diff --git a/.gitignore b/.gitignore index 36c376a..10d328d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,8 @@ *.swp *~ node_modules +package-lock.json spec/myplugin spec/plugins spec/platforms -spec/www/index.js +yarn.lock diff --git a/CHANGES.md b/CHANGES.md index e5eb42f..617d788 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,133 @@ # Changes +# sqlite-evcustom-browser-memory-storage-ext-free 0.2.0-rc2 + +- apply update from sqlite-amalgamation 3.34.0 + +# sqlite-evcustom-browser-memory-storage-ext-free 0.2.0-rc1 + +- quick updates for new sql-asm-debug.js build + - internal SQL object + - renamed sql-asm-debug.js src file in the package build script + - no extra mod wrapper around sql-asm-debug.js + +# cordova-sqlite-evplus-ext-free 0.5.0-rc2 + +- remove some extra logging from this plugin version + +## cordova-plugin-sqlite-evplus-ext-common-free 0.2.0 + +### cordova-sqlite-evcore-commoncore-free 0.1.0-rc1 + +# cordova-sqlite-evplus-ext-free 0.5.0-pre01 + +# cordova-sqlite-evcore-extbuild-free 0.11.0 + +### cordova-sqlite-evcore-commoncore-free 0.1.0 + +- internal Android evcore database state 100% non-static and private + +#### cordova-sqlite-ext-common 2.0.0 + +- SQLite 3.30.1 build update, with new default page & cache sizes from cordova-sqlite-ext-deps@2.1.0 + +#### cordova-sqlite-storage 4.0.0 + +- rename PSPDFThreadSafeMutableDictionary to CustomPSPDFThreadSafeMutableDictionary and completely remove PSPDFThreadSafeMutableDictionary.h + +#### cordova-sqlite-storage 3.4.1 + +- SQLite 3.31.1 update from cordova-sqlite-storage-dependencies@2.1.1 + +#### cordova-sqlite-storage 3.4.0 + +- quick workaround for `SYNTAX_ERR` redefinition + +#### cordova-sqlite-storage 3.3.0 + +- new default page & cache sizes with cordova-sqlite-storage-dependencies@2.1.0 + +##### cordova-sqlite-storage-commoncore 1.0.0 + +- additional EU string manipulation test cases + +#### cordova-sqlite-storage 3.2.1 + +- cordova-sqlite-storage-dependencies@2.0.1 with SQLite 3.28.0 update for all supported platforms Android/iOS/macOS/Windows + +#### cordova-sqlite-storage 3.2.0 + +- sqlite3_threadsafe() error handling on iOS/macOS + +#### cordova-sqlite-storage 3.1.0 + +- no SQLITE_DEFAULT_CACHE_SIZE compile-time setting on iOS/macOS/Windows + +#### cordova-sqlite-storage 3.0.0 + +- Use cordova-sqlite-storage-dependencies 2.0.0 with SQLITE_DBCONFIG_DEFENSIVE setting used by sqlite-native-driver.jar on Android + +###### cordova-sqlite-ext-common-core 0.2.0 + +- Move SQLite3.UWP.vcxproj out of extra SQLite3.UWP subdirectory +- Completely remove old Windows 8.1 & Windows Phone 8.1 vcxproj files + +###### cordova-sqlite-extcore 0.1.0 + +- move the embedded `SQLite3-WinRT` component to `src/windows/SQLite3-WinRT-sync` and update `plugin.xml` + +### cordova-sqlite-ext-common 1.0.0 + +- Use cordova-sqlite-ext-deps@2.0.0 with SQLITE_DBCONFIG_DEFENSIVE setting used by sqlite-native-driver.jar on Android + +### cordova-sqlite-common-ext-common 0.2.0 + +- SQLite3 build updates from cordova-sqlite-ext version 2.3.1: + - build with SQLite 3.26.0 from cordova-sqlite-ext-deps@1.1.1 + - sqlite-native-driver NDK build in JAR + - FTS5 & JSON1 enabled on all platforms + - SQLITE_DEFAULT_SYNCHRONOUS=3 (EXTRA DURABLE) compile-time setting on all platforms + - continue using SQLITE_THREADSAFE=1 on all platforms + +# cordova-sqlite-evcore-extbuild-free 0.10.3-rc1 + +### cordova-sqlite-evcore-commoncore-free 0.0.2 + +- use & test with cordova-sqlite-evcore-free-dependencies@0.9.2 with SQLite 3.30.1 update + +###### cordova-sqlite-storage-ext-core-common 2.0.0 + +- SQLITE_DBCONFIG_DEFENSIVE flag - iOS/macOS/Windows (POTENTIALLY BREAKING CHANGE) +- remove internal qid usage from JavaScript (not needed) +- non-static Android database runner map (POTENTIALLY BREAKING CHANGE) +- Completely remove old Android SuppressLint (android.annotation.SuppressLint) - POSSIBLY BREAKING CHANGE +- drop workaround for pre-Honeycomb Android API (BREAKING CHANGE) +- no extra @synchronized block per batch (iOS/macOS) - should be considered a POSSIBLY BREAKING change +- remove backgroundExecuteSql method not needed (iOS/macOS) +- Completely remove iOS/macOS MRC (Manual Reference Counting) support - should be considered a POSSIBLY BREAKING change + +# cordova-sqlite-evplus-ext-free 0.4.2-pre1 + +- SQLite 3.30.1 update, with Android implementation build make from: https://github.com/brodysoft/Android-sqlite-evcore-native-driver-free/tree/sqlite3-eu-dev + +# cordova-sqlite-evplus-ext-free 0.4.1 + +### cordova-sqlite-evcore-commoncore-free 0.0.1 + +- quick fix of error messages on Windows + +# cordova-sqlite-evplus-ext-free 0.4.0 + +- EU character support in UPPER & LOWER functions using functions from: https://github.com/brodybits/sqlite3-eu - with Android implementation built from: https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free/tree/eu-support-wipsave101 which includes fix for emojis and other 4-byte UTF-8 characters + +### cordova-sqlite-storage-commoncore 1.0.0 + +- additional EU string manipulation test cases + +# cordova-sqlite-evplus-ext-free 0.3.8 + +- SQLite 3.28.0 update from cordova-sqlite-evcore-free-dependencies 0.9.1 + # sqlite-evcustom-browser-memory-storage-ext-free 0.1.0 - fixed GPL v3 license statement in multiple places diff --git a/LICENSE.md b/LICENSE.md index 90e09c7..86bd6f5 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -20,4 +20,26 @@ sqlite3-base64 by @brodybits (Christopher J. Brody), Unlicense (http://unlicense libb64-encode - based on libb64 (http://libb64.sourceforge.net/) by Chris Venter, public domain -SQLite3 (http://sqlite.org/), public domain +MIT or Apache 2.0 + +### SQLite3-WinRT + +by @doo (doo GmbH) + +MIT License + +### sqlite3-regexp-cached + +Based on by Alexey Tourbin, public domain + +### sqlite3-base64 + +Unlicense (public domain) + +### libb64-encode + +Based on by Chris Venter, public domain) + +### SQLite3 + +public domain diff --git a/README.md b/README.md index 33371a0..57a529f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # SQLite evcustom browser memory storage - emulation of Cordova/PhoneGap sqlite storage plugin on browser - custom enterprise version with evplus updates extra features -using sql-memory-growth.js from the following custom sql.js branch: +using `sql-asm-debug.js` built from the following custom sql.js branch: with Cordova framework not supported, not needed @@ -14,11 +14,19 @@ sqlite-evcustom-browser-memory-storage-ext-free - custom enterprise version emul ## Installation -Copy the following files and use them in the HTML `script` tag: +**Alternative 1:** -* `www/SQLitePlugin.js` -* `src/browser/SQLiteProxy.js` -* `src/deps/browser/sql-memory-growth.js` +Copy `index.js` and use it in the HTML `script` tag. + +**Alternative 2:** + +Require this package in an HTML5 application that is built using a tool such as Webpack. + +## Known quirks on browser + +- attempt to SELECT a blob value, such as `SELECT X'40414243'`, gives a nonsense result value +- known issue with attempt to store and select Infinity value from a column with no/NUMERIC/REAL/INTEGER/TEXT type affinity +- known truncation issue in case of string with U+0000 ("\0") character # Original documentation from cordova-plugin-sqlite-evplus-ext-common-free @@ -37,22 +45,19 @@ The browser platform is now supported with the following options: - This plugin now supports the browser platform using [kripken / sql.js](https://github.com/kripken/sql.js), with no persistence and other limitations described below. - Other alternatives documented in [alternative browser platform usage notes](#alternative-browser-platform-usage-notes) section below. -## WARNING: Multiple SQLite problem on all platforms +**WARNING: Multiple SQLite problem on all platforms** with possible corruption risk in case of sqlite access from multiple plugins (see below) -with possible corruption risk in case of sqlite access from multiple plugins (see below) +## NEW MAJOR RELEASE Coming with BREAKING CHANGES -## NEW MAJOR RELEASE in December 2018 with BREAKING CHANGES +A new major release is planned as discussed in ([xpbrew/cordova-sqlite-storage#773](https://github.com/xpbrew/cordova-sqlite-storage/issues/773)). -New release in December 2018 will include the following major enhancements ([litehelpers/Cordova-sqlite-storage#773](https://github.com/litehelpers/Cordova-sqlite-storage/issues/773)): +**BREAKING CHANGES expected IN THE NEAR FUTURE:** -- browser platform support (planned for November 2018) -- `cordova-sqlite-storage` and `cordova-sqlite-ext` plugin versions will be combined, no more separate plugin version needed for pre-populated databases ([litehelpers/Cordova-sqlite-storage#529](https://github.com/litehelpers/Cordova-sqlite-storage/issues/529)) +- drop support for Android pre-4.4 (Android 4.4 with old `armeabi` CPU to be deprecatd with limited updates in the future) ([xpbrew/cordova-sqlite-storage#771](https://github.com/xpbrew/cordova-sqlite-storage/issues/771)) -**BREAKING CHANGES expected:** +**More BREAKING CHANGES expected:** -- drop support for Android pre-4.4 (Android 4.4 with old `armeabi` CPU to be deprecatd with limited updates in the future) ([litehelpers/Cordova-sqlite-storage#771](https://github.com/litehelpers/Cordova-sqlite-storage/issues/771)) -- error `code` will always be `0` (which is already the case on Windows); actual SQLite3 error code will be part of the error `message` member whenever possible ([litehelpers/Cordova-sqlite-storage#821](https://github.com/litehelpers/Cordova-sqlite-storage/issues/821)) -- Values with U+0000 (null character) will be truncated on all platforms ([litehelpers/Cordova-sqlite-storage#822](https://github.com/litehelpers/Cordova-sqlite-storage/issues/822)) +- error `code` will always be `0` (which is already the case on Windows); actual SQLite3 error code will be part of the error `message` member whenever possible ([xpbrew/cordova-sqlite-storage#821](https://github.com/xpbrew/cordova-sqlite-storage/issues/821)) - drop support for iOS 8.x (was already dropped by cordova-ios@4.4.0) - drop support for location: 0-2 values in openDatabase call (please use `location: 'default'` or `iosDatabaseLocation` setting in openDatabase as documented below) @@ -64,9 +69,9 @@ New release in December 2018 will include the following major enhancements ([lit ### Multiple SQLite problem on Android -This plugin uses non-standard [litehelpers / Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) sqlite database access implementation on Android. In case an application access the SAME database using multiple plugins there is a risk of data corruption (ref: [litehelpers/Cordova-sqlite-storage#626](https://github.com/litehelpers/Cordova-sqlite-storage/issues/626)) as described in and . +_This plugin uses non-standard [litehelpers / Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) sqlite database access implementation on Android. In case an application access the SAME database using multiple plugins there is a risk of data corruption ref: [xpbrew/cordova-sqlite-storage#626](https://github.com/xpbrew/cordova-sqlite-storage/issues/626)) as described in and ._ -The workaround is to use the `androidDatabaseProvider: 'system'` setting as described in the [Android database provider](android-database-provider) section below: +The workaround is to use the `androidDatabaseProvider: 'system'` setting as described in the [Android database provider](#android-database-provider) section below: ```js var db = window.sqlitePlugin.openDatabase({ @@ -82,27 +87,6 @@ This plugin version also uses a fixed version of sqlite3 on iOS, macOS, and Wind -## Services available - -The primary author and maintainer [@brodybits (Christopher J. Brody aka Chris Brody)](https://github.com/brodybits) is available for part-time contract assignments. Services available for this project include: - -- Priority issue support -- Help with application code such as debugging, optimization, etc. -- Warranty and support retainers -- Priority fixes and enhancements -- Custom feature development - -Other services available include: - -- Front-end/back-end development -- Mentoring and training services - -For more information: -- -- - - - ## A quick tour To open a database: @@ -213,18 +197,18 @@ See the [Sample section](#sample) for a sample with a more detailed explanation ## Status - Patches will **not** be accepted on this plugin version due to some possible licensing issues. -- This plugin is NOT supported by PhoneGap Developer App or PhoneGap Desktop App. -- This plugin version includes the SQLite and Android-sqlite-evcore-native-driver-free dependencies ~~to work with PhoneGap Build and other some other build systems such as Cordova Plugman, PhoneGap CLI, and Intel XDK~~. +- This plugin is **not** supported by PhoneGap Developer App or PhoneGap Desktop App. +- This plugin version includes the SQLite and Android-sqlite-evcore-native-driver-free dependencies ~~to work with PhoneGap Build and other some other build systems such as Cordova Plugman, PhoneGap CLI, and Intel XDK.~~ - _Not enabled in this project:_ A recent version of the Cordova CLI is recommended. Known issues with older versions of Cordova: - Cordova pre-7.0.0 do not automatically save the state of added plugins and platforms (`--save` flag is needed for Cordova pre-7.0.0) - It may be needed to use `cordova prepare` in case of cordova-ios pre-4.3.0 (Cordova CLI `6.4.0`). - Cordova versions older than `6.0.0` are missing the `cordova-ios@4.0.0` security fixes. -- This ~~plugin~~ version includes the following extra features _for Android/iOS/macOS/Windows_: +- This ~~plugin~~ version includes the following extra (non-standard) features: - BASE64 integrated from [brodybits / sqlite3-base64](https://github.com/brodybits/sqlite3-base64), using [brodybits / libb64-encode](https://github.com/brodybits/libb64-encode) (based on by Chris Venter, public domain) - REGEXP for Android (default [Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) database access implementation), iOS, and macOS using [brodybits / sqlite3-regexp-cached](https://github.com/brodybits/sqlite3-regexp-cached) (based on by Alexey Tourbin, public domain) -- SQLite _`3.26.0`_ included when building (all platforms), with the following compile-time definitions: +- SQLite `3.30.1` included when building (all platforms), with the following _build-time_ definitions: - `SQLITE_THREADSAFE=1` - - `SQLITE_DEFAULT_SYNCHRONOUS=3` (EXTRA DURABLE build setting) ref: [litehelpers/Cordova-sqlite-storage#736](https://github.com/litehelpers/Cordova-sqlite-storage/issues/736) + - `SQLITE_DEFAULT_SYNCHRONOUS=3` (EXTRA DURABLE build setting) ref: [xpbrew/cordova-sqlite-storage#736](https://github.com/xpbrew/cordova-sqlite-storage/issues/736) - `SQLITE_LOCKING_STYLE=1` on iOS/macOS ONLY - `HAVE_USLEEP=1` (iOS/macOS/Windows) - `SQLITE_DEFAULT_MEMSTATUS=0` (except for SQL.js on browser platform) @@ -244,13 +228,16 @@ See the [Sample section](#sample) for a sample with a more detailed explanation - `SQLITE_OS_WINRT` (Windows only) - `NDEBUG` on Windows (Release build only) - `SQLITE_DISABLE_LFS` on SQL.js for browser platform only +- _Does not apply in this version:_ `SQLITE_DBCONFIG_DEFENSIVE` flag is used for extra SQL safety on all platforms Android/iOS/macOS/Windows ref: + - + - - The iOS database location is now mandatory, as documented below. - _Not enabled in this version:_ This plugin version supports the use of two (2) possible Android sqlite database implementations: - default: high-performance, lightweight [litehelpers / Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) NDK library (C-language implementation) - optional: Android system database implementation, using the `androidDatabaseProvider: 'system'` setting in `sqlitePlugin.openDatabase()` call as described in the [Android database provider](android-database-provider) section below. - The following feature is available in [litehelpers / cordova-sqlite-ext](https://github.com/litehelpers/cordova-sqlite-ext) (with permissive license terms, missing Android-sqlite-evcore-native-driver performance enhancements), MISSING in this ~~plugin~~ version: - Pre-populated database (_Android/iOS/macOS/Windows_) -- The new browser platform implementation using `sql-memory-growth.js` from [kripken / sql.js](https://github.com/kripken/sql.js) has the following major limitations: +- The new browser platform implementation using `sql-asm-debug.js` from has the following major limitations: - missing actual persistence - missing certain feature(s) such as R-Tree - INCORRECT error code (0) @@ -261,24 +248,24 @@ See the [Sample section](#sample) for a sample with a more detailed explanation - error messages not always consistent in case of bogus API arguments on Chrome, Edge, or Firefox - FTS5, R-Tree, JSON1, REGEXP, and BLOB64 support missing - Not possible to SELECT BLOB column values directly. It is recommended to use built-in HEX function to retrieve BLOB column values, which should work consistently across all platform implementations as well as (WebKit) Web SQL. -- Windows platform version (using a customized version of the performant [doo / SQLite3-WinRT](https://github.com/doo/SQLite3-WinRT) C++ component) has the following known limitations: - - This plugin version branch has dependency on platform toolset libraries included by Visual Studio 2017 ref: [litehelpers/Cordova-sqlite-storage#580](https://github.com/litehelpers/Cordova-sqlite-storage/issues/580). Visual Studio 2015 is now supported by [litehelpers / cordova-sqlite-legacy](https://github.com/litehelpers/cordova-sqlite-legacy) (permissive license terms, no performance enhancements for Android) and [litehelpers / Cordova-sqlite-evcore-common-free](https://github.com/litehelpers/Cordova-sqlite-evcore-common-free) (GPL or commercial license terms, with performance enhancements for Android). UNTESTED workaround for Visual Studio 2015: it *may* be possible to support this plugin version on Visual Studio 2015 Update 3 by installing platform toolset v141.) +- Windows platform version using a customized version of the performant [doo / SQLite3-WinRT](https://github.com/doo/SQLite3-WinRT) C++ component based on the [brodybits/SQLite3-WinRT sync-api-fix branch](https://github.com/brodybits/SQLite3-WinRT/tree/sync-api-fix), with the following known limitations: + - This plugin version branch has dependency on platform toolset libraries included by Visual Studio 2017 ref: [xpbrew/cordova-sqlite-storage#580](https://github.com/xpbrew/cordova-sqlite-storage/issues/580). Visual Studio 2015 is now supported by [`brodybits/cordova-sqlite-legacy`](https://github.com/brodybits/cordova-sqlite-legacy) (permissive license terms, no performance enhancements for Android) and [`brodybits/cordova-sqlite-evcore-legacy-ext-common-free`](https://github.com/brodybits/cordova-sqlite-evcore-legacy-ext-common-free) (GPL or commercial license terms, with performance enhancements for Android). UNTESTED workaround for Visual Studio 2015: it *may* be possible to support this plugin version on Visual Studio 2015 Update 3 by installing platform toolset v141.) + - Visual Studio components needed: Universal Windows Platform development, C++ Universal Windows Platform tools. A recent version of Visual Studio 2017 will offer to install any missing feature components. - It is NOT possible to use this plugin with the default "Any CPU" target. A specific target CPU type MUST be specified when building an app with this plugin. - - Truncation issue with UNICODE `\u0000` character (equivalent to `\0`) ref: [litehelpers/Cordova-sqlite-evcore-extbuild-free#27](https://github.com/litehelpers/Cordova-sqlite-evcore-extbuild-free/issues/27) - - No background processing - - INCORRECT error code (0) and INCONSISTENT error message (missing actual error info) in error callbacks ref: [litehelpers/Cordova-sqlite-storage#539](https://github.com/litehelpers/Cordova-sqlite-storage/issues/539) - - Not possible to SELECT BLOB column values directly. It is recommended to use built-in HEX function to retrieve BLOB column values, which should work consistently across all platform implementations as well as (WebKit) Web SQL. _Alternative solution: use non-standard BASE64 function to SELECT BLOB column values in Base64 format as documented below._ - - Windows platform version uses `UTF-16le` internal database encoding while the other platform versions use `UTF-8` internal encoding. (`UTF-8` internal encoding is preferred ref: [litehelpers/Cordova-sqlite-storage#652](https://github.com/litehelpers/Cordova-sqlite-storage/issues/652)) + - The `SQLite3-WinRT` component in `src/windows/SQLite3-WinRT-sync` is based on [doo/SQLite3-WinRT commit f4b06e6](https://github.com/doo/SQLite3-WinRT/commit/f4b06e6a772a2688ee0575a8034b55401ea64049) from 2012, which is missing the asynchronous C++ API improvements. There is no background processing on the Windows platform. + - Truncation issue with UNICODE `\u0000` character (same as `\0`) + - INCONSISTENT error code (0) and INCORRECT error message (missing actual error info) in error callbacks ref: [xpbrew/cordova-sqlite-storage#539](https://github.com/xpbrew/cordova-sqlite-storage/issues/539) + - Not possible to SELECT BLOB column values directly. It is recommended to use built-in HEX function to retrieve BLOB column values, which should work consistently across all platform implementations as well as (WebKit) Web SQL. Non-standard BASE64 function to SELECT BLOB column values in Base64 format is supported by [`brodybits/cordova-sqlite-ext`](https://github.com/brodybits/cordova-sqlite-ext) (permissive license terms) and [litehelpers / Cordova-sqlite-evcore-extbuild-free](https://github.com/litehelpers/Cordova-sqlite-evcore-extbuild-free) (GPL or commercial license terms). + - Windows platform version uses `UTF-16le` internal database encoding while the other platform versions use `UTF-8` internal encoding. (`UTF-8` internal encoding is preferred ref: [xpbrew/cordova-sqlite-storage#652](https://github.com/xpbrew/cordova-sqlite-storage/issues/652)) - Known issue with database names that contain certain US-ASCII punctuation and control characters (see below) - The macOS platform version ("osx" platform) is not tested in a release build and should be considered pre-alpha. -- _Android versions supported: 2.3.3 - 8.1, P (API levels 10 - 27, P) on `armeabi`, `armeabi-v7a`, `x86`, `x86_64`, `arm64-v8a`, depending on Cordova version ref: _ -- iOS versions supported: 8.x / 9.x / 10.x / 11.x, see [deviations section](#deviations) below for differences in case of WKWebView (using cordova-plugin-wkwebview-engine) -- FTS3 and FTS4 are fully tested and supported for all target platforms in this plugin version branch. -- _FTS4, FTS5, R-Tree, and JSON1 are fully tested and supported for all target platforms except for browser in this plugin version branch._ +- Android versions supported: 3.0 - 9.0 (API level 11 - 28), depending on Cordova version ref: +- iOS versions supported: 8.x / 9.x / 10.x / 11.x / 12.x (see [deviations section](#deviations) below for differences in case of WKWebView) +- _FTS4, FTS5, R-Tree, and JSON1 are fully tested and supported_ - Default `PRAGMA journal_mode` setting (*tested*): - Android use of the `androidDatabaseProvider: 'system'` setting: `persist` (pre-8.0) / `truncate` (Android 8.0, 8.1) / `wal` (Android Pie) - otherwise: `delete` -- AUTO-VACUUM is not enabled by default. If no form of `VACUUM` or `PRAGMA auto_vacuum` is used then sqlite will automatically reuse deleted data space for new data but the database file will never shrink. For reference: and [litehelpers/Cordova-sqlite-storage#646](https://github.com/litehelpers/Cordova-sqlite-storage/issues/646) +- AUTO-VACUUM is not enabled by default. If no form of `VACUUM` or `PRAGMA auto_vacuum` is used then sqlite will automatically reuse deleted data space for new data but the database file will never shrink. For reference: and [xpbrew/cordova-sqlite-storage#646](https://github.com/xpbrew/cordova-sqlite-storage/issues/646) @@ -287,16 +274,26 @@ See the [Sample section](#sample) for a sample with a more detailed explanation - The browser platform is now supported using [kripken / sql.js](https://github.com/kripken/sql.js) (with no persistence and some other limitations described below). - This plugin version branch includes premium improvements to the internal JSON interface between Javascript and native parts on Android, iOS, and macOS which improves the performance and resolves memory issues in case of some very large SQL batches. - This plugin version includes additional JavaScript performance enhancements with special benefit for Android. -- _Using recent version of SQLite3 (`3.26.0`) with security update, window functions; with `SQLITE_DEFAULT_SYNCHRONOUS=3` (EXTRA DURABLE) build setting to be extra robust against possible database corruption ref: [litehelpers/Cordova-sqlite-storage#736](https://github.com/litehelpers/Cordova-sqlite-storage/issues/736)_ +- This plugin version includes the following extra (non-standard) features: BASE 64 (all platforms Android/iOS/macOS/Windows), REGEXP (Android/iOS/macOS) +- Using recent version of SQLite3 (`3.30.1`) with window functions and recent security updates: + - [xpbrew/cordova-sqlite-storage#895](https://github.com/xpbrew/cordova-sqlite-storage/issues/895) + - [xpbrew/cordova-sqlite-storage#867](https://github.com/xpbrew/cordova-sqlite-storage/issues/867) + - [xpbrew/cordova-sqlite-storage#837](https://github.com/xpbrew/cordova-sqlite-storage/issues/837) +and window functions +- Using `SQLITE_DEFAULT_SYNCHRONOUS=3` (EXTRA DURABLE) build setting to be extra robust against possible database corruption ref: [xpbrew/cordova-sqlite-storage#736](https://github.com/xpbrew/cordova-sqlite-storage/issues/736) +- `SQLITE_DBCONFIG_DEFENSIVE` flag is used for extra SQL safety, as described above +- Recent build fixes: + - Fixed iOS/macOS platform version to use *custom* version of [PSPDFThreadSafeMutableDictionary.m](https://gist.github.com/steipete/5928916) to avoid threading issue, custom version to avoid potential conflicts with custom iOS/macOS plugins ref: [xpbrew/cordova-sqlite-storage#716](https://github.com/xpbrew/cordova-sqlite-storage/issues/716), [xpbrew/cordova-sqlite-storage#861](https://github.com/xpbrew/cordova-sqlite-storage/issues/861) + - workaround for redefinition of `SYNTAX_ERR` when using some other plugins ref: [xpbrew/cordova-sqlite-storage#868](https://github.com/xpbrew/cordova-sqlite-storage/issues/868) - Nice overview of alternatives for storing local data in Cordova apps at: - New alternative solution for small data storage: [TheCocoaProject / cordova-plugin-nativestorage](https://github.com/TheCocoaProject/cordova-plugin-nativestorage) - simpler "native storage of variables" for Android/iOS/Windows -- Resolved Java 6/7/8 concurrent map compatibility issue reported in [litehelpers/Cordova-sqlite-storage#726](https://github.com/litehelpers/Cordova-sqlite-storage/issues/726), THANKS to pointer by [@NeoLSN (Jason Yang/楊朝傑)](https://github.com/NeoLSN) in [litehelpers/Cordova-sqlite-storage#727](https://github.com/litehelpers/Cordova-sqlite-storage/issues/727). -- Updated workaround solution to [BUG 666 (litehelpers/Cordova-sqlite-storage#666)](https://github.com/litehelpers/Cordova-sqlite-storage/issues/666) (possible transaction issue after window.location change with possible data loss): close database if already open before opening again +- Resolved Java 6/7/8 concurrent map compatibility issue reported in [xpbrew/cordova-sqlite-storage#726](https://github.com/xpbrew/cordova-sqlite-storage/issues/726), with no more static state in evcore plugin version, THANKS to pointer by [@NeoLSN (Jason Yang/楊朝傑)](https://github.com/NeoLSN) in [xpbrew/cordova-sqlite-storage#727](https://github.com/xpbrew/cordova-sqlite-storage/issues/727). +- Updated workaround solution to [BUG 666 (xpbrew/cordova-sqlite-storage#666)](https://github.com/xpbrew/cordova-sqlite-storage/issues/666) (possible transaction issue after window.location change with possible data loss): close database if already open before opening again - Windows 10 (UWP) build with /SAFESEH flag on Win32 (x86) target to specify "Image has Safe Exception Handlers" as described in - Fixed iOS/macOS platform version to use [PSPDFThreadSafeMutableDictionary.m](https://gist.github.com/steipete/5928916) to avoid threading issue ref: [litehelpers/Cordova-sqlite-storage#716](https://github.com/litehelpers/Cordova-sqlite-storage/issues/716) -- This plugin version references Windows platform toolset v141 to support Visual Studio 2017 ref: [litehelpers/Cordova-sqlite-storage#580](https://github.com/litehelpers/Cordova-sqlite-storage/issues/580). (Visual Studio 2015 is now supported by [litehelpers / cordova-sqlite-legacy](https://github.com/litehelpers/cordova-sqlite-legacy) (permissive license terms, no performance enhancements for Android) and [litehelpers / Cordova-sqlite-evcore-common-free](https://github.com/litehelpers/Cordova-sqlite-evcore-common-free) (GPL or commercial license terms, with performance enhancements for Android). UNTESTED workaround for Visual Studio 2015: it *may* be possible to support this plugin version on Visual Studio 2015 Update 3 by installing platform toolset v141.) +- This plugin version references Windows platform toolset v141 to support Visual Studio 2017 ref: [litehelpers/Cordova-sqlite-storage#580](https://github.com/litehelpers/Cordova-sqlite-storage/issues/580). (Visual Studio 2015 is now supported by [litehelpers / cordova-sqlite-legacy](https://github.com/litehelpers/cordova-sqlite-legacy) (permissive license terms, no performance enhancements for Android) and [brodybits / cordova-sqlite-evcore-legacy-ext-common-free](https://github.com/brodybits/cordova-sqlite-evcore-legacy-ext-common-free) (GPL or commercial license terms, with performance enhancements for Android). UNTESTED workaround for Visual Studio 2015: it *may* be possible to support this plugin version on Visual Studio 2015 Update 3 by installing platform toolset v141.) - ~~_The_ [brodybits / cordova-sqlite-test-app](https://github.com/brodybits/cordova-sqlite-test-app) project is a CC0 (public domain) starting point (NOTE that this plugin must be added) and may also be used to reproduce issues with this plugin.~~ -- _Not enabled in this version:_ This _version_ includes the following extra features: BASE64 (~~all platforms~~ Android/iOS/macOS/Windows), REGEXP (Android/iOS/macOS) +- _Not enabled in this version:_ This _version_ includes the following extra features: BASE64 (__all platforms__), REGEXP (Android/iOS/macOS) - The Lawnchair adapter is now moved to [litehelpers / cordova-sqlite-lawnchair-adapter](https://github.com/litehelpers/cordova-sqlite-lawnchair-adapter). - This plugin version now supports SELECT BLOB data in Base64 format on _Android/iOS/macOS/Windows_ in addition to REGEXP (Android/iOS/macOS) ~~and pre-populated database (all platforms - FUTURE TODO)~~. - [brodybits / sql-promise-helper](https://github.com/brodybits/sql-promise-helper) provides a Promise-based API wrapper. @@ -398,11 +395,11 @@ It would be ideal for the application code to abstract the part with the `openDa ### Windows platform notes -The Windows platform can present a number of challenges which increase when using this plugin. The following tips are recommended for getting started with Windows: +Use of this plugin on the Windows platform is not always straightforward, due to the need to build the internal SQLite3 C++ library. The following tips are recommended for getting started with Windows: - First start to build and run an app on another platform such as Android, iOS, or even browser with this plugin. - Try working with a very simple app using simpler plugins such as cordova-plugin-dialogs and possibly cordova-plugin-file on the Windows platform. -- Read through the **Windows platform usage** of the [Installing](#installing) section. +- Read through the [Windows platform usage](#windows-platform-usage) subsection (under the [Installing](#installing) section). - Then try adding this plugin to a very simple app such as [brodybits / cordova-sqlite-test-app](https://github.com/brodybits/cordova-sqlite-test-app) and running the Windows project in the Visual Studio GUI with a specific target CPU selected. **WARNING:** It is not possible to use this plugin with the "Any CPU" target. ### Quick installation @@ -497,7 +494,7 @@ It is recommended to read through the [usage](#usage) and [sample](#sample) sect The new [brodybits / cordova-sqlite-test-app](https://github.com/brodybits/cordova-sqlite-test-app) sample is intended to be a boilerplate to reproduce and demonstrate any issues you may have with this plugin. You may also use it as a starting point to build a new app. -In case you get stuck with something please read through the [support](#support) section and follow the instructions before raising an issue. Professional support is also available by contacting: +In case you get stuck with something please read through the [support](#support) section and follow the instructions before raising an issue. Professional support is also available by contacting: ### Plugin usage examples and tutorials @@ -511,7 +508,7 @@ In case you get stuck with something please read through the [support](#support) **PITFALL WARNING:** A number of tutorials show up in search results that use Web SQL database instead of this plugin. -WANTED: simple, working CRUD tutorial sample ref: [litehelpers / Cordova-sqlite-storage#795](https://github.com/litehelpers/Cordova-sqlite-storage/issues/795) +WANTED: simple, working CRUD tutorial sample ref: [xpbrew/cordova-sqlite-storage#795](https://github.com/xpbrew/cordova-sqlite-storage/issues/795) ### SQLite resources @@ -564,18 +561,18 @@ As "strongly recommended" by [Web SQL Database API 8.5 SQL injection](https://ww - This plugin does *not* support the database creation callback or standard database versions. Please read the **Database schema versions** section below for tips on how to support database schema versioning. - This plugin does *not* support the synchronous Web SQL interfaces. - Known issues with handling of certain ASCII/UNICODE characters as described below. -- It is possible to request a SQL statement list such as "SELECT 1; SELECT 2" within a single SQL statement string, however the plugin will only execute the first statement and silently ignore the others ref: [litehelpers/Cordova-sqlite-storage#551](https://github.com/litehelpers/Cordova-sqlite-storage/issues/551) +- It is possible to request a SQL statement list such as "SELECT 1; SELECT 2" within a single SQL statement string, however the plugin will only execute the first statement and silently ignore the others ref: [xpbrew/cordova-sqlite-storage#551](https://github.com/xpbrew/cordova-sqlite-storage/issues/551) - It is possible to insert multiple rows like: `transaction.executeSql('INSERT INTO MyTable VALUES (?,?),(?,?)', ['Alice', 101, 'Betty', 102]);` which was not supported by SQLite 3.6.19 as referenced by [Web SQL (DRAFT) API section 5](https://www.w3.org/TR/webdatabase/#web-sql). The iOS WebKit Web SQL implementation seems to support this as well. -- Unlike the HTML5/[Web SQL (DRAFT) API](http://www.w3.org/TR/webdatabase/) this plugin handles executeSql calls with too few parameters without error reporting. In case of too many parameters this plugin reports error code 0 (SQLError.UNKNOWN_ERR) while Android/iOS/desktop (WebKit) Web SQL correctly reports error code 5 (SQLError.SYNTAX_ERR) _ref: ._ (The plugin would ignore excess parameters on browser platform.) -- Positive and negative `Infinity` SQL parameter argument values are treated like `null` by this plugin on Android and iOS ref: [litehelpers/Cordova-sqlite-storage#405](https://github.com/litehelpers/Cordova-sqlite-storage/issues/405) -- Positive and negative `Infinity` result values cause a crash on iOS/macOS cases ref: [litehelpers/Cordova-sqlite-storage#405](https://github.com/litehelpers/Cordova-sqlite-storage/issues/405) +- Unlike the HTML5/[Web SQL (DRAFT) API](http://www.w3.org/TR/webdatabase/) this plugin handles executeSql calls with too few parameters without error reporting. In case of too many parameters this plugin reports error code 0 (SQLError.UNKNOWN_ERR) while Android/iOS (WebKit) Web SQL correctly reports error code 5 (SQLError.SYNTAX_ERR) ref: https://www.w3.org/TR/webdatabase/#dom-sqlexception-code-syntax +- Positive and negative `Infinity` SQL parameter argument values are treated like `null` by this plugin on Android and iOS ref: [xpbrew/cordova-sqlite-storage#405](https://github.com/xpbrew/cordova-sqlite-storage/issues/405) +- Positive and negative `Infinity` result values cause a crash on iOS/macOS cases ref: [xpbrew/cordova-sqlite-storage#405](https://github.com/xpbrew/cordova-sqlite-storage/issues/405) - Known issue(s) with of certain ASCII/UNICODE characters as described below. -- Boolean `true` and `false` values are handled by converting them to the "true" and "false" TEXT string values, same as WebKit Web SQL on Android and iOS. This does not seem to be 100% correct as discussed in: [litehelpers/Cordova-sqlite-storage#545](https://github.com/litehelpers/Cordova-sqlite-storage/issues/545) +- Boolean `true` and `false` values are handled by converting them to the "true" and "false" TEXT string values, same as WebKit Web SQL on Android and iOS. This does not seem to be 100% correct as discussed in: [xpbrew/cordova-sqlite-storage#545](https://github.com/xpbrew/cordova-sqlite-storage/issues/545) - A number of uncategorized errors such as CREATE VIRTUAL TABLE USING bogus module are reported with error code 5 (SQLError.SYNTAX_ERR) on Android/iOS/macOS by both (WebKit) Web SQL and this plugin. - Error is reported with error code of `0` on Windows as well as Android with the `androidDatabaseProvider: 'system'` setting described below. - In case of an issue that causes an API function to throw an exception (Android/iOS WebKit) Web SQL includes includes a code member with value of 0 (SQLError.UNKNOWN_ERR) in the exception while the plugin includes no such code member. - This plugin supports some non-standard features as documented below. -- Results of SELECT with BLOB data such as `SELECT LOWER(X'40414243') AS myresult`, `SELECT X'40414243' AS myresult`, or reading data stored by `INSERT INTO MyTable VALUES (X'40414243')` are not consistent on Android in case the built-in Android database is used (using the `androidDatabaseImplementation: 2` setting in `window.sqlitePlugin.openDatabase`), Windows, or browser. _Possible crash in ths plugin version on iOS/macOS._ (These work with Android/iOS WebKit Web SQL and have been supported by SQLite for a number of years.) +- Results of SELECT with BLOB data such as `SELECT LOWER(X'40414243') AS myresult`, `SELECT X'40414243' AS myresult`, or reading data stored by `INSERT INTO MyTable VALUES (X'40414243')` are not consistent on _browser, Android with use of `androidDatabaseProvider: 'system'` setting or Windows_. _Possible crash in ths plugin version on Android/iOS/macOS._ (These work with Android/iOS WebKit Web SQL and have been supported by SQLite for a number of years.) - Whole number parameter argument values such as `42`, `-101`, or `1234567890123` are handled as INTEGER values by this plugin on Android, iOS (default UIWebView), and Windows while they are handled as REAL values by (WebKit) Web SQL and by this plugin on iOS with WKWebView (using cordova-plugin-wkwebview-engine) or macOS ("osx"). This is evident in certain test operations such as `SELECT ? as myresult` or `SELECT TYPEOF(?) as myresult` and storage in a field with TEXT affinity. - INTEGER, REAL, +/- `Infinity`, `NaN`, `null`, `undefined` parameter argument values are handled as TEXT string values on Android with use of the `androidDatabaseProvider: 'system'` setting. (This is evident in certain test operations such as `SELECT ? as myresult` or `SELECT TYPEOF(?) as myresult` and storage in a field with TEXT affinity.) - In case of invalid transaction callback arguments such as string values the plugin attempts to execute the transaction while (WebKit) Web SQL would throw an exception. @@ -608,13 +605,15 @@ See **Security of sensitive data** in the [Security](#security) section above. - The iOS/macOS platform versions do not support certain rapidly repeated open-and-close or open-and-delete test scenarios due to how the implementation handles background processing - HIGH PRIORITY TODO: The default [Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) database access implementation does not currently handle control characters such as vertical tab, form feed, or backspace characters properly ref: [litehelpers/Cordova-sqlite-evcore-extbuild-free#28](https://github.com/litehelpers/Cordova-sqlite-evcore-extbuild-free/issues/28) -- Incorrect handling of emoji and other 4-byte UTF-8 characters on Android on default [Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) NDK access implementation as described in: [litehelpers/Cordova-sqlite-evcore-extbuild-free#44](https://github.com/litehelpers/Cordova-sqlite-evcore-extbuild-free/issues/44), [litehelpers/Cordova-sqlite-storage#564](https://github.com/litehelpers/Cordova-sqlite-storage/issues/564) -- It is possible to request a SQL statement list such as "SELECT 1; SELECT 2" within a single SQL statement string, however the plugin will only execute the first statement and silently ignore the others ref: [litehelpers/Cordova-sqlite-storage#551](https://github.com/litehelpers/Cordova-sqlite-storage/issues/551) +- _Incorrect handling of emoji and other 4-byte UTF-8 characters on Android on default [Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) NDK access implementation as described in: [litehelpers/Cordova-sqlite-evcore-extbuild-free#44](https://github.com/litehelpers/Cordova-sqlite-evcore-extbuild-free/issues/44), [xpbrew/cordova-sqlite-storage#564](https://github.com/xpbrew/cordova-sqlite-storage/issues/564) (this is not an issue when using the `androidDatabaseProvider: 'system'` setting)_ +- It is possible to request a SQL statement list such as "SELECT 1; SELECT 2" within a single SQL statement string, however the plugin will only execute the first statement and silently ignore the others ref: [xpbrew/cordova-sqlite-storage#551](https://github.com/xpbrew/cordova-sqlite-storage/issues/551) - Execution of INSERT statement that affects multiple rows (due to SELECT cause or using TRIGGER(s), for example) reports incorrect rowsAffected on Android with use of the `androidDatabaseProvider: 'system'` setting. - FIXED in this plugin version: ~~Memory issue observed when adding a large number of records due to the JSON implementation which is improved in [litehelpers / Cordova-sqlite-evcore-extbuild-free](https://github.com/litehelpers/Cordova-sqlite-evcore-extbuild-free) (GPL or commercial license terms)~~ -- Infinity (positive or negative) values are not supported on Android/iOS/macOS due to issues described above including a possible crash on iOS/macOS (ref: [litehelpers/Cordova-sqlite-storage#405](https://github.com/litehelpers/Cordova-sqlite-storage/issues/405)) or a hanging transaction queue on Android. -- A stability issue was reported on the iOS platform version when in use together with [SockJS](http://sockjs.org/) client such as [pusher-js](https://github.com/pusher/pusher-js) at the same time (see [litehelpers/Cordova-sqlite-storage#196](https://github.com/litehelpers/Cordova-sqlite-storage/issues/196)). The workaround is to call sqlite functions and [SockJS](http://sockjs.org/) client functions in separate ticks (using setTimeout with 0 timeout). -- SQL errors are reported with incorrect & inconsistent error message on _browser and Windows_ - missing actual error info ref: [litehelpers/Cordova-sqlite-storage#539](https://github.com/litehelpers/Cordova-sqlite-storage/issues/539). +- Infinity (positive or negative) values are not supported on Android/iOS/macOS due to issues described above including a possible crash on iOS/macOS ref: [xpbrew/cordova-sqlite-storage#405](https://github.com/xpbrew/cordova-sqlite-storage/issues/405) +- A stability issue was reported on the iOS platform version when in use together with [SockJS](http://sockjs.org/) client such as [pusher-js](https://github.com/pusher/pusher-js) at the same time (see [xpbrew/cordova-sqlite-storage#196](https://github.com/xpbrew/cordova-sqlite-storage/issues/196)). The workaround is to call sqlite functions and [SockJS](http://sockjs.org/) client functions in separate ticks (using setTimeout with 0 timeout). +- _SQL errors may be reported with inconsistent or incorrect information on browser and Windows_ +- _Hanging transactions in case of special JSON characters in result columns ref: _ +error info ref: [xpbrew/cordova-sqlite-storage#539](https://github.com/xpbrew/cordova-sqlite-storage/issues/539). - Issue on default [Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) database access implementation in case of database file name with multi-byte UTF-8 characters ref: [litehelpers/Cordova-sqlite-evcore-extbuild-free#25](https://github.com/litehelpers/Cordova-sqlite-evcore-extbuild-free/issues/25) - Issue (truncation issue) with NULL characters (`'\0\` or `'\u0000'`) on Android (default Android-sqlite-evcore-native-driver-free database access implementation) and Windows ref: [litehelpers/Cordova-sqlite-evcore-extbuild-free#27](https://github.com/litehelpers/Cordova-sqlite-evcore-extbuild-free/issues/27) - Close/delete database bugs described below. @@ -622,7 +621,7 @@ See **Security of sensitive data** in the [Security](#security) section above. - When a database is opened and deleted without closing, the iOS/macOS platform version is known to leak resources. - It is NOT possible to open multiple databases with the same name but in different locations (iOS/macOS platform version). -Some additional issues are tracked in [open cordova-sqlite-storage bug-general issues](https://github.com/litehelpers/Cordova-sqlite-storage/issues?q=is%3Aissue+is%3Aopen+label%3Abug-general) and [open cordova-sqlite-evcore-extbuild-free bug-general issues](https://github.com/litehelpers/Cordova-sqlite-evcore-extbuild-free/issues?q=is%3Aissue+is%3Aopen+label%3Abug-general). +_Some additional issues are tracked in [open cordova-sqlite-storage bug-general issues](https://github.com/xpbrew/cordova-sqlite-storage/issues?q=is%3Aissue+is%3Aopen+label%3Abug-general) and [open cordova-sqlite-evcore-extbuild-free bug-general issues](https://github.com/brodysoft/cordova-sqlite-evcore-extbuild-free/issues?q=is%3Aissue+is%3Aopen+label%3Abug-general)._ @@ -640,9 +639,9 @@ Some additional issues are tracked in [open cordova-sqlite-storage bug-general i - UNICODE `\u2028` (line separator) and `\u2029` (paragraph separator) characters are currently not supported and known to be broken on iOS, macOS, and Android platform versions due to JSON issues reported in [Cordova bug CB-9435](https://issues.apache.org/jira/browse/CB-9435) and [cordova/cordova-discuss#57](https://github.com/cordova/cordova-discuss/issues/57). This is fixed with a workaround for iOS/macOS in: [litehelpers / Cordova-sqlite-evplus-legacy-free](https://github.com/litehelpers/Cordova-sqlite-evplus-legacy-free) and [litehelpers / Cordova-sqlite-evplus-legacy-attach-detach-free](https://github.com/litehelpers/Cordova-sqlite-evplus-legacy-attach-detach-free) (GPL or special commercial license terms) as well as [litehelpers / cordova-sqlite-evmax-ext-workers-legacy-build-free](https://github.com/litehelpers/cordova-sqlite-evmax-ext-workers-legacy-build-free) (GPL or premium commercial license terms). - _SELECT BLOB column value type is not supported consistently across all platforms (not supported on Windows). It is recommended to use the built-in HEX function to SELECT BLOB column data in hexadecimal format, working consistently across all platforms. As an alternative: SELECT BLOB in Base64 format using BASE64 function (described elsewhere in this document) is supported by this plugin version (GPL or commercial license options) as well as [litehelpers / cordova-sqlite-ext](https://github.com/litehelpers/cordova-sqlite-ext) (permissive license terms). INLINE BLOB values such as `X'010203'` are supported by the SQLite syntax on all platforms. FUTURE TBD equivalent to UNHEX (supported in MySQL) or conversion of Base-64 string to BLOB is desired._ - _Database files with certain multi-byte UTF-8 characters are not tested and not expected to work consistently across all platform implementations. The default [Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) database access implementation may not function properly on certain Android versions in case of database file names with emoji and other 4-byte UTF-8 characters ref: [litehelpers/Cordova-sqlite-evcore-extbuild-free#26](https://github.com/litehelpers/Cordova-sqlite-evcore-extbuild-free/issues/26)_ -- Known issues with using UNICODE `\u0000` character (equivalent to `\0`): - - Encoding issue reproduced on Android (default [Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) database access implementation, using Android NDK) - - Truncation in case of argument value with UNICODE `\u0000` character reproduced on (WebKit) Web SQL as well as plugin on _Android (default [Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) database access implementation, using Android NDK), browser, and Windows_ +- Issues with UNICODE `\u0000` character (same as `\0`): + - Encoding issue reproduced on Android (default [Android-sqlite-connector](https://github.com/liteglue/Android-sqlite-connector) implementation with [Android-sqlite-ext-native-driver](https://github.com/brodybits/Android-sqlite-ext-native-driver), using Android NDK) + - Truncation in case of argument value with UNICODE `\u0000` character reproduced on (WebKit) Web SQL as well as plugin on _browser, Android (default [Android-sqlite-connector](https://github.com/liteglue/Android-sqlite-connector) implementation with [Android-sqlite-ext-native-driver](https://github.com/brodybits/Android-sqlite-ext-native-driver), using Android NDK) and Windows_ - SQL error reported in case of inline value string with with UNICODE `\u0000` character on (WebKit) Web SQL, plugin on Android with use of the `androidDatabaseProvider: 'system'` setting, and plugin on _some_ other platforms - Case-insensitive matching and other string manipulations on Unicode characters, which is provided by optional ICU integration in the sqlite source and working with recent versions of Android, is not supported for any target platforms. - The iOS/macOS platform version uses a thread pool but with only one thread working at a time due to "synchronized" database access. @@ -651,12 +650,12 @@ Some additional issues are tracked in [open cordova-sqlite-storage bug-general i - UPDATE/DELETE with LIMIT or ORDER BY is not supported. - WITH clause is not supported on some older Android platform versions in case the `androidDatabaseProvider: 'system'` setting is used. - User-defined savepoints are not supported and not expected to be compatible with the transaction locking mechanism used by this plugin. In addition, the use of BEGIN/COMMIT/ROLLBACK statements is not supported. -- Issues have been reported with using this plugin together with Crosswalk for Android, especially on `x86_64` CPU ([litehelpers/Cordova-sqlite-storage#336](https://github.com/litehelpers/Cordova-sqlite-storage/issues/336)). Please see [litehelpers/Cordova-sqlite-storage#336 (comment)](https://github.com/litehelpers/Cordova-sqlite-storage/issues/336#issuecomment-364752652) for workaround on x64 CPU. In addition it may be helpful to install Crosswalk as a plugin instead of using Crosswalk to create a project that will use this plugin. +- Issues have been reported with using this plugin together with Crosswalk for Android, especially on `x86_64` CPU ([xpbrew/cordova-sqlite-storage#336](https://github.com/xpbrew/cordova-sqlite-storage/issues/336)). Please see [xpbrew/cordova-sqlite-storage#336 (comment)](https://github.com/xpbrew/cordova-sqlite-storage/issues/336#issuecomment-364752652) for workaround on x64 CPU. In addition it may be helpful to install Crosswalk as a plugin instead of using Crosswalk to create a project that will use this plugin. - Does not work with [axemclion / react-native-cordova-plugin](https://github.com/axemclion/react-native-cordova-plugin) since the `window.sqlitePlugin` object is NOT properly exported (ES5 feature). It is recommended to use [andpor / react-native-sqlite-storage](https://github.com/andpor/react-native-sqlite-storage) for SQLite database access with React Native Android/iOS instead. -- Does not support named parameters (`?NNN`/`:AAA`/`@AAAA`/`$AAAA` parameter placeholders as documented in and ) ref: [litehelpers/Cordova-sqlite-storage#717](https://github.com/litehelpers/Cordova-sqlite-storage/issues/717) -- User defined functions not supported, due to problems described in [litehelpers/Cordova-sqlite-storage#741](https://github.com/litehelpers/Cordova-sqlite-storage/issues/741) +- Does not support named parameters (`?NNN`/`:AAA`/`@AAAA`/`$AAAA` parameter placeholders as documented in and ) ref: [xpbrew/cordova-sqlite-storage#717](https://github.com/xpbrew/cordova-sqlite-storage/issues/717) +- User defined functions not supported, due to problems described in [xpbrew/cordova-sqlite-storage#741](https://github.com/xpbrew/cordova-sqlite-storage/issues/741) -Additional limitations are tracked in [marked cordova-sqlite-storage doc-todo issues](https://github.com/litehelpers/Cordova-sqlite-storage/issues?q=is%3Aissue+label%3Adoc-todo) and [marked cordova-sqlite-evcore-extbuild-free doc-todo issues](https://github.com/litehelpers/Cordova-sqlite-evcore-extbuild-free/issues?q=is%3Aissue+label%3Adoc-todo). +_Additional limitations are tracked in [marked cordova-sqlite-storage doc-todo issues](https://github.com/xpbrew/cordova-sqlite-storage/issues?q=is%3Aissue+label%3Adoc-todo) and [marked cordova-sqlite-evcore-extbuild-free doc-todo issues](https://github.com/brodysoft/cordova-sqlite-evcore-extbuild-free/issues?q=is%3Aissue+label%3Adoc-todo)._ @@ -664,27 +663,27 @@ Additional limitations are tracked in [marked cordova-sqlite-storage doc-todo is - Integration with PhoneGap developer app - Use within [InAppBrowser](http://docs.phonegap.com/en/edge/cordova_inappbrowser_inappbrowser.md.html) -- Use within an iframe (see [litehelpers/Cordova-sqlite-storage#368 (comment)](https://github.com/litehelpers/Cordova-sqlite-storage/issues/368#issuecomment-154046367)) +- Use within an iframe (see [xpbrew/cordova-sqlite-storage#368 (comment)](https://github.com/xpbrew/cordova-sqlite-storage/issues/368#issuecomment-154046367)) - Date/time handling - Maximum record size supported - Actual behavior when using SAVEPOINT(s) - R-Tree is not fully tested with Android - UNICODE characters not fully tested -- ORDER BY RANDOM() (ref: [litehelpers/Cordova-sqlite-storage#334](https://github.com/litehelpers/Cordova-sqlite-storage/issues/334)) +- ORDER BY RANDOM() (ref: [xpbrew/cordova-sqlite-storage#334](https://github.com/xpbrew/cordova-sqlite-storage/issues/334)) - UPDATE/DELETE with LIMIT or ORDER BY (newer Android/iOS versions) - Integration with JXCore for Cordova (must be built without sqlite(3) built-in) - Delete an open database inside a statement or transaction callback. - WITH clause (not supported by some older sqlite3 versions) - Handling of invalid transaction and transaction.executeSql arguments - Use of database locations on macOS -- Extremely large and small INTEGER and REAL values ref: [litehelpers/Cordova-sqlite-storage#627](https://github.com/litehelpers/Cordova-sqlite-storage/issues/627) +- Extremely large and small INTEGER and REAL values ref: [xpbrew/cordova-sqlite-storage#627](https://github.com/xpbrew/cordova-sqlite-storage/issues/627) - More emojis and other 4-octet UTF-8 characters - More database file names with some more control characters and multi-byte UTF-8 characters (including emojis and other 4-byte UTF-8 characters) - Use of numbered parameters (`?1`, `?2`, etc.) as documented in -- Use of `?NNN`/`:AAA`/`@AAAA`/`$AAAA` parameter placeholders as documented in and ) (currently NOT supported by this plugin) ref: [litehelpers/Cordova-sqlite-storage#717](https://github.com/litehelpers/Cordova-sqlite-storage/issues/717) +- Use of `?NNN`/`:AAA`/`@AAAA`/`$AAAA` parameter placeholders as documented in and ) (currently NOT supported by this plugin) ref: [xpbrew/cordova-sqlite-storage#717](https://github.com/xpbrew/cordova-sqlite-storage/issues/717) - Single-statement and SQL batch transaction calls with invalid arguments (TBD behavior subject to change) - Plugin vs (WebKit) Web SQL transaction behavior in case of an error handler which returns various falsy vs truthy values -- Other [open Cordova-sqlite-storage testing issues](https://github.com/litehelpers/Cordova-sqlite-storage/issues?q=is%3Aissue+is%3Aopen+label%3Atesting) +- Other [open Cordova-sqlite-storage testing issues](https://github.com/xpbrew/cordova-sqlite-storage/issues?q=is%3Aissue+is%3Aopen+label%3Atesting) @@ -713,25 +712,25 @@ IMPORTANT: A number of tutorials and samples in search results suffer from the f - The plugin class name starts with "SQL" in capital letters, but in Javascript the `sqlitePlugin` object name starts with "sql" in small letters. - Attempting to open a database before receiving the 'deviceready' event callback. - Inserting STRING into ID field -- Auto-vacuum is NOT enabled by default. It is recommended to periodically VACUUM the database. If no form of `VACUUM` or `PRAGMA auto_vacuum` is used then sqlite will automatically reuse deleted data space for new data but the database file will never shrink. For reference: and [litehelpers/Cordova-sqlite-storage#646](https://github.com/litehelpers/Cordova-sqlite-storage/issues/646) +- Auto-vacuum is NOT enabled by default. It is recommended to periodically VACUUM the database. If no form of `VACUUM` or `PRAGMA auto_vacuum` is used then sqlite will automatically reuse deleted data space for new data but the database file will never shrink. For reference: and [xpbrew/cordova-sqlite-storage#646](https://github.com/xpbrew/cordova-sqlite-storage/issues/646) - Transactions on a database are run sequentially. A large transaction could block smaller transactions requested afterwards. ### Some weird pitfall(s) -- intent whitelist: blocked intent such as external URL intent *may* cause this and possibly certain other Cordova plugin(s) to misbehave (see [litehelpers/Cordova-sqlite-storage#396](https://github.com/litehelpers/Cordova-sqlite-storage/issues/396)) +- intent whitelist: blocked intent such as external URL intent *may* cause this and perhaps certain Cordova plugin(s) to misbehave (see [xpbrew/cordova-sqlite-storage#396](https://github.com/xpbrew/cordova-sqlite-storage/issues/396)) ### Angular/ngCordova/Ionic-related pitfalls - Angular/ngCordova/Ionic controller/factory/service callbacks may be triggered before the 'deviceready' event is fired -- As discussed in [litehelpers/Cordova-sqlite-storage#355](https://github.com/litehelpers/Cordova-sqlite-storage/issues/355), it may be necessary to install ionic-plugin-keyboard -- Navigation items such as root page can be tricky on Ionic 2 ref: [litehelpers/Cordova-sqlite-storage#613](https://github.com/litehelpers/Cordova-sqlite-storage/issues/613) +- As discussed in [xpbrew/cordova-sqlite-storage#355](https://github.com/xpbrew/cordova-sqlite-storage/issues/355), it may be necessary to install ionic-plugin-keyboard +- Navigation items such as root page can be tricky on Ionic 2 ref: [xpbrew/cordova-sqlite-storage#613](https://github.com/xpbrew/cordova-sqlite-storage/issues/613) ### Windows platform pitfalls - This plugin does **not** work with the default "Any CPU" target. A specific, valid CPU target platform **must** be specified. - It is **not** allowed to change the app ID in the Windows platform project. As described in the **Windows platform usage** of the [Installing](#installing) section a Windows-specific app ID may be declared using the `windows-identity-name` attribute or "WindowsStoreIdentityName" setting. - A problem locating `SQLite3.md` generally means that there was a problem building the C++ library. -- Visual Studio 2015 is no longer supported by this plugin version. Visual Studio 2015 is now supported by [litehelpers / cordova-sqlite-legacy](https://github.com/litehelpers/cordova-sqlite-legacy) (for Windows 8.1, Windows Phone 8.1, and Windows 10 builds). +- Visual Studio 2015 is no longer supported by this plugin version. Visual Studio 2015 is now supported by [`brodybits/cordova-sqlite-legacy`](https://github.com/brodybits/cordova-sqlite-legacy) (for Windows 8.1, Windows Phone 8.1, and Windows 10 builds). ### General Cordova pitfalls @@ -754,7 +753,7 @@ However there are some possible gotchas: 2. From ibid: a column declared as "DATETIME" has NUMERIC affinity, which gives no hint whether an INTEGER Unix time value, a REAL Julian time value, or possibly even a TEXT ISO8601 date/time string may be stored (further refs: , ) -From , as discussed in [litehelpers/Cordova-sqlite-storage#546](https://github.com/litehelpers/Cordova-sqlite-storage/issues/546): it was discovered that are some more points of possible confusion with date/time. For example, there is also a `datetime` function that returns date/time in TEXT string format. This should be considered a case of "DATETIME" overloading since SQLite is *not* case sensitive. This could really become confusing if different programmers or functions consider date/time to be stored in different ways. +From , as discussed in [xpbrew/cordova-sqlite-storage#546](https://github.com/xpbrew/cordova-sqlite-storage/issues/546): it was discovered that are some more points of possible confusion with date/time. For example, there is also a `datetime` function that returns date/time in TEXT string format. This should be considered a case of "DATETIME" overloading since SQLite is *not* case sensitive. This could really become confusing if different programmers or functions consider date/time to be stored in different ways. FUTURE TBD: Proper date/time handling will be further tested and documented at some point. @@ -765,14 +764,14 @@ FUTURE TBD: Proper date/time handling will be further tested and documented at s - More formal documentation of API, especially for non-standard functions - IndexedDBShim adapter (possibly based on IndexedDBShim) - Further cleanup of [support](#support) section -- Resolve or document [open cordova-sqlite-storage bug-general issues](https://github.com/litehelpers/Cordova-sqlite-storage/issues?q=is%3Aissue+is%3Aopen+label%3Abug-general) and [open cordova-sqlite-evcore-extbuild-free bug-general issues](https://github.com/litehelpers/Cordova-sqlite-evcore-extbuild-free/issues?q=is%3Aissue+is%3Aopen+label%3Abug-general) -- Resolve [cordova-sqlite-help doc-todo issues](https://github.com/litehelpers/Cordova-sqlite-help/issues?q=is%3Aissue%20label%3Adoc-todo), [marked Cordova-sqlite-storage doc-todo issues](https://github.com/litehelpers/Cordova-sqlite-storage/issues?q=is%3Aissue+label%3Adoc-todo), and [marked cordova-sqlite-evcore-extbuild-free doc-todo issues](https://github.com/litehelpers/Cordova-sqlite-evcore-extbuild-free/issues?q=is%3Aissue+label%3Adoc-todo) +- _Resolve or document [open cordova-sqlite-storage bugs](https://github.com/xpbrew/cordova-sqlite-storage/issues?q=is%3Aissue+is%3Aopen+label%3Abug-general) and [open cordova-sqlite-evcore-extbuild-free bug-general issues](https://github.com/brodysoft/cordova-sqlite-evcore-extbuild-free/issues?q=is%3Aissue+is%3Aopen+label%3Abug-general)_ +- _Resolve [cordova-sqlite-storage-help doc-todo issues](https://github.com/xpbrew/cordova-sqlite-storage-help/issues?q=is%3Aissue%20label%3Adoc-todo), [marked cordova-sqlite-storage doc-todo issues](https://github.com/xpbrew/cordova-sqlite-storage/issues?q=is%3Aissue+label%3Adoc-todo), and [marked cordova-sqlite-evcore-extbuild-free doc-todo issues](https://github.com/brodysoft/cordova-sqlite-evcore-extbuild-free/issues?q=is%3Aissue+label%3Adoc-todo)_ ## For future considertion -- Explicit auto-vacuum option ref: [litehelpers/Cordova-sqlite-storage#646](https://github.com/litehelpers/Cordova-sqlite-storage/issues/646) +- Explicit auto-vacuum option ref: [xpbrew/cordova-sqlite-storage#646](https://github.com/xpbrew/cordova-sqlite-storage/issues/646) - Support for extremely large records in a plugin version such as [litehelpers / Cordova-sqlite-evcore-extbuild-free](https://github.com/litehelpers/Cordova-sqlite-evcore-extbuild-free) (available with GPL or commercial license options) - Integrate with some other libraries such as Sequelize, Squel.js, WebSqlSync, Persistence.js, Knex, etc. @@ -782,11 +781,11 @@ FUTURE TBD: Proper date/time handling will be further tested and documented at s ### Comparison of sqlite plugin versions -- [litehelpers / Cordova-sqlite-storage](https://github.com/litehelpers/Cordova-sqlite-storage) - core plugin version for Android/iOS/macOS/Windows (permissive license terms) -- [litehelpers / cordova-sqlite-ext](https://github.com/litehelpers/cordova-sqlite-ext) - plugin version with REGEXP (Android/iOS/macOS), SELECT BLOB in Base64 format (Android/iOS/macOS/Windows), and pre-populated databases (Android/iOS/macOS/Windows). Permissive license terms. -- [litehelpers / cordova-sqlite-legacy](https://github.com/litehelpers/cordova-sqlite-legacy) - support for Windows 8.1/Windows Phone 8.1 along with Android/iOS/macOS/Windows 10, with support for REGEXP (Android/iOS/macOS), SELECT BLOB in Base64 format (Android/iOS/macOS/Windows), and pre-populated databases (Android/iOS/macOS/Windows). Limited updates. Permissive license terms. -- [brodybits / cordova-sqlite-legacy-build-support](https://github.com/brodybits/cordova-sqlite-legacy-build-support) - maintenance of WP8 platform version along with Windows 8.1/Windows Phone 8.1 and the other supported platforms Android/iOS/macOS/Windows 10; limited support for PhoneGap CLI/PhoneGap Build/plugman/Intel XDK; limited testing; limited updates. Permissive license terms. -- [brodybits / cordova-sqlcipher-adapter](https://github.com/brodybits/cordova-sqlcipher-adapter) - supports [SQLCipher](https://www.zetetic.net/sqlcipher/) for Android/iOS/macOS/Windows +- [`xpbrew/cordova-sqlite-storage`](https://github.com/xpbrew/cordova-sqlite-storage) - core plugin version for Android/iOS/macOS/Windows (permissive license terms) +- [`brodybits/cordova-sqlite-ext`](https://github.com/brodybits/cordova-sqlite-ext) - plugin version with REGEXP (Android/iOS/macOS), SELECT BLOB in Base64 format (all platforms Android/iOS/macOS/Windows), and pre-populated databases (all platforms Android/iOS/macOS/Windows). Permissive license terms. +- [`brodybits/cordova-sqlite-legacy`](https://github.com/brodybits/cordova-sqlite-legacy) - support for Windows 8.1/Windows Phone 8.1 along with Android/iOS/macOS/Windows 10, with support for REGEXP (Android/iOS/macOS), SELECT BLOB in Base64 format (all platforms Android/iOS/macOS/Windows), and pre-populated databases (all platforms Android/iOS/macOS/Windows). Limited updates. Permissive license terms. +- [`brodybits/cordova-sqlite-legacy-build-support`](https://github.com/brodybits/cordova-sqlite-legacy-build-support) - maintenance of WP8 platform version along with Windows 8.1/Windows Phone 8.1 and the other supported platforms Android/iOS/macOS/Windows 10; limited support for PhoneGap CLI/PhoneGap Build/plugman/Intel XDK; limited testing; limited updates. Permissive license terms. +- [`brodybits/cordova-sqlcipher-adapter`](https://github.com/brodybits/cordova-sqlcipher-adapter) - supports [SQLCipher](https://www.zetetic.net/sqlcipher/) for Android/iOS/macOS/Windows - [litehelpers / Cordova-sqlite-evcore-extbuild-free](https://github.com/litehelpers/Cordova-sqlite-evcore-extbuild-free) - Enhancements for Android: JSON and SQL statement handling implemented in C, supports larger transactions and handles large SQL batches in less than half the time as this plugin version. Supports arbitrary database location on Android. Support for build environments such as PhoneGap Build and Intel XDK. Also includes REGEXP (Android/iOS/macOS) and SELECT BLOB in Base64 format (all platforms Android/iOS/macOS/Windows). GPL or commercial license terms. - [litehelpers / cordova-sqlite-evplus-ext-legacy-build-free](https://github.com/litehelpers/cordova-sqlite-evplus-ext-legacy-build-free) - internal memory improvements to support larger transactions _(Android/iOS/macOS)_ and fix to support all Unicode characters (iOS). (GPL or special commercial license terms). - [litehelpers / Cordova-sqlite-evplus-legacy-attach-detach-free](https://github.com/litehelpers/Cordova-sqlite-evplus-legacy-attach-detach-free) - plugin version with support for ATTACH, includes internal memory improvements to support larger transactions _(Android/iOS/macOS)_ and fix to support all Unicode characters (GPL or special commercial license terms). @@ -866,7 +865,7 @@ var db = window.sqlitePlugin.openDatabase({name: 'my.db', location: 'default'}, **WARNING:** The new "default" location value is different from the old default location used until March 2016 and would break an upgrade for an app that was using the old default setting (`location: 0`, same as using `iosDatabaseLocation: 'Documents'`) on iOS. The recommended solution is to continue to open the database from the same location, using `iosDatabaseLocation: 'Documents'`. -**WARNING 2:** _As described above: by default this plugin uses a non-standard [Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) sqlite database access implementation on Android. In case an application access the **same** database using multiple plugins there is a risk of data corruption (ref: [litehelpers/Cordova-sqlite-storage#626](https://github.com/litehelpers/Cordova-sqlite-storage/issues/626)) as described in and . The workaround is to use the `androidDatabaseProvider: 'system'` setting as described in the **Android sqlite implementation** section below._ +**WARNING 2:** _As described above: by default this plugin uses a non-standard [Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) sqlite database access implementation on Android. In case an application access the **same** database using multiple plugins there is a risk of data corruption (ref: [xpbrew/cordova-sqlite-storage#626](https://github.com/xpbrew/cordova-sqlite-storage/issues/626)) as described in and . The workaround is to use the `androidDatabaseProvider: 'system'` setting as described in the **Android sqlite implementation** section below._ To specify a different location (affects iOS/macOS *only*): @@ -1013,14 +1012,14 @@ var db = window.sqlitePlugin.openDatabase({ (Use of the `androidDatabaseImplementation: 2` setting which is now replaced by `androidDatabaseProvider: 'system'` is now deprecated and may be removed in the near future.) **IMPORTANT:** -- As described above: by default this plugin uses a non-standard [Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) database access implementation on Android. In case an application access the **same** database using multiple plugins there is a risk of data corruption (ref: [litehelpers/Cordova-sqlite-storage#626](https://github.com/litehelpers/Cordova-sqlite-storage/issues/626)) as described in and . _The workaround is to use the `androidDatabaseProvider: 'system'` setting as described here_. -- In case of the `androidDatabaseProvider: 'system'` setting, [litehelpers/Cordova-sqlite-storage#193](https://github.com/litehelpers/Cordova-sqlite-storage/issues/193) reported (as observed by a number of app developers in the past) that in certain Android versions, if the app is stopped or aborted without closing the database then there is an unexpected database lock and the data that was inserted is lost. The workaround is described below. +- As described above: by default this plugin uses a non-standard [Android-sqlite-evcore-native-driver-free](https://github.com/litehelpers/Android-sqlite-evcore-native-driver-free) database access implementation on Android. In case an application access the **same** database using multiple plugins there is a risk of data corruption _(ref: [xpbrew/cordova-sqlite-storage#626](https://github.com/xpbrew/cordova-sqlite-storage/issues/626))_ as described in and . _The workaround is to use the `androidDatabaseProvider: 'system'` setting as described here_. +- In case of the `androidDatabaseProvider: 'system'` setting, [xpbrew/cordova-sqlite-storage#193](https://github.com/xpbrew/cordova-sqlite-storage/issues/193) reported (as observed by a number of app developers in the past) that in certain Android versions, if the app is stopped or aborted without closing the database then there is an unexpected database lock and the data that was inserted is lost. The workaround is described below. ### Workaround for Android db locking issue -[litehelpers/Cordova-sqlite-storage#193](https://github.com/litehelpers/Cordova-sqlite-storage/issues/193) reported (as observed by a number of app developers in the past) that when using the Android system database provider (using the `androidDatabaseProvider: 'system'` setting) on certain Android versions and if the app is stopped or aborted without closing the database then: +[xpbrew/cordova-sqlite-storage#193](https://github.com/xpbrew/cordova-sqlite-storage/issues/193) reported (as observed by a number of app developers in the past) that when using the Android system database provider (using the `androidDatabaseProvider: 'system'` setting) on certain Android versions and if the app is stopped or aborted without closing the database then: - (sometimes) there is an unexpected database lock - the data that was inserted is lost. @@ -1052,7 +1051,7 @@ The following types of SQL transactions are supported by this plugin version: **NOTE:** Transaction requests are kept in one queue per database and executed in sequential order, according to the HTML5/[Web SQL (DRAFT) API](http://www.w3.org/TR/webdatabase/). -**WARNING:** It is possible to request a SQL statement list such as "SELECT 1; SELECT 2" within a single SQL statement string, however the plugin will only execute the first statement and silently ignore the others. This could result in data loss if such a SQL statement list with any INSERT or UPDATE statement(s) are included. For reference: [litehelpers/Cordova-sqlite-storage#551](https://github.com/litehelpers/Cordova-sqlite-storage/issues/551) +**WARNING:** It is possible to request a SQL statement list such as "SELECT 1; SELECT 2" within a single SQL statement string, however the plugin will only execute the first statement and silently ignore the others. This could result in data loss if such a SQL statement list with any INSERT or UPDATE statement(s) are included. For reference: [xpbrew/cordova-sqlite-storage#551](https://github.com/xpbrew/cordova-sqlite-storage/issues/551) ### Single-statement transactions @@ -1559,9 +1558,9 @@ Free support is provided on a best-effort basis and is only available in public ## Professional support -Professional support is available by contacting: +Professional support is available by contacting: -For more information: +For more information: ## Before seeking help @@ -1876,4 +1875,4 @@ function closeDB() { ## Contact - + diff --git a/SQLitePlugin.coffee.md b/SQLitePlugin.coffee.md index 4c581c4..72cce9d 100644 --- a/SQLitePlugin.coffee.md +++ b/SQLitePlugin.coffee.md @@ -104,7 +104,8 @@ @openSuccess or @openSuccess = -> - console.log "DB opened: " + dbname + # TBD (...) + # console.log "DB opened: " + dbname return @openError or @@ -141,7 +142,9 @@ else if @dbname of @openDBs - console.log 'new transaction is queued, waiting for open operation to finish' + # TBD (...) + # console.log 'new transaction is queued, waiting for open operation to finish' + return else # XXX SHOULD NOT GET HERE. # FUTURE TBD TODO: in this exceptional case abort and discard the transaction. @@ -224,11 +227,14 @@ # (done) else - console.log 'OPEN database: ' + @dbname + # openDatabase step 1: + # TBD (...) + # console.log 'OPEN database: ' + @dbname opensuccesscb = (fjinfo) => # NOTE: the db state is NOT stored (in @openDBs) if the db was closed or deleted. - console.log 'OPEN database: ' + @dbname + ' - OK' + # TBD (...) + # console.log 'OPEN database: ' + @dbname + ' - OK' # distinguish use of flat JSON batch sql interface if !!fjinfo and !!fjinfo.dbid @@ -293,7 +299,8 @@ error newSQLError 'database cannot be closed while a transaction is in progress' return - console.log 'CLOSE database: ' + @dbname + # TBD (...) + # console.log 'CLOSE database: ' + @dbname # NOTE: closing one db handle disables other handles to same db # FUTURE TBD TODO ref litehelpers/Cordova-sqlite-storage#210: @@ -667,7 +674,6 @@ for resultIndex in [0 .. result.length-1] r = result[resultIndex] type = r.type - # NOTE: r.qid ignored (if present) res = r.result q = mycbmap[resultIndex] diff --git a/bin/test.ps1 b/bin/test.ps1 index 4d7e9b2..767e0c9 100644 --- a/bin/test.ps1 +++ b/bin/test.ps1 @@ -6,6 +6,15 @@ # # N.B. if you functionally change this script you _must_ change .\bin\test.sh too. # +# STATUS: UNSUPPORTED +# +# A known issue is that this script needs old coffeescript@1 or coffee-script@1 +# to be installed globally while the package script is using locally installed +# version of coffeescript@1. +# +# It is recommended to use the package scripts with npm or yarn tool instead +# of this script. +# param([string]$platform) @@ -42,7 +51,7 @@ try { echo "compiled coffeescript to javascript" # move everything to a temp folder to avoid infinite recursion errors - if (test-path ../.plugin) { + if (test-path ../.plugin) { rm -force -recurse ../.plugin -ErrorAction ignore } mkdir -ErrorAction ignore ../.plugin | out-null diff --git a/bin/test.sh b/bin/test.sh index b977b7b..48b9233 100755 --- a/bin/test.sh +++ b/bin/test.sh @@ -8,6 +8,15 @@ # # N.B. if you functionally change this script you _must_ change .\bin\test.sh too. # +# STATUS: UNSUPPORTED +# +# A known issue is that this script needs old coffeescript@1 or coffee-script@1 +# to be installed globally while the package script is using locally installed +# version of coffeescript@1. +# +# It is recommended to use the package scripts with npm or yarn tool instead +# of this script. +# platform=$1 diff --git a/index-mod3-footer.js b/index-mod3-footer.js deleted file mode 100644 index 32af70b..0000000 --- a/index-mod3-footer.js +++ /dev/null @@ -1 +0,0 @@ -})(mod3); diff --git a/index-mod3-header.js b/index-mod3-header.js deleted file mode 100644 index 47956ae..0000000 --- a/index-mod3-header.js +++ /dev/null @@ -1 +0,0 @@ -(function(module) { diff --git a/index.js b/index.js index bd258a2..71af3ec 100644 --- a/index.js +++ b/index.js @@ -2,57 +2,284480 @@ var mod1 = { exports: {} }; var mod2 = { exports: {} }; var mod3 = { exports: {} }; -(function(module) { -// This prevents pollution of the global namespace -var SQL = (function () { -var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",abort);Module["quit"]=(function(status){process["exit"](status)});Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=(function(title){document.title=title})}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(64);function addFunction(func,sig){var base=0;for(var i=base;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for getValue: "+type)}return null}var ALLOC_NORMAL=0;var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var PAGE_SIZE=16384;var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeStringToMemory(string,buffer,dontAddNull){warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+73056;__ATINIT__.push({func:(function(){___emscripten_environ_constructor()})});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAADqmgAAAQABAEEAAADvmgAAAQABAEIAAAD0mgAAAQABAEMAAAD5mgAAAgABAEQAAAD+mgAAAgABAEQAAAAEmwAAAQABAEUAAAAKmwAAAQABAEYAAAAQmwAAAQABAEcAAAAWmwAAAgABAEgAAAAhmwAAAQABAEkAAAApmwAAAQABAEoAAAAxmwAAAQABAEsAAAA1mwAAAQABAEwAAAA5mwAAAQABAE0AAAA9mwAAAQABAE4AAABBmwAAAQABAE8AAABGmwAAAQABAFAAAABLmwAAAQABAFEAAABQmwAAAQABAFIAAABVmwAAAQABAFMAAAATuwAAAQABAFQAAABZmwAAAQABAFUAAABfmwAAAgABAFYAAABlmwAAAQABAFcAAABqmwAAAQABAFgAAABvmwAAAQABAFkAAAB2mwAAAQABAFoAAAB7mwAAAQABAFsAAACBmwAAAAABAVwAAACEmwAAAgABAF0AAACOmwAAAgABAF4AAACOmwAAAwABAF4AAACYmwAAAgABAF8AAACgmwAAAgABAGAAAACpmwAAAQABAGEAAACxmwAAAQABAGIAAAC4mwAAAgABAGMAAAC9mwAAAgABAGQAAADCmwAAAgABAGUAAADHmwAAAgABAGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMAAQIAAAICBAUFAAECBgIDAAEAAgACAAAAAAAAAAECAwABAgAAAgIEBQUAAQIGAgMAAQACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgICAgICAgMDAwMDAwMDBAQEBAQEBAQAAAAAgDAAAIAgDgCAIMgDAAAAAID///8A+P//AAD//2QKARAAAHMABAUAAGcAAQMeAHoABAYAAHEABAkAAFEABAoAAHcABA4AAGMAAAgAAG8IAAAAAnUKABAAAHgQAAAQAVgQAAAABGYAAQEAAGUAAQIeAEUAAQIOAEcAAQMOAGkKARAAAG4AAAQAACUAAAcAAHAQAA0AAVQAAAsAAFMAAAwAAHIKAQ8AAAAAAAAAADAxMjM0NTY3ODlBQkNERUYwMTIzNDU2Nzg5YWJjZGVmAAAAAAAAAAAAAAAAAAAAAAkAAAABCAQAAAAAAAAAAABnAAAAAAAAAAAAAAAAAAAApKUAAAAAAAAHAAAAAQgEAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAAAALmlAAAAAAAABQAAAAEIBAAAAAAAAAAAAGkAAAAAAAAAAAAAAAAAAADNpQAAAAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/wAAAAABAAEAAAAAAAAAAABqAAAAQwAAAEMAAABrAAAAFaUAAAAAAAAAAAAAAQABAAAAAAAAAAAAbAAAAEQAAABEAAAAawAAACClAAAAAAAAAAAAAAEAAQAAAAAAAAAAAG0AAABFAAAARQAAAGsAAAArpQAAAAAAAAAAAAABAAMAAAAAAAAAAABuAAAARgAAAEYAAABrAAAAMKUAAAAAAAAAAAAAAQADAAAAAAAAAAAAbwAAAEcAAABHAAAAawAAAD2lAAAAAAAAAQAAAAEAAwAAAAAAAAAAAHAAAABIAAAASAAAAGsAAABHpQAAAAAAAAEAAAABAAEAAAAAAAAAAABxAAAASQAAAEoAAAByAAAATaUAAAAAAAACAAAAAQABAAAAAAAAAAAAawAAAEsAAABLAAAAawAAAFilAAAAAAAAAQAAAAEAAQAAAAAAAAAAAGsAAABLAAAASwAAAGsAAABipQAAAAAAAAEAAAABAAEAAAAAAAAAAABrAAAASwAAAEsAAABrAAAAbqUAAAAAAAACAAAAAQABAAAAAAAAAAAAawAAAEsAAABLAAAAawAAAG6lAAAAAAAAAwAAAAEAAQAAAAAAAAAAAGsAAABLAAAASwAAAGsAAABupQAAAAAAAAEAAAABAAEAAAAAAAAAAABrAAAASwAAAEsAAABrAAAAc6UAAAAAAAACAAAAAQABAAAAAAAAAAAAawAAAEsAAABLAAAAawAAAHOlAAAAAAAAAwAAAAEAAQAAAAAAAAAAAGsAAABLAAAASwAAAGsAAABzpQAAAAAAAAAAAAAAAAAA/wAAAAEoAADAkQAAAAAAAHMAAAAAAAAAAAAAAAAAAACbowAAAAAAAP8AAAABKAAAwJEAAAAAAAB0AAAAAAAAAAAAAAAAAAAApaMAAAAAAAD/AAAAASgAAMCRAAAAAAAAdQAAAAAAAAAAAAAAAAAAAKqjAAAAAAAA/wAAAAEoAADAkQAAAAAAAHYAAAAAAAAAAAAAAAAAAACvowAAAAAAAP8AAAABKAAAwJEAAAAAAAB3AAAAAAAAAAAAAAAAAAAAuKMAAAAAAAAAAAAAASAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAMGjAAAAAAAAAAAAAAEgAAAAAAAAAAAAAHkAAAAAAAAAAAAAAAAAAADOowAAAAAAAAAAAAABIAAAAAAAAAAAAAB6AAAAAAAAAAAAAAAAAAAA4KMAAAAAAAABAAAAASAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAMigAAAAAAAAAQAAAAEgAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAAADioAAAAAAAAAEAAAABDAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAA+6AAAAAAAAACAAAAAQwAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAShAAAAAAAAAQAAAAEMAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAPoQAAAAAAAAEAAAABCAAAAQAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAFqEAAAAAAAACAAAAAQgAAAEAAAAAAAAAfgAAAAAAAAAAAAAAAAAAABahAAAAAAAAAQAAAAEIAAACAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAcoQAAAAAAAAIAAAABCAAAAgAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAHKEAAAAAAAABAAAAAQgAAAMAAAAAAAAAfgAAAAAAAAAAAAAAAAAAACKhAAAAAAAAAgAAAAEIAAADAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAioQAAAAAAAP8AAAAhCAAAAAAAAAAAAAB/AAAAAAAAAAAAAAAAAAAAJ6EAAAAAAAAAAAAAIQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACehAAAAAAAAAQAAACEQAAAAAAAAAAAAAIAAAABMAAAATQAAAAAAAAAnoQAAAAAAAP8AAAAhCAAAAQAAAAAAAAB/AAAAAAAAAAAAAAAAAAAAK6EAAAAAAAAAAAAAIQgAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACuhAAAAAAAAAQAAACEQAAABAAAAAAAAAIAAAABMAAAATQAAAAAAAAAroQAAAAAAAAEAAACBCAAAAAAAAAAAAACBAAAAAAAAAAAAAAAAAAAAL6EAAAAAAAABAAAAQQgAAAAAAAAAAAAAggAAAAAAAAAAAAAAAAAAADahAAAAAAAAAgAAAAEIAAAAAAAAAAAAAIMAAAAAAAAAAAAAAAAAAAA9oQAAAAAAAP8AAAABCAAAAAAAAAAAAACEAAAAAAAAAAAAAAAAAAAAQ6EAAAAAAAABAAAAAQgAAAAAAAAAAAAAhQAAAAAAAAAAAAAAAAAAAEqhAAAAAAAA/wAAAAEIAAAAAAAAAAAAAIYAAAAAAAAAAAAAAAAAAABSoQAAAAAAAAEAAAABCAAAAAAAAAAAAACHAAAAAAAAAAAAAAAAAAAAV6EAAAAAAAABAAAAAQgAAAAAAAAAAAAAiAAAAAAAAAAAAAAAAAAAAFuhAAAAAAAAAgAAAAEIAAAAAAAAAAAAAIgAAAAAAAAAAAAAAAAAAABboQAAAAAAAAEAAAABCAAAAAAAAAAAAACJAAAAAAAAAAAAAAAAAAAAYaEAAAAAAAABAAAAAQgAAAAAAAAAAAAAigAAAAAAAAAAAAAAAAAAAGehAAAAAAAAAQAAAAEIAAAAAAAAAAAAAIsAAAAAAAAAAAAAAAAAAABtoQAAAAAAAAIAAAABCgAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAcaEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAHihAAAAAAAAAQAAAAEAAAAAAAAAAAAAAI0AAAAAAAAAAAAAAAAAAAB/oQAAAAAAAAIAAAAhCAAAAAAAAAAAAACOAAAAAAAAAAAAAAAAAAAAiqEAAAAAAAAAAAAAASAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAJGhAAAAAAAAAAAAAAEgAAAAAAAAAAAAAI8AAAAAAAAAAAAAAAAAAACgoQAAAAAAAAIAAAABCAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAsaEAAAAAAAABAAAAAQgAAAAAAAAAAAAAkQAAAAAAAAAAAAAAAAAAALyhAAAAAAAAAAAAAAEAAAAAAAAAAAAAAJIAAAAAAAAAAAAAAAAAAADCoQAAAAAAAAAAAAABAAAAAAAAAAAAAACTAAAAAAAAAAAAAAAAAAAA1KEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAlAAAAAAAAAAAAAAAAAAAANyhAAAAAAAAAwAAAAEIAAAAAAAAAAAAAJUAAAAAAAAAAAAAAAAAAADqoQAAAAAAAAEAAAABCAAAAAAAAAAAAACWAAAAAAAAAAAAAAAAAAAA8qEAAAAAAAACAAAAAQgAAAAAAAAAAAAAlwAAAAAAAAAAAAAAAAAAAPuhAAAAAAAAAwAAAAEIAAAAAAAAAAAAAJcAAAAAAAAAAAAAAAAAAAD7oQAAAAAAAAEAAAABAAAAAAAAAAAAAACYAAAATgAAAE4AAACZAAAAAqIAAAAAAAABAAAAAQAAAAAAAAAAAAAAmAAAAE8AAABPAAAAmQAAAAaiAAAAAAAAAQAAAAEAAAAAAAAAAAAAAJgAAABQAAAAUAAAAJkAAAAMogAAAAAAAAAAAAABAQAAAAAAAAAAAACaAAAAUQAAAFEAAACbAAAAEKIAAAAAAAABAAAAAQAAAAAAAAAAAAAAmgAAAFEAAABRAAAAmwAAABCiAAAAAAAAAQAAAAEAAAAAAAAAAAAAAJwAAABSAAAAUwAAAJ0AAAAWogAAAAAAAAIAAAABAAAAAAAAAAAAAACcAAAAUgAAAFMAAACdAAAAFqIAAAAAAAACAAAADQgAACOiAAAAAAAAngAAAAAAAAAAAAAAAAAAACeiAAAAAAAAAgAAAAUIAAAsogAAAAAAAJ4AAAAAAAAAAAAAAAAAAAAwogAAAAAAAAMAAAAFCAAALKIAAAAAAACeAAAAAAAAAAAAAAAAAAAAMKIAAAAAAAABAAAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADWiAAAAAAAAAAAAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1ogAAAAAAAP8AAAABCgAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAANaIAAAAAAAAAAAAAAAAAAAMAAAA0AAAAAAIAAAAAAABxngAAZJMAAEEAAABDAAAAQQAAAEIAAAAAAAAAAAAAAAAAAAAAAAAARAAAAEIAAABDAAAARQAAAEQAAABGAAAARQAAAEYAAAADAAAANAAAAAACAAAAAAAAdp4AAGiTAABBAAAAQwAAAEEAAABCAAAAAAAAAAAAAAAAAAAAAAAAAEQAAABCAAAAQwAAAEUAAABEAAAARgAAAEUAAABGAAAAAwAAADQAAAAAAgAAAAAAAICeAABskwAAQQAAAEMAAABBAAAAQgAAAAAAAAAAAAAAAAAAAAAAAABEAAAAQgAAAEMAAABFAAAARAAAAEYAAABFAAAARgAAAAMAAAA0AAAAAAIAAAAAAACNngAAZJMAAEEAAABDAAAAQQAAAEIAAAAAAAAAAAAAAAAAAAAAAAAARAAAAEIAAABDAAAARQAAAEQAAABGAAAARQAAAEYAAAC8ngAASQAAAAAAAAC2ngAASgAAAAAAAADBngAAUAAAAAAAAADIngAAUQAAAAAAAADPngAAUgAAAAAAAADUngAAUwAAAAAAAADangAAVAAAAAAAAADkngAASgAAAAAAAADqngAASwAAAAAAAADvngAAAAAAAAAAAAD1ngAAAAAAAAAAAAD9ngAATAAAAAAAAAADnwAAAAAAAAAAAAAKnwAAAAAAAAAAAAATnwAAVQAAAAAAAAAanwAAAAAAAAAAAAAknwAASwAAAAAAAAArnwAAVgAAAAAAAAA5nwAAVwAAAAAAAAA/nwAATAAAAAAAAABFnwAATQAAAAAAAABMnwAAQQAAAAAAAABUnwAAQQAAAAAAAABZnwAAWAAAAAAAAABgnwAAAAAAAAAAAABnnwAAQgAAAAAAAABznwAATgAAAAAAAAB8nwAAWQAAAAAAAACCnwAAAAAAAAAAAAAAAAAAAAAAAAAAAAD3nwAAAKAAAAmgAABrngAAAAAAAAAAAABvbm9mZmFsc2V5ZXN0cnVleHRyYWZ1bGwAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQCAAEAAAIAAAAAAAAAAAAwMDAwMDAwMDAwAAAAAAAAACgoKCgoKAgICAgICAgICAgICAgICAgICAgKAAAAAQIAqKioqKioiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHwABAgMEBQYHCAkKCwwNDg8AAQIDBAUGBwABAgMAAQAABAUDBQEFAQUCBQIFAQUBBQQFAwUBBQEFAgUCBQEFAQUwMTIzNDU2Nzg5QUJDREVG3KIAAOSiAADpogAA7qIAAPOiAAAAAAAAAAAAAAAAAAD7ogAAEKMAAByjAAAoowAAQKMAAEyjAABYowAAZaMAAHKjAACGowAAAAAAAAAAAAAABgAAm6QAAAAAsOolBltCAAAAAABAj0AABgAAoqQAAAAAAKVb0/xBAAAAAABM7UAABAAAqaQAAAAAALBQv55BAAAAAEB3S0EAAwAAl6QAAAAAAECLf1RBAAAAAHCZlEEBBQAAjKQAAAAAAAAQjQVBAAAAANlP40ECBAAAkqQAAAAAAACAvMxAAAAAsMReHUJTUUxpdGUgZm9ybWF0IDMAT7sAAAAUAAAIAAAAAAAAAF67AAABlQAAAAAAAAAAAABquwAAAhQAAACAAAAAAAAAersAAAMQLgEAAAAAAAAAADy7AAAElQAAAAAAAAAAAACHuwAABZQAAAAAAAAAAAAAk7sAAAYCAAAAAAAAAAAAAKe7AAACFAAAAAAgAAAAAAC3uwAAAhQAABAAAAAAAAAAzLsAAAcQGgIAAAAAAAAAANu7AAAIEAAAAAAAAAAAAADruwAAAhQAAIAAAAAAAAAA+bsAAAAYAAAPAAAAAAAAAAa8AAAKESMDAAAAAAAAAAAUvAAAC5UtAQAAAAAAAAAAJ7wAAAIUAAAAAAgAAAAAADq8AAACFAAAAAEAAAAAAABRvAAADBQAAAAAAAAAAAAAWrwAAA0RHwQAAAAAAAAAAGy8AAAOYQAIAAAAAAAAAAB9vAAAAhQAAABAAAAAAAAAirwAAAAYAAAAAAAAAAAAAJm8AAACFAAABAAAAAAAAACrvAAAAhQAAAgAAAAAAAAAtbwAAAIUAAAAAgAAAAAAAM68AAAQAwAAAAAAAAAAAADhvAAAEWEPAwAAAAAAAAAA7LwAABJhGgUAAAAAAAAAAPe8AAARYQ8GAQAAAAAAAAADvQAAEzEAAAAAAAAAAAAAE70AABSRAAAAAAAAAAAAACC9AAAVkAAAAAAAAAAAAAAzvQAAAhQAAAAAAAQAAAAARr0AAAIUAAACAAAAAAAAAFm9AAAXkAAAAAAAAAAAAABmvQAAGJEAAAAAAAAAAAAAdb0AABkAAAAAAAAAAAAAAH+9AAAbIQAAAAAAAAAAAACIvQAAGJEAAAAAAAAAAAAAk70AAByUAAAAAAAAAAAAAJ29AAACFAAAAAAQAAAAAACovQAAEzEAAAAAAAAAAAAAtL0AAAIUAAAABAAAAAAAAMW9AAACFAAAACAAAAAAAADYvQAAAhQAAAAQAAAAAAAA8r0AAAAUAAABAAAAAAAAAAG+AAAeEAAAAAAAAAAAAAAPvgAAAhQAAEAAAAAAAAAAIr4AAB8CAAAAAAAAAAAAADC+AAAgEAAAAAAAAAAAAABAvgAAIZUAAAAAAAAAAAAATL4AACJhCAYAAAAAAAAAAFe+AAAiYQgHAQAAAAAAAABjvgAAIxQAAAAAAAAAAAAAbr4AACQEAAAAAAAAAAAAAIO+AAAlEAAAAAAAAAAAAACLvgAAABQAAAYAAAAAAAAAmL4AACYAAAAAAAAAAAAAAKu+AAAnASYDAAAAAAAAAAC6vgAAAhQAAAEAAAgAAAAAcbQAAHu0AACGtAAAkrQAAJ20AACitAAAp7QAALK0AAC+tAAAxbQAAM20AADVtAAA2rQAAOC0AADutAAA9LQAAP60AAADtQAACLUAAAu1AAAPtQAAFbUAAB+1AAAmtQAALbUAADS1AAA7tQAARLUAAE+1AABYtQAAXrUAAGi1AABytQAAd7UAAIG1AACMtQAAkbUAAJi1AACetQAApLUAAKq1AACwtQAAu7UAAMa1AADJtQAAzbUAANW1AADetQAA5LUAAO61AAD7tQAAArYAAAq2AAANtgAAELYAABO2AAAWtgAAGbYAABy2AAAmtgAAMbYAADe2AAA8tgAARrYAAFC2AABZtgAAYrYAAGm2AAB2tgAAgbYAAIa2AACOtgAAlLYAAJu2AACgtgAAqbYAAK62AAC3tgAAvLYAAMG2AADHtgAAz7YAANm2AADhtgAA6LYAAPW2AAD6tgAABrcAAA63AAAVtwAAHLcAACO3AAAstwAAM7cAADm3AABDtwAATrcAAFK3AABbtwAAZLcAAGu3AAB1twAAfLcAAIe3AACOtwAAlLcAAJ+3AACntwAAsbcAALu3AADEtwAAzrcAANa3AADktwAA8rcAAP23AAAKuAAAFbgAABu4AAAnuAAAL7gAADi4AABBuAAASLgAAFK4AABZuAAAZLgAAHK4AAB9uAAAhbgAAIu4AACTuAAAm7gAAKi4AACyuAAAvLgAAMm4AADSuAAA2rgAAOC4AADsuAAA+LgAAP24AAAFuQAAEbkAAB65AAAouQAAMrkAAD65AABKuQAAVLkAAFq5AABkuQAAa7kAAHe5AACCuQAAirkAAJO5AACcuQAApbkAAKy5AAC2uQAAvbkAAMW5AADOuQAA1LkAANy5AADkuQAA7rkAAPe5AAD9uQAACLoAAA26AAAVugAAAAAAAAAAAADMqAAA0agAANioAADbqAAA3qgAAOGoAADkqAAA56gAAO+oAADyqAAA+agAAAGpAABPtAAAWLQAAF+0AABltAAAAAECAwQGCAgAAAAAAAABAQICAwMEBAUFBgYHBwgICQkKCgsLDAwNDQ4ODw8QEBEREhITExQUFRUWFhcXGBgZGRoaGxscHB0dHh4fHyAgISEiIiMjJCQlJSYmJycoKCkpKiorKywsLS0uLi8vMDAxMTIyMzM0NDU1NjY3Nzg4OTkAAAIAAwAFAAYABwAIAAkAbLEAAHOxAAB7sQAAf7EAAIixAACPsQAAAAAAAAAAAABUrwAAYa8AAAAAAABxrwAAiq8AAJivAACrrwAARq8AAMSvAAAFqAAA6a8AAPivAAAZsAAAK7AAAESwAABhsAAAAAAAAJ6qAACMogAAcrAAAISwAACWsAAAuLAAANewAAAAAAAA7LAAAAaxAAAdsQAAMrEAAAAAAAAAAAAAAAAAABwbGxsbGxsbGwcHGwcHGxsbGxsbGxsbGxsbGxsbGxsbBw8IBQQWGAgREhUUFwsaEAMDAwMDAwMDAwMFEwwODQYFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEJGxsbAQgBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABARsKGxkbAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJKbXxIai0AAFEATD0AKgxNDwB7VDZ2fRMAAIIAgHkAFmAACQAAc0UAQwYAMF2IAH5oAAAsAGsYABEAgzUXAAU+hGMAAIduPIY5cTcAXgBnGgBmAAAAYl9kaXUOJ3QAUACFclw7AIFPd1YuUwAAYSh6eAB/AAAdAFlXWAAUVW84AAcHBQQGBAUDBgcDBgYHBwMIAgYFBAQDCgQGCwYCBwUFCQYJCQcKCgQGAgMJBAIGBQcEBQcGBgUGBQUFBwcEAgcDBgQHBgwGCQQGBAUEBwYFBgcFBAcDAgQFCQUGAwcNAgIEBgYIBREMBwkICAIECQQGBwkEBAIGBQgEBQgEAwkFBQYEBgIJAwcAAAAAAAAAAAAAAgACAAgACQAOABAAFAAXABkAGQAdACEAJAApAC4AMAA1ADYAOwA+AEEAQwBFAE4AUQBWAFsAXwBgAGUAaQBtAHUAegCAAIgAjgCYAJ8AogCiAKUApwCnAKsAsACzALgAuAC8AMAAxwDMANEA1ADaAN0A4QDmAOwA8gD1APcA+AD8AAIBBgENARMBHwElAS4BMAE2AToBPwFBAUgBTQFSAVgBXgFjAWYBZgFmAWkBbQFwAXkBfQGDAYUBjAGOAZABmQGdAaMBqQGxAbYBtgG2AcYBzwHWAdcB3gHhAeoB7gHzAfoBAwIHAgsCDQITAhcCHwIiAicCLwIvAjMCPAJBAkYCTAJPAlICVQJaAl4CUkVJTkRFWEVERVNDQVBFQUNIRUNLRVlCRUZPUkVJR05PUkVHRVhQTEFJTlNURUFEREFUQUJBU0VMRUNUQUJMRUZUSEVOREVGRVJSQUJMRUxTRVhDRVBUUkFOU0FDVElPTkFUVVJBTFRFUkFJU0VYQ0xVU0lWRVhJU1RTQVZFUE9JTlRFUlNFQ1RSSUdHRVJFRkVSRU5DRVNDT05TVFJBSU5UT0ZGU0VURU1QT1JBUllVTklRVUVSWVdJVEhPVVRFUkVMRUFTRUFUVEFDSEFWSU5HUk9VUERBVEVCRUdJTk5FUkFOR0VCRVRXRUVOT1RISU5HTE9CWUNBU0NBREVMRVRFQ0FTRUNPTExBVEVDUkVBVEVDVVJSRU5UX0RBVEVERVRBQ0hJTU1FRElBVEVKT0lOU0VSVExJS0VNQVRDSFBMQU5BTFlaRVBSQUdNQUJPUlRWQUxVRVNWSVJUVUFMSU1JVFdIRU5PVE5VTExXSEVSRUNVUlNJVkVBRlRFUkVOQU1FQU5ERUZBVUxUQVVUT0lOQ1JFTUVOVENBU1RDT0xVTU5DT01NSVRDT05GTElDVENST1NTQ1VSUkVOVF9USU1FU1RBTVBBUlRJVElPTkRFRkVSUkVESVNUSU5DVERST1BSRUNFRElOR0ZBSUxGSUxURVJFUExBQ0VGT0xMT1dJTkdGUk9NRlVMTElGSVNOVUxMT1JERVJFU1RSSUNUT1ZFUklHSFRST0xMQkFDS1JPV1NVTkJPVU5ERURVTklPTlVTSU5HVkFDVVVNVklFV0lORE9XSU5JVElBTExZUFJJTUFSWQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAACAAAAAAAADQAAAAAABwAAAAAAAAAAAAAAAAAAACEAFQAAAAAAMgArAy8AACAAAAAAAAAAAUAAAEEAKQAmAAAAAAAxSwAAHgA6AAAAHz8QIgoAAAAAAAAAC0ZbAAAIAGwAZRw0RABwAEkzAFobJQBHJFIAI0IZEgAATgAAAAAAAAAAWGmVJzopcUMheT4/LwJBlyYYfxBrkwt4lH0GHGhrlkcJFA1+TXJsi0VEdxUVK3ADGVFrDiCIh3YFa1YwjC8iIx91kWYRWigIhHQvLgQeRhuAUImSMxNCbopIHVksbXMPMSQ8CiVrWlpSVAeBLXpVKppJU4NrEjKGSplrDExLV3uFTk+YPUB8bwAAAAAAAAAA76gAAGa6AABqugAAcLoAAHW6AAB4ugAAgroAAIy6AACSugAAlroAAJu6AACgugAAqLoAALO6AAC2ugAAvboAAJK6AACWugAAw7oAAMi6AADNugAA0boAANW6AADZugAA3roAAOO6AABmugAAlroAAOi6AADvugAA9roAAGq6AAD+ugAA8qgAAAS7AABmugAAlroAAAm7AAAOuwAAE7sAABe7AACWugAAJLsAACy7AAA1uwAAPLsAAEe7AAAAAAAAp8YAAAEAAADdvgAAAQAAAAAAAAA7ADsAOwA7AAAAOwA7ADsAAAA7ADsAOwA7AAAAAAAAADsAAAAAADsAAAAAAAAAOwAAADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAAAAAAAAAOwA7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAAAAAAAAAAAAAAK0G8AVCBywFLAUVAV4FvQVCBrAGsAawBhEBAAAAAHEA+AOwBrAGsAawBrAGsAawBrAGsAawBgsACwDsALgAFQEVARUBFQEVARUBXQCxAA4BawHIASUCggLfAjwDUAPkA3gE+AP4A/gD+AP4A/gD+AP4A/gD+AP4A/gD+AP4A/gD+AP4A4wE+APpBP0E/QTSBbAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGzgawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBo8AogCiAKIAogCiAMwAlwCgARMCiAK8AhMC5gHmARMCYQFhAWEBYQGZARcBNQDZB9kHSwFLAUsBSQFuAUkBSQFVAlUC0AHaAQYBqQITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAq0A5QHYA9gDQALlARMA/gPZB9kH2QeDAfoA+gANAvYBFgEoAuMA4AE2AhMCEwITAhMCEwITAhMCEwITAhMCfwITAhMCEwITAhMCEwITAhMCEwITAhMCEwICAAIAAgATAhMCEwITAg4DEwITAhMC6AITAhMCDwMTAhMCEwITAhMCEwITAhMCowGqAkcBcgFyAXIBcgEFBEcBRwEABIEDWAOzA1UEwgLCAncEVQRVBHcESgOxA14EcARwBHAEwgKkApABFwS2AjsF9gT2BFYFVgX2BBkFbQVZBf4EeQV5BXkFeQX2BIYF/gT+BBkFbQVZBVkF/gT2BIYFEgVpBfYEhgWYBfYEhgX2BIYFmAVLBUsFSwWDBZgFSwVXBUsFgwVLBUsFmAVwBXAFmAVVBXQFVQV0BVUFdAVVBXQF9gRcBZUF3gVuBVwF7QX2BHUFbgWCBYUF/gT4BfwFDQYNBhoGGgYaBtkH2QfZB9kH2QfZB9kH2QfZB9kH2QfZB9kH2QfZB9kHOgJZAa4C7AIyAOQCKARTBNUBGQISBHoEigSCBLEEsgSzBLgEuQRnBC0ErASFBHsEygTMBN0EBwNkA94E3wSnBH8EMQY1BjMGsAVABvcFQQY7BjwG1AXMBeIFQwbXBUgG2AVOBmMG5AXZBfEFLAZGBuEFOAY5Bj0GPgb6BQsGUwb0BXYGcwZkBhEG5gU6BmIGPwY0BlcG/wUcBmoGcQZ0BhAGGAZ1BkkGdwZ4BnkGewZMBnoGfAZQBnAGgAYOBoQGAgaGBocGhQaJBosGjAaOBpAGjwYmBpMGmgZKBpIGnwYyBqIGmwaiBp0GawZ9Bm4GlgauBq8Gsga0BqcGswaiBr8GwAbBBsIGwwbEBsYGzwbIBskGzAbQBsoG0gbLBm0GaAZsBm8GcgbVBtcG7AYAAAAAAAAAAAAAAAAAALgA7gDvAPAA7gDvAPAAowCbAJwAnQCeAJ8AoACjAL8AwAC3AKUAEwCnAAIBygDLAMgAvwCjAK4AuAC5AK4AHwCjAKMAqwC4ALkAIwCvACcAswC0ALUAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAuADOAM8AowDOAM8A3ACjABAAowBCAKMAOwAOAdsA5QARAdsASgDQAK4A3wDgAKMAuAC5AKMA6AC4ALkAuAC5ALgAuQBcAF0AXgBfAGAAYQBiAGMAZABlAGYA6QDGALgAuQBgAGEAowDOAM8AEwCjAAUBaABpAGoAawDGAG0AdwDcANsA3AASARMBTQB1AE8AuwDlABMA5QC4ALkAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkA6QCNAIYAjwBmACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5AJgAEgHYABQB2gBTAKMAVQDpAEMA7gDvAPAACwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAEwA2ADcAOAA5ADoAowAaAKMAXABdAF4AXwBgAGEAYgBjAGQAZQBmADYANwA4ADkAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAXABdAF4AXwBgAGEAYgBjAGQAZQBmAEUAYABhAGIAYwBkAGUAZgBcAF0AXgBfAGAAYQBiAGMAZABlAGYAUQCzALQAtQBcAF0AXgBfAGAAYQBiAGMAZABlAGYAowALAQwBowAWABcAOwCjABoAEwB1AHYArwBtABgAOwBcAF0AXgBfAGAAYQBiAGMAZABlAGYADAG4ALkADQF/AIAAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAnQCeAJ8AoABpAGoAawCjAKUAOwCnALgAWgBpAGoAawBsAK4ASQBvAHAAcQATABYAowBbAFEAowBqAHkAUQCEAG4AEABcAF0AXgBfAGAAYQBiAGMAZABlAGYAuAC5AP8AYgDOAM8AGgBlAGYAEwBpAGoAawAXAMYAOwB0ANsAjQCOAI8AGACjALsAzQASARMBfwCAALYA6AB/AIAAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAngBNAKAATwA7ABoAtgClADsApwDHAAUBZgBpAGoAawCuAEgAbABtAG4AbwBwAHEAcgA7AO4A7wDwAHsAeAB9AH4AowBcAF0AXgBfAGAAYQBiAGMAZABlAGYAowCjAKMAzgDPAGkAagBrAP4AEwBqAFoAxQAXAH8AgADbAO4A7wDwABYAuAC5ALgAuQAWAGkAagCVAOgAzQBuAKMAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAYgBjAGQAZQBmALgAuQCjADUAOwAFAdwAdQB2AI0AjgCPAIMArgA7AOUAdAB1AHYAowA7AKMAowC4ALkAOwDyAEgAFgBcAF0AXgBfAGAAYQBiAGMAZABlAGYAuAC5ABgAuAC5AM4AzwDKAMsAEwBpAGoAawAXAMYAFgCuAMYA2wDcAGkAagBrAGAAYQA7AGkAagBrABYArgA7AGoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAzgDPAAwAbAA7AIQAbwBwAHEALgAvADAAMQDbAM4AzwB5ABsAOwCjAI0AzwCPAGkAagBrAKMA2wDqAGkAagBrACoA2wBcAF0AXgBfAGAAYQBiAGMAZABlAGYATACjALgAuQCjAGkAagBrAD8AEwBWAKMAowAXAKMAggDNABUASQBpAGoAawC4ALkAowC4ALkA7QBuALQAtQC0ALUAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkArgCjAKMAFgAXAKMAowAaABYAFwDcAB0ASQDcABABIQAWAKMAGAATAK4A0AADAbgAuQATALgAuQBQAK8A5gCuAM4AzwBcAF0AXgBfAGAAYQBiAGMAZABlAGYA2wAuAEEA9wDDAPcAxQDOAM8AEwB0AHUAdgAXANwAcACuANwAzgDPANsAFgCuABgArgAWABcAWwAIAQkBqADbAFsAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAzgDPAAwAowCVAP8AzgDPAM4AzwA7AGgAFwDbAKMAGgCjABsAaQDbAKMA2wCjANMAuAC5AKMAeACjAJIAowCUACoA3QBcAF0AXgBfAGAAYQBiAGMAZABlAGYAowBbALgAuQC4ALkAuAC5AD8AEwCjAM0AagAXAPUAowDQAPgAdAB1AHYAuAC5AKMAowAHAAgACQCjABMAGgC4ALkAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAowC4ALkAawCjACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ANAA/wCxALIAowC4ALkAowCEAKMAjQCjAI8AFgBcAF0AXgBfAGAAYQBiAGMAZABlAGYAuAC5AKMAuAC5ALgAuQC4ALkAXABdAF4AXwBgAGEAYgBjAGQAZQBmAKMAowCjALgAuQCjAHMAowCjAKMAowAPAKMAowCjAKMAowAXAKMAowAaALgAuQC4ALkAowC4ALkAuAC5ALgAuQCjALgAuQC4ALkAuAC5ALgAuQCjAGAAYQCTAKMAuAC5AKMAxwCjAKMAzQC4ALkAowA8AKMAjQCjAI8AowC4ALkAEwCjALgAuQDmALgAuQC4ALkAzgDPAOYAuAC5ALgAuQC4ALkAuAC5ABMAowDbAOcAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAowAaAKMAuAC5ACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5AKMAuAC5ALgAuQCjALYAowCjAKMAowCjABYAowBcAF0AXgBfAGAAYQBiAGMAZABlAGYAowC4ALkAuAC5AKMAuAC5AKMAXABdAF4AXwBgAGEAYgBjAGQAZQBmAKMAuAC5AGIAOwCjALgAuQDNALgAuQAXAM4AzwAaAKMAGgBrAJkAmgDtALgAuQDnAJMA2wC4ALkA+QB8AH8AgADnAP4AgQCjAOcAsQCyAAYBBwF2AIQAEwATAC4A3wDgAB8AGAAXAGoAfAAaABYAEAEnAIEAFwBtAG4AGgCjAIwAEwAWAOoAOwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDnAAcACADBADsAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAaAA9ABcAFwAXABoAGgAaAKMAFwAXAGoAGgAaAFwAXQBeAF8AYABhAGIAYwBkAGUAZgCKAGkAFwA7ABcAGgBqABoAowBcAF0AXgBfAGAAYQBiAGMAZABlAGYAbgAXABcAFwAaABoAGgCjAKMAEwB4AKMAowCjAIIAowCjAKMAowCjAKMAowDBAMEAowCjAKMAowDhABMAagCjAN4AowAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAowCjAMsAowCjAN4AowAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5AKMAowCjAKMAowD7APoA0QATABQAtgAWAKEA3gBcAF0AXgBfAGAAYQBiAGMAZABlAGYAJADeAN4ABAHiALwAAAHiALsAXABdAF4AXwBgAGEAYgBjAGQAZQBmANIA1QDVADsA1QDEAMAAuwAAAfQA1AC7AOIAEwAUAEcAFgDSAKYAPACCAKoABAGqACYAUQABAQEBqgBoACQAFgArAMkAWgDsAIoA6wDVABIAYABhADAAzADMAMwAzABnAKoAaQBqAGsAEgA7AG4AqQDVANUAyQCqAMkAqQDsANUAkgBHAOsAPgD9APwAqgB/AIAAqQAWAKoAUgC9AKkAaACqAFcAqQC9AFoAjQCOAI8AkACRAGAAYQC6ALoAugBAAMIAZwC6AGkAagBrAHMAvQBuALwAugC6ABMAFADCABYAugC9AGYA9gD2AL0AhQDkAGgA5ADjAOMAqgAkAIYA5ADjABMAFADkABYAVAAPAY0AjgCPAJAAkQAAAAEAAgDYABYABQAkAIkAOwDjAAoACwAMAA0ADgDZAA0BEQDYABYARwCqAPMAkgDxANkAiADXAIcAOwAeAFIAIAAZANYA1QBXAK0AGgBaACgARwANAKwApABgAGEApAAGAKIAogCiAGcABwFpAGoAawAKAQoBbgBaALAAsAC+ALYAvgBgAGEAYgAEAEYAsAADAGcAtgBpAGoAawBOALYAbgBRALYAtgC2ALYAtgCXAFgAFgCNAI4AjwCQAJEADwBZABAAFwAXAIAAEwAUAIsAFgB3AIMAGAAUAIUAEACNAI4AjwCQAJEAAQCMACQAgwB3AD0AegAlAIsANQA1AH8AgAB3ADUANQBpACIAggABAAUAaAAWAJUAGgA7AEQASwApAIIAGABEAGgAFACWABMAeABHAHIAFgBDABYAFgBDABcAFgAWAEMAUgAlABwAFwCKAFcAFgCZAFoAFwAXABoAFwAWAGAAYQAYABcAFgAYAIIAZwAXAGkAagBrAAEAAgBuABcABQBpACIAFgCEAAoACwAMAA0ADgAaACIAEQAiAFUAUwAsABMAFAAXABYAGABLACIAFwAeABoAIAAaAI0AjgCPAJAAkQAkACgAFwAXABcAFwALABcAFgAaABYAFgAWABMAFAAXABYAGgAPABcAFgB8AIIAOwAXAAEAggAVARUBggAkAEYAggAVARUBRwAVARUBFQFOABUBFQFRABUBFQEVARUBFQEVAVgAFQEVARUBOwBaABUBFQEVARUBFQFgAGEAFQEVARUBRwAVAWcAFQFpAGoAawAVARUBbgAVARUBFQEVARUBFQEVARUBegBaABUBFQEVAX8AgABgAGEAFQEVARUBFQEVAWcAFQFpAGoAawAVARUBbgCNAI4AjwCQAJEAFQGWABUBFQEVAQUAFQEVARUBFQEKAAsADAANAA4AFQEVAREAFQEVARUBFQEVARUBFQGNAI4AjwCQAJEAHgAVASAAFQEVARUBFQEVARUBFQEoABUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQFGABUBFQEVARUBFQEVARUBTgAVARUBUQAVARUBFQEVARUBFQFYABUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVAXoAFQEVARUBFQF/AIAAFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBlgAVARUBFQEVARUBFQEVARUBFQEVAQAAAAAAAAAAAABwAWkAZgDFAGkAZgDFAAMCZAQBAAEACAICAGgEAwKoBJMEsAUTAXIBfwBtBa0ErQSoBI4EsgC1BEAAQADdAXcDQgGsAVwBJQAlACgDagF4A/0B/QH9AXAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAG0B/AD8AAMC/AD8APEBAwI1AQMCywEDAjcE6wEAAt4BBgAAAikDhgDyAeQAwgCsASUAJQADAtAAQABAAEAAQAANAA0AbQBtAG0AbQBsAGwAawBrAGsAagCRAQIBfQENAA0AjgGNAawB/AD8AHIB3AGVAVAENwQ4BDkEggFSBIYB8QEAAvEBjwWLBTABUQQzAegE8AFyAfMBEAAQAHAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAAYBUwTvAVMEkQFwAHEAZwBMBEwEuQO8A7IDsgNuAG4AbwBvAG8AbwCBAJEFVwGMBVMBIwTsASEEBwFJAGkAZgDFAOIDbQBtAG0AbQBsAGwAawBrAGsAagCRAXIBbwBvAG8AbwBoAOwBWQCYBW0AbQBtAG0AbABsAGsAawBrAGoAkQFvAG8AbwBvAHAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAG0AbQBtAG0AbABsAGsAawBrAGoAkQFyAGwAbABrAGsAawBqAJEBbQBtAG0AbQBsAGwAawBrAGsAagCRAZgAjwGPAY8BbQBtAG0AbQBsAGwAawBrAGsAagCRAbIA7QGEBbIBDQTOBTcEAwLOBXIBpQEpAWUBnAFKADcEbQBtAG0AbQBsAGwAawBrAGsAagCRAYUFJQAlAJcFEgH6AXAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAJwFCAICAGgENwQ4BDkErgETATcEfwBuAaUDNwQ4BDkE3AC1BJEDygHHAcYBiAGnAAMCCwSYAL0BnAPFAZgAagObAyEBbQBtAG0AbQBsAGwAawBrAGsAagCRAQ0ADQAFAVUD/AD8AOMAagCRAXIBNwQ4BDkENwGEATcEKAEAApsDmwOdA+cAQwHnBGwFjwXqARIB+gEMANAAEgH6AXAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAKAFHgFoBCABNwRJBPcAEwFKBH8AgwGVAYUBNwQ4BDkEtQSfAO4A/wBBAc0BPAHMAeEAFgNpAGYAxQABAjoBSgNKA70BbQBtAG0AbQBsAGwAawBrAGsAagCRAQMCAgIDAvwA/AA3BDgEOQSzAXIBSgSlA7QFGgMSAfoBAAJpAGYAxQBQAT8APwBAAEAAGwAWA5wDHwHQAEoFmwMDAnAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAGsAawBrAGoAkQExADEAAwIcADcElQHxAaUBKQGbA5sDnQO6ANQBNwTTAecD5wO6AQMCNwROAQMCLQAtADsEVgGtAKgAbQBtAG0AbQBsAGwAawBrAGsAagCRAQ0ADQDNAA0ADQD8APwAqwSrBHIBNwQ4BDkEEwMJAQUAZwHuAQAC1QE3BDgEOQSOAY0BNwQ3BDgEOQQDABoBNwQ7BHAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAPwA/AD3A9wANwRpA8oBxwHGAa8DrwO6A70DAAL8APwAxQH4AzcEvQFTBLkEUwQ3BDgEOQQDAgACqgE3BDgEOQT5AwACbQBtAG0AbQBsAGwAawBrAGsAagCRARwEAwIyADIAAwI3BDgEOQQ8A3IBGwR7AZsBKAROBc8AmAEFAz0DNwQ4BDkEQABAAEIBQABAABYFswObAZoBTgVQBXAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvACYB4gEDAg0EzwUDArIBzwViAWAE4wHkA5ED5QHSAeQDhACyACEAwgGzBIgAlgFAAEAA3wFAAEAAowFxARsBegT8APwAbQBtAG0AbQBsAGwAawBrAGsAagCRAQAC4AC4AZsBCgFOBQoB/AD8AHIBKAGgARwBpgOMAdAD1gGQAfwA/AAAAgkA2QHnAPQBYgEMBAsE0AVjAXYBAAJhBHAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAPwA/AD3AwMCQwUnAfwA/AD8APwASgR3AfkAAAK9AWgDQgH4A+ABAALDAAACsgERAQ8ADwADAjoBAwJfAAMCXQD5A28BbQBtAG0AbQBsAGwAawBrAGsAagCRAQMCYQQnACcAMwAzADQANAD3AXIBAwK0BEoElgO3AVUBhQC0Ad8A3gDdADUANQBCAXgF+QL6AvsCAwJyAVgANgA2AHAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAJcBNwA3AMQAAwJwAHEAZwBMBEwEuQO8A7IDsgNuAG4AbwBvAG8AbwCHAAgBfQR4AQMCKAAoAAMCaAMDAuEDAwLhA3QAbQBtAG0AbQBsAGwAawBrAGsAagCRASkAKQADAisAKwAsACwAOAA4AG0AbQBtAG0AbABsAGsAawBrAGoAkQEDAnsBAwI5ADkAAwIfAwMCewEDAr0ByAADAkMBAwJ1BQMCswUDAgcFMQM6ADoADgAOAAMCOwA7AHYAdgA8ADwAAwIuAC4APQA9AD4APgAvAC8AAwK+AL0AWwADAowAjAADAooBAwIVAbAEjQCNAAMCWwQDAuADAwLgAwMCRQBFAHIBFgEwADAAAwFBAEEAdwB3APYA9gAEAUIAQgB4AHgAeQB5AHUAdQByAQMCAAJ/AXAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAAMCaAMDAosAiwBwAHEAZwBMBEwEuQO8A7IDsgNuAG4AbwBvAG8AbwAHBYoAigB9AH0AAwIMAAMCGQEHBQMCvQGDAAcFbQBtAG0AbQBsAGwAawBrAGsAagCRAQMCfAB8AHoAegADAnsAewADAm0AbQBtAG0AbABsAGsAawBrAGoAkQEDAkQARADPAQ8DAwJGAEYALgFDAEMACAT9AP0AZAEHBb8AxACZBdEBFQUmACYAgAFeAAACKgAqALEAUAMSAfoBgQGkAU8DTAW5AfwBeAF5AZkApwFoA7ABcgHgAPsAwgB3A7YAJQEPA1ADWAD+ANIBeANPA5MDJwMmA+YA2QSOA3IBEQCdAR0DcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AiwEuAy8DlwTXA3AAZQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAHcBpgGrAa0BKgHmAOYAWADYBMMBOAEdA+IAWABtAG0AbQBtAGwAbABrAGsAawBqAJEBVgCxAdMDnwNxA+IA1wPmAJ8BbQBtAG0AbQBsAGwAawBrAGsAagCRAUABTQMNA04DZACCAGQAewUiAXIBPwFhBWAFtQGpBSsB1QQvATIBNAE2AaQElgSVBJQEOwFEAUUBzARyAZ8D4QQPAQYFcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAMgE0wT2AfUBDAXFBIMEZwBMBEwEuQO8A7IDsgNuAG4AbwBvAG8AbwB8BHEEcARyBKMFvgH0ALgAYgD7AbwABABhAUcBbQBtAG0AbQBsAGwAawBrAGsAagCRAf4BSQFLAccAngHIASQBHQE+AW0AbQBtAG0AbABsAGsAawBrAGoAkQELAPcE/wSSAWkBwACTBEcFrwH5AVoBRgVNAWIA+wH4AQQAuwCmBVsE6QB0BZsAcgVYBJgASABLAHoBqQH+AaUAlQCdAKUD/ARWAB4A9AShAWAAYAAIAKAAoQCiAKMAYQCiAZIBBQIEAsEBkgGbA9IAZgGoAQIFtgGpANYAaAFBBVAA+AEfALwBVQUtAfUAEgH6AdgArgAxAegBvwHZAM4BcwTnAdoAawGlA5sDmwOdA54DGABgAGAApwSmBKUEhwGeBGEAiwSSAQUCBAIfA2wBmwOKBD0BiQRiAPsBnQQEALIF2AGJAQ0BDgHbAeEB0ARVANEERgFIAegA/gHvAc8ESgFiAPsBzgQEAOYBTwGbA5sDnQOeAxgAmwUsBJQBtQBQAQAB/gFzAJIBTAFgAWABXwHxAF0BvgSGBQIDUgEKAPgBVAEQAVwAMwW9BFcAtwDkAZIByQDoARgB7wBYAVkB6QF5BB0ApQMXAfgBMgQGAvAAYABgAPIA8wAHAm4EaQRhAJoAkgEFAgQCdAF1AZsDpQOOAI8AgABlBQsBYABgAFQD9QLLAJAAkwFhAGYFkgEFAgQCzABkBZsDkgBjBYcEhgRHAIQEFAHKALkAmwObA50DngMYAMYAAQF+AN8D3QOLA2IA+wGcAAQAkQCeAM4APwPRACMBmwObA50DngMYAO0DjwP+AaQAkwB8AXMBfgGmAEwATQASAfoBlABOAE8A8APTANQA7AOJANUAEgAsAeYAkgHlA1UEuwHXACAAqgCrAAQDmQHAAT8B+AHbAKwAxAFRABMAyQE5ARQAUgAMAegBlgAqA7MAUwDnAdABlwClA7QAvwNUABAEIgBgAGAA1wERBCMA2gHBAGEA+ACSAQUCBAIsBJQBmwP6AAABcAPlAK8AawNgAWABXwHxAF0BZAAVAAIDFgAeBCAEBwBiAPsBFQQEAFEBIgQXAM4DyQCwABgBWACbA5sDnQOeAxgA/gEXAcADvgPCA/YDwwP1A+sA6gAZACQAYwBaAPsBoAMEAP8BXgEOAxoASQPsAJIBWwEtBO0AZQRlBKsF/gHLAKoFZQRlBPgBZQRlBGUEzABlBGUEkgBlBGUEZQRlBGUEZQTKAGUEZQRlBJIBpQNlBGUEZQRlBGUEYABgAGUEZQRlBPgBZQRhAGUEkgEFAgQCZQRlBJsDZQRlBGUEZQRlBGUEZQRlBHMBpQNlBGUEZQQSAfoBYABgAGUEZQRlBGUEZQRhAGUEkgEFAgQCZQRlBJsDmwObA50DngMYAGUEmQFlBGUEZQQAAWUEZQRlBGUEYAFgAV8B8QBdAWUEZQQCA2UEZQRlBGUEZQRlBGUEmwObA50DngMYAMkAZQQYAWUEZQRlBGUEZQRlBGUEFwFlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEywBlBGUEZQRlBGUEZQRlBMwAZQRlBJIAZQRlBGUEZQRlBGUEygBlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRzAWUEZQRlBGUEEgH6AWUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBJkBAAAAAAAAAAAAAAAAAADUBdQF1AU8BWMEzQRjBGMEYwQ8BTwFPAVjBOsE6wRvBYIEYwRjBGMEYwRjBGMEYwQ7BWMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGME8QRjBGMEYwRjBGMEPQU+BWMEYwRjBG4FcAX7BPoE+QT4BF0F3gT2BO8E8wQ3BTgFNgU6BT4FPQVjBPIEGgUoBRkFYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwQiBScFLQUmBSMFHAUbBR0FHgVjBHgEqQRjBGMEYwRjBIEFgAVjBGMEggQfBSAFKgUpBXYFqAWnBWMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwSCBH4EFAUTBYoFfgTlBGMEfAXNBMQEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRzBXEFYwRLBWMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBMkEYwRjBGMEYwRjBGMEYwRjBGMEYwSiBWMEWAW3BMkEyQTJBMkEywS4BLYEwwSCBGoEzAX1BOAE4ATJBfUE9QTJBZAEtgWNBOsE6wTrBOAEOQXKBMMEYwTMBdIE0gTLBcsF0gT+BAQFrAT1BLIEsgSyBLIE0gR1BPUE9QT+BAQFrASsBPUE0gR1BFwFxgXSBHUERAXSBHUE0gR1BEQFqgSqBKoEnwREBaoEkASqBJ8EqgSqBEQFSAVIBUQF5ATfBOQE3wTkBN8E5ATfBNIE5QSJBWME8ATlBD8F0gRjBPAE7gTsBPUEewSiBKUFpQWhBaEFoQXRBdEFfAWxBYIEggSCBIIEsQWSBJIEggSCBIIEggSxBWMEYwRjBGMEYwRjBKwFYwRNBdYEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwQJBWMEZgR5BWMEYwR3BWMEYwRjBGMEYwRjBNcEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEyAVjBGMEYwRjBGMEYwRbBVoFYwRjBNQEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwTtBGMEiAVjBGMEYwRjBGMEYwRjBJYF5gRjBGMEvwVjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEugW6BAsFYwQKBQ4FYwRvBGMEAAAAAAAAAAAAAAAAAACfAP8AnwD9AJ4A/wCgAP0AoQAAAKEA/wChAP8AoQD/AKAA/gCgAP4AoAD+AKAA/QCgAPsApQD6AKcA/wCpAAAAqQD9AKgA/wCoAAAApgD7AKYA/gCtAAAArQD+AK8A/gCxAAAAsQD8ALEA+gCyAP4AtgAAALcA/gC3APwAtwD8ALcA/AC3APwAtwD9ALcA/QC3APsAtwD+ALcA/AC3APwAtwD/ALcA/gC8AAAAvAD/AL4AAAC+AP4AwAD+AMAA/QDAAP0AwAD9AMEA/gDBAP4AwQD/AMEA/wDBAP4AvwD9AL8A/gDCAAAAwgD+AMIA/gCsAAAAxAD/AMUA/gDFAPkAxQD7AMUA+wDFAPYAyAAAALoAAAC6AP0AyQAAAMkA/gDKAP8AygD/AKAA/ADMAP4AzAAAAKAA9wCgAPwAoAD/AK4A/QCuAPwArgD/AM4A/QDRAP8A0QD+ANEA/wDPAPcAzwD2ANsA/ADbAPsA0gD/ANIA/wDSAAAA3QAAANMA+wDTAP0A0wD7AN4A/gDeAAAA1AAAANQA/gDgAP4A4AAAAN8A+QDfAPcA3wD5AN8A+QCqAAAAqgD+AM0A/wDNAP0A5gD/AOYA/QDmAPsA5gD9AOEA/wDhAP4A4QD9AOEA/ADjAP4A4wAAAOIAAADiAP0A4gD+AOQA/ADkAAAA2AAAANgA/QDGAPwAxgD+ALsA/wC7AP8AuwAAANYAAADWAP0A1wAAANcA/gDZAAAA2QD+ANkA/ADZAPwAoAD6ANUAAADVAP4AoAD4AOkA+wDpAPkA6QD9AOkA+wCgAPkAoAD5AOwAAADsAPUA7AD4AOwA/ADqAP4A6gD/AOsAAADrAP0A5wD9AOcA/wC5AP0AuQD/ALkA/wC5AP0AuQD7ALgA/wC4AP8AuAD/ALkA/wC5AP0AuQD6ALkA+wC5APwAuQD6ALkA+wC4AP8AuQD7ALkA/QC5AP0AuQD9ALkA/QC5AP0AuQD9ALkA/QC5AP0A7gD+ALkA/QC5APsAuQD+ALkA/QC5AP0AuQD8ALkA/gC5AP4AuQD+AO8A/wDvAP4AuQD7APAA/wDwAP4AuQD7ALkA/QC5APsAuQD7ALkA/AC5APsA8wD7APMA/AD0AP4A9AAAAPIA/wDyAAAA5QAAANwA/QDcAP8A8QAAAPEA/QCgAPQA9QD/APUAAAC9AAAAvQD9AMcA+wDHAP0A9gAAAPYA/gCgAPwAoAD/AKAA/gCgAP0AoAD7AKAA+gCgAPsAoAD6ALQA/gC1AP4AoAD7APgA9QD6AP8A+gD+APoAAAD7AP8A+wD/APsA/QD9AAAA/QD+APkA/QD5AP4A/wD9AAAB/QAAAf4A/gD4AP4A+AD+APoA/gD9ALkA/AC5APoAywD/AMsA/wDLAP8AoAD8AKAA+gCgAP0AAgEAAAIB/gCgAP8AoAD9AKAA/wCgAP0AoAD6AKAA+QADAf8AoAD4AKAA/wCgAPwABQH4AAcBAAAIAf8ACAH9AAkB/wDoAP4A6AD9ANAA+gDQAPgACwH/AAsB/QAMAf0ADQH7AA8B/QAPAQAADgEAAA4B/gAOAfsAEQH/ABEB/wATAf8AEwH+ABQB/wAUAf4AEgH+ABIB/gASAf4A2gD+AO0A/QDtAP0AEAEAABAB+wCbAP8AnAD+AJwA/wCdAP8AnQD+AJ0A/gCiAAAAogD/AKIA/gCkAP8ApAAAAKAA/gCrAPwAqwD+AKMA/wCjAP8AowD/ALEA/wCyAP8AswD/ALMA/wCwAP4AsAAAALcA/gCsAP4AwwD9AMMA/wDEAAAAyAD/AMoA/wDOAP8AzwD/AN0A/gDeAP8AuQD/AO4A/wDlAP8A9wD/APcA/wD3AP8A9wD/APcA/wC0AP8A/AAAAPwA/QD/AP8AAAEAAAEB/wABAQAABAEAAAQB/wAGAf8ABgH9AAcB/gAKAQAACgH8AAoB/gDoAAAAAAAAAEkAAAAkAAoAWgAAADQACQCBAAAAWgABAFMAAABOAAAACwALAAUAAgBGAAAAdQAAAG3/qwAHAaD/ZgFw/2v/mv98AGT/nv8xAZEBx//RABP/9QCi/7H/vQB3AeoB7QF6AS8BGwIeAvUB9wEqAp8BDgIiAi0CSwJRAlMCFv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv/O/08B1gF5ApACkgKUAqMCrQK/AtcC6wLuAvAC8gICAxQDFgMZAxsDHQMgAyIDJAMmAy0DNAM9A0EDRANGA0sDTQNPA1EDaQN7A30DlAOWA5kDqAOtA7ADvAPBAxb/Fv8W/xb/Fv8W/xb/Fv8W/88BXwJQ/w4Adf9XAHf/MgOdAzIDnQOCAxb/Fv8W/xb/Wv9a/1r/fv99/67/yv9M/2wBKQABAv0B/QF1APQBFQMcA4YCwAAjAYQCHgN4ACcDHwKPA5gDjAKcA5oD6AC6AiEDywMnANwA2wK6AYYDOf/TA9X/pQGAA64DXQJI/4L/mwCsABkBMAF5ARoCigKyArsC0wIjA0cDVQOXA98D+gMrBEQEtwNXBFgEWwRcBF0EXwRgBGEEYgRjBGQEZQT0A0gESQRoBGkEagRrBC4EbwRxBIAENQSBBIMEWgSEBDABhgSUBJUElgSXBJgEQQRDBG0ESgRmBHMEdAQuBG0EbQSSBIsEogRPBJAEcgR1BFYEkQSTBGwEmQSlBKoEnQSwBLQEjgR5BJoEowTQBHYEzwTRBH0EfgTWBJsEngS8BLUEwwTEBMUExgTqBPIExwTIBLYEuwTVBNcEzgT1BPgEqwStBAAFBAX0BAUFCQUKBQ0F+gQGBQcFCAUCBQ4FDAURBRQFEAUVBRoFGAXhBOIEHAX3BPsE+QT8BP8EAQUDBRYFNgUbBdsE8wQmBSoFFwVbBRMFMAU0BTwFPgVoBW8FeAV7BX8FgAWBBR8FIAUeBX0FegWEBYkFjAV+BXEFcwWNBY4FjwWQBYcFAAAAAAAAAAAAAAAAydcAAAAAAgDQ1wAAAAAEAAAAAAAAAAAAAAAAAAAAAAC/1wAAAQAAAMLXAAACAAAAxdcAAAYAAACIsQAAgAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAaQABAy8BCABGAAIAYQECAS8BCABGAAEAqwAAAFEBAQAAAAAAAAAAAAAAAAACAAEAaQABBBIBAABFAAIAawAHAAAAAAAAAAAAAAAAAFMBAAAwAQQAagADAFEDAQBFAAAAagADAAsAAwAAAAAAQtoAAAEAAACO2gAAAQAAAJTaAAACAAAAndoAAAMAAACm2gAAAgAAAK7aAAADAAAAttoAAAAAAAC92gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCgkJCAgHBwcGBgYFBQUEBAQEAwMDAwMDAgICAgICAoy6AABAAAAAJ6IAAEIAAAAwogAAQQAAAHreAABDAAAAMwACAHkAAABmAAIAegAAAHUAAAAAAAAAAAAAAAAAAABuYXR1cmFsZWZ0b3V0ZXJpZ2h0ZnVsbGlubmVyY3Jvc3MAAAAAAAAAAAAAAAAAAAAABwQGBCgKBSAOBTATBDgXBQEcBQMAAAAAAAAAAAAAAFQcAQAZ5wAAH+cAACTnAAAp5wAAAAAAAAAAAAAAAAAAAAAAAQEBABAAAQABAQEDAwEBAxIDAQkJCQkJCQkJCQkBAQEBAQEBAQEjCyYmAQEDAwMDAwsLCwsLCwEBAQEAAAAAAgIIABAQEBAAEBAAABAQAAACAgIAABIgAAAmJiYmJiYmJiYmABIQEBAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAEAAABAQAABAQAAAQEAAAAAAAAAAGEAAEGgAAAAAAAAAAAAAAAAAQEAAAAAAAAACgAAAAbQAAAB8ABQFaAAABUQEAAEUAAAAAAAAAAAAAAOoDAAAAQAAA6wMAAAAABADsAwAAAABAAO0DAAAAAAEA7gMAAAAIAADvAwAAAACAAPADAAAAAAAB8QMAAAAAAALyAwAAAAAAEAAAAAAAAAAAAMqaOwDKmjvQBwAA6AMAAPQBAACAsuYOfwAAAAoAAABQwwAA5wMAAOgDAAAAAAAA+gsBAKUAAAAEDAEApgAAABIMAQCnAAAAHwwBAKgAAACD6gAAAAAAAEEAAAAAAAAAsgsBAAAAAABCAAAAAAAAALwLAQAAAAAAQwAAAAAAAABq6gAARgAAAFgAAABFAAAAYwoBAEcAAABZAAAARgAAAGPqAABIAAAAWgAAAEcAAADp6wAAAQAAAAAAAACpAAAA7usAAP////8AAAAAqgAAAPnrAAABAAAAAAAAAKsAAAD56wAAAgAAAAAAAACrAAAAC+wAAP////8AAAAArAAAABjsAAD/////AAAAAK0AAAAk7AAA/////wAAAACuAAAAMOwAAAIAAAAAAAAArwAAADvsAAABAAAAAAAAALAAAABG7AAA/////wAAAACpAAAAUuwAAP////8AAAAAsQAAAF/sAAD/////AQAAAK0AAABo7AAAAQAAAAAAAACyAAAAaOwAAAIAAAAAAAAAsgAAAHLsAAABAAAAAAAAALMAAADA6wAAAQAAALQAAABbAAAAXAAAANHrAAACAAAAtQAAAF0AAABeAAAAAAAAAAAAAADzogAAFMIAABnCAADcogAA5KIAAOmiAAAF6wAAC+sAAAAAAAAAAAAAYnRuAGZyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJjxAADN8QAA+vEAAC7yAABk8gAAkfIAAMvyAAAC8wAAAAAAAErxAAB18QAAZO4AAKHuAAAAAAAAAAAAAAAAAACD6gAAtgAAAIvqAAC3AAAAf70AALgAAACT6gAAuQAAAOcAAQATAQEAVwEBAHMBAQCQAQEAqwEBAMcBAQDgAQEAXvgAAKb6AACf+AAAbPoAAHr7AADz+gAA+AEBABz4AABV+QAA4/gAAMAAAQAsAgEAWAIBADn8AADy9wAAGQABAFQcAQBUHAEAHvkAANX8AACT/QAAtv4AAB3/AADf/wAACv4AAFT/AAB1/gAAo/8AAGP9AACA+QAA6vkAADP6AAA5AwEAAgAEADwDAQADAQMAQAMBAAMBAgBEAwEABAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAA////////APwBAAD4AQAA+DAAAAAH6AAABmwBAC/sAQAHrAIAAdACAAPYAgAB7AIAAfwCAAFcAwAB3AMABAgLAA5ICwAHlAsAAbQLAIG8CwAB1A0AAfgNAAIQDgABHA4AAdgPAAgIEgAGaBUAAiQWAAE8FgA3RBYAAswXAAUAGAAWGBgAAngYABUsGQAEqBkAAcAZAAFQGwAPWBsAB5wbAAL0GwAOABwAATwcAAFEHAAbwBwAC5geAAmsHwAE2B8ABFggAAlsIAADlCAABaQgAA/AIAADZCEAAXghABuQIwAEACQAA+gkABL4JAAHRCUABIglAAHAJQADBCYAAfAmAAf4JgACHCcAAywnAAFcJwACiCcAAsgnAALoJwADBCgAAfAoAAX4KAACHCkAAywpAAFEKQACwCkAAdQpAAMEKgAB8CoACPgqAAMcKwADLCsAAogrAALAKwADBCwAAfAsAAf4LAACHC0AAywtAAJYLQACiC0AAcAtAAEILgAF+C4AAxgvAAQoLwABXC8ACMwvAAMEMAAH+DAAAxgxAAQoMQACVDEAAogxAAH8MQACCDIAAfAyAAf4MgADGDMABCgzAAJUMwACiDMAAgg0AAf4NAADGDUABCg1AAFcNQACiDUAAeQ1AAIINgABKDcABjw3AAFYNwAIYDcAA8g3AAHEOAAH0DgAAfw4AAkcOQACaDkAAcQ6AAbQOgAC7DoABiA7AB8EPAAM0DwAF8Q9AAs0PgAkZD4AD/g+AA04PwAUrEAABihBAARYQQADeEEAA4hBAAecQQAExEEADAhCAAE8QgAGaEIAAexDAAx0TQAKQE4AAQBQAAK0WQABAFoAAmxaAAOsWwADSFwABchcAAJIXQACyF0AI9BeAARgXwABdF8ADwBgAAGkYgAMgGQADMBkAAEAZQACEGUAEcBmAAIgZwAieGcABVxoAAJ4aAAKVGkAHYBpAAH8aQAHgGoABqBqAAUAbAAR0GwAI2htAAMAbgANhG4ADphvAATwbwAUkHAABexwAAL4cQAIAHMAGUBzAAG0cwADyHMAJwB3AATwdwAB9H4AA/x+AAM0fwADdH8AA7R/AAL0fwBlAIAABqiBAAXogQAFKIIAGoCCACFAgwACAIQABAyEAAIghAABUIQAA1iEAAZ4hAABlIQAAZyEAAGkhAABuIQAAuiEAAUAhQAEKIUAATyFAGRChgAnAJAACwCRAE5wkgAAApQAdQScALlTngAKQK0ABpSzAAO8swAE5LMAAvizAAHAtQAB/LUAT4C3AAzAuAAaALoAWWy6ANYAvAAMwL8ABQDAABkgwAAHqMAAAtjAAAP0wAAEZMIAAYDCAAHswwACQMYACljGACQAxwAfAMgAHqjIAAFAyQAggMkAJyjKAD8AywAAAcwAQAA3ATdAkgIC+JMCAzSYAhC8mQIBfJoCCMCbAhcAnAICgJwCAiSeAgEIoAIBGKACASygAgmMoAIE2KACBNChAgIAogIR0KICAjijAhKAowID4KMCCpikAg0cpQIBfKUCBACmAhvMpgICeKcCDqSoAgEMqQICMKkCBHCpAgPcqQIB7KkCAcCqAgPIqgIC3KoCAviqAgEEqwICeKsCB6yrAgLUqwILjK8CAQBgAwL8bQMC/G8DAfx/AwF47AMBpOwDEMjuAwL49AMC8PcDGgD4AweA+AMjwPgDE1D5AwSg+QMB/PsDDwT8Awdo/AMG7PwDC2z9AweA/wMHoP8DBeT/AwMABAQJ3AQEEeQFBAxABgQuQAcEAXwOBAFADwQBXCEEAXwkBAH8JAQDBCgEAhQoBAQwKAQD4CgEAfwoBAlAKQQB/CkEB+QsBAMAQAQW4EAEAwBCBBLAQgQDAEQEDpxEBAQARQQDAEYEDsxGBAQURwQNrFoEBMCRBC5EvQUEPL4F9gBABycARAe1pEQHRgBIB1cATAcBBFsHAWxbBwHsWwcBVFwHAdRcBwE8XQcBvF0HASReBwGkXgcBDF8HAsC7BywAwAdkwMAHD4DCBw7EwgcPBMMHD0TDBx9AxAc8wMQHK8DFBx2YxwcrQMgHCQDJBwJAyQchAMwHBsDMB0bczAcUAM4HJYDOBwUYzwcRgM8HPwDQBwEA0Qe2CNEHBOTTBz4A1AcEANUHGEDVB0bs1wcLFNkHRgDaB3QA3AcBBAA4YIAAOPAABDgAAAAAAAAAAAEAAgAIAA8AEAAaABwAIAAlACYAKAAwAD8AQABFAEcATwBQAHQAygDLAM0AzgDPANEA0gDTANUA1gDZANoA2wAHA2AcKCorKrxa2Fr8dcHV4dXi1eTVA9YJ1hnWQd+630Hio+L74xrx9P49/13/fv+A/4L/h/+Q/5z/n/+q/7b/wP/E/8b/yP/K/9D/4v/n/+r/8f/3//j/+f8AAAAAAAAAAAUHOAdDB2MHiAeUB8sH6Af4BwwIPgh4CJ4I2AjuCCgJTwmoCbgJ1AkkCmwKrAreChoLTguKC6gLuAvUCwgNgA1wDoAOkA6gDjgPSA9YD4APqA/IDwoQKhBKEGoQihCqEMgQ2BD4EDgRSBF4EZgRBBg2GHgYiBjYGB0ZaRmBGQjwHPBe8JjwyvD48AjxHvFY8WjxjPG48drx/PEu8qryyvL48grzXvOc8+rzDvRI9Fr0ePSM9LD0uPTA9Mj0CvXM9Ur2avYq9573AAAAAAAAAGFjZWlub3V5eWFjZGVlZ2hpamtsbm9yc3R1dXd5em91YWlvdWdrb2pnbmFlaW9ydXN0aGFlb3kAAAAAAAAAAGFiZGRlZmdoaGlrbGxtbnBycnN0dXZ3d3h5emh0d3lhZWlvdXkAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAEBAQABAQEAAQEBAQEAAQEBAQEAAQEBAgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAQQAOGrUAQAHAAA4X2AAOBwABATAyAQEGOQEBEEoBAS54AXQBeQEBBn8BaAGBATIBggEBBIYBLAGHAQABiQEqAosBAAGOASABjwEmAZABKAGRAQABkwEqAZQBLgGWATQBlwEwAZgBAAGcATQBnQE2AZ8BOAGgAQEGpgE8AacBAAGpATwBrAEAAa4BPAGvAQABsQE6ArMBAQS3AT4BuAEAAbwBAAHEAQIBxQEAAccBAgHIAQABygECAcsBARLeAQES8QECAfIBAQT2AXoB9wGGAfgBASggAm4BIgIBEjoCRgE7AgABPQJsAT4CRAFBAgABQwJqAUQCHAFFAh4BRgIBCkUDJAFwAwEEdgMAAYYDEgGIAxADjAMaAY4DGAKRAw4RowMOCcIDAAHPAwQB0AOMAdEDjgHVA5IB1gOQAdgDARjwA4gB8QOKAfQDggH1A4AB9wMAAfkDmAH6AwAB/QNuAwAEIhAQBA4gYAQBIooEATbABAYBwQQBDtAEAVgxBRYmoBBCJscQQgHNEEIBAB4BlpsehAGeHmABoB4BYAgflggYH5YGKB+WCDgflghIH5YGWR+XCGgflgiIH5YImB+WCKgflgi4H5YCuh9+ArwflAG+H2QByB98BMwflAHYH5YC2h94AugflgLqH3YC7B+YAfgfcAL6H3IC/B+UASYhYgEqIVwBKyFeATIhDAFgIQgQgyEAAbYkChoALBYvYCwAAWIsWAFjLGYBZCxaAWcsAQZtLFQBbixWAW8sUAFwLFIBciwAAXUsAAF+LE4CgCwBZOssAQTyLAABQKYBLoCmARgipwEOMqcBPnmnAQR9p0wBfqcBCounAAGNp0oBkKcBBKCnAQqqp0gBIf8OGgAAAAAAAL8F2QbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbjBuUGAAAAAAAAAAAAAAAAAAAAACAAIQAkACUAKAApACoAKwAsAC0ALgAwADoAPAA/AEEAWwBcAF0AXgBfAGAAYQB7AHwAfQB+AH8AoAChAKIApgCnAKgAqQCqAKsArACtAK4ArwCwALEAsgC0ALUAtgC4ALkAugC7ALwAvwDAANcA2ADfAPcA+AAAATgBOQFJAUoBeQF/AYEBgwGEAYcBigGMAY4BkgGTAZUBlgGZAZwBngGfAaEBogGnAasBrAGvAbIBtAG1AbgBugG7AbwBvgHAAcQBxQHGAccByAHJAcoBywHMAc0B3QHeAfAB8QHyAfMB9AH3AfkB+gE0AjoCPAI9Aj8CQQJEAkcCSAJQApQClQKwAsICxgLSAuAC5QLsAu0C7gLvAgADcAN0A3UDdgN6A3sDfgOEA4YDhwOIA4wDjgOQA5EDowOsA88D0QPSA9UD2APwA/QD9gP3A/oD/AP9AzAEYASCBIMEiASKBMEEzwTQBDEFWQVaBWEFiQWKBY8FkQW+Bb8FwAXBBcMFxAXGBccF0AXwBfMFAAYGBgkGCwYMBg4GEAYbBh4GIAZABkEGSwZgBmoGbgZwBnEG1AbVBtYG3QbeBt8G5QbnBukG6gbuBvAG+gb9Bv8GAAcPBxAHEQcSBzAHTQemB7EHwAfKB+sH9Af2B/cH+gcACBYIGggbCCQIJQgoCCkIMAhACFkIXgigCKII5AgACQMJBAk6CTsJPAk9CT4JQQlJCU0JTglQCVEJWAliCWQJZglwCXEJcgl5CYEJggmFCY8JkwmqCbIJtgm8Cb0JvgnBCccJywnNCc4J1wncCd8J4gnmCfAJ8gn0CfoJ+wkBCgMKBQoPChMKKgoyCjUKOAo8Cj4KQQpHCksKUQpZCl4KZgpwCnIKdQqBCoMKhQqPCpMKqgqyCrUKvAq9Cr4KwQrHCskKywrNCtAK4AriCuYK8ArxCgELAgsFCw8LEwsqCzILNQs8Cz0LPgs/C0ALQQtHC0sLTQtWC1cLXAtfC2ILZgtwC3ELcguCC4MLhQuOC5ILmQucC54LowuoC64LvgvAC8ELxgvKC80L0AvXC+YL8AvzC/kL+gsBDAUMDgwSDCoMNQw9DD4MQQxGDEoMVQxYDGAMYgxmDHgMfwyCDIUMjgySDKoMtQy8DL0Mvgy/DMAMxgzHDMoMzAzVDN4M4AziDOYM8QwCDQUNDg0SDT0NPg1BDUYNSg1NDU4NVw1gDWINZg1wDXkNeg2CDYUNmg2zDb0NwA3KDc8N0g3WDdgN8g30DQEOMQ4yDjQOPw5ADkYORw5PDlAOWg6BDoQOhw6KDo0OlA6ZDqEOpQ6nDqoOrQ6xDrIOtA67Dr0OwA7GDsgO0A7cDgAPAQ8EDxMPFA8VDxgPGg8gDyoPNA81DzYPNw84DzkPOg87DzwPPQ8+D0APSQ9xD38PgA+FD4YPiA+ND5kPvg/GD8cPzg/QD9UP2Q8AECsQLRAxEDIQOBA5EDsQPRA/EEAQShBQEFYQWBBaEF4QYRBiEGUQZxBuEHEQdRCCEIMQhRCHEI0QjhCPEJAQmhCdEJ4QoBDHEM0Q0BD7EPwQ/RBKElASWBJaEmASihKQErISuBLAEsISyBLYEhITGBNdE2ATaROAE5AToBMAFAEUbRZvFoAWgRabFpwWoBbrFu4WABcOFxIXIBcyFzUXQBdSF2AXbhdyF4AXtBe2F7cXvhfGF8cXyRfUF9cX2BfbF9wX3RfgF/AXABgGGAcYCxgOGBAYIBhDGEQYgBipGKoYsBgAGSAZIxknGSkZMBkyGTMZORlAGUQZRhlQGXAZgBmwGcEZyBnQGdoZ3hkAGhcaGRoeGiAaVRpWGlcaWBpgGmEaYhpjGmUabRpzGn8agBqQGqAapxqoGgAbBBsFGzQbNRs2GzsbPBs9G0IbQxtFG1AbWhthG2sbdBuAG4IbgxuhG6IbphuoG6obqxusG64bsBu6G+Yb5xvoG+ob7RvuG+8b8hv8GwAcJBwsHDQcNhw7HEAcTRxQHFoceBx+HMAc0BzTHNQc4RziHOkc7RzuHPIc9Bz1HAAdLB1rHXgdeR2bHcAd/B0AHpYenh4AHwgfEB8YHyAfKB8wHzgfQB9IH1AfWR9bH10fXx9hH2gfcB+AH4gfkB+YH6AfqB+wH7YfuB+8H70fvh+/H8Ifxh/IH8wfzR/QH9Yf2B/dH+Af6B/tH/If9h/4H/wf/R8AIAsgECAWIBggGSAaIBsgHSAeIB8gICAoICkgKiAvIDAgOSA6IDsgPyBBIEQgRSBGIEcgUiBTIFQgVSBfIGAgaiBwIHEgdCB6IH0gfiB/IIAgiiCNII4gkCCgINAg3SDhIOIg5SAAIQIhAyEHIQghCiELIQ4hECETIRQhFSEWIRghGSEeISQhJSEmISchKCEpISohLiEvITAhNCE1ITkhOiE8IT4hQCFFIUchSiFLIUwhTiFPIVAhYCGDIYUhiSGQIZUhmiGcIaAhoSGjIaQhpiGnIa4hryHOIdAh0iHTIdQh1SH0IQAjCCMMIyAjIiMpIyojKyN8I30jmyO0I9wj4iMAJEAkYCScJOokACW3JbglwSXCJfglACZvJnAmASdoJ2knaidrJ2wnbSduJ28ncCdxJ3Incyd0J3UndieUJ8AnxSfGJ8cn5ifnJ+gn6SfqJ+sn7CftJ+4n7yfwJwAoACmDKYQphSmGKYcpiCmJKYopiymMKY0pjimPKZApkSmSKZMplCmVKZYplymYKZkp2CnZKdop2yncKfwp/Sn+KQArMCtFK0crUCsALDAsYCxjLGUsZyxuLHEscix0LHUsdyx8LH4sgSyCLOQs5SzrLO8s8iz5LP0s/iwALSctLS0wLW8tcC1/LYAtoC2oLbAtuC3ALcgt0C3YLeAtAC4CLgMuBC4FLgYuCS4KLgsuDC4NLg4uFy4YLhouGy4cLh0uHi4gLiEuIi4jLiQuJS4mLicuKC4pLiouLy4wLjougC6bLgAv8C8AMAEwBDAFMAYwBzAIMAkwCjALMAwwDTAOMA8wEDARMBIwFDAVMBYwFzAYMBkwGjAbMBwwHTAeMCAwITAqMC4wMDAxMDYwODA7MDwwPTA+MEEwmTCbMJ0wnzCgMKEw+zD8MP8wBTExMZAxkjGWMaAxwDHwMQAyIDIqMkgyUDJRMmAygDKKMrEywDIAMwA0tU3ATQBOzJ8AoBWgFqCQpNCk+KT+pAClDKYNphCmIKYqpkCmbqZvpnCmc6Z0pn6mf6aApp+moKbmpvCm8qYApxenIKcipzCnMqdwp3Gnead+p4iniaeLp5CnoKf4p/qn+6cCqAOoBqgHqAuoDKgjqCWoJ6goqDCoNqg4qDmoQKh0qICogqi0qMSozqjQqOCo8qj4qPuoAKkKqSapLqkwqUepUqlfqWCpgKmDqYSps6m0qbapuqm8qb2pwanPqdCp3qkAqimqL6oxqjOqNapAqkOqRKpMqk2qUKpcqmCqcKpxqneqeqp7qoCqsKqxqrKqtaq3qrmqvqrAqsGqwqrbqt2q3qrgquuq7KruqvCq8qrzqvWq9qoBqwmrEasgqyirwKvjq+Wr5qvoq+mr66vsq+2r8KsArKPXsNfL1wDYf9v/2//fAOD/+AD5cPoA+xP7Hfse+x/7Kfsq+zj7PvtA+0P7Rvuy+9P7Pv0//VD9kv3w/fz9/f0A/hD+F/4Y/hn+IP4w/jH+M/41/jb+N/44/jn+Ov47/jz+Pf4+/j/+QP5B/kL+Q/5E/kX+R/5I/kn+Tf5Q/lT+WP5Z/lr+W/5c/l3+Xv5f/mL+Y/5k/mj+af5q/nD+dv7//gH/BP8F/wj/Cf8K/wv/DP8N/w7/EP8a/xz/H/8h/zv/PP89/z7/P/9A/0H/W/9c/13/Xv9f/2D/Yf9i/2P/ZP9m/3D/cf+e/6D/wv/K/9L/2v/g/+L/4//k/+X/6P/p/+3/+f/8/wAADQAoADwAPwBQAIAAAAEHATcBQAF1AXkBigGQAdAB/QGAAqACAAMgAzADQQNCA0oDgAOfA6ADyAPQA9EDAAQoBFAEoAQACAgICgg3CDwIPwhXCFgIAAkWCR8JIAk/CYAJvgkACgEKBQoMChAKFQoZCjgKPwpAClAKYAp9Cn8KAAs5C0ALWAtgC3gLAAxgDgAQARACEAMQOBBHEFIQZhCAEIIQgxCwELMQtxC5ELsQvRC+ENAQ8BAAEQMRJxEsES0RNhFAEYARghGDEbMRthG/EcERxRHQEYAWqxasFq0WrhawFrYWtxbAFgAgACRwJAAwAGgAb1BvUW+Pb5NvALAA0ADRKdFl0WfRatFt0XPRe9GD0YXRjNGq0a7RANJC0kXSANNg0wDUGtQ01E7UVtRo1ILUnNSe1KLUpdSp1K7UttS71L3UxdTQ1OrUBNUH1Q3VFtUe1TjVO9VA1UbVStVS1WzVhtWg1brV1NXu1QjWItY81lbWcNaK1qjWwdbC1tvW3Nbi1vvW/NYV1xbXHNc11zbXT9dQ11bXb9dw14nXiteQ16nXqtfD18TXytfO1wDuBe4h7iTuJ+4p7jTuOe477kLuR+5J7kvuTe5R7lTuV+5Z7lvuXe5f7mHuZO5n7mzudO557n7ugO6L7qHupe6r7vDuAPAw8KDwsfDB8NHwAPEQ8TDxcPHm8RDyQPJQ8gDzMPM384DzoPPG8+DzAPRA9EL0+fQA9UD1UPX79UX2gPYA9wAA1qYApzS3QLcduAD4AQAgAAABAAD9/wAAAAAAAAEEPQB1ADcAdQA2ADIANQA5ADUAMQBVAE0BVQB5AFUASQM2ADUAMgA4ADAAOABFAzYAOQAyADkAIQQ9ADUAlwA6ADUAOAA6ACcANAA5ACIAOgA4ADoAOQBPADgAJQBVADgALwAnADMAbwA1AOkCOQDpAAUDOQAFAR4HJQAeAiUA/gXeAEUASQAlAH4AfgBJAEUAiQAlAEkAJQBpAGUASQAlAEkAJQC+AJ4AJQB+AH4ASQAlAH4AXgAlACcAXgBFAIcAKQAoACUAKQAoACUAKQAoACUAHgIlAF4CJQApACgAJQB+AEkAJQBeB8UASQAlAEkARQB+AGkAJQAeAYUIJwBlA0YCmACGAdgBpgD4ACYAOAAmADgCDA6eACYAOABeACYAZQA1AFgAKQA1AGkAKQBJACUAKQIpAWUEXgAlAGkAZQAeA4UAXgA5AH4AXgAlAGkGBQZeBDoArABLAP4G3gElAB4LyQQmANUA5QQ1ADEANwCsBTEALAA1AEwANQBMADUALABnA2cAVQCiAHkAVQA3AFUAWgBsATUAVQAHBCYARwGsAk0BlQBHACwAZww1ACcA7AAiADoAzABGAEwAOgCMAEcATQFnAFoAJwDVASIAJwAsAMcDbAMnC2wBJwBNAScELAFGADoAdQAmAMcCjAAmACwBJgBsACYArAD1AScDbAA1ACcAZwFsA2wAKgDHBiwAKgAsACcAagAMAYoALABKACcA7ABHAUwAVQBNATUAJgDHAOcALABKAAcBRwDHAucAJwCHACwAJwBqAIwASgBKACwAJwAqAEcAZwBMAE0BRwBXAM8AOgA3AEwAKgDHAEcAxwLnAEcARwBHACwAagBMAEwAbAAsAIcAJwBNAUwAZwAsAEwAKgAnAWcAxwLnAEcApwAsACcAagCsAEwAKgBKACwAJwBHAEwATQE1ADcALABKAAcBRwDHAucARwCnACwAJwAqACwAKgCMAEoASgAsACwAKgBHAGcATABNAToAJwDPACwAJwDHAGcAhwBHACcARwBHAGcAhwFKACwASgBqAGoALAAnACoATQFvANoANwA6AGoABwFnAOcCRwGnACcAbACKAGwAjABMAEcARwBMAE0B7wA6AEoABwFnAOcCRwGnACwAJwAqACwAqgAsAEoASgBMAEoAJwBHAEwATQFHAEoABwFnACcFJwBqAIwAagBqACwAJwAqAEcATABNAc8AOgDHAEoARwIHAycBJwDnACwAagBsACwACgFKADUABwYsAEcA7AA3AMcAJgAMATUATQFVAEcAJwBHACcAJwCHAOcAZwAnACcARwCHACwARwDMAEwAJwCnACYAzABNAYcAJwB6APUBOgA1AHoATADaAE0BTwE6ACwAOgAsADoALAA2ADIANgAyAEoABwGHBMwBKgCsADUATACnAGwBjAQaASwA2gBaALUAmgBVAGcFSgCMACoAzAAqAEwASgBMACcATQHVAMcASgBMAIcAbAAnAGoARwDqAGcAjACnASwASgBMAMoALAAnACoATQFqACwAWgDJBCkAKQBnBTUAJgCHKYcA5wAnAIcAJwWHACcEhwDnACcAhwDnAScHhwBnCGwANQGPAgcCWgGnCjEAh01VACcCPQBHAzYAMgBnCXUAbgCnAYcAbABHAmwAVQBHAkwApwFnAEwAhwZMACoA7AAKASwASgBsAXUAJgB1ADcAJwAsAE0BTwHVADEAlQBsAD0ATQFnBCYAhwYnBSwAJwDHCKcDbACKAEwAagBKACwAygBsADoAVQBNAccDpwCHBSoC5wBKAE0BLwBaBOcCTABqAFUApwYqACwAKgDsACwAKgAsAEoADAHKAEwBLABNAU0B9QAmANUAjAAqAOcFLAAqAKwAKgAsAKoALABKAOcATQH1AFoBLAE6AUwAKgDHAyoAjABKAEwAKgAsAEoARwBNAYcFLAAqAEwAagAsACoAbABKAJUAhwQKAQwBSgBMALUATQFnAE0BxwPGAFUAFQFsADUArAEqAOwAhwAsAIcASgAsAEcAhQXmB6UBJgBFBKYE7ASMAN4SBQFeDAUBCQHFAMkABQEJAQUBCQHFAMkABQEpACkAKQBeAOUACQHFAQUBCAEFAQgBBQEIAaUARQCJACgAOAAlAHgAZQBFAIkAKAB4AIUARQCJAHgABQGpAHgAZQBFAIkAKABYAH0BogDRAFUANAAzADYAVAAzADYANAAVATsAPACiAD0ANQE0ADMAlQBQAHUAOQA2ADIAdQE5ADUAMABVAT0AogDCAC8AJgDPAHkANgAyACYATwF5ADYAMgCmAVcDrAGLACwAawCMAVoAKQCaACkAWgAlAGkARQBpACUAOgApAFoAOQCpANoAKQA6ACkAOgApADoAiQA6ACUAiQAlAIcAJQBaAEUASQC5AF4AZQA6ADkAWgAlADoADwJuBF4AjgAvALkAugBZAJoAOQBaADkAWgA5APoAOQD6A1kAWgA5ADoAOQD6A5khGgGZAJoCWQD6ADYAMgA6CjkA2gM5AxoF2QBaAvoEegGPB9oJzwL6FjkAOgE5ANoGGQH6DTkAGhL6DDYAMgA2ADIANgAyADYAMgA2ADIANgAyADYAMgDPA5oFuQA2ADIA+QM2ADIANgAyADYAMgA2ADIANgAyABkCGiB5EDYAMgA2ADIANgAyADYAMgA2ADIANgAyADYAMgA2ADIANgAyADYAMgA2ADIA+Qc2ADIANgAyABkENgAyAFkgGga5AloA2QBaAekF5QV+AEkARQD+AGkAJQBeACUAXgClAEYAaQAlAF4MJQDaAJ4AbABeAJUALwBVAMUEJQAlAAcHJgA1ACwA5wLnAOcA5wDnAOcA5wDnAOcADARVADQAMwA0ADMAdQA0ADMANQA0ADMANQExAFUAMQA1ADQAMwBVADQAMwA2ADIANgAyADYAMgA2ADIAtQAmAFUBUQBaAzoL2hqaAT0AdQA6ACYAJwAuADYAMgA2ADIANgAyADYAMgA2ADIAWgA2ADIANgAyADYAMgA2ADIAMQA2AFIAOgAuAYwASgAxAKYAWgBuACYAJwA1AFoAxwpMAFgARgAnADEARws1AGYAJwAnBccLWgCPAFoBZwOaBAcC+gNPAdoDDwE6AO8BGgRPAfoE7wH6BxogJwAnABoIJwAnAKcCJgDnjvoGBwXGAFUAhyEmAHUABwJNAUcA3gUnACwAawA1AEwBNQAmAB4DLADHCE4BTADVAPgCJgFYAN4BRQDeByYABQG+AF4BJgBYAJ4AngB+AUYAJQDnACwAZwAsAIcALADnAkoATAAqAJoAzwBaADcAOgCHBpUASgBHBgoCLABVAE0BTALHAHUAJwBNAYcDDAFVAOcCbAFKADUApwNsACoA5wUsAEoAjABKACwAigC1ASYATQFVACcFzABKAEwASgBMAGcALAAHASwAKgBNAZUABwImAMcAegAnACoABwYsACcAbABHAEwApwBMACcALAAnAEcAJgBVAGcBKgBMAEoAVQAnAEYAKgAsAMcAxwDHAOcA5wBnBEoALABKACwASgA1ACoALABNAScAJwDnAicGJABEAEQAJAA/AD8Axy1HDeUApQAnACwARwE5AKcBpwAnAEcARwCHDRgCZy02ADIABwjHBocBNwA6AAwC9QA2ADIANQDsADUAUQBQADYAMgA2ADIANgAyADYAMgA2ADIANgAyADYAMgA2ADIAVQA2ADIAlQBwAHUAlQAxADYAMgA2ADIANgAyAHUAOQAxAHkANQA3AFUApwDnECIAdQA3AHUANgAyADUAOQA1ADEAVQBNAVUAeQBVAEkDNgA1ADIAOAAwADgARQM2ADkAMgA5ADYAMgA1ADYAMgBVAEcBJgCnBUYA5wPHAMcAxwBnAFcAOQA4ADoAVwA6AJkAWgBiAFoAhwFHA2cCRwDnAccBZw91AK8FOgGuBo8AOgIvAJoBugUsAKcDJwbnA48AJwIuAAcBLgDHAzUAhwQHATUArgAJBQUFxwlNAccAJwCHBUcAJwDnAjUADwHHAs8ANQBHAzUABwdHACcAbABMAIwAhwBnAGcDbAAsAA8BNQGnA08ANQDHBvUAxwIPAWcCDwEnCe8DKgAsACoApwbsAfUAjwJNAUwAKgCnBWoAjABKAEwAVQAiAJUAJwNNAWwAhwSsACoADAFNAZUATAAqAAcGagAsAUoAhwCVAE0BZwUsACoALABKAMwAKgAsAE0B521uDJUA54UnR6cIJwDKBYwApgFHANoe+gSaB0oAbAB6AMoAAgEMAVoA7ADaA4wAGgZaCGwAOgD6Ck8CSQNFA0kD5QBFAkkDRQMpAEkAKQBJAIkACQGFACUA5QBlAUkDRQNJAIkACQHpAEUDSQCJAKkAKQDpAEUDSQNFA0kDRQNJA0UDSQNFA0kDRQNJA4UDKQM5ACUDOQDFACkDOQAlAzkAxQApAzkAJQM5AMUAKQM5ACUDOQDFACkDOQAlAzkAxQBeAE0GhwBnA0cAJwAnAEcBhwAnACcAJwAnACcAJwBnAEcAJwAnACcAJwAnACcARwAnAIcA5wCHAIcAJwBHAScCZwCnACcCWQCaBZoM+gHaAfoB+gFvAfoDmgd6BboDegU6AVoAOgTaANoImgK6BLoAOgL6BzoA2haaANoHmgAaA9oIegHaCJoOJwAnACcAJwAnACcAx0MiAAIMDB4/AD8AAAAAAAAALCwsLCwsM00rDA5TUg4XFx8fR0pOUVZbBjU1PEBENVdcNV0AAAAAAAAAAAAAAAAAEBESExQWFhgYERITFAcWCRgREhMUCRYJGA0REhMUGhYYGBESExQPFgkYERITFBoWFRgGBwkJCgwMBgcVCRgZDBIFFA4WBRgDAQIDAQIDAAECAwsCAwsJCgUMFxgKCggJCQ8PCAkJGxsLGxsbGxsbGxsbGxsbGxsbGwAAAAAAAABQUFBQUFBfUFBpUG5uUG5uUFBQUFBbUFBQZWRQUFpnUFBoUAAAAAAAAAAAAAAAAABRFGAGHGNiGhoSYAYcEWI4GhNgBhwOYg4aH1xgBhxsYhkaFWAGHE5iOhodYAYca2IWGhgQDAsBDQ0YEBcLISINYQgbIGIHGgMEBQMEBQNTBAUDPwUDPgwCVg0JHgoKNjlLTk41OQ9SUkcAAAAAAAAAEP8U/BT9FP8U/hX+Ff8R/RH9Ef0R+xH9Ef8T/xP+Ev8S/Rb/Fv4W+xf/F/4ZABn+GPwY/hr/GgAAAAAAAAAAAPD4AAkRGS7v7yVDBAQIBBQbJgAAAAAAAAAAAAAAAAAA1hIBABoTAQC1EgEAwAABAF8TAQCHEwEAWAIBAK4TAQDVEwEA/xMBAJ4SAQAAAAAAVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AAAAAAAAAAAASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAAAAAAABAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAD+//9/AAAAALAEAABkAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAA+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7//3////9/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMTBAAADAAAAwMEAAAMAAABBAAAAQQAAAEEAAABCAAAAQwAAAEQAAABCAAAAAAAAAAEAAAAAAAAARQAAAFQAAABBAAAAQQAAAEYAAABCAAAAnwAAAEEAAABCAAAAVQAAAFYAAABHAAAASAAAAEkAAAABAAAARwAAAEIAAABDAAAARwAAAEoAAABLAAAATAAAAE0AAABOAAAASAAAAEgAAABJAAAAAAAAAEMAAABXAAAATwAAAEQAAABEAAAAAwAAAE0AAABCAAAAQwAAAEcAAABKAAAASwAAAFoAAABbAAAAXAAAAEgAAABIAAAASQAAAAAAAABDAAAAVwAAAE8AAABEAAAARAAAAAMAAABOAAAAQgAAAEMAAABHAAAASgAAAEsAAABdAAAAXgAAAF8AAABIAAAASAAAAEkAAABFAAAAQwAAAFcAAABPAAAARAAAAEQAAAD5ogAAAQAAAE8AAABGAAAARwAAAE8AAABgAAAAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQgAAAGIAAABQAAAAAAAAAGMAAABRAAAASAAAAFIAAABTAAAAUAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAABAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAvtYAAAAAAAABAAAAAQAAAAAAAAAAAAAAoQAAAAAAAAAAAAAAAAAAAGvWAAAAAAAAAgAAAAEAAAAAAAAAAAAAAKIAAAAAAAAAAAAAAAAAAABt1QAAAAAAAAIAAAABAAAAAAAAAAAAAACjAAAAAAAAAAAAAAAAAAAAY9UAAAAAAAABAAAAAQAAAAAAAAAAAAAApAAAAAAAAAAAAAAAAAAAAE/VAAAAAAAARNsAAEbbAACzugAAOQAAADkAAAA2AAAA6uAAAB/hAABS4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAwAAAEMAAABEAAAAZQAAAFQAAABVAAAAZgAAAFYAAABJAAAAVwAAAFgAAABRAAAAZwAAAEUAAABZAAAAWgAAAFsAAABcAAAASgAAAGgAAABpAAAAagAAAGsAAABdAAAAAgAAAEgAAABJAAAAbAAAAF4AAABfAAAAbQAAAGAAAABLAAAAYQAAAGIAAABSAAAAbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEoAAABKAAAAbwAAAGMAAABjAAAAcAAAAGQAAABMAAAAZQAAAGYAAABTAAAAcQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQAAABnAAAASQAAAGgAAABLAAAAAAAAAAAAAABVAAAAaQAAAEoAAABqAAAATAAAAAAAAAAAAAAAVgAAAGsAAABLAAAAbAAAAE0AAAAAAAAAAwAAAE4AAABPAAAAcgAAAG0AAABuAAAAcwAAAG8AAABNAAAAcAAAAHEAAABXAAAAdAAAAEwAAAByAAAAcwAAAHQAAAB1AAAATgAAAHUAAAB2AAAAdwAAAHgAAAB2AAAAAAAAAFAAAABQAAAAeQAAAHcAAAB3AAAAegAAAHgAAABPAAAAeQAAAHoAAABYAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAFEAAABSAAAAfAAAAHsAAAB8AAAAfQAAAH0AAABQAAAAfgAAAH8AAABZAAAAfgAAAE0AAACAAAAAgQAAAIEAAACBAAAAAAAAAH8AAACAAAAAAAAAAAAAAACCAAAAAAAAAAAAAABTAAAAgQAAAIMAAAAAAAAAggAAAIQAAABRAAAAhQAAAIYAAABaAAAAgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTAAAAgQAAAIMAAAAAAAAAhAAAAIQAAABRAAAAhQAAAIYAAABaAAAAgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3/UAABX2AADtCQEAFQoBADgKAQACAAAAhwAAAIgAAACFAAAAWwAAAFIAAACJAAAAhgAAAIcAAABTAAAAigAAAE4AAABcAAAATwAAAF0AAACIAAAAVAAAAEIAAABQAAAAugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/BsBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAA4AGAAfADsADycQAAICIQAgAB4AHAAaABAQAhBhY29zAGFzaW4AYXRhbgBhdG4yAGF0YW4yAGFjb3NoAGFzaW5oAGF0YW5oAGRpZmZlcmVuY2UAZGVncmVlcwByYWRpYW5zAGNvcwBzaW4AdGFuAGNvdABjb3NoAHNpbmgAdGFuaABjb3RoAGV4cABsb2cxMABwb3dlcgBzaWduAHNxcnQAc3F1YXJlAGNlaWwAZmxvb3IAcGkAcmVwbGljYXRlAGNoYXJpbmRleABsZWZ0c3RyAHJpZ2h0c3RyAHJldmVyc2UAcHJvcGVyAHBhZGwAcGFkcgBwYWRjAHN0cmZpbHRlcgBzdGRldgB2YXJpYW5jZQBtZWRpYW4AbG93ZXJfcXVhcnRpbGUAdXBwZXJfcXVhcnRpbGUAYXJnYz09MQBjL2V4dGVuc2lvbi1mdW5jdGlvbnMuYwBhY29zRnVuYwBhc2luRnVuYwBhdGFuRnVuYwBhcmdjPT0yAGF0bjJGdW5jAGFjb3NoRnVuYwBhc2luaEZ1bmMAYXRhbmhGdW5jAGRpZmZlcmVuY2VGdW5jAD8wMDAAcmFkMmRlZ0Z1bmMAZGVnMnJhZEZ1bmMAY29zRnVuYwBzaW5GdW5jAHRhbkZ1bmMAY290RnVuYwBjb3NoRnVuYwBzaW5oRnVuYwB0YW5oRnVuYwBjb3RoRnVuYwBleHBGdW5jAGxvZ0Z1bmMAbG9nMTBGdW5jAHBvd2VyRnVuYwBzaWduRnVuYwBzcXJ0RnVuYwBzcXVhcmVGdW5jAGNlaWxGdW5jAGZsb29yRnVuYwBkb21haW4gZXJyb3IAYXJnYz09MyB8fGFyZ2M9PTIAY2hhcmluZGV4RnVuYwBsZWZ0RnVuYwByaWdodEZ1bmMAMT09YXJnYwByZXZlcnNlRnVuYwBwcm9wZXJGdW5jAHBhZGxGdW5jAHBhZHJGdW5jAHBhZGNGdW5jAHN0cmZpbHRlckZ1bmMAdmFyaWFuY2VTdGVwAG1vZGVTdGVwADMuMjYuMAAlcyBhdCBsaW5lICVkIG9mIFslLjEwc10AbWlzdXNlADIwMTgtMTItMDEgMTI6MzQ6NTUgYmY4YzFiMmI3YTU5NjBjMjgyZTU0M2I5YzI5MzY4NmRjY2ZmMjcyNTEyZDA4ODY1ZjQ2MDBmYjU4MjM4YjRmOQAlAHRoc3RuZHJkAC14MABYMABOVUxMAChOVUxMKQAuAE5hTgB1bml4AHVuaXgtbm9uZQB1bml4LWRvdGZpbGUAdW5peC1leGNsAG9zX3VuaXguYzolZDogKCVkKSAlcyglcykgLSAlcwBjbG9zZQBvcGVuAGFjY2VzcwBnZXRjd2QAc3RhdABmc3RhdABmdHJ1bmNhdGUAZmNudGwAcmVhZABwcmVhZABwcmVhZDY0AHdyaXRlAHB3cml0ZQBwd3JpdGU2NABmY2htb2QAZmFsbG9jYXRlAHVubGluawBvcGVuRGlyZWN0b3J5AG1rZGlyAHJtZGlyAGZjaG93bgBnZXRldWlkAG1tYXAAbXVubWFwAG1yZW1hcABnZXRwYWdlc2l6ZQByZWFkbGluawBsc3RhdABpb2N0bAAlcwBhdHRlbXB0IHRvIG9wZW4gIiVzIiBhcyBmaWxlIGRlc2NyaXB0b3IgJWQAL2Rldi9udWxsAGNhbm5vdCBvcGVuIGZpbGUAU1FMSVRFX1RNUERJUgBUTVBESVIAJXMvZXRpbHFzXyVsbHglYwAvdmFyL3RtcAAvdXNyL3RtcAAvdG1wAGZ1bGxfZnN5bmMAL2Rldi91cmFuZG9tAGZzeW5jAG1vZGVvZgBwc293ACVzLmxvY2sAY2Fubm90IGZzdGF0IGRiIGZpbGUgJXMAZmlsZSB1bmxpbmtlZCB3aGlsZSBvcGVuOiAlcwBtdWx0aXBsZSBsaW5rcyB0byBmaWxlOiAlcwBmaWxlIHJlbmFtZWQgd2hpbGUgb3BlbjogJXMAJXMtc2htAHJlYWRvbmx5X3NobQABAAAAAQEDAnNxbGl0ZV9jb21waWxlb3B0aW9uX3VzZWQAc3FsaXRlX2NvbXBpbGVvcHRpb25fZ2V0AHVubGlrZWx5AGxpa2VsaWhvb2QAbGlrZWx5AGx0cmltAHJ0cmltAHRyaW0AbWluAG1heAB0eXBlb2YAbGVuZ3RoAGluc3RyAHByaW50ZgB1bmljb2RlAGNoYXIAYWJzAHJvdW5kAHVwcGVyAGxvd2VyAGhleABpZm51bGwAcmFuZG9tAHJhbmRvbWJsb2IAbnVsbGlmAHNxbGl0ZV92ZXJzaW9uAHNxbGl0ZV9zb3VyY2VfaWQAc3FsaXRlX2xvZwBxdW90ZQBsYXN0X2luc2VydF9yb3dpZABjaGFuZ2VzAHRvdGFsX2NoYW5nZXMAcmVwbGFjZQB6ZXJvYmxvYgBzdWJzdHIAc3VtAHRvdGFsAGF2ZwBjb3VudABncm91cF9jb25jYXQAKj9bAGdsb2IAJV8AAWxpa2UAY29hbGVzY2UATElLRSBvciBHTE9CIHBhdHRlcm4gdG9vIGNvbXBsZXgARVNDQVBFIGV4cHJlc3Npb24gbXVzdCBiZSBhIHNpbmdsZSBjaGFyYWN0ZXIAc3RyaW5nIG9yIGJsb2IgdG9vIGJpZwAsADkyMjMzNzIwMzY4NTQ3NzU4MABpbnRlZ2VyIG92ZXJmbG93ACUhLjE1ZwAlIS4yMGUAJS4qZgBpbnRlZ2VyAHJlYWwAdGV4dABibG9iAG51bGwAASAAQ09NUElMRVI9Y2xhbmctNi4wLjEARElTQUJMRV9MRlMARU5BQkxFX0ZUUzMARU5BQkxFX0ZUUzNfUEFSRU5USEVTSVMARU5BQkxFX0ZUUzQARU5BQkxFX0ZUUzUARU5BQkxFX0pTT04xAEVOQUJMRV9SVFJFRQBPTUlUX0xPQURfRVhURU5TSU9OAFRIUkVBRFNBRkU9MABTUUxJVEVfAGp1bGlhbmRheQBkYXRlAHRpbWUAZGF0ZXRpbWUAc3RyZnRpbWUAY3VycmVudF90aW1lAGN1cnJlbnRfdGltZXN0YW1wAGN1cnJlbnRfZGF0ZQAlMDJkACUwNi4zZgAlMDNkACUuMTZnACVsbGQAJTA0ZAA0MGYtMjFhLTIxZABub3cAbm9uLWRldGVybWluaXN0aWMgZnVuY3Rpb24gaW4gaW5kZXggZXhwcmVzc2lvbiBvciBDSEVDSyBjb25zdHJhaW50AGxvY2FsdGltZQB1bml4ZXBvY2gAdXRjAHdlZWtkYXkgAHN0YXJ0IG9mIABtb250aAB5ZWFyAGRheQBzZWNvbmQAbWludXRlAGhvdXIAbG9jYWwgdGltZSB1bmF2YWlsYWJsZQAyMGM6MjBlADIwZQAyMGI6MjBlACUwNGQtJTAyZC0lMDJkICUwMmQ6JTAyZDolMDJkACUwMmQ6JTAyZDolMDJkACUwNGQtJTAyZC0lMDJkAHJvd19udW1iZXIAZGVuc2VfcmFuawByYW5rAHBlcmNlbnRfcmFuawBjdW1lX2Rpc3QAbnRpbGUAbGFzdF92YWx1ZQBudGhfdmFsdWUAZmlyc3RfdmFsdWUAbGVhZABsYWcAYXJndW1lbnQgb2YgbnRpbGUgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIAc3FsaXRlX3JlbmFtZV9jb2x1bW4Ac3FsaXRlX3JlbmFtZV90YWJsZQBzcWxpdGVfcmVuYW1lX3Rlc3QAbWFpbgBkYXRhYmFzZSBjb3JydXB0aW9uAGVycm9yIGluICVzICVzJXM6ICVzACBhZnRlciByZW5hbWUARk9SRUlHTiBLRVkgY29uc3RyYWludCBmYWlsZWQAJXMtbWpYWFhYWFg5WFh6AE1KIGNvbGxpZGU6ICVzAE1KIGRlbGV0ZTogJXMALW1qJTA2WDklMDJYANnVBfkgoWPXcmVjb3ZlcmVkICVkIHBhZ2VzIGZyb20gJXMAY2Fubm90IGxpbWl0IFdBTCBzaXplOiAlcwByZWNvdmVyZWQgJWQgZnJhbWVzIGZyb20gV0FMIGZpbGUgJXMARXhwcmVzc2lvbiB0cmVlIGlzIHRvbyBsYXJnZSAobWF4aW11bSBkZXB0aCAlZCkAbm8gc3VjaCB0YWJsZQBubyBzdWNoIHZpZXcAcHJhZ21hXwAlczogJXMuJXMAJXM6ICVzAHZ0YWJsZSBjb25zdHJ1Y3RvciBjYWxsZWQgcmVjdXJzaXZlbHk6ICVzAHZ0YWJsZSBjb25zdHJ1Y3RvciBmYWlsZWQ6ICVzAHZ0YWJsZSBjb25zdHJ1Y3RvciBkaWQgbm90IGRlY2xhcmUgc2NoZW1hOiAlcwBBUEkgY2FsbGVkIHdpdGggZmluYWxpemVkIHByZXBhcmVkIHN0YXRlbWVudABBUEkgY2FsbGVkIHdpdGggTlVMTCBwcmVwYXJlZCBzdGF0ZW1lbnQAaW50ZXJydXB0ZWQAayglZABCSU5BUlkAQgAtACwlcyVzACkAKCUuMjBzKQAlcyglZCkAJWQAKGJsb2IpAHZ0YWI6JXAALCVkAF0AcHJvZ3JhbQAlLjJ4AEFQSSBjYWxsIHdpdGggJXMgZGF0YWJhc2UgY29ubmVjdGlvbiBwb2ludGVyAGludmFsaWQAdW5vcGVuZWQAZGF0YWJhc2Ugc2NoZW1hIGlzIGxvY2tlZDogJXMAc3RhdGVtZW50IHRvbyBsb25nAGFkZHIAb3Bjb2RlAHAxAHAyAHAzAHA0AHA1AGNvbW1lbnQAaWQAcGFyZW50AG5vdHVzZWQAZGV0YWlsAEAgIAAlcyBjb25zdHJhaW50IGZhaWxlZAAlejogJXMAYWJvcnQgYXQgJWQgaW4gWyVzXTogJXMAAQAAAQEAAAEAAQABAQABAAABAAAAAAECAAICAAECAQEBAgECY2Fubm90IG9wZW4gc2F2ZXBvaW50IC0gU1FMIHN0YXRlbWVudHMgaW4gcHJvZ3Jlc3MAbm8gc3VjaCBzYXZlcG9pbnQ6ICVzAGNhbm5vdCByZWxlYXNlIHNhdmVwb2ludCAtIFNRTCBzdGF0ZW1lbnRzIGluIHByb2dyZXNzAGNhbm5vdCBjb21taXQgdHJhbnNhY3Rpb24gLSBTUUwgc3RhdGVtZW50cyBpbiBwcm9ncmVzcwBjYW5ub3QgY29tbWl0IC0gbm8gdHJhbnNhY3Rpb24gaXMgYWN0aXZlAGNhbm5vdCByb2xsYmFjayAtIG5vIHRyYW5zYWN0aW9uIGlzIGFjdGl2ZQBjYW5ub3Qgc3RhcnQgYSB0cmFuc2FjdGlvbiB3aXRoaW4gYSB0cmFuc2FjdGlvbgBkYXRhYmFzZSBzY2hlbWEgaGFzIGNoYW5nZWQAU0VMRUNUIG5hbWUsIHJvb3RwYWdlLCBzcWwgRlJPTSAnJXEnLiVzIFdIRVJFICVzIE9SREVSIEJZIHJvd2lkAHNxbGl0ZV9tYXN0ZXIATWFpbiBmcmVlbGlzdDogAG1heCByb290cGFnZSAoJWQpIGRpc2FncmVlcyB3aXRoIGhlYWRlciAoJWQpAGluY3JlbWVudGFsX3ZhY3V1bSBlbmFibGVkIHdpdGggYSBtYXggcm9vdHBhZ2Ugb2YgemVybwBGYWlsZWQgdG8gcmVhZCBwdHJtYXAga2V5PSVkAEJhZCBwdHIgbWFwIGVudHJ5IGtleT0lZCBleHBlY3RlZD0oJWQsJWQpIGdvdD0oJWQsJWQpAFBhZ2UgJWQgaXMgbmV2ZXIgdXNlZABQb2ludGVyIG1hcCBwYWdlICVkIGlzIHJlZmVyZW5jZWQAdG9vIG1hbnkgbGV2ZWxzIG9mIHRyaWdnZXIgcmVjdXJzaW9uAGludG8Ab3V0IG9mAGNhbm5vdCBjaGFuZ2UgJXMgd2FsIG1vZGUgZnJvbSB3aXRoaW4gYSB0cmFuc2FjdGlvbgBjYW5ub3QgVkFDVVVNIGZyb20gd2l0aGluIGEgdHJhbnNhY3Rpb24AY2Fubm90IFZBQ1VVTSAtIFNRTCBzdGF0ZW1lbnRzIGluIHByb2dyZXNzAEFUVEFDSCcnQVMgdmFjdXVtX2RiAEJFR0lOAFNFTEVDVCBzcWwgRlJPTSAiJXciLnNxbGl0ZV9tYXN0ZXIgV0hFUkUgdHlwZT0ndGFibGUnQU5EIG5hbWU8PidzcWxpdGVfc2VxdWVuY2UnIEFORCBjb2FsZXNjZShyb290cGFnZSwxKT4wAFNFTEVDVCBzcWwgRlJPTSAiJXciLnNxbGl0ZV9tYXN0ZXIgV0hFUkUgdHlwZT0naW5kZXgnAFNFTEVDVCdJTlNFUlQgSU5UTyB2YWN1dW1fZGIuJ3x8cXVvdGUobmFtZSl8fCcgU0VMRUNUKkZST00iJXciLid8fHF1b3RlKG5hbWUpRlJPTSB2YWN1dW1fZGIuc3FsaXRlX21hc3RlciBXSEVSRSB0eXBlPSd0YWJsZSdBTkQgY29hbGVzY2Uocm9vdHBhZ2UsMSk+MABJTlNFUlQgSU5UTyB2YWN1dW1fZGIuc3FsaXRlX21hc3RlciBTRUxFQ1QqRlJPTSAiJXciLnNxbGl0ZV9tYXN0ZXIgV0hFUkUgdHlwZSBJTigndmlldycsJ3RyaWdnZXInKSBPUih0eXBlPSd0YWJsZSdBTkQgcm9vdHBhZ2U9MCkAAQEDAAUABgAIAGRhdGFiYXNlIHRhYmxlIGlzIGxvY2tlZDogJXMAbm8gc3VjaCBtb2R1bGU6ICVzAC0tICVzAHVua25vd24gZXJyb3IAbm8gbW9yZSByb3dzIGF2YWlsYWJsZQBhbm90aGVyIHJvdyBhdmFpbGFibGUAYWJvcnQgZHVlIHRvIFJPTExCQUNLAHN0YXRlbWVudCBhYm9ydHMgYXQgJWQ6IFslc10gJXMAb3V0IG9mIG1lbW9yeQBub3QgYW4gZXJyb3IAU1FMIGxvZ2ljIGVycm9yAGFjY2VzcyBwZXJtaXNzaW9uIGRlbmllZABxdWVyeSBhYm9ydGVkAGRhdGFiYXNlIGlzIGxvY2tlZABkYXRhYmFzZSB0YWJsZSBpcyBsb2NrZWQAYXR0ZW1wdCB0byB3cml0ZSBhIHJlYWRvbmx5IGRhdGFiYXNlAGRpc2sgSS9PIGVycm9yAGRhdGFiYXNlIGRpc2sgaW1hZ2UgaXMgbWFsZm9ybWVkAHVua25vd24gb3BlcmF0aW9uAGRhdGFiYXNlIG9yIGRpc2sgaXMgZnVsbAB1bmFibGUgdG8gb3BlbiBkYXRhYmFzZSBmaWxlAGxvY2tpbmcgcHJvdG9jb2wAY29uc3RyYWludCBmYWlsZWQAZGF0YXR5cGUgbWlzbWF0Y2gAYmFkIHBhcmFtZXRlciBvciBvdGhlciBBUEkgbWlzdXNlAGxhcmdlIGZpbGUgc3VwcG9ydCBpcyBkaXNhYmxlZABhdXRob3JpemF0aW9uIGRlbmllZABjb2x1bW4gaW5kZXggb3V0IG9mIHJhbmdlAGZpbGUgaXMgbm90IGEgZGF0YWJhc2UAbm90aWZpY2F0aW9uIG1lc3NhZ2UAd2FybmluZyBtZXNzYWdlAC0tIAAnJS4qcScAemVyb2Jsb2IoJWQpAHgnACUwMngAJwBDUkUASU5TAGRlbGV0ZQBwZXJzaXN0AG9mZgB0cnVuY2F0ZQBtZW1vcnkAd2FsAGludmFsaWQgcGFnZSBudW1iZXIgJWQAMm5kIHJlZmVyZW5jZSB0byBwYWdlICVkAFBhZ2UgJWQ6IAB1bmFibGUgdG8gZ2V0IHRoZSBwYWdlLiBlcnJvciBjb2RlPSVkAGJ0cmVlSW5pdFBhZ2UoKSByZXR1cm5zIGVycm9yIGNvZGUgJWQAT24gdHJlZSBwYWdlICVkIGNlbGwgJWQ6IABPbiBwYWdlICVkIGF0IHJpZ2h0IGNoaWxkOiAAT2Zmc2V0ICVkIG91dCBvZiByYW5nZSAlZC4uJWQARXh0ZW5kcyBvZmYgZW5kIG9mIHBhZ2UAUm93aWQgJWxsZCBvdXQgb2Ygb3JkZXIAQ2hpbGQgcGFnZSBkZXB0aCBkaWZmZXJzAE11bHRpcGxlIHVzZXMgZm9yIGJ5dGUgJXUgb2YgcGFnZSAlZABGcmFnbWVudGF0aW9uIG9mICVkIGJ5dGVzIHJlcG9ydGVkIGFzICVkIG9uIHBhZ2UgJWQACgBmYWlsZWQgdG8gZ2V0IHBhZ2UgJWQAZnJlZWxpc3QgbGVhZiBjb3VudCB0b28gYmlnIG9uIHBhZ2UgJWQAb3ZlcmZsb3cgbGlzdCBsZW5ndGgAc2l6ZQAlcyBpcyAlZCBidXQgc2hvdWxkIGJlICVkAHNxbGl0ZV9zdGF0MQBTRUxFQ1QgdGJsLGlkeCxzdGF0IEZST00gJVEuc3FsaXRlX3N0YXQxAHVub3JkZXJlZCoAc3o9WzAtOV0qAG5vc2tpcHNjYW4qAD8AbWFsZm9ybWVkIGRhdGFiYXNlIHNjaGVtYSAoJXMpAGNyZWF0ZSAAaW52YWxpZCByb290cGFnZQAleiAtICVzAAABAgMEBggAAAA6bWVtb3J5OgAtam91cm5hbAAALXdhbAAAbm9sb2NrAGltbXV0YWJsZQBOT1QgTlVMTABVTklRVUUAQ0hFQ0sARk9SRUlHTiBLRVkAU2F2ZXBvaW50AEF1dG9Db21taXQAVHJhbnNhY3Rpb24AU29ydGVyTmV4dABQcmV2AE5leHQAQ2hlY2twb2ludABKb3VybmFsTW9kZQBWYWN1dW0AVkZpbHRlcgBWVXBkYXRlAEdvdG8AR29zdWIASW5pdENvcm91dGluZQBZaWVsZABNdXN0QmVJbnQASnVtcABPbmNlAElmAE5vdABJZk5vdABJZk51bGxSb3cAU2Vla0xUAFNlZWtMRQBTZWVrR0UAU2Vla0dUAElmTm9Ib3BlAE5vQ29uZmxpY3QATm90Rm91bmQARm91bmQAU2Vla1Jvd2lkAE5vdEV4aXN0cwBMYXN0AElmU21hbGxlcgBTb3J0ZXJTb3J0AFNvcnQAUmV3aW5kAElkeExFAElkeEdUAElkeExUAElkeEdFAFJvd1NldFJlYWQAUm93U2V0VGVzdABPcgBBbmQAUHJvZ3JhbQBGa0lmWmVybwBJZlBvcwBJZk5vdFplcm8ARGVjckp1bXBaZXJvAElzTnVsbABOb3ROdWxsAE5lAEVxAEd0AExlAEx0AEdlAEVsc2VOb3RFcQBJbmNyVmFjdXVtAFZOZXh0AEluaXQAUHVyZUZ1bmMwAEZ1bmN0aW9uMABQdXJlRnVuYwBGdW5jdGlvbgBSZXR1cm4ARW5kQ29yb3V0aW5lAEhhbHRJZk51bGwASGFsdABJbnRlZ2VyAEludDY0AFN0cmluZwBOdWxsAFNvZnROdWxsAEJsb2IAVmFyaWFibGUATW92ZQBDb3B5AFNDb3B5AEludENvcHkAUmVzdWx0Um93AENvbGxTZXEAQWRkSW1tAFJlYWxBZmZpbml0eQBDYXN0AFBlcm11dGF0aW9uAENvbXBhcmUASXNUcnVlAE9mZnNldABDb2x1bW4AQWZmaW5pdHkAQml0QW5kAEJpdE9yAFNoaWZ0TGVmdABTaGlmdFJpZ2h0AEFkZABTdWJ0cmFjdABNdWx0aXBseQBEaXZpZGUAUmVtYWluZGVyAENvbmNhdABNYWtlUmVjb3JkAEJpdE5vdABDb3VudABSZWFkQ29va2llAFN0cmluZzgAU2V0Q29va2llAFJlb3BlbklkeABPcGVuUmVhZABPcGVuV3JpdGUAT3BlbkR1cABPcGVuQXV0b2luZGV4AE9wZW5FcGhlbWVyYWwAU29ydGVyT3BlbgBTZXF1ZW5jZVRlc3QAT3BlblBzZXVkbwBDbG9zZQBDb2x1bW5zVXNlZABTZWVrSGl0AFNlcXVlbmNlAE5ld1Jvd2lkAEluc2VydABJbnNlcnRJbnQARGVsZXRlAFJlc2V0Q291bnQAU29ydGVyQ29tcGFyZQBTb3J0ZXJEYXRhAFJvd0RhdGEAUm93aWQATnVsbFJvdwBTZWVrRW5kAFNvcnRlckluc2VydABJZHhJbnNlcnQASWR4RGVsZXRlAERlZmVycmVkU2VlawBJZHhSb3dpZABEZXN0cm95AENsZWFyAFJlc2V0U29ydGVyAENyZWF0ZUJ0cmVlAFJlYWwAU3FsRXhlYwBQYXJzZVNjaGVtYQBMb2FkQW5hbHlzaXMARHJvcFRhYmxlAERyb3BJbmRleABEcm9wVHJpZ2dlcgBJbnRlZ3JpdHlDawBSb3dTZXRBZGQAUGFyYW0ARmtDb3VudGVyAE1lbU1heABPZmZzZXRMaW1pdABBZ2dJbnZlcnNlAEFnZ1N0ZXAAQWdnU3RlcDEAQWdnVmFsdWUAQWdnRmluYWwARXhwaXJlAFRhYmxlTG9jawBWQmVnaW4AVkNyZWF0ZQBWRGVzdHJveQBWT3BlbgBWQ29sdW1uAFZSZW5hbWUAUGFnZWNvdW50AE1heFBnY250AFRyYWNlAEN1cnNvckhpbnQATm9vcABFeHBsYWluAEFib3J0YWJsZQBQUkFHTUEgACVRLgA9JVEAQ1JFQVRFIFRBQkxFIHgAJWMiJXMiACgiJXMiACxhcmcgSElEREVOACxzY2hlbWEgSElEREVOAHNlcQB0YWJsZQBmcm9tAHRvAG9uX3VwZGF0ZQBvbl9kZWxldGUAbWF0Y2gAY2lkAG5hbWUAdHlwZQBub3RudWxsAGRmbHRfdmFsdWUAcGsAaGlkZGVuAHNlcW5vAGRlc2MAY29sbABrZXkAdGJsAGlkeAB3ZHRoAGhnaHQAZmxncwB1bmlxdWUAb3JpZ2luAHBhcnRpYWwAcm93aWQAZmtpZABmaWxlAGJ1c3kAbG9nAGNoZWNrcG9pbnRlZABidWlsdGluAGRhdGFiYXNlAHN0YXR1cwBjYWNoZV9zaXplAHRpbWVvdXQAYXBwbGljYXRpb25faWQAYXV0b192YWN1dW0AYXV0b21hdGljX2luZGV4AGJ1c3lfdGltZW91dABjYWNoZV9zcGlsbABjYXNlX3NlbnNpdGl2ZV9saWtlAGNlbGxfc2l6ZV9jaGVjawBjaGVja3BvaW50X2Z1bGxmc3luYwBjb2xsYXRpb25fbGlzdABjb21waWxlX29wdGlvbnMAY291bnRfY2hhbmdlcwBkYXRhX3ZlcnNpb24AZGF0YWJhc2VfbGlzdABkZWZhdWx0X2NhY2hlX3NpemUAZGVmZXJfZm9yZWlnbl9rZXlzAGVtcHR5X3Jlc3VsdF9jYWxsYmFja3MAZW5jb2RpbmcAZm9yZWlnbl9rZXlfY2hlY2sAZm9yZWlnbl9rZXlfbGlzdABmb3JlaWduX2tleXMAZnJlZWxpc3RfY291bnQAZnVsbF9jb2x1bW5fbmFtZXMAZnVsbGZzeW5jAGlnbm9yZV9jaGVja19jb25zdHJhaW50cwBpbmNyZW1lbnRhbF92YWN1dW0AaW5kZXhfaW5mbwBpbmRleF9saXN0AGluZGV4X3hpbmZvAGludGVncml0eV9jaGVjawBqb3VybmFsX21vZGUAam91cm5hbF9zaXplX2xpbWl0AGxlZ2FjeV9hbHRlcl90YWJsZQBsZWdhY3lfZmlsZV9mb3JtYXQAbG9ja2luZ19tb2RlAG1heF9wYWdlX2NvdW50AG1tYXBfc2l6ZQBvcHRpbWl6ZQBwYWdlX2NvdW50AHBhZ2Vfc2l6ZQBxdWVyeV9vbmx5AHF1aWNrX2NoZWNrAHJlYWRfdW5jb21taXR0ZWQAcmVjdXJzaXZlX3RyaWdnZXJzAHJldmVyc2VfdW5vcmRlcmVkX3NlbGVjdHMAc2NoZW1hX3ZlcnNpb24Ac2VjdXJlX2RlbGV0ZQBzaG9ydF9jb2x1bW5fbmFtZXMAc2hyaW5rX21lbW9yeQBzb2Z0X2hlYXBfbGltaXQAc3luY2hyb25vdXMAdGFibGVfaW5mbwB0YWJsZV94aW5mbwB0ZW1wX3N0b3JlAHRlbXBfc3RvcmVfZGlyZWN0b3J5AHRocmVhZHMAdXNlcl92ZXJzaW9uAHdhbF9hdXRvY2hlY2twb2ludAB3YWxfY2hlY2twb2ludAB3cml0YWJsZV9zY2hlbWEAc3FsaXRlX3RlbXBfbWFzdGVyADEAQ1JFQVRFIFRBQkxFIHgodHlwZSB0ZXh0LG5hbWUgdGV4dCx0YmxfbmFtZSB0ZXh0LHJvb3RwYWdlIGludCxzcWwgdGV4dCkAYXR0YWNoZWQgZGF0YWJhc2VzIG11c3QgdXNlIHRoZSBzYW1lIHRleHQgZW5jb2RpbmcgYXMgbWFpbiBkYXRhYmFzZQB1bnN1cHBvcnRlZCBmaWxlIGZvcm1hdABTRUxFQ1QgbmFtZSwgcm9vdHBhZ2UsIHNxbCBGUk9NICIldyIuJXMgT1JERVIgQlkgcm93aWQAYSBHUk9VUCBCWSBjbGF1c2UgaXMgcmVxdWlyZWQgYmVmb3JlIEhBVklORwBPUkRFUgBHUk9VUABhZ2dyZWdhdGUgZnVuY3Rpb25zIGFyZSBub3QgYWxsb3dlZCBpbiB0aGUgR1JPVVAgQlkgY2xhdXNlAGFsbCBWQUxVRVMgbXVzdCBoYXZlIHRoZSBzYW1lIG51bWJlciBvZiB0ZXJtcwBVTklPTgBFWENFUFQASU5URVJTRUNUAFVOSU9OIEFMTABTRUxFQ1RzIHRvIHRoZSBsZWZ0IGFuZCByaWdodCBvZiAlcyBkbyBub3QgaGF2ZSB0aGUgc2FtZSBudW1iZXIgb2YgcmVzdWx0IGNvbHVtbnMAdG9vIG1hbnkgdGVybXMgaW4gT1JERVIgQlkgY2xhdXNlACVyICVzIEJZIHRlcm0gb3V0IG9mIHJhbmdlIC0gc2hvdWxkIGJlIGJldHdlZW4gMSBhbmQgJWQAJXIgT1JERVIgQlkgdGVybSBkb2VzIG5vdCBtYXRjaCBhbnkgY29sdW1uIGluIHRoZSByZXN1bHQgc2V0ACVzJXMAdG9vIG1hbnkgdGVybXMgaW4gJXMgQlkgY2xhdXNlACVzIHByb2hpYml0ZWQgaW4gJXMAdGhlICIuIiBvcGVyYXRvcgBpbmRleCBleHByZXNzaW9ucwBuZXcAb2xkAGV4Y2x1ZGVkAF9ST1dJRF8AUk9XSUQAT0lEAG1pc3VzZSBvZiBhbGlhc2VkIGFnZ3JlZ2F0ZSAlcwByb3cgdmFsdWUgbWlzdXNlZAB0cnVlAGZhbHNlAGFtYmlndW91cyBjb2x1bW4gbmFtZQBubyBzdWNoIGNvbHVtbgAlczogJXMuJXMuJXMAc2Vjb25kIGFyZ3VtZW50IHRvIGxpa2VsaWhvb2QoKSBtdXN0IGJlIGEgY29uc3RhbnQgYmV0d2VlbiAwLjAgYW5kIDEuMABub3QgYXV0aG9yaXplZABhdXRob3JpemVyIG1hbGZ1bmN0aW9uAG5vdCBhdXRob3JpemVkIHRvIHVzZSBmdW5jdGlvbjogJXMAcGFydGlhbCBpbmRleCBXSEVSRSBjbGF1c2VzAENIRUNLIGNvbnN0cmFpbnRzAG5vbi1kZXRlcm1pbmlzdGljIGZ1bmN0aW9ucwAlLipzKCkgbWF5IG5vdCBiZSB1c2VkIGFzIGEgd2luZG93IGZ1bmN0aW9uAG1pc3VzZSBvZiAlcyBmdW5jdGlvbiAlLipzKCkAYWdncmVnYXRlAHdpbmRvdwBubyBzdWNoIGZ1bmN0aW9uOiAlLipzAHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gZnVuY3Rpb24gJS4qcygpAG5vIHN1Y2ggd2luZG93OiAlcwBGSUxURVIgY2xhdXNlIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBhZ2dyZWdhdGUgd2luZG93IGZ1bmN0aW9ucwBzdWJxdWVyaWVzAHBhcmFtZXRlcnMAJXMuJXMAJXMuJXoAYWNjZXNzIHRvICV6IGlzIHByb2hpYml0ZWQAdmlldyAlcyBpcyBjaXJjdWxhcmx5IGRlZmluZWQAbm8gc3VjaCBjb2xsYXRpb24gc2VxdWVuY2U6ICVzAElOVEVHRVIAY29sdW1uJWQAJS4qejoldQAnJXMnIGlzIG5vdCBhIGZ1bmN0aW9uAG11bHRpcGxlIHJlZmVyZW5jZXMgdG8gcmVjdXJzaXZlIHRhYmxlOiAlcwBjaXJjdWxhciByZWZlcmVuY2U6ICVzAHRhYmxlICVzIGhhcyAlZCB2YWx1ZXMgZm9yICVkIGNvbHVtbnMAcmVjdXJzaXZlIHJlZmVyZW5jZSBpbiBhIHN1YnF1ZXJ5OiAlcwBtdWx0aXBsZSByZWN1cnNpdmUgcmVmZXJlbmNlczogJXMAdG9vIG1hbnkgcmVmZXJlbmNlcyB0byAiJXMiOiBtYXggNjU1MzUAbm8gc3VjaCBpbmRleDogJXMAYSBOQVRVUkFMIGpvaW4gbWF5IG5vdCBoYXZlIGFuIE9OIG9yIFVTSU5HIGNsYXVzZQBjYW5ub3QgaGF2ZSBib3RoIE9OIGFuZCBVU0lORyBjbGF1c2VzIGluIHRoZSBzYW1lIGpvaW4AY2Fubm90IGpvaW4gdXNpbmcgY29sdW1uICVzIC0gY29sdW1uIG5vdCBwcmVzZW50IGluIGJvdGggdGFibGVzACoAJXMuJXMuJXMAbm8gc3VjaCB0YWJsZTogJXMAbm8gdGFibGVzIHNwZWNpZmllZAB0b28gbWFueSBjb2x1bW5zIGluIHJlc3VsdCBzZXQAMABzdWJxdWVyeV8ldQBPTgBVU0lORwBhIEpPSU4gY2xhdXNlIGlzIHJlcXVpcmVkIGJlZm9yZSAlcwB1bnJlY29nbml6ZWQgdG9rZW46ICIlLipzIgBwYXJzZXIgc3RhY2sgb3ZlcmZsb3cAbmVhciAiJVQiOiBzeW50YXggZXJyb3IAaW5jb21wbGV0ZSBpbnB1dAAlcyBpbiAiJXMiAFJPTExCQUNLAENPTU1JVABSRUxFQVNFAHVua25vd24gdGFibGUgb3B0aW9uOiAlLipzAHRvbyBtYW55IGNvbHVtbnMgb24gJXMAZHVwbGljYXRlIGNvbHVtbiBuYW1lOiAlcwBwYXJhbWV0ZXJzIGFyZSBub3QgYWxsb3dlZCBpbiB2aWV3cwBjb3JydXB0IGRhdGFiYXNlAHVua25vd24gZGF0YWJhc2UgJVQAdmlldwB0b28gbWFueSB0ZXJtcyBpbiBjb21wb3VuZCBTRUxFQ1QAdG9vIG1hbnkgY29sdW1ucyBpbiAlcwBzZXQgbGlzdAB2YXJpYWJsZSBudW1iZXIgbXVzdCBiZSBiZXR3ZWVuID8xIGFuZCA/JWQAdG9vIG1hbnkgU1FMIHZhcmlhYmxlcwB0b28gbWFueSBhcmd1bWVudHMgb24gZnVuY3Rpb24gJVQARElTVElOQ1QgaXMgbm90IHN1cHBvcnRlZCBmb3Igd2luZG93IGZ1bmN0aW9ucwBzeW50YXggZXJyb3IgYWZ0ZXIgY29sdW1uIG5hbWUgIiUuKnMiAG5vIHN1Y2ggaW5kZXg6ICVTAGluZGV4IGFzc29jaWF0ZWQgd2l0aCBVTklRVUUgb3IgUFJJTUFSWSBLRVkgY29uc3RyYWludCBjYW5ub3QgYmUgZHJvcHBlZAB1bmFibGUgdG8gb3BlbiBhIHRlbXBvcmFyeSBkYXRhYmFzZSBmaWxlIGZvciBzdG9yaW5nIHRlbXBvcmFyeSB0YWJsZXMAREVMRVRFIEZST00gJVEuJXMgV0hFUkUgbmFtZT0lUSBBTkQgdHlwZT0naW5kZXgnAHNxbGl0ZV9zdGF0JWQAREVMRVRFIEZST00gJVEuJXMgV0hFUkUgJXM9JVEAdHJpZ2dlcgBJTlNFUlQgSU5UTyAlUS4lcyBWQUxVRVMoJ3RyaWdnZXInLCVRLCVRLDAsJ0NSRUFURSBUUklHR0VSICVxJykAdHlwZT0ndHJpZ2dlcicgQU5EIG5hbWU9JyVxJwB0ZW1wb3JhcnkgdHJpZ2dlciBtYXkgbm90IGhhdmUgcXVhbGlmaWVkIG5hbWUAY2Fubm90IGNyZWF0ZSB0cmlnZ2VycyBvbiB2aXJ0dWFsIHRhYmxlcwB0cmlnZ2VyICVUIGFscmVhZHkgZXhpc3RzAHNxbGl0ZV8AY2Fubm90IGNyZWF0ZSB0cmlnZ2VyIG9uIHN5c3RlbSB0YWJsZQBCRUZPUkUAQUZURVIAY2Fubm90IGNyZWF0ZSAlcyB0cmlnZ2VyIG9uIHZpZXc6ICVTAGNhbm5vdCBjcmVhdGUgSU5TVEVBRCBPRiB0cmlnZ2VyIG9uIHRhYmxlOiAlUwBxdWFsaWZpZWQgdGFibGUgbmFtZXMgYXJlIG5vdCBhbGxvd2VkIG9uIElOU0VSVCwgVVBEQVRFLCBhbmQgREVMRVRFIHN0YXRlbWVudHMgd2l0aGluIHRyaWdnZXJzAHRoZSBJTkRFWEVEIEJZIGNsYXVzZSBpcyBub3QgYWxsb3dlZCBvbiBVUERBVEUgb3IgREVMRVRFIHN0YXRlbWVudHMgd2l0aGluIHRyaWdnZXJzAHRoZSBOT1QgSU5ERVhFRCBjbGF1c2UgaXMgbm90IGFsbG93ZWQgb24gVVBEQVRFIG9yIERFTEVURSBzdGF0ZW1lbnRzIHdpdGhpbiB0cmlnZ2VycwBubyBzdWNoIHRyaWdnZXI6ICVTAHVuYWJsZSB0byBpZGVudGlmeSB0aGUgb2JqZWN0IHRvIGJlIHJlaW5kZXhlZAB0aGVyZSBpcyBhbHJlYWR5IGFub3RoZXIgdGFibGUgb3IgaW5kZXggd2l0aCB0aGlzIG5hbWU6ICVzAHZpZXcgJXMgbWF5IG5vdCBiZSBhbHRlcmVkAFVQREFURSAiJXciLiVzIFNFVCBzcWwgPSBzcWxpdGVfcmVuYW1lX3RhYmxlKCVRLCB0eXBlLCBuYW1lLCBzcWwsICVRLCAlUSwgJWQpIFdIRVJFICh0eXBlIT0naW5kZXgnIE9SIHRibF9uYW1lPSVRIENPTExBVEUgbm9jYXNlKUFORCAgIG5hbWUgTk9UIExJS0UgJ3NxbGl0ZV8lJScAVVBEQVRFICVRLiVzIFNFVCB0YmxfbmFtZSA9ICVRLCBuYW1lID0gQ0FTRSBXSEVOIHR5cGU9J3RhYmxlJyBUSEVOICVRIFdIRU4gbmFtZSBMSUtFICdzcWxpdGVfYXV0b2luZGV4JSUnIEFORCB0eXBlPSdpbmRleCcgVEhFTiAnc3FsaXRlX2F1dG9pbmRleF8nIHx8ICVRIHx8IHN1YnN0cihuYW1lLCVkKzE4KSBFTFNFIG5hbWUgRU5EIFdIRVJFIHRibF9uYW1lPSVRIENPTExBVEUgbm9jYXNlIEFORCAodHlwZT0ndGFibGUnIE9SIHR5cGU9J2luZGV4JyBPUiB0eXBlPSd0cmlnZ2VyJyk7AHNxbGl0ZV9zZXF1ZW5jZQBVUERBVEUgIiV3Ii5zcWxpdGVfc2VxdWVuY2Ugc2V0IG5hbWUgPSAlUSBXSEVSRSBuYW1lID0gJVEAVVBEQVRFIHNxbGl0ZV90ZW1wX21hc3RlciBTRVQgc3FsID0gc3FsaXRlX3JlbmFtZV90YWJsZSglUSwgdHlwZSwgbmFtZSwgc3FsLCAlUSwgJVEsIDEpLCB0YmxfbmFtZSA9IENBU0UgV0hFTiB0YmxfbmFtZT0lUSBDT0xMQVRFIG5vY2FzZSBBTkQgICAgICAgICAgIHNxbGl0ZV9yZW5hbWVfdGVzdCglUSwgc3FsLCB0eXBlLCBuYW1lLCAxKSBUSEVOICVRIEVMU0UgdGJsX25hbWUgRU5EIFdIRVJFIHR5cGUgSU4gKCd2aWV3JywgJ3RyaWdnZXInKQBTRUxFQ1QgMSBGUk9NICIldyIuJXMgV0hFUkUgbmFtZSBOT1QgTElLRSAnc3FsaXRlXyUlJyBBTkQgc3FsIE5PVCBMSUtFICdjcmVhdGUgdmlydHVhbCUlJyBBTkQgc3FsaXRlX3JlbmFtZV90ZXN0KCVRLCBzcWwsIHR5cGUsIG5hbWUsICVkKT1OVUxMIABTRUxFQ1QgMSBGUk9NIHRlbXAuJXMgV0hFUkUgbmFtZSBOT1QgTElLRSAnc3FsaXRlXyUlJyBBTkQgc3FsIE5PVCBMSUtFICdjcmVhdGUgdmlydHVhbCUlJyBBTkQgc3FsaXRlX3JlbmFtZV90ZXN0KCVRLCBzcWwsIHR5cGUsIG5hbWUsIDEpPU5VTEwgAENhbm5vdCBhZGQgYSBQUklNQVJZIEtFWSBjb2x1bW4AQ2Fubm90IGFkZCBhIFVOSVFVRSBjb2x1bW4AQ2Fubm90IGFkZCBhIFJFRkVSRU5DRVMgY29sdW1uIHdpdGggbm9uLU5VTEwgZGVmYXVsdCB2YWx1ZQBDYW5ub3QgYWRkIGEgTk9UIE5VTEwgY29sdW1uIHdpdGggZGVmYXVsdCB2YWx1ZSBOVUxMAENhbm5vdCBhZGQgYSBjb2x1bW4gd2l0aCBub24tY29uc3RhbnQgZGVmYXVsdABVUERBVEUgIiV3Ii4lcyBTRVQgc3FsID0gc3Vic3RyKHNxbCwxLCVkKSB8fCAnLCAnIHx8ICVRIHx8IHN1YnN0cihzcWwsJWQpIFdIRVJFIHR5cGUgPSAndGFibGUnIEFORCBuYW1lID0gJVEAdmlydHVhbCB0YWJsZXMgbWF5IG5vdCBiZSBhbHRlcmVkAENhbm5vdCBhZGQgYSBjb2x1bW4gdG8gYSB2aWV3AHNxbGl0ZV9hbHRlcnRhYl8lcwB2aXJ0dWFsIHRhYmxlAGNhbm5vdCByZW5hbWUgY29sdW1ucyBvZiAlcyAiJXMiAG5vIHN1Y2ggY29sdW1uOiAiJXMiAFVQREFURSAiJXciLiVzIFNFVCBzcWwgPSBzcWxpdGVfcmVuYW1lX2NvbHVtbihzcWwsIHR5cGUsIG5hbWUsICVRLCAlUSwgJWQsICVRLCAlZCwgJWQpIFdIRVJFIG5hbWUgTk9UIExJS0UgJ3NxbGl0ZV8lJScgQU5EICh0eXBlICE9ICdpbmRleCcgT1IgdGJsX25hbWUgPSAlUSkgQU5EIHNxbCBOT1QgTElLRSAnY3JlYXRlIHZpcnR1YWwlJScAVVBEQVRFIHRlbXAuJXMgU0VUIHNxbCA9IHNxbGl0ZV9yZW5hbWVfY29sdW1uKHNxbCwgdHlwZSwgbmFtZSwgJVEsICVRLCAlZCwgJVEsICVkLCAxKSBXSEVSRSB0eXBlIElOICgndHJpZ2dlcicsICd2aWV3JykAUkFOR0UgbXVzdCB1c2Ugb25seSBVTkJPVU5ERUQgb3IgQ1VSUkVOVCBST1cAdW5zdXBwb3J0ZWQgZnJhbWUgZGVsaW1pdGVyIGZvciBST1dTAGR1cGxpY2F0ZSBXSVRIIHRhYmxlIG5hbWU6ICVzAENSRUFURSBWSVJUVUFMIFRBQkxFICVUAFVQREFURSAlUS4lcyBTRVQgdHlwZT0ndGFibGUnLCBuYW1lPSVRLCB0YmxfbmFtZT0lUSwgcm9vdHBhZ2U9MCwgc3FsPSVRIFdIRVJFIHJvd2lkPSMlZABuYW1lPSclcScgQU5EIHR5cGU9J3RhYmxlJwB0YWJsZSAlcyBtYXkgbm90IGJlIGFsdGVyZWQAc3FsaXRlXF8lAEJCQgBzdGF0X2dldAAlbGx1ACAlbGx1AHN0YXRfcHVzaABzdGF0X2luaXQAQ1JFQVRFIFRBQkxFICVRLiVzKCVzKQB0YmwsaWR4LHN0YXQAc3FsaXRlX3N0YXQzAHNxbGl0ZV9zdGF0NABpbmRleCAnJXEnACwgAFVTSU5HIFJPV0lEIFNFQVJDSCBPTiBUQUJMRSAlcyBGT1IgSU4tT1BFUkFUT1IAVVNJTkcgSU5ERVggJXMgRk9SIElOLU9QRVJBVE9SAENPUlJFTEFURUQgACVzTElTVCBTVUJRVUVSWQAlc1NDQUxBUiBTVUJRVUVSWQBzdWItc2VsZWN0IHJldHVybnMgJWQgY29sdW1ucyAtIGV4cGVjdGVkICVkAHNxbGl0ZV9kZXRhY2gAbm8gc3VjaCBkYXRhYmFzZTogJXMAY2Fubm90IGRldGFjaCBkYXRhYmFzZSAlcwBkYXRhYmFzZSAlcyBpcyBsb2NrZWQAc3FsaXRlX2F0dGFjaAB0b28gbWFueSBhdHRhY2hlZCBkYXRhYmFzZXMgLSBtYXggJWQAZGF0YWJhc2UgJXMgaXMgYWxyZWFkeSBpbiB1c2UAZGF0YWJhc2UgaXMgYWxyZWFkeSBhdHRhY2hlZAB1bmFibGUgdG8gb3BlbiBkYXRhYmFzZTogJXMAZmlsZToAbG9jYWxob3N0AGludmFsaWQgdXJpIGF1dGhvcml0eTogJS4qcwB2ZnMAY2FjaGUAbW9kZQBubyBzdWNoICVzIG1vZGU6ICVzACVzIG1vZGUgbm90IGFsbG93ZWQ6ICVzAG5vIHN1Y2ggdmZzOiAlcwBybwBydwByd2MAc2hhcmVkAHByaXZhdGUAREVMRVRFIEZST00gJVEuJXMgV0hFUkUgbmFtZT0lUSBBTkQgdHlwZT0ndHJpZ2dlcicAb2JqZWN0IG5hbWUgcmVzZXJ2ZWQgZm9yIGludGVybmFsIHVzZTogJXMAJXMgJVQgY2Fubm90IHJlZmVyZW5jZSBvYmplY3RzIGluIGRhdGFiYXNlICVzACVzIGNhbm5vdCB1c2UgdmFyaWFibGVzAC0lVABmYXN0AGV4Y2x1c2l2ZQBub3JtYWwAbm9uZQBmdWxsAGluY3JlbWVudGFsAHRlbXBvcmFyeSBzdG9yYWdlIGNhbm5vdCBiZSBjaGFuZ2VkIGZyb20gd2l0aGluIGEgdHJhbnNhY3Rpb24Abm90IGEgd3JpdGFibGUgZGlyZWN0b3J5AFNhZmV0eSBsZXZlbCBtYXkgbm90IGJlIGNoYW5nZWQgaW5zaWRlIGEgdHJhbnNhY3Rpb24AaXNzaXNpAGlzc2lzaWkAaWlzWABpc2lYAGlzaXNpAGlzcwBpcwBOTyBBQ1RJT04AUkVTVFJJQ1QAQ0FTQ0FERQBTRVQgREVGQVVMVABTRVQgTlVMTABpaXNzc3NzcwBOT05FAHNpWAAlXwAAKioqIGluIGRhdGFiYXNlICVzICoqKgoATlVMTCB2YWx1ZSBpbiAlcy4lcwBDSEVDSyBjb25zdHJhaW50IGZhaWxlZCBpbiAlcwByb3cgACBtaXNzaW5nIGZyb20gaW5kZXggAG5vbi11bmlxdWUgZW50cnkgaW4gaW5kZXggAHdyb25nICMgb2YgZW50cmllcyBpbiBpbmRleCAAb2sAVVRGOAB1bnN1cHBvcnRlZCBlbmNvZGluZzogJXMAAgABAGsAAAACAAAAaQABAFEBAQByZXN0YXJ0AEFOQUxZWkUgIiV3Ii4iJXciAFVURi04AFVURi0xNmxlAFVURi0xNmJlAFVURjE2bGUAVVRGMTZiZQBVVEYtMTYAVVRGMTYAdW5rbm93biBkYXRhYmFzZTogJXMAdW5hYmxlIHRvIGRlbGV0ZS9tb2RpZnkgdXNlci1mdW5jdGlvbiBkdWUgdG8gYWN0aXZlIHN0YXRlbWVudHMAZm9yZWlnbiBrZXkgbWlzbWF0Y2ggLSAiJXciIHJlZmVyZW5jaW5nICIldyIAYwB1AGNvcnJ1cHQgc2NoZW1hAFVQREFURSAlUS4lcyBTRVQgcm9vdHBhZ2U9JWQgV0hFUkUgIyVkIEFORCByb290cGFnZT0jJWQAJXMucm93aWQAdGFibGUgJVMgaGFzIG5vIGNvbHVtbiBuYW1lZCAlcwB0YWJsZSAlUyBoYXMgJWQgY29sdW1ucyBidXQgJWQgdmFsdWVzIHdlcmUgc3VwcGxpZWQAJWQgdmFsdWVzIGZvciAlZCBjb2x1bW5zAE9OIENPTkZMSUNUIGNsYXVzZSBkb2VzIG5vdCBtYXRjaCBhbnkgUFJJTUFSWSBLRVkgb3IgVU5JUVVFIGNvbnN0cmFpbnQAcm93cyBpbnNlcnRlZABhdCBtb3N0ICVkIHRhYmxlcyBpbiBhIGpvaW4AU0NBTiBDT05TVEFOVCBST1cAdG9vIG1hbnkgYXJndW1lbnRzIG9uICVzKCkgLSBtYXggJWQAYWJicmV2aWF0ZWQgcXVlcnkgYWxnb3JpdGhtIHNlYXJjaABhdXRvbWF0aWMgaW5kZXggb24gJXMoJXMpAGF1dG8taW5kZXgAGRcWGAAAJCAZFhgXKCYlJ01VTFRJLUlOREVYIE9SAAUEJCBTRUFSQ0gAU0NBTgAgU1VCUVVFUlkgJXUAIFRBQkxFICVzACBBUyAlcwBJTkRFWCAlcwBDT1ZFUklORyBJTkRFWCAlcwBBVVRPTUFUSUMgQ09WRVJJTkcgSU5ERVgAQVVUT01BVElDIFBBUlRJQUwgQ09WRVJJTkcgSU5ERVgAUFJJTUFSWSBLRVkAIFVTSU5HIAAgKAA8ZXhwcj4AIEFORCAAQU5ZKCVzKQAlcz0/AD4APAA+PyBBTkQgcm93aWQ8AD0AIFVTSU5HIElOVEVHRVIgUFJJTUFSWSBLRVkgKHJvd2lkJXM/KQAgVklSVFVBTCBUQUJMRSBJTkRFWCAlZDolcwAoAG5vIHF1ZXJ5IHNvbHV0aW9uACVzLnhCZXN0SW5kZXggbWFsZnVuY3Rpb24AT04gY2xhdXNlIHJlZmVyZW5jZXMgdGFibGVzIHRvIGl0cyByaWdodABOT0NBU0UAcmVnZXhwAC0tIFRSSUdHRVIgJXMAdGFibGUgJXMgbWF5IG5vdCBiZSBtb2RpZmllZABjYW5ub3QgbW9kaWZ5ICVzIGJlY2F1c2UgaXQgaXMgYSB2aWV3ACVkIGNvbHVtbnMgYXNzaWduZWQgJWQgdmFsdWVzAG5vIHN1Y2ggY29sdW1uOiAlcwByb3dzIHVwZGF0ZWQAcm93cyBkZWxldGVkAHVua25vd24gb3IgdW5zdXBwb3J0ZWQgam9pbiB0eXBlOiAlVCAlVCVzJVQAUklHSFQgYW5kIEZVTEwgT1VURVIgSk9JTnMgYXJlIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkAGV4cGVjdGVkICVkIGNvbHVtbnMgZm9yICclcycgYnV0IGdvdCAlZABMSU1JVABPUkRFUiBCWQAlcyBjbGF1c2Ugc2hvdWxkIGNvbWUgYWZ0ZXIgJXMgbm90IGJlZm9yZQBTAFNDQU4gJWQgQ09OU1RBTlQgUk9XJXMAQ09NUE9VTkQgUVVFUlkATEVGVC1NT1NUIFNVQlFVRVJZACVzIFVTSU5HIFRFTVAgQi1UUkVFAENPLVJPVVRJTkUgJXUATUFURVJJQUxJWkUgJXUARElTVElOQ1QAR1JPVVAgQlkAVVNFIFRFTVAgQi1UUkVFIEZPUiAlcwAgVVNJTkcgQ09WRVJJTkcgSU5ERVggAFNDQU4gVEFCTEUgJXMlcyVzAFJJR0hUIFBBUlQgT0YgT1JERVIgQlkARElTVElOQ1QgYWdncmVnYXRlcyBtdXN0IGhhdmUgZXhhY3RseSBvbmUgYXJndW1lbnQAZnJhbWUgc3RhcnRpbmcgb2Zmc2V0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlcgBmcmFtZSBlbmRpbmcgb2Zmc2V0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlcgBzZWNvbmQgYXJndW1lbnQgdG8gbnRoX3ZhbHVlIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyAE1FUkdFICglcykATEVGVABSSUdIVABjYW5ub3QgdXNlIHdpbmRvdyBmdW5jdGlvbnMgaW4gcmVjdXJzaXZlIHF1ZXJpZXMAU0VUVVAAcmVjdXJzaXZlIGFnZ3JlZ2F0ZSBxdWVyaWVzIG5vdCBzdXBwb3J0ZWQAUkVDVVJTSVZFIFNURVAAc3FsaXRlX3N0YXQAdGFibGUgJXMgbWF5IG5vdCBiZSBkcm9wcGVkAHVzZSBEUk9QIFRBQkxFIHRvIGRlbGV0ZSB0YWJsZSAlcwB1c2UgRFJPUCBWSUVXIHRvIGRlbGV0ZSB2aWV3ICVzAERFTEVURSBGUk9NICVRLnNxbGl0ZV9zZXF1ZW5jZSBXSEVSRSBuYW1lPSVRAERFTEVURSBGUk9NICVRLiVzIFdIRVJFIHRibF9uYW1lPSVRIGFuZCB0eXBlIT0ndHJpZ2dlcicAZm9yZWlnbiBrZXkgb24gJXMgc2hvdWxkIHJlZmVyZW5jZSBvbmx5IG9uZSBjb2x1bW4gb2YgdGFibGUgJVQAbnVtYmVyIG9mIGNvbHVtbnMgaW4gZm9yZWlnbiBrZXkgZG9lcyBub3QgbWF0Y2ggdGhlIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSByZWZlcmVuY2VkIHRhYmxlAHVua25vd24gY29sdW1uICIlcyIgaW4gZm9yZWlnbiBrZXkgZGVmaW5pdGlvbgBpbmRleABjYW5ub3QgY3JlYXRlIGEgVEVNUCBpbmRleCBvbiBub24tVEVNUCB0YWJsZSAiJXMiAGFsdGVydGFiXwB0YWJsZSAlcyBtYXkgbm90IGJlIGluZGV4ZWQAdmlld3MgbWF5IG5vdCBiZSBpbmRleGVkAHZpcnR1YWwgdGFibGVzIG1heSBub3QgYmUgaW5kZXhlZAB0aGVyZSBpcyBhbHJlYWR5IGEgdGFibGUgbmFtZWQgJXMAaW5kZXggJXMgYWxyZWFkeSBleGlzdHMAc3FsaXRlX2F1dG9pbmRleF8lc18lZABleHByZXNzaW9ucyBwcm9oaWJpdGVkIGluIFBSSU1BUlkgS0VZIGFuZCBVTklRVUUgY29uc3RyYWludHMAY29uZmxpY3RpbmcgT04gQ09ORkxJQ1QgY2xhdXNlcyBzcGVjaWZpZWQAIFVOSVFVRQBDUkVBVEUlcyBJTkRFWCAlLipzAElOU0VSVCBJTlRPICVRLiVzIFZBTFVFUygnaW5kZXgnLCVRLCVRLCMlZCwlUSk7AG5hbWU9JyVxJyBBTkQgdHlwZT0naW5kZXgnAHRhYmxlICIlcyIgaGFzIG1vcmUgdGhhbiBvbmUgcHJpbWFyeSBrZXkAQVVUT0lOQ1JFTUVOVCBpcyBvbmx5IGFsbG93ZWQgb24gYW4gSU5URUdFUiBQUklNQVJZIEtFWQBkZWZhdWx0IHZhbHVlIG9mIGNvbHVtbiBbJXNdIGlzIG5vdCBjb25zdGFudABBVVRPSU5DUkVNRU5UIG5vdCBhbGxvd2VkIG9uIFdJVEhPVVQgUk9XSUQgdGFibGVzAFBSSU1BUlkgS0VZIG1pc3Npbmcgb24gdGFibGUgJXMAVEFCTEUAVklFVwAKICAALAogIAAKKQBDUkVBVEUgVEFCTEUgAENSRUFURSAlcyAlLipzAFVQREFURSAlUS4lcyBTRVQgdHlwZT0nJXMnLCBuYW1lPSVRLCB0YmxfbmFtZT0lUSwgcm9vdHBhZ2U9IyVkLCBzcWw9JVEgV0hFUkUgcm93aWQ9IyVkAENSRUFURSBUQUJMRSAlUS5zcWxpdGVfc2VxdWVuY2UobmFtZSxzZXEpAHRibF9uYW1lPSclcScgQU5EIHR5cGUhPSd0cmlnZ2VyJwAgVEVYVAAgTlVNACBJTlQAIFJFQUwAdGVtcG9yYXJ5IHRhYmxlIG5hbWUgbXVzdCBiZSB1bnF1YWxpZmllZAACBAgGdGFibGUgJVQgYWxyZWFkeSBleGlzdHMAdGhlcmUgaXMgYWxyZWFkeSBhbiBpbmRleCBuYW1lZCAlcwAGAAAAAABCAEMARABFAG1pc3VzZSBvZiBhZ2dyZWdhdGU6ICVzKCkAdW5rbm93biBmdW5jdGlvbjogJXMoKQBSQUlTRSgpIG1heSBvbmx5IGJlIHVzZWQgd2l0aGluIGEgdHJpZ2dlci1wcm9ncmFtADB4AGhleCBsaXRlcmFsIHRvbyBiaWc6ICVzJXMAIiV3IgBmYWlsZWQgbWVtb3J5IHJlc2l6ZSAldSB0byAldSBieXRlcwBmYWlsZWQgdG8gYWxsb2NhdGUgJXUgYnl0ZXMgb2YgbWVtb3J5AGJpbmQgb24gYSBidXN5IHByZXBhcmVkIHN0YXRlbWVudDogWyVzXQBjYW5ub3Qgb3BlbiB2aXJ0dWFsIHRhYmxlOiAlcwBjYW5ub3Qgb3BlbiB0YWJsZSB3aXRob3V0IHJvd2lkOiAlcwBjYW5ub3Qgb3BlbiB2aWV3OiAlcwBmb3JlaWduIGtleQBpbmRleGVkAGNhbm5vdCBvcGVuICVzIGNvbHVtbiBmb3Igd3JpdGluZwBjYW5ub3Qgb3BlbiB2YWx1ZSBvZiB0eXBlICVzAG5vIHN1Y2ggcm93aWQ6ICVsbGQAAQQDAgV0ZW1wAHVuYWJsZSB0byBjbG9zZSBkdWUgdG8gdW5maW5hbGl6ZWQgc3RhdGVtZW50cyBvciB1bmZpbmlzaGVkIGJhY2t1cHMAdW5hYmxlIHRvIHVzZSBmdW5jdGlvbiAlcyBpbiB0aGUgcmVxdWVzdGVkIGNvbnRleHQAUlRSSU0ATUFUQ0gAZnRzNQBmdHM1X2RlY29kZQBmdHM1X2RlY29kZV9ub25lAGZ0czVfcm93aWQAZnRzNXZvY2FiAGZ0czVfc291cmNlX2lkAGF1dG9tYXRpYyBleHRlbnNpb24gbG9hZGluZyBmYWlsZWQ6ICVzAGZ0czRhdXgAc2ltcGxlAHBvcnRlcgB1bmljb2RlNjEAZnRzM190b2tlbml6ZXIAc25pcHBldABvZmZzZXRzAG1hdGNoaW5mbwBmdHMzAGZ0czQAZnRzM3Rva2VuaXplAHJ0cmVlbm9kZQBydHJlZWRlcHRoAHJ0cmVlY2hlY2sAcnRyZWUAcnRyZWVfaTMyAGpzb25fZWFjaABqc29uX3RyZWUAWyVkXQAuJS4qcwAkAGFycmF5AG9iamVjdAAwMTIzNDU2Nzg5YWJjZGVmAEpTT04gY2Fubm90IGhvbGQgQkxPQiB2YWx1ZXMAbWFsZm9ybWVkIEpTT04ASlNPTiBwYXRoIGVycm9yIG5lYXIgJyVxJwBbMF0AQ1JFQVRFIFRBQkxFIHgoa2V5LHZhbHVlLHR5cGUsYXRvbSxpZCxwYXJlbnQsZnVsbGtleSxwYXRoLGpzb24gSElEREVOLHJvb3QgSElEREVOKQBqc29uX2dyb3VwX2FycmF5AGpzb25fZ3JvdXBfb2JqZWN0AHt9AFtdAGpzb24AanNvbl9hcnJheQBqc29uX2FycmF5X2xlbmd0aABqc29uX2V4dHJhY3QAanNvbl9pbnNlcnQAanNvbl9vYmplY3QAanNvbl9wYXRjaABqc29uX3F1b3RlAGpzb25fcmVtb3ZlAGpzb25fcmVwbGFjZQBqc29uX3NldABqc29uX3R5cGUAanNvbl92YWxpZABqc29uXyVzKCkgbmVlZHMgYW4gb2RkIG51bWJlciBvZiBhcmd1bWVudHMAanNvbl9vYmplY3QoKSByZXF1aXJlcyBhbiBldmVuIG51bWJlciBvZiBhcmd1bWVudHMAanNvbl9vYmplY3QoKSBsYWJlbHMgbXVzdCBiZSBURVhUAGluc2VydABzZXQAbm9kZQBBTFRFUiBUQUJMRSAlUS4nJXFfbm9kZScgICBSRU5BTUUgVE8gIiV3X25vZGUiO0FMVEVSIFRBQkxFICVRLiclcV9wYXJlbnQnIFJFTkFNRSBUTyAiJXdfcGFyZW50IjtBTFRFUiBUQUJMRSAlUS4nJXFfcm93aWQnICBSRU5BTUUgVE8gIiV3X3Jvd2lkIjsAJXNfbm9kZQBkYXRhAFNFTEVDVCAqIEZST00gJVEuJVEAVU5JUVVFIGNvbnN0cmFpbnQgZmFpbGVkOiAlcy4lcwBydHJlZSBjb25zdHJhaW50IGZhaWxlZDogJXMuKCVzPD0lcykAUnRyZWVNYXRjaEFyZwBEUk9QIFRBQkxFICclcScuJyVxX25vZGUnO0RST1AgVEFCTEUgJyVxJy4nJXFfcm93aWQnO0RST1AgVEFCTEUgJyVxJy4nJXFfcGFyZW50JzsAVG9vIG1hbnkgY29sdW1ucyBmb3IgYW4gcnRyZWUgdGFibGUAQ1JFQVRFIFRBQkxFIHgoJXMALCVzACk7AEF1eGlsaWFyeSBydHJlZSBjb2x1bW5zIG11c3QgYmUgbGFzdABQUkFHTUEgJVEucGFnZV9zaXplAFNFTEVDVCBsZW5ndGgoZGF0YSkgRlJPTSAnJXEnLiclcV9ub2RlJyBXSEVSRSBub2Rlbm8gPSAxAHVuZGVyc2l6ZSBSVHJlZSBibG9icyBpbiAiJXFfbm9kZSIAQ1JFQVRFIFRBQkxFICIldyIuIiV3X3Jvd2lkIihyb3dpZCBJTlRFR0VSIFBSSU1BUlkgS0VZLG5vZGVubwAsYSVkACk7Q1JFQVRFIFRBQkxFICIldyIuIiV3X25vZGUiKG5vZGVubyBJTlRFR0VSIFBSSU1BUlkgS0VZLGRhdGEpOwBDUkVBVEUgVEFCTEUgIiV3Ii4iJXdfcGFyZW50Iihub2Rlbm8gSU5URUdFUiBQUklNQVJZIEtFWSxwYXJlbnRub2RlKTsASU5TRVJUIElOVE8gIiV3Ii4iJXdfbm9kZSJWQUxVRVMoMSx6ZXJvYmxvYiglZCkpAFNFTEVDVCBzdGF0IEZST00gJVEuc3FsaXRlX3N0YXQxIFdIRVJFIHRibCA9ICclcV9yb3dpZCcASU5TRVJUIElOVE8iJXciLiIld19yb3dpZCIocm93aWQsbm9kZW5vKVZBTFVFUyg/MSw/MilPTiBDT05GTElDVChyb3dpZClETyBVUERBVEUgU0VUIG5vZGVubz1leGNsdWRlZC5ub2Rlbm8AU0VMRUNUICogRlJPTSAiJXciLiIld19yb3dpZCIgV0hFUkUgcm93aWQ9PzEAVVBEQVRFICIldyIuIiV3X3Jvd2lkIlNFVCAAYSVkPWNvYWxlc2NlKD8lZCxhJWQpAGElZD0/JWQAIFdIRVJFIHJvd2lkPT8xAFdyb25nIG51bWJlciBvZiBjb2x1bW5zIGZvciBhbiBydHJlZSB0YWJsZQBUb28gZmV3IGNvbHVtbnMgZm9yIGFuIHJ0cmVlIHRhYmxlAElOU0VSVCBPUiBSRVBMQUNFIElOVE8gJyVxJy4nJXFfbm9kZScgVkFMVUVTKD8xLCA/MikAREVMRVRFIEZST00gJyVxJy4nJXFfbm9kZScgV0hFUkUgbm9kZW5vID0gPzEAU0VMRUNUIG5vZGVubyBGUk9NICclcScuJyVxX3Jvd2lkJyBXSEVSRSByb3dpZCA9ID8xAElOU0VSVCBPUiBSRVBMQUNFIElOVE8gJyVxJy4nJXFfcm93aWQnIFZBTFVFUyg/MSwgPzIpAERFTEVURSBGUk9NICclcScuJyVxX3Jvd2lkJyBXSEVSRSByb3dpZCA9ID8xAFNFTEVDVCBwYXJlbnRub2RlIEZST00gJyVxJy4nJXFfcGFyZW50JyBXSEVSRSBub2Rlbm8gPSA/MQBJTlNFUlQgT1IgUkVQTEFDRSBJTlRPICclcScuJyVxX3BhcmVudCcgVkFMVUVTKD8xLCA/MikAREVMRVRFIEZST00gJyVxJy4nJXFfcGFyZW50JyBXSEVSRSBub2Rlbm8gPSA/MQBubyBzdWNoIHRhYmxlIGNvbHVtbjogJXMuJXMAd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBmdW5jdGlvbiBydHJlZWNoZWNrKCkAU0VMRUNUICogRlJPTSAlUS4nJXFfcm93aWQnAFNjaGVtYSBjb3JydXB0IG9yIG5vdCBhbiBydHJlZQBfcm93aWQAX3BhcmVudABFTkQAU0VMRUNUIGNvdW50KCopIEZST00gJVEuJyVxJXMnAFdyb25nIG51bWJlciBvZiBlbnRyaWVzIGluICUlJXMgdGFibGUgLSBleHBlY3RlZCAlbGxkLCBhY3R1YWwgJWxsZABTRUxFQ1QgZGF0YSBGUk9NICVRLiclcV9ub2RlJyBXSEVSRSBub2Rlbm89PwBOb2RlICVsbGQgbWlzc2luZyBmcm9tIGRhdGFiYXNlAE5vZGUgJWxsZCBpcyB0b28gc21hbGwgKCVkIGJ5dGVzKQBSdHJlZSBkZXB0aCBvdXQgb2YgcmFuZ2UgKCVkKQBOb2RlICVsbGQgaXMgdG9vIHNtYWxsIGZvciBjZWxsIGNvdW50IG9mICVkICglZCBieXRlcykARGltZW5zaW9uICVkIG9mIGNlbGwgJWQgb24gbm9kZSAlbGxkIGlzIGNvcnJ1cHQARGltZW5zaW9uICVkIG9mIGNlbGwgJWQgb24gbm9kZSAlbGxkIGlzIGNvcnJ1cHQgcmVsYXRpdmUgdG8gcGFyZW50ACVfcGFyZW50ACVfcm93aWQATWFwcGluZyAoJWxsZCAtPiAlbGxkKSBtaXNzaW5nIGZyb20gJXMgdGFibGUARm91bmQgKCVsbGQgLT4gJWxsZCkgaW4gJXMgdGFibGUsIGV4cGVjdGVkICglbGxkIC0+ICVsbGQpAFNFTEVDVCBwYXJlbnRub2RlIEZST00gJVEuJyVxX3BhcmVudCcgV0hFUkUgbm9kZW5vPT8xAFNFTEVDVCBub2Rlbm8gRlJPTSAlUS4nJXFfcm93aWQnIFdIRVJFIHJvd2lkPT8xACV6JXMlegBJbnZhbGlkIGFyZ3VtZW50IHRvIHJ0cmVlZGVwdGgoKQAgJWcAJXMgeyVzfQB7JXN9AENSRUFURSBUQUJMRSB4KGlucHV0LCB0b2tlbiwgc3RhcnQsIGVuZCwgcG9zaXRpb24pAHVua25vd24gdG9rZW5pemVyOiAlcwBjb250ZW50AGRvY3NpemUAc2VnZGlyAHNlZ21lbnRzACVzX3N0YXQAQUxURVIgVEFCTEUgJVEuJyVxX2NvbnRlbnQnICBSRU5BTUUgVE8gJyVxX2NvbnRlbnQnOwBBTFRFUiBUQUJMRSAlUS4nJXFfZG9jc2l6ZScgIFJFTkFNRSBUTyAnJXFfZG9jc2l6ZSc7AEFMVEVSIFRBQkxFICVRLiclcV9zdGF0JyAgUkVOQU1FIFRPICclcV9zdGF0JzsAQUxURVIgVEFCTEUgJVEuJyVxX3NlZ21lbnRzJyBSRU5BTUUgVE8gJyVxX3NlZ21lbnRzJzsAQUxURVIgVEFCTEUgJVEuJyVxX3NlZ2RpcicgICBSRU5BTUUgVE8gJyVxX3NlZ2Rpcic7AFNFTEVDVCB2YWx1ZSBGUk9NICVRLiclcV9zdGF0JyBXSEVSRSBpZD0/AFNFTEVDVCBtYXgobGV2ZWwpIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgQkVUV0VFTiA/IEFORCA/AFNFTEVDVCAoU0VMRUNUIG1heChpZHgpIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgPSA/KSArIDEAU0VMRUNUIGNvYWxlc2NlKChTRUxFQ1QgbWF4KGJsb2NraWQpIEZST00gJVEuJyVxX3NlZ21lbnRzJykgKyAxLCAxKQBERUxFVEUgRlJPTSAlUS4nJXFfc2VnbWVudHMnIFdIRVJFIGJsb2NraWQgQkVUV0VFTiA/IEFORCA/AERFTEVURSBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsIEJFVFdFRU4gPyBBTkQgPwBERUxFVEUgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8AU0VMRUNUIGxldmVsLCBpZHgsIGVuZF9ibG9jayBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsIEJFVFdFRU4gPyBBTkQgPyBPUkRFUiBCWSBsZXZlbCBERVNDLCBpZHggQVNDAFVQREFURSBPUiBGQUlMICVRLiclcV9zZWdkaXInIFNFVCBsZXZlbD0tMSxpZHg9PyBXSEVSRSBsZXZlbD0/IEFORCBpZHg9PwBVUERBVEUgT1IgRkFJTCAlUS4nJXFfc2VnZGlyJyBTRVQgbGV2ZWw9PyBXSEVSRSBsZXZlbD0tMQBSRVBMQUNFIElOVE8gJVEuJyVxX3NlZ2RpcicgVkFMVUVTKD8sPyw/LD8sPyw/KQAlbGxkICVsbGQAUkVQTEFDRSBJTlRPICVRLiclcV9zZWdtZW50cycoYmxvY2tpZCwgYmxvY2spIFZBTFVFUyg/LCA/KQAlc19zZWdtZW50cwBibG9jawBTRUxFQ1QgaWR4LCBzdGFydF9ibG9jaywgbGVhdmVzX2VuZF9ibG9jaywgZW5kX2Jsb2NrLCByb290IEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgQkVUV0VFTiA/IEFORCA/T1JERVIgQlkgbGV2ZWwgREVTQywgaWR4IEFTQwBTRUxFQ1QgaWR4LCBzdGFydF9ibG9jaywgbGVhdmVzX2VuZF9ibG9jaywgZW5kX2Jsb2NrLCByb290IEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgPSA/IE9SREVSIEJZIGlkeCBBU0MAZnRzM2N1cnNvcgBpbGxlZ2FsIGZpcnN0IGFyZ3VtZW50IHRvICVzAHBjeAB1bnJlY29nbml6ZWQgbWF0Y2hpbmZvIHJlcXVlc3Q6ICVjAFNFTEVDVCBzaXplIEZST00gJVEuJyVxX2RvY3NpemUnIFdIRVJFIGRvY2lkPT8AU0VMRUNUICVzIFdIRVJFIHJvd2lkID0gPwBTQVZFUE9JTlQgZnRzMwBSRUxFQVNFIGZ0czMAUk9MTEJBQ0sgVE8gZnRzMwBJbmRleCBvcHRpbWl6ZWQASW5kZXggYWxyZWFkeSBvcHRpbWFsAFNFTEVDVCA/IFVOSU9OIFNFTEVDVCBsZXZlbCAvICgxMDI0ICogPykgRlJPTSAlUS4nJXFfc2VnZGlyJwAlZCAlZCAlZCAlZCAAd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBmdW5jdGlvbiBzbmlwcGV0KCkAPGI+Li4uPC9iPgA8L2I+ADxiPgBTRUxFQ1QgbWF4KCBsZXZlbCAlJSAxMDI0ICkgRlJPTSAlUS4nJXFfc2VnZGlyJwBTRUxFQ1QgbGV2ZWwsIGNvdW50KCopIEFTIGNudCBGUk9NICVRLiclcV9zZWdkaXInICAgR1JPVVAgQlkgbGV2ZWwgSEFWSU5HIGNudD49PyAgT1JERVIgQlkgKGxldmVsICUlIDEwMjQpIEFTQyBMSU1JVCAxAFNFTEVDVCBpZHgsIHN0YXJ0X2Jsb2NrLCBsZWF2ZXNfZW5kX2Jsb2NrLCBlbmRfYmxvY2ssIHJvb3QgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8gQU5EIGlkeCA9ID8AU0VMRUNUIDEgRlJPTSAlUS4nJXFfc2VnbWVudHMnIFdIRVJFIGJsb2NraWQ9PyBBTkQgYmxvY2sgSVMgTlVMTABTRUxFQ1QgMiAqIHRvdGFsKDEgKyBsZWF2ZXNfZW5kX2Jsb2NrIC0gc3RhcnRfYmxvY2spICAgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8gQU5EIGlkeCA8ID8AREVMRVRFIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgPSA/IEFORCBpZHggPSA/AFVQREFURSAlUS4nJXFfc2VnZGlyJyBTRVQgc3RhcnRfYmxvY2sgPSA/LCByb290ID0gP1dIRVJFIGxldmVsID0gPyBBTkQgaWR4ID0gPwBTRUxFQ1QgaWR4IEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWw9PyBPUkRFUiBCWSAxIEFTQwBVUERBVEUgJVEuJyVxX3NlZ2RpcicgU0VUIGlkeCA9ID8gV0hFUkUgbGV2ZWw9PyBBTkQgaWR4PT8AUkVQTEFDRSBJTlRPICVRLiclcV9zdGF0JyBWQUxVRVMoPyw/KQByZWJ1aWxkAFNFTEVDVCAlcwBpbnRlZ3JpdHktY2hlY2sAbWVyZ2U9AENSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTICVRLiclcV9zdGF0JyhpZCBJTlRFR0VSIFBSSU1BUlkgS0VZLCB2YWx1ZSBCTE9CKTsAYXV0b21lcmdlPQBJTlNFUlQgSU5UTyAlUS4nJXFfY29udGVudCcgVkFMVUVTKCVzKQBERUxFVEUgRlJPTSAlUS4nJXFfY29udGVudCcgV0hFUkUgcm93aWQgPSA/AFNFTEVDVCBOT1QgRVhJU1RTKFNFTEVDVCBkb2NpZCBGUk9NICVRLiclcV9jb250ZW50JyBXSEVSRSByb3dpZCE9PykAREVMRVRFIEZST00gJVEuJyVxX2NvbnRlbnQnAERFTEVURSBGUk9NICVRLiclcV9zZWdtZW50cycAREVMRVRFIEZST00gJVEuJyVxX3NlZ2RpcicAREVMRVRFIEZST00gJVEuJyVxX2RvY3NpemUnAERFTEVURSBGUk9NICVRLiclcV9zdGF0JwBTRUxFQ1QgJXMgV0hFUkUgcm93aWQ9PwBTRUxFQ1QgY291bnQoKikgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8AREVMRVRFIEZST00gJVEuJyVxX2RvY3NpemUnIFdIRVJFIGRvY2lkID0gPwBSRVBMQUNFIElOVE8gJVEuJyVxX2RvY3NpemUnIFZBTFVFUyg/LD8pAEZUUyBleHByZXNzaW9uIHRyZWUgaXMgdG9vIGxhcmdlIChtYXhpbXVtIGRlcHRoICVkKQBtYWxmb3JtZWQgTUFUQ0ggZXhwcmVzc2lvbjogWyVzXQBBU0MAREVTQwBTRUxFQ1QgJXMgV0hFUkUgcm93aWQgQkVUV0VFTiAlbGxkIEFORCAlbGxkIE9SREVSIEJZIHJvd2lkICVzAFNFTEVDVCAlcyBPUkRFUiBCWSByb3dpZCAlcwBPUgBBTkQATk9UAE5FQVIARFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX2NvbnRlbnQnAERST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9zZWdtZW50cycARFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX3NlZ2RpcicARFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX2RvY3NpemUnAERST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9zdGF0JwB0b2tlbml6ZQB1bnJlY29nbml6ZWQgbWF0Y2hpbmZvOiAlcwBhc2MAdW5yZWNvZ25pemVkIG9yZGVyOiAlcwB1bnJlY29nbml6ZWQgcGFyYW1ldGVyOiAlcwBlcnJvciBwYXJzaW5nIHByZWZpeCBwYXJhbWV0ZXI6ICVzAGNvbXByZXNzAHVuY29tcHJlc3MAbWlzc2luZyAlcyBwYXJhbWV0ZXIgaW4gZnRzNCBjb25zdHJ1Y3RvcgBkb2NpZAAsJXMoeC4nYyVkJXEnKQAsIHguJVEAbGFuZ2lkACwgeC4nJXEnAF9jb250ZW50ACBGUk9NICclcScuJyVxJXMnIEFTIHgALCVzKD8pACwgPwBkb2NpZCBJTlRFR0VSIFBSSU1BUlkgS0VZACV6LCAnYyVkJXEnACV6LCBsYW5naWQAQ1JFQVRFIFRBQkxFICVRLiclcV9jb250ZW50JyglcykAQ1JFQVRFIFRBQkxFICVRLiclcV9zZWdtZW50cycoYmxvY2tpZCBJTlRFR0VSIFBSSU1BUlkgS0VZLCBibG9jayBCTE9CKTsAQ1JFQVRFIFRBQkxFICVRLiclcV9zZWdkaXInKGxldmVsIElOVEVHRVIsaWR4IElOVEVHRVIsc3RhcnRfYmxvY2sgSU5URUdFUixsZWF2ZXNfZW5kX2Jsb2NrIElOVEVHRVIsZW5kX2Jsb2NrIElOVEVHRVIscm9vdCBCTE9CLFBSSU1BUlkgS0VZKGxldmVsLCBpZHgpKTsAQ1JFQVRFIFRBQkxFICVRLiclcV9kb2NzaXplJyhkb2NpZCBJTlRFR0VSIFBSSU1BUlkgS0VZLCBzaXplIEJMT0IpOwBfX2xhbmdpZAAlUSwgACV6JVEsIABDUkVBVEUgVEFCTEUgeCglcyAlUSBISURERU4sIGRvY2lkIEhJRERFTiwgJVEgSElEREVOKQBwcmVmaXgAb3JkZXIAbGFuZ3VhZ2VpZABub3RpbmRleGVkAHVua25vd24gdG9rZW5pemVyAGFyZ3VtZW50IHR5cGUgbWlzbWF0Y2gAZnRzM3Rva2VuaXplIGRpc2FibGVkAHJlbW92ZV9kaWFjcml0aWNzPTEAcmVtb3ZlX2RpYWNyaXRpY3M9MAB0b2tlbmNoYXJzPQBzZXBhcmF0b3JzPQBDUkVBVEUgVEFCTEUgeCh0ZXJtLCBjb2wsIGRvY3VtZW50cywgb2NjdXJyZW5jZXMsIGxhbmd1YWdlaWQgSElEREVOKQBpbnZhbGlkIGFyZ3VtZW50cyB0byBmdHM0YXV4IGNvbnN0cnVjdG9yAGZ0czU6IDIwMTgtMTItMDEgMTI6MzQ6NTUgYmY4YzFiMmI3YTU5NjBjMjgyZTU0M2I5YzI5MzY4NmRjY2ZmMjcyNTEyZDA4ODY1ZjQ2MDBmYjU4MjM4YjRmOQBmdHM1X2FwaV9wdHIAU0VMRUNUIHBnbm8gRlJPTSAnJXEnLiclcV9pZHgnIFdIRVJFIHNlZ2lkPT8gQU5EIHRlcm08PT8gT1JERVIgQlkgdGVybSBERVNDIExJTUlUIDEAUFJBR01BICVRLmRhdGFfdmVyc2lvbgBTRUxFQ1QgaywgdiBGUk9NICVRLiclcV9jb25maWcnAHZlcnNpb24AaW52YWxpZCBmdHM1IGZpbGUgZm9ybWF0IChmb3VuZCAlZCwgZXhwZWN0ZWQgJWQpIC0gcnVuICdyZWJ1aWxkJwBwZ3N6AGhhc2hzaXplAGF1dG9tZXJnZQB1c2VybWVyZ2UAY3Jpc2lzbWVyZ2UAU0VMRUNUIHQuJVEgRlJPTSAlUS4lUSBBUyB0IFdIRVJFIHQuJVEgTUFUQ0ggJyppZCcAbm8gc3VjaCBmdHM1IHRhYmxlOiAlcy4lcwB3cm9uZyBudW1iZXIgb2YgdnRhYmxlIGFyZ3VtZW50cwBjb2wAcm93AGluc3RhbmNlAGZ0czV2b2NhYjogdW5rbm93biB0YWJsZSB0eXBlOiAlUQBDUkVBVEUgVEFCbEUgdm9jYWIodGVybSwgY29sLCBkb2MsIGNudCkAQ1JFQVRFIFRBQmxFIHZvY2FiKHRlcm0sIGRvYywgY250KQBDUkVBVEUgVEFCbEUgdm9jYWIodGVybSwgZG9jLCBjb2wsIG9mZnNldCkAYXNjaWkAZWVkAGVkAGluZwBhdABhdGUAYmwAYmxlAGl6AGl6ZQBhdGlvbmFsAHRpb25hbABlbmNpAGFuY2kAaXplcgBsb2dpAGJsaQBhbGxpAGVudGxpAGVudABlbGkAb3VzbGkAb3VzAGl6YXRpb24AYXRpb24AYXRvcgBhbGlzbQBpdmVuZXNzAGl2ZQBmdWxuZXNzAGZ1bABvdXNuZXNzAGFsaXRpAGl2aXRpAGJpbGl0aQBpY2FsAG5lc3MAaWNhdGUAaWNpdGkAYXRpdmUAYWxpemUAYWwAYW5jZQBlbmNlAGVyAGljAGFibGUAaWJsZQBhbnQAZW1lbnQAbWVudABpb24Ab3UAaXNtAGl0aQB0b2tlbmNoYXJzAHNlcGFyYXRvcnMATCogTiogQ28AY2F0ZWdvcmllcwByZW1vdmVfZGlhY3JpdGljcwBoaWdobGlnaHQAYm0yNQB3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIHRvIGZ1bmN0aW9uIGhpZ2hsaWdodCgpACV6JS4qcwBmdHM1X2V4cHIAZnRzNV9leHByX3RjbABmdHM1X2lzYWxudW0AZnRzNV9mb2xkAHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gZnVuY3Rpb24gZnRzNV9mb2xkAHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gZnVuY3Rpb24gZnRzNV9pc2FsbnVtAEwqAE4qAENvAHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gZnVuY3Rpb24gJXMAbmVhcnNldAAiIgAlcyA6IABORUFSKAAgKyAALCAlZCkAIE9SIAAgTk9UIAAlcyVzJXolcwAlcyAALWNvbCAlZCAALWNvbCB7JWQAICVkAH0gAC1uZWFyICVkIAAtLQAgewB9ACBbJXpdAHVudGVybWluYXRlZCBzdHJpbmcAZnRzNTogc3ludGF4IGVycm9yIG5lYXIgIiUuMXMiAGZ0czU6IHBhcnNlciBzdGFjayBvdmVyZmxvdwBmdHM1OiBjb2x1bW4gcXVlcmllcyBhcmUgbm90IHN1cHBvcnRlZCAoZGV0YWlsPW5vbmUpAGZ0czU6IHN5bnRheCBlcnJvciBuZWFyICIlLipzIgBleHBlY3RlZCBpbnRlZ2VyLCBnb3QgIiUuKnMiAHBocmFzZQBmdHM1OiAlcyBxdWVyaWVzIGFyZSBub3Qgc3VwcG9ydGVkIChkZXRhaWwhPWZ1bGwpAHJlc2VydmVkIGZ0czUgdGFibGUgbmFtZTogJXMAcGFyc2UgZXJyb3IgaW4gIiVzIgBtYWxmb3JtZWQgcHJlZml4PS4uLiBkaXJlY3RpdmUAdG9vIG1hbnkgcHJlZml4IGluZGV4ZXMgKG1heCAlZCkAcHJlZml4IGxlbmd0aCBvdXQgb2YgcmFuZ2UgKG1heCA5OTkpAG11bHRpcGxlIHRva2VuaXplPS4uLiBkaXJlY3RpdmVzAHBhcnNlIGVycm9yIGluIHRva2VuaXplIGRpcmVjdGl2ZQBubyBzdWNoIHRva2VuaXplcjogJXMAZXJyb3IgaW4gdG9rZW5pemVyIGNvbnN0cnVjdG9yAG11bHRpcGxlIGNvbnRlbnQ9Li4uIGRpcmVjdGl2ZXMAJVEuJVEAY29udGVudF9yb3dpZABtdWx0aXBsZSBjb250ZW50X3Jvd2lkPS4uLiBkaXJlY3RpdmVzAGNvbHVtbnNpemUAbWFsZm9ybWVkIGNvbHVtbnNpemU9Li4uIGRpcmVjdGl2ZQBjb2x1bW5zAG1hbGZvcm1lZCBkZXRhaWw9Li4uIGRpcmVjdGl2ZQB1bnJlY29nbml6ZWQgb3B0aW9uOiAiJS4qcyIAcmVzZXJ2ZWQgZnRzNSBjb2x1bW4gbmFtZTogJXMAdW5pbmRleGVkAHVucmVjb2duaXplZCBjb2x1bW4gb3B0aW9uOiAlcwAlUS4nJXFfJXMnAFQuJVEALCBULiVRACwgVC5jJWQAc2hvdWxkIGJlOiBmdHM1X3Jvd2lkKHN1YmplY3QsIC4uLi4pAHNlZ21lbnQAc2hvdWxkIGJlOiBmdHM1X3Jvd2lkKCdzZWdtZW50Jywgc2VnaWQsIHBnbm8pKQBmaXJzdCBhcmcgdG8gZnRzNV9yb3dpZCgpIG11c3QgYmUgJ3NlZ21lbnQnAHthdmVyYWdlc30gAHtzdHJ1Y3R1cmV9AGRsaWR4IAB7JXNzZWdpZD0lZCBoPSVkIHBnbm89JWR9ACAlZCglbGxkKQAlcyVkACB7bHZsPSVkIG5NZXJnZT0lZCBuU2VnPSVkACB7aWQ9JWQgbGVhdmVzPSVkLi4lZH0AKwAgJWxsZCVzACB0ZXJtPSUuKnMAY29ycnVwdAAgaWQ9JWxsZAAgblBvcz0lZCVzAGNvbmZpZwBSRVBMQUNFIElOVE8gJyVxJy4nJXFfZGF0YScoaWQsIGJsb2NrKSBWQUxVRVMoPyw/KQBERUxFVEUgRlJPTSAnJXEnLiclcV9pZHgnIFdIRVJFIHNlZ2lkPT8AREVMRVRFIEZST00gJyVxJy4nJXFfZGF0YScgV0hFUkUgaWQ+PT8gQU5EIGlkPD0/AElOU0VSVCBJTlRPICclcScuJyVxX2lkeCcoc2VnaWQsdGVybSxwZ25vKSBWQUxVRVMoPyw/LD8pAEFMVEVSIFRBQkxFICVRLiclcV8lcycgUkVOQU1FIFRPICclcV8lcyc7AG5vIHN1Y2ggY3Vyc29yOiAlbGxkAFNFTEVDVCAlcyBGUk9NICVzIEFTIFQAU0VMRUNUICVzIEZST00gJXMgVCBXSEVSRSBULiVRPT8AU0VMRUNUICVzIEZST00gJXMgVCBXSEVSRSBULiVRID49ID8gQU5EIFQuJVEgPD0gPyBPUkRFUiBCWSBULiVRIEFTQwBTRUxFQ1QgJXMgRlJPTSAlcyBUIFdIRVJFIFQuJVEgPD0gPyBBTkQgVC4lUSA+PSA/IE9SREVSIEJZIFQuJVEgREVTQwBSRVBMQUNFIElOVE8gJVEuJyVxX2NvbnRlbnQnIFZBTFVFUyglcykAREVMRVRFIEZST00gJVEuJyVxX2NvbnRlbnQnIFdIRVJFIGlkPT8AREVMRVRFIEZST00gJVEuJyVxX2RvY3NpemUnIFdIRVJFIGlkPT8AU0VMRUNUIHN6IEZST00gJVEuJyVxX2RvY3NpemUnIFdIRVJFIGlkPT8AUkVQTEFDRSBJTlRPICVRLiclcV9jb25maWcnIFZBTFVFUyg/LD8pAGRlbGV0ZS1hbGwAJ2RlbGV0ZS1hbGwnIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBhIGNvbnRlbnRsZXNzIG9yIGV4dGVybmFsIGNvbnRlbnQgZnRzNSB0YWJsZQAncmVidWlsZCcgbWF5IG5vdCBiZSB1c2VkIHdpdGggYSBjb250ZW50bGVzcyBmdHM1IHRhYmxlAG1lcmdlAFNFTEVDVCBzZWdpZCwgdGVybSwgKHBnbm8+PjEpLCAocGdubyYxKSBGUk9NICVRLiclcV9pZHgnIFdIRVJFIHNlZ2lkPSVkAFVQREFURQBERUxFVEUgZnJvbQBjYW5ub3QgJXMgY29udGVudGxlc3MgZnRzNSB0YWJsZTogJXMAU0VMRUNUIGNvdW50KCopIEZST00gJVEuJyVxXyVzJwBERUxFVEUgRlJPTSAlUS4nJXFfZGF0YSc7REVMRVRFIEZST00gJVEuJyVxX2lkeCc7AERFTEVURSBGUk9NICVRLiclcV9kb2NzaXplJzsAbm8gc3VjaCBmdW5jdGlvbjogJXMAcGFyc2UgZXJyb3IgaW4gcmFuayBmdW5jdGlvbjogJXMAcmVhZHMAdW5rbm93biBzcGVjaWFsIHF1ZXJ5OiAlLipzACVzOiB0YWJsZSBkb2VzIG5vdCBzdXBwb3J0IHNjYW5uaW5nAFNFTEVDVCByb3dpZCwgcmFuayBGUk9NICVRLiVRIE9SREVSIEJZICVzKCVzJXMlcykgJXMARFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX2RhdGEnO0RST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9pZHgnO0RST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9jb25maWcnOwBEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfZG9jc2l6ZSc7AERST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9jb250ZW50JzsAJXNfZGF0YQBDUkVBVEUgVEFCTEUgJVEuJyVxXyVxJyglcyklcwBpZCBJTlRFR0VSIFBSSU1BUlkgS0VZLCBibG9jayBCTE9CAGZ0czU6IGVycm9yIGNyZWF0aW5nIHNoYWRvdyB0YWJsZSAlcV8lczogJXMAc2VnaWQsIHRlcm0sIHBnbm8sIFBSSU1BUlkgS0VZKHNlZ2lkLCB0ZXJtKQAgV0lUSE9VVCBST1dJRABpZCBJTlRFR0VSIFBSSU1BUlkgS0VZACwgYyVkAGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIHN6IEJMT0IAayBQUklNQVJZIEtFWSwgdgBDUkVBVEUgVEFCTEUgeCgAJXolcyVRACV6LCAlUSBISURERU4sICVzIEhJRERFTikAdW5hYmxlIHRvIGRlbGV0ZS9tb2RpZnkgY29sbGF0aW9uIHNlcXVlbmNlIGR1ZSB0byBhY3RpdmUgc3RhdGVtZW50cwAvcHJvYy9zZWxmL2ZkLw==";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"])}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={"1024":flags["O_APPEND"],"64":flags["O_CREAT"],"128":flags["O_EXCL"],"0":flags["O_RDONLY"],"2":flags["O_RDWR"],"4096":flags["O_SYNC"],"512":flags["O_TRUNC"],"1":flags["O_WRONLY"]}}),bufferFrom:(function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsForNode:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),write:(function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall118(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall15(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();FS.chmod(path,mode);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall183(which,varargs){SYSCALLS.varargs=varargs;try{var buf=SYSCALLS.get(),size=SYSCALLS.get();if(size===0)return-ERRNO_CODES.EINVAL;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall85(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get(),bufsize=SYSCALLS.get();return SYSCALLS.doReadlink(path,buf,bufsize)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall94(which,varargs){SYSCALLS.varargs=varargs;try{var fd=SYSCALLS.get(),mode=SYSCALLS.get();FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _llvm_log10_f32(x){return Math.log(x)/Math.LN10}function _llvm_log10_f64(){return _llvm_log10_f32.apply(null,arguments)}function _llvm_trap(){abort("trap!")}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function _usleep(useconds){var msec=useconds/1e3;if((ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]){var start=self["performance"]["now"]();while(self["performance"]["now"]()-start>2];var nanoseconds=HEAP32[rqtp+4>>2];if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:var maxHeapSize=2*1024*1024*1024-16777216;return maxHeapSize/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _utimes(path,times){var time;if(times){var offset=8+0;time=HEAP32[times+offset>>2]*1e3;offset=8+4;time+=HEAP32[times+offset>>2]/1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} -// EMSCRIPTEN_START_FUNCS -function Ji(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,nb=0,rb=0,sb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Bc=0,Ec=0,Jc=0,Mc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,af=0,ef=0,hf=0,lf=0,mf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0;Zf=t;t=t+864|0;Ef=Zf+856|0;Pf=Zf+848|0;Ge=Zf+840|0;Tf=Zf+824|0;Vf=Zf+808|0;Sf=Zf+800|0;Fe=Zf+792|0;Ee=Zf+784|0;De=Zf+776|0;Ce=Zf+768|0;Be=Zf+760|0;Ae=Zf+744|0;ze=Zf+736|0;ye=Zf+728|0;xe=Zf+720|0;af=Zf+712|0;_e=Zf+704|0;of=Zf+696|0;Ze=Zf+688|0;Ye=Zf+680|0;Xe=Zf+672|0;We=Zf+664|0;Ve=Zf+640|0;Ue=Zf+632|0;Te=Zf+624|0;Se=Zf+616|0;Re=Zf+600|0;Qe=Zf+584|0;Pe=Zf+568|0;Oe=Zf+552|0;mf=Zf+544|0;lf=Zf+536|0;hf=Zf+528|0;Ne=Zf+520|0;Me=Zf+512|0;Le=Zf+504|0;Ke=Zf+496|0;Je=Zf+480|0;Ie=Zf+464|0;He=Zf+448|0;ef=Zf+440|0;Df=Zf+424|0;xf=Zf+416|0;Cf=Zf+408|0;wf=Zf+400|0;Jf=Zf+352|0;Td=Zf+112|0;be=Zf+280|0;ee=Zf;ke=Zf+272|0;pe=Zf+860|0;qe=a+88|0;o=f[qe>>2]|0;Yf=f[a>>2]|0;Fd=b[Yf+78>>0]|0;Kd=a+92|0;q=f[Kd>>2]|0;e=f[a+152>>2]|0;if(e|0?(g=f[Yf+16>>2]|0,l=f[Yf+20>>2]|0,(l|0)>0):0){c=0;do{if(((c|0)!=1?1<>2]|0,m|0):0)f[(f[m+4>>2]|0)+4>>2]=f[m>>2];c=c+1|0}while((c|0)!=(l|0))}Uf=a+40|0;a:do if((f[Uf>>2]|0)==7){m=o;e=0;g=o;c=0;l=Yf+81|0;ta=3954}else{od=a+56|0;f[od>>2]=0;f[od+4>>2]=0;od=a+104|0;f[od>>2]=0;f[Yf+404>>2]=0;pc=Yf+264|0;b:do if(!(f[pc>>2]|0)){qc=Yf+320|0;if(!(f[qc>>2]|0)){g=-1;ya=Yf+328|0}else{ya=Yf+328|0;g=f[ya>>2]|0;g=g-(((f[a+172>>2]|0)>>>0)%(g>>>0)|0)|0}Nf=a+36|0;rc=a+116|0;If=Yf+88|0;sc=a+192|0;tc=a+112|0;uc=a+143|0;Lf=Yf+16|0;Mf=a+145|0;vc=a+44|0;wc=Yf+100|0;xc=Yf+104|0;yc=a+164|0;zc=Td+8|0;Bc=Td+10|0;Ec=Td+4|0;Jc=Td+8|0;Mc=Td+10|0;Oc=Td+4|0;Pc=Yf+90|0;Qc=be+4|0;Rc=be+12|0;Sc=be+16|0;Tc=be+20|0;Uc=be+24|0;Vc=be+28|0;Wc=be+8|0;Xc=be+64|0;Yc=be+40|0;Zc=be+44|0;_c=be+48|0;$c=be+52|0;ad=be+56|0;bd=be+60|0;cd=be+61|0;dd=Yf+32|0;rd=Yf+272|0;ed=Jf+8|0;fd=Jf+4|0;Of=a+108|0;sd=Yf+79|0;gd=Yf+332|0;hd=Jf+32|0;za=Jf+8|0;md=Yf+184|0;Aa=a+96|0;l=Yf+81|0;id=a+32|0;nd=Yf+176|0;Dd=Yf+444|0;Ba=a+24|0;Ca=ee+8|0;Da=ee+10|0;Ea=ee+4|0;Fa=ee+14|0;Ga=Td+8|0;Ha=Td+4|0;Ia=Jf+8|0;Ja=Yf+232|0;Ka=Yf+108|0;La=Jf+8|0;Ma=Jf+32|0;Na=Jf+24|0;Oa=Yf+172|0;yf=Yf+24|0;Pa=Jf+8|0;Qa=Jf+4|0;Ra=Jf+16|0;pf=Yf+480|0;Sa=a+200|0;Ta=Yf+148|0;Ua=Yf+472|0;jd=a+64|0;Va=Yf+464|0;pd=Yf+276|0;Wa=Jf+12|0;Xa=Td+8|0;Ya=Td+32|0;Za=Jf+8|0;_a=Jf+4|0;$a=Yf+168|0;ab=Yf+4|0;bb=Yf+356|0;cb=Fd<<24>>24==1;db=a+180|0;rf=Yf+304|0;sf=Yf+308|0;Ff=Yf+300|0;eb=Td+8|0;fb=Td+32|0;gb=Td+24|0;hb=Jf+16|0;nb=Jf+12|0;rb=Yf+165|0;sb=Jf+12|0;qd=Yf+288|0;ub=Jf+20|0;vb=Jf+8|0;wb=Jf+4|0;xb=Jf+20|0;Kf=Yf+20|0;kd=Yf+324|0;yb=a+136|0;td=a+184|0;Rd=Yf+456|0;Sd=Yf+452|0;zb=Td+8|0;Ab=Td+20|0;Bb=Td+24|0;Cb=Td+16|0;Db=Td+12|0;Eb=Yf+40|0;Fb=a+212|0;Gb=a+28|0;zf=Yf+296|0;Af=Yf+284|0;Hb=Yf+164|0;Ib=Jf+10|0;Jb=Jf+20|0;Gf=Yf+196|0;Hf=Yf+200|0;Kb=Yf+180|0;Lb=Jf+16|0;Mb=Jf+28|0;Nb=Jf+8|0;Ob=Jf+8|0;Bf=Yf+292|0;Pb=Jf+16|0;Qb=Yf+348|0;Rb=Jf+24|0;Sb=Yf+86|0;Tb=Yf+228|0;Ub=Jf+8|0;Vb=Yf+344|0;Wb=Yf+340|0;Xb=Jf+12|0;Yb=Td+16|0;Zb=Td+8|0;_b=Td+12|0;ld=a+48|0;xa=Yf+80|0;$b=Jf+32|0;ac=Jf+8|0;bc=Yf+336|0;cc=Jf+20|0;Ud=Yf+87|0;dc=Td+24|0;ec=a+72|0;fc=a+80|0;gc=Jf+8|0;hc=Yf+8|0;ic=Yf+92|0;jc=Yf+84|0;kc=Jf+20|0;lc=Jf+24|0;mc=Jf+4|0;nc=Jf+16|0;oc=Jf+4|0;Qf=o;m=o+((f[Nf>>2]|0)*20|0)|0;c=0;Rf=0;va=0;e=0;ua=q;wa=g;c:while(1){e=e+1|0;C=b[m>>0]|0;d:do switch(C<<24>>24){case 81:{ta=148;break c}case 1:{ta=873;break c}case 11:{ta=21;break}case 12:{ta=f[m+4>>2]|0;d[ua+(ta*40|0)+8>>1]=4;sa=(m-Qf|0)/20|0;ta=ua+(ta*40|0)|0;f[ta>>2]=sa;f[ta+4>>2]=((sa|0)<0)<<31>>31;ta=27;break}case 66:{z=f[m+4>>2]|0;m=Qf+((f[ua+(z*40|0)>>2]|0)*20|0)|0;d[ua+(z*40|0)+8>>1]=128;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 13:{sa=f[m+4>>2]|0;qa=(f[m+12>>2]|0)+-1|0;ra=ua+(sa*40|0)|0;f[ra>>2]=qa;f[ra+4>>2]=((qa|0)<0)<<31>>31;d[ua+(sa*40|0)+8>>1]=4;if(!(f[m+8>>2]|0)){z=wa;y=Qf;s=Rf;q=ua;r=va}else ta=27;break}case 67:{z=f[m+4>>2]|0;m=Qf+(((f[Qf+((f[ua+(z*40|0)>>2]|0)*20|0)+8>>2]|0)+-1|0)*20|0)|0;d[ua+(z*40|0)+8>>1]=128;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 14:{z=f[m+4>>2]|0;d[ua+(z*40|0)+8>>1]=4;z=ua+(z*40|0)|0;sa=f[z>>2]|0;y=(m-Qf|0)/20|0;f[z>>2]=y;f[z+4>>2]=((y|0)<0)<<31>>31;z=wa;y=Qf;s=Rf;q=ua;r=va;m=Qf+(sa*20|0)|0;break}case 68:{if(!(d[ua+((f[m+12>>2]|0)*40|0)+8>>1]&1)){z=wa;y=Qf;s=Rf;q=ua;r=va}else ta=33;break}case 69:{ta=33;break}case 70:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;y=f[m+4>>2]|0;z=g;f[z>>2]=y;f[z+4>>2]=((y|0)<0)<<31>>31;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 71:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;s=f[m+16>>2]|0;y=f[s+4>>2]|0;z=g;f[z>>2]=f[s>>2];f[z+4>>2]=y;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case -115:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;d[g+8>>1]=8;p[g>>3]=+p[f[m+16>>2]>>3];z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 106:{ta=f[Kd>>2]|0;w=m+8|0;o=f[w>>2]|0;g=ta+(o*40|0)|0;o=ta+(o*40|0)+8|0;if(!(d[o>>1]&9216)){d[o>>1]=4;q=g}else{Qi(g)|0;q=g}b[m>>0]=72;r=m+16|0;o=f[r>>2]|0;if(!o)g=0;else g=(wz(o)|0)&1073741823;s=m+4|0;f[s>>2]=g;if(!cb){c=$e(q,o,-1,1,0)|0;o=q+8|0;g=d[o>>1]|0;if((g&2)!=0?(b[q+10>>0]|0)!=Fd<<24>>24:0){if(Ri(q,Fd)|0){g=Qf;c=Rf;ta=3954;break a}g=d[o>>1]|0}f[q+24>>2]=0;d[o>>1]=g|2048;g=m+1|0;do if((b[g>>0]|0)==-7?(ge=f[r>>2]|0,ge|0):0){if(f[pf>>2]|0){Kc(Yf,ge);break}ta=ge;if((f[rf>>2]|0)>>>0<=ta>>>0?(f[sf>>2]|0)>>>0>ta>>>0:0){f[ge>>2]=f[Ff>>2];f[Ff>>2]=ge;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](ge);break}else{ta=ib[f[37368>>2]&255](ge)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ge);break}}while(0);b[g>>0]=-7;f[r>>2]=f[q+16>>2];g=f[q+12>>2]|0;f[s>>2]=g}if((g|0)>(f[Ka>>2]|0)){ta=3953;break c}else{g=w;ta=81}break}case 72:{g=m+8|0;ta=81;break}case 73:{q=f[Kd>>2]|0;r=m+8|0;g=f[r>>2]|0;o=q+(g*40|0)|0;q=q+(g*40|0)+8|0;if(!(d[q>>1]&9216))d[q>>1]=4;else{Qi(o)|0;g=f[r>>2]|0}g=(f[m+12>>2]|0)-g|0;s=(f[m+4>>2]|0)==0?1:257;d[o+8>>1]=s;f[o+12>>2]=0;if((g|0)>0)while(1){q=o;o=o+40|0;r=q+48|0;if(!(d[r>>1]&9216))d[r>>1]=1;else cf(o);d[r>>1]=s;f[q+52>>2]=0;if((g|0)<=1){z=wa;y=Qf;s=Rf;q=ua;r=va;break}else g=g+-1|0}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 74:{z=ua+((f[m+4>>2]|0)*40|0)+8|0;d[z>>1]=d[z>>1]&-160|1;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 75:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;$e(g,f[m+16>>2]|0,f[m+4>>2]|0,0,0)|0;b[g+10>>0]=Fd;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 76:{q=f[rc>>2]|0;r=(f[m+4>>2]|0)+-1|0;s=q+(r*40|0)|0;w=q+(r*40|0)+8|0;o=j[w>>1]|0;if(o&18|0){g=f[q+(r*40|0)+12>>2]|0;if(o&16384)g=(f[s>>2]|0)+g|0;if((g|0)>(f[(f[q+(r*40|0)+32>>2]|0)+108>>2]|0)){ta=3953;break c}}o=f[m+8>>2]|0;g=ua+(o*40|0)|0;o=ua+(o*40|0)+8|0;if(d[o>>1]&9216){Si(g,s,2048);z=wa;y=Qf;s=Rf;q=ua;r=va;break d};f[g>>2]=f[s>>2];f[g+4>>2]=f[s+4>>2];f[g+8>>2]=f[s+8>>2];f[g+12>>2]=f[s+12>>2];f[g+16>>2]=f[s+16>>2];if(!(d[w>>1]&2048)){d[o>>1]=d[o>>1]&-7169|2048;z=wa;y=Qf;s=Rf;q=ua;r=va}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 77:{q=ua+((f[m+4>>2]|0)*40|0)|0;r=f[m+12>>2]|0;s=ua+((f[m+8>>2]|0)*40|0)|0;while(1){w=s+8|0;if(!((d[w>>1]&9216)==0?!(f[s+24>>2]|0):0))ff(s);na=s;g=q;oa=na+40|0;do{f[na>>2]=f[g>>2];na=na+4|0;g=g+4|0}while((na|0)<(oa|0));d[q+8>>1]=1;f[q+24>>2]=0;g=d[w>>1]|0;if(g&4096){o=g&65535;do if(o&18){if(o&16384){g=s+12|0;sa=(f[s>>2]|0)+(f[g>>2]|0)|0;if(df(s,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}_A((f[s+16>>2]|0)+(f[g>>2]|0)|0,0,f[s>>2]|0)|0;f[g>>2]=(f[g>>2]|0)+(f[s>>2]|0);g=d[w>>1]&-16897;d[w>>1]=g}if(f[s+24>>2]|0?(f[s+16>>2]|0)==(f[s+20>>2]|0):0)break;if(gf(s)|0){g=Qf;c=Rf;ta=3954;break a}g=d[w>>1]|0}while(0);d[w>>1]=g&-4097}r=r+-1|0;if(!r){z=wa;y=Qf;s=Rf;q=ua;r=va;break}else{q=q+40|0;s=s+40|0}}break}case 78:{q=f[m+12>>2]|0;r=ua+((f[m+4>>2]|0)*40|0)|0;s=ua+((f[m+8>>2]|0)*40|0)|0;while(1){w=s+8|0;if(!(d[w>>1]&9216)){f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];f[s+8>>2]=f[r+8>>2];f[s+12>>2]=f[r+12>>2];f[s+16>>2]=f[r+16>>2];if(!(d[r+8>>1]&2048))d[w>>1]=d[w>>1]&-7169|4096}else Si(s,r,4096);g=d[w>>1]|0;if(g&4096){o=g&65535;do if(o&18){if(o&16384){g=s+12|0;sa=(f[s>>2]|0)+(f[g>>2]|0)|0;if(df(s,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}_A((f[s+16>>2]|0)+(f[g>>2]|0)|0,0,f[s>>2]|0)|0;f[g>>2]=(f[g>>2]|0)+(f[s>>2]|0);g=d[w>>1]&-16897;d[w>>1]=g}if(f[s+24>>2]|0?(f[s+16>>2]|0)==(f[s+20>>2]|0):0)break;if(gf(s)|0){g=Qf;c=Rf;ta=3954;break a}g=d[w>>1]|0}while(0);d[w>>1]=g&-4097}if(!q){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}q=q+-1|0;r=r+40|0;s=s+40|0}}case 79:{g=f[m+4>>2]|0;o=ua+(g*40|0)|0;r=f[m+8>>2]|0;q=ua+(r*40|0)|0;r=ua+(r*40|0)+8|0;if(d[r>>1]&9216){Si(q,o,4096);z=wa;y=Qf;s=Rf;q=ua;r=va;break d};f[q>>2]=f[o>>2];f[q+4>>2]=f[o+4>>2];f[q+8>>2]=f[o+8>>2];f[q+12>>2]=f[o+12>>2];f[q+16>>2]=f[o+16>>2];if(!(d[ua+(g*40|0)+8>>1]&2048)){d[r>>1]=d[r>>1]&-7169|4096;z=wa;y=Qf;s=Rf;q=ua;r=va}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 80:{r=f[m+8>>2]|0;g=ua+(r*40|0)|0;q=ua+((f[m+4>>2]|0)*40|0)|0;o=f[q>>2]|0;q=f[q+4>>2]|0;r=ua+(r*40|0)+8|0;if(!(d[r>>1]&9216)){z=g;f[z>>2]=o;f[z+4>>2]=q;d[r>>1]=4;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{bf(g,o,q);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}case 101:{z=f[m+4>>2]|0;r=ua+(z*40|0)|0;x=f[m+8>>2]|0;w=ua+(x*40|0)|0;A=f[m+12>>2]|0;y=ua+(A*40|0)|0;q=ua+(z*40|0)+8|0;o=d[q>>1]|0;s=ua+(x*40|0)+8|0;g=d[s>>1]|0;if((g|o)&1){g=ua+(A*40|0)+8|0;if(!(d[g>>1]&9216)){d[g>>1]=1;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{cf(y);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}if(o&16384){g=ua+(z*40|0)+12|0;sa=(f[r>>2]|0)+(f[g>>2]|0)|0;if(df(r,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}_A((f[ua+(z*40|0)+16>>2]|0)+(f[g>>2]|0)|0,0,f[r>>2]|0)|0;f[g>>2]=(f[g>>2]|0)+(f[r>>2]|0);o=d[q>>1]&-16897;d[q>>1]=o;g=d[s>>1]|0}if(g&16384){g=ua+(x*40|0)+12|0;sa=(f[w>>2]|0)+(f[g>>2]|0)|0;if(df(w,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}_A((f[ua+(x*40|0)+16>>2]|0)+(f[g>>2]|0)|0,0,f[w>>2]|0)|0;f[g>>2]=(f[g>>2]|0)+(f[w>>2]|0);g=d[s>>1]&-16897;d[s>>1]=g;o=d[q>>1]|0}if(!(o&18)){if(Ti(r,Fd,0)|0){g=Qf;c=Rf;ta=3954;break a}g=d[s>>1]|0}if((g&18)==0?Ti(w,Fd,0)|0:0){g=Qf;c=Rf;ta=3954;break a}r=ua+(z*40|0)+12|0;s=ua+(x*40|0)+12|0;w=(f[s>>2]|0)+(f[r>>2]|0)|0;if((w|0)>(f[Ka>>2]|0)){ta=3953;break c}o=(A|0)==(x|0);if(df(y,w+2|0,o&1)|0){g=Qf;c=Rf;ta=3954;break a}q=ua+(A*40|0)+8|0;d[q>>1]=d[q>>1]&15872|2;g=ua+(x*40|0)+16|0;if(!o){sa=ua+(A*40|0)+16|0;YA(f[sa>>2]|0,f[g>>2]|0,f[s>>2]|0)|0;g=sa}YA((f[g>>2]|0)+(f[s>>2]|0)|0,f[ua+(z*40|0)+16>>2]|0,f[r>>2]|0)|0;b[(f[g>>2]|0)+w>>0]=0;b[(f[g>>2]|0)+(w+1)>>0]=0;d[q>>1]=d[q>>1]|512;f[ua+(A*40|0)+12>>2]=w;b[ua+(A*40|0)+10>>0]=Fd;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 100:case 99:case 98:case 97:case 96:{x=f[m+4>>2]|0;y=ua+(x*40|0)|0;s=ua+(x*40|0)+8|0;g=j[s>>1]|0;o=g&12;if(!o)if(!(g&18))D=0;else D=Ui(y)|0;else D=o&65535;z=f[m+8>>2]|0;A=ua+(z*40|0)|0;w=ua+(z*40|0)+8|0;g=j[w>>1]|0;o=g&12;if(!o)if(!(g&18))C=0;else C=Ui(A)|0;else C=o&65535;E=f[m+12>>2]|0;F=ua+(E*40|0)|0;e:do if(!((D&4&C)<<16>>16)){if(!((d[w>>1]|d[s>>1])&1)){B=0;ta=236}}else{g=y;q=f[g>>2]|0;g=f[g+4>>2]|0;r=A;o=f[r>>2]|0;r=f[r+4>>2]|0;f:do switch(b[m>>0]|0){case 96:{if((g|0)>-1|(g|0)==-1&q>>>0>4294967295){sa=LA(-1,2147483647,o|0,r|0)|0;ra=ba()|0;if(((r|0)>0|(r|0)==0&o>>>0>0)&((ra|0)<(g|0)|(ra|0)==(g|0)&sa>>>0>>0)){B=1;ta=236;break e}}else if((r|0)<0?(ra=LA(1,-2147483648,o|0,r|0)|0,pa=ba()|0,sa=KA(q|0,g|0,1,0)|0,qa=ba()|0,(pa|0)>(qa|0)|(pa|0)==(qa|0)&ra>>>0>sa>>>0):0){B=1;ta=236;break e}o=KA(o|0,r|0,q|0,g|0)|0;g=ba()|0;break}case 97:{if((q|0)==0&(g|0)==-2147483648)if((r|0)>-1|(r|0)==-1&o>>>0>4294967295){B=1;ta=236;break e}else{g=r^-2147483648;break f}if((g|0)<0|(g|0)==0&q>>>0<1){sa=LA(0,0,q|0,g|0)|0;qa=ba()|0;ra=LA(-1,2147483647,o|0,r|0)|0;pa=ba()|0;if(((r|0)>0|(r|0)==0&o>>>0>0)&((pa|0)<(qa|0)|(pa|0)==(qa|0)&ra>>>0>>0)){B=1;ta=236;break e}}else if((r|0)<0?(ra=LA(1,-2147483648,o|0,r|0)|0,pa=ba()|0,sa=LA(1,0,q|0,g|0)|0,qa=ba()|0,(pa|0)>(qa|0)|(pa|0)==(qa|0)&ra>>>0>sa>>>0):0){B=1;ta=236;break e}o=LA(o|0,r|0,q|0,g|0)|0;g=ba()|0;break}case 98:{do if((g|0)>0|(g|0)==0&q>>>0>0){sa=SA(-1,2147483647,q|0,g|0)|0;ra=ba()|0;if((r|0)>(ra|0)|(r|0)==(ra|0)&o>>>0>sa>>>0){B=1;ta=236;break e}sa=OA(0,-2147483648,q|0,g|0)|0;ra=ba()|0;if((r|0)<(ra|0)|(r|0)==(ra|0)&o>>>0>>0){B=1;ta=236;break e}}else if((g|0)<0){if((r|0)>0|(r|0)==0&o>>>0>0){sa=OA(0,-2147483648,o|0,r|0)|0;ra=ba()|0;if((ra|0)>(g|0)|(ra|0)==(g|0)&sa>>>0>q>>>0){B=1;ta=236;break e}else break}if((r|0)<0){if((q|0)==0&(g|0)==-2147483648|(o|0)==0&(r|0)==-2147483648){B=1;ta=236;break e}sa=LA(0,0,o|0,r|0)|0;qa=ba()|0;ra=LA(0,0,q|0,g|0)|0;ra=OA(-1,2147483647,ra|0,ba()|0)|0;pa=ba()|0;if((pa|0)<(qa|0)|(pa|0)==(qa|0)&ra>>>0>>0){B=1;ta=236;break e}}}while(0);o=QA(o|0,r|0,q|0,g|0)|0;g=ba()|0;break}case 99:{if((q|0)==0&(g|0)==0)break e;if((q|0)==-1&(g|0)==-1&((o|0)==0&(r|0)==-2147483648)){B=1;ta=236;break e}o=OA(o|0,r|0,q|0,g|0)|0;g=ba()|0;break}default:{switch(q|0){case 0:{if(!g)break e;break}case -1:{if((g|0)==-1){q=1;g=0}break}default:{}}o=RA(o|0,r|0,q|0,g|0)|0;g=ba()|0}}while(0);z=F;f[z>>2]=o;f[z+4>>2]=g;z=ua+(E*40|0)+8|0;d[z>>1]=d[z>>1]&15872|4;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}while(0);g:do if((ta|0)==236){ta=0;g=j[s>>1]|0;do if(!(g&8)){if(g&4|0){sa=y;v=+((f[sa>>2]|0)>>>0)+4294967296.0*+(f[sa+4>>2]|0);break}if(!(g&18))v=0.0;else v=+Hc(b[ua+(x*40|0)+10>>0]|0,f[ua+(x*40|0)+12>>2]|0,f[ua+(x*40|0)+16>>2]|0)}else v=+p[y>>3];while(0);g=j[w>>1]|0;do if(!(g&8)){if(g&4|0){sa=A;u=+((f[sa>>2]|0)>>>0)+4294967296.0*+(f[sa+4>>2]|0);break}if(!(g&18))u=0.0;else u=+Hc(b[ua+(z*40|0)+10>>0]|0,f[ua+(z*40|0)+12>>2]|0,f[ua+(z*40|0)+16>>2]|0)}else u=+p[A>>3];while(0);switch(b[m>>0]|0){case 96:{u=v+u;break}case 97:{u=u-v;break}case 98:{u=v*u;break}case 99:{if(v==0.0)break g;u=u/v;break}default:{o=~~v>>>0;g=+H(v)>=1.0?(v>0.0?~~+V(+G(v/4294967296.0),4294967295.0)>>>0:~~+T((v-+(~~v>>>0))/4294967296.0)>>>0):0;r=~~u>>>0;q=+H(u)>=1.0?(u>0.0?~~+V(+G(u/4294967296.0),4294967295.0)>>>0:~~+T((u-+(~~u>>>0))/4294967296.0)>>>0):0;switch(o|0){case 0:{if(!g)break g;break}case -1:{if((g|0)==-1){o=1;g=0}break}default:{}}u=+((RA(r|0,q|0,o|0,g|0)|0)>>>0)+4294967296.0*+(ba()|0)}}p[Jf>>3]=u;p[Td>>3]=+p[Jf>>3];if(+p[Jf>>3]==+p[Td>>3]){p[F>>3]=u;q=ua+(E*40|0)+8|0;r=d[q>>1]&15872;d[q>>1]=r|8;if(((C|D)&8)!=0|B<<24>>24!=0){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}g=Fc(u)|0;o=ba()|0;sa=KA(g|0,o|0,1,-2147483648)|0;ra=ba()|0;if(!((ra>>>0>0|(ra|0)==0&sa>>>0>1)&u==+(g>>>0)+4294967296.0*+(o|0))){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}z=F;f[z>>2]=g;f[z+4>>2]=o;d[q>>1]=r|4;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}while(0);g=ua+(E*40|0)+8|0;if(!(d[g>>1]&9216)){d[g>>1]=1;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{cf(F);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}case 82:{g=f[m+4>>2]|0;if(g){o=ua+(g*40|0)|0;g=ua+(g*40|0)+8|0;if(!(d[g>>1]&9216)){z=o;f[z>>2]=0;f[z+4>>2]=0;d[g>>1]=4;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{bf(o,0,0);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 95:case 94:case 93:case 92:{w=f[m+4>>2]|0;o=f[m+8>>2]|0;y=f[m+12>>2]|0;z=ua+(y*40|0)|0;r=ua+(w*40|0)+8|0;q=d[r>>1]|0;g=d[ua+(o*40|0)+8>>1]|0;if((g|q)&1){g=ua+(y*40|0)+8|0;if(!(d[g>>1]&9216)){d[g>>1]=1;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{cf(z);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}s=ua+(o*40|0)|0;x=ua+(w*40|0)|0;g=g&65535;do if(!(g&4)){if(g&8|0){o=Fc(+p[s>>3])|0;g=ba()|0;break}if(!(g&18)){o=0;g=0}else{o=Gc(b[ua+(o*40|0)+10>>0]|0,f[ua+(o*40|0)+12>>2]|0,f[ua+(o*40|0)+16>>2]|0)|0;g=ba()|0;q=d[r>>1]|0}}else{g=s;o=f[g>>2]|0;g=f[g+4>>2]|0}while(0);q=q&65535;do if(!(q&4)){if(q&8|0){r=Fc(+p[x>>3])|0;w=ba()|0;break}if(!(q&18)){r=0;w=0}else{r=Gc(b[ua+(w*40|0)+10>>0]|0,f[ua+(w*40|0)+12>>2]|0,f[ua+(w*40|0)+16>>2]|0)|0;w=ba()|0}}else{w=x;r=f[w>>2]|0;w=f[w+4>>2]|0}while(0);q=b[m>>0]|0;h:do switch(q<<24>>24){case 92:{o=r&o;g=w&g;break}case 93:{o=r|o;g=w|g;break}default:if(!((r|0)==0&(w|0)==0)){qa=(w|0)<0;ra=(w|0)>-1|(w|0)==-1&r>>>0>4294967232;pa=LA(0,0,r|0,w|0)|0;sa=ba()|0;s=qa?189-(q&255)&255:q;r=qa?(ra?pa:64):r;q=qa?(ra?sa:0):w;if((q|0)>0|(q|0)==0&r>>>0>63){g=((g|0)<0&s<<24>>24!=94)<<31>>31;o=g;g=((g|0)<0)<<31>>31;break h}if(s<<24>>24==94){o=WA(o|0,g|0,r|0)|0;g=ba()|0;break h}else{o=VA(o|0,g|0,r|0)|0;sa=ba()|0;ra=(g|0)<0;qa=LA(64,0,r|0,q|0)|0;ba()|0;qa=WA(-1,-1,qa|0)|0;g=ba()|0;o=(ra?qa:0)|o;g=(ra?g:0)|sa;break h}}}while(0);f[z>>2]=o;f[z+4>>2]=g;z=ua+(y*40|0)+8|0;d[z>>1]=d[z>>1]&15872|4;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 83:{g=f[m+4>>2]|0;s=ua+(g*40|0)|0;w=ua+(g*40|0)+8|0;r=d[w>>1]|0;o=r&65535;do if(!(o&4)){if(o&8|0){o=Fc(+p[s>>3])|0;q=ba()|0;g=r;break}if(!(o&18)){o=0;q=0;g=r}else{o=Gc(b[ua+(g*40|0)+10>>0]|0,f[ua+(g*40|0)+12>>2]|0,f[ua+(g*40|0)+16>>2]|0)|0;q=ba()|0;g=d[w>>1]|0}}else{q=s;o=f[q>>2]|0;q=f[q+4>>2]|0;g=r}while(0);y=s;f[y>>2]=o;f[y+4>>2]=q;d[w>>1]=g&15872|4;y=f[m+8>>2]|0;q=KA(o|0,q|0,y|0,((y|0)<0)<<31>>31|0)|0;y=ba()|0;z=s;f[z>>2]=q;f[z+4>>2]=y;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 15:{r=f[m+4>>2]|0;w=ua+(r*40|0)+8|0;g=d[w>>1]|0;if(!(g&4)){s=ua+(r*40|0)|0;o=g&65535;do if(!(o&4)){if(o&8|0){v=+p[s>>3];o=Fc(v)|0;q=ba()|0;sa=KA(o|0,q|0,1,-2147483648)|0;ra=ba()|0;r=g&15872|4;if(!((ra>>>0>0|(ra|0)==0&sa>>>0>1)&v==+(o>>>0)+4294967296.0*+(q|0)))break;g=s;f[g>>2]=o;f[g+4>>2]=q;d[w>>1]=r;g=r;break}if(o&2){o=b[ua+(r*40|0)+10>>0]|0;q=ua+(r*40|0)+16|0;g=ua+(r*40|0)+12|0;if(!(jf(f[q>>2]|0,Jf,f[g>>2]|0,o)|0))g=d[w>>1]|0;else{if(kf(f[q>>2]|0,Td,f[g>>2]|0,o)|0){v=+p[Jf>>3];p[s>>3]=v;o=d[w>>1]|0;g=o|8;d[w>>1]=g;q=Fc(v)|0;r=ba()|0;sa=KA(q|0,r|0,1,-2147483648)|0;ra=ba()|0;if((ra>>>0>0|(ra|0)==0&sa>>>0>1)&v==+(q>>>0)+4294967296.0*+(r|0)){g=s;f[g>>2]=q;f[g+4>>2]=r;g=o&15872;ta=313}}else{sa=Td;ta=f[sa+4>>2]|0;g=s;f[g>>2]=f[sa>>2];f[g+4>>2]=ta;g=d[w>>1]|0;ta=313}if((ta|0)==313){ta=0;g=g|4;d[w>>1]=g}g=g&-3;d[w>>1]=g}}}while(0);if(!(g&4))if(!(f[m+8>>2]|0)){r=Qf;q=Rf;c=20;ta=3925;break a}else{ta=27;break d}}d[w>>1]=g&15872|4;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 84:{o=f[m+4>>2]|0;r=ua+(o*40|0)+8|0;g=d[r>>1]|0;if(!(g&4)){z=wa;y=Qf;s=Rf;q=ua;r=va}else{s=ua+(o*40|0)|0;q=g&65535;do if(!(q&8)){if(q&4|0){sa=s;u=+((f[sa>>2]|0)>>>0)+4294967296.0*+(f[sa+4>>2]|0);break}if(!(q&18))u=0.0;else{u=+Hc(b[ua+(o*40|0)+10>>0]|0,f[ua+(o*40|0)+12>>2]|0,f[ua+(o*40|0)+16>>2]|0);g=d[r>>1]|0}}else u=+p[s>>3];while(0);p[s>>3]=u;d[r>>1]=g&15872|8;z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 85:{c=f[m+4>>2]|0;q=ua+(c*40|0)|0;g=ua+(c*40|0)+8|0;if(d[g>>1]&16384){o=ua+(c*40|0)+12|0;sa=(f[q>>2]|0)+(f[o>>2]|0)|0;if(!(df(q,(sa|0)>1?sa:1,1)|0)){_A((f[ua+(c*40|0)+16>>2]|0)+(f[o>>2]|0)|0,0,f[q>>2]|0)|0;f[o>>2]=(f[o>>2]|0)+(f[q>>2]|0);d[g>>1]=d[g>>1]&-16897;c=0}else c=7}else c=0;Vi(q,f[m+8>>2]&255,Fd);if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case 57:case 54:case 55:case 56:case 52:case 53:{w=f[m+4>>2]|0;A=ua+(w*40|0)|0;y=f[m+12>>2]|0;z=ua+(y*40|0)|0;B=ua+(w*40|0)+8|0;g=d[B>>1]|0;D=ua+(y*40|0)+8|0;o=d[D>>1]|0;r=g&65535;x=o&65535;s=(o|g)&65535;E=m+2|0;q=j[E>>1]|0;do if(!(s&1)){q=q&71;if(q>>>0>66){if(s&2){if((r&14|0)==2){q=b[ua+(w*40|0)+10>>0]|0;r=ua+(w*40|0)+16|0;o=ua+(w*40|0)+12|0;if(jf(f[r>>2]|0,Jf,f[o>>2]|0,q)|0){if(!(kf(f[r>>2]|0,Td,f[o>>2]|0,q)|0)){ra=Td;sa=f[ra+4>>2]|0;o=A;f[o>>2]=f[ra>>2];f[o+4>>2]=sa;o=4}else{p[A>>3]=+p[Jf>>3];o=8}d[B>>1]=d[B>>1]&-3|o}s=d[D>>1]|0}else s=o;if((s&14)==2){q=b[ua+(y*40|0)+10>>0]|0;r=ua+(y*40|0)+16|0;o=ua+(y*40|0)+12|0;if(!(jf(f[r>>2]|0,Jf,f[o>>2]|0,q)|0))o=d[D>>1]|0;else{if(!(kf(f[r>>2]|0,Td,f[o>>2]|0,q)|0)){ra=Td;sa=f[ra+4>>2]|0;o=z;f[o>>2]=f[ra>>2];f[o+4>>2]=sa;o=4}else{p[z>>3]=+p[Jf>>3];o=8}o=d[D>>1]&-3|o;d[D>>1]=o}w=s}else{w=s;o=s}}else w=o;if((o&4&d[B>>1])<<16>>16){s=z;r=f[s>>2]|0;s=f[s+4>>2]|0;q=A;o=f[q>>2]|0;q=f[q+4>>2]|0;if((s|0)>(q|0)|(s|0)==(q|0)&r>>>0>o>>>0){o=w;q=b[m>>0]|0;ta=368;break}else{r=((s|0)<(q|0)|(s|0)==(q|0)&r>>>0>>0)<<31>>31;o=w}}else{o=w;ta=364}}else if((q|0)==66){if(!((r&2|0)!=0|(r&12|0)==0)){Ti(A,Fd,1)|0;g=(r&49663|d[B>>1]&15872)&65535}if((x&2|0)!=0|(x&12|0)==0)ta=364;else{Ti(z,Fd,1)|0;o=(x&49663|d[D>>1]&15872)&65535;ta=364}}else ta=364;if((ta|0)==364){ta=0;r=nf(z,A,f[m+16>>2]|0)|0}if((r|0)>=0){s=b[m>>0]|0;q=(s&255)+-52|0;if(!r){ta=370;break}else{ta=371;break}}else{s=b[m>>0]|0;w=r;q=43328+((s&255)+-52)|0;break}}else{if(q&128|0){if(!((g&1&o)<<16>>16!=0&(x&256|0)==0)){q=C;ta=368;break}s=C;q=(C&255)+-52|0;ta=370;break}if(!(q&32))if(!(q&16)){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{ta=27;break d}else{z=ua+((f[m+8>>2]|0)*40|0)+8|0;d[z>>1]=d[z>>1]&15872|1;z=wa;y=Qf;s=Rf;q=ua;r=1;break d}}while(0);if((ta|0)==368){r=1;s=q;q=(q&255)+-52|0;ta=371}else if((ta|0)==370){ta=0;w=0;q=43334+q|0}if((ta|0)==371){ta=0;w=r;q=43340+q|0}q=b[q>>0]|0;r=q&255;d[B>>1]=g;d[D>>1]=o;o=j[E>>1]|0;if(!(o&32))if(!(q<<24>>24)){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{ta=27;break d}g=f[m+8>>2]|0;if(o&8|0?(r|0)==(s<<24>>24==53|0):0){z=wa;y=Qf;s=Rf;q=ua;r=w;break d}z=ua+(g*40|0)+8|0;d[z>>1]=d[z>>1]&15872|4;z=ua+(g*40|0)|0;f[z>>2]=q&255;f[z+4>>2]=0;z=wa;y=Qf;s=Rf;q=ua;r=w;break}case 58:{if(!va){z=wa;y=Qf;s=Rf;q=ua;r=0}else ta=27;break}case -87:case 61:{o=b[If>>0]|0;do if((o&-127)<<24>>24?((h[Mf>>0]|h[Mf+1>>0]<<8)&16)==0:0){g=f[m+16>>2]|0;if(!g){g=f[td>>2]|0;if(!g)break}if(o<<24>>24<0){sa=f[Gf>>2]|0;g=Kj(a,g)|0;pb[sa&127](f[Hf>>2]|0,g);if(!g)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}if((f[Kb>>2]|0)<=1){lb[f[Gf>>2]&127](1,f[Hf>>2]|0,a,g)|0;break}f[Fe>>2]=g;g=Ig(Yf,44751,Fe)|0;lb[f[Gf>>2]&127](1,f[Hf>>2]|0,a,g)|0;if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}}while(0);r=m+4|0;g=f[r>>2]|0;if((g|0)>=(f[9396]|0)){if((b[m>>0]|0)==-87){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}o=f[yb>>2]|0;if((o|0)>1){q=f[qe>>2]|0;g=1;do{if((b[q+(g*20|0)>>0]|0)==17)f[q+(g*20|0)+4>>2]=0;g=g+1|0}while((g|0)!=(o|0))}f[r>>2]=0;g=0}f[r>>2]=g+1;f[db>>2]=(f[db>>2]|0)+1;ta=27;break}case 87:{if(!(d[m+2>>1]&1))r=0;else r=(f[m+-4>>2]|0)+4|0;w=f[m+12>>2]|0;x=f[m+16>>2]|0;y=f[m+4>>2]|0;z=f[m+8>>2]|0;if((w|0)>0){s=x+16|0;i:do if(!r){o=0;while(1){g=b[(f[s>>2]|0)+o>>0]|0;q=nf(ua+((o+y|0)*40|0)|0,ua+((o+z|0)*40|0)|0,f[x+20+(o<<2)>>2]|0)|0;o=o+1|0;if(q|0){o=q;break i}if((o|0)>=(w|0)){z=wa;y=Qf;s=Rf;q=ua;r=0;break d}}}else{q=0;while(1){o=f[r+(q<<2)>>2]|0;g=b[(f[s>>2]|0)+q>>0]|0;o=nf(ua+((o+y|0)*40|0)|0,ua+((o+z|0)*40|0)|0,f[x+20+(q<<2)>>2]|0)|0;q=q+1|0;if(o|0)break i;if((q|0)>=(w|0)){z=wa;y=Qf;s=Rf;q=ua;r=0;break d}}}while(0);z=wa;y=Qf;s=Rf;q=ua;r=g<<24>>24==0?o:0-o|0}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 16:{if((va|0)<0){z=wa;y=Qf;s=Rf;q=ua;r=va;m=Qf+(((f[m+4>>2]|0)+-1|0)*20|0)|0;break d}if(!va){z=wa;y=Qf;s=Rf;q=ua;r=0;m=Qf+(((f[m+8>>2]|0)+-1|0)*20|0)|0;break d}else{z=wa;y=Qf;s=Rf;q=ua;r=va;m=Qf+(((f[m+12>>2]|0)+-1|0)*20|0)|0;break d}}case 43:case 44:{g=f[m+4>>2]|0;o=ua+(g*40|0)|0;q=j[ua+(g*40|0)+8>>1]|0;if(!(q&4))if(!(q&1)){if(!(q&8))if(!(q&18))u=0.0;else u=+Hc(b[ua+(g*40|0)+10>>0]|0,f[ua+(g*40|0)+12>>2]|0,f[ua+(g*40|0)+16>>2]|0);else u=+p[o>>3];r=u!=0.0&1}else r=2;else{r=o;r=((f[r>>2]|0)!=0|(f[r+4>>2]|0)!=0)&1}g=f[m+8>>2]|0;o=ua+(g*40|0)|0;q=j[ua+(g*40|0)+8>>1]|0;if(!(q&4))if(!(q&1)){if(!(q&8))if(!(q&18))u=0.0;else u=+Hc(b[ua+(g*40|0)+10>>0]|0,f[ua+(g*40|0)+12>>2]|0,f[ua+(g*40|0)+16>>2]|0);else u=+p[o>>3];g=u!=0.0&1}else g=2;else{g=o;g=((f[g>>2]|0)!=0|(f[g+4>>2]|0)!=0)&1}g=b[((b[m>>0]|0)==44?43346:43355)+(g+(r*3|0))>>0]|0;o=f[m+12>>2]|0;if(g<<24>>24==2){z=ua+(o*40|0)+8|0;d[z>>1]=d[z>>1]&15872|1;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{z=ua+(o*40|0)|0;f[z>>2]=g&255;f[z+4>>2]=0;z=ua+(o*40|0)+8|0;d[z>>1]=d[z>>1]&15872|4;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}case 88:{s=f[m+8>>2]|0;w=ua+(s*40|0)|0;o=f[m+4>>2]|0;q=ua+(o*40|0)|0;r=j[ua+(o*40|0)+8>>1]|0;if(!(r&4)){g=f[m+12>>2]|0;if(!(r&1)){if(!(r&8))if(!(r&18))u=0.0;else u=+Hc(b[ua+(o*40|0)+10>>0]|0,f[ua+(o*40|0)+12>>2]|0,f[ua+(o*40|0)+16>>2]|0);else u=+p[q>>3];g=u!=0.0&1}}else{g=q;g=((f[g>>2]|0)!=0|(f[g+4>>2]|0)!=0)&1}o=f[m+16>>2]^g;q=((o|0)<0)<<31>>31;g=ua+(s*40|0)+8|0;if(!(d[g>>1]&9216)){z=w;f[z>>2]=o;f[z+4>>2]=q;d[g>>1]=4;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{bf(w,o,q);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}case 19:{o=f[m+4>>2]|0;r=f[m+8>>2]|0;s=ua+(r*40|0)|0;g=d[ua+(o*40|0)+8>>1]|0;if(g&1){g=ua+(r*40|0)+8|0;if(!(d[g>>1]&9216)){d[g>>1]=1;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{cf(s);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}q=ua+(o*40|0)|0;g=g&65535;if(!(g&4))if(!(g&1)){if(!(g&8))if(!(g&18))u=0.0;else u=+Hc(b[ua+(o*40|0)+10>>0]|0,f[ua+(o*40|0)+12>>2]|0,f[ua+(o*40|0)+16>>2]|0);else u=+p[q>>3];g=u!=0.0}else g=0;else{g=q;g=(f[g>>2]|0)!=0|(f[g+4>>2]|0)!=0}o=(g^1)&1;g=ua+(r*40|0)+8|0;if(!(d[g>>1]&9216)){z=s;f[z>>2]=o;f[z+4>>2]=0;d[g>>1]=4;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{bf(s,o,0);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}case 103:{q=f[m+4>>2]|0;g=f[m+8>>2]|0;s=ua+(g*40|0)|0;g=ua+(g*40|0)+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else cf(s);o=ua+(q*40|0)+8|0;if(!(d[o>>1]&1)){r=ua+(q*40|0)|0;d[g>>1]=4;g=j[o>>1]|0;do if(!(g&4)){if(g&8|0){g=Fc(+p[r>>3])|0;o=ba()|0;break}if(!(g&18)){g=0;o=0}else{g=Gc(b[ua+(q*40|0)+10>>0]|0,f[ua+(q*40|0)+12>>2]|0,f[ua+(q*40|0)+16>>2]|0)|0;o=ba()|0}}else{o=r;g=f[o>>2]|0;o=f[o+4>>2]|0}while(0);z=s;f[z>>2]=~g;f[z+4>>2]=~o;z=wa;y=Qf;s=Rf;q=ua;r=va}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 17:{g=f[sc>>2]|0;if(!g){o=f[(f[qe>>2]|0)+4>>2]|0;g=m+4|0;if((o|0)==(f[g>>2]|0)){ta=27;break d}}else{q=(m-(f[qe>>2]|0)|0)/20|0;g=(f[g+24>>2]|0)+(q>>>3)|0;o=h[g>>0]|0;q=1<<(q&7);if(q&o|0){ta=27;break d}b[g>>0]=q|o;g=m+4|0;o=f[(f[qe>>2]|0)+4>>2]|0}f[g>>2]=o;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 18:{o=f[m+4>>2]|0;q=ua+(o*40|0)|0;r=j[ua+(o*40|0)+8>>1]|0;if(!(r&4)){g=f[m+12>>2]|0;if(!(r&1)){if(!(r&8))if(!(r&18))u=0.0;else u=+Hc(b[ua+(o*40|0)+10>>0]|0,f[ua+(o*40|0)+12>>2]|0,f[ua+(o*40|0)+16>>2]|0);else u=+p[q>>3];g=u!=0.0&1}}else{g=q;g=((f[g>>2]|0)!=0|(f[g+4>>2]|0)!=0)&1}if(!g){z=wa;y=Qf;s=Rf;q=ua;r=va}else ta=27;break}case 20:{g=f[m+4>>2]|0;o=ua+(g*40|0)|0;q=j[ua+(g*40|0)+8>>1]|0;if(q&4|0){sa=o;if((f[sa>>2]|0)==0&(f[sa+4>>2]|0)==0){ta=27;break d}else{z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}if(q&1|0)if(!(f[m+12>>2]|0)){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{ta=27;break d}if(!(q&8)){if(!(q&18)){ta=27;break d}u=+Hc(b[ua+(g*40|0)+10>>0]|0,f[ua+(g*40|0)+12>>2]|0,f[ua+(g*40|0)+16>>2]|0)}else u=+p[o>>3];if(u!=0.0){z=wa;y=Qf;s=Rf;q=ua;r=va}else ta=27;break}case 50:{if(!(d[ua+((f[m+4>>2]|0)*40|0)+8>>1]&1)){z=wa;y=Qf;s=Rf;q=ua;r=va}else ta=27;break}case 51:{if(!(d[ua+((f[m+4>>2]|0)*40|0)+8>>1]&1))ta=27;else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 21:{if(b[(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+2>>0]|0){g=f[m+12>>2]|0;o=ua+(g*40|0)+8|0;if(!(d[o>>1]&9216)){d[o>>1]=1;ta=27;break d}else{cf(ua+(g*40|0)|0);ta=27;break d}}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 90:{o=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;g=f[m+8>>2]|0;do if(!(b[o+3>>0]|0)){if(b[f[o+40>>2]>>0]|0){c=Xi(o)|0;ta=486}}else{c=f[o+24>>2]|0;if(c|0?(Vd=f[c+(g+1<<2)>>2]|0,(Vd|0)>0):0){g=Vd+-1|0;o=f[o+36>>2]|0;break}c=Wi(o)|0;ta=486}while(0);if((ta|0)==486){ta=0;if(c){ta=579;break c}}F=f[m+12>>2]|0;I=ua+(F*40|0)|0;E=f[o+72>>2]|0;r=o+28|0;c=f[id>>2]|0;j:do if((f[r>>2]|0)!=(c|0)){do if(b[o+2>>0]|0){if((b[o>>0]|0)==3){q=f[o+32>>2]|0;y=f[ua+(q*40|0)+12>>2]|0;f[o+84>>2]=y;f[o+80>>2]=y;q=f[ua+(q*40|0)+16>>2]|0;y=o+76|0;f[y>>2]=q;break}c=ua+(F*40|0)+8|0;if(!(d[c>>1]&9216)){d[c>>1]=1;break j}else{cf(I);break j}}else{sa=f[o+40>>2]|0;oh(sa);ta=f[sa+44>>2]|0;f[o+80>>2]=ta;c=j[sa+48>>1]|0;q=f[sa+40>>2]|0;sa=(f[(f[sa+116>>2]|0)+60>>2]|0)-q|0;f[o+84>>2]=(sa|0)<(c|0)?((sa|0)>0?sa:0):c;c=o+76|0;f[c>>2]=q;if(ta>>>0>(f[Ka>>2]|0)>>>0){ta=497;break c}y=c;c=f[id>>2]|0}while(0);f[r>>2]=c;ta=b[q>>0]|0;c=ta&255;if(ta<<24>>24>-1){f[E>>2]=c;x=1}else{r=h[q+1>>0]|0;do if(r&128){s=h[q+2>>0]|0;if(!(s&128)){f[E>>2]=(c<<14|s)&2080895|r<<7&16256;c=3;break}else{c=Th(q,Jf)|0;sa=Jf;ta=f[sa>>2]|0;f[E>>2]=((ta|0)==(ta|0)?0==(f[sa+4>>2]|0):0)?ta:-1;break}}else{f[E>>2]=c<<7&16256|r;c=2}while(0);x=c&255}w=o+48|0;f[w>>2]=x;r=o+58|0;d[r>>1]=0;c=o+84|0;s=f[E>>2]|0;if((f[c>>2]|0)>>>0>=s>>>0){q=f[y>>2]|0;c=0;ta=518;break}f[y>>2]=0;f[c>>2]=0;ta=f[E>>2]|0;if(ta>>>0<=98307?ta>>>0<=(f[o+80>>2]|0)>>>0:0){c=0;ta=510}else ta=575}else{c=o+58|0;r=c;c=d[c>>1]|0;ta=510}while(0);do if((ta|0)==510){if((g|0)<(c&65535|0)){r=f[o+88+(g<<2)>>2]|0;ta=554;break}y=o+48|0;x=f[y>>2]|0;s=f[E>>2]|0;if(x>>>0>>0){q=f[o+76>>2]|0;if(!q){na=Td;oa=na+40|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));s=f[o+40>>2]|0;w=f[E>>2]|0;ta=j[s+48>>1]|0;q=f[s+40>>2]|0;sa=(f[(f[s+116>>2]|0)+60>>2]|0)-q|0;if(w>>>0>((sa|0)<(ta|0)?((sa|0)>0?sa:0):ta)>>>0){c=Yi(s,0,w,Td)|0;if(c|0){ta=579;break c}c=d[r>>1]|0;s=f[y>>2]|0;q=f[Yb>>2]|0}else{f[Yb>>2]=q;d[Zb>>1]=4112;f[_b>>2]=w;s=x}w=y;x=s;s=f[E>>2]|0;ta=518}else{w=y;ta=518}}else{q=0;ta=544}}while(0);do if((ta|0)==518){B=c&65535;D=q+s|0;c=B;s=q+x|0;B=f[E+(B<<2)>>2]|0;C=0;do{ta=b[s>>0]|0;A=ta&255;x=s+1|0;if(ta<<24>>24>-1){s=x;y=A;x=h[7808+A>>0]|0;z=0}else{y=h[x>>0]|0;do if(y&128){z=h[s+2>>0]|0;if(!(z&128)){x=3;y=(A<<14|z)&2080895|y<<7&16256;ta=527;break}x=Th(s,Jf)|0;ta=Jf;y=f[ta>>2]|0;if((y|0)==(y|0)?0==(f[ta+4>>2]|0):0)ta=527;else{y=-1;s=s+(x&255)|0;ta=528}}else{x=2;y=A<<7&16256|y;ta=527}while(0);if((ta|0)==527){ta=0;s=s+(x&255)|0;if(y>>>0>127)ta=528;else x=h[7808+y>>0]|0}if((ta|0)==528)x=(y+-12|0)>>>1;z=0}B=KA(x|0,z|0,B|0,C|0)|0;C=ba()|0;ta=c;c=c+1|0;f[o+88+(ta<<2)>>2]=y;f[E+(c<<2)>>2]=B;x=s>>>0>>0}while((ta|0)<(g|0)&x);if(!x)if(s>>>0<=D>>>0?((C|0)==0?(B|0)==(f[o+80>>2]|0):0):0){x=C;z=B;ta=536}else ta=537;else{x=0;z=f[o+80>>2]|0;ta=536}if((ta|0)==536){ta=0;if(C>>>0>x>>>0|(C|0)==(x|0)&B>>>0>z>>>0)ta=537}if((ta|0)==537)if(!(f[E>>2]|0)){c=0;s=D}else{if(f[o+76>>2]|0){ta=575;break}if((d[Zb>>1]&9216)==0&(f[dc>>2]|0)==0){ta=575;break}ff(Td);ta=575;break}c=c&65535;d[r>>1]=c;f[w>>2]=s-q;if((f[o+76>>2]|0)==0?!((d[Zb>>1]&9216)==0&(f[dc>>2]|0)==0):0){ff(Td);q=y;c=d[r>>1]|0;ta=544}else{q=y;ta=544}}while(0);do if((ta|0)==544){ta=0;if((g|0)>=(c&65535|0)){if((b[m+1>>0]|0)!=-11){c=ua+(F*40|0)+8|0;if(!(d[c>>1]&9216)){d[c>>1]=1;break}else{cf(I);break}}g=f[m+16>>2]|0;c=ua+(F*40|0)+8|0;if(d[c>>1]&9216){Si(I,g,2048);break};f[I>>2]=f[g>>2];f[I+4>>2]=f[g+4>>2];f[I+8>>2]=f[g+8>>2];f[I+12>>2]=f[g+12>>2];f[I+16>>2]=f[g+16>>2];if(!(d[g+8>>1]&2048))d[c>>1]=d[c>>1]&-7169|2048}else{r=q;ta=554}}else if((ta|0)==575){ta=0;c=f[Qf+12>>2]|0;if((c|0)<=0){ta=577;break c}m=Qf+((c+-1|0)*20|0)|0}while(0);k:do if((ta|0)==554){ta=0;s=ua+(F*40|0)+8|0;if(d[s>>1]&9216)cf(I);if((f[o+84>>2]|0)>>>0>=(f[E+(g+1<<2)>>2]|0)>>>0){o=(f[o+76>>2]|0)+(f[E+(g<<2)>>2]|0)|0;if(r>>>0<12){Zi(o,r,I)|0;break}q=(r+-12|0)>>>1;f[ua+(F*40|0)+12>>2]=q;b[ua+(F*40|0)+10>>0]=Fd;c=q+2|0;if((f[ua+(F*40|0)+24>>2]|0)<(c|0)){d[s>>1]=1;if(df(I,c,0)|0){ta=580;break c}g=ua+(F*40|0)+16|0;c=g;g=f[g>>2]|0}else{g=f[ua+(F*40|0)+20>>2]|0;c=ua+(F*40|0)+16|0;f[c>>2]=g}YA(g|0,o|0,q|0)|0;b[(f[c>>2]|0)+q>>0]=0;b[(f[c>>2]|0)+(q+1)>>0]=0;d[s>>1]=d[39640+((r&1)<<1)>>1]|0;break}b[ua+(F*40|0)+10>>0]=Fd;sa=d[m+2>>1]|0;if(!((sa&192)!=0?!((r>>>0<12|(r&1|0)!=0)&(sa&128)==0):0))ta=566;do if((ta|0)==566){ta=0;if(r>>>0<=127){c=b[7808+r>>0]|0;if(!(c<<24>>24))break;else q=c&255}else q=(r+-12|0)>>>1;o=f[o+40>>2]|0;c=f[E+(g<<2)>>2]|0;sa=j[o+48>>1]|0;g=f[o+40>>2]|0;ra=(f[(f[o+116>>2]|0)+60>>2]|0)-g|0;if((c+q|0)>>>0>((ra|0)<(sa|0)?((ra|0)>0?ra:0):sa)>>>0){c=Yi(o,c,q,I)|0;if(c|0){ta=579;break c}c=f[ua+(F*40|0)+16>>2]|0}else{c=g+c|0;f[ua+(F*40|0)+16>>2]=c;d[s>>1]=4112;f[ua+(F*40|0)+12>>2]=q}Zi(c,r,I)|0;d[s>>1]=d[s>>1]&-4097;break k}while(0);Zi(71872,r,I)|0}while(0);z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case 91:{g=f[m+16>>2]|0;w=g;x=ua+((f[m+4>>2]|0)*40|0)|0;g=b[g>>0]|0;while(1){w=w+1|0;do if(g<<24>>24>66){s=x+8|0;q=d[s>>1]|0;g=q&65535;if(!(g&4)){if(g&8|0){v=+p[x>>3];g=Fc(v)|0;o=ba()|0;sa=KA(g|0,o|0,1,-2147483648)|0;ra=ba()|0;if(!((ra>>>0>0|(ra|0)==0&sa>>>0>1)&v==+(g>>>0)+4294967296.0*+(o|0)))break;sa=x;f[sa>>2]=g;f[sa+4>>2]=o;d[s>>1]=q&15872|4;break}if(g&2|0?(Xd=b[x+10>>0]|0,Yd=x+16|0,Zd=x+12|0,jf(f[Yd>>2]|0,Jf,f[Zd>>2]|0,Xd)|0):0){if(kf(f[Yd>>2]|0,Td,f[Zd>>2]|0,Xd)|0){v=+p[Jf>>3];p[x>>3]=v;o=d[s>>1]|0;g=o|8;d[s>>1]=g;q=Fc(v)|0;r=ba()|0;sa=KA(q|0,r|0,1,-2147483648)|0;ra=ba()|0;if((ra>>>0>0|(ra|0)==0&sa>>>0>1)&v==+(q>>>0)+4294967296.0*+(r|0)){g=x;f[g>>2]=q;f[g+4>>2]=r;g=o&15872;ta=591}}else{sa=Td;ta=f[sa+4>>2]|0;g=x;f[g>>2]=f[sa>>2];f[g+4>>2]=ta;g=d[s>>1]|0;ta=591}if((ta|0)==591){ta=0;g=g|4;d[s>>1]=g}d[s>>1]=g&-3}}}else if(g<<24>>24==66){o=x+8|0;g=d[o>>1]|0;sa=g&65535;if(!((sa&2|0)!=0|(sa&12|0)==0)){Ti(x,Fd,1)|0;g=d[o>>1]|0}d[o>>1]=g&-13}while(0);g=b[w>>0]|0;if(!(g<<24>>24)){z=wa;y=Qf;s=Rf;q=ua;r=va;break}else x=x+40|0}break}case 102:{g=f[m+16>>2]|0;E=ua+((f[m+4>>2]|0)*40|0)|0;F=E+(((f[m+8>>2]|0)+-1|0)*40|0)|0;z=b[uc>>0]|0;I=f[m+12>>2]|0;J=ua+(I*40|0)|0;if(g|0){x=E;y=g;g=b[g>>0]|0;do{w=x;x=x+40|0;y=y+1|0;do if(g<<24>>24>66){s=w+8|0;q=d[s>>1]|0;g=q&65535;if(!(g&4)){if(g&8|0){v=+p[w>>3];g=Fc(v)|0;o=ba()|0;sa=KA(g|0,o|0,1,-2147483648)|0;ra=ba()|0;if(!((ra>>>0>0|(ra|0)==0&sa>>>0>1)&v==+(g>>>0)+4294967296.0*+(o|0)))break;sa=w;f[sa>>2]=g;f[sa+4>>2]=o;d[s>>1]=q&15872|4;break}if(g&2|0?(_d=b[w+10>>0]|0,$d=w+16|0,ae=w+12|0,jf(f[$d>>2]|0,Jf,f[ae>>2]|0,_d)|0):0){do if(!(kf(f[$d>>2]|0,Td,f[ae>>2]|0,_d)|0)){sa=Td;ta=f[sa+4>>2]|0;g=w;f[g>>2]=f[sa>>2];f[g+4>>2]=ta;g=d[s>>1]|0;ta=612}else{v=+p[Jf>>3];p[w>>3]=v;o=d[s>>1]|0;g=o|8;d[s>>1]=g;q=Fc(v)|0;r=ba()|0;sa=KA(q|0,r|0,1,-2147483648)|0;ra=ba()|0;if(!((ra>>>0>0|(ra|0)==0&sa>>>0>1)&v==+(q>>>0)+4294967296.0*+(r|0)))break;g=w;f[g>>2]=q;f[g+4>>2]=r;g=o&15872;ta=612}while(0);if((ta|0)==612){ta=0;g=g|4;d[s>>1]=g}d[s>>1]=g&-3}}}else if(g<<24>>24==66){o=w+8|0;g=d[o>>1]|0;sa=g&65535;if(!((sa&2|0)!=0|(sa&12|0)==0)){Ti(w,Fd,1)|0;g=d[o>>1]|0}d[o>>1]=g&-13}while(0);g=b[y>>0]|0}while(g<<24>>24!=0)}if((z&255)>3){g=0;D=F;s=0;w=0;C=0;y=0;while(1){A=D+8|0;z=d[A>>1]|0;q=z&65535;do if(!(q&1)){if(!(q&4)){if(q&8|0){r=8;B=7;break}o=f[D+12>>2]|0;if(q&16384)o=(f[D>>2]|0)+o|0;r=o;B=(o<<1)+12|q>>>1&1;break}q=D;o=f[q>>2]|0;q=f[q+4>>2]|0;x=UA(o|0,q|0,63)|0;x=x^o;r=(ba()|0)^q;if(r>>>0<0|(r|0)==0&x>>>0<128){if(!((o&1|0)==(o|0)&0==(q|0))){r=1;B=1;break}r=0;B=x+8|0;break}if(!(r>>>0<0|(r|0)==0&x>>>0<32768))if(r>>>0<0|(r|0)==0&x>>>0<8388608){r=3;B=3}else{sa=r>>>0<0|(r|0)==0&x>>>0<2147483648;B=r>>>0<32768|(r|0)==32768&x>>>0<0;r=sa?4:B?6:8;B=sa?4:B?5:6}else{r=2;B=2}}else{r=0;B=0}while(0);do if(!(z&16384)){o=r;x=C;ta=644}else{if(!B){s=KA(s|0,w|0,r|0,0)|0;q=10;w=ba()|0;x=C;o=1;break}if((s|0)==0&(w|0)==0){o=f[D>>2]|0;x=KA(C|0,y|0,o|0,((o|0)<0)<<31>>31|0)|0;o=r-o|0;y=ba()|0;ta=644;break}o=D+12|0;ta=(f[D>>2]|0)+(f[o>>2]|0)|0;if(df(D,(ta|0)>1?ta:1,1)|0){g=Qf;c=Rf;ta=3954;break a}_A((f[D+16>>2]|0)+(f[o>>2]|0)|0,0,f[D>>2]|0)|0;f[o>>2]=(f[o>>2]|0)+(f[D>>2]|0);d[A>>1]=d[A>>1]&-16897;o=r;x=C;ta=644}while(0);if((ta|0)==644){ta=0;s=KA(s|0,w|0,o|0,0)|0;w=ba()|0;if(B>>>0<128){q=B;o=1}else{o=1;q=B;r=0;while(1){q=VA(q|0,r|0,7)|0;r=ba()|0;if((q|0)==0&(r|0)==0){q=B;break}else o=o+1|0}}}g=o+g|0;f[D+28>>2]=q;if((D|0)==(E|0)){z=w;break}else{D=D+-40|0;C=x}}}else{g=0;C=F;s=0;w=0;A=0;B=0;while(1){y=C+8|0;x=d[y>>1]|0;q=x&65535;do if(!(q&1))if(!(q&4)){if(q&8|0){r=8;z=7;break}o=f[C+12>>2]|0;if(q&16384)o=(f[C>>2]|0)+o|0;r=o;z=(o<<1)+12|q>>>1&1;break}else{q=C;o=f[q>>2]|0;q=f[q+4>>2]|0;sa=UA(o|0,q|0,63)|0;o=sa^o;q=(ba()|0)^q;if(q>>>0<0|(q|0)==0&o>>>0<128){r=1;z=1;break}if(q>>>0<0|(q|0)==0&o>>>0<32768){r=2;z=2;break}if(q>>>0<0|(q|0)==0&o>>>0<8388608){r=3;z=3;break}sa=q>>>0<0|(q|0)==0&o>>>0<2147483648;z=q>>>0<32768|(q|0)==32768&o>>>0<0;r=sa?4:z?6:8;z=sa?4:z?5:6;break}else{r=0;z=0}while(0);do if(!(x&16384)){o=r;x=A;y=B;ta=665}else{if(!z){s=KA(s|0,w|0,r|0,0)|0;q=10;w=ba()|0;x=A;y=B;o=1;break}if((s|0)==0&(w|0)==0){o=f[C>>2]|0;x=KA(A|0,B|0,o|0,((o|0)<0)<<31>>31|0)|0;o=r-o|0;y=ba()|0;ta=665;break}o=C+12|0;ta=(f[C>>2]|0)+(f[o>>2]|0)|0;if(df(C,(ta|0)>1?ta:1,1)|0){g=Qf;c=Rf;ta=3954;break a}_A((f[C+16>>2]|0)+(f[o>>2]|0)|0,0,f[C>>2]|0)|0;f[o>>2]=(f[o>>2]|0)+(f[C>>2]|0);d[y>>1]=d[y>>1]&-16897;o=r;x=A;y=B;ta=665}while(0);if((ta|0)==665){ta=0;s=KA(s|0,w|0,o|0,0)|0;w=ba()|0;if(z>>>0<128){q=z;o=1}else{o=1;q=z;r=0;while(1){q=VA(q|0,r|0,7)|0;r=ba()|0;if((q|0)==0&(r|0)==0){q=z;break}else o=o+1|0}}}g=o+g|0;f[C+28>>2]=q;if((C|0)==(E|0)){z=w;break}else{C=C+-40|0;A=x;B=y}}}if(g>>>0<127)w=g+1|0;else{w=1;o=g;q=0;while(1){o=VA(o|0,q|0,7)|0;q=ba()|0;if((o|0)==0&(q|0)==0)break;else w=w+1|0}o=w+g|0;g=1;q=o;r=0;while(1){q=VA(q|0,r|0,7)|0;r=ba()|0;if((q|0)==0&(r|0)==0)break;else g=g+1|0}w=o+(w>>>0>>0&1)|0}r=((w|0)<0)<<31>>31;C=KA(s|0,z|0,w|0,r|0)|0;g=KA(C|0,ba()|0,x|0,y|0)|0;o=ba()|0;q=f[ua+(I*40|0)+24>>2]|0;sa=((q|0)<0)<<31>>31;do if((o|0)>(sa|0)|(o|0)==(sa|0)&g>>>0>q>>>0){sa=f[Ka>>2]|0;ra=((sa|0)<0)<<31>>31;if((o|0)>(ra|0)|(o|0)==(ra|0)&g>>>0>sa>>>0){ta=3953;break c}if((q|0)>=(C|0)){B=f[ua+(I*40|0)+20>>2]|0;f[ua+(I*40|0)+16>>2]=B;sa=ua+(I*40|0)+8|0;d[sa>>1]=d[sa>>1]&13;break}if(df(J,C,0)|0){g=Qf;c=Rf;ta=3954;break a}B=f[ua+(I*40|0)+16>>2]|0}else{B=f[ua+(I*40|0)+20>>2]|0;f[ua+(I*40|0)+16>>2]=B}while(0);do if(w>>>0>=128)if(w>>>0<16384){g=VA(w|0,r|0,7)|0;ba()|0;b[B>>0]=g&255|-128;b[B+1>>0]=w&127;g=2;break}else{g=_i(B,w,r)|0;break}else{b[B>>0]=w;g=1}while(0);q=g&255;A=w;z=E;while(1){o=f[z+28>>2]|0;do if(o>>>0<128){b[B+q>>0]=o;g=q+1|0;q=B+A|0;if((o+-1|0)>>>0>=7)if(o>>>0>11){ta=698;break}else{o=0;break}w=z;o=h[7808+o>>0]|0;r=o;s=f[w>>2]|0;w=f[w+4>>2]|0;do{r=r+-1|0;b[q+r>>0]=s;s=VA(s|0,w|0,8)|0;w=ba()|0}while((r|0)!=0)}else{g=B+q|0;if(o>>>0<16384){b[g>>0]=o>>>7&255|-128;b[g+1>>0]=o&127;g=2}else g=_i(g,o,0)|0;g=(g&255)+q|0;q=B+A|0;ta=698}while(0);if((ta|0)==698){ta=0;o=f[z+12>>2]|0;if(!o)o=0;else YA(q|0,f[z+16>>2]|0,o|0)|0}z=z+40|0;if(z>>>0>F>>>0)break;else{q=g;A=o+A|0}}f[ua+(I*40|0)+12>>2]=C;g=ua+(I*40|0)+8|0;d[g>>1]=16;if((x|0)==0&(y|0)==0){z=wa;y=Qf;s=Rf;q=ua;r=va}else{f[J>>2]=x;d[g>>1]=16400;z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 104:{I=f[(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+40>>2]|0;c=$i(I)|0;switch(c|0){case 16:{q=0;o=0;break}case 0:{z=I+116|0;A=I+70|0;B=I+68|0;C=I+50|0;D=I+1|0;E=I+20|0;F=I+2|0;q=0;o=0;l:while(1){g=f[z>>2]|0;if(!(b[g+8>>0]|0)){w=(b[g+2>>0]|0)==0;r=d[g+22>>1]|0;q=KA((w?r&65535:0)|0,(w?0:0)|0,q|0,o|0)|0;o=ba()|0;w=g;y=d[A>>1]|0;s=g}else{q=KA(q|0,o|0,j[g+22>>1]|0,0)|0;o=ba()|0;do{c=b[B>>0]|0;if(!(c<<24>>24))break l;d[C>>1]=0;b[D>>0]=b[D>>0]&-7;s=d[I+72+((c<<24>>24)+-1<<1)>>1]|0;d[A>>1]=s;r=c+-1<<24>>24;b[B>>0]=r;r=f[I+120+(r<<24>>24<<2)>>2]|0;f[z>>2]=r;c=f[g+72>>2]|0;if(!(d[c+28>>1]&32)){bh(c);g=f[z>>2]|0;x=g;c=d[A>>1]|0}else{x=f[c+20>>2]|0;g=x+120|0;f[g>>2]=(f[g>>2]|0)+-1;x=x+136|0;f[c+16>>2]=f[x>>2];f[x>>2]=c;x=r;g=r;c=s}r=d[g+22>>1]|0}while((c&65535)>=(r&65535));y=c+1<<16>>16;d[A>>1]=y;w=g;s=x}c=f[w+56>>2]|0;if(y<<16>>16==r<<16>>16){c=c+((h[w+9>>0]|0)+8)|0;g=b[B>>0]|0;if(g<<24>>24>18){ta=716;break c}c=h[c>>0]<<24|h[c+1>>0]<<16|h[c+2>>0]<<8|h[c+3>>0];sa=f[E>>2]|0;d[C>>1]=0;b[D>>0]=b[D>>0]&-7;ra=g<<24>>24;d[I+72+(ra<<1)>>1]=y;f[I+120+(ra<<2)>>2]=s;d[A>>1]=0;b[B>>0]=g+1<<24>>24;c=aj(sa,c,z,I,h[F>>0]|0)|0}else{g=(f[w+64>>2]|0)+((y&65535)<<1)|0;c=c+((h[g>>0]<<8|h[g+1>>0])&j[w+24>>1])|0;g=b[B>>0]|0;if(g<<24>>24>18){ta=719;break c}c=h[c>>0]<<24|h[c+1>>0]<<16|h[c+2>>0]<<8|h[c+3>>0];sa=f[E>>2]|0;d[C>>1]=0;b[D>>0]=b[D>>0]&-7;ra=g<<24>>24;d[I+72+(ra<<1)>>1]=y;f[I+120+(ra<<2)>>2]=s;d[A>>1]=0;b[B>>0]=g+1<<24>>24;c=aj(sa,c,z,I,h[F>>0]|0)|0}if(c){r=Qf;q=Rf;ta=3925;break a}}c=$i(I)|0;if(c){r=Qf;q=Rf;ta=3925;break a}break}default:{r=Qf;q=Rf;ta=3925;break a}}sa=f[Kd>>2]|0;g=f[m+8>>2]|0;c=sa+(g*40|0)|0;g=sa+(g*40|0)+8|0;if(!(d[g>>1]&9216))d[g>>1]=4;else Qi(c)|0;z=c;f[z>>2]=q;f[z+4>>2]=o;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case 0:{q=f[m+4>>2]|0;y=f[m+16>>2]|0;if(!q){if((f[nd>>2]|0)>0){ta=729;break c}if(!y)w=0;else w=(wz(y)|0)&1073741823;r=(f[Sd>>2]|0)+(f[Rd>>2]|0)|0;m:do if(f[bb>>2]|0){s=r+1|0;q=0;while(1){if((q|0)>=(f[gd>>2]|0))break m;c=f[(f[bb>>2]|0)+(q<<2)>>2]|0;g=f[f[c+4>>2]>>2]|0;o=f[c+8>>2]|0;if(((o|0)!=0?(f[g>>2]|0)>1:0)?(ce=f[g+80>>2]|0,f[c+20>>2]=s,(ce|0)!=0):0)c=jb[ce&255](o,r)|0;else c=0;if(!c)q=q+1|0;else{r=Qf;q=Rf;ta=3925;break a}}}while(0);g=w+33|0;do if(f[rd>>2]|0)if(!(b[l>>0]|0))ta=748;else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}else{if(!(0<0|(0==0?(j[pd>>1]|0)>>>0>>0:0))){c=f[Ff>>2]|0;if(c|0){f[Ff>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;break}c=f[zf>>2]|0;if(!c)c=Bf;else{f[zf>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;break}}else c=qd;f[c>>2]=(f[c>>2]|0)+1;ta=748}while(0);if((ta|0)==748){ta=0;c=Dc(Yf,g,0)|0}if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}sa=c+32|0;f[c>>2]=sa;YA(sa|0,y|0,w+1|0)|0;if(!(b[sd>>0]|0))f[Sd>>2]=(f[Sd>>2]|0)+1;else{b[sd>>0]=0;b[Ud>>0]=1}f[c+24>>2]=f[Dd>>2];f[Dd>>2]=c;z=Va;y=f[z+4>>2]|0;s=c+8|0;f[s>>2]=f[z>>2];f[s+4>>2]=y;s=Ua;y=f[s+4>>2]|0;z=c+16|0;f[z>>2]=f[s>>2];f[z+4>>2]=y;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}g=f[Dd>>2]|0;if(!g){ta=761;break c}w=h[1232+(h[y>>0]|0)>>0]|0;x=0;while(1){r=f[g>>2]|0;sa=b[r>>0]|0;o=(h[1232+(sa&255)>>0]|0)-w|0;if(!(sa<<24>>24==0|(o|0)!=0)){s=y;do{r=r+1|0;s=s+1|0;sa=b[r>>0]|0;o=(h[1232+(sa&255)>>0]|0)-(h[1232+(h[s>>0]|0)>>0]|0)|0}while(!(sa<<24>>24==0|(o|0)!=0))}if(!o)break;g=f[g+24>>2]|0;if(!g){ta=761;break c}else x=x+1|0}B=(q|0)==1;if(B&(f[nd>>2]|0)>0){ta=763;break c}C=g+24|0;if(!(f[C>>2]|0)){o=(b[Ud>>0]|0)!=0;if(B&o){ra=f[a>>2]|0;sa=ra+464|0;ra=ra+472|0;sa=KA(f[ra>>2]|0,f[ra+4>>2]|0,f[sa>>2]|0,f[sa+4>>2]|0)|0;ra=ba()|0;if((ra|0)>0|(ra|0)==0&sa>>>0>0){ta=767;break c}b[sd>>0]=1;if((tg(a)|0)==5){ta=769;break c}b[Ud>>0]=0;c=f[Uf>>2]|0;o=1}else ta=771}else{o=0;ta=771}if((ta|0)==771){ta=0;y=(f[Sd>>2]|0)-x|0;A=y+-1|0;z=(q|0)==2;if(z){r=f[yf>>2]&1;if((f[Kf>>2]|0)>0){w=r^1;s=0;while(1){c=$h(f[(f[Lf>>2]|0)+(s<<4)+4>>2]|0,516,w)|0;s=s+1|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}x=f[Kf>>2]|0;if((s|0)>=(x|0)){c=0;ta=777;break}}}}else{r=0;x=f[Kf>>2]|0;ta=777}n:do if((ta|0)==777){ta=0;if((x|0)>0){c=(y|0)<1;if(!z){if(!c){y=0;c=x;while(1){s=f[(f[Lf>>2]|0)+(y<<4)+4>>2]|0;do if(s){if((b[s+8>>0]|0)!=2)break;w=f[s+4>>2]|0;f[w+4>>2]=f[s>>2];c=Lg(f[w>>2]|0,q,A)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}c=Mg(w)|0;sa=f[(f[w+12>>2]|0)+56>>2]|0;f[w+44>>2]=h[sa+29>>0]<<16|h[sa+28>>0]<<24|h[sa+30>>0]<<8|h[sa+31>>0];if(c|0){r=Qf;q=Rf;ta=3925;break a}c=f[Kf>>2]|0}while(0);y=y+1|0;if((y|0)>=(c|0)){c=0;break n}}}y=0;c=x;while(1){s=f[(f[Lf>>2]|0)+(y<<4)+4>>2]|0;do if(s){if((b[s+8>>0]|0)!=2)break;w=f[s+4>>2]|0;f[w+4>>2]=f[s>>2];c=Lg(f[w>>2]|0,q,A)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}s=w+44|0;if(d[w+22>>1]&16)f[s>>2]=0;c=Mg(w)|0;sa=f[(f[w+12>>2]|0)+56>>2]|0;f[s>>2]=h[sa+29>>0]<<16|h[sa+28>>0]<<24|h[sa+30>>0]<<8|h[sa+31>>0];if(c|0){r=Qf;q=Rf;ta=3925;break a}c=f[Kf>>2]|0}while(0);y=y+1|0;if((y|0)>=(c|0)){c=0;break n}}}if(!c){y=0;c=x;while(1){s=f[(f[Lf>>2]|0)+(y<<4)+4>>2]|0;do if(s){if((b[s+8>>0]|0)!=2)break;w=f[s+4>>2]|0;f[w+4>>2]=f[s>>2];c=f[w+8>>2]|0;if(c|0?(uf=Kg(c,0,0)|0,uf|0):0){r=Qf;q=Rf;c=uf;ta=3925;break a}c=Lg(f[w>>2]|0,2,A)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}c=Mg(w)|0;sa=f[(f[w+12>>2]|0)+56>>2]|0;f[w+44>>2]=h[sa+29>>0]<<16|h[sa+28>>0]<<24|h[sa+30>>0]<<8|h[sa+31>>0];if(c|0){r=Qf;q=Rf;ta=3925;break a}c=f[Kf>>2]|0}while(0);y=y+1|0;if((y|0)>=(c|0)){c=0;break n}}}y=0;c=x;while(1){s=f[(f[Lf>>2]|0)+(y<<4)+4>>2]|0;do if(s){if((b[s+8>>0]|0)!=2)break;w=f[s+4>>2]|0;f[w+4>>2]=f[s>>2];c=f[w+8>>2]|0;if(c|0?(tf=Kg(c,0,0)|0,tf|0):0){r=Qf;q=Rf;c=tf;ta=3925;break a}c=Lg(f[w>>2]|0,2,A)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}s=w+44|0;if(d[w+22>>1]&16)f[s>>2]=0;c=Mg(w)|0;sa=f[(f[w+12>>2]|0)+56>>2]|0;f[s>>2]=h[sa+29>>0]<<16|h[sa+28>>0]<<24|h[sa+30>>0]<<8|h[sa+31>>0];if(c|0){r=Qf;q=Rf;ta=3925;break a}c=f[Kf>>2]|0}while(0);y=y+1|0;if((y|0)>=(c|0)){c=0;break}}}}while(0);if(!r)x=A;else{r=f[ab>>2]|0;if(r|0)do{sa=r+145|0;ra=(h[sa>>0]|h[sa+1>>0]<<8)&-4|1;b[sa>>0]=ra;b[sa+1>>0]=ra>>8;r=f[r+8>>2]|0}while((r|0)!=0);Vh(Yf);f[yf>>2]=f[yf>>2]|1;x=A}}r=f[Dd>>2]|0;if((r|0)!=(g|0))do{f[Dd>>2]=f[r+24>>2];o:do if(r|0){if(f[pf>>2]|0){Kc(Yf,r);break}s=r;do if((f[rf>>2]|0)>>>0<=s>>>0){if((f[sf>>2]|0)>>>0<=s>>>0)break;f[r>>2]=f[Ff>>2];f[Ff>>2]=r;break o}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{sa=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}while(0);f[Sd>>2]=(f[Sd>>2]|0)+-1;r=f[Dd>>2]|0}while((r|0)!=(g|0));if(B){f[Dd>>2]=f[C>>2];do if(!(f[pf>>2]|0)){sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}else Kc(Yf,g);while(0);if(o){de=1;ta=846}else f[Sd>>2]=(f[Sd>>2]|0)+-1}else{de=g+8|0;ta=f[de+4>>2]|0;sa=Va;f[sa>>2]=f[de>>2];f[sa+4>>2]=ta;sa=g+16|0;ta=f[sa+4>>2]|0;de=Ua;f[de>>2]=f[sa>>2];f[de+4>>2]=ta;de=o;ta=846}if((ta|0)==846?(ta=0,!((q|0)==2|de^1)):0)if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}else{r=Qf;q=Rf;ta=3925;break a}if(!(f[bb>>2]|0)){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=x+1|0;switch(q|0){case 0:while(1){if((q|0)>=(f[gd>>2]|0)){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}g=f[(f[bb>>2]|0)+(q<<2)>>2]|0;c=f[f[g+4>>2]>>2]|0;o=f[g+8>>2]|0;do if(!o)c=0;else{if((f[c>>2]|0)<=1){c=0;break}c=f[c+80>>2]|0;f[g+20>>2]=r;if(!c){c=0;break}c=jb[c&255](o,x)|0}while(0);if(!c)q=q+1|0;else{r=Qf;q=Rf;ta=3925;break a}}case 2:{q=0;while(1){if((q|0)>=(f[gd>>2]|0)){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}g=f[(f[bb>>2]|0)+(q<<2)>>2]|0;c=f[f[g+4>>2]>>2]|0;o=f[g+8>>2]|0;do if(!o)c=0;else{if((f[c>>2]|0)<=1){c=0;break}c=f[c+88>>2]|0;if(!c){c=0;break}if((f[g+20>>2]|0)<=(x|0)){c=0;break}c=jb[c&255](o,x)|0}while(0);if(!c)q=q+1|0;else{r=Qf;q=Rf;ta=3925;break a}}}default:{q=0;while(1){if((q|0)>=(f[gd>>2]|0)){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}g=f[(f[bb>>2]|0)+(q<<2)>>2]|0;c=f[f[g+4>>2]>>2]|0;o=f[g+8>>2]|0;do if(!o)c=0;else{if((f[c>>2]|0)<=1){c=0;break}c=f[c+84>>2]|0;if(!c){c=0;break}if((f[g+20>>2]|0)<=(x|0)){c=0;break}c=jb[c&255](o,x)|0}while(0);if(!c)q=q+1|0;else{r=Qf;q=Rf;ta=3925;break a}}}}}break}case 2:{f[Jf>>2]=0;o=m+8|0;g=f[o>>2]|0;if(g|0?!((f[dd>>2]&1048576|0)==0&0==0):0){c=8;ta=957;break c}x=m+4|0;w=f[(f[Lf>>2]|0)+(f[x>>2]<<4)+4>>2]|0;do if(w){c=Li(w,g,Jf)|0;if(c|0){ta=901;break c}if((f[o>>2]|0)!=0?((h[Mf>>0]|h[Mf+1>>0]<<8)&128)!=0:0){if(b[sd>>0]|0?(f[Oa>>2]|0)<=1:0){c=0;break}c=f[ld>>2]|0;if(!c){g=(f[Rd>>2]|0)+1|0;f[Rd>>2]=g;g=(f[Sd>>2]|0)+g|0;f[ld>>2]=g}else g=c;s=g+-1|0;p:do if(!(f[bb>>2]|0))ta=917;else{r=0;while(1){if((r|0)>=(f[gd>>2]|0))break;o=f[(f[bb>>2]|0)+(r<<2)>>2]|0;c=f[f[o+4>>2]>>2]|0;q=f[o+8>>2]|0;do if(!q)c=0;else{if((f[c>>2]|0)<=1){c=0;break}c=f[c+80>>2]|0;f[o+20>>2]=g;if(!c){c=0;break}c=jb[c&255](q,s)|0}while(0);if(!c)r=r+1|0;else break p}g=f[ld>>2]|0;ta=917}while(0);if((ta|0)==917){ta=0;c=f[w+4>>2]|0;f[c+4>>2]=f[w>>2];c=f[c>>2]|0;if((f[c+96>>2]|0)<(g|0)?(b[c+6>>0]|0)!=0:0)c=Pi(c,g)|0;else c=0}sa=Va;ra=f[sa+4>>2]|0;qa=ec;f[qa>>2]=f[sa>>2];f[qa+4>>2]=ra;qa=Ua;ra=f[qa+4>>2]|0;sa=fc;f[sa>>2]=f[qa>>2];f[sa+4>>2]=ra}else c=0}while(0);if(d[m+2>>1]|0){if((f[Jf>>2]|0)!=(f[m+12>>2]|0)){ta=924;break c}if((f[(f[(f[Lf>>2]|0)+(f[x>>2]<<4)+12>>2]|0)+4>>2]|0)!=(f[m+16>>2]|0)){ta=924;break c}}if(c|0){ta=957;break c}z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case 105:{g=f[m+12>>2]|0;o=f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+4>>2]|0;q=f[o+4>>2]|0;f[q+4>>2]=f[o>>2];if((g|0)==15)q=(f[o+20>>2]|0)+(f[(f[q>>2]|0)+100>>2]|0)|0;else{q=(f[(f[q+12>>2]|0)+56>>2]|0)+((g<<2)+36)|0;q=h[q+1>>0]<<16|h[q>>0]<<24|h[q+2>>0]<<8|h[q+3>>0]}sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;z=g;f[z>>2]=q;f[z+4>>2]=((q|0)<0)<<31>>31;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 107:{x=f[Lf>>2]|0;y=m+4|0;z=f[y>>2]|0;g=f[x+(z<<4)+4>>2]|0;A=m+8|0;s=f[A>>2]|0;B=m+12|0;q=f[B>>2]|0;w=f[g+4>>2]|0;f[w+4>>2]=f[g>>2];g=f[w+12>>2]|0;r=f[g+56>>2]|0;g=f[g+72>>2]|0;o=f[g+20>>2]|0;if((d[g+28>>1]&4)!=0?(f[o+24>>2]|0)>>>0>=(f[g+24>>2]|0)>>>0:0)if(!(f[o+96>>2]|0))ta=975;else{c=Ng(g)|0;ta=974}else ta=970;do if((ta|0)==970){ta=0;c=f[o+40>>2]|0;if(!c)if((f[o+148>>2]|0)>>>0>(f[o+152>>2]|0)>>>0){c=Og(g)|0;ta=974;break}else{c=Pg(g)|0;ta=974;break}else o=0}while(0);if((ta|0)==974){ta=0;if(!c)ta=975;else o=0}if((ta|0)==975){ta=0;sa=r+((s<<2)+36)|0;b[sa>>0]=q>>>24;b[sa+1>>0]=q>>>16;b[sa+2>>0]=q>>>8;c=q&255;b[sa+3>>0]=c;if((s|0)==7){b[w+18>>0]=c;c=0;o=1}else{c=0;o=1}}switch(f[A>>2]|0){case 1:{f[f[x+(z<<4)+12>>2]>>2]=f[B>>2];f[yf>>2]=f[yf>>2]|1;break}case 2:{b[(f[x+(z<<4)+12>>2]|0)+76>>0]=f[B>>2];break}default:{}}if((f[y>>2]|0)==1){g=f[ab>>2]|0;if(g|0)do{sa=g+145|0;ra=(h[sa>>0]|h[sa+1>>0]<<8)&-4|1;b[sa>>0]=ra;b[sa+1>>0]=ra>>8;g=f[g+8>>2]|0}while((g|0)!=0);sa=(h[Mf>>0]|h[Mf+1>>0]<<8)&-4;b[Mf>>0]=sa;b[Mf+1>>0]=sa>>8}if(o){z=wa;y=Qf;s=Rf;q=ua;r=va}else{r=Qf;q=Rf;ta=3925;break a}break}case 108:{g=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;if((g|0)!=0?(f[g+52>>2]|0)==(f[m+8>>2]|0):0){o=m+2|0;ta=1014}else ta=989;break}case 110:case 109:{ta=989;break}case 111:{g=f[tc>>2]|0;x=f[g+(f[m+8>>2]<<2)>>2]|0;q=f[m+4>>2]|0;s=d[x+56>>1]|0;w=s<<16>>16;c=f[Kd>>2]|0;if((q|0)>0)c=c+(((f[Ba>>2]|0)-q|0)*40|0)|0;o=w<<3;r=o+96|0;o=o+296|0;g=f[g+(q<<2)>>2]|0;if(g|0){Dg(a,g);f[(f[tc>>2]|0)+(q<<2)>>2]=0}if((f[c+24>>2]|0)<(o|0)){if(df(c,o,0)|0){g=Qf;c=Rf;ta=3954;break a}o=c+16|0;g=o;o=f[o>>2]|0}else{o=f[c+20>>2]|0;g=c+16|0;f[g>>2]=o;sa=c+8|0;d[sa>>1]=d[sa>>1]&13}f[(f[tc>>2]|0)+(q<<2)>>2]=o;c=o+1|0;na=o;oa=na+36|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));b[c>>0]=-1;d[o+56>>1]=s;f[o+72>>2]=o+88+(w<<2);sa=(f[g>>2]|0)+r|0;c=o+40|0;f[c>>2]=sa;f[sa>>2]=0;f[sa+4>>2]=0;f[sa+8>>2]=0;f[sa+12>>2]=0;f[sa+16>>2]=0;if(!o){g=Qf;c=Rf;ta=3954;break a}b[o+2>>0]=1;sa=o+5|0;b[sa>>0]=b[sa>>0]|1;sa=f[x+44>>2]|0;f[o+44>>2]=sa;b[o+4>>0]=b[x+4>>0]|0;z=wa;y=Qf;s=Rf;q=ua;r=va;c=bj(f[x+8>>2]|0,1,4,sa,f[c>>2]|0)|0;break}case 113:case 112:{q=f[m+4>>2]|0;s=f[m+8>>2]|0;c=f[Kd>>2]|0;if((q|0)>0)c=c+(((f[Ba>>2]|0)-q|0)*40|0)|0;g=s<<3;r=g+96|0;g=g+296|0;o=f[(f[tc>>2]|0)+(q<<2)>>2]|0;if(o|0){Dg(a,o);f[(f[tc>>2]|0)+(q<<2)>>2]=0}if((f[c+24>>2]|0)<(g|0)){if(df(c,g,0)|0){g=Qf;c=Rf;ta=3954;break a}w=c+16|0;g=w;w=f[w>>2]|0}else{w=f[c+20>>2]|0;g=c+16|0;f[g>>2]=w;sa=c+8|0;d[sa>>1]=d[sa>>1]&13}f[(f[tc>>2]|0)+(q<<2)>>2]=w;c=w+1|0;na=w;oa=na+36|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));b[c>>0]=-1;d[w+56>>1]=s;f[w+72>>2]=w+88+(s<<2);sa=(f[g>>2]|0)+r|0;o=w+40|0;f[o>>2]=sa;f[sa>>2]=0;f[sa+4>>2]=0;f[sa+8>>2]=0;f[sa+12>>2]=0;f[sa+16>>2]=0;if(!w){g=Qf;c=Rf;ta=3954;break a}b[w+2>>0]=1;r=w+5|0;b[r>>0]=b[r>>0]|1;q=w+8|0;s=m+2|0;c=cj(f[Yf>>2]|0,0,Yf,q,(d[s>>1]|5)&65535,1054)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}c=Li(f[q>>2]|0,1,0)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}g=f[m+16>>2]|0;f[w+44>>2]=g;if(!g){c=bj(f[q>>2]|0,1,4,0,f[o>>2]|0)|0;b[w+4>>0]=1}else{c=dj(f[q>>2]|0,Jf,(d[s>>1]|2)&65535)|0;if(!c)c=bj(f[q>>2]|0,f[Jf>>2]|0,4,g,f[o>>2]|0)|0;b[w+4>>0]=0}if(c|0){r=Qf;q=Rf;ta=3925;break a}b[r>>0]=((d[s>>1]|0)!=8&1)<<2&255|b[r>>0]&-5;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case 114:{q=f[m+4>>2]|0;r=f[m+8>>2]|0;c=f[Kd>>2]|0;if((q|0)>0)c=c+(((f[Ba>>2]|0)-q|0)*40|0)|0;g=(r<<3)+96|0;o=f[(f[tc>>2]|0)+(q<<2)>>2]|0;if(o|0){Dg(a,o);f[(f[tc>>2]|0)+(q<<2)>>2]=0}if((f[c+24>>2]|0)<(g|0)){if(df(c,g,0)|0){g=Qf;c=Rf;ta=3954;break a}s=f[c+16>>2]|0}else{s=f[c+20>>2]|0;f[c+16>>2]=s;sa=c+8|0;d[sa>>1]=d[sa>>1]&13}f[(f[tc>>2]|0)+(q<<2)>>2]=s;na=s;oa=na+36|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));b[s>>0]=1;b[s+1>>0]=-1;d[s+56>>1]=r;f[s+72>>2]=s+88+(r<<2);if(!s){g=Qf;c=Rf;ta=3954;break a}q=f[m+16>>2]|0;g=s+44|0;f[g>>2]=q;o=f[m+12>>2]|0;q=j[q+6>>1]<<2;r=q+156|0;do if(f[rd>>2]|0)if(!(b[l>>0]|0))ta=1060;else{ta=1062;break c}else{if(!(0<0|(0==0?(j[pd>>1]|0)>>>0>>0:0))){c=f[Ff>>2]|0;if(c|0){f[Ff>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;w=c;break}c=f[zf>>2]|0;if(!c)c=Bf;else{f[zf>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;w=c;break}}else c=qd;f[c>>2]=(f[c>>2]|0)+1;ta=1060}while(0);if((ta|0)==1060){ta=0;w=Dc(Yf,r,0)|0}if(!w){ta=1062;break c}_A(w|0,0,r|0)|0;f[s+40>>2]=w;sa=w+136|0;f[w+28>>2]=sa;YA(sa|0,f[g>>2]|0,q+20|0)|0;f[w+148>>2]=0;if(o|0)d[w+142>>1]=o;c=f[Lf>>2]|0;g=f[(f[(f[c+4>>2]|0)+4>>2]|0)+32>>2]|0;f[w+12>>2]=g;b[w+59>>0]=1;b[w+58>>0]=-1;b[w+57>>0]=0;f[w+24>>2]=Yf;f[w+72>>2]=w;if((b[xa>>0]|0)!=2?(ra=U(f[9383]|0,g)|0,f[w>>2]=ra,sa=f[(f[c+12>>2]|0)+80>>2]|0,qa=(sa|0)<0,fe=((g|0)<0)<<31>>31,sa=QA((qa?-1024:g)|0,(qa?-1:fe)|0,sa|0,((sa|0)<0)<<31>>31|0)|0,qa=ba()|0,pa=(qa|0)<0|(qa|0)==0&sa>>>0<536870912,sa=pa?sa:536870912,pa?qa:0,f[w+4>>2]=(ra|0)>(sa|0)?ra:sa,(f[9333]|0)==0):0){f[w+52>>2]=g;sa=KA(g|0,fe|0,-1,-1)|0;ra=ba()|0;do if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390)c=0;else{if(!(f[9328]|0)){c=ib[f[37356>>2]&255](g)|0;break}o=ib[f[37372>>2]&255](g)|0;if((f[18194]|0)>>>0>>0)f[18194]=g;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){sa=f[18187]|0;ra=LA(c|0,g|0,o|0,((o|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}c=ib[f[37356>>2]&255](o)|0;if(!c){c=0;break}g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0<=(f[18196]|0)>>>0)break;f[18196]=g}while(0);f[w+40>>2]=c;c=(c|0)==0?7:0}else c=0;do if((j[w+144>>1]|0)<13){sa=f[w+156>>2]|0;if(sa|0?(sa|0)!=(f[hc>>2]|0):0)break;b[w+60>>0]=3}while(0);if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case 115:{qa=(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+16|0;sa=qa;ra=f[sa>>2]|0;sa=f[sa+4>>2]|0;oa=KA(ra|0,sa|0,1,0)|0;pa=ba()|0;f[qa>>2]=oa;f[qa+4>>2]=pa;if((ra|0)==0&(sa|0)==0)ta=27;else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 116:{r=f[m+4>>2]|0;s=f[m+12>>2]|0;g=f[Kd>>2]|0;if((r|0)>0)g=g+(((f[Ba>>2]|0)-r|0)*40|0)|0;o=(s<<3)+96|0;q=f[(f[tc>>2]|0)+(r<<2)>>2]|0;if(q|0){Dg(a,q);f[(f[tc>>2]|0)+(r<<2)>>2]=0}if((f[g+24>>2]|0)<(o|0)){if(df(g,o,0)|0){g=Qf;c=Rf;ta=3954;break a}g=f[g+16>>2]|0}else{sa=f[g+20>>2]|0;f[g+16>>2]=sa;g=g+8|0;d[g>>1]=d[g>>1]&13;g=sa}f[(f[tc>>2]|0)+(r<<2)>>2]=g;na=g;oa=na+36|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));b[g>>0]=3;b[g+1>>0]=-1;d[g+56>>1]=s;f[g+72>>2]=g+88+(s<<2);if(!g){g=Qf;c=Rf;ta=3954;break a}b[g+2>>0]=1;f[g+32>>2]=f[m+8>>2];b[g+4>>0]=1;f[g+40>>2]=72790;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 117:{z=m+4|0;Dg(a,f[(f[tc>>2]|0)+(f[z>>2]<<2)>>2]|0);f[(f[tc>>2]|0)+(f[z>>2]<<2)>>2]=0;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 25:case 24:case 23:case 22:{y=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;g=C&255;b[y+2>>0]=0;q:do if(!(b[y+4>>0]|0)){c=f[y+40>>2]|0;o=(h[c+3>>0]|0)>>>1&1;ta=f[m+16>>2]|0;f[ee>>2]=f[y+44>>2];d[Ca>>1]=ta;b[Da>>0]=(g<<1&2^2)+255;f[Ea>>2]=ua+((f[m+12>>2]|0)*40|0);b[Fa>>0]=0;c=ej(c,ee,0,0,0,be)|0;if(c|0){ta=1138;break c}c=o&255;if(o<<24>>24!=0&(b[Fa>>0]|0)==0)if(!(f[be>>2]|0)){m=m+20|0;ta=1140}else{c=0;ta=1139}else{o=c;ta=1121}}else{s=f[m+12>>2]|0;x=ua+(s*40|0)|0;w=ua+(s*40|0)+8|0;o=d[w>>1]|0;if((o&14)==2){o=b[ua+(s*40|0)+10>>0]|0;q=ua+(s*40|0)+16|0;r=ua+(s*40|0)+12|0;if(!(jf(f[q>>2]|0,Jf,f[r>>2]|0,o)|0))o=d[w>>1]|0;else{if(!(kf(f[q>>2]|0,Td,f[r>>2]|0,o)|0)){sa=Td;ta=f[sa+4>>2]|0;o=x;f[o>>2]=f[sa>>2];f[o+4>>2]=ta;o=4}else{p[x>>3]=+p[Jf>>3];o=8}o=d[w>>1]&-3|o;d[w>>1]=o}}o=o&65535;do if(!(o&4)){if(o&8|0){q=Fc(+p[x>>3])|0;r=ba()|0;break}if(!(o&18)){q=0;r=0}else{q=Gc(b[ua+(s*40|0)+10>>0]|0,f[ua+(s*40|0)+12>>2]|0,f[ua+(s*40|0)+16>>2]|0)|0;r=ba()|0;o=j[w>>1]|0}}else{r=x;q=f[r>>2]|0;r=f[r+4>>2]|0}while(0);do if(!(o&4)){if(!(o&8)){ta=1139;break q}u=+p[x>>3];v=+(q>>>0)+4294967296.0*+(r|0);if(u>31)+g|0;break}else{g=((g&1|0)==0&u>v&1)+g|0;break}}while(0);c=ej(f[y+40>>2]|0,0,q,r,0,be)|0;ta=y+64|0;f[ta>>2]=q;f[ta+4>>2]=r;if(!c){o=0;ta=1121}else{ta=1138;break c}}while(0);r:do if((ta|0)==1121){ta=0;b[y+3>>0]=0;f[y+28>>2]=0;c=f[be>>2]|0;if((g|0)>23){if((c|0)>=0?!((g|0)==25&(c|0)==0):0)f[be>>2]=0;else ta=1124;s:do if((ta|0)==1124){f[be>>2]=0;c=fj(f[y+40>>2]|0,0)|0;switch(c|0){case 0:break s;case 101:break;default:{ta=1138;break c}}f[be>>2]=1;c=0;ta=1139;break r}while(0);m=(o|0)==0?m:m+20|0;ta=1140;break}if((c|0)<=0?!((g|0)==22&(c|0)==0):0){ta=(b[f[y+40>>2]>>0]|0)!=0;f[be>>2]=ta&1;if(ta){c=0;ta=1139;break}else{m=(o|0)==0?m:m+20|0;ta=1140;break}}f[be>>2]=0;c=f[y+40>>2]|0;sa=c+1|0;b[sa>>0]=b[sa>>0]&-15;d[c+50>>1]=0;if(((b[c>>0]|0)==0?(he=c+70|0,ie=d[he>>1]|0,ie<<16>>16!=0):0)?(b[(f[c+116>>2]|0)+8>>0]|0)!=0:0)d[he>>1]=ie+-1<<16>>16;else ta=1133;t:do if((ta|0)==1133){c=gj(c)|0;switch(c|0){case 0:break t;case 101:break;default:{ta=1138;break c}}f[be>>2]=1;c=0;ta=1139;break r}while(0);m=(o|0)==0?m:m+20|0;ta=1140}while(0);if((ta|0)==1139){ta=27;break d}else if((ta|0)==1140){ta=0;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}break}case 119:{z=(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+5|0;b[z>>0]=(f[m+8>>2]&255)<<3&8|b[z>>0]&-9;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 26:{if(!(b[(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+5>>0]&8))ta=1143;else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 29:case 28:case 27:{ta=1143;break}case 30:{w=m+12|0;o=f[w>>2]|0;x=ua+(o*40|0)+8|0;y=d[x>>1]|0;if(!(y&4)){s=ua+(o*40|0)|0;g=y&65535;do if(!(g&4)){if(g&8|0){v=+p[s>>3];o=Fc(v)|0;q=ba()|0;ta=KA(o|0,q|0,1,-2147483648)|0;sa=ba()|0;g=y&15872|4;if(!((sa>>>0>0|(sa|0)==0&ta>>>0>1)&v==+(o>>>0)+4294967296.0*+(q|0))){g=y;break}ta=s;f[ta>>2]=o;f[ta+4>>2]=q;d[x>>1]=g;break}if(g&2){q=b[ua+(o*40|0)+10>>0]|0;r=ua+(o*40|0)+16|0;g=ua+(o*40|0)+12|0;if(!(jf(f[r>>2]|0,Jf,f[g>>2]|0,q)|0))g=d[x>>1]|0;else{if(kf(f[r>>2]|0,Td,f[g>>2]|0,q)|0){v=+p[Jf>>3];p[s>>3]=v;o=d[x>>1]|0;g=o|8;d[x>>1]=g;q=Fc(v)|0;r=ba()|0;sa=KA(q|0,r|0,1,-2147483648)|0;ra=ba()|0;if((ra>>>0>0|(ra|0)==0&sa>>>0>1)&v==+(q>>>0)+4294967296.0*+(r|0)){g=s;f[g>>2]=q;f[g+4>>2]=r;g=o&15872;ta=1206}}else{sa=Td;ta=f[sa+4>>2]|0;g=s;f[g>>2]=f[sa>>2];f[g+4>>2]=ta;g=d[x>>1]|0;ta=1206}if((ta|0)==1206){g=g|4;d[x>>1]=g}g=g&-3;d[x>>1]=g}}else g=y}else g=y;while(0);d[x>>1]=y;if(!(g&4))ta=27;else{c=w;ta=1212}}else{c=w;ta=1212}break}case 31:{c=m+12|0;ta=1212;break}case 120:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;z=(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+16|0;y=z;s=f[y>>2]|0;y=f[y+4>>2]|0;r=KA(s|0,y|0,1,0)|0;q=ba()|0;f[z>>2]=r;f[z+4>>2]=q;z=g;f[z>>2]=s;f[z+4>>2]=y;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 121:{sa=Jf;f[sa>>2]=0;f[sa+4>>2]=0;f[Td>>2]=0;sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;A=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;z=A+5|0;do if(!(b[z>>0]&2)){o=A+40|0;c=ij(f[o>>2]|0,Td)|0;if(c|0){ta=1253;break c}if(f[Td>>2]|0){c=Jf;f[c>>2]=1;f[c+4>>2]=0;c=0;break}o=f[o>>2]|0;oh(o);o=o+32|0;c=f[o>>2]|0;o=f[o+4>>2]|0;sa=Jf;f[sa>>2]=c;f[sa+4>>2]=o;if((c|0)==-1&(o|0)==2147483647){b[z>>0]=b[z>>0]|2;c=0;break}else{ra=KA(c|0,o|0,1,0)|0;sa=ba()|0;c=Jf;f[c>>2]=ra;f[c+4>>2]=sa;c=0;break}}while(0);s=f[m+12>>2]|0;if(s|0){o=f[sc>>2]|0;if(!o)q=ua;else{while(1){q=f[o+4>>2]|0;if(!q)break;else o=q}q=f[o+16>>2]|0}y=q+(s*40|0)|0;w=q+(s*40|0)+8|0;o=d[w>>1]|0;r=o&65535;do if(!(r&4)){if(r&8|0){r=Fc(+p[y>>3])|0;q=ba()|0;ta=1242;break}if(!(r&18)){x=y;f[x>>2]=0;f[x+4>>2]=0;d[w>>1]=o&15872|4;x=0;r=0;break}else{r=Gc(b[q+(s*40|0)+10>>0]|0,f[q+(s*40|0)+12>>2]|0,f[q+(s*40|0)+16>>2]|0)|0;q=ba()|0;o=d[w>>1]|0;ta=1242;break}}else{q=y;r=f[q>>2]|0;q=f[q+4>>2]|0;ta=1242}while(0);if((ta|0)==1242){ta=0;sa=y;f[sa>>2]=r;f[sa+4>>2]=q;d[w>>1]=o&15872|4;if((r|0)==-1&(q|0)==2147483647){c=13;ta=1253;break c}else x=q}if(b[z>>0]&2){c=13;ta=1253;break c}o=Jf;q=f[o>>2]|0;o=f[o+4>>2]|0;s=KA(r|0,x|0,1,0)|0;w=ba()|0;if(!((o|0)>(x|0)|(o|0)==(x|0)&q>>>0>r>>>0)){q=Jf;f[q>>2]=s;f[q+4>>2]=w;q=s;o=w}sa=y;f[sa>>2]=q;f[sa+4>>2]=o}if(b[z>>0]&2){q=A+40|0;o=0;do{zd(8,Jf);r=Jf;r=KA(f[r>>2]|0,f[r+4>>2]&1073741823|0,1,0)|0;c=ba()|0;sa=Jf;f[sa>>2]=r;f[sa+4>>2]=c;c=ej(f[q>>2]|0,0,r,c,0,Td)|0;r=f[Td>>2]|0;if(r|c|0)break;o=o+1|0}while(o>>>0<100);if(c|0){ta=1253;break c}if(!r){c=13;ta=1253;break c}else c=0}b[A+3>>0]=0;f[A+28>>2]=0;s=Jf;y=f[s+4>>2]|0;z=g;f[z>>2]=f[s>>2];f[z+4>>2]=y;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 123:case 122:{s=f[m+8>>2]|0;z=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;c=f[m+12>>2]|0;if(C<<24>>24==122){w=ua+(c*40|0)|0;y=f[w>>2]|0;w=f[w+4>>2]|0}else{y=c;w=((c|0)<0)<<31>>31}sa=Ia;f[sa>>2]=y;f[sa+4>>2]=w;if((b[m+1>>0]|0)==-6?(f[Ja>>2]|0)!=0:0){q=f[(f[Lf>>2]|0)+(b[z+1>>0]<<4)>>2]|0;r=f[m+16>>2]|0}else{q=0;r=0}x=m+2|0;g=d[x>>1]|0;if(g&1)f[vc>>2]=(f[vc>>2]|0)+1;if(g&32){sa=Eb;f[sa>>2]=y;f[sa+4>>2]=w}f[Lb>>2]=f[ua+(s*40|0)+16>>2];f[Mb>>2]=f[ua+(s*40|0)+12>>2];if(!(g&16))o=0;else o=f[z+32>>2]|0;if(!(d[ua+(s*40|0)+8>>1]&16384))c=0;else c=f[ua+(s*40|0)>>2]|0;f[$b>>2]=c;f[Jf>>2]=0;c=jj(f[z+40>>2]|0,Jf,g&10,o)|0;b[z+3>>0]=0;f[z+28>>2]=0;if(c|0){ta=1273;break c}if(r|0)tb[f[Ja>>2]&127](f[Tb>>2]|0,(d[x>>1]&4)==0?18:23,q,f[r>>2]|0,y,w);z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case 124:{q=f[m+8>>2]|0;r=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;if((b[m+1>>0]|0)==-6?(f[Ja>>2]|0)!=0:0){c=f[(f[Lf>>2]|0)+(b[r+1>>0]<<4)>>2]|0;g=f[m+16>>2]|0;if((d[m+2>>1]&2)!=0?(b[r+4>>0]|0)!=0:0){ra=f[r+40>>2]|0;oh(ra);ra=ra+32|0;sa=f[ra+4>>2]|0;o=r+64|0;f[o>>2]=f[ra>>2];f[o+4>>2]=sa;o=c}else o=c}else{o=0;g=0}c=kj(f[r+40>>2]|0,d[m+2>>1]&255)|0;f[r+28>>2]=0;f[r+32>>2]=0;if(c|0){r=Qf;q=Rf;ta=3925;break a}if(((q&1|0)!=0?(f[vc>>2]=(f[vc>>2]|0)+1,le=f[Ja>>2]|0,(le|0)!=0):0)?(f[g+36>>2]&32|0)==0:0){z=r+64|0;tb[le&127](f[Tb>>2]|0,9,o,f[g>>2]|0,f[z>>2]|0,f[z+4>>2]|0);z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}break}case 125:{z=f[vc>>2]|0;f[wc>>2]=z;f[xc>>2]=(f[xc>>2]|0)+z;f[vc>>2]=0;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 126:{w=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;x=f[m+12>>2]|0;y=f[m+16>>2]|0;s=f[w+40>>2]|0;r=s+32|0;c=f[r>>2]|0;w=f[w+44>>2]|0;if(!c){q=((j[w+6>>1]|0)*40|0)+56|0;o=f[w+12>>2]|0;u:do if(!o){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](q)|0;ta=1309;break}o=ib[f[37372>>2]&255](q)|0;if((f[18194]|0)>>>0>>0)f[18194]=q;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){sa=f[18187]|0;ra=LA(c|0,g|0,o|0,((o|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}c=ib[f[37356>>2]&255](o)|0;if(!c){ta=1310;break c}g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){ta=1310;break c}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){g=o+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];ta=o+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=1309;break u}g=o+296|0;c=f[g>>2]|0;if(!c){c=o+292|0;break}else{f[g>>2]=f[c>>2];ta=o+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=1309;break u}}else c=o+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(o,q,0)|0;ta=1309}while(0);if((ta|0)==1309){ta=0;if(!c){ta=1310;break c}}f[c+4>>2]=c+16;f[c>>2]=w;f[r>>2]=c;d[c+8>>1]=y;o=c}else o=c;if(!(b[s+56>>0]|0)){g=f[s+36>>2]|0;c=g+8|0}else{g=f[s+20>>2]|0;sa=f[g+12>>2]|0;g=f[(f[g+8>>2]|0)+4>>2]|0;c=f[sa+(g*56|0)+32>>2]|0;g=sa+(g*56|0)+20|0}hj(w,f[g>>2]|0,c,o);if((y|0)>0){g=f[o+4>>2]|0;c=0;do{if(d[g+(c*40|0)+8>>1]&1){c=0;ta=27;break d}c=c+1|0}while((c|0)<(y|0))}if(!(lj(f[ua+(x*40|0)+12>>2]|0,f[ua+(x*40|0)+16>>2]|0,o,0)|0)){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{c=0;ta=27}break}case 127:{s=f[m+8>>2]|0;c=f[(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+40>>2]|0;if(!(b[c+56>>0]|0)){c=f[c+36>>2]|0;r=c+8|0}else{c=f[c+20>>2]|0;sa=f[c+12>>2]|0;c=f[(f[c+8>>2]|0)+4>>2]|0;r=f[sa+(c*56|0)+32>>2]|0;c=sa+(c*56|0)+20|0}c=f[c>>2]|0;if((f[ua+(s*40|0)+24>>2]|0)<(c|0)){if(df(ua+(s*40|0)|0,c,0)|0){r=Qf;q=Rf;c=7;ta=3925;break a}o=ua+(s*40|0)+8|0;g=o;o=d[o>>1]|0;q=f[ua+(s*40|0)+16>>2]|0}else{q=f[ua+(s*40|0)+20>>2]|0;f[ua+(s*40|0)+16>>2]=q;g=ua+(s*40|0)+8|0;o=d[g>>1]&13;d[g>>1]=o}f[ua+(s*40|0)+12>>2]=c;d[g>>1]=o&15872|16;YA(q|0,r|0,c|0)|0;f[(f[(f[tc>>2]|0)+(f[m+12>>2]<<2)>>2]|0)+28>>2]=0;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case -128:{sa=f[Kd>>2]|0;g=f[m+8>>2]|0;c=sa+(g*40|0)|0;g=sa+(g*40|0)+8|0;if(!(d[g>>1]&9216)){d[g>>1]=4;q=c}else{Qi(c)|0;q=c}c=f[(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+40>>2]|0;oh(c);g=f[c+44>>2]|0;if(g>>>0>(f[Ka>>2]|0)>>>0){ta=3953;break c}sa=j[c+48>>1]|0;o=f[c+40>>2]|0;ra=(f[(f[c+116>>2]|0)+60>>2]|0)-o|0;if(g>>>0>((ra|0)<(sa|0)?((ra|0)>0?ra:0):sa)>>>0){c=Yi(c,0,g,q)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}}else{f[q+16>>2]=o;d[q+8>>1]=4112;f[q+12>>2]=g}if((f[m+12>>2]|0)==0?(me=q+8|0,ne=d[me>>1]|0,(ne&4096)!=0):0){c=ne&65535;do if(!(c&18))c=ne;else{if(!(c&16384))c=ne;else{c=q+12|0;sa=(f[q>>2]|0)+(f[c>>2]|0)|0;if(df(q,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}_A((f[q+16>>2]|0)+(f[c>>2]|0)|0,0,f[q>>2]|0)|0;f[c>>2]=(f[c>>2]|0)+(f[q>>2]|0);c=d[me>>1]&-16897;d[me>>1]=c}if(f[q+24>>2]|0?(f[q+16>>2]|0)==(f[q+20>>2]|0):0)break;if(gf(q)|0){g=Qf;c=Rf;ta=3954;break a}c=d[me>>1]|0}while(0);d[me>>1]=c&-4097;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}break}case -127:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;o=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;r=o+2|0;v:do if(!(b[r>>0]|0)){do if(!(b[o+3>>0]|0)){if((b[o>>0]|0)!=2){q=o+40|0;c=f[q>>2]|0;do if(b[c>>0]|0){c=Xi(o)|0;if(c|0){ta=1407;break c}if(!(b[r>>0]|0)){c=f[q>>2]|0;break}else{d[g+8>>1]=1;c=0;break v}}while(0);oh(c);q=c+32|0;o=f[q>>2]|0;q=f[q+4>>2]|0;c=Jf;f[c>>2]=o;f[c+4>>2]=q;c=0;break}c=f[o+40>>2]|0;x=f[c>>2]|0;c=jb[f[(f[x>>2]|0)+48>>2]&255](c,Jf)|0;x=x+8|0;if(f[x>>2]|0){r=f[a>>2]|0;o=f[Of>>2]|0;w:do if(o|0){do if(r|0){if(f[r+480>>2]|0){Kc(r,o);break w}q=o;if((f[r+304>>2]|0)>>>0>q>>>0)break;if((f[r+308>>2]|0)>>>0<=q>>>0)break;sa=r+300|0;f[o>>2]=f[sa>>2];f[sa>>2]=o;break w}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{sa=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);s=f[x>>2]|0;x:do if(!s)o=0;else{w=(wz(s)|0)+1|0;y:do if(!r){sa=KA(w|0,0,-1,-1)|0;ra=ba()|0;if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390){o=0;break x}if(!(f[9328]|0)){o=ib[f[37356>>2]&255](w)|0;ta=1390;break}o=ib[f[37372>>2]&255](w)|0;if((f[18194]|0)>>>0>>0)f[18194]=w;r=71896;q=f[r>>2]|0;r=f[r+4>>2]|0;if((r|0)>0|(r|0)==0&q>>>0>0){sa=f[18187]|0;ra=LA(q|0,r|0,o|0,((o|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}o=ib[f[37356>>2]&255](o)|0;if(!o){o=0;break x}q=ib[f[37368>>2]&255](o)|0;q=(f[18187]|0)+q|0;f[18187]=q;if(q>>>0>(f[18191]|0)>>>0)f[18191]=q;q=(f[18190]|0)+1|0;f[18190]=q;if(q>>>0<=(f[18196]|0)>>>0)break;f[18196]=q}else{if(f[r+272>>2]|0){if(b[r+81>>0]|0){o=0;break x}}else{do if(!(0<0|(0==0?(j[r+276>>1]|0)>>>0>>0:0))){q=r+300|0;o=f[q>>2]|0;if(o|0){f[q>>2]=f[o>>2];ta=r+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=1390;break y}q=r+296|0;o=f[q>>2]|0;if(!o){o=r+292|0;break}else{f[q>>2]=f[o>>2];ta=r+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=1390;break y}}else o=r+288|0;while(0);f[o>>2]=(f[o>>2]|0)+1}o=Dc(r,w,0)|0;ta=1390}while(0);if((ta|0)==1390){ta=0;if(!o){o=0;break}}YA(o|0,s|0,w|0)|0}while(0);f[Of>>2]=o;o=f[x>>2]|0;do if(o|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{sa=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}while(0);f[x>>2]=0}if(c|0){ta=1407;break c}q=Jf;c=0;o=f[q>>2]|0;q=f[q+4>>2]|0}else{q=o+64|0;o=f[q>>2]|0;q=f[q+4>>2]|0;sa=Jf;f[sa>>2]=o;f[sa+4>>2]=q}while(0);sa=g;f[sa>>2]=o;f[sa+4>>2]=q}else d[g+8>>1]=1;while(0);z=wa;y=Qf;s=Rf;q=ua;r=va;break}case -126:{g=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;b[g+2>>0]=1;f[g+28>>2]=0;if(!(b[g>>0]|0)){g=f[g+40>>2]|0;o=g+16|0;q=f[o>>2]|0;do if(q|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{sa=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);f[o>>2]=0;b[g>>0]=1;z=wa;y=Qf;s=Rf;q=ua;r=va}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 32:case -125:{o=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;g=f[o+40>>2]|0;f[Jf>>2]=0;if(C<<24>>24==-125?(f[o+32>>2]=-1,(b[g>>0]|0)==0):0){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}c=ij(g,Jf)|0;g=f[Jf>>2]|0;b[o+2>>0]=g;b[o+3>>0]=0;f[o+28>>2]=0;if(c|0){ta=1418;break c}if((g|0)!=0&(f[m+8>>2]|0)>0){c=0;ta=27}else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}break}case 33:{s=f[(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+40>>2]|0;c=mj(s,Jf)|0;if(c|0){ta=1421;break c}do if(!(f[Jf>>2]|0)){if((b[s>>0]|0)==0?(oe=f[s+116>>2]|0,b[oe+8>>0]|0):0){c=j[oe+22>>1]|0;g=b[s+68>>0]|0;if(g<<24>>24>0){q=g<<24>>24;o=0;r=0;g=0;do{c=QA(c|0,g|0,j[(f[s+120+(r<<2)>>2]|0)+22>>1]|0,0)|0;g=ba()|0;o=o+1<<24>>24;r=o&255}while((r|0)<(q|0))}else g=0;if(g>>>0<0|(g|0)==0&c>>>0<8)if(g>>>0<0|(g|0)==0&c>>>0<2)c=0;else{o=40;do{o=(o&65535)+65526|0;c=WA(c|0,g|0,1)|0;g=ba()|0}while(g>>>0<0|(g|0)==0&c>>>0<8);o=o&65535;ta=1441}else{if(g>>>0>0|(g|0)==0&c>>>0>255){o=40;do{o=(o&65535)+40|0;ta=c;c=VA(c|0,g|0,4)|0;sa=g;g=ba()|0}while(sa>>>0>0|(sa|0)==0&ta>>>0>4095);o=o&65535}else o=40;if(g>>>0>0|(g|0)==0&c>>>0>15){do{o=(o&65535)+10&65535;ta=c;c=VA(c|0,g|0,1)|0;sa=g;g=ba()|0}while(sa>>>0>0|(sa|0)==0&ta>>>0>31);ta=1441}else ta=1441}if((ta|0)==1441){ta=0;c=(o&65535)+65526+(j[7936+((c&7)<<1)>>1]|0)|0}if((f[m+12>>2]|0)>(c<<16>>16|0)){f[Jf>>2]=1;break}}z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}while(0);c=0;ta=27;break}case 35:case 34:{f[yc>>2]=(f[yc>>2]|0)+1;ta=1447;break}case 36:{ta=1447;break}case 3:{g=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;c=f[g+40>>2]|0;if(b[c+56>>0]|0){f[Jf>>2]=0;c=rj(f[c+20>>2]|0,Jf)|0;c=(c|0)==0&(f[Jf>>2]|0)!=0?101:c;ta=2087;break d}q=c+36|0;o=f[q>>2]|0;ta=o+4|0;f[q>>2]=f[ta>>2];f[ta>>2]=0;do if(!((o|0)==0|(f[c+40>>2]|0)!=0)){if(f[pf>>2]|0){Kc(Yf,o);break}ta=o;if((f[rf>>2]|0)>>>0<=ta>>>0?(f[sf>>2]|0)>>>0>ta>>>0:0){f[o>>2]=f[Ff>>2];f[Ff>>2]=o;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ta=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);c=(f[q>>2]|0)==0?101:0;ta=2087;break}case 5:case 4:{c=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;g=c;c=jb[f[m+16>>2]&255](f[c+40>>2]|0,f[m+12>>2]|0)|0;ta=2087;break}case -123:case -124:{r=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;s=f[m+8>>2]|0;g=ua+(s*40|0)|0;q=m+2|0;if(d[q>>1]&1)f[vc>>2]=(f[vc>>2]|0)+1;o=ua+(s*40|0)+8|0;if(!(d[o>>1]&16384))c=C;else{c=ua+(s*40|0)+12|0;sa=(f[g>>2]|0)+(f[c>>2]|0)|0;if(df(g,(sa|0)>1?sa:1,1)|0){c=7;ta=2145;break c}_A((f[ua+(s*40|0)+16>>2]|0)+(f[c>>2]|0)|0,0,f[g>>2]|0)|0;f[c>>2]=(f[c>>2]|0)+(f[g>>2]|0);d[o>>1]=d[o>>1]&-16897;c=b[m>>0]|0}if(c<<24>>24==-124){x=f[r+40>>2]|0;E=ua+(s*40|0)+16|0;g=f[E>>2]|0;o=g+1|0;sa=b[o>>0]|0;c=sa&255;do if(sa<<24>>24<=-1){q=h[g+2>>0]|0;if(!(q&128)){c=c<<7&16256|q;break}g=h[g+3>>0]|0;if(!(g&128)){c=(c<<14|g)&2080895|q<<7&16256;break}else{Th(o,Jf)|0;sa=Jf;c=f[sa>>2]|0;c=((c|0)==(c|0)?0==(f[sa+4>>2]|0):0)?c:-1;break}}while(0);do if(!((c|0)!=7&(c+-1|0)>>>0<9)){g=x+60|0;if((c|0)<11|(c&1|0)==0){b[g>>0]=0;break}else{b[g>>0]=b[g>>0]&2;break}}else{sa=x+60|0;b[sa>>0]=b[sa>>0]&1}while(0);D=ua+(s*40|0)+12|0;B=f[D>>2]|0;o=1;c=B;g=((B|0)<0)<<31>>31;while(1){c=VA(c|0,g|0,7)|0;g=ba()|0;if((c|0)==0&(g|0)==0)break;else o=o+1|0}r=B+8|0;o=o+B|0;z=x+4|0;g=f[z>>2]|0;do if(!g)c=0;else{if(!(f[x+40>>2]|0)){c=x+44|0;sa=f[c>>2]|0;if((sa|0)<=(g|0)?!(f[17976]|0?(sa|0)>(f[x>>2]|0):0):0){c=0;break}}else{sa=f[x+48>>2]|0;if((sa|0)==0|(sa+r|0)<=(g|0)){c=0;break}c=x+44|0}sa=oj(x)|0;f[c>>2]=0;f[x+48>>2]=0;c=sa}while(0);C=x+36|0;g=x+44|0;f[g>>2]=(f[g>>2]|0)+o;g=x+8|0;if((o|0)>(f[g>>2]|0))f[g>>2]=o;y=x+40|0;w=f[y>>2]|0;q=w;if(w){A=x+48|0;s=f[A>>2]|0;o=s+r|0;x=x+52|0;g=f[x>>2]|0;if((o|0)>(g|0)){r=f[C>>2]|0;do g=g<<1;while((g|0)<(o|0));sa=f[z>>2]|0;g=(g|0)>(sa|0)?sa:g;g=(g|0)<(o|0)?o:g;w=Nc(w,g,((g|0)<0)<<31>>31)|0;if(!w){c=7;ta=2145;break c}r=w+(r-q)|0;f[C>>2]=r;f[y>>2]=w;f[x>>2]=g;o=C;g=w;s=f[A>>2]|0;q=w}else{o=C;g=w;r=f[C>>2]|0}g=g+s|0;f[A>>2]=s+(B+15&-8);if(r)f[g+4>>2]=r-q}else{sa=KA(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;ra=ba()|0;if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390){c=7;ta=2145;break c}do if(!(f[9328]|0)){g=ib[f[37356>>2]&255](r)|0;if(!g){c=7;ta=2145;break c}}else{q=ib[f[37372>>2]&255](r)|0;if((f[18194]|0)>>>0>>0)f[18194]=r;o=71896;g=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&g>>>0>0){sa=f[18187]|0;ra=LA(g|0,o|0,q|0,((q|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](q)|0;if(!g){c=7;ta=2145;break c}o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}while(0);f[g+4>>2]=f[C>>2];o=C}YA(g+8|0,f[E>>2]|0,f[D>>2]|0)|0;f[g>>2]=f[D>>2];f[o>>2]=g}else{sa=f[ua+(s*40|0)+12>>2]|0;c=zb;f[c>>2]=sa;f[c+4>>2]=((sa|0)<0)<<31>>31;f[Td>>2]=f[ua+(s*40|0)+16>>2];f[Ab>>2]=ua+((f[m+12>>2]|0)*40|0);d[Bb>>1]=f[m+16>>2];c=j[q>>1]|0;if(!(c&16))g=0;else g=f[r+32>>2]|0;c=jj(f[r+40>>2]|0,Td,c&10,g)|0;f[r+28>>2]=0}if(c|0){ta=2145;break c}z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case -122:{g=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;o=f[g+40>>2]|0;f[Td>>2]=f[g+44>>2];d[zc>>1]=f[m+12>>2];b[Bc>>0]=0;f[Ec>>2]=ua+((f[m+8>>2]|0)*40|0);c=ej(o,Td,0,0,0,Jf)|0;if(c|0){ta=2150;break c}if((f[Jf>>2]|0)==0?(re=kj(o,4)|0,re|0):0){c=re;ta=2150;break c}f[g+28>>2]=0;f[g+32>>2]=0;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case -120:case -121:{s=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;c=s+40|0;if(b[f[c>>2]>>0]|0?(vf=Xi(s)|0,vf|0):0){r=Qf;q=Rf;c=vf;ta=3925;break a}if(b[s+2>>0]|0){c=f[m+8>>2]|0;g=ua+(c*40|0)+8|0;if(!(d[g>>1]&9216)){d[g>>1]=1;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}else{cf(ua+(c*40|0)|0);z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}}c=f[c>>2]|0;oh(c);g=f[c+44>>2]|0;d[eb>>1]=0;f[fb>>2]=Yf;f[gb>>2]=0;sa=j[c+48>>1]|0;o=f[c+40>>2]|0;ra=(f[(f[c+116>>2]|0)+60>>2]|0)-o|0;if(g>>>0>((ra|0)<(sa|0)?((ra|0)>0?ra:0):sa)>>>0){c=Yi(c,0,g,Td)|0;if(c|0){ta=2180;break c}o=f[Cb>>2]|0}else{f[Cb>>2]=o;d[eb>>1]=4112;f[Db>>2]=g}sa=b[o>>0]|0;c=sa&255;do if(sa<<24>>24<=-1){g=h[o+1>>0]|0;if(!(g&128)){c=c<<7&16256|g;ta=2165;break}q=h[o+2>>0]|0;if(q&128){Th(o,Jf)|0;sa=Jf;c=f[sa>>2]|0;if((c|0)==(c|0)?0==(f[sa+4>>2]|0):0){ta=2165;break}else{c=-1;break}}else{c=(c<<14|q)&2080895|g<<7&16256;ta=2165;break}}else ta=2165;while(0);if((ta|0)==2165){ta=0;if(c>>>0<3){ta=2177;break c}}if(c>>>0>(f[Db>>2]|0)>>>0){ta=2177;break c}o=f[Cb>>2]|0;r=o+(c+-1)|0;sa=b[r>>0]|0;g=sa&255;do if(sa<<24>>24<=-1){o=h[o+c>>0]|0;if(!(o&128)){g=g<<7&16256|o;break}q=h[r+2>>0]|0;if(!(q&128)){g=(g<<14|q)&2080895|o<<7&16256;break}else{Th(r,Jf)|0;sa=Jf;g=f[sa>>2]|0;g=((g|0)==(g|0)?0==(f[sa+4>>2]|0):0)?g:-1;break}}while(0);if((g|0)==7|(g+-1|0)>>>0>8){ta=2177;break c}o=h[7808+g>>0]|0;q=f[Db>>2]|0;if(q>>>0<(c+o|0)>>>0){ta=2177;break c}Zi((f[Cb>>2]|0)+(q-o)|0,g,be)|0;q=be;o=f[q>>2]|0;q=f[q+4>>2]|0;if(!((d[eb>>1]&9216)==0&(f[gb>>2]|0)==0))ff(Td);if((b[m>>0]|0)==-121){z=f[(f[tc>>2]|0)+(f[m+12>>2]<<2)>>2]|0;b[z+2>>0]=0;y=z+64|0;f[y>>2]=o;f[y+4>>2]=q;b[z+3>>0]=1;f[z+24>>2]=f[m+16>>2];f[z+36>>2]=s;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}sa=f[Kd>>2]|0;g=f[m+8>>2]|0;c=sa+(g*40|0)|0;g=sa+(g*40|0)+8|0;if(!(d[g>>1]&9216))d[g>>1]=4;else Qi(c)|0;z=c;f[z>>2]=o;f[z+4>>2]=q;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case 40:case 39:case 38:case 37:{o=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;f[Td>>2]=f[o+44>>2];d[Jc>>1]=f[m+16>>2];b[Mc>>0]=((C&255)<39)<<31>>31;f[Oc>>2]=ua+((f[m+12>>2]|0)*40|0);o=f[o+40>>2]|0;oh(o);c=f[o+44>>2]|0;if((c|0)<1){ta=2191;break c}d[La>>1]=0;f[Ma>>2]=Yf;f[Na>>2]=0;sa=j[o+48>>1]|0;g=f[o+40>>2]|0;ra=(f[(f[o+116>>2]|0)+60>>2]|0)-g|0;if(c>>>0>((ra|0)<(sa|0)?((ra|0)>0?ra:0):sa)>>>0){c=Yi(o,0,c,Jf)|0;if(c|0){ta=2198;break c}c=f[nb>>2]|0;g=f[hb>>2]|0}else{f[hb>>2]=g;d[La>>1]=4112;f[nb>>2]=c}c=lj(c,g,Td,0)|0;if(!((d[La>>1]&9216)==0&(f[Na>>2]|0)==0))ff(Jf);if((((b[m>>0]&1)==0?c+1|0:0-c|0)|0)>0){c=0;ta=27}else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}break}case -119:{sa=f[Kd>>2]|0;g=f[m+8>>2]|0;c=sa+(g*40|0)|0;g=sa+(g*40|0)+8|0;if(!(d[g>>1]&9216)){d[g>>1]=4;B=c}else{Qi(c)|0;B=c}C=B+8|0;d[C>>1]=1;if((f[Oa>>2]|0)>((f[md>>2]|0)+1|0)){ta=2204;break c}D=f[m+12>>2]|0;y=f[(f[Lf>>2]|0)+(D<<4)+4>>2]|0;A=m+4|0;s=f[A>>2]|0;z=y+4|0;x=f[z>>2]|0;f[x+4>>2]=f[y>>2];c=f[x>>2]|0;c=lb[f[c+204>>2]&127](c,s,Jf,0)|0;if(c|0){ta=2208;break c}c=f[Jf>>2]|0;r=f[c+8>>2]|0;q=r+4|0;if((f[q>>2]|0)!=(s|0)){f[r+56>>2]=f[c+4>>2];f[r+72>>2]=c;f[r+52>>2]=x;f[q>>2]=s;b[r+9>>0]=(s|0)==1?100:0}o=f[z>>2]|0;f[o+4>>2]=f[y>>2];c=f[o+8>>2]|0;z:do if(c|0){A:do if(s)while(1){if((f[c+64>>2]|0)==(s|0))break A;c=f[c+24>>2]|0;if(!c)break z}while(0);c=Kg(c,s,0)|0;if(c|0){ta=2223;break c}}while(0);g=y+11|0;if(b[g>>0]|0?(b[g>>0]=0,Ad=f[(f[z>>2]|0)+8>>2]|0,Ad|0):0){c=Ad;do{if(b[c+1>>0]&16?(b[g>>0]=1,(f[c+64>>2]|0)==(s|0)):0)b[c>>0]=1;c=f[c+24>>2]|0}while((c|0)!=0)}c=sj(o,s,0,0)|0;if(c|0){ta=2223;break c}if(!(b[x+17>>0]|0)){c=tj(f[r+52>>2]|0,r,f[q>>2]|0)|0;do if(r|0){g=f[r+72>>2]|0;if(!(d[g+28>>1]&32)){bh(g);break}else{sa=f[g+20>>2]|0;ra=sa+120|0;f[ra>>2]=(f[ra>>2]|0)+-1;sa=sa+136|0;f[g+16>>2]=f[sa>>2];f[sa>>2]=g;break}}while(0);d[C>>1]=4;sa=B;f[sa>>2]=0;f[sa+4>>2]=0;if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}else{r=Qf;q=Rf;ta=3925;break a}}w=f[z>>2]|0;f[w+4>>2]=f[y>>2];w=f[(f[w+12>>2]|0)+56>>2]|0;w=h[w+53>>0]<<16|h[w+52>>0]<<24|h[w+54>>0]<<8|h[w+55>>0];if((w|0)==(s|0)){c=tj(f[r+52>>2]|0,r,f[q>>2]|0)|0;do if(r|0){g=f[r+72>>2]|0;if(!(d[g+28>>1]&32)){bh(g);break}else{sa=f[g+20>>2]|0;ra=sa+120|0;f[ra>>2]=(f[ra>>2]|0)+-1;sa=sa+136|0;f[g+16>>2]=f[sa>>2];f[sa>>2]=g;break}}while(0);if(!c)g=0;else{g=0;ta=2275;break c}}else{do if(r|0){c=f[r+72>>2]|0;if(!(d[c+28>>1]&32)){bh(c);break}else{sa=f[c+20>>2]|0;ra=sa+120|0;f[ra>>2]=(f[ra>>2]|0)+-1;sa=sa+136|0;f[c+16>>2]=f[sa>>2];f[sa>>2]=c;break}}while(0);c=f[x>>2]|0;c=lb[f[c+204>>2]&127](c,w,Jf,0)|0;if(c|0){ta=2241;break c}c=f[Jf>>2]|0;o=f[c+8>>2]|0;g=o+4|0;if((f[g>>2]|0)!=(w|0)){f[o+56>>2]=f[c+4>>2];f[o+72>>2]=c;f[o+52>>2]=x;f[g>>2]=w;b[o+9>>0]=(w|0)==1?100:0}c=Mh(x,o,1,0,s,0)|0;do if(o|0){g=f[o+72>>2]|0;if(!(d[g+28>>1]&32)){bh(g);break}else{sa=f[g+20>>2]|0;ra=sa+120|0;f[ra>>2]=(f[ra>>2]|0)+-1;sa=sa+136|0;f[g+16>>2]=f[sa>>2];f[sa>>2]=g;break}}while(0);if(c|0){g=0;ta=2275;break c}c=f[x>>2]|0;c=lb[f[c+204>>2]&127](c,w,Jf,0)|0;if(c|0){ta=2251;break c}c=f[Jf>>2]|0;o=f[c+8>>2]|0;g=o+4|0;if((f[g>>2]|0)==(w|0)){g=o+72|0;c=f[o+52>>2]|0}else{f[o+56>>2]=f[c+4>>2];sa=o+72|0;f[sa>>2]=c;f[o+52>>2]=x;f[g>>2]=w;b[o+9>>0]=(w|0)==1?100:0;g=sa;c=x}c=tj(c,o,w)|0;g=f[g>>2]|0;if(!(d[g+28>>1]&32))bh(g);else{sa=f[g+20>>2]|0;ra=sa+120|0;f[ra>>2]=(f[ra>>2]|0)+-1;sa=sa+136|0;f[g+16>>2]=f[sa>>2];f[sa>>2]=g}if(!c)g=w;else{g=0;ta=2275;break c}}q=1073741824/((f[x+32>>2]|0)>>>0)|0;r=q+1|0;o=x+36|0;c=w;while(1){s=c+-1|0;if((s|0)!=(r|0)){if(s>>>0<2)c=0;else{c=c+-3|0;c=c-((c>>>0)%(((((f[o>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;c=((c+1|0)==(q|0)?3:2)+c|0}if((c|0)!=(s|0))break}c=s}q=f[z>>2]|0;f[q+4>>2]=f[y>>2];q=f[q+12>>2]|0;o=f[q+56>>2]|0;q=f[q+72>>2]|0;r=f[q+20>>2]|0;do if((d[q+28>>1]&4)!=0?(f[r+24>>2]|0)>>>0>=(f[q+24>>2]|0)>>>0:0){if(!(f[r+96>>2]|0))break;wd=Ng(q)|0;ta=2270}else ta=2266;while(0);do if((ta|0)==2266){c=f[r+40>>2]|0;if(c|0){ta=2275;break c}if((f[r+148>>2]|0)>>>0>(f[r+152>>2]|0)>>>0){wd=Og(q)|0;ta=2270;break}else{wd=Pg(q)|0;ta=2270;break}}while(0);if((ta|0)==2270?(ta=0,wd|0):0){c=wd;ta=2275;break c}b[o+52>>0]=s>>>24;b[o+53>>0]=s>>>16;b[o+54>>0]=s>>>8;b[o+55>>0]=s;d[C>>1]=4;sa=B;f[sa>>2]=g;f[sa+4>>2]=((g|0)<0)<<31>>31;if(!g){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=f[A>>2]|0;q=f[(f[Lf>>2]|0)+(D<<4)+12>>2]|0;c=f[q+16>>2]|0;if(c|0)do{o=(f[c+8>>2]|0)+28|0;if((f[o>>2]|0)==(g|0))f[o>>2]=r;c=f[c>>2]|0}while((c|0)!=0);c=f[q+32>>2]|0;if(c|0)do{o=(f[c+8>>2]|0)+44|0;if((f[o>>2]|0)==(g|0))f[o>>2]=r;c=f[c>>2]|0}while((c|0)!=0);z=wa;y=Qf;s=D+1&255;q=ua;r=va;c=0}break}case -118:{f[Jf>>2]=0;g=f[(f[Lf>>2]|0)+(f[m+8>>2]<<4)+4>>2]|0;r=f[m+4>>2]|0;w=m+12|0;q=(f[w>>2]|0)==0?0:Jf;o=g+4|0;s=f[o>>2]|0;f[s+4>>2]=f[g>>2];c=f[s+8>>2]|0;B:do if(c){C:do if(r)while(1){if((f[c+64>>2]|0)==(r|0))break C;c=f[c+24>>2]|0;if(!c){ta=2295;break B}}while(0);c=Kg(c,r,0)|0;if(!c)ta=2295}else ta=2295;while(0);if((ta|0)==2295){ta=0;g=g+11|0;if(b[g>>0]|0?(b[g>>0]=0,xd=f[(f[o>>2]|0)+8>>2]|0,xd|0):0){c=xd;do{if(b[c+1>>0]&16?(b[g>>0]=1,(f[c+64>>2]|0)==(r|0)):0)b[c>>0]=1;c=f[c+24>>2]|0}while((c|0)!=0)}c=sj(s,r,0,q)|0}g=f[w>>2]|0;if(g|0?(se=f[Jf>>2]|0,f[vc>>2]=(f[vc>>2]|0)+se,te=ua+(g*40|0)|0,(g|0)>0):0){qa=te;qa=KA(f[qa>>2]|0,f[qa+4>>2]|0,se|0,((se|0)<0)<<31>>31|0)|0;ra=ba()|0;sa=te;f[sa>>2]=qa;f[sa+4>>2]=ra}if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case -117:{g=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;if((b[g>>0]|0)==1){ai(Yf,f[g+40>>2]|0);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}q=f[g+40>>2]|0;g=f[q+8>>2]|0;q=f[q+64>>2]|0;o=g+4|0;r=f[o>>2]|0;f[r+4>>2]=f[g>>2];c=f[r+8>>2]|0;D:do if(c|0){E:do if(q)while(1){if((f[c+64>>2]|0)==(q|0))break E;c=f[c+24>>2]|0;if(!c)break D}while(0);c=Kg(c,q,0)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}}while(0);g=g+11|0;if(b[g>>0]|0?(b[g>>0]=0,yd=f[(f[o>>2]|0)+8>>2]|0,yd|0):0){c=yd;do{if(b[c+1>>0]&16?(b[g>>0]=1,(f[c+64>>2]|0)==(q|0)):0)b[c>>0]=1;c=f[c+24>>2]|0}while((c|0)!=0)}c=sj(r,q,0,0)|0;if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case -116:{sa=f[Kd>>2]|0;c=f[m+8>>2]|0;g=sa+(c*40|0)|0;c=sa+(c*40|0)+8|0;if(!(d[c>>1]&9216))d[c>>1]=4;else Qi(g)|0;f[Jf>>2]=0;c=dj(f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+4>>2]|0,Jf,f[m+12>>2]|0)|0;if(c|0){ta=2328;break c}y=f[Jf>>2]|0;z=g;f[z>>2]=y;f[z+4>>2]=((y|0)<0)<<31>>31;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case -114:{b[Pc>>0]=(b[Pc>>0]|0)+1<<24>>24;c=uj(Yf,f[m+16>>2]|0,0,0,0)|0;b[Pc>>0]=(b[Pc>>0]|0)+-1<<24>>24;if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case -113:{c=f[m+4>>2]|0;g=m+16|0;if(!(f[g>>2]|0)){Wh(f[(f[Lf>>2]|0)+(c<<4)+12>>2]|0);f[yf>>2]=f[yf>>2]&-9;c=qi(Yf,c,Of,1)|0;f[yf>>2]=f[yf>>2]|1;sa=(h[Mf>>0]|h[Mf+1>>0]<<8)&-4;b[Mf>>0]=sa;b[Mf+1>>0]=sa>>8}else{f[Jf>>2]=Yf;f[Pa>>2]=c;f[Qa>>2]=Of;f[Ra>>2]=0;g=f[g>>2]|0;f[Re>>2]=f[(f[Lf>>2]|0)+(c<<4)>>2];f[Re+4>>2]=43770;f[Re+8>>2]=g;g=Ig(Yf,43706,Re)|0;if(!g){ta=2354;break c}b[rb>>0]=1;f[sb>>2]=0;c=uj(Yf,g,83,Jf,0)|0;do if(!c){c=f[sb>>2]|0;if(f[pf>>2]|0){Kc(Yf,g);break}sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}else{if(f[pf>>2]|0){Kc(Yf,g);break}sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);b[rb>>0]=0}switch(c|0){case 7:{ta=2354;break c}case 0:break;default:{ta=2352;break c}}z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case -112:{c=wj(Yf,f[m+4>>2]|0)|0;if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case -111:{g=pg((f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+12>>2]|0)+8|0,f[m+16>>2]|0,0)|0;do if(g|0){if(f[pf>>2]|0){hg(Yf,g);break}ra=g+32|0;sa=(f[ra>>2]|0)+-1|0;f[ra>>2]=sa;if(!sa)hg(Yf,g)}while(0);f[yf>>2]=f[yf>>2]|1;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case -110:{q=pg((f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+12>>2]|0)+24|0,f[m+16>>2]|0,0)|0;do if(q|0){o=(f[q+12>>2]|0)+8|0;g=f[o>>2]|0;if((g|0)==(q|0)){f[o>>2]=f[q+20>>2];g=f[q+36>>2]|0;if(g|0)ig(Yf,g);g=f[q+40>>2]|0;if(g|0)jg(Yf,g);g=f[q+16>>2]|0;do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);sa=q+55|0;F:do if((h[sa>>0]|h[sa+1>>0]<<8)&16?(ue=f[q+32>>2]|0,ue|0):0){if(f[pf>>2]|0){Kc(Yf,ue);break}g=ue;do if((f[rf>>2]|0)>>>0<=g>>>0){if((f[sf>>2]|0)>>>0<=g>>>0)break;f[ue>>2]=f[Ff>>2];f[Ff>>2]=ue;break F}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](ue);break}else{sa=ib[f[37368>>2]&255](ue)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ue);break}}while(0);if(f[pf>>2]|0){Kc(Yf,q);break}sa=q;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[q>>2]=f[Ff>>2];f[Ff>>2]=q;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{sa=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}G:do if(g|0){while(1){o=f[g+20>>2]|0;if((o|0)==(q|0))break;if(!o)break G;else g=o}f[g+20>>2]=f[q+20>>2]}while(0);g=f[q+36>>2]|0;if(g|0)ig(Yf,g);g=f[q+40>>2]|0;if(g|0)jg(Yf,g);g=f[q+16>>2]|0;do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);sa=q+55|0;H:do if((h[sa>>0]|h[sa+1>>0]<<8)&16?(ve=f[q+32>>2]|0,ve|0):0){if(f[pf>>2]|0){Kc(Yf,ve);break}g=ve;do if((f[rf>>2]|0)>>>0<=g>>>0){if((f[sf>>2]|0)>>>0<=g>>>0)break;f[ve>>2]=f[Ff>>2];f[Ff>>2]=ve;break H}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](ve);break}else{sa=ib[f[37368>>2]&255](ve)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ve);break}}while(0);if(f[pf>>2]|0){Kc(Yf,q);break}sa=q;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[q>>2]=f[Ff>>2];f[Ff>>2]=q;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{sa=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}while(0);f[yf>>2]=f[yf>>2]|1;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case -109:{z=pg((f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+12>>2]|0)+40|0,f[m+16>>2]|0,0)|0;if(!z){z=wa;y=Qf;s=Rf;q=ua;r=va}else{r=f[z+20>>2]|0;I:do if((r|0)==(f[z+24>>2]|0)){y=z+4|0;x=f[y>>2]|0;s=f[r+20>>2]|0;if(!s){o=r+12|0;g=r+16|0}else{o=b[x>>0]|0;if(!(o<<24>>24))g=0;else{g=0;q=x;do{q=q+1|0;g=U(g+(h[1232+(o&255)>>0]|0)|0,-1640531535)|0;o=b[q>>0]|0}while(o<<24>>24!=0)}g=(g>>>0)%((f[r+8>>2]|0)>>>0)|0;o=s+(g<<3)|0;g=s+(g<<3)+4|0}o=f[o>>2]|0;J:do if(!o)g=72124;else{w=h[1232+(h[x>>0]|0)>>0]|0;while(1){g=f[g>>2]|0;o=o+-1|0;r=f[g+12>>2]|0;sa=b[r>>0]|0;q=(h[1232+(sa&255)>>0]|0)-w|0;if(!(sa<<24>>24==0|(q|0)!=0)){s=x;do{r=r+1|0;s=s+1|0;sa=b[r>>0]|0;q=(h[1232+(sa&255)>>0]|0)-(h[1232+(h[s>>0]|0)>>0]|0)|0}while(!(sa<<24>>24==0|(q|0)!=0))}if(!q)break J;if(!o){g=72124;break}}}while(0);g=(f[g+8>>2]|0)+68|0;while(1){sa=f[g>>2]|0;o=sa+32|0;if((sa|0)==(z|0))break;else g=o}f[g>>2]=f[o>>2];kg(Yf,f[z+28>>2]|0);g=f[z>>2]|0;do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[y>>2]|0;do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[z+12>>2]|0;if(g|0)ig(Yf,g);s=f[z+16>>2]|0;K:do if(s|0){r=s+4|0;g=f[s>>2]|0;if((f[r>>2]|0)>0){q=0;do{g=f[g+(q<<3)>>2]|0;L:do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}o=g;do if((f[rf>>2]|0)>>>0<=o>>>0){if((f[sf>>2]|0)>>>0<=o>>>0)break;f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break L}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);q=q+1|0;g=f[s>>2]|0}while((q|0)<(f[r>>2]|0))}M:do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}o=g;do if((f[rf>>2]|0)>>>0<=o>>>0){if((f[sf>>2]|0)>>>0<=o>>>0)break;f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break M}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);if(f[pf>>2]|0){Kc(Yf,s);break}g=s;do if((f[rf>>2]|0)>>>0<=g>>>0){if((f[sf>>2]|0)>>>0<=g>>>0)break;f[s>>2]=f[Ff>>2];f[Ff>>2]=s;break K}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{sa=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);if(f[pf>>2]|0){Kc(Yf,z);break}g=z;do if((f[rf>>2]|0)>>>0<=g>>>0){if((f[sf>>2]|0)>>>0<=g>>>0)break;f[z>>2]=f[Ff>>2];f[Ff>>2]=z;break I}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{sa=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}}else{kg(Yf,f[z+28>>2]|0);g=f[z>>2]|0;do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[z+4>>2]|0;do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[z+12>>2]|0;if(g|0)ig(Yf,g);s=f[z+16>>2]|0;N:do if(s|0){r=s+4|0;g=f[s>>2]|0;if((f[r>>2]|0)>0){q=0;do{g=f[g+(q<<3)>>2]|0;O:do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}o=g;do if((f[rf>>2]|0)>>>0<=o>>>0){if((f[sf>>2]|0)>>>0<=o>>>0)break;f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break O}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);q=q+1|0;g=f[s>>2]|0}while((q|0)<(f[r>>2]|0))}P:do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}o=g;do if((f[rf>>2]|0)>>>0<=o>>>0){if((f[sf>>2]|0)>>>0<=o>>>0)break;f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break P}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);if(f[pf>>2]|0){Kc(Yf,s);break}g=s;do if((f[rf>>2]|0)>>>0<=g>>>0){if((f[sf>>2]|0)>>>0<=g>>>0)break;f[s>>2]=f[Ff>>2];f[Ff>>2]=s;break N}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{sa=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);if(f[pf>>2]|0){Kc(Yf,z);break}sa=z;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[z>>2]=f[Ff>>2];f[Ff>>2]=z;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{sa=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}}while(0);f[yf>>2]=f[yf>>2]|1;z=wa;y=Qf;s=Rf;q=ua;r=va}break}case -108:{y=f[m+8>>2]|0;D=f[m+4>>2]|0;E=ua+(D*40|0)|0;g=f[(f[Lf>>2]|0)+(j[m+2>>1]<<4)+4>>2]|0;z=(f[m+16>>2]|0)+4|0;F=ua+((f[m+12>>2]|0)*40|0)|0;sa=(f[F>>2]|0)+1|0;B=f[g+4>>2]|0;A=B+4|0;C=f[(f[A>>2]|0)+32>>2]|0;f[A>>2]=f[g>>2];f[be>>2]=B;f[Qc>>2]=f[B>>2];g=f[B+44>>2]|0;f[Rc>>2]=g;f[Sc>>2]=sa;f[Wc>>2]=0;f[Xc>>2]=0;f[Tc>>2]=0;f[Tc+4>>2]=0;f[Tc+8>>2]=0;f[Tc+12>>2]=0;f[Tc+16>>2]=0;f[Zc>>2]=ee;f[Yc>>2]=0;f[_c>>2]=100;f[$c>>2]=1e9;f[ad>>2]=0;b[bd>>0]=0;b[cd>>0]=1;Q:do if(g){g=g>>>3;r=g+1|0;if(!(f[9328]|0)){g=ib[f[37356>>2]&255](r)|0;if(!g)ta=2578}else{q=ib[f[37372>>2]&255](r)|0;if((f[18194]|0)>>>0<=g>>>0)f[18194]=r;o=71896;g=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&g>>>0>0){sa=f[18187]|0;ra=LA(g|0,o|0,q|0,((q|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](q)|0;if(g){o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0>(f[18196]|0)>>>0)f[18196]=o}else ta=2578}if((ta|0)==2578){f[Wc>>2]=0;f[Uc>>2]=1;ta=2639;break}_A(g|0,0,r|0)|0;f[Wc>>2]=g;x=B+32|0;r=f[x>>2]|0;if((f[18019]|0)>=(r|0)?(we=f[18025]|0,(we|0)!=0):0){f[18025]=f[we>>2];sa=f[18026]|0;f[18026]=sa+-1;f[18027]=(sa|0)<=(f[18021]|0)&1;if((f[18195]|0)>>>0>>0)f[18195]=r;g=(f[18188]|0)+1|0;f[18188]=g;if(g>>>0>(f[18192]|0)>>>0){f[18192]=g;g=we}else g=we}else ta=2585;R:do if((ta|0)==2585){ta=0;sa=KA(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;ra=ba()|0;S:do if(!(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390)){do if(!(f[9328]|0)){g=ib[f[37356>>2]&255](r)|0;if(!g)break S}else{g=ib[f[37372>>2]&255](r)|0;if((f[18194]|0)>>>0>>0)f[18194]=r;q=71896;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[18187]|0;ra=LA(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g)break S;o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}while(0);o=ib[f[37368>>2]&255](g)|0;if((f[18195]|0)>>>0>>0)f[18195]=r;o=(f[18189]|0)+o|0;f[18189]=o;if(o>>>0<=(f[18193]|0)>>>0)break R;f[18193]=o;break R}while(0);f[Xc>>2]=0;f[Uc>>2]=1;break Q}while(0);f[Xc>>2]=g;g=(1073741824/((f[x>>2]|0)>>>0)|0)+1|0;if(g>>>0<=(f[Rc>>2]|0)>>>0){sa=(f[Wc>>2]|0)+(g>>>3)|0;b[sa>>0]=1<<(g&7)|h[sa>>0]}f[Vc>>2]=43784;q=B+12|0;w=f[(f[q>>2]|0)+56>>2]|0;xj(be,1,h[w+33>>0]<<16|h[w+32>>0]<<24|h[w+34>>0]<<8|h[w+35>>0],h[w+37>>0]<<16|h[w+36>>0]<<24|h[w+38>>0]<<8|h[w+39>>0]);f[Vc>>2]=0;w=B+17|0;if(!(b[w>>0]|0)){sa=f[(f[q>>2]|0)+56>>2]|0;if(h[sa+65>>0]<<16|h[sa+64>>0]<<24|h[sa+66>>0]<<8|h[sa+67>>0]|0)yj(be,43845,Te)}else{if((y|0)>0){g=0;o=0;do{sa=f[z+(g<<2)>>2]|0;o=(o|0)<(sa|0)?sa:o;g=g+1|0}while((g|0)!=(y|0))}else o=0;g=f[(f[q>>2]|0)+56>>2]|0;g=h[g+53>>0]<<16|h[g+52>>0]<<24|h[g+54>>0]<<8|h[g+55>>0];if((o|0)!=(g|0)){f[Se>>2]=o;f[Se+4>>2]=g;yj(be,43800,Se)}}o=(f[A>>2]|0)+32|0;ra=o;sa=f[ra+4>>2]|0;g=o;f[g>>2]=f[ra>>2]&-2097153;f[g+4>>2]=sa;g=f[Sc>>2]|0;if((y|0)>0&(g|0)!=0){s=0;do{q=z+(s<<2)|0;r=f[q>>2]|0;if(r){if((r|0)>1&(b[w>>0]|0)!=0){g=rh(f[be>>2]|0,r,Jf,Td)|0;T:do if((g|0)<7){switch(g|0){case 0:break;default:{ta=2618;break T}}g=b[Jf>>0]|0;o=f[Td>>2]|0;if(g<<24>>24==1&(o|0)==0)break;f[Ve>>2]=r;f[Ve+4>>2]=1;f[Ve+8>>2]=0;f[Ve+12>>2]=g&255;f[Ve+16>>2]=o;yj(be,43929,Ve)}else{if((g|0)<3082)switch(g|0){case 7:break;default:{ta=2618;break T}}else switch(g|0){case 3082:break;default:{ta=2618;break T}}f[Uc>>2]=1;ta=2618}while(0);if((ta|0)==2618){ta=0;f[Ue>>2]=r;yj(be,43900,Ue)}g=f[q>>2]|0}else g=r;zj(be,g,ke,-1,2147483647)|0;g=f[Sc>>2]|0}s=s+1|0}while((s|0)<(y|0)&(g|0)!=0);o=(f[A>>2]|0)+32|0}qa=UA(0,C|0,32)|0;ra=ba()|0;sa=o;f[sa>>2]=qa;f[sa+4>>2]=ra;if((g|0)!=0&(f[Rc>>2]|0)!=0){s=B+36|0;r=1;do{o=r>>>3;q=1<<(r&7);do if(!(q&h[(f[Wc>>2]|0)+o>>0])){if(r>>>0<2)g=0;else{g=r+-2|0;g=g-((g>>>0)%(((((f[s>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;g=((g+1|0)==(1073741824/((f[x>>2]|0)>>>0)|0|0)?3:2)+g|0}if((g|0)==(r|0)?b[w>>0]|0:0)break;f[We>>2]=r;yj(be,43983,We);if(q&h[(f[Wc>>2]|0)+o>>0]|0)ta=2633}else ta=2633;while(0);do if((ta|0)==2633){ta=0;if(r>>>0<2)g=0;else{g=r+-2|0;g=g-((g>>>0)%(((((f[s>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;g=((g+1|0)==(1073741824/((f[x>>2]|0)>>>0)|0|0)?3:2)+g|0}if((g|0)!=(r|0))break;if(!(b[w>>0]|0))break;f[Xe>>2]=r;yj(be,44005,Xe)}while(0);r=r+1|0}while(f[Sc>>2]|0?r>>>0<=(f[Rc>>2]|0)>>>0:0);ta=2639}else ta=2639}else ta=2639;while(0);U:do if((ta|0)==2639?(ta=0,Cd=f[Xc>>2]|0,Cd|0):0){g=Cd;do if((f[18022]|0)>>>0<=g>>>0)if((f[18023]|0)>>>0>g>>>0){f[18188]=(f[18188]|0)+-1;f[Cd>>2]=f[18025];f[18025]=Cd;sa=(f[18026]|0)+1|0;f[18026]=sa;f[18027]=(sa|0)<(f[18021]|0)&1;break U}else{g=ib[f[37368>>2]&255](Cd)|0;break}else g=ib[f[37368>>2]&255](Cd)|0;while(0);f[18189]=(f[18189]|0)-g;if(!(f[9328]|0)){ob[f[37360>>2]&127](Cd);break}else{sa=ib[f[37368>>2]&255](Cd)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Cd);break}}while(0);g=f[Wc>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);if(!(f[Uc>>2]|0))s=f[Tc>>2]|0;else{if(b[cd>>0]&4){g=f[Yc>>2]|0;o=f[Zc>>2]|0;V:do if(o|0){do if(g|0){if(f[g+480>>2]|0){Kc(g,o);break V}q=o;if((f[g+304>>2]|0)>>>0<=q>>>0){if((f[g+308>>2]|0)>>>0<=q>>>0)break;sa=g+300|0;f[o>>2]=f[sa>>2];f[sa>>2]=o;break V}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{sa=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);b[cd>>0]=b[cd>>0]&-5}f[_c>>2]=0;f[ad>>2]=0;f[Zc>>2]=0;s=(f[Tc>>2]|0)+1|0;f[Tc>>2]=s}r=(s|0)==0;if(!r){g=f[Zc>>2]|0;if(((g|0)!=0?(b[g+(f[ad>>2]|0)>>0]=0,(f[$c>>2]|0)!=0):0)?(b[cd>>0]&4)==0:0)g=Cc(Yc)|0;else ta=2685}else{if(b[cd>>0]&4){g=f[Yc>>2]|0;o=f[Zc>>2]|0;W:do if(o|0){do if(g|0){if(f[g+480>>2]|0){Kc(g,o);break W}q=o;if((f[g+304>>2]|0)>>>0>q>>>0)break;if((f[g+308>>2]|0)>>>0<=q>>>0)break;ta=g+300|0;f[o>>2]=f[ta>>2];f[ta>>2]=o;break W}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ta=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);b[cd>>0]=b[cd>>0]&-5}f[_c>>2]=0;f[ad>>2]=0;f[Zc>>2]=0;ta=2685}if((ta|0)==2685){ta=0;g=f[Zc>>2]|0}o=ua+(D*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=1;else cf(E);if(!r){if(!g){g=Qf;c=Rf;ta=3954;break a}qa=s+-1|0;ra=F;qa=LA(f[ra>>2]|0,f[ra+4>>2]|0,qa|0,((qa|0)<0)<<31>>31|0)|0;ra=ba()|0;sa=F;f[sa>>2]=qa;f[sa+4>>2]=ra;$e(E,g,-1,1,101)|0}if((d[o>>1]&2)!=0?(b[ua+(D*40|0)+10>>0]|0)!=Fd<<24>>24:0){Ri(E,Fd)|0;z=wa;y=Qf;s=Rf;q=ua;r=va}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case -107:{g=f[m+4>>2]|0;o=f[m+8>>2]|0;if((d[ua+(g*40|0)+8>>1]&16)==0?Aj(ua+(g*40|0)|0)|0:0){g=Qf;c=Rf;ta=3954;break a}x=f[ua+(g*40|0)+16>>2]|0;w=ua+(o*40|0)|0;s=f[w>>2]|0;w=f[w+4>>2]|0;r=x+24|0;o=d[r>>1]|0;if(o<<16>>16){sa=x+16|0;g=f[sa>>2]|0;d[r>>1]=o+-1<<16>>16;f[sa>>2]=g+16;if(!g){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}else{q=f[x+4>>2]|0;X:do if(f[q+272>>2]|0)if(!(b[q+81>>0]|0))ta=2708;else{z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{do if((j[q+276>>1]|0)>=1016){o=q+300|0;g=f[o>>2]|0;if(g|0){f[o>>2]=f[g>>2];sa=q+284|0;f[sa>>2]=(f[sa>>2]|0)+1;break X}o=q+296|0;g=f[o>>2]|0;if(!g){g=q+292|0;break}else{f[o>>2]=f[g>>2];sa=q+284|0;f[sa>>2]=(f[sa>>2]|0)+1;break X}}else g=q+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;ta=2708}while(0);if((ta|0)==2708){ta=0;g=Dc(q,1016,0)|0}if(!g){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}f[g>>2]=f[x>>2];f[x>>2]=g;d[r>>1]=62;f[x+16>>2]=g+24;g=g+8|0}o=g;f[o>>2]=s;f[o+4>>2]=w;f[g+8>>2]=0;o=x+12|0;q=f[o>>2]|0;if(!q)f[x+8>>2]=g;else{sa=q;ra=f[sa+4>>2]|0;if(!((ra|0)<(w|0)|((ra|0)==(w|0)?(f[sa>>2]|0)>>>0>>0:0))){sa=x+26|0;d[sa>>1]=d[sa>>1]&-2}f[q+8>>2]=g}f[o>>2]=g;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 41:{o=f[m+4>>2]|0;D=ua+(o*40|0)|0;E=ua+(o*40|0)+8|0;g=d[E>>1]|0;do if(g&16){F=f[ua+(o*40|0)+16>>2]|0;I=F+26|0;C=d[I>>1]|0;g=C&65535;if(!(g&2)){if(!(g&1)){B=F+8|0;g=f[B>>2]|0;_A(Td|0,0,160)|0;if(!g)g=0;else{o=0;while(1){sa=g+8|0;q=g;g=f[sa>>2]|0;f[sa>>2]=0;if(!o)o=Td;else{A=0;z=Td;while(1){r=Jf;Y:while(1){y=o;x=f[y>>2]|0;y=f[y+4>>2]|0;while(1){w=q;s=f[w>>2]|0;w=f[w+4>>2]|0;if(!((y|0)>(w|0)|(y|0)==(w|0)&x>>>0>s>>>0))break;f[r+8>>2]=q;r=f[q+8>>2]|0;if(!r){r=q;break Y}else{sa=q;q=r;r=sa}}if((y|0)<(w|0)|(y|0)==(w|0)&x>>>0>>0){f[r+8>>2]=o;r=o}o=f[o+8>>2]|0;if(!o){o=q;break}}f[r+8>>2]=o;q=f[Ob>>2]|0;f[z>>2]=0;A=A+1|0;r=Td+(A<<2)|0;o=f[r>>2]|0;if(!o){o=r;break}else z=r}}f[o>>2]=q;o=f[Td>>2]|0;if(!g){g=o;break}}}y=1;do{q=f[Td+(y<<2)>>2]|0;if(q)if(!g)g=q;else{o=Jf;Z:while(1){x=g;w=f[x>>2]|0;x=f[x+4>>2]|0;while(1){s=q;r=f[s>>2]|0;s=f[s+4>>2]|0;if(!((x|0)>(s|0)|(x|0)==(s|0)&w>>>0>r>>>0))break;f[o+8>>2]=q;o=f[q+8>>2]|0;if(!o){o=q;break Z}else{sa=q;q=o;o=sa}}if((x|0)<(s|0)|(x|0)==(s|0)&w>>>0>>0){f[o+8>>2]=g;o=g}g=f[g+8>>2]|0;if(!g){g=q;break}}f[o+8>>2]=g;g=f[Nb>>2]|0}y=y+1|0}while((y|0)!=40);f[B>>2]=g}d[I>>1]=C|3}w=F+8|0;g=f[w>>2]|0;if(!g){g=d[E>>1]|0;break}y=g;x=f[y>>2]|0;y=f[y+4>>2]|0;sa=f[g+8>>2]|0;f[w>>2]=sa;if(!sa){g=f[F>>2]|0;if(g|0){s=F+4|0;do{o=g;g=f[g>>2]|0;q=f[s>>2]|0;do if(!q)ta=2759;else{if(f[q+480>>2]|0){Kc(q,o);break}r=o;if((f[q+304>>2]|0)>>>0>r>>>0){ta=2759;break}if((f[q+308>>2]|0)>>>0<=r>>>0){ta=2759;break}sa=q+300|0;f[o>>2]=f[sa>>2];f[sa>>2]=o}while(0);do if((ta|0)==2759){ta=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{sa=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0)}while((g|0)!=0)}f[F>>2]=0;d[F+24>>1]=0;f[w>>2]=0;f[F+12>>2]=0;f[F+20>>2]=0;d[I>>1]=1}o=f[m+12>>2]|0;g=ua+(o*40|0)|0;o=ua+(o*40|0)+8|0;if(!(d[o>>1]&9216)){ta=g;f[ta>>2]=x;f[ta+4>>2]=y;d[o>>1]=4;ta=22;break d}else{bf(g,x,y);ta=22;break d}}while(0);if(!(g&9216)){d[E>>1]=1;ta=21;break d}else{cf(D);ta=21;break d}}case 42:{o=f[m+4>>2]|0;g=ua+((f[m+12>>2]|0)*40|0)|0;M=f[m+16>>2]|0;if((d[ua+(o*40|0)+8>>1]&16)==0?Aj(ua+(o*40|0)|0)|0:0){g=Qf;c=Rf;ta=3954;break a}L=ua+(o*40|0)+16|0;if(M){D=f[L>>2]|0;K=g;J=f[K>>2]|0;K=f[K+4>>2]|0;E=D+28|0;if((f[E>>2]|0)!=(M|0)){F=D+8|0;o=f[F>>2]|0;if(o|0){C=D+20|0;I=D+26|0;if(!(d[I>>1]&1)){_A(Td|0,0,160)|0;B=o;o=0;do{sa=B+8|0;q=B;B=f[sa>>2]|0;f[sa>>2]=0;if(!o)o=Td;else{A=0;z=Td;while(1){r=Jf;_:while(1){y=o;x=f[y>>2]|0;y=f[y+4>>2]|0;while(1){w=q;s=f[w>>2]|0;w=f[w+4>>2]|0;if(!((y|0)>(w|0)|(y|0)==(w|0)&x>>>0>s>>>0))break;f[r+8>>2]=q;r=f[q+8>>2]|0;if(!r){r=q;break _}else{sa=q;q=r;r=sa}}if((y|0)<(w|0)|(y|0)==(w|0)&x>>>0>>0){f[r+8>>2]=o;r=o}o=f[o+8>>2]|0;if(!o){o=q;break}}f[r+8>>2]=o;q=f[Ub>>2]|0;f[z>>2]=0;A=A+1|0;r=Td+(A<<2)|0;o=f[r>>2]|0;if(!o){o=r;break}else z=r}}f[o>>2]=q;o=f[Td>>2]|0}while((B|0)!=0);z=1;do{r=f[Td+(z<<2)>>2]|0;do if(r){if(!o){o=r;break}q=Jf;$:while(1){y=o;x=f[y>>2]|0;y=f[y+4>>2]|0;while(1){w=r;s=f[w>>2]|0;w=f[w+4>>2]|0;if(!((y|0)>(w|0)|(y|0)==(w|0)&x>>>0>s>>>0))break;f[q+8>>2]=r;q=f[r+8>>2]|0;if(!q){q=r;break $}else{sa=r;r=q;q=sa}}if((y|0)<(w|0)|(y|0)==(w|0)&x>>>0>>0){f[q+8>>2]=o;q=o}o=f[o+8>>2]|0;if(!o){o=r;break}}f[q+8>>2]=o;o=f[gc>>2]|0}while(0);z=z+1|0}while((z|0)!=40)}q=f[C>>2]|0;aa:do if(!q){w=C;ta=2818}else{while(1){z=q+8|0;s=q+12|0;q=f[s>>2]|0;if(!q)break;Cj(q,Td,be);f[s>>2]=0;q=Jf;y=f[Td>>2]|0;ba:do{x=y;w=f[x>>2]|0;x=f[x+4>>2]|0;while(1){s=o;r=f[s>>2]|0;s=f[s+4>>2]|0;if(!((x|0)>(s|0)|(x|0)==(s|0)&w>>>0>r>>>0))break;f[q+8>>2]=o;q=f[o+8>>2]|0;if(!q){q=o;o=y;break ba}else{sa=o;o=q;q=sa}}if((x|0)<(s|0)|(x|0)==(s|0)&w>>>0>>0){f[q+8>>2]=y;q=y}y=f[y+8>>2]|0}while((y|0)!=0);f[q+8>>2]=o;o=f[ac>>2]|0;q=f[z>>2]|0;if(!q){w=z;ta=2818;break aa}}sa=o+8|0;q=f[sa>>2]|0;f[Jf>>2]=q;f[sa>>2]=0;f[o+12>>2]=0;if(!q){f[s>>2]=o;break}r=1;while(1){sa=q+8|0;f[Jf>>2]=f[sa>>2];f[q+12>>2]=o;o=Bj(Jf,r)|0;f[sa>>2]=o;o=f[Jf>>2]|0;if(!o)break;else{sa=q;r=r+1|0;q=o;o=sa}}f[s>>2]=q}while(0);ca:do if((ta|0)==2818){ta=0;x=D+24|0;r=d[x>>1]|0;da:do if(r<<16>>16){sa=D+16|0;q=f[sa>>2]|0;d[x>>1]=r+-1<<16>>16;f[sa>>2]=q+16;f[w>>2]=q;if(!q)break ca}else{s=f[D+4>>2]|0;ea:do if(f[s+272>>2]|0){if(!(b[s+81>>0]|0))ta=2829}else{do if((j[s+276>>1]|0)>=1016){r=s+300|0;q=f[r>>2]|0;if(q|0){f[r>>2]=f[q>>2];ta=s+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=2830;break ea}r=s+296|0;q=f[r>>2]|0;if(!q){q=s+292|0;break}else{f[r>>2]=f[q>>2];ta=s+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=2830;break ea}}else q=s+288|0;while(0);f[q>>2]=(f[q>>2]|0)+1;ta=2829}while(0);if((ta|0)==2829){q=Dc(s,1016,0)|0;ta=2830}do if((ta|0)==2830){ta=0;if(!q)break;f[q>>2]=f[D>>2];f[D>>2]=q;sa=q+8|0;d[x>>1]=62;f[D+16>>2]=q+24;f[w>>2]=sa;q=sa;break da}while(0);f[w>>2]=0;break ca}while(0);sa=q;f[sa>>2]=0;f[sa+4>>2]=0;f[q+8>>2]=0;sa=o+8|0;r=f[sa>>2]|0;f[Jf>>2]=r;f[sa>>2]=0;f[o+12>>2]=0;if(r){s=1;while(1){sa=r+8|0;f[Jf>>2]=f[sa>>2];f[r+12>>2]=o;o=Bj(Jf,s)|0;f[sa>>2]=o;o=f[Jf>>2]|0;if(!o){o=r;break}else{sa=r;s=s+1|0;r=o;o=sa}}}f[q+12>>2]=o}while(0);f[F>>2]=0;f[D+12>>2]=0;d[I>>1]=d[I>>1]|1}f[E>>2]=M}o=f[D+20>>2]|0;if(o|0)do{q=f[o+12>>2]|0;if(q|0)do{s=q;r=f[s>>2]|0;s=f[s+4>>2]|0;if((s|0)<(K|0)|(s|0)==(K|0)&r>>>0>>0)q=q+8|0;else{if(!((s|0)>(K|0)|(s|0)==(K|0)&r>>>0>J>>>0)){ta=27;break d}q=q+12|0}q=f[q>>2]|0}while((q|0)!=0);o=f[o+8>>2]|0}while((o|0)!=0);if((M|0)<=-1){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}x=f[L>>2]|0;w=g;s=f[w>>2]|0;w=f[w+4>>2]|0;r=x+24|0;o=d[r>>1]|0;if(o<<16>>16){sa=x+16|0;g=f[sa>>2]|0;d[r>>1]=o+-1<<16>>16;f[sa>>2]=g+16;if(!g){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}else{q=f[x+4>>2]|0;fa:do if(f[q+272>>2]|0)if(!(b[q+81>>0]|0))ta=2862;else{z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{do if((j[q+276>>1]|0)>=1016){o=q+300|0;g=f[o>>2]|0;if(g|0){f[o>>2]=f[g>>2];sa=q+284|0;f[sa>>2]=(f[sa>>2]|0)+1;break fa}o=q+296|0;g=f[o>>2]|0;if(!g){g=q+292|0;break}else{f[o>>2]=f[g>>2];sa=q+284|0;f[sa>>2]=(f[sa>>2]|0)+1;break fa}}else g=q+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;ta=2862}while(0);if((ta|0)==2862){ta=0;g=Dc(q,1016,0)|0}if(!g){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}f[g>>2]=f[x>>2];f[x>>2]=g;d[r>>1]=62;f[x+16>>2]=g+24;g=g+8|0}o=g;f[o>>2]=s;f[o+4>>2]=w;f[g+8>>2]=0;o=x+12|0;q=f[o>>2]|0;if(!q)f[x+8>>2]=g;else{sa=q;ra=f[sa+4>>2]|0;if(!((ra|0)<(w|0)|((ra|0)==(w|0)?(f[sa>>2]|0)>>>0>>0:0))){sa=x+26|0;d[sa>>1]=d[sa>>1]&-2}f[q+8>>2]=g}f[o>>2]=g;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 45:{B=f[m+16>>2]|0;x=f[m+12>>2]|0;y=ua+(x*40|0)|0;if(d[m+2>>1]|0?(Ed=f[B+20>>2]|0,Bd=f[sc>>2]|0,Bd|0):0){g=Bd;do{if((f[g+28>>2]|0)==(Ed|0)){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}g=f[g+4>>2]|0}while((g|0)!=0)}if((f[Sa>>2]|0)>=(f[Ta>>2]|0)){ta=2878;break c}r=ua+(x*40|0)+8|0;if(!(d[r>>1]&16)){s=B+12|0;w=f[s>>2]|0;z=w+(f[B+8>>2]|0)+((w|0)==0&1)|0;o=B+4|0;w=(w<<2)+80+(((f[o>>2]|0)+7|0)/8|0)+(z*40|0)|0;q=((w|0)<0)<<31>>31;do if(f[rd>>2]|0)if(!(b[l>>0]|0))ta=2888;else{c=Rf;g=Qf;ta=3959;break a}else{if(!(0>>0|(0==(q|0)?(j[pd>>1]|0)>>>0>>0:0))){g=f[Ff>>2]|0;if(g|0){f[Ff>>2]=f[g>>2];f[Af>>2]=(f[Af>>2]|0)+1;A=g;break}g=f[zf>>2]|0;if(!g)g=Bf;else{f[zf>>2]=f[g>>2];f[Af>>2]=(f[Af>>2]|0)+1;A=g;break}}else g=qd;f[g>>2]=(f[g>>2]|0)+1;ta=2888}while(0);if((ta|0)==2888){ta=0;A=Dc(Yf,w,q)|0}if(!A){g=Qf;c=Rf;ta=3954;break a}_A(A|0,0,w|0)|0;if(!((d[r>>1]&9216)==0?!(f[ua+(x*40|0)+24>>2]|0):0))ff(y);d[r>>1]=1040;f[ua+(x*40|0)+16>>2]=A;f[ua+(x*40|0)+12>>2]=w;f[ua+(x*40|0)+36>>2]=102;f[A>>2]=a;f[A+60>>2]=z;w=f[s>>2]|0;f[A+64>>2]=w;f[A+48>>2]=(m-Qf|0)/20|0;f[A+16>>2]=f[Kd>>2];f[A+56>>2]=f[Ba>>2];f[A+20>>2]=f[tc>>2];f[A+44>>2]=f[Gb>>2];f[A+8>>2]=f[qe>>2];f[A+52>>2]=f[yb>>2];f[A+28>>2]=f[B+20>>2];q=A+80|0;m=q+(z*40|0)|0;if((m|0)==(q|0)){r=A;s=q;m=A;g=w}else{g=q;do{d[g+8>>1]=128;f[g+32>>2]=Yf;g=g+40|0}while((g|0)!=(m|0));r=A;s=q;m=A;g=w}}else{m=f[ua+(x*40|0)+16>>2]|0;q=m+80|0;r=m;s=q;o=B+4|0;g=f[B+12>>2]|0}f[Sa>>2]=(f[Sa>>2]|0)+1;f[r+4>>2]=f[sc>>2];Qf=Eb;y=f[Qf+4>>2]|0;z=r+32|0;f[z>>2]=f[Qf>>2];f[z+4>>2]=y;f[r+68>>2]=f[vc>>2];f[r+72>>2]=f[(f[a>>2]|0)+100>>2];f[r+40>>2]=f[Fb>>2];f[Fb>>2]=0;f[vc>>2]=0;f[sc>>2]=m;f[Kd>>2]=s;m=f[r+60>>2]|0;f[Ba>>2]=m;f[Gb>>2]=f[r+64>>2]&65535;m=q+(m*40|0)|0;f[tc>>2]=m;m=m+(g<<2)|0;f[r+24>>2]=m;_A(m|0,0,((f[o>>2]|0)+7|0)/8|0|0)|0;m=f[B>>2]|0;f[qe>>2]=m;f[yb>>2]=f[o>>2];z=wa;y=m;s=Rf;r=va;m=m+-20|0;break}case -106:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;q=f[sc>>2]|0;o=f[q+16>>2]|0;q=(f[(f[q+8>>2]|0)+((f[q+48>>2]|0)*20|0)+4>>2]|0)+(f[m+4>>2]|0)|0;r=o+(q*40|0)|0;s=g+8|0;if(d[s>>1]&9216){Si(g,r,4096);z=wa;y=Qf;s=Rf;q=ua;r=va;break d};f[g>>2]=f[r>>2];f[g+4>>2]=f[r+4>>2];f[g+8>>2]=f[r+8>>2];f[g+12>>2]=f[r+12>>2];f[g+16>>2]=f[r+16>>2];if(!(d[o+(q*40|0)+8>>1]&2048)){d[s>>1]=d[s>>1]&-7169|4096;z=wa;y=Qf;s=Rf;q=ua;r=va}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case -105:{if(!((f[dd>>2]&524288|0)==0&0==0)){s=f[m+8>>2]|0;y=Ua;s=KA(f[y>>2]|0,f[y+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;y=ba()|0;z=Ua;f[z>>2]=s;f[z+4>>2]=y;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}g=f[m+8>>2]|0;o=((g|0)<0)<<31>>31;if(!(f[m+4>>2]|0)){s=jd;s=KA(f[s>>2]|0,f[s+4>>2]|0,g|0,o|0)|0;y=ba()|0;z=jd;f[z>>2]=s;f[z+4>>2]=y;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{s=Va;s=KA(f[s>>2]|0,f[s+4>>2]|0,g|0,o|0)|0;y=ba()|0;z=Va;f[z>>2]=s;f[z+4>>2]=y;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}case 46:if(!(f[m+4>>2]|0)){sa=jd;if(!((f[sa>>2]|0)==0&(f[sa+4>>2]|0)==0)){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}sa=Ua;if((f[sa>>2]|0)==0&(f[sa+4>>2]|0)==0){ta=27;break d}else{z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}else{sa=Va;if(!((f[sa>>2]|0)==0&(f[sa+4>>2]|0)==0)){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}sa=Ua;if((f[sa>>2]|0)==0&(f[sa+4>>2]|0)==0){ta=27;break d}else{z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}case -104:{g=f[sc>>2]|0;if(!g)o=ua;else{while(1){o=f[g+4>>2]|0;if(!o)break;else g=o}o=f[g+16>>2]|0}q=f[m+4>>2]|0;x=o+(q*40|0)|0;s=o+(q*40|0)+8|0;g=d[s>>1]|0;r=g&65535;do if(!(r&4)){if(r&8|0){o=Fc(+p[x>>3])|0;q=ba()|0;break}if(!(r&18)){o=0;q=0}else{o=Gc(b[o+(q*40|0)+10>>0]|0,f[o+(q*40|0)+12>>2]|0,f[o+(q*40|0)+16>>2]|0)|0;q=ba()|0;g=d[s>>1]|0}}else{q=x;o=f[q>>2]|0;q=f[q+4>>2]|0}while(0);w=x;f[w>>2]=o;f[w+4>>2]=q;d[s>>1]=g&15872|4;g=f[m+8>>2]|0;s=ua+(g*40|0)|0;w=ua+(g*40|0)+8|0;r=d[w>>1]|0;o=r&65535;do if(!(o&4)){if(o&8|0){o=Fc(+p[s>>3])|0;q=ba()|0;g=r;break}if(!(o&18)){o=0;q=0;g=r}else{o=Gc(b[ua+(g*40|0)+10>>0]|0,f[ua+(g*40|0)+12>>2]|0,f[ua+(g*40|0)+16>>2]|0)|0;q=ba()|0;g=d[w>>1]|0}}else{q=s;o=f[q>>2]|0;q=f[q+4>>2]|0;g=r}while(0);sa=s;f[sa>>2]=o;f[sa+4>>2]=q;d[w>>1]=g&15872|4;sa=x;ra=f[sa+4>>2]|0;if((ra|0)<(q|0)|((ra|0)==(q|0)?(f[sa>>2]|0)>>>0>>0:0)){z=x;f[z>>2]=o;f[z+4>>2]=q;z=wa;y=Qf;s=Rf;q=ua;r=va}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 47:{g=ua+((f[m+4>>2]|0)*40|0)|0;q=g;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){ra=f[m+12>>2]|0;ra=LA(o|0,q|0,ra|0,((ra|0)<0)<<31>>31|0)|0;sa=ba()|0;ta=g;f[ta>>2]=ra;f[ta+4>>2]=sa;ta=27}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case -103:{q=f[m+4>>2]|0;r=f[m+12>>2]|0;sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;q=ua+(q*40|0)|0;o=f[q>>2]|0;q=f[q+4>>2]|0;if(!((q|0)<0|(q|0)==0&o>>>0<1)?(Hd=ua+(r*40|0)|0,Gd=f[Hd>>2]|0,Hd=f[Hd+4>>2]|0,sa=(Hd|0)>0|(Hd|0)==0&Gd>>>0>0,Gd=sa?Gd:0,Hd=sa?Hd:0,sa=LA(-1,2147483647,o|0,q|0)|0,ra=ba()|0,!(((Hd|0)>-1|(Hd|0)==-1&Gd>>>0>4294967295)&((ra|0)<(Hd|0)|(ra|0)==(Hd|0)&sa>>>0>>0))):0){s=KA(Gd|0,Hd|0,o|0,q|0)|0;y=ba()|0;z=g;f[z>>2]=s;f[z+4>>2]=y;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}z=g;f[z>>2]=-1;f[z+4>>2]=-1;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 48:{g=ua+((f[m+4>>2]|0)*40|0)|0;q=g;o=f[q>>2]|0;q=f[q+4>>2]|0;if(!((o|0)==0&(q|0)==0))if((q|0)>0|(q|0)==0&o>>>0>0){ra=KA(o|0,q|0,-1,-1)|0;sa=ba()|0;ta=g;f[ta>>2]=ra;f[ta+4>>2]=sa;ta=27}else ta=27;else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 49:{g=ua+((f[m+4>>2]|0)*40|0)|0;sa=g;ra=f[sa>>2]|0;sa=f[sa+4>>2]|0;o=KA(ra|0,sa|0,-1,-1)|0;q=ba()|0;if(!((ra|0)==0&(sa|0)==-2147483648)?(sa=g,f[sa>>2]=o,f[sa+4>>2]=q,(o|0)==0&(q|0)==0):0)ta=27;else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case -101:case -102:{q=d[m+2>>1]|0;r=q&65535;o=(r<<2)+68|0;do if(f[rd>>2]|0)if(!(b[l>>0]|0))ta=2955;else{c=Rf;g=Qf;ta=3959;break a}else{if(!(0<0|(0==0?(j[pd>>1]|0)>>>0>>0:0))){g=f[Ff>>2]|0;if(g|0){f[Ff>>2]=f[g>>2];f[Af>>2]=(f[Af>>2]|0)+1;break}g=f[zf>>2]|0;if(!g)g=Bf;else{f[zf>>2]=f[g>>2];f[Af>>2]=(f[Af>>2]|0)+1;break}}else g=qd;f[g>>2]=(f[g>>2]|0)+1;ta=2955}while(0);if((ta|0)==2955)g=Dc(Yf,o,0)|0;if(!g){g=Qf;c=Rf;ta=3954;break a}f[g+8>>2]=0;s=g+28+(r<<2)|0;f[g>>2]=s;d[s+8>>1]=1;f[s+32>>2]=Yf;f[s+24>>2]=0;s=m+16|0;f[g+4>>2]=f[s>>2];f[g+16>>2]=(m-Qf|0)/20|0;f[g+12>>2]=a;b[g+24>>0]=0;f[g+20>>2]=0;b[g+25>>0]=q;b[m+1>>0]=-16;f[s>>2]=g;b[m>>0]=-100;s=g;ta=2958;break}case -100:{s=f[m+16>>2]|0;ta=2958;break}case -98:case -99:{o=f[m+4>>2]|0;r=ua+(o*40|0)|0;q=m+12|0;c=f[q>>2]|0;if(!c){g=f[m+16>>2]|0;f[Wa>>2]=0;f[Wa+4>>2]=0;f[Wa+8>>2]=0;f[Wa+12>>2]=0;f[Wa+16>>2]=0;na=Td;oa=na+40|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));d[Xa>>1]=1;c=ua+(o*40|0)+32|0;f[Ya>>2]=f[c>>2];f[Jf>>2]=Td;f[Za>>2]=r;f[_a>>2]=g;ob[f[g+20>>2]&127](Jf);do if((f[ua+(o*40|0)+24>>2]|0)>0){g=f[c>>2]|0;c=f[ua+(o*40|0)+20>>2]|0;if(g|0){if(f[g+480>>2]|0){Kc(g,c);break}sa=c;if((f[g+304>>2]|0)>>>0<=sa>>>0?(f[g+308>>2]|0)>>>0>sa>>>0:0){sa=g+300|0;f[c>>2]=f[sa>>2];f[sa>>2]=c;break}}if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{sa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);na=r;g=Td;oa=na+40|0;do{f[na>>2]=f[g>>2];na=na+4|0;g=g+4|0}while((na|0)<(oa|0));o=r;c=f[ub>>2]|0}else{g=ua+(c*40|0)|0;o=f[m+16>>2]|0;f[Jf>>2]=0;f[Jf+4>>2]=0;f[Jf+8>>2]=0;f[Jf+12>>2]=0;f[Jf+16>>2]=0;f[Jf+20>>2]=0;f[Jf+24>>2]=0;f[Jf+28>>2]=0;c=ua+(c*40|0)+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else cf(g);f[Jf>>2]=g;f[vb>>2]=r;f[wb>>2]=o;ob[f[o+24>>2]&127](Jf);o=ua+((f[q>>2]|0)*40|0)|0;c=f[xb>>2]|0}if(c|0){ta=3002;break c}g=o+8|0;c=d[g>>1]|0;if((c&2)!=0?(b[o+10>>0]|0)!=Fd<<24>>24:0){Ri(o,Fd)|0;c=d[g>>1]|0}g=c&65535;if(g&18){c=f[o+12>>2]|0;if(g&16384)c=(f[o>>2]|0)+c|0;if((c|0)>(f[(f[o+32>>2]|0)+108>>2]|0)){ta=3953;break c}else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}}else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}break}case 6:{f[Jf>>2]=0;f[ed>>2]=-1;f[fd>>2]=-1;c=Ej(Yf,f[m+4>>2]|0,f[m+8>>2]|0,fd,ed)|0;switch(c|0){case 0:{g=f[Jf>>2]|0;break}case 5:{f[Jf>>2]=1;g=1;break}default:{ta=3023;break c}}q=f[m+12>>2]|0;c=ua+(q*40|0)|0;o=((g|0)<0)<<31>>31;q=ua+(q*40|0)+8|0;if(!(d[q>>1]&9216)){sa=c;f[sa>>2]=g;f[sa+4>>2]=o;d[q>>1]=4}else bf(c,g,o);c=c+40|0;g=f[fd>>2]|0;o=((g|0)<0)<<31>>31;q=c+8|0;if(!(d[q>>1]&9216)){sa=c;f[sa>>2]=g;f[sa+4>>2]=o;d[q>>1]=4}else bf(c,g,o);c=c+40|0;g=f[ed>>2]|0;o=((g|0)<0)<<31>>31;q=c+8|0;if(!(d[q>>1]&9216)){sa=c;f[sa>>2]=g;f[sa+4>>2]=o;d[q>>1]=4}else bf(c,g,o);z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case 7:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;o=f[m+12>>2]|0;z=f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+4>>2]|0;w=z+4|0;B=f[f[w>>2]>>2]|0;r=b[B+5>>0]|0;C=r&255;o=(o|0)==-1?C:o;if((h[B+16>>0]|0)<=2){if((f[f[B+64>>2]>>2]|0)!=0?(sa=B+72|0,ra=f[sa+4>>2]|0,(ra|0)>0|(ra|0)==0&(f[sa>>2]|0)>>>0>0):0)ta=3030}else ta=3030;if((ta|0)==3030){ta=0;o=C}if(!(b[B+15>>0]|0))q=f[B+168>>2]|0;else q=72788;if((o|0)==5)if(((q|0)!=0?((wz(q)|0)&1073741823|0)!=0:0)?(Jd=f[f[B+60>>2]>>2]|0,(b[B+13>>0]|0)==0):0)if(!(b[B+4>>0]|0))if((f[Jd>>2]|0)>1?(f[Jd+52>>2]|0)!=0:0){A=5;ta=3040}else o=C;else{A=5;ta=3040}else o=C;else{A=o;ta=3040}ga:do if((ta|0)==3040){ta=0;if((A|0)!=(C|0)){o=r<<24>>24==5;y=(A|0)==5;if(o|y){if(!(b[sd>>0]|0)){ta=3044;break c}if((f[Oa>>2]|0)>1){ta=3044;break c}if(!o){if(r<<24>>24==4)Fj(B,2)|0;if(c|0){o=A;break}}else{q=B+216|0;c=f[q>>2]|0;if(!c){f[Jf>>2]=0;o=B+17|0;c=b[o>>0]|0;ha:do switch(c<<24>>24){case 0:case 5:{do if(!(b[B+13>>0]|0)){c=f[B+60>>2]|0;c=jb[f[(f[c>>2]|0)+28>>2]&255](c,1)|0;if(!c){c=b[o>>0]|0;break}else{o=A;break ga}}while(0);if(c<<24>>24==5)break ha;b[o>>0]=1;break}default:{}}while(0);c=f[B>>2]|0;c=lb[f[c+32>>2]&127](c,f[B+220>>2]|0,0,Jf)|0;if((c|0)==0&(f[Jf>>2]|0)!=0)c=Oi(B)|0;if(c|0){o=A;break}c=f[q>>2]|0;if(c|0){s=o;ta=3059}}else{s=B+17|0;ta=3059}do if((ta|0)==3059){ta=0;switch(b[s>>0]|0){case 0:case 1:case 2:case 3:case 5:{r=B+13|0;do if(!(b[r>>0]|0)){o=B+60|0;c=f[o>>2]|0;c=jb[f[(f[c>>2]|0)+28>>2]&255](c,4)|0;if(!c){c=f[q>>2]|0;break}o=f[o>>2]|0;q=f[o>>2]|0;if(!q){o=A;break ga}if(!(b[r>>0]|0))jb[f[q+32>>2]&255](o,1)|0;if((b[s>>0]|0)==5){o=A;break ga}b[s>>0]=1;o=A;break ga}while(0);b[s>>0]=4;break}default:{}}c=ei(c,Yf,h[B+11>>0]|0,f[B+152>>2]|0,f[B+208>>2]|0)|0;f[q>>2]=0;if(!c)break;if(b[B+4>>0]|0){o=A;break ga}o=f[B+60>>2]|0;q=f[o>>2]|0;if(!q){o=A;break ga}if(!(b[B+13>>0]|0))jb[f[q+32>>2]&255](o,1)|0;if((b[s>>0]|0)==5){o=A;break ga}b[s>>0]=1;o=A;break ga}while(0);Fj(B,A)|0}o=f[w>>2]|0;x=o+22|0;c=d[x>>1]|0;d[x>>1]=y?c&-33:c|32;c=Li(z,0,0)|0;ia:do if(!c){o=o+12|0;s=f[(f[o>>2]|0)+56>>2]|0;w=s+18|0;sa=b[w>>0]|0;r=y?2:1;if(sa<<24>>24==r<<24>>24?(b[s+19>>0]|0)==sa<<24>>24:0){c=0;break}c=Li(z,2,0)|0;if(c|0)break;o=f[(f[o>>2]|0)+72>>2]|0;q=f[o+20>>2]|0;do if(!(d[o+28>>1]&4))ta=3088;else{if((f[q+24>>2]|0)>>>0<(f[o+24>>2]|0)>>>0){ta=3088;break}if(!(f[q+96>>2]|0))break;ud=Ng(o)|0;ta=3092}while(0);do if((ta|0)==3088){ta=0;c=f[q+40>>2]|0;if(c|0)break ia;if((f[q+148>>2]|0)>>>0>(f[q+152>>2]|0)>>>0){ud=Og(o)|0;ta=3092;break}else{ud=Pg(o)|0;ta=3092;break}}while(0);if((ta|0)==3092?(ta=0,ud|0):0){c=ud;break}b[w>>0]=r;b[s+19>>0]=r;c=0}while(0);d[x>>1]=d[x>>1]&-33;o=A}else o=A}else o=C}while(0);q=(c|0)!=0;o=Fj(B,q?C:o)|0;d[g+8>>1]=2562;if((o|0)==6){f[g+16>>2]=0;o=0}else{o=f[7952+(o<<2)>>2]|0;f[g+16>>2]=o;o=(wz(o)|0)&1073741823}f[g+12>>2]=o;b[g+10>>0]=1;if(!cb)Ri(g,Fd)|0;if(q){r=Qf;q=Rf;ta=3925;break a}else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}break}case 8:{g=f[m+4>>2]|0;if(!(b[sd>>0]|0)){ta=3102;break c}if((f[$a>>2]|0)>1){ta=3124;break c}x=dd;F=f[x>>2]|0;x=f[x+4>>2]|0;I=f[yf>>2]|0;J=f[wc>>2]|0;K=f[xc>>2]|0;L=b[If>>0]|0;f[yf>>2]=I|6;D=dd;f[D>>2]=F&-268456578|513;f[D+4>>2]=x;b[If>>0]=0;D=f[Lf>>2]|0;x=f[D+(g<<4)>>2]|0;D=f[D+(g<<4)+4>>2]|0;E=D+4|0;s=b[(f[f[E>>2]>>2]|0)+12>>0]|0;w=f[Kf>>2]|0;c=Gj(Yf,Of,44223)|0;ja:do if(!c){A=f[Lf>>2]|0;C=A+(w<<4)|0;A=f[A+(w<<4)+4>>2]|0;z=A+4|0;f[(f[z>>2]|0)+4>>2]=f[A>>2];if(!(Gg(A,0)|0))Hg(A,0)|0;B=f[E>>2]|0;f[B+4>>2]=f[D>>2];B=(f[B+32>>2]|0)-(f[B+36>>2]|0)|0;c=f[(f[(f[Lf>>2]|0)+(g<<4)+12>>2]|0)+80>>2]|0;g=f[z>>2]|0;f[g+4>>2]=f[A>>2];g=f[(f[g>>2]|0)+212>>2]|0;f[g+16>>2]=c;o=f[9361]|0;q=f[g+44>>2]|0;if((c|0)<=-1){ra=QA(c|0,((c|0)<0)<<31>>31|0,-1024,-1)|0;sa=ba()|0;c=(f[g+28>>2]|0)+(f[g+24>>2]|0)|0;c=OA(ra|0,sa|0,c|0,((c|0)<0)<<31>>31|0)|0;ba()|0}pb[o&127](q,c);g=f[E>>2]|0;f[g+4>>2]=f[D>>2];g=f[(f[g>>2]|0)+212>>2]|0;c=f[g+16>>2]|0;if((c|0)<=-1){ra=QA(c|0,((c|0)<0)<<31>>31|0,-1024,-1)|0;sa=ba()|0;c=(f[g+28>>2]|0)+(f[g+24>>2]|0)|0;c=OA(ra|0,sa|0,c|0,((c|0)<0)<<31>>31|0)|0;ba()|0}r=f[g+20>>2]|0;c=(c|0)<(r|0)?r:c;r=f[z>>2]|0;o=f[A>>2]|0;q=r+4|0;f[q>>2]=o;r=f[r>>2]|0;g=f[r+212>>2]|0;if(c|0){if((c|0)<0){ra=QA(c|0,((c|0)<0)<<31>>31|0,-1024,-1)|0;sa=ba()|0;c=(f[g+28>>2]|0)+(f[g+24>>2]|0)|0;c=OA(ra|0,sa|0,c|0,((c|0)<0)<<31>>31|0)|0;ba()|0}f[g+20>>2]=c}f[q>>2]=o;b[r+7>>0]=1;c=r+20|0;f[r+8>>2]=0;b[c>>0]=b[c>>0]&-2;c=Gj(Yf,Of,44244)|0;if(!c){c=Li(D,2,0)|0;if(!c){c=f[E>>2]|0;if((b[(f[c>>2]|0)+5>>0]|0)==5)f[ic>>2]=0;c=f[c+32>>2]|0;r=f[z>>2]|0;f[r+4>>2]=f[A>>2];if(!(d[r+22>>1]&2)){y=(B|0)<0;if(y)q=(f[r+32>>2]|0)-(f[r+36>>2]|0)|0;else q=B;do if((c+-512|0)>>>0<65025){if(c+-1&c|0)break;f[r+32>>2]=c;o=r+80|0;c=f[o>>2]|0;if(!c)break;g=c+-4|0;f[o>>2]=g;c=g;do if((f[18022]|0)>>>0<=c>>>0)if((f[18023]|0)>>>0>c>>>0){f[18188]=(f[18188]|0)+-1;f[g>>2]=f[18025];f[18025]=g;sa=(f[18026]|0)+1|0;f[18026]=sa;f[18027]=(sa|0)<(f[18021]|0)&1;break}else{c=ib[f[37368>>2]&255](g)|0;ta=3172;break}else{c=ib[f[37368>>2]&255](g)|0;ta=3172}while(0);do if((ta|0)==3172){ta=0;f[18189]=(f[18189]|0)-c;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[o>>2]=0}while(0);ra=r+32|0;sa=ih(f[r>>2]|0,ra,q)|0;f[r+36>>2]=(f[ra>>2]|0)-(q&65535);if(sa|0){q=C;c=7;g=D;break}if(!(s<<24>>24)){c=f[ic>>2]|0;r=f[z>>2]|0;f[r+4>>2]=f[A>>2];if(d[r+22>>1]&2){q=C;c=7;g=D;break}if(y)q=(f[r+32>>2]|0)-(f[r+36>>2]|0)|0;else q=B;do if((c+-512|0)>>>0<65025){if(c+-1&c|0)break;f[r+32>>2]=c;o=r+80|0;c=f[o>>2]|0;if(!c)break;g=c+-4|0;f[o>>2]=g;c=g;do if((f[18022]|0)>>>0<=c>>>0)if((f[18023]|0)>>>0>c>>>0){f[18188]=(f[18188]|0)+-1;f[g>>2]=f[18025];f[18025]=g;sa=(f[18026]|0)+1|0;f[18026]=sa;f[18027]=(sa|0)<(f[18021]|0)&1;break}else{c=ib[f[37368>>2]&255](g)|0;ta=3189;break}else{c=ib[f[37368>>2]&255](g)|0;ta=3189}while(0);do if((ta|0)==3189){ta=0;f[18189]=(f[18189]|0)-c;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[o>>2]=0}while(0);ra=r+32|0;sa=ih(f[r>>2]|0,ra,q)|0;f[r+36>>2]=(f[ra>>2]|0)-(q&65535);if(sa|0){q=C;c=7;g=D;break}}if(b[l>>0]|0){q=C;c=7;g=D;break}c=b[jc>>0]|0;do if(c<<24>>24>-1)c=c<<24>>24;else{c=f[E>>2]|0;f[c+4>>2]=f[D>>2];if(!(b[c+17>>0]|0)){c=0;break}c=(b[c+18>>0]|0)==0?1:2}while(0);o=f[z>>2]|0;f[o+4>>2]=f[A>>2];g=c&255;if(d[o+22>>1]&2){c=o+17|0;if(((g|0)!=0|0)==(h[c>>0]|0))ta=3202}else{c=o+17|0;ta=3202}if((ta|0)==3202){ta=0;b[c>>0]=(g|0)!=0&1;b[o+18>>0]=(g|0)==2&1}b[Hb>>0]=w;f[af>>2]=x;c=Hj(Yf,Of,44250,af)|0;if(c|0){q=C;g=D;break}f[xe>>2]=x;c=Hj(Yf,Of,44358,xe)|0;if(c|0){q=C;g=D;break}b[Hb>>0]=0;f[ye>>2]=x;c=Hj(Yf,Of,44412,ye)|0;f[yf>>2]=f[yf>>2]&-5;if(c|0){q=C;g=D;break}f[ze>>2]=x;c=Hj(Yf,Of,44563,ze)|0;if(c|0){q=C;g=D;break}g=0;do{o=h[44693+g>>0]|0;q=f[E>>2]|0;f[q+4>>2]=f[D>>2];o=(o<<2)+36|0;q=(f[(f[q+12>>2]|0)+56>>2]|0)+o|0;q=(h[q+1>>0]<<16|h[q>>0]<<24|h[q+2>>0]<<8|h[q+3>>0])+(h[44693+(g|1)>>0]|0)|0;s=f[z>>2]|0;f[s+4>>2]=f[A>>2];s=f[s+12>>2]|0;r=f[s+56>>2]|0;s=f[s+72>>2]|0;w=f[s+20>>2]|0;do if(!(d[s+28>>1]&4))ta=3212;else{if((f[w+24>>2]|0)>>>0<(f[s+24>>2]|0)>>>0){ta=3212;break}if(!(f[w+96>>2]|0))break;vd=Ng(s)|0;ta=3216}while(0);do if((ta|0)==3212){ta=0;c=f[w+40>>2]|0;if(c|0){q=C;g=D;break ja}if((f[w+148>>2]|0)>>>0>(f[w+152>>2]|0)>>>0){vd=Og(s)|0;ta=3216;break}else{vd=Pg(s)|0;ta=3216;break}}while(0);if((ta|0)==3216?(ta=0,vd|0):0){q=C;c=vd;g=D;break ja}sa=r+o|0;b[sa>>0]=q>>>24;b[sa+1>>0]=q>>>16;b[sa+2>>0]=q>>>8;b[sa+3>>0]=q;g=g+2|0}while(g>>>0<10);g=f[E>>2]|0;f[g+4>>2]=f[D>>2];c=f[A>>2]|0;o=f[z>>2]|0;f[o+4>>2]=c;g=f[(f[g>>2]|0)+60>>2]|0;q=f[g>>2]|0;do if(!q)ta=3221;else{ra=f[o+32>>2]|0;ra=QA(f[o+44>>2]|0,0,ra|0,((ra|0)<0)<<31>>31|0)|0;sa=ba()|0;c=Td;f[c>>2]=ra;f[c+4>>2]=sa;c=kb[f[q+40>>2]&127](g,11,Td)|0;c=(c|0)==12?0:c;if(c|0)break;c=f[A>>2]|0;ta=3221}while(0);do if((ta|0)==3221){ta=0;na=Jf;oa=na+48|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));f[kc>>2]=c;f[lc>>2]=A;f[mc>>2]=D;f[nc>>2]=1;Ij(Jf,2147483647)|0;c=Jj(Jf)|0;if(c|0){g=f[f[(f[mc>>2]|0)+4>>2]>>2]|0;if(b[g+12>>0]|0)break;jh(g);break}c=(f[E>>2]|0)+22|0;d[c>>1]=d[c>>1]&-3;f[(f[z>>2]|0)+4>>2]=f[A>>2];c=Gg(A,0)|0;if(c|0){q=C;g=D;break ja}c=Hg(A,0)|0;if(c|0){q=C;g=D;break ja}o=f[z>>2]|0;f[o+4>>2]=f[A>>2];if(!(b[o+17>>0]|0))g=0;else g=(b[o+18>>0]|0)==0?1:2;w=f[E>>2]|0;q=f[D>>2]|0;r=w+4|0;f[r>>2]=q;x=w+22|0;s=(d[x>>1]&2)==0;do if(s)c=w+17|0;else{c=w+17|0;if(((g|0)!=0|0)==(h[c>>0]|0))break;f[r>>2]=q;q=C;c=8;g=D;break ja}while(0);b[c>>0]=(g|0)!=0&1;b[w+18>>0]=(g|0)==2&1;c=f[o+32>>2]|0;f[r>>2]=q;if(!s){q=C;c=8;g=D;break ja}if(y)q=(f[w+32>>2]|0)-(f[w+36>>2]|0)|0;else q=B;do if((c+-512|0)>>>0<65025){if(c+-1&c|0)break;f[w+32>>2]=c;o=w+80|0;c=f[o>>2]|0;if(!c)break;g=c+-4|0;f[o>>2]=g;c=g;do if((f[18022]|0)>>>0<=c>>>0)if((f[18023]|0)>>>0>c>>>0){f[18188]=(f[18188]|0)+-1;f[g>>2]=f[18025];f[18025]=g;sa=(f[18026]|0)+1|0;f[18026]=sa;f[18027]=(sa|0)<(f[18021]|0)&1;break}else{c=ib[f[37368>>2]&255](g)|0;ta=3244;break}else{c=ib[f[37368>>2]&255](g)|0;ta=3244}while(0);do if((ta|0)==3244){ta=0;f[18189]=(f[18189]|0)-c;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[o>>2]=0}while(0);g=w+32|0;c=ih(f[w>>2]|0,g,q)|0;f[w+36>>2]=(f[g>>2]|0)-(q&65535);d[x>>1]=d[x>>1]|2;q=C;g=D;break ja}while(0);q=C;g=D}else{q=C;c=7;g=D}}else{q=C;g=D}}else{q=C;g=D}}else{q=0;g=D}while(0);b[Hb>>0]=0;f[yf>>2]=I&65535;o=dd;f[o>>2]=F;f[o+4>>2]=0;f[wc>>2]=J;f[xc>>2]=K;b[If>>0]=L;o=f[E>>2]|0;f[o+4>>2]=f[g>>2];g=o+22|0;if(!(d[g>>1]&2)){qa=o+32|0;sa=o+36|0;ra=(f[qa>>2]|0)-(f[sa>>2]|0)|0;ih(f[o>>2]|0,qa,ra)|0;f[sa>>2]=(f[qa>>2]|0)-(ra&65535);d[g>>1]=d[g>>1]|2}b[sd>>0]=1;if(q|0){sa=q+4|0;bi(f[sa>>2]|0);f[sa>>2]=0;f[q+12>>2]=0}Vh(Yf);if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case 59:{sa=f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+4>>2]|0;x=f[sa+4>>2]|0;f[x+4>>2]=f[sa>>2];if(b[x+17>>0]|0){y=x+44|0;w=f[y>>2]|0;z=x+12|0;r=f[(f[z>>2]|0)+56>>2]|0;r=h[r+37>>0]<<16|h[r+36>>0]<<24|h[r+38>>0]<<8|h[r+39>>0];g=((f[x+36>>2]|0)>>>0)/5|0;if(w>>>0<2){c=0;o=1073741824/((f[x+32>>2]|0)>>>0)|0;q=g+1|0}else{q=g+1|0;c=w+-2|0;c=c-((c>>>0)%(q>>>0)|0)|0;o=1073741824/((f[x+32>>2]|0)>>>0)|0;c=((c+1|0)==(o|0)?3:2)+c|0}s=w-r-(((g-w+r+c|0)>>>0)/(g>>>0)|0)|0;g=o+1|0;s=s+((g>>>0>>0&s>>>0>>0)<<31>>31)|0;while(1){if(s>>>0<2)c=0;else{c=s+-2|0;c=c-((c>>>0)%(q>>>0)|0)|0;c=((c+1|0)==(o|0)?3:2)+c|0}if((s|0)==(g|0)|(c|0)==(s|0))s=s+-1|0;else break}if(w>>>0>>0){ta=3263;break c}if(r){g=x+8|0;c=f[g>>2]|0;if(c){c=Kg(c,0,0)|0;if(!c){c=f[g>>2]|0;if(!c)ta=3270;else{do{ta=c+1|0;b[ta>>0]=b[ta>>0]&-5;c=f[c+24>>2]|0}while((c|0)!=0);ta=3270}}}else ta=3270;if((ta|0)==3270){ta=0;c=Ah(x,s,w,0)|0;if(!c){g=f[(f[z>>2]|0)+72>>2]|0;o=f[g+20>>2]|0;if((d[g+28>>1]&4)!=0?(f[o+24>>2]|0)>>>0>=(f[g+24>>2]|0)>>>0:0)if(!(f[o+96>>2]|0))c=0;else c=Ng(g)|0;else ta=3275;do if((ta|0)==3275){ta=0;c=f[o+40>>2]|0;if(!c)if((f[o+148>>2]|0)>>>0>(f[o+152>>2]|0)>>>0){c=Og(g)|0;break}else{c=Pg(g)|0;break}}while(0);sa=f[(f[z>>2]|0)+56>>2]|0;ra=f[y>>2]|0;b[sa+28>>0]=ra>>>24;b[sa+29>>0]=ra>>>16;b[sa+30>>0]=ra>>>8;b[sa+31>>0]=ra}}switch(c|0){case 101:{c=0;ta=27;break}case 0:{z=wa;y=Qf;s=Rf;q=ua;r=va;break}default:{r=Qf;q=Rf;ta=3925;break a}}}else{c=0;ta=27}}else{c=0;ta=27}break}case -97:{o=f[m+8>>2]|0;if(f[m+4>>2]|0){z=(h[Mf>>0]|h[Mf+1>>0]<<8)&-4|o+1&3;b[Mf>>0]=z;b[Mf+1>>0]=z>>8;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}g=f[ab>>2]|0;if(!g){z=wa;y=Qf;s=Rf;q=ua;r=va}else{o=o+1&3;do{sa=g+145|0;ra=(h[sa>>0]|h[sa+1>>0]<<8)&-4|o;b[sa>>0]=ra;b[sa+1>>0]=ra>>8;g=f[g+8>>2]|0}while((g|0)!=0);z=wa;y=Qf;s=Rf;q=ua;r=va}break}case -96:{g=f[m+12>>2]|0;if((g&255|0)==0?!((f[dd>>2]&1024|0)==0&0==0):0){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}r=f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+4>>2]|0;s=f[m+8>>2]|0;if(b[r+9>>0]|0){w=g+1&255;o=f[r+4>>2]|0;f[o+4>>2]=f[r>>2];if((f[o+76>>2]|0)!=(r|0)?d[o+22>>1]&64:0){ta=3317;break c}q=o+72|0;c=f[q>>2]|0;ka:do if(!c)ta=3303;else{g=c;do{if(((f[g>>2]|0)!=(r|0)?(f[g+4>>2]|0)==(s|0):0)?(b[g+8>>0]|0)!=w<<24>>24:0){ta=3296;break c}g=f[g+12>>2]|0}while((g|0)!=0);while(1){if((f[c+4>>2]|0)==(s|0)?(f[c>>2]|0)==(r|0):0)break ka;c=f[c+12>>2]|0;if(!c){ta=3303;break}}}while(0);if((ta|0)==3303){ta=0;if(!(f[9328]|0)){c=ib[f[37356>>2]&255](16)|0;if(!c){r=Qf;q=Rf;c=7;ta=3925;break a}}else{c=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;o=71896;g=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&g>>>0>0){sa=f[18187]|0;ra=LA(g|0,o|0,c|0,((c|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c){r=Qf;q=Rf;c=7;ta=3925;break a}g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}sa=c+8|0;b[sa>>0]=0;b[sa+1>>0]=0;b[sa+2>>0]=0;b[sa+3>>0]=0;f[c+4>>2]=s;f[c>>2]=r;f[c+12>>2]=f[q>>2];f[q>>2]=c}c=c+8|0;if((h[c>>0]|0)<(w&255)){b[c>>0]=w;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}}else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}break}case -95:{y=f[m+16>>2]|0;s=f[gd>>2]|0;q=(s|0)>0;if(q?(f[bb>>2]|0)==0:0){c=6;ta=3349}else ta=3320;la:do if((ta|0)==3320){ta=0;if(!y){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}g=y+8|0;c=f[g>>2]|0;x=f[c>>2]|0;w=x+56|0;o=f[w>>2]|0;if(o){if(q){r=f[bb>>2]|0;q=0;do{if((f[r+(q<<2)>>2]|0)==(y|0)){c=0;ta=3349;break la}q=q+1|0}while((q|0)<(s|0))}if(!((s|0)%5|0)){o=(s<<2)+20|0;c=f[bb>>2]|0;q=((o|0)<0)<<31>>31;ma:do if(!c){if(f[rd>>2]|0){if(b[l>>0]|0){c=7;ta=3349;break la}}else{do if(0>>0|(0==(q|0)?(j[pd>>1]|0)>>>0>>0:0))c=qd;else{c=f[Ff>>2]|0;if(c|0){f[Ff>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=3342;break ma}c=f[zf>>2]|0;if(!c){c=Bf;break}f[zf>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=3342;break ma}while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(Yf,o,q)|0;ta=3342}else{sa=c;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){if(!(0>>0|(0==(q|0)?(j[pd>>1]|0)>>>0>>0:0))){o=s;break}c=Lc(Yf,c,o,q)|0;ta=3342;break}c=Lc(Yf,c,o,q)|0;ta=3342}while(0);if((ta|0)==3342){if(!c){c=7;ta=3349;break}o=f[gd>>2]|0}o=c+(o<<2)|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[bb>>2]=c;o=f[w>>2]|0;c=f[g>>2]|0}c=ib[o&255](c)|0;if(!c){c=(f[Sd>>2]|0)+(f[Rd>>2]|0)|0;sa=f[bb>>2]|0;ta=f[gd>>2]|0;f[gd>>2]=ta+1;f[sa+(ta<<2)>>2]=y;ta=y+12|0;f[ta>>2]=(f[ta>>2]|0)+1;if((c|0)!=0?(Ld=f[x+80>>2]|0,(Ld|0)!=0):0){f[y+20>>2]=c;c=jb[Ld&255](f[g>>2]|0,c+-1|0)|0;ta=3351}else{c=0;ta=3351}}else ta=3349}else{c=0;ta=3351}}while(0);if((ta|0)==3349){ta=0;if(y){g=y+8|0;ta=3351}}if((ta|0)==3351){ta=0;w=(f[g>>2]|0)+8|0;if(f[w>>2]|0){q=f[a>>2]|0;g=f[Of>>2]|0;do if(g|0){if(q|0){if(f[q+480>>2]|0){Kc(q,g);break}sa=g;if((f[q+304>>2]|0)>>>0<=sa>>>0?(f[q+308>>2]|0)>>>0>sa>>>0:0){sa=q+300|0;f[g>>2]=f[sa>>2];f[sa>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);r=f[w>>2]|0;na:do if(!r)g=0;else{s=(wz(r)|0)+1|0;oa:do if(!q){sa=KA(s|0,0,-1,-1)|0;ra=ba()|0;if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390){g=0;break na}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](s)|0;ta=3387;break}g=ib[f[37372>>2]&255](s)|0;if((f[18194]|0)>>>0>>0)f[18194]=s;q=71896;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[18187]|0;ra=LA(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break na}o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){g=0;break na}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){o=q+300|0;g=f[o>>2]|0;if(g|0){f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3387;break oa}o=q+296|0;g=f[o>>2]|0;if(!g){g=q+292|0;break}else{f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3387;break oa}}else g=q+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(q,s,0)|0;ta=3387}while(0);if((ta|0)==3387){ta=0;if(!g){g=0;break}}YA(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[w>>2]=0}}if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case -94:{na=Jf;oa=na+40|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));f[hd>>2]=Yf;sa=f[m+8>>2]|0;c=ua+(sa*40|0)|0;f[Jf>>2]=f[c>>2];f[Jf+4>>2]=f[c+4>>2];f[Jf+8>>2]=f[c+8>>2];f[Jf+12>>2]=f[c+12>>2];f[Jf+16>>2]=f[c+16>>2];c=d[za>>1]&-1025;d[za>>1]=c;c=c&65535;do if((c&18|0)!=0?(d[ua+(sa*40|0)+8>>1]&2048)==0:0){d[za>>1]=c|4096;if(c&16384){sa=(f[Jf>>2]|0)+(f[Xb>>2]|0)|0;if(df(Jf,(sa|0)>1?sa:1,1)|0){c=7;break}_A((f[Pb>>2]|0)+(f[Xb>>2]|0)|0,0,f[Jf>>2]|0)|0;f[Xb>>2]=(f[Xb>>2]|0)+(f[Jf>>2]|0);c=d[za>>1]&-16897;d[za>>1]=c;if(!((f[Rb>>2]|0)!=0?(f[Pb>>2]|0)==(f[cc>>2]|0):0))ta=3401}else ta=3401;if((ta|0)==3401){ta=0;c=gf(Jf)|0;if(c|0)break;c=d[za>>1]|0}d[za>>1]=c&-4097;c=0}else c=0;while(0);g=d[za>>1]|0;if(!((g&514)==514&(b[Ib>>0]|0)==1)){if(!(g&1)){g=Ic(Jf,1)|0;ta=3408}}else{g=f[Pb>>2]|0;ta=3408}pa:do if((ta|0)==3408){ta=0;if(g){x=ji(Yf,g,f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)>>2]|0)|0;w=f[f[x+60>>2]>>2]|0;q=f[Qb>>2]|0;if(!q){g=Wb;c=Vb}else{g=b[w>>0]|0;if(!(g<<24>>24))c=0;else{c=0;o=w;do{o=o+1|0;c=U(c+(h[1232+(g&255)>>0]|0)|0,-1640531535)|0;g=b[o>>0]|0}while(g<<24>>24!=0)}c=(c>>>0)%((f[bc>>2]|0)>>>0)|0;g=q+(c<<3)|0;c=q+(c<<3)+4|0}g=f[g>>2]|0;qa:do if(!g)c=72124;else{s=h[1232+(h[w>>0]|0)>>0]|0;while(1){c=f[c>>2]|0;g=g+-1|0;q=f[c+12>>2]|0;sa=b[q>>0]|0;o=(h[1232+(sa&255)>>0]|0)-s|0;if(!(sa<<24>>24==0|(o|0)!=0)){r=w;do{q=q+1|0;r=r+1|0;sa=b[q>>0]|0;o=(h[1232+(sa&255)>>0]|0)-(h[1232+(h[r>>0]|0)>>0]|0)|0}while(!(sa<<24>>24==0|(o|0)!=0))}if(!o)break qa;if(!g){c=72124;break}}}while(0);c=f[c+8>>2]|0;if((c|0?(Md=f[c>>2]|0,Nd=f[Md+4>>2]|0,Nd|0):0)?f[Md+20>>2]|0:0){c=si(Yf,x,c,Nd,Of)|0;if(c|0)break;s=x+64|0;c=f[s>>2]|0;if(!c){c=0;break}g=c;while(1){if((f[g>>2]|0)==(Yf|0))break;g=f[g+24>>2]|0;if(!g){c=0;break pa}}g=f[gd>>2]|0;if(!((g|0)%5|0)){q=(g<<2)+20|0;c=f[bb>>2]|0;r=((q|0)<0)<<31>>31;ra:do if(!c){if(f[rd>>2]|0){if(b[l>>0]|0){c=7;break pa}}else{do if(0>>0|(0==(r|0)?(j[pd>>1]|0)>>>0>>0:0))c=qd;else{c=f[Ff>>2]|0;if(c|0){f[Ff>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=3446;break ra}c=f[zf>>2]|0;if(!c){c=Bf;break}f[zf>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=3446;break ra}while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(Yf,q,r)|0;ta=3446}else{o=c;do if((f[rf>>2]|0)>>>0<=o>>>0){if((f[sf>>2]|0)>>>0<=o>>>0)break;if(!(0>>0|(0==(r|0)?(j[pd>>1]|0)>>>0>>0:0)))break ra;c=Lc(Yf,c,q,r)|0;ta=3446;break ra}while(0);c=Lc(Yf,c,q,r)|0;ta=3446}while(0);if((ta|0)==3446){ta=0;if(!c){c=7;break}g=f[gd>>2]|0}sa=c+(g<<2)|0;f[sa>>2]=0;f[sa+4>>2]=0;f[sa+8>>2]=0;f[sa+12>>2]=0;f[sa+16>>2]=0;f[bb>>2]=c;c=f[s>>2]|0}sa:do if(!c)c=0;else while(1){if((f[c>>2]|0)==(Yf|0))break sa;c=f[c+24>>2]|0;if(!c){c=0;break}}while(0);ra=f[bb>>2]|0;sa=f[gd>>2]|0;f[gd>>2]=sa+1;f[ra+(sa<<2)>>2]=c;c=c+12|0;f[c>>2]=(f[c>>2]|0)+1;c=0;break}f[Ce>>2]=w;c=Ig(Yf,44732,Ce)|0;f[Of>>2]=c;c=1}}while(0);if(!((d[za>>1]&9216)==0&(f[Rb>>2]|0)==0))ff(Jf);if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case -93:{g=(f[md>>2]|0)+1|0;f[md>>2]=g;c=ji(Yf,f[m+16>>2]|0,f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)>>2]|0)|0;do if(c|0?(Od=c+64|0,Pd=f[Od>>2]|0,Pd|0):0){c=Pd;do{if((f[(f[c+8>>2]|0)+4>>2]|0)>0){c=6;ta=3480;break c}c=f[c+24>>2]|0}while((c|0)!=0);f[Od>>2]=0;r=Pd;g=0;while(1){o=f[r>>2]|0;q=r+24|0;c=r;r=f[q>>2]|0;if((o|0)==(Yf|0)){f[Od>>2]=c;f[q>>2]=0;o=c}else{o=o+360|0;f[q>>2]=f[o>>2];f[o>>2]=c;o=g}if(!r)break;else g=o}g=o+8|0;c=ib[f[(f[f[o+4>>2]>>2]|0)+20>>2]&255](f[g>>2]|0)|0;if(c|0){ta=3479;break c}f[g>>2]=0;f[Od>>2]=0;c=f[o>>2]|0;ra=o+12|0;sa=(f[ra>>2]|0)+-1|0;f[ra>>2]=sa;if(!sa){if(c|0){if(f[c+480>>2]|0){Kc(c,o);break}sa=o;if((f[c+304>>2]|0)>>>0<=sa>>>0?(f[c+308>>2]|0)>>>0>sa>>>0:0){sa=c+300|0;f[o>>2]=f[sa>>2];f[sa>>2]=o;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{sa=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}}while(0);f[md>>2]=(f[md>>2]|0)+-1;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case -92:{f[Jf>>2]=0;x=f[(f[m+16>>2]|0)+8>>2]|0;if(!x){c=6;ta=3537;break c}y=f[x>>2]|0;if(!y){c=6;ta=3537;break c}c=jb[f[y+24>>2]&255](x,Jf)|0;w=x+8|0;if(f[w>>2]|0){q=f[a>>2]|0;g=f[Of>>2]|0;do if(g|0){if(q|0){if(f[q+480>>2]|0){Kc(q,g);break}sa=g;if((f[q+304>>2]|0)>>>0<=sa>>>0?(f[q+308>>2]|0)>>>0>sa>>>0:0){sa=q+300|0;f[g>>2]=f[sa>>2];f[sa>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);r=f[w>>2]|0;ta:do if(!r)g=0;else{s=(wz(r)|0)+1|0;ua:do if(!q){sa=KA(s|0,0,-1,-1)|0;ra=ba()|0;if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390){g=0;break ta}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](s)|0;ta=3519;break}g=ib[f[37372>>2]&255](s)|0;if((f[18194]|0)>>>0>>0)f[18194]=s;q=71896;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[18187]|0;ra=LA(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break ta}o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){g=0;break ta}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){o=q+300|0;g=f[o>>2]|0;if(g|0){f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3519;break ua}o=q+296|0;g=f[o>>2]|0;if(!g){g=q+292|0;break}else{f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3519;break ua}}else g=q+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(q,s,0)|0;ta=3519}while(0);if((ta|0)==3519){ta=0;if(!g){g=0;break}}YA(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[w>>2]=0}if(c|0){ta=3537;break c}f[f[Jf>>2]>>2]=x;o=f[m+4>>2]|0;c=f[Kd>>2]|0;if((o|0)>0)c=c+(((f[Ba>>2]|0)-o|0)*40|0)|0;g=f[(f[tc>>2]|0)+(o<<2)>>2]|0;if(g|0){Dg(a,g);f[(f[tc>>2]|0)+(o<<2)>>2]=0}if((f[c+24>>2]|0)<96){if(df(c,96,0)|0){ta=3538;break c}c=f[c+16>>2]|0}else{sa=f[c+20>>2]|0;f[c+16>>2]=sa;c=c+8|0;d[c>>1]=d[c>>1]&13;c=sa}f[(f[tc>>2]|0)+(o<<2)>>2]=c;na=c;oa=na+36|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));b[c>>0]=2;b[c+1>>0]=-1;d[c+56>>1]=0;f[c+72>>2]=c+88;if(!c){ta=3538;break c}f[c+40>>2]=f[Jf>>2];z=x+4|0;f[z>>2]=(f[z>>2]|0)+1;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case 9:{q=ua+((f[m+12>>2]|0)*40|0)|0;g=q+40|0;x=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;y=f[x+40>>2]|0;s=f[y>>2]|0;z=f[s>>2]|0;o=f[g>>2]|0;q=f[q>>2]|0;r=f[Aa>>2]|0;if((o|0)>0){c=0;do{sa=c;c=c+1|0;f[r+(sa<<2)>>2]=g+(c*40|0)}while((c|0)!=(o|0))}c=mb[f[z+32>>2]&127](y,q,f[m+16>>2]|0,o,r)|0;w=s+8|0;if(f[w>>2]|0){q=f[a>>2]|0;g=f[Of>>2]|0;do if(g|0){if(q|0){if(f[q+480>>2]|0){Kc(q,g);break}sa=g;if((f[q+304>>2]|0)>>>0<=sa>>>0?(f[q+308>>2]|0)>>>0>sa>>>0:0){sa=q+300|0;f[g>>2]=f[sa>>2];f[sa>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);r=f[w>>2]|0;va:do if(!r)g=0;else{s=(wz(r)|0)+1|0;wa:do if(!q){sa=KA(s|0,0,-1,-1)|0;ra=ba()|0;if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390){g=0;break va}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](s)|0;ta=3578;break}g=ib[f[37372>>2]&255](s)|0;if((f[18194]|0)>>>0>>0)f[18194]=s;q=71896;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[18187]|0;ra=LA(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break va}o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){g=0;break va}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){o=q+300|0;g=f[o>>2]|0;if(g|0){f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3578;break wa}o=q+296|0;g=f[o>>2]|0;if(!g){g=q+292|0;break}else{f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3578;break wa}}else g=q+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(q,s,0)|0;ta=3578}while(0);if((ta|0)==3578){ta=0;if(!g){g=0;break}}YA(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[w>>2]=0}if(c|0){r=Qf;q=Rf;ta=3925;break a}sa=ib[f[z+40>>2]&255](y)|0;b[x+2>>0]=0;if(!sa){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{c=0;ta=27}break}case -91:{g=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;y=f[m+12>>2]|0;z=ua+(y*40|0)|0;if(b[g+2>>0]|0){g=ua+(y*40|0)+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else cf(z);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}c=g+40|0;q=f[f[c>>2]>>2]|0;g=f[q>>2]|0;f[oc>>2]=0;f[oc+4>>2]=0;f[oc+8>>2]=0;f[oc+12>>2]=0;f[oc+16>>2]=0;f[oc+20>>2]=0;f[oc+24>>2]=0;f[Jf>>2]=z;x=ua+(y*40|0)+8|0;o=d[x>>1]|0;if(!(d[m+2>>1]&1))d[x>>1]=o&15872|1;else{if(!(o&9216))d[x>>1]=1;else cf(z);d[x>>1]=16385;f[z>>2]=0}c=kb[f[g+44>>2]&127](f[c>>2]|0,Jf,f[m+8>>2]|0)|0;w=q+8|0;if(f[w>>2]|0){q=f[a>>2]|0;g=f[Of>>2]|0;do if(g|0){if(q|0){if(f[q+480>>2]|0){Kc(q,g);break}sa=g;if((f[q+304>>2]|0)>>>0<=sa>>>0?(f[q+308>>2]|0)>>>0>sa>>>0:0){sa=q+300|0;f[g>>2]=f[sa>>2];f[sa>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);r=f[w>>2]|0;xa:do if(!r)g=0;else{s=(wz(r)|0)+1|0;ya:do if(!q){sa=KA(s|0,0,-1,-1)|0;ra=ba()|0;if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390){g=0;break xa}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](s)|0;ta=3633;break}g=ib[f[37372>>2]&255](s)|0;if((f[18194]|0)>>>0>>0)f[18194]=s;q=71896;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[18187]|0;ra=LA(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break xa}o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){g=0;break xa}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){o=q+300|0;g=f[o>>2]|0;if(g|0){f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3633;break ya}o=q+296|0;g=f[o>>2]|0;if(!g){g=q+292|0;break}else{f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3633;break ya}}else g=q+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(q,s,0)|0;ta=3633}while(0);if((ta|0)==3633){ta=0;if(!g){g=0;break}}YA(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[w>>2]=0}if((f[Jb>>2]|0)>0){c=d[x>>1]|0;if((c&514)==514?(b[ua+(y*40|0)+10>>0]|0)==1:0)c=f[ua+(y*40|0)+16>>2]|0;else if(!(c&1))c=Ic(z,1)|0;else c=0;f[De>>2]=c;Fg(a,40840,De);c=f[Jb>>2]|0}g=d[x>>1]|0;if((g&2)!=0?(b[ua+(y*40|0)+10>>0]|0)!=Fd<<24>>24:0){Ri(z,Fd)|0;g=d[x>>1]|0}o=g&65535;if(o&18){g=f[ua+(y*40|0)+12>>2]|0;if(o&16384)g=(f[z>>2]|0)+g|0;if((g|0)>(f[(f[ua+(y*40|0)+32>>2]|0)+108>>2]|0)){ta=3655;break c}else g=(c|0)==0?7:10}else g=(c|0)==0?7:10;switch(g&15){case 10:{r=Qf;q=Rf;ta=3925;break a}case 7:{z=wa;y=Qf;s=Rf;q=ua;r=va;break}default:{c=0;ta=3961;break c}}break}case 60:{g=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;if(!(b[g+2>>0]|0)){w=g+40|0;c=f[w>>2]|0;y=f[c>>2]|0;x=f[y>>2]|0;c=ib[f[x+36>>2]&255](c)|0;y=y+8|0;if(f[y>>2]|0){q=f[a>>2]|0;g=f[Of>>2]|0;do if(g|0){if(q|0){if(f[q+480>>2]|0){Kc(q,g);break}sa=g;if((f[q+304>>2]|0)>>>0<=sa>>>0?(f[q+308>>2]|0)>>>0>sa>>>0:0){sa=q+300|0;f[g>>2]=f[sa>>2];f[sa>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);r=f[y>>2]|0;za:do if(!r)g=0;else{s=(wz(r)|0)+1|0;Aa:do if(!q){sa=KA(s|0,0,-1,-1)|0;ra=ba()|0;if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390){g=0;break za}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](s)|0;ta=3695;break}g=ib[f[37372>>2]&255](s)|0;if((f[18194]|0)>>>0>>0)f[18194]=s;q=71896;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[18187]|0;ra=LA(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break za}o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){g=0;break za}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){o=q+300|0;g=f[o>>2]|0;if(g|0){f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3695;break Aa}o=q+296|0;g=f[o>>2]|0;if(!g){g=q+292|0;break}else{f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3695;break Aa}}else g=q+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(q,s,0)|0;ta=3695}while(0);if((ta|0)==3695)if(!g){g=0;break}YA(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[y>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[y>>2]=0}if(c|0){r=Qf;q=Rf;ta=3925;break a}if(!(ib[f[x+40>>2]&255](f[w>>2]|0)|0)){c=0;ta=21}else{c=0;ta=22}}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case -90:{c=dd;o=f[c>>2]|0;c=f[c+4>>2]|0;q=dd;f[q>>2]=o|67108864;f[q+4>>2]=c;q=f[(f[m+16>>2]|0)+8>>2]|0;c=f[m+4>>2]|0;g=ua+(c*40|0)|0;if((d[ua+(c*40|0)+8>>1]&2?(b[ua+(c*40|0)+10>>0]|0)!=1:0)?(qf=Ri(g,1)|0,qf|0):0){r=Qf;q=Rf;c=qf;ta=3925;break a}c=jb[f[(f[q>>2]|0)+76>>2]&255](q,f[ua+(c*40|0)+16>>2]|0)|0;if((o&67108864|0)==0&0==0){qa=dd;ra=f[qa+4>>2]|0;sa=dd;f[sa>>2]=f[qa>>2]&-67108865;f[sa+4>>2]=ra}w=q+8|0;if(f[w>>2]|0){q=f[a>>2]|0;g=f[Of>>2]|0;do if(g|0){if(q|0){if(f[q+480>>2]|0){Kc(q,g);break}sa=g;if((f[q+304>>2]|0)>>>0<=sa>>>0?(f[q+308>>2]|0)>>>0>sa>>>0:0){sa=q+300|0;f[g>>2]=f[sa>>2];f[sa>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);r=f[w>>2]|0;Ba:do if(!r)g=0;else{s=(wz(r)|0)+1|0;Ca:do if(!q){sa=KA(s|0,0,-1,-1)|0;ra=ba()|0;if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390){g=0;break Ba}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](s)|0;ta=3745;break}g=ib[f[37372>>2]&255](s)|0;if((f[18194]|0)>>>0>>0)f[18194]=s;q=71896;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[18187]|0;ra=LA(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break Ba}o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){g=0;break Ba}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){o=q+300|0;g=f[o>>2]|0;if(g|0){f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3745;break Ca}o=q+296|0;g=f[o>>2]|0;if(!g){g=q+292|0;break}else{f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3745;break Ca}}else g=q+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(q,s,0)|0;ta=3745}while(0);if((ta|0)==3745){ta=0;if(!g){g=0;break}}YA(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[w>>2]=0}sa=(h[Mf>>0]|h[Mf+1>>0]<<8)&-4;b[Mf>>0]=sa;b[Mf+1>>0]=sa>>8;if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case 10:{if(b[l>>0]|0){ta=3754;break c}y=m+16|0;w=f[(f[y>>2]|0)+8>>2]|0;if(!w){ta=3816;break c}g=f[w>>2]|0;if(!g){ta=3816;break c}s=f[m+8>>2]|0;o=g+52|0;g=f[o>>2]|0;Da:do if(g){r=b[Sb>>0]|0;q=f[Aa>>2]|0;if((s|0)>0){c=ua+((f[m+12>>2]|0)*40|0)|0;g=0;while(1){f[q+(g<<2)>>2]=c;g=g+1|0;if((g|0)==(s|0))break;else c=c+40|0}c=f[o>>2]|0}else c=g;x=m+2|0;b[Sb>>0]=d[x>>1];c=lb[c&127](w,s,q,Jf)|0;b[Sb>>0]=r;w=w+8|0;if(f[w>>2]|0){q=f[a>>2]|0;g=f[Of>>2]|0;Ea:do if(g|0){do if(q|0){if(f[q+480>>2]|0){Kc(q,g);break Ea}o=g;if((f[q+304>>2]|0)>>>0>o>>>0)break;if((f[q+308>>2]|0)>>>0<=o>>>0)break;sa=q+300|0;f[g>>2]=f[sa>>2];f[sa>>2]=g;break Ea}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);r=f[w>>2]|0;Fa:do if(!r)g=0;else{s=(wz(r)|0)+1|0;Ga:do if(!q){sa=KA(s|0,0,-1,-1)|0;ra=ba()|0;if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390){g=0;break Fa}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](s)|0;ta=3798;break}g=ib[f[37372>>2]&255](s)|0;if((f[18194]|0)>>>0>>0)f[18194]=s;q=71896;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[18187]|0;ra=LA(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break Fa}o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){g=0;break Fa}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){o=q+300|0;g=f[o>>2]|0;if(g|0){f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3798;break Ga}o=q+296|0;g=f[o>>2]|0;if(!g){g=q+292|0;break}else{f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3798;break Ga}}else g=q+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(q,s,0)|0;ta=3798}while(0);if((ta|0)==3798){ta=0;if(!g){g=0;break}}YA(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[w>>2]=0}if(!c){if(f[m+4>>2]|0){qa=Jf;ra=f[qa+4>>2]|0;sa=Eb;f[sa>>2]=f[qa>>2];f[sa+4>>2]=ra}f[vc>>2]=(f[vc>>2]|0)+1;c=0;break}else{if((c&255|0)!=19){ta=3813;break c}if(!(b[(f[y>>2]|0)+16>>0]|0)){ta=3813;break c}g=d[x>>1]|0;switch(g<<16>>16){case 5:{g=2;ta=3812;break c}case 4:{c=0;break Da}default:{ta=3811;break c}}}}while(0);z=wa;y=Qf;s=Rf;q=ua;r=va;break}case -89:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;z=g;f[z>>2]=f[(f[(f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+4>>2]|0)+4>>2]|0)+44>>2];f[z+4>>2]=0;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case -88:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;r=f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+4>>2]|0;o=f[m+12>>2]|0;q=f[r+4>>2]|0;if(!o)o=0;else{sa=f[q+44>>2]|0;o=sa>>>0>>0?o:sa}f[q+4>>2]=f[r>>2];q=(f[q>>2]|0)+156|0;if((o|0)>0)f[q>>2]=o;else o=f[q>>2]|0;z=g;f[z>>2]=o;f[z+4>>2]=((o|0)<0)<<31>>31;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 63:case 62:{q=d[m+2>>1]|0;o=((q&65535)<<2)+28|0;do if(f[rd>>2]|0)if(!(b[l>>0]|0))ta=3839;else{c=Rf;g=Qf;ta=3959;break a}else{if(!(0<0|(0==0?(j[pd>>1]|0)>>>0>>0:0))){g=f[Ff>>2]|0;if(g|0){f[Ff>>2]=f[g>>2];f[Af>>2]=(f[Af>>2]|0)+1;break}g=f[zf>>2]|0;if(!g)g=Bf;else{f[zf>>2]=f[g>>2];f[Af>>2]=(f[Af>>2]|0)+1;break}}else g=qd;f[g>>2]=(f[g>>2]|0)+1;ta=3839}while(0);if((ta|0)==3839)g=Dc(Yf,o,0)|0;if(!g){g=Qf;c=Rf;ta=3954;break a}f[g>>2]=0;ta=m+16|0;f[g+4>>2]=f[ta>>2];f[g+16>>2]=(m-Qf|0)/20|0;f[g+12>>2]=a;f[g+20>>2]=0;b[g+25>>0]=q;b[m+1>>0]=-16;f[ta>>2]=g;b[m>>0]=(h[m>>0]|0)+2;ta=3842;break}case 65:case 64:{ta=3842;break}default:{z=wa;y=Qf;s=Rf;q=ua;r=va}}while(0);Ha:do if((ta|0)==33){ta=0;o=f[m+4>>2]|0;if(o|0){ta=38;break c}g=f[sc>>2]|0;if(!g){ta=37;break c}f[sc>>2]=f[g+4>>2];f[Sa>>2]=(f[Sa>>2]|0)+-1;o=f[vc>>2]|0;f[wc>>2]=o;f[xc>>2]=(f[xc>>2]|0)+o;g=Cg(g)|0;o=f[qe>>2]|0;if((f[m+8>>2]|0)==4)g=(f[o+(g*20|0)+8>>2]|0)+-1|0;z=wa;y=o;s=Rf;q=f[Kd>>2]|0;r=va;m=o+(g*20|0)|0}else if((ta|0)==81){ta=0;sa=f[Kd>>2]|0;o=f[g>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;o=g+8|0;d[o>>1]=2562;f[g+16>>2]=f[m+16>>2];f[g+12>>2]=f[m+4>>2];b[g+10>>0]=Fd;g=f[m+12>>2]|0;if((g|0)>0?(sa=ua+(g*40|0)|0,(f[sa+4>>2]|0)==0?(f[sa>>2]|0)==(j[m+2>>1]|0):0):0){d[o>>1]=2576;z=wa;y=Qf;s=Rf;q=ua;r=va}else{z=wa;y=Qf;s=Rf;q=ua;r=va}}else if((ta|0)==989){if(((h[Mf>>0]|h[Mf+1>>0]<<8)&3)==1){r=Qf;q=Rf;c=516;ta=3925;break a}x=f[m+8>>2]|0;B=f[m+12>>2]|0;c=f[Lf>>2]|0;D=f[c+(B<<4)+4>>2]|0;o=m+2|0;q=d[o>>1]|0;if(C<<24>>24==110){g=(q&8|4)&65535;c=b[(f[c+(B<<4)+12>>2]|0)+76>>0]|0;if((c&255)<(h[uc>>0]|0)){b[uc>>0]=c;C=g}else C=g}else C=0;if(q&16){s=ua+(x*40|0)|0;w=ua+(x*40|0)+8|0;r=d[w>>1]|0;c=r&65535;do if(!(c&4)){if(c&8|0){g=Fc(+p[s>>3])|0;q=ba()|0;c=r;break}if(!(c&18)){g=0;q=0;c=r}else{g=Gc(b[ua+(x*40|0)+10>>0]|0,f[ua+(x*40|0)+12>>2]|0,f[ua+(x*40|0)+16>>2]|0)|0;q=ba()|0;c=d[w>>1]|0}}else{q=s;g=f[q>>2]|0;q=f[q+4>>2]|0;c=r}while(0);x=s;f[x>>2]=g;f[x+4>>2]=q;d[w>>1]=c&15872|4;x=g}A=m+1|0;switch(b[A>>0]|0){case -9:{z=f[m+16>>2]|0;y=j[z+8>>1]|0;break}case -3:{y=f[m+16>>2]|0;z=0;break}default:{y=0;z=0}}s=f[m+4>>2]|0;c=f[Kd>>2]|0;if((s|0)>0)c=c+(((f[Ba>>2]|0)-s|0)*40|0)|0;g=y<<3;w=g+96|0;g=g+296|0;q=f[(f[tc>>2]|0)+(s<<2)>>2]|0;if(q|0){Dg(a,q);f[(f[tc>>2]|0)+(s<<2)>>2]=0}if((f[c+24>>2]|0)<(g|0)){if(df(c,g,0)|0){g=Qf;c=Rf;ta=3954;break a}g=c+16|0;r=g;g=f[g>>2]|0}else{g=f[c+20>>2]|0;r=c+16|0;f[r>>2]=g;ta=c+8|0;d[ta>>1]=d[ta>>1]&13}f[(f[tc>>2]|0)+(s<<2)>>2]=g;c=B&255;q=g+1|0;na=g;oa=na+36|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));b[q>>0]=c;d[g+56>>1]=y;f[g+72>>2]=g+88+(y<<2);ta=(f[r>>2]|0)+w|0;c=g+40|0;f[c>>2]=ta;f[ta>>2]=0;f[ta+4>>2]=0;f[ta+8>>2]=0;f[ta+12>>2]=0;f[ta+16>>2]=0;if(!g){g=Qf;c=Rf;ta=3954;break a}b[g+2>>0]=1;ta=g+5|0;b[ta>>0]=b[ta>>0]|4;f[g+52>>2]=x;c=bj(D,x,C,z,f[c>>2]|0)|0;f[g+44>>2]=z;b[g+4>>0]=(b[A>>0]|0)!=-9&1;ta=1014}else if((ta|0)==1143){ta=0;y=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;x=f[m+12>>2]|0;o=ua+(x*40|0)|0;c=f[m+16>>2]|0;if((c|0)>0){f[Td>>2]=f[y+44>>2];d[Ga>>1]=c;f[Ha>>2]=o;s=0;r=Td;c=C;q=0}else{c=ua+(x*40|0)+8|0;if(d[c>>1]&16384){g=ua+(x*40|0)+12|0;sa=(f[o>>2]|0)+(f[g>>2]|0)|0;if(df(o,(sa|0)>1?sa:1,1)|0){ta=1193;break c}_A((f[ua+(x*40|0)+16>>2]|0)+(f[g>>2]|0)|0,0,f[o>>2]|0)|0;f[g>>2]=(f[g>>2]|0)+(f[o>>2]|0);d[c>>1]=d[c>>1]&-16897}r=y+44|0;s=f[r>>2]|0;w=s+6|0;q=((j[w>>1]|0)*40|0)+56|0;o=f[s+12>>2]|0;Ia:do if(!o){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](q)|0;ta=1171;break}o=ib[f[37372>>2]&255](q)|0;if((f[18194]|0)>>>0>>0)f[18194]=q;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){sa=f[18187]|0;ra=LA(c|0,g|0,o|0,((o|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](o)|0;if(!g){ta=1193;break c}c=ib[f[37368>>2]&255](g)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){ta=1193;break c}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){g=o+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];ta=o+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=1171;break Ia}g=o+296|0;c=f[g>>2]|0;if(!c){c=o+292|0;break}else{f[g>>2]=f[c>>2];ta=o+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=1171;break Ia}}else c=o+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(o,q,0)|0;ta=1171}while(0);if((ta|0)==1171)if(!c){ta=1193;break c}else g=c;f[g+4>>2]=g+16;f[g>>2]=s;d[g+8>>1]=(j[w>>1]|0)+1;hj(f[r>>2]|0,f[ua+(x*40|0)+12>>2]|0,f[ua+(x*40|0)+16>>2]|0,g);s=g;r=g;c=b[m>>0]|0;q=g}b[r+10>>0]=0;Ja:do if(c<<24>>24==27?(je=d[r+8>>1]|0,je<<16>>16!=0):0){g=f[r+4>>2]|0;o=je&65535;c=0;while(1){if(d[g+(c*40|0)+8>>1]&1){o=1;break Ja}c=c+1|0;if(c>>>0>=o>>>0){o=0;break}}}else o=0;while(0);c=ej(f[y+40>>2]|0,r,0,0,0,Jf)|0;do if(s|0){if(f[pf>>2]|0){Kc(Yf,q);break}ta=q;if((f[rf>>2]|0)>>>0<=ta>>>0?(f[sf>>2]|0)>>>0>ta>>>0:0){f[q>>2]=f[Ff>>2];f[Ff>>2]=q;break}if(q|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{ta=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}while(0);if(c|0){ta=1195;break c}c=f[Jf>>2]|0;f[y+32>>2]=c;g=(c|0)==0;b[y+2>>0]=(g^1)&1;b[y+3>>0]=0;f[y+28>>2]=0;if((b[m>>0]|0)==29)if(g)ta=1194;else ta=1192;else if(!(c|o))ta=1192;else ta=1194;if((ta|0)==1192){ta=0;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}else if((ta|0)==1194){c=0;ta=27;break}}else if((ta|0)==1212){ta=0;qa=f[c>>2]|0;ra=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;c=f[ra+40>>2]|0;f[pe>>2]=0;qa=ua+(qa*40|0)|0;pa=f[qa>>2]|0;qa=f[qa+4>>2]|0;c=ej(c,0,pa,qa,0,pe)|0;sa=ra+64|0;f[sa>>2]=pa;f[sa+4>>2]=qa;b[ra+2>>0]=0;f[ra+28>>2]=0;b[ra+3>>0]=0;sa=f[pe>>2]|0;f[ra+32>>2]=sa;if(!sa)if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}else{r=Qf;q=Rf;ta=3925;break a}else if(!(f[m+8>>2]|0)){ta=1214;break c}else{ta=27;break}}else if((ta|0)==1447){ta=0;sa=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;f[ee>>2]=1;do if((b[sa>>0]|0)==1){ra=f[sa+40>>2]|0;if(!(b[ra+56>>0]|0)){c=ra+36|0;if(!(f[c>>2]|0)){b[sa+2>>0]=1;c=0;ta=27;break Ha}else{f[ee>>2]=0;c=nj(ra+64|0,c)|0;break}}c=oj(ra)|0;if(c|0){ta=2072;break c}qa=ra+59|0;S=0;pa=0;while(1){if(pa>>>0>=(h[qa>>0]|0)>>>0){ta=2064;break}ka=ra+64+(pa*72|0)|0;f[Jf>>2]=0;la=ra+64+(pa*72|0)+28|0;c=f[la>>2]|0;g=((c|0)<0)<<31>>31;if((c|0)>16){ja=0;o=16;q=0;while(1){o=WA(o|0,q|0,4)|0;q=ba()|0;ma=ja+1|0;if(!((q|0)<(g|0)|(q|0)==(g|0)&o>>>0>>0))break;else ja=ma}oa=Td;f[oa>>2]=0;f[oa+4>>2]=0;if((c|0)>=17){c=f[9393]|0;if((c|0)!=0?(ib[c&255](100)|0)!=0:0){W=0;Y=0}else ta=1463;Ka:do if((ta|0)==1463){ta=0;do if(!(f[9328]|0)){c=ib[f[37356>>2]&255](976)|0;if(!c){W=0;Y=0;break Ka}}else{c=ib[f[37372>>2]&255](976)|0;if((f[18194]|0)>>>0<976)f[18194]=976;o=71896;g=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&g>>>0>0){oa=f[18187]|0;na=LA(g|0,o|0,c|0,((c|0)<0)<<31>>31|0)|0;ia=ba()|0;f[17976]=((ia|0)<0|(ia|0)==0&na>>>0<=oa>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c){W=0;Y=0;break Ka}g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0<=(f[18196]|0)>>>0)break;f[18196]=g}while(0);W=c+16|0;_A(W|0,0,960)|0;f[c>>2]=16;f[c+4>>2]=0;f[c+12>>2]=W;f[c+8>>2]=c+912;W=c;Y=c}while(0);f[Jf>>2]=Y;oa=(Y|0)==0;c=oa?7:0;g=f[la>>2]|0;if((g|0)>0&(oa^1)){ga=(ja|0)==0;ha=ra+64+(pa*72|0)+8|0;ia=ra+64+(pa*72|0)+64|0;o=0;fa=0;do{f[be>>2]=0;c=g-fa|0;c=pj(ka,(c|0)<16?c:16,Td,be)|0;do if(!c){ea=o+1|0;ca=f[be>>2]|0;c=f[9393]|0;if((c|0)!=0?(ib[c&255](100)|0)!=0:0)ta=1492;else ta=1480;La:do if((ta|0)==1480){ta=0;do if(!(f[9328]|0)){c=ib[f[37356>>2]&255](64)|0;if(!c){ta=1492;break La}else g=c}else{c=ib[f[37372>>2]&255](64)|0;if((f[18194]|0)>>>0<64)f[18194]=64;q=71896;g=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&g>>>0>0){oa=f[18187]|0;na=LA(g|0,q|0,c|0,((c|0)<0)<<31>>31|0)|0;da=ba()|0;f[17976]=((da|0)<0|(da|0)==0&na>>>0<=oa>>>0)&1}g=ib[f[37356>>2]&255](c)|0;if(!g){ta=1492;break La}c=ib[f[37368>>2]&255](g)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0<=(f[18196]|0)>>>0)break;f[18196]=c}while(0);na=g+8|0;oa=na+56|0;do{b[na>>0]=0;na=na+1|0}while((na|0)<(oa|0));f[g+4>>2]=ca;f[g>>2]=ka;da=f[ha>>2]|0;ca=(f[da+8>>2]|0)+9|0;da=(f[da+4>>2]|0)/2|0;da=(ca|0)>(da|0)?ca:da;f[g+16>>2]=da;ca=ia;da=KA(f[ca>>2]|0,f[ca+4>>2]|0,da|0,((da|0)<0)<<31>>31|0)|0;ca=ba()|0;c=ia;f[c>>2]=da;f[c+4>>2]=ca;c=0;ca=g;da=g}while(0);do if((ta|0)==1492){ta=0;if(!ca){c=7;ca=0;da=0;break}if((f[ca>>2]|0)>0){$=ca+12|0;_=0;do{g=f[$>>2]|0;aa=g+(_*56|0)|0;c=f[g+(_*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[g+(_*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);Q=f[g+(_*56|0)+48>>2]|0;do if(Q|0){R=f[Q+4>>2]|0;do if(R|0){if((f[R>>2]|0)>0){X=R+12|0;P=0;do{g=f[X>>2]|0;Z=g+(P*56|0)|0;c=f[g+(P*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[g+(P*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);L=f[g+(P*56|0)+48>>2]|0;do if(L|0){M=f[L+4>>2]|0;do if(M|0){if((f[M>>2]|0)>0){N=M+12|0;K=0;do{g=f[N>>2]|0;O=g+(K*56|0)|0;c=f[g+(K*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[g+(K*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);E=f[g+(K*56|0)+48>>2]|0;do if(E|0){F=f[E+4>>2]|0;do if(F|0){if((f[F>>2]|0)>0){I=F+12|0;D=0;do{g=f[I>>2]|0;J=g+(D*56|0)|0;c=f[g+(D*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[g+(D*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);z=f[g+(D*56|0)+48>>2]|0;do if(z|0){A=f[z+4>>2]|0;do if(A|0){if((f[A>>2]|0)>0){B=A+12|0;y=0;do{g=f[B>>2]|0;C=g+(y*56|0)|0;c=f[g+(y*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[g+(y*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);s=f[g+(y*56|0)+48>>2]|0;do if(s|0){w=f[s+4>>2]|0;do if(w|0){if((f[w>>2]|0)>0){x=w+12|0;r=0;do{g=f[x>>2]|0;q=g+(r*56|0)|0;c=f[g+(r*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[g+(r*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[g+(r*56|0)+48>>2]|0;do if(c|0){gi(f[c+4>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);na=q;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));r=r+1|0}while((r|0)<(f[w>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{oa=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{oa=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);na=C;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));y=y+1|0}while((y|0)<(f[A>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{oa=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{oa=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}}while(0);na=J;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));D=D+1|0}while((D|0)<(f[F>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](F);break}else{oa=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](E);break}else{oa=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);break}}while(0);na=O;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));K=K+1|0}while((K|0)<(f[M>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](M);break}else{oa=ib[f[37368>>2]&255](M)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](M);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](L);break}else{oa=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);break}}while(0);na=Z;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));P=P+1|0}while((P|0)<(f[R>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](R);break}else{oa=ib[f[37368>>2]&255](R)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](R);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](Q);break}else{oa=ib[f[37368>>2]&255](Q)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Q);break}}while(0);na=aa;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));_=_+1|0}while((_|0)<(f[ca>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](ca);c=7;ca=0;da=0;break}else{c=ib[f[37368>>2]&255](ca)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ca);c=7;ca=0;da=0;break}}while(0);Ma:do if(ga){if(!c){c=Y;ta=1756}}else{q=1;g=1;do{q=q<<4;g=g+1|0}while((g|0)!=(ma|0));if(c|0)break;c=Y;x=1;Na:while(1){w=(f[c+12>>2]|0)+((((o|0)/(q|0)|0|0)%16|0)*56|0)+48|0;c=f[w>>2]|0;if(!c){c=f[9393]|0;if(c|0?ib[c&255](100)|0:0){c=7;break Ma}do if(!(f[9328]|0)){c=ib[f[37356>>2]&255](976)|0;if(!c){c=7;break Ma}else g=c}else{c=ib[f[37372>>2]&255](976)|0;if((f[18194]|0)>>>0<976)f[18194]=976;r=71896;g=f[r>>2]|0;r=f[r+4>>2]|0;if((r|0)>0|(r|0)==0&g>>>0>0){oa=f[18187]|0;na=LA(g|0,r|0,c|0,((c|0)<0)<<31>>31|0)|0;aa=ba()|0;f[17976]=((aa|0)<0|(aa|0)==0&na>>>0<=oa>>>0)&1}g=ib[f[37356>>2]&255](c)|0;if(!g){c=7;break Ma}c=ib[f[37368>>2]&255](g)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0<=(f[18196]|0)>>>0)break;f[18196]=c}while(0);c=g+16|0;_A(c|0,0,960)|0;aa=g+12|0;f[g>>2]=16;f[g+4>>2]=0;f[aa>>2]=c;f[g+8>>2]=g+912;c=f[9393]|0;if(c|0?ib[c&255](100)|0:0){ta=1628;break}do if(!(f[9328]|0)){c=ib[f[37356>>2]&255](64)|0;if(!c){ta=1640;break Na}}else{c=ib[f[37372>>2]&255](64)|0;if((f[18194]|0)>>>0<64)f[18194]=64;s=71896;r=f[s>>2]|0;s=f[s+4>>2]|0;if((s|0)>0|(s|0)==0&r>>>0>0){oa=f[18187]|0;na=LA(r|0,s|0,c|0,((c|0)<0)<<31>>31|0)|0;$=ba()|0;f[17976]=(($|0)<0|($|0)==0&na>>>0<=oa>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c){ta=1640;break Na}r=ib[f[37368>>2]&255](c)|0;r=(f[18187]|0)+r|0;f[18187]=r;if(r>>>0>(f[18191]|0)>>>0)f[18191]=r;r=(f[18190]|0)+1|0;f[18190]=r;if(r>>>0<=(f[18196]|0)>>>0)break;f[18196]=r}while(0);na=c+8|0;oa=na+56|0;do{b[na>>0]=0;na=na+1|0}while((na|0)<(oa|0));f[w>>2]=c;f[c+4>>2]=g;f[c>>2]=ka;aa=f[ha>>2]|0;na=(f[aa+8>>2]|0)+9|0;aa=(f[aa+4>>2]|0)/2|0;aa=(na|0)>(aa|0)?na:aa;f[c+16>>2]=aa;na=ia;aa=KA(f[na>>2]|0,f[na+4>>2]|0,aa|0,((aa|0)<0)<<31>>31|0)|0;na=ba()|0;oa=ia;f[oa>>2]=aa;f[oa+4>>2]=na}c=f[c+4>>2]|0;if(x>>>0>>0){q=(q|0)/16|0;x=x+1|0}else{ta=1756;break Ma}}if((ta|0)==1628){ta=0;f[w>>2]=0}else if((ta|0)==1640){ta=0;f[w>>2]=0}if((f[g>>2]|0)>0){_=0;do{o=f[aa>>2]|0;$=o+(_*56|0)|0;c=f[o+(_*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[o+(_*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);Q=f[o+(_*56|0)+48>>2]|0;do if(Q|0){R=f[Q+4>>2]|0;do if(R|0){if((f[R>>2]|0)>0){X=R+12|0;P=0;do{o=f[X>>2]|0;Z=o+(P*56|0)|0;c=f[o+(P*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[o+(P*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);L=f[o+(P*56|0)+48>>2]|0;do if(L|0){M=f[L+4>>2]|0;do if(M|0){if((f[M>>2]|0)>0){N=M+12|0;K=0;do{o=f[N>>2]|0;O=o+(K*56|0)|0;c=f[o+(K*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[o+(K*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);E=f[o+(K*56|0)+48>>2]|0;do if(E|0){F=f[E+4>>2]|0;do if(F|0){if((f[F>>2]|0)>0){I=F+12|0;D=0;do{o=f[I>>2]|0;J=o+(D*56|0)|0;c=f[o+(D*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[o+(D*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);z=f[o+(D*56|0)+48>>2]|0;do if(z|0){A=f[z+4>>2]|0;do if(A|0){if((f[A>>2]|0)>0){B=A+12|0;y=0;do{o=f[B>>2]|0;C=o+(y*56|0)|0;c=f[o+(y*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[o+(y*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);s=f[o+(y*56|0)+48>>2]|0;do if(s|0){w=f[s+4>>2]|0;do if(w|0){if((f[w>>2]|0)>0){x=w+12|0;r=0;do{o=f[x>>2]|0;q=o+(r*56|0)|0;c=f[o+(r*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[o+(r*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[o+(r*56|0)+48>>2]|0;do if(c|0){gi(f[c+4>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);na=q;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));r=r+1|0}while((r|0)<(f[w>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{oa=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{oa=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);na=C;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));y=y+1|0}while((y|0)<(f[A>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{oa=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{oa=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}}while(0);na=J;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));D=D+1|0}while((D|0)<(f[F>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](F);break}else{oa=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](E);break}else{oa=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);break}}while(0);na=O;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));K=K+1|0}while((K|0)<(f[M>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](M);break}else{oa=ib[f[37368>>2]&255](M)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](M);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](L);break}else{oa=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);break}}while(0);na=Z;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));P=P+1|0}while((P|0)<(f[R>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](R);break}else{oa=ib[f[37368>>2]&255](R)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](R);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](Q);break}else{oa=ib[f[37368>>2]&255](Q)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Q);break}}while(0);na=$;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));_=_+1|0}while((_|0)<(f[g>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);c=7;break}else{c=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);c=7;break}}while(0);if((ta|0)==1756){ta=0;f[(f[c+12>>2]|0)+(((o|0)%16|0)*56|0)+48>>2]=da;o=ea;c=0;break}if(!ca){o=ea;break}$=f[ca+4>>2]|0;do if($|0){if((f[$>>2]|0)>0){aa=$+12|0;_=0;do{o=f[aa>>2]|0;ca=o+(_*56|0)|0;g=f[o+(_*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(_*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);Q=f[o+(_*56|0)+48>>2]|0;do if(Q|0){R=f[Q+4>>2]|0;do if(R|0){if((f[R>>2]|0)>0){X=R+12|0;P=0;do{o=f[X>>2]|0;Z=o+(P*56|0)|0;g=f[o+(P*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(P*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);L=f[o+(P*56|0)+48>>2]|0;do if(L|0){M=f[L+4>>2]|0;do if(M|0){if((f[M>>2]|0)>0){N=M+12|0;K=0;do{o=f[N>>2]|0;O=o+(K*56|0)|0;g=f[o+(K*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(K*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);E=f[o+(K*56|0)+48>>2]|0;do if(E|0){F=f[E+4>>2]|0;do if(F|0){if((f[F>>2]|0)>0){I=F+12|0;D=0;do{o=f[I>>2]|0;J=o+(D*56|0)|0;g=f[o+(D*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(D*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);z=f[o+(D*56|0)+48>>2]|0;do if(z|0){A=f[z+4>>2]|0;do if(A|0){if((f[A>>2]|0)>0){B=A+12|0;y=0;do{o=f[B>>2]|0;C=o+(y*56|0)|0;g=f[o+(y*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(y*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);s=f[o+(y*56|0)+48>>2]|0;do if(s|0){w=f[s+4>>2]|0;do if(w|0){if((f[w>>2]|0)>0){x=w+12|0;r=0;do{o=f[x>>2]|0;q=o+(r*56|0)|0;g=f[o+(r*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(r*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);ii(f[o+(r*56|0)+48>>2]|0);na=q;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));r=r+1|0}while((r|0)<(f[w>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{oa=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{oa=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);na=C;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));y=y+1|0}while((y|0)<(f[A>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{oa=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{oa=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}}while(0);na=J;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));D=D+1|0}while((D|0)<(f[F>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](F);break}else{oa=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](E);break}else{oa=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);break}}while(0);na=O;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));K=K+1|0}while((K|0)<(f[M>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](M);break}else{oa=ib[f[37368>>2]&255](M)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](M);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](L);break}else{oa=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);break}}while(0);na=Z;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));P=P+1|0}while((P|0)<(f[R>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](R);break}else{oa=ib[f[37368>>2]&255](R)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](R);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](Q);break}else{oa=ib[f[37368>>2]&255](Q)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Q);break}}while(0);na=ca;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));_=_+1|0}while((_|0)<(f[$>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127]($);break}else{oa=ib[f[37368>>2]&255]($)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127]($);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](da);o=ea;break}else{o=ib[f[37368>>2]&255](da)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](da);o=ea;break}}while(0);fa=fa+16|0;g=f[la>>2]|0}while((c|0)==0&(g|0)>(fa|0))}}else ta=1460}else{ta=Td;f[ta>>2]=0;f[ta+4>>2]=0;ta=1460}if((ta|0)==1460){ta=0;c=pj(ka,c,Td,Jf)|0;W=f[Jf>>2]|0;Y=W}X=(c|0)==0;do if(!X){if(Y){if((f[Y>>2]|0)>0){Q=Y+12|0;P=0;do{o=f[Q>>2]|0;R=o+(P*56|0)|0;g=f[o+(P*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(P*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);L=f[o+(P*56|0)+48>>2]|0;do if(L|0){M=f[L+4>>2]|0;do if(M|0){if((f[M>>2]|0)>0){N=M+12|0;K=0;do{o=f[N>>2]|0;O=o+(K*56|0)|0;g=f[o+(K*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(K*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);E=f[o+(K*56|0)+48>>2]|0;do if(E|0){F=f[E+4>>2]|0;do if(F|0){if((f[F>>2]|0)>0){I=F+12|0;D=0;do{o=f[I>>2]|0;J=o+(D*56|0)|0;g=f[o+(D*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(D*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);z=f[o+(D*56|0)+48>>2]|0;do if(z|0){A=f[z+4>>2]|0;do if(A|0){if((f[A>>2]|0)>0){B=A+12|0;y=0;do{o=f[B>>2]|0;C=o+(y*56|0)|0;g=f[o+(y*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(y*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);s=f[o+(y*56|0)+48>>2]|0;do if(s|0){w=f[s+4>>2]|0;do if(w|0){if((f[w>>2]|0)>0){x=w+12|0;r=0;do{o=f[x>>2]|0;q=o+(r*56|0)|0;g=f[o+(r*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(r*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(r*56|0)+48>>2]|0;do if(g|0){gi(f[g+4>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);na=q;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));r=r+1|0}while((r|0)<(f[w>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{oa=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{oa=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);na=C;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));y=y+1|0}while((y|0)<(f[A>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{oa=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{oa=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}}while(0);na=J;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));D=D+1|0}while((D|0)<(f[F>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](F);break}else{oa=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](E);break}else{oa=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);break}}while(0);na=O;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));K=K+1|0}while((K|0)<(f[M>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](M);break}else{oa=ib[f[37368>>2]&255](M)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](M);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](L);break}else{oa=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);break}}while(0);na=R;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));P=P+1|0}while((P|0)<(f[Y>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](W);break}else{oa=ib[f[37368>>2]&255](W)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](W);break}}}else S=Y;while(0);if(X)pa=pa+1|0;else{ta=1969;break}}do if((ta|0)==1969)if(S){if((f[S>>2]|0)>0){Q=S+12|0;P=0;do{o=f[Q>>2]|0;R=o+(P*56|0)|0;g=f[o+(P*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(P*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);L=f[o+(P*56|0)+48>>2]|0;do if(L|0){M=f[L+4>>2]|0;do if(M|0){if((f[M>>2]|0)>0){N=M+12|0;K=0;do{o=f[N>>2]|0;O=o+(K*56|0)|0;g=f[o+(K*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(K*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);E=f[o+(K*56|0)+48>>2]|0;do if(E|0){F=f[E+4>>2]|0;do if(F|0){if((f[F>>2]|0)>0){I=F+12|0;D=0;do{o=f[I>>2]|0;J=o+(D*56|0)|0;g=f[o+(D*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(D*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);z=f[o+(D*56|0)+48>>2]|0;do if(z|0){A=f[z+4>>2]|0;do if(A|0){if((f[A>>2]|0)>0){B=A+12|0;y=0;do{o=f[B>>2]|0;C=o+(y*56|0)|0;g=f[o+(y*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(y*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);s=f[o+(y*56|0)+48>>2]|0;do if(s|0){w=f[s+4>>2]|0;do if(w|0){if((f[w>>2]|0)>0){x=w+12|0;r=0;do{o=f[x>>2]|0;q=o+(r*56|0)|0;g=f[o+(r*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(r*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(r*56|0)+48>>2]|0;do if(g|0){gi(f[g+4>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);na=q;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));r=r+1|0}while((r|0)<(f[w>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{ta=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{ta=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);na=C;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));y=y+1|0}while((y|0)<(f[A>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{ta=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{ta=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}}while(0);na=J;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));D=D+1|0}while((D|0)<(f[F>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](F);break}else{ta=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](E);break}else{ta=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);break}}while(0);na=O;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));K=K+1|0}while((K|0)<(f[M>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](M);break}else{ta=ib[f[37368>>2]&255](M)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](M);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](L);break}else{ta=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);break}}while(0);na=R;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));P=P+1|0}while((P|0)<(f[S>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](S);ta=2065;break}else{ta=ib[f[37368>>2]&255](S)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](S);ta=2065;break}}else ta=2065;else if((ta|0)==2064){ta=0;c=qj(ra+64|0,S)|0;f[ra+20>>2]=S;if(!c)c=0;else ta=2065}while(0);if((ta|0)==2065)ta=0;f[ee>>2]=0}else{g=f[sa+40>>2]|0;c=mj(g,ee)|0;if(d[m+2>>1]|0?(b[g>>0]|0)==0:0){b[g>>0]=2;f[g+4>>2]=1}b[sa+3>>0]=0;f[sa+28>>2]=0}while(0);if(c|0){ta=2072;break c}ra=f[ee>>2]|0;b[sa+2>>0]=ra;if(!ra){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{c=0;ta=27}}else if((ta|0)==2087){f[g+28>>2]=0;switch(c|0){case 0:{b[g+2>>0]=0;c=a+156+(j[m+2>>1]<<2)|0;f[c>>2]=(f[c>>2]|0)+1;c=0;ta=21;break Ha}case 101:{b[g+2>>0]=1;c=0;ta=22;break Ha}default:{r=Qf;q=Rf;ta=3925;break a}}}else if((ta|0)==2958){ta=0;q=f[m+12>>2]|0;g=ua+(q*40|0)|0;o=s+8|0;if((f[o>>2]|0)!=(g|0)?(f[o>>2]=g,Id=b[s+25>>0]|0,Id<<24>>24):0){o=f[m+8>>2]|0;g=Id&255;do{sa=g;g=g+-1|0;f[s+28+(g<<2)>>2]=ua+((g+o|0)*40|0)}while((sa|0)>1)}g=ua+(q*40|0)+12|0;f[g>>2]=(f[g>>2]|0)+1;g=f[s+4>>2]|0;if(!(f[m+4>>2]|0))qb[f[g+16>>2]&255](s,h[s+25>>0]|0,s+28|0);else qb[f[g+28>>2]&255](s,h[s+25>>0]|0,s+28|0);r=s+20|0;g=f[r>>2]|0;if(g){if((g|0)>0){c=f[s>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){c=f[c+16>>2]|0;break}if(!(g&1))c=Ic(c,1)|0;else c=0}else c=0;while(0);f[Ze>>2]=c;Fg(a,40840,Ze);c=f[r>>2]|0}o=s+24|0;if(b[o>>0]|0){g=f[m+-16>>2]|0;do if(g|0){q=ua+(g*40|0)|0;g=ua+(g*40|0)+8|0;if(!(d[g>>1]&9216)){sa=q;f[sa>>2]=1;f[sa+4>>2]=0;d[g>>1]=4;break}else{bf(q,1,0);break}}while(0);b[o>>0]=0}o=f[s>>2]|0;g=o+8|0;if(!((d[g>>1]&9216)==0?(f[o+24>>2]|0)==0:0)){ff(o);g=(f[s>>2]|0)+8|0}d[g>>1]=1;f[r>>2]=0;if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}}else{z=wa;y=Qf;s=Rf;q=ua;r=va}}else if((ta|0)==3842){ta=0;r=f[m+16>>2]|0;z=f[m+12>>2]|0;y=ua+(z*40|0)|0;if((f[r>>2]|0)!=(y|0)){f[r>>2]=y;g=b[r+25>>0]|0;if(!(g<<24>>24))g=0;else{q=f[m+8>>2]|0;o=g&255;do{sa=o;o=o+-1|0;f[r+28+(o<<2)>>2]=ua+((o+q|0)*40|0)}while((sa|0)>1)}}else g=b[r+25>>0]|0;x=ua+(z*40|0)+8|0;d[x>>1]=d[x>>1]&15872|1;qb[f[(f[r+4>>2]|0)+16>>2]&255](r,g&255,r+28|0);w=r+20|0;g=f[w>>2]|0;if(g){if((g|0)>0){c=d[x>>1]|0;if((c&514)==514?(b[ua+(z*40|0)+10>>0]|0)==1:0)c=f[ua+(z*40|0)+16>>2]|0;else if(!(c&1))c=Ic(y,1)|0;else c=0;f[Ee>>2]=c;Fg(a,40840,Ee);c=f[w>>2]|0}r=f[r+16>>2]|0;s=f[m+4>>2]|0;o=f[Fb>>2]|0;Oa:do if(o|0){if((r|0)<0)while(1){g=f[o+12>>2]|0;if(g|0)ob[g&127](f[o+8>>2]|0);f[Fb>>2]=f[o+16>>2];Pa:do if(!(f[pf>>2]|0)){g=o;do if((f[rf>>2]|0)>>>0<=g>>>0){if((f[sf>>2]|0)>>>0<=g>>>0)break;f[o>>2]=f[Ff>>2];f[Ff>>2]=o;break Pa}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{sa=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else Kc(Yf,o);while(0);o=f[Fb>>2]|0;if(!o)break Oa}g=Fb;do{Qa:do if((f[o>>2]|0)==(r|0)?(Qd=f[o+4>>2]|0,(Qd|0)>-1):0){if((Qd|0)<=31?1<>2]|0;if(q|0)ob[q&127](f[o+8>>2]|0);f[g>>2]=f[o+16>>2];if(f[pf>>2]|0){Kc(Yf,o);break}q=o;do if((f[rf>>2]|0)>>>0<=q>>>0){if((f[sf>>2]|0)>>>0<=q>>>0)break;f[o>>2]=f[Ff>>2];f[Ff>>2]=o;break Qa}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{sa=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else ta=3884;while(0);if((ta|0)==3884){ta=0;g=o+16|0}o=f[g>>2]|0}while((o|0)!=0)}while(0);f[w>>2]=0;if(!c)c=0;else{r=Qf;q=Rf;ta=3925;break a}}g=d[x>>1]|0;if(g&18){if((g&2)!=0?(b[ua+(z*40|0)+10>>0]|0)!=Fd<<24>>24:0){Ri(y,Fd)|0;g=d[x>>1]|0}o=g&65535;if(o&18){g=f[ua+(z*40|0)+12>>2]|0;if(o&16384)g=(f[y>>2]|0)+g|0;if((g|0)>(f[(f[ua+(z*40|0)+32>>2]|0)+108>>2]|0)){ta=3953;break c}else{z=wa;y=Qf;s=Rf;q=ua;r=va}}else{z=wa;y=Qf;s=Rf;q=ua;r=va}}else{z=wa;y=Qf;s=Rf;q=ua;r=va}}while(0);if((ta|0)==21){m=Qf+(((f[m+8>>2]|0)+-1|0)*20|0)|0;ta=22}else if((ta|0)==27){ta=0;z=wa;y=Qf;s=Rf;q=ua;r=va;m=Qf+(((f[m+8>>2]|0)+-1|0)*20|0)|0}else if((ta|0)==1014){ta=0;b[(f[g+40>>2]|0)+3>>0]=d[o>>1]&3;if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}}if((ta|0)==22){ta=0;if(f[pc>>2]|0){c=Qf;g=Rf;break b}if(e>>>0>=wa>>>0?(Wd=f[qc>>2]|0,(Wd|0)!=0):0){g=f[ya>>2]|0;if(!(ib[Wd&255](f[kd>>2]|0)|0)){z=g+e-((e>>>0)%(g>>>0)|0)|0;y=Qf;s=Rf;q=ua;r=va}else{r=Qf;q=Rf;c=9;ta=3925;break a}}else{z=wa;y=Qf;s=Rf;q=ua;r=va}}Qf=y;m=m+20|0;Rf=s;va=r;ua=q;wa=z}switch(ta|0){case 37:{f[Uf>>2]=0;b[a+142>>0]=f[m+8>>2];f[Nf>>2]=(m-Qf|0)/20|0;ta=43;break}case 38:{i=m+4|0;g=(m-Qf|0)/20|0;f[Uf>>2]=o;b[a+142>>0]=f[m+8>>2];f[Nf>>2]=g;c=d[m+2>>1]|0;if(c<<16>>16){f[wf>>2]=f[7792+((c&65535)+-1<<2)>>2];Fg(a,43276,wf);c=f[m+16>>2]|0;if(c|0){f[Cf>>2]=f[Of>>2];f[Cf+4>>2]=c;Yf=Ig(Yf,43297,Cf)|0;f[Of>>2]=Yf}}else{f[xf>>2]=f[m+16>>2];Fg(a,40840,xf)}ta=f[i>>2]|0;Xf=f[td>>2]|0;Yf=f[Of>>2]|0;f[Df>>2]=g;f[Df+4>>2]=Xf;f[Df+8>>2]=Yf;Ac(ta,43304,Df);ta=43;break}case 148:{c=f[qc>>2]|0;if(!(e>>>0>>0|(c|0)==0)?ib[c&255](f[kd>>2]|0)|0:0){r=Qf;q=Rf;c=9;ta=3925;break a}Of=jd;Mf=f[Of+4>>2]|0;if((Mf|0)>0|(Mf|0)==0&(f[Of>>2]|0)>>>0>0){f[Uf>>2]=787;b[a+142>>0]=2;Fg(a,42524,ef);r=Qf;q=Rf;c=1;ta=3925;break a}if(f[(f[a>>2]|0)+456>>2]|0?f[ld>>2]|0:0)Jg(a,1)|0;f[id>>2]=(f[id>>2]|0)+2|1;s=ua+((f[m+4>>2]|0)*40|0)|0;f[od>>2]=s;q=m+8|0;if((f[q>>2]|0)>0){o=0;do{r=s+(o*40|0)|0;n=r+8|0;c=d[n>>1]|0;if(c&4096){g=c&65535;do if(g&18){if(g&16384){c=r+12|0;Of=(f[r>>2]|0)+(f[c>>2]|0)|0;if(df(r,(Of|0)>1?Of:1,1)|0){g=Qf;c=Rf;ta=3954;break a}_A((f[r+16>>2]|0)+(f[c>>2]|0)|0,0,f[r>>2]|0)|0;f[c>>2]=(f[c>>2]|0)+(f[r>>2]|0);c=d[n>>1]&-16897;d[n>>1]=c}if(f[r+24>>2]|0?(f[r+16>>2]|0)==(f[r+20>>2]|0):0)break;if(gf(r)|0){g=Qf;c=Rf;ta=3954;break a}c=d[n>>1]|0}while(0);c=c&-4097;d[n>>1]=c}if((c&514)==2)gf(r)|0;o=o+1|0}while((o|0)<(f[q>>2]|0))}if(b[l>>0]|0){c=Rf;g=Qf;ta=3959;break a}if(b[If>>0]&4)lb[f[Gf>>2]&127](4,f[Hf>>2]|0,a,0)|0;f[Nf>>2]=((m-Qf|0)/20|0)+1;c=100;break a}case 497:{ta=3953;break}case 577:{f[He>>2]=42469;f[He+4>>2]=85694;f[He+8>>2]=40460;Ac(11,40408,He);c=11;ta=579;break}case 580:{g=Qf;c=Rf;ta=3954;break a}case 716:{f[Ie>>2]=42469;f[Ie+4>>2]=67897;f[Ie+8>>2]=40460;Ac(11,40408,Ie);r=Qf;q=Rf;c=11;ta=3925;break a}case 719:{f[Je>>2]=42469;f[Je+4>>2]=67897;f[Je+8>>2]=40460;Ac(11,40408,Je);r=Qf;q=Rf;c=11;ta=3925;break a}case 729:{Fg(a,43364,Ke);r=Qf;q=Rf;c=5;ta=3925;break a}case 761:{f[Le>>2]=y;Fg(a,43415,Le);r=Qf;q=Rf;c=1;ta=3925;break a}case 763:{Fg(a,43437,Me);r=Qf;q=Rf;c=5;ta=3925;break a}case 767:{f[Uf>>2]=787;b[a+142>>0]=2;Fg(a,42524,Ne);c=1;break a}case 769:{f[Nf>>2]=(m-Qf|0)/20|0;b[sd>>0]=0;f[Uf>>2]=5;c=5;break a}case 873:{g=f[m+4>>2]|0;c=f[m+8>>2]|0;if((g|0)==(h[sd>>0]|0)){Fg(a,(g|0)==0?43630:(c|0)==0?43546:43587,mf);r=Qf;q=Rf;c=1;ta=3925;break a}do if(!c){if(g|0?(f[nd>>2]|0)>0:0){Fg(a,43491,hf);r=Qf;q=Rf;c=5;ta=3925;break a}Wf=f[a>>2]|0;Xf=Wf+464|0;Wf=Wf+472|0;Xf=KA(f[Wf>>2]|0,f[Wf+4>>2]|0,f[Xf>>2]|0,f[Xf+4>>2]|0)|0;Wf=ba()|0;if((Wf|0)>0|(Wf|0)==0&Xf>>>0>0){f[Uf>>2]=787;b[a+142>>0]=2;Fg(a,42524,lf);c=1;break a}else{c=g&255;break}}else{Eg(Yf,516);c=1}while(0);b[sd>>0]=c;if((tg(a)|0)==5){f[Nf>>2]=(m-Qf|0)/20|0;b[sd>>0]=1-g;f[Uf>>2]=5;c=5;break a}c=f[Dd>>2]|0;if(c|0)do{f[Dd>>2]=f[c+24>>2];do if(!(f[pf>>2]|0)){Xf=c;if((f[rf>>2]|0)>>>0<=Xf>>>0?(f[sf>>2]|0)>>>0>Xf>>>0:0){f[c>>2]=f[Ff>>2];f[Ff>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{Xf=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-Xf;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}else Kc(Yf,c);while(0);c=f[Dd>>2]|0}while((c|0)!=0);f[Sd>>2]=0;f[Rd>>2]=0;b[Ud>>0]=0;c=(f[Uf>>2]|0)==0?101:1;break a}case 901:{if((c&255|0)==5){f[Nf>>2]=(m-Qf|0)/20|0;f[Uf>>2]=c;break a}else ta=957;break}case 924:{c=f[Of>>2]|0;do if(c|0){if(f[pf>>2]|0){Kc(Yf,c);break}Pf=c;if((f[rf>>2]|0)>>>0<=Pf>>>0?(f[sf>>2]|0)>>>0>Pf>>>0:0){f[c>>2]=f[Ff>>2];f[Ff>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{Pf=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-Pf;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);do if(f[rd>>2]|0)if(!(b[l>>0]|0))ta=941;else c=0;else{if((j[pd>>1]|0)>=28){c=f[Ff>>2]|0;if(c|0){f[Ff>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=942;break}c=f[zf>>2]|0;if(!c)c=Bf;else{f[zf>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=942;break}}else c=qd;f[c>>2]=(f[c>>2]|0)+1;ta=941}while(0);if((ta|0)==941){c=Dc(Yf,28,0)|0;ta=942}if((ta|0)==942)if(!c)c=0;else{na=c;g=43678;oa=na+28|0;do{b[na>>0]=b[g>>0]|0;na=na+1|0;g=g+1|0}while((na|0)<(oa|0))}f[Of>>2]=c;g=f[Lf>>2]|0;c=f[x>>2]|0;o=f[g+(c<<4)+12>>2]|0;Ra:do if((f[o>>2]|0)!=(f[Jf>>2]|0)){if((c|0)>-1){Pf=o+78|0;d[Pf>>1]=d[Pf>>1]|8;Pf=(f[g+28>>2]|0)+78|0;d[Pf>>1]=d[Pf>>1]|8;f[yf>>2]=f[yf>>2]&-9}if((f[Yf+56>>2]|0)==0?(n=f[Kf>>2]|0,(n|0)>0):0){c=0;while(1){g=f[g+(c<<4)+12>>2]|0;if(!(d[g+78>>1]&8))g=n;else{Wh(g);g=f[Kf>>2]|0}c=c+1|0;if((c|0)>=(g|0))break Ra;n=g;g=f[Lf>>2]|0}}}while(0);c=(h[Mf>>0]|h[Mf+1>>0]<<8)&-4|1;b[Mf>>0]=c;b[Mf+1>>0]=c>>8;c=17;ta=957;break}case 1062:{f[s+40>>2]=0;r=Qf;q=Rf;c=7;ta=3925;break a}case 1138:{r=Qf;q=Rf;ta=3925;break a}case 1193:{g=Qf;c=Rf;ta=3954;break a}case 1195:{r=Qf;q=Rf;ta=3925;break a}case 1214:{f[Oe>>2]=42469;f[Oe+4>>2]=87331;f[Oe+8>>2]=40460;Ac(11,40408,Oe);r=Qf;q=Rf;c=11;ta=3925;break a}case 1253:{r=Qf;q=Rf;ta=3925;break a}case 1273:{r=Qf;q=Rf;ta=3925;break a}case 1310:{f[r>>2]=0;r=Qf;q=Rf;c=7;ta=3925;break a}case 1407:{r=Qf;q=Rf;ta=3925;break a}case 1418:{r=Qf;q=Rf;ta=3925;break a}case 1421:{r=Qf;q=Rf;ta=3925;break a}case 2072:{r=Qf;q=Rf;ta=3925;break a}case 2145:{r=Qf;q=Rf;ta=3925;break a}case 2150:{r=Qf;q=Rf;ta=3925;break a}case 2177:{if(!((d[eb>>1]&9216)==0&(f[gb>>2]|0)==0))ff(Td);f[Pe>>2]=42469;f[Pe+4>>2]=80439;f[Pe+8>>2]=40460;Ac(11,40408,Pe);c=11;ta=2180;break}case 2191:{f[Qe>>2]=42469;f[Qe+4>>2]=80472;f[Qe+8>>2]=40460;Ac(11,40408,Qe);c=11;ta=2198;break}case 2204:{b[a+142>>0]=2;r=Qf;q=Rf;c=6;ta=3925;break a}case 2208:{g=0;ta=2275;break}case 2223:{if(r){g=f[r+72>>2]|0;if(!(d[g+28>>1]&32)){bh(g);g=0;ta=2275;break}else{ta=f[g+20>>2]|0;Pf=ta+120|0;f[Pf>>2]=(f[Pf>>2]|0)+-1;ta=ta+136|0;f[g+16>>2]=f[ta>>2];f[ta>>2]=g;g=0;ta=2275;break}}else{g=0;ta=2275}break}case 2241:{g=0;ta=2275;break}case 2251:{g=0;ta=2275;break}case 2328:{r=Qf;q=Rf;ta=3925;break a}case 2352:{Vh(Yf);r=Qf;q=Rf;ta=3925;break a}case 2354:{Vh(Yf);g=Qf;c=Rf;ta=3954;break a}case 2878:{Fg(a,44039,Ye);r=Qf;q=Rf;c=1;ta=3925;break a}case 3002:{do if(o){g=d[o+8>>1]|0;if((g&514)==514?(b[o+10>>0]|0)==1:0){g=f[o+16>>2]|0;break}if(!(g&1))g=Ic(o,1)|0;else g=0}else g=0;while(0);f[of>>2]=g;Fg(a,40840,of);r=Qf;q=Rf;ta=3925;break a}case 3023:{r=Qf;q=Rf;ta=3925;break a}case 3044:{f[_e>>2]=y?44076:44081;Fg(a,44088,_e);r=Qf;q=Rf;c=1;ta=3925;break a}case 3102:{c=f[Of>>2]|0;do if(c|0){if(f[pf>>2]|0){Kc(Yf,c);break}Pf=c;if((f[rf>>2]|0)>>>0<=Pf>>>0?(f[sf>>2]|0)>>>0>Pf>>>0:0){f[c>>2]=f[Ff>>2];f[Ff>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{Pf=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-Pf;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);do if(f[rd>>2]|0)if(!(b[l>>0]|0))ta=3119;else c=0;else{if((j[pd>>1]|0)>=40){c=f[Ff>>2]|0;if(c|0){f[Ff>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=3120;break}c=f[zf>>2]|0;if(!c)c=Bf;else{f[zf>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=3120;break}}else c=qd;f[c>>2]=(f[c>>2]|0)+1;ta=3119}while(0);if((ta|0)==3119){c=Dc(Yf,40,0)|0;ta=3120}if((ta|0)==3120)if(!c)c=0;else{na=c;g=44140;oa=na+40|0;do{b[na>>0]=b[g>>0]|0;na=na+1|0;g=g+1|0}while((na|0)<(oa|0))}f[Of>>2]=c;r=Qf;q=Rf;c=1;ta=3925;break a}case 3124:{c=f[Of>>2]|0;do if(c|0){if(f[pf>>2]|0){Kc(Yf,c);break}Pf=c;if((f[rf>>2]|0)>>>0<=Pf>>>0?(f[sf>>2]|0)>>>0>Pf>>>0:0){f[c>>2]=f[Ff>>2];f[Ff>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{Pf=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-Pf;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);do if(f[rd>>2]|0)if(!(b[l>>0]|0))ta=3141;else c=0;else{if((j[pd>>1]|0)>=43){c=f[Ff>>2]|0;if(c|0){f[Ff>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=3142;break}c=f[zf>>2]|0;if(!c)c=Bf;else{f[zf>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=3142;break}}else c=qd;f[c>>2]=(f[c>>2]|0)+1;ta=3141}while(0);if((ta|0)==3141){c=Dc(Yf,43,0)|0;ta=3142}if((ta|0)==3142)if(!c)c=0;else{na=c;g=44180;oa=na+43|0;do{b[na>>0]=b[g>>0]|0;na=na+1|0;g=g+1|0}while((na|0)<(oa|0))}f[Of>>2]=c;r=Qf;q=Rf;c=1;ta=3925;break a}case 3263:{f[Ae>>2]=42469;f[Ae+4>>2]=66739;f[Ae+8>>2]=40460;Ac(11,40408,Ae);r=Qf;q=Rf;c=11;ta=3925;break a}case 3296:{if(w<<24>>24==2){ta=o+22|0;d[ta>>1]=d[ta>>1]|128;ta=3317}else ta=3317;break}case 3479:{g=f[md>>2]|0;ta=3480;break}case 3537:{r=Qf;q=Rf;ta=3925;break a}case 3538:{ib[f[y+28>>2]&255](f[Jf>>2]|0)|0;g=Qf;c=Rf;ta=3954;break a}case 3655:{ta=3953;break}case 3754:{c=Rf;g=Qf;ta=3959;break a}case 3811:{g=g&255;ta=3812;break}case 3813:{f[vc>>2]=(f[vc>>2]|0)+1;break}case 3816:{r=Qf;q=Rf;c=6;ta=3925;break a}case 3961:{t=Zf;return c|0}}switch(ta|0){case 43:if((tg(a)|0)==5){f[Uf>>2]=5;c=5;break a}else{c=(f[Uf>>2]|0)==0?101:1;break a}case 579:{r=Qf;q=Rf;ta=3925;break a}case 957:{r=Qf;q=Rf;ta=3925;break a}case 2180:{r=Qf;q=Rf;ta=3925;break a}case 2198:{r=Qf;q=Rf;ta=3925;break a}case 2275:{d[C>>1]=4;r=B;f[r>>2]=g;f[r+4>>2]=((g|0)<0)<<31>>31;r=Qf;q=Rf;ta=3925;break a}case 3317:{f[Be>>2]=f[m+16>>2];Fg(a,44703,Be);r=Qf;q=Rf;c=262;ta=3925;break a}case 3480:{f[md>>2]=g+-1;r=Qf;q=Rf;ta=3925;break a}case 3812:{b[a+142>>0]=g;break}case 3953:{Fg(a,41612,Ge);r=Qf;q=Rf;c=18;ta=3925;break a}}r=Qf;q=Rf;ta=3925;break a}else{m=o;e=0;c=o;g=0;l=Yf+81|0}while(0);ta=(b[l>>0]|0)==0?9:7;f[Uf>>2]=ta;f[Ef>>2]=f[7984+(ta<<2)>>2];Fg(a,40840,Ef);r=c;q=g;c=ta;ta=3925}while(0);if((ta|0)==3954)if((b[l>>0]|0)==0?(b[Yf+82>>0]|0)==0:0){b[l>>0]=1;if((f[Yf+180>>2]|0)>0)f[Yf+264>>2]=1;ta=Yf+272|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3959}else ta=3959;if((ta|0)==3959){Fg(a,44870,Pf);r=g;q=c;c=7;ta=3925}Sa:do if((ta|0)==3925){o=(b[l>>0]|0)==0?c:7;n=a+108|0;if((f[n>>2]|0)==0&(o|0)!=3082){switch(o|0){case 516:{c=44816;break}case 100:{c=44794;break}case 101:{c=44771;break}default:{c=o&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7984+(c<<2)>>2]|0;else c=44757}}f[Sf>>2]=c;Fg(a,40840,Sf)}f[Uf>>2]=o;if((o|0)==3082){Uf=f[a+184>>2]|0;Vf=f[n>>2]|0;f[Tf>>2]=(m-r|0)/20|0;f[Tf+4>>2]=Uf;f[Tf+8>>2]=Vf;Ac(3082,44838,Tf);tg(a)|0;if((b[l>>0]|0)==0?(b[Yf+82>>0]|0)==0:0){b[l>>0]=1;if((f[Yf+180>>2]|0)>0)f[Yf+264>>2]=1;Vf=Yf+272|0;f[Vf>>2]=(f[Vf>>2]|0)+1}}else{if((o&251|4|0)==14){c=f[Yf>>2]|0;g=f[c+68>>2]|0;if(!g)c=0;else c=kb[g&127](c,0,0)|0;f[Yf+72>>2]=c}Tf=f[a+184>>2]|0;Uf=f[n>>2]|0;f[Vf>>2]=(m-r|0)/20|0;f[Vf+4>>2]=Tf;f[Vf+8>>2]=Uf;Ac(o,44838,Vf);tg(a)|0}if((q<<24>>24!=0?(Wf=Yf+16|0,k=f[Wf>>2]|0,Vf=(f[k+((q&255)+-1<<4)+12>>2]|0)+78|0,d[Vf>>1]=d[Vf>>1]|8,Vf=(f[k+28>>2]|0)+78|0,d[Vf>>1]=d[Vf>>1]|8,Vf=Yf+24|0,f[Vf>>2]=f[Vf>>2]&-9,(f[Yf+56>>2]|0)==0):0)?(Xf=Yf+20|0,i=f[Xf>>2]|0,(i|0)>0):0){c=0;while(1){g=f[k+(c<<4)+12>>2]|0;if(!(d[g+78>>1]&8))g=i;else{Wh(g);g=f[Xf>>2]|0}c=c+1|0;if((c|0)>=(g|0)){c=1;break Sa}k=f[Wf>>2]|0;i=g}}else c=1}while(0);a=a+172|0;f[a>>2]=(f[a>>2]|0)+e;a=c;t=Zf;return a|0} -function Xx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!(f[a+36>>2]|0)){if((f[b+16>>2]|0)>4)Wx(a,b);e=b+4|0;f[c>>2]=(f[e>>2]|0)+-1;if((f[e>>2]|0)>1)cy(a,b)}a=b+36|0;c=f[a>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=b+12|0;c=f[a>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=b+24|0;c=f[a>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=b+76|0;c=f[a>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;e=b+68|0;d=b+72|0;a=f[d>>2]|0;if((f[e>>2]|0)>0){b=0;do{a=a+(b<<5)+16|0;c=f[a>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{g=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=b+1|0;a=f[d>>2]|0}while((b|0)<(f[e>>2]|0))}if(!a)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{g=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Yx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+36|0;if(f[n>>2]|0)return;a=f[c+24+(b*12|0)+4>>2]|0;if(!a)return;m=f[c+24+(b*12|0)+8>>2]|0;i=a+-1|0;i=(f[m+(i*12|0)+8>>2]|0)+1-(f[m+(i*12|0)+4>>2]|0)|0;a:do if((b|0)>0){h=b;while(1){a=h;h=h+-1|0;g=f[c+24+(h*12|0)+4>>2]|0;if(g|0)break;if((a|0)<=1){d=-1;a=0;break a}}if((g|0)>0){e=f[c+24+(h*12|0)+8>>2]|0;a=0;d=0;do{m=(f[e+(d*12|0)+8>>2]|0)-(f[e+(d*12|0)+4>>2]|0)|0;a=(m|0)<(a|0)?a:m+1|0;d=d+1|0}while((d|0)!=(g|0))}else a=0;m=(a|0)<(i|0);d=m?-1:h;a=m?0:a}else{d=-1;a=0}while(0);l=(d|0)<0;m=l?i:a;d=l?b:d;if(f[c+24+(d*12|0)>>2]|0)return;e=d+1|0;k=c+20|0;a=f[k>>2]|0;if((e|0)>=(a|0))return;l=c+24+(d*12|0)+4|0;j=c+24+(d*12|0)+8|0;b:while(1){if(f[c+24+(e*12|0)>>2]|0){a=26;break}b=c+24+(e*12|0)+4|0;d=f[b>>2]|0;if((d|0)>0){i=c+24+(e*12|0)+8|0;do{h=d;d=d+-1|0;g=f[i>>2]|0;if((1-(f[g+(d*12|0)+4>>2]|0)+(f[g+(d*12|0)+8>>2]|0)|0)>(m|0)){a=26;break b}if(f[n>>2]|0){a=26;break b}a=((f[l>>2]|0)*12|0)+12|0;g=f[j>>2]|0;if(Mc()|0){a=21;break b}a=Nc(g,(a|0)>0?a:0,0)|0;if(!a){a=21;break b}ZA(a+12|0,a|0,(f[l>>2]|0)*12|0)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[j>>2]=a;if(f[n>>2]|0){a=26;break b}g=(f[i>>2]|0)+(d*12|0)|0;f[a>>2]=f[g>>2];f[a+4>>2]=f[g+4>>2];f[a+8>>2]=f[g+8>>2];f[l>>2]=(f[l>>2]|0)+1;f[b>>2]=(f[b>>2]|0)+-1}while((h|0)>1);a=f[k>>2]|0}e=e+1|0;if((e|0)>=(a|0)){a=26;break}}if((a|0)==21){f[n>>2]=7;return}else if((a|0)==26)return}function Zx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=t;t=t+16|0;m=p+4|0;o=p;f[m>>2]=c;e=f[b>>2]|0;f[o>>2]=e;n=a+36|0;if((c|0)<=0){o=0;n=e;f[b>>2]=n;t=p;return o|0}c=0;while(1){if(f[n>>2]|0)break;k=f[o>>2]|0;j=f[k+20>>2]|0;a:do if((j|0)>0){g=0;e=0;i=0;while(1){h=f[k+24+(i*12|0)>>2]|0;if(h|0)break;h=f[k+24+(i*12|0)+4>>2]|0;q=(h|0)>(g|0);e=q?i:e;g=q?h:g;h=i+1|0;if((h|0)<(j|0))i=h;else break a}q=(h|0)>(g|0);g=q?h:g;e=q?i:e}else{g=0;e=0}while(0);if((g|0)<(d|0)?(f[k+24+(e*12|0)>>2]|0)==0:0)break;_x(a,o,e,m);if((f[n>>2]|0)==0?(l=f[o>>2]|0,(f[l+24+(e*12|0)>>2]|0)==0):0)Yx(a,e+1|0,l);if((f[m>>2]|0)>0)c=1;else{c=1;break}}q=c;o=f[o>>2]|0;f[b>>2]=o;t=p;return q|0}function _x(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=t;t=t+368|0;R=ga+352|0;P=ga;W=ga+360|0;Q=ga+256|0;r=f[c>>2]|0;l=r+24+(e*12|0)|0;f[W>>2]=0;fa=(g|0)!=0;if(fa)L=f[g>>2]|0;else L=0;v=f[(f[a>>2]|0)+48>>2]|0;i=Q;k=i+96|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(k|0));k=f[l>>2]|0;do if(!k){s=a+36|0;i=f[s>>2]|0;do if(!i){if((f[r+16>>2]|0)>1999){f[s>>2]=13;p=0;i=13;break}_A(P|0,0,252)|0;l=f[r+20>>2]|0;if((l|0)>0){i=0;do{m=f[r+24+(i*12|0)+4>>2]|0;if((m|0)>0){n=f[r+24+(i*12|0)+8>>2]|0;k=0;do{o=f[n+(k*12|0)>>2]|0;if((o|0)<2001){U=o+-1|0;V=P+(((U|0)/32|0)<<2)|0;f[V>>2]=f[V>>2]|1<<(U&31)}k=k+1|0}while((k|0)!=(m|0))}i=i+1|0}while((i|0)!=(l|0))}k=0;while(1){l=f[P+(k<<2)>>2]|0;if((l|0)==-1)k=k+1|0;else break}i=0;while(1)if(!(1<>2]|0;do if((k+-1|0)==(e|0)&(i|0)==0){i=(k*12|0)+52|0;if((Mc()|0)==0?(q=Nc(r,(i|0)>0?i:0,0)|0,q|0):0){o=q+24+(k*12|0)|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;o=q+20|0;f[o>>2]=(f[o>>2]|0)+1;f[c>>2]=q;o=q;i=f[s>>2]|0;break}f[s>>2]=7;t=ga;return}else o=r;while(0);n=e+1|0;if(i|0){t=ga;return}i=o+24+(n*12|0)+4|0;k=((f[i>>2]|0)*12|0)+12|0;l=o+24+(n*12|0)+8|0;m=f[l>>2]|0;if((Mc()|0)==0?(u=Nc(m,(k|0)>0?k:0,0)|0,u|0):0){V=u+((f[i>>2]|0)*12|0)|0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[l>>2]=u;if(!(f[s>>2]|0)){Tx(a,Q,p);V=f[l>>2]|0;K=f[i>>2]|0;I=V+(K*12|0)|0;f[i>>2]=K+1;f[V+(K*12|0)+4>>2]=1;f[I>>2]=p;K=o+16|0;f[K>>2]=(f[K>>2]|0)+1;K=o;V=o+24+(e*12|0)|0;i=o+24+(n*12|0)|0;U=f[o+24+(e*12|0)+4>>2]|0;break}else{t=ga;return}}f[s>>2]=7;t=ga;return}else{i=e+1|0;V=f[r+24+(i*12|0)+8>>2]|0;K=(f[r+24+(i*12|0)+4>>2]|0)+-1|0;I=V+(K*12|0)|0;Tx(a,Q,f[I>>2]|0);f[Q+4>>2]=(f[V+(K*12|0)+8>>2]|0)+1;f[Q+88>>2]=0;K=r;V=l;i=r+24+(i*12|0)|0;U=k}while(0);J=i+4|0;if((f[J>>2]|0)==1)H=(f[K+20>>2]|0)==(e+2|0);else H=0;Iv(a,K,32,0,0,0,e,U,W);T=Q+60|0;S=a+36|0;a:do if(!(f[S>>2]|0)){F=Q+16|0;G=Q+28|0;y=(v|0)==1;z=Q+57|0;A=Q+20|0;B=Q+56|0;D=Q+12|0;E=Q+48|0;i=0;l=0;k=0;m=0;u=f[W>>2]|0;while(1){if(b[u+16>>0]|0){C=l;break a}r=j[(f[u+72>>2]|0)+4>>1]|0;n=f[u+80+(r*88|0)+64>>2]|0;o=f[u+80+(r*88|0)+60>>2]|0;if((n|0)==(m|0)?(Hz(o,l,m)|0)==0:0){C=l;w=k;x=m}else ea=39;b:do if((ea|0)==39){ea=0;if(fa&(f[T>>2]|0)>(L|0)){C=l;break a}if(!n){i=0;C=l;w=k;x=0}else{do if(k>>>0>>0){i=(k|0)==0?64:k;while(1)if(i>>>0>>0)i=i<<1;else break;if((Mc()|0)==0?(M=Nc(l,(i|0)>0?i:0,0)|0,M|0):0){l=M;k=i;break}f[S>>2]=7;i=0;C=l;w=k;x=0;break b}while(0);YA(l|0,o|0,n|0)|0;i=0;C=l;w=k;x=n}}while(0);q=u+80+(r*88|0)+80|0;if(!(f[q>>2]|0)){if(!H?(b[u+80+(r*88|0)+84>>0]|0)!=0:0)ea=51}else ea=51;c:do if((ea|0)==51){ea=0;k=f[S>>2]|0;if(!(k|i)){Ux(a,Q,n,o);i=1;k=f[S>>2]|0}c=f[W>>2]|0;c=c+80+((j[(f[c+72>>2]|0)+4>>1]|0)*88|0)+72|0;p=f[c>>2]|0;c=f[c+4>>2]|0;if(!k){if(((f[G>>2]|0)+(f[F>>2]|0)|0)>=(f[(f[a>>2]|0)+68>>2]|0))Wx(a,Q);if(!(b[z>>0]|0))k=0;else{k=f[D>>2]|0;v=f[F>>2]|0;b[k>>0]=(v&65535)>>>8;b[k+1>>0]=v;Vx(a,Q,p,c);k=b[z>>0]|0}d:do if(!((k|b[B>>0])<<24>>24)){n=E;n=LA(p|0,c|0,f[n>>2]|0,f[n+4>>2]|0)|0;o=ba()|0;l=f[F>>2]|0;m=l+9|0;k=f[A>>2]|0;e:do if(m>>>0>k>>>0){l=(k|0)==0?64:k;while(1)if(l>>>0>>0)l=l<<1;else break;k=f[D>>2]|0;do if(!(Mc()|0)){k=Nc(k,(l|0)>0?l:0,0)|0;if(!k)break;f[A>>2]=l;f[D>>2]=k;l=f[F>>2]|0;break e}while(0);f[S>>2]=7;break d}else k=f[D>>2]|0;while(0);k=k+l|0;do if(!(o>>>0<0|(o|0)==0&n>>>0<128))if(o>>>0<0|(o|0)==0&n>>>0<16384){v=VA(n|0,o|0,7)|0;ba()|0;b[k>>0]=v&255|-128;b[k+1>>0]=n&127;k=2;break}else{k=Zv(k,n,o)|0;break}else{b[k>>0]=n&127;k=1}while(0);f[F>>2]=(f[F>>2]|0)+k}else{l=f[F>>2]|0;m=l+9|0;k=f[A>>2]|0;f:do if(m>>>0>k>>>0){l=(k|0)==0?64:k;while(1)if(l>>>0>>0)l=l<<1;else break;k=f[D>>2]|0;do if(!(Mc()|0)){k=Nc(k,(l|0)>0?l:0,0)|0;if(!k)break;f[A>>2]=l;f[D>>2]=k;l=f[F>>2]|0;break f}while(0);f[S>>2]=7;break d}else k=f[D>>2]|0;while(0);k=k+l|0;do if(!(c>>>0<0|(c|0)==0&p>>>0<128))if(c>>>0<0|(c|0)==0&p>>>0<16384){v=VA(p|0,c|0,7)|0;ba()|0;b[k>>0]=v&255|-128;b[k+1>>0]=p&127;k=2;break}else{k=Zv(k,p,c)|0;break}else{b[k>>0]=p&127;k=1}while(0);f[F>>2]=(f[F>>2]|0)+k}while(0);v=E;f[v>>2]=p;f[v+4>>2]=c;b[B>>0]=0;b[z>>0]=0}if(y){if(!(b[u+80+(r*88|0)+84>>0]|0))break;k=f[F>>2]|0;m=k+9|0;l=f[A>>2]|0;do if(m>>>0>l>>>0){l=(l|0)==0?64:l;while(1)if(l>>>0>>0)l=l<<1;else break;k=f[D>>2]|0;if((Mc()|0)==0?(N=Nc(k,(l|0)>0?l:0,0)|0,N|0):0){f[A>>2]=l;f[D>>2]=N;l=N;k=f[F>>2]|0;ea=98;break}f[S>>2]=7}else{l=f[D>>2]|0;ea=98}while(0);if((ea|0)==98){ea=0;b[l+k>>0]=0;f[F>>2]=(f[F>>2]|0)+1}if((f[q>>2]|0)<=0)break;l=f[F>>2]|0;m=l+9|0;k=f[A>>2]|0;g:do if(m>>>0>k>>>0){l=(k|0)==0?64:k;while(1)if(l>>>0>>0)l=l<<1;else break;k=f[D>>2]|0;do if(!(Mc()|0)){k=Nc(k,(l|0)>0?l:0,0)|0;if(!k)break;f[A>>2]=l;f[D>>2]=k;l=f[F>>2]|0;break g}while(0);f[S>>2]=7;break c}else k=f[D>>2]|0;while(0);b[k+l>>0]=0;f[F>>2]=(f[F>>2]|0)+1;break}n=(f[q>>2]<<1)+(h[u+80+(r*88|0)+84>>0]|0)|0;o=((n|0)<0)<<31>>31;k=f[F>>2]|0;m=k+9|0;l=f[A>>2]|0;do if(m>>>0>l>>>0){l=(l|0)==0?64:l;while(1)if(l>>>0>>0)l=l<<1;else break;k=f[D>>2]|0;if((Mc()|0)==0?(O=Nc(k,(l|0)>0?l:0,0)|0,O|0):0){f[A>>2]=l;f[D>>2]=O;l=O;k=f[F>>2]|0;ea=117;break}f[S>>2]=7;l=7}else{l=f[D>>2]|0;ea=117}while(0);if((ea|0)==117){ea=0;k=l+k|0;do if(n>>>0>=128)if(n>>>0<16384){v=VA(n|0,o|0,7)|0;ba()|0;b[k>>0]=v&255|-128;b[k+1>>0]=n&127;k=2;break}else{k=Zv(k,n,o)|0;break}else{b[k>>0]=n&127;k=1}while(0);f[F>>2]=(f[F>>2]|0)+k;l=f[S>>2]|0}q=f[q>>2]|0;s=f[u+80+(r*88|0)+12>>2]|0;c=f[u+80+(r*88|0)+20>>2]|0;k=(f[s>>2]|0)+c|0;c=(f[s+8>>2]|0)-c|0;c=(q|0)<(c|0)?q:c;s=f[u+80+(r*88|0)+8>>2]|0;v=(f[u+80+(r*88|0)+4>>2]&2|0)==0?s+1|0:0;h:do if(!l){p=c;while(1){l=f[F>>2]|0;m=f[G>>2]|0;n=f[(f[a>>2]|0)+68>>2]|0;if((l+p+m|0)<(n|0)){l=p;break h}m=n-(m+l)|0;i:do if((m|0)>0){l=0;do l=l+((yv(k+l|0,P)|0)&255)|0;while((l|0)<(m|0));if(!l){l=0;break}n=f[F>>2]|0;o=n+l|0;m=f[A>>2]|0;j:do if(o>>>0>m>>>0){n=(m|0)==0?64:m;while(1)if(n>>>0>>0)n=n<<1;else break;m=f[D>>2]|0;do if(!(Mc()|0)){m=Nc(m,(n|0)>0?n:0,0)|0;if(!m)break;f[A>>2]=n;f[D>>2]=m;n=f[F>>2]|0;break j}while(0);f[S>>2]=7;break i}else m=f[D>>2]|0;while(0);YA(m+n|0,k|0,l|0)|0;f[F>>2]=(f[F>>2]|0)+l}else l=0;while(0);k=k+l|0;l=p-l|0;Wx(a,Q);if(!(f[S>>2]|0))p=l;else break}}else l=c;while(0);k:do if((l|0)>0){n=f[F>>2]|0;o=n+l|0;m=f[A>>2]|0;l:do if(o>>>0>m>>>0){n=(m|0)==0?64:m;while(1)if(n>>>0>>0)n=n<<1;else break;m=f[D>>2]|0;do if(!(Mc()|0)){m=Nc(m,(n|0)>0?n:0,0)|0;if(!m)break;f[A>>2]=n;f[D>>2]=m;n=f[F>>2]|0;break l}while(0);f[S>>2]=7;break k}else m=f[D>>2]|0;while(0);YA(m+n|0,k|0,l|0)|0;f[F>>2]=(f[F>>2]|0)+l}while(0);k=q-c|0;if((k|0)>=1){e=u+80+(r*88|0)|0;u=u+80+(r*88|0)+16|0;while(1){s=s+1|0;m=WA(f[f[e>>2]>>2]|0,0,37)|0;m=KA(m|0,ba()|0,s|0,((s|0)<0)<<31>>31|0)|0;m=xv(a,m,ba()|0)|0;if(!m)break c;l=f[m+8>>2]|0;if((l|0)>(f[m+4>>2]|0))break;n=(f[m>>2]|0)+4|0;r=l+-4|0;r=(k|0)<(r|0)?k:r;if((s|0)==(v|0)){f[u>>2]=m;m=0}m:do if(!(f[S>>2]|0)){q=r;while(1){l=f[F>>2]|0;o=f[G>>2]|0;p=f[(f[a>>2]|0)+68>>2]|0;if((l+q+o|0)<(p|0)){l=q;break m}o=p-(o+l)|0;n:do if((o|0)>0){l=0;do l=l+((yv(n+l|0,P)|0)&255)|0;while((l|0)<(o|0));if(!l){l=0;break}p=f[F>>2]|0;c=p+l|0;o=f[A>>2]|0;o:do if(c>>>0>o>>>0){p=(o|0)==0?64:o;while(1)if(p>>>0>>0)p=p<<1;else break;o=f[D>>2]|0;do if(!(Mc()|0)){o=Nc(o,(p|0)>0?p:0,0)|0;if(!o)break;f[A>>2]=p;f[D>>2]=o;p=f[F>>2]|0;break o}while(0);f[S>>2]=7;break n}else o=f[D>>2]|0;while(0);YA(o+p|0,n|0,l|0)|0;f[F>>2]=(f[F>>2]|0)+l}else l=0;while(0);n=n+l|0;l=q-l|0;Wx(a,Q);if(!(f[S>>2]|0))q=l;else break}}else l=r;while(0);p:do if((l|0)>0){p=f[F>>2]|0;c=p+l|0;o=f[A>>2]|0;q:do if(c>>>0>o>>>0){p=(o|0)==0?64:o;while(1)if(p>>>0>>0)p=p<<1;else break;o=f[D>>2]|0;do if(!(Mc()|0)){o=Nc(o,(p|0)>0?p:0,0)|0;if(!o)break;f[A>>2]=p;f[D>>2]=o;p=f[F>>2]|0;break q}while(0);f[S>>2]=7;break p}else o=f[D>>2]|0;while(0);YA(o+p|0,n|0,l|0)|0;f[F>>2]=(f[F>>2]|0)+l}while(0);k=k-r|0;do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{r=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);if((k|0)<1)break c}f[S>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{v=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}}while(0);u=f[W>>2]|0;vv(a,u,0,0,0);if(f[S>>2]|0)break;else{l=C;k=w;m=x}}}else C=0;while(0);q=I+8|0;Xx(a,Q,q);i=f[W>>2]|0;if((f[S>>2]|0)==0?(b[i+16>>0]|0)==0:0){B=i+52|0;do if((f[B>>2]|0)>0){A=0;l=0;k=0;do{z=i+80+(A*88|0)|0;m=f[z>>2]|0;do if(m){if(!(f[i+80+(A*88|0)+12>>2]|0)){f[m+8>>2]=0;f[m+4>>2]=0;break}r=f[i+80+(A*88|0)+32>>2]|0;u=WA(f[m>>2]|0,0,37)|0;e=ba()|0;v=i+80+(A*88|0)+28|0;w=f[v>>2]|0;w=KA(u|0,e|0,w|0,((w|0)<0)<<31>>31|0)|0;x=ba()|0;y=xv(a,w,x)|0;if(y){s=y+4|0;m=f[s>>2]|0;do if(m>>>0>k>>>0){n=(k|0)==0?64:k;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?(X=Nc(l,(n|0)>0?n:0,0)|0,X|0):0){l=X;k=n;break}f[S>>2]=7}while(0);do if(k>>>0<4){m=(k|0)==0?64:k;while(1)if(m>>>0<4)m=m<<1;else break;if((Mc()|0)==0?(Y=Nc(l,(m|0)>0?m:0,0)|0,Y|0):0){l=Y;k=m;ea=240;break}f[S>>2]=7;c=0}else ea=240;while(0);if((ea|0)==240){ea=0;b[l>>0]=0;b[l+1>>0]=0;b[l+2>>0]=0;b[l+3>>0]=0;c=4}q=i+80+(A*88|0)+64|0;o=f[q>>2]|0;p=((o|0)<0)<<31>>31;m=c|9;do if(m>>>0>k>>>0){n=(k|0)==0?64:k;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?(Z=Nc(l,(n|0)>0?n:0,0)|0,Z|0):0){l=Z;k=n;ea=247;break}f[S>>2]=7;m=c}else ea=247;while(0);if((ea|0)==247){ea=0;m=l+c|0;do if(o>>>0>=128)if(o>>>0<16384){R=VA(o|0,p|0,7)|0;ba()|0;b[m>>0]=R&255|-128;b[m+1>>0]=o&127;m=2;break}else{m=Zv(m,o,p)|0;break}else{b[m>>0]=o&127;m=1}while(0);m=m+c|0}o=f[q>>2]|0;p=f[i+80+(A*88|0)+60>>2]|0;r:do if(o){c=o+m|0;do if(c>>>0>k>>>0){n=(k|0)==0?64:k;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?(_=Nc(l,(n|0)>0?n:0,0)|0,_|0):0){l=_;k=n;break}f[S>>2]=7;break r}while(0);YA(l+m|0,p|0,o|0)|0;m=c}while(0);q=y+8|0;p=(f[q>>2]|0)-r|0;o=(f[y>>2]|0)+r|0;s:do if(!p)ea=269;else{c=p+m|0;do if(c>>>0>k>>>0){n=(k|0)==0?64:k;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?($=Nc(l,(n|0)>0?n:0,0)|0,$|0):0){l=$;k=n;break}f[S>>2]=7;o=m;break s}while(0);YA(l+m|0,o|0,p|0)|0;m=c;ea=269}while(0);do if((ea|0)==269){ea=0;if(f[S>>2]|0){o=m;break}b[l+2>>0]=(m&65535)>>>8;b[l+3>>0]=m;o=m}while(0);m=o+9|0;do if(m>>>0>k>>>0){n=(k|0)==0?64:k;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?(aa=Nc(l,(n|0)>0?n:0,0)|0,aa|0):0){l=aa;k=n;ea=277;break}f[S>>2]=7;c=o}else ea=277;while(0);if((ea|0)==277){ea=0;b[l+o>>0]=4;c=o+1|0}t:do if((f[i+80+(A*88|0)+8>>2]|0)==(f[v>>2]|0)){n=f[i+80+(A*88|0)+40>>2]|0;m=f[q>>2]|0;if((n|0)>=(m|0)){m=c;break}o=c+-5+n-m|0;p=((o|0)<0)<<31>>31;m=c+9|0;do if(m>>>0>k>>>0){n=(k|0)==0?64:k;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?(ca=Nc(l,(n|0)>0?n:0,0)|0,ca|0):0){l=ca;k=n;ea=286;break}f[S>>2]=7;m=c}else ea=286;while(0);if((ea|0)==286){ea=0;m=l+c|0;do if(o>>>0>=128)if(o>>>0<16384){R=VA(o|0,p|0,7)|0;ba()|0;b[m>>0]=R&255|-128;b[m+1>>0]=o&127;m=2;break}else{m=Zv(m,o,p)|0;break}else{b[m>>0]=o&127;m=1}while(0);m=m+c|0}p=f[i+80+(A*88|0)+36>>2]|0;o=(f[s>>2]|0)-p|0;p=(f[y>>2]|0)+p|0;if(!o)break;c=o+m|0;do if(c>>>0>k>>>0){n=(k|0)==0?64:k;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?(da=Nc(l,(n|0)>0?n:0,0)|0,da|0):0){l=da;k=n;break}f[S>>2]=7;break t}while(0);YA(l+m|0,p|0,o|0)|0;m=c}else m=c;while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](y);else{R=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y)}f[(f[z>>2]|0)+4>>2]=f[v>>2];by(a,u|1,e,w,x);ay(a,w,x,l,m)}}while(0);A=A+1|0}while((A|0)<(f[B>>2]|0));if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{a=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[V>>2]=U;i=f[W>>2]|0}else{if((U|0)>0){p=V+8|0;c=a+56|0;o=0;do{n=f[(f[p>>2]|0)+(o*12|0)>>2]|0;aa=WA(n|0,0,37)|0;ca=ba()|0;da=WA(n+1|0,0,37)|0;da=KA(da|0,ba()|0,-1,-1)|0;by(a,aa,ca,da,ba()|0);u:do if(!(f[c>>2]|0)){l=f[a>>2]|0;k=f[l+8>>2]|0;f[R>>2]=f[l+4>>2];f[R+4>>2]=k;k=wd(70093,R)|0;l=(k|0)==0;do if(!(f[S>>2]|0))if(l){f[S>>2]=7;break u}else{ea=Ki(f[f[a>>2]>>2]|0,k,-1,129,0,c,0)|0;f[S>>2]=ea;break}else if(l)break u;while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);ea=205;break}else{ea=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);ea=205;break}}else ea=205;while(0);if((ea|0)==205?(ea=0,(f[S>>2]|0)==0):0){k=f[c>>2]|0;m=((n|0)<0)<<31>>31;do if(!(Op(k,1)|0)){k=f[k+116>>2]|0;l=k+8|0;if(!(d[l>>1]&9216)){da=k;f[da>>2]=n;f[da+4>>2]=m;d[l>>1]=4;break}else{bf(k,n,m);break}}while(0);Ei(f[c>>2]|0)|0;k=f[c>>2]|0;do if(k){l=f[k>>2]|0;da=k+128|0;ca=f[da+4>>2]|0;if((ca|0)>0|(ca|0)==0&(f[da>>2]|0)>>>0>0)Hi(l,k);m=fg(k)|0;f[k+20>>2]=770837923;f[k+36>>2]=-1;f[k+40>>2]=0;b[k+142>>0]=2;f[k+44>>2]=0;f[k+32>>2]=1;b[k+143>>0]=-1;f[k+48>>2]=0;da=k+64|0;f[da>>2]=0;f[da+4>>2]=0;if((m|0)==3082|(b[l+81>>0]|0)!=0){Di(l);k=7;break}else{k=f[l+68>>2]&m;break}}else k=0;while(0);f[S>>2]=k}o=o+1|0}while((o|0)!=(U|0))}n=V+4|0;k=f[n>>2]|0;if((k|0)==(U|0))m=U;else{m=f[V+8>>2]|0;ZA(m|0,m+(U*12|0)|0,(k-U|0)*12|0)|0;m=f[n>>2]|0}k=K+16|0;l=(f[k>>2]|0)-U|0;f[k>>2]=l;f[n>>2]=m-U;f[V>>2]=0;if(!(f[q>>2]|0)){f[J>>2]=(f[J>>2]|0)+-1;f[k>>2]=l+-1}}Tv(i);do if(C|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](C);break}else{a=ib[f[37368>>2]&255](C)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](C);break}while(0);if(!fa){t=ga;return}f[g>>2]=(f[g>>2]|0)-(f[T>>2]|0);t=ga;return}function $x(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=a+36|0;if(f[u>>2]|0)return;d=f[(f[a>>2]|0)+64>>2]|0;if((Mc()|0)==0?(e=Nc(0,64,0)|0,(e|0)!=0):0){d=(d|0)>0?d:0;b[e>>0]=d>>>24;b[e+1>>0]=d>>>16;b[e+2>>0]=d>>>8;b[e+3>>0]=d;d=e+4|0;j=c+20|0;g=f[j>>2]|0;h=((g|0)<0)<<31>>31;do if(g>>>0>=128)if(g>>>0<16384){i=VA(g|0,h|0,7)|0;ba()|0;b[d>>0]=i&255|-128;b[e+5>>0]=g&127;i=6;break}else{i=(Zv(d,g,h)|0)+4|0;break}else{b[d>>0]=g&127;i=5}while(0);d=e+i|0;g=f[c+16>>2]|0;h=((g|0)<0)<<31>>31;do if(g>>>0>=128)if(g>>>0<16384){p=VA(g|0,h|0,7)|0;ba()|0;b[d>>0]=p&255|-128;b[d+1>>0]=g&127;d=2;break}else{d=Zv(d,g,h)|0;break}else{b[d>>0]=g&127;d=1}while(0);i=d+i|0;d=e+i|0;h=c+8|0;g=f[h>>2]|0;h=f[h+4>>2]|0;do if(!(h>>>0<0|(h|0)==0&g>>>0<128))if(h>>>0<0|(h|0)==0&g>>>0<16384){p=VA(g|0,h|0,7)|0;ba()|0;b[d>>0]=p&255|-128;b[d+1>>0]=g&127;d=2;break}else{d=Zv(d,g,h)|0;break}else{b[d>>0]=g&127;d=1}while(0);p=j;d=d+i|0;g=64}else{f[u>>2]=7;p=c+20|0;e=0;d=0;g=0}if((f[p>>2]|0)>0){o=0;do{j=f[c+24+(o*12|0)>>2]|0;k=((j|0)<0)<<31>>31;h=d+9|0;do if(h>>>0>g>>>0){i=(g|0)==0?64:g;while(1)if(i>>>0>>0)i=i<<1;else break;if((Mc()|0)==0?(q=Nc(e,(i|0)>0?i:0,0)|0,q|0):0){e=q;w=29;break}f[u>>2]=7}else{i=g;w=29}while(0);if((w|0)==29){w=0;g=e+d|0;do if(j>>>0>=128)if(j>>>0<16384){n=VA(j|0,k|0,7)|0;ba()|0;b[g>>0]=n&255|-128;b[g+1>>0]=j&127;g=2;break}else{g=Zv(g,j,k)|0;break}else{b[g>>0]=j&127;g=1}while(0);d=g+d|0;h=d+9|0;g=i}n=c+24+(o*12|0)+4|0;j=f[n>>2]|0;k=((j|0)<0)<<31>>31;do if(h>>>0>g>>>0){i=(g|0)==0?64:g;while(1)if(i>>>0>>0)i=i<<1;else break;if((Mc()|0)==0?(r=Nc(e,(i|0)>0?i:0,0)|0,r|0):0){e=r;g=i;w=41;break}f[u>>2]=7}else w=41;while(0);if((w|0)==41){w=0;h=e+d|0;do if(j>>>0>=128)if(j>>>0<16384){m=VA(j|0,k|0,7)|0;ba()|0;b[h>>0]=m&255|-128;b[h+1>>0]=j&127;h=2;break}else{h=Zv(h,j,k)|0;break}else{b[h>>0]=j&127;h=1}while(0);d=h+d|0}if((f[n>>2]|0)>0){m=c+24+(o*12|0)+8|0;l=0;do{j=f[(f[m>>2]|0)+(l*12|0)>>2]|0;k=((j|0)<0)<<31>>31;h=d+9|0;do if(h>>>0>g>>>0){i=(g|0)==0?64:g;while(1)if(i>>>0>>0)i=i<<1;else break;if((Mc()|0)==0?(s=Nc(e,(i|0)>0?i:0,0)|0,s|0):0){e=s;g=i;w=55;break}f[u>>2]=7}else w=55;while(0);if((w|0)==55){w=0;h=e+d|0;do if(j>>>0>=128)if(j>>>0<16384){k=VA(j|0,k|0,7)|0;ba()|0;b[h>>0]=k&255|-128;b[h+1>>0]=j&127;h=2;break}else{h=Zv(h,j,k)|0;break}else{b[h>>0]=j&127;h=1}while(0);d=h+d|0;h=d+9|0}j=f[(f[m>>2]|0)+(l*12|0)+4>>2]|0;k=((j|0)<0)<<31>>31;do if(h>>>0>g>>>0){i=(g|0)==0?64:g;while(1)if(i>>>0>>0)i=i<<1;else break;if((Mc()|0)==0?(t=Nc(e,(i|0)>0?i:0,0)|0,t|0):0){e=t;g=i;w=67;break}f[u>>2]=7}else w=67;while(0);if((w|0)==67){w=0;h=e+d|0;do if(j>>>0>=128)if(j>>>0<16384){k=VA(j|0,k|0,7)|0;ba()|0;b[h>>0]=k&255|-128;b[h+1>>0]=j&127;h=2;break}else{h=Zv(h,j,k)|0;break}else{b[h>>0]=j&127;h=1}while(0);d=h+d|0;h=d+9|0}j=f[(f[m>>2]|0)+(l*12|0)+8>>2]|0;k=((j|0)<0)<<31>>31;do if(h>>>0>g>>>0){i=(g|0)==0?64:g;while(1)if(i>>>0>>0)i=i<<1;else break;if((Mc()|0)==0?(v=Nc(e,(i|0)>0?i:0,0)|0,v|0):0){e=v;g=i;w=79;break}f[u>>2]=7}else w=79;while(0);if((w|0)==79){w=0;h=e+d|0;do if(j>>>0>=128)if(j>>>0<16384){k=VA(j|0,k|0,7)|0;ba()|0;b[h>>0]=k&255|-128;b[h+1>>0]=j&127;h=2;break}else{h=Zv(h,j,k)|0;break}else{b[h>>0]=j&127;h=1}while(0);d=h+d|0}l=l+1|0}while((l|0)<(f[n>>2]|0))}o=o+1|0}while((o|0)<(f[p>>2]|0))}ay(a,10,0,e,d);if(!e)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](e);return}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);return}}function ay(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+16|0;j=p;o=a+36|0;if(f[o>>2]|0){t=p;return}n=a+44|0;i=f[n>>2]|0;do if(!i){k=f[a>>2]|0;i=f[k+8>>2]|0;f[j>>2]=f[k+4>>2];f[j+4>>2]=i;i=wd(70042,j)|0;j=(i|0)==0;do if(f[o>>2]|0){if(j){t=p;return}}else{if(!j){k=Ki(f[f[a>>2]>>2]|0,i,-1,129,0,n,0)|0;f[o>>2]=k;break}f[o>>2]=7;t=p;return}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{k=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}if(!(f[o>>2]|0)){k=n;i=f[n>>2]|0;break}else{t=p;return}}else k=n;while(0);do if(!(Op(i,1)|0)){i=f[i+116>>2]|0;j=i+8|0;if(!(d[j>>1]&9216)){a=i;f[a>>2]=c;f[a+4>>2]=e;d[j>>1]=4;break}else{bf(i,c,e);break}}while(0);i=f[n>>2]|0;if((!((g|0)==0|(Op(i,2)|0)!=0)?(l=$e((f[i+116>>2]|0)+40|0,g,h,0,0)|0,l|0):0)?(m=f[i>>2]|0,f[m+64>>2]=l,Bg(m,l),m=f[i>>2]|0,(l|0)==3082|(b[m+81>>0]|0)!=0):0)Di(m);Ei(f[n>>2]|0)|0;i=f[n>>2]|0;do if(i){j=f[i>>2]|0;n=i+128|0;m=f[n+4>>2]|0;if((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)Hi(j,i);a=fg(i)|0;f[i+20>>2]=770837923;f[i+36>>2]=-1;f[i+40>>2]=0;b[i+142>>0]=2;f[i+44>>2]=0;f[i+32>>2]=1;b[i+143>>0]=-1;f[i+48>>2]=0;n=i+64|0;f[n>>2]=0;f[n+4>>2]=0;if((a|0)==3082|(b[j+81>>0]|0)!=0){Di(j);i=7;break}else{i=f[j+68>>2]&a;break}}else i=0;while(0);f[o>>2]=i;Op(f[k>>2]|0,2)|0;t=p;return}function by(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;j=n;m=a+36|0;if(f[m>>2]|0){t=n;return}l=a+48|0;i=f[l>>2]|0;if(!i){i=f[a>>2]|0;a=f[i+8>>2]|0;f[j>>2]=f[i+4>>2];f[j+4>>2]=a;a=wd(70133,j)|0;if(a){i=Ki(f[i>>2]|0,a,-1,129,0,l,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](a);else{j=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a)}if(!i){j=l;i=f[l>>2]|0;k=10}}else i=7}else{j=l;k=10}do if((k|0)==10){do if(!(Op(i,1)|0)){i=f[i+116>>2]|0;a=i+8|0;if(!(d[a>>1]&9216)){k=i;f[k>>2]=c;f[k+4>>2]=e;d[a>>1]=4;break}else{bf(i,c,e);break}}while(0);i=f[j>>2]|0;do if(!(Op(i,2)|0)){a=f[i+116>>2]|0;i=a+40|0;a=a+48|0;if(!(d[a>>1]&9216)){e=i;f[e>>2]=g;f[e+4>>2]=h;d[a>>1]=4;break}else{bf(i,g,h);break}}while(0);Ei(f[l>>2]|0)|0;i=f[l>>2]|0;if(i){a=f[i>>2]|0;l=i+128|0;h=f[l+4>>2]|0;if((h|0)>0|(h|0)==0&(f[l>>2]|0)>>>0>0)Hi(a,i);j=fg(i)|0;f[i+20>>2]=770837923;f[i+36>>2]=-1;f[i+40>>2]=0;b[i+142>>0]=2;f[i+44>>2]=0;f[i+32>>2]=1;b[i+143>>0]=-1;f[i+48>>2]=0;l=i+64|0;f[l>>2]=0;f[l+4>>2]=0;if((j|0)==3082|(b[a+81>>0]|0)!=0){Di(a);i=7;break}else{i=f[a+68>>2]&j;break}}else i=0}while(0);f[m>>2]=i;t=n;return}function cy(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;o=c+88|0;if(!(f[o>>2]|0))return;k=c+72|0;i=f[k>>2]|0;e=f[i+20>>2]|0;if((e|0)>0)n=(f[c+64>>2]|0)>3&1;else n=0;j=c+68|0;h=f[j>>2]|0;a:do if((h|0)>0){g=(e|0)==0;if(!n){if(g)break;e=0;do{f[i+(e<<5)+20>>2]=0;f[i+(e<<5)+4>>2]=0;e=e+1|0;if((e|0)>=(h|0))break a}while((f[i+(e<<5)+20>>2]|0)!=0)}else{if(g)break;h=0;g=i;do{i=WA(f[c>>2]|0,0,37)|0;p=ba()|0|16;s=WA(h|0,0,31)|0;r=ba()|0;q=f[g+(h<<5)>>2]|0;q=KA(s|0,r|0,q|0,((q|0)<0)<<31>>31|0)|0;p=KA(q|0,ba()|0,i|0,p|0)|0;i=ba()|0;ay(a,p,i,f[g+(h<<5)+16>>2]|0,e);f[g+(h<<5)+20>>2]=0;f[g+(h<<5)+4>>2]=0;h=h+1|0;if((h|0)>=(f[j>>2]|0))break a;g=f[k>>2]|0;e=f[g+(h<<5)+20>>2]|0}while((e|0)!=0)}}while(0);f[c+64>>2]=0;k=a+36|0;if(!(f[k>>2]|0)){h=f[c+80>>2]|0;if((h|0)>0)g=f[c+76>>2]|0;else g=72788;j=a+52|0;e=f[j>>2]|0;if((!((g|0)==0|(Op(e,2)|0)!=0)?(l=$e((f[e+116>>2]|0)+40|0,g,h,0,0)|0,l|0):0)?(m=f[e>>2]|0,f[m+64>>2]=l,Bg(m,l),m=f[e>>2]|0,(l|0)==3082|(b[m+81>>0]|0)!=0):0)Di(m);e=f[j>>2]|0;h=f[o>>2]|0;h=WA(h|0,((h|0)<0)<<31>>31|0,1)|0;i=ba()|0;h=h|n;do if(!(Op(e,3)|0)){g=f[e+116>>2]|0;e=g+80|0;g=g+88|0;if(!(d[g>>1]&9216)){s=e;f[s>>2]=h;f[s+4>>2]=i;d[g>>1]=4;break}else{bf(e,h,i);break}}while(0);Ei(f[j>>2]|0)|0;g=f[j>>2]|0;do if(g){h=f[g>>2]|0;s=g+128|0;r=f[s+4>>2]|0;if((r|0)>0|(r|0)==0&(f[s>>2]|0)>>>0>0)Hi(h,g);e=fg(g)|0;f[g+20>>2]=770837923;f[g+36>>2]=-1;f[g+40>>2]=0;b[g+142>>0]=2;f[g+44>>2]=0;f[g+32>>2]=1;b[g+143>>0]=-1;f[g+48>>2]=0;s=g+64|0;f[s>>2]=0;f[s+4>>2]=0;if((e|0)==3082|(b[h+81>>0]|0)!=0){Di(h);e=7;break}else{e=f[h+68>>2]&e;break}}else e=0;while(0);f[k>>2]=e;Op(f[j>>2]|0,2)|0}f[o>>2]=0;return}function dy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=t;t=t+16|0;g=e;f[g>>2]=d;d=lp(c,g)|0;if(!d){g=7;t=e;return g|0}c=uj(a,d,0,0,b)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](d);g=c;t=e;return g|0}else{g=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);g=c;t=e;return g|0}return 0}function ey(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0;l=t;t=t+16|0;k=l;i=f[(f[a+4>>2]|0)+8>>2]|0;g=f[d>>2]|0;e=j[g+8>>1]|0;do if(!(e&4)){if(e&8|0){g=Fc(+p[g>>3])|0;h=ba()|0;break}if(!(e&18)){g=0;h=0}else{g=Gc(b[g+10>>0]|0,f[g+12>>2]|0,f[g+16>>2]|0)|0;h=ba()|0}}else{h=g;g=f[h>>2]|0;h=f[h+4>>2]|0}while(0);e=f[(f[i>>2]|0)+44>>2]|0;a:do if(e|0){while(1){m=e+16|0;if((f[m>>2]|0)==(g|0)?(f[m+4>>2]|0)==(h|0):0)break;e=f[e+4>>2]|0;if(!e)break a}m=e+96|0;f[m>>2]=i;sb[f[i+12>>2]&127](39304,e,a,c+-1|0,d+4|0);f[m>>2]=0;t=l;return}while(0);e=k;f[e>>2]=g;f[e+4>>2]=h;e=wd(70281,k)|0;f[a+20>>2]=1;$e(f[a>>2]|0,e,-1,1,-1)|0;if(!e){t=l;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);t=l;return}else{m=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);t=l;return}}function fy(a){a=a|0;return f[(f[a+96>>2]|0)+8>>2]|0}function gy(a){a=a|0;return f[(f[(f[a>>2]|0)+12>>2]|0)+12>>2]|0}function hy(a,b){a=a|0;b=b|0;var c=0,d=0;a=f[(f[a>>2]|0)+20>>2]|0;c=Ky(a,0)|0;if(c|0)return c|0;d=a+16|0;a=f[d+4>>2]|0;f[b>>2]=f[d>>2];f[b+4>>2]=a;return c|0}function iy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[(f[a>>2]|0)+20>>2]|0;a=Ky(d,0)|0;if(a|0){c=a;return c|0}g=c;f[g>>2]=0;f[g+4>>2]=0;g=f[(f[d>>2]|0)+12>>2]|0;if((b|0)>=0){if((g|0)<=(b|0)){c=25;return c|0}e=(f[d+24>>2]|0)+(b<<3)|0;g=f[e+4>>2]|0;f[c>>2]=f[e>>2];f[c+4>>2]=g;c=0;return c|0}if((g|0)<=0){c=0;return c|0}d=f[d+24>>2]|0;a=0;b=0;e=0;do{h=d+(a<<3)|0;b=KA(f[h>>2]|0,f[h+4>>2]|0,b|0,e|0)|0;e=ba()|0;h=c;f[h>>2]=b;f[h+4>>2]=e;a=a+1|0}while((a|0)!=(g|0));a=0;return a|0}function jy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=f[(f[a>>2]|0)+12>>2]|0;if(!b){e=0;return e|0}e=nb[f[(f[a+60>>2]|0)+8>>2]&127](f[a+56>>2]|0,d,8,b,c,e)|0;return e|0}function ky(a){a=a|0;a=f[a+52>>2]|0;if(!a){a=0;return a|0}a=f[a+16>>2]|0;return a|0}function ly(a,b){a=a|0;b=b|0;a=f[a+52>>2]|0;if((b|0)<0){b=0;return b|0}if((f[a+16>>2]|0)<=(b|0)){b=0;return b|0}b=f[(f[(f[a+20>>2]|0)+(b<<2)>>2]|0)+16>>2]|0;return b|0}function my(a,b){a=a|0;b=b|0;var c=0;if(f[a+60>>2]&8|0?(c=Jy(a)|0,c|0):0)return c|0;f[b>>2]=f[a+112>>2];c=0;return c|0}function ny(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0;if(f[a+60>>2]&8|0?(g=Jy(a)|0,g|0):0)return g|0;if((b|0)<0){g=25;return g|0}if((f[a+112>>2]|0)<=(b|0)){g=25;return g|0}a=f[a+116>>2]|0;g=b*3|0;f[c>>2]=f[a+(g<<2)>>2];f[d>>2]=f[a+(g+1<<2)>>2];f[e>>2]=f[a+(g+2<<2)>>2];g=0;return g|0}function oy(a){a=a|0;var b=0;b=f[a+56>>2]|0;if(!b)a=(f[(f[a+52>>2]|0)+8>>2]|0)+16|0;else a=b+8|0;b=f[a>>2]|0;aa(f[a+4>>2]|0);return b|0}function py(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0;if((f[(f[(f[a>>2]|0)+12>>2]|0)+32>>2]|0)==1){f[e>>2]=0;a=0}else{h=Iy(a,0)|0;if(h|0){g=h;return g|0}m=a+48|0;k=f[m>>2]|0;l=c+1|0;c=(k|0)==0;do if(c)a=37592;else{a=f[k+104>>2]|0;if(a|0?l>>>0<(j[k+140>>1]|0)>>>0:0){a=a+(l*40|0)|0;break}a=f[k>>2]|0;f[a+64>>2]=25;Bg(a,25);a=37592}while(0);h=d[a+8>>1]|0;if((h&514)==514?(b[a+10>>0]|0)==1:0)i=f[a+16>>2]|0;else if(!(h&1))i=Ic(a,1)|0;else i=0;if(!c){h=f[k>>2]|0;c=k+40|0;a=f[c>>2]|0;if((a|0)==3082|(b[h+81>>0]|0)!=0){Di(h);a=7}else a=f[h+68>>2]&a;f[c>>2]=a}f[e>>2]=i;a=Gp(f[m>>2]|0,l)|0}f[g>>2]=a;g=0;return g|0}function qy(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=t;t=t+16|0;m=r+4|0;n=r;g=f[a>>2]|0;q=f[g+12>>2]|0;p=a+60|0;if(!(f[p>>2]&4))e=0;else{a:do if(!(f[q+44>>2]|0)){o=q+12|0;if(!(f[q+36>>2]|0)){e=f[o>>2]|0;if((e|0)<=0){e=0;break}i=a+8|0;h=f[q+20>>2]|0;g=0;while(1){if(!(b[h+g>>0]|0)){f[(f[i>>2]|0)+(g<<2)>>2]=-1;e=f[o>>2]|0}g=g+1|0;if((g|0)>=(e|0)){e=0;break a}}}i=q+20|0;j=a+8|0;k=q+60|0;l=q+56|0;h=0;while(1){if((h|0)>=(f[o>>2]|0)){e=0;break a}if(!(b[(f[i>>2]|0)+h>>0]|0)){g=(f[j>>2]|0)+(h<<2)|0;f[g>>2]=0;e=py(a,h,m,n)|0;if(!e){e=f[m>>2]|0;if(!e)e=0;else e=nb[f[(f[k>>2]|0)+8>>2]&127](f[l>>2]|0,g,8,e,f[n>>2]|0,93)|0}}else e=0;if(!e)h=h+1|0;else break}}else{e=f[a+56>>2]|0;if(!e)e=(f[(f[a+52>>2]|0)+8>>2]|0)+16|0;else e=e+8|0;e=Fy(f[g+20>>2]|0,f[e>>2]|0,f[e+4>>2]|0,f[a+8>>2]|0)|0}while(0);f[p>>2]=f[p>>2]&-5}if((c|0)>=0)if((f[q+12>>2]|0)>(c|0)){f[d>>2]=f[(f[a+8>>2]|0)+(c<<2)>>2];d=e;t=r;return d|0}else{f[d>>2]=0;d=25;t=r;return d|0}else{f[d>>2]=0;j=q+12|0;if((f[j>>2]|0)<=0){d=e;t=r;return d|0}h=f[a+8>>2]|0;g=0;i=0;do{i=i+(f[h+(g<<2)>>2]|0)|0;f[d>>2]=i;g=g+1|0}while((g|0)<(f[j>>2]|0));t=r;return e|0}return 0}function ry(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+16|0;o=u;r=f[a>>2]|0;h=f[r+12>>2]|0;g=Cy(r)|0;a:do if(!g){g=(f[h+12>>2]<<2)+120|0;h=Fd(g)|0;if(h){p=f[r+24>>2]|0;_A(h|0,0,g|0)|0;f[h+8>>2]=h+120;q=p+44|0;f[h+4>>2]=f[q>>2];f[q>>2]=h;p=p+24|0;q=p;q=KA(f[q>>2]|0,f[q+4>>2]|0,1,0)|0;l=ba()|0;f[p>>2]=q;f[p+4>>2]=l;p=h+16|0;f[p>>2]=q;f[p+4>>2]=l;f[h+24>>2]=1;p=h+32|0;l=p;f[l>>2]=0;f[l+4>>2]=-2147483648;l=h+40|0;f[l>>2]=-1;f[l+4>>2]=2147483647;f[h>>2]=r;l=f[a+52>>2]|0;q=h+52|0;n=o;f[n>>2]=0;f[n+4>>2]=0;n=f[(f[l+20>>2]|0)+(c<<2)>>2]|0;b:do if(!(Mc()|0)){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](24)|0;if(!g){k=0;g=7;m=0;break}else j=g}else{g=ib[f[37372>>2]&255](24)|0;if((f[18194]|0)>>>0<24)f[18194]=24;c=71896;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){m=f[18187]|0;k=LA(a|0,c|0,g|0,((g|0)<0)<<31>>31|0)|0;j=ba()|0;f[17976]=((j|0)<0|(j|0)==0&k>>>0<=m>>>0)&1}a=ib[f[37356>>2]&255](g)|0;if(!a){k=0;g=7;m=0;break}g=ib[f[37368>>2]&255](a)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;j=a}else j=a}a=j;c=a+24|0;do{b[a>>0]=0;a=a+1|0}while((a|0)<(c|0));do if(!(Mc()|0)){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](4)|0;if(!g)break}else{g=ib[f[37372>>2]&255](4)|0;if((f[18194]|0)>>>0<4)f[18194]=4;c=71896;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){m=f[18187]|0;k=LA(a|0,c|0,g|0,((g|0)<0)<<31>>31|0)|0;i=ba()|0;f[17976]=((i|0)<0|(i|0)==0&k>>>0<=m>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g)break;a=ib[f[37368>>2]&255](g)|0;a=(f[18187]|0)+a|0;f[18187]=a;if(a>>>0>(f[18191]|0)>>>0)f[18191]=a;a=(f[18190]|0)+1|0;f[18190]=a;if(a>>>0>(f[18196]|0)>>>0)f[18196]=a}b[g>>0]=0;b[g+1>>0]=0;b[g+2>>0]=0;b[g+3>>0]=0;f[j+20>>2]=g;do if(!(Mc()|0)){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](40)|0;if(!g)break}else{g=ib[f[37372>>2]&255](40)|0;if((f[18194]|0)>>>0<40)f[18194]=40;c=71896;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){m=f[18187]|0;k=LA(a|0,c|0,g|0,((g|0)<0)<<31>>31|0)|0;i=ba()|0;f[17976]=((i|0)<0|(i|0)==0&k>>>0<=m>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g)break;a=ib[f[37368>>2]&255](g)|0;a=(f[18187]|0)+a|0;f[18187]=a;if(a>>>0>(f[18191]|0)>>>0)f[18191]=a;a=(f[18190]|0)+1|0;f[18190]=a;if(a>>>0>(f[18196]|0)>>>0)f[18196]=a}a=g;c=a+40|0;do{b[a>>0]=0;a=a+1|0}while((a|0)<(c|0));i=j+8|0;f[i>>2]=g;c:do if(!(Mc()|0)){do if(!(f[9328]|0)){g=ib[f[37356>>2]&255](20)|0;if(!g)break c}else{g=ib[f[37372>>2]&255](20)|0;if((f[18194]|0)>>>0<20)f[18194]=20;c=71896;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){m=f[18187]|0;k=LA(a|0,c|0,g|0,((g|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&k>>>0<=m>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g)break c;a=ib[f[37368>>2]&255](g)|0;a=(f[18187]|0)+a|0;f[18187]=a;if(a>>>0>(f[18191]|0)>>>0)f[18191]=a;a=(f[18190]|0)+1|0;f[18190]=a;if(a>>>0<=(f[18196]|0)>>>0)break;f[18196]=a}while(0);a=g;c=a+20|0;do{b[a>>0]=0;a=a+1|0}while((a|0)<(c|0));f[(f[i>>2]|0)+24>>2]=g;g=f[(f[(f[n>>2]|0)+24>>2]|0)+4>>2]|0;if(!g){k=j;g=0;m=j;break b}c=(f[g>>2]<<2)+4|0;a=Fd(c)|0;if(!a){a=0;g=(c|0)>0?7:0}else{YA(a|0,g|0,c|0)|0;g=0}f[(f[(f[i>>2]|0)+24>>2]|0)+4>>2]=a;k=j;m=j;break b}while(0);f[(f[i>>2]|0)+24>>2]=0;k=j;g=7;m=j;break b}while(0);f[j+8>>2]=0;k=j;g=7;m=j;break b}while(0);f[j+20>>2]=0;k=j;g=7;m=j}else{k=0;g=7;m=0}while(0);j=n+16|0;a=f[j>>2]|0;c=(g|0)==0;d:do if(a)if(c){if((a|0)>0){i=0;do{g=f[n+20+(i<<4)+4>>2]|0;g=cx(o,0,g,wz(g)|0,0,0)|0;a=f[n+20+(i<<4)+12>>2]|0;c=(g|0)==0;if(c&(a|0)!=0)do{g=f[a+4>>2]|0;g=cx(o,1,g,wz(g)|0,0,0)|0;a=f[a+12>>2]|0;c=(g|0)==0}while(c&(a|0)!=0);if(c){c=f[o>>2]|0;b[c+20+(i<<4)>>0]=b[n+20+(i<<4)>>0]|0;b[c+20+(i<<4)+1>>0]=b[n+20+(i<<4)+1>>0]|0}if(g|0){s=91;break d}i=i+1|0;g=f[j>>2]|0}while((i|0)<(g|0));a=g;g=f[o>>2]|0}else g=0;c=g;i=g;g=a}else s=91;else{do if(c)if(!(Mc()|0)){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](36)|0;if(!g){g=7;break}}else{g=ib[f[37372>>2]&255](36)|0;if((f[18194]|0)>>>0<36)f[18194]=36;c=71896;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){i=f[18187]|0;c=LA(a|0,c|0,g|0,((g|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&c>>>0<=i>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=7;break}a=ib[f[37368>>2]&255](g)|0;a=(f[18187]|0)+a|0;f[18187]=a;if(a>>>0>(f[18191]|0)>>>0)f[18191]=a;a=(f[18190]|0)+1|0;f[18190]=a;if(a>>>0>(f[18196]|0)>>>0)f[18196]=a}a=g;c=a+36|0;do{b[a>>0]=0;a=a+1|0}while((a|0)<(c|0));f[o>>2]=g;c=g;i=g;g=f[j>>2]|0;break d}else g=7;while(0);f[o>>2]=0;s=91}while(0);if((s|0)==91){do if(m|0){Sw(f[m+8>>2]|0);a=f[m+20>>2]|0;do if(a|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{e=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{e=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);Uw(f[o>>2]|0);f[q>>2]=0;i=h;c=h;break}f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2];f[k+16>>2]=1;f[f[k+20>>2]>>2]=c;o=k+8|0;f[(f[(f[o>>2]|0)+24>>2]|0)+12>>2]=c;c=f[o>>2]|0;f[(f[c+24>>2]|0)+8>>2]=1;f[i>>2]=c;if(((g|0)==1?(f[n+32>>2]|0)==0:0)?(b[n+21>>0]|0)==0:0){g=4;a=93}else{g=9;a=92}f[c>>2]=g;f[c+12>>2]=a;f[q>>2]=m;j=p;i=f[j>>2]|0;j=f[j+4>>2]|0;l=m+8|0;k=f[l>>2]|0;f[m>>2]=f[r+16>>2];c=m+12|0;f[c>>2]=0;g=Dy(m,k)|0;do if(!g)if(!(f[k+4>>2]|0)){a=k+16|0;g=f[a>>2]|0;a=f[a+4>>2]|0;if(!(f[c>>2]|0)){if(!((a|0)<(j|0)|(a|0)==(j|0)&g>>>0>>0)){g=0;break}}else if(!((a|0)>(j|0)|(a|0)==(j|0)&g>>>0>i>>>0)){g=0;break}g=mb[f[k+12>>2]&127](m,k,1,i,j)|0}else g=0;while(0);c=k+8|0;if(f[c>>2]|0){a=k+12|0;do g=mb[f[a>>2]&127](m,k,0,0,0)|0;while((f[c>>2]|0)!=0)}i=h+60|0;a=f[i>>2]|0;c=a|1;if(f[(f[l>>2]|0)+4>>2]|0){f[i>>2]=c;a=c}f[i>>2]=a|78;if(!g)if(!(a&1)){e:while(1){g=kb[e&127](39304,h,d)|0;switch(g|0){case 101:{g=0;i=h;c=h;break a}case 0:break;default:break e}g=Ax(h)|0;if(g|0)break;if(f[i>>2]&1|0){g=0;break}}i=h;c=h}else{g=0;i=h;c=h}else{i=h;c=h}}else{g=7;s=117}}else{h=0;s=117}while(0);if((s|0)==117)if(!h){s=g;t=u;return s|0}else{i=h;c=h}h=f[i>>2]|0;Ey(c);h=(f[h+24>>2]|0)+44|0;while(1){a=f[h>>2]|0;if((a|0)==(c|0))break;else h=a+4|0}f[h>>2]=f[i+4>>2];if(!(f[9328]|0)){ob[f[37360>>2]&127](i);s=g;t=u;return s|0}else{s=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);s=g;t=u;return s|0}return 0}function sy(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=a+100|0;e=f[j>>2]|0;a:do if(e){g=f[a+96>>2]|0;h=e;while(1){if((f[h>>2]|0)==(g|0))break;e=f[h+12>>2]|0;if(!e){i=7;break a}else h=e}e=h+8|0;g=f[e>>2]|0;if(!g)g=h;else{ob[g&127](f[h+4>>2]|0);g=h}}else i=7;while(0);b:do if((i|0)==7){do if(!(Mc()|0)){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](16)|0;if(!e)break}else{e=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){i=f[18187]|0;h=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&h>>>0<=i>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e)break;g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}g=e+4|0;i=g;b[i>>0]=0;b[i+1>>0]=0;b[i+2>>0]=0;b[i+3>>0]=0;g=g+4|0;b[g>>0]=0;b[g+1>>0]=0;b[g+2>>0]=0;b[g+3>>0]=0;f[e>>2]=f[a+96>>2];f[e+12>>2]=f[j>>2];f[j>>2]=e;g=e;e=e+8|0;break b}while(0);if(!d){d=7;return d|0}ob[d&127](c);d=7;return d|0}while(0);f[e>>2]=d;f[g+4>>2]=c;d=0;return d|0}function ty(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+100>>2]|0;if(!c){b=0;return b|0}a=f[a+96>>2]|0;while(1){if((f[c>>2]|0)==(a|0))break;c=f[c+12>>2]|0;if(!c){c=0;d=7;break}}if((d|0)==7)return c|0;a=c+4|0;d=f[a>>2]|0;if(!b){b=d;return b|0}f[a>>2]=0;f[c+8>>2]=0;b=d;return b|0}function uy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;h=t;t=t+16|0;g=h;b=yy(a,b,c,g)|0;if(b|0){t=h;return b|0}f[c+4>>2]=(f[c>>2]|0)+(f[g>>2]|0);f[d>>2]=0;f[e>>2]=0;vy(a,c,d,e);t=h;return b|0}function vy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0;l=t;t=t+16|0;k=l;e=f[b>>2]|0;if(e>>>0>=(f[b+4>>2]|0)>>>0){f[c>>2]=-1;b=-1;f[d>>2]=b;t=l;return}a=h[e>>0]|0;do if(a&128){g=h[e+1>>0]|0;if(!(g&128)){a=a<<7&16256|g;g=2;break}i=h[e+2>>0]|0;if(!(i&128)){a=(a<<14|i)&2080895|g<<7&16256;g=3;break}else{g=yv(e,k)|0;a=f[k>>2]|0;g=g&255;e=f[b>>2]|0;break}}else g=1;while(0);j=e+g|0;f[b>>2]=j;if((a|0)==1){g=h[j>>0]|0;do if(g&128){a=h[j+1>>0]|0;if(!(a&128)){i=2;g=g<<7&16256|a;a=j;break}e=h[j+2>>0]|0;if(!(e&128)){i=3;g=(g<<14|e)&2080895|a<<7&16256;a=j;break}else{i=yv(j,k)|0;i=i&255;g=f[k>>2]|0;a=f[b>>2]|0;break}}else{i=1;a=j}while(0);e=a+i|0;f[b>>2]=e;f[c>>2]=g;f[d>>2]=0;a=h[e>>0]|0;do if(a&128){g=h[e+1>>0]|0;if(!(g&128)){j=2;a=a<<7&16256|g;break}i=h[e+2>>0]|0;if(!(i&128)){j=3;a=(a<<14|i)&2080895|g<<7&16256;break}else{j=yv(e,k)|0;j=j&255;a=f[k>>2]|0;e=f[b>>2]|0;break}}else j=1;while(0);f[b>>2]=e+j}b=a+-2+(f[d>>2]|0)|0;f[d>>2]=b;t=l;return}function wy(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;m=n;i=n+8|0;if((f[(f[(f[a>>2]|0)+12>>2]|0)+48>>2]|0)==2){i=f[a+56>>2]|0;do if(!i){i=f[a+52>>2]|0;c=f[(f[i+20>>2]|0)+(c<<2)>>2]|0;g=f[c>>2]|0;if(((f[g+4>>2]|0)==0?(k=g+16|0,j=f[k>>2]|0,k=f[k+4>>2]|0,i=(f[i+8>>2]|0)+16|0,(j|0)==(f[i>>2]|0)?(k|0)==(f[i+4>>2]|0):0):0)?(f[c+8>>2]|0)>0:0){g=f[c+32>>2]|0;if(!g){g=c+28|0;i=f[(f[g>>2]|0)+8>>2]|0;f[d>>2]=i;g=f[(f[g>>2]|0)+12>>2]|0;f[m>>2]=g;l=14;break}g=jx(c+20|0,j,k,g+16|0,d,m)|0;if(g|0)break;i=f[d>>2]|0;g=f[m>>2]|0;l=14;break}f[d>>2]=0;f[m>>2]=0;i=0;g=0;l=14}else{if(!c)g=0;else g=f[i+24+(c+-1<<2)>>2]|0;l=(f[i+24+(c<<2)>>2]|0)-g|0;f[m>>2]=l;i=(f[i+16>>2]|0)+g|0;f[d>>2]=i;g=l;l=14}while(0);if((l|0)==14){f[d+4>>2]=i+g;f[e>>2]=0;xy(a,d,e);g=0}d=g;t=n;return d|0}else{a=yy(a,c,d,i)|0;do if(!a){g=f[d>>2]|0;l=f[i>>2]|0;f[d+4>>2]=g+l;if((l|0)<1){f[e>>2]=-1;break}if((b[g>>0]|0)!=1){f[e>>2]=0;break}c=g+1|0;j=h[c>>0]|0;do if(j&128){k=h[g+2>>0]|0;if(!(k&128)){f[e>>2]=j<<7&16256|k;i=3;break}i=h[g+3>>0]|0;if(!(i&128)){f[e>>2]=(j<<14|i)&2080895|k<<7&16256;i=4;break}else{i=yv(c,m)|0;f[e>>2]=f[m>>2];i=(i&255)+1|0;g=f[d>>2]|0;break}}else{f[e>>2]=j;i=2}while(0);f[d>>2]=g+i}while(0);d=a;t=n;return d|0}return 0}function xy(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0;l=t;t=t+16|0;k=l;e=f[c>>2]|0;j=c+4|0;g=f[j>>2]|0;i=e>>>0>>0;if((f[(f[(f[a>>2]|0)+12>>2]|0)+48>>2]|0)==2){if(!i){f[d>>2]=-1;t=l;return}a=h[e>>0]|0;do if(a&128){g=h[e+1>>0]|0;if(!(g&128)){j=2;a=a<<7&16256|g;break}i=h[e+2>>0]|0;if(!(i&128)){j=3;a=(a<<14|i)&2080895|g<<7&16256;break}else{j=yv(e,k)|0;j=j&255;a=f[k>>2]|0;e=f[c>>2]|0;break}}else j=1;while(0);f[c>>2]=e+j;f[d>>2]=a+-2+(f[d>>2]|0);t=l;return}a:do if(i){while(1){a=b[e>>0]|0;if(a<<24>>24==1)break;if(a<<24>>24<=-1)if((b[e+1>>0]|0)<=-1)if((b[e+2>>0]|0)>-1)a=3;else{a=(yv(e,k)|0)&255;e=f[c>>2]|0;g=f[j>>2]|0}else a=2;else a=1;e=e+a|0;f[c>>2]=e;if(e>>>0>=g>>>0)break a}a=e+1|0;g=h[a>>0]|0;do if(g&128){i=h[e+2>>0]|0;if(!(i&128)){f[d>>2]=g<<7&16256|i;a=3;break}j=h[e+3>>0]|0;if(!(j&128)){f[d>>2]=(g<<14|j)&2080895|i<<7&16256;a=4;break}else{a=yv(a,k)|0;f[d>>2]=f[k>>2];a=(a&255)+1|0;e=f[c>>2]|0;break}}else{f[d>>2]=g;a=2}while(0);f[c>>2]=e+a;t=l;return}while(0);f[d>>2]=-1;t=l;return}function yy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=t;t=t+32|0;w=E;x=E+20|0;y=E+16|0;D=f[(f[a>>2]|0)+12>>2]|0;B=a+56|0;g=f[B>>2]|0;h=(g|0)==0;C=a+60|0;if(!(f[C>>2]&64))i=0;else{if(f[D+48>>2]|0){A=a+52|0;g=f[A>>2]|0;e=g+16|0;u=Fd(f[e>>2]<<4)|0;v=(u|0)==0;do if(!v){_A(u|0,0,f[e>>2]<<4|0)|0;j=f[e>>2]|0;a:do if((j|0)>0){k=f[g+20>>2]|0;i=g+8|0;if(!h){e=0;while(1){f[(f[k+(e<<2)>>2]|0)+8>>2]=0;e=e+1|0;if((e|0)==(j|0))break a}}e=0;do{h=f[k+(e<<2)>>2]|0;g=f[h>>2]|0;h=h+8|0;if(((f[h>>2]|0)!=0?(r=g+16|0,s=(f[i>>2]|0)+16|0,(f[r>>2]|0)==(f[s>>2]|0)?(f[r+4>>2]|0)==(f[s+4>>2]|0):0):0)?(f[g+4>>2]|0)==0:0)f[h>>2]=0;else f[u+(e<<4)+12>>2]=1;e=e+1|0}while((e|0)!=(j|0))}while(0);e=v?7:0;s=D+12|0;if((f[s>>2]|0)>0&(v^1)){o=w+4|0;p=w+8|0;q=D+60|0;r=D+56|0;n=0;do{e=py(a,n,y,x)|0;if(!e){e=f[A>>2]|0;k=f[y>>2]|0;l=f[x>>2]|0;f[w>>2]=e;f[o>>2]=u;i=KA(0,n|0,-1,-1)|0;j=ba()|0;m=p;f[m>>2]=i;f[m+4>>2]=j;m=f[e+16>>2]|0;if((m|0)>0){j=f[e+20>>2]|0;i=0;do{g=f[(f[(f[f[j+(i<<2)>>2]>>2]|0)+24>>2]|0)+4>>2]|0;b:do if(g){h=f[g>>2]|0;if((h|0)>0){e=0;while(1){if((f[g+4+(e<<2)>>2]|0)==(n|0)){z=25;break b}e=e+1|0;if((e|0)>=(h|0)){e=0;break}}}else e=0}else z=25;while(0);if((z|0)==25){z=0;e=(f[u+(i<<4)+12>>2]|0)==0&1}f[u+(i<<4)+8>>2]=e;i=i+1|0}while((i|0)!=(m|0))}if(!k)e=0;else e=nb[f[(f[q>>2]|0)+8>>2]&127](f[r>>2]|0,w,4,k,l,94)|0}n=n+1|0}while((e|0)==0?(n|0)<(f[s>>2]|0):0)}if(!v)if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{z=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}}else e=7;while(0);g=f[B>>2]|0;if(!g)g=0;else{g=g+8|0;Ay(f[(f[A>>2]|0)+8>>2]|0,f[g>>2]|0,f[g+4>>2]|0)|0;g=f[B>>2]|0}}else e=0;f[C>>2]=f[C>>2]&-65;i=e}if(g|0?(f[D+48>>2]|0)==0:0){if(!b)e=0;else e=f[g+24+(b+-1<<2)>>2]|0;f[d>>2]=(f[g+24+(b<<2)>>2]|0)-e;f[c>>2]=(f[g+16>>2]|0)+e;t=E;return i|0}h=f[a+52>>2]|0;e=f[(f[h+20>>2]|0)+(b<<2)>>2]|0;g=f[e>>2]|0;if((f[g+4>>2]|0)==0?(D=g+16|0,b=(f[h+8>>2]|0)+16|0,(f[D>>2]|0)==(f[b>>2]|0)?(f[D+4>>2]|0)==(f[b+4>>2]|0):0):0){f[c>>2]=f[e+4>>2];e=f[e+8>>2]|0}else{f[c>>2]=0;e=0}f[d>>2]=e;t=E;return i|0}function zy(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=f[a>>2]|0;s=(e|0)<32768?e:32768;if(!(c&1)){r=a+8|0;p=r;p=KA(f[p>>2]|0,f[p+4>>2]|0,1,0)|0;q=ba()|0;f[r>>2]=p;f[r+4>>2]=q}q=h+16|0;g=f[q>>2]|0;if((g|0)<=0){t=0;return t|0}r=a+4|0;p=h+20|0;o=a+8|0;n=0;a:while(1){i=f[r>>2]|0;b:do if(f[i+(n<<4)+8>>2]|0){a=f[(f[p>>2]|0)+(n<<2)>>2]|0;h=a+20|0;while(1){e=f[h+4>>2]|0;c=wz(e)|0;if((c|0)!=(s|0)){if((c|0)<(s|0)?b[h>>0]|0:0)t=10}else t=10;if((t|0)==10?(t=0,(Hz(e,d,c)|0)==0):0)break;h=f[h+12>>2]|0;if(!h)break b}j=a+4|0;l=o;k=f[l>>2]|0;l=f[l+4>>2]|0;m=a+8|0;e=(f[m>>2]|0)+15|0;c=a+12|0;g=f[c>>2]|0;if(e>>>0>g>>>0){h=(g|0)==0?64:g;while(1)if(h>>>0>>0)h=h<<1;else break;g=f[j>>2]|0;if(Mc()|0){g=7;t=33;break a}g=Nc(g,(h|0)>0?h:0,0)|0;if(!g){g=7;t=33;break a}f[c>>2]=h;f[j>>2]=g}i=i+(n<<4)|0;a=l&2147483647;h=i;g=f[h+4>>2]|0;if(0==0&(a|0)==(g&2147483647|0)){e=j;c=f[m>>2]|0;h=f[h>>2]|0}else{h=f[j>>2]|0;g=f[m>>2]|0;f[m>>2]=g+1;b[h+g>>0]=1;g=(f[j>>2]|0)+(f[m>>2]|0)|0;h=UA(k|0,l|0,32)|0;e=ba()|0;do if(!(e>>>0<0|(e|0)==0&h>>>0<128))if(e>>>0<0|(e|0)==0&h>>>0<16384){c=VA(h|0,e|0,7)|0;ba()|0;b[g>>0]=c&255|-128;b[g+1>>0]=h&127;g=2;break}else{g=Zv(g,h,e)|0;break}else{b[g>>0]=h&127;g=1}while(0);c=(f[m>>2]|0)+g|0;f[m>>2]=c;e=i;f[e>>2]=0;f[e+4>>2]=a;e=j;h=0;g=a}e=(f[e>>2]|0)+c|0;j=KA(k|0,l|0,2,0)|0;g=LA(j|0,ba()|0,h|0,g|0)|0;h=ba()|0;do if(!(h>>>0<0|(h|0)==0&g>>>0<128))if(h>>>0<0|(h|0)==0&g>>>0<16384){j=VA(g|0,h|0,7)|0;ba()|0;b[e>>0]=j&255|-128;b[e+1>>0]=g&127;g=2;break}else{g=Zv(e,g,h)|0;break}else{b[e>>0]=g&127;g=1}while(0);f[m>>2]=(f[m>>2]|0)+g;g=i;f[g>>2]=k;f[g+4>>2]=l;g=f[q>>2]|0}while(0);n=n+1|0;if((n|0)>=(g|0)){g=0;t=33;break}}if((t|0)==33)return g|0;return 0}function Ay(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+16|0;f[e>>2]=b;f[e+4>>2]=c;f[a+4>>2]=0;switch(f[a>>2]|0){case 9:case 4:{c=(f[(f[(f[a+24>>2]|0)+12>>2]|0)+8>>2]|0)>0&1;return c|0}case 2:{e=a+28|0;if((f[e>>2]|0)<=0){c=1;return c|0}d=0;while(1){if(!(Ay(f[a+32+(d<<2)>>2]|0,b,c)|0))break;d=d+1|0;if((d|0)>=(f[e>>2]|0)){d=1;g=14;break}}if((g|0)==14)return d|0;By(a);c=0;return c|0}case 1:{g=a+28|0;if((f[g>>2]|0)<=0){c=0;return c|0}e=0;d=0;do{h=(Ay(f[a+32+(e<<2)>>2]|0,b,c)|0)==0;d=h?d:1;e=e+1|0}while((e|0)<(f[g>>2]|0));return d|0}default:{if(Ay(f[a+32>>2]|0,b,c)|0?(Ay(f[a+36>>2]|0,b,c)|0)==0:0){h=1;return h|0}By(a);h=0;return h|0}}return 0}function By(a){a=a|0;var b=0,c=0;switch(f[a>>2]|0){case 9:case 4:{f[(f[(f[a+24>>2]|0)+12>>2]|0)+8>>2]=0;return}default:{}}c=a+28|0;if((f[c>>2]|0)<=0)return;b=0;do{By(f[a+32+(b<<2)>>2]|0);b=b+1|0}while((b|0)<(f[c>>2]|0));return}function Cy(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=t;t=t+16|0;d=l;c=f[(f[a+24>>2]|0)+44>>2]|0;a:do if(c|0){while(1){if((f[c>>2]|0)==(a|0)){c=0;break}c=f[c+4>>2]|0;if(!c)break a}t=l;return c|0}while(0);h=f[(f[a+20>>2]|0)+4>>2]|0;i=h+36|0;c=f[i>>2]|0;b:do if(!c){e=h+68|0;c=f[e>>2]|0;if(!c){f[d>>2]=f[(f[h>>2]|0)+4>>2];a=wd(67742,d)|0;c=f[i>>2]|0;d=(a|0)==0;do if(!c)if(d){f[i>>2]=7;c=7;d=0;a=0;break b}else{g=Ki(f[f[h>>2]>>2]|0,a,-1,129,0,e,0)|0;f[i>>2]=g;break}else if(d){d=0;a=0;break b}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](a);else{g=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a)}c=f[i>>2]|0;if(c|0){d=0;a=0;break}c=f[e>>2]|0}if((Ei(c)|0)==100){d=Jp(f[e>>2]|0,0)|0;a=ba()|0}else{d=0;a=0}c=f[e>>2]|0;do if(c){e=f[c>>2]|0;g=c+128|0;m=f[g+4>>2]|0;if((m|0)>0|(m|0)==0&(f[g>>2]|0)>>>0>0)Hi(e,c);g=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;m=c+64|0;f[m>>2]=0;f[m+4>>2]=0;if((g|0)==3082|(b[e+81>>0]|0)!=0){Di(e);c=7;break}else{c=f[e+68>>2]&g;break}}else c=0;while(0);f[i>>2]=c}else{d=0;a=0}while(0);m=h+72|0;if(!((d|0)==(f[m>>2]|0)?(a|0)==(f[m+4>>2]|0):0)?(j=h+80|0,k=f[j>>2]|0,(k|0)!=0):0){m=f[k>>2]|0;f[k>>2]=m+-1;do if((m|0)<2){d=k+20|0;if((f[d>>2]|0)>0){c=0;do{a=f[k+24+(c*12|0)+8>>2]|0;do if(a|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{m=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}while(0);c=c+1|0}while((c|0)<(f[d>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{m=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);f[j>>2]=0;c=f[i>>2]|0}f[i>>2]=0;m=c;t=l;return m|0}function Dy(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=c+4|0;f[s>>2]=0;t=c+8|0;f[t>>2]=0;e=f[c>>2]|0;switch(e|0){case 9:case 4:{q=f[c+24>>2]|0;r=q+8|0;d=f[r>>2]|0;a:do if((d|0)>0){o=a+12|0;p=q+4|0;n=0;b:while(1){l=f[q+12+(n<<2)>>2]|0;m=l+16|0;e=f[m>>2]|0;if(!e){e=5;break}if((e|0)>0){i=0;do{j=l+20+(i<<4)|0;g=0;h=j;do{k=h+8|0;d=f[k>>2]|0;if(d|0){e=f[d+24>>2]|0;Tv(d);d=e+40|0;e=f[d>>2]|0;do if(e|0){f[d>>2]=0;d=f[e+20>>2]|0;Fi(f[e+16>>2]|0)|0;if(d|0){if(f[d+480>>2]|0){Kc(d,e);break}u=e;if((f[d+304>>2]|0)>>>0<=u>>>0?(f[d+308>>2]|0)>>>0>u>>>0:0){u=d+300|0;f[e>>2]=f[u>>2];f[u>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[k>>2]=0}e=f[a>>2]|0;u=f[h+4>>2]|0;d=wz(u)|0;d=Gv(e,u,d,((f[o>>2]|0)==0?0:2)|(b[j>>0]|0)!=0,f[p>>2]|0,k)|0;if(d|0){e=62;break b}g=(b[(f[k>>2]|0)+16>>0]|0)==0?1:g;h=f[h+12>>2]|0}while((h|0)!=0);i=i+1|0;if(!g){e=25;break b}}while((i|0)<(f[m>>2]|0));d=f[r>>2]|0}n=n+1|0;if((n|0)>=(d|0))break a}if((e|0)==5){f[s>>2]=1;u=0;return u|0}else if((e|0)==25){f[s>>2]=1;u=0;return u|0}else if((e|0)==62)return d|0}while(0);f[s>>2]=0;break}default:{if(!(f[c+12>>2]|0)){f[s>>2]=1;u=0;return u|0}i=c+28|0;d=f[i>>2]|0;if((d|0)>0){g=0;d=0;do{h=f[c+32+(d<<2)>>2]|0;e=Dy(a,h)|0;g=(f[h+4>>2]|0)+g|0;d=d+1|0;h=f[i>>2]|0}while((e|0)==0&(d|0)<(h|0));i=e;e=f[c>>2]|0}else{i=0;g=0;h=d}d=f[c+32>>2]|0;q=d+16|0;r=f[q+4>>2]|0;u=c+16|0;f[u>>2]=f[q>>2];f[u+4>>2]=r;switch(e|0){case 2:{if((g|0)>0)nx(c);break}case 1:{if((h|0)==(g|0))nx(c);break}default:f[s>>2]=f[d+4>>2]}if(i|0){u=i;return u|0}if(f[s>>2]|0){u=0;return u|0}}}switch(f[c>>2]|0){case 9:{u=ix(a,c)|0;return u|0}case 4:{u=f[(f[a+4>>2]|0)+48>>2]|0;d=f[(f[c+24>>2]|0)+12>>2]|0;e=f[d+28>>2]|0;g=f[e+12>>2]|0;f[d+8>>2]=g;if(!u)f[d+4>>2]=f[e+8>>2];a=e;s=f[a+4>>2]|0;u=c+16|0;f[u>>2]=f[a>>2];f[u+4>>2]=s;f[t>>2]=(g|0)==0&1;u=0;return u|0}case 2:{u=mx(a,c)|0;return u|0}case 1:{d=f[c+32>>2]|0;m=f[c+28>>2]|0;if((m|0)>1){l=a+12|0;k=1;do{j=f[c+32+(k<<2)>>2]|0;do if(!(f[j+4>>2]|0)){if(!(f[d+4>>2]|0)){g=d+16|0;e=f[g>>2]|0;g=f[g+4>>2]|0;i=j+16|0;h=f[i>>2]|0;i=f[i+4>>2]|0;if(!(f[l>>2]|0))if((g|0)<(i|0)|(g|0)==(i|0)&e>>>0>>0)break;else e=(g|0)>(i|0)|(g|0)==(i|0)&e>>>0>h>>>0;else if((g|0)>(i|0)|(g|0)==(i|0)&e>>>0>h>>>0)break;else e=(g|0)<(i|0)|(g|0)==(i|0)&e>>>0>>0;if(!e?f[j+8>>2]|0:0)break}d=j}while(0);k=k+1|0}while((k|0)!=(m|0))}r=d+16|0;a=f[r+4>>2]|0;u=c+16|0;f[u>>2]=f[r>>2];f[u+4>>2]=a;f[s>>2]=f[d+4>>2];f[t>>2]=f[d+8>>2];u=0;return u|0}default:{u=kx(a,c)|0;return u|0}}return 0}function Ey(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;d=f[a>>2]|0;c=f[a+104>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{g=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[a+116>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{g=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);e=f[a+48>>2]|0;do if(e|0){if((f[a+24>>2]|0)==5)c=(f[a+28>>2]|0)!=0&1;else c=2;c=(f[d+20>>2]|0)+28+(c<<2)|0;if(f[c>>2]|0){Fi(e)|0;break}d=f[e>>2]|0;g=e+128|0;i=f[g+4>>2]|0;if((i|0)>0|(i|0)==0&(f[g>>2]|0)>>>0>0)Hi(d,e);i=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;g=e+64|0;f[g>>2]=0;f[g+4>>2]=0;if((i|0)==3082|(b[d+81>>0]|0)!=0)Di(d);f[c>>2]=e}while(0);c=f[a+56>>2]|0;do if(c|0){Fi(f[c>>2]|0)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);g=a+24|0;do if((f[g>>2]|0)!=2?(h=f[a+52>>2]|0,h|0):0){Sw(f[h+8>>2]|0);c=f[h+20>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{i=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}}while(0);c=f[a+100>>2]|0;if(c|0)do{d=c;c=f[c+12>>2]|0;e=f[d+8>>2]|0;if(e|0)ob[e&127](f[d+4>>2]|0);if(!(f[9328]|0))ob[f[37360>>2]&127](d);else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d)}}while((c|0)!=0);Fi(f[a+92>>2]|0)|0;c=f[a+88>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);if(!(f[a+60>>2]&16)){c=g;d=c+96|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));return}c=f[a+72>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[a+76>>2]|0;if(!c){c=g;d=c+96|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));return}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=g;d=c+96|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));return}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=g;d=c+96|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));return}}function Fy(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=t;t=t+16|0;o=r;i=r+8|0;p=f[(f[a>>2]|0)+12>>2]|0;f[i>>2]=0;a=Hy(a,8,i,0)|0;if(a|0){q=a;t=r;return q|0}q=f[i>>2]|0;do if(!(Op(q,1)|0)){a=f[q+116>>2]|0;i=a+8|0;if(!(d[i>>1]&9216)){n=a;f[n>>2]=c;f[n+4>>2]=e;d[i>>1]=4;break}else{bf(a,c,e);break}}while(0);a:do if((Ei(q)|0)==100){if(!q)e=lf(37592)|0;else{a=f[q+104>>2]|0;if((a|0)!=0?(d[q+140>>1]|0)!=0:0)i=q;else{a=f[q>>2]|0;f[a+64>>2]=25;Bg(a,25);a=37592;i=q}e=lf(a)|0;a=f[i>>2]|0;c=q+40|0;i=f[c>>2]|0;if((i|0)==3082|(b[a+81>>0]|0)!=0){Di(a);a=7}else a=f[a+68>>2]&i;f[c>>2]=a}n=Gp(q,0)|0;if((p|0)>0){m=0;a=0;do{if((a|0)>=(n|0)){c=1;break a}i=e+a|0;c=g+(m<<2)|0;j=h[i>>0]|0;do if(j&128){k=h[i+1>>0]|0;if(!(k&128)){f[c>>2]=j<<7&16256|k;i=2;break}l=h[i+2>>0]|0;if(!(l&128)){f[c>>2]=(j<<14|l)&2080895|k<<7&16256;i=3;break}else{i=yv(i,o)|0;f[c>>2]=f[o>>2];i=i&255;break}}else{f[c>>2]=j;i=1}while(0);a=i+a|0;m=m+1|0}while((m|0)<(p|0))}else a=0;c=(a|0)!=(n|0)&1}else c=1;while(0);do if(q){i=f[q>>2]|0;p=q+128|0;o=f[p+4>>2]|0;if((o|0)>0|(o|0)==0&(f[p>>2]|0)>>>0>0)Hi(i,q);a=fg(q)|0;f[q+20>>2]=770837923;f[q+36>>2]=-1;f[q+40>>2]=0;b[q+142>>0]=2;f[q+44>>2]=0;f[q+32>>2]=1;b[q+143>>0]=-1;f[q+48>>2]=0;q=q+64|0;f[q>>2]=0;f[q+4>>2]=0;if((a|0)==3082|(b[i+81>>0]|0)!=0){Di(i);a=7;break}else{a=f[i+68>>2]&a;break}}else a=0;while(0);q=(c|0)!=0&(a|0)==0?267:a;t=r;return q|0}function Gy(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(b&1|0)return 0;f[a>>2]=(f[a>>2]|0)+1;return 0}function Hy(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+80|0;o=q+72|0;i=q+64|0;m=q+48|0;k=q+32|0;j=q+8|0;h=q;p=a+28+(c<<2)|0;g=f[p>>2]|0;if(!g){n=f[a>>2]|0;a:do switch(c|0){case 10:{g=f[n+36>>2]|0;f[h>>2]=f[n+52>>2];f[h+4>>2]=g;g=wd(70302,h)|0;l=16;break}case 1:case 0:{g=f[35360+(c<<2)>>2]|0;m=f[n+36>>2]|0;l=f[n+40>>2]|0;f[j>>2]=f[n+52>>2];f[j+4>>2]=m;f[j+8>>2]=l;f[j+12>>2]=l;f[j+16>>2]=l;g=wd(g,j)|0;l=16;break}case 2:{l=f[n+36>>2]|0;g=f[n+40>>2]|0;f[k>>2]=f[n+52>>2];f[k+4>>2]=l;f[k+8>>2]=g;g=wd(70325,k)|0;l=16;break}case 4:case 3:{h=f[n+12>>2]|0;i=h<<1;j=Fd(i+2|1)|0;if(j){if((h|0)<0)a=-1;else{g=0;a=0;while(1){b[j+a>>0]=63;b[j+(a|1)>>0]=44;a=g+1|0;if((g|0)==(h|0))break;else{g=a;a=a<<1}}a=i|1}b[j+a>>0]=0;a=f[35360+(c<<2)>>2]|0;c=f[n+8>>2]|0;f[m>>2]=f[n+4>>2];f[m+4>>2]=c;f[m+8>>2]=j;a=wd(a,m)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](j);g=a;l=16;break a}else{g=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);g=a;l=16;break a}}else a=7;break}default:{g=f[35360+(c<<2)>>2]|0;l=f[n+8>>2]|0;f[i>>2]=f[n+4>>2];f[i+4>>2]=l;g=wd(g,i)|0;l=16}}while(0);if((l|0)==16)if(g){a=Ki(f[n>>2]|0,g,-1,129,0,p,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](g);else{m=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g)}if((e|0)!=0&(a|0)!=0){n=Mj(f[n>>2]|0)|0;f[o>>2]=n;o=wd(40840,o)|0;f[e>>2]=o}}else a=7;g=f[p>>2]|0;f[d>>2]=g;if(!g){d=a;t=q;return d|0}else h=a}else{f[d>>2]=g;h=0}a=f[g>>2]|0;d=g+128|0;p=f[d+4>>2]|0;if((p|0)>0|(p|0)==0&(f[d>>2]|0)>>>0>0)Hi(a,g);d=fg(g)|0;f[g+20>>2]=770837923;f[g+36>>2]=-1;f[g+40>>2]=0;b[g+142>>0]=2;f[g+44>>2]=0;f[g+32>>2]=1;b[g+143>>0]=-1;f[g+48>>2]=0;p=g+64|0;f[p>>2]=0;f[p+4>>2]=0;if(!((d|0)==3082|(b[a+81>>0]|0)!=0)){d=h;t=q;return d|0}Di(a);d=h;t=q;return d|0}function Iy(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0;j=a+48|0;do if(!(f[j>>2]|0)){e=f[a>>2]|0;if((f[a+24>>2]|0)==5)g=(f[a+28>>2]|0)!=0&1;else g=2;h=f[e+20>>2]|0;c=Hy(h,g,j,(c|0)==0?0:e+8|0)|0;if(!c){f[h+28+(g<<2)>>2]=0;break}else{j=c;return j|0}}while(0);i=a+60|0;if(!(f[i>>2]&2)){j=0;return j|0}c=f[j>>2]|0;if(c|0){e=f[c>>2]|0;h=c+128|0;g=f[h+4>>2]|0;if((g|0)>0|(g|0)==0&(f[h>>2]|0)>>>0>0)Hi(e,c);h=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;g=c+64|0;f[g>>2]=0;f[g+4>>2]=0;if((h|0)==3082|(b[e+81>>0]|0)!=0)Di(e)}e=f[j>>2]|0;c=f[a+56>>2]|0;if(!c)c=(f[(f[a+52>>2]|0)+8>>2]|0)+16|0;else c=c+8|0;h=c;g=f[h>>2]|0;h=f[h+4>>2]|0;do if(!(Op(e,1)|0)){c=f[e+116>>2]|0;e=c+8|0;if(!(d[e>>1]&9216)){a=c;f[a>>2]=g;f[a+4>>2]=h;d[e>>1]=4;break}else{bf(c,g,h);break}}while(0);if((Ei(f[j>>2]|0)|0)==100){f[i>>2]=f[i>>2]&-3;j=0;return j|0}e=f[j>>2]|0;do if(e|0){g=f[e>>2]|0;j=e+128|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0)Hi(g,e);c=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;j=e+64|0;f[j>>2]=0;f[j+4>>2]=0;if((c|0)==3082|(b[g+81>>0]|0)!=0){Di(g);j=7;return j|0}else{c=f[g+68>>2]&c;if(!c)break;return c|0}}while(0);j=267;return j|0}function Jy(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=t;t=t+16|0;h=m+4|0;i=m;c=f[a+52>>2]|0;if(!c)l=0;else l=f[c+16>>2]|0;e=a+104|0;c=f[e>>2]|0;do if(!c){c=l*24|0;d=Fd(c)|0;if(d|0){_A(d|0,0,c|0)|0;f[e>>2]=d;k=d;break}f[e>>2]=0;a=(c|0)>0?7:0;t=m;return a|0}else k=c;while(0);g=(l|0)>0;if(g){e=0;do{c=yy(a,e,h,i)|0;d=(c|0)==0;if(d?(o=f[h>>2]|0,n=f[i>>2]|0,j=k+(e*24|0)+8|0,f[j>>2]=0,f[j+4>>2]=0,f[j+8>>2]=0,f[j+12>>2]=0,f[k+(e*24|0)>>2]=o,f[k+(e*24|0)+4>>2]=n,uv(o,n,j,k+(e*24|0)+16|0)|0):0)b[k+(e*24|0)+13>>0]=1;e=e+1|0}while(d&(e|0)<(l|0))}else{c=0;d=1}a:do if(d){i=a+108|0;j=a+116|0;if(g){d=0;while(1){c=-1;e=0;do{do if(!(b[k+(e*24|0)+13>>0]|0)){if((c|0)>=0?(n=k+(e*24|0)+16|0,g=f[n+4>>2]|0,o=k+(c*24|0)+16|0,h=f[o+4>>2]|0,!((g|0)<(h|0)|((g|0)==(h|0)?(f[n>>2]|0)>>>0<(f[o>>2]|0)>>>0:0))):0)break;c=e}while(0);e=e+1|0}while((e|0)!=(l|0));if((c|0)<0){c=0;break a}h=d+1|0;e=f[i>>2]|0;if((h|0)<(e|0))e=f[j>>2]|0;else{g=(e|0)==0?32:e<<1;f[i>>2]=g;e=f[j>>2]|0;g=g*12|0;if(Mc()|0){d=h;c=7;break a}e=Nc(e,(g|0)>0?g:0,0)|0;if(!e){d=h;c=7;break a}f[j>>2]=e}n=e+(d*3<<2)|0;f[n>>2]=c;o=k+(c*24|0)+16|0;e=o;g=f[e>>2]|0;f[n+4>>2]=f[e+4>>2];f[n+8>>2]=g;if(uv(f[k+(c*24|0)>>2]|0,f[k+(c*24|0)+4>>2]|0,k+(c*24|0)+8|0,o)|0)b[k+(c*24|0)+13>>0]=1;d=h}}else{d=0;c=0}}else d=0;while(0);f[a+112>>2]=d;o=a+60|0;f[o>>2]=f[o>>2]&-9;o=c;t=m;return o|0}function Ky(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+8|0;if(f[l>>2]|0){l=0;return l|0}j=f[a+4>>2]|0;g=a+16|0;k=f[a+24>>2]|0;h=f[(f[j>>2]|0)+12>>2]|0;i=g;f[i>>2]=0;f[i+4>>2]=0;_A(k|0,0,h<<3|0)|0;i=xv(j,1,0)|0;j=j+36|0;if(!(f[j>>2]|0)){d=i+4|0;if((f[d>>2]|0)!=0?(e=(yv(f[i>>2]|0,g)|0)&255,(h|0)>0?(f[d>>2]|0)>(e|0):0):0){a=e;c=0;do{a=a+((yv((f[i>>2]|0)+a|0,k+(c<<3)|0)|0)&255)|0;c=c+1|0}while((c|0)<(h|0)?(a|0)<(f[d>>2]|0):0);c=8}else c=8}else if(i|0)c=8;do if((c|0)==8)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{k=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);k=f[j>>2]|0;f[j>>2]=0;f[l>>2]=b;l=k;return l|0}function Ly(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+32|0;k=D+16|0;A=D+4|0;C=D;B=f[a>>2]|0;f[C>>2]=0;i=Ky(a,1)|0;a:do if(!i){n=f[a>>2]|0;f[k>>2]=0;b:do if(!g){i=Hy(a,2,k,0)|0;do if(!i){l=f[k>>2]|0;do if(!(Op(l,1)|0)){i=f[l+116>>2]|0;k=i+8|0;if(!(d[k>>1]&9216)){z=i;f[z>>2]=c;f[z+4>>2]=e;d[k>>1]=4;break}else{bf(i,c,e);break}}while(0);if((Ei(l)|0)==100){z=l;m=16;break b}if(!l)break b;h=f[l>>2]|0;A=l+128|0;g=f[A+4>>2]|0;if((g|0)>0|(g|0)==0&(f[A>>2]|0)>>>0>0)Hi(h,l);i=fg(l)|0;f[l+20>>2]=770837923;f[l+36>>2]=-1;f[l+40>>2]=0;b[l+142>>0]=2;f[l+44>>2]=0;f[l+32>>2]=1;b[l+143>>0]=-1;f[l+48>>2]=0;A=l+64|0;f[A>>2]=0;f[A+4>>2]=0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Di(h);h=7;break}else{h=f[h+68>>2]&i;m=59;break b}}else h=i;while(0);break a}else{z=0;m=16}while(0);if((m|0)==16){f[A>>2]=a;f[A+4>>2]=-1;k=Oy(f[a+4>>2]|0,1,c,e)|0;y=n+12|0;c:do if(!k){r=n+20|0;s=(z|0)==0;u=A+8|0;v=z+104|0;w=a+24|0;x=n+60|0;o=n+56|0;p=z+140|0;q=z+40|0;n=1;while(1){if((n|0)>(f[y>>2]|0)){k=0;l=1;break c}m=n+-1|0;if(!(b[(f[r>>2]|0)+m>>0]|0)){do if(s){h=g+(m<<2)|0;k=f[h>>2]|0;i=d[k+8>>1]|0;if((i&514)==514?(b[k+10>>0]|0)==1:0){h=f[k+16>>2]|0;l=k}else if(!(i&1)){i=Ic(k,1)|0;l=f[h>>2]|0;h=i;i=d[l+8>>1]|0}else{h=0;l=k}if(i&2?(b[l+10>>0]|0)==1:0){i=f[l+12>>2]|0;break}k=i&65535;if(!(k&16)){if(k&1|0){i=0;break}i=_e(l,1)|0;break}else{i=f[l+12>>2]|0;if(!(k&16384))break;i=(f[l>>2]|0)+i|0;break}}else{h=f[v>>2]|0;if((h|0)!=0?n>>>0<(j[p>>1]|0)>>>0:0)h=h+(n*40|0)|0;else{h=f[z>>2]|0;f[h+64>>2]=25;Bg(h,25);h=37592}i=d[h+8>>1]|0;if((i&514)==514?(b[h+10>>0]|0)==1:0)k=f[h+16>>2]|0;else if(!(i&1))k=Ic(h,1)|0;else k=0;h=f[z>>2]|0;i=f[q>>2]|0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Di(h);h=7}else h=f[h+68>>2]&i;f[q>>2]=h;i=Gp(z,n)|0;h=k}while(0);f[u>>2]=0;if(!h){k=0;h=0}else{k=nb[f[(f[x>>2]|0)+8>>2]&127](f[o>>2]|0,A,4,h,i,91)|0;h=f[u>>2]|0}m=(f[w>>2]|0)+(m<<3)|0;i=m;i=LA(f[i>>2]|0,f[i+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;l=ba()|0;f[m>>2]=i;f[m+4>>2]=l}else k=0;if(!k)n=n+1|0;else{l=0;break}}}else l=0;while(0);A=a+16|0;y=A;y=KA(f[y>>2]|0,f[y+4>>2]|0,-1,-1)|0;g=ba()|0;f[A>>2]=y;f[A+4>>2]=g;do if(z){h=f[z>>2]|0;A=z+128|0;g=f[A+4>>2]|0;if((g|0)>0|(g|0)==0&(f[A>>2]|0)>>>0>0)Hi(h,z);i=fg(z)|0;f[z+20>>2]=770837923;f[z+36>>2]=-1;f[z+40>>2]=0;b[z+142>>0]=2;f[z+44>>2]=0;f[z+32>>2]=1;b[z+143>>0]=-1;f[z+48>>2]=0;A=z+64|0;f[A>>2]=0;f[A+4>>2]=0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Di(h);h=7;break}else{h=f[h+68>>2]&i;break}}else h=0;while(0);h=l?h:k;m=59}if((m|0)==59?h|0:0)break;if(f[B+44>>2]|0){h=Hy(a,7,C,0)|0;if(!h){k=f[C>>2]|0;if(Op(k,1)|0){Ei(k)|0;if(!k){h=0;break}}else{h=f[k+116>>2]|0;i=h+8|0;if(!(d[i>>1]&9216)){A=h;f[A>>2]=c;f[A+4>>2]=e;d[i>>1]=4}else bf(h,c,e);Ei(k)|0}h=f[k>>2]|0;A=k+128|0;g=f[A+4>>2]|0;if((g|0)>0|(g|0)==0&(f[A>>2]|0)>>>0>0)Hi(h,k);i=fg(k)|0;f[k+20>>2]=770837923;f[k+36>>2]=-1;f[k+40>>2]=0;b[k+142>>0]=2;f[k+44>>2]=0;f[k+32>>2]=1;b[k+143>>0]=-1;f[k+48>>2]=0;A=k+64|0;f[A>>2]=0;f[A+4>>2]=0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Di(h);h=7;break}else{h=f[h+68>>2]&i;break}}}else h=0}else h=i;while(0);if(f[B+32>>2]|h|0){e=h;t=D;return e|0}h=Hy(a,5,C,0)|0;if(h|0){e=h;t=D;return e|0}k=f[C>>2]|0;if(Op(k,1)|0){Ei(k)|0;if(!k){e=0;t=D;return e|0}}else{h=f[k+116>>2]|0;i=h+8|0;if(!(d[i>>1]&9216)){C=h;f[C>>2]=c;f[C+4>>2]=e;d[i>>1]=4}else bf(h,c,e);Ei(k)|0}h=f[k>>2]|0;e=k+128|0;c=f[e+4>>2]|0;if((c|0)>0|(c|0)==0&(f[e>>2]|0)>>>0>0)Hi(h,k);i=fg(k)|0;f[k+20>>2]=770837923;f[k+36>>2]=-1;f[k+40>>2]=0;b[k+142>>0]=2;f[k+44>>2]=0;f[k+32>>2]=1;b[k+143>>0]=-1;f[k+48>>2]=0;e=k+64|0;f[e>>2]=0;f[e+4>>2]=0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Di(h);e=7;t=D;return e|0}else{e=f[h+68>>2]&i;t=D;return e|0}return 0}function My(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=t;t=t+112|0;k=l+88|0;h=l;f[h>>2]=d;if(Mc()|0){j=0;k=a+8|0;f[k>>2]=j;t=l;return}i=k+4|0;f[i>>2]=l+16;f[k>>2]=0;f[k+8>>2]=70;j=k+12|0;f[j>>2]=1e9;e=k+16|0;f[e>>2]=0;b[k+20>>0]=0;g=k+21|0;b[g>>0]=0;Bc(k,c,h);d=f[i>>2]|0;if((d|0?(b[d+(f[e>>2]|0)>>0]=0,f[j>>2]|0):0)?(b[g>>0]&4)==0:0){j=Cc(k)|0;k=a+8|0;f[k>>2]=j;t=l;return}j=f[i>>2]|0;k=a+8|0;f[k>>2]=j;t=l;return}function Ny(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;i=t;t=t+32|0;h=i+16|0;g=i;b=f[a>>2]|0;j=f[b>>2]|0;d=b+4|0;l=f[d>>2]|0;e=b+8|0;k=f[e>>2]|0;f[g>>2]=l;f[g+4>>2]=k;f[g+8>>2]=l;f[g+12>>2]=k;g=dy(j,0,71008,g)|0;if(g|0){l=g;t=i;return l|0}if(f[b+44>>2]|0?(c=f[b>>2]|0,l=f[e>>2]|0,f[h>>2]=f[d>>2],f[h+4>>2]=l,c=dy(c,0,71058,h)|0,c|0):0){l=c;t=i;return l|0}b=Zy(f[a+4>>2]|0)|0;if(b|0){l=b;t=i;return l|0}l=Vy(a,67797,0,4)|0;t=i;return l|0}function Oy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+12|0;if(!(f[l>>2]|0)){j=f[a>>2]|0;k=a+16|0;a:do if(!(Mc()|0)){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](24)|0;f[l>>2]=e;if(!e){e=7;break}else i=e}else{e=ib[f[37372>>2]&255](24)|0;if((f[18194]|0)>>>0<24)f[18194]=24;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){i=f[18187]|0;h=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&h>>>0<=i>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(!g){m=13;break}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e;f[l>>2]=g;i=g}h=i+8|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[i+4>>2]=k;f[i>>2]=f[j+48>>2];f[i+12>>2]=1024;do if(!(Mc()|0)){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](4096)|0;f[i+20>>2]=e;if(!e)break}else{e=ib[f[37372>>2]&255](4096)|0;if((f[18194]|0)>>>0<4096)f[18194]=4096;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){k=f[18187]|0;j=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;h=ba()|0;f[17976]=((h|0)<0|(h|0)==0&j>>>0<=k>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e){m=27;break}g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g;f[i+20>>2]=e}_A(e|0,0,4096)|0;e=0;break a}else m=27;while(0);if((m|0)==27)f[i+20>>2]=0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{k=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}f[l>>2]=0;e=7}else m=13;while(0);if((m|0)==13){f[l>>2]=0;e=7}f[a+36>>2]=e}e=a+24|0;h=e;g=f[h>>2]|0;h=f[h+4>>2]|0;do if(!((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>c>>>0)){if((g|0)==(c|0)&(h|0)==(d|0)?(f[a+32>>2]|0)==0:0)break;if((f[a+16>>2]|0)<=(f[(f[a>>2]|0)+84>>2]|0)){m=e;l=m;f[l>>2]=c;c=m+4|0;f[c>>2]=d;c=a+32|0;f[c>>2]=b;c=a+36|0;d=f[c>>2]|0;f[c>>2]=0;return d|0}}while(0);Sx(a);m=e;l=m;f[l>>2]=c;c=m+4|0;f[c>>2]=d;c=a+32|0;f[c>>2]=b;c=a+36|0;d=f[c>>2]|0;f[c>>2]=0;return d|0}function Py(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=f[(f[a>>2]|0)+4>>2]|0;q=(e|0)<32768?e:32768;i=a+8|0;g=f[i>>2]|0;if(c&1){if(!g){g=1;j=4}}else{g=g+1|0;j=4}if((j|0)==4)f[i>>2]=g;p=f[a+4>>2]|0;n=g+-1|0;i=f[k>>2]|0;o=k+12|0;l=k+24|0;g=l;g=Yy(f[o>>2]|0,f[g>>2]|0,f[g+4>>2]|0,p,n,48,d,q)|0;m=i+24|0;e=f[m>>2]|0;if(!((g|0)==0&(e|0)>0)){d=g;return d|0}k=i+28|0;j=0;i=e;do{a=f[(f[k>>2]|0)+(j<<2)>>2]|0;a:do if((a|0)>0){e=0;c=0;while(1){if((e|0)>=(q|0)){g=0;break a}g=e+1|0;b:do if((h[d+e>>0]|0)>191?(b[d+g>>0]&-64)<<24>>24==-128:0)do{g=g+1|0;if((g|0)>=(q|0))break b}while((b[d+g>>0]&-64)<<24>>24==-128);while(0);c=c+1|0;if((c|0)>=(a|0))break;else e=g}if(g){i=l;g=Yy(f[o>>2]|0,f[i>>2]|0,f[i+4>>2]|0,p,n,j+49&255,d,g)|0;i=f[m>>2]|0}else g=0}else g=0;while(0);j=j+1|0}while((j|0)<(i|0)&(g|0)==0);return g|0}function Qy(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=t;t=t+16|0;h=l;if(!(f[(f[a>>2]|0)+44>>2]|0)){k=0;t=l;return k|0}f[h>>2]=0;a=Hy(a,6,h,0)|0;if(!a){i=f[h>>2]|0;do if(!(Op(i,1)|0)){a=f[i+116>>2]|0;h=a+8|0;if(!(d[h>>1]&9216)){f[a>>2]=c;f[a+4>>2]=e;d[h>>1]=4;break}else{bf(a,c,e);break}}while(0);h=f[g>>2]|0;a=f[g+4>>2]|0;if((h|0)==0|(Op(i,2)|0)!=0){Ei(i)|0;if(!i)a=0;else k=13}else{a=$e((f[i+116>>2]|0)+40|0,h,a,0,0)|0;if(a|0?(j=f[i>>2]|0,f[j+64>>2]=a,Bg(j,a),j=f[i>>2]|0,(a|0)==3082|(b[j+81>>0]|0)!=0):0)Di(j);Ei(i)|0;k=13}do if((k|0)==13){a=f[i>>2]|0;k=i+128|0;j=f[k+4>>2]|0;if((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)Hi(a,i);h=fg(i)|0;f[i+20>>2]=770837923;f[i+36>>2]=-1;f[i+40>>2]=0;b[i+142>>0]=2;f[i+44>>2]=0;f[i+32>>2]=1;b[i+143>>0]=-1;f[i+48>>2]=0;k=i+64|0;f[k>>2]=0;f[k+4>>2]=0;if((h|0)==3082|(b[a+81>>0]|0)!=0){Di(a);a=7;break}else{a=f[a+68>>2]&h;break}}while(0);Op(i,2)|0}k=a;t=l;return k|0}function Ry(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=f[b+16>>2]|0;if((m|0)<2){m=0;return m|0}h=b+20|0;e=f[h>>2]|0;a:do if((e|0)>0){g=m+-1|0;c=0;while(1){d=f[b+24+(c*12|0)+4>>2]|0;if((d|0)==(m|0))break;if((d|0)==(g|0)?(f[b+24+(c*12|0)>>2]|0)==(g|0):0)break;c=c+1|0;if((c|0)>=(e|0))break a}f[b>>2]=(f[b>>2]|0)+1;m=b;return m|0}while(0);c=(e*12|0)+52|0;d=a+36|0;if(f[d>>2]|0){m=0;return m|0}l=Fd(c)|0;if(!l){if((c|0)<=0){m=0;return m|0}f[d>>2]=7;m=0;return m|0}_A(l|0,0,c|0)|0;c=m*12|0;f[l+20>>2]=(f[h>>2]|0)+1;f[l>>2]=1;i=b+8|0;k=f[i+4>>2]|0;j=l+8|0;f[j>>2]=f[i>>2];f[j+4>>2]=k;j=l+24|0;k=f[h>>2]|0;do if(!(f[d>>2]|0)){e=Fd(c)|0;if(!e){if((c|0)<=0)break;f[d>>2]=7;break}_A(e|0,0,c|0)|0;i=j+(k*12|0)+8|0;f[i>>2]=e;c=f[h>>2]|0;if((c|0)>0){d=0;do{h=c;c=c+-1|0;g=b+24+(c*12|0)+4|0;if((f[g>>2]|0)>0){a=b+24+(c*12|0)+8|0;e=0;do{n=(f[i>>2]|0)+(d*12|0)|0;o=(f[a>>2]|0)+(e*12|0)|0;f[n>>2]=f[o>>2];f[n+4>>2]=f[o+4>>2];f[n+8>>2]=f[o+8>>2];d=d+1|0;e=e+1|0}while((e|0)<(f[g>>2]|0))}}while((h|0)>1)}f[j+(k*12|0)+4>>2]=m;f[l+16>>2]=m;o=l;return o|0}while(0);f[j+(k*12|0)+8>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);o=0;return o|0}else{o=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);o=0;return o|0}return 0}function Sy(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=f[a+24>>2]|0;t=(e|0)<32768?e:32768;i=a+12|0;g=f[i>>2]|0;if(c&1){if(!g){g=1;j=4}}else{g=g+1|0;j=4}if((j|0)==4)f[i>>2]=g;r=a+28|0;switch(f[(f[r>>2]|0)+48>>2]|0){case 0:{q=f[a+8>>2]|0;n=g+-1|0;p=q;q=((q|0)<0)<<31>>31;break}case 2:{n=f[a+8>>2]|0;p=0;q=0;break}default:{n=0;p=0;q=0}}o=(s|0)==0;a:do if(!o){if((e|0)>0){g=t;i=101;do{m=g;g=g+-1|0;l=i^b[d+g>>0];i=l<<3^l}while((m|0)>1);g=i&511}else g=101;c=s+(g<<2)|0;g=f[c>>2]|0;if(g|0)do{if(((f[g+8>>2]|0)==0?(f[g+4>>2]|0)==(t|0):0)?(Hz(f[g>>2]|0,d,t)|0)==0:0){g=1;j=0;break a}g=f[g+12>>2]|0}while((g|0)!=0);i=t+16|0;g=Fd(i)|0;if(!g){g=0;j=(i|0)>0?7:0;break}else{_A(g|0,0,i|0)|0;j=g+16|0;f[g>>2]=j;f[g+4>>2]=t;f[g+8>>2]=0;YA(j|0,d|0,t|0)|0;f[g+12>>2]=f[c>>2];f[c>>2]=g;g=0;j=0;break}}else{g=0;j=0}while(0);if(!(g|j)){i=a;i=QA(f[i>>2]|0,f[i+4>>2]|0,9,0)|0;i=KA(i|0,ba()|0,p|0,q|0)|0;g=ba()|0;m=WA(i|0,g|0,3)|0;l=ba()|0;g=KA(i|0,g|0,n|0,((n|0)<0)<<31>>31|0)|0;l=KA(g|0,ba()|0,m|0,l|0)|0;m=ba()|0;g=WA(l|0,m|0,3)|0;i=ba()|0;m=KA(l|0,m|0,48,0)|0;i=KA(m|0,ba()|0,g|0,i|0)|0;g=ba()|0;if((e|0)>0){c=0;do{m=b[d+c>>0]|0;i=QA(i|0,g|0,9,0)|0;i=KA(i|0,ba()|0,m|0,((m|0)<0)<<31>>31|0)|0;g=ba()|0;c=c+1|0}while((c|0)!=(t|0))}m=a+16|0;k=m;l=f[k+4>>2]^g;f[m>>2]=f[k>>2]^i;f[m+4>>2]=l}if(j|0){d=j;return d|0}l=((n|0)<0)<<31>>31;m=a+16|0;k=0;while(1){g=f[r>>2]|0;if((k|0)>=(f[g+24>>2]|0)){g=0;j=58;break}j=f[(f[g+28>>2]|0)+(k<<2)>>2]|0;b:do if((j|0)>0){i=0;c=0;while(1){if((i|0)>=(t|0)){g=0;break b}g=i+1|0;c:do if((h[d+i>>0]|0)>191?(b[d+g>>0]&-64)<<24>>24==-128:0)while(1){g=g+1|0;if((g|0)>=(t|0)){e=g;break c}if((b[d+g>>0]&-64)<<24>>24!=-128){e=g;break}}else e=g;while(0);c=c+1|0;if((c|0)>=(j|0))break;else i=e}if(e){j=k+1|0;do if(!o){if((e|0)>0){i=e;g=101;do{c=i;i=i+-1|0;g=g^b[d+i>>0];g=g<<3^g}while((c|0)>1)}else g=101;c=s+(((g^j)&511)<<2)|0;g=f[c>>2]|0;if(g|0)do{if(((f[g+8>>2]|0)==(j|0)?(f[g+4>>2]|0)==(e|0):0)?(Hz(f[g>>2]|0,d,e)|0)==0:0){g=0;break b}g=f[g+12>>2]|0}while((g|0)!=0);g=e+16|0;i=Fd(g)|0;if(!i){g=(g|0)>0?7:0;break}else{_A(i|0,0,g|0)|0;g=i+16|0;f[i>>2]=g;f[i+4>>2]=e;f[i+8>>2]=j;YA(g|0,d|0,e|0)|0;f[i+12>>2]=f[c>>2];f[c>>2]=i;g=0;break}}else g=0;while(0);c=a;c=QA(f[c>>2]|0,f[c+4>>2]|0,9,0)|0;c=KA(c|0,ba()|0,p|0,q|0)|0;i=ba()|0;j=WA(c|0,i|0,3)|0;u=ba()|0;i=KA(c|0,i|0,n|0,l|0)|0;u=KA(i|0,ba()|0,j|0,u|0)|0;j=ba()|0;i=WA(u|0,j|0,3)|0;c=ba()|0;j=KA(u|0,j|0,k+49|0,0)|0;c=KA(j|0,ba()|0,i|0,c|0)|0;i=ba()|0;if((e|0)>0){j=0;do{u=b[d+j>>0]|0;c=QA(c|0,i|0,9,0)|0;c=KA(c|0,ba()|0,u|0,((u|0)<0)<<31>>31|0)|0;i=ba()|0;j=j+1|0}while((j|0)!=(e|0))}j=m;e=f[j+4>>2]^i;u=m;f[u>>2]=f[j>>2]^c;f[u+4>>2]=e}else g=0}else g=0;while(0);if(!g)k=k+1|0;else{j=58;break}}if((j|0)==58)return g|0;return 0}function Ty(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=t;t=t+16|0;d=g;e=f[a+8>>2]|0;f[d>>2]=f[a+4>>2];f[d+4>>2]=e;f[d+8>>2]=b;e=wd(70976,d)|0;if(!e){e=7;t=g;return e|0}f[d>>2]=0;b=Ki(f[a>>2]|0,e,-1,128,0,d,0)|0;if(!b){b=f[d>>2]|0;if((Ei(b)|0)==100){a=Jp(b,0)|0;d=ba()|0;f[c>>2]=a;f[c+4>>2]=d}b=Fi(b)|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);e=b;t=g;return e|0}else{c=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);e=b;t=g;return e|0}return 0}function Uy(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;c=Hv(a)|0;do if(c|0?(e=f[c>>2]|0,f[c>>2]=e+-1,(e|0)<2):0){e=c+20|0;if((f[e>>2]|0)>0){b=0;do{d=f[c+24+(b*12|0)+8>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{g=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);b=b+1|0}while((b|0)<(f[e>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{g=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);e=a+36|0;g=f[e>>2]|0;f[e>>2]=0;return g|0}function Vy(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;m=n+8|0;l=n+4|0;h=n;f[h>>2]=0;i=Hy(a,9,h,0)|0;if(i|0){a=i;t=n;return a|0}j=f[h>>2]|0;Sp(j,1,c,-1,0,1)|0;if(!e){h=((g|0)<0)<<31>>31;if(!(Op(j,2)|0)){c=f[j+116>>2]|0;i=c+40|0;c=c+48|0;if(!(d[c>>1]&9216)){k=i;f[k>>2]=g;f[k+4>>2]=h;d[c>>1]=4}else bf(i,g,h);Ei(j)|0;h=j;k=10}else k=9}else{Tp(j,2,e)|0;k=9}if((k|0)==9){Ei(j)|0;if(!j){i=0;h=j}else{h=j;k=10}}do if((k|0)==10){i=f[j>>2]|0;j=h+128|0;g=f[j+4>>2]|0;if((g|0)>0|(g|0)==0&(f[j>>2]|0)>>>0>0)Hi(i,h);c=fg(h)|0;f[h+20>>2]=770837923;f[h+36>>2]=-1;f[h+40>>2]=0;b[h+142>>0]=2;f[h+44>>2]=0;f[h+32>>2]=1;b[h+143>>0]=-1;f[h+48>>2]=0;j=h+64|0;f[j>>2]=0;f[j+4>>2]=0;if((c|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&c;break}}while(0);Op(h,1)|0;if(!((e|0)!=0&(i|0)==0)){a=i;t=n;return a|0}g=(f[(f[a>>2]|0)+64>>2]|0)+1|0;h=f[a+4>>2]|0;e=f[h>>2]|0;h=f[h+4>>2]|0;j=f[e>>2]|0;e=f[e+4>>2]|0;f[l>>2]=0;b[m>>0]=g>>>24;b[m+1>>0]=g>>>16;b[m+2>>0]=g>>>8;b[m+3>>0]=g;h=Wp(j,e,h,64237,10,0,1,l)|0;if(h|0){a=h;t=n;return a|0}c=f[l>>2]|0;Zp(c,m,4,0,90)|0;if(c){h=f[c+20>>2]|0;i=Fi(f[c+16>>2]|0)|0;do if(h){if(f[h+480>>2]|0){Kc(h,c);break}m=c;if((f[h+304>>2]|0)>>>0<=m>>>0?(f[h+308>>2]|0)>>>0>m>>>0:0){m=h+300|0;f[c>>2]=f[m>>2];f[m>>2]=c}else k=26}else k=26;while(0);do if((k|0)==26)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);if(i|0){a=i;t=n;return a|0}}f[(f[a>>2]|0)+64>>2]=g;a=0;t=n;return a|0}function Wy(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=t;t=t+16|0;j=l;k=f[a>>2]|0;if(!(f[k+32>>2]|0)){f[j>>2]=0;g=Hy(a,3,j,0)|0;a:do if(!g){i=k+12|0;j=f[j>>2]|0;h=1;while(1){if((h|0)>((f[i>>2]|0)+1|0))break;g=Tp(j,h,f[c+(h<<2)>>2]|0)|0;if(!g)h=h+1|0;else break a}Ei(j)|0;if(j){g=f[j>>2]|0;a=j+128|0;c=f[a+4>>2]|0;if((c|0)>0|(c|0)==0&(f[a>>2]|0)>>>0>0)Hi(g,j);h=fg(j)|0;f[j+20>>2]=770837923;f[j+36>>2]=-1;f[j+40>>2]=0;b[j+142>>0]=2;f[j+44>>2]=0;f[j+32>>2]=1;b[j+143>>0]=-1;f[j+48>>2]=0;a=j+64|0;f[a>>2]=0;f[a+4>>2]=0;if((h|0)==3082|(b[g+81>>0]|0)!=0){Di(g);g=7;break}else{g=f[g+68>>2]&h;break}}else g=0}while(0);a=(f[k>>2]|0)+40|0;k=f[a+4>>2]|0;f[e>>2]=f[a>>2];f[e+4>>2]=k;e=g;t=l;return e|0}h=f[c+4>>2]|0;g=d[h+8>>1]|0;if(1347440720>>>(g&31)&1|0){g=g&65535;do if(!(g&4)){if(g&8|0){g=Fc(+p[h>>3])|0;h=ba()|0;break}if(!(g&18)){g=0;h=0}else{g=Gc(b[h+10>>0]|0,f[h+12>>2]|0,f[h+16>>2]|0)|0;h=ba()|0}}else{g=f[h>>2]|0;h=f[h+4>>2]|0}while(0);f[e>>2]=g;f[e+4>>2]=h;e=0;t=l;return e|0}if(!(f[k+44>>2]|0)){e=20;t=l;return e|0}f[j>>2]=0;g=Hy(a,6,j,0)|0;b:do if(!g){g=f[j>>2]|0;Op(g,1)|0;Op(g,2)|0;Ei(g)|0;do if(g|0){h=f[g>>2]|0;k=g+128|0;c=f[k+4>>2]|0;if((c|0)>0|(c|0)==0&(f[k>>2]|0)>>>0>0)Hi(h,g);i=fg(g)|0;f[g+20>>2]=770837923;f[g+36>>2]=-1;f[g+40>>2]=0;b[g+142>>0]=2;f[g+44>>2]=0;f[g+32>>2]=1;b[g+143>>0]=-1;f[g+48>>2]=0;k=g+64|0;f[k>>2]=0;f[k+4>>2]=0;if(!((i|0)==3082|(b[h+81>>0]|0)!=0)){g=f[h+68>>2]&i;if(!g)break;else break b}else{Di(h);g=7;break b}}while(0);a=(f[f[a>>2]>>2]|0)+40|0;k=f[a+4>>2]|0;g=e;f[g>>2]=f[a>>2];f[g+4>>2]=k;g=0}while(0);e=g;t=l;return e|0}function Xy(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=t;t=t+32|0;z=C+12|0;h=C;j=f[a>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[z>>2]=a;i=Ky(a,1)|0;a:do if(!i){i=Oy(f[a+4>>2]|0,0,e,g)|0;y=z+4|0;f[y>>2]=0;if(!i){q=j+12|0;r=z+8|0;s=j+20|0;u=h+4|0;v=h+8|0;w=a+24|0;x=j+60|0;p=j+56|0;j=0;k=0;while(1){if((k|0)>=(f[q>>2]|0))break;f[r>>2]=0;if(!(b[(f[s>>2]|0)+k>>0]|0)){i=c+(k+2<<2)|0;k=f[i>>2]|0;do if(k){l=d[k+8>>1]|0;if((l&514)==514?(b[k+10>>0]|0)==1:0){m=f[k+16>>2]|0;break}if(!(l&1)){m=Ic(k,1)|0;i=c+((f[y>>2]|0)+2<<2)|0}else m=0}else m=0;while(0);l=f[i>>2]|0;i=d[l+8>>1]|0;if((i&2)!=0?(b[l+10>>0]|0)==1:0)i=f[l+12>>2]|0;else B=17;do if((B|0)==17){B=0;k=i&65535;if(!(k&16)){if(k&1|0){i=0;break}i=_e(l,1)|0;break}else{i=f[l+12>>2]|0;if(!(k&16384))break;i=(f[l>>2]|0)+i|0;break}}while(0);if(!m)i=0;else i=nb[f[(f[x>>2]|0)+8>>2]&127](f[p>>2]|0,z,4,m,i,91)|0;n=f[r>>2]|0}else{i=0;n=0}o=((n|0)<0)<<31>>31;m=j+9|0;k=f[v>>2]|0;if(m>>>0>k>>>0){l=(k|0)==0?64:k;while(1)if(l>>>0>>0)l=l<<1;else break;k=f[h>>2]|0;if((Mc()|0)==0?(A=Nc(k,(l|0)>0?l:0,0)|0,(A|0)!=0):0){f[v>>2]=l;f[h>>2]=A;k=A;B=32}else i=7}else{k=f[h>>2]|0;B=32}if((B|0)==32){B=0;k=k+j|0;do if(n>>>0>=128)if(n>>>0<16384){o=VA(n|0,o|0,7)|0;ba()|0;b[k>>0]=o&255|-128;b[k+1>>0]=n&127;k=2;break}else{k=Zv(k,n,o)|0;j=f[u>>2]|0;break}else{b[k>>0]=n&127;k=1}while(0);j=j+k|0;f[u>>2]=j}m=f[r>>2]|0;k=f[y>>2]|0;o=(f[w>>2]|0)+(k<<3)|0;n=o;m=KA(f[n>>2]|0,f[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;n=ba()|0;f[o>>2]=m;f[o+4>>2]=n;k=k+1|0;f[y>>2]=k;if(i|0){B=39;break a}}i=a+16|0;z=i;z=KA(f[z>>2]|0,f[z+4>>2]|0,1,0)|0;A=ba()|0;f[i>>2]=z;f[i+4>>2]=A;i=Qy(a,e,g,h)|0}else B=4}else{f[z+4>>2]=0;B=4}while(0);if((B|0)==4)B=39;if((B|0)==39){B=a+16|0;A=B;A=KA(f[A>>2]|0,f[A+4>>2]|0,1,0)|0;a=ba()|0;f[B>>2]=A;f[B+4>>2]=a}h=f[h>>2]|0;if(!h){t=C;return i|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);t=C;return i|0}else{B=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);t=C;return i|0}return 0}function Yy(a,c,e,g,i,j,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;p=(f[a>>2]|0)==0&1;x=a+12|0;o=f[x>>2]|0;y=(l|0)>0;if(y){n=l;m=101;do{D=n;n=n+-1|0;m=m^h[k+n>>0];m=m<<3^m}while((D|0)>1)}else m=101;B=j&255;q=((m^B)>>>0)%(o>>>0)|0;D=a+20|0;w=f[D>>2]|0;m=f[w+(q<<2)>>2]|0;a:do if(!m)F=10;else{r=m;while(1){m=r+40|0;if(((b[m>>0]|0)==j<<24>>24?(f[r+20>>2]|0)==(l|0):0)?(Hz(m+1|0,k,l)|0)==0:0)break;m=f[r>>2]|0;if(!m){F=10;break a}else r=m}n=f[r+8>>2]|0;m=f[r+16>>2]|0;if((n-m|0)<22){m=n<<1;if(Mc()|0){a=7;return a|0}o=Nc(r,(m|0)>0?m:0,0)|0;if(!o){a=7;return a|0}f[o+8>>2]=m;m=(f[D>>2]|0)+(q<<2)|0;while(1){n=f[m>>2]|0;if((n|0)==(r|0))break;else m=n}f[m>>2]=o;n=o;m=f[o+16>>2]|0}else n=r;v=0-m|0;u=n}while(0);if((F|0)==10){z=l+1|0;A=l+106|0;A=(A|0)>128?A:128;C=a+8|0;if((f[C>>2]<<1|0)>=(o|0)){v=o<<1;m=o<<3;u=Fd(m)|0;if(!u){a=7;return a|0}_A(u|0,0,m|0)|0;t=f[x>>2]|0;if((t|0)<=0){if(w|0)F=22}else{r=0;do{s=w+(r<<2)|0;m=f[s>>2]|0;if(m|0)do{f[s>>2]=f[m>>2];q=m+40|0;n=wz(q)|0;if((n|0)>0){o=n;n=13;do{F=o;o=o+-1|0;n=n<<3^n^h[q+o>>0]}while((F|0)>1)}else n=13;F=u+(((n>>>0)%(v>>>0)|0)<<2)|0;f[m>>2]=f[F>>2];f[F>>2]=m;m=f[s>>2]|0}while((m|0)!=0);r=r+1|0}while((r|0)!=(t|0));F=22}do if((F|0)==22)if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{t=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}while(0);f[x>>2]=v;f[D>>2]=u;if(y){n=l;m=101;do{y=n;n=n+-1|0;m=m^h[k+n>>0];m=m<<3^m}while((y|0)>1)}else m=101;q=((m^B)>>>0)%(v>>>0)|0}r=Fd(A)|0;if(!r){a=7;return a|0}m=r;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[r+8>>2]=A;m=r+40|0;b[m>>0]=j;YA(r+41|0,k|0,l|0)|0;f[r+20>>2]=l;b[m+z>>0]=0;m=l+42|0;o=r+16|0;f[o>>2]=m;D=(f[D>>2]|0)+(q<<2)|0;f[r>>2]=f[D>>2];f[D>>2]=r;f[C>>2]=(f[C>>2]|0)+1;m=r+m|0;do if(!(e>>>0<0|(e|0)==0&c>>>0<128))if(e>>>0<0|(e|0)==0&c>>>0<16384){D=VA(c|0,e|0,7)|0;ba()|0;b[m>>0]=D&255|-128;b[m+1>>0]=c&127;m=2;break}else{m=Zv(m,c,e)|0;break}else{b[m>>0]=c&127;m=1}while(0);m=(f[o>>2]|0)+m|0;f[o>>2]=m;n=r+32|0;f[n>>2]=c;f[n+4>>2]=e;f[r+12>>2]=m;n=f[a>>2]|0;if((n|0)==1){v=m;u=r}else{v=m+1|0;f[o>>2]=v;d[r+26>>1]=((n|0)!=0)<<31>>31;u=r}}t=u+32|0;m=t;n=f[m>>2]|0;m=f[m+4>>2]|0;if(!((n|0)==(c|0)&(m|0)==(e|0))){s=u+12|0;o=f[s>>2]|0;if(o){do if((f[a>>2]|0)==1){m=u+24|0;if((b[m>>0]|0)!=0?(E=u+16|0,D=f[E>>2]|0,f[E>>2]=D+1,b[u+D>>0]=0,(b[u+25>>0]|0)!=0):0){D=f[E>>2]|0;f[E>>2]=D+1;b[u+D>>0]=0}}else{p=u+16|0;n=(f[p>>2]|0)-o+-1|0;m=u+24|0;q=(n<<1)+(h[m>>0]|0)|0;if((q|0)<128){b[u+o>>0]=q;break}E=q>>>0<16384;r=E?2:q>>>0<2097152?3:q>>>0<268435456?4:5;ZA(u+(r+o)|0,u+(o+1)|0,n|0)|0;n=u+(f[s>>2]|0)|0;o=((q|0)<0)<<31>>31;if(E){E=VA(q|0,o|0,7)|0;ba()|0;b[n>>0]=E&255|-128;b[n+1>>0]=q&127}else Zv(n,q,o)|0;f[p>>2]=r+-1+(f[p>>2]|0)}while(0);f[s>>2]=0;b[m>>0]=0;b[u+25>>0]=0;m=t;n=f[m>>2]|0;m=f[m+4>>2]|0}p=u+16|0;o=u+(f[p>>2]|0)|0;m=LA(c|0,e|0,n|0,m|0)|0;n=ba()|0;do if(!(n>>>0<0|(n|0)==0&m>>>0<128))if(n>>>0<0|(n|0)==0&m>>>0<16384){E=VA(m|0,n|0,7)|0;ba()|0;b[o>>0]=E&255|-128;b[o+1>>0]=m&127;m=2;break}else{m=Zv(o,m,n)|0;break}else{b[o>>0]=m&127;m=1}while(0);n=(f[p>>2]|0)+m|0;f[p>>2]=n;m=t;f[m>>2]=c;f[m+4>>2]=e;f[s>>2]=n;m=f[a>>2]|0;if((m|0)==1)p=1;else{f[p>>2]=n+1;d[u+26>>1]=((m|0)!=0)<<31>>31;f[u+28>>2]=0;p=1}}do if((g|0)>-1){m=f[a>>2]|0;if((m|0)==1){b[u+25>>0]=1;break}q=u+26|0;do if((d[q>>1]|0)==(g|0))F=76;else{if(m|0){d[q>>1]=g;break}o=u+16|0;m=f[o>>2]|0;f[o>>2]=m+1;b[u+m>>0]=1;m=u+(f[o>>2]|0)|0;n=((g|0)<0)<<31>>31;do if(g>>>0>=128)if(g>>>0<16384){e=VA(g|0,n|0,7)|0;ba()|0;b[m>>0]=e&255|-128;b[m+1>>0]=g&127;m=2;break}else{m=Zv(m,g,n)|0;break}else{b[m>>0]=g&127;m=1}while(0);f[o>>2]=(f[o>>2]|0)+m;d[q>>1]=g;f[u+28>>2]=0;F=76}while(0);if((F|0)==76)if(!p)break;else g=i;p=u+16|0;m=u+(f[p>>2]|0)|0;q=u+28|0;n=g-(f[q>>2]|0)+2|0;o=((n|0)<0)<<31>>31;do if(n>>>0>=128)if(n>>>0<16384){i=VA(n|0,o|0,7)|0;ba()|0;b[m>>0]=i&255|-128;b[m+1>>0]=n&127;m=2;break}else{m=Zv(m,n,o)|0;break}else{b[m>>0]=n&127;m=1}while(0);f[p>>2]=(f[p>>2]|0)+m;f[q>>2]=g}else b[u+24>>0]=1;while(0);a=f[a+4>>2]|0;f[a>>2]=(f[u+16>>2]|0)+v+(f[a>>2]|0);a=0;return a|0}function Zy(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=t;t=t+48|0;h=i;d=a+80|0;e=f[d>>2]|0;if(!e){b=h;c=b+40|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));ay(a,1,0,72788,0);$x(a,h);a=a+36|0;h=f[a>>2]|0;f[a>>2]=0;t=i;return h|0}g=f[e>>2]|0;f[e>>2]=g+-1;do if((g|0)<2){g=e+20|0;if((f[g>>2]|0)>0){b=0;do{c=f[e+24+(b*12|0)+8>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{j=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);b=b+1|0}while((b|0)<(f[g>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{j=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[d>>2]=0;b=h;c=b+40|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));ay(a,1,0,72788,0);$x(a,h);h=a+36|0;j=f[h>>2]|0;f[h>>2]=0;t=i;return j|0}function _y(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=t;t=t+16|0;p=s;r=f[a+56>>2]|0;c=Ei(f[r>>2]|0)|0;switch(c|0){case 101:{c=1;break}case 100:{d=2;break}default:{a=c;t=s;return a|0}}if((d|0)==2){o=Jp(f[r>>2]|0,0)|0;e=ba()|0;q=r+8|0;f[q>>2]=o;f[q+4>>2]=e;q=Gp(f[r>>2]|0,1)|0;e=f[r>>2]|0;if(!e)g=lf(37592)|0;else{c=f[e+104>>2]|0;if((c|0)!=0?(j[e+140>>1]|0)>1:0){c=c+40|0;d=e}else{c=f[e>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592;d=e}g=lf(c)|0;d=f[d>>2]|0;e=e+40|0;c=f[e>>2]|0;if((c|0)==3082|(b[d+81>>0]|0)!=0){Di(d);c=7}else c=f[d+68>>2]&c;f[e>>2]=c}if((q|0)>0){o=r+20|0;e=f[o>>2]|0;if((e|0)>1){d=0;c=g;n=0;do{i=h[c>>0]|0;do if(i&128){k=h[c+1>>0]|0;if(!(k&128)){m=2;i=i<<7&16256|k;break}l=h[c+2>>0]|0;if(!(l&128)){m=3;i=(i<<14|l)&2080895|k<<7&16256;break}else{m=yv(c,p)|0;m=m&255;i=f[p>>2]|0;e=f[o>>2]|0;break}}else m=1;while(0);c=c+m|0;n=i+n|0;f[r+24+(d<<2)>>2]=n;d=d+1|0}while((d|0)<(e+-1|0))}else{d=0;c=g}f[r+24+(d<<2)>>2]=g+q-c;f[r+16>>2]=c;c=78}else c=78}a=a+60|0;f[a>>2]=f[a>>2]|c;a=0;t=s;return a|0}function $y(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+128|0;l=m+88|0;j=m+96|0;k=m+92|0;d=m;f[k>>2]=0;f[d>>2]=e;if(Mc()|0){c=7;l=f[k>>2]|0;f[a>>2]=l;t=m;return c|0}i=j+4|0;f[i>>2]=m+16;f[j>>2]=0;f[j+8>>2]=70;e=j+12|0;f[e>>2]=1e9;g=j+16|0;f[g>>2]=0;b[j+20>>0]=0;h=j+21|0;b[h>>0]=0;Bc(j,71211,d);d=f[i>>2]|0;if(((d|0)!=0?(b[d+(f[g>>2]|0)>>0]=0,(f[e>>2]|0)!=0):0)?(b[h>>0]&4)==0:0)d=Cc(j)|0;else d=f[i>>2]|0;if(!d){c=7;l=f[k>>2]|0;f[a>>2]=l;t=m;return c|0}e=Ki(f[c>>2]|0,d,-1,129,0,k,0)|0;if(!e)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);c=0;l=f[k>>2]|0;f[a>>2]=l;t=m;return c|0}else{c=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);c=0;l=f[k>>2]|0;f[a>>2]=l;t=m;return c|0}else{j=Mj(f[c>>2]|0)|0;f[l>>2]=j;l=wd(40840,l)|0;f[f[c+96>>2]>>2]=l;if(!(f[9328]|0)){ob[f[37360>>2]&127](d);c=e;l=f[k>>2]|0;f[a>>2]=l;t=m;return c|0}else{c=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);c=e;l=f[k>>2]|0;f[a>>2]=l;t=m;return c|0}}return 0}function az(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;if(!a)return;d=a+80|0;e=f[d>>2]|0;if(e|0){h=f[e>>2]|0;f[e>>2]=h+-1;do if((h|0)<2){g=e+20|0;if((f[g>>2]|0)>0){b=0;do{c=f[e+24+(b*12|0)+8>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{h=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);b=b+1|0}while((b|0)<(f[g>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{h=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[d>>2]=0}Fi(f[a+44>>2]|0)|0;Fi(f[a+48>>2]|0)|0;Fi(f[a+52>>2]|0)|0;Fi(f[a+56>>2]|0)|0;Fi(f[a+60>>2]|0)|0;Fi(f[a+68>>2]|0)|0;h=f[a+12>>2]|0;do if(h|0){e=h+12|0;b=f[e>>2]|0;g=h+20|0;if((b|0)>0){d=0;do{c=f[(f[g>>2]|0)+(d<<2)>>2]|0;if(c){b=c;do{c=b;b=f[b>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((b|0)!=0);b=f[e>>2]|0}d=d+1|0}while((d|0)<(b|0))}_A(f[g>>2]|0,0,b<<2|0)|0;f[h+8>>2]=0;b=f[g>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{i=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{i=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}}while(0);b=f[a+4>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{i=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{i=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function bz(a){a=a|0;var b=0;if(!a)return;Fi(f[a+28>>2]|0)|0;Fi(f[a+32>>2]|0)|0;Fi(f[a+36>>2]|0)|0;Fi(f[a+40>>2]|0)|0;Fi(f[a+44>>2]|0)|0;Fi(f[a+48>>2]|0)|0;Fi(f[a+52>>2]|0)|0;Fi(f[a+56>>2]|0)|0;Fi(f[a+60>>2]|0)|0;Fi(f[a+64>>2]|0)|0;Fi(f[a+68>>2]|0)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function cz(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=t;t=t+272|0;M=P+248|0;L=P+232|0;K=P+224|0;J=P+208|0;H=P+184|0;G=P+168|0;D=P+144|0;C=P+128|0;z=P+104|0;y=P+96|0;B=P+88|0;w=P+72|0;q=P+48|0;r=P+32|0;v=P+8|0;N=P;u=P+264|0;o=P+260|0;f[o>>2]=0;if(Mc()|0){i=0;O=7;f[h>>2]=i;t=P;return O|0}if(!(f[9328]|0)){k=ib[f[37356>>2]&255](32)|0;if(!k){i=0;O=7;f[h>>2]=i;t=P;return O|0}}else{j=ib[f[37372>>2]&255](32)|0;if((f[18194]|0)>>>0<32)f[18194]=32;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){F=f[18187]|0;x=LA(k|0,l|0,j|0,((j|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&x>>>0<=F>>>0)&1}k=ib[f[37356>>2]&255](j)|0;if(!k){i=0;O=7;f[h>>2]=i;t=P;return O|0}j=ib[f[37368>>2]&255](k)|0;j=(f[18187]|0)+j|0;f[18187]=j;if(j>>>0>(f[18191]|0)>>>0)f[18191]=j;j=(f[18190]|0)+1|0;f[18190]=j;if(j>>>0>(f[18196]|0)>>>0)f[18196]=j}m=k;n=m+32|0;do{b[m>>0]=0;m=m+1|0}while((m|0)<(n|0));j=Nw(d,c,e,g,o,i)|0;a:do if(!j){F=f[o>>2]|0;l=k+12|0;f[l>>2]=F;f[k+24>>2]=d;c=k+16|0;f[u>>2]=0;do if(!(Mc()|0)){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](88)|0;if(!e){O=26;break}}else{j=ib[f[37372>>2]&255](88)|0;if((f[18194]|0)>>>0<88)f[18194]=88;m=71896;e=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&e>>>0>0){x=f[18187]|0;d=LA(e|0,m|0,j|0,((j|0)<0)<<31>>31|0)|0;o=ba()|0;f[17976]=((o|0)<0|(o|0)==0&d>>>0<=x>>>0)&1}e=ib[f[37356>>2]&255](j)|0;if(!e){O=26;break}j=ib[f[37368>>2]&255](e)|0;j=(f[18187]|0)+j|0;f[18187]=j;if(j>>>0>(f[18191]|0)>>>0)f[18191]=j;j=(f[18190]|0)+1|0;f[18190]=j;if(j>>>0>(f[18196]|0)>>>0)f[18196]=j}j=e+4|0;m=j;n=m+84|0;do{b[m>>0]=0;m=m+1|0}while((m|0)<(n|0));f[c>>2]=e;f[e>>2]=F;f[e+8>>2]=64;x=F+8|0;f[N>>2]=f[x>>2];d=iw(u,71444,N)|0;f[j>>2]=d;if((a|0)!=0&(d|0)!=0){f[N>>2]=0;j=f[F>>2]|0;m=F+4|0;n=f[x>>2]|0;f[v>>2]=f[m>>2];f[v+4>>2]=n;f[v+8>>2]=60838;f[v+12>>2]=71482;f[v+16>>2]=72788;j=dy(j,N,71452,v)|0;n=f[N>>2]|0;do if(n|0?(f[r>>2]=f[x>>2],f[r+4>>2]=60838,f[r+8>>2]=n,p=wd(71517,r)|0,f[i>>2]=p,p=f[N>>2]|0,p|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{r=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);f[u>>2]=j;if(j|0)break;f[v>>2]=0;j=f[F>>2]|0;r=f[x>>2]|0;f[q>>2]=f[m>>2];f[q+4>>2]=r;f[q+8>>2]=47829;f[q+12>>2]=71561;f[q+16>>2]=71605;j=dy(j,v,71452,q)|0;m=f[v>>2]|0;do if(m|0?(f[w>>2]=f[x>>2],f[w+4>>2]=47829,f[w+8>>2]=m,s=wd(71517,w)|0,f[i>>2]=s,s=f[v>>2]|0,s|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{w=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}while(0);f[u>>2]=j;if(j|0)break;j=Zy(e)|0;f[u>>2]=j}else j=f[u>>2]|0;if(!j){j=f[c>>2]|0;g=k+20|0;d=F+12|0;e=(f[d>>2]<<3)+72|0;o=Fd(e)|0;f[g>>2]=o;if(!o){j=7;break a}_A(o|0,0,e|0)|0;f[o+24>>2]=o+72;f[o>>2]=F;f[o+4>>2]=j;b:do if(a|0){if(!(f[F+32>>2]|0)){m=((f[d>>2]|0)*10|0)+32|0;n=Fd(m)|0;if(n){vd(m,n,71620,B)|0;if((f[d>>2]|0)>0){j=0;e=wz(n)|0;do{a=n+e|0;f[y>>2]=j;vd(m-e|0,a,71643,y)|0;e=(wz(a)|0)+e|0;j=j+1|0}while((j|0)<(f[d>>2]|0))}f[B>>2]=0;j=f[F>>2]|0;e=f[x>>2]|0;f[z>>2]=f[F+4>>2];f[z+4>>2]=e;f[z+8>>2]=63175;f[z+12>>2]=n;f[z+16>>2]=72788;j=dy(j,B,71452,z)|0;e=f[B>>2]|0;do if(e|0?(f[C>>2]=f[x>>2],f[C+4>>2]=63175,f[C+8>>2]=e,A=wd(71517,C)|0,f[i>>2]=A,A=f[B>>2]|0,A|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{C=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](n);else{C=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n)}if(!j)O=60}else j=7}else O=60;do if((O|0)==60){if(f[F+44>>2]|0){f[N>>2]=0;j=f[F>>2]|0;m=F+4|0;e=f[x>>2]|0;f[D>>2]=f[m>>2];f[D+4>>2]=e;f[D+8>>2]=63183;f[D+12>>2]=71649;f[D+16>>2]=72788;j=dy(j,N,71452,D)|0;e=f[N>>2]|0;do if(e|0?(f[G>>2]=f[x>>2],f[G+4>>2]=63183,f[G+8>>2]=e,E=wd(71517,G)|0,f[i>>2]=E,E=f[N>>2]|0,E|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](E);break}else{G=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);break}while(0);if(!j){e=F;j=m}else break}else{e=F;j=F+4|0}f[N>>2]=0;e=f[e>>2]|0;G=f[x>>2]|0;f[H>>2]=f[j>>2];f[H+4>>2]=G;f[H+8>>2]=70035;f[H+12>>2]=71681;f[H+16>>2]=71605;j=dy(e,N,71452,H)|0;e=f[N>>2]|0;do if(e|0?(f[J>>2]=f[x>>2],f[J+4>>2]=70035,f[J+8>>2]=e,I=wd(71517,J)|0,f[i>>2]=I,I=f[N>>2]|0,I|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](I);break}else{J=ib[f[37368>>2]&255](I)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](I);break}while(0);if(!j){j=Vy(o,67797,0,4)|0;if(!j)break b}}while(0);bz(o);f[g>>2]=0;break a}while(0);f[N>>2]=0;j=iw(N,71698,K)|0;c:do if(!j)j=0;else{m=F+16|0;e=0;while(1){if((e|0)>=(f[d>>2]|0))break c;K=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[L>>2]=j;f[L+4>>2]=(e|0)==0?72788:54720;f[L+8>>2]=K;j=iw(N,71714,L)|0;if(!j){j=0;break}else e=e+1|0}}while(0);e=f[x>>2]|0;f[M>>2]=j;f[M+4>>2]=e;f[M+8>>2]=42283;e=iw(N,71721,M)|0;do if(e){j=wk(f[F>>2]|0,e)|0;f[N>>2]=j;if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{N=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}else j=f[N>>2]|0;while(0);if(!j){N=F+96|0;f[N>>2]=i;j=Uy(f[c>>2]|0)|0;Px(f[c>>2]|0);f[N>>2]=0;if(!j)j=0;else break a;f[h>>2]=k;t=P;return j|0}else{if(!k)k=0;else{O=88;break a}f[h>>2]=k;t=P;return j|0}}}else O=26;while(0);if((O|0)==26){f[u>>2]=7;f[c>>2]=0;e=0;j=7}az(e);f[c>>2]=0}else O=88;while(0);if((O|0)==88){c=k+16|0;l=k+12|0}az(f[c>>2]|0);bz(f[k+20>>2]|0);Rw(f[l>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);i=0;O=j;f[h>>2]=i;t=P;return O|0}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);i=0;O=j;f[h>>2]=i;t=P;return O|0}return 0}function dz(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+16|0;n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[18041]|0;c=m>>>a;if(c&3|0){b=(c&1^1)+a|0;a=72204+(b<<1<<2)|0;c=a+8|0;d=f[c>>2]|0;e=d+8|0;g=f[e>>2]|0;if((g|0)==(a|0))f[18041]=m&~(1<>2]=a;f[c>>2]=g}w=b<<3;f[d+4>>2]=w|3;w=d+w+4|0;f[w>>2]=f[w>>2]|1;w=e;t=x;return w|0}l=f[18043]|0;if(k>>>0>l>>>0){if(c|0){b=2<>>12&16;b=b>>>i;c=b>>>5&8;b=b>>>c;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;d=b>>>1&1;d=(c|i|g|a|d)+(b>>>d)|0;b=72204+(d<<1<<2)|0;a=b+8|0;g=f[a>>2]|0;i=g+8|0;c=f[i>>2]|0;if((c|0)==(b|0)){a=m&~(1<>2]=b;f[a>>2]=c;a=m}w=d<<3;h=w-k|0;f[g+4>>2]=k|3;e=g+k|0;f[e+4>>2]=h|1;f[g+w>>2]=h;if(l|0){d=f[18046]|0;b=l>>>3;c=72204+(b<<1<<2)|0;b=1<>2]|0}f[a>>2]=d;f[b+12>>2]=d;f[d+8>>2]=b;f[d+12>>2]=c}f[18043]=h;f[18046]=e;w=i;t=x;return w|0}g=f[18042]|0;if(g){c=(g&0-g)+-1|0;e=c>>>12&16;c=c>>>e;d=c>>>5&8;c=c>>>d;h=c>>>2&4;c=c>>>h;i=c>>>1&2;c=c>>>i;j=c>>>1&1;j=f[72468+((d|e|h|i|j)+(c>>>j)<<2)>>2]|0;c=j;i=j;j=(f[j+4>>2]&-8)-k|0;while(1){a=f[c+16>>2]|0;if(!a){a=f[c+20>>2]|0;if(!a)break}h=(f[a+4>>2]&-8)-k|0;e=h>>>0>>0;c=a;i=e?a:i;j=e?h:j}h=i+k|0;if(h>>>0>i>>>0){e=f[i+24>>2]|0;b=f[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=f[a>>2]|0;if(!b){a=i+16|0;b=f[a>>2]|0;if(!b){c=0;break}}while(1){d=b+20|0;c=f[d>>2]|0;if(!c){d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[i+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);do if(e|0){b=f[i+28>>2]|0;a=72468+(b<<2)|0;if((i|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[18042]=g&~(1<>2]|0)==(i|0)?w:e+20|0)>>2]=c;if(!c)break}f[c+24>>2]=e;b=f[i+16>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}b=f[i+20>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}while(0);if(j>>>0<16){w=j+k|0;f[i+4>>2]=w|3;w=i+w+4|0;f[w>>2]=f[w>>2]|1}else{f[i+4>>2]=k|3;f[h+4>>2]=j|1;f[h+j>>2]=j;if(l|0){d=f[18046]|0;b=l>>>3;c=72204+(b<<1<<2)|0;b=1<>2]|0}f[a>>2]=d;f[b+12>>2]=d;f[d+8>>2]=b;f[d+12>>2]=c}f[18043]=j;f[18046]=h}w=i+8|0;t=x;return w|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;d=f[18042]|0;if(d){e=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;j=14-(i|m|j)+(q<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;c=f[72468+(j<<2)>>2]|0;a:do if(!c){c=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(f[c+4>>2]&-8)-k|0;if(h>>>0>>0)if(!h){a=c;e=0;q=65;break a}else{a=c;e=h}q=f[c+20>>2]|0;c=f[c+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(c|0)?g:q;if(!c){c=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((c|0)==0&(a|0)==0){a=2<>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;c=m>>>1&1;a=0;c=f[72468+((g|h|i|j|c)+(m>>>c)<<2)>>2]|0}if(!c){i=a;h=e}else q=65}if((q|0)==65){g=c;while(1){m=(f[g+4>>2]&-8)-k|0;c=m>>>0>>0;e=c?m:e;a=c?g:a;c=f[g+16>>2]|0;if(!c)c=f[g+20>>2]|0;if(!c){i=a;h=e;break}else g=c}}if(((i|0)!=0?h>>>0<((f[18043]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=f[i+24>>2]|0;b=f[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=f[a>>2]|0;if(!b){a=i+16|0;b=f[a>>2]|0;if(!b){b=0;break}}while(1){e=b+20|0;c=f[e>>2]|0;if(!c){e=b+16|0;c=f[e>>2]|0;if(!c)break;else{b=c;a=e}}else{b=c;a=e}}f[a>>2]=0}else{w=f[i+8>>2]|0;f[w+12>>2]=b;f[b+8>>2]=w}while(0);do if(g){a=f[i+28>>2]|0;c=72468+(a<<2)|0;if((i|0)==(f[c>>2]|0)){f[c>>2]=b;if(!b){d=d&~(1<>2]|0)==(i|0)?w:g+20|0)>>2]=b;if(!b)break}f[b+24>>2]=g;a=f[i+16>>2]|0;if(a|0){f[b+16>>2]=a;f[a+24>>2]=b}a=f[i+20>>2]|0;if(a){f[b+20>>2]=a;f[a+24>>2]=b}}while(0);b:do if(h>>>0<16){w=h+k|0;f[i+4>>2]=w|3;w=i+w+4|0;f[w>>2]=f[w>>2]|1}else{f[i+4>>2]=k|3;f[l+4>>2]=h|1;f[l+h>>2]=h;b=h>>>3;if(h>>>0<256){c=72204+(b<<1<<2)|0;a=f[18041]|0;b=1<>2]|0}f[a>>2]=l;f[b+12>>2]=l;f[l+8>>2]=b;f[l+12>>2]=c;break}b=h>>>8;if(b)if(h>>>0>16777215)c=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;c=14-(u|v|c)+(w<>>15)|0;c=h>>>(c+7|0)&1|c<<1}else c=0;b=72468+(c<<2)|0;f[l+28>>2]=c;a=l+16|0;f[a+4>>2]=0;f[a>>2]=0;a=1<>2]=l;f[l+24>>2]=b;f[l+12>>2]=l;f[l+8>>2]=l;break}b=f[b>>2]|0;c:do if((f[b+4>>2]&-8|0)!=(h|0)){d=h<<((c|0)==31?0:25-(c>>>1)|0);while(1){c=b+16+(d>>>31<<2)|0;a=f[c>>2]|0;if(!a)break;if((f[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{d=d<<1;b=a}}f[c>>2]=l;f[l+24>>2]=b;f[l+12>>2]=l;f[l+8>>2]=l;break b}while(0);v=b+8|0;w=f[v>>2]|0;f[w+12>>2]=l;f[v>>2]=l;f[l+8>>2]=w;f[l+12>>2]=b;f[l+24>>2]=0}while(0);w=i+8|0;t=x;return w|0}else m=k}else m=k}else m=-1;while(0);c=f[18043]|0;if(c>>>0>=m>>>0){b=c-m|0;a=f[18046]|0;if(b>>>0>15){w=a+m|0;f[18046]=w;f[18043]=b;f[w+4>>2]=b|1;f[a+c>>2]=b;f[a+4>>2]=m|3}else{f[18043]=0;f[18046]=0;f[a+4>>2]=c|3;w=a+c+4|0;f[w>>2]=f[w>>2]|1}w=a+8|0;t=x;return w|0}h=f[18044]|0;if(h>>>0>m>>>0){u=h-m|0;f[18044]=u;w=f[18047]|0;v=w+m|0;f[18047]=v;f[v+4>>2]=u|1;f[w+4>>2]=m|3;w=w+8|0;t=x;return w|0}if(!(f[18159]|0)){f[18161]=4096;f[18160]=4096;f[18162]=-1;f[18163]=-1;f[18164]=0;f[18152]=0;f[18159]=n&-16^1431655768;a=4096}else a=f[18161]|0;i=m+48|0;j=m+47|0;g=a+j|0;e=0-a|0;k=g&e;if(k>>>0<=m>>>0){w=0;t=x;return w|0}a=f[18151]|0;if(a|0?(l=f[18149]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){w=0;t=x;return w|0}d:do if(!(f[18152]&4)){c=f[18047]|0;e:do if(c){d=72612;while(1){n=f[d>>2]|0;if(n>>>0<=c>>>0?(n+(f[d+4>>2]|0)|0)>>>0>c>>>0:0)break;a=f[d+8>>2]|0;if(!a){q=128;break e}else d=a}b=g-h&e;if(b>>>0<2147483647){a=$A(b|0)|0;if((a|0)==((f[d>>2]|0)+(f[d+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{d=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){c=$A(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[18160]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[18149]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=f[18151]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=$A(b|0)|0;if((a|0)==(c|0)){h=b;g=c;q=145;break d}else{d=a;q=136}}else b=0}while(0);do if((q|0)==136){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=b;g=d;q=145;break d}a=f[18161]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=d;q=145;break d}if(($A(a|0)|0)==(-1|0)){$A(c|0)|0;b=0;break}else{h=a+b|0;g=d;q=145;break d}}while(0);f[18152]=f[18152]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(u=$A(k|0)|0,p=$A(0)|0,r=p-u|0,s=r>>>0>(m+40|0)>>>0,!((u|0)==(-1|0)|s^1|u>>>0

>>0&((u|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=u;q=145}if((q|0)==145){b=(f[18149]|0)+h|0;f[18149]=b;if(b>>>0>(f[18150]|0)>>>0)f[18150]=b;j=f[18047]|0;f:do if(j){b=72612;while(1){a=f[b>>2]|0;c=f[b+4>>2]|0;if((g|0)==(a+c|0)){q=154;break}d=f[b+8>>2]|0;if(!d)break;else b=d}if(((q|0)==154?(v=b+4|0,(f[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){f[v>>2]=c+h;w=(f[18044]|0)+h|0;u=j+8|0;u=(u&7|0)==0?0:0-u&7;v=j+u|0;u=w-u|0;f[18047]=v;f[18044]=u;f[v+4>>2]=u|1;f[j+w+4>>2]=40;f[18048]=f[18163];break}if(g>>>0<(f[18045]|0)>>>0)f[18045]=g;c=g+h|0;b=72612;while(1){if((f[b>>2]|0)==(c|0)){q=162;break}a=f[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(f[b+12>>2]&8|0)==0:0){f[b>>2]=g;l=b+4|0;f[l>>2]=(f[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;f[l+4>>2]=m|3;g:do if((j|0)==(b|0)){w=(f[18044]|0)+i|0;f[18044]=w;f[18047]=k;f[k+4>>2]=w|1}else{if((f[18046]|0)==(b|0)){w=(f[18043]|0)+i|0;f[18043]=w;f[18046]=k;f[k+4>>2]=w|1;f[k+w>>2]=w;break}a=f[b+4>>2]|0;if((a&3|0)==1){h=a&-8;d=a>>>3;h:do if(a>>>0<256){a=f[b+8>>2]|0;c=f[b+12>>2]|0;if((c|0)==(a|0)){f[18041]=f[18041]&~(1<>2]=c;f[c+8>>2]=a;break}}else{g=f[b+24>>2]|0;a=f[b+12>>2]|0;do if((a|0)==(b|0)){c=b+16|0;d=c+4|0;a=f[d>>2]|0;if(!a){a=f[c>>2]|0;if(!a){a=0;break}}else c=d;while(1){e=a+20|0;d=f[e>>2]|0;if(!d){e=a+16|0;d=f[e>>2]|0;if(!d)break;else{a=d;c=e}}else{a=d;c=e}}f[c>>2]=0}else{w=f[b+8>>2]|0;f[w+12>>2]=a;f[a+8>>2]=w}while(0);if(!g)break;c=f[b+28>>2]|0;d=72468+(c<<2)|0;do if((f[d>>2]|0)!=(b|0)){w=g+16|0;f[((f[w>>2]|0)==(b|0)?w:g+20|0)>>2]=a;if(!a)break h}else{f[d>>2]=a;if(a|0)break;f[18042]=f[18042]&~(1<>2]=g;c=b+16|0;d=f[c>>2]|0;if(d|0){f[a+16>>2]=d;f[d+24>>2]=a}c=f[c+4>>2]|0;if(!c)break;f[a+20>>2]=c;f[c+24>>2]=a}while(0);b=b+h|0;e=h+i|0}else e=i;b=b+4|0;f[b>>2]=f[b>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;b=e>>>3;if(e>>>0<256){c=72204+(b<<1<<2)|0;a=f[18041]|0;b=1<>2]|0}f[a>>2]=k;f[b+12>>2]=k;f[k+8>>2]=b;f[k+12>>2]=c;break}b=e>>>8;do if(!b)d=0;else{if(e>>>0>16777215){d=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;d=14-(u|v|d)+(w<>>15)|0;d=e>>>(d+7|0)&1|d<<1}while(0);b=72468+(d<<2)|0;f[k+28>>2]=d;a=k+16|0;f[a+4>>2]=0;f[a>>2]=0;a=f[18042]|0;c=1<>2]=k;f[k+24>>2]=b;f[k+12>>2]=k;f[k+8>>2]=k;break}b=f[b>>2]|0;i:do if((f[b+4>>2]&-8|0)!=(e|0)){d=e<<((d|0)==31?0:25-(d>>>1)|0);while(1){c=b+16+(d>>>31<<2)|0;a=f[c>>2]|0;if(!a)break;if((f[a+4>>2]&-8|0)==(e|0)){b=a;break i}else{d=d<<1;b=a}}f[c>>2]=k;f[k+24>>2]=b;f[k+12>>2]=k;f[k+8>>2]=k;break g}while(0);v=b+8|0;w=f[v>>2]|0;f[w+12>>2]=k;f[v>>2]=k;f[k+8>>2]=w;f[k+12>>2]=b;f[k+24>>2]=0}while(0);w=l+8|0;t=x;return w|0}b=72612;while(1){a=f[b>>2]|0;if(a>>>0<=j>>>0?(w=a+(f[b+4>>2]|0)|0,w>>>0>j>>>0):0)break;b=f[b+8>>2]|0}e=w+-47|0;a=e+8|0;a=e+((a&7|0)==0?0:0-a&7)|0;e=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;c=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=c-u|0;f[18047]=v;f[18044]=u;f[v+4>>2]=u|1;f[g+c+4>>2]=40;f[18048]=f[18163];c=a+4|0;f[c>>2]=27;f[b>>2]=f[18153];f[b+4>>2]=f[18154];f[b+8>>2]=f[18155];f[b+12>>2]=f[18156];f[18153]=g;f[18154]=h;f[18156]=0;f[18155]=b;b=a+24|0;do{v=b;b=b+4|0;f[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;f[c>>2]=f[c>>2]&-2;f[j+4>>2]=g|1;f[a>>2]=g;b=g>>>3;if(g>>>0<256){c=72204+(b<<1<<2)|0;a=f[18041]|0;b=1<>2]|0}f[a>>2]=j;f[b+12>>2]=j;f[j+8>>2]=b;f[j+12>>2]=c;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;d=14-(u|v|d)+(w<>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;c=72468+(d<<2)|0;f[j+28>>2]=d;f[j+20>>2]=0;f[e>>2]=0;b=f[18042]|0;a=1<>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}b=f[c>>2]|0;j:do if((f[b+4>>2]&-8|0)!=(g|0)){d=g<<((d|0)==31?0:25-(d>>>1)|0);while(1){c=b+16+(d>>>31<<2)|0;a=f[c>>2]|0;if(!a)break;if((f[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{d=d<<1;b=a}}f[c>>2]=j;f[j+24>>2]=b;f[j+12>>2]=j;f[j+8>>2]=j;break f}while(0);v=b+8|0;w=f[v>>2]|0;f[w+12>>2]=j;f[v>>2]=j;f[j+8>>2]=w;f[j+12>>2]=b;f[j+24>>2]=0}}else{w=f[18045]|0;if((w|0)==0|g>>>0>>0)f[18045]=g;f[18153]=g;f[18154]=h;f[18156]=0;f[18050]=f[18159];f[18049]=-1;f[18054]=72204;f[18053]=72204;f[18056]=72212;f[18055]=72212;f[18058]=72220;f[18057]=72220;f[18060]=72228;f[18059]=72228;f[18062]=72236;f[18061]=72236;f[18064]=72244;f[18063]=72244;f[18066]=72252;f[18065]=72252;f[18068]=72260;f[18067]=72260;f[18070]=72268;f[18069]=72268;f[18072]=72276;f[18071]=72276;f[18074]=72284;f[18073]=72284;f[18076]=72292;f[18075]=72292;f[18078]=72300;f[18077]=72300;f[18080]=72308;f[18079]=72308;f[18082]=72316;f[18081]=72316;f[18084]=72324;f[18083]=72324;f[18086]=72332;f[18085]=72332;f[18088]=72340;f[18087]=72340;f[18090]=72348;f[18089]=72348;f[18092]=72356;f[18091]=72356;f[18094]=72364;f[18093]=72364;f[18096]=72372;f[18095]=72372;f[18098]=72380;f[18097]=72380;f[18100]=72388;f[18099]=72388;f[18102]=72396;f[18101]=72396;f[18104]=72404;f[18103]=72404;f[18106]=72412;f[18105]=72412;f[18108]=72420;f[18107]=72420;f[18110]=72428;f[18109]=72428;f[18112]=72436;f[18111]=72436;f[18114]=72444;f[18113]=72444;f[18116]=72452;f[18115]=72452;w=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=w-u|0;f[18047]=v;f[18044]=u;f[v+4>>2]=u|1;f[g+w+4>>2]=40;f[18048]=f[18163]}while(0);b=f[18044]|0;if(b>>>0>m>>>0){u=b-m|0;f[18044]=u;w=f[18047]|0;v=w+m|0;f[18047]=v;f[v+4>>2]=u|1;f[w+4>>2]=m|3;w=w+8|0;t=x;return w|0}}w=mz()|0;f[w>>2]=12;w=0;t=x;return w|0}function ez(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;if(!a)return;c=a+-8|0;e=f[18045]|0;a=f[a+-4>>2]|0;b=a&-8;j=c+b|0;do if(!(a&1)){d=f[c>>2]|0;if(!(a&3))return;h=c+(0-d)|0;g=d+b|0;if(h>>>0>>0)return;if((f[18046]|0)==(h|0)){a=j+4|0;b=f[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}f[18043]=g;f[a>>2]=b&-2;f[h+4>>2]=g|1;f[h+g>>2]=g;return}c=d>>>3;if(d>>>0<256){a=f[h+8>>2]|0;b=f[h+12>>2]|0;if((b|0)==(a|0)){f[18041]=f[18041]&~(1<>2]=b;f[b+8>>2]=a;i=h;b=g;break}}e=f[h+24>>2]|0;a=f[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;c=b+4|0;a=f[c>>2]|0;if(!a){a=f[b>>2]|0;if(!a){a=0;break}}else b=c;while(1){d=a+20|0;c=f[d>>2]|0;if(!c){d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;b=d}}else{a=c;b=d}}f[b>>2]=0}else{i=f[h+8>>2]|0;f[i+12>>2]=a;f[a+8>>2]=i}while(0);if(e){b=f[h+28>>2]|0;c=72468+(b<<2)|0;if((f[c>>2]|0)==(h|0)){f[c>>2]=a;if(!a){f[18042]=f[18042]&~(1<>2]|0)==(h|0)?i:e+20|0)>>2]=a;if(!a){i=h;b=g;break}}f[a+24>>2]=e;b=h+16|0;c=f[b>>2]|0;if(c|0){f[a+16>>2]=c;f[c+24>>2]=a}b=f[b+4>>2]|0;if(b){f[a+20>>2]=b;f[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=c;h=c}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;d=f[a>>2]|0;if(!(d&1))return;if(!(d&2)){if((f[18047]|0)==(j|0)){j=(f[18044]|0)+b|0;f[18044]=j;f[18047]=i;f[i+4>>2]=j|1;if((i|0)!=(f[18046]|0))return;f[18046]=0;f[18043]=0;return}if((f[18046]|0)==(j|0)){j=(f[18043]|0)+b|0;f[18043]=j;f[18046]=h;f[i+4>>2]=j|1;f[h+j>>2]=j;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){b=f[j+8>>2]|0;a=f[j+12>>2]|0;if((a|0)==(b|0)){f[18041]=f[18041]&~(1<>2]=a;f[a+8>>2]=b;break}}else{g=f[j+24>>2]|0;a=f[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;c=b+4|0;a=f[c>>2]|0;if(!a){a=f[b>>2]|0;if(!a){c=0;break}}else b=c;while(1){d=a+20|0;c=f[d>>2]|0;if(!c){d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;b=d}}else{a=c;b=d}}f[b>>2]=0;c=a}else{c=f[j+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(g|0){a=f[j+28>>2]|0;b=72468+(a<<2)|0;if((f[b>>2]|0)==(j|0)){f[b>>2]=c;if(!c){f[18042]=f[18042]&~(1<>2]|0)==(j|0)?d:g+20|0)>>2]=c;if(!c)break}f[c+24>>2]=g;a=j+16|0;b=f[a>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}a=f[a+4>>2]|0;if(a|0){f[c+20>>2]=a;f[a+24>>2]=c}}}while(0);f[i+4>>2]=e|1;f[h+e>>2]=e;if((i|0)==(f[18046]|0)){f[18043]=e;return}}else{f[a>>2]=d&-2;f[i+4>>2]=b|1;f[h+b>>2]=b;e=b}a=e>>>3;if(e>>>0<256){c=72204+(a<<1<<2)|0;b=f[18041]|0;a=1<>2]|0}f[b>>2]=i;f[a+12>>2]=i;f[i+8>>2]=a;f[i+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)d=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;d=14-(g|h|d)+(j<>>15)|0;d=e>>>(d+7|0)&1|d<<1}else d=0;a=72468+(d<<2)|0;f[i+28>>2]=d;f[i+20>>2]=0;f[i+16>>2]=0;b=f[18042]|0;c=1<>2]=i;f[i+24>>2]=a;f[i+12>>2]=i;f[i+8>>2]=i}else{a=f[a>>2]|0;b:do if((f[a+4>>2]&-8|0)!=(e|0)){d=e<<((d|0)==31?0:25-(d>>>1)|0);while(1){c=a+16+(d>>>31<<2)|0;b=f[c>>2]|0;if(!b)break;if((f[b+4>>2]&-8|0)==(e|0)){a=b;break b}else{d=d<<1;a=b}}f[c>>2]=i;f[i+24>>2]=a;f[i+12>>2]=i;f[i+8>>2]=i;break a}while(0);h=a+8|0;j=f[h>>2]|0;f[j+12>>2]=i;f[h>>2]=i;f[i+8>>2]=j;f[i+12>>2]=a;f[i+24>>2]=0}while(0);j=(f[18049]|0)+-1|0;f[18049]=j;if(j|0)return;a=72620;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[18049]=-1;return}function fz(a,b){a=a|0;b=b|0;var c=0;if(a){c=U(b,a)|0;if((b|a)>>>0>65535)c=((c>>>0)/(a>>>0)|0|0)==(b|0)?c:-1}else c=0;a=dz(c)|0;if(!a)return a|0;if(!(f[a+-4>>2]&3))return a|0;_A(a|0,0,c|0)|0;return a|0}function gz(a,b){a=a|0;b=b|0;var c=0,d=0;if(!a){b=dz(b)|0;return b|0}if(b>>>0>4294967231){b=mz()|0;f[b>>2]=12;b=0;return b|0}c=hz(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(c|0){b=c+8|0;return b|0}c=dz(b)|0;if(!c){b=0;return b|0}d=f[a+-4>>2]|0;d=(d&-8)-((d&3|0)==0?8:4)|0;YA(c|0,a|0,(d>>>0>>0?d:b)|0)|0;ez(a);b=c;return b|0}function hz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=f[l>>2]|0;c=m&-8;i=a+c|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(c>>>0>=(b+4|0)>>>0?(c-b|0)>>>0<=f[18161]<<1>>>0:0)return a|0;a=0;return a|0}if(c>>>0>=b>>>0){c=c-b|0;if(c>>>0<=15)return a|0;k=a+b|0;f[l>>2]=m&1|b|2;f[k+4>>2]=c|3;m=i+4|0;f[m>>2]=f[m>>2]|1;iz(k,c);return a|0}if((f[18047]|0)==(i|0)){k=(f[18044]|0)+c|0;c=k-b|0;d=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}f[l>>2]=m&1|b|2;f[d+4>>2]=c|1;f[18047]=d;f[18044]=c;return a|0}if((f[18046]|0)==(i|0)){d=(f[18043]|0)+c|0;if(d>>>0>>0){a=0;return a|0}c=d-b|0;if(c>>>0>15){k=a+b|0;d=a+d|0;f[l>>2]=m&1|b|2;f[k+4>>2]=c|1;f[d>>2]=c;d=d+4|0;f[d>>2]=f[d>>2]&-2;d=k}else{f[l>>2]=m&1|d|2;d=a+d+4|0;f[d>>2]=f[d>>2]|1;d=0;c=0}f[18043]=c;f[18046]=d;return a|0}d=f[i+4>>2]|0;if(d&2|0){a=0;return a|0}j=(d&-8)+c|0;if(j>>>0>>0){a=0;return a|0}k=j-b|0;e=d>>>3;do if(d>>>0<256){d=f[i+8>>2]|0;c=f[i+12>>2]|0;if((c|0)==(d|0)){f[18041]=f[18041]&~(1<>2]=c;f[c+8>>2]=d;break}}else{h=f[i+24>>2]|0;c=f[i+12>>2]|0;do if((c|0)==(i|0)){d=i+16|0;e=d+4|0;c=f[e>>2]|0;if(!c){c=f[d>>2]|0;if(!c){e=0;break}}else d=e;while(1){g=c+20|0;e=f[g>>2]|0;if(!e){g=c+16|0;e=f[g>>2]|0;if(!e)break;else{c=e;d=g}}else{c=e;d=g}}f[d>>2]=0;e=c}else{e=f[i+8>>2]|0;f[e+12>>2]=c;f[c+8>>2]=e;e=c}while(0);if(h|0){c=f[i+28>>2]|0;d=72468+(c<<2)|0;if((f[d>>2]|0)==(i|0)){f[d>>2]=e;if(!e){f[18042]=f[18042]&~(1<>2]|0)==(i|0)?g:h+20|0)>>2]=e;if(!e)break}f[e+24>>2]=h;c=i+16|0;d=f[c>>2]|0;if(d|0){f[e+16>>2]=d;f[d+24>>2]=e}c=f[c+4>>2]|0;if(c|0){f[e+20>>2]=c;f[c+24>>2]=e}}}while(0);if(k>>>0<16){f[l>>2]=m&1|j|2;m=a+j+4|0;f[m>>2]=f[m>>2]|1;return a|0}else{i=a+b|0;f[l>>2]=m&1|b|2;f[i+4>>2]=k|3;m=a+j+4|0;f[m>>2]=f[m>>2]|1;iz(i,k);return a|0}return 0}function iz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+b|0;c=f[a+4>>2]|0;do if(!(c&1)){e=f[a>>2]|0;if(!(c&3))return;h=a+(0-e)|0;b=e+b|0;if((f[18046]|0)==(h|0)){a=i+4|0;c=f[a>>2]|0;if((c&3|0)!=3)break;f[18043]=b;f[a>>2]=c&-2;f[h+4>>2]=b|1;f[i>>2]=b;return}d=e>>>3;if(e>>>0<256){a=f[h+8>>2]|0;c=f[h+12>>2]|0;if((c|0)==(a|0)){f[18041]=f[18041]&~(1<>2]=c;f[c+8>>2]=a;break}}g=f[h+24>>2]|0;a=f[h+12>>2]|0;do if((a|0)==(h|0)){c=h+16|0;d=c+4|0;a=f[d>>2]|0;if(!a){a=f[c>>2]|0;if(!a){a=0;break}}else c=d;while(1){e=a+20|0;d=f[e>>2]|0;if(!d){e=a+16|0;d=f[e>>2]|0;if(!d)break;else{a=d;c=e}}else{a=d;c=e}}f[c>>2]=0}else{e=f[h+8>>2]|0;f[e+12>>2]=a;f[a+8>>2]=e}while(0);if(g){c=f[h+28>>2]|0;d=72468+(c<<2)|0;if((f[d>>2]|0)==(h|0)){f[d>>2]=a;if(!a){f[18042]=f[18042]&~(1<>2]|0)==(h|0)?e:g+20|0)>>2]=a;if(!a)break}f[a+24>>2]=g;c=h+16|0;d=f[c>>2]|0;if(d|0){f[a+16>>2]=d;f[d+24>>2]=a}c=f[c+4>>2]|0;if(c){f[a+20>>2]=c;f[c+24>>2]=a}}}else h=a;while(0);a=i+4|0;d=f[a>>2]|0;if(!(d&2)){if((f[18047]|0)==(i|0)){i=(f[18044]|0)+b|0;f[18044]=i;f[18047]=h;f[h+4>>2]=i|1;if((h|0)!=(f[18046]|0))return;f[18046]=0;f[18043]=0;return}if((f[18046]|0)==(i|0)){i=(f[18043]|0)+b|0;f[18043]=i;f[18046]=h;f[h+4>>2]=i|1;f[h+i>>2]=i;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){a=f[i+8>>2]|0;b=f[i+12>>2]|0;if((b|0)==(a|0)){f[18041]=f[18041]&~(1<>2]=b;f[b+8>>2]=a;break}}else{g=f[i+24>>2]|0;b=f[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;c=a+4|0;b=f[c>>2]|0;if(!b){b=f[a>>2]|0;if(!b){c=0;break}}else a=c;while(1){d=b+20|0;c=f[d>>2]|0;if(!c){d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[i+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);if(g|0){b=f[i+28>>2]|0;a=72468+(b<<2)|0;if((f[a>>2]|0)==(i|0)){f[a>>2]=c;if(!c){f[18042]=f[18042]&~(1<>2]|0)==(i|0)?d:g+20|0)>>2]=c;if(!c)break}f[c+24>>2]=g;b=i+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}b=f[b+4>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}}while(0);f[h+4>>2]=e|1;f[h+e>>2]=e;if((h|0)==(f[18046]|0)){f[18043]=e;return}}else{f[a>>2]=d&-2;f[h+4>>2]=b|1;f[h+b>>2]=b;e=b}b=e>>>3;if(e>>>0<256){c=72204+(b<<1<<2)|0;a=f[18041]|0;b=1<>2]|0}f[a>>2]=h;f[b+12>>2]=h;f[h+8>>2]=b;f[h+12>>2]=c;return}b=e>>>8;if(b)if(e>>>0>16777215)d=31;else{g=(b+1048320|0)>>>16&8;i=b<>>16&4;i=i<>>16&2;d=14-(c|g|d)+(i<>>15)|0;d=e>>>(d+7|0)&1|d<<1}else d=0;b=72468+(d<<2)|0;f[h+28>>2]=d;f[h+20>>2]=0;f[h+16>>2]=0;a=f[18042]|0;c=1<>2]=h;f[h+24>>2]=b;f[h+12>>2]=h;f[h+8>>2]=h;return}b=f[b>>2]|0;a:do if((f[b+4>>2]&-8|0)!=(e|0)){d=e<<((d|0)==31?0:25-(d>>>1)|0);while(1){c=b+16+(d>>>31<<2)|0;a=f[c>>2]|0;if(!a)break;if((f[a+4>>2]&-8|0)==(e|0)){b=a;break a}else{d=d<<1;b=a}}f[c>>2]=h;f[h+24>>2]=b;f[h+12>>2]=h;f[h+8>>2]=h;return}while(0);g=b+8|0;i=f[g>>2]|0;f[i+12>>2]=h;f[g>>2]=h;f[h+8>>2]=i;f[h+12>>2]=b;f[h+24>>2]=0;return}function jz(a,b){a=a|0;b=b|0;if(a>>>0<9){b=dz(b)|0;return b|0}else{b=kz(a,b)|0;return b|0}return 0}function kz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a>>>0>16?a:16;if(!(c+-1&c))a=c;else{a=16;while(1)if(a>>>0>>0)a=a<<1;else break}if((-64-a|0)>>>0<=b>>>0){h=mz()|0;f[h>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;c=dz(g+12+a|0)|0;if(!c){h=0;return h|0}e=c+-8|0;do if(a+-1&c){d=(c+a+-1&0-a)+-8|0;b=e;d=(d-b|0)>>>0>15?d:d+a|0;b=d-b|0;a=c+-4|0;i=f[a>>2]|0;c=(i&-8)-b|0;if(!(i&3)){f[d>>2]=(f[e>>2]|0)+b;f[d+4>>2]=c;a=d;b=d;break}else{i=d+4|0;f[i>>2]=c|f[i>>2]&1|2;c=d+c+4|0;f[c>>2]=f[c>>2]|1;f[a>>2]=b|f[a>>2]&1|2;f[i>>2]=f[i>>2]|1;iz(e,b);a=d;b=d;break}}else{a=e;b=e}while(0);a=a+4|0;c=f[a>>2]|0;if(c&3|0?(h=c&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;e=b+g|0;f[a>>2]=g|c&1|2;f[e+4>>2]=i|3;h=b+h+4|0;f[h>>2]=f[h>>2]|1;iz(e,i)}i=b+8|0;return i|0}function lz(a){a=a|0;var b=0;if(a>>>0>4294963200){b=mz()|0;f[b>>2]=0-a;a=-1}return a|0}function mz(){return 72724}function nz(a){a=a|0;return a|0}function oz(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function pz(){return 39384}function qz(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function rz(a){a=a|0;var b=0;b=(sz(a)|0)==0;return (b?a:a&95)|0}function sz(a){a=a|0;return (a+-97|0)>>>0<26|0}function tz(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)a=e;else{do{a=a+1|0;c=c+1|0;d=b[a>>0]|0;e=b[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));a=e}return (d&255)-(a&255)|0}function uz(a){a=a|0;return (a+-65|0)>>>0<26|0}function vz(a){a=a|0;var b=0;b=(uz(a)|0)==0;return (b?a:a|32)|0}function wz(a){a=a|0;var c=0,d=0,e=0;e=a;a:do if(!(e&3))d=5;else{c=e;while(1){if(!(b[a>>0]|0)){a=c;break a}a=a+1|0;c=a;if(!(c&3)){d=5;break}}}while(0);if((d|0)==5){while(1){c=f[a>>2]|0;if(!((c&-2139062144^-2139062144)&c+-16843009))a=a+4|0;else break}if((c&255)<<24>>24)do a=a+1|0;while((b[a>>0]|0)!=0)}return a-e|0}function xz(a,b){a=a|0;b=b|0;if(!b)b=0;else b=yz(f[b>>2]|0,f[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function yz(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=zz(f[a+8>>2]|0,o)|0;e=zz(f[a+12>>2]|0,o)|0;g=zz(f[a+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=c-(h<<2)|0,e>>>0>>0&g>>>0>>0):0)?((g|e)&3|0)==0:0){n=e>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;e=zz(f[a+(g<<2)>>2]|0,o)|0;g=zz(f[a+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&e>>>0<(c-g|0)>>>0)){e=0;break a}if(b[a+(g+e)>>0]|0){e=0;break a}e=tz(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}l=e?l:k;h=e?j:h-j|0}e=i+m|0;g=zz(f[a+(e<<2)>>2]|0,o)|0;e=zz(f[a+(e+1<<2)>>2]|0,o)|0;if(e>>>0>>0&g>>>0<(c-e|0)>>>0)e=(b[a+(e+g)>>0]|0)==0?a+e|0:0;else e=0}else e=0;while(0);return e|0}function zz(a,b){a=a|0;b=b|0;var c=0;c=XA(a|0)|0;return ((b|0)==0?a:c)|0}function Az(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=t;t=t+192|0;i=r+168|0;h=r+152|0;q=r+136|0;p=r+120|0;o=r+112|0;l=r+96|0;k=r+80|0;e=r+64|0;m=r+48|0;g=r+32|0;d=r+16|0;s=r;j=r+184|0;f[s>>2]=c;c=(f[s>>2]|0)+(4-1)&~(4-1);n=f[c>>2]|0;f[s>>2]=c+4;n=(b|0)==4?n|32768:n;a:do switch(b|0){case 14:{f[d>>2]=a;f[d+4>>2]=14;f[d+8>>2]=n;c=lz(Ia(221,d|0)|0)|0;break}case 9:{f[g>>2]=a;f[g+4>>2]=16;f[g+8>>2]=j;c=Ia(221,g|0)|0;switch(c|0){case -22:{f[m>>2]=a;f[m+4>>2]=9;f[m+8>>2]=n;c=Ia(221,m|0)|0;break}case 0:{c=f[j+4>>2]|0;c=(f[j>>2]|0)==2?0-c|0:c;break}default:c=lz(c)|0}break}case 1030:{f[e>>2]=a;f[e+4>>2]=1030;f[e+8>>2]=n;c=Ia(221,e|0)|0;if((c|0)!=-22){if((c|0)>-1){f[k>>2]=c;f[k+4>>2]=2;f[k+8>>2]=1;Ia(221,k|0)|0}c=lz(c)|0;break a}f[l>>2]=a;f[l+4>>2]=1030;f[l+8>>2]=0;c=Ia(221,l|0)|0;if((c|0)==-22){f[p>>2]=a;f[p+4>>2]=0;f[p+8>>2]=n;c=Ia(221,p|0)|0;if((c|0)>-1){f[q>>2]=c;f[q+4>>2]=2;f[q+8>>2]=1;Ia(221,q|0)|0}c=lz(c)|0;break a}else{if((c|0)>-1){f[o>>2]=c;Pa(6,o|0)|0}c=lz(-22)|0;break a}}case 15:case 16:case 12:case 13:{f[h>>2]=a;f[h+4>>2]=b;f[h+8>>2]=n;c=lz(Ia(221,h|0)|0)|0;break}default:{f[i>>2]=a;f[i+4>>2]=b;f[i+8>>2]=n;c=lz(Ia(221,i|0)|0)|0}}while(0);t=r;return c|0}function Bz(){var a=0,b=0;b=t;t=t+16|0;a=Da(20,b|0)|0;t=b;return a|0}function Cz(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=c&255;a:do if(!e)a=a+(wz(a)|0)|0;else{if(a&3){d=c&255;do{g=b[a>>0]|0;if(g<<24>>24==0?1:g<<24>>24==d<<24>>24)break a;a=a+1|0}while((a&3|0)!=0)}e=U(e,16843009)|0;d=f[a>>2]|0;b:do if(!((d&-2139062144^-2139062144)&d+-16843009))do{g=d^e;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;a=a+4|0;d=f[a>>2]|0}while(!((d&-2139062144^-2139062144)&d+-16843009|0));while(0);d=c&255;while(1){g=b[a>>0]|0;if(g<<24>>24==0?1:g<<24>>24==d<<24>>24)break;else a=a+1|0}}while(0);return a|0}function Dz(a){a=a|0;var b=0;b=(Ez()|0)+188|0;return Fz(a,f[b>>2]|0)|0}function Ez(){return pz()|0}function Fz(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[35408+d>>0]|0)==(a|0)){e=4;break}d=d+1|0;if((d|0)==87){a=87;e=5;break}}if((e|0)==4)if(!d)d=35504;else{a=d;e=5}if((e|0)==5){d=35504;do{do{e=d;d=d+1|0}while((b[e>>0]|0)!=0);a=a+-1|0}while((a|0)!=0)}return Gz(d,f[c+20>>2]|0)|0}function Gz(a,b){a=a|0;b=b|0;return xz(a,b)|0}function Hz(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)a=0;else{while(1){e=b[a>>0]|0;f=b[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){a=0;break a}else{a=a+1|0;c=c+1|0}}a=(e&255)-(f&255)|0}while(0);return a|0}function Iz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=t;t=t+48|0;g=h+32|0;e=h+16|0;d=h;if(!(b&4194368))d=0;else{f[d>>2]=c;i=(f[d>>2]|0)+(4-1)&~(4-1);c=f[i>>2]|0;f[d>>2]=i+4;d=c}f[e>>2]=a;f[e+4>>2]=b|32768;f[e+8>>2]=d;d=Oa(5,e|0)|0;if(!((b&524288|0)==0|(d|0)<0)){f[g>>2]=d;f[g+4>>2]=2;f[g+8>>2]=1;Ia(221,g|0)|0}i=lz(d)|0;t=h;return i|0}function Jz(a){a=a|0;var b=0,c=0;b=t;t=t+16|0;c=b;a=nz(a)|0;f[c>>2]=a;a=Pa(6,c|0)|0;a=lz((a|0)==-4?0:a)|0;t=b;return a|0}function Kz(a,b){a=a|0;b=b|0;var c=0,d=0;c=t;t=t+16|0;d=c;f[d>>2]=a;f[d+4>>2]=b;b=lz(Ba(196,d|0)|0)|0;t=c;return b|0}function Lz(a,b){a=a|0;b=b|0;var c=0,d=0;c=t;t=t+16|0;d=c;f[d>>2]=a;f[d+4>>2]=b;b=lz(Aa(195,d|0)|0)|0;t=c;return b|0}function Mz(a,b){a=a|0;b=b|0;var c=0,d=0;c=t;t=t+16|0;d=c;f[d>>2]=a;f[d+4>>2]=b;b=lz(Ka(33,d|0)|0)|0;t=c;return b|0}function Nz(a,b){a=a|0;b=b|0;return Qz(a,b,(wz(a)|0)+1|0)|0}function Oz(a,b){a=a|0;b=b|0;Pz(a,b)|0;return a|0}function Pz(a,c){a=a|0;c=c|0;var d=0,e=0;d=c;a:do if(!((d^a)&3)){if(d&3)do{d=b[c>>0]|0;b[a>>0]=d;if(!(d<<24>>24))break a;c=c+1|0;a=a+1|0}while((c&3|0)!=0);d=f[c>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009)){e=a;while(1){c=c+4|0;a=e+4|0;f[e>>2]=d;d=f[c>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0)break;else e=a}}e=10}else e=10;while(0);if((e|0)==10){e=b[c>>0]|0;b[a>>0]=e;if(e<<24>>24)do{c=c+1|0;a=a+1|0;e=b[c>>0]|0;b[a>>0]=e}while(e<<24>>24!=0)}return a|0}function Qz(a,c,d){a=a|0;c=c|0;d=d|0;a:do if(!d)d=0;else{c=c&255;while(1){d=d+-1|0;if((b[a+d>>0]|0)==c<<24>>24)break;if(!d){d=0;break a}}d=a+d|0}while(0);return d|0}function Rz(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;d=a;e=71815;f=d+15|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){b[a+14>>0]=48;b[a+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}b[a+d>>0]=0;do{f=c;c=(c>>>0)/10|0;d=d+-1|0;b[a+d>>0]=f-(c*10|0)|48}while(f>>>0>=10)}return}function Sz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=t;t=t+16|0;e=d;f[e>>2]=a;f[e+4>>2]=b;f[e+8>>2]=c;c=lz(Qa(85,e|0)|0)|0;t=d;return c|0}function Tz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=t;t=t+48|0;e=g+40|0;d=g;c=g+32|0;f[c>>2]=a;f[c+4>>2]=b;c=Ca(197,c|0)|0;if((c|0)==-9?(f[d>>2]=a,f[d+4>>2]=1,(Ia(221,d|0)|0)>=0):0){Rz(d,a);f[e>>2]=d;f[e+4>>2]=b;b=lz(Aa(195,e|0)|0)|0}else b=lz(c)|0;t=g;return b|0}function Uz(a){a=a|0;var b=0,c=0;b=(wz(a)|0)+1|0;c=dz(b)|0;if(!c)a=0;else a=YA(c|0,a|0,b|0)|0;return a|0}function Vz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=t;t=t+4112|0;d=g+4096|0;c=g;if(a)if(!b){a=mz()|0;f[a>>2]=22;a=0}else e=4;else{b=4096;a=c;e=4}if((e|0)==4){f[d>>2]=a;f[d+4>>2]=b;if((lz(xa(183,d|0)|0)|0)>=0){if((a|0)==(c|0))a=Uz(c)|0}else a=0}t=g;return a|0}function Wz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=t;t=t+16|0;e=d;f[e>>2]=a;f[e+4>>2]=b;f[e+8>>2]=c;c=lz(Ma(4,e|0)|0)|0;t=d;return c|0}function Xz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=t;t=t+16|0;e=d;f[e>>2]=a;f[e+4>>2]=b;f[e+8>>2]=c;c=lz(Ja(3,e|0)|0)|0;t=d;return c|0}function Yz(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if(!d)e=0;else{e=b[a>>0]|0;a:do if(!(e<<24>>24))e=0;else while(1){d=d+-1|0;f=b[c>>0]|0;if(!(e<<24>>24==f<<24>>24&((d|0)!=0&f<<24>>24!=0)))break a;a=a+1|0;c=c+1|0;e=b[a>>0]|0;if(!(e<<24>>24)){e=0;break}}while(0);e=(e&255)-(h[c>>0]|0)|0}return e|0}function Zz(a,b){a=a|0;b=b|0;var c=0,d=0;c=t;t=t+16|0;d=c;f[d>>2]=a;f[d+4>>2]=b;b=lz(La(39,d|0)|0)|0;t=c;return b|0}function _z(a,b){a=a|0;b=b|0;var c=0,d=0;c=t;t=t+16|0;d=c;f[d>>2]=a;f[d+4>>2]=b;b=lz(Ra(91,d|0)|0)|0;t=c;return b|0}function $z(){return}function aA(a){a=+a;var b=0;p[s>>3]=a;b=f[s+4>>2]&2147483647;f[s>>2]=f[s>>2];f[s+4>>2]=b;a=+p[s>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+cA(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+R(+a);a=(a+1.0/a)*.5;break}else{a=+dA(a);break}while(0);return +a}function bA(a){a=+a;var b=0.0,c=0,d=0.0;p[s>>3]=a;c=f[s+4>>2]|0;d=(c|0)<0?-.5:.5;c=c&2147483647;f[s>>2]=f[s>>2];f[s+4>>2]=c;b=+p[s>>3];do if(c>>>0<1082535490){b=+cA(b);if(c>>>0>=1072693248){a=d*(b+b/(b+1.0));break}if(c>>>0>=1045430272)a=d*(b*2.0-b*b/(b+1.0))}else a=d*2.0*+dA(b);while(0);return +a}function cA(a){a=+a;var b=0,c=0,d=0.0,e=0.0,g=0.0,h=0,i=0,j=0.0;p[s>>3]=a;c=f[s+4>>2]|0;b=c&2147483647;c=VA(f[s>>2]|0,c|0,63)|0;ba()|0;do if(b>>>0>1078159481){h=eA(a)|0;b=(ba()|0)&2147483647;if(!(b>>>0>2146435072|(b|0)==2146435072&h>>>0>0))if(!c)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else i=11;else a=-1.0}else{if(b>>>0<=1071001154)if(b>>>0<1016070144)break;else{g=0.0;h=0;i=14;break}if(b>>>0<1072734898)if(!c){b=1;d=a+-.6931471803691238;e=1.9082149292705877e-10;i=12;break}else{b=-1;d=a+.6931471803691238;e=-1.9082149292705877e-10;i=12;break}else i=11}while(0);if((i|0)==11){b=~~(a*1.4426950408889634+((c|0)==0?.5:-.5));e=+(b|0);d=a-e*.6931471803691238;e=e*1.9082149292705877e-10;i=12}if((i|0)==12){g=d-e;a=g;g=d-g-e;h=b;i=14}a:do if((i|0)==14){e=a*.5;d=a*e;j=d*(d*(d*(d*(4.008217827329362e-06-d*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;e=3.0-e*j;e=d*((j-e)/(6.0-a*e));if(!h){a=a-(a*e-d);break}e=a*(e-g)-g-d;switch(h|0){case -1:{a=(a-e)*.5+-.5;break a}case 1:if(a<-.25){a=(e-(a+.5))*-2.0;break a}else{a=(a-e)*2.0+1.0;break a}default:{c=WA(h+1023|0,0,52)|0;i=ba()|0;f[s>>2]=c;f[s+4>>2]=i;g=+p[s>>3];if(h>>>0>56){a=a-e+1.0;a=((h|0)==1024?a*2.0*8988465674311579538646525.0e283:a*g)+-1.0;break a}b=WA(1023-h|0,0,52)|0;c=ba()|0;if((h|0)<20){f[s>>2]=b;f[s+4>>2]=c;d=1.0-+p[s>>3];a=a-e}else{f[s>>2]=b;f[s+4>>2]=c;d=a-(e+ +p[s>>3]);a=1.0}a=(d+a)*g;break a}}}while(0);return +a}function dA(a){a=+a;return +(+R(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function eA(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;aa(f[s+4>>2]|0);return b|0}function fA(a,b,c){a=a|0;b=b|0;c=c|0;gA(a,b,c)|0;return a|0}function gA(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;g=c;a:do if(!((g^a)&3)){e=(d|0)!=0;if(e&(g&3|0)!=0)do{g=b[c>>0]|0;b[a>>0]=g;if(!(g<<24>>24))break a;d=d+-1|0;c=c+1|0;a=a+1|0;e=(d|0)!=0}while(e&(c&3|0)!=0);if(e){if(b[c>>0]|0){b:do if(d>>>0>3){e=c;while(1){c=f[e>>2]|0;if((c&-2139062144^-2139062144)&c+-16843009|0){c=e;break b}f[a>>2]=c;d=d+-4|0;c=e+4|0;a=a+4|0;if(d>>>0>3)e=c;else break}}while(0);h=13}}else d=0}else h=13;while(0);c:do if((h|0)==13)if(!d)d=0;else while(1){h=b[c>>0]|0;b[a>>0]=h;if(!(h<<24>>24))break c;d=d+-1|0;a=a+1|0;if(!d){d=0;break}else c=c+1|0}while(0);_A(a|0,0,d|0)|0;return a|0}function hA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=t;t=t+208|0;j=m;k=m+192|0;h=U(c,b)|0;i=k;f[i>>2]=1;f[i+4>>2]=0;a:do if(h|0){i=0-c|0;f[j+4>>2]=c;f[j>>2]=c;e=2;b=c;g=c;while(1){b=b+c+g|0;f[j+(e<<2)>>2]=b;if(b>>>0>>0){n=g;e=e+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;e=1;b=1;do{do if((b&3|0)!=3){b=e+-1|0;if((f[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)iA(a,c,d,e,j);else kA(a,c,d,k,e,0,j);if((e|0)==1){lA(k,1);e=0;break}else{lA(k,b);e=1;break}}else{iA(a,c,d,e,j);jA(k,2);e=e+2|0}while(0);b=f[k>>2]|1;f[k>>2]=b;a=a+c|0}while(a>>>0>>0)}else{e=1;b=1}kA(a,c,d,k,e,0,j);g=k+4|0;while(1){if((e|0)==1&(b|0)==1)if(!(f[g>>2]|0))break a;else l=19;else if((e|0)<2)l=19;else{lA(k,2);n=e+-2|0;f[k>>2]=f[k>>2]^7;jA(k,1);kA(a+(0-(f[j+(n<<2)>>2]|0))+i|0,c,d,k,e+-1|0,1,j);lA(k,1);b=f[k>>2]|1;f[k>>2]=b;a=a+i|0;kA(a,c,d,k,n,1,j);e=n}if((l|0)==19){l=0;b=mA(k)|0;jA(k,b);a=a+i|0;e=b+e|0;b=f[k>>2]|0}}}while(0);t=m;return}function iA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+240|0;l=m;f[l>>2]=a;a:do if((d|0)>1){k=0-b|0;i=a;g=d;d=1;h=a;while(1){i=i+k|0;j=g+-2|0;a=i+(0-(f[e+(j<<2)>>2]|0))|0;if((jb[c&255](h,a)|0)>-1?(jb[c&255](h,i)|0)>-1:0)break a;h=l+(d<<2)|0;if((jb[c&255](a,i)|0)>-1){f[h>>2]=a;g=g+-1|0}else{f[h>>2]=i;a=i;g=j}d=d+1|0;if((g|0)<=1)break a;i=a;h=f[l>>2]|0}}else d=1;while(0);oA(b,l,d);t=m;return}function jA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=a+4|0;if(b>>>0>31){d=f[e>>2]|0;f[a>>2]=d;f[e>>2]=0;b=b+-32|0;c=0}else{c=f[e>>2]|0;d=f[a>>2]|0}f[a>>2]=c<<32-b|d>>>b;f[e>>2]=c>>>b;return}function kA(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=t;t=t+240|0;m=o+232|0;n=o;p=f[d>>2]|0;f[m>>2]=p;j=f[d+4>>2]|0;k=m+4|0;f[k>>2]=j;f[n>>2]=a;a:do if((p|0)!=1|(j|0)!=0?(l=0-b|0,i=a+(0-(f[h+(e<<2)>>2]|0))|0,(jb[c&255](i,a)|0)>=1):0){d=1;g=(g|0)==0;j=i;while(1){if(g&(e|0)>1){g=a+l|0;i=f[h+(e+-2<<2)>>2]|0;if((jb[c&255](g,j)|0)>-1){i=10;break a}if((jb[c&255](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=d+1|0;f[n+(d<<2)>>2]=j;p=mA(m)|0;jA(m,p);e=p+e|0;if(!((f[m>>2]|0)!=1|(f[k>>2]|0)!=0)){d=g;a=j;i=10;break a}a=j+(0-(f[h+(e<<2)>>2]|0))|0;if((jb[c&255](a,f[n>>2]|0)|0)<1){a=j;d=g;g=0;i=9;break}else{p=j;d=g;g=1;j=a;a=p}}}else{d=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){oA(b,n,d);iA(a,b,c,e,h)}t=o;return}function lA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=a+4|0;if(b>>>0>31){d=f[a>>2]|0;f[e>>2]=d;f[a>>2]=0;b=b+-32|0;c=0}else{c=f[a>>2]|0;d=f[e>>2]|0}f[e>>2]=c>>>(32-b|0)|d<>2]=c<>2]|0)+-1|0)|0;if(!b){b=nA(f[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function nA(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;while(1){a=a+1|0;if(!(b&2))b=b>>>1;else break}}else a=0;else a=32;return a|0}function oA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=t;t=t+256|0;d=h;a:do if((c|0)>=2?(g=b+(c<<2)|0,f[g>>2]=d,a|0):0)while(1){e=a>>>0<256?a:256;YA(d|0,f[b>>2]|0,e|0)|0;d=0;do{i=b+(d<<2)|0;d=d+1|0;YA(f[i>>2]|0,f[b+(d<<2)>>2]|0,e|0)|0;f[i>>2]=(f[i>>2]|0)+e}while((d|0)!=(c|0));a=a-e|0;if(!a)break a;d=f[g>>2]|0}while(0);t=h;return}function pA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=t;t=t+32|0;g=e;d=e+20|0;f[g>>2]=a;f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;c=(lz(va(140,g|0)|0)|0)==0;t=e;return (c?f[d>>2]|0:-1)|0}function qA(a,b){a=a|0;b=b|0;var c=0,d=0;c=t;t=t+16|0;d=c;f[d>>2]=a;f[d+4>>2]=0;f[d+8>>2]=b;f[d+12>>2]=b>>31;b=lz(za(194,d|0)|0)|0;t=c;return b|0}function rA(a){a=a|0;var b=0,c=0;b=t;t=t+16|0;c=b;f[c>>2]=a;a=lz(ua(118,c|0)|0)|0;t=b;return a|0}function sA(a){a=a|0;var b=0,c=0;c=t;t=t+16|0;b=c;f[b>>2]=a;f[b+4>>2]=0;a=($a(b|0,b|0)|0)==0;t=c;return (a?0:f[b>>2]|0)|0}function tA(a){a=a|0;var b=0,c=0;b=t;t=t+16|0;c=b;f[c>>2]=a;a=lz(ta(10,c|0)|0)|0;t=b;return a|0}function uA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=t;t=t+64|0;g=h+48|0;e=h;d=h+32|0;f[d>>2]=a;f[d+4>>2]=b;f[d+8>>2]=c;d=Ga(207,d|0)|0;if((d|0)==-9?(f[e>>2]=a,f[e+4>>2]=1,(Ia(221,e|0)|0)>=0):0){Rz(e,a);f[g>>2]=e;f[g+4>>2]=b;f[g+8>>2]=c;a=lz(Ha(212,g|0)|0)|0}else a=lz(d)|0;t=h;return a|0}function vA(){var a=0,b=0;b=t;t=t+16|0;a=Ea(201,b|0)|0;t=b;return a|0}function wA(a){a=a|0;var b=0,c=0;b=t;t=t+16|0;c=b;f[c>>2]=a;a=lz(Na(40,c|0)|0)|0;t=b;return a|0}function xA(a){a=+a;var b=0,c=0,d=0,e=0,g=0.0;p[s>>3]=a;e=f[s>>2]|0;c=f[s+4>>2]|0;b=VA(e|0,c|0,52)|0;ba()|0;b=b&2047;f[s>>2]=e;f[s+4>>2]=c&2147483647;a=+p[s>>3];if(b>>>0<1022){if(b>>>0>=991){g=a*2.0;a=g+g*a/(1.0-a);d=5}}else{a=a/(1.0-a)*2.0;d=5}if((d|0)==5)a=+yA(a)*.5;return +((c|0)<0?-a:a)}function yA(a){a=+a;var b=0.0,c=0,d=0.0,e=0,g=0,h=0.0,i=0.0,j=0.0,k=0.0;p[s>>3]=a;c=f[s+4>>2]|0;do if((c|0)<0|c>>>0<1071284858)if(c>>>0<=3220176895){g=WA(c|0,0,1)|0;ba()|0;if(g>>>0<2034237440)break;if(c>>>0<3218259653){d=0.0;b=0.0;e=11;break}else{e=8;break}}else{if(a==-1.0){a=-A;break}a=(a-a)/0.0;break}else if(c>>>0<=2146435071)e=8;while(0);if((e|0)==8){b=a+1.0;p[s>>3]=b;c=(f[s+4>>2]|0)+614242|0;if(c>>>0<1129316352)b=(c>>>0>1074790399?1.0-(b-a):a-(b+-1.0))/b;else b=0.0;f[s>>2]=f[s>>2];f[s+4>>2]=(c&1048575)+1072079006;d=+((c>>>20)+-1023|0);a=+p[s>>3]+-1.0;e=11}if((e|0)==11){h=a*(a*.5);k=a/(a+2.0);j=k*k;i=j*j;a=d*.6931471803691238+(a+(b+d*1.9082149292705877e-10+k*(h+(i*(i*(i*.15313837699209373+.22222198432149784)+.3999999999940942)+j*(i*(i*(i*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-h))}return +a}function zA(a){a=+a;var b=0;p[s>>3]=a;b=VA(f[s>>2]|0,f[s+4>>2]|0,52)|0;ba()|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+S(+(a*2.0-1.0/(+I(+(a*a+-1.0))+a)));break}else{a=+S(+a)+.6931471805599453;break}else{a=a+-1.0;a=+yA(a+ +I(+(a*a+a*2.0)))}while(0);return +a}function AA(a){a=+a;var b=0,c=0;p[s>>3]=a;c=f[s+4>>2]|0;b=c&2147483647;f[s>>2]=f[s>>2];f[s+4>>2]=b;a=+p[s>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+cA(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+cA(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+cA(a*-2.0);a=-a/(a+2.0)}}while(0);return +((c|0)<0?-a:a)}function BA(a){a=+a;var b=0,c=0,d=0,e=0.0;p[s>>3]=a;d=f[s>>2]|0;c=f[s+4>>2]|0;b=VA(d|0,c|0,52)|0;ba()|0;b=b&2047;f[s>>2]=d;f[s+4>>2]=c&2147483647;a=+p[s>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+S(+(a*2.0+1.0/(+I(+(a*a+1.0))+a)));break}if(b>>>0>996){e=a*a;a=+yA(e/(+I(+(e+1.0))+1.0)+a)}}else a=+S(+a)+.6931471805599453;while(0);return +((c|0)<0?-a:a)}function CA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=t;t=t+48|0;e=g+40|0;d=g;c=g+32|0;f[c>>2]=a;f[c+4>>2]=b;c=Sa(94,c|0)|0;if((c|0)==-9?(f[d>>2]=a,f[d+4>>2]=1,(Ia(221,d|0)|0)>=0):0){Rz(d,a);f[e>>2]=d;f[e+4>>2]=b;a=lz(wa(15,e|0)|0)|0}else a=lz(c)|0;t=g;return a|0}function DA(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;i=t;t=t+32|0;h=i;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){a=mz()|0;f[a>>2]=12;a=-1;break}f[h>>2]=a;f[h+4>>2]=b;f[h+8>>2]=c;f[h+12>>2]=d;f[h+16>>2]=e;f[h+20>>2]=g>>12;a=lz(ya(192,h|0)|0)|0}else{a=mz()|0;f[a>>2]=22;a=-1}while(0);t=i;return a|0}function EA(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=t;t=t+32|0;e=h;d=b[c>>0]|0;a:do if(d<<24>>24!=0?(b[c+1>>0]|0)!=0:0){_A(e|0,0,32)|0;d=b[c>>0]|0;if(d<<24>>24)do{j=d&255;i=e+(j>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(j&31);c=c+1|0;d=b[c>>0]|0}while(d<<24>>24!=0);c=b[a>>0]|0;if(!(c<<24>>24))d=a;else{d=a;do{j=c&255;if(f[e+(j>>>5<<2)>>2]&1<<(j&31)|0)break a;d=d+1|0;c=b[d>>0]|0}while(c<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)d=Cz(a,d<<24>>24)|0;t=h;return d-a|0}function FA(){ra(72744);return}function GA(){return 72728}function HA(){return 72736}function IA(){return 72740}function JA(){return 72744}function KA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (aa(b+d+(c>>>0>>0|0)>>>0|0),c|0)|0}function LA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (aa(d|0),a-c>>>0|0)|0}function MA(a){a=a|0;return (a?31-(X(a^a-1)|0)|0:32)|0}function NA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=c;n=d;i=n;if(!k){g=(e|0)!=0;if(!i){if(g){f[e>>2]=(l>>>0)%(h>>>0);f[e+4>>2]=0}n=0;e=(l>>>0)/(h>>>0)>>>0;return (aa(n|0),e)|0}else{if(!g){n=0;e=0;return (aa(n|0),e)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;e=0;return (aa(n|0),e)|0}}g=(i|0)==0;do if(h){if(!g){g=(X(i|0)|0)-(X(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;n=0;e=0;return (aa(n|0),e)|0}g=h-1|0;if(g&h|0){i=(X(h|0)|0)+33-(X(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(e|0){f[e>>2]=g&l;f[e+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (aa(o|0),p)|0}else{p=MA(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (aa(o|0),p)|0}}else{if(g){if(e|0){f[e>>2]=(k>>>0)%(h>>>0);f[e+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (aa(o|0),p)|0}if(!l){if(e|0){f[e>>2]=0;f[e+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (aa(o|0),p)|0}g=i-1|0;if(!(g&i)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=g&k|b&0}o=0;p=k>>>((MA(i|0)|0)>>>0);return (aa(o|0),p)|0}g=(X(i|0)|0)-(X(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;o=0;p=0;return (aa(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=KA(m|0,l|0,-1,-1)|0;c=ba()|0;j=i;i=0;do{d=j;j=g>>>31|j<<1;g=i|g<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;LA(k|0,c|0,d|0,n|0)|0;p=ba()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=LA(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=ba()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(e|0){f[e>>2]=a;f[e+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (aa(o|0),p)|0}function OA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=LA(j^a|0,i^b|0,j|0,i|0)|0;g=ba()|0;a=f^j;b=e^i;return LA((NA(h,g,LA(f^c|0,e^d|0,f|0,e|0)|0,ba()|0,0)|0)^a|0,(ba()|0)^b|0,a|0,b|0)|0}function PA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=U(e,f)|0;d=a>>>16;a=(c>>>16)+(U(e,d)|0)|0;e=b>>>16;b=U(e,f)|0;return (aa((a>>>16)+(U(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function QA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=PA(e,f)|0;a=ba()|0;return (aa((U(b,f)|0)+(U(d,e)|0)+a|a&0|0),c|0|0)|0}function RA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=t;t=t+16|0;i=e|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=d>>31|((d|0)<0?-1:0)<<1;j=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;a=LA(h^a|0,g^b|0,h|0,g|0)|0;b=ba()|0;NA(a,b,LA(k^c|0,j^d|0,k|0,j|0)|0,ba()|0,i)|0;d=LA(f[i>>2]^h|0,f[i+4>>2]^g|0,h|0,g|0)|0;c=ba()|0;t=e;return (aa(c|0),d)|0}function SA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return NA(a,b,c,d,0)|0}function TA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=t;t=t+16|0;e=g|0;NA(a,b,c,d,e)|0;t=g;return (aa(f[e+4>>2]|0),f[e>>2]|0)|0}function UA(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){aa(b>>c|0);return a>>>c|(b&(1<>c-32|0}function VA(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){aa(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function WA(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){aa(b<>>32-c|0);return a<>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function YA(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Ta(a|0,c|0,d|0)|0;h=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return h|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}d=g&-4|0;e=d-64|0;while((a|0)<=(e|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(d|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{d=g-4|0;while((a|0)<(d|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return h|0}function ZA(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else YA(a,c,d)|0;return a|0}function _A(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}e=h&-4|0;g=e-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(g|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(e|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){b[a>>0]=c;a=a+1|0}return h-d|0}function $A(a){a=a|0;var b=0,c=0;c=f[r>>2]|0;b=c+a|0;if((a|0)>0&(b|0)<(c|0)|(b|0)<0){ca()|0;sa(12);return -1}f[r>>2]=b;if((b|0)>($()|0)?(_()|0)==0:0){f[r>>2]=c;sa(12);return -1}return c|0}function aB(a){a=a|0;return hb[a&127]()|0}function bB(){return da(0)|0}function cB(){return da(1)|0}function dB(){return da(2)|0}function eB(){return da(3)|0}function fB(){return da(4)|0}function gB(){return da(5)|0}function hB(){return da(6)|0}function iB(){return da(7)|0}function jB(){return da(8)|0}function kB(){return da(9)|0}function lB(){return da(10)|0}function mB(){return da(11)|0}function nB(){return da(12)|0}function oB(){return da(13)|0}function pB(){return da(14)|0}function qB(){return da(15)|0}function rB(){return da(16)|0}function sB(){return da(17)|0}function tB(){return da(18)|0}function uB(){return da(19)|0}function vB(){return da(20)|0}function wB(){return da(21)|0}function xB(){return da(22)|0}function yB(){return da(23)|0}function zB(){return da(24)|0}function AB(){return da(25)|0}function BB(){return da(26)|0}function CB(){return da(27)|0}function DB(){return da(28)|0}function EB(){return da(29)|0}function FB(){return da(30)|0}function GB(){return da(31)|0}function HB(){return da(32)|0}function IB(){return da(33)|0}function JB(){return da(34)|0}function KB(){return da(35)|0}function LB(){return da(36)|0}function MB(){return da(37)|0}function NB(){return da(38)|0}function OB(){return da(39)|0}function PB(){return da(40)|0}function QB(){return da(41)|0}function RB(){return da(42)|0}function SB(){return da(43)|0}function TB(){return da(44)|0}function UB(){return da(45)|0}function VB(){return da(46)|0}function WB(){return da(47)|0}function XB(){return da(48)|0}function YB(){return da(49)|0}function ZB(){return da(50)|0}function _B(){return da(51)|0}function $B(){return da(52)|0}function aC(){return da(53)|0}function bC(){return da(54)|0}function cC(){return da(55)|0}function dC(){return da(56)|0}function eC(){return da(57)|0}function fC(){return da(58)|0}function gC(){return da(59)|0}function hC(){return da(60)|0}function iC(){return da(61)|0}function jC(){return da(62)|0}function kC(){return da(63)|0}function lC(a,b){a=a|0;b=b|0;return ib[a&255](b|0)|0}function mC(a){a=a|0;return ea(0,a|0)|0}function nC(a){a=a|0;return ea(1,a|0)|0}function oC(a){a=a|0;return ea(2,a|0)|0}function pC(a){a=a|0;return ea(3,a|0)|0}function qC(a){a=a|0;return ea(4,a|0)|0}function rC(a){a=a|0;return ea(5,a|0)|0}function sC(a){a=a|0;return ea(6,a|0)|0}function tC(a){a=a|0;return ea(7,a|0)|0}function uC(a){a=a|0;return ea(8,a|0)|0}function vC(a){a=a|0;return ea(9,a|0)|0}function wC(a){a=a|0;return ea(10,a|0)|0}function xC(a){a=a|0;return ea(11,a|0)|0}function yC(a){a=a|0;return ea(12,a|0)|0}function zC(a){a=a|0;return ea(13,a|0)|0}function AC(a){a=a|0;return ea(14,a|0)|0}function BC(a){a=a|0;return ea(15,a|0)|0}function CC(a){a=a|0;return ea(16,a|0)|0}function DC(a){a=a|0;return ea(17,a|0)|0}function EC(a){a=a|0;return ea(18,a|0)|0}function FC(a){a=a|0;return ea(19,a|0)|0}function GC(a){a=a|0;return ea(20,a|0)|0}function HC(a){a=a|0;return ea(21,a|0)|0}function IC(a){a=a|0;return ea(22,a|0)|0}function JC(a){a=a|0;return ea(23,a|0)|0}function KC(a){a=a|0;return ea(24,a|0)|0}function LC(a){a=a|0;return ea(25,a|0)|0}function MC(a){a=a|0;return ea(26,a|0)|0}function NC(a){a=a|0;return ea(27,a|0)|0}function OC(a){a=a|0;return ea(28,a|0)|0}function PC(a){a=a|0;return ea(29,a|0)|0}function QC(a){a=a|0;return ea(30,a|0)|0}function RC(a){a=a|0;return ea(31,a|0)|0}function SC(a){a=a|0;return ea(32,a|0)|0}function TC(a){a=a|0;return ea(33,a|0)|0}function UC(a){a=a|0;return ea(34,a|0)|0}function VC(a){a=a|0;return ea(35,a|0)|0}function WC(a){a=a|0;return ea(36,a|0)|0}function XC(a){a=a|0;return ea(37,a|0)|0}function YC(a){a=a|0;return ea(38,a|0)|0}function ZC(a){a=a|0;return ea(39,a|0)|0}function _C(a){a=a|0;return ea(40,a|0)|0}function $C(a){a=a|0;return ea(41,a|0)|0}function aD(a){a=a|0;return ea(42,a|0)|0}function bD(a){a=a|0;return ea(43,a|0)|0}function cD(a){a=a|0;return ea(44,a|0)|0}function dD(a){a=a|0;return ea(45,a|0)|0}function eD(a){a=a|0;return ea(46,a|0)|0}function fD(a){a=a|0;return ea(47,a|0)|0}function gD(a){a=a|0;return ea(48,a|0)|0}function hD(a){a=a|0;return ea(49,a|0)|0}function iD(a){a=a|0;return ea(50,a|0)|0}function jD(a){a=a|0;return ea(51,a|0)|0}function kD(a){a=a|0;return ea(52,a|0)|0}function lD(a){a=a|0;return ea(53,a|0)|0}function mD(a){a=a|0;return ea(54,a|0)|0}function nD(a){a=a|0;return ea(55,a|0)|0}function oD(a){a=a|0;return ea(56,a|0)|0}function pD(a){a=a|0;return ea(57,a|0)|0}function qD(a){a=a|0;return ea(58,a|0)|0}function rD(a){a=a|0;return ea(59,a|0)|0}function sD(a){a=a|0;return ea(60,a|0)|0}function tD(a){a=a|0;return ea(61,a|0)|0}function uD(a){a=a|0;return ea(62,a|0)|0}function vD(a){a=a|0;return ea(63,a|0)|0}function wD(a,b,c){a=a|0;b=b|0;c=c|0;return jb[a&255](b|0,c|0)|0}function xD(a,b){a=a|0;b=b|0;return fa(0,a|0,b|0)|0}function yD(a,b){a=a|0;b=b|0;return fa(1,a|0,b|0)|0}function zD(a,b){a=a|0;b=b|0;return fa(2,a|0,b|0)|0}function AD(a,b){a=a|0;b=b|0;return fa(3,a|0,b|0)|0}function BD(a,b){a=a|0;b=b|0;return fa(4,a|0,b|0)|0}function CD(a,b){a=a|0;b=b|0;return fa(5,a|0,b|0)|0}function DD(a,b){a=a|0;b=b|0;return fa(6,a|0,b|0)|0}function ED(a,b){a=a|0;b=b|0;return fa(7,a|0,b|0)|0}function FD(a,b){a=a|0;b=b|0;return fa(8,a|0,b|0)|0}function GD(a,b){a=a|0;b=b|0;return fa(9,a|0,b|0)|0}function HD(a,b){a=a|0;b=b|0;return fa(10,a|0,b|0)|0}function ID(a,b){a=a|0;b=b|0;return fa(11,a|0,b|0)|0}function JD(a,b){a=a|0;b=b|0;return fa(12,a|0,b|0)|0}function KD(a,b){a=a|0;b=b|0;return fa(13,a|0,b|0)|0}function LD(a,b){a=a|0;b=b|0;return fa(14,a|0,b|0)|0}function MD(a,b){a=a|0;b=b|0;return fa(15,a|0,b|0)|0}function ND(a,b){a=a|0;b=b|0;return fa(16,a|0,b|0)|0}function OD(a,b){a=a|0;b=b|0;return fa(17,a|0,b|0)|0}function PD(a,b){a=a|0;b=b|0;return fa(18,a|0,b|0)|0}function QD(a,b){a=a|0;b=b|0;return fa(19,a|0,b|0)|0}function RD(a,b){a=a|0;b=b|0;return fa(20,a|0,b|0)|0}function SD(a,b){a=a|0;b=b|0;return fa(21,a|0,b|0)|0}function TD(a,b){a=a|0;b=b|0;return fa(22,a|0,b|0)|0}function UD(a,b){a=a|0;b=b|0;return fa(23,a|0,b|0)|0}function VD(a,b){a=a|0;b=b|0;return fa(24,a|0,b|0)|0}function WD(a,b){a=a|0;b=b|0;return fa(25,a|0,b|0)|0}function XD(a,b){a=a|0;b=b|0;return fa(26,a|0,b|0)|0}function YD(a,b){a=a|0;b=b|0;return fa(27,a|0,b|0)|0}function ZD(a,b){a=a|0;b=b|0;return fa(28,a|0,b|0)|0}function _D(a,b){a=a|0;b=b|0;return fa(29,a|0,b|0)|0}function $D(a,b){a=a|0;b=b|0;return fa(30,a|0,b|0)|0}function aE(a,b){a=a|0;b=b|0;return fa(31,a|0,b|0)|0}function bE(a,b){a=a|0;b=b|0;return fa(32,a|0,b|0)|0}function cE(a,b){a=a|0;b=b|0;return fa(33,a|0,b|0)|0}function dE(a,b){a=a|0;b=b|0;return fa(34,a|0,b|0)|0}function eE(a,b){a=a|0;b=b|0;return fa(35,a|0,b|0)|0}function fE(a,b){a=a|0;b=b|0;return fa(36,a|0,b|0)|0}function gE(a,b){a=a|0;b=b|0;return fa(37,a|0,b|0)|0}function hE(a,b){a=a|0;b=b|0;return fa(38,a|0,b|0)|0}function iE(a,b){a=a|0;b=b|0;return fa(39,a|0,b|0)|0}function jE(a,b){a=a|0;b=b|0;return fa(40,a|0,b|0)|0}function kE(a,b){a=a|0;b=b|0;return fa(41,a|0,b|0)|0}function lE(a,b){a=a|0;b=b|0;return fa(42,a|0,b|0)|0}function mE(a,b){a=a|0;b=b|0;return fa(43,a|0,b|0)|0}function nE(a,b){a=a|0;b=b|0;return fa(44,a|0,b|0)|0}function oE(a,b){a=a|0;b=b|0;return fa(45,a|0,b|0)|0}function pE(a,b){a=a|0;b=b|0;return fa(46,a|0,b|0)|0}function qE(a,b){a=a|0;b=b|0;return fa(47,a|0,b|0)|0}function rE(a,b){a=a|0;b=b|0;return fa(48,a|0,b|0)|0}function sE(a,b){a=a|0;b=b|0;return fa(49,a|0,b|0)|0}function tE(a,b){a=a|0;b=b|0;return fa(50,a|0,b|0)|0}function uE(a,b){a=a|0;b=b|0;return fa(51,a|0,b|0)|0}function vE(a,b){a=a|0;b=b|0;return fa(52,a|0,b|0)|0}function wE(a,b){a=a|0;b=b|0;return fa(53,a|0,b|0)|0}function xE(a,b){a=a|0;b=b|0;return fa(54,a|0,b|0)|0}function yE(a,b){a=a|0;b=b|0;return fa(55,a|0,b|0)|0}function zE(a,b){a=a|0;b=b|0;return fa(56,a|0,b|0)|0}function AE(a,b){a=a|0;b=b|0;return fa(57,a|0,b|0)|0}function BE(a,b){a=a|0;b=b|0;return fa(58,a|0,b|0)|0}function CE(a,b){a=a|0;b=b|0;return fa(59,a|0,b|0)|0}function DE(a,b){a=a|0;b=b|0;return fa(60,a|0,b|0)|0}function EE(a,b){a=a|0;b=b|0;return fa(61,a|0,b|0)|0}function FE(a,b){a=a|0;b=b|0;return fa(62,a|0,b|0)|0}function GE(a,b){a=a|0;b=b|0;return fa(63,a|0,b|0)|0}function HE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return kb[a&127](b|0,c|0,d|0)|0}function IE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(0,a|0,b|0,c|0)|0}function JE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(1,a|0,b|0,c|0)|0}function KE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(2,a|0,b|0,c|0)|0}function LE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(3,a|0,b|0,c|0)|0}function ME(a,b,c){a=a|0;b=b|0;c=c|0;return ga(4,a|0,b|0,c|0)|0}function NE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(5,a|0,b|0,c|0)|0}function OE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(6,a|0,b|0,c|0)|0}function PE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(7,a|0,b|0,c|0)|0}function QE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(8,a|0,b|0,c|0)|0}function RE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(9,a|0,b|0,c|0)|0}function SE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(10,a|0,b|0,c|0)|0}function TE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(11,a|0,b|0,c|0)|0}function UE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(12,a|0,b|0,c|0)|0}function VE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(13,a|0,b|0,c|0)|0}function WE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(14,a|0,b|0,c|0)|0}function XE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(15,a|0,b|0,c|0)|0}function YE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(16,a|0,b|0,c|0)|0}function ZE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(17,a|0,b|0,c|0)|0}function _E(a,b,c){a=a|0;b=b|0;c=c|0;return ga(18,a|0,b|0,c|0)|0}function $E(a,b,c){a=a|0;b=b|0;c=c|0;return ga(19,a|0,b|0,c|0)|0}function aF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(20,a|0,b|0,c|0)|0}function bF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(21,a|0,b|0,c|0)|0}function cF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(22,a|0,b|0,c|0)|0}function dF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(23,a|0,b|0,c|0)|0}function eF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(24,a|0,b|0,c|0)|0}function fF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(25,a|0,b|0,c|0)|0}function gF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(26,a|0,b|0,c|0)|0}function hF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(27,a|0,b|0,c|0)|0}function iF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(28,a|0,b|0,c|0)|0}function jF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(29,a|0,b|0,c|0)|0}function kF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(30,a|0,b|0,c|0)|0}function lF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(31,a|0,b|0,c|0)|0}function mF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(32,a|0,b|0,c|0)|0}function nF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(33,a|0,b|0,c|0)|0}function oF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(34,a|0,b|0,c|0)|0}function pF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(35,a|0,b|0,c|0)|0}function qF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(36,a|0,b|0,c|0)|0}function rF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(37,a|0,b|0,c|0)|0}function sF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(38,a|0,b|0,c|0)|0}function tF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(39,a|0,b|0,c|0)|0}function uF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(40,a|0,b|0,c|0)|0}function vF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(41,a|0,b|0,c|0)|0}function wF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(42,a|0,b|0,c|0)|0}function xF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(43,a|0,b|0,c|0)|0}function yF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(44,a|0,b|0,c|0)|0}function zF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(45,a|0,b|0,c|0)|0}function AF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(46,a|0,b|0,c|0)|0}function BF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(47,a|0,b|0,c|0)|0}function CF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(48,a|0,b|0,c|0)|0}function DF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(49,a|0,b|0,c|0)|0}function EF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(50,a|0,b|0,c|0)|0}function FF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(51,a|0,b|0,c|0)|0}function GF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(52,a|0,b|0,c|0)|0}function HF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(53,a|0,b|0,c|0)|0}function IF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(54,a|0,b|0,c|0)|0}function JF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(55,a|0,b|0,c|0)|0}function KF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(56,a|0,b|0,c|0)|0}function LF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(57,a|0,b|0,c|0)|0}function MF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(58,a|0,b|0,c|0)|0}function NF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(59,a|0,b|0,c|0)|0}function OF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(60,a|0,b|0,c|0)|0}function PF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(61,a|0,b|0,c|0)|0}function QF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(62,a|0,b|0,c|0)|0}function RF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(63,a|0,b|0,c|0)|0}function SF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return lb[a&127](b|0,c|0,d|0,e|0)|0}function TF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(0,a|0,b|0,c|0,d|0)|0}function UF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(1,a|0,b|0,c|0,d|0)|0}function VF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(2,a|0,b|0,c|0,d|0)|0}function WF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(3,a|0,b|0,c|0,d|0)|0}function XF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(4,a|0,b|0,c|0,d|0)|0}function YF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(5,a|0,b|0,c|0,d|0)|0}function ZF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(6,a|0,b|0,c|0,d|0)|0}function _F(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(7,a|0,b|0,c|0,d|0)|0}function $F(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(8,a|0,b|0,c|0,d|0)|0}function aG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(9,a|0,b|0,c|0,d|0)|0}function bG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(10,a|0,b|0,c|0,d|0)|0}function cG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(11,a|0,b|0,c|0,d|0)|0}function dG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(12,a|0,b|0,c|0,d|0)|0}function eG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(13,a|0,b|0,c|0,d|0)|0}function fG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(14,a|0,b|0,c|0,d|0)|0}function gG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(15,a|0,b|0,c|0,d|0)|0}function hG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(16,a|0,b|0,c|0,d|0)|0}function iG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(17,a|0,b|0,c|0,d|0)|0}function jG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(18,a|0,b|0,c|0,d|0)|0}function kG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(19,a|0,b|0,c|0,d|0)|0}function lG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(20,a|0,b|0,c|0,d|0)|0}function mG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(21,a|0,b|0,c|0,d|0)|0}function nG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(22,a|0,b|0,c|0,d|0)|0}function oG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(23,a|0,b|0,c|0,d|0)|0}function pG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(24,a|0,b|0,c|0,d|0)|0}function qG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(25,a|0,b|0,c|0,d|0)|0}function rG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(26,a|0,b|0,c|0,d|0)|0}function sG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(27,a|0,b|0,c|0,d|0)|0}function tG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(28,a|0,b|0,c|0,d|0)|0}function uG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(29,a|0,b|0,c|0,d|0)|0}function vG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(30,a|0,b|0,c|0,d|0)|0}function wG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(31,a|0,b|0,c|0,d|0)|0}function xG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(32,a|0,b|0,c|0,d|0)|0}function yG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(33,a|0,b|0,c|0,d|0)|0}function zG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(34,a|0,b|0,c|0,d|0)|0}function AG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(35,a|0,b|0,c|0,d|0)|0}function BG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(36,a|0,b|0,c|0,d|0)|0}function CG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(37,a|0,b|0,c|0,d|0)|0}function DG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(38,a|0,b|0,c|0,d|0)|0}function EG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(39,a|0,b|0,c|0,d|0)|0}function FG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(40,a|0,b|0,c|0,d|0)|0}function GG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(41,a|0,b|0,c|0,d|0)|0}function HG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(42,a|0,b|0,c|0,d|0)|0}function IG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(43,a|0,b|0,c|0,d|0)|0}function JG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(44,a|0,b|0,c|0,d|0)|0}function KG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(45,a|0,b|0,c|0,d|0)|0}function LG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(46,a|0,b|0,c|0,d|0)|0}function MG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(47,a|0,b|0,c|0,d|0)|0}function NG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(48,a|0,b|0,c|0,d|0)|0}function OG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(49,a|0,b|0,c|0,d|0)|0}function PG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(50,a|0,b|0,c|0,d|0)|0}function QG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(51,a|0,b|0,c|0,d|0)|0}function RG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(52,a|0,b|0,c|0,d|0)|0}function SG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(53,a|0,b|0,c|0,d|0)|0}function TG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(54,a|0,b|0,c|0,d|0)|0}function UG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(55,a|0,b|0,c|0,d|0)|0}function VG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(56,a|0,b|0,c|0,d|0)|0}function WG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(57,a|0,b|0,c|0,d|0)|0}function XG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(58,a|0,b|0,c|0,d|0)|0}function YG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(59,a|0,b|0,c|0,d|0)|0}function ZG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(60,a|0,b|0,c|0,d|0)|0}function _G(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(61,a|0,b|0,c|0,d|0)|0}function $G(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(62,a|0,b|0,c|0,d|0)|0}function aH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(63,a|0,b|0,c|0,d|0)|0}function bH(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return mb[a&127](b|0,c|0,d|0,e|0,f|0)|0}function cH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(0,a|0,b|0,c|0,d|0,e|0)|0}function dH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(1,a|0,b|0,c|0,d|0,e|0)|0}function eH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(2,a|0,b|0,c|0,d|0,e|0)|0}function fH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(3,a|0,b|0,c|0,d|0,e|0)|0}function gH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(4,a|0,b|0,c|0,d|0,e|0)|0}function hH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(5,a|0,b|0,c|0,d|0,e|0)|0}function iH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(6,a|0,b|0,c|0,d|0,e|0)|0}function jH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(7,a|0,b|0,c|0,d|0,e|0)|0}function kH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(8,a|0,b|0,c|0,d|0,e|0)|0}function lH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(9,a|0,b|0,c|0,d|0,e|0)|0}function mH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(10,a|0,b|0,c|0,d|0,e|0)|0}function nH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(11,a|0,b|0,c|0,d|0,e|0)|0}function oH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(12,a|0,b|0,c|0,d|0,e|0)|0}function pH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(13,a|0,b|0,c|0,d|0,e|0)|0}function qH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(14,a|0,b|0,c|0,d|0,e|0)|0}function rH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(15,a|0,b|0,c|0,d|0,e|0)|0}function sH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(16,a|0,b|0,c|0,d|0,e|0)|0}function tH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(17,a|0,b|0,c|0,d|0,e|0)|0}function uH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(18,a|0,b|0,c|0,d|0,e|0)|0}function vH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(19,a|0,b|0,c|0,d|0,e|0)|0}function wH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(20,a|0,b|0,c|0,d|0,e|0)|0}function xH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(21,a|0,b|0,c|0,d|0,e|0)|0}function yH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(22,a|0,b|0,c|0,d|0,e|0)|0}function zH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(23,a|0,b|0,c|0,d|0,e|0)|0}function AH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(24,a|0,b|0,c|0,d|0,e|0)|0}function BH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(25,a|0,b|0,c|0,d|0,e|0)|0}function CH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(26,a|0,b|0,c|0,d|0,e|0)|0}function DH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(27,a|0,b|0,c|0,d|0,e|0)|0}function EH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(28,a|0,b|0,c|0,d|0,e|0)|0}function FH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(29,a|0,b|0,c|0,d|0,e|0)|0}function GH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(30,a|0,b|0,c|0,d|0,e|0)|0}function HH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(31,a|0,b|0,c|0,d|0,e|0)|0}function IH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(32,a|0,b|0,c|0,d|0,e|0)|0}function JH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(33,a|0,b|0,c|0,d|0,e|0)|0}function KH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(34,a|0,b|0,c|0,d|0,e|0)|0}function LH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(35,a|0,b|0,c|0,d|0,e|0)|0}function MH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(36,a|0,b|0,c|0,d|0,e|0)|0}function NH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(37,a|0,b|0,c|0,d|0,e|0)|0}function OH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(38,a|0,b|0,c|0,d|0,e|0)|0}function PH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(39,a|0,b|0,c|0,d|0,e|0)|0}function QH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(40,a|0,b|0,c|0,d|0,e|0)|0}function RH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(41,a|0,b|0,c|0,d|0,e|0)|0}function SH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(42,a|0,b|0,c|0,d|0,e|0)|0}function TH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(43,a|0,b|0,c|0,d|0,e|0)|0}function UH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(44,a|0,b|0,c|0,d|0,e|0)|0}function VH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(45,a|0,b|0,c|0,d|0,e|0)|0}function WH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(46,a|0,b|0,c|0,d|0,e|0)|0}function XH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(47,a|0,b|0,c|0,d|0,e|0)|0}function YH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(48,a|0,b|0,c|0,d|0,e|0)|0}function ZH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(49,a|0,b|0,c|0,d|0,e|0)|0}function _H(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(50,a|0,b|0,c|0,d|0,e|0)|0}function $H(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(51,a|0,b|0,c|0,d|0,e|0)|0}function aI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(52,a|0,b|0,c|0,d|0,e|0)|0}function bI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(53,a|0,b|0,c|0,d|0,e|0)|0}function cI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(54,a|0,b|0,c|0,d|0,e|0)|0}function dI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(55,a|0,b|0,c|0,d|0,e|0)|0}function eI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(56,a|0,b|0,c|0,d|0,e|0)|0}function fI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(57,a|0,b|0,c|0,d|0,e|0)|0}function gI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(58,a|0,b|0,c|0,d|0,e|0)|0}function hI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(59,a|0,b|0,c|0,d|0,e|0)|0}function iI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(60,a|0,b|0,c|0,d|0,e|0)|0}function jI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(61,a|0,b|0,c|0,d|0,e|0)|0}function kI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(62,a|0,b|0,c|0,d|0,e|0)|0}function lI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(63,a|0,b|0,c|0,d|0,e|0)|0}function mI(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return nb[a&127](b|0,c|0,d|0,e|0,f|0,g|0)|0}function nI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function II(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function XI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _I(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $I(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xJ(a,b){a=a|0;b=b|0;ob[a&127](b|0)}function yJ(a){a=a|0;ka(0,a|0)}function zJ(a){a=a|0;ka(1,a|0)}function AJ(a){a=a|0;ka(2,a|0)}function BJ(a){a=a|0;ka(3,a|0)}function CJ(a){a=a|0;ka(4,a|0)}function DJ(a){a=a|0;ka(5,a|0)}function EJ(a){a=a|0;ka(6,a|0)}function FJ(a){a=a|0;ka(7,a|0)}function GJ(a){a=a|0;ka(8,a|0)}function HJ(a){a=a|0;ka(9,a|0)}function IJ(a){a=a|0;ka(10,a|0)}function JJ(a){a=a|0;ka(11,a|0)}function KJ(a){a=a|0;ka(12,a|0)}function LJ(a){a=a|0;ka(13,a|0)}function MJ(a){a=a|0;ka(14,a|0)}function NJ(a){a=a|0;ka(15,a|0)}function OJ(a){a=a|0;ka(16,a|0)}function PJ(a){a=a|0;ka(17,a|0)}function QJ(a){a=a|0;ka(18,a|0)}function RJ(a){a=a|0;ka(19,a|0)}function SJ(a){a=a|0;ka(20,a|0)}function TJ(a){a=a|0;ka(21,a|0)}function UJ(a){a=a|0;ka(22,a|0)}function VJ(a){a=a|0;ka(23,a|0)}function WJ(a){a=a|0;ka(24,a|0)}function XJ(a){a=a|0;ka(25,a|0)}function YJ(a){a=a|0;ka(26,a|0)}function ZJ(a){a=a|0;ka(27,a|0)}function _J(a){a=a|0;ka(28,a|0)}function $J(a){a=a|0;ka(29,a|0)}function aK(a){a=a|0;ka(30,a|0)}function bK(a){a=a|0;ka(31,a|0)}function cK(a){a=a|0;ka(32,a|0)}function dK(a){a=a|0;ka(33,a|0)}function eK(a){a=a|0;ka(34,a|0)}function fK(a){a=a|0;ka(35,a|0)}function gK(a){a=a|0;ka(36,a|0)}function hK(a){a=a|0;ka(37,a|0)}function iK(a){a=a|0;ka(38,a|0)}function jK(a){a=a|0;ka(39,a|0)}function kK(a){a=a|0;ka(40,a|0)}function lK(a){a=a|0;ka(41,a|0)}function mK(a){a=a|0;ka(42,a|0)}function nK(a){a=a|0;ka(43,a|0)}function oK(a){a=a|0;ka(44,a|0)}function pK(a){a=a|0;ka(45,a|0)}function qK(a){a=a|0;ka(46,a|0)}function rK(a){a=a|0;ka(47,a|0)}function sK(a){a=a|0;ka(48,a|0)}function tK(a){a=a|0;ka(49,a|0)}function uK(a){a=a|0;ka(50,a|0)}function vK(a){a=a|0;ka(51,a|0)}function wK(a){a=a|0;ka(52,a|0)}function xK(a){a=a|0;ka(53,a|0)}function yK(a){a=a|0;ka(54,a|0)}function zK(a){a=a|0;ka(55,a|0)}function AK(a){a=a|0;ka(56,a|0)}function BK(a){a=a|0;ka(57,a|0)}function CK(a){a=a|0;ka(58,a|0)}function DK(a){a=a|0;ka(59,a|0)}function EK(a){a=a|0;ka(60,a|0)}function FK(a){a=a|0;ka(61,a|0)}function GK(a){a=a|0;ka(62,a|0)}function HK(a){a=a|0;ka(63,a|0)}function IK(a,b,c){a=a|0;b=b|0;c=c|0;pb[a&127](b|0,c|0)}function JK(a,b){a=a|0;b=b|0;la(0,a|0,b|0)}function KK(a,b){a=a|0;b=b|0;la(1,a|0,b|0)}function LK(a,b){a=a|0;b=b|0;la(2,a|0,b|0)}function MK(a,b){a=a|0;b=b|0;la(3,a|0,b|0)}function NK(a,b){a=a|0;b=b|0;la(4,a|0,b|0)}function OK(a,b){a=a|0;b=b|0;la(5,a|0,b|0)}function PK(a,b){a=a|0;b=b|0;la(6,a|0,b|0)}function QK(a,b){a=a|0;b=b|0;la(7,a|0,b|0)}function RK(a,b){a=a|0;b=b|0;la(8,a|0,b|0)}function SK(a,b){a=a|0;b=b|0;la(9,a|0,b|0)}function TK(a,b){a=a|0;b=b|0;la(10,a|0,b|0)}function UK(a,b){a=a|0;b=b|0;la(11,a|0,b|0)}function VK(a,b){a=a|0;b=b|0;la(12,a|0,b|0)}function WK(a,b){a=a|0;b=b|0;la(13,a|0,b|0)}function XK(a,b){a=a|0;b=b|0;la(14,a|0,b|0)}function YK(a,b){a=a|0;b=b|0;la(15,a|0,b|0)}function ZK(a,b){a=a|0;b=b|0;la(16,a|0,b|0)}function _K(a,b){a=a|0;b=b|0;la(17,a|0,b|0)}function $K(a,b){a=a|0;b=b|0;la(18,a|0,b|0)}function aL(a,b){a=a|0;b=b|0;la(19,a|0,b|0)}function bL(a,b){a=a|0;b=b|0;la(20,a|0,b|0)}function cL(a,b){a=a|0;b=b|0;la(21,a|0,b|0)}function dL(a,b){a=a|0;b=b|0;la(22,a|0,b|0)}function eL(a,b){a=a|0;b=b|0;la(23,a|0,b|0)}function fL(a,b){a=a|0;b=b|0;la(24,a|0,b|0)}function gL(a,b){a=a|0;b=b|0;la(25,a|0,b|0)}function hL(a,b){a=a|0;b=b|0;la(26,a|0,b|0)}function iL(a,b){a=a|0;b=b|0;la(27,a|0,b|0)}function jL(a,b){a=a|0;b=b|0;la(28,a|0,b|0)}function kL(a,b){a=a|0;b=b|0;la(29,a|0,b|0)}function lL(a,b){a=a|0;b=b|0;la(30,a|0,b|0)}function mL(a,b){a=a|0;b=b|0;la(31,a|0,b|0)}function nL(a,b){a=a|0;b=b|0;la(32,a|0,b|0)}function oL(a,b){a=a|0;b=b|0;la(33,a|0,b|0)}function pL(a,b){a=a|0;b=b|0;la(34,a|0,b|0)}function qL(a,b){a=a|0;b=b|0;la(35,a|0,b|0)}function rL(a,b){a=a|0;b=b|0;la(36,a|0,b|0)}function sL(a,b){a=a|0;b=b|0;la(37,a|0,b|0)}function tL(a,b){a=a|0;b=b|0;la(38,a|0,b|0)}function uL(a,b){a=a|0;b=b|0;la(39,a|0,b|0)}function vL(a,b){a=a|0;b=b|0;la(40,a|0,b|0)}function wL(a,b){a=a|0;b=b|0;la(41,a|0,b|0)}function xL(a,b){a=a|0;b=b|0;la(42,a|0,b|0)}function yL(a,b){a=a|0;b=b|0;la(43,a|0,b|0)}function zL(a,b){a=a|0;b=b|0;la(44,a|0,b|0)}function AL(a,b){a=a|0;b=b|0;la(45,a|0,b|0)}function BL(a,b){a=a|0;b=b|0;la(46,a|0,b|0)}function CL(a,b){a=a|0;b=b|0;la(47,a|0,b|0)}function DL(a,b){a=a|0;b=b|0;la(48,a|0,b|0)}function EL(a,b){a=a|0;b=b|0;la(49,a|0,b|0)}function FL(a,b){a=a|0;b=b|0;la(50,a|0,b|0)}function GL(a,b){a=a|0;b=b|0;la(51,a|0,b|0)}function HL(a,b){a=a|0;b=b|0;la(52,a|0,b|0)}function IL(a,b){a=a|0;b=b|0;la(53,a|0,b|0)}function JL(a,b){a=a|0;b=b|0;la(54,a|0,b|0)}function KL(a,b){a=a|0;b=b|0;la(55,a|0,b|0)}function LL(a,b){a=a|0;b=b|0;la(56,a|0,b|0)}function ML(a,b){a=a|0;b=b|0;la(57,a|0,b|0)}function NL(a,b){a=a|0;b=b|0;la(58,a|0,b|0)}function OL(a,b){a=a|0;b=b|0;la(59,a|0,b|0)}function PL(a,b){a=a|0;b=b|0;la(60,a|0,b|0)}function QL(a,b){a=a|0;b=b|0;la(61,a|0,b|0)}function RL(a,b){a=a|0;b=b|0;la(62,a|0,b|0)}function SL(a,b){a=a|0;b=b|0;la(63,a|0,b|0)}function TL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;qb[a&255](b|0,c|0,d|0)}function UL(a,b,c){a=a|0;b=b|0;c=c|0;ma(0,a|0,b|0,c|0)}function VL(a,b,c){a=a|0;b=b|0;c=c|0;ma(1,a|0,b|0,c|0)}function WL(a,b,c){a=a|0;b=b|0;c=c|0;ma(2,a|0,b|0,c|0)}function XL(a,b,c){a=a|0;b=b|0;c=c|0;ma(3,a|0,b|0,c|0)}function YL(a,b,c){a=a|0;b=b|0;c=c|0;ma(4,a|0,b|0,c|0)}function ZL(a,b,c){a=a|0;b=b|0;c=c|0;ma(5,a|0,b|0,c|0)}function _L(a,b,c){a=a|0;b=b|0;c=c|0;ma(6,a|0,b|0,c|0)}function $L(a,b,c){a=a|0;b=b|0;c=c|0;ma(7,a|0,b|0,c|0)}function aM(a,b,c){a=a|0;b=b|0;c=c|0;ma(8,a|0,b|0,c|0)}function bM(a,b,c){a=a|0;b=b|0;c=c|0;ma(9,a|0,b|0,c|0)}function cM(a,b,c){a=a|0;b=b|0;c=c|0;ma(10,a|0,b|0,c|0)}function dM(a,b,c){a=a|0;b=b|0;c=c|0;ma(11,a|0,b|0,c|0)}function eM(a,b,c){a=a|0;b=b|0;c=c|0;ma(12,a|0,b|0,c|0)}function fM(a,b,c){a=a|0;b=b|0;c=c|0;ma(13,a|0,b|0,c|0)}function gM(a,b,c){a=a|0;b=b|0;c=c|0;ma(14,a|0,b|0,c|0)}function hM(a,b,c){a=a|0;b=b|0;c=c|0;ma(15,a|0,b|0,c|0)}function iM(a,b,c){a=a|0;b=b|0;c=c|0;ma(16,a|0,b|0,c|0)}function jM(a,b,c){a=a|0;b=b|0;c=c|0;ma(17,a|0,b|0,c|0)}function kM(a,b,c){a=a|0;b=b|0;c=c|0;ma(18,a|0,b|0,c|0)}function lM(a,b,c){a=a|0;b=b|0;c=c|0;ma(19,a|0,b|0,c|0)}function mM(a,b,c){a=a|0;b=b|0;c=c|0;ma(20,a|0,b|0,c|0)}function nM(a,b,c){a=a|0;b=b|0;c=c|0;ma(21,a|0,b|0,c|0)}function oM(a,b,c){a=a|0;b=b|0;c=c|0;ma(22,a|0,b|0,c|0)}function pM(a,b,c){a=a|0;b=b|0;c=c|0;ma(23,a|0,b|0,c|0)}function qM(a,b,c){a=a|0;b=b|0;c=c|0;ma(24,a|0,b|0,c|0)}function rM(a,b,c){a=a|0;b=b|0;c=c|0;ma(25,a|0,b|0,c|0)}function sM(a,b,c){a=a|0;b=b|0;c=c|0;ma(26,a|0,b|0,c|0)}function tM(a,b,c){a=a|0;b=b|0;c=c|0;ma(27,a|0,b|0,c|0)}function uM(a,b,c){a=a|0;b=b|0;c=c|0;ma(28,a|0,b|0,c|0)}function vM(a,b,c){a=a|0;b=b|0;c=c|0;ma(29,a|0,b|0,c|0)}function wM(a,b,c){a=a|0;b=b|0;c=c|0;ma(30,a|0,b|0,c|0)}function xM(a,b,c){a=a|0;b=b|0;c=c|0;ma(31,a|0,b|0,c|0)}function yM(a,b,c){a=a|0;b=b|0;c=c|0;ma(32,a|0,b|0,c|0)}function zM(a,b,c){a=a|0;b=b|0;c=c|0;ma(33,a|0,b|0,c|0)}function AM(a,b,c){a=a|0;b=b|0;c=c|0;ma(34,a|0,b|0,c|0)}function BM(a,b,c){a=a|0;b=b|0;c=c|0;ma(35,a|0,b|0,c|0)}function CM(a,b,c){a=a|0;b=b|0;c=c|0;ma(36,a|0,b|0,c|0)}function DM(a,b,c){a=a|0;b=b|0;c=c|0;ma(37,a|0,b|0,c|0)}function EM(a,b,c){a=a|0;b=b|0;c=c|0;ma(38,a|0,b|0,c|0)}function FM(a,b,c){a=a|0;b=b|0;c=c|0;ma(39,a|0,b|0,c|0)}function GM(a,b,c){a=a|0;b=b|0;c=c|0;ma(40,a|0,b|0,c|0)}function HM(a,b,c){a=a|0;b=b|0;c=c|0;ma(41,a|0,b|0,c|0)}function IM(a,b,c){a=a|0;b=b|0;c=c|0;ma(42,a|0,b|0,c|0)}function JM(a,b,c){a=a|0;b=b|0;c=c|0;ma(43,a|0,b|0,c|0)}function KM(a,b,c){a=a|0;b=b|0;c=c|0;ma(44,a|0,b|0,c|0)}function LM(a,b,c){a=a|0;b=b|0;c=c|0;ma(45,a|0,b|0,c|0)}function MM(a,b,c){a=a|0;b=b|0;c=c|0;ma(46,a|0,b|0,c|0)}function NM(a,b,c){a=a|0;b=b|0;c=c|0;ma(47,a|0,b|0,c|0)}function OM(a,b,c){a=a|0;b=b|0;c=c|0;ma(48,a|0,b|0,c|0)}function PM(a,b,c){a=a|0;b=b|0;c=c|0;ma(49,a|0,b|0,c|0)}function QM(a,b,c){a=a|0;b=b|0;c=c|0;ma(50,a|0,b|0,c|0)}function RM(a,b,c){a=a|0;b=b|0;c=c|0;ma(51,a|0,b|0,c|0)}function SM(a,b,c){a=a|0;b=b|0;c=c|0;ma(52,a|0,b|0,c|0)}function TM(a,b,c){a=a|0;b=b|0;c=c|0;ma(53,a|0,b|0,c|0)}function UM(a,b,c){a=a|0;b=b|0;c=c|0;ma(54,a|0,b|0,c|0)}function VM(a,b,c){a=a|0;b=b|0;c=c|0;ma(55,a|0,b|0,c|0)}function WM(a,b,c){a=a|0;b=b|0;c=c|0;ma(56,a|0,b|0,c|0)}function XM(a,b,c){a=a|0;b=b|0;c=c|0;ma(57,a|0,b|0,c|0)}function YM(a,b,c){a=a|0;b=b|0;c=c|0;ma(58,a|0,b|0,c|0)}function ZM(a,b,c){a=a|0;b=b|0;c=c|0;ma(59,a|0,b|0,c|0)}function _M(a,b,c){a=a|0;b=b|0;c=c|0;ma(60,a|0,b|0,c|0)}function $M(a,b,c){a=a|0;b=b|0;c=c|0;ma(61,a|0,b|0,c|0)}function aN(a,b,c){a=a|0;b=b|0;c=c|0;ma(62,a|0,b|0,c|0)}function bN(a,b,c){a=a|0;b=b|0;c=c|0;ma(63,a|0,b|0,c|0)}function cN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;rb[a&127](b|0,c|0,d|0,e|0)}function dN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(0,a|0,b|0,c|0,d|0)}function eN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(1,a|0,b|0,c|0,d|0)}function fN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(2,a|0,b|0,c|0,d|0)}function gN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(3,a|0,b|0,c|0,d|0)}function hN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(4,a|0,b|0,c|0,d|0)}function iN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(5,a|0,b|0,c|0,d|0)}function jN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(6,a|0,b|0,c|0,d|0)}function kN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(7,a|0,b|0,c|0,d|0)}function lN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(8,a|0,b|0,c|0,d|0)}function mN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(9,a|0,b|0,c|0,d|0)}function nN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(10,a|0,b|0,c|0,d|0)}function oN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(11,a|0,b|0,c|0,d|0)}function pN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(12,a|0,b|0,c|0,d|0)}function qN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(13,a|0,b|0,c|0,d|0)}function rN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(14,a|0,b|0,c|0,d|0)}function sN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(15,a|0,b|0,c|0,d|0)}function tN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(16,a|0,b|0,c|0,d|0)}function uN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(17,a|0,b|0,c|0,d|0)}function vN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(18,a|0,b|0,c|0,d|0)}function wN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(19,a|0,b|0,c|0,d|0)}function xN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(20,a|0,b|0,c|0,d|0)}function yN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(21,a|0,b|0,c|0,d|0)}function zN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(22,a|0,b|0,c|0,d|0)}function AN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(23,a|0,b|0,c|0,d|0)}function BN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(24,a|0,b|0,c|0,d|0)}function CN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(25,a|0,b|0,c|0,d|0)}function DN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(26,a|0,b|0,c|0,d|0)}function EN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(27,a|0,b|0,c|0,d|0)}function FN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(28,a|0,b|0,c|0,d|0)}function GN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(29,a|0,b|0,c|0,d|0)}function HN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(30,a|0,b|0,c|0,d|0)}function IN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(31,a|0,b|0,c|0,d|0)}function JN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(32,a|0,b|0,c|0,d|0)}function KN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(33,a|0,b|0,c|0,d|0)}function LN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(34,a|0,b|0,c|0,d|0)}function MN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(35,a|0,b|0,c|0,d|0)}function NN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(36,a|0,b|0,c|0,d|0)}function ON(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(37,a|0,b|0,c|0,d|0)}function PN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(38,a|0,b|0,c|0,d|0)}function QN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(39,a|0,b|0,c|0,d|0)}function RN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(40,a|0,b|0,c|0,d|0)}function SN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(41,a|0,b|0,c|0,d|0)}function TN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(42,a|0,b|0,c|0,d|0)}function UN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(43,a|0,b|0,c|0,d|0)}function VN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(44,a|0,b|0,c|0,d|0)}function WN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(45,a|0,b|0,c|0,d|0)}function XN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(46,a|0,b|0,c|0,d|0)}function YN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(47,a|0,b|0,c|0,d|0)}function ZN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(48,a|0,b|0,c|0,d|0)}function _N(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(49,a|0,b|0,c|0,d|0)}function $N(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(50,a|0,b|0,c|0,d|0)}function aO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(51,a|0,b|0,c|0,d|0)}function bO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(52,a|0,b|0,c|0,d|0)}function cO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(53,a|0,b|0,c|0,d|0)}function dO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(54,a|0,b|0,c|0,d|0)}function eO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(55,a|0,b|0,c|0,d|0)}function fO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(56,a|0,b|0,c|0,d|0)}function gO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(57,a|0,b|0,c|0,d|0)}function hO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(58,a|0,b|0,c|0,d|0)}function iO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(59,a|0,b|0,c|0,d|0)}function jO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(60,a|0,b|0,c|0,d|0)}function kO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(61,a|0,b|0,c|0,d|0)}function lO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(62,a|0,b|0,c|0,d|0)}function mO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(63,a|0,b|0,c|0,d|0)}function nO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;sb[a&127](b|0,c|0,d|0,e|0,f|0)}function oO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(0,a|0,b|0,c|0,d|0,e|0)}function pO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(1,a|0,b|0,c|0,d|0,e|0)}function qO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(2,a|0,b|0,c|0,d|0,e|0)}function rO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(3,a|0,b|0,c|0,d|0,e|0)}function sO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(4,a|0,b|0,c|0,d|0,e|0)}function tO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(5,a|0,b|0,c|0,d|0,e|0)}function uO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(6,a|0,b|0,c|0,d|0,e|0)}function vO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(7,a|0,b|0,c|0,d|0,e|0)}function wO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(8,a|0,b|0,c|0,d|0,e|0)}function xO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(9,a|0,b|0,c|0,d|0,e|0)}function yO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(10,a|0,b|0,c|0,d|0,e|0)}function zO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(11,a|0,b|0,c|0,d|0,e|0)}function AO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(12,a|0,b|0,c|0,d|0,e|0)}function BO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(13,a|0,b|0,c|0,d|0,e|0)}function CO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(14,a|0,b|0,c|0,d|0,e|0)}function DO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(15,a|0,b|0,c|0,d|0,e|0)}function EO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(16,a|0,b|0,c|0,d|0,e|0)}function FO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(17,a|0,b|0,c|0,d|0,e|0)}function GO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(18,a|0,b|0,c|0,d|0,e|0)}function HO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(19,a|0,b|0,c|0,d|0,e|0)}function IO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(20,a|0,b|0,c|0,d|0,e|0)}function JO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(21,a|0,b|0,c|0,d|0,e|0)}function KO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(22,a|0,b|0,c|0,d|0,e|0)}function LO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(23,a|0,b|0,c|0,d|0,e|0)}function MO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(24,a|0,b|0,c|0,d|0,e|0)}function NO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(25,a|0,b|0,c|0,d|0,e|0)}function OO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(26,a|0,b|0,c|0,d|0,e|0)}function PO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(27,a|0,b|0,c|0,d|0,e|0)}function QO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(28,a|0,b|0,c|0,d|0,e|0)}function RO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(29,a|0,b|0,c|0,d|0,e|0)}function SO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(30,a|0,b|0,c|0,d|0,e|0)}function TO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(31,a|0,b|0,c|0,d|0,e|0)}function UO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(32,a|0,b|0,c|0,d|0,e|0)}function VO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(33,a|0,b|0,c|0,d|0,e|0)}function WO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(34,a|0,b|0,c|0,d|0,e|0)}function XO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(35,a|0,b|0,c|0,d|0,e|0)}function YO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(36,a|0,b|0,c|0,d|0,e|0)}function ZO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(37,a|0,b|0,c|0,d|0,e|0)}function _O(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(38,a|0,b|0,c|0,d|0,e|0)}function $O(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(39,a|0,b|0,c|0,d|0,e|0)}function aP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(40,a|0,b|0,c|0,d|0,e|0)}function bP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(41,a|0,b|0,c|0,d|0,e|0)}function cP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(42,a|0,b|0,c|0,d|0,e|0)}function dP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(43,a|0,b|0,c|0,d|0,e|0)}function eP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(44,a|0,b|0,c|0,d|0,e|0)}function fP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(45,a|0,b|0,c|0,d|0,e|0)}function gP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(46,a|0,b|0,c|0,d|0,e|0)}function hP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(47,a|0,b|0,c|0,d|0,e|0)}function iP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(48,a|0,b|0,c|0,d|0,e|0)}function jP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(49,a|0,b|0,c|0,d|0,e|0)}function kP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(50,a|0,b|0,c|0,d|0,e|0)}function lP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(51,a|0,b|0,c|0,d|0,e|0)}function mP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(52,a|0,b|0,c|0,d|0,e|0)}function nP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(53,a|0,b|0,c|0,d|0,e|0)}function oP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(54,a|0,b|0,c|0,d|0,e|0)}function pP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(55,a|0,b|0,c|0,d|0,e|0)}function qP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(56,a|0,b|0,c|0,d|0,e|0)}function rP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(57,a|0,b|0,c|0,d|0,e|0)}function sP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(58,a|0,b|0,c|0,d|0,e|0)}function tP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(59,a|0,b|0,c|0,d|0,e|0)}function uP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(60,a|0,b|0,c|0,d|0,e|0)}function vP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(61,a|0,b|0,c|0,d|0,e|0)}function wP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(62,a|0,b|0,c|0,d|0,e|0)}function xP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(63,a|0,b|0,c|0,d|0,e|0)}function yP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;tb[a&127](b|0,c|0,d|0,e|0,f|0,g|0)}function zP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function AP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function BP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function CP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function DP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function EP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(5,a|0,b|0,c|0,d|0,e|0,f|0)}function FP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(6,a|0,b|0,c|0,d|0,e|0,f|0)}function GP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(7,a|0,b|0,c|0,d|0,e|0,f|0)}function HP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(8,a|0,b|0,c|0,d|0,e|0,f|0)}function IP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(9,a|0,b|0,c|0,d|0,e|0,f|0)}function JP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(10,a|0,b|0,c|0,d|0,e|0,f|0)}function KP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(11,a|0,b|0,c|0,d|0,e|0,f|0)}function LP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(12,a|0,b|0,c|0,d|0,e|0,f|0)}function MP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(13,a|0,b|0,c|0,d|0,e|0,f|0)}function NP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(14,a|0,b|0,c|0,d|0,e|0,f|0)}function OP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(15,a|0,b|0,c|0,d|0,e|0,f|0)}function PP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(16,a|0,b|0,c|0,d|0,e|0,f|0)}function QP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(17,a|0,b|0,c|0,d|0,e|0,f|0)}function RP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(18,a|0,b|0,c|0,d|0,e|0,f|0)}function SP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(19,a|0,b|0,c|0,d|0,e|0,f|0)}function TP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(20,a|0,b|0,c|0,d|0,e|0,f|0)}function UP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(21,a|0,b|0,c|0,d|0,e|0,f|0)}function VP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(22,a|0,b|0,c|0,d|0,e|0,f|0)}function WP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(23,a|0,b|0,c|0,d|0,e|0,f|0)}function XP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(24,a|0,b|0,c|0,d|0,e|0,f|0)}function YP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(25,a|0,b|0,c|0,d|0,e|0,f|0)}function ZP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(26,a|0,b|0,c|0,d|0,e|0,f|0)}function _P(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(27,a|0,b|0,c|0,d|0,e|0,f|0)}function $P(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(28,a|0,b|0,c|0,d|0,e|0,f|0)}function aQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(29,a|0,b|0,c|0,d|0,e|0,f|0)}function bQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(30,a|0,b|0,c|0,d|0,e|0,f|0)}function cQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(31,a|0,b|0,c|0,d|0,e|0,f|0)}function dQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(32,a|0,b|0,c|0,d|0,e|0,f|0)}function eQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(33,a|0,b|0,c|0,d|0,e|0,f|0)}function fQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(34,a|0,b|0,c|0,d|0,e|0,f|0)}function gQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(35,a|0,b|0,c|0,d|0,e|0,f|0)}function hQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(36,a|0,b|0,c|0,d|0,e|0,f|0)}function iQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(37,a|0,b|0,c|0,d|0,e|0,f|0)}function jQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(38,a|0,b|0,c|0,d|0,e|0,f|0)}function kQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(39,a|0,b|0,c|0,d|0,e|0,f|0)}function lQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(40,a|0,b|0,c|0,d|0,e|0,f|0)}function mQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(41,a|0,b|0,c|0,d|0,e|0,f|0)}function nQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(42,a|0,b|0,c|0,d|0,e|0,f|0)}function oQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(43,a|0,b|0,c|0,d|0,e|0,f|0)}function pQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(44,a|0,b|0,c|0,d|0,e|0,f|0)}function qQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(45,a|0,b|0,c|0,d|0,e|0,f|0)}function rQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(46,a|0,b|0,c|0,d|0,e|0,f|0)}function sQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(47,a|0,b|0,c|0,d|0,e|0,f|0)}function tQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(48,a|0,b|0,c|0,d|0,e|0,f|0)}function uQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(49,a|0,b|0,c|0,d|0,e|0,f|0)}function vQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(50,a|0,b|0,c|0,d|0,e|0,f|0)}function wQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(51,a|0,b|0,c|0,d|0,e|0,f|0)}function xQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(52,a|0,b|0,c|0,d|0,e|0,f|0)}function yQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(53,a|0,b|0,c|0,d|0,e|0,f|0)}function zQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(54,a|0,b|0,c|0,d|0,e|0,f|0)}function AQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(55,a|0,b|0,c|0,d|0,e|0,f|0)}function BQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(56,a|0,b|0,c|0,d|0,e|0,f|0)}function CQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(57,a|0,b|0,c|0,d|0,e|0,f|0)}function DQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(58,a|0,b|0,c|0,d|0,e|0,f|0)}function EQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function FQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function GQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function HQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(62,a|0,b|0,c|0,d|0,e|0,f|0)}function IQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function JQ(){Y(0);return 0}function KQ(a){a=a|0;Y(1);return 0}function LQ(a,b){a=a|0;b=b|0;Y(2);return 0}function MQ(a,b,c){a=a|0;b=b|0;c=c|0;Y(3);return 0}function NQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Y(4);return 0}function OQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Y(5);return 0}function PQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Y(6);return 0}function QQ(a){a=a|0;Y(7)}function RQ(a,b){a=a|0;b=b|0;Y(8)}function SQ(a,b,c){a=a|0;b=b|0;c=c|0;Y(9)}function TQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Y(10)}function UQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Y(11)}function VQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Y(12)} -function oo(a,c,e,g,i,k,l,m){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=t;t=t+16|0;v=Q;P=f[a+8>>2]|0;L=b[k>>0]|0;z=k+4|0;N=f[z>>2]|0;if(!i)u=0;else u=h[i+1>>0]|0;if(!g)O=0;else O=(f[g>>2]|0)==0?0:g;G=(O|0)!=0;w=(u|0)!=0;do if(!(w|G)?(o=f[c+16>>2]|0,(o|0)>0):0){g=P+136|0;n=f[g>>2]|0;if((f[(f[P+12>>2]|0)+48>>2]|0)>(n|0)){f[g>>2]=n+1;M=f[P+88>>2]|0;b[M+(n*20|0)>>0]=47;d[M+(n*20|0)+2>>1]=0;f[M+(n*20|0)+4>>2]=o;f[M+(n*20|0)+8>>2]=l;f[M+(n*20|0)+12>>2]=1;f[M+(n*20|0)+16>>2]=0;b[M+(n*20|0)+1>>0]=0;break}else{tl(P,47,o,l,1)|0;break}}while(0);n=f[c>>2]|0;p=f[n>>2]|0;r=k+8|0;s=f[r>>2]|0;if(s){q=a+44|0;o=f[q>>2]|0;if((s+p|0)>(o|0)){g=0;F=16}else{D=0;M=s}}else{if(G){g=(f[f[O>>2]>>2]|0)+((b[O+32>>0]&1^1)&255)|0;q=a+44|0;o=g+(f[q>>2]|0)|0;f[q>>2]=o}else{o=a+44|0;g=0;q=o;o=f[o>>2]|0}s=o+1|0;f[r>>2]=s;F=16}if((F|0)==16){f[q>>2]=o+p;D=g;M=s}f[k+12>>2]=p;a:do if((e|0)>-1)if((p|0)>0){n=P+136|0;o=P+12|0;q=P+88|0;g=0;do{r=g+M|0;s=f[n>>2]|0;if((f[(f[o>>2]|0)+48>>2]|0)>(s|0)){f[n>>2]=s+1;H=f[q>>2]|0;b[H+(s*20|0)>>0]=90;d[H+(s*20|0)+2>>1]=0;f[H+(s*20|0)+4>>2]=e;f[H+(s*20|0)+8>>2]=g;f[H+(s*20|0)+12>>2]=r;f[H+(s*20|0)+16>>2]=0;b[H+(s*20|0)+1>>0]=0}else tl(P,90,e,g,r)|0;g=g+1|0}while((g|0)!=(p|0));H=p;y=M}else{H=p;y=M}else{switch(L<<24>>24){case 3:{H=p;y=M;break a}case 9:case 10:case 13:{g=1;break}default:g=0}if((L|2)<<24>>24!=14&((u|0)==0&G)){g=g|12;r=O+4|0;o=f[r>>2]|0;q=f[O>>2]|0;if((o|0)<(f[q>>2]|0)){n=o;while(1){o=d[q+4+(n*20|0)+16>>1]|0;if(!(o<<16>>16)){n=n+1|0;o=q}else{n=n+1|0;d[(f[c>>2]|0)+4+(((o&65535)+-1|0)*20|0)+16>>1]=n-(f[r>>2]|0);o=f[O>>2]|0}if((n|0)<(f[o>>2]|0))q=o;else break}n=f[c>>2]|0;r=f[n>>2]|0}else r=p;if((r|0)>0){o=M;q=0;do{H=(d[n+4+(q*20|0)+16>>1]|0)==0;o=H?o:0;p=p+((H^1)<<31>>31)|0;q=q+1|0}while((q|0)<(r|0))}else o=M}else o=M;f[v>>2]=M;b[v+4>>0]=g;if(f[c+12>>2]|0?(D|0)>0&(g&8)!=0:0){f[O+36>>2]=v;H=p;y=0;break}Jo(a,n,M,0,g);H=p;y=o}while(0);do if(w){b:do switch(b[i+1>>0]|0){case 2:{n=a+44|0;g=f[n>>2]|0;x=g+1|0;f[n>>2]=g+H;n=i+8|0;g=f[n>>2]|0;o=f[P>>2]|0;if(!(b[o+81>>0]|0)){i=f[P+88>>2]|0;v=i+(g*20|0)+1|0;w=i+(g*20|0)+16|0;qg(o,b[v>>0]|0,f[w>>2]|0);b[v>>0]=0;f[w>>2]=0;b[i+(g*20|0)>>0]=-85;g=f[n>>2]|0}if((g|0)<0)g=(f[P+136>>2]|0)+-1|0;if(!(b[(f[P>>2]|0)+81>>0]|0))g=(f[P+88>>2]|0)+(g*20|0)|0;else g=72144;b[g>>0]=73;f[g+4>>2]=1;f[g+8>>2]=x;e=P+136|0;g=f[e>>2]|0;u=g+H|0;v=H+-1|0;w=P+12|0;if((H|0)>0){s=P+88|0;r=0;do{q=Zk(a,f[(f[c>>2]|0)+4+(r*20|0)>>2]|0)|0;g=r+M|0;n=r+x|0;o=f[e>>2]|0;p=(f[(f[w>>2]|0)+48>>2]|0)>(o|0);do if((r|0)<(v|0))if(p){f[e>>2]=o+1;i=f[s>>2]|0;b[i+(o*20|0)>>0]=52;d[i+(o*20|0)+2>>1]=0;f[i+(o*20|0)+4>>2]=g;f[i+(o*20|0)+8>>2]=u;f[i+(o*20|0)+12>>2]=n;f[i+(o*20|0)+16>>2]=0;b[i+(o*20|0)+1>>0]=0;break}else{tl(P,52,g,u,n)|0;break}else if(p){f[e>>2]=o+1;i=f[s>>2]|0;b[i+(o*20|0)>>0]=53;d[i+(o*20|0)+2>>1]=0;f[i+(o*20|0)+4>>2]=g;f[i+(o*20|0)+8>>2]=l;f[i+(o*20|0)+12>>2]=n;f[i+(o*20|0)+16>>2]=0;b[i+(o*20|0)+1>>0]=0;break}else{tl(P,53,g,l,n)|0;break}while(0);do if(!(b[(f[P>>2]|0)+81>>0]|0)){g=(f[e>>2]|0)+-1|0;n=f[s>>2]|0;o=n+(g*20|0)+1|0;if(b[o>>0]|0){ul(P,n+(g*20|0)|0,q,-2);break}if(q|0){f[n+(g*20|0)+16>>2]=q;b[o>>0]=-2}}while(0);g=f[e>>2]|0;if((g|0)>0)d[(f[s>>2]|0)+((g+-1|0)*20|0)+2>>1]=128;r=r+1|0}while((r|0)!=(H|0))}if((f[(f[w>>2]|0)+48>>2]|0)>(g|0)){f[e>>2]=g+1;i=f[P+88>>2]|0;b[i+(g*20|0)>>0]=78;d[i+(g*20|0)+2>>1]=0;f[i+(g*20|0)+4>>2]=M;f[i+(g*20|0)+8>>2]=x;f[i+(g*20|0)+12>>2]=v;f[i+(g*20|0)+16>>2]=0;b[i+(g*20|0)+1>>0]=0;break b}else{tl(P,78,M,x,v)|0;break b}}case 1:{g=f[i+8>>2]|0;n=f[P>>2]|0;if(!(b[n+81>>0]|0)){i=f[P+88>>2]|0;w=i+(g*20|0)+1|0;x=i+(g*20|0)+16|0;qg(n,b[w>>0]|0,f[x>>2]|0);b[w>>0]=0;f[x>>2]=0;b[i+(g*20|0)>>0]=-85}break}default:Ko(a,f[i+4>>2]|0,l,H,M)}while(0);if((O|0)==0?(A=f[c+16>>2]|0,(A|0)>0):0){g=P+136|0;n=f[g>>2]|0;if((f[(f[P+12>>2]|0)+48>>2]|0)>(n|0)){f[g>>2]=n+1;i=f[P+88>>2]|0;b[i+(n*20|0)>>0]=47;d[i+(n*20|0)+2>>1]=0;f[i+(n*20|0)+4>>2]=A;f[i+(n*20|0)+8>>2]=l;f[i+(n*20|0)+12>>2]=1;f[i+(n*20|0)+16>>2]=0;b[i+(n*20|0)+1>>0]=0;break}else{tl(P,47,A,l,1)|0;break}}}while(0);c:do switch(L<<24>>24){case 1:{q=a+19|0;g=b[q>>0]|0;if(!(g<<24>>24)){L=a+44|0;p=(f[L>>2]|0)+1|0;f[L>>2]=p}else{p=g+-1<<24>>24;b[q>>0]=p;p=f[a+144+((p&255)<<2)>>2]|0}n=P+136|0;g=f[n>>2]|0;o=P+12|0;if((f[(f[o>>2]|0)+48>>2]|0)>(g|0)){f[n>>2]=g+1;L=f[P+88>>2]|0;b[L+(g*20|0)>>0]=102;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=M;f[L+(g*20|0)+8>>2]=H;f[L+(g*20|0)+12>>2]=p;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0}else tl(P,102,M,H,p)|0;g=f[n>>2]|0;if((f[(f[o>>2]|0)+48>>2]|0)>(g|0)){f[n>>2]=g+1;L=f[P+88>>2]|0;b[L+(g*20|0)>>0]=-123;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=N;f[L+(g*20|0)+8>>2]=p;f[L+(g*20|0)+12>>2]=M;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0}else g=tl(P,133,N,p,M)|0;if(!(b[(f[P>>2]|0)+81>>0]|0)){N=f[P+88>>2]|0;b[N+(g*20|0)+1>>0]=-3;f[N+(g*20|0)+16>>2]=H}if((p|0)!=0?(B=b[q>>0]|0,(B&255)<8):0){b[q>>0]=B+1<<24>>24;f[a+144+((B&255)<<2)>>2]=p;F=237}else F=237;break}case 2:{g=P+136|0;n=f[g>>2]|0;if((f[(f[P+12>>2]|0)+48>>2]|0)>(n|0)){f[g>>2]=n+1;F=f[P+88>>2]|0;b[F+(n*20|0)>>0]=-122;d[F+(n*20|0)+2>>1]=0;f[F+(n*20|0)+4>>2]=N;f[F+(n*20|0)+8>>2]=M;f[F+(n*20|0)+12>>2]=H;f[F+(n*20|0)+16>>2]=0;b[F+(n*20|0)+1>>0]=0;F=237;break c}else{tl(P,134,N,M,H)|0;F=237;break c}}case 12:case 14:case 6:case 5:{e=D+1|0;u=(D|0)==0;do if(u){g=a+19|0;n=b[g>>0]|0;if(!(n<<24>>24)){F=a+44|0;s=(f[F>>2]|0)+1|0;f[F>>2]=s;break}else{s=n+-1<<24>>24;b[g>>0]=s;s=f[a+144+((s&255)<<2)>>2]|0;break}}else{g=a+32|0;n=f[g>>2]|0;o=a+28|0;p=f[o>>2]|0;if((p|0)>(D|0)){f[g>>2]=n+e;f[o>>2]=p-e;s=n;break}else{F=a+44|0;s=f[F>>2]|0;f[F>>2]=s+e;s=s+1|0;break}}while(0);p=s+D|0;q=P+136|0;g=f[q>>2]|0;r=P+12|0;if((f[(f[r>>2]|0)+48>>2]|0)>(g|0)){f[q>>2]=g+1;F=f[P+88>>2]|0;b[F+(g*20|0)>>0]=102;d[F+(g*20|0)+2>>1]=0;f[F+(g*20|0)+4>>2]=M;f[F+(g*20|0)+8>>2]=H;f[F+(g*20|0)+12>>2]=p;f[F+(g*20|0)+16>>2]=0;b[F+(g*20|0)+1>>0]=0}else tl(P,102,M,H,p)|0;if(L<<24>>24==6){g=f[q>>2]|0;n=g+4|0;o=N+1|0;if((f[(f[r>>2]|0)+48>>2]|0)>(g|0)){f[q>>2]=g+1;L=f[P+88>>2]|0;b[L+(g*20|0)>>0]=29;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=o;f[L+(g*20|0)+8>>2]=n;f[L+(g*20|0)+12>>2]=s;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0}else g=tl(P,29,o,n,s)|0;if(!(b[(f[P>>2]|0)+81>>0]|0)){L=f[P+88>>2]|0;b[L+(g*20|0)+1>>0]=-3;f[L+(g*20|0)+16>>2]=0}g=f[q>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(g|0)){f[q>>2]=g+1;L=f[P+88>>2]|0;b[L+(g*20|0)>>0]=-123;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=o;f[L+(g*20|0)+8>>2]=s;f[L+(g*20|0)+12>>2]=M;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0}else g=tl(P,133,o,s,M)|0;if(!(b[(f[P>>2]|0)+81>>0]|0)){M=f[P+88>>2]|0;b[M+(g*20|0)+1>>0]=-3;f[M+(g*20|0)+16>>2]=H}}if(!G){o=a+19|0;g=b[o>>0]|0;if(!(g<<24>>24)){M=a+44|0;n=(f[M>>2]|0)+1|0;f[M>>2]=n}else{n=g+-1<<24>>24;b[o>>0]=n;n=f[a+144+((n&255)<<2)>>2]|0}g=f[q>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(g|0)){f[q>>2]=g+1;M=f[P+88>>2]|0;b[M+(g*20|0)>>0]=121;d[M+(g*20|0)+2>>1]=0;f[M+(g*20|0)+4>>2]=N;f[M+(g*20|0)+8>>2]=n;f[M+(g*20|0)+12>>2]=0;f[M+(g*20|0)+16>>2]=0;b[M+(g*20|0)+1>>0]=0}else tl(P,121,N,n,0)|0;g=f[q>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(g|0)){f[q>>2]=g+1;M=f[P+88>>2]|0;b[M+(g*20|0)>>0]=122;d[M+(g*20|0)+2>>1]=0;f[M+(g*20|0)+4>>2]=N;f[M+(g*20|0)+8>>2]=s;f[M+(g*20|0)+12>>2]=n;f[M+(g*20|0)+16>>2]=0;b[M+(g*20|0)+1>>0]=0}else tl(P,122,N,s,n)|0;g=f[q>>2]|0;if((g|0)>0)d[(f[P+88>>2]|0)+((g+-1|0)*20|0)+2>>1]=8;if(n|0?(I=b[o>>0]|0,(I&255)<8):0){b[o>>0]=I+1<<24>>24;f[a+144+((I&255)<<2)>>2]=n}}else Ro(a,O,c,p,y,1,D);if(!u){g=a+28|0;if((f[g>>2]|0)>(D|0)){F=237;break c}f[g>>2]=e;f[a+32>>2]=s;F=237;break c}if((s|0)!=0?(J=a+19|0,K=b[J>>0]|0,(K&255)<8):0){b[J>>0]=K+1<<24>>24;f[a+144+((K&255)<<2)>>2]=s;F=237}else F=237;break}case 11:{if(G){Ro(a,O,c,M,y,H,D);t=Q;return}u=a+19|0;g=b[u>>0]|0;if(!(g<<24>>24)){L=a+44|0;s=(f[L>>2]|0)+1|0;f[L>>2]=s}else{s=g+-1<<24>>24;b[u>>0]=s;s=f[a+144+((s&255)<<2)>>2]|0}p=f[k+16>>2]|0;q=P+136|0;g=f[q>>2]|0;r=P+12|0;if((f[(f[r>>2]|0)+48>>2]|0)>(g|0)){f[q>>2]=g+1;L=f[P+88>>2]|0;b[L+(g*20|0)>>0]=102;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=M;f[L+(g*20|0)+8>>2]=H;f[L+(g*20|0)+12>>2]=s;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0}else g=tl(P,102,M,H,s)|0;n=f[P>>2]|0;do if(b[n+81>>0]|0){if((H|0)!=-12)qg(n,H,p)}else{if((g|0)<0)g=(f[q>>2]|0)+-1|0;n=f[P+88>>2]|0;o=n+(g*20|0)|0;if((H|0)<=-1?(C=n+(g*20|0)+1|0,(b[C>>0]|0)==0):0){if((H|0)==-3){f[n+(g*20|0)+16>>2]=p;b[C>>0]=-3;break}if(!p)break;f[n+(g*20|0)+16>>2]=p;b[C>>0]=H;if((H|0)!=-12)break;L=p+12|0;f[L>>2]=(f[L>>2]|0)+1;break}ul(P,o,p,H)}while(0);g=f[q>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(g|0)){f[q>>2]=g+1;L=f[P+88>>2]|0;b[L+(g*20|0)>>0]=-123;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=N;f[L+(g*20|0)+8>>2]=s;f[L+(g*20|0)+12>>2]=M;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0}else g=tl(P,133,N,s,M)|0;if(!(b[(f[P>>2]|0)+81>>0]|0)){N=f[P+88>>2]|0;b[N+(g*20|0)+1>>0]=-3;f[N+(g*20|0)+16>>2]=H}if(s|0?(E=b[u>>0]|0,(E&255)<8):0){b[u>>0]=E+1<<24>>24;f[a+144+((E&255)<<2)>>2]=s}break}case 3:{g=P+136|0;n=f[g>>2]|0;if((f[(f[P+12>>2]|0)+48>>2]|0)>(n|0)){f[g>>2]=n+1;F=f[P+88>>2]|0;b[F+(n*20|0)>>0]=70;d[F+(n*20|0)+2>>1]=0;f[F+(n*20|0)+4>>2]=1;f[F+(n*20|0)+8>>2]=N;f[F+(n*20|0)+12>>2]=0;f[F+(n*20|0)+16>>2]=0;b[F+(n*20|0)+1>>0]=0;F=237;break c}else{tl(P,70,1,N,0)|0;F=237;break c}}case 10:{if(G){Ro(a,O,c,M,y,H,D);t=Q;return}break}case 9:case 13:{if(G){Ro(a,O,c,M,y,H,D);t=Q;return}if(L<<24>>24==13){g=f[z>>2]|0;n=P+136|0;o=f[n>>2]|0;if((f[(f[P+12>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;a=f[P+88>>2]|0;b[a+(o*20|0)>>0]=14;d[a+(o*20|0)+2>>1]=0;f[a+(o*20|0)+4>>2]=g;f[a+(o*20|0)+8>>2]=0;f[a+(o*20|0)+12>>2]=0;f[a+(o*20|0)+16>>2]=0;b[a+(o*20|0)+1>>0]=0;break c}else{tl(P,14,g,0,0)|0;break c}}else{g=P+136|0;n=f[g>>2]|0;if((f[(f[P+12>>2]|0)+48>>2]|0)>(n|0)){f[g>>2]=n+1;a=f[P+88>>2]|0;b[a+(n*20|0)>>0]=81;d[a+(n*20|0)+2>>1]=0;f[a+(n*20|0)+4>>2]=M;f[a+(n*20|0)+8>>2]=H;f[a+(n*20|0)+12>>2]=0;f[a+(n*20|0)+16>>2]=0;b[a+(n*20|0)+1>>0]=0;break c}else{tl(P,81,M,H,0)|0;break c}}}case 7:case 8:{w=f[k+20>>2]|0;x=f[w>>2]|0;l=a+19|0;g=b[l>>0]|0;if(!(g<<24>>24)){g=a+44|0;i=(f[g>>2]|0)+1|0;f[g>>2]=i;g=0}else{g=g+-1<<24>>24;b[l>>0]=g;i=f[a+144+((g&255)<<2)>>2]|0}A=x+2|0;z=(A|0)==1;do if(z)if(!(g<<24>>24)){K=a+44|0;y=(f[K>>2]|0)+1|0;f[K>>2]=y;break}else{y=g+-1<<24>>24;b[l>>0]=y;y=f[a+144+((y&255)<<2)>>2]|0;break}else{g=a+32|0;n=f[g>>2]|0;o=a+28|0;p=f[o>>2]|0;if((p|0)<(A|0)){K=a+44|0;y=f[K>>2]|0;f[K>>2]=y+A;y=y+1|0;break}else{f[g>>2]=n+A;f[o>>2]=p-A;y=n;break}}while(0);v=y+x|0;r=v+1|0;q=L<<24>>24==8;if(q){n=N+1|0;o=P+136|0;g=f[o>>2]|0;p=P+12|0;if((f[(f[p>>2]|0)+48>>2]|0)>(g|0)){f[o>>2]=g+1;L=f[P+88>>2]|0;b[L+(g*20|0)>>0]=29;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=n;f[L+(g*20|0)+8>>2]=0;f[L+(g*20|0)+12>>2]=M;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0}else g=tl(P,29,n,0,M)|0;if(!(b[(f[P>>2]|0)+81>>0]|0)){e=f[P+88>>2]|0;b[e+(g*20|0)+1>>0]=-3;f[e+(g*20|0)+16>>2]=H;e=g;u=o;s=p}else{e=g;u=o;s=p}}else{e=0;u=P+136|0;s=P+12|0}g=f[u>>2]|0;if((f[(f[s>>2]|0)+48>>2]|0)>(g|0)){f[u>>2]=g+1;L=f[P+88>>2]|0;b[L+(g*20|0)>>0]=102;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=M;f[L+(g*20|0)+8>>2]=H;f[L+(g*20|0)+12>>2]=r;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0}else tl(P,102,M,H,r)|0;if(q){g=N+1|0;n=f[u>>2]|0;if((f[(f[s>>2]|0)+48>>2]|0)>(n|0)){f[u>>2]=n+1;L=f[P+88>>2]|0;b[L+(n*20|0)>>0]=-123;d[L+(n*20|0)+2>>1]=0;f[L+(n*20|0)+4>>2]=g;f[L+(n*20|0)+8>>2]=r;f[L+(n*20|0)+12>>2]=0;f[L+(n*20|0)+16>>2]=0;b[L+(n*20|0)+1>>0]=0}else tl(P,133,g,r,0)|0;g=f[u>>2]|0;if((g|0)>0)d[(f[P+88>>2]|0)+((g+-1|0)*20|0)+2>>1]=16}if((x|0)>0){n=M+-1|0;o=P+88|0;g=0;do{p=n+(j[w+4+(g*20|0)+16>>1]|0)|0;q=g+y|0;r=f[u>>2]|0;if((f[(f[s>>2]|0)+48>>2]|0)>(r|0)){f[u>>2]=r+1;M=f[o>>2]|0;b[M+(r*20|0)>>0]=79;d[M+(r*20|0)+2>>1]=0;f[M+(r*20|0)+4>>2]=p;f[M+(r*20|0)+8>>2]=q;f[M+(r*20|0)+12>>2]=0;f[M+(r*20|0)+16>>2]=0;b[M+(r*20|0)+1>>0]=0}else tl(P,79,p,q,0)|0;g=g+1|0}while((g|0)!=(x|0))}g=f[u>>2]|0;if((f[(f[s>>2]|0)+48>>2]|0)>(g|0)){f[u>>2]=g+1;M=f[P+88>>2]|0;b[M+(g*20|0)>>0]=120;d[M+(g*20|0)+2>>1]=0;f[M+(g*20|0)+4>>2]=N;f[M+(g*20|0)+8>>2]=v;f[M+(g*20|0)+12>>2]=0;f[M+(g*20|0)+16>>2]=0;b[M+(g*20|0)+1>>0]=0}else tl(P,120,N,v,0)|0;g=f[u>>2]|0;if((f[(f[s>>2]|0)+48>>2]|0)>(g|0)){f[u>>2]=g+1;M=f[P+88>>2]|0;b[M+(g*20|0)>>0]=102;d[M+(g*20|0)+2>>1]=0;f[M+(g*20|0)+4>>2]=y;f[M+(g*20|0)+8>>2]=A;f[M+(g*20|0)+12>>2]=i;f[M+(g*20|0)+16>>2]=0;b[M+(g*20|0)+1>>0]=0}else tl(P,102,y,A,i)|0;g=f[u>>2]|0;if((f[(f[s>>2]|0)+48>>2]|0)>(g|0)){f[u>>2]=g+1;M=f[P+88>>2]|0;b[M+(g*20|0)>>0]=-123;d[M+(g*20|0)+2>>1]=0;f[M+(g*20|0)+4>>2]=N;f[M+(g*20|0)+8>>2]=i;f[M+(g*20|0)+12>>2]=y;f[M+(g*20|0)+16>>2]=0;b[M+(g*20|0)+1>>0]=0}else g=tl(P,133,N,i,y)|0;if(!(b[(f[P>>2]|0)+81>>0]|0)){N=f[P+88>>2]|0;b[N+(g*20|0)+1>>0]=-3;f[N+(g*20|0)+16>>2]=A}if(e|0){n=f[u>>2]|0;if(!(b[(f[P>>2]|0)+81>>0]|0))g=(f[P+88>>2]|0)+(((e|0)<0?n+-1|0:e)*20|0)|0;else g=72144;f[g+8>>2]=n}do if(i|0){g=b[l>>0]|0;if((g&255)>=8)break;b[l>>0]=g+1<<24>>24;f[a+144+((g&255)<<2)>>2]=i}while(0);if(!z){g=a+28|0;if((f[g>>2]|0)>=(A|0)){F=237;break c}f[g>>2]=A;f[a+32>>2]=y;F=237;break c}if(!y){F=237;break c}g=b[l>>0]|0;if((g&255)>=8){F=237;break c}b[l>>0]=g+1<<24>>24;f[a+144+((g&255)<<2)>>2]=y;F=237;break}default:F=237}while(0);if((F|0)==237?O|0:0){t=Q;return}g=f[c+12>>2]|0;if(!g){t=Q;return}n=P+136|0;o=f[n>>2]|0;if((f[(f[P+12>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;P=f[P+88>>2]|0;b[P+(o*20|0)>>0]=49;d[P+(o*20|0)+2>>1]=0;f[P+(o*20|0)+4>>2]=g;f[P+(o*20|0)+8>>2]=m;f[P+(o*20|0)+12>>2]=0;f[P+(o*20|0)+16>>2]=0;b[P+(o*20|0)+1>>0]=0;t=Q;return}else{tl(P,49,g,m,0)|0;t=Q;return}}function po(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=t;t=t+80|0;H=J+40|0;G=J+32|0;q=J+24|0;k=J+16|0;i=J+8|0;F=J+48|0;o=f[c+32>>2]|0;p=f[f[c>>2]>>2]|0;I=f[a+8>>2]|0;D=c+52|0;E=f[D>>2]|0;if(f[c+68>>2]|0){ni(a,57760,J);t=J;return}g=f[a>>2]|0;do if(((b[g+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(h=f[g+312>>2]|0,h|0):0){g=nb[h&127](f[g+316>>2]|0,33,0,0,0,f[a+236>>2]|0)|0;if((g|0)==1){ni(a,49816,i);f[a+12>>2]=23;t=J;return}if((g|2|0)==2){if(!g)break;t=J;return}else{ni(a,49831,k);f[a+12>>2]=1;t=J;return}}while(0);B=I+12|0;g=f[B>>2]|0;n=g+60|0;C=f[n>>2]|0;f[n>>2]=C+1;n=g+64|0;if(!(C+-1&C)){l=C<<3|4;m=f[g>>2]|0;g=f[n>>2]|0;a:do if(g){i=g;k=m+304|0;if(((f[k>>2]|0)>>>0<=i>>>0?(f[m+308>>2]|0)>>>0>i>>>0:0)?!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0)):0)break;h=Lc(m,g,l,0)|0;if(!h){if(f[m+480>>2]|0){Kc(m,g);g=0;break}if((f[k>>2]|0)>>>0<=i>>>0?(f[m+308>>2]|0)>>>0>i>>>0:0){A=m+300|0;f[g>>2]=f[A>>2];f[A>>2]=g;g=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{A=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else g=h}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0))){h=m+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];A=m+284|0;f[A>>2]=(f[A>>2]|0)+1;break a}h=m+296|0;g=f[h>>2]|0;if(!g){g=m+292|0;break}else{f[h>>2]=f[g>>2];A=m+284|0;f[A>>2]=(f[A>>2]|0)+1;break a}}else g=m+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(m,l,0)|0}while(0);f[n>>2]=g}else g=f[n>>2]|0;if(g|0)f[g+(C<<2)>>2]=-1;v=~C;d[c+6>>1]=320;ro(a,c,v);x=c+60|0;y=f[x>>2]|0;z=c+12|0;w=f[z>>2]|0;A=c+16|0;u=f[A>>2]|0;f[x>>2]=0;f[A>>2]=0;f[z>>2]=0;z=c+48|0;A=f[z>>2]|0;h=f[o>>2]|0;b:do if((h|0)>0){g=0;while(1){if(b[o+8+(g*72|0)+37>>0]&32)break;g=g+1|0;if((g|0)>=(h|0)){r=0;break b}}r=f[o+8+(g*72|0)+40>>2]|0}else r=0;while(0);g=a+40|0;o=f[g>>2]|0;h=o+1|0;f[g>>2]=h;m=(A|0)!=0;if((b[c+4>>0]|0)==123){f[g>>2]=o+2;g=m?8:6}else{h=0;g=m?7:5}b[F>>0]=g;f[F+4>>2]=o;f[F+16>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;s=a+44|0;n=(f[s>>2]|0)+1|0;f[s>>2]=n;s=I+136|0;g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;l=f[I+88>>2]|0;b[l+(g*20|0)>>0]=116;d[l+(g*20|0)+2>>1]=0;f[l+(g*20|0)+4>>2]=r;f[l+(g*20|0)+8>>2]=n;f[l+(g*20|0)+12>>2]=p;f[l+(g*20|0)+16>>2]=0;b[l+(g*20|0)+1>>0]=0}else tl(I,116,r,n,p)|0;do if(!m){g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;l=f[I+88>>2]|0;b[l+(g*20|0)>>0]=113;d[l+(g*20|0)+2>>1]=0;f[l+(g*20|0)+4>>2]=o;f[l+(g*20|0)+8>>2]=p;f[l+(g*20|0)+12>>2]=0;f[l+(g*20|0)+16>>2]=0;b[l+(g*20|0)+1>>0]=0;break}else{tl(I,113,o,p,0)|0;break}}else{l=Po(a,c)|0;i=(f[A>>2]|0)+2|0;g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;p=f[I+88>>2]|0;b[p+(g*20|0)>>0]=113;d[p+(g*20|0)+2>>1]=0;f[p+(g*20|0)+4>>2]=o;f[p+(g*20|0)+8>>2]=i;f[p+(g*20|0)+12>>2]=0;f[p+(g*20|0)+16>>2]=0;b[p+(g*20|0)+1>>0]=0}else g=tl(I,113,o,i,0)|0;i=f[I>>2]|0;do if(!(b[i+81>>0]|0)){if((g|0)<0)g=(f[s>>2]|0)+-1|0;i=f[I+88>>2]|0;k=i+(g*20|0)+1|0;if(b[k>>0]|0){ul(I,i+(g*20|0)|0,l,-9);break}if(l|0){f[i+(g*20|0)+16>>2]=l;b[k>>0]=-9}}else if(!((l|0)==0|(f[i+480>>2]|0)!=0)?(p=(f[l>>2]|0)+-1|0,f[l>>2]=p,(p|0)==0):0){g=f[l+12>>2]|0;if(g|0){if(f[g+480>>2]|0){Kc(g,l);break}p=l;if((f[g+304>>2]|0)>>>0<=p>>>0?(f[g+308>>2]|0)>>>0>p>>>0:0){p=g+300|0;f[l>>2]=f[p>>2];f[p>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{p=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[F+20>>2]=A}while(0);if(h|0){g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;p=f[I+88>>2]|0;b[p+(g*20|0)>>0]=113;d[p+(g*20|0)+2>>1]=0;f[p+(g*20|0)+4>>2]=h;f[p+(g*20|0)+8>>2]=0;f[p+(g*20|0)+12>>2]=0;f[p+(g*20|0)+16>>2]=0;b[p+(g*20|0)+1>>0]=0}else g=tl(I,113,h,0,0)|0;f[c+24>>2]=g;p=c+8|0;f[p>>2]=f[p>>2]|32}f[z>>2]=0;p=E+56|0;f[p>>2]=0;Km(a,1,57809,q);q=Kl(a,E,F)|0;f[p>>2]=c;do if(!q){g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;p=f[I+88>>2]|0;b[p+(g*20|0)>>0]=36;d[p+(g*20|0)+2>>1]=0;f[p+(g*20|0)+4>>2]=o;f[p+(g*20|0)+8>>2]=v;f[p+(g*20|0)+12>>2]=0;f[p+(g*20|0)+16>>2]=0;b[p+(g*20|0)+1>>0]=0;p=g}else p=tl(I,36,o,v,0)|0;g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;q=f[I+88>>2]|0;b[q+(g*20|0)>>0]=-126;d[q+(g*20|0)+2>>1]=0;f[q+(g*20|0)+4>>2]=r;f[q+(g*20|0)+8>>2]=0;f[q+(g*20|0)+12>>2]=0;f[q+(g*20|0)+16>>2]=0;b[q+(g*20|0)+1>>0]=0}else tl(I,130,r,0,0)|0;do if(m){g=(f[A>>2]|0)+1|0;h=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(h|0)){f[s>>2]=h+1;q=f[I+88>>2]|0;b[q+(h*20|0)>>0]=90;d[q+(h*20|0)+2>>1]=0;f[q+(h*20|0)+4>>2]=o;f[q+(h*20|0)+8>>2]=g;f[q+(h*20|0)+12>>2]=n;f[q+(h*20|0)+16>>2]=0;b[q+(h*20|0)+1>>0]=0;break}else{tl(I,90,o,g,n)|0;break}}else{g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;q=f[I+88>>2]|0;b[q+(g*20|0)>>0]=-128;d[q+(g*20|0)+2>>1]=0;f[q+(g*20|0)+4>>2]=o;f[q+(g*20|0)+8>>2]=n;f[q+(g*20|0)+12>>2]=0;f[q+(g*20|0)+16>>2]=0;b[q+(g*20|0)+1>>0]=0;break}else{tl(I,128,o,n,0)|0;break}}while(0);g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;q=f[I+88>>2]|0;b[q+(g*20|0)>>0]=124;d[q+(g*20|0)+2>>1]=0;f[q+(g*20|0)+4>>2]=o;f[q+(g*20|0)+8>>2]=0;f[q+(g*20|0)+12>>2]=0;f[q+(g*20|0)+16>>2]=0;b[q+(g*20|0)+1>>0]=0}else tl(I,124,o,0,0)|0;g=f[B>>2]|0;n=g+60|0;o=f[n>>2]|0;f[n>>2]=o+1;n=g+64|0;if(!(o+-1&o)){l=o<<3|4;m=f[g>>2]|0;g=f[n>>2]|0;c:do if(g){i=g;k=m+304|0;do if((f[k>>2]|0)>>>0<=i>>>0){if((f[m+308>>2]|0)>>>0<=i>>>0)break;if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0)))break c}while(0);h=Lc(m,g,l,0)|0;if(h|0){g=h;break}if(f[m+480>>2]|0){Kc(m,g);g=0;break}do if((f[k>>2]|0)>>>0<=i>>>0){if((f[m+308>>2]|0)>>>0<=i>>>0)break;q=m+300|0;f[g>>2]=f[q>>2];f[q>>2]=g;g=0;break c}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{q=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0))){h=m+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];q=m+284|0;f[q>>2]=(f[q>>2]|0)+1;break c}h=m+296|0;g=f[h>>2]|0;if(!g){g=m+292|0;break}else{f[h>>2]=f[g>>2];q=m+284|0;f[q>>2]=(f[q>>2]|0)+1;break c}}else g=m+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(m,l,0)|0}while(0);f[n>>2]=g}else g=f[n>>2]|0;if(g|0)f[g+(o<<2)>>2]=-1;g=~o;do if((u|0)>0){h=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(h|0)){f[s>>2]=h+1;q=f[I+88>>2]|0;b[q+(h*20|0)>>0]=47;d[q+(h*20|0)+2>>1]=0;f[q+(h*20|0)+4>>2]=u;f[q+(h*20|0)+8>>2]=g;f[q+(h*20|0)+12>>2]=1;f[q+(h*20|0)+16>>2]=0;b[q+(h*20|0)+1>>0]=0;break}else{tl(I,47,u,g,1)|0;break}}while(0);oo(a,c,r,0,0,e,g,v);do if(w|0){g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;e=f[I+88>>2]|0;b[e+(g*20|0)>>0]=49;d[e+(g*20|0)+2>>1]=0;f[e+(g*20|0)+4>>2]=w;f[e+(g*20|0)+8>>2]=v;f[e+(g*20|0)+12>>2]=0;f[e+(g*20|0)+16>>2]=0;b[e+(g*20|0)+1>>0]=0;break}else{tl(I,49,w,v,0)|0;break}}while(0);g=f[(f[B>>2]|0)+64>>2]|0;if(g|0)f[g+(o<<2)>>2]=f[s>>2];if(!(f[c+8>>2]&8)){f[D>>2]=0;Km(a,1,57857,H);Kl(a,c,F)|0;f[D>>2]=E}else ni(a,57815,G);g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;I=f[I+88>>2]|0;b[I+(g*20|0)>>0]=11;d[I+(g*20|0)+2>>1]=0;f[I+(g*20|0)+4>>2]=0;f[I+(g*20|0)+8>>2]=p;f[I+(g*20|0)+12>>2]=0;f[I+(g*20|0)+16>>2]=0;b[I+(g*20|0)+1>>0]=0}else tl(I,11,0,p,0)|0;g=f[(f[B>>2]|0)+64>>2]|0;if(!g)break;f[g+(C<<2)>>2]=f[s>>2]}while(0);g=f[z>>2]|0;if(g|0)jg(f[a>>2]|0,g);f[z>>2]=A;f[x>>2]=y;t=J;return}function qo(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=t;t=t+128|0;L=$+64|0;H=$+56|0;F=$+48|0;C=$+32|0;y=$+24|0;w=$+8|0;v=$;q=$+120|0;N=$+96|0;O=$+72|0;Z=f[a>>2]|0;_=a+8|0;X=f[_>>2]|0;W=X+12|0;g=f[W>>2]|0;o=g+60|0;Y=f[o>>2]|0;f[o>>2]=Y+1;o=g+64|0;if(!(Y+-1&Y)){m=Y<<3|4;n=f[g>>2]|0;g=f[o>>2]|0;a:do if(g){k=g;l=n+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;i=Lc(n,g,m,0)|0;if(!i){if(f[n+480>>2]|0){Kc(n,g);g=0;break}if((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0){V=n+300|0;f[g>>2]=f[V>>2];f[V>>2]=g;g=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{V=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-V;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else g=i}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];V=n+284|0;f[V>>2]=(f[V>>2]|0)+1;break a}i=n+296|0;g=f[i>>2]|0;if(!g){g=n+292|0;break}else{f[i>>2]=f[g>>2];V=n+284|0;f[V>>2]=(f[V>>2]|0)+1;break a}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(n,m,0)|0}while(0);f[o>>2]=g}else g=f[o>>2]|0;if(g|0)f[g+(Y<<2)>>2]=-1;P=~Y;g=f[W>>2]|0;o=g+60|0;T=f[o>>2]|0;f[o>>2]=T+1;o=g+64|0;if(!(T+-1&T)){m=T<<3|4;n=f[g>>2]|0;g=f[o>>2]|0;b:do if(g){k=g;l=n+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;i=Lc(n,g,m,0)|0;if(!i){if(f[n+480>>2]|0){Kc(n,g);g=0;break}if((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0){V=n+300|0;f[g>>2]=f[V>>2];f[V>>2]=g;g=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{V=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-V;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else g=i}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];V=n+284|0;f[V>>2]=(f[V>>2]|0)+1;break b}i=n+296|0;g=f[i>>2]|0;if(!g){g=n+292|0;break}else{f[i>>2]=f[g>>2];V=n+284|0;f[V>>2]=(f[V>>2]|0)+1;break b}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(n,m,0)|0}while(0);f[o>>2]=g}else g=f[o>>2]|0;if(g|0)f[g+(T<<2)>>2]=-1;R=~T;D=c+4|0;E=b[D>>0]|0;U=c+52|0;V=f[U>>2]|0;s=c+48|0;g=f[s>>2]|0;i=f[g>>2]|0;M=E<<24>>24==124;c:do if(!M?(p=Z+81|0,(b[p>>0]|0)==0):0){n=q+4|0;m=1;l=i;while(1){if((m|0)>(f[f[c>>2]>>2]|0)){m=g;S=l;break c}d:do if((l|0)>0){k=g+4|0;i=0;while(1){if((m|0)==(j[k+16>>1]|0))break d;i=i+1|0;if((i|0)<(l|0))k=k+20|0;else break}}else i=0;while(0);if((i|0)==(l|0)){f[q>>2]=0;f[n>>2]=0;i=Dk(Z,143,q,0)|0;if(!i){g=7;break}S=i+4|0;f[S>>2]=f[S>>2]|1024;f[i+8>>2]=m;g=ml(f[a>>2]|0,g,i)|0;f[s>>2]=g;if(!g){g=0;i=l}else{d[g+4+(l*20|0)+16>>1]=m;i=l+1|0}}else i=l;if(!(b[p>>0]|0)){m=m+1|0;l=i}else{m=g;S=i;break c}}t=$;return g|0}else{m=g;S=i}while(0);k=(S<<2)+4|0;q=Z+272|0;e:do if(f[q>>2]|0)if(!(b[Z+81>>0]|0))u=82;else{K=0;Q=0;J=1;I=0}else{do if(!(0<0|(0==0?(j[Z+276>>1]|0)>>>0>>0:0))){g=Z+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];u=Z+284|0;f[u>>2]=(f[u>>2]|0)+1;u=83;break e}g=Z+296|0;i=f[g>>2]|0;if(!i){g=Z+292|0;break}else{f[g>>2]=f[i>>2];u=Z+284|0;f[u>>2]=(f[u>>2]|0)+1;u=83;break e}}else g=Z+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;u=82}while(0);if((u|0)==82){i=Dc(Z,k,0)|0;u=83}if((u|0)==83)if(!i){K=0;Q=0;J=1;I=i}else{f[i>>2]=S;if((S|0)>=1){g=m+4|0;k=1;while(1){f[i+(k<<2)>>2]=(j[g+16>>1]|0)+-1;if((k|0)==(S|0))break;else{g=g+20|0;k=k+1|0}}}K=i;Q=Po(a,c)|0;J=0;I=i}f[s>>2]=m;G=Ik(f[a>>2]|0,m,0)|0;r=V+48|0;f[r>>2]=G;f:do if(!M){o=f[f[c>>2]>>2]|0;g=a+44|0;i=f[g>>2]|0;p=i+1|0;n=o+1|0;f[g>>2]=i+n;g=X+136|0;i=f[g>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;G=f[X+88>>2]|0;b[G+(i*20|0)>>0]=70;d[G+(i*20|0)+2>>1]=0;f[G+(i*20|0)+4>>2]=0;f[G+(i*20|0)+8>>2]=p;f[G+(i*20|0)+12>>2]=0;f[G+(i*20|0)+16>>2]=0;b[G+(i*20|0)+1>>0]=0}else tl(X,70,0,p,0)|0;m=n*5|0;k=m+20|0;g:do if(f[q>>2]|0)if(!(b[Z+81>>0]|0))u=102;else{A=0;z=0;break f}else{do if(!(0<0|(0==0?(j[Z+276>>1]|0)>>>0>>0:0))){g=Z+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];l=Z+284|0;f[l>>2]=(f[l>>2]|0)+1;l=i;break g}g=Z+296|0;i=f[g>>2]|0;if(!i){g=Z+292|0;break}else{f[g>>2]=f[i>>2];l=Z+284|0;f[l>>2]=(f[l>>2]|0)+1;l=i;break g}}else g=Z+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;u=102}while(0);if((u|0)==102)l=Dc(Z,k,0)|0;if(!l){g=Z+81|0;if((b[g>>0]|0)==0?(b[Z+82>>0]|0)==0:0){b[g>>0]=1;if((f[Z+180>>2]|0)>0)f[Z+264>>2]=1;f[q>>2]=(f[q>>2]|0)+1}if(!l){A=0;z=0;break}else k=0}else{f[l+16>>2]=l+20+(n<<2);d[l+6>>1]=o;d[l+8>>1]=n;b[l+4>>0]=b[Z+78>>0]|0;f[l+12>>2]=Z;f[l>>2]=1;_A(l+24|0,0,m+-4|0)|0;k=l}if((o|0)>0){i=l+16|0;g=0;do{G=so(a,c,g)|0;f[l+20+(g<<2)>>2]=G;b[(f[i>>2]|0)+g>>0]=0;g=g+1|0}while((g|0)!=(o|0));A=l;z=k}else{A=l;z=k}}else{A=0;p=0;z=0}while(0);f[U>>2]=0;G=V+56|0;f[G>>2]=0;n=f[s>>2]|0;g=f[a>>2]|0;h:do if(n|0?(b[g+81>>0]|0)==0:0){i=f[n>>2]|0;if((i|0)>(f[g+116>>2]|0)){f[v>>2]=49126;ni(a,49514,v);break}m=f[c>>2]|0;if((i|0)>0){g=0;l=n+4|0;while(1){k=d[l+16>>1]|0;if(k<<16>>16){i=k&65535;k=f[m>>2]|0;if((k|0)<(i|0))break;Nk(a,m,i+-1|0,f[l>>2]|0,49126,0);i=f[n>>2]|0}g=g+1|0;if((g|0)<(i|0))l=l+20|0;else break h}f[w>>2]=g+1;f[w+4>>2]=49126;f[w+8>>2]=k;ni(a,49392,w)}}while(0);i:do if(((f[V+52>>2]|0)==0?(B=f[r>>2]|0,x=f[a>>2]|0,B|0):0)?(b[x+81>>0]|0)==0:0){i=f[B>>2]|0;if((i|0)>(f[x+116>>2]|0)){f[y>>2]=49126;ni(a,49514,y);break}m=f[V>>2]|0;if((i|0)>0){g=0;l=B+4|0;while(1){k=d[l+16>>1]|0;if(k<<16>>16){i=k&65535;k=f[m>>2]|0;if((k|0)<(i|0))break;Nk(a,m,i+-1|0,f[l>>2]|0,49126,0);i=f[B>>2]|0}g=g+1|0;if((g|0)<(i|0))l=l+20|0;else break i}f[C>>2]=g+1;f[C+4>>2]=49126;f[C+8>>2]=k;ni(a,49392,C)}}while(0);ro(a,c,P);o=c+12|0;g=f[o>>2]|0;do if(M&(g|0)!=0){i=a+44|0;l=f[i>>2]|0;m=l+1|0;l=l+2|0;f[i>>2]=l;i=f[c+16>>2]|0;i=(i|0)==0?g:i+1|0;k=X+136|0;g=f[k>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[k>>2]=g+1;C=f[X+88>>2]|0;b[C+(g*20|0)>>0]=78;d[C+(g*20|0)+2>>1]=0;f[C+(g*20|0)+4>>2]=i;f[C+(g*20|0)+8>>2]=m;f[C+(g*20|0)+12>>2]=0;f[C+(g*20|0)+16>>2]=0;b[C+(g*20|0)+1>>0]=0}else tl(X,78,i,m,0)|0;g=f[k>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[k>>2]=g+1;C=f[X+88>>2]|0;b[C+(g*20|0)>>0]=78;d[C+(g*20|0)+2>>1]=0;f[C+(g*20|0)+4>>2]=m;f[C+(g*20|0)+8>>2]=l;f[C+(g*20|0)+12>>2]=0;f[C+(g*20|0)+16>>2]=0;b[C+(g*20|0)+1>>0]=0;break}else{tl(X,78,m,l,0)|0;break}}else{l=0;m=0}while(0);g=c+60|0;i=f[g>>2]|0;if(i|0)ig(Z,i);f[g>>2]=0;B=a+44|0;w=f[B>>2]|0;x=w+1|0;y=w+2|0;v=w+3|0;w=w+4|0;f[B>>2]=w;b[N>>0]=13;f[N+4>>2]=x;f[N+16>>2]=0;B=N+8|0;f[B>>2]=0;f[N+12>>2]=0;b[O>>0]=13;f[O+4>>2]=y;f[O+16>>2]=0;C=O+8|0;f[C>>2]=0;f[O+12>>2]=0;switch(b[D>>0]|0){case 124:{g=49266;break}case 126:{g=49256;break}case 125:{g=49249;break}default:g=49243}f[F>>2]=g;Km(a,1,57738,F);D=X+136|0;g=f[D>>2]|0;i=g+1|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=i;n=f[X+88>>2]|0;b[n+(g*20|0)>>0]=13;d[n+(g*20|0)+2>>1]=0;f[n+(g*20|0)+4>>2]=x;f[n+(g*20|0)+8>>2]=0;f[n+(g*20|0)+12>>2]=i;f[n+(g*20|0)+16>>2]=0;b[n+(g*20|0)+1>>0]=0;n=g}else n=tl(X,13,x,0,i)|0;f[V+12>>2]=m;Km(a,1,57749,H);Kl(a,V,N)|0;g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;H=f[X+88>>2]|0;b[H+(g*20|0)>>0]=67;d[H+(g*20|0)+2>>1]=0;f[H+(g*20|0)+4>>2]=x;f[H+(g*20|0)+8>>2]=0;f[H+(g*20|0)+12>>2]=0;f[H+(g*20|0)+16>>2]=0;b[H+(g*20|0)+1>>0]=0}else tl(X,67,x,0,0)|0;i=f[W>>2]|0;b[i+19>>0]=0;f[i+28>>2]=0;k=f[D>>2]|0;if(!(b[(f[X>>2]|0)+81>>0]|0))g=(f[X+88>>2]|0)+(((n|0)<0?k+-1|0:n)*20|0)|0;else g=72144;f[g+8>>2]=k;g=k+1|0;if((f[i+48>>2]|0)>(k|0)){f[D>>2]=g;u=f[X+88>>2]|0;b[u+(k*20|0)>>0]=13;d[u+(k*20|0)+2>>1]=0;f[u+(k*20|0)+4>>2]=y;f[u+(k*20|0)+8>>2]=0;f[u+(k*20|0)+12>>2]=g;f[u+(k*20|0)+16>>2]=0;b[u+(k*20|0)+1>>0]=0;u=k}else u=tl(X,13,y,0,g)|0;F=f[o>>2]|0;g=c+16|0;H=f[g>>2]|0;f[o>>2]=l;f[g>>2]=0;Km(a,1,57754,L);Kl(a,c,O)|0;f[o>>2]=F;f[g>>2]=H;g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;L=f[X+88>>2]|0;b[L+(g*20|0)>>0]=67;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=y;f[L+(g*20|0)+8>>2]=0;f[L+(g*20|0)+12>>2]=0;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0}else tl(X,67,y,0,0)|0;q=f[W>>2]|0;b[q+19>>0]=0;f[q+28>>2]=0;q=Qo(a,c,N,e,v,p,A,P)|0;s=(E+-123&255)<2;if(s)r=Qo(a,c,O,e,w,p,A,P)|0;else r=0;j:do if(A|0?(O=(f[A>>2]|0)+-1|0,f[A>>2]=O,(O|0)==0):0){g=f[A+12>>2]|0;do if(g|0){if(f[g+480>>2]|0){Kc(g,z);break j}i=A;if((f[g+304>>2]|0)>>>0>i>>>0)break;if((f[g+308>>2]|0)>>>0<=i>>>0)break;O=g+300|0;f[A>>2]=f[O>>2];f[O>>2]=z;break j}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{O=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-O;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}}while(0);p=E<<24>>24==126;if((E+-125&255)<2){l=P;n=P}else{g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;O=f[X+88>>2]|0;b[O+(g*20|0)>>0]=12;d[O+(g*20|0)+2>>1]=0;f[O+(g*20|0)+4>>2]=w;f[O+(g*20|0)+8>>2]=r;f[O+(g*20|0)+12>>2]=0;f[O+(g*20|0)+16>>2]=0;b[O+(g*20|0)+1>>0]=0}else g=tl(X,12,w,r,0)|0;i=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;O=f[X+88>>2]|0;b[O+(i*20|0)>>0]=14;d[O+(i*20|0)+2>>1]=0;f[O+(i*20|0)+4>>2]=y;f[O+(i*20|0)+8>>2]=P;f[O+(i*20|0)+12>>2]=0;f[O+(i*20|0)+16>>2]=0;b[O+(i*20|0)+1>>0]=0}else i=tl(X,14,y,P,0)|0;k=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;O=f[X+88>>2]|0;b[O+(k*20|0)>>0]=11;d[O+(k*20|0)+2>>1]=0;f[O+(k*20|0)+4>>2]=0;f[O+(k*20|0)+8>>2]=g;f[O+(k*20|0)+12>>2]=0;f[O+(k*20|0)+16>>2]=0;b[O+(k*20|0)+1>>0]=0}else tl(X,11,0,g,0)|0;o=c+6|0;k=d[o>>1]|0;l=d[V+6>>1]|0;m=k<<16>>16;n=l<<16>>16;do if(k<<16>>16>16){if((m+49|0)<(n|0)){k=l;break}if((m+31|0)<(n|0)){k=n+1&65535;break}else{k=(h[22960+(n-m)>>0]|0)+n&65535;break}}else{if((n+49|0)<(m|0))break;if((n+31|0)<(m|0)){k=m+1&65535;break}else{k=(h[22960+(m-n)>>0]|0)+m&65535;break}}while(0);d[o>>1]=k;l=g;n=i}do if(!p){g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;O=f[X+88>>2]|0;b[O+(g*20|0)>>0]=12;d[O+(g*20|0)+2>>1]=0;f[O+(g*20|0)+4>>2]=v;f[O+(g*20|0)+8>>2]=q;f[O+(g*20|0)+12>>2]=0;f[O+(g*20|0)+16>>2]=0;b[O+(g*20|0)+1>>0]=0}else g=tl(X,12,v,q,0)|0;i=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;O=f[X+88>>2]|0;b[O+(i*20|0)>>0]=14;d[O+(i*20|0)+2>>1]=0;f[O+(i*20|0)+4>>2]=x;f[O+(i*20|0)+8>>2]=P;f[O+(i*20|0)+12>>2]=0;f[O+(i*20|0)+16>>2]=0;b[O+(i*20|0)+1>>0]=0}else tl(X,14,x,P,0)|0;i=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;m=f[X+88>>2]|0;b[m+(i*20|0)>>0]=11;d[m+(i*20|0)+2>>1]=0;f[m+(i*20|0)+4>>2]=0;f[m+(i*20|0)+8>>2]=g;f[m+(i*20|0)+12>>2]=0;f[m+(i*20|0)+16>>2]=0;b[m+(i*20|0)+1>>0]=0;m=g;break}else{tl(X,11,0,g,0)|0;m=g;break}}else{g=c+6|0;i=d[V+6>>1]|0;if((d[g>>1]|0)<=i<<16>>16){m=l;break}d[g>>1]=i;m=l}while(0);g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;k=f[X+88>>2]|0;b[k+(g*20|0)>>0]=12;d[k+(g*20|0)+2>>1]=0;f[k+(g*20|0)+4>>2]=v;f[k+(g*20|0)+8>>2]=q;f[k+(g*20|0)+12>>2]=0;f[k+(g*20|0)+16>>2]=0;b[k+(g*20|0)+1>>0]=0;k=g}else k=tl(X,12,v,q,0)|0;g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;P=f[X+88>>2]|0;b[P+(g*20|0)>>0]=14;d[P+(g*20|0)+2>>1]=0;f[P+(g*20|0)+4>>2]=x;f[P+(g*20|0)+8>>2]=l;f[P+(g*20|0)+12>>2]=0;f[P+(g*20|0)+16>>2]=0;b[P+(g*20|0)+1>>0]=0}else tl(X,14,x,l,0)|0;g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;P=f[X+88>>2]|0;b[P+(g*20|0)>>0]=11;d[P+(g*20|0)+2>>1]=0;f[P+(g*20|0)+4>>2]=0;f[P+(g*20|0)+8>>2]=R;f[P+(g*20|0)+12>>2]=0;f[P+(g*20|0)+16>>2]=0;b[P+(g*20|0)+1>>0]=0}else tl(X,11,0,R,0)|0;do if(!M){if(p){p=k+1|0;l=k;break}g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;P=f[X+88>>2]|0;b[P+(g*20|0)>>0]=14;d[P+(g*20|0)+2>>1]=0;f[P+(g*20|0)+4>>2]=x;f[P+(g*20|0)+8>>2]=l;f[P+(g*20|0)+12>>2]=0;f[P+(g*20|0)+16>>2]=0;b[P+(g*20|0)+1>>0]=0}else g=tl(X,14,x,l,0)|0;i=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;p=f[X+88>>2]|0;b[p+(i*20|0)>>0]=11;d[p+(i*20|0)+2>>1]=0;f[p+(i*20|0)+4>>2]=0;f[p+(i*20|0)+8>>2]=R;f[p+(i*20|0)+12>>2]=0;f[p+(i*20|0)+16>>2]=0;b[p+(i*20|0)+1>>0]=0;p=k;l=g;break}else{tl(X,11,0,R,0)|0;p=k;l=g;break}}else{p=k;l=k}while(0);o=f[D>>2]|0;do if(s)if((f[(f[W>>2]|0)+48>>2]|0)>(o|0)){f[D>>2]=o+1;P=f[X+88>>2]|0;b[P+(o*20|0)>>0]=12;d[P+(o*20|0)+2>>1]=0;f[P+(o*20|0)+4>>2]=w;f[P+(o*20|0)+8>>2]=r;f[P+(o*20|0)+12>>2]=0;f[P+(o*20|0)+16>>2]=0;b[P+(o*20|0)+1>>0]=0;break}else{tl(X,12,w,r,0)|0;break}while(0);g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;P=f[X+88>>2]|0;b[P+(g*20|0)>>0]=14;d[P+(g*20|0)+2>>1]=0;f[P+(g*20|0)+4>>2]=y;f[P+(g*20|0)+8>>2]=m;f[P+(g*20|0)+12>>2]=0;f[P+(g*20|0)+16>>2]=0;b[P+(g*20|0)+1>>0]=0}else tl(X,14,y,m,0)|0;g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;P=f[X+88>>2]|0;b[P+(g*20|0)>>0]=11;d[P+(g*20|0)+2>>1]=0;f[P+(g*20|0)+4>>2]=0;f[P+(g*20|0)+8>>2]=R;f[P+(g*20|0)+12>>2]=0;f[P+(g*20|0)+16>>2]=0;b[P+(g*20|0)+1>>0]=0}else tl(X,11,0,R,0)|0;i=f[D>>2]|0;if(!(b[(f[X>>2]|0)+81>>0]|0))g=(f[X+88>>2]|0)+(((u|0)<0?i+-1|0:u)*20|0)|0;else g=72144;f[g+8>>2]=i;if((f[(f[W>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;R=f[X+88>>2]|0;b[R+(i*20|0)>>0]=14;d[R+(i*20|0)+2>>1]=0;f[R+(i*20|0)+4>>2]=x;f[R+(i*20|0)+8>>2]=n;f[R+(i*20|0)+12>>2]=0;f[R+(i*20|0)+16>>2]=0;b[R+(i*20|0)+1>>0]=0}else tl(X,14,x,n,0)|0;g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;R=f[X+88>>2]|0;b[R+(g*20|0)>>0]=14;d[R+(g*20|0)+2>>1]=0;f[R+(g*20|0)+4>>2]=y;f[R+(g*20|0)+8>>2]=m;f[R+(g*20|0)+12>>2]=0;f[R+(g*20|0)+16>>2]=0;b[R+(g*20|0)+1>>0]=0}else tl(X,14,y,m,0)|0;i=f[W>>2]|0;g=f[i+64>>2]|0;if(g|0)f[g+(T<<2)>>2]=f[D>>2];g=f[D>>2]|0;if((f[i+48>>2]|0)>(g|0)){f[D>>2]=g+1;i=f[X+88>>2]|0;b[i+(g*20|0)>>0]=86;i=i+(g*20|0)+1|0;k=i+19|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(k|0))}else g=tl(X,86,0,0,0)|0;i=f[X>>2]|0;k:do if(b[i+81>>0]|0){if(J)break;do if(i|0){if(f[i+480>>2]|0){Kc(i,K);break k}g=K;if((f[i+304>>2]|0)>>>0>g>>>0)break;if((f[i+308>>2]|0)>>>0<=g>>>0)break;T=i+300|0;f[I>>2]=f[T>>2];f[T>>2]=K;break k}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](K);break}else{T=ib[f[37368>>2]&255](K)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](K);break}}else{if((g|0)<0)g=(f[D>>2]|0)+-1|0;i=f[X+88>>2]|0;k=i+(g*20|0)+1|0;if(b[k>>0]|0){ul(X,i+(g*20|0)|0,K,-15);break}if(J)break;f[i+(g*20|0)+16>>2]=K;b[k>>0]=-15}while(0);k=f[B>>2]|0;i=f[C>>2]|0;g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;T=f[X+88>>2]|0;b[T+(g*20|0)>>0]=87;d[T+(g*20|0)+2>>1]=0;f[T+(g*20|0)+4>>2]=k;f[T+(g*20|0)+8>>2]=i;f[T+(g*20|0)+12>>2]=S;f[T+(g*20|0)+16>>2]=0;b[T+(g*20|0)+1>>0]=0}else g=tl(X,87,k,i,S)|0;i=f[X>>2]|0;l:do if(b[i+81>>0]|0){if((Q|0)==0|(f[i+480>>2]|0)!=0)break;T=(f[Q>>2]|0)+-1|0;f[Q>>2]=T;if(T|0)break;g=f[Q+12>>2]|0;do if(g|0){if(f[g+480>>2]|0){Kc(g,Q);break l}i=Q;if((f[g+304>>2]|0)>>>0>i>>>0)break;if((f[g+308>>2]|0)>>>0<=i>>>0)break;T=g+300|0;f[Q>>2]=f[T>>2];f[T>>2]=Q;break l}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](Q);break}else{T=ib[f[37368>>2]&255](Q)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Q);break}}else{if((g|0)<0)g=(f[D>>2]|0)+-1|0;i=f[X+88>>2]|0;k=i+(g*20|0)+1|0;if(b[k>>0]|0){ul(X,i+(g*20|0)|0,Q,-9);break}if(!Q)break;f[i+(g*20|0)+16>>2]=Q;b[k>>0]=-9}while(0);g=f[D>>2]|0;if((g|0)>0)d[(f[X+88>>2]|0)+((g+-1|0)*20|0)+2>>1]=1;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;X=f[X+88>>2]|0;b[X+(g*20|0)>>0]=16;d[X+(g*20|0)+2>>1]=0;f[X+(g*20|0)+4>>2]=p;f[X+(g*20|0)+8>>2]=l;f[X+(g*20|0)+12>>2]=o;f[X+(g*20|0)+16>>2]=0;b[X+(g*20|0)+1>>0]=0}else tl(X,16,p,l,o)|0;g=f[(f[W>>2]|0)+64>>2]|0;if(g|0)f[g+(Y<<2)>>2]=f[D>>2];g=f[U>>2]|0;if(g|0)mg(Z,g,1);f[U>>2]=V;f[G>>2]=c;k=a+208|0;g=f[k>>2]|0;if(!g)g=0;else{i=f[_>>2]|0;if((g|0)<0)g=(f[i+136>>2]|0)+-1|0;if(!(b[(f[i>>2]|0)+81>>0]|0))g=(f[i+88>>2]|0)+(g*20|0)|0;else g=72144;g=f[g+8>>2]|0}f[k>>2]=g;a=(f[a+36>>2]|0)!=0&1;t=$;return a|0}function ro(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+16|0;h=x;q=f[c+60>>2]|0;g=c+12|0;if((q|0)==0|(f[g>>2]|0)!=0){t=x;return}r=a+44|0;w=(f[r>>2]|0)+1|0;f[r>>2]=w;f[g>>2]=w;s=a+8|0;g=f[s>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;v=sl(a)|0}else v=g;g=q+12|0;do if(!(Ak(f[g>>2]|0,h)|0)){g=f[g>>2]|0;do if(g){if((b[g>>0]|0)!=-92){m=xl(a,g,w)|0;o=53;break}k=f[s>>2]|0;g=f[g+28>>2]|0;h=k+136|0;i=f[h>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(i|0)){f[h>>2]=i+1;p=f[k+88>>2]|0;b[p+(i*20|0)>>0]=78;d[p+(i*20|0)+2>>1]=0;f[p+(i*20|0)+4>>2]=g;f[p+(i*20|0)+8>>2]=w;f[p+(i*20|0)+12>>2]=0;f[p+(i*20|0)+16>>2]=0;b[p+(i*20|0)+1>>0]=0;break}else{tl(k,78,g,w,0)|0;break}}else{m=xl(a,0,w)|0;o=53}while(0);do if(((o|0)==53?(m|0)!=(w|0):0)?(l=f[s>>2]|0,l|0):0){g=l+136|0;h=f[g>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(h|0)){f[g>>2]=h+1;p=f[l+88>>2]|0;b[p+(h*20|0)>>0]=79;d[p+(h*20|0)+2>>1]=0;f[p+(h*20|0)+4>>2]=m;f[p+(h*20|0)+8>>2]=w;f[p+(h*20|0)+12>>2]=0;f[p+(h*20|0)+16>>2]=0;b[p+(h*20|0)+1>>0]=0;break}else{tl(l,79,m,w,0)|0;break}}while(0);h=v+136|0;g=f[h>>2]|0;i=v+12|0;if((f[(f[i>>2]|0)+48>>2]|0)>(g|0)){f[h>>2]=g+1;p=f[v+88>>2]|0;b[p+(g*20|0)>>0]=15;d[p+(g*20|0)+2>>1]=0;f[p+(g*20|0)+4>>2]=w;f[p+(g*20|0)+8>>2]=0;f[p+(g*20|0)+12>>2]=0;f[p+(g*20|0)+16>>2]=0;b[p+(g*20|0)+1>>0]=0}else tl(v,15,w,0,0)|0;g=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(g|0)){f[h>>2]=g+1;p=f[v+88>>2]|0;b[p+(g*20|0)>>0]=20;d[p+(g*20|0)+2>>1]=0;f[p+(g*20|0)+4>>2]=w;f[p+(g*20|0)+8>>2]=e;f[p+(g*20|0)+12>>2]=0;f[p+(g*20|0)+16>>2]=0;b[p+(g*20|0)+1>>0]=0;break}else{tl(v,20,w,e,0)|0;break}}else{g=f[h>>2]|0;i=v+136|0;h=f[i>>2]|0;k=v+12|0;if((f[(f[k>>2]|0)+48>>2]|0)>(h|0)){f[i>>2]=h+1;p=f[v+88>>2]|0;b[p+(h*20|0)>>0]=70;d[p+(h*20|0)+2>>1]=0;f[p+(h*20|0)+4>>2]=g;f[p+(h*20|0)+8>>2]=w;f[p+(h*20|0)+12>>2]=0;f[p+(h*20|0)+16>>2]=0;b[p+(h*20|0)+1>>0]=0}else tl(v,70,g,w,0)|0;if(!g){g=f[i>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(g|0)){f[i>>2]=g+1;p=f[v+88>>2]|0;b[p+(g*20|0)>>0]=11;d[p+(g*20|0)+2>>1]=0;f[p+(g*20|0)+4>>2]=0;f[p+(g*20|0)+8>>2]=e;f[p+(g*20|0)+12>>2]=0;f[p+(g*20|0)+16>>2]=0;b[p+(g*20|0)+1>>0]=0;break}else{tl(v,11,0,e,0)|0;break}}if((g|0)>-1){p=c+6|0;e=d[p>>1]|0;h=((g|0)<0)<<31>>31;n=g>>>0<8;if(n)if(g>>>0<2)i=0;else{i=40;l=g;k=h;do{i=(i&65535)+65526|0;l=WA(l|0,k|0,1)|0;k=ba()|0}while(k>>>0<0|(k|0)==0&l>>>0<8);k=i&65535;i=l;o=29}else{if(g>>>0>255){i=40;m=g;k=h;do{i=(i&65535)+40|0;o=m;m=VA(m|0,k|0,4)|0;l=k;k=ba()|0}while(l>>>0>0|(l|0)==0&o>>>0>4095);l=i&65535;i=m}else{l=40;k=h;i=g}if(k>>>0>0|(k|0)==0&i>>>0>15){do{l=(l&65535)+10&65535;o=i;i=VA(i|0,k|0,1)|0;m=k;k=ba()|0}while(m>>>0>0|(m|0)==0&o>>>0>31);k=l;o=29}else{k=l;o=29}}if((o|0)==29)i=(k&65535)+65526+(j[7936+((i&7)<<1)>>1]|0)&65535;if(e<<16>>16>i<<16>>16){if(n)if(g>>>0<2)g=0;else{i=40;do{i=(i&65535)+65526|0;g=WA(g|0,h|0,1)|0;h=ba()|0}while(h>>>0<0|(h|0)==0&g>>>0<8);i=i&65535;o=44}else{if(g>>>0>255){i=40;do{i=(i&65535)+40|0;o=g;g=VA(g|0,h|0,4)|0;n=h;h=ba()|0}while(n>>>0>0|(n|0)==0&o>>>0>4095);i=i&65535}else i=40;if(h>>>0>0|(h|0)==0&g>>>0>15){do{i=(i&65535)+10&65535;o=g;g=VA(g|0,h|0,1)|0;n=h;h=ba()|0}while(n>>>0>0|(n|0)==0&o>>>0>31);o=44}else o=44}if((o|0)==44)g=(i&65535)+65526+(j[7936+((g&7)<<1)>>1]|0)&65535;d[p>>1]=g;p=c+8|0;f[p>>2]=f[p>>2]|16384}}}while(0);g=f[q+16>>2]|0;if(!g){t=x;return}l=f[r>>2]|0;m=l+1|0;f[c+16>>2]=m;l=l+2|0;f[r>>2]=l;do if((b[g>>0]|0)==-92){k=f[s>>2]|0;g=f[g+28>>2]|0;h=k+136|0;i=f[h>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(i|0)){f[h>>2]=i+1;u=f[k+88>>2]|0;b[u+(i*20|0)>>0]=78;d[u+(i*20|0)+2>>1]=0;f[u+(i*20|0)+4>>2]=g;f[u+(i*20|0)+8>>2]=m;f[u+(i*20|0)+12>>2]=0;f[u+(i*20|0)+16>>2]=0;b[u+(i*20|0)+1>>0]=0;break}else{tl(k,78,g,m,0)|0;break}}else{i=xl(a,g,m)|0;if((i|0)!=(m|0)?(u=f[s>>2]|0,u|0):0){g=u+136|0;h=f[g>>2]|0;if((f[(f[u+12>>2]|0)+48>>2]|0)>(h|0)){f[g>>2]=h+1;u=f[u+88>>2]|0;b[u+(h*20|0)>>0]=79;d[u+(h*20|0)+2>>1]=0;f[u+(h*20|0)+4>>2]=i;f[u+(h*20|0)+8>>2]=m;f[u+(h*20|0)+12>>2]=0;f[u+(h*20|0)+16>>2]=0;b[u+(h*20|0)+1>>0]=0;break}else{tl(u,79,i,m,0)|0;break}}}while(0);h=v+136|0;g=f[h>>2]|0;i=v+12|0;if((f[(f[i>>2]|0)+48>>2]|0)>(g|0)){f[h>>2]=g+1;u=f[v+88>>2]|0;b[u+(g*20|0)>>0]=15;d[u+(g*20|0)+2>>1]=0;f[u+(g*20|0)+4>>2]=m;f[u+(g*20|0)+8>>2]=0;f[u+(g*20|0)+12>>2]=0;f[u+(g*20|0)+16>>2]=0;b[u+(g*20|0)+1>>0]=0}else tl(v,15,m,0,0)|0;g=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(g|0)){f[h>>2]=g+1;v=f[v+88>>2]|0;b[v+(g*20|0)>>0]=-103;d[v+(g*20|0)+2>>1]=0;f[v+(g*20|0)+4>>2]=w;f[v+(g*20|0)+8>>2]=l;f[v+(g*20|0)+12>>2]=m;f[v+(g*20|0)+16>>2]=0;b[v+(g*20|0)+1>>0]=0;t=x;return}else{tl(v,153,w,l,m)|0;t=x;return}}function so(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[b+52>>2]|0;if(d|0?(e=so(a,d,c)|0,e|0):0){c=e;return c|0}b=f[b>>2]|0;if((f[b>>2]|0)<=(c|0)){c=0;return c|0}c=Zk(a,f[b+4+(c*20|0)>>2]|0)|0;return c|0}function to(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=t;t=t+32|0;o=B;if(!c){t=B;return}if(f[c+4>>2]&1|0){t=B;return}switch(b[c>>0]|0){case 44:{to(a,f[c+16>>2]|0);to(a,f[c+12>>2]|0);t=B;return}case 53:{e=f[c+16>>2]|0;c=f[c+12>>2]|0;do if((b[e>>0]|0)==-98?(i=e+4|0,(f[i>>2]&8|0)==0):0){h=o+20|0;b[h>>0]=1;f[o+4>>2]=155;f[o+8>>2]=156;f[o+24>>2]=0;if(c){oi(o,c)|0;if(!(b[h>>0]|0))break}h=f[a>>2]|0;u=c+4|0;if(!(f[u>>2]&256))if((f[i>>2]&256|0)==0?(k=Zk(h,c)|0,(k|0)!=0):0){l=k;v=14}else{m=e;v=13}else{m=c;v=13}if((v|0)==13?(n=Zk(h,m)|0,n|0):0){l=n;v=14}if((v|0)==14){if((f[l+12>>2]|0)!=85)break;if(f[l+8>>2]|0)break}m=a+4|0;k=f[m>>2]|0;n=a+12|0;do if((k|0)>0){l=f[n>>2]|0;h=f[e+28>>2]|0;i=e+32|0;g=0;while(1){A=f[l+(g<<1<<2)>>2]|0;if((f[A+28>>2]|0)==(h|0)?(d[A+32>>1]|0)==(d[i>>1]|0):0){v=107;break}g=g+1|0;if((g|0)>=(k|0)){v=22;break}}if((v|0)==22){y=n;r=l;break}else if((v|0)==107){t=B;return}}else{y=n;r=f[n>>2]|0}while(0);k=k+1|0;f[m>>2]=k;l=f[f[a>>2]>>2]|0;k=k<<3;a:do if(!r){b:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))v=34;else{v=48;break a}else{do if(!(0<0|(0==0?(j[l+276>>1]|0)>>>0>>0:0))){g=l+300|0;h=f[g>>2]|0;if(h|0){f[g>>2]=f[h>>2];s=l+284|0;f[s>>2]=(f[s>>2]|0)+1;s=h;break b}g=l+296|0;h=f[g>>2]|0;if(!h){g=l+292|0;break}else{f[g>>2]=f[h>>2];s=l+284|0;f[s>>2]=(f[s>>2]|0)+1;s=h;break b}}else g=l+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;v=34}while(0);if((v|0)==34)s=Dc(l,k,0)|0;f[y>>2]=s;if(s|0){x=s;v=51}}else{h=r;i=l+304|0;if(((f[i>>2]|0)>>>0<=h>>>0?(f[l+308>>2]|0)>>>0>h>>>0:0)?!(0<0|(0==0?(j[l+276>>1]|0)>>>0>>0:0)):0)g=r;else{g=Lc(l,r,k,0)|0;if(!g){if(f[l+480>>2]|0){Kc(l,r);v=48;break}if((f[i>>2]|0)>>>0<=h>>>0?(f[l+308>>2]|0)>>>0>h>>>0:0){v=l+300|0;f[r>>2]=f[v>>2];f[v>>2]=r;v=48;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);v=48;break}else{v=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);v=48;break}}}f[y>>2]=g;x=g;v=51}while(0);if((v|0)==48)f[y>>2]=0;else if((v|0)==51){if(f[u>>2]&8)c=f[c+12>>2]|0;A=f[m>>2]<<1;f[x+(A+-2<<2)>>2]=e;f[(f[n>>2]|0)+(A+-1<<2)>>2]=c;t=B;return}f[m>>2]=0;t=B;return}while(0);if((b[c>>0]|0)!=-98){t=B;return}k=c+4|0;if(f[k>>2]&8|0){t=B;return}h=o+20|0;b[h>>0]=1;f[o+4>>2]=155;f[o+8>>2]=156;f[o+24>>2]=0;l=(e|0)==0;if(!l){oi(o,e)|0;if(!(b[h>>0]|0)){t=B;return}}i=f[a>>2]|0;do if(!(f[k>>2]&256)){if(!l?f[e+4>>2]&256|0:0){p=Zk(i,e)|0;v=66;break}h=Zk(i,c)|0;if(!h){p=Zk(i,e)|0;v=66}else{q=h;v=67}}else{p=Zk(i,c)|0;v=66}while(0);if((v|0)==66?p|0:0){q=p;v=67}if((v|0)==67){if((f[q+12>>2]|0)!=85){t=B;return}if(f[q+8>>2]|0){t=B;return}}n=a+4|0;l=f[n>>2]|0;o=a+12|0;do if((l|0)>0){m=f[o>>2]|0;i=f[c+28>>2]|0;k=c+32|0;h=0;while(1){y=f[m+(h<<1<<2)>>2]|0;if((f[y+28>>2]|0)==(i|0)?(d[y+32>>1]|0)==(d[k>>1]|0):0){v=107;break}h=h+1|0;if((h|0)>=(l|0)){v=75;break}}if((v|0)==75){A=o;w=m;break}else if((v|0)==107){t=B;return}}else{A=o;w=f[o>>2]|0}while(0);l=l+1|0;f[n>>2]=l;m=f[f[a>>2]>>2]|0;l=l<<3;c:do if(!w){d:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))v=87;else{v=101;break c}else{do if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0))){h=m+300|0;i=f[h>>2]|0;if(i|0){f[h>>2]=f[i>>2];z=m+284|0;f[z>>2]=(f[z>>2]|0)+1;z=i;break d}h=m+296|0;i=f[h>>2]|0;if(!i){h=m+292|0;break}else{f[h>>2]=f[i>>2];z=m+284|0;f[z>>2]=(f[z>>2]|0)+1;z=i;break d}}else h=m+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1;v=87}while(0);if((v|0)==87)z=Dc(m,l,0)|0;f[A>>2]=z;if(z|0){g=z;v=104}}else{i=w;k=m+304|0;if(((f[k>>2]|0)>>>0<=i>>>0?(f[m+308>>2]|0)>>>0>i>>>0:0)?!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0)):0)g=w;else{h=Lc(m,w,l,0)|0;if(!h){if(f[m+480>>2]|0){Kc(m,w);v=101;break}if((f[k>>2]|0)>>>0<=i>>>0?(f[m+308>>2]|0)>>>0>i>>>0:0){v=m+300|0;f[w>>2]=f[v>>2];f[v>>2]=w;v=101;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](w);v=101;break}else{v=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);v=101;break}}else g=h}f[A>>2]=g;v=104}while(0);if((v|0)==101)f[A>>2]=0;else if((v|0)==104){if(f[e+4>>2]&8)e=f[e+12>>2]|0;A=f[n>>2]<<1;f[g+(A+-2<<2)>>2]=c;f[(f[o>>2]|0)+(A+-1<<2)>>2]=e;t=B;return}f[n>>2]=0;t=B;return}default:{t=B;return}}}function uo(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((b[c>>0]|0)!=-98){c=0;return c|0}k=c+4|0;l=f[k>>2]|0;if(l&8|0){c=0;return c|0}m=f[a+24>>2]|0;e=f[m+4>>2]|0;if((e|0)<=0){c=1;return c|0}g=f[m+12>>2]|0;h=c+28|0;i=c+32|0;a=0;while(1){j=a<<1;o=f[g+(j<<2)>>2]|0;if(((o|0)!=(c|0)?(f[o+28>>2]|0)==(f[h>>2]|0):0)?(d[o+32>>1]|0)==(d[i>>1]|0):0)break;a=a+1|0;if((a|0)>=(e|0)){a=1;n=12;break}}if((n|0)==12)return a|0;a=m+8|0;f[a>>2]=(f[a>>2]|0)+1;f[k>>2]=l&-8388617|8;a=f[g+((j|1)<<2)>>2]|0;if(!a)a=0;else a=Bk(f[f[m>>2]>>2]|0,a,0,0)|0;f[c+12>>2]=a;o=1;return o|0}function vo(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a){j=0;return j|0}b=0;do{c=f[a+36>>2]|0;if(c){g=f[c+24>>2]|0;b=(g|0)>(b|0)?g:b}c=f[a+44>>2]|0;if(c){g=f[c+24>>2]|0;b=(g|0)>(b|0)?g:b}c=f[a+60>>2]|0;if(c){g=f[c+24>>2]|0;b=(g|0)>(b|0)?g:b}g=f[a>>2]|0;if((g|0)!=0?(h=f[g>>2]|0,(h|0)>0):0){e=0;d=h;while(1){c=f[g+4+(e*20|0)>>2]|0;if(!c)c=d;else{k=f[c+24>>2]|0;c=(k|0)>(b|0);b=c?k:b;c=c?h:d}e=e+1|0;if((e|0)>=(c|0))break;else d=c}}g=f[a+40>>2]|0;if((g|0)!=0?(i=f[g>>2]|0,(i|0)>0):0){e=0;d=i;while(1){c=f[g+4+(e*20|0)>>2]|0;if(!c)c=d;else{k=f[c+24>>2]|0;c=(k|0)>(b|0);b=c?k:b;c=c?i:d}e=e+1|0;if((e|0)>=(c|0))break;else d=c}}g=f[a+48>>2]|0;if((g|0)!=0?(j=f[g>>2]|0,(j|0)>0):0){e=0;d=j;while(1){c=f[g+4+(e*20|0)>>2]|0;if(!c)c=d;else{k=f[c+24>>2]|0;c=(k|0)>(b|0);b=c?k:b;c=c?j:d}e=e+1|0;if((e|0)>=(c|0))break;else d=c}}a=f[a+52>>2]|0}while((a|0)!=0);return b|0}function wo(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=t;t=t+32|0;n=o;if(!e){n=0;t=o;return n|0}if(f[c+8>>2]&8192|0){n=0;t=o;return n|0}if(f[c+68>>2]|0){n=0;t=o;return n|0}if(f[c+60>>2]|0){n=0;t=o;return n|0}if((b[e>>0]|0)==44){i=0;do{i=(wo(a,c,f[e+16>>2]|0,g,h)|0)+i|0;e=f[e+12>>2]|0}while((b[e>>0]|0)==44)}else i=0;j=(f[e+4>>2]&1|0)==0;if(!h){if(!j)k=12}else{if(j){n=0;t=o;return n|0}if((d[e+36>>1]|0)==(g|0))k=12;else{n=0;t=o;return n|0}}if((k|0)==12?(d[e+36>>1]|0)!=(g|0):0){n=0;t=o;return n|0}m=n+20|0;b[m>>0]=3;f[n+4>>2]=155;f[n+8>>2]=156;f[n+24>>2]=g;oi(n,e)|0;if(!(b[m>>0]|0)){n=i;t=o;return n|0}i=i+1|0;if(!c){n=i;t=o;return n|0}h=n+4|0;k=n+8|0;l=n+12|0;m=n+16|0;j=c;do{r=Bk(f[a>>2]|0,e,0,0)|0;mo(r,-1);f[n>>2]=a;f[h>>2]=g;f[k>>2]=g;f[l>>2]=0;f[m>>2]=f[j>>2];r=Oo(n,r)|0;q=(f[j+8>>2]&8|0)==0;p=j+36|0;c=j+44|0;r=kl(f[a>>2]|0,f[(q?p:c)>>2]|0,r)|0;f[(q?p:c)>>2]=r;j=f[j+52>>2]|0}while((j|0)!=0);t=o;return i|0}function xo(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=t;t=t+16|0;G=L;H=f[c+68>>2]|0;v=a+8|0;i=f[v>>2]|0;if(!i){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;K=sl(a)|0}else K=i;r=a+40|0;F=f[r>>2]|0;y=F+1|0;f[r>>2]=F+2;f[G>>2]=0;r=a+44|0;J=(f[r>>2]|0)+1|0;f[r>>2]=J;I=K+12|0;i=f[I>>2]|0;p=i+60|0;s=f[p>>2]|0;f[p>>2]=s+1;p=i+64|0;if(!(s+-1&s)){n=s<<3|4;o=f[i>>2]|0;i=f[p>>2]|0;a:do if(i){l=i;m=o+304|0;if(((f[m>>2]|0)>>>0<=l>>>0?(f[o+308>>2]|0)>>>0>l>>>0:0)?!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)):0)break;k=Lc(o,i,n,0)|0;if(!k){if(f[o+480>>2]|0){Kc(o,i);i=0;break}if((f[m>>2]|0)>>>0<=l>>>0?(f[o+308>>2]|0)>>>0>l>>>0:0){E=o+300|0;f[i>>2]=f[E>>2];f[E>>2]=i;i=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{E=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else i=k}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];E=o+284|0;f[E>>2]=(f[E>>2]|0)+1;break a}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];E=o+284|0;f[E>>2]=(f[E>>2]|0)+1;break a}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(s<<2)>>2]=-1;q=~s;i=f[I>>2]|0;p=i+60|0;E=f[p>>2]|0;f[p>>2]=E+1;p=i+64|0;if(!(E+-1&E)){n=E<<3|4;o=f[i>>2]|0;i=f[p>>2]|0;b:do if(i){l=i;m=o+304|0;if(((f[m>>2]|0)>>>0<=l>>>0?(f[o+308>>2]|0)>>>0>l>>>0:0)?!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)):0)break;k=Lc(o,i,n,0)|0;if(!k){if(f[o+480>>2]|0){Kc(o,i);i=0;break}if((f[m>>2]|0)>>>0<=l>>>0?(f[o+308>>2]|0)>>>0>l>>>0:0){D=o+300|0;f[i>>2]=f[D>>2];f[D>>2]=i;i=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{D=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else i=k}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];D=o+284|0;f[D>>2]=(f[D>>2]|0)+1;break b}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];D=o+284|0;f[D>>2]=(f[D>>2]|0)+1;break b}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(E<<2)>>2]=-1;x=~E;p=f[r>>2]|0;z=p+1|0;p=p+2|0;f[r>>2]=p;yo(a,c,e,J,q,G);D=K+136|0;i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;k=f[K+88>>2]|0;b[k+(i*20|0)>>0]=11;k=k+(i*20|0)+1|0;l=k+19|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0));C=i}else C=tl(K,11,0,0,0)|0;l=f[I>>2]|0;i=f[l+64>>2]|0;if(i|0)f[i+(s<<2)>>2]=f[D>>2];i=f[D>>2]|0;k=i+3|0;if((f[l+48>>2]|0)>(i|0)){f[D>>2]=i+1;A=f[K+88>>2]|0;b[A+(i*20|0)>>0]=17;d[A+(i*20|0)+2>>1]=0;f[A+(i*20|0)+4>>2]=0;f[A+(i*20|0)+8>>2]=k;f[A+(i*20|0)+12>>2]=0;f[A+(i*20|0)+16>>2]=0;b[A+(i*20|0)+1>>0]=0}else tl(K,17,0,k,0)|0;A=H+36|0;i=f[A>>2]|0;k=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;s=f[K+88>>2]|0;b[s+(k*20|0)>>0]=111;d[s+(k*20|0)+2>>1]=0;f[s+(k*20|0)+4>>2]=F;f[s+(k*20|0)+8>>2]=i;f[s+(k*20|0)+12>>2]=0;f[s+(k*20|0)+16>>2]=0;b[s+(k*20|0)+1>>0]=0}else tl(K,111,F,i,0)|0;i=f[A>>2]|0;k=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;s=f[K+88>>2]|0;b[s+(k*20|0)>>0]=111;d[s+(k*20|0)+2>>1]=0;f[s+(k*20|0)+4>>2]=y;f[s+(k*20|0)+8>>2]=i;f[s+(k*20|0)+12>>2]=0;f[s+(k*20|0)+16>>2]=0;b[s+(k*20|0)+1>>0]=0}else tl(K,111,y,i,0)|0;o=H+16|0;i=f[o>>2]|0;if(i|0){do if((b[i>>0]|0)==-92){m=f[v>>2]|0;i=f[i+28>>2]|0;k=m+136|0;l=f[k>>2]|0;if((f[(f[m+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;u=f[m+88>>2]|0;b[u+(l*20|0)>>0]=78;d[u+(l*20|0)+2>>1]=0;f[u+(l*20|0)+4>>2]=i;f[u+(l*20|0)+8>>2]=z;f[u+(l*20|0)+12>>2]=0;f[u+(l*20|0)+16>>2]=0;b[u+(l*20|0)+1>>0]=0;break}else{tl(m,78,i,z,0)|0;break}}else{i=xl(a,i,z)|0;if((i|0)!=(z|0)?(u=f[v>>2]|0,u|0):0){k=u+136|0;l=f[k>>2]|0;if((f[(f[u+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;u=f[u+88>>2]|0;b[u+(l*20|0)>>0]=79;d[u+(l*20|0)+2>>1]=0;f[u+(l*20|0)+4>>2]=i;f[u+(l*20|0)+8>>2]=z;f[u+(l*20|0)+12>>2]=0;f[u+(l*20|0)+16>>2]=0;b[u+(l*20|0)+1>>0]=0;break}else{tl(u,79,i,z,0)|0;break}}}while(0);No(a,z,0)}n=H+20|0;i=f[n>>2]|0;do if(i|0){do if((b[i>>0]|0)==-92){m=f[v>>2]|0;i=f[i+28>>2]|0;k=m+136|0;l=f[k>>2]|0;if((f[(f[m+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;w=f[m+88>>2]|0;b[w+(l*20|0)>>0]=78;d[w+(l*20|0)+2>>1]=0;f[w+(l*20|0)+4>>2]=i;f[w+(l*20|0)+8>>2]=p;f[w+(l*20|0)+12>>2]=0;f[w+(l*20|0)+16>>2]=0;b[w+(l*20|0)+1>>0]=0;break}else{tl(m,78,i,p,0)|0;break}}else{l=xl(a,i,p)|0;if((l|0)!=(p|0)?(w=f[v>>2]|0,w|0):0){i=w+136|0;k=f[i>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;w=f[w+88>>2]|0;b[w+(k*20|0)>>0]=79;d[w+(k*20|0)+2>>1]=0;f[w+(k*20|0)+4>>2]=l;f[w+(k*20|0)+8>>2]=p;f[w+(k*20|0)+12>>2]=0;f[w+(k*20|0)+16>>2]=0;b[w+(k*20|0)+1>>0]=0;break}else{tl(w,79,l,p,0)|0;break}}}while(0);No(a,p,1);if(f[n>>2]|0?(b[H+13>>0]|0)==83:0){i=f[D>>2]|0;k=i+2|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;w=f[K+88>>2]|0;b[w+(i*20|0)>>0]=57;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=z;f[w+(i*20|0)+8>>2]=k;f[w+(i*20|0)+12>>2]=p;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0}else tl(K,57,z,k,p)|0;i=f[G>>2]|0;k=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;w=f[K+88>>2]|0;b[w+(k*20|0)>>0]=78;d[w+(k*20|0)+2>>1]=0;f[w+(k*20|0)+4>>2]=i;f[w+(k*20|0)+8>>2]=z;f[w+(k*20|0)+12>>2]=0;f[w+(k*20|0)+16>>2]=0;b[w+(k*20|0)+1>>0]=0}else tl(K,78,i,z,0)|0;i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;w=f[K+88>>2]|0;b[w+(i*20|0)>>0]=97;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=z;f[w+(i*20|0)+8>>2]=p;f[w+(i*20|0)+12>>2]=p;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0;break}else{tl(K,97,z,p,p)|0;break}}}while(0);do if(f[o>>2]|0?(b[H+14>>0]|0)==85:0){i=f[D>>2]|0;k=i+3|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;w=f[K+88>>2]|0;b[w+(i*20|0)>>0]=55;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=z;f[w+(i*20|0)+8>>2]=k;f[w+(i*20|0)+12>>2]=p;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0}else tl(K,55,z,k,p)|0;k=f[G>>2]|0;i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;w=f[K+88>>2]|0;b[w+(i*20|0)>>0]=78;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=k;f[w+(i*20|0)+8>>2]=z;f[w+(i*20|0)+12>>2]=0;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0}else tl(K,78,k,z,0)|0;i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;w=f[K+88>>2]|0;b[w+(i*20|0)>>0]=78;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=k;f[w+(i*20|0)+8>>2]=p;f[w+(i*20|0)+12>>2]=0;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0;break}else{tl(K,78,k,p,0)|0;break}}while(0);u=zo(a,H)|0;i=f[A>>2]|0;k=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;w=f[K+88>>2]|0;b[w+(k*20|0)>>0]=36;d[w+(k*20|0)+2>>1]=0;f[w+(k*20|0)+4>>2]=i;f[w+(k*20|0)+8>>2]=x;f[w+(k*20|0)+12>>2]=0;f[w+(k*20|0)+16>>2]=0;b[w+(k*20|0)+1>>0]=0}else tl(K,36,i,x,0)|0;i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;w=f[K+88>>2]|0;b[w+(i*20|0)>>0]=36;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=F;f[w+(i*20|0)+8>>2]=x;f[w+(i*20|0)+12>>2]=0;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0}else tl(K,36,F,x,0)|0;i=f[D>>2]|0;if((i|0)>0)d[(f[K+88>>2]|0)+((i+-1|0)*20|0)+2>>1]=1;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;w=f[K+88>>2]|0;b[w+(i*20|0)>>0]=36;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=y;f[w+(i*20|0)+8>>2]=x;f[w+(i*20|0)+12>>2]=0;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0}else tl(K,36,y,x,0)|0;m=f[D>>2]|0;if((m|0)>0)d[(f[K+88>>2]|0)+((m+-1|0)*20|0)+2>>1]=1;s=H+14|0;do if((b[s>>0]|0)==85)if((f[(f[I>>2]|0)+48>>2]|0)>(m|0)){f[D>>2]=m+1;o=f[K+88>>2]|0;b[o+(m*20|0)>>0]=47;d[o+(m*20|0)+2>>1]=0;f[o+(m*20|0)+4>>2]=p;f[o+(m*20|0)+8>>2]=0;f[o+(m*20|0)+12>>2]=1;f[o+(m*20|0)+16>>2]=0;b[o+(m*20|0)+1>>0]=0;o=m;break}else{o=tl(K,47,p,0,1)|0;break}else o=0;while(0);i=f[D>>2]|0;k=i+2|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;w=f[K+88>>2]|0;b[w+(i*20|0)>>0]=5;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=y;f[w+(i*20|0)+8>>2]=k;f[w+(i*20|0)+12>>2]=0;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0}else tl(K,5,y,k,0)|0;i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;k=f[K+88>>2]|0;b[k+(i*20|0)>>0]=11;k=k+(i*20|0)+1|0;l=k+19|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0))}else i=tl(K,11,0,0,0)|0;Ao(a,H,y,0,u,f[G>>2]|0);l=b[s>>0]|0;n=f[D>>2]|0;do if(l<<24>>24==87){if((f[(f[I>>2]|0)+48>>2]|0)>(n|0)){f[D>>2]=n+1;B=f[K+88>>2]|0;b[B+(n*20|0)>>0]=11;d[B+(n*20|0)+2>>1]=0;f[B+(n*20|0)+4>>2]=0;f[B+(n*20|0)+8>>2]=m;f[B+(n*20|0)+12>>2]=0;f[B+(n*20|0)+16>>2]=0;b[B+(n*20|0)+1>>0]=0}else tl(K,11,0,m,0)|0;k=f[D>>2]|0;if(!(b[(f[K>>2]|0)+81>>0]|0))i=(f[K+88>>2]|0)+(((i|0)<0?k+-1|0:i)*20|0)|0;else i=72144;f[i+8>>2]=k;m=k;l=b[s>>0]|0;i=k;B=157}else{k=(b[(f[K>>2]|0)+81>>0]|0)==0;if(k)i=(f[K+88>>2]|0)+(((i|0)<0?n+-1|0:i)*20|0)|0;else i=72144;f[i+8>>2]=n;if(l<<24>>24!=85){i=n;B=157;break}if(k)i=(f[K+88>>2]|0)+(((o|0)<0?n+-1|0:o)*20|0)|0;else i=72144;f[i+8>>2]=n;e=m;c=o}while(0);do if((B|0)==157){if(l<<24>>24!=83){e=m;c=o;break}if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;e=f[K+88>>2]|0;b[e+(i*20|0)>>0]=47;d[e+(i*20|0)+2>>1]=0;f[e+(i*20|0)+4>>2]=p;f[e+(i*20|0)+8>>2]=0;f[e+(i*20|0)+12>>2]=1;f[e+(i*20|0)+16>>2]=0;b[e+(i*20|0)+1>>0]=0;e=m;c=i;break}else{e=m;c=tl(K,47,p,0,1)|0;break}}while(0);r=H+13|0;do if((b[r>>0]|0)==83){i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;m=f[K+88>>2]|0;b[m+(i*20|0)>>0]=47;d[m+(i*20|0)+2>>1]=0;f[m+(i*20|0)+4>>2]=z;f[m+(i*20|0)+8>>2]=0;f[m+(i*20|0)+12>>2]=1;f[m+(i*20|0)+16>>2]=0;b[m+(i*20|0)+1>>0]=0;m=i;break}else{m=tl(K,47,z,0,1)|0;break}}else m=0;while(0);Co(a,H,0);Mo(a,H,g,h);k=f[A>>2]|0;i=f[D>>2]|0;l=i+2|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;h=f[K+88>>2]|0;b[h+(i*20|0)>>0]=5;d[h+(i*20|0)+2>>1]=0;f[h+(i*20|0)+4>>2]=k;f[h+(i*20|0)+8>>2]=l;f[h+(i*20|0)+12>>2]=0;f[h+(i*20|0)+16>>2]=0;b[h+(i*20|0)+1>>0]=0}else tl(K,5,k,l,0)|0;i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;h=f[K+88>>2]|0;b[h+(i*20|0)>>0]=11;d[h+(i*20|0)+2>>1]=0;f[h+(i*20|0)+4>>2]=0;f[h+(i*20|0)+8>>2]=x;f[h+(i*20|0)+12>>2]=0;f[h+(i*20|0)+16>>2]=0;b[h+(i*20|0)+1>>0]=0}else tl(K,11,0,x,0)|0;switch(b[r>>0]|0){case 83:{k=f[D>>2]|0;if(!(b[(f[K>>2]|0)+81>>0]|0))i=(f[K+88>>2]|0)+(((m|0)<0?k+-1|0:m)*20|0)|0;else i=72144;f[i+8>>2]=k;B=175;break}case 85:case 82:{B=175;break}default:{}}do if((B|0)==175){i=f[I>>2]|0;p=i+60|0;q=f[p>>2]|0;f[p>>2]=q+1;p=i+64|0;if(!(q+-1&q)){n=q<<3|4;o=f[i>>2]|0;i=f[p>>2]|0;c:do if(i){l=i;m=o+304|0;do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)))break c}while(0);k=Lc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Kc(o,i);i=0;break}do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;B=o+300|0;f[i>>2]=f[B>>2];f[B>>2]=i;i=0;break c}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{B=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];B=o+284|0;f[B>>2]=(f[B>>2]|0)+1;break c}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];B=o+284|0;f[B>>2]=(f[B>>2]|0)+1;break c}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(q<<2)>>2]=-1;l=~q;i=b[r>>0]|0;if(i<<24>>24==85){i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;B=f[K+88>>2]|0;b[B+(i*20|0)>>0]=47;d[B+(i*20|0)+2>>1]=0;f[B+(i*20|0)+4>>2]=z;f[B+(i*20|0)+8>>2]=l;f[B+(i*20|0)+12>>2]=1;f[B+(i*20|0)+16>>2]=0;b[B+(i*20|0)+1>>0]=0}else tl(K,47,z,l,1)|0;i=b[r>>0]|0}k=f[D>>2]|0;do if(i<<24>>24==83){i=k+2|0;if((f[(f[I>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;B=f[K+88>>2]|0;b[B+(k*20|0)>>0]=5;d[B+(k*20|0)+2>>1]=0;f[B+(k*20|0)+4>>2]=F;f[B+(k*20|0)+8>>2]=i;f[B+(k*20|0)+12>>2]=0;f[B+(k*20|0)+16>>2]=0;b[B+(k*20|0)+1>>0]=0}else tl(K,5,F,i,0)|0;i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;B=f[K+88>>2]|0;b[B+(i*20|0)>>0]=11;d[B+(i*20|0)+2>>1]=0;f[B+(i*20|0)+4>>2]=0;f[B+(i*20|0)+8>>2]=l;f[B+(i*20|0)+12>>2]=0;f[B+(i*20|0)+16>>2]=0;b[B+(i*20|0)+1>>0]=0;break}else{tl(K,11,0,l,0)|0;break}}else{i=k+1|0;if((f[(f[I>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=i;B=f[K+88>>2]|0;b[B+(k*20|0)>>0]=5;d[B+(k*20|0)+2>>1]=0;f[B+(k*20|0)+4>>2]=F;f[B+(k*20|0)+8>>2]=i;f[B+(k*20|0)+12>>2]=0;f[B+(k*20|0)+16>>2]=0;b[B+(k*20|0)+1>>0]=0;break}else{tl(K,5,F,i,0)|0;break}}while(0);Ao(a,H,F,1,u,f[G>>2]|0);i=f[(f[I>>2]|0)+64>>2]|0;if(!i)break;f[i+(q<<2)>>2]=f[D>>2]}while(0);k=f[D>>2]|0;if((b[s>>0]|0)==83){if(!(b[(f[K>>2]|0)+81>>0]|0))i=(f[K+88>>2]|0)+(((c|0)<0?k+-1|0:c)*20|0)|0;else i=72144;f[i+8>>2]=k}if((f[(f[I>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;H=f[K+88>>2]|0;b[H+(k*20|0)>>0]=11;d[H+(k*20|0)+2>>1]=0;f[H+(k*20|0)+4>>2]=0;f[H+(k*20|0)+8>>2]=e;f[H+(k*20|0)+12>>2]=0;f[H+(k*20|0)+16>>2]=0;b[H+(k*20|0)+1>>0]=0}else tl(K,11,0,e,0)|0;l=f[I>>2]|0;i=f[l+64>>2]|0;if(i|0)f[i+(E<<2)>>2]=f[D>>2];i=f[A>>2]|0;k=f[D>>2]|0;if((f[l+48>>2]|0)>(k|0)){f[D>>2]=k+1;H=f[K+88>>2]|0;b[H+(k*20|0)>>0]=-117;d[H+(k*20|0)+2>>1]=0;f[H+(k*20|0)+4>>2]=i;f[H+(k*20|0)+8>>2]=0;f[H+(k*20|0)+12>>2]=0;f[H+(k*20|0)+16>>2]=0;b[H+(k*20|0)+1>>0]=0}else tl(K,139,i,0,0)|0;i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;I=f[K+88>>2]|0;b[I+(i*20|0)>>0]=66;d[I+(i*20|0)+2>>1]=0;f[I+(i*20|0)+4>>2]=J;f[I+(i*20|0)+8>>2]=0;f[I+(i*20|0)+12>>2]=0;f[I+(i*20|0)+16>>2]=0;b[I+(i*20|0)+1>>0]=0}else tl(K,66,J,0,0)|0;i=f[D>>2]|0;if(b[(f[K>>2]|0)+81>>0]|0){K=72144;K=K+8|0;f[K>>2]=i;t=L;return}K=(f[K+88>>2]|0)+(((C|0)<0?i+-1|0:C)*20|0)|0;K=K+8|0;f[K>>2]=i;t=L;return}function yo(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;u=f[c+68>>2]|0;k=f[a+8>>2]|0;if(!k){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;z=sl(a)|0}else z=k;t=f[c+32>>2]|0;m=f[t+48>>2]|0;t=d[(f[t+24>>2]|0)+42>>1]|0;n=t<<16>>16;x=a+44|0;o=(f[x>>2]|0)+1|0;v=o+n|0;w=v+1|0;f[i>>2]=w;f[x>>2]=n+2+(f[x>>2]|0);x=z+136|0;y=z+12|0;if(t<<16>>16>0){c=z+88|0;k=0;do{i=k+o|0;l=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(l|0)){f[x>>2]=l+1;t=f[c>>2]|0;b[t+(l*20|0)>>0]=90;d[t+(l*20|0)+2>>1]=0;f[t+(l*20|0)+4>>2]=m;f[t+(l*20|0)+8>>2]=k;f[t+(l*20|0)+12>>2]=i;f[t+(l*20|0)+16>>2]=0;b[t+(l*20|0)+1>>0]=0}else tl(z,90,m,k,i)|0;k=k+1|0}while((k|0)!=(n|0))}k=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(k|0)){f[x>>2]=k+1;t=f[z+88>>2]|0;b[t+(k*20|0)>>0]=102;d[t+(k*20|0)+2>>1]=0;f[t+(k*20|0)+4>>2]=o;f[t+(k*20|0)+8>>2]=n;f[t+(k*20|0)+12>>2]=v;f[t+(k*20|0)+16>>2]=0;b[t+(k*20|0)+1>>0]=0}else tl(z,102,o,n,v)|0;q=f[u+4>>2]|0;do if(q|0){s=f[q>>2]|0;t=(f[u+64>>2]|0)+o|0;n=f[a>>2]|0;l=s+1|0;m=l*5|0;i=m+20|0;o=n+272|0;a:do if(f[o>>2]|0)if(!(b[n+81>>0]|0))r=26;else{m=0;i=1}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){k=n+300|0;c=f[k>>2]|0;if(c|0){f[k>>2]=f[c>>2];p=n+284|0;f[p>>2]=(f[p>>2]|0)+1;p=c;r=27;break a}k=n+296|0;c=f[k>>2]|0;if(!c){k=n+292|0;break}else{f[k>>2]=f[c>>2];p=n+284|0;f[p>>2]=(f[p>>2]|0)+1;p=c;r=27;break a}}else k=n+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;r=26}while(0);if((r|0)==26){p=Dc(n,i,0)|0;r=27}if((r|0)==27){if(!p){k=n+81|0;if((b[k>>0]|0)==0?(b[n+82>>0]|0)==0:0){b[k>>0]=1;if((f[n+180>>2]|0)>0)f[n+264>>2]=1;f[o>>2]=(f[o>>2]|0)+1;m=0;i=1}else{m=0;i=1}}else{f[p+16>>2]=p+20+(l<<2);d[p+6>>1]=s;d[p+8>>1]=l;b[p+4>>0]=b[n+78>>0]|0;f[p+12>>2]=n;f[p>>2]=1;_A(p+24|0,0,m+-4|0)|0;m=p;i=0}if((s|0)>0&(p|0)!=0){n=p+16|0;c=q+4|0;l=0;while(1){k=Zk(a,f[c>>2]|0)|0;if(!k)k=f[(f[a>>2]|0)+8>>2]|0;f[p+20+(l<<2)>>2]=k;b[(f[n>>2]|0)+l>>0]=b[c+12>>0]|0;l=l+1|0;if((l|0)==(s|0))break;else c=c+20|0}}}l=u+56|0;k=f[l>>2]|0;c=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(c|0)){f[x>>2]=c+1;a=f[z+88>>2]|0;b[a+(c*20|0)>>0]=87;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=t;f[a+(c*20|0)+8>>2]=k;f[a+(c*20|0)+12>>2]=s;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else c=tl(z,87,t,k,s)|0;k=f[z>>2]|0;do if(b[k+81>>0]|0){if(!(i|(f[k+480>>2]|0)!=0)?(a=(f[m>>2]|0)+-1|0,f[m>>2]=a,(a|0)==0):0){k=f[m+12>>2]|0;if(k|0){if(f[k+480>>2]|0){Kc(k,m);break}a=m;if((f[k+304>>2]|0)>>>0<=a>>>0?(f[k+308>>2]|0)>>>0>a>>>0:0){a=k+300|0;f[m>>2]=f[a>>2];f[a>>2]=m;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{a=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}}else{r=f[z+88>>2]|0;a=(f[x>>2]|0)+-1|0;b[r+(a*20|0)+1>>0]=-9;f[r+(a*20|0)+16>>2]=m}while(0);i=c+2|0;k=c+4|0;c=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(c|0)){f[x>>2]=c+1;a=f[z+88>>2]|0;b[a+(c*20|0)>>0]=16;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=i;f[a+(c*20|0)+8>>2]=k;f[a+(c*20|0)+12>>2]=i;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else tl(z,16,i,k,i)|0;i=f[l>>2]|0;k=s+-1|0;c=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(c|0)){f[x>>2]=c+1;s=f[z+88>>2]|0;b[s+(c*20|0)>>0]=78;d[s+(c*20|0)+2>>1]=0;f[s+(c*20|0)+4>>2]=t;f[s+(c*20|0)+8>>2]=i;f[s+(c*20|0)+12>>2]=k;f[s+(c*20|0)+16>>2]=0;b[s+(c*20|0)+1>>0]=0}else tl(z,78,t,i,k)|0;k=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(k|0)){f[x>>2]=k+1;t=f[z+88>>2]|0;b[t+(k*20|0)>>0]=12;d[t+(k*20|0)+2>>1]=0;f[t+(k*20|0)+4>>2]=g;f[t+(k*20|0)+8>>2]=h;f[t+(k*20|0)+12>>2]=0;f[t+(k*20|0)+16>>2]=0;b[t+(k*20|0)+1>>0]=0;break}else{tl(z,12,g,h,0)|0;break}}while(0);k=u+36|0;c=f[k>>2]|0;i=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(i|0)){f[x>>2]=i+1;u=f[z+88>>2]|0;b[u+(i*20|0)>>0]=121;d[u+(i*20|0)+2>>1]=0;f[u+(i*20|0)+4>>2]=c;f[u+(i*20|0)+8>>2]=w;f[u+(i*20|0)+12>>2]=0;f[u+(i*20|0)+16>>2]=0;b[u+(i*20|0)+1>>0]=0}else tl(z,121,c,w,0)|0;k=f[k>>2]|0;c=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(c|0)){f[x>>2]=c+1;u=f[z+88>>2]|0;b[u+(c*20|0)>>0]=122;d[u+(c*20|0)+2>>1]=0;f[u+(c*20|0)+4>>2]=k;f[u+(c*20|0)+8>>2]=v;f[u+(c*20|0)+12>>2]=w;f[u+(c*20|0)+16>>2]=0;b[u+(c*20|0)+1>>0]=0}else tl(z,122,k,v,w)|0;tn(e);k=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(k|0)){f[x>>2]=k+1;e=f[z+88>>2]|0;b[e+(k*20|0)>>0]=12;d[e+(k*20|0)+2>>1]=0;f[e+(k*20|0)+4>>2]=g;f[e+(k*20|0)+8>>2]=h;f[e+(k*20|0)+12>>2]=0;f[e+(k*20|0)+16>>2]=0;b[e+(k*20|0)+1>>0]=0;return}else{tl(z,12,g,h,0)|0;return}}function zo(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=f[a+8>>2]|0;if(!e){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;k=sl(a)|0}else k=e;if(!c){n=0;o=a+44|0;m=f[o>>2]|0;a=m+1|0;n=m+n|0;f[o>>2]=n;return a|0}l=k+136|0;m=k+12|0;n=k+88|0;e=0;do{j=f[c+32>>2]|0;g=f[c+40>>2]|0;h=f[l>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(h|0)){f[l>>2]=h+1;i=f[n>>2]|0;b[i+(h*20|0)>>0]=73;d[i+(h*20|0)+2>>1]=0;f[i+(h*20|0)+4>>2]=0;f[i+(h*20|0)+8>>2]=g;f[i+(h*20|0)+12>>2]=0;f[i+(h*20|0)+16>>2]=0;b[i+(h*20|0)+1>>0]=0}else tl(k,73,0,g,0)|0;g=f[(f[c+60>>2]|0)+20>>2]|0;h=(g|0)==0;if(!h){i=(e|0)>(f[g>>2]|0);if(h|i)e=i?e:0;else e=f[g>>2]|0}else e=(e|0)>0?e:0;i=f[j+32>>2]|0;do if((i|0)==42328|(i|0)==42338){g=c+52|0;h=f[g>>2]|0;i=f[l>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;p=f[n>>2]|0;b[p+(i*20|0)>>0]=70;d[p+(i*20|0)+2>>1]=0;f[p+(i*20|0)+4>>2]=0;f[p+(i*20|0)+8>>2]=h;f[p+(i*20|0)+12>>2]=0;f[p+(i*20|0)+16>>2]=0;b[p+(i*20|0)+1>>0]=0}else tl(k,70,0,h,0)|0;g=(f[g>>2]|0)+1|0;h=f[l>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(h|0)){f[l>>2]=h+1;p=f[n>>2]|0;b[p+(h*20|0)>>0]=70;d[p+(h*20|0)+2>>1]=0;f[p+(h*20|0)+4>>2]=0;f[p+(h*20|0)+8>>2]=g;f[p+(h*20|0)+12>>2]=0;f[p+(h*20|0)+16>>2]=0;b[p+(h*20|0)+1>>0]=0;break}else{tl(k,70,0,g,0)|0;break}}while(0);do if(f[j+4>>2]&4096|0?(o=f[c+48>>2]|0,o|0):0){g=f[l>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(g|0)){f[l>>2]=g+1;p=f[n>>2]|0;b[p+(g*20|0)>>0]=-117;d[p+(g*20|0)+2>>1]=0;f[p+(g*20|0)+4>>2]=o;f[p+(g*20|0)+8>>2]=0;f[p+(g*20|0)+12>>2]=0;f[p+(g*20|0)+16>>2]=0;b[p+(g*20|0)+1>>0]=0}else tl(k,139,o,0,0)|0;g=(f[c+52>>2]|0)+1|0;h=f[l>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(h|0)){f[l>>2]=h+1;p=f[n>>2]|0;b[p+(h*20|0)>>0]=70;d[p+(h*20|0)+2>>1]=0;f[p+(h*20|0)+4>>2]=0;f[p+(h*20|0)+8>>2]=g;f[p+(h*20|0)+12>>2]=0;f[p+(h*20|0)+16>>2]=0;b[p+(h*20|0)+1>>0]=0;break}else{tl(k,70,0,g,0)|0;break}}while(0);c=f[c+24>>2]|0}while((c|0)!=0);a=a+44|0;o=f[a>>2]|0;p=o+1|0;o=o+e|0;f[a>>2]=o;return p|0}function Ao(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;j=f[a+8>>2]|0;if(!j){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;j=sl(a)|0}if(!c)return;u=(e|0)>-1;v=j+136|0;w=j+12|0;x=j+88|0;y=1-g|0;z=(g|0)==0;A=(e|0)>0;B=z?155:154;C=a+19|0;D=B&255;E=a+44|0;t=A^1;do{s=c+32|0;p=f[(f[s>>2]|0)+4>>2]|0;r=c+60|0;k=f[(f[r>>2]|0)+20>>2]|0;if(!k)q=0;else q=f[k>>2]|0;if(u){if((q|0)>0){l=c+68|0;k=0;do{m=(f[l>>2]|0)+k|0;n=k+h|0;o=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(o|0)){f[v>>2]=o+1;H=f[x>>2]|0;b[H+(o*20|0)>>0]=90;d[H+(o*20|0)+2>>1]=0;f[H+(o*20|0)+4>>2]=e;f[H+(o*20|0)+8>>2]=m;f[H+(o*20|0)+12>>2]=n;f[H+(o*20|0)+16>>2]=0;b[H+(o*20|0)+1>>0]=0}else tl(j,90,e,m,n)|0;k=k+1|0}while((k|0)!=(q|0))}if(!(p&131072))p=h;else{do if(q){k=q+h|0;l=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(l|0)){f[v>>2]=l+1;H=f[x>>2]|0;b[H+(l*20|0)>>0]=79;d[H+(l*20|0)+2>>1]=0;f[H+(l*20|0)+4>>2]=i;f[H+(l*20|0)+8>>2]=k;f[H+(l*20|0)+12>>2]=0;f[H+(l*20|0)+16>>2]=0;b[H+(l*20|0)+1>>0]=0;k=h;break}else{tl(j,79,i,k,0)|0;k=h;break}}else k=i;while(0);q=q+1|0;p=k}}else p=(f[c+68>>2]|0)+h|0;l=f[s>>2]|0;if((f[l+4>>2]&4096|0)!=0?(b[c+13>>0]|0)!=87:0){k=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(k|0)){f[v>>2]=k+1;H=f[x>>2]|0;b[H+(k*20|0)>>0]=50;d[H+(k*20|0)+2>>1]=0;f[H+(k*20|0)+4>>2]=p;f[H+(k*20|0)+8>>2]=0;f[H+(k*20|0)+12>>2]=0;f[H+(k*20|0)+16>>2]=0;b[H+(k*20|0)+1>>0]=0}else k=tl(j,50,p,0,0)|0;do if(z){o=c+52|0;l=(f[o>>2]|0)+1|0;m=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(m|0)){f[v>>2]=m+1;H=f[x>>2]|0;b[H+(m*20|0)>>0]=83;d[H+(m*20|0)+2>>1]=0;f[H+(m*20|0)+4>>2]=l;f[H+(m*20|0)+8>>2]=1;f[H+(m*20|0)+12>>2]=0;f[H+(m*20|0)+16>>2]=0;b[H+(m*20|0)+1>>0]=0}else tl(j,83,l,1,0)|0;l=f[o>>2]|0;m=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(m|0)){f[v>>2]=m+1;H=f[x>>2]|0;b[H+(m*20|0)>>0]=79;d[H+(m*20|0)+2>>1]=0;f[H+(m*20|0)+4>>2]=p;f[H+(m*20|0)+8>>2]=l;f[H+(m*20|0)+12>>2]=0;f[H+(m*20|0)+16>>2]=0;b[H+(m*20|0)+1>>0]=0}else tl(j,79,p,l,0)|0;l=f[o>>2]|0;m=l+2|0;n=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(n|0)){f[v>>2]=n+1;H=f[x>>2]|0;b[H+(n*20|0)>>0]=102;d[H+(n*20|0)+2>>1]=0;f[H+(n*20|0)+4>>2]=l;f[H+(n*20|0)+8>>2]=2;f[H+(n*20|0)+12>>2]=m;f[H+(n*20|0)+16>>2]=0;b[H+(n*20|0)+1>>0]=0}else tl(j,102,l,2,m)|0;n=f[c+48>>2]|0;l=(f[o>>2]|0)+2|0;m=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(m|0)){f[v>>2]=m+1;H=f[x>>2]|0;b[H+(m*20|0)>>0]=-123;d[H+(m*20|0)+2>>1]=0;f[H+(m*20|0)+4>>2]=n;f[H+(m*20|0)+8>>2]=l;f[H+(m*20|0)+12>>2]=0;f[H+(m*20|0)+16>>2]=0;b[H+(m*20|0)+1>>0]=0;break}else{tl(j,133,n,l,0)|0;break}}else{n=c+48|0;m=f[n>>2]|0;l=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(l|0)){f[v>>2]=l+1;H=f[x>>2]|0;b[H+(l*20|0)>>0]=24;d[H+(l*20|0)+2>>1]=0;f[H+(l*20|0)+4>>2]=m;f[H+(l*20|0)+8>>2]=0;f[H+(l*20|0)+12>>2]=p;f[H+(l*20|0)+16>>2]=0;b[H+(l*20|0)+1>>0]=0}else l=tl(j,24,m,0,p)|0;if(!(b[(f[j>>2]|0)+81>>0]|0)){H=f[x>>2]|0;b[H+(l*20|0)+1>>0]=-3;f[H+(l*20|0)+16>>2]=1}l=f[n>>2]|0;m=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(m|0)){f[v>>2]=m+1;H=f[x>>2]|0;b[H+(m*20|0)>>0]=124;d[H+(m*20|0)+2>>1]=0;f[H+(m*20|0)+4>>2]=l;f[H+(m*20|0)+8>>2]=0;f[H+(m*20|0)+12>>2]=0;f[H+(m*20|0)+16>>2]=0;b[H+(m*20|0)+1>>0]=0}else tl(j,124,l,0,0)|0;m=f[v>>2]|0;if(!(b[(f[j>>2]|0)+81>>0]|0))l=(f[x>>2]|0)+((((m|0)<2?-1:-2)+m|0)*20|0)|0;else l=72144;f[l+8>>2]=m}while(0);l=f[v>>2]|0;if(!(b[(f[j>>2]|0)+81>>0]|0))k=(f[x>>2]|0)+(((k|0)<0?l+-1|0:k)*20|0)|0;else k=72144;f[k+8>>2]=l}else G=56;do if((G|0)==56){G=0;k=f[c+52>>2]|0;if(k|0){k=y+k|0;l=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(l|0)){f[v>>2]=l+1;H=f[x>>2]|0;b[H+(l*20|0)>>0]=83;d[H+(l*20|0)+2>>1]=0;f[H+(l*20|0)+4>>2]=k;f[H+(l*20|0)+8>>2]=1;f[H+(l*20|0)+12>>2]=0;f[H+(l*20|0)+16>>2]=0;b[H+(l*20|0)+1>>0]=0;break}else{tl(j,83,k,1,0)|0;break}}H=f[l+32>>2]|0;if(!((H|0)==42350|(H|0)==42355)){if(f[c+28>>2]|0){do if(A){k=b[C>>0]|0;if(!(k<<24>>24)){k=(f[E>>2]|0)+1|0;f[E>>2]=k}else{k=k+-1<<24>>24;b[C>>0]=k;k=f[a+144+((k&255)<<2)>>2]|0}l=(f[c+68>>2]|0)+q|0;m=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(m|0)){f[v>>2]=m+1;H=f[x>>2]|0;b[H+(m*20|0)>>0]=90;d[H+(m*20|0)+2>>1]=0;f[H+(m*20|0)+4>>2]=e;f[H+(m*20|0)+8>>2]=l;f[H+(m*20|0)+12>>2]=k;f[H+(m*20|0)+16>>2]=0;b[H+(m*20|0)+1>>0]=0;l=k;break}else{tl(j,90,e,l,k)|0;l=k;break}}else l=p+q|0;while(0);k=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(k|0)){f[v>>2]=k+1;H=f[x>>2]|0;b[H+(k*20|0)>>0]=20;d[H+(k*20|0)+2>>1]=0;f[H+(k*20|0)+4>>2]=l;f[H+(k*20|0)+8>>2]=0;f[H+(k*20|0)+12>>2]=1;f[H+(k*20|0)+16>>2]=0;b[H+(k*20|0)+1>>0]=0}else k=tl(j,20,l,0,1)|0;if(!((l|0)==0|t)?(F=b[C>>0]|0,(F&255)<8):0){b[C>>0]=F+1<<24>>24;f[a+144+((F&255)<<2)>>2]=l;o=k}else o=k}else o=0;do if(f[(f[s>>2]|0)+4>>2]&32|0){k=Zk(a,f[(f[(f[r>>2]|0)+20>>2]|0)+4>>2]|0)|0;if(!k)k=f[(f[a>>2]|0)+8>>2]|0;l=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(l|0)){f[v>>2]=l+1;m=f[x>>2]|0;b[m+(l*20|0)>>0]=82;m=m+(l*20|0)+1|0;n=m+19|0;do{b[m>>0]=0;m=m+1|0}while((m|0)<(n|0))}else l=tl(j,82,0,0,0)|0;if(!(b[(f[j>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[v>>2]|0)+-1|0;m=f[x>>2]|0;n=m+(l*20|0)+1|0;if(b[n>>0]|0){ul(j,m+(l*20|0)|0,k,-2);break}if(k|0){f[m+(l*20|0)+16>>2]=k;b[n>>0]=-2}}}while(0);k=f[c+40>>2]|0;l=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(l|0)){f[v>>2]=l+1;H=f[x>>2]|0;b[H+(l*20|0)>>0]=D;d[H+(l*20|0)+2>>1]=0;f[H+(l*20|0)+4>>2]=g;f[H+(l*20|0)+8>>2]=p;f[H+(l*20|0)+12>>2]=k;f[H+(l*20|0)+16>>2]=0;b[H+(l*20|0)+1>>0]=0}else tl(j,B,g,p,k)|0;k=f[s>>2]|0;l=f[j>>2]|0;do if(b[l+81>>0]|0){if(f[k+4>>2]&16|0){if(l|0){if(f[l+480>>2]|0){Kc(l,k);break}H=k;if((f[l+304>>2]|0)>>>0<=H>>>0?(f[l+308>>2]|0)>>>0>H>>>0:0){H=l+300|0;f[k>>2]=f[H>>2];f[H>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{H=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}}else{s=f[x>>2]|0;H=(f[v>>2]|0)+-1|0;b[s+(H*20|0)+1>>0]=-8;f[s+(H*20|0)+16>>2]=k}while(0);l=f[v>>2]|0;if((l|0)>0)d[(f[x>>2]|0)+((l+-1|0)*20|0)+2>>1]=q&255;if(o|0){if(!(b[(f[j>>2]|0)+81>>0]|0))k=(f[x>>2]|0)+(((o|0)<0?l+-1|0:o)*20|0)|0;else k=72144;f[k+8>>2]=l}}}while(0);c=f[c+24>>2]|0}while((c|0)!=0);return}function Bo(a,c,e,g,h,i,j){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;k=f[a+8>>2]|0;if(!k){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;o=sl(a)|0}else o=k;Co(a,c,0);m=o+136|0;k=f[m>>2]|0;l=k+2|0;n=o+12|0;if((f[(f[n>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;p=f[o+88>>2]|0;b[p+(k*20|0)>>0]=47;d[p+(k*20|0)+2>>1]=0;f[p+(k*20|0)+4>>2]=e;f[p+(k*20|0)+8>>2]=l;f[p+(k*20|0)+12>>2]=1;f[p+(k*20|0)+16>>2]=0;b[p+(k*20|0)+1>>0]=0;e=k}else e=tl(o,47,e,l,1)|0;k=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;l=f[o+88>>2]|0;b[l+(k*20|0)>>0]=11;k=l+(k*20|0)+1|0;l=k+19|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0))}else tl(o,11,0,0,0)|0;Mo(a,c,g,h);k=c+36|0;if(i|0)Ao(a,c,f[k>>2]|0,1,i,j);k=f[k>>2]|0;l=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;p=f[o+88>>2]|0;b[p+(l*20|0)>>0]=5;d[p+(l*20|0)+2>>1]=0;f[p+(l*20|0)+4>>2]=k;f[p+(l*20|0)+8>>2]=e;f[p+(l*20|0)+12>>2]=0;f[p+(l*20|0)+16>>2]=0;b[p+(l*20|0)+1>>0]=0}else tl(o,5,k,e,0)|0;k=f[m>>2]|0;if(b[(f[o>>2]|0)+81>>0]|0){p=72144;p=p+8|0;f[p>>2]=k;return}p=(f[o+88>>2]|0)+(((e|0)<-1?k+-1|0:e+1|0)*20|0)|0;p=p+8|0;f[p>>2]=k;return}function Co(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=f[a+8>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;g=sl(a)|0}if(!c)return;l=(e|0)==0;m=g+136|0;n=g+12|0;o=g+88|0;do{k=c+32|0;do if((f[(f[k>>2]|0)+4>>2]&4096|0)!=0?(b[c+13>>0]|0)!=87:0){i=c+44|0;a=f[i>>2]|0;e=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(e|0)){f[m>>2]=e+1;j=f[o>>2]|0;b[j+(e*20|0)>>0]=73;d[j+(e*20|0)+2>>1]=0;f[j+(e*20|0)+4>>2]=0;f[j+(e*20|0)+8>>2]=a;f[j+(e*20|0)+12>>2]=0;f[j+(e*20|0)+16>>2]=0;b[j+(e*20|0)+1>>0]=0}else tl(g,73,0,a,0)|0;j=c+48|0;a=f[j>>2]|0;e=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(e|0)){f[m>>2]=e+1;h=f[o>>2]|0;b[h+(e*20|0)>>0]=32;d[h+(e*20|0)+2>>1]=0;f[h+(e*20|0)+4>>2]=a;f[h+(e*20|0)+8>>2]=0;f[h+(e*20|0)+12>>2]=0;f[h+(e*20|0)+16>>2]=0;b[h+(e*20|0)+1>>0]=0}else tl(g,32,a,0,0)|0;h=f[j>>2]|0;a=f[i>>2]|0;e=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(e|0)){f[m>>2]=e+1;i=f[o>>2]|0;b[i+(e*20|0)>>0]=90;d[i+(e*20|0)+2>>1]=0;f[i+(e*20|0)+4>>2]=h;f[i+(e*20|0)+8>>2]=0;f[i+(e*20|0)+12>>2]=a;f[i+(e*20|0)+16>>2]=0;b[i+(e*20|0)+1>>0]=0}else tl(g,90,h,0,a)|0;e=f[m>>2]|0;if(!(b[(f[g>>2]|0)+81>>0]|0))a=(f[o>>2]|0)+((((e|0)<2?-1:-2)+e|0)*20|0)|0;else a=72144;f[a+8>>2]=e;if(!l){a=f[j>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(e|0)){f[m>>2]=e+1;j=f[o>>2]|0;b[j+(e*20|0)>>0]=-117;d[j+(e*20|0)+2>>1]=0;f[j+(e*20|0)+4>>2]=a;f[j+(e*20|0)+8>>2]=0;f[j+(e*20|0)+12>>2]=0;f[j+(e*20|0)+16>>2]=0;b[j+(e*20|0)+1>>0]=0;break}else{tl(g,139,a,0,0)|0;break}}}else p=25;while(0);do if((p|0)==25?(p=0,(f[c+52>>2]|0)==0):0){j=c+40|0;i=f[j>>2]|0;a=f[(f[c+60>>2]|0)+20>>2]|0;if(!a)h=0;else h=f[a>>2]|0;if(l){a=f[c+44>>2]|0;e=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(e|0)){f[m>>2]=e+1;j=f[o>>2]|0;b[j+(e*20|0)>>0]=-99;d[j+(e*20|0)+2>>1]=0;f[j+(e*20|0)+4>>2]=i;f[j+(e*20|0)+8>>2]=h;f[j+(e*20|0)+12>>2]=a;f[j+(e*20|0)+16>>2]=0;b[j+(e*20|0)+1>>0]=0}else tl(g,157,i,h,a)|0;a=f[k>>2]|0;e=f[g>>2]|0;if(!(b[e+81>>0]|0)){j=f[o>>2]|0;k=(f[m>>2]|0)+-1|0;b[j+(k*20|0)+1>>0]=-8;f[j+(k*20|0)+16>>2]=a;break}if(!(f[a+4>>2]&16))break;if(e|0){if(f[e+480>>2]|0){Kc(e,a);break}k=a;if((f[e+304>>2]|0)>>>0<=k>>>0?(f[e+308>>2]|0)>>>0>k>>>0:0){k=e+300|0;f[a>>2]=f[k>>2];f[k>>2]=a;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{k=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}}a=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(a|0)){f[m>>2]=a+1;e=f[o>>2]|0;b[e+(a*20|0)>>0]=-98;d[e+(a*20|0)+2>>1]=0;f[e+(a*20|0)+4>>2]=i;f[e+(a*20|0)+8>>2]=h;f[e+(a*20|0)+12>>2]=0;f[e+(a*20|0)+16>>2]=0;b[e+(a*20|0)+1>>0]=0}else tl(g,158,i,h,0)|0;a=f[k>>2]|0;e=f[g>>2]|0;do if(b[e+81>>0]|0){if(f[a+4>>2]&16|0){if(e|0){if(f[e+480>>2]|0){Kc(e,a);break}k=a;if((f[e+304>>2]|0)>>>0<=k>>>0?(f[e+308>>2]|0)>>>0>k>>>0:0){k=e+300|0;f[a>>2]=f[k>>2];f[k>>2]=a;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{k=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}}}else{i=f[o>>2]|0;k=(f[m>>2]|0)+-1|0;b[i+(k*20|0)+1>>0]=-8;f[i+(k*20|0)+16>>2]=a}while(0);a=f[j>>2]|0;e=f[c+44>>2]|0;h=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(h|0)){f[m>>2]=h+1;k=f[o>>2]|0;b[k+(h*20|0)>>0]=78;d[k+(h*20|0)+2>>1]=0;f[k+(h*20|0)+4>>2]=a;f[k+(h*20|0)+8>>2]=e;f[k+(h*20|0)+12>>2]=0;f[k+(h*20|0)+16>>2]=0;b[k+(h*20|0)+1>>0]=0}else tl(g,78,a,e,0)|0;a=f[j>>2]|0;e=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(e|0)){f[m>>2]=e+1;k=f[o>>2]|0;b[k+(e*20|0)>>0]=73;d[k+(e*20|0)+2>>1]=0;f[k+(e*20|0)+4>>2]=0;f[k+(e*20|0)+8>>2]=a;f[k+(e*20|0)+12>>2]=0;f[k+(e*20|0)+16>>2]=0;b[k+(e*20|0)+1>>0]=0;break}else{tl(g,73,0,a,0)|0;break}}while(0);c=f[c+24>>2]|0}while((c|0)!=0);return}function Do(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=f[a+24>>2]|0;s=f[e>>2]|0;i=f[e+4>>2]|0;t=f[e+8>>2]|0;switch(b[c>>0]|0){case -98:case -96:{if(!i){t=1;return t|0}g=f[i>>2]|0;if((g|0)<=0){t=1;return t|0}o=c+28|0;l=f[o>>2]|0;e=0;a=i+8|0;while(1){if((l|0)==(f[a+40>>2]|0))break;e=e+1|0;if((e|0)>=(g|0)){a=1;r=80;break}else a=a+72|0}if((r|0)==80)return a|0;i=t+28|0;n=t+32|0;p=f[n>>2]|0;a:do if((p|0)>0){k=f[i>>2]|0;g=c+32|0;e=k;a=0;while(1){if((f[e+4>>2]|0)==(l|0)?(f[e+8>>2]|0)==(d[g>>1]|0):0)break a;a=a+1|0;if((a|0)>=(p|0))break;else e=e+24|0}m=i;a=k;r=13}else{m=i;a=f[i>>2]|0;r=13}while(0);b:do if((r|0)==13){i=f[s>>2]|0;c:do if(!(p+-1&p)){g=(p|0)==0;l=p*48|0;k=g?24:l;l=g?0:((l|0)<0)<<31>>31;d:do if(!a){if(f[i+272>>2]|0){if(b[i+81>>0]|0){a=0;break}}else{do if(!(l>>>0>0|((l|0)==0?k>>>0>(j[i+276>>1]|0)>>>0:0))){g=i+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];r=i+284|0;f[r>>2]=(f[r>>2]|0)+1;r=31;break d}g=i+296|0;e=f[g>>2]|0;if(!e){e=i+292|0;break}else{f[g>>2]=f[e>>2];r=i+284|0;f[r>>2]=(f[r>>2]|0)+1;r=31;break d}}else e=i+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(i,k,l)|0;r=31}else{r=a;if((f[i+304>>2]|0)>>>0<=r>>>0?(f[i+308>>2]|0)>>>0>r>>>0:0){if(!(l>>>0>0|((l|0)==0?k>>>0>(j[i+276>>1]|0)>>>0:0)))break c;e=Lc(i,a,k,l)|0;r=31;break}e=Lc(i,a,k,l)|0;r=31}while(0);if((r|0)==31)if(e){a=e;break}f[m>>2]=a;a=-1;break b}while(0);e=a+(p*24|0)|0;i=e+24|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(i|0));f[n>>2]=(f[n>>2]|0)+1;f[m>>2]=a;if((p|0)>-1){f[a+(p*24|0)>>2]=f[c+44>>2];i=f[o>>2]|0;f[a+(p*24|0)+4>>2]=i;k=d[c+32>>1]|0;f[a+(p*24|0)+8>>2]=k<<16>>16;s=s+44|0;g=(f[s>>2]|0)+1|0;f[s>>2]=g;f[a+(p*24|0)+16>>2]=g;g=a+(p*24|0)+12|0;f[g>>2]=-1;f[a+(p*24|0)+20>>2]=c;a=f[t+24>>2]|0;e:do if(a|0?(q=f[a>>2]|0,(q|0)>0):0){e=a+4|0;a=0;while(1){s=f[e>>2]|0;if(((b[s>>0]|0)==-98?(f[s+28>>2]|0)==(i|0):0)?(d[s+32>>1]|0)==k<<16>>16:0)break;a=a+1|0;if((a|0)<(q|0))e=e+20|0;else break e}f[g>>2]=a;a=p;break b}while(0);s=t+12|0;a=f[s>>2]|0;f[s>>2]=a+1;f[g>>2]=a;a=p}else a=p}while(0);f[c+40>>2]=t;b[c>>0]=-96;d[c+34>>1]=a;t=1;return t|0}case -97:{if(d[e+24>>1]&8){t=0;return t|0}if((f[a+16>>2]|0)!=(h[c+38>>0]|0)){t=0;return t|0}p=t+40|0;o=t+44|0;e=f[o>>2]|0;f:do if((e|0)>0){e=f[p>>2]|0;a=0;while(1){if(!(Ck(0,f[e>>2]|0,c,-1)|0))break;a=a+1|0;g=f[o>>2]|0;if((a|0)<(g|0))e=e+16|0;else break f}g=f[o>>2]|0}else{a=0;g=e}while(0);g:do if((a|0)>=(g|0)){k=f[s>>2]|0;n=b[k+78>>0]|0;a=f[p>>2]|0;h:do if(!(g+-1&g)){q=(g|0)==0;m=g<<5;l=q?16:m;m=q?0:((m|0)<0)<<31>>31;i:do if(!a){if(f[k+272>>2]|0){if(b[k+81>>0]|0){a=0;break}}else{do if(!(m>>>0>0|((m|0)==0?l>>>0>(j[k+276>>1]|0)>>>0:0))){i=k+300|0;e=f[i>>2]|0;if(e|0){f[i>>2]=f[e>>2];r=k+284|0;f[r>>2]=(f[r>>2]|0)+1;r=71;break i}i=k+296|0;e=f[i>>2]|0;if(!e){e=k+292|0;break}else{f[i>>2]=f[e>>2];r=k+284|0;f[r>>2]=(f[r>>2]|0)+1;r=71;break i}}else e=k+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(k,l,m)|0;r=71}else{r=a;if((f[k+304>>2]|0)>>>0<=r>>>0?(f[k+308>>2]|0)>>>0>r>>>0:0){if(!(m>>>0>0|((m|0)==0?l>>>0>(j[k+276>>1]|0)>>>0:0)))break h;e=Lc(k,a,l,m)|0;r=71;break}e=Lc(k,a,l,m)|0;r=71}while(0);if((r|0)==71)if(e){a=e;break}f[p>>2]=a;a=-1;break g}while(0);e=a+(g<<4)|0;i=e+16|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(i|0));f[o>>2]=(f[o>>2]|0)+1;f[p>>2]=a;if((g|0)>-1){f[a+(g<<4)>>2]=c;r=s+44|0;e=(f[r>>2]|0)+1|0;f[r>>2]=e;f[a+(g<<4)+8>>2]=e;e=f[c+20>>2]|0;if(!e)e=0;else e=f[e>>2]|0;r=Rk(f[s>>2]|0,f[c+8>>2]|0,e,n,0)|0;f[a+(g<<4)+4>>2]=r;if(!(f[c+4>>2]&16)){f[a+(g<<4)+12>>2]=-1;a=g;break}else{r=s+40|0;s=f[r>>2]|0;f[r>>2]=s+1;f[a+(g<<4)+12>>2]=s;a=g;break}}else a=g}while(0);d[c+34>>1]=a;f[c+40>>2]=t;t=1;return t|0}default:{t=0;return t|0}}return 0}function Eo(a,b){a=a|0;b=b|0;b=a+16|0;f[b>>2]=(f[b>>2]|0)+1;return 0}function Fo(a,b){a=a|0;b=b|0;b=a+16|0;f[b>>2]=(f[b>>2]|0)+-1;return}function Go(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+48|0;l=m;if((b[c>>0]|0)==44){l=0;t=m;return l|0}d=f[a+24>>2]|0;j=f[a>>2]|0;i=f[d+40>>2]|0;k=l+20|0;b[k>>0]=1;f[l+4>>2]=170;f[l+8>>2]=0;f[l+24>>2]=i;f[l>>2]=j;oi(l,c)|0;if(!(b[k>>0]|0)){l=1;t=m;return l|0}j=f[f[a>>2]>>2]|0;k=Dk(j,143,10024,0)|0;if(!k){l=1;t=m;return l|0}d=d+36|0;e=f[d>>2]|0;g=l;h=k;i=g+48|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));g=k;h=c;i=g+48|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));g=c;h=l;i=g+48|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=kl(j,e,k)|0;f[d>>2]=l;b[a+20>>0]=1;l=1;t=m;return l|0}function Ho(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;H=a+8|0;L=f[H>>2]|0;b[e>>0]=1;G=e+44|0;if((f[G>>2]|0)>0){w=L+12|0;x=a+19|0;y=a+32|0;z=a+28|0;A=L+136|0;B=a+44|0;C=L+88|0;D=e+36|0;u=f[e+40>>2]|0;g=0;v=0;while(1){s=f[(f[u>>2]|0)+20>>2]|0;if(!s){h=0;t=0}else{k=f[s>>2]|0;do if((k|0)==1){h=b[x>>0]|0;if(!(h<<24>>24)){h=(f[B>>2]|0)+1|0;f[B>>2]=h;break}else{h=h+-1<<24>>24;b[x>>0]=h;h=f[a+144+((h&255)<<2)>>2]|0;break}}else{h=f[y>>2]|0;i=f[z>>2]|0;if((i|0)<(k|0)){h=f[B>>2]|0;f[B>>2]=h+k;h=h+1|0;break}else{f[y>>2]=h+k;f[z>>2]=i-k;break}}while(0);Jo(a,s,h,0,1);t=k}q=u+12|0;if((f[q>>2]|0)>-1){i=f[w>>2]|0;p=i+60|0;r=f[p>>2]|0;f[p>>2]=r+1;p=i+64|0;if(!(r+-1&r)){n=r<<3|4;o=f[i>>2]|0;k=f[p>>2]|0;a:do if(k){l=k;m=o+304|0;if(((f[m>>2]|0)>>>0<=l>>>0?(f[o+308>>2]|0)>>>0>l>>>0:0)?!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)):0){i=k;break}i=Lc(o,k,n,0)|0;if(!i){if(f[o+480>>2]|0){Kc(o,k);i=0;break}if((f[m>>2]|0)>>>0<=l>>>0?(f[o+308>>2]|0)>>>0>l>>>0:0){i=o+300|0;f[k>>2]=f[i>>2];f[i>>2]=k;i=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);i=0;break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);i=0;break}}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];o=o+284|0;f[o>>2]=(f[o>>2]|0)+1;break a}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];o=o+284|0;f[o>>2]=(f[o>>2]|0)+1;break a}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(r<<2)>>2]=-1;o=~r;Ko(a,f[q>>2]|0,o,1,h)}else o=0;n=u+4|0;do if(f[(f[n>>2]|0)+4>>2]&32){if((t|0)>0){m=0;i=s+4|0;while(1){k=Zk(a,f[i>>2]|0)|0;m=m+1|0;l=(k|0)!=0;if(!((m|0)<(t|0)&(l^1)))break;else i=i+20|0}if(!l)K=48}else K=48;if((K|0)==48){K=0;k=f[(f[a>>2]|0)+8>>2]|0}if(!g)if(!(f[D>>2]|0))g=0;else{g=(f[B>>2]|0)+1|0;f[B>>2]=g}i=f[A>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(i|0)){f[A>>2]=i+1;s=f[C>>2]|0;b[s+(i*20|0)>>0]=82;d[s+(i*20|0)+2>>1]=0;f[s+(i*20|0)+4>>2]=g;f[s+(i*20|0)+8>>2]=0;f[s+(i*20|0)+12>>2]=0;f[s+(i*20|0)+16>>2]=0;b[s+(i*20|0)+1>>0]=0}else i=tl(L,82,g,0,0)|0;if(!(b[(f[L>>2]|0)+81>>0]|0)){if((i|0)<0)i=(f[A>>2]|0)+-1|0;l=f[C>>2]|0;m=l+(i*20|0)+1|0;if(b[m>>0]|0){ul(L,l+(i*20|0)|0,k,-2);break}if(k){f[l+(i*20|0)+16>>2]=k;b[m>>0]=-2}}}while(0);i=f[u+8>>2]|0;k=f[A>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(k|0)){f[A>>2]=k+1;s=f[C>>2]|0;b[s+(k*20|0)>>0]=-101;d[s+(k*20|0)+2>>1]=0;f[s+(k*20|0)+4>>2]=0;f[s+(k*20|0)+8>>2]=h;f[s+(k*20|0)+12>>2]=i;f[s+(k*20|0)+16>>2]=0;b[s+(k*20|0)+1>>0]=0}else tl(L,155,0,h,i)|0;i=f[n>>2]|0;k=f[L>>2]|0;do if(b[k+81>>0]|0){if(f[i+4>>2]&16|0){if(k|0){if(f[k+480>>2]|0){Kc(k,i);break}s=i;if((f[k+304>>2]|0)>>>0<=s>>>0?(f[k+308>>2]|0)>>>0>s>>>0:0){s=k+300|0;f[i>>2]=f[s>>2];f[s>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{s=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}}else{r=f[C>>2]|0;s=(f[A>>2]|0)+-1|0;b[r+(s*20|0)+1>>0]=-8;f[r+(s*20|0)+16>>2]=i}while(0);i=f[A>>2]|0;if((i|0)>0)d[(f[C>>2]|0)+((i+-1|0)*20|0)+2>>1]=t&255;if((t|0)==1){if(h|0?(E=b[x>>0]|0,(E&255)<8):0){b[x>>0]=E+1<<24>>24;f[a+144+((E&255)<<2)>>2]=h}}else if((f[z>>2]|0)<(t|0)){f[z>>2]=t;f[y>>2]=h}if(o|0?(F=f[(f[w>>2]|0)+64>>2]|0,F|0):0)f[F+(~o<<2)>>2]=f[A>>2];v=v+1|0;if((v|0)>=(f[G>>2]|0))break;else u=u+16|0}if(g)K=91;else K=90}else K=90;if((K|0)==90)if((c|0)==0|(f[e+36>>2]|0)==0)i=0;else{g=c;K=91}do if((K|0)==91){h=L+136|0;i=f[h>>2]|0;if((f[(f[L+12>>2]|0)+48>>2]|0)>(i|0)){f[h>>2]=i+1;G=f[L+88>>2]|0;b[G+(i*20|0)>>0]=18;d[G+(i*20|0)+2>>1]=0;f[G+(i*20|0)+4>>2]=g;f[G+(i*20|0)+8>>2]=0;f[G+(i*20|0)+12>>2]=0;f[G+(i*20|0)+16>>2]=0;b[G+(i*20|0)+1>>0]=0;break}else{i=tl(L,18,g,0,0)|0;break}}while(0);o=e+36|0;if((f[o>>2]|0)>0){m=f[e+28>>2]|0;n=0;while(1){g=f[m+20>>2]|0;p=f[m+16>>2]|0;do if(g){if((b[g>>0]|0)!=-92){J=xl(a,g,p)|0;K=103;break}l=f[H>>2]|0;g=f[g+28>>2]|0;h=l+136|0;k=f[h>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(k|0)){f[h>>2]=k+1;G=f[l+88>>2]|0;b[G+(k*20|0)>>0]=78;d[G+(k*20|0)+2>>1]=0;f[G+(k*20|0)+4>>2]=g;f[G+(k*20|0)+8>>2]=p;f[G+(k*20|0)+12>>2]=0;f[G+(k*20|0)+16>>2]=0;b[G+(k*20|0)+1>>0]=0;break}else{tl(l,78,g,p,0)|0;break}}else{J=xl(a,0,p)|0;K=103}while(0);do if(((K|0)==103?(K=0,(J|0)!=(p|0)):0)?(I=f[H>>2]|0,I|0):0){g=I+136|0;h=f[g>>2]|0;if((f[(f[I+12>>2]|0)+48>>2]|0)>(h|0)){f[g>>2]=h+1;G=f[I+88>>2]|0;b[G+(h*20|0)>>0]=79;d[G+(h*20|0)+2>>1]=0;f[G+(h*20|0)+4>>2]=J;f[G+(h*20|0)+8>>2]=p;f[G+(h*20|0)+12>>2]=0;f[G+(h*20|0)+16>>2]=0;b[G+(h*20|0)+1>>0]=0;break}else{tl(I,79,J,p,0)|0;break}}while(0);n=n+1|0;if((n|0)>=(f[o>>2]|0))break;else m=m+24|0}}b[e>>0]=0;if(!i)return;h=f[L+136>>2]|0;if(!(b[(f[L>>2]|0)+81>>0]|0))g=(f[L+88>>2]|0)+(((i|0)<0?h+-1|0:i)*20|0)|0;else g=72144;f[g+8>>2]=h;return}function Io(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;v=t;t=t+16|0;u=v;r=f[a+8>>2]|0;s=c+44|0;if((f[s>>2]|0)==(0-(f[c+32>>2]|0)|0)){t=v;return}e=f[c+16>>2]|0;g=f[c+20>>2]|0;p=r+136|0;h=f[p>>2]|0;q=r+12|0;if((f[(f[q>>2]|0)+48>>2]|0)>(h|0)){f[p>>2]=h+1;o=f[r+88>>2]|0;b[o+(h*20|0)>>0]=73;d[o+(h*20|0)+2>>1]=0;f[o+(h*20|0)+4>>2]=0;f[o+(h*20|0)+8>>2]=e;f[o+(h*20|0)+12>>2]=g;f[o+(h*20|0)+16>>2]=0;b[o+(h*20|0)+1>>0]=0}else tl(r,73,0,e,g)|0;if((f[s>>2]|0)<=0){t=v;return}o=r+88|0;m=f[c+40>>2]|0;n=0;while(1){k=m+12|0;do if((f[k>>2]|0)>-1){i=f[(f[m>>2]|0)+20>>2]|0;if(i|0?(f[i>>2]|0)==1:0){h=f[a>>2]|0;c=h+272|0;a:do if(f[c>>2]|0)if(!(b[h+81>>0]|0))l=21;else{i=0;c=1}else{do if((j[h+276>>1]|0)>=30){e=h+300|0;g=f[e>>2]|0;if(g|0){f[e>>2]=f[g>>2];l=h+284|0;f[l>>2]=(f[l>>2]|0)+1;l=22;break a}e=h+296|0;g=f[e>>2]|0;if(!g){e=h+292|0;break}else{f[e>>2]=f[g>>2];l=h+284|0;f[l>>2]=(f[l>>2]|0)+1;l=22;break a}}else e=h+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;l=21}while(0);if((l|0)==21){g=Dc(h,30,0)|0;l=22}do if((l|0)==22){l=0;if(!g){e=h+81|0;if((b[e>>0]|0)==0?(b[h+82>>0]|0)==0:0){b[e>>0]=1;if((f[h+180>>2]|0)>0)f[h+264>>2]=1;f[c>>2]=(f[c>>2]|0)+1}if(!g){i=0;c=1;break}else{h=0;c=1}}else{f[g+16>>2]=g+28;d[g+6>>1]=1;d[g+8>>1]=2;b[g+4>>0]=b[h+78>>0]|0;f[g+12>>2]=h;f[g>>2]=1;h=g+24|0;f[h>>2]=0;d[h+4>>1]=0;h=g;c=0}e=Zk(a,f[i+4>>2]|0)|0;if(!e)e=f[(f[a>>2]|0)+8>>2]|0;f[g+20>>2]=e;b[f[g+16>>2]>>0]=b[i+16>>0]|0;i=h}while(0);g=f[k>>2]|0;e=f[p>>2]|0;if((f[(f[q>>2]|0)+48>>2]|0)>(e|0)){f[p>>2]=e+1;k=f[o>>2]|0;b[k+(e*20|0)>>0]=113;d[k+(e*20|0)+2>>1]=0;f[k+(e*20|0)+4>>2]=g;f[k+(e*20|0)+8>>2]=0;f[k+(e*20|0)+12>>2]=0;f[k+(e*20|0)+16>>2]=0;b[k+(e*20|0)+1>>0]=0}else e=tl(r,113,g,0,0)|0;g=f[r>>2]|0;if(!(b[g+81>>0]|0)){if((e|0)<0)e=(f[p>>2]|0)+-1|0;g=f[o>>2]|0;h=g+(e*20|0)+1|0;if(b[h>>0]|0){ul(r,g+(e*20|0)|0,i,-9);break}if(c)break;f[g+(e*20|0)+16>>2]=i;b[h>>0]=-9;break}if(c|(f[g+480>>2]|0)!=0)break;k=(f[i>>2]|0)+-1|0;f[i>>2]=k;if(k|0)break;e=f[i+12>>2]|0;if(e|0){if(f[e+480>>2]|0){Kc(e,i);break}k=i;if((f[e+304>>2]|0)>>>0<=k>>>0?(f[e+308>>2]|0)>>>0>k>>>0:0){k=e+300|0;f[i>>2]=f[k>>2];f[k>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{k=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}ni(a,57527,u);f[k>>2]=-1}while(0);n=n+1|0;if((n|0)>=(f[s>>2]|0))break;else m=m+16|0}t=v;return}function Jo(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=t;t=t+32|0;B=G;i=h&255;E=79-(i&1)|0;z=f[a+8>>2]|0;j=f[c>>2]|0;if((j|0)<=0){t=G;return}x=((b[a+23>>0]|0)==0?i&253:h)&255;q=(x&4|0)==0;r=(x&2|0)==0;s=B+20|0;u=B+4|0;v=B+8|0;w=B+24|0;x=(x&8|0)==0;y=(E|0)==78;l=g+-1|0;m=z+136|0;n=z+12|0;o=z+88|0;p=E&255;k=c+4|0;h=0;i=j;while(1){g=f[k>>2]|0;do if(!q?(j=d[k+16>>1]|0,A=j&65535,j<<16>>16!=0):0){if(!x){h=h+-1|0;i=i+-1|0;break}g=l+A|0;c=h+e|0;j=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(j|0)){f[m>>2]=j+1;H=f[o>>2]|0;b[H+(j*20|0)>>0]=p;d[H+(j*20|0)+2>>1]=0;f[H+(j*20|0)+4>>2]=g;f[H+(j*20|0)+8>>2]=c;f[H+(j*20|0)+12>>2]=0;f[H+(j*20|0)+16>>2]=0;b[H+(j*20|0)+1>>0]=0;break}else{tl(z,E,g,c,0)|0;break}}else F=10;while(0);a:do if((F|0)==10){F=0;do if(!r){b[s>>0]=2;f[u>>2]=155;f[v>>2]=156;f[w>>2]=0;if(g){oi(B,g)|0;if(!(b[s>>0]|0))break}Pm(a,g,h+e|0)|0;break a}while(0);j=h+e|0;c=xl(a,g,j)|0;if((c|0)!=(j|0)){if(y){if(!(b[(f[z>>2]|0)+81>>0]|0))g=(f[o>>2]|0)+(((f[m>>2]|0)+-1|0)*20|0)|0;else g=72144;if(((b[g>>0]|0)==78?(C=g+12|0,D=(f[C>>2]|0)+1|0,(D+(f[g+4>>2]|0)|0)==(c|0)):0)?(D+(f[g+8>>2]|0)|0)==(j|0):0){f[C>>2]=D;break}}g=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(g|0)){f[m>>2]=g+1;H=f[o>>2]|0;b[H+(g*20|0)>>0]=p;d[H+(g*20|0)+2>>1]=0;f[H+(g*20|0)+4>>2]=c;f[H+(g*20|0)+8>>2]=j;f[H+(g*20|0)+12>>2]=0;f[H+(g*20|0)+16>>2]=0;b[H+(g*20|0)+1>>0]=0;break}else{tl(z,E,c,j,0)|0;break}}}while(0);h=h+1|0;if((h|0)>=(i|0))break;else k=k+20|0}t=G;return}function Ko(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=f[a+8>>2]|0;n=a+19|0;i=b[n>>0]|0;if(!(i<<24>>24)){k=a+44|0;l=(f[k>>2]|0)+1|0;f[k>>2]=l}else{l=i+-1<<24>>24;b[n>>0]=l;l=f[a+144+((l&255)<<2)>>2]|0}k=m+136|0;i=f[k>>2]|0;j=m+12|0;if((f[(f[j>>2]|0)+48>>2]|0)>(i|0)){f[k>>2]=i+1;o=f[m+88>>2]|0;b[o+(i*20|0)>>0]=29;d[o+(i*20|0)+2>>1]=0;f[o+(i*20|0)+4>>2]=c;f[o+(i*20|0)+8>>2]=e;f[o+(i*20|0)+12>>2]=h;f[o+(i*20|0)+16>>2]=0;b[o+(i*20|0)+1>>0]=0}else i=tl(m,29,c,e,h)|0;if(!(b[(f[m>>2]|0)+81>>0]|0)){o=f[m+88>>2]|0;b[o+(i*20|0)+1>>0]=-3;f[o+(i*20|0)+16>>2]=g}i=f[k>>2]|0;if((f[(f[j>>2]|0)+48>>2]|0)>(i|0)){f[k>>2]=i+1;o=f[m+88>>2]|0;b[o+(i*20|0)>>0]=102;d[o+(i*20|0)+2>>1]=0;f[o+(i*20|0)+4>>2]=h;f[o+(i*20|0)+8>>2]=g;f[o+(i*20|0)+12>>2]=l;f[o+(i*20|0)+16>>2]=0;b[o+(i*20|0)+1>>0]=0}else tl(m,102,h,g,l)|0;i=f[k>>2]|0;if((f[(f[j>>2]|0)+48>>2]|0)>(i|0)){f[k>>2]=i+1;o=f[m+88>>2]|0;b[o+(i*20|0)>>0]=-123;d[o+(i*20|0)+2>>1]=0;f[o+(i*20|0)+4>>2]=c;f[o+(i*20|0)+8>>2]=l;f[o+(i*20|0)+12>>2]=h;f[o+(i*20|0)+16>>2]=0;b[o+(i*20|0)+1>>0]=0}else i=tl(m,133,c,l,h)|0;if(!(b[(f[m>>2]|0)+81>>0]|0)){o=f[m+88>>2]|0;b[o+(i*20|0)+1>>0]=-3;f[o+(i*20|0)+16>>2]=g}i=f[k>>2]|0;if((i|0)>0)d[(f[m+88>>2]|0)+((i+-1|0)*20|0)+2>>1]=16;if(!l)return;i=b[n>>0]|0;if((i&255)>=8)return;b[n>>0]=i+1<<24>>24;f[a+144+((i&255)<<2)>>2]=l;return}function Lo(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;h=f[a+24>>2]|0;a:do if((f[h>>2]|0)>0){g=0;while(1){d=f[h+4+(g*20|0)>>2]|0;if((Ck(0,c,d,-1)|0)<2){e=f[a>>2]|0;d=Zk(e,d)|0;if(!d){d=f[(f[e>>2]|0)+8>>2]|0;if(!d){d=1;e=12;break}}if((f[d+12>>2]|0)==85?(f[d+8>>2]|0)==0:0){d=1;e=12;break}}g=g+1|0;if((g|0)>=(f[h>>2]|0))break a}if((e|0)==12)return d|0}while(0);if(!(f[c+4>>2]&2048)){c=jm(a,c)|0;return c|0}else{b[a+20>>0]=0;c=2;return c|0}return 0}function Mo(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;h=f[a+8>>2]|0;if(!h){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;D=sl(a)|0}else D=h;if(!c){i=D+12|0;h=D+136|0}else{i=D+12|0;w=c+36|0;x=a+19|0;y=a+44|0;h=D+136|0;z=D+88|0;do{v=(f[c+32>>2]|0)+32|0;k=f[v>>2]|0;if((k|0)==42328|(k|0)==42338){r=f[c+48>>2]|0;k=f[i>>2]|0;q=k+60|0;s=f[q>>2]|0;f[q>>2]=s+1;q=k+64|0;if(!(s+-1&s)){o=s<<3|4;p=f[k>>2]|0;k=f[q>>2]|0;a:do if(k){m=k;n=p+304|0;if(((f[n>>2]|0)>>>0<=m>>>0?(f[p+308>>2]|0)>>>0>m>>>0:0)?!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0)):0)break;l=Lc(p,k,o,0)|0;if(!l){if(f[p+480>>2]|0){Kc(p,k);k=0;break}if((f[n>>2]|0)>>>0<=m>>>0?(f[p+308>>2]|0)>>>0>m>>>0:0){u=p+300|0;f[k>>2]=f[u>>2];f[u>>2]=k;k=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);k=0;break}else{u=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);k=0;break}}else k=l}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){k=0;break}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){l=p+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];u=p+284|0;f[u>>2]=(f[u>>2]|0)+1;break a}l=p+296|0;k=f[l>>2]|0;if(!k){k=p+292|0;break}else{f[l>>2]=f[k>>2];u=p+284|0;f[u>>2]=(f[u>>2]|0)+1;break a}}else k=p+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(p,o,0)|0}while(0);f[q>>2]=k}else k=f[q>>2]|0;if(k|0)f[k+(s<<2)>>2]=-1;n=~s;k=b[x>>0]|0;if(!(k<<24>>24)){p=(f[y>>2]|0)+1|0;f[y>>2]=p}else{p=k+-1<<24>>24;b[x>>0]=p;p=f[a+144+((p&255)<<2)>>2]|0}o=c+44|0;k=f[o>>2]|0;l=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(l|0)){f[h>>2]=l+1;u=f[z>>2]|0;b[u+(l*20|0)>>0]=73;d[u+(l*20|0)+2>>1]=0;f[u+(l*20|0)+4>>2]=0;f[u+(l*20|0)+8>>2]=k;f[u+(l*20|0)+12>>2]=0;f[u+(l*20|0)+16>>2]=0;b[u+(l*20|0)+1>>0]=0}else tl(D,73,0,k,0)|0;do if((f[v>>2]|0)!=42328){k=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(k|0)){f[h>>2]=k+1;v=f[z>>2]|0;b[v+(k*20|0)>>0]=70;d[v+(k*20|0)+2>>1]=0;f[v+(k*20|0)+4>>2]=1;f[v+(k*20|0)+8>>2]=p;f[v+(k*20|0)+12>>2]=0;f[v+(k*20|0)+16>>2]=0;b[v+(k*20|0)+1>>0]=0;break}else{tl(D,70,1,p,0)|0;break}}else{k=f[w>>2]|0;l=(f[c+68>>2]|0)+1|0;m=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(m|0)){f[h>>2]=m+1;v=f[z>>2]|0;b[v+(m*20|0)>>0]=90;d[v+(m*20|0)+2>>1]=0;f[v+(m*20|0)+4>>2]=k;f[v+(m*20|0)+8>>2]=l;f[v+(m*20|0)+12>>2]=p;f[v+(m*20|0)+16>>2]=0;b[v+(m*20|0)+1>>0]=0}else tl(D,90,k,l,p)|0;No(a,p,2)}while(0);k=c+52|0;l=f[k>>2]|0;m=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(m|0)){f[h>>2]=m+1;v=f[z>>2]|0;b[v+(m*20|0)>>0]=96;d[v+(m*20|0)+2>>1]=0;f[v+(m*20|0)+4>>2]=p;f[v+(m*20|0)+8>>2]=l;f[v+(m*20|0)+12>>2]=p;f[v+(m*20|0)+16>>2]=0;b[v+(m*20|0)+1>>0]=0}else tl(D,96,p,l,p)|0;k=(f[k>>2]|0)+1|0;l=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(l|0)){f[h>>2]=l+1;v=f[z>>2]|0;b[v+(l*20|0)>>0]=54;d[v+(l*20|0)+2>>1]=0;f[v+(l*20|0)+4>>2]=k;f[v+(l*20|0)+8>>2]=n;f[v+(l*20|0)+12>>2]=p;f[v+(l*20|0)+16>>2]=0;b[v+(l*20|0)+1>>0]=0}else tl(D,54,k,n,p)|0;k=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(k|0)){f[h>>2]=k+1;v=f[z>>2]|0;b[v+(k*20|0)>>0]=30;d[v+(k*20|0)+2>>1]=0;f[v+(k*20|0)+4>>2]=r;f[v+(k*20|0)+8>>2]=0;f[v+(k*20|0)+12>>2]=p;f[v+(k*20|0)+16>>2]=0;b[v+(k*20|0)+1>>0]=0}else tl(D,30,r,0,p)|0;m=f[c+68>>2]|0;k=f[o>>2]|0;l=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(l|0)){f[h>>2]=l+1;v=f[z>>2]|0;b[v+(l*20|0)>>0]=90;d[v+(l*20|0)+2>>1]=0;f[v+(l*20|0)+4>>2]=r;f[v+(l*20|0)+8>>2]=m;f[v+(l*20|0)+12>>2]=k;f[v+(l*20|0)+16>>2]=0;b[v+(l*20|0)+1>>0]=0}else tl(D,90,r,m,k)|0;k=f[(f[i>>2]|0)+64>>2]|0;if(k|0)f[k+(s<<2)>>2]=f[h>>2];if(p|0?(A=b[x>>0]|0,(A&255)<8):0){b[x>>0]=A+1<<24>>24;f[a+144+((A&255)<<2)>>2]=p}}else if((k|0)==42350|(k|0)==42355){r=f[f[(f[c+60>>2]|0)+20>>2]>>2]|0;s=f[w>>2]|0;t=f[c+48>>2]|0;k=f[i>>2]|0;q=k+60|0;u=f[q>>2]|0;f[q>>2]=u+1;q=k+64|0;if(!(u+-1&u)){o=u<<3|4;p=f[k>>2]|0;k=f[q>>2]|0;b:do if(k){m=k;n=p+304|0;if(((f[n>>2]|0)>>>0<=m>>>0?(f[p+308>>2]|0)>>>0>m>>>0:0)?!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0)):0)break;l=Lc(p,k,o,0)|0;if(!l){if(f[p+480>>2]|0){Kc(p,k);k=0;break}if((f[n>>2]|0)>>>0<=m>>>0?(f[p+308>>2]|0)>>>0>m>>>0:0){p=p+300|0;f[k>>2]=f[p>>2];f[p>>2]=k;k=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);k=0;break}else{p=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);k=0;break}}else k=l}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){k=0;break}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){l=p+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];p=p+284|0;f[p>>2]=(f[p>>2]|0)+1;break b}l=p+296|0;k=f[l>>2]|0;if(!k){k=p+292|0;break}else{f[l>>2]=f[k>>2];p=p+284|0;f[p>>2]=(f[p>>2]|0)+1;break b}}else k=p+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(p,o,0)|0}while(0);f[q>>2]=k}else k=f[q>>2]|0;if(k|0)f[k+(u<<2)>>2]=-1;o=~u;k=b[x>>0]|0;if(!(k<<24>>24)){p=(f[y>>2]|0)+1|0;f[y>>2]=p}else{p=k+-1<<24>>24;b[x>>0]=p;p=f[a+144+((p&255)<<2)>>2]|0}do if((r|0)<3){k=f[c+44>>2]|0;l=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(l|0)){f[h>>2]=l+1;q=f[z>>2]|0;b[q+(l*20|0)>>0]=73;d[q+(l*20|0)+2>>1]=0;f[q+(l*20|0)+4>>2]=0;f[q+(l*20|0)+8>>2]=k;f[q+(l*20|0)+12>>2]=0;f[q+(l*20|0)+16>>2]=0;b[q+(l*20|0)+1>>0]=0;break}else{tl(D,73,0,k,0)|0;break}}else{k=(f[c+68>>2]|0)+2|0;l=f[c+44>>2]|0;m=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(m|0)){f[h>>2]=m+1;q=f[z>>2]|0;b[q+(m*20|0)>>0]=90;d[q+(m*20|0)+2>>1]=0;f[q+(m*20|0)+4>>2]=s;f[q+(m*20|0)+8>>2]=k;f[q+(m*20|0)+12>>2]=l;f[q+(m*20|0)+16>>2]=0;b[q+(m*20|0)+1>>0]=0;break}else{tl(D,90,s,k,l)|0;break}}while(0);k=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(k|0)){f[h>>2]=k+1;q=f[z>>2]|0;b[q+(k*20|0)>>0]=-127;d[q+(k*20|0)+2>>1]=0;f[q+(k*20|0)+4>>2]=s;f[q+(k*20|0)+8>>2]=p;f[q+(k*20|0)+12>>2]=0;f[q+(k*20|0)+16>>2]=0;b[q+(k*20|0)+1>>0]=0}else tl(D,129,s,p,0)|0;k=(f[v>>2]|0)==42350;do if((r|0)<2){k=k?1:-1;l=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(l|0)){f[h>>2]=l+1;v=f[z>>2]|0;b[v+(l*20|0)>>0]=83;d[v+(l*20|0)+2>>1]=0;f[v+(l*20|0)+4>>2]=p;f[v+(l*20|0)+8>>2]=k;f[v+(l*20|0)+12>>2]=0;f[v+(l*20|0)+16>>2]=0;b[v+(l*20|0)+1>>0]=0;break}else{tl(D,83,p,k,0)|0;break}}else{n=k?96:97;k=b[x>>0]|0;if(!(k<<24>>24)){m=(f[y>>2]|0)+1|0;f[y>>2]=m}else{m=k+-1<<24>>24;b[x>>0]=m;m=f[a+144+((m&255)<<2)>>2]|0}k=(f[c+68>>2]|0)+1|0;l=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(l|0)){f[h>>2]=l+1;v=f[z>>2]|0;b[v+(l*20|0)>>0]=90;d[v+(l*20|0)+2>>1]=0;f[v+(l*20|0)+4>>2]=s;f[v+(l*20|0)+8>>2]=k;f[v+(l*20|0)+12>>2]=m;f[v+(l*20|0)+16>>2]=0;b[v+(l*20|0)+1>>0]=0}else tl(D,90,s,k,m)|0;k=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(k|0)){f[h>>2]=k+1;v=f[z>>2]|0;b[v+(k*20|0)>>0]=n;d[v+(k*20|0)+2>>1]=0;f[v+(k*20|0)+4>>2]=m;f[v+(k*20|0)+8>>2]=p;f[v+(k*20|0)+12>>2]=p;f[v+(k*20|0)+16>>2]=0;b[v+(k*20|0)+1>>0]=0}else tl(D,n,m,p,p)|0;if(m|0?(B=b[x>>0]|0,(B&255)<8):0){b[x>>0]=B+1<<24>>24;f[a+144+((B&255)<<2)>>2]=m}}while(0);k=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(k|0)){f[h>>2]=k+1;v=f[z>>2]|0;b[v+(k*20|0)>>0]=30;d[v+(k*20|0)+2>>1]=0;f[v+(k*20|0)+4>>2]=t;f[v+(k*20|0)+8>>2]=o;f[v+(k*20|0)+12>>2]=p;f[v+(k*20|0)+16>>2]=0;b[v+(k*20|0)+1>>0]=0}else tl(D,30,t,o,p)|0;k=f[c+68>>2]|0;l=f[c+44>>2]|0;m=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(m|0)){f[h>>2]=m+1;v=f[z>>2]|0;b[v+(m*20|0)>>0]=90;d[v+(m*20|0)+2>>1]=0;f[v+(m*20|0)+4>>2]=t;f[v+(m*20|0)+8>>2]=k;f[v+(m*20|0)+12>>2]=l;f[v+(m*20|0)+16>>2]=0;b[v+(m*20|0)+1>>0]=0}else tl(D,90,t,k,l)|0;k=f[(f[i>>2]|0)+64>>2]|0;if(k|0)f[k+(u<<2)>>2]=f[h>>2];if(p|0?(C=b[x>>0]|0,(C&255)<8):0){b[x>>0]=C+1<<24>>24;f[a+144+((C&255)<<2)>>2]=p}}c=f[c+24>>2]|0}while((c|0)!=0)}c=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(c|0)){f[h>>2]=c+1;D=f[D+88>>2]|0;b[D+(c*20|0)>>0]=12;d[D+(c*20|0)+2>>1]=0;f[D+(c*20|0)+4>>2]=e;f[D+(c*20|0)+8>>2]=g;f[D+(c*20|0)+12>>2]=0;f[D+(c*20|0)+16>>2]=0;b[D+(c*20|0)+1>>0]=0;return}else{tl(D,12,e,g,0)|0;return}}function No(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=f[a+8>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;g=sl(a)|0}n=a+19|0;h=b[n>>0]|0;if(!(h<<24>>24)){l=a+44|0;m=(f[l>>2]|0)+1|0;f[l>>2]=m}else{m=h+-1<<24>>24;b[n>>0]=m;m=f[a+144+((m&255)<<2)>>2]|0}k=g+136|0;h=f[k>>2]|0;l=g+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(h|0)){f[k>>2]=h+1;j=f[g+88>>2]|0;b[j+(h*20|0)>>0]=70;d[j+(h*20|0)+2>>1]=0;f[j+(h*20|0)+4>>2]=0;f[j+(h*20|0)+8>>2]=m;f[j+(h*20|0)+12>>2]=0;f[j+(h*20|0)+16>>2]=0;b[j+(h*20|0)+1>>0]=0}else tl(g,70,0,m,0)|0;h=f[k>>2]|0;i=h+2|0;if((f[(f[l>>2]|0)+48>>2]|0)>(h|0)){f[k>>2]=h+1;j=f[g+88>>2]|0;b[j+(h*20|0)>>0]=15;d[j+(h*20|0)+2>>1]=0;f[j+(h*20|0)+4>>2]=c;f[j+(h*20|0)+8>>2]=i;f[j+(h*20|0)+12>>2]=0;f[j+(h*20|0)+16>>2]=0;b[j+(h*20|0)+1>>0]=0}else tl(g,15,c,i,0)|0;i=f[38384+(e<<2)>>2]|0;h=f[k>>2]|0;j=h+2|0;if((f[(f[l>>2]|0)+48>>2]|0)>(h|0)){f[k>>2]=h+1;o=f[g+88>>2]|0;b[o+(h*20|0)>>0]=i;d[o+(h*20|0)+2>>1]=0;f[o+(h*20|0)+4>>2]=m;f[o+(h*20|0)+8>>2]=j;f[o+(h*20|0)+12>>2]=c;f[o+(h*20|0)+16>>2]=0;b[o+(h*20|0)+1>>0]=0}else tl(g,i,m,j,c)|0;h=f[k>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(h|0)){f[k>>2]=h+1;o=f[g+88>>2]|0;b[o+(h*20|0)>>0]=69;d[o+(h*20|0)+2>>1]=0;f[o+(h*20|0)+4>>2]=1;f[o+(h*20|0)+8>>2]=2;f[o+(h*20|0)+12>>2]=0;f[o+(h*20|0)+16>>2]=0;b[o+(h*20|0)+1>>0]=0}else tl(g,69,1,2,0)|0;if(!(b[(f[g>>2]|0)+81>>0]|0)){c=f[38396+(e<<2)>>2]|0;e=f[g+88>>2]|0;o=(f[k>>2]|0)+-1|0;b[e+(o*20|0)+1>>0]=-1;f[e+(o*20|0)+16>>2]=c}if(!m)return;g=b[n>>0]|0;if((g&255)>=8)return;b[n>>0]=g+1<<24>>24;f[a+144+((g&255)<<2)>>2]=m;return}function Oo(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+64|0;j=o+8|0;i=o;e=o+16|0;if(!c){n=0;t=o;return n|0}n=c+4|0;if(f[n>>2]&1|0?(g=c+36|0,(f[a+4>>2]|0)==(d[g>>1]|0)):0)d[g>>1]=f[a+8>>2];switch(b[c>>0]|0){case -98:{if((f[c+28>>2]|0)==(f[a+4>>2]|0)){g=d[c+32>>1]|0;if(g<<16>>16<0){b[c>>0]=110;n=c;t=o;return n|0}l=f[(f[a+16>>2]|0)+4+((g<<16>>16)*20|0)>>2]|0;k=b[l>>0]|0;if(k<<24>>24==-92)g=b[l+38>>0]|0;else g=k;switch(g<<24>>24){case -91:{h=l+20|0;m=15;break}case 127:{h=f[l+20>>2]|0;m=15;break}default:{g=f[a>>2]|0;m=19}}do if((m|0)==15){g=f[a>>2]|0;if((f[f[h>>2]>>2]|0)>=2)if(!(f[l+4>>2]&2048)){ni(g,49666,j);break}else{f[i>>2]=f[f[f[l+20>>2]>>2]>>2];f[i+4>>2]=1;ni(g,54847,i);break}else m=19}while(0);if((m|0)==19){j=f[g>>2]|0;i=a+12|0;if(k<<24>>24==-98|(f[i>>2]|0)==0)if(!l)e=0;else{e=l;m=22}else{g=e;h=g+48|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[e>>0]=-89;f[e+12>>2]=l;f[e+28>>2]=f[a+8>>2];m=22}if((m|0)==22){e=Bk(j,e,0,0)|0;if(e){if(f[i>>2]|0){a=e+4|0;f[a>>2]=f[a>>2]|1048576}if(f[n>>2]&1){d[e+36>>1]=d[c+36>>1]|0;n=e+4|0;f[n>>2]=f[n>>2]|1}}else e=0}ig(j,c);c=e}n=c;t=o;return n|0}break}case -89:{e=c+28|0;if((f[e>>2]|0)==(f[a+4>>2]|0))f[e>>2]=f[a+8>>2];break}default:{}}e=c+12|0;m=Oo(a,f[e>>2]|0)|0;f[e>>2]=m;e=c+16|0;m=Oo(a,f[e>>2]|0)|0;f[e>>2]=m;e=c+20|0;if(f[n>>2]&2048|0){no(a,f[e>>2]|0,1);n=c;t=o;return n|0}g=f[e>>2]|0;if(!g){n=c;t=o;return n|0}if((f[g>>2]|0)<=0){n=c;t=o;return n|0}e=0;do{n=g+4+(e*20|0)|0;m=Oo(a,f[n>>2]|0)|0;f[n>>2]=m;e=e+1|0}while((e|0)<(f[g>>2]|0));t=o;return c|0}function Po(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;v=t;t=t+16|0;q=v;r=f[c+48>>2]|0;s=f[r>>2]|0;p=f[a>>2]|0;k=s+1|0;l=s+2|0;m=l*5|0;h=m+20|0;n=p+272|0;a:do if(f[n>>2]|0)if(!(b[p+81>>0]|0))i=11;else{u=0;t=v;return u|0}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){g=p+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];o=p+284|0;f[o>>2]=(f[o>>2]|0)+1;break a}g=p+296|0;e=f[g>>2]|0;if(!e){e=p+292|0;break}else{f[g>>2]=f[e>>2];o=p+284|0;f[o>>2]=(f[o>>2]|0)+1;break a}}else e=p+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;i=11}while(0);if((i|0)==11)e=Dc(p,h,0)|0;if(!e){g=p+81|0;if((b[g>>0]|0)==0?(b[p+82>>0]|0)==0:0){b[g>>0]=1;if((f[p+180>>2]|0)>0)f[p+264>>2]=1;f[n>>2]=(f[n>>2]|0)+1}if(!e){u=0;t=v;return u|0}}else{f[e+16>>2]=e+20+(l<<2);d[e+6>>1]=k;d[e+8>>1]=l;b[e+4>>0]=b[p+78>>0]|0;f[e+12>>2]=p;f[e>>2]=1;_A(e+24|0,0,m+-4|0)|0}if((s|0)<=0){u=e;t=v;return u|0}o=e+16|0;m=p+8|0;n=q+4|0;l=0;do{k=r+4+(l*20|0)|0;h=f[k>>2]|0;if(!(f[h+4>>2]&256)){g=so(a,c,(j[r+4+(l*20|0)+16>>1]|0)+-1|0)|0;if(!g)g=f[m>>2]|0;i=f[g>>2]|0;f[q>>2]=i;if(i){p=(wz(i)|0)&1073741823;f[n>>2]=p;if((p|0)!=0?(u=Dk(f[a>>2]|0,102,q,0)|0,(u|0)!=0):0){f[u+12>>2]=h;h=u+4|0;f[h>>2]=f[h>>2]|4352;h=u}}else f[n>>2]=0;f[k>>2]=h}else g=Zk(a,h)|0;f[e+20+(l<<2)>>2]=g;b[(f[o>>2]|0)+l>>0]=b[r+4+(l*20|0)+12>>0]|0;l=l+1|0}while((l|0)!=(s|0));t=v;return e|0}function Qo(a,c,e,g,h,i,k,l){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;A=a+8|0;G=f[A>>2]|0;E=G+136|0;F=f[E>>2]|0;C=G+12|0;m=f[C>>2]|0;s=m+60|0;D=f[s>>2]|0;f[s>>2]=D+1;s=m+64|0;if(!(D+-1&D)){q=D<<3|4;r=f[m>>2]|0;m=f[s>>2]|0;a:do if(m){o=m;p=r+304|0;if(((f[p>>2]|0)>>>0<=o>>>0?(f[r+308>>2]|0)>>>0>o>>>0:0)?!(0<0|(0==0?(j[r+276>>1]|0)>>>0>>0:0)):0)break;n=Lc(r,m,q,0)|0;if(!n){if(f[r+480>>2]|0){Kc(r,m);m=0;break}if((f[p>>2]|0)>>>0<=o>>>0?(f[r+308>>2]|0)>>>0>o>>>0:0){v=r+300|0;f[m>>2]=f[v>>2];f[v>>2]=m;m=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);m=0;break}else{v=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);m=0;break}}else m=n}else{if(f[r+272>>2]|0){if(b[r+81>>0]|0){m=0;break}}else{do if(!(0<0|(0==0?(j[r+276>>1]|0)>>>0>>0:0))){n=r+300|0;m=f[n>>2]|0;if(m|0){f[n>>2]=f[m>>2];v=r+284|0;f[v>>2]=(f[v>>2]|0)+1;break a}n=r+296|0;m=f[n>>2]|0;if(!m){m=r+292|0;break}else{f[n>>2]=f[m>>2];v=r+284|0;f[v>>2]=(f[v>>2]|0)+1;break a}}else m=r+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1}m=Dc(r,q,0)|0}while(0);f[s>>2]=m}else m=f[s>>2]|0;if(m|0)f[m+(D<<2)>>2]=-1;v=~D;do if(i|0){m=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(m|0)){f[E>>2]=m+1;u=f[G+88>>2]|0;b[u+(m*20|0)>>0]=20;d[u+(m*20|0)+2>>1]=0;f[u+(m*20|0)+4>>2]=i;f[u+(m*20|0)+8>>2]=0;f[u+(m*20|0)+12>>2]=0;f[u+(m*20|0)+16>>2]=0;b[u+(m*20|0)+1>>0]=0}else m=tl(G,20,i,0,0)|0;s=e+8|0;n=f[s>>2]|0;u=i+1|0;t=e+12|0;o=f[t>>2]|0;r=(k|0)==0;if(!r)f[k>>2]=(f[k>>2]|0)+1;p=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(p|0)){f[E>>2]=p+1;q=f[G+88>>2]|0;b[q+(p*20|0)>>0]=87;d[q+(p*20|0)+2>>1]=0;f[q+(p*20|0)+4>>2]=n;f[q+(p*20|0)+8>>2]=u;f[q+(p*20|0)+12>>2]=o;f[q+(p*20|0)+16>>2]=0;b[q+(p*20|0)+1>>0]=0}else p=tl(G,87,n,u,o)|0;n=f[G>>2]|0;do if(!(b[n+81>>0]|0)){if((p|0)<0)n=(f[E>>2]|0)+-1|0;else n=p;o=f[G+88>>2]|0;q=o+(n*20|0)+1|0;if(b[q>>0]|0){ul(G,o+(n*20|0)|0,k,-9);break}if(!r){f[o+(n*20|0)+16>>2]=k;b[q>>0]=-9}}else if(!(r|(f[n+480>>2]|0)!=0)?(r=(f[k>>2]|0)+-1|0,f[k>>2]=r,(r|0)==0):0){n=f[k+12>>2]|0;if(n|0){if(f[n+480>>2]|0){Kc(n,k);break}r=k;if((f[n+304>>2]|0)>>>0<=r>>>0?(f[n+308>>2]|0)>>>0>r>>>0:0){r=n+300|0;f[k>>2]=f[r>>2];f[r>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{r=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);n=p+2|0;o=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(o|0)){f[E>>2]=o+1;k=f[G+88>>2]|0;b[k+(o*20|0)>>0]=16;d[k+(o*20|0)+2>>1]=0;f[k+(o*20|0)+4>>2]=n;f[k+(o*20|0)+8>>2]=v;f[k+(o*20|0)+12>>2]=n;f[k+(o*20|0)+16>>2]=0;b[k+(o*20|0)+1>>0]=0}else tl(G,16,n,v,n)|0;o=f[E>>2]|0;if(!(b[(f[G>>2]|0)+81>>0]|0))m=(f[G+88>>2]|0)+(((m|0)<0?o+-1|0:m)*20|0)|0;else m=72144;f[m+8>>2]=o;n=f[s>>2]|0;m=(f[t>>2]|0)+-1|0;if((f[(f[C>>2]|0)+48>>2]|0)>(o|0)){f[E>>2]=o+1;k=f[G+88>>2]|0;b[k+(o*20|0)>>0]=78;d[k+(o*20|0)+2>>1]=0;f[k+(o*20|0)+4>>2]=n;f[k+(o*20|0)+8>>2]=u;f[k+(o*20|0)+12>>2]=m;f[k+(o*20|0)+16>>2]=0;b[k+(o*20|0)+1>>0]=0}else tl(G,78,n,u,m)|0;m=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(m|0)){f[E>>2]=m+1;k=f[G+88>>2]|0;b[k+(m*20|0)>>0]=70;d[k+(m*20|0)+2>>1]=0;f[k+(m*20|0)+4>>2]=1;f[k+(m*20|0)+8>>2]=i;f[k+(m*20|0)+12>>2]=0;f[k+(m*20|0)+16>>2]=0;b[k+(m*20|0)+1>>0]=0;break}else{tl(G,70,1,i,0)|0;break}}while(0);if(b[(f[a>>2]|0)+81>>0]|0){G=0;return G|0}m=f[c+16>>2]|0;do if((m|0)>0){n=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(n|0)){f[E>>2]=n+1;i=f[G+88>>2]|0;b[i+(n*20|0)>>0]=47;d[i+(n*20|0)+2>>1]=0;f[i+(n*20|0)+4>>2]=m;f[i+(n*20|0)+8>>2]=v;f[i+(n*20|0)+12>>2]=1;f[i+(n*20|0)+16>>2]=0;b[i+(n*20|0)+1>>0]=0;break}else{tl(G,47,m,v,1)|0;break}}while(0);b:do switch(b[g>>0]|0){case 12:{r=a+19|0;n=b[r>>0]|0;if(n<<24>>24){B=n+-1<<24>>24;b[r>>0]=B;m=f[a+144+((B&255)<<2)>>2]|0;if(!(B<<24>>24))w=77;else{q=n+-2<<24>>24;b[r>>0]=q;p=m;q=f[a+144+((q&255)<<2)>>2]|0}}else{w=a+44|0;m=(f[w>>2]|0)+1|0;f[w>>2]=m;w=77}if((w|0)==77){p=a+44|0;q=(f[p>>2]|0)+1|0;f[p>>2]=q;p=m}o=f[e+8>>2]|0;m=f[e+12>>2]|0;n=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(n|0)){f[E>>2]=n+1;e=f[G+88>>2]|0;b[e+(n*20|0)>>0]=102;d[e+(n*20|0)+2>>1]=0;f[e+(n*20|0)+4>>2]=o;f[e+(n*20|0)+8>>2]=m;f[e+(n*20|0)+12>>2]=p;f[e+(n*20|0)+16>>2]=0;b[e+(n*20|0)+1>>0]=0}else tl(G,102,o,m,p)|0;m=g+4|0;n=f[m>>2]|0;o=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(o|0)){f[E>>2]=o+1;g=f[G+88>>2]|0;b[g+(o*20|0)>>0]=121;d[g+(o*20|0)+2>>1]=0;f[g+(o*20|0)+4>>2]=n;f[g+(o*20|0)+8>>2]=q;f[g+(o*20|0)+12>>2]=0;f[g+(o*20|0)+16>>2]=0;b[g+(o*20|0)+1>>0]=0}else tl(G,121,n,q,0)|0;m=f[m>>2]|0;n=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(n|0)){f[E>>2]=n+1;g=f[G+88>>2]|0;b[g+(n*20|0)>>0]=122;d[g+(n*20|0)+2>>1]=0;f[g+(n*20|0)+4>>2]=m;f[g+(n*20|0)+8>>2]=p;f[g+(n*20|0)+12>>2]=q;f[g+(n*20|0)+16>>2]=0;b[g+(n*20|0)+1>>0]=0}else tl(G,122,m,p,q)|0;m=f[E>>2]|0;if((m|0)>0)d[(f[G+88>>2]|0)+((m+-1|0)*20|0)+2>>1]=8;if(q|0?(y=b[r>>0]|0,(y&255)<8):0){b[r>>0]=y+1<<24>>24;f[a+144+((y&255)<<2)>>2]=q}if(p|0?(z=b[r>>0]|0,(z&255)<8):0){b[r>>0]=z+1<<24>>24;f[a+144+((z&255)<<2)>>2]=p}break}case 11:{u=a+19|0;m=b[u>>0]|0;if(!(m<<24>>24)){A=a+44|0;t=(f[A>>2]|0)+1|0;f[A>>2]=t}else{t=m+-1<<24>>24;b[u>>0]=t;t=f[a+144+((t&255)<<2)>>2]|0}r=e+8|0;n=f[r>>2]|0;s=e+12|0;p=f[s>>2]|0;q=f[g+16>>2]|0;m=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(m|0)){f[E>>2]=m+1;e=f[G+88>>2]|0;b[e+(m*20|0)>>0]=102;d[e+(m*20|0)+2>>1]=0;f[e+(m*20|0)+4>>2]=n;f[e+(m*20|0)+8>>2]=p;f[e+(m*20|0)+12>>2]=t;f[e+(m*20|0)+16>>2]=0;b[e+(m*20|0)+1>>0]=0}else m=tl(G,102,n,p,t)|0;n=f[G>>2]|0;do if(b[n+81>>0]|0){if((p|0)!=-12)qg(n,p,q)}else{if((m|0)<0)m=(f[E>>2]|0)+-1|0;n=f[G+88>>2]|0;o=n+(m*20|0)|0;if((p|0)<=-1?(x=n+(m*20|0)+1|0,(b[x>>0]|0)==0):0){if((p|0)==-3){f[n+(m*20|0)+16>>2]=q;b[x>>0]=-3;break}if(!q)break;f[n+(m*20|0)+16>>2]=q;b[x>>0]=p;if((p|0)!=-12)break;e=q+12|0;f[e>>2]=(f[e>>2]|0)+1;break}ul(G,o,q,p)}while(0);p=f[g+4>>2]|0;n=f[r>>2]|0;o=f[s>>2]|0;m=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(m|0)){f[E>>2]=m+1;g=f[G+88>>2]|0;b[g+(m*20|0)>>0]=-123;d[g+(m*20|0)+2>>1]=0;f[g+(m*20|0)+4>>2]=p;f[g+(m*20|0)+8>>2]=t;f[g+(m*20|0)+12>>2]=n;f[g+(m*20|0)+16>>2]=0;b[g+(m*20|0)+1>>0]=0}else m=tl(G,133,p,t,n)|0;if(!(b[(f[G>>2]|0)+81>>0]|0)){g=f[G+88>>2]|0;b[g+(m*20|0)+1>>0]=-3;f[g+(m*20|0)+16>>2]=o}if(t|0?(B=b[u>>0]|0,(B&255)<8):0){b[u>>0]=B+1<<24>>24;f[a+144+((B&255)<<2)>>2]=t}break}case 10:{q=f[e+8>>2]|0;p=f[g+4>>2]|0;m=f[A>>2]|0;n=m+136|0;o=f[n>>2]|0;if((f[(f[m+12>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;a=f[m+88>>2]|0;b[a+(o*20|0)>>0]=77;d[a+(o*20|0)+2>>1]=0;f[a+(o*20|0)+4>>2]=q;f[a+(o*20|0)+8>>2]=p;f[a+(o*20|0)+12>>2]=1;f[a+(o*20|0)+16>>2]=0;b[a+(o*20|0)+1>>0]=0;break b}else{tl(m,77,q,p,1)|0;break b}}case 13:{r=g+8|0;m=f[r>>2]|0;s=e+12|0;if(!m){q=f[s>>2]|0;do if((q|0)==1){m=a+19|0;n=b[m>>0]|0;if(!(n<<24>>24)){a=a+44|0;m=(f[a>>2]|0)+1|0;f[a>>2]=m;break}else{B=n+-1<<24>>24;b[m>>0]=B;m=f[a+144+((B&255)<<2)>>2]|0;break}}else{n=a+32|0;m=f[n>>2]|0;o=a+28|0;p=f[o>>2]|0;if((p|0)<(q|0)){a=a+44|0;m=f[a>>2]|0;f[a>>2]=m+q;m=m+1|0;break}else{f[n>>2]=m+q;f[o>>2]=p-q;break}}while(0);f[r>>2]=m;f[g+12>>2]=q}r=f[e+8>>2]|0;q=f[s>>2]|0;n=f[A>>2]|0;o=n+136|0;p=f[o>>2]|0;if((f[(f[n+12>>2]|0)+48>>2]|0)>(p|0)){f[o>>2]=p+1;a=f[n+88>>2]|0;b[a+(p*20|0)>>0]=77;d[a+(p*20|0)+2>>1]=0;f[a+(p*20|0)+4>>2]=r;f[a+(p*20|0)+8>>2]=m;f[a+(p*20|0)+12>>2]=q;f[a+(p*20|0)+16>>2]=0;b[a+(p*20|0)+1>>0]=0}else tl(n,77,r,m,q)|0;m=f[g+4>>2]|0;n=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(n|0)){f[E>>2]=n+1;a=f[G+88>>2]|0;b[a+(n*20|0)>>0]=14;d[a+(n*20|0)+2>>1]=0;f[a+(n*20|0)+4>>2]=m;f[a+(n*20|0)+8>>2]=0;f[a+(n*20|0)+12>>2]=0;f[a+(n*20|0)+16>>2]=0;b[a+(n*20|0)+1>>0]=0;break b}else{tl(G,14,m,0,0)|0;break b}}default:{o=f[e+8>>2]|0;m=f[e+12>>2]|0;n=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(n|0)){f[E>>2]=n+1;a=f[G+88>>2]|0;b[a+(n*20|0)>>0]=81;d[a+(n*20|0)+2>>1]=0;f[a+(n*20|0)+4>>2]=o;f[a+(n*20|0)+8>>2]=m;f[a+(n*20|0)+12>>2]=0;f[a+(n*20|0)+16>>2]=0;b[a+(n*20|0)+1>>0]=0;break b}else{tl(G,81,o,m,0)|0;break b}}}while(0);m=f[c+12>>2]|0;do if(m|0){n=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(n|0)){f[E>>2]=n+1;c=f[G+88>>2]|0;b[c+(n*20|0)>>0]=49;d[c+(n*20|0)+2>>1]=0;f[c+(n*20|0)+4>>2]=m;f[c+(n*20|0)+8>>2]=l;f[c+(n*20|0)+12>>2]=0;f[c+(n*20|0)+16>>2]=0;b[c+(n*20|0)+1>>0]=0;break}else{tl(G,49,m,l,0)|0;break}}while(0);n=f[C>>2]|0;m=f[n+64>>2]|0;if(m|0)f[m+(D<<2)>>2]=f[E>>2];m=f[E>>2]|0;if((f[n+48>>2]|0)>(m|0)){f[E>>2]=m+1;G=f[G+88>>2]|0;b[G+(m*20|0)>>0]=66;d[G+(m*20|0)+2>>1]=0;f[G+(m*20|0)+4>>2]=h;f[G+(m*20|0)+8>>2]=0;f[G+(m*20|0)+12>>2]=0;f[G+(m*20|0)+16>>2]=0;b[G+(m*20|0)+1>>0]=0;G=F;return G|0}else{tl(G,66,h,0,0)|0;G=F;return G|0}return 0}function Ro(a,c,e,g,h,i,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;C=a+8|0;I=f[C>>2]|0;D=c+32|0;s=b[D>>0]&1;u=s<<24>>24==0;s=(s^1)&255;A=f[f[c>>2]>>2]|0;G=A+s+i|0;B=c+4|0;H=f[B>>2]|0;t=(k|0)==0;if(t){F=a+44|0;E=f[F>>2]|0;f[F>>2]=E+G;E=E+1|0}else E=g-k|0;k=f[e+16>>2]|0;if(!k)z=f[e+12>>2]|0;else z=k+1|0;F=I+12|0;k=f[F>>2]|0;q=k+60|0;r=f[q>>2]|0;f[q>>2]=r+1;q=k+64|0;if(!(r+-1&r)){o=r<<3|4;p=f[k>>2]|0;k=f[q>>2]|0;a:do if(k){m=k;n=p+304|0;if(((f[n>>2]|0)>>>0<=m>>>0?(f[p+308>>2]|0)>>>0>m>>>0:0)?!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0)):0)break;l=Lc(p,k,o,0)|0;if(!l){if(f[p+480>>2]|0){Kc(p,k);k=0;break}if((f[n>>2]|0)>>>0<=m>>>0?(f[p+308>>2]|0)>>>0>m>>>0:0){y=p+300|0;f[k>>2]=f[y>>2];f[y>>2]=k;k=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);k=0;break}else{y=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);k=0;break}}else k=l}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){k=0;break}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){l=p+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];y=p+284|0;f[y>>2]=(f[y>>2]|0)+1;break a}l=p+296|0;k=f[l>>2]|0;if(!k){k=p+292|0;break}else{f[l>>2]=f[k>>2];y=p+284|0;f[y>>2]=(f[y>>2]|0)+1;break a}}else k=p+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(p,o,0)|0}while(0);f[q>>2]=k}else k=f[q>>2]|0;if(k|0)f[k+(r<<2)>>2]=-1;y=c+24|0;f[y>>2]=~r;Jo(a,f[c>>2]|0,E,h,(h|0)==0?1:5);do if(u){k=f[c+8>>2]|0;l=E+A|0;m=I+136|0;n=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;x=f[I+88>>2]|0;b[x+(n*20|0)>>0]=120;d[x+(n*20|0)+2>>1]=0;f[x+(n*20|0)+4>>2]=k;f[x+(n*20|0)+8>>2]=l;f[x+(n*20|0)+12>>2]=0;f[x+(n*20|0)+16>>2]=0;b[x+(n*20|0)+1>>0]=0;break}else{tl(I,120,k,l,0)|0;break}}while(0);do if((i|0)>0&t){l=E+A+s|0;k=f[C>>2]|0;m=k+136|0;n=f[m>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;x=f[k+88>>2]|0;b[x+(n*20|0)>>0]=77;d[x+(n*20|0)+2>>1]=0;f[x+(n*20|0)+4>>2]=g;f[x+(n*20|0)+8>>2]=l;f[x+(n*20|0)+12>>2]=i;f[x+(n*20|0)+16>>2]=0;b[x+(n*20|0)+1>>0]=0;break}else{tl(k,77,g,l,i)|0;break}}while(0);if((H|0)>0){l=f[B>>2]|0;o=f[C>>2]|0;v=a+44|0;p=(f[v>>2]|0)+1|0;f[v>>2]=p;k=f[c+36>>2]|0;if(k|0)Jo(a,f[e>>2]|0,f[k>>2]|0,0,b[k+4>>0]|0);n=l+E|0;k=G-l|0;l=o+136|0;m=f[l>>2]|0;if((f[(f[o+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;x=f[o+88>>2]|0;b[x+(m*20|0)>>0]=102;d[x+(m*20|0)+2>>1]=0;f[x+(m*20|0)+4>>2]=n;f[x+(m*20|0)+8>>2]=k;f[x+(m*20|0)+12>>2]=p;f[x+(m*20|0)+16>>2]=0;b[x+(m*20|0)+1>>0]=0}else tl(o,102,n,k,p)|0;i=f[v>>2]|0;x=i+1|0;n=f[B>>2]|0;f[v>>2]=n+i;do if(u){k=E+A|0;m=I+136|0;l=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;i=f[I+88>>2]|0;b[i+(l*20|0)>>0]=20;d[i+(l*20|0)+2>>1]=0;f[i+(l*20|0)+4>>2]=k;f[i+(l*20|0)+8>>2]=0;f[i+(l*20|0)+12>>2]=0;f[i+(l*20|0)+16>>2]=0;b[i+(l*20|0)+1>>0]=0;i=l;u=m;break}else{i=tl(I,20,k,0,0)|0;u=m;break}}else{k=f[c+8>>2]|0;m=I+136|0;l=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;i=f[I+88>>2]|0;b[i+(l*20|0)>>0]=115;d[i+(l*20|0)+2>>1]=0;f[i+(l*20|0)+4>>2]=k;f[i+(l*20|0)+8>>2]=0;f[i+(l*20|0)+12>>2]=0;f[i+(l*20|0)+16>>2]=0;b[i+(l*20|0)+1>>0]=0;i=l;u=m;break}else{i=tl(I,115,k,0,0)|0;u=m;break}}while(0);k=f[B>>2]|0;l=f[u>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[u>>2]=l+1;g=f[I+88>>2]|0;b[g+(l*20|0)>>0]=87;d[g+(l*20|0)+2>>1]=0;f[g+(l*20|0)+4>>2]=x;f[g+(l*20|0)+8>>2]=E;f[g+(l*20|0)+12>>2]=k;f[g+(l*20|0)+16>>2]=0;b[g+(l*20|0)+1>>0]=0}else tl(I,87,x,E,k)|0;k=f[c+20>>2]|0;if((k|0)<0)k=(f[u>>2]|0)+-1|0;if(!(b[(f[I>>2]|0)+81>>0]|0))k=(f[I+88>>2]|0)+(k*20|0)|0;else k=72144;if(b[(f[a>>2]|0)+81>>0]|0)return;f[k+8>>2]=G-n;g=k+16|0;n=f[g>>2]|0;o=n+6|0;_A(f[n+16>>2]|0,0,j[o>>1]|0)|0;k=f[I>>2]|0;b:do if(!(b[k+81>>0]|0)){k=(f[u>>2]|0)+-1|0;l=f[I+88>>2]|0;m=l+(k*20|0)+1|0;if(b[m>>0]|0){ul(I,l+(k*20|0)|0,n,-9);break}if(n|0){f[l+(k*20|0)+16>>2]=n;b[m>>0]=-9}}else if(!((n|0)==0|(f[k+480>>2]|0)!=0)?(t=(f[n>>2]|0)+-1|0,f[n>>2]=t,(t|0)==0):0){k=f[n+12>>2]|0;do if(k|0){if(f[k+480>>2]|0){Kc(k,n);break b}l=n;if((f[k+304>>2]|0)>>>0>l>>>0)break;if((f[k+308>>2]|0)>>>0<=l>>>0)break;t=k+300|0;f[n>>2]=f[t>>2];f[t>>2]=n;break b}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{t=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);s=f[c>>2]|0;h=f[a>>2]|0;t=f[s>>2]|0;r=t-H|0;n=r+((j[n+8>>1]|0)-(j[o>>1]|0))|0;o=n*5|0;m=o+20|0;q=h+272|0;c:do if(f[q>>2]|0)if(!(b[h+81>>0]|0))w=91;else k=0;else{do if(!(0<0|(0==0?(j[h+276>>1]|0)>>>0>>0:0))){l=h+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];w=h+284|0;f[w>>2]=(f[w>>2]|0)+1;w=92;break c}l=h+296|0;k=f[l>>2]|0;if(!k){k=h+292|0;break}else{f[l>>2]=f[k>>2];w=h+284|0;f[w>>2]=(f[w>>2]|0)+1;w=92;break c}}else k=h+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;w=91}while(0);if((w|0)==91){k=Dc(h,m,0)|0;w=92}if((w|0)==92){do if(!k){l=h+81|0;if(b[l>>0]|0)break;if(b[h+82>>0]|0)break;b[l>>0]=1;if((f[h+180>>2]|0)>0)f[h+264>>2]=1;f[q>>2]=(f[q>>2]|0)+1}else{f[k+16>>2]=k+20+(n<<2);d[k+6>>1]=r;d[k+8>>1]=n;b[k+4>>0]=b[h+78>>0]|0;f[k+12>>2]=h;f[k>>2]=1;_A(k+24|0,0,o+-4|0)|0}while(0);if((t|0)>(H|0)&(k|0)!=0){o=k+16|0;m=s+4+(H*20|0)|0;n=H;while(1){l=Zk(a,f[m>>2]|0)|0;if(!l)l=f[(f[a>>2]|0)+8>>2]|0;w=n-H|0;f[k+20+(w<<2)>>2]=l;b[(f[o>>2]|0)+w>>0]=b[m+12>>0]|0;n=n+1|0;if((n|0)==(t|0))break;else m=m+20|0}}}f[g>>2]=k;s=f[u>>2]|0;k=s+1|0;if((f[(f[F>>2]|0)+48>>2]|0)>(s|0)){f[u>>2]=k;w=f[I+88>>2]|0;b[w+(s*20|0)>>0]=16;d[w+(s*20|0)+2>>1]=0;f[w+(s*20|0)+4>>2]=k;f[w+(s*20|0)+8>>2]=0;f[w+(s*20|0)+12>>2]=k;f[w+(s*20|0)+16>>2]=0;b[w+(s*20|0)+1>>0]=0}else tl(I,16,k,0,k)|0;k=f[F>>2]|0;r=k+60|0;h=f[r>>2]|0;f[r>>2]=h+1;r=k+64|0;if(!(h+-1&h)){o=h<<3|4;q=f[k>>2]|0;k=f[r>>2]|0;d:do if(k){m=k;n=q+304|0;do if((f[n>>2]|0)>>>0<=m>>>0){if((f[q+308>>2]|0)>>>0<=m>>>0)break;if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0)))break d}while(0);l=Lc(q,k,o,0)|0;if(l|0){k=l;break}if(f[q+480>>2]|0){Kc(q,k);k=0;break}do if((f[n>>2]|0)>>>0<=m>>>0){if((f[q+308>>2]|0)>>>0<=m>>>0)break;w=q+300|0;f[k>>2]=f[w>>2];f[w>>2]=k;k=0;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);k=0;break}else{w=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);k=0;break}}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){k=0;break}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){l=q+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];w=q+284|0;f[w>>2]=(f[w>>2]|0)+1;break d}l=q+296|0;k=f[l>>2]|0;if(!k){k=q+292|0;break}else{f[l>>2]=f[k>>2];w=q+284|0;f[w>>2]=(f[w>>2]|0)+1;break d}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(q,o,0)|0}while(0);f[r>>2]=k}else k=f[r>>2]|0;if(k|0)f[k+(h<<2)>>2]=-1;l=~h;f[c+16>>2]=l;m=(f[v>>2]|0)+1|0;f[v>>2]=m;f[c+12>>2]=m;k=f[u>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(k|0)){f[u>>2]=k+1;w=f[I+88>>2]|0;b[w+(k*20|0)>>0]=12;d[w+(k*20|0)+2>>1]=0;f[w+(k*20|0)+4>>2]=m;f[w+(k*20|0)+8>>2]=l;f[w+(k*20|0)+12>>2]=0;f[w+(k*20|0)+16>>2]=0;b[w+(k*20|0)+1>>0]=0}else tl(I,12,m,l,0)|0;k=f[c+8>>2]|0;l=f[u>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[u>>2]=l+1;w=f[I+88>>2]|0;b[w+(l*20|0)>>0]=-117;d[w+(l*20|0)+2>>1]=0;f[w+(l*20|0)+4>>2]=k;f[w+(l*20|0)+8>>2]=0;f[w+(l*20|0)+12>>2]=0;f[w+(l*20|0)+16>>2]=0;b[w+(l*20|0)+1>>0]=0}else tl(I,139,k,0,0)|0;do if(z|0){k=f[y>>2]|0;l=f[u>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[u>>2]=l+1;y=f[I+88>>2]|0;b[y+(l*20|0)>>0]=20;d[y+(l*20|0)+2>>1]=0;f[y+(l*20|0)+4>>2]=z;f[y+(l*20|0)+8>>2]=k;f[y+(l*20|0)+12>>2]=0;f[y+(l*20|0)+16>>2]=0;b[y+(l*20|0)+1>>0]=0;break}else{tl(I,20,z,k,0)|0;break}}while(0);l=f[u>>2]|0;if(!(b[(f[I>>2]|0)+81>>0]|0))k=(f[I+88>>2]|0)+(((i|0)<0?l+-1|0:i)*20|0)|0;else k=72144;f[k+8>>2]=l;l=f[B>>2]|0;k=f[C>>2]|0;m=k+136|0;n=f[m>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;y=f[k+88>>2]|0;b[y+(n*20|0)>>0]=77;d[y+(n*20|0)+2>>1]=0;f[y+(n*20|0)+4>>2]=E;f[y+(n*20|0)+8>>2]=x;f[y+(n*20|0)+12>>2]=l;f[y+(n*20|0)+16>>2]=0;b[y+(n*20|0)+1>>0]=0}else tl(k,77,E,x,l)|0;l=f[u>>2]|0;if(!(b[(f[I>>2]|0)+81>>0]|0))k=(f[I+88>>2]|0)+(((s|0)<0?l+-1|0:s)*20|0)|0;else k=72144;f[k+8>>2]=l}else p=0;do if(z){n=f[c+8>>2]|0;m=I+136|0;k=f[m>>2]|0;l=k+4|0;if((f[(f[F>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;y=f[I+88>>2]|0;b[y+(k*20|0)>>0]=48;d[y+(k*20|0)+2>>1]=0;f[y+(k*20|0)+4>>2]=z;f[y+(k*20|0)+8>>2]=l;f[y+(k*20|0)+12>>2]=0;f[y+(k*20|0)+16>>2]=0;b[y+(k*20|0)+1>>0]=0}else tl(I,48,z,l,0)|0;k=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;z=f[I+88>>2]|0;b[z+(k*20|0)>>0]=32;d[z+(k*20|0)+2>>1]=0;f[z+(k*20|0)+4>>2]=n;f[z+(k*20|0)+8>>2]=0;f[z+(k*20|0)+12>>2]=0;f[z+(k*20|0)+16>>2]=0;b[z+(k*20|0)+1>>0]=0}else tl(I,32,n,0,0)|0;l=E+H|0;k=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;z=f[I+88>>2]|0;b[z+(k*20|0)>>0]=37;d[z+(k*20|0)+2>>1]=0;f[z+(k*20|0)+4>>2]=n;f[z+(k*20|0)+8>>2]=0;f[z+(k*20|0)+12>>2]=l;f[z+(k*20|0)+16>>2]=0;b[z+(k*20|0)+1>>0]=0}else k=tl(I,37,n,0,l)|0;if(!(b[(f[I>>2]|0)+81>>0]|0)){z=f[I+88>>2]|0;b[z+(k*20|0)+1>>0]=-3;f[z+(k*20|0)+16>>2]=A-H}l=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;A=f[I+88>>2]|0;b[A+(l*20|0)>>0]=124;d[A+(l*20|0)+2>>1]=0;f[A+(l*20|0)+4>>2]=n;f[A+(l*20|0)+8>>2]=0;f[A+(l*20|0)+12>>2]=0;f[A+(l*20|0)+16>>2]=0;b[A+(l*20|0)+1>>0]=0;break}else{tl(I,124,n,0,0)|0;break}}else k=0;while(0);do if(!p){m=f[B>>2]|0;q=f[C>>2]|0;l=a+44|0;p=(f[l>>2]|0)+1|0;f[l>>2]=p;l=f[c+36>>2]|0;if(l|0)Jo(a,f[e>>2]|0,f[l>>2]|0,0,b[l+4>>0]|0);o=m+E|0;l=G-m|0;m=q+136|0;n=f[m>>2]|0;if((f[(f[q+12>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;e=f[q+88>>2]|0;b[e+(n*20|0)>>0]=102;d[e+(n*20|0)+2>>1]=0;f[e+(n*20|0)+4>>2]=o;f[e+(n*20|0)+8>>2]=l;f[e+(n*20|0)+12>>2]=p;f[e+(n*20|0)+16>>2]=0;b[e+(n*20|0)+1>>0]=0;break}else{tl(q,102,o,l,p)|0;break}}while(0);n=133-(b[D>>0]&1)|0;o=f[c+8>>2]|0;m=E+H|0;q=I+136|0;l=f[q>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[q>>2]=l+1;F=f[I+88>>2]|0;b[F+(l*20|0)>>0]=n;d[F+(l*20|0)+2>>1]=0;f[F+(l*20|0)+4>>2]=o;f[F+(l*20|0)+8>>2]=p;f[F+(l*20|0)+12>>2]=m;f[F+(l*20|0)+16>>2]=0;b[F+(l*20|0)+1>>0]=0}else l=tl(I,n,o,p,m)|0;if(!(b[(f[I>>2]|0)+81>>0]|0)){F=f[I+88>>2]|0;b[F+(l*20|0)+1>>0]=-3;f[F+(l*20|0)+16>>2]=G-H}if(!k)return;l=f[c+28>>2]|0;if(!l){l=f[q>>2]|0;if(!(b[(f[I>>2]|0)+81>>0]|0))k=(f[I+88>>2]|0)+(((k|0)<0?l+-1|0:k)*20|0)|0;else k=72144;f[k+8>>2]=l;return}if((k|0)<0)k=(f[q>>2]|0)+-1|0;if(!(b[(f[I>>2]|0)+81>>0]|0))k=(f[I+88>>2]|0)+(k*20|0)|0;else k=72144;f[k+8>>2]=l;return}function So(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+32|0;y=D+16|0;w=D+8|0;m=D;l=D+28|0;B=f[a>>2]|0;C=B+16|0;v=f[C>>2]|0;A=a+8|0;i=f[A>>2]|0;j=a+116|0;if(!i){if((f[j>>2]|0)==0?(d[B+76>>1]&8)==0:0)b[a+23>>0]=1;z=sl(a)|0}else z=i;q=f[j>>2]|0;q=(q|0)==0?a:q;i=q+84|0;j=f[i>>2]|0;p=1<>2]=j|p,(e|0)==1):0)?(s=f[q>>2]|0,k=s+16|0,(f[(f[k>>2]|0)+20>>2]|0)==0):0)?(b[q+195>>0]|0)==0:0){i=cj(f[s>>2]|0,0,s,l,0,542)|0;if(i|0){ni(q,51535,m);f[q+12>>2]=i;break}n=f[l>>2]|0;f[(f[k>>2]|0)+20>>2]=n;i=f[s+92>>2]|0;k=f[n+4>>2]|0;f[k+4>>2]=f[n>>2];if(!(d[k+22>>1]&2)){l=k+32|0;m=k+36|0;n=(f[l>>2]|0)-(f[m>>2]|0)|0;if(((i+-512|0)>>>0<65025?(i+-1&i|0)==0:0)?(f[l>>2]=i,r=k+80|0,o=f[r>>2]|0,o|0):0){j=o+-4|0;f[r>>2]=j;i=j;do if((f[18022]|0)>>>0<=i>>>0)if((f[18023]|0)>>>0>i>>>0){f[18188]=(f[18188]|0)+-1;f[j>>2]=f[18025];f[18025]=j;o=(f[18026]|0)+1|0;f[18026]=o;f[18027]=(o|0)<(f[18021]|0)&1;break}else{i=ib[f[37368>>2]&255](j)|0;x=21;break}else{i=ib[f[37368>>2]&255](j)|0;x=21}while(0);do if((x|0)==21){f[18189]=(f[18189]|0)-i;if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{o=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);f[r>>2]=0}r=ih(f[k>>2]|0,l,n)|0;f[m>>2]=(f[l>>2]|0)-(n&65535);if((r|0)==7){i=s+81|0;if((b[i>>0]|0)==0?(b[s+82>>0]|0)==0:0){b[i>>0]=1;if((f[s+180>>2]|0)>0)f[s+264>>2]=1;s=s+272|0;f[s>>2]=(f[s>>2]|0)+1}break}}}while(0);s=q+80|0;f[s>>2]=f[s>>2]|p;q=q+20|0;b[q>>0]=b[q>>0]|1;q=c+56|0;do if(f[q>>2]|0){i=z+136|0;j=f[i>>2]|0;if((f[(f[z+12>>2]|0)+48>>2]|0)>(j|0)){f[i>>2]=j+1;i=f[z+88>>2]|0;b[i+(j*20|0)>>0]=-95;i=i+(j*20|0)+1|0;j=i+19|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(j|0));break}else{tl(z,161,0,0,0)|0;break}}while(0);i=f[(f[(f[a>>2]|0)+16>>2]|0)+28>>2]|0;do if(!(b[a+142>>0]|0)){p=f[c+72>>2]|0;if((p|0)!=(i|0)?(u=f[i+48>>2]|0,(u|0)!=0):0){o=c+68|0;n=u;i=0;do{m=f[n+8>>2]|0;if((f[m+24>>2]|0)==(p|0)){k=f[m+4>>2]|0;l=f[c>>2]|0;u=b[k>>0]|0;j=(h[1232+(u&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0;if(!(u<<24>>24==0|(j|0)!=0))do{k=k+1|0;l=l+1|0;u=b[k>>0]|0;j=(h[1232+(u&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(j|0)!=0));if(!j){if(!i)i=f[o>>2]|0;f[m+32>>2]=i;i=m}}n=f[n>>2]|0}while((n|0)!=0);if(!i)x=51}else x=51;if((x|0)==51){i=f[c+68>>2]|0;if(!i)break}do{$l(a,i);i=f[i+32>>2]|0}while((i|0)!=0)}while(0);i=v+(e<<4)|0;if(!(f[c+36>>2]&8))p=c;else{p=f[c>>2]|0;f[w>>2]=f[i>>2];f[w+4>>2]=p;Tl(a,57978,w);p=c}x=f[p>>2]|0;f[y>>2]=f[i>>2];f[y+4>>2]=43770;f[y+8>>2]=x;Tl(a,58023,y);a:do if(!g)if(!(f[q>>2]|0)){n=f[c+28>>2]|0;o=c+8|0;m=c+72|0;k=0;while(1){l=(k|0)==0;j=l|(n|0)<(k|0)?n:0;i=f[o>>2]|0;if(i)do{c=f[i+44>>2]|0;j=(c|0)>(j|0)&(l|(c|0)<(k|0))?c:j;i=f[i+20>>2]|0}while((i|0)!=0);if(!j){x=68;break a}k=f[m>>2]|0;if(!k)i=-1e6;else{l=f[(f[a>>2]|0)+16>>2]|0;i=0;while(1)if((f[l+(i<<4)+12>>2]|0)==(k|0))break;else i=i+1|0}Ul(a,j,i);k=j}}else x=70;else x=68;while(0);if((x|0)==68)if(!(f[q>>2]|0)){l=z+136|0;j=z+12|0}else x=70;if((x|0)==70){k=f[p>>2]|0;l=z+136|0;i=f[l>>2]|0;j=z+12|0;if((f[(f[j>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;c=f[z+88>>2]|0;b[c+(i*20|0)>>0]=-93;d[c+(i*20|0)+2>>1]=0;f[c+(i*20|0)+4>>2]=e;f[c+(i*20|0)+8>>2]=0;f[c+(i*20|0)+12>>2]=0;f[c+(i*20|0)+16>>2]=0;b[c+(i*20|0)+1>>0]=0}else i=tl(z,163,e,0,0)|0;if(!(b[(f[z>>2]|0)+81>>0]|0)){if((i|0)<0)i=(f[l>>2]|0)+-1|0;ul(z,(f[z+88>>2]|0)+(i*20|0)|0,k,0)}}k=f[p>>2]|0;i=f[l>>2]|0;if((f[(f[j>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;c=f[z+88>>2]|0;b[c+(i*20|0)>>0]=-111;d[c+(i*20|0)+2>>1]=0;f[c+(i*20|0)+4>>2]=e;f[c+(i*20|0)+8>>2]=0;f[c+(i*20|0)+12>>2]=0;f[c+(i*20|0)+16>>2]=0;b[c+(i*20|0)+1>>0]=0}else i=tl(z,145,e,0,0)|0;if(!(b[(f[z>>2]|0)+81>>0]|0)){if((i|0)<0)i=(f[l>>2]|0)+-1|0;ul(z,(f[z+88>>2]|0)+(i*20|0)|0,k,0)}l=f[A>>2]|0;i=(f[f[(f[(f[a>>2]|0)+16>>2]|0)+(e<<4)+12>>2]>>2]|0)+1|0;j=l+136|0;k=f[j>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(k|0)){f[j>>2]=k+1;a=f[l+88>>2]|0;b[a+(k*20|0)>>0]=107;d[a+(k*20|0)+2>>1]=0;f[a+(k*20|0)+4>>2]=e;f[a+(k*20|0)+8>>2]=1;f[a+(k*20|0)+12>>2]=i;f[a+(k*20|0)+16>>2]=0;b[a+(k*20|0)+1>>0]=0}else tl(l,107,e,1,i)|0;k=f[(f[C>>2]|0)+(e<<4)+12>>2]|0;j=k+78|0;i=d[j>>1]|0;if(!(i&2)){t=D;return}k=f[k+16>>2]|0;if(k){p=B+480|0;q=B+304|0;r=B+308|0;s=B+300|0;do{i=f[k+8>>2]|0;if(f[i+12>>2]|0){o=i+4|0;j=f[o>>2]|0;b:do if(j){i=i+42|0;if((d[i>>1]|0)>0){n=0;while(1){l=f[j>>2]|0;c:do if(l|0){if(f[p>>2]|0){Kc(B,l);break}m=l;do if((f[q>>2]|0)>>>0<=m>>>0){if((f[r>>2]|0)>>>0<=m>>>0)break;f[l>>2]=f[s>>2];f[s>>2]=l;break c}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{a=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);l=f[j+4>>2]|0;if(l|0)ig(B,l);l=f[j+8>>2]|0;d:do if(l|0){if(f[p>>2]|0){Kc(B,l);break}m=l;do if((f[q>>2]|0)>>>0<=m>>>0){if((f[r>>2]|0)>>>0<=m>>>0)break;f[l>>2]=f[s>>2];f[s>>2]=l;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{a=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);n=n+1|0;if((n|0)>=(d[i>>1]|0))break;else j=j+16|0}j=f[o>>2]|0}if(j){if(f[p>>2]|0){Kc(B,j);break}l=j;do if((f[q>>2]|0)>>>0<=l>>>0){if((f[r>>2]|0)>>>0<=l>>>0)break;f[j>>2]=f[s>>2];f[s>>2]=j;break b}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{a=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}}else i=i+42|0;while(0);f[o>>2]=0;d[i>>1]=0}k=f[k>>2]|0}while((k|0)!=0);i=(f[(f[C>>2]|0)+(e<<4)+12>>2]|0)+78|0;j=i;i=d[i>>1]|0}d[j>>1]=i&-3;t=D;return}function To(a){a=a|0;var b=0,c=0,e=0,g=0,i=0,k=0;i=f[(f[a+12>>2]|0)+4>>2]|0;b=d[a+52>>1]|0;if(!(b<<16>>16)){k=0;a=a+48|0;d[a>>1]=k;return}k=f[a+4>>2]|0;g=b&65535;c=0;e=0;do{b=d[k+(c<<1)>>1]|0;if(b<<16>>16<0)b=1;else b=h[i+(b<<16>>16<<4)+14>>0]|0;e=b+e|0;c=c+1|0}while(c>>>0>>0);b=e<<2;if(b>>>0>=8){if(b>>>0>255){e=40;c=0;do{e=(e&65535)+40|0;k=b;b=VA(b|0,c|0,4)|0;i=c;c=ba()|0}while(i>>>0>0|(i|0)==0&k>>>0>4095);e=e&65535}else{e=40;c=0}if(c>>>0>0|(c|0)==0&b>>>0>15)do{e=(e&65535)+10&65535;k=b;b=VA(b|0,c|0,1)|0;i=c;c=ba()|0}while(i>>>0>0|(i|0)==0&k>>>0>31)}else{if(!b){k=0;a=a+48|0;d[a>>1]=k;return}e=40;c=0;do{e=(e&65535)+65526|0;b=WA(b|0,c|0,1)|0;c=ba()|0}while(c>>>0<0|(c|0)==0&b>>>0<8);e=e&65535}k=(e&65535)+65526+(j[7936+((b&7)<<1)>>1]|0)&65535;a=a+48|0;d[a>>1]=k;return}function Uo(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+32|0;s=x+16|0;v=x+8|0;m=x;w=f[a+8>>2]|0;if(f[c+4>>2]&1024|0){k=f[c+8>>2]|0;k=(e|0)==0?k:0-k|0;c=w+136|0;i=f[c>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(i|0)){f[c>>2]=i+1;w=f[w+88>>2]|0;b[w+(i*20|0)>>0]=70;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=k;f[w+(i*20|0)+8>>2]=g;f[w+(i*20|0)+12>>2]=0;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0;t=x;return}else{tl(w,70,k,g,0)|0;t=x;return}}q=f[c+8>>2]|0;c=Wm(q,m)|0;r=(e|0)!=0;do if(!((c|0)==2|(r|(c|0)!=3)^1)?(n=m,l=f[n>>2]|0,n=f[n+4>>2]|0,!(r&((l|0)==0&(n|0)==-2147483648))):0){if(r){c=(c|0)==3;l=LA(0,0,l|0,n|0)|0;n=ba()|0;l=c?0:l;n=c?-2147483648:n;f[m>>2]=l;f[m+4>>2]=n}m=f[w>>2]|0;a:do if(f[m+272>>2]|0){if(!(b[m+81>>0]|0))u=68}else{do if((j[m+276>>1]|0)>=8){c=m+300|0;k=f[c>>2]|0;if(k|0){f[c>>2]=f[k>>2];u=m+284|0;f[u>>2]=(f[u>>2]|0)+1;u=69;break a}c=m+296|0;k=f[c>>2]|0;if(!k){c=m+292|0;break}else{f[c>>2]=f[k>>2];u=m+284|0;f[u>>2]=(f[u>>2]|0)+1;u=69;break a}}else c=m+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;u=68}while(0);if((u|0)==68){k=Dc(m,8,0)|0;u=69}if((u|0)==69?k|0:0){m=k;c=m;b[c>>0]=l;b[c+1>>0]=l>>8;b[c+2>>0]=l>>16;b[c+3>>0]=l>>24;m=m+4|0;b[m>>0]=n;b[m+1>>0]=n>>8;b[m+2>>0]=n>>16;b[m+3>>0]=n>>24;m=w+136|0;c=f[m>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(c|0)){f[m>>2]=c+1;n=f[w+88>>2]|0;b[n+(c*20|0)>>0]=71;d[n+(c*20|0)+2>>1]=0;f[n+(c*20|0)+4>>2]=0;f[n+(c*20|0)+8>>2]=g;f[n+(c*20|0)+12>>2]=0;f[n+(c*20|0)+16>>2]=0;b[n+(c*20|0)+1>>0]=0}else c=tl(w,71,0,g,0)|0;l=f[w>>2]|0;if(!(b[l+81>>0]|0)){if((c|0)<0)c=(f[m>>2]|0)+-1|0;l=f[w+88>>2]|0;m=l+(c*20|0)+1|0;if(!(b[m>>0]|0)){f[l+(c*20|0)+16>>2]=k;b[m>>0]=-14;break}else{ul(w,l+(c*20|0)|0,k,-14);break}}if(l|0){if(f[l+480>>2]|0){Kc(l,k);break}n=k;if((f[l+304>>2]|0)>>>0<=n>>>0?(f[l+308>>2]|0)>>>0>n>>>0:0){n=l+300|0;f[k>>2]=f[n>>2];f[n>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{n=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}k=w+136|0;c=f[k>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(c|0)){f[k>>2]=c+1;n=f[w+88>>2]|0;b[n+(c*20|0)>>0]=71;d[n+(c*20|0)+2>>1]=0;f[n+(c*20|0)+4>>2]=0;f[n+(c*20|0)+8>>2]=g;f[n+(c*20|0)+12>>2]=0;f[n+(c*20|0)+16>>2]=0;b[n+(c*20|0)+1>>0]=0}else c=tl(w,71,0,g,0)|0;if(!(b[(f[w>>2]|0)+81>>0]|0)){if((c|0)<0)c=(f[k>>2]|0)+-1|0;k=f[w+88>>2]|0;if(b[k+(c*20|0)+1>>0]|0)ul(w,k+(c*20|0)|0,0,-14)}}else u=7;while(0);do if((u|0)==7?q|0:0){k=b[q>>0]|0;do if(!(k<<24>>24)){c=59400;u=9}else{c=k&255;if(k<<24>>24==48){c=b[q+1>>0]|0;if(!(c<<24>>24)){c=59401;u=9;break}c=c&255;if((c|32|0)==120)break;else i=120}else i=48;o=h[1232+c>>0]|0;u=13}while(0);if((u|0)==9){o=0;i=b[1232+(h[c>>0]|0)>>0]|0;u=13}if((u|0)==13?(o|0)!=(i&255|0):0){jf(q,v,(wz(q)|0)&1073741823,1)|0;if(e|0)p[v>>3]=-+p[v>>3];k=f[w>>2]|0;b:do if(f[k+272>>2]|0)if(!(b[k+81>>0]|0))u=27;else u=47;else{do if((j[k+276>>1]|0)>=8){c=k+300|0;i=f[c>>2]|0;if(i|0){f[c>>2]=f[i>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=i;u=28;break b}c=k+296|0;i=f[c>>2]|0;if(!i){c=k+292|0;break}else{f[c>>2]=f[i>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=i;u=28;break b}}else c=k+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;u=27}while(0);if((u|0)==27){l=Dc(k,8,0)|0;u=28}do if((u|0)==28)if(l){c=v;s=f[c>>2]|0;c=f[c+4>>2]|0;k=l;v=k;b[v>>0]=s;b[v+1>>0]=s>>8;b[v+2>>0]=s>>16;b[v+3>>0]=s>>24;k=k+4|0;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;k=w+136|0;c=f[k>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(c|0)){f[k>>2]=c+1;v=f[w+88>>2]|0;b[v+(c*20|0)>>0]=-115;d[v+(c*20|0)+2>>1]=0;f[v+(c*20|0)+4>>2]=0;f[v+(c*20|0)+8>>2]=g;f[v+(c*20|0)+12>>2]=0;f[v+(c*20|0)+16>>2]=0;b[v+(c*20|0)+1>>0]=0}else c=tl(w,141,0,g,0)|0;i=f[w>>2]|0;if(!(b[i+81>>0]|0)){if((c|0)<0)c=(f[k>>2]|0)+-1|0;i=f[w+88>>2]|0;k=i+(c*20|0)+1|0;if(!(b[k>>0]|0)){f[i+(c*20|0)+16>>2]=l;b[k>>0]=-13;break}else{ul(w,i+(c*20|0)|0,l,-13);break}}if(i|0){if(f[i+480>>2]|0){Kc(i,l);break}w=l;if((f[i+304>>2]|0)>>>0<=w>>>0?(f[i+308>>2]|0)>>>0>w>>>0:0){w=i+300|0;f[l>>2]=f[w>>2];f[w>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{w=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}else u=47;while(0);if((u|0)==47){i=w+136|0;c=f[i>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(c|0)){f[i>>2]=c+1;v=f[w+88>>2]|0;b[v+(c*20|0)>>0]=-115;d[v+(c*20|0)+2>>1]=0;f[v+(c*20|0)+4>>2]=0;f[v+(c*20|0)+8>>2]=g;f[v+(c*20|0)+12>>2]=0;f[v+(c*20|0)+16>>2]=0;b[v+(c*20|0)+1>>0]=0}else c=tl(w,141,0,g,0)|0;if(!(b[(f[w>>2]|0)+81>>0]|0)){if((c|0)<0)c=(f[i>>2]|0)+-1|0;i=f[w+88>>2]|0;if(b[i+(c*20|0)+1>>0]|0)ul(w,i+(c*20|0)|0,0,-13)}}break}f[s>>2]=r?43039:72788;f[s+4>>2]=q;ni(a,59403,s)}while(0);t=x;return}function Vo(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;l=n+4|0;m=n;f[l>>2]=0;f[m>>2]=0;if(!e){m=c;t=n;return m|0}if((b[e>>0]|0)!=-98){m=c;t=n;return m|0}e=f[e+44>>2]|0;if(!e){m=c;t=n;return m|0}if(!(f[e+56>>2]|0)){m=c;t=n;return m|0}e=e+64|0;while(1){e=f[e>>2]|0;if((f[e>>2]|0)==(a|0))break;else e=e+24|0}e=f[e+8>>2]|0;g=f[(f[e>>2]|0)+72>>2]|0;if(!g){m=c;t=n;return m|0}k=c+32|0;if(!(mb[g&127](e,d,f[k>>2]|0,l,m)|0)){m=c;t=n;return m|0}e=f[k>>2]|0;if(!e)h=41;else h=((wz(e)|0)&1073741823)+41|0;a:do if(!a){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](h)|0;i=34;break}e=ib[f[37372>>2]&255](h)|0;if((f[18194]|0)>>>0>>0)f[18194]=h;d=71896;g=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&g>>>0>0){a=f[18187]|0;d=LA(g|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&d>>>0<=a>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(!g){m=c;t=n;return m|0}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0){f[18196]=e;a=g}else a=g}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){m=c;t=n;return m|0}}else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){g=a+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];i=a+284|0;f[i>>2]=(f[i>>2]|0)+1;i=34;break a}g=a+296|0;e=f[g>>2]|0;if(!e){e=a+292|0;break}else{f[g>>2]=f[e>>2];i=a+284|0;f[i>>2]=(f[i>>2]|0)+1;i=34;break a}}else e=a+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(a,h,0)|0;i=34}while(0);if((i|0)==34)if(!e){m=c;t=n;return m|0}else a=e;_A(a+40|0,0,h+-40|0)|0;d=a;e=c;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));d=a+40|0;f[a+32>>2]=d;g=f[k>>2]|0;if(!g)e=1;else e=((wz(g)|0)&1073741823)+1|0;YA(d|0,g|0,e|0)|0;f[a+16>>2]=f[l>>2];f[a+8>>2]=f[m>>2];m=a+4|0;f[m>>2]=f[m>>2]|16;m=a;t=n;return m|0}function Wo(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;g=f[a+24>>2]|0;if((b[c>>0]|0)!=-98)return 0;e=c+44|0;if((f[g+12>>2]|0)!=(f[e>>2]|0))return 0;c=(f[a>>2]|0)+268|0;a=f[c>>2]|0;if(!a)return 0;while(1){d=a+12|0;if((f[a>>2]|0)==(e|0))break;a=f[d>>2]|0;if(!a){h=8;break}else c=d}if((h|0)==8)return 0;f[c>>2]=f[d>>2];f[d>>2]=f[g>>2];f[g>>2]=a;h=g+4|0;f[h>>2]=(f[h>>2]|0)+1;return 0}function Xo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=f[a+24>>2]|0;g=f[b+32>>2]|0;h=f[g>>2]|0;if((h|0)<=0)return 0;i=n+12|0;j=n+4|0;d=0;do{a:do if((f[g+8+(d*72|0)+16>>2]|0)==(f[i>>2]|0)?(k=f[g+8+(d*72|0)+8>>2]|0,l=(f[a>>2]|0)+268|0,m=f[l>>2]|0,m|0):0){c=l;b=m;while(1){e=b+12|0;if((f[b>>2]|0)==(k|0))break;b=f[e>>2]|0;if(!b)break a;else c=e}f[c>>2]=f[e>>2];f[e>>2]=f[n>>2];f[n>>2]=b;f[j>>2]=(f[j>>2]|0)+1}while(0);d=d+1|0}while((d|0)<(h|0));return 0}function Yo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[b+12>>2]|0;if(c|0)oi(a,c)|0;b=f[b+28>>2]|0;if(!b)return;do{yk(a,f[b+8>>2]|0)|0;c=f[b+16>>2]|0;if(c|0)oi(a,c)|0;c=f[b+20>>2]|0;a:do if(c|0?(h=f[c>>2]|0,(h|0)>0):0){e=h;c=c+4|0;while(1){d=f[c>>2]|0;if(d|0?oi(a,d)|0:0)break a;if((e|0)>1){e=e+-1|0;c=c+20|0}else break}}while(0);g=f[b+28>>2]|0;if(g|0){c=f[g>>2]|0;b:do if(c|0?(i=f[c>>2]|0,(i|0)>0):0){e=i;c=c+4|0;while(1){d=f[c>>2]|0;if(d|0?oi(a,d)|0:0)break b;if((e|0)>1){e=e+-1|0;c=c+20|0}else break}}while(0);c=f[g+8>>2]|0;c:do if(c|0?(j=f[c>>2]|0,(j|0)>0):0){e=j;c=c+4|0;while(1){d=f[c>>2]|0;if(d|0?oi(a,d)|0:0)break c;if((e|0)>1){e=e+-1|0;c=c+20|0}else break}}while(0);c=f[g+12>>2]|0;if(c|0)oi(a,c)|0;c=f[g+4>>2]|0;if(c|0)oi(a,c)|0}b=f[b+36>>2]|0}while((b|0)!=0);return}function Zo(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+16|0;i=A;if(!e)k=0;else k=(wz(e)|0)&1073741823;if(!d)n=0;else n=(wz(d)|0)&1073741823;y=f[(f[a>>2]|0)+32>>2]|0;f[i>>2]=e;z=Ig(y,59429,i)|0;if(!z){z=7;t=A;return z|0}x=(wz(z)|0)&1073741823;v=(g|0)==0;w=v?k:x;v=v?e:z;e=n+1+(U(f[c+4>>2]|0,x)|0)|0;g=((e|0)<0)<<31>>31;u=(y|0)==0;a:do if(u){s=KA(e|0,g|0,-1,-1)|0;r=ba()|0;if(!(r>>>0>0|(r|0)==0&s>>>0>2147483390)){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](e)|0;l=30;break}i=ib[f[37372>>2]&255](e)|0;if((f[18194]|0)>>>0>>0)f[18194]=e;g=71896;k=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&k>>>0>0){s=f[18187]|0;r=LA(k|0,g|0,i|0,((i|0)<0)<<31>>31|0)|0;q=ba()|0;f[17976]=((q|0)<0|(q|0)==0&r>>>0<=s>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(i){k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;l=31}else l=31}else i=7}else i=7}else{if(f[y+272>>2]|0){if(b[y+81>>0]|0){i=7;break}}else{do if(!(0>>0|(0==(g|0)?(j[y+276>>1]|0)>>>0>>0:0))){k=y+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];l=y+284|0;f[l>>2]=(f[l>>2]|0)+1;l=30;break a}k=y+296|0;i=f[k>>2]|0;if(!i){i=y+292|0;break}else{f[k>>2]=f[i>>2];l=y+284|0;f[l>>2]=(f[l>>2]|0)+1;l=30;break a}}else i=y+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(y,e,g)|0;l=30}while(0);if((l|0)==30)if(!i)i=7;else l=31;do if((l|0)==31){_A(i+n|0,0,(e>>>0>n>>>0?e-n|0:0)|0)|0;YA(i|0,d|0,n|0)|0;l=f[c>>2]|0;b:do if(l|0){s=d;o=y+480|0;p=y+304|0;q=y+308|0;r=y+300|0;if(u)while(1){k=f[l+12>>2]|0;if(!k)m=l;else{e=k;g=l;do{g=(f[e+4>>2]|0)>>>0>(f[g+4>>2]|0)>>>0?e:g;e=f[e+12>>2]|0}while((e|0)!=0);m=g}if((l|0)==(m|0))k=c;else{if((k|0)==(m|0))k=l;else while(1){g=f[k+12>>2]|0;if((g|0)==(m|0))break;else k=g}k=k+12|0}f[k>>2]=f[m+12>>2];d=f[m+4>>2]|0;l=(b[5472+(h[d>>0]|0)>>0]&70)==0;e=l?x:w;d=d-s|0;k=m+8|0;g=f[k>>2]|0;if((g|0)==(e|0))k=n;else{r=d+g|0;ZA(i+(e+d)|0,i+r|0,n-r|0)|0;k=e-(f[k>>2]|0)+n|0;b[i+k>>0]=0}YA(i+d|0,(l?z:v)|0,e|0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](m);else{r=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m)}l=f[c>>2]|0;if(!l)break b;else n=k}while(1){k=f[l+12>>2]|0;if(!k)m=l;else{e=k;g=l;do{g=(f[e+4>>2]|0)>>>0>(f[g+4>>2]|0)>>>0?e:g;e=f[e+12>>2]|0}while((e|0)!=0);m=g}if((l|0)==(m|0))k=c;else{if((k|0)==(m|0))k=l;else while(1){g=f[k+12>>2]|0;if((g|0)==(m|0))break;else k=g}k=k+12|0}f[k>>2]=f[m+12>>2];d=f[m+4>>2]|0;l=(b[5472+(h[d>>0]|0)>>0]&70)==0;e=l?x:w;d=d-s|0;k=m+8|0;g=f[k>>2]|0;if((g|0)==(e|0))k=n;else{g=d+g|0;ZA(i+(e+d)|0,i+g|0,n-g|0)|0;k=e-(f[k>>2]|0)+n|0;b[i+k>>0]=0}YA(i+d|0,(l?z:v)|0,e|0)|0;do if(!(f[o>>2]|0)){n=m;if((f[p>>2]|0)>>>0<=n>>>0?(f[q>>2]|0)>>>0>n>>>0:0){f[m>>2]=f[r>>2];f[r>>2]=m;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{n=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}else Kc(y,m);while(0);l=f[c>>2]|0;if(!l)break;else n=k}}while(0);if(($e(f[a>>2]|0,i,-1,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}if(!u){if(f[y+480>>2]|0){Kc(y,i);i=0;break}c=i;if((f[y+304>>2]|0)>>>0<=c>>>0?(f[y+308>>2]|0)>>>0>c>>>0:0){y=y+300|0;f[i>>2]=f[y>>2];f[y>>2]=i;i=0;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{y=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](z);z=i;t=A;return z|0}else{y=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);z=i;t=A;return z|0}return 0}function _o(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0;i=f[a+24>>2]|0;switch(b[c>>0]|0){case 77:{if((f[i+8>>2]|0)!=(d[c+32>>1]|0))return 0;a=f[a>>2]|0;if((f[a+120>>2]|0)!=(f[i+12>>2]|0))return 0;a=a+268|0;e=f[a>>2]|0;if(!e)return 0;while(1){h=e+12|0;if((f[e>>2]|0)==(c|0))break;g=f[h>>2]|0;if(!g){j=16;break}else{a=h;e=g}}if((j|0)==16)return 0;f[a>>2]=f[h>>2];f[h>>2]=f[i>>2];f[i>>2]=e;j=i+4|0;f[j>>2]=(f[j>>2]|0)+1;return 0}case -98:{if((f[i+8>>2]|0)!=(d[c+32>>1]|0))return 0;if((f[i+12>>2]|0)!=(f[c+44>>2]|0))return 0;a=(f[a>>2]|0)+268|0;e=f[a>>2]|0;if(!e)return 0;while(1){h=e+12|0;if((f[e>>2]|0)==(c|0))break;g=f[h>>2]|0;if(!g){j=16;break}else{a=h;e=g}}if((j|0)==16)return 0;f[a>>2]=f[h>>2];f[h>>2]=f[i>>2];f[i>>2]=e;j=i+4|0;f[j>>2]=(f[j>>2]|0)+1;return 0}default:return 0}return 0}function $o(a,b){a=a|0;b=b|0;return 0}function ap(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!d)return;p=f[d>>2]|0;if((p|0)<=0)return;m=((e|0)!=0)<<31>>31;n=a+268|0;o=c+4|0;if(!e){g=0;do{a:do if((f[d+4+(g*20|0)+4>>2]|0)==0?(k=f[n>>2]|0,k|0):0){i=n;a=k;while(1){j=a+12|0;if(!(f[a>>2]|0))break;a=f[j>>2]|0;if(!a)break a;else i=j}f[i>>2]=f[j>>2];f[j>>2]=f[c>>2];f[c>>2]=a;f[o>>2]=(f[o>>2]|0)+1}while(0);g=g+1|0}while((g|0)<(p|0));return}j=0;do{k=f[d+4+(j*20|0)+4>>2]|0;if(k){i=b[k>>0]|0;a=(h[1232+(i&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0;if(!(i<<24>>24==0|(a|0)!=0)){g=e;i=k;do{i=i+1|0;g=g+1|0;q=b[i>>0]|0;a=(h[1232+(q&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(q<<24>>24==0|(a|0)!=0))}}else a=m;b:do if((a|0)==0?(l=f[n>>2]|0,l|0):0){g=n;a=l;while(1){i=a+12|0;if((f[a>>2]|0)==(k|0))break;a=f[i>>2]|0;if(!a)break b;else g=i}f[g>>2]=f[i>>2];f[i>>2]=f[c>>2];f[c>>2]=a;f[o>>2]=(f[o>>2]|0)+1}while(0);j=j+1|0}while((j|0)<(p|0));return}function bp(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!d)return;p=f[d+4>>2]|0;if((p|0)<=0)return;m=((e|0)!=0)<<31>>31;n=a+268|0;o=c+4|0;if(!e){g=0;do{a:do if((f[(f[d>>2]|0)+(g<<3)>>2]|0)==0?(k=f[n>>2]|0,k|0):0){i=n;a=k;while(1){j=a+12|0;if(!(f[a>>2]|0))break;a=f[j>>2]|0;if(!a)break a;else i=j}f[i>>2]=f[j>>2];f[j>>2]=f[c>>2];f[c>>2]=a;f[o>>2]=(f[o>>2]|0)+1}while(0);g=g+1|0}while((g|0)<(p|0));return}j=0;do{k=f[(f[d>>2]|0)+(j<<3)>>2]|0;if(k){i=b[k>>0]|0;a=(h[1232+(i&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0;if(!(i<<24>>24==0|(a|0)!=0)){g=e;i=k;do{i=i+1|0;g=g+1|0;q=b[i>>0]|0;a=(h[1232+(q&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(q<<24>>24==0|(a|0)!=0))}}else a=m;b:do if((a|0)==0?(l=f[n>>2]|0,l|0):0){g=n;a=l;while(1){i=a+12|0;if((f[a>>2]|0)==(k|0))break;a=f[i>>2]|0;if(!a)break b;else g=i}f[g>>2]=f[i>>2];f[i>>2]=f[c>>2];f[c>>2]=a;f[o>>2]=(f[o>>2]|0)+1}while(0);j=j+1|0}while((j|0)<(p|0));return}function cp(a){a=a|0;var b=0,c=0,d=0;d=t;t=t+16|0;c=d;b=dz(a+8|0)|0;if(!b){f[c>>2]=a;Ac(7,59470,c);c=0;t=d;return c|0}else{c=b;f[c>>2]=a;f[c+4>>2]=((a|0)<0)<<31>>31;c=b+8|0;t=d;return c|0}return 0}function dp(a){a=a|0;ez(a+-8|0);return}function ep(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=t;t=t+16|0;d=e;a=a+-8|0;c=gz(a,b+8|0)|0;if(!c){f[d>>2]=f[a>>2];f[d+4>>2]=b;Ac(7,59434,d);d=0;t=e;return d|0}else{d=c;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;d=c+8|0;t=e;return d|0}return 0}function fp(a){a=a|0;return f[a+-8>>2]|0}function gp(a){a=a|0;return a+7&-8|0}function hp(a){a=a|0;return 0}function ip(a){a=a|0;return}function jp(a,b,c){a=a|0;b=b|0;c=c|0;if(Mc()|0){c=0;return c|0}c=Nc(a,b,c)|0;return c|0}function kp(a){a=a|0;var c=0,d=0,e=0,g=0;if(Mc()|0){a=38408;return a|0}if(!(f[9328]|0)){c=ib[f[37356>>2]&255](24)|0;if(!c){a=38408;return a|0}}else{e=ib[f[37372>>2]&255](24)|0;if((f[18194]|0)>>>0<24)f[18194]=24;d=71896;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){g=f[18187]|0;d=LA(c|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&d>>>0<=g>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(!c){g=38408;return g|0}d=ib[f[37368>>2]&255](c)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d}if(!a){f[c+4>>2]=0;f[c>>2]=0;f[c+8>>2]=0;f[c+12>>2]=1e9;f[c+16>>2]=0;b[c+20>>0]=0;b[c+21>>0]=0;g=c;return g|0}else{g=f[a+108>>2]|0;f[c+4>>2]=0;f[c>>2]=0;f[c+8>>2]=0;f[c+12>>2]=g;f[c+16>>2]=0;b[c+20>>0]=0;b[c+21>>0]=0;g=c;return g|0}return 0}function lp(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=t;t=t+96|0;e=j+72|0;if(Mc()|0){i=0;t=j;return i|0}g=e+4|0;f[g>>2]=j;f[e>>2]=0;f[e+8>>2]=70;h=e+12|0;f[h>>2]=1e9;i=e+16|0;f[i>>2]=0;b[e+20>>0]=0;d=e+21|0;b[d>>0]=0;Bc(e,a,c);a=f[g>>2]|0;if((a|0?(b[a+(f[i>>2]|0)>>0]=0,f[h>>2]|0):0)?(b[d>>0]&4)==0:0){i=Cc(e)|0;t=j;return i|0}i=f[g>>2]|0;t=j;return i|0}function mp(a){a=a|0;var c=0,d=0,e=0;if(!a){d=0;return d|0}d=f[a>>2]|0;c=a+128|0;e=f[c+4>>2]|0;if((e|0)>0|(e|0)==0&(f[c>>2]|0)>>>0>0)Hi(d,a);c=fg(a)|0;f[a+20>>2]=770837923;f[a+36>>2]=-1;f[a+40>>2]=0;b[a+142>>0]=2;f[a+44>>2]=0;f[a+32>>2]=1;b[a+143>>0]=-1;f[a+48>>2]=0;e=a+64|0;f[e>>2]=0;f[e+4>>2]=0;if((c|0)==3082|(b[d+81>>0]|0)!=0){Di(d);e=7;return e|0}else{e=f[d+68>>2]&c;return e|0}return 0}function np(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0;k=a+16|0;c=d[k>>1]|0;if(c<<16>>16>0){l=a+116|0;j=0;e=f[l>>2]|0;do{g=e+(j*40|0)|0;i=e+(j*40|0)+8|0;if(!((d[i>>1]&9216)==0?(f[e+(j*40|0)+24>>2]|0)==0:0)){ff(g);e=f[l>>2]|0;i=e+(j*40|0)+8|0;c=d[k>>1]|0}d[i>>1]=1;j=j+1|0}while((j|0)<(c<<16>>16|0))}if(!(f[a+204>>2]|0))return 0;l=a+145|0;k=(h[l>>0]|h[l+1>>0]<<8)&-4|1;b[l>>0]=k;b[l+1>>0]=k>>8;return 0}function op(a){a=a|0;var c=0;if(!a){c=0;return c|0}c=d[a+8>>1]|0;if((c&514)==514?(b[a+10>>0]|0)==1:0){c=f[a+16>>2]|0;return c|0}if(c&1){c=0;return c|0}c=Ic(a,1)|0;return c|0}function pp(a){a=a|0;var c=0,e=0;c=d[a+8>>1]|0;if(c&2?(b[a+10>>0]|0)==1:0){a=f[a+12>>2]|0;return a|0}c=c&65535;if(!(c&16)){if(c&1|0){a=0;return a|0}a=_e(a,1)|0;return a|0}else{e=f[a+12>>2]|0;if(!(c&16384)){a=e;return a|0}a=(f[a>>2]|0)+e|0;return a|0}return 0}function qp(a){a=a|0;var c=0,d=0.0;c=j[a+8>>1]|0;if(c&8|0){d=+p[a>>3];return +d}if(c&4|0){c=a;d=+((f[c>>2]|0)>>>0)+4294967296.0*+(f[c+4>>2]|0);return +d}if(!(c&18)){d=0.0;return +d}d=+Hc(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0);return +d}function rp(a){a=a|0;var c=0;c=j[a+8>>1]|0;if(c&4|0){c=f[a>>2]|0;return c|0}if(c&8|0){c=Fc(+p[a>>3])|0;ba()|0;return c|0}if(!(c&18)){c=0;return c|0}c=Gc(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0)|0;ba()|0;return c|0}function sp(a){a=a|0;var c=0;c=j[a+8>>1]|0;if(c&4|0){c=a;a=f[c+4>>2]|0;c=f[c>>2]|0;aa(a|0);return c|0}if(c&8|0){c=Fc(+p[a>>3])|0;a=ba()|0;aa(a|0);return c|0}if(!(c&18)){a=0;c=0;aa(a|0);return c|0}c=Gc(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0)|0;a=ba()|0;aa(a|0);return c|0}function tp(a){a=a|0;return h[5792+(d[a+8>>1]&31)>>0]|0|0}function up(a,b){a=a|0;b=+b;var c=0,e=0,g=0,h=0;h=t;t=t+16|0;e=h+8|0;g=h;a=f[a>>2]|0;c=a+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else cf(a);p[e>>3]=b;p[g>>3]=+p[e>>3];if(!(+p[e>>3]==+p[g>>3])){t=h;return}p[a>>3]=b;d[c>>1]=8;t=h;return}function vp(a,b,c){a=a|0;b=b|0;c=c|0;f[a+20>>2]=1;$e(f[a>>2]|0,b,c,1,-1)|0;return}function wp(a,b){a=a|0;b=b|0;var c=0,e=0;a=f[a>>2]|0;c=((b|0)<0)<<31>>31;e=a+8|0;if(!(d[e>>1]&9216)){f[a>>2]=b;f[a+4>>2]=c;d[e>>1]=4;return}else{bf(a,b,c);return}}function xp(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;a=f[a>>2]|0;e=a+8|0;if(!(d[e>>1]&9216)){f[a>>2]=b;f[a+4>>2]=c;d[e>>1]=4;return}else{bf(a,b,c);return}}function yp(a){a=a|0;var b=0;a=f[a>>2]|0;b=a+8|0;if(!(d[b>>1]&9216)){d[b>>1]=1;return}else{cf(a);return}}function zp(a){a=a|0;return}function Ap(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(($e(f[a>>2]|0,b,c,1,d)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}function Bp(a){a=a|0;var c=0,e=0;c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;e=f[c+32>>2]|0;c=e+81|0;if(b[c>>0]|0)return;if(b[e+82>>0]|0)return;b[c>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;a=e+272|0;f[a>>2]=(f[a>>2]|0)+1;return}function Cp(a,b){a=a|0;b=b|0;var c=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192)){c=hf(a,b)|0;return c|0}else{c=f[c+16>>2]|0;return c|0}return 0}function Dp(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0;k=f[a+12>>2]|0;m=k+212|0;h=f[m>>2]|0;a:do if(h){i=a+16|0;b:do if((c|0)<0)while(1){if((f[h+4>>2]|0)==(c|0)){g=h;break b}h=f[h+16>>2]|0;if(!h){l=10;break a}}else while(1){if((f[h+4>>2]|0)==(c|0)?(f[h>>2]|0)==(f[i>>2]|0):0){g=h;break b}h=f[h+16>>2]|0;if(!h){l=10;break a}}while(0);h=f[g+12>>2]|0;if(h)ob[h&127](f[g+8>>2]|0)}else l=10;while(0);do if((l|0)==10){i=f[k>>2]|0;c:do if(!i){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](20)|0;l=33;break}h=ib[f[37372>>2]&255](20)|0;if((f[18194]|0)>>>0<20)f[18194]=20;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){n=f[18187]|0;k=LA(i|0,k|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[17976]=((i|0)<0|(i|0)==0&k>>>0<=n>>>0)&1}h=ib[f[37356>>2]&255](h)|0;if(h|0){g=ib[f[37368>>2]&255](h)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;g=h;l=34}else{g=h;l=34}}}else{if(f[i+272>>2]|0){if(b[i+81>>0]|0)break}else{do if((j[i+276>>1]|0)>=20){h=i+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];l=i+284|0;f[l>>2]=(f[l>>2]|0)+1;l=33;break c}h=i+296|0;g=f[h>>2]|0;if(!g){g=i+292|0;break}else{f[h>>2]=f[g>>2];l=i+284|0;f[l>>2]=(f[l>>2]|0)+1;l=33;break c}}else g=i+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(i,20,0)|0;l=33}while(0);if((l|0)==33?g|0:0)l=34;if((l|0)==34){h=g+8|0;n=h;b[n>>0]=0;b[n+1>>0]=0;b[n+2>>0]=0;b[n+3>>0]=0;h=h+4|0;b[h>>0]=0;b[h+1>>0]=0;b[h+2>>0]=0;b[h+3>>0]=0;f[g>>2]=f[a+16>>2];f[g+4>>2]=c;f[g+16>>2]=f[m>>2];f[m>>2]=g;h=a+20|0;if(f[h>>2]|0)break;f[h>>2]=-1;break}if(!e)return;ob[e&127](d);return}while(0);f[g+8>>2]=d;f[g+12>>2]=e;return}function Ep(a){a=a|0;if(!a){a=0;return a|0}if(!(f[a+104>>2]|0)){a=0;return a|0}a=j[a+140>>1]|0;return a|0}function Fp(a,c){a=a|0;c=c|0;var d=0,e=0;if(!a){e=lf(37592)|0;return e|0}d=f[a+104>>2]|0;if((d|0)!=0?(j[a+140>>1]|0)>>>0>c>>>0:0){c=d+(c*40|0)|0;d=a}else{c=f[a>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592;d=a}e=lf(c)|0;d=f[d>>2]|0;a=a+40|0;c=f[a>>2]|0;if((c|0)==3082|(b[d+81>>0]|0)!=0){Di(d);c=7}else c=f[d+68>>2]&c;f[a>>2]=c;return e|0}function Gp(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0;i=(a|0)==0;do if(i)g=37592;else{e=f[a+104>>2]|0;if(e|0?(j[a+140>>1]|0)>>>0>c>>>0:0){g=e+(c*40|0)|0;break}g=f[a>>2]|0;f[g+64>>2]=25;Bg(g,25);g=37592}while(0);c=d[g+8>>1]|0;if((c&2)!=0?(b[g+10>>0]|0)==1:0)e=f[g+12>>2]|0;else h=9;do if((h|0)==9){c=c&65535;if(!(c&16)){if(c&1|0){e=0;break}e=_e(g,1)|0;break}else{e=f[g+12>>2]|0;if(!(c&16384))break;e=(f[g>>2]|0)+e|0;break}}while(0);if(i)return e|0;g=f[a>>2]|0;h=a+40|0;c=f[h>>2]|0;if((c|0)==3082|(b[g+81>>0]|0)!=0){Di(g);c=7}else c=f[g+68>>2]&c;f[h>>2]=c;return e|0}function Hp(a,c){a=a|0;c=c|0;var d=0,e=0,g=0.0;e=(a|0)==0;do if(e)c=37592;else{d=f[a+104>>2]|0;if(d|0?(j[a+140>>1]|0)>>>0>c>>>0:0){c=d+(c*40|0)|0;break}c=f[a>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}while(0);d=j[c+8>>1]|0;do if(!(d&8)){if(d&4|0){d=c;g=+((f[d>>2]|0)>>>0)+4294967296.0*+(f[d+4>>2]|0);break}if(!(d&18))g=0.0;else g=+Hc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)}else g=+p[c>>3];while(0);if(e)return +g;d=f[a>>2]|0;e=a+40|0;c=f[e>>2]|0;if((c|0)==3082|(b[d+81>>0]|0)!=0){Di(d);c=7}else c=f[d+68>>2]&c;f[e>>2]=c;return +g}function Ip(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=(a|0)==0;do if(e)c=37592;else{d=f[a+104>>2]|0;if(d|0?(j[a+140>>1]|0)>>>0>c>>>0:0){c=d+(c*40|0)|0;break}c=f[a>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}while(0);d=j[c+8>>1]|0;do if(!(d&4)){if(d&8|0){g=Fc(+p[c>>3])|0;ba()|0;break}if(!(d&18))g=0;else{g=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else g=f[c>>2]|0;while(0);if(e)return g|0;d=f[a>>2]|0;e=a+40|0;c=f[e>>2]|0;if((c|0)==3082|(b[d+81>>0]|0)!=0){Di(d);c=7}else c=f[d+68>>2]&c;f[e>>2]=c;return g|0}function Jp(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;e=(a|0)==0;do if(e)c=37592;else{d=f[a+104>>2]|0;if(d|0?(j[a+140>>1]|0)>>>0>c>>>0:0){c=d+(c*40|0)|0;break}c=f[a>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}while(0);d=j[c+8>>1]|0;do if(!(d&4)){if(d&8|0){h=Fc(+p[c>>3])|0;g=ba()|0;break}if(!(d&18)){g=0;h=0}else{h=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;g=ba()|0}}else{h=c;g=f[h+4>>2]|0;h=f[h>>2]|0}while(0);if(e){aa(g|0);return h|0}d=f[a>>2]|0;e=a+40|0;c=f[e>>2]|0;if((c|0)==3082|(b[d+81>>0]|0)!=0){Di(d);c=7}else c=f[d+68>>2]&c;f[e>>2]=c;aa(g|0);return h|0}function Kp(a,c){a=a|0;c=c|0;var e=0,g=0,h=0;g=(a|0)==0;do if(g)c=37592;else{e=f[a+104>>2]|0;if(e|0?(j[a+140>>1]|0)>>>0>c>>>0:0){c=e+(c*40|0)|0;break}c=f[a>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}while(0);e=d[c+8>>1]|0;if((e&514)==514?(b[c+10>>0]|0)==1:0)h=f[c+16>>2]|0;else if(!(e&1))h=Ic(c,1)|0;else h=0;if(g)return h|0;e=f[a>>2]|0;g=a+40|0;c=f[g>>2]|0;if((c|0)==3082|(b[e+81>>0]|0)!=0){Di(e);c=7}else c=f[e+68>>2]&c;f[g>>2]=c;return h|0}function Lp(a,c){a=a|0;c=c|0;var e=0,g=0,i=0;g=(a|0)==0;do if(g)c=37592;else{e=f[a+104>>2]|0;if(e|0?(j[a+140>>1]|0)>>>0>c>>>0:0){c=e+(c*40|0)|0;break}c=f[a>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}while(0);i=h[5792+(d[c+8>>1]&31)>>0]|0;if(g)return i|0;e=f[a>>2]|0;g=a+40|0;c=f[g>>2]|0;if((c|0)==3082|(b[e+81>>0]|0)!=0){Di(e);c=7}else c=f[e+68>>2]&c;f[g>>2]=c;return i|0}function Mp(a,c){a=a|0;c=c|0;var e=0,g=0,h=0;h=f[a>>2]|0;if(!a){h=0;return h|0}if((j[a+140>>1]|0)>>>0<=c>>>0){h=0;return h|0}g=f[a+100>>2]|0;a=g+(c*40|0)|0;do if(a){e=d[g+(c*40|0)+8>>1]|0;if((e&514)==514?(b[g+(c*40|0)+10>>0]|0)==1:0){a=f[g+(c*40|0)+16>>2]|0;break}if(!(e&1))a=Ic(a,1)|0;else a=0}else a=0;while(0);e=h+81|0;if(!(b[e>>0]|0)){h=a;return h|0}if(f[h+180>>2]|0){h=0;return h|0}b[e>>0]=0;f[h+264>>2]=0;h=h+272|0;f[h>>2]=(f[h>>2]|0)+-1;h=0;return h|0}function Np(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;h=Op(a,c)|0;if(h|0){switch(g|0){case 0:case -1:{a=h;return a|0}default:{}}ob[g&127](d);a=h;return a|0}if(!d){a=0;return a|0}d=$e((f[a+116>>2]|0)+((c+-1|0)*40|0)|0,d,e,0,g)|0;if(!d){a=0;return a|0}c=f[a>>2]|0;f[c+64>>2]=d;Bg(c,d);c=f[a>>2]|0;if((d|0)==3082|(b[c+81>>0]|0)!=0){Di(c);a=7;return a|0}else{a=f[c+68>>2]&d;return a|0}return 0}function Op(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0;l=t;t=t+64|0;i=l+40|0;k=l+32|0;j=l+16|0;g=l+8|0;do if(!a)Ac(21,42973,l);else{e=f[a>>2]|0;if(!e){Ac(21,42928,g);break}if((f[a+20>>2]|0)==770837923?(f[a+36>>2]|0)<=-1:0){if((c|0)>=1?(d[a+16>>1]|0)>=(c|0):0){j=c+-1|0;k=f[a+116>>2]|0;g=k+(j*40|0)|0;i=k+(j*40|0)+8|0;if(!((d[i>>1]&9216)==0?(f[k+(j*40|0)+24>>2]|0)==0:0)){ff(g);e=f[a>>2]|0}d[i>>1]=1;f[e+64>>2]=0;if(f[e+256>>2]|0)Bg(e,0);e=f[a+204>>2]|0;if(!e){c=0;t=l;return c|0}if(!(e&((c|0)>31?-2147483648:1<>0]|h[c+1>>0]<<8)&-4|1;b[c>>0]=a;b[c+1>>0]=a>>8;c=0;t=l;return c|0}f[e+64>>2]=25;Bg(e,25);c=25;t=l;return c|0}f[e+64>>2]=21;Bg(e,21);f[k>>2]=f[a+184>>2];Ac(21,59508,k);f[i>>2]=40433;f[i+4>>2]=81984;f[i+8>>2]=40460;Ac(21,40408,i);c=21;t=l;return c|0}while(0);f[j>>2]=40433;f[j+4>>2]=81976;f[j+8>>2]=40460;Ac(21,40408,j);c=21;t=l;return c|0}function Pp(a,b,c){a=a|0;b=b|0;c=+c;var e=0,g=0,h=0,i=0,j=0;i=t;t=t+16|0;e=i+8|0;g=i;h=Op(a,b)|0;if(h|0){t=i;return h|0}j=f[a+116>>2]|0;b=b+-1|0;a=j+(b*40|0)|0;b=j+(b*40|0)+8|0;if(!(d[b>>1]&9216))d[b>>1]=1;else cf(a);p[e>>3]=c;p[g>>3]=+p[e>>3];if(!(+p[e>>3]==+p[g>>3])){t=i;return h|0}p[a>>3]=c;d[b>>1]=8;t=i;return h|0}function Qp(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0;e=((c|0)<0)<<31>>31;g=Op(a,b)|0;if(g|0)return g|0;h=f[a+116>>2]|0;b=b+-1|0;a=h+(b*40|0)|0;b=h+(b*40|0)+8|0;if(!(d[b>>1]&9216)){h=a;f[h>>2]=c;f[h+4>>2]=e;d[b>>1]=4;return g|0}else{bf(a,c,e);return g|0}return 0}function Rp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Sp(a,b,c,d,e,1)|0}function Sp(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=Op(a,c)|0;if(j|0){switch(h|0){case 0:case -1:{a=j;return a|0}default:{}}ob[h&127](e);a=j;return a|0}if(!e){a=0;return a|0}m=f[a+116>>2]|0;k=c+-1|0;l=m+(k*40|0)|0;c=$e(l,e,g,i,h)|0;do if(!(i<<24>>24==0|(c|0)!=0)){j=b[(f[a>>2]|0)+78>>0]|0;if(!(d[m+(k*40|0)+8>>1]&2)){a=0;return a|0}if((b[m+(k*40|0)+10>>0]|0)==j<<24>>24){a=0;return a|0}else{c=Ri(l,j)|0;break}}while(0);if(!c){a=0;return a|0}j=f[a>>2]|0;f[j+64>>2]=c;Bg(j,c);j=f[a>>2]|0;if((c|0)==3082|(b[j+81>>0]|0)!=0){Di(j);a=7;return a|0}else{a=f[j+68>>2]&c;return a|0}return 0}function Tp(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;h=o+8|0;i=o;g=d[e+8>>1]|0;switch(b[5792+(g&31)>>0]|0){case 1:{i=e;h=f[i>>2]|0;i=f[i+4>>2]|0;g=Op(a,c)|0;if(g|0){a=g;t=o;return a|0}a=f[a+116>>2]|0;e=c+-1|0;g=a+(e*40|0)|0;e=a+(e*40|0)+8|0;if(!(d[e>>1]&9216)){a=g;f[a>>2]=h;f[a+4>>2]=i;d[e>>1]=4;a=0;t=o;return a|0}else{bf(g,h,i);a=0;t=o;return a|0}}case 2:{j=+p[e>>3];g=Op(a,c)|0;if(g|0){a=g;t=o;return a|0}a=f[a+116>>2]|0;e=c+-1|0;g=a+(e*40|0)|0;e=a+(e*40|0)+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else cf(g);p[h>>3]=j;p[i>>3]=+p[h>>3];if(!(+p[h>>3]==+p[i>>3])){a=0;t=o;return a|0}p[g>>3]=j;d[e>>1]=8;a=0;t=o;return a|0}case 4:{if(g&16384){k=f[e>>2]|0;g=Op(a,c)|0;if(g|0){a=g;t=o;return a|0}i=f[a+116>>2]|0;g=c+-1|0;e=i+(g*40|0)|0;h=i+(g*40|0)+8|0;if(!((d[h>>1]&9216)==0?!(f[i+(g*40|0)+24>>2]|0):0))ff(e);d[h>>1]=16400;f[i+(g*40|0)+12>>2]=0;f[e>>2]=(k|0)>0?k:0;b[i+(g*40|0)+10>>0]=1;f[i+(g*40|0)+16>>2]=0;a=0;t=o;return a|0}n=f[e+16>>2]|0;e=f[e+12>>2]|0;g=Op(a,c)|0;if(g|0){a=g;t=o;return a|0}if(!n){a=0;t=o;return a|0}m=f[a+116>>2]|0;l=c+-1|0;k=m+(l*40|0)|0;g=f[m+(l*40|0)+32>>2]|0;if(!g)h=1e9;else h=f[g+108>>2]|0;a:do if((e|0)<0)if((h|0)<0){c=528;g=0}else{g=0;while(1){if(!((b[n+(g|1)>>0]|b[n+g>>0])<<24>>24)){c=528;break a}g=g+2|0;if((g|0)>(h|0)){c=528;break}}}else{c=16;g=e}while(0);i=g+((c&65535)>>>8&65535)|0;do if((g|0)>(h|0))e=18;else{e=(i|0)>32?i:32;if((f[m+(l*40|0)+24>>2]|0)<(e|0)){if(df(k,e,0)|0){e=7;break}e=m+(l*40|0)+8|0;h=f[m+(l*40|0)+16>>2]|0}else{h=f[m+(l*40|0)+20>>2]|0;f[m+(l*40|0)+16>>2]=h;e=m+(l*40|0)+8|0;d[e>>1]=d[e>>1]&13}YA(h|0,n|0,i|0)|0;f[m+(l*40|0)+12>>2]=g;d[e>>1]=c;b[m+(l*40|0)+10>>0]=1;a=0;t=o;return a|0}while(0);g=f[a>>2]|0;f[g+64>>2]=e;Bg(g,e);g=f[a>>2]|0;if(!(b[g+81>>0]|0)){a=f[g+68>>2]&e;t=o;return a|0}else{Di(g);a=7;t=o;return a|0}}case 3:{a=Sp(a,c,f[e+16>>2]|0,f[e+12>>2]|0,-1,b[e+10>>0]|0)|0;t=o;return a|0}default:{a=Op(a,c)|0;t=o;return a|0}}return 0}function Up(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;if(!c){i=0;return i|0}h=(wz(c)|0)&1073741823;if(!a){i=0;return i|0}g=f[a+120>>2]|0;if(!g){i=0;return i|0}e=f[g+4>>2]|0;a=2;while(1){d=g+(a+2<<2)|0;if((Yz(d,c,h)|0)==0?(b[d+h>>0]|0)==0:0)break;a=(f[g+(a+1<<2)>>2]|0)+a|0;if((a|0)>=(e|0)){a=0;i=9;break}}if((i|0)==9)return a|0;i=f[g+(a<<2)>>2]|0;return i|0}function Vp(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0;l=t;t=t+16|0;i=l+8|0;j=l;k=a+8|0;c=d[k>>1]&31;if((c|16|0)!=18){k=h[5792+c>>0]|0;t=l;return k|0}c=b[a+10>>0]|0;e=a+16|0;g=a+12|0;if(!(jf(f[e>>2]|0,i,f[g>>2]|0,c)|0))c=d[k>>1]|0;else{if(!(kf(f[e>>2]|0,j,f[g>>2]|0,c)|0)){i=j;j=f[i+4>>2]|0;c=a;f[c>>2]=f[i>>2];f[c+4>>2]=j;c=4}else{p[a>>3]=+p[i>>3];c=8}c=d[k>>1]&-3|c;d[k>>1]=c}k=h[5792+(c&31)>>0]|0;t=l;return k|0}function Wp(a,c,e,g,i,k,l,m){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0;da=t;t=t+336|0;aa=da+40|0;W=da+32|0;Y=da+24|0;X=da+16|0;V=da+8|0;U=da;$=da+320|0;ca=da+48|0;f[$>>2]=0;f[m>>2]=0;R=(l|0)!=0;S=R&1;_=(a|0)==0;a:do if(_){if(!(f[9328]|0)){l=ib[f[37356>>2]&255](32)|0;p=24;break}l=ib[f[37372>>2]&255](32)|0;if((f[18194]|0)>>>0<32)f[18194]=32;o=71896;n=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&n>>>0>0){Z=f[18187]|0;Q=LA(n|0,o|0,l|0,((l|0)<0)<<31>>31|0)|0;P=ba()|0;f[17976]=((P|0)<0|(P|0)==0&Q>>>0<=Z>>>0)&1}l=ib[f[37356>>2]&255](l)|0;if(l){n=ib[f[37368>>2]&255](l)|0;n=(f[18187]|0)+n|0;f[18187]=n;if(n>>>0>(f[18191]|0)>>>0)f[18191]=n;n=(f[18190]|0)+1|0;f[18190]=n;if(n>>>0>(f[18196]|0)>>>0){f[18196]=n;p=25}else p=25}else M=0}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){M=0;break}}else{do if((j[a+276>>1]|0)>=32){n=a+300|0;l=f[n>>2]|0;if(l|0){f[n>>2]=f[l>>2];p=a+284|0;f[p>>2]=(f[p>>2]|0)+1;p=24;break a}n=a+296|0;l=f[n>>2]|0;if(!l){l=a+292|0;break}else{f[n>>2]=f[l>>2];p=a+284|0;f[p>>2]=(f[p>>2]|0)+1;p=24;break a}}else l=a+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1}l=Dc(a,32,0)|0;p=24}while(0);if((p|0)==24)if(!l)M=0;else p=25;if((p|0)==25){n=l;o=n+32|0;do{b[n>>0]=0;n=n+1|0}while((n|0)<(o|0));M=l}K=(M|0)!=0;B=a+20|0;C=a+16|0;N=a+480|0;O=a+304|0;P=a+308|0;Q=a+300|0;D=M+28|0;E=M+24|0;F=a+32|0;L=M+16|0;G=M+8|0;H=M+20|0;Z=a+81|0;I=ca+192|0;J=ca+44|0;A=ca+40|0;z=0;l=0;while(1){_A(ca|0,0,272)|0;if(!K){p=103;break}f[ca>>2]=a;n=f[$>>2]|0;do if(n|0){if(!_){if(f[N>>2]|0){Kc(a,n);break}y=n;if((f[O>>2]|0)>>>0<=y>>>0?(f[P>>2]|0)>>>0>y>>>0:0){f[n>>2]=f[Q>>2];f[Q>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{y=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[$>>2]=0;o=f[B>>2]|0;if((o|0)>0){p=f[C>>2]|0;n=0;do{q=f[p+(n<<4)+4>>2]|0;if(q|0)f[(f[q+4>>2]|0)+4>>2]=f[q>>2];n=n+1|0}while((n|0)!=(o|0))}y=pi(ca,0,e,c)|0;if(!y){p=50;break}if(f[y+56>>2]|0){p=45;break}if(f[y+36>>2]&32|0){p=47;break}if(f[y+12>>2]|0){p=49;break}f[D>>2]=y;p=f[C>>2]|0;w=y+72|0;o=f[w>>2]|0;if(!o)n=-1e6;else{n=0;while(1)if((f[p+(n<<4)+12>>2]|0)==(o|0))break;else n=n+1|0}f[E>>2]=f[p+(n<<4)>>2];x=y+42|0;v=d[x>>1]|0;u=v<<16>>16;b:do if(v<<16>>16>0){r=f[y+4>>2]|0;s=h[1232+(h[g>>0]|0)>>0]|0;n=0;while(1){p=f[r+(n<<4)>>2]|0;v=b[p>>0]|0;o=(h[1232+(v&255)>>0]|0)-s|0;if(!(v<<24>>24==0|(o|0)!=0)){q=g;do{p=p+1|0;q=q+1|0;v=b[p>>0]|0;o=(h[1232+(v&255)>>0]|0)-(h[1232+(h[q>>0]|0)>>0]|0)|0}while(!(v<<24>>24==0|(o|0)!=0))}if(!o){v=n;break b}n=n+1|0;if((n|0)>=(u|0)){v=n;break}}}else v=0;while(0);if((v|0)==(u|0)){p=63;break}if(R){if(!((f[F>>2]&16384|0)==0&0==0)?(T=f[y+16>>2]|0,(T|0)!=0):0){q=T;n=0;do{p=f[q+20>>2]|0;if((p|0)>0){o=0;do{n=(f[q+36+(o<<3)>>2]|0)==(v|0)?59635:n;o=o+1|0}while((o|0)<(p|0))}q=f[q+4>>2]|0}while((q|0)!=0);o=n}else o=0;n=f[y+8>>2]|0;if(!n)n=o;else{do{p=d[n+50>>1]|0;if(p<<16>>16){r=f[n+4>>2]|0;q=p&65535;p=0;do{u=d[r+(p<<1)>>1]|0;o=u<<16>>16==-2|(v|0)==(u<<16>>16|0)?59647:o;p=p+1|0}while(p>>>0>>0)}n=f[n+20>>2]|0}while((n|0)!=0);n=o}if(n|0){p=79;break}}s=sl(ca)|0;f[L>>2]=s;do if(s|0){p=f[w>>2]|0;if(!p)r=-1e6;else{o=f[C>>2]|0;n=0;while(1)if((f[o+(n<<4)+12>>2]|0)==(p|0)){r=n;break}else n=n+1|0}o=f[p>>2]|0;p=f[p+4>>2]|0;q=s+136|0;n=f[q>>2]|0;if((f[(f[s+12>>2]|0)+48>>2]|0)>(n|0)){f[q>>2]=n+1;w=f[s+88>>2]|0;b[w+(n*20|0)>>0]=2;d[w+(n*20|0)+2>>1]=0;f[w+(n*20|0)+4>>2]=r;f[w+(n*20|0)+8>>2]=S;f[w+(n*20|0)+12>>2]=o;f[w+(n*20|0)+16>>2]=0;b[w+(n*20|0)+1>>0]=0}else n=tl(s,2,r,S,o)|0;if(!(b[(f[s>>2]|0)+81>>0]|0)){w=f[s+88>>2]|0;b[w+(n*20|0)+1>>0]=-3;f[w+(n*20|0)+16>>2]=p}n=f[q>>2]|0;if((n|0)>0)d[(f[s+88>>2]|0)+((n+-1|0)*20|0)+2>>1]=1;o=wl(s,6,23344)|0;n=1<>2]=f[w>>2]|n;do if((r|0)!=1){if(!(b[(f[(f[(f[s>>2]|0)+16>>2]|0)+(r<<4)+4>>2]|0)+9>>0]|0))break;w=s+152|0;f[w>>2]=f[w>>2]|n}while(0);if(b[Z>>0]|0)break;f[o+4>>2]=r;n=y+28|0;f[o+8>>2]=f[n>>2];f[o+12>>2]=S;if((b[(f[s>>2]|0)+81>>0]|0)==0?(ul(s,(f[s+88>>2]|0)+40|0,f[y>>2]|0,0),b[Z>>0]|0):0)break;if(R)b[o+20>>0]=110;f[o+28>>2]=f[n>>2];f[o+32>>2]=r;b[o+21>>0]=-3;f[o+36>>2]=(d[x>>1]|0)+1;f[o+68>>2]=d[x>>1];d[I>>1]=0;f[J>>2]=1;f[A>>2]=1;yl(s,ca)}while(0);d[G>>1]=v;f[H>>2]=a;if(b[Z>>0]|0){p=102;break}l=Xp(M,i,k,$)|0;z=z+1|0;if(!(z>>>0<50&(l|0)==17)){p=102;break}else l=17}if((p|0)==45){f[U>>2]=e;ni(ca,59548,U);p=50}else if((p|0)==47){f[V>>2]=e;ni(ca,59578,V);p=50}else if((p|0)==49){f[X>>2]=e;ni(ca,59614,X);p=50}else if((p|0)==63){f[Y>>2]=g;l=Ig(a,53979,Y)|0;f[$>>2]=l;l=1;p=105}else if((p|0)==79){f[W>>2]=n;l=Ig(a,59655,W)|0;f[$>>2]=l;l=1;p=105}else if((p|0)==102)if(!l)p=103;else p=105;if((p|0)==50){l=ca+4|0;n=f[l>>2]|0;if(!n){l=1;p=105}else{f[$>>2]=n;f[l>>2]=0;l=1;p=105}}else if((p|0)==103)if(!(b[Z>>0]|0)){f[m>>2]=M;o=0}else{l=0;p=105}do if((p|0)==105)if(K){r=f[L>>2]|0;do if(r|0){s=r+20|0;n=f[s>>2]|0;if((n|0)<832317811)switch(n|0){case 770837923:{p=108;break}default:{}}else switch(n|0){case 832317811:{p=108;break}default:{}}if((p|0)==108)fg(r)|0;p=f[r>>2]|0;gg(p,r);q=f[r+4>>2]|0;o=r+8|0;n=f[o>>2]|0;if(!q)f[p+4>>2]=n;else{f[q+8>>2]=n;n=f[o>>2]|0}if(n|0)f[n+4>>2]=q;f[s>>2]=1443283912;f[r>>2]=0;if(p|0){if(f[p+480>>2]|0){Kc(p,r);break}m=r;if((f[p+304>>2]|0)>>>0<=m>>>0?(f[p+308>>2]|0)>>>0>m>>>0:0){m=p+300|0;f[r>>2]=f[m>>2];f[m>>2]=r;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{m=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}while(0);if(!_){if(f[N>>2]|0){Kc(a,M);o=l;break}m=M;if((f[O>>2]|0)>>>0<=m>>>0?(f[P>>2]|0)>>>0>m>>>0:0){f[M>>2]=f[Q>>2];f[Q>>2]=M;o=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](M);o=l;break}else{o=ib[f[37368>>2]&255](M)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](M);o=l;break}}else o=l;while(0);l=f[$>>2]|0;$=(l|0)==0;f[aa>>2]=l;vg(a,o,$?0:40840,aa);do if(!$){if(!_){if(f[N>>2]|0){Kc(a,l);break}aa=l;if((f[O>>2]|0)>>>0<=aa>>>0?(f[P>>2]|0)>>>0>aa>>>0:0){f[l>>2]=f[Q>>2];f[Q>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{aa=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);n=f[ca>>2]|0;l=f[ca+64>>2]|0;do if(l|0){if(n|0){if(f[n+480>>2]|0){Kc(n,l);break}aa=l;if((f[n+304>>2]|0)>>>0<=aa>>>0?(f[n+308>>2]|0)>>>0>aa>>>0:0){aa=n+300|0;f[l>>2]=f[aa>>2];f[aa>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{aa=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);l=f[ca+68>>2]|0;if(l|0)jg(n,l);l=ca+24|0;if(n|0){ca=n+272|0;f[ca>>2]=(f[ca>>2]|0)-(h[l>>0]|0)}b[l>>0]=0;if((o|0)==3082|(b[Z>>0]|0)!=0){Di(a);a=7;t=da;return a|0}else{a=f[a+68>>2]&o;t=da;return a|0}return 0}function Xp(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=t;t=t+32|0;n=r+16|0;m=r+8|0;o=r;q=a+16|0;l=f[q>>2]|0;i=f[l+92>>2]|0;d[i+48>>1]=4;i=i+40|0;f[i>>2]=c;f[i+4>>2]=e;i=l+36|0;if((f[i>>2]|0)>4){f[i>>2]=4;k=Ji(l)|0}else k=Ei(f[q>>2]|0)|0;if((k|0)!=100){i=f[q>>2]|0;if(!i){p=0;q=k;f[g>>2]=p;t=r;return q|0}k=Fi(i)|0;f[q>>2]=0;i=f[a+20>>2]|0;if(!k){p=m;f[p>>2]=c;f[p+4>>2]=e;p=Ig(i,59718,m)|0;q=1;f[g>>2]=p;t=r;return q|0}else{p=Mj(i)|0;f[n>>2]=p;p=Ig(i,40840,n)|0;q=k;f[g>>2]=p;t=r;return q|0}}l=f[f[l+112>>2]>>2]|0;i=d[a+8>>1]|0;a:do if((j[l+58>>1]|0)>(i&65535)){i=i&65535;k=f[l+88+(i<<2)>>2]|0;if(k>>>0<12){i=f[a+20>>2]|0;switch(k|0){case 7:{k=41700;break a}case 0:{p=9;break a}default:{}}k=41692;break}f[a+4>>2]=f[l+88+((d[l+56>>1]|0)+i<<2)>>2];if(k>>>0>127)i=(k+-12|0)>>>1;else i=h[7808+k>>0]|0;f[a>>2]=i;p=f[l+40>>2]|0;f[a+12>>2]=p;q=p+1|0;b[q>>0]=b[q>>0]|16;b[(f[p+8>>2]|0)+11>>0]=1;p=0;q=0;f[g>>2]=p;t=r;return q|0}else{i=f[a+20>>2]|0;p=9}while(0);if((p|0)==9)k=41715;f[o>>2]=k;p=Ig(i,59689,o)|0;Fi(f[q>>2]|0)|0;f[q>>2]=0;q=1;f[g>>2]=p;t=r;return q|0}function Yp(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!(b[a>>0]|0)){e=ph(a,c,d,e,0)|0;return e|0}else{e=$p(a,c,d,e)|0;return e|0}return 0}function Zp(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=t;t=t+16|0;h=m;if(!a){f[h>>2]=40433;f[h+4>>2]=90942;f[h+8>>2]=40460;Ac(21,40408,h);l=21;t=m;return l|0}k=f[a+20>>2]|0;i=a+16|0;j=f[i>>2]|0;do if((e|d|0)>=0?(n=KA(e|0,((e|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0,p=ba()|0,h=f[a>>2]|0,o=((h|0)<0)<<31>>31,!((p|0)>(o|0)|(p|0)==(o|0)&n>>>0>h>>>0)):0)if(!j){h=4;l=24}else{h=f[a+12>>2]|0;p=f[h+8>>2]|0;f[(f[p+4>>2]|0)+4>>2]=f[p>>2];h=lb[g&127](h,(f[a+4>>2]|0)+e|0,d,c)|0;if((h|0)!=4){f[j+40>>2]=h;f[k+64>>2]=h;if(h|0){l=27;break}if(!(f[k+256>>2]|0)){h=0;break}Bg(k,0);h=0;break}e=j+20|0;h=f[e>>2]|0;if((h|0)<832317811)switch(h|0){case 770837923:{l=8;break}default:{}}else switch(h|0){case 832317811:{l=8;break}default:{}}if((l|0)==8)fg(j)|0;c=f[j>>2]|0;gg(c,j);d=f[j+4>>2]|0;a=j+8|0;h=f[a>>2]|0;if(!d)f[c+4>>2]=h;else{f[d+8>>2]=h;h=f[a>>2]|0}if(h|0)f[h+4>>2]=d;f[e>>2]=1443283912;f[j>>2]=0;do if(c){if(f[c+480>>2]|0){Kc(c,j);break}p=j;if((f[c+304>>2]|0)>>>0<=p>>>0?(f[c+308>>2]|0)>>>0>p>>>0:0){p=c+300|0;f[j>>2]=f[p>>2];f[p>>2]=j}else l=20}else l=20;while(0);do if((l|0)==20)if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{p=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}while(0);f[i>>2]=0;h=4;l=24}else{h=1;l=24}while(0);if((l|0)==24){f[k+64>>2]=h;l=27}if((l|0)==27)Bg(k,h);if((h|0)==3082|(b[k+81>>0]|0)!=0){Di(k);p=7;t=m;return p|0}else{p=f[k+68>>2]&h;t=m;return p|0}return 0}function _p(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=t;t=t+16|0;i=k;g=b[a>>0]|0;if((g&255)>2){if(g<<24>>24==4){j=f[a+4>>2]|0;t=k;return ((j|0)==0?4:j)|0}b[a>>0]=1;h=a+16|0;g=a+56|0;g=lk(a,f[h>>2]|0,f[g>>2]|0,f[g+4>>2]|0,0,i)|0;if(g|0){j=g;t=k;return j|0}g=f[h>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{l=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[h>>2]=0;g=a+4|0;l=f[g>>2]|f[i>>2];f[g>>2]=l;g=b[a>>0]|0;if((l|0)!=0&g<<24>>24==0){b[a>>0]=2;g=2}}if(g<<24>>24){l=4;t=k;return l|0}i=f[a+64>>2]|0;g=f[(f[a+20>>2]|0)+8>>2]|0;a:do if(!g)j=25;else{b:do if(i){do{if((g|0)!=(a|0)?(f[g+64>>2]|0)==(i|0):0)break b;g=f[g+24>>2]|0}while((g|0)!=0);if(!a)break a;else{j=25;break a}}else{h=a+24|0;while(1){if((g|0)!=(a|0))break b;g=f[h>>2]|0;if(!g){j=25;break a}}}while(0);Kg(g,i,a)|0}while(0);if((j|0)==25){l=a+1|0;b[l>>0]=b[l>>0]&-33}if(!(b[a+1>>0]&1)){l=8;t=k;return l|0}l=ph(a,c,d,e,1)|0;t=k;return l|0}function $p(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;j=t;t=t+16|0;i=j;g=b[a>>0]|0;if(g<<24>>24==1){e=4;t=j;return e|0}if(g<<24>>24==4){g=f[a+4>>2]|0;if(g|0){e=g;t=j;return e|0}}else{b[a>>0]=1;h=a+16|0;g=a+56|0;g=lk(a,f[h>>2]|0,f[g>>2]|0,f[g+4>>2]|0,0,i)|0;if(g|0){e=g;t=j;return e|0}g=f[h>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{k=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[h>>2]=0;h=a+4|0;k=f[h>>2]|f[i>>2];f[h>>2]=k;if(k|0?(b[a>>0]|0)==0:0)b[a>>0]=2}k=ph(a,c,d,e,0)|0;t=j;return k|0}function aq(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=t;t=t+32|0;j=k+16|0;e=k;h=k+20|0;if(!a){f[e>>2]=40433;f[e+4>>2]=91040;f[e+8>>2]=40460;Ac(21,40408,e);j=21;t=k;return j|0}i=f[a+20>>2]|0;if(!(f[a+16>>2]|0))e=4;else{e=Xp(a,c,d,h)|0;do if(e|0?(g=f[h>>2]|0,h=(g|0)==0,f[j>>2]=g,vg(i,e,h?0:40840,j),!h):0){if(i|0){if(f[i+480>>2]|0){Kc(i,g);break}j=g;if((f[i+304>>2]|0)>>>0<=j>>>0?(f[i+308>>2]|0)>>>0>j>>>0:0){j=i+300|0;f[g>>2]=f[j>>2];f[j>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{j=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0)}if((e|0)==3082|(b[i+81>>0]|0)!=0){Di(i);j=7;t=k;return j|0}else{j=f[i+68>>2]&e;t=k;return j|0}return 0}function bq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ki(a,b,c,128,0,d,e)|0}function cq(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=t;t=t+16|0;n=o;k=f[a+348>>2]|0;if(!k){i=a+340|0;g=a+344|0}else{i=b[c>>0]|0;if(!(i<<24>>24))g=0;else{g=0;j=c;do{j=j+1|0;g=U(g+(h[1232+(i&255)>>0]|0)|0,-1640531535)|0;i=b[j>>0]|0}while(i<<24>>24!=0)}g=(g>>>0)%((f[a+336>>2]|0)>>>0)|0;i=k+(g<<3)|0;g=k+(g<<3)+4|0}i=f[i>>2]|0;a:do if(!i)g=72124;else{m=h[1232+(h[c>>0]|0)>>0]|0;while(1){g=f[g>>2]|0;i=i+-1|0;k=f[g+12>>2]|0;l=b[k>>0]|0;j=(h[1232+(l&255)>>0]|0)-m|0;if(!(l<<24>>24==0|(j|0)!=0)){l=c;do{k=k+1|0;l=l+1|0;p=b[k>>0]|0;j=(h[1232+(p&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(p<<24>>24==0|(j|0)!=0))}if(!j)break a;if(!i){g=72124;break}}}while(0);if(!(f[g+8>>2]|0)){ri(a,c,d,e,0)|0;g=0}else{f[n>>2]=40433;f[n+4>>2]=133630;f[n+8>>2]=40460;Ac(21,40408,n);g=21}if(!(b[a+81>>0]|0)){p=f[a+68>>2]&g;t=o;return p|0}else{Di(a);p=7;t=o;return p|0}return 0}function dq(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=t;t=t+16|0;o=p;l=f[a+348>>2]|0;if(!l){j=a+340|0;i=a+344|0}else{j=b[c>>0]|0;if(!(j<<24>>24))i=0;else{i=0;k=c;do{k=k+1|0;i=U(i+(h[1232+(j&255)>>0]|0)|0,-1640531535)|0;j=b[k>>0]|0}while(j<<24>>24!=0)}i=(i>>>0)%((f[a+336>>2]|0)>>>0)|0;j=l+(i<<3)|0;i=l+(i<<3)+4|0}j=f[j>>2]|0;a:do if(!j)i=72124;else{n=h[1232+(h[c>>0]|0)>>0]|0;while(1){i=f[i>>2]|0;j=j+-1|0;l=f[i+12>>2]|0;m=b[l>>0]|0;k=(h[1232+(m&255)>>0]|0)-n|0;if(!(m<<24>>24==0|(k|0)!=0)){m=c;do{l=l+1|0;m=m+1|0;q=b[l>>0]|0;k=(h[1232+(q&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(q<<24>>24==0|(k|0)!=0))}if(!k)break a;if(!j){i=72124;break}}}while(0);if(!(f[i+8>>2]|0)){ri(a,c,d,e,g)|0;i=0}else{f[o>>2]=40433;f[o+4>>2]=133630;f[o+8>>2]=40460;Ac(21,40408,o);i=21}if(!(b[a+81>>0]|0))i=f[a+68>>2]&i;else{Di(a);i=7}if(!((g|0)!=0&(i|0)!=0)){t=p;return i|0}ob[g&127](e);t=p;return i|0}function eq(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;i=t;t=t+48|0;e=i+32|0;h=i+16|0;g=i;f[g>>2]=d;do if((c|0)==1){c=f[a+352>>2]|0;if(!c){f[h>>2]=40433;f[h+4>>2]=134773;f[h+8>>2]=40460;Ac(21,40408,h);break}a=(f[g>>2]|0)+(4-1)&~(4-1);h=f[a>>2]|0;f[g>>2]=a+4;b[(f[c>>2]|0)+16>>0]=h;h=0;t=i;return h|0}else{f[e>>2]=40433;f[e+4>>2]=134781;f[e+8>>2]=40460;Ac(21,40408,e)}while(0);f[a+64>>2]=21;Bg(a,21);h=21;t=i;return h|0}function fq(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+16|0;g=m;f[g>>2]=d;do switch(c|0){case 1e3:{k=(f[g>>2]|0)+(4-1)&~(4-1);l=f[k>>2]|0;f[g>>2]=k+4;f[f[a+16>>2]>>2]=l;l=0;t=m;return l|0}case 1001:{i=(f[g>>2]|0)+(4-1)&~(4-1);j=f[i>>2]|0;f[g>>2]=i+4;i=(f[g>>2]|0)+(4-1)&~(4-1);k=f[i>>2]|0;f[g>>2]=i+4;i=(f[g>>2]|0)+(4-1)&~(4-1);l=f[i>>2]|0;f[g>>2]=i+4;l=gq(a,j,k,l)|0;t=m;return l|0}case 1002:{j=0;break}case 1003:{j=1;break}case 1004:{j=2;break}case 1005:{j=3;break}case 1006:{j=4;break}case 1007:{j=5;break}case 1008:{j=6;break}case 1009:{j=7;break}case 1010:{j=8;break}default:{l=1;t=m;return l|0}}while(0);i=(f[g>>2]|0)+(4-1)&~(4-1);d=f[i>>2]|0;f[g>>2]=i+4;i=(f[g>>2]|0)+(4-1)&~(4-1);k=f[i>>2]|0;f[g>>2]=i+4;i=a+32|0;c=i;g=f[c>>2]|0;c=f[c+4>>2]|0;if((d|0)<=0)if(!d){d=g&~f[23376+(j<<3)+4>>2];c=0;l=16}else d=g;else{d=g|f[23376+(j<<3)+4>>2];l=16}if((l|0)==16){l=i;f[l>>2]=d;f[l+4>>2]=c}if(!((g|0)==(d|0)&0==(c|0))?(e=f[a+4>>2]|0,e|0):0)do{l=e+145|0;a=(h[l>>0]|h[l+1>>0]<<8)&-4|1;b[l>>0]=a;b[l+1>>0]=a>>8;e=f[e+8>>2]|0}while((e|0)!=0);if(!k){l=0;t=m;return l|0}f[k>>2]=(0?1:(f[i>>2]&f[23376+(j<<3)+4>>2]|0)!=0)&1;l=0;t=m;return l|0} -function ql(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,jb=0,kb=0,lb=0,mb=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0;ae=t;t=t+1648|0;pd=ae+1600|0;nd=ae+1592|0;md=ae+1576|0;ld=ae+1568|0;kd=ae+1552|0;Cd=ae+1544|0;Bd=ae+1536|0;Mc=ae+1528|0;Gc=ae+1512|0;Jc=ae+1496|0;Ic=ae+1480|0;Cc=ae+1456|0;Bc=ae+1416|0;zc=ae+1408|0;cc=ae+1400|0;bc=ae+1392|0;Wa=ae+1384|0;$c=ae+1376|0;Qa=ae+1368|0;Pa=ae+1360|0;Fc=ae+1336|0;ac=ae+1328|0;Vb=ae+1320|0;Rb=ae+1312|0;Qb=ae+1304|0;Pb=ae+1296|0;Ib=ae+1288|0;Hb=ae+1280|0;sd=ae+1272|0;jd=ae+1256|0;rd=ae+1240|0;qd=ae+1224|0;Tc=ae+1200|0;Sc=ae+1184|0;Rc=ae+1152|0;Qc=ae+1120|0;gc=ae+1112|0;fc=ae+1104|0;Ub=ae+1096|0;Ob=ae+1088|0;Nb=ae+1080|0;Vc=ae+1072|0;_c=ae+1064|0;Ed=ae+1056|0;kb=ae+1048|0;cb=ae+1040|0;Ec=ae+1032|0;Ac=ae+1024|0;Uc=ae+1016|0;cd=ae+1008|0;Ma=ae+1e3|0;o=ae+992|0;n=ae+984|0;g=ae+976|0;Xd=ae+968|0;Wd=ae+960|0;Ud=ae+952|0;Td=ae+944|0;Sd=ae+936|0;Rd=ae+920|0;Qd=ae+912|0;Md=ae+904|0;Hd=ae+896|0;zd=ae+888|0;yd=ae+880|0;Yc=ae+872|0;Bb=ae+864|0;vb=ae+856|0;ub=ae+848|0;Dd=ae+840|0;xd=ae+816|0;Hc=ae+808|0;la=ae+800|0;V=ae+792|0;id=ae+784|0;hd=ae+768|0;gd=ae+760|0;od=ae;Oc=ae+752|0;yc=ae+744|0;xc=ae+736|0;oc=ae+728|0;nc=ae+720|0;jb=ae+712|0;hb=ae+704|0;u=ae+696|0;E=ae+688|0;Tb=ae+680|0;Va=ae+672|0;ab=ae+664|0;Ua=ae+656|0;rc=ae+648|0;Lb=ae+640|0;Kb=ae+632|0;lc=ae+624|0;tb=ae+616|0;sb=ae+608|0;$a=ae+600|0;Ta=ae+592|0;qc=ae+584|0;Gb=ae+576|0;Ab=ae+568|0;ec=ae+560|0;jc=ae+552|0;rb=ae+544|0;gb=ae+536|0;qb=ae+528|0;Fb=ae+520|0;Eb=ae+512|0;fb=ae+504|0;zb=ae+496|0;$b=ae+488|0;ta=ae+480|0;sa=ae+472|0;_b=ae+464|0;ra=ae+456|0;qa=ae+448|0;Zb=ae+440|0;Sa=ae+432|0;r=ae+424|0;N=ae+416|0;D=ae+408|0;Ja=ae+400|0;za=ae+392|0;pa=ae+384|0;s=ae+376|0;ya=ae+368|0;na=ae+360|0;mb=ae+352|0;G=ae+344|0;ud=ae+336|0;lb=ae+328|0;td=ae+320|0;Wb=ae+312|0;Zc=ae+304|0;ma=ae+296|0;xb=ae+288|0;wb=ae+280|0;db=ae+272|0;kc=ae+264|0;Ya=ae+256|0;Xa=ae+248|0;xa=ae+240|0;wa=ae+232|0;va=ae+224|0;Oa=ae+216|0;Na=ae+208|0;ua=ae+200|0;bb=ae+192|0;bd=ae+184|0;O=ae+176|0;Mb=ae+168|0;ka=ae+160|0;ja=ae+152|0;ia=ae+144|0;ha=ae+136|0;ga=ae+128|0;oa=ae+120|0;Q=ae+112|0;P=ae+104|0;F=ae+96|0;C=ae+88|0;M=ae+80|0;Yd=ae+48|0;Ld=ae+24|0;vc=ae+1616|0;$d=f[a>>2]|0;_d=b[20416+(c<<2)+2>>0]|0;if(_d<<24>>24==0?$d>>>0>=(f[a+1208>>2]|0)>>>0:0){l=a+4|0;m=f[l>>2]|0;g=a+8|0;if($d>>>0>g>>>0?(f[a>>2]=$d+-12,rl(m,d[$d+2>>1]|0,$d+4|0),I=f[a>>2]|0,I>>>0>g>>>0):0){k=I;do{$d=f[l>>2]|0;f[a>>2]=k+-12;rl($d,d[k+2>>1]|0,k+4|0);k=f[a>>2]|0}while(k>>>0>g>>>0)}ni(m,50941,M);f[l>>2]=m;a=0;t=ae;return a|0}a:do switch(c|0){case 0:{b[i+195>>0]=1;break}case 1:{b[i+195>>0]=2;break}case 2:{w=f[i>>2]|0;if(!(b[i+18>>0]|0)){B=w+81|0;if((b[B>>0]|0)==0?(Id=i+36|0,(f[Id>>2]|0)==0):0){A=i+8|0;k=f[A>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[w+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(k|0){x=k;Zd=21}}else{x=k;Zd=21}if((Zd|0)==21){y=x+136|0;k=f[y>>2]|0;z=x+12|0;if((f[(f[z>>2]|0)+48>>2]|0)>(k|0)){f[y>>2]=k+1;M=f[x+88>>2]|0;b[M+(k*20|0)>>0]=69;M=M+(k*20|0)+1|0;N=M+19|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0))}else tl(x,69,0,0,0)|0;do if(!(b[B>>0]|0)){v=i+84|0;m=f[v>>2]|0;if(!m){if(!(f[i+68>>2]|0))break;k=f[y>>2]|0;if(!(b[(f[x>>2]|0)+81>>0]|0))l=f[x+88>>2]|0;else l=72144}else{k=f[y>>2]|0;if(!(b[(f[x>>2]|0)+81>>0]|0))l=f[x+88>>2]|0;else l=72144}f[l+8>>2]=k;q=w+20|0;b:do if((f[q>>2]|0)>0){r=x+148|0;s=w+16|0;u=i+80|0;n=x+88|0;o=x+152|0;p=w+165|0;k=0;while(1){l=1<>2]=f[r>>2]|l;if((k|0)!=1?b[(f[(f[(f[x>>2]|0)+16>>2]|0)+(k<<4)+4>>2]|0)+9>>0]|0:0)f[o>>2]=f[o>>2]|l;e=f[(f[s>>2]|0)+(k<<4)+12>>2]|0;m=(f[u>>2]&l|0)!=0&1;g=f[e>>2]|0;e=f[e+4>>2]|0;l=f[y>>2]|0;if((f[(f[z>>2]|0)+48>>2]|0)>(l|0)){f[y>>2]=l+1;Yd=f[n>>2]|0;b[Yd+(l*20|0)>>0]=2;d[Yd+(l*20|0)+2>>1]=0;f[Yd+(l*20|0)+4>>2]=k;f[Yd+(l*20|0)+8>>2]=m;f[Yd+(l*20|0)+12>>2]=g;f[Yd+(l*20|0)+16>>2]=0;b[Yd+(l*20|0)+1>>0]=0}else l=tl(x,2,k,m,g)|0;if(!(b[(f[x>>2]|0)+81>>0]|0)){Yd=f[n>>2]|0;b[Yd+(l*20|0)+1>>0]=-3;f[Yd+(l*20|0)+16>>2]=e}if(b[p>>0]|0)break;l=f[y>>2]|0;if((l|0)<=0)break;d[(f[n>>2]|0)+((l+-1|0)*20|0)+2>>1]=1}while(0);k=k+1|0;if((k|0)>=(f[q>>2]|0))break b;m=f[v>>2]|0}}while(0);n=i+200|0;if((f[n>>2]|0)>0){o=i+248|0;p=x+88|0;e=0;do{k=f[(f[(f[o>>2]|0)+(e<<2)>>2]|0)+64>>2]|0;c:do if(!k)k=0;else while(1){if((f[k>>2]|0)==(w|0))break c;k=f[k+24>>2]|0;if(!k){k=0;break}}while(0);l=f[y>>2]|0;if((f[(f[z>>2]|0)+48>>2]|0)>(l|0)){f[y>>2]=l+1;M=f[p>>2]|0;b[M+(l*20|0)>>0]=-95;M=M+(l*20|0)+1|0;N=M+19|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0))}else l=tl(x,161,0,0,0)|0;do if(!(b[(f[x>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[y>>2]|0)+-1|0;m=f[p>>2]|0;g=m+(l*20|0)+1|0;if(b[g>>0]|0){ul(x,m+(l*20|0)|0,k,-12);break}if(!k)break;f[m+(l*20|0)+16>>2]=k;b[g>>0]=-12;Yd=k+12|0;f[Yd>>2]=(f[Yd>>2]|0)+1}while(0);e=e+1|0}while((e|0)<(f[n>>2]|0))}f[n>>2]=0;k=f[A>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0}o=i+104|0;if((f[o>>2]|0)>0){p=i+108|0;q=k+136|0;r=k+12|0;s=k+88|0;n=0;do{u=f[p>>2]|0;m=f[u+(n<<4)>>2]|0;g=f[u+(n<<4)+4>>2]|0;e=h[u+(n<<4)+8>>0]|0;u=f[u+(n<<4)+12>>2]|0;l=f[q>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(l|0)){f[q>>2]=l+1;Yd=f[s>>2]|0;b[Yd+(l*20|0)>>0]=-96;d[Yd+(l*20|0)+2>>1]=0;f[Yd+(l*20|0)+4>>2]=m;f[Yd+(l*20|0)+8>>2]=g;f[Yd+(l*20|0)+12>>2]=e;f[Yd+(l*20|0)+16>>2]=0;b[Yd+(l*20|0)+1>>0]=0}else l=tl(k,160,m,g,e)|0;do if(!(b[(f[k>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[q>>2]|0)+-1|0;m=f[s>>2]|0;g=m+(l*20|0)+1|0;if(b[g>>0]|0){ul(k,m+(l*20|0)|0,u,-1);break}if(!u)break;f[m+(l*20|0)+16>>2]=u;b[g>>0]=-1}while(0);n=n+1|0}while((n|0)<(f[o>>2]|0))}n=f[A>>2]|0;k=f[i+112>>2]|0;d:do if(k|0){o=(f[i>>2]|0)+16|0;p=n+136|0;q=n+12|0;r=n+88|0;do{e=f[k+8>>2]|0;g=f[k+12>>2]|0;vl(i,0,e,f[(f[(f[o>>2]|0)+(e<<4)+12>>2]|0)+72>>2]|0,109);e=g+-1|0;m=f[f[k+4>>2]>>2]|0;l=f[p>>2]|0;if((f[(f[q>>2]|0)+48>>2]|0)>(l|0)){f[p>>2]=l+1;Yd=f[r>>2]|0;b[Yd+(l*20|0)>>0]=106;d[Yd+(l*20|0)+2>>1]=0;f[Yd+(l*20|0)+4>>2]=0;f[Yd+(l*20|0)+8>>2]=e;f[Yd+(l*20|0)+12>>2]=0;f[Yd+(l*20|0)+16>>2]=0;b[Yd+(l*20|0)+1>>0]=0}else l=tl(n,106,0,e,0)|0;if(!(b[(f[n>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[p>>2]|0)+-1|0;ul(n,(f[r>>2]|0)+(l*20|0)|0,m,0)}l=wl(n,12,21888)|0;if(!l)break d;f[l+8>>2]=g;Yd=g+2|0;f[l+12>>2]=Yd;f[l+52>>2]=g;f[l+64>>2]=e;f[l+72>>2]=g;d[l+62>>1]=16;f[l+88>>2]=g+1;f[l+112>>2]=g;f[l+124>>2]=g;f[l+148>>2]=Yd;f[l+144>>2]=g;f[l+208>>2]=g;k=f[k>>2]|0}while((k|0)!=0)}while(0);n=f[i+68>>2]|0;if(n|0?(b[i+23>>0]=0,(f[n>>2]|0)>0):0){e=0;do{k=f[n+4+(e*20|0)>>2]|0;o=f[n+4+(e*20|0)+16>>2]|0;do if(k){if((b[k>>0]|0)!=-92){g=xl(i,k,o)|0;Zd=103;break}g=f[A>>2]|0;k=f[k+28>>2]|0;l=g+136|0;m=f[l>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;Yd=f[g+88>>2]|0;b[Yd+(m*20|0)>>0]=78;d[Yd+(m*20|0)+2>>1]=0;f[Yd+(m*20|0)+4>>2]=k;f[Yd+(m*20|0)+8>>2]=o;f[Yd+(m*20|0)+12>>2]=0;f[Yd+(m*20|0)+16>>2]=0;b[Yd+(m*20|0)+1>>0]=0;break}else{tl(g,78,k,o,0)|0;break}}else{g=xl(i,0,o)|0;Zd=103}while(0);do if((Zd|0)==103){Zd=0;if((g|0)==(o|0))break;k=f[A>>2]|0;if(!k)break;l=k+136|0;m=f[l>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;Yd=f[k+88>>2]|0;b[Yd+(m*20|0)>>0]=79;d[Yd+(m*20|0)+2>>1]=0;f[Yd+(m*20|0)+4>>2]=g;f[Yd+(m*20|0)+8>>2]=o;f[Yd+(m*20|0)+12>>2]=0;f[Yd+(m*20|0)+16>>2]=0;b[Yd+(m*20|0)+1>>0]=0;break}else{tl(k,79,g,o,0)|0;break}}while(0);e=e+1|0}while((e|0)<(f[n>>2]|0))}k=f[y>>2]|0;if((f[(f[z>>2]|0)+48>>2]|0)>(k|0)){f[y>>2]=k+1;Zd=f[x+88>>2]|0;b[Zd+(k*20|0)>>0]=11;d[Zd+(k*20|0)+2>>1]=0;f[Zd+(k*20|0)+4>>2]=0;f[Zd+(k*20|0)+8>>2]=1;f[Zd+(k*20|0)+12>>2]=0;f[Zd+(k*20|0)+16>>2]=0;b[Zd+(k*20|0)+1>>0]=0;break}else{tl(x,11,0,1,0)|0;break}}while(0);if((f[Id>>2]|0)==0?(b[B>>0]|0)==0:0){if(f[i+112>>2]|0?(Jd=i+40|0,(f[Jd>>2]|0)==0):0)f[Jd>>2]=1;yl(x,i);f[i+12>>2]=101;break a}}f[i+12>>2]=1;break a}k=i+12|0;if(!(f[k>>2]|0))f[k>>2]=1}break}case 3:{m=f[$d+-8>>2]|0;l=f[i>>2]|0;do if(((b[l+165>>0]|0)==0?(b[i+196>>0]|0)==0:0)?(y=f[l+312>>2]|0,y|0):0){k=nb[y&127](f[l+316>>2]|0,22,44244,0,0,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,C);f[i+12>>2]=23;break a}if((k|2|0)==2)if(!k)break;else break a;else{ni(i,49831,F);f[i+12>>2]=1;break a}}while(0);k=f[i+8>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(!k)break a}if((m|0)==7){l=k+136|0;m=f[l>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;M=f[k+88>>2]|0;b[M+(m*20|0)>>0]=1;M=M+(m*20|0)+1|0;N=M+19|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));break a}else{tl(k,1,0,0,0)|0;break a}}r=l+20|0;if((f[r>>2]|0)>0){n=(m|0)==9?2:1;g=k+136|0;l=k+12|0;o=k+88|0;p=k+148|0;q=k+152|0;e=0;do{m=f[g>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(m|0)){f[g>>2]=m+1;i=f[o>>2]|0;b[i+(m*20|0)>>0]=2;d[i+(m*20|0)+2>>1]=0;f[i+(m*20|0)+4>>2]=e;f[i+(m*20|0)+8>>2]=n;f[i+(m*20|0)+12>>2]=0;f[i+(m*20|0)+16>>2]=0;b[i+(m*20|0)+1>>0]=0}else tl(k,2,e,n,0)|0;m=1<>2]=f[p>>2]|m;if((e|0)!=1?b[(f[(f[(f[k>>2]|0)+16>>2]|0)+(e<<4)+4>>2]|0)+9>>0]|0:0)f[q>>2]=f[q>>2]|m;e=e+1|0}while((e|0)<(f[r>>2]|0))}else{g=k+136|0;l=k+12|0}m=f[g>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(m|0)){f[g>>2]=m+1;M=f[k+88>>2]|0;b[M+(m*20|0)>>0]=1;M=M+(m*20|0)+1|0;N=M+19|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));break a}else{tl(k,1,0,0,0)|0;break a}}case 4:{f[$d+16>>2]=7;break}case 7:case 6:case 5:{f[$d+4>>2]=j[$d+2>>1];break}case 9:case 8:{k=(d[$d+-10>>1]|0)==12;g=k&1;k=k?51015:51024;l=f[i>>2]|0;do if(((b[l+165>>0]|0)==0?(b[i+196>>0]|0)==0:0)?(L=f[l+312>>2]|0,L|0):0){k=nb[L&127](f[l+316>>2]|0,22,k,0,0,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,P);f[i+12>>2]=23;break a}if((k|2|0)==2)if(!k)break;else break a;else{ni(i,49831,Q);f[i+12>>2]=1;break a}}while(0);k=f[i+8>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(!k)break a}l=k+136|0;m=f[l>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;i=f[k+88>>2]|0;b[i+(m*20|0)>>0]=1;d[i+(m*20|0)+2>>1]=0;f[i+(m*20|0)+4>>2]=1;f[i+(m*20|0)+8>>2]=g;f[i+(m*20|0)+12>>2]=0;f[i+(m*20|0)+16>>2]=0;b[i+(m*20|0)+1>>0]=0;break a}else{tl(k,1,1,g,0)|0;break a}}case 10:{e=pl(f[i>>2]|0,$d+4|0)|0;if(e|0){k=f[i+8>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(k|0){g=k;Zd=173}}else{g=k;Zd=173}e:do if((Zd|0)==173){k=f[i>>2]|0;do if(((b[k+165>>0]|0)==0?(b[i+196>>0]|0)==0:0)?(ca=f[k+312>>2]|0,ca|0):0){k=nb[ca&127](f[k+316>>2]|0,32,44244,e,0,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,oa);f[i+12>>2]=23;break e}if((k|2|0)==2)if(!k)break;else break e;else{ni(i,49831,ga);f[i+12>>2]=1;break e}}while(0);m=g+136|0;k=f[m>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;i=(f[g+88>>2]|0)+(k*20|0)|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0}else k=tl(g,0,0,0,0)|0;l=f[g>>2]|0;if(!(b[l+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;l=f[g+88>>2]|0;m=l+(k*20|0)+1|0;if(!(b[m>>0]|0)){f[l+(k*20|0)+16>>2]=e;b[m>>0]=-7;break a}else{ul(g,l+(k*20|0)|0,e,-7);break a}}if(l|0){if(f[l+480>>2]|0){Kc(l,e);break a}i=e;if((f[l+304>>2]|0)>>>0<=i>>>0?(f[l+308>>2]|0)>>>0>i>>>0:0){i=l+300|0;f[e>>2]=f[i>>2];f[i>>2]=e;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break a}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break a}}while(0);k=f[i>>2]|0;if(k|0){if(f[k+480>>2]|0){Kc(k,e);break a}i=e;if((f[k+304>>2]|0)>>>0<=i>>>0?(f[k+308>>2]|0)>>>0>i>>>0:0){i=k+300|0;f[e>>2]=f[i>>2];f[i>>2]=e;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break a}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break a}}break}case 11:{e=pl(f[i>>2]|0,$d+4|0)|0;if(e|0){k=f[i+8>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(k|0){g=k;Zd=214}}else{g=k;Zd=214}f:do if((Zd|0)==214){k=f[i>>2]|0;do if(((b[k+165>>0]|0)==0?(b[i+196>>0]|0)==0:0)?(da=f[k+312>>2]|0,da|0):0){k=nb[da&127](f[k+316>>2]|0,32,51031,e,0,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,ha);f[i+12>>2]=23;break f}if((k|2|0)==2)if(!k)break;else break f;else{ni(i,49831,ia);f[i+12>>2]=1;break f}}while(0);m=g+136|0;k=f[m>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;i=f[g+88>>2]|0;b[i+(k*20|0)>>0]=0;d[i+(k*20|0)+2>>1]=0;f[i+(k*20|0)+4>>2]=1;f[i+(k*20|0)+8>>2]=0;f[i+(k*20|0)+12>>2]=0;f[i+(k*20|0)+16>>2]=0;b[i+(k*20|0)+1>>0]=0}else k=tl(g,0,1,0,0)|0;l=f[g>>2]|0;if(!(b[l+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;l=f[g+88>>2]|0;m=l+(k*20|0)+1|0;if(!(b[m>>0]|0)){f[l+(k*20|0)+16>>2]=e;b[m>>0]=-7;break a}else{ul(g,l+(k*20|0)|0,e,-7);break a}}if(l|0){if(f[l+480>>2]|0){Kc(l,e);break a}i=e;if((f[l+304>>2]|0)>>>0<=i>>>0?(f[l+308>>2]|0)>>>0>i>>>0:0){i=l+300|0;f[e>>2]=f[i>>2];f[i>>2]=e;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break a}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break a}}while(0);k=f[i>>2]|0;if(k|0){if(f[k+480>>2]|0){Kc(k,e);break a}i=e;if((f[k+304>>2]|0)>>>0<=i>>>0?(f[k+308>>2]|0)>>>0>i>>>0:0){i=k+300|0;f[e>>2]=f[i>>2];f[i>>2]=e;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break a}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break a}}break}case 12:{e=pl(f[i>>2]|0,$d+4|0)|0;if(e|0){k=f[i+8>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(k|0){g=k;Zd=255}}else{g=k;Zd=255}g:do if((Zd|0)==255){k=f[i>>2]|0;do if(((b[k+165>>0]|0)==0?(b[i+196>>0]|0)==0:0)?(ea=f[k+312>>2]|0,ea|0):0){k=nb[ea&127](f[k+316>>2]|0,32,51015,e,0,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,ja);f[i+12>>2]=23;break g}if((k|2|0)==2)if(!k)break;else break g;else{ni(i,49831,ka);f[i+12>>2]=1;break g}}while(0);m=g+136|0;k=f[m>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;i=f[g+88>>2]|0;b[i+(k*20|0)>>0]=0;d[i+(k*20|0)+2>>1]=0;f[i+(k*20|0)+4>>2]=2;f[i+(k*20|0)+8>>2]=0;f[i+(k*20|0)+12>>2]=0;f[i+(k*20|0)+16>>2]=0;b[i+(k*20|0)+1>>0]=0}else k=tl(g,0,2,0,0)|0;l=f[g>>2]|0;if(!(b[l+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;l=f[g+88>>2]|0;m=l+(k*20|0)+1|0;if(!(b[m>>0]|0)){f[l+(k*20|0)+16>>2]=e;b[m>>0]=-7;break a}else{ul(g,l+(k*20|0)|0,e,-7);break a}}if(l|0){if(f[l+480>>2]|0){Kc(l,e);break a}i=e;if((f[l+304>>2]|0)>>>0<=i>>>0?(f[l+308>>2]|0)>>>0>i>>>0:0){i=l+300|0;f[e>>2]=f[i>>2];f[i>>2]=e;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break a}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break a}}while(0);k=f[i>>2]|0;if(k|0){if(f[k+480>>2]|0){Kc(k,e);break a}i=e;if((f[k+304>>2]|0)>>>0<=i>>>0?(f[k+308>>2]|0)>>>0>i>>>0:0){i=k+300|0;f[e>>2]=f[i>>2];f[i>>2]=e;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break a}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break a}}break}case 13:{zl(i,$d+-8|0,$d+4|0,f[$d+-44>>2]|0,0,0,f[$d+-20>>2]|0);break}case 14:{Zd=i+24|0;b[Zd>>0]=(b[Zd>>0]|0)+1<<24>>24;i=(f[i>>2]|0)+272|0;f[i>>2]=(f[i>>2]|0)+1;break}case 226:case 93:case 76:case 67:case 57:case 42:case 21:case 18:case 15:{f[$d+16>>2]=0;break}case 16:{f[$d+-20>>2]=1;break}case 43:case 17:{f[$d+4>>2]=1;break}case 19:{Al(i,$d+-20|0,$d+-8|0,f[$d+4>>2]&255,0);break}case 20:{k=$d+4|0;Al(i,0,0,0,f[k>>2]|0);k=f[k>>2]|0;if(k|0)mg(f[i>>2]|0,k,1);break}case 22:{g=f[$d+8>>2]|0;k=f[$d+4>>2]|0;do if((g|0)==5)if(!k)k=0;else{l=b[k>>0]|0;do if(!(l<<24>>24)){l=47870;Zd=301}else{Yd=l&255;l=1232+Yd|0;if((Yd|32|0)==114){l=b[k+1>>0]|0;if(!(l<<24>>24)){l=47871;Zd=301;break}Yd=l&255;l=1232+Yd|0;if((Yd|32|0)==111){l=b[k+2>>0]|0;if(!(l<<24>>24)){l=47872;Zd=301;break}Yd=l&255;l=1232+Yd|0;if((Yd|32|0)==119){l=b[k+3>>0]|0;if(!(l<<24>>24)){l=47873;Zd=301;break}Yd=l&255;l=1232+Yd|0;if((Yd|32|0)==105){l=b[k+4>>0]|0;if(!(l<<24>>24)){l=47874;Zd=301;break}l=l&255;if((l|32|0)==100)break;else{m=100;l=1232+l|0}}else m=105}else m=119}else m=111}else m=114;Cb=h[l>>0]|0;pb=m;Zd=305}while(0);if((Zd|0)==301){Cb=0;pb=b[1232+(h[l>>0]|0)>>0]|0;Zd=305}if((Zd|0)==305?(Cb|0)!=(pb&255|0):0)break;f[$d+-8>>2]=96;break a}while(0);f[$d+-8>>2]=0;f[Mb>>2]=g;f[Mb+4>>2]=k;ni(i,51039,Mb);break}case 23:{e=$d+-8|0;q=f[i>>2]|0;n=f[i+224>>2]|0;if(n|0){u=n+42|0;if((f[q+116>>2]|0)<=(d[u>>1]|0)){f[O>>2]=f[n>>2];ni(i,51066,O);break a}g=$d+-4|0;s=$d+8|0;m=(f[g>>2]|0)+2+(f[s>>2]|0)|0;p=q+272|0;h:do if(f[p>>2]|0)if(!(b[q+81>>0]|0))Zd=321;else break a;else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){k=q+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];r=q+284|0;f[r>>2]=(f[r>>2]|0)+1;r=l;break h}k=q+296|0;l=f[k>>2]|0;if(!l){k=q+292|0;break}else{f[k>>2]=f[l>>2];r=q+284|0;f[r>>2]=(f[r>>2]|0)+1;r=l;break h}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=321}while(0);if((Zd|0)==321)r=Dc(q,m,0)|0;if(r|0){i:do if((h[i+196>>0]|0)>1){m=f[i>>2]|0;j:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=347;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Xd=f[18187]|0;Wd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Vd=ba()|0;f[17976]=((Vd|0)<0|(Vd|0)==0&Wd>>>0<=Xd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break i;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break i}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=347;break j}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=347;break j}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=347}while(0);if((Zd|0)==347)if(!k)break;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=r;Vd=e;Wd=f[Vd+4>>2]|0;Xd=l;f[Xd>>2]=f[Vd>>2];f[Xd+4>>2]=Wd;Xd=i+268|0;f[k+12>>2]=f[Xd>>2];f[Xd>>2]=k}while(0);YA(r|0,f[e>>2]|0,f[g>>2]|0)|0;b[r+(f[g>>2]|0)>>0]=0;k=b[r>>0]|0;if((b[5472+(k&255)>>0]|0)<0){g=k<<24>>24==91?93:k;m=0;k=1;while(1){l=b[r+k>>0]|0;if(l<<24>>24==g<<24>>24){k=k+1|0;l=r+m|0;if((b[r+k>>0]|0)!=g<<24>>24)break;b[l>>0]=g}else b[r+m>>0]=l;m=m+1|0;k=k+1|0}b[l>>0]=0}Xd=d[u>>1]|0;k=Xd<<16>>16;o=n+4|0;k:do if(Xd<<16>>16>0){n=f[o>>2]|0;e=0;while(1){m=f[n+(e<<4)>>2]|0;if(m|0){Xd=b[r>>0]|0;l=(h[1232+(Xd&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0;if(!(Xd<<24>>24==0|(l|0)!=0)){g=r;do{g=g+1|0;m=m+1|0;Xd=b[g>>0]|0;l=(h[1232+(Xd&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(Xd<<24>>24==0|(l|0)!=0))}if(!l)break}e=e+1|0;if((e|0)>=(k|0))break k}f[bd>>2]=r;ni(i,51089,bd);if(f[q+480>>2]|0){Kc(q,r);break a}i=r;if((f[q+304>>2]|0)>>>0<=i>>>0?(f[q+308>>2]|0)>>>0>i>>>0:0){i=q+300|0;f[r>>2]=f[i>>2];f[i>>2]=r;break a}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break a}else{i=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break a}}while(0);do if(!(k&7)){l=f[o>>2]|0;m=(k<<4)+128|0;l:do if(!l){if(f[p>>2]|0){if(b[q+81>>0]|0)break}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){k=q+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];ed=q+284|0;f[ed>>2]=(f[ed>>2]|0)+1;ed=l;Zd=392;break l}k=q+296|0;l=f[k>>2]|0;if(!l){k=q+292|0;break}else{f[k>>2]=f[l>>2];ed=q+284|0;f[ed>>2]=(f[ed>>2]|0)+1;ed=l;Zd=392;break l}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}ed=Dc(q,m,0)|0;Zd=392}else{Zd=l;if((f[q+304>>2]|0)>>>0<=Zd>>>0?(f[q+308>>2]|0)>>>0>Zd>>>0:0){if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){Zd=402;break}ed=Lc(q,l,m,0)|0;Zd=392;break}ed=Lc(q,l,m,0)|0;Zd=392}while(0);if((Zd|0)==392?ed|0:0){l=ed;k=d[u>>1]|0;Zd=402}if((Zd|0)==402){f[o>>2]=l;q=k;p=l;break}if(f[q+480>>2]|0){Kc(q,r);break a}i=r;if((f[q+304>>2]|0)>>>0<=i>>>0?(f[q+308>>2]|0)>>>0>i>>>0:0){i=q+300|0;f[r>>2]=f[i>>2];f[i>>2]=r;break a}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break a}else{i=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break a}}else{q=k;p=f[o>>2]|0}while(0);o=p+(q<<4)|0;k=p+(q<<4)+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[o>>2]=r;k=f[s>>2]|0;if(!k){b[p+(q<<4)+13>>0]=65;b[p+(q<<4)+14>>0]=1}else{n=r+((wz(r)|0)&1073741823)+1|0;YA(n|0,f[$d+4>>2]|0,k|0)|0;b[n+(f[s>>2]|0)>>0]=0;k=b[n>>0]|0;if((b[5472+(k&255)>>0]|0)<0){g=k<<24>>24==91?93:k;m=0;k=1;while(1){l=b[n+k>>0]|0;if(l<<24>>24==g<<24>>24){k=k+1|0;l=n+m|0;if((b[n+k>>0]|0)!=g<<24>>24)break;b[l>>0]=g}else b[n+m>>0]=l;m=m+1|0;k=k+1|0}b[l>>0]=0;k=b[n>>0]|0}m:do if(!(k<<24>>24)){k=0;m=67}else{l=67;e=0;g=n;m=0;while(1){e=e<<8|h[1232+(k&255)>>0];g=g+1|0;n:do if((e|0)<1685026146){if((e|0)<1667785074){switch(e|0){case 1651273570:break;default:{Zd=425;break n}}switch(l<<24>>24){case 69:case 67:break;default:{Zd=424;break n}}k=b[g>>0]|0;m=k<<24>>24==40?g:m;l=65;break}if((e|0)<1668050786)switch(e|0){case 1667785074:{k=g;l=66;Zd=426;break n}default:{Zd=425;break n}}switch(e|0){case 1668050786:break;default:{Zd=425;break n}}k=m;l=66;Zd=426}else{if((e|0)>=1919246700)if((e|0)<1952807028){switch(e|0){case 1919246700:break;default:{Zd=425;break n}}if(l<<24>>24==67){k=m;l=69;Zd=426;break}else{Zd=424;break}}else{switch(e|0){case 1952807028:break;default:{Zd=425;break n}}k=m;l=66;Zd=426;break}if((e|0)<1718382433){switch(e|0){case 1685026146:break;default:{Zd=425;break n}}if(l<<24>>24==67){k=m;l=69;Zd=426;break}}else{switch(e|0){case 1718382433:break;default:{Zd=425;break n}}if(l<<24>>24==67){k=m;l=69;Zd=426;break}}k=m;Zd=426}while(0);if((Zd|0)==424){k=m;Zd=426}else if((Zd|0)==425){Zd=0;if((e&16777215|0)==6909556){k=m;m=68;break m}else{k=m;Zd=426}}if((Zd|0)==426){Zd=0;m=k;k=b[g>>0]|0}if(!(k<<24>>24)){k=m;m=l;break}}}while(0);if(o|0){f[Yd>>2]=0;o:do if(m<<24>>24<67){if(!k){f[Yd>>2]=16;k=5;Zd=437;break}l=b[k>>0]|0;if(l<<24>>24){while(1){if(((l&255)+-48|0)>>>0<10)break;k=k+1|0;l=b[k>>0]|0;if(!(l<<24>>24)){k=1;Zd=437;break o}}Pd(k,Yd)|0;k=f[Yd>>2]|0;if((k|0)<1016){k=((k|0)/4|0)+1|0;Zd=437}else k=255}else{k=1;Zd=437}}else{k=1;Zd=437}while(0);b[p+(q<<4)+14>>0]=k}b[p+(q<<4)+13>>0]=m;Zd=p+(q<<4)+15|0;b[Zd>>0]=b[Zd>>0]|4}d[u>>1]=(d[u>>1]|0)+1<<16>>16;f[i+76>>2]=0}}break}case 99:case 60:case 24:{f[$d+20>>2]=0;f[$d+16>>2]=0;break}case 25:{f[$d+-28>>2]=(f[$d+4>>2]|0)+(f[$d+8>>2]|0)-(f[$d+-32>>2]|0);break}case 26:{f[$d+-52>>2]=(f[$d+4>>2]|0)+(f[$d+8>>2]|0)-(f[$d+-56>>2]|0);break}case 27:{f[$d+-4>>2]=(f[$d+4>>2]|0)+(f[$d+8>>2]|0)-(f[$d+-8>>2]|0);break}case 28:{f[$d+16>>2]=e;break}case 62:case 29:{Yd=$d+4|0;Zd=f[Yd+4>>2]|0;i=i+72|0;f[i>>2]=f[Yd>>2];f[i+4>>2]=Zd;break}case 30:{Bl(i,f[$d+-8>>2]|0,f[$d+-20>>2]|0,f[$d+4>>2]|0);break}case 31:{Bl(i,f[$d+-8>>2]|0,(f[$d+-20>>2]|0)+1|0,f[$d+4>>2]|0);break}case 32:{Bl(i,f[$d+-8>>2]|0,f[$d+-20>>2]|0,f[$d+4>>2]|0);break}case 33:{g=f[$d+-8>>2]|0;m=f[i>>2]|0;p:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=460;else Zd=463;else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=461;break p}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=461;break p}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=460}while(0);if((Zd|0)==460){k=Dc(m,48,0)|0;Zd=461}if((Zd|0)==461)if(k){M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=-95;d[k+34>>1]=-1;if(g|0){f[k+12>>2]=g;f[k+4>>2]=f[g+4>>2]&2097412}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[bb>>2]=l;ni(i,42710,bb)}}else Zd=463;if((Zd|0)==463)if(!g)k=0;else{ig(f[i>>2]|0,g);k=0}Bl(i,k,f[$d+-20>>2]|0,f[$d+4>>2]|0);break}case 34:{o=$d+4|0;p=$d+8|0;q=Cl(i,106,f[o>>2]|0,f[p>>2]|0)|0;do if(q|0){l=f[q+8>>2]|0;n=b[l>>0]|0;e=h[1232+(n&255)>>0]|0;k=e+-116|0;n=n<<24>>24==0;if(!(n|(k|0)!=0)){m=49684;g=l;do{g=g+1|0;m=m+1|0;Zd=b[g>>0]|0;k=(h[1232+(Zd&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(Zd<<24>>24==0|(k|0)!=0))}if(k|0){k=e+-102|0;if(!(n|(k|0)!=0)){m=49689;do{l=l+1|0;m=m+1|0;Zd=b[l>>0]|0;k=(h[1232+(Zd&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(Zd<<24>>24==0|(k|0)!=0))}if(k|0)break}b[q>>0]=-101}while(0);Zd=f[o>>2]|0;Bl(i,q,Zd,Zd+(f[p>>2]|0)|0);break}case 35:{m=f[$d+4>>2]|0;k=f[i+224>>2]|0;if(((k|0?(Z=k+42|0,l=d[Z>>1]|0,l<<16>>16>=1):0)?(Zd=f[k+4>>2]|0,i=(l<<16>>16)+-1|0,b[Zd+(i<<4)+12>>0]=m,Yd=k+36|0,f[Yd>>2]=f[Yd>>2]|512,b[Zd+(i<<4)+15>>0]&8):0)?(v=f[k+8>>2]|0,v|0):0){k=v;while(1){if(((l<<16>>16)+-1|0)==(d[f[k+4>>2]>>1]|0)){i=k+55|0;Zd=h[i>>0]|h[i+1>>0]<<8|8;b[i>>0]=Zd;b[i+1>>0]=Zd>>8}k=f[k+20>>2]|0;if(!k)break a;l=d[Z>>1]|0}}break}case 36:{Dl(i,0,f[$d+-8>>2]|0,f[$d+4>>2]|0,f[$d+-20>>2]|0);break}case 37:{El(i,0,0,0,0,f[$d+4>>2]|0,0,0,0,0,1);break}case 38:{k=f[$d+-8>>2]|0;l=f[i+224>>2]|0;m=f[i>>2]|0;if((l|0?(tc=i+196|0,(b[tc>>0]|0)!=1):0)?(d[(f[(f[(f[m+16>>2]|0)+(h[m+164>>0]<<4)+4>>2]|0)+4>>2]|0)+22>>1]&1)==0:0){o=l+24|0;n=ml(m,f[o>>2]|0,k)|0;f[o>>2]=n;o=f[i+76>>2]|0;if(!o)break a;s=i+72|0;if(!n)break a;p=(f[n>>2]|0)+-1|0;m=f[i>>2]|0;q=f[s>>2]|0;q:do if(q){g=KA(o|0,0,1,0)|0;e=ba()|0;r:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=507;else{Zd=509;break q}else{do if(0<0|(0==0?o>>>0<(j[m+276>>1]|0)>>>0:0)){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];r=m+284|0;f[r>>2]=(f[r>>2]|0)+1;r=l;break r}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];r=m+284|0;f[r>>2]=(f[r>>2]|0)+1;r=l;break r}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=507}while(0);if((Zd|0)==507)r=Dc(m,g,e)|0;if(r){YA(r|0,q|0,o|0)|0;b[r+o>>0]=0;k=n+4+(p*20|0)+4|0;f[k>>2]=r;l=b[r>>0]|0;if((b[5472+(l&255)>>0]|0)<0){e=l<<24>>24==91?93:l;g=0;l=1;while(1){m=b[r+l>>0]|0;if(m<<24>>24==e<<24>>24){l=l+1|0;m=r+g|0;if((b[r+l>>0]|0)!=e<<24>>24)break;b[m>>0]=e}else b[r+g>>0]=m;g=g+1|0;l=l+1|0}b[m>>0]=0}}else Zd=509}else Zd=509;while(0);if((Zd|0)==509){k=n+4+(p*20|0)+4|0;f[k>>2]=0}if((h[tc>>0]|0)<=1)break a;g=f[k>>2]|0;m=f[i>>2]|0;s:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=542;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break a;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break a}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=542;break s}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=542;break s}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=542}while(0);if((Zd|0)==542)if(!k)break a;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=g;Xd=s;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;i=i+268|0;f[k+12>>2]=f[i>>2];f[i>>2]=k;break a}if(k|0)ig(m,k);break}case 39:{Fl(i,0,$d+-20|0,f[$d+-8>>2]|0,f[$d+4>>2]|0);break}case 40:{l=f[$d+4>>2]|0;k=f[i+224>>2]|0;if(k|0?(w=f[k+16>>2]|0,w|0):0)b[w+24>>0]=l;break}case 41:{m=f[i+224>>2]|0;if(m|0?(Ba=(d[m+42>>1]|0)+-1|0,_=f[i>>2]|0,$=pl(_,$d+4|0)|0,$|0):0){l=f[i>>2]|0;k=b[l+78>>0]|0;Yd=b[l+165>>0]|0;l=_k(l,k,$,Yd&255)|0;do if(!(Yd<<24>>24)){if(!l){H=$k(i,k,0,$)|0;Zd=557;break}if(!(f[l+12>>2]|0)){H=$k(i,k,l,$)|0;Zd=557}}else{H=l;Zd=557}while(0);if((Zd|0)==557?(H|0)==0:0){if(_|0){if(f[_+480>>2]|0){Kc(_,$);break a}i=$;if((f[_+304>>2]|0)>>>0<=i>>>0?(f[_+308>>2]|0)>>>0>i>>>0:0){i=_+300|0;f[$>>2]=f[i>>2];f[i>>2]=$;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127]($);break a}else{i=ib[f[37368>>2]&255]($)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127]($);break a}}l=m+4|0;k=f[(f[l>>2]|0)+(Ba<<4)+8>>2]|0;do if(k|0){if(_|0){if(f[_+480>>2]|0){Kc(_,k);break}i=k;if((f[_+304>>2]|0)>>>0<=i>>>0?(f[_+308>>2]|0)>>>0>i>>>0:0){i=_+300|0;f[k>>2]=f[i>>2];f[i>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);f[(f[l>>2]|0)+(Ba<<4)+8>>2]=$;k=f[m+8>>2]|0;if(k|0)do{if((Ba|0)==(d[f[k+4>>2]>>1]|0))f[f[k+32>>2]>>2]=f[(f[l>>2]|0)+(Ba<<4)+8>>2];k=f[k+20>>2]|0}while((k|0)!=0)}break}case 44:{f[$d+16>>2]=0;break}case 45:{i=$d+-8|0;f[i>>2]=f[i>>2]&~f[$d+8>>2]|f[$d+4>>2];break}case 46:{f[$d+-8>>2]=0;f[$d+-4>>2]=0;break}case 47:{f[$d+-20>>2]=0;f[$d+-16>>2]=0;break}case 48:{f[$d+-20>>2]=f[$d+4>>2];f[$d+-16>>2]=255;break}case 49:{f[$d+-20>>2]=f[$d+4>>2]<<8;f[$d+-16>>2]=65280;break}case 50:{f[$d+-8>>2]=8;break}case 51:{f[$d+-8>>2]=9;break}case 52:{f[$d+4>>2]=10;break}case 53:{f[$d+4>>2]=7;break}case 54:{f[$d+-8>>2]=0;break}case 55:{f[$d+-20>>2]=0;break}case 156:case 71:case 56:{f[$d+-8>>2]=f[$d+4>>2];break}case 227:case 201:case 198:case 75:case 58:{f[$d+-8>>2]=1;break}case 59:{f[$d+-8>>2]=0;break}case 61:{f[i+76>>2]=0;break}case 63:{Dl(i,f[$d+-32>>2]|0,f[$d+4>>2]|0,f[$d+-20>>2]|0,0);break}case 64:{El(i,0,0,0,f[$d+-20>>2]|0,f[$d+4>>2]|0,0,0,0,0,1);break}case 65:{k=f[$d+-20>>2]|0;l=f[i+224>>2]|0;m=f[i>>2]|0;if((l|0?(uc=i+196|0,(b[uc>>0]|0)!=1):0)?(d[(f[(f[(f[m+16>>2]|0)+(h[m+164>>0]<<4)+4>>2]|0)+4>>2]|0)+22>>1]&1)==0:0){o=l+24|0;n=ml(m,f[o>>2]|0,k)|0;f[o>>2]=n;o=f[i+76>>2]|0;if(!o)break a;s=i+72|0;if(!n)break a;p=(f[n>>2]|0)+-1|0;m=f[i>>2]|0;q=f[s>>2]|0;t:do if(q){g=KA(o|0,0,1,0)|0;e=ba()|0;u:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=616;else{Zd=618;break t}else{do if(0<0|(0==0?o>>>0<(j[m+276>>1]|0)>>>0:0)){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];r=m+284|0;f[r>>2]=(f[r>>2]|0)+1;r=l;break u}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];r=m+284|0;f[r>>2]=(f[r>>2]|0)+1;r=l;break u}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=616}while(0);if((Zd|0)==616)r=Dc(m,g,e)|0;if(r){YA(r|0,q|0,o|0)|0;b[r+o>>0]=0;k=n+4+(p*20|0)+4|0;f[k>>2]=r;l=b[r>>0]|0;if((b[5472+(l&255)>>0]|0)<0){e=l<<24>>24==91?93:l;g=0;l=1;while(1){m=b[r+l>>0]|0;if(m<<24>>24==e<<24>>24){l=l+1|0;m=r+g|0;if((b[r+l>>0]|0)!=e<<24>>24)break;b[m>>0]=e}else b[r+g>>0]=m;g=g+1|0;l=l+1|0}b[m>>0]=0}}else Zd=618}else Zd=618;while(0);if((Zd|0)==618){k=n+4+(p*20|0)+4|0;f[k>>2]=0}if((h[uc>>0]|0)<=1)break a;g=f[k>>2]|0;m=f[i>>2]|0;v:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=651;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break a;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break a}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=651;break v}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=651;break v}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=651}while(0);if((Zd|0)==651)if(!k)break a;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=g;Xd=s;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;i=i+268|0;f[k+12>>2]=f[i>>2];f[i>>2]=k;break a}if(k|0)ig(m,k);break}case 66:{Fl(i,f[$d+-68>>2]|0,$d+-32|0,f[$d+-20>>2]|0,f[$d+-8>>2]|0);l=f[$d+4>>2]|0;k=f[i+224>>2]|0;if(k|0?(x=f[k+16>>2]|0,x|0):0)b[x+24>>0]=l;break}case 70:case 68:{f[$d+16>>2]=11;break}case 69:{f[$d+-20>>2]=f[$d+4>>2];break}case 72:{f[$d+4>>2]=4;break}case 157:case 73:{f[$d+4>>2]=5;break}case 74:{Gl(i,f[$d+4>>2]|0,0,f[$d+-8>>2]|0);break}case 77:{e=$d+-44|0;g=$d+-32|0;o=f[$d+-20>>2]|0;l=f[$d+4>>2]|0;k=f[$d+-80>>2]|0;m=f[$d+-56>>2]|0;p=f[i>>2]|0;if((d[i+192>>1]|0)<=0){zl(i,e,g,k,1,0,m);n=f[i+224>>2]|0;if((n|0)!=0?(f[i+36>>2]|0)==0:0){k=f[i>>2]|0;do if(f[$d+-28>>2]|0){if(b[k+165>>0]|0){ni(i,51151,Na);e=0;break}if((Hl(k,e)|0)<0){f[Oa>>2]=e;ni(i,51168,Oa);e=g}else e=g}while(0);m=f[n+72>>2]|0;if(!m)k=-1e6;else{g=f[p+16>>2]|0;k=0;while(1)if((f[g+(k<<4)+12>>2]|0)==(m|0))break;else k=k+1|0}Xd=f[i>>2]|0;f[vc>>2]=i;Xd=f[Xd+16>>2]|0;f[vc+12>>2]=f[Xd+(k<<4)>>2];f[vc+4>>2]=f[Xd+(k<<4)+12>>2];f[vc+16>>2]=51188;f[vc+20>>2]=e;f[vc+8>>2]=(k|0)==1&1;if(!(Il(vc,l)|0)){if((h[i+196>>0]|0)>1)k=0;else{k=l;l=Hk(p,l,1)|0}f[n+12>>2]=l;Xd=Ik(p,o,1)|0;f[n+24>>2]=Xd;if(!(b[p+81>>0]|0)){m=i+184|0;l=f[m>>2]|0;m=f[m+4>>2]|0;g=Ld;f[g>>2]=l;f[g+4>>2]=m;g=l;if((b[g>>0]|0)!=59){l=g+m|0;f[Ld>>2]=l}m=Ld+4|0;f[m>>2]=0;g=f[$d+-92>>2]|0;l=l-g|0;do l=l+-1|0;while((b[5472+(h[g+l>>0]|0)>>0]&1)!=0);f[Ld>>2]=g+l;f[m>>2]=1;Al(i,0,Ld,0,0)}}else k=l}else k=l}else{ni(i,51115,ua);k=l}if(k|0)mg(p,k,1);if((h[i+196>>0]|0)>1){if(o|0){k=Yd+8|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[Yd>>2]=i;f[Yd+4>>2]=154;k=f[o>>2]|0;if((k|0)>0){l=o+4|0;while(1){m=f[l>>2]|0;if(m|0?oi(Yd,m)|0:0)break;if((k|0)>1){k=k+-1|0;l=l+20|0}else break}e=f[o>>2]|0;if((e|0)>0){m=i+268|0;l=0;do{g=f[o+4+(l*20|0)+4>>2]|0;k=f[m>>2]|0;w:do if(k|0){while(1){if((f[k>>2]|0)==(g|0))break;k=f[k+12>>2]|0;if(!k)break w}f[k>>2]=0}while(0);l=l+1|0}while((l|0)!=(e|0))}}Zd=702}}else Zd=702;if((Zd|0)==702?o|0:0)jg(p,o);break}case 78:{Gl(i,f[$d+4>>2]|0,1,f[$d+-8>>2]|0);break}case 79:{f[Yd>>2]=f[9537];f[Yd+4>>2]=f[9538];f[Yd+8>>2]=f[9539];f[Yd+12>>2]=f[9540];f[Yd+16>>2]=f[9541];f[Yd+20>>2]=f[9542];k=$d+4|0;Kl(i,f[k>>2]|0,Yd)|0;k=f[k>>2]|0;if(k|0)mg(f[i>>2]|0,k,1);break}case 80:{q=f[$d+4>>2]|0;do if(!q){o=f[i>>2]|0;p=f[$d+-8>>2]|0;if(p|0){x:do if((f[p>>2]|0)>0){m=o+480|0;g=o+304|0;e=o+308|0;n=o+300|0;if(!o){l=0;while(1){k=f[p+8+(l<<4)+4>>2]|0;if(k|0)jg(0,k);k=f[p+8+(l<<4)+8>>2]|0;if(k|0)mg(0,k,1);k=f[p+8+(l<<4)>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);l=l+1|0;if((l|0)>=(f[p>>2]|0))break x}}l=0;do{k=f[p+8+(l<<4)+4>>2]|0;if(k|0)jg(o,k);k=f[p+8+(l<<4)+8>>2]|0;if(k|0)mg(o,k,1);k=f[p+8+(l<<4)>>2]|0;do if(k|0){if(f[m>>2]|0){Kc(o,k);break}i=k;if((f[g>>2]|0)>>>0<=i>>>0?(f[e>>2]|0)>>>0>i>>>0:0){f[k>>2]=f[n>>2];f[n>>2]=k;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);l=l+1|0}while((l|0)<(f[p>>2]|0))}while(0);if(o|0){if(f[o+480>>2]|0){Kc(o,p);break}i=p;if((f[o+304>>2]|0)>>>0<=i>>>0?(f[o+308>>2]|0)>>>0>i>>>0:0){i=o+300|0;f[p>>2]=f[i>>2];f[i>>2]=p;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{i=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}}else{f[q+64>>2]=f[$d+-8>>2];k=f[q+52>>2]|0;if(k|0){f[q+56>>2]=0;e=q+8|0;f[e>>2]=f[e>>2]|256;m=q;g=0;while(1){g=g+1|0;l=f[k+52>>2]|0;f[k+56>>2]=m;Zd=k+8|0;f[Zd>>2]=f[Zd>>2]|256;if(!l)break;else{m=k;k=l}}if((f[e>>2]&1024|0)==0?(Zd=f[(f[i>>2]|0)+124>>2]|0,(Zd|0)>0&(g|0)>=(Zd|0)):0)ni(i,51193,va)}}while(0);f[$d+-20>>2]=q;break}case 81:{q=f[$d+4>>2]|0;do if(!q){o=f[i>>2]|0;p=f[$d+-8>>2]|0;if(p|0){y:do if((f[p>>2]|0)>0){m=o+480|0;g=o+304|0;e=o+308|0;n=o+300|0;if(!o){l=0;while(1){k=f[p+8+(l<<4)+4>>2]|0;if(k|0)jg(0,k);k=f[p+8+(l<<4)+8>>2]|0;if(k|0)mg(0,k,1);k=f[p+8+(l<<4)>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);l=l+1|0;if((l|0)>=(f[p>>2]|0))break y}}l=0;do{k=f[p+8+(l<<4)+4>>2]|0;if(k|0)jg(o,k);k=f[p+8+(l<<4)+8>>2]|0;if(k|0)mg(o,k,1);k=f[p+8+(l<<4)>>2]|0;do if(k|0){if(f[m>>2]|0){Kc(o,k);break}i=k;if((f[g>>2]|0)>>>0<=i>>>0?(f[e>>2]|0)>>>0>i>>>0:0){f[k>>2]=f[n>>2];f[n>>2]=k;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);l=l+1|0}while((l|0)<(f[p>>2]|0))}while(0);if(o|0){if(f[o+480>>2]|0){Kc(o,p);break}i=p;if((f[o+304>>2]|0)>>>0<=i>>>0?(f[o+308>>2]|0)>>>0>i>>>0:0){i=o+300|0;f[p>>2]=f[i>>2];f[i>>2]=p;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{i=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}}else{f[q+64>>2]=f[$d+-8>>2];k=f[q+52>>2]|0;if(k|0){f[q+56>>2]=0;e=q+8|0;f[e>>2]=f[e>>2]|256;m=q;g=0;while(1){g=g+1|0;l=f[k+52>>2]|0;f[k+56>>2]=m;Zd=k+8|0;f[Zd>>2]=f[Zd>>2]|256;if(!l)break;else{m=k;k=l}}if((f[e>>2]&1024|0)==0?(Zd=f[(f[i>>2]|0)+124>>2]|0,(Zd|0)>0&(g|0)>=(Zd|0)):0)ni(i,51193,wa)}}while(0);f[$d+-32>>2]=q;break}case 82:{e=$d+4|0;n=f[e>>2]|0;if(n|0?(aa=f[n+52>>2]|0,aa|0):0){f[n+56>>2]=0;o=n+8|0;f[o>>2]=f[o>>2]|256;m=n;g=0;l=aa;while(1){g=g+1|0;k=f[l+52>>2]|0;f[l+56>>2]=m;Zd=l+8|0;f[Zd>>2]=f[Zd>>2]|256;if(!k)break;else{m=l;l=k}}if((f[o>>2]&1024|0)==0?(Zd=f[(f[i>>2]|0)+124>>2]|0,(Zd|0)>0&(g|0)>=(Zd|0)):0)ni(i,51193,xa)}f[e>>2]=n;break}case 83:{k=f[$d+4>>2]|0;p=$d+-20|0;o=f[p>>2]|0;do if(k){l=k+52|0;m=f[l>>2]|0;if(m){f[Yd+4>>2]=0;f[k+56>>2]=0;n=k+8|0;f[n>>2]=f[n>>2]|256;g=k;e=0;while(1){e=e+1|0;l=f[m+52>>2]|0;f[m+56>>2]=g;Xd=m+8|0;f[Xd>>2]=f[Xd>>2]|256;if(!l)break;else{g=m;m=l}}if((f[n>>2]&1024|0)==0?(Xd=f[(f[i>>2]|0)+124>>2]|0,(Xd|0)>0&(e|0)>=(Xd|0)):0)ni(i,51193,Xa);l=Ll(i,0,nl(i,0,0,0,Yd,k,0,0)|0,0,0,0,0,0,0)|0;if(!l){Zd=820;break}k=l;l=l+52|0}m=$d+-8|0;b[k+4>>0]=f[m>>2];f[l>>2]=o;if(o|0){Yd=o+8|0;f[Yd>>2]=f[Yd>>2]&-1025}Yd=k+8|0;f[Yd>>2]=f[Yd>>2]&-1025;if((f[m>>2]|0)!=124)b[i+22>>0]=1}else Zd=820;while(0);if((Zd|0)==820)if(!o)k=0;else{mg(f[i>>2]|0,o,1);k=0}f[p>>2]=k;break}case 86:case 84:{f[$d+4>>2]=j[$d+2>>1];break}case 85:{f[$d+-8>>2]=124;break}case 87:{i=Ll(i,f[$d+-68>>2]|0,f[$d+-56>>2]|0,f[$d+-44>>2]|0,f[$d+-32>>2]|0,f[$d+-20>>2]|0,f[$d+-8>>2]|0,f[$d+-80>>2]|0,f[$d+4>>2]|0)|0;f[$d+-92>>2]=i;break}case 88:{k=Ll(i,f[$d+-80>>2]|0,f[$d+-68>>2]|0,f[$d+-56>>2]|0,f[$d+-44>>2]|0,f[$d+-32>>2]|0,f[$d+-8>>2]|0,f[$d+-92>>2]|0,f[$d+4>>2]|0)|0;f[$d+-104>>2]=k;if(k|0){f[k+72>>2]=f[$d+-20>>2];break a}l=f[i>>2]|0;k=f[$d+-20>>2]|0;if(k|0)do{i=k;k=f[k+24>>2]|0;og(l,i)}while((k|0)!=0);break}case 89:{i=Ll(i,f[$d+-8>>2]|0,0,0,0,0,0,512,0)|0;f[$d+-32>>2]=i;break}case 90:{m=$d+-44|0;k=f[m>>2]|0;l=Ll(i,f[$d+-8>>2]|0,0,0,0,0,0,1536,0)|0;if(k|0){i=k+8|0;f[i>>2]=f[i>>2]&-1025}if(l){b[l+4>>0]=124;f[l+52>>2]=k;k=l}f[m>>2]=k;break}case 91:{f[$d+4>>2]=1;break}case 92:{f[$d+4>>2]=2;break}case 222:case 217:case 214:case 134:case 127:case 94:{f[$d+16>>2]=0;break}case 95:{r=$d+-44|0;k=ml(f[i>>2]|0,f[r>>2]|0,f[$d+-20>>2]|0)|0;f[r>>2]=k;o=f[$d+8>>2]|0;if(o){s=$d+4|0;z:do if(k|0){p=(f[k>>2]|0)+-1|0;g=f[i>>2]|0;q=f[s>>2]|0;A:do if(q){e=KA(o|0,0,1,0)|0;n=ba()|0;B:do if(f[g+272>>2]|0)if(!(b[g+81>>0]|0))Zd=853;else{Zd=855;break A}else{do if(0<0|(0==0?o>>>0<(j[g+276>>1]|0)>>>0:0)){l=g+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];n=g+284|0;f[n>>2]=(f[n>>2]|0)+1;n=m;break B}l=g+296|0;m=f[l>>2]|0;if(!m){l=g+292|0;break}else{f[l>>2]=f[m>>2];n=g+284|0;f[n>>2]=(f[n>>2]|0)+1;n=m;break B}}else l=g+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;Zd=853}while(0);if((Zd|0)==853)n=Dc(g,e,n)|0;if(n){YA(n|0,q|0,o|0)|0;b[n+o>>0]=0;k=k+4+(p*20|0)+4|0;f[k>>2]=n;l=b[n>>0]|0;if((b[5472+(l&255)>>0]|0)<0){e=l<<24>>24==91?93:l;g=0;l=1;while(1){m=b[n+l>>0]|0;if(m<<24>>24==e<<24>>24){l=l+1|0;m=n+g|0;if((b[n+l>>0]|0)!=e<<24>>24)break;b[m>>0]=e}else b[n+g>>0]=m;g=g+1|0;l=l+1|0}b[m>>0]=0}}else Zd=855}else Zd=855;while(0);if((Zd|0)==855){k=k+4+(p*20|0)+4|0;f[k>>2]=0}if((h[i+196>>0]|0)>1){g=f[k>>2]|0;m=f[i>>2]|0;C:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=888;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break z;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break z}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=888;break C}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=888;break C}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=888}while(0);if((Zd|0)==888)if(!k)break;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=g;Wd=s;Xd=f[Wd+4>>2]|0;Yd=l;f[Yd>>2]=f[Wd>>2];f[Yd+4>>2]=Xd;Yd=i+268|0;f[k+12>>2]=f[Yd>>2];f[Yd>>2]=k}}while(0);k=f[r>>2]|0}l=f[$d+-32>>2]|0;m=f[$d+-8>>2]|0;o=f[i>>2]|0;if(k|0){p=k+4+(((f[k>>2]|0)+-1|0)*20|0)+8|0;k=f[p>>2]|0;do if(k|0){if(o|0){if(f[o+480>>2]|0){Kc(o,k);break}i=k;if((f[o+304>>2]|0)>>>0<=i>>>0?(f[o+308>>2]|0)>>>0>i>>>0:0){i=o+300|0;f[k>>2]=f[i>>2];f[i>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);n=l;while(1)if(!(b[5472+(h[n>>0]|0)>>0]&1))break;else n=n+1|0;k=m-n|0;D:do if((k|0)<=0)if(!n)k=0;else{l=k;Zd=909}else while(1){l=k+-1|0;if(!(b[5472+(h[n+l>>0]|0)>>0]&1)){l=k;Zd=909;break D}if((k|0)>1)k=l;else{Zd=909;break}}while(0);E:do if((Zd|0)==909){g=KA(l|0,((l|0)<0)<<31>>31|0,1,0)|0;e=ba()|0;F:do if(f[o+272>>2]|0)if(!(b[o+81>>0]|0))Zd=919;else{k=0;break E}else{do if(!(e>>>0>0|((e|0)==0?g>>>0>(j[o+276>>1]|0)>>>0:0))){m=o+300|0;k=f[m>>2]|0;if(k|0){f[m>>2]=f[k>>2];i=o+284|0;f[i>>2]=(f[i>>2]|0)+1;break F}m=o+296|0;k=f[m>>2]|0;if(!k){k=o+292|0;break}else{f[m>>2]=f[k>>2];i=o+284|0;f[i>>2]=(f[i>>2]|0)+1;break F}}else k=o+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=919}while(0);if((Zd|0)==919)k=Dc(o,g,e)|0;if(!k)k=0;else{YA(k|0,n|0,l|0)|0;b[k+l>>0]=0}}while(0);f[p>>2]=k}break}case 96:{Zd=f[i>>2]|0;f[Yd>>2]=0;f[Yd+4>>2]=0;Yd=Dk(Zd,168,Yd,0)|0;Zd=$d+-20|0;i=ml(f[i>>2]|0,f[Zd>>2]|0,Yd)|0;f[Zd>>2]=i;break}case 97:{m=f[i>>2]|0;G:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=934;else{e=1;l=0}else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=935;break G}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=935;break G}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=934}while(0);if((Zd|0)==934){l=Dc(m,48,0)|0;Zd=935}if((Zd|0)==935)if(l){M=l;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[l>>0]=-88;d[l+34>>1]=-1;jl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[Ya>>2]=k;ni(i,42710,Ya);e=0}else e=0}else{e=1;l=0}n=Dk(f[i>>2]|0,59,$d+-20|0,1)|0;g=f[i>>2]|0;H:do if(f[g+272>>2]|0)if(!(b[g+81>>0]|0))Zd=948;else{k=g;Zd=952}else{do if((j[g+276>>1]|0)>=48){m=g+300|0;k=f[m>>2]|0;if(k|0){f[m>>2]=f[k>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=949;break H}m=g+296|0;k=f[m>>2]|0;if(!k){k=g+292|0;break}else{f[m>>2]=f[k>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=949;break H}}else k=g+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=948}while(0);if((Zd|0)==948){k=Dc(g,48,0)|0;Zd=949}do if((Zd|0)==949){if(!k){k=f[i>>2]|0;Zd=952;break}M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=-126;d[k+34>>1]=-1;if(e)l=0;else{f[k+16>>2]=l;l=f[l+4>>2]&2097412;f[k+4>>2]=l}if(n|0){f[k+12>>2]=n;f[k+4>>2]=f[n+4>>2]&2097412|l}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[kc>>2]=l;ni(i,42710,kc)}}while(0);if((Zd|0)==952){if(n|0)ig(k,n);if(e)k=0;else{ig(k,l);k=0}}Zd=$d+-44|0;i=ml(f[i>>2]|0,f[Zd>>2]|0,k)|0;f[Zd>>2]=i;break}case 237:case 236:case 109:case 98:{Yd=$d+4|0;Zd=f[Yd+4>>2]|0;i=$d+-8|0;f[i>>2]=f[Yd>>2];f[i+4>>2]=Zd;break}case 100:{m=f[i>>2]|0;I:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](80)|0;Zd=986;break}k=ib[f[37372>>2]&255](80)|0;if((f[18194]|0)>>>0<80)f[18194]=80;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[18187]|0;Yd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[17976]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(k){l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0){f[18196]=l;Zd=987}else Zd=987}else k=0}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){k=0;break}}else{do if((j[m+276>>1]|0)>=80){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=986;break I}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=986;break I}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,80,0)|0;Zd=986}while(0);if((Zd|0)==986)if(!k)k=0;else Zd=987;if((Zd|0)==987){M=k;N=M+80|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0))}f[$d+16>>2]=k;break}case 101:{l=f[$d+4>>2]|0;f[$d+-8>>2]=l;if(l|0){k=f[l>>2]|0;if((k|0)>1)do{i=k;k=k+-1|0;b[l+8+(k*72|0)+36>>0]=b[l+8+((i+-2|0)*72|0)+36>>0]|0}while((i|0)>2);b[l+44>>0]=0}break}case 102:{k=f[$d+-8>>2]|0;if(k|0?(p=f[k>>2]|0,(p|0)>0):0)b[k+8+((p+-1|0)*72|0)+36>>0]=f[$d+4>>2];break}case 103:{f[$d+16>>2]=0;break}case 104:{l=$d+-68|0;k=nl(i,f[l>>2]|0,$d+-56|0,$d+-44|0,$d+-32|0,0,f[$d+-8>>2]|0,f[$d+4>>2]|0)|0;f[l>>2]=k;l=$d+-20|0;if(k|0?(J=f[$d+-16>>2]|0,J|0):0){m=(f[k>>2]|0)+-1|0;if((J|0)==1?(f[l>>2]|0)==0:0){i=k+8+(m*72|0)+37|0;b[i>>0]=b[i>>0]|1;break a}i=pl(f[i>>2]|0,l)|0;f[k+8+(m*72|0)+64>>2]=i;i=k+8+(m*72|0)+37|0;b[i>>0]=b[i>>0]|2}break}case 105:{l=$d+-92|0;k=nl(i,f[l>>2]|0,$d+-80|0,$d+-68|0,$d+-20|0,0,f[$d+-8>>2]|0,f[$d+4>>2]|0)|0;f[l>>2]=k;l=f[$d+-44>>2]|0;if(k|0){i=(f[k>>2]|0)+-1|0;f[k+8+(i*72|0)+64>>2]=l;i=k+8+(i*72|0)+37|0;b[i>>0]=b[i>>0]|4;break a}if(l|0)jg(f[i>>2]|0,l);break}case 106:{Zd=$d+-68|0;i=nl(i,f[Zd>>2]|0,0,0,$d+-20|0,f[$d+-44>>2]|0,f[$d+-8>>2]|0,f[$d+4>>2]|0)|0;f[Zd>>2]=i;break}case 107:{e=$d+-68|0;l=f[e>>2]|0;if((((l|0)==0?(f[$d+-16>>2]|0)==0:0)?(f[$d+-8>>2]|0)==0:0)?(f[$d+4>>2]|0)==0:0){f[e>>2]=f[$d+-44>>2];break a}g=$d+-44|0;m=f[g>>2]|0;k=f[m>>2]|0;if((k|0)==1){k=nl(i,l,0,0,$d+-20|0,0,f[$d+-8>>2]|0,f[$d+4>>2]|0)|0;f[e>>2]=k;if(k|0){Wd=(f[k>>2]|0)+-1|0;Zd=f[g>>2]|0;Yd=Zd+16|0;f[k+8+(Wd*72|0)+8>>2]=f[Yd>>2];Xd=Zd+12|0;f[k+8+(Wd*72|0)+4>>2]=f[Xd>>2];Zd=Zd+28|0;f[k+8+(Wd*72|0)+20>>2]=f[Zd>>2];f[Xd>>2]=0;f[Yd>>2]=0;f[Zd>>2]=0}ng(f[i>>2]|0,f[g>>2]|0);break a}if(!m)k=0;else{if((k|0)>1)do{Zd=k;k=k+-1|0;b[m+8+(k*72|0)+36>>0]=b[m+8+((Zd+-2|0)*72|0)+36>>0]|0}while((Zd|0)>2);b[m+44>>0]=0;k=f[g>>2]|0}Zd=Ll(i,0,k,0,0,0,0,2048,0)|0;i=nl(i,f[e>>2]|0,0,0,$d+-20|0,Zd,f[$d+-8>>2]|0,f[$d+4>>2]|0)|0;f[e>>2]=i;break}case 122:case 108:{f[$d+16>>2]=0;f[$d+20>>2]=0;break}case 110:{g=$d+4|0;e=ol(f[i>>2]|0,0,g,0)|0;J:do if(!((e|0)==0|(h[i+196>>0]|0)<2)){n=f[e+16>>2]|0;m=f[i>>2]|0;K:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=1049;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break J;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break J}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1049;break K}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1049;break K}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=1049}while(0);if((Zd|0)==1049)if(!k)break;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=n;Xd=g;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;i=i+268|0;f[k+12>>2]=f[i>>2];f[i>>2]=k}while(0);f[g>>2]=e;break}case 111:{g=$d+-20|0;e=$d+4|0;n=ol(f[i>>2]|0,0,g,e)|0;L:do if(!((n|0)==0|(h[i+196>>0]|0)<2)){o=f[n+16>>2]|0;m=f[i>>2]|0;M:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=1076;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break L;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break L}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1076;break M}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1076;break M}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=1076}while(0);if((Zd|0)==1076)if(!k)break;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=o;Xd=e;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;i=i+268|0;f[k+12>>2]=f[i>>2];f[i>>2]=k}while(0);f[g>>2]=n;break}case 112:{Zd=$d+4|0;i=ol(f[i>>2]|0,0,Zd,0)|0;f[Zd>>2]=i;break}case 113:{Zd=$d+-20|0;i=ol(f[i>>2]|0,0,Zd,$d+4|0)|0;f[Zd>>2]=i;break}case 114:{k=$d+-44|0;Zd=ol(f[i>>2]|0,0,k,$d+-20|0)|0;f[k>>2]=Zd;if(Zd|0){i=pl(f[i>>2]|0,$d+4|0)|0;f[(f[k>>2]|0)+20>>2]=i}break}case 115:{k=$d+-20|0;Zd=ol(f[i>>2]|0,0,k,0)|0;f[k>>2]=Zd;if(Zd|0){i=pl(f[i>>2]|0,$d+4|0)|0;f[(f[k>>2]|0)+20>>2]=i}break}case 116:{f[$d+4>>2]=1;break}case 117:{Zd=$d+-8|0;i=Ml(i,Zd,0,0)|0;f[Zd>>2]=i;break}case 118:{Zd=$d+-20|0;i=Ml(i,Zd,$d+-8|0,0)|0;f[Zd>>2]=i;break}case 119:{Zd=$d+-32|0;i=Ml(i,Zd,$d+-20|0,$d+-8|0)|0;f[Zd>>2]=i;break}case 210:case 144:case 137:case 120:{f[$d+-8>>2]=f[$d+4>>2];break}case 213:case 211:case 143:case 138:case 136:case 121:{f[$d+16>>2]=0;break}case 123:{Yd=$d+4|0;Zd=f[Yd+4>>2]|0;i=$d+-20|0;f[i>>2]=f[Yd>>2];f[i+4>>2]=Zd;break}case 124:{f[$d+-8>>2]=0;f[$d+-4>>2]=1;break}case 125:{f[$d+-32>>2]=f[$d+-8>>2];break}case 158:case 126:{f[$d+16>>2]=0;break}case 135:case 128:{f[$d+-20>>2]=f[$d+4>>2];break}case 129:{l=$d+-32|0;k=ml(f[i>>2]|0,f[l>>2]|0,f[$d+-8>>2]|0)|0;f[l>>2]=k;l=f[$d+4>>2]|0;if(!((k|0)==0|(l|0)<0))b[k+4+(((f[k>>2]|0)+-1|0)*20|0)+12>>0]=l;break}case 130:{l=$d+-8|0;k=ml(f[i>>2]|0,0,f[l>>2]|0)|0;f[l>>2]=k;l=f[$d+4>>2]|0;if(!((k|0)==0|(l|0)<0))b[k+4+(((f[k>>2]|0)+-1|0)*20|0)+12>>0]=l;break}case 131:{f[$d+4>>2]=0;break}case 132:{f[$d+4>>2]=1;break}case 133:{f[$d+16>>2]=-1;break}case 139:{g=f[$d+4>>2]|0;m=f[i>>2]|0;N:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1113;else Zd=1116;else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1114;break N}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1114;break N}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1113}while(0);if((Zd|0)==1113){k=Dc(m,48,0)|0;Zd=1114}if((Zd|0)==1114)if(k){M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=-119;d[k+34>>1]=-1;if(g|0){f[k+12>>2]=g;f[k+4>>2]=f[g+4>>2]&2097412}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[db>>2]=l;ni(i,42710,db)}}else Zd=1116;if((Zd|0)==1116)if(!g)k=0;else{ig(f[i>>2]|0,g);k=0}f[$d+-8>>2]=k;break}case 140:{e=f[$d+-20>>2]|0;g=f[$d+4>>2]|0;m=f[i>>2]|0;O:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1132;else{k=m;Zd=1136}else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1133;break O}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1133;break O}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1132}while(0);if((Zd|0)==1132){k=Dc(m,48,0)|0;Zd=1133}do if((Zd|0)==1133){if(!k){k=f[i>>2]|0;Zd=1136;break}M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=-119;d[k+34>>1]=-1;if(!g)l=0;else{f[k+16>>2]=g;l=f[g+4>>2]&2097412;f[k+4>>2]=l}if(e|0){f[k+12>>2]=e;f[k+4>>2]=f[e+4>>2]&2097412|l}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[wb>>2]=l;ni(i,42710,wb)}}while(0);if((Zd|0)==1136){if(e|0)ig(k,e);if(!g)k=0;else{ig(k,g);k=0}}f[$d+-32>>2]=k;break}case 141:{e=f[$d+4>>2]|0;g=f[$d+-20>>2]|0;m=f[i>>2]|0;P:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1156;else{k=m;Zd=1160}else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1157;break P}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1157;break P}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1156}while(0);if((Zd|0)==1156){k=Dc(m,48,0)|0;Zd=1157}do if((Zd|0)==1157){if(!k){k=f[i>>2]|0;Zd=1160;break}M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=-119;d[k+34>>1]=-1;if(!g)l=0;else{f[k+16>>2]=g;l=f[g+4>>2]&2097412;f[k+4>>2]=l}if(e|0){f[k+12>>2]=e;f[k+4>>2]=f[e+4>>2]&2097412|l}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[xb>>2]=l;ni(i,42710,xb)}}while(0);if((Zd|0)==1160){if(e|0)ig(k,e);if(!g)k=0;else{ig(k,g);k=0}}f[$d+-32>>2]=k;break}case 142:{k=$d+-20|0;l=f[k>>2]|0;m=$d+-8|0;do if(l|0?(S=f[$d+-4>>2]|0,S|0):0){g=(f[l>>2]|0)+-1|0;if((S|0)==1?(f[m>>2]|0)==0:0){Zd=l+8+(g*72|0)+37|0;b[Zd>>0]=b[Zd>>0]|1;break}Zd=pl(f[i>>2]|0,m)|0;f[l+8+(g*72|0)+64>>2]=Zd;Zd=l+8+(g*72|0)+37|0;b[Zd>>0]=b[Zd>>0]|2}while(0);Nl(i,f[k>>2]|0,f[$d+4>>2]|0);break}case 145:{g=$d+-44|0;k=f[g>>2]|0;l=$d+-32|0;do if(k|0?(T=f[$d+-28>>2]|0,T|0):0){m=(f[k>>2]|0)+-1|0;if((T|0)==1?(f[l>>2]|0)==0:0){Zd=k+8+(m*72|0)+37|0;b[Zd>>0]=b[Zd>>0]|1;break}Zd=pl(f[i>>2]|0,l)|0;f[k+8+(m*72|0)+64>>2]=Zd;Zd=k+8+(m*72|0)+37|0;b[Zd>>0]=b[Zd>>0]|2}while(0);l=$d+-8|0;k=f[l>>2]|0;if(k){if((f[k>>2]|0)>(f[(f[i>>2]|0)+116>>2]|0)){f[ma>>2]=51250;ni(i,51227,ma);k=f[l>>2]|0}}else k=0;Ol(i,f[g>>2]|0,k,f[$d+4>>2]|0,f[$d+-56>>2]|0,0);break}case 146:{s=$d+-44|0;n=ml(f[i>>2]|0,f[s>>2]|0,f[$d+4>>2]|0)|0;f[s>>2]=n;s=$d+-20|0;if(n|0){o=(f[n>>2]|0)+-1|0;m=f[i>>2]|0;p=f[s>>2]|0;q=f[$d+-16>>2]|0;Q:do if(p){g=KA(q|0,0,1,0)|0;e=ba()|0;R:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1199;else{Zd=1201;break Q}else{do if(0<0|(0==0?q>>>0<(j[m+276>>1]|0)>>>0:0)){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];r=m+284|0;f[r>>2]=(f[r>>2]|0)+1;r=l;break R}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];r=m+284|0;f[r>>2]=(f[r>>2]|0)+1;r=l;break R}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1199}while(0);if((Zd|0)==1199)r=Dc(m,g,e)|0;if(r){YA(r|0,p|0,q|0)|0;b[r+q>>0]=0;k=n+4+(o*20|0)+4|0;f[k>>2]=r;l=b[r>>0]|0;if((b[5472+(l&255)>>0]|0)<0){e=l<<24>>24==91?93:l;g=0;l=1;while(1){m=b[r+l>>0]|0;if(m<<24>>24==e<<24>>24){l=l+1|0;m=r+g|0;if((b[r+l>>0]|0)!=e<<24>>24)break;b[m>>0]=e}else b[r+g>>0]=m;g=g+1|0;l=l+1|0}b[m>>0]=0}}else Zd=1201}else Zd=1201;while(0);if((Zd|0)==1201){k=n+4+(o*20|0)+4|0;f[k>>2]=0}if((h[i+196>>0]|0)>1){g=f[k>>2]|0;m=f[i>>2]|0;S:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=1234;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break a;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break a}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1234;break S}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1234;break S}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=1234}while(0);if((Zd|0)==1234)if(!k)break a;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=g;Xd=s;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;i=i+268|0;f[k+12>>2]=f[i>>2];f[i>>2]=k}}break}case 147:{Zd=$d+-68|0;i=Pl(i,f[Zd>>2]|0,f[$d+-32>>2]|0,f[$d+4>>2]|0)|0;f[Zd>>2]=i;break}case 148:{r=ml(f[i>>2]|0,0,f[$d+4>>2]|0)|0;s=$d+-20|0;T:do if(r|0){n=(f[r>>2]|0)+-1|0;m=f[i>>2]|0;o=f[s>>2]|0;p=f[$d+-16>>2]|0;U:do if(o){g=KA(p|0,0,1,0)|0;e=ba()|0;V:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1249;else{Zd=1251;break U}else{do if(0<0|(0==0?p>>>0<(j[m+276>>1]|0)>>>0:0)){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];q=m+284|0;f[q>>2]=(f[q>>2]|0)+1;q=l;break V}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];q=m+284|0;f[q>>2]=(f[q>>2]|0)+1;q=l;break V}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1249}while(0);if((Zd|0)==1249)q=Dc(m,g,e)|0;if(q){YA(q|0,o|0,p|0)|0;b[q+p>>0]=0;k=r+4+(n*20|0)+4|0;f[k>>2]=q;l=b[q>>0]|0;if((b[5472+(l&255)>>0]|0)<0){e=l<<24>>24==91?93:l;g=0;l=1;while(1){m=b[q+l>>0]|0;if(m<<24>>24==e<<24>>24){l=l+1|0;m=q+g|0;if((b[q+l>>0]|0)!=e<<24>>24)break;b[m>>0]=e}else b[q+g>>0]=m;g=g+1|0;l=l+1|0}b[m>>0]=0}}else Zd=1251}else Zd=1251;while(0);if((Zd|0)==1251){k=r+4+(n*20|0)+4|0;f[k>>2]=0}if((h[i+196>>0]|0)>1){g=f[k>>2]|0;m=f[i>>2]|0;W:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=1284;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break T;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break T}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1284;break W}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1284;break W}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=1284}while(0);if((Zd|0)==1284)if(!k)break;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=g;Xd=s;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;i=i+268|0;f[k+12>>2]=f[i>>2];f[i>>2]=k}}while(0);f[s>>2]=r;break}case 149:{i=Pl(i,0,f[$d+-32>>2]|0,f[$d+4>>2]|0)|0;f[$d+-44>>2]=i;break}case 150:{Ql(i,f[$d+-32>>2]|0,f[$d+-8>>2]|0,f[$d+-20>>2]|0,f[$d+-56>>2]|0,f[$d+4>>2]|0);break}case 151:{Ql(i,f[$d+-32>>2]|0,0,f[$d+-20>>2]|0,f[$d+-56>>2]|0,0);break}case 152:{f[$d+16>>2]=0;break}case 153:{g=f[i>>2]|0;e=f[$d+-80>>2]|0;n=f[$d+-56>>2]|0;o=f[$d+-8>>2]|0;p=f[$d+4>>2]|0;X:do if(!g){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](36)|0;Zd=1314;break}k=ib[f[37372>>2]&255](36)|0;if((f[18194]|0)>>>0<36)f[18194]=36;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[18187]|0;Zd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Yd=ba()|0;f[17976]=((Yd|0)<0|(Yd|0)==0&Zd>>>0<=i>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(k){l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0){f[18196]=l;Zd=1323}else Zd=1323}else Zd=1315}else{if(f[g+272>>2]|0){if(b[g+81>>0]|0){Zd=1315;break}}else{do if((j[g+276>>1]|0)>=36){l=g+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1314;break X}l=g+296|0;k=f[l>>2]|0;if(!k){k=g+292|0;break}else{f[l>>2]=f[k>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1314;break X}}else k=g+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(g,36,0)|0;Zd=1314}while(0);if((Zd|0)==1314)if(!k)Zd=1315;else Zd=1323;if((Zd|0)==1315){if(e|0)jg(g,e);if(n|0)ig(g,n);if(o|0)jg(g,o);if(!p)k=0;else{ig(g,p);k=0}}else if((Zd|0)==1323){f[k>>2]=e;f[k+4>>2]=n;f[k+8>>2]=o;f[k+12>>2]=p;f[k+16>>2]=0}f[$d+-116>>2]=k;break}case 154:{g=f[i>>2]|0;e=f[$d+-44>>2]|0;n=f[$d+-20>>2]|0;Y:do if(!g){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](36)|0;Zd=1348;break}k=ib[f[37372>>2]&255](36)|0;if((f[18194]|0)>>>0<36)f[18194]=36;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[18187]|0;Zd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Yd=ba()|0;f[17976]=((Yd|0)<0|(Yd|0)==0&Zd>>>0<=i>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(k){l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0){f[18196]=l;Zd=1353}else Zd=1353}else Zd=1349}else{if(f[g+272>>2]|0){if(b[g+81>>0]|0){Zd=1349;break}}else{do if((j[g+276>>1]|0)>=36){l=g+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1348;break Y}l=g+296|0;k=f[l>>2]|0;if(!k){k=g+292|0;break}else{f[l>>2]=f[k>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1348;break Y}}else k=g+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(g,36,0)|0;Zd=1348}while(0);if((Zd|0)==1348)if(!k)Zd=1349;else Zd=1353;if((Zd|0)==1349){if(e|0)jg(g,e);if(!n)k=0;else{ig(g,n);k=0}}else if((Zd|0)==1353){f[k>>2]=e;f[k+4>>2]=n;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0}f[$d+-80>>2]=k;break}case 155:{m=f[i>>2]|0;Z:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](36)|0;Zd=1378;break}k=ib[f[37372>>2]&255](36)|0;if((f[18194]|0)>>>0<36)f[18194]=36;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[18187]|0;Yd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[17976]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(k){l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0){f[18196]=l;Zd=1379}else Zd=1379}else k=0}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){k=0;break}}else{do if((j[m+276>>1]|0)>=36){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1378;break Z}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1378;break Z}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,36,0)|0;Zd=1378}while(0);if((Zd|0)==1378)if(!k)k=0;else Zd=1379;if((Zd|0)==1379){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0}f[$d+-32>>2]=k;break}case 159:{f[$d+-20>>2]=f[$d+-8>>2];break}case 160:{Zd=$d+-20|0;i=Rl(i,f[Zd>>2]|0,$d+4|0)|0;f[Zd>>2]=i;break}case 161:{Zd=$d+4|0;i=Rl(i,0,Zd)|0;f[Zd>>2]=i;break}case 162:{f[$d+-20>>2]=f[$d+-8>>2];break}case 164:case 163:{Zd=$d+4|0;i=Cl(i,59,f[Zd>>2]|0,f[$d+8>>2]|0)|0;f[Zd>>2]=i;break}case 165:{o=$d+-20|0;n=Dk(f[i>>2]|0,59,o,1)|0;g=$d+4|0;e=Dk(f[i>>2]|0,59,g,1)|0;_:do if((h[i+196>>0]|0)>1){m=f[i>>2]|0;$:do if(!m){if(!(f[9328]|0)){Ra=ib[f[37356>>2]&255](16)|0;Zd=1410;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}l=ib[f[37356>>2]&255](k)|0;if(l|0){k=ib[f[37368>>2]&255](l)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;k=l;Zd=1411}else{k=l;Zd=1411}}}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break}else{do if((j[m+276>>1]|0)>=16){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Ra=m+284|0;f[Ra>>2]=(f[Ra>>2]|0)+1;Ra=l;Zd=1410;break $}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];Ra=m+284|0;f[Ra>>2]=(f[Ra>>2]|0)+1;Ra=l;Zd=1410;break $}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}Ra=Dc(m,16,0)|0;Zd=1410}while(0);if((Zd|0)==1410?Ra|0:0){k=Ra;Zd=1411}if((Zd|0)==1411){l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=e;Wd=g;Xd=f[Wd+4>>2]|0;Yd=l;f[Yd>>2]=f[Wd>>2];f[Yd+4>>2]=Xd;Yd=i+268|0;f[k+12>>2]=f[Yd>>2];f[Yd>>2]=k}m=f[i>>2]|0;aa:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=1435;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break _;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break _}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1435;break aa}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1435;break aa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=1435}while(0);if((Zd|0)==1435)if(!k)break;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=n;Xd=o;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;Zd=i+268|0;f[k+12>>2]=f[Zd>>2];f[Zd>>2]=k}while(0);m=f[i>>2]|0;ba:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1447;else{k=m;Zd=1451}else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1448;break ba}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1448;break ba}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1447}while(0);if((Zd|0)==1447){k=Dc(m,48,0)|0;Zd=1448}do if((Zd|0)==1448){if(!k){k=f[i>>2]|0;Zd=1451;break}M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=-126;d[k+34>>1]=-1;if(!e)l=0;else{f[k+16>>2]=e;l=f[e+4>>2]&2097412;f[k+4>>2]=l}if(n|0){f[k+12>>2]=n;f[k+4>>2]=f[n+4>>2]&2097412|l}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[Zc>>2]=l;ni(i,42710,Zc)}}while(0);if((Zd|0)==1451){if(n|0)ig(k,n);if(!e)k=0;else{ig(k,e);k=0}}f[o>>2]=k;break}case 166:{s=$d+-44|0;r=Dk(f[i>>2]|0,59,s,1)|0;p=$d+-20|0;q=Dk(f[i>>2]|0,59,p,1)|0;g=$d+4|0;e=Dk(f[i>>2]|0,59,g,1)|0;k=f[i>>2]|0;ca:do if(f[k+272>>2]|0)if(!(b[k+81>>0]|0))Zd=1471;else Zd=1475;else{do if((j[k+276>>1]|0)>=48){l=k+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];Zd=k+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1472;break ca}l=k+296|0;m=f[l>>2]|0;if(!m){l=k+292|0;break}else{f[l>>2]=f[m>>2];Zd=k+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1472;break ca}}else l=k+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;Zd=1471}while(0);if((Zd|0)==1471){m=Dc(k,48,0)|0;Zd=1472}do if((Zd|0)==1472){if(!m){k=f[i>>2]|0;Zd=1475;break}M=m;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[m>>0]=-126;d[m+34>>1]=-1;if(!e)k=0;else{f[m+16>>2]=e;k=f[e+4>>2]&2097412;f[m+4>>2]=k}if(q|0){f[m+12>>2]=q;f[m+4>>2]=f[q+4>>2]&2097412|k}jl(m);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[Wb>>2]=k;ni(i,42710,Wb);o=0;n=m}else{o=0;n=m}}while(0);if((Zd|0)==1475){if(q|0)ig(k,q);if(!e){o=1;n=0}else{ig(k,e);o=1;n=0}}da:do if((h[i+196>>0]|0)>1){m=f[i>>2]|0;ea:do if(!m){if(!(f[9328]|0)){sc=ib[f[37356>>2]&255](16)|0;Zd=1508;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}l=ib[f[37356>>2]&255](k)|0;if(l|0){k=ib[f[37368>>2]&255](l)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;k=l;Zd=1509}else{k=l;Zd=1509}}}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break}else{do if((j[m+276>>1]|0)>=16){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];sc=m+284|0;f[sc>>2]=(f[sc>>2]|0)+1;sc=l;Zd=1508;break ea}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];sc=m+284|0;f[sc>>2]=(f[sc>>2]|0)+1;sc=l;Zd=1508;break ea}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}sc=Dc(m,16,0)|0;Zd=1508}while(0);if((Zd|0)==1508?sc|0:0){k=sc;Zd=1509}if((Zd|0)==1509){l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=e;Wd=g;Xd=f[Wd+4>>2]|0;Yd=l;f[Yd>>2]=f[Wd>>2];f[Yd+4>>2]=Xd;Yd=i+268|0;f[k+12>>2]=f[Yd>>2];f[Yd>>2]=k}m=f[i>>2]|0;fa:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=1533;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break da;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break da}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1533;break fa}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1533;break fa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=1533}while(0);if((Zd|0)==1533)if(!k)break;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=q;Xd=p;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;Zd=i+268|0;f[k+12>>2]=f[Zd>>2];f[Zd>>2]=k}while(0);m=f[i>>2]|0;ga:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1545;else{k=m;Zd=1549}else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1546;break ga}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1546;break ga}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1545}while(0);if((Zd|0)==1545){k=Dc(m,48,0)|0;Zd=1546}do if((Zd|0)==1546){if(!k){k=f[i>>2]|0;Zd=1549;break}M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=-126;d[k+34>>1]=-1;if(o)l=0;else{f[k+16>>2]=n;l=f[n+4>>2]&2097412;f[k+4>>2]=l}if(r|0){f[k+12>>2]=r;f[k+4>>2]=f[r+4>>2]&2097412|l}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[td>>2]=l;ni(i,42710,td)}}while(0);if((Zd|0)==1549){if(r|0)ig(k,r);if(o)k=0;else{ig(k,n);k=0}}f[s>>2]=k;break}case 168:case 167:{Zd=$d+4|0;i=Cl(i,j[$d+2>>1]|0,f[Zd>>2]|0,f[$d+8>>2]|0)|0;f[Zd>>2]=i;break}case 169:{Zd=$d+4|0;i=Dk(f[i>>2]|0,143,Zd,1)|0;f[Zd>>2]=i;break}case 170:{e=$d+4|0;k=f[e>>2]|0;if((b[k>>0]|0)==35?((h[k+1>>0]|0)+-48|0)>>>0<10:0){Wd=e;g=f[Wd>>2]|0;Wd=f[Wd+4>>2]|0;Xd=Yd;f[Xd>>2]=g;f[Xd+4>>2]=Wd;do if(!(b[i+18>>0]|0)){f[G>>2]=Yd;ni(i,50963,G);f[e>>2]=0}else{m=f[i>>2]|0;ha:do if(f[m+272>>2]|0){if(!(b[m+81>>0]|0))Zd=1625}else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Aa=m+284|0;f[Aa>>2]=(f[Aa>>2]|0)+1;Aa=l;Zd=1626;break ha}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];Aa=m+284|0;f[Aa>>2]=(f[Aa>>2]|0)+1;Aa=l;Zd=1626;break ha}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1625}while(0);if((Zd|0)==1625){Aa=Dc(m,48,0)|0;Zd=1626}if((Zd|0)==1626?Aa|0:0){M=Aa;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[Aa>>0]=-92;d[Aa+34>>1]=-1;jl(Aa);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[Aa+24>>2]|0)){f[mb>>2]=k;ni(i,42710,mb)}f[e>>2]=Aa;Pd(g+1|0,Aa+28|0)|0;break}f[e>>2]=0}while(0);break a}u=f[$d+8>>2]|0;w=Cl(i,144,k,u)|0;f[e>>2]=w;v=f[i>>2]|0;if(w|0){s=f[w+8>>2]|0;k=s+1|0;l=b[k>>0]|0;ia:do if(!(l<<24>>24)){Zd=i+192|0;k=(d[Zd>>1]|0)+1<<16>>16;d[Zd>>1]=k}else{if((b[s>>0]|0)==63){if((u|0)==2){g=(l<<24>>24)+-48|0;m=((g|0)<0)<<31>>31;k=Yd;f[k>>2]=g;f[k+4>>2]=m;k=0}else{k=(kf(k,Yd,u+-1|0,1)|0)!=0;g=Yd;m=f[g+4>>2]|0;g=f[g>>2]|0}l=f[v+144>>2]|0;Yd=((l|0)<0)<<31>>31;if(k|((m|0)<0|(m|0)==0&g>>>0<1)|((m|0)>(Yd|0)|(m|0)==(Yd|0)&g>>>0>l>>>0)){f[lb>>2]=l;ni(i,51259,lb);break a}k=g&65535;l=i+192|0;ja:do if((d[l>>1]|0)>=k<<16>>16){e=k<<16>>16;m=i+212|0;l=f[m>>2]|0;if(!l)l=0;else{n=f[l+4>>2]|0;g=2;while(1){if((f[l+(g<<2)>>2]|0)==(e|0))break;g=(f[l+(g+1<<2)>>2]|0)+g|0;if((g|0)>=(n|0))break ja}break ia}}else{d[l>>1]=k;l=i+212|0;m=l;l=f[l>>2]|0}while(0)}else{m=i+212|0;l=f[m>>2]|0;ka:do if(l|0){e=f[l+4>>2]|0;k=2;while(1){g=l+(k+2<<2)|0;if((Yz(g,s,u)|0)==0?(b[g+u>>0]|0)==0:0)break;k=(f[l+(k+1<<2)>>2]|0)+k|0;if((k|0)>=(e|0))break ka}k=f[l+(k<<2)>>2]|0;if(k&65535|0){k=k&65535;break ia}}while(0);Yd=i+192|0;k=(d[Yd>>1]|0)+1<<16>>16;d[Yd>>1]=k}q=k<<16>>16;g=(u|0)/4|0;r=g+3|0;p=(l|0)==0;la:do if(!p){o=l+4|0;g=f[o>>2]|0;e=g+r|0;n=f[l>>2]|0;if((e|0)>(n|0)){e=(n<<1)+r|0;g=e<<2;Zd=l;if((f[v+304>>2]|0)>>>0<=Zd>>>0?(f[v+308>>2]|0)>>>0>Zd>>>0:0){if(!(0<0|(0==0?(j[v+276>>1]|0)>>>0>>0:0))){g=e;Zd=1607;break}n=Lc(v,l,g,0)|0;g=e;Zd=1604;break}n=Lc(v,l,g,0)|0;g=e;Zd=1604}else{n=o;Zd=1608}}else{o=g+13|0;n=o<<2;if(f[v+272>>2]|0){if(b[v+81>>0]|0){l=0;break}}else{do if(!(0<0|(0==0?(j[v+276>>1]|0)>>>0>>0:0))){g=v+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];n=v+284|0;f[n>>2]=(f[n>>2]|0)+1;n=e;g=o;Zd=1604;break la}g=v+296|0;e=f[g>>2]|0;if(!e){g=v+292|0;break}else{f[g>>2]=f[e>>2];n=v+284|0;f[n>>2]=(f[n>>2]|0)+1;n=e;g=o;Zd=1604;break la}}else g=v+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}n=Dc(v,n,0)|0;g=o;Zd=1604}while(0);if((Zd|0)==1604)if(n)if(p){f[n+4>>2]=2;l=n;Zd=1607}else{l=n;Zd=1607}if((Zd|0)==1607){f[l>>2]=g;n=l+4|0;g=f[n>>2]|0;e=g+r|0;Zd=1608}if((Zd|0)==1608){f[l+(g<<2)>>2]=q;f[l+(g+1<<2)>>2]=r;Zd=l+(g+2<<2)|0;f[n>>2]=e;YA(Zd|0,s|0,u|0)|0;b[Zd+u>>0]=0}f[m>>2]=l}while(0);d[w+32>>1]=k;if((f[v+144>>2]|0)<(k<<16>>16|0))ni(i,51302,ud)}break}case 171:{l=$d+-20|0;k=f[l>>2]|0;if((f[$d+8>>2]|0)!=0?(z=Dk(f[i>>2]|0,102,$d+4|0,1)|0,(z|0)!=0):0){f[z+12>>2]=k;k=z+4|0;f[k>>2]=f[k>>2]|4352;k=z}f[l>>2]=k;break}case 172:{g=Dk(f[i>>2]|0,36,$d+-8|0,1)|0;f[$d+-56>>2]=g;k=f[i>>2]|0;l=f[$d+-32>>2]|0;m=(l|0)==0;if(!g){if(m)break a;ig(k,l);break a}if(!m){f[g+12>>2]=l;i=g+4|0;f[i>>2]=f[i>>2]|f[l+4>>2]&2097412}jl(g);break}case 173:{l=f[$d+-8>>2]|0;n=$d+-44|0;e=f[$d+-20>>2]|0;m=f[i>>2]|0;k=Dk(m,157,n,1)|0;g=(l|0)==0;if(!k)if(g)k=0;else{jg(m,l);k=0}else{if(!g?(f[l>>2]|0)>(f[(f[i>>2]|0)+132>>2]|0):0){f[na>>2]=n;ni(i,51325,na)}f[k+20>>2]=l;l=k+4|0;f[l>>2]=f[l>>2]|4;if((f[i+36>>2]|0)==0?(jl(k),Ca=f[(f[i>>2]|0)+120>>2]|0,(Ca|0)<(f[k+24>>2]|0)):0){f[ya>>2]=Ca;ni(i,42710,ya)}if((e|0)==1)f[l>>2]=f[l>>2]|16}f[n>>2]=k;break}case 174:{l=$d+-32|0;k=Dk(f[i>>2]|0,157,l,1)|0;if(k){f[k+20>>2]=0;Zd=k+4|0;f[Zd>>2]=f[Zd>>2]|4;if((f[i+36>>2]|0)==0?(jl(k),A=f[(f[i>>2]|0)+120>>2]|0,(A|0)<(f[k+24>>2]|0)):0){f[s>>2]=A;ni(i,42710,s)}}else k=0;f[l>>2]=k;break}case 175:{l=f[$d+-20>>2]|0;n=$d+-56|0;e=f[$d+-32>>2]|0;m=f[i>>2]|0;k=Dk(m,157,n,1)|0;g=(l|0)==0;if(k){if(!g?(f[l>>2]|0)>(f[(f[i>>2]|0)+132>>2]|0):0){f[pa>>2]=n;ni(i,51325,pa)}f[k+20>>2]=l;m=k+4|0;f[m>>2]=f[m>>2]|4;if((f[i+36>>2]|0)==0?(jl(k),Da=f[(f[i>>2]|0)+120>>2]|0,(Da|0)<(f[k+24>>2]|0)):0){f[za>>2]=Da;ni(i,42710,za)}if((e|0)==1)f[m>>2]=f[m>>2]|16;l=f[$d+4>>2]|0;if((l|0)!=0?(f[k+44>>2]=l,Zd=f[m>>2]|0,f[m>>2]=Zd|16777216,f[l+60>>2]=k,(Zd&16|0)!=0):0)ni(i,51359,Ja)}else{if(!g)jg(m,l);og(f[i>>2]|0,f[$d+4>>2]|0);k=0}f[n>>2]=k;break}case 176:{g=$d+-44|0;k=Dk(f[i>>2]|0,157,g,1)|0;if(k){f[k+20>>2]=0;m=k+4|0;f[m>>2]=f[m>>2]|4;if((f[i+36>>2]|0)==0?(jl(k),K=f[(f[i>>2]|0)+120>>2]|0,(K|0)<(f[k+24>>2]|0)):0){f[D>>2]=K;ni(i,42710,D)}l=f[$d+4>>2]|0;if((l|0)!=0?(f[k+44>>2]=l,Zd=f[m>>2]|0,f[m>>2]=Zd|16777216,f[l+60>>2]=k,(Zd&16|0)!=0):0)ni(i,51359,N)}else{og(f[i>>2]|0,f[$d+4>>2]|0);k=0}f[g>>2]=k;break}case 177:{l=$d+4|0;k=Dk(f[i>>2]|0,157,l,1)|0;if(k){f[k+20>>2]=0;Zd=k+4|0;f[Zd>>2]=f[Zd>>2]|4;if((f[i+36>>2]|0)==0?(jl(k),B=f[(f[i>>2]|0)+120>>2]|0,(B|0)<(f[k+24>>2]|0)):0){f[r>>2]=B;ni(i,42710,r)}}else k=0;f[l>>2]=k;break}case 178:{g=ml(f[i>>2]|0,f[$d+-32>>2]|0,f[$d+-8>>2]|0)|0;m=f[i>>2]|0;ma:do if(f[m+272>>2]|0){if(!(b[m+81>>0]|0))Zd=1699}else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];W=m+284|0;f[W>>2]=(f[W>>2]|0)+1;W=l;Zd=1700;break ma}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];W=m+284|0;f[W>>2]=(f[W>>2]|0)+1;W=l;Zd=1700;break ma}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1699}while(0);if((Zd|0)==1699){W=Dc(m,48,0)|0;Zd=1700}if((Zd|0)==1700?W|0:0){M=W;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[W>>0]=-91;d[W+34>>1]=-1;jl(W);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[W+24>>2]|0)){f[Sa>>2]=k;ni(i,42710,Sa)}f[$d+-44>>2]=W;f[W+20>>2]=g;break a}f[$d+-44>>2]=0;if(g|0)jg(f[i>>2]|0,g);break}case 186:case 185:case 184:case 183:case 182:case 181:case 180:case 179:{g=d[$d+-10>>1]|0;o=$d+-20|0;n=f[o>>2]|0;e=f[$d+4>>2]|0;if(g<<16>>16==44?(f[i+36>>2]|0)==0:0){k=kl(f[i>>2]|0,n,e)|0;if(!k)k=0;else{l=i;Zd=1731}}else Zd=1708;na:do if((Zd|0)==1708){m=f[i>>2]|0;oa:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1718;else k=m;else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1719;break oa}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1719;break oa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1718}while(0);if((Zd|0)==1718){k=Dc(m,48,0)|0;Zd=1719}do if((Zd|0)==1719){if(!k){k=f[i>>2]|0;break}M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=g;d[k+34>>1]=-1;if(!e)l=0;else{f[k+16>>2]=e;l=f[e+4>>2]&2097412;f[k+4>>2]=l}if(n|0){f[k+12>>2]=n;f[k+4>>2]=f[n+4>>2]&2097412|l}jl(k);l=i;Zd=1731;break na}while(0);if(n|0)ig(k,n);if(!e)k=0;else{ig(k,e);k=0}}while(0);if((Zd|0)==1731){l=f[(f[l>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[Zb>>2]=l;ni(i,42710,Zb)}}f[o>>2]=k;break}case 187:{Yd=$d+4|0;i=f[Yd+4>>2]|0;Zd=$d+-8|0;f[Zd>>2]=f[Yd>>2];f[Zd+4>>2]=i;f[$d+-4>>2]=i|-2147483648;break}case 188:{l=$d+-8|0;m=$d+-4|0;n=f[m>>2]|0;f[m>>2]=n&2147483647;m=ml(f[i>>2]|0,0,f[$d+4>>2]|0)|0;o=$d+-20|0;m=ml(f[i>>2]|0,m,f[o>>2]|0)|0;g=f[i>>2]|0;k=Dk(g,157,l,1)|0;e=(m|0)==0;if(!k)if(e)k=0;else{jg(g,m);k=0}else{if(!e?(f[m>>2]|0)>(f[(f[i>>2]|0)+132>>2]|0):0){f[qa>>2]=l;ni(i,51325,qa)}f[k+20>>2]=m;Zd=k+4|0;f[Zd>>2]=f[Zd>>2]|4;if((f[i+36>>2]|0)==0?(jl(k),Ea=f[(f[i>>2]|0)+120>>2]|0,(Ea|0)<(f[k+24>>2]|0)):0){f[ra>>2]=Ea;ni(i,42710,ra)}}f[o>>2]=k;if((n|0)<0){g=f[i>>2]|0;pa:do if(f[g+272>>2]|0)if(!(b[g+81>>0]|0))Zd=1755;else Zd=1758;else{do if((j[g+276>>1]|0)>=48){l=g+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1756;break pa}l=g+296|0;m=f[l>>2]|0;if(!m){l=g+292|0;break}else{f[l>>2]=f[m>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1756;break pa}}else l=g+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;Zd=1755}while(0);if((Zd|0)==1755){m=Dc(g,48,0)|0;Zd=1756}if((Zd|0)==1756)if(m){M=m;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[m>>0]=19;d[m+34>>1]=-1;if(k|0){f[m+12>>2]=k;f[m+4>>2]=f[k+4>>2]&2097412}jl(m);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[_b>>2]=k;ni(i,42710,_b);k=m}else k=m}else Zd=1758;if((Zd|0)==1758)if(!k)k=0;else{ig(f[i>>2]|0,k);k=0}f[o>>2]=k}if(k|0){i=k+4|0;f[i>>2]=f[i>>2]|128}break}case 189:{l=$d+-32|0;m=$d+-28|0;n=f[m>>2]|0;f[m>>2]=n&2147483647;m=ml(f[i>>2]|0,0,f[$d+-20>>2]|0)|0;o=$d+-44|0;m=ml(f[i>>2]|0,m,f[o>>2]|0)|0;m=ml(f[i>>2]|0,m,f[$d+4>>2]|0)|0;g=f[i>>2]|0;k=Dk(g,157,l,1)|0;e=(m|0)==0;if(!k)if(e)k=0;else{jg(g,m);k=0}else{if(!e?(f[m>>2]|0)>(f[(f[i>>2]|0)+132>>2]|0):0){f[sa>>2]=l;ni(i,51325,sa)}f[k+20>>2]=m;Zd=k+4|0;f[Zd>>2]=f[Zd>>2]|4;if((f[i+36>>2]|0)==0?(jl(k),Fa=f[(f[i>>2]|0)+120>>2]|0,(Fa|0)<(f[k+24>>2]|0)):0){f[ta>>2]=Fa;ni(i,42710,ta)}}f[o>>2]=k;if((n|0)<0){g=f[i>>2]|0;qa:do if(f[g+272>>2]|0)if(!(b[g+81>>0]|0))Zd=1786;else Zd=1789;else{do if((j[g+276>>1]|0)>=48){l=g+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1787;break qa}l=g+296|0;m=f[l>>2]|0;if(!m){l=g+292|0;break}else{f[l>>2]=f[m>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1787;break qa}}else l=g+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;Zd=1786}while(0);if((Zd|0)==1786){m=Dc(g,48,0)|0;Zd=1787}if((Zd|0)==1787)if(m){M=m;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[m>>0]=19;d[m+34>>1]=-1;if(k|0){f[m+12>>2]=k;f[m+4>>2]=f[k+4>>2]&2097412}jl(m);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[$b>>2]=k;ni(i,42710,$b);k=m}else k=m}else Zd=1789;if((Zd|0)==1789)if(!k)k=0;else{ig(f[i>>2]|0,k);k=0}f[o>>2]=k}if(k|0){i=k+4|0;f[i>>2]=f[i>>2]|128}break}case 190:{e=d[$d+2>>1]|0;n=$d+-8|0;k=f[n>>2]|0;if(e<<16>>16==44?(f[i+36>>2]|0)==0:0)if(!k)k=0;else{l=i;Zd=1818}else Zd=1801;do if((Zd|0)==1801){g=f[i>>2]|0;ra:do if(f[g+272>>2]|0){if(!(b[g+81>>0]|0))Zd=1811}else{do if((j[g+276>>1]|0)>=48){l=g+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1812;break ra}l=g+296|0;m=f[l>>2]|0;if(!m){l=g+292|0;break}else{f[l>>2]=f[m>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1812;break ra}}else l=g+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;Zd=1811}while(0);if((Zd|0)==1811){m=Dc(g,48,0)|0;Zd=1812}if((Zd|0)==1812?m|0:0){M=m;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[m>>0]=e;d[m+34>>1]=-1;if(k|0){f[m+12>>2]=k;f[m+4>>2]=f[k+4>>2]&2097412}jl(m);k=m;l=i;Zd=1818;break}if(!k)k=0;else{ig(f[i>>2]|0,k);k=0}}while(0);if((Zd|0)==1818){l=f[(f[l>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[zb>>2]=l;ni(i,42710,zb)}}f[n>>2]=k;break}case 191:{e=$d+-20|0;g=f[e>>2]|0;m=f[i>>2]|0;sa:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1831;else Zd=1834;else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1832;break sa}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1832;break sa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1831}while(0);if((Zd|0)==1831){k=Dc(m,48,0)|0;Zd=1832}if((Zd|0)==1832)if(k){M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=51;d[k+34>>1]=-1;if(g|0){f[k+12>>2]=g;f[k+4>>2]=f[g+4>>2]&2097412}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[fb>>2]=l;ni(i,42710,fb)}}else Zd=1834;if((Zd|0)==1834)if(!g)k=0;else{ig(f[i>>2]|0,g);k=0}f[e>>2]=k;break}case 192:{o=$d+-20|0;e=f[o>>2]|0;n=$d+4|0;g=f[n>>2]|0;k=f[i>>2]|0;ta:do if(f[k+272>>2]|0){if(!(b[k+81>>0]|0))Zd=1850}else{do if((j[k+276>>1]|0)>=48){l=k+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=m;Zd=1851;break ta}l=k+296|0;m=f[l>>2]|0;if(!m){l=k+292|0;break}else{f[l>>2]=f[m>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=m;Zd=1851;break ta}}else l=k+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;Zd=1850}while(0);if((Zd|0)==1850){l=Dc(k,48,0)|0;Zd=1851}do if((Zd|0)==1851){if(!l){k=f[i>>2]|0;break}M=l;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[l>>0]=45;d[l+34>>1]=-1;if(!g)k=0;else{f[l+16>>2]=g;k=f[g+4>>2]&2097412;f[l+4>>2]=k}if(e|0){f[l+12>>2]=e;f[l+4>>2]=f[e+4>>2]&2097412|k}jl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[Eb>>2]=k;ni(i,42710,Eb)}f[o>>2]=l;k=f[n>>2]|0;m=f[i>>2]|0;if(!k)break a;if((b[k>>0]|0)!=110)break a;if((h[i+196>>0]|0)>1)break a;b[l>>0]=50;k=l+16|0;l=f[k>>2]|0;if(l|0)ig(m,l);f[k>>2]=0;break a}while(0);if(e|0)ig(k,e);if(g|0)ig(k,g);f[o>>2]=0;break}case 193:{o=$d+-32|0;e=f[o>>2]|0;n=$d+4|0;g=f[n>>2]|0;k=f[i>>2]|0;ua:do if(f[k+272>>2]|0){if(!(b[k+81>>0]|0))Zd=1880}else{do if((j[k+276>>1]|0)>=48){l=k+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=m;Zd=1881;break ua}l=k+296|0;m=f[l>>2]|0;if(!m){l=k+292|0;break}else{f[l>>2]=f[m>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=m;Zd=1881;break ua}}else l=k+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;Zd=1880}while(0);if((Zd|0)==1880){l=Dc(k,48,0)|0;Zd=1881}do if((Zd|0)==1881){if(!l){k=f[i>>2]|0;break}M=l;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[l>>0]=-100;d[l+34>>1]=-1;if(!g)k=0;else{f[l+16>>2]=g;k=f[g+4>>2]&2097412;f[l+4>>2]=k}if(e|0){f[l+12>>2]=e;f[l+4>>2]=f[e+4>>2]&2097412|k}jl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[Fb>>2]=k;ni(i,42710,Fb)}f[o>>2]=l;k=f[n>>2]|0;m=f[i>>2]|0;if(!k)break a;if((b[k>>0]|0)!=110)break a;if((h[i+196>>0]|0)>1)break a;b[l>>0]=51;k=l+16|0;l=f[k>>2]|0;if(l|0)ig(m,l);f[k>>2]=0;break a}while(0);if(e|0)ig(k,e);if(g|0)ig(k,g);f[o>>2]=0;break}case 195:case 194:{g=d[$d+-10>>1]|0;e=f[$d+4>>2]|0;if(g<<16>>16==44?(f[i+36>>2]|0)==0:0)if(!e)k=0;else{k=e;l=i;Zd=1921}else Zd=1904;do if((Zd|0)==1904){m=f[i>>2]|0;va:do if(f[m+272>>2]|0){if(!(b[m+81>>0]|0))Zd=1914}else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1915;break va}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1915;break va}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1914}while(0);if((Zd|0)==1914){k=Dc(m,48,0)|0;Zd=1915}if((Zd|0)==1915?k|0:0){M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=g;d[k+34>>1]=-1;if(e|0){f[k+12>>2]=e;f[k+4>>2]=f[e+4>>2]&2097412}jl(k);l=i;Zd=1921;break}if(!e)k=0;else{ig(f[i>>2]|0,e);k=0}}while(0);if((Zd|0)==1921){l=f[(f[l>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[qb>>2]=l;ni(i,42710,qb)}}f[$d+-8>>2]=k;break}case 196:{g=(d[$d+-10>>1]|0)==96;e=f[$d+4>>2]|0;m=f[i>>2]|0;wa:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1934;else Zd=1937;else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1935;break wa}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1935;break wa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1934}while(0);if((Zd|0)==1934){k=Dc(m,48,0)|0;Zd=1935}if((Zd|0)==1935)if(k){M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=g?-94:-95;d[k+34>>1]=-1;if(e|0){f[k+12>>2]=e;f[k+4>>2]=f[e+4>>2]&2097412}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[gb>>2]=l;ni(i,42710,gb)}}else Zd=1937;if((Zd|0)==1937)if(!e)k=0;else{ig(f[i>>2]|0,e);k=0}f[$d+-8>>2]=k;break}case 200:case 197:{f[$d+4>>2]=0;break}case 199:{e=ml(f[i>>2]|0,0,f[$d+-20>>2]|0)|0;e=ml(f[i>>2]|0,e,f[$d+4>>2]|0)|0;n=$d+-44|0;g=f[n>>2]|0;m=f[i>>2]|0;xa:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1954;else Zd=1957;else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1955;break xa}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1955;break xa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1954}while(0);if((Zd|0)==1954){l=Dc(m,48,0)|0;Zd=1955}if((Zd|0)==1955)if(!l)Zd=1957;else{M=l;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[l>>0]=48;d[l+34>>1]=-1;if(g|0){f[l+12>>2]=g;f[l+4>>2]=f[g+4>>2]&2097412}jl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[rb>>2]=k;ni(i,42710,rb)}f[n>>2]=l;f[l+20>>2]=e}if((Zd|0)==1957){if(g|0)ig(f[i>>2]|0,g);f[n>>2]=0;if(e|0)jg(f[i>>2]|0,e)}if(f[$d+-32>>2]|0){g=f[n>>2]|0;m=f[i>>2]|0;ya:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1976;else Zd=1979;else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1977;break ya}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1977;break ya}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1976}while(0);if((Zd|0)==1976){k=Dc(m,48,0)|0;Zd=1977}if((Zd|0)==1977)if(k){M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=19;d[k+34>>1]=-1;if(g|0){f[k+12>>2]=g;f[k+4>>2]=f[g+4>>2]&2097412}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[jc>>2]=l;ni(i,42710,jc)}}else Zd=1979;if((Zd|0)==1979)if(!g)k=0;else{ig(f[i>>2]|0,g);k=0}f[n>>2]=k}break}case 202:{e=$d+-8|0;k=f[e>>2]|0;if(!k){k=$d+-44|0;l=f[k>>2]|0;if(l|0)ig(f[i>>2]|0,l);i=Dk(f[i>>2]|0,143,10016+(f[$d+-32>>2]<<3)|0,1)|0;f[k>>2]=i;break a}if((f[k>>2]|0)==1){k=k+4|0;o=f[k>>2]|0;f[k>>2]=0;k=f[e>>2]|0;if(k|0)jg(f[i>>2]|0,k);e=(o|0)==0;if(!e){Zd=o+4|0;f[Zd>>2]=f[Zd>>2]&-769|512}g=(f[$d+-32>>2]|0)==0;p=$d+-44|0;n=f[p>>2]|0;m=f[i>>2]|0;za:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=2004;else{k=m;Zd=2008}else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2005;break za}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2005;break za}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2004}while(0);if((Zd|0)==2004){k=Dc(m,48,0)|0;Zd=2005}do if((Zd|0)==2005){if(!k){k=f[i>>2]|0;Zd=2008;break}M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=g?53:52;d[k+34>>1]=-1;if(e)l=0;else{f[k+16>>2]=o;l=f[o+4>>2]&2097412;f[k+4>>2]=l}if(n|0){f[k+12>>2]=n;f[k+4>>2]=f[n+4>>2]&2097412|l}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[ec>>2]=l;ni(i,42710,ec)}}while(0);if((Zd|0)==2008){if(n|0)ig(k,n);if(e)k=0;else{ig(k,o);k=0}}f[p>>2]=k;break a}n=$d+-44|0;g=f[n>>2]|0;m=f[i>>2]|0;Aa:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=2028;else Zd=2031;else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2029;break Aa}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2029;break Aa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2028}while(0);if((Zd|0)==2028){l=Dc(m,48,0)|0;Zd=2029}if((Zd|0)==2029)if(l){M=l;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[l>>0]=49;d[l+34>>1]=-1;if(g|0){f[l+12>>2]=g;f[l+4>>2]=f[g+4>>2]&2097412}jl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[Ab>>2]=k;ni(i,42710,Ab)}f[n>>2]=l;f[l+20>>2]=f[e>>2];k=f[n>>2]|0;if((f[i+36>>2]|0)==0?(jl(k),Jb=f[(f[i>>2]|0)+120>>2]|0,(Jb|0)<(f[k+24>>2]|0)):0){f[Gb>>2]=Jb;ni(i,42710,Gb)}}else Zd=2031;if((Zd|0)==2031){if(g|0)ig(f[i>>2]|0,g);f[n>>2]=0;k=f[e>>2]|0;if(k|0)jg(f[i>>2]|0,k)}if(f[$d+-32>>2]|0){g=f[n>>2]|0;m=f[i>>2]|0;Ba:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=2052;else Zd=2055;else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2053;break Ba}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2053;break Ba}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2052}while(0);if((Zd|0)==2052){k=Dc(m,48,0)|0;Zd=2053}if((Zd|0)==2053)if(k){M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=19;d[k+34>>1]=-1;if(g|0){f[k+12>>2]=g;f[k+4>>2]=f[g+4>>2]&2097412}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[qc>>2]=l;ni(i,42710,qc)}}else Zd=2055;if((Zd|0)==2055)if(!g)k=0;else{ig(f[i>>2]|0,g);k=0}f[n>>2]=k}break}case 203:{m=f[i>>2]|0;Ca:do if(f[m+272>>2]|0){if(!(b[m+81>>0]|0))Zd=2071}else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];X=m+284|0;f[X>>2]=(f[X>>2]|0)+1;X=l;Zd=2072;break Ca}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];X=m+284|0;f[X>>2]=(f[X>>2]|0)+1;X=l;Zd=2072;break Ca}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2071}while(0);if((Zd|0)==2071){X=Dc(m,48,0)|0;Zd=2072}if((Zd|0)==2072?X|0:0){M=X;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[X>>0]=127;d[X+34>>1]=-1;jl(X);l=X+24|0;k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l>>2]|0)){f[Ta>>2]=k;ni(i,42710,Ta)}f[$d+-20>>2]=X;f[X+20>>2]=f[$d+-8>>2];Zd=X+4|0;f[Zd>>2]=f[Zd>>2]|2099200;if(f[i+36>>2]|0)break a;jl(X);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)>=(f[l>>2]|0))break a;f[$a>>2]=k;ni(i,42710,$a);break a}f[$d+-20>>2]=0;k=f[$d+-8>>2]|0;if(k|0)mg(f[i>>2]|0,k,1);break}case 204:{e=$d+-44|0;g=f[e>>2]|0;m=f[i>>2]|0;Da:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=2090;else Zd=2093;else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2091;break Da}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2091;break Da}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2090}while(0);if((Zd|0)==2090){l=Dc(m,48,0)|0;Zd=2091}if((Zd|0)==2091)if(l){M=l;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[l>>0]=49;d[l+34>>1]=-1;if(g|0){f[l+12>>2]=g;f[l+4>>2]=f[g+4>>2]&2097412}jl(l);k=l+24|0;m=f[(f[i>>2]|0)+120>>2]|0;if((m|0)<(f[k>>2]|0)){f[sb>>2]=m;ni(i,42710,sb)}f[e>>2]=l;f[l+20>>2]=f[$d+-8>>2];Yd=l+4|0;f[Yd>>2]=f[Yd>>2]|2099200;if((f[i+36>>2]|0)==0?(jl(l),yb=f[(f[i>>2]|0)+120>>2]|0,(yb|0)<(f[k>>2]|0)):0){f[tb>>2]=yb;ni(i,42710,tb)}}else Zd=2093;if((Zd|0)==2093){if(g|0)ig(f[i>>2]|0,g);f[e>>2]=0;k=f[$d+-8>>2]|0;if(k|0)mg(f[i>>2]|0,k,1)}if(f[$d+-32>>2]|0){g=f[e>>2]|0;m=f[i>>2]|0;Ea:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=2114;else Zd=2117;else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2115;break Ea}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2115;break Ea}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2114}while(0);if((Zd|0)==2114){k=Dc(m,48,0)|0;Zd=2115}if((Zd|0)==2115)if(k){M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=19;d[k+34>>1]=-1;if(g|0){f[k+12>>2]=g;f[k+4>>2]=f[g+4>>2]&2097412}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[lc>>2]=l;ni(i,42710,lc)}}else Zd=2117;if((Zd|0)==2117)if(!g)k=0;else{ig(f[i>>2]|0,g);k=0}f[e>>2]=k}break}case 205:{k=ol(f[i>>2]|0,0,$d+-20|0,$d+-8|0)|0;e=Ll(i,0,k,0,0,0,0,0,0)|0;l=f[$d+4>>2]|0;do if(l|0)if((k|0)==0|(e|0)==0){jg(f[i>>2]|0,l);break}else{Zd=(f[k>>2]|0)+-1|0;f[k+8+(Zd*72|0)+64>>2]=l;Zd=k+8+(Zd*72|0)+37|0;b[Zd>>0]=b[Zd>>0]|4;break}while(0);n=$d+-44|0;g=f[n>>2]|0;m=f[i>>2]|0;Fa:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=2137;else Zd=2140;else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2138;break Fa}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2138;break Fa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2137}while(0);if((Zd|0)==2137){l=Dc(m,48,0)|0;Zd=2138}if((Zd|0)==2138)if(l){M=l;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[l>>0]=49;d[l+34>>1]=-1;if(g|0){f[l+12>>2]=g;f[l+4>>2]=f[g+4>>2]&2097412}jl(l);k=l+24|0;m=f[(f[i>>2]|0)+120>>2]|0;if((m|0)<(f[k>>2]|0)){f[Kb>>2]=m;ni(i,42710,Kb)}f[n>>2]=l;f[l+20>>2]=e;Yd=l+4|0;f[Yd>>2]=f[Yd>>2]|2099200;if((f[i+36>>2]|0)==0?(jl(l),Sb=f[(f[i>>2]|0)+120>>2]|0,(Sb|0)<(f[k>>2]|0)):0){f[Lb>>2]=Sb;ni(i,42710,Lb)}}else Zd=2140;if((Zd|0)==2140){if(g|0)ig(f[i>>2]|0,g);f[n>>2]=0;if(e|0)mg(f[i>>2]|0,e,1)}if(f[$d+-32>>2]|0){g=f[n>>2]|0;m=f[i>>2]|0;Ga:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=2161;else Zd=2164;else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2162;break Ga}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2162;break Ga}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2161}while(0);if((Zd|0)==2161){k=Dc(m,48,0)|0;Zd=2162}if((Zd|0)==2162)if(k){M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=19;d[k+34>>1]=-1;if(g|0){f[k+12>>2]=g;f[k+4>>2]=f[g+4>>2]&2097412}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[rc>>2]=l;ni(i,42710,rc)}}else Zd=2164;if((Zd|0)==2164)if(!g)k=0;else{ig(f[i>>2]|0,g);k=0}f[n>>2]=k}break}case 206:{m=f[i>>2]|0;Ha:do if(f[m+272>>2]|0){if(!(b[m+81>>0]|0))Zd=2180}else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Y=m+284|0;f[Y>>2]=(f[Y>>2]|0)+1;Y=l;Zd=2181;break Ha}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];Y=m+284|0;f[Y>>2]=(f[Y>>2]|0)+1;Y=l;Zd=2181;break Ha}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2180}while(0);if((Zd|0)==2180){Y=Dc(m,48,0)|0;Zd=2181}if((Zd|0)==2181?Y|0:0){M=Y;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[Y>>0]=20;d[Y+34>>1]=-1;jl(Y);l=Y+24|0;k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l>>2]|0)){f[Ua>>2]=k;ni(i,42710,Ua)}f[$d+-32>>2]=Y;f[Y+20>>2]=f[$d+-8>>2];Zd=Y+4|0;f[Zd>>2]=f[Zd>>2]|2099200;if(f[i+36>>2]|0)break a;jl(Y);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)>=(f[l>>2]|0))break a;f[ab>>2]=k;ni(i,42710,ab);break a}f[$d+-32>>2]=0;k=f[$d+-8>>2]|0;if(k|0)mg(f[i>>2]|0,k,1);break}case 207:{g=f[$d+-32>>2]|0;m=f[i>>2]|0;Ia:do if(f[m+272>>2]|0){if(!(b[m+81>>0]|0))Zd=2199}else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Ka=m+284|0;f[Ka>>2]=(f[Ka>>2]|0)+1;Ka=l;Zd=2200;break Ia}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];Ka=m+284|0;f[Ka>>2]=(f[Ka>>2]|0)+1;Ka=l;Zd=2200;break Ia}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2199}while(0);if((Zd|0)==2199){Ka=Dc(m,48,0)|0;Zd=2200}if((Zd|0)==2200?Ka|0:0){M=Ka;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[Ka>>0]=-111;d[Ka+34>>1]=-1;if(g|0){f[Ka+12>>2]=g;f[Ka+4>>2]=f[g+4>>2]&2097412}jl(Ka);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[Ka+24>>2]|0)){f[Va>>2]=k;ni(i,42710,Va)}m=$d+-44|0;f[m>>2]=Ka;l=f[$d+-8>>2]|0;k=f[$d+-20>>2]|0;if(!l)l=Ka;else{k=ml(f[i>>2]|0,k,l)|0;l=f[m>>2]|0}f[l+20>>2]=k;k=f[m>>2]|0;if(f[i+36>>2]|0)break a;jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)>=(f[k+24>>2]|0))break a;f[Tb>>2]=l;ni(i,42710,Tb);break a}if(g|0)ig(f[i>>2]|0,g);f[$d+-44>>2]=0;k=f[$d+-20>>2]|0;if(k|0)jg(f[i>>2]|0,k);k=f[$d+-8>>2]|0;if(k|0)ig(f[i>>2]|0,k);break}case 208:{Zd=$d+-44|0;Yd=ml(f[i>>2]|0,f[Zd>>2]|0,f[$d+-20>>2]|0)|0;f[Zd>>2]=Yd;i=ml(f[i>>2]|0,Yd,f[$d+4>>2]|0)|0;f[Zd>>2]=i;break}case 209:{Yd=ml(f[i>>2]|0,0,f[$d+-20>>2]|0)|0;Zd=$d+-32|0;f[Zd>>2]=Yd;i=ml(f[i>>2]|0,Yd,f[$d+4>>2]|0)|0;f[Zd>>2]=i;break}case 308:{f[$d+-44>>2]=f[$d+-8>>2];break}case 215:{Zd=$d+-20|0;i=ml(f[i>>2]|0,f[Zd>>2]|0,f[$d+4>>2]|0)|0;f[Zd>>2]=i;break}case 216:{Zd=$d+4|0;i=ml(f[i>>2]|0,0,f[Zd>>2]|0)|0;f[Zd>>2]=i;break}case 223:case 218:{f[$d+-20>>2]=f[$d+-8>>2];break}case 219:{e=$d+-44|0;Yd=ol(f[i>>2]|0,0,e,0)|0;El(i,$d+-80|0,$d+-68|0,Yd,f[$d+-20>>2]|0,f[$d+-116>>2]|0,$d+-128|0,f[$d+4>>2]|0,0,f[$d+-92>>2]|0,0);if((h[i+196>>0]|0)>1?(q=f[i+228>>2]|0,q|0):0){g=f[q>>2]|0;m=f[i>>2]|0;Ja:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=2246;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break a;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break a}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2246;break Ja}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2246;break Ja}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=2246}while(0);if((Zd|0)==2246)if(!k)break a;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=g;Xd=e;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;i=i+268|0;f[k+12>>2]=f[i>>2];f[i>>2]=k}break}case 260:case 220:{f[$d+4>>2]=2;break}case 221:{f[$d+16>>2]=0;break}case 224:{r=$d+-44|0;s=$d+-20|0;Xd=f[$d+-8>>2]|0;Yd=f[$d+4>>2]|0;u=ml(f[i>>2]|0,f[r>>2]|0,0)|0;if((Xd|0)!=0|(Yd|0)!=-1?(b[(f[i>>2]|0)+165>>0]|0)==0:0){Yd=f[s>>2]|0;f[E>>2]=f[$d+-16>>2];f[E+4>>2]=Yd;ni(i,51406,E)}Ka:do if(u|0){n=(f[u>>2]|0)+-1|0;m=f[i>>2]|0;o=f[s>>2]|0;p=f[$d+-16>>2]|0;La:do if(o){g=KA(p|0,0,1,0)|0;e=ba()|0;Ma:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=2265;else{Zd=2267;break La}else{do if(0<0|(0==0?p>>>0<(j[m+276>>1]|0)>>>0:0)){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];q=m+284|0;f[q>>2]=(f[q>>2]|0)+1;q=l;break Ma}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];q=m+284|0;f[q>>2]=(f[q>>2]|0)+1;q=l;break Ma}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2265}while(0);if((Zd|0)==2265)q=Dc(m,g,e)|0;if(q){YA(q|0,o|0,p|0)|0;b[q+p>>0]=0;k=u+4+(n*20|0)+4|0;f[k>>2]=q;l=b[q>>0]|0;if((b[5472+(l&255)>>0]|0)<0){e=l<<24>>24==91?93:l;g=0;l=1;while(1){m=b[q+l>>0]|0;if(m<<24>>24==e<<24>>24){l=l+1|0;m=q+g|0;if((b[q+l>>0]|0)!=e<<24>>24)break;b[m>>0]=e}else b[q+g>>0]=m;g=g+1|0;l=l+1|0}b[m>>0]=0}}else Zd=2267}else Zd=2267;while(0);if((Zd|0)==2267){k=u+4+(n*20|0)+4|0;f[k>>2]=0}if((h[i+196>>0]|0)>1){g=f[k>>2]|0;m=f[i>>2]|0;Na:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=2300;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break Ka;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break Ka}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2300;break Na}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2300;break Na}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=2300}while(0);if((Zd|0)==2300)if(!k)break;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=g;Xd=s;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;i=i+268|0;f[k+12>>2]=f[i>>2];f[i>>2]=k}}while(0);f[r>>2]=u;break}case 225:{r=$d+-20|0;Xd=f[$d+-8>>2]|0;Yd=f[$d+4>>2]|0;s=ml(f[i>>2]|0,0,0)|0;if((Xd|0)!=0|(Yd|0)!=-1?(b[(f[i>>2]|0)+165>>0]|0)==0:0){Yd=f[r>>2]|0;f[u>>2]=f[$d+-16>>2];f[u+4>>2]=Yd;ni(i,51406,u)}Oa:do if(s|0){n=(f[s>>2]|0)+-1|0;m=f[i>>2]|0;o=f[r>>2]|0;p=f[$d+-16>>2]|0;Pa:do if(o){g=KA(p|0,0,1,0)|0;e=ba()|0;Qa:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=2318;else{Zd=2320;break Pa}else{do if(0<0|(0==0?p>>>0<(j[m+276>>1]|0)>>>0:0)){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];q=m+284|0;f[q>>2]=(f[q>>2]|0)+1;q=l;break Qa}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];q=m+284|0;f[q>>2]=(f[q>>2]|0)+1;q=l;break Qa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2318}while(0);if((Zd|0)==2318)q=Dc(m,g,e)|0;if(q){YA(q|0,o|0,p|0)|0;b[q+p>>0]=0;k=s+4+(n*20|0)+4|0;f[k>>2]=q;l=b[q>>0]|0;if((b[5472+(l&255)>>0]|0)<0){e=l<<24>>24==91?93:l;g=0;l=1;while(1){m=b[q+l>>0]|0;if(m<<24>>24==e<<24>>24){l=l+1|0;m=q+g|0;if((b[q+l>>0]|0)!=e<<24>>24)break;b[m>>0]=e}else b[q+g>>0]=m;g=g+1|0;l=l+1|0}b[m>>0]=0}}else Zd=2320}else Zd=2320;while(0);if((Zd|0)==2320){k=s+4+(n*20|0)+4|0;f[k>>2]=0}if((h[i+196>>0]|0)>1){g=f[k>>2]|0;m=f[i>>2]|0;Ra:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=2353;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break Oa;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break Oa}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2353;break Ra}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2353;break Ra}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=2353}while(0);if((Zd|0)==2353)if(!k)break;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=g;Xd=r;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;i=i+268|0;f[k+12>>2]=f[i>>2];f[i>>2]=k}}while(0);f[r>>2]=s;break}case 228:{y=f[$d+4>>2]|0;o=f[$d+-8>>2]|0;z=f[i>>2]|0;Sa:do if(!(b[z+81>>0]|0)){Ta:do if(!(b[z+165>>0]|0)){m=i+4|0;g=z+24|0;e=(f[g>>2]&1|0)==0;n=z+16|0;Xd=f[(f[n>>2]|0)+12>>2]|0;b[z+78>>0]=b[Xd+77>>0]|0;if((d[Xd+78>>1]&1)==0?(Ga=qi(z,0,m,0)|0,(Ga|0)!=0):0)k=Ga;else Zd=2360;Ua:do if((Zd|0)==2360){k=f[z+20>>2]|0;if((k|0)>1)do{l=k;k=k+-1|0;if((d[(f[(f[n>>2]|0)+(k<<4)+12>>2]|0)+78>>1]&1)==0?(Za=qi(z,k,m,0)|0,Za|0):0){k=Za;break Ua}}while((l|0)>2);if(e)f[g>>2]=f[g>>2]&-2;if(!(b[z+89>>0]|0))break Ta;f[g>>2]=f[g>>2]|8;break Ta}while(0);f[i+12>>2]=k;i=i+36|0;f[i>>2]=(f[i>>2]|0)+1;break Sa}while(0);k=f[y+12>>2]|0;x=Qj(z,f[y+16>>2]|0,k)|0;if(!x){if(!o){f[hb>>2]=y;f[hb+4>>2]=0;ni(i,51444,hb)}else Sl(i,k);b[i+17>>0]=1;break}Xd=x+55|0;if((h[Xd>>0]|h[Xd+1>>0]<<8)&3){f[jb>>2]=0;ni(i,51462,jb);break}l=f[x+24>>2]|0;v=z+16|0;m=f[v>>2]|0;if(!l)w=-1e6;else{k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0)){w=k;break}else k=k+1|0}n=f[x+12>>2]|0;o=f[m+(w<<4)>>2]|0;s=(w|0)==1;k=s?48842:43770;m=f[i>>2]|0;l=b[m+165>>0]|0;if(!(l<<24>>24))if((b[i+196>>0]|0)==0?(mc=f[m+312>>2]|0,(mc|0)!=0):0){k=nb[mc&127](f[m+316>>2]|0,9,k,0,o,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,nc);f[i+12>>2]=23;break}if((k|2|0)!=2){ni(i,49831,oc);f[i+12>>2]=1;break}if(k|0)break;m=f[i>>2]|0;e=b[m+165>>0]|0}else e=0;else e=l;g=(w|0)==0?10:12;l=f[x>>2]|0;k=f[n>>2]|0;do if((e<<24>>24==0?(b[i+196>>0]|0)==0:0)?(wc=f[m+312>>2]|0,wc|0):0){k=nb[wc&127](f[m+316>>2]|0,g,l,k,o,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,xc);f[i+12>>2]=23;break Sa}if((k|2|0)==2)if(!k)break;else break Sa;else{ni(i,49831,yc);f[i+12>>2]=1;break Sa}}while(0);r=i+8|0;k=f[r>>2]|0;l=i+116|0;if(!k){if((f[l>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(!k)break;else u=k}else u=k;q=f[l>>2]|0;q=(q|0)==0?i:q;k=q+84|0;l=f[k>>2]|0;p=1<>2]=l|p,s):0)?(fd=f[q>>2]|0,Pc=fd+16|0,(f[(f[Pc>>2]|0)+20>>2]|0)==0):0)?(b[q+195>>0]|0)==0:0){k=cj(f[fd>>2]|0,0,fd,Yd,0,542)|0;if(k|0){ni(q,51535,Oc);f[q+12>>2]=k;break}Yd=f[Yd>>2]|0;f[(f[Pc>>2]|0)+20>>2]=Yd;k=f[fd+92>>2]|0;g=f[Yd+4>>2]|0;f[g+4>>2]=f[Yd>>2];do if(!(d[g+22>>1]&2)){e=g+32|0;n=g+36|0;o=(f[e>>2]|0)-(f[n>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[e>>2]=k;m=g+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;Yd=(f[18026]|0)+1|0;f[18026]=Yd;f[18027]=(Yd|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;Zd=2417;break}else{k=ib[f[37368>>2]&255](l)|0;Zd=2417}while(0);do if((Zd|0)==2417){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{Zd=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);Zd=ih(f[g>>2]|0,e,o)|0;f[n>>2]=(f[e>>2]|0)-(o&65535);if((Zd|0)!=7)break;k=fd+81|0;do if(!(b[k>>0]|0)){if(b[fd+82>>0]|0)break;b[k>>0]=1;if((f[fd+180>>2]|0)>0)f[fd+264>>2]=1;Zd=fd+272|0;f[Zd>>2]=(f[Zd>>2]|0)+1}while(0);break Va}while(0)}while(0);l=q+80|0;f[l>>2]=f[l>>2]|p;l=q+20|0;b[l>>0]=b[l>>0]|1;l=f[x>>2]|0;f[od>>2]=f[(f[v>>2]|0)+(w<<4)>>2];f[od+4>>2]=43770;f[od+8>>2]=l;Tl(i,51605,od);l=f[x>>2]|0;m=f[(f[(f[i>>2]|0)+16>>2]|0)+(w<<4)>>2]|0;f[gd>>2]=1;vd(24,od,51654,gd)|0;if(ji(f[i>>2]|0,od,m)|0){f[hd>>2]=m;f[hd+4>>2]=od;f[hd+8>>2]=47829;f[hd+12>>2]=l;Tl(i,51668,hd)}f[id>>2]=2;vd(24,od,51654,id)|0;if(ji(f[i>>2]|0,od,m)|0){f[kd>>2]=m;f[kd+4>>2]=od;f[kd+8>>2]=47829;f[kd+12>>2]=l;Tl(i,51668,kd)}f[ld>>2]=3;vd(24,od,51654,ld)|0;if(ji(f[i>>2]|0,od,m)|0){f[md>>2]=m;f[md+4>>2]=od;f[md+8>>2]=47829;f[md+12>>2]=l;Tl(i,51668,md)}f[nd>>2]=4;vd(24,od,51654,nd)|0;k=f[i>>2]|0;if(ji(k,od,m)|0){f[pd>>2]=m;f[pd+4>>2]=od;f[pd+8>>2]=47829;f[pd+12>>2]=l;Tl(i,51668,pd);k=f[i>>2]|0}g=f[r>>2]|0;k=(f[f[(f[k+16>>2]|0)+(w<<4)+12>>2]>>2]|0)+1|0;m=g+136|0;l=f[m>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;Zd=f[g+88>>2]|0;b[Zd+(l*20|0)>>0]=107;d[Zd+(l*20|0)+2>>1]=0;f[Zd+(l*20|0)+4>>2]=w;f[Zd+(l*20|0)+8>>2]=1;f[Zd+(l*20|0)+12>>2]=k;f[Zd+(l*20|0)+16>>2]=0;b[Zd+(l*20|0)+1>>0]=0}else tl(g,107,w,1,k)|0;Ul(i,f[x+44>>2]|0,w);m=f[x>>2]|0;l=u+136|0;k=f[l>>2]|0;if((f[(f[u+12>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;i=f[u+88>>2]|0;b[i+(k*20|0)>>0]=-110;d[i+(k*20|0)+2>>1]=0;f[i+(k*20|0)+4>>2]=w;f[i+(k*20|0)+8>>2]=0;f[i+(k*20|0)+12>>2]=0;f[i+(k*20|0)+16>>2]=0;b[i+(k*20|0)+1>>0]=0}else k=tl(u,146,w,0,0)|0;if(!(b[(f[u>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[l>>2]|0)+-1|0;ul(u,(f[u+88>>2]|0)+(k*20|0)|0,m,0)}}while(0);ng(z,y);break}case 229:{k=f[i+8>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(!k)break a}l=k+136|0;m=f[l>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;M=f[k+88>>2]|0;b[M+(m*20|0)>>0]=8;M=M+(m*20|0)+1|0;N=M+19|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0))}else tl(k,8,0,0,0)|0;i=k+148|0;f[i>>2]=f[i>>2]|1;if(b[(f[(f[(f[k>>2]|0)+16>>2]|0)+4>>2]|0)+9>>0]|0){i=k+152|0;f[i>>2]=f[i>>2]|1}break}case 230:{l=$d+4|0;k=f[i+8>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(!k)break a;else g=k}else g=k;k=f[i>>2]|0;if(f[$d+8>>2]|0){if(b[k+165>>0]|0){ni(i,51151,V);break a}m=Hl(k,l)|0;if((m|0)<0){f[la>>2]=l;ni(i,51168,la);break a}}else m=h[k+164>>0]|0;if(!((m|0)<0|(m|0)==1)){k=g+136|0;l=f[k>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;i=f[g+88>>2]|0;b[i+(l*20|0)>>0]=8;d[i+(l*20|0)+2>>1]=0;f[i+(l*20|0)+4>>2]=m;f[i+(l*20|0)+8>>2]=0;f[i+(l*20|0)+12>>2]=0;f[i+(l*20|0)+16>>2]=0;b[i+(l*20|0)+1>>0]=0}else tl(g,8,m,0,0)|0;k=1<>2]=f[i>>2]|k;if(b[(f[(f[(f[g>>2]|0)+16>>2]|0)+(m<<4)+4>>2]|0)+9>>0]|0){i=g+152|0;f[i>>2]=f[i>>2]|k}}break}case 231:{Vl(i,$d+-8|0,$d+4|0,0,0);break}case 232:{Vl(i,$d+-32|0,$d+-20|0,$d+4|0,0);break}case 233:{Vl(i,$d+-44|0,$d+-32|0,$d+-8|0,0);break}case 234:{Vl(i,$d+-32|0,$d+-20|0,$d+4|0,1);break}case 235:{Vl(i,$d+-44|0,$d+-32|0,$d+-8|0,1);break}case 238:{w=f[$d+-32>>2]|0;x=(f[$d+4>>2]|0)-w+(f[$d+8>>2]|0)|0;k=f[$d+-8>>2]|0;p=i+232|0;l=f[p>>2]|0;B=f[i>>2]|0;f[p>>2]=0;Wa:do if((l|0)!=0&(f[i+36>>2]|0)==0){A=f[l>>2]|0;g=f[l+20>>2]|0;if(!g)z=-1e6;else{e=f[B+16>>2]|0;m=0;while(1)if((f[e+(m<<4)+12>>2]|0)==(g|0)){z=m;break}else m=m+1|0}m=l+28|0;f[m>>2]=k;e=(k|0)==0;if(!e){g=k;do{f[g+4>>2]=l;g=f[g+36>>2]|0}while((g|0)!=0)}f[vc>>2]=A;if(!A)g=0;else g=(wz(A)|0)&1073741823;f[vc+4>>2]=g;f[Ld>>2]=i;y=B+16|0;q=f[y>>2]|0;f[Ld+12>>2]=f[q+(z<<4)>>2];f[Ld+4>>2]=f[q+(z<<4)+12>>2];f[Ld+16>>2]=51698;f[Ld+20>>2]=vc;q=(z|0)==1;f[Ld+8>>2]=q&1;if(!e)do{if(Il(Ld,f[k+8>>2]|0)|0){k=0;Zd=2591;break Wa}if(Wl(Ld,f[k+16>>2]|0)|0){k=0;Zd=2591;break Wa}n=f[k+20>>2]|0;if(n|0?(f[n>>2]|0)>0:0){g=0;e=n+4|0;while(1){if(Wl(Ld,f[e>>2]|0)|0){k=0;Zd=2591;break Wa}g=g+1|0;if((g|0)>=(f[n>>2]|0))break;else e=e+20|0}}o=f[k+28>>2]|0;if(o|0){n=f[o>>2]|0;if(n|0?(f[n>>2]|0)>0:0){g=0;e=n+4|0;while(1){if(Wl(Ld,f[e>>2]|0)|0){k=0;Zd=2591;break Wa}g=g+1|0;if((g|0)>=(f[n>>2]|0))break;else e=e+20|0}}if(Wl(Ld,f[o+4>>2]|0)|0){k=0;Zd=2591;break Wa}n=f[o+8>>2]|0;if(n|0?(f[n>>2]|0)>0:0){g=0;e=n+4|0;while(1){if(Wl(Ld,f[e>>2]|0)|0){k=0;Zd=2591;break Wa}g=g+1|0;if((g|0)>=(f[n>>2]|0))break;else e=e+20|0}}if(Wl(Ld,f[o+12>>2]|0)|0){k=0;Zd=2591;break Wa}}k=f[k+36>>2]|0}while((k|0)!=0);if(!(Wl(Ld,f[l+12>>2]|0)|0)){if((h[i+196>>0]|0)<=1){k=B+165|0;if(!(b[k>>0]|0)){u=i+8|0;g=f[u>>2]|0;e=i+116|0;if(!g){if((f[e>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;g=sl(i)|0;if(!g){k=0;r=l;Zd=2593;break}else v=g}else v=g;s=f[e>>2]|0;s=(s|0)==0?i:s;m=s+84|0;g=f[m>>2]|0;r=1<>2]=g|r,q):0)?(dd=f[s>>2]|0,Nc=dd+16|0,(f[(f[Nc>>2]|0)+20>>2]|0)==0):0)?(b[s+195>>0]|0)==0:0){m=cj(f[dd>>2]|0,0,dd,Yd,0,542)|0;if(m|0){ni(s,51535,Hc);f[s+12>>2]=m;break}Yd=f[Yd>>2]|0;f[(f[Nc>>2]|0)+20>>2]=Yd;m=f[dd+92>>2]|0;n=f[Yd+4>>2]|0;f[n+4>>2]=f[Yd>>2];do if(!(d[n+22>>1]&2)){o=n+32|0;p=n+36|0;q=(f[o>>2]|0)-(f[p>>2]|0)|0;do if((m+-512|0)>>>0<65025){if(m+-1&m|0)break;f[o>>2]=m;e=n+80|0;m=f[e>>2]|0;if(!m)break;g=m+-4|0;f[e>>2]=g;m=g;do if((f[18022]|0)>>>0<=m>>>0)if((f[18023]|0)>>>0>m>>>0){f[18188]=(f[18188]|0)+-1;f[g>>2]=f[18025];f[18025]=g;Yd=(f[18026]|0)+1|0;f[18026]=Yd;f[18027]=(Yd|0)<(f[18021]|0)&1;break}else{m=ib[f[37368>>2]&255](g)|0;Zd=2530;break}else{m=ib[f[37368>>2]&255](g)|0;Zd=2530}while(0);do if((Zd|0)==2530){f[18189]=(f[18189]|0)-m;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{Yd=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Yd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[e>>2]=0}while(0);Yd=ih(f[n>>2]|0,o,q)|0;f[p>>2]=(f[o>>2]|0)-(q&65535);if((Yd|0)!=7)break;m=dd+81|0;do if(!(b[m>>0]|0)){if(b[dd+82>>0]|0)break;b[m>>0]=1;if((f[dd+180>>2]|0)>0)f[dd+264>>2]=1;Yd=dd+272|0;f[Yd>>2]=(f[Yd>>2]|0)+1}while(0);break Xa}while(0)}while(0);o=s+80|0;f[o>>2]=f[o>>2]|r;o=w;Ya:do if(w){e=KA(x|0,0,1,0)|0;n=ba()|0;Za:do if(f[B+272>>2]|0)if(!(b[B+81>>0]|0))Zd=2553;else{g=0;break Ya}else{do if(0<0|(0==0?x>>>0<(j[B+276>>1]|0)>>>0:0)){m=B+300|0;g=f[m>>2]|0;if(g|0){f[m>>2]=f[g>>2];Yd=B+284|0;f[Yd>>2]=(f[Yd>>2]|0)+1;break Za}m=B+296|0;g=f[m>>2]|0;if(!g){m=B+292|0;break}else{f[m>>2]=f[g>>2];Yd=B+284|0;f[Yd>>2]=(f[Yd>>2]|0)+1;break Za}}else m=B+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1;Zd=2553}while(0);if((Zd|0)==2553)g=Dc(B,e,n)|0;if(g){YA(g|0,o|0,x|0)|0;b[g+x>>0]=0}else g=0}else g=0;while(0);Zd=f[l+4>>2]|0;f[xd>>2]=f[(f[y>>2]|0)+(z<<4)>>2];f[xd+4>>2]=43770;f[xd+8>>2]=A;f[xd+12>>2]=Zd;f[xd+16>>2]=g;Tl(i,51706,xd);_a:do if(g|0){if(f[B+480>>2]|0){Kc(B,g);break}m=g;do if((f[B+304>>2]|0)>>>0<=m>>>0){if((f[B+308>>2]|0)>>>0<=m>>>0)break;Zd=B+300|0;f[g>>2]=f[Zd>>2];f[Zd>>2]=g;break _a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{Zd=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);n=f[u>>2]|0;m=(f[f[(f[(f[i>>2]|0)+16>>2]|0)+(z<<4)+12>>2]>>2]|0)+1|0;g=n+136|0;e=f[g>>2]|0;if((f[(f[n+12>>2]|0)+48>>2]|0)>(e|0)){f[g>>2]=e+1;i=f[n+88>>2]|0;b[i+(e*20|0)>>0]=107;d[i+(e*20|0)+2>>1]=0;f[i+(e*20|0)+4>>2]=z;f[i+(e*20|0)+8>>2]=1;f[i+(e*20|0)+12>>2]=m;f[i+(e*20|0)+16>>2]=0;b[i+(e*20|0)+1>>0]=0}else tl(n,107,z,1,m)|0;f[Dd>>2]=A;Xl(v,z,Ig(B,51770,Dd)|0);Zd=2569}}else{f[p>>2]=l;l=0;k=B+165|0;Zd=2569}if((Zd|0)==2569)if(!(b[k>>0]|0)){k=0;Zd=2591;break}q=pg((f[(f[y>>2]|0)+(z<<4)+12>>2]|0)+40|0,A,l)|0;if(q|0){k=B+81|0;if(b[k>>0]|0){k=0;l=q;Zd=2591;break}if(b[B+82>>0]|0){k=0;l=q;Zd=2591;break}b[k>>0]=1;if((f[B+180>>2]|0)>0)f[B+264>>2]=1;k=B+272|0;f[k>>2]=(f[k>>2]|0)+1;k=0;l=q;Zd=2591;break}e=f[l+20>>2]|0;if((e|0)==(f[l+24>>2]|0)){p=f[l+4>>2]|0;n=f[e+20>>2]|0;if(!n){m=e+12|0;k=e+16|0}else{m=b[p>>0]|0;if(!(m<<24>>24))k=0;else{k=0;g=p;do{g=g+1|0;k=U(k+(h[1232+(m&255)>>0]|0)|0,-1640531535)|0;m=b[g>>0]|0}while(m<<24>>24!=0)}k=(k>>>0)%((f[e+8>>2]|0)>>>0)|0;m=n+(k<<3)|0;k=n+(k<<3)+4|0}m=f[m>>2]|0;$a:do if(!m)k=72124;else{o=h[1232+(h[p>>0]|0)>>0]|0;while(1){k=f[k>>2]|0;m=m+-1|0;e=f[k+12>>2]|0;i=b[e>>0]|0;g=(h[1232+(i&255)>>0]|0)-o|0;if(!(i<<24>>24==0|(g|0)!=0)){n=p;do{e=e+1|0;n=n+1|0;i=b[e>>0]|0;g=(h[1232+(i&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(i<<24>>24==0|(g|0)!=0))}if(!g)break $a;if(!m){k=72124;break}}}while(0);k=(f[k+8>>2]|0)+68|0;f[l+32>>2]=f[k>>2];f[k>>2]=l;k=0;l=q;Zd=2591}else{k=0;l=q;Zd=2591}}else{k=0;r=l;Zd=2593}}else Zd=2591;while(0);if((Zd|0)==2591)if(l){r=l;m=l+28|0;Zd=2593}do if((Zd|0)==2593){kg(B,f[m>>2]|0);l=f[l>>2]|0;do if(l|0){if(B|0){if(f[B+480>>2]|0){Kc(B,l);break}i=l;if((f[B+304>>2]|0)>>>0<=i>>>0?(f[B+308>>2]|0)>>>0>i>>>0:0){i=B+300|0;f[l>>2]=f[i>>2];f[i>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{i=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);l=f[r+4>>2]|0;do if(l|0){if(B|0){if(f[B+480>>2]|0){Kc(B,l);break}i=l;if((f[B+304>>2]|0)>>>0<=i>>>0?(f[B+308>>2]|0)>>>0>i>>>0:0){i=B+300|0;f[l>>2]=f[i>>2];f[i>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{i=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);l=f[r+12>>2]|0;if(l|0)ig(B,l);l=f[r+16>>2]|0;if(l|0){q=l+4|0;m=f[l>>2]|0;ab:do if((f[q>>2]|0)>0){e=B+480|0;n=B+304|0;o=B+308|0;p=B+300|0;if(!B){g=0;while(1){m=f[m+(g<<3)>>2]|0;do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{i=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);g=g+1|0;m=f[l>>2]|0;if((g|0)>=(f[q>>2]|0))break ab}}g=0;do{m=f[m+(g<<3)>>2]|0;do if(m|0){if(f[e>>2]|0){Kc(B,m);break}i=m;if((f[n>>2]|0)>>>0<=i>>>0?(f[o>>2]|0)>>>0>i>>>0:0){f[m>>2]=f[p>>2];f[p>>2]=m;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{i=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);g=g+1|0;m=f[l>>2]|0}while((g|0)<(f[q>>2]|0))}while(0);bb:do if(m){do if(B|0){g=B+480|0;if(!(f[g>>2]|0)){e=m;if((f[B+304>>2]|0)>>>0>e>>>0)break;if((f[B+308>>2]|0)>>>0<=e>>>0)break;i=B+300|0;f[m>>2]=f[i>>2];f[i>>2]=m}else Kc(B,m);m=g;Zd=2648;break bb}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);Zd=2646;break}else{Zd=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);Zd=2646;break}}else Zd=2646;while(0);if((Zd|0)==2646)if(!B){Vd=l;Zd=2653}else{m=B+480|0;Zd=2648}do if((Zd|0)==2648){if(f[m>>2]|0){Kc(B,l);break}i=l;if((f[B+304>>2]|0)>>>0<=i>>>0?(f[B+308>>2]|0)>>>0>i>>>0:0){i=B+300|0;f[l>>2]=f[i>>2];f[i>>2]=l}else{Vd=l;Zd=2653}}while(0);do if((Zd|0)==2653?Vd|0:0)if(!(f[9328]|0)){ob[f[37360>>2]&127](Vd);break}else{i=ib[f[37368>>2]&255](Vd)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Vd);break}while(0);if(!r)break}if(B|0){if(f[B+480>>2]|0){Kc(B,r);break}i=r;if((f[B+304>>2]|0)>>>0<=i>>>0?(f[B+308>>2]|0)>>>0>i>>>0:0){i=B+300|0;f[r>>2]=f[i>>2];f[i>>2]=r;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{i=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}while(0);kg(B,k);break}case 239:{H=$d+-80|0;I=$d+-68|0;z=f[$d+-56>>2]|0;E=f[$d+-44>>2]|0;k=f[$d+-40>>2]|0;F=f[$d+-20>>2]|0;G=f[$d+4>>2]|0;J=$d+-116|0;w=f[$d+-92>>2]|0;K=f[i>>2]|0;y=(f[J>>2]|0)!=0;L=$d+-64|0;l=(f[L>>2]|0)==0;do if(y)if(l)if(!F){Zd=2894;break}else{l=1;m=H;Zd=2679;break}else{ni(i,51799,ub);Zd=2894;break}else{if(!l){if(b[K+165>>0]|0){ni(i,51151,vb);Zd=2894;break}l=Hl(K,H)|0;if((l|0)<0){f[Bb>>2]=H;ni(i,51168,Bb);Zd=2894;break}else m=I}else{l=h[K+164>>0]|0;m=H}if((F|0)!=0&(l|0)>-1)Zd=2679;else Zd=2894}while(0);cb:do if((Zd|0)==2679){C=K+81|0;if(!(b[C>>0]|0)){u=K+165|0;if((l|0)!=1&(b[u>>0]|0)!=0){g=F+12|0;e=f[g>>2]|0;do if(e|0){if(f[K+480>>2]|0){Kc(K,e);break}Vd=e;if((f[K+304>>2]|0)>>>0<=Vd>>>0?(f[K+308>>2]|0)>>>0>Vd>>>0:0){Vd=K+300|0;f[e>>2]=f[Vd>>2];f[Vd>>2]=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{Vd=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-Vd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[g>>2]=0}s=F+8|0;e=f[s>>2]|0;if(!e)g=F+12|0;else{n=f[(f[i>>2]|0)+16>>2]|0;g=0;while(1)if((f[n+(g<<4)+12>>2]|0)==(e|0))break;else g=g+1|0;g=n+(g<<4)|0}D=F+16|0;g=pi(i,0,f[D>>2]|0,f[g>>2]|0)|0;e=f[i>>2]|0;v=F+24|0;n=f[v>>2]|0;do if(n|0){if(e|0?f[e+480>>2]|0:0){hg(e,n);break}Jd=n+32|0;Vd=(f[Jd>>2]|0)+-1|0;f[Jd>>2]=Vd;if(!Vd)hg(e,n)}while(0);f[v>>2]=g;db:do if(g){Vd=g+32|0;f[Vd>>2]=(f[Vd>>2]|0)+1;if(b[F+45>>0]&2){q=f[F+72>>2]|0;e=f[g+8>>2]|0;eb:do if(e|0){r=h[1232+(h[q>>0]|0)>>0]|0;while(1){o=f[e>>2]|0;Vd=b[o>>0]|0;n=(h[1232+(Vd&255)>>0]|0)-r|0;if(!(Vd<<24>>24==0|(n|0)!=0)){p=q;do{o=o+1|0;p=p+1|0;Vd=b[o>>0]|0;n=(h[1232+(Vd&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0}while(!(Vd<<24>>24==0|(n|0)!=0))}if(!n)break;e=f[e+20>>2]|0;if(!e)break eb}f[F+76>>2]=e;break db}while(0);f[Yc>>2]=q;f[Yc+4>>2]=0;ni(i,50588,Yc);b[i+17>>0]=1;g=0}}else g=0;while(0);if((b[u>>0]|0)==0?(g|0)!=0&(f[L>>2]|0)==0:0)B=(f[g+72>>2]|0)==(f[(f[K+16>>2]|0)+28>>2]|0)?1:l;else B=l;if((b[C>>0]|0)==0?(Kd=f[i>>2]|0,f[Ld>>2]=i,Kd=f[Kd+16>>2]|0,f[Ld+12>>2]=f[Kd+(B<<4)>>2],f[Ld+4>>2]=f[Kd+(B<<4)+12>>2],f[Ld+16>>2]=51698,f[Ld+20>>2]=m,Kd=(B|0)==1,f[Ld+8>>2]=Kd&1,(Yl(Ld,F)|0)==0):0){g=f[s>>2]|0;if(!g)l=F+12|0;else{e=f[(f[i>>2]|0)+16>>2]|0;l=0;while(1)if((f[e+(l<<4)+12>>2]|0)==(g|0))break;else l=l+1|0;l=e+(l<<4)|0}A=pi(i,0,f[D>>2]|0,f[l>>2]|0)|0;l=f[i>>2]|0;g=f[v>>2]|0;do if(g|0){if(l|0?f[l+480>>2]|0:0){hg(l,g);break}Ld=g+32|0;Vd=(f[Ld>>2]|0)+-1|0;f[Ld>>2]=Vd;if(!Vd)hg(l,g)}while(0);f[v>>2]=A;fb:do if(A|0){Vd=A+32|0;f[Vd>>2]=(f[Vd>>2]|0)+1;gb:do if(b[F+45>>0]&2){o=f[F+72>>2]|0;l=f[A+8>>2]|0;hb:do if(l|0){p=h[1232+(h[o>>0]|0)>>0]|0;while(1){e=f[l>>2]|0;Vd=b[e>>0]|0;g=(h[1232+(Vd&255)>>0]|0)-p|0;if(!(Vd<<24>>24==0|(g|0)!=0)){n=o;do{e=e+1|0;n=n+1|0;Vd=b[e>>0]|0;g=(h[1232+(Vd&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(Vd<<24>>24==0|(g|0)!=0))}if(!g)break;l=f[l+20>>2]|0;if(!l)break hb}f[F+76>>2]=l;break gb}while(0);f[yd>>2]=o;f[yd+4>>2]=0;ni(i,50588,yd);b[i+17>>0]=1;break fb}while(0);if(f[A+56>>2]|0){ni(i,51845,zd);Zd=2894;break cb}x=pl(K,m)|0;if(!x){Zd=2894;break cb}ib:do if(!(Zl(i,x)|0)){v=i+196|0;u=b[v>>0]|0;s=(u&255)>1;do if(!s){n=f[(f[K+16>>2]|0)+(B<<4)+12>>2]|0;o=f[n+52>>2]|0;if(!o){g=n+44|0;l=n+48|0}else{g=b[x>>0]|0;if(!(g<<24>>24))l=0;else{l=0;e=x;do{e=e+1|0;l=U(l+(h[1232+(g&255)>>0]|0)|0,-1640531535)|0;g=b[e>>0]|0}while(g<<24>>24!=0)}l=(l>>>0)%((f[n+40>>2]|0)>>>0)|0;g=o+(l<<3)|0;l=o+(l<<3)+4|0}g=f[g>>2]|0;jb:do if(!g)l=72124;else{p=h[1232+(h[x>>0]|0)>>0]|0;while(1){l=f[l>>2]|0;g=g+-1|0;n=f[l+12>>2]|0;Vd=b[n>>0]|0;e=(h[1232+(Vd&255)>>0]|0)-p|0;if(!(Vd<<24>>24==0|(e|0)!=0)){o=x;do{n=n+1|0;o=o+1|0;Vd=b[n>>0]|0;e=(h[1232+(Vd&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(Vd<<24>>24==0|(e|0)!=0))}if(!e)break jb;if(!g){l=72124;break}}}while(0);if(!(f[l+8>>2]|0))break;if(!w){f[Hd>>2]=m;ni(i,51886,Hd);Zd=2885;break ib}e=f[i+116>>2]|0;e=(e|0)==0?i:e;m=e+84|0;g=f[m>>2]|0;l=1<>2]=g|l;if(!Kd){Zd=2885;break ib}q=f[e>>2]|0;l=q+16|0;if(f[(f[l>>2]|0)+20>>2]|0){Zd=2885;break ib}if(b[e+195>>0]|0){Zd=2885;break ib}m=cj(f[q>>2]|0,0,q,Yd,0,542)|0;if(m|0){ni(e,51535,Md);f[e+12>>2]=m;Zd=2885;break ib}Yd=f[Yd>>2]|0;f[(f[l>>2]|0)+20>>2]=Yd;l=f[q+92>>2]|0;e=f[Yd+4>>2]|0;f[e+4>>2]=f[Yd>>2];do if(!(d[e+22>>1]&2)){n=e+32|0;o=e+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((l+-512|0)>>>0<65025){if(l+-1&l|0)break;f[n>>2]=l;g=e+80|0;l=f[g>>2]|0;if(!l)break;m=l+-4|0;f[g>>2]=m;l=m;do if((f[18022]|0)>>>0<=l>>>0)if((f[18023]|0)>>>0>l>>>0){f[18188]=(f[18188]|0)+-1;f[m>>2]=f[18025];f[18025]=m;Yd=(f[18026]|0)+1|0;f[18026]=Yd;f[18027]=(Yd|0)<(f[18021]|0)&1;break}else{l=ib[f[37368>>2]&255](m)|0;Zd=2778;break}else{l=ib[f[37368>>2]&255](m)|0;Zd=2778}while(0);do if((Zd|0)==2778){f[18189]=(f[18189]|0)-l;if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{Zd=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);f[g>>2]=0}while(0);Zd=ih(f[e>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((Zd|0)!=7)break;l=q+81|0;do if(!(b[l>>0]|0)){if(b[q+82>>0]|0)break;b[l>>0]=1;if((f[q+180>>2]|0)>0)f[q+264>>2]=1;Zd=q+272|0;f[Zd>>2]=(f[Zd>>2]|0)+1}while(0);Zd=2885;break ib}while(0);Zd=2885;break ib}while(0);r=f[A>>2]|0;do if(r|0){l=b[r>>0]|0;kb:do if(!(l<<24>>24)){l=51912;Zd=2792}else{Yd=l&255;l=1232+Yd|0;do if((Yd|32|0)==115){l=b[r+1>>0]|0;if(!(l<<24>>24)){l=51913;Zd=2792;break kb}l=l&255;if((l|32|0)!=113){m=113;l=1232+l|0;break}l=b[r+2>>0]|0;if(!(l<<24>>24)){l=51914;Zd=2792;break kb}l=l&255;if((l|32|0)!=108){m=108;l=1232+l|0;break}l=b[r+3>>0]|0;if(!(l<<24>>24)){l=51915;Zd=2792;break kb}l=l&255;if((l|32|0)!=105){m=105;l=1232+l|0;break}l=b[r+4>>0]|0;if(!(l<<24>>24)){l=51916;Zd=2792;break kb}l=l&255;if((l|32|0)!=116){m=116;l=1232+l|0;break}l=b[r+5>>0]|0;if(!(l<<24>>24)){l=51917;Zd=2792;break kb}l=l&255;if((l|32|0)!=101){m=101;l=1232+l|0;break}l=b[r+6>>0]|0;if(!(l<<24>>24)){l=51918;Zd=2792;break kb}if(l<<24>>24==95)break kb;else{m=95;l=1232+(l&255)|0}}else m=115;while(0);Od=h[l>>0]|0;Nd=m;Zd=2796}while(0);if((Zd|0)==2792){Od=0;Nd=b[1232+(h[l>>0]|0)>>0]|0;Zd=2796}if((Zd|0)==2796?(Od|0)!=(Nd&255|0):0)break;ni(i,51920,Qd);Zd=2885;break ib}while(0);l=f[A+12>>2]|0;if((z|0)!=65&(l|0)!=0){f[Rd>>2]=(z|0)==33?51958:51965;f[Rd+4>>2]=F;f[Rd+8>>2]=0;ni(i,51971,Rd);Zd=2885;break}q=(z|0)==65;if(q&(l|0)==0){f[Sd>>2]=F;f[Sd+4>>2]=0;ni(i,52008,Sd);Zd=2885;break}do if(s){e=q?33:z;if(K|0){Zd=2826;break}if(!(f[9328]|0)){m=ib[f[37356>>2]&255](36)|0;g=1;l=e;Zd=2848;break}l=ib[f[37372>>2]&255](36)|0;if((f[18194]|0)>>>0<36)f[18194]=36;g=71896;m=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&m>>>0>0){Yd=f[18187]|0;Xd=LA(m|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}m=ib[f[37356>>2]&255](l)|0;if(!m)break ib;l=ib[f[37368>>2]&255](m)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0<=(f[18196]|0)>>>0){q=m;g=1;break}f[18196]=l;q=m;g=1}else{m=f[A+72>>2]|0;g=f[K+16>>2]|0;if(!m)l=-1e6;else{l=0;while(1)if((f[g+(l<<4)+12>>2]|0)==(m|0))break;else l=l+1|0}p=f[g+(l<<4)>>2]|0;if(y)n=f[g+16>>2]|0;else n=p;o=(l|0)==1;e=y|o?5:7;g=f[i>>2]|0;l=b[g+165>>0]|0;do if(!((l|u)<<24>>24)){m=f[g+312>>2]|0;if(!m)break;l=nb[m&127](f[g+316>>2]|0,e,x,r,n,f[i+236>>2]|0)|0;if((l|0)==1){ni(i,49816,Td);f[i+12>>2]=23;Zd=2885;break ib}if((l|2|0)!=2){ni(i,49831,Ud);f[i+12>>2]=1;Zd=2885;break ib}if(l|0){Zd=2885;break ib}g=f[i>>2]|0;l=b[g+165>>0]|0}while(0);m=o?48842:43770;do if(!(l<<24>>24)){if(b[v>>0]|0)break;l=f[g+312>>2]|0;if(!l)break;l=nb[l&127](f[g+316>>2]|0,18,m,0,p,f[i+236>>2]|0)|0;if((l|0)==1){ni(i,49816,Wd);f[i+12>>2]=23;Zd=2885;break ib}if((l|2|0)==2)if(!l)break;else{Zd=2885;break ib}else{ni(i,49831,Xd);f[i+12>>2]=1;Zd=2885;break ib}}while(0);e=q?33:z;Zd=2826}while(0);lb:do if((Zd|0)==2826){if(f[K+272>>2]|0){if(b[C>>0]|0){Zd=2886;break ib}}else{do if((j[K+276>>1]|0)>=36){l=K+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];g=K+284|0;f[g>>2]=(f[g>>2]|0)+1;g=0;l=e;Zd=2848;break lb}l=K+296|0;m=f[l>>2]|0;if(!m){l=K+292|0;break}else{f[l>>2]=f[m>>2];g=K+284|0;f[g>>2]=(f[g>>2]|0)+1;g=0;l=e;Zd=2848;break lb}}else l=K+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1}m=Dc(K,36,0)|0;g=0;l=e;Zd=2848}while(0);if((Zd|0)==2848)if(!m){Zd=2885;break}else{q=m;e=l}p=q+4|0;M=p;N=M+32|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[q>>2]=x;n=f[D>>2]|0;mb:do if(!n)g=0;else{o=(wz(n)|0)+1|0;nb:do if(g){Yd=KA(o|0,0,-1,-1)|0;Xd=ba()|0;if(Xd>>>0>0|(Xd|0)==0&Yd>>>0>2147483390){g=0;break mb}if(!(f[9328]|0)){l=ib[f[37356>>2]&255](o)|0;Zd=2874;break}l=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;g=71896;m=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&m>>>0>0){Yd=f[18187]|0;Xd=LA(m|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}l=ib[f[37356>>2]&255](l)|0;if(!l){g=0;break mb}m=ib[f[37368>>2]&255](l)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0<=(f[18196]|0)>>>0)break;f[18196]=m}else{if(f[K+272>>2]|0){if(b[C>>0]|0){g=0;break mb}}else{do if(!(0<0|(0==0?(j[K+276>>1]|0)>>>0>>0:0))){m=K+300|0;l=f[m>>2]|0;if(l|0){f[m>>2]=f[l>>2];Zd=K+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2874;break nb}m=K+296|0;l=f[m>>2]|0;if(!l){l=K+292|0;break}else{f[m>>2]=f[l>>2];Zd=K+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2874;break nb}}else l=K+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1}l=Dc(K,o,0)|0;Zd=2874}while(0);if((Zd|0)==2874)if(!l){g=0;break}YA(l|0,n|0,o|0)|0;g=l}while(0);f[p>>2]=g;f[q+20>>2]=f[(f[K+16>>2]|0)+(B<<4)+12>>2];f[q+24>>2]=f[A+72>>2];b[q+8>>0]=E;b[q+9>>0]=(e|0)==33?1:2;ob:do if((h[v>>0]|0)>1){m=f[D>>2]|0;l=f[i+268>>2]|0;if(!l){m=0;l=G;break}while(1){if((f[l>>2]|0)==(m|0))break;l=f[l+12>>2]|0;if(!l){m=0;l=G;break ob}}f[l>>2]=g;m=0;l=G}else{if(!G){m=G;l=0;break}m=G;l=Bk(K,G,1,0)|0}while(0);f[q+12>>2]=l;f[q+16>>2]=k;f[i+232>>2]=q;ng(K,F);l=q;k=m;r=q;break cb}else Zd=2885;while(0);if((Zd|0)==2885?K|0:0)Zd=2886;do if((Zd|0)==2886){if(f[K+480>>2]|0){Kc(K,x);Zd=2894;break cb}l=x;if((f[K+304>>2]|0)>>>0>l>>>0)break;if((f[K+308>>2]|0)>>>0<=l>>>0)break;Zd=K+300|0;f[x>>2]=f[Zd>>2];f[Zd>>2]=x;Zd=2894;break cb}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](x);Zd=2894;break cb}else{Zd=ib[f[37368>>2]&255](x)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](x);Zd=2894;break cb}}while(0);if((b[K+164>>0]|0)==1){Zd=K+166|0;b[Zd>>0]=b[Zd>>0]|1;Zd=2894}else Zd=2894}else Zd=2894}else Zd=2894}while(0);do if((Zd|0)==2894){ng(K,F);if(k){p=k+4|0;l=f[k>>2]|0;pb:do if((f[p>>2]|0)>0){g=K+480|0;e=K+304|0;n=K+308|0;o=K+300|0;if(!K){m=0;while(1){l=f[l+(m<<3)>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{Zd=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);m=m+1|0;l=f[k>>2]|0;if((m|0)>=(f[p>>2]|0))break pb}}m=0;do{l=f[l+(m<<3)>>2]|0;do if(l|0){if(f[g>>2]|0){Kc(K,l);break}Zd=l;if((f[e>>2]|0)>>>0<=Zd>>>0?(f[n>>2]|0)>>>0>Zd>>>0:0){f[l>>2]=f[o>>2];f[o>>2]=l;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{Zd=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);m=m+1|0;l=f[k>>2]|0}while((m|0)<(f[p>>2]|0))}while(0);qb:do if(l){do if(K|0){m=K+480|0;if(!(f[m>>2]|0)){g=l;if((f[K+304>>2]|0)>>>0>g>>>0)break;if((f[K+308>>2]|0)>>>0<=g>>>0)break;Zd=K+300|0;f[l>>2]=f[Zd>>2];f[Zd>>2]=l}else Kc(K,l);l=m;Zd=2927;break qb}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);Zd=2925;break}else{Zd=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);Zd=2925;break}}else Zd=2925;while(0);if((Zd|0)==2925)if(K){l=K+480|0;Zd=2927}if((Zd|0)==2927){if(f[l>>2]|0){Kc(K,k);l=0;k=G;r=0;break}Zd=k;if((f[K+304>>2]|0)>>>0<=Zd>>>0?(f[K+308>>2]|0)>>>0>Zd>>>0:0){l=K+300|0;f[k>>2]=f[l>>2];f[l>>2]=k;l=0;k=G;r=0;break}}if(k)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);l=0;k=G;r=0;break}else{l=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);l=0;k=G;r=0;break}else{l=0;k=G;r=0}}else{l=0;k=G;r=0}}while(0);if(k|0)ig(K,k);do if(!((l|0)==0|(f[i+232>>2]|0)!=0)){kg(K,f[l+28>>2]|0);k=f[l>>2]|0;do if(k|0){if(K|0){if(f[K+480>>2]|0){Kc(K,k);break}i=k;if((f[K+304>>2]|0)>>>0<=i>>>0?(f[K+308>>2]|0)>>>0>i>>>0:0){i=K+300|0;f[k>>2]=f[i>>2];f[i>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);k=f[l+4>>2]|0;do if(k|0){if(K|0){if(f[K+480>>2]|0){Kc(K,k);break}i=k;if((f[K+304>>2]|0)>>>0<=i>>>0?(f[K+308>>2]|0)>>>0>i>>>0:0){i=K+300|0;f[k>>2]=f[i>>2];f[i>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);k=f[l+12>>2]|0;if(k|0)ig(K,k);k=f[l+16>>2]|0;do if(k|0){q=k+4|0;l=f[k>>2]|0;rb:do if((f[q>>2]|0)>0){e=K+480|0;n=K+304|0;o=K+308|0;p=K+300|0;if(!K){m=0;while(1){l=f[l+(m<<3)>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{i=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);m=m+1|0;l=f[k>>2]|0;if((m|0)>=(f[q>>2]|0))break rb}}g=0;do{l=f[l+(g<<3)>>2]|0;sb:do if(l|0){if(f[e>>2]|0){Kc(K,l);break}m=l;do if((f[n>>2]|0)>>>0<=m>>>0){if((f[o>>2]|0)>>>0<=m>>>0)break;f[l>>2]=f[p>>2];f[p>>2]=l;break sb}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{i=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);g=g+1|0;l=f[k>>2]|0}while((g|0)<(f[q>>2]|0))}while(0);tb:do if(l){do if(K|0){m=K+480|0;if(!(f[m>>2]|0)){g=l;if((f[K+304>>2]|0)>>>0>g>>>0)break;if((f[K+308>>2]|0)>>>0<=g>>>0)break;i=K+300|0;f[l>>2]=f[i>>2];f[i>>2]=l}else Kc(K,l);l=m;Zd=2994;break tb}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);Zd=2992;break}else{Zd=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);Zd=2992;break}}else Zd=2992;while(0);if((Zd|0)==2992)if(K){l=K+480|0;Zd=2994}if((Zd|0)==2994){if(f[l>>2]|0){Kc(K,k);break}i=k;if((f[K+304>>2]|0)>>>0<=i>>>0?(f[K+308>>2]|0)>>>0>i>>>0:0){i=K+300|0;f[k>>2]=f[i>>2];f[i>>2]=k;break}}if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);if(r|0){if(K|0){if(f[K+480>>2]|0){Kc(K,r);break}i=r;if((f[K+304>>2]|0)>>>0<=i>>>0?(f[K+308>>2]|0)>>>0>i>>>0:0){i=K+300|0;f[r>>2]=f[i>>2];f[i>>2]=r;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{i=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}}while(0);if(!(f[L>>2]|0)){Yd=H;Zd=f[Yd+4>>2]|0;i=J;f[i>>2]=f[Yd>>2];f[i+4>>2]=Zd;break a}else{Yd=I;Zd=f[Yd+4>>2]|0;i=J;f[i>>2]=f[Yd>>2];f[i+4>>2]=Zd;break a}}case 240:{f[$d+4>>2]=j[$d+2>>1];break}case 241:{f[$d+-8>>2]=65;break}case 242:{f[$d+16>>2]=33;break}case 244:case 243:{f[$d+4>>2]=j[$d+2>>1];f[$d+8>>2]=0;break}case 245:{f[$d+-20>>2]=118;f[$d+-16>>2]=f[$d+4>>2];break}case 307:case 265:case 246:{f[$d+16>>2]=0;break}case 266:case 247:{f[$d+-8>>2]=f[$d+4>>2];break}case 248:{Zd=$d+-8|0;i=$d+-20|0;f[(f[(f[i>>2]|0)+40>>2]|0)+36>>2]=f[Zd>>2];f[(f[i>>2]|0)+40>>2]=f[Zd>>2];break}case 249:{i=f[$d+-8>>2]|0;f[i+40>>2]=i;break}case 250:{Xd=$d+4|0;Yd=f[Xd+4>>2]|0;Zd=$d+-20|0;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;ni(i,52054,g);break}case 251:{ni(i,52149,n);break}case 252:{ni(i,52233,o);break}case 253:{l=f[$d+-20>>2]|0;m=f[$d+-8>>2]|0;g=f[$d+-68>>2]&255;e=$d+-80|0;n=f[i>>2]|0;o=_l(i,118,$d+-56|0,f[e>>2]|0,f[$d+4>>2]|0)|0;if(!o)k=m;else{if((h[i+196>>0]|0)<=1){i=Ik(n,l,1)|0;f[o+20>>2]=i;if(!m){k=m;m=0}else{k=m;m=Bk(n,m,1,0)|0}}else{f[o+20>>2]=l;l=0;k=0}f[o+16>>2]=m;b[o+1>>0]=g}if(l|0)jg(n,l);if(k|0)ig(n,k);f[e>>2]=o;break}case 254:{q=f[$d+-32>>2]|0;l=f[$d+-20>>2]|0;m=f[$d+-68>>2]&255;r=f[$d+-8>>2]|0;s=$d+-80|0;u=f[i>>2]|0;v=_l(i,116,$d+-44|0,f[s>>2]|0,f[$d+4>>2]|0)|0;do if(!v){do if(q|0){p=q+4|0;k=f[q>>2]|0;ub:do if((f[p>>2]|0)>0){g=u+480|0;e=u+304|0;n=u+308|0;o=u+300|0;if(!u){m=0;while(1){k=f[k+(m<<3)>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);m=m+1|0;k=f[q>>2]|0;if((m|0)>=(f[p>>2]|0))break ub}}m=0;do{k=f[k+(m<<3)>>2]|0;do if(k|0){if(f[g>>2]|0){Kc(u,k);break}i=k;if((f[e>>2]|0)>>>0<=i>>>0?(f[n>>2]|0)>>>0>i>>>0:0){f[k>>2]=f[o>>2];f[o>>2]=k;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);m=m+1|0;k=f[q>>2]|0}while((m|0)<(f[p>>2]|0))}while(0);vb:do if(k){do if(u|0){m=u+480|0;if(!(f[m>>2]|0)){g=k;if((f[u+304>>2]|0)>>>0>g>>>0)break;if((f[u+308>>2]|0)>>>0<=g>>>0)break;i=u+300|0;f[k>>2]=f[i>>2];f[i>>2]=k}else Kc(u,k);k=q;Zd=3076;break vb}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);Zd=3074;break}else{Zd=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);Zd=3074;break}}else Zd=3074;while(0);if((Zd|0)==3074)if(!u)k=q;else{m=u+480|0;k=q;Zd=3076}if((Zd|0)==3076){if(f[m>>2]|0){Kc(u,k);break}i=k;if((f[u+304>>2]|0)>>>0<=i>>>0?(f[u+308>>2]|0)>>>0>i>>>0:0){i=u+300|0;f[k>>2]=f[i>>2];f[i>>2]=k;break}}if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);if(r){k=f[r>>2]|0;if(k|0)jg(u,k);k=f[r+4>>2]|0;if(k|0)ig(u,k);k=f[r+8>>2]|0;if(k|0)jg(u,k);k=f[r+12>>2]|0;if(k|0)ig(u,k);if(u|0){if(f[u+480>>2]|0){Kc(u,r);k=l;break}i=r;if((f[u+304>>2]|0)>>>0<=i>>>0?(f[u+308>>2]|0)>>>0>i>>>0:0){k=u+300|0;f[r>>2]=f[k>>2];f[k>>2]=r;k=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);k=l;break}else{k=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);k=l;break}}else k=l}else{if((h[i+196>>0]|0)>1)k=0;else{k=l;l=Hk(u,l,1)|0}f[v+8>>2]=l;f[v+24>>2]=q;f[v+28>>2]=r;b[v+1>>0]=m}while(0);if(k|0)mg(u,k,1);f[s>>2]=v;break}case 255:{l=f[$d+-8>>2]|0;m=$d+-56|0;g=f[i>>2]|0;e=_l(i,117,$d+-32|0,f[m>>2]|0,f[$d+4>>2]|0)|0;if(!e)k=l;else{if((h[i+196>>0]|0)<=1)if(!l){k=l;l=0}else{k=l;l=Bk(g,l,1,0)|0}else k=0;f[e+16>>2]=l;b[e+1>>0]=11}if(k|0)ig(g,k);f[m>>2]=e;break}case 256:{p=f[i>>2]|0;g=f[$d+-8>>2]|0;q=$d+-20|0;o=f[q>>2]|0;e=f[$d+4>>2]|0;wb:do if(!p){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](44)|0;Zd=3137;break}k=ib[f[37372>>2]&255](44)|0;if((f[18194]|0)>>>0<44)f[18194]=44;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[18187]|0;Zd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Yd=ba()|0;f[17976]=((Yd|0)<0|(Yd|0)==0&Zd>>>0<=i>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(k){l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0){f[18196]=l;Zd=3140}else Zd=3140}else Zd=3138}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){Zd=3138;break}}else{do if((j[p+276>>1]|0)>=44){l=p+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=p+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3137;break wb}l=p+296|0;k=f[l>>2]|0;if(!k){k=p+292|0;break}else{f[l>>2]=f[k>>2];Zd=p+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3137;break wb}}else k=p+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(p,44,0)|0;Zd=3137}while(0);if((Zd|0)==3137)if(!k)Zd=3138;else Zd=3140;if((Zd|0)==3138)if(!g)k=0;else{mg(p,g,1);k=0}else if((Zd|0)==3140){M=k+2|0;N=M+42|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));b[k>>0]=127;f[k+8>>2]=g;b[k+1>>0]=11;while(1)if(!(b[5472+(h[o>>0]|0)>>0]&1))break;else o=o+1|0;l=e-o|0;xb:do if((l|0)<=0)if(!o)l=0;else{m=l;Zd=3147}else while(1){m=l+-1|0;if(!(b[5472+(h[o+m>>0]|0)>>0]&1)){m=l;Zd=3147;break xb}if((l|0)>1)l=m;else{Zd=3147;break}}while(0);yb:do if((Zd|0)==3147){e=KA(m|0,((m|0)<0)<<31>>31|0,1,0)|0;n=ba()|0;zb:do if(f[p+272>>2]|0)if(!(b[p+81>>0]|0))Zd=3157;else{l=0;break yb}else{do if(!(n>>>0>0|((n|0)==0?e>>>0>(j[p+276>>1]|0)>>>0:0))){g=p+300|0;l=f[g>>2]|0;if(l|0){f[g>>2]=f[l>>2];i=p+284|0;f[i>>2]=(f[i>>2]|0)+1;break zb}g=p+296|0;l=f[g>>2]|0;if(!l){l=p+292|0;break}else{f[g>>2]=f[l>>2];i=p+284|0;f[i>>2]=(f[i>>2]|0)+1;break zb}}else l=p+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;Zd=3157}while(0);if((Zd|0)==3157)l=Dc(p,e,n)|0;if(l){YA(l|0,o|0,m|0)|0;b[l+m>>0]=0;m=b[l>>0]|0;if(m<<24>>24){e=0;g=l;do{if(b[5472+(m&255)>>0]&1)b[g>>0]=32;e=e+1|0;g=l+e|0;m=b[g>>0]|0}while(m<<24>>24!=0)}}else l=0}while(0);f[k+32>>2]=l}f[q>>2]=k;break}case 257:{m=f[i>>2]|0;Ab:do if(f[m+272>>2]|0){if(!(b[m+81>>0]|0))Zd=3176}else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];R=m+284|0;f[R>>2]=(f[R>>2]|0)+1;R=l;Zd=3177;break Ab}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];R=m+284|0;f[R>>2]=(f[R>>2]|0)+1;R=l;Zd=3177;break Ab}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=3176}while(0);if((Zd|0)==3176){R=Dc(m,48,0)|0;Zd=3177}if((Zd|0)==3177?R|0:0){M=R;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[R>>0]=71;d[R+34>>1]=-1;jl(R);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[R+24>>2]|0)){f[Ma>>2]=k;ni(i,42710,Ma)}f[$d+-32>>2]=R;b[R+1>>0]=4;break a}f[$d+-32>>2]=0;break}case 258:{k=Dk(f[i>>2]|0,71,$d+-8|0,1)|0;f[$d+-56>>2]=k;if(k|0)b[k+1>>0]=f[$d+-32>>2];break}case 259:{f[$d+4>>2]=1;break}case 261:{f[$d+4>>2]=3;break}case 262:{w=f[$d+4>>2]|0;v=f[$d+-8>>2]|0;x=f[i>>2]|0;Bb:do if(!(b[x+81>>0]|0)){Cb:do if(!(b[x+165>>0]|0)){g=i+4|0;e=x+24|0;n=(f[e>>2]&1|0)==0;o=x+16|0;Yd=f[(f[o>>2]|0)+12>>2]|0;b[x+78>>0]=b[Yd+77>>0]|0;if((d[Yd+78>>1]&1)==0?(Ha=qi(x,0,g,0)|0,(Ha|0)!=0):0)k=Ha;else Zd=3191;Db:do if((Zd|0)==3191){k=x+20|0;l=f[k>>2]|0;if((l|0)>1)do{m=l;l=l+-1|0;if((d[(f[(f[o>>2]|0)+(l<<4)+12>>2]|0)+78>>1]&1)==0?(eb=qi(x,l,g,0)|0,eb|0):0){k=eb;break Db}}while((m|0)>2);if(n)f[e>>2]=f[e>>2]&-2;if(!(b[x+89>>0]|0))break Cb;f[e>>2]=f[e>>2]|8;break Cb}while(0);f[i+12>>2]=k;i=i+36|0;f[i>>2]=(f[i>>2]|0)+1;break Bb}else k=x+20|0;while(0);u=f[w+12>>2]|0;s=f[w+16>>2]|0;q=f[k>>2]|0;if((q|0)>0){r=(u|0)==0;p=f[x+16>>2]|0;k=0;o=0;do{e=o^o>>>0<2;if(!r){m=f[p+(e<<4)>>2]|0;Yd=b[m>>0]|0;l=(h[1232+(Yd&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0;if(!(Yd<<24>>24==0|(l|0)!=0)){g=u;do{m=m+1|0;g=g+1|0;Yd=b[m>>0]|0;l=(h[1232+(Yd&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(Yd<<24>>24==0|(l|0)!=0))}if(!l)Zd=3208}else Zd=3208;if((Zd|0)==3208){Zd=0;g=f[p+(e<<4)+12>>2]|0;e=f[g+52>>2]|0;if(!e){l=g+44|0;k=g+48|0}else{l=b[s>>0]|0;if(!(l<<24>>24))k=0;else{k=0;m=s;do{m=m+1|0;k=U(k+(h[1232+(l&255)>>0]|0)|0,-1640531535)|0;l=b[m>>0]|0}while(l<<24>>24!=0)}k=(k>>>0)%((f[g+40>>2]|0)>>>0)|0;l=e+(k<<3)|0;k=e+(k<<3)+4|0}l=f[l>>2]|0;Eb:do if(!l)k=72124;else{n=h[1232+(h[s>>0]|0)>>0]|0;while(1){k=f[k>>2]|0;l=l+-1|0;g=f[k+12>>2]|0;Yd=b[g>>0]|0;m=(h[1232+(Yd&255)>>0]|0)-n|0;if(!(Yd<<24>>24==0|(m|0)!=0)){e=s;do{g=g+1|0;e=e+1|0;Yd=b[g>>0]|0;m=(h[1232+(Yd&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0}while(!(Yd<<24>>24==0|(m|0)!=0))}if(!m)break Eb;if(!l){k=72124;break}}}while(0);k=f[k+8>>2]|0;if(k){Zd=3223;break}}o=o+1|0}while((o|0)<(q|0));if(k|0){$l(i,k);break}}if(!v){f[cd>>2]=w;f[cd+4>>2]=0;ni(i,52318,cd)}else Sl(i,u);b[i+17>>0]=1}while(0);ng(x,w);break}case 263:{Zd=f[$d+-32>>2]|0;am(i,24,38172,Zd,Zd,f[$d+-8>>2]|0,f[$d+4>>2]|0);break}case 264:{Zd=f[$d+4>>2]|0;am(i,25,38212,Zd,0,0,Zd);break}case 267:{m=f[i>>2]|0;Fb:do if(!(b[m+165>>0]|0)){g=i+4|0;e=m+24|0;n=(f[e>>2]&1|0)==0;o=m+16|0;Xd=f[(f[o>>2]|0)+12>>2]|0;b[m+78>>0]=b[Xd+77>>0]|0;if((d[Xd+78>>1]&1)==0?(fa=qi(m,0,g,0)|0,(fa|0)!=0):0)k=fa;else Zd=3236;Gb:do if((Zd|0)==3236){k=f[m+20>>2]|0;if((k|0)>1)do{l=k;k=k+-1|0;if((d[(f[(f[o>>2]|0)+(k<<4)+12>>2]|0)+78>>1]&1)==0?(La=qi(m,k,g,0)|0,La|0):0){k=La;break Gb}}while((l|0)>2);if(n)f[e>>2]=f[e>>2]&-2;if(!(b[m+89>>0]|0))break Fb;f[e>>2]=f[e>>2]|8;break Fb}while(0);f[i+12>>2]=k;i=i+36|0;f[i>>2]=(f[i>>2]|0)+1;break a}while(0);k=f[i>>2]|0;x=k+20|0;l=f[x>>2]|0;if((l|0)>0){y=i+116|0;w=0;v=f[k+16>>2]|0;k=l;while(1){l=f[(f[v+12>>2]|0)+16>>2]|0;if(l){do{k=f[l+8>>2]|0;m=f[k+8>>2]|0;if(m|0){u=k+72|0;do{g=f[u>>2]|0;if(!g)k=-1e6;else{e=f[(f[i>>2]|0)+16>>2]|0;k=0;while(1)if((f[e+(k<<4)+12>>2]|0)==(g|0))break;else k=k+1|0}s=f[y>>2]|0;s=(s|0)==0?i:s;g=s+84|0;e=f[g>>2]|0;r=1<>2]=e|r,(k|0)==1):0)?(Wc=f[s>>2]|0,Xc=Wc+16|0,(f[(f[Xc>>2]|0)+20>>2]|0)==0):0)?(b[s+195>>0]|0)==0:0){k=cj(f[Wc>>2]|0,0,Wc,Yd,0,542)|0;if(k|0){ni(s,51535,Uc);f[s+12>>2]=k;break}Xd=f[Yd>>2]|0;f[(f[Xc>>2]|0)+20>>2]=Xd;k=f[Wc+92>>2]|0;n=f[Xd+4>>2]|0;f[n+4>>2]=f[Xd>>2];do if(!(d[n+22>>1]&2)){o=n+32|0;p=n+36|0;q=(f[o>>2]|0)-(f[p>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[o>>2]=k;e=n+80|0;k=f[e>>2]|0;if(!k)break;g=k+-4|0;f[e>>2]=g;k=g;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[g>>2]=f[18025];f[18025]=g;Xd=(f[18026]|0)+1|0;f[18026]=Xd;f[18027]=(Xd|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](g)|0;Zd=3270;break}else{k=ib[f[37368>>2]&255](g)|0;Zd=3270}while(0);do if((Zd|0)==3270){Zd=0;f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{Xd=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Xd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[e>>2]=0}while(0);Xd=ih(f[n>>2]|0,o,q)|0;f[p>>2]=(f[o>>2]|0)-(q&65535);if((Xd|0)!=7)break;k=Wc+81|0;do if(!(b[k>>0]|0)){if(b[Wc+82>>0]|0)break;b[k>>0]=1;if((f[Wc+180>>2]|0)>0)f[Wc+264>>2]=1;Xd=Wc+272|0;f[Xd>>2]=(f[Xd>>2]|0)+1}while(0);break Hb}while(0)}while(0);Xd=s+80|0;f[Xd>>2]=f[Xd>>2]|r;bm(i,m,-1);m=f[m+20>>2]|0}while((m|0)!=0)}l=f[l>>2]|0}while((l|0)!=0);k=f[x>>2]|0}w=w+1|0;if((w|0)>=(k|0))break;else v=v+16|0}}break}case 268:{l=$d+-8|0;r=$d+4|0;w=f[i>>2]|0;Ib:do if(!(b[w+165>>0]|0)){g=i+4|0;e=w+24|0;n=(f[e>>2]&1|0)==0;o=w+16|0;Xd=f[(f[o>>2]|0)+12>>2]|0;b[w+78>>0]=b[Xd+77>>0]|0;if((d[Xd+78>>1]&1)==0?(Ia=qi(w,0,g,0)|0,(Ia|0)!=0):0)k=Ia;else Zd=3289;Jb:do if((Zd|0)==3289){k=f[w+20>>2]|0;if((k|0)>1)do{m=k;k=k+-1|0;if((d[(f[(f[o>>2]|0)+(k<<4)+12>>2]|0)+78>>1]&1)==0?(_a=qi(w,k,g,0)|0,_a|0):0){k=_a;break Jb}}while((m|0)>2);if(n)f[e>>2]=f[e>>2]&-2;if(!(b[w+89>>0]|0))break Ib;f[e>>2]=f[e>>2]|8;break Ib}while(0);f[i+12>>2]=k;i=i+36|0;f[i>>2]=(f[i>>2]|0)+1;break a}while(0);k=f[i>>2]|0;do if(!(f[r>>2]|0)){q=pl(k,l)|0;if(!q)break a;p=b[w+78>>0]|0;e=f[w+392>>2]|0;if(!e){m=w+384|0;k=w+388|0}else{m=b[q>>0]|0;if(!(m<<24>>24))k=0;else{k=0;g=q;do{g=g+1|0;k=U(k+(h[1232+(m&255)>>0]|0)|0,-1640531535)|0;m=b[g>>0]|0}while(m<<24>>24!=0)}k=(k>>>0)%((f[w+380>>2]|0)>>>0)|0;m=e+(k<<3)|0;k=e+(k<<3)+4|0}m=f[m>>2]|0;Kb:do if(!m)k=72124;else{o=h[1232+(h[q>>0]|0)>>0]|0;while(1){k=f[k>>2]|0;m=m+-1|0;e=f[k+12>>2]|0;Xd=b[e>>0]|0;g=(h[1232+(Xd&255)>>0]|0)-o|0;if(!(Xd<<24>>24==0|(g|0)!=0)){n=q;do{e=e+1|0;n=n+1|0;Xd=b[e>>0]|0;g=(h[1232+(Xd&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(Xd<<24>>24==0|(g|0)!=0))}if(!g)break Kb;if(!m){k=72124;break}}}while(0);Xd=f[k+8>>2]|0;if((Xd|0)==0|(Xd+(((p&255)+-1|0)*20|0)|0)==0){do if(w){if(f[w+480>>2]|0){Kc(w,q);break}Xd=q;if((f[w+304>>2]|0)>>>0<=Xd>>>0?(f[w+308>>2]|0)>>>0>Xd>>>0:0){Xd=w+300|0;f[q>>2]=f[Xd>>2];f[Xd>>2]=q}else Zd=3337}else Zd=3337;while(0);do if((Zd|0)==3337)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{Xd=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-Xd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);k=f[i>>2]|0;if(!(f[$d+8>>2]|0)){m=h[k+164>>0]|0;break}if(b[k+165>>0]|0){ni(i,51151,Ac);break a}k=Hl(k,l)|0;if((k|0)>=0){l=r;m=k;break}f[Ec>>2]=l;ni(i,51168,Ec);break a}k=f[i>>2]|0;e=k+20|0;l=f[e>>2]|0;if((l|0)>0){g=0;m=f[k+16>>2]|0;while(1){k=f[(f[m+12>>2]|0)+16>>2]|0;if(!k)k=l;else{do{cm(i,f[k+8>>2]|0,q);k=f[k>>2]|0}while((k|0)!=0);k=f[e>>2]|0}g=g+1|0;if((g|0)>=(k|0))break;else{m=m+16|0;l=k}}}if(w|0){if(f[w+480>>2]|0){Kc(w,q);break a}i=q;if((f[w+304>>2]|0)>>>0<=i>>>0?(f[w+308>>2]|0)>>>0>i>>>0:0){i=w+300|0;f[q>>2]=f[i>>2];f[i>>2]=q;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break a}else{i=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break a}}else{if(!(f[$d+8>>2]|0)){m=h[k+164>>0]|0;break}if(b[k+165>>0]|0){ni(i,51151,cb);break a}k=Hl(k,l)|0;if((k|0)<0){f[kb>>2]=l;ni(i,51168,kb);break a}else{l=r;m=k}}while(0);v=pl(w,l)|0;if(v|0){k=f[(f[w+16>>2]|0)+(m<<4)>>2]|0;l=ji(w,v,k)|0;if(!l){r=Qj(w,v,k)|0;do if(!(f[w+480>>2]|0)){Xd=v;if((f[w+304>>2]|0)>>>0<=Xd>>>0?(f[w+308>>2]|0)>>>0>Xd>>>0:0){Xd=w+300|0;f[v>>2]=f[Xd>>2];f[Xd>>2]=v;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](v);break}else{Xd=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-Xd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);break}}else Kc(w,v);while(0);if(!r){ni(i,52338,Vc);break a}q=f[i+116>>2]|0;q=(q|0)==0?i:q;k=q+84|0;l=f[k>>2]|0;p=1<>2]=l|p,(m|0)==1):0)?(wd=f[q>>2]|0,ad=wd+16|0,(f[(f[ad>>2]|0)+20>>2]|0)==0):0)?(b[q+195>>0]|0)==0:0){k=cj(f[wd>>2]|0,0,wd,Yd,0,542)|0;if(k|0){ni(q,51535,_c);f[q+12>>2]=k;break}Yd=f[Yd>>2]|0;f[(f[ad>>2]|0)+20>>2]=Yd;k=f[wd+92>>2]|0;g=f[Yd+4>>2]|0;f[g+4>>2]=f[Yd>>2];if(!(d[g+22>>1]&2)){e=g+32|0;n=g+36|0;o=(f[e>>2]|0)-(f[n>>2]|0)|0;do if((k+-512|0)>>>0<65025?(k+-1&k|0)==0:0){f[e>>2]=k;m=g+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;Yd=(f[18026]|0)+1|0;f[18026]=Yd;f[18027]=(Yd|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;Zd=3420;break}else{k=ib[f[37368>>2]&255](l)|0;Zd=3420}while(0);do if((Zd|0)==3420){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{Zd=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);Zd=ih(f[g>>2]|0,e,o)|0;f[n>>2]=(f[e>>2]|0)-(o&65535);if((Zd|0)==7){k=wd+81|0;do if(!(b[k>>0]|0)){if(b[wd+82>>0]|0)break;b[k>>0]=1;if((f[wd+180>>2]|0)>0)f[wd+264>>2]=1;Zd=wd+272|0;f[Zd>>2]=(f[Zd>>2]|0)+1}while(0);break}}}while(0);Zd=q+80|0;f[Zd>>2]=f[Zd>>2]|p;bm(i,r,-1);break a}k=f[l+8>>2]|0;if(k){s=l+72|0;u=i+116|0;do{m=f[s>>2]|0;if(!m)l=-1e6;else{g=f[(f[i>>2]|0)+16>>2]|0;l=0;while(1)if((f[g+(l<<4)+12>>2]|0)==(m|0))break;else l=l+1|0}r=f[u>>2]|0;r=(r|0)==0?i:r;m=r+84|0;g=f[m>>2]|0;q=1<>2]=g|q,(l|0)==1):0)?(Fd=f[r>>2]|0,Gd=Fd+16|0,(f[(f[Gd>>2]|0)+20>>2]|0)==0):0)?(b[r+195>>0]|0)==0:0){l=cj(f[Fd>>2]|0,0,Fd,Yd,0,542)|0;if(l|0){ni(r,51535,Ed);f[r+12>>2]=l;break}Xd=f[Yd>>2]|0;f[(f[Gd>>2]|0)+20>>2]=Xd;l=f[Fd+92>>2]|0;e=f[Xd+4>>2]|0;f[e+4>>2]=f[Xd>>2];if(!(d[e+22>>1]&2)){n=e+32|0;o=e+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((l+-512|0)>>>0<65025){if(l+-1&l|0)break;f[n>>2]=l;g=e+80|0;l=f[g>>2]|0;if(!l)break;m=l+-4|0;f[g>>2]=m;l=m;do if((f[18022]|0)>>>0<=l>>>0)if((f[18023]|0)>>>0>l>>>0){f[18188]=(f[18188]|0)+-1;f[m>>2]=f[18025];f[18025]=m;Xd=(f[18026]|0)+1|0;f[18026]=Xd;f[18027]=(Xd|0)<(f[18021]|0)&1;break}else{l=ib[f[37368>>2]&255](m)|0;Zd=3374;break}else{l=ib[f[37368>>2]&255](m)|0;Zd=3374}while(0);do if((Zd|0)==3374){Zd=0;f[18189]=(f[18189]|0)-l;if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{Xd=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Xd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);f[g>>2]=0}while(0);Xd=ih(f[e>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((Xd|0)==7){l=Fd+81|0;do if(!(b[l>>0]|0)){if(b[Fd+82>>0]|0)break;b[l>>0]=1;if((f[Fd+180>>2]|0)>0)f[Fd+264>>2]=1;Xd=Fd+272|0;f[Xd>>2]=(f[Xd>>2]|0)+1}while(0);break}}}while(0);Xd=r+80|0;f[Xd>>2]=f[Xd>>2]|q;bm(i,k,-1);k=f[k+20>>2]|0}while((k|0)!=0);if(w|0)Zd=3388}else Zd=3388;if((Zd|0)==3388){if(f[w+480>>2]|0){Kc(w,v);break a}i=v;if((f[w+304>>2]|0)>>>0<=i>>>0?(f[w+308>>2]|0)>>>0>i>>>0:0){i=w+300|0;f[v>>2]=f[i>>2];f[i>>2]=v;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](v);break a}else{i=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);break a}}break}case 269:{dm(i,0,0);break}case 270:{dm(i,$d+-8|0,$d+4|0);break}case 271:{x=f[$d+-32>>2]|0;g=$d+4|0;y=f[i>>2]|0;z=y+24|0;A=f[z>>2]|0;do if(!(b[y+81>>0]|0)){l=f[x+8>>2]|0;if(!l)k=x+12|0;else{m=f[y+16>>2]|0;k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0))break;else k=k+1|0;k=m+(k<<4)|0}s=pi(i,0,f[x+16>>2]|0,f[k>>2]|0)|0;if(s){l=f[s+72>>2]|0;if(!l)v=-1e6;else{m=f[(f[i>>2]|0)+16>>2]|0;k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0)){v=k;break}else k=k+1|0}w=f[(f[y+16>>2]|0)+(v<<4)>>2]|0;f[z>>2]=f[z>>2]|2;u=pl(y,g)|0;if(u){Lb:do if(!(ji(y,u,w)|0)){if(Qj(y,u,w)|0){f[Ob>>2]=u;ni(i,52384,Ob);Zd=3513;break}if((em(i,f[s>>2]|0)|0)==0?(Zl(i,u)|0)==0:0){l=f[s>>2]|0;if(f[s+12>>2]|0){f[Ub>>2]=l;ni(i,52443,Ub);Zd=3513;break}k=f[i>>2]|0;do if(((b[k+165>>0]|0)==0?(b[i+196>>0]|0)==0:0)?(dc=f[k+312>>2]|0,dc|0):0){k=nb[dc&127](f[k+316>>2]|0,26,w,l,0,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,fc);f[i+12>>2]=23;Zd=3513;break Lb}if((k|2|0)==2)if(!k)break;else{Zd=3513;break Lb}else{ni(i,49831,gc);f[i+12>>2]=1;Zd=3513;break Lb}}while(0);if(!(ki(i,s)|0)){if(!(f[s+56>>2]|0))q=0;else{k=f[s+64>>2]|0;Mb:do if(!k)k=0;else while(1){if((f[k>>2]|0)==(y|0))break Mb;k=f[k+24>>2]|0;if(!k){k=0;break}}while(0);q=(f[(f[f[k+8>>2]>>2]|0)+76>>2]|0)==0?0:k}r=i+8|0;k=f[r>>2]|0;if(!k){do if(!(f[i+116>>2]|0)){if(d[(f[i>>2]|0)+76>>1]&8)break;b[i+23>>0]=1}while(0);k=sl(i)|0;if(k|0){p=k;Zd=3475}}else{p=k;Zd=3475}Nb:do if((Zd|0)==3475){e=f[s>>2]|0;m=b[e>>0]|0;if((e|0)!=(-1|0)&m<<24>>24!=0){l=e;k=0;do{g=l+1|0;if((m&255)>191){l=g;while(1){m=b[l>>0]|0;if((m&-64)<<24>>24==-128)l=l+1|0;else break}}else{l=g;m=b[g>>0]|0}k=k+1|0}while(m<<24>>24!=0&(l|0)!=(-1|0))}else k=0;n=(v|0)==1;o=n&1;f[Qc>>2]=w;f[Qc+4>>2]=43770;f[Qc+8>>2]=w;f[Qc+12>>2]=e;f[Qc+16>>2]=u;f[Qc+20>>2]=o;f[Qc+24>>2]=e;Tl(i,52470,Qc);f[Rc>>2]=w;f[Rc+4>>2]=43770;f[Rc+8>>2]=u;f[Rc+12>>2]=u;f[Rc+16>>2]=u;f[Rc+20>>2]=k;f[Rc+24>>2]=e;Tl(i,52631,Rc);if(ji(y,52908,w)|0){Yd=f[s>>2]|0;f[Sc>>2]=w;f[Sc+4>>2]=u;f[Sc+8>>2]=Yd;Tl(i,52924,Sc)}if(!n){f[Tc>>2]=w;f[Tc+4>>2]=e;f[Tc+8>>2]=u;f[Tc+12>>2]=e;f[Tc+16>>2]=w;f[Tc+20>>2]=u;Tl(i,52982,Tc)}if(q|0){g=i+44|0;l=(f[g>>2]|0)+1|0;f[g>>2]=l;g=p+136|0;k=f[g>>2]|0;m=p+12|0;if((f[(f[m>>2]|0)+48>>2]|0)>(k|0)){f[g>>2]=k+1;Yd=f[p+88>>2]|0;b[Yd+(k*20|0)>>0]=106;d[Yd+(k*20|0)+2>>1]=0;f[Yd+(k*20|0)+4>>2]=0;f[Yd+(k*20|0)+8>>2]=l;f[Yd+(k*20|0)+12>>2]=0;f[Yd+(k*20|0)+16>>2]=0;b[Yd+(k*20|0)+1>>0]=0}else k=tl(p,106,0,l,0)|0;if(!(b[(f[p>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[g>>2]|0)+-1|0;ul(p,(f[p+88>>2]|0)+(k*20|0)|0,u,0)}k=f[g>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(k|0)){f[g>>2]=k+1;Yd=f[p+88>>2]|0;b[Yd+(k*20|0)>>0]=-90;d[Yd+(k*20|0)+2>>1]=0;f[Yd+(k*20|0)+4>>2]=l;f[Yd+(k*20|0)+8>>2]=0;f[Yd+(k*20|0)+12>>2]=0;f[Yd+(k*20|0)+16>>2]=0;b[Yd+(k*20|0)+1>>0]=0}else k=tl(p,166,l,0,0)|0;do if(!(b[(f[p>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[g>>2]|0)+-1|0;l=f[p+88>>2]|0;m=l+(k*20|0)+1|0;if(!(b[m>>0]|0)){f[l+(k*20|0)+16>>2]=q;b[m>>0]=-12;Yd=q+12|0;f[Yd>>2]=(f[Yd>>2]|0)+1;break}else{ul(p,l+(k*20|0)|0,q,-12);break}}while(0);Yd=f[i+116>>2]|0;b[((Yd|0)==0?i:Yd)+21>>0]=1}g=f[r>>2]|0;do if(!g){f[jd>>2]=w;f[jd+4>>2]=43770;f[jd+8>>2]=w;f[jd+12>>2]=o;Tl(i,53236,jd);if(n)break Nb}else{k=(f[f[(f[(f[i>>2]|0)+16>>2]|0)+(v<<4)+12>>2]>>2]|0)+1|0;l=g+136|0;m=f[l>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;Yd=f[g+88>>2]|0;b[Yd+(m*20|0)>>0]=107;d[Yd+(m*20|0)+2>>1]=0;f[Yd+(m*20|0)+4>>2]=v;f[Yd+(m*20|0)+8>>2]=1;f[Yd+(m*20|0)+12>>2]=k;f[Yd+(m*20|0)+16>>2]=0;b[Yd+(m*20|0)+1>>0]=0}else tl(g,107,v,1,k)|0;Xl(f[r>>2]|0,v,0);if(n){f[qd>>2]=w;f[qd+4>>2]=43770;f[qd+8>>2]=w;f[qd+12>>2]=o;Tl(i,53236,qd);break Nb}else{Xl(f[r>>2]|0,1,0);f[rd>>2]=w;f[rd+4>>2]=43770;f[rd+8>>2]=w;f[rd+12>>2]=o;Tl(i,53236,rd);break}}while(0);f[sd>>2]=43770;f[sd+4>>2]=w;Tl(i,53380,sd)}while(0);ng(y,x);if(y|0)Zd=3516}else Zd=3513}else Zd=3513}else{f[Nb>>2]=u;ni(i,52384,Nb);Zd=3513}while(0);if((Zd|0)==3513){ng(y,x);Zd=3516}if((Zd|0)==3516){if(f[y+480>>2]|0){Kc(y,u);break}i=u;if((f[y+304>>2]|0)>>>0<=i>>>0?(f[y+308>>2]|0)>>>0>i>>>0:0){i=y+300|0;f[u>>2]=f[i>>2];f[i>>2]=u;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{i=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}}else Zd=3514}else Zd=3514}else Zd=3514;while(0);if((Zd|0)==3514)ng(y,x);f[z>>2]=A;break}case 272:{e=$d+-8|0;o=$d+-4|0;f[o>>2]=(f[i+184>>2]|0)-(f[e>>2]|0)+(f[i+188>>2]|0);s=f[i>>2]|0;if((f[i+36>>2]|0)==0?(pc=s+81|0,(b[pc>>0]|0)==0):0){r=f[i+224>>2]|0;l=f[r+72>>2]|0;m=f[s+16>>2]|0;if(!l)u=-1e6;else{k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0)){u=k;break}else k=k+1|0}p=f[m+(u<<4)>>2]|0;q=(f[r>>2]|0)+16|0;m=f[r+4>>2]|0;g=(d[r+42>>1]|0)+-1|0;l=f[m+(g<<4)+4>>2]|0;k=ji(s,q,p)|0;k=f[k>>2]|0;do if(((b[s+165>>0]|0)==0?(b[i+196>>0]|0)==0:0)?(Db=f[s+312>>2]|0,Db|0):0){k=nb[Db&127](f[s+316>>2]|0,26,p,k,0,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,Hb);f[i+12>>2]=23;break a}if((k|2|0)==2)if(!k)break;else break a;else{ni(i,49831,Ib);f[i+12>>2]=1;break a}}while(0);if(!l)l=0;else l=(b[f[l+12>>2]>>0]|0)==110?0:l;if(b[m+(g<<4)+15>>0]&1){ni(i,53523,Pb);break a}if(f[r+8>>2]|0){ni(i,53555,Qb);break a}if(!(0==0?(f[s+32>>2]&16384|0)==0:0)?(l|0)!=0&(f[r+16>>2]|0)!=0:0){ni(i,53582,Rb);break a}k=(l|0)!=0;if(!(k|(b[m+(g<<4)+12>>0]|0)==0)){ni(i,53641,Vb);break a}Ob:do if(k){f[Yd>>2]=0;do if(!(Ek(s,l,1,65,Yd)|0)){m=f[Yd>>2]|0;if(!m){ni(i,53694,ac);break}if(!((d[m+8>>1]&9216)==0?!(f[m+24>>2]|0):0))ff(m);k=f[m+32>>2]|0;do if(!k)Zd=3562;else{if(f[k+480>>2]|0){Kc(k,m);break}l=m;if((f[k+304>>2]|0)>>>0>l>>>0){Zd=3562;break}if((f[k+308>>2]|0)>>>0<=l>>>0){Zd=3562;break}Yd=k+300|0;f[m>>2]=f[Yd>>2];f[Yd>>2]=m}while(0);do if((Zd|0)==3562)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{Yd=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Yd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);break Ob}while(0);break a}while(0);e=f[e>>2]|0;n=f[o>>2]|0;Pb:do if(e|0){m=KA(n|0,0,1,0)|0;g=ba()|0;Qb:do if(f[s+272>>2]|0)if(!(b[pc>>0]|0))Zd=3578;else break Pb;else{do if(0<0|(0==0?n>>>0<(j[s+276>>1]|0)>>>0:0)){k=s+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Yd=s+284|0;f[Yd>>2]=(f[Yd>>2]|0)+1;break Qb}k=s+296|0;l=f[k>>2]|0;if(!l){k=s+292|0;break}else{f[k>>2]=f[l>>2];Yd=s+284|0;f[Yd>>2]=(f[Yd>>2]|0)+1;break Qb}}else k=s+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=3578}while(0);if((Zd|0)==3578)l=Dc(s,m,g)|0;if(l|0){YA(l|0,e|0,n|0)|0;b[l+n>>0]=0;k=(f[o>>2]|0)+-1|0;m=s+24|0;g=f[m>>2]|0;if((k|0)>0){k=l+k|0;do{Yd=b[k>>0]|0;if(Yd<<24>>24!=59?(b[5472+(Yd&255)>>0]&1)==0:0)break;b[k>>0]=0;k=k+-1|0}while(k>>>0>l>>>0);k=f[m>>2]|0}else k=g;f[m>>2]=k|2;Yd=f[r+52>>2]|0;f[Fc>>2]=p;f[Fc+4>>2]=43770;f[Fc+8>>2]=Yd;f[Fc+12>>2]=l;f[Fc+16>>2]=Yd+1;f[Fc+20>>2]=q;Tl(i,53740,Fc);Rb:do if(!(f[s+480>>2]|0)){k=l;do if((f[s+304>>2]|0)>>>0<=k>>>0){if((f[s+308>>2]|0)>>>0<=k>>>0)break;Yd=s+300|0;f[l>>2]=f[Yd>>2];f[Yd>>2]=l;break Rb}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{Yd=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Yd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}else Kc(s,l);while(0);f[m>>2]=g}}while(0);p=i+8|0;k=f[p>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(k|0)Zd=3600}else Zd=3600;do if((Zd|0)==3600){o=i+19|0;l=b[o>>0]|0;if(!(l<<24>>24)){Zd=i+44|0;n=(f[Zd>>2]|0)+1|0;f[Zd>>2]=n}else{n=l+-1<<24>>24;b[o>>0]=n;n=f[i+144+((n&255)<<2)>>2]|0}g=k+136|0;l=f[g>>2]|0;e=k+12|0;if((f[(f[e>>2]|0)+48>>2]|0)>(l|0)){f[g>>2]=l+1;Zd=f[k+88>>2]|0;b[Zd+(l*20|0)>>0]=105;d[Zd+(l*20|0)+2>>1]=0;f[Zd+(l*20|0)+4>>2]=u;f[Zd+(l*20|0)+8>>2]=n;f[Zd+(l*20|0)+12>>2]=2;f[Zd+(l*20|0)+16>>2]=0;b[Zd+(l*20|0)+1>>0]=0}else tl(k,105,u,n,2)|0;l=1<>2]=f[Zd>>2]|l;if((u|0)!=1?b[(f[(f[(f[k>>2]|0)+16>>2]|0)+(u<<4)+4>>2]|0)+9>>0]|0:0){Zd=k+152|0;f[Zd>>2]=f[Zd>>2]|l}l=f[g>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(l|0)){f[g>>2]=l+1;Zd=f[k+88>>2]|0;b[Zd+(l*20|0)>>0]=83;d[Zd+(l*20|0)+2>>1]=0;f[Zd+(l*20|0)+4>>2]=n;f[Zd+(l*20|0)+8>>2]=-2;f[Zd+(l*20|0)+12>>2]=0;f[Zd+(l*20|0)+16>>2]=0;b[Zd+(l*20|0)+1>>0]=0}else tl(k,83,n,-2,0)|0;l=f[g>>2]|0;m=l+2|0;if((f[(f[e>>2]|0)+48>>2]|0)>(l|0)){f[g>>2]=l+1;Zd=f[k+88>>2]|0;b[Zd+(l*20|0)>>0]=47;d[Zd+(l*20|0)+2>>1]=0;f[Zd+(l*20|0)+4>>2]=n;f[Zd+(l*20|0)+8>>2]=m;f[Zd+(l*20|0)+12>>2]=0;f[Zd+(l*20|0)+16>>2]=0;b[Zd+(l*20|0)+1>>0]=0}else tl(k,47,n,m,0)|0;l=f[g>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(l|0)){f[g>>2]=l+1;Zd=f[k+88>>2]|0;b[Zd+(l*20|0)>>0]=107;d[Zd+(l*20|0)+2>>1]=0;f[Zd+(l*20|0)+4>>2]=u;f[Zd+(l*20|0)+8>>2]=2;f[Zd+(l*20|0)+12>>2]=3;f[Zd+(l*20|0)+16>>2]=0;b[Zd+(l*20|0)+1>>0]=0}else tl(k,107,u,2,3)|0;if(!n)break;k=b[o>>0]|0;if((k&255)>=8)break;b[o>>0]=k+1<<24>>24;f[i+144+((k&255)<<2)>>2]=n}while(0);g=f[p>>2]|0;if(g|0){k=(f[f[(f[(f[i>>2]|0)+16>>2]|0)+(u<<4)+12>>2]>>2]|0)+1|0;l=g+136|0;m=f[l>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;i=f[g+88>>2]|0;b[i+(m*20|0)>>0]=107;d[i+(m*20|0)+2>>1]=0;f[i+(m*20|0)+4>>2]=u;f[i+(m*20|0)+8>>2]=1;f[i+(m*20|0)+12>>2]=k;f[i+(m*20|0)+16>>2]=0;b[i+(m*20|0)+1>>0]=0}else tl(g,107,u,1,k)|0;Xl(f[p>>2]|0,u,0);if((u|0)!=1)Xl(f[p>>2]|0,1,0)}}break}case 273:{E=i+24|0;b[E>>0]=(b[E>>0]|0)+1<<24>>24;E=f[i>>2]|0;F=E+272|0;f[F>>2]=(f[F>>2]|0)+1;G=f[$d+4>>2]|0;H=E+81|0;Sb:do if(!(b[H>>0]|0)){l=f[G+8>>2]|0;if(!l)k=G+12|0;else{m=f[E+16>>2]|0;k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0))break;else k=k+1|0;k=m+(k<<4)|0}D=pi(i,0,f[G+16>>2]|0,f[k>>2]|0)|0;if(D|0){if(f[D+56>>2]|0){ni(i,53849,Pa);break}if(f[D+12>>2]|0){ni(i,53883,Qa);break}if(!(em(i,f[D>>2]|0)|0)){l=f[D+72>>2]|0;if(!l)B=-1e6;else{m=f[E+16>>2]|0;k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0)){B=k;break}else k=k+1|0}C=(E|0)==0;Tb:do if(C){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](80)|0;Zd=3665;break}k=ib[f[37372>>2]&255](80)|0;if((f[18194]|0)>>>0<80)f[18194]=80;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break Sb;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[F>>2]|0){if(b[H>>0]|0)break Sb}else{do if((j[E+276>>1]|0)>=80){l=E+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=E+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3665;break Tb}l=E+296|0;k=f[l>>2]|0;if(!k){k=E+292|0;break}else{f[l>>2]=f[k>>2];Zd=E+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3665;break Tb}}else k=E+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(E,80,0)|0;Zd=3665}while(0);if((Zd|0)==3665)if(!k)break;M=k;N=M+80|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[i+224>>2]=k;z=k+32|0;f[z>>2]=1;e=d[D+42>>1]|0;A=k+42|0;d[A>>1]=e;e=((((e<<16>>16)+-1|0)/8|0)<<7)+128|0;Ub:do if(C){i=KA(e|0,0,-1,-1)|0;Yd=ba()|0;if(!(Yd>>>0>0|(Yd|0)==0&i>>>0>2147483390)){if(!(f[9328]|0)){l=ib[f[37356>>2]&255](e)|0;Zd=3690;break}l=ib[f[37372>>2]&255](e)|0;if((f[18194]|0)>>>0>>0)f[18194]=e;g=71896;m=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&m>>>0>0){i=f[18187]|0;Yd=LA(m|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[17976]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}l=ib[f[37356>>2]&255](l)|0;if(l){m=ib[f[37368>>2]&255](l)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0>(f[18196]|0)>>>0){f[18196]=m;Zd=3691}else Zd=3691}else l=0}else l=0}else{if(f[F>>2]|0){if(b[H>>0]|0){l=0;break}}else{do if(!(0<0|(0==0?(j[E+276>>1]|0)>>>0>>0:0))){m=E+300|0;l=f[m>>2]|0;if(l|0){f[m>>2]=f[l>>2];Zd=E+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3690;break Ub}m=E+296|0;l=f[m>>2]|0;if(!l){l=E+292|0;break}else{f[m>>2]=f[l>>2];Zd=E+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3690;break Ub}}else l=E+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1}l=Dc(E,e,0)|0;Zd=3690}while(0);if((Zd|0)==3690)if(!l)l=0;else Zd=3691;if((Zd|0)==3691)_A(l|0,0,e|0)|0;y=k+4|0;f[y>>2]=l;f[$c>>2]=f[D>>2];i=Ig(E,53913,$c)|0;f[k>>2]=i;l=f[y>>2]|0;if(!((i|0)==0|(l|0)==0)){YA(l|0,f[D+4>>2]|0,d[A>>1]<<4|0)|0;if((d[A>>1]|0)>0){p=E+276|0;q=E+288|0;r=E+300|0;s=E+296|0;u=E+284|0;v=E+292|0;o=0;do{w=f[y>>2]|0;x=w+(o<<4)|0;e=f[x>>2]|0;Vb:do if(!e)l=0;else{n=(wz(e)|0)+1|0;Wb:do if(C){i=KA(n|0,0,-1,-1)|0;Yd=ba()|0;if(Yd>>>0>0|(Yd|0)==0&i>>>0>2147483390){l=0;break Vb}if(!(f[9328]|0)){l=ib[f[37356>>2]&255](n)|0;Zd=3718;break}l=ib[f[37372>>2]&255](n)|0;if((f[18194]|0)>>>0>>0)f[18194]=n;g=71896;m=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&m>>>0>0){i=f[18187]|0;Yd=LA(m|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[17976]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}l=ib[f[37356>>2]&255](l)|0;if(!l){l=0;break Vb}m=ib[f[37368>>2]&255](l)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0<=(f[18196]|0)>>>0)break;f[18196]=m}else{if(f[F>>2]|0){if(b[H>>0]|0){l=0;break Vb}}else{do if(0<0|(0==0?(j[p>>1]|0)>>>0>>0:0))l=q;else{l=f[r>>2]|0;if(l|0){f[r>>2]=f[l>>2];f[u>>2]=(f[u>>2]|0)+1;Zd=3718;break Wb}l=f[s>>2]|0;if(!l){l=v;break}f[s>>2]=f[l>>2];f[u>>2]=(f[u>>2]|0)+1;Zd=3718;break Wb}while(0);f[l>>2]=(f[l>>2]|0)+1}l=Dc(E,n,0)|0;Zd=3718}while(0);if((Zd|0)==3718){Zd=0;if(!l){l=0;break}}YA(l|0,e|0,n|0)|0}while(0);f[x>>2]=l;f[w+(o<<4)+8>>2]=0;f[w+(o<<4)+4>>2]=0;o=o+1|0}while((o|0)<(d[A>>1]|0))}f[k+72>>2]=f[(f[E+16>>2]|0)+(B<<4)+12>>2];f[k+52>>2]=f[D+52>>2];f[z>>2]=1}}}}while(0);ng(E,G);break}case 274:{v=f[$d+-56>>2]|0;g=$d+-20|0;p=$d+4|0;w=f[i>>2]|0;l=f[v+8>>2]|0;if(!l)k=v+12|0;else{m=f[w+16>>2]|0;k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0))break;else k=k+1|0;k=m+(k<<4)|0}r=pi(i,0,f[v+16>>2]|0,f[k>>2]|0)|0;Xb:do if(r|0?(em(i,f[r>>2]|0)|0)==0:0){k=(f[r+56>>2]|0)==0?((f[r+12>>2]|0)==0?0:51188):53932;if(k|0){Zd=f[r>>2]|0;f[Wa>>2]=k;f[Wa+4>>2]=Zd;ni(i,53946,Wa);break}l=f[r+72>>2]|0;m=f[w+16>>2]|0;if(!l)u=-1e6;else{k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0)){u=k;break}else k=k+1|0}s=f[m+(u<<4)>>2]|0;k=f[r>>2]|0;l=f[i>>2]|0;do if(((b[l+165>>0]|0)==0?(b[i+196>>0]|0)==0:0)?(Xb=f[l+312>>2]|0,Xb|0):0){k=nb[Xb&127](f[l+316>>2]|0,26,s,k,0,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,bc);f[i+12>>2]=23;break Xb}if((k|2|0)==2)if(!k)break;else break Xb;else{ni(i,49831,cc);f[i+12>>2]=1;break Xb}}while(0);q=pl(w,g)|0;if(q|0){Yd=d[r+42>>1]|0;o=Yd<<16>>16;Yb:do if(Yd<<16>>16>0){e=f[r+4>>2]|0;n=h[1232+(h[q>>0]|0)>>0]|0;k=0;do{m=f[e+(k<<4)>>2]|0;Yd=b[m>>0]|0;l=(h[1232+(Yd&255)>>0]|0)-n|0;if(!(Yd<<24>>24==0|(l|0)!=0)){g=q;do{m=m+1|0;g=g+1|0;Yd=b[m>>0]|0;l=(h[1232+(Yd&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(Yd<<24>>24==0|(l|0)!=0))}if(!l)break Yb;k=k+1|0}while((k|0)<(o|0))}else k=0;while(0);Zb:do if((k|0)!=(o|0)){l=pl(w,p)|0;if(!l)l=0;else{e=b[5472+(h[f[p>>2]>>0]|0)>>0]&-128&255;n=f[r>>2]|0;o=(u|0)==1;p=o&1;f[Bc>>2]=s;f[Bc+4>>2]=43770;f[Bc+8>>2]=s;f[Bc+12>>2]=n;f[Bc+16>>2]=k;f[Bc+20>>2]=l;f[Bc+24>>2]=e;f[Bc+28>>2]=p;f[Bc+32>>2]=n;Tl(i,54e3,Bc);n=f[r>>2]|0;f[Cc>>2]=43770;f[Cc+4>>2]=s;f[Cc+8>>2]=n;f[Cc+12>>2]=k;f[Cc+16>>2]=l;f[Cc+20>>2]=e;Tl(i,54194,Cc);e=i+8|0;n=f[e>>2]|0;do if(!n){f[Gc>>2]=s;f[Gc+4>>2]=43770;f[Gc+8>>2]=s;f[Gc+12>>2]=p;Tl(i,53236,Gc);if(o)break Zb}else{k=(f[f[(f[(f[i>>2]|0)+16>>2]|0)+(u<<4)+12>>2]>>2]|0)+1|0;m=n+136|0;g=f[m>>2]|0;if((f[(f[n+12>>2]|0)+48>>2]|0)>(g|0)){f[m>>2]=g+1;Yd=f[n+88>>2]|0;b[Yd+(g*20|0)>>0]=107;d[Yd+(g*20|0)+2>>1]=0;f[Yd+(g*20|0)+4>>2]=u;f[Yd+(g*20|0)+8>>2]=1;f[Yd+(g*20|0)+12>>2]=k;f[Yd+(g*20|0)+16>>2]=0;b[Yd+(g*20|0)+1>>0]=0}else tl(n,107,u,1,k)|0;Xl(f[e>>2]|0,u,0);if(o){f[Ic>>2]=s;f[Ic+4>>2]=43770;f[Ic+8>>2]=s;f[Ic+12>>2]=p;Tl(i,53236,Ic);break Zb}else{Xl(f[e>>2]|0,1,0);f[Jc>>2]=s;f[Jc+4>>2]=43770;f[Jc+8>>2]=s;f[Jc+12>>2]=p;Tl(i,53236,Jc);break}}while(0);f[Mc>>2]=43770;f[Mc+4>>2]=s;Tl(i,53380,Mc)}}else{f[zc>>2]=q;ni(i,53979,zc);l=0}while(0);ng(w,v);k=(w|0)==0;do if(!k){if(f[w+480>>2]|0){Kc(w,q);break}i=q;if((f[w+304>>2]|0)>>>0<=i>>>0?(f[w+308>>2]|0)>>>0>i>>>0:0){i=w+300|0;f[q>>2]=f[i>>2];f[i>>2]=q}else Zd=3770}else Zd=3770;while(0);do if((Zd|0)==3770)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{i=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);if(!l)break a;if(!k){if(f[w+480>>2]|0){Kc(w,l);break a}i=l;if((f[w+304>>2]|0)>>>0<=i>>>0?(f[w+308>>2]|0)>>>0>i>>>0:0){i=w+300|0;f[l>>2]=f[i>>2];f[i>>2]=l;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break a}else{i=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break a}}}while(0);ng(w,v);break}case 275:{fm(i,0);break}case 276:{fm(i,$d+4|0);break}case 277:{n=$d+4|0;zl(i,$d+-32|0,$d+-20|0,0,0,1,f[$d+-44>>2]|0);r=f[i+224>>2]|0;if(r|0){q=f[i>>2]|0;e=pl(q,n)|0;o=r+56|0;l=f[o>>2]|0;m=(l<<2)+8|0;p=r+60|0;k=f[p>>2]|0;g=((m|0)<0)<<31>>31;_b:do if(!k){if(f[q+272>>2]|0){if(b[q+81>>0]|0){Zd=3805;break}}else{do if(!(0>>0|(0==(g|0)?(j[q+276>>1]|0)>>>0>>0:0))){l=q+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=q+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3803;break _b}l=q+296|0;k=f[l>>2]|0;if(!k){k=q+292|0;break}else{f[l>>2]=f[k>>2];Zd=q+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3803;break _b}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(q,m,g)|0;Zd=3803}else{Zd=k;if((f[q+304>>2]|0)>>>0<=Zd>>>0?(f[q+308>>2]|0)>>>0>Zd>>>0:0){if(!(0>>0|(0==(g|0)?(j[q+276>>1]|0)>>>0>>0:0))){Zd=3814;break}k=Lc(q,k,m,g)|0;Zd=3803;break}k=Lc(q,k,m,g)|0;Zd=3803}while(0);if((Zd|0)==3803)if(!k)Zd=3805;else{l=f[o>>2]|0;Zd=3814}$b:do if((Zd|0)==3805){do if(e|0){if(f[q+480>>2]|0){Kc(q,e);break}Yd=e;if((f[q+304>>2]|0)>>>0<=Yd>>>0?(f[q+308>>2]|0)>>>0>Yd>>>0:0){Yd=q+300|0;f[e>>2]=f[Yd>>2];f[Yd>>2]=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{Yd=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-Yd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);l=f[p>>2]|0;k=f[o>>2]|0;m=(k<<2)+8|0;g=((m|0)<0)<<31>>31;if(!l){if(f[q+272>>2]|0){if(b[q+81>>0]|0)break}else{do if(!(0>>0|(0==(g|0)?(j[q+276>>1]|0)>>>0>>0:0))){k=q+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];ic=q+284|0;f[ic>>2]=(f[ic>>2]|0)+1;ic=l;Zd=3832;break $b}k=q+296|0;l=f[k>>2]|0;if(!l){k=q+292|0;break}else{f[k>>2]=f[l>>2];ic=q+284|0;f[ic>>2]=(f[ic>>2]|0)+1;ic=l;Zd=3832;break $b}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}ic=Dc(q,m,g)|0;Zd=3832}else Zd=3827}else if((Zd|0)==3814){Yd=l+1|0;f[o>>2]=Yd;f[k+(l<<2)>>2]=e;f[k+(Yd<<2)>>2]=0;f[p>>2]=k;m=(Yd<<2)+8|0;l=k;g=((m|0)<0)<<31>>31;k=Yd;Zd=3827}while(0);do if((Zd|0)==3827){Zd=l;if((f[q+304>>2]|0)>>>0<=Zd>>>0?(f[q+308>>2]|0)>>>0>Zd>>>0:0){if(!(g>>>0>0|((g|0)==0?m>>>0>(j[q+276>>1]|0)>>>0:0))){Zd=3834;break}ic=Lc(q,l,m,g)|0;Zd=3832;break}ic=Lc(q,l,m,g)|0;Zd=3832}while(0);if((Zd|0)==3832?ic|0:0){l=ic;k=f[o>>2]|0;Zd=3834}if((Zd|0)==3834){Yd=k+1|0;f[o>>2]=Yd;f[l+(k<<2)>>2]=0;f[l+(Yd<<2)>>2]=0;f[p>>2]=l}m=f[r>>2]|0;ac:do if(m){g=(wz(m)|0)+1|0;bc:do if(f[q+272>>2]|0)if(!(b[q+81>>0]|0))Zd=3846;else{e=0;break ac}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){l=q+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Yd=q+284|0;f[Yd>>2]=(f[Yd>>2]|0)+1;break bc}l=q+296|0;k=f[l>>2]|0;if(!k){k=q+292|0;break}else{f[l>>2]=f[k>>2];Yd=q+284|0;f[Yd>>2]=(f[Yd>>2]|0)+1;break bc}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=3846}while(0);if((Zd|0)==3846)k=Dc(q,g,0)|0;if(k){YA(k|0,m|0,g|0)|0;e=k}else e=0}else e=0;while(0);l=f[o>>2]|0;m=(l<<2)+8|0;k=f[p>>2]|0;g=((m|0)<0)<<31>>31;cc:do if(!k){if(f[q+272>>2]|0){if(b[q+81>>0]|0){Zd=3868;break}}else{do if(!(0>>0|(0==(g|0)?(j[q+276>>1]|0)>>>0>>0:0))){l=q+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=q+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3866;break cc}l=q+296|0;k=f[l>>2]|0;if(!k){k=q+292|0;break}else{f[l>>2]=f[k>>2];Zd=q+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3866;break cc}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(q,m,g)|0;Zd=3866}else{Zd=k;if((f[q+304>>2]|0)>>>0<=Zd>>>0?(f[q+308>>2]|0)>>>0>Zd>>>0:0){if(!(0>>0|(0==(g|0)?(j[q+276>>1]|0)>>>0>>0:0))){Zd=3877;break}k=Lc(q,k,m,g)|0;Zd=3866;break}k=Lc(q,k,m,g)|0;Zd=3866}while(0);if((Zd|0)==3866)if(!k)Zd=3868;else{l=f[o>>2]|0;Zd=3877}do if((Zd|0)==3868){if(e|0){if(f[q+480>>2]|0){Kc(q,e);break}Zd=e;if((f[q+304>>2]|0)>>>0<=Zd>>>0?(f[q+308>>2]|0)>>>0>Zd>>>0:0){Zd=q+300|0;f[e>>2]=f[Zd>>2];f[Zd>>2]=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{Zd=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}}else if((Zd|0)==3877){Zd=l+1|0;f[o>>2]=Zd;f[k+(l<<2)>>2]=e;f[k+(Zd<<2)>>2]=0;f[p>>2]=k}while(0);f[i+180>>2]=(f[n>>2]|0)+(f[$d+8>>2]|0)-(f[i+176>>2]|0);e=f[p>>2]|0;if(e|0){m=f[r+72>>2]|0;if(!m)k=-1e6;else{l=f[q+16>>2]|0;k=0;while(1)if((f[l+(k<<4)+12>>2]|0)==(m|0))break;else k=k+1|0}g=f[r>>2]|0;l=f[e>>2]|0;m=f[i>>2]|0;k=f[(f[m+16>>2]|0)+(k<<4)>>2]|0;if(((b[m+165>>0]|0)==0?(b[i+196>>0]|0)==0:0)?(Ad=f[m+312>>2]|0,Ad|0):0){k=nb[Ad&127](f[m+316>>2]|0,29,g,l,k,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,Bd);f[i+12>>2]=23;break a}if((k|2|0)!=2){ni(i,49831,Cd);f[i+12>>2]=1}}}}break}case 278:{r=i+240|0;e=f[r>>2]|0;do if(e|0?(Yb=f[i+224>>2]|0,Yb|0):0){n=f[i+244>>2]|0;q=f[i>>2]|0;m=KA(n|0,((n|0)<0)<<31>>31|0,1,0)|0;g=ba()|0;p=q+272|0;dc:do if(f[p>>2]|0)if(!(b[q+81>>0]|0))Zd=3901;else n=0;else{do if(!(g>>>0>0|((g|0)==0?m>>>0>(j[q+276>>1]|0)>>>0:0))){l=q+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=q+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3902;break dc}l=q+296|0;k=f[l>>2]|0;if(!k){k=q+292|0;break}else{f[l>>2]=f[k>>2];Zd=q+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3902;break dc}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=3901}while(0);if((Zd|0)==3901){k=Dc(q,m,g)|0;Zd=3902}if((Zd|0)==3902)if(!k)n=0;else{YA(k|0,e|0,n|0)|0;b[k+n>>0]=0;n=k}o=Yb+56|0;k=f[o>>2]|0;g=(k<<2)+8|0;e=Yb+60|0;l=f[e>>2]|0;m=((g|0)<0)<<31>>31;ec:do if(!l){if(f[p>>2]|0){if(b[q+81>>0]|0)break}else{do if(!(0>>0|(0==(m|0)?(j[q+276>>1]|0)>>>0>>0:0))){k=q+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];hc=q+284|0;f[hc>>2]=(f[hc>>2]|0)+1;hc=l;Zd=3921;break ec}k=q+296|0;l=f[k>>2]|0;if(!l){k=q+292|0;break}else{f[k>>2]=f[l>>2];hc=q+284|0;f[hc>>2]=(f[hc>>2]|0)+1;hc=l;Zd=3921;break ec}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}hc=Dc(q,g,m)|0;Zd=3921}else{Zd=l;if((f[q+304>>2]|0)>>>0<=Zd>>>0?(f[q+308>>2]|0)>>>0>Zd>>>0:0){if(!(0>>0|(0==(m|0)?(j[q+276>>1]|0)>>>0>>0:0))){Zd=3932;break}hc=Lc(q,l,g,m)|0;Zd=3921;break}hc=Lc(q,l,g,m)|0;Zd=3921}while(0);if((Zd|0)==3921?hc|0:0){l=hc;k=f[o>>2]|0;Zd=3932}if((Zd|0)==3932){Zd=k+1|0;f[o>>2]=Zd;f[l+(k<<2)>>2]=n;f[l+(Zd<<2)>>2]=0;f[e>>2]=l;break}if(n|0){if(f[q+480>>2]|0){Kc(q,n);break}Zd=n;if((f[q+304>>2]|0)>>>0<=Zd>>>0?(f[q+308>>2]|0)>>>0>Zd>>>0:0){Zd=q+300|0;f[n>>2]=f[Zd>>2];f[Zd>>2]=n;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{Zd=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}}while(0);f[r>>2]=0;f[i+244>>2]=0;break}case 281:case 280:case 279:{k=i+240|0;l=f[k>>2]|0;m=f[$d+4>>2]|0;if(!l){f[k>>2]=m;k=f[$d+8>>2]|0}else k=m+(f[$d+8>>2]|0)-l|0;f[i+244>>2]=k;break}case 283:case 282:{k=f[$d+4>>2]|0;if(k|0){Zd=i+260|0;f[k+4>>2]=f[Zd>>2];f[Zd>>2]=k;f[i+264>>2]=k}break}case 284:{Zd=$d+-56|0;i=gm(i,0,Zd,f[$d+-44>>2]|0,f[$d+-8>>2]|0)|0;f[Zd>>2]=i;break}case 285:{Zd=$d+-80|0;i=gm(i,f[Zd>>2]|0,$d+-56|0,f[$d+-44>>2]|0,f[$d+-8>>2]|0)|0;f[Zd>>2]=i;break}case 306:{m=f[i>>2]|0;fc:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](72)|0;Zd=4023;break}k=ib[f[37372>>2]&255](72)|0;if((f[18194]|0)>>>0<72)f[18194]=72;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Zd=f[18187]|0;Yd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[17976]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=Zd>>>0)&1}l=ib[f[37356>>2]&255](k)|0;if(l){k=ib[f[37368>>2]&255](l)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;Zd=4024}else Zd=4024}else Zd=4039}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){Zd=4039;break}}else{do if((j[m+276>>1]|0)>=72){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=4023;break fc}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=4023;break fc}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,72,0)|0;Zd=4023}while(0);if((Zd|0)==4023)if(!k)Zd=4039;else{l=k;Zd=4024}if((Zd|0)==4024){M=l;N=M+72|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));g=f[i>>2]|0;o=f[$d+4>>2]|0;p=f[$d+8>>2]|0;gc:do if(o){e=KA(p|0,0,1,0)|0;n=ba()|0;hc:do if(f[g+272>>2]|0)if(!(b[g+81>>0]|0))Zd=4035;else{k=0;break gc}else{do if(0<0|(0==0?p>>>0<(j[g+276>>1]|0)>>>0:0)){m=g+300|0;k=f[m>>2]|0;if(k|0){f[m>>2]=f[k>>2];i=g+284|0;f[i>>2]=(f[i>>2]|0)+1;break hc}m=g+296|0;k=f[m>>2]|0;if(!k){k=g+292|0;break}else{f[m>>2]=f[k>>2];i=g+284|0;f[i>>2]=(f[i>>2]|0)+1;break hc}}else k=g+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=4035}while(0);if((Zd|0)==4035)k=Dc(g,e,n)|0;if(k){YA(k|0,o|0,p|0)|0;b[k+p>>0]=0}else k=0}else k=0;while(0);f[l>>2]=k;f[l+28>>2]=f[$d+-20>>2];k=l}else if((Zd|0)==4039){k=f[$d+-20>>2]|0;if(!k)k=0;else{ig(f[i>>2]|0,k);k=0}}f[$d+-20>>2]=k;break}case 287:{i=$d+-20|0;Zd=$d+4|0;f[(f[Zd>>2]|0)+24>>2]=f[i>>2];f[i>>2]=f[Zd>>2];break}case 288:{p=$d+4|0;if(!(f[p>>2]|0))k=0;else{m=f[i>>2]|0;n=f[$d+-20>>2]|0;o=f[$d+-16>>2]|0;ic:do if(n){g=KA(o|0,0,1,0)|0;e=ba()|0;jc:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=3955;else{k=0;break ic}else{do if(0<0|(0==0?o>>>0<(j[m+276>>1]|0)>>>0:0)){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];i=m+284|0;f[i>>2]=(f[i>>2]|0)+1;break jc}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];i=m+284|0;f[i>>2]=(f[i>>2]|0)+1;break jc}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=3955}while(0);if((Zd|0)==3955)k=Dc(m,g,e)|0;if(k){YA(k|0,n|0,o|0)|0;b[k+o>>0]=0}else k=0}else k=0;while(0);f[f[p>>2]>>2]=k;k=f[p>>2]|0}f[$d+-20>>2]=k;break}case 289:{k=f[$d+-8>>2]|0;l=$d+-44|0;f[l>>2]=k;if(k|0){f[k+4>>2]=f[$d+-32>>2];f[(f[l>>2]|0)+8>>2]=f[$d+-20>>2]}break}case 290:{f[$d+-20>>2]=f[$d+4>>2];break}case 291:{f[$d+16>>2]=0;break}case 292:{m=f[i>>2]|0;kc:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](72)|0;Zd=3987;break}k=ib[f[37372>>2]&255](72)|0;if((f[18194]|0)>>>0<72)f[18194]=72;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[18187]|0;Yd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[17976]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(k){l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0){f[18196]=l;Zd=3988}else Zd=3988}else k=0}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){k=0;break}}else{do if((j[m+276>>1]|0)>=72){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3987;break kc}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3987;break kc}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,72,0)|0;Zd=3987}while(0);if((Zd|0)==3987)if(!k)k=0;else Zd=3988;if((Zd|0)==3988){M=k;N=M+72|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));b[k+12>>0]=86;b[k+13>>0]=87;b[k+14>>0]=82;f[k+20>>2]=0;f[k+16>>2]=0}f[$d+16>>2]=k;break}case 293:{Zd=$d+-8|0;i=hm(i,f[Zd>>2]|0,f[$d+4>>2]|0,f[$d+8>>2]|0,82,0)|0;f[Zd>>2]=i;break}case 294:{Zd=$d+-44|0;i=hm(i,f[Zd>>2]|0,f[$d+-20>>2]|0,f[$d+-16>>2]|0,f[$d+4>>2]|0,f[$d+8>>2]|0)|0;f[Zd>>2]=i;break}case 295:{f[$d+4>>2]=86;break}case 296:{f[$d+4>>2]=76;break}case 305:{Zd=f[$d+4>>2]|0;i=$d+-20|0;f[Zd+28>>2]=f[i>>2];f[i>>2]=Zd;break}case 304:{f[$d+-8>>2]=f[$d+4>>2];break}case 300:case 298:{f[$d+-8>>2]=87;f[$d+-4>>2]=0;break}case 301:{Zd=$d+-8|0;i=f[Zd>>2]|0;f[Zd>>2]=85;f[$d+-4>>2]=i;break}case 302:{f[$d+-8>>2]=82;f[$d+-4>>2]=0;break}case 303:{Zd=$d+-8|0;i=f[Zd>>2]|0;f[Zd>>2]=83;f[$d+-4>>2]=i;break}default:{}}while(0);i=d[20416+(c<<2)>>1]|0;_d=_d<<24>>24;c=d[15328+((d[21936+(j[$d+(_d*12|0)>>1]<<1)>>1]|0)+(i&65535)<<1)>>1]|0;_d=_d+1|0;Zd=$d+(_d*12|0)|0;f[a>>2]=Zd;d[Zd>>1]=c;d[$d+(_d*12|0)+2>>1]=i;a=c;t=ae;return a|0} -function ub(a){a=a|0;var b=0;b=t;t=t+a|0;t=t+15&-16;return b|0}function vb(){return t|0}function wb(a){a=a|0;t=a}function xb(a,b){a=a|0;b=b|0;t=a;u=b}function yb(a,b){a=a|0;b=b|0;if(!v){v=a;w=b}}function zb(a){a=a|0;var c=0,d=0;d=0;do{switch(b[16+(d*12|0)+5>>0]|0){case 1:{c=a;break}case 2:{c=-1;break}default:c=0}nq(a,f[16+(d*12|0)>>2]|0,b[16+(d*12|0)+4>>0]|0,h[16+(d*12|0)+6>>0]|0,c,f[16+(d*12|0)+8>>2]|0,0,0)|0;d=d+1|0}while((d|0)!=40);nq(a,39889,1,1,0,0,187,95)|0;nq(a,39895,1,1,0,0,187,96)|0;nq(a,55166,1,1,0,0,188,97)|0;nq(a,39904,1,1,0,0,188,98)|0;nq(a,39911,1,1,0,0,188,99)|0;nq(a,39926,1,1,0,0,188,100)|0;return 0}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,378,39973);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+N(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,379,39982);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+O(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,380,39991);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+P(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;if((b|0)!=2)qa(4e4,39949,570,40008);if((tp(f[c>>2]|0)|0)!=5?(d=c+4|0,(tp(f[d>>2]|0)|0)!=5):0){e=+qp(f[c>>2]|0);up(a,+Q(+e,+(+qp(f[d>>2]|0))));return}yp(a);return}function Eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,394,40017);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+zA(d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,402,40027);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+BA(d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,410,40037);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+xA(d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Hb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;k=o+8|0;j=o;if((c|0)!=2)qa(4e4,39949,1680,40047);if((tp(f[d>>2]|0)|0)!=5?(e=d+4|0,(tp(f[e>>2]|0)|0)!=5):0){g=op(f[d>>2]|0)|0;i=op(f[e>>2]|0)|0;c=b[g>>0]|0;a:do if(!(c<<24>>24))n=17;else{d=0;while(1){c=c&255;if(qz(c)|0)break;d=d+1|0;c=b[g+d>>0]|0;if(!(c<<24>>24)){n=17;break a}}c=(rz(c)|0)&255;b[k>>0]=c;c=1;while(1){e=b[g+d>>0]|0;if(!(e<<24>>24)){n=15;break}e=b[496+(e&127)>>0]|0;if(e<<24>>24){b[k+c>>0]=(e&255)+48;c=c+1|0}if((c|0)<4)d=d+1|0;else break}if((n|0)==15)_A(k+c|0,48,4-c|0)|0;b[k+4>>0]=0}while(0);if((n|0)==17){b[k>>0]=b[40062]|0;b[k+1>>0]=b[40063]|0;b[k+2>>0]=b[40064]|0;b[k+3>>0]=b[40065]|0;b[k+4>>0]=b[40066]|0}c=b[i>>0]|0;b:do if(!(c<<24>>24))n=29;else{d=0;while(1){c=c&255;if(qz(c)|0)break;d=d+1|0;c=b[i+d>>0]|0;if(!(c<<24>>24)){n=29;break b}}c=(rz(c)|0)&255;b[j>>0]=c;c=1;while(1){e=b[i+d>>0]|0;if(!(e<<24>>24)){n=27;break}e=b[496+(e&127)>>0]|0;if(e<<24>>24){b[j+c>>0]=(e&255)+48;c=c+1|0}if((c|0)<4)d=d+1|0;else break}if((n|0)==27)_A(j+c|0,48,4-c|0)|0;b[j+4>>0]=0}while(0);if((n|0)==29){b[j>>0]=b[40062]|0;b[j+1>>0]=b[40063]|0;b[j+2>>0]=b[40064]|0;b[j+3>>0]=b[40065]|0;b[j+4>>0]=b[40066]|0}e=j;m=0;d=0;g=k;c=b[k>>0]|0;while(1){i=g+1|0;c=c&255;l=b[624+c>>0]|0;k=l&255;switch(l<<24>>24){case 4:{l=65533;break}case 3:{j=g+2|0;c=(c<<6)+(h[i>>0]|0)|0;n=34;break}case 2:{j=i;n=34;break}case 1:{n=35;break}default:l=c}if((n|0)==34){i=j+1|0;c=(c<<6)+(h[j>>0]|0)|0;n=35}if((n|0)==35){n=0;l=(c<<6)+(h[i>>0]|0)-(f[880+(k<<2)>>2]|0)|0;l=(l&-2|0)==65534|((l&-2048|0)==55296?1:(l&f[896+(k<<2)>>2]|0)==0)?65533:l}i=e+1|0;c=h[e>>0]|0;j=b[624+c>>0]|0;k=j&255;switch(j<<24>>24){case 4:{c=65533;break}case 3:{j=e+2|0;c=(c<<6)+(h[i>>0]|0)|0;n=39;break}case 2:{j=i;n=39;break}case 1:{n=40;break}default:{}}if((n|0)==39){i=j+1|0;c=(c<<6)+(h[j>>0]|0)|0;n=40}if((n|0)==40){n=0;c=(c<<6)+(h[i>>0]|0)-(f[880+(k<<2)>>2]|0)|0;c=(c&-2|0)==65534|((c&-2048|0)==55296?1:(c&f[896+(k<<2)>>2]|0)==0)?65533:c}c=(l|0)==(c|0)&1;do{g=g+1|0;i=b[g>>0]|0}while((i&-64)<<24>>24==-128);do e=e+1|0;while((b[e>>0]&-64)<<24>>24==-128);d=d+c|0;c=m+1|0;if((c|0)==4)break;else{m=c;c=i}}wp(a,d);t=o;return}yp(a);t=o;return}function Ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,498,40067);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,d*180.0/3.141592653589793);return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,499,40079);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,d*3.141592653589793/180.0);return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,420,40091);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+K(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,419,40099);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+L(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,421,40107);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+M(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,422,40115);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,1.0/+M(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,446,40123);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+aA(d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,438,40132);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+bA(d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Qb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,454,40141);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+AA(d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Rb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,456,40150);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,1.0/+AA(d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Sb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,474,40159);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+R(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,472,40167);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+S(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,473,40175);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+Xa(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0;if((b|0)!=2)qa(4e4,39949,546,40185);if((tp(f[c>>2]|0)|0)!=5?(g=c+4|0,(tp(f[g>>2]|0)|0)!=5):0){e=+qp(f[c>>2]|0);d=+qp(f[g>>2]|0);g=mz()|0;f[g>>2]=0;g=mz()|0;if(!(f[g>>2]|0)){up(a,+J(+e,+d));return}else{c=mz()|0;c=Dz(f[c>>2]|0)|0;g=mz()|0;vp(a,c,f[g>>2]|0);return}}yp(a);return}function Wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;if((b|0)!=1)qa(39941,39949,590,40195);switch(tp(f[c>>2]|0)|0){case 1:{d=sp(f[c>>2]|0)|0;c=ba()|0;b=(c|0)>0|(c|0)==0&d>>>0>0;c=((d|0)!=0|(c|0)!=0)<<31>>31;xp(a,b?1:c,b?0:((c|0)<0)<<31>>31);return}case 5:{yp(a);return}default:{e=+qp(f[c>>2]|0);up(a,e>0.0?1.0:+((e<0.0)<<31>>31));return}}}function Xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,375,40204);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+I(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,514,40213);switch(tp(f[c>>2]|0)|0){case 1:{b=sp(f[c>>2]|0)|0;c=ba()|0;xp(a,QA(b|0,c|0,b|0,c|0)|0,ba()|0);return}case 5:{yp(a);return}default:{d=+qp(f[c>>2]|0);up(a,d*d);return}}}function Zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,620,40224);switch(tp(f[c>>2]|0)|0){case 1:{xp(a,sp(f[c>>2]|0)|0,ba()|0);return}case 5:{yp(a);return}default:{d=+T(+(+qp(f[c>>2]|0)));xp(a,~~d>>>0,+H(d)>=1.0?(d>0.0?~~+V(+G(d/4294967296.0),4294967295.0)>>>0:~~+T((d-+(~~d>>>0))/4294967296.0)>>>0):0);return}}}function _b(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,645,40233);switch(tp(f[c>>2]|0)|0){case 1:{xp(a,sp(f[c>>2]|0)|0,ba()|0);return}case 5:{yp(a);return}default:{d=+G(+(+qp(f[c>>2]|0)));xp(a,~~d>>>0,+H(d)>=1.0?(d>0.0?~~+V(+G(d/4294967296.0),4294967295.0)>>>0:~~+T((d-+(~~d>>>0))/4294967296.0)>>>0):0);return}}}function $b(a,b,c){a=a|0;b=b|0;c=c|0;up(a,3.141592653589793);return}function ac(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if((b|0)!=2)return;if((tp(f[c>>2]|0)|0)==5)return;j=sp(f[c+4>>2]|0)|0;e=ba()|0;if((e|0)<0){vp(a,40243,-1);return}g=pp(f[c>>2]|0)|0;h=Fd((U(g,j)|0)+1|0)|0;i=Fd(g+1|0)|0;b=(h|0)!=0;d=(i|0)!=0;if(b&d){Oz(i,op(f[c>>2]|0)|0)|0;if((e|0)>0|(e|0)==0&j>>>0>0){b=0;d=0;do{Oz(h+(U(g,b)|0)|0,i)|0;b=KA(b|0,d|0,1,0)|0;d=ba()|0}while((d|0)<(e|0)|(d|0)==(e|0)&b>>>0>>0)}Ap(a,h,-1,-1);he(h);he(i);return}Bp(a);if(b)he(h);if(!d)return;he(i);return}function bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=(b|0)==3;if((b|1|0)!=3)qa(40256,39949,1038,40274);if((tp(f[c>>2]|0)|0)!=5?(d=c+4|0,(tp(f[d>>2]|0)|0)!=5):0){e=op(f[c>>2]|0)|0;if(!e)return;d=op(f[d>>2]|0)|0;if(g){b=(rp(f[c+8>>2]|0)|0)+-1|0;b=(b|0)>0?b:0}else b=0;wp(a,(wc(e,d,b)|0)+1|0);return}yp(a);return}function cc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((c|0)!=2)qa(4e4,39949,1073,40288);if((tp(f[d>>2]|0)|0)!=5?(e=d+4|0,(tp(f[e>>2]|0)|0)!=5):0){n=op(f[d>>2]|0)|0;k=rp(f[e>>2]|0)|0;j=0;i=n;c=b[n>>0]|0;while(1){e=i+1|0;c=c&255;d=b[624+c>>0]|0;g=d&255;switch(d<<24>>24){case 4:break;case 3:{d=i+2|0;c=(c<<6)+(h[e>>0]|0)|0;q=10;break}case 2:{d=e;q=10;break}case 1:{m=e;l=c;q=11;break}default:{p=c;q=12}}if((q|0)==10){m=d+1|0;l=(c<<6)+(h[d>>0]|0)|0;q=11}if((q|0)==11?(q=0,o=(l<<6)+(h[m>>0]|0)-(f[880+(g<<2)>>2]|0)|0,!((o&-2|0)==65534|((o&-2048|0)==55296?1:(o&f[896+(g<<2)>>2]|0)==0))):0){p=o;q=12}if((q|0)==12?(q=0,(p|0)==0):0)break;d=j+1|0;if((j|0)>=(k|0))break;c=i;do{c=c+1|0;e=b[c>>0]|0}while((e&-64)<<24>>24==-128);j=d;i=c;c=e}c=i-n|0;d=Fd(c+1|0)|0;if(!d){Bp(a);return}else{fA(d,n,c)|0;b[d+c>>0]=0;Ap(a,d,-1,-1);he(d);return}}yp(a);return}function dc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((c|0)!=2)qa(4e4,39949,1113,40297);if((tp(f[d>>2]|0)|0)!=5?(e=d+4|0,(tp(f[e>>2]|0)|0)!=5):0){d=op(f[d>>2]|0)|0;k=rp(f[e>>2]|0)|0;j=0;q=d;c=b[d>>0]|0;while(1){g=q+1|0;c=c&255;e=b[624+c>>0]|0;i=e&255;switch(e<<24>>24){case 4:break;case 3:{e=q+2|0;c=(c<<6)+(h[g>>0]|0)|0;p=9;break}case 2:{e=g;p=9;break}case 1:{m=g;l=c;p=10;break}default:{o=c;p=11}}if((p|0)==9){m=e+1|0;l=(c<<6)+(h[e>>0]|0)|0;p=10}if((p|0)==10?(p=0,n=(l<<6)+(h[m>>0]|0)-(f[880+(i<<2)>>2]|0)|0,!((n&-2|0)==65534|((n&-2048|0)==55296?1:(n&f[896+(i<<2)>>2]|0)==0))):0){o=n;p=11}if((p|0)==11?(p=0,(o|0)==0):0)break;c=q;do{c=c+1|0;e=b[c>>0]|0}while((e&-64)<<24>>24==-128);j=j+1|0;q=c;c=e}c=j-k|0;if((c|0)>0)while(1){do d=d+1|0;while((b[d>>0]&-64)<<24>>24==-128);if((c|0)>1)c=c+-1|0;else break}c=Fd(q+1-d|0)|0;if(!c){Bp(a);return}else{Oz(c,d)|0;Ap(a,c,-1,-1);he(c);return}}yp(a);return}function ec(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c|0)!=1)qa(40307,39949,1323,40315);if((tp(f[d>>2]|0)|0)==5){yp(a);return}c=op(f[d>>2]|0)|0;d=wz(c)|0;l=Fd(d+1|0)|0;if(!l){Bp(a);return}j=l+d|0;b[j>>0]=0;j=j+-1|0;a:while(1){while(1){g=c+1|0;d=h[c>>0]|0;e=b[624+d>>0]|0;i=e&255;switch(e<<24>>24){case 4:break;case 3:{e=c+2|0;d=(d<<6)+(h[g>>0]|0)|0;p=12;break}case 2:{e=g;p=12;break}case 1:{m=g;k=d;p=13;break}default:{o=d;p=14}}if((p|0)==12){m=e+1|0;k=(d<<6)+(h[e>>0]|0)|0;p=13}if((p|0)==13?(p=0,n=(k<<6)+(h[m>>0]|0)-(f[880+(i<<2)>>2]|0)|0,!((n&-2|0)==65534|((n&-2048|0)==55296?1:(n&f[896+(i<<2)>>2]|0)==0))):0){o=n;p=14}if((p|0)==14?(p=0,(o|0)==0):0)break a;d=c;while(1){i=d+1|0;if((b[i>>0]&-64)<<24>>24==-128)d=i;else break}if(d>>>0>>0)c=i;else break}g=1;e=j;while(1){j=e;e=e+-1|0;b[j>>0]=b[d>>0]|0;d=i+~g|0;if(d>>>0>>0)break;else g=g+1|0}j=e;c=i}Ap(a,l,-1,-1);he(l);return}function fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((c|0)!=1)qa(39941,39949,724,40327);if((tp(f[d>>2]|0)|0)==5){yp(a);return}e=op(f[d>>2]|0)|0;c=Fd((wz(e)|0)+1|0)|0;i=Oz(c,e)|0;if(!i){Bp(a);return}d=b[e>>0]|0;if(d<<24>>24){h=1;g=d<<24>>24;while(1){e=e+1|0;if(!(oz(g)|0)){if((h|0)==1)d=rz(g)|0;else d=vz(g)|0;h=0;d=d&255}else h=1;g=c+1|0;b[c>>0]=d;d=b[e>>0]|0;if(!(d<<24>>24)){c=g;break}else{c=g;g=d<<24>>24}}}b[c>>0]=0;Ap(a,i,-1,-1);he(i);return}function gc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;if((c|0)!=2)qa(4e4,39949,771,40338);if((tp(f[d>>2]|0)|0)==5){yp(a);return}l=op(f[d>>2]|0)|0;j=sp(f[d+4>>2]|0)|0;k=ba()|0;if((k|0)<0){vp(a,40243,-1);return}c=b[l>>0]|0;if((l|0)==(-1|0)|c<<24>>24==0)d=0;else{d=0;e=l;do{e=e+((h[624+(c&255)>>0]|0)+1)|0;d=d+1|0;c=b[e>>0]|0}while(!(c<<24>>24==0|(e|0)==(-1|0)))}i=((d|0)<0)<<31>>31;do if((k|0)>(i|0)|(k|0)==(i|0)&j>>>0>d>>>0){c=Fd(j+1-d+(wz(l)|0)|0)|0;if(!c){Bp(a);return}e=1;g=c;do{m=g;g=g+1|0;b[m>>0]=32;e=e+1|0;m=KA(e|0,0,d|0,i|0)|0;n=ba()|0}while(!((n|0)>(k|0)|(n|0)==(k|0)&m>>>0>j>>>0));Oz(g,l)|0}else{c=Fd((wz(l)|0)+1|0)|0;d=Oz(c,l)|0;if(d|0){Ap(a,d,-1,-1);break}Bp(a);return}while(0);Ap(a,c,-1,-1);he(c);return}function hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0;if((c|0)!=2)qa(4e4,39949,825,40347);if((tp(f[d>>2]|0)|0)==5){yp(a);return}g=op(f[d>>2]|0)|0;j=sp(f[d+4>>2]|0)|0;k=ba()|0;if((k|0)<0){vp(a,40243,-1);return}c=b[g>>0]|0;if((g|0)==(-1|0)|c<<24>>24==0)d=0;else{d=0;e=g;do{e=e+((h[624+(c&255)>>0]|0)+1)|0;d=d+1|0;c=b[e>>0]|0}while(!(c<<24>>24==0|(e|0)==(-1|0)))}i=((d|0)<0)<<31>>31;do if((k|0)>(i|0)|(k|0)==(i|0)&j>>>0>d>>>0){e=wz(g)|0;c=Fd(j+1-d+e|0)|0;if(!c){Bp(a);return}Oz(c,g)|0;g=1;e=c+e|0;do{l=e;e=e+1|0;b[l>>0]=32;g=g+1|0;l=KA(g|0,0,d|0,i|0)|0;m=ba()|0}while(!((m|0)>(k|0)|(m|0)==(k|0)&l>>>0>j>>>0));b[e>>0]=0}else{c=Fd((wz(g)|0)+1|0)|0;d=Oz(c,g)|0;if(d|0){Ap(a,d,-1,-1);break}Bp(a);return}while(0);Ap(a,c,-1,-1);he(c);return}function ic(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((c|0)!=2)qa(4e4,39949,880,40356);if((tp(f[d>>2]|0)|0)==5){yp(a);return}l=op(f[d>>2]|0)|0;m=sp(f[d+4>>2]|0)|0;n=ba()|0;if((n|0)<0){vp(a,40243,-1);return}c=b[l>>0]|0;if((l|0)==(-1|0)|c<<24>>24==0)j=0;else{d=0;e=l;do{e=e+((h[624+(c&255)>>0]|0)+1)|0;d=d+1|0;c=b[e>>0]|0}while(!(c<<24>>24==0|(e|0)==(-1|0)));j=d}k=((j|0)<0)<<31>>31;do if((n|0)>(k|0)|(n|0)==(k|0)&m>>>0>j>>>0){i=wz(l)|0;c=Fd(m+1-j+i|0)|0;if(!c){Bp(a);return}g=KA(j|0,k|0,2,0)|0;e=ba()|0;if((e|0)>(n|0)|(e|0)==(n|0)&g>>>0>m>>>0){d=c;g=1}else{g=1;e=c;while(1){d=e+1|0;b[e>>0]=32;g=g+1|0;e=KA(g<<1|0,0,j|0,k|0)|0;o=ba()|0;if((o|0)>(n|0)|(o|0)==(n|0)&e>>>0>m>>>0)break;else e=d}}Oz(d,l)|0;d=d+i|0;o=KA(g|0,0,j|0,k|0)|0;l=ba()|0;if(!((l|0)>(n|0)|(l|0)==(n|0)&o>>>0>m>>>0))while(1){e=d+1|0;b[d>>0]=32;g=g+1|0;o=KA(g|0,0,j|0,k|0)|0;l=ba()|0;if((l|0)>(n|0)|(l|0)==(n|0)&o>>>0>m>>>0){d=e;break}else d=e}b[d>>0]=0}else{c=Fd((wz(l)|0)+1|0)|0;d=Oz(c,l)|0;if(d|0){Ap(a,d,-1,-1);break}Bp(a);return}while(0);Ap(a,c,-1,-1);he(c);return}function jc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((c|0)!=2)qa(4e4,39949,939,40365);if((tp(f[d>>2]|0)|0)!=5?(e=d+4|0,(tp(f[e>>2]|0)|0)!=5):0){c=op(f[d>>2]|0)|0;m=op(f[e>>2]|0)|0;n=Fd((wz(c)|0)+1|0)|0;if(!n){Bp(a);return}l=n;d=c;c=b[c>>0]|0;while(1){e=d+1|0;c=c&255;k=b[624+c>>0]|0;i=k&255;switch(k<<24>>24){case 4:{c=65533;break}case 3:{g=d+2|0;c=(c<<6)+(h[e>>0]|0)|0;o=12;break}case 2:{g=e;o=12;break}case 1:{o=13;break}default:o=14}if((o|0)==12){e=g+1|0;c=(c<<6)+(h[g>>0]|0)|0;o=13}if((o|0)==13){o=0;c=(c<<6)+(h[e>>0]|0)-(f[880+(i<<2)>>2]|0)|0;if((c&-2|0)==65534|((c&-2048|0)==55296?1:(c&f[896+(i<<2)>>2]|0)==0))c=65533;else o=14}if((o|0)==14){o=0;if(!c)break}e=m;g=b[m>>0]|0;while(1){j=e+1|0;i=g&255;g=b[624+i>>0]|0;k=g&255;switch(g<<24>>24){case 4:{i=65533;break}case 3:{g=e+2|0;i=(i<<6)+(h[j>>0]|0)|0;o=20;break}case 2:{g=j;o=20;break}case 1:{o=21;break}default:{}}if((o|0)==20){j=g+1|0;i=(i<<6)+(h[g>>0]|0)|0;o=21}if((o|0)==21){o=0;i=(i<<6)+(h[j>>0]|0)-(f[880+(k<<2)>>2]|0)|0;i=(i&-2|0)==65534|((i&-2048|0)==55296?1:(i&f[896+(k<<2)>>2]|0)==0)?65533:i}g=(i|0)!=0;if((i|0)==(c|0)|g^1)break;do{e=e+1|0;g=b[e>>0]|0}while((g&-64)<<24>>24==-128)}if(g){c=e;do c=c+1|0;while((b[c>>0]&-64)<<24>>24==-128);c=c-e|0;fA(l,e,c)|0;c=l+c|0}else c=l;do{d=d+1|0;e=b[d>>0]|0}while((e&-64)<<24>>24==-128);l=c;c=e}b[l>>0]=0;Ap(a,n,-1,-1);he(n);return}yp(a);return}function kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0.0,h=0,i=0,j=0;if((b|0)!=1)qa(39941,39949,1395,40379);a=Cp(a,24)|0;if((Vp(f[c>>2]|0)|0)==5)return;b=a+16|0;j=b;j=KA(f[j>>2]|0,f[j+4>>2]|0,1,0)|0;i=ba()|0;h=b;f[h>>2]=j;f[h+4>>2]=i;e=+qp(f[c>>2]|0);d=+p[a>>3];g=e-d;c=b;d=d+g/(+((f[c>>2]|0)>>>0)+4294967296.0*+(f[c+4>>2]|0));p[a>>3]=d;c=a+8|0;p[c>>3]=+p[c>>3]+g*(e-d);return}function lc(a){a=a|0;var b=0,c=0,d=0,e=0.0;b=Cp(a,0)|0;if(b|0?(d=b+16|0,c=f[d>>2]|0,d=f[d+4>>2]|0,(d|0)>0|(d|0)==0&c>>>0>1):0){e=+p[b+8>>3];d=KA(c|0,d|0,-1,-1)|0;up(a,+I(+(e/(+(d>>>0)+4294967296.0*+(ba()|0)))));return}up(a,0.0);return}function mc(a){a=a|0;var b=0,c=0,d=0,e=0.0;b=Cp(a,0)|0;if(b|0?(d=b+16|0,c=f[d>>2]|0,d=f[d+4>>2]|0,(d|0)>0|(d|0)==0&c>>>0>1):0){e=+p[b+8>>3];d=KA(c|0,d|0,-1,-1)|0;up(a,e/(+(d>>>0)+4294967296.0*+(ba()|0)));return}up(a,0.0);return}function nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;if((b|0)!=1)qa(39941,39949,1418,40392);d=Vp(f[c>>2]|0)|0;if((d|0)==5)return;a=Cp(a,64)|0;g=a+56|0;do if(!(f[g>>2]|0)){b=fz(1,12)|0;f[g>>2]=b;if((d|0)==1){f[b>>2]=0;f[b+4>>2]=137;b=a+48|0;f[b>>2]=0;f[b+4>>2]=0;b=a+16|0;a=b;a=KA(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;d=ba()|0;f[b>>2]=a;f[b+4>>2]=d;b=f[c>>2]|0;break}else{e=a+48|0;d=e;f[d>>2]=1;f[d+4>>2]=0;f[b>>2]=0;f[b+4>>2]=138;b=e;e=9;break}}else{b=a+48|0;e=9}while(0);if((e|0)==9){e=b;d=f[e>>2]|0;e=f[e+4>>2]|0;b=a+16|0;h=b;h=KA(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;a=ba()|0;f[b>>2]=h;f[b+4>>2]=a;b=f[c>>2]|0;if(!((d|0)==0&(e|0)==0)){i=+qp(b);c=fz(1,8)|0;p[c>>3]=i;b=f[g>>2]|0;d=f[b+4>>2]|0;a=f[b>>2]|0;a:do if(a){while(1){a=jb[d&255](f[a+8>>2]|0,c)|0;if(!a)break;b=f[b>>2]|0;b=(a|0)>0?b:b+4|0;a=f[b>>2]|0;if(!a)break a}h=(f[b>>2]|0)+16|0;e=h;e=KA(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;g=ba()|0;f[h>>2]=e;f[h+4>>2]=g;ez(c);return}while(0);h=fz(1,24)|0;f[h+8>>2]=c;g=h+16|0;f[g>>2]=1;f[g+4>>2]=0;f[b>>2]=h;return}}a=sp(b)|0;d=ba()|0;c=fz(1,8)|0;b=c;f[b>>2]=a;f[b+4>>2]=d;b=f[g>>2]|0;d=f[b+4>>2]|0;a=f[b>>2]|0;b:do if(a){while(1){a=jb[d&255](f[a+8>>2]|0,c)|0;if(!a)break;b=f[b>>2]|0;b=(a|0)>0?b:b+4|0;a=f[b>>2]|0;if(!a)break b}h=(f[b>>2]|0)+16|0;e=h;e=KA(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;g=ba()|0;f[h>>2]=e;f[h+4>>2]=g;ez(c);return}while(0);h=fz(1,24)|0;f[h+8>>2]=c;g=h+16|0;f[g>>2]=1;f[g+4>>2]=0;f[b>>2]=h;return}function oc(a){a=a|0;var b=0,c=0,d=0;b=Cp(a,0)|0;if(!b)return;c=b+56|0;d=f[c>>2]|0;if(!d)return;sc(f[d>>2]|0,67,b);tc(f[f[c>>2]>>2]|0);ez(f[c>>2]|0);d=b+40|0;if(!((f[d>>2]|0)==1&(f[d+4>>2]|0)==0))return;d=b+48|0;if((f[d>>2]|0)==0&(f[d+4>>2]|0)==0){d=b;xp(a,f[d>>2]|0,f[d+4>>2]|0);return}else{up(a,+p[b+8>>3]);return}}function pc(a){a=a|0;var b=0,c=0;b=Cp(a,0)|0;if(!b)return;c=b+16|0;p[b+24>>3]=(+((f[c>>2]|0)>>>0)+4294967296.0*+(f[c+4>>2]|0))*.5;yc(a);return}function qc(a){a=a|0;var b=0,c=0;b=Cp(a,0)|0;if(!b)return;c=b+16|0;p[b+24>>3]=(+((f[c>>2]|0)>>>0)+4294967296.0*+(f[c+4>>2]|0))*.25;yc(a);return}function rc(a){a=a|0;var b=0,c=0.0,d=0;b=Cp(a,0)|0;if(!b)return;d=b+16|0;d=QA(f[d>>2]|0,f[d+4>>2]|0,3,0)|0;c=(+(d>>>0)+4294967296.0*+(ba()|0))*.25;p[b+24>>3]=c;yc(a);return}function sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!a)return;do{d=f[a>>2]|0;if(d|0)sc(d,b,c);d=a+16|0;rb[b&127](f[a+8>>2]|0,f[d>>2]|0,f[d+4>>2]|0,c);a=f[a+4>>2]|0}while((a|0)!=0);return}function tc(a){a=a|0;var b=0;if(!a)return;ez(f[a+8>>2]|0);b=f[a>>2]|0;if(b|0)tc(b);b=f[a+4>>2]|0;if(b|0)tc(b);ez(a);return}function uc(a,b){a=a|0;b=b|0;var c=0,d=0;d=a;a=f[d>>2]|0;d=f[d+4>>2]|0;c=b;b=f[c>>2]|0;c=f[c+4>>2]|0;return ((a|0)==(b|0)&(d|0)==(c|0)?0:(d|0)<(c|0)|(d|0)==(c|0)&a>>>0>>0?-1:1)|0}function vc(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+p[a>>3];c=+p[b>>3];return (d==c?0:d>0]|0;if(!(t<<24>>24)){w=-1;return w|0}e=c;n=0;l=b[c>>0]|0;while(1){j=e+1|0;c=l&255;i=b[624+c>>0]|0;k=i&255;switch(i<<24>>24){case 4:break;case 3:{g=e+2|0;c=(c<<6)+(h[j>>0]|0)|0;w=6;break}case 2:{g=j;w=6;break}case 1:{o=j;m=c;w=7;break}default:{q=c;w=8}}if((w|0)==6){o=g+1|0;m=(c<<6)+(h[g>>0]|0)|0;w=7}if((w|0)==7?(w=0,p=(m<<6)+(h[o>>0]|0)-(f[880+(k<<2)>>2]|0)|0,!((p&-2|0)==65534|((p&-2048|0)==55296?1:(p&f[896+(k<<2)>>2]|0)==0))):0){q=p;w=8}if((w|0)==8?(w=0,(q|0)==0):0)break;g=n+1|0;if((n|0)>=(d|0))break;do{e=e+1|0;c=b[e>>0]|0}while((c&-64)<<24>>24==-128);n=g;l=c}c=0;while(1){j=e+1|0;g=l&255;k=i&255;switch(i<<24>>24){case 4:break;case 3:{i=e+2|0;g=(g<<6)+(h[j>>0]|0)|0;w=15;break}case 2:{i=j;w=15;break}case 1:{s=j;r=g;w=16;break}default:{v=g;w=17}}if((w|0)==15){s=i+1|0;r=(g<<6)+(h[i>>0]|0)|0;w=16}if((w|0)==16?(w=0,u=(r<<6)+(h[s>>0]|0)-(f[880+(k<<2)>>2]|0)|0,!((u&-2|0)==65534|((u&-2048|0)==55296?1:(u&f[896+(k<<2)>>2]|0)==0))):0){v=u;w=17}if((w|0)==17?(w=0,(v|0)==0):0){c=-1;d=0;break}i=e;j=a;n=l;g=t;while(1){k=j+1|0;g=g&255;q=b[624+g>>0]|0;m=q&255;switch(q<<24>>24){case 4:{o=65533;break}case 3:{l=j+2|0;g=(g<<6)+(h[k>>0]|0)|0;w=22;break}case 2:{l=k;w=22;break}case 1:{w=23;break}default:o=g}if((w|0)==22){k=l+1|0;g=(g<<6)+(h[l>>0]|0)|0;w=23}if((w|0)==23){w=0;o=(g<<6)+(h[k>>0]|0)-(f[880+(m<<2)>>2]|0)|0;o=(o&-2|0)==65534|((o&-2048|0)==55296?1:(o&f[896+(m<<2)>>2]|0)==0)?65533:o}k=i+1|0;g=n&255;q=b[624+g>>0]|0;m=q&255;switch(q<<24>>24){case 4:{l=65533;break}case 3:{l=i+2|0;g=(g<<6)+(h[k>>0]|0)|0;w=27;break}case 2:{l=k;w=27;break}case 1:{w=28;break}default:l=g}if((w|0)==27){k=l+1|0;g=(g<<6)+(h[l>>0]|0)|0;w=28}if((w|0)==28){w=0;l=(g<<6)+(h[k>>0]|0)-(f[880+(m<<2)>>2]|0)|0;l=(l&-2|0)==65534|((l&-2048|0)==55296?1:(l&f[896+(m<<2)>>2]|0)==0)?65533:l}do{j=j+1|0;g=b[j>>0]|0}while((g&-64)<<24>>24==-128);do{i=i+1|0;k=b[i>>0]|0}while((k&-64)<<24>>24==-128);if((l|0)!=0&((o|0)!=0&(o|0)==(l|0)))n=k;else break}if(!o)break;do{e=e+1|0;g=b[e>>0]|0}while((g&-64)<<24>>24==-128);c=c+1|0;l=g;i=b[624+(g&255)>>0]|0}w=d+c|0;return w|0}function xc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0.0;h=d+48|0;if((f[h>>2]|0)==0&(f[h+4>>2]|0)==0){a=f[a>>2]|0;e=d+32|0;h=e;g=f[h>>2]|0;h=f[h+4>>2]|0;if((g|0)==(b|0)&(h|0)==(c|0)){d=d+40|0;b=d;b=KA(f[b>>2]|0,f[b+4>>2]|0,1,0)|0;c=ba()|0;f[d>>2]=b;f[d+4>>2]=c;return}if(!((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0))return;h=d;f[h>>2]=a;f[h+4>>2]=((a|0)<0)<<31>>31;h=e;f[h>>2]=b;f[h+4>>2]=c;d=d+40|0;f[d>>2]=1;f[d+4>>2]=0;return}else{i=+p[a>>3];a=d+32|0;g=a;e=f[g>>2]|0;g=f[g+4>>2]|0;if((e|0)==(b|0)&(g|0)==(c|0)){d=d+40|0;b=d;b=KA(f[b>>2]|0,f[b+4>>2]|0,1,0)|0;c=ba()|0;f[d>>2]=b;f[d+4>>2]=c;return}if(!((g|0)<(c|0)|(g|0)==(c|0)&e>>>0>>0))return;p[d+8>>3]=i;h=a;f[h>>2]=b;f[h+4>>2]=c;d=d+40|0;f[d>>2]=1;f[d+4>>2]=0;return}}function yc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;d=Cp(a,0)|0;if(!d)return;b=d+56|0;c=f[b>>2]|0;if(!c)return;f[d+60>>2]=0;sc(f[c>>2]|0,68,d);tc(f[f[b>>2]>>2]|0);ez(f[b>>2]|0);g=d+48|0;if(!((f[g>>2]|0)==0&(f[g+4>>2]|0)==0)){g=d+40|0;up(a,+p[d+8>>3]/(+((f[g>>2]|0)>>>0)+4294967296.0*+(f[g+4>>2]|0)));return}g=d+40|0;e=f[g>>2]|0;g=f[g+4>>2]|0;c=d;b=f[c>>2]|0;c=f[c+4>>2]|0;if((e|0)==1&(g|0)==0){xp(a,b,c);return}else{up(a,(+(b>>>0)+4294967296.0*+(c|0))/(+(e>>>0)+4294967296.0*+(g|0)));return}}function zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0.0;k=d+60|0;if((f[k>>2]|0)>0)return;l=+p[d+24>>3];g=d+16|0;e=f[g>>2]|0;g=f[g+4>>2]|0;h=d+32|0;j=h;i=f[j>>2]|0;j=f[j+4>>2]|0;b=KA(i|0,j|0,b|0,c|0)|0;c=ba()|0;do if(l<=+(b|0)){j=LA(e|0,g|0,i|0,j|0)|0;ba()|0;if(!(+(e>>>0)+4294967296.0*+(g|0)-l<=+(j|0))){f[k>>2]=1;break}k=d+40|0;i=k;i=KA(f[i>>2]|0,f[i+4>>2]|0,1,0)|0;j=ba()|0;f[k>>2]=i;f[k+4>>2]=j;k=d+48|0;if((f[k>>2]|0)==0&(f[k+4>>2]|0)==0){i=f[a>>2]|0;j=d;i=KA(f[j>>2]|0,f[j+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;j=ba()|0;k=d;f[k>>2]=i;f[k+4>>2]=j;break}else{k=d+8|0;p[k>>3]=+p[a>>3]+ +p[k>>3];break}}while(0);k=h;f[k>>2]=b;f[k+4>>2]=c;return}function Ac(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=t;t=t+256|0;k=l+232|0;g=l;if(!(f[9391]|0)){t=l;return}f[g>>2]=e;i=k+4|0;f[i>>2]=l+16;f[k>>2]=0;f[k+8>>2]=210;j=k+12|0;h=k+21|0;f[j>>2]=0;f[j+4>>2]=0;d[j+8>>1]=0;Bc(k,c,g);c=f[9391]|0;g=f[9392]|0;e=f[i>>2]|0;if(((e|0)!=0?(b[e+(f[k+16>>2]|0)>>0]=0,(f[j>>2]|0)!=0):0)?(b[h>>0]&4)==0:0)e=Cc(k)|0;else e=f[i>>2]|0;qb[c&255](g,a,e);t=l;return}function Bc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0.0,q=0.0,r=0.0,s=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0;ca=t;t=t+96|0;S=ca+80|0;T=ca+72|0;U=ca;V=a+21|0;if(!(b[V>>0]&2)){I=1;J=0}else{I=(f[e>>2]|0)+(4-1)&~(4-1);J=f[I>>2]|0;f[e>>2]=I+4;I=0}_=a+16|0;$=a+8|0;aa=a+4|0;L=J+4|0;M=J+8|0;N=U+1|0;O=U+2|0;P=U+3|0;Q=a+12|0;R=a+20|0;g=0;a:while(1){switch(b[c>>0]|0){case 0:{E=403;break a}case 37:break;default:{g=c;b:while(1){l=g+1|0;switch(b[l>>0]|0){case 37:case 0:break b;default:g=l}}g=l-c|0;i=f[_>>2]|0;k=i+g|0;if(k>>>0<(f[$>>2]|0)>>>0){if(g|0){f[_>>2]=k;YA((f[aa>>2]|0)+i|0,c|0,g|0)|0}}else Ec(a,c,g);if(!(b[l>>0]|0)){E=403;break a}else{g=c;c=l}}}i=c+1|0;c=b[i>>0]|0;if(!(c<<24>>24)){E=13;break}c=c<<24>>24;l=0;m=0;x=0;u=0;w=0;v=0;c:while(1){switch(c|0){case 42:{E=25;break c}case 45:{l=1;n=x;break}case 43:{m=43;n=x;break}case 32:{m=32;n=x;break}case 35:{n=1;break}case 33:{n=x;u=1;break}case 48:{n=x;w=1;break}case 44:{n=x;v=44;break}default:{E=37;break c}}i=i+1|0;c=b[i>>0]|0;if(!(c<<24>>24)){k=0;x=n;c=0;E=41;break}else{c=c<<24>>24;x=n}}if((E|0)==25){do if(!I){c=f[L>>2]|0;if((f[J>>2]|0)>(c|0)){k=f[M>>2]|0;f[L>>2]=c+1;c=f[k+(c<<2)>>2]|0;k=j[c+8>>1]|0;if(k&4|0){c=f[c>>2]|0;E=34;break}if(k&8|0){c=Fc(+p[c>>3])|0;ba()|0;E=34;break}if(k&18){c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0;E=34}else{c=0;E=35}}else{c=0;E=35}}else{E=(f[e>>2]|0)+(4-1)&~(4-1);c=f[E>>2]|0;f[e>>2]=E+4;E=34}while(0);if((E|0)==34){E=0;if((c|0)<0){l=1;c=(c|0)==-2147483648?0:0-c|0}else E=35}if((E|0)==35)E=0;i=i+1|0;n=m;F=c;c=b[i>>0]|0;H=l}else if((E|0)==37)if((c+-48|0)>>>0<10){k=0;do{k=c+-48+(k*10|0)|0;i=i+1|0;n=b[i>>0]|0;c=n<<24>>24}while((c+-48|0)>>>0<10);c=n<<24>>24;E=41}else{k=0;E=41}if((E|0)==41){E=0;n=m;F=k&2147483647;H=l}d:do if((c|0)==46){k=i+1|0;c=b[k>>0]|0;if(c<<24>>24!=42){c=c<<24>>24;if((c+-48|0)>>>0<10){l=0;i=k;do{l=c+-48+(l*10|0)|0;i=i+1|0;k=b[i>>0]|0;c=k<<24>>24}while((c+-48|0)>>>0<10);c=k<<24>>24}else{l=0;i=k}k=l&2147483647;break}do if(I){G=(f[e>>2]|0)+(4-1)&~(4-1);c=f[G>>2]|0;f[e>>2]=G+4}else{c=f[L>>2]|0;if((f[J>>2]|0)>(c|0)){k=f[M>>2]|0;f[L>>2]=c+1;c=f[k+(c<<2)>>2]|0;k=j[c+8>>1]|0;if(k&4|0){c=f[c>>2]|0;break}if(k&8|0){c=Fc(+p[c>>3])|0;ba()|0;break}if(k&18|0){c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0;break}}i=i+2|0;k=0;c=b[i>>0]|0;break d}while(0);i=i+2|0;k=(c|0)<0?((c|0)==-2147483648?-1:0-c|0):c;c=b[i>>0]|0}else k=-1;while(0);if((c|0)==108){l=i+1|0;c=b[l>>0]|0;if(c<<24>>24==108){G=i+2|0;m=2;c=b[G>>0]|0}else{m=1;c=c<<24>>24;G=l}}else{m=0;G=i}do switch(c|0){case 100:{D=0;break}case 115:{D=1;break}case 103:{D=2;break}case 122:{D=3;break}case 113:{D=4;break}case 81:{D=5;break}case 119:{D=6;break}case 99:{D=7;break}case 111:{D=8;break}case 117:{D=9;break}case 120:{D=10;break}case 88:{D=11;break}case 102:{D=12;break}case 101:{D=13;break}case 69:{D=14;break}case 71:{D=15;break}case 105:{D=16;break}case 110:{D=17;break}case 37:{D=18;break}case 112:{D=19;break}case 84:{D=20;break}case 83:{D=21;break}case 114:{D=22;break}default:{E=403;break a}}while(0);c=b[912+(D*6|0)+3>>0]|0;e:do switch(c<<24>>24){case 13:{c=1;E=88;break}case 0:case 15:{c=m;E=88;break}case 16:{c=m;E=89;break}case 3:case 2:case 1:{do if(I){E=(f[e>>2]|0)+(8-1)&~(8-1);o=+p[E>>3];f[e>>2]=E+8;E=160}else{g=f[L>>2]|0;if((f[J>>2]|0)>(g|0)){i=f[M>>2]|0;f[L>>2]=g+1;g=f[i+(g<<2)>>2]|0;i=j[g+8>>1]|0;if(i&8|0){o=+p[g>>3];E=160;break}if(i&4|0){E=g;o=+((f[E>>2]|0)>>>0)+4294967296.0*+(f[E+4>>2]|0);E=160;break}if(i&18|0){o=+Hc(b[g+10>>0]|0,f[g+12>>2]|0,f[g+16>>2]|0);E=160;break}}o=0.0;C=n;g=(k|0)<0?6:k}while(0);if((E|0)==160){E=0;g=(k|0)<0?6:k;if(o<0.0){o=-o;C=45}else C=n}n=(D|0)==2|(D|0)==15;m=g+((n&(g|0)>0)<<31>>31)|0;i=m&4095;if(!i)q=.5;else{q=.5;while(1){q=q*.1;if((i|0)>1)i=i+-1|0;else break}}l=(D|0)==12;o=l?o+q:o;p[S>>3]=o;p[T>>3]=+p[S>>3];if(+p[S>>3]==+p[T>>3]){if(o>0.0){r=1.0;k=0;while(1){s=r*1.e+100;if(k>>>0<351&o>=s){r=s;k=k+100|0}else break}while(1){s=r*1.0e10;if(k>>>0<351&o>=s){r=s;k=k+10|0}else break}while(1){s=r*10.0;if(k>>>0<351&o>=s){r=s;k=k+1|0}else break}o=o/r;if(o<1.0e-08)do{o=o*1.0e8;k=k+-8|0}while(o<1.0e-08);if(o<1.0)do{o=o*10.0;k=k+-1|0}while(o<1.0);i=C<<24>>24!=0;if((k|0)>350){c=U+(i&1)|0;b[U>>0]=C;b[c>>0]=73;b[c+1>>0]=110;b[c+2>>0]=102;b[c+3>>0]=0;c=F;l=i?4:3;g=U;n=0;break e}}else k=0;if(!l){o=q+o;if(o>=10.0){o=o*.1;k=k+1|0}}A=(k|0)<-4|(m|0)<(k|0);B=n?x<<24>>24==0&1:u;z=n?m-(A?0:k)|0:g;A=(n?(A?2:1):c)<<24>>24==2;y=A?0:k;c=KA(z|0,((z|0)<0)<<31>>31|0,F|0,((F|0)<0)<<31>>31|0)|0;c=KA(c|0,ba()|0,((y|0)>0?y:0)|0,0)|0;g=ba()|0;do if((g|0)>0|(g|0)==0&c>>>0>55){i=KA(c|0,g|0,15,0)|0;ba()|0;v=KA(c|0,g|0,14,0)|0;n=ba()|0;if(n>>>0>0|(n|0)==0&v>>>0>2147483390){E=197;break a}if(!(f[9328]|0)){c=ib[f[37356>>2]&255](i)|0;if(!c){E=197;break a}else{g=c;n=c;break}}l=ib[f[37372>>2]&255](i)|0;if((f[18194]|0)>>>0>>0)f[18194]=i;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){v=f[18187]|0;n=LA(c|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;m=ba()|0;f[17976]=((m|0)<0|(m|0)==0&n>>>0<=v>>>0)&1}i=ib[f[37356>>2]&255](l)|0;if(!i){E=197;break a}c=ib[f[37368>>2]&255](i)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0){f[18196]=c;g=i;n=i}else{g=i;n=i}}else{g=U;n=0}while(0);i=((u&255)*10|0)+16|0;v=(x|u)&255|(z|0)>0;if(!(C<<24>>24))c=g;else{b[g>>0]=C;c=g+1|0}if((y|0)<0){b[c>>0]=48;c=c+1|0;l=y;x=i}else{m=c;l=y;while(1){x=(i|0)<1;y=~~o;o=x?o:(o-+(y|0))*10.0;i=i+((x^1)<<31>>31)|0;c=m+1|0;b[m>>0]=x?48:y+48&255;if((l|0)>0){m=c;l=l+-1|0}else{l=-1;x=i;break}}}y=(v|0)==0;if(!y){b[c>>0]=46;c=c+1|0}if((l|0)<-1){_A(c|0,48,~l|0)|0;i=z;while(1){c=c+1|0;i=i+-1|0;if((l|0)<-2)l=l+1|0;else break}}else i=z;if((i|0)>0)while(1){l=(x|0)<1;m=~~o;v=c+1|0;b[c>>0]=l?48:m+48&255;if((i|0)>1){c=v;x=x+((l^1)<<31>>31)|0;i=i+-1|0;o=l?o:(o-+(m|0))*10.0}else{c=v;break}}f:do if(!(B<<24>>24==0|y)){g:while(1){i=c+-1|0;switch(b[i>>0]|0){case 46:break g;case 48:break;default:break f}b[i>>0]=0;c=i}if(!(u<<24>>24)){b[i>>0]=0;c=i;break}else{b[c>>0]=48;c=c+1|0;break}}while(0);if(A){l=c+1|0;b[c>>0]=b[1056+(h[912+(D*6|0)+4>>0]|0)>>0]|0;i=c+2|0;if((k|0)<0){b[l>>0]=45;k=0-k|0}else b[l>>0]=43;if((k|0)>99){D=(k>>>0)/100|0;b[i>>0]=D+48;i=c+3|0;c=k-(D*100|0)|0}else c=k;D=(c|0)/10|0;b[i>>0]=D+48;b[i+1>>0]=c-(D*10|0)+48;c=i+2|0}b[c>>0]=0;k=c-g|0;if(w<<24>>24!=0&H<<24>>24==0&(F|0)>(k|0)){i=F-k|0;if((k|0)>=0){c=F;while(1){b[g+c>>0]=b[g+(c-i)>>0]|0;if((c|0)>(i|0))c=c+-1|0;else break}}if(!i){c=F;l=F;break e}_A(g+(C<<24>>24!=0&1)|0,48,i|0)|0;c=F;l=F}else{c=F;l=k}}else{c=F;l=3;g=40557;n=0}break}case 4:{if(I){l=f[_>>2]|0;n=(f[e>>2]|0)+(4-1)&~(4-1);c=f[n>>2]|0;f[e>>2]=n+4;f[c>>2]=l;c=0;l=0;n=0}else{c=0;l=0;n=0}break}case 7:{b[U>>0]=37;c=F;l=1;g=U;n=0;break}case 8:{h:do if(I){E=(f[e>>2]|0)+(4-1)&~(4-1);c=f[E>>2]|0;f[e>>2]=E+4;if(c>>>0<128){b[U>>0]=c;m=1;break}if(c>>>0<2048){b[U>>0]=c>>>6&31|192;b[N>>0]=c&63|128;m=2;break}if(c>>>0<65536){b[U>>0]=c>>>12&15|224;b[N>>0]=c>>>6&63|128;b[O>>0]=c&63|128;m=3;break}else{b[U>>0]=c>>>18&7|240;b[N>>0]=c>>>12&63|128;b[O>>0]=c>>>6&63|128;b[P>>0]=c&63|128;m=4;break}}else{c=f[L>>2]|0;do if((f[J>>2]|0)>(c|0)?(W=f[M>>2]|0,f[L>>2]=c+1,W=f[W+(c<<2)>>2]|0,W|0):0){c=d[W+8>>1]|0;if((c&514)==514?(b[W+10>>0]|0)==1:0)g=f[W+16>>2]|0;else{if(c&1)break;g=Ic(W,1)|0}if(g|0){E=b[g>>0]|0;b[U>>0]=E;if((E&255)<=191){m=1;break h}c=b[g+1>>0]|0;if((c&-64)<<24>>24!=-128){m=1;break h}b[N>>0]=c;c=b[g+2>>0]|0;if((c&-64)<<24>>24!=-128){m=2;break h}b[O>>0]=c;c=b[g+3>>0]|0;if((c&-64)<<24>>24!=-128){m=3;break h}b[P>>0]=c;m=4;break h}}while(0);b[U>>0]=0;m=1}while(0);if((k|0)>1){c=F+1-k|0;do if(!(H<<24>>24!=0|(c|0)<2)){c=c+-1|0;F=KA(f[_>>2]|0,0,c|0,((c|0)<0)<<31>>31|0)|0;E=ba()|0;if(!((E|0)<0|((E|0)==0?F>>>0<(f[$>>2]|0)>>>0:0))){c=Jc(a,c)|0;if((c|0)<1){c=0;break}}while(1){E=f[aa>>2]|0;F=f[_>>2]|0;f[_>>2]=F+1;b[E+F>>0]=32;if((c|0)>1)c=c+-1|0;else{c=0;break}}}while(0);g=k;while(1){i=f[_>>2]|0;k=i+m|0;if(k>>>0<(f[$>>2]|0)>>>0){f[_>>2]=k;YA((f[aa>>2]|0)+i|0,U|0,m|0)|0}else Ec(a,U,m);if((g|0)>2)g=g+-1|0;else{g=U;l=1;n=0;k=m;E=301;break}}}else{g=U;l=1;n=0;c=F;k=m;E=301}break}case 6:case 5:{do if(!I){c=f[L>>2]|0;if((f[J>>2]|0)>(c|0)?(X=f[M>>2]|0,f[L>>2]=c+1,X=f[X+(c<<2)>>2]|0,(X|0)!=0):0){c=d[X+8>>1]|0;if((c&514)==514?(b[X+10>>0]|0)==1:0){g=f[X+16>>2]|0;c=5;E=275;break}if(!(c&1)){g=Ic(X,1)|0;c=5;E=275}else{m=72788;n=0;E=286}}else{m=72788;n=0;E=286}}else{E=(f[e>>2]|0)+(4-1)&~(4-1);g=f[E>>2]|0;f[e>>2]=E+4;E=275}while(0);if((E|0)==275){E=0;if(g)if(c<<24>>24==6)if((f[_>>2]|0)==0?(k|0)<0&((F|0)==0&(f[Q>>2]|0)!=0):0)if(!(b[R>>0]|0)){f[aa>>2]=g;c=f[a>>2]|0;if(((c|0)!=0?(Y=g,(f[c+304>>2]|0)>>>0<=Y>>>0):0)?(f[c+308>>2]|0)>>>0>Y>>>0:0)c=j[c+276>>1]|0;else c=ib[f[37368>>2]&255](g)|0;f[$>>2]=c;c=(wz(g)|0)&2147483647;f[_>>2]=c;b[V>>0]=b[V>>0]|4;c=0;l=0;n=0;break e}else{i=g;c=g}else{m=g;n=g;E=286}else{m=g;n=0;E=286}else{m=72788;n=0;E=286}}if((E|0)==286){E=0;if((k|0)>-1){c=(k|0)!=0;if(!(u<<24>>24)){if(!c){c=F;l=0;g=m;break e}g=0;while(1){if(!(b[m+g>>0]|0)){c=F;l=g;g=m;break e}g=g+1|0;if((g|0)>=(k|0)){c=F;l=g;g=m;break e}}}i:do if(c){c=m;i=k;while(1){k=i;i=i+-1|0;g=b[c>>0]|0;if(!(g<<24>>24)){i=c;break i}c=c+1|0;if((g&255)>191)while(1)if((b[c>>0]&-64)<<24>>24==-128)c=c+1|0;else break;if((k|0)<=1){i=c;break}}}else i=m;while(0);g=m;l=u;c=F;k=i-m|0;E=301;break e}else{i=m;c=n}}g=i;l=u;n=c;c=F;k=(wz(i)|0)&2147483647;E=301;break}case 14:case 10:case 9:{y=(D|0)==6?34:39;do if(!I){c=f[L>>2]|0;if((f[J>>2]|0)>(c|0)?(Z=f[M>>2]|0,f[L>>2]=c+1,Z=f[Z+(c<<2)>>2]|0,(Z|0)!=0):0){c=d[Z+8>>1]|0;if((c&514)==514?(b[Z+10>>0]|0)==1:0){c=f[Z+16>>2]|0;break}if(!(c&1))c=Ic(Z,1)|0;else c=0}else c=0}else{E=(f[e>>2]|0)+(4-1)&~(4-1);c=f[E>>2]|0;f[e>>2]=E+4}while(0);n=(c|0)==0;m=(D|0)==5;x=n?(m?40543:40548):c;j:do if(!k){i=0;w=0}else{l=y&255;if(!(u<<24>>24)){i=0;g=0;while(1){c=b[x+g>>0]|0;if(!(c<<24>>24)){w=g;break j}c=i+((c<<24>>24|0)==(l|0)&1)|0;g=g+1|0;k=k+-1|0;if(!k){i=c;w=g;break j}else i=c}}i=0;c=0;while(1){E=b[x+c>>0]|0;g=E<<24>>24;if(!(E<<24>>24)){w=c;break j}i=i+((g|0)==(l|0)&1)|0;if((g&192|0)==192)do c=c+1|0;while((b[x+c>>0]&-64)<<24>>24==-128);else c=c+1|0;k=k+-1|0;if(!k){w=c;break}}}while(0);v=m&(n^1);c=w+3+i|0;do if((c|0)>70){E=KA(c|0,((c|0)<0)<<31>>31|0,-1,-1)|0;D=ba()|0;if(D>>>0>0|(D|0)==0&E>>>0>2147483390){E=348;break a}if(!(f[9328]|0)){c=ib[f[37356>>2]&255](c)|0;if(!c){E=348;break a}else{g=c;n=c;break}}i=ib[f[37372>>2]&255](c)|0;if((f[18194]|0)>>>0>>0)f[18194]=c;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){E=f[18187]|0;D=LA(c|0,g|0,i|0,((i|0)<0)<<31>>31|0)|0;C=ba()|0;f[17976]=((C|0)<0|(C|0)==0&D>>>0<=E>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){E=348;break a}c=ib[f[37368>>2]&255](i)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0){f[18196]=c;g=i;n=i}else{g=i;n=i}}else{g=U;n=0}while(0);if(v){b[g>>0]=y;c=1}else c=0;if((w|0)>0){m=y&255;l=0;do{i=b[x+l>>0]|0;k=c+1|0;b[g+c>>0]=i;if((i<<24>>24|0)==(m|0)){b[g+k>>0]=i;c=c+2|0}else c=k;l=l+1|0}while((l|0)!=(w|0))}if(v){b[g+c>>0]=y;i=c+1|0}else i=c;b[g+i>>0]=0;l=u;c=F;k=i;E=301;break}case 11:{if(!(b[V>>0]&1)){E=403;break a}F=(f[e>>2]|0)+(4-1)&~(4-1);c=f[F>>2]|0;f[e>>2]=F+4;if((c|0)!=0?(K=f[c+4>>2]|0,(K|0)!=0):0){c=f[c>>2]|0;i=f[_>>2]|0;k=i+K|0;if(k>>>0<(f[$>>2]|0)>>>0){f[_>>2]=k;YA((f[aa>>2]|0)+i|0,c|0,K|0)|0;c=0;l=0;n=0;break e}else{Ec(a,c,K);c=0;l=0;n=0;break e}}else{c=0;l=0;n=0}break}case 12:{if(!(b[V>>0]&1)){E=403;break a}c=(f[e>>2]|0)+(4-1)&~(4-1);m=f[c>>2]|0;f[e>>2]=c+4;c=(f[e>>2]|0)+(4-1)&~(4-1);n=f[c>>2]|0;f[e>>2]=c+4;c=f[m+8+(n*72|0)+4>>2]|0;do if(c|0){i=(wz(c)|0)&1073741823;k=f[_>>2]|0;l=k+i|0;if(l>>>0<(f[$>>2]|0)>>>0){if(i|0){f[_>>2]=l;YA((f[aa>>2]|0)+k|0,c|0,i|0)|0}}else Ec(a,c,i);c=f[_>>2]|0;i=c+1|0;if(i>>>0<(f[$>>2]|0)>>>0){f[_>>2]=i;b[(f[aa>>2]|0)+c>>0]=46;break}else{Ec(a,40555,1);break}}while(0);i=f[m+8+(n*72|0)+8>>2]|0;if(!i)c=0;else c=(wz(i)|0)&1073741823;k=f[_>>2]|0;l=k+c|0;if(l>>>0>=(f[$>>2]|0)>>>0){Ec(a,i,c);c=0;l=0;n=0;break e}if(!c){c=0;l=0;n=0}else{f[_>>2]=l;YA((f[aa>>2]|0)+k|0,i|0,c|0)|0;c=0;l=0;n=0}break}default:{E=403;break a}}while(0);if((E|0)==88){v=0;E=89}else if((E|0)==301){E=0;if(l<<24>>24!=0&(c|0)>0&(k|0)>0){i=k;do{F=i;i=i+-1|0;c=c+((b[g+i>>0]&-64)<<24>>24==-128&1)|0}while((F|0)>1);l=k}else l=k}if((E|0)==89){E=0;k:do if(4067322>>>D&1){if(I)switch(c<<24>>24){case 0:{c=(f[e>>2]|0)+(4-1)&~(4-1);i=f[c>>2]|0;f[e>>2]=c+4;c=0;g=0;E=115;break k}case 2:{c=(f[e>>2]|0)+(8-1)&~(8-1);g=c;i=f[g>>2]|0;g=f[g+4>>2]|0;f[e>>2]=c+8;c=0;E=115;break k}default:{c=(f[e>>2]|0)+(4-1)&~(4-1);i=f[c>>2]|0;f[e>>2]=c+4;c=0;g=0;E=115;break k}}c=f[L>>2]|0;if((f[J>>2]|0)>(c|0)){g=f[M>>2]|0;f[L>>2]=c+1;c=f[g+(c<<2)>>2]|0;g=j[c+8>>1]|0;if(g&4|0){g=c;c=0;i=f[g>>2]|0;g=f[g+4>>2]|0;E=115;break}if(g&8|0){i=Fc(+p[c>>3])|0;c=0;g=ba()|0;E=115;break}if(g&18){i=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;c=0;g=ba()|0;E=115}else{c=0;E=116}}else{c=0;E=116}}else{do if(I)if(c<<24>>24!=2){l=(f[e>>2]|0)+(4-1)&~(4-1);i=f[l>>2]|0;f[e>>2]=l+4;l=((i|0)<0)<<31>>31;c=LA(0,0,i|0,l|0)|0;g=ba()|0;if((i|0)<0){i=c;break}else{c=n;g=l;E=115;break k}}else{E=(f[e>>2]|0)+(8-1)&~(8-1);g=E;i=f[g>>2]|0;g=f[g+4>>2]|0;f[e>>2]=E+8;E=101;break}else{c=f[L>>2]|0;if((f[J>>2]|0)<=(c|0)){c=n;E=116;break k}g=f[M>>2]|0;f[L>>2]=c+1;c=f[g+(c<<2)>>2]|0;g=j[c+8>>1]|0;if(g&4|0){i=c;g=f[i+4>>2]|0;i=f[i>>2]|0;E=101;break}if(g&8|0){i=Fc(+p[c>>3])|0;g=ba()|0;E=101;break}if(!(g&18)){c=n;E=116;break k}i=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;g=ba()|0;E=101}while(0);if((E|0)==101){l=(i|0)==0&(g|0)==-2147483648;c=LA(0,0,i|0,g|0)|0;m=ba()|0;if((g|0)<0){i=l?0:c;g=l?-2147483648:m}else{c=n;E=115;break}}c=45;E=115}while(0);if((E|0)==115){E=0;if((i|0)==0&(g|0)==0)E=116;else{u=i;y=g}}if((E|0)==116){E=0;u=0;y=0;x=0}C=F-(c<<24>>24!=0&1)|0;w=w<<24>>24==0?k:(k|0)<(C|0)?C:k;do if((w|0)>=37){g=KA(w|0,((w|0)<0)<<31>>31|0,10,0)|0;g=KA(g|0,ba()|0,(w>>>0)/3|0|0,0)|0;C=KA(g|0,ba()|0,-1,-1)|0;B=ba()|0;if(B>>>0>0|(B|0)==0&C>>>0>2147483390){E=130;break a}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](g)|0;if(!i){E=130;break a}else{l=i;z=i;break}}i=ib[f[37372>>2]&255](g)|0;if((f[18194]|0)>>>0>>0)f[18194]=g;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){C=f[18187]|0;B=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;A=ba()|0;f[17976]=((A|0)<0|(A|0)==0&B>>>0<=C>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(!k){E=130;break a}i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;l=k;z=k}else{l=k;z=k}}else{l=U;z=0;g=70}while(0);l=l+(g+-1)|0;if((D|0)==22){B=SA(u|0,y|0,10,0)|0;g=ba()|0;C=QA(B|0,g|0,10,0)|0;C=LA(u|0,y|0,C|0,ba()|0)|0;ba()|0;g=TA(B|0,g|0,10,0)|0;g=(C|0)>3|(g|0)==1&(ba()|0)==0;C=(g?0:C)<<1;g=l+-1|0;b[g>>0]=b[40527+(C|1)>>0]|0;g=g+-1|0;b[g>>0]=b[40527+C>>0]|0}else g=l;m=1056+(h[912+(D*6|0)+4>>0]|0)|0;n=h[912+(D*6|0)+1>>0]|0;k=u;i=y;do{C=k;k=SA(k|0,i|0,n|0,0)|0;B=i;i=ba()|0;A=QA(k|0,i|0,n|0,0)|0;A=LA(C|0,B|0,A|0,ba()|0)|0;ba()|0;g=g+-1|0;b[g>>0]=b[m+A>>0]|0}while(!(B>>>0<0|(B|0)==0&C>>>0>>0));n=l;i=g;k=n-i|0;if((w|0)>(k|0)){g=g+(n-w-i)|0;_A(g|0,48,w+i-n|0)|0;k=w}if(v<<24>>24){i=k+-1|0;l=(i|0)/3|0;g=g+(0-l)|0;if((k|0)>3){i=i-(l*3|0)+1|0;k=0;do{b[g+k>>0]=b[g+(k+l)>>0]|0;i=i+-1|0;m=k+1|0;if(!i){b[g+m>>0]=v;i=3;l=l+-1|0;k=k+2|0}else k=m}while((l|0)>0)}}if(c<<24>>24){g=g+-1|0;b[g>>0]=c}if(x<<24>>24!=0?(7860991>>>D&1|0)==0:0){c=40536+(h[912+(D*6|0)+5>>0]|0)|0;i=c;c=b[c>>0]|0;do{g=g+-1|0;b[g>>0]=c;i=i+1|0;c=b[i>>0]|0}while(c<<24>>24!=0)}c=F;l=n-g|0;n=z}c=c-l|0;do if((c|0)>0){k=f[_>>2]|0;if(!(H<<24>>24)){H=KA(k|0,0,c|0,((c|0)<0)<<31>>31|0)|0;F=ba()|0;if(!((F|0)<0|((F|0)==0?H>>>0<(f[$>>2]|0)>>>0:0))){c=Jc(a,c)|0;if((c|0)>=1)E=374}else E=374;if((E|0)==374)while(1){F=f[aa>>2]|0;H=f[_>>2]|0;f[_>>2]=H+1;b[F+H>>0]=32;if((c|0)>1)c=c+-1|0;else break}c=f[_>>2]|0;i=c+l|0;if(i>>>0>=(f[$>>2]|0)>>>0){Ec(a,g,l);break}if(!l)break;f[_>>2]=i;YA((f[aa>>2]|0)+c|0,g|0,l|0)|0;break}else{i=k+l|0;if(i>>>0<(f[$>>2]|0)>>>0){if(l|0){f[_>>2]=i;YA((f[aa>>2]|0)+k|0,g|0,l|0)|0}}else Ec(a,g,l);H=KA(f[_>>2]|0,0,c|0,((c|0)<0)<<31>>31|0)|0;F=ba()|0;if(!((F|0)<0|((F|0)==0?H>>>0<(f[$>>2]|0)>>>0:0))){c=Jc(a,c)|0;if((c|0)<1)break}while(1){F=f[aa>>2]|0;H=f[_>>2]|0;f[_>>2]=H+1;b[F+H>>0]=32;if((c|0)>1)c=c+-1|0;else break}}}else{c=f[_>>2]|0;i=c+l|0;if(i>>>0>=(f[$>>2]|0)>>>0){Ec(a,g,l);break}if(l|0){f[_>>2]=i;YA((f[aa>>2]|0)+c|0,g|0,l|0)|0}}while(0);do if(n|0){c=f[a>>2]|0;if(c|0){if(f[c+480>>2]|0){Kc(c,n);break}H=n;if((f[c+304>>2]|0)>>>0<=H>>>0?(f[c+308>>2]|0)>>>0>H>>>0:0){H=c+300|0;f[n>>2]=f[H>>2];f[H>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{H=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);c=G+1|0}if((E|0)==13){c=f[_>>2]|0;g=c+1|0;if(g>>>0<(f[$>>2]|0)>>>0){f[_>>2]=g;b[(f[aa>>2]|0)+c>>0]=37;t=ca;return}else{Ec(a,40525,1);t=ca;return}}else if((E|0)==130){b[R>>0]=7;f[$>>2]=0;t=ca;return}else if((E|0)==197){b[R>>0]=7;f[$>>2]=0;t=ca;return}else if((E|0)==348){b[R>>0]=7;f[$>>2]=0;t=ca;return}else if((E|0)==403){t=ca;return}}function Cc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;e=f[a>>2]|0;h=a+16|0;g=(f[h>>2]|0)+1|0;a:do if(!e){e=KA(g|0,0,-1,-1)|0;d=ba()|0;if(!(d>>>0>0|(d|0)==0&e>>>0>2147483390)){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](g)|0;d=25;break}e=ib[f[37372>>2]&255](g)|0;if((f[18194]|0)>>>0>>0)f[18194]=g;d=71896;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){g=f[18187]|0;d=LA(c|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&d>>>0<=g>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(c){d=ib[f[37368>>2]&255](c)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0){f[18196]=d;d=26}else d=26}else d=27}else d=27}else{if(f[e+272>>2]|0){if(b[e+81>>0]|0){d=27;break}}else{do if(!(0<0|(0==0?(j[e+276>>1]|0)>>>0>>0:0))){d=e+300|0;c=f[d>>2]|0;if(c|0){f[d>>2]=f[c>>2];d=e+284|0;f[d>>2]=(f[d>>2]|0)+1;d=25;break a}d=e+296|0;c=f[d>>2]|0;if(!c){c=e+292|0;break}else{f[d>>2]=f[c>>2];d=e+284|0;f[d>>2]=(f[d>>2]|0)+1;d=25;break a}}else c=e+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(e,g,0)|0;d=25}while(0);if((d|0)==25)if(!c)d=27;else d=26;if((d|0)==26){g=a+4|0;YA(c|0,f[g>>2]|0,(f[h>>2]|0)+1|0)|0;h=a+21|0;b[h>>0]=b[h>>0]|4;h=c;a=g;f[a>>2]=h;return h|0}else if((d|0)==27){b[a+20>>0]=7;f[a+8>>2]=0;h=0;a=a+4|0;f[a>>2]=h;return h|0}return 0}function Dc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=KA(c|0,d|0,-1,-1)|0;d=ba()|0;do if(!(d>>>0>0|(d|0)==0&e>>>0>2147483390)){if(!(f[9328]|0)){d=ib[f[37356>>2]&255](c)|0;if(!d)break;return d|0}e=ib[f[37372>>2]&255](c)|0;if((f[18194]|0)>>>0>>0)f[18194]=c;c=71896;d=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&d>>>0>0){g=f[18187]|0;c=LA(d|0,c|0,e|0,((e|0)<0)<<31>>31|0)|0;d=ba()|0;f[17976]=((d|0)<0|(d|0)==0&c>>>0<=g>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(c|0){d=ib[f[37368>>2]&255](c)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0<=(f[18196]|0)>>>0){g=c;return g|0}f[18196]=d;g=c;return g|0}}while(0);d=a+81|0;if(b[d>>0]|0){g=0;return g|0}if(b[a+82>>0]|0){g=0;return g|0}b[d>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;g=a+272|0;f[g>>2]=(f[g>>2]|0)+1;g=0;return g|0}function Ec(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;c=Jc(a,c)|0;if((c|0)<=0)return;d=a+16|0;YA((f[a+4>>2]|0)+(f[d>>2]|0)|0,b|0,c|0)|0;f[d>>2]=(f[d>>2]|0)+c;return}function Fc(a){a=+a;var b=0,c=0;if(!(a<=-9223372036854775808.0))if(!(a>=9223372036854775808.0)){c=+H(a)>=1.0?(a>0.0?~~+V(+G(a/4294967296.0),4294967295.0)>>>0:~~+T((a-+(~~a>>>0))/4294967296.0)>>>0):0;b=~~a>>>0}else{c=2147483647;b=-1}else{c=-2147483648;b=0}aa(c|0);return b|0}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=t;t=t+16|0;e=d;g=e;f[g>>2]=0;f[g+4>>2]=0;kf(c,e,b,a)|0;b=e;c=f[b>>2]|0;aa(f[b+4>>2]|0);t=d;return c|0}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=t;t=t+16|0;d=e;p[d>>3]=0.0;jf(c,d,b,a)|0;t=e;return +(+p[d>>3])}function Ic(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0;k=a+8|0;e=d[k>>1]|0;g=e&65535;if(g&18){do if(g&16384){e=a+12|0;i=(f[a>>2]|0)+(f[e>>2]|0)|0;if(!(df(a,(i|0)>1?i:1,1)|0)){_A((f[a+16>>2]|0)+(f[e>>2]|0)|0,0,f[a>>2]|0)|0;f[e>>2]=(f[e>>2]|0)+(f[a>>2]|0);e=d[k>>1]&-16897;d[k>>1]=e;break}else{c=0;return c|0}}while(0);d[k>>1]=e|2;e=a+10|0;g=c&255;i=g&247;if((i|0)!=(h[e>>0]|0))Ri(a,i&255)|0;if(g&8|0?(j=a+16|0,f[j>>2]&1|0):0){g=d[k>>1]|0;i=g&65535;do if(i&18){do if(i&16384){g=a+12|0;i=(f[a>>2]|0)+(f[g>>2]|0)|0;if(!(df(a,(i|0)>1?i:1,1)|0)){_A((f[j>>2]|0)+(f[g>>2]|0)|0,0,f[a>>2]|0)|0;f[g>>2]=(f[g>>2]|0)+(f[a>>2]|0);g=d[k>>1]&-16897;d[k>>1]=g;break}else{c=0;return c|0}}while(0);if(f[a+24>>2]|0?(f[j>>2]|0)==(f[a+20>>2]|0):0)break;if(!(gf(a)|0)){g=d[k>>1]|0;break}else{c=0;return c|0}}while(0);d[k>>1]=g&-4097}if((d[k>>1]&514)==2)gf(a)|0}else{Ti(a,c,0)|0;e=a+10|0}if((b[e>>0]|0)!=(c&-9)<<24>>24){c=0;return c|0}c=f[a+16>>2]|0;return c|0}function Jc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=a+20|0;if(b[o>>0]|0){q=0;return q|0}h=f[a+12>>2]|0;if(!h){p=a+8|0;q=(f[p>>2]|0)+-1-(f[a+16>>2]|0)|0;b[o>>0]=18;f[p>>2]=0;return q|0}p=a+21|0;d=b[p>>0]|0;g=(d&4)==0;if(g)i=0;else i=f[a+4>>2]|0;q=a+16|0;l=f[q>>2]|0;u=c+1|0;u=KA(l|0,0,u|0,((u|0)<0)<<31>>31|0)|0;s=ba()|0;l=KA(u|0,s|0,l|0,0)|0;r=ba()|0;t=(r|0)>0|(r|0)==0&l>>>0>h>>>0;l=t?u:l;r=t?s:r;if((r|0)>0|(r|0)==0&l>>>0>h>>>0){if(g)d=a+4|0;else{e=f[a>>2]|0;d=a+4|0;g=f[d>>2]|0;do if(g|0){if(e|0){if(f[e+480>>2]|0){Kc(e,g);break}u=g;if((f[e+304>>2]|0)>>>0<=u>>>0?(f[e+308>>2]|0)>>>0>u>>>0:0){u=e+300|0;f[g>>2]=f[u>>2];f[u>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{u=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);b[p>>0]=b[p>>0]&-5}f[q>>2]=0;f[d>>2]=0;b[o>>0]=18;f[a+8>>2]=0;u=0;return u|0}h=a+8|0;f[h>>2]=l;g=f[a>>2]|0;a:do if(!g){if(!(Mc()|0)){e=Nc(i,l,0)|0;k=41}}else{if(i|0){u=i;if((f[g+304>>2]|0)>>>0<=u>>>0?(f[g+308>>2]|0)>>>0>u>>>0:0){if(!(0>0|(0==0?l>>>0>(j[g+276>>1]|0)>>>0:0))){e=i;k=43;break}e=Lc(g,i,l,0)|0;k=41;break}e=Lc(g,i,l,0)|0;k=41;break}if(f[g+272>>2]|0){if(b[g+81>>0]|0)break}else{do if(!(0>0|(0==0?l>>>0>(j[g+276>>1]|0)>>>0:0))){d=g+300|0;e=f[d>>2]|0;if(e|0){f[d>>2]=f[e>>2];k=g+284|0;f[k>>2]=(f[k>>2]|0)+1;k=41;break a}d=g+296|0;e=f[d>>2]|0;if(!e){d=g+292|0;break}else{f[d>>2]=f[e>>2];k=g+284|0;f[k>>2]=(f[k>>2]|0)+1;k=41;break a}}else d=g+288|0;while(0);f[d>>2]=(f[d>>2]|0)+1}e=Dc(g,l,0)|0;k=41}while(0);if((k|0)==41?e|0:0){d=b[p>>0]|0;k=43}if((k|0)==43){if((d&4)==0?(m=f[q>>2]|0,m|0):0)YA(e|0,f[a+4>>2]|0,m|0)|0;f[a+4>>2]=e;d=f[a>>2]|0;if(((d|0)!=0?(n=e,(f[d+304>>2]|0)>>>0<=n>>>0):0)?(f[d+308>>2]|0)>>>0>n>>>0:0)d=j[d+276>>1]|0;else d=ib[f[37368>>2]&255](e)|0;f[h>>2]=d;b[p>>0]=b[p>>0]|4;u=c;return u|0}if(!(b[p>>0]&4))d=a+4|0;else{g=f[a>>2]|0;d=a+4|0;e=f[d>>2]|0;do if(e|0){if(g|0){if(f[g+480>>2]|0){Kc(g,e);break}u=e;if((f[g+304>>2]|0)>>>0<=u>>>0?(f[g+308>>2]|0)>>>0>u>>>0:0){u=g+300|0;f[e>>2]=f[u>>2];f[u>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);b[p>>0]=b[p>>0]&-5}f[q>>2]=0;f[d>>2]=0;b[o>>0]=7;f[h>>2]=0;u=0;return u|0}function Kc(a,b){a=a|0;b=b|0;var c=0;if(((a|0)!=0?(c=b,(f[a+304>>2]|0)>>>0<=c>>>0):0)?(f[a+308>>2]|0)>>>0>c>>>0:0)b=j[a+276>>1]|0;else b=ib[f[37368>>2]&255](b)|0;a=f[a+480>>2]|0;f[a>>2]=(f[a>>2]|0)+b;return}function Lc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0;g=a+81|0;if(b[g>>0]|0){m=0;return m|0}l=c;m=a+304|0;if((f[m>>2]|0)>>>0<=l>>>0?(k=a+308|0,(f[k>>2]|0)>>>0>l>>>0):0){a:do if(!(f[a+272>>2]|0)){do if(!(0>>0|(0==(e|0)?(j[a+276>>1]|0)>>>0>>0:0))){h=a+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];e=a+284|0;f[e>>2]=(f[e>>2]|0)+1;break a}h=a+296|0;g=f[h>>2]|0;if(!g){g=a+292|0;break}else{f[h>>2]=f[g>>2];e=a+284|0;f[e>>2]=(f[e>>2]|0)+1;break a}}else g=a+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;i=13}else i=13;while(0);if((i|0)==13)g=Dc(a,d,e)|0;if(!g){m=0;return m|0}YA(g|0,c|0,j[a+276>>1]|0)|0;if(!c){m=g;return m|0}if(f[a+480>>2]|0){Kc(a,c);m=g;return m|0}if((f[m>>2]|0)>>>0<=l>>>0?(f[k>>2]|0)>>>0>l>>>0:0){m=a+300|0;f[c>>2]=f[m>>2];f[m>>2]=c;m=g;return m|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);m=g;return m|0}else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);m=g;return m|0}}if((Mc()|0)==0?(h=Nc(c,d,e)|0,h|0):0){m=h;return m|0}if(b[g>>0]|0){m=0;return m|0}if(b[a+82>>0]|0){m=0;return m|0}b[g>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;m=a+272|0;f[m>>2]=(f[m>>2]|0)+1;m=0;return m|0}function Mc(){var a=0,c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=t;t=t+16|0;n=p+8|0;a=p;if(f[9384]|0){o=0;t=p;return o|0}f[9386]=1;if(!(f[9387]|0)){if(!(f[9339]|0)){f[a>>2]=37648;Oc(4,a)|0};f[17972]=0;f[17973]=0;f[17974]=0;f[17975]=0;f[17976]=0;f[17977]=0;f[17972]=8;if((f[9378]|0)==0|(f[9379]|0)<512|(f[9380]|0)<1){f[9378]=0;f[9379]=0}a=ib[f[37376>>2]&255](f[9346]|0)|0;if(a|0){f[17972]=0;f[17973]=0;f[17974]=0;f[17975]=0;f[17976]=0;f[17977]=0;o=a;t=p;return o|0}}f[9387]=1;if(!(f[9390]|0))f[9390]=8;c=(f[9389]|0)+1|0;f[9389]=c;if(!(f[9385]|f[9384])){f[9385]=1;a=71916;c=a+92|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));k=f[284]|0;if(!k)a=0;else a=(wz(k)|0)&1073741823;d=b[k>>0]|0;a=71916+(((a+(d<<24>>24)|0)%23|0)<<2)|0;c=f[a>>2]|0;j=c;a:do if(c){i=h[1232+(d&255)>>0]|0;while(1){e=f[c+32>>2]|0;m=b[e>>0]|0;d=(h[1232+(m&255)>>0]|0)-i|0;if(!(m<<24>>24==0|(d|0)!=0)){g=k;do{e=e+1|0;g=g+1|0;m=b[e>>0]|0;d=(h[1232+(m&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(m<<24>>24==0|(d|0)!=0))}if(!d)break;c=f[c+36>>2]|0;if(!c){o=23;break a}}if(c){a=c+12|0;f[279]=f[a>>2]}else o=23}else o=23;while(0);if((o|0)==23){f[279]=0;f[285]=j}f[a>>2]=1104;k=f[294]|0;if(!k)a=0;else a=(wz(k)|0)&1073741823;d=b[k>>0]|0;a=71916+(((a+(d<<24>>24)|0)%23|0)<<2)|0;c=f[a>>2]|0;j=c;b:do if(c){i=h[1232+(d&255)>>0]|0;while(1){e=f[c+32>>2]|0;m=b[e>>0]|0;d=(h[1232+(m&255)>>0]|0)-i|0;if(!(m<<24>>24==0|(d|0)!=0)){g=k;do{e=e+1|0;g=g+1|0;m=b[e>>0]|0;d=(h[1232+(m&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(m<<24>>24==0|(d|0)!=0))}if(!d)break;c=f[c+36>>2]|0;if(!c){o=35;break b}}if(c){a=c+12|0;f[289]=f[a>>2]}else o=35}else o=35;while(0);if((o|0)==35){f[289]=0;f[295]=j}f[a>>2]=1144;k=f[304]|0;if(!k)a=0;else a=(wz(k)|0)&1073741823;d=b[k>>0]|0;a=71916+(((a+(d<<24>>24)|0)%23|0)<<2)|0;c=f[a>>2]|0;j=c;c:do if(c){i=h[1232+(d&255)>>0]|0;while(1){e=f[c+32>>2]|0;m=b[e>>0]|0;d=(h[1232+(m&255)>>0]|0)-i|0;if(!(m<<24>>24==0|(d|0)!=0)){g=k;do{e=e+1|0;g=g+1|0;m=b[e>>0]|0;d=(h[1232+(m&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(m<<24>>24==0|(d|0)!=0))}if(!d)break;c=f[c+36>>2]|0;if(!c){o=47;break c}}if(c){a=c+12|0;f[299]=f[a>>2]}else o=47}else o=47;while(0);if((o|0)==47){f[299]=0;f[305]=j}f[a>>2]=1184;l=0;do{m=1488+(l*40|0)|0;k=f[1488+(l*40|0)+32>>2]|0;if(!k)a=0;else a=(wz(k)|0)&1073741823;d=b[k>>0]|0;a=71916+(((a+(d<<24>>24)|0)%23|0)<<2)|0;c=f[a>>2]|0;j=c;d:do if(c){i=h[1232+(d&255)>>0]|0;while(1){e=f[c+32>>2]|0;g=b[e>>0]|0;d=(h[1232+(g&255)>>0]|0)-i|0;if(!(g<<24>>24==0|(d|0)!=0)){g=k;do{e=e+1|0;g=g+1|0;q=b[e>>0]|0;d=(h[1232+(q&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(q<<24>>24==0|(d|0)!=0))}if(!d)break;c=f[c+36>>2]|0;if(!c){o=60;break d}}if(c){a=c+12|0;f[1488+(l*40|0)+12>>2]=f[a>>2]}else o=60}else o=60;while(0);if((o|0)==60){o=0;f[1488+(l*40|0)+12>>2]=0;f[1488+(l*40|0)+36>>2]=j}f[a>>2]=m;l=l+1|0}while((l|0)!=15);l=0;do{m=2096+(l*40|0)|0;k=f[2096+(l*40|0)+32>>2]|0;if(!k)a=0;else a=(wz(k)|0)&1073741823;d=b[k>>0]|0;a=71916+(((a+(d<<24>>24)|0)%23|0)<<2)|0;c=f[a>>2]|0;j=c;e:do if(c){i=h[1232+(d&255)>>0]|0;while(1){e=f[c+32>>2]|0;q=b[e>>0]|0;d=(h[1232+(q&255)>>0]|0)-i|0;if(!(q<<24>>24==0|(d|0)!=0)){g=k;do{e=e+1|0;g=g+1|0;q=b[e>>0]|0;d=(h[1232+(q&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(q<<24>>24==0|(d|0)!=0))}if(!d)break;c=f[c+36>>2]|0;if(!c){o=74;break e}}if(c){a=c+12|0;f[2096+(l*40|0)+12>>2]=f[a>>2]}else o=74}else o=74;while(0);if((o|0)==74){o=0;f[2096+(l*40|0)+12>>2]=0;f[2096+(l*40|0)+36>>2]=j}f[a>>2]=m;l=l+1|0}while((l|0)!=8);l=0;do{m=2416+(l*40|0)|0;k=f[2416+(l*40|0)+32>>2]|0;if(!k)a=0;else a=(wz(k)|0)&1073741823;d=b[k>>0]|0;a=71916+(((a+(d<<24>>24)|0)%23|0)<<2)|0;c=f[a>>2]|0;j=c;f:do if(c){i=h[1232+(d&255)>>0]|0;while(1){e=f[c+32>>2]|0;q=b[e>>0]|0;d=(h[1232+(q&255)>>0]|0)-i|0;if(!(q<<24>>24==0|(d|0)!=0)){g=k;do{e=e+1|0;g=g+1|0;q=b[e>>0]|0;d=(h[1232+(q&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(q<<24>>24==0|(d|0)!=0))}if(!d)break;c=f[c+36>>2]|0;if(!c){o=88;break f}}if(c){a=c+12|0;f[2416+(l*40|0)+12>>2]=f[a>>2]}else o=88}else o=88;while(0);if((o|0)==88){o=0;f[2416+(l*40|0)+12>>2]=0;f[2416+(l*40|0)+36>>2]=j}f[a>>2]=m;l=l+1|0}while((l|0)!=57);if(!(f[9388]|0)){a=f[9358]|0;if(!a){f[n>>2]=37680;Oc(18,n)|0;a=f[9358]|0}a=ib[a&255](f[9357]|0)|0;if(!a)o=94}else o=94;g:do if((o|0)==94){f[9388]=1;if(!(Mc()|0)){do if(!(f[9328]|0)){a=ib[f[37356>>2]&255](10)|0;if(!a){a=7;break g}}else{a=ib[f[37372>>2]&255](10)|0;if((f[18194]|0)>>>0<10)f[18194]=10;d=71896;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){q=f[18187]|0;o=LA(c|0,d|0,a|0,((a|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&o>>>0<=q>>>0)&1}a=ib[f[37356>>2]&255](a)|0;if(!a){a=7;break g}c=ib[f[37368>>2]&255](a)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0<=(f[18196]|0)>>>0)break;f[18196]=c}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](a);else{q=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a)}if(!(Mc()|0)){a=f[18002]|0;do if((a|0)==4704){a=f[1179]|0;f[18002]=a}else{if(!a){a=0;break}c=a;while(1){d=f[c+12>>2]|0;if((d|0)!=4704&(d|0)!=0)c=d;else break}if((d|0)!=4704)break;f[c+12>>2]=f[1179]}while(0);f[1179]=a;f[18002]=4704}if(!(Mc()|0)){a=f[18002]|0;do if((a|0)==4792){a=f[1201]|0;f[18002]=a;o=138}else{if(!a){o=140;break}c=a;while(1){d=f[c+12>>2]|0;if((d|0)!=4792&(d|0)!=0)c=d;else break}if((d|0)!=4792){o=138;break}f[c+12>>2]=f[1201];o=138}while(0);do if((o|0)==138){if(!a){o=140;break}a=a+12|0;f[1201]=f[a>>2]}while(0);if((o|0)==140){f[1201]=0;a=72008}f[a>>2]=4792}if(!(Mc()|0)){a=f[18002]|0;do if((a|0)==4880){a=f[1223]|0;f[18002]=a;o=150}else{if(!a){o=152;break}c=a;while(1){d=f[c+12>>2]|0;if((d|0)!=4880&(d|0)!=0)c=d;else break}if((d|0)!=4880){o=150;break}f[c+12>>2]=f[1223];o=150}while(0);do if((o|0)==150){if(!a){o=152;break}a=a+12|0;f[1223]=f[a>>2]}while(0);if((o|0)==152){f[1223]=0;a=72008}f[a>>2]=4880}if(!(Mc()|0)){a=f[18002]|0;do if((a|0)==4968){a=f[1245]|0;f[18002]=a;o=162}else{if(!a){o=164;break}c=a;while(1){d=f[c+12>>2]|0;if((d|0)!=4968&(d|0)!=0)c=d;else break}if((d|0)!=4968){o=162;break}f[c+12>>2]=f[1245];o=162}while(0);do if((o|0)==162){if(!a){o=164;break}a=a+12|0;f[1245]=f[a>>2]}while(0);if((o|0)==164){f[1245]=0;a=72008}f[a>>2]=4968}a=f[9378]|0;if(f[18016]|0){i=(a|0)==0;j=i?0:f[9380]|0;c=(j|0)==0;i=i|c?0:f[9379]&-8;f[18019]=i;f[18026]=j;f[18020]=j;if((j|0)>90)d=10;else d=((j|0)/10|0)+1|0;f[18021]=d;f[18022]=a;f[18025]=0;f[18027]=0;if(!c){e=U(i,j+-1|0)|0;c=a;d=j;g=0;while(1){d=d+-1|0;f[c>>2]=g;g=c;if(!d)break;else c=c+i|0}q=U(i,j)|0;f[18025]=a+e;a=a+q|0}f[18023]=a}f[9384]=1;a=0}else a=7}while(0);f[9385]=0;c=f[9389]|0}else a=0;f[9389]=c+-1;if((c|0)>=2){q=a;t=p;return q|0}f[9390]=0;q=a;t=p;return q|0}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!a){d=KA(b|0,c|0,-1,-1)|0;a=ba()|0;if(a>>>0>0|(a|0)==0&d>>>0>2147483390){d=0;return d|0}if(!(f[9328]|0)){d=ib[f[37356>>2]&255](b)|0;return d|0}a=ib[f[37372>>2]&255](b)|0;if((f[18194]|0)>>>0>>0)f[18194]=b;b=71896;c=f[b>>2]|0;b=f[b+4>>2]|0;if((b|0)>0|(b|0)==0&c>>>0>0){d=f[18187]|0;b=LA(c|0,b|0,a|0,((a|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&b>>>0<=d>>>0)&1}b=ib[f[37356>>2]&255](a)|0;if(!b){d=0;return d|0}c=ib[f[37368>>2]&255](b)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0<=(f[18196]|0)>>>0){d=b;return d|0}f[18196]=c;d=b;return d|0}if((b|0)==0&(c|0)==0)if(!(f[9328]|0)){ob[f[37360>>2]&127](a);d=0;return d|0}else{d=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);d=0;return d|0}if(c>>>0>0|(c|0)==0&b>>>0>2147483391){d=0;return d|0}d=ib[f[37368>>2]&255](a)|0;c=ib[f[37372>>2]&255](b)|0;if((c|0)==(d|0)){d=a;return d|0}if(!(f[9328]|0)){d=jb[f[37364>>2]&255](a,c)|0;return d|0}if((f[18194]|0)>>>0>>0)f[18194]=b;b=jb[f[37364>>2]&255](a,c)|0;e=71896;g=f[e+4>>2]|0;if((b|0)==0&((g|0)>0|(g|0)==0&(f[e>>2]|0)>>>0>0))b=jb[f[37364>>2]&255](a,c)|0;if(!b){g=0;return g|0}c=(ib[f[37368>>2]&255](b)|0)-d|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0<=(f[18191]|0)>>>0){g=b;return g|0}f[18191]=c;g=b;return g|0}function Oc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=t;t=t+48|0;g=h+40|0;e=h+32|0;d=h+16|0;c=h;if(f[9384]|0){f[d>>2]=40433;f[d+4>>2]=153095;f[d+8>>2]=40460;Ac(21,40408,d);b=21;t=h;return b|0}f[c>>2]=b;do switch(a|0){case 4:{b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9339]=f[a>>2];f[9340]=f[a+4>>2];f[9341]=f[a+8>>2];f[9342]=f[a+12>>2];f[9343]=f[a+16>>2];f[9344]=f[a+20>>2];f[9345]=f[a+24>>2];f[9346]=f[a+28>>2];a=0;break}case 5:{if(!(f[9339]|0)){f[e>>2]=37648;Oc(4,e)|0}b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[a>>2]=f[9339];f[a+4>>2]=f[9340];f[a+8>>2]=f[9341];f[a+12>>2]=f[9342];f[a+16>>2]=f[9343];f[a+20>>2]=f[9344];f[a+24>>2]=f[9345];f[a+28>>2]=f[9346];a=0;break}case 9:{b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9328]=a;a=0;break}case 27:{b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9333]=a;a=0;break}case 7:{b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9378]=a;a=(f[c>>2]|0)+(4-1)&~(4-1);b=f[a>>2]|0;f[c>>2]=a+4;f[9379]=b;b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9380]=a;a=0;break}case 24:{b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[a>>2]=160;a=0;break}case 14:{a=0;break}case 15:{a=1;break}case 18:{a=(f[c>>2]|0)+(4-1)&~(4-1);d=f[a>>2]|0;f[c>>2]=a+4;a=37424;c=d;d=a+52|0;do{f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}while((a|0)<(d|0));a=0;break}case 19:{if(!(f[9358]|0)){f[g>>2]=37680;Oc(18,g)|0}d=(f[c>>2]|0)+(4-1)&~(4-1);a=f[d>>2]|0;f[c>>2]=d+4;c=37424;d=a+52|0;do{f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}while((a|0)<(d|0));a=0;break}case 13:{a=(f[c>>2]|0)+(4-1)&~(4-1);b=f[a>>2]|0;f[c>>2]=a+4;f[9336]=b;b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9337]=a;a=0;break}case 16:{a=(f[c>>2]|0)+(4-1)&~(4-1);b=f[a>>2]|0;f[c>>2]=a+4;f[9391]=b;b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9392]=a;a=0;break}case 17:{b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9331]=a;a=0;break}case 20:{b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9332]=a;a=0;break}case 22:{f[c>>2]=((f[c>>2]|0)+(8-1)&~(8-1))+8;f[c>>2]=((f[c>>2]|0)+(8-1)&~(8-1))+8;f[9374]=0;f[9375]=0;f[9376]=0;f[9377]=0;a=0;break}case 25:{b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9383]=a;a=0;break}case 26:{b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9338]=a;a=0;break}default:a=1}while(0);b=a;t=h;return b|0}function Pc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=t;t=t+1232|0;F=I+1200|0;E=I+1192|0;G=I+1168|0;x=I+1144|0;w=I+1128|0;H=I+1048|0;D=I+528|0;n=I;m=g&-256;s=g&16;A=g&8;q=g&4;k=g&1;r=g&2;a:do if(!q)B=0;else{b:do if((m|0)>=16384)if((m|0)<524288)switch(m|0){case 16384:{B=1;break a}default:break b}else switch(m|0){case 524288:{B=1;break a}default:break b}else switch(m|0){case 2048:{B=1;break a}default:{}}while(0);B=0}while(0);z=f[18028]|0;if((z|0)!=(Bz()|0)?(z=Bz()|0,f[18028]=z,(Mc()|0)==0):0)b[72791]=0;o=e;p=o+52|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));z=(m|0)==256;if(!z)if(!c){i=yd(f[a+8>>2]|0,n)|0;if(!i){v=n;i=-1}else{e=i;t=I;return e|0}}else{v=c;i=-1}else{c:do if(((f[18029]|0)!=0?(jb[f[5108>>2]&255](c,H)|0)==0:0)?(i=f[18029]|0,(i|0)!=0):0){m=f[H>>2]|0;n=f[H+72>>2]|0;while(1){if((f[i>>2]|0)==(m|0)?(v=i+8|0,(f[v+4>>2]|0)==0?(f[v>>2]|0)==(n|0):0):0)break;i=f[i+44>>2]|0;if(!i){C=20;break c}}i=i+32|0;m=f[i>>2]|0;if(m){while(1){n=m+8|0;if((f[m+4>>2]|0)==(g|0))break;m=f[n>>2]|0;if(!m){C=20;break c}else i=n}f[i>>2]=f[n>>2];i=m;m=f[m>>2]|0}else C=20}else C=20;while(0);do if((C|0)==20){if(Mc()|0){e=7;t=I;return e|0}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](12)|0;if(!i)i=7;else{m=-1;break}t=I;return i|0}i=ib[f[37372>>2]&255](12)|0;if((f[18194]|0)>>>0<12)f[18194]=12;n=71896;m=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&m>>>0>0){v=f[18187]|0;u=LA(m|0,n|0,i|0,((i|0)<0)<<31>>31|0)|0;p=ba()|0;f[17976]=((p|0)<0|(p|0)==0&u>>>0<=v>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){e=7;t=I;return e|0}m=ib[f[37368>>2]&255](i)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0>(f[18196]|0)>>>0)f[18196]=m;m=-1}while(0);f[e+28>>2]=i;v=c;i=m}u=(r|0)!=0;q=q<<4|r;q=(s|0)==0?q:q|131200;d:do if((i|0)<0){i=g&526336;e:do if(!i)if(!A)if(!((g&64|0)==0|(v|0)==0)?(l=v+(((wz(v)|0)&1073741823)+1)|0,(b[l>>0]|0)!=0):0){while(1){s=tz(l,41004)|0;l=l+(((wz(l)|0)&1073741823)+1)|0;if(!s)break;l=l+(((wz(l)|0)&1073741823)+1)|0;if(!(b[l>>0]|0)){p=0;n=0;m=0;break e}}if(!(jb[f[5108>>2]&255](l,H)|0)){l=0;m=f[H+24>>2]|0;n=f[H+20>>2]|0;o=f[H+12>>2]&511}else{l=1802;m=0;n=0;o=0}C=57}else{p=0;n=0;m=0}else{p=0;n=0;m=384}else{if(!v)l=-1;else l=((wz(v)|0)&1073741823)+-1|0;m=b[v+l>>0]|0;f:do if(m<<24>>24!=45){while(1){if(m<<24>>24==46|(l|0)==0)break;l=l+-1|0;m=b[v+l>>0]|0;if(m<<24>>24==45)break f}p=0;n=0;m=0;break e}while(0);YA(D|0,v|0,l|0)|0;b[D+l>>0]=0;if(!(jb[f[5108>>2]&255](D,H)|0)){m=f[H+24>>2]|0;l=0;n=f[H+20>>2]|0;o=f[H+12>>2]&511}else{m=0;l=1802;n=0;o=0}C=57}while(0);if((C|0)==57)if(!l){p=m;m=o}else{e=l;t=I;return e|0}l=Gd(v,q,m)|0;do if((l|0)<0){if((B?(s=mz()|0,(f[s>>2]|0)==13):0)?(jb[f[5084>>2]&255](v,0)|0)!=0:0)i=1544;else{s=mz()|0;if(u&(f[s>>2]|0)!=21?(y=Gd(v,q&131200,m)|0,(y|0)>=0):0){m=g&-8|1;k=1;l=y;i=g&526336;break}else i=0}f[w>>2]=40896;f[w+4>>2]=38389;f[w+8>>2]=40460;Ac(14,40408,w);H=mz()|0;H=f[H>>2]|0;j=Dz(H)|0;f[x>>2]=38389;f[x+4>>2]=H;f[x+8>>2]=40636;f[x+12>>2]=(v|0)==0?72788:v;f[x+16>>2]=j;Ac(14,40599,x);j=(i|0)==0?14:i;i=e+28|0;break d}else m=g;while(0);if((i|0)!=0?(hb[f[5312>>2]&127]()|0)==0:0){kb[f[5300>>2]&127](l,n,p)|0;o=l;C=69}else{o=l;C=69}}else{m=g;o=i;C=69}while(0);g:do if((C|0)==69){if(h|0)f[h>>2]=m;p=e+28|0;i=f[p>>2]|0;if(i|0){f[i>>2]=o;f[i+4>>2]=m}if(A|0)ib[f[5252>>2]&255](v)|0;l=A<<2;l=(k|0)==0?l:l|2;l=z?l:l|128;l=B?l|8:l;B=l|m&64;m=e+12|0;f[m>>2]=o;f[e+4>>2]=a;n=e+32|0;f[n>>2]=c;i=B&255;k=e+18|0;d[k>>1]=i;h:do if(!((c|0)==0|(B&64|0)==0)?(j=c+(((wz(c)|0)&1073741823)+1)|0,(b[j>>0]|0)!=0):0){while(1){B=tz(j,41011)|0;j=j+(((wz(j)|0)&1073741823)+1)|0;if(!B)break;j=j+(((wz(j)|0)&1073741823)+1)|0;if(!(b[j>>0]|0)){C=82;break h}}if((Hd(j,1,1)|0)<<24>>24){i=d[k>>1]|0;C=82}}else C=82;while(0);if((C|0)==82)d[k>>1]=i|16;if(!(tz(f[a+16>>2]|0,40589)|0))d[k>>1]=d[k>>1]|1;i:do if(!(l&128)){i=jb[f[f[a+20>>2]>>2]&255](c,e)|0;if((i|0)!=37896){if((i|0)!=37744)break;i=(wz(c)|0)+6|0;j=xd(i,((i|0)<0)<<31>>31)|0;if(j|0){f[E>>2]=c;vd(i,j,41016,E)|0;f[e+24>>2]=j;i=37744;break}f[e+24>>2]=0;f[e+20>>2]=0;if((o|0)<=-1){j=7;i=p;break g}if(!(ib[f[5072>>2]&255](o)|0)){j=7;i=p;break g}i=f[n>>2]|0;e=mz()|0;e=f[e>>2]|0;j=Dz(e)|0;f[F>>2]=37976;f[F+4>>2]=e;f[F+8>>2]=40630;f[F+12>>2]=(i|0)==0?72788:i;f[F+16>>2]=j;Ac(4106,40599,F);j=7;i=p;break g}l=e+8|0;j:do if(!(jb[f[5120>>2]&255](f[m>>2]|0,D)|0)){i=H;f[i>>2]=0;f[i+4>>2]=0;f[H>>2]=f[D>>2];i=H+8|0;f[i>>2]=f[D+72>>2];f[i+4>>2]=0;i=f[18029]|0;k:do if(!i)C=93;else{while(1){if(!(Hz(H,i,16)|0))break;i=f[i+44>>2]|0;if(!i){C=93;break k}}H=i+36|0;f[H>>2]=(f[H>>2]|0)+1}while(0);if((C|0)==93){if(Mc()|0){j=7;break}do if(!(f[9328]|0)){i=ib[f[37356>>2]&255](56)|0;if(!i){j=7;break j}}else{i=ib[f[37372>>2]&255](56)|0;if((f[18194]|0)>>>0<56)f[18194]=56;k=71896;j=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){F=f[18187]|0;E=LA(j|0,k|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&E>>>0<=F>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){j=7;break j}j=ib[f[37368>>2]&255](i)|0;j=(f[18187]|0)+j|0;f[18187]=j;if(j>>>0>(f[18191]|0)>>>0)f[18191]=j;j=(f[18190]|0)+1|0;f[18190]=j;if(j>>>0<=(f[18196]|0)>>>0)break;f[18196]=j}while(0);j=i+16|0;o=j;p=o+40|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[i>>2]=f[H>>2];f[i+4>>2]=f[H+4>>2];f[i+8>>2]=f[H+8>>2];f[i+12>>2]=f[H+12>>2];if(f[9329]|0)f[j>>2]=8;f[i+36>>2]=1;j=f[18029]|0;f[i+44>>2]=j;f[i+48>>2]=0;if(j|0)f[j+48>>2]=i;f[18029]=i}f[l>>2]=i;i=37896;break i}else{j=mz()|0;j=f[j>>2]|0;f[e+20>>2]=j;j=(j|0)==75?22:10}while(0);if(ib[f[5072>>2]&255](o)|0){if(!e)i=0;else i=f[n>>2]|0;F=mz()|0;F=f[F>>2]|0;H=Dz(F)|0;f[G>>2]=37891;f[G+4>>2]=F;f[G+8>>2]=40630;f[G+12>>2]=(i|0)==0?72788:i;f[G+16>>2]=H;Ac(4106,40599,G)}f[e+20>>2]=0;i=p;break g}else i=37820;while(0);f[e+20>>2]=0;f[e>>2]=i;Id(e);e=0;t=I;return e|0}while(0);i=f[i>>2]|0;if(!i){e=j;t=I;return e|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);e=j;t=I;return e|0}else{e=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);e=j;t=I;return e|0}return 0}function Qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=t;t=t+80|0;g=h+48|0;d=h+24|0;a=h;e=h+68|0;if((ib[f[5252>>2]&255](b)|0)==-1){g=mz()|0;if((f[g>>2]|0)==2){g=5898;t=h;return g|0}e=mz()|0;e=f[e>>2]|0;g=Dz(e)|0;f[a>>2]=38519;f[a+4>>2]=e;f[a+8>>2]=40740;f[a+12>>2]=(b|0)==0?72788:b;f[a+16>>2]=g;Ac(2570,40599,a);g=2570;t=h;return g|0}if(!(c&1)){g=0;t=h;return g|0}if(!(jb[f[5264>>2]&255](b,e)|0)){if(!(rA(f[e>>2]|0)|0))a=0;else{c=mz()|0;c=f[c>>2]|0;a=Dz(c)|0;f[d>>2]=38529;f[d+4>>2]=c;f[d+8>>2]=40998;f[d+12>>2]=(b|0)==0?72788:b;f[d+16>>2]=a;Ac(1290,40599,d);a=1290}if(ib[f[5072>>2]&255](f[e>>2]|0)|0){c=mz()|0;c=f[c>>2]|0;e=Dz(c)|0;f[g>>2]=38531;f[g+4>>2]=c;f[g+8>>2]=40630;f[g+12>>2]=72788;f[g+16>>2]=e;Ac(4106,40599,g)}}else a=0;g=a;t=h;return g|0}function Rc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=t;t=t+80|0;a=e;if(!c){c=(jb[f[5108>>2]&255](b,a)|0)==0;f[d>>2]=c&(f[a+36>>2]|0)>0&1;t=e;return 0}else{c=(jb[f[5084>>2]&255](b,6)|0)==0&1;f[d>>2]=c;t=e;return 0}return 0}function Sc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=t;t=t+256|0;A=C+168|0;z=C+152|0;y=C+128|0;x=C+112|0;v=C+96|0;u=C+72|0;s=C+56|0;r=C+40|0;w=C+16|0;q=C;l=C+172|0;m=l+12|0;n=d+-1|0;o=d+-2|0;p=(e|0)==0;a=0;g=1;while(1){if(!(jb[f[5384>>2]&255](c,l)|0))if((f[m>>2]&61440|0)==40960){if(!a){a=Fd(d)|0;if(!a){a=0;c=7;D=34;break}else j=g}else if((g|0)>99){D=9;break}else j=g+1|0;g=kb[f[5372>>2]&127](c,a,n)|0;if((g|0)<0){D=11;break}do if((b[a>>0]|0)!=47){a:do if((c|0)!=0?(B=(wz(c)|0)&1073741823,(B|0)!=0):0){h=B;while(1){i=h+-1|0;if((b[c+i>>0]|0)==47)break a;if((h|0)>1)h=i;else{h=i;break}}}else h=0;while(0);i=h+g|0;if((i|0)<(d|0)){ZA(a+h|0,a|0,g+1|0)|0;YA(a|0,c|0,h|0)|0;g=i;c=0;break}else{f[v>>2]=40896;f[v+4>>2]=38666;f[v+8>>2]=40460;Ac(14,40408,v);c=14;break}}else c=0;while(0);b[a+g>>0]=0;k=a;g=j;i=0}else{k=c;c=0;i=1}else{k=mz()|0;if((f[k>>2]|0)==2){k=c;c=0;i=1}else{D=4;break}}if((c|0)!=0|(k|0)==(e|0)){if(i){D=36;break}}else{c=(k|0)==0;if(c)h=0;else h=(wz(k)|0)&1073741823;if((b[k>>0]|0)==47)c=0;else{if(!(jb[f[5096>>2]&255](e,o)|0)){D=27;break}if(p)c=0;else c=(wz(e)|0)&1073741823;b[e+c>>0]=47;c=c+1|0}if((c+h|0)>=(d|0)){D=32;break}f[A>>2]=k;vd(d-c|0,e+c|0,40840,A)|0;if(i){c=0;D=36;break}else c=0}if(!c)c=e;else break}if((D|0)==4){f[q>>2]=40896;f[q+4>>2]=38643;f[q+8>>2]=40460;Ac(14,40408,q);e=mz()|0;e=f[e>>2]|0;B=Dz(e)|0;f[w>>2]=38643;f[w+4>>2]=e;f[w+8>>2]=40828;f[w+12>>2]=(c|0)==0?72788:c;f[w+16>>2]=B;Ac(14,40599,w);c=14;D=36}else if((D|0)==9){f[r>>2]=40896;f[r+4>>2]=38654;f[r+8>>2]=40460;Ac(14,40408,r);c=14;D=34}else if((D|0)==11){f[s>>2]=40896;f[s+4>>2]=38660;f[s+8>>2]=40460;Ac(14,40408,s);e=mz()|0;e=f[e>>2]|0;B=Dz(e)|0;f[u>>2]=38660;f[u+4>>2]=e;f[u+8>>2]=40819;f[u+12>>2]=(c|0)==0?72788:c;f[u+16>>2]=B;Ac(14,40599,u);c=14;D=34}else if((D|0)==27){f[x>>2]=40896;f[x+4>>2]=38586;f[x+8>>2]=40460;Ac(14,40408,x);e=mz()|0;e=f[e>>2]|0;B=Dz(e)|0;f[y>>2]=38586;f[y+4>>2]=e;f[y+8>>2]=40648;f[y+12>>2]=c?72788:k;f[y+16>>2]=B;Ac(14,40599,y);c=14;D=34}else if((D|0)==32){b[e+c>>0]=0;f[z>>2]=40896;f[z+4>>2]=38595;f[z+8>>2]=40460;Ac(14,40408,z);c=14;D=34}if(!a){t=C;return c|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);t=C;return c|0}else{D=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);t=C;return c|0}return 0}function Tc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=t;t=t+32|0;h=i+8|0;g=i;a=i+28|0;_A(d|0,0,c|0)|0;e=Bz()|0;f[18028]=e;while(1){e=kb[f[5060>>2]&127](40985,524288,420)|0;if((e|0)<0){e=mz()|0;if((f[e>>2]|0)!=4){j=8;break}}else{if((e|0)>2)break;ib[f[5072>>2]&255](e)|0;f[g>>2]=40985;f[g+4>>2]=e;Ac(28,40843,g);if((kb[f[5060>>2]&127](40886,0,0)|0)<0){j=8;break}}}if((j|0)==8){bb(a|0)|0;j=f[a>>2]|0;b[d>>0]=j;b[d+1>>0]=j>>8;b[d+2>>0]=j>>16;b[d+3>>0]=j>>24;j=d+4|0;d=f[18028]|0;b[j>>0]=d;b[j+1>>0]=d>>8;b[j+2>>0]=d>>16;b[j+3>>0]=d>>24;j=8;t=i;return j|0}do{if((kb[f[5156>>2]&127](e,d,c)|0)>=0)break;j=mz()|0}while((f[j>>2]|0)==4);if(!(ib[f[5072>>2]&255](e)|0)){j=c;t=i;return j|0}d=mz()|0;d=f[d>>2]|0;j=Dz(d)|0;f[h>>2]=38790;f[h+4>>2]=d;f[h+8>>2]=40630;f[h+12>>2]=72788;f[h+16>>2]=j;Ac(4106,40599,h);j=c;t=i;return j|0}function Uc(a,b){a=a|0;b=b|0;b=(b+999999|0)/1e6|0;sA(b)|0;return b*1e6|0}function Vc(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0,g=0;a=t;t=t+16|0;d=a;Va(d|0,0)|0;g=f[d>>2]|0;g=QA(g|0,((g|0)<0)<<31>>31|0,1e3,0)|0;g=KA(g|0,ba()|0,1045635584,49096)|0;e=ba()|0;d=(f[d+4>>2]|0)/1e3|0;d=KA(g|0,e|0,d|0,((d|0)<0)<<31>>31|0)|0;c=(+(d>>>0)+4294967296.0*+(ba()|0))/864.0e5;p[b>>3]=c;t=a;return 0}function Wc(a,b,c){a=a|0;b=b|0;c=c|0;c=mz()|0;return f[c>>2]|0}function Xc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;a=t;t=t+16|0;d=a;Va(d|0,0)|0;e=f[d>>2]|0;e=QA(e|0,((e|0)<0)<<31>>31|0,1e3,0)|0;e=KA(e|0,ba()|0,1045635584,49096)|0;c=ba()|0;d=(f[d+4>>2]|0)/1e3|0;d=KA(e|0,c|0,d|0,((d|0)<0)<<31>>31|0)|0;c=ba()|0;f[b>>2]=d;f[b+4>>2]=c;t=a;return 0}function Yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(b|0){do if(tz(b,f[1264]|0)|0)if(tz(b,f[1267]|0)|0)if(tz(b,f[1270]|0)|0)if(tz(b,f[1273]|0)|0)if(tz(b,f[1276]|0)|0)if(tz(b,f[1279]|0)|0)if(tz(b,f[1282]|0)|0)if(tz(b,f[1285]|0)|0)if(tz(b,f[1288]|0)|0)if(tz(b,f[1291]|0)|0)if(tz(b,f[1294]|0)|0)if(tz(b,f[1297]|0)|0)if(tz(b,f[1300]|0)|0)if(tz(b,f[1303]|0)|0)if(tz(b,f[1306]|0)|0)if(tz(b,f[1309]|0)|0)if(!(tz(b,f[1312]|0)|0))d=16;else{if(!(tz(b,f[1315]|0)|0)){d=17;break}if(!(tz(b,f[1318]|0)|0)){d=18;break}if(!(tz(b,f[1321]|0)|0)){d=19;break}if(!(tz(b,f[1324]|0)|0)){d=20;break}if(!(tz(b,f[1327]|0)|0)){d=21;break}if(!(tz(b,f[1330]|0)|0)){d=22;break}if(!(tz(b,f[1333]|0)|0)){d=23;break}if(!(tz(b,f[1336]|0)|0)){d=24;break}if(!(tz(b,f[1339]|0)|0)){d=25;break}if(!(tz(b,f[1342]|0)|0)){d=26;break}if(!(tz(b,f[1345]|0)|0)){d=27;break}if(!(tz(b,f[1348]|0)|0)){d=28;break}else a=12;return a|0}else d=15;else d=14;else d=13;else d=12;else d=11;else d=10;else d=9;else d=8;else d=7;else d=6;else d=5;else d=4;else d=3;else d=2;else d=1;else d=0;while(0);b=5056+(d*12|0)+8|0;a=f[b>>2]|0;if(!a){a=f[5056+(d*12|0)+4>>2]|0;f[b>>2]=a}f[5056+(d*12|0)+4>>2]=(c|0)==0?a:c;c=0;return c|0}a=f[1266]|0;if(a|0)f[1265]=a;a=f[1269]|0;if(a|0)f[1268]=a;a=f[1272]|0;if(a|0)f[1271]=a;a=f[1275]|0;if(a|0)f[1274]=a;a=f[1278]|0;if(a|0)f[1277]=a;a=f[1281]|0;if(a|0)f[1280]=a;a=f[1284]|0;if(a|0)f[1283]=a;a=f[1287]|0;if(a|0)f[1286]=a;a=f[1290]|0;if(a|0)f[1289]=a;a=f[1293]|0;if(a|0)f[1292]=a;a=f[1296]|0;if(a|0)f[1295]=a;a=f[1299]|0;if(a|0)f[1298]=a;a=f[1302]|0;if(a|0)f[1301]=a;a=f[1305]|0;if(a|0)f[1304]=a;a=f[1308]|0;if(a|0)f[1307]=a;a=f[1311]|0;if(a|0)f[1310]=a;a=f[1314]|0;if(a|0)f[1313]=a;a=f[1317]|0;if(a|0)f[1316]=a;a=f[1320]|0;if(a|0)f[1319]=a;a=f[1323]|0;if(a|0)f[1322]=a;a=f[1326]|0;if(a|0)f[1325]=a;a=f[1329]|0;if(a|0)f[1328]=a;a=f[1332]|0;if(a|0)f[1331]=a;a=f[1335]|0;if(a|0)f[1334]=a;a=f[1338]|0;if(a|0)f[1337]=a;a=f[1341]|0;if(a|0)f[1340]=a;a=f[1344]|0;if(a|0)f[1343]=a;a=f[1347]|0;if(a|0)f[1346]=a;a=f[1350]|0;if(!a){c=0;return c|0}f[1349]=a;c=0;return c|0}function Zc(a,b){a=a|0;b=b|0;do if(tz(b,f[1264]|0)|0)if(tz(b,f[1267]|0)|0)if(tz(b,f[1270]|0)|0)if(tz(b,f[1273]|0)|0)if(tz(b,f[1276]|0)|0)if(tz(b,f[1279]|0)|0)if(tz(b,f[1282]|0)|0)if(tz(b,f[1285]|0)|0)if(tz(b,f[1288]|0)|0)if(tz(b,f[1291]|0)|0)if(tz(b,f[1294]|0)|0)if(tz(b,f[1297]|0)|0)if(tz(b,f[1300]|0)|0)if(tz(b,f[1303]|0)|0)if(tz(b,f[1306]|0)|0)if(tz(b,f[1309]|0)|0)if(tz(b,f[1312]|0)|0)if(tz(b,f[1315]|0)|0)if(!(tz(b,f[1318]|0)|0))a=18;else{if(!(tz(b,f[1321]|0)|0)){a=19;break}if(!(tz(b,f[1324]|0)|0)){a=20;break}if(!(tz(b,f[1327]|0)|0)){a=21;break}if(!(tz(b,f[1330]|0)|0)){a=22;break}if(!(tz(b,f[1333]|0)|0)){a=23;break}if(!(tz(b,f[1336]|0)|0)){a=24;break}if(!(tz(b,f[1339]|0)|0)){a=25;break}if(!(tz(b,f[1342]|0)|0)){a=26;break}if(!(tz(b,f[1345]|0)|0)){a=27;break}if(!(tz(b,f[1348]|0)|0)){a=28;break}else a=0;return a|0}else a=17;else a=16;else a=15;else a=14;else a=13;else a=12;else a=11;else a=10;else a=9;else a=8;else a=7;else a=6;else a=5;else a=4;else a=3;else a=2;else a=1;else a=0;while(0);b=f[5056+(a*12|0)+4>>2]|0;return b|0}function _c(a,b){a=a|0;b=b|0;var c=0;do if(b)if(tz(b,f[1264]|0)|0)if(tz(b,f[1267]|0)|0)if(tz(b,f[1270]|0)|0)if(tz(b,f[1273]|0)|0)if(tz(b,f[1276]|0)|0)if(tz(b,f[1279]|0)|0)if(tz(b,f[1282]|0)|0)if(tz(b,f[1285]|0)|0)if(tz(b,f[1288]|0)|0)if(tz(b,f[1291]|0)|0)if(tz(b,f[1294]|0)|0)if(tz(b,f[1297]|0)|0)if(tz(b,f[1300]|0)|0)if(tz(b,f[1303]|0)|0)if(tz(b,f[1306]|0)|0)if(tz(b,f[1309]|0)|0)if(tz(b,f[1312]|0)|0)if(!(tz(b,f[1315]|0)|0))a=17;else{if(!(tz(b,f[1318]|0)|0)){a=18;break}if(!(tz(b,f[1321]|0)|0)){a=19;break}if(!(tz(b,f[1324]|0)|0)){a=20;break}if(!(tz(b,f[1327]|0)|0)){a=21;break}if(!(tz(b,f[1330]|0)|0)){a=22;break}if(!(tz(b,f[1333]|0)|0)){a=23;break}if(!(tz(b,f[1336]|0)|0)){a=24;break}if(!(tz(b,f[1339]|0)|0)){a=25;break}if(!(tz(b,f[1342]|0)|0)){a=26;break}if(!(tz(b,f[1345]|0)|0)){a=27;break}else a=0;return a|0}else a=16;else a=15;else a=14;else a=13;else a=12;else a=11;else a=10;else a=9;else a=8;else a=7;else a=6;else a=5;else a=4;else a=3;else a=2;else a=1;else a=0;else a=-1;while(0);while(1){b=a;a=a+1|0;if(f[5056+(a*12|0)+4>>2]|0)break;if((b|0)>=27){a=0;c=8;break}}if((c|0)==8)return a|0;c=f[5056+(a*12|0)>>2]|0;return c|0}function $c(a,b){a=a|0;b=b|0;return 37744}function ad(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;g=t;t=t+32|0;e=g;d=a+24|0;c=a+16|0;do if(b[c>>0]|0){if((ib[f[5288>>2]&255](f[d>>2]|0)|0)>=0){b[c>>0]=0;break}c=mz()|0;c=f[c>>2]|0;if((c|0)!=2)f[a+20>>2]=c}while(0);c=f[d>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=a+12|0;d=f[c>>2]|0;if((d|0)>-1){if(ib[f[5072>>2]&255](d)|0){h=f[a+32>>2]|0;i=mz()|0;i=f[i>>2]|0;d=Dz(i)|0;f[e>>2]=34408;f[e+4>>2]=i;f[e+8>>2]=40630;f[e+12>>2]=(h|0)==0?72788:h;f[e+16>>2]=d;Ac(4106,40599,e)}f[c>>2]=-1}c=f[a+28>>2]|0;if(!c){c=a;d=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));t=g;return 0}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=a;d=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));t=g;return 0}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=a;d=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));t=g;return 0}return 0}function bd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=a+12|0;g=0;h=c;i=b;while(1){if((pA(f[l>>2]|0,d,0)|0)<0){e=3;break}j=kb[f[5156>>2]&127](f[l>>2]|0,i,h)|0;if((h|0)==(j|0)){e=10;break}if((j|0)<0){k=mz()|0;if((f[k>>2]|0)==4)k=1;else{e=7;break}}else{d=KA(d|0,e|0,j|0,((j|0)<0)<<31>>31|0)|0;e=ba()|0;k=j;g=j+g|0;h=h-j|0;i=(j|0)==0?i:i+j|0}if((k|0)<=0){h=0;e=10;break}}if((e|0)==3){g=mz()|0;f[a+20>>2]=f[g>>2];g=-1}else if((e|0)==7){h=mz()|0;f[a+20>>2]=f[h>>2];h=j;g=0;e=10}if((e|0)==10)g=g+h|0;if((g|0)==(c|0)){c=0;return c|0}if((g|0)<0){c=266;return c|0}f[a+20>>2]=0;_A(b+g|0,0,c-g|0)|0;c=522;return c|0}function cd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;i=a+12|0;j=c;h=e;a:while(1){c=f[i>>2]|0;g=j&131071;while(1){if((pA(c,d,0)|0)<0){e=-1;b=6;break a}e=kb[f[5192>>2]&127](c,b,g)|0;if((e|0)>=0)break;k=mz()|0;if((f[k>>2]|0)!=4){b=6;break a}}c=(j|0)>(e|0);if(!(c&(e|0)!=0)){b=9;break}k=KA(d|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;j=j-e|0;b=b+e|0;h=ba()|0;d=k}if((b|0)==6){c=a+20|0;b=mz()|0;b=f[b>>2]|0;f[c>>2]=b;if((j|0)<=(e|0)){k=0;return k|0}if((b|0)!=28){k=778;return k|0}}else if((b|0)==9)if(c)c=a+20|0;else{k=0;return k|0}f[c>>2]=0;k=13;return k|0}function dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=t;t=t+32|0;h=j;e=f[a+40>>2]|0;g=((e|0)<0)<<31>>31;c=KA(b|0,c|0,-1,-1)|0;c=KA(c|0,ba()|0,e|0,g|0)|0;d=ba()|0;if((e|0)>0){b=RA(c|0,d|0,e|0,g|0)|0;b=LA(c|0,d|0,b|0,ba()|0)|0;ba()|0}c=f[a+12>>2]|0;do{d=jb[f[5132>>2]&255](c,b)|0;if((d|0)>=0){i=6;break}g=mz()|0}while((f[g>>2]|0)==4);if((i|0)==6?(d|0)==0:0){i=0;t=j;return i|0}g=mz()|0;f[a+20>>2]=f[g>>2];a=f[a+32>>2]|0;g=mz()|0;g=f[g>>2]|0;i=Dz(g)|0;f[h>>2]=36097;f[h+4>>2]=g;f[h+8>>2]=40666;f[h+12>>2]=(a|0)==0?72788:a;f[h+16>>2]=i;Ac(1546,40599,h);i=1546;t=j;return i|0}function ed(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0;h=t;t=t+48|0;g=h+24|0;b=h;e=h+44|0;if(rA(f[a+12>>2]|0)|0){e=mz()|0;f[a+20>>2]=f[e>>2];e=f[a+32>>2]|0;a=mz()|0;a=f[a>>2]|0;g=Dz(a)|0;f[b>>2]=36052;f[b+4>>2]=a;f[b+8>>2]=40974;f[b+12>>2]=(e|0)==0?72788:e;f[b+16>>2]=g;Ac(1034,40599,b);g=1034;t=h;return g|0}c=a+18|0;if(!(d[c>>1]&8)){g=0;t=h;return g|0}b=a+32|0;if((jb[f[5264>>2]&255](f[b>>2]|0,e)|0)==0?(rA(f[e>>2]|0)|0,ib[f[5072>>2]&255](f[e>>2]|0)|0):0){a=f[b>>2]|0;b=mz()|0;b=f[b>>2]|0;e=Dz(b)|0;f[g>>2]=36066;f[g+4>>2]=b;f[g+8>>2]=40630;f[g+12>>2]=(a|0)==0?72788:a;f[g+16>>2]=e;Ac(4106,40599,g)}d[c>>1]=d[c>>1]&-9;g=0;t=h;return g|0}function fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=t;t=t+80|0;c=d;if(!(jb[f[5120>>2]&255](f[a+12>>2]|0,c)|0)){a=f[c+36>>2]|0;e=(a|0)==1;c=b;f[c>>2]=e?0:a;f[c+4>>2]=e?0:((a|0)<0)<<31>>31;c=0;t=d;return c|0}else{e=mz()|0;f[a+20>>2]=f[e>>2];e=1802;t=d;return e|0}return 0}function gd(a,c){a=a|0;c=c|0;var d=0,e=0;d=f[a+24>>2]|0;e=a+16|0;if(b[e>>0]|0){b[e>>0]=c;eb(d|0,0)|0;a=0;return a|0}d=jb[f[5276>>2]&255](d,511)|0;if((d|0)>=0){b[e>>0]=c;a=d;return a|0}c=mz()|0;c=f[c>>2]|0;switch(c|0){case 1:{d=3;break}case 37:case 4:case 16:case 110:case 11:case 13:case 17:{a=5;return a|0}default:d=3850}f[a+20>>2]=c;a=d;return a|0}function hd(a,c){a=a|0;c=c|0;var d=0,e=0;d=f[a+24>>2]|0;e=a+16|0;if((h[e>>0]|0|0)==(c|0)){a=0;return a|0}if((c|0)==1){b[e>>0]=1;a=0;return a|0}if((ib[f[5288>>2]&255](d)|0)>=0){b[e>>0]=0;a=0;return a|0}c=mz()|0;c=f[c>>2]|0;if((c|0)==2){a=0;return a|0}f[a+20>>2]=c;a=2058;return a|0}function id(a,b){a=a|0;b=b|0;a=(jb[f[5084>>2]&255](f[a+24>>2]|0,0)|0)==0&1;f[b>>2]=a;return 0}function jd(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;w=t;t=t+80|0;e=w;m=w+4|0;do switch(b|0){case 1:{f[c>>2]=h[a+16>>0];a=0;t=w;return a|0}case 4:{f[c>>2]=f[a+20>>2];a=0;t=w;return a|0}case 6:{f[a+40>>2]=f[c>>2];a=0;t=w;return a|0}case 5:{e=c;b=f[e>>2]|0;e=f[e+4>>2]|0;g=a+40|0;if((f[g>>2]|0)<=0){a=0;t=w;return a|0}o=a+12|0;a:do if(!(jb[f[5120>>2]&255](f[o>>2]|0,m)|0)){c=f[g>>2]|0;i=((c|0)<0)<<31>>31;b=KA(b|0,e|0,-1,-1)|0;b=KA(b|0,ba()|0,c|0,i|0)|0;k=ba()|0;i=RA(b|0,k|0,c|0,i|0)|0;i=LA(b|0,k|0,i|0,ba()|0)|0;k=ba()|0;b=f[m+36>>2]|0;c=((b|0)<0)<<31>>31;b:do if((k|0)>(c|0)|(k|0)==(c|0)&i>>>0>b>>>0?(p=f[m+40>>2]|0,n=b+-1+p-((b|0)%(p|0)|0)|0,l=((n|0)<0)<<31>>31,q=((p|0)<0)<<31>>31,r=KA(i|0,k|0,-1,-1)|0,s=ba()|0,u=KA(r|0,s|0,p|0,q|0)|0,v=ba()|0,(v|0)>(l|0)|(v|0)==(l|0)&u>>>0>n>>>0):0){e=l;b=n;c:while(1){n=(e|0)<(k|0)|(e|0)==(k|0)&b>>>0>>0;g=n?b:r;b=n?e:s;e=f[o>>2]|0;while(1){if((pA(e,g,0)|0)<0)break c;c=kb[f[5192>>2]&127](e,72788,1)|0;if((c|0)>=0)break;n=mz()|0;if((f[n>>2]|0)!=4)break c}b=KA(g|0,b|0,p|0,q|0)|0;e=ba()|0;if((c|0)!=1){b=778;break a}if(!((e|0)<(v|0)|(e|0)==(v|0)&b>>>0>>0))break b}b=mz()|0;f[a+20>>2]=f[b>>2];b=778;break a}while(0);a=0;t=w;return a|0}else b=1802;while(0);a=b;t=w;return a|0}case 10:{g=f[c>>2]|0;if((g|0)<0){f[c>>2]=(j[a+18>>1]|0)>>>2&1;a=0;t=w;return a|0}b=a+18|0;e=j[b>>1]|0;if(!g){d[b>>1]=e&65531;a=0;t=w;return a|0}else{d[b>>1]=e|4;a=0;t=w;return a|0}}case 13:{g=f[c>>2]|0;if((g|0)<0){f[c>>2]=(j[a+18>>1]|0)>>>4&1;a=0;t=w;return a|0}b=a+18|0;e=j[b>>1]|0;if(!g){d[b>>1]=e&65519;a=0;t=w;return a|0}else{d[b>>1]=e|16;a=0;t=w;return a|0}}case 12:{f[e>>2]=f[(f[a+4>>2]|0)+16>>2];a=wd(40840,e)|0;f[c>>2]=a;a=0;t=w;return a|0}case 16:{b=a+4|0;e=f[(f[b>>2]|0)+8>>2]|0;e=xd(e,((e|0)<0)<<31>>31)|0;if(!e){a=0;t=w;return a|0}yd(f[(f[b>>2]|0)+8>>2]|0,e)|0;f[c>>2]=e;a=0;t=w;return a|0}case 20:{b=a+8|0;if(f[b>>2]|0)if(!(jb[f[5108>>2]&255](f[a+32>>2]|0,m)|0)){b=(f[b>>2]|0)+8|0;b=(f[b+4>>2]|0?1:(f[b>>2]|0)!=(f[m+72>>2]|0))&1}else b=1;else b=0;f[c>>2]=b;a=0;t=w;return a|0}default:{a=12;t=w;return a|0}}while(0);return 0}function kd(a){a=a|0;var b=0,c=0;b=a+44|0;c=f[b>>2]|0;if(c|0)return c|0;if(d[a+18>>1]&16){c=a+48|0;f[c>>2]=f[c>>2]|4096}f[b>>2]=4096;c=4096;return c|0}function ld(a){a=a|0;var b=0,c=0;b=a+44|0;if(!(f[b>>2]|0)){if(d[a+18>>1]&16){c=a+48|0;f[c>>2]=f[c>>2]|4096}f[b>>2]=4096}return f[a+48>>2]|0}function md(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=t;t=t+48|0;i=r+16|0;n=r+8|0;m=r;p=r+24|0;q=f[a+36>>2]|0;g=f[q>>2]|0;o=(1<>2]|0;if(!h)g=0;else{g=0;do{if((h|0)!=(q|0))g=d[h+10>>1]|g;h=f[h+4>>2]|0}while((h|0)!=0)}h=o&65535;if(((o&(g&65535)|0)==0?(l=f[(f[(f[a+8>>2]|0)+40>>2]|0)+12>>2]|0,(l|0)>-1):0)?(d[p>>1]=2,d[p+2>>1]=0,f[p+4>>2]=b+120,f[p+8>>2]=c,c=f[1286]|0,f[m>>2]=p,(kb[c&127](l,13,m)|0)==-1):0){q=5;t=r;return q|0}p=~h;c=q+12|0;d[c>>1]=(j[c>>1]|0)&p;q=q+10|0;d[q>>1]=(j[q>>1]|0)&p;q=0;t=r;return q|0}g=f[g+32>>2]|0;h=(g|0)==0;if(!(e&4)){a:do if(!h){while(1){if(o&(j[g+12>>1]|0)|0){g=5;h=33;break}if(o&(j[g+10>>1]|0)|0){g=5;h=33;break}g=f[g+4>>2]|0;if(!g)break a}if((h|0)==33){t=r;return g|0}}while(0);g=f[(f[(f[a+8>>2]|0)+40>>2]|0)+12>>2]|0;if((g|0)>-1?(d[p>>1]=1,d[p+2>>1]=0,f[p+4>>2]=b+120,f[p+8>>2]=c,c=f[1286]|0,f[i>>2]=p,(kb[c&127](g,13,i)|0)==-1):0){q=5;t=r;return q|0}q=q+12|0;d[q>>1]=o|(j[q>>1]|0);q=0;t=r;return q|0}else{b:do if(h)g=0;else{h=0;while(1){if(o&(j[g+12>>1]|0)|0){g=5;break}h=d[g+10>>1]|h;g=f[g+4>>2]|0;if(!g){g=h;break b}}t=r;return g|0}while(0);if(((o&(g&65535)|0)==0?(k=f[(f[(f[a+8>>2]|0)+40>>2]|0)+12>>2]|0,(k|0)>-1):0)?(d[p>>1]=0,d[p+2>>1]=0,f[p+4>>2]=b+120,f[p+8>>2]=c,c=f[1286]|0,f[n>>2]=p,(kb[c&127](k,13,n)|0)==-1):0){q=5;t=r;return q|0}q=q+10|0;d[q>>1]=o|(j[q>>1]|0);q=0;t=r;return q|0}return 0}function nd(a){a=a|0;return}function od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;d=a+36|0;e=f[d>>2]|0;if(!e)return 0;g=f[e>>2]|0;c=g+32|0;while(1){h=f[c>>2]|0;if((h|0)==(e|0))break;else c=h+4|0}f[c>>2]=f[e+4>>2];if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{h=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}f[d>>2]=0;e=g+28|0;h=(f[e>>2]|0)+-1|0;f[e>>2]=h;if(h|0)return 0;if(b|0?(f[g+12>>2]|0)>-1:0)ib[f[5252>>2]&255](f[g+8>>2]|0)|0;rd(a);return 0}function pd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[e>>2]=0;return 0}function qd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function rd(a){a=a|0;var b=0,c=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0;n=t;t=t+32|0;m=n;l=f[(f[a+8>>2]|0)+40>>2]|0;if(!l){t=n;return}if(f[l+28>>2]|0){t=n;return}c=hb[f[5360>>2]&127]()|0;c=(c|0)<32768?1:(c|0)/32768|0;g=l+20|0;if(!(d[g>>1]|0))b=l+24|0;else{h=l+12|0;b=l+24|0;i=l+16|0;e=0;do{do if((f[h>>2]|0)<=-1){k=f[(f[b>>2]|0)+(e<<2)>>2]|0;if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{o=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}else jb[f[5336>>2]&255](f[(f[b>>2]|0)+(e<<2)>>2]|0,f[i>>2]|0)|0;while(0);e=e+c|0}while((e|0)<(j[g>>1]|0))}b=f[b>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{o=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);c=l+12|0;b=f[c>>2]|0;if((b|0)>-1){if(ib[f[5072>>2]&255](b)|0){if(!a)b=0;else b=f[a+32>>2]|0;a=mz()|0;a=f[a>>2]|0;o=Dz(a)|0;f[m>>2]=36721;f[m+4>>2]=a;f[m+8>>2]=40630;f[m+12>>2]=(b|0)==0?72788:b;f[m+16>>2]=o;Ac(4106,40599,m)}f[c>>2]=-1}f[(f[l>>2]|0)+40>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);t=n;return}else{o=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);t=n;return}}function sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=t;t=t+16|0;e=d;f[e>>2]=c;c=Iz(a,b,e)|0;t=d;return c|0}function td(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=t;t=t+576|0;g=j+552|0;h=j+536|0;d=j+528|0;k=j+520|0;e=j;f[k>>2]=a;vd(512,e,40840,k)|0;a=wz(e)|0;a:do if((a|0)>0)while(1){if((b[e+a>>0]|0)==47)break a;if((a|0)>1)a=a+-1|0;else{i=5;break}}else i=5;while(0);if((i|0)==5)if((b[e>>0]|0)==47)a=1;else{b[e>>0]=46;a=1}b[e+a>>0]=0;while(1){a=kb[f[5060>>2]&127](e,524288,420)|0;if((a|0)<0){k=mz()|0;if((f[k>>2]|0)!=4){i=14;break}}else{if((a|0)>2){i=13;break}ib[f[5072>>2]&255](a)|0;f[d>>2]=e;f[d+4>>2]=a;Ac(28,40843,d);if((kb[f[5060>>2]&127](40886,0,0)|0)<0){a=-1;i=14;break}}}if((i|0)==13){f[c>>2]=a;k=0;t=j;return k|0}else if((i|0)==14){f[c>>2]=a;f[h>>2]=40896;f[h+4>>2]=36011;f[h+8>>2]=40460;Ac(14,40408,h);i=mz()|0;i=f[i>>2]|0;k=Dz(i)|0;f[g>>2]=36011;f[g+4>>2]=i;f[g+8>>2]=40747;f[g+12>>2]=e;f[g+16>>2]=k;Ac(14,40599,g);k=14;t=j;return k|0}return 0}function ud(){return ab(30)|0}function vd(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0;j=t;t=t+48|0;h=j+16|0;i=j;f[i>>2]=g;if((a|0)<1){t=j;return c|0}f[h+4>>2]=c;f[h>>2]=0;f[h+8>>2]=a;g=h+12|0;f[g>>2]=0;f[g+4>>2]=0;d[g+8>>1]=0;Bc(h,e,i);b[c+(f[h+16>>2]|0)>>0]=0;t=j;return c|0}function wd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=t;t=t+112|0;j=k+88|0;h=k;if(Mc()|0){j=0;t=k;return j|0}f[h>>2]=c;do if(!(Mc()|0)){i=j+4|0;f[i>>2]=k+16;f[j>>2]=0;f[j+8>>2]=70;d=j+12|0;f[d>>2]=1e9;e=j+16|0;f[e>>2]=0;b[j+20>>0]=0;g=j+21|0;b[g>>0]=0;Bc(j,a,h);c=f[i>>2]|0;if((c|0?(b[c+(f[e>>2]|0)>>0]=0,f[d>>2]|0):0)?(b[g>>0]&4)==0:0){c=Cc(j)|0;break}c=f[i>>2]|0}else c=0;while(0);j=c;t=k;return j|0}function xd(a,b){a=a|0;b=b|0;var c=0,d=0;c=(Mc()|0)!=0;b=KA(a|0,b|0,-1,-1)|0;d=ba()|0;if(d>>>0>0|(d|0)==0&b>>>0>2147483390|c){d=0;return d|0}if(!(f[9328]|0)){d=ib[f[37356>>2]&255](a)|0;return d|0}c=ib[f[37372>>2]&255](a)|0;if((f[18194]|0)>>>0>>0)f[18194]=a;a=71896;b=f[a>>2]|0;a=f[a+4>>2]|0;if((a|0)>0|(a|0)==0&b>>>0>0){d=f[18187]|0;a=LA(b|0,a|0,c|0,((c|0)<0)<<31>>31|0)|0;b=ba()|0;f[17976]=((b|0)<0|(b|0)==0&a>>>0<=d>>>0)&1}a=ib[f[37356>>2]&255](c)|0;if(!a){d=0;return d|0}b=ib[f[37368>>2]&255](a)|0;b=(f[18187]|0)+b|0;f[18187]=b;if(b>>>0>(f[18191]|0)>>>0)f[18191]=b;b=(f[18190]|0)+1|0;f[18190]=b;if(b>>>0<=(f[18196]|0)>>>0){d=a;return d|0}f[18196]=b;d=a;return d|0}function yd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=t;t=t+112|0;j=k+80|0;i=k;b[c>>0]=0;d=f[17978]|0;if(!(f[1352]|0)){g=Ua(40913)|0;f[1352]=g}if(!(f[1353]|0)){g=Ua(40927)|0;f[1353]=g}e=i+12|0;g=d;d=0;while(1){if(((g|0?(jb[f[5108>>2]&255](g,i)|0)==0:0)?(f[e>>2]&61440|0)==16384:0)?(jb[f[5084>>2]&255](g,3)|0)==0:0)break;if(d>>>0>5){h=11;break}g=f[5408+(d<<2)>>2]|0;d=d+1|0}if((h|0)==11){j=6410;t=k;return j|0}e=c+(a+-2)|0;d=0;while(1){zd(8,i);b[e>>0]=0;l=i;m=f[l>>2]|0;l=f[l+4>>2]|0;f[j>>2]=g;h=j+8|0;f[h>>2]=m;f[h+4>>2]=l;f[j+16>>2]=0;vd(a,c,40934,j)|0;if(d>>>0>10|(b[e>>0]|0)!=0){d=1;h=16;break}if(!(jb[f[5084>>2]&255](c,0)|0))d=d+1|0;else{d=0;h=16;break}}if((h|0)==16){t=k;return d|0}return 0}function zd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;i=t;t=t+256|0;g=i;if(Mc()|0){t=i;return}if((a|0)<1|(c|0)==0){b[72791]=0;t=i;return}if(!(b[72791]|0)){b[72793]=0;b[72792]=0;d=(Mc()|0)==0;d=d?f[18002]|0:0;kb[f[d+56>>2]&127](d,256,g)|0;d=0;do{b[72794+d>>0]=d;d=d+1|0}while((d|0)!=256);d=0;e=b[72793]|0;do{j=72794+d|0;m=b[j>>0]|0;l=(h[g+d>>0]|0)+(m&255)+(e&255)|0;e=l&255;l=72794+(l&255)|0;k=b[l>>0]|0;b[l>>0]=m;b[j>>0]=k;d=d+1|0}while((d|0)!=256);b[72793]=e;b[72791]=1}while(1){l=(b[72792]|0)+1<<24>>24;b[72792]=l;l=72794+(l&255)|0;j=b[l>>0]|0;m=j&255;k=(h[72793]|0)+m|0;b[72793]=k;k=72794+(k&255)|0;b[l>>0]=b[k>>0]|0;b[k>>0]=j;b[c>>0]=b[72794+((h[l>>0]|0)+m&255)>>0]|0;a=a+-1|0;if(!a)break;else c=c+1|0}t=i;return}function Ad(a,b){a=a|0;b=b|0;return 37820}function Bd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;e=t;t=t+32|0;d=e;b=a+12|0;c=f[b>>2]|0;if((c|0)>-1){if(ib[f[5072>>2]&255](c)|0){g=f[a+32>>2]|0;h=mz()|0;h=f[h>>2]|0;c=Dz(h)|0;f[d>>2]=34408;f[d+4>>2]=h;f[d+8>>2]=40630;f[d+12>>2]=(g|0)==0?72788:g;f[d+16>>2]=c;Ac(4106,40599,d)}f[b>>2]=-1}b=f[a+28>>2]|0;if(!b){b=a;c=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));t=e;return 0}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);b=a;c=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));t=e;return 0}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);b=a;c=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));t=e;return 0}return 0}function Cd(a,b){a=a|0;b=b|0;return 0}function Dd(a,b){a=a|0;b=b|0;return 0}function Ed(a,b){a=a|0;b=b|0;f[b>>2]=0;return 0}function Fd(a){a=a|0;var b=0,c=0,d=0;if((a|0)<1|(Mc()|0)!=0){c=0;return c|0}c=KA(a|0,((a|0)<0)<<31>>31|0,-1,-1)|0;b=ba()|0;if(b>>>0>0|(b|0)==0&c>>>0>2147483390){c=0;return c|0}if(!(f[9328]|0)){c=ib[f[37356>>2]&255](a)|0;return c|0}c=ib[f[37372>>2]&255](a)|0;if((f[18194]|0)>>>0>>0)f[18194]=a;b=71896;a=f[b>>2]|0;b=f[b+4>>2]|0;if((b|0)>0|(b|0)==0&a>>>0>0){d=f[18187]|0;b=LA(a|0,b|0,c|0,((c|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&b>>>0<=d>>>0)&1}b=ib[f[37356>>2]&255](c)|0;if(!b){d=0;return d|0}a=ib[f[37368>>2]&255](b)|0;a=(f[18187]|0)+a|0;f[18187]=a;if(a>>>0>(f[18191]|0)>>>0)f[18191]=a;a=(f[18190]|0)+1|0;f[18190]=a;if(a>>>0<=(f[18196]|0)>>>0){d=b;return d|0}f[18196]=a;d=b;return d|0}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=t;t=t+96|0;h=k;i=k+8|0;j=(c|0)!=0;e=j?c:420;g=b|524288;while(1){d=kb[f[5060>>2]&127](a,g,e)|0;if((d|0)<0){l=mz()|0;if((f[l>>2]|0)!=4){a=13;break}}else{if((d|0)>2){a=7;break}ib[f[5072>>2]&255](d)|0;f[h>>2]=a;f[h+4>>2]=d;Ac(28,40843,h);if((kb[f[5060>>2]&127](40886,b,c)|0)<0){d=-1;a=13;break}}}if((a|0)==7){if(!j){l=d;t=k;return l|0}if(((jb[f[5120>>2]&255](d,i)|0)==0?(f[i+36>>2]|0)==0:0)?(f[i+12>>2]&511|0)!=(c|0):0)jb[f[5228>>2]&255](d,c)|0;l=d;t=k;return l|0}else if((a|0)==13){t=k;return d|0}return 0}function Hd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0;i=t;t=t+16|0;e=i;a:do if(((h[a>>0]|0)+-48|0)>>>0<10){f[e>>2]=0;Pd(a,e)|0;d=f[e>>2]&255}else{g=wz(a)|0;e=(g&1073741823|0)==2;b:do if(!c){if(e){if(!(Qd(5440,a,2)|0)){d=0;break}if(!(Qd(5441,a,2)|0)){d=1;break}else break a}switch(g&1073741823|0){case 3:{if(!(Qd(5442,a,3)|0)){d=2;break b}if(!(Qd(5449,a,3)|0)){d=4;break b}else break a}case 5:{if(!(Qd(5444,a,5)|0)){d=3;break b}if(!(Qd(5455,a,5)|0)){d=6;break b}else break a}case 4:{if(!(Qd(5452,a,4)|0)){d=5;break b}if(!(Qd(5460,a,4)|0)){d=7;break b}else break a}default:break a}}else{if(e){if(!(Qd(5440,a,2)|0)){d=0;break}if(!(Qd(5441,a,2)|0)){d=1;break}else break a}switch(g&1073741823|0){case 3:{if(!(Qd(5442,a,3)|0)){d=2;break b}if(!(Qd(5449,a,3)|0)){d=4;break b}else break a}case 5:if(!(Qd(5444,a,5)|0)){d=3;break b}else break a;case 4:if(!(Qd(5452,a,4)|0)){d=5;break b}else break a;default:break a}}while(0);d=b[41152+d>>0]|0}while(0);t=i;return d|0}function Id(a){a=a|0;var b=0,c=0,e=0,g=0,h=0,i=0,j=0;j=t;t=t+192|0;i=j+24|0;g=j+16|0;e=j+8|0;c=j;h=j+104|0;b=j+28|0;if(d[a+18>>1]&128){t=j;return}if(jb[f[5120>>2]&255](f[a+12>>2]|0,b)|0){f[c>>2]=f[a+32>>2];Ac(28,41024,c);t=j;return}switch(f[b+16>>2]|0){case 0:{f[e>>2]=f[a+32>>2];Ac(28,41048,e);t=j;return}case 1:{c=a+8|0;if(!(f[c>>2]|0)){t=j;return}b=a+32|0;if(!(jb[f[5108>>2]&255](f[b>>2]|0,h)|0)){a=(f[c>>2]|0)+8|0;if((f[a+4>>2]|0)==0?(f[a>>2]|0)==(f[h+72>>2]|0):0){t=j;return}}f[i>>2]=f[b>>2];Ac(28,41104,i);t=j;return}default:{f[g>>2]=f[a+32>>2];Ac(28,41077,g);t=j;return}}}function Jd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=t;t=t+48|0;i=j+24|0;g=j;h=a+8|0;e=f[h>>2]|0;Id(a);Ld(a,0)|0;h=f[h>>2]|0;if(f[e+24>>2]|0){e=a+28|0;c=f[e>>2]|0;d=h+32|0;f[c+8>>2]=f[d>>2];f[d>>2]=c;f[a+12>>2]=-1;f[e>>2]=0}do if(h|0?(d=h+36|0,e=(f[d>>2]|0)+-1|0,f[d>>2]=e,(e|0)==0):0){d=h+32|0;b=f[d>>2]|0;if(b|0){e=a+32|0;do{c=b;b=f[b+8>>2]|0;if(ib[f[5072>>2]&255](f[c>>2]|0)|0){l=f[e>>2]|0;m=mz()|0;m=f[m>>2]|0;k=Dz(m)|0;f[g>>2]=33628;f[g+4>>2]=m;f[g+8>>2]=40630;f[g+12>>2]=(l|0)==0?72788:l;f[g+16>>2]=k;Ac(4106,40599,g)}if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((b|0)!=0)}f[d>>2]=0;d=f[h+48>>2]|0;c=h+44|0;b=f[c>>2]|0;if(!d)f[18029]=b;else{f[d+44>>2]=b;b=f[c>>2]|0}if(b|0)f[b+48>>2]=d;if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{m=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}}while(0);b=a+12|0;c=f[b>>2]|0;if((c|0)>-1){if(ib[f[5072>>2]&255](c)|0){l=f[a+32>>2]|0;k=mz()|0;k=f[k>>2]|0;m=Dz(k)|0;f[i>>2]=34408;f[i+4>>2]=k;f[i+8>>2]=40630;f[i+12>>2]=(l|0)==0?72788:l;f[i+16>>2]=m;Ac(4106,40599,i)}f[b>>2]=-1}b=f[a+28>>2]|0;if(!b){b=a;c=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));t=j;return 0}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);b=a;c=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));t=j;return 0}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);b=a;c=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));t=j;return 0}return 0}function Kd(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+96|0;r=D+56|0;u=D+48|0;q=D+40|0;s=D+32|0;l=D+24|0;m=D+16|0;h=D+8|0;j=D;z=D+80|0;y=D+64|0;C=a+16|0;g=b[C>>0]|0;if((g&255|0)>=(c|0)){a=0;t=D;return a|0}x=a+8|0;w=f[x>>2]|0;B=w+28|0;e=b[B>>0]|0;if(g<<24>>24!=e<<24>>24?(c|0)>1|(e&255)>2:0){a=5;t=D;return a|0}k=(c|0)==1;do if(!k){e=y+8|0;f[e>>2]=1;d[y+2>>1]=0;if((c|0)==4)if((g&255)<3){o=e;A=10}else A=43;else A=42}else{if((e+-1&255)>=2){o=y+8|0;f[o>>2]=1;d[y+2>>1]=0;A=10;break}b[C>>0]=1;a=w+20|0;f[a>>2]=(f[a>>2]|0)+1;a=w+24|0;f[a>>2]=(f[a>>2]|0)+1;a=0;t=D;return a|0}while(0);a:do if((A|0)==10){d[y>>1]=(k^1)&1;n=y+4|0;f[n>>2]=1073741824;p=a+18|0;do if((d[p>>1]&3)==1){g=w+29|0;if(!(b[g>>0]|0)){d[z+2>>1]=0;f[z+4>>2]=1073741826;f[z+8>>2]=510;d[z>>1]=1;A=f[1286]|0;e=f[a+12>>2]|0;f[j>>2]=z;e=kb[A&127](e,13,j)|0;if((e|0)<0){A=17;break}else{b[g>>0]=1;i=w+24|0;f[i>>2]=(f[i>>2]|0)+1;i=e;A=16;break}}}else{A=f[1286]|0;i=f[a+12>>2]|0;f[h>>2]=y;i=kb[A&127](i,13,h)|0;A=16}while(0);if((A|0)==16?i|0:0)A=17;if((A|0)==17){g=mz()|0;g=f[g>>2]|0;switch(g|0){case 1:{e=3;break}case 37:case 4:case 16:case 110:case 11:case 13:{a=5;t=D;return a|0}default:e=3850}f[a+20>>2]=g;a=e;t=D;return a|0}if(k){e=1073741826;f[n>>2]=e;f[o>>2]=510;h=f[x>>2]|0;do if((d[p>>1]&3)==1){g=h+29|0;if(!(b[g>>0]|0)){d[z+2>>1]=0;f[z+4>>2]=e;f[z+8>>2]=510;d[z>>1]=1;A=f[1286]|0;e=f[a+12>>2]|0;f[m>>2]=z;e=kb[A&127](e,13,m)|0;if((e|0)<0){A=28;break}else{b[g>>0]=1;A=h+24|0;f[A>>2]=(f[A>>2]|0)+1;A=27;break}}else{e=0;g=0}}else{A=f[1286]|0;e=f[a+12>>2]|0;f[l>>2]=y;e=kb[A&127](e,13,l)|0;A=27}while(0);if((A|0)==27)if(!e){e=0;g=0}else A=28;b:do if((A|0)==28){e=mz()|0;e=f[e>>2]|0;switch(e|0){case 37:case 4:case 16:case 110:case 11:case 13:{g=5;break b}case 1:{e=1;g=3;break b}default:{g=3850;break b}}}while(0);f[n>>2]=1073741824;f[o>>2]=1;d[y>>1]=2;j=f[x>>2]|0;do if((d[p>>1]&3)==1){i=j+29|0;if(!(b[i>>0]|0)){d[z+2>>1]=0;f[z+4>>2]=1073741826;f[z+8>>2]=510;d[z>>1]=1;A=f[1286]|0;h=f[a+12>>2]|0;f[s>>2]=z;h=kb[A&127](h,13,s)|0;if((h|0)<0){A=37;break}else{b[i>>0]=1;A=j+24|0;f[A>>2]=(f[A>>2]|0)+1;A=37;break}}else A=39}else{A=f[1286]|0;h=f[a+12>>2]|0;f[q>>2]=y;h=kb[A&127](h,13,q)|0;A=37}while(0);if((A|0)==37)if((g|0)==0&(h|0)!=0){e=mz()|0;g=2058;e=f[e>>2]|0}else A=39;c:do if((A|0)==39)switch(g&4095){case 0:{b[C>>0]=1;A=w+24|0;f[A>>2]=(f[A>>2]|0)+1;f[w+20>>2]=1;A=58;break a}case 5:{a=5;t=D;return a|0}default:break c}while(0);f[a+20>>2]=e;a=g;t=D;return a|0}else{e=o;A=42}}while(0);if((A|0)==42)if((c|0)!=4){d[y>>1]=1;if((c|0)==2){h=1073741825;i=1073741824;g=1;A=48}else{g=1073741824;A=47}}else A=43;if((A|0)==43)if((f[w+20>>2]|0)>1){e=5;A=60}else{d[y>>1]=1;g=1073741824;A=47}if((A|0)==47){h=g+2|0;i=g;g=510;A=48}d:do if((A|0)==48){f[y+4>>2]=h;f[e>>2]=g;h=f[x>>2]|0;do if((d[a+18>>1]&3)==1){g=h+29|0;if(b[g>>0]|0){A=58;break d}d[z+2>>1]=0;f[z+4>>2]=i+2;f[z+8>>2]=510;d[z>>1]=1;y=f[1286]|0;e=f[a+12>>2]|0;f[u>>2]=z;e=kb[y&127](e,13,u)|0;if((e|0)<0)break;else{b[g>>0]=1;v=h+24|0;f[v>>2]=(f[v>>2]|0)+1;v=e;A=54;break}}else{A=f[1286]|0;v=f[a+12>>2]|0;f[r>>2]=y;v=kb[A&127](v,13,r)|0;A=54}while(0);if((A|0)==54?(v|0)==0:0){A=58;break}g=mz()|0;g=f[g>>2]|0;switch(g|0){case 37:case 4:case 16:case 110:case 11:case 13:{e=5;break}case 1:{e=3;A=57;break}default:{e=3850;A=57}}if((A|0)==57)f[a+20>>2]=g;if((c|0)==4)A=60;else{a=e;t=D;return a|0}}while(0);if((A|0)==58){a=c&255;b[C>>0]=a;b[B>>0]=a;a=0;t=D;return a|0}else if((A|0)==60){b[C>>0]=3;b[B>>0]=3;a=e;t=D;return a|0}return 0}function Ld(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=t;t=t+112|0;z=A+48|0;r=A+40|0;u=A+32|0;n=A+24|0;o=A+16|0;k=A+8|0;l=A;s=A+88|0;q=A+72|0;y=a+16|0;e=b[y>>0]|0;if((e&255|0)<=(c|0)){z=0;t=A;return z|0}w=a+8|0;x=f[w>>2]|0;do if((e&255)>1){a:do if((c|0)==1){d[q>>1]=0;j=q+2|0;d[j>>1]=0;i=1073741826;h=q+4|0;f[h>>2]=i;g=q+8|0;f[g>>2]=510;e=a+18|0;do if((d[e>>1]&3)==1){k=x+29|0;if(b[k>>0]|0){i=x;break a}d[s+2>>1]=0;f[s+4>>2]=i;f[s+8>>2]=510;d[s>>1]=1;B=f[1286]|0;i=f[a+12>>2]|0;f[l>>2]=s;i=kb[B&127](i,13,l)|0;if((i|0)<0)break;else{b[k>>0]=1;m=x+24|0;f[m>>2]=(f[m>>2]|0)+1;m=i;v=11;break}}else{v=f[1286]|0;m=f[a+12>>2]|0;f[k>>2]=q;m=kb[v&127](m,13,k)|0;v=11}while(0);if((v|0)==11?(m|0)==0:0){i=f[w>>2]|0;break}B=mz()|0;f[a+20>>2]=f[B>>2];B=2314;t=A;return B|0}else{j=q+2|0;h=q+4|0;g=q+8|0;e=a+18|0;i=x}while(0);d[q>>1]=2;d[j>>1]=0;f[h>>2]=1073741824;f[g>>2]=2;do if((d[e>>1]&3)==1){g=i+29|0;if(!(b[g>>0]|0)){d[s+2>>1]=0;f[s+4>>2]=1073741826;f[s+8>>2]=510;d[s>>1]=1;B=f[1286]|0;e=f[a+12>>2]|0;f[o>>2]=s;e=kb[B&127](e,13,o)|0;if((e|0)<0)break;else{b[g>>0]=1;p=i+24|0;f[p>>2]=(f[p>>2]|0)+1;p=e;v=20;break}}else v=21}else{v=f[1286]|0;p=f[a+12>>2]|0;f[n>>2]=q;p=kb[v&127](p,13,n)|0;v=20}while(0);if((v|0)==20?(p|0)==0:0)v=21;if((v|0)==21){b[x+28>>0]=1;break}B=mz()|0;f[a+20>>2]=f[B>>2];B=2058;t=A;return B|0}while(0);if(!c){v=x+20|0;B=(f[v>>2]|0)+-1|0;f[v>>2]=B;if(!B){d[q>>1]=2;d[q+2>>1]=0;f[q+8>>2]=0;f[q+4>>2]=0;h=f[w>>2]|0;do if((d[a+18>>1]&3)==1){g=h+29|0;if(!(b[g>>0]|0)){d[s+2>>1]=0;f[s+4>>2]=1073741826;f[s+8>>2]=510;d[s>>1]=1;B=f[1286]|0;e=f[a+12>>2]|0;f[u>>2]=s;e=kb[B&127](e,13,u)|0;if((e|0)<0){v=33;break}else{b[g>>0]=1;v=h+24|0;f[v>>2]=(f[v>>2]|0)+1;v=31;break}}else v=32}else{v=f[1286]|0;e=f[a+12>>2]|0;f[r>>2]=q;e=kb[v&127](e,13,r)|0;v=31}while(0);if((v|0)==31)if(!e)v=32;else v=33;if((v|0)==32){e=0;g=x+28|0}else if((v|0)==33){e=mz()|0;f[a+20>>2]=f[e>>2];b[x+28>>0]=0;e=2058;g=y}b[g>>0]=0;j=e}else j=0;x=x+24|0;B=(f[x>>2]|0)+-1|0;f[x>>2]=B;if(!B){i=(f[w>>2]|0)+32|0;e=f[i>>2]|0;if(e|0){h=a+32|0;do{g=e;e=f[e+8>>2]|0;if(ib[f[5072>>2]&255](f[g>>2]|0)|0){a=f[h>>2]|0;x=mz()|0;x=f[x>>2]|0;B=Dz(x)|0;f[z>>2]=33628;f[z+4>>2]=x;f[z+8>>2]=40630;f[z+12>>2]=(a|0)==0?72788:a;f[z+16>>2]=B;Ac(4106,40599,z)}if(!(f[9328]|0))ob[f[37360>>2]&127](g);else{B=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g)}}while((e|0)!=0)}f[i>>2]=0}if(j|0){B=j;t=A;return B|0}}b[y>>0]=c;B=0;t=A;return B|0}function Md(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0;j=t;t=t+32|0;g=j;i=j+8|0;e=f[a+8>>2]|0;if((h[e+28>>0]|0)>1){i=0;g=1;f[c>>2]=g;t=j;return i|0}if(b[e+29>>0]|0){i=0;g=0;f[c>>2]=g;t=j;return i|0}d[i+2>>1]=0;f[i+4>>2]=1073741825;f[i+8>>2]=1;d[i>>1]=1;k=f[1286]|0;e=f[a+12>>2]|0;f[g>>2]=i;if(!(kb[k&127](e,12,g)|0)){e=0;a=(d[i>>1]|0)!=2&1}else{e=mz()|0;f[a+20>>2]=f[e>>2];e=3594;a=0}k=e;i=a;f[c>>2]=i;t=j;return k|0}function Nd(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=t;t=t+176|0;D=E+72|0;z=E+48|0;w=E+24|0;v=E+8|0;r=E;y=E+92|0;C=hb[f[5360>>2]&127]()|0;C=(C|0)<32768?1:(C|0)/32768|0;x=a+36|0;i=f[x>>2]|0;if(!i){if(Mc()|0){h=7;t=E;return h|0}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](16)|0;if(!i){h=7;t=E;return h|0}else u=i}else{i=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){u=f[18187]|0;q=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;p=ba()|0;f[17976]=((p|0)<0|(p|0)==0&q>>>0<=u>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(!k){h=7;t=E;return h|0}i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;u=k}else u=k};f[u>>2]=0;f[u+4>>2]=0;f[u+8>>2]=0;f[u+12>>2]=0;o=a+8|0;p=f[o>>2]|0;k=f[p+40>>2]|0;a:do if(!k){n=a+32|0;l=f[n>>2]|0;b:do if(!(jb[f[5120>>2]&255](f[a+12>>2]|0,y)|0)){m=wz(l)|0;i=m+42|0;k=xd(i,0)|0;if(!k)i=7;else{_A(k|0,0,i|0)|0;q=k+36|0;f[k+8>>2]=q;f[r>>2]=l;vd(m+6|0,q,41132,r)|0;l=k+12|0;f[l>>2]=-1;r=f[o>>2]|0;f[r+40>>2]=k;f[k>>2]=r;if(f[9329]|0)f[k+4>>2]=8;if(!(b[p+29>>0]|0)){i=f[n>>2]|0;c:do if((i|0)!=0?(s=i+(((wz(i)|0)&1073741823)+1)|0,(b[s>>0]|0)!=0):0){i=s;while(1){s=tz(i,41139)|0;i=i+(((wz(i)|0)&1073741823)+1)|0;if(!s)break;i=i+(((wz(i)|0)&1073741823)+1)|0;if(!(b[i>>0]|0)){B=26;break c}}if((Hd(i,1,0)|0)<<24>>24)m=f[l>>2]|0;else B=26}else B=26;while(0);if((B|0)==26){m=Gd(q,66,f[y+12>>2]&511)|0;f[l>>2]=m}do if((m|0)<0){m=Gd(q,0,f[y+12>>2]&511)|0;f[l>>2]=m;if((m|0)<0){f[v>>2]=40896;f[v+4>>2]=36901;f[v+8>>2]=40460;Ac(14,40408,v);h=mz()|0;h=f[h>>2]|0;i=Dz(h)|0;f[w>>2]=36901;f[w+4>>2]=h;f[w+8>>2]=40636;f[w+12>>2]=q;f[w+16>>2]=i;Ac(14,40599,w);i=14;break b}else{b[k+22>>0]=1;break}}while(0);i=f[y+20>>2]|0;l=f[y+24>>2]|0;if(!(hb[f[5312>>2]&127]()|0))kb[f[5300>>2]&127](m,i,l)|0;i=Od(a,k)|0;switch(i|0){case 0:case 1288:break;default:break b}}else i=0;break a}}else i=1802;while(0);rd(a);if(!(f[9328]|0)){ob[f[37360>>2]&127](u);h=i;t=E;return h|0}else{h=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);h=i;t=E;return h|0}}else i=0;while(0);f[u>>2]=k;w=k+28|0;f[w>>2]=(f[w>>2]|0)+1;f[x>>2]=u;x=k+32|0;f[u+4>>2]=f[x>>2];f[x>>2]=u;if(!i)i=u;else{h=i;t=E;return h|0}}u=f[i>>2]|0;i=u+23|0;do if(b[i>>0]|0){k=Od(a,u)|0;if(!k){b[i>>0]=0;B=44;break}else{i=u+20|0;break}}else B=44;while(0);if((B|0)==44){q=C+c|0;q=q-((q|0)%(C|0)|0)|0;s=u+20|0;if((q|0)>(j[s>>1]|0)){k=U(q,e)|0;f[u+16>>2]=e;r=u+12|0;i=f[r>>2]|0;d:do if((i|0)>-1)if(!(jb[f[5120>>2]&255](i,y)|0)){i=f[y+36>>2]|0;if((i|0)<(k|0))if(g){i=(i|0)/4096|0;n=(k|0)/4096|0;if((i|0)<(n|0)){e:while(1){k=f[r>>2]|0;l=i<<12|4095;while(1){if((pA(k,l,0)|0)<0){B=56;break e}m=kb[f[5192>>2]&127](k,72788,1)|0;if((m|0)>=0)break;g=mz()|0;if((f[g>>2]|0)!=4){B=56;break e}}i=i+1|0;if((m|0)!=1)break;if((i|0)>=(n|0)){B=59;break d}}D=f[u+8>>2]|0;e=mz()|0;e=f[e>>2]|0;i=Dz(e)|0;f[z>>2]=37045;f[z+4>>2]=e;f[z+8>>2]=40701;f[z+12>>2]=(D|0)==0?72788:D;f[z+16>>2]=i;Ac(4874,40599,z);i=4874}else B=59}else i=0;else B=59}else i=4874;else B=59;while(0);f:do if((B|0)==59){m=u+24|0;i=f[m>>2]|0;k=q<<2;if((Mc()|0)==0?(A=Nc(i,(k|0)>0?k:0,0)|0,(A|0)!=0):0){f[m>>2]=A;i=j[s>>1]|0;if((q|0)>(i|0)){n=U(C,e)|0;o=u+22|0;p=((n|0)<0)<<31>>31;g:do if((C|0)>0)while(1){k=f[r>>2]|0;if((k|0)>-1){i=U(i,e)|0;i=nb[f[5324>>2]&127](0,n,(b[o>>0]|0)==0?3:1,1,k,i)|0;if((i|0)==(-1|0))break g}else{i=xd(n,p)|0;if(!i){i=7;break f}_A(i|0,0,n|0)|0}l=j[s>>1]|0;k=0;do{B=i+(U(k,e)|0)|0;f[(f[m>>2]|0)+(k+l<<2)>>2]=B;k=k+1|0}while((k|0)!=(C|0));i=C+l|0;d[s>>1]=i;i=i&65535;if((q|0)<=(i|0)){i=0;break f}}else while(1){k=f[r>>2]|0;if((k|0)>-1){B=U(i,e)|0;if((nb[f[5324>>2]&127](0,n,(b[o>>0]|0)==0?3:1,1,k,B)|0)==(-1|0))break g}else{i=xd(n,p)|0;if(!i){i=7;break f}_A(i|0,0,n|0)|0}i=C+(j[s>>1]|0)|0;d[s>>1]=i;i=i&65535;if((q|0)<=(i|0)){i=0;break f}}while(0);e=f[u+8>>2]|0;C=mz()|0;C=f[C>>2]|0;i=Dz(C)|0;f[D>>2]=37072;f[D+4>>2]=C;f[D+8>>2]=40788;f[D+12>>2]=(e|0)==0?72788:e;f[D+16>>2]=i;Ac(5386,40599,D);i=5386}else i=0}else i=3082}while(0);k=i;i=s}else{k=0;i=s}}if((j[i>>1]|0)>(c|0))i=f[(f[u+24>>2]|0)+(c<<2)>>2]|0;else i=0;f[h>>2]=i;h=(k|0)==0&(b[u+22>>0]|0)!=0?8:k;t=E;return h|0}function Od(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=t;t=t+80|0;l=m+48|0;i=m+24|0;h=m+16|0;k=m;e=m+56|0;d[e+2>>1]=0;f[e+4>>2]=128;f[e+8>>2]=1;d[e>>1]=1;o=f[1286]|0;g=c+12|0;n=f[g>>2]|0;f[k>>2]=e;if(kb[o&127](n,12,k)|0){o=3850;t=m;return o|0}a:do switch(d[e>>1]|0){case 2:{if(b[c+22>>0]|0){b[c+23>>0]=1;o=1288;t=m;return o|0}a=a+8|0;e=f[(f[(f[a>>2]|0)+40>>2]|0)+12>>2]|0;if((e|0)>-1?(d[k>>1]=1,d[k+2>>1]=0,f[k+4>>2]=128,f[k+8>>2]=1,o=f[1286]|0,f[h>>2]=k,(kb[o&127](e,13,h)|0)==-1):0){o=5;t=m;return o|0}e=f[g>>2]|0;do{g=jb[f[5132>>2]&255](e,3)|0;if((g|0)>=0){j=12;break}o=mz()|0}while((f[o>>2]|0)==4);if((j|0)==12?(g|0)==0:0)break a;n=f[c+8>>2]|0;l=mz()|0;l=f[l>>2]|0;o=Dz(l)|0;f[i>>2]=36778;f[i+4>>2]=l;f[i+8>>2]=40666;f[i+12>>2]=(n|0)==0?72788:n;f[i+16>>2]=o;Ac(4618,40599,i);o=4618;t=m;return o|0}case 1:{o=5;t=m;return o|0}default:a=a+8|0}while(0);a=f[(f[(f[a>>2]|0)+40>>2]|0)+12>>2]|0;if((a|0)>-1){d[k>>1]=0;d[k+2>>1]=0;f[k+4>>2]=128;f[k+8>>2]=1;o=f[1286]|0;f[l>>2]=k;a=(kb[o&127](a,13,l)|0)==-1;a=a?5:0}else a=0;o=a;t=m;return o|0}function Pd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=b[a>>0]|0;a:do switch(d<<24>>24){case 45:{d=1;e=a+1|0;g=15;break}case 43:{d=0;e=a+1|0;g=15;break}case 48:{switch(b[a+1>>0]|0){case 88:case 120:break;default:{h=0;d=48;break a}}d=a+2|0;e=b[d>>0]|0;if(!(b[5472+(e&255)>>0]&8)){d=0;e=a;g=15}else{if(e<<24>>24==48){a=a+3|0;while(1){d=b[a>>0]|0;if(d<<24>>24==48)a=a+1|0;else{e=d;break}}}else a=d;if(!(b[5472+(e&255)>>0]&8)){d=0;a=1}else{g=0;d=0;do{h=e<<24>>24;d=(0-(h>>>6&1)&9)+h&15|d<<4;g=g+1|0;e=b[a+g>>0]|0;h=b[5472+(e&255)>>0]&8}while(g>>>0<8&h<<24>>24!=0);a=h<<24>>24==0}if(!((d|0)>-1&a)){c=0;return c|0}f[c>>2]=d;c=1;return c|0}break}default:h=0}while(0);if((g|0)==15){h=d;a=e;d=b[e>>0]|0}if(((d&255)+-48|0)>>>0>=10){c=0;return c|0}if(d<<24>>24==48)do{a=a+1|0;d=b[a>>0]|0}while(d<<24>>24==48);if((d+-48&255)<10){d=(d<<24>>24)+-48|0;g=((d|0)<0)<<31>>31;e=b[a+1>>0]|0;if((e+-48&255)<10){e=(e<<24>>24)+-48|0;d=QA(d|0,g|0,10,0)|0;d=KA(d|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;e=b[a+2>>0]|0;if((e+-48&255)<10){e=(e<<24>>24)+-48|0;d=QA(d|0,g|0,10,0)|0;d=KA(d|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;e=b[a+3>>0]|0;if((e+-48&255)<10){e=(e<<24>>24)+-48|0;d=QA(d|0,g|0,10,0)|0;d=KA(d|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;e=b[a+4>>0]|0;if((e+-48&255)<10){e=(e<<24>>24)+-48|0;d=QA(d|0,g|0,10,0)|0;d=KA(d|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;e=b[a+5>>0]|0;if((e+-48&255)<10){e=(e<<24>>24)+-48|0;d=QA(d|0,g|0,10,0)|0;d=KA(d|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;e=b[a+6>>0]|0;if((e+-48&255)<10){e=(e<<24>>24)+-48|0;d=QA(d|0,g|0,10,0)|0;d=KA(d|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;e=b[a+7>>0]|0;if((e+-48&255)<10){e=(e<<24>>24)+-48|0;d=QA(d|0,g|0,10,0)|0;d=KA(d|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;e=b[a+8>>0]|0;if((e+-48&255)<10){e=(e<<24>>24)+-48|0;d=QA(d|0,g|0,10,0)|0;d=KA(d|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;e=b[a+9>>0]|0;if((e+-48&255)<10){e=(e<<24>>24)+-48|0;d=QA(d|0,g|0,10,0)|0;d=KA(d|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;e=ba()|0;if(((b[a+10>>0]|0)+-48&255)<10){c=0;return c|0}else a=e}else a=g}else a=g}else a=g}else a=g}else a=g}else a=g}else a=g}else a=g}else a=g}else{d=0;a=0}g=LA(d|0,a|0,h|0,0)|0;e=ba()|0;if((e|0)>0|(e|0)==0&g>>>0>2147483647){c=0;return c|0}f[c>>2]=(h|0)==0?d:0-d|0;c=1;return c|0}function Qd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if(!a){f=((c|0)!=0)<<31>>31;return f|0}if(!c){f=1;return f|0}if((d|0)<=0){f=0;return f|0}e=d;while(1){d=b[a>>0]|0;if(!(d<<24>>24)){e=7;break}d=b[1232+(d&255)>>0]|0;f=b[1232+(h[c>>0]|0)>>0]|0;if(d<<24>>24!=f<<24>>24){e=9;break}if((e|0)>1){a=a+1|0;c=c+1|0;e=e+-1|0}else{a=0;e=12;break}}if((e|0)==7){d=0;a=b[1232+(h[c>>0]|0)>>0]|0}else if((e|0)==9){d=d&255;a=f}else if((e|0)==12)return a|0;f=d-(a&255)|0;return f|0}function Rd(a,b){a=a|0;b=b|0;return 37896}function Sd(a){a=a|0;var b=0;a=72012;b=a+100|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));a=(f[9378]|0)==0;f[18017]=a&1;b=f[9380]|0;f[18018]=a&(b|0)!=0?b:0;f[18006]=10;f[18016]=1;return 0}function Td(a){a=a|0;var b=0;a=72012;b=a+100|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=((f[18017]|0)*52|0)+64|0;h=KA(i|0,((i|0)<0)<<31>>31|0,-1,-1)|0;g=ba()|0;if(g>>>0>0|(g|0)==0&h>>>0>2147483390){d=0;return d|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](i)|0;if(!e){d=0;return d|0}else g=e}else{e=ib[f[37372>>2]&255](i)|0;if((f[18194]|0)>>>0>>0)f[18194]=i;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){j=f[18187]|0;h=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&h>>>0<=j>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(!g){j=0;return j|0}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}_A(g|0,0,i|0)|0;if(!(f[18017]|0))e=72012;else{f[g+76>>2]=10;e=g+64|0}h=e+20|0;i=e+33|0;if(!(b[i>>0]|0)){b[i>>0]=1;f[e+44>>2]=h;f[e+48>>2]=h}f[g>>2]=e;f[g+8>>2]=a;f[g+12>>2]=c;f[g+16>>2]=a+32+c;j=(d|0)!=0;f[g+20>>2]=j&1;fe(g);if(j){f[g+24>>2]=10;d=e+8|0;j=f[d>>2]|0;f[d>>2]=j+10;f[e+12>>2]=-10-j+10+(f[e+4>>2]|0);e=e+16|0}else e=72120;f[g+4>>2]=e;if(f[g+48>>2]|0){j=g;return j|0}$d(g);j=0;return j|0}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if(!(f[a+20>>2]|0))return;d=f[a>>2]|0;c=a+28|0;g=d+4|0;e=(f[g>>2]|0)+(b-(f[c>>2]|0))|0;f[g>>2]=e;f[d+12>>2]=e+10-(f[d+8>>2]|0);f[c>>2]=b;f[a+32>>2]=((b*9|0)>>>0)/10|0;be(a);return}function Wd(a){a=a|0;return f[a+44>>2]|0}function Xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[(f[a+52>>2]|0)+(((b>>>0)%((f[a+48>>2]|0)>>>0)|0)<<2)>>2]|0;a:do if(d|0){e=d;while(1){if((f[e+8>>2]|0)==(b|0))break;d=f[e+16>>2]|0;if(!d)break a;else e=d}d=e+24|0;a=f[d>>2]|0;if(!a){c=e;return c|0}c=e+28|0;b=f[c>>2]|0;f[b+24>>2]=a;f[(f[d>>2]|0)+28>>2]=b;f[d>>2]=0;f[c>>2]=0;c=(f[e+20>>2]|0)+40|0;f[c>>2]=(f[c>>2]|0)+-1;c=e;return c|0}while(0);if(!c){c=0;return c|0}c=ee(a,b,c)|0;return c|0}function Yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[a>>2]|0;if((c|0)==0?(f[d+16>>2]|0)>>>0<=(f[d+4>>2]|0)>>>0:0){c=d+44|0;f[b+28>>2]=d+20;d=f[c>>2]|0;f[b+24>>2]=d;f[d+28>>2]=b;f[c>>2]=b;b=a+40|0;f[b>>2]=(f[b>>2]|0)+1;return}c=f[b+20>>2]|0;a=(f[c+52>>2]|0)+((((f[b+8>>2]|0)>>>0)%((f[c+48>>2]|0)>>>0)|0)<<2)|0;while(1){e=f[a>>2]|0;d=e+16|0;if((e|0)==(b|0))break;else a=d}f[a>>2]=f[d>>2];e=c+44|0;f[e>>2]=(f[e>>2]|0)+-1;de(b);return}function Zd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;g=f[a+48>>2]|0;h=a+52|0;c=(f[h>>2]|0)+(((c>>>0)%(g>>>0)|0)<<2)|0;while(1){e=f[c>>2]|0;if((e|0)==(b|0))break;else c=e+16|0}e=b+16|0;f[c>>2]=f[e>>2];f[b+8>>2]=d;c=(f[h>>2]|0)+(((d>>>0)%(g>>>0)|0)<<2)|0;f[e>>2]=f[c>>2];f[c>>2]=b;c=a+36|0;if((f[c>>2]|0)>>>0>=d>>>0)return;f[c>>2]=d;return}function _d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=a+36|0;c=f[k>>2]|0;if(c>>>0>>0)return;l=a+48|0;d=f[l>>2]|0;if((c-b|0)>>>0>>0){e=(b>>>0)%(d>>>0)|0;i=(c>>>0)%(d>>>0)|0}else{i=d>>>1;e=i;i=i+-1|0}j=a+52|0;h=a+44|0;while(1){c=(f[j>>2]|0)+(e<<2)|0;d=f[c>>2]|0;if(d|0)do{do if((f[d+8>>2]|0)>>>0>=b>>>0){f[h>>2]=(f[h>>2]|0)+-1;f[c>>2]=f[d+16>>2];a=d+24|0;g=f[a>>2]|0;if(!g){de(d);break}else{m=d+28|0;n=f[m>>2]|0;f[n+24>>2]=g;f[(f[a>>2]|0)+28>>2]=n;f[a>>2]=0;f[m>>2]=0;g=(f[d+20>>2]|0)+40|0;f[g>>2]=(f[g>>2]|0)+-1;de(d);break}}else c=d+16|0;while(0);d=f[c>>2]|0}while((d|0)!=0);if((e|0)==(i|0))break;e=((e+1|0)>>>0)%((f[l>>2]|0)>>>0)|0}f[k>>2]=b+-1;return}function $d(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=f[a>>2]|0;k=a+44|0;a:do if(f[k>>2]|0){b=f[a+36>>2]|0;l=a+48|0;c=f[l>>2]|0;if(b>>>0>>0){d=0;h=(b>>>0)%(c>>>0)|0}else{h=c>>>1;d=h;h=h+-1|0}i=a+52|0;while(1){g=(f[i>>2]|0)+(d<<2)|0;b=f[g>>2]|0;if(b|0)do{f[k>>2]=(f[k>>2]|0)+-1;f[g>>2]=f[b+16>>2];c=b+24|0;e=f[c>>2]|0;if(!e)de(b);else{m=b+28|0;n=f[m>>2]|0;f[n+24>>2]=e;f[(f[c>>2]|0)+28>>2]=n;f[c>>2]=0;f[m>>2]=0;e=(f[b+20>>2]|0)+40|0;f[e>>2]=(f[e>>2]|0)+-1;de(b)}b=f[g>>2]|0}while((b|0)!=0);if((d|0)==(h|0))break a;d=((d+1|0)>>>0)%((f[l>>2]|0)>>>0)|0}}while(0);m=j+4|0;n=(f[m>>2]|0)-(f[a+28>>2]|0)|0;f[m>>2]=n;m=j+8|0;b=(f[m>>2]|0)-(f[a+24>>2]|0)|0;f[m>>2]=b;f[j+12>>2]=n+10-b;be(a);b=f[a+60>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{n=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+52>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{n=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{n=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function ae(a){a=a|0;var b=0,c=0;if(!(f[a+20>>2]|0))return;b=(f[a>>2]|0)+4|0;c=f[b>>2]|0;f[b>>2]=0;be(a);f[b>>2]=c;return}function be(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=f[a>>2]|0;c=e+48|0;d=e+16|0;e=e+4|0;a:do if((f[d>>2]|0)>>>0>(f[e>>2]|0)>>>0)do{g=f[c>>2]|0;if(b[g+13>>0]|0)break a;i=g+24|0;h=g+28|0;j=f[h>>2]|0;f[j+24>>2]=f[i>>2];f[(f[i>>2]|0)+28>>2]=j;f[i>>2]=0;f[h>>2]=0;h=(f[g+20>>2]|0)+40|0;f[h>>2]=(f[h>>2]|0)+-1;ce(g,1)}while((f[d>>2]|0)>>>0>(f[e>>2]|0)>>>0);while(0);if(f[a+44>>2]|0)return;c=a+60|0;d=f[c>>2]|0;if(!d)return;if(!(f[9328]|0))ob[f[37360>>2]&127](d);else{j=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d)}f[a+56>>2]=0;f[c>>2]=0;return}function ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=f[a+20>>2]|0;c=(f[e+52>>2]|0)+((((f[a+8>>2]|0)>>>0)%((f[e+48>>2]|0)>>>0)|0)<<2)|0;while(1){g=f[c>>2]|0;d=g+16|0;if((g|0)==(a|0))break;else c=d}f[c>>2]=f[d>>2];g=e+44|0;f[g>>2]=(f[g>>2]|0)+-1;if(!b)return;de(a);return}function de(a){a=a|0;var c=0,d=0;d=f[a+20>>2]|0;a:do if(!(b[a+12>>0]|0)){c=f[a>>2]|0;if(c|0){a=c;do if((f[18022]|0)>>>0<=a>>>0)if((f[18023]|0)>>>0>a>>>0){f[18188]=(f[18188]|0)+-1;f[c>>2]=f[18025];f[18025]=c;c=(f[18026]|0)+1|0;f[18026]=c;f[18027]=(c|0)<(f[18021]|0)&1;break a}else{a=ib[f[37368>>2]&255](c)|0;break}else a=ib[f[37368>>2]&255](c)|0;while(0);f[18189]=(f[18189]|0)-a;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}}else{c=d+56|0;f[a+16>>2]=f[c>>2];f[c>>2]=a}while(0);d=f[d+4>>2]|0;f[d>>2]=(f[d>>2]|0)+-1;return}function ee(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=f[a>>2]|0;q=a+44|0;i=f[q>>2]|0;g=f[a+40>>2]|0;h=i-g|0;if((d|0)==1){if(h>>>0>=(f[l+12>>2]|0)>>>0){c=0;return c|0}if(h>>>0>=(f[a+32>>2]|0)>>>0){c=0;return c|0}if((f[18020]|0)!=0?((f[a+12>>2]|0)+(f[a+8>>2]|0)|0)<=(f[18019]|0):0)d=72108;else d=71904;if(g>>>0>>0&(f[d>>2]|0)!=0){c=0;return c|0}}p=a+48|0;if(i>>>0>=(f[p>>2]|0)>>>0)fe(a);j=f[a+20>>2]|0;do if((j|0)!=0?(m=f[l+48>>2]|0,(b[m+13>>0]|0)==0):0){if(((f[q>>2]|0)+1|0)>>>0<(f[a+28>>2]|0)>>>0){if((f[18020]|0)!=0?((f[a+12>>2]|0)+(f[a+8>>2]|0)|0)<=(f[18019]|0):0)d=72108;else d=71904;if(!(f[d>>2]|0)){r=22;break}}h=m+20|0;g=f[h>>2]|0;k=m+8|0;d=(f[g+52>>2]|0)+((((f[k>>2]|0)>>>0)%((f[g+48>>2]|0)>>>0)|0)<<2)|0;while(1){s=f[d>>2]|0;i=s+16|0;if((s|0)==(m|0))break;else d=i}f[d>>2]=f[i>>2];d=g+44|0;f[d>>2]=(f[d>>2]|0)+-1;d=m+24|0;g=m+28|0;i=f[g>>2]|0;f[i+24>>2]=f[d>>2];f[(f[d>>2]|0)+28>>2]=i;f[d>>2]=0;f[g>>2]=0;i=f[h>>2]|0;s=i+40|0;f[s>>2]=(f[s>>2]|0)+-1;if((f[i+16>>2]|0)==(f[a+16>>2]|0)){e=l+16|0;f[e>>2]=j-(f[i+20>>2]|0)+(f[e>>2]|0);i=m;e=k;break}else{de(m);r=22;break}}else r=22;while(0);if((r|0)==22){m=a+56|0;d=f[m>>2]|0;do if(!d){if(((f[q>>2]|0)==0?(n=f[18018]|0,n|0):0)?(o=a+28|0,(f[o>>2]|0)>>>0>=3):0){if((n|0)>0){j=a+16|0;d=f[j>>2]|0;g=((d|0)<0)<<31>>31;h=QA(d|0,g|0,n|0,((n|0)<0)<<31>>31|0)|0;i=ba()|0}else{h=QA(n|0,((n|0)<0)<<31>>31|0,-1024,-1)|0;i=ba()|0;j=a+16|0;g=f[j>>2]|0;d=g;g=((g|0)<0)<<31>>31}d=QA(d|0,g|0,f[o>>2]|0,0)|0;s=ba()|0;o=(i|0)>(s|0)|(i|0)==(s|0)&h>>>0>d>>>0;d=o?d:h;s=KA(d|0,(o?s:i)|0,-1,-1)|0;o=ba()|0;do if(!(o>>>0>0|(o|0)==0&s>>>0>2147483390)){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](d)|0;break}h=ib[f[37372>>2]&255](d)|0;if((f[18194]|0)>>>0>>0)f[18194]=d;g=71896;d=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&d>>>0>0){s=f[18187]|0;o=LA(d|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&o>>>0<=s>>>0)&1}g=ib[f[37356>>2]&255](h)|0;if(g){d=ib[f[37368>>2]&255](g)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d}else g=0}else g=0;while(0);f[a+60>>2]=g;if(!g)d=f[m>>2]|0;else{d=ib[f[37368>>2]&255](g)|0;i=f[j>>2]|0;d=(d|0)/(i|0)|0;j=f[a+8>>2]|0;k=U(d+-1|0,i)|0;h=g;l=f[m>>2]|0;while(1){s=l;l=h+j|0;f[l>>2]=h;f[l+4>>2]=l+32;b[l+12>>0]=1;b[l+13>>0]=0;f[l+16>>2]=s;d=d+-1|0;if(!d)break;else h=h+i|0}d=g+(k+j)|0;f[m>>2]=d}if(d|0){e=d;r=47;break}}h=f[a+16>>2]|0;if((f[18019]|0)>=(h|0)?(e=f[18025]|0,(e|0)!=0):0){f[18025]=f[e>>2];s=f[18026]|0;f[18026]=s+-1;f[18027]=(s|0)<=(f[18021]|0)&1;if((f[18195]|0)>>>0>>0)f[18195]=h;d=(f[18188]|0)+1|0;f[18188]=d;if(d>>>0>(f[18192]|0)>>>0)f[18192]=d}else r=54;do if((r|0)==54){s=KA(h|0,((h|0)<0)<<31>>31|0,-1,-1)|0;o=ba()|0;if(!(o>>>0>0|(o|0)==0&s>>>0>2147483390)){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](h)|0;if(!e){e=0;break}}else{e=ib[f[37372>>2]&255](h)|0;if((f[18194]|0)>>>0>>0)f[18194]=h;g=71896;d=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&d>>>0>0){s=f[18187]|0;o=LA(d|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&o>>>0<=s>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e){e=0;break}d=ib[f[37368>>2]&255](e)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d}d=ib[f[37368>>2]&255](e)|0;if((f[18195]|0)>>>0>>0)f[18195]=h;d=(f[18189]|0)+d|0;f[18189]=d;if(d>>>0>(f[18193]|0)>>>0)f[18193]=d}else e=0}while(0);d=e+(f[a+8>>2]|0)|0;if(!e){s=0;return s|0}else{f[d>>2]=e;f[d+4>>2]=d+32;b[d+12>>0]=0;b[d+13>>0]=0;e=d;break}}else{e=d;r=47}while(0);if((r|0)==47){s=e+16|0;f[m>>2]=f[s>>2];f[s>>2]=0}i=f[a+4>>2]|0;f[i>>2]=(f[i>>2]|0)+1;i=e;h=e+20|0;g=e+28|0;d=e+24|0;e=e+8|0}s=(c>>>0)%((f[p>>2]|0)>>>0)|0;f[q>>2]=(f[q>>2]|0)+1;f[e>>2]=c;e=a+52|0;f[i+16>>2]=f[(f[e>>2]|0)+(s<<2)>>2];f[h>>2]=a;f[g>>2]=0;f[d>>2]=0;f[f[i+4>>2]>>2]=0;f[(f[e>>2]|0)+(s<<2)>>2]=i;e=a+36|0;if((f[e>>2]|0)>>>0>=c>>>0){s=i;return s|0}f[e>>2]=c;s=i;return s|0}function fe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=a+48|0;h=f[d>>2]<<1;h=h>>>0>256?h:256;e=ge(h<<2,0)|0;if(!e)return;g=f[d>>2]|0;c=a+52|0;if(g|0){b=0;do{a=f[(f[c>>2]|0)+(b<<2)>>2]|0;if(a|0)do{k=a+16|0;j=a;a=f[k>>2]|0;i=e+((((f[j+8>>2]|0)>>>0)%(h>>>0)|0)<<2)|0;f[k>>2]=f[i>>2];f[i>>2]=j}while((a|0)!=0);b=b+1|0}while(b>>>0>>0)}he(f[c>>2]|0);f[c>>2]=e;f[d>>2]=h;return}function ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=KA(a|0,b|0,-1,-1)|0;c=ba()|0;if(c>>>0>0|(c|0)==0&d>>>0>2147483390){d=0;return d|0}if(!(f[9328]|0)){b=ib[f[37356>>2]&255](a)|0;if(!b){d=0;return d|0}}else{b=ib[f[37372>>2]&255](a)|0;if((f[18194]|0)>>>0>>0)f[18194]=a;d=71896;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){e=f[18187]|0;d=LA(c|0,d|0,b|0,((b|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&d>>>0<=e>>>0)&1}b=ib[f[37356>>2]&255](b)|0;if(!b){e=0;return e|0}c=ib[f[37368>>2]&255](b)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}_A(b|0,0,a|0)|0;e=b;return e|0}function he(a){a=a|0;var b=0;if(!a)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function ie(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0;c=f[e>>2]|0;if(!c)return;e=d[c+8>>1]|0;if((e&514)==514?(b[c+10>>0]|0)==1:0)c=f[c+16>>2]|0;else g=5;do if((g|0)==5)if(!(e&1)){c=Ic(c,1)|0;break}else return;while(0);if(!c)return;h=rf(c)|0;c=f[a>>2]|0;e=((h|0)<0)<<31>>31;g=c+8|0;if(!(d[g>>1]&9216)){a=c;f[a>>2]=h;f[a+4>>2]=e;d[g>>1]=4;return}else{bf(c,h,e);return}}function je(a,c,d){a=a|0;c=c|0;d=d|0;c=f[d>>2]|0;d=j[c+8>>1]|0;do if(!(d&4)){if(d&8|0){c=Fc(+p[c>>3])|0;ba()|0;d=7;break}if(!(d&18)){c=5872;d=8}else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0;d=7}}else{c=f[c>>2]|0;d=7}while(0);if((d|0)==7)if(c>>>0<10){c=5872+(c<<2)|0;d=8}else c=0;if((d|0)==8)c=f[c>>2]|0;if(($e(f[a>>2]|0,c,-1,1,0)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}function ke(a,b,c){a=a|0;b=b|0;c=c|0;if(($e(f[a>>2]|0,40401,-1,1,0)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}function le(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=f[e>>2]|0;i=d[g+8>>1]|0;if((g|0)==0|(-1431655766>>>(i&31)&1|0)!=0)return;if((i&514)==514?(b[g+10>>0]|0)==1:0)i=f[g+16>>2]|0;else q=5;do if((q|0)==5)if(!(i&1)){i=Ic(g,1)|0;break}else return;while(0);if(!i)return;k=f[e>>2]|0;g=d[k+8>>1]|0;if((g&2)!=0?(b[k+10>>0]|0)==1:0)g=f[k+12>>2]|0;else q=11;do if((q|0)==11){j=g&65535;if(!(j&16)){if(j&1|0){g=0;break}g=_e(k,1)|0;break}else{g=f[k+12>>2]|0;if(!(j&16384))break;g=(f[k>>2]|0)+g|0;break}}while(0);a:do if((c|0)!=1){j=f[e+4>>2]|0;if(!j)return;k=d[j+8>>1]|0;if((k&514)==514?(b[j+10>>0]|0)==1:0)p=f[j+16>>2]|0;else q=21;do if((q|0)==21)if(!(k&1)){p=Ic(j,1)|0;break}else return;while(0);if(!p)return;k=b[p>>0]|0;if(k<<24>>24){j=p;l=0;do{c=j+1|0;if((k&255)>191){j=c;while(1){k=b[j>>0]|0;if((k&-64)<<24>>24==-128)j=j+1|0;else break}}else{j=c;k=b[c>>0]|0}l=l+1|0}while(k<<24>>24!=0);c=QA(l|0,0,5,0)|0;j=ba()|0;k=f[a>>2]|0;o=f[(f[k+32>>2]|0)+108>>2]|0;n=((o|0)<0)<<31>>31;if((j|0)>(n|0)|(j|0)==(n|0)&c>>>0>o>>>0){f[a+20>>2]=18;$e(k,41612,-1,1,0)|0;return}o=KA(c|0,j|0,-1,-1)|0;n=ba()|0;do if(!(n>>>0>0|(n|0)==0&o>>>0>2147483390)){if(!(f[9328]|0)){j=ib[f[37356>>2]&255](c)|0;if(!j)break}else{e=ib[f[37372>>2]&255](c)|0;if((f[18194]|0)>>>0>>0)f[18194]=c;k=71896;j=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){o=f[18187]|0;n=LA(j|0,k|0,e|0,((e|0)<0)<<31>>31|0)|0;m=ba()|0;f[17976]=((m|0)<0|(m|0)==0&n>>>0<=o>>>0)&1}j=ib[f[37356>>2]&255](e)|0;if(!j)break;k=ib[f[37368>>2]&255](j)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k}m=j+(l<<2)|0;if(!(b[p>>0]|0))break a;e=0;k=p;while(1){f[j+(e<<2)>>2]=k;c=k+1|0;l=k;if((h[k>>0]|0)>191){k=c;while(1)if((b[k>>0]&-64)<<24>>24==-128)k=k+1|0;else break}else k=c;b[m+e>>0]=k-l;c=e+1|0;if(!(b[k>>0]|0)){o=j;n=j;q=59;break a}else e=c}}while(0);g=f[a>>2]|0;i=g+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else{cf(g);g=f[a>>2]|0}f[a+20>>2]=7;g=f[g+32>>2]|0;i=g+81|0;if(b[i>>0]|0)return;if(b[g+82>>0]|0)return;b[i>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;a=g+272|0;f[a>>2]=(f[a>>2]|0)+1;return}}else{p=0;o=37972;m=41720;c=1;n=37972;q=59}while(0);do if((q|0)==59){l=f[(f[a+4>>2]|0)+8>>2]|0;b:do if((l&1|0)!=0&(g|0)>0)do{j=0;while(1){k=b[m+j>>0]|0;e=k&255;if((g|0)>=(e|0)?(Hz(i,f[o+(j<<2)>>2]|0,e)|0)==0:0)break;j=j+1|0;if(j>>>0>=c>>>0){q=66;break b}}e=k&255;i=i+e|0;g=g-e|0}while((g|0)>0);else q=66;while(0);c:do if((q|0)==66)if((l&2|0)!=0&(g|0)>0)while(1){j=0;while(1){k=h[m+j>>0]|0;if((g|0)>=(k|0)?(r=g-k|0,(Hz(i+r|0,f[o+(j<<2)>>2]|0,k)|0)==0):0)break;j=j+1|0;if(j>>>0>=c>>>0)break c}if((r|0)>0)g=r;else{g=r;break}}while(0);if(!((n|0)==0|(p|0)==0))if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{r=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);if(($e(f[a>>2]|0,i,g,1,-1)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}function me(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0,i=0,j=0;j=((f[(f[a+4>>2]|0)+8>>2]|0)!=0)<<31>>31;i=f[(f[(f[a+12>>2]|0)+88>>2]|0)+(((f[a+16>>2]|0)+-1|0)*20|0)+16>>2]|0;e=f[c>>2]|0;if(-1431655766>>>(d[e+8>>1]&31)&1|0)return;do if((b|0)>1){h=0;e=1;while(1){g=f[c+(e<<2)>>2]|0;if(-1431655766>>>(d[g+8>>1]&31)&1|0){g=8;break}g=((nf(f[c+(h<<2)>>2]|0,g,i)|0)^j|0)>-1;h=g?e:h;e=e+1|0;if((e|0)>=(b|0)){g=6;break}}if((g|0)==6){e=f[c+(h<<2)>>2]|0;break}else if((g|0)==8)return}while(0);mf(a,e);return}function ne(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=f[e>>2]|0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))i=hf(a,40)|0;else i=f[c+16>>2]|0;if(!i)return;h=g+8|0;j=i+8|0;c=(d[j>>1]|0)!=0;if(-1431655766>>>(d[h>>1]&31)&1|0){if(!c)return;f[a+20>>2]=-1;b[a+24>>0]=1;return}if(!c){f[i+32>>2]=f[(f[a>>2]|0)+32>>2];f[i>>2]=f[g>>2];f[i+4>>2]=f[g+4>>2];f[i+8>>2]=f[g+8>>2];f[i+12>>2]=f[g+12>>2];f[i+16>>2]=f[g+16>>2];e=d[j>>1]&-1025;d[j>>1]=e;e=e&65535;if(!(e&18))return;if(d[h>>1]&2048)return;c=(e|4096)&65535;d[j>>1]=c;do if(e&16384){c=i+12|0;h=(f[i>>2]|0)+(f[c>>2]|0)|0;if(!(df(i,(h|0)>1?h:1,1)|0)){_A((f[i+16>>2]|0)+(f[c>>2]|0)|0,0,f[i>>2]|0)|0;f[c>>2]=(f[c>>2]|0)+(f[i>>2]|0);c=d[j>>1]&-16897;d[j>>1]=c;break}else return}while(0);if(!((f[i+24>>2]|0)!=0?(f[i+16>>2]|0)==(f[i+20>>2]|0):0))k=43;do if((k|0)==43)if(!(gf(i)|0)){c=d[j>>1]|0;break}else return;while(0);d[j>>1]=c&-4097;return}c=(f[(f[a+4>>2]|0)+8>>2]|0)!=0;e=nf(i,g,f[(f[(f[a+12>>2]|0)+88>>2]|0)+(((f[a+16>>2]|0)+-1|0)*20|0)+16>>2]|0)|0;if(c&(e|0)<0){if(d[j>>1]&9216)cf(i);f[i>>2]=f[g>>2];f[i+4>>2]=f[g+4>>2];f[i+8>>2]=f[g+8>>2];f[i+12>>2]=f[g+12>>2];f[i+16>>2]=f[g+16>>2];e=d[j>>1]&-1025;d[j>>1]=e;e=e&65535;if(!(e&18))return;if(d[h>>1]&2048)return;c=(e|4096)&65535;d[j>>1]=c;do if(e&16384){c=i+12|0;h=(f[i>>2]|0)+(f[c>>2]|0)|0;if(!(df(i,(h|0)>1?h:1,1)|0)){_A((f[i+16>>2]|0)+(f[c>>2]|0)|0,0,f[i>>2]|0)|0;f[c>>2]=(f[c>>2]|0)+(f[i>>2]|0);c=d[j>>1]&-16897;d[j>>1]=c;break}else return}while(0);if(!((f[i+24>>2]|0)!=0?(f[i+16>>2]|0)==(f[i+20>>2]|0):0))k=20;do if((k|0)==20)if(!(gf(i)|0)){c=d[j>>1]|0;break}else return;while(0);d[j>>1]=c&-4097;return}if(!((e|0)>0&(c^1))){f[a+20>>2]=-1;b[a+24>>0]=1;return}if(d[j>>1]&9216)cf(i);f[i>>2]=f[g>>2];f[i+4>>2]=f[g+4>>2];f[i+8>>2]=f[g+8>>2];f[i+12>>2]=f[g+12>>2];f[i+16>>2]=f[g+16>>2];e=d[j>>1]&-1025;d[j>>1]=e;e=e&65535;if(!(e&18))return;if(d[h>>1]&2048)return;c=(e|4096)&65535;d[j>>1]=c;do if(e&16384){c=i+12|0;h=(f[i>>2]|0)+(f[c>>2]|0)|0;if(!(df(i,(h|0)>1?h:1,1)|0)){_A((f[i+16>>2]|0)+(f[c>>2]|0)|0,0,f[i>>2]|0)|0;f[c>>2]=(f[c>>2]|0)+(f[i>>2]|0);c=d[j>>1]&-16897;d[j>>1]=c;break}else return}while(0);if(!((f[i+24>>2]|0)!=0?(f[i+16>>2]|0)==(f[i+20>>2]|0):0))k=32;do if((k|0)==32)if(!(gf(i)|0)){c=d[j>>1]|0;break}else return;while(0);d[j>>1]=c&-4097;return}function oe(a){a=a|0;var b=0,c=0,e=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,0)|0;else b=f[b+16>>2]|0;if(!b)return;c=b+8|0;if(!((d[c>>1]|0)!=0?(mf(a,b),(d[c>>1]&9216)!=0):0))e=7;if((e|0)==7?(f[b+24>>2]|0)==0:0)return;ff(b);return}function pe(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,0)|0;else b=f[b+16>>2]|0;if(!b)return;if(!(d[b+8>>1]|0))return;mf(a,b);return}function qe(a,b,c){a=a|0;b=b|0;c=c|0;if(($e(f[a>>2]|0,f[5840+((h[5792+(d[(f[c>>2]|0)+8>>1]&31)>>0]|0)+-1<<2)>>2]|0,-1,1,0)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}function re(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0;g=f[e>>2]|0;c=d[g+8>>1]|0;switch(b[5792+(c&31)>>0]|0){case 2:case 1:case 4:{if((c&2)!=0?(b[g+10>>0]|0)==1:0)e=f[g+12>>2]|0;else i=5;do if((i|0)==5){c=c&65535;if(!(c&16)){if(c&1|0){e=0;break}e=_e(g,1)|0;break}else{e=f[g+12>>2]|0;if(!(c&16384))break;e=(f[g>>2]|0)+e|0;break}}while(0);c=f[a>>2]|0;g=((e|0)<0)<<31>>31;h=c+8|0;if(!(d[h>>1]&9216)){a=c;f[a>>2]=e;f[a+4>>2]=g;d[h>>1]=4;return}else{bf(c,e,g);return}}case 3:{if(!g)return;if((c&514)==514?(b[g+10>>0]|0)==1:0)h=f[g+16>>2]|0;else i=17;do if((i|0)==17)if(!(c&1)){h=Ic(g,1)|0;break}else return;while(0);if(!h)return;g=b[h>>0]|0;if(!(g<<24>>24)){e=h;c=h}else{c=h;e=h;do{e=e+1|0;h=b[e>>0]|0;if((g&255)>191&(h&-64)<<24>>24==-128)do{e=e+1|0;c=c+1|0;g=b[e>>0]|0}while((g&-64)<<24>>24==-128);else g=h}while(g<<24>>24!=0)}h=e-c|0;c=f[a>>2]|0;e=((h|0)<0)<<31>>31;g=c+8|0;if(!(d[g>>1]&9216)){a=c;f[a>>2]=h;f[a+4>>2]=e;d[g>>1]=4;return}else{bf(c,h,e);return}}default:{c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216)){d[e>>1]=1;return}else{cf(c);return}}}}function se(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=f[e>>2]|0;c=d[g+8>>1]|0;m=c&31;n=e+4|0;i=f[n>>2]|0;j=d[i+8>>1]|0;l=j&31;if((-1431655766>>>l|-1431655766>>>m)&1|0)return;if((c&2)!=0?(b[g+10>>0]|0)==1:0){h=f[g+12>>2]|0;c=j}else k=5;do if((k|0)==5){c=c&65535;if(!(c&16)){if(c&1|0){h=0;c=j;break}h=_e(g,1)|0;i=f[n>>2]|0;c=d[i+8>>1]|0;break}else{h=f[g+12>>2]|0;if(!(c&16384)){c=j;break}h=(f[g>>2]|0)+h|0;c=j;break}}while(0);if((c&2)!=0?(b[i+10>>0]|0)==1:0){o=f[i+12>>2]|0;k=18}else k=13;do if((k|0)==13){g=c&65535;if(!(g&16)){if(g&1|0){c=1;i=0;break}o=_e(i,1)|0;k=18;break}else{c=f[i+12>>2]|0;if(!(g&16384)){o=c;k=18;break}o=(f[i>>2]|0)+c|0;k=18;break}}while(0);a:do if((k|0)==18)if((o|0)>0){g=f[e>>2]|0;do if(!((m|16|0)==16&(l|16|0)==16)){do if(g){c=d[g+8>>1]|0;if((c&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(c&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);i=f[n>>2]|0;if(!i)return;c=d[i+8>>1]|0;if((c&514)==514?(b[i+10>>0]|0)==1:0){c=1;j=f[i+16>>2]|0;break}if(!(c&1)){c=1;j=Ic(i,1)|0;break}else return}else{g=lf(g)|0;c=0;j=lf(f[n>>2]|0)|0}while(0);if(!j)return;if((h|0)!=0&(g|0)==0)return;if((o|0)>(h|0)){c=0;i=0}else{b:do if(!c){c=1;while(1){if(!(Hz(g,j,o)|0))break b;if((o|0)<(h|0)){c=c+1|0;h=h+-1|0;g=g+1|0}else{c=0;i=0;break a}}}else{c=1;while(1){if(!(Hz(g,j,o)|0))break b;while(1){i=h+-1|0;g=g+1|0;if((b[g>>0]&-64)<<24>>24!=-128)break;else h=i}if((o|0)<(h|0)){c=c+1|0;h=i}else{c=0;i=0;break a}}}while(0);i=0}}else{c=1;i=0}while(0);g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216)){a=g;f[a>>2]=c;f[a+4>>2]=i;d[h>>1]=4;return}else{bf(g,c,i);return}}function te(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+48|0;l=n;k=n+32|0;m=n+8|0;j=f[(f[a>>2]|0)+32>>2]|0;if((c|0)<=0){t=n;return}h=f[e>>2]|0;if(!h){t=n;return}g=d[h+8>>1]|0;if((g&514)==514?(b[h+10>>0]|0)==1:0)g=f[h+16>>2]|0;else i=6;do if((i|0)==6)if(!(g&1)){g=Ic(h,1)|0;break}else{t=n;return}while(0);if(!g){t=n;return}f[k>>2]=c+-1;f[k+4>>2]=0;f[k+8>>2]=e+4;h=f[j+108>>2]|0;i=m+4|0;f[i>>2]=0;f[m>>2]=j;f[m+8>>2]=0;c=m+12|0;f[c>>2]=h;h=m+16|0;f[h>>2]=0;b[m+20>>0]=0;e=m+21|0;b[e>>0]=2;f[l>>2]=k;qf(m,g,l);h=f[h>>2]|0;g=f[i>>2]|0;if(((g|0)!=0?(b[g+h>>0]=0,(f[c>>2]|0)!=0):0)?(b[e>>0]&4)==0:0)g=Cc(m)|0;else g=f[i>>2]|0;if(($e(f[a>>2]|0,g,h,1,139)|0)!=18){t=n;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=n;return}function ue(a,c,e){a=a|0;c=c|0;e=e|0;var g=0;c=f[e>>2]|0;if(!c)return;e=d[c+8>>1]|0;if((e&514)==514?(b[c+10>>0]|0)==1:0)c=f[c+16>>2]|0;else g=5;do if((g|0)==5)if(!(e&1)){c=Ic(c,1)|0;break}else return;while(0);if(!c)return;e=b[c>>0]|0;if(!(e<<24>>24))return;g=c+1|0;c=e&255;if((e&255)>191){c=h[5728+(c+-192)>>0]|0;e=b[g>>0]|0;if((e&-64)<<24>>24==-128)do{g=g+1|0;c=c<<6|e&63;e=b[g>>0]|0}while((e&-64)<<24>>24==-128);c=(c&-2|0)==65534|(c>>>0<128|(c&-2048|0)==55296)?65533:c}e=f[a>>2]|0;g=((c|0)<0)<<31>>31;a=e+8|0;if(!(d[a>>1]&9216)){f[e>>2]=c;f[e+4>>2]=g;d[a>>1]=4;return}else{bf(e,c,g);return}}function ve(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0;q=c<<2|1;q=xd(q,((q|0)<0)<<31>>31)|0;if(!q){g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[a+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if(b[h>>0]|0)return;if(b[g+82>>0]|0)return;b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;a=g+272|0;f[a>>2]=(f[a>>2]|0)+1;return}if((c|0)>0){n=0;g=q;do{h=f[e+(n<<2)>>2]|0;i=j[h+8>>1]|0;do if(!(i&4)){if(i&8|0){i=Fc(+p[h>>3])|0;h=ba()|0;o=18;break}if(!(i&18)){m=g;l=1;h=0}else{i=Gc(b[h+10>>0]|0,f[h+12>>2]|0,f[h+16>>2]|0)|0;h=ba()|0;o=18}}else{i=h;h=f[i+4>>2]|0;i=f[i>>2]|0;o=18}while(0);do if((o|0)==18){o=0;k=i&2097151;if(!(h>>>0>0|(h|0)==0&i>>>0>1114111)){if(k>>>0<128){m=g;l=1;h=k;break}if(k>>>0<2048){b[g>>0]=i>>>6&31|192;m=g+1|0;l=2;h=i&63|128;break}if(k>>>0<65536)h=k;else{b[g>>0]=k>>>18|240;b[g+1>>0]=i>>>12&63|128;b[g+2>>0]=i>>>6&63|128;m=g+3|0;l=4;h=i&63|128;break}}else h=65533;b[g>>0]=h>>>12&15|224;b[g+1>>0]=h>>>6&63|128;m=g+2|0;l=3;h=h&63|128}while(0);g=g+l|0;b[m>>0]=h;n=n+1|0}while((n|0)!=(c|0))}else g=q;g=g-q|0;if((g|0)>=0){if(($e(f[a>>2]|0,q,g,1,101)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}do if(101!=-1)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{o=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);if(!a)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}function we(a,c,e){a=a|0;c=c|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0;k=t;t=t+16|0;h=k+8|0;i=k;e=f[e>>2]|0;c=d[e+8>>1]|0;switch(b[5792+(c&31)>>0]|0){case 1:{c=c&65535;do if(!(c&4)){if(c&8|0){c=Fc(+p[e>>3])|0;e=ba()|0;j=8;break}if(!(c&18)){c=0;i=0}else{c=Gc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)|0;e=ba()|0;j=8}}else{c=e;e=f[c+4>>2]|0;c=f[c>>2]|0;j=8}while(0);do if((j|0)==8)if((e|0)<0){if(!((c|0)==0&(e|0)==-2147483648)){c=LA(0,0,c|0,e|0)|0;i=ba()|0;break}f[a+20>>2]=1;$e(f[a>>2]|0,41656,-1,1,-1)|0;t=k;return}else i=e;while(0);e=f[a>>2]|0;h=e+8|0;if(!(d[h>>1]&9216)){a=e;f[a>>2]=c;f[a+4>>2]=i;d[h>>1]=4;t=k;return}else{bf(e,c,i);t=k;return}}case 5:{c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216)){d[e>>1]=1;t=k;return}else{cf(c);t=k;return}}default:{c=c&65535;do if(!(c&8)){if(c&4|0){j=e;g=+((f[j>>2]|0)>>>0)+4294967296.0*+(f[j+4>>2]|0);break}if(!(c&18))g=0.0;else g=+Hc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)}else g=+p[e>>3];while(0);g=g<0.0?-g:g;c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else cf(c);p[h>>3]=g;p[i>>3]=+p[h>>3];if(!(+p[h>>3]==+p[i>>3])){t=k;return}p[c>>3]=g;d[e>>1]=8;t=k;return}}}function xe(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0.0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+48|0;i=m+24|0;k=m+16|0;l=m+8|0;j=m;a:do if((c|0)==2){g=f[e+4>>2]|0;c=d[g+8>>1]|0;if(-1431655766>>>(c&31)&1|0){t=m;return}c=c&65535;do if(!(c&4)){if(c&8|0){c=Fc(+p[g>>3])|0;ba()|0;break}if(!(c&18)){c=0;break a}c=Gc(b[g+10>>0]|0,f[g+12>>2]|0,f[g+16>>2]|0)|0;ba()|0}else c=f[g>>2]|0;while(0);if((c|0)<30){if((c|0)<=0){c=0;break}}else c=30}else c=0;while(0);e=f[e>>2]|0;g=d[e+8>>1]|0;if(-1431655766>>>(g&31)&1|0){t=m;return}g=g&65535;do if(!(g&8)){if(g&4|0){h=+((f[e>>2]|0)>>>0)+4294967296.0*+(f[e+4>>2]|0);break}if(!(g&18))h=0.0;else h=+Hc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)}else h=+p[e>>3];while(0);p[j>>3]=h;g=(c|0)==0;do if(h<9223372036854775808.0&(g&h>=0.0)){h=h+.5;h=+(~~h>>>0>>>0)+4294967296.0*+((+H(h)>=1.0?(h>0.0?~~+V(+G(h/4294967296.0),4294967295.0)>>>0:~~+T((h-+(~~h>>>0))/4294967296.0)>>>0):0)|0);p[j>>3]=h}else{if(h>-9223372036854775808.0&(g&h<0.0)){h=.5-h;h=-(+(~~h>>>0>>>0)+4294967296.0*+((+H(h)>=1.0?(h>0.0?~~+V(+G(h/4294967296.0),4294967295.0)>>>0:~~+T((h-+(~~h>>>0))/4294967296.0)>>>0):0)|0));p[j>>3]=h;break}f[i>>2]=c;p[i+8>>3]=h;c=wd(41687,i)|0;if(c|0){jf(c,j,(wz(c)|0)&1073741823,1)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if(b[g>>0]|0){t=m;return}if(b[c+82>>0]|0){t=m;return}b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;t=m;return}while(0);h=+p[j>>3];c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else cf(c);p[k>>3]=h;p[l>>3]=+p[k>>3];if(!(+p[k>>3]==+p[l>>3])){t=m;return}p[c>>3]=h;d[g>>1]=8;t=m;return}function ye(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0;g=f[e>>2]|0;c=d[g+8>>1]|0;if((c&514)==514?(b[g+10>>0]|0)==1:0){j=f[g+16>>2]|0;e=g}else if(!(c&1)){j=Ic(g,1)|0;e=f[e>>2]|0}else{j=0;e=g}c=d[e+8>>1]|0;if((c&2)!=0?(b[e+10>>0]|0)==1:0)i=f[e+12>>2]|0;else h=9;do if((h|0)==9){c=c&65535;if(!(c&16)){if(c&1|0){i=0;break}i=_e(e,1)|0;break}else{g=f[e+12>>2]|0;if(!(c&16384)){i=g;break}i=(f[e>>2]|0)+g|0;break}}while(0);if(!j)return;g=KA(i|0,((i|0)<0)<<31>>31|0,1,0)|0;ba()|0;c=f[a>>2]|0;if((i|0)>=(f[(f[c+32>>2]|0)+108>>2]|0)){f[a+20>>2]=18;$e(c,41612,-1,1,0)|0;return}do if(i>>>0<=2147483390){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](g)|0;if(!c)break}else{e=ib[f[37372>>2]&255](g)|0;if((f[18194]|0)>>>0>>0)f[18194]=g;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){h=f[18187]|0;g=LA(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&g>>>0<=h>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(!c)break;g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}if((i|0)>0){g=0;do{h=b[j+g>>0]|0;b[c+g>>0]=h&~(b[5472+(h&255)>>0]&32);g=g+1|0}while((g|0)!=(i|0))}if(($e(f[a>>2]|0,c,i,1,101)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}while(0);c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if(b[g>>0]|0)return;if(b[c+82>>0]|0)return;b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;return}function ze(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0;g=f[e>>2]|0;c=d[g+8>>1]|0;if((c&514)==514?(b[g+10>>0]|0)==1:0){k=f[g+16>>2]|0;e=g}else if(!(c&1)){k=Ic(g,1)|0;e=f[e>>2]|0}else{k=0;e=g}c=d[e+8>>1]|0;if((c&2)!=0?(b[e+10>>0]|0)==1:0)j=f[e+12>>2]|0;else i=9;do if((i|0)==9){c=c&65535;if(!(c&16)){if(c&1|0){j=0;break}j=_e(e,1)|0;break}else{g=f[e+12>>2]|0;if(!(c&16384)){j=g;break}j=(f[e>>2]|0)+g|0;break}}while(0);if(!k)return;g=KA(j|0,((j|0)<0)<<31>>31|0,1,0)|0;ba()|0;c=f[a>>2]|0;if((j|0)>=(f[(f[c+32>>2]|0)+108>>2]|0)){f[a+20>>2]=18;$e(c,41612,-1,1,0)|0;return}do if(j>>>0<=2147483390){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](g)|0;if(!c)break}else{e=ib[f[37372>>2]&255](g)|0;if((f[18194]|0)>>>0>>0)f[18194]=g;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){i=f[18187]|0;g=LA(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&g>>>0<=i>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(!c)break;g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}if((j|0)>0){g=0;do{b[c+g>>0]=b[1232+(h[k+g>>0]|0)>>0]|0;g=g+1|0}while((g|0)!=(j|0))}if(($e(f[a>>2]|0,c,j,1,101)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}while(0);c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if(b[g>>0]|0)return;if(b[c+82>>0]|0)return;b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;return}function Ae(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0;l=lf(f[e>>2]|0)|0;g=f[e>>2]|0;c=d[g+8>>1]|0;if((c&2)!=0?(b[g+10>>0]|0)==1:0)e=f[g+12>>2]|0;else i=4;do if((i|0)==4){c=c&65535;if(!(c&16)){if(c&1|0){e=0;break}e=_e(g,1)|0;break}else{e=f[g+12>>2]|0;if(!(c&16384))break;e=(f[g>>2]|0)+e|0;break}}while(0);i=WA(e|0,((e|0)<0)<<31>>31|0,1)|0;c=ba()|0;i=i|1;g=f[a>>2]|0;k=f[(f[g+32>>2]|0)+108>>2]|0;j=((k|0)<0)<<31>>31;if((c|0)>(j|0)|(c|0)==(j|0)&i>>>0>k>>>0){f[a+20>>2]=18;$e(g,41612,-1,1,0)|0;return}k=KA(i|0,c|0,-1,-1)|0;j=ba()|0;do if(!(j>>>0>0|(j|0)==0&k>>>0>2147483390)){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](i)|0;if(!c)break;else g=c}else{j=ib[f[37372>>2]&255](i)|0;if((f[18194]|0)>>>0>>0)f[18194]=i;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){k=f[18187]|0;i=LA(c|0,g|0,j|0,((j|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&i>>>0<=k>>>0)&1}g=ib[f[37356>>2]&255](j)|0;if(!g)break;c=ib[f[37368>>2]&255](g)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}k=e<<1;if((e|0)>0){j=g;c=l;i=0;while(1){l=h[c>>0]|0;b[j>>0]=b[5824+(l>>>4)>>0]|0;b[j+1>>0]=b[5824+(l&15)>>0]|0;i=i+1|0;if((i|0)==(e|0))break;else{j=j+2|0;c=c+1|0}}c=g+k|0}else c=g;b[c>>0]=0;if(($e(f[a>>2]|0,g,k,1,101)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}while(0);c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;e=c+81|0;if(b[e>>0]|0)return;if(b[c+82>>0]|0)return;b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;return}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0;h=t;t=t+16|0;b=h;zd(8,b);e=b;c=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)<0){g=LA(0,0,c|0,e&2147483647|0)|0;e=ba()|0;c=b;f[c>>2]=g;f[c+4>>2]=e}else g=c;b=f[a>>2]|0;c=b+8|0;if(!(d[c>>1]&9216)){a=b;f[a>>2]=g;f[a+4>>2]=e;d[c>>1]=4;t=h;return}else{bf(b,g,e);t=h;return}}function Ce(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0;c=f[e>>2]|0;e=j[c+8>>1]|0;do if(!(e&4)){if(e&8|0){c=Fc(+p[c>>3])|0;ba()|0;g=7;break}if(!(e&18))h=1;else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0;g=7}}else{c=f[c>>2]|0;g=7}while(0);if((g|0)==7)h=(c|0)>1?c:1;c=f[a>>2]|0;g=f[(f[c+32>>2]|0)+108>>2]|0;e=((g|0)<0)<<31>>31;if((e|0)<0|(e|0)==0&g>>>0>>0){f[a+20>>2]=18;$e(c,41612,-1,1,0)|0;return}g=KA(h|0,0,-1,-1)|0;e=ba()|0;do if(!(e>>>0>0|(e|0)==0&g>>>0>2147483390)){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](h)|0;if(!c)break}else{c=ib[f[37372>>2]&255](h)|0;if((f[18194]|0)>>>0>>0)f[18194]=h;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){i=f[18187]|0;g=LA(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&g>>>0<=i>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c)break;e=ib[f[37368>>2]&255](c)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}zd(h,c);if(($e(f[a>>2]|0,c,h,0,101)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}while(0);c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;e=c+81|0;if(b[e>>0]|0)return;if(b[c+82>>0]|0)return;b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;i=c+272|0;f[i>>2]=(f[i>>2]|0)+1;return}function De(a,b,c){a=a|0;b=b|0;c=c|0;if(!(nf(f[c>>2]|0,f[c+4>>2]|0,f[(f[(f[a+12>>2]|0)+88>>2]|0)+(((f[a+16>>2]|0)+-1|0)*20|0)+16>>2]|0)|0))return;mf(a,f[c>>2]|0);return}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;if(($e(f[a>>2]|0,40440,-1,1,0)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}function Fe(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0;i=t;t=t+16|0;h=i;a=f[e>>2]|0;c=j[a+8>>1]|0;do if(!(c&4)){if(c&8|0){g=Fc(+p[a>>3])|0;ba()|0;break}if(!(c&18))g=0;else{g=Gc(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0)|0;ba()|0}}else g=f[a>>2]|0;while(0);a=f[e+4>>2]|0;do if(a){c=d[a+8>>1]|0;if((c&514)==514?(b[a+10>>0]|0)==1:0){a=f[a+16>>2]|0;break}if(!(c&1))a=Ic(a,1)|0;else a=0}else a=0;while(0);f[h>>2]=a;Ac(g,40840,h);t=i;return}function Ge(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,q=0;q=t;t=t+80|0;m=q+72|0;l=q+64|0;j=q+56|0;k=q;g=f[e>>2]|0;c=d[g+8>>1]|0;switch(b[5792+(c&31)>>0]|0){case 2:{c=c&65535;do if(!(c&8)){if(c&4|0){o=g;i=+((f[o>>2]|0)>>>0)+4294967296.0*+(f[o+4>>2]|0);break}if(!(c&18))i=0.0;else i=+Hc(b[g+10>>0]|0,f[g+12>>2]|0,f[g+16>>2]|0)}else i=+p[g>>3];while(0);p[l>>3]=i;vd(50,k,41673,l)|0;jf(k,j,20,1)|0;if(i!=+p[j>>3]){p[m>>3]=i;vd(50,k,41680,m)|0}if(($e(f[a>>2]|0,k,-1,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}t=q;return}case 1:{mf(a,g);t=q;return}case 4:{l=lf(g)|0;e=f[e>>2]|0;c=d[e+8>>1]|0;if((c&2)!=0?(b[e+10>>0]|0)==1:0)k=f[e+12>>2]|0;else n=17;do if((n|0)==17){c=c&65535;if(!(c&16)){if(c&1|0){k=0;break}k=_e(e,1)|0;break}else{g=f[e+12>>2]|0;if(!(c&16384)){k=g;break}k=(f[e>>2]|0)+g|0;break}}while(0);c=WA(k|0,((k|0)<0)<<31>>31|0,1)|0;g=ba()|0;j=KA(c|0,g|0,4,0)|0;m=ba()|0;e=f[a>>2]|0;o=f[(f[e+32>>2]|0)+108>>2]|0;n=((o|0)<0)<<31>>31;if((m|0)>(n|0)|(m|0)==(n|0)&j>>>0>o>>>0){f[a+20>>2]=18;$e(e,41612,-1,1,0)|0;t=q;return}o=KA(c|0,g|0,3,0)|0;n=ba()|0;do if(!(n>>>0>0|(n|0)==0&o>>>0>2147483390)){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](j)|0;if(!c)break}else{e=ib[f[37372>>2]&255](j)|0;if((f[18194]|0)>>>0>>0)f[18194]=j;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){o=f[18187]|0;n=LA(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;m=ba()|0;f[17976]=((m|0)<0|(m|0)==0&n>>>0<=o>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(!c)break;g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}if((k|0)>0){g=0;do{n=l+g|0;o=g<<1;b[c+(o+2)>>0]=b[5824+((h[n>>0]|0)>>>4)>>0]|0;b[c+(o+3)>>0]=b[5824+(b[n>>0]&15)>>0]|0;g=g+1|0}while((g|0)!=(k|0))}o=k<<1;b[c+(o+2)>>0]=39;b[c+(o+3)>>0]=0;b[c>>0]=88;b[c+1>>0]=39;if(($e(f[a>>2]|0,c,-1,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);t=q;return}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);t=q;return}}while(0);c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if(b[g>>0]|0){t=q;return}if(b[c+82>>0]|0){t=q;return}b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;t=q;return}case 3:{if(!g){t=q;return}if((c&514)==514?(b[g+10>>0]|0)==1:0)o=f[g+16>>2]|0;else n=56;do if((n|0)==56)if(!(c&1)){o=Ic(g,1)|0;break}else{t=q;return}while(0);if(!o){t=q;return}e=0;c=0;g=0;a:while(1){switch(b[o+e>>0]|0){case 0:break a;case 39:{c=KA(c|0,g|0,1,0)|0;g=ba()|0;break}default:{}}e=e+1|0}c=KA(c|0,g|0,e|0,0)|0;g=ba()|0;j=KA(c|0,g|0,3,0)|0;l=ba()|0;e=f[a>>2]|0;n=f[(f[e+32>>2]|0)+108>>2]|0;m=((n|0)<0)<<31>>31;if((l|0)>(m|0)|(l|0)==(m|0)&j>>>0>n>>>0){f[a+20>>2]=18;$e(e,41612,-1,1,0)|0;t=q;return}n=KA(c|0,g|0,2,0)|0;m=ba()|0;do if(!(m>>>0>0|(m|0)==0&n>>>0>2147483390)){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](j)|0;if(!c)break}else{e=ib[f[37372>>2]&255](j)|0;if((f[18194]|0)>>>0>>0)f[18194]=j;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){n=f[18187]|0;m=LA(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&m>>>0<=n>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(!c)break;g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}b[c>>0]=39;g=b[o>>0]|0;e=c+1|0;if(!(g<<24>>24))g=2;else{j=1;m=0;l=g;k=o;g=2;do{b[e>>0]=l;if((b[k>>0]|0)==39){b[c+g>>0]=39;j=j+2|0}else j=g;m=m+1|0;k=o+m|0;l=b[k>>0]|0;g=j+1|0;e=c+j|0}while(l<<24>>24!=0)}b[e>>0]=39;b[c+g>>0]=0;if(($e(f[a>>2]|0,c,g,1,101)|0)!=18){t=q;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=q;return}while(0);c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if(b[g>>0]|0){t=q;return}if(b[c+82>>0]|0){t=q;return}b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;t=q;return}default:{if(($e(f[a>>2]|0,40543,4,1,0)|0)!=18){t=q;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=q;return}}}function He(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;c=f[a>>2]|0;a=(f[c+32>>2]|0)+40|0;e=f[a>>2]|0;a=f[a+4>>2]|0;b=c+8|0;if(!(d[b>>1]&9216)){f[c>>2]=e;f[c+4>>2]=a;d[b>>1]=4;return}else{bf(c,e,a);return}}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;b=f[a>>2]|0;c=f[(f[b+32>>2]|0)+100>>2]|0;e=((c|0)<0)<<31>>31;a=b+8|0;if(!(d[a>>1]&9216)){f[b>>2]=c;f[b+4>>2]=e;d[a>>1]=4;return}else{bf(b,c,e);return}}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;b=f[a>>2]|0;c=f[(f[b+32>>2]|0)+104>>2]|0;e=((c|0)<0)<<31>>31;a=b+8|0;if(!(d[a>>1]&9216)){f[b>>2]=c;f[b+4>>2]=e;d[a>>1]=4;return}else{bf(b,c,e);return}}function Ke(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f[(f[a>>2]|0)+32>>2]|0;c=f[e>>2]|0;if(!c)return;g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0)A=f[c+16>>2]|0;else B=5;do if((B|0)==5)if(!(g&1)){A=Ic(c,1)|0;break}else return;while(0);if(!A)return;h=f[e>>2]|0;c=d[h+8>>1]|0;if((c&2)!=0?(b[h+10>>0]|0)==1:0)z=f[h+12>>2]|0;else B=11;do if((B|0)==11){c=c&65535;if(!(c&16)){if(c&1|0){z=0;break}z=_e(h,1)|0;break}else{g=f[h+12>>2]|0;if(!(c&16384)){z=g;break}z=(f[h>>2]|0)+g|0;break}}while(0);h=e+4|0;c=f[h>>2]|0;if(!c)return;g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0)y=f[c+16>>2]|0;else B=20;do if((B|0)==20)if(!(g&1)){y=Ic(c,1)|0;break}else return;while(0);if(!y)return;if(!(b[y>>0]|0)){mf(a,f[e>>2]|0);return}h=f[h>>2]|0;c=d[h+8>>1]|0;if((c&2)!=0?(b[h+10>>0]|0)==1:0)x=f[h+12>>2]|0;else B=28;do if((B|0)==28){c=c&65535;if(!(c&16)){if(c&1|0){x=0;break}x=_e(h,1)|0;break}else{g=f[h+12>>2]|0;if(!(c&16384)){x=g;break}x=(f[h>>2]|0)+g|0;break}}while(0);h=e+8|0;c=f[h>>2]|0;if(!c)return;g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0)w=f[c+16>>2]|0;else B=37;do if((B|0)==37)if(!(g&1)){w=Ic(c,1)|0;break}else return;while(0);if(!w)return;h=f[h>>2]|0;c=d[h+8>>1]|0;if((c&2)!=0?(b[h+10>>0]|0)==1:0)v=f[h+12>>2]|0;else B=43;do if((B|0)==43){c=c&65535;if(!(c&16)){if(c&1|0){v=0;break}v=_e(h,1)|0;break}else{g=f[h+12>>2]|0;if(!(c&16384)){v=g;break}v=(f[h>>2]|0)+g|0;break}}while(0);k=z+1|0;j=((k|0)<0)<<31>>31;c=f[a>>2]|0;if((f[(f[c+32>>2]|0)+108>>2]|0)<=(z|0)){f[a+20>>2]=18;$e(c,41612,-1,1,0)|0;return}u=KA(k|0,j|0,-1,-1)|0;t=ba()|0;a:do if(!(t>>>0>0|(t|0)==0&u>>>0>2147483390)){do if(!(f[9328]|0)){h=ib[f[37356>>2]&255](k)|0;if(!h)break a}else{c=ib[f[37372>>2]&255](k)|0;if((f[18194]|0)>>>0>>0)f[18194]=k;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){u=f[18187]|0;t=LA(g|0,h|0,c|0,((c|0)<0)<<31>>31|0)|0;s=ba()|0;f[17976]=((s|0)<0|(s|0)==0&t>>>0<=u>>>0)&1}h=ib[f[37356>>2]&255](c)|0;if(!h)break a;c=ib[f[37368>>2]&255](h)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0<=(f[18196]|0)>>>0)break;f[18196]=c}while(0);u=z-x|0;b:do if((u|0)>=0){r=v-x|0;s=((r|0)<0)<<31>>31;o=i+108|0;t=x+-1|0;p=~z;q=((p|0)<0)<<31>>31;if((v|0)<=(x|0)){g=0;c=0;while(1){e=A+c|0;i=b[e>>0]|0;do if(i<<24>>24==(b[y>>0]|0)){if(Hz(e,y,x)|0){B=85;break}YA(h+g|0,w|0,v|0)|0;g=g+v|0;e=t+c|0}else B=85;while(0);if((B|0)==85){B=0;b[h+g>>0]=i;g=g+1|0;e=c}c=e+1|0;if((e|0)>=(u|0))break b}}n=0;g=0;c=0;c:while(1){e=A+c|0;i=b[e>>0]|0;do if(i<<24>>24==(b[y>>0]|0)){if(Hz(e,y,x)|0){B=76;break}j=KA(k|0,j|0,r|0,s|0)|0;l=ba()|0;k=KA(j|0,l|0,-1,-1)|0;e=ba()|0;m=f[o>>2]|0;i=((m|0)<0)<<31>>31;if((e|0)>(i|0)|(e|0)==(i|0)&k>>>0>m>>>0){B=86;break c}i=n+1|0;if(!(i&n)){if(Mc()|0)break c;n=UA(0,j|0,32)|0;e=ba()|0;m=KA(j|0,l|0,p|0,q|0)|0;e=KA(m|0,ba()|0,n|0,e|0)|0;e=Nc(h,e,ba()|0)|0;if(!e)break c;else h=e}YA(h+g|0,w|0,v|0)|0;g=g+v|0;m=t+c|0;e=i;k=j;i=l}else B=76;while(0);if((B|0)==76){B=0;b[h+g>>0]=i;g=g+1|0;m=c;e=n;i=j}c=m+1|0;if((m|0)<(u|0)){n=e;j=i}else break b}if((B|0)==86){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;if(!h)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](h);return}else{a=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);return}}c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;do if(!(b[g>>0]|0)){if(b[c+82>>0]|0)break;b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1}while(0);if(!h)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](h);return}else{a=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);return}}else{g=0;c=0}while(0);B=z-c|0;YA(h+g|0,A+c|0,B|0)|0;B=g+B|0;b[h+B>>0]=0;if(($e(f[a>>2]|0,h,B,1,101)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}while(0);c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if(b[g>>0]|0)return;if(b[c+82>>0]|0)return;b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;return}function Le(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0;c=f[e>>2]|0;e=j[c+8>>1]|0;do if(!(e&4)){if(e&8|0){e=Fc(+p[c>>3])|0;c=ba()|0;h=7;break}if(!(e&18)){c=0;g=0}else{e=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;c=ba()|0;h=7}}else{e=c;c=f[e+4>>2]|0;e=f[e>>2]|0;h=7}while(0);if((h|0)==7){g=(c|0)>0|(c|0)==0&e>>>0>0;c=g?c:0;g=g?e:0}e=f[a>>2]|0;h=f[(f[e+32>>2]|0)+108>>2]|0;i=((h|0)<0)<<31>>31;if(c>>>0>i>>>0|(c|0)==(i|0)&g>>>0>h>>>0){f[a+20>>2]=18;if(!(d[e+8>>1]&1))return;$e(e,41612,-1,1,0)|0;return}c=e+8|0;if(!((d[c>>1]&9216)==0?!(f[e+24>>2]|0):0))ff(e);d[c>>1]=16400;f[e+12>>2]=0;f[e>>2]=(g|0)>0?g:0;b[e+10>>0]=1;f[e+16>>2]=0;return}function Me(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;i=f[e+4>>2]|0;g=d[i+8>>1]|0;if(-1431655766>>>(g&31)&1|0)return;m=(c|0)==3;if(m?-1431655766>>>(d[(f[e+8>>2]|0)+8>>1]&31)&1|0:0)return;h=f[e>>2]|0;k=d[h+8>>1]&15;c=g&65535;do if(!(c&4)){if(c&8|0){r=Fc(+p[i>>3])|0;ba()|0;break}if(!(c&18))r=0;else{r=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;ba()|0;h=f[e>>2]|0}}else r=f[i>>2]|0;while(0);q=((r|0)<0)<<31>>31;t=(k|16)<<16>>16==16;if(t){c=d[h+8>>1]|0;if((c&2)!=0?(b[h+10>>0]|0)==1:0){g=f[h+12>>2]|0;c=h}else s=14;do if((s|0)==14){c=c&65535;if(!(c&16)){if(c&1|0){g=0;c=h;break}g=_e(h,1)|0;c=f[e>>2]|0;break}else{g=f[h+12>>2]|0;if(!(c&16384)){c=h;break}g=(f[h>>2]|0)+g|0;c=h;break}}while(0);c=lf(c)|0;if(!c)return;else{o=c;n=g}}else{if(!h)return;c=d[h+8>>1]|0;if((c&514)==514?(b[h+10>>0]|0)==1:0)k=f[h+16>>2]|0;else s=24;do if((s|0)==24)if(!(c&1)){k=Ic(h,1)|0;break}else return;while(0);if(!k)return;if((r|0)<0?(l=b[k>>0]|0,l<<24>>24!=0):0){i=0;c=k;h=l;while(1){g=c+1|0;if((h&255)>191){c=g;while(1){h=b[c>>0]|0;if((h&-64)<<24>>24==-128)c=c+1|0;else break}}else{c=g;h=b[g>>0]|0}g=i+1|0;if(!(h<<24>>24)){o=k;n=g;break}else i=g}}else{o=k;n=0}}if(m){c=f[e+8>>2]|0;g=j[c+8>>1]|0;do if(!(g&4)){if(g&8|0){c=Fc(+p[c>>3])|0;ba()|0;s=42;break}if(!(g&18)){g=0;c=0;h=0}else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0;s=42}}else{c=f[c>>2]|0;s=42}while(0);if((s|0)==42){h=((c|0)<0)<<31>>31;e=(c|0)<0;m=LA(0,0,c|0,h|0)|0;s=ba()|0;g=c;c=e?m:c;h=e?s:h}k=g>>>31;g=h}else{g=f[(f[(f[a>>2]|0)+32>>2]|0)+108>>2]|0;k=0;c=g;g=((g|0)<0)<<31>>31}do if((r|0)>=0)if(!r){h=((g|0)>0|(g|0)==0&c>>>0>0)<<31>>31;c=KA(c|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;h=0;i=0;g=ba()|0;break}else{h=KA(r|0,q|0,-1,-1)|0;i=ba()|0;break}else{h=KA(n|0,((n|0)<0)<<31>>31|0,r|0,q|0)|0;i=ba()|0;q=(i|0)<0;e=KA(c|0,g|0,h|0,i|0)|0;s=ba()|0;r=(s|0)>0|(s|0)==0&e>>>0>0;h=q?0:h;i=q?0:i;c=q?(r?e:0):c;g=q?(r?s:0):g}while(0);r=(k|0)==0;l=LA(h|0,i|0,c|0,g|0)|0;k=ba()|0;s=(k|0)<0;l=r?h:s?0:l;k=r?i:s?0:k;m=r?c:s?h:c;i=r?g:s?i:g;if(t){r=KA(l|0,k|0,m|0,i|0)|0;t=ba()|0;c=((n|0)<0)<<31>>31;r=(t|0)>(c|0)|(t|0)==(c|0)&r>>>0>n>>>0;c=LA(n|0,c|0,l|0,k|0)|0;t=ba()|0;s=(t|0)>0|(t|0)==0&c>>>0>0;c=r?(s?c:0):m;t=r?(s?t:0):i;if(t>>>0>0|(t|0)==0&c>>>0>2147483647){if(!a)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}else{if(($e(f[a>>2]|0,o+l|0,c,0,-1)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}}g=b[o>>0]|0;if(((l|0)!=0|(k|0)!=0)&g<<24>>24!=0){c=o;do{h=c+1|0;if((g&255)>191){c=h;while(1){g=b[c>>0]|0;if((g&-64)<<24>>24==-128)c=c+1|0;else break}}else{c=h;g=b[h>>0]|0}l=KA(l|0,k|0,-1,-1)|0;k=ba()|0}while(((l|0)!=0|(k|0)!=0)&g<<24>>24!=0);l=c}else l=o;if(g<<24>>24!=0&((m|0)!=0|(i|0)!=0)){c=l;k=m;do{h=c+1|0;if((g&255)>191){c=h;while(1){g=b[c>>0]|0;if((g&-64)<<24>>24==-128)c=c+1|0;else break}}else{c=h;g=b[h>>0]|0}k=KA(k|0,i|0,-1,-1)|0;i=ba()|0}while(g<<24>>24!=0&((k|0)!=0|(i|0)!=0))}else c=l;c=c-l|0;if((c|0)<0){if(!a)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}else{if(($e(f[a>>2]|0,l,c,1,-1)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}}function Ne(a,c,e){a=a|0;c=c|0;e=e|0;var g=0.0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;q=t;t=t+16|0;m=q+8|0;n=q;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))o=hf(a,32)|0;else o=f[c+16>>2]|0;k=f[e>>2]|0;l=k+8|0;a=d[l>>1]&31;i=h[5792+a>>0]|0;if((a|16|0)==18){c=b[k+10>>0]|0;a=k+16|0;i=k+12|0;if(!(jf(f[a>>2]|0,m,f[i>>2]|0,c)|0))c=d[l>>1]|0;else{if(!(kf(f[a>>2]|0,n,f[i>>2]|0,c)|0)){m=n;n=f[m+4>>2]|0;c=k;f[c>>2]=f[m>>2];f[c+4>>2]=n;c=4}else{p[k>>3]=+p[m>>3];c=8}c=d[l>>1]&-3|c;d[l>>1]=c}i=h[5792+(c&31)>>0]|0}if(!((o|0)!=0&(i|0)!=5)){t=q;return}c=o+16|0;n=c;n=KA(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;a=ba()|0;f[c>>2]=n;f[c+4>>2]=a;c=f[e>>2]|0;a=j[c+8>>1]|0;if((i|0)!=1){do if(!(a&8)){if(a&4|0){e=c;g=+((f[e>>2]|0)>>>0)+4294967296.0*+(f[e+4>>2]|0);break}if(!(a&18))g=0.0;else g=+Hc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)}else g=+p[c>>3];while(0);p[o>>3]=g+ +p[o>>3];b[o+25>>0]=1;t=q;return}do if(!(a&4)){if(a&8|0){l=Fc(+p[c>>3])|0;m=ba()|0;break}if(!(a&18)){l=0;m=0}else{l=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;m=ba()|0}}else{m=c;l=f[m>>2]|0;m=f[m+4>>2]|0}while(0);p[o>>3]=+p[o>>3]+(+(l>>>0)+4294967296.0*+(m|0));n=o+25|0;e=o+24|0;if((b[e>>0]|b[n>>0])<<24>>24){t=q;return}c=o+8|0;i=c;a=f[i>>2]|0;i=f[i+4>>2]|0;if((m|0)>-1|(m|0)==-1&l>>>0>4294967295){o=LA(-1,2147483647,a|0,i|0)|0;k=ba()|0;if(((i|0)>0|(i|0)==0&a>>>0>0)&((k|0)<(m|0)|(k|0)==(m|0)&o>>>0>>0))k=26;else k=25}else if((i|0)<0?(k=LA(1,-2147483648,a|0,i|0)|0,s=ba()|0,o=KA(l|0,m|0,1,0)|0,r=ba()|0,(s|0)>(r|0)|(s|0)==(r|0)&k>>>0>o>>>0):0)k=26;else k=25;if((k|0)==25){o=KA(a|0,i|0,l|0,m|0)|0;r=ba()|0;s=c;f[s>>2]=o;f[s+4>>2]=r;t=q;return}else if((k|0)==26){b[e>>0]=1;b[n>>0]=1;t=q;return}}function Oe(a){a=a|0;var c=0,e=0,g=0,h=0.0,i=0,j=0,k=0;i=t;t=t+16|0;e=i+8|0;g=i;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))c=hf(a,0)|0;else c=f[c+16>>2]|0;if(!c){t=i;return}j=c+16|0;k=f[j+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[j>>2]|0)>>>0>0)){t=i;return}if(b[c+24>>0]|0){f[a+20>>2]=1;$e(f[a>>2]|0,41656,-1,1,-1)|0;t=i;return}if(!(b[c+25>>0]|0)){g=c+8|0;e=f[g>>2]|0;g=f[g+4>>2]|0;c=f[a>>2]|0;a=c+8|0;if(!(d[a>>1]&9216)){k=c;f[k>>2]=e;f[k+4>>2]=g;d[a>>1]=4;t=i;return}else{bf(c,e,g);t=i;return}}h=+p[c>>3];c=f[a>>2]|0;a=c+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else cf(c);p[e>>3]=h;p[g>>3]=+p[e>>3];if(!(+p[e>>3]==+p[g>>3])){t=i;return}p[c>>3]=h;d[a>>1]=8;t=i;return}function Pe(a,c,e){a=a|0;c=c|0;e=e|0;var g=0.0,i=0,k=0,l=0,m=0,n=0,o=0,q=0;q=t;t=t+16|0;m=q+8|0;n=q;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))o=hf(a,32)|0;else o=f[c+16>>2]|0;k=f[e>>2]|0;l=k+8|0;i=d[l>>1]&31;c=h[5792+i>>0]|0;if((i|16|0)==18){c=b[k+10>>0]|0;a=k+16|0;i=k+12|0;if(!(jf(f[a>>2]|0,m,f[i>>2]|0,c)|0))c=d[l>>1]|0;else{if(!(kf(f[a>>2]|0,n,f[i>>2]|0,c)|0)){m=n;n=f[m+4>>2]|0;c=k;f[c>>2]=f[m>>2];f[c+4>>2]=n;c=4}else{p[k>>3]=+p[m>>3];c=8}c=d[l>>1]&-3|c;d[l>>1]=c}c=h[5792+(c&31)>>0]|0}if(!((o|0)!=0&(c|0)!=5)){t=q;return}n=o+16|0;l=n;l=KA(f[l>>2]|0,f[l+4>>2]|0,-1,-1)|0;m=ba()|0;f[n>>2]=l;f[n+4>>2]=m;if((c|0)==1?(b[o+25>>0]|0)==0:0){c=f[e>>2]|0;a=j[c+8>>1]|0;do if(!(a&4)){if(a&8|0){c=Fc(+p[c>>3])|0;a=ba()|0;break}if(!(a&18)){c=0;a=0}else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;a=ba()|0}}else{a=c;c=f[a>>2]|0;a=f[a+4>>2]|0}while(0);p[o>>3]=+p[o>>3]-(+(c>>>0)+4294967296.0*+(a|0));o=o+8|0;n=o;n=LA(f[n>>2]|0,f[n+4>>2]|0,c|0,a|0)|0;e=ba()|0;f[o>>2]=n;f[o+4>>2]=e;t=q;return}c=f[e>>2]|0;a=j[c+8>>1]|0;do if(!(a&8)){if(a&4|0){e=c;g=+((f[e>>2]|0)>>>0)+4294967296.0*+(f[e+4>>2]|0);break}if(!(a&18))g=0.0;else g=+Hc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)}else g=+p[c>>3];while(0);p[o>>3]=+p[o>>3]-g;t=q;return}function Qe(a){a=a|0;var b=0,c=0.0,e=0,g=0,h=0;h=t;t=t+16|0;e=h+8|0;g=h;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,0)|0;else b=f[b+16>>2]|0;if(!b)c=0.0;else c=+p[b>>3];b=f[a>>2]|0;a=b+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else cf(b);p[e>>3]=c;p[g>>3]=+p[e>>3];if(!(+p[e>>3]==+p[g>>3])){t=h;return}p[b>>3]=c;d[a>>1]=8;t=h;return}function Re(a){a=a|0;var b=0,c=0,e=0,g=0.0,h=0,i=0,j=0;j=t;t=t+16|0;h=j+8|0;i=j;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,0)|0;else b=f[b+16>>2]|0;if(!b){t=j;return}e=b+16|0;c=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&c>>>0>0)){t=j;return}g=+p[b>>3]/(+(c>>>0)+4294967296.0*+(e|0));b=f[a>>2]|0;c=b+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else cf(b);p[h>>3]=g;p[i>>3]=+p[h>>3];if(!(+p[h>>3]==+p[i>>3])){t=j;return}p[b>>3]=g;d[c>>1]=8;t=j;return}function Se(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;e=f[a+8>>2]|0;if(!(d[e+8>>1]&8192))a=hf(a,8)|0;else a=f[e+16>>2]|0;if(!b){if(!a)return}else if(!(a|0?(1431655765>>>(d[(f[c>>2]|0)+8>>1]&31)&1|0)!=0:0))return;e=a;e=KA(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;b=ba()|0;c=a;f[c>>2]=e;f[c+4>>2]=b;return}function Te(a){a=a|0;var b=0,c=0,e=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,0)|0;else b=f[b+16>>2]|0;if(!b){c=0;e=0}else{e=b;c=f[e>>2]|0;e=f[e+4>>2]|0}b=f[a>>2]|0;a=b+8|0;if(!(d[a>>1]&9216)){f[b>>2]=c;f[b+4>>2]=e;d[a>>1]=4;return}else{bf(b,c,e);return}}function Ue(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;e=f[a+8>>2]|0;if(!(d[e+8>>1]&8192))a=hf(a,8)|0;else a=f[e+16>>2]|0;if(!b){if(!a)return}else if(!(a|0?(1431655765>>>(d[(f[c>>2]|0)+8>>1]&31)&1|0)!=0:0))return;e=a;e=KA(f[e>>2]|0,f[e+4>>2]|0,-1,-1)|0;b=ba()|0;c=a;f[c>>2]=e;f[c+4>>2]=b;return}function Ve(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;if(-1431655766>>>(d[(f[e>>2]|0)+8>>1]&31)&1|0)return;g=f[a+8>>2]|0;if(!(d[g+8>>1]&8192))k=hf(a,24)|0;else k=f[g+16>>2]|0;if(!k)return;h=k+12|0;i=(f[h>>2]|0)==0;f[h>>2]=f[(f[(f[a>>2]|0)+32>>2]|0)+108>>2];do if(!i){if((c|0)==2){a=e+4|0;c=f[a>>2]|0;g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0)h=f[c+16>>2]|0;else if(!(g&1)){h=Ic(c,1)|0;c=f[a>>2]|0}else h=0;g=d[c+8>>1]|0;if((g&2)!=0?(b[c+10>>0]|0)==1:0)g=f[c+12>>2]|0;else j=16;do if((j|0)==16){a=g&65535;if(!(a&16)){if(a&1|0){g=0;break}g=_e(c,1)|0;break}else{g=f[c+12>>2]|0;if(!(a&16384))break;g=(f[c>>2]|0)+g|0;break}}while(0);if(!h)break;else a=h}else{g=1;a=41635}c=k+16|0;h=f[c>>2]|0;i=h+g|0;if(i>>>0>=(f[k+8>>2]|0)>>>0){Ec(k,a,g);break}if(g|0){f[c>>2]=i;YA((f[k+4>>2]|0)+h|0,a|0,g|0)|0}}while(0);a=f[e>>2]|0;g=d[a+8>>1]|0;if((g&514)==514?(b[a+10>>0]|0)==1:0){i=f[a+16>>2]|0;c=a}else if(!(g&1)){i=Ic(a,1)|0;c=f[e>>2]|0}else{i=0;c=a}g=d[c+8>>1]|0;if((g&2)!=0?(b[c+10>>0]|0)==1:0)a=f[c+12>>2]|0;else j=34;do if((j|0)==34){g=g&65535;if(!(g&16)){if(g&1|0){a=0;break}a=_e(c,1)|0;break}else{a=f[c+12>>2]|0;if(!(g&16384))break;a=(f[c>>2]|0)+a|0;break}}while(0);if(!i)return;g=k+16|0;c=f[g>>2]|0;h=c+a|0;if(h>>>0>=(f[k+8>>2]|0)>>>0){Ec(k,i,a);return}if(!a)return;f[g>>2]=h;YA((f[k+4>>2]|0)+c|0,i|0,a|0)|0;return}function We(a){a=a|0;var c=0,e=0,g=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))c=hf(a,0)|0;else c=f[c+16>>2]|0;if(!c)return;switch(b[c+20>>0]|0){case 18:{f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}case 7:{c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;e=c+81|0;if(b[e>>0]|0)return;if(b[c+82>>0]|0)return;b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;return}default:{e=c+4|0;g=f[e>>2]|0;if(((g|0)!=0?(b[g+(f[c+16>>2]|0)>>0]=0,(f[c+12>>2]|0)!=0):0)?(b[c+21>>0]&4)==0:0)c=Cc(c)|0;else c=f[e>>2]|0;if(($e(f[a>>2]|0,c,-1,1,101)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}}}function Xe(a){a=a|0;var c=0,e=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))c=hf(a,0)|0;else c=f[c+16>>2]|0;if(!c)return;switch(b[c+20>>0]|0){case 18:{f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}case 7:{c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;e=c+81|0;if(b[e>>0]|0)return;if(b[c+82>>0]|0)return;b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;return}default:{e=f[c+16>>2]|0;if(!e)c=0;else{c=c+4|0;b[(f[c>>2]|0)+e>>0]=0;c=f[c>>2]|0}if(($e(f[a>>2]|0,c,-1,1,-1)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}}}function Ye(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;if(-1431655766>>>(d[(f[e>>2]|0)+8>>1]&31)&1|0)return;g=f[a+8>>2]|0;if(!(d[g+8>>1]&8192))k=hf(a,24)|0;else k=f[g+16>>2]|0;if(!k)return;h=f[e>>2]|0;a=d[h+8>>1]|0;if((a&2)!=0?(b[h+10>>0]|0)==1:0)j=f[h+12>>2]|0;else i=9;do if((i|0)==9){a=a&65535;if(!(a&16)){if(a&1|0){j=0;break}j=_e(h,1)|0;break}else{g=f[h+12>>2]|0;if(!(a&16384)){j=g;break}j=(f[h>>2]|0)+g|0;break}}while(0);do if((c|0)==2){h=f[e+4>>2]|0;a=d[h+8>>1]|0;if(a&2?(b[h+10>>0]|0)==1:0){a=f[h+12>>2]|0;break}g=a&65535;if(!(g&16)){if(g&1|0){a=0;break}a=_e(h,1)|0;break}else{a=f[h+12>>2]|0;if(!(g&16384))break;a=(f[h>>2]|0)+a|0;break}}else a=1;while(0);a=a+j|0;g=k+16|0;h=f[g>>2]|0;if((h|0)>(a|0)){e=h-a|0;f[g>>2]=e;c=f[k+4>>2]|0;ZA(c|0,c+a|0,e|0)|0;if(f[g>>2]|0)return}else f[g>>2]=0;f[k+12>>2]=0;return}function Ze(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=f[(f[a>>2]|0)+32>>2]|0;o=f[(f[a+4>>2]|0)+8>>2]|0;g=f[e>>2]|0;do if(g){i=d[g+8>>1]|0;if((i&514)==514?(b[g+10>>0]|0)==1:0){n=f[g+16>>2]|0;break}if(!(i&1))n=Ic(g,1)|0;else n=0}else n=0;while(0);g=f[e+4>>2]|0;do if(g){i=d[g+8>>1]|0;if((i&514)==514?(b[g+10>>0]|0)==1:0){m=f[g+16>>2]|0;break}if(!(i&1))m=Ic(g,1)|0;else m=0}else m=0;while(0);j=f[e>>2]|0;g=d[j+8>>1]|0;if((g&2)!=0?(b[j+10>>0]|0)==1:0)g=f[j+12>>2]|0;else l=16;do if((l|0)==16){i=g&65535;if(!(i&16)){if(i&1|0){g=0;break}g=_e(j,1)|0;break}else{g=f[j+12>>2]|0;if(!(i&16384))break;g=(f[j>>2]|0)+g|0;break}}while(0);if((g|0)>(f[k+140>>2]|0)){f[a+20>>2]=1;$e(f[a>>2]|0,41534,-1,1,-1)|0;return}do if((c|0)==3){g=f[e+8>>2]|0;if(!g)return;i=d[g+8>>1]|0;if((i&514)==514?(b[g+10>>0]|0)==1:0)e=f[g+16>>2]|0;else l=28;do if((l|0)==28)if(!(i&1)){e=Ic(g,1)|0;break}else return;while(0);if(!e)return;k=b[e>>0]|0;if((e|0)!=(-1|0)&k<<24>>24!=0){g=e;c=0;j=k;while(1){i=g+1|0;if((j&255)>191){g=i;while(1){j=b[g>>0]|0;if((j&-64)<<24>>24==-128)g=g+1|0;else break}}else{g=i;j=b[i>>0]|0}if(j<<24>>24!=0&(g|0)!=(-1|0))c=c+1|0;else break}if(!c){j=e+1|0;g=k&255;if((k&255)<=191)break;g=h[5728+(g+-192)>>0]|0;i=b[j>>0]|0;if((i&-64)<<24>>24==-128)do{j=j+1|0;g=g<<6|i&63;i=b[j>>0]|0}while((i&-64)<<24>>24==-128);g=(g&-2|0)==65534|(g>>>0<128|(g&-2048|0)==55296)?65533:g;break}}f[a+20>>2]=1;$e(f[a>>2]|0,41567,-1,1,-1)|0;return}else g=h[o+2>>0]|0;while(0);if(!((n|0)!=0&(m|0)!=0))return;i=(af(n,m,o,g)|0)==0;g=f[a>>2]|0;i=i&1;j=g+8|0;if(!(d[j>>1]&9216)){o=g;f[o>>2]=i;f[o+4>>2]=0;d[j>>1]=4;return}else{bf(g,i,0);return}}function _e(a,b){a=a|0;b=b|0;if(!(Ic(a,b)|0)){b=0;return b|0}b=f[a+12>>2]|0;return b|0}function $e(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!c){i=a+8|0;if(!(d[i>>1]&9216)){d[i>>1]=1;s=0;return s|0}else{cf(a);s=0;return s|0}}l=a+32|0;i=f[l>>2]|0;if(!i)r=1e9;else r=f[i+108>>2]|0;p=g<<24>>24==0;k=p?16:2;if((e|0)<0){a:do if(g<<24>>24!=1)if((r|0)<0)i=0;else{i=0;do{if(!((b[c+(i|1)>>0]|b[c+i>>0])<<24>>24))break a;i=i+2|0}while((i|0)<=(r|0))}else{i=(wz(c)|0)&2147483647;i=(i|0)>(r|0)?r+1|0:i}while(0);m=k|512;q=i}else{m=k;q=e}do if((h|0)==(-1|0)){k=((m&512)==0?0:g<<24>>24==1?1:2)+q|0;if((q|0)>(r|0)){s=18;return s|0}i=(k|0)>32?k:32;do if((f[a+24>>2]|0)<(i|0))if(!(df(a,i,0)|0)){e=a+8|0;i=f[a+16>>2]|0;break}else{s=7;return s|0}else{i=f[a+20>>2]|0;f[a+16>>2]=i;e=a+8|0;d[e>>1]=d[e>>1]&13}while(0);YA(i|0,c|0,k|0)|0}else{i=(h|0)==139;e=a+8|0;if(!((d[e>>1]&9216)==0?!(f[a+24>>2]|0):0))ff(a);f[a+16>>2]=c;if(!i){f[a+36>>2]=h;m=(((h|0)==0?2048:1024)|m&65535)&65535;break}f[a+20>>2]=c;i=f[l>>2]|0;if(((i|0)!=0?(n=c,(f[i+304>>2]|0)>>>0<=n>>>0):0)?(f[i+308>>2]|0)>>>0>n>>>0:0)i=j[i+276>>1]|0;else i=ib[f[37368>>2]&255](c)|0;f[a+24>>2]=i}while(0);o=a+12|0;f[o>>2]=q;d[e>>1]=m;g=p?1:g;n=a+10|0;b[n>>0]=g;do if(g<<24>>24!=1&(q|0)>1){c=a+16|0;i=f[c>>2]|0;k=b[i>>0]|0;l=b[i+1>>0]|0;if(!(k<<24>>24==-1&l<<24>>24==-2))if(k<<24>>24==-2&l<<24>>24==-1)h=3;else break;else h=2;k=m&65535;do if(k&18){do if(k&16384){g=(f[a>>2]|0)+q|0;if(!(df(a,(g|0)>1?g:1,1)|0)){_A((f[c>>2]|0)+(f[o>>2]|0)|0,0,f[a>>2]|0)|0;k=(f[o>>2]|0)+(f[a>>2]|0)|0;f[o>>2]=k;i=d[e>>1]&-16897;d[e>>1]=i;break}else{s=7;return s|0}}else{k=q;i=m}while(0);if(f[a+24>>2]|0?(s=f[c>>2]|0,(s|0)==(f[a+20>>2]|0)):0){l=i;i=s;break}if(!(gf(a)|0)){l=d[e>>1]|0;k=f[o>>2]|0;i=f[c>>2]|0;break}else{s=7;return s|0}}else{l=m;k=q}while(0);d[e>>1]=l&-4097;s=k+-2|0;f[o>>2]=s;ZA(i|0,i+2|0,s|0)|0;b[(f[c>>2]|0)+(f[o>>2]|0)>>0]=0;b[(f[c>>2]|0)+((f[o>>2]|0)+1)>>0]=0;d[e>>1]=d[e>>1]|512;b[n>>0]=h}while(0);s=(q|0)>(r|0)?18:0;return s|0} -function bm(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=t;t=t+16|0;n=C+8|0;m=C;q=C+12|0;p=f[c+12>>2]|0;o=a+40|0;A=f[o>>2]|0;B=A+1|0;f[o>>2]=A+2;k=f[a>>2]|0;h=f[c+24>>2]|0;i=f[k+16>>2]|0;if(!h)u=-1e6;else{g=0;while(1)if((f[i+(g<<4)+12>>2]|0)==(h|0)){u=g;break}else g=g+1|0}h=f[c>>2]|0;g=f[i+(u<<4)>>2]|0;do if(((b[k+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(l=f[k+312>>2]|0,l|0):0){g=nb[l&127](f[k+316>>2]|0,27,h,0,g,f[a+236>>2]|0)|0;if((g|0)==1){ni(a,49816,m);f[a+12>>2]=23;t=C;return}if((g|2|0)==2){if(!g)break;t=C;return}else{ni(a,49831,n);f[a+12>>2]=1;t=C;return}}while(0);nm(a,u,f[p+28>>2]|0,1,f[p>>2]|0);k=a+8|0;g=f[k>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;g=sl(a)|0;if(!g){t=C;return}else y=g}else y=g;if((e|0)>-1)l=e;else l=f[c+44>>2]|0;n=om(a,c)|0;z=f[o>>2]|0;f[o>>2]=z+1;v=c+50|0;h=j[v>>1]|0;m=(n|0)==0;if(!m)f[n>>2]=(f[n>>2]|0)+1;w=y+136|0;g=f[w>>2]|0;x=y+12|0;if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;o=f[y+88>>2]|0;b[o+(g*20|0)>>0]=114;d[o+(g*20|0)+2>>1]=0;f[o+(g*20|0)+4>>2]=z;f[o+(g*20|0)+8>>2]=0;f[o+(g*20|0)+12>>2]=h;f[o+(g*20|0)+16>>2]=0;b[o+(g*20|0)+1>>0]=0}else g=tl(y,114,z,0,h)|0;h=f[y>>2]|0;do if(!(b[h+81>>0]|0)){if((g|0)<0)g=(f[w>>2]|0)+-1|0;h=f[y+88>>2]|0;i=h+(g*20|0)+1|0;if(b[i>>0]|0){ul(y,h+(g*20|0)|0,n,-9);break}if(!m){f[h+(g*20|0)+16>>2]=n;b[i>>0]=-9}}else if(!(m|(f[h+480>>2]|0)!=0)?(o=(f[n>>2]|0)+-1|0,f[n>>2]=o,(o|0)==0):0){g=f[n+12>>2]|0;if(g|0){if(f[g+480>>2]|0){Kc(g,n);break}o=n;if((f[g+304>>2]|0)>>>0<=o>>>0?(f[g+308>>2]|0)>>>0>o>>>0:0){o=g+300|0;f[n>>2]=f[o>>2];f[o>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{o=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);vl(a,A,u,p,109);g=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;p=f[y+88>>2]|0;b[p+(g*20|0)>>0]=36;d[p+(g*20|0)+2>>1]=0;f[p+(g*20|0)+4>>2]=A;f[p+(g*20|0)+8>>2]=0;f[p+(g*20|0)+12>>2]=0;f[p+(g*20|0)+16>>2]=0;b[p+(g*20|0)+1>>0]=0}else g=tl(y,36,A,0,0)|0;p=a+19|0;h=b[p>>0]|0;if(!(h<<24>>24)){i=a+44|0;o=(f[i>>2]|0)+1|0;f[i>>2]=o}else{o=h+-1<<24>>24;b[p>>0]=o;o=f[a+144+((o&255)<<2)>>2]|0}h=f[a+116>>2]|0;b[((h|0)==0?a:h)+20>>0]=1;xm(a,c,A,o,0,q,0,0)|0;h=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(h|0)){f[w>>2]=h+1;i=f[y+88>>2]|0;b[i+(h*20|0)>>0]=-124;d[i+(h*20|0)+2>>1]=0;f[i+(h*20|0)+4>>2]=z;f[i+(h*20|0)+8>>2]=o;f[i+(h*20|0)+12>>2]=0;f[i+(h*20|0)+16>>2]=0;b[i+(h*20|0)+1>>0]=0}else tl(y,132,z,o,0)|0;h=f[q>>2]|0;if(h|0?(r=f[k>>2]|0,s=f[(f[r+12>>2]|0)+64>>2]|0,s|0):0)f[s+(~h<<2)>>2]=f[r+136>>2];h=g+1|0;i=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(i|0)){f[w>>2]=i+1;s=f[y+88>>2]|0;b[s+(i*20|0)>>0]=5;d[s+(i*20|0)+2>>1]=0;f[s+(i*20|0)+4>>2]=A;f[s+(i*20|0)+8>>2]=h;f[s+(i*20|0)+12>>2]=0;f[s+(i*20|0)+16>>2]=0;b[s+(i*20|0)+1>>0]=0}else tl(y,5,A,h,0)|0;h=f[w>>2]|0;if(!(b[(f[y>>2]|0)+81>>0]|0))g=(f[y+88>>2]|0)+(((g|0)<0?h+-1|0:g)*20|0)|0;else g=72144;f[g+8>>2]=h;do if((e|0)<0)if((f[(f[x>>2]|0)+48>>2]|0)>(h|0)){f[w>>2]=h+1;s=f[y+88>>2]|0;b[s+(h*20|0)>>0]=-118;d[s+(h*20|0)+2>>1]=0;f[s+(h*20|0)+4>>2]=l;f[s+(h*20|0)+8>>2]=u;f[s+(h*20|0)+12>>2]=0;f[s+(h*20|0)+16>>2]=0;b[s+(h*20|0)+1>>0]=0;break}else{tl(y,138,l,u,0)|0;break}while(0);g=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;s=f[y+88>>2]|0;b[s+(g*20|0)>>0]=110;d[s+(g*20|0)+2>>1]=0;f[s+(g*20|0)+4>>2]=B;f[s+(g*20|0)+8>>2]=l;f[s+(g*20|0)+12>>2]=u;f[s+(g*20|0)+16>>2]=0;b[s+(g*20|0)+1>>0]=0}else g=tl(y,110,B,l,u)|0;h=f[y>>2]|0;a:do if(!(b[h+81>>0]|0)){if((g|0)<0)g=(f[w>>2]|0)+-1|0;h=f[y+88>>2]|0;i=h+(g*20|0)+1|0;if(b[i>>0]|0){ul(y,h+(g*20|0)|0,n,-9);break}if(!m){f[h+(g*20|0)+16>>2]=n;b[i>>0]=-9}}else if(!(m|(f[h+480>>2]|0)!=0)?(u=(f[n>>2]|0)+-1|0,f[n>>2]=u,(u|0)==0):0){g=f[n+12>>2]|0;do if(g|0){if(f[g+480>>2]|0){Kc(g,n);break a}h=n;if((f[g+304>>2]|0)>>>0>h>>>0)break;if((f[g+308>>2]|0)>>>0<=h>>>0)break;u=g+300|0;f[n>>2]=f[u>>2];f[u>>2]=n;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{u=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);g=f[w>>2]|0;if((g|0)>0)d[(f[y+88>>2]|0)+((g+-1|0)*20|0)+2>>1]=(e>>31)+16&65520|1;if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;l=f[y+88>>2]|0;b[l+(g*20|0)>>0]=34;d[l+(g*20|0)+2>>1]=0;f[l+(g*20|0)+4>>2]=z;f[l+(g*20|0)+8>>2]=0;f[l+(g*20|0)+12>>2]=0;f[l+(g*20|0)+16>>2]=0;b[l+(g*20|0)+1>>0]=0;l=g}else l=tl(y,34,z,0,0)|0;g=f[w>>2]|0;if(!(b[c+54>>0]|0))k=g;else{if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;i=f[y+88>>2]|0;b[i+(g*20|0)>>0]=11;d[i+(g*20|0)+2>>1]=0;f[i+(g*20|0)+4>>2]=0;f[i+(g*20|0)+8>>2]=1;f[i+(g*20|0)+12>>2]=0;f[i+(g*20|0)+16>>2]=0;b[i+(g*20|0)+1>>0]=0;i=g}else i=tl(y,11,0,1,0)|0;k=f[w>>2]|0;h=j[v>>1]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(k|0)){f[w>>2]=k+1;g=f[y+88>>2]|0;b[g+(k*20|0)>>0]=126;d[g+(k*20|0)+2>>1]=0;f[g+(k*20|0)+4>>2]=z;f[g+(k*20|0)+8>>2]=i;f[g+(k*20|0)+12>>2]=o;f[g+(k*20|0)+16>>2]=0;b[g+(k*20|0)+1>>0]=0;g=k}else g=tl(y,126,z,i,o)|0;if(!(b[(f[y>>2]|0)+81>>0]|0)){e=f[y+88>>2]|0;b[e+(g*20|0)+1>>0]=-3;f[e+(g*20|0)+16>>2]=h}ym(a,2,c);g=f[w>>2]|0;if(!(b[(f[y>>2]|0)+81>>0]|0))h=(f[y+88>>2]|0)+(((i|0)<0?g+-1|0:i)*20|0)|0;else h=72144;f[h+8>>2]=g}if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;c=f[y+88>>2]|0;b[c+(g*20|0)>>0]=127;d[c+(g*20|0)+2>>1]=0;f[c+(g*20|0)+4>>2]=z;f[c+(g*20|0)+8>>2]=o;f[c+(g*20|0)+12>>2]=B;f[c+(g*20|0)+16>>2]=0;b[c+(g*20|0)+1>>0]=0}else tl(y,127,z,o,B)|0;g=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;c=f[y+88>>2]|0;b[c+(g*20|0)>>0]=-125;d[c+(g*20|0)+2>>1]=0;f[c+(g*20|0)+4>>2]=B;f[c+(g*20|0)+8>>2]=0;f[c+(g*20|0)+12>>2]=0;f[c+(g*20|0)+16>>2]=0;b[c+(g*20|0)+1>>0]=0}else tl(y,131,B,0,0)|0;g=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;c=f[y+88>>2]|0;b[c+(g*20|0)>>0]=-123;d[c+(g*20|0)+2>>1]=0;f[c+(g*20|0)+4>>2]=B;f[c+(g*20|0)+8>>2]=o;f[c+(g*20|0)+12>>2]=0;f[c+(g*20|0)+16>>2]=0;b[c+(g*20|0)+1>>0]=0}else tl(y,133,B,o,0)|0;g=f[w>>2]|0;if((g|0)>0)d[(f[y+88>>2]|0)+((g+-1|0)*20|0)+2>>1]=16;do if(o){h=b[p>>0]|0;if((h&255)>=8)break;b[p>>0]=h+1<<24>>24;f[a+144+((h&255)<<2)>>2]=o;g=f[w>>2]|0}while(0);if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;a=f[y+88>>2]|0;b[a+(g*20|0)>>0]=3;d[a+(g*20|0)+2>>1]=0;f[a+(g*20|0)+4>>2]=z;f[a+(g*20|0)+8>>2]=k;f[a+(g*20|0)+12>>2]=0;f[a+(g*20|0)+16>>2]=0;b[a+(g*20|0)+1>>0]=0}else tl(y,3,z,k,0)|0;h=f[w>>2]|0;if(!(b[(f[y>>2]|0)+81>>0]|0))g=(f[y+88>>2]|0)+(((l|0)<0?h+-1|0:l)*20|0)|0;else g=72144;f[g+8>>2]=h;if((f[(f[x>>2]|0)+48>>2]|0)>(h|0)){f[w>>2]=h+1;a=f[y+88>>2]|0;b[a+(h*20|0)>>0]=117;d[a+(h*20|0)+2>>1]=0;f[a+(h*20|0)+4>>2]=A;f[a+(h*20|0)+8>>2]=0;f[a+(h*20|0)+12>>2]=0;f[a+(h*20|0)+16>>2]=0;b[a+(h*20|0)+1>>0]=0}else tl(y,117,A,0,0)|0;g=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;A=f[y+88>>2]|0;b[A+(g*20|0)>>0]=117;d[A+(g*20|0)+2>>1]=0;f[A+(g*20|0)+4>>2]=B;f[A+(g*20|0)+8>>2]=0;f[A+(g*20|0)+12>>2]=0;f[A+(g*20|0)+16>>2]=0;b[A+(g*20|0)+1>>0]=0}else tl(y,117,B,0,0)|0;g=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;B=f[y+88>>2]|0;b[B+(g*20|0)>>0]=117;d[B+(g*20|0)+2>>1]=0;f[B+(g*20|0)+4>>2]=z;f[B+(g*20|0)+8>>2]=0;f[B+(g*20|0)+12>>2]=0;f[B+(g*20|0)+16>>2]=0;b[B+(g*20|0)+1>>0]=0;t=C;return}else{tl(y,117,z,0,0)|0;t=C;return}}function cm(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=f[c+8>>2]|0;if(!g)return;o=c+72|0;p=a+116|0;if(!e){do{j=f[o>>2]|0;if(!j)c=-1e6;else{i=f[(f[a>>2]|0)+16>>2]|0;c=0;while(1)if((f[i+(c<<4)+12>>2]|0)==(j|0))break;else c=c+1|0}l=f[p>>2]|0;l=(l|0)==0?a:l;i=l+84|0;j=f[i>>2]|0;k=1<>2]=j|k,(c|0)==1):0)tm(l)|0;e=l+80|0;f[e>>2]=f[e>>2]|k;bm(a,g,-1);g=f[g+20>>2]|0}while((g|0)!=0);return}do{c=d[g+52>>1]|0;a:do if(c<<16>>16){m=f[g+4>>2]|0;n=g+32|0;l=c&65535;k=0;while(1){if((d[m+(k<<1)>>1]|0)>-1){i=f[(f[n>>2]|0)+(k<<2)>>2]|0;j=b[i>>0]|0;c=(h[1232+(j&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0;if(!(j<<24>>24==0|(c|0)!=0)){j=e;do{i=i+1|0;j=j+1|0;q=b[i>>0]|0;c=(h[1232+(q&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(q<<24>>24==0|(c|0)!=0))}if(!c)break}k=k+1|0;if(k>>>0>=l>>>0)break a}i=f[o>>2]|0;if(!i)c=-1e6;else{j=f[(f[a>>2]|0)+16>>2]|0;c=0;while(1)if((f[j+(c<<4)+12>>2]|0)==(i|0))break;else c=c+1|0}l=f[p>>2]|0;l=(l|0)==0?a:l;i=l+84|0;j=f[i>>2]|0;k=1<>2]=j|k,(c|0)==1):0)tm(l)|0;q=l+80|0;f[q>>2]=f[q>>2]|k;bm(a,g,-1)}while(0);g=f[g+20>>2]|0}while((g|0)!=0);return}function dm(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=t;t=t+64|0;C=I+48|0;B=I+40|0;r=I+32|0;q=I+24|0;p=I+16|0;o=I+8|0;u=I;F=I+52|0;H=f[a>>2]|0;a:do if(!(b[H+165>>0]|0)){m=a+4|0;n=H+24|0;j=(f[n>>2]&1|0)==0;k=H+16|0;w=f[(f[k>>2]|0)+12>>2]|0;b[H+78>>0]=b[w+77>>0]|0;if(!((d[w+78>>1]&1)==0?(g=qi(H,0,m,0)|0,(g|0)!=0):0))G=4;b:do if((G|0)==4){g=f[H+20>>2]|0;if((g|0)>1)do{i=g;g=g+-1|0;if((d[(f[(f[k>>2]|0)+(g<<4)+12>>2]|0)+78>>1]&1)==0?(l=qi(H,g,m,0)|0,l|0):0){g=l;break b}}while((i|0)>2);if(j)f[n>>2]=f[n>>2]&-2;if(!(b[H+89>>0]|0))break a;f[n>>2]=f[n>>2]|8;break a}while(0);f[a+12>>2]=g;a=a+36|0;f[a>>2]=(f[a>>2]|0)+1;t=I;return}while(0);c:do if(!c){m=H+20|0;if((f[m>>2]|0)>0){n=a+116|0;o=a+40|0;p=a+44|0;q=a+8|0;r=a+23|0;l=0;do{do if((l|0)!=1){k=f[(f[(f[a>>2]|0)+16>>2]|0)+(l<<4)+12>>2]|0;j=f[n>>2]|0;j=(j|0)==0?a:j;g=j+84|0;c=f[g>>2]|0;i=1<>2]=c|i;c=j+80|0;f[c>>2]=f[c>>2]|i;c=f[o>>2]|0;f[o>>2]=c+3;lm(a,l,c,0,0);i=(f[p>>2]|0)+1|0;j=f[o>>2]|0;g=f[k+16>>2]|0;if(g|0)do{mm(a,f[g+8>>2]|0,0,c,i,j);g=f[g>>2]|0}while((g|0)!=0);g=f[q>>2]|0;if(!g){if((f[n>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[r>>0]=1;g=sl(a)|0;if(!g)break}c=g+136|0;i=f[c>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(i|0)){f[c>>2]=i+1;G=f[g+88>>2]|0;b[G+(i*20|0)>>0]=-112;d[G+(i*20|0)+2>>1]=0;f[G+(i*20|0)+4>>2]=l;f[G+(i*20|0)+8>>2]=0;f[G+(i*20|0)+12>>2]=0;f[G+(i*20|0)+16>>2]=0;b[G+(i*20|0)+1>>0]=0;break}else{tl(g,144,l,0,0)|0;break}}while(0);l=l+1|0}while((l|0)<(f[m>>2]|0))}}else{i=e+4|0;do if(!(f[i>>2]|0)){w=Hl(H,c)|0;g=f[a>>2]|0;if((w|0)<=-1){if(!(f[i>>2]|0)){g=h[g+164>>0]|0;break}if(b[g+165>>0]|0){ni(a,51151,q);break c}g=Hl(g,c)|0;if((g|0)>=0){c=e;break}f[r>>2]=c;ni(a,51168,r);break c}o=f[(f[g+16>>2]|0)+(w<<4)+12>>2]|0;p=a+116|0;n=f[p>>2]|0;n=(n|0)==0?a:n;g=n+84|0;c=f[g>>2]|0;m=1<>2]=c|m,(w|0)==1):0)?(y=f[n>>2]|0,s=y+16|0,(f[(f[s>>2]|0)+20>>2]|0)==0):0)?(b[n+195>>0]|0)==0:0){g=cj(f[y>>2]|0,0,y,F,0,542)|0;if(g|0){ni(n,51535,u);f[n+12>>2]=g;break}F=f[F>>2]|0;f[(f[s>>2]|0)+20>>2]=F;g=f[y+92>>2]|0;i=f[F+4>>2]|0;f[i+4>>2]=f[F>>2];if(!(d[i+22>>1]&2)){j=i+32|0;k=i+36|0;l=(f[j>>2]|0)-(f[k>>2]|0)|0;if(((g+-512|0)>>>0<65025?(g+-1&g|0)==0:0)?(f[j>>2]=g,x=i+80|0,v=f[x>>2]|0,v|0):0){c=v+-4|0;f[x>>2]=c;g=c;do if((f[18022]|0)>>>0<=g>>>0)if((f[18023]|0)>>>0>g>>>0){f[18188]=(f[18188]|0)+-1;f[c>>2]=f[18025];f[18025]=c;F=(f[18026]|0)+1|0;f[18026]=F;f[18027]=(F|0)<(f[18021]|0)&1;break}else{g=ib[f[37368>>2]&255](c)|0;G=49;break}else{g=ib[f[37368>>2]&255](c)|0;G=49}while(0);do if((G|0)==49){f[18189]=(f[18189]|0)-g;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{G=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);f[x>>2]=0}G=ih(f[i>>2]|0,j,l)|0;f[k>>2]=(f[j>>2]|0)-(l&65535);if((G|0)==7){g=y+81|0;if((b[g>>0]|0)==0?(b[y+82>>0]|0)==0:0){b[g>>0]=1;if((f[y+180>>2]|0)>0)f[y+264>>2]=1;G=y+272|0;f[G>>2]=(f[G>>2]|0)+1}break}}}while(0);j=n+80|0;f[j>>2]=f[j>>2]|m;j=a+40|0;c=f[j>>2]|0;f[j>>2]=c+3;lm(a,w,c,0,0);i=(f[a+44>>2]|0)+1|0;j=f[j>>2]|0;g=f[o+16>>2]|0;if(g|0)do{mm(a,f[g+8>>2]|0,0,c,i,j);g=f[g>>2]|0}while((g|0)!=0);g=f[a+8>>2]|0;if(!g){if((f[p>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;g=sl(a)|0;if(!g)break c}c=g+136|0;i=f[c>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(i|0)){f[c>>2]=i+1;G=f[g+88>>2]|0;b[G+(i*20|0)>>0]=-112;d[G+(i*20|0)+2>>1]=0;f[G+(i*20|0)+4>>2]=w;f[G+(i*20|0)+8>>2]=0;f[G+(i*20|0)+12>>2]=0;f[G+(i*20|0)+16>>2]=0;b[G+(i*20|0)+1>>0]=0;break c}else{tl(g,144,w,0,0)|0;break c}}else{g=f[a>>2]|0;if(b[g+165>>0]|0){ni(a,51151,o);break c}g=Hl(g,c)|0;if((g|0)<0){f[p>>2]=c;ni(a,51168,p);break c}else c=e}while(0);if(!(f[i>>2]|0))g=0;else g=f[(f[H+16>>2]|0)+(g<<4)>>2]|0;s=pl(H,c)|0;if(s|0){e=Qj(H,s,g)|0;do if(!e){q=pi(a,0,s,g)|0;if(q|0){c=f[q+72>>2]|0;if(!c)r=-1e6;else{i=f[(f[a>>2]|0)+16>>2]|0;g=0;while(1)if((f[i+(g<<4)+12>>2]|0)==(c|0)){r=g;break}else g=g+1|0}p=a+116|0;o=f[p>>2]|0;o=(o|0)==0?a:o;g=o+84|0;c=f[g>>2]|0;n=1<>2]=c|n,(r|0)==1):0)?(E=f[o>>2]|0,A=E+16|0,(f[(f[A>>2]|0)+20>>2]|0)==0):0)?(b[o+195>>0]|0)==0:0){g=cj(f[E>>2]|0,0,E,F,0,542)|0;if(g|0){ni(o,51535,C);f[o+12>>2]=g;break}F=f[F>>2]|0;f[(f[A>>2]|0)+20>>2]=F;g=f[E+92>>2]|0;j=f[F+4>>2]|0;f[j+4>>2]=f[F>>2];if(!(d[j+22>>1]&2)){k=j+32|0;l=j+36|0;m=(f[k>>2]|0)-(f[l>>2]|0)|0;do if((g+-512|0)>>>0<65025){if(g+-1&g|0)break;f[k>>2]=g;i=j+80|0;g=f[i>>2]|0;if(!g)break;c=g+-4|0;f[i>>2]=c;g=c;do if((f[18022]|0)>>>0<=g>>>0)if((f[18023]|0)>>>0>g>>>0){f[18188]=(f[18188]|0)+-1;f[c>>2]=f[18025];f[18025]=c;F=(f[18026]|0)+1|0;f[18026]=F;f[18027]=(F|0)<(f[18021]|0)&1;break}else{g=ib[f[37368>>2]&255](c)|0;G=143;break}else{g=ib[f[37368>>2]&255](c)|0;G=143}while(0);do if((G|0)==143){f[18189]=(f[18189]|0)-g;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{G=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);f[i>>2]=0}while(0);G=ih(f[j>>2]|0,k,m)|0;f[l>>2]=(f[k>>2]|0)-(m&65535);if((G|0)==7){g=E+81|0;do if(!(b[g>>0]|0)){if(b[E+82>>0]|0)break;b[g>>0]=1;if((f[E+180>>2]|0)>0)f[E+264>>2]=1;G=E+272|0;f[G>>2]=(f[G>>2]|0)+1}while(0);break}}}while(0);g=o+80|0;f[g>>2]=f[g>>2]|n;g=a+40|0;G=f[g>>2]|0;f[g>>2]=G+3;lm(a,r,G,f[q>>2]|0,47825);mm(a,q,0,G,(f[a+44>>2]|0)+1|0,f[g>>2]|0);g=f[a+8>>2]|0;if(!g){if((f[p>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;g=sl(a)|0;if(!g)break}c=g+136|0;i=f[c>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(i|0)){f[c>>2]=i+1;G=f[g+88>>2]|0;b[G+(i*20|0)>>0]=-112;d[G+(i*20|0)+2>>1]=0;f[G+(i*20|0)+4>>2]=r;f[G+(i*20|0)+8>>2]=0;f[G+(i*20|0)+12>>2]=0;f[G+(i*20|0)+16>>2]=0;b[G+(i*20|0)+1>>0]=0;break}else{tl(g,144,r,0,0)|0;break}}}else{q=f[e+12>>2]|0;c=f[q+72>>2]|0;if(!c)r=-1e6;else{i=f[(f[a>>2]|0)+16>>2]|0;g=0;while(1)if((f[i+(g<<4)+12>>2]|0)==(c|0)){r=g;break}else g=g+1|0}p=a+116|0;o=f[p>>2]|0;o=(o|0)==0?a:o;g=o+84|0;c=f[g>>2]|0;n=1<>2]=c|n,(r|0)==1):0)?(D=f[o>>2]|0,z=D+16|0,(f[(f[z>>2]|0)+20>>2]|0)==0):0)?(b[o+195>>0]|0)==0:0){g=cj(f[D>>2]|0,0,D,F,0,542)|0;if(g|0){ni(o,51535,B);f[o+12>>2]=g;break}F=f[F>>2]|0;f[(f[z>>2]|0)+20>>2]=F;g=f[D+92>>2]|0;j=f[F+4>>2]|0;f[j+4>>2]=f[F>>2];if(!(d[j+22>>1]&2)){k=j+32|0;l=j+36|0;m=(f[k>>2]|0)-(f[l>>2]|0)|0;do if((g+-512|0)>>>0<65025?(g+-1&g|0)==0:0){f[k>>2]=g;i=j+80|0;g=f[i>>2]|0;if(!g)break;c=g+-4|0;f[i>>2]=c;g=c;do if((f[18022]|0)>>>0<=g>>>0)if((f[18023]|0)>>>0>g>>>0){f[18188]=(f[18188]|0)+-1;f[c>>2]=f[18025];f[18025]=c;F=(f[18026]|0)+1|0;f[18026]=F;f[18027]=(F|0)<(f[18021]|0)&1;break}else{g=ib[f[37368>>2]&255](c)|0;G=104;break}else{g=ib[f[37368>>2]&255](c)|0;G=104}while(0);do if((G|0)==104){f[18189]=(f[18189]|0)-g;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{G=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);f[i>>2]=0}while(0);G=ih(f[j>>2]|0,k,m)|0;f[l>>2]=(f[k>>2]|0)-(m&65535);if((G|0)==7){g=D+81|0;do if(!(b[g>>0]|0)){if(b[D+82>>0]|0)break;b[g>>0]=1;if((f[D+180>>2]|0)>0)f[D+264>>2]=1;G=D+272|0;f[G>>2]=(f[G>>2]|0)+1}while(0);break}}}while(0);g=o+80|0;f[g>>2]=f[g>>2]|n;g=a+40|0;G=f[g>>2]|0;f[g>>2]=G+3;lm(a,r,G,f[e>>2]|0,47829);mm(a,q,e,G,(f[a+44>>2]|0)+1|0,f[g>>2]|0);g=f[a+8>>2]|0;if(!g){if((f[p>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;g=sl(a)|0;if(!g)break}c=g+136|0;i=f[c>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(i|0)){f[c>>2]=i+1;G=f[g+88>>2]|0;b[G+(i*20|0)>>0]=-112;d[G+(i*20|0)+2>>1]=0;f[G+(i*20|0)+4>>2]=r;f[G+(i*20|0)+8>>2]=0;f[G+(i*20|0)+12>>2]=0;f[G+(i*20|0)+16>>2]=0;b[G+(i*20|0)+1>>0]=0;break}else{tl(g,144,r,0,0)|0;break}}while(0);if(H|0){if(f[H+480>>2]|0){Kc(H,s);break}G=s;if((f[H+304>>2]|0)>>>0<=G>>>0?(f[H+308>>2]|0)>>>0>G>>>0:0){G=H+300|0;f[s>>2]=f[G>>2];f[G>>2]=s;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{G=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}}while(0);if(b[H+90>>0]|0){t=I;return}g=f[a+8>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;g=sl(a)|0;if(!g){t=I;return}}c=g+136|0;i=f[c>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(i|0)){f[c>>2]=i+1;g=f[g+88>>2]|0;b[g+(i*20|0)>>0]=-97;g=g+(i*20|0)+1|0;c=g+19|0;do{b[g>>0]=0;g=g+1|0}while((g|0)<(c|0));t=I;return}else{tl(g,159,0,0,0)|0;t=I;return}}function em(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;k=t;t=t+16|0;j=k;if(!c){j=0;t=k;return j|0}d=b[c>>0]|0;do if(!(d<<24>>24)){d=51912;g=3}else{l=d&255;d=1232+l|0;if((l|32|0)==115){d=b[c+1>>0]|0;if(!(d<<24>>24)){d=51913;g=3;break}l=d&255;d=1232+l|0;if((l|32|0)==113){d=b[c+2>>0]|0;if(!(d<<24>>24)){d=51914;g=3;break}l=d&255;d=1232+l|0;if((l|32|0)==108){d=b[c+3>>0]|0;if(!(d<<24>>24)){d=51915;g=3;break}l=d&255;d=1232+l|0;if((l|32|0)==105){d=b[c+4>>0]|0;if(!(d<<24>>24)){d=51916;g=3;break}l=d&255;d=1232+l|0;if((l|32|0)==116){d=b[c+5>>0]|0;if(!(d<<24>>24)){d=51917;g=3;break}l=d&255;d=1232+l|0;if((l|32|0)==101){d=b[c+6>>0]|0;if(!(d<<24>>24)){d=51918;g=3;break}if(d<<24>>24==95)break;else{e=95;d=1232+(d&255)|0}}else e=101}else e=116}else e=105}else e=108}else e=113}else e=115;i=h[d>>0]|0;g=7}while(0);if((g|0)==3){i=0;e=b[1232+(h[d>>0]|0)>>0]|0;g=7}if((g|0)==7?(i|0)!=(e&255|0):0){l=0;t=k;return l|0}f[j>>2]=c;ni(a,54565,j);l=1;t=k;return l|0}function fm(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;y=t;t=t+48|0;v=y+32|0;u=y+8|0;s=y;q=a+224|0;w=f[q>>2]|0;x=f[a>>2]|0;if(!w){t=y;return}r=a+240|0;m=f[r>>2]|0;do if(m){l=f[a+244>>2]|0;i=KA(l|0,((l|0)<0)<<31>>31|0,1,0)|0;k=ba()|0;p=x+272|0;a:do if(f[p>>2]|0)if(!(b[x+81>>0]|0))o=14;else m=0;else{do if(!(k>>>0>0|((k|0)==0?i>>>0>(j[x+276>>1]|0)>>>0:0))){g=x+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];o=x+284|0;f[o>>2]=(f[o>>2]|0)+1;o=15;break a}g=x+296|0;e=f[g>>2]|0;if(!e){e=x+292|0;break}else{f[g>>2]=f[e>>2];o=x+284|0;f[o>>2]=(f[o>>2]|0)+1;o=15;break a}}else e=x+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;o=14}while(0);if((o|0)==14){e=Dc(x,i,k)|0;o=15}if((o|0)==15)if(!e)m=0;else{YA(e|0,m|0,l|0)|0;b[e+l>>0]=0;m=e}e=w+56|0;g=f[e>>2]|0;k=(g<<2)+8|0;n=w+60|0;i=f[n>>2]|0;l=((k|0)<0)<<31>>31;b:do if(!i){if(f[p>>2]|0){if(b[x+81>>0]|0)break}else{do if(!(0>>0|(0==(l|0)?(j[x+276>>1]|0)>>>0>>0:0))){g=x+300|0;h=f[g>>2]|0;if(h|0){f[g>>2]=f[h>>2];o=x+284|0;f[o>>2]=(f[o>>2]|0)+1;o=34;break b}g=x+296|0;h=f[g>>2]|0;if(!h){g=x+292|0;break}else{f[g>>2]=f[h>>2];o=x+284|0;f[o>>2]=(f[o>>2]|0)+1;o=34;break b}}else g=x+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}h=Dc(x,k,l)|0;o=34}else{p=i;if((f[x+304>>2]|0)>>>0<=p>>>0?(f[x+308>>2]|0)>>>0>p>>>0:0){if(!(0>>0|(0==(l|0)?(j[x+276>>1]|0)>>>0>>0:0))){h=i;o=45;break}h=Lc(x,i,k,l)|0;o=34;break}h=Lc(x,i,k,l)|0;o=34}while(0);if((o|0)==34?h|0:0){g=f[e>>2]|0;o=45}if((o|0)==45){p=g+1|0;f[e>>2]=p;f[h+(g<<2)>>2]=m;f[h+(p<<2)>>2]=0;f[n>>2]=h;break}if(m){if(f[x+480>>2]|0){Kc(x,m);break}p=m;if((f[x+304>>2]|0)>>>0<=p>>>0?(f[x+308>>2]|0)>>>0>p>>>0:0){p=x+300|0;f[m>>2]=f[p>>2];f[p>>2]=m;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{p=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}}else e=w+56|0;while(0);f[r>>2]=0;if((f[e>>2]|0)<1){t=y;return}if(b[x+165>>0]|0){if(!(pg((f[w+72>>2]|0)+8|0,f[w>>2]|0,w)|0)){f[q>>2]=0;t=y;return}e=x+81|0;if(b[e>>0]|0){t=y;return}if(b[x+82>>0]|0){t=y;return}b[e>>0]=1;if((f[x+180>>2]|0)>0)f[x+264>>2]=1;x=x+272|0;f[x>>2]=(f[x>>2]|0)+1;t=y;return}if(!c)e=a+176|0;else{e=a+176|0;f[a+180>>2]=(f[c>>2]|0)-(f[e>>2]|0)+(f[c+4>>2]|0)}f[s>>2]=e;i=Ig(x,54426,s)|0;g=f[w+72>>2]|0;h=f[x+16>>2]|0;if(!g)m=-1e6;else{e=0;while(1)if((f[h+(e<<4)+12>>2]|0)==(g|0)){m=e;break}else e=e+1|0}r=f[w>>2]|0;s=f[a+88>>2]|0;f[u>>2]=f[h+(m<<4)>>2];f[u+4>>2]=43770;f[u+8>>2]=r;f[u+12>>2]=r;f[u+16>>2]=i;f[u+20>>2]=s;Tl(a,54450,u);do if(i|0){if(f[x+480>>2]|0){Kc(x,i);break}u=i;if((f[x+304>>2]|0)>>>0<=u>>>0?(f[x+308>>2]|0)>>>0>u>>>0:0){u=x+300|0;f[i>>2]=f[u>>2];f[u>>2]=i;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{u=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);e=a+8|0;g=f[e>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;l=sl(a)|0;e=f[e>>2]|0}else{l=g;e=g}g=(f[f[(f[(f[a>>2]|0)+16>>2]|0)+(m<<4)+12>>2]>>2]|0)+1|0;h=e+136|0;i=f[h>>2]|0;if((f[(f[e+12>>2]|0)+48>>2]|0)>(i|0)){f[h>>2]=i+1;u=f[e+88>>2]|0;b[u+(i*20|0)>>0]=107;d[u+(i*20|0)+2>>1]=0;f[u+(i*20|0)+4>>2]=m;f[u+(i*20|0)+8>>2]=1;f[u+(i*20|0)+12>>2]=g;f[u+(i*20|0)+16>>2]=0;b[u+(i*20|0)+1>>0]=0}else tl(e,107,m,1,g)|0;i=l+136|0;e=f[i>>2]|0;k=l+12|0;if((f[(f[k>>2]|0)+48>>2]|0)>(e|0)){f[i>>2]=e+1;g=f[l+88>>2]|0;b[g+(e*20|0)>>0]=-97;e=g+(e*20|0)+1|0;g=e+19|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(g|0))}else tl(l,159,0,0,0)|0;f[v>>2]=f[w>>2];Xl(l,m,Ig(x,54538,v)|0);g=a+44|0;h=(f[g>>2]|0)+1|0;f[g>>2]=h;g=f[w>>2]|0;e=f[i>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(e|0)){f[i>>2]=e+1;x=f[l+88>>2]|0;b[x+(e*20|0)>>0]=106;d[x+(e*20|0)+2>>1]=0;f[x+(e*20|0)+4>>2]=0;f[x+(e*20|0)+8>>2]=h;f[x+(e*20|0)+12>>2]=0;f[x+(e*20|0)+16>>2]=0;b[x+(e*20|0)+1>>0]=0}else e=tl(l,106,0,h,0)|0;if(!(b[(f[l>>2]|0)+81>>0]|0)){if((e|0)<0)e=(f[i>>2]|0)+-1|0;ul(l,(f[l+88>>2]|0)+(e*20|0)|0,g,0)}e=f[i>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(e|0)){f[i>>2]=e+1;x=f[l+88>>2]|0;b[x+(e*20|0)>>0]=-94;d[x+(e*20|0)+2>>1]=0;f[x+(e*20|0)+4>>2]=m;f[x+(e*20|0)+8>>2]=h;f[x+(e*20|0)+12>>2]=0;f[x+(e*20|0)+16>>2]=0;b[x+(e*20|0)+1>>0]=0;t=y;return}else{tl(l,162,m,h,0)|0;t=y;return}}function gm(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;s=t;t=t+16|0;o=s;r=f[a>>2]|0;q=pl(r,d)|0;n=(c|0)!=0;if(n&(q|0)!=0?(i=f[c>>2]|0,(i|0)>0):0){m=0;d=i;do{k=f[c+8+(m<<4)>>2]|0;l=b[q>>0]|0;i=(h[1232+(l&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0;if(!(l<<24>>24==0|(i|0)!=0)){l=q;do{l=l+1|0;k=k+1|0;u=b[l>>0]|0;i=(h[1232+(u&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(i|0)!=0))}if(!i){f[o>>2]=q;ni(a,54396,o);d=f[c>>2]|0}m=m+1|0}while((m|0)<(d|0))}a:do if(n){d=(f[c>>2]<<4)+24|0;i=((d|0)<0)<<31>>31;u=c;if((f[r+304>>2]|0)>>>0<=u>>>0?(f[r+308>>2]|0)>>>0>u>>>0:0){if(!(0>>0|(0==(i|0)?(j[r+276>>1]|0)>>>0>>0:0))){d=c;break}d=Lc(r,c,d,i)|0;break}d=Lc(r,c,d,i)|0}else{b:do if(!r){if(!(f[9328]|0)){d=ib[f[37356>>2]&255](24)|0;p=39;break}k=ib[f[37372>>2]&255](24)|0;if((f[18194]|0)>>>0<24)f[18194]=24;i=71896;d=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&d>>>0>0){u=f[18187]|0;o=LA(d|0,i|0,k|0,((k|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&o>>>0<=u>>>0)&1}d=ib[f[37356>>2]&255](k)|0;if(!d){d=0;break a}i=ib[f[37368>>2]&255](d)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}else{if(f[r+272>>2]|0){if(b[r+81>>0]|0){d=0;break a}}else{do if((j[r+276>>1]|0)>=24){i=r+300|0;d=f[i>>2]|0;if(d|0){f[i>>2]=f[d>>2];p=r+284|0;f[p>>2]=(f[p>>2]|0)+1;p=39;break b}i=r+296|0;d=f[i>>2]|0;if(!d){d=r+292|0;break}else{f[i>>2]=f[d>>2];p=r+284|0;f[p>>2]=(f[p>>2]|0)+1;p=39;break b}}else d=r+288|0;while(0);f[d>>2]=(f[d>>2]|0)+1}d=Dc(r,24,0)|0;p=39}while(0);if((p|0)==39)if(!d){d=0;break}i=d;k=i+24|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(k|0))}while(0);if(!(b[r+81>>0]|0)){r=d+8|0;u=f[d>>2]|0;f[r+(u<<4)+8>>2]=g;f[r+(u<<4)+4>>2]=e;f[r+(u<<4)>>2]=q;f[r+(u<<4)+12>>2]=0;f[d>>2]=u+1;u=d;t=s;return u|0}if(e|0)jg(r,e);if(g|0)mg(r,g,1);if(!q){u=c;t=s;return u|0}if(f[r+480>>2]|0){Kc(r,q);u=c;t=s;return u|0}u=q;if((f[r+304>>2]|0)>>>0<=u>>>0?(f[r+308>>2]|0)>>>0>u>>>0:0){u=r+300|0;f[q>>2]=f[u>>2];f[u>>2]=q;u=c;t=s;return u|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](q);u=c;t=s;return u|0}else{u=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);u=c;t=s;return u|0}return 0}function hm(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=t;t=t+48|0;j=m+8|0;i=m;l=m+12|0;if((c|0)==86?(e|0)!=0|(h|0)!=0:0)ni(a,54314,i);else k=4;a:do if((k|0)==4){b:do if(!((d|0)==82&(g|0)==85)){if((d|0)==83)switch(g|0){case 82:case 85:break b;default:{}}j=im(f[a>>2]|0,72,0)|0;if(!j)break a;b[j+12>>0]=c;b[j+13>>0]=d;b[j+14>>0]=g;i=l+20|0;b[i>>0]=1;f[l+4>>2]=155;f[l+8>>2]=156;f[l+24>>2]=0;if(h){oi(l,h)|0;if(!(b[i>>0]|0)){ig(f[a>>2]|0,h);h=Dk(f[a>>2]|0,110,0,0)|0}}else h=0;f[j+20>>2]=h;h=l+20|0;b[h>>0]=1;f[l+4>>2]=155;f[l+8>>2]=156;f[l+24>>2]=0;if(e){oi(l,e)|0;if(!(b[h>>0]|0)){ig(f[a>>2]|0,e);e=Dk(f[a>>2]|0,110,0,0)|0}}else e=0;f[j+16>>2]=e;l=j;t=m;return l|0}while(0);ni(a,54359,j)}while(0);if(h|0)ig(f[a>>2]|0,h);if(!e){l=0;t=m;return l|0}ig(f[a>>2]|0,e);l=0;t=m;return l|0}function im(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;a:do if(!a)e=Ag(c,d)|0;else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){c=0;return c|0}}else{do if(!(0>>0|(0==(d|0)?(j[a+276>>1]|0)>>>0>>0:0))){g=a+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];d=a+284|0;f[d>>2]=(f[d>>2]|0)+1;break a}g=a+296|0;e=f[g>>2]|0;if(!e){e=a+292|0;break}else{f[g>>2]=f[e>>2];d=a+284|0;f[d>>2]=(f[d>>2]|0)+1;break a}}else e=a+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(a,c,d)|0}while(0);if(!e){c=0;return c|0}_A(e|0,0,c|0)|0;c=e;return c|0}function jm(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=a+20|0;m=b[l>>0]|0;n=m<<24>>24==2;if(n?f[c+4>>2]&1|0:0){b[l>>0]=0;n=2;return n|0}a:do switch(b[c>>0]|0){case -99:{if((m&255)>3){n=0;return n|0}if(f[c+4>>2]&524288|0){n=0;return n|0}b[l>>0]=0;n=2;return n|0}case 59:{e=f[c+8>>2]|0;k=b[e>>0]|0;j=h[1232+(k&255)>>0]|0;d=j+-116|0;k=k<<24>>24==0;if(!(k|(d|0)!=0)){g=49684;i=e;do{i=i+1|0;g=g+1|0;o=b[i>>0]|0;d=(h[1232+(o&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(o<<24>>24==0|(d|0)!=0))}if(d|0){d=j+-102|0;if(!(k|(d|0)!=0)){g=49689;do{e=e+1|0;g=g+1|0;o=b[e>>0]|0;d=(h[1232+(o&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(o<<24>>24==0|(d|0)!=0))}if(d|0){d=17;break a}}b[c>>0]=-101;o=1;return o|0}case -96:case -97:case -98:{d=17;break}case -92:case -89:break;case -112:switch(m<<24>>24){case 5:{b[c>>0]=110;o=0;return o|0}case 4:{b[l>>0]=0;o=2;return o|0}default:{o=0;return o|0}}default:{o=0;return o|0}}while(0);do if((d|0)==17){if(f[c+4>>2]&8|0){if(n)break;else d=0;return d|0}if(m<<24>>24==3?(f[c+28>>2]|0)==(f[a+24>>2]|0):0){o=0;return o|0}}while(0);b[l>>0]=0;o=2;return o|0}function km(a,c){a=a|0;c=c|0;b[a+20>>0]=0;return 2}function lm(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+96|0;q=A+64|0;p=A+48|0;o=A+32|0;n=A+16|0;m=A;u=A+80|0;v=A+92|0;s=f[a>>2]|0;i=f[a+8>>2]|0;if(!i){if((f[a+116>>2]|0)==0?(d[s+76>>1]&8)==0:0)b[a+23>>0]=1;i=sl(a)|0;if(!i){t=A;return}else x=i}else x=i;r=(f[s+16>>2]|0)+(c<<4)|0;l=a+92|0;y=x+136|0;w=x+12|0;z=x+88|0;i=f[r>>2]|0;j=ji(s,45954,i)|0;k=(j|0)==0;do if(!g){do if(!k){j=f[j+28>>2]|0;f[u>>2]=j;b[v>>0]=0;nm(a,c,j,1,45954);i=f[y>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(i|0)){f[y>>2]=i+1;k=f[z>>2]|0;b[k+(i*20|0)>>0]=-118;d[k+(i*20|0)+2>>1]=0;f[k+(i*20|0)+4>>2]=j;f[k+(i*20|0)+8>>2]=c;f[k+(i*20|0)+12>>2]=0;f[k+(i*20|0)+16>>2]=0;b[k+(i*20|0)+1>>0]=0;k=0;break}else{tl(x,138,j,c,0)|0;k=0;break}}else{f[m>>2]=i;f[m+4>>2]=45954;f[m+8>>2]=54670;Tl(a,54647,m);j=f[l>>2]|0;f[u>>2]=j;b[v>>0]=16;k=16}while(0);i=ji(s,54683,f[r>>2]|0)|0;do if(i|0){i=f[i+28>>2]|0;f[u+4>>2]=i;b[v+1>>0]=0;nm(a,c,i,1,54683);l=f[y>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(l|0)){f[y>>2]=l+1;q=f[z>>2]|0;b[q+(l*20|0)>>0]=-118;d[q+(l*20|0)+2>>1]=0;f[q+(l*20|0)+4>>2]=i;f[q+(l*20|0)+8>>2]=c;f[q+(l*20|0)+12>>2]=0;f[q+(l*20|0)+16>>2]=0;b[q+(l*20|0)+1>>0]=0;break}else{tl(x,138,i,c,0)|0;break}}while(0);i=ji(s,54696,f[r>>2]|0)|0;if(i){l=f[i+28>>2]|0;f[u+8>>2]=l;b[v+2>>0]=0;nm(a,c,l,1,54696);i=f[y>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(i|0)){f[y>>2]=i+1;v=f[z>>2]|0;b[v+(i*20|0)>>0]=-118;d[v+(i*20|0)+2>>1]=0;f[v+(i*20|0)+4>>2]=l;f[v+(i*20|0)+8>>2]=c;f[v+(i*20|0)+12>>2]=0;f[v+(i*20|0)+16>>2]=0;b[v+(i*20|0)+1>>0]=0;break}else{tl(x,138,l,c,0)|0;break}}}else{if(k){f[n>>2]=i;f[n+4>>2]=45954;f[n+8>>2]=54670;Tl(a,54647,n);k=16;j=f[l>>2]|0}else{j=f[j+28>>2]|0;nm(a,c,j,1,45954);f[o>>2]=f[r>>2];f[o+4>>2]=45954;f[o+8>>2]=h;f[o+12>>2]=g;Tl(a,51668,o);k=0}f[u>>2]=j;b[v>>0]=k;i=f[r>>2]|0;l=ji(s,54683,i)|0;if(l){i=f[l+28>>2]|0;f[u+4>>2]=i;b[v+1>>0]=0;nm(a,c,i,1,54683);f[p>>2]=f[r>>2];f[p+4>>2]=54683;f[p+8>>2]=h;f[p+12>>2]=g;Tl(a,51668,p);i=f[r>>2]|0}i=ji(s,54696,i)|0;if(i){s=f[i+28>>2]|0;f[u+8>>2]=s;b[v+2>>0]=0;nm(a,c,s,1,54696);f[q>>2]=f[r>>2];f[q+4>>2]=54696;f[q+8>>2]=h;f[q+12>>2]=g;Tl(a,51668,q)}}while(0);i=f[y>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(i|0)){f[y>>2]=i+1;w=f[z>>2]|0;b[w+(i*20|0)>>0]=110;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=e;f[w+(i*20|0)+8>>2]=j;f[w+(i*20|0)+12>>2]=c;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0}else i=tl(x,110,e,j,c)|0;if(!(b[(f[x>>2]|0)+81>>0]|0)){e=f[z>>2]|0;b[e+(i*20|0)+1>>0]=-3;f[e+(i*20|0)+16>>2]=3}i=f[y>>2]|0;if((i|0)<=0){t=A;return}d[(f[z>>2]|0)+((i+-1|0)*20|0)+2>>1]=k&255;t=A;return}function mm(a,c,e,g,i,k){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=t;t=t+16|0;u=ea+8|0;s=ea;Y=f[a>>2]|0;Z=i+1|0;_=i+2|0;da=i+3|0;ba=i+4|0;aa=i+5|0;$=i+6|0;V=i+7|0;W=a+44|0;X=f[W>>2]|0;f[W>>2]=(X|0)>(V|0)?X:V;X=a+8|0;l=f[X>>2]|0;if(!l){if((f[a+116>>2]|0)==0?(d[Y+76>>1]&8)==0:0)b[a+23>>0]=1;ca=sl(a)|0}else ca=l;if((c|0)==0|(ca|0)==0){t=ea;return}q=c+28|0;m=f[q>>2]|0;if(!m){t=ea;return}l=f[c>>2]|0;if(!(af(54593,l,41516,92)|0)){t=ea;return}o=f[c+72>>2]|0;p=f[Y+16>>2]|0;if(!o)n=-1e6;else{n=0;while(1)if((f[p+(n<<4)+12>>2]|0)==(o|0))break;else n=n+1|0}o=f[p+(n<<4)>>2]|0;p=f[a>>2]|0;do if(((b[p+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(r=f[p+312>>2]|0,(r|0)!=0):0){l=nb[r&127](f[p+316>>2]|0,28,l,0,o,f[a+236>>2]|0)|0;if((l|0)==1){ni(a,49816,s);f[a+12>>2]=23;t=ea;return}if((l|2|0)!=2){ni(a,49831,u);f[a+12>>2]=1;t=ea;return}if(!l){m=f[q>>2]|0;l=f[c>>2]|0;break}else{t=ea;return}}while(0);nm(a,n,m,0,l);R=k+1|0;S=k+2|0;m=a+40|0;l=f[m>>2]|0;f[m>>2]=(l|0)>(S|0)?l:S;vl(a,k,n,c,109);m=f[c>>2]|0;S=ca+136|0;l=f[S>>2]|0;T=ca+12|0;if((f[(f[T>>2]|0)+48>>2]|0)>(l|0)){f[S>>2]=l+1;Q=f[ca+88>>2]|0;b[Q+(l*20|0)>>0]=106;d[Q+(l*20|0)+2>>1]=0;f[Q+(l*20|0)+4>>2]=0;f[Q+(l*20|0)+8>>2]=ba;f[Q+(l*20|0)+12>>2]=0;f[Q+(l*20|0)+16>>2]=0;b[Q+(l*20|0)+1>>0]=0}else l=tl(ca,106,0,ba,0)|0;if(!(b[(f[ca>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[S>>2]|0)+-1|0;ul(ca,(f[ca+88>>2]|0)+(l*20|0)|0,m,0)}m=f[c+8>>2]|0;Q=(e|0)==0;if(!m)l=1;else{C=c+36|0;D=ca+88|0;E=Y+272|0;F=Y+276|0;G=Y+81|0;H=Y+288|0;I=Y+300|0;J=Y+296|0;K=Y+284|0;L=Y+292|0;M=(Y|0)==0;N=Y+480|0;O=Y+304|0;P=Y+308|0;l=1;do{a:do if(Q|(m|0)==(e|0)){l=(f[m+36>>2]|0)==0?0:l;o=m+55|0;o=h[o>>0]|h[o+1>>0]<<8;if(!((f[C>>2]&32|0)!=0&(o&3)==2)){q=j[m+52>>1]|0;p=f[m>>2]|0;if(!(o&8))s=q;else s=j[m+50>>1]|0}else{q=j[m+50>>1]|0;s=q;p=f[c>>2]|0}B=s+-1|0;o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;A=f[D>>2]|0;b[A+(o*20|0)>>0]=106;d[A+(o*20|0)+2>>1]=0;f[A+(o*20|0)+4>>2]=0;f[A+(o*20|0)+8>>2]=aa;f[A+(o*20|0)+12>>2]=0;f[A+(o*20|0)+16>>2]=0;b[A+(o*20|0)+1>>0]=0}else o=tl(ca,106,0,aa,0)|0;if(!(b[(f[ca>>2]|0)+81>>0]|0)){if((o|0)<0)o=(f[S>>2]|0)+-1|0;ul(ca,(f[D>>2]|0)+(o*20|0)|0,p,0)}p=f[W>>2]|0;o=B+V|0;f[W>>2]=(p|0)>(o|0)?p:o;o=f[m+44>>2]|0;p=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(p|0)){f[S>>2]=p+1;A=f[D>>2]|0;b[A+(p*20|0)>>0]=109;d[A+(p*20|0)+2>>1]=0;f[A+(p*20|0)+4>>2]=R;f[A+(p*20|0)+8>>2]=o;f[A+(p*20|0)+12>>2]=n;f[A+(p*20|0)+16>>2]=0;b[A+(p*20|0)+1>>0]=0}else tl(ca,109,R,o,n)|0;o=f[X>>2]|0;r=om(a,m)|0;b:do if(r|0){p=f[o>>2]|0;if(!(b[p+81>>0]|0)){z=f[o+88>>2]|0;A=(f[o+136>>2]|0)+-1|0;b[z+(A*20|0)+1>>0]=-9;f[z+(A*20|0)+16>>2]=r;break}if(f[p+480>>2]|0)break;A=(f[r>>2]|0)+-1|0;f[r>>2]=A;if(A|0)break;o=f[r+12>>2]|0;do if(o|0){if(f[o+480>>2]|0){Kc(o,r);break b}p=r;if((f[o+304>>2]|0)>>>0>p>>>0)break;if((f[o+308>>2]|0)>>>0<=p>>>0)break;A=o+300|0;f[r>>2]=f[A>>2];f[A>>2]=r;break b}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{A=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}while(0);o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;A=f[D>>2]|0;b[A+(o*20|0)>>0]=70;d[A+(o*20|0)+2>>1]=0;f[A+(o*20|0)+4>>2]=q;f[A+(o*20|0)+8>>2]=_;f[A+(o*20|0)+12>>2]=0;f[A+(o*20|0)+16>>2]=0;b[A+(o*20|0)+1>>0]=0}else tl(ca,70,q,_,0)|0;w=m+50|0;o=j[w>>1]|0;p=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(p|0)){f[S>>2]=p+1;A=f[D>>2]|0;b[A+(p*20|0)>>0]=70;d[A+(p*20|0)+2>>1]=0;f[A+(p*20|0)+4>>2]=o;f[A+(p*20|0)+8>>2]=da;f[A+(p*20|0)+12>>2]=0;f[A+(p*20|0)+16>>2]=0;b[A+(p*20|0)+1>>0]=0}else tl(ca,70,o,da,0)|0;o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;A=f[D>>2]|0;b[A+(o*20|0)>>0]=63;d[A+(o*20|0)+2>>1]=0;f[A+(o*20|0)+4>>2]=0;f[A+(o*20|0)+8>>2]=_;f[A+(o*20|0)+12>>2]=Z;f[A+(o*20|0)+16>>2]=0;b[A+(o*20|0)+1>>0]=0}else o=tl(ca,63,0,_,Z)|0;do if(!(b[(f[ca>>2]|0)+81>>0]|0)){if((o|0)<0)o=(f[S>>2]|0)+-1|0;p=f[D>>2]|0;q=p+(o*20|0)+1|0;if(!(b[q>>0]|0)){f[p+(o*20|0)+16>>2]=38252;b[q>>0]=-8;break}else{ul(ca,p+(o*20|0)|0,38252,-8);break}}while(0);o=f[S>>2]|0;if((o|0)>0)d[(f[D>>2]|0)+((o+-1|0)*20|0)+2>>1]=2;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;A=f[D>>2]|0;b[A+(o*20|0)>>0]=36;d[A+(o*20|0)+2>>1]=0;f[A+(o*20|0)+4>>2]=R;f[A+(o*20|0)+8>>2]=0;f[A+(o*20|0)+12>>2]=0;f[A+(o*20|0)+16>>2]=0;b[A+(o*20|0)+1>>0]=0;A=o}else A=tl(ca,36,R,0,0)|0;o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;z=f[D>>2]|0;b[z+(o*20|0)>>0]=70;d[z+(o*20|0)+2>>1]=0;f[z+(o*20|0)+4>>2]=0;f[z+(o*20|0)+8>>2]=_;f[z+(o*20|0)+12>>2]=0;f[z+(o*20|0)+16>>2]=0;b[z+(o*20|0)+1>>0]=0}else tl(ca,70,0,_,0)|0;o=f[S>>2]|0;c:do if(s>>>0>1){o=f[T>>2]|0;v=o+60|0;z=f[v>>2]|0;f[v>>2]=z+1;v=o+64|0;if(!(z+-1&z)){s=z<<3|4;u=f[o>>2]|0;o=f[v>>2]|0;d:do if(o){q=o;r=u+304|0;do if((f[r>>2]|0)>>>0<=q>>>0){if((f[u+308>>2]|0)>>>0<=q>>>0)break;if(!(0<0|(0==0?(j[u+276>>1]|0)>>>0>>0:0)))break d}while(0);p=Lc(u,o,s,0)|0;if(p|0){o=p;break}if(f[u+480>>2]|0){Kc(u,o);o=0;break}do if((f[r>>2]|0)>>>0<=q>>>0){if((f[u+308>>2]|0)>>>0<=q>>>0)break;y=u+300|0;f[o>>2]=f[y>>2];f[y>>2]=o;o=0;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);o=0;break}else{y=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);o=0;break}}else{if(f[u+272>>2]|0){if(b[u+81>>0]|0){o=0;break}}else{do if(!(0<0|(0==0?(j[u+276>>1]|0)>>>0>>0:0))){p=u+300|0;o=f[p>>2]|0;if(o|0){f[p>>2]=f[o>>2];y=u+284|0;f[y>>2]=(f[y>>2]|0)+1;break d}p=u+296|0;o=f[p>>2]|0;if(!o){o=u+292|0;break}else{f[p>>2]=f[o>>2];y=u+284|0;f[y>>2]=(f[y>>2]|0)+1;break d}}else o=u+288|0;while(0);f[o>>2]=(f[o>>2]|0)+1}o=Dc(u,s,0)|0}while(0);f[v>>2]=o}else o=f[v>>2]|0;if(o|0)f[o+(z<<2)>>2]=-1;x=~z;p=B<<2;e:do if(f[E>>2]|0)if(!(b[G>>0]|0))U=120;else break a;else{do if(0<0|(0==0?(j[F>>1]|0)>>>0

>>0:0))o=H;else{o=f[I>>2]|0;if(o|0){f[I>>2]=f[o>>2];f[K>>2]=(f[K>>2]|0)+1;y=o;break e}o=f[J>>2]|0;if(!o){o=L;break}f[J>>2]=f[o>>2];f[K>>2]=(f[K>>2]|0)+1;y=o;break e}while(0);f[o>>2]=(f[o>>2]|0)+1;U=120}while(0);if((U|0)==120){U=0;y=Dc(Y,p,0)|0}if(!y)break a;o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;p=f[D>>2]|0;b[p+(o*20|0)>>0]=11;o=p+(o*20|0)+1|0;p=o+19|0;do{b[o>>0]=0;o=o+1|0}while((o|0)<(p|0))}else tl(ca,11,0,0,0)|0;r=f[S>>2]|0;do if((B|0)==1){if((d[w>>1]|0)!=1)break;if(!(b[m+54>>0]|0))break;if((f[(f[T>>2]|0)+48>>2]|0)>(r|0)){f[S>>2]=r+1;w=f[D>>2]|0;b[w+(r*20|0)>>0]=51;d[w+(r*20|0)+2>>1]=0;f[w+(r*20|0)+4>>2]=V;f[w+(r*20|0)+8>>2]=x;f[w+(r*20|0)+12>>2]=0;f[w+(r*20|0)+16>>2]=0;b[w+(r*20|0)+1>>0]=0;break}else{tl(ca,51,V,x,0)|0;break}}while(0);w=m+32|0;v=0;do{o=f[(f[w>>2]|0)+(v<<2)>>2]|0;q=f[a>>2]|0;p=b[q+78>>0]|0;u=b[q+165>>0]|0;q=_k(q,p,o,u&255)|0;do if(!(u<<24>>24)){if(!q){q=$k(a,p,0,o)|0;break}if(f[q+12>>2]|0)break;q=$k(a,p,q,o)|0}while(0);o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;u=f[D>>2]|0;b[u+(o*20|0)>>0]=70;d[u+(o*20|0)+2>>1]=0;f[u+(o*20|0)+4>>2]=v;f[u+(o*20|0)+8>>2]=_;f[u+(o*20|0)+12>>2]=0;f[u+(o*20|0)+16>>2]=0;b[u+(o*20|0)+1>>0]=0}else tl(ca,70,v,_,0)|0;o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;u=f[D>>2]|0;b[u+(o*20|0)>>0]=90;d[u+(o*20|0)+2>>1]=0;f[u+(o*20|0)+4>>2]=R;f[u+(o*20|0)+8>>2]=v;f[u+(o*20|0)+12>>2]=da;f[u+(o*20|0)+16>>2]=0;b[u+(o*20|0)+1>>0]=0}else tl(ca,90,R,v,da)|0;o=v+V|0;p=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(p|0)){f[S>>2]=p+1;u=f[D>>2]|0;b[u+(p*20|0)>>0]=52;d[u+(p*20|0)+2>>1]=0;f[u+(p*20|0)+4>>2]=da;f[u+(p*20|0)+8>>2]=0;f[u+(p*20|0)+12>>2]=o;f[u+(p*20|0)+16>>2]=0;b[u+(p*20|0)+1>>0]=0}else p=tl(ca,52,da,0,o)|0;do if(!(b[(f[ca>>2]|0)+81>>0]|0)){if((p|0)<0)o=(f[S>>2]|0)+-1|0;else o=p;s=f[D>>2]|0;u=s+(o*20|0)+1|0;if(b[u>>0]|0){ul(ca,s+(o*20|0)|0,q,-2);break}if(!q)break;f[s+(o*20|0)+16>>2]=q;b[u>>0]=-2}while(0);f[y+(v<<2)>>2]=p;o=f[S>>2]|0;if((o|0)>0)d[(f[D>>2]|0)+((o+-1|0)*20|0)+2>>1]=128;v=v+1|0}while((v|0)<(B|0));if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;w=f[D>>2]|0;b[w+(o*20|0)>>0]=70;d[w+(o*20|0)+2>>1]=0;f[w+(o*20|0)+4>>2]=B;f[w+(o*20|0)+8>>2]=_;f[w+(o*20|0)+12>>2]=0;f[w+(o*20|0)+16>>2]=0;b[w+(o*20|0)+1>>0]=0}else tl(ca,70,B,_,0)|0;o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;w=f[D>>2]|0;b[w+(o*20|0)>>0]=11;d[w+(o*20|0)+2>>1]=0;f[w+(o*20|0)+4>>2]=0;f[w+(o*20|0)+8>>2]=x;f[w+(o*20|0)+12>>2]=0;f[w+(o*20|0)+16>>2]=0;b[w+(o*20|0)+1>>0]=0}else tl(ca,11,0,x,0)|0;q=f[S>>2]|0;p=b[(f[ca>>2]|0)+81>>0]|0;if(!(p<<24>>24))o=(f[D>>2]|0)+((((r|0)<1?q:r)+-1|0)*20|0)|0;else o=72144;f[o+8>>2]=q;o=0;s=q;while(1){q=f[y+(o<<2)>>2]|0;if(!(p<<24>>24))p=(f[D>>2]|0)+(((q|0)<0?s+-1|0:q)*20|0)|0;else p=72144;f[p+8>>2]=s;p=o+V|0;if((f[(f[T>>2]|0)+48>>2]|0)>(s|0)){f[S>>2]=s+1;x=f[D>>2]|0;b[x+(s*20|0)>>0]=90;d[x+(s*20|0)+2>>1]=0;f[x+(s*20|0)+4>>2]=R;f[x+(s*20|0)+8>>2]=o;f[x+(s*20|0)+12>>2]=p;f[x+(s*20|0)+16>>2]=0;b[x+(s*20|0)+1>>0]=0}else tl(ca,90,R,o,p)|0;o=o+1|0;if((o|0)>=(B|0))break;p=b[(f[ca>>2]|0)+81>>0]|0;s=f[S>>2]|0}o=f[(f[T>>2]|0)+64>>2]|0;if(o|0)f[o+(z<<2)>>2]=f[S>>2];do if(!M){if(f[N>>2]|0){Kc(Y,y);break c}o=y;if((f[O>>2]|0)>>>0>o>>>0)break;if((f[P>>2]|0)>>>0<=o>>>0)break;f[y>>2]=f[I>>2];f[I>>2]=y;break c}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](y);break}else{B=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y);break}}else r=o;while(0);o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;B=f[D>>2]|0;b[B+(o*20|0)>>0]=63;d[B+(o*20|0)+2>>1]=0;f[B+(o*20|0)+4>>2]=1;f[B+(o*20|0)+8>>2]=Z;f[B+(o*20|0)+12>>2]=da;f[B+(o*20|0)+16>>2]=0;b[B+(o*20|0)+1>>0]=0}else o=tl(ca,63,1,Z,da)|0;do if(!(b[(f[ca>>2]|0)+81>>0]|0)){if((o|0)<0)o=(f[S>>2]|0)+-1|0;p=f[D>>2]|0;q=p+(o*20|0)+1|0;if(!(b[q>>0]|0)){f[p+(o*20|0)+16>>2]=38292;b[q>>0]=-8;break}else{ul(ca,p+(o*20|0)|0,38292,-8);break}}while(0);o=f[S>>2]|0;if((o|0)>0)d[(f[D>>2]|0)+((o+-1|0)*20|0)+2>>1]=2;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;B=f[D>>2]|0;b[B+(o*20|0)>>0]=5;d[B+(o*20|0)+2>>1]=0;f[B+(o*20|0)+4>>2]=R;f[B+(o*20|0)+8>>2]=r;f[B+(o*20|0)+12>>2]=0;f[B+(o*20|0)+16>>2]=0;b[B+(o*20|0)+1>>0]=0}else tl(ca,5,R,r,0)|0;o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;B=f[D>>2]|0;b[B+(o*20|0)>>0]=63;d[B+(o*20|0)+2>>1]=0;f[B+(o*20|0)+4>>2]=0;f[B+(o*20|0)+8>>2]=Z;f[B+(o*20|0)+12>>2]=$;f[B+(o*20|0)+16>>2]=0;b[B+(o*20|0)+1>>0]=0}else o=tl(ca,63,0,Z,$)|0;do if(!(b[(f[ca>>2]|0)+81>>0]|0)){if((o|0)<0)o=(f[S>>2]|0)+-1|0;p=f[D>>2]|0;q=p+(o*20|0)+1|0;if(!(b[q>>0]|0)){f[p+(o*20|0)+16>>2]=38332;b[q>>0]=-8;break}else{ul(ca,p+(o*20|0)|0,38332,-8);break}}while(0);o=f[S>>2]|0;if((o|0)>0)d[(f[D>>2]|0)+((o+-1|0)*20|0)+2>>1]=1;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;B=f[D>>2]|0;b[B+(o*20|0)>>0]=102;d[B+(o*20|0)+2>>1]=0;f[B+(o*20|0)+4>>2]=ba;f[B+(o*20|0)+8>>2]=3;f[B+(o*20|0)+12>>2]=da;f[B+(o*20|0)+16>>2]=0;b[B+(o*20|0)+1>>0]=0}else o=tl(ca,102,ba,3,da)|0;if(!(b[(f[ca>>2]|0)+81>>0]|0)){if((o|0)<0)o=(f[S>>2]|0)+-1|0;ul(ca,(f[D>>2]|0)+(o*20|0)|0,54603,0)}o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;B=f[D>>2]|0;b[B+(o*20|0)>>0]=121;d[B+(o*20|0)+2>>1]=0;f[B+(o*20|0)+4>>2]=g;f[B+(o*20|0)+8>>2]=i;f[B+(o*20|0)+12>>2]=0;f[B+(o*20|0)+16>>2]=0;b[B+(o*20|0)+1>>0]=0}else tl(ca,121,g,i,0)|0;o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;B=f[D>>2]|0;b[B+(o*20|0)>>0]=122;d[B+(o*20|0)+2>>1]=0;f[B+(o*20|0)+4>>2]=g;f[B+(o*20|0)+8>>2]=da;f[B+(o*20|0)+12>>2]=i;f[B+(o*20|0)+16>>2]=0;b[B+(o*20|0)+1>>0]=0}else tl(ca,122,g,da,i)|0;p=f[S>>2]|0;if((p|0)>0)d[(f[D>>2]|0)+((p+-1|0)*20|0)+2>>1]=8;if(!(b[(f[ca>>2]|0)+81>>0]|0))o=(f[D>>2]|0)+(((A|0)<0?p+-1|0:A)*20|0)|0;else o=72144;f[o+8>>2]=p}while(0);m=f[m+20>>2]|0}while((m|0)!=0)}if(l<<24>>24==0|Q^1){t=ea;return}l=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(l|0)){f[S>>2]=l+1;_=f[ca+88>>2]|0;b[_+(l*20|0)>>0]=104;d[_+(l*20|0)+2>>1]=0;f[_+(l*20|0)+4>>2]=k;f[_+(l*20|0)+8>>2]=$;f[_+(l*20|0)+12>>2]=0;f[_+(l*20|0)+16>>2]=0;b[_+(l*20|0)+1>>0]=0}else tl(ca,104,k,$,0)|0;l=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(l|0)){f[S>>2]=l+1;n=f[ca+88>>2]|0;b[n+(l*20|0)>>0]=20;d[n+(l*20|0)+2>>1]=0;f[n+(l*20|0)+4>>2]=$;f[n+(l*20|0)+8>>2]=0;f[n+(l*20|0)+12>>2]=0;f[n+(l*20|0)+16>>2]=0;b[n+(l*20|0)+1>>0]=0;n=l}else n=tl(ca,20,$,0,0)|0;l=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(l|0)){f[S>>2]=l+1;$=f[ca+88>>2]|0;b[$+(l*20|0)>>0]=73;d[$+(l*20|0)+2>>1]=0;f[$+(l*20|0)+4>>2]=0;f[$+(l*20|0)+8>>2]=aa;f[$+(l*20|0)+12>>2]=0;f[$+(l*20|0)+16>>2]=0;b[$+(l*20|0)+1>>0]=0}else tl(ca,73,0,aa,0)|0;l=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(l|0)){f[S>>2]=l+1;aa=f[ca+88>>2]|0;b[aa+(l*20|0)>>0]=102;d[aa+(l*20|0)+2>>1]=0;f[aa+(l*20|0)+4>>2]=ba;f[aa+(l*20|0)+8>>2]=3;f[aa+(l*20|0)+12>>2]=da;f[aa+(l*20|0)+16>>2]=0;b[aa+(l*20|0)+1>>0]=0}else l=tl(ca,102,ba,3,da)|0;if(!(b[(f[ca>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[S>>2]|0)+-1|0;ul(ca,(f[ca+88>>2]|0)+(l*20|0)|0,54603,0)}l=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(l|0)){f[S>>2]=l+1;ba=f[ca+88>>2]|0;b[ba+(l*20|0)>>0]=121;d[ba+(l*20|0)+2>>1]=0;f[ba+(l*20|0)+4>>2]=g;f[ba+(l*20|0)+8>>2]=i;f[ba+(l*20|0)+12>>2]=0;f[ba+(l*20|0)+16>>2]=0;b[ba+(l*20|0)+1>>0]=0}else tl(ca,121,g,i,0)|0;l=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(l|0)){f[S>>2]=l+1;ba=f[ca+88>>2]|0;b[ba+(l*20|0)>>0]=122;d[ba+(l*20|0)+2>>1]=0;f[ba+(l*20|0)+4>>2]=g;f[ba+(l*20|0)+8>>2]=da;f[ba+(l*20|0)+12>>2]=i;f[ba+(l*20|0)+16>>2]=0;b[ba+(l*20|0)+1>>0]=0}else tl(ca,122,g,da,i)|0;m=f[S>>2]|0;if((m|0)>0)d[(f[ca+88>>2]|0)+((m+-1|0)*20|0)+2>>1]=8;if(!(b[(f[ca>>2]|0)+81>>0]|0))l=(f[ca+88>>2]|0)+(((n|0)<0?m+-1|0:n)*20|0)|0;else l=72144;f[l+8>>2]=m;t=ea;return}function nm(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=f[a+116>>2]|0;l=(l|0)==0?a:l;if((c|0)==1)return;if(!(b[(f[(f[(f[a>>2]|0)+16>>2]|0)+(c<<4)+4>>2]|0)+9>>0]|0))return;r=l+104|0;p=f[r>>2]|0;h=l+108|0;a:do if((p|0)<=0){i=f[h>>2]|0;k=(p<<4)+16|0;n=f[l>>2]|0;m=((k|0)<0)<<31>>31;if(!i){b:do if(f[n+272>>2]|0)if(!(b[n+81>>0]|0))q=21;else{a=l;q=39;break a}else{do if(!(0>>0|(0==(m|0)?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;a=f[i>>2]|0;if(a|0){f[i>>2]=f[a>>2];p=n+284|0;f[p>>2]=(f[p>>2]|0)+1;break b}i=n+296|0;a=f[i>>2]|0;if(!a){a=n+292|0;break}else{f[i>>2]=f[a>>2];p=n+284|0;f[p>>2]=(f[p>>2]|0)+1;break b}}else a=n+288|0;while(0);f[a>>2]=(f[a>>2]|0)+1;q=21}while(0);if((q|0)==21)a=Dc(n,k,m)|0;f[h>>2]=a;if(!a)a=l;else q=37}else{a=l;o=i;i=k;q=22}}else{i=f[h>>2]|0;a=0;while(1){if((f[i+(a<<4)>>2]|0)==(c|0)?(f[i+(a<<4)+4>>2]|0)==(d|0):0)break;a=a+1|0;if((a|0)>=(p|0)){q=9;break}}if((q|0)==9){k=(p<<4)+16|0;a=l;o=i;n=f[l>>2]|0;m=((k|0)<0)<<31>>31;i=k;q=22;break}r=i+(a<<4)+8|0;b[r>>0]=(b[r>>0]|e)<<24>>24!=0&1;return}while(0);do if((q|0)==22){k=o;l=n+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0)?!(m>>>0>0|((m|0)==0?i>>>0>(j[n+276>>1]|0)>>>0:0)):0){f[h>>2]=o;a=o;h=p;q=38;break}i=Lc(n,o,i,m)|0;if(i|0){f[h>>2]=i;a=i;q=37;break}if(f[n+480>>2]|0){Kc(n,o);q=39;break}if((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0){q=n+300|0;f[o>>2]=f[q>>2];f[q>>2]=o;q=39;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](o);q=39;break}else{q=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);q=39;break}}while(0);if((q|0)==37){h=f[r>>2]|0;q=38}else if((q|0)==39)f[h>>2]=0;if((q|0)==38){f[r>>2]=h+1;f[a+(h<<4)>>2]=c;f[a+(h<<4)+4>>2]=d;b[a+(h<<4)+8>>0]=e;f[a+(h<<4)+12>>2]=g;return}f[r>>2]=0;a=f[a>>2]|0;h=a+81|0;if(b[h>>0]|0)return;if(b[a+82>>0]|0)return;b[h>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;r=a+272|0;f[r>>2]=(f[r>>2]|0)+1;return}function om(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=d[c+52>>1]|0;r=q&65535;i=d[c+50>>1]|0;s=a+36|0;if(f[s>>2]|0){t=0;return t|0}t=c+55|0;n=f[a>>2]|0;l=r*5|0;k=l+20|0;o=n+272|0;e=(f[o>>2]|0)==0;do if(!((h[t>>0]|h[t+1>>0]<<8)&8)){a:do if(!e)if(!(b[n+81>>0]|0))m=31;else{t=0;return t|0}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){g=n+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];p=n+284|0;f[p>>2]=(f[p>>2]|0)+1;break a}g=n+296|0;e=f[g>>2]|0;if(!e){e=n+292|0;break}else{f[g>>2]=f[e>>2];p=n+284|0;f[p>>2]=(f[p>>2]|0)+1;break a}}else e=n+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;m=31}while(0);if((m|0)==31)e=Dc(n,k,0)|0;if(e|0){f[e+16>>2]=e+20+(r<<2);d[e+6>>1]=q;d[e+8>>1]=q;b[e+4>>0]=b[n+78>>0]|0;f[e+12>>2]=n;f[e>>2]=1;_A(e+24|0,0,l+-4|0)|0;p=e;o=e;break}g=n+81|0;if((b[g>>0]|0)==0?(b[n+82>>0]|0)==0:0){b[g>>0]=1;if((f[n+180>>2]|0)>0)f[n+264>>2]=1;f[o>>2]=(f[o>>2]|0)+1;m=39}else m=39}else{b:do if(!e)if(!(b[n+81>>0]|0))m=13;else{t=0;return t|0}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){g=n+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];p=n+284|0;f[p>>2]=(f[p>>2]|0)+1;break b}g=n+296|0;e=f[g>>2]|0;if(!e){e=n+292|0;break}else{f[g>>2]=f[e>>2];p=n+284|0;f[p>>2]=(f[p>>2]|0)+1;break b}}else e=n+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;m=13}while(0);if((m|0)==13)e=Dc(n,k,0)|0;if(e|0){f[e+16>>2]=e+20+(r<<2);d[e+6>>1]=i;d[e+8>>1]=q;b[e+4>>0]=b[n+78>>0]|0;f[e+12>>2]=n;f[e>>2]=1;_A(e+24|0,0,l+-4|0)|0;p=e;o=e;break}g=n+81|0;if((b[g>>0]|0)==0?(b[n+82>>0]|0)==0:0){b[g>>0]=1;if((f[n+180>>2]|0)>0)f[n+264>>2]=1;f[o>>2]=(f[o>>2]|0)+1;m=39}else m=39}while(0);if((m|0)==39)if(!e){t=0;return t|0}else{p=e;o=0}if(q<<16>>16){n=c+32|0;l=c+28|0;m=p+16|0;k=0;do{g=f[(f[n>>2]|0)+(k<<2)>>2]|0;do if((g|0)!=43030){e=f[a>>2]|0;i=b[e+78>>0]|0;c=b[e+165>>0]|0;e=_k(e,i,g,c&255)|0;if(!(c<<24>>24)){if(!e){e=$k(a,i,0,g)|0;break}if(!(f[e+12>>2]|0))e=$k(a,i,e,g)|0}}else e=0;while(0);f[p+20+(k<<2)>>2]=e;b[(f[m>>2]|0)+k>>0]=b[(f[l>>2]|0)+k>>0]|0;k=k+1|0}while((k|0)!=(r|0))}if(!(f[s>>2]|0)){t=p;return t|0}e=h[t>>0]|h[t+1>>0]<<8;if(!(e&256)){s=e|256;b[t>>0]=s;b[t+1>>0]=s>>8;f[a+12>>2]=513}t=(f[p>>2]|0)+-1|0;f[p>>2]=t;if(t|0){t=0;return t|0}e=f[p+12>>2]|0;if(e|0){if(f[e+480>>2]|0){Kc(e,o);t=0;return t|0}t=p;if((f[e+304>>2]|0)>>>0<=t>>>0?(f[e+308>>2]|0)>>>0>t>>>0:0){t=e+300|0;f[p>>2]=f[t>>2];f[t>>2]=o;t=0;return t|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](o);t=0;return t|0}else{t=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);t=0;return t|0}return 0}function pm(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=t;t=t+16|0;l=m+8|0;i=m;j=lf(f[e>>2]|0)|0;k=j+12|0;h=((f[k>>2]|0)*25|0)+25|0;g=KA(h|0,((h|0)<0)<<31>>31|0,-1,-1)|0;e=ba()|0;do if(!(e>>>0>0|(e|0)==0&g>>>0>2147483390)){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](h)|0;if(!c)break}else{c=ib[f[37372>>2]&255](h)|0;if((f[18194]|0)>>>0>>0)f[18194]=h;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){n=f[18187]|0;g=LA(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&g>>>0<=n>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c)break;e=ib[f[37368>>2]&255](c)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}_A(c|0,0,h|0)|0;n=i;f[n>>2]=f[j>>2];f[n+4>>2]=0;vd(24,c,54616,i)|0;if((f[k>>2]|0)>0){i=j+24|0;g=0;h=c+((wz(c)|0)&1073741823)|0;while(1){o=(f[(f[i>>2]|0)+(g<<2)>>2]|0)+1|0;e=f[j>>2]|0;n=KA(o|0,0,-1,-1)|0;e=KA(n|0,ba()|0,e|0,0)|0;o=SA(e|0,ba()|0,o|0,0)|0;e=ba()|0;n=l;f[n>>2]=o;f[n+4>>2]=e;vd(24,h,54621,l)|0;if(!h)e=0;else e=(wz(h)|0)&1073741823;g=g+1|0;if((g|0)>=(f[k>>2]|0))break;else h=h+e|0}}if(($e(f[a>>2]|0,c,-1,1,101)|0)!=18){t=m;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=m;return}while(0);c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;e=c+81|0;if(b[e>>0]|0){t=m;return}if(b[c+82>>0]|0){t=m;return}b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;o=c+272|0;f[o>>2]=(f[o>>2]|0)+1;t=m;return}function qm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;h=lf(f[d>>2]|0)|0;a=f[d+4>>2]|0;c=j[a+8>>1]|0;do if(!(c&4)){if(c&8|0){g=Fc(+p[a>>3])|0;ba()|0;break}if(!(c&18))g=0;else{g=Gc(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0)|0;ba()|0}}else g=f[a>>2]|0;while(0);if(!(f[h>>2]|0)){c=h+8|0;if((f[c>>2]|0)<=0){g=f[h>>2]|0;g=g+1|0;f[h>>2]=g;return}d=f[h+20>>2]|0;a=0;do{f[d+(a<<2)>>2]=1;a=a+1|0}while((a|0)<(f[c>>2]|0));g=f[h>>2]|0;g=g+1|0;f[h>>2]=g;return}if((g|0)>0){c=f[h+20>>2]|0;a=0;do{e=c+(a<<2)|0;f[e>>2]=(f[e>>2]|0)+1;a=a+1|0}while((a|0)!=(g|0))}c=h+8|0;if((g|0)>=(f[c>>2]|0)){g=f[h>>2]|0;g=g+1|0;f[h>>2]=g;return}d=f[h+24>>2]|0;e=f[h+20>>2]|0;a=g;do{g=d+(a<<2)|0;f[g>>2]=(f[g>>2]|0)+1;f[e+(a<<2)>>2]=1;a=a+1|0}while((a|0)<(f[c>>2]|0));g=f[h>>2]|0;g=g+1|0;f[h>>2]=g;return}function rm(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0;c=f[e>>2]|0;g=j[c+8>>1]|0;do if(!(g&4)){if(g&8|0){n=Fc(+p[c>>3])|0;ba()|0;break}if(!(g&18))n=0;else{n=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else n=f[c>>2]|0;while(0);o=n+1&-2;c=f[e+4>>2]|0;g=j[c+8>>1]|0;do if(!(g&4)){if(g&8|0){k=Fc(+p[c>>3])|0;ba()|0;break}if(!(g&18))k=0;else{k=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else k=f[c>>2]|0;while(0);l=(o<<3)+60|0;m=f[(f[a>>2]|0)+32>>2]|0;e=((l|0)<0)<<31>>31;a:do if(!m){e=KA(l|0,e|0,-1,-1)|0;g=ba()|0;if(!(g>>>0>0|(g|0)==0&e>>>0>2147483390)){if(!(f[9328]|0)){h=ib[f[37356>>2]&255](l)|0;i=37;break}e=ib[f[37372>>2]&255](l)|0;if((f[18194]|0)>>>0>>0)f[18194]=l;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){q=f[18187]|0;g=LA(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&g>>>0<=q>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(c|0){g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;i=46}else i=46}}}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break}else{do if(!(0>>0|(0==(e|0)?(j[m+276>>1]|0)>>>0>>0:0))){c=m+300|0;g=f[c>>2]|0;if(g|0){f[c>>2]=f[g>>2];h=m+284|0;f[h>>2]=(f[h>>2]|0)+1;h=g;i=37;break a}c=m+296|0;g=f[c>>2]|0;if(!g){c=m+292|0;break}else{f[c>>2]=f[g>>2];h=m+284|0;f[h>>2]=(f[h>>2]|0)+1;h=g;i=37;break a}}else c=m+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}h=Dc(m,l,e)|0;i=37}while(0);if((i|0)==37?h|0:0){c=h;i=46}if((i|0)==46){_A(c|0,0,l|0)|0;f[c+56>>2]=m;f[c>>2]=0;f[c+8>>2]=n;f[c+12>>2]=k;q=c+60|0;f[c+24>>2]=q;f[c+20>>2]=q+(o<<2);if(($e(f[a>>2]|0,c,60,0,105)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if(b[g>>0]|0)return;if(b[c+82>>0]|0)return;b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;q=c+272|0;f[q>>2]=(f[q>>2]|0)+1;return}function sm(a){a=a|0;var b=0,c=0;b=f[a+56>>2]|0;if(!a)return;if(b|0){if(f[b+480>>2]|0){Kc(b,a);return}c=a;if((f[b+304>>2]|0)>>>0<=c>>>0?(f[b+308>>2]|0)>>>0>c>>>0:0){c=b+300|0;f[a>>2]=f[c>>2];f[c>>2]=a;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function tm(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;h=t;t=t+16|0;c=h+4|0;e=f[a>>2]|0;g=e+16|0;if(f[(f[g>>2]|0)+20>>2]|0){g=0;t=h;return g|0}if(b[a+195>>0]|0){g=0;t=h;return g|0}d=cj(f[e>>2]|0,0,e,c,0,542)|0;if(d|0){ni(a,51535,h);f[a+12>>2]=d;g=1;t=h;return g|0}d=f[c>>2]|0;f[(f[g>>2]|0)+20>>2]=d;if((um(d,f[e+92>>2]|0,-1,0)|0)==7){vm(e);g=1;t=h;return g|0}else{g=0;t=h;return g|0}return 0}function um(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0,h=0;h=f[a+4>>2]|0;f[h+4>>2]=f[a>>2];g=h+22|0;if(d[g>>1]&2){h=8;return h|0}if((c|0)<0)c=(f[h+32>>2]|0)-(f[h+36>>2]|0)|0;if((b+-512|0)>>>0<65025?(b+-1&b|0)==0:0){f[h+32>>2]=b;wm(h)}b=h+32|0;a=ih(f[h>>2]|0,b,c)|0;f[h+36>>2]=(f[b>>2]|0)-(c&65535);if(!e){h=a;return h|0}d[g>>1]=d[g>>1]|2;h=a;return h|0}function vm(a){a=a|0;var c=0;c=a+81|0;if(b[c>>0]|0)return;if(b[a+82>>0]|0)return;b[c>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;c=a+272|0;f[c>>2]=(f[c>>2]|0)+1;return}function wm(a){a=a|0;var b=0,c=0,d=0;c=a+80|0;a=f[c>>2]|0;if(!a)return;b=a+-4|0;f[c>>2]=b;a=b;do if((f[18022]|0)>>>0<=a>>>0)if((f[18023]|0)>>>0>a>>>0){f[18188]=(f[18188]|0)+-1;f[b>>2]=f[18025];f[18025]=b;b=(f[18026]|0)+1|0;f[18026]=b;f[18027]=(b|0)<(f[18021]|0)&1;break}else{a=ib[f[37368>>2]&255](b)|0;d=7;break}else{a=ib[f[37368>>2]&255](b)|0;d=7}while(0);do if((d|0)==7){f[18189]=(f[18189]|0)-a;if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{d=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}}while(0);f[c>>2]=0;return}function xm(a,c,e,g,i,k,l,m){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;J=a+8|0;L=f[J>>2]|0;if(k|0){v=c+36|0;if(f[v>>2]|0){n=f[L+12>>2]|0;t=n+60|0;u=f[t>>2]|0;f[t>>2]=u+1;t=n+64|0;if(!(u+-1&u)){r=u<<3|4;s=f[n>>2]|0;n=f[t>>2]|0;a:do if(n){p=n;q=s+304|0;if(((f[q>>2]|0)>>>0<=p>>>0?(f[s+308>>2]|0)>>>0>p>>>0:0)?!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0)):0)break;o=Lc(s,n,r,0)|0;if(!o){if(f[s+480>>2]|0){Kc(s,n);n=0;break}if((f[q>>2]|0)>>>0<=p>>>0?(f[s+308>>2]|0)>>>0>p>>>0:0){C=s+300|0;f[n>>2]=f[C>>2];f[C>>2]=n;n=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);n=0;break}else{C=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);n=0;break}}else n=o}else{if(f[s+272>>2]|0){if(b[s+81>>0]|0){n=0;break}}else{do if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0))){o=s+300|0;n=f[o>>2]|0;if(n|0){f[o>>2]=f[n>>2];C=s+284|0;f[C>>2]=(f[C>>2]|0)+1;break a}o=s+296|0;n=f[o>>2]|0;if(!n){n=s+292|0;break}else{f[o>>2]=f[n>>2];C=s+284|0;f[C>>2]=(f[C>>2]|0)+1;break a}}else n=s+288|0;while(0);f[n>>2]=(f[n>>2]|0)+1}n=Dc(s,r,0)|0}while(0);f[t>>2]=n}else n=f[t>>2]|0;if(n|0)f[n+(u<<2)>>2]=-1;f[k>>2]=~u;n=a+56|0;f[n>>2]=e+1;o=f[v>>2]|0;p=f[k>>2]|0;q=f[a>>2]|0;if(!o)o=0;else o=Bk(q,o,0,0)|0;if(!(b[q+81>>0]|0))zm(a,o,p,16);if(o)ig(q,o)}else n=k;f[n>>2]=0}if((i|0)!=0?(C=c+55|0,((h[C>>0]|h[C+1>>0]<<8)&8)!=0):0)n=c+50|0;else n=c+52|0;r=d[n>>1]|0;C=r&65535;B=r<<16>>16==1;do if(B){n=a+19|0;o=b[n>>0]|0;if(!(o<<24>>24)){z=a+44|0;A=(f[z>>2]|0)+1|0;f[z>>2]=A;break}else{A=o+-1<<24>>24;b[n>>0]=A;A=f[a+144+((A&255)<<2)>>2]|0;break}}else{n=a+32|0;o=f[n>>2]|0;p=a+28|0;q=f[p>>2]|0;if((q|0)<(C|0)){z=a+44|0;A=f[z>>2]|0;f[z>>2]=A+C;A=A+1|0;break}else{f[n>>2]=o+C;f[p>>2]=q-C;A=o;break}}while(0);do if(!l)n=0;else{if((A|0)==(m|0)?(f[l+36>>2]|0)==0:0){n=l;break}n=0}while(0);if(r<<16>>16){y=(n|0)==0;z=c+4|0;v=n+4|0;k=e+1|0;i=a+56|0;l=c+40|0;m=L+136|0;w=c+12|0;x=L+88|0;u=0;do{if(!y){t=d[(f[v>>2]|0)+(u<<1)>>1]|0;n=d[(f[z>>2]|0)+(u<<1)>>1]|0;if(t<<16>>16==-2?1:t<<16>>16!=n<<16>>16)D=59}else{n=d[(f[z>>2]|0)+(u<<1)>>1]|0;D=59}if((D|0)==59){D=0;t=u+A|0;if(n<<16>>16==-2){f[i>>2]=k;n=f[(f[l>>2]|0)+4+(u*20|0)>>2]|0;s=f[a>>2]|0;if(!n)r=0;else r=Bk(s,n,0,0)|0;b:do if(!(b[s+81>>0]|0)){do if(r){if((b[r>>0]|0)!=-92){p=xl(a,r,t)|0;break}n=f[J>>2]|0;o=f[r+28>>2]|0;p=n+136|0;q=f[p>>2]|0;if((f[(f[n+12>>2]|0)+48>>2]|0)>(q|0)){f[p>>2]=q+1;D=f[n+88>>2]|0;b[D+(q*20|0)>>0]=78;d[D+(q*20|0)+2>>1]=0;f[D+(q*20|0)+4>>2]=o;f[D+(q*20|0)+8>>2]=t;f[D+(q*20|0)+12>>2]=0;f[D+(q*20|0)+16>>2]=0;b[D+(q*20|0)+1>>0]=0;D=76;break b}else{tl(n,78,o,t,0)|0;D=76;break b}}else p=xl(a,0,t)|0;while(0);if((p|0)!=(t|0)?(E=f[J>>2]|0,(E|0)!=0):0){n=E+136|0;o=f[n>>2]|0;if((f[(f[E+12>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;D=f[E+88>>2]|0;b[D+(o*20|0)>>0]=79;d[D+(o*20|0)+2>>1]=0;f[D+(o*20|0)+4>>2]=p;f[D+(o*20|0)+8>>2]=t;f[D+(o*20|0)+12>>2]=0;f[D+(o*20|0)+16>>2]=0;b[D+(o*20|0)+1>>0]=0;D=75;break}else{tl(E,79,p,t,0)|0;D=75;break}}else D=75}else D=75;while(0);if((D|0)==75?(D=0,r|0):0)D=76;if((D|0)==76){D=0;ig(s,r)}f[i>>2]=0}else Am(f[J>>2]|0,f[w>>2]|0,e,n<<16>>16,t);n=f[m>>2]|0;if(((n|0)>0?(F=f[x>>2]|0,G=n+-1|0,H=F+(G*20|0)|0,(b[H>>0]|0)==84):0)?(I=f[L>>2]|0,(b[I+81>>0]|0)==0):0){s=F+(G*20|0)+1|0;t=F+(G*20|0)+16|0;qg(I,b[s>>0]|0,f[t>>2]|0);b[s>>0]=0;f[t>>2]=0;b[H>>0]=-85}}u=u+1|0}while((u|0)!=(C|0))}if(g|0){n=L+136|0;o=f[n>>2]|0;if((f[(f[L+12>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;J=f[L+88>>2]|0;b[J+(o*20|0)>>0]=102;d[J+(o*20|0)+2>>1]=0;f[J+(o*20|0)+4>>2]=A;f[J+(o*20|0)+8>>2]=C;f[J+(o*20|0)+12>>2]=g;f[J+(o*20|0)+16>>2]=0;b[J+(o*20|0)+1>>0]=0}else tl(L,102,A,C,g)|0;if(f[(f[c+12>>2]|0)+12>>2]|0?(K=Bm(f[a>>2]|0,c)|0,(b[(f[L>>2]|0)+81>>0]|0)==0):0)ul(L,(f[L+88>>2]|0)+(((f[n>>2]|0)+-1|0)*20|0)|0,K,0)}if(!B){n=a+28|0;if((f[n>>2]|0)>=(C|0))return A|0;f[n>>2]=C;f[a+32>>2]=A;return A|0}if(!A)return A|0;n=a+19|0;o=b[n>>0]|0;if((o&255)>=8)return A|0;b[n>>0]=o+1<<24>>24;f[a+144+((o&255)<<2)>>2]=A;return A|0}function ym(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;z=t;t=t+32|0;g=z;w=z+8|0;r=f[e+12>>2]|0;s=f[a>>2]|0;x=w+4|0;f[x>>2]=0;f[w>>2]=s;s=w+8|0;f[s>>2]=0;y=w+12|0;f[y>>2]=200;u=w+16|0;f[u>>2]=0;b[w+20>>0]=0;v=w+21|0;b[v>>0]=0;if(!(f[e+40>>2]|0)){n=e+50|0;if(d[n>>1]|0){o=r+4|0;p=e+4|0;m=0;do{q=f[(f[o>>2]|0)+(d[(f[p>>2]|0)+(m<<1)>>1]<<4)>>2]|0;do if(m|0){g=f[u>>2]|0;i=g+2|0;if(i>>>0<(f[s>>2]|0)>>>0){f[u>>2]=i;l=(f[x>>2]|0)+g|0;b[l>>0]=44;b[l+1>>0]=32;break}else{Ec(w,54720,2);break}}while(0);i=f[r>>2]|0;if(!i)g=0;else g=(wz(i)|0)&1073741823;k=f[u>>2]|0;l=k+g|0;if(l>>>0<(f[s>>2]|0)>>>0){if(g|0){f[u>>2]=l;YA((f[x>>2]|0)+k|0,i|0,g|0)|0}}else Ec(w,i,g);g=f[u>>2]|0;i=g+1|0;if(i>>>0<(f[s>>2]|0)>>>0){f[u>>2]=i;b[(f[x>>2]|0)+g>>0]=46}else Ec(w,40555,1);if(!q)g=0;else g=(wz(q)|0)&1073741823;i=f[u>>2]|0;k=i+g|0;if(k>>>0<(f[s>>2]|0)>>>0){if(g|0){f[u>>2]=k;YA((f[x>>2]|0)+i|0,q|0,g|0)|0}}else Ec(w,q,g);m=m+1|0}while(m>>>0<(j[n>>1]|0)>>>0)}}else{f[g>>2]=f[e>>2];qf(w,54709,g)}g=f[x>>2]|0;if(((g|0)!=0?(b[g+(f[u>>2]|0)>>0]=0,(f[y>>2]|0)!=0):0)?(b[v>>0]&4)==0:0)n=Cc(w)|0;else n=f[x>>2]|0;i=e+55|0;i=((h[i>>0]|h[i+1>>0]<<8)&3)==2?1555:2067;g=f[a+8>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;m=sl(a)|0}else m=g;if((c|0)==2){e=f[a+116>>2]|0;b[((e|0)==0?a:e)+21>>0]=1}l=m+136|0;g=f[l>>2]|0;if((f[(f[m+12>>2]|0)+48>>2]|0)>(g|0)){f[l>>2]=g+1;a=f[m+88>>2]|0;b[a+(g*20|0)>>0]=69;d[a+(g*20|0)+2>>1]=0;f[a+(g*20|0)+4>>2]=i;f[a+(g*20|0)+8>>2]=c;f[a+(g*20|0)+12>>2]=0;f[a+(g*20|0)+16>>2]=0;b[a+(g*20|0)+1>>0]=0}else g=tl(m,69,i,c,0)|0;i=f[m>>2]|0;do if(!(b[i+81>>0]|0)){if((g|0)<0)g=(f[l>>2]|0)+-1|0;i=f[m+88>>2]|0;k=i+(g*20|0)+1|0;if(b[k>>0]|0){ul(m,i+(g*20|0)|0,n,-7);break}if(n|0){f[i+(g*20|0)+16>>2]=n;b[k>>0]=-7}}else if(n|0){if(i|0){if(f[i+480>>2]|0){Kc(i,n);break}c=n;if((f[i+304>>2]|0)>>>0<=c>>>0?(f[i+308>>2]|0)>>>0>c>>>0:0){c=i+300|0;f[n>>2]=f[c>>2];f[c>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{c=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);g=f[l>>2]|0;if((g|0)<=0){t=z;return}d[(f[m+88>>2]|0)+((g+-1|0)*20|0)+2>>1]=2;t=z;return}function zm(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=t;t=t+208|0;u=B+160|0;l=B+112|0;m=B+64|0;n=B+16|0;o=B+8|0;x=B+4|0;y=B;w=f[a+8>>2]|0;f[x>>2]=0;f[y>>2]=0;if((c|0)==0|(w|0)==0){t=B;return}h=b[c>>0]|0;k=h^1;p=k&255;a:do switch(h<<24>>24){case 44:{zm(a,f[c+12>>2]|0,e,g);zm(a,f[c+16>>2]|0,e,g);break}case 43:{p=w+12|0;h=f[p>>2]|0;o=h+60|0;q=f[o>>2]|0;f[o>>2]=q+1;o=h+64|0;if(!(q+-1&q)){m=q<<3|4;n=f[h>>2]|0;h=f[o>>2]|0;b:do if(h){k=h;l=n+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;i=Lc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Kc(n,h);h=0;break}if((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0){u=n+300|0;f[h>>2]=f[u>>2];f[u>>2]=h;h=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);h=0;break}else{u=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);h=0;break}}else h=i}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){h=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;h=f[i>>2]|0;if(h|0){f[i>>2]=f[h>>2];u=n+284|0;f[u>>2]=(f[u>>2]|0)+1;break b}i=n+296|0;h=f[i>>2]|0;if(!h){h=n+292|0;break}else{f[i>>2]=f[h>>2];u=n+284|0;f[u>>2]=(f[u>>2]|0)+1;break b}}else h=n+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1}h=Dc(n,m,0)|0}while(0);f[o>>2]=h}else h=f[o>>2]|0;if(h|0)f[h+(q<<2)>>2]=-1;Cm(a,f[c+12>>2]|0,~q,g^16);zm(a,f[c+16>>2]|0,e,g);h=f[(f[p>>2]|0)+64>>2]|0;if(h|0)f[h+(q<<2)>>2]=f[w+136>>2];break}case 19:{Cm(a,f[c+12>>2]|0,e,g);break}case -93:{w=(b[c+38>>0]|0)==-100;h=f[c+12>>2]|0;g=w?0:16;if(w^(b[(f[(f[c+16>>2]|0)+8>>2]|0)+4>>0]|0)==0){zm(a,h,e,g);break a}else{Cm(a,h,e,g);break a}}case -100:case 45:{g=128;i=h<<24>>24==45?52:53;v=40;break}case 53:case 52:case 57:case 54:case 55:case 56:{i=p;v=40;break}case 51:case 50:{h=Dm(a,f[c+12>>2]|0,x)|0;g=w+136|0;i=f[g>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;w=f[w+88>>2]|0;b[w+(i*20|0)>>0]=k;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=h;f[w+(i*20|0)+8>>2]=e;f[w+(i*20|0)+12>>2]=0;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0;break a}else{tl(w,p,h,e,0)|0;break a}}case 48:{f[o>>2]=0;h=l;k=h+48|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(k|0));h=m;k=h+48|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(k|0));h=u;k=h+48|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(k|0));h=n;i=f[c+12>>2]|0;k=h+48|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(k|0));b[u>>0]=44;f[u+12>>2]=l;f[u+16>>2]=m;b[l>>0]=57;f[l+12>>2]=n;h=f[c+20>>2]|0;f[l+16>>2]=f[h+4>>2];b[m>>0]=55;f[m+12>>2]=n;f[m+16>>2]=f[h+24>>2];h=Fm(a,n,o)|0;b[n+38>>0]=b[n>>0]|0;b[n>>0]=-92;f[n+28>>2]=h;h=n+4|0;f[h>>2]=f[h>>2]&-4097;zm(a,u,e,g);h=f[o>>2]|0;if(h|0?(q=a+19|0,r=b[q>>0]|0,(r&255)<8):0){b[q>>0]=r+1<<24>>24;f[a+144+((r&255)<<2)>>2]=h}break}case 49:{if(g|0){Gm(a,c,e,e);break a}o=w+12|0;h=f[o>>2]|0;n=h+60|0;p=f[n>>2]|0;f[n>>2]=p+1;n=h+64|0;if(!(p+-1&p)){l=p<<3|4;m=f[h>>2]|0;h=f[n>>2]|0;c:do if(h){i=h;k=m+304|0;if(((f[k>>2]|0)>>>0<=i>>>0?(f[m+308>>2]|0)>>>0>i>>>0:0)?!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0)):0)break;g=Lc(m,h,l,0)|0;if(!g){if(f[m+480>>2]|0){Kc(m,h);h=0;break}if((f[k>>2]|0)>>>0<=i>>>0?(f[m+308>>2]|0)>>>0>i>>>0:0){u=m+300|0;f[h>>2]=f[u>>2];f[u>>2]=h;h=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);h=0;break}else{u=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);h=0;break}}else h=g}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){h=0;break}}else{do if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0))){g=m+300|0;h=f[g>>2]|0;if(h|0){f[g>>2]=f[h>>2];u=m+284|0;f[u>>2]=(f[u>>2]|0)+1;break c}g=m+296|0;h=f[g>>2]|0;if(!h){h=m+292|0;break}else{f[g>>2]=f[h>>2];u=m+284|0;f[u>>2]=(f[u>>2]|0)+1;break c}}else h=m+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1}h=Dc(m,l,0)|0}while(0);f[n>>2]=h}else h=f[n>>2]|0;if(h|0)f[h+(p<<2)>>2]=-1;Gm(a,c,e,~p);h=f[(f[o>>2]|0)+64>>2]|0;if(h|0)f[h+(p<<2)>>2]=f[w+136>>2];break}default:{f[u>>2]=0;if((f[c+4>>2]&1|0)==0?(Ak(c,u)|0)!=0:0)h=(f[u>>2]|0)==0&1;else h=0;v=95}}while(0);do if((v|0)==40){k=c+12|0;l=f[k>>2]|0;h=b[l>>0]|0;if(h<<24>>24==-92)h=b[l+38>>0]|0;switch(h<<24>>24){case -91:{s=l+20|0;v=45;break}case 127:{s=f[l+20>>2]|0;v=45;break}default:{}}if((v|0)==45?(f[f[s>>2]>>2]|0)>=2:0){f[u>>2]=0;if((f[c+4>>2]&1|0)==0?(Ak(c,u)|0)!=0:0)h=(f[u>>2]|0)==0&1;else h=0;v=95;break}u=Dm(a,l,x)|0;c=c+16|0;w=Dm(a,f[c>>2]|0,y)|0;Em(a,f[k>>2]|0,f[c>>2]|0,i,u,w,e,g)}while(0);do if((v|0)==95){if(h|0){h=w+136|0;g=f[h>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(g|0)){f[h>>2]=g+1;w=f[w+88>>2]|0;b[w+(g*20|0)>>0]=11;d[w+(g*20|0)+2>>1]=0;f[w+(g*20|0)+4>>2]=0;f[w+(g*20|0)+8>>2]=e;f[w+(g*20|0)+12>>2]=0;f[w+(g*20|0)+16>>2]=0;b[w+(g*20|0)+1>>0]=0;break}else{tl(w,11,0,e,0)|0;break}}f[u>>2]=0;if((f[c+4>>2]&1|0)==0?(Ak(c,u)|0)!=0:0){if(f[u>>2]|0)break}else v=101;k=Dm(a,c,x)|0;h=(g|0)!=0&1;g=w+136|0;i=f[g>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;w=f[w+88>>2]|0;b[w+(i*20|0)>>0]=20;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=k;f[w+(i*20|0)+8>>2]=e;f[w+(i*20|0)+12>>2]=h;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0;break}else{tl(w,20,k,e,h)|0;break}}while(0);h=f[x>>2]|0;if(h|0?(z=a+19|0,A=b[z>>0]|0,(A&255)<8):0){b[z>>0]=A+1<<24>>24;f[a+144+((A&255)<<2)>>2]=h}h=f[y>>2]|0;if(!h){t=B;return}g=a+19|0;i=b[g>>0]|0;if((i&255)>=8){t=B;return}b[g>>0]=i+1<<24>>24;f[a+144+((i&255)<<2)>>2]=h;t=B;return}function Am(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=t;t=t+16|0;p=r;if(!c){j=a+136|0;k=f[j>>2]|0;if((f[(f[a+12>>2]|0)+48>>2]|0)>(k|0)){f[j>>2]=k+1;a=f[a+88>>2]|0;b[a+(k*20|0)>>0]=90;d[a+(k*20|0)+2>>1]=0;f[a+(k*20|0)+4>>2]=e;f[a+(k*20|0)+8>>2]=g;f[a+(k*20|0)+12>>2]=i;f[a+(k*20|0)+16>>2]=0;b[a+(k*20|0)+1>>0]=0;t=r;return}else{tl(a,90,e,g,i)|0;t=r;return}}do if((g|0)>=0?(d[c+40>>1]|0)!=(g|0):0){m=(f[c+56>>2]|0)!=0;n=m?165:90;if(m|(f[c+36>>2]&32|0)==0)j=g;else{j=f[c+8>>2]|0;a:do if(!j)j=0;else while(1){m=j+55|0;if(((h[m>>0]|h[m+1>>0]<<8)&3)==2)break a;j=f[j+20>>2]|0;if(!j){j=0;break}}while(0);m=g&65535;k=d[j+52>>1]|0;b:do if(!(k<<16>>16))j=-1;else{l=f[j+4>>2]|0;k=k&65535;j=0;while(1){if((d[l+(j<<1)>>1]|0)==m<<16>>16)break b;j=j+1|0;if(j>>>0>=k>>>0){j=-1;break}}}while(0);j=j<<16>>16}k=a+136|0;l=f[k>>2]|0;if((f[(f[a+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;m=f[a+88>>2]|0;b[m+(l*20|0)>>0]=n;d[m+(l*20|0)+2>>1]=0;f[m+(l*20|0)+4>>2]=e;f[m+(l*20|0)+8>>2]=j;f[m+(l*20|0)+12>>2]=i;f[m+(l*20|0)+16>>2]=0;b[m+(l*20|0)+1>>0]=0;break}else{tl(a,n,e,j,i)|0;break}}else o=7;while(0);do if((o|0)==7){j=a+136|0;k=f[j>>2]|0;if((f[(f[a+12>>2]|0)+48>>2]|0)>(k|0)){f[j>>2]=k+1;o=f[a+88>>2]|0;b[o+(k*20|0)>>0]=-127;d[o+(k*20|0)+2>>1]=0;f[o+(k*20|0)+4>>2]=e;f[o+(k*20|0)+8>>2]=i;f[o+(k*20|0)+12>>2]=0;f[o+(k*20|0)+16>>2]=0;b[o+(k*20|0)+1>>0]=0;break}else{tl(a,129,e,i,0)|0;break}}while(0);if((g|0)<=-1){t=r;return}if(!(f[c+12>>2]|0)){f[p>>2]=0;m=f[a>>2]|0;j=c+4|0;l=f[j>>2]|0;k=f[l+(g<<4)+4>>2]|0;do if(k|0?(Ek(m,k,b[m+78>>0]|0,b[l+(g<<4)+13>>0]|0,p)|0,q=f[p>>2]|0,q|0):0){k=f[a>>2]|0;if(!(b[k+81>>0]|0)){e=f[a+88>>2]|0;p=(f[a+136>>2]|0)+-1|0;b[e+(p*20|0)+1>>0]=-11;f[e+(p*20|0)+16>>2]=q;break}else{qg(k,-11,q);break}}while(0)}else j=c+4|0;if((b[(f[j>>2]|0)+(g<<4)+13>>0]|0)!=69){t=r;return}j=a+136|0;k=f[j>>2]|0;if((f[(f[a+12>>2]|0)+48>>2]|0)>(k|0)){f[j>>2]=k+1;a=f[a+88>>2]|0;b[a+(k*20|0)>>0]=84;d[a+(k*20|0)+2>>1]=0;f[a+(k*20|0)+4>>2]=i;f[a+(k*20|0)+8>>2]=0;f[a+(k*20|0)+12>>2]=0;f[a+(k*20|0)+16>>2]=0;b[a+(k*20|0)+1>>0]=0;t=r;return}else{tl(a,84,i,0,0)|0;t=r;return}}function Bm(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;m=c+16|0;e=f[m>>2]|0;if(e|0){m=e;return m|0}k=f[c+12>>2]|0;l=c+52|0;g=j[l>>1]|0;e=g+1|0;do if(!(f[9328]|0)){e=ib[f[37356>>2]&255](e)|0;f[m>>2]=e;if(!e)i=15}else{h=ib[f[37372>>2]&255](e)|0;if((f[18194]|0)>>>0<=g>>>0)f[18194]=e;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){n=f[18187]|0;g=LA(e|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&g>>>0<=n>>>0)&1}e=ib[f[37356>>2]&255](h)|0;if(!e){f[m>>2]=0;i=15;break}g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g;f[m>>2]=e}while(0);if((i|0)==15){e=a+81|0;if(b[e>>0]|0){n=0;return n|0}if(b[a+82>>0]|0){n=0;return n|0}b[e>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;n=a+272|0;f[n>>2]=(f[n>>2]|0)+1;n=0;return n|0}if(!(d[l>>1]|0))g=0;else{i=c+4|0;a=k+4|0;h=c+40|0;g=0;do{e=d[(f[i>>2]|0)+(g<<1)>>1]|0;if(e<<16>>16<=-1)if(e<<16>>16==-1)e=68;else{e=Yk(f[(f[h>>2]|0)+4+(g*20|0)>>2]|0)|0;e=e<<24>>24==0?65:e}else e=b[(f[a>>2]|0)+(e<<16>>16<<4)+13>>0]|0;b[(f[m>>2]|0)+g>>0]=e;g=g+1|0}while(g>>>0<(j[l>>1]|0)>>>0);e=f[m>>2]|0}b[e+g>>0]=0;n=f[m>>2]|0;return n|0}function Cm(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=t;t=t+208|0;u=B+160|0;l=B+112|0;m=B+64|0;n=B+16|0;o=B+8|0;x=B+4|0;y=B;w=f[a+8>>2]|0;f[x>>2]=0;f[y>>2]=0;if((c|0)==0|(w|0)==0){t=B;return}k=b[c>>0]|0;p=k&255;a:do switch(k<<24>>24){case 44:{p=w+12|0;h=f[p>>2]|0;o=h+60|0;q=f[o>>2]|0;f[o>>2]=q+1;o=h+64|0;if(!(q+-1&q)){m=q<<3|4;n=f[h>>2]|0;h=f[o>>2]|0;b:do if(h){k=h;l=n+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;i=Lc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Kc(n,h);h=0;break}if((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0){u=n+300|0;f[h>>2]=f[u>>2];f[u>>2]=h;h=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);h=0;break}else{u=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);h=0;break}}else h=i}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){h=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;h=f[i>>2]|0;if(h|0){f[i>>2]=f[h>>2];u=n+284|0;f[u>>2]=(f[u>>2]|0)+1;break b}i=n+296|0;h=f[i>>2]|0;if(!h){h=n+292|0;break}else{f[i>>2]=f[h>>2];u=n+284|0;f[u>>2]=(f[u>>2]|0)+1;break b}}else h=n+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1}h=Dc(n,m,0)|0}while(0);f[o>>2]=h}else h=f[o>>2]|0;if(h|0)f[h+(q<<2)>>2]=-1;zm(a,f[c+12>>2]|0,~q,g^16);Cm(a,f[c+16>>2]|0,e,g);h=f[(f[p>>2]|0)+64>>2]|0;if(h|0)f[h+(q<<2)>>2]=f[w+136>>2];break}case 43:{Cm(a,f[c+12>>2]|0,e,g);Cm(a,f[c+16>>2]|0,e,g);break}case 19:{zm(a,f[c+12>>2]|0,e,g);break}case -93:{w=(b[c+38>>0]|0)==-100;h=f[c+12>>2]|0;g=w?16:0;if(w^(b[(f[(f[c+16>>2]|0)+8>>2]|0)+4>>0]|0)==0){Cm(a,h,e,g);break a}else{zm(a,h,e,g);break a}}case -100:case 45:{g=128;i=k<<24>>24==45?53:52;v=40;break}case 53:case 52:case 57:case 54:case 55:case 56:{i=p;v=40;break}case 51:case 50:{h=Dm(a,f[c+12>>2]|0,x)|0;g=w+136|0;i=f[g>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;w=f[w+88>>2]|0;b[w+(i*20|0)>>0]=k;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=h;f[w+(i*20|0)+8>>2]=e;f[w+(i*20|0)+12>>2]=0;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0;break a}else{tl(w,p,h,e,0)|0;break a}}case 48:{f[o>>2]=0;h=l;k=h+48|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(k|0));h=m;k=h+48|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(k|0));h=u;k=h+48|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(k|0));h=n;i=f[c+12>>2]|0;k=h+48|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(k|0));b[u>>0]=44;f[u+12>>2]=l;f[u+16>>2]=m;b[l>>0]=57;f[l+12>>2]=n;h=f[c+20>>2]|0;f[l+16>>2]=f[h+4>>2];b[m>>0]=55;f[m+12>>2]=n;f[m+16>>2]=f[h+24>>2];h=Fm(a,n,o)|0;b[n+38>>0]=b[n>>0]|0;b[n>>0]=-92;f[n+28>>2]=h;h=n+4|0;f[h>>2]=f[h>>2]&-4097;Cm(a,u,e,g);h=f[o>>2]|0;if(h|0?(q=a+19|0,r=b[q>>0]|0,(r&255)<8):0){b[q>>0]=r+1<<24>>24;f[a+144+((r&255)<<2)>>2]=h}break}case 49:{p=w+12|0;h=f[p>>2]|0;o=h+60|0;q=f[o>>2]|0;f[o>>2]=q+1;o=h+64|0;if(!(q+-1&q)){m=q<<3|4;n=f[h>>2]|0;h=f[o>>2]|0;c:do if(h){k=h;l=n+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;i=Lc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Kc(n,h);h=0;break}if((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0){u=n+300|0;f[h>>2]=f[u>>2];f[u>>2]=h;h=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);h=0;break}else{u=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);h=0;break}}else h=i}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){h=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;h=f[i>>2]|0;if(h|0){f[i>>2]=f[h>>2];u=n+284|0;f[u>>2]=(f[u>>2]|0)+1;break c}i=n+296|0;h=f[i>>2]|0;if(!h){h=n+292|0;break}else{f[i>>2]=f[h>>2];u=n+284|0;f[u>>2]=(f[u>>2]|0)+1;break c}}else h=n+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1}h=Dc(n,m,0)|0}while(0);f[o>>2]=h}else h=f[o>>2]|0;if(h|0)f[h+(q<<2)>>2]=-1;h=~q;Gm(a,c,h,(g|0)==0?h:e);g=w+136|0;h=f[g>>2]|0;if((f[(f[p>>2]|0)+48>>2]|0)>(h|0)){f[g>>2]=h+1;w=f[w+88>>2]|0;b[w+(h*20|0)>>0]=11;d[w+(h*20|0)+2>>1]=0;f[w+(h*20|0)+4>>2]=0;f[w+(h*20|0)+8>>2]=e;f[w+(h*20|0)+12>>2]=0;f[w+(h*20|0)+16>>2]=0;b[w+(h*20|0)+1>>0]=0}else tl(w,11,0,e,0)|0;h=f[(f[p>>2]|0)+64>>2]|0;if(h|0)f[h+(q<<2)>>2]=f[g>>2];break}default:{f[u>>2]=0;if((f[c+4>>2]&1|0)==0?(Ak(c,u)|0)!=0:0)h=(f[u>>2]|0)!=0&1;else h=0;v=96}}while(0);do if((v|0)==40){k=c+12|0;l=f[k>>2]|0;h=b[l>>0]|0;if(h<<24>>24==-92)h=b[l+38>>0]|0;switch(h<<24>>24){case -91:{s=l+20|0;v=45;break}case 127:{s=f[l+20>>2]|0;v=45;break}default:{}}if((v|0)==45?(f[f[s>>2]>>2]|0)>=2:0){f[u>>2]=0;if((f[c+4>>2]&1|0)==0?(Ak(c,u)|0)!=0:0)h=(f[u>>2]|0)!=0&1;else h=0;v=96;break}u=Dm(a,l,x)|0;c=c+16|0;w=Dm(a,f[c>>2]|0,y)|0;Em(a,f[k>>2]|0,f[c>>2]|0,i,u,w,e,g)}while(0);do if((v|0)==96){if(h|0){h=w+136|0;g=f[h>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(g|0)){f[h>>2]=g+1;w=f[w+88>>2]|0;b[w+(g*20|0)>>0]=11;d[w+(g*20|0)+2>>1]=0;f[w+(g*20|0)+4>>2]=0;f[w+(g*20|0)+8>>2]=e;f[w+(g*20|0)+12>>2]=0;f[w+(g*20|0)+16>>2]=0;b[w+(g*20|0)+1>>0]=0;break}else{tl(w,11,0,e,0)|0;break}}f[u>>2]=0;if((f[c+4>>2]&1|0)==0?(Ak(c,u)|0)!=0:0){if(!(f[u>>2]|0))break}else v=102;k=Dm(a,c,x)|0;h=(g|0)!=0&1;g=w+136|0;i=f[g>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;w=f[w+88>>2]|0;b[w+(i*20|0)>>0]=18;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=k;f[w+(i*20|0)+8>>2]=e;f[w+(i*20|0)+12>>2]=h;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0;break}else{tl(w,18,k,e,h)|0;break}}while(0);h=f[x>>2]|0;if(h|0?(z=a+19|0,A=b[z>>0]|0,(A&255)<8):0){b[z>>0]=A+1<<24>>24;f[a+144+((A&255)<<2)>>2]=h}h=f[y>>2]|0;if(!h){t=B;return}g=a+19|0;i=b[g>>0]|0;if((i&255)>=8){t=B;return}b[g>>0]=i+1<<24>>24;f[a+144+((i&255)<<2)>>2]=h;t=B;return}function Dm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=t;t=t+32|0;g=i;a:do if(!c)e=0;else while(1){e=f[c+4>>2]|0;if(!(e&4096)){e=c;break a}if(!(e&262144))c=c+12|0;else c=(f[c+20>>2]|0)+4|0;c=f[c>>2]|0;if(!c){e=0;break}}while(0);if((b[a+23>>0]|0?(b[e>>0]|0)!=-92:0)?(c=g+20|0,b[c>>0]=2,f[g+4>>2]=155,f[g+8>>2]=156,f[g+24>>2]=0,oi(g,e)|0,b[c>>0]|0):0){f[d>>2]=0;d=Pm(a,e,-1)|0;t=i;return d|0}g=a+19|0;c=b[g>>0]|0;if(!(c<<24>>24)){j=a+44|0;c=(f[j>>2]|0)+1|0;f[j>>2]=c}else{c=c+-1<<24>>24;b[g>>0]=c;c=f[a+144+((c&255)<<2)>>2]|0}e=xl(a,e,c)|0;if((e|0)!=(c|0))if((c|0)!=0?(h=b[g>>0]|0,(h&255)<8):0){b[g>>0]=h+1<<24>>24;f[a+144+((h&255)<<2)>>2]=c;c=0}else c=0;f[d>>2]=c;j=e;t=i;return j|0}function Em(a,c,e,g,h,i,j,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0;do if(!(f[c+4>>2]&256)){if(e|0?f[e+4>>2]&256|0:0){n=Zk(a,e)|0;break}l=Zk(a,c)|0;if(!l)n=Zk(a,e)|0;else n=l}else n=Zk(a,c)|0;while(0);e=Yk(e)|0;l=Yk(c)|0;if(e<<24>>24==0|l<<24>>24==0)l=(l|e)<<24>>24==0?65:(l&255)+(e&255)|0;else l=e<<24>>24>66|l<<24>>24>66?67:65;m=l|k;k=a+8|0;a=f[k>>2]|0;e=a+136|0;l=f[e>>2]|0;if((f[(f[a+12>>2]|0)+48>>2]|0)>(l|0)){f[e>>2]=l+1;c=f[a+88>>2]|0;b[c+(l*20|0)>>0]=g;d[c+(l*20|0)+2>>1]=0;f[c+(l*20|0)+4>>2]=i;f[c+(l*20|0)+8>>2]=j;f[c+(l*20|0)+12>>2]=h;f[c+(l*20|0)+16>>2]=0;b[c+(l*20|0)+1>>0]=0}else l=tl(a,g,i,j,h)|0;do if(!(b[(f[a>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[e>>2]|0)+-1|0;e=f[a+88>>2]|0;c=e+(l*20|0)+1|0;if(b[c>>0]|0){ul(a,e+(l*20|0)|0,n,-2);break}if(n|0){f[e+(l*20|0)+16>>2]=n;b[c>>0]=-2}}while(0);l=f[k>>2]|0;e=f[l+136>>2]|0;if((e|0)<=0)return;d[(f[l+88>>2]|0)+((e+-1|0)*20|0)+2>>1]=m&255;return}function Fm(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;y=t;t=t+32|0;u=y;i=b[c>>0]|0;if(i<<24>>24==-92)g=b[c+38>>0]|0;else g=i;switch(g<<24>>24){case -91:{h=c+20|0;x=6;break}case 127:{h=f[c+20>>2]|0;x=6;break}default:{}}if((x|0)==6?(s=f[f[h>>2]>>2]|0,(s|0)!=1):0){f[e>>2]=0;if(i<<24>>24==127){x=Mm(a,c,0,0)|0;t=y;return x|0}r=a+44|0;q=f[r>>2]|0;g=q+1|0;f[r>>2]=q+s;if((s|0)<=0){x=g;t=y;return x|0}k=c+20|0;l=a+23|0;m=u+20|0;n=u+4|0;o=u+8|0;p=u+24|0;q=a+8|0;j=0;do{h=f[(f[k>>2]|0)+4+(j*20|0)>>2]|0;r=j+g|0;do if(!(b[l>>0]|0))if(!h){w=xl(a,0,r)|0;x=24}else x=18;else{b[m>>0]=2;f[n>>2]=155;f[o>>2]=156;f[p>>2]=0;if(h){oi(u,h)|0;if(!(b[m>>0]|0)){x=18;break}}Pm(a,h,r)|0}while(0);do if((x|0)==18){x=0;if((b[h>>0]|0)!=-92){w=xl(a,h,r)|0;x=24;break}c=f[q>>2]|0;h=f[h+28>>2]|0;e=c+136|0;i=f[e>>2]|0;if((f[(f[c+12>>2]|0)+48>>2]|0)>(i|0)){f[e>>2]=i+1;c=f[c+88>>2]|0;b[c+(i*20|0)>>0]=78;d[c+(i*20|0)+2>>1]=0;f[c+(i*20|0)+4>>2]=h;f[c+(i*20|0)+8>>2]=r;f[c+(i*20|0)+12>>2]=0;f[c+(i*20|0)+16>>2]=0;b[c+(i*20|0)+1>>0]=0;break}else{tl(c,78,h,r,0)|0;break}}while(0);do if(((x|0)==24?(x=0,(w|0)!=(r|0)):0)?(v=f[q>>2]|0,v|0):0){h=v+136|0;e=f[h>>2]|0;if((f[(f[v+12>>2]|0)+48>>2]|0)>(e|0)){f[h>>2]=e+1;c=f[v+88>>2]|0;b[c+(e*20|0)>>0]=79;d[c+(e*20|0)+2>>1]=0;f[c+(e*20|0)+4>>2]=w;f[c+(e*20|0)+8>>2]=r;f[c+(e*20|0)+12>>2]=0;f[c+(e*20|0)+16>>2]=0;b[c+(e*20|0)+1>>0]=0;break}else{tl(v,79,w,r,0)|0;break}}while(0);j=j+1|0}while((j|0)!=(s|0));t=y;return g|0}x=Dm(a,c,e)|0;t=y;return x|0}function Gm(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=t;t=t+16|0;x=O+8|0;m=O+4|0;z=O;f[x>>2]=0;u=c+12|0;G=f[u>>2]|0;if(Hm(a,c)|0){t=O;return}N=Im(a,c)|0;i=f[u>>2]|0;h=b[i>>0]|0;if(h<<24>>24==-92)h=b[i+38>>0]|0;switch(h<<24>>24){case -91:{h=i+20|0;E=7;break}case 127:{h=f[i+20>>2]|0;E=7;break}default:F=1}if((E|0)==7)F=f[f[h>>2]>>2]|0;k=f[a>>2]|0;l=(F*5|0)+1|0;a:do if(!k){K=KA(l|0,0,-1,-1)|0;J=ba()|0;if(!(J>>>0>0|(J|0)==0&K>>>0>2147483390)){if(!(f[9328]|0)){h=ib[f[37356>>2]&255](l)|0;E=32;break}h=ib[f[37372>>2]&255](l)|0;if((f[18194]|0)>>>0>>0)f[18194]=l;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){K=f[18187]|0;J=LA(i|0,k|0,h|0,((h|0)<0)<<31>>31|0)|0;I=ba()|0;f[17976]=((I|0)<0|(I|0)==0&J>>>0<=K>>>0)&1}h=ib[f[37356>>2]&255](h)|0;if(h){i=ib[f[37368>>2]&255](h)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;E=33}else E=33}else K=0}else K=0}else{if(f[k+272>>2]|0){if(b[k+81>>0]|0){K=0;break}}else{do if(!(0<0|(0==0?(j[k+276>>1]|0)>>>0>>0:0))){i=k+300|0;h=f[i>>2]|0;if(h|0){f[i>>2]=f[h>>2];E=k+284|0;f[E>>2]=(f[E>>2]|0)+1;E=32;break a}i=k+296|0;h=f[i>>2]|0;if(!h){h=k+292|0;break}else{f[i>>2]=f[h>>2];E=k+284|0;f[E>>2]=(f[E>>2]|0)+1;E=32;break a}}else h=k+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1}h=Dc(k,l,0)|0;E=32}while(0);if((E|0)==32)if(!h)K=0;else E=33;if((E|0)==33){_A(h|0,0,l|0)|0;K=h}h=f[a>>2]|0;if(!(b[h+81>>0]|0)){I=f[a+8>>2]|0;v=(e|0)==(g|0);r=Jm(a,c,3,v?0:x,K)|0;J=Fm(a,G,m)|0;D=(F|0)>0;b:do if(D){h=0;do{if((f[K+(h<<2)>>2]|0)!=(h|0))break b;h=h+1|0}while((h|0)<(F|0))}else h=0;while(0);if((h|0)!=(F|0)){do if((F|0)==1){h=a+19|0;i=b[h>>0]|0;if(!(i<<24>>24)){H=a+44|0;i=(f[H>>2]|0)+1|0;f[H>>2]=i;break}else{i=i+-1<<24>>24;b[h>>0]=i;i=f[a+144+((i&255)<<2)>>2]|0;break}}else{h=a+32|0;i=f[h>>2]|0;k=a+28|0;l=f[k>>2]|0;if((l|0)<(F|0)){H=a+44|0;i=f[H>>2]|0;f[H>>2]=i+F;i=i+1|0;break}else{f[h>>2]=i+F;f[k>>2]=l-F;break}}while(0);if(D){k=I+136|0;l=I+12|0;m=I+88|0;h=0;do{n=h+J|0;o=(f[K+(h<<2)>>2]|0)+i|0;p=f[k>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(p|0)){f[k>>2]=p+1;H=f[m>>2]|0;b[H+(p*20|0)>>0]=78;d[H+(p*20|0)+2>>1]=0;f[H+(p*20|0)+4>>2]=n;f[H+(p*20|0)+8>>2]=o;f[H+(p*20|0)+12>>2]=0;f[H+(p*20|0)+16>>2]=0;b[H+(p*20|0)+1>>0]=0}else tl(I,78,n,o,0)|0;h=h+1|0}while((h|0)!=(F|0));H=i}else H=i}else H=J;c:do if((r|0)==5){w=f[c+20>>2]|0;v=Zk(a,f[u>>2]|0)|0;x=I+12|0;h=f[x>>2]|0;o=h+60|0;c=f[o>>2]|0;f[o>>2]=c+1;o=h+64|0;if(!(c+-1&c)){m=c<<3|4;n=f[h>>2]|0;h=f[o>>2]|0;d:do if(h){k=h;l=n+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;i=Lc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Kc(n,h);h=0;break}if((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0){G=n+300|0;f[h>>2]=f[G>>2];f[G>>2]=h;h=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);h=0;break}else{G=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);h=0;break}}else h=i}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){h=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;h=f[i>>2]|0;if(h|0){f[i>>2]=f[h>>2];G=n+284|0;f[G>>2]=(f[G>>2]|0)+1;break d}i=n+296|0;h=f[i>>2]|0;if(!h){h=n+292|0;break}else{f[i>>2]=f[h>>2];G=n+284|0;f[G>>2]=(f[G>>2]|0)+1;break d}}else h=n+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1}h=Dc(n,m,0)|0}while(0);f[o>>2]=h}else h=f[o>>2]|0;if(h|0)f[h+(c<<2)>>2]=-1;s=~c;u=(g|0)!=(e|0);do if(u){h=a+19|0;i=b[h>>0]|0;if(!(i<<24>>24)){G=a+44|0;h=(f[G>>2]|0)+1|0;f[G>>2]=h}else{G=i+-1<<24>>24;b[h>>0]=G;h=f[a+144+((G&255)<<2)>>2]|0}i=I+136|0;k=f[i>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;r=f[I+88>>2]|0;b[r+(k*20|0)>>0]=92;d[r+(k*20|0)+2>>1]=0;f[r+(k*20|0)+4>>2]=H;f[r+(k*20|0)+8>>2]=H;f[r+(k*20|0)+12>>2]=h;f[r+(k*20|0)+16>>2]=0;b[r+(k*20|0)+1>>0]=0;r=h;break}else{tl(I,92,H,H,h)|0;r=h;break}}else r=0;while(0);if((f[w>>2]|0)>0){m=(r|0)==0;n=I+136|0;o=I+88|0;p=a+19|0;q=(v|0)==0;l=0;do{h=w+4+(l*20|0)|0;k=Dm(a,f[h>>2]|0,z)|0;e:do if(!m){h=f[h>>2]|0;i=b[h>>0]|0;if((i+95&255)<2)do{h=f[h+12>>2]|0;i=b[h>>0]|0}while((i+95&255)<2);if(i<<24>>24==-92)i=b[h+38>>0]|0;f:do switch(i<<24>>24){case -114:case -115:case 106:case -113:break e;case -98:{if(f[h+4>>2]&1048576|0)break f;i=f[h+44>>2]|0;if(!i)break f;h=d[h+32>>1]|0;if(h<<16>>16<=-1)break e;if(b[(f[i+4>>2]|0)+(h<<16>>16<<4)+12>>0]|0)break e;break}default:{}}while(0);h=f[n>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(h|0)){f[n>>2]=h+1;G=f[o>>2]|0;b[G+(h*20|0)>>0]=92;d[G+(h*20|0)+2>>1]=0;f[G+(h*20|0)+4>>2]=r;f[G+(h*20|0)+8>>2]=k;f[G+(h*20|0)+12>>2]=r;f[G+(h*20|0)+16>>2]=0;b[G+(h*20|0)+1>>0]=0;break}else{tl(I,92,r,k,r)|0;break}}while(0);h=f[n>>2]|0;i=(f[(f[x>>2]|0)+48>>2]|0)>(h|0);do if(u|(l|0)<((f[w>>2]|0)+-1|0)){if(i){f[n>>2]=h+1;G=f[o>>2]|0;b[G+(h*20|0)>>0]=53;d[G+(h*20|0)+2>>1]=0;f[G+(h*20|0)+4>>2]=H;f[G+(h*20|0)+8>>2]=s;f[G+(h*20|0)+12>>2]=k;f[G+(h*20|0)+16>>2]=0;b[G+(h*20|0)+1>>0]=0}else h=tl(I,53,H,s,k)|0;do if(!(b[(f[I>>2]|0)+81>>0]|0)){if((h|0)<0)h=(f[n>>2]|0)+-1|0;i=f[o>>2]|0;k=i+(h*20|0)+1|0;if(b[k>>0]|0){ul(I,i+(h*20|0)|0,v,-2);break}if(q)break;f[i+(h*20|0)+16>>2]=v;b[k>>0]=-2}while(0);h=f[n>>2]|0;if((h|0)<=0)break;d[(f[o>>2]|0)+((h+-1|0)*20|0)+2>>1]=b[N>>0]|0}else{if(i){f[n>>2]=h+1;G=f[o>>2]|0;b[G+(h*20|0)>>0]=52;d[G+(h*20|0)+2>>1]=0;f[G+(h*20|0)+4>>2]=H;f[G+(h*20|0)+8>>2]=e;f[G+(h*20|0)+12>>2]=k;f[G+(h*20|0)+16>>2]=0;b[G+(h*20|0)+1>>0]=0}else h=tl(I,52,H,e,k)|0;do if(!(b[(f[I>>2]|0)+81>>0]|0)){if((h|0)<0)h=(f[n>>2]|0)+-1|0;i=f[o>>2]|0;k=i+(h*20|0)+1|0;if(b[k>>0]|0){ul(I,i+(h*20|0)|0,v,-2);break}if(q)break;f[i+(h*20|0)+16>>2]=v;b[k>>0]=-2}while(0);h=f[n>>2]|0;if((h|0)<=0)break;d[(f[o>>2]|0)+((h+-1|0)*20|0)+2>>1]=(b[N>>0]|16)<<24>>24}while(0);h=f[z>>2]|0;if(h|0?(y=b[p>>0]|0,(y&255)<8):0){b[p>>0]=y+1<<24>>24;f[a+144+((y&255)<<2)>>2]=h}l=l+1|0}while((l|0)<(f[w>>2]|0))}k=(r|0)==0;do if(!k){i=I+136|0;h=f[i>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(h|0)){f[i>>2]=h+1;G=f[I+88>>2]|0;b[G+(h*20|0)>>0]=50;d[G+(h*20|0)+2>>1]=0;f[G+(h*20|0)+4>>2]=r;f[G+(h*20|0)+8>>2]=g;f[G+(h*20|0)+12>>2]=0;f[G+(h*20|0)+16>>2]=0;b[G+(h*20|0)+1>>0]=0}else tl(I,50,r,g,0)|0;h=f[i>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(h|0)){f[i>>2]=h+1;g=f[I+88>>2]|0;b[g+(h*20|0)>>0]=11;d[g+(h*20|0)+2>>1]=0;f[g+(h*20|0)+4>>2]=0;f[g+(h*20|0)+8>>2]=e;f[g+(h*20|0)+12>>2]=0;f[g+(h*20|0)+16>>2]=0;b[g+(h*20|0)+1>>0]=0;break}else{tl(I,11,0,e,0)|0;break}}while(0);h=f[(f[x>>2]|0)+64>>2]|0;if(h|0)f[h+(c<<2)>>2]=f[I+136>>2];if(!k?(A=a+19|0,C=b[A>>0]|0,(C&255)<8):0){b[A>>0]=C+1<<24>>24;f[a+144+((C&255)<<2)>>2]=r}}else{if(v){l=e;q=0}else{h=f[I+12>>2]|0;o=h+60|0;p=f[o>>2]|0;f[o>>2]=p+1;o=h+64|0;if(!(p+-1&p)){m=p<<3|4;n=f[h>>2]|0;h=f[o>>2]|0;g:do if(h){k=h;l=n+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;i=Lc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Kc(n,h);h=0;break}do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;C=n+300|0;f[h>>2]=f[C>>2];f[C>>2]=h;h=0;break g}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](h);h=0;break}else{C=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);h=0;break}}else h=i}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){h=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;h=f[i>>2]|0;if(h|0){f[i>>2]=f[h>>2];C=n+284|0;f[C>>2]=(f[C>>2]|0)+1;break g}i=n+296|0;h=f[i>>2]|0;if(!h){h=n+292|0;break}else{f[i>>2]=f[h>>2];C=n+284|0;f[C>>2]=(f[C>>2]|0)+1;break g}}else h=n+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1}h=Dc(n,m,0)|0}while(0);f[o>>2]=h}else h=f[o>>2]|0;if(h|0)f[h+(p<<2)>>2]=-1;q=~p;l=q}h:do if(D){n=I+136|0;o=I+12|0;p=I+88|0;m=0;while(1){h=f[u>>2]|0;k=b[h>>0]|0;if(k<<24>>24==-92)i=b[h+38>>0]|0;else i=k;switch(i<<24>>24){case -91:{i=h+20|0;E=186;break}case 127:{i=f[h+20>>2]|0;E=186;break}default:{}}do if((E|0)==186){E=0;if((f[f[i>>2]>>2]|0)>=2){if(k<<24>>24!=127?(b[h+38>>0]|0)!=127:0){h=f[(f[h+20>>2]|0)+4+(m*20|0)>>2]|0;break}h=f[(f[f[h+20>>2]>>2]|0)+4+(m*20|0)>>2]|0}}while(0);i=b[h>>0]|0;if((i+95&255)<2)do{h=f[h+12>>2]|0;i=b[h>>0]|0}while((i+95&255)<2);if(i<<24>>24==-92)i=b[h+38>>0]|0;switch(i<<24>>24){case -114:case -115:case 106:case -113:break;case -98:{if((f[h+4>>2]&1048576|0)==0?(s=f[h+44>>2]|0,(s|0)!=0):0){C=d[h+32>>1]|0;if(C<<16>>16>-1?(b[(f[s+4>>2]|0)+(C<<16>>16<<4)+12>>0]|0)==0:0)E=201}else E=201;break}default:E=201}do if((E|0)==201){E=0;h=m+H|0;i=f[n>>2]|0;if((f[(f[o>>2]|0)+48>>2]|0)>(i|0)){f[n>>2]=i+1;C=f[p>>2]|0;b[C+(i*20|0)>>0]=50;d[C+(i*20|0)+2>>1]=0;f[C+(i*20|0)+4>>2]=h;f[C+(i*20|0)+8>>2]=l;f[C+(i*20|0)+12>>2]=0;f[C+(i*20|0)+16>>2]=0;b[C+(i*20|0)+1>>0]=0;break}else{tl(I,50,h,l,0)|0;break}}while(0);m=m+1|0;if((m|0)==(F|0))break h}}while(0);do if((r|0)==1){h=f[c+28>>2]|0;k=I+136|0;i=f[k>>2]|0;l=I+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(i|0)){f[k>>2]=i+1;C=f[I+88>>2]|0;b[C+(i*20|0)>>0]=30;d[C+(i*20|0)+2>>1]=0;f[C+(i*20|0)+4>>2]=h;f[C+(i*20|0)+8>>2]=e;f[C+(i*20|0)+12>>2]=H;f[C+(i*20|0)+16>>2]=0;b[C+(i*20|0)+1>>0]=0}else tl(I,30,h,e,H)|0;h=f[k>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(h|0)){f[k>>2]=h+1;i=f[I+88>>2]|0;b[i+(h*20|0)>>0]=11;i=i+(h*20|0)+1|0;k=i+19|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(k|0));break}else{h=tl(I,11,0,0,0)|0;break}}else{m=I+136|0;h=f[m>>2]|0;l=I+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(h|0)){f[m>>2]=h+1;C=f[I+88>>2]|0;b[C+(h*20|0)>>0]=91;d[C+(h*20|0)+2>>1]=0;f[C+(h*20|0)+4>>2]=H;f[C+(h*20|0)+8>>2]=F;f[C+(h*20|0)+12>>2]=0;f[C+(h*20|0)+16>>2]=0;b[C+(h*20|0)+1>>0]=0}else h=tl(I,91,H,F,0)|0;i=f[I>>2]|0;do if(b[i+81>>0]|0){if((F|0)!=-12)qg(i,F,N)}else{if((h|0)<0)h=(f[m>>2]|0)+-1|0;i=f[I+88>>2]|0;k=i+(h*20|0)|0;if((F|0)<=-1?(w=i+(h*20|0)+1|0,(b[w>>0]|0)==0):0){if((F|0)==-3){f[i+(h*20|0)+16>>2]=N;b[w>>0]=-3;break}if(!N)break;f[i+(h*20|0)+16>>2]=N;b[w>>0]=F;if((F|0)!=-12)break;C=N+12|0;f[C>>2]=(f[C>>2]|0)+1;break}ul(I,k,N,F)}while(0);k=f[c+28>>2]|0;h=f[m>>2]|0;i=(f[(f[l>>2]|0)+48>>2]|0)>(h|0);if(v){if(i){f[m>>2]=h+1;g=f[I+88>>2]|0;b[g+(h*20|0)>>0]=28;d[g+(h*20|0)+2>>1]=0;f[g+(h*20|0)+4>>2]=k;f[g+(h*20|0)+8>>2]=e;f[g+(h*20|0)+12>>2]=H;f[g+(h*20|0)+16>>2]=0;b[g+(h*20|0)+1>>0]=0}else h=tl(I,28,k,e,H)|0;if(b[(f[I>>2]|0)+81>>0]|0)break c;e=f[I+88>>2]|0;b[e+(h*20|0)+1>>0]=-3;f[e+(h*20|0)+16>>2]=F;break c}else{if(i){f[m>>2]=h+1;C=f[I+88>>2]|0;b[C+(h*20|0)>>0]=29;d[C+(h*20|0)+2>>1]=0;f[C+(h*20|0)+4>>2]=k;f[C+(h*20|0)+8>>2]=0;f[C+(h*20|0)+12>>2]=H;f[C+(h*20|0)+16>>2]=0;b[C+(h*20|0)+1>>0]=0}else h=tl(I,29,k,0,H)|0;if(b[(f[I>>2]|0)+81>>0]|0)break;C=f[I+88>>2]|0;b[C+(h*20|0)+1>>0]=-3;f[C+(h*20|0)+16>>2]=F;break}}while(0);i=f[x>>2]|0;do if((F|0)==1&(i|0)!=0){k=I+136|0;l=f[k>>2]|0;if((f[(f[I+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;C=f[I+88>>2]|0;b[C+(l*20|0)>>0]=51;d[C+(l*20|0)+2>>1]=0;f[C+(l*20|0)+4>>2]=i;f[C+(l*20|0)+8>>2]=e;f[C+(l*20|0)+12>>2]=0;f[C+(l*20|0)+16>>2]=0;b[C+(l*20|0)+1>>0]=0;break}else{tl(I,51,i,e,0)|0;break}}while(0);do if(v){i=I+136|0;k=f[i>>2]|0;if((f[(f[I+12>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;C=f[I+88>>2]|0;b[C+(k*20|0)>>0]=11;d[C+(k*20|0)+2>>1]=0;f[C+(k*20|0)+4>>2]=0;f[C+(k*20|0)+8>>2]=e;f[C+(k*20|0)+12>>2]=0;f[C+(k*20|0)+16>>2]=0;b[C+(k*20|0)+1>>0]=0;break}else{tl(I,11,0,e,0)|0;break}}while(0);A=I+12|0;l=f[A>>2]|0;if(q|0?(B=f[l+64>>2]|0,B|0):0)f[B+(~q<<2)>>2]=f[I+136>>2];y=c+28|0;i=f[y>>2]|0;z=I+136|0;k=f[z>>2]|0;if((f[l+48>>2]|0)>(k|0)){f[z>>2]=k+1;C=f[I+88>>2]|0;b[C+(k*20|0)>>0]=36;d[C+(k*20|0)+2>>1]=0;f[C+(k*20|0)+4>>2]=i;f[C+(k*20|0)+8>>2]=e;f[C+(k*20|0)+12>>2]=0;f[C+(k*20|0)+16>>2]=0;b[C+(k*20|0)+1>>0]=0}else k=tl(I,36,i,e,0)|0;c=(F|0)>1;if(c){i=f[A>>2]|0;q=i+60|0;r=f[q>>2]|0;f[q>>2]=r+1;q=i+64|0;if(!(r+-1&r)){o=r<<3|4;p=f[i>>2]|0;i=f[q>>2]|0;i:do if(i){m=i;n=p+304|0;do if((f[n>>2]|0)>>>0<=m>>>0){if((f[p+308>>2]|0)>>>0<=m>>>0)break;if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0)))break i}while(0);l=Lc(p,i,o,0)|0;if(l|0){i=l;break}if(f[p+480>>2]|0){Kc(p,i);i=0;break}do if((f[n>>2]|0)>>>0<=m>>>0){if((f[p+308>>2]|0)>>>0<=m>>>0)break;C=p+300|0;f[i>>2]=f[C>>2];f[C>>2]=i;i=0;break i}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{C=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){l=p+300|0;i=f[l>>2]|0;if(i|0){f[l>>2]=f[i>>2];C=p+284|0;f[C>>2]=(f[C>>2]|0)+1;break i}l=p+296|0;i=f[l>>2]|0;if(!i){i=p+292|0;break}else{f[l>>2]=f[i>>2];C=p+284|0;f[C>>2]=(f[C>>2]|0)+1;break i}}else i=p+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(p,o,0)|0}while(0);f[q>>2]=i}else i=f[q>>2]|0;if(i|0)f[i+(r<<2)>>2]=-1;x=~r}else x=e;j:do if(D){q=a+19|0;r=a+44|0;s=G+38|0;u=G+20|0;v=G+20|0;w=I+88|0;p=0;while(1){i=b[q>>0]|0;if(!(i<<24>>24)){o=(f[r>>2]|0)+1|0;f[r>>2]=o}else{o=i+-1<<24>>24;b[q>>0]=o;o=f[a+144+((o&255)<<2)>>2]|0}l=b[G>>0]|0;if(l<<24>>24==-92)i=b[s>>0]|0;else i=l;switch(i<<24>>24){case -91:{i=u;E=293;break}case 127:{i=f[v>>2]|0;E=293;break}default:i=G}k:do if((E|0)==293){E=0;if((f[f[i>>2]>>2]|0)<2){i=G;break}do if(l<<24>>24!=127){if((b[s>>0]|0)==127)break;i=f[(f[u>>2]|0)+4+(p*20|0)>>2]|0;break k}while(0);i=f[(f[f[v>>2]>>2]|0)+4+(p*20|0)>>2]|0}while(0);n=Zk(a,i)|0;i=f[y>>2]|0;l=f[z>>2]|0;if((f[(f[A>>2]|0)+48>>2]|0)>(l|0)){f[z>>2]=l+1;D=f[w>>2]|0;b[D+(l*20|0)>>0]=90;d[D+(l*20|0)+2>>1]=0;f[D+(l*20|0)+4>>2]=i;f[D+(l*20|0)+8>>2]=p;f[D+(l*20|0)+12>>2]=o;f[D+(l*20|0)+16>>2]=0;b[D+(l*20|0)+1>>0]=0}else tl(I,90,i,p,o)|0;l=p+H|0;i=f[z>>2]|0;if((f[(f[A>>2]|0)+48>>2]|0)>(i|0)){f[z>>2]=i+1;D=f[w>>2]|0;b[D+(i*20|0)>>0]=52;d[D+(i*20|0)+2>>1]=0;f[D+(i*20|0)+4>>2]=l;f[D+(i*20|0)+8>>2]=x;f[D+(i*20|0)+12>>2]=o;f[D+(i*20|0)+16>>2]=0;b[D+(i*20|0)+1>>0]=0}else i=tl(I,52,l,x,o)|0;do if(!(b[(f[I>>2]|0)+81>>0]|0)){if((i|0)<0)i=(f[z>>2]|0)+-1|0;l=f[w>>2]|0;m=l+(i*20|0)+1|0;if(b[m>>0]|0){ul(I,l+(i*20|0)|0,n,-2);break}if(!n)break;f[l+(i*20|0)+16>>2]=n;b[m>>0]=-2}while(0);do if(o|0){i=b[q>>0]|0;if((i&255)>=8)break;b[q>>0]=i+1<<24>>24;f[a+144+((i&255)<<2)>>2]=o}while(0);p=p+1|0;if((p|0)==(F|0))break j}}while(0);i=f[z>>2]|0;if((f[(f[A>>2]|0)+48>>2]|0)>(i|0)){f[z>>2]=i+1;G=f[I+88>>2]|0;b[G+(i*20|0)>>0]=11;d[G+(i*20|0)+2>>1]=0;f[G+(i*20|0)+4>>2]=0;f[G+(i*20|0)+8>>2]=g;f[G+(i*20|0)+12>>2]=0;f[G+(i*20|0)+16>>2]=0;b[G+(i*20|0)+1>>0]=0}else tl(I,11,0,g,0)|0;do if(c){m=f[A>>2]|0;i=f[m+64>>2]|0;if(i|0)f[i+(~x<<2)>>2]=f[z>>2];l=f[y>>2]|0;i=k+1|0;k=f[z>>2]|0;if((f[m+48>>2]|0)>(k|0)){f[z>>2]=k+1;g=f[I+88>>2]|0;b[g+(k*20|0)>>0]=5;d[g+(k*20|0)+2>>1]=0;f[g+(k*20|0)+4>>2]=l;f[g+(k*20|0)+8>>2]=i;f[g+(k*20|0)+12>>2]=0;f[g+(k*20|0)+16>>2]=0;b[g+(k*20|0)+1>>0]=0}else tl(I,5,l,i,0)|0;i=f[z>>2]|0;if((f[(f[A>>2]|0)+48>>2]|0)>(i|0)){f[z>>2]=i+1;g=f[I+88>>2]|0;b[g+(i*20|0)>>0]=11;d[g+(i*20|0)+2>>1]=0;f[g+(i*20|0)+4>>2]=0;f[g+(i*20|0)+8>>2]=e;f[g+(i*20|0)+12>>2]=0;f[g+(i*20|0)+16>>2]=0;b[g+(i*20|0)+1>>0]=0;break}else{tl(I,11,0,e,0)|0;break}}while(0);i=f[z>>2]|0;if(!(b[(f[I>>2]|0)+81>>0]|0))h=(f[I+88>>2]|0)+(((h|0)<0?i+-1|0:h)*20|0)|0;else h=72144;f[h+8>>2]=i}while(0);if(!((H|0)==(J|0)|(H|0)==0)?(L=a+19|0,M=b[L>>0]|0,(M&255)<8):0){b[L>>0]=M+1<<24>>24;f[a+144+((M&255)<<2)>>2]=H}h=f[a>>2]|0}do if(K|0){if(h|0){if(f[h+480>>2]|0){Kc(h,K);break}M=K;if((f[h+304>>2]|0)>>>0<=M>>>0?(f[h+308>>2]|0)>>>0>M>>>0:0){M=h+300|0;f[K>>2]=f[M>>2];f[M>>2]=K;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](K);break}else{M=ib[f[37368>>2]&255](K)|0;f[18187]=(f[18187]|0)-M;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](K);break}}while(0);h=f[a>>2]|0;if(!N){t=O;return}if(h|0){if(f[h+480>>2]|0){Kc(h,N);t=O;return}a=N;if((f[h+304>>2]|0)>>>0<=a>>>0?(f[h+308>>2]|0)>>>0>a>>>0:0){a=h+300|0;f[N>>2]=f[a>>2];f[a>>2]=N;t=O;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](N);t=O;return}else{a=ib[f[37368>>2]&255](N)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](N);t=O;return}}function Hm(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=t;t=t+32|0;i=l+16|0;h=l+8|0;k=l;g=f[c+12>>2]|0;d=b[g>>0]|0;if(d<<24>>24==-92)d=b[g+38>>0]|0;switch(d<<24>>24){case -91:{d=g+20|0;j=6;break}case 127:{d=f[g+20>>2]|0;j=6;break}default:e=1}if((j|0)==6)e=f[f[d>>2]>>2]|0;if(f[c+4>>2]&2048|0){d=f[f[f[c+20>>2]>>2]>>2]|0;if((e|0)==(d|0)){k=0;t=l;return k|0}f[k>>2]=d;f[k+4>>2]=e;ni(a,54847,k);k=1;t=l;return k|0}if((e|0)==1){k=0;t=l;return k|0}if(!(f[g+4>>2]&2048)){ni(a,49666,i);k=1;t=l;return k|0}else{f[h>>2]=f[f[f[g+20>>2]>>2]>>2];f[h+4>>2]=1;ni(a,54847,h);k=1;t=l;return k|0}return 0}function Im(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;n=f[c+12>>2]|0;d=b[n>>0]|0;if(d<<24>>24==-92)d=b[n+38>>0]|0;switch(d<<24>>24){case -91:{d=n+20|0;l=6;break}case 127:{d=f[n+20>>2]|0;l=6;break}default:m=1}if((l|0)==6)m=f[f[d>>2]>>2]|0;if(!(f[c+4>>2]&2048))k=0;else k=f[c+20>>2]|0;a=f[a>>2]|0;g=m+1|0;e=((g|0)<0)<<31>>31;a:do if(!a){i=KA(g|0,e|0,-1,-1)|0;h=ba()|0;if(h>>>0>0|(h|0)==0&i>>>0>2147483390){n=0;return n|0}if(!(f[9328]|0)){d=ib[f[37356>>2]&255](g)|0;l=33;break}a=ib[f[37372>>2]&255](g)|0;if((f[18194]|0)>>>0>>0)f[18194]=g;c=71896;d=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&d>>>0>0){i=f[18187]|0;h=LA(d|0,c|0,a|0,((a|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&h>>>0<=i>>>0)&1}d=ib[f[37356>>2]&255](a)|0;if(!d){n=0;return n|0}c=ib[f[37368>>2]&255](d)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){n=0;return n|0}}else{do if(!(0>>0|(0==(e|0)?(j[a+276>>1]|0)>>>0>>0:0))){c=a+300|0;d=f[c>>2]|0;if(d|0){f[c>>2]=f[d>>2];l=a+284|0;f[l>>2]=(f[l>>2]|0)+1;l=33;break a}c=a+296|0;d=f[c>>2]|0;if(!d){d=a+292|0;break}else{f[c>>2]=f[d>>2];l=a+284|0;f[l>>2]=(f[l>>2]|0)+1;l=33;break a}}else d=a+288|0;while(0);f[d>>2]=(f[d>>2]|0)+1}d=Dc(a,g,e)|0;l=33}while(0);if((l|0)==33)if(!d){n=0;return n|0}b:do if((m|0)>0){g=n+38|0;h=n+20|0;i=n+20|0;if(!k){e=0;while(1){a=b[n>>0]|0;if(a<<24>>24==-92)c=b[g>>0]|0;else c=a;switch(c<<24>>24){case -91:{c=h;l=42;break}case 127:{c=f[i>>2]|0;l=42;break}default:c=n}do if((l|0)==42){l=0;if((f[f[c>>2]>>2]|0)<2)c=n;else{if(a<<24>>24!=127?(b[g>>0]|0)!=127:0){c=f[(f[h>>2]|0)+4+(e*20|0)>>2]|0;break}c=f[(f[f[i>>2]>>2]|0)+4+(e*20|0)>>2]|0}}while(0);k=Yk(c)|0;b[d+e>>0]=k;e=e+1|0;if((e|0)==(m|0))break b}}e=0;while(1){a=b[n>>0]|0;if(a<<24>>24==-92)c=b[g>>0]|0;else c=a;switch(c<<24>>24){case -91:{c=h;l=52;break}case 127:{c=f[i>>2]|0;l=52;break}default:c=n}do if((l|0)==52){l=0;if((f[f[c>>2]>>2]|0)<2)c=n;else{if(a<<24>>24!=127?(b[g>>0]|0)!=127:0){c=f[(f[h>>2]|0)+4+(e*20|0)>>2]|0;break}c=f[(f[f[i>>2]>>2]|0)+4+(e*20|0)>>2]|0}}while(0);c=Yk(c)|0;a=Yk(f[(f[k>>2]|0)+4+(e*20|0)>>2]|0)|0;if(c<<24>>24==0|a<<24>>24==0)c=(a|c)<<24>>24==0?65:(a&255)+(c&255)&255;else c=c<<24>>24>66|a<<24>>24>66?67:65;b[d+e>>0]=c;e=e+1|0;if((e|0)==(m|0))break b}}while(0);b[d+m>>0]=0;n=d;return n|0}function Jm(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;T=t;t=t+48|0;O=T+16|0;v=T+8|0;s=T;M=T+20|0;P=a+40|0;S=f[P>>2]|0;f[P>>2]=S+1;P=a+8|0;k=f[P>>2]|0;if(!k){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;R=sl(a)|0}else R=k;N=(e&4|0)!=0;if(g)if(!(f[c+4>>2]&2048))L=g;else{n=f[f[c+20>>2]>>2]|0;o=f[n>>2]|0;a:do if((o|0)>0){k=0;while(1){l=f[n+4+(k*20|0)>>2]|0;m=b[l>>0]|0;if((m+95&255)<2)do{l=f[l+12>>2]|0;m=b[l>>0]|0}while((m+95&255)<2);if(m<<24>>24==-92)m=b[l+38>>0]|0;switch(m<<24>>24){case -114:case -115:case 106:case -113:break;case -98:{if(f[l+4>>2]&1048576|0)break a;m=f[l+44>>2]|0;if(!m)break a;L=d[l+32>>1]|0;if(L<<16>>16>-1?(b[(f[m+4>>2]|0)+(L<<16>>16<<4)+12>>0]|0)==0:0)break a;break}default:break a}k=k+1|0;if((k|0)>=(o|0))break a}}else k=0;while(0);L=(k|0)==(o|0)?0:g}else L=0;b:do if(((((((((f[a+36>>2]|0)==0?(f[c+4>>2]&2080|0)==2048:0)?(q=f[c+20>>2]|0,(f[q+52>>2]|0)==0):0)?(f[q+8>>2]&9|0)==0:0)?(f[q+60>>2]|0)==0:0)?(f[q+36>>2]|0)==0:0)?(p=f[q+32>>2]|0,(f[p>>2]|0)==1):0)?(f[p+28>>2]|0)==0:0)?(w=f[p+24>>2]|0,(f[w+56>>2]|0)==0):0){H=f[q>>2]|0;I=f[H>>2]|0;J=(I|0)>0;if(J){k=0;do{if((b[f[H+4+(k*20|0)>>2]>>0]|0)!=-98){Q=175;break b}k=k+1|0}while((k|0)<(I|0));if(!q){Q=175;break}}l=f[w+72>>2]|0;if(!l)k=-1e6;else{m=f[(f[a>>2]|0)+16>>2]|0;k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0))break;else k=k+1|0}n=k<<16;K=n>>16;o=f[a+116>>2]|0;o=(o|0)==0?a:o;k=o+84|0;l=f[k>>2]|0;m=1<>2]=m|l,(n|0)==65536):0)?(u=f[o>>2]|0,r=u+16|0,(f[(f[r>>2]|0)+20>>2]|0)==0):0)?(b[o+195>>0]|0)==0:0){k=cj(f[u>>2]|0,0,u,M,0,542)|0;if(k|0){ni(o,51535,s);f[o+12>>2]=k;break}G=f[M>>2]|0;f[(f[r>>2]|0)+20>>2]=G;k=f[u+92>>2]|0;n=f[G+4>>2]|0;f[n+4>>2]=f[G>>2];do if(!(d[n+22>>1]&2)){o=n+32|0;g=n+36|0;p=(f[o>>2]|0)-(f[g>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[o>>2]=k;m=n+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;G=(f[18026]|0)+1|0;f[18026]=G;f[18027]=(G|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;Q=54;break}else{k=ib[f[37368>>2]&255](l)|0;Q=54}while(0);do if((Q|0)==54){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{G=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);G=ih(f[n>>2]|0,o,p)|0;f[g>>2]=(f[o>>2]|0)-(p&65535);if((G|0)!=7)break;k=u+81|0;do if(!(b[k>>0]|0)){if(b[u+82>>0]|0)break;b[k>>0]=1;if((f[u+180>>2]|0)>0)f[u+264>>2]=1;G=u+272|0;f[G>>2]=(f[G>>2]|0)+1}while(0);break c}while(0)}while(0);nm(a,K,f[w+28>>2]|0,0,f[w>>2]|0);G=(I|0)==1;if(G?(d[(f[H+4>>2]|0)+32>>1]|0)<0:0){l=R+136|0;k=f[l>>2]|0;if((f[(f[R+12>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;m=f[R+88>>2]|0;b[m+(k*20|0)>>0]=17;m=m+(k*20|0)+1|0;n=m+19|0;do{b[m>>0]=0;m=m+1|0}while((m|0)<(n|0))}else k=tl(R,17,0,0,0)|0;vl(a,S,K,w,109);f[v>>2]=f[w>>2];Km(a,0,54723,v);l=f[l>>2]|0;if(!(b[(f[R>>2]|0)+81>>0]|0))k=(f[R+88>>2]|0)+(((k|0)<0?l+-1|0:k)*20|0)|0;else k=72144;f[k+8>>2]=l;k=1;Q=186;break}if(J){q=f[c+12>>2]|0;g=b[q>>0]|0;p=q+38|0;r=q+20|0;s=q+20|0;u=w+4|0;v=g<<24>>24==127;d:do if(g<<24>>24==-92){o=1;g=0;l=b[p>>0]|0;while(1){switch(l<<24>>24){case -91:{k=r;Q=80;break}case 127:{k=f[s>>2]|0;Q=80;break}default:n=q}e:do if((Q|0)==80){Q=0;if((f[f[k>>2]>>2]|0)<2){n=q;break}do if(v)k=l;else{if(l<<24>>24==127){k=127;break}n=f[(f[r>>2]|0)+4+(g*20|0)>>2]|0;break e}while(0);n=f[(f[f[s>>2]>>2]|0)+4+(g*20|0)>>2]|0;l=k}while(0);k=d[(f[H+4+(g*20|0)>>2]|0)+32>>1]|0;if(k<<16>>16>-1)m=b[(f[u>>2]|0)+(k<<16>>16<<4)+13>>0]|0;else m=68;k=Yk(n)|0;if(m<<24>>24==0|k<<24>>24==0)k=(k|m)<<24>>24==0?65:(k&255)+(m&255)|0;else k=m<<24>>24>66|k<<24>>24>66?67:65;o=((k<<24>>24)+-65|0)>>>0<2?o:m<<24>>24>66&1;g=g+1|0;k=(o|0)!=0;if(!((g|0)<(I|0)&k))break d}}else{n=1;o=0;while(1){switch(g<<24>>24){case -91:{k=r;Q=93;break}case 127:{k=f[s>>2]|0;Q=93;break}default:l=q}f:do if((Q|0)==93){Q=0;if((f[f[k>>2]>>2]|0)<2){l=q;break}do if(!v){if((b[p>>0]|0)==127)break;l=f[(f[r>>2]|0)+4+(o*20|0)>>2]|0;break f}while(0);l=f[(f[f[s>>2]>>2]|0)+4+(o*20|0)>>2]|0}while(0);k=d[(f[H+4+(o*20|0)>>2]|0)+32>>1]|0;if(k<<16>>16>-1)m=b[(f[u>>2]|0)+(k<<16>>16<<4)+13>>0]|0;else m=68;k=Yk(l)|0;if(m<<24>>24==0|k<<24>>24==0)k=(k|m)<<24>>24==0?65:(k&255)+(m&255)|0;else k=m<<24>>24>66|k<<24>>24>66?67:65;n=((k<<24>>24)+-65|0)>>>0<2?n:m<<24>>24>66&1;o=o+1|0;k=(n|0)!=0;if(!((o|0)<(I|0)&k))break d}}while(0);if(!k){Q=175;break}}k=f[w+8>>2]|0;if(k){w=WA(1,0,I|0)|0;w=KA(w|0,ba()|0,-1,-1)|0;x=ba()|0;y=c+12|0;z=(i|0)==0;D=R+136|0;A=R+12|0;F=R+88|0;C=(L|0)==0;E=a+44|0;B=k;g:while(1){v=d[B+52>>1]|0;k=v&65535;h:do if(!((v&65535)>62|(I|0)>(k|0))){do if(N){if((I|0)<(j[B+50>>1]|0))break h;if((I|0)>=(k|0))break;if(!(b[B+54>>0]|0))break h}while(0);i:do if(J){u=B+4|0;v=B+32|0;s=0;l=0;k=0;while(1){m=f[y>>2]|0;o=b[m>>0]|0;if(o<<24>>24==-92)n=b[m+38>>0]|0;else n=o;switch(n<<24>>24){case -91:{n=m+20|0;Q=119;break}case 127:{n=f[m+20>>2]|0;Q=119;break}default:{}}j:do if((Q|0)==119){if((f[f[n>>2]>>2]|0)<2)break;do if(o<<24>>24!=127){if((b[m+38>>0]|0)==127)break;m=f[(f[m+20>>2]|0)+4+(s*20|0)>>2]|0;break j}while(0);m=f[(f[f[m+20>>2]>>2]|0)+4+(s*20|0)>>2]|0}while(0);n=f[H+4+(s*20|0)>>2]|0;k:do if(!(f[m+4>>2]&256)){do if(n|0){if(!(f[n+4>>2]&256))break;m=Zk(a,n)|0;Q=132;break k}while(0);m=Zk(a,m)|0;if(!m){m=Zk(a,n)|0;Q=132;break}else{r=f[u>>2]|0;q=d[n+32>>1]|0;Q=136;break}}else{m=Zk(a,m)|0;Q=132}while(0);l:do if((Q|0)==132){Q=0;o=f[u>>2]|0;n=d[n+32>>1]|0;if(m|0){r=o;q=n;Q=136;break}m=0;do{if((d[o+(m<<1)>>1]|0)==n<<16>>16)break l;m=m+1|0}while((m|0)<(I|0))}while(0);m:do if((Q|0)==136){Q=0;n=0;while(1){if((d[r+(n<<1)>>1]|0)==q<<16>>16){g=f[m>>2]|0;p=f[(f[v>>2]|0)+(n<<2)>>2]|0;U=b[g>>0]|0;o=(h[1232+(U&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0;if(!(U<<24>>24==0|(o|0)!=0))do{g=g+1|0;p=p+1|0;U=b[g>>0]|0;o=(h[1232+(U&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0}while(!(U<<24>>24==0|(o|0)!=0));if(!o){m=n;break m}}n=n+1|0;if((n|0)>=(I|0)){m=n;break}}}while(0);if((m|0)==(I|0))break i;n=WA(1,0,m|0)|0;o=ba()|0;if(!((n&l|0)==0&(o&k|0)==0))break i;l=n|l;k=o|k;if(!z)f[i+(s<<2)>>2]=m;s=s+1|0;if((s|0)>=(I|0))break i}}else{l=0;k=0}while(0);if((l|0)==(w|0)&(k|0)==(x|0))break g}while(0);k=f[B+20>>2]|0;if(!k){Q=175;break b}else B=k}k=f[D>>2]|0;if((f[(f[A>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;m=f[F>>2]|0;b[m+(k*20|0)>>0]=17;m=m+(k*20|0)+1|0;n=m+19|0;do{b[m>>0]=0;m=m+1|0}while((m|0)<(n|0));n=k}else n=tl(R,17,0,0,0)|0;f[O>>2]=f[B>>2];Km(a,0,54770,O);k=f[B+44>>2]|0;l=f[D>>2]|0;if((f[(f[A>>2]|0)+48>>2]|0)>(l|0)){f[D>>2]=l+1;U=f[F>>2]|0;b[U+(l*20|0)>>0]=109;d[U+(l*20|0)+2>>1]=0;f[U+(l*20|0)+4>>2]=S;f[U+(l*20|0)+8>>2]=k;f[U+(l*20|0)+12>>2]=K;f[U+(l*20|0)+16>>2]=0;b[U+(l*20|0)+1>>0]=0}else tl(R,109,S,k,K)|0;l=f[P>>2]|0;m=om(a,B)|0;n:do if(m|0){k=f[l>>2]|0;if(!(b[k+81>>0]|0)){a=f[l+88>>2]|0;U=(f[l+136>>2]|0)+-1|0;b[a+(U*20|0)+1>>0]=-9;f[a+(U*20|0)+16>>2]=m;break}if(f[k+480>>2]|0)break;U=(f[m>>2]|0)+-1|0;f[m>>2]=U;if(U|0)break;k=f[m+12>>2]|0;do if(k|0){if(f[k+480>>2]|0){Kc(k,m);break n}l=m;if((f[k+304>>2]|0)>>>0>l>>>0)break;if((f[k+308>>2]|0)>>>0<=l>>>0)break;U=k+300|0;f[m>>2]=f[U>>2];f[U>>2]=m;break n}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{U=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-U;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);k=(h[f[B+28>>2]>>0]|0)+3|0;do if(!C){l=(f[E>>2]|0)+1|0;f[E>>2]=l;f[L>>2]=l;if(!G)break;Lm(R,S,l)}while(0);m=f[D>>2]|0;if(!(b[(f[R>>2]|0)+81>>0]|0))l=(f[F>>2]|0)+(((n|0)<0?m+-1|0:n)*20|0)|0;else l=72144;f[l+8>>2]=m;Q=186}else Q=175}else Q=175;while(0);do if((Q|0)==175){if(e&1|0?(f[c+4>>2]&2048|0)==0:0){R=c+12|0;P=f[R>>2]|0;f[R>>2]=0;U=M+20|0;b[U>>0]=1;f[M+4>>2]=155;f[M+8>>2]=156;f[M+24>>2]=0;oi(M,c)|0;U=b[U>>0]|0;f[R>>2]=P;if(!(U<<24>>24)){k=5;Q=186;break}if((f[f[c+20>>2]>>2]|0)<3){k=5;Q=186;break}}m=a+128|0;n=f[m>>2]|0;if(N){f[m>>2]=0;if((d[(f[c+12>>2]|0)+32>>1]|0)<0){k=0;l=((f[c+4>>2]|0)>>>11&1)+1|0}else{k=0;l=2}}else if(!L){k=0;l=2}else{l=a+44|0;k=(f[l>>2]|0)+1|0;f[l>>2]=k;f[L>>2]=k;l=2}Mm(a,c,k,(l|0)==1&1)|0;f[m>>2]=n;m=l}while(0);if((Q|0)==186){f[c+28>>2]=S;m=k}if(!((i|0)!=0&(m+-3|0)>>>0>1)){t=T;return m|0}l=f[c+12>>2]|0;k=b[l>>0]|0;if(k<<24>>24==-92)k=b[l+38>>0]|0;switch(k<<24>>24){case -91:{k=l+20|0;Q=193;break}case 127:{k=f[l+20>>2]|0;Q=193;break}default:k=1}if((Q|0)==193){k=f[f[k>>2]>>2]|0;if((k|0)<=0){t=T;return m|0}}l=0;do{f[i+(l<<2)>>2]=l;l=l+1|0}while((l|0)!=(k|0));t=T;return m|0}function Km(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;h=t;t=t+16|0;g=h;if((b[a+195>>0]|0)!=2){t=h;return}f[g>>2]=e;e=zg(f[a>>2]|0,d,g)|0;i=f[a+8>>2]|0;g=f[i+136>>2]|0;d=a+208|0;Nm(i,172,g,f[d>>2]|0,0,e,-7)|0;if(c<<24>>24)f[d>>2]=g;t=h;return}function Lm(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0;i=a+136|0;g=f[i>>2]|0;j=a+12|0;if((f[(f[j>>2]|0)+48>>2]|0)>(g|0)){f[i>>2]=g+1;h=f[a+88>>2]|0;b[h+(g*20|0)>>0]=70;d[h+(g*20|0)+2>>1]=0;f[h+(g*20|0)+4>>2]=0;f[h+(g*20|0)+8>>2]=e;f[h+(g*20|0)+12>>2]=0;f[h+(g*20|0)+16>>2]=0;b[h+(g*20|0)+1>>0]=0}else tl(a,70,0,e,0)|0;g=f[i>>2]|0;if((f[(f[j>>2]|0)+48>>2]|0)>(g|0)){f[i>>2]=g+1;h=f[a+88>>2]|0;b[h+(g*20|0)>>0]=36;d[h+(g*20|0)+2>>1]=0;f[h+(g*20|0)+4>>2]=c;f[h+(g*20|0)+8>>2]=0;f[h+(g*20|0)+12>>2]=0;f[h+(g*20|0)+16>>2]=0;b[h+(g*20|0)+1>>0]=0;h=g}else h=tl(a,36,c,0,0)|0;g=f[i>>2]|0;if((f[(f[j>>2]|0)+48>>2]|0)>(g|0)){f[i>>2]=g+1;j=f[a+88>>2]|0;b[j+(g*20|0)>>0]=90;d[j+(g*20|0)+2>>1]=0;f[j+(g*20|0)+4>>2]=c;f[j+(g*20|0)+8>>2]=0;f[j+(g*20|0)+12>>2]=e;f[j+(g*20|0)+16>>2]=0;b[j+(g*20|0)+1>>0]=0}else tl(a,90,c,0,e)|0;g=f[i>>2]|0;if((g|0)>0)d[(f[a+88>>2]|0)+((g+-1|0)*20|0)+2>>1]=128;if(b[(f[a>>2]|0)+81>>0]|0){a=72144;a=a+8|0;f[a>>2]=g;return}a=(f[a+88>>2]|0)+(((h|0)<0?g+-1|0:h)*20|0)|0;a=a+8|0;f[a>>2]=g;return}function Mm(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=t;t=t+80|0;q=K+32|0;k=K+24|0;s=K;I=K+40|0;D=K+68|0;E=K+36|0;h=f[a+8>>2]|0;if(!h){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;h=sl(a)|0;if(!h){e=0;t=K;return e|0}else J=h}else J=h;r=c+4|0;do if(!(f[r>>2]&32)){i=J+136|0;h=f[i>>2]|0;if((f[(f[J+12>>2]|0)+48>>2]|0)>(h|0)){f[i>>2]=h+1;l=f[J+88>>2]|0;b[l+(h*20|0)>>0]=17;l=l+(h*20|0)+1|0;m=l+19|0;do{b[l>>0]=0;l=l+1|0}while((l|0)<(m|0));break}else{h=tl(J,17,0,0,0)|0;break}}else h=-1;while(0);do if((b[c>>0]|0)==49){q=c+12|0;v=f[q>>2]|0;i=b[v>>0]|0;if(i<<24>>24==-92)i=b[v+38>>0]|0;switch(i<<24>>24){case -91:{i=v+20|0;A=16;break}case 127:{i=f[v+20>>2]|0;A=16;break}default:u=1}if((A|0)==16)u=f[f[i>>2]>>2]|0;z=a+40|0;l=f[z>>2]|0;f[z>>2]=l+1;z=c+28|0;f[z>>2]=l;x=(g|0)!=0;k=x?0:u;H=J+136|0;i=f[H>>2]|0;y=J+12|0;if((f[(f[y>>2]|0)+48>>2]|0)>(i|0)){f[H>>2]=i+1;C=f[J+88>>2]|0;b[C+(i*20|0)>>0]=113;d[C+(i*20|0)+2>>1]=0;f[C+(i*20|0)+4>>2]=l;f[C+(i*20|0)+8>>2]=k;f[C+(i*20|0)+12>>2]=0;f[C+(i*20|0)+16>>2]=0;b[C+(i*20|0)+1>>0]=0}else i=tl(J,113,l,k,0)|0;a:do if(!x){o=f[a>>2]|0;g=u+1|0;n=g*5|0;m=n+20|0;p=o+272|0;b:do if(f[p>>2]|0)if(!(b[o+81>>0]|0))A=31;else{B=0;C=0;break a}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];C=o+284|0;f[C>>2]=(f[C>>2]|0)+1;break b}k=o+296|0;l=f[k>>2]|0;if(!l){k=o+292|0;break}else{f[k>>2]=f[l>>2];C=o+284|0;f[C>>2]=(f[C>>2]|0)+1;break b}}else k=o+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;A=31}while(0);if((A|0)==31)l=Dc(o,m,0)|0;if(l|0){f[l+16>>2]=l+20+(g<<2);d[l+6>>1]=u;d[l+8>>1]=g;b[l+4>>0]=b[o+78>>0]|0;f[l+12>>2]=o;f[l>>2]=1;_A(l+24|0,0,n+-4|0)|0;B=l;C=l;break}k=o+81|0;if((b[k>>0]|0)==0?(b[o+82>>0]|0)==0:0){b[k>>0]=1;if((f[o+180>>2]|0)>0)f[o+264>>2]=1;f[p>>2]=(f[p>>2]|0)+1;B=l;C=0}else{B=l;C=0}}else{B=0;C=0}while(0);if(!(f[r>>2]&2048)){g=f[c+20>>2]|0;if(g){w=Yk(v)|0;b[D>>0]=w<<24>>24==0?65:w;if(B|0){w=Zk(a,f[q>>2]|0)|0;f[B+20>>2]=w}w=a+19|0;l=b[w>>0]|0;if(l<<24>>24){v=l+-1<<24>>24;b[w>>0]=v;k=f[a+144+((v&255)<<2)>>2]|0;if(!(v<<24>>24))A=89;else{v=l+-2<<24>>24;b[w>>0]=v;v=f[a+144+((v&255)<<2)>>2]|0;u=k}}else{A=a+44|0;k=(f[A>>2]|0)+1|0;f[A>>2]=k;A=89}if((A|0)==89){u=a+44|0;v=(f[u>>2]|0)+1|0;f[u>>2]=v;u=k}do if(x){k=f[H>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(k|0)){f[H>>2]=k+1;A=f[J+88>>2]|0;b[A+(k*20|0)>>0]=75;d[A+(k*20|0)+2>>1]=0;f[A+(k*20|0)+4>>2]=0;f[A+(k*20|0)+8>>2]=v;f[A+(k*20|0)+12>>2]=0;f[A+(k*20|0)+16>>2]=0;b[A+(k*20|0)+1>>0]=0}else k=tl(J,75,0,v,0)|0;if(!(b[(f[J>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[H>>2]|0)+-1|0;l=f[J+88>>2]|0;m=l+(k*20|0)+1|0;if(!(b[m>>0]|0)){f[l+(k*20|0)+16>>2]=72788;b[m>>0]=-1;break}else{ul(J,l+(k*20|0)|0,72788,-1);break}}}while(0);k=f[g>>2]|0;if((k|0)>0){o=I+20|0;p=I+4|0;q=I+8|0;r=I+24|0;s=J+88|0;n=g+4|0;while(1){m=f[n>>2]|0;do if((h|0)>-1){b[o>>0]=1;f[p>>2]=155;f[q>>2]=156;f[r>>2]=0;if(!m)break;oi(I,m)|0;if(!(b[o>>0]|0)){l=f[J>>2]|0;if(b[l+81>>0]|0){h=-1;break}A=f[s>>2]|0;L=A+(h*20|0)+1|0;g=A+(h*20|0)+16|0;qg(l,b[L>>0]|0,f[g>>2]|0);b[L>>0]=0;f[g>>2]=0;b[A+(h*20|0)>>0]=-85;h=-1}}while(0);do if(x){if(Ak(m,E)|0){l=f[z>>2]|0;m=f[E>>2]|0;g=f[H>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(g|0)){f[H>>2]=g+1;L=f[s>>2]|0;b[L+(g*20|0)>>0]=123;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=l;f[L+(g*20|0)+8>>2]=v;f[L+(g*20|0)+12>>2]=m;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0;break}else{tl(J,123,l,v,m)|0;break}}g=xl(a,m,u)|0;l=f[H>>2]|0;m=l+2|0;if((f[(f[y>>2]|0)+48>>2]|0)>(l|0)){f[H>>2]=l+1;L=f[s>>2]|0;b[L+(l*20|0)>>0]=15;d[L+(l*20|0)+2>>1]=0;f[L+(l*20|0)+4>>2]=g;f[L+(l*20|0)+8>>2]=m;f[L+(l*20|0)+12>>2]=0;f[L+(l*20|0)+16>>2]=0;b[L+(l*20|0)+1>>0]=0}else tl(J,15,g,m,0)|0;l=f[z>>2]|0;m=f[H>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(m|0)){f[H>>2]=m+1;L=f[s>>2]|0;b[L+(m*20|0)>>0]=122;d[L+(m*20|0)+2>>1]=0;f[L+(m*20|0)+4>>2]=l;f[L+(m*20|0)+8>>2]=v;f[L+(m*20|0)+12>>2]=g;f[L+(m*20|0)+16>>2]=0;b[L+(m*20|0)+1>>0]=0;break}else{tl(J,122,l,v,g)|0;break}}else{g=xl(a,m,u)|0;l=f[H>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(l|0)){f[H>>2]=l+1;L=f[s>>2]|0;b[L+(l*20|0)>>0]=102;d[L+(l*20|0)+2>>1]=0;f[L+(l*20|0)+4>>2]=g;f[L+(l*20|0)+8>>2]=1;f[L+(l*20|0)+12>>2]=v;f[L+(l*20|0)+16>>2]=0;b[L+(l*20|0)+1>>0]=0}else l=tl(J,102,g,1,v)|0;if(!(b[(f[J>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[H>>2]|0)+-1|0;ul(J,(f[s>>2]|0)+(l*20|0)|0,D,1)}m=f[z>>2]|0;l=f[H>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(l|0)){f[H>>2]=l+1;L=f[s>>2]|0;b[L+(l*20|0)>>0]=-123;d[L+(l*20|0)+2>>1]=0;f[L+(l*20|0)+4>>2]=m;f[L+(l*20|0)+8>>2]=v;f[L+(l*20|0)+12>>2]=g;f[L+(l*20|0)+16>>2]=0;b[L+(l*20|0)+1>>0]=0}else l=tl(J,133,m,v,g)|0;if(b[(f[J>>2]|0)+81>>0]|0)break;L=f[s>>2]|0;b[L+(l*20|0)+1>>0]=-3;f[L+(l*20|0)+16>>2]=1}while(0);if((k|0)>1){k=k+-1|0;n=n+20|0}else break}}if(u|0?(F=b[w>>0]|0,(F&255)<8):0){b[w>>0]=F+1<<24>>24;f[a+144+((F&255)<<2)>>2]=u}if(v|0?(G=b[w>>0]|0,(G&255)<8):0){b[w>>0]=G+1<<24>>24;f[a+144+((G&255)<<2)>>2]=v}}}else{k=f[c+20>>2]|0;p=f[k>>2]|0;f[s>>2]=(h|0)>-1?72788:54801;Km(a,1,54813,s);if((f[p>>2]|0)==(u|0)){m=f[z>>2]|0;b[s>>0]=11;f[s+4>>2]=m;m=s+16|0;f[s+8>>2]=0;f[s+12>>2]=0;l=Im(a,c)|0;f[m>>2]=l;f[k+12>>2]=0;k=(Kl(a,k,s)|0)==0;l=f[a>>2]|0;m=f[m>>2]|0;do if(m|0){if(l|0){if(f[l+480>>2]|0){Kc(l,m);break}L=m;if((f[l+304>>2]|0)>>>0<=L>>>0?(f[l+308>>2]|0)>>>0>L>>>0:0){L=l+300|0;f[m>>2]=f[L>>2];f[L>>2]=m;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{L=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);if(!k){c:do if(B|0?(L=(f[B>>2]|0)+-1|0,f[B>>2]=L,(L|0)==0):0){h=f[B+12>>2]|0;do if(h|0){if(f[h+480>>2]|0){Kc(h,C);break c}i=B;if((f[h+304>>2]|0)>>>0<=i>>>0){if((f[h+308>>2]|0)>>>0<=i>>>0)break;L=h+300|0;f[B>>2]=f[L>>2];f[L>>2]=C;break c}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](C);break}else{L=ib[f[37368>>2]&255](C)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](C);break}}while(0);L=0;t=K;return L|0}d:do if((u|0)>0){g=v+38|0;n=v+20|0;o=v+20|0;m=0;while(1){l=b[v>>0]|0;if(l<<24>>24==-92)k=b[g>>0]|0;else k=l;switch(k<<24>>24){case -91:{k=n;A=69;break}case 127:{k=f[o>>2]|0;A=69;break}default:k=v}e:do if((A|0)==69){A=0;if((f[f[k>>2]>>2]|0)<2)k=v;else{do if(l<<24>>24!=127){if((b[g>>0]|0)==127)break;k=f[(f[n>>2]|0)+4+(m*20|0)>>2]|0;break e}while(0);k=f[(f[f[o>>2]>>2]|0)+4+(m*20|0)>>2]|0}}while(0);l=f[p+4+(m*20|0)>>2]|0;f:do if(!(f[k+4>>2]&256)){do if(l|0){if(!(f[l+4>>2]&256))break;k=Zk(a,l)|0;break f}while(0);k=Zk(a,k)|0;if(!k)k=Zk(a,l)|0}else k=Zk(a,k)|0;while(0);f[B+20+(m<<2)>>2]=k;m=m+1|0;if((m|0)==(u|0))break d}}while(0)}}if(B){k=f[J>>2]|0;if(!(b[k+81>>0]|0)){if((i|0)<0)i=(f[H>>2]|0)+-1|0;k=f[J+88>>2]|0;l=k+(i*20|0)+1|0;if(b[l>>0]|0){ul(J,k+(i*20|0)|0,C,-9);i=0;break}if(!C){i=0;break}f[k+(i*20|0)+16>>2]=C;b[l>>0]=-9;i=0;break}if(!((C|0)==0|(f[k+480>>2]|0)!=0)?(L=(f[C>>2]|0)+-1|0,f[C>>2]=L,(L|0)==0):0){i=f[C+12>>2]|0;if(i|0){if(f[i+480>>2]|0){Kc(i,C);i=0;break}L=C;if((f[i+304>>2]|0)>>>0<=L>>>0?(f[i+308>>2]|0)>>>0>L>>>0:0){i=i+300|0;f[C>>2]=f[i>>2];f[i>>2]=C;i=0;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](C);i=0;break}else{i=ib[f[37368>>2]&255](C)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](C);i=0;break}}else i=0}else i=0}else{p=f[c+20>>2]|0;f[k>>2]=(h|0)>-1?72788:54801;Km(a,1,54829,k);i=(b[c>>0]|0)==127;if(i)m=f[f[p>>2]>>2]|0;else m=1;L=a+44|0;g=f[L>>2]|0;n=g+1|0;b[I>>0]=0;o=I+4|0;f[o>>2]=n;f[I+16>>2]=0;k=I+8|0;f[k>>2]=0;l=I+12|0;f[l>>2]=0;g=g+m|0;f[L>>2]=g;do if(i){b[I>>0]=10;f[k>>2]=n;f[l>>2]=m;i=J+136|0;k=f[i>>2]|0;if((f[(f[J+12>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;L=f[J+88>>2]|0;b[L+(k*20|0)>>0]=73;d[L+(k*20|0)+2>>1]=0;f[L+(k*20|0)+4>>2]=0;f[L+(k*20|0)+8>>2]=n;f[L+(k*20|0)+12>>2]=g;f[L+(k*20|0)+16>>2]=0;b[L+(k*20|0)+1>>0]=0;break}else{tl(J,73,0,n,g)|0;break}}else{b[I>>0]=3;i=J+136|0;k=f[i>>2]|0;if((f[(f[J+12>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;L=f[J+88>>2]|0;b[L+(k*20|0)>>0]=70;d[L+(k*20|0)+2>>1]=0;f[L+(k*20|0)+4>>2]=0;f[L+(k*20|0)+8>>2]=n;f[L+(k*20|0)+12>>2]=0;f[L+(k*20|0)+16>>2]=0;b[L+(k*20|0)+1>>0]=0;break}else{tl(J,70,0,n,0)|0;break}}while(0);g=Dk(f[a>>2]|0,143,10024,0)|0;n=p+60|0;i=f[n>>2]|0;l=f[a>>2]|0;if(!i){g:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))A=183;else A=186;else{do if((j[l+276>>1]|0)>=48){k=l+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];A=l+284|0;f[A>>2]=(f[A>>2]|0)+1;A=184;break g}k=l+296|0;i=f[k>>2]|0;if(!i){i=l+292|0;break}else{f[k>>2]=f[i>>2];A=l+284|0;f[A>>2]=(f[A>>2]|0)+1;A=184;break g}}else i=l+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;A=183}while(0);if((A|0)==183){i=Dc(l,48,0)|0;A=184}if((A|0)==184)if(i){l=i;m=l+48|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));b[i>>0]=-119;d[i+34>>1]=-1;if(g|0){f[i+12>>2]=g;f[i+4>>2]=f[g+4>>2]&2097412}jl(i);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)<(f[i+24>>2]|0)){f[q>>2]=k;ni(a,42710,q)}}else A=186;if((A|0)==186)if(!g)i=0;else{ig(f[a>>2]|0,g);i=0}f[n>>2]=i}else{i=i+12|0;k=f[i>>2]|0;if(k){ig(l,k);i=(f[n>>2]|0)+12|0}f[i>>2]=g}f[p+12>>2]=0;L=(Kl(a,p,I)|0)==0;if(L)i=f[o>>2]|0;else{L=0;t=K;return L|0}}while(0);if(e|0)Lm(J,f[c+28>>2]|0,e);if((h|0)<=-1){L=i;t=K;return L|0}if(!(b[(f[J>>2]|0)+81>>0]|0))h=(f[J+88>>2]|0)+(h*20|0)|0;else h=72144;f[h+8>>2]=f[J+136>>2];L=i;t=K;return L|0}function Nm(a,c,e,g,h,i,j){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;k=a+136|0;l=f[k>>2]|0;if((f[(f[a+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;k=f[a+88>>2]|0;b[k+(l*20|0)>>0]=c;d[k+(l*20|0)+2>>1]=0;f[k+(l*20|0)+4>>2]=e;f[k+(l*20|0)+8>>2]=g;f[k+(l*20|0)+12>>2]=h;f[k+(l*20|0)+16>>2]=0;b[k+(l*20|0)+1>>0]=0;Om(a,l,i,j);return l|0}else{l=tl(a,c,e,g,h)|0;Om(a,l,i,j);return l|0}return 0}function Om(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=f[a>>2]|0;if(b[g+81>>0]|0){if((e|0)==-12)return;qg(g,e,d);return}if((c|0)<0)c=(f[a+136>>2]|0)+-1|0;g=f[a+88>>2]|0;h=g+(c*20|0)|0;if((e|0)<=-1?(i=g+(c*20|0)+1|0,(b[i>>0]|0)==0):0){if((e|0)==-3){f[g+(c*20|0)+16>>2]=d;b[i>>0]=-3;return}if(!d)return;f[g+(c*20|0)+16>>2]=d;b[i>>0]=e;if((e|0)!=-12)return;e=d+12|0;f[e>>2]=(f[e>>2]|0)+1;return}ul(a,h,d,e);return}function Pm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=a+68|0;h=f[j>>2]|0;i=(d|0)<0;a:do if(i&(h|0)!=0?(e=f[h>>2]|0,(e|0)>0):0){g=h+4|0;while(1){if(b[g+13>>0]&4?(Ck(0,f[g>>2]|0,c,-1)|0)==0:0)break;if((e|0)>1){e=e+-1|0;g=g+20|0}else break a}j=f[g+16>>2]|0;return j|0}while(0);if(!c)e=0;else e=Bk(f[a>>2]|0,c,0,0)|0;g=ml(f[a>>2]|0,h,e)|0;if(g){e=(f[g>>2]|0)+-1|0;h=g+4+(e*20|0)+13|0;b[h>>0]=b[h>>0]&-5|d>>>29&4;if(i){i=a+44|0;d=(f[i>>2]|0)+1|0;f[i>>2]=d}f[g+4+(e*20|0)+16>>2]=d}f[j>>2]=g;j=d;return j|0}function Qm(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;x=t;t=t+160|0;r=x+144|0;q=x+136|0;p=x+128|0;o=x;c=f[e>>2]|0;do if(c){e=d[c+8>>1]|0;if((e&514)==514?(b[c+10>>0]|0)==1:0){c=f[c+16>>2]|0;break}if(!(e&1))c=Ic(c,1)|0;else c=0}else c=0;while(0);w=f[(f[a>>2]|0)+32>>2]|0;n=(c|0)==0?72788:c;u=w+20|0;l=f[u>>2]|0;a:do if((l|0)>0){v=w+16|0;m=f[v>>2]|0;c=0;while(1){j=m+(c<<4)+4|0;k=f[j>>2]|0;if(k|0){g=f[m+(c<<4)>>2]|0;i=b[g>>0]|0;e=(h[1232+(i&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0;if(!(i<<24>>24==0|(e|0)!=0)){i=n;do{g=g+1|0;i=i+1|0;y=b[g>>0]|0;e=(h[1232+(y&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(y<<24>>24==0|(e|0)!=0))}if(!e)break}c=c+1|0;if((c|0)>=(l|0)){s=15;break a}}if(c>>>0<2){f[q>>2]=n;vd(128,o,54926,q)|0;break}if((b[k+8>>0]|0)==0?(f[k+16>>2]|0)==0:0){bi(k);f[j>>2]=0;f[m+(c<<4)+12>>2]=0;if((f[u>>2]|0)>2){j=w+480|0;k=w+304|0;l=w+308|0;m=w+300|0;i=2;c=2;do{e=f[v>>2]|0;g=e+(i<<4)|0;if(!(f[e+(i<<4)+4>>2]|0)){e=f[g>>2]|0;do if(e|0){if(f[j>>2]|0){Kc(w,e);break}y=e;if((f[k>>2]|0)>>>0<=y>>>0?(f[l>>2]|0)>>>0>y>>>0:0){f[e>>2]=f[m>>2];f[m>>2]=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{y=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[g>>2]=0}else{if((c|0)<(i|0)){y=e+(c<<4)|0;f[y>>2]=f[g>>2];f[y+4>>2]=f[g+4>>2];f[y+8>>2]=f[g+8>>2];f[y+12>>2]=f[g+12>>2]}c=c+1|0}i=i+1|0}while((i|0)<(f[u>>2]|0));f[u>>2]=c;if((c|0)>=3){t=x;return}}else f[u>>2]=2;c=f[v>>2]|0;e=w+412|0;if((c|0)==(e|0)){t=x;return};f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];f[e+12>>2]=f[c+12>>2];f[e+16>>2]=f[c+16>>2];f[e+20>>2]=f[c+20>>2];f[e+24>>2]=f[c+24>>2];f[e+28>>2]=f[c+28>>2];do if(c|0){if(f[w+480>>2]|0){Kc(w,c);break}y=c;if((f[w+304>>2]|0)>>>0<=y>>>0?(f[w+308>>2]|0)>>>0>y>>>0:0){y=w+300|0;f[c>>2]=f[y>>2];f[y>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{y=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);f[v>>2]=e;t=x;return}f[r>>2]=n;vd(128,o,54952,r)|0}else s=15;while(0);if((s|0)==15){f[p>>2]=n;vd(128,o,54905,p)|0}f[a+20>>2]=1;$e(f[a>>2]|0,o,-1,1,-1)|0;t=x;return}function Rm(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=t;t=t+64|0;E=I+40|0;F=I+32|0;x=I+24|0;w=I+16|0;n=I+8|0;k=I;r=I+60|0;u=I+56|0;s=I+52|0;G=I+48|0;v=I+44|0;H=f[(f[a>>2]|0)+32>>2]|0;f[r>>2]=0;f[u>>2]=0;f[G>>2]=0;c=f[e>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){i=f[c+16>>2]|0;break}if(!(g&1))i=Ic(c,1)|0;else i=0}else i=0;while(0);c=f[e+4>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){c=f[c+16>>2]|0;break}if(!(g&1))c=Ic(c,1)|0;else c=0}else c=0;while(0);B=(i|0)==0?72788:i;y=(c|0)==0?72788:c;A=H+20|0;m=f[A>>2]|0;c=f[H+136>>2]|0;a:do if((m|0)<(c+2|0)){z=H+16|0;l=f[z>>2]|0;b:do if((m|0)>0){k=h[1232+(h[y>>0]|0)>>0]|0;e=0;while(1){g=f[l+(e<<4)>>2]|0;q=b[g>>0]|0;c=(h[1232+(q&255)>>0]|0)-k|0;if(!(q<<24>>24==0|(c|0)!=0)){i=y;do{g=g+1|0;i=i+1|0;q=b[g>>0]|0;c=(h[1232+(q&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(q<<24>>24==0|(c|0)!=0))}e=e+1|0;if(!c)break;if((e|0)>=(m|0))break b}f[n>>2]=y;g=Ig(H,55025,n)|0;f[G>>2]=g;c=0;D=138;break a}while(0);c:do if((l|0)==(H+412|0)){d:do if(f[H+272>>2]|0)if(!(b[H+81>>0]|0))D=34;else{t=I;return}else{do if((j[H+276>>1]|0)>=48){g=H+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];q=H+284|0;f[q>>2]=(f[q>>2]|0)+1;break d}g=H+296|0;c=f[g>>2]|0;if(!c){c=H+292|0;break}else{f[g>>2]=f[c>>2];q=H+284|0;f[q>>2]=(f[q>>2]|0)+1;break d}}else c=H+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;D=34}while(0);if((D|0)==34)c=Dc(H,48,0)|0;if(!c){t=I;return}else{o=f[z>>2]|0;f[c>>2]=f[o>>2];f[c+4>>2]=f[o+4>>2];f[c+8>>2]=f[o+8>>2];f[c+12>>2]=f[o+12>>2];f[c+16>>2]=f[o+16>>2];f[c+20>>2]=f[o+20>>2];f[c+24>>2]=f[o+24>>2];f[c+28>>2]=f[o+28>>2];o=c;break}}else{i=(m<<4)+16|0;e:do if(!l){if(f[H+272>>2]|0){if(b[H+81>>0]|0){t=I;return}}else{do if(!(0<0|(0==0?(j[H+276>>1]|0)>>>0>>0:0))){g=H+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];q=H+284|0;f[q>>2]=(f[q>>2]|0)+1;break e}g=H+296|0;c=f[g>>2]|0;if(!c){c=H+292|0;break}else{f[g>>2]=f[c>>2];q=H+284|0;f[q>>2]=(f[q>>2]|0)+1;break e}}else c=H+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(H,i,0)|0}else{q=l;if((f[H+304>>2]|0)>>>0<=q>>>0?(f[H+308>>2]|0)>>>0>q>>>0:0){if(!(0<0|(0==0?(j[H+276>>1]|0)>>>0>>0:0))){o=l;break c}c=Lc(H,l,i,0)|0;break}c=Lc(H,l,i,0)|0}while(0);if(!c){t=I;return}else o=c}while(0);f[z>>2]=o;p=f[A>>2]|0;q=o+(p<<4)|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;f[s>>2]=f[H+60>>2];switch(Sm(f[(f[H>>2]|0)+16>>2]|0,B,s,v,r,u)|0){case 0:{c=f[s>>2]|256;f[s>>2]=c;g=f[r>>2]|0;i=o+(p<<4)+4|0;c=cj(f[v>>2]|0,g,H,i,0,c)|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{v=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[A>>2]=(f[A>>2]|0)+1;b[H+89>>0]=0;switch(c|0){case 19:{e=Ig(H,55055,w)|0;f[G>>2]=e;e=1;break}case 0:{c=Tm(H,f[i>>2]|0)|0;f[o+(p<<4)+12>>2]=c;if(c)if((b[c+76>>0]|0)!=0?(b[c+77>>0]|0)!=(b[H+78>>0]|0):0){e=Ig(H,48935,x)|0;f[G>>2]=e;e=1}else e=0;else e=7;g=f[i>>2]|0;k=f[g>>2]|0;i=f[g+4>>2]|0;l=i+4|0;f[l>>2]=k;m=f[i>>2]|0;c=b[H+83>>0]|0;n=(b[m+12>>0]|0)==0;do if(n){x=f[m+216>>2]|0;if(x|0?(b[x+43>>0]|0)==2:0)break;b[m+4>>0]=c}while(0);c=f[(f[z>>2]|0)+4>>2]|0;if(!c)c=0;else{x=f[c+4>>2]|0;f[x+4>>2]=f[c>>2];c=(j[x+22>>1]|0)>>>2&3}if(g|0){f[l>>2]=k;x=i+22|0;d[x>>1]=c<<2|d[x>>1]&-13&65535}i=f[H+32>>2]|0;f[l>>2]=k;g=n^1;b[m+7>>0]=g&1;b[m+8>>0]=n&1;b[m+9>>0]=0;do if(n){c=m+10|0;if(!(i&8)){b[c>>0]=2;c=2;break}else{b[c>>0]=3;c=3;break}}else{b[m+10>>0]=0;c=0}while(0);x=(c<<2|(n?c:0))&255;b[m+11>>0]=(i&16|0)==0|g?x:x|12;x=m+20|0;w=h[x>>0]|0;b[x>>0]=(i&32|0)==0?w|1:w&254;break}default:e=c}b[o+(p<<4)+8>>0]=3;i=(wz(y)|0)+1|0;l=H+272|0;f:do if(f[l>>2]|0)if(!(b[H+81>>0]|0))D=99;else c=0;else{do if(!(0<0|(0==0?(j[H+276>>1]|0)>>>0>>0:0))){g=H+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];D=H+284|0;f[D>>2]=(f[D>>2]|0)+1;D=100;break f}g=H+296|0;c=f[g>>2]|0;if(!c){c=H+292|0;break}else{f[g>>2]=f[c>>2];D=H+284|0;f[D>>2]=(f[D>>2]|0)+1;D=100;break f}}else c=H+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;D=99}while(0);if((D|0)==99){c=Dc(H,i,0)|0;D=100}if((D|0)==100)if(!c)c=0;else YA(c|0,y|0,i|0)|0;f[q>>2]=c;c=(e|0)==0&(c|0)==0?7:e;g:do if(!c){c=f[A>>2]|0;e=f[z>>2]|0;if((c|0)>0){g=0;do{i=f[e+(g<<4)+4>>2]|0;if(i|0)f[(f[i+4>>2]|0)+4>>2]=f[i>>2];g=g+1|0}while((g|0)!=(c|0))}b[H+164>>0]=0;i=H+24|0;k=f[i>>2]|0;f[i>>2]=k&-9;k=(k&1|0)==0;y=f[e+12>>2]|0;b[H+78>>0]=b[y+77>>0]|0;if(!(d[y+78>>1]&1)){c=qi(H,0,G,0)|0;if(c|0)break;c=f[A>>2]|0}if((c|0)>1)do{g=c;c=c+-1|0;if((d[(f[(f[z>>2]|0)+(c<<4)+12>>2]|0)+78>>1]&1)==0?(C=qi(H,c,G,0)|0,C|0):0){c=C;break g}}while((g|0)>2);if(!k){t=I;return}f[i>>2]=f[i>>2]&-2;t=I;return}while(0);g=(f[A>>2]|0)+-1|0;i=f[(f[z>>2]|0)+(g<<4)+4>>2]|0;if(i|0){bi(i);C=f[z>>2]|0;f[C+(g<<4)+4>>2]=0;f[C+(g<<4)+12>>2]=0}Vh(H);f[A>>2]=g;if((c|0)<3082)switch(c|0){case 7:break;default:D=136}else switch(c|0){case 3082:break;default:D=136}if((D|0)==136){g=f[G>>2]|0;if(g|0){D=139;break a}f[E>>2]=B;g=Ig(H,55084,E)|0;f[G>>2]=g;D=138;break a}g=H+81|0;if((b[g>>0]|0)==0?(b[H+82>>0]|0)==0:0){b[g>>0]=1;if((f[H+180>>2]|0)>0)f[H+264>>2]=1;f[l>>2]=(f[l>>2]|0)+1}g=f[G>>2]|0;do if(g|0){if(f[H+480>>2]|0){Kc(H,g);break}E=g;if((f[H+304>>2]|0)>>>0<=E>>>0?(f[H+308>>2]|0)>>>0>E>>>0:0){E=H+300|0;f[g>>2]=f[E>>2];f[E>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{E=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=Ig(H,44870,F)|0;f[G>>2]=g;D=138;break a}case 7:{c=H+81|0;if((b[c>>0]|0)==0?(b[H+82>>0]|0)==0:0){b[c>>0]=1;if((f[H+180>>2]|0)>0)f[H+264>>2]=1;H=H+272|0;f[H>>2]=(f[H>>2]|0)+1}break}default:{}}c=f[u>>2]|0;f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=I;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);t=I;return}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);t=I;return}}else{f[k>>2]=c;g=Ig(H,54988,k)|0;f[G>>2]=g;c=0;D=138}while(0);if((D|0)==138)if(g)D=139;do if((D|0)==139){f[a+20>>2]=1;$e(f[a>>2]|0,g,-1,1,-1)|0;g=f[G>>2]|0;if(g){if(H|0){if(f[H+480>>2]|0){Kc(H,g);break}G=g;if((f[H+304>>2]|0)>>>0<=G>>>0?(f[H+308>>2]|0)>>>0>G>>>0:0){H=H+300|0;f[g>>2]=f[H>>2];f[H>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{H=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}}while(0);if(!c){t=I;return}f[a+20>>2]=c;g=f[a>>2]|0;if(!(d[g+8>>1]&1)){t=I;return}switch(c|0){case 516:{c=44816;break}case 100:{c=44794;break}case 101:{c=44771;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7984+(c<<2)>>2]|0;else c=44757}}$e(g,c,-1,1,0)|0;t=I;return}function Sm(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+32|0;w=x+24|0;u=x+16|0;s=x+8|0;n=x;j=f[d>>2]|0;a:do if(c){i=(wz(c)|0)&1073741823;if(i>>>0>4&(f[9331]|j&64|0)!=0?(Hz(c,55112,5)|0)==0:0){j=j|64;k=0;l=i+2|0;m=0;do{l=KA(l|0,m|0,(b[c+k>>0]|0)==38|0,0)|0;m=ba()|0;k=k+1|0}while((k|0)!=(i|0));k=xd(l,m)|0;if(!k){g=7;t=x;return g|0}b:do if((b[c+5>>0]|0)==47?(b[c+6>>0]|0)==47:0){l=7;c:while(1){switch(b[c+l>>0]|0){case 0:case 47:break c;default:{}}l=l+1|0}switch(l&2147483647|0){case 7:{l=7;break b}case 16:{i=c+7|0;if(!(Hz(55118,i,9)|0)){l=16;break b}break}default:i=c+7|0}f[n>>2]=l+-7;f[n+4>>2]=i;l=k;i=1;k=wd(55128,n)|0;v=86;break a}else l=5;while(0);i=0;n=0;d:while(1){p=k+(i+-1)|0;e:while(1){m=b[c+l>>0]|0;switch(m<<24>>24){case 0:case 35:break d;default:{}}o=l+1|0;f:do if((m<<24>>24==37?(q=b[c+o>>0]|0,(b[5472+(q&255)>>0]&8)!=0):0)?(r=b[c+(l+2)>>0]|0,(b[5472+(r&255)>>0]&8)!=0):0){m=q<<24>>24;l=l+3|0;o=r<<24>>24;m=(0-(o>>>6&1)&9)+o&15|(0-(m>>>6&1)&9)+m<<4&240;if(m|0){v=37;break e}switch(n|0){case 0:while(1){switch(b[c+l>>0]|0){case 63:case 35:case 0:break f;default:{}}l=l+1|0}case 1:while(1){switch(b[c+l>>0]|0){case 38:case 61:case 35:case 0:break f;default:{}}l=l+1|0}case 2:while(1){switch(b[c+l>>0]|0){case 38:case 35:case 0:break f;default:{}}l=l+1|0}default:while(1){switch(b[c+l>>0]|0){case 35:case 0:break f;default:{}}l=l+1|0}}}else v=38;while(0);g:do if((v|0)==38){v=0;switch(n|0){case 0:{v=47;break e}case 2:{v=48;break e}case 1:break;default:{l=o;break e}}switch(m<<24>>24){case 38:case 61:break;default:{n=1;l=o;break e}}if(b[p>>0]|0){v=45;break e}l=o;while(1){switch(b[c+l>>0]|0){case 35:case 0:break g;default:{}}if((b[c+(l+-1)>>0]|0)==38)break g;l=l+1|0}}while(0)}if((v|0)==37){v=0;m=m&255}else if((v|0)==45){v=0;if(m<<24>>24==38){b[k+i>>0]=0;m=0;i=i+1|0;n=1;l=o}else{m=0;n=2;l=o}}else if((v|0)==47){v=0;if(m<<24>>24==63)v=49;else{n=0;l=o}}else if((v|0)==48){v=0;if(m<<24>>24==38)v=49;else{n=2;l=o}}if((v|0)==49){v=0;m=0;n=1;l=o}b[k+i>>0]=m;i=i+1|0}if((n|0)==1){b[k+i>>0]=0;i=i+1|0}b[k+i>>0]=0;b[k+(i+1)>>0]=0;i=k+(((wz(k)|0)&1073741823)+1)|0;if(b[i>>0]|0){r=a;a=i;h:while(1){i:do if(!a){i=1;l=(wz(1)|0)&1073741823;v=71}else{c=wz(a)|0;i=a+((c&1073741823)+1)|0;l=(wz(i)|0)&1073741823;switch(c&1073741823|0){case 3:if(!(Hz(55156,a,3)|0)){m=i;break i}else{v=71;break i}case 5:{if(!(Hz(55160,a,5)|0)){o=393216;p=-393217;q=55160;n=22688}else{v=71;break i}break}case 4:{if(!(Hz(55166,a,4)|0)){o=j&135;p=-136;q=40641;n=22720}else{v=71;break i}break}default:{v=71;break i}}a=f[n>>2]|0;if(!a){v=67;break h}m=0;while(1){if((l|0)==((wz(a)|0)&1073741823|0)?(Hz(i,a,l)|0)==0:0)break;m=m+1|0;a=f[n+(m<<3)>>2]|0;if(!a){v=67;break h}}a=f[n+(m<<3)+4>>2]|0;if(!a){v=67;break h}if((a&-129|0)>(o|0)){v=69;break h}j=a|p&j;v=71}while(0);if((v|0)==71){v=0;m=r}a=i+(l+1)|0;if(!(b[a>>0]|0)){a=m;v=77;break a}else r=m}if((v|0)==67){f[s>>2]=q;f[s+4>>2]=i;l=k;i=1;k=wd(55171,s)|0;v=86;break}else if((v|0)==69){f[u>>2]=q;f[u+4>>2]=i;l=k;i=3;k=wd(55191,u)|0;v=86;break}}else v=77}else v=73}else{i=0;v=73}while(0);if((v|0)==73){k=xd(i+2|0,0)|0;if(!k){g=7;t=x;return g|0}if(i|0)YA(k|0,c|0,i|0)|0;b[k+i>>0]=0;b[k+(i+1)>>0]=0;j=j&-65;v=77}j:do if((v|0)==77){k:do if(!(Mc()|0)){i=f[18002]|0;l=(i|0)==0;if((a|0)==0|l){f[e>>2]=i;if(l)break;else{i=0;break j}}while(1){if(!(tz(a,f[i+16>>2]|0)|0))break;i=f[i+12>>2]|0;if(!i){v=83;break k}}f[e>>2]=i;i=0;break j}else v=83;while(0);if((v|0)==83)f[e>>2]=0;f[w>>2]=a;l=k;i=1;k=wd(55215,w)|0;v=86}while(0);do if((v|0)==86){f[h>>2]=k;if(l)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);k=0;break}else{k=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);k=0;break}else k=0}while(0);f[d>>2]=j;f[g>>2]=k;g=i;t=x;return g|0}function Tm(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;do if(c){i=f[c+4>>2]|0;f[i+4>>2]=f[c>>2];h=i+48|0;c=f[h>>2]|0;if(!c){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](84)|0;if(!c)g=26;else g=27}else{c=ib[f[37372>>2]&255](84)|0;if((f[18194]|0)>>>0<84)f[18194]=84;e=71896;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){g=f[18187]|0;e=LA(d|0,e|0,c|0,((c|0)<0)<<31>>31|0)|0;d=ba()|0;f[17976]=((d|0)<0|(d|0)==0&e>>>0<=g>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(c){d=ib[f[37368>>2]&255](c)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0){f[18196]=d;g=27}else g=27}else g=26}if((g|0)==26){f[h>>2]=0;f[i+52>>2]=106;break}else if((g|0)==27){e=c;g=e+84|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(g|0));f[h>>2]=c;f[i+52>>2]=106;g=33;break}}else g=33}else{if(!(f[9328]|0)){c=ib[f[37356>>2]&255](84)|0;if(!c)break}else{c=ib[f[37372>>2]&255](84)|0;if((f[18194]|0)>>>0<84)f[18194]=84;e=71896;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){i=f[18187]|0;h=LA(d|0,e|0,c|0,((c|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&h>>>0<=i>>>0)&1}d=ib[f[37356>>2]&255](c)|0;if(!d)break;c=ib[f[37368>>2]&255](d)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0){f[18196]=c;c=d}else c=d}e=c;g=e+84|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(g|0));g=33}while(0);if((g|0)==33){if(b[c+76>>0]|0){a=c;return a|0}d=c+77|0;e=c+8|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));b[d>>0]=1;a=c;return a|0}c=a+81|0;if(b[c>>0]|0){a=0;return a|0}if(b[a+82>>0]|0){a=0;return a|0}b[c>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;a=a+272|0;f[a>>2]=(f[a>>2]|0)+1;a=0;return a|0}function Um(a,c){a=a|0;c=c|0;var d=0,e=0;d=1<>2]=f[e>>2]|d;if((c|0)==1)return;if(!(b[(f[(f[(f[a>>2]|0)+16>>2]|0)+(c<<4)+4>>2]|0)+9>>0]|0))return;e=a+152|0;f[e>>2]=f[e>>2]|d;return}function Vm(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;if(c){j=f[a+20>>2]|0;e=j+-1|0;a:do if((j|0)>0){d=e;j=(f[a+16>>2]|0)+(e<<4)|0;while(1){g=f[j>>2]|0;if(g|0){i=b[g>>0]|0;e=(h[1232+(i&255)>>0]|0)-(h[1232+(h[c>>0]|0)>>0]|0)|0;if(!(i<<24>>24==0|(e|0)!=0)){i=c;do{g=g+1|0;i=i+1|0;k=b[g>>0]|0;e=(h[1232+(k&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(e|0)!=0))}if(!e)break a}if(!d)break;e=d+-1|0;if((d|0)>0){d=e;j=j+-16|0}else{d=e;break a}}d=109-(h[1232+(h[c>>0]|0)>>0]|0)|0;if(!d){e=42464;do{e=e+1|0;c=c+1|0;k=b[e>>0]|0;d=(h[1232+(k&255)>>0]|0)-(h[1232+(h[c>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(d|0)!=0))}d=((d|0)!=0)<<31>>31}else d=e;while(0);if((d|0)<0){k=0;return k|0}}else d=0;k=f[(f[a+16>>2]|0)+(d<<4)+4>>2]|0;return k|0}function Wm(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if((b[a>>0]|0)!=48){i=dn(a)|0;c=kf(a,c,i,1)|0;return c|0}switch(b[a+1>>0]|0){case 88:case 120:break;default:{i=dn(a)|0;c=kf(a,c,i,1)|0;return c|0}}i=2;while(1){h=b[a+i>>0]|0;if(h<<24>>24==48)i=i+1|0;else break}if(!(b[5472+(h&255)>>0]&8)){e=i;g=0;d=0}else{e=i;g=0;d=0;do{j=WA(g|0,d|0,4)|0;d=ba()|0;g=h<<24>>24;g=j|(0-(g>>>6&1)&9)+g&15;e=e+1|0;h=b[a+e>>0]|0}while((b[5472+(h&255)>>0]&8)!=0)}j=c;f[j>>2]=g;f[j+4>>2]=d;return ((b[a+e>>0]|0)==0?((e-i|0)>16?2:0):2)|0}function Xm(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;i=t;t=t+16|0;g=i;f[g>>2]=e;e=0;a:while(1){switch(b[d+e>>0]|0){case 0:break a;case 115:{k=(f[g>>2]|0)+(4-1)&~(4-1);j=f[k>>2]|0;f[g>>2]=k+4;Nm(a,(j|0)==0?73:106,0,e+c|0,0,j,0)|0;break}case 105:{j=(f[g>>2]|0)+(4-1)&~(4-1);k=f[j>>2]|0;f[g>>2]=j+4;cn(a,70,k,e+c|0)|0;break}default:{h=7;break a}}e=e+1|0}if((h|0)==7){t=i;return}cn(a,81,c,e)|0;t=i;return}function Ym(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=t;t=t+16|0;A=C;B=f[e+20>>2]|0;o=f[e+40>>2]|0;do if((B|0)==1){y=d[c+40>>1]|0;k=y<<16>>16;if(y<<16>>16>-1){if(!o){B=0;t=C;return B|0}l=f[(f[c+4>>2]|0)+(k<<4)>>2]|0;y=b[l>>0]|0;k=(h[1232+(y&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0;if(!(y<<24>>24==0|(k|0)!=0)){m=o;do{l=l+1|0;m=m+1|0;y=b[l>>0]|0;k=(h[1232+(y&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(y<<24>>24==0|(k|0)!=0))}if(!k){B=0;t=C;return B|0}else{y=0;x=0}}else{y=0;x=0}}else if(i){m=f[a>>2]|0;n=B<<2;a:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))z=19;else{B=1;t=C;return B|0}else{do if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0))){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];y=m+284|0;f[y>>2]=(f[y>>2]|0)+1;break a}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];y=m+284|0;f[y>>2]=(f[y>>2]|0)+1;break a}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;z=19}while(0);if((z|0)==19)k=Dc(m,n,0)|0;if(!k){B=1;t=C;return B|0}else{f[i>>2]=k;y=k;x=k;break}}else{y=0;x=0}while(0);k=f[c+8>>2]|0;b:do if(k|0){v=(o|0)==0;w=(B|0)>0;s=c+4|0;u=(y|0)==0;r=k;c:while(1){do if(((B|0)==(j[r+50>>1]|0)?b[r+54>>0]|0:0)?(f[r+36>>2]|0)==0:0){if(v){q=r+55|0;if(((h[q>>0]|h[q+1>>0]<<8)&3)==2){z=29;break c}else break}d:do if(w){q=r+32|0;p=f[r+4>>2]|0;k=0;do{c=d[p+(k<<1)>>1]|0;i=c<<16>>16;if(c<<16>>16<0)break d;o=f[s>>2]|0;n=f[o+(i<<4)+8>>2]|0;n=(n|0)==0?43030:n;m=f[(f[q>>2]|0)+(k<<2)>>2]|0;c=b[m>>0]|0;l=(h[1232+(c&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0;if(!(c<<24>>24==0|(l|0)!=0))do{m=m+1|0;n=n+1|0;c=b[m>>0]|0;l=(h[1232+(c&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(c<<24>>24==0|(l|0)!=0));if(l|0)break d;o=f[o+(i<<4)>>2]|0;c=h[1232+(h[o>>0]|0)>>0]|0;l=0;do{n=f[e+36+(l<<3)+4>>2]|0;i=b[n>>0]|0;m=(h[1232+(i&255)>>0]|0)-c|0;if(!(i<<24>>24==0|(m|0)!=0)){i=o;do{n=n+1|0;i=i+1|0;D=b[n>>0]|0;m=(h[1232+(D&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(D<<24>>24==0|(m|0)!=0))}if(!m){z=45;break}l=l+1|0}while((l|0)<(B|0));if((z|0)==45){z=0;if(!u)f[y+(k<<2)>>2]=f[e+36+(l<<3)>>2]}if((l|0)==(B|0))break d;k=k+1|0}while((k|0)<(B|0))}else k=0;while(0);if((k|0)==(B|0))break c}while(0);k=f[r+20>>2]|0;if(!k)break b;else r=k}if((z|0)==29?(y|0)!=0&w:0){k=0;do{f[y+(k<<2)>>2]=f[e+36+(k<<3)>>2];k=k+1|0}while((k|0)!=(B|0))}f[g>>2]=r;D=0;t=C;return D|0}while(0);if(!(b[a+142>>0]|0)){D=f[e+8>>2]|0;f[A>>2]=f[f[e>>2]>>2];f[A+4>>2]=D;ni(a,56087,A)}k=f[a>>2]|0;if(!x){D=1;t=C;return D|0}if(k|0){if(f[k+480>>2]|0){Kc(k,x);D=1;t=C;return D|0}D=x;if((f[k+304>>2]|0)>>>0<=D>>>0?(f[k+308>>2]|0)>>>0>D>>>0:0){D=k+300|0;f[x>>2]=f[D>>2];f[D>>2]=x;D=1;t=C;return D|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](x);D=1;t=C;return D|0}else{D=ib[f[37368>>2]&255](x)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](x);D=1;t=C;return D|0}return 0}function Zm(a,c,d,e,g,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,u=0;s=t;t=t+32|0;p=s+16|0;o=s;if((((c|0?(r=(i|0)!=0,!(r&(k|0)!=0)):0)?!((j|0)==0^(k|0)==0):0)?!((d+1|0)>>>0>128|(l|0)==0^(m|0)==0):0)?((wz(c)|0)&1073741568|0)==0:0){q=e&2048;switch(e&7){case 4:{o=2;break}case 5:{o=Zm(a,c,d,q|1,g,i,j,k,l,m,n)|0;if(o|0){m=o;t=s;return m|0}o=Zm(a,c,d,q|2,g,i,j,k,l,m,n)|0;if(!o)o=3;else{m=o;t=s;return m|0}break}default:o=e&7}e=o&255;u=Rk(a,c,d,e,0)|0;if((u|0?(f[u+4>>2]&3|0)==(o|0):0)?(b[u>>0]|0)==(d|0):0){if(f[a+168>>2]|0){vg(a,5,56024,p);u=5;t=s;return u|0}o=f[a+4>>2]|0;if(o|0)do{u=o+145|0;p=(h[u>>0]|h[u+1>>0]<<8)&-4|1;b[u>>0]=p;b[u+1>>0]=p>>8;o=f[o+8>>2]|0}while((o|0)!=0)}o=Rk(a,c,d,e,1)|0;if(!o){u=7;t=s;return u|0}e=o+36|0;p=f[e>>2]|0;do if(p|0?(u=(f[p>>2]|0)+-1|0,f[p>>2]=u,(u|0)==0):0){ob[f[p+4>>2]&127](f[p+8>>2]|0);if(a|0){if(f[a+480>>2]|0){Kc(a,p);break}u=p;if((f[a+304>>2]|0)>>>0<=u>>>0?(f[a+308>>2]|0)>>>0>u>>>0:0){u=a+300|0;f[p>>2]=f[u>>2];f[u>>2]=p;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{u=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}while(0);if(n|0)f[n>>2]=(f[n>>2]|0)+1;f[e>>2]=n;u=o+4|0;f[u>>2]=f[u>>2]&3|q;f[o+16>>2]=r?i:j;f[o+20>>2]=k;f[o+24>>2]=l;f[o+28>>2]=m;f[o+8>>2]=g;b[o>>0]=d;u=0;t=s;return u|0}f[o>>2]=40433;f[o+4>>2]=154438;f[o+8>>2]=40460;Ac(21,40408,o);u=21;t=s;return u|0}function _m(a,c,e,g,i,j,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(f[c+56>>2]|0){a=0;return a|0}p=f[a>>2]|0;n=f[c+72>>2]|0;if(!n)m=-1e6;else{o=f[p+16>>2]|0;m=0;while(1)if((f[o+(m<<4)+12>>2]|0)==(n|0))break;else m=m+1|0}z=a+8|0;n=f[z>>2]|0;if(!n){if((f[a+116>>2]|0)==0?(d[p+76>>1]&8)==0:0)b[a+23>>0]=1;y=sl(a)|0}else y=n;if((i|0)<0)o=f[a+40>>2]|0;else o=i;n=o+1|0;p=(k|0)!=0;if(p)f[k>>2]=o;x=c+36|0;do if(!(f[x>>2]&32)){if(j|0?(b[j>>0]|0)==0:0){q=18;break}vl(a,o,m,c,e)}else q=18;while(0);if((q|0)==18)nm(a,m,f[c+28>>2]|0,(e|0)==110&1,f[c>>2]|0);if(l|0)f[l>>2]=n;o=f[c+8>>2]|0;if(!o)o=0;else{r=p^1;s=(j|0)==0;t=y+136|0;u=y+12|0;v=y+88|0;w=e&255;i=g;l=o;o=0;while(1){q=n+1|0;g=l+55|0;if(((h[g>>0]|h[g+1>>0]<<8)&3)==2){p=(f[x>>2]&32|0)==0;if(p|r)c=p?i:0;else{f[k>>2]=n;c=0}}else c=i;if(!(!s?!(b[j+(o+1)>>0]|0):0)){p=f[l+44>>2]|0;i=f[t>>2]|0;if((f[(f[u>>2]|0)+48>>2]|0)>(i|0)){f[t>>2]=i+1;g=f[v>>2]|0;b[g+(i*20|0)>>0]=w;d[g+(i*20|0)+2>>1]=0;f[g+(i*20|0)+4>>2]=n;f[g+(i*20|0)+8>>2]=p;f[g+(i*20|0)+12>>2]=m;f[g+(i*20|0)+16>>2]=0;b[g+(i*20|0)+1>>0]=0}else tl(y,e,n,p,m)|0;n=f[z>>2]|0;i=om(a,l)|0;a:do if(i|0){p=f[n>>2]|0;if(!(b[p+81>>0]|0)){p=f[n+88>>2]|0;g=(f[n+136>>2]|0)+-1|0;b[p+(g*20|0)+1>>0]=-9;f[p+(g*20|0)+16>>2]=i;break}if((f[p+480>>2]|0)==0?(g=(f[i>>2]|0)+-1|0,f[i>>2]=g,(g|0)==0):0){n=f[i+12>>2]|0;do if(n|0){if(f[n+480>>2]|0){Kc(n,i);break a}p=i;if((f[n+304>>2]|0)>>>0>p>>>0)break;if((f[n+308>>2]|0)>>>0<=p>>>0)break;g=n+300|0;f[i>>2]=f[g>>2];f[g>>2]=i;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{g=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}}while(0);n=f[t>>2]|0;if((n|0)>0)d[(f[v>>2]|0)+((n+-1|0)*20|0)+2>>1]=c&255}o=o+1|0;l=f[l+20>>2]|0;if(!l){n=q;break}else{i=c;n=q}}}m=a+40|0;if((n|0)<=(f[m>>2]|0)){a=o;return a|0}f[m>>2]=n;a=o;return a|0}function $m(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)>(d|0))return 0;bn(b,c,0,0,0)|0;return 0}function an(a,b,c){a=a|0;b=b|0;c=c|0;if(((b*1e3|0)+1e3|0)>(f[a+448>>2]|0)){c=0;return c|0}c=f[a>>2]|0;jb[f[c+60>>2]&255](c,1e6)|0;c=1;return c|0}function bn(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=t;t=t+16|0;o=q;if(e|0)f[e>>2]=-1;if(g|0)f[g>>2]=-1;if(d>>>0>3){a=21;t=q;return a|0}if((c|0)!=0?(i=b[c>>0]|0,i<<24>>24!=0):0){n=f[a+20>>2]|0;j=n+-1|0;a:do if((n|0)>0){n=1232+(i&255)|0;i=j;m=(f[a+16>>2]|0)+(j<<4)|0;while(1){k=f[m>>2]|0;if(k|0){l=b[k>>0]|0;j=(h[1232+(l&255)>>0]|0)-(h[n>>0]|0)|0;if(!(l<<24>>24==0|(j|0)!=0)){l=c;do{k=k+1|0;l=l+1|0;r=b[k>>0]|0;j=(h[1232+(r&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(r<<24>>24==0|(j|0)!=0))}if(!j)break a}if(!i)break;j=i+-1|0;if((i|0)>0){i=j;m=m+-16|0}else{i=j;break a}}i=109-(h[n>>0]|0)|0;if(!i){j=c;k=42464;do{k=k+1|0;j=j+1|0;r=b[k>>0]|0;i=(h[1232+(r&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(r<<24>>24==0|(i|0)!=0))}i=((i|0)!=0)<<31>>31}else i=j;while(0);if((i|0)<0){f[o>>2]=c;vg(a,1,56003,o);i=1}else p=23}else{i=10;p=23}do if((p|0)==23){f[a+404>>2]=0;i=Ej(a,i,d,e,g)|0;f[a+64>>2]=i;if(i|0){Bg(a,i);break}if(!(f[a+256>>2]|0))i=0;else{Bg(a,0);i=0}}while(0);if((i|0)==3082|(b[a+81>>0]|0)!=0){Di(a);i=7}else i=f[a+68>>2]&i;if(f[a+168>>2]|0){r=i;t=q;return r|0}f[a+264>>2]=0;r=i;t=q;return r|0}function cn(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0;h=a+136|0;i=f[h>>2]|0;if((f[(f[a+12>>2]|0)+48>>2]|0)>(i|0)){f[h>>2]=i+1;h=f[a+88>>2]|0;b[h+(i*20|0)>>0]=c;d[h+(i*20|0)+2>>1]=0;f[h+(i*20|0)+4>>2]=e;f[h+(i*20|0)+8>>2]=g;f[h+(i*20|0)+12>>2]=0;f[h+(i*20|0)+16>>2]=0;b[h+(i*20|0)+1>>0]=0;return i|0}else{i=tl(a,c,e,g,0)|0;return i|0}return 0}function dn(a){a=a|0;if(!a){a=0;return a|0}a=(wz(a)|0)&1073741823;return a|0}function en(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=f[a+116>>2]|0;e=(e|0)==0?a:e;a=e+84|0;c=f[a>>2]|0;d=1<>2]=c|d;if((b|0)!=1)return;tm(e)|0;return}function fn(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=t;t=t+16|0;j=l+8|0;i=l;do if(!(f[c+56>>2]|0)){e=f[c+36>>2]|0;if(e&1025|0){g=f[a>>2]|0;h=f[g+32>>2]|0;if(e&1|0){if((h&268435457|0)==1&0==0)break;if(!(b[a+18>>0]|0)){k=12;break}else break}if((!((h&268435456|0)==0&0==0)?(f[g+352>>2]|0)==0:0)?(f[g+180>>2]|0)==0:0)k=12}}else{g=f[a>>2]|0;e=c+64|0;while(1){e=f[e>>2]|0;if((f[e>>2]|0)==(g|0))break;else e=e+24|0}if(!(f[(f[f[e+4>>2]>>2]|0)+52>>2]|0))k=12}while(0);if((k|0)==12){f[i>>2]=f[c>>2];ni(a,56975,i);k=1;t=l;return k|0}if(d|0){k=0;t=l;return k|0}if(!(f[c+12>>2]|0)){k=0;t=l;return k|0}f[j>>2]=f[c>>2];ni(a,57004,j);k=1;t=l;return k|0}function gn(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=d[a+50>>1]|0;t=c+50|0;if(e<<16>>16!=(d[t>>1]|0)){c=0;return c|0}if((b[a+54>>0]|0)!=(b[c+54>>0]|0)){c=0;return c|0}a:do if(e<<16>>16){l=c+4|0;m=a+4|0;n=c+40|0;o=a+40|0;p=c+28|0;q=a+28|0;r=c+32|0;s=a+32|0;k=0;while(1){e=d[(f[l>>2]|0)+(k<<1)>>1]|0;if(e<<16>>16!=(d[(f[m>>2]|0)+(k<<1)>>1]|0)){e=0;g=18;break}if(e<<16>>16==-2?Ck(0,f[(f[n>>2]|0)+4+(k*20|0)>>2]|0,f[(f[o>>2]|0)+4+(k*20|0)>>2]|0,-1)|0:0){e=0;g=18;break}if((b[(f[p>>2]|0)+k>>0]|0)!=(b[(f[q>>2]|0)+k>>0]|0)){e=0;g=18;break}g=f[(f[r>>2]|0)+(k<<2)>>2]|0;i=f[(f[s>>2]|0)+(k<<2)>>2]|0;if(g){if(!i){e=0;g=18;break}u=b[g>>0]|0;e=(h[1232+(u&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0;if(!(u<<24>>24==0|(e|0)!=0))do{g=g+1|0;i=i+1|0;u=b[g>>0]|0;e=(h[1232+(u&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(e|0)!=0))}else e=((i|0)!=0)<<31>>31;k=k+1|0;if(e|0){e=0;g=18;break}if(k>>>0>=(j[t>>1]|0)>>>0)break a}if((g|0)==18)return e|0}while(0);u=(Ck(0,f[c+36>>2]|0,f[a+36>>2]|0,-1)|0)==0&1;return u|0}function hn(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0;if(!(f[e+36>>2]&8)){l=0;return l|0}i=f[a>>2]|0;if(f[i+24>>2]&4|0){l=0;return l|0}k=f[a+116>>2]|0;k=(k|0)==0?a:k;h=f[(f[(f[i+16>>2]|0)+(c<<4)+12>>2]|0)+72>>2]|0;if(((h|0?(f[h+36>>2]&32|0)==0:0)?(f[h+56>>2]|0)==0:0)?(d[h+42>>1]|0)==2:0){h=k+112|0;a=f[h>>2]|0;a:do if(!a)l=12;else while(1){if((f[a+4>>2]|0)==(e|0))break a;a=f[a>>2]|0;if(!a){l=12;break}}while(0);do if((l|0)==12){b:do if(f[i+272>>2]|0)if(!(b[i+81>>0]|0))l=22;else{l=0;return l|0}else{do if((j[i+276>>1]|0)>=16){g=i+300|0;a=f[g>>2]|0;if(a|0){f[g>>2]=f[a>>2];i=i+284|0;f[i>>2]=(f[i>>2]|0)+1;break b}g=i+296|0;a=f[g>>2]|0;if(!a){a=i+292|0;break}else{f[g>>2]=f[a>>2];i=i+284|0;f[i>>2]=(f[i>>2]|0)+1;break b}}else a=i+288|0;while(0);f[a>>2]=(f[a>>2]|0)+1;l=22}while(0);if((l|0)==22)a=Dc(i,16,0)|0;if(!a){l=0;return l|0}else{f[a>>2]=f[h>>2];f[h>>2]=a;f[a+4>>2]=e;f[a+8>>2]=c;l=k+44|0;k=f[l>>2]|0;f[a+12>>2]=k+2;f[l>>2]=k+4;break}}while(0);l=f[a+12>>2]|0;return l|0}l=a+36|0;f[l>>2]=(f[l>>2]|0)+1;f[a+12>>2]=523;l=0;return l|0}function jn(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;p=f[a+8>>2]|0;c=f[a+112>>2]|0;if(!c)return;r=(f[a>>2]|0)+16|0;s=a+19|0;t=a+44|0;n=p+136|0;u=p+12|0;o=p+88|0;while(1){j=f[r>>2]|0;k=c+8|0;l=f[k>>2]|0;m=f[c+12>>2]|0;e=b[s>>0]|0;if(!(e<<24>>24)){i=(f[t>>2]|0)+1|0;f[t>>2]=i}else{i=e+-1<<24>>24;b[s>>0]=i;i=f[a+144+((i&255)<<2)>>2]|0}g=m+2|0;e=f[n>>2]|0;h=e+7|0;if((f[(f[u>>2]|0)+48>>2]|0)>(e|0)){f[n>>2]=e+1;v=f[o>>2]|0;b[v+(e*20|0)>>0]=55;d[v+(e*20|0)+2>>1]=0;f[v+(e*20|0)+4>>2]=g;f[v+(e*20|0)+8>>2]=h;f[v+(e*20|0)+12>>2]=m;f[v+(e*20|0)+16>>2]=0;b[v+(e*20|0)+1>>0]=0}else tl(p,55,g,h,m)|0;vl(a,0,f[k>>2]|0,f[(f[j+(l<<4)+12>>2]|0)+72>>2]|0,110);e=wl(p,5,23024)|0;if(!e){c=14;break}v=m+1|0;f[e+4>>2]=v;f[e+28>>2]=v;f[e+44>>2]=m+-1;f[e+52>>2]=i;f[e+68>>2]=i;f[e+72>>2]=v;d[e+62>>1]=8;if(i|0?(q=b[s>>0]|0,(q&255)<8):0){b[s>>0]=q+1<<24>>24;f[a+144+((q&255)<<2)>>2]=i}c=f[c>>2]|0;if(!c){c=14;break}}if((c|0)==14)return}function kn(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c+20|0;g=f[l>>2]|0;a:do if(!g){j=f[a>>2]|0;k=c+42|0;i=d[k>>1]|0;g=(i<<16>>16)+1|0;do if(i<<16>>16>=0){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](g)|0;if(!g)break;else j=g}else{i=ib[f[37372>>2]&255](g)|0;if((f[18194]|0)>>>0>>0)f[18194]=g;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){m=f[18187]|0;h=LA(g|0,h|0,i|0,((i|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&h>>>0<=m>>>0)&1}h=ib[f[37356>>2]&255](i)|0;if(!h)break;g=ib[f[37368>>2]&255](h)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;j=h}else j=h}if((d[k>>1]|0)>0){h=c+4|0;g=0;do{b[j+g>>0]=b[(f[h>>2]|0)+(g<<4)+13>>0]|0;g=g+1|0}while((g|0)<(d[k>>1]|0))}else g=0;do{b[j+g>>0]=0;if((g|0)<=0)break;g=g+-1|0}while((b[j+g>>0]|0)==65);f[l>>2]=j;break a}while(0);g=j+81|0;if(b[g>>0]|0)return;if(b[j+82>>0]|0)return;b[g>>0]=1;if((f[j+180>>2]|0)>0)f[j+264>>2]=1;m=j+272|0;f[m>>2]=(f[m>>2]|0)+1;return}else j=g;while(0);c=(wz(j)|0)&1073741823;if(!c)return;if(!e){g=f[a>>2]|0;if(!(b[g+81>>0]|0)){ul(a,(f[a+88>>2]|0)+(((f[a+136>>2]|0)+-1|0)*20|0)|0,j,c);return}else{qg(g,c,j);return}}i=a+136|0;g=f[i>>2]|0;if((f[(f[a+12>>2]|0)+48>>2]|0)>(g|0)){f[i>>2]=g+1;m=f[a+88>>2]|0;b[m+(g*20|0)>>0]=91;d[m+(g*20|0)+2>>1]=0;f[m+(g*20|0)+4>>2]=e;f[m+(g*20|0)+8>>2]=c;f[m+(g*20|0)+12>>2]=0;f[m+(g*20|0)+16>>2]=0;b[m+(g*20|0)+1>>0]=0}else g=tl(a,91,e,c,0)|0;h=f[a>>2]|0;if(b[h+81>>0]|0){qg(h,c,j);return}if((g|0)<0)g=(f[i>>2]|0)+-1|0;ul(a,(f[a+88>>2]|0)+(g*20|0)|0,j,c);return}function ln(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0;ca=t;t=t+96|0;X=ca+16|0;o=ca+8|0;n=ca;W=ca+56|0;p=ca+24|0;Z=f[a+116>>2]|0;Z=(Z|0)==0?a:Z;aa=f[a>>2]|0;$=(aa|0)==0;a:do if($){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](24)|0;P=24;break}i=ib[f[37372>>2]&255](24)|0;if((f[18194]|0)>>>0<24)f[18194]=24;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){_=f[18187]|0;U=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;T=ba()|0;f[17976]=((T|0)<0|(T|0)==0&U>>>0<=_>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(!k){aa=0;t=ca;return aa|0}i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;_=k}else _=k}else{if(f[aa+272>>2]|0){if(b[aa+81>>0]|0){aa=0;t=ca;return aa|0}}else{do if((j[aa+276>>1]|0)>=24){k=aa+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];P=aa+284|0;f[P>>2]=(f[P>>2]|0)+1;P=24;break a}k=aa+296|0;i=f[k>>2]|0;if(!i){i=aa+292|0;break}else{f[k>>2]=f[i>>2];P=aa+284|0;f[P>>2]=(f[P>>2]|0)+1;P=24;break a}}else i=aa+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(aa,24,0)|0;P=24}while(0);if((P|0)==24)if(!i){aa=0;t=ca;return aa|0}else _=i;l=_;m=l+24|0;do{b[l>>0]=0;l=l+1|0}while((l|0)<(m|0));U=Z+256|0;f[_+4>>2]=f[U>>2];f[U>>2]=_;b:do if($){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](28)|0;P=48;break}i=ib[f[37372>>2]&255](28)|0;if((f[18194]|0)>>>0<28)f[18194]=28;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){U=f[18187]|0;T=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;S=ba()|0;f[17976]=((S|0)<0|(S|0)==0&T>>>0<=U>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(k){i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;Q=k}else Q=k}else P=49}else{if(f[aa+272>>2]|0){if(b[aa+81>>0]|0){P=49;break}}else{do if((j[aa+276>>1]|0)>=28){k=aa+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];P=aa+284|0;f[P>>2]=(f[P>>2]|0)+1;P=48;break b}k=aa+296|0;i=f[k>>2]|0;if(!i){i=aa+292|0;break}else{f[k>>2]=f[i>>2];P=aa+284|0;f[P>>2]=(f[P>>2]|0)+1;P=48;break b}}else i=aa+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(aa,28,0)|0;P=48}while(0);if((P|0)==48)if(!i)P=49;else Q=i;if((P|0)==49){f[_+8>>2]=0;aa=0;t=ca;return aa|0}l=Q;m=l+24|0;do{b[l>>0]=0;l=l+1|0}while((l|0)<(m|0));f[_+8>>2]=Q;R=(f[Z+8>>2]|0)+208|0;f[Q+24>>2]=f[R>>2];f[R>>2]=Q;f[_>>2]=c;f[_+12>>2]=g;R=_+16|0;f[R>>2]=-1;S=_+20|0;f[S>>2]=-1;c:do if($){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](272)|0;P=73;break}i=ib[f[37372>>2]&255](272)|0;if((f[18194]|0)>>>0<272)f[18194]=272;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){U=f[18187]|0;T=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;O=ba()|0;f[17976]=((O|0)<0|(O|0)==0&T>>>0<=U>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(!k){aa=0;t=ca;return aa|0}i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;U=k}else U=k}else{if(f[aa+272>>2]|0){if(b[aa+81>>0]|0){aa=0;t=ca;return aa|0}}else{do if((j[aa+276>>1]|0)>=272){k=aa+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];P=aa+284|0;f[P>>2]=(f[P>>2]|0)+1;P=73;break c}k=aa+296|0;i=f[k>>2]|0;if(!i){i=aa+292|0;break}else{f[k>>2]=f[i>>2];P=aa+284|0;f[P>>2]=(f[P>>2]|0)+1;P=73;break c}}else i=aa+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(aa,272,0)|0;P=73}while(0);if((P|0)==73)if(!i){aa=0;t=ca;return aa|0}else U=i;N=U+4|0;_A(N|0,0,268)|0;k=p+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;f[p>>2]=U;f[U>>2]=aa;f[U+120>>2]=e;f[U+116>>2]=Z;k=f[c>>2]|0;f[U+236>>2]=k;b[U+140>>0]=b[c+8>>0]|0;f[U+128>>2]=f[a+128>>2];s=U+8|0;i=f[s>>2]|0;T=U;do if(!i){i=sl(U)|0;if(i|0){O=i;i=f[c>>2]|0;P=78;break}k=f[U>>2]|0;i=f[U+64>>2]|0;do if(i|0){if(k|0){if(f[k+480>>2]|0){Kc(k,i);break}Z=i;if((f[k+304>>2]|0)>>>0<=Z>>>0?(f[k+308>>2]|0)>>>0>Z>>>0:0){Z=k+300|0;f[i>>2]=f[Z>>2];f[Z>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{Z=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);i=f[U+68>>2]|0;if(i|0)jg(k,i);i=U+24|0;if(k){Z=k+272|0;f[Z>>2]=(f[Z>>2]|0)-(h[i>>0]|0)}}else{O=i;i=k;P=78}while(0);if((P|0)==78){do if(i|0){f[n>>2]=i;e=Ig(aa,56961,n)|0;i=f[O>>2]|0;if(!(b[i+81>>0]|0)){i=(f[O+136>>2]|0)+-1|0;k=f[O+88>>2]|0;l=k+(i*20|0)+1|0;if(b[l>>0]|0){ul(O,k+(i*20|0)|0,e,-7);break}if(!e)break;f[k+(i*20|0)+16>>2]=e;b[l>>0]=-7;break}if(e|0){if(i|0){if(f[i+480>>2]|0){Kc(i,e);break}M=e;if((f[i+304>>2]|0)>>>0<=M>>>0?(f[i+308>>2]|0)>>>0>M>>>0:0){M=i+300|0;f[e>>2]=f[M>>2];f[M>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{M=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-M;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}}while(0);i=f[c+12>>2]|0;do if(!i)i=0;else{r=Bk(aa,i,0,0)|0;q=(r|0)==0;do if(q)P=104;else{e=p+24|0;l=j[e>>1]|0;m=l&4112;d[e>>1]=l&61423;f[W>>2]=T;f[W+4>>2]=146;f[W+8>>2]=147;f[W+12>>2]=0;f[W+24>>2]=p;l=r+24|0;i=U+204|0;M=(f[i>>2]|0)+(f[l>>2]|0)|0;f[i>>2]=M;i=f[(f[U>>2]|0)+120>>2]|0;if((i|0)>=(M|0)){oi(W,r)|0;k=f[W>>2]|0;i=k+204|0;f[i>>2]=(f[i>>2]|0)-(f[l>>2]|0);i=d[e>>1]|0;if(i&16){M=r+4|0;f[M>>2]=f[M>>2]|2}d[e>>1]=m|i&65535;if((f[p+20>>2]|0)<=0)if((f[k+36>>2]|0)<1){P=104;break}else{i=0;break}}else{f[o>>2]=i;ni(U,42710,o)}i=0}while(0);if((P|0)==104){if(!(b[aa+81>>0]|0)){i=f[O+12>>2]|0;o=i+60|0;p=f[o>>2]|0;f[o>>2]=p+1;o=i+64|0;if(!(p+-1&p)){m=p<<3|4;n=f[i>>2]|0;i=f[o>>2]|0;d:do if(i){l=i;e=n+304|0;if(((f[e>>2]|0)>>>0<=l>>>0?(f[n+308>>2]|0)>>>0>l>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;k=Lc(n,i,m,0)|0;if(!k){if(f[n+480>>2]|0){Kc(n,i);i=0;break}do if((f[e>>2]|0)>>>0<=l>>>0){if((f[n+308>>2]|0)>>>0<=l>>>0)break;M=n+300|0;f[i>>2]=f[M>>2];f[M>>2]=i;i=0;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{M=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-M;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else i=k}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){k=n+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];M=n+284|0;f[M>>2]=(f[M>>2]|0)+1;break d}k=n+296|0;i=f[k>>2]|0;if(!i){i=n+292|0;break}else{f[k>>2]=f[i>>2];M=n+284|0;f[M>>2]=(f[M>>2]|0)+1;break d}}else i=n+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(n,m,0)|0}while(0);f[o>>2]=i}else i=f[o>>2]|0;if(i|0)f[i+(p<<2)>>2]=-1;i=~p;zm(U,r,i,16)}else i=0;if(q)break}ig(aa,r)}while(0);J=f[s>>2]|0;K=f[U>>2]|0;k=f[c+28>>2]|0;e:do if(k|0){L=(g|0)==11;M=U+141|0;v=g&255;w=J+136|0;x=J+12|0;y=W+4|0;z=J+88|0;A=(K|0)==0;B=K+272|0;C=K+276|0;D=K+81|0;E=K+288|0;F=K+300|0;G=K+296|0;H=K+284|0;I=K+292|0;while(1){if(L)l=h[k+1>>0]|0;else l=v;b[M>>0]=l;l=f[k+32>>2]|0;f:do if(l|0){f[X>>2]=l;n=Ig(K,44751,X)|0;l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;u=f[z>>2]|0;b[u+(l*20|0)>>0]=-87;d[u+(l*20|0)+2>>1]=0;f[u+(l*20|0)+4>>2]=2147483647;f[u+(l*20|0)+8>>2]=1;f[u+(l*20|0)+12>>2]=0;f[u+(l*20|0)+16>>2]=0;b[u+(l*20|0)+1>>0]=0}else l=tl(J,169,2147483647,1,0)|0;e=f[J>>2]|0;if(!(b[e+81>>0]|0)){if((l|0)<0)l=(f[w>>2]|0)+-1|0;e=f[z>>2]|0;m=e+(l*20|0)+1|0;if(b[m>>0]|0){ul(J,e+(l*20|0)|0,n,-7);break}if(!n)break;f[e+(l*20|0)+16>>2]=n;b[m>>0]=-7;break}if(n|0){do if(e|0){if(f[e+480>>2]|0){Kc(e,n);break f}l=n;if((f[e+304>>2]|0)>>>0<=l>>>0){if((f[e+308>>2]|0)>>>0<=l>>>0)break;u=e+300|0;f[n>>2]=f[u>>2];f[u>>2]=n;break f}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{u=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}}while(0);switch(b[k>>0]|0){case 118:{p=f[U>>2]|0;q=ol(p,0,0,0)|0;if(q|0){n=f[k+12>>2]|0;g:do if(!n)l=0;else{o=(wz(n)|0)+1|0;h:do if(!p){u=KA(o|0,0,-1,-1)|0;g=ba()|0;if(g>>>0>0|(g|0)==0&u>>>0>2147483390){l=0;break g}if(!(f[9328]|0)){l=ib[f[37356>>2]&255](o)|0;P=189;break}l=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;m=71896;e=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&e>>>0>0){u=f[18187]|0;g=LA(e|0,m|0,l|0,((l|0)<0)<<31>>31|0)|0;s=ba()|0;f[17976]=((s|0)<0|(s|0)==0&g>>>0<=u>>>0)&1}l=ib[f[37356>>2]&255](l)|0;if(!l){l=0;break g}e=ib[f[37368>>2]&255](l)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0<=(f[18196]|0)>>>0)break;f[18196]=e}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){l=0;break g}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){e=p+300|0;l=f[e>>2]|0;if(l|0){f[e>>2]=f[l>>2];P=p+284|0;f[P>>2]=(f[P>>2]|0)+1;P=189;break h}e=p+296|0;l=f[e>>2]|0;if(!l){l=p+292|0;break}else{f[e>>2]=f[l>>2];P=p+284|0;f[P>>2]=(f[P>>2]|0)+1;P=189;break h}}else l=p+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1}l=Dc(p,o,0)|0;P=189}while(0);if((P|0)==189){P=0;if(!l){l=0;break}}YA(l|0,n|0,o|0)|0}while(0);f[q+8+(((f[q>>2]|0)+-1|0)*72|0)+8>>2]=l;e=f[(f[k+4>>2]|0)+20>>2]|0;if(!e)l=-1e6;else{m=f[p+16>>2]|0;l=0;while(1)if((f[m+(l<<4)+12>>2]|0)==(e|0))break;else l=l+1|0}if((l|0)==0|(l|0)>1){m=f[(f[p+16>>2]|0)+(l<<4)>>2]|0;i:do if(!m)l=0;else{n=(wz(m)|0)+1|0;j:do if(f[p+272>>2]|0)if(!(b[p+81>>0]|0))P=206;else{l=0;break i}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){e=p+300|0;l=f[e>>2]|0;if(l|0){f[e>>2]=f[l>>2];u=p+284|0;f[u>>2]=(f[u>>2]|0)+1;break j}e=p+296|0;l=f[e>>2]|0;if(!l){l=p+292|0;break}else{f[e>>2]=f[l>>2];u=p+284|0;f[u>>2]=(f[u>>2]|0)+1;break j}}else l=p+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;P=206}while(0);if((P|0)==206){P=0;l=Dc(p,n,0)|0}if(!l){l=0;break}YA(l|0,m|0,n|0)|0}while(0);f[q+8+(((f[q>>2]|0)+-1|0)*72|0)+4>>2]=l}}e=Ik(K,f[k+20>>2]|0,0)|0;l=f[k+16>>2]|0;if(!l)l=0;else l=Bk(K,l,0,0)|0;Ol(U,q,e,l,h[M>>0]|0,0);break}case 116:{p=f[U>>2]|0;u=ol(p,0,0,0)|0;if(u|0){n=f[k+12>>2]|0;k:do if(!n)l=0;else{o=(wz(n)|0)+1|0;l:do if(!p){g=KA(o|0,0,-1,-1)|0;s=ba()|0;if(s>>>0>0|(s|0)==0&g>>>0>2147483390){l=0;break k}if(!(f[9328]|0)){l=ib[f[37356>>2]&255](o)|0;P=239;break}l=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;m=71896;e=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&e>>>0>0){g=f[18187]|0;s=LA(e|0,m|0,l|0,((l|0)<0)<<31>>31|0)|0;r=ba()|0;f[17976]=((r|0)<0|(r|0)==0&s>>>0<=g>>>0)&1}l=ib[f[37356>>2]&255](l)|0;if(!l){l=0;break k}e=ib[f[37368>>2]&255](l)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0<=(f[18196]|0)>>>0)break;f[18196]=e}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){l=0;break k}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){e=p+300|0;l=f[e>>2]|0;if(l|0){f[e>>2]=f[l>>2];P=p+284|0;f[P>>2]=(f[P>>2]|0)+1;P=239;break l}e=p+296|0;l=f[e>>2]|0;if(!l){l=p+292|0;break}else{f[e>>2]=f[l>>2];P=p+284|0;f[P>>2]=(f[P>>2]|0)+1;P=239;break l}}else l=p+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1}l=Dc(p,o,0)|0;P=239}while(0);if((P|0)==239){P=0;if(!l){l=0;break}}YA(l|0,n|0,o|0)|0}while(0);f[u+8+(((f[u>>2]|0)+-1|0)*72|0)+8>>2]=l;e=f[(f[k+4>>2]|0)+20>>2]|0;if(!e)l=-1e6;else{m=f[p+16>>2]|0;l=0;while(1)if((f[m+(l<<4)+12>>2]|0)==(e|0))break;else l=l+1|0}if((l|0)==0|(l|0)>1){m=f[(f[p+16>>2]|0)+(l<<4)>>2]|0;m:do if(!m)l=0;else{n=(wz(m)|0)+1|0;n:do if(f[p+272>>2]|0)if(!(b[p+81>>0]|0))P=256;else{l=0;break m}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){e=p+300|0;l=f[e>>2]|0;if(l|0){f[e>>2]=f[l>>2];g=p+284|0;f[g>>2]=(f[g>>2]|0)+1;break n}e=p+296|0;l=f[e>>2]|0;if(!l){l=p+292|0;break}else{f[e>>2]=f[l>>2];g=p+284|0;f[g>>2]=(f[g>>2]|0)+1;break n}}else l=p+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;P=256}while(0);if((P|0)==256){P=0;l=Dc(p,n,0)|0}if(!l){l=0;break}YA(l|0,m|0,n|0)|0}while(0);f[u+8+(((f[u>>2]|0)+-1|0)*72|0)+4>>2]=l}}r=Hk(K,f[k+8>>2]|0,0)|0;s=Lk(K,f[k+24>>2]|0)|0;g=h[M>>0]|0;e=f[k+28>>2]|0;do if(!e)l=0;else{q=Ik(K,f[e>>2]|0,0)|0;l=f[e+4>>2]|0;if(!l)p=0;else p=Bk(K,l,0,0)|0;o=Ik(K,f[e+8>>2]|0,0)|0;l=f[e+12>>2]|0;if(!l)n=0;else n=Bk(K,l,0,0)|0;o:do if(A){if(!(f[9328]|0)){V=ib[f[37356>>2]&255](36)|0;P=286;break}l=ib[f[37372>>2]&255](36)|0;if((f[18194]|0)>>>0<36)f[18194]=36;m=71896;e=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&e>>>0>0){da=f[18187]|0;m=LA(e|0,m|0,l|0,((l|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&m>>>0<=da>>>0)&1}l=ib[f[37356>>2]&255](l)|0;if(!l)break;e=ib[f[37368>>2]&255](l)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0<=(f[18196]|0)>>>0){P=295;break}f[18196]=e;P=295}else{if(f[B>>2]|0){if(b[D>>0]|0)break}else{do if((j[C>>1]|0)<36)l=E;else{l=f[F>>2]|0;if(l|0){f[F>>2]=f[l>>2];f[H>>2]=(f[H>>2]|0)+1;V=l;P=286;break o}l=f[G>>2]|0;if(!l){l=I;break}f[G>>2]=f[l>>2];f[H>>2]=(f[H>>2]|0)+1;V=l;P=286;break o}while(0);f[l>>2]=(f[l>>2]|0)+1}V=Dc(K,36,0)|0;P=286}while(0);if((P|0)==286?(P=0,V|0):0){l=V;P=295}if((P|0)==295){P=0;f[l>>2]=q;f[l+4>>2]=p;f[l+8>>2]=o;f[l+12>>2]=n;f[l+16>>2]=0;break}if(q|0)jg(K,q);if(p|0)ig(K,p);if(o|0)jg(K,o);if(!n){l=0;break}ig(K,n);l=0}while(0);Ql(U,u,r,s,g,l);break}case 117:{p=f[U>>2]|0;q=ol(p,0,0,0)|0;if(q|0){n=f[k+12>>2]|0;p:do if(!n)l=0;else{o=(wz(n)|0)+1|0;q:do if(!p){da=KA(o|0,0,-1,-1)|0;u=ba()|0;if(u>>>0>0|(u|0)==0&da>>>0>2147483390){l=0;break p}if(!(f[9328]|0)){l=ib[f[37356>>2]&255](o)|0;P=323;break}l=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;m=71896;e=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&e>>>0>0){da=f[18187]|0;u=LA(e|0,m|0,l|0,((l|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&u>>>0<=da>>>0)&1}l=ib[f[37356>>2]&255](l)|0;if(!l){l=0;break p}e=ib[f[37368>>2]&255](l)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0<=(f[18196]|0)>>>0)break;f[18196]=e}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){l=0;break p}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){e=p+300|0;l=f[e>>2]|0;if(l|0){f[e>>2]=f[l>>2];P=p+284|0;f[P>>2]=(f[P>>2]|0)+1;P=323;break q}e=p+296|0;l=f[e>>2]|0;if(!l){l=p+292|0;break}else{f[e>>2]=f[l>>2];P=p+284|0;f[P>>2]=(f[P>>2]|0)+1;P=323;break q}}else l=p+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1}l=Dc(p,o,0)|0;P=323}while(0);if((P|0)==323){P=0;if(!l){l=0;break}}YA(l|0,n|0,o|0)|0}while(0);f[q+8+(((f[q>>2]|0)+-1|0)*72|0)+8>>2]=l;e=f[(f[k+4>>2]|0)+20>>2]|0;if(!e)l=-1e6;else{m=f[p+16>>2]|0;l=0;while(1)if((f[m+(l<<4)+12>>2]|0)==(e|0))break;else l=l+1|0}if((l|0)==0|(l|0)>1){m=f[(f[p+16>>2]|0)+(l<<4)>>2]|0;r:do if(!m)l=0;else{n=(wz(m)|0)+1|0;s:do if(f[p+272>>2]|0)if(!(b[p+81>>0]|0))P=340;else{l=0;break r}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){e=p+300|0;l=f[e>>2]|0;if(l|0){f[e>>2]=f[l>>2];da=p+284|0;f[da>>2]=(f[da>>2]|0)+1;break s}e=p+296|0;l=f[e>>2]|0;if(!l){l=p+292|0;break}else{f[e>>2]=f[l>>2];da=p+284|0;f[da>>2]=(f[da>>2]|0)+1;break s}}else l=p+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;P=340}while(0);if((P|0)==340){P=0;l=Dc(p,n,0)|0}if(!l){l=0;break}YA(l|0,m|0,n|0)|0}while(0);f[q+8+(((f[q>>2]|0)+-1|0)*72|0)+4>>2]=l}}l=f[k+16>>2]|0;if(!l)l=0;else l=Bk(K,l,0,0)|0;Nl(U,q,l);break}default:{l=Hk(K,f[k+8>>2]|0,0)|0;b[W>>0]=4;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;Kl(U,l,W)|0;if(l|0)mg(K,l,1)}}do if((b[k>>0]|0)!=127){l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;m=f[z>>2]|0;b[m+(l*20|0)>>0]=125;l=m+(l*20|0)+1|0;m=l+19|0;do{b[l>>0]=0;l=l+1|0}while((l|0)<(m|0));break}else{tl(J,125,0,0,0)|0;break}}while(0);k=f[k+36>>2]|0;if(!k)break e}}while(0);k=f[O+12>>2]|0;if(i|0?(Y=f[k+64>>2]|0,Y|0):0)f[Y+(~i<<2)>>2]=f[O+136>>2];e=O+136|0;i=f[e>>2]|0;if((f[k+48>>2]|0)>(i|0)){f[e>>2]=i+1;l=f[O+88>>2]|0;b[l+(i*20|0)>>0]=69;l=l+(i*20|0)+1|0;m=l+19|0;do{b[l>>0]=0;l=l+1|0}while((l|0)<(m|0))}else tl(O,69,0,0,0)|0;l=a+36|0;do if(f[l>>2]|0){k=f[U>>2]|0;i=f[N>>2]|0;if(i|0){if(k|0){if(f[k+480>>2]|0){Kc(k,i);break}da=i;if((f[k+304>>2]|0)>>>0<=da>>>0?(f[k+308>>2]|0)>>>0>da>>>0:0){da=k+300|0;f[i>>2]=f[da>>2];f[da>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{da=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}}else{f[a+4>>2]=f[N>>2];f[l>>2]=f[U+36>>2];f[a+12>>2]=f[U+12>>2]}while(0);if((b[aa+81>>0]|0)==0?(f[l>>2]|0)==0:0){a=O+88|0;da=f[a>>2]|0;go(O,Z+96|0);f[Q+4>>2]=f[e>>2];f[a>>2]=0;f[Q>>2]=da}f[Q+8>>2]=f[U+44>>2];f[Q+12>>2]=f[U+40>>2];f[Q+20>>2]=c;f[R>>2]=f[U+132>>2];f[S>>2]=f[U+136>>2];l=f[O>>2]|0;gg(l,O);e=f[O+4>>2]|0;k=O+8|0;i=f[k>>2]|0;if(!e)f[l+4>>2]=i;else{f[e+8>>2]=i;i=f[k>>2]|0}if(i|0)f[i+4>>2]=e;f[O+20>>2]=1443283912;f[O>>2]=0;do if(l){if(f[l+480>>2]|0){Kc(l,O);break}da=O;if((f[l+304>>2]|0)>>>0<=da>>>0?(f[l+308>>2]|0)>>>0>da>>>0:0){da=l+300|0;f[O>>2]=f[da>>2];f[da>>2]=O}else P=387}else P=387;while(0);do if((P|0)==387)if(!(f[9328]|0)){ob[f[37360>>2]&127](O);break}else{da=ib[f[37368>>2]&255](O)|0;f[18187]=(f[18187]|0)-da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](O);break}while(0);l=f[U>>2]|0;i=f[U+64>>2]|0;t:do if(i|0){do if(l|0){if(f[l+480>>2]|0){Kc(l,i);break t}k=i;if((f[l+304>>2]|0)>>>0>k>>>0)break;if((f[l+308>>2]|0)>>>0<=k>>>0)break;da=l+300|0;f[i>>2]=f[da>>2];f[da>>2]=i;break t}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{da=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);i=f[U+68>>2]|0;if(i|0)jg(l,i);i=U+24|0;if(l){da=l+272|0;f[da>>2]=(f[da>>2]|0)-(h[i>>0]|0)}}b[i>>0]=0;if(!$){if(f[aa+480>>2]|0){Kc(aa,U);da=_;t=ca;return da|0}if((f[aa+304>>2]|0)>>>0<=T>>>0?(f[aa+308>>2]|0)>>>0>T>>>0:0){da=aa+300|0;f[U>>2]=f[da>>2];f[da>>2]=U;da=_;t=ca;return da|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](U);da=_;t=ca;return da|0}else{da=ib[f[37368>>2]&255](U)|0;f[18187]=(f[18187]|0)-da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](U);da=_;t=ca;return da|0}return 0} -function af(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=t;t=t+16|0;J=N;D=h[d+1>>0]|0;E=h[d>>0]|0;C=d+2|0;H=(b[d+3>>0]|0)==0;r=0;a:while(1){y=c;c=a;while(1){j=b[c>>0]|0;c=c+1|0;a=j&255;if(j<<24>>24>-1)if(!(j<<24>>24)){F=124;break a}else{f=c;B=a;F=10}else if((j&255)>191){a=h[5728+(a+-192)>>0]|0;j=b[c>>0]|0;if((j&-64)<<24>>24==-128)do{c=c+1|0;a=a<<6|j&63;j=b[c>>0]|0}while((j&-64)<<24>>24==-128);if((a&-2|0)==65534|(a>>>0<128|(a&-2048|0)==55296)){z=c;A=65533}else{f=c;B=a;F=10}}else{f=c;B=a;F=10}if((F|0)==10){F=0;if((B|0)==(E|0)){F=11;break a}else{z=f;A=B}}if((A|0)!=(e|0)){i=A;x=r;v=z;break}if(!(b[C>>0]|0)){F=66;break}c=y+1|0;a=b[y>>0]|0;j=a&255;if((a&255)<=191)if(!(a<<24>>24)){g=1;F=125;break a}else q=c;else{a=h[5728+(j+-192)>>0]|0;j=b[c>>0]|0;if((j&-64)<<24>>24==-128)do{c=c+1|0;a=a<<6|j&63;j=b[c>>0]|0}while((j&-64)<<24>>24==-128);q=c;j=(a&-2|0)==65534|(a>>>0<128|(a&-2048|0)==55296)?65533:a}c=z+1|0;a=b[z>>0]|0;k=a&255;do if((a&255)<=191){if(a<<24>>24==94){l=z+2|0;p=b[c>>0]|0;c=p&255;if((p&255)>191){c=h[5728+(c+-192)>>0]|0;k=b[l>>0]|0;if((k&-64)<<24>>24==-128){a=c;c=l;do{c=c+1|0;a=a<<6|k&63;k=b[c>>0]|0}while((k&-64)<<24>>24==-128)}else{a=c;c=l}n=1;m=0;k=(a&-2|0)==65534|(a>>>0<128|(a&-2048|0)==55296)?65533:a;break}else{n=1;k=c;c=l}}else n=0;if((k|0)==93){m=(j|0)==93&1;l=c+1|0;p=b[c>>0]|0;k=p&255;if((p&255)>191){c=h[5728+(k+-192)>>0]|0;k=b[l>>0]|0;if((k&-64)<<24>>24==-128){a=c;c=l;do{c=c+1|0;a=a<<6|k&63;k=b[c>>0]|0}while((k&-64)<<24>>24==-128)}else{a=c;c=l}k=(a&-2|0)==65534|(a>>>0<128|(a&-2048|0)==55296)?65533:a}else c=l}else m=0}else{a=h[5728+(k+-192)>>0]|0;k=b[c>>0]|0;if((k&-64)<<24>>24==-128)do{c=c+1|0;a=a<<6|k&63;k=b[c>>0]|0}while((k&-64)<<24>>24==-128);n=0;m=0;k=(a&-2|0)==65534|(a>>>0<128|(a&-2048|0)==55296)?65533:a}while(0);p=0;o=m;b:while(1){switch(k|0){case 0:{g=1;F=125;break a}case 93:break b;case 45:{m=b[c>>0]|0;if(m<<24>>24!=93?(p|0)!=0&m<<24>>24!=0:0){a=c+1|0;l=m&255;if((m&255)>191){l=h[5728+(l+-192)>>0]|0;m=b[a>>0]|0;if((m&-64)<<24>>24==-128)do{a=a+1|0;l=l<<6|m&63;m=b[a>>0]|0}while((m&-64)<<24>>24==-128);l=(l&-2|0)==65534|(l>>>0<128|(l&-2048|0)==55296)?65533:l}w=0;u=a;s=j>>>0

>>0|j>>>0>l>>>0?o:1}else F=105;break}default:F=105}if((F|0)==105){F=0;w=k;u=c;s=(j|0)==(k|0)?1:o}c=u+1|0;p=b[u>>0]|0;k=p&255;if((p&255)>191){a=h[5728+(k+-192)>>0]|0;k=b[c>>0]|0;if((k&-64)<<24>>24==-128)do{c=c+1|0;a=a<<6|k&63;k=b[c>>0]|0}while((k&-64)<<24>>24==-128);k=(a&-2|0)==65534|(a>>>0<128|(a&-2048|0)==55296)?65533:a}p=w;o=s}if((o|0)==(n|0)){g=1;F=125;break a}else y=q}do if((F|0)==66){F=0;a=z+1|0;c=b[z>>0]|0;i=c&255;if((c&255)<=191)if(!(c<<24>>24)){g=1;F=125;break a}else{x=a;v=a;break}c=h[5728+(i+-192)>>0]|0;i=b[a>>0]|0;if((i&-64)<<24>>24==-128)do{a=a+1|0;c=c<<6|i&63;i=b[a>>0]|0}while((i&-64)<<24>>24==-128);i=(c&-2|0)==65534|(c>>>0<128|(c&-2048|0)==55296)?65533:c;x=a;v=a}while(0);r=b[y>>0]|0;c=y+1|0;a=r&255;if((r&255)>191){a=h[5728+(a+-192)>>0]|0;j=b[c>>0]|0;if((j&-64)<<24>>24==-128)do{c=c+1|0;a=a<<6|j&63;j=b[c>>0]|0}while((j&-64)<<24>>24==-128);a=(a&-2|0)==65534|(a>>>0<128|(a&-2048|0)==55296)?65533:a}do if((i|0)!=(a|0)){if(!H?((a|i)>>>0<128?(b[1232+(i&255)>>0]|0)==(b[1232+(a&255)>>0]|0):0):0)break;if((i|0)!=(D|0)){g=1;F=125;break a}if(!((v|0)!=(x|0)&(a|0)!=0)){g=1;F=125;break a}}while(0);r=x;a=v}if((F|0)==11){j=y;c:while(1){while(1){B=b[f>>0]|0;f=f+1|0;c=B&255;if((B&255)>191){c=h[5728+(c+-192)>>0]|0;i=b[f>>0]|0;if((i&-64)<<24>>24==-128)do{f=f+1|0;c=c<<6|i&63;i=b[f>>0]|0}while((i&-64)<<24>>24==-128);a=f;c=(c&-2|0)==65534|(c>>>0<128|(c&-2048|0)==55296)?65533:c}else a=f;f=(c|0)==(D|0);if(!((c|0)==(E|0)|f))break c;if(f)break;else f=a}f=j+1|0;i=b[j>>0]|0;if((i&255)>191){if((b[f>>0]&-64)<<24>>24==-128)do f=f+1|0;while((b[f>>0]&-64)<<24>>24==-128)}else if(!(i<<24>>24)){g=2;F=125;break}j=f;f=a}if((F|0)==125){t=N;return g|0}if(!c){e=0;t=N;return e|0}do if((c|0)==(e|0)){if(!(b[C>>0]|0)){f=a+1|0;c=b[a>>0]|0;g=c&255;if((c&255)<=191){if(!(c<<24>>24))g=2;else{G=g;I=f;F=43;break}t=N;return g|0}c=h[5728+(g+-192)>>0]|0;g=b[f>>0]|0;if((g&-64)<<24>>24==-128)do{f=f+1|0;c=c<<6|g&63;g=b[f>>0]|0}while((g&-64)<<24>>24==-128);if((c&-2|0)==65534|(c>>>0<128|(c&-2048|0)==55296)){K=65533;L=f;break}else{G=c;I=f;F=43;break}}i=a+-1|0;c=b[j>>0]|0;if(!(c<<24>>24)){e=2;t=N;return e|0}f=j;while(1){g=af(i,f,d,e)|0;if((g|0)!=1){F=125;break}g=f+1|0;if((c&255)>191){f=g;while(1){c=b[f>>0]|0;if((c&-64)<<24>>24==-128)f=f+1|0;else break}}else{f=g;c=b[g>>0]|0}if(!(c<<24>>24)){g=2;F=125;break}}if((F|0)==125){t=N;return g|0}}else{G=c;I=a;F=43}while(0);if((F|0)==43)if(G>>>0<129){if(H){b[J>>0]=G;f=0}else{f=G&255;b[J>>0]=G&(~(b[5472+f>>0]&32)&255);f=b[1232+f>>0]|0;b[J+2>>0]=0}b[J+1>>0]=f;f=j+(EA(j,J)|0)|0;d:do if(b[f>>0]|0){while(1){f=f+1|0;c=af(I,f,d,e)|0;if((c|0)!=1)break;f=f+(EA(f,J)|0)|0;if(!(b[f>>0]|0))break d}e=c;t=N;return e|0}while(0);e=2;t=N;return e|0}else{K=G;L=I}f=j;while(1){g=b[f>>0]|0;f=f+1|0;c=g&255;if(g<<24>>24>-1){if(!(g<<24>>24)){g=2;F=125;break}}else if((g&255)>191){c=h[5728+(c+-192)>>0]|0;g=b[f>>0]|0;if((g&-64)<<24>>24==-128)do{f=f+1|0;c=c<<6|g&63;g=b[f>>0]|0}while((g&-64)<<24>>24==-128);c=(c&-2|0)==65534|(c>>>0<128|(c&-2048|0)==55296)?65533:c}if((c|0)==(K|0)?(M=af(L,f,d,e)|0,(M|0)!=1):0){g=M;F=125;break}}if((F|0)==125){t=N;return g|0}}else if((F|0)==124){e=(b[y>>0]|0)!=0&1;t=N;return e|0}else if((F|0)==125){t=N;return g|0}return 0}function bf(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;e=a+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else cf(a);f[a>>2]=b;f[a+4>>2]=c;d[e>>1]=4;return}function cf(a){a=a|0;var b=0,c=0,e=0,g=0,h=0,i=0,j=0,k=0;k=t;t=t+80|0;h=k+40|0;i=k;j=a+8|0;b=d[j>>1]|0;if(b&8192){c=f[a>>2]|0;e=h+12|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;e=i;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));d[i+8>>1]=1;b=a+32|0;f[i+32>>2]=f[b>>2];f[h>>2]=i;f[h+8>>2]=a;f[h+4>>2]=c;ob[f[c+20>>2]&127](h);do if((f[a+24>>2]|0)>0){b=f[b>>2]|0;c=f[a+20>>2]|0;if(b|0){if(f[b+480>>2]|0){Kc(b,c);break}h=c;if((f[b+304>>2]|0)>>>0<=h>>>0?(f[b+308>>2]|0)>>>0>h>>>0:0){h=b+300|0;f[c>>2]=f[h>>2];f[h>>2]=c;break}}if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{h=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);e=a;b=i;g=e+40|0;do{f[e>>2]=f[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(g|0));b=d[j>>1]|0}if(!(b&1024)){d[j>>1]=1;t=k;return}ob[f[a+36>>2]&127](f[a+16>>2]|0);d[j>>1]=1;t=k;return}function df(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0;l=(c|0)>32?c:32;o=a+24|0;c=(f[o>>2]|0)>0;if((e|0)!=0&c?(k=a+16|0,h=f[k>>2]|0,i=a+20|0,(h|0)==(f[i>>2]|0)):0){e=f[a+32>>2]|0;g=(h|0)==0;a:do if(!g){c=h;if(((f[e+304>>2]|0)>>>0<=c>>>0?(f[e+308>>2]|0)>>>0>c>>>0:0)?!(0<0|(0==0?(j[e+276>>1]|0)>>>0>>0:0)):0){c=h;break}c=Lc(e,h,l,0)|0;if(!(g|(c|0)!=0)){if(f[e+480>>2]|0){Kc(e,h);c=0;break}l=h;if((f[e+304>>2]|0)>>>0<=l>>>0?(f[e+308>>2]|0)>>>0>l>>>0:0){c=e+300|0;f[h>>2]=f[c>>2];f[c>>2]=h;c=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);c=0;break}else{c=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);c=0;break}}}else{if(f[e+272>>2]|0){if(b[e+81>>0]|0){c=0;break}}else{do if(!(0<0|(0==0?(j[e+276>>1]|0)>>>0>>0:0))){g=e+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];l=e+284|0;f[l>>2]=(f[l>>2]|0)+1;break a}g=e+296|0;c=f[g>>2]|0;if(!c){c=e+292|0;break}else{f[g>>2]=f[c>>2];l=e+284|0;f[l>>2]=(f[l>>2]|0)+1;break a}}else c=e+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(e,l,0)|0}while(0);f[i>>2]=c;f[k>>2]=c;h=0}else{h=a+32|0;do if(c){c=f[h>>2]|0;g=f[a+20>>2]|0;if(c|0){if(f[c+480>>2]|0){Kc(c,g);break}k=g;if((f[c+304>>2]|0)>>>0<=k>>>0?(f[c+308>>2]|0)>>>0>k>>>0:0){k=c+300|0;f[g>>2]=f[k>>2];f[k>>2]=g;break}}if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{k=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);h=f[h>>2]|0;b:do if(!h){k=KA(l|0,0,-1,-1)|0;i=ba()|0;if(!(i>>>0>0|(i|0)==0&k>>>0>2147483390)){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](l)|0;break}h=ib[f[37372>>2]&255](l)|0;if((f[18194]|0)>>>0>>0)f[18194]=l;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){l=f[18187]|0;k=LA(c|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[17976]=((i|0)<0|(i|0)==0&k>>>0<=l>>>0)&1}g=ib[f[37356>>2]&255](h)|0;if(g){c=ib[f[37368>>2]&255](g)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0){f[18196]=c;c=g}else c=g}else c=0}else c=0}else{if(f[h+272>>2]|0){if(b[h+81>>0]|0){c=0;break}}else{do if(!(0<0|(0==0?(j[h+276>>1]|0)>>>0>>0:0))){g=h+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];l=h+284|0;f[l>>2]=(f[l>>2]|0)+1;break b}g=h+296|0;c=f[g>>2]|0;if(!c){c=h+292|0;break}else{f[g>>2]=f[c>>2];l=h+284|0;f[l>>2]=(f[l>>2]|0)+1;break b}}else c=h+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(h,l,0)|0}while(0);i=a+20|0;f[i>>2]=c;h=e}if(!c){c=a+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else cf(a);f[a+16>>2]=0;f[o>>2]=0;a=7;return a|0}g=f[a+32>>2]|0;if(((g|0)!=0?(m=c,(f[g+304>>2]|0)>>>0<=m>>>0):0)?(f[g+308>>2]|0)>>>0>m>>>0:0)c=j[g+276>>1]|0;else c=ib[f[37368>>2]&255](c)|0;f[o>>2]=c;if(h|0?(n=f[a+16>>2]|0,n|0):0)YA(f[i>>2]|0,n|0,f[a+12>>2]|0)|0;h=a+8|0;c=d[h>>1]|0;if(!(c&1024))g=a+16|0;else{g=a+16|0;ob[f[a+36>>2]&127](f[g>>2]|0);c=d[h>>1]|0}f[g>>2]=f[i>>2];d[h>>1]=c&-7169;a=0;return a|0}function ef(a){a=a|0;return ib[f[37368>>2]&255](a)|0}function ff(a){a=a|0;var b=0,c=0,e=0,g=0,h=0;if(d[a+8>>1]&9216)cf(a);c=a+24|0;if(!(f[c>>2]|0)){g=a+16|0;f[g>>2]=0;return}e=f[a+32>>2]|0;b=f[a+20>>2]|0;do if(e){if(f[e+480>>2]|0){Kc(e,b);break}h=b;if((f[e+304>>2]|0)>>>0<=h>>>0?(f[e+308>>2]|0)>>>0>h>>>0:0){h=e+300|0;f[b>>2]=f[h>>2];f[h>>2]=b}else g=10}else g=10;while(0);do if((g|0)==10?b|0:0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{h=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);f[c>>2]=0;h=a+16|0;f[h>>2]=0;return}function gf(a){a=a|0;var c=0,e=0;c=a+12|0;if(df(a,(f[c>>2]|0)+2|0,1)|0){c=7;return c|0}e=a+16|0;b[(f[e>>2]|0)+(f[c>>2]|0)>>0]=0;b[(f[e>>2]|0)+((f[c>>2]|0)+1)>>0]=0;c=a+8|0;d[c>>1]=d[c>>1]|512;c=0;return c|0}function hf(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0;h=f[a+8>>2]|0;if((b|0)<1){c=h+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else cf(h);f[h+16>>2]=0;h=0;return h|0}if((f[h+24>>2]|0)<(b|0)){df(h,b,0)|0;g=h+16|0;c=h+8|0;e=g;g=f[g>>2]|0}else{g=f[h+20>>2]|0;e=h+16|0;f[e>>2]=g;c=h+8|0;d[c>>1]=d[c>>1]&13}d[c>>1]=8192;f[h>>2]=f[a+4>>2];if(!g){h=g;return h|0}_A(g|0,0,b|0)|0;h=f[e>>2]|0;return h|0}function jf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;p[c>>3]=0.0;i=e&255;if(e<<24>>24==1){i=a;g=1;q=1;e=d}else{e=3-i|0;a:do if((e|0)<(d|0))while(1){if(b[a+e>>0]|0){g=0;break a}e=e+2|0;if((e|0)>=(d|0)){g=1;break}}else g=1;while(0);i=a+(i&1)|0;q=2;e=e^1}t=a+e|0;if(i>>>0>=t>>>0){c=0;return c|0}e=i;while(1){i=b[e>>0]|0;if(!(b[5472+(i&255)>>0]&1))break;e=e+q|0;if(e>>>0>=t>>>0){e=0;s=69;break}}if((s|0)==69)return e|0;switch(i<<24>>24){case 45:{r=-1;e=e+q|0;break}case 43:{r=1;e=e+q|0;break}default:r=1}b:do if(e>>>0>>0){i=0;l=0;a=0;do{d=b[e>>0]|0;if(!(((l|0)<214748364|(l|0)==214748364&a>>>0<3435973835)&((d&255)+-48|0)>>>0<10))break b;l=QA(a|0,l|0,10,0)|0;a=(d<<24>>24)+-48|0;a=KA(l|0,ba()|0,a|0,((a|0)<0)<<31>>31|0)|0;l=ba()|0;e=e+q|0;i=i+1|0}while(e>>>0>>0)}else{i=0;a=0;l=0}while(0);c:do if(e>>>0>>0){k=0;while(1){d=b[e>>0]|0;if(((d&255)+-48|0)>>>0>=10)break;e=e+q|0;i=i+1|0;d=k+1|0;if(e>>>0>>0)k=d;else{q=1;k=0;o=1;break c}}d:do if(d<<24>>24==46){e=e+q|0;if(e>>>0>>0)while(1){d=b[e>>0]|0;if(((d&255)+-48|0)>>>0>=10){d=k;break d}o=(l|0)<214748364|(l|0)==214748364&a>>>0<3435973835;m=QA(a|0,l|0,10,0)|0;n=(d<<24>>24)+-48|0;n=KA(m|0,ba()|0,n|0,((n|0)<0)<<31>>31|0)|0;d=ba()|0;a=o?n:a;l=o?d:l;d=k+(o<<31>>31)|0;i=i+1|0;e=e+q|0;if(e>>>0>>0)k=d;else break}else d=k}else d=k;while(0);if(e>>>0>>0){e:do switch(b[e>>0]|0){case 69:case 101:{e=e+q|0;if(e>>>0>=t>>>0){q=0;k=0;o=1;break c}switch(b[e>>0]|0){case 45:{o=-1;e=e+q|0;break}case 43:{o=1;e=e+q|0;break}default:o=1}if(e>>>0>>0){m=0;n=0;while(1){k=b[e>>0]|0;if(((k&255)+-48|0)>>>0>=10){k=n;break e}k=(n|0)<1e4?(n*10|0)+-48+(k<<24>>24)|0:1e4;e=e+q|0;if(e>>>0>>0){m=1;n=k}else{m=1;break}}}else{m=0;k=0}break}default:{m=1;k=0;o=1}}while(0);if(e>>>0>>0)while(1){if(!(b[5472+(h[e>>0]|0)>>0]&1)){q=m;break c}e=e+q|0;if(e>>>0>=t>>>0){q=m;break}}else q=m}else{q=1;k=0;o=1}}else{q=1;k=0;o=1;d=0}while(0);d=(U(k,o)|0)+d|0;o=(d|0)<0;k=d>>31|1;f:do if((a|0)==0&(l|0)==0)f=(r|0)<0?-0.0:0.0;else{d=o?0-d|0:d;g:do if((d|0)>0){h:do if((k|0)>0)while(1){if((l|0)>214748364|(l|0)==214748364&a>>>0>3435973835){k=d;break h}a=QA(a|0,l|0,10,0)|0;l=ba()|0;k=d+-1|0;if((d|0)>1)d=k;else{s=51;break g}}else while(1){m=OA(a|0,l|0,10,0)|0;n=ba()|0;k=QA(m|0,n|0,10,0)|0;k=LA(a|0,l|0,k|0,ba()|0)|0;if(!((k|0)==0&(ba()|0)==0)){k=d;break h}k=d+-1|0;if((d|0)>1){d=k;a=m;l=n}else{a=m;l=n;s=51;break g}}while(0);n=(r|0)<0;d=LA(0,0,a|0,l|0)|0;r=ba()|0;d=n?d:a;a=n?r:l;if((k|0)>307){if((k|0)>=342){f=+(d>>>0)+4294967296.0*+(a|0);if(o){f=f*0.0;break f}else{f=f*A;break f}}k=k+-308|0;j=(k&1|0)==0?1.0:10.0;k=k>>1;if(k){f=10.0;do{f=f*f;j=(k&1|0)==0?j:j*f;k=k>>1}while((k|0)!=0)}f=+(d>>>0)+4294967296.0*+(a|0);if(o){f=f/j/1.e+308;break f}else{f=j*f*1.e+308;break f}}}else{k=d;s=51}while(0);if((s|0)==51){r=(r|0)<0;d=LA(0,0,a|0,l|0)|0;s=ba()|0;d=r?d:a;a=r?s:l;if(!k){f=+(d>>>0)+4294967296.0*+(a|0);break}}f=(k&1|0)==0?1.0:10.0;k=k>>1;if(k){j=10.0;do{j=j*j;f=(k&1|0)==0?f:f*j;k=k>>1}while((k|0)!=0)}j=+(d>>>0)+4294967296.0*+(a|0);f=o?j/f:f*j}while(0);p[c>>3]=f;c=(q|0)!=0&((i|0)>0&(e|0)==(t|0))?g:0;return c|0}function kf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=e&255;if(e<<24>>24==1){g=0;o=1;i=a;e=d}else{e=3-i|0;a:do if((e|0)<(d|0))while(1){if(b[a+e>>0]|0){g=1;break a}e=e+2|0;if((e|0)>=(d|0)){g=0;break}}else g=0;while(0);o=2;i=a+(i&1)|0;e=e^1}n=a+e|0;b:do if(i>>>0>>0){while(1){e=b[i>>0]|0;if(!(b[5472+(e&255)>>0]&1))break;e=i+o|0;if(e>>>0>>0)i=e;else{m=0;break b}}switch(e<<24>>24){case 45:{m=1;e=i+o|0;break b}case 43:{m=0;e=i+o|0;break b}default:{m=0;e=i;break b}}}else{m=0;e=i}while(0);c:do if(e>>>0>>0){i=e;do{if((b[i>>0]|0)!=48)break c;i=i+o|0}while(i>>>0>>0)}else i=e;while(0);do if(i>>>0>>0){k=0;l=i;j=0;d=0;while(1){a=b[l>>0]|0;if((a+-48&255)>=10){a=k;k=1;break}d=QA(j|0,d|0,10,0)|0;j=a<<24>>24;d=KA(d|0,ba()|0,-48,-1)|0;j=KA(d|0,ba()|0,j|0,((j|0)<0)<<31>>31|0)|0;d=ba()|0;a=k+o|0;l=i+a|0;if(l>>>0>=n>>>0){k=0;break}else k=a}l=(m|0)!=0;if((d|0)>=0)if(l){p=26;break}else{l=0;break}else{j=l?0:-1;d=l?-2147483648:2147483647;break}}else if(!m){a=0;k=0;j=0;d=0;l=0}else{a=0;k=0;j=0;d=0;p=26}while(0);if((p|0)==26){j=LA(0,0,j|0,d|0)|0;d=ba()|0;l=1}m=c;f[m>>2]=j;f[m+4>>2]=d;if(!a){e=(e|0)==(i|0);if((g|0)!=0|e|k^1)g=g|e&1;else p=30}else if(!((g|0)!=0|k^1))p=30;d:do if((p|0)==30){e=a;while(1){if(!(b[5472+(h[i+e>>0]|0)>>0]&1)){g=1;break d}e=e+o|0;if((i+e|0)>>>0>=n>>>0){g=0;break}}}while(0);e=o*19|0;if(a>>>0>>0){c=g;return c|0}if(a>>>0>e>>>0){f[c>>2]=l?0:-1;f[c+4>>2]=l?-2147483648:2147483647;c=2;return c|0}e=0;do{d=i+(U(e,o)|0)|0;d=(b[d>>0]|0)-(b[41637+e>>0]|0)|0;e=e+1|0;a=(d|0)==0}while(e>>>0<18&a);if(a)e=(b[i+(o*18|0)>>0]|0)+-56|0;else e=d*10|0;if((e|0)<0){c=g;return c|0}else{f[c>>2]=l?0:-1;f[c+4>>2]=l?-2147483648:2147483647;return ((e|0)==0?(l?g:3):2)|0}return 0}function lf(a){a=a|0;var c=0,e=0,g=0,h=0,i=0;i=a+8|0;e=d[i>>1]|0;h=e&65535;if(!(h&18)){if((e&514)==514?(b[a+10>>0]|0)==1:0){i=f[a+16>>2]|0;return i|0}if(e&1){i=0;return i|0}i=Ic(a,1)|0;return i|0}else{g=a+12|0;c=f[g>>2]|0;do if(h&16384){h=(f[a>>2]|0)+c|0;if(!(df(a,(h|0)>1?h:1,1)|0)){_A((f[a+16>>2]|0)+(f[g>>2]|0)|0,0,f[a>>2]|0)|0;c=(f[g>>2]|0)+(f[a>>2]|0)|0;f[g>>2]=c;e=d[i>>1]&-16897;d[i>>1]=e;break}else{i=0;return i|0}}while(0);d[i>>1]=e|16;if(!c){i=0;return i|0}i=f[a+16>>2]|0;return i|0}return 0}function mf(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0;e=f[a>>2]|0;g=e+8|0;if(d[g>>1]&9216)cf(e);f[e>>2]=f[b>>2];f[e+4>>2]=f[b+4>>2];f[e+8>>2]=f[b+8>>2];f[e+12>>2]=f[b+12>>2];f[e+16>>2]=f[b+16>>2];c=d[g>>1]&-1025;d[g>>1]=c;c=c&65535;if(!(c&18))return;if(d[b+8>>1]&2048)return;a=(c|4096)&65535;d[g>>1]=a;do if(c&16384){a=e+12|0;c=(f[e>>2]|0)+(f[a>>2]|0)|0;if(!(df(e,(c|0)>1?c:1,1)|0)){_A((f[e+16>>2]|0)+(f[a>>2]|0)|0,0,f[e>>2]|0)|0;f[a>>2]=(f[a>>2]|0)+(f[e>>2]|0);a=d[g>>1]&-16897;d[g>>1]=a;break}else return}while(0);if(!((f[e+24>>2]|0)!=0?(f[e+16>>2]|0)==(f[e+20>>2]|0):0))h=10;do if((h|0)==10)if(!(gf(e)|0)){a=d[g>>1]|0;break}else return;while(0);d[g>>1]=a&-4097;return}function nf(a,b,c){a=a|0;b=b|0;c=c|0;var e=0.0,g=0.0,h=0,i=0,j=0,k=0,l=0;i=d[a+8>>1]|0;k=i&65535;j=d[b+8>>1]|0;l=j&65535;h=(j|i)&65535;if(h&1|0){b=(l&1)-(k&1)|0;return b|0}if(!(h&12)){if(h&2|0){if(!(k&2)){b=1;return b|0}if(!(l&2)){b=-1;return b|0}if(c|0){b=of(a,b,c,0)|0;return b|0}}b=pf(a,b)|0;return b|0}h=j&i&65535;if(h&4|0){k=a;a=f[k>>2]|0;k=f[k+4>>2]|0;l=b;b=f[l>>2]|0;l=f[l+4>>2]|0;return ((k|0)<(l|0)|(k|0)==(l|0)&a>>>0>>0?-1:((k|0)>(l|0)|(k|0)==(l|0)&a>>>0>b>>>0)&1)|0}if(h&8|0){g=+p[a>>3];e=+p[b>>3];if(ge&1;return b|0}if(k&4|0){if(!(l&8)){b=-1;return b|0}j=a;i=f[j>>2]|0;j=f[j+4>>2]|0;g=+p[b>>3];if(g<-9223372036854775808.0){b=1;return b|0}if(g>=9223372036854775808.0){b=-1;return b|0}h=~~g>>>0;c=+H(g)>=1.0?(g>0.0?~~+V(+G(g/4294967296.0),4294967295.0)>>>0:~~+T((g-+(~~g>>>0))/4294967296.0)>>>0):0;if((j|0)<(c|0)|(j|0)==(c|0)&i>>>0>>0){b=-1;return b|0}if((j|0)>(c|0)|(j|0)==(c|0)&i>>>0>h>>>0){b=1;return b|0}e=+(i>>>0)+4294967296.0*+(j|0);if(g>e){b=-1;return b|0}b=g>2]|0;j=f[j+4>>2]|0;g=+p[a>>3];if(g<-9223372036854775808.0){b=-1;return b|0}if(g>=9223372036854775808.0){b=1;return b|0}h=~~g>>>0;c=+H(g)>=1.0?(g>0.0?~~+V(+G(g/4294967296.0),4294967295.0)>>>0:~~+T((g-+(~~g>>>0))/4294967296.0)>>>0):0;if((j|0)<(c|0)|(j|0)==(c|0)&i>>>0>>0){b=1;return b|0}if((j|0)>(c|0)|(j|0)==(c|0)&i>>>0>h>>>0){b=-1;return b|0}e=+(i>>>0)+4294967296.0*+(j|0);if(g>e){b=1;return b|0}b=(g>31;return b|0}function of(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+80|0;n=p+40|0;o=p;i=e+4|0;h=b[i>>0]|0;if((b[a+10>>0]|0)==h<<24>>24){o=mb[f[e+12>>2]&127](f[e+8>>2]|0,f[a+12>>2]|0,f[a+16>>2]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;t=p;return o|0}m=f[a+32>>2]|0;j=n+8|0;f[n+32>>2]=m;k=n+24|0;f[k>>2]=0;l=o+8|0;d[l>>1]=1;f[o+32>>2]=m;m=o+24|0;f[m>>2]=0;f[n>>2]=f[a>>2];f[n+4>>2]=f[a+4>>2];f[n+8>>2]=f[a+8>>2];f[n+12>>2]=f[a+12>>2];f[n+16>>2]=f[a+16>>2];if(!(d[a+8>>1]&2048))d[j>>1]=d[j>>1]&-7169|4096;f[o>>2]=f[c>>2];f[o+4>>2]=f[c+4>>2];f[o+8>>2]=f[c+8>>2];f[o+12>>2]=f[c+12>>2];f[o+16>>2]=f[c+16>>2];if(!(d[c+8>>1]&2048))d[l>>1]=d[l>>1]&-7169|4096;a=d[j>>1]|0;if((a&514)==514?(b[n+10>>0]|0)==h<<24>>24:0)c=f[n+16>>2]|0;else if(!(a&1)){c=Ic(n,h)|0;h=b[i>>0]|0}else c=0;a=d[l>>1]|0;if((a&514)==514?(b[o+10>>0]|0)==h<<24>>24:0){a=f[o+16>>2]|0;h=17}else if(!(a&1)){a=Ic(o,h)|0;h=17}else h=18;if((h|0)==17)if((c|0)==0|(a|0)==0)h=18;else a=mb[f[e+12>>2]&127](f[e+8>>2]|0,f[n+12>>2]|0,c,f[o+12>>2]|0,a)|0;if((h|0)==18)if(!g)a=0;else{b[g>>0]=7;a=0}if(!((d[j>>1]&9216)==0&(f[k>>2]|0)==0))ff(n);if(!((d[l>>1]&9216)==0&(f[m>>2]|0)==0))ff(o);o=a;t=p;return o|0}function pf(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0;h=f[a+12>>2]|0;i=f[c+12>>2]|0;e=d[a+8>>1]|0;g=d[c+8>>1]|0;if(!((g|e)&16384)){c=Hz(f[a+16>>2]|0,f[c+16>>2]|0,(h|0)>(i|0)?i:h)|0;return ((c|0)==0?h-i|0:c)|0}e=e&16384;if((e&g)<<16>>16){i=(f[a>>2]|0)-(f[c>>2]|0)|0;return i|0}if(!(e<<16>>16)){g=f[a+16>>2]|0;a:do if((h|0)>0){e=0;while(1){if(b[g+e>>0]|0){e=1;break}e=e+1|0;if((e|0)>=(h|0))break a}return e|0}while(0);i=h-(f[c>>2]|0)|0;return i|0}else{g=f[c+16>>2]|0;b:do if((i|0)>0){e=0;while(1){if(b[g+e>>0]|0){e=-1;break}e=e+1|0;if((e|0)>=(i|0))break b}return e|0}while(0);i=(f[a>>2]|0)-i|0;return i|0}return 0}function qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=t;t=t+16|0;e=d;f[e>>2]=c;Bc(a,b,e);t=d;return}function rf(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!a){n=0;return n|0}c=b[a>>0]|0;do if(!(c<<24>>24)){c=41875;e=3}else{l=c&255;c=1232+l|0;if((l|32|0)==115){c=b[a+1>>0]|0;if(!(c<<24>>24)){c=41876;e=3;break}l=c&255;c=1232+l|0;if((l|32|0)==113){c=b[a+2>>0]|0;if(!(c<<24>>24)){c=41877;e=3;break}l=c&255;c=1232+l|0;if((l|32|0)==108){c=b[a+3>>0]|0;if(!(c<<24>>24)){c=41878;e=3;break}l=c&255;c=1232+l|0;if((l|32|0)==105){c=b[a+4>>0]|0;if(!(c<<24>>24)){c=41879;e=3;break}l=c&255;c=1232+l|0;if((l|32|0)==116){c=b[a+5>>0]|0;if(!(c<<24>>24)){c=41880;e=3;break}l=c&255;c=1232+l|0;if((l|32|0)==101){c=b[a+6>>0]|0;if(!(c<<24>>24)){c=41881;e=3;break}if(c<<24>>24==95){j=a+7|0;break}else{e=95;c=1232+(c&255)|0}}else e=101}else e=116}else e=105}else e=108}else e=113}else e=115;d=h[c>>0]|0;c=e;e=7}while(0);if((e|0)==3){d=0;c=b[1232+(h[c>>0]|0)>>0]|0;e=7}if((e|0)==7)j=(d|0)==(c&255|0)?a+7|0:a;k=(wz(j)|0)&1073741823;if(!k){n=0;return n|0}g=0;while(1){l=f[5872+(g<<2)>>2]|0;d=j;i=l;e=k;while(1){c=b[d>>0]|0;if(!(c<<24>>24)){e=12;break}c=b[1232+(c&255)>>0]|0;a=b[1232+(h[i>>0]|0)>>0]|0;if(c<<24>>24!=a<<24>>24){e=14;break}if((e|0)>1){d=d+1|0;i=i+1|0;e=e+-1|0}else{e=17;break}}if((e|0)==12){m=0;n=b[1232+(h[i>>0]|0)>>0]|0;e=16}else if((e|0)==14){m=c&255;n=a;e=16}if((e|0)==16?(e=0,(m|0)==(n&255|0)):0)e=17;if((e|0)==17?(0,(b[5472+(h[l+k>>0]|0)>>0]&70)==0):0){c=1;e=19;break}g=g+1|0;if(g>>>0>=10){c=0;e=19;break}}if((e|0)==19)return c|0;return 0}function sf(a,c,e){a=a|0;c=c|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;r=t;t=t+64|0;o=r+56|0;q=r+48|0;n=r;if(Af(a,c,e,n)|0){t=r;return}k=n+40|0;do if(!(b[k>>0]|0)){m=n+42|0;if(b[m>>0]|0){c=f[n+8>>2]|0;if((c+4713|0)>>>0<=14712){h=f[n+12>>2]|0;i=f[n+16>>2]|0;j=c;l=6}}else{h=1;i=1;j=2e3;l=6}if((l|0)==6?(b[n+41>>0]|0)==0:0){c=(h|0)<3;e=j+(c<<31>>31)|0;g=(+(i+2+((e|0)/-100|0)+((e|0)/400|0)+((((c?h+12|0:h)*306001|0)+306001|0)/1e4|0)+(((e*36525|0)+172251900|0)/100|0)|0)+-1524.5)*864.0e5;e=~~g>>>0;c=+H(g)>=1.0?(g>0.0?~~+V(+G(g/4294967296.0),4294967295.0)>>>0:~~+T((g-+(~~g>>>0))/4294967296.0)>>>0):0;i=n;f[i>>2]=e;f[i+4>>2]=c;b[k>>0]=1;i=n+43|0;if(!(b[i>>0]|0))break;h=U(f[n+20>>2]|0,36e5)|0;h=((f[n+24>>2]|0)*6e4|0)+h|0;g=+p[n+32>>3]*1.0e3;e=KA(~~g>>>0|0,(+H(g)>=1.0?(g>0.0?~~+V(+G(g/4294967296.0),4294967295.0)>>>0:~~+T((g-+(~~g>>>0))/4294967296.0)>>>0):0)|0,e|0,c|0)|0;e=KA(e|0,ba()|0,h|0,((h|0)<0)<<31>>31|0)|0;c=ba()|0;h=n;f[h>>2]=e;f[h+4>>2]=c;h=n+44|0;if(!(b[h>>0]|0))break;l=(f[n+28>>2]|0)*6e4|0;e=LA(e|0,c|0,l|0,((l|0)<0)<<31>>31|0)|0;c=ba()|0;f[n>>2]=e;f[n+4>>2]=c;b[m>>0]=0;b[i>>0]=0;b[h>>0]=0;break}c=n;e=c+48|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(e|0));b[n+46>>0]=1;e=0;c=0}else{c=n;e=f[c>>2]|0;c=f[c+4>>2]|0}while(0);g=(+(e>>>0)+4294967296.0*+(c|0))/864.0e5;c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else cf(c);p[o>>3]=g;p[q>>3]=+p[o>>3];if(!(+p[o>>3]==+p[q>>3])){t=r;return}p[c>>3]=g;d[e>>1]=8;t=r;return}function tf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=t;t=t+176|0;j=k+152|0;h=k+104|0;i=k;if(Af(a,c,d,h)|0){t=k;return}g=h+42|0;a:do if(!(b[g>>0]|0)){do if(b[h+40>>0]|0){d=h;c=f[d>>2]|0;d=f[d+4>>2]|0;if(d>>>0>108096|(d|0)==108096&c>>>0>275971583){c=h;d=c+48|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));b[h+46>>0]=1;d=0;e=0;c=0;break a}else{d=KA(c|0,d|0,432e5,0)|0;d=OA(d|0,ba()|0,864e5,0)|0;ba()|0;c=~~((+(d|0)+-1867216.25)/36524.25);c=d+1525+c+((c|0)/-4|0)|0;d=~~((+(c|0)+-122.1)/365.25);c=c-((((d&32767)*36525|0)>>>0)/100|0)|0;e=~~(+(c|0)/30.6001);c=c-~~(+(e|0)*30.6001)|0;f[h+16>>2]=c;e=((e|0)<14?-1:-13)+e|0;f[h+12>>2]=e;d=((e|0)>2?-4716:-4715)+d|0;f[h+8>>2]=d;break}}else{f[h+8>>2]=2e3;f[h+12>>2]=1;f[h+16>>2]=1;c=1;e=1;d=2e3}while(0);b[g>>0]=1}else{d=f[h+8>>2]|0;e=f[h+12>>2]|0;c=f[h+16>>2]|0}while(0);f[j>>2]=d;f[j+4>>2]=e;f[j+8>>2]=c;vd(100,i,42246,j)|0;if(($e(f[a>>2]|0,i,-1,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}t=k;return}function uf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+176|0;n=o+152|0;l=o+104|0;m=o;if(Af(a,c,d,l)|0){t=o;return}k=l+43|0;if(!(b[k>>0]|0)){c=l+40|0;do if(!(b[c>>0]|0)){if(b[l+42>>0]|0){d=f[l+8>>2]|0;if((d+4713|0)>>>0<=14712){g=f[l+12>>2]|0;h=f[l+16>>2]|0;i=d;j=8}}else{g=1;h=1;i=2e3;j=8}if((j|0)==8?(b[l+41>>0]|0)==0:0){d=(g|0)<3;j=i+(d<<31>>31)|0;e=(+(h+2+((j|0)/-100|0)+((j|0)/400|0)+((((d?g+12|0:g)*306001|0)+306001|0)/1e4|0)+(((j*36525|0)+172251900|0)/100|0)|0)+-1524.5)*864.0e5;j=~~e>>>0;d=+H(e)>=1.0?(e>0.0?~~+V(+G(e/4294967296.0),4294967295.0)>>>0:~~+T((e-+(~~e>>>0))/4294967296.0)>>>0):0;i=l;f[i>>2]=j;f[i+4>>2]=d;b[c>>0]=1;c=j;break}c=l;d=c+48|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));b[l+46>>0]=1;c=0;d=0}else{d=l;c=f[d>>2]|0;d=f[d+4>>2]|0}while(0);i=KA(c|0,d|0,432e5,0)|0;i=RA(i|0,ba()|0,864e5,0)|0;ba()|0;e=+(i|0)/1.0e3;i=~~e;d=(i|0)/3600|0;f[l+20>>2]=d;j=(U(d,-3600)|0)+i|0;c=(j|0)/60|0;f[l+24>>2]=c;e=e-+(i|0)+ +((U(c,-60)|0)+j|0);p[l+32>>3]=e;b[l+41>>0]=0;b[k>>0]=1}else{e=+p[l+32>>3];d=f[l+20>>2]|0;c=f[l+24>>2]|0}f[n>>2]=d;f[n+4>>2]=c;f[n+8>>2]=~~e;vd(100,m,42231,n)|0;if(($e(f[a>>2]|0,m,-1,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}t=o;return}function vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=t;t=t+176|0;g=h+152|0;d=h+104|0;e=h;if(Af(a,b,c,d)|0){t=h;return}Bf(d);k=f[d+12>>2]|0;j=f[d+16>>2]|0;i=f[d+20>>2]|0;b=f[d+24>>2]|0;c=~~+p[d+32>>3];f[g>>2]=f[d+8>>2];f[g+4>>2]=k;f[g+8>>2]=j;f[g+12>>2]=i;f[g+16>>2]=b;f[g+20>>2]=c;vd(100,e,42201,g)|0;if(($e(f[a>>2]|0,e,-1,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}t=h;return}function wf(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0.0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0.0;$=t;t=t+240|0;Y=$+232|0;X=$+224|0;W=$+216|0;S=$+208|0;R=$+200|0;Q=$+192|0;P=$+184|0;_=$+176|0;Z=$+168|0;O=$+160|0;N=$+152|0;L=$+104|0;M=$;if(!c){t=$;return}g=f[e>>2]|0;if(!g){t=$;return}h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0)K=f[g+16>>2]|0;else J=6;do if((J|0)==6)if(!(h&1)){K=Ic(g,1)|0;break}else{t=$;return}while(0);if(!K){t=$;return}if(Af(a,c+-1|0,e+4|0,L)|0){t=$;return}g=f[a>>2]|0;i=f[g+32>>2]|0;h=0;e=1;c=0;a:while(1){b:do switch(b[K+h>>0]|0){case 0:break a;case 37:{h=h+1|0;switch(b[K+h>>0]|0){case 37:case 119:break b;case 87:case 83:case 77:case 109:case 72:case 100:{e=KA(e|0,c|0,1,0)|0;c=ba()|0;break b}case 102:{e=KA(e|0,c|0,8,0)|0;c=ba()|0;break b}case 106:{e=KA(e|0,c|0,3,0)|0;c=ba()|0;break b}case 89:{e=KA(e|0,c|0,8,0)|0;c=ba()|0;break b}case 74:case 115:{e=KA(e|0,c|0,50,0)|0;c=ba()|0;break b}default:{J=85;break a}}}default:{}}while(0);e=KA(e|0,c|0,1,0)|0;h=h+1|0;c=ba()|0}if((J|0)==85){t=$;return}do if(c>>>0<0|(c|0)==0&e>>>0<100)g=M;else{I=f[i+108>>2]|0;F=((I|0)<0)<<31>>31;if(c>>>0>F>>>0|(c|0)==(F|0)&e>>>0>I>>>0){f[a+20>>2]=18;$e(g,41612,-1,1,0)|0;t=$;return}c=UA(0,e|0,32)|0;e=ba()|0;c:do if(f[i+272>>2]|0){if(!(b[i+81>>0]|0))J=32}else{do if(!(e>>>0>0|((e|0)==0?c>>>0>(j[i+276>>1]|0)>>>0:0))){h=i+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];J=i+284|0;f[J>>2]=(f[J>>2]|0)+1;J=33;break c}h=i+296|0;g=f[h>>2]|0;if(!g){g=i+292|0;break}else{f[h>>2]=f[g>>2];J=i+284|0;f[J>>2]=(f[J>>2]|0)+1;J=33;break c}}else g=i+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;J=32}while(0);if((J|0)==32){g=Dc(i,c,e)|0;J=33}if((J|0)==33){if(g|0)break;g=f[a>>2]|0}h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[a+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if(b[h>>0]|0){t=$;return}if(b[g+82>>0]|0){t=$;return}b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;a=g+272|0;f[a>>2]=(f[a>>2]|0)+1;t=$;return}while(0);e=L+40|0;I=L+42|0;do if(!(b[e>>0]|0)){if(b[I>>0]|0){h=f[L+8>>2]|0;if((h+4713|0)>>>0<=14712){k=f[L+12>>2]|0;l=f[L+16>>2]|0;m=h;J=46}}else{k=1;l=1;m=2e3;J=46}if((J|0)==46?(b[L+41>>0]|0)==0:0){c=(k|0)<3;h=m+(c<<31>>31)|0;n=(+(l+2+((h|0)/-100|0)+((h|0)/400|0)+((((c?k+12|0:k)*306001|0)+306001|0)/1e4|0)+(((h*36525|0)+172251900|0)/100|0)|0)+-1524.5)*864.0e5;h=~~n>>>0;c=+H(n)>=1.0?(n>0.0?~~+V(+G(n/4294967296.0),4294967295.0)>>>0:~~+T((n-+(~~n>>>0))/4294967296.0)>>>0):0;i=L;f[i>>2]=h;f[i+4>>2]=c;b[e>>0]=1;i=L+43|0;if(!(b[i>>0]|0))break;e=U(f[L+20>>2]|0,36e5)|0;e=((f[L+24>>2]|0)*6e4|0)+e|0;n=+p[L+32>>3]*1.0e3;h=KA(~~n>>>0|0,(+H(n)>=1.0?(n>0.0?~~+V(+G(n/4294967296.0),4294967295.0)>>>0:~~+T((n-+(~~n>>>0))/4294967296.0)>>>0):0)|0,h|0,c|0)|0;h=KA(h|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;e=L;f[e>>2]=h;f[e+4>>2]=c;e=L+44|0;if(!(b[e>>0]|0))break;D=(f[L+28>>2]|0)*6e4|0;D=LA(h|0,c|0,D|0,((D|0)<0)<<31>>31|0)|0;E=ba()|0;F=L;f[F>>2]=D;f[F+4>>2]=E;b[I>>0]=0;b[i>>0]=0;b[e>>0]=0;break}h=L;c=h+48|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));b[L+46>>0]=1}while(0);Bf(L);C=L+16|0;D=L+32|0;E=L+20|0;B=L+8|0;w=L+24|0;x=L+28|0;y=L+41|0;z=L+43|0;A=L+44|0;F=L+12|0;v=0;h=0;d:while(1){c=b[K+h>>0]|0;e:do switch(c<<24>>24){case 0:break d;case 37:{u=h+1|0;s=b[K+u>>0]|0;do switch(s<<24>>24|0){case 100:{f[N>>2]=f[C>>2];vd(3,g+v|0,41965,N)|0;c=v+2|0;h=u;break e}case 102:{n=+p[D>>3];h=g+v|0;p[O>>3]=n>59.999?59.999:n;vd(7,h,41970,O)|0;if(!h)h=0;else h=(wz(h)|0)&1073741823;c=h+v|0;h=u;break e}case 72:{f[Z>>2]=f[E>>2];vd(3,g+v|0,41965,Z)|0;c=v+2|0;h=u;break e}case 106:case 87:{r=L;q=f[r>>2]|0;r=f[r+4>>2]|0;h=f[B>>2]|0;e=f[E>>2]|0;k=f[w>>2]|0;l=f[x>>2]|0;n=+p[D>>3];c=b[y>>0]|0;m=b[z>>0]|0;o=b[A>>0]|0;if(b[I>>0]|0)if((h+4713|0)>>>0>14712){i=0;h=0}else J=62;else{h=2e3;J=62}if((J|0)==62){J=0;if(!(c<<24>>24)){i=h+-1|0;aa=(+(((i|0)/-100|0)+431+((i|0)/400|0)+(((i*36525|0)+172251900|0)/100|0)|0)+-1524.5)*864.0e5;i=~~aa>>>0;h=+H(aa)>=1.0?(aa>0.0?~~+V(+G(aa/4294967296.0),4294967295.0)>>>0:~~+T((aa-+(~~aa>>>0))/4294967296.0)>>>0):0;if(m<<24>>24){k=(k*6e4|0)+(U(e,36e5)|0)|0;aa=n*1.0e3;e=+H(aa)>=1.0?(aa>0.0?~~+V(+G(aa/4294967296.0),4294967295.0)>>>0:~~+T((aa-+(~~aa>>>0))/4294967296.0)>>>0):0;m=o<<24>>24==0;l=l*6e4|0;l=LA(0,0,l|0,((l|0)<0)<<31>>31|0)|0;o=ba()|0;k=KA(~~aa>>>0|0,e|0,k|0,((k|0)<0)<<31>>31|0)|0;o=KA(k|0,ba()|0,(m?0:l)|0,(m?0:o)|0)|0;i=KA(o|0,ba()|0,i|0,h|0)|0;h=ba()|0}}else{i=0;h=0}}c=KA(q|0,r|0,432e5,0)|0;e=ba()|0;h=OA(LA(c|0,e|0,i|0,h|0)|0,ba()|0,864e5,0)|0;ba()|0;if(s<<24>>24==87){c=OA(c|0,e|0,864e5,0)|0;c=RA(c|0,ba()|0,7,0)|0;ba()|0;f[_>>2]=(7-c+h|0)/7|0;vd(3,g+v|0,41965,_)|0;c=v+2|0;h=u;break e}else{f[P>>2]=h+1;vd(4,g+v|0,41977,P)|0;c=v+3|0;h=u;break e}}case 74:{h=g+v|0;s=L;p[Q>>3]=(+((f[s>>2]|0)>>>0)+4294967296.0*+(f[s+4>>2]|0))/864.0e5;vd(20,h,41982,Q)|0;if(!h)h=0;else h=(wz(h)|0)&1073741823;c=h+v|0;h=u;break e}case 109:{f[R>>2]=f[F>>2];vd(3,g+v|0,41965,R)|0;c=v+2|0;h=u;break e}case 77:{f[S>>2]=f[w>>2];vd(3,g+v|0,41965,S)|0;c=v+2|0;h=u;break e}case 115:{h=g+v|0;q=L;q=KA(OA(f[q>>2]|0,f[q+4>>2]|0,1e3,0)|0,ba()|0,-413362496,-50)|0;r=ba()|0;s=W;f[s>>2]=q;f[s+4>>2]=r;vd(30,h,41988,W)|0;if(!h)h=0;else h=(wz(h)|0)&1073741823;c=h+v|0;h=u;break e}case 83:{f[X>>2]=~~+p[D>>3];vd(3,g+v|0,41965,X)|0;c=v+2|0;h=u;break e}case 119:{c=L;c=RA(OA(KA(f[c>>2]|0,f[c+4>>2]|0,1296e5,0)|0,ba()|0,864e5,0)|0,ba()|0,7,0)|0;ba()|0;b[g+v>>0]=c+48;c=v+1|0;h=u;break e}case 89:{h=g+v|0;f[Y>>2]=f[B>>2];vd(5,h,41993,Y)|0;if(!h)h=0;else h=(wz(h)|0)&1073741823;c=h+v|0;h=u;break e}default:{b[g+v>>0]=37;c=v+1|0;h=u;break e}}while(0)}default:{b[g+v>>0]=c;c=v+1|0}}while(0);v=c;h=h+1|0}b[g+v>>0]=0;if(($e(f[a>>2]|0,g,-1,1,(g|0)==(M|0)?-1:139)|0)!=18){t=$;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=$;return}function xf(a,b,c){a=a|0;b=b|0;c=c|0;uf(a,0,0);return}function yf(a,b,c){a=a|0;b=b|0;c=c|0;vf(a,0,0);return}function zf(a,b,c){a=a|0;b=b|0;c=c|0;tf(a,0,0);return}function Af(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=t;t=t+96|0;o=za+72|0;ya=za+64|0;wa=za+56|0;xa=za+8|0;q=za;k=g;r=k+48|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(r|0));if(!c){k=(f[a+12>>2]|0)+56|0;i=k;j=f[i>>2]|0;i=f[i+4>>2]|0;do if((j|0)==0&(i|0)==0){i=f[f[(f[a>>2]|0)+32>>2]>>2]|0;if((f[i>>2]|0)>1?(m=f[i+72>>2]|0,(m|0)!=0):0)i=jb[m&255](i,k)|0;else{i=jb[f[i+64>>2]&255](i,ya)|0;s=+p[ya>>3]*864.0e5;a=+H(s)>=1.0?(s>0.0?~~+V(+G(s/4294967296.0),4294967295.0)>>>0:~~+T((s-+(~~s>>>0))/4294967296.0)>>>0):0;ya=k;f[ya>>2]=~~s>>>0;f[ya+4>>2]=a}if(!i){i=k;j=f[i>>2]|0;i=f[i+4>>2]|0;break}ya=k;f[ya>>2]=0;f[ya+4>>2]=0;f[g>>2]=0;f[g+4>>2]=0;g=1;t=za;return g|0}while(0);ya=g;f[ya>>2]=j;f[ya+4>>2]=i;if(!((i|0)>0|(i|0)==0&j>>>0>0)){g=1;t=za;return g|0}b[g+40>>0]=1;g=0;t=za;return g|0}j=f[e>>2]|0;i=d[j+8>>1]|0;if(((h[5792+(i&31)>>0]|0)+-1|0)>>>0<2){i=i&65535;do if(!(i&8)){if(i&4|0){aa=j;l=+((f[aa>>2]|0)>>>0)+4294967296.0*+(f[aa+4>>2]|0);break}if(!(i&18))l=0.0;else l=+Hc(b[j+10>>0]|0,f[j+12>>2]|0,f[j+16>>2]|0)}else l=+p[j>>3];while(0);p[g+32>>3]=l;b[g+41>>0]=1;if(l>=0.0&l<5373484.5){s=l*864.0e5+.5;$=+H(s)>=1.0?(s>0.0?~~+V(+G(s/4294967296.0),4294967295.0)>>>0:~~+T((s-+(~~s>>>0))/4294967296.0)>>>0):0;aa=g;f[aa>>2]=~~s>>>0;f[aa+4>>2]=$;b[g+40>>0]=1}}else{if(!j){g=1;t=za;return g|0}if((i&514)==514?(b[j+10>>0]|0)==1:0)m=f[j+16>>2]|0;else u=25;do if((u|0)==25)if(!(i&1)){m=Ic(j,1)|0;break}else{g=1;t=za;return g|0}while(0);if(!m){g=1;t=za;return g|0}j=(b[m>>0]|0)==45;i=j?m+1|0:m;f[o>>2]=ya;f[o+4>>2]=wa;f[o+8>>2]=xa;a:do if((Df(i,41998,o)|0)==3){i=i+10|0;while(1){aa=b[i>>0]|0;if(aa<<24>>24==84?1:(b[5472+(aa&255)>>0]&1)!=0)i=i+1|0;else break}do if(Ef(i,g)|0)if(!(b[i>>0]|0)){b[g+43>>0]=0;break}else{u=39;break a}while(0);b[g+40>>0]=0;b[g+42>>0]=1;aa=f[ya>>2]|0;f[g+8>>2]=j?0-aa|0:aa;f[g+12>>2]=f[wa>>2];f[g+16>>2]=f[xa>>2];if(b[g+44>>0]|0)Cf(g)}else u=39;while(0);b:do if((u|0)==39?Ef(m,g)|0:0){aa=b[m>>0]|0;i=(h[1232+(aa&255)>>0]|0)+-110|0;if(!(aa<<24>>24==0|(i|0)!=0)){j=42010;k=m;do{k=k+1|0;j=j+1|0;aa=b[k>>0]|0;i=(h[1232+(aa&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(aa<<24>>24==0|(i|0)!=0))}c:do if(!i){i=f[a+12>>2]|0;if((b[(f[i+88>>2]|0)+((f[a+16>>2]|0)*20|0)>>0]|0)==64){f[a+20>>2]=1;$e(f[a>>2]|0,42014,-1,1,-1)|0;u=56;break}k=i+56|0;i=k;j=f[i>>2]|0;i=f[i+4>>2]|0;do if((j|0)==0&(i|0)==0){i=f[f[(f[a>>2]|0)+32>>2]>>2]|0;if((f[i>>2]|0)>1?(n=f[i+72>>2]|0,(n|0)!=0):0)i=jb[n&255](i,k)|0;else{i=jb[f[i+64>>2]&255](i,o)|0;s=+p[o>>3]*864.0e5;$=+H(s)>=1.0?(s>0.0?~~+V(+G(s/4294967296.0),4294967295.0)>>>0:~~+T((s-+(~~s>>>0))/4294967296.0)>>>0):0;aa=k;f[aa>>2]=~~s>>>0;f[aa+4>>2]=$}if(!i){i=k;j=f[i>>2]|0;i=f[i+4>>2]|0;break}else{aa=k;f[aa>>2]=0;f[aa+4>>2]=0;aa=g;f[aa>>2]=0;f[aa+4>>2]=0;break c}}while(0);aa=g;f[aa>>2]=j;f[aa+4>>2]=i;if((i|0)>0|(i|0)==0&j>>>0>0){b[g+40>>0]=1;break b}}else u=56;while(0);if((u|0)==56?jf(m,q,(wz(m)|0)&1073741823,1)|0:0){l=+p[q>>3];p[g+32>>3]=l;b[g+41>>0]=1;if(!(l>=0.0&l<5373484.5))break;s=l*864.0e5+.5;$=+H(s)>=1.0?(s>0.0?~~+V(+G(s/4294967296.0),4294967295.0)>>>0:~~+T((s-+(~~s>>>0))/4294967296.0)>>>0):0;aa=g;f[aa>>2]=~~s>>>0;f[aa+4>>2]=$;b[g+40>>0]=1;break}g=1;t=za;return g|0}while(0)}d:do if((c|0)>1){w=a+12|0;x=a+16|0;y=g+41|0;z=g+40|0;A=g+42|0;B=a+20|0;C=g+43|0;D=g+44|0;E=g+32|0;F=g+24|0;I=g+20|0;J=g+45|0;K=g+8|0;L=g+12|0;M=g+16|0;i=g+46|0;N=xa+40|0;O=xa+42|0;P=xa+41|0;Q=xa+46|0;R=xa+8|0;S=xa+12|0;W=xa+16|0;X=xa+43|0;Y=xa+20|0;Z=xa+24|0;_=xa+32|0;$=xa+44|0;aa=xa+28|0;v=1;e:while(1){k=e+(v<<2)|0;m=f[k>>2]|0;j=d[m+8>>1]|0;if((j&514)==514?(b[m+10>>0]|0)==1:0){q=f[m+16>>2]|0;j=m}else if(!(j&1)){q=Ic(m,1)|0;j=f[k>>2]|0}else{q=0;j=m}k=d[j+8>>1]|0;if(!(k&2)){if(!(k&17))u=72}else if((b[j+10>>0]|0)!=1&(k&17)==0)u=72;if((u|0)==72){u=0;_e(j,1)|0}if(!q){i=1;u=197;break}f[ya>>2]=1;j=b[q>>0]|0;k=j&255;f:do switch(b[1232+k>>0]|0){case 108:{if(!(j<<24>>24==0|(k|32|0)!=108)){m=42081;j=q;do{j=j+1|0;m=m+1|0;u=b[j>>0]|0;k=(h[1232+(u&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(k|0)!=0));if(k|0){u=193;break f}}if((b[(f[(f[w>>2]|0)+88>>2]|0)+((f[x>>2]|0)*20|0)>>0]|0)==64){f[B>>2]=1;$e(f[a>>2]|0,42014,-1,1,-1)|0;u=193;break f}else{Cf(g);r=Ff(g,a,ya)|0;q=ba()|0;u=g;q=KA(f[u>>2]|0,f[u+4>>2]|0,r|0,q|0)|0;r=ba()|0;u=g;f[u>>2]=q;f[u+4>>2]=r;b[A>>0]=0;b[C>>0]=0;b[D>>0]=0;u=193;break f}}case 117:{n=j<<24>>24==0;if(!(n|(k|32|0)!=117)){j=42091;k=q;do{k=k+1|0;j=j+1|0;r=b[k>>0]|0;m=(h[1232+(r&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(r<<24>>24==0|(m|0)!=0));if(!m)u=87}else u=87;if((u|0)==87?(0,b[y>>0]|0):0){l=+p[E>>3]*1.0e3+21086676.0e7;p[wa>>3]=l;if(!(l>=0.0&l<4642690608.0e5)){u=193;break f}b[A>>0]=0;b[C>>0]=0;b[D>>0]=0;r=+H(l)>=1.0?(l>0.0?~~+V(+G(l/4294967296.0),4294967295.0)>>>0:~~+T((l-+(~~l>>>0))/4294967296.0)>>>0):0;u=g;f[u>>2]=~~l>>>0;f[u+4>>2]=r;b[z>>0]=1;b[y>>0]=0;f[ya>>2]=0;u=192;break f}if(!n){m=42101;j=q;do{j=j+1|0;m=m+1|0;u=b[j>>0]|0;k=(h[1232+(u&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(k|0)!=0));if(k|0){u=193;break f}}if((b[(f[(f[w>>2]|0)+88>>2]|0)+((f[x>>2]|0)*20|0)>>0]|0)==64){f[B>>2]=1;$e(f[a>>2]|0,42014,-1,1,-1)|0;u=193;break f}if(b[J>>0]|0){f[ya>>2]=0;u=192;break f}Cf(g);j=Ff(g,a,ya)|0;k=ba()|0;if(!(f[ya>>2]|0)){q=g;q=LA(f[q>>2]|0,f[q+4>>2]|0,j|0,k|0)|0;r=ba()|0;u=g;f[u>>2]=q;f[u+4>>2]=r;b[A>>0]=0;b[C>>0]=0;b[D>>0]=0;u=Ff(g,a,ya)|0;u=LA(j|0,k|0,u|0,ba()|0)|0;r=ba()|0;q=g;q=KA(u|0,r|0,f[q>>2]|0,f[q+4>>2]|0)|0;r=ba()|0;u=g;f[u>>2]=q;f[u+4>>2]=r}b[J>>0]=1;u=193;break}case 119:{g:do if(!(j<<24>>24)){j=42105;u=105}else{n=q;j=42105;k=8;o=7;while(1){n=n+1|0;if(k>>>0<=1)break g;j=j+1|0;k=b[n>>0]|0;if(!(k<<24>>24)){u=105;break g}k=b[1232+(k&255)>>0]|0;m=b[1232+(h[j>>0]|0)>>0]|0;if(k<<24>>24!=m<<24>>24)break;else{k=o;o=o+-1|0}}ta=k&255;ca=m;u=108}while(0);if((u|0)==105){ta=0;ca=b[1232+(h[j>>0]|0)>>0]|0;u=108}if((u|0)==108?(0,(ta|0)!=(ca&255|0)):0){u=193;break f}u=q+8|0;if((jf(u,wa,(wz(u)|0)&1073741823,1)|0)!=0?(s=+p[wa>>3],va=~~s,s<7.0&((va|0)>-1&s==+(va|0))):0){Bf(g);b[D>>0]=0;b[z>>0]=0;Cf(g);q=g;r=f[q>>2]|0;q=f[q+4>>2]|0;m=KA(r|0,q|0,1296e5,0)|0;m=OA(m|0,ba()|0,864e5,0)|0;m=RA(m|0,ba()|0,7,0)|0;u=ba()|0;j=((va|0)<0)<<31>>31;n=(u|0)>(j|0)|(u|0)==(j|0)&m>>>0>va>>>0;k=KA(m|0,u|0,-7,-1)|0;o=ba()|0;u=LA(va|0,j|0,(n?k:m)|0,(n?o:u)|0)|0;u=QA(u|0,ba()|0,864e5,0)|0;q=KA(u|0,ba()|0,r|0,q|0)|0;r=ba()|0;u=g;f[u>>2]=q;f[u+4>>2]=r;b[A>>0]=0;b[C>>0]=0;b[D>>0]=0;f[ya>>2]=0;u=192}else u=193;break}case 115:{h:do if(!(j<<24>>24)){j=42114;u=116}else{n=q;j=42114;k=9;o=8;while(1){n=n+1|0;if(k>>>0<=1)break h;j=j+1|0;k=b[n>>0]|0;if(!(k<<24>>24)){u=116;break h}k=b[1232+(k&255)>>0]|0;m=b[1232+(h[j>>0]|0)>>0]|0;if(k<<24>>24!=m<<24>>24)break;else{k=o;o=o+-1|0}}ua=k&255;da=m;u=119}while(0);if((u|0)==116){ua=0;da=b[1232+(h[j>>0]|0)>>0]|0;u=119}if((u|0)==119?(u=0,(ua|0)!=(da&255|0)):0){u=193;break f}k=b[A>>0]|0;do if(b[z>>0]|0){j=q+9|0;if(!(k<<24>>24)){m=g;k=f[m>>2]|0;m=f[m+4>>2]|0;if(m>>>0>108096|(m|0)==108096&k>>>0>275971583){k=g;r=k+48|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(r|0));b[i>>0]=1;k=j;break}else{u=KA(k|0,m|0,432e5,0)|0;u=OA(u|0,ba()|0,864e5,0)|0;ba()|0;q=~~((+(u|0)+-1867216.25)/36524.25);q=u+1525+q+((q|0)/-4|0)|0;u=~~((+(q|0)+-122.1)/365.25);q=q-((((u&32767)*36525|0)>>>0)/100|0)|0;r=~~(+(q|0)/30.6001);f[M>>2]=q-~~(+(r|0)*30.6001);r=((r|0)<14?-1:-13)+r|0;f[L>>2]=r;f[K>>2]=((r|0)>2?-4716:-4715)+u;u=129;break}}else k=j}else{if(k<<24>>24){k=q+9|0;break}if(!(b[C>>0]|0)){u=193;break f}f[K>>2]=2e3;f[L>>2]=1;f[M>>2]=1;j=q+9|0;u=129}while(0);if((u|0)==129){b[A>>0]=1;k=j}b[C>>0]=1;f[F>>2]=0;f[I>>2]=0;p[E>>3]=0.0;b[y>>0]=0;b[D>>0]=0;b[z>>0]=0;q=b[k>>0]|0;o=h[1232+(q&255)>>0]|0;j=o+-109|0;q=q<<24>>24==0;if(!(q|(j|0)!=0)){m=42124;n=k;do{n=n+1|0;m=m+1|0;u=b[n>>0]|0;j=(h[1232+(u&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(j|0)!=0))}if(!j){f[M>>2]=1;f[ya>>2]=0;u=192;break f}j=o+-121|0;if(!(q|(j|0)!=0)){m=42130;n=k;do{n=n+1|0;m=m+1|0;u=b[n>>0]|0;j=(h[1232+(u&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(j|0)!=0))}if(!j){f[L>>2]=1;f[M>>2]=1;f[ya>>2]=0;u=192;break f}j=o+-100|0;if(!(q|(j|0)!=0)){m=42135;do{k=k+1|0;m=m+1|0;u=b[k>>0]|0;j=(h[1232+(u&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(j|0)!=0))}if(!j){f[ya>>2]=0;u=192}else u=193;break}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{k=1;i:while(1){j=b[q+k>>0]|0;switch(j<<24>>24){case 58:case 0:break i;default:{}}if(b[5472+(j&255)>>0]&1)break;k=k+1|0}j=q+k|0;if(!(jf(q,wa,k,1)|0)){u=149;break e}k=b[j>>0]|0;if(k<<24>>24==58){j=((h[q>>0]|0)+-48|0)>>>0<10?q:q+1|0;k=xa;r=k+48|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(r|0));if(!(Ef(j,xa)|0)){do if(!(b[N>>0]|0)){if(b[O>>0]|0){j=f[R>>2]|0;if((j+4713|0)>>>0<=14712){ea=f[S>>2]|0;fa=f[W>>2]|0;ga=j;u=156}}else{ea=1;fa=1;ga=2e3;u=156}if((u|0)==156?(0,(b[P>>0]|0)==0):0){k=(ea|0)<3;j=ga+(k<<31>>31)|0;s=(+(fa+2+((j|0)/-100|0)+((j|0)/400|0)+((((k?ea+12|0:ea)*306001|0)+306001|0)/1e4|0)+(((j*36525|0)+172251900|0)/100|0)|0)+-1524.5)*864.0e5;j=~~s>>>0;k=+H(s)>=1.0?(s>0.0?~~+V(+G(s/4294967296.0),4294967295.0)>>>0:~~+T((s-+(~~s>>>0))/4294967296.0)>>>0):0;u=xa;f[u>>2]=j;f[u+4>>2]=k;b[N>>0]=1;if(!(b[X>>0]|0))break;u=U(f[Y>>2]|0,36e5)|0;u=((f[Z>>2]|0)*6e4|0)+u|0;s=+p[_>>3]*1.0e3;j=KA(~~s>>>0|0,(+H(s)>=1.0?(s>0.0?~~+V(+G(s/4294967296.0),4294967295.0)>>>0:~~+T((s-+(~~s>>>0))/4294967296.0)>>>0):0)|0,j|0,k|0)|0;j=KA(j|0,ba()|0,u|0,((u|0)<0)<<31>>31|0)|0;k=ba()|0;u=xa;f[u>>2]=j;f[u+4>>2]=k;if(!(b[$>>0]|0))break;u=(f[aa>>2]|0)*6e4|0;j=LA(j|0,k|0,u|0,((u|0)<0)<<31>>31|0)|0;k=ba()|0;u=xa;f[u>>2]=j;f[u+4>>2]=k;b[O>>0]=0;b[X>>0]=0;b[$>>0]=0;break}k=xa;r=k+48|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(r|0));b[Q>>0]=1;j=0;k=0}else{k=xa;j=f[k>>2]|0;k=f[k+4>>2]|0}while(0);r=KA(j|0,k|0,-432e5,-1)|0;r=RA(r|0,ba()|0,864e5,0)|0;u=ba()|0;o=(b[q>>0]|0)==45;n=LA(0,0,r|0,u|0)|0;q=ba()|0;r=o?n:r;q=o?q:u;u=xa;f[u>>2]=r;f[u+4>>2]=q;Cf(g);b[A>>0]=0;b[C>>0]=0;b[D>>0]=0;u=g;q=KA(f[u>>2]|0,f[u+4>>2]|0,r|0,q|0)|0;r=ba()|0;u=g;f[u>>2]=q;f[u+4>>2]=r;f[ya>>2]=0}u=193;break f}if(b[5472+(k&255)>>0]&1)do j=j+1|0;while((b[5472+(h[j>>0]|0)>>0]&1)!=0);k=(wz(j)|0)&1073741823;if((k+-3|0)>>>0>7)u=193;else{r=k+-1|0;k=(b[j+r>>0]|32)<<24>>24==115?r:k;Cf(g);f[ya>>2]=1;l=+p[wa>>3];s=l<0.0?-.5:.5;j:do if((k|0)>0){k:do switch(k|0){case 6:{u=h[j>>0]|0;k=1232+u|0;do if((u|32|0)==115){u=h[j+1>>0]|0;k=1232+u|0;if((u|32|0)==101){u=h[j+2>>0]|0;k=1232+u|0;if((u|32|0)==99){k=h[j+3>>0]|0;if((k|32|0)!=111){ha=1232+k|0;ia=111;u=170;break}k=h[j+4>>0]|0;if((k|32|0)!=110){ha=1232+k|0;ia=110;u=170;break}k=h[j+5>>0]|0;if((k|32|0)==100)u=171;else{ha=1232+k|0;ia=100;u=170}}else{ha=k;ia=99;u=170}}else{ha=k;ia=101;u=170}}else{ha=k;ia=115;u=170}while(0);if((u|0)==170?(u=0,(ia|0)==(h[ha>>0]|0)):0)u=171;if((u|0)==171?(u=0,l>-464269060800.0&l<464269060800.0):0){j=0;break k}r=h[j>>0]|0;k=1232+r|0;do if((r|32|0)==109){r=h[j+1>>0]|0;k=1232+r|0;if((r|32|0)==105){k=h[j+2>>0]|0;if((k|32|0)!=110){ja=1232+k|0;ka=110;u=178;break}k=h[j+3>>0]|0;if((k|32|0)!=117){ja=1232+k|0;ka=117;u=178;break}k=h[j+4>>0]|0;if((k|32|0)!=116){ja=1232+k|0;ka=116;u=178;break}j=h[j+5>>0]|0;if((j|32|0)!=101){ja=1232+j|0;ka=101;u=178}}else{ja=k;ka=105;u=178}}else{ja=k;ka=109;u=178}while(0);if((u|0)==178?(0,(ka|0)!=(h[ja>>0]|0)):0)break j;if(l>-7737817680.0&l<7737817680.0)j=1;else break j;break}case 4:{u=h[j>>0]|0;k=1232+u|0;if((u|32|0)==104){u=h[j+1>>0]|0;k=1232+u|0;if((u|32|0)==111){u=h[j+2>>0]|0;k=1232+u|0;if((u|32|0)==117){k=h[j+3>>0]|0;if((k|32|0)==114)u=182;else{la=1232+k|0;ma=114;u=181}}else{la=k;ma=117;u=181}}else{la=k;ma=111;u=181}}else{la=k;ma=104;u=181}if((u|0)==181?(u=0,(ma|0)==(h[la>>0]|0)):0)u=182;if((u|0)==182?(u=0,l>-128963628.0&l<128963628.0):0){j=2;break k}r=h[j>>0]|0;k=1232+r|0;do if((r|32|0)==121){r=h[j+1>>0]|0;k=1232+r|0;if((r|32|0)==101){k=h[j+2>>0]|0;if((k|32|0)!=97){ra=1232+k|0;sa=97;u=190;break}j=h[j+3>>0]|0;if((j|32|0)!=114){ra=1232+j|0;sa=114;u=190}}else{ra=k;sa=101;u=190}}else{ra=k;sa=121;u=190}while(0);if((u|0)==190?(0,(sa|0)!=(h[ra>>0]|0)):0)break j;if(l>-14713.0&l<14713.0)j=5;else break j;break}case 3:{r=h[j>>0]|0;k=1232+r|0;if((r|32|0)==100){r=h[j+1>>0]|0;k=1232+r|0;if((r|32|0)==97){j=h[j+2>>0]|0;if((j|32|0)!=121){na=1232+j|0;oa=121;u=184}}else{na=k;oa=97;u=184}}else{na=k;oa=100;u=184}if((u|0)==184?(0,(oa|0)!=(h[na>>0]|0)):0)break j;if(l>-5373485.0&l<5373485.0)j=3;else break j;break}case 5:{r=h[j>>0]|0;k=1232+r|0;do if((r|32|0)==109){r=h[j+1>>0]|0;k=1232+r|0;if((r|32|0)==111){r=h[j+2>>0]|0;k=1232+r|0;if((r|32|0)==110){k=h[j+3>>0]|0;if((k|32|0)!=116){pa=1232+k|0;qa=116;u=187;break}j=h[j+4>>0]|0;if((j|32|0)!=104){pa=1232+j|0;qa=104;u=187}}else{pa=k;qa=110;u=187}}else{pa=k;qa=111;u=187}}else{pa=k;qa=109;u=187}while(0);if((u|0)==187?(0,(qa|0)!=(h[pa>>0]|0)):0)break j;if(l>-176546.0&l<176546.0)j=4;else break j;break}default:break j}while(0);switch(b[5920+(j*24|0)>>0]|0){case 1:{Bf(g);u=~~l;r=(f[L>>2]|0)+u|0;q=(((r|0)>0?-1:-12)+r|0)/12|0;f[K>>2]=q+(f[K>>2]|0);r=(U(q,-12)|0)+r|0;f[L>>2]=r;b[z>>0]=0;l=l-+(u|0);p[wa>>3]=l;break}case 2:{u=~~l;Bf(g);f[K>>2]=(f[K>>2]|0)+u;b[z>>0]=0;l=l-+(u|0);p[wa>>3]=l;break}default:{}}Cf(g);s=s+l*+p[5920+(j*24|0)+16>>3];q=+H(s)>=1.0?(s>0.0?~~+V(+G(s/4294967296.0),4294967295.0)>>>0:~~+T((s-+(~~s>>>0))/4294967296.0)>>>0):0;r=g;q=KA(f[r>>2]|0,f[r+4>>2]|0,~~s>>>0|0,q|0)|0;r=ba()|0;u=g;f[u>>2]=q;f[u+4>>2]=r;f[ya>>2]=0}while(0);b[A>>0]=0;b[C>>0]=0;b[D>>0]=0;u=193}break}default:u=193}while(0);if((u|0)==192)u=0;else if((u|0)==193?(u=0,f[ya>>2]|0):0){i=1;u=197;break}v=v+1|0;if((v|0)>=(c|0))break d}if((u|0)==149){g=1;t=za;return g|0}else if((u|0)==197){t=za;return i|0}}else i=g+46|0;while(0);Cf(g);if(!(b[i>>0]|0)){ya=f[g+4>>2]|0;t=za;return (ya>>>0>108096|(ya|0)==108096&(f[g>>2]|0)>>>0>275971583)&1|0}else{g=1;t=za;return g|0}return 0}function Bf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0.0;c=a+42|0;if(!(b[c>>0]|0)){do if(b[a+40>>0]|0){e=a;d=f[e>>2]|0;e=f[e+4>>2]|0;if(e>>>0>108096|(e|0)==108096&d>>>0>275971583){c=a;d=c+48|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));c=a+46|0;break}else{e=KA(d|0,e|0,432e5,0)|0;e=OA(e|0,ba()|0,864e5,0)|0;ba()|0;g=~~((+(e|0)+-1867216.25)/36524.25);g=e+1525+g+((g|0)/-4|0)|0;e=~~((+(g|0)+-122.1)/365.25);g=g-((((e&32767)*36525|0)>>>0)/100|0)|0;d=~~(+(g|0)/30.6001);f[a+16>>2]=g-~~(+(d|0)*30.6001);d=((d|0)<14?-1:-13)+d|0;f[a+12>>2]=d;f[a+8>>2]=((d|0)>2?-4716:-4715)+e;break}}else{f[a+8>>2]=2e3;f[a+12>>2]=1;f[a+16>>2]=1}while(0);b[c>>0]=1}c=a+43|0;if(b[c>>0]|0)return;Cf(a);d=a;d=KA(f[d>>2]|0,f[d+4>>2]|0,432e5,0)|0;d=RA(d|0,ba()|0,864e5,0)|0;ba()|0;h=+(d|0)/1.0e3;d=~~h;g=(d|0)/3600|0;f[a+20>>2]=g;g=(U(g,-3600)|0)+d|0;e=(g|0)/60|0;f[a+24>>2]=e;h=h-+(d|0)+ +((U(e,-60)|0)+g|0);p[a+32>>3]=h;b[a+41>>0]=0;b[c>>0]=1;return}function Cf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0.0;i=a+40|0;if(b[i>>0]|0)return;j=a+42|0;if(b[j>>0]|0){g=f[a+8>>2]|0;if((g+4713|0)>>>0<=14712){c=f[a+12>>2]|0;d=f[a+16>>2]|0;e=g;h=4}}else{c=1;d=1;e=2e3;h=4}if((h|0)==4?(b[a+41>>0]|0)==0:0){h=(c|0)<3;g=e+(h<<31>>31)|0;k=(+(d+2+((g|0)/-100|0)+((g|0)/400|0)+((((h?c+12|0:c)*306001|0)+306001|0)/1e4|0)+(((g*36525|0)+172251900|0)/100|0)|0)+-1524.5)*864.0e5;c=~~k>>>0;d=+H(k)>=1.0?(k>0.0?~~+V(+G(k/4294967296.0),4294967295.0)>>>0:~~+T((k-+(~~k>>>0))/4294967296.0)>>>0):0;g=a;f[g>>2]=c;f[g+4>>2]=d;b[i>>0]=1;g=a+43|0;if(!(b[g>>0]|0))return;e=U(f[a+20>>2]|0,36e5)|0;e=((f[a+24>>2]|0)*6e4|0)+e|0;k=+p[a+32>>3]*1.0e3;c=KA(~~k>>>0|0,(+H(k)>=1.0?(k>0.0?~~+V(+G(k/4294967296.0),4294967295.0)>>>0:~~+T((k-+(~~k>>>0))/4294967296.0)>>>0):0)|0,c|0,d|0)|0;c=KA(c|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;d=ba()|0;e=a;f[e>>2]=c;f[e+4>>2]=d;e=a+44|0;if(!(b[e>>0]|0))return;h=(f[a+28>>2]|0)*6e4|0;h=LA(c|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[a>>2]=h;f[a+4>>2]=i;b[j>>0]=0;b[g>>0]=0;b[e>>0]=0;return}c=a;d=c+48|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));b[a+46>>0]=1;return}function Df(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;n=o;f[n>>2]=e;e=a;a=0;a:while(1){g=(h[c>>0]|0)+208&255;m=h[c+1>>0]|0;k=d[39628+((b[c+2>>0]|0)+-97<<1)>>1]|0;l=b[c+3>>0]|0;if(!(g<<24>>24))g=0;else{j=0;i=g;while(1){i=i+-1<<24>>24;g=b[e>>0]|0;if(((g&255)+-48|0)>>>0>=10){e=11;break a}g=(j*10|0)+-48+(g<<24>>24)|0;e=e+1|0;if(!(i<<24>>24))break;else j=g}}if((g|0)<((m<<24)+-805306368>>24|0)|(g|0)>(k&65535|0)){e=11;break}if(!(l<<24>>24)){e=8;break}if(l<<24>>24!=(b[e>>0]|0)){e=11;break}l=(f[n>>2]|0)+(4-1)&~(4-1);m=f[l>>2]|0;f[n>>2]=l+4;f[m>>2]=g;e=e+1|0;c=c+4|0;a=a+1|0}if((e|0)==8){l=(f[n>>2]|0)+(4-1)&~(4-1);m=f[l>>2]|0;f[n>>2]=l+4;f[m>>2]=g;n=a+1|0;t=o;return n|0}else if((e|0)==11){t=o;return a|0}return 0}function Ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0;u=t;t=t+48|0;r=u+16|0;e=u+8|0;q=u;o=u+36|0;l=u+32|0;m=u+28|0;n=u+24|0;f[q>>2]=l;f[q+4>>2]=m;if((Df(a,42181,q)|0)!=2){c=1;t=u;return c|0}k=a+5|0;if((b[k>>0]|0)==58){f[e>>2]=n;if((Df(a+6|0,42189,e)|0)!=1){c=1;t=u;return c|0}e=a+8|0;if((b[e>>0]|0)==46?(g=a+9|0,d=b[g>>0]|0,((d&255)+-48|0)>>>0<10):0){j=0.0;i=1.0;do{j=j*10.0+ +(d<<24>>24)+-48.0;i=i*10.0;g=g+1|0;d=b[g>>0]|0}while(((d&255)+-48|0)>>>0<10);i=j/i}else{i=0.0;g=e}}else{f[n>>2]=0;i=0.0;g=k}b[c+40>>0]=0;b[c+41>>0]=0;b[c+43>>0]=1;f[c+20>>2]=f[l>>2];f[c+24>>2]=f[m>>2];p[c+32>>3]=i+ +(f[n>>2]|0);while(1){d=g+1|0;if(!(b[5472+(h[g>>0]|0)>>0]&1))break;else g=d}a=c+28|0;f[a>>2]=0;e=b[g>>0]|0;switch(e<<24>>24){case 45:{e=-1;s=15;break}case 43:{e=1;s=15;break}default:if((e|32)<<24>>24==122){g=0;s=18}else d=0}do if((s|0)==15){f[r>>2]=q;f[r+4>>2]=o;if((Df(d,42193,r)|0)==2){s=U(((f[q>>2]|0)*60|0)+(f[o>>2]|0)|0,e)|0;f[a>>2]=s;d=g+6|0;g=s;s=18;break}c=1;t=u;return c|0}while(0);if((s|0)==18){while(1)if(!(b[5472+(h[d>>0]|0)>>0]&1))break;else d=d+1|0;b[c+45>>0]=1;e=b[d>>0]|0;d=g}if(e<<24>>24){c=1;t=u;return c|0}b[c+44>>0]=(d|0)!=0&1;c=0;t=u;return c|0}function Ff(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,q=0;n=t;t=t+64|0;l=n;m=n+48|0;g=l;e=g+48|0;do{f[g>>2]=f[a>>2];g=g+4|0;a=a+4|0}while((g|0)<(e|0));Bf(l);a=l+8|0;e=f[a>>2]|0;if((e+-1971|0)>>>0>66){f[a>>2]=2e3;f[l+12>>2]=1;f[l+16>>2]=1;f[l+20>>2]=0;f[l+24>>2]=0;p[l+32>>3]=0.0;e=2e3;i=0;j=0}else{i=l+32|0;o=+(~~(+p[i>>3]+.5)|0);p[i>>3]=o;o=o*1.0e3;i=~~o>>>0;j=+H(o)>=1.0?(o>0.0?~~+V(+G(o/4294967296.0),4294967295.0)>>>0:~~+T((o-+(~~o>>>0))/4294967296.0)>>>0):0}f[l+28>>2]=0;h=l+40|0;b[h>>0]=0;k=l+42|0;g=(b[k>>0]|0)==0;a=g?1:f[l+12>>2]|0;if(!(b[l+41>>0]|0)){q=(a|0)<3;e=(g?2e3:e)+(q<<31>>31)|0;o=(+((g?3:(f[l+16>>2]|0)+2|0)+((e|0)/-100|0)+((e|0)/400|0)+((((q?a+12|0:a)*306001|0)+306001|0)/1e4|0)+(((e*36525|0)+172251900|0)/100|0)|0)+-1524.5)*864.0e5;e=~~o>>>0;a=+H(o)>=1.0?(o>0.0?~~+V(+G(o/4294967296.0),4294967295.0)>>>0:~~+T((o-+(~~o>>>0))/4294967296.0)>>>0):0;g=l;f[g>>2]=e;f[g+4>>2]=a;b[h>>0]=1;h=l+43|0;if(b[h>>0]|0){g=U(f[l+20>>2]|0,36e5)|0;g=((f[l+24>>2]|0)*6e4|0)+g|0;e=KA(i|0,j|0,e|0,a|0)|0;e=KA(e|0,ba()|0,g|0,((g|0)<0)<<31>>31|0)|0;a=ba()|0;g=l;f[g>>2]=e;f[g+4>>2]=a;g=l+44|0;if(!(b[g>>0]|0))i=l;else{i=l;f[i>>2]=e;f[i+4>>2]=a;b[k>>0]=0;b[h>>0]=0;b[g>>0]=0;i=l}}else i=l}else{g=l;e=g+48|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(e|0));b[l+46>>0]=1;i=l;e=0;a=0}h=OA(e|0,a|0,1e3,0)|0;ba()|0;f[m>>2]=h+-413362496;h=Za(m|0)|0;if((h|0)==0|(f[9394]|0)!=0){f[c+20>>2]=1;$e(f[c>>2]|0,42158,-1,1,-1)|0;f[d>>2]=1;d=0;q=0;aa(d|0);t=n;return q|0}a=f[h+16>>2]|0;e=f[h+20>>2]|0;g=a+1|0;if((e+6613|0)>>>0>14712){a=0;e=0}else{c=f[h>>2]|0;c=QA(c|0,((c|0)<0)<<31>>31|0,1e3,0)|0;q=ba()|0;m=U(f[h+8>>2]|0,36e5)|0;l=(g|0)<3;e=e+1900+(l<<31>>31)|0;o=(+(((e|0)/-100|0)+((f[h+12>>2]|0)+2)+((e|0)/400|0)+((((l?a+13|0:g)*306001|0)+306001|0)/1e4|0)+(((e*36525|0)+172251900|0)/100|0)|0)+-1524.5)*864.0e5;a=+H(o)>=1.0?(o>0.0?~~+V(+G(o/4294967296.0),4294967295.0)>>>0:~~+T((o-+(~~o>>>0))/4294967296.0)>>>0):0;e=((f[h+4>>2]|0)*6e4|0)+m|0;e=KA(c|0,q|0,e|0,((e|0)<0)<<31>>31|0)|0;a=KA(e|0,ba()|0,~~o>>>0|0,a|0)|0;e=ba()|0}f[d>>2]=0;q=i;q=LA(a|0,e|0,f[q>>2]|0,f[q+4>>2]|0)|0;d=ba()|0;aa(d|0);t=n;return q|0}function Gf(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,8)|0;else b=f[b+16>>2]|0;if(!b)return;e=b;e=KA(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;c=ba()|0;a=b;f[a>>2]=e;f[a+4>>2]=c;return}function Hf(a){a=a|0;var b=0,c=0,e=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,8)|0;else b=f[b+16>>2]|0;if(!b){c=0;e=0}else{e=b;c=f[e>>2]|0;e=f[e+4>>2]|0}b=f[a>>2]|0;a=b+8|0;if(!(d[a>>1]&9216)){f[b>>2]=c;f[b+4>>2]=e;d[a>>1]=4;return}else{bf(b,c,e);return}}function If(a,b,c){a=a|0;b=b|0;c=c|0;return}function Jf(a,b,c){a=a|0;b=b|0;c=c|0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,24)|0;else b=f[b+16>>2]|0;if(!b)return;a=b+8|0;f[a>>2]=1;f[a+4>>2]=0;return}function Kf(a){a=a|0;var b=0,c=0,e=0,g=0,h=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,24)|0;else b=f[b+16>>2]|0;if(!b)return;c=b+8|0;h=c;g=b;e=f[g>>2]|0;g=f[g+4>>2]|0;if(!((f[h>>2]|0)==0&(f[h+4>>2]|0)==0)){e=KA(e|0,g|0,1,0)|0;g=ba()|0;h=b;f[h>>2]=e;f[h+4>>2]=g;h=c;f[h>>2]=0;f[h+4>>2]=0}b=f[a>>2]|0;c=b+8|0;if(!(d[c>>1]&9216)){h=b;f[h>>2]=e;f[h+4>>2]=g;d[c>>1]=4;return}else{bf(b,e,g);return}}function Lf(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,24)|0;else b=f[b+16>>2]|0;if(!b)return;e=b+8|0;c=e;c=KA(f[c>>2]|0,f[c+4>>2]|0,1,0)|0;a=ba()|0;f[e>>2]=c;f[e+4>>2]=a;e=b;if(!((f[e>>2]|0)==0&(f[e+4>>2]|0)==0))return;e=b;f[e>>2]=c;f[e+4>>2]=a;return}function Mf(a){a=a|0;var b=0,c=0,e=0,g=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))c=hf(a,24)|0;else c=f[b+16>>2]|0;if(!c)return;g=c;e=f[g>>2]|0;g=f[g+4>>2]|0;b=f[a>>2]|0;a=b+8|0;if(!(d[a>>1]&9216)){f[b>>2]=e;f[b+4>>2]=g;d[a>>1]=4}else bf(b,e,g);g=c;f[g>>2]=0;f[g+4>>2]=0;return}function Nf(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))h=hf(a,24)|0;else h=f[c+16>>2]|0;if(!h)return;g=h+16|0;a=g;if((f[a>>2]|0)==0&(f[a+4>>2]|0)==0){c=f[e>>2]|0;a=j[c+8>>1]|0;do if(!(a&4)){if(a&8|0){c=Fc(+p[c>>3])|0;a=ba()|0;break}if(!(a&18)){c=0;a=0}else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;a=ba()|0}}else{a=c;c=f[a>>2]|0;a=f[a+4>>2]|0}while(0);f[g>>2]=c;f[g+4>>2]=a}g=h+8|0;c=g;c=KA(f[c>>2]|0,f[c+4>>2]|0,1,0)|0;a=ba()|0;f[g>>2]=c;f[g+4>>2]=a;g=h;if(!((f[g>>2]|0)==0&(f[g+4>>2]|0)==0))return;f[h>>2]=c;f[h+4>>2]=a;return}function Of(a){a=a|0;var b=0,c=0,e=0.0,g=0,h=0,i=0,j=0,k=0;j=t;t=t+16|0;h=j+8|0;i=j;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))g=hf(a,24)|0;else g=f[b+16>>2]|0;if(!g){t=j;return}c=g+16|0;b=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&b>>>0>1){k=g;k=KA(f[k>>2]|0,f[k+4>>2]|0,-1,-1)|0;e=+(k>>>0)+4294967296.0*+(ba()|0);b=KA(b|0,c|0,-1,-1)|0;e=e/(+(b>>>0)+4294967296.0*+(ba()|0));b=f[a>>2]|0;c=b+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else cf(b);p[h>>3]=e;p[i>>3]=+p[h>>3];if(+p[h>>3]==+p[i>>3]){p[b>>3]=e;d[c>>1]=8}}else{b=f[a>>2]|0;c=b+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else cf(b);p[h>>3]=0.0;p[i>>3]=+p[h>>3];if(+p[h>>3]==+p[i>>3]){p[b>>3]=0.0;d[c>>1]=8}}k=g;f[k>>2]=0;f[k+4>>2]=0;t=j;return}function Pf(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))g=hf(a,24)|0;else g=f[c+16>>2]|0;if(!g)return;h=g+16|0;a=h;if((f[a>>2]|0)==0&(f[a+4>>2]|0)==0){c=f[e>>2]|0;a=j[c+8>>1]|0;do if(!(a&4)){if(a&8|0){c=Fc(+p[c>>3])|0;a=ba()|0;break}if(!(a&18)){c=0;a=0}else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;a=ba()|0}}else{a=c;c=f[a>>2]|0;a=f[a+4>>2]|0}while(0);f[h>>2]=c;f[h+4>>2]=a}h=g+8|0;e=h;e=KA(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;g=ba()|0;f[h>>2]=e;f[h+4>>2]=g;return}function Qf(a){a=a|0;var b=0,c=0,e=0,g=0.0,h=0,i=0,j=0;j=t;t=t+16|0;h=j+8|0;i=j;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,24)|0;else b=f[b+16>>2]|0;if(!b){t=j;return}e=b+16|0;c=f[e>>2]|0;e=f[e+4>>2]|0;if((c|0)==0&(e|0)==0){t=j;return}b=b+8|0;g=(+((f[b>>2]|0)>>>0)+4294967296.0*+(f[b+4>>2]|0))/(+(c>>>0)+4294967296.0*+(e|0));b=f[a>>2]|0;c=b+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else cf(b);p[h>>3]=g;p[i>>3]=+p[h>>3];if(!(+p[h>>3]==+p[i>>3])){t=j;return}p[b>>3]=g;d[c>>1]=8;t=j;return}function Rf(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))k=hf(a,24)|0;else k=f[c+16>>2]|0;if(!k)return;i=k;if((f[i>>2]|0)==0&(f[i+4>>2]|0)==0){c=f[e>>2]|0;g=j[c+8>>1]|0;do if(!(g&4)){if(g&8|0){c=Fc(+p[c>>3])|0;i=ba()|0;break}if(!(g&18)){c=0;i=0}else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;i=ba()|0}}else{i=c;c=f[i>>2]|0;i=f[i+4>>2]|0}while(0);h=k+8|0;g=h;f[g>>2]=c;f[g+4>>2]=i;g=f[e+4>>2]|0;e=j[g+8>>1]|0;do if(!(e&4)){if(e&8|0){e=Fc(+p[g>>3])|0;h=ba()|0;g=i;break}if(!(e&18)){e=0;h=0;g=i}else{e=Gc(b[g+10>>0]|0,f[g+12>>2]|0,f[g+16>>2]|0)|0;g=ba()|0;c=h;h=g;g=f[c+4>>2]|0;c=f[c>>2]|0}}else{h=g;e=f[h>>2]|0;h=f[h+4>>2]|0;g=i}while(0);i=k;f[i>>2]=e;f[i+4>>2]=h;if((g|0)<0|(g|0)==0&c>>>0<1){f[a+20>>2]=1;$e(f[a>>2]|0,42359,-1,1,-1)|0}}a=k+16|0;i=a;i=KA(f[i>>2]|0,f[i+4>>2]|0,1,0)|0;k=ba()|0;f[a>>2]=i;f[a+4>>2]=k;return}function Sf(a){a=a|0;var b=0,c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))l=hf(a,24)|0;else l=f[b+16>>2]|0;if(!l)return;c=l+8|0;b=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&b>>>0>0))return;g=l;e=f[g>>2]|0;g=f[g+4>>2]|0;m=OA(e|0,g|0,b|0,c|0)|0;ba()|0;if(!m){g=l+16|0;e=f[g>>2]|0;g=f[g+4>>2]|0;b=f[a>>2]|0;c=b+8|0;if(!(d[c>>1]&9216)){a=b;f[a>>2]=e;f[a+4>>2]=g;d[c>>1]=4;return}else{bf(b,e,g);return}}n=((m|0)<0)<<31>>31;h=QA(b|0,c|0,m|0,n|0)|0;e=LA(e|0,g|0,h|0,ba()|0)|0;g=ba()|0;h=m+1|0;i=((h|0)<0)<<31>>31;j=QA(e|0,g|0,h|0,i|0)|0;k=ba()|0;o=l+16|0;l=f[o>>2]|0;o=f[o+4>>2]|0;b=KA(l|0,o|0,-1,-1)|0;c=ba()|0;if((o|0)>(k|0)|(o|0)==(k|0)&l>>>0>j>>>0){o=KA(e|0,g|0,1,0)|0;g=ba()|0;e=LA(b|0,c|0,j|0,k|0)|0;e=OA(e|0,ba()|0,m|0,n|0)|0;e=KA(o|0,g|0,e|0,ba()|0)|0;g=ba()|0;b=f[a>>2]|0;c=b+8|0;if(!(d[c>>1]&9216)){o=b;f[o>>2]=e;f[o+4>>2]=g;d[c>>1]=4;return}else{bf(b,e,g);return}}else{e=OA(b|0,c|0,h|0,i|0)|0;e=KA(e|0,ba()|0,1,0)|0;g=ba()|0;b=f[a>>2]|0;c=b+8|0;if(!(d[c>>1]&9216)){o=b;f[o>>2]=e;f[o+4>>2]=g;d[c>>1]=4;return}else{bf(b,e,g);return}}}function Tf(a,c,e){a=a|0;c=c|0;e=e|0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))c=hf(a,8)|0;else c=f[c+16>>2]|0;if(!c)return;Yf(f[c>>2]|0);e=Zf(f[e>>2]|0)|0;f[c>>2]=e;if(e|0){a=c+4|0;f[a>>2]=(f[a>>2]|0)+1;return}c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;e=c+81|0;if(b[e>>0]|0)return;if(b[c+82>>0]|0)return;b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;return}function Uf(a){a=a|0;var b=0,c=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,8)|0;else b=f[b+16>>2]|0;if(!b)return;c=f[b>>2]|0;if(!c)return;mf(a,c);Yf(f[b>>2]|0);f[b>>2]=0;return}function Vf(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,8)|0;else b=f[b+16>>2]|0;if(!b)return;b=f[b>>2]|0;if(!b)return;mf(a,b);return}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,8)|0;else b=f[b+16>>2]|0;if(!b)return;c=b+4|0;a=(f[c>>2]|0)+-1|0;f[c>>2]=a;if(a|0)return;Yf(f[b>>2]|0);f[b>>2]=0;return}function Xf(a){a=a|0;return}function Yf(a){a=a|0;var b=0,c=0;if(!a)return;if(!((d[a+8>>1]&9216)==0?!(f[a+24>>2]|0):0))ff(a);b=f[a+32>>2]|0;if(b|0){if(f[b+480>>2]|0){Kc(b,a);return}c=a;if((f[b+304>>2]|0)>>>0<=c>>>0?(f[b+308>>2]|0)>>>0>c>>>0:0){c=b+300|0;f[a>>2]=f[c>>2];f[c>>2]=a;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Zf(a){a=a|0;var b=0,c=0,e=0,g=0,h=0;if(!a){g=0;return g|0}if(Mc()|0){g=0;return g|0}if(!(f[9328]|0)){b=ib[f[37356>>2]&255](40)|0;if(!b){g=0;return g|0}else c=b}else{e=ib[f[37372>>2]&255](40)|0;if((f[18194]|0)>>>0<40)f[18194]=40;c=71896;b=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&b>>>0>0){h=f[18187]|0;c=LA(b|0,c|0,e|0,((e|0)<0)<<31>>31|0)|0;b=ba()|0;f[17976]=((b|0)<0|(b|0)==0&c>>>0<=h>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(!c){h=0;return h|0}b=ib[f[37368>>2]&255](c)|0;b=(f[18187]|0)+b|0;f[18187]=b;if(b>>>0>(f[18191]|0)>>>0)f[18191]=b;b=(f[18190]|0)+1|0;f[18190]=b;if(b>>>0>(f[18196]|0)>>>0)f[18196]=b}b=c+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[c>>2]=f[a>>2];f[c+4>>2]=f[a+4>>2];f[c+8>>2]=f[a+8>>2];f[c+12>>2]=f[a+12>>2];f[c+16>>2]=f[a+16>>2];a=c+8|0;b=d[a>>1]&-1025;d[a>>1]=b;e=c+32|0;f[e>>2]=0;b=b&65535;if(!(b&18)){h=c;return h|0}d[a>>1]=b&58367|4096;if(b&16384){b=c+12|0;h=(f[c>>2]|0)+(f[b>>2]|0)|0;if(!(df(c,(h|0)>1?h:1,1)|0)){_A((f[c+16>>2]|0)+(f[b>>2]|0)|0,0,f[c>>2]|0)|0;f[b>>2]=(f[b>>2]|0)+(f[c>>2]|0);b=d[a>>1]&-16897;d[a>>1]=b;if((f[c+24>>2]|0)!=0?(f[c+16>>2]|0)==(f[c+20>>2]|0):0)g=21;else g=19}}else g=19;if((g|0)==19?(gf(c)|0)==0:0){b=d[a>>1]|0;g=21}if((g|0)==21){d[a>>1]=b&-4097;h=c;return h|0}if(!((d[a>>1]&9216)==0?!(f[c+24>>2]|0):0))ff(c);b=f[e>>2]|0;if(b|0){if(f[b+480>>2]|0){Kc(b,c);h=0;return h|0}h=c;if((f[b+304>>2]|0)>>>0<=h>>>0?(f[b+308>>2]|0)>>>0>h>>>0:0){h=b+300|0;f[c>>2]=f[h>>2];f[h>>2]=c;h=0;return h|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);h=0;return h|0}else{h=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);h=0;return h|0}return 0}function _f(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=t;t=t+368|0;G=K+16|0;r=K;q=K+356|0;H=K+336|0;I=K+64|0;v=K+32|0;J=f[(f[a>>2]|0)+32>>2]|0;c=f[e>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){C=f[c+16>>2]|0;break}if(!(g&1))C=Ic(c,1)|0;else C=0}else C=0;while(0);c=f[e+12>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){u=f[c+16>>2]|0;break}if(!(g&1))u=Ic(c,1)|0;else u=0}else u=0;while(0);c=f[e+16>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){z=f[c+16>>2]|0;break}if(!(g&1))z=Ic(c,1)|0;else z=0}else z=0;while(0);c=f[e+20>>2]|0;g=j[c+8>>1]|0;do if(!(g&4)){if(g&8|0){y=Fc(+p[c>>3])|0;ba()|0;break}if(!(g&18))y=0;else{y=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else y=f[c>>2]|0;while(0);c=f[e+24>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){B=f[c+16>>2]|0;break}if(!(g&1))B=Ic(c,1)|0;else B=0}else B=0;while(0);c=f[e+28>>2]|0;g=j[c+8>>1]|0;do if(!(g&4)){if(g&8|0){A=Fc(+p[c>>3])|0;ba()|0;break}if(!(g&18))A=0;else{A=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else A=f[c>>2]|0;while(0);c=f[e+32>>2]|0;g=j[c+8>>1]|0;do if(!(g&4)){if(g&8|0){k=Fc(+p[c>>3])|0;ba()|0;break}if(!(g&18))k=0;else{k=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else k=f[c>>2]|0;while(0);D=J+312|0;E=f[D>>2]|0;if((y|0)<0|((C|0)==0|(z|0)==0|(B|0)==0)){t=K;return}l=f[J+20>>2]|0;m=(l|0)>0;if(m){g=f[J+16>>2]|0;c=0;do{i=f[g+(c<<4)+4>>2]|0;if(i|0)f[(f[i+4>>2]|0)+4>>2]=f[i>>2];c=c+1|0}while((c|0)!=(l|0))}o=ji(J,z,u)|0;if(!o){t=K;return}if((y|0)>=(d[o+42>>1]|0)){t=K;return}x=f[(f[o+4>>2]|0)+(y<<4)>>2]|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;f[H+16>>2]=0;s=H+8|0;f[s>>2]=(y|0)==(d[o+40>>1]|0)?-1:y;f[D>>2]=0;f[q>>2]=0;n=(k|0)==0;if(n){a:do if(u){g=l+-1|0;if(m){c=g;l=(f[J+16>>2]|0)+(g<<4)|0;while(1){i=f[l>>2]|0;if(i|0){w=b[i>>0]|0;g=(h[1232+(w&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0;if(!(w<<24>>24==0|(g|0)!=0)){k=u;do{i=i+1|0;k=k+1|0;w=b[i>>0]|0;g=(h[1232+(w&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(w<<24>>24==0|(g|0)!=0))}if(!g)break a}if(!c)break;g=c+-1|0;if((c|0)>0){c=g;l=l+-16|0}else{c=g;break a}}c=109-(h[1232+(h[u>>0]|0)>>0]|0)|0;if(!c){g=u;i=42464;do{i=i+1|0;g=g+1|0;w=b[i>>0]|0;c=(h[1232+(w&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(w<<24>>24==0|(c|0)!=0))}c=((c|0)!=0)<<31>>31}else c=g}else c=-1;while(0);c=c&255}else c=1;g=J+164|0;b[g>>0]=c;w=I+4|0;_A(w|0,0,268)|0;b[I+196>>0]=2;f[I>>2]=J;f[I+128>>2]=1;c=bg(I,C,q)|0;f[w>>2]=f[q>>2];i=J+81|0;c=(b[i>>0]|0)==0?c:7;if(!c)if(((f[I+224>>2]|0)==0?(f[I+228>>2]|0)==0:0)?(f[I+232>>2]|0)==0:0){f[r>>2]=42469;f[r+4>>2]=102416;f[r+8>>2]=40460;Ac(11,40408,r);c=11}else c=0;b[g>>0]=0;m=v+12|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[v>>2]=I;f[v+4>>2]=139;f[v+8>>2]=140;f[v+24>>2]=H;m=H+12|0;f[m>>2]=o;b:do if(!c){q=I+224|0;c=f[q>>2]|0;l=c;do if(c){g=f[c+12>>2]|0;if(g|0){c=I+12|0;f[c>>2]=0;cg(I,g,0);c=(b[i>>0]|0)==0?f[c>>2]|0:7;if(c|0){F=163;break b}yk(v,g)|0;break}i=f[c>>2]|0;do if(!i){f[m>>2]=l;v=0}else{u=b[z>>0]|0;g=(h[1232+(u&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0;if(!(u<<24>>24==0|(g|0)!=0)){k=z;do{k=k+1|0;i=i+1|0;u=b[k>>0]|0;g=(h[1232+(u&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(g|0)!=0))}f[m>>2]=l;if(g|0){v=0;break}l=f[(f[c+4>>2]|0)+(y<<4)>>2]|0;i=I+268|0;c=f[i>>2]|0;c:do if(c|0){k=i;while(1){g=c+12|0;if((f[c>>2]|0)==(l|0))break;c=f[g>>2]|0;if(!c)break c;else k=g}f[k>>2]=f[g>>2];f[g>>2]=f[H>>2];f[H>>2]=c;u=H+4|0;f[u>>2]=(f[u>>2]|0)+1}while(0);d:do if((f[s>>2]|0)<0){k=(f[q>>2]|0)+40|0;c=f[i>>2]|0;if(!c)break;while(1){g=c+12|0;if((f[c>>2]|0)==(k|0))break;c=f[g>>2]|0;if(!c)break d;else i=g}f[i>>2]=f[g>>2];f[g>>2]=f[H>>2];f[H>>2]=c;u=H+4|0;f[u>>2]=(f[u>>2]|0)+1}while(0);c=f[q>>2]|0;i=f[c+24>>2]|0;do if(i){g=f[i>>2]|0;if((g|0)<=0)break;c=i+4|0;while(1){i=f[c>>2]|0;if(i|0?oi(v,i)|0:0)break;if((g|0)>1){g=g+-1|0;c=c+20|0}else break}c=f[q>>2]|0}while(0);g=f[c+8>>2]|0;if(!g){v=1;break}do{i=f[g+40>>2]|0;e:do if(i|0){c=f[i>>2]|0;if((c|0)<=0)break;i=i+4|0;while(1){k=f[i>>2]|0;if(k|0?oi(v,k)|0:0)break e;if((c|0)>1){c=c+-1|0;i=i+20|0}else break}}while(0);g=f[g+20>>2]|0}while((g|0)!=0);c=f[q>>2]|0;v=1}while(0);c=f[c+16>>2]|0;if(c|0){q=I+268|0;r=((x|0)!=0)<<31>>31;s=(x|0)==0;u=H+4|0;do{n=f[c+20>>2]|0;if((n|0)>0){o=c+8|0;m=0;do{f:do if(v){l=c+36+(m<<3)|0;if((f[l>>2]|0)!=(y|0))break;g=f[q>>2]|0;if(!g)break;k=q;while(1){i=g+12|0;if((f[g>>2]|0)==(l|0))break;g=f[i>>2]|0;if(!g)break f;else k=i}f[k>>2]=f[i>>2];f[i>>2]=f[H>>2];f[H>>2]=g;f[u>>2]=(f[u>>2]|0)+1}while(0);i=f[o>>2]|0;g:do if(i|0){l=b[i>>0]|0;g=(h[1232+(l&255)>>0]|0)-(h[1232+(h[z>>0]|0)>>0]|0)|0;if(!(l<<24>>24==0|(g|0)!=0)){k=z;do{i=i+1|0;k=k+1|0;l=b[i>>0]|0;g=(h[1232+(l&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(l<<24>>24==0|(g|0)!=0))}if(g|0)break;l=f[c+36+(m<<3)+4>>2]|0;do if(!l)g=r;else{if(s)break g;k=b[l>>0]|0;g=(h[1232+(k&255)>>0]|0)-(h[1232+(h[x>>0]|0)>>0]|0)|0;if(k<<24>>24==0|(g|0)!=0)break;i=x;k=l;do{k=k+1|0;i=i+1|0;L=b[k>>0]|0;g=(h[1232+(L&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(L<<24>>24==0|(g|0)!=0))}while(0);if(g|0)break;g=f[q>>2]|0;if(!g)break;k=q;while(1){i=g+12|0;if((f[g>>2]|0)==(l|0))break;g=f[i>>2]|0;if(!g)break g;else k=i}f[k>>2]=f[i>>2];f[i>>2]=f[H>>2];f[H>>2]=g;f[u>>2]=(f[u>>2]|0)+1}while(0);m=m+1|0}while((m|0)<(n|0))}c=f[c+4>>2]|0}while((c|0)!=0)}}else{k=I+228|0;c=f[k>>2]|0;if(c|0){i=f[c+40>>2]|0;do if(i){g=f[i>>2]|0;if((g|0)<=0)break;c=i+4|0;while(1){i=f[c>>2]|0;if(i|0?oi(v,i)|0:0)break;if((g|0)>1){g=g+-1|0;c=c+20|0}else break}c=f[k>>2]|0}while(0);c=f[c+36>>2]|0;if(!c)break;oi(v,c)|0;break}c=dg(I,n?u:0)|0;if(c|0){F=163;break b}i=I+232|0;c=f[(f[i>>2]|0)+28>>2]|0;if(c|0)do{g=f[c+12>>2]|0;do if(g|0){if((pi(I,0,g,u)|0)!=(o|0))break;g=f[c+28>>2]|0;if(g|0)ap(I,H,f[g+8>>2]|0,x);bp(I,H,f[c+24>>2]|0,x);ap(I,H,f[c+20>>2]|0,x)}while(0);c=f[c+36>>2]|0}while((c|0)!=0);if((f[I+120>>2]|0)==(o|0))bp(I,H,f[(f[i>>2]|0)+16>>2]|0,x);Yo(v,f[i>>2]|0)}while(0);c=Zo(a,H,C,B,A)|0;if(c|0)F=163}else F=163;while(0);do if((F|0)==163){if(!(f[w>>2]|0)){f[a+20>>2]=c;g=f[a>>2]|0;if(!(d[g+8>>1]&1))break;h:do switch(c|0){case 516:{c=44816;break}case 100:{c=44794;break}case 101:{c=44771;break}default:{c=c&255;if(c>>>0<29){if(!(520028155>>>c&1)){c=44757;break h}c=f[7984+(c<<2)>>2]|0}else c=44757}}while(0);$e(g,c,-1,1,0)|0;break}g=f[e+4>>2]|0;i=f[e+8>>2]|0;i:do if(g){c=d[g+8>>1]|0;do if((c&514)==514){if((b[g+10>>0]|0)!=1)break;g=f[g+16>>2]|0;break i}while(0);if(!(c&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);j:do if(!i)c=0;else{c=d[i+8>>1]|0;do if((c&514)==514){if((b[i+10>>0]|0)!=1)break;c=f[i+16>>2]|0;break j}while(0);if(c&1){c=0;break}c=Ic(i,1)|0}while(0);L=f[w>>2]|0;f[G>>2]=g;f[G+4>>2]=c;f[G+8>>2]=72788;f[G+12>>2]=L;c=wd(42489,G)|0;f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{L=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);eg(I);lg(J,f[H>>2]|0);f[D>>2]=E;t=K;return}function $f(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=t;t=t+384|0;G=K+16|0;o=K;r=K+352|0;H=K+80|0;I=K+60|0;A=K+32|0;J=f[(f[a>>2]|0)+32>>2]|0;c=f[e>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){v=f[c+16>>2]|0;break}if(!(g&1))v=Ic(c,1)|0;else v=0}else v=0;while(0);c=f[e+12>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){C=f[c+16>>2]|0;break}if(!(g&1))C=Ic(c,1)|0;else C=0}else C=0;while(0);c=f[e+16>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){y=f[c+16>>2]|0;break}if(!(g&1))y=Ic(c,1)|0;else y=0}else y=0;while(0);c=f[e+20>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){B=f[c+16>>2]|0;break}if(!(g&1))B=Ic(c,1)|0;else B=0}else B=0;while(0);c=f[e+24>>2]|0;g=j[c+8>>1]|0;do if(!(g&4)){if(g&8|0){l=Fc(+p[c>>3])|0;ba()|0;break}if(!(g&18))l=0;else{l=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else l=f[c>>2]|0;while(0);if(!((C|0)!=0&(y|0)!=0&(B|0)!=0)){t=K;return}D=J+312|0;E=f[D>>2]|0;f[D>>2]=0;m=J+20|0;k=f[m>>2]|0;if((k|0)>0){g=f[J+16>>2]|0;c=0;do{i=f[g+(c<<4)+4>>2]|0;if(i|0)f[(f[i+4>>2]|0)+4>>2]=f[i>>2];c=c+1|0}while((c|0)!=(k|0))};f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;f[I+16>>2]=0;n=ji(J,y,v)|0;x=I+12|0;f[x>>2]=n;n=A+12|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[A>>2]=H;f[A+4>>2]=141;f[A+8>>2]=142;f[A+24>>2]=I;f[r>>2]=0;n=(l|0)==0;if(n){a:do if(v){z=f[m>>2]|0;g=z+-1|0;if((z|0)>0){c=g;l=(f[J+16>>2]|0)+(g<<4)|0;while(1){i=f[l>>2]|0;if(i|0){z=b[i>>0]|0;g=(h[1232+(z&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0;if(!(z<<24>>24==0|(g|0)!=0)){k=v;do{i=i+1|0;k=k+1|0;z=b[i>>0]|0;g=(h[1232+(z&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(z<<24>>24==0|(g|0)!=0))}if(!g)break a}if(!c)break;g=c+-1|0;if((c|0)>0){c=g;l=l+-16|0}else{c=g;break a}}c=109-(h[1232+(h[v>>0]|0)>>0]|0)|0;if(!c){g=v;i=42464;do{i=i+1|0;g=g+1|0;z=b[i>>0]|0;c=(h[1232+(z&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(z<<24>>24==0|(c|0)!=0))}c=((c|0)!=0)<<31>>31}else c=g}else c=-1;while(0);c=c&255}else c=1;g=J+164|0;b[g>>0]=c;z=H+4|0;_A(z|0,0,268)|0;b[H+196>>0]=3;f[H>>2]=J;f[H+128>>2]=1;c=bg(H,C,r)|0;f[z>>2]=f[r>>2];c=(b[J+81>>0]|0)==0?c:7;b:do if(!c){q=f[H+224>>2]|0;c=(q|0)==0;if((c?(f[H+228>>2]|0)==0:0)?(f[H+232>>2]|0)==0:0){f[o>>2]=42469;f[o+4>>2]=102416;f[o+8>>2]=40460;Ac(11,40408,o);c=11;F=58;break}b[g>>0]=0;i=f[J+32>>2]|0;m=i&67108864;c:do if(c){l=H+228|0;c=f[l>>2]|0;if(c|0){k=f[c>>2]|0;c=H+268|0;g=f[c>>2]|0;d:do if(g|0){while(1){i=g+12|0;if((f[g>>2]|0)==(k|0))break;g=f[i>>2]|0;if(!g)break d;else c=i}f[c>>2]=f[i>>2];f[i>>2]=f[I>>2];f[I>>2]=g;y=I+4|0;f[y>>2]=(f[y>>2]|0)+1}while(0);if(m|0)break;c=f[(f[l>>2]|0)+36>>2]|0;if(!c)break;oi(A,c)|0;break}l=f[H+232>>2]|0;k=f[l+4>>2]|0;e:do if(k|0){s=b[k>>0]|0;c=(h[1232+(s&255)>>0]|0)-(h[1232+(h[y>>0]|0)>>0]|0)|0;if(!(s<<24>>24==0|(c|0)!=0)){g=y;i=k;do{i=i+1|0;g=g+1|0;s=b[i>>0]|0;c=(h[1232+(s&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(c|0)!=0))}if(((c|0)==0?(f[(f[x>>2]|0)+72>>2]|0)==(f[l+24>>2]|0):0)?(u=H+268|0,w=f[u>>2]|0,w|0):0){i=u;c=w;while(1){g=c+12|0;if((f[c>>2]|0)==(k|0))break;c=f[g>>2]|0;if(!c)break e;else i=g}f[i>>2]=f[g>>2];f[g>>2]=f[I>>2];f[I>>2]=c;x=I+4|0;f[x>>2]=(f[x>>2]|0)+1}}while(0);if(!m){c=dg(H,n?v:0)|0;if(c|0){F=131;break b}Yo(A,l);c=f[l+28>>2]|0;if(c|0){m=H+268|0;n=I+4|0;do{l=f[c+12>>2]|0;f:do if(l|0){A=b[l>>0]|0;g=(h[1232+(A&255)>>0]|0)-(h[1232+(h[y>>0]|0)>>0]|0)|0;if(!(A<<24>>24==0|(g|0)!=0)){i=y;k=l;do{k=k+1|0;i=i+1|0;A=b[k>>0]|0;g=(h[1232+(A&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(A<<24>>24==0|(g|0)!=0))}if(g|0)break;g=f[m>>2]|0;if(!g)break;k=m;while(1){i=g+12|0;if((f[g>>2]|0)==(l|0))break;g=f[i>>2]|0;if(!g)break f;else k=i}f[k>>2]=f[i>>2];f[i>>2]=f[I>>2];f[I>>2]=g;f[n>>2]=(f[n>>2]|0)+1}while(0);c=f[c+36>>2]|0}while((c|0)!=0)}}}else{g=q+12|0;o=(m|0)==0;if(f[g>>2]|0){if(!o)break;y=r+4|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;f[y+16>>2]=0;f[y+20>>2]=0;f[y+24>>2]=0;f[r>>2]=H;cg(H,f[g>>2]|0,r);y=(f[H+36>>2]|0)==0;c=f[H+12>>2]|0;yk(A,f[g>>2]|0)|0;if(y|(c|0)==0)break;else{F=131;break b}}if(!((i&16384|0)==0&0==0&(o^1))?(s=f[q+16>>2]|0,s|0):0){m=H+268|0;n=I+4|0;k=s;do{l=f[k+8>>2]|0;g:do if(l|0){w=b[l>>0]|0;c=(h[1232+(w&255)>>0]|0)-(h[1232+(h[y>>0]|0)>>0]|0)|0;if(!(w<<24>>24==0|(c|0)!=0)){g=y;i=l;do{i=i+1|0;g=g+1|0;w=b[i>>0]|0;c=(h[1232+(w&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(w<<24>>24==0|(c|0)!=0))}if(c|0)break;c=f[m>>2]|0;if(!c)break;i=m;while(1){g=c+12|0;if((f[c>>2]|0)==(l|0))break;c=f[g>>2]|0;if(!c)break g;else i=g}f[i>>2]=f[g>>2];f[g>>2]=f[I>>2];f[I>>2]=c;f[n>>2]=(f[n>>2]|0)+1}while(0);k=f[k+4>>2]|0}while((k|0)!=0)}k=f[q>>2]|0;if(k|0){w=b[y>>0]|0;c=(h[1232+(w&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0;if(!(w<<24>>24==0|(c|0)!=0)){i=k;g=y;do{g=g+1|0;i=i+1|0;y=b[g>>0]|0;c=(h[1232+(y&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(y<<24>>24==0|(c|0)!=0))}if(!c){f[x>>2]=q;do if(o){g=f[q+24>>2]|0;if(!g)break;c=f[g>>2]|0;if((c|0)<=0)break;i=c;c=g+4|0;while(1){g=f[c>>2]|0;if(g|0?oi(A,g)|0:0)break;if((i|0)>1){i=i+-1|0;c=c+20|0}else break}k=f[q>>2]|0}while(0);c=H+268|0;g=f[c>>2]|0;if(g|0){while(1){i=g+12|0;if((f[g>>2]|0)==(k|0))break;g=f[i>>2]|0;if(!g)break c;else c=i}f[c>>2]=f[i>>2];f[i>>2]=f[I>>2];f[I>>2]=g;A=I+4|0;f[A>>2]=(f[A>>2]|0)+1}}}}while(0);c=Zo(a,I,C,B,1)|0;if(c|0)F=131}else F=58;while(0);if((F|0)==58){b[g>>0]=0;F=131}do if((F|0)==131){if(!(f[z>>2]|0)){f[a+20>>2]=c;g=f[a>>2]|0;if(!(d[g+8>>1]&1))break;switch(c|0){case 516:{c=44816;break}case 100:{c=44794;break}case 101:{c=44771;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7984+(c<<2)>>2]|0;else c=44757}}$e(g,c,-1,1,0)|0;break}g=f[e+4>>2]|0;i=f[e+8>>2]|0;do if(g){c=d[g+8>>1]|0;if((c&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(c&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);do if(i){c=d[i+8>>1]|0;if((c&514)==514?(b[i+10>>0]|0)==1:0){c=f[i+16>>2]|0;break}if(!(c&1))c=Ic(i,1)|0;else c=0}else c=0;while(0);e=f[z>>2]|0;f[G>>2]=g;f[G+4>>2]=c;f[G+8>>2]=72788;f[G+12>>2]=e;c=wd(42489,G)|0;f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);eg(H);lg(J,f[I>>2]|0);f[D>>2]=E;t=K;return}function ag(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=t;t=t+336|0;v=B+16|0;r=B;s=B+304|0;A=B+32|0;w=f[(f[a>>2]|0)+32>>2]|0;g=f[e>>2]|0;do if(g){c=d[g+8>>1]|0;if((c&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(c&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);c=f[e+4>>2]|0;do if(c){i=d[c+8>>1]|0;if((i&514)==514?(b[c+10>>0]|0)==1:0){n=f[c+16>>2]|0;break}if(!(i&1))n=Ic(c,1)|0;else n=0}else n=0;while(0);c=f[e+16>>2]|0;i=j[c+8>>1]|0;do if(!(i&4)){if(i&8|0){c=Fc(+p[c>>3])|0;ba()|0;break}if(!(i&18))c=0;else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else c=f[c>>2]|0;while(0);o=f[w+32>>2]|0;x=w+312|0;y=f[x>>2]|0;f[x>>2]=0;if(!((g|0)!=0&(n|0)!=0)){f[x>>2]=y;t=B;return}f[s>>2]=0;q=(c|0)==0;if(q){m=f[w+20>>2]|0;i=m+-1|0;a:do if((m|0)>0){c=i;m=(f[w+16>>2]|0)+(i<<4)|0;while(1){k=f[m>>2]|0;if(k|0){l=b[k>>0]|0;i=(h[1232+(l&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0;if(!(l<<24>>24==0|(i|0)!=0)){l=g;do{k=k+1|0;l=l+1|0;C=b[k>>0]|0;i=(h[1232+(C&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(C<<24>>24==0|(i|0)!=0))}if(!i)break a}if(!c)break;i=c+-1|0;if((c|0)>0){c=i;m=m+-16|0}else{c=i;break a}}c=109-(h[1232+(h[g>>0]|0)>>0]|0)|0;if(!c){i=g;k=42464;do{k=k+1|0;i=i+1|0;C=b[k>>0]|0;c=(h[1232+(C&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(C<<24>>24==0|(c|0)!=0))}c=((c|0)!=0)<<31>>31}else c=i;while(0);c=c&255}else c=1;k=w+164|0;b[k>>0]=c;l=A+4|0;_A(l|0,0,268)|0;b[A+196>>0]=3;f[A>>2]=w;f[A+128>>2]=1;C=bg(A,n,s)|0;f[l>>2]=f[s>>2];do if((C|0)==0&(b[w+81>>0]|0)==0){c=f[A+224>>2]|0;i=(c|0)==0;if((i?(f[A+228>>2]|0)==0:0)?(f[A+232>>2]|0)==0:0){f[r>>2]=42469;f[r+4>>2]=102416;f[r+8>>2]=40460;Ac(11,40408,r);z=40;break}b[k>>0]=0;k=(o&67108864|0)==0&0==0;if(!(i|k^1)?(u=c+12|0,f[u>>2]|0):0){C=s+4|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;f[C+16>>2]=0;f[C+20>>2]=0;f[C+24>>2]=0;f[s>>2]=A;cg(A,f[u>>2]|0,s);if((f[A+36>>2]|0)==0|(f[A+12>>2]|0)==0)break;else{z=68;break}}i=A+232|0;c=f[i>>2]|0;if(c|0){if(k){if(dg(A,q?g:0)|0){z=68;break}c=f[i>>2]|0}i=f[c+24>>2]|0;if(!i)n=-1e6;else{k=f[w+16>>2]|0;c=0;while(1)if((f[k+(c<<4)+12>>2]|0)==(i|0)){n=c;break}else c=c+1|0}C=f[w+20>>2]|0;i=C+-1|0;b:do if((C|0)>0){c=i;m=(f[w+16>>2]|0)+(i<<4)|0;while(1){k=f[m>>2]|0;if(k|0){C=b[k>>0]|0;i=(h[1232+(C&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0;if(!(C<<24>>24==0|(i|0)!=0)){l=g;do{k=k+1|0;l=l+1|0;C=b[k>>0]|0;i=(h[1232+(C&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(C<<24>>24==0|(i|0)!=0))}if(!i)break b}if(!c)break;i=c+-1|0;if((c|0)>0){c=i;m=m+-16|0}else{c=i;break b}}c=109-(h[1232+(h[g>>0]|0)>>0]|0)|0;if(!c){i=42464;do{i=i+1|0;g=g+1|0;C=b[i>>0]|0;c=(h[1232+(C&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(C<<24>>24==0|(c|0)!=0))}c=((c|0)!=0)<<31>>31}else c=i;while(0);if((n|0)==(c|0)){c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216)){C=c;f[C>>2]=1;f[C+4>>2]=0;d[g>>1]=4;break}else{bf(c,1,0);break}}}}else z=40;while(0);if((z|0)==40){b[k>>0]=0;z=68}do if((z|0)==68){g=f[e+8>>2]|0;i=f[e+12>>2]|0;do if(g){c=d[g+8>>1]|0;if((c&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(c&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);do if(i){c=d[i+8>>1]|0;if((c&514)==514?(b[i+10>>0]|0)==1:0){c=f[i+16>>2]|0;break}if(!(c&1))c=Ic(i,1)|0;else c=0}else c=0;while(0);C=f[l>>2]|0;f[v>>2]=g;f[v+4>>2]=c;f[v+8>>2]=42510;f[v+12>>2]=C;c=wd(42489,v)|0;f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{C=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);eg(A);f[x>>2]=y;t=B;return}function bg(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=t;t=t+1280|0;Q=V+48|0;O=V+40|0;K=V+32|0;J=V+24|0;I=V+16|0;H=V+8|0;E=V+1272|0;F=V;G=V+1268|0;h=V+56|0;U=f[a>>2]|0;i=f[U+112>>2]|0;if(!(f[U+168>>2]|0))f[U+264>>2]=0;P=a+12|0;f[P>>2]=0;R=a+220|0;f[R>>2]=c;L=h+4|0;f[L>>2]=a;g=h+8|0;f[h>>2]=g;d[g>>1]=0;d[h+10>>1]=0;D=h+1208|0;f[D>>2]=h+1196;k=Lj(c,G)|0;i=i-k|0;a:do if((i|0)>=0){x=U+264|0;y=a+184|0;z=a+188|0;A=U+81|0;B=h+8|0;w=F+4|0;v=E+4|0;l=-1;b:while(1){u=i;m=k;while(1){i=f[G>>2]|0;if((i|0)<=151){s=m;break}if(f[x>>2]|0){S=11;break b}if((i|0)!=172){S=14;break}c=c+m|0;k=Lj(c,G)|0;i=u-k|0;if((i|0)<0){S=8;break a}else{u=i;m=k}}c:do if((S|0)==14){S=0;if(!(b[c>>0]|0)){switch(l|0){case 0:{i=c;break a}case 1:{i=0;break}default:i=1}f[G>>2]=i;s=0;break}switch(i|0){case 152:{i=c+6|0;d:while(1){i=i+(Lj(i,E)|0)|0;k=f[E>>2]|0;switch(k|0){case 172:break;case 59:case 106:case 107:case 152:case 153:{S=24;break d}default:{S=21;break d}}}do if((S|0)==21){S=0;if((k|0)>=91){i=59;break}if((d[10032+(k<<1)>>1]|0)!=59)if((k|0)==59)S=26;else i=59;else S=24}while(0);if((S|0)==24)S=26;do if((S|0)==26){e:while(1){i=i+(Lj(i,E)|0)|0;k=f[E>>2]|0;switch(k|0){case 172:break;case 59:case 106:case 107:case 152:case 153:{S=30;break e}default:{S=28;break e}}}if((S|0)==28?(S=0,(k|0)<91):0)if((d[10032+(k<<1)>>1]|0)==59)S=30;else{i=(k|0)==24?152:59;break}if((S|0)==30){S=0;f[E>>2]=59}i=59}while(0);f[G>>2]=i;s=m;break c}case 153:{f:do if((l|0)==23){i=c+4|0;g:while(1){i=i+(Lj(i,E)|0)|0;k=f[E>>2]|0;switch(k|0){case 172:break;case 59:case 106:case 107:case 152:case 153:break g;default:{S=37;break g}}}do if((S|0)==37){S=0;if((k|0)<91?(d[10032+(k<<1)>>1]|0)==59:0)break;switch(k|0){case 22:case 59:{i=153;break f}default:{}}i=59;break f}while(0);i=153}else i=59;while(0);f[G>>2]=i;s=m;break c}case 154:{do if((l|0)==23){i=c+6|0;h:while(1){i=i+(Lj(i,E)|0)|0;k=f[E>>2]|0;switch(k|0){case 172:break;case 59:case 106:case 107:case 152:case 153:{S=48;break h}default:{S=46;break h}}}if((S|0)==46?(S=0,(k|0)<91):0)if((d[10032+(k<<1)>>1]|0)!=59)if((k|0)==22){i=154;break}else{S=51;break}else S=48;if((S|0)==48)f[E>>2]=59;S=51}else S=51;while(0);if((S|0)==51){S=0;i=59}f[G>>2]=i;s=m;break c}default:{S=53;break b}}}while(0);f[y>>2]=c;f[z>>2]=s;q=c;p=f[L>>2]|0;o=f[h>>2]|0;r=i&65535;k=d[o>>1]|0;while(1){n=k&65535;if((k&65535)<=520){l=j[10224+(n<<1)>>1]|0;m=r;while(1){i=m&65535;k=i+l|0;if(k>>>0<=2018?(d[11280+(k<<1)>>1]|0)==m<<16>>16:0){S=65;break}if((m&65535)>=91){S=61;break}i=d[10032+(i<<1)>>1]|0;if(!(i<<16>>16)){S=61;break}else m=i}do if((S|0)==61){S=0;i=l+91|0;if(i>>>0<2019?!(m<<16>>16==0?1:(d[11280+(i<<1)>>1]|0)!=91):0){i=15328+(i<<1)|0;break}i=19360+(n<<1)|0}else if((S|0)==65){S=0;i=15328+(k<<1)|0}while(0);k=d[i>>1]|0}if((k&65535)<=1125){S=69;break}k=ql(h,(k&65535)+-1126|0,c,s,p)|0;i=f[h>>2]|0;if(i>>>0<=g>>>0)break;else o=i}do if((S|0)==69){S=0;if((k&65535)>=1123){if(k<<16>>16==1124){f[h>>2]=o+-12;break}f[F>>2]=q;f[w>>2]=s;f[E>>2]=c;f[v>>2]=s;i=f[L>>2]|0;if(!(b[c>>0]|0))ni(i,50987,K);else{f[J>>2]=E;ni(i,50963,J)}f[L>>2]=i;rl(i,r,F);break}i=o+12|0;f[h>>2]=i;if(i>>>0<=(f[D>>2]|0)>>>0){d[i>>1]=(k&65535)>520?(k&65535)+370&65535:k;d[o+14>>1]=r;f[o+16>>2]=q;f[o+20>>2]=s;break}f[h>>2]=o;k=f[L>>2]|0;if(o>>>0>B>>>0?(f[h>>2]=o+-12,rl(k,d[o+2>>1]|0,o+4|0),C=f[h>>2]|0,C>>>0>B>>>0):0){i=C;do{r=f[L>>2]|0;f[h>>2]=i+-12;rl(r,d[i+2>>1]|0,i+4|0);i=f[h>>2]|0}while(i>>>0>B>>>0)}ni(k,50941,I);f[L>>2]=k}while(0);c=c+s|0;if(f[P>>2]|0){i=c;break a}if(b[A>>0]|0){i=c;break a}l=f[G>>2]|0;k=Lj(c,G)|0;i=u-k|0;if((i|0)<0){S=8;break a}}if((S|0)==11){f[P>>2]=9;i=c;break}else if((S|0)==53){f[H>>2]=m;f[H+4>>2]=c;ni(a,50914,H);i=c;break}}else S=8;while(0);if((S|0)==8){f[P>>2]=18;i=c}c=f[h>>2]|0;if(c>>>0>g>>>0)do{f[h>>2]=c+-12;rl(f[L>>2]|0,d[c+2>>1]|0,c+4|0);c=f[h>>2]|0}while(c>>>0>g>>>0);if(!(b[U+81>>0]|0)){g=f[P>>2]|0;switch(g|0){case 101:case 0:break;default:{M=g;S=91}}}else{f[P>>2]=7;M=7;S=91}if((S|0)==91?(N=a+4|0,(f[N>>2]|0)==0):0){switch(M|0){case 516:{g=44816;break}case 100:{g=44794;break}default:{g=M&255;if(g>>>0<29?(520028155>>>g&1|0)!=0:0)g=f[7984+(g<<2)>>2]|0;else g=44757}}f[O>>2]=g;O=Ig(U,40840,O)|0;f[N>>2]=O}g=a+4|0;c=f[g>>2]|0;if(!c)p=0;else{f[e>>2]=c;p=f[P>>2]|0;e=f[R>>2]|0;f[Q>>2]=c;f[Q+4>>2]=e;Ac(p,51004,Q);f[g>>2]=0;p=1}f[R>>2]=i;h=a+8|0;i=f[h>>2]|0;if((i|0?(f[a+36>>2]|0)>0:0)?(b[a+18>>0]|0)==0:0){k=f[i>>2]|0;gg(k,i);l=f[i+4>>2]|0;c=i+8|0;g=f[c>>2]|0;if(!l)f[k+4>>2]=g;else{f[l+8>>2]=g;g=f[c>>2]|0}if(g|0)f[g+4>>2]=l;f[i+20>>2]=1443283912;f[i>>2]=0;do if(k){if(f[k+480>>2]|0){Kc(k,i);break}R=i;if((f[k+304>>2]|0)>>>0<=R>>>0?(f[k+308>>2]|0)>>>0>R>>>0:0){R=k+300|0;f[i>>2]=f[R>>2];f[R>>2]=i}else S=114}else S=114;while(0);do if((S|0)==114)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{S=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[h>>2]=0}if(!(b[a+18>>0]|0)){g=a+108|0;c=f[g>>2]|0;do if(c|0){if(f[U+480>>2]|0){Kc(U,c);break}S=c;if((f[U+304>>2]|0)>>>0<=S>>>0?(f[U+308>>2]|0)>>>0>S>>>0:0){S=U+300|0;f[c>>2]=f[S>>2];f[S>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{S=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);f[g>>2]=0;f[a+104>>2]=0}g=f[a+248>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{S=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);c=a+196|0;g=b[c>>0]|0;if(!(g<<24>>24)){g=f[a+224>>2]|0;do if(g|0){if(f[U+480>>2]|0){hg(U,g);break}R=g+32|0;S=(f[R>>2]|0)+-1|0;f[R>>2]=S;if(!S)hg(U,g)}while(0);g=b[c>>0]|0}do if((g&255)<=1?(T=f[a+232>>2]|0,T|0):0){kg(U,f[T+28>>2]|0);g=f[T>>2]|0;do if(g|0){if(f[U+480>>2]|0){Kc(U,g);break}S=g;if((f[U+304>>2]|0)>>>0<=S>>>0?(f[U+308>>2]|0)>>>0>S>>>0:0){S=U+300|0;f[g>>2]=f[S>>2];f[S>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{S=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[T+4>>2]|0;do if(g|0){if(f[U+480>>2]|0){Kc(U,g);break}S=g;if((f[U+304>>2]|0)>>>0<=S>>>0?(f[U+308>>2]|0)>>>0>S>>>0:0){S=U+300|0;f[g>>2]=f[S>>2];f[S>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{S=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[T+12>>2]|0;if(g|0)ig(U,g);g=f[T+16>>2]|0;i:do if(g){k=g+4|0;c=f[g>>2]|0;if((f[k>>2]|0)>0){l=U+480|0;m=U+304|0;n=U+308|0;o=U+300|0;i=0;do{c=f[c+(i<<3)>>2]|0;j:do if(c|0){if(f[l>>2]|0){Kc(U,c);break}h=c;do if((f[m>>2]|0)>>>0<=h>>>0){if((f[n>>2]|0)>>>0<=h>>>0)break;f[c>>2]=f[o>>2];f[o>>2]=c;break j}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{S=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);i=i+1|0;c=f[g>>2]|0}while((i|0)<(f[k>>2]|0))}k:do if(c){do if(U|0){h=U+480|0;if(!(f[h>>2]|0)){i=c;if((f[U+304>>2]|0)>>>0>i>>>0)break;if((f[U+308>>2]|0)>>>0<=i>>>0)break;S=U+300|0;f[c>>2]=f[S>>2];f[S>>2]=c}else Kc(U,c);c=h;S=188;break k}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);S=186;break}else{S=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);S=186;break}}else S=186;while(0);do if((S|0)==186){if(!U)break;c=U+480|0;S=188}while(0);do if((S|0)==188){if(f[c>>2]|0){Kc(U,g);S=197;break i}c=g;if((f[U+304>>2]|0)>>>0>c>>>0)break;if((f[U+308>>2]|0)>>>0<=c>>>0)break;S=U+300|0;f[g>>2]=f[S>>2];f[S>>2]=g;S=197;break i}while(0);do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{R=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);if(!U)g=T;else{g=T;S=199}}else S=197;while(0);if((S|0)==197){g=T;S=199}if((S|0)==199){if(f[U+480>>2]|0){Kc(U,g);break}S=T;if((f[U+304>>2]|0)>>>0<=S>>>0?(f[U+308>>2]|0)>>>0>S>>>0:0){S=U+300|0;f[T>>2]=f[S>>2];f[S>>2]=T;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{T=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);n=f[a+264>>2]|0;do if(n|0){l:do if((f[n>>2]|0)>0){i=U+480|0;k=U+304|0;l=U+308|0;m=U+300|0;if(!U){c=0;while(1){g=f[n+8+(c<<4)+4>>2]|0;if(g|0)jg(0,g);g=f[n+8+(c<<4)+8>>2]|0;if(g|0)mg(0,g,1);g=f[n+8+(c<<4)>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{T=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);c=c+1|0;if((c|0)>=(f[n>>2]|0))break l}}h=0;do{g=f[n+8+(h<<4)+4>>2]|0;if(g|0)jg(U,g);g=f[n+8+(h<<4)+8>>2]|0;if(g|0)mg(U,g,1);g=f[n+8+(h<<4)>>2]|0;m:do if(g|0){if(f[i>>2]|0){Kc(U,g);break}c=g;do if((f[k>>2]|0)>>>0<=c>>>0){if((f[l>>2]|0)>>>0<=c>>>0)break;f[g>>2]=f[m>>2];f[m>>2]=g;break m}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{T=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);h=h+1|0}while((h|0)<(f[n>>2]|0))}while(0);if(U|0){if(f[U+480>>2]|0){Kc(U,n);break}T=n;if((f[U+304>>2]|0)>>>0<=T>>>0?(f[U+308>>2]|0)>>>0>T>>>0:0){T=U+300|0;f[n>>2]=f[T>>2];f[T>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{T=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);g=f[a+212>>2]|0;do if(g|0){if(U|0){if(f[U+480>>2]|0){Kc(U,g);break}T=g;if((f[U+304>>2]|0)>>>0<=T>>>0?(f[U+308>>2]|0)>>>0>T>>>0:0){T=U+300|0;f[g>>2]=f[T>>2];f[T>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{T=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);m=a+112|0;g=f[m>>2]|0;n:do if(g|0){h=U+480|0;i=U+304|0;k=U+308|0;l=U+300|0;if(!U)while(1){f[m>>2]=f[g>>2];if(!(f[9328]|0))ob[f[37360>>2]&127](g);else{T=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g)}g=f[m>>2]|0;if(!g)break n}do{f[m>>2]=f[g>>2];o:do if(!(f[h>>2]|0)){c=g;do if((f[i>>2]|0)>>>0<=c>>>0){if((f[k>>2]|0)>>>0<=c>>>0)break;f[g>>2]=f[l>>2];f[l>>2]=g;break o}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{T=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}else Kc(U,g);while(0);g=f[m>>2]|0}while((g|0)!=0)}while(0);h=a+252|0;g=f[h>>2]|0;if(!g){t=V;return p|0}c=U+480|0;if(!U){do{c=f[g+76>>2]|0;f[h>>2]=c;a=g+32|0;U=(f[a>>2]|0)+-1|0;f[a>>2]=U;if(!U){hg(0,g);g=f[h>>2]|0}else g=c}while((g|0)!=0);t=V;return p|0}do{f[h>>2]=f[g+76>>2];if(!((f[c>>2]|0)==0?(T=g+32|0,a=(f[T>>2]|0)+-1|0,f[T>>2]=a,(a|0)!=0):0))hg(U,g);g=f[h>>2]|0}while((g|0)!=0);t=V;return p|0}function cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;i=t;t=t+32|0;h=i;if(b[(f[a>>2]|0)+81>>0]|0){t=i;return}if(f[c+8>>2]&128|0){t=i;return}f[h+4>>2]=143;f[h>>2]=a;e=h+8|0;if(!(b[a+22>>0]|0))g=h+12|0;else{f[e>>2]=144;g=h+12|0;f[g>>2]=0;yk(h,c)|0}f[e>>2]=145;f[g>>2]=67;yk(h,c)|0;e=a+36|0;if(f[e>>2]|0){t=i;return}if(b[(f[a>>2]|0)+81>>0]|0){t=i;return}f[h+4>>2]=146;f[h+8>>2]=147;f[h+12>>2]=0;f[h>>2]=a;f[h+24>>2]=d;yk(h,c)|0;if(f[e>>2]|0){t=i;return}if(b[(f[a>>2]|0)+81>>0]|0){t=i;return}f[h+8>>2]=148;f[h+12>>2]=68;f[h+4>>2]=143;f[h>>2]=a;yk(h,c)|0;t=i;return}function dg(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;fa=t;t=t+208|0;ba=fa+128|0;aa=fa+120|0;$=fa+112|0;da=fa+104|0;ca=fa+96|0;_=fa+88|0;n=fa+80|0;X=fa+168|0;Y=fa+136|0;Z=fa;k=f[a>>2]|0;o=f[a+232>>2]|0;h=Y+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[Y>>2]=a;h=f[o+4>>2]|0;i=f[k+16>>2]|0;g=f[o+24>>2]|0;m=a;if(!g)e=-1e6;else{e=0;while(1)if((f[i+(e<<4)+12>>2]|0)==(g|0))break;else e=e+1|0}e=ji(k,h,f[i+(e<<4)>>2]|0)|0;f[a+120>>2]=e;b[a+140>>0]=b[o+8>>0]|0;if(e|0?(l=ki(a,e)|0,l|0):0){ea=l;t=fa;return ea|0}h=f[o+12>>2]|0;if(!h)e=0;else{i=Y+24|0;d[i>>1]=0;f[X>>2]=m;f[X+4>>2]=146;f[X+8>>2]=147;f[X+12>>2]=0;f[X+24>>2]=Y;g=h+24|0;e=a+204|0;V=(f[e>>2]|0)+(f[g>>2]|0)|0;f[e>>2]=V;e=f[(f[a>>2]|0)+120>>2]|0;if((e|0)>=(V|0)){oi(X,h)|0;e=f[X>>2]|0;V=e+204|0;f[V>>2]=(f[V>>2]|0)-(f[g>>2]|0);if(d[i>>1]&16){V=h+4|0;f[V>>2]=f[V>>2]|2}if((f[Y+20>>2]|0)>0)e=1;else e=(f[e+36>>2]|0)>0&1}else{f[n>>2]=e;ni(a,42710,n);e=1}}g=f[o+28>>2]|0;if(!((e|0)==0&(g|0)!=0)){ea=e;t=fa;return ea|0}q=a+36|0;r=a+12|0;s=Z+16|0;u=Z+24|0;v=Y+4|0;w=Y+24|0;x=X+4|0;y=X+8|0;z=X+12|0;A=X+24|0;B=Y+8|0;C=X+4|0;D=X+8|0;E=X+12|0;F=X+24|0;G=Y+20|0;H=X+4|0;I=X+8|0;J=X+12|0;K=X+24|0;L=X+4|0;M=X+8|0;N=X+12|0;O=X+24|0;P=X+4|0;Q=X+8|0;R=X+12|0;S=X+24|0;T=X+4|0;U=X+8|0;V=X+12|0;p=X+24|0;while(1){e=f[g+8>>2]|0;if((e|0?(cg(a,e,Y),f[q>>2]|0):0)?(W=f[r>>2]|0,W|0):0){e=W;ea=90;break}k=g+12|0;e=f[k>>2]|0;if(!e)e=0;else{i=pi(a,0,e,c)|0;if(!i){e=1;ea=90;break}e=ki(a,i)|0;if(e|0){ea=90;break}e=Z;h=e+80|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(h|0));f[Z>>2]=1;f[s>>2]=f[k>>2];f[u>>2]=i;f[v>>2]=Z;k=f[g+16>>2]|0;do if(!k)ea=30;else{e=j[w>>1]|0;l=e&4112;d[w>>1]=e&61423;e=f[Y>>2]|0;f[X>>2]=e;f[x>>2]=146;f[y>>2]=147;f[z>>2]=0;f[A>>2]=Y;i=k+24|0;h=e+204|0;o=(f[h>>2]|0)+(f[i>>2]|0)|0;f[h>>2]=o;h=f[(f[e>>2]|0)+120>>2]|0;if((h|0)>=(o|0)){oi(X,k)|0;h=f[X>>2]|0;e=h+204|0;f[e>>2]=(f[e>>2]|0)-(f[i>>2]|0);e=d[w>>1]|0;if(e&16){o=k+4|0;f[o>>2]=f[o>>2]|2}d[w>>1]=l|e&65535;if((f[G>>2]|0)<=0)if((f[h+36>>2]|0)<1){ea=30;break}else{e=1;break}}else{f[_>>2]=h;ni(e,42710,_)}e=1}while(0);a:do if((ea|0)==30){ea=0;l=f[g+20>>2]|0;if((l|0)!=0?(f[l>>2]|0)>0:0){k=0;while(1){m=f[l+4+(k*20|0)>>2]|0;if(m){n=j[w>>1]|0;d[w>>1]=n&61423;e=f[Y>>2]|0;f[X>>2]=e;f[C>>2]=146;f[D>>2]=147;f[E>>2]=0;f[F>>2]=Y;i=m+24|0;h=e;ga=h+204|0;o=(f[ga>>2]|0)+(f[i>>2]|0)|0;f[ga>>2]=o;h=f[(f[h>>2]|0)+120>>2]|0;if((h|0)<(o|0)){ea=37;break}oi(X,m)|0;h=f[X>>2]|0;e=h+204|0;f[e>>2]=(f[e>>2]|0)-(f[i>>2]|0);e=d[w>>1]|0;if(e&16){ga=m+4|0;f[ga>>2]=f[ga>>2]|2}d[w>>1]=n&4112|e&65535;if((f[G>>2]|0)>0)break;if((f[h+36>>2]|0)>=1){e=2;break a}}k=k+1|0;if((k|0)>=(f[l>>2]|0)){e=0;break a}}if((ea|0)==37){ea=0;f[ca>>2]=h;ni(e,42710,ca)}e=2}else e=0}while(0);o=f[g+28>>2]|0;if(o){f[o+20>>2]=Z;f[B>>2]=o;d[w>>1]=512;n=f[o>>2]|0;b:do if((n|0)!=0?(f[n>>2]|0)>0:0){m=0;e=512;while(1){l=f[n+4+(m*20|0)>>2]|0;if(l){k=e&65535;d[w>>1]=k&61423;e=f[Y>>2]|0;f[X>>2]=e;f[H>>2]=146;f[I>>2]=147;f[J>>2]=0;f[K>>2]=Y;i=l+24|0;h=e;ha=h+204|0;ga=(f[ha>>2]|0)+(f[i>>2]|0)|0;f[ha>>2]=ga;h=f[(f[h>>2]|0)+120>>2]|0;if((h|0)<(ga|0)){ea=51;break}oi(X,l)|0;h=f[X>>2]|0;e=h+204|0;f[e>>2]=(f[e>>2]|0)-(f[i>>2]|0);e=d[w>>1]|0;if(e&16){ha=l+4|0;f[ha>>2]=f[ha>>2]|2}e=(k&4112|e&65535)&65535;d[w>>1]=e;if((f[G>>2]|0)>0)break;if((f[h+36>>2]|0)>=1){e=2;break b}}m=m+1|0;if((m|0)>=(f[n>>2]|0)){ea=57;break b}}if((ea|0)==51){ea=0;f[da>>2]=h;ni(e,42710,da)}e=2}else{e=512;ea=57}while(0);c:do if((ea|0)==57){ea=0;n=f[o+8>>2]|0;d:do if((n|0)!=0?(f[n>>2]|0)>0:0){m=0;while(1){l=f[n+4+(m*20|0)>>2]|0;if(l){k=e&65535;d[w>>1]=k&61423;e=f[Y>>2]|0;f[X>>2]=e;f[P>>2]=146;f[Q>>2]=147;f[R>>2]=0;f[S>>2]=Y;i=l+24|0;h=e;ga=h+204|0;ha=(f[ga>>2]|0)+(f[i>>2]|0)|0;f[ga>>2]=ha;h=f[(f[h>>2]|0)+120>>2]|0;if((h|0)<(ha|0)){ea=64;break}oi(X,l)|0;h=f[X>>2]|0;e=h+204|0;f[e>>2]=(f[e>>2]|0)-(f[i>>2]|0);e=d[w>>1]|0;if(e&16){ha=l+4|0;f[ha>>2]=f[ha>>2]|2}e=(k&4112|e&65535)&65535;d[w>>1]=e;if((f[G>>2]|0)>0)break;if((f[h+36>>2]|0)>=1){e=2;break c}}m=m+1|0;if((m|0)>=(f[n>>2]|0))break d}if((ea|0)==64){ea=0;f[$>>2]=h;ni(e,42710,$)}e=2;break c}while(0);l=f[o+12>>2]|0;e:do if(l){e=e&65535;k=e&4112;d[w>>1]=e&61423;e=f[Y>>2]|0;f[X>>2]=e;f[L>>2]=146;f[M>>2]=147;f[N>>2]=0;f[O>>2]=Y;i=l+24|0;h=e+204|0;ha=(f[h>>2]|0)+(f[i>>2]|0)|0;f[h>>2]=ha;h=f[(f[e>>2]|0)+120>>2]|0;do if((h|0)>=(ha|0)){oi(X,l)|0;h=f[X>>2]|0;e=h+204|0;f[e>>2]=(f[e>>2]|0)-(f[i>>2]|0);e=d[w>>1]|0;if(e&16){ha=l+4|0;f[ha>>2]=f[ha>>2]|2}e=(k|e&65535)&65535;d[w>>1]=e;if((f[G>>2]|0)>0)break;if((f[h+36>>2]|0)<1)break e;else{e=1;break c}}else{f[aa>>2]=h;ni(e,42710,aa)}while(0);e=1;break c}while(0);l=f[o+4>>2]|0;do if(!l)e=0;else{k=e&65535;d[w>>1]=k&61423;e=f[Y>>2]|0;f[X>>2]=e;f[T>>2]=146;f[U>>2]=147;f[V>>2]=0;f[p>>2]=Y;i=l+24|0;h=e+204|0;ha=(f[h>>2]|0)+(f[i>>2]|0)|0;f[h>>2]=ha;h=f[(f[e>>2]|0)+120>>2]|0;if((h|0)<(ha|0)){f[ba>>2]=h;ni(e,42710,ba);e=1;break}oi(X,l)|0;h=f[X>>2]|0;e=h+204|0;f[e>>2]=(f[e>>2]|0)-(f[i>>2]|0);e=d[w>>1]|0;if(e&16){ha=l+4|0;f[ha>>2]=f[ha>>2]|2}d[w>>1]=k&4112|e&65535;if((f[G>>2]|0)>0){e=1;break}e=(f[h+36>>2]|0)>0&1}while(0)}while(0);d[w>>1]=0}}g=f[g+36>>2]|0;if(!((e|0)==0&(g|0)!=0)){ea=90;break}}if((ea|0)==90){t=fa;return e|0}return 0}function eg(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=f[a>>2]|0;i=f[a+8>>2]|0;do if(i|0){j=i+20|0;c=f[j>>2]|0;if((c|0)<832317811)switch(c|0){case 770837923:{g=3;break}default:{}}else switch(c|0){case 832317811:{g=3;break}default:{}}if((g|0)==3)fg(i)|0;e=f[i>>2]|0;gg(e,i);g=f[i+4>>2]|0;d=i+8|0;c=f[d>>2]|0;if(!g)f[e+4>>2]=c;else{f[g+8>>2]=c;c=f[d>>2]|0}if(c|0)f[c+4>>2]=g;f[j>>2]=1443283912;f[i>>2]=0;if(e|0){if(f[e+480>>2]|0){Kc(e,i);break}m=i;if((f[e+304>>2]|0)>>>0<=m>>>0?(f[e+308>>2]|0)>>>0>m>>>0:0){m=e+300|0;f[i>>2]=f[m>>2];f[m>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{m=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);c=f[a+224>>2]|0;do if(c|0){if(n|0?f[n+480>>2]|0:0){hg(n,c);break}l=c+32|0;m=(f[l>>2]|0)+-1|0;f[l>>2]=m;if(!m)hg(n,c)}while(0);d=f[a+228>>2]|0;do if(d|0){c=f[d+36>>2]|0;if(c|0)ig(n,c);c=f[d+40>>2]|0;if(c|0)jg(n,c);c=f[d+16>>2]|0;do if(c|0){if(n|0){if(f[n+480>>2]|0){Kc(n,c);break}m=c;if((f[n+304>>2]|0)>>>0<=m>>>0?(f[n+308>>2]|0)>>>0>m>>>0:0){m=n+300|0;f[c>>2]=f[m>>2];f[m>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);m=d+55|0;a:do if(((h[m>>0]|h[m+1>>0]<<8)&16)!=0?(k=f[d+32>>2]|0,(k|0)!=0):0){do if(n|0){if(!(f[n+480>>2]|0)){c=k;if((f[n+304>>2]|0)>>>0>c>>>0)break;if((f[n+308>>2]|0)>>>0<=c>>>0)break;m=n+300|0;f[k>>2]=f[m>>2];f[m>>2]=k}else Kc(n,k);c=d;g=52;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);g=51;break}else{g=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);g=51;break}}else g=51;while(0);if((g|0)==51)if(!n)c=d;else{c=d;g=52}if((g|0)==52){if(f[n+480>>2]|0){Kc(n,c);break}m=d;if((f[n+304>>2]|0)>>>0<=m>>>0?(f[n+308>>2]|0)>>>0>m>>>0:0){m=n+300|0;f[d>>2]=f[m>>2];f[m>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);m=f[a+232>>2]|0;do if(m|0){kg(n,f[m+28>>2]|0);c=f[m>>2]|0;do if(c|0){if(n|0){if(f[n+480>>2]|0){Kc(n,c);break}l=c;if((f[n+304>>2]|0)>>>0<=l>>>0?(f[n+308>>2]|0)>>>0>l>>>0:0){l=n+300|0;f[c>>2]=f[l>>2];f[l>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{l=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=f[m+4>>2]|0;do if(c|0){if(n|0){if(f[n+480>>2]|0){Kc(n,c);break}l=c;if((f[n+304>>2]|0)>>>0<=l>>>0?(f[n+308>>2]|0)>>>0>l>>>0:0){l=n+300|0;f[c>>2]=f[l>>2];f[l>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{l=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=f[m+12>>2]|0;if(c|0)ig(n,c);c=f[m+16>>2]|0;b:do if(c){l=c+4|0;d=f[c>>2]|0;c:do if((f[l>>2]|0)>0){g=n+480|0;i=n+304|0;j=n+308|0;k=n+300|0;if(!n){e=0;while(1){d=f[d+(e<<3)>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{k=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);e=e+1|0;d=f[c>>2]|0;if((e|0)>=(f[l>>2]|0))break c}}e=0;do{d=f[d+(e<<3)>>2]|0;do if(d|0){if(f[g>>2]|0){Kc(n,d);break}o=d;if((f[i>>2]|0)>>>0<=o>>>0?(f[j>>2]|0)>>>0>o>>>0:0){f[d>>2]=f[k>>2];f[k>>2]=d;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{o=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);e=e+1|0;d=f[c>>2]|0}while((e|0)<(f[l>>2]|0))}while(0);d:do if(d){do if(n|0){e=n+480|0;if(!(f[e>>2]|0)){g=d;if((f[n+304>>2]|0)>>>0>g>>>0)break;if((f[n+308>>2]|0)>>>0<=g>>>0)break;o=n+300|0;f[d>>2]=f[o>>2];f[o>>2]=d}else Kc(n,d);d=e;e=c;g=116;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](d);g=114;break}else{g=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);g=114;break}}else g=114;while(0);if((g|0)==114)if(n){d=n+480|0;e=c;g=116}do if((g|0)==116){if(!(f[d>>2]|0)){c=e;if((f[n+304>>2]|0)>>>0>c>>>0){c=e;break}if((f[n+308>>2]|0)>>>0<=c>>>0){c=e;break}o=n+300|0;f[e>>2]=f[o>>2];f[o>>2]=e}else Kc(n,e);c=m;g=127;break b}while(0);if(c)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);g=126;break}else{g=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);g=126;break}else g=126}else g=126;while(0);if((g|0)==126)if(!n)c=m;else{c=m;g=127}if((g|0)==127){if(f[n+480>>2]|0){Kc(n,c);break}o=m;if((f[n+304>>2]|0)>>>0<=o>>>0?(f[n+308>>2]|0)>>>0>o>>>0:0){o=n+300|0;f[m>>2]=f[o>>2];f[o>>2]=m;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=f[a+4>>2]|0;do if(c|0){if(n|0){if(f[n+480>>2]|0){Kc(n,c);break}o=c;if((f[n+304>>2]|0)>>>0<=o>>>0?(f[n+308>>2]|0)>>>0>o>>>0:0){o=n+300|0;f[c>>2]=f[o>>2];f[o>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);lg(n,f[a+268>>2]|0);d=f[a>>2]|0;c=f[a+64>>2]|0;do if(c|0){if(d|0){if(f[d+480>>2]|0){Kc(d,c);break}o=c;if((f[d+304>>2]|0)>>>0<=o>>>0?(f[d+308>>2]|0)>>>0>o>>>0:0){o=d+300|0;f[c>>2]=f[o>>2];f[o>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=f[a+68>>2]|0;if(c|0)jg(d,c);c=a+24|0;if(!d){b[c>>0]=0;return}o=d+272|0;f[o>>2]=(f[o>>2]|0)-(h[c>>0]|0);b[c>>0]=0;return}function fg(a){a=a|0;var c=0,d=0,e=0,g=0,i=0;g=t;t=t+16|0;d=g;e=f[a>>2]|0;tg(a)|0;if((f[a+36>>2]|0)>-1){ug(a)|0;c=a+145|0;d=h[c>>0]|h[c+1>>0]<<8;if(d&64){d=d&-4|1;b[c>>0]=d;b[c+1>>0]=d>>8}}else{c=f[a+40>>2]|0;if(c|0?(i=a+145|0,(h[i>>0]|h[i+1>>0]<<8)&3):0){i=f[a+108>>2]|0;f[d>>2]=i;vg(e,c,(i|0)==0?0:40840,d)}}c=a+108|0;d=f[c>>2]|0;do if(d|0){if(e|0){if(f[e+480>>2]|0){Kc(e,d);break}i=d;if((f[e+304>>2]|0)>>>0<=i>>>0?(f[e+308>>2]|0)>>>0>i>>>0:0){i=e+300|0;f[d>>2]=f[i>>2];f[i>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);f[c>>2]=0;f[a+104>>2]=0;f[a+20>>2]=1224384374;t=g;return f[e+68>>2]&f[a+40>>2]|0}function gg(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c+100|0;e=f[s>>2]|0;g=d[c+140>>1]|0;a:do if((e|0)!=0&g<<16>>16!=0){o=e+(((g&65535)<<1)*40|0)|0;j=f[e+32>>2]|0;k=j+480|0;g=(j|0)==0;l=j+304|0;m=j+308|0;n=j+300|0;if(f[k>>2]|0){if(g)while(1){do if(f[e+24>>2]|0?(h=f[e+20>>2]|0,h|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{n=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);e=e+40|0;if(e>>>0>=o>>>0)break a}while(1){do if(f[e+24>>2]|0?(i=f[e+20>>2]|0,i|0):0){if(f[k>>2]|0){Kc(j,i);break}h=i;if((f[l>>2]|0)>>>0<=h>>>0?(f[m>>2]|0)>>>0>h>>>0:0){f[i>>2]=f[n>>2];f[n>>2]=i;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{h=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);e=e+40|0;if(e>>>0>=o>>>0)break a}}if(g)while(1){g=e+8|0;if(!(d[g>>1]&9216)){h=e+24|0;if(f[h>>2]|0){i=f[e+20>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{n=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[h>>2]=0}}else ff(e);d[g>>1]=128;e=e+40|0;if(e>>>0>=o>>>0)break a}do{g=e+8|0;if(!(d[g>>1]&9216)){h=e+24|0;if(f[h>>2]|0){i=f[e+20>>2]|0;do if(!(f[k>>2]|0)){t=i;if((f[l>>2]|0)>>>0<=t>>>0?(f[m>>2]|0)>>>0>t>>>0:0){f[i>>2]=f[n>>2];f[n>>2]=i;break}if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{t=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}else Kc(j,i);while(0);f[h>>2]=0}}else ff(e);d[g>>1]=128;e=e+40|0}while(e>>>0>>0)}while(0);e=f[c+208>>2]|0;if(e|0){k=(a|0)==0;l=a+480|0;m=a+304|0;n=a+308|0;o=a+300|0;do{i=e;e=f[e+24>>2]|0;j=f[i>>2]|0;g=f[i+4>>2]|0;if(j){if((g|0)>=1){g=j+((g+-1|0)*20|0)|0;do{h=b[g+1>>0]|0;if(h<<24>>24<-6)qg(a,h<<24>>24,f[g+16>>2]|0);g=g+-20|0}while(g>>>0>=j>>>0)}do if(!k){if(f[l>>2]|0){Kc(a,j);break}t=j;if((f[m>>2]|0)>>>0<=t>>>0?(f[n>>2]|0)>>>0>t>>>0:0){f[j>>2]=f[o>>2];f[o>>2]=j}else p=63}else p=63;while(0);do if((p|0)==63){p=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{t=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);if(i|0)p=67}else p=67;do if((p|0)==67){p=0;if(!k){if(f[l>>2]|0){Kc(a,i);break}t=i;if((f[m>>2]|0)>>>0<=t>>>0?(f[n>>2]|0)>>>0>t>>>0:0){f[i>>2]=f[o>>2];f[o>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{t=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0)}while((e|0)!=0)}do if((f[c+20>>2]|0)!=381479589){e=f[c+116>>2]|0;g=d[c+16>>1]|0;b:do if((e|0)!=0&g<<16>>16!=0){o=e+((g<<16>>16)*40|0)|0;j=f[e+32>>2]|0;k=j+480|0;g=(j|0)==0;l=j+304|0;m=j+308|0;n=j+300|0;if(f[k>>2]|0){if(g)while(1){do if(f[e+24>>2]|0?(q=f[e+20>>2]|0,q|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{t=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);e=e+40|0;if(e>>>0>=o>>>0)break b}while(1){do if(f[e+24>>2]|0?(r=f[e+20>>2]|0,r|0):0){if(f[k>>2]|0){Kc(j,r);break}t=r;if((f[l>>2]|0)>>>0<=t>>>0?(f[m>>2]|0)>>>0>t>>>0:0){f[r>>2]=f[n>>2];f[n>>2]=r;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{t=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}while(0);e=e+40|0;if(e>>>0>=o>>>0)break b}}if(g)while(1){g=e+8|0;if(!(d[g>>1]&9216)){h=e+24|0;if(f[h>>2]|0){i=f[e+20>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{t=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[h>>2]=0}}else ff(e);d[g>>1]=128;e=e+40|0;if(e>>>0>=o>>>0)break b}do{g=e+8|0;if(!(d[g>>1]&9216)){h=e+24|0;if(f[h>>2]|0){i=f[e+20>>2]|0;do if(!(f[k>>2]|0)){t=i;if((f[l>>2]|0)>>>0<=t>>>0?(f[m>>2]|0)>>>0>t>>>0:0){f[i>>2]=f[n>>2];f[n>>2]=i;break}if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{t=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}else Kc(j,i);while(0);f[h>>2]=0}}else ff(e);d[g>>1]=128;e=e+40|0}while(e>>>0>>0)}while(0);e=f[c+120>>2]|0;do if(e|0){if(a|0){if(f[a+480>>2]|0){Kc(a,e);break}t=e;if((f[a+304>>2]|0)>>>0<=t>>>0?(f[a+308>>2]|0)>>>0>t>>>0:0){t=a+300|0;f[e>>2]=f[t>>2];f[t>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{t=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);e=f[c+188>>2]|0;if(e|0){if(a|0){if(f[a+480>>2]|0){Kc(a,e);break}t=e;if((f[a+304>>2]|0)>>>0<=t>>>0?(f[a+308>>2]|0)>>>0>t>>>0:0){t=a+300|0;f[e>>2]=f[t>>2];f[t>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{t=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}}while(0);h=f[c+88>>2]|0;e=f[c+136>>2]|0;do if(h|0){if((e|0)>=1){e=h+((e+-1|0)*20|0)|0;do{g=b[e+1>>0]|0;if(g<<24>>24<-6)qg(a,g<<24>>24,f[e+16>>2]|0);e=e+-20|0}while(e>>>0>=h>>>0)}if(a|0){if(f[a+480>>2]|0){Kc(a,h);break}t=h;if((f[a+304>>2]|0)>>>0<=t>>>0?(f[a+308>>2]|0)>>>0>t>>>0:0){t=a+300|0;f[h>>2]=f[t>>2];f[t>>2]=h;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{t=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}}while(0);e=f[s>>2]|0;do if(e|0){if(a|0){if(f[a+480>>2]|0){Kc(a,e);break}t=e;if((f[a+304>>2]|0)>>>0<=t>>>0?(f[a+308>>2]|0)>>>0>t>>>0:0){t=a+300|0;f[e>>2]=f[t>>2];f[t>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{t=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);e=f[c+184>>2]|0;if(!e)return;if(a|0){if(f[a+480>>2]|0){Kc(a,e);return}t=e;if((f[a+304>>2]|0)>>>0<=t>>>0?(f[a+308>>2]|0)>>>0>t>>>0:0){t=a+300|0;f[e>>2]=f[t>>2];f[t>>2]=e;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);return}else{t=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);return}}function hg(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=f[b+8>>2]|0;if(c|0){j=(a|0)==0;l=b+56|0;m=a+480|0;n=a+304|0;o=a+308|0;i=a+300|0;do{g=c;c=f[c+20>>2]|0;if(!(!j?(f[m>>2]|0)!=0:0))p=5;if((p|0)==5?(0,(f[l>>2]|0)==0):0)pg((f[g+24>>2]|0)+24|0,f[g>>2]|0,0)|0;e=f[g+36>>2]|0;if(e|0)ig(a,e);e=f[g+40>>2]|0;if(e|0)jg(a,e);e=f[g+16>>2]|0;do if(e|0){if(!j){if(f[m>>2]|0){Kc(a,e);break}p=e;if((f[n>>2]|0)>>>0<=p>>>0?(f[o>>2]|0)>>>0>p>>>0:0){f[e>>2]=f[i>>2];f[i>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{p=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);p=g+55|0;do if(((h[p>>0]|h[p+1>>0]<<8)&16)!=0?(k=f[g+32>>2]|0,(k|0)!=0):0){if(!j){if(f[m>>2]|0){Kc(a,k);p=33;break}p=k;if((f[n>>2]|0)>>>0<=p>>>0?(f[o>>2]|0)>>>0>p>>>0:0){f[k>>2]=f[i>>2];f[i>>2]=k;p=33;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);p=32;break}else{p=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);p=32;break}}else p=32;while(0);if((p|0)==32)if(j)p=38;else p=33;do if((p|0)==33){p=0;if(f[m>>2]|0){Kc(a,g);break}e=g;if((f[n>>2]|0)>>>0<=e>>>0?(f[o>>2]|0)>>>0>e>>>0:0){f[g>>2]=f[i>>2];f[i>>2]=g}else p=38}while(0);do if((p|0)==38){p=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{e=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0)}while((c|0)!=0)}c=f[b+16>>2]|0;if(c|0){k=(a|0)==0;l=a+480|0;m=b+72|0;n=a+304|0;o=a+308|0;j=a+300|0;i=c;while(1){if(!(!k?(f[l>>2]|0)!=0:0)){g=i+16|0;c=f[g>>2]|0;e=i+12|0;if(!c){p=f[e>>2]|0;pg((f[m>>2]|0)+56|0,f[((p|0)==0?i:p)+8>>2]|0,p)|0}else f[c+12>>2]=f[e>>2];c=f[e>>2]|0;if(c|0)f[c+16>>2]=f[g>>2]}g=f[i+28>>2]|0;do if(g|0){e=f[g+28>>2]|0;c=f[e+16>>2]|0;if(c|0)ig(a,c);c=f[e+20>>2]|0;if(c|0)jg(a,c);c=f[e+8>>2]|0;if(c|0)mg(a,c,1);c=f[g+12>>2]|0;if(c|0)ig(a,c);if(!k){if(f[l>>2]|0){Kc(a,g);break}p=g;if((f[n>>2]|0)>>>0<=p>>>0?(f[o>>2]|0)>>>0>p>>>0:0){f[g>>2]=f[j>>2];f[j>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{p=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[i+32>>2]|0;a:do if(g){e=f[g+28>>2]|0;c=f[e+16>>2]|0;if(c|0)ig(a,c);c=f[e+20>>2]|0;if(c|0)jg(a,c);c=f[e+8>>2]|0;if(c|0)mg(a,c,1);c=f[g+12>>2]|0;if(c|0)ig(a,c);do if(!k){if(!(f[l>>2]|0)){c=g;if((f[n>>2]|0)>>>0>c>>>0)break;if((f[o>>2]|0)>>>0<=c>>>0)break;f[g>>2]=f[j>>2];f[j>>2]=g}else Kc(a,g);c=f[i+4>>2]|0;p=89;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);p=88;break}else{p=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);p=88;break}}else p=88;while(0);if((p|0)==88){c=f[i+4>>2]|0;if(k)p=94;else p=89}do if((p|0)==89){p=0;if(f[l>>2]|0){Kc(a,i);break}g=i;if((f[n>>2]|0)>>>0<=g>>>0?(f[o>>2]|0)>>>0>g>>>0:0){f[i>>2]=f[j>>2];f[j>>2]=i}else p=94}while(0);do if((p|0)==94){p=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{g=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);if(!c)break;else i=c}}m=b+4|0;e=f[m>>2]|0;do if(e|0){n=b+42|0;b:do if((d[n>>1]|0)>0){i=a+480|0;j=a+304|0;k=a+308|0;l=a+300|0;if(!a){g=0;while(1){c=f[e>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[e+4>>2]|0;if(c|0)ig(0,c);c=f[e+8>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);g=g+1|0;if((g|0)>=(d[n>>1]|0))break b;else e=e+16|0}}g=0;while(1){c=f[e>>2]|0;do if(c|0){if(f[i>>2]|0){Kc(a,c);break}o=c;if((f[j>>2]|0)>>>0<=o>>>0?(f[k>>2]|0)>>>0>o>>>0:0){f[c>>2]=f[l>>2];f[l>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=f[e+4>>2]|0;if(c|0)ig(a,c);c=f[e+8>>2]|0;do if(c|0){if(f[i>>2]|0){Kc(a,c);break}o=c;if((f[j>>2]|0)>>>0<=o>>>0?(f[k>>2]|0)>>>0>o>>>0:0){f[c>>2]=f[l>>2];f[l>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);g=g+1|0;if((g|0)>=(d[n>>1]|0))break;else e=e+16|0}}while(0);c=f[m>>2]|0;if(c|0){if(a|0){if(f[a+480>>2]|0){Kc(a,c);break}o=c;if((f[a+304>>2]|0)>>>0<=o>>>0?(f[a+308>>2]|0)>>>0>o>>>0:0){o=a+300|0;f[c>>2]=f[o>>2];f[o>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}}while(0);c=f[b>>2]|0;do if(c|0){if(a|0){if(f[a+480>>2]|0){Kc(a,c);break}o=c;if((f[a+304>>2]|0)>>>0<=o>>>0?(f[a+308>>2]|0)>>>0>o>>>0:0){o=a+300|0;f[c>>2]=f[o>>2];f[o>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=f[b+20>>2]|0;do if(c|0){if(a|0){if(f[a+480>>2]|0){Kc(a,c);break}o=c;if((f[a+304>>2]|0)>>>0<=o>>>0?(f[a+308>>2]|0)>>>0>o>>>0:0){o=a+300|0;f[c>>2]=f[o>>2];f[o>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=f[b+12>>2]|0;if(c|0)mg(a,c,1);c=f[b+24>>2]|0;if(c|0)jg(a,c);n=(a|0)==0;if(!(!n?(f[a+480>>2]|0)!=0:0))p=171;if((p|0)==171?(r=b+64|0,q=f[r>>2]|0,f[r>>2]=0,q|0):0){c=q;do{g=f[c>>2]|0;i=c+24|0;e=c;c=f[i>>2]|0;if(!g){f[r>>2]=e;f[i>>2]=0}else{q=g+360|0;f[i>>2]=f[q>>2];f[q>>2]=e}}while((c|0)!=0)}l=b+60|0;c:do if(f[l>>2]|0){m=b+56|0;d:do if((f[m>>2]|0)>0){g=a+480|0;i=a+304|0;j=a+308|0;k=a+300|0;if(n){c=0;while(1){do if((c|0)!=1?(s=f[(f[l>>2]|0)+(c<<2)>>2]|0,s|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{t=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}while(0);c=c+1|0;if((c|0)>=(f[m>>2]|0))break d}}c=0;do{e:do if((c|0)!=1?(t=f[(f[l>>2]|0)+(c<<2)>>2]|0,t|0):0){if(f[g>>2]|0){Kc(a,t);break}e=t;do if((f[i>>2]|0)>>>0<=e>>>0){if((f[j>>2]|0)>>>0<=e>>>0)break;f[t>>2]=f[k>>2];f[k>>2]=t;break e}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](t);break}else{s=ib[f[37368>>2]&255](t)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](t);break}}while(0);c=c+1|0}while((c|0)<(f[m>>2]|0))}while(0);c=f[l>>2]|0;if(c){do if(!n){if(!(f[a+480>>2]|0)){e=c;if((f[a+304>>2]|0)>>>0>e>>>0)break;if((f[a+308>>2]|0)>>>0<=e>>>0)break;t=a+300|0;f[c>>2]=f[t>>2];f[t>>2]=c}else Kc(a,c);c=b;p=211;break c}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);p=210;break}else{p=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);p=210;break}}else p=210}else p=210;while(0);if((p|0)==210)if(!n){c=b;p=211}if((p|0)==211){if(f[a+480>>2]|0){Kc(a,c);return}t=b;if((f[a+304>>2]|0)>>>0<=t>>>0?(f[a+308>>2]|0)>>>0>t>>>0:0){a=a+300|0;f[b>>2]=f[a>>2];f[a>>2]=b;return}else b=c}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);return}else{a=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);return}}function ig(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=c+4|0;d=f[e>>2]|0;if(!(d&8404992)){d=f[c+12>>2]|0;if(d|0?(b[c>>0]|0)!=-90:0)ig(a,d);d=f[c+16>>2]|0;do if(!d){d=c+20|0;if(!(f[e>>2]&2048)){d=f[d>>2]|0;if(!d)break;jg(a,d);break}else{d=f[d>>2]|0;if(!d)break;mg(a,d,1);break}}else ig(a,d);while(0);d=f[e>>2]|0;if(d&16777216){og(a,f[c+44>>2]|0);d=f[e>>2]|0}}do if(d&65536|0?(g=f[c+8>>2]|0,g|0):0){if(a|0){if(f[a+480>>2]|0){Kc(a,g);break}d=g;if((f[a+304>>2]|0)>>>0<=d>>>0?(f[a+308>>2]|0)>>>0>d>>>0:0){d=a+300|0;f[g>>2]=f[d>>2];f[d>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{d=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);if(f[e>>2]&32768|0)return;if(a|0){if(f[a+480>>2]|0){Kc(a,c);return}g=c;if((f[a+304>>2]|0)>>>0<=g>>>0?(f[a+308>>2]|0)>>>0>g>>>0:0){g=a+300|0;f[c>>2]=f[g>>2];f[g>>2]=c;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{g=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}function jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=f[b>>2]|0;c=b+4|0;g=(a|0)==0;h=a+480|0;i=a+304|0;j=a+308|0;k=a+300|0;if(g){e=d;while(1){d=f[c>>2]|0;if(d|0)ig(0,d);d=f[c+4>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{l=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);d=f[c+8>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{l=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);if((e|0)>1){c=c+20|0;e=e+-1|0}else break}}else{e=d;while(1){d=f[c>>2]|0;if(d|0)ig(a,d);d=f[c+4>>2]|0;do if(d|0){if(f[h>>2]|0){Kc(a,d);break}l=d;if((f[i>>2]|0)>>>0<=l>>>0?(f[j>>2]|0)>>>0>l>>>0:0){f[d>>2]=f[k>>2];f[k>>2]=d;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{l=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);d=f[c+8>>2]|0;do if(d|0){if(f[h>>2]|0){Kc(a,d);break}l=d;if((f[i>>2]|0)>>>0<=l>>>0?(f[j>>2]|0)>>>0>l>>>0:0){f[d>>2]=f[k>>2];f[k>>2]=d;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{l=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);if((e|0)>1){c=c+20|0;e=e+-1|0}else break}}if(!g){if(f[h>>2]|0){Kc(a,b);return}l=b;if((f[i>>2]|0)>>>0<=l>>>0?(f[j>>2]|0)>>>0>l>>>0:0){f[b>>2]=f[k>>2];f[k>>2]=b;return}}if(!b)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](b);return}else{l=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);return}}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!b)return;i=(a|0)==0;j=a+480|0;k=a+304|0;l=a+308|0;m=a+300|0;do{h=b;b=f[b+36>>2]|0;c=f[h+16>>2]|0;if(c|0)ig(a,c);c=f[h+20>>2]|0;if(c|0)jg(a,c);c=f[h+8>>2]|0;if(c|0)mg(a,c,1);c=f[h+24>>2]|0;do if(c|0){g=c+4|0;d=f[c>>2]|0;a:do if((f[g>>2]|0)>0){if(i){e=0;while(1){d=f[d+(e<<3)>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{n=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);e=e+1|0;d=f[c>>2]|0;if((e|0)>=(f[g>>2]|0))break a}}e=0;do{d=f[d+(e<<3)>>2]|0;do if(d|0){if(f[j>>2]|0){Kc(a,d);break}n=d;if((f[k>>2]|0)>>>0<=n>>>0?(f[l>>2]|0)>>>0>n>>>0:0){f[d>>2]=f[m>>2];f[m>>2]=d;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{n=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);e=e+1|0;d=f[c>>2]|0}while((e|0)<(f[g>>2]|0))}while(0);b:do if(d){do if(!i){if(!(f[j>>2]|0)){e=d;if((f[k>>2]|0)>>>0>e>>>0)break;if((f[l>>2]|0)>>>0<=e>>>0)break;f[d>>2]=f[m>>2];f[m>>2]=d}else Kc(a,d);d=41;break b}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](d);d=40;break}else{n=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);d=40;break}}else d=40;while(0);if((d|0)==40){d=0;if(!i)d=41}if((d|0)==41){if(f[j>>2]|0){Kc(a,c);break}n=c;if((f[k>>2]|0)>>>0<=n>>>0?(f[l>>2]|0)>>>0>n>>>0:0){f[c>>2]=f[m>>2];f[m>>2]=c;break}}if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{n=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);d=f[h+28>>2]|0;do if(d|0){c=f[d>>2]|0;if(c|0)jg(a,c);c=f[d+4>>2]|0;if(c|0)ig(a,c);c=f[d+8>>2]|0;if(c|0)jg(a,c);c=f[d+12>>2]|0;if(c|0)ig(a,c);if(!i){if(f[j>>2]|0){Kc(a,d);break}n=d;if((f[k>>2]|0)>>>0<=n>>>0?(f[l>>2]|0)>>>0>n>>>0:0){f[d>>2]=f[m>>2];f[m>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{n=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);c=f[h+32>>2]|0;c:do if(c){do if(!i){if(!(f[j>>2]|0)){d=c;if((f[k>>2]|0)>>>0>d>>>0)break;if((f[l>>2]|0)>>>0<=d>>>0)break;f[c>>2]=f[m>>2];f[m>>2]=c}else Kc(a,c);c=h;d=80;break c}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);d=79;break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);d=79;break}}else d=79;while(0);if((d|0)==79)if(i){c=h;d=85}else{c=h;d=80}do if((d|0)==80){d=0;if(f[j>>2]|0){Kc(a,c);break}n=c;if((f[k>>2]|0)>>>0<=n>>>0?(f[l>>2]|0)>>>0>n>>>0:0){f[c>>2]=f[m>>2];f[m>>2]=c}else d=85}while(0);do if((d|0)==85)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{n=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0)}while((b|0)!=0);return}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;if(!b)return;d=a+480|0;e=a+304|0;g=a+308|0;h=a+300|0;if(!a){do{c=b;b=f[b+12>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{h=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((b|0)!=0);return}do{c=b;b=f[b+12>>2]|0;do if(!(f[d>>2]|0)){i=c;if((f[e>>2]|0)>>>0<=i>>>0?(f[g>>2]|0)>>>0>i>>>0:0){f[c>>2]=f[h>>2];f[h>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}else Kc(a,c);while(0)}while((b|0)!=0);return}function mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!b)return;j=(a|0)==0;k=a+480|0;l=a+304|0;m=a+308|0;n=a+300|0;while(1){i=b;b=f[b+52>>2]|0;d=f[i>>2]|0;if(d|0)jg(a,d);ng(a,f[i+32>>2]|0);d=f[i+36>>2]|0;if(d|0)ig(a,d);d=f[i+40>>2]|0;if(d|0)jg(a,d);d=f[i+44>>2]|0;if(d|0)ig(a,d);d=f[i+48>>2]|0;if(d|0)jg(a,d);d=f[i+60>>2]|0;if(d|0)ig(a,d);d=f[i+72>>2]|0;if(d|0)do{h=d;d=f[d+24>>2]|0;og(a,h)}while((d|0)!=0);h=f[i+64>>2]|0;do if(h|0){a:do if((f[h>>2]|0)>0){if(j){e=0;while(1){d=f[h+8+(e<<4)+4>>2]|0;if(d|0)jg(0,d);d=f[h+8+(e<<4)+8>>2]|0;if(d|0)mg(0,d,1);d=f[h+8+(e<<4)>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{g=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);e=e+1|0;if((e|0)>=(f[h>>2]|0))break a}}g=0;do{d=f[h+8+(g<<4)+4>>2]|0;if(d|0)jg(a,d);d=f[h+8+(g<<4)+8>>2]|0;if(d|0)mg(a,d,1);d=f[h+8+(g<<4)>>2]|0;b:do if(d|0){if(f[k>>2]|0){Kc(a,d);break}e=d;do if((f[l>>2]|0)>>>0<=e>>>0){if((f[m>>2]|0)>>>0<=e>>>0)break;f[d>>2]=f[n>>2];f[n>>2]=d;break b}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{e=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);g=g+1|0}while((g|0)<(f[h>>2]|0))}while(0);if(!j){if(f[k>>2]|0){Kc(a,h);break}g=h;if((f[l>>2]|0)>>>0<=g>>>0?(f[m>>2]|0)>>>0>g>>>0:0){f[h>>2]=f[n>>2];f[n>>2]=h;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{g=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}}while(0);do if(c|0){if(!j){if(f[k>>2]|0){Kc(a,i);break}h=i;if((f[l>>2]|0)>>>0<=h>>>0?(f[m>>2]|0)>>>0>h>>>0:0){f[i>>2]=f[n>>2];f[n>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{h=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);if(!b)break;else c=1}return}function ng(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!c)return;if((f[c>>2]|0)>0){n=(a|0)==0;o=a+480|0;q=a+304|0;r=a+308|0;l=a+300|0;j=0;k=c+8|0;while(1){d=f[k+4>>2]|0;do if(d|0){if(!n){if(f[o>>2]|0){Kc(a,d);break}i=d;if((f[q>>2]|0)>>>0<=i>>>0?(f[r>>2]|0)>>>0>i>>>0:0){f[d>>2]=f[l>>2];f[l>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);d=f[k+8>>2]|0;do if(d|0){if(!n){if(f[o>>2]|0){Kc(a,d);break}i=d;if((f[q>>2]|0)>>>0<=i>>>0?(f[r>>2]|0)>>>0>i>>>0:0){f[d>>2]=f[l>>2];f[l>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);d=f[k+12>>2]|0;do if(d|0){if(!n){if(f[o>>2]|0){Kc(a,d);break}i=d;if((f[q>>2]|0)>>>0<=i>>>0?(f[r>>2]|0)>>>0>i>>>0:0){f[d>>2]=f[l>>2];f[l>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);d=k+37|0;do if(b[d>>0]&2?(p=f[k+64>>2]|0,p|0):0){if(!n){if(f[o>>2]|0){Kc(a,p);break}i=p;if((f[q>>2]|0)>>>0<=i>>>0?(f[r>>2]|0)>>>0>i>>>0:0){f[p>>2]=f[l>>2];f[l>>2]=p;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{i=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}while(0);if(b[d>>0]&4?(m=f[k+64>>2]|0,m|0):0)jg(a,m);d=f[k+16>>2]|0;do if(d|0){if(!n?f[o>>2]|0:0){hg(a,d);break}h=d+32|0;i=(f[h>>2]|0)+-1|0;f[h>>2]=i;if(!i)hg(a,d)}while(0);d=f[k+20>>2]|0;if(d|0)mg(a,d,1);d=f[k+44>>2]|0;if(d|0)ig(a,d);d=f[k+48>>2]|0;do if(d|0){i=d+4|0;e=f[d>>2]|0;a:do if((f[i>>2]|0)>0){if(n){g=0;while(1){e=f[e+(g<<3)>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{h=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);g=g+1|0;e=f[d>>2]|0;if((g|0)>=(f[i>>2]|0))break a}}h=0;do{e=f[e+(h<<3)>>2]|0;b:do if(e|0){if(f[o>>2]|0){Kc(a,e);break}g=e;do if((f[q>>2]|0)>>>0<=g>>>0){if((f[r>>2]|0)>>>0<=g>>>0)break;f[e>>2]=f[l>>2];f[l>>2]=e;break b}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{g=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);h=h+1|0;e=f[d>>2]|0}while((h|0)<(f[i>>2]|0))}while(0);c:do if(e){do if(!n){if(!(f[o>>2]|0)){g=e;if((f[q>>2]|0)>>>0>g>>>0)break;if((f[r>>2]|0)>>>0<=g>>>0)break;f[e>>2]=f[l>>2];f[l>>2]=e}else Kc(a,e);e=90;break c}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);e=89;break}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);e=89;break}}else e=89;while(0);if((e|0)==89){e=0;if(!n)e=90}if((e|0)==90){if(f[o>>2]|0){Kc(a,d);break}i=d;if((f[q>>2]|0)>>>0<=i>>>0?(f[r>>2]|0)>>>0>i>>>0:0){f[d>>2]=f[l>>2];f[l>>2]=d;break}}if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);j=j+1|0;if((j|0)>=(f[c>>2]|0))break;else k=k+72|0}}if(a|0){if(f[a+480>>2]|0){Kc(a,c);return}r=c;if((f[a+304>>2]|0)>>>0<=r>>>0?(f[a+308>>2]|0)>>>0>r>>>0:0){r=a+300|0;f[c>>2]=f[r>>2];f[r>>2]=c;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{r=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}function og(a,b){a=a|0;b=b|0;var c=0,d=0;if(!b)return;c=f[b+28>>2]|0;if(c|0)ig(a,c);c=f[b+4>>2]|0;if(c|0)jg(a,c);c=f[b+8>>2]|0;if(c|0)jg(a,c);c=f[b+20>>2]|0;if(c|0)ig(a,c);c=f[b+16>>2]|0;if(c|0)ig(a,c);c=f[b>>2]|0;a:do if(c){do if(a|0){if(!(f[a+480>>2]|0)){d=c;if((f[a+304>>2]|0)>>>0>d>>>0)break;if((f[a+308>>2]|0)>>>0<=d>>>0)break;d=a+300|0;f[c>>2]=f[d>>2];f[d>>2]=c}else Kc(a,c);c=b;d=24;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);d=23;break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);d=23;break}}else d=23;while(0);if((d|0)==23)if(a){c=b;d=24}if((d|0)==24){if(f[a+480>>2]|0){Kc(a,c);return}d=b;if((f[a+304>>2]|0)>>>0<=d>>>0?(f[a+308>>2]|0)>>>0>d>>>0:0){a=a+300|0;f[b>>2]=f[a>>2];f[a>>2]=b;return}else b=c}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);return}else{a=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);return}}function pg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+12|0;o=f[t>>2]|0;n=(o|0)==0;if(n){g=0;e=a+4|0;i=a+8|0}else{g=b[c>>0]|0;if(!(g<<24>>24))e=0;else{e=0;i=c;do{i=i+1|0;e=U(e+(h[1232+(g&255)>>0]|0)|0,-1640531535)|0;g=b[i>>0]|0}while(g<<24>>24!=0)}i=(e>>>0)%((f[a>>2]|0)>>>0)|0;g=i;e=o+(i<<3)|0;i=o+(i<<3)+4|0}e=f[e>>2]|0;a:do if(!e)k=72124;else{m=h[1232+(h[c>>0]|0)>>0]|0;while(1){i=f[i>>2]|0;e=e+-1|0;k=f[i+12>>2]|0;r=b[k>>0]|0;j=(h[1232+(r&255)>>0]|0)-m|0;if(!(r<<24>>24==0|(j|0)!=0)){l=c;do{k=k+1|0;l=l+1|0;r=b[k>>0]|0;j=(h[1232+(r&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(r<<24>>24==0|(j|0)!=0))}if(!j){k=i;break a}if(!e){k=72124;break}}}while(0);e=k+8|0;l=f[e>>2]|0;i=(d|0)==0;if(l|0){if(!i){f[e>>2]=d;f[k+12>>2]=c;a=l;return a|0}c=f[k+4>>2]|0;e=f[k>>2]|0;if(!c){f[a+8>>2]=e;i=e;j=e}else{f[c>>2]=e;j=f[k>>2]|0;i=j}if(i|0)f[i+4>>2]=c;if(!n){e=o+(g<<3)+4|0;if((f[e>>2]|0)==(k|0))f[e>>2]=j;s=o+(g<<3)|0;f[s>>2]=(f[s>>2]|0)+-1}if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{s=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}c=a+4|0;s=(f[c>>2]|0)+-1|0;f[c>>2]=s;if(s|0){a=l;return a|0}g=a+8|0;e=f[g>>2]|0;f[g>>2]=0;g=f[t>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{s=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[t>>2]=0;f[a>>2]=0;if(e|0)do{g=e;e=f[e>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](g);else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g)}}while((e|0)!=0);f[c>>2]=0;a=l;return a|0}if(i){a=0;return a|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](16)|0;if(!e){a=d;return a|0}else r=e}else{e=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;j=71896;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){r=f[18187]|0;o=LA(i|0,j|0,e|0,((e|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&o>>>0<=r>>>0)&1}i=ib[f[37356>>2]&255](e)|0;if(!i){a=d;return a|0}e=ib[f[37368>>2]&255](i)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0){f[18196]=e;r=i}else r=i}f[r+12>>2]=c;f[r+8>>2]=d;d=a+4|0;e=(f[d>>2]|0)+1|0;f[d>>2]=e;if((e>>>0>9?(p=f[a>>2]|0,e>>>0>p<<1>>>0):0)?(q=e<<4>>>0>1024?128:e<<1,(q|0)!=(p|0)):0){e=q<<3;q=KA(e|0,0,-1,-1)|0;p=ba()|0;do if(!(p>>>0>0|(p|0)==0&q>>>0>2147483390)){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](e)|0;break}j=ib[f[37372>>2]&255](e)|0;if((f[18194]|0)>>>0>>0)f[18194]=e;i=71896;e=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&e>>>0>0){q=f[18187]|0;p=LA(e|0,i|0,j|0,((j|0)<0)<<31>>31|0)|0;d=ba()|0;f[17976]=((d|0)<0|(d|0)==0&p>>>0<=q>>>0)&1}i=ib[f[37356>>2]&255](j)|0;if(i){e=ib[f[37368>>2]&255](i)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}else i=0}else i=0;while(0);if(i){e=f[t>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{q=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[t>>2]=i;o=ib[f[37368>>2]&255](i)|0;n=o>>>3;f[a>>2]=n;_A(i|0,0,o&-8|0)|0;o=a+8|0;e=f[o>>2]|0;f[o>>2]=0;if(e|0){j=0;while(1){k=f[e+12>>2]|0;l=b[k>>0]|0;if(!(l<<24>>24))g=0;else{g=0;do{k=k+1|0;g=U(g+(h[1232+(l&255)>>0]|0)|0,-1640531535)|0;l=b[k>>0]|0}while(l<<24>>24!=0)}k=(g>>>0)%(n>>>0)|0;g=e;e=f[e>>2]|0;l=i+(k<<3)|0;do if(l){m=f[l>>2]|0;if(!m){f[l>>2]=1;f[i+(k<<3)+4>>2]=g;s=86;break}q=i+(k<<3)+4|0;k=f[q>>2]|0;f[l>>2]=m+1;f[q>>2]=g;if(k){f[g>>2]=k;l=k+4|0;f[g+4>>2]=f[l>>2];k=f[l>>2]|0;if(!k){f[o>>2]=g;j=g}else f[k>>2]=g;f[l>>2]=g;g=j}else s=86}else s=86;while(0);if((s|0)==86){s=0;f[g>>2]=j;if(j|0)f[j+4>>2]=g;f[g+4>>2]=0;f[o>>2]=g}if(!e)break;else j=g}}g=b[c>>0]|0;if(!(g<<24>>24))e=0;else{e=0;do{c=c+1|0;e=U(e+(h[1232+(g&255)>>0]|0)|0,-1640531535)|0;g=b[c>>0]|0}while(g<<24>>24!=0)}g=(e>>>0)%((f[a>>2]|0)>>>0)|0}}e=f[t>>2]|0;c=e+(g<<3)|0;do if(!((e|0)==0|(c|0)==0)){i=f[c>>2]|0;if(!i){f[c>>2]=1;f[e+(g<<3)+4>>2]=r;break}t=e+(g<<3)+4|0;e=f[t>>2]|0;f[c>>2]=i+1;f[t>>2]=r;if(e|0){f[r>>2]=e;t=e+4|0;f[r+4>>2]=f[t>>2];s=f[t>>2]|0;f[((s|0)==0?a+8|0:s)>>2]=r;f[t>>2]=r;a=0;return a|0}}while(0);e=a+8|0;g=f[e>>2]|0;f[r>>2]=g;if(g|0)f[g+4>>2]=r;f[r+4>>2]=0;f[e>>2]=r;a=0;return a|0}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;switch(b|0){case -16:{rg(a,c);return}case -15:case -17:case -7:case -14:case -13:{if(!c)return;if(a|0){if(f[a+480>>2]|0){Kc(a,c);return}b=c;if((f[a+304>>2]|0)>>>0<=b>>>0?(f[a+308>>2]|0)>>>0>b>>>0:0){b=a+300|0;f[c>>2]=f[b>>2];f[b>>2]=c;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{b=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}case -9:{if((c|0)==0|(f[a+480>>2]|0)!=0)return;b=(f[c>>2]|0)+-1|0;f[c>>2]=b;if(b|0)return;a=f[c+12>>2]|0;if(a|0){if(f[a+480>>2]|0){Kc(a,c);return}b=c;if((f[a+304>>2]|0)>>>0<=b>>>0?(f[a+308>>2]|0)>>>0>b>>>0:0){b=a+300|0;f[c>>2]=f[b>>2];f[b>>2]=c;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{b=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}case -8:{if(!(f[c+4>>2]&16))return;if(a|0){if(f[a+480>>2]|0){Kc(a,c);return}b=c;if((f[a+304>>2]|0)>>>0<=b>>>0?(f[a+308>>2]|0)>>>0>b>>>0:0){b=a+300|0;f[c>>2]=f[b>>2];f[b>>2]=c;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{b=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}case -11:{if(f[a+480>>2]|0){sg(a,c);return}if(!c)return;if(!((d[c+8>>1]&9216)==0?!(f[c+24>>2]|0):0))ff(c);a=f[c+32>>2]|0;if(a|0){if(f[a+480>>2]|0){Kc(a,c);return}b=c;if((f[a+304>>2]|0)>>>0<=b>>>0?(f[a+308>>2]|0)>>>0>b>>>0:0){b=a+300|0;f[c>>2]=f[b>>2];f[b>>2]=c;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{b=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}case -12:{if(f[a+480>>2]|0)return;a=f[c>>2]|0;e=c+12|0;b=(f[e>>2]|0)+-1|0;f[e>>2]=b;if(b|0)return;b=f[c+8>>2]|0;if(b|0)ib[f[(f[b>>2]|0)+16>>2]&255](b)|0;if(a|0){if(f[a+480>>2]|0){Kc(a,c);return}e=c;if((f[a+304>>2]|0)>>>0<=e>>>0?(f[a+308>>2]|0)>>>0>e>>>0:0){e=a+300|0;f[c>>2]=f[e>>2];f[e>>2]=c;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}default:return}}function rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=f[b+4>>2]|0;a:do if(f[e+4>>2]&16){do if(a|0){c=a+480|0;if(!(f[c>>2]|0)){d=e;if((f[a+304>>2]|0)>>>0>d>>>0)break;if((f[a+308>>2]|0)>>>0<=d>>>0)break;d=a+300|0;f[e>>2]=f[d>>2];f[d>>2]=e}else Kc(a,e);d=14;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);d=12;break}else{d=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);d=12;break}}else d=12;while(0);if((d|0)==12)if(a){c=a+480|0;d=14}if((d|0)==14){if(f[c>>2]|0){Kc(a,b);return}e=b;if((f[a+304>>2]|0)>>>0<=e>>>0?(f[a+308>>2]|0)>>>0>e>>>0:0){a=a+300|0;f[b>>2]=f[a>>2];f[a>>2]=b;return}}if(!b)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](b);return}else{a=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);return}}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;a:do if((f[b+24>>2]|0)!=0?(e=f[b+20>>2]|0,(e|0)!=0):0){do if(a|0){c=a+480|0;if(!(f[c>>2]|0)){d=e;if((f[a+304>>2]|0)>>>0>d>>>0)break;if((f[a+308>>2]|0)>>>0<=d>>>0)break;d=a+300|0;f[e>>2]=f[d>>2];f[d>>2]=e}else Kc(a,e);d=15;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);d=13;break}else{d=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);d=13;break}}else d=13;while(0);if((d|0)==13)if(a){c=a+480|0;d=15}if((d|0)==15){if(f[c>>2]|0){Kc(a,b);return}e=b;if((f[a+304>>2]|0)>>>0<=e>>>0?(f[a+308>>2]|0)>>>0>e>>>0:0){a=a+300|0;f[b>>2]=f[a>>2];f[a>>2]=b;return}}if(!b)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](b);return}else{a=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);return}}function tg(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=t;t=t+64|0;D=N+40|0;G=N+32|0;F=N+24|0;E=N+16|0;A=N+8|0;z=N;C=N+48|0;K=f[a>>2]|0;L=a+20|0;if((f[L>>2]|0)!=770837923){M=0;t=N;return M|0}M=K+81|0;if(b[M>>0]|0)f[a+40>>2]=7;g=a+192|0;c=f[g>>2]|0;if(c|0){while(1){e=f[c+4>>2]|0;if(!e)break;else c=e}Cg(c)|0;f[g>>2]=0;f[a+200>>2]=0}k=a+112|0;e=f[k>>2]|0;a:do if(e|0?(l=a+28|0,i=f[l>>2]|0,(i|0)>0):0){c=0;g=i;while(1){e=f[e+(c<<2)>>2]|0;if(!e)e=g;else{Dg(a,e);f[(f[k>>2]|0)+(c<<2)>>2]=0;e=f[l>>2]|0}c=c+1|0;if((c|0)>=(e|0))break a;g=e;e=f[k>>2]|0}}while(0);c=f[a+92>>2]|0;b:do if(c|0?(m=f[a+24>>2]|0,m|0):0){p=c+(m*40|0)|0;k=f[c+32>>2]|0;l=k+480|0;e=(k|0)==0;m=k+304|0;n=k+308|0;o=k+300|0;if(f[l>>2]|0){if(e)while(1){do if(f[c+24>>2]|0?(q=f[c+20>>2]|0,q|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{H=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);c=c+40|0;if(c>>>0>=p>>>0)break b}while(1){do if(f[c+24>>2]|0?(r=f[c+20>>2]|0,r|0):0){if(f[l>>2]|0){Kc(k,r);break}H=r;if((f[m>>2]|0)>>>0<=H>>>0?(f[n>>2]|0)>>>0>H>>>0:0){f[r>>2]=f[o>>2];f[o>>2]=r;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{H=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}while(0);c=c+40|0;if(c>>>0>=p>>>0)break b}}if(e)while(1){g=c+8|0;if(!(d[g>>1]&9216)){i=c+24|0;if(f[i>>2]|0){e=f[c+20>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{H=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[i>>2]=0}}else ff(c);d[g>>1]=128;c=c+40|0;if(c>>>0>=p>>>0)break b}do{e=c+8|0;if(!(d[e>>1]&9216)){g=c+24|0;if(f[g>>2]|0){i=f[c+20>>2]|0;do if(!(f[l>>2]|0)){H=i;if((f[m>>2]|0)>>>0<=H>>>0?(f[n>>2]|0)>>>0>H>>>0:0){f[i>>2]=f[o>>2];f[o>>2]=i;break}if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{H=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}else Kc(k,i);while(0);f[g>>2]=0}}else ff(c);d[e>>1]=128;c=c+40|0}while(c>>>0

>>0)}while(0);s=a+196|0;c=f[s>>2]|0;if(c|0)do{f[s>>2]=f[c+4>>2];e=c+80|0;i=c+60|0;g=f[i>>2]|0;k=e+(g*40|0)|0;l=c+64|0;if((f[l>>2]|0)>0){g=0;do{Dg(f[c>>2]|0,f[k+(g<<2)>>2]|0);g=g+1|0}while((g|0)<(f[l>>2]|0));g=f[i>>2]|0}c:do if(g|0){r=e+(g*40|0)|0;m=f[c+112>>2]|0;n=m+480|0;g=(m|0)==0;o=m+304|0;p=m+308|0;q=m+300|0;if(f[n>>2]|0){if(g)while(1){do if(f[e+24>>2]|0?(u=f[e+20>>2]|0,u|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{H=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}while(0);e=e+40|0;if(e>>>0>=r>>>0)break c}while(1){d:do if(f[e+24>>2]|0?(v=f[e+20>>2]|0,v|0):0){if(f[n>>2]|0){Kc(m,v);break}g=v;do if((f[o>>2]|0)>>>0<=g>>>0){if((f[p>>2]|0)>>>0<=g>>>0)break;f[v>>2]=f[q>>2];f[q>>2]=v;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](v);break}else{H=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);break}}while(0);e=e+40|0;if(e>>>0>=r>>>0)break c}}if(g)while(1){g=e+8|0;if(!(d[g>>1]&9216)){i=e+24|0;if(f[i>>2]|0){k=f[e+20>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{H=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[i>>2]=0}}else ff(e);d[g>>1]=128;e=e+40|0;if(e>>>0>=r>>>0)break c}do{g=e+8|0;if(!(d[g>>1]&9216)){i=e+24|0;if(f[i>>2]|0){k=f[e+20>>2]|0;e:do if(!(f[n>>2]|0)){l=k;do if((f[o>>2]|0)>>>0<=l>>>0){if((f[p>>2]|0)>>>0<=l>>>0)break;f[k>>2]=f[q>>2];f[q>>2]=k;break e}while(0);if(!k)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{H=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}else Kc(m,k);while(0);f[i>>2]=0}}else ff(e);d[g>>1]=128;e=e+40|0}while(e>>>0>>0)}while(0);i=f[f[c>>2]>>2]|0;o=c+40|0;e=f[o>>2]|0;f:do if(e|0){k=i+480|0;l=i+304|0;m=i+308|0;n=i+300|0;if(!i)while(1){g=f[e+12>>2]|0;if(g|0)ob[g&127](f[e+8>>2]|0);f[o>>2]=f[e+16>>2];if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{H=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}e=f[o>>2]|0;if(!e)break f}do{g=f[e+12>>2]|0;if(g|0)ob[g&127](f[e+8>>2]|0);f[o>>2]=f[e+16>>2];do if(!(f[k>>2]|0)){H=e;if((f[l>>2]|0)>>>0<=H>>>0?(f[m>>2]|0)>>>0>H>>>0:0){f[e>>2]=f[n>>2];f[n>>2]=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{H=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}else Kc(i,e);while(0);e=f[o>>2]|0}while((e|0)!=0)}while(0);e=f[f[c>>2]>>2]|0;do if(e){if(f[e+480>>2]|0){Kc(e,c);break}H=c;if((f[e+304>>2]|0)>>>0<=H>>>0?(f[e+308>>2]|0)>>>0>H>>>0:0){H=e+300|0;f[c>>2]=f[H>>2];f[H>>2]=c}else I=145}else I=145;while(0);do if((I|0)==145){I=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{H=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=f[s>>2]|0}while((c|0)!=0);n=a+212|0;c=f[n>>2]|0;g:do if(c|0){g=f[a>>2]|0;i=g+480|0;k=g+304|0;l=g+308|0;m=g+300|0;if(!g)while(1){e=f[c+12>>2]|0;if(e|0)ob[e&127](f[c+8>>2]|0);f[n>>2]=f[c+16>>2];if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{H=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}c=f[n>>2]|0;if(!c)break g}do{e=f[c+12>>2]|0;if(e|0)ob[e&127](f[c+8>>2]|0);f[n>>2]=f[c+16>>2];do if(!(f[i>>2]|0)){H=c;if((f[k>>2]|0)>>>0<=H>>>0?(f[l>>2]|0)>>>0>H>>>0:0){f[c>>2]=f[m>>2];f[m>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{H=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}else Kc(g,c);while(0);c=f[n>>2]|0}while((c|0)!=0)}while(0);v=a+36|0;if((f[v>>2]|0)>-1){H=a+145|0;if((h[H>>0]|h[H+1>>0]<<8)&512){e=f[a+152>>2]|0;if(e|0?(x=f[a>>2]|0,w=f[x+16>>2]|0,x=f[x+20>>2]|0,(x|0)>0):0){c=0;do{if(((c|0)!=1?1<>2]|0,y|0):0)f[(f[y+4>>2]|0)+4>>2]=f[y>>2];c=c+1|0}while((c|0)!=(x|0))}u=a+40|0;e=f[u>>2]|0;g=e&255;h:do switch(g<<24>>24){case 13:case 7:case 9:case 10:{c=h[H>>0]|h[H+1>>0]<<8;if((e&255|0)!=9|(c&256)==0){switch(g<<24>>24){case 7:case 13:{if(c&128){c=2;g=1;break h}break}default:{}}Eg(K,516);g=K+444|0;c=f[g>>2]|0;if(c|0){i=K+480|0;k=K+304|0;l=K+308|0;m=K+300|0;do{f[g>>2]=f[c+24>>2];i:do if(!(f[i>>2]|0)){e=c;do if((f[k>>2]|0)>>>0<=e>>>0){if((f[l>>2]|0)>>>0<=e>>>0)break;f[c>>2]=f[m>>2];f[m>>2]=c;break i}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{y=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}else Kc(K,c);while(0);c=f[g>>2]|0}while((c|0)!=0)}f[K+452>>2]=0;f[K+456>>2]=0;b[K+87>>0]=0;b[K+79>>0]=1;f[a+44>>2]=0;c=0;e=f[u>>2]|0;g=1}else{c=0;g=1}break}default:{c=0;g=0}}while(0);if((e|0)==0?(y=a+64|0,x=f[y+4>>2]|0,(x|0)>0|(x|0)==0&(f[y>>2]|0)>>>0>0):0){f[u>>2]=787;b[a+142>>0]=2;Fg(a,42524,z)}s=K+332|0;e=f[s>>2]|0;if((e|0)>0?(f[K+356>>2]|0)==0:0)I=460;else if((b[K+79>>0]|0)!=0?(f[K+176>>2]|0)==((((h[H>>0]|h[H+1>>0]<<8)&65535)>>>8&1^1)&65535|0):0){if((f[u>>2]|0)!=0?g|(b[a+142>>0]|0)!=3:0){Eg(K,0);f[a+44>>2]=0}else I=205;j:do if((I|0)==205){y=f[a>>2]|0;z=y+464|0;y=y+472|0;z=KA(f[y>>2]|0,f[y+4>>2]|0,f[z>>2]|0,f[z+4>>2]|0)|0;y=ba()|0;k:do if((y|0)>0|(y|0)==0&z>>>0>0){f[u>>2]=787;b[a+142>>0]=2;Fg(a,42524,A);if(!((h[H>>0]|h[H+1>>0]<<8)&256)){e=787;break}else c=1;t=N;return c|0}else{r=K+356|0;p=f[r>>2]|0;f[r>>2]=0;q=a+108|0;l:do if((e|0)>0){o=0;m:while(1){g=f[(f[p+(o<<2)>>2]|0)+8>>2]|0;do if(g|0){e=f[(f[g>>2]|0)+60>>2]|0;if(!e)break;e=ib[e&255](g)|0;n=g+8|0;if(f[n>>2]|0){k=f[a>>2]|0;g=f[q>>2]|0;n:do if(g|0){do if(k|0){if(f[k+480>>2]|0){Kc(k,g);break n}i=g;if((f[k+304>>2]|0)>>>0>i>>>0)break;if((f[k+308>>2]|0)>>>0<=i>>>0)break;A=k+300|0;f[g>>2]=f[A>>2];f[A>>2]=g;break n}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{A=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);l=f[n>>2]|0;o:do if(!l)g=0;else{m=(wz(l)|0)+1|0;p:do if(!k){A=KA(m|0,0,-1,-1)|0;z=ba()|0;if(z>>>0>0|(z|0)==0&A>>>0>2147483390){g=0;break o}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](m)|0;I=247;break}g=ib[f[37372>>2]&255](m)|0;if((f[18194]|0)>>>0>>0)f[18194]=m;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){A=f[18187]|0;z=LA(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;y=ba()|0;f[17976]=((y|0)<0|(y|0)==0&z>>>0<=A>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break o}i=ib[f[37368>>2]&255](g)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0<=(f[18196]|0)>>>0)break;f[18196]=i}else{if(f[k+272>>2]|0){if(b[k+81>>0]|0){g=0;break o}}else{do if(!(0<0|(0==0?(j[k+276>>1]|0)>>>0>>0:0))){i=k+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];I=k+284|0;f[I>>2]=(f[I>>2]|0)+1;I=247;break p}i=k+296|0;g=f[i>>2]|0;if(!g){g=k+292|0;break}else{f[i>>2]=f[g>>2];I=k+284|0;f[I>>2]=(f[I>>2]|0)+1;I=247;break p}}else g=k+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(k,m,0)|0;I=247}while(0);if((I|0)==247){I=0;if(!g){g=0;break}}YA(g|0,l|0,m|0)|0}while(0);f[q>>2]=g;g=f[n>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{A=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[n>>2]=0}if(e|0)break m}while(0);o=o+1|0;if((o|0)>=(f[s>>2]|0)){I=257;break l}}f[r>>2]=p;I=454}else I=257;while(0);q:do if((I|0)==257){f[r>>2]=p;p=K+20|0;q=K+16|0;o=0;g=0;i=0;while(1){if((o|0)>=(f[p>>2]|0))break;k=f[q>>2]|0;e=f[k+(o<<4)+4>>2]|0;r:do if(!e)e=0;else{if((b[e+8>>0]|0)!=2){e=0;break}i=f[e+4>>2]|0;f[i+4>>2]=f[e>>2];i=f[i>>2]|0;do if((b[k+(o<<4)+8>>0]|0)!=1){if(!(11>>>(h[i+5>>0]|0)&1))break;g=g+((b[i+12>>0]|0)==0&1)|0}while(0);e=f[i+40>>2]|0;if(e|0){i=1;break}if(f[i+216>>2]|0){e=0;i=1;break}k=i+17|0;l=i+13|0;m=i+60|0;n=i+176|0;i=i+180|0;s:while(1){switch(b[k>>0]|0){case 0:case 1:case 2:case 3:case 5:break;default:{e=0;i=1;break r}}if(b[l>>0]|0)break;e=f[m>>2]|0;e=jb[f[(f[e>>2]|0)+28>>2]&255](e,4)|0;switch(e|0){case 0:break s;case 5:break;default:{i=1;break r}}if(!(ib[f[n>>2]&255](f[i>>2]|0)|0)){e=5;i=1;break r}}b[k>>0]=4;e=0;i=1}while(0);if(!e)o=o+1|0;else{I=454;break q}}do if(i|0){e=f[K+216>>2]|0;if(!e)break;if(ib[e&255](f[K+212>>2]|0)|0){e=531;break k}}while(0);i=f[f[(f[(f[q>>2]|0)+4>>2]|0)+4>>2]>>2]|0;k=(b[i+15>>0]|0)==0;if(k){e=f[i+168>>2]|0;if(e|0)I=278}else{e=72788;I=278}do if((I|0)==278){if((g|0)<2|((wz(e)|0)&1073741823|0)==0)break;n=f[K>>2]|0;if(k){e=f[i+168>>2]|0;if(!e){g=0;e=0}else I=320}else{e=72788;I=320}if((I|0)==320)g=(wz(e)|0)&1073741823;f[E>>2]=e;o=Ig(K,42554,E)|0;t:do if(o){i=o+g|0;k=n+32|0;g=0;u:while(1){do if(g|0){if(g>>>0>100){I=327;break u}if((g|0)!=1)break;f[F>>2]=o;Ac(13,42570,F)}while(0);zd(4,E);e=f[E>>2]|0;f[D>>2]=e>>>8;f[D+4>>2]=e&255;vd(13,i,42599,D)|0;e=lb[f[k>>2]&127](n,o,0,C)|0;l=(e|0)==0;if(l&(f[C>>2]|0)!=0)g=g+1|0;else{I=329;break}}if((I|0)==327){f[G>>2]=o;Ac(13,42585,G);kb[f[n+28>>2]&127](n,o,0)|0;I=330}else if((I|0)==329)if(l)I=330;v:do if((I|0)==330){k=f[n+4>>2]|0;G=KA(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;F=ba()|0;if(F>>>0>0|(F|0)==0&G>>>0>2147483390){e=7;break}do if(!(f[9328]|0)){e=ib[f[37356>>2]&255](k)|0;if(!e){e=7;break v}else m=e}else{e=ib[f[37372>>2]&255](k)|0;if((f[18194]|0)>>>0>>0)f[18194]=k;i=71896;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){G=f[18187]|0;F=LA(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;E=ba()|0;f[17976]=((E|0)<0|(E|0)==0&F>>>0<=G>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(!g){e=7;break v}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0<=(f[18196]|0)>>>0){m=g;break}f[18196]=e;m=g}while(0);_A(m|0,0,k|0)|0;e=mb[f[n+24>>2]&127](n,o,m,16406,0)|0;if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{I=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}e=f[p>>2]|0;w:do if((e|0)>0){l=0;k=0;i=0;x:while(1){g=f[(f[q>>2]|0)+(l<<4)+4>>2]|0;do if(!g)g=k;else{if((b[g+8>>0]|0)!=2){g=k;break}g=f[(f[f[g+4>>2]>>2]|0)+172>>2]|0;if(!g){g=k;break}e=((wz(g)|0)&1073741823)+1|0;e=mb[f[(f[m>>2]|0)+12>>2]&127](m,g,e,k,i)|0;if(e|0)break x;g=KA(k|0,i|0,((wz(g)|0)&1073741823)+1|0,0)|0;i=ba()|0;e=f[p>>2]|0}while(0);l=l+1|0;if((l|0)>=(e|0))break w;else k=g}g=f[m>>2]|0;if(g|0){ib[f[g+4>>2]&255](m)|0;f[m>>2]=0}if(!(f[9328]|0))ob[f[37360>>2]&127](m);else{I=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m)}kb[f[n+28>>2]&127](n,o,0)|0;if(f[K+480>>2]|0){Kc(K,o);break t}g=o;do if((f[K+304>>2]|0)>>>0<=g>>>0){if((f[K+308>>2]|0)>>>0<=g>>>0)break;I=K+300|0;f[o>>2]=f[I>>2];f[I>>2]=o;break t}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break t}else{I=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break t}}while(0);do if(!((ib[f[(f[m>>2]|0)+48>>2]&255](m)|0)&1024)){e=jb[f[(f[m>>2]|0)+20>>2]&255](m,2)|0;if(!e)break;g=f[m>>2]|0;if(g|0){ib[f[g+4>>2]&255](m)|0;f[m>>2]=0}if(!(f[9328]|0))ob[f[37360>>2]&127](m);else{I=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m)}kb[f[n+28>>2]&127](n,o,0)|0;if(f[K+480>>2]|0){Kc(K,o);break t}g=o;do if((f[K+304>>2]|0)>>>0<=g>>>0){if((f[K+308>>2]|0)>>>0<=g>>>0)break;I=K+300|0;f[o>>2]=f[I>>2];f[I>>2]=o;break t}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break t}else{I=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break t}}while(0);g=0;while(1){if((g|0)>=(f[p>>2]|0)){e=0;g=1;break}e=f[(f[q>>2]|0)+(g<<4)+4>>2]|0;if(!e)e=0;else e=Gg(e,o)|0;if(!e)g=g+1|0;else{g=0;break}}i=f[m>>2]|0;if(i|0){ib[f[i+4>>2]&255](m)|0;f[m>>2]=0}if(!(f[9328]|0))ob[f[37360>>2]&127](m);else{G=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m)}if(!g){if(f[K+480>>2]|0){Kc(K,o);break t}g=o;do if((f[K+304>>2]|0)>>>0<=g>>>0){if((f[K+308>>2]|0)>>>0<=g>>>0)break;I=K+300|0;f[o>>2]=f[I>>2];f[I>>2]=o;break t}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break t}else{I=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break t}}e=kb[f[n+28>>2]&127](n,o,1)|0;n=K+480|0;y:do if(!(f[n>>2]|0)){g=o;do if((f[K+304>>2]|0)>>>0<=g>>>0){if((f[K+308>>2]|0)>>>0<=g>>>0)break;G=K+300|0;f[o>>2]=f[G>>2];f[G>>2]=o;break y}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{G=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else Kc(K,o);while(0);if(e|0)break t;e=f[p>>2]|0;if((e|0)>0){i=0;do{g=f[(f[q>>2]|0)+(i<<4)+4>>2]|0;if(g){Hg(g,1)|0;e=f[p>>2]|0}i=i+1|0}while((i|0)<(e|0))}m=f[r>>2]|0;if(m|0){f[r>>2]=0;if((f[s>>2]|0)>0){k=0;do{l=f[m+(k<<2)>>2]|0;i=l+8|0;e=f[i>>2]|0;do if(e|0){g=f[(f[e>>2]|0)+64>>2]|0;if(!g)break;ib[g&255](e)|0}while(0);f[l+20>>2]=0;g=f[l>>2]|0;F=l+12|0;G=(f[F>>2]|0)+-1|0;f[F>>2]=G;z:do if(!G){e=f[i>>2]|0;if(e|0)ib[f[(f[e>>2]|0)+16>>2]&255](e)|0;do if(g|0){if(f[g+480>>2]|0){Kc(g,l);break z}e=l;if((f[g+304>>2]|0)>>>0>e>>>0)break;if((f[g+308>>2]|0)>>>0<=e>>>0)break;G=g+300|0;f[l>>2]=f[G>>2];f[G>>2]=l;break z}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{G=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);k=k+1|0}while((k|0)<(f[s>>2]|0))}A:do if(!(f[n>>2]|0)){e=m;do if((f[K+304>>2]|0)>>>0<=e>>>0){if((f[K+308>>2]|0)>>>0<=e>>>0)break;G=K+300|0;f[m>>2]=f[G>>2];f[G>>2]=m;break A}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{G=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}else Kc(K,m);while(0);f[s>>2]=0}break q}while(0);do if(K|0){if(f[K+480>>2]|0){Kc(K,o);break t}g=o;if((f[K+304>>2]|0)>>>0>g>>>0)break;if((f[K+308>>2]|0)>>>0<=g>>>0)break;I=K+300|0;f[o>>2]=f[I>>2];f[I>>2]=o;break t}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{I=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else e=7;while(0);I=454;break q}while(0);g=0;while(1){e=f[p>>2]|0;if((g|0)>=(e|0))break;e=f[(f[q>>2]|0)+(g<<4)+4>>2]|0;if(!e)e=0;else e=Gg(e,0)|0;if(!e)g=g+1|0;else{I=454;break q}}if((e|0)>0){e=0;do{g=f[(f[q>>2]|0)+(e<<4)+4>>2]|0;if(g|0?(B=Hg(g,0)|0,B|0):0){e=B;I=454;break q}e=e+1|0}while((e|0)<(f[p>>2]|0))}m=f[r>>2]|0;if(!m)break;f[r>>2]=0;if((f[s>>2]|0)>0){k=0;do{l=f[m+(k<<2)>>2]|0;i=l+8|0;e=f[i>>2]|0;do if(e|0){g=f[(f[e>>2]|0)+64>>2]|0;if(!g)break;ib[g&255](e)|0}while(0);f[l+20>>2]=0;g=f[l>>2]|0;F=l+12|0;G=(f[F>>2]|0)+-1|0;f[F>>2]=G;B:do if(!G){e=f[i>>2]|0;if(e|0)ib[f[(f[e>>2]|0)+16>>2]&255](e)|0;do if(g|0){if(f[g+480>>2]|0){Kc(g,l);break B}e=l;if((f[g+304>>2]|0)>>>0>e>>>0)break;if((f[g+308>>2]|0)>>>0<=e>>>0)break;G=g+300|0;f[l>>2]=f[G>>2];f[G>>2]=l;break B}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{G=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);k=k+1|0}while((k|0)<(f[s>>2]|0))}C:do if(!(f[K+480>>2]|0)){e=m;do if((f[K+304>>2]|0)>>>0<=e>>>0){if((f[K+308>>2]|0)>>>0<=e>>>0)break;G=K+300|0;f[m>>2]=f[G>>2];f[G>>2]=m;break C}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{G=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}else Kc(K,m);while(0);f[s>>2]=0}while(0);D:do if((I|0)==454){switch(e|0){case 0:break D;case 5:break;default:break k}if(!((h[H>>0]|h[H+1>>0]<<8)&256)){e=5;break k}else c=5;t=N;return c|0}while(0);F=K+464|0;I=K+32|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;F=I;G=f[F+4>>2]|0;f[I>>2]=f[F>>2]&-524289;f[I+4>>2]=G;I=K+24|0;f[I>>2]=f[I>>2]&-2;break j}while(0);f[u>>2]=e;Eg(K,0);f[a+44>>2]=0}while(0);f[K+456>>2]=0;I=476}else I=460;E:do if((I|0)==460)if(!c)if(!(f[u>>2]|0)){c=1;I=477}else{switch(b[a+142>>0]|0){case 3:{c=1;I=477;break E}case 2:{c=2;I=477;break E}default:{}}Eg(K,516);i=K+444|0;e=f[i>>2]|0;if(e|0){k=K+480|0;l=K+304|0;m=K+308|0;n=K+300|0;do{f[i>>2]=f[e+24>>2];F:do if(!(f[k>>2]|0)){g=e;do if((f[l>>2]|0)>>>0<=g>>>0){if((f[m>>2]|0)>>>0<=g>>>0)break;f[e>>2]=f[n>>2];f[n>>2]=e;break F}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{I=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}else Kc(K,e);while(0);e=f[i>>2]|0}while((e|0)!=0)}f[K+452>>2]=0;f[K+456>>2]=0;b[K+87>>0]=0;b[K+79>>0]=1;f[a+44>>2]=0;I=476}else I=477;while(0);if((I|0)==476)if(!c)c=0;else I=477;if((I|0)==477)if(((f[(f[a>>2]|0)+456>>2]|0)!=0?(f[a+48>>2]|0)!=0:0)?(J=Jg(a,c)|0,(J|0)!=0):0){I=f[u>>2]|0;if((I|0)==0|(I&255|0)==19){f[u>>2]=J;e=a+108|0;g=f[e>>2]|0;G:do if(g|0){if(f[K+480>>2]|0){Kc(K,g);break}i=g;do if((f[K+304>>2]|0)>>>0<=i>>>0){if((f[K+308>>2]|0)>>>0<=i>>>0)break;J=K+300|0;f[g>>2]=f[J>>2];f[J>>2]=g;break G}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{J=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[e>>2]=0}Eg(K,516);i=K+444|0;e=f[i>>2]|0;if(e|0){k=K+480|0;l=K+304|0;m=K+308|0;n=K+300|0;do{f[i>>2]=f[e+24>>2];H:do if(!(f[k>>2]|0)){g=e;do if((f[l>>2]|0)>>>0<=g>>>0){if((f[m>>2]|0)>>>0<=g>>>0)break;f[e>>2]=f[n>>2];f[n>>2]=e;break H}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{J=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}else Kc(K,e);while(0);e=f[i>>2]|0}while((e|0)!=0)}f[K+452>>2]=0;f[K+456>>2]=0;b[K+87>>0]=0;b[K+79>>0]=1;f[a+44>>2]=0}if((h[H>>0]|h[H+1>>0]<<8)&32){e=a+44|0;if((c|0)==2)c=0;else{c=f[e>>2]|0;J=K+104|0;f[J>>2]=(f[J>>2]|0)+c}f[K+100>>2]=c;f[e>>2]=0}}if((f[v>>2]|0)>-1){c=K+168|0;f[c>>2]=(f[c>>2]|0)+-1;c=h[H>>0]|h[H+1>>0]<<8;if(!(c&256)){c=K+176|0;f[c>>2]=(f[c>>2]|0)+-1;c=h[H>>0]|h[H+1>>0]<<8}if(c&512){K=K+172|0;f[K>>2]=(f[K>>2]|0)+-1}}}f[L>>2]=832317811;c=a+40|0;if(!(b[M>>0]|0)){M=(f[c>>2]|0)==5?5:0;t=N;return M|0}else{f[c>>2]=7;M=0;t=N;return M|0}return 0}function ug(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,k=0,l=0;k=f[a>>2]|0;l=f[a+40>>2]|0;h=a+108|0;if(!(f[h>>2]|0)){a=f[k+256>>2]|0;if(!a){k=k+64|0;f[k>>2]=l;return l|0}c=a+8|0;if(!(d[c>>1]&9216)){d[c>>1]=1;k=k+64|0;f[k>>2]=l;return l|0}else{cf(a);k=k+64|0;f[k>>2]=l;return l|0}}i=k+82|0;b[i>>0]=(b[i>>0]|0)+1<<24>>24;g=k+256|0;a=f[g>>2]|0;do if(!a){a:do if(f[k+272>>2]|0){if(!(b[k+81>>0]|0))e=13}else{do if((j[k+276>>1]|0)>=40){a=k+300|0;c=f[a>>2]|0;if(c|0){f[a>>2]=f[c>>2];e=k+284|0;f[e>>2]=(f[e>>2]|0)+1;e=14;break a}a=k+296|0;c=f[a>>2]|0;if(!c){a=k+292|0;break}else{f[a>>2]=f[c>>2];e=k+284|0;f[e>>2]=(f[e>>2]|0)+1;e=14;break a}}else a=k+288|0;while(0);f[a>>2]=(f[a>>2]|0)+1;e=13}while(0);if((e|0)==13){c=Dc(k,40,0)|0;e=14}if((e|0)==14?c|0:0){a=c;e=a+40|0;do{b[a>>0]=0;a=a+1|0}while((a|0)<(e|0));d[c+8>>1]=1;f[c+32>>2]=k;f[g>>2]=c;a=c;e=17;break}f[g>>2]=0}else e=17;while(0);if((e|0)==17)$e(a,f[h>>2]|0,-1,1,-1)|0;b[i>>0]=(b[i>>0]|0)+-1<<24>>24;k=k+64|0;f[k>>2]=l;return l|0}function vg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;g=t;t=t+16|0;e=g;f[a+64>>2]=b;wg(a,b);if(!c){xg(a,b);t=g;return}b=a+256|0;if((f[b>>2]|0)==0?(h=yg(a)|0,f[b>>2]=h,(h|0)==0):0){t=g;return}f[e>>2]=d;a=zg(a,c,e)|0;b=f[b>>2]|0;if(b|0)$e(b,a,-1,1,139)|0;t=g;return}function wg(a,b){a=a|0;b=b|0;var c=0;if((b|0)==3082)return;if((b&251|4|0)!=14)return;b=f[a>>2]|0;c=f[b+68>>2]|0;if(!c)b=0;else b=kb[c&127](b,0,0)|0;f[a+72>>2]=b;return}function xg(a,b){a=a|0;b=b|0;f[a+64>>2]=b;if(b|0){Bg(a,b);return}if(!(f[a+256>>2]|0))return;Bg(a,0);return}function yg(a){a=a|0;var c=0,e=0,g=0;a:do if(!a)c=Ag(40,0)|0;else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){a=0;return a|0}}else{do if((j[a+276>>1]|0)>=40){e=a+300|0;c=f[e>>2]|0;if(c|0){f[e>>2]=f[c>>2];g=a+284|0;f[g>>2]=(f[g>>2]|0)+1;break a}e=a+296|0;c=f[e>>2]|0;if(!c){c=a+292|0;break}else{f[e>>2]=f[c>>2];g=a+284|0;f[g>>2]=(f[g>>2]|0)+1;break a}}else c=a+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(a,40,0)|0}while(0);if(!c){a=0;return a|0}e=c;g=e+40|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(g|0));d[c+8>>1]=1;f[c+32>>2]=a;a=c;return a|0}function zg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=t;t=t+96|0;h=l+72|0;e=f[a+108>>2]|0;i=h+4|0;f[i>>2]=l;f[h>>2]=a;f[h+8>>2]=70;j=h+12|0;f[j>>2]=e;e=h+16|0;f[e>>2]=0;k=h+20|0;b[k>>0]=0;g=h+21|0;b[g>>0]=1;Bc(h,c,d);c=f[i>>2]|0;if(((c|0)!=0?(b[c+(f[e>>2]|0)>>0]=0,(f[j>>2]|0)!=0):0)?(b[g>>0]&4)==0:0)d=Cc(h)|0;else d=f[i>>2]|0;if((b[k>>0]|0)!=7){t=l;return d|0}c=a+81|0;if(b[c>>0]|0){t=l;return d|0}if(b[a+82>>0]|0){t=l;return d|0}b[c>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;a=a+272|0;f[a>>2]=(f[a>>2]|0)+1;t=l;return d|0}function Ag(a,b){a=a|0;b=b|0;var c=0,d=0;c=KA(a|0,b|0,-1,-1)|0;b=ba()|0;if(b>>>0>0|(b|0)==0&c>>>0>2147483390){c=0;return c|0}if(!(f[9328]|0)){c=ib[f[37356>>2]&255](a)|0;return c|0}c=ib[f[37372>>2]&255](a)|0;if((f[18194]|0)>>>0>>0)f[18194]=a;a=71896;b=f[a>>2]|0;a=f[a+4>>2]|0;if((a|0)>0|(a|0)==0&b>>>0>0){d=f[18187]|0;a=LA(b|0,a|0,c|0,((c|0)<0)<<31>>31|0)|0;b=ba()|0;f[17976]=((b|0)<0|(b|0)==0&a>>>0<=d>>>0)&1}a=ib[f[37356>>2]&255](c)|0;if(!a){d=0;return d|0}b=ib[f[37368>>2]&255](a)|0;b=(f[18187]|0)+b|0;f[18187]=b;if(b>>>0>(f[18191]|0)>>>0)f[18191]=b;b=(f[18190]|0)+1|0;f[18190]=b;if(b>>>0<=(f[18196]|0)>>>0){d=a;return d|0}f[18196]=b;d=a;return d|0}function Bg(a,b){a=a|0;b=b|0;var c=0,e=0;c=f[a+256>>2]|0;do if(c|0){e=c+8|0;if(!(d[e>>1]&9216)){d[e>>1]=1;break}else{cf(c);break}}while(0);if((b|0)==3082)return;if((b&251|4|0)!=14)return;b=f[a>>2]|0;c=f[b+68>>2]|0;if(!c)b=0;else b=kb[c&127](b,0,0)|0;f[a+72>>2]=b;return}function Cg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=f[a>>2]|0;g=h+112|0;d=f[g>>2]|0;e=h+28|0;a:do if(d|0?(c=f[e>>2]|0,(c|0)>0):0){b=0;while(1){d=f[d+(b<<2)>>2]|0;if(d){Dg(h,d);f[(f[g>>2]|0)+(b<<2)>>2]=0;c=f[e>>2]|0}b=b+1|0;if((b|0)>=(c|0))break a;d=f[g>>2]|0}}while(0);f[h+88>>2]=f[a+8>>2];f[h+136>>2]=f[a+52>>2];f[h+92>>2]=f[a+16>>2];f[h+24>>2]=f[a+56>>2];f[g>>2]=f[a+20>>2];f[e>>2]=f[a+44>>2];g=a+32|0;b=f[g+4>>2]|0;i=f[h>>2]|0;j=i+40|0;f[j>>2]=f[g>>2];f[j+4>>2]=b;f[h+44>>2]=f[a+68>>2];f[i+100>>2]=f[a+72>>2];j=h+212|0;b=f[j>>2]|0;if(!b){i=a+40|0;h=f[i>>2]|0;f[j>>2]=h;f[i>>2]=0;a=a+48|0;a=f[a>>2]|0;return a|0}d=i+480|0;e=i+304|0;g=i+308|0;h=i+300|0;if(!i){do{c=f[b+12>>2]|0;if(c|0)ob[c&127](f[b+8>>2]|0);f[j>>2]=f[b+16>>2];if(!(f[9328]|0))ob[f[37360>>2]&127](b);else{i=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b)}b=f[j>>2]|0}while((b|0)!=0);i=a+40|0;h=f[i>>2]|0;f[j>>2]=h;f[i>>2]=0;a=a+48|0;a=f[a>>2]|0;return a|0}do{c=f[b+12>>2]|0;if(c|0)ob[c&127](f[b+8>>2]|0);f[j>>2]=f[b+16>>2];do if(!(f[d>>2]|0)){c=b;if((f[e>>2]|0)>>>0<=c>>>0?(f[g>>2]|0)>>>0>c>>>0:0){f[b>>2]=f[h>>2];f[h>>2]=b;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}}else Kc(i,b);while(0);b=f[j>>2]|0}while((b|0)!=0);i=a+40|0;h=f[i>>2]|0;f[j>>2]=h;f[i>>2]=0;a=a+48|0;a=f[a>>2]|0;return a|0}function Dg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;if(!c)return;switch(b[c>>0]|0){case 1:{e=f[a>>2]|0;a=c+40|0;c=f[a>>2]|0;if(!c)return;ai(e,c);d=f[c+40>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{h=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);do if(e){if(f[e+480>>2]|0){Kc(e,c);break}h=c;if((f[e+304>>2]|0)>>>0<=h>>>0?(f[e+308>>2]|0)>>>0>h>>>0:0){h=e+300|0;f[c>>2]=f[h>>2];f[h>>2]=c}else g=14}else g=14;while(0);do if((g|0)==14)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{h=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[a>>2]=0;return}case 0:{if(!(b[c+5>>0]&1)){ci(f[c+40>>2]|0);return}a=f[c+8>>2]|0;if(!a)return;bi(a);return}case 2:{h=f[c+40>>2]|0;e=f[h>>2]|0;g=f[e>>2]|0;e=e+4|0;f[e>>2]=(f[e>>2]|0)+-1;ib[f[g+28>>2]&255](h)|0;return}default:return}}function Eg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=a+20|0;l=f[m>>2]|0;i=(l|0)>0;if(i){e=f[a+16>>2]|0;d=0;do{g=f[e+(d<<4)+4>>2]|0;if(g|0)f[(f[g+4>>2]|0)+4>>2]=f[g>>2];d=d+1|0}while((d|0)!=(l|0))}if(!(f[a+24>>2]&1))n=0;else n=(b[a+165>>0]|0)==0;if(i){j=a+16|0;k=(n^1)&1;d=0;i=0;g=l;while(1){e=f[(f[j>>2]|0)+(i<<4)+4>>2]|0;if(!e)e=g;else{d=(b[e+8>>0]|0)==2?1:d;Uh(e,c,k);e=f[m>>2]|0}i=i+1|0;if((i|0)>=(e|0)){c=d;break}else g=e}}else c=0;d=a+356|0;l=f[d>>2]|0;if(l|0){f[d>>2]=0;j=a+332|0;if((f[j>>2]|0)>0){i=0;do{k=f[l+(i<<2)>>2]|0;e=k+8|0;d=f[e>>2]|0;if(d|0?(o=f[(f[d>>2]|0)+68>>2]|0,o|0):0)ib[o&255](d)|0;f[k+20>>2]=0;g=f[k>>2]|0;d=k+12|0;m=(f[d>>2]|0)+-1|0;f[d>>2]=m;do if(!m){d=f[e>>2]|0;if(d|0)ib[f[(f[d>>2]|0)+16>>2]&255](d)|0;if(g|0){if(f[g+480>>2]|0){Kc(g,k);break}m=k;if((f[g+304>>2]|0)>>>0<=m>>>0?(f[g+308>>2]|0)>>>0>m>>>0:0){m=g+300|0;f[k>>2]=f[m>>2];f[m>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{m=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);i=i+1|0}while((i|0)<(f[j>>2]|0))}do if(!(f[a+480>>2]|0)){o=l;if((f[a+304>>2]|0)>>>0<=o>>>0?(f[a+308>>2]|0)>>>0>o>>>0:0){o=a+300|0;f[l>>2]=f[o>>2];f[o>>2]=l;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{o=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}else Kc(a,l);while(0);f[j>>2]=0}if(n){d=f[a+4>>2]|0;if(d|0)do{o=d+145|0;n=(h[o>>0]|h[o+1>>0]<<8)&-4|1;b[o>>0]=n;b[o+1>>0]=n>>8;d=f[d+8>>2]|0}while((d|0)!=0);Vh(a)}n=a+464|0;d=a+32|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;n=d;o=f[n+4>>2]|0;f[d>>2]=f[n>>2]&-524289;f[d+4>>2]=o;d=f[a+224>>2]|0;if(!d)return;if((c|0)==0?b[a+79>>0]|0:0)return;ob[d&127](f[a+220>>2]|0);return}function Fg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+112|0;h=n+16|0;l=n+88|0;k=n;e=f[a>>2]|0;m=a+108|0;g=f[m>>2]|0;do if(g|0){if(e|0){if(f[e+480>>2]|0){Kc(e,g);break}j=g;if((f[e+304>>2]|0)>>>0<=j>>>0?(f[e+308>>2]|0)>>>0>j>>>0:0){j=e+300|0;f[g>>2]=f[j>>2];f[j>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{j=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[k>>2]=d;j=f[a>>2]|0;g=f[j+108>>2]|0;i=l+4|0;f[i>>2]=h;f[l>>2]=j;f[l+8>>2]=70;e=l+12|0;f[e>>2]=g;g=l+16|0;f[g>>2]=0;h=l+20|0;b[h>>0]=0;d=l+21|0;b[d>>0]=1;Bc(l,c,k);a=f[i>>2]|0;if(((a|0)!=0?(b[a+(f[g>>2]|0)>>0]=0,(f[e>>2]|0)!=0):0)?(b[d>>0]&4)==0:0)e=Cc(l)|0;else e=f[i>>2]|0;if((b[h>>0]|0)!=7){f[m>>2]=e;t=n;return}a=j+81|0;if(b[a>>0]|0){f[m>>2]=e;t=n;return}if(b[j+82>>0]|0){f[m>>2]=e;t=n;return}b[a>>0]=1;if((f[j+180>>2]|0)>0)f[j+264>>2]=1;l=j+272|0;f[l>>2]=(f[l>>2]|0)+1;f[m>>2]=e;t=n;return} -function gq(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+296|0;h=f[q>>2]|0;if(!h)i=0;else{i=0;do{h=f[h>>2]|0;i=i+1|0}while((h|0)!=0)}p=a+300|0;h=f[p>>2]|0;if(!h)h=0;else{j=0;do{h=f[h>>2]|0;j=j+1|0}while((h|0)!=0);h=j}m=a+280|0;if(((f[m>>2]|0)-(h+i)|0)>0){c=5;return c|0}n=a+272|0;o=a+278|0;do if(b[o>>0]|0?(k=f[a+304>>2]|0,k|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{l=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);l=e&-8;k=(l|0)<5?0:l;i=(g|0)>0?g:0;if(!((g|0)<1|(k|0)==0))if(!c){h=U(k,i)|0;g=KA(h|0,((h|0)<0)<<31>>31|0,-1,-1)|0;e=ba()|0;do if(!(e>>>0>0|(e|0)==0&g>>>0>2147483390)){if(!(f[9328]|0)){j=ib[f[37356>>2]&255](h)|0;break}e=ib[f[37372>>2]&255](h)|0;if((f[18194]|0)>>>0>>0)f[18194]=h;j=71896;h=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&h>>>0>0){g=f[18187]|0;j=LA(h|0,j|0,e|0,((e|0)<0)<<31>>31|0)|0;h=ba()|0;f[17976]=((h|0)<0|(h|0)==0&j>>>0<=g>>>0)&1}j=ib[f[37356>>2]&255](e)|0;if(j){h=ib[f[37368>>2]&255](j)|0;h=(f[18187]|0)+h|0;f[18187]=h;if(h>>>0>(f[18191]|0)>>>0)f[18191]=h;h=(f[18190]|0)+1|0;f[18190]=h;if(h>>>0>(f[18196]|0)>>>0)f[18196]=h}else j=0}else j=0;while(0);if(!j)h=0;else{h=j;i=(ib[f[37368>>2]&255](j)|0)/(l|0)|0}}else h=c;else{h=0;k=0}j=a+304|0;f[j>>2]=h;f[q>>2]=0;f[p>>2]=0;d[a+276>>1]=k;if(!h){f[j>>2]=a;f[a+308>>2]=a;f[n>>2]=1;b[o>>0]=0;f[m>>2]=0;c=0;return c|0}f[m>>2]=i;if((i|0)>0){j=0;while(1){f[h>>2]=j;e=h+k|0;j=h;if((i|0)<=1)break;else{h=e;i=i+-1|0}}f[q>>2]=h;h=e}f[a+308>>2]=h;f[n>>2]=0;b[o>>0]=(c|0)==0&1;c=0;return c|0}function hq(a){a=a|0;return f[a+100>>2]|0}function iq(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+32|0;o=p+24|0;g=p+8|0;e=p;if(!a){o=0;t=p;return o|0}n=a+96|0;d=f[n>>2]|0;a:do if((d|0)>=-264537850)if((d|0)<1266094736)switch(d|0){case -264537850:break a;default:{h=3;break a}}else switch(d|0){case 1266094736:break a;default:{h=3;break a}}else switch(d|0){case -1607883113:break;default:h=3}while(0);if((h|0)==3){f[e>>2]=43146;Ac(21,43101,e);f[g>>2]=40433;f[g+4>>2]=153813;f[g+8>>2]=40460;Ac(21,40408,g);o=21;t=p;return o|0}if(!(b[a+88>>0]&8)){jq(a);d=a+356|0;k=f[d>>2]|0;if(k|0){f[d>>2]=0;i=a+332|0;if((f[i>>2]|0)>0){h=0;do{j=f[k+(h<<2)>>2]|0;g=j+8|0;d=f[g>>2]|0;if(d|0?(m=f[(f[d>>2]|0)+68>>2]|0,m|0):0)ib[m&255](d)|0;f[j+20>>2]=0;e=f[j>>2]|0;d=j+12|0;l=(f[d>>2]|0)+-1|0;f[d>>2]=l;do if(!l){d=f[g>>2]|0;if(d|0)ib[f[(f[d>>2]|0)+16>>2]&255](d)|0;if(e|0){if(f[e+480>>2]|0){Kc(e,j);break}l=j;if((f[e+304>>2]|0)>>>0<=l>>>0?(f[e+308>>2]|0)>>>0>l>>>0:0){l=e+300|0;f[j>>2]=f[l>>2];f[l>>2]=j;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{l=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);h=h+1|0}while((h|0)<(f[i>>2]|0))}do if(!(f[a+480>>2]|0)){m=k;if((f[a+304>>2]|0)>>>0<=m>>>0?(f[a+308>>2]|0)>>>0>m>>>0:0){m=a+300|0;f[k>>2]=f[m>>2];f[m>>2]=k;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{m=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}else Kc(a,k);while(0);f[i>>2]=0}}else{lb[f[a+196>>2]&127](8,f[a+200>>2]|0,a,0)|0;jq(a);d=a+356|0;k=f[d>>2]|0;if(k|0){f[d>>2]=0;i=a+332|0;if((f[i>>2]|0)>0){h=0;do{j=f[k+(h<<2)>>2]|0;e=j+8|0;d=f[e>>2]|0;if(d|0?(l=f[(f[d>>2]|0)+68>>2]|0,l|0):0)ib[l&255](d)|0;f[j+20>>2]=0;g=f[j>>2]|0;d=j+12|0;m=(f[d>>2]|0)+-1|0;f[d>>2]=m;do if(!m){d=f[e>>2]|0;if(d|0)ib[f[(f[d>>2]|0)+16>>2]&255](d)|0;if(g|0){if(f[g+480>>2]|0){Kc(g,j);break}m=j;if((f[g+304>>2]|0)>>>0<=m>>>0?(f[g+308>>2]|0)>>>0>m>>>0:0){m=g+300|0;f[j>>2]=f[m>>2];f[m>>2]=j;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{m=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);h=h+1|0}while((h|0)<(f[i>>2]|0))}do if(!(f[a+480>>2]|0)){m=k;if((f[a+304>>2]|0)>>>0<=m>>>0?(f[a+308>>2]|0)>>>0>m>>>0:0){m=a+300|0;f[k>>2]=f[m>>2];f[m>>2]=k;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{m=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}else Kc(a,k);while(0);f[i>>2]=0}}b:do if(!c){c:do if(!(f[a+4>>2]|0)){e=f[a+20>>2]|0;if((e|0)<=0)break b;g=f[a+16>>2]|0;d=0;while(1){c=f[g+(d<<4)+4>>2]|0;if(c|0?f[c+16>>2]|0:0)break c;d=d+1|0;if((d|0)>=(e|0))break b}}while(0);vg(a,5,59748,o);o=5;t=p;return o|0}while(0);f[n>>2]=1691352191;Ii(a);o=0;t=p;return o|0}function jq(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;kq(a);g=a+20|0;if((f[g>>2]|0)>0){h=a+16|0;e=0;do{b=f[(f[h>>2]|0)+(e<<4)+12>>2]|0;if(b|0?(d=f[b+16>>2]|0,d|0):0){b=d;do{c=f[b+8>>2]|0;if(f[c+56>>2]|0)lq(a,c);b=f[b>>2]|0}while((b|0)!=0)}e=e+1|0}while((e|0)<(f[g>>2]|0))}b=f[a+344>>2]|0;if(!b){Xh(a);return}do{c=f[(f[b+8>>2]|0)+16>>2]|0;if(c|0)lq(a,c);b=f[b>>2]|0}while((b|0)!=0);Xh(a);return}function kq(a){a=a|0;var b=0,c=0,d=0;d=f[a+20>>2]|0;if((d|0)<=0)return;b=f[a+16>>2]|0;a=0;do{c=f[b+(a<<4)+4>>2]|0;if(c|0)f[(f[c+4>>2]|0)+4>>2]=f[c>>2];a=a+1|0}while((a|0)<(d|0));return}function lq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;b=b+64|0;c=f[b>>2]|0;if(!c)return;while(1){d=c+24|0;if((f[c>>2]|0)==(a|0))break;c=f[d>>2]|0;if(!c){e=6;break}else b=d}if((e|0)==6)return;f[b>>2]=f[d>>2];_h(c);return}function mq(a){a=a|0;return iq(a,1)|0}function nq(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;c=Zm(a,c,d,e,g,h,i,j,0,0,0)|0;if((c|0)==3082|(b[a+81>>0]|0)!=0){Di(a);a=7;return a|0}else{a=f[a+68>>2]&c;return a|0}return 0}function oq(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return pq(a,b,c,d,e,f,g,h,0,0,i)|0}function pq(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0;do if(l){m=Ag(12,0)|0;if(!m){vm(a);ob[l&127](e);b=1;break}f[m>>2]=0;f[m+4>>2]=l;f[m+8>>2]=e;b=Zm(a,b,c,d,e,g,h,i,j,k,m)|0;if(!(f[m>>2]|0)){ob[l&127](e);he(m)}}else b=Zm(a,b,c,d,e,g,h,i,j,k,0)|0;while(0);return qq(a,b)|0}function qq(a,c){a=a|0;c=c|0;if((c|0)==3082|(b[a+81>>0]|0)!=0){Di(a);c=7;return c|0}else{c=f[a+68>>2]&c;return c|0}return 0}function rq(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=t;t=t+16|0;if(Rk(a,c,d,1,0)|0){a=0;t=j;return a|0}i=wd(c,j)|0;if(!i){a=7;t=j;return a|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](12)|0;if(!e)h=14;else{g=e;h=22}}else{e=ib[f[37372>>2]&255](12)|0;if((f[18194]|0)>>>0<12)f[18194]=12;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){k=f[18187]|0;h=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&h>>>0<=k>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(g){e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0){f[18196]=e;h=22}else h=22}else h=14}do if((h|0)==14){e=a+81|0;if((b[e>>0]|0)==0?(b[a+82>>0]|0)==0:0){b[e>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;k=a+272|0;f[k>>2]=(f[k>>2]|0)+1}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);e=1;break}else{e=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);e=1;break}}else if((h|0)==22){f[g>>2]=0;f[g+4>>2]=101;f[g+8>>2]=i;e=Zm(a,c,d,1,i,192,0,0,0,0,g)|0;if(!(f[g>>2]|0)){if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{k=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{k=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}}while(0);if((e|0)==3082|(b[a+81>>0]|0)!=0){Di(a);k=7;t=j;return k|0}else{k=f[a+68>>2]&e;t=j;return k|0}return 0}function sq(a,b,c){a=a|0;b=b|0;c=c|0;c=t;t=t+16|0;b=c;f[b>>2]=f[(f[a+4>>2]|0)+8>>2];b=wd(59816,b)|0;f[a+20>>2]=1;$e(f[a>>2]|0,b,-1,1,-1)|0;if(!b){t=c;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);t=c;return}else{a=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);t=c;return}}function tq(a,b){a=a|0;b=b|0;return uq(a,b,6,0)|0}function uq(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=t;t=t+160|0;G=I+136|0;F=I+128|0;A=I+112|0;z=I+104|0;y=I+96|0;w=I+80|0;v=I+72|0;u=I+64|0;q=I+48|0;x=I;r=I+156|0;H=I+152|0;s=I+148|0;f[r>>2]=d;f[H>>2]=0;f[s>>2]=0;f[c>>2]=0;g=Mc()|0;if(g|0){H=g;t=I;return H|0}if((d&32768|0)==0&(f[9329]|0)!=0)k=(d&65536|0)==0?f[9330]|0:1;else k=0;if(!(d&262144)){if(f[9382]|0){d=d|131072;f[r>>2]=d}}else{d=d&-131073;f[r>>2]=d}p=d&-655129;f[r>>2]=p;if(!(f[9328]|0)){g=ib[f[37356>>2]&255](488)|0;if(!g){g=0;D=199}else D=19}else{g=ib[f[37372>>2]&255](488)|0;if((f[18194]|0)>>>0<488)f[18194]=488;j=71896;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){E=f[18187]|0;D=LA(i|0,j|0,g|0,((g|0)<0)<<31>>31|0)|0;C=ba()|0;f[17976]=((C|0)<0|(C|0)==0&D>>>0<=E>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(g){i=ib[f[37368>>2]&255](g)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;D=19}else D=19}else{g=0;D=199}}a:do if((D|0)==19){_A(g|0,0,488)|0;if(k|0)f[g+12>>2]=8;C=g+68|0;f[C>>2]=255;f[g+20>>2]=2;E=g+96|0;f[E>>2]=-264537850;n=g+16|0;f[n>>2]=g+412;o=g+272|0;f[o>>2]=1;j=g+108|0;k=23456;l=j+44|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));f[g+152>>2]=0;b[g+79>>0]=1;b[g+84>>0]=-1;m=37496;B=f[m+4>>2]|0;i=g+48|0;f[i>>2]=f[m>>2];f[i+4>>2]=B;f[g+92>>2]=0;f[g+156>>2]=2147483647;i=g+32|0;f[i>>2]=295008;f[i+4>>2]=0;i=g+380|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;B=g+336|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;vq(g,43030,1,0,85,0)|0;vq(g,43030,3,0,85,0)|0;vq(g,43030,2,0,85,0)|0;vq(g,56947,1,0,86,0)|0;vq(g,59867,1,1,85,0)|0;B=g+81|0;b:do if(!(b[B>>0]|0)){k=f[g+392>>2]|0;if(!k){j=g+384|0;i=g+388|0}else{i=783505461%((f[i>>2]|0)>>>0)|0;j=k+(i<<3)|0;i=k+(i<<3)+4|0}j=f[j>>2]|0;c:do if(!j)i=72124;else while(1){i=f[i>>2]|0;j=j+-1|0;l=f[i+12>>2]|0;m=b[l>>0]|0;k=(h[1232+(m&255)>>0]|0)+-98|0;if(!(m<<24>>24==0|(k|0)!=0)){m=43030;do{l=l+1|0;m=m+1|0;J=b[l>>0]|0;k=(h[1232+(J&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(J<<24>>24==0|(k|0)!=0))}if(!k)break c;if(!j){i=72124;break}}while(0);f[g+8>>2]=f[i+8>>2];f[g+60>>2]=p;d:do if(!(1<<(d&7)&70)){f[q>>2]=40433;f[q+4>>2]=155840;f[q+8>>2]=40460;Ac(21,40408,q);i=21}else{i=Sm(e,a,r,g,H,s)|0;switch(i|0){case 0:break;case 7:{if(b[B>>0]|0){i=7;break d}if(b[g+82>>0]|0){i=7;break d}b[B>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;f[o>>2]=(f[o>>2]|0)+1;i=7;break d}default:break d}d=cj(f[g>>2]|0,f[H>>2]|0,g,(f[n>>2]|0)+4|0,0,f[r>>2]|256)|0;e:do if((d|0)<3082){switch(d|0){case 0:break;default:{D=45;break e}}d=f[(f[n>>2]|0)+4>>2]|0;f[(f[d+4>>2]|0)+4>>2]=f[d>>2];d=Tm(g,d)|0;f[(f[n>>2]|0)+12>>2]=d;if(!(b[B>>0]|0))b[g+78>>0]=b[d+77>>0]|0;D=Tm(g,0)|0;J=f[n>>2]|0;f[J+28>>2]=D;f[J>>2]=42464;b[J+8>>0]=3;f[J+16>>2]=59743;b[J+24>>0]=1;f[E>>2]=-1607883113;if(b[B>>0]|0){D=199;break a}p=g+64|0;f[p>>2]=0;if(f[g+256>>2]|0)Bg(g,0);do if((rq(g,59873,2)|0)==7?(b[B>>0]|0)==0:0){if(b[g+82>>0]|0)break;b[B>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;f[o>>2]=(f[o>>2]|0)+1}while(0);d=f[E>>2]|0;f:do if((d|0)>=-264537850)if((d|0)<1266094736)switch(d|0){case -264537850:{D=60;break f}default:{D=59;break f}}else switch(d|0){case 1266094736:{D=60;break f}default:{D=59;break f}}else switch(d|0){case -1607883113:{D=60;break}default:D=59}while(0);g:do if((D|0)==59){f[v>>2]=43146;Ac(21,43101,v);f[w>>2]=40433;f[w+4>>2]=155189;f[w+8>>2]=40460;Ac(21,40408,w);d=21;D=193}else if((D|0)==60){if(b[B>>0]|0){d=7;D=193;break}d=f[C>>2]&f[p>>2];if(d|0){D=193;break}if(Mc()|0){d=7;D=193;break}do if(!(f[9328]|0)){d=ib[f[37356>>2]&255](48)|0;if(!d){d=7;D=193;break g}else i=d}else{d=ib[f[37372>>2]&255](48)|0;if((f[18194]|0)>>>0<48)f[18194]=48;j=71896;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){J=f[18187]|0;w=LA(i|0,j|0,d|0,((d|0)<0)<<31>>31|0)|0;v=ba()|0;f[17976]=((v|0)<0|(v|0)==0&w>>>0<=J>>>0)&1}i=ib[f[37356>>2]&255](d)|0;if(!i){d=7;D=193;break g}d=ib[f[37368>>2]&255](i)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0<=(f[18196]|0)>>>0)break;f[18196]=d}while(0);j=i;l=j+48|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(l|0));f[i+16>>2]=g;f[i>>2]=2;l=i+12|0;f[l>>2]=87;m=i+4|0;f[m>>2]=88;f[i+8>>2]=86;d=dq(g,59879,38432,i,107)|0;if(d|0){D=193;break}d=Zm(g,59884,2,1,0,193,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=193;break}d=f[C>>2]&d;if(d|0){D=193;break}d=Zm(g,59896,2,1,g,193,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=193;break}d=f[C>>2]&d;if(d|0){D=193;break}d=Zm(g,59913,-1,1,0,194,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=193;break}d=f[C>>2]&d;if(d|0){D=193;break}k=0;do{d=Zm(g,f[23504+(k<<3)>>2]|0,-1,1,i,f[23504+(k<<3)+4>>2]|0,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){D=86;break}d=f[C>>2]&d;k=k+1|0;j=(d|0)==0}while(k>>>0<4&j);if((D|0)==86){Di(g);d=7;D=193;break}if(!j){D=193;break}j=0;do{d=mb[f[l>>2]&127](i,f[23536+(j<<4)>>2]|0,f[23536+(j<<4)+4>>2]|0,f[23536+(j<<4)+8>>2]|0,f[23536+(j<<4)+12>>2]|0)|0;j=j+1|0;k=(d|0)==0}while(j>>>0<3&k);if(!k){D=193;break}j=x;k=23584;l=j+48|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=0;do{d=mb[f[m>>2]&127](i,f[x+(j<<4)>>2]|0,i,x+(j<<4)+4|0,0)|0;j=j+1|0;k=(d|0)==0}while(j>>>0<3&k);if(!k){D=193;break}d=dq(g,59924,38528,i,0)|0;if(d|0){D=193;break}d=Zm(g,59879,1,1,i,195,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=193;break}d=f[C>>2]&d;if(d|0){D=193;break}d=Zm(g,59934,0,1,i,196,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=193;break}d=f[C>>2]&d;if(d|0){D=193;break}h:do if(0){d=1;k=0;i=0;do{j=f[0+(k<<2)>>2]|0;f[x>>2]=0;if(j){i=kb[j&127](g,x,0)|0;if(i){f[y>>2]=f[x>>2];vg(g,i,59949,y);d=0}i=f[x>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{J=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);if(!d)break h;else i=0}k=k+1|0}while(k>>>0>>0)}while(0);d=f[E>>2]|0;i:do if((d|0)>=-264537850)if((d|0)<1266094736)switch(d|0){case -264537850:break i;default:{D=116;break i}}else switch(d|0){case 1266094736:break i;default:{D=116;break i}}else switch(d|0){case -1607883113:break;default:D=116}while(0);if((D|0)==116){f[z>>2]=43146;Ac(21,43101,z);f[A>>2]=40433;f[A+4>>2]=155189;f[A+8>>2]=40460;Ac(21,40408,A);break b}if(b[B>>0]|0)break b;if(f[C>>2]&f[p>>2]|0)break b;d=cq(g,59988,38624,0)|0;if(d|0){D=193;break}if(Mc()|0){d=7;D=193;break}do if(!(f[9328]|0)){d=ib[f[37356>>2]&255](20)|0;if(!d){d=7;D=193;break g}else i=d}else{d=ib[f[37372>>2]&255](20)|0;if((f[18194]|0)>>>0<20)f[18194]=20;j=71896;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){J=f[18187]|0;A=LA(i|0,j|0,d|0,((d|0)<0)<<31>>31|0)|0;z=ba()|0;f[17976]=((z|0)<0|(z|0)==0&A>>>0<=J>>>0)&1}i=ib[f[37356>>2]&255](d)|0;if(!i){d=7;D=193;break g}d=ib[f[37368>>2]&255](i)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0<=(f[18196]|0)>>>0)break;f[18196]=d}while(0);b[i>>0]=1;m=i+1|0;b[m>>0]=1;n=i+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;do if(!(Fq(i,59996,7,38720)|0)){if(Fq(i,60003,7,38748)|0){d=7;D=149;break}if(Fq(i,60010,10,38776)|0){d=7;D=149;break}d=Zm(g,60020,1,5,i,197,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=149;break}d=f[C>>2]&d;if(d|0){D=149;break}d=Zm(g,60020,2,5,i,197,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=149;break}d=f[C>>2]&d;if(d|0){D=149;break}d=rq(g,60035,-1)|0;if(d|0){D=149;break}d=rq(g,60043,1)|0;if(d|0){D=149;break}d=rq(g,60051,1)|0;if(d|0){D=149;break}d=rq(g,60051,2)|0;if(d|0){D=149;break}d=rq(g,48511,1)|0;if(d|0){D=149;break}d=dq(g,60061,38804,i,108)|0;if(d|0){D=193;break g}d=dq(g,60066,38804,i,0)|0;if(d|0){D=193;break g}d=cq(g,60071,38900,i)|0}else{d=7;D=149}while(0);do if((D|0)==149){k=i+8|0;j=f[k>>2]|0;f[k>>2]=0;k=i+16|0;l=f[k>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{J=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);f[k>>2]=0;f[i+12>>2]=0;if(j|0)do{k=j;j=f[j>>2]|0;do if(b[m>>0]|0){l=f[k+12>>2]|0;if(!l)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{J=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{J=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}}while((j|0)!=0);f[n>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{J=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);i=b[B>>0]|0;if((d|0)==0&i<<24>>24==0){d=Zm(g,60084,2,1,0,198,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=193;break}d=f[C>>2]&d;if(d|0){D=193;break}d=Zm(g,60094,1,1,0,199,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=193;break}d=f[C>>2]&d;if(d|0){D=193;break}d=Zm(g,60105,-1,1,0,200,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=193;break}d=f[C>>2]&d;if(d|0){D=193;break}d=dq(g,60116,38996,0,0)|0;if(d|0){D=193;break}d=dq(g,60122,38996,1,0)|0;i=b[B>>0]|0}if((d|0)==0&i<<24>>24==0){j=0;do{d=Zm(g,f[23632+(j<<4)>>2]|0,f[23632+(j<<4)+4>>2]|0,2049,23632+(j<<4)+8|0,f[23632+(j<<4)+12>>2]|0,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){D=182;break}d=f[C>>2]&d;j=j+1|0;i=(d|0)==0}while(j>>>0<15&i);if((D|0)==182){Di(g);d=7;D=193;break}if(!i){D=193;break}j=0;while(1){d=Zm(g,f[23872+(j*20|0)>>2]|0,f[23872+(j*20|0)+4>>2]|0,2049,0,0,f[23872+(j*20|0)+8>>2]|0,f[23872+(j*20|0)+12>>2]|0,f[23872+(j*20|0)+16>>2]|0,201,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){D=187;break}d=f[C>>2]&d;i=(d|0)==0;if((j+1|0)>>>0<2&i)j=1;else break}if((D|0)==187){Di(g);d=7;D=193;break}if(!i){D=193;break}d=cq(g,60132,39092,0)|0;if(d|0){D=193;break}d=cq(g,60142,39188,0)|0}if(d|0)D=193}while(0);if((D|0)==193){f[p>>2]=d;Bg(g,d)}gq(g,0,f[9336]|0,f[9337]|0)|0;f[g+236>>2]=85;f[g+240>>2]=1e3;break b}else switch(d|0){case 3082:{d=7;break}default:D=45}while(0);f[g+64>>2]=d;Bg(g,d);break b}while(0);d=f[s>>2]|0;J=(d|0)==0;f[u>>2]=d;vg(g,i,J?0:40840,u);if(!J)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{J=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);d=f[E>>2]|0;j:do if((d|0)>=-264537850)if((d|0)<1266094736)switch(d|0){case -264537850:{D=197;break j}default:{D=196;break j}}else switch(d|0){case 1266094736:{D=197;break j}default:{D=196;break j}}else switch(d|0){case -1607883113:{D=197;break}default:D=196}while(0);if((D|0)==196){f[F>>2]=43146;Ac(21,43101,F);f[G>>2]=40433;f[G+4>>2]=155189;f[G+8>>2]=40460;Ac(21,40408,G);d=21}else if((D|0)==197){if(b[B>>0]|0){D=199;break}d=f[C>>2]&f[g+64>>2];switch(d|0){case 7:{D=199;break a}case 0:break a;default:{}}}f[E>>2]=1266094736}while(0);if((D|0)==199){iq(g,0)|0;d=7;g=0}f[c>>2]=g;g=f[H>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{J=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);J=d&255;t=I;return J|0}function vq(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;u=t;t=t+32|0;k=u+16|0;j=u;s=d&255;switch(d<<24>>24){case 4:case 8:{r=2;break}default:if((s+-1|0)>>>0>2){f[j>>2]=40433;f[j+4>>2]=155246;f[j+8>>2]=40460;Ac(21,40408,j);s=21;t=u;return s|0}else r=s}q=r&255;j=_k(a,q,c,0)|0;if(j|0?f[j+12>>2]|0:0){if(f[a+168>>2]|0){vg(a,5,71747,k);s=5;t=u;return s|0}d=f[a+4>>2]|0;if(d|0)do{p=d+145|0;o=(h[p>>0]|h[p+1>>0]<<8)&-4|1;b[p>>0]=o;b[p+1>>0]=o>>8;d=f[d+8>>2]|0}while((d|0)!=0);p=j+4|0;d=b[p>>0]|0;if((r|0)==(d&-9&255|0)){m=f[a+392>>2]|0;if(!m){k=a+384|0;j=a+388|0}else{k=b[c>>0]|0;if(!(k<<24>>24))j=0;else{j=0;l=c;do{l=l+1|0;j=U(j+(h[1232+(k&255)>>0]|0)|0,-1640531535)|0;k=b[l>>0]|0}while(k<<24>>24!=0)}j=(j>>>0)%((f[a+380>>2]|0)>>>0)|0;k=m+(j<<3)|0;j=m+(j<<3)+4|0}k=f[k>>2]|0;a:do if(!k)j=72124;else{o=h[1232+(h[c>>0]|0)>>0]|0;while(1){j=f[j>>2]|0;k=k+-1|0;m=f[j+12>>2]|0;n=b[m>>0]|0;l=(h[1232+(n&255)>>0]|0)-o|0;if(!(n<<24>>24==0|(l|0)!=0)){n=c;do{m=m+1|0;n=n+1|0;v=b[m>>0]|0;l=(h[1232+(v&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(v<<24>>24==0|(l|0)!=0))}if(!l)break a;if(!k){j=72124;break}}}while(0);k=f[j+8>>2]|0;if((b[k+4>>0]|0)==d<<24>>24){j=f[k+16>>2]|0;if(j){ob[j&127](f[k+8>>2]|0);d=b[p>>0]|0}f[k+12>>2]=0}if((b[k+24>>0]|0)==d<<24>>24){j=f[k+36>>2]|0;if(j){ob[j&127](f[k+28>>2]|0);d=b[p>>0]|0}f[k+32>>2]=0}if((b[k+44>>0]|0)==d<<24>>24){d=f[k+56>>2]|0;if(d|0)ob[d&127](f[k+48>>2]|0);f[k+52>>2]=0}}}d=_k(a,q,c,1)|0;if(!d){v=7;t=u;return v|0}f[d+12>>2]=g;f[d+8>>2]=e;f[d+16>>2]=i;b[d+4>>0]=r|s&8;f[a+64>>2]=0;if(!(f[a+256>>2]|0)){v=0;t=u;return v|0}Bg(a,0);v=0;t=u;return v|0}function wq(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0;a=(c|0)<(e|0)?c:e;a:do if(d){if(!f){k=1;return k|0}if((a|0)>0){i=f;g=a;while(1){a=b[d>>0]|0;if(!(a<<24>>24)){k=7;break}f=b[1232+(a&255)>>0]|0;a=b[1232+(h[i>>0]|0)>>0]|0;if(f<<24>>24!=a<<24>>24){k=9;break}if((g|0)>1){d=d+1|0;i=i+1|0;g=g+-1|0}else break a}if((k|0)==7){d=0;a=b[1232+(h[i>>0]|0)>>0]|0}else if((k|0)==9)d=f&255;j=d-(a&255)|0;k=12}}else{j=((f|0)!=0)<<31>>31;k=12}while(0);if((k|0)==12?j|0:0){k=j;return k|0}k=c-e|0;return k|0}function xq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=rq(f[a+16>>2]|0,b,-1)|0;if(g|0){e=g;return e|0}i=wz(b)|0;g=i+25|0;h=Fd(g)|0;if(!h){e=7;return e|0}_A(h|0,0,g|0)|0;g=h+24|0;f[h+4>>2]=g;YA(g|0,b|0,i+1|0)|0;f[h>>2]=a;f[h+8>>2]=c;f[h+12>>2]=d;f[h+16>>2]=e;e=a+32|0;f[h+20>>2]=f[e>>2];f[e>>2]=h;e=0;return e|0}function yq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=wz(b)|0;h=g+29|0;i=Fd(h)|0;if(!i){i=7;return i|0}_A(i|0,0,h|0)|0;h=i+28|0;f[i>>2]=h;YA(h|0,b|0,g+1|0)|0;f[i+4>>2]=c;g=i+8|0;f[g>>2]=f[d>>2];f[g+4>>2]=f[d+4>>2];f[g+8>>2]=f[d+8>>2];f[i+20>>2]=e;g=a+36|0;h=f[g>>2]|0;f[i+24>>2]=h;f[g>>2]=i;if(h|0){i=0;return i|0}f[a+40>>2]=i;i=0;return i|0}function zq(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0;a:do if(c){a=f[a+36>>2]|0;if(a|0)do{i=f[a>>2]|0;if(i|0){j=b[c>>0]|0;g=(h[1232+(j&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0;if(!(j<<24>>24==0|(g|0)!=0)){j=c;do{j=j+1|0;i=i+1|0;m=b[j>>0]|0;g=(h[1232+(m&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(m<<24>>24==0|(g|0)!=0))}if(!g){k=a;l=11;break a}}a=f[a+24>>2]|0}while((a|0)!=0)}else{k=f[a+40>>2]|0;l=11}while(0);if((l|0)==11?k|0:0){m=k+8|0;f[e>>2]=f[m>>2];f[e+4>>2]=f[m+4>>2];f[e+8>>2]=f[m+8>>2];f[d>>2]=f[k+4>>2];m=0;return m|0};f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;m=1;return m|0}function Aq(a){a=a|0;var b=0,c=0,d=0;b=f[a+32>>2]|0;if(b|0)do{c=b;b=f[b+20>>2]|0;d=f[c+16>>2]|0;if(d|0)ob[d&127](f[c+8>>2]|0);if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((b|0)!=0);b=f[a+36>>2]|0;if(b|0){do{c=b;b=f[b+24>>2]|0;d=f[c+20>>2]|0;if(d|0)ob[d&127](f[c+4>>2]|0);if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((b|0)!=0);if(!a)return}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{d=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Bq(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=t;t=t+224|0;A=Q+200|0;z=Q+192|0;D=Q+176|0;C=Q+168|0;y=Q+152|0;x=Q+144|0;w=Q+128|0;v=Q+112|0;M=Q+104|0;I=Q+96|0;s=Q+80|0;q=Q+64|0;o=Q+56|0;n=Q+48|0;K=Q+32|0;O=Q+212|0;L=Q+208|0;r=Q;f[L>>2]=0;m=(f[(f[a+4>>2]|0)+8>>2]|0)==0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;c=f[e>>2]|0;g=j[c+8>>1]|0;do if(!(g&4)){if(g&8|0){k=Fc(+p[c>>3])|0;l=ba()|0;break}if(!(g&18)){k=0;l=0}else{k=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;l=ba()|0}}else{l=c;k=f[l>>2]|0;l=f[l+4>>2]|0}while(0);e=e+4|0;i=f[e>>2]|0;c=d[i+8>>1]|0;if((c&2)!=0?(b[i+10>>0]|0)==1:0){G=f[i+12>>2]|0;c=i}else H=10;do if((H|0)==10){g=c&65535;if(!(g&16)){if(g&1|0){G=0;c=i;break}G=_e(i,1)|0;c=f[e>>2]|0;break}else{c=f[i+12>>2]|0;if(!(g&16384)){G=c;c=i;break}G=(f[i>>2]|0)+c|0;c=i;break}}while(0);c=lf(c)|0;F=Fd(G+8|0)|0;do if(!F)if((G|0)>-8){f[L>>2]=7;N=7;H=193}else H=190;else{_A(F+G|0,0,(G>>>0>4294967287?0:8)|0)|0;YA(F|0,c|0,G|0)|0;i=k&2147483647;c=VA(k|0,l|0,37)|0;ba()|0;c=c&65535;g=(c|0)==0;do if(g)if((k|0)==1&(l|0)==0){px(L,O,69864,n);H=30;break}else{px(L,O,69876,o);H=23;break}else{H=VA(k|0,l|0,31)|0;ba()|0;f[q>>2]=0==0&(l&16|0)==0?72788:69888;f[q+4>>2]=c;f[q+8>>2]=H&31;f[q+12>>2]=i;px(L,O,69895,q);H=23}while(0);a:do if((H|0)==23){if(!(0==0&(l&16|0)==0)){f[K>>2]=F;f[K+4>>2]=G;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;f[r+16>>2]=0;f[r+20>>2]=0;f[r+24>>2]=0;f[r+28>>2]=0;f[r>>2]=K;e=r+16|0;f[e>>2]=i;Ev(r)|0;c=r+8|0;if(!(f[c>>2]|0)){g=r+24|0;do{D=g;C=f[D>>2]|0;D=f[D+4>>2]|0;f[s>>2]=f[e>>2];E=s+8|0;f[E>>2]=C;f[E+4>>2]=D;px(L,O,69921,s);Ev(r)|0}while(!(f[c>>2]|0))}break}if(g){if((k|0)==1&(l|0)==0){H=30;break}f[K>>2]=0;c=hw(F,G,0,K)|0;do if(!c){k=f[K>>2]|0;l=k+20|0;c=f[l>>2]|0;if((c|0)<=0){if(!k)break}else{i=0;do{D=f[k+24+(i*12|0)>>2]|0;g=k+24+(i*12|0)+4|0;E=f[g>>2]|0;f[v>>2]=i;f[v+4>>2]=D;f[v+8>>2]=E;px(L,O,69936,v);if((f[g>>2]|0)>0){e=k+24+(i*12|0)+8|0;c=0;do{C=f[e>>2]|0;D=f[C+(c*12|0)+4>>2]|0;E=f[C+(c*12|0)+8>>2]|0;f[w>>2]=f[C+(c*12|0)>>2];f[w+4>>2]=D;f[w+8>>2]=E;px(L,O,69963,w);c=c+1|0}while((c|0)<(f[g>>2]|0))}px(L,O,68896,x);i=i+1|0;c=f[l>>2]|0}while((i|0)<(c|0))}E=f[k>>2]|0;f[k>>2]=E+-1;if((E|0)<2){if((c|0)>0){c=0;do{g=f[k+24+(c*12|0)+8>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{E=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);c=c+1|0}while((c|0)<(f[l>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{E=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}}else f[L>>2]=c;while(0);break}if(!m){u=h[F+2>>0]<<8|h[F+3>>0];if((G|0)>(u|0)){g=F+u|0;c=h[g>>0]|0;do if(c&128){e=h[g+1>>0]|0;if(!(e&128)){g=2;c=c<<7&16256|e;break}i=h[g+2>>0]|0;if(!(i&128)){g=3;c=(c<<14|i)&2080895|e<<7&16256;break}else{g=yv(g,K)|0;g=g&255;c=f[K>>2]|0;break}}else g=1;while(0);o=g+u|0}else{o=u;c=u}k=F+4|0;l=c+-4|0;if((c|0)>4){g=0;m=0;n=0;do{g=g+((yv(k+g|0,K)|0)&255)|0;B=K;m=KA(f[B>>2]|0,f[B+4>>2]|0,m|0,n|0)|0;n=ba()|0;if((g|0)<(l|0)?(b[k+g>>0]|0)==0:0){e=g+1|0;if((e|0)<(l|0)){B=(b[k+e>>0]|0)==0;i=B?69986:50775;g=B?g+2|0:e}else{i=50775;g=e}}else i=72788;B=y;f[B>>2]=m;f[B+4>>2]=n;f[y+8>>2]=i;px(L,O,69988,y)}while((g|0)<(l|0))}if((c|0)>=(u|0))break;g=c;s=0;n=c;e=0;m=0;while(1){c=F+g|0;i=h[c>>0]|0;do if(i&128){k=h[c+1>>0]|0;if(!(k&128)){c=2;i=i<<7&16256|k;break}l=h[c+2>>0]|0;if(!(l&128)){c=3;i=(i<<14|l)&2080895|k<<7&16256;break}else{c=yv(c,K)|0;c=c&255;i=f[K>>2]|0;break}}else c=1;while(0);l=c+g|0;k=F+l|0;b:do if(!i){r=e;q=m;c=s}else{c=i+s|0;do if(c>>>0>m>>>0){g=(m|0)==0?64:m;while(1)if(g>>>0>>0)g=g<<1;else break;if((Mc()|0)==0?(E=Nc(e,(g|0)>0?g:0,0)|0,E|0):0){e=E;break}f[L>>2]=7;r=e;q=m;c=s;break b}else g=m;while(0);YA(e+s|0,k|0,i|0)|0;r=e;q=g}while(0);f[C>>2]=c;f[C+4>>2]=r;px(L,O,69996,C);k=l+i|0;if((o|0)<(G|0)){g=F+o|0;c=h[g>>0]|0;do if(c&128){e=h[g+1>>0]|0;if(!(e&128)){g=2;c=c<<7&16256|e;break}i=h[g+2>>0]|0;if(!(i&128)){g=3;c=(c<<14|i)&2080895|e<<7&16256;break}else{g=yv(g,K)|0;g=g&255;c=f[K>>2]|0;break}}else g=1;while(0);o=g+o|0;n=c+n|0}else n=u;m=F+k|0;i=n-k|0;if((i|0)>0){c=0;k=0;l=0;do{c=c+((yv(m+c|0,K)|0)&255)|0;B=K;k=KA(f[B>>2]|0,f[B+4>>2]|0,k|0,l|0)|0;l=ba()|0;do if((c|0)<(i|0)){if(b[m+c>>0]|0){e=72788;break}g=c+1|0;if((g|0)>=(i|0)){e=50775;c=g;break}B=(b[m+g>>0]|0)==0;e=B?69986:50775;c=B?c+2|0:g}else e=72788;while(0);B=D;f[B>>2]=k;f[B+4>>2]=l;f[D+8>>2]=e;px(L,O,69988,D)}while((c|0)<(i|0))}if((n|0)<(u|0)){g=F+n|0;c=h[g>>0]|0;do if(c&128){e=h[g+1>>0]|0;if(!(e&128)){g=2;c=c<<7&16256|e;break}i=h[g+2>>0]|0;if(!(i&128)){g=3;c=(c<<14|i)&2080895|e<<7&16256;break}else{g=yv(g,K)|0;g=g&255;c=f[K>>2]|0;break}}else g=1;while(0);g=g+n|0}else{g=n;c=s}if((g|0)<(u|0)){s=c;e=r;m=q}else break}if(!r)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{E=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}if((G|0)<4){i=O+4|0;f[i>>2]=0;e=O+8|0;c=f[e>>2]|0;do if(c>>>0<7){c=(c|0)==0?64:c;while(1)if(c>>>0<7)c=c<<1;else break;g=f[O>>2]|0;if((Mc()|0)==0?(u=Nc(g,(c|0)>0?c:0,0)|0,u|0):0){f[e>>2]=c;f[O>>2]=u;c=u;break}f[L>>2]=7;break a}else c=f[O>>2]|0;while(0);b[c>>0]=b[70007]|0;b[c+1>>0]=b[70008]|0;b[c+2>>0]=b[70009]|0;b[c+3>>0]=b[70010]|0;b[c+4>>0]=b[70011]|0;b[c+5>>0]=b[70012]|0;b[c+6>>0]=b[70013]|0;f[i>>2]=7;break}c=h[F>>0]<<8|h[F+1>>0];l=c&65535;v=h[F+2>>0]<<8|h[F+3>>0];q=(G|0)>(v|0);if(q){g=F+v|0;e=h[g>>0]|0;do if(e&128){i=h[g+1>>0]|0;if(!(i&128)){e=e<<7&16256|i;break}k=h[g+2>>0]|0;if(!(k&128)){e=(e<<14|k)&2080895|i<<7&16256;break}else{yv(g,K)|0;e=f[K>>2]|0;break}}while(0);if(!(l<<16>>16)){g=e;c=(e|0)==0?v:e;H=134}else g=e}else if(!(l<<16>>16)){g=0;c=v;H=134}else g=0;n=F+4|0;o=c+-4|0;if((c|0)>4){m=0;do{i=n+m|0;e=h[i>>0]|0;do if(e&128){k=h[i+1>>0]|0;if(!(k&128)){i=2;e=e<<7&16256|k;break}l=h[i+2>>0]|0;if(!(l&128)){i=3;e=(e<<14|l)&2080895|k<<7&16256;break}else{i=yv(i,K)|0;i=i&255;e=f[K>>2]|0;break}}else i=1;while(0);m=i+m|0;f[z>>2]=e;px(L,O,68873,z)}while((m|0)<(o|0))}rx(L,O,F+c|0,((g|0)==0?v:g)-c|0);if(q){s=0;u=v;q=0;r=0;m=0;while(1){k=(u|0)==(v|0);g=F+u|0;c=h[g>>0]|0;do if(c&128){e=h[g+1>>0]|0;if(!(e&128)){g=2;c=c<<7&16256|e;break}i=h[g+2>>0]|0;if(!(i&128)){g=3;c=(c<<14|i)&2080895|e<<7&16256;break}else{g=yv(g,K)|0;g=g&255;c=f[K>>2]|0;break}}else g=1;while(0);u=g+u|0;s=c+s|0;o=(u|0)<(G|0);if(o){g=F+u|0;c=h[g>>0]|0;do if(c&128){e=h[g+1>>0]|0;if(!(e&128)){c=c<<7&16256|e;break}i=h[g+2>>0]|0;if(!(i&128)){c=(c<<14|i)&2080895|e<<7&16256;break}else{yv(g,K)|0;c=f[K>>2]|0;break}}while(0);n=c+s|0}else n=v;if(k){l=s;c=m}else{g=F+s|0;c=h[g>>0]|0;do if(c&128){e=h[g+1>>0]|0;if(!(e&128)){g=2;c=c<<7&16256|e;break}i=h[g+2>>0]|0;if(!(i&128)){g=3;c=(c<<14|i)&2080895|e<<7&16256;break}else{g=yv(g,K)|0;g=g&255;c=f[K>>2]|0;break}}else g=1;while(0);l=g+s|0}g=F+l|0;e=h[g>>0]|0;do if(e&128){i=h[g+1>>0]|0;if(!(i&128)){g=2;m=e<<7&16256|i;break}k=h[g+2>>0]|0;if(!(k&128)){g=3;m=(e<<14|k)&2080895|i<<7&16256;break}else{g=yv(g,K)|0;g=g&255;m=f[K>>2]|0;break}}else{g=1;m=e}while(0);l=g+l|0;i=F+l|0;c:do if(!m){e=q;g=r}else{k=m+c|0;do if(k>>>0>r>>>0){g=(r|0)==0?64:r;while(1)if(g>>>0>>0)g=g<<1;else break;if((Mc()|0)==0?(B=Nc(q,(g|0)>0?g:0,0)|0,B|0):0){e=B;break}f[L>>2]=7;e=q;g=r;break c}else{e=q;g=r}while(0);YA(e+c|0,i|0,m|0)|0;c=k}while(0);E=l+m|0;f[A>>2]=c;f[A+4>>2]=e;px(L,O,69996,A);rx(L,O,F+E|0,n-E|0);if(!o)break;else{q=e;r=g;m=c}}if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{E=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}}while(0);if(((H|0)==30?(G|0)>0:0)?(J=(yv(F,K)|0)&255,H=f[K>>2]|0,f[I>>2]=72788,f[I+4>>2]=H,px(L,O,69931,I),(G|0)>(J|0)):0){c=J;do{c=c+((yv(F+c|0,K)|0)&255)|0;J=f[K>>2]|0;f[M>>2]=41721;f[M+4>>2]=J;px(L,O,69931,M)}while((c|0)<(G|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](F);H=190;break}else{H=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);H=190;break}}while(0);if((H|0)==190){c=f[L>>2]|0;if(!c){if(($e(f[a>>2]|0,f[O>>2]|0,f[O+4>>2]|0,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}}else{N=c;H=193}}if((H|0)==193?(f[a+20>>2]=N,P=f[a>>2]|0,d[P+8>>1]&1):0){switch(N|0){case 516:{c=44816;break}case 100:{c=44794;break}case 101:{c=44771;break}default:{c=N&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7984+(c<<2)>>2]|0;else c=44757}}$e(P,c,-1,1,0)|0}c=f[O>>2]|0;if(!c){t=Q;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);t=Q;return}else{P=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-P;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);t=Q;return}}function Cq(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0;if(!c){f[a+20>>2]=1;$e(f[a>>2]|0,69728,-1,1,-1)|0;return}g=f[e>>2]|0;do if(g|0){i=d[g+8>>1]|0;if((i&514)==514?(b[g+10>>0]|0)==1:0)i=f[g+16>>2]|0;else{if(i&1)break;i=Ic(g,1)|0}if(i|0){k=b[i>>0]|0;g=(h[1232+(k&255)>>0]|0)+-115|0;if(!(k<<24>>24==0|(g|0)!=0)){k=69765;do{i=i+1|0;k=k+1|0;l=b[i>>0]|0;g=(h[1232+(l&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(l<<24>>24==0|(g|0)!=0))}if(!g){if((c|0)!=3){f[a+20>>2]=1;$e(f[a>>2]|0,69773,-1,1,-1)|0;return}g=f[e+4>>2]|0;i=j[g+8>>1]|0;do if(!(i&4)){if(i&8|0){k=Fc(+p[g>>3])|0;ba()|0;break}if(!(i&18))k=0;else{k=Gc(b[g+10>>0]|0,f[g+12>>2]|0,f[g+16>>2]|0)|0;ba()|0}}else k=f[g>>2]|0;while(0);g=f[e+8>>2]|0;i=j[g+8>>1]|0;do if(!(i&4)){if(i&8|0){g=Fc(+p[g>>3])|0;ba()|0;break}if(!(i&18))g=0;else{g=Gc(b[g+10>>0]|0,f[g+12>>2]|0,f[g+16>>2]|0)|0;ba()|0}}else g=f[g>>2]|0;while(0);k=WA(k|0,0,37)|0;k=KA(k|0,ba()|0,g|0,((g|0)<0)<<31>>31|0)|0;c=ba()|0;g=f[a>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){l=g;f[l>>2]=k;f[l+4>>2]=c;d[i>>1]=4;return}else{bf(g,k,c);return}}}}while(0);f[a+20>>2]=1;$e(f[a>>2]|0,69820,-1,1,-1)|0;return}function Dq(a,c,e){a=a|0;c=c|0;e=e|0;c=f[(f[a+4>>2]|0)+8>>2]|0;a=f[e>>2]|0;if((d[a+8>>1]&-15361)<<16>>16!=-32255)return;if((b[a+11>>0]|0)!=112)return;if(tz(f[a>>2]|0,67645)|0)return;a=f[a+16>>2]|0;if(!a)return;f[a>>2]=c;return}function Eq(a,b,c){a=a|0;b=b|0;c=c|0;if(($e(f[a>>2]|0,67554,-1,1,-1)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}function Fq(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=jb[(b[a>>0]<<24>>24==1?171:172)&255](c,d)|0;r=a+12|0;m=(f[r>>2]|0)+-1&q;s=a+16|0;i=f[s>>2]|0;a:do if(i|0?(h=f[i+(m<<3)>>2]|0,j=(b[a>>0]|0)==1?87:88,g=f[i+(m<<3)+4>>2]|0,(h|0)!=0&(g|0)!=0):0){l=g;while(1){h=h+-1|0;if(!(lb[j&127](f[l+12>>2]|0,f[l+16>>2]|0,c,d)|0))break;g=f[l>>2]|0;if(!((h|0)!=0&(g|0)!=0))break a;else l=g}g=l+8|0;k=f[g>>2]|0;if(e|0){f[g>>2]=e;a=k;return a|0}h=f[l+4>>2]|0;g=f[l>>2]|0;if(!h){f[a+8>>2]=g;i=g;j=g}else{f[h>>2]=g;j=f[l>>2]|0;i=j}if(i|0)f[i+4>>2]=h;g=f[s>>2]|0;h=g+(m<<3)+4|0;if((f[h>>2]|0)==(l|0))f[h>>2]=j;q=g+(m<<3)|0;e=f[q>>2]|0;f[q>>2]=e+-1;if((e|0)<2)f[h>>2]=0;j=a+1|0;do if(b[j>>0]|0?(n=f[l+12>>2]|0,n|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{e=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{e=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}i=a+4|0;e=f[i>>2]|0;f[i>>2]=e+-1;if((e|0)>=2){a=k;return a|0}h=a+8|0;g=f[h>>2]|0;f[h>>2]=0;h=f[s>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{a=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[s>>2]=0;f[r>>2]=0;if(g|0)do{h=g;g=f[g>>2]|0;do if(b[j>>0]|0?(o=f[h+12>>2]|0,o|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{a=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](h);else{a=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h)}}while((g|0)!=0);f[i>>2]=0;a=k;return a|0}while(0);if(!e){a=0;return a|0}g=f[r>>2]|0;do if(!g){if(!(Mc()|0)){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](64)|0;if(!g)break}else{g=ib[f[37372>>2]&255](64)|0;if((f[18194]|0)>>>0<64)f[18194]=64;i=71896;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){p=f[18187]|0;o=LA(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&o>>>0<=p>>>0)&1}h=ib[f[37356>>2]&255](g)|0;if(!h)break;g=ib[f[37368>>2]&255](h)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;g=h}else g=h}i=g;j=i+64|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(j|0));h=f[s>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{p=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[s>>2]=g;f[r>>2]=8;n=(b[a>>0]|0)==1?171:172;m=a+8|0;h=f[m>>2]|0;f[m>>2]=0;if(!h){g=8;k=69}else{do{k=(jb[n&255](f[h+12>>2]|0,f[h+16>>2]|0)|0)&7;j=h;h=f[h>>2]|0;l=g+(k<<3)+4|0;i=f[l>>2]|0;if(!i){i=f[m>>2]|0;f[j>>2]=i;if(i|0)f[i+4>>2]=j;f[j+4>>2]=0;i=m}else{f[j>>2]=i;i=i+4|0;f[j+4>>2]=f[i>>2];p=f[i>>2]|0;f[((p|0)==0?m:p)>>2]=j}f[i>>2]=j;p=g+(k<<3)|0;f[p>>2]=(f[p>>2]|0)+1;f[l>>2]=j}while((h|0)!=0);g=f[r>>2]|0;k=69}}}else k=69;while(0);do if((k|0)==69){p=a+4|0;if((f[p>>2]|0)>=(g|0)){h=g<<1;g=g<<4;o=Fd(g)|0;if(!o)break;_A(o|0,0,g|0)|0;g=f[s>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{n=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[s>>2]=o;f[r>>2]=h;n=(b[a>>0]|0)==1?171:172;m=a+8|0;g=f[m>>2]|0;f[m>>2]=0;if(g|0){l=h+-1|0;do{j=(jb[n&255](f[g+12>>2]|0,f[g+16>>2]|0)|0)&l;i=g;g=f[g>>2]|0;k=o+(j<<3)+4|0;h=f[k>>2]|0;if(!h){h=f[m>>2]|0;f[i>>2]=h;if(h|0)f[h+4>>2]=i;f[i+4>>2]=0;h=m}else{f[i>>2]=h;h=h+4|0;f[i+4>>2]=f[h>>2];t=f[h>>2]|0;f[((t|0)==0?m:t)>>2]=i}f[h>>2]=i;t=o+(j<<3)|0;f[t>>2]=(f[t>>2]|0)+1;f[k>>2]=i}while((g|0)!=0)}}if(Mc()|0){t=e;return t|0}do if(!(f[9328]|0)){g=ib[f[37356>>2]&255](20)|0;if(!g){t=e;return t|0}else{i=g;j=i+20|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(j|0));l=g;break}}else{g=ib[f[37372>>2]&255](20)|0;if((f[18194]|0)>>>0<20)f[18194]=20;i=71896;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){t=f[18187]|0;o=LA(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&o>>>0<=t>>>0)&1}h=ib[f[37356>>2]&255](g)|0;if(!h){t=e;return t|0}g=ib[f[37368>>2]&255](h)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g;i=h;j=i+20|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(j|0));l=h}while(0);do if((c|0)!=0&(b[a+1>>0]|0)!=0){g=Fd(d)|0;if(g|0){_A(g|0,0,d|0)|0;f[l+12>>2]=g;YA(g|0,c|0,d|0)|0;break}f[l+12>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);t=e;return t|0}else{t=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);t=e;return t|0}}else f[l+12>>2]=c;while(0);f[l+16>>2]=d;f[p>>2]=(f[p>>2]|0)+1;k=(f[r>>2]|0)+-1&q;i=f[s>>2]|0;j=i+(k<<3)+4|0;g=f[j>>2]|0;if(!g){g=a+8|0;h=f[g>>2]|0;f[l>>2]=h;if(h|0)f[h+4>>2]=l;f[l+4>>2]=0}else{f[l>>2]=g;g=g+4|0;f[l+4>>2]=f[g>>2];t=f[g>>2]|0;f[((t|0)==0?a+8|0:t)>>2]=l}f[g>>2]=l;t=i+(k<<3)|0;f[t>>2]=(f[t>>2]|0)+1;f[j>>2]=l;f[l+8>>2]=e;t=0;return t|0}while(0);f[a+4>>2]=0;t=e;return t|0}function Gq(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+16|0;u=x+8|0;p=x;l=x+12|0;v=f[(f[a+4>>2]|0)+8>>2]|0;j=f[e>>2]|0;i=d[j+8>>1]|0;if((i&514)==514?(b[j+10>>0]|0)==1:0){w=f[j+16>>2]|0;k=j}else if(!(i&1)){w=Ic(j,1)|0;k=f[e>>2]|0}else{w=0;k=j}i=d[k+8>>1]|0;if((i&2)!=0?(b[k+10>>0]|0)==1:0)i=f[k+12>>2]|0;else q=9;do if((q|0)==9){j=i&65535;if(!(j&16)){if(j&1|0){i=0;break}i=_e(k,1)|0;break}else{i=f[k+12>>2]|0;if(!(j&16384))break;i=(f[k>>2]|0)+i|0;break}}while(0);k=i+1|0;a:do if((c|0)!=2){b:do if(((!((w|0)==0|(v|0)==0)?(m=v+16|0,f[m>>2]|0):0)?(n=jb[(b[v>>0]<<24>>24==1?171:172)&255](w,k)|0,n=(f[v+12>>2]|0)+-1&n,o=f[m>>2]|0,o|0):0)?(h=f[o+(n<<3)>>2]|0,r=(b[v>>0]|0)==1?87:88,g=f[o+(n<<3)+4>>2]|0,(h|0)!=0&(g|0)!=0):0){while(1){h=h+-1|0;if(!(lb[r&127](f[g+12>>2]|0,f[g+16>>2]|0,w,k)|0))break;g=f[g>>2]|0;if(!((h|0)!=0&(g|0)!=0))break b}h=f[g+8>>2]|0;if(h|0){g=a;j=h;break a}}while(0);f[u>>2]=w;g=wd(63153,u)|0;f[a+20>>2]=1;$e(f[a>>2]|0,g,-1,1,-1)|0;if(!g){t=x;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);t=x;return}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);t=x;return}}else{u=f[(f[a>>2]|0)+32>>2]|0;f[l>>2]=0;f[p>>2]=-1;f[p+4>>2]=l;fq(u,1004,p)|0;if(!(f[l>>2]|0)){f[a+20>>2]=1;$e(f[a>>2]|0,67358,-1,1,-1)|0;t=x;return}i=e+4|0;j=f[i>>2]|0;g=d[j+8>>1]|0;if((g&2)!=0?(b[j+10>>0]|0)==1:0){s=f[j+12>>2]|0;q=24}else q=19;do if((q|0)==19){h=g&65535;if(!(h&16)){if(h&1|0)break;s=_e(j,1)|0;q=24;break}else{g=f[j+12>>2]|0;if(!(h&16384)){s=g;q=24;break}s=(f[j>>2]|0)+g|0;q=24;break}}while(0);if((q|0)==24?!((w|0)==0|(s|0)!=4):0){u=lf(f[i>>2]|0)|0;u=f[u>>2]|0;j=u;if((Fq(v,w,k,u)|0)!=(u|0)){g=a;break}f[a+20>>2]=1;$e(f[a>>2]|0,44870,-1,1,-1)|0;g=a;break}f[a+20>>2]=1;$e(f[a>>2]|0,67335,-1,1,-1)|0;t=x;return}while(0);i=f[g>>2]|0;w=f[i+32>>2]|0;if(w|0?(f[w+108>>2]|0)<4:0){f[a+20>>2]=18;$e(i,41612,-1,1,0)|0;t=x;return}do if((f[i+24>>2]|0)<32)if(!(df(i,32,0)|0)){g=i+8|0;h=f[i+16>>2]|0;break}else{t=x;return}else{h=f[i+20>>2]|0;f[i+16>>2]=h;g=i+8|0;d[g>>1]=d[g>>1]&13}while(0);b[h>>0]=j;b[h+1>>0]=j>>8;b[h+2>>0]=j>>16;b[h+3>>0]=j>>24;f[i+12>>2]=4;d[g>>1]=16;b[i+10>>0]=1;t=x;return}function Hq(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;d=a+8|0;c=f[d>>2]|0;f[d>>2]=0;d=a+16|0;e=f[d>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{h=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[d>>2]=0;f[a+12>>2]=0;if(c|0){e=a+1|0;do{d=c;c=f[c>>2]|0;do if(b[e>>0]|0?(g=f[d+12>>2]|0,g|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{h=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](d);else{h=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d)}}while((c|0)!=0)}f[a+4>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{h=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Iq(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;A=t;t=t+592|0;z=A+584|0;y=A+576|0;x=A+568|0;w=A+560|0;u=A;v=A+512|0;c=f[d>>2]|0;e=j[c+8>>1]|0;do if(!(e&4)){if(e&8|0){c=Fc(+p[c>>3])|0;ba()|0;break}if(!(e&18))c=0;else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else c=f[c>>2]|0;while(0);q=lf(f[d+4>>2]|0)|0;r=q+2|0;o=q+3|0;if(!((h[r>>0]|0)<<8|(h[o>>0]|0)))c=0;else{s=(c<<3)+8&248;l=c<<1&254;m=(l|0)==0;k=0;c=0;do{d=U(k,s)|0;g=q+(d|4)|0;E=WA(h[g>>0]|0|0,0,56)|0;i=ba()|0;F=WA(h[g+1>>0]|0|0,0,48)|0;i=ba()|0|i;D=WA(h[g+2>>0]|0|0,0,40)|0;i=i|(ba()|0);i=i|(h[g+3>>0]|0);C=WA(h[g+4>>0]|0|0,0,24)|0;i=i|(ba()|0);B=WA(h[g+5>>0]|0|0,0,16)|0;i=i|(ba()|0);e=WA(h[g+6>>0]|0|0,0,8)|0;i=i|(ba()|0);g=KA(F|E|D|C|B|e|0,i|0,h[g+7>>0]|0|0,0)|0;i=ba()|0;e=v;f[e>>2]=g;f[e+4>>2]=i;e=0;d=q+(d+12)|0;while(1){f[v+8+(e<<2)>>2]=(h[d+1>>0]|0)<<16|(h[d>>0]|0)<<24|(h[d+2>>0]|0)<<8|(h[d+3>>0]|0);f[v+8+((e|1)<<2)>>2]=(h[d+5>>0]|0)<<16|(h[d+4>>0]|0)<<24|(h[d+6>>0]|0)<<8|(h[d+7>>0]|0);e=e+2|0;if(e>>>0>=l>>>0)break;else d=d+8|0}F=w;f[F>>2]=g;f[F+4>>2]=i;vd(512,u,41988,w)|0;if(!m){e=0;d=wz(u)|0;do{p[x>>3]=+n[v+8+(e<<2)>>2];vd(512-d|0,u+d|0,63085,x)|0;d=wz(u)|0;e=e+1|0}while((e|0)!=(l|0))}do if(c){f[y>>2]=c;f[y+4>>2]=u;e=wd(63089,y)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=e;break}else{F=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=e;break}}else{f[z>>2]=u;c=wd(63097,z)|0}while(0);k=k+1|0}while(k>>>0<((h[r>>0]|0)<<8|(h[o>>0]|0))>>>0)}if(($e(f[a>>2]|0,c,-1,1,101)|0)!=18){t=A;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=A;return}function Jq(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0;i=f[e>>2]|0;c=d[i+8>>1]|0;a:do if((c&15|16)<<16>>16==16){if((c&2)!=0?(b[i+10>>0]|0)==1:0)c=f[i+12>>2]|0;else g=5;do if((g|0)==5){g=c&65535;if(!(g&16)){if(g&1|0)break a;c=_e(i,1)|0;break}else{c=f[i+12>>2]|0;if(!(g&16384))break;c=(f[i>>2]|0)+c|0;break}}while(0);if((c|0)>=2){i=lf(f[e>>2]|0)|0;i=h[i>>0]<<8|h[i+1>>0];c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216)){a=c;f[a>>2]=i;f[a+4>>2]=0;d[g>>1]=4;return}else{bf(c,i,0);return}}}while(0);f[a+20>>2]=1;$e(f[a>>2]|0,63052,-1,1,-1)|0;return}function Kq(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+80|0;o=u+16|0;m=u+8|0;k=u;s=u+20|0;if((c+-1|0)>>>0>1){f[a+20>>2]=1;$e(f[a>>2]|0,62285,-1,1,-1)|0;t=u;return}h=f[e>>2]|0;do if(h){g=d[h+8>>1]|0;if((g&514)==514?(b[h+10>>0]|0)==1:0){i=f[h+16>>2]|0;break}if(!(g&1))i=Ic(h,1)|0;else i=0}else i=0;while(0);do if((c|0)!=1){g=f[e+4>>2]|0;if(g){h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0){e=f[g+16>>2]|0;break}if(!(h&1))e=Ic(g,1)|0;else e=0}else e=0}else{e=i;i=42464}while(0);r=f[(f[a>>2]|0)+32>>2]|0;q=s+12|0;g=q;h=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[s>>2]=r;f[s+4>>2]=i;f[s+8>>2]=e;if(b[r+79>>0]|0){n=uj(r,44244,0,0,0)|0;h=s+40|0;f[h>>2]=n;if(!n){c=1;p=19}else{n=1;g=0;l=h}}else{c=0;h=s+40|0;p=19}if((p|0)==19){f[k>>2]=i;f[k+4>>2]=e;g=ss(s,62336,k)|0;if(!g)g=0;else{p=(j[g+140>>1]|0)+-2|0;Fi(g)|0;g=p}f[h>>2]=0;n=c;l=h}f[m>>2]=i;f[m+4>>2]=e;k=ss(s,60843,m)|0;if(k){c=k+140|0;p=(j[c>>1]|0)+~g|0;g=s+16|0;f[g>>2]=(p|0)/2|0;if((p|0)>=2){if((Ei(k)|0)==100){h=f[k+104>>2]|0;if((h|0)!=0?(j[c>>1]|0)>1:0){h=h+40|0;c=k}else{h=f[k>>2]|0;f[h+64>>2]=25;Bg(h,25);h=37592;c=k}i=d[h+8>>1]&31;h=f[c>>2]|0;e=k+40|0;c=f[e>>2]|0;if((c|0)==3082|(b[h+81>>0]|0)!=0){Di(h);h=7}else h=f[h+68>>2]&c;f[e>>2]=h;f[q>>2]=1347440720>>>i&1}}else ts(s,62364,o);h=Fi(k)|0;if((h|0)!=11)f[l>>2]=h}else g=s+16|0;if((f[g>>2]|0)>0){if(!(f[l>>2]|0))us(s,0,0,1,0);q=f[s+32>>2]|0;vs(s,62395,q,((q|0)<0)<<31>>31);q=f[s+36>>2]|0;vs(s,62402,q,((q|0)<0)<<31>>31)}Fi(f[s+20>>2]|0)|0;Fi(f[s+24>>2]|0)|0;Fi(f[s+28>>2]|0)|0;do if(n){g=uj(r,62410,0,0,0)|0;h=f[l>>2]|0;if(!h){f[l>>2]=g;p=46;break}else{g=h;h=f[s+44>>2]|0;p=49;break}}else{g=f[l>>2]|0;p=46}while(0);if((p|0)==46){h=f[s+44>>2]|0;if(!g){if(($e(f[a>>2]|0,(h|0)==0?55871:h,-1,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}}else p=49}if((p|0)==49){f[a+20>>2]=g;c=f[a>>2]|0;if(d[c+8>>1]&1){switch(g|0){case 516:{g=44816;break}case 100:{g=44794;break}case 101:{g=44771;break}default:{g=g&255;if(g>>>0<29?(520028155>>>g&1|0)!=0:0)g=f[7984+(g<<2)>>2]|0;else g=44757}}$e(c,g,-1,1,0)|0}}g=h;if(!h){t=u;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);t=u;return}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);t=u;return}}function Lq(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))h=hf(a,0)|0;else h=f[c+16>>2]|0;if(!h)return;i=f[h+4>>2]|0;j=i+1|0;e=b[j>>0]|0;a:do if(e<<24>>24==44)c=1;else{a=0;c=1;g=0;while(1){switch(e<<24>>24){case 34:{a=(g^1)&1;break}case 92:{c=c+1|0;break}default:{}}c=c+1|0;e=b[i+c>>0]|0;g=(a|0)!=0;if(!(g|e<<24>>24!=44))break a}}while(0);g=h+16|0;h=g;h=LA(f[h>>2]|0,f[h+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=ba()|0;f[g>>2]=h;f[g+4>>2]=a;ZA(j|0,i+(c+1)|0,h+-1|0)|0;return}function Mq(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;a=wk(a,60269)|0;if(a|0){e=a;return e|0}do if(!(Mc()|0)){if(!(f[9328]|0)){a=ib[f[37356>>2]&255](12)|0;f[e>>2]=a;if(!a){e=7;return e|0}}else{a=ib[f[37372>>2]&255](12)|0;if((f[18194]|0)>>>0<12)f[18194]=12;c=71896;b=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&b>>>0>0){g=f[18187]|0;d=LA(b|0,c|0,a|0,((a|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&d>>>0<=g>>>0)&1}a=ib[f[37356>>2]&255](a)|0;if(!a)break;b=ib[f[37368>>2]&255](a)|0;b=(f[18187]|0)+b|0;f[18187]=b;if(b>>>0>(f[18191]|0)>>>0)f[18191]=b;b=(f[18190]|0)+1|0;f[18190]=b;if(b>>>0>(f[18196]|0)>>>0)f[18196]=b;f[e>>2]=a};f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;e=0;return e|0}while(0);f[e>>2]=0;e=7;return e|0}function Nq(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+16|0;k=m;l=k+4|0;f[l>>2]=-1;f[k>>2]=-1;j=f[c>>2]|0;if((j|0)>0){h=0;i=f[c+4>>2]|0;d=0;a=0;while(1){e=f[i>>2]|0;do if((e|0)>=8){e=e+-8|0;g=1<>0]|0)){a=g|a;break}if((b[i+4>>0]|0)==2){f[k+(e<<2)>>2]=h;d=g|d}}while(0);h=h+1|0;if((h|0)>=(j|0))break;else i=i+12|0}}else{d=0;a=0}if(a&~d|0){c=19;t=m;return c|0}a=f[k>>2]|0;if((a|0)>=0){p[c+40>>3]=1.0;d=f[c+16>>2]|0;f[d+(a<<3)>>2]=1;b[d+(a<<3)+4>>0]=1;a=f[l>>2]|0;if((a|0)<0)a=1;else{f[d+(a<<3)>>2]=2;b[d+(a<<3)+4>>0]=1;a=3}}else a=0;f[c+20>>2]=a;c=0;t=m;return c|0}function Oq(a){a=a|0;var b=0;if(!a)return 0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Pq(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;if(Mc()|0){c=7;return c|0}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](64)|0;if(!a){c=7;return c|0}}else{e=ib[f[37372>>2]&255](64)|0;if((f[18194]|0)>>>0<64)f[18194]=64;d=71896;a=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&a>>>0>0){g=f[18187]|0;d=LA(a|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&d>>>0<=g>>>0)&1}a=ib[f[37356>>2]&255](e)|0;if(!a){g=7;return g|0}d=ib[f[37368>>2]&255](a)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d}d=a;e=d+64|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;b[a+21>>0]=1;g=0;return g|0}function Qq(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=a+24|0;c=f[h>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{g=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);g=a+28|0;c=f[g>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=a+32|0;d=a+40|0;e=f[d>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[d>>2]=0;f[c>>2]=0;f[a+36>>2]=0;c=a+48|0;d=f[c>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);f[c>>2]=0;f[a+4>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;b[a+20>>0]=0;f[h>>2]=0;f[g>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{i=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Rq(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;z=t;t=t+16|0;n=z+8|0;k=z;l=z+12|0;s=a+24|0;e=f[s>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{y=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);r=a+28|0;e=f[r>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{y=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);p=a+32|0;u=a+40|0;e=f[u>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{y=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[u>>2]=0;f[p>>2]=0;o=a+36|0;f[o>>2]=0;x=a+48|0;e=f[x>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{y=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[x>>2]=0;q=a+4|0;f[q>>2]=0;y=a+12|0;f[y>>2]=0;v=a+16|0;f[v>>2]=0;w=a+20|0;b[w>>0]=0;f[s>>2]=0;f[r>>2]=0;if(!c){y=0;t=z;return y|0}e=f[h>>2]|0;if(!e){y=0;t=z;return y|0}g=d[e+8>>1]|0;if((g&514)==514?(b[e+10>>0]|0)==1:0)j=f[e+16>>2]|0;else m=22;do if((m|0)==22)if(!(g&1)){j=Ic(e,1)|0;break}else{y=0;t=z;return y|0}while(0);if(!j){y=0;t=z;return y|0}i=f[h>>2]|0;e=d[i+8>>1]|0;if((e&2)!=0?(b[i+10>>0]|0)==1:0)e=f[i+12>>2]|0;else m=28;do if((m|0)==28){g=e&65535;if(!(g&16)){if(g&1|0){e=0;break}e=_e(i,1)|0;break}else{e=f[i+12>>2]|0;if(!(g&16384))break;e=(f[i>>2]|0)+e|0;break}}while(0);g=KA(e|0,((e|0)<0)<<31>>31|0,1,0)|0;g=xd(g,ba()|0)|0;f[s>>2]=g;if(!g){y=7;t=z;return y|0}YA(g|0,j|0,e+1|0)|0;i=f[s>>2]|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;if(i){f[a+44>>2]=i;e=er(p,0)|0;j=a+52|0;if((e|0)>0&(b[j>>0]|0)==0){while(1){g=b[i+e>>0]|0;if(!(b[23984+(g&255)>>0]|0))break;else e=e+1|0}if(!((e|0)<1|g<<24>>24!=0)){k=a+21|0;do if(b[k>>0]|0){i=Fd(f[p>>2]<<2)|0;f[x>>2]=i;if(i|0){fr(p,0,0);break}b[j>>0]=1;e=f[s>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[r>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[u>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[u>>2]=0;f[p>>2]=0;f[o>>2]=0;e=f[x>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[x>>2]=0;f[q>>2]=0;f[y>>2]=0;f[v>>2]=0;b[w>>0]=0;f[s>>2]=0;f[r>>2]=0;y=7;t=z;return y|0}while(0);a:do if((c|0)==3){f[l>>2]=0;i=h+4|0;e=f[i>>2]|0;b:do if(!e)e=0;else{g=d[e+8>>1]|0;do if((g&514)==514){if((b[e+10>>0]|0)!=1){m=95;break}g=f[e+16>>2]|0}else m=95;while(0);if((m|0)==95){if(g&1){e=0;break}g=Ic(e,1)|0}if(!g){e=0;break}j=f[i>>2]|0;e=d[j+8>>1]|0;do if(!(e&2))m=101;else{if((b[j+10>>0]|0)!=1){m=101;break}i=f[j+12>>2]|0}while(0);do if((m|0)==101){e=e&65535;if(!(e&16)){if(e&1|0){i=0;break}i=_e(j,1)|0;break}else{i=f[j+12>>2]|0;if(!(e&16384))break;i=(f[j>>2]|0)+i|0;break}}while(0);e=KA(i|0,((i|0)<0)<<31>>31|0,1,0)|0;e=xd(e,ba()|0)|0;f[r>>2]=e;if(!e){e=7;break}YA(e|0,g|0,i+1|0)|0;do if((b[g>>0]|0)==36){e=gr(p,0,(f[r>>2]|0)+1|0,0,l)|0;g=f[l>>2]|0;if(g|0)break;if(!e){e=0;break b}j=e;g=f[u>>2]|0;break a}else f[l>>2]=g;while(0);e=f[(f[a>>2]|0)+8>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{m=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[n>>2]=g;e=wd(60239,n)|0;f[(f[a>>2]|0)+8>>2]=e;e=f[s>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{n=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[r>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{n=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[u>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{n=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[u>>2]=0;f[p>>2]=0;f[o>>2]=0;e=f[x>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[x>>2]=0;f[q>>2]=0;f[y>>2]=0;f[v>>2]=0;b[w>>0]=0;f[s>>2]=0;f[r>>2]=0;e=(f[(f[a>>2]|0)+8>>2]|0)==0?7:1}while(0);y=e;t=z;return y|0}else{j=f[u>>2]|0;g=j;e=g}while(0);e=(e-g|0)/12|0;f[y>>2]=e;f[a+8>>2]=e;s=b[j>>0]|0;b[w>>0]=s;if((s&255)<=5){f[v>>2]=e+1;y=0;t=z;return y|0}f[j+8>>2]=0;i=f[y>>2]|0;e=i+1|0;f[v>>2]=e+(f[j+4>>2]|0);if(!(b[k>>0]|0)){f[y>>2]=e;y=0;t=z;return y|0}g=f[u>>2]|0;b[w>>0]=b[g+((f[(f[x>>2]|0)+(i<<2)>>2]|0)*12|0)>>0]|0;if(!i){y=0;t=z;return y|0}e=i+-1|0;if(!(b[g+(e*12|0)+1>>0]&64)){y=0;t=z;return y|0}f[y>>2]=e;y=0;t=z;return y|0}}e=f[u>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{n=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[u>>2]=0;f[p>>2]=0;f[o>>2]=0;e=f[x>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{n=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[x>>2]=0;if(b[j>>0]|0)g=7;else m=48}else m=48;if((m|0)==48){e=f[(f[a>>2]|0)+8>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{n=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);g=wd(60224,k)|0;f[(f[a>>2]|0)+8>>2]=g;g=(g|0)==0?7:1}e=f[s>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[r>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[u>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[u>>2]=0;f[p>>2]=0;f[o>>2]=0;e=f[x>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[x>>2]=0;f[q>>2]=0;f[y>>2]=0;f[v>>2]=0;b[w>>0]=0;f[s>>2]=0;f[r>>2]=0;y=g;t=z;return y|0}function Sq(a){a=a|0;var c=0,d=0,e=0,g=0;if(b[a+21>>0]|0){g=f[a+40>>2]|0;d=a+12|0;c=f[d>>2]|0;if(!(b[g+(c*12|0)+1>>0]&64))e=c;else{e=c+1|0;f[d>>2]=e}c=e+1|0;f[d>>2]=c;d=a+4|0;f[d>>2]=(f[d>>2]|0)+1;if(c>>>0>=(f[a+16>>2]|0)>>>0)return 0;d=f[(f[a+48>>2]|0)+(c<<2)>>2]|0;c=b[g+(d*12|0)>>0]|0;b[a+20>>0]=c;if(c<<24>>24!=6)return 0;c=g+(d*12|0)+8|0;if((d|0)==(e|0)){f[c>>2]=0;return 0}else{f[c>>2]=(f[c>>2]|0)+1;return 0}}else switch(b[a+20>>0]|0){case 6:{c=f[a+40>>2]|0;d=a+12|0;e=f[d>>2]|0;if((h[c+(e*12|0)>>0]|0)>5)c=(f[c+(e*12|0)+4>>2]|0)+1|0;else c=1;f[d>>2]=c+e;a=a+4|0;f[a>>2]=(f[a>>2]|0)+1;return 0}case 7:{c=f[a+40>>2]|0;e=a+12|0;g=f[e>>2]|0;d=g+1|0;if((h[c+(d*12|0)>>0]|0)>5)c=(f[c+(d*12|0)+4>>2]|0)+2|0;else c=2;f[e>>2]=c+g;a=a+4|0;f[a>>2]=(f[a>>2]|0)+1;return 0}default:{f[a+12>>2]=f[a+16>>2];return 0}}return 0}function Tq(a){a=a|0;return (f[a+12>>2]|0)>>>0>=(f[a+16>>2]|0)>>>0|0}function Uq(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+144|0;n=x+136|0;m=x+128|0;v=x;q=f[a+40>>2]|0;w=f[a+12>>2]|0;g=q+(w*12|0)|0;switch(e|0){case 0:{if(!w){t=x;return 0}switch(b[a+20>>0]|0){case 7:{Wq(g,c);t=x;return 0}case 6:{i=f[a+4>>2]|0;do if(b[a+21>>0]|0)if(!i){t=x;return 0}else{i=f[q+((f[(f[a+48>>2]|0)+(w<<2)>>2]|0)*12|0)+8>>2]|0;break}while(0);e=f[c>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){w=e;f[w>>2]=i;f[w+4>>2]=0;d[g>>1]=4;t=x;return 0}else{bf(e,i,0);t=x;return 0}}default:{t=x;return 0}}}case 1:{Wq((b[q+(w*12|0)+1>>0]&64)==0?g:g+12|0,c);t=x;return 0}case 2:{if(($e(f[c>>2]|0,f[23920+(h[((b[q+(w*12|0)+1>>0]&64)==0?g:g+12|0)>>0]<<2)>>2]|0,-1,1,0)|0)!=18){t=x;return 0}f[c+20>>2]=18;$e(f[c>>2]|0,41612,-1,1,0)|0;t=x;return 0}case 3:{e=(b[q+(w*12|0)+1>>0]&64)==0?g:g+12|0;if((h[e>>0]|0)>5){t=x;return 0}Wq(e,c);t=x;return 0}case 4:{i=KA((h[q+(w*12|0)+1>>0]|0)>>>6&1|0,0,w|0,0)|0;j=ba()|0;e=f[c>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){w=e;f[w>>2]=i;f[w+4>>2]=j;d[g>>1]=4;t=x;return 0}else{bf(e,i,j);t=x;return 0}}case 5:{if(w>>>0<=(f[a+8>>2]|0)>>>0){t=x;return 0}if(!(b[a+21>>0]|0)){t=x;return 0}i=f[(f[a+48>>2]|0)+(w<<2)>>2]|0;e=f[c>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){w=e;f[w>>2]=i;f[w+4>>2]=0;d[g>>1]=4;t=x;return 0}else{bf(e,i,0);t=x;return 0}}case 6:{f[v>>2]=c;k=v+25|0;b[k>>0]=0;r=v+26|0;s=v+4|0;f[s>>2]=r;u=v+8|0;o=u;f[o>>2]=100;f[o+4>>2]=0;o=v+16|0;p=o;f[p>>2]=0;f[p+4>>2]=0;p=v+24|0;b[p>>0]=1;a:do if(!(b[a+21>>0]|0)){j=f[a+28>>2]|0;b:do if(!j){l=o;f[l>>2]=1;f[l+4>>2]=0;b[r>>0]=36}else{c=wz(j)|0;do if(c>>>0<100){g=0;e=r}else{g=KA(c|0,0,110,0)|0;i=ba()|0;e=xd(g,i)|0;if(e|0){YA(e|0,f[s>>2]|0,f[o>>2]|0)|0;f[s>>2]=e;b[p>>0]=0;l=u;f[l>>2]=g;f[l+4>>2]=i;g=f[o>>2]|0;break}b[k>>0]=1;i=f[v>>2]|0;e=f[i>>2]|0;g=e+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(e);e=f[i>>2]|0}f[i+20>>2]=7;e=f[e+32>>2]|0;g=e+81|0;if((b[g>>0]|0)==0?(b[e+82>>0]|0)==0:0){b[g>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;c=e+272|0;f[c>>2]=(f[c>>2]|0)+1}do if((b[p>>0]|0)==0?(l=f[s>>2]|0,l|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{c=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);f[s>>2]=r;l=u;f[l>>2]=100;f[l+4>>2]=0;l=o;f[l>>2]=0;f[l+4>>2]=0;b[p>>0]=1;break b}while(0);YA(e+g|0,j|0,c|0)|0;j=o;j=KA(f[j>>2]|0,f[j+4>>2]|0,c|0,0)|0;c=ba()|0;l=o;f[l>>2]=j;f[l+4>>2]=c}while(0);switch(b[a+20>>0]|0){case 6:{f[m>>2]=f[a+4>>2];Yq(30,v,60152,m);break a}case 7:{a=f[q+(w*12|0)+4>>2]|0;w=(f[q+(w*12|0)+8>>2]|0)+1|0;f[n>>2]=a+-2;f[n+4>>2]=w;Yq(a,v,60157,n);break a}default:break a}}else Xq(a,v,w);while(0);if(!(b[k>>0]|0)){e=f[v>>2]|0;g=f[s>>2]|0;w=o;i=f[w>>2]|0;w=f[w+4>>2]|0;j=(b[p>>0]|0)==0?101:-1;if(w>>>0>0|(w|0)==0&i>>>0>2147483647){switch(j|0){case 0:case -1:break;default:ob[j&127](g)}if(e|0){f[e+20>>2]=18;$e(f[e>>2]|0,41612,-1,1,0)|0}}else if(($e(f[e>>2]|0,g,i,1,j)|0)==18){f[e+20>>2]=18;$e(f[e>>2]|0,41612,-1,1,0)|0}f[s>>2]=r;w=u;f[w>>2]=100;f[w+4>>2]=0;w=o;f[w>>2]=0;f[w+4>>2]=0;b[p>>0]=1}t=x;return 0}case 7:{if(b[a+21>>0]|0){f[v>>2]=c;u=v+25|0;b[u>>0]=0;c=v+26|0;k=v+4|0;f[k>>2]=c;l=v+8|0;m=l;f[m>>2]=100;f[m+4>>2]=0;m=v+16|0;n=m;f[n>>2]=0;f[n+4>>2]=0;n=v+24|0;b[n>>0]=1;Xq(a,v,f[(f[a+48>>2]|0)+(w<<2)>>2]|0);if(!(b[u>>0]|0)){e=f[v>>2]|0;g=f[k>>2]|0;w=m;i=f[w>>2]|0;w=f[w+4>>2]|0;j=(b[n>>0]|0)==0?101:-1;if(w>>>0>0|(w|0)==0&i>>>0>2147483647){switch(j|0){case 0:case -1:break;default:ob[j&127](g)}if(e|0){f[e+20>>2]=18;$e(f[e>>2]|0,41612,-1,1,0)|0}}else if(($e(f[e>>2]|0,g,i,1,j)|0)==18){f[e+20>>2]=18;$e(f[e>>2]|0,41612,-1,1,0)|0}f[k>>2]=c;w=l;f[w>>2]=100;f[w+4>>2]=0;w=m;f[w>>2]=0;f[w+4>>2]=0;b[n>>0]=1}t=x;return 0}break}case 8:{if(($e(f[c>>2]|0,f[a+44>>2]|0,-1,1,0)|0)!=18){t=x;return 0}f[c+20>>2]=18;$e(f[c>>2]|0,41612,-1,1,0)|0;t=x;return 0}default:{}}w=f[a+28>>2]|0;if(($e(f[c>>2]|0,(w|0)==0?60163:w,-1,1,0)|0)!=18){t=x;return 0}f[c+20>>2]=18;$e(f[c>>2]|0,41612,-1,1,0)|0;t=x;return 0}function Vq(a,b){a=a|0;b=b|0;f[b>>2]=f[a+4>>2];f[b+4>>2]=0;return 0}function Wq(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,q=0;q=t;t=t+32|0;n=q+16|0;o=q+8|0;l=q;a:do switch(b[a>>0]|0){case 1:{e=f[c>>2]|0;a=e+8|0;if(!(d[a>>1]&9216)){c=e;f[c>>2]=1;f[c+4>>2]=0;d[a>>1]=4;t=q;return}else{bf(e,1,0);t=q;return}}case 2:{e=f[c>>2]|0;a=e+8|0;if(!(d[a>>1]&9216)){c=e;f[c>>2]=0;f[c+4>>2]=0;d[a>>1]=4;t=q;return}else{bf(e,0,0);t=q;return}}case 3:{e=a+8|0;a=f[e>>2]|0;g=b[a>>0]|0;a=g<<24>>24==45?a+1|0:a;h=b[a>>0]|0;do if((h+-48&255)<10){k=a;a=0;j=0;b:while(1){g=h<<24>>24;k=k+1|0;h=g+-48|0;c:do if((a|0)>214748364|(a|0)==214748364&j>>>0>3435973835)if((j|0)==-858993460&(a|0)==214748364)if(((b[k>>0]|0)+-48&255)>=10){switch(g|0){case 57:{g=5;j=-858993460;a=214748364;break c}case 56:break;default:{m=22;break c}}if((b[f[e>>2]>>0]|0)==45){a=f[c>>2]|0;g=a+8|0;if(!(d[g>>1]&9216)){j=a;f[j>>2]=0;f[j+4>>2]=-2147483648;d[g>>1]=4;g=6;j=-858993460;a=214748364;break}else{bf(a,0,-2147483648);g=6;j=-858993460;a=214748364;break}}else{g=5;j=-858993460;a=214748364}}else{g=5;j=-858993460;a=214748364}else g=5;else m=22;while(0);if((m|0)==22){m=0;j=QA(j|0,a|0,10,0)|0;j=KA(j|0,ba()|0,h|0,0)|0;g=0;a=ba()|0}switch(g&7){case 5:break a;case 6:{m=68;break b}case 0:break;default:{m=29;break b}}h=b[k>>0]|0;if((h+-48&255)>=10){m=25;break}}if((m|0)==25){g=b[f[e>>2]>>0]|0;e=j;break}else if((m|0)==29){if(!g)break a;t=q;return}else if((m|0)==68){t=q;return}}else{e=0;a=0}while(0);o=g<<24>>24==45;h=LA(0,0,e|0,a|0)|0;g=ba()|0;h=o?h:e;g=o?g:a;e=f[c>>2]|0;a=e+8|0;if(!(d[a>>1]&9216)){c=e;f[c>>2]=h;f[c+4>>2]=g;d[a>>1]=4;t=q;return}else{bf(e,h,g);t=q;return}}case 4:{e=a+8|0;break}case 5:{if(!(b[a+1>>0]&2)){if(($e(f[c>>2]|0,(f[a+8>>2]|0)+1|0,(f[a+4>>2]|0)+-2|0,1,-1)|0)!=18){t=q;return}f[c+20>>2]=18;$e(f[c>>2]|0,41612,-1,1,0)|0;t=q;return}e=f[a+4>>2]|0;n=f[a+8>>2]|0;o=Fd(e+1|0)|0;if(!o){e=f[c>>2]|0;a=e+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(e);e=f[c>>2]|0}f[c+20>>2]=7;e=f[e+32>>2]|0;a=e+81|0;if(b[a>>0]|0){t=q;return}if(b[e+82>>0]|0){t=q;return}b[a>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;c=e+272|0;f[c>>2]=(f[c>>2]|0)+1;t=q;return}m=e+-1|0;d:do if(m>>>0>1){e=0;k=1;do{a=b[n+k>>0]|0;e:do if(a<<24>>24==92){a=k+1|0;g=b[n+a>>0]|0;switch(g<<24>>24){case 98:{j=e;h=a;g=8;a=1;break e}case 117:{l=k+5|0;a=b[n+(k+2)>>0]|0;a=(a<<24>>24<58?-48:a<<24>>24<71?-55:-87)+(a<<24>>24)|0;h=b[n+(k+3)>>0]|0;g=h<<24>>24;do if(h<<24>>24>=58){a=(a<<4)+g|0;if(h<<24>>24<71){a=a+-55|0;break}else{a=a+-87|0;break}}else a=(a<<4)+-48+g|0;while(0);h=b[n+(k+4)>>0]|0;g=h<<24>>24;do if(h<<24>>24>=58){a=(a<<4)+g|0;if(h<<24>>24<71){g=a+-55|0;break}else{g=a+-87|0;break}}else g=(a<<4)+-48+g|0;while(0);h=b[n+(k+5)>>0]|0;a=h<<24>>24;do if(h<<24>>24>=58){a=(g<<4)+a|0;if(h<<24>>24<71){a=a+-55|0;break}else{a=a+-87|0;break}}else a=(g<<4)+-48+a|0;while(0);if(!a)break d;if(a>>>0<128){j=e;h=l;g=a&255;a=1;break e}if(a>>>0<2048){b[o+e>>0]=a>>>6|192;j=e+1|0;h=l;g=(a&63|128)&255;a=2;break e}else{b[o+e>>0]=a>>>12|224;b[o+(e+1)>>0]=a>>>6&63|128;j=e+2|0;h=l;g=(a&63|128)&255;a=3;break e}}case 102:{j=e;h=a;g=12;a=1;break e}case 110:{j=e;h=a;g=10;a=1;break e}case 114:{j=e;h=a;g=13;a=1;break e}case 116:{j=e;h=a;g=9;a=1;break e}default:{j=e;h=a;a=1;break e}}}else{j=e;h=k;g=a;a=1}while(0);e=e+a|0;b[o+j>>0]=g;k=h+1|0}while(k>>>0>>0)}else e=0;while(0);b[o+e>>0]=0;if(($e(f[c>>2]|0,o,e,1,101)|0)!=18){t=q;return}f[c+20>>2]=18;$e(f[c>>2]|0,41612,-1,1,0)|0;t=q;return}case 7:case 6:{ar(a,c,0);t=q;return}default:{e=f[c>>2]|0;a=e+8|0;if(!(d[a>>1]&9216)){d[a>>1]=1;t=q;return}else{cf(e);t=q;return}}}while(0);a=f[e>>2]|0;if(!a)e=0;else e=(wz(a)|0)&1073741823;jf(a,l,e,1)|0;i=+p[l>>3];e=f[c>>2]|0;a=e+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else cf(e);p[n>>3]=i;p[o>>3]=+p[n>>3];if(+p[n>>3]==+p[o>>3]){p[e>>3]=i;d[a>>1]=8}t=q;return}function Xq(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=t;t=t+16|0;j=o+8|0;i=o;if(e|0){h=f[(f[a+48>>2]|0)+(e<<2)>>2]|0;Xq(a,c,h);g=f[a+40>>2]|0;a=g+(e*12|0)|0;if((b[g+(h*12|0)>>0]|0)==6){f[i>>2]=f[g+(h*12|0)+8>>2];Yq(30,c,60152,i);t=o;return}else{m=(b[g+(e*12|0)+1>>0]&64)==0?a+-12|0:a;n=f[m+4>>2]|0;m=(f[m+8>>2]|0)+1|0;f[j>>2]=n+-2;f[j+4>>2]=m;Yq(n+1|0,c,60157,j);t=o;return}}n=c+16|0;a=n;h=f[a>>2]|0;a=f[a+4>>2]|0;m=c+8|0;i=m;e=f[i>>2]|0;i=f[i+4>>2]|0;if(a>>>0>>0|(a|0)==(i|0)&h>>>0>>0)g=f[c+4>>2]|0;else{a=i>>>0>0|(i|0)==0&e>>>0>1;p=WA(e|0,i|0,1)|0;j=ba()|0;h=KA(e|0,i|0,11,0)|0;e=ba()|0;h=a?p:h;e=a?j:e;j=c+24|0;do if(!(b[j>>0]|0)){i=c+4|0;a=f[i>>2]|0;if((Mc()|0)==0?(g=Nc(a,h,e)|0,g|0):0){f[i>>2]=g;break}b[c+25>>0]=1;h=f[c>>2]|0;g=f[h>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[h>>2]|0}f[h+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;p=g+272|0;f[p>>2]=(f[p>>2]|0)+1}do if((b[j>>0]|0)==0?(k=f[i>>2]|0,k|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{p=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[i>>2]=c+26;p=m;f[p>>2]=100;f[p+4>>2]=0;p=n;f[p>>2]=0;f[p+4>>2]=0;b[j>>0]=1;t=o;return}else{a=c+25|0;if(b[a>>0]|0){t=o;return}g=xd(h,e)|0;if(g|0){p=c+4|0;YA(g|0,f[p>>2]|0,f[n>>2]|0)|0;f[p>>2]=g;b[j>>0]=0;break}b[a>>0]=1;h=f[c>>2]|0;g=f[h>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[h>>2]|0}f[h+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;p=g+272|0;f[p>>2]=(f[p>>2]|0)+1}g=c+4|0;do if((b[j>>0]|0)==0?(l=f[g>>2]|0,l|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{p=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);f[g>>2]=c+26;p=m;f[p>>2]=100;f[p+4>>2]=0;p=n;f[p>>2]=0;f[p+4>>2]=0;b[j>>0]=1;t=o;return}while(0);a=m;f[a>>2]=h;f[a+4>>2]=e;a=n;h=f[a>>2]|0;a=f[a+4>>2]|0}m=KA(h|0,a|0,1,0)|0;c=ba()|0;p=n;f[p>>2]=m;f[p+4>>2]=c;b[g+h>>0]=36;t=o;return}function Yq(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=t;t=t+48|0;h=k+16|0;i=k;j=c+16|0;m=j;m=KA(f[m>>2]|0,f[m+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;o=ba()|0;l=c+8|0;n=f[l+4>>2]|0;if(!(o>>>0>>0|((o|0)==(n|0)?m>>>0<(f[l>>2]|0)>>>0:0))?Zq(c,a)|0:0){t=k;return}f[i>>2]=g;c=c+4|0;g=(f[c>>2]|0)+(f[j>>2]|0)|0;if((a|0)>=1){f[h+4>>2]=g;f[h>>2]=0;f[h+8>>2]=a;o=h+12|0;f[o>>2]=0;f[o+4>>2]=0;d[o+8>>1]=0;Bc(h,e,i);b[g+(f[h+16>>2]|0)>>0]=0}n=j;o=f[n>>2]|0;n=f[n+4>>2]|0;m=wz((f[c>>2]|0)+o|0)|0;m=KA(o|0,n|0,m|0,((m|0)<0)<<31>>31|0)|0;n=ba()|0;o=j;f[o>>2]=m;f[o+4>>2]=n;t=k;return}function Zq(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=a+8|0;e=h;g=f[e>>2]|0;e=f[e+4>>2]|0;i=e>>>0>0|(e|0)==0&g>>>0>c>>>0;j=WA(g|0,e|0,1)|0;d=ba()|0;c=KA(c|0,0,10,0)|0;e=KA(c|0,ba()|0,g|0,e|0)|0;g=ba()|0;e=i?j:e;g=i?d:g;c=a+24|0;do if(!(b[c>>0]|0)){c=a+4|0;d=jp(f[c>>2]|0,e,g)|0;if(d|0){f[c>>2]=d;break}_q(a);j=7;return j|0}else{if(b[a+25>>0]|0){j=1;return j|0}d=xd(e,g)|0;if(d|0){j=a+4|0;YA(d|0,f[j>>2]|0,f[a+16>>2]|0)|0;f[j>>2]=d;b[c>>0]=0;break}_q(a);j=7;return j|0}while(0);j=h;f[j>>2]=e;f[j+4>>2]=g;j=0;return j|0}function _q(a){a=a|0;var c=0,e=0,g=0;b[a+25>>0]=1;g=f[a>>2]|0;c=f[g>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[g>>2]|0}f[g+20>>2]=7;c=f[c+32>>2]|0;e=c+81|0;if(b[e>>0]|0){$q(a);return}if(b[c+82>>0]|0){$q(a);return}b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;g=c+272|0;f[g>>2]=(f[g>>2]|0)+1;$q(a);return}function $q(a){a=a|0;var c=0,d=0,e=0,g=0;c=a+24|0;d=a+4|0;do if((b[c>>0]|0)==0?(e=f[d>>2]|0,e|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{g=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[d>>2]=a+26;g=a+8|0;f[g>>2]=100;f[g+4>>2]=0;g=a+16|0;f[g>>2]=0;f[g+4>>2]=0;b[c>>0]=1;return}function ar(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=t;t=t+128|0;g=n;f[g>>2]=c;h=g+25|0;b[h>>0]=0;k=g+26|0;l=g+4|0;f[l>>2]=k;m=g+8|0;i=m;f[i>>2]=100;f[i+4>>2]=0;i=g+16|0;j=i;f[j>>2]=0;f[j+4>>2]=0;j=g+24|0;b[j>>0]=1;br(a,g,e);if(b[h>>0]|0){m=f[c>>2]|0;l=m+11|0;b[l>>0]=74;m=m+8|0;l=d[m>>1]|0;l=l|-32768;d[m>>1]=l;t=n;return}a=f[g>>2]|0;e=f[l>>2]|0;o=i;g=f[o>>2]|0;o=f[o+4>>2]|0;h=(b[j>>0]|0)==0?101:-1;if(o>>>0>0|(o|0)==0&g>>>0>2147483647){switch(h|0){case 0:case -1:break;default:ob[h&127](e)}if(a|0){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}}else if(($e(f[a>>2]|0,e,g,1,h)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}f[l>>2]=k;o=m;f[o>>2]=100;f[o+4>>2]=0;o=i;f[o>>2]=0;f[o+4>>2]=0;b[j>>0]=1;o=f[c>>2]|0;m=o+11|0;b[m>>0]=74;o=o+8|0;m=d[o>>1]|0;m=m|-32768;d[o>>1]=m;t=n;return}function br(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;i=h[a+1>>0]|0;do if(!(i&24))q=a;else{a=a+8|0;if(!(i&8)){q=f[a>>2]|0;break}cr(c,f[e+(f[a>>2]<<2)>>2]|0);return}while(0);switch(b[q>>0]|0){case 1:{n=c+16|0;e=n;a=f[e>>2]|0;e=KA(a|0,f[e+4>>2]|0,4,0)|0;M=ba()|0;m=c+8|0;i=m;g=f[i>>2]|0;i=f[i+4>>2]|0;if(M>>>0>>0|(M|0)==(i|0)&e>>>0>>0)g=f[c+4>>2]|0;else{e=i>>>0>0|(i|0)==0&g>>>0>4;M=WA(g|0,i|0,1)|0;l=ba()|0;i=KA(g|0,i|0,14,0)|0;j=ba()|0;i=e?M:i;j=e?l:j;l=c+24|0;do if(!(b[l>>0]|0)){k=c+4|0;g=f[k>>2]|0;if((Mc()|0)==0?(o=Nc(g,i,j)|0,o|0):0){f[k>>2]=o;g=o;break}b[c+25>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;e=g+272|0;f[e>>2]=(f[e>>2]|0)+1}do if((b[l>>0]|0)==0?(t=f[k>>2]|0,t|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](t);break}else{e=ib[f[37368>>2]&255](t)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](t);break}while(0);f[k>>2]=c+26;c=m;f[c>>2]=100;f[c+4>>2]=0;c=n;f[c>>2]=0;f[c+4>>2]=0;b[l>>0]=1;return}else{a=c+25|0;if(b[a>>0]|0)return;g=xd(i,j)|0;if(g|0){c=c+4|0;YA(g|0,f[c>>2]|0,f[n>>2]|0)|0;f[c>>2]=g;b[l>>0]=0;break}b[a>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;e=g+272|0;f[e>>2]=(f[e>>2]|0)+1}g=c+4|0;do if((b[l>>0]|0)==0?(k=f[g>>2]|0,k|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{e=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[g>>2]=c+26;c=m;f[c>>2]=100;f[c+4>>2]=0;c=n;f[c>>2]=0;f[c+4>>2]=0;b[l>>0]=1;return}while(0);a=m;f[a>>2]=i;f[a+4>>2]=j;a=f[n>>2]|0}M=g+a|0;b[M>>0]=116;b[M+1>>0]=114;b[M+2>>0]=117;b[M+3>>0]=101;M=n;M=KA(f[M>>2]|0,f[M+4>>2]|0,4,0)|0;e=ba()|0;c=n;f[c>>2]=M;f[c+4>>2]=e;return}case 2:{n=c+16|0;e=n;a=f[e>>2]|0;e=KA(a|0,f[e+4>>2]|0,5,0)|0;M=ba()|0;m=c+8|0;i=m;g=f[i>>2]|0;i=f[i+4>>2]|0;if(M>>>0>>0|(M|0)==(i|0)&e>>>0>>0)g=f[c+4>>2]|0;else{e=i>>>0>0|(i|0)==0&g>>>0>5;M=WA(g|0,i|0,1)|0;l=ba()|0;i=KA(g|0,i|0,15,0)|0;j=ba()|0;i=e?M:i;j=e?l:j;l=c+24|0;do if(!(b[l>>0]|0)){k=c+4|0;g=f[k>>2]|0;if((Mc()|0)==0?(p=Nc(g,i,j)|0,p|0):0){f[k>>2]=p;g=p;break}b[c+25>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;e=g+272|0;f[e>>2]=(f[e>>2]|0)+1}do if((b[l>>0]|0)==0?(u=f[k>>2]|0,u|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{e=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}while(0);f[k>>2]=c+26;c=m;f[c>>2]=100;f[c+4>>2]=0;c=n;f[c>>2]=0;f[c+4>>2]=0;b[l>>0]=1;return}else{a=c+25|0;if(b[a>>0]|0)return;g=xd(i,j)|0;if(g|0){c=c+4|0;YA(g|0,f[c>>2]|0,f[n>>2]|0)|0;f[c>>2]=g;b[l>>0]=0;break}b[a>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;e=g+272|0;f[e>>2]=(f[e>>2]|0)+1}g=c+4|0;do if((b[l>>0]|0)==0?(v=f[g>>2]|0,v|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](v);break}else{e=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);break}while(0);f[g>>2]=c+26;c=m;f[c>>2]=100;f[c+4>>2]=0;c=n;f[c>>2]=0;f[c+4>>2]=0;b[l>>0]=1;return}while(0);a=m;f[a>>2]=i;f[a+4>>2]=j;a=f[n>>2]|0}M=g+a|0;b[M>>0]=b[49689]|0;b[M+1>>0]=b[49690]|0;b[M+2>>0]=b[49691]|0;b[M+3>>0]=b[49692]|0;b[M+4>>0]=b[49693]|0;M=n;M=KA(f[M>>2]|0,f[M+4>>2]|0,5,0)|0;e=ba()|0;c=n;f[c>>2]=M;f[c+4>>2]=e;return}case 5:{if(b[q+1>>0]&1){dr(c,f[q+8>>2]|0,f[q+4>>2]|0);return}break}case 3:case 4:break;case 6:{v=c+16|0;i=v;j=f[i>>2]|0;i=f[i+4>>2]|0;u=c+8|0;a=u;g=f[a>>2]|0;a=f[a+4>>2]|0;a:do if(i>>>0>>0|(i|0)==(a|0)&j>>>0>>0){g=c+4|0;a=g;k=c+24|0;g=f[g>>2]|0;M=203}else{L=a>>>0>0|(a|0)==0&g>>>0>1;K=WA(g|0,a|0,1)|0;k=ba()|0;i=KA(g|0,a|0,11,0)|0;j=ba()|0;i=L?K:i;j=L?k:j;k=c+24|0;do if(!(b[k>>0]|0)){a=c+4|0;g=f[a>>2]|0;if((Mc()|0)==0?(m=Nc(g,i,j)|0,m|0):0){f[a>>2]=m;g=m;break}l=c+25|0;b[l>>0]=1;j=f[c>>2]|0;g=f[j>>2]|0;i=g+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else{cf(g);g=f[j>>2]|0}f[j+20>>2]=7;g=f[g+32>>2]|0;i=g+81|0;if((b[i>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[i>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;L=g+272|0;f[L>>2]=(f[L>>2]|0)+1}do if((b[k>>0]|0)==0?(A=f[a>>2]|0,A|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{L=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}while(0);f[a>>2]=c+26;t=u;f[t>>2]=100;f[t+4>>2]=0;t=v;f[t>>2]=0;f[t+4>>2]=0;b[k>>0]=1;t=a;break a}else{l=c+25|0;if(b[l>>0]|0){t=c+4|0;break a}g=xd(i,j)|0;if(g|0){a=c+4|0;YA(g|0,f[a>>2]|0,f[v>>2]|0)|0;f[a>>2]=g;b[k>>0]=0;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;L=g+272|0;f[L>>2]=(f[L>>2]|0)+1}g=c+4|0;do if((b[k>>0]|0)==0?(z=f[g>>2]|0,z|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{L=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}while(0);f[g>>2]=c+26;t=u;f[t>>2]=100;f[t+4>>2]=0;t=v;f[t>>2]=0;f[t+4>>2]=0;b[k>>0]=1;t=g;break a}while(0);M=u;f[M>>2]=i;f[M+4>>2]=j;i=v;j=f[i>>2]|0;i=f[i+4>>2]|0;M=203}while(0);if((M|0)==203){M=KA(j|0,i|0,1,0)|0;t=ba()|0;l=v;f[l>>2]=M;f[l+4>>2]=t;b[g+j>>0]=91;l=c+25|0;t=a}s=c+26|0;while(1){r=q+4|0;if(f[r>>2]|0){p=1;do{o=q+(p*12|0)|0;if(!(b[q+(p*12|0)+1>>0]&4)){m=v;j=f[m>>2]|0;m=f[m+4>>2]|0;b:do if(!((j|0)==0&(m|0)==0)){g=f[t>>2]|0;switch(b[g+(j+-1)>>0]|0){case 123:case 91:break b;default:{}}i=u;a=f[i>>2]|0;i=f[i+4>>2]|0;if(m>>>0>>0|(m|0)==(i|0)&j>>>0>>0){n=j;i=j;a=m}else{L=i>>>0>0|(i|0)==0&a>>>0>1;K=WA(a|0,i|0,1)|0;M=ba()|0;a=KA(a|0,i|0,11,0)|0;i=ba()|0;a=L?K:a;i=L?M:i;do if(!(b[k>>0]|0)){if((Mc()|0)==0?(C=Nc(g,a,i)|0,C|0):0){f[t>>2]=C;g=C;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;a=f[g+32>>2]|0;g=a+81|0;if((b[g>>0]|0)==0?(b[a+82>>0]|0)==0:0){b[g>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;M=a+272|0;f[M>>2]=(f[M>>2]|0)+1}do if(!(b[k>>0]|0)){g=f[t>>2]|0;if(!g)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{M=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-M;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[t>>2]=s;M=u;f[M>>2]=100;f[M+4>>2]=0;M=v;f[M>>2]=0;f[M+4>>2]=0;b[k>>0]=1;break b}else{if(b[l>>0]|0)break b;g=xd(a,i)|0;if(g|0){YA(g|0,f[t>>2]|0,f[v>>2]|0)|0;f[t>>2]=g;b[k>>0]=0;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;do if(!(b[a>>0]|0)){if(b[g+82>>0]|0)break;b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;M=g+272|0;f[M>>2]=(f[M>>2]|0)+1}while(0);do if(!(b[k>>0]|0)){g=f[t>>2]|0;if(!g)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{M=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-M;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[t>>2]=s;M=u;f[M>>2]=100;f[M+4>>2]=0;M=v;f[M>>2]=0;f[M+4>>2]=0;b[k>>0]=1;break b}while(0);n=u;f[n>>2]=a;f[n+4>>2]=i;a=v;i=f[a>>2]|0;n=i;a=f[a+4>>2]|0}K=KA(i|0,a|0,1,0)|0;L=ba()|0;M=v;f[M>>2]=K;f[M+4>>2]=L;b[g+n>>0]=44}while(0);br(o,c,e)}if((h[o>>0]|0)>5)g=(f[q+(p*12|0)+4>>2]|0)+1|0;else g=1;p=g+p|0}while(p>>>0<=(f[r>>2]|0)>>>0)}if(!(b[q+1>>0]&32))break;q=q+((f[q+8>>2]|0)*12|0)|0}a=v;i=f[a>>2]|0;a=f[a+4>>2]|0;j=u;g=f[j>>2]|0;j=f[j+4>>2]|0;if(a>>>0>>0|(a|0)==(j|0)&i>>>0>>0)g=f[t>>2]|0;else{M=j>>>0>0|(j|0)==0&g>>>0>1;L=WA(g|0,j|0,1)|0;e=ba()|0;a=KA(g|0,j|0,11,0)|0;i=ba()|0;a=M?L:a;i=M?e:i;do if(!(b[k>>0]|0)){g=f[t>>2]|0;if((Mc()|0)==0?(D=Nc(g,a,i)|0,D|0):0){f[t>>2]=D;g=D;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;c=g+272|0;f[c>>2]=(f[c>>2]|0)+1}do if((b[k>>0]|0)==0?(F=f[t>>2]|0,F|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](F);break}else{c=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);break}while(0);f[t>>2]=s;c=u;f[c>>2]=100;f[c+4>>2]=0;c=v;f[c>>2]=0;f[c+4>>2]=0;b[k>>0]=1;return}else{if(b[l>>0]|0)return;g=xd(a,i)|0;if(g|0){YA(g|0,f[t>>2]|0,f[v>>2]|0)|0;f[t>>2]=g;b[k>>0]=0;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;c=g+272|0;f[c>>2]=(f[c>>2]|0)+1}do if((b[k>>0]|0)==0?(E=f[t>>2]|0,E|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](E);break}else{c=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);break}while(0);f[t>>2]=s;c=u;f[c>>2]=100;f[c+4>>2]=0;c=v;f[c>>2]=0;f[c+4>>2]=0;b[k>>0]=1;return}while(0);c=u;f[c>>2]=a;f[c+4>>2]=i;a=v;i=f[a>>2]|0;a=f[a+4>>2]|0}M=KA(i|0,a|0,1,0)|0;e=ba()|0;c=v;f[c>>2]=M;f[c+4>>2]=e;b[g+i>>0]=93;return}case 7:{w=c+16|0;i=w;j=f[i>>2]|0;i=f[i+4>>2]|0;v=c+8|0;a=v;g=f[a>>2]|0;a=f[a+4>>2]|0;c:do if(i>>>0>>0|(i|0)==(a|0)&j>>>0>>0){g=c+4|0;a=g;k=c+24|0;g=f[g>>2]|0;M=332}else{F=a>>>0>0|(a|0)==0&g>>>0>1;E=WA(g|0,a|0,1)|0;k=ba()|0;i=KA(g|0,a|0,11,0)|0;j=ba()|0;i=F?E:i;j=F?k:j;k=c+24|0;do if(!(b[k>>0]|0)){a=c+4|0;g=f[a>>2]|0;if((Mc()|0)==0?(l=Nc(g,i,j)|0,l|0):0){f[a>>2]=l;g=l;break}l=c+25|0;b[l>>0]=1;j=f[c>>2]|0;g=f[j>>2]|0;i=g+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else{cf(g);g=f[j>>2]|0}f[j+20>>2]=7;g=f[g+32>>2]|0;i=g+81|0;if((b[i>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[i>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;F=g+272|0;f[F>>2]=(f[F>>2]|0)+1}do if((b[k>>0]|0)==0?(x=f[a>>2]|0,x|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](x);break}else{F=ib[f[37368>>2]&255](x)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](x);break}while(0);f[a>>2]=c+26;u=v;f[u>>2]=100;f[u+4>>2]=0;u=w;f[u>>2]=0;f[u+4>>2]=0;b[k>>0]=1;u=a;break c}else{l=c+25|0;if(b[l>>0]|0){u=c+4|0;break c}g=xd(i,j)|0;if(g|0){a=c+4|0;YA(g|0,f[a>>2]|0,f[w>>2]|0)|0;f[a>>2]=g;b[k>>0]=0;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;F=g+272|0;f[F>>2]=(f[F>>2]|0)+1}g=c+4|0;do if((b[k>>0]|0)==0?(n=f[g>>2]|0,n|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{F=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}while(0);f[g>>2]=c+26;u=v;f[u>>2]=100;f[u+4>>2]=0;u=w;f[u>>2]=0;f[u+4>>2]=0;b[k>>0]=1;u=g;break c}while(0);M=v;f[M>>2]=i;f[M+4>>2]=j;i=w;j=f[i>>2]|0;i=f[i+4>>2]|0;M=332}while(0);if((M|0)==332){F=KA(j|0,i|0,1,0)|0;u=ba()|0;l=w;f[l>>2]=F;f[l+4>>2]=u;b[g+j>>0]=123;l=c+25|0;u=a}t=c+26|0;while(1){r=q+4|0;if(f[r>>2]|0){o=1;do{s=o+1|0;p=q+(s*12|0)|0;if(!(b[q+(s*12|0)+1>>0]&4)){m=w;j=f[m>>2]|0;m=f[m+4>>2]|0;d:do if(!((j|0)==0&(m|0)==0)){g=f[u>>2]|0;switch(b[g+(j+-1)>>0]|0){case 123:case 91:break d;default:{}}i=v;a=f[i>>2]|0;i=f[i+4>>2]|0;if(m>>>0>>0|(m|0)==(i|0)&j>>>0>>0){n=j;i=j;a=m}else{E=i>>>0>0|(i|0)==0&a>>>0>1;D=WA(a|0,i|0,1)|0;F=ba()|0;a=KA(a|0,i|0,11,0)|0;i=ba()|0;a=E?D:a;i=E?F:i;do if(!(b[k>>0]|0)){if((Mc()|0)==0?(G=Nc(g,a,i)|0,G|0):0){f[u>>2]=G;g=G;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;F=g+272|0;f[F>>2]=(f[F>>2]|0)+1}do if(!(b[k>>0]|0)){g=f[u>>2]|0;if(!g)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{F=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[u>>2]=t;F=v;f[F>>2]=100;f[F+4>>2]=0;F=w;f[F>>2]=0;f[F+4>>2]=0;b[k>>0]=1;break d}else{if(b[l>>0]|0)break d;g=xd(a,i)|0;if(g|0){YA(g|0,f[u>>2]|0,f[w>>2]|0)|0;f[u>>2]=g;b[k>>0]=0;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;do if(!(b[a>>0]|0)){if(b[g+82>>0]|0)break;b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;F=g+272|0;f[F>>2]=(f[F>>2]|0)+1}while(0);do if(!(b[k>>0]|0)){g=f[u>>2]|0;if(!g)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{F=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[u>>2]=t;F=v;f[F>>2]=100;f[F+4>>2]=0;F=w;f[F>>2]=0;f[F+4>>2]=0;b[k>>0]=1;break d}while(0);n=v;f[n>>2]=a;f[n+4>>2]=i;a=w;i=f[a>>2]|0;n=i;a=f[a+4>>2]|0}D=KA(i|0,a|0,1,0)|0;E=ba()|0;F=w;f[F>>2]=D;f[F+4>>2]=E;b[g+n>>0]=44}while(0);br(q+(o*12|0)|0,c,e);j=w;g=f[j>>2]|0;j=f[j+4>>2]|0;i=v;a=f[i>>2]|0;i=f[i+4>>2]|0;e:do if(j>>>0>>0|(j|0)==(i|0)&g>>>0>>0){i=g;a=j;g=f[u>>2]|0;M=415}else{E=i>>>0>0|(i|0)==0&a>>>0>1;D=WA(a|0,i|0,1)|0;F=ba()|0;a=KA(a|0,i|0,11,0)|0;i=ba()|0;a=E?D:a;i=E?F:i;do if(!(b[k>>0]|0)){g=f[u>>2]|0;if((Mc()|0)==0?(H=Nc(g,a,i)|0,H|0):0){f[u>>2]=H;g=H;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;F=g+272|0;f[F>>2]=(f[F>>2]|0)+1}do if((b[k>>0]|0)==0?(I=f[u>>2]|0,I|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](I);break}else{F=ib[f[37368>>2]&255](I)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](I);break}while(0);f[u>>2]=t;F=v;f[F>>2]=100;f[F+4>>2]=0;F=w;f[F>>2]=0;f[F+4>>2]=0;b[k>>0]=1;break e}else{if(b[l>>0]|0)break e;g=xd(a,i)|0;if(g|0){YA(g|0,f[u>>2]|0,f[w>>2]|0)|0;f[u>>2]=g;b[k>>0]=0;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;F=g+272|0;f[F>>2]=(f[F>>2]|0)+1}do if(!(b[k>>0]|0)){g=f[u>>2]|0;if(!g)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{F=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[u>>2]=t;F=v;f[F>>2]=100;f[F+4>>2]=0;F=w;f[F>>2]=0;f[F+4>>2]=0;b[k>>0]=1;break e}while(0);M=v;f[M>>2]=a;f[M+4>>2]=i;a=w;i=f[a>>2]|0;a=f[a+4>>2]|0;M=415}while(0);if((M|0)==415){M=0;D=KA(i|0,a|0,1,0)|0;E=ba()|0;F=w;f[F>>2]=D;f[F+4>>2]=E;b[g+i>>0]=58}br(p,c,e)}if((h[p>>0]|0)>5)g=(f[q+(s*12|0)+4>>2]|0)+1|0;else g=1;o=s+g|0}while(o>>>0<=(f[r>>2]|0)>>>0)}if(!(b[q+1>>0]&32))break;q=q+((f[q+8>>2]|0)*12|0)|0}a=w;i=f[a>>2]|0;a=f[a+4>>2]|0;j=v;g=f[j>>2]|0;j=f[j+4>>2]|0;if(a>>>0>>0|(a|0)==(j|0)&i>>>0>>0)g=f[u>>2]|0;else{M=j>>>0>0|(j|0)==0&g>>>0>1;I=WA(g|0,j|0,1)|0;e=ba()|0;a=KA(g|0,j|0,11,0)|0;i=ba()|0;a=M?I:a;i=M?e:i;do if(!(b[k>>0]|0)){g=f[u>>2]|0;if((Mc()|0)==0?(J=Nc(g,a,i)|0,J|0):0){f[u>>2]=J;g=J;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;c=g+272|0;f[c>>2]=(f[c>>2]|0)+1}do if((b[k>>0]|0)==0?(L=f[u>>2]|0,L|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](L);break}else{c=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);break}while(0);f[u>>2]=t;c=v;f[c>>2]=100;f[c+4>>2]=0;c=w;f[c>>2]=0;f[c+4>>2]=0;b[k>>0]=1;return}else{if(b[l>>0]|0)return;g=xd(a,i)|0;if(g|0){YA(g|0,f[u>>2]|0,f[w>>2]|0)|0;f[u>>2]=g;b[k>>0]=0;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;c=g+272|0;f[c>>2]=(f[c>>2]|0)+1}do if((b[k>>0]|0)==0?(K=f[u>>2]|0,K|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](K);break}else{c=ib[f[37368>>2]&255](K)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](K);break}while(0);f[u>>2]=t;c=v;f[c>>2]=100;f[c+4>>2]=0;c=w;f[c>>2]=0;f[c+4>>2]=0;b[k>>0]=1;return}while(0);c=v;f[c>>2]=a;f[c+4>>2]=i;a=w;i=f[a>>2]|0;a=f[a+4>>2]|0}M=KA(i|0,a|0,1,0)|0;e=ba()|0;c=w;f[c>>2]=M;f[c+4>>2]=e;b[g+i>>0]=125;return}default:{n=c+16|0;e=n;a=f[e>>2]|0;e=KA(a|0,f[e+4>>2]|0,4,0)|0;M=ba()|0;m=c+8|0;j=m;i=f[j>>2]|0;j=f[j+4>>2]|0;if(M>>>0>>0|(M|0)==(j|0)&e>>>0>>0)g=f[c+4>>2]|0;else{e=j>>>0>0|(j|0)==0&i>>>0>4;M=WA(i|0,j|0,1)|0;l=ba()|0;i=KA(i|0,j|0,14,0)|0;j=ba()|0;i=e?M:i;j=e?l:j;l=c+24|0;do if(!(b[l>>0]|0)){k=c+4|0;a=f[k>>2]|0;if((Mc()|0)==0?(g=Nc(a,i,j)|0,g|0):0){f[k>>2]=g;break}b[c+25>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;e=g+272|0;f[e>>2]=(f[e>>2]|0)+1}do if((b[l>>0]|0)==0?(s=f[k>>2]|0,s|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{e=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}while(0);f[k>>2]=c+26;c=m;f[c>>2]=100;f[c+4>>2]=0;c=n;f[c>>2]=0;f[c+4>>2]=0;b[l>>0]=1;return}else{a=c+25|0;if(b[a>>0]|0)return;g=xd(i,j)|0;if(g|0){c=c+4|0;YA(g|0,f[c>>2]|0,f[n>>2]|0)|0;f[c>>2]=g;b[l>>0]=0;break}b[a>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;e=g+272|0;f[e>>2]=(f[e>>2]|0)+1}g=c+4|0;do if((b[l>>0]|0)==0?(w=f[g>>2]|0,w|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{e=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}while(0);f[g>>2]=c+26;c=m;f[c>>2]=100;f[c+4>>2]=0;c=n;f[c>>2]=0;f[c+4>>2]=0;b[l>>0]=1;return}while(0);a=m;f[a>>2]=i;f[a+4>>2]=j;a=f[n>>2]|0}M=g+a|0;b[M>>0]=110;b[M+1>>0]=117;b[M+2>>0]=108;b[M+3>>0]=108;M=n;M=KA(f[M>>2]|0,f[M+4>>2]|0,4,0)|0;e=ba()|0;c=n;f[c>>2]=M;f[c+4>>2]=e;return}}m=f[q+8>>2]|0;l=f[q+4>>2]|0;p=c+16|0;e=p;a=f[e>>2]|0;e=KA(a|0,f[e+4>>2]|0,l|0,0)|0;M=ba()|0;o=c+8|0;i=o;g=f[i>>2]|0;i=f[i+4>>2]|0;if(M>>>0>>0|(M|0)==(i|0)&e>>>0>>0)g=f[c+4>>2]|0;else{e=i>>>0>0|(i|0)==0&g>>>0>l>>>0;M=WA(g|0,i|0,1)|0;n=ba()|0;j=KA(l|0,0,10,0)|0;i=KA(j|0,ba()|0,g|0,i|0)|0;j=ba()|0;i=e?M:i;j=e?n:j;n=c+24|0;do if(!(b[n>>0]|0)){k=c+4|0;g=f[k>>2]|0;if((Mc()|0)==0?(r=Nc(g,i,j)|0,r|0):0){f[k>>2]=r;g=r;break}b[c+25>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;e=g+272|0;f[e>>2]=(f[e>>2]|0)+1}do if((b[n>>0]|0)==0?(y=f[k>>2]|0,y|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](y);break}else{e=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y);break}while(0);f[k>>2]=c+26;c=o;f[c>>2]=100;f[c+4>>2]=0;c=p;f[c>>2]=0;f[c+4>>2]=0;b[n>>0]=1;return}else{a=c+25|0;if(b[a>>0]|0)return;g=xd(i,j)|0;if(g|0){c=c+4|0;YA(g|0,f[c>>2]|0,f[p>>2]|0)|0;f[c>>2]=g;b[n>>0]=0;break}b[a>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;e=g+272|0;f[e>>2]=(f[e>>2]|0)+1}g=c+4|0;do if((b[n>>0]|0)==0?(B=f[g>>2]|0,B|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](B);break}else{e=ib[f[37368>>2]&255](B)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](B);break}while(0);f[g>>2]=c+26;c=o;f[c>>2]=100;f[c+4>>2]=0;c=p;f[c>>2]=0;f[c+4>>2]=0;b[n>>0]=1;return}while(0);a=o;f[a>>2]=i;f[a+4>>2]=j;a=f[p>>2]|0}YA(g+a|0,m|0,l|0)|0;M=p;M=KA(f[M>>2]|0,f[M+4>>2]|0,l|0,0)|0;e=ba()|0;c=p;f[c>>2]=M;f[c+4>>2]=e;return}function cr(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=c+8|0;h=d[j>>1]|0;switch(b[5792+(h&31)>>0]|0){case 5:{m=a+16|0;s=m;g=f[s>>2]|0;s=KA(g|0,f[s+4>>2]|0,4,0)|0;r=ba()|0;k=a+8|0;i=k;h=f[i>>2]|0;i=f[i+4>>2]|0;if(r>>>0>>0|(r|0)==(i|0)&s>>>0>>0)e=f[a+4>>2]|0;else{s=i>>>0>0|(i|0)==0&h>>>0>4;r=WA(h|0,i|0,1)|0;c=ba()|0;h=KA(h|0,i|0,14,0)|0;i=ba()|0;h=s?r:h;i=s?c:i;c=a+24|0;do if(!(b[c>>0]|0)){j=a+4|0;g=f[j>>2]|0;if((Mc()|0)==0?(e=Nc(g,h,i)|0,e|0):0){f[j>>2]=e;break}b[a+25>>0]=1;h=f[a>>2]|0;e=f[h>>2]|0;g=e+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(e);e=f[h>>2]|0}f[h+20>>2]=7;e=f[e+32>>2]|0;g=e+81|0;if((b[g>>0]|0)==0?(b[e+82>>0]|0)==0:0){b[g>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;s=e+272|0;f[s>>2]=(f[s>>2]|0)+1}do if((b[c>>0]|0)==0?(l=f[j>>2]|0,l|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{s=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);f[j>>2]=a+26;a=k;f[a>>2]=100;f[a+4>>2]=0;a=m;f[a>>2]=0;f[a+4>>2]=0;b[c>>0]=1;return}else{g=a+25|0;if(b[g>>0]|0)return;e=xd(h,i)|0;if(e|0){a=a+4|0;YA(e|0,f[a>>2]|0,f[m>>2]|0)|0;f[a>>2]=e;b[c>>0]=0;break}b[g>>0]=1;h=f[a>>2]|0;e=f[h>>2]|0;g=e+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(e);e=f[h>>2]|0}f[h+20>>2]=7;e=f[e+32>>2]|0;g=e+81|0;if((b[g>>0]|0)==0?(b[e+82>>0]|0)==0:0){b[g>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;s=e+272|0;f[s>>2]=(f[s>>2]|0)+1}e=a+4|0;do if((b[c>>0]|0)==0?(o=f[e>>2]|0,o|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{s=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}while(0);f[e>>2]=a+26;a=k;f[a>>2]=100;f[a+4>>2]=0;a=m;f[a>>2]=0;f[a+4>>2]=0;b[c>>0]=1;return}while(0);g=k;f[g>>2]=h;f[g+4>>2]=i;g=f[m>>2]|0}r=e+g|0;b[r>>0]=110;b[r+1>>0]=117;b[r+2>>0]=108;b[r+3>>0]=108;r=m;r=KA(f[r>>2]|0,f[r+4>>2]|0,4,0)|0;s=ba()|0;a=m;f[a>>2]=r;f[a+4>>2]=s;return}case 2:case 1:{if((h&514)==514?(b[c+10>>0]|0)==1:0){k=f[c+16>>2]|0;e=h}else if(!(h&1)){k=Ic(c,1)|0;e=d[j>>1]|0}else{k=0;e=h}if((e&2)!=0?(b[c+10>>0]|0)==1:0)c=f[c+12>>2]|0;else g=49;do if((g|0)==49){e=e&65535;if(!(e&16)){if(e&1|0){c=0;break}c=_e(c,1)|0;break}else{g=f[c+12>>2]|0;if(!(e&16384)){c=g;break}c=(f[c>>2]|0)+g|0;break}}while(0);o=a+16|0;s=o;g=f[s>>2]|0;s=KA(g|0,f[s+4>>2]|0,c|0,0)|0;r=ba()|0;n=a+8|0;h=n;e=f[h>>2]|0;h=f[h+4>>2]|0;if(r>>>0>>0|(r|0)==(h|0)&s>>>0>>0)e=f[a+4>>2]|0;else{s=h>>>0>0|(h|0)==0&e>>>0>c>>>0;r=WA(e|0,h|0,1)|0;l=ba()|0;i=KA(c|0,0,10,0)|0;h=KA(i|0,ba()|0,e|0,h|0)|0;i=ba()|0;h=s?r:h;i=s?l:i;l=a+24|0;do if(!(b[l>>0]|0)){j=a+4|0;e=f[j>>2]|0;if((Mc()|0)==0?(m=Nc(e,h,i)|0,m|0):0){f[j>>2]=m;e=m;break}b[a+25>>0]=1;h=f[a>>2]|0;e=f[h>>2]|0;g=e+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(e);e=f[h>>2]|0}f[h+20>>2]=7;e=f[e+32>>2]|0;g=e+81|0;if((b[g>>0]|0)==0?(b[e+82>>0]|0)==0:0){b[g>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;s=e+272|0;f[s>>2]=(f[s>>2]|0)+1}do if((b[l>>0]|0)==0?(p=f[j>>2]|0,p|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{s=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);f[j>>2]=a+26;a=n;f[a>>2]=100;f[a+4>>2]=0;a=o;f[a>>2]=0;f[a+4>>2]=0;b[l>>0]=1;return}else{g=a+25|0;if(b[g>>0]|0)return;e=xd(h,i)|0;if(e|0){a=a+4|0;YA(e|0,f[a>>2]|0,f[o>>2]|0)|0;f[a>>2]=e;b[l>>0]=0;break}b[g>>0]=1;h=f[a>>2]|0;e=f[h>>2]|0;g=e+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(e);e=f[h>>2]|0}f[h+20>>2]=7;e=f[e+32>>2]|0;g=e+81|0;if((b[g>>0]|0)==0?(b[e+82>>0]|0)==0:0){b[g>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;s=e+272|0;f[s>>2]=(f[s>>2]|0)+1}e=a+4|0;do if((b[l>>0]|0)==0?(q=f[e>>2]|0,q|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{s=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);f[e>>2]=a+26;a=n;f[a>>2]=100;f[a+4>>2]=0;a=o;f[a>>2]=0;f[a+4>>2]=0;b[l>>0]=1;return}while(0);g=n;f[g>>2]=h;f[g+4>>2]=i;g=f[o>>2]|0}YA(e+g|0,k|0,c|0)|0;r=o;r=KA(f[r>>2]|0,f[r+4>>2]|0,c|0,0)|0;s=ba()|0;a=o;f[a>>2]=r;f[a+4>>2]=s;return}case 3:{if((h&514)==514?(b[c+10>>0]|0)==1:0)l=f[c+16>>2]|0;else if(!(h&1)){l=Ic(c,1)|0;h=d[j>>1]|0}else l=0;if((h&2)!=0?(b[c+10>>0]|0)==1:0){k=f[c+12>>2]|0;e=h}else g=101;do if((g|0)==101){g=h&65535;if(!(g&16)){if(g&1|0){k=0;e=h;break}k=_e(c,1)|0;e=d[j>>1]|0;break}else{e=f[c+12>>2]|0;if(!(g&16384)){k=e;e=h;break}k=(f[c>>2]|0)+e|0;e=h;break}}while(0);if(e<<16>>16<0?(b[c+11>>0]|0)==74:0){o=a+16|0;q=o;g=f[q>>2]|0;q=KA(g|0,f[q+4>>2]|0,k|0,0)|0;p=ba()|0;m=a+8|0;h=m;e=f[h>>2]|0;h=f[h+4>>2]|0;if(p>>>0>>0|(p|0)==(h|0)&q>>>0>>0)e=f[a+4>>2]|0;else{q=h>>>0>0|(h|0)==0&e>>>0>k>>>0;p=WA(e|0,h|0,1)|0;c=ba()|0;i=KA(k|0,0,10,0)|0;h=KA(i|0,ba()|0,e|0,h|0)|0;i=ba()|0;h=q?p:h;i=q?c:i;c=a+24|0;do if(!(b[c>>0]|0)){j=a+4|0;e=f[j>>2]|0;if((Mc()|0)==0?(n=Nc(e,h,i)|0,n|0):0){f[j>>2]=n;e=n;break}b[a+25>>0]=1;h=f[a>>2]|0;e=f[h>>2]|0;g=e+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(e);e=f[h>>2]|0}f[h+20>>2]=7;e=f[e+32>>2]|0;g=e+81|0;if((b[g>>0]|0)==0?(b[e+82>>0]|0)==0:0){b[g>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;s=e+272|0;f[s>>2]=(f[s>>2]|0)+1}do if((b[c>>0]|0)==0?(r=f[j>>2]|0,r|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{s=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);f[j>>2]=a+26;a=m;f[a>>2]=100;f[a+4>>2]=0;a=o;f[a>>2]=0;f[a+4>>2]=0;b[c>>0]=1;return}else{g=a+25|0;if(b[g>>0]|0)return;e=xd(h,i)|0;if(e|0){a=a+4|0;YA(e|0,f[a>>2]|0,f[o>>2]|0)|0;f[a>>2]=e;b[c>>0]=0;break}b[g>>0]=1;h=f[a>>2]|0;e=f[h>>2]|0;g=e+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(e);e=f[h>>2]|0}f[h+20>>2]=7;e=f[e+32>>2]|0;g=e+81|0;if((b[g>>0]|0)==0?(b[e+82>>0]|0)==0:0){b[g>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;r=e+272|0;f[r>>2]=(f[r>>2]|0)+1}e=a+4|0;do if((b[c>>0]|0)==0?(s=f[e>>2]|0,s|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{r=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}while(0);f[e>>2]=a+26;a=m;f[a>>2]=100;f[a+4>>2]=0;a=o;f[a>>2]=0;f[a+4>>2]=0;b[c>>0]=1;return}while(0);g=m;f[g>>2]=h;f[g+4>>2]=i;g=f[o>>2]|0}YA(e+g|0,l|0,k|0)|0;r=o;r=KA(f[r>>2]|0,f[r+4>>2]|0,k|0,0)|0;s=ba()|0;a=o;f[a>>2]=r;f[a+4>>2]=s;return}dr(a,l,k);return}default:{e=a+25|0;if(b[e>>0]|0)return;g=f[a>>2]|0;f[g+20>>2]=1;$e(f[g>>2]|0,60195,-1,1,-1)|0;b[e>>0]=2;e=a+24|0;g=a+4|0;do if((b[e>>0]|0)==0?(i=f[g>>2]|0,i|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{s=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[g>>2]=a+26;s=a+8|0;f[s>>2]=100;f[s+4>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;b[e>>0]=1;return}}}function dr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;C=a+16|0;h=C;i=f[h>>2]|0;h=f[h+4>>2]|0;A=KA(e|0,0,2,0)|0;A=KA(A|0,ba()|0,i|0,h|0)|0;v=ba()|0;B=a+8|0;k=B;j=f[k>>2]|0;k=f[k+4>>2]|0;if(v>>>0>>0|(v|0)==(k|0)&A>>>0>>0){g=a+4|0;A=g;g=f[g>>2]|0}else{i=e+2|0;A=k>>>0>0|(k|0)==0&j>>>0>i>>>0;v=WA(j|0,k|0,1)|0;n=ba()|0;i=KA(i|0,0,10,0)|0;i=KA(i|0,ba()|0,j|0,k|0)|0;j=ba()|0;i=A?v:i;j=A?n:j;n=a+24|0;do if(!(b[n>>0]|0)){k=a+4|0;h=f[k>>2]|0;if((Mc()|0)==0?(g=Nc(h,i,j)|0,g|0):0){f[k>>2]=g;h=k;break}b[a+25>>0]=1;i=f[a>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;A=g+272|0;f[A>>2]=(f[A>>2]|0)+1}do if((b[n>>0]|0)==0?(l=f[k>>2]|0,l|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{A=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);f[k>>2]=a+26;f[B>>2]=100;f[B+4>>2]=0;f[C>>2]=0;f[C+4>>2]=0;b[n>>0]=1;return}else{h=a+25|0;if(b[h>>0]|0)return;g=xd(i,j)|0;if(g|0){h=a+4|0;YA(g|0,f[h>>2]|0,f[C>>2]|0)|0;f[h>>2]=g;b[n>>0]=0;break}b[h>>0]=1;i=f[a>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;A=g+272|0;f[A>>2]=(f[A>>2]|0)+1}g=a+4|0;do if((b[n>>0]|0)==0?(m=f[g>>2]|0,m|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{A=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);f[g>>2]=a+26;f[B>>2]=100;f[B+4>>2]=0;f[C>>2]=0;f[C+4>>2]=0;b[n>>0]=1;return}while(0);v=B;f[v>>2]=i;f[v+4>>2]=j;v=C;A=h;i=f[v>>2]|0;h=f[v+4>>2]|0}s=KA(i|0,h|0,1,0)|0;t=ba()|0;v=C;f[v>>2]=s;f[v+4>>2]=t;b[g+i>>0]=34;a:do if(e|0){n=KA(e|0,0,3,0)|0;o=ba()|0;p=e+3|0;v=a+24|0;q=KA(e|0,0,7,0)|0;r=ba()|0;s=a+25|0;t=e+7|0;l=0;m=0;b:while(1){g=b[c+m>>0]|0;k=g&255;c:do switch(g<<24>>24){case 92:case 34:{u=42;break}default:if((g&255)<32){if(14080>>>k&1|0){g=b[23952+k>>0]|0;u=42;break c}h=C;g=f[h>>2]|0;h=f[h+4>>2]|0;D=KA(q|0,r|0,m|0,0)|0;D=KA(D|0,ba()|0,g|0,h|0)|0;E=ba()|0;j=B;i=f[j>>2]|0;j=f[j+4>>2]|0;if(E>>>0>j>>>0|(E|0)==(j|0)&D>>>0>i>>>0){h=t+l|0;D=j>>>0>0|(j|0)==0&i>>>0>h>>>0;l=WA(i|0,j|0,1)|0;E=ba()|0;h=KA(h|0,0,10,0)|0;h=KA(h|0,ba()|0,i|0,j|0)|0;i=ba()|0;h=D?l:h;i=D?E:i;if(!(b[v>>0]|0)){g=f[A>>2]|0;if(Mc()|0){u=106;break b}g=Nc(g,h,i)|0;if(!g){u=106;break b}f[A>>2]=g}else{if(b[s>>0]|0){u=125;break b}g=xd(h,i)|0;if(!g){u=89;break b}YA(g|0,f[A>>2]|0,f[C>>2]|0)|0;f[A>>2]=g;b[v>>0]=0}E=B;f[E>>2]=h;f[E+4>>2]=i;h=C;i=f[h>>2]|0;h=f[h+4>>2]|0}else{i=g;g=f[A>>2]|0}l=KA(i|0,h|0,1,0)|0;D=ba()|0;E=C;f[E>>2]=l;f[E+4>>2]=D;b[g+i>>0]=92;g=f[A>>2]|0;E=C;D=f[E>>2]|0;E=KA(D|0,f[E+4>>2]|0,1,0)|0;l=ba()|0;j=C;f[j>>2]=E;f[j+4>>2]=l;b[g+D>>0]=117;D=f[A>>2]|0;g=C;j=f[g>>2]|0;g=KA(j|0,f[g+4>>2]|0,1,0)|0;l=ba()|0;E=C;f[E>>2]=g;f[E+4>>2]=l;b[D+j>>0]=48;j=f[A>>2]|0;D=C;E=f[D>>2]|0;D=KA(E|0,f[D+4>>2]|0,1,0)|0;l=ba()|0;g=C;f[g>>2]=D;f[g+4>>2]=l;b[j+E>>0]=48;E=f[A>>2]|0;j=C;g=f[j>>2]|0;j=KA(g|0,f[j+4>>2]|0,1,0)|0;l=ba()|0;D=C;f[D>>2]=j;f[D+4>>2]=l;b[E+g>>0]=k>>>4|48;g=b[60178+(k&15)>>0]|0}}while(0);if((u|0)==42){u=0;i=C;h=f[i>>2]|0;i=f[i+4>>2]|0;E=LA(n|0,o|0,m|0,0)|0;E=KA(E|0,ba()|0,h|0,i|0)|0;D=ba()|0;k=B;j=f[k>>2]|0;k=f[k+4>>2]|0;if(D>>>0>k>>>0|(D|0)==(k|0)&E>>>0>j>>>0){i=p+l|0;D=k>>>0>0|(k|0)==0&j>>>0>i>>>0;l=WA(j|0,k|0,1)|0;E=ba()|0;i=KA(i|0,0,10,0)|0;i=KA(i|0,ba()|0,j|0,k|0)|0;j=ba()|0;i=D?l:i;j=D?E:j;if(!(b[v>>0]|0)){h=f[A>>2]|0;if(Mc()|0){u=64;break}h=Nc(h,i,j)|0;if(!h){u=64;break}f[A>>2]=h}else{if(b[s>>0]|0){u=125;break}h=xd(i,j)|0;if(!h){u=47;break}YA(h|0,f[A>>2]|0,f[C>>2]|0)|0;f[A>>2]=h;b[v>>0]=0}E=B;f[E>>2]=i;f[E+4>>2]=j;i=C;j=f[i>>2]|0;i=f[i+4>>2]|0}else{j=h;h=f[A>>2]|0}l=KA(j|0,i|0,1,0)|0;D=ba()|0;E=C;f[E>>2]=l;f[E+4>>2]=D;b[h+j>>0]=92}D=f[A>>2]|0;j=C;E=f[j>>2]|0;j=KA(E|0,f[j+4>>2]|0,1,0)|0;k=ba()|0;l=C;f[l>>2]=j;f[l+4>>2]=k;b[D+E>>0]=g;g=m+1|0;if(g>>>0>>0){l=~m;m=g}else break a}if((u|0)==47){b[s>>0]=1;i=f[a>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;E=g+272|0;f[E>>2]=(f[E>>2]|0)+1}do if((b[v>>0]|0)==0?(w=f[A>>2]|0,w|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{E=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}while(0);f[A>>2]=a+26;E=B;f[E>>2]=100;f[E+4>>2]=0;E=C;f[E>>2]=0;f[E+4>>2]=0;b[v>>0]=1;return}else if((u|0)==64){b[s>>0]=1;i=f[a>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;E=g+272|0;f[E>>2]=(f[E>>2]|0)+1}do if((b[v>>0]|0)==0?(x=f[A>>2]|0,x|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](x);break}else{E=ib[f[37368>>2]&255](x)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](x);break}while(0);f[A>>2]=a+26;E=B;f[E>>2]=100;f[E+4>>2]=0;E=C;f[E>>2]=0;f[E+4>>2]=0;b[v>>0]=1;return}else if((u|0)==89){b[s>>0]=1;i=f[a>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;E=g+272|0;f[E>>2]=(f[E>>2]|0)+1}do if((b[v>>0]|0)==0?(y=f[A>>2]|0,y|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](y);break}else{E=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y);break}while(0);f[A>>2]=a+26;E=B;f[E>>2]=100;f[E+4>>2]=0;E=C;f[E>>2]=0;f[E+4>>2]=0;b[v>>0]=1;return}else if((u|0)==106){b[s>>0]=1;i=f[a>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;E=g+272|0;f[E>>2]=(f[E>>2]|0)+1}do if((b[v>>0]|0)==0?(z=f[A>>2]|0,z|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{E=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}while(0);f[A>>2]=a+26;E=B;f[E>>2]=100;f[E+4>>2]=0;E=C;f[E>>2]=0;f[E+4>>2]=0;b[v>>0]=1;return}else if((u|0)==125)return}while(0);D=f[A>>2]|0;a=C;E=f[a>>2]|0;a=KA(E|0,f[a+4>>2]|0,1,0)|0;B=ba()|0;f[C>>2]=a;f[C+4>>2]=B;b[D+E>>0]=34;return}function er(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=f[a+12>>2]|0;t=c;while(1){c=b[s+t>>0]|0;i=t+1|0;if(!(b[23984+(c&255)>>0]|0))break;else t=i}u=s+t|0;a:do switch(c<<24>>24){case 123:{c=f[a>>2]|0;if(c>>>0<(f[a+4>>2]|0)>>>0){j=f[a+8>>2]|0;b[j+(c*12|0)>>0]=7;b[j+(c*12|0)+1>>0]=0;f[j+(c*12|0)+4>>2]=0;f[j+(c*12|0)+8>>2]=0;j=f[a>>2]|0;f[a>>2]=j+1}else j=hr(a,7,0,0)|0;if((j|0)<0){a=-1;return a|0}k=a+22|0;i=a+20|0;l=a+8|0;g=t;b:while(1){c=g+1|0;if(!(b[23984+(h[s+c>>0]|0)>>0]|0)){m=(d[k>>1]|0)+1<<16>>16;d[k>>1]=m;if((m&65535)>2e3){r=-1;m=91;break}n=er(a,c)|0;if((n|0)<0){m=13;break}if(b[i>>0]|0){r=-1;m=91;break}c=f[l>>2]|0;e=(f[a>>2]|0)+-1|0;if((b[c+(e*12|0)>>0]|0)!=5){r=-1;m=91;break}c=c+(e*12|0)+1|0;b[c>>0]=b[c>>0]|64;c=n;do{e=b[s+c>>0]|0;c=c+1|0}while((b[23984+(e&255)>>0]|0)!=0);if(e<<24>>24!=58){r=-1;m=91;break}c=er(a,c)|0;d[k>>1]=(d[k>>1]|0)+-1<<16>>16;if((c|0)<0){r=-1;m=91;break}while(1){e=b[s+c>>0]|0;o=c+1|0;if(!(b[23984+(e&255)>>0]|0))break;else c=o}switch(e<<24>>24){case 125:{m=24;break b}case 44:break;default:{r=-1;m=91;break b}}}g=c}if((m|0)==13){d[k>>1]=(d[k>>1]|0)+-1<<16>>16;if((n|0)==-2)return ((f[a>>2]|0)==(j+1|0)?g+2|0:-1)|0;else{a=-1;return a|0}}else if((m|0)==24){f[(f[l>>2]|0)+(j*12|0)+4>>2]=(f[a>>2]|0)+~j;a=o;return a|0}else if((m|0)==91)return r|0;break}case 91:{c=f[a>>2]|0;if(c>>>0<(f[a+4>>2]|0)>>>0){j=f[a+8>>2]|0;b[j+(c*12|0)>>0]=6;b[j+(c*12|0)+1>>0]=0;f[j+(c*12|0)+4>>2]=0;f[j+(c*12|0)+8>>2]=0;j=f[a>>2]|0;f[a>>2]=j+1}else j=hr(a,6,0,0)|0;if((j|0)<0){a=-1;return a|0}i=a+22|0;g=t;c:while(1){c=g+1|0;if(!(b[23984+(h[s+c>>0]|0)>>0]|0)){o=(d[i>>1]|0)+1<<16>>16;d[i>>1]=o;if((o&65535)>2e3){r=-1;m=91;break}k=er(a,c)|0;d[i>>1]=(d[i>>1]|0)+-1<<16>>16;if((k|0)<0){m=35;break}c=k;while(1){e=b[s+c>>0]|0;l=c+1|0;if(!(b[23984+(e&255)>>0]|0))break;else c=l}switch(e<<24>>24){case 93:{m=39;break c}case 44:break;default:{r=-1;m=91;break c}}}g=c}if((m|0)==35){if((k|0)!=-3){a=-1;return a|0}a=(f[a>>2]|0)==(j+1|0)?g+2|0:-1;return a|0}else if((m|0)==39){f[(f[a+8>>2]|0)+(j*12|0)+4>>2]=(f[a>>2]|0)+~j;a=l;return a|0}else if((m|0)==91)return r|0;break}case 34:{c=b[s+i>>0]|0;if((c&255)<32){a=-1;return a|0}k=0;j=t;d:while(1){e:do switch(c<<24>>24){case 34:{m=49;break d}case 92:{e=j+2|0;c=s+e|0;switch(b[c>>0]|0){case 116:case 114:case 110:case 102:case 98:case 47:case 92:case 34:{g=2;break e}case 117:break;default:{r=-1;m=91;break d}}c=c+1|0;if(!(b[5472+(h[c>>0]|0)>>0]&8)){r=-1;m=91;break d}if(!(b[5472+(h[c+1>>0]|0)>>0]&8)){r=-1;m=91;break d}if(!(b[5472+(h[c+2>>0]|0)>>0]&8)){r=-1;m=91;break d}if(!(b[5472+(h[c+3>>0]|0)>>0]&8)){r=-1;m=91;break d}else g=2;break}default:{g=k;e=i}}while(0);i=e+1|0;c=b[s+i>>0]|0;if((c&255)<32){r=-1;m=91;break}else{k=g;j=e}}if((m|0)==49){g=j+2|0;c=g-t|0;e=f[a>>2]|0;if(e>>>0<(f[a+4>>2]|0)>>>0){t=f[a+8>>2]|0;b[t+(e*12|0)>>0]=5;b[t+(e*12|0)+1>>0]=0;f[t+(e*12|0)+4>>2]=c;f[t+(e*12|0)+8>>2]=u;f[a>>2]=(f[a>>2]|0)+1}else hr(a,5,c,u)|0;if(b[a+20>>0]|0){a=g;return a|0}b[(f[a+8>>2]|0)+(((f[a>>2]|0)+-1|0)*12|0)+1>>0]=k;a=g;return a|0}else if((m|0)==91)return r|0;break}case 110:{if((Yz(u,41715,4)|0)==0?(e=t+4|0,(b[5472+(h[s+e>>0]|0)>>0]&6)==0):0){c=f[a>>2]|0;if(c>>>0<(f[a+4>>2]|0)>>>0){u=f[a+8>>2]|0;b[u+(c*12|0)>>0]=0;b[u+(c*12|0)+1>>0]=0;f[u+(c*12|0)+4>>2]=0;f[u+(c*12|0)+8>>2]=0;f[a>>2]=(f[a>>2]|0)+1;a=e;return a|0}else{hr(a,0,0,0)|0;a=e;return a|0}}else m=90;break}case 116:{if((Yz(u,49684,4)|0)==0?(g=t+4|0,(b[5472+(h[s+g>>0]|0)>>0]&6)==0):0){c=f[a>>2]|0;if(c>>>0<(f[a+4>>2]|0)>>>0){u=f[a+8>>2]|0;b[u+(c*12|0)>>0]=1;b[u+(c*12|0)+1>>0]=0;f[u+(c*12|0)+4>>2]=0;f[u+(c*12|0)+8>>2]=0;f[a>>2]=(f[a>>2]|0)+1;a=g;return a|0}else{hr(a,1,0,0)|0;a=g;return a|0}}else m=90;break}case 102:{if((Yz(u,49689,5)|0)==0?(j=t+5|0,(b[5472+(h[s+j>>0]|0)>>0]&6)==0):0){c=f[a>>2]|0;if(c>>>0<(f[a+4>>2]|0)>>>0){u=f[a+8>>2]|0;b[u+(c*12|0)>>0]=2;b[u+(c*12|0)+1>>0]=0;f[u+(c*12|0)+4>>2]=0;f[u+(c*12|0)+8>>2]=0;f[a>>2]=(f[a>>2]|0)+1;a=j;return a|0}else{hr(a,2,0,0)|0;a=j;return a|0}}else m=90;break}case 45:{q=1;m=71;break}default:{if((c+-48&255)<10)if(c<<24>>24<49){q=0;m=71;break a}else break a;switch(c<<24>>24){case 93:{a=-3;return a|0}case 0:{a=0;return a|0}case 125:{a=-2;return a|0}default:{m=90;break a}}}}while(0);if((m|0)==90){a=-1;return a|0}if(((m|0)==71?(p=q+t|0,(b[s+p>>0]|0)==48):0)?((b[s+(p+1)>>0]|0)+-48&255)<10:0){a=-1;return a|0}i=0;c=t;f:while(1){j=i;g:while(1){while(1){k=c+1|0;e=b[s+k>>0]|0;if((e+-48&255)<10)c=k;else break}switch(e<<24>>24){case 69:case 101:break g;case 46:break;default:{m=83;break f}}if(j<<24>>24==0?(b[s+c>>0]|0)!=45:0){j=1;c=k}else{r=-1;m=91;break f}}if(!(i<<24>>24==0?(b[s+c>>0]|0)>47:0)){r=-1;m=91;break}g=c+2|0;e=b[s+g>>0]|0;switch(e<<24>>24){case 45:case 43:{e=b[s+(c+3)>>0]|0;break}default:g=k}if((e+-48&255)>9){r=-1;m=91;break}else{i=1;c=g}}if((m|0)==83){if((b[s+c>>0]|0)<48){a=-1;return a|0}g=j<<24>>24==0?3:4;c=k-t|0;e=f[a>>2]|0;if(e>>>0<(f[a+4>>2]|0)>>>0){t=f[a+8>>2]|0;b[t+(e*12|0)>>0]=g;b[t+(e*12|0)+1>>0]=0;f[t+(e*12|0)+4>>2]=c;f[t+(e*12|0)+8>>2]=u;f[a>>2]=(f[a>>2]|0)+1;a=k;return a|0}else{hr(a,g,c,u)|0;a=k;return a|0}}else if((m|0)==91)return r|0;return 0}function fr(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0;g=f[a+8>>2]|0;j=g+(c*12|0)|0;i=a+16|0;e=f[i>>2]|0;f[e+(c<<2)>>2]=d;switch(b[j>>0]|0){case 6:{g=g+(c*12|0)+4|0;if(!(f[g>>2]|0))return;e=1;do{fr(a,e+c|0,c);d=j+(e*12|0)|0;if((h[d>>0]|0)>5)d=(f[d+4>>2]|0)+1|0;else d=1;e=d+e|0}while(e>>>0<=(f[g>>2]|0)>>>0);return}case 7:{g=g+(c*12|0)+4|0;if(!(f[g>>2]|0))return;d=1;while(1){k=d+c|0;f[e+(k<<2)>>2]=c;fr(a,k+1|0,c);e=j+(d*12|0)+12|0;if((h[e>>0]|0)>5)e=(f[e+4>>2]|0)+1|0;else e=1;d=d+1+e|0;if(d>>>0>(f[g>>2]|0)>>>0)break;e=f[i>>2]|0}return}default:return}}function gr(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+8|0;s=f[t>>2]|0;n=c;a:while(1){c=s+(n*12|0)|0;switch(b[d>>0]|0){case 0:{r=64;break a}case 46:{if((b[c>>0]|0)!=7){c=0;r=64;break a}p=d+1|0;i=b[p>>0]|0;b:do if(i<<24>>24==34){d=d+2|0;i=1;c:while(1){switch(b[p+i>>0]|0){case 0:{r=10;break a}case 34:break c;default:{}}i=i+1|0}m=i+-1|0;o=i+1|0}else{j=0;d=i;while(1){switch(d<<24>>24){case 91:case 46:case 0:{d=p;m=j;o=j;break b}default:{}}d=j+1|0;j=d;d=b[p+d>>0]|0}}while(0);if(!m){r=14;break a}l=m+2|0;d:while(1){k=f[c+4>>2]|0;if(k|0){i=1;do{j=f[c+(i*12|0)+4>>2]|0;if(!(b[c+(i*12|0)+1>>0]&1)){if((j|0)==(l|0)){q=Yz((f[c+(i*12|0)+8>>2]|0)+1|0,d,m)|0;r=23}}else if((j|0)==(m|0)){q=Yz(f[c+(i*12|0)+8>>2]|0,d,m)|0;r=23}if((r|0)==23?(r=0,(q|0)==0):0)break d;i=i+1|0;if((h[c+(i*12|0)>>0]|0)>5)j=(f[c+(i*12|0)+4>>2]|0)+1|0;else j=1;i=j+i|0}while(i>>>0<=k>>>0)}if(!(b[c+1>>0]&32)){r=31;break a}k=(f[c+8>>2]|0)+n|0;n=k;c=s+(k*12|0)|0}d=i+1+n|0;c=p+o|0;break}case 91:{i=b[d+1>>0]|0;if(((i&255)+-48|0)>>>0>=10){r=63;break a}if((b[c>>0]|0)!=6){c=0;r=64;break a}k=1;l=0;while(1){l=(l*10|0)+-48+(i<<24>>24)|0;j=k+1|0;i=b[d+j>>0]|0;if(((i&255)+-48|0)>>>0>=10)break;else k=j}if(i<<24>>24!=93){r=45;break a}m=k+2|0;j=l;while(1){l=f[c+4>>2]|0;e:do if(!l){i=1;k=1}else{i=1;while(1){k=b[c+(i*12|0)+1>>0]|0;if((j|0)==0&(k&4)==0){j=0;k=0;break e}j=j+(((k&255)>>>2&1)+-1<<24>>24<<24>>24)|0;if((h[c+(i*12|0)>>0]|0)>5)k=(f[c+(i*12|0)+4>>2]|0)+1|0;else k=1;i=k+i|0;if(i>>>0>l>>>0){k=1;break}}}while(0);if(!(b[c+1>>0]&32))break;p=(f[c+8>>2]|0)+n|0;n=p;c=s+(p*12|0)|0}l=d+m|0;if(k){r=57;break a}d=i+n|0;c=l;break}default:{r=63;break a}}n=d;d=c}if((r|0)==10){f[g>>2]=p;t=0;return t|0}else if((r|0)==14){f[g>>2]=p;t=0;return t|0}else if((r|0)==31){if(!e){t=0;return t|0}c=f[a>>2]|0;d=a+4|0;if(c>>>0<(f[d>>2]|0)>>>0){b[s+(c*12|0)>>0]=7;b[s+(c*12|0)+1>>0]=0;f[s+(c*12|0)+4>>2]=2;f[s+(c*12|0)+8>>2]=0;i=f[a>>2]|0;c=i+1|0;f[a>>2]=c}else{i=hr(a,7,2,0)|0;c=f[a>>2]|0}if(c>>>0<(f[d>>2]|0)>>>0){d=f[t>>2]|0;b[d+(c*12|0)>>0]=5;b[d+(c*12|0)+1>>0]=0;f[d+(c*12|0)+4>>2]=o;f[d+(c*12|0)+8>>2]=p;d=f[a>>2]|0;f[a>>2]=d+1}else d=hr(a,5,o,p)|0;c=ir(a,p+o|0,e,g)|0;if((c|0)==0|(b[a+20>>0]|0)!=0){t=0;return t|0}a=f[t>>2]|0;f[a+(n*12|0)+8>>2]=i-n;a=a+(n*12|0)+1|0;b[a>>0]=b[a>>0]|32;t=(f[t>>2]|0)+(d*12|0)+1|0;b[t>>0]=b[t>>0]|1;t=c;return t|0}else if((r|0)==45){f[g>>2]=d;t=0;return t|0}else if((r|0)==57){if(!((e|0)!=0&(j|0)==0)){t=0;return t|0}c=f[a>>2]|0;if(c>>>0<(f[a+4>>2]|0)>>>0){b[s+(c*12|0)>>0]=6;b[s+(c*12|0)+1>>0]=0;f[s+(c*12|0)+4>>2]=1;f[s+(c*12|0)+8>>2]=0;d=f[a>>2]|0;f[a>>2]=d+1}else d=hr(a,6,1,0)|0;c=ir(a,l,e,g)|0;if((c|0)==0|(b[a+20>>0]|0)!=0){t=0;return t|0}t=f[t>>2]|0;f[t+(n*12|0)+8>>2]=d-n;t=t+(n*12|0)+1|0;b[t>>0]=b[t>>0]|32;t=c;return t|0}else if((r|0)==63){f[g>>2]=d;t=0;return t|0}else if((r|0)==64)return c|0;return 0}function hr(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=a+20|0;if(b[l>>0]|0){l=-1;return l|0}i=a+4|0;j=a+8|0;h=f[i>>2]|0;k=f[j>>2]|0;while(1){h=(h<<1)+10|0;g=h*12|0;if(Mc()|0){h=6;break}k=Nc(k,(g|0)>0?g:0,0)|0;if(!k){h=6;break}f[i>>2]=h;f[j>>2]=k;g=f[a>>2]|0;if(g>>>0>>0){h=8;break}if(b[l>>0]|0){g=-1;h=9;break}}if((h|0)==6){b[l>>0]=1;l=-1;return l|0}else if((h|0)==8){b[k+(g*12|0)>>0]=c;b[k+(g*12|0)+1>>0]=0;f[k+(g*12|0)+4>>2]=d;f[k+(g*12|0)+8>>2]=e;l=f[a>>2]|0;f[a>>2]=l+1;return l|0}else if((h|0)==9)return g|0;return 0}function ir(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;f[d>>2]=1;a:do switch(b[c>>0]|0){case 0:{g=f[a>>2]|0;if(g>>>0<(f[a+4>>2]|0)>>>0){e=f[a+8>>2]|0;b[e+(g*12|0)>>0]=0;b[e+(g*12|0)+1>>0]=0;f[e+(g*12|0)+4>>2]=0;f[e+(g*12|0)+8>>2]=0;f[a>>2]=(f[a>>2]|0)+1}else hr(a,0,0,0)|0;if(b[a+20>>0]|0){a=0;return a|0}a=(f[a+8>>2]|0)+(((f[a>>2]|0)+-1|0)*12|0)|0;return a|0}case 46:{g=f[a>>2]|0;if(g>>>0<(f[a+4>>2]|0)>>>0){h=f[a+8>>2]|0;b[h+(g*12|0)>>0]=7;b[h+(g*12|0)+1>>0]=0;f[h+(g*12|0)+4>>2]=0;f[h+(g*12|0)+8>>2]=0;f[a>>2]=(f[a>>2]|0)+1;break a}else{hr(a,7,0,0)|0;break a}}default:{if(Yz(c,60265,3)|0){h=0;return h|0}g=f[a>>2]|0;if(g>>>0<(f[a+4>>2]|0)>>>0){h=f[a+8>>2]|0;b[h+(g*12|0)>>0]=6;b[h+(g*12|0)+1>>0]=0;f[h+(g*12|0)+4>>2]=0;f[h+(g*12|0)+8>>2]=0;f[a>>2]=(f[a>>2]|0)+1;break a}else{hr(a,6,0,0)|0;break a}}}while(0);if(b[a+20>>0]|0){h=0;return h|0}h=gr(a,(f[a>>2]|0)+-1|0,c,d,e)|0;return h|0}function jr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(Mc()|0){b=7;return b|0}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](64)|0;if(!a){b=7;return b|0}}else{d=ib[f[37372>>2]&255](64)|0;if((f[18194]|0)>>>0<64)f[18194]=64;c=71896;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){e=f[18187]|0;c=LA(a|0,c|0,d|0,((d|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&c>>>0<=e>>>0)&1}a=ib[f[37356>>2]&255](d)|0;if(!a){e=7;return e|0}c=ib[f[37368>>2]&255](a)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}c=a;d=c+64|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=a;e=0;return e|0}function kr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))p=hf(a,128)|0;else p=f[c+16>>2]|0;if(!p)return;n=p+4|0;c=f[n>>2]|0;if(!c){f[p>>2]=a;b[p+25>>0]=0;a=p+26|0;f[n>>2]=a;r=p+8|0;f[r>>2]=100;f[r+4>>2]=0;b[p+24>>0]=1;r=p+16|0;f[r>>2]=1;f[r+4>>2]=0;b[a>>0]=91}else{q=p+16|0;g=q;h=f[g>>2]|0;g=f[g+4>>2]|0;o=p+8|0;j=o;i=f[j>>2]|0;j=f[j+4>>2]|0;a:do if(g>>>0>>0|(g|0)==(j|0)&h>>>0>>0)r=44;else{s=j>>>0>0|(j|0)==0&i>>>0>1;t=WA(i|0,j|0,1)|0;g=ba()|0;h=KA(i|0,j|0,11,0)|0;i=ba()|0;h=s?t:h;i=s?g:i;j=p+24|0;do if(!(b[j>>0]|0)){if((Mc()|0)==0?(k=Nc(c,h,i)|0,k|0):0){f[n>>2]=k;c=k;break}b[p+25>>0]=1;h=f[p>>2]|0;c=f[h>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[h>>2]|0}f[h+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if((b[g>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;t=c+272|0;f[t>>2]=(f[t>>2]|0)+1}do if((b[j>>0]|0)==0?(l=f[n>>2]|0,l|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{t=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);f[n>>2]=p+26;t=o;f[t>>2]=100;f[t+4>>2]=0;t=q;f[t>>2]=0;f[t+4>>2]=0;b[j>>0]=1;break a}else{g=p+25|0;if(b[g>>0]|0)break a;c=xd(h,i)|0;if(c|0){YA(c|0,f[n>>2]|0,f[q>>2]|0)|0;f[n>>2]=c;b[j>>0]=0;break}b[g>>0]=1;h=f[p>>2]|0;c=f[h>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[h>>2]|0}f[h+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if((b[g>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;t=c+272|0;f[t>>2]=(f[t>>2]|0)+1}do if((b[j>>0]|0)==0?(m=f[n>>2]|0,m|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{t=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);f[n>>2]=p+26;t=o;f[t>>2]=100;f[t+4>>2]=0;t=q;f[t>>2]=0;f[t+4>>2]=0;b[j>>0]=1;break a}while(0);g=o;f[g>>2]=h;f[g+4>>2]=i;g=q;h=f[g>>2]|0;g=f[g+4>>2]|0;r=44}while(0);if((r|0)==44){r=KA(h|0,g|0,1,0)|0;s=ba()|0;t=q;f[t>>2]=r;f[t+4>>2]=s;b[c+h>>0]=44}f[p>>2]=a}cr(p,f[e>>2]|0);return}function lr(a){a=a|0;rr(a,1);return}function mr(a){a=a|0;rr(a,0);return}function nr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))t=hf(a,128)|0;else t=f[c+16>>2]|0;if(!t)return;s=t+4|0;c=f[s>>2]|0;if(!c){f[t>>2]=a;b[t+25>>0]=0;a=t+26|0;f[s>>2]=a;p=t+8|0;f[p>>2]=100;f[p+4>>2]=0;b[t+24>>0]=1;p=t+16|0;f[p>>2]=1;f[p+4>>2]=0;b[a>>0]=123}else{p=t+16|0;h=p;i=f[h>>2]|0;h=f[h+4>>2]|0;o=t+8|0;k=o;j=f[k>>2]|0;k=f[k+4>>2]|0;a:do if(h>>>0>>0|(h|0)==(k|0)&i>>>0>>0)u=44;else{v=k>>>0>0|(k|0)==0&j>>>0>1;w=WA(j|0,k|0,1)|0;h=ba()|0;i=KA(j|0,k|0,11,0)|0;j=ba()|0;i=v?w:i;j=v?h:j;k=t+24|0;do if(!(b[k>>0]|0)){if((Mc()|0)==0?(l=Nc(c,i,j)|0,l|0):0){f[s>>2]=l;c=l;break}b[t+25>>0]=1;i=f[t>>2]|0;c=f[i>>2]|0;h=c+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(c);c=f[i>>2]|0}f[i+20>>2]=7;c=f[c+32>>2]|0;h=c+81|0;if((b[h>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[h>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;w=c+272|0;f[w>>2]=(f[w>>2]|0)+1}do if((b[k>>0]|0)==0?(m=f[s>>2]|0,m|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{w=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);f[s>>2]=t+26;w=o;f[w>>2]=100;f[w+4>>2]=0;w=p;f[w>>2]=0;f[w+4>>2]=0;b[k>>0]=1;break a}else{h=t+25|0;if(b[h>>0]|0)break a;c=xd(i,j)|0;if(c|0){YA(c|0,f[s>>2]|0,f[p>>2]|0)|0;f[s>>2]=c;b[k>>0]=0;break}b[h>>0]=1;i=f[t>>2]|0;c=f[i>>2]|0;h=c+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(c);c=f[i>>2]|0}f[i+20>>2]=7;c=f[c+32>>2]|0;h=c+81|0;if((b[h>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[h>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;w=c+272|0;f[w>>2]=(f[w>>2]|0)+1}do if((b[k>>0]|0)==0?(n=f[s>>2]|0,n|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{w=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}while(0);f[s>>2]=t+26;w=o;f[w>>2]=100;f[w+4>>2]=0;w=p;f[w>>2]=0;f[w+4>>2]=0;b[k>>0]=1;break a}while(0);h=o;f[h>>2]=i;f[h+4>>2]=j;h=p;i=f[h>>2]|0;h=f[h+4>>2]|0;u=44}while(0);if((u|0)==44){o=KA(i|0,h|0,1,0)|0;v=ba()|0;w=p;f[w>>2]=o;f[w+4>>2]=v;b[c+i>>0]=44}f[t>>2]=a}h=f[e>>2]|0;c=d[h+8>>1]|0;if((c&514)==514?(b[h+10>>0]|0)==1:0)j=f[h+16>>2]|0;else if(!(c&1)){j=Ic(h,1)|0;h=f[e>>2]|0}else j=0;c=d[h+8>>1]|0;if((c&2)!=0?(b[h+10>>0]|0)==1:0)c=f[h+12>>2]|0;else u=54;do if((u|0)==54){i=c&65535;if(!(i&16)){if(i&1|0){c=0;break}c=_e(h,1)|0;break}else{c=f[h+12>>2]|0;if(!(i&16384))break;c=(f[h>>2]|0)+c|0;break}}while(0);dr(t,j,c);l=t+16|0;c=l;h=f[c>>2]|0;c=f[c+4>>2]|0;k=t+8|0;j=k;i=f[j>>2]|0;j=f[j+4>>2]|0;b:do if(c>>>0>>0|(c|0)==(j|0)&h>>>0>>0){g=f[s>>2]|0;u=97}else{v=j>>>0>0|(j|0)==0&i>>>0>1;a=WA(i|0,j|0,1)|0;w=ba()|0;h=KA(i|0,j|0,11,0)|0;i=ba()|0;h=v?a:h;i=v?w:i;j=t+24|0;do if(!(b[j>>0]|0)){c=f[s>>2]|0;if((Mc()|0)==0?(g=Nc(c,h,i)|0,g|0):0){f[s>>2]=g;break}b[t+25>>0]=1;h=f[t>>2]|0;g=f[h>>2]|0;c=g+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else{cf(g);g=f[h>>2]|0}f[h+20>>2]=7;g=f[g+32>>2]|0;c=g+81|0;if((b[c>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[c>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;w=g+272|0;f[w>>2]=(f[w>>2]|0)+1}do if((b[j>>0]|0)==0?(q=f[s>>2]|0,q|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{w=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);f[s>>2]=t+26;w=k;f[w>>2]=100;f[w+4>>2]=0;w=l;f[w>>2]=0;f[w+4>>2]=0;b[j>>0]=1;break b}else{c=t+25|0;if(b[c>>0]|0)break b;g=xd(h,i)|0;if(g|0){YA(g|0,f[s>>2]|0,f[l>>2]|0)|0;f[s>>2]=g;b[j>>0]=0;break}b[c>>0]=1;h=f[t>>2]|0;g=f[h>>2]|0;c=g+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else{cf(g);g=f[h>>2]|0}f[h+20>>2]=7;g=f[g+32>>2]|0;c=g+81|0;if((b[c>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[c>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;w=g+272|0;f[w>>2]=(f[w>>2]|0)+1}do if((b[j>>0]|0)==0?(r=f[s>>2]|0,r|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{w=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);f[s>>2]=t+26;w=k;f[w>>2]=100;f[w+4>>2]=0;w=l;f[w>>2]=0;f[w+4>>2]=0;b[j>>0]=1;break b}while(0);c=k;f[c>>2]=h;f[c+4>>2]=i;c=l;h=f[c>>2]|0;c=f[c+4>>2]|0;u=97}while(0);if((u|0)==97){u=KA(h|0,c|0,1,0)|0;v=ba()|0;w=l;f[w>>2]=u;f[w+4>>2]=v;b[g+h>>0]=58}cr(t,f[e+4>>2]|0);return}function or(a){a=a|0;qr(a,1);return}function pr(a){a=a|0;qr(a,0);return}function qr(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=f[a+8>>2]|0;if(!(d[e+8>>1]&8192))p=hf(a,0)|0;else p=f[e+16>>2]|0;if(!p){if(($e(f[a>>2]|0,60387,2,1,0)|0)!=18){a=f[a>>2]|0;c=a+11|0;b[c>>0]=74;a=a+8|0;c=d[a>>1]|0;c=c|-32768;d[a>>1]=c;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;a=f[a>>2]|0;c=a+11|0;b[c>>0]=74;a=a+8|0;c=d[a>>1]|0;c=c|-32768;d[a>>1]=c;return}q=p+16|0;g=q;h=f[g>>2]|0;g=f[g+4>>2]|0;o=p+8|0;i=o;e=f[i>>2]|0;i=f[i+4>>2]|0;a:do if(g>>>0>>0|(g|0)==(i|0)&h>>>0>>0){e=f[p+4>>2]|0;j=43}else{g=i>>>0>0|(i|0)==0&e>>>0>1;r=WA(e|0,i|0,1)|0;n=ba()|0;h=KA(e|0,i|0,11,0)|0;i=ba()|0;h=g?r:h;i=g?n:i;n=p+24|0;do if(!(b[n>>0]|0)){j=p+4|0;e=f[j>>2]|0;if((Mc()|0)==0?(k=Nc(e,h,i)|0,k|0):0){f[j>>2]=k;e=k;break}e=p+25|0;b[e>>0]=1;i=f[p>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;r=g+272|0;f[r>>2]=(f[r>>2]|0)+1}do if((b[n>>0]|0)==0?(l=f[j>>2]|0,l|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{r=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);f[j>>2]=p+26;j=o;f[j>>2]=100;f[j+4>>2]=0;j=q;f[j>>2]=0;f[j+4>>2]=0;b[n>>0]=1;j=44;break a}else{e=p+25|0;g=b[e>>0]|0;if(g<<24>>24){e=g;break a}g=xd(h,i)|0;if(g|0){e=p+4|0;YA(g|0,f[e>>2]|0,f[q>>2]|0)|0;f[e>>2]=g;b[n>>0]=0;e=g;break}b[e>>0]=1;i=f[p>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;r=g+272|0;f[r>>2]=(f[r>>2]|0)+1}g=p+4|0;do if((b[n>>0]|0)==0?(m=f[g>>2]|0,m|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{r=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);f[g>>2]=p+26;j=o;f[j>>2]=100;f[j+4>>2]=0;j=q;f[j>>2]=0;f[j+4>>2]=0;b[n>>0]=1;j=44;break a}while(0);g=o;f[g>>2]=h;f[g+4>>2]=i;g=q;h=f[g>>2]|0;g=f[g+4>>2]|0;j=43}while(0);if((j|0)==43){n=KA(h|0,g|0,1,0)|0;o=ba()|0;r=q;f[r>>2]=n;f[r+4>>2]=o;b[e+h>>0]=125;e=p+25|0;j=44}if((j|0)==44)e=b[e>>0]|0;switch(e<<24>>24){case 0:{g=f[p+4>>2]|0;h=f[q>>2]|0;if(!c){if(($e(f[a>>2]|0,g,h,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}p=q;p=KA(f[p>>2]|0,f[p+4>>2]|0,-1,-1)|0;c=ba()|0;r=q;f[r>>2]=p;f[r+4>>2]=c;r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}else{e=p+24|0;if(($e(f[a>>2]|0,g,h,1,(b[e>>0]|0)==0?101:-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}b[e>>0]=1;r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}}case 1:{e=f[a>>2]|0;g=e+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(e);e=f[a>>2]|0}f[a+20>>2]=7;e=f[e+32>>2]|0;g=e+81|0;if(b[g>>0]|0){r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}if(b[e+82>>0]|0){r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}b[g>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;r=e+272|0;f[r>>2]=(f[r>>2]|0)+1;r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}default:{r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}}}function rr(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=f[a+8>>2]|0;if(!(d[e+8>>1]&8192))p=hf(a,0)|0;else p=f[e+16>>2]|0;if(!p){if(($e(f[a>>2]|0,60390,2,1,0)|0)!=18){a=f[a>>2]|0;c=a+11|0;b[c>>0]=74;a=a+8|0;c=d[a>>1]|0;c=c|-32768;d[a>>1]=c;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;a=f[a>>2]|0;c=a+11|0;b[c>>0]=74;a=a+8|0;c=d[a>>1]|0;c=c|-32768;d[a>>1]=c;return}f[p>>2]=a;q=p+16|0;g=q;h=f[g>>2]|0;g=f[g+4>>2]|0;o=p+8|0;i=o;e=f[i>>2]|0;i=f[i+4>>2]|0;a:do if(g>>>0>>0|(g|0)==(i|0)&h>>>0>>0){e=f[p+4>>2]|0;j=43}else{g=i>>>0>0|(i|0)==0&e>>>0>1;r=WA(e|0,i|0,1)|0;n=ba()|0;h=KA(e|0,i|0,11,0)|0;i=ba()|0;h=g?r:h;i=g?n:i;n=p+24|0;do if(!(b[n>>0]|0)){j=p+4|0;e=f[j>>2]|0;if((Mc()|0)==0?(k=Nc(e,h,i)|0,k|0):0){f[j>>2]=k;e=k;break}e=p+25|0;b[e>>0]=1;i=f[p>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;r=g+272|0;f[r>>2]=(f[r>>2]|0)+1}do if((b[n>>0]|0)==0?(l=f[j>>2]|0,l|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{r=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);f[j>>2]=p+26;j=o;f[j>>2]=100;f[j+4>>2]=0;j=q;f[j>>2]=0;f[j+4>>2]=0;b[n>>0]=1;j=44;break a}else{e=p+25|0;g=b[e>>0]|0;if(g<<24>>24){e=g;break a}g=xd(h,i)|0;if(g|0){e=p+4|0;YA(g|0,f[e>>2]|0,f[q>>2]|0)|0;f[e>>2]=g;b[n>>0]=0;e=g;break}b[e>>0]=1;i=f[p>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;r=g+272|0;f[r>>2]=(f[r>>2]|0)+1}g=p+4|0;do if((b[n>>0]|0)==0?(m=f[g>>2]|0,m|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{r=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);f[g>>2]=p+26;j=o;f[j>>2]=100;f[j+4>>2]=0;j=q;f[j>>2]=0;f[j+4>>2]=0;b[n>>0]=1;j=44;break a}while(0);g=o;f[g>>2]=h;f[g+4>>2]=i;g=q;h=f[g>>2]|0;g=f[g+4>>2]|0;j=43}while(0);if((j|0)==43){n=KA(h|0,g|0,1,0)|0;o=ba()|0;r=q;f[r>>2]=n;f[r+4>>2]=o;b[e+h>>0]=93;e=p+25|0;j=44}if((j|0)==44)e=b[e>>0]|0;switch(e<<24>>24){case 0:{g=f[p+4>>2]|0;h=f[q>>2]|0;if(!c){if(($e(f[a>>2]|0,g,h,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}p=q;p=KA(f[p>>2]|0,f[p+4>>2]|0,-1,-1)|0;c=ba()|0;r=q;f[r>>2]=p;f[r+4>>2]=c;r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}else{e=p+24|0;if(($e(f[a>>2]|0,g,h,1,(b[e>>0]|0)==0?101:-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}b[e>>0]=1;r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}}case 1:{e=f[a>>2]|0;g=e+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(e);e=f[a>>2]|0}f[a+20>>2]=7;e=f[e+32>>2]|0;g=e+81|0;if(b[g>>0]|0){r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}if(b[e+82>>0]|0){r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}b[g>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;r=e+272|0;f[r>>2]=(f[r>>2]|0)+1;r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}default:{r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}}}function sr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+48|0;m=p;l=p+40|0;o=p+8|0;if((c|0)<1){t=p;return}g=f[e>>2]|0;do if(g|0){h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0)i=f[g+16>>2]|0;else n=6;if((n|0)==6){if(h&1)break;i=Ic(g,1)|0};f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;if(!i){t=p;return}f[o+12>>2]=i;g=er(o,0)|0;j=(b[o+20>>0]|0)==0;if((g|0)>0&j){while(1){h=b[i+g>>0]|0;if(!(b[23984+(h&255)>>0]|0))break;else g=g+1|0}if(!((g|0)<1|h<<24>>24!=0)){a:do if(c>>>0>1){j=o+21|0;k=a+20|0;i=1;while(1){g=f[e+(i<<2)>>2]|0;if(!g)break;h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0)g=f[g+16>>2]|0;else{if(h&1)break;g=Ic(g,1)|0}if(!g)break;f[l>>2]=0;if((b[g>>0]|0)==36){h=gr(o,0,g+1|0,0,l)|0;g=f[l>>2]|0;if(!g)g=h;else n=46}else{f[l>>2]=g;n=46}do if((n|0)==46){n=0;b[j>>0]=(b[j>>0]|0)+1<<24>>24;f[m>>2]=g;g=wd(60239,m)|0;if(g|0){f[k>>2]=1;$e(f[a>>2]|0,g,-1,1,-1)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{h=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[k>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;g=g+272|0;f[g>>2]=(f[g>>2]|0)+1;g=0}else g=0}while(0);if(b[j>>0]|0)break;if(g|0){h=g+1|0;b[h>>0]=b[h>>0]|4}i=i+1|0;if(i>>>0>=c>>>0){n=62;break a}}h=o+8|0}else n=62;while(0);if((n|0)==62){h=o+8|0;g=f[h>>2]|0;if(!(b[g+1>>0]&4))ar(g,a,0)}g=f[h>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[h>>2]=0;f[o>>2]=0;f[o+4>>2]=0;g=o+16|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{o=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;t=p;return}}do if(a|0){if(j){f[a+20>>2]=1;$e(f[a>>2]|0,60224,-1,1,-1)|0;break}g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[a+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;a=g+272|0;f[a>>2]=(f[a>>2]|0)+1}}while(0);g=o+8|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{a=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;f[o>>2]=0;f[o+4>>2]=0;g=o+16|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{o=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;t=p;return}while(0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;t=p;return}function tr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=t;t=t+128|0;u=B;f[u>>2]=a;v=u+25|0;b[v>>0]=0;y=u+26|0;z=u+4|0;f[z>>2]=y;A=u+8|0;w=A;f[w>>2]=100;f[w+4>>2]=0;w=u+16|0;x=u+24|0;b[x>>0]=1;m=w;f[m>>2]=1;f[m+4>>2]=0;b[y>>0]=91;a:do if((c|0)>0){m=0;l=1;h=0;do{b:do if(!((l|0)==0&(h|0)==0)){i=f[z>>2]|0;switch(b[i+(l+-1)>>0]|0){case 123:case 91:break b;default:{}}k=A;j=f[k>>2]|0;k=f[k+4>>2]|0;if(h>>>0>>0|(h|0)==(k|0)&l>>>0>>0){k=l;j=l}else{h=k>>>0>0|(k|0)==0&j>>>0>1;C=WA(j|0,k|0,1)|0;l=ba()|0;j=KA(j|0,k|0,11,0)|0;k=ba()|0;j=h?C:j;k=h?l:k;do if(!(b[x>>0]|0)){if((Mc()|0)==0?(n=Nc(i,j,k)|0,n|0):0){f[z>>2]=n;i=n;break}b[v>>0]=1;j=f[u>>2]|0;h=f[j>>2]|0;i=h+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else{cf(h);h=f[j>>2]|0}f[j+20>>2]=7;h=f[h+32>>2]|0;i=h+81|0;if((b[i>>0]|0)==0?(b[h+82>>0]|0)==0:0){b[i>>0]=1;if((f[h+180>>2]|0)>0)f[h+264>>2]=1;C=h+272|0;f[C>>2]=(f[C>>2]|0)+1}do if((b[x>>0]|0)==0?(o=f[z>>2]|0,o|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{C=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}while(0);f[z>>2]=y;C=A;f[C>>2]=100;f[C+4>>2]=0;C=w;f[C>>2]=0;f[C+4>>2]=0;b[x>>0]=1;break b}else{if(b[v>>0]|0)break b;h=xd(j,k)|0;if(h|0){YA(h|0,f[z>>2]|0,f[w>>2]|0)|0;f[z>>2]=h;b[x>>0]=0;i=h;break}b[v>>0]=1;j=f[u>>2]|0;h=f[j>>2]|0;i=h+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else{cf(h);h=f[j>>2]|0}f[j+20>>2]=7;h=f[h+32>>2]|0;i=h+81|0;if((b[i>>0]|0)==0?(b[h+82>>0]|0)==0:0){b[i>>0]=1;if((f[h+180>>2]|0)>0)f[h+264>>2]=1;C=h+272|0;f[C>>2]=(f[C>>2]|0)+1}do if((b[x>>0]|0)==0?(p=f[z>>2]|0,p|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{C=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);f[z>>2]=y;C=A;f[C>>2]=100;f[C+4>>2]=0;C=w;f[C>>2]=0;f[C+4>>2]=0;b[x>>0]=1;break b}while(0);h=A;f[h>>2]=j;f[h+4>>2]=k;h=w;j=f[h>>2]|0;k=j;h=f[h+4>>2]|0}j=KA(j|0,h|0,1,0)|0;l=ba()|0;C=w;f[C>>2]=j;f[C+4>>2]=l;b[i+k>>0]=44}while(0);cr(u,f[e+(m<<2)>>2]|0);m=m+1|0;h=w;l=f[h>>2]|0;h=f[h+4>>2]|0}while((m|0)!=(c|0));j=A;i=f[j>>2]|0;j=f[j+4>>2]|0;if(h>>>0>>0|(h|0)==(j|0)&l>>>0>>0){g=l;s=45}else{p=j>>>0>0|(j|0)==0&i>>>0>1;e=WA(i|0,j|0,1)|0;C=ba()|0;i=KA(i|0,j|0,11,0)|0;j=ba()|0;i=p?e:i;j=p?C:j;do if(!(b[x>>0]|0)){h=f[z>>2]|0;if((Mc()|0)==0?(g=Nc(h,i,j)|0,g|0):0){f[z>>2]=g;break}b[v>>0]=1;i=f[u>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;C=g+272|0;f[C>>2]=(f[C>>2]|0)+1}do if((b[x>>0]|0)==0?(r=f[z>>2]|0,r|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{C=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);f[z>>2]=y;C=A;f[C>>2]=100;f[C+4>>2]=0;C=w;f[C>>2]=0;f[C+4>>2]=0;b[x>>0]=1;break a}else{if(b[v>>0]|0){C=f[a>>2]|0;A=C+11|0;b[A>>0]=74;C=C+8|0;A=d[C>>1]|0;A=A|-32768;d[C>>1]=A;t=B;return}g=xd(i,j)|0;if(g|0){YA(g|0,f[z>>2]|0,f[w>>2]|0)|0;f[z>>2]=g;b[x>>0]=0;break}b[v>>0]=1;i=f[u>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;C=g+272|0;f[C>>2]=(f[C>>2]|0)+1}do if((b[x>>0]|0)==0?(q=f[z>>2]|0,q|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{C=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);f[z>>2]=y;C=A;f[C>>2]=100;f[C+4>>2]=0;C=w;f[C>>2]=0;f[C+4>>2]=0;b[x>>0]=1;break a}while(0);h=A;f[h>>2]=i;f[h+4>>2]=j;h=w;i=f[h>>2]|0;h=f[h+4>>2]|0;s=82}}else{g=1;h=0;s=45}while(0);if((s|0)==45){i=g;g=f[z>>2]|0;s=82}if((s|0)==82){r=KA(i|0,h|0,1,0)|0;s=ba()|0;C=w;f[C>>2]=r;f[C+4>>2]=s;b[g+i>>0]=93}if(b[v>>0]|0){C=f[a>>2]|0;A=C+11|0;b[A>>0]=74;C=C+8|0;A=d[C>>1]|0;A=A|-32768;d[C>>1]=A;t=B;return}g=f[u>>2]|0;h=f[z>>2]|0;C=w;i=f[C>>2]|0;C=f[C+4>>2]|0;j=(b[x>>0]|0)==0?101:-1;if(C>>>0>0|(C|0)==0&i>>>0>2147483647){switch(j|0){case 0:case -1:break;default:ob[j&127](h)}if(g|0){f[g+20>>2]=18;$e(f[g>>2]|0,41612,-1,1,0)|0}}else if(($e(f[g>>2]|0,h,i,1,j)|0)==18){f[g+20>>2]=18;$e(f[g>>2]|0,41612,-1,1,0)|0}f[z>>2]=y;C=A;f[C>>2]=100;f[C+4>>2]=0;C=w;f[C>>2]=0;f[C+4>>2]=0;b[x>>0]=1;C=f[a>>2]|0;A=C+11|0;b[A>>0]=74;C=C+8|0;A=d[C>>1]|0;A=A|-32768;d[C>>1]=A;t=B;return}function ur(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+16|0;j=m;g=m+4|0;i=Dr(a,e,a)|0;if(!i){t=m;return}if((c|0)==2){e=f[e+4>>2]|0;do if(e){c=d[e+8>>1]|0;if((c&514)==514?(b[e+10>>0]|0)==1:0)c=f[e+16>>2]|0;else{if(c&1){k=9;break}c=Ic(e,1)|0}f[g>>2]=0;if(c){if((b[c>>0]|0)==36){c=gr(i,0,c+1|0,0,g)|0;e=f[g>>2]|0;if(!e)break;else c=e}else f[g>>2]=c;i=i+21|0;b[i>>0]=(b[i>>0]|0)+1<<24>>24;f[j>>2]=c;c=wd(60239,j)|0;if(c|0){f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=0;break}else{j=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=0;break}}c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;e=c+81|0;if((b[e>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;c=c+272|0;f[c>>2]=(f[c>>2]|0)+1;c=0}else c=0}else c=0}else k=9;while(0);if((k|0)==9){f[g>>2]=0;c=0}}else c=f[i+8>>2]|0;if(!c){t=m;return}if((b[c>>0]|0)==6?(l=f[c+4>>2]|0,(l|0)!=0):0){j=1;e=0;g=0;do{if((h[c+(j*12|0)>>0]|0)>5)i=(f[c+(j*12|0)+4>>2]|0)+1|0;else i=1;j=i+j|0;e=KA(e|0,g|0,1,0)|0;g=ba()|0}while(j>>>0<=l>>>0);i=e}else{i=0;g=0}c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216)){a=c;f[a>>2]=i;f[a+4>>2]=g;d[e>>1]=4;t=m;return}else{bf(c,i,g);t=m;return}}function vr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=t;t=t+144|0;B=N+128|0;w=N+132|0;F=N;if((c|0)<2){t=N;return}A=Dr(a,e,a)|0;if(!A){t=N;return}f[F>>2]=a;G=F+25|0;b[G>>0]=0;M=F+26|0;H=F+4|0;f[H>>2]=M;I=F+8|0;J=I;f[J>>2]=100;f[J+4>>2]=0;J=F+16|0;K=F+24|0;b[K>>0]=1;s=J;f[s>>2]=1;f[s+4>>2]=0;b[M>>0]=91;s=A+21|0;u=(c|0)==2;v=a+20|0;h=1;do{i=f[e+(h<<2)>>2]|0;do if(i){j=d[i+8>>1]|0;if((j&514)==514?(b[i+10>>0]|0)==1:0)i=f[i+16>>2]|0;else{if(j&1){C=10;break}i=Ic(i,1)|0}f[w>>2]=0;if(i){if((b[i>>0]|0)==36){j=gr(A,0,i+1|0,0,w)|0;i=f[w>>2]|0;if(!i)break}else f[w>>2]=i;b[s>>0]=(b[s>>0]|0)+1<<24>>24;f[B>>2]=i;i=wd(60239,B)|0;if(i|0){f[v>>2]=1;$e(f[a>>2]|0,i,-1,1,-1)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](i);j=0;break}else{j=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);j=0;break}}i=f[a>>2]|0;j=i+8|0;if(!(d[j>>1]&9216))d[j>>1]=1;else{cf(i);i=f[a>>2]|0}f[v>>2]=7;i=f[i+32>>2]|0;j=i+81|0;if((b[j>>0]|0)==0?(b[i+82>>0]|0)==0:0){b[j>>0]=1;if((f[i+180>>2]|0)>0)f[i+264>>2]=1;j=i+272|0;f[j>>2]=(f[j>>2]|0)+1;j=0}else j=0}else j=0}else C=10;while(0);if((C|0)==10){C=0;f[w>>2]=0;j=0}if(b[s>>0]|0)break;a:do if(u){if(j|0)Wq(j,a)}else{n=J;m=f[n>>2]|0;n=f[n+4>>2]|0;b:do if(!((m|0)==0&(n|0)==0)){i=f[H>>2]|0;switch(b[i+(m+-1)>>0]|0){case 123:case 91:break b;default:{}}l=I;k=f[l>>2]|0;l=f[l+4>>2]|0;if(n>>>0>>0|(n|0)==(l|0)&m>>>0>>0){o=m;l=m;k=n}else{n=l>>>0>0|(l|0)==0&k>>>0>1;m=WA(k|0,l|0,1)|0;o=ba()|0;k=KA(k|0,l|0,11,0)|0;l=ba()|0;k=n?m:k;l=n?o:l;do if(!(b[K>>0]|0)){if((Mc()|0)==0?(q=Nc(i,k,l)|0,q|0):0){f[H>>2]=q;i=q;break}b[G>>0]=1;l=f[F>>2]|0;i=f[l>>2]|0;k=i+8|0;if(!(d[k>>1]&9216))d[k>>1]=1;else{cf(i);i=f[l>>2]|0}f[l+20>>2]=7;i=f[i+32>>2]|0;k=i+81|0;if((b[k>>0]|0)==0?(b[i+82>>0]|0)==0:0){b[k>>0]=1;if((f[i+180>>2]|0)>0)f[i+264>>2]=1;o=i+272|0;f[o>>2]=(f[o>>2]|0)+1}do if((b[K>>0]|0)==0?(r=f[H>>2]|0,r|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{o=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);f[H>>2]=M;o=I;f[o>>2]=100;f[o+4>>2]=0;o=J;f[o>>2]=0;f[o+4>>2]=0;b[K>>0]=1;break b}else{if(b[G>>0]|0)break b;i=xd(k,l)|0;if(i|0){YA(i|0,f[H>>2]|0,f[J>>2]|0)|0;f[H>>2]=i;b[K>>0]=0;break}b[G>>0]=1;l=f[F>>2]|0;i=f[l>>2]|0;k=i+8|0;if(!(d[k>>1]&9216))d[k>>1]=1;else{cf(i);i=f[l>>2]|0}f[l+20>>2]=7;i=f[i+32>>2]|0;k=i+81|0;if((b[k>>0]|0)==0?(b[i+82>>0]|0)==0:0){b[k>>0]=1;if((f[i+180>>2]|0)>0)f[i+264>>2]=1;o=i+272|0;f[o>>2]=(f[o>>2]|0)+1}do if((b[K>>0]|0)==0?(p=f[H>>2]|0,p|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{o=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);f[H>>2]=M;o=I;f[o>>2]=100;f[o+4>>2]=0;o=J;f[o>>2]=0;f[o+4>>2]=0;b[K>>0]=1;break b}while(0);o=I;f[o>>2]=k;f[o+4>>2]=l;k=J;l=f[k>>2]|0;o=l;k=f[k+4>>2]|0}l=KA(l|0,k|0,1,0)|0;m=ba()|0;n=J;f[n>>2]=l;f[n+4>>2]=m;b[i+o>>0]=44}while(0);if(j|0){br(j,F,0);break}o=J;j=f[o>>2]|0;o=KA(j|0,f[o+4>>2]|0,4,0)|0;n=ba()|0;k=I;i=f[k>>2]|0;k=f[k+4>>2]|0;if(n>>>0>>0|(n|0)==(k|0)&o>>>0>>0)i=f[H>>2]|0;else{n=k>>>0>0|(k|0)==0&i>>>0>4;m=WA(i|0,k|0,1)|0;o=ba()|0;j=KA(i|0,k|0,14,0)|0;k=ba()|0;j=n?m:j;k=n?o:k;do if(!(b[K>>0]|0)){i=f[H>>2]|0;if((Mc()|0)==0?(y=Nc(i,j,k)|0,y|0):0){f[H>>2]=y;i=y;break}b[G>>0]=1;k=f[F>>2]|0;i=f[k>>2]|0;j=i+8|0;if(!(d[j>>1]&9216))d[j>>1]=1;else{cf(i);i=f[k>>2]|0}f[k+20>>2]=7;i=f[i+32>>2]|0;j=i+81|0;if((b[j>>0]|0)==0?(b[i+82>>0]|0)==0:0){b[j>>0]=1;if((f[i+180>>2]|0)>0)f[i+264>>2]=1;o=i+272|0;f[o>>2]=(f[o>>2]|0)+1}do if((b[K>>0]|0)==0?(z=f[H>>2]|0,z|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{o=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}while(0);f[H>>2]=M;o=I;f[o>>2]=100;f[o+4>>2]=0;o=J;f[o>>2]=0;f[o+4>>2]=0;b[K>>0]=1;break a}else{if(b[G>>0]|0)break a;i=xd(j,k)|0;if(i|0){YA(i|0,f[H>>2]|0,f[J>>2]|0)|0;f[H>>2]=i;b[K>>0]=0;break}b[G>>0]=1;k=f[F>>2]|0;i=f[k>>2]|0;j=i+8|0;if(!(d[j>>1]&9216))d[j>>1]=1;else{cf(i);i=f[k>>2]|0}f[k+20>>2]=7;i=f[i+32>>2]|0;j=i+81|0;if((b[j>>0]|0)==0?(b[i+82>>0]|0)==0:0){b[j>>0]=1;if((f[i+180>>2]|0)>0)f[i+264>>2]=1;o=i+272|0;f[o>>2]=(f[o>>2]|0)+1}do if((b[K>>0]|0)==0?(x=f[H>>2]|0,x|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](x);break}else{o=ib[f[37368>>2]&255](x)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](x);break}while(0);f[H>>2]=M;o=I;f[o>>2]=100;f[o+4>>2]=0;o=J;f[o>>2]=0;f[o+4>>2]=0;b[K>>0]=1;break a}while(0);o=I;f[o>>2]=j;f[o+4>>2]=k;j=f[J>>2]|0}m=i+j|0;b[m>>0]=110;b[m+1>>0]=117;b[m+2>>0]=108;b[m+3>>0]=108;m=J;m=KA(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;n=ba()|0;o=J;f[o>>2]=m;f[o+4>>2]=n}while(0);h=h+1|0}while((h|0)<(c|0));if((c|0)>2&(h|0)==(c|0)){h=J;i=f[h>>2]|0;h=f[h+4>>2]|0;k=I;j=f[k>>2]|0;k=f[k+4>>2]|0;c:do if(h>>>0>>0|(h|0)==(k|0)&i>>>0>>0){g=f[H>>2]|0;C=152}else{B=k>>>0>0|(k|0)==0&j>>>0>1;A=WA(j|0,k|0,1)|0;c=ba()|0;i=KA(j|0,k|0,11,0)|0;j=ba()|0;i=B?A:i;j=B?c:j;do if(!(b[K>>0]|0)){h=f[H>>2]|0;if((Mc()|0)==0?(g=Nc(h,i,j)|0,g|0):0){f[H>>2]=g;break}b[G>>0]=1;i=f[F>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;D=g+272|0;f[D>>2]=(f[D>>2]|0)+1}do if((b[K>>0]|0)==0?(E=f[H>>2]|0,E|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](E);break}else{D=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);break}while(0);f[H>>2]=M;C=I;f[C>>2]=100;f[C+4>>2]=0;C=J;f[C>>2]=0;f[C+4>>2]=0;b[K>>0]=1;C=153;break c}else{if(b[G>>0]|0)break c;g=xd(i,j)|0;if(g|0){YA(g|0,f[H>>2]|0,f[J>>2]|0)|0;f[H>>2]=g;b[K>>0]=0;break}b[G>>0]=1;i=f[F>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;E=g+272|0;f[E>>2]=(f[E>>2]|0)+1}do if((b[K>>0]|0)==0?(D=f[H>>2]|0,D|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](D);break}else{E=ib[f[37368>>2]&255](D)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](D);break}while(0);f[H>>2]=M;C=I;f[C>>2]=100;f[C+4>>2]=0;C=J;f[C>>2]=0;f[C+4>>2]=0;b[K>>0]=1;C=153;break c}while(0);h=I;f[h>>2]=i;f[h+4>>2]=j;h=J;i=f[h>>2]|0;h=f[h+4>>2]|0;C=152}while(0);if((C|0)==152){c=KA(i|0,h|0,1,0)|0;D=ba()|0;E=J;f[E>>2]=c;f[E+4>>2]=D;b[g+i>>0]=93;C=153}if((C|0)==153?(b[G>>0]|0)==0:0){g=f[F>>2]|0;h=f[H>>2]|0;G=J;i=f[G>>2]|0;G=f[G+4>>2]|0;j=(b[K>>0]|0)==0?101:-1;if(G>>>0>0|(G|0)==0&i>>>0>2147483647){switch(j|0){case 0:case -1:break;default:ob[j&127](h)}if(g|0){f[g+20>>2]=18;$e(f[g>>2]|0,41612,-1,1,0)|0}}else if(($e(f[g>>2]|0,h,i,1,j)|0)==18){f[g+20>>2]=18;$e(f[g>>2]|0,41612,-1,1,0)|0}f[H>>2]=M;G=I;f[G>>2]=100;f[G+4>>2]=0;G=J;f[G>>2]=0;f[G+4>>2]=0;b[K>>0]=1}a=f[a>>2]|0;b[a+11>>0]=74;a=a+8|0;d[a>>1]=d[a>>1]|-32768}do if((b[K>>0]|0)==0?(L=f[H>>2]|0,L|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](L);break}else{a=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);break}while(0);f[H>>2]=M;M=I;f[M>>2]=100;f[M+4>>2]=0;M=J;f[M>>2]=0;f[M+4>>2]=0;b[K>>0]=1;t=N;return}function wr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+64|0;q=u+8|0;g=u;o=u+48|0;s=u+16|0;p=u+12|0;m=f[f[(f[a+4>>2]|0)+8>>2]>>2]|0;if((c|0)<1){t=u;return}if(!(c&1)){f[g>>2]=(m|0)==0?60669:60676;g=wd(60541,g)|0;f[a+20>>2]=1;$e(f[a>>2]|0,g,-1,1,-1)|0;if(!g){t=u;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);t=u;return}else{s=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);t=u;return}}g=f[e>>2]|0;do if(g|0){h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0)i=f[g+16>>2]|0;else r=11;if((r|0)==11){if(h&1)break;i=Ic(g,1)|0};f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[s+16>>2]=0;f[s+20>>2]=0;f[s+24>>2]=0;f[s+28>>2]=0;if(!i){t=u;return}f[s+12>>2]=i;g=er(s,0)|0;l=s+20|0;j=(b[l>>0]|0)==0;do if((g|0)>0&j){while(1){h=b[i+g>>0]|0;if(!(b[23984+(h&255)>>0]|0))break;else g=g+1|0}if((g|0)<1|h<<24>>24!=0)if(!a)break;else{r=20;break}a:do if(c>>>0>1){j=s+21|0;k=a+20|0;i=1;while(1){g=f[e+(i<<2)>>2]|0;do if(g){h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0)g=f[g+16>>2]|0;else{if(h&1){r=47;break}g=Ic(g,1)|0}f[p>>2]=0;f[o>>2]=0;if(g){if((b[g>>0]|0)==36){h=gr(s,0,g+1|0,p,o)|0;g=f[o>>2]|0;if(!g){g=h;break}}else f[o>>2]=g;b[j>>0]=(b[j>>0]|0)+1<<24>>24;f[q>>2]=g;g=wd(60239,q)|0;if(g|0){f[k>>2]=1;$e(f[a>>2]|0,g,-1,1,-1)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{h=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[k>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if(!(b[h>>0]|0)){if(b[g+82>>0]|0){g=0;break}b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;g=g+272|0;f[g>>2]=(f[g>>2]|0)+1;g=0}else g=0}else g=0}else r=47;while(0);if((r|0)==47){r=0;f[p>>2]=0;f[o>>2]=0;g=0}if(b[l>>0]|0)break;if(b[j>>0]|0)break a;if(g|0?(n=g+1|0,f[p>>2]|m|0):0){b[n>>0]=b[n>>0]|8;f[g+8>>2]=i+1}i=i+2|0;if(i>>>0>=c>>>0){r=78;break a}}g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[k>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;a=g+272|0;f[a>>2]=(f[a>>2]|0)+1}}else r=78;while(0);do if((r|0)==78){g=f[s+8>>2]|0;if(!(b[g+1>>0]&8)){ar(g,a,e);break}else{mf(a,f[e+(f[g+8>>2]<<2)>>2]|0);break}}while(0);g=s+8|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{a=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;f[s>>2]=0;f[s+4>>2]=0;g=s+16|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{s=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;t=u;return}else r=20;while(0);do if((r|0)==20){if(j){f[a+20>>2]=1;$e(f[a>>2]|0,60224,-1,1,-1)|0;break}g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[a+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;a=g+272|0;f[a>>2]=(f[a>>2]|0)+1}}while(0);g=s+8|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{a=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;f[s>>2]=0;f[s+4>>2]=0;g=s+16|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{s=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;t=u;return}while(0);f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[s+16>>2]=0;f[s+20>>2]=0;f[s+24>>2]=0;f[s+28>>2]=0;t=u;return}function xr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=t;t=t+128|0;A=H;if(c&1|0){f[a+20>>2]=1;$e(f[a>>2]|0,60584,-1,1,-1)|0;t=H;return}f[A>>2]=a;B=A+25|0;b[B>>0]=0;G=A+26|0;C=A+4|0;f[C>>2]=G;D=A+8|0;E=D;f[E>>2]=100;f[E+4>>2]=0;E=A+16|0;F=A+24|0;b[F>>0]=1;o=E;f[o>>2]=1;f[o+4>>2]=0;b[G>>0]=123;a:do if((c|0)>0){o=0;do{n=e+(o<<2)|0;if((d[(f[n>>2]|0)+8>>1]&15|16)<<16>>16!=18){x=6;break}l=E;k=f[l>>2]|0;l=f[l+4>>2]|0;b:do if(!((k|0)==0&(l|0)==0)){h=f[C>>2]|0;switch(b[h+(k+-1)>>0]|0){case 123:case 91:break b;default:{}}j=D;i=f[j>>2]|0;j=f[j+4>>2]|0;if(l>>>0>>0|(l|0)==(j|0)&k>>>0>>0){m=k;j=k;i=l}else{l=j>>>0>0|(j|0)==0&i>>>0>1;k=WA(i|0,j|0,1)|0;m=ba()|0;i=KA(i|0,j|0,11,0)|0;j=ba()|0;i=l?k:i;j=l?m:j;do if(!(b[F>>0]|0)){if((Mc()|0)==0?(q=Nc(h,i,j)|0,q|0):0){f[C>>2]=q;h=q;break}b[B>>0]=1;j=f[A>>2]|0;h=f[j>>2]|0;i=h+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else{cf(h);h=f[j>>2]|0}f[j+20>>2]=7;h=f[h+32>>2]|0;i=h+81|0;if((b[i>>0]|0)==0?(b[h+82>>0]|0)==0:0){b[i>>0]=1;if((f[h+180>>2]|0)>0)f[h+264>>2]=1;m=h+272|0;f[m>>2]=(f[m>>2]|0)+1}do if((b[F>>0]|0)==0?(r=f[C>>2]|0,r|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{m=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);f[C>>2]=G;m=D;f[m>>2]=100;f[m+4>>2]=0;m=E;f[m>>2]=0;f[m+4>>2]=0;b[F>>0]=1;break b}else{if(b[B>>0]|0)break b;h=xd(i,j)|0;if(h|0){YA(h|0,f[C>>2]|0,f[E>>2]|0)|0;f[C>>2]=h;b[F>>0]=0;break}b[B>>0]=1;j=f[A>>2]|0;h=f[j>>2]|0;i=h+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else{cf(h);h=f[j>>2]|0}f[j+20>>2]=7;h=f[h+32>>2]|0;i=h+81|0;if((b[i>>0]|0)==0?(b[h+82>>0]|0)==0:0){b[i>>0]=1;if((f[h+180>>2]|0)>0)f[h+264>>2]=1;m=h+272|0;f[m>>2]=(f[m>>2]|0)+1}do if((b[F>>0]|0)==0?(p=f[C>>2]|0,p|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{m=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);f[C>>2]=G;m=D;f[m>>2]=100;f[m+4>>2]=0;m=E;f[m>>2]=0;f[m+4>>2]=0;b[F>>0]=1;break b}while(0);m=D;f[m>>2]=i;f[m+4>>2]=j;i=E;j=f[i>>2]|0;m=j;i=f[i+4>>2]|0}j=KA(j|0,i|0,1,0)|0;k=ba()|0;l=E;f[l>>2]=j;f[l+4>>2]=k;b[h+m>>0]=44}while(0);i=f[n>>2]|0;h=d[i+8>>1]|0;if((h&514)==514?(b[i+10>>0]|0)==1:0)k=f[i+16>>2]|0;else if(!(h&1)){k=Ic(i,1)|0;i=f[n>>2]|0}else k=0;h=d[i+8>>1]|0;if((h&2)!=0?(b[i+10>>0]|0)==1:0)h=f[i+12>>2]|0;else x=60;do if((x|0)==60){x=0;j=h&65535;if(!(j&16)){if(j&1|0){h=0;break}h=_e(i,1)|0;break}else{h=f[i+12>>2]|0;if(!(j&16384))break;h=(f[i>>2]|0)+h|0;break}}while(0);dr(A,k,h);k=E;h=f[k>>2]|0;k=f[k+4>>2]|0;j=D;i=f[j>>2]|0;j=f[j+4>>2]|0;c:do if(k>>>0>>0|(k|0)==(j|0)&h>>>0>>0){j=h;i=k;h=f[C>>2]|0;x=103}else{m=j>>>0>0|(j|0)==0&i>>>0>1;l=WA(i|0,j|0,1)|0;n=ba()|0;i=KA(i|0,j|0,11,0)|0;j=ba()|0;i=m?l:i;j=m?n:j;do if(!(b[F>>0]|0)){h=f[C>>2]|0;if((Mc()|0)==0?(v=Nc(h,i,j)|0,v|0):0){f[C>>2]=v;h=v;break}b[B>>0]=1;j=f[A>>2]|0;h=f[j>>2]|0;i=h+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else{cf(h);h=f[j>>2]|0}f[j+20>>2]=7;h=f[h+32>>2]|0;i=h+81|0;if((b[i>>0]|0)==0?(b[h+82>>0]|0)==0:0){b[i>>0]=1;if((f[h+180>>2]|0)>0)f[h+264>>2]=1;n=h+272|0;f[n>>2]=(f[n>>2]|0)+1}do if((b[F>>0]|0)==0?(w=f[C>>2]|0,w|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{n=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}while(0);f[C>>2]=G;n=D;f[n>>2]=100;f[n+4>>2]=0;n=E;f[n>>2]=0;f[n+4>>2]=0;b[F>>0]=1;break c}else{if(b[B>>0]|0)break c;h=xd(i,j)|0;if(h|0){YA(h|0,f[C>>2]|0,f[E>>2]|0)|0;f[C>>2]=h;b[F>>0]=0;break}b[B>>0]=1;j=f[A>>2]|0;h=f[j>>2]|0;i=h+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else{cf(h);h=f[j>>2]|0}f[j+20>>2]=7;h=f[h+32>>2]|0;i=h+81|0;if((b[i>>0]|0)==0?(b[h+82>>0]|0)==0:0){b[i>>0]=1;if((f[h+180>>2]|0)>0)f[h+264>>2]=1;n=h+272|0;f[n>>2]=(f[n>>2]|0)+1}do if((b[F>>0]|0)==0?(s=f[C>>2]|0,s|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{n=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}while(0);f[C>>2]=G;n=D;f[n>>2]=100;f[n+4>>2]=0;n=E;f[n>>2]=0;f[n+4>>2]=0;b[F>>0]=1;break c}while(0);x=D;f[x>>2]=i;f[x+4>>2]=j;i=E;j=f[i>>2]|0;i=f[i+4>>2]|0;x=103}while(0);if((x|0)==103){x=0;l=KA(j|0,i|0,1,0)|0;m=ba()|0;n=E;f[n>>2]=l;f[n+4>>2]=m;b[h+j>>0]=58}cr(A,f[e+((o|1)<<2)>>2]|0);o=o+2|0}while((o|0)<(c|0));if((x|0)==6){f[a+20>>2]=1;$e(f[a>>2]|0,60635,-1,1,-1)|0;do if((b[F>>0]|0)==0?(u=f[C>>2]|0,u|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{a=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}while(0);f[C>>2]=G;G=D;f[G>>2]=100;f[G+4>>2]=0;G=E;f[G>>2]=0;f[G+4>>2]=0;b[F>>0]=1;t=H;return}h=E;i=f[h>>2]|0;h=f[h+4>>2]|0;k=D;j=f[k>>2]|0;k=f[k+4>>2]|0;if(h>>>0>>0|(h|0)==(k|0)&i>>>0>>0){g=i;x=106}else{v=k>>>0>0|(k|0)==0&j>>>0>1;u=WA(j|0,k|0,1)|0;w=ba()|0;i=KA(j|0,k|0,11,0)|0;j=ba()|0;i=v?u:i;j=v?w:j;do if(!(b[F>>0]|0)){h=f[C>>2]|0;if((Mc()|0)==0?(g=Nc(h,i,j)|0,g|0):0){f[C>>2]=g;break}b[B>>0]=1;i=f[A>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;y=g+272|0;f[y>>2]=(f[y>>2]|0)+1}do if((b[F>>0]|0)==0?(z=f[C>>2]|0,z|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{y=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}while(0);f[C>>2]=G;x=D;f[x>>2]=100;f[x+4>>2]=0;x=E;f[x>>2]=0;f[x+4>>2]=0;b[F>>0]=1;x=144;break a}else{if(b[B>>0]|0)break a;g=xd(i,j)|0;if(g|0){YA(g|0,f[C>>2]|0,f[E>>2]|0)|0;f[C>>2]=g;b[F>>0]=0;break}b[B>>0]=1;i=f[A>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;z=g+272|0;f[z>>2]=(f[z>>2]|0)+1}do if((b[F>>0]|0)==0?(y=f[C>>2]|0,y|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](y);break}else{z=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y);break}while(0);f[C>>2]=G;x=D;f[x>>2]=100;f[x+4>>2]=0;x=E;f[x>>2]=0;f[x+4>>2]=0;b[F>>0]=1;x=144;break a}while(0);h=D;f[h>>2]=i;f[h+4>>2]=j;h=E;i=f[h>>2]|0;h=f[h+4>>2]|0;x=143}}else{g=1;h=0;x=106}while(0);if((x|0)==106){i=g;g=f[C>>2]|0;x=143}if((x|0)==143){w=KA(i|0,h|0,1,0)|0;y=ba()|0;z=E;f[z>>2]=w;f[z+4>>2]=y;b[g+i>>0]=125;x=144}if((x|0)==144?(b[B>>0]|0)==0:0){g=f[A>>2]|0;h=f[C>>2]|0;B=E;i=f[B>>2]|0;B=f[B+4>>2]|0;j=(b[F>>0]|0)==0?101:-1;if(B>>>0>0|(B|0)==0&i>>>0>2147483647){switch(j|0){case 0:case -1:break;default:ob[j&127](h)}if(g|0){f[g+20>>2]=18;$e(f[g>>2]|0,41612,-1,1,0)|0}}else if(($e(f[g>>2]|0,h,i,1,j)|0)==18){f[g+20>>2]=18;$e(f[g>>2]|0,41612,-1,1,0)|0}f[C>>2]=G;G=D;f[G>>2]=100;f[G+4>>2]=0;G=E;f[G>>2]=0;f[G+4>>2]=0;b[F>>0]=1}G=f[a>>2]|0;b[G+11>>0]=74;G=G+8|0;d[G>>1]=d[G>>1]|-32768;t=H;return}function yr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+64|0;l=m+32|0;k=m;c=f[e>>2]|0;do if(c|0){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0)h=f[c+16>>2]|0;else j=5;if((j|0)==5){if(g&1)break;h=Ic(c,1)|0};f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;if(!h){t=m;return}f[l+12>>2]=h;c=er(l,0)|0;i=(b[l+20>>0]|0)==0;if((c|0)>0&i){while(1){g=b[h+c>>0]|0;if(!(b[23984+(g&255)>>0]|0))break;else c=c+1|0}if(!((c|0)<1|g<<24>>24!=0)){c=f[e+4>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0)h=f[c+16>>2]|0;else j=37;if((j|0)==37){if(g&1){j=39;break}h=Ic(c,1)|0};f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;f[k+28>>2]=0;if(h|0){f[k+12>>2]=h;c=er(k,0)|0;i=(b[k+20>>0]|0)==0;if((c|0)>0&i){while(1){g=b[h+c>>0]|0;if(!(b[23984+(g&255)>>0]|0))break;else c=c+1|0}if(!((c|0)<1|g<<24>>24!=0)){h=k+8|0;c=Fr(l,0,f[h>>2]|0)|0;if(!c){c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if((b[g>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1}}else ar(c,a,0);c=l+8|0;g=f[c>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[c>>2]=0;f[l>>2]=0;f[l+4>>2]=0;c=l+16|0;g=f[c>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{l=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[c>>2]=0;c=f[h>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{l=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[h>>2]=0;f[k>>2]=0;f[k+4>>2]=0;c=k+16|0;g=f[c>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{l=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[c>>2]=0;t=m;return}}do if(a|0){if(i){f[a+20>>2]=1;$e(f[a>>2]|0,60224,-1,1,-1)|0;break}c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if((b[g>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1}}while(0);c=k+8|0;g=f[c>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[c>>2]=0;f[k>>2]=0;f[k+4>>2]=0;c=k+16|0;g=f[c>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{k=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[c>>2]=0}}else j=39;while(0);if((j|0)==39){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;f[k+28>>2]=0}c=l+8|0;g=f[c>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{k=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[c>>2]=0;f[l>>2]=0;f[l+4>>2]=0;c=l+16|0;g=f[c>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{l=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[c>>2]=0;t=m;return}}do if(a|0){if(i){f[a+20>>2]=1;$e(f[a>>2]|0,60224,-1,1,-1)|0;break}c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if((b[g>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;k=c+272|0;f[k>>2]=(f[k>>2]|0)+1}}while(0);c=l+8|0;g=f[c>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{k=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[c>>2]=0;f[l>>2]=0;f[l+4>>2]=0;c=l+16|0;g=f[c>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{l=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[c>>2]=0;t=m;return}while(0);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;t=m;return}function zr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=t;t=t+128|0;c=n;f[c>>2]=a;h=c+25|0;b[h>>0]=0;k=c+26|0;l=c+4|0;f[l>>2]=k;m=c+8|0;i=m;f[i>>2]=100;f[i+4>>2]=0;i=c+16|0;j=i;f[j>>2]=0;f[j+4>>2]=0;j=c+24|0;b[j>>0]=1;cr(c,f[e>>2]|0);if(b[h>>0]|0){a=f[a>>2]|0;m=a+11|0;b[m>>0]=74;a=a+8|0;m=d[a>>1]|0;m=m|-32768;d[a>>1]=m;t=n;return}c=f[c>>2]|0;e=f[l>>2]|0;o=i;g=f[o>>2]|0;o=f[o+4>>2]|0;h=(b[j>>0]|0)==0?101:-1;if(o>>>0>0|(o|0)==0&g>>>0>2147483647){switch(h|0){case 0:case -1:break;default:ob[h&127](e)}if(c|0){f[c+20>>2]=18;$e(f[c>>2]|0,41612,-1,1,0)|0}}else if(($e(f[c>>2]|0,e,g,1,h)|0)==18){f[c+20>>2]=18;$e(f[c>>2]|0,41612,-1,1,0)|0}f[l>>2]=k;o=m;f[o>>2]=100;f[o+4>>2]=0;o=i;f[o>>2]=0;f[o+4>>2]=0;b[j>>0]=1;o=f[a>>2]|0;a=o+11|0;b[a>>0]=74;o=o+8|0;a=d[o>>1]|0;a=a|-32768;d[o>>1]=a;t=n;return}function Ar(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+64|0;m=p+8|0;g=p;l=p+48|0;o=p+16|0;if((c|0)<1){t=p;return}if(!(c&1)){f[g>>2]=41450;g=wd(60541,g)|0;f[a+20>>2]=1;$e(f[a>>2]|0,g,-1,1,-1)|0;if(!g){t=p;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);t=p;return}else{o=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);t=p;return}}g=f[e>>2]|0;do if(g|0){h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0)i=f[g+16>>2]|0;else n=11;if((n|0)==11){if(h&1)break;i=Ic(g,1)|0};f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;if(!i){t=p;return}f[o+12>>2]=i;g=er(o,0)|0;j=(b[o+20>>0]|0)==0;if((g|0)>0&j){while(1){h=b[i+g>>0]|0;if(!(b[23984+(h&255)>>0]|0))break;else g=g+1|0}if(!((g|0)<1|h<<24>>24!=0)){a:do if(c>>>0>1){j=o+21|0;k=a+20|0;i=1;while(1){g=f[e+(i<<2)>>2]|0;do if(g){h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0)g=f[g+16>>2]|0;else{if(h&1){n=47;break}g=Ic(g,1)|0}f[l>>2]=0;if(g){if((b[g>>0]|0)==36){h=gr(o,0,g+1|0,0,l)|0;g=f[l>>2]|0;if(!g){g=h;break}}else f[l>>2]=g;b[j>>0]=(b[j>>0]|0)+1<<24>>24;f[m>>2]=g;g=wd(60239,m)|0;if(g|0){f[k>>2]=1;$e(f[a>>2]|0,g,-1,1,-1)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{h=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[k>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if(!(b[h>>0]|0)){if(b[g+82>>0]|0){g=0;break}b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;g=g+272|0;f[g>>2]=(f[g>>2]|0)+1;g=0}else g=0}else g=0}else n=47;while(0);if((n|0)==47){n=0;f[l>>2]=0;g=0}if(b[j>>0]|0)break;h=g+1|0;if(g|0){b[h>>0]=b[h>>0]|8;f[g+8>>2]=i+1}i=i+2|0;if(i>>>0>=c>>>0){n=68;break a}}h=o+8|0}else n=68;while(0);do if((n|0)==68){h=o+8|0;g=f[h>>2]|0;if(!(b[g+1>>0]&8)){ar(g,a,e);break}else{mf(a,f[e+(f[g+8>>2]<<2)>>2]|0);break}}while(0);g=f[h>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[h>>2]=0;f[o>>2]=0;f[o+4>>2]=0;g=o+16|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{o=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;t=p;return}}do if(a|0){if(j){f[a+20>>2]=1;$e(f[a>>2]|0,60224,-1,1,-1)|0;break}g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[a+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;a=g+272|0;f[a>>2]=(f[a>>2]|0)+1}}while(0);g=o+8|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{a=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;f[o>>2]=0;f[o+4>>2]=0;g=o+16|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{o=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;t=p;return}while(0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;t=p;return} -function Gg(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;w=t;t=t+32|0;o=w+16|0;e=w;if((b[a+8>>0]|0)!=2){v=0;t=w;return v|0}v=f[a+4>>2]|0;f[v+4>>2]=f[a>>2];do if(b[v+17>>0]|0){u=f[v>>2]|0;k=f[v+8>>2]|0;l=(k|0)==0;if(!l){a=k;do{r=a+1|0;b[r>>0]=b[r>>0]&-5;a=f[a+24>>2]|0}while((a|0)!=0)}if(!(b[v+18>>0]|0)){r=v+44|0;g=f[r>>2]|0;i=g>>>0<2;if(i)a=0;else{a=g+-2|0;a=a-((a>>>0)%(((((f[v+36>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;a=((a+1|0)==(1073741824/((f[v+32>>2]|0)>>>0)|0|0)?3:2)+a|0}if((a|0)!=(g|0)?(m=1073741824/((f[v+32>>2]|0)>>>0)|0,n=m+1|0,(g|0)!=(n|0)):0){q=v+12|0;p=f[(f[q>>2]|0)+56>>2]|0;p=h[p+37>>0]<<16|h[p+36>>0]<<24|h[p+38>>0]<<8|h[p+39>>0];e=((f[v+36>>2]|0)>>>0)/5|0;j=e+1|0;if(i)a=0;else{a=g+-2|0;a=a-((a>>>0)%(j>>>0)|0)|0;a=((a+1|0)==(m|0)?3:2)+a|0}i=g-p-(((e-g+p+a|0)>>>0)/(e>>>0)|0)|0;i=i+((n>>>0>>0&i>>>0>>0)<<31>>31)|0;while(1){if(i>>>0<2)a=0;else{a=i+-2|0;a=a-((a>>>0)%(j>>>0)|0)|0;a=((a+1|0)==(m|0)?3:2)+a|0}if((i|0)==(n|0)|(a|0)==(i|0))i=i+-1|0;else break}if(i>>>0>g>>>0){f[o>>2]=42469;f[o+4>>2]=66792;f[o+8>>2]=40460;Ac(11,40408,o);v=11;t=w;return v|0}if(l|i>>>0>=g>>>0)a=0;else a=Kg(k,0,0)|0;e=(a|0)==0;if(g>>>0>i>>>0&e)do{a=Ah(v,i,g,1)|0;g=g+-1|0;e=(a|0)==0}while(e&g>>>0>i>>>0);if((p|0)!=0&((a|0)==101|e)){e=f[(f[q>>2]|0)+72>>2]|0;g=f[e+20>>2]|0;if((d[e+28>>1]&4)!=0?(f[g+24>>2]|0)>>>0>=(f[e+24>>2]|0)>>>0:0)if(!(f[g+96>>2]|0))a=0;else a=Ng(e)|0;else s=30;do if((s|0)==30){a=f[g+40>>2]|0;if(!a)if((f[g+148>>2]|0)>>>0>(f[g+152>>2]|0)>>>0){a=Og(e)|0;break}else{a=Pg(e)|0;break}}while(0);s=(f[(f[q>>2]|0)+56>>2]|0)+32|0;b[s>>0]=0;b[s+1>>0]=0;b[s+2>>0]=0;b[s+3>>0]=0;s=(f[(f[q>>2]|0)+56>>2]|0)+36|0;b[s>>0]=0;b[s+1>>0]=0;b[s+2>>0]=0;b[s+3>>0]=0;s=f[(f[q>>2]|0)+56>>2]|0;b[s+28>>0]=i>>>24;b[s+29>>0]=i>>>16;b[s+30>>0]=i>>>8;b[s+31>>0]=i;b[v+19>>0]=1;f[r>>2]=i}if(!a)break;wh(u)|0;v=a;t=w;return v|0}f[e>>2]=42469;f[e+4>>2]=66787;f[e+8>>2]=40460;Ac(11,40408,e);v=11;t=w;return v|0}}while(0);a=f[v>>2]|0;if(b[v+19>>0]|0)f[a+24>>2]=f[v+44>>2];v=Bh(a,c,0)|0;t=w;return v|0}function Hg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;d=b[a+8>>0]|0;if(!(d<<24>>24)){l=0;return l|0}l=f[a+4>>2]|0;f[l+4>>2]=f[a>>2];if(d<<24>>24==2){i=f[l>>2]|0;j=i+40|0;d=f[j>>2]|0;a:do if(!d){e=i+16|0;if(((b[e>>0]|0)==2?b[i+4>>0]|0:0)?(b[i+5>>0]|0)==1:0){b[e>>0]=1;break}d=i+100|0;f[d>>2]=(f[d>>2]|0)+1;d=sh(i,h[i+19>>0]|0,1)|0;switch((d&255)<<24>>24){case 10:case 13:break;default:{g=d;k=10;break a}}f[j>>2]=d;b[e>>0]=6;f[i+204>>2]=(d|0)==0?81:82;g=d;k=10}else{g=d;k=10}while(0);if((k|0)==10?(c|0)==0&(g|0)!=0:0){l=g;return l|0}c=a+20|0;f[c>>2]=(f[c>>2]|0)+-1;b[l+20>>0]=1;l=l+60|0;Ug(f[l>>2]|0);f[l>>2]=0}vh(a);l=0;return l|0}function Ig(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=t;t=t+112|0;k=l+88|0;m=l;f[m>>2]=d;e=f[a+108>>2]|0;h=k+4|0;f[h>>2]=l+16;f[k>>2]=a;f[k+8>>2]=70;i=k+12|0;f[i>>2]=e;e=k+16|0;f[e>>2]=0;j=k+20|0;b[j>>0]=0;g=k+21|0;b[g>>0]=1;Bc(k,c,m);d=f[h>>2]|0;if(((d|0)!=0?(b[d+(f[e>>2]|0)>>0]=0,(f[i>>2]|0)!=0):0)?(b[g>>0]&4)==0:0)c=Cc(k)|0;else c=f[h>>2]|0;if((b[j>>0]|0)!=7){t=l;return c|0}d=a+81|0;if(b[d>>0]|0){t=l;return c|0}if(b[a+82>>0]|0){t=l;return c|0}b[d>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;m=a+272|0;f[m>>2]=(f[m>>2]|0)+1;t=l;return c|0}function Jg(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=f[a>>2]|0;q=a+48|0;t=f[q>>2]|0;u=t+-1|0;p=v+20|0;g=f[p>>2]|0;if((g|0)>0){n=v+16|0;o=(t|0)<1;if((c|0)==2){l=0;e=0;do{k=f[(f[n>>2]|0)+(l<<4)+4>>2]|0;if(k){i=k+8|0;do if((b[i>>0]|0)==2){j=f[k+4>>2]|0;f[j+4>>2]=f[k>>2];g=f[j+8>>2]|0;if(g|0?(m=Kg(g,0,0)|0,m|0):0){g=m;break}g=Lg(f[j>>2]|0,2,u)|0;if(!g){if(o?d[j+22>>1]&16:0)f[j+44>>2]=0;g=Mg(j)|0;w=f[(f[j+12>>2]|0)+56>>2]|0;f[j+44>>2]=h[w+29>>0]<<16|h[w+28>>0]<<24|h[w+30>>0]<<8|h[w+31>>0];if(!g)if((b[i>>0]|0)==2){i=f[k+4>>2]|0;f[i+4>>2]=f[k>>2];g=Lg(f[i>>2]|0,1,u)|0;if(!g){if(o?d[i+22>>1]&16:0)f[i+44>>2]=0;g=Mg(i)|0;w=f[(f[i+12>>2]|0)+56>>2]|0;f[i+44>>2]=h[w+29>>0]<<16|h[w+28>>0]<<24|h[w+30>>0]<<8|h[w+31>>0]}}else g=0}}else g=0;while(0);e=(e|0)==0?g:e;g=f[p>>2]|0}l=l+1|0}while((l|0)<(g|0))}else{k=0;e=0;do{i=f[(f[n>>2]|0)+(k<<4)+4>>2]|0;if(i){if((b[i+8>>0]|0)==2){j=f[i+4>>2]|0;f[j+4>>2]=f[i>>2];g=Lg(f[j>>2]|0,1,u)|0;if(!g){if(o?d[j+22>>1]&16:0)f[j+44>>2]=0;g=Mg(j)|0;w=f[(f[j+12>>2]|0)+56>>2]|0;f[j+44>>2]=h[w+29>>0]<<16|h[w+28>>0]<<24|h[w+30>>0]<<8|h[w+31>>0]}}else g=0;e=(e|0)==0?g:e;g=f[p>>2]|0}k=k+1|0}while((k|0)<(g|0))}w=v+456|0;f[w>>2]=(f[w>>2]|0)+-1;f[q>>2]=0;if(!e)g=33;else g=52}else{g=v+456|0;f[g>>2]=(f[g>>2]|0)+-1;f[q>>2]=0;g=33}a:do if((g|0)==33){l=v+356|0;b:do if((c|0)==2){if(!(f[l>>2]|0)){e=0;break a}k=v+332|0;j=0;while(1){if((j|0)>=(f[k>>2]|0))break b;e=f[(f[l>>2]|0)+(j<<2)>>2]|0;g=f[f[e+4>>2]>>2]|0;i=f[e+8>>2]|0;if((((i|0)!=0?(f[g>>2]|0)>1:0)?(r=f[g+88>>2]|0,(r|0)!=0):0)?(f[e+20>>2]|0)>=(t|0):0)e=jb[r&255](i,u)|0;else e=0;if(!e)j=j+1|0;else{g=52;break a}}}while(0);if(!(f[l>>2]|0)){e=0;g=52}else{k=v+332|0;j=0;while(1){if((j|0)>=(f[k>>2]|0)){e=0;g=52;break a}e=f[(f[l>>2]|0)+(j<<2)>>2]|0;g=f[f[e+4>>2]>>2]|0;i=f[e+8>>2]|0;if((((i|0)!=0?(f[g>>2]|0)>1:0)?(s=f[g+84>>2]|0,(s|0)!=0):0)?(f[e+20>>2]|0)>=(t|0):0)e=jb[s&255](i,u)|0;else e=0;if(!e)j=j+1|0;else{g=52;break}}}}while(0);if((g|0)==52)if((c|0)!=2){w=e;return w|0}u=a+72|0;w=f[u+4>>2]|0;c=v+464|0;f[c>>2]=f[u>>2];f[c+4>>2]=w;c=a+80|0;a=f[c+4>>2]|0;w=v+472|0;f[w>>2]=f[c>>2];f[w+4>>2]=a;w=e;return w|0}function Kg(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=(c|0)==0;j=a;a:while(1){b:do if((j|0)!=(e|0)){if(!k?(f[j+64>>2]|0)!=(c|0):0)break;switch(b[j>>0]|0){case 2:{b[j>>0]=0;break}case 0:{f[j+4>>2]=0;break}default:{i=j+68|0;a=b[i>>0]|0;if(a<<24>>24<=-1)break b;if(a<<24>>24){h=0;do{g=f[(f[j+120+(h<<2)>>2]|0)+72>>2]|0;if(!(d[g+28>>1]&32)){bh(g);a=b[i>>0]|0}else{m=f[g+20>>2]|0;n=m+120|0;f[n>>2]=(f[n>>2]|0)+-1;m=m+136|0;f[g+16>>2]=f[m>>2];f[m>>2]=g}h=h+1|0}while((h|0)<(a<<24>>24|0))}a=f[(f[j+116>>2]|0)+72>>2]|0;if(!(d[a+28>>1]&32))bh(a);else{n=f[a+20>>2]|0;m=n+120|0;f[m>>2]=(f[m>>2]|0)+-1;n=n+136|0;f[a+16>>2]=f[n>>2];f[n>>2]=a}b[i>>0]=-1;break b}}n=(b[j+69>>0]|0)==0;oh(j);if(n){a=f[j+44>>2]|0;i=j+56|0;n=i;f[n>>2]=a;f[n+4>>2]=0;n=KA(a|0,0,-1,-1)|0;m=ba()|0;if(m>>>0>0|(m|0)==0&n>>>0>2147483390){a=7;break a}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](a)|0;if(!a){a=7;break a}else g=a}else{h=ib[f[37372>>2]&255](a)|0;if((f[18194]|0)>>>0>>0)f[18194]=a;g=71896;a=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&a>>>0>0){n=f[18187]|0;m=LA(a|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&m>>>0<=n>>>0)&1}g=ib[f[37356>>2]&255](h)|0;if(!g){a=7;break a}a=ib[f[37368>>2]&255](g)|0;a=(f[18187]|0)+a|0;f[18187]=a;if(a>>>0>(f[18191]|0)>>>0)f[18191]=a;a=(f[18190]|0)+1|0;f[18190]=a;if(a>>>0>(f[18196]|0)>>>0)f[18196]=a}a=ph(j,0,f[i>>2]|0,g,0)|0;if(a|0){l=24;break a}f[j+16>>2]=g}else{i=j+32|0;m=f[i+4>>2]|0;n=j+56|0;f[n>>2]=f[i>>2];f[n+4>>2]=m}i=j+68|0;a=b[i>>0]|0;if(a<<24>>24>-1){if(a<<24>>24){h=0;do{g=f[(f[j+120+(h<<2)>>2]|0)+72>>2]|0;if(!(d[g+28>>1]&32)){bh(g);a=b[i>>0]|0}else{n=f[g+20>>2]|0;m=n+120|0;f[m>>2]=(f[m>>2]|0)+-1;n=n+136|0;f[g+16>>2]=f[n>>2];f[n>>2]=g}h=h+1|0}while((h|0)<(a<<24>>24|0))}a=f[(f[j+116>>2]|0)+72>>2]|0;if(!(d[a+28>>1]&32))bh(a);else{n=f[a+20>>2]|0;m=n+120|0;f[m>>2]=(f[m>>2]|0)+-1;n=n+136|0;f[a+16>>2]=f[n>>2];f[n>>2]=a}b[i>>0]=-1}b[j>>0]=3;n=j+1|0;b[n>>0]=b[n>>0]&-15}while(0);a=f[j+24>>2]|0;if(!a){a=0;l=52;break}else j=a}if((l|0)==52)return a|0;do if((l|0)==24)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{n=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);n=j+1|0;b[n>>0]=b[n>>0]&-15;n=a;return n|0}function Lg(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;z=t;t=t+32|0;y=z+8|0;x=z;g=f[a+40>>2]|0;if(g|0){a=g;t=z;return a|0}k=a+96|0;g=f[k>>2]|0;if((g|0)<=(e|0)){a=0;t=z;return a|0}i=(c|0)==1;e=((i^1)&1)+e|0;if((e|0)<(g|0)){c=a+92|0;g=e;do{Ug(f[(f[c>>2]|0)+(g*48|0)+16>>2]|0);g=g+1|0}while((g|0)<(f[k>>2]|0))}f[k>>2]=e;if(i){if(e|0){a=0;t=z;return a|0}e=f[a+68>>2]|0;g=f[e>>2]|0;if(!g){a=0;t=z;return a|0}if((g|0)==37976){c=e+16|0;g=f[c>>2]|0;if(g|0)do{h=g;g=f[g>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](h);else{y=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h)}}while((g|0)!=0);f[c>>2]=0;f[e+12>>2]=0;f[e+32>>2]=0;y=e+24|0;f[y>>2]=0;f[y+4>>2]=0;f[e+48>>2]=0;y=e+40|0;f[y>>2]=0;f[y+4>>2]=0}f[a+52>>2]=0;a=0;t=z;return a|0}s=a+216|0;if((f[s>>2]|0)==0?(f[f[a+64>>2]>>2]|0)==0:0){a=0;t=z;return a|0}if((e|0)!=0?(l=e+-1|0,u=f[a+92>>2]|0,m=u+(l*48|0)|0,l=u+(l*48|0)+20|0,(m|0)!=0):0){i=f[l>>2]|0;if(!(f[9328]|0)){g=ib[f[37356>>2]&255](512)|0;if(!g){a=7;t=z;return a|0}}else{g=ib[f[37372>>2]&255](512)|0;if((f[18194]|0)>>>0<512)f[18194]=512;e=71896;c=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&c>>>0>0){u=f[18187]|0;r=LA(c|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;q=ba()|0;f[17976]=((q|0)<0|(q|0)==0&r>>>0<=u>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){a=7;t=z;return a|0}c=ib[f[37368>>2]&255](g)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}_A(g+4|0,0,508)|0;f[g>>2]=i;u=g;g=l;e=a+28|0;r=m;q=1}else{e=a+28|0;u=0;g=e;r=0;q=0}c=a+24|0;f[c>>2]=f[g>>2];b[a+18>>0]=b[a+12>>0]|0;a:do if(q){l=a+72|0;h=l;c=f[h>>2]|0;h=f[h+4>>2]|0;if(!(f[s>>2]|0)){i=r+8|0;e=f[i>>2]|0;i=f[i+4>>2]|0;g=(e|0)==0&(i|0)==0;e=g?c:e;i=g?h:i;g=r;k=f[g>>2]|0;g=f[g+4>>2]|0;p=l;f[p>>2]=k;f[p+4>>2]=g;if((g|0)<(i|0)|(g|0)==(i|0)&k>>>0>>0)while(1){g=gh(a,l,u,1,1)|0;if(g|0){p=c;o=h;break a}g=l;k=f[g>>2]|0;g=f[g+4>>2]|0;if(!((g|0)<(i|0)|(g|0)==(i|0)&k>>>0>>0)){p=c;w=73;break}}else{p=c;w=73}}else{g=l;w=72}}else{o=f[s>>2]|0;if(!o){g=a+72|0;h=g;c=f[h>>2]|0;h=f[h+4>>2]|0;w=72;break}f[c>>2]=f[e>>2];if(b[o+44>>0]|0){n=o+68|0;l=f[n>>2]|0;m=o+32|0;i=f[m>>2]|0;g=o+52|0;c=f[i>>2]|0;e=g+48|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(e|0));c=f[n>>2]|0;g=c+1|0;if(g>>>0>l>>>0)g=0;else{k=g;e=i;while(1){g=c+34|0;c=g>>>12;if(!c)g=(f[e>>2]|0)+(g<<2)|0;else g=(f[e+(c<<2)>>2]|0)+((g&4095)<<2)|0;g=dh(a,f[g>>2]|0)|0;c=k+1|0;if(c>>>0>l>>>0|(g|0)!=0)break;x=k;k=c;e=f[m>>2]|0;c=x}c=f[n>>2]|0}if((l|0)!=(c|0))if(c|0){c=c+33|0;e=c>>>12;k=y+4|0;if((f[o+24>>2]|0)>(e|0)?(h=f[(f[m>>2]|0)+(e<<2)>>2]|0,f[k>>2]=h,(h|0)!=0):0)w=53;else w=50;do if((w|0)==50)if(!(eh(o,e,k)|0)){h=f[k>>2]|0;w=53;break}else{c=f[y+8>>2]|0;i=f[y>>2]|0;break}while(0);if((w|0)==53){i=h+16384|0;f[y>>2]=i;if(!e){h=h+136|0;f[k>>2]=h;c=0}else c=(c&-4096)+-34|0;f[y+8>>2]=c;f[k>>2]=h+-4}c=(f[n>>2]|0)-c|0;h=0;do{e=i+(h<<1)|0;if((c|0)<(j[e>>1]|0))d[e>>1]=0;h=h+1|0}while((h|0)!=8192);y=(f[k>>2]|0)+(c+1<<2)|0;_A(y|0,0,i-y|0)|0}}else g=0;h=fh(f[a+212>>2]|0)|0;if(!((g|0)==0&(h|0)!=0)){a=g;t=z;return a|0}do{g=h;h=f[h+16>>2]|0;g=dh(a,f[g+24>>2]|0)|0}while((h|0)!=0&(g|0)==0);t=z;return g|0}while(0);if((w|0)==72){l=g;f[l>>2]=0;f[l+4>>2]=0;l=g;g=0;k=0;p=c;w=73}b:do if((w|0)==73){m=a+80|0;n=a+148|0;o=a+152|0;if((g|0)<(h|0)|(g|0)==(h|0)&k>>>0

>>0)while(1){f[y>>2]=0;g=hh(a,0,p,h,y,x)|0;c=f[y>>2]|0;if(!c){c=m;c=KA(f[c>>2]|0,f[c+4>>2]|0,f[n>>2]|0,0)|0;e=ba()|0;w=l;if((c|0)==(f[w>>2]|0)?(e|0)==(f[w+4>>2]|0):0){k=LA(p|0,h|0,c|0,e|0)|0;w=ba()|0;c=(f[o>>2]|0)+8|0;c=OA(k|0,w|0,c|0,((c|0)<0)<<31>>31|0)|0;ba()|0;f[y>>2]=c;w=78}else w=83}else w=78;c:do if((w|0)==78){w=0;if((g|0)==0&(c|0)!=0){i=0;while(1){e=l;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)<(h|0)|(e|0)==(h|0)&g>>>0

>>0))break;g=gh(a,l,u,1,1)|0;i=i+1|0;if(!(i>>>0>>0&(g|0)==0)){w=83;break c}}c=e}else w=83}while(0);if((w|0)==83){w=0;if(g|0){o=h;break b}g=l;c=f[g+4>>2]|0;g=f[g>>2]|0}if(!((c|0)<(h|0)|(c|0)==(h|0)&g>>>0

>>0)){g=0;o=h;break}}else{g=0;o=h}}while(0);if(q){n=r+24|0;h=f[n>>2]|0;m=(f[a+152>>2]|0)+4|0;m=QA(m|0,((m|0)<0)<<31>>31|0,h|0,0)|0;q=ba()|0;i=x;f[i>>2]=m;f[i+4>>2]=q;i=f[s>>2]|0;if(!i){if(!g)w=109}else{g=r+28|0;c=r+40|0;e=i+112|0;if((f[c>>2]|0)==(f[e>>2]|0))g=f[g>>2]|0;else{f[g>>2]=0;f[c>>2]=f[e>>2];g=0}k=i+68|0;if(g>>>0<(f[k>>2]|0)>>>0){f[k>>2]=g;f[i+76>>2]=f[r+32>>2];f[i+80>>2]=f[r+36>>2];if(g|0){h=g+33|0;c=h>>>12;m=y+4|0;if((f[i+24>>2]|0)>(c|0)?(v=f[(f[i+32>>2]|0)+(c<<2)>>2]|0,f[m>>2]=v,(v|0)!=0):0){g=v;w=98}else w=95;do if((w|0)==95)if(!(eh(i,c,m)|0)){g=f[m>>2]|0;w=98;break}else{h=f[y+8>>2]|0;e=f[y>>2]|0;break}while(0);if((w|0)==98){e=g+16384|0;f[y>>2]=e;if(!c){g=g+136|0;f[m>>2]=g;h=0}else h=(h&-4096)+-34|0;f[y+8>>2]=h;f[m>>2]=g+-4}h=(f[k>>2]|0)-h|0;g=0;do{c=e+(g<<1)|0;if((h|0)<(j[c>>1]|0))d[c>>1]=0;g=g+1|0}while((g|0)!=8192);y=(f[m>>2]|0)+(h+1<<2)|0;_A(y|0,0,e-y|0)|0}h=f[n>>2]|0;w=109}else w=109}d:do if((w|0)==109){c=a+52|0;while(1){if(h>>>0>=(f[c>>2]|0)>>>0){g=0;break d}g=gh(a,x,u,0,1)|0;if(!g)h=h+1|0;else break}}while(0)}Ug(u);if(g|0){a=g;t=z;return a|0}a=l;f[a>>2]=p;f[a+4>>2]=o;a=0;t=z;return a|0}function Mg(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=a+44|0;if(f[l>>2]|0){n=0;return n|0}m=f[a+12>>2]|0;j=m+56|0;n=f[j>>2]|0;i=f[m+72>>2]|0;g=f[i+20>>2]|0;if((d[i+28>>1]&4)!=0?(f[g+24>>2]|0)>>>0>=(f[i+24>>2]|0)>>>0:0){if(f[g+96>>2]|0){c=Ng(i)|0;e=10}}else e=6;do if((e|0)==6){c=f[g+40>>2]|0;if(c|0){n=c;return n|0}if((f[g+148>>2]|0)>>>0>(f[g+152>>2]|0)>>>0){c=Og(i)|0;e=10;break}else{c=Pg(i)|0;e=10;break}}while(0);if((e|0)==10?c|0:0){n=c;return n|0}c=n;e=6064;g=c+16|0;do{b[c>>0]=b[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));c=a+32|0;b[n+16>>0]=(f[c>>2]|0)>>>8;b[n+17>>0]=(f[c>>2]|0)>>>16;b[n+18>>0]=1;b[n+19>>0]=1;b[n+20>>0]=(f[c>>2]|0)-(f[a+36>>2]|0);b[n+21>>0]=64;b[n+22>>0]=32;b[n+23>>0]=32;c=n+24|0;g=c+76|0;do{b[c>>0]=0;c=c+1|0}while((c|0)<(g|0));g=f[j>>2]|0;i=m+52|0;j=f[i>>2]|0;k=h[m+9>>0]|0;if(!(d[j+22>>1]&12)){c=g+k|0;e=j+36|0}else{e=j+36|0;c=g+k|0;_A(c|0,0,(f[e>>2]|0)-k|0)|0}b[c>>0]=13;c=k+8|0;o=g+(k+1)|0;b[o>>0]=0;b[o+1>>0]=0;b[o+2>>0]=0;b[o+3>>0]=0;b[g+(k+7)>>0]=0;k=g+(k+5)|0;b[k>>0]=(f[e>>2]|0)>>>8;b[k+1>>0]=f[e>>2];d[m+20>>1]=(f[e>>2]|0)-c;b[m+8>>0]=1;b[m+10>>0]=0;f[m+76>>2]=149;k=f[i>>2]|0;b[m+2>>0]=1;b[m+3>>0]=1;f[m+80>>2]=189;d[m+14>>1]=d[k+28>>1]|0;d[m+16>>1]=d[k+30>>1]|0;b[m+11>>0]=b[k+21>>0]|0;d[m+18>>1]=c;f[m+60>>2]=g+(f[e>>2]|0);f[m+64>>2]=g+c;f[m+68>>2]=g;b[m+12>>0]=0;d[m+24>>1]=(f[j+32>>2]|0)+65535;d[m+22>>1]=0;b[m>>0]=1;m=a+22|0;d[m>>1]=d[m>>1]|2;m=b[a+17>>0]|0;b[n+52>>0]=0;b[n+53>>0]=0;b[n+54>>0]=0;b[n+55>>0]=m;m=b[a+18>>0]|0;b[n+64>>0]=0;b[n+65>>0]=0;b[n+66>>0]=0;b[n+67>>0]=m;f[l>>2]=1;b[n+31>>0]=1;n=0;return n|0}function Ng(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;w=t;t=t+16|0;r=w;q=f[a+20>>2]|0;s=a+24|0;i=f[s>>2]|0;u=q+96|0;e=f[u>>2]|0;if((e|0)<=0){v=0;t=w;return v|0}v=q+92|0;m=f[v>>2]|0;n=i+-1|0;l=0;a:while(1){b:do if((f[m+(l*48|0)+20>>2]|0)>>>0>=i>>>0){g=f[m+(l*48|0)+16>>2]|0;c=f[g>>2]|0;if(n>>>0>=c>>>0)break a;d=f[g+8>>2]|0;if(!d)j=n;else{j=n;k=g;do{c=(j>>>0)/(d>>>0)|0;k=f[k+12+(c<<2)>>2]|0;if(!k)break a;j=j-(U(c,d)|0)|0;d=f[k+8>>2]|0}while((d|0)!=0);g=k;c=f[k>>2]|0}if(c>>>0<4001)if(!(1<<(j&7)&h[g+12+(j>>>3)>>0]))break a;else break;k=j+1|0;c=(j>>>0)%125|0;d=f[g+12+(c<<2)>>2]|0;if(!d)break a;while(1){if((d|0)==(k|0))break b;c=((c+1|0)>>>0)%125|0;d=f[g+12+(c<<2)>>2]|0;if(!d)break a}}while(0);l=l+1|0;if((l|0)>=(e|0)){c=0;p=35;break}}if((p|0)==35){t=w;return c|0}c=b[q+5>>0]|0;do if(c<<24>>24!=2){k=q+68|0;g=f[k>>2]|0;c:do if(!(f[g>>2]|0)){do if(c<<24>>24!=4?(o=f[9338]|0,(b[q+21>>0]|0)==0):0){c=f[q>>2]|0;d=g;e=d+72|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(o|0){e=o;d=(o|0)>0?o:1020;break}c=mb[f[c+24>>2]&127](c,0,g,8222,0)|0;if(!c)break c;t=w;return c|0}else p=22;while(0);if((p|0)==22){c=f[q>>2]|0;d=g;e=d+72|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=-1;d=1020}f[g+4>>2]=d;f[g>>2]=37976;f[g+8>>2]=e;f[g+56>>2]=8222;f[g+64>>2]=0;f[g+60>>2]=c}while(0);i=f[a+4>>2]|0;j=q+52|0;d=q+152|0;e=(f[d>>2]|0)+4|0;e=QA(e|0,((e|0)<0)<<31>>31|0,f[j>>2]|0,0)|0;g=ba()|0;c=f[k>>2]|0;q=f[s>>2]|0;b[r>>0]=q>>>24;b[r+1>>0]=q>>>16;b[r+2>>0]=q>>>8;b[r+3>>0]=q;c=mb[f[(f[c>>2]|0)+12>>2]&127](c,r,4,e,g)|0;if(c|0){v=c;t=w;return v|0}a=f[k>>2]|0;q=f[d>>2]|0;r=KA(e|0,g|0,4,0)|0;c=ba()|0;c=mb[f[(f[a>>2]|0)+12>>2]&127](a,i,q,r,c)|0;if(!c){c=j;e=f[u>>2]|0;i=f[s>>2]|0;break}else{v=c;t=w;return v|0}}else c=q+52|0;while(0);f[c>>2]=(f[c>>2]|0)+1;if((e|0)<=0){v=0;t=w;return v|0}c=0;g=0;while(1){d=f[v>>2]|0;if((f[d+(g*48|0)+20>>2]|0)>>>0>>0)d=e;else{c=Wg(f[d+(g*48|0)+16>>2]|0,i)|0|c;d=f[u>>2]|0}g=g+1|0;if((g|0)>=(d|0))break;else e=d}t=w;return c|0}function Og(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+16|0;s=D;y=f[a+20>>2]|0;x=y+152|0;e=((f[y+148>>2]|0)>>>0)/((f[x>>2]|0)>>>0)|0;C=y+20|0;b[C>>0]=b[C>>0]|4;p=a+24|0;i=f[p>>2]|0;c=i+-1|0;a=0-e|0;q=c&a;B=q+1|0;a=~(c&a);c=f[y+24>>2]|0;if(i>>>0>c>>>0)A=i+1+a|0;else A=(q+e|0)>>>0>c>>>0?c+1+a|0:e;r=(A|0)>0;if(!r){B=0;A=b[C>>0]|0;A=A&-5;b[C>>0]=A;t=D;return B|0}m=y+56|0;n=y+204|0;o=y+212|0;g=0;e=0;a=i;a:while(1){l=g+B|0;b:do if(((l|0)!=(a|0)?(u=f[m>>2]|0,(u|0)!=0):0)?(v=g+q|0,w=f[u>>2]|0,v>>>0>>0):0){a=f[u+8>>2]|0;if(!a){c=v;k=u;a=w}else{i=v;j=u;do{c=(i>>>0)/(a>>>0)|0;j=f[j+12+(c<<2)>>2]|0;if(!j){z=20;break b}i=i-(U(c,a)|0)|0;a=f[j+8>>2]|0}while((a|0)!=0);c=i;k=j;a=f[j>>2]|0}c:do if(a>>>0<4001){if(!(1<<(c&7)&(h[k+12+(c>>>3)>>0]|0))){z=20;break b}}else{i=c+1|0;a=(c>>>0)%125|0;c=f[k+12+(a<<2)>>2]|0;if(!c){z=20;break b}while(1){if((c|0)==(i|0))break c;a=((a+1|0)>>>0)%125|0;c=f[k+12+(a<<2)>>2]|0;if(!c){z=20;break b}}}while(0);c=kb[f[37452>>2]&127](f[(f[o>>2]|0)+44>>2]|0,l,0)|0;if(!c){f[s>>2]=0;a=0;break}i=f[o>>2]|0;a=f[c+4>>2]|0;if(!(f[a>>2]|0)){a=ch(i,l,c)|0;f[s>>2]=a;if(!a){a=0;break}}else{l=i+12|0;f[l>>2]=(f[l>>2]|0)+1;l=a+30|0;d[l>>1]=(d[l>>1]|0)+1<<16>>16;f[s>>2]=a}l=d[a+28>>1]|0;e=(l&8)==0?e:1;if(!(l&32)){bh(a);a=0;break}else{l=f[a+20>>2]|0;k=l+120|0;f[k>>2]=(f[k>>2]|0)+-1;l=l+136|0;f[a+16>>2]=f[l>>2];f[l>>2]=a;a=0;break}}else z=20;while(0);do if((z|0)==20){z=0;if((l|0)!=((1073741824/(f[x>>2]|0)|0)+1|0)){a=lb[f[n>>2]&127](y,l,s,0)|0;if(a|0){z=22;break a}a=Pg(f[s>>2]|0)|0;c=f[s>>2]|0;l=d[c+28>>1]|0;e=(l&8)==0?e:1;if(!(l&32)){bh(c);break}else{l=f[c+20>>2]|0;k=l+120|0;f[k>>2]=(f[k>>2]|0)+-1;l=l+136|0;f[c+16>>2]=f[l>>2];f[l>>2]=c;break}}else a=0}while(0);g=g+1|0;c=(a|0)==0;if(!((g|0)<(A|0)&c))break;a=f[p>>2]|0}if((z|0)==22)c=0;if(!((e|0)!=0&c&r)){B=a;A=b[C>>0]|0;A=A&-5;b[C>>0]=A;t=D;return B|0}k=y+212|0;j=0;do{e=j+B|0;g=kb[f[37452>>2]&127](f[(f[k>>2]|0)+44>>2]|0,e,0)|0;do if(g|0){i=f[k>>2]|0;c=f[g+4>>2]|0;if(!(f[c>>2]|0)){c=ch(i,e,g)|0;if(!c)break}else{z=i+12|0;f[z>>2]=(f[z>>2]|0)+1;z=c+30|0;d[z>>1]=(d[z>>1]|0)+1<<16>>16}y=c+28|0;z=d[y>>1]|0;d[y>>1]=z|8;if(!(z&32)){bh(c);break}else{z=f[c+20>>2]|0;y=z+120|0;f[y>>2]=(f[y>>2]|0)+-1;z=z+136|0;f[c+16>>2]=f[z>>2];f[z>>2]=c;break}}while(0);j=j+1|0}while((j|0)!=(A|0));B=b[C>>0]|0;B=B&-5;b[C>>0]=B;t=D;return a|0}function Pg(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;v=t;t=t+16|0;o=v;u=f[a+20>>2]|0;s=u+16|0;c=b[s>>0]|0;if(c<<24>>24==2){r=f[u>>2]|0;c=f[u+40>>2]|0;if(c|0){a=c;t=v;return a|0}do if((f[u+216>>2]|0)==0?(l=u+5|0,(b[l>>0]|0)!=2):0){k=u+24|0;i=f[k>>2]|0;if(!(f[9328]|0)){c=ib[f[37356>>2]&255](512)|0;if(!c)q=16}else{c=ib[f[37372>>2]&255](512)|0;if((f[18194]|0)>>>0<512)f[18194]=512;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){p=f[18187]|0;j=LA(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&j>>>0<=p>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(c){e=ib[f[37368>>2]&255](c)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}else q=16}if((q|0)==16){f[u+56>>2]=0;a=7;t=v;return a|0}_A(c+4|0,0,508)|0;f[c>>2]=i;p=u+56|0;f[p>>2]=c;j=u+64|0;c=f[j>>2]|0;a:do if(!(f[c>>2]|0)){if((b[l>>0]|0)==4){j=c;k=j+72|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[c+4>>2]=1020;f[c>>2]=37976;f[c+8>>2]=-1;f[c+56>>2]=0;f[c+64>>2]=0;f[c+60>>2]=0;q=33;break}do if(!(b[u+12>>0]|0)){f[o>>2]=0;if((f[k>>2]|0)!=0?(m=f[u+60>>2]|0,n=f[m>>2]|0,(n|0)!=0):0){c=kb[f[n+40>>2]&127](m,20,o)|0;if((c|0)==12){g=2054;i=0;c=f[j>>2]|0;q=29;break}e=(c|0)==0;if(e&(f[o>>2]|0)!=0){c=1032;break a}if(e){e=f[u+172>>2]|0;c=f[j>>2]|0;j=c;k=j+72|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));g=2054;q=30}}else{g=2054;i=0;q=29}}else{i=f[9338]|0;f[o>>2]=0;g=4110;q=29}while(0);if((q|0)==29){e=f[u+172>>2]|0;j=c;k=j+72|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));if(!i)q=30;else{f[c+4>>2]=(i|0)>0?i:1020;f[c>>2]=37976;f[c+8>>2]=i;f[c+56>>2]=g;f[c+64>>2]=e;f[c+60>>2]=r;q=33;break}}if((q|0)==30)c=mb[f[r+24>>2]&127](r,e,c,g&556927,0)|0;if(!c)q=33}else q=33;while(0);if((q|0)==33){f[u+44>>2]=0;c=u+72|0;b[u+19>>0]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;c=Tg(u)|0;if(!c)break}Ug(f[p>>2]|0);f[p>>2]=0;a=c;t=v;return a|0}while(0);b[s>>0]=3;m=3}else m=c;n=a+28|0;c=d[n>>1]|0;g=c&65535;if(g&17){e=g&65519;c=e&65535;d[n>>1]=c;if(g&1){c=(e^3)&65535;d[n>>1]=c;e=f[a+12>>2]|0;f[a+36>>2]=0;g=f[e>>2]|0;f[a+32>>2]=g;if(!g){f[e+4>>2]=a;if(b[e+32>>0]|0)b[e+33>>0]=1}else f[g+36>>2]=a;f[e>>2]=a;e=e+8|0;if((c&8)==0&(f[e>>2]|0)==0)f[e>>2]=a}}j=f[u+56>>2]|0;b:do if(j){l=f[a+24>>2]|0;g=l+-1|0;e=f[j>>2]|0;c:do if(g>>>0>>0){i=f[j+8>>2]|0;if(i){k=j;do{e=(g>>>0)/(i>>>0)|0;k=f[k+12+(e<<2)>>2]|0;if(!k)break c;g=g-(U(e,i)|0)|0;i=f[k+8>>2]|0}while((i|0)!=0);j=k;e=f[k>>2]|0}if(e>>>0<4001)if(!(1<<(g&7)&h[j+12+(g>>>3)>>0]))break;else break b;i=g+1|0;e=(g>>>0)%125|0;g=f[j+12+(e<<2)>>2]|0;if(g|0)do{if((g|0)==(i|0))break b;e=((e+1|0)>>>0)%125|0;g=f[j+12+(e<<2)>>2]|0}while((g|0)!=0)}while(0);if(l>>>0>(f[u+28>>2]|0)>>>0){if(m<<24>>24==4)break;c=c|8;d[n>>1]=c;break}c=Vg(a)|0;if(!c){c=d[n>>1]|0;break}else{a=c;t=v;return a|0}}while(0);d[n>>1]=c|4;if((f[u+96>>2]|0)>0)g=Ng(a)|0;else g=0;e=u+24|0;c=f[a+24>>2]|0;if((f[e>>2]|0)>>>0>=c>>>0){a=g;t=v;return a|0}f[e>>2]=c;a=g;t=v;return a|0}function Qg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;g=c+(h[a+10>>0]|0)|0;i=b[g>>0]|0;e=i&255;if(i<<24>>24<0){d=0;e=e&127;do{d=d+1|0;i=b[g+d>>0]|0;e=e<<7|i&127}while(i<<24>>24<0&d>>>0<8);g=g+d|0;i=e}else i=e;if(!(b[a+2>>0]|0))d=g+1|0;else{d=1;do{e=d;d=d+1|0}while((b[g+e>>0]|0)<0&d>>>0<10);d=g+d|0}e=j[a+14>>1]|0;if(i>>>0>e>>>0){g=j[a+16>>1]|0;a=(((i-g|0)>>>0)%(((f[(f[a+52>>2]|0)+36>>2]|0)+-4|0)>>>0)|0)+g|0;c=(d-c&65535)+4+(a>>>0>e>>>0?g:a)|0;c=c&65535;return c|0}else{c=d-c+i|0;c=c>>>0>4?c:4;c=c&65535;return c|0}return 0}function Rg(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=b[c>>0]|0;i=n&255;if(n<<24>>24<0){g=0;i=i&127;do{g=g+1|0;n=b[c+g>>0]|0;i=i<<7|n&127}while(n<<24>>24<0&g>>>0<8);n=c+g|0}else n=c;g=n+1|0;m=b[g>>0]|0;j=m&255;do if(m<<24>>24<0){j=WA(j|0,0,7)|0;ba()|0;g=n+2|0;m=b[g>>0]|0;j=j&16256|m&127;if(m<<24>>24<=-1){k=2;g=1;l=0;while(1){if(g>>>0>6){m=10;break}j=WA(j|0,l|0,7)|0;l=ba()|0;g=k+1|0;m=b[n+g>>0]|0;j=j|m&127;if(m<<24>>24>-1){m=11;break}else{m=k;k=g;g=m}}if((m|0)==10){m=WA(j|0,l|0,8)|0;l=ba()|0;j=n+k+1|0;g=j;j=m|(h[j>>0]|0);break}else if((m|0)==11){g=n+g|0;break}}else l=0}else l=0;while(0);k=g+1|0;g=e;f[g>>2]=j;f[g+4>>2]=l;f[e+12>>2]=i;f[e+8>>2]=k;g=d[a+14>>1]|0;if(i>>>0>(g&65535)>>>0){Sg(g,d[a+16>>1]|0,f[(f[a+52>>2]|0)+36>>2]|0,c,e);return}else{c=k-c+i|0;d[e+18>>1]=(c&65532|0)==0?4:c&65535;d[e+16>>1]=i;return}}function Sg(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0;h=b&65535;c=((((f[g+12>>2]|0)-h|0)>>>0)%((c+-4|0)>>>0)|0)+h|0;a=(c|0)>(a&65535|0);d[g+16>>1]=a?b:c&65535;d[g+18>>1]=4-e+((f[g+8>>2]|0)+(a?h:c&65535));return}function Tg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f[a+208>>2]|0;j=a+152|0;m=f[j>>2]|0;l=a+148|0;i=f[l>>2]|0;m=m>>>0>i>>>0?i:m;h=f[a+96>>2]|0;if((h|0)>0){d=f[a+92>>2]|0;e=a+72|0;c=0;do{g=d+(c*48|0)+8|0;n=g;if((f[n>>2]|0)==0&(f[n+4>>2]|0)==0){p=e;o=f[p+4>>2]|0;n=g;f[n>>2]=f[p>>2];f[n+4>>2]=o}c=c+1|0}while((c|0)<(h|0));g=e}else g=a+72|0;d=g;c=f[d>>2]|0;d=f[d+4>>2]|0;if((c|0)==0&(d|0)==0){c=0;d=0}else{c=KA(c|0,d|0,-1,-1)|0;c=OA(c|0,ba()|0,i|0,0)|0;c=KA(c|0,ba()|0,1,0)|0;c=QA(c|0,ba()|0,i|0,0)|0;d=ba()|0}p=g;f[p>>2]=c;f[p+4>>2]=d;p=a+80|0;f[p>>2]=c;f[p+4>>2]=d;if(((b[a+7>>0]|0)==0?(b[a+5>>0]|0)!=4:0)?(p=f[a+60>>2]|0,((ib[f[(f[p>>2]|0)+48>>2]&255](p)|0)&512|0)==0):0){c=k;d=c+12|0;do{b[c>>0]=0;c=c+1|0}while((c|0)<(d|0))}else{p=k;o=p;b[o>>0]=-117058087;b[o+1>>0]=-117058087>>8;b[o+2>>0]=-117058087>>16;b[o+3>>0]=-117058087>>24;p=p+4|0;b[p>>0]=-681336544;b[p+1>>0]=-681336544>>8;b[p+2>>0]=-681336544>>16;b[p+3>>0]=-681336544>>24;p=k+8|0;b[p>>0]=-1;b[p+1>>0]=-1>>8;b[p+2>>0]=-1>>16;b[p+3>>0]=-1>>24}e=a+48|0;zd(4,e);e=f[e>>2]|0;b[k+12>>0]=e>>>24;b[k+13>>0]=e>>>16;b[k+14>>0]=e>>>8;b[k+15>>0]=e;e=f[a+28>>2]|0;b[k+16>>0]=e>>>24;b[k+17>>0]=e>>>16;b[k+18>>0]=e>>>8;b[k+19>>0]=e;e=f[l>>2]|0;b[k+20>>0]=e>>>24;b[k+21>>0]=e>>>16;b[k+22>>0]=e>>>8;b[k+23>>0]=e;e=f[j>>2]|0;b[k+24>>0]=e>>>24;b[k+25>>0]=e>>>16;b[k+26>>0]=e>>>8;b[k+27>>0]=e;_A(k+28|0,0,m+-28|0)|0;e=a+64|0;d=0;while(1){if(d>>>0>=(f[l>>2]|0)>>>0){c=0;d=17;break}n=f[e>>2]|0;c=g;c=mb[f[(f[n>>2]|0)+12>>2]&127](n,k,m,f[c>>2]|0,f[c+4>>2]|0)|0;n=g;n=KA(f[n>>2]|0,f[n+4>>2]|0,m|0,0)|0;o=ba()|0;p=g;f[p>>2]=n;f[p+4>>2]=o;if(!c)d=d+m|0;else{d=17;break}}if((d|0)==17)return c|0;return 0}function Ug(a){a=a|0;var b=0,c=0;if(!a)return;if(f[a+8>>2]|0){c=a+12|0;b=0;do{Ug(f[c+(b<<2)>>2]|0);b=b+1|0}while((b|0)!=125)}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Vg(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;u=t;t=t+16|0;p=u;s=f[a+20>>2]|0;r=s+72|0;g=r;n=f[g>>2]|0;g=f[g+4>>2]|0;o=f[a+4>>2]|0;c=f[s+48>>2]|0;q=s+152|0;e=f[q>>2]|0;if((e|0)>200)do{m=e;e=e+-200|0;c=c+(h[o+e>>0]|0)|0}while((m|0)>400);l=a+28|0;d[l>>1]=d[l>>1]|8;l=s+64|0;e=f[l>>2]|0;m=a+24|0;a=f[m>>2]|0;b[p>>0]=a>>>24;i=p+1|0;b[i>>0]=a>>>16;j=p+2|0;b[j>>0]=a>>>8;k=p+3|0;b[k>>0]=a;e=mb[f[(f[e>>2]|0)+12>>2]&127](e,p,4,n,g)|0;if(e|0){s=e;t=u;return s|0}v=f[l>>2]|0;e=f[q>>2]|0;a=KA(n|0,g|0,4,0)|0;g=ba()|0;e=mb[f[(f[v>>2]|0)+12>>2]&127](v,o,e,a,g)|0;if(e|0){v=e;t=u;return v|0}n=f[l>>2]|0;o=f[q>>2]|0;o=KA(a|0,g|0,o|0,((o|0)<0)<<31>>31|0)|0;v=ba()|0;b[p>>0]=c>>>24;b[i>>0]=c>>>16;b[j>>0]=c>>>8;b[k>>0]=c;c=mb[f[(f[n>>2]|0)+12>>2]&127](n,p,4,o,v)|0;if(c|0){v=c;t=u;return v|0}k=(f[q>>2]|0)+8|0;j=r;k=KA(f[j>>2]|0,f[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;j=ba()|0;l=r;f[l>>2]=k;f[l+4>>2]=j;l=s+44|0;f[l>>2]=(f[l>>2]|0)+1;l=Wg(f[s+56>>2]|0,f[m>>2]|0)|0;j=f[m>>2]|0;k=s+96|0;e=f[k>>2]|0;if((e|0)>0){i=s+92|0;c=0;g=0;do{a=f[i>>2]|0;if((f[a+(g*48|0)+20>>2]|0)>>>0>=j>>>0){c=Wg(f[a+(g*48|0)+16>>2]|0,j)|0|c;e=f[k>>2]|0}g=g+1|0}while((g|0)<(e|0))}else c=0;v=c|l;t=u;return v|0}function Wg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;if(!a){m=0;return m|0}c=c+-1|0;a:do if((f[a>>2]|0)>>>0>4e3){l=a;j=a;while(1){i=f[l+8>>2]|0;if(!i)break;g=(c>>>0)/(i>>>0)|0;c=c-(U(g,i)|0)|0;g=l+12+(g<<2)|0;a=f[g>>2]|0;if(!a){if(!(f[9328]|0)){a=ib[f[37356>>2]&255](512)|0;if(!a){m=17;break}}else{a=ib[f[37372>>2]&255](512)|0;if((f[18194]|0)>>>0<512)f[18194]=512;e=71896;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){l=f[18187]|0;k=LA(d|0,e|0,a|0,((a|0)<0)<<31>>31|0)|0;j=ba()|0;f[17976]=((j|0)<0|(j|0)==0&k>>>0<=l>>>0)&1}a=ib[f[37356>>2]&255](a)|0;if(!a){m=17;break}d=ib[f[37368>>2]&255](a)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d}_A(a+4|0,0,508)|0;f[a>>2]=i;f[g>>2]=a}if((f[a>>2]|0)>>>0>4e3){l=a;j=a}else break a}if((m|0)==17){f[g>>2]=0;m=7;return m|0}i=l+8|0;k=c+1|0;a=(c>>>0)%125|0;g=l+12|0;d=l+12+(a<<2)|0;c=f[d>>2]|0;if(!c){a=l+4|0;c=f[a>>2]|0;if(c>>>0<124)m=46}else{d=a;do{if((c|0)==(k|0)){c=0;m=47;break}c=d+1|0;d=c>>>0>124?0:c;c=f[l+12+(d<<2)>>2]|0}while((c|0)!=0);if((m|0)==47)return c|0;a=l+4|0;c=f[a>>2]|0;if(c>>>0<=61){d=l+12+(d<<2)|0;m=46}}if((m|0)==46){f[a>>2]=c+1;f[d>>2]=k;m=0;return m|0}if(!(f[9328]|0)){c=ib[f[37356>>2]&255](500)|0;if(!c){m=7;return m|0}else e=c}else{a=ib[f[37372>>2]&255](500)|0;if((f[18194]|0)>>>0<500)f[18194]=500;c=71896;d=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&d>>>0>0){m=f[18187]|0;e=LA(d|0,c|0,a|0,((a|0)<0)<<31>>31|0)|0;d=ba()|0;f[17976]=((d|0)<0|(d|0)==0&e>>>0<=m>>>0)&1}a=ib[f[37356>>2]&255](a)|0;if(!a){m=7;return m|0}c=ib[f[37368>>2]&255](a)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0){f[18196]=c;e=a}else e=a}YA(e|0,g|0,500)|0;_A(g|0,0,500)|0;f[i>>2]=(((f[j>>2]|0)+124|0)>>>0)/125|0;c=Wg(l,k)|0;d=0;do{a=f[e+(d<<2)>>2]|0;if(a)c=Wg(l,a)|0|c;d=d+1|0}while((d|0)!=125);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);m=c;return m|0}else{m=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);m=c;return m|0}}while(0);m=a+12+(c>>>3)|0;b[m>>0]=1<<(c&7)|(h[m>>0]|0);m=0;return m|0}function Xg(a){a=a|0;var b=0,c=0,d=0;c=a+16|0;a=f[c>>2]|0;if(!a){f[c>>2]=0;return 0}do{b=a;a=f[a>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](b);else{d=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b)}}while((a|0)!=0);f[c>>2]=0;return 0}function Yg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=a+40|0;k=l;a:do if((d|0)==0&(e|0)==0|((f[k>>2]|0)!=(d|0)?1:(f[k+4>>2]|0)!=(e|0))){g=f[a+16>>2]|0;if(!g)g=0;else{j=f[a+4>>2]|0;k=((j|0)<0)<<31>>31;h=0;i=0;while(1){h=KA(h|0,i|0,j|0,k|0)|0;i=ba()|0;if((i|0)>(e|0)|(i|0)==(e|0)&h>>>0>d>>>0)break a;g=f[g>>2]|0;if(!g){g=0;break}}}}else g=f[a+48>>2]|0;while(0);k=a+4|0;i=f[k>>2]|0;j=RA(d|0,e|0,i|0,((i|0)<0)<<31>>31|0)|0;ba()|0;i=i-j|0;h=(i|0)>(c|0)?c:i;YA(b|0,g+4+j|0,h|0)|0;i=c-i|0;b:do if((i|0)>-1){j=b;do{g=f[g>>2]|0;if(!((i|0)!=0&(g|0)!=0))break b;j=j+h|0;b=f[k>>2]|0;h=(i|0)<(b|0)?i:b;YA(j|0,g+4|0,h|0)|0;i=i-b|0}while((i|0)>-1)}while(0);b=(g|0)==0;d=KA(c|0,((c|0)<0)<<31>>31|0,d|0,e|0)|0;e=ba()|0;f[l>>2]=b?0:d;f[l+4>>2]=b?0:e;f[a+48>>2]=g;return 0}function Zg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;J=t;t=t+32|0;H=J;I=a+8|0;g=f[I>>2]|0;if((g|0)>0?(G=KA(c|0,((c|0)<0)<<31>>31|0,d|0,e|0)|0,E=ba()|0,F=((g|0)<0)<<31>>31,(E|0)>(F|0)|(E|0)==(F|0)&G>>>0>g>>>0):0){m=f[a>>2]|0;u=a+4|0;v=f[u>>2]|0;E=I;D=f[E>>2]|0;E=f[E+4>>2]|0;w=a+16|0;g=f[w>>2]|0;x=a+20|0;y=f[x>>2]|0;z=a+24|0;G=z;F=f[G>>2]|0;G=f[G+4>>2]|0;A=a+32|0;f[H>>2]=f[A>>2];f[H+4>>2]=f[A+4>>2];f[H+8>>2]=f[A+8>>2];f[H+12>>2]=f[A+12>>2];f[H+16>>2]=f[A+16>>2];f[H+20>>2]=f[A+20>>2];B=a+56|0;C=f[B>>2]|0;n=a+60|0;o=f[n>>2]|0;p=a+64|0;q=f[p>>2]|0;r=a+68|0;s=f[r>>2]|0;h=a;i=h+72|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));h=mb[f[o+24>>2]&127](o,q,a,C&556927,0)|0;a:do if(!h){if(g|0){i=v;j=g;k=0;l=0;do{K=KA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;L=ba()|0;h=LA(F|0,G|0,k|0,l|0)|0;ba()|0;i=(L|0)>(G|0)|(L|0)==(G|0)&K>>>0>F>>>0?h:i;h=mb[f[(f[a>>2]|0)+12>>2]&127](a,j+4|0,i,k,l)|0;if(h|0){i=a;break a}k=KA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;l=ba()|0;j=f[j>>2]|0}while((j|0)!=0);do{h=g;g=f[g>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](h);else{L=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h)}}while((g|0)!=0)}L=mb[f[(f[a>>2]|0)+12>>2]&127](a,b,c,d,e)|0;t=J;return L|0}else i=a;while(0);j=f[i>>2]|0;if(j|0){ib[f[j+4>>2]&255](a)|0;f[i>>2]=0}f[a>>2]=m;f[u>>2]=v;L=I;f[L>>2]=D;f[L+4>>2]=E;f[w>>2]=g;f[x>>2]=y;L=z;f[L>>2]=F;f[L+4>>2]=G;f[A>>2]=f[H>>2];f[A+4>>2]=f[H+4>>2];f[A+8>>2]=f[H+8>>2];f[A+12>>2]=f[H+12>>2];f[A+16>>2]=f[H+16>>2];f[A+20>>2]=f[H+20>>2];f[B>>2]=C;f[n>>2]=o;f[p>>2]=q;f[r>>2]=s;L=h;t=J;return L|0}b:do if((c|0)>0){m=a+24|0;n=a+32|0;o=a+4|0;p=a+16|0;i=m;l=c;h=f[i>>2]|0;i=f[i+4>>2]|0;while(1){g=f[n>>2]|0;j=f[o>>2]|0;i=RA(h|0,i|0,j|0,((j|0)<0)<<31>>31|0)|0;ba()|0;k=j-i|0;k=(l|0)<(k|0)?l:k;if(!i){h=Fd(j+4|0)|0;if(!h){g=3082;break}f[h>>2]=0;if(!g)f[p>>2]=h;else f[g>>2]=h;f[n>>2]=h;g=h}YA(g+4+i|0,b|0,k|0)|0;l=l-k|0;h=m;h=KA(f[h>>2]|0,f[h+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;i=ba()|0;L=m;f[L>>2]=h;f[L+4>>2]=i;if((l|0)<=0)break b;else b=b+k|0}t=J;return g|0}while(0);f[a+12>>2]=d+c;L=0;t=J;return L|0}function _g(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(!((b|0)==0&(c|0)==0))return 0;d=a+16|0;b=f[d>>2]|0;if(b|0)do{c=b;b=f[b>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((b|0)!=0);f[d>>2]=0;f[a+12>>2]=0;f[a+32>>2]=0;e=a+24|0;f[e>>2]=0;f[e+4>>2]=0;f[a+48>>2]=0;e=a+40|0;f[e>>2]=0;f[e+4>>2]=0;return 0}function $g(a,b){a=a|0;b=b|0;return 0}function ah(a,b){a=a|0;b=b|0;var c=0;c=a+24|0;a=f[c+4>>2]|0;f[b>>2]=f[c>>2];f[b+4>>2]=a;return 0}function bh(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=f[a+12>>2]|0;m=k+12|0;f[m>>2]=(f[m>>2]|0)+-1;m=a+30|0;n=(d[m>>1]|0)+-1<<16>>16;d[m>>1]=n;if(n<<16>>16)return;m=d[a+28>>1]|0;if(m&1){if(!(b[k+32>>0]|0))return;qb[f[37456>>2]&255](f[k+44>>2]|0,f[a>>2]|0,0);return}n=k+8|0;c=f[n>>2]|0;j=a+36|0;g=f[j>>2]|0;if((c|0)==(a|0)){f[n>>2]=g;l=g}else l=c;i=a+32|0;e=f[i>>2]|0;h=(e|0)==0;if(h){f[k+4>>2]=g;c=g}else{f[e+36>>2]=g;c=f[j>>2]|0}do if(!c){f[k>>2]=e;if(h){b[k+33>>0]=2;f[j>>2]=0;f[i>>2]=0;c=k;g=16;break}else{f[j>>2]=0;c=k;g=15;break}}else{f[c+32>>2]=e;e=f[k>>2]|0;f[j>>2]=0;f[i>>2]=e;if(!e){c=k;g=16}else{c=k;g=15}}while(0);if((g|0)==15)f[e+36>>2]=a;else if((g|0)==16){f[k+4>>2]=a;if(b[k+32>>0]|0)b[k+33>>0]=1}f[c>>2]=a;if(!((m&8)==0&(l|0)==0))return;f[n>>2]=a;return}function ch(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0;g=e+4|0;h=f[g>>2]|0;do{i=h+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[h>>2]=e;f[h+4>>2]=f[e>>2];i=h+40|0;f[h+8>>2]=i;j=i;b[j>>0]=0;b[j+1>>0]=0;b[j+2>>0]=0;b[j+3>>0]=0;i=i+4|0;b[i>>0]=0;b[i+1>>0]=0;b[i+2>>0]=0;b[i+3>>0]=0;f[h+12>>2]=a;f[h+24>>2]=c;d[h+28>>1]=1;h=f[g>>2]|0}while(!(f[h>>2]|0));j=a+12|0;f[j>>2]=(f[j>>2]|0)+1;j=h+30|0;d[j>>1]=(d[j>>1]|0)+1<<16>>16;return h|0}function dh(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=a+212|0;h=kb[f[37452>>2]&127](f[(f[e>>2]|0)+44>>2]|0,c,0)|0;do if(!h)g=0;else{e=f[e>>2]|0;g=f[h+4>>2]|0;if(!(f[g>>2]|0)){e=ch(e,c,h)|0;if(!e){g=0;break}g=e;e=d[e+30>>1]|0}else{k=e+12|0;f[k>>2]=(f[k>>2]|0)+1;k=g+30|0;e=(d[k>>1]|0)+1<<16>>16;d[k>>1]=e}if(e<<16>>16!=1){e=mh(g)|0;if(!e){ob[f[a+200>>2]&127](g);if(!(d[g+28>>1]&32)){bh(g);g=0;break}else{k=f[g+20>>2]|0;j=k+120|0;f[j>>2]=(f[j>>2]|0)+-1;k=k+136|0;f[g+16>>2]=f[k>>2];f[k>>2]=g;g=0;break}}else if(!(d[g+28>>1]&32)){bh(g);g=e;break}else{k=f[g+20>>2]|0;j=k+120|0;f[j>>2]=(f[j>>2]|0)+-1;k=k+136|0;f[g+16>>2]=f[k>>2];f[k>>2]=g;g=e;break}}k=f[g+12>>2]|0;do if(d[g+28>>1]&2){e=k+8|0;c=g+36|0;h=f[c>>2]|0;if((f[e>>2]|0)==(g|0))f[e>>2]=h;i=f[g+32>>2]|0;j=(i|0)==0;if(j){f[k+4>>2]=h;e=h}else{f[i+36>>2]=h;e=f[c>>2]|0}if(e|0){f[e+32>>2]=i;break}f[k>>2]=i;if(j)b[k+33>>0]=2}while(0);j=k+12|0;f[j>>2]=(f[j>>2]|0)+-1;qb[f[37456>>2]&255](f[k+44>>2]|0,f[g>>2]|0,1);g=0}while(0);e=f[a+88>>2]|0;if(!e)return g|0;do{f[e+16>>2]=1;e=f[e+44>>2]|0}while((e|0)!=0);return g|0}function eh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0;g=a+24|0;do if((f[g>>2]|0)<=(c|0)){i=c+1|0;j=a+32|0;k=f[j>>2]|0;if((Mc()|0)==0?(e=i<<2,e=Nc(k,e,((e|0)<0)<<31>>31)|0,e|0):0){k=f[g>>2]|0;_A(e+(k<<2)|0,0,i-k<<2|0)|0;f[j>>2]=e;f[g>>2]=i;break}f[d>>2]=0;d=7;return d|0}while(0);if((b[a+43>>0]|0)!=2){g=f[a+4>>2]|0;e=a+32|0;g=mb[f[(f[g>>2]|0)+52>>2]&127](g,c,32768,h[a+44>>0]|0,(f[e>>2]|0)+(c<<2)|0)|0;i=a+46|0;if((g&255|0)==8){b[i>>0]=b[i>>0]|2;g=(g|0)==8?0:g}}else{if(!(f[9328]|0)){e=ib[f[37356>>2]&255](32768)|0;if(!e)e=0;else l=18}else{e=ib[f[37372>>2]&255](32768)|0;if((f[18194]|0)>>>0<32768)f[18194]=32768;i=71896;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){k=f[18187]|0;j=LA(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;i=ba()|0;f[17976]=((i|0)<0|(i|0)==0&j>>>0<=k>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(e){g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;l=18}else l=18}else e=0}if((l|0)==18)_A(e|0,0,32768)|0;a=a+32|0;f[(f[a>>2]|0)+(c<<2)>>2]=e;g=(f[(f[a>>2]|0)+(c<<2)>>2]|0)==0?7:0;e=a}f[d>>2]=f[(f[e>>2]|0)+(c<<2)>>2];d=g;return d|0}function fh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+176|0;m=o+128|0;n=o;d=f[a>>2]|0;c=(d|0)==0;if(!c){a=d;do{l=a;a=f[a+32>>2]|0;f[l+16>>2]=a}while((a|0)!=0);a=n;b=a+128|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if(c)a=0;else{l=m+16|0;j=m+16|0;k=n+124|0;do{h=d+16|0;a=d;d=f[h>>2]|0;f[h>>2]=0;h=0;while(1){i=n+(h<<2)|0;b=f[i>>2]|0;if(!b){b=9;break}c=m;g=b;a:while(1){e=f[g+24>>2]|0;b=c;while(1){b=b+16|0;if(e>>>0<(f[a+24>>2]|0)>>>0)break;f[b>>2]=a;b=f[a+16>>2]|0;if(!b){b=a;a=g;break a}else{c=a;a=b;b=c}}f[b>>2]=g;b=f[g+16>>2]|0;if(!b){b=g;break}else{c=g;g=b}}f[b+16>>2]=a;a=f[l>>2]|0;f[i>>2]=0;h=h+1|0;if(h>>>0>=31){b=16;break}}if((b|0)==9)f[i>>2]=a;else if((b|0)==16?(0,(h|0)==31):0){b=m;e=f[k>>2]|0;b:while(1){c=f[e+24>>2]|0;while(1){b=b+16|0;if(c>>>0<(f[a+24>>2]|0)>>>0)break;f[b>>2]=a;b=f[a+16>>2]|0;if(!b){b=a;a=e;break b}else{i=a;a=b;b=i}}f[b>>2]=e;b=f[e+16>>2]|0;if(!b){b=e;break}else{i=e;e=b;b=i}}f[b+16>>2]=a;f[k>>2]=f[j>>2]}}while((d|0)!=0);a=f[n>>2]|0}}else{a=n;b=a+128|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));a=0}g=m+16|0;e=1;do{b=f[n+(e<<2)>>2]|0;if(b)if(!a)a=b;else{c=m;c:while(1){d=f[a+24>>2]|0;while(1){c=c+16|0;if(d>>>0<(f[b+24>>2]|0)>>>0)break;f[c>>2]=b;c=f[b+16>>2]|0;if(!c){c=b;break c}else{l=b;b=c;c=l}}f[c>>2]=a;c=f[a+16>>2]|0;if(!c){c=a;a=b;break}else{l=a;a=c;c=l}}f[c+16>>2]=a;a=f[g>>2]|0}e=e+1|0}while((e|0)!=32);t=o;return a|0}function gh(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=t;t=t+16|0;w=K+4|0;J=K;I=f[a+208>>2]|0;D=(g|0)!=0;r=f[(D?a+64|0:a+68|0)>>2]|0;k=c;k=mb[f[(f[r>>2]|0)+8>>2]&127](r,w,4,f[k>>2]|0,f[k+4>>2]|0)|0;if(k|0){J=k;t=K;return J|0}s=w+1|0;u=w+2|0;v=w+3|0;E=h[s>>0]<<16|h[w>>0]<<24|h[u>>0]<<8|h[v>>0];H=a+152|0;q=f[H>>2]|0;x=c;x=KA(f[x>>2]|0,f[x+4>>2]|0,4,0)|0;k=ba()|0;k=mb[f[(f[r>>2]|0)+8>>2]&127](r,I,q,x,k)|0;if(k|0){J=k;t=K;return J|0}k=f[H>>2]|0;p=(g<<2)+4+k|0;q=c;p=KA(f[q>>2]|0,f[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=ba()|0;x=c;f[x>>2]=p;f[x+4>>2]=q;if(!E){J=101;t=K;return J|0}if((E|0)==((1073741824/(k|0)|0)+1|0)){J=101;t=K;return J|0}if(E>>>0>(f[a+24>>2]|0)>>>0){J=0;t=K;return J|0}x=(e|0)==0;a:do if(!x?(m=E+-1|0,n=f[e>>2]|0,m>>>0>>0):0){l=f[e+8>>2]|0;if(!l){o=e;k=n}else{n=e;do{k=(m>>>0)/(l>>>0)|0;n=f[n+12+(k<<2)>>2]|0;if(!n)break a;m=m-(U(k,l)|0)|0;l=f[n+8>>2]|0}while((l|0)!=0);o=n;k=f[n>>2]|0}if(k>>>0<4001){if(!(1<<(m&7)&h[o+12+(m>>>3)>>0]))break;else k=0;t=K;return k|0}n=m+1|0;k=(m>>>0)%125|0;l=f[o+12+(k<<2)>>2]|0;if(l|0){while(1){if((l|0)==(n|0)){k=0;break}k=((k+1|0)>>>0)%125|0;l=f[o+12+(k<<2)>>2]|0;if(!l)break a}t=K;return k|0}}while(0);if(D){q=KA(p|0,q|0,-4,-1)|0;k=ba()|0;k=mb[f[(f[r>>2]|0)+8>>2]&127](r,w,4,q,k)|0;if(k|0){J=k;t=K;return J|0}m=h[s>>0]<<16|h[w>>0]<<24|h[u>>0]<<8|h[v>>0];if(!i){k=f[a+48>>2]|0;l=f[H>>2]|0;if((l|0)>200)do{i=l;l=l+-200|0;k=k+(h[I+l>>0]|0)|0}while((i|0)>400);if((k|0)!=(m|0)){J=101;t=K;return J|0}}}if(!x?(y=Wg(e,E)|0,y|0):0){J=y;t=K;return J|0}p=(E|0)==1;if(p?(z=a+142|0,A=b[I+20>>0]|0,(d[z>>1]|0)!=(A&255|0)):0)d[z>>1]=A&255;do if((f[a+216>>2]|0)==0?(B=a+212|0,C=kb[f[37452>>2]&127](f[(f[B>>2]|0)+44>>2]|0,E,0)|0,(C|0)!=0):0){k=f[B>>2]|0;l=f[C+4>>2]|0;if(!(f[l>>2]|0)){l=ch(k,E,C)|0;break}else{C=k+12|0;f[C>>2]=(f[C>>2]|0)+1;C=l+30|0;d[C>>1]=(d[C>>1]|0)+1<<16>>16;break}}else l=0;while(0);f[J>>2]=l;if(D)if(!(b[a+7>>0]|0)){D=c;C=f[D+4>>2]|0;k=a+80|0;c=f[k+4>>2]|0;k=((C|0)<(c|0)|((C|0)==(c|0)?(f[D>>2]|0)>>>0<=(f[k>>2]|0)>>>0:0))&1}else k=1;else if(!l)k=1;else k=((j[l+28>>1]|0)>>>3&1^1)&65535;m=f[a+60>>2]|0;n=f[m>>2]|0;do if(n){o=b[a+16>>0]|0;if((o&255)>3){if(!k){G=51;break}}else if(!((k|0)!=0&o<<24>>24==0)){G=51;break}F=f[H>>2]|0;k=QA(F|0,((F|0)<0)<<31>>31|0,E+-1|0,0)|0;l=ba()|0;l=mb[f[n+12>>2]&127](m,I,F,k,l)|0;k=a+32|0;if(E>>>0>(f[k>>2]|0)>>>0)f[k>>2]=E;k=f[a+88>>2]|0;if(!k)n=l;else{kh(k,E,I);n=l}}else G=51;while(0);if((G|0)==51)if((g|0)==0&(l|0)==0){G=a+20|0;b[G>>0]=b[G>>0]|2;k=lb[f[a+204>>2]&127](a,E,J,1)|0;b[G>>0]=b[G>>0]&-3;if(k|0){J=k;t=K;return J|0}n=f[J>>2]|0;l=n+28|0;k=j[l>>1]|0;if((k&17|0)!=0?(F=k&65519,d[l>>1]=F,(k&1|0)!=0):0){m=(F^3)&65535;d[l>>1]=m;k=f[n+12>>2]|0;f[n+36>>2]=0;l=f[k>>2]|0;f[n+32>>2]=l;if(!l){f[k+4>>2]=n;if(b[k+32>>0]|0)b[k+33>>0]=1}else f[l+36>>2]=n;f[k>>2]=n;k=k+8|0;if((m&8)==0&(f[k>>2]|0)==0){f[k>>2]=n;n=0}else n=0}else n=0}else n=0;k=f[J>>2]|0;if(!k){J=n;t=K;return J|0}k=f[k+4>>2]|0;YA(k|0,I|0,f[H>>2]|0)|0;ob[f[a+200>>2]&127](f[J>>2]|0);if(p){m=a+104|0;k=k+24|0;l=m+16|0;do{b[m>>0]=b[k>>0]|0;m=m+1|0;k=k+1|0}while((m|0)<(l|0))}bh(f[J>>2]|0);J=n;t=K;return J|0}function hh(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+32|0;p=u+16|0;k=u+8|0;q=u;s=a+72|0;j=s;i=f[j>>2]|0;j=f[j+4>>2]|0;if((i|0)==0&(j|0)==0){i=a+148|0;r=i;n=0;o=0;i=f[i>>2]|0;j=0}else{o=KA(i|0,j|0,-1,-1)|0;n=ba()|0;r=a+148|0;i=f[r>>2]|0;n=OA(o|0,n|0,i|0,0)|0;n=KA(n|0,ba()|0,1,0)|0;n=QA(n|0,ba()|0,i|0,0)|0;o=ba()|0;j=0}m=s;f[m>>2]=n;f[m+4>>2]=o;m=KA(n|0,o|0,i|0,j|0)|0;l=ba()|0;if((l|0)>(d|0)|(l|0)==(d|0)&m>>>0>c>>>0){s=101;t=u;return s|0}if((b|0)==0?(m=a+80|0,(n|0)==(f[m>>2]|0)?(o|0)==(f[m+4>>2]|0):0):0)c=a+64|0;else{i=a+64|0;j=f[i>>2]|0;j=mb[f[(f[j>>2]|0)+8>>2]&127](j,k,8,n,o)|0;if(j|0){s=j;t=u;return s|0}if(!(Hz(k,42612,8)|0))c=i;else{s=101;t=u;return s|0}}l=f[c>>2]|0;m=KA(n|0,o|0,8,0)|0;i=ba()|0;i=mb[f[(f[l>>2]|0)+8>>2]&127](l,p,4,m,i)|0;if(i|0){s=i;t=u;return s|0}k=p+1|0;l=p+2|0;m=p+3|0;f[e>>2]=(h[k>>0]|0)<<16|(h[p>>0]|0)<<24|(h[l>>0]|0)<<8|(h[m>>0]|0);d=f[c>>2]|0;e=KA(n|0,o|0,12,0)|0;i=ba()|0;i=mb[f[(f[d>>2]|0)+8>>2]&127](d,p,4,e,i)|0;if(i|0){s=i;t=u;return s|0}f[a+48>>2]=(h[k>>0]|0)<<16|(h[p>>0]|0)<<24|(h[l>>0]|0)<<8|(h[m>>0]|0);d=f[c>>2]|0;e=KA(n|0,o|0,16,0)|0;i=ba()|0;i=mb[f[(f[d>>2]|0)+8>>2]&127](d,p,4,e,i)|0;if(i|0){s=i;t=u;return s|0}f[g>>2]=(h[k>>0]|0)<<16|(h[p>>0]|0)<<24|(h[l>>0]|0)<<8|(h[m>>0]|0);j=s;b=f[j>>2]|0;j=f[j+4>>2]|0;a:do if((b|0)==0&(j|0)==0){e=f[c>>2]|0;g=KA(n|0,o|0,20,0)|0;i=ba()|0;i=mb[f[(f[e>>2]|0)+8>>2]&127](e,p,4,g,i)|0;do if(!i){d=(h[k>>0]|0)<<16|(h[p>>0]|0)<<24|(h[l>>0]|0)<<8|(h[m>>0]|0);g=f[c>>2]|0;o=KA(n|0,o|0,24,0)|0;i=ba()|0;i=mb[f[(f[g>>2]|0)+8>>2]&127](g,p,4,o,i)|0;if(i|0)break;i=(h[k>>0]|0)<<16|(h[p>>0]|0)<<24|(h[l>>0]|0)<<8|(h[m>>0]|0);f[q>>2]=i;if(!i){i=f[a+152>>2]|0;f[q>>2]=i}if((!((d+-32|0)>>>0>65504|(i+-512|0)>>>0>65024)?(i+-1&i|0)==0:0)?(d+-1&d|0)==0:0){c=ih(a,q,-1)|0;f[r>>2]=d;j=s;b=f[j>>2]|0;j=f[j+4>>2]|0;i=d;break a}else i=101}while(0);s=i;t=u;return s|0}else{c=0;i=f[r>>2]|0}while(0);q=KA(b|0,j|0,i|0,0)|0;r=ba()|0;f[s>>2]=q;f[s+4>>2]=r;s=c;t=u;return s|0}function ih(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;r=t;t=t+16|0;o=r;p=f[c>>2]|0;if(!((b[a+15>>0]|0)!=0?(f[a+24>>2]|0)!=0:0))l=3;a:do if(((l|0)==3?(m=a+212|0,p|0?(f[(f[m>>2]|0)+12>>2]|0)==0:0):0)?(q=a+152|0,(p|0)!=(f[q>>2]|0)):0){n=o;f[n>>2]=0;f[n+4>>2]=0;if(((b[a+16>>0]|0)!=0?(i=f[a+60>>2]|0,j=f[i>>2]|0,(j|0)!=0):0)?(k=jb[f[j+24>>2]&255](i,o)|0,(k|0)!=0):0)e=k;else l=8;b:do if((l|0)==8){if((f[18019]|0)>=(p|0)?(g=f[18025]|0,(g|0)!=0):0){f[18025]=f[g>>2];n=f[18026]|0;f[18026]=n+-1;f[18027]=(n|0)<=(f[18021]|0)&1;if((f[18195]|0)>>>0

>>0)f[18195]=p;i=(f[18188]|0)+1|0;f[18188]=i;if(i>>>0>(f[18192]|0)>>>0)f[18192]=i}else{n=KA(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;l=ba()|0;if(l>>>0>0|(l|0)==0&n>>>0>2147483390){e=7;break}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](p)|0;if(!g){e=7;break}}else{g=ib[f[37372>>2]&255](p)|0;if((f[18194]|0)>>>0

>>0)f[18194]=p;j=71896;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){n=f[18187]|0;l=LA(i|0,j|0,g|0,((g|0)<0)<<31>>31|0)|0;k=ba()|0;f[17976]=((k|0)<0|(k|0)==0&l>>>0<=n>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){e=7;break}i=ib[f[37368>>2]&255](g)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}i=ib[f[37368>>2]&255](g)|0;if((f[18195]|0)>>>0

>>0)f[18195]=p;i=(f[18189]|0)+i|0;f[18189]=i;if(i>>>0>(f[18193]|0)>>>0)f[18193]=i}jh(a);k=f[m>>2]|0;m=k+24|0;do if(f[m>>2]|0){j=k+28|0;n=kb[f[37440>>2]&127](p,(f[j>>2]|0)+40|0,h[k+32>>0]|0)|0;if(n|0){l=f[9361]|0;i=f[k+16>>2]|0;if((i|0)<=-1){u=QA(i|0,((i|0)<0)<<31>>31|0,-1024,-1)|0;s=ba()|0;i=(f[j>>2]|0)+(f[m>>2]|0)|0;i=OA(u|0,s|0,i|0,((i|0)<0)<<31>>31|0)|0;ba()|0}pb[l&127](n,i);i=k+44|0;j=f[i>>2]|0;if(j|0)ob[f[37468>>2]&127](j);f[i>>2]=n;f[m>>2]=p;break}e=g;do if((f[18022]|0)>>>0<=e>>>0)if((f[18023]|0)>>>0>e>>>0){f[18188]=(f[18188]|0)+-1;f[g>>2]=f[18025];f[18025]=g;e=(f[18026]|0)+1|0;f[18026]=e;f[18027]=(e|0)<(f[18021]|0)&1;e=7;break b}else{e=ib[f[37368>>2]&255](g)|0;break}else e=ib[f[37368>>2]&255](g)|0;while(0);f[18189]=(f[18189]|0)-e;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);e=7;break b}else{e=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);e=7;break b}}while(0);j=a+208|0;k=f[j>>2]|0;c:do if(k|0){i=k;do if((f[18022]|0)>>>0<=i>>>0)if((f[18023]|0)>>>0>i>>>0){f[18188]=(f[18188]|0)+-1;f[k>>2]=f[18025];f[18025]=k;u=(f[18026]|0)+1|0;f[18026]=u;f[18027]=(u|0)<(f[18021]|0)&1;break c}else{i=ib[f[37368>>2]&255](k)|0;break}else i=ib[f[37368>>2]&255](k)|0;while(0);f[18189]=(f[18189]|0)-i;if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{u=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);f[j>>2]=g;u=o;s=f[u>>2]|0;u=f[u+4>>2]|0;o=KA(p|0,0,-1,-1)|0;u=KA(o|0,ba()|0,s|0,u|0)|0;u=OA(u|0,ba()|0,p|0,0)|0;ba()|0;f[a+24>>2]=u;f[q>>2]=p;break a}while(0);f[c>>2]=f[q>>2];u=e;t=r;return u|0}while(0);f[c>>2]=f[a+152>>2];g=a+142|0;if((e|0)<0)e=d[g>>1]|0;d[g>>1]=e;u=0;t=r;return u|0}function jh(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+100|0;f[c>>2]=(f[c>>2]|0)+1;c=f[a+88>>2]|0;if(c|0)do{f[c+16>>2]=1;c=f[c+44>>2]|0}while((c|0)!=0);j=f[a+212>>2]|0;k=j+44|0;if(!(f[k>>2]|0))return;c=f[j>>2]|0;if(c|0)do{h=c;c=f[c+32>>2]|0;if(f[h+24>>2]|0){i=f[h+12>>2]|0;e=i+8|0;g=h+36|0;a=f[g>>2]|0;if((f[e>>2]|0)==(h|0))f[e>>2]=a;e=(c|0)==0;if(e)f[i+4>>2]=a;else{f[c+36>>2]=a;a=f[g>>2]|0}if(!a){f[i>>2]=c;if(e)b[i+33>>0]=2}else f[a+32>>2]=c;g=h+28|0;d[g>>1]=d[g>>1]&-16|1;if((d[h+30>>1]|0)==0?b[i+32>>0]|0:0)qb[f[37456>>2]&255](f[i+44>>2]|0,f[h>>2]|0,0)}}while((c|0)!=0);if((f[j+12>>2]|0)!=0?(l=kb[f[37452>>2]&127](f[k>>2]|0,1,0)|0,(l|0)!=0):0){_A(f[l>>2]|0,0,f[j+24>>2]|0)|0;c=2}else c=1;pb[f[37464>>2]&127](f[k>>2]|0,c);return}function kh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;do{d=a+28|0;switch(f[d>>2]|0){case 6:case 0:case 5:{if((f[a+16>>2]|0)>>>0>b>>>0?(e=lh(a,b,c,1)|0,e|0):0)f[d>>2]=e;break}default:{}}a=f[a+44>>2]|0}while((a|0)!=0);return}function lh(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+16|0;x=A;y=a+4|0;q=f[(f[y>>2]|0)+4>>2]|0;w=f[q>>2]|0;v=a+24|0;r=f[(f[(f[v>>2]|0)+4>>2]|0)+32>>2]|0;q=f[q+32>>2]|0;s=(r|0)<(q|0)?r:q;u=((r|0)<0)<<31>>31;o=QA(r|0,u|0,c|0,0)|0;p=ba()|0;if((r|0)==(q|0))a=0;else a=(b[w+12>>0]|0)==0?0:8;if(!((r|0)>0&(a|0)==0)){z=a;t=A;return z|0}c=LA(o|0,p|0,r|0,u|0)|0;m=((q|0)<0)<<31>>31;n=w+204|0;l=(g|0)==0;g=ba()|0;a=q;while(1){f[x>>2]=0;j=OA(c|0,g|0,q|0,m|0)|0;k=ba()|0;do if((1073741824/(a>>>0)|0|0)!=(j|0)){a=lb[f[n>>2]&127](w,j+1|0,x,0)|0;a:do if(!a){h=f[x>>2]|0;i=f[h+20>>2]|0;if((d[h+28>>1]&4)!=0?(f[i+24>>2]|0)>>>0>=(f[h+24>>2]|0)>>>0:0)if(!(f[i+96>>2]|0))a=h;else{a=Ng(h)|0;z=15}else z=11;do if((z|0)==11){z=0;a=f[i+40>>2]|0;if(a|0)break a;if((f[i+148>>2]|0)>>>0>(f[i+152>>2]|0)>>>0){a=Og(h)|0;z=15;break}else{a=Pg(h)|0;z=15;break}}while(0);if((z|0)==15){z=0;if(a|0)break;a=f[x>>2]|0}i=RA(c|0,g|0,r|0,u|0)|0;ba()|0;h=f[a+4>>2]|0;a=QA(j|0,k|0,q|0,m|0)|0;a=LA(c|0,g|0,a|0,ba()|0)|0;ba()|0;a=h+a|0;YA(a|0,e+i|0,s|0)|0;b[f[(f[x>>2]|0)+8>>2]>>0]=0;if(l&((c|0)==0&(g|0)==0)){a=a+28|0;k=f[(f[(f[v>>2]|0)+4>>2]|0)+44>>2]|0;b[a>>0]=k>>>24;b[a+1>>0]=k>>>16;b[a+2>>0]=k>>>8;b[a+3>>0]=k;a=0}else a=0}while(0);h=f[x>>2]|0;if(h)if(!(d[h+28>>1]&32)){bh(h);break}else{k=f[h+20>>2]|0;j=k+120|0;f[j>>2]=(f[j>>2]|0)+-1;k=k+136|0;f[h+16>>2]=f[k>>2];f[k>>2]=h;break}}else a=0;while(0);c=KA(c|0,g|0,q|0,m|0)|0;g=ba()|0;if(!(((g|0)<(p|0)|(g|0)==(p|0)&c>>>0>>0)&(a|0)==0))break;a=f[(f[(f[y>>2]|0)+4>>2]|0)+32>>2]|0}t=A;return a|0}function mh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;k=t;t=t+16|0;d=k;h=f[a+20>>2]|0;f[d>>2]=0;e=h+216|0;c=f[e>>2]|0;g=a+24|0;if(c){c=nh(c,f[g>>2]|0,d)|0;if(c|0){a=c;t=k;return a|0}c=f[d>>2]|0;if(c){l=f[e>>2]|0;d=f[h+152>>2]|0;m=f[a+4>>2]|0;n=f[l+8>>2]|0;l=j[l+66>>1]|0;l=l<<16&65536|l&65024;e=QA(l|24|0,0,c+-1|0,0)|0;e=KA(e|0,ba()|0,56,0)|0;c=ba()|0;c=mb[f[(f[n>>2]|0)+8>>2]&127](n,m,(l|0)<(d|0)?l:d,e,c)|0}else i=5}else i=5;if((i|0)==5){m=f[h+152>>2]|0;n=QA((f[g>>2]|0)+-1|0,0,m|0,((m|0)<0)<<31>>31|0)|0;c=ba()|0;l=f[h+60>>2]|0;c=mb[f[(f[l>>2]|0)+8>>2]&127](l,f[a+4>>2]|0,m,n,c)|0;c=(c|0)==522?0:c}if((f[g>>2]|0)!=1){n=c;t=k;return n|0}if(!c){e=h+104|0;c=(f[a+4>>2]|0)+24|0;d=e+16|0;do{b[e>>0]=b[c>>0]|0;e=e+1|0;c=c+1|0}while((e|0)<(d|0));n=0;t=k;return n|0}else{n=h+104|0;f[n>>2]=-1;f[n+4>>2]=-1;f[n+8>>2]=-1;f[n+12>>2]=-1;n=c;t=k;return n|0}return 0}function nh(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+32|0;B=D;y=D+12|0;A=f[a+68>>2]|0;do if(A|0){if((d[a+40>>1]|0)==0?(b[a+50>>0]|0)==0:0)break;r=a+100|0;s=((f[r>>2]|0)+33|0)>>>12;g=(A+33|0)>>>12;a:do if(g>>>0>>0)g=0;else{u=y+4|0;v=a+24|0;w=a+32|0;x=y+8|0;q=c*383&8191;p=g;b:while(1){if((f[v>>2]|0)>(p|0)?(z=f[(f[w>>2]|0)+(p<<2)>>2]|0,f[u>>2]=z,(z|0)!=0):0)g=z;else{g=eh(a,p,u)|0;if(g|0)break;g=f[u>>2]|0}n=g+16384|0;f[y>>2]=n;if(!p){g=g+136|0;f[u>>2]=g;o=0}else o=(p<<12)+-34|0;f[x>>2]=o;m=g+-4|0;f[u>>2]=m;h=n+(q<<1)|0;if(d[h>>1]|0){k=8192;l=q;g=0;while(1){i=o+(j[h>>1]|0)|0;if(i>>>0<=A>>>0?i>>>0>=(f[r>>2]|0)>>>0:0)g=(f[m+(j[h>>1]<<2)>>2]|0)==(c|0)?i:g;if(!k){C=22;break b}l=l+1&8191;h=n+(l<<1)|0;if(!(d[h>>1]|0))break;else k=k+-1|0}if(g|0)break a}if((p|0)>(s|0))p=p+-1|0;else{g=0;break a}}if((C|0)==22){f[B>>2]=42469;f[B+4>>2]=60988;f[B+8>>2]=40460;Ac(11,40408,B);g=11}C=g;t=D;return C|0}while(0);f[e>>2]=g;C=0;t=D;return C|0}while(0);f[e>>2]=0;C=0;t=D;return C|0}function oh(a){a=a|0;var c=0,e=0;if(d[a+50>>1]|0)return;c=a+1|0;b[c>>0]=b[c>>0]|2;c=f[a+116>>2]|0;e=(f[c+64>>2]|0)+(j[a+70>>1]<<1)|0;qb[f[c+80>>2]&255](c,(f[c+56>>2]|0)+((h[e>>0]<<8|h[e+1>>0])&j[c+24>>1])|0,a+32|0);return}function ph(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=t;t=t+48|0;A=B+16|0;m=B;x=B+32|0;y=B+28|0;n=f[a+116>>2]|0;w=f[a+20>>2]|0;oh(a);r=f[a+40>>2]|0;p=w+36|0;q=a+48|0;l=j[q>>1]|0;if((r-(f[n+56>>2]|0)|0)>>>0>((f[p>>2]|0)-l|0)>>>0){f[m>>2]=42469;f[m+4>>2]=67612;f[m+8>>2]=40460;Ac(11,40408,m);A=11;t=B;return A|0}if(l>>>0>c>>>0){o=(e+c|0)>>>0>l>>>0?l-c|0:e;c=r+c|0;l=f[n+72>>2]|0;a:do if(!i){YA(g|0,c|0,o|0)|0;k=0}else{m=f[l+20>>2]|0;if((d[l+28>>1]&4)!=0?(f[m+24>>2]|0)>>>0>=(f[l+24>>2]|0)>>>0:0){if(f[m+96>>2]|0){k=Ng(l)|0;z=13}}else z=9;do if((z|0)==9){k=f[m+40>>2]|0;if(k|0)break a;if((f[m+148>>2]|0)>>>0>(f[m+152>>2]|0)>>>0){k=Og(l)|0;z=13;break}else{k=Pg(l)|0;z=13;break}}while(0);if((z|0)==13?k|0:0)break;YA(c|0,g|0,o|0)|0;k=0}while(0);s=0;e=e-o|0;g=g+o|0}else{s=c-l|0;k=0}do if((k|0)==0&(e|0)!=0){l=f[p>>2]|0;u=l+-4|0;k=j[q>>1]|0;o=r+k|0;o=(h[o+1>>0]|0)<<16|(h[o>>0]|0)<<24|(h[o+2>>0]|0)<<8|(h[o+3>>0]|0);f[x>>2]=o;n=a+1|0;do if(b[n>>0]&4){k=(s>>>0)/(u>>>0)|0;l=f[(f[a+12>>2]|0)+(k<<2)>>2]|0;if(!l)z=28;else{f[x>>2]=l;c=k;m=s-(U(k,u)|0)|0;z=29}}else{c=((l+-5-k+(f[a+44>>2]|0)|0)>>>0)/(u>>>0)|0;m=a+12|0;k=f[m>>2]|0;if(k){l=c<<2;r=(l|0)>(ib[f[37368>>2]&255](k)|0);k=f[m>>2]|0;if(r)z=23}else z=23;if((z|0)==23){k=Nc(k,c<<3,0)|0;if(!k){k=7;break}f[m>>2]=k;l=c<<2}_A(k|0,0,l|0)|0;b[n>>0]=b[n>>0]|4;z=28}while(0);if((z|0)==28)if(!o){k=0;z=55}else{c=0;m=s;l=o;z=29}b:do if((z|0)==29){r=a+12|0;p=(i|0)==0;q=p?2:0;o=c;while(1){k=f[r>>2]|0;f[k+(o<<2)>>2]=l;if(m>>>0>>0){n=(m+e|0)>>>0>u>>>0?u-m|0:e;k=f[w>>2]|0;k=lb[f[k+204>>2]&127](k,l,y,q)|0;do if(!k){c=f[y>>2]|0;l=f[c+4>>2]|0;f[x>>2]=(h[l+1>>0]|0)<<16|(h[l>>0]|0)<<24|(h[l+2>>0]|0)<<8|(h[l+3>>0]|0);l=l+(m+4)|0;c:do if(p){YA(g|0,l|0,n|0)|0;k=0}else{m=f[c+20>>2]|0;if((d[c+28>>1]&4)!=0?(f[m+24>>2]|0)>>>0>=(f[c+24>>2]|0)>>>0:0){if(f[m+96>>2]|0){v=Ng(c)|0;z=46}}else z=42;do if((z|0)==42){z=0;k=f[m+40>>2]|0;if(k|0)break c;if((f[m+148>>2]|0)>>>0>(f[m+152>>2]|0)>>>0){v=Og(c)|0;z=46;break}else{v=Pg(c)|0;z=46;break}}while(0);if((z|0)==46?(z=0,v|0):0){k=v;break}YA(l|0,g|0,n|0)|0;k=0}while(0);l=f[y>>2]|0;if(l)if(!(d[l+28>>1]&32)){bh(l);m=0;break}else{m=f[l+20>>2]|0;i=m+120|0;f[i>>2]=(f[i>>2]|0)+-1;m=m+136|0;f[l+16>>2]=f[m>>2];f[m>>2]=l;m=0;break}else m=0}while(0);e=e-n|0;if(!e)break b;else c=g+n|0}else{k=f[k+(o+1<<2)>>2]|0;if(!k)k=qh(w,l,0,x)|0;else{f[x>>2]=k;k=0}c=g;m=m-u|0}if(k|0){z=55;break b}l=f[x>>2]|0;if(!l){k=0;z=55;break}else{g=c;o=o+1|0}}}while(0);if((z|0)==55)break;A=k;t=B;return A|0}while(0);if(!((k|0)==0&(e|0)!=0)){A=k;t=B;return A|0}f[A>>2]=42469;f[A+4>>2]=67757;f[A+8>>2]=40460;Ac(11,40408,A);A=11;t=B;return A|0}function qh(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=t;t=t+16|0;o=s;l=s+4|0;do if(b[a+17>>0]|0){m=a+36|0;k=1073741824/((f[a+32>>2]|0)>>>0)|0;p=c;do{i=p;p=p+1|0;if(p>>>0<2)j=0;else{j=i+-1|0;j=j-((j>>>0)%(((((f[m>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;j=((j+1|0)==(k|0)?3:2)+j|0}}while((j|0)==(p|0)|(i|0)==(k|0));if(p>>>0<=(f[a+44>>2]|0)>>>0?(n=rh(a,p,l,o)|0,m=(n|0)==0,q=m&(b[l>>0]|0)==4&(f[o>>2]|0)==(c|0),q|m^1):0){k=0;j=q?101:n;i=q?p:0;break}else{r=9;break}}else r=9;while(0);do if((r|0)==9){i=f[a>>2]|0;i=lb[f[i+204>>2]&127](i,c,o,(e|0)==0?2:0)|0;if(i|0){k=0;j=i;i=0;break}i=f[o>>2]|0;k=f[i+8>>2]|0;j=k+4|0;if((f[j>>2]|0)==(c|0))i=f[k+56>>2]|0;else{r=f[i+4>>2]|0;f[k+56>>2]=r;f[k+72>>2]=i;f[k+52>>2]=a;f[j>>2]=c;b[k+9>>0]=(c|0)==1?100:0;i=r}j=0;i=h[i+1>>0]<<16|h[i>>0]<<24|h[i+2>>0]<<8|h[i+3>>0]}while(0);f[g>>2]=i;if(e|0){f[e>>2]=k;g=(j|0)==101;g=g?0:j;t=s;return g|0}if(!k){g=(j|0)==101;g=g?0:j;t=s;return g|0}i=f[k+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);g=(j|0)==101;g=g?0:j;t=s;return g|0}else{g=f[i+20>>2]|0;e=g+120|0;f[e>>2]=(f[e>>2]|0)+-1;g=g+136|0;f[i+16>>2]=f[g>>2];f[g>>2]=i;g=(j|0)==101;g=g?0:j;t=s;return g|0}return 0}function rh(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+32|0;n=o+16|0;m=o;i=o+28|0;if(c>>>0<2)l=0;else{l=c+-2|0;l=l-((l>>>0)%(((((f[a+36>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;l=((l+1|0)==(1073741824/((f[a+32>>2]|0)>>>0)|0|0)?3:2)+l|0}a=f[a>>2]|0;a=lb[f[a+204>>2]&127](a,l,i,0)|0;if(a|0){n=a;t=o;return n|0}k=f[i>>2]|0;j=f[k+4>>2]|0;a=(c-l|0)*5|0;i=a+-5|0;if((i|0)<0){do if(k|0)if(!(d[k+28>>1]&32)){bh(k);break}else{n=f[k+20>>2]|0;g=n+120|0;f[g>>2]=(f[g>>2]|0)+-1;n=n+136|0;f[k+16>>2]=f[n>>2];f[n>>2]=k;break}while(0);f[m>>2]=42469;f[m+4>>2]=63979;f[m+8>>2]=40460;Ac(11,40408,m);n=11;t=o;return n|0}b[e>>0]=b[j+i>>0]|0;if(g|0){m=j+(a+-4)|0;f[g>>2]=(h[m+1>>0]|0)<<16|(h[m>>0]|0)<<24|(h[m+2>>0]|0)<<8|(h[m+3>>0]|0)}do if(k|0)if(!(d[k+28>>1]&32)){bh(k);break}else{m=f[k+20>>2]|0;g=m+120|0;f[g>>2]=(f[g>>2]|0)+-1;m=m+136|0;f[k+16>>2]=f[m>>2];f[m>>2]=k;break}while(0);if(((b[e>>0]|0)+-1&255)<=4){n=0;t=o;return n|0}f[n>>2]=42469;f[n+4>>2]=63987;f[n+8>>2]=40460;Ac(11,40408,n);n=11;t=o;return n|0}function sh(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=t;t=t+16|0;x=C;B=a+16|0;if((h[B>>0]|0)<2?(h[a+17>>0]|0)<2:0){B=0;t=C;return B|0}l=a+96|0;if((f[l>>2]|0)>0){k=a+92|0;i=0;do{Ug(f[(f[k>>2]|0)+(i*48|0)+16>>2]|0);i=i+1|0}while((i|0)<(f[l>>2]|0))}A=a+4|0;k=f[a+68>>2]|0;i=f[k>>2]|0;if(!(b[A>>0]|0)){if(i|0)z=9}else if((i|0)==37976){i=37976;z=9}if((z|0)==9){ib[f[i+4>>2]&255](k)|0;f[k>>2]=0}i=a+92|0;k=f[i>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{s=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[i>>2]=0;f[l>>2]=0;f[a+52>>2]=0;n=a+64|0;o=f[n>>2]|0;m=f[o>>2]|0;a:do if(!m)i=0;else{if((m|0)==37976){l=o+16|0;i=f[l>>2]|0;if(i|0)do{k=i;i=f[i>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{s=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}}while((i|0)!=0);f[l>>2]=0;f[o>>2]=0;i=0;break}i=b[a+5>>0]|0;switch(i<<24>>24){case 3:{k=a+72|0;s=k;if(!((f[s>>2]|0)==0&(f[s+4>>2]|0)==0)){i=kb[f[m+16>>2]&127](o,0,0)|0;if(!i)if((b[a+8>>0]|0)!=0?(p=f[n>>2]|0,q=b[a+10>>0]|0,q<<24>>24!=0):0)i=jb[f[(f[p>>2]|0)+20>>2]&255](p,q&255)|0;else i=0}else i=0;s=k;f[s>>2]=0;f[s+4>>2]=0;break a}case 1:break;default:if(i<<24>>24==5|(b[A>>0]|0)==0){s=(b[a+12>>0]|0)==0;ib[f[m+4>>2]&255](o)|0;f[o>>2]=0;if(!s){i=0;break a}i=f[a>>2]|0;i=kb[f[i+28>>2]&127](i,f[a+172>>2]|0,h[a+9>>0]|0)|0;break a}}if(!c)i=(b[a+12>>0]|0)!=0&1;else i=1;c=a+72|0;s=c;if(!((f[s>>2]|0)==0&(f[s+4>>2]|0)==0)){l=a+160|0;k=f[l>>2]|0;l=f[l+4>>2]|0;if((i|0)!=0|(k|0)==0&(l|0)==0)i=kb[f[m+16>>2]&127](o,0,0)|0;else i=mb[f[m+12>>2]&127](o,71840,28,0,0)|0;if(!i){if(!(b[a+7>>0]|0)){i=f[n>>2]|0;i=jb[f[(f[i>>2]|0)+20>>2]&255](i,(b[a+10>>0]|16)&255)|0}else i=0;if(((l|0)>0|(l|0)==0&k>>>0>0)&(i|0)==0){i=f[n>>2]|0;i=jb[f[(f[i>>2]|0)+24>>2]&255](i,x)|0;s=x;r=f[s+4>>2]|0;if((i|0)==0&((r|0)>(l|0)|((r|0)==(l|0)?(f[s>>2]|0)>>>0>k>>>0:0))){i=f[n>>2]|0;i=kb[f[(f[i>>2]|0)+16>>2]&127](i,k,l)|0}}}}else i=0;s=c;f[s>>2]=0;f[s+4>>2]=0}while(0);s=a+56|0;Ug(f[s>>2]|0);f[s>>2]=0;f[a+44>>2]=0;s=(i|0)==0;if(s){do if((b[a+15>>0]|0)==0?(b[a+12>>0]|0)!=0:0){if(e|0?f[f[a+60>>2]>>2]|0:0){l=f[a+212>>2]|0;k=f[l+16>>2]|0;if((k|0)<=-1){q=QA(k|0,((k|0)<0)<<31>>31|0,-1024,-1)|0;r=ba()|0;k=(f[l+28>>2]|0)+(f[l+24>>2]|0)|0;k=OA(q|0,r|0,k|0,((k|0)<0)<<31>>31|0)|0;ba()|0}l=f[l>>2]|0;if(!l){l=0;c=0}else{c=0;do{c=c+1|0;l=f[l+32>>2]|0}while((l|0)!=0);l=QA(c|0,0,100,0)|0;c=ba()|0}if(k|0?(r=OA(l|0,c|0,k|0,((k|0)<0)<<31>>31|0)|0,ba()|0,(r|0)>=25):0){z=60;break}}l=f[a+212>>2]|0;k=f[l>>2]|0;if(k|0)do{r=k+28|0;d[r>>1]=d[r>>1]&-13;k=f[k+32>>2]|0}while((k|0)!=0);f[l+8>>2]=f[l+4>>2]}else z=60;while(0);if((z|0)==60){r=a+212|0;l=f[r>>2]|0;k=f[l>>2]|0;if(k){do{q=f[k+12>>2]|0;c=q+8|0;m=k+36|0;n=f[m>>2]|0;if((f[c>>2]|0)==(k|0))f[c>>2]=n;o=f[k+32>>2]|0;p=(o|0)==0;if(p){f[q+4>>2]=n;c=n}else{f[o+36>>2]=n;c=f[m>>2]|0}if(!c){f[q>>2]=o;if(p)b[q+33>>0]=2}else f[c+32>>2]=o;p=k+28|0;d[p>>1]=d[p>>1]&-16|1;if((d[k+30>>1]|0)==0?b[q+32>>0]|0:0)qb[f[37456>>2]&255](f[q+44>>2]|0,f[k>>2]|0,0);k=f[l>>2]|0}while((k|0)!=0);l=f[r>>2]|0}}k=f[a+24>>2]|0;r=l+44|0;if(f[r>>2]|0){c=f[l>>2]|0;if(c|0)do{p=c;c=f[c+32>>2]|0;if((f[p+24>>2]|0)>>>0>k>>>0){q=f[p+12>>2]|0;n=q+8|0;o=p+36|0;m=f[o>>2]|0;if((f[n>>2]|0)==(p|0))f[n>>2]=m;n=(c|0)==0;if(n)f[q+4>>2]=m;else{f[c+36>>2]=m;m=f[o>>2]|0}if(!m){f[q>>2]=c;if(n)b[q+33>>0]=2}else f[m+32>>2]=c;o=p+28|0;d[o>>1]=d[o>>1]&-16|1;if((d[p+30>>1]|0)==0?b[q+32>>0]|0:0)qb[f[37456>>2]&255](f[q+44>>2]|0,f[p>>2]|0,0)}}while((c|0)!=0);if(!k)if((f[l+12>>2]|0)!=0?(u=kb[f[37452>>2]&127](f[r>>2]|0,1,0)|0,(u|0)!=0):0){_A(f[u>>2]|0,0,f[l+24>>2]|0)|0;k=1}else k=0;pb[f[37464>>2]&127](f[r>>2]|0,k+1|0)}}q=a+216|0;k=f[q>>2]|0;if(!k)if((e|0)!=0&s){n=a+32|0;o=f[a+24>>2]|0;if(((f[n>>2]|0)>>>0>o>>>0?(y=a+60|0,v=f[y>>2]|0,w=f[v>>2]|0,(w|0)!=0):0)?((b[B>>0]|0)+-1&255)>2:0){p=f[a+152>>2]|0;i=jb[f[w+24>>2]&255](v,x)|0;l=((p|0)<0)<<31>>31;c=QA(p|0,l|0,o|0,0)|0;m=ba()|0;do if(!i){k=x;i=f[k>>2]|0;k=f[k+4>>2]|0;if((i|0)==(c|0)&(k|0)==(m|0))g=0;else{if(!((k|0)>(m|0)|(k|0)==(m|0)&i>>>0>c>>>0)){x=KA(i|0,k|0,p|0,l|0)|0;w=ba()|0;if(!((w|0)>(m|0)|(w|0)==(m|0)&x>>>0>c>>>0)){x=f[a+208>>2]|0;_A(x|0,0,p|0)|0;y=f[y>>2]|0;z=LA(c|0,m|0,p|0,l|0)|0;g=ba()|0;g=mb[f[(f[y>>2]|0)+12>>2]&127](y,x,p,z,g)|0;z=117}}else{g=f[y>>2]|0;g=kb[f[(f[g>>2]|0)+16>>2]&127](g,c,m)|0;z=117}if((z|0)==117?g|0:0)break;f[n>>2]=o;g=0}}else g=i;while(0)}else g=0}else g=i;else{g=k+44|0;if(!(b[g>>0]|0))g=i;else{if(!(b[k+43>>0]|0)){z=f[k+4>>2]|0;lb[f[(f[z>>2]|0)+56>>2]&127](z,0,1,9)|0}b[g>>0]=0;f[k+104>>2]=0;b[k+47>>0]=0;g=i}}do if((e|0)!=0&(g|0)==0){g=f[a+60>>2]|0;i=f[g>>2]|0;if(i|0?(j=kb[f[i+40>>2]&127](g,22,0)|0,(j|0)!=12):0)break;j=0}else j=g;while(0);b:do if(!(b[A>>0]|0)){g=f[q>>2]|0;do if(g|0){i=g+43|0;if(!(b[i>>0]|0)){g=0;break b}b[i>>0]=0;A=f[g+4>>2]|0;if(!(lb[f[(f[A>>2]|0)+56>>2]&127](A,(d[g+40>>1]|0)+3|0,1,6)|0))if(!(b[i>>0]|0))break;else{g=0;break b}else{b[i>>0]=1;g=0;break b}}while(0);g=f[a+60>>2]|0;i=f[g>>2]|0;if(i){if(!(b[a+13>>0]|0))g=jb[f[i+32>>2]&255](g,1)|0;else g=0;i=a+17|0;if((b[i>>0]|0)!=5)b[i>>0]=1}else g=0;b[a+18>>0]=0}else g=0;while(0);b[B>>0]=1;b[a+19>>0]=0;B=(j|0)==0?g:j;t=C;return B|0}function th(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+32|0;l=q+16|0;h=q;if(!c){f[h>>2]=42469;f[h+4>>2]=55821;f[h+8>>2]=40460;Ac(11,40408,h);a=11;t=q;return a|0}p=a+212|0;h=f[p>>2]|0;h=kb[f[37452>>2]&127](f[h+44>>2]|0,c,b[h+33>>0]&3)|0;a:do if(!h){j=f[p>>2]|0;if((b[j+33>>0]|0)!=2){k=j+44|0;n=ib[f[37448>>2]&255](f[k>>2]|0)|0;b:do if((n|0)>(f[j+20>>2]|0)){i=j+8|0;h=f[i>>2]|0;c:do if(!h)m=12;else{while(1){if((d[h+30>>1]|0)==0?(d[h+28>>1]&8)==0:0)break;h=f[h+36>>2]|0;if(!h){m=12;break c}}f[i>>2]=h}while(0);d:do if((m|0)==12){f[i>>2]=0;h=f[j+4>>2]|0;if(!h)break b;while(1){if(!(d[h+30>>1]|0))break d;h=f[h+36>>2]|0;if(!h)break b}}while(0);h=jb[f[j+36>>2]&255](f[j+40>>2]|0,h)|0;switch(h|0){case 0:case 5:break;default:break a}}while(0);h=kb[f[37452>>2]&127](f[k>>2]|0,c,2)|0;if(h)m=18;else h=7}else h=7}else m=18;while(0);do if((m|0)==18){i=f[p>>2]|0;j=f[h+4>>2]|0;if(!(f[j>>2]|0))n=ch(i,c,h)|0;else{n=i+12|0;f[n>>2]=(f[n>>2]|0)+1;n=j+30|0;d[n>>1]=(d[n>>1]|0)+1<<16>>16;n=j}f[e>>2]=n;h=g&1;i=n+20|0;j=(h|0)!=0;if(!(j|(f[i>>2]|0)==0)){a=a+184|0;f[a>>2]=(f[a>>2]|0)+1;a=0;t=q;return a|0}do if((c|0)>=0?(o=a+152|0,((1073741824/(f[o>>2]|0)|0)+1|0)!=(c|0)):0){f[i>>2]=a;if(f[f[a+60>>2]>>2]|0?((h|0)==0?(f[a+24>>2]|0)>>>0>=c>>>0:0):0){h=a+188|0;f[h>>2]=(f[h>>2]|0)+1;h=mh(n)|0;if(!h)h=0;else break;t=q;return h|0}if((f[a+156>>2]|0)>>>0>>0)h=13;else{if(j){if((f[a+28>>2]|0)>>>0>=c>>>0)Wg(f[a+56>>2]|0,c)|0;g=a+96|0;h=f[g>>2]|0;if((h|0)>0){k=a+92|0;j=0;do{i=f[k>>2]|0;if((f[i+(j*48|0)+20>>2]|0)>>>0>=c>>>0){Wg(f[i+(j*48|0)+16>>2]|0,c)|0;h=f[g>>2]|0}j=j+1|0}while((j|0)<(h|0))}}_A(f[n+4>>2]|0,0,f[o>>2]|0)|0;a=0;t=q;return a|0}}else m=38;while(0);if((m|0)==38){f[l>>2]=42469;f[l+4>>2]=55853;f[l+8>>2]=40460;Ac(11,40408,l);if(!n){h=11;break}else h=11}m=f[n+12>>2]|0;do if(d[n+28>>1]&2){i=m+8|0;j=n+36|0;k=f[j>>2]|0;if((f[i>>2]|0)==(n|0))f[i>>2]=k;g=f[n+32>>2]|0;l=(g|0)==0;if(l){f[m+4>>2]=k;i=k}else{f[g+36>>2]=k;i=f[j>>2]|0}if(i|0){f[i+32>>2]=g;break}f[m>>2]=g;if(l)b[m+33>>0]=2}while(0);o=m+12|0;f[o>>2]=(f[o>>2]|0)+-1;qb[f[37456>>2]&255](f[m+44>>2]|0,f[n>>2]|0,1)}while(0);if(!(f[(f[p>>2]|0)+12>>2]|0)){switch(b[a+16>>0]|0){case 0:case 6:break;case 1:{if(!(b[a+4>>0]|0))sh(a,0,0)|0;break}default:wh(a)|0}xh(a)}f[e>>2]=0;a=h;t=q;return a|0}function uh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[c>>2]=0;return f[a+40>>2]|0}function vh(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0;j=f[a+4>>2]|0;e=f[a>>2]|0;b[j+19>>0]=0;k=a+8|0;do if(b[k>>0]|0){if((f[e+172>>2]|0)>1){e=j+76|0;if((f[e>>2]|0)==(a|0)?(f[e>>2]=0,c=j+22|0,d[c>>1]=d[c>>1]&-193,c=f[j+72>>2]|0,c|0):0)do{b[c+8>>0]=1;c=f[c+12>>2]|0}while((c|0)!=0);b[k>>0]=1;return}c=j+72|0;e=f[c>>2]|0;if(e|0)while(1){g=e+12|0;do if((f[e>>2]|0)==(a|0)){h=f[g>>2]|0;f[c>>2]=h;if((f[e+4>>2]|0)!=1)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);i=15;break}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);i=15;break}else{g=c;e=h}}else{c=g;i=15}while(0);if((i|0)==15){i=0;g=c;e=f[c>>2]|0}if(!e)break;else c=g}c=j+76|0;if((f[c>>2]|0)!=(a|0)){c=j+40|0;e=f[c>>2]|0;if((e|0)==2){a=j+22|0;d[a>>1]=d[a>>1]&-129;f[c>>2]=1;break}}else{f[c>>2]=0;e=j+22|0;d[e>>1]=d[e>>1]&-193;e=j+40|0;c=e;e=f[e>>2]|0}a=e+-1|0;f[c>>2]=a;if(!a)b[j+20>>0]=0}while(0);b[k>>0]=0;if(b[j+20>>0]|0)return;c=j+12|0;e=f[c>>2]|0;if(!e)return;f[c>>2]=0;k=f[e+72>>2]|0;c=f[k+20>>2]|0;bh(k);if(f[(f[c+212>>2]|0)+12>>2]|0)return;switch(b[c+16>>0]|0){case 0:case 6:break;case 1:{if(!(b[c+4>>0]|0))sh(c,0,0)|0;break}default:wh(c)|0}xh(c);return}function wh(a){a=a|0;var c=0,d=0,e=0;e=a+16|0;d=b[e>>0]|0;if(d<<24>>24==6){e=f[a+40>>2]|0;return e|0}if((d&255)<2){e=0;return e|0}do if(!(f[a+216>>2]|0)){if(!(d<<24>>24==2?1:(f[f[a+64>>2]>>2]|0)==0)){c=yh(a,0)|0;break}c=sh(a,0,0)|0;if((d&255)>2&(b[a+15>>0]|0)==0){f[a+40>>2]=4;b[e>>0]=6;f[a+204>>2]=82;e=c;return e|0}}else{c=Lg(a,2,-1)|0;d=sh(a,h[a+19>>0]|0,0)|0;c=(c|0)==0?d:c}while(0);switch((c&255)<<24>>24){case 10:case 13:break;default:{e=c;return e|0}}f[a+40>>2]=c;b[e>>0]=6;f[a+204>>2]=(c|0)==0?81:82;e=c;return e|0}function xh(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;g=a+56|0;Ug(f[g>>2]|0);f[g>>2]=0;g=a+96|0;if((f[g>>2]|0)>0){e=a+92|0;c=0;do{Ug(f[(f[e>>2]|0)+(c*48|0)+16>>2]|0);c=c+1|0}while((c|0)<(f[g>>2]|0))}h=a+4|0;e=f[a+68>>2]|0;c=f[e>>2]|0;if(!(b[h>>0]|0)){if(c|0)k=7}else if((c|0)==37976){c=37976;k=7}if((k|0)==7){ib[f[c+4>>2]&255](e)|0;f[e>>2]=0}c=a+92|0;e=f[c>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{l=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[c>>2]=0;f[g>>2]=0;f[a+52>>2]=0;g=f[a+216>>2]|0;if(!g){if(!(b[h>>0]|0)){c=a+60|0;e=f[c>>2]|0;g=f[e>>2]|0;if(!(((g|0)!=0?((ib[f[g+48>>2]&255](e)|0)&2048|0)!=0:0)?(b[a+5>>0]&5)==1:0))k=25;if((k|0)==25?(i=f[a+64>>2]|0,j=f[i>>2]|0,j|0):0){ib[f[j+4>>2]&255](i)|0;f[i>>2]=0}c=f[c>>2]|0;e=f[c>>2]|0;if(e|0){if(!(b[a+13>>0]|0))e=jb[f[e+32>>2]&255](c,0)|0;else e=0;c=a+17|0;if((b[c>>0]|0)!=5)b[c>>0]=0;if(e|0?(b[a+16>>0]|0)==6:0)b[c>>0]=5}b[a+18>>0]=0;k=36}}else{c=g+44|0;if(b[c>>0]|0){if(!(b[g+43>>0]|0)){l=f[g+4>>2]|0;lb[f[(f[l>>2]|0)+56>>2]&127](l,0,1,9)|0}b[c>>0]=0;f[g+104>>2]=0;b[g+47>>0]=0}c=g+40|0;e=d[c>>1]|0;if(e<<16>>16>-1){if(!(b[g+43>>0]|0)){l=f[g+4>>2]|0;lb[f[(f[l>>2]|0)+56>>2]&127](l,(e<<16>>16)+3|0,1,5)|0}d[c>>1]=-1;k=36}else k=36}if((k|0)==36)b[a+16>>0]=0;e=a+40|0;if(!(f[e>>2]|0)){l=a+72|0;a=a+19|0;b[a>>0]=0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;return}if(!(b[a+12>>0]|0)){jh(a);b[a+18>>0]=0;c=0}else c=(f[f[a+64>>2]>>2]|0)==0&1;b[a+16>>0]=c;f[e>>2]=0;f[a+204>>2]=81;l=a+72|0;a=a+19|0;b[a>>0]=0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;return}function yh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=t;t=t+48|0;L=M+16|0;I=M+8|0;J=M+40|0;y=M;z=M+36|0;A=M+32|0;H=M+28|0;B=M+24|0;h=f[a>>2]|0;f[A>>2]=0;f[H>>2]=1;x=a+152|0;f[B>>2]=f[x>>2];D=a+64|0;g=f[D>>2]|0;g=jb[f[(f[g>>2]|0)+24>>2]&255](g,y)|0;a:do if(!g){C=a+208|0;e=f[C>>2]|0;g=zh(f[D>>2]|0,e,(f[(f[a>>2]|0)+8>>2]|0)+1|0)|0;if(!g){if(!(b[e>>0]|0))e=0;else e=lb[f[h+32>>2]&127](h,e,0,H)|0;b:do if((e|0)==0&(f[H>>2]|0)!=0){p=a+72|0;q=p;f[q>>2]=0;f[q+4>>2]=0;q=a+148|0;r=a+80|0;s=a+60|0;u=a+24|0;v=a+16|0;w=a+32|0;e=0;h=c;c:while(1){do{g=y;g=hh(a,c,f[g>>2]|0,f[g+4>>2]|0,z,A)|0;switch(g|0){case 101:{h=e;break b}case 0:break;default:{d=g;K=37;break b}}g=f[z>>2]|0;if((g|0)==-1){n=y;n=LA(f[n>>2]|0,f[n+4>>2]|0,f[q>>2]|0,0)|0;o=ba()|0;g=(f[x>>2]|0)+8|0;g=OA(n|0,o|0,g|0,((g|0)<0)<<31>>31|0)|0;ba()|0;f[z>>2]=g}if(!(g|c)){j=r;l=f[q>>2]|0;j=KA(f[j>>2]|0,f[j+4>>2]|0,l|0,0)|0;i=ba()|0;m=p;k=f[m>>2]|0;m=f[m+4>>2]|0;if((j|0)==(k|0)&(i|0)==(m|0)){o=y;o=LA(f[o>>2]|0,f[o+4>>2]|0,j|0,i|0)|0;k=ba()|0;g=(f[x>>2]|0)+8|0;g=OA(o|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;ba()|0;f[z>>2]=g;k=j;j=0}else{i=m;j=0}}else{i=p;k=f[i>>2]|0;l=f[q>>2]|0;i=f[i+4>>2]|0;j=0}if((k|0)==(l|0)&(i|0)==(j|0)){n=f[A>>2]|0;i=f[s>>2]|0;j=f[i>>2]|0;if(j|0?((b[v>>0]|0)+-1&255)>2:0){o=f[x>>2]|0;i=jb[f[j+24>>2]&255](i,I)|0;k=((o|0)<0)<<31>>31;l=QA(o|0,k|0,n|0,0)|0;m=ba()|0;if(i|0){d=i;break c}j=I;i=f[j>>2]|0;j=f[j+4>>2]|0;if(!((i|0)==(l|0)&(j|0)==(m|0))){do if((j|0)>(m|0)|(j|0)==(m|0)&i>>>0>l>>>0){d=f[s>>2]|0;d=kb[f[(f[d>>2]|0)+16>>2]&127](d,l,m)|0;K=24}else{j=KA(i|0,j|0,o|0,k|0)|0;i=ba()|0;if((i|0)>(m|0)|(i|0)==(m|0)&j>>>0>l>>>0)break;j=f[C>>2]|0;_A(j|0,0,o|0)|0;i=f[s>>2]|0;K=LA(l|0,m|0,o|0,k|0)|0;d=ba()|0;d=mb[f[(f[i>>2]|0)+12>>2]&127](i,j,o,K,d)|0;K=24}while(0);if((K|0)==24?(K=0,d|0):0)break c;f[w>>2]=n}}f[u>>2]=n}}while(!(g|0));i=0;d:while(1){if(h|0)jh(a);h=gh(a,p,0,1,0)|0;switch(h|0){case 522:{h=e;break b}case 101:{K=35;break d}case 0:break;default:{d=h;K=37;break b}}e=e+1|0;i=i+1|0;if(i>>>0>=g>>>0)break;else h=0}if((K|0)==35){K=0;m=y;n=f[m+4>>2]|0;o=p;f[o>>2]=f[m>>2];f[o+4>>2]=n}h=0}K=38;break a}else{d=e;e=0;K=37}while(0);if((K|0)==37)if(!d)h=e;else{K=38;break}g=ih(a,B,-1)|0;d=a+12|0;b[a+18>>0]=b[d>>0]|0;if(!g){s=f[C>>2]|0;g=zh(f[D>>2]|0,s,(f[(f[a>>2]|0)+8>>2]|0)+1|0)|0;if(!g){if(((b[a+16>>0]|0)+-1&255)>2){i=a+60|0;e=f[i>>2]|0;g=f[e>>2]|0;if(g|0){g=kb[f[g+40>>2]&127](e,21,0)|0;switch(g|0){case 0:case 12:break;default:break a}}if(((b[a+7>>0]|0)==0?(E=f[i>>2]|0,F=b[a+10>>0]|0,F<<24>>24):0)?(G=jb[f[(f[E>>2]|0)+20>>2]&255](E,F&255)|0,G|0):0){g=G;break}}g=sh(a,(b[s>>0]|0)!=0&1,0)|0;if(!g)if((b[s>>0]|0)!=0&(f[H>>2]|0)!=0){r=f[a>>2]|0;j=r+4|0;k=f[j>>2]<<1;H=KA(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;G=ba()|0;do if(!(G>>>0>0|(G|0)==0&H>>>0>2147483390)){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](k)|0;if(!e){e=7;break}else q=e}else{e=ib[f[37372>>2]&255](k)|0;if((f[18194]|0)>>>0>>0)f[18194]=k;i=71896;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){H=f[18187]|0;G=LA(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;F=ba()|0;f[17976]=((F|0)<0|(F|0)==0&G>>>0<=H>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(!g){e=7;break}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0){f[18196]=e;q=g}else q=g}_A(q|0,0,k|0)|0;o=q+(f[j>>2]|0)|0;p=r+24|0;e=mb[f[p>>2]&127](r,s,q,16385,0)|0;e:do if(!e){e=jb[f[(f[q>>2]|0)+24>>2]&255](q,I)|0;if(!e){n=(f[r+8>>2]|0)+1|0;H=I;H=KA(f[H>>2]|0,f[H+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;G=ba()|0;e=KA(H|0,G|0,1,0)|0;ba()|0;if(!(G>>>0>0|(G|0)==0&H>>>0>2147483390)){do if(!(f[9328]|0)){e=ib[f[37356>>2]&255](e)|0;if(!e){e=7;break e}else g=e}else{i=ib[f[37372>>2]&255](e)|0;if((f[18194]|0)>>>0>>0)f[18194]=e;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){H=f[18187]|0;G=LA(e|0,g|0,i|0,((i|0)<0)<<31>>31|0)|0;F=ba()|0;f[17976]=((F|0)<0|(F|0)==0&G>>>0<=H>>>0)&1}g=ib[f[37356>>2]&255](i)|0;if(!g){e=7;break e}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0<=(f[18196]|0)>>>0)break;f[18196]=e}while(0);e=f[I>>2]|0;m=g+(e+1)|0;e=mb[f[(f[q>>2]|0)+8>>2]&127](q,g,e,0,0)|0;if(!e){b[g+(f[I>>2]|0)>>0]=0;k=g;H=I;G=f[H+4>>2]|0;f:do if((G|0)>0|(G|0)==0&(f[H>>2]|0)>>>0>0){l=r+32|0;j=g;g:while(1){e=lb[f[l>>2]&127](r,j,0,J)|0;if(e|0)break;do if(f[J>>2]|0){e=mb[f[p>>2]&127](r,j,o,2049,0)|0;if(e|0)break g;e=zh(o,m,n)|0;i=f[o>>2]|0;if(i|0){ib[f[i+4>>2]&255](o)|0;f[o>>2]=0}if(e|0)break g;if(!(b[m>>0]|0))break;if(!(tz(m,s)|0)){e=0;break g}}while(0);j=j+(((wz(j)|0)&1073741823)+1)|0;H=j-k|0;F=((H|0)<0)<<31>>31;G=I;E=f[G+4>>2]|0;if(!((E|0)>(F|0)|((E|0)==(F|0)?(f[G>>2]|0)>>>0>H>>>0:0))){K=88;break f}}}else K=88;while(0);if((K|0)==88){e=f[q>>2]|0;if(e|0){ib[f[e+4>>2]&255](q)|0;f[q>>2]=0}e=kb[f[r+28>>2]&127](r,s,0)|0}if(!g)break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{J=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}else e=7}}while(0);g=f[q>>2]|0;if(g|0){ib[f[g+4>>2]&255](q)|0;f[q>>2]=0}if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{J=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}else e=7;while(0);g=e}else g=0}}}else{e=0;d=g;K=38}}else{e=0;d=g;K=38}while(0);if((K|0)==38){K=a+12|0;b[a+18>>0]=b[K>>0]|0;h=e;g=d;d=K}if((c|0)!=0&(h|0)!=0){c=f[a+172>>2]|0;f[L>>2]=h;f[L+4>>2]=c;Ac(539,42620,L)}if(b[d>>0]|0){L=512;a=a+148|0;f[a>>2]=L;t=M;return g|0}d=a+60|0;L=f[d>>2]|0;if((ib[f[(f[L>>2]|0)+48>>2]&255](L)|0)&4096|0){L=512;a=a+148|0;f[a>>2]=L;t=M;return g|0}d=f[d>>2]|0;e=f[(f[d>>2]|0)+44>>2]|0;if(!e){L=4096;a=a+148|0;f[a>>2]=L;t=M;return g|0}L=ib[e&255](d)|0;L=(L|0)<32?512:(L|0)<65536?L:65536;a=a+148|0;f[a>>2]=L;t=M;return g|0}function zh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=t;t=t+32|0;l=p+16|0;n=p;o=p+8|0;b[c>>0]=0;i=jb[f[(f[a>>2]|0)+24>>2]&255](a,n)|0;g=n;e=f[g>>2]|0;g=f[g+4>>2]|0;if((i|0)!=0|((g|0)<0|(g|0)==0&e>>>0<16)){c=i;t=p;return c|0}m=KA(e|0,g|0,-16,-1)|0;e=ba()|0;e=mb[f[(f[a>>2]|0)+8>>2]&127](a,l,4,m,e)|0;if(e|0){c=e;t=p;return c|0}i=l+1|0;j=l+2|0;k=l+3|0;m=h[i>>0]<<16|h[l>>0]<<24|h[j>>0]<<8|h[k>>0];if(m>>>0>=d>>>0){c=0;t=p;return c|0}g=n;e=f[g>>2]|0;g=f[g+4>>2]|0;d=KA(e|0,g|0,-16,-1)|0;q=ba()|0;if((m|0)==0|((q|0)<0|(q|0)==0&d>>>0>>0)){q=0;t=p;return q|0}q=KA(e|0,g|0,-12,-1)|0;e=ba()|0;e=mb[f[(f[a>>2]|0)+8>>2]&127](a,l,4,q,e)|0;if(e|0){q=e;t=p;return q|0}e=h[i>>0]<<16|h[l>>0]<<24|h[j>>0]<<8|h[k>>0];q=n;q=KA(f[q>>2]|0,f[q+4>>2]|0,-8,-1)|0;g=ba()|0;g=mb[f[(f[a>>2]|0)+8>>2]&127](a,o,8,q,g)|0;if(g|0){q=g;t=p;return q|0}if(Hz(o,42612,8)|0){q=0;t=p;return q|0}q=n;g=f[q>>2]|0;q=f[q+4>>2]|0;o=LA(-16,-1,m|0,0)|0;q=KA(o|0,ba()|0,g|0,q|0)|0;g=ba()|0;g=mb[f[(f[a>>2]|0)+8>>2]&127](a,c,m,q,g)|0;if(g|0){q=g;t=p;return q|0}g=0;do{e=e-(b[c+g>>0]|0)|0;g=g+1|0}while((g|0)!=(m|0));b[c+((e|0)==0?m:0)>>0]=0;q=0;t=p;return q|0}function Ah(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;r=t;t=t+32|0;k=r;m=r+20|0;j=r+24|0;o=r+16|0;p=r+12|0;if(e>>>0<2)i=0;else{i=e+-2|0;i=i-((i>>>0)%(((((f[a+36>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;i=((i+1|0)==(1073741824/((f[a+32>>2]|0)>>>0)|0|0)?3:2)+i|0}a:do if((i|0)!=(e|0)?((1073741824/((f[a+32>>2]|0)>>>0)|0)+1|0)!=(e|0):0){n=f[(f[a+12>>2]|0)+56>>2]|0;b:do if((h[n+37>>0]|0)<<16|(h[n+36>>0]|0)<<24|(h[n+38>>0]|0)<<8|(h[n+39>>0]|0)){i=rh(a,e,j,o)|0;if(!i){n=b[j>>0]|0;c:do switch(n<<24>>24){case 1:{f[k>>2]=42469;f[k+4>>2]=66624;f[k+8>>2]=40460;Ac(11,40408,k);i=11;break b}case 2:{if(!g){i=Lh(a,p,m,e,1)|0;if(i|0)break b;i=f[p>>2]|0;do if(i|0){i=f[i+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{q=f[i+20>>2]|0;p=q+120|0;f[p>>2]=(f[p>>2]|0)+-1;q=q+136|0;f[i+16>>2]=f[q>>2];f[q>>2]=i;break}}while(0)}break}default:{i=f[a>>2]|0;i=lb[f[i+204>>2]&127](i,e,m,0)|0;do if(!i){i=f[m>>2]|0;l=f[i+8>>2]|0;j=l+4|0;if((f[j>>2]|0)!=(e|0)){f[l+56>>2]=f[i+4>>2];f[l+72>>2]=i;f[l+52>>2]=a;f[j>>2]=e;b[l+9>>0]=(e|0)==1?100:0}i=(g|0)==0;j=i?2:0;k=i?c:0;d:do if(i){i=Lh(a,m,p,k,j)|0;if(!i){i=f[m>>2]|0;do if(i|0){i=f[i+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{m=f[i+20>>2]|0;c=m+120|0;f[c>>2]=(f[c>>2]|0)+-1;m=m+136|0;f[i+16>>2]=f[m>>2];f[m>>2]=i;break}}while(0);i=f[p>>2]|0}else q=30}else do{i=Lh(a,m,p,k,j)|0;if(i|0){q=30;break d}i=f[m>>2]|0;do if(i|0){i=f[i+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{s=f[i+20>>2]|0;u=s+120|0;f[u>>2]=(f[u>>2]|0)+-1;s=s+136|0;f[i+16>>2]=f[s>>2];f[s>>2]=i;break}}while(0);i=f[p>>2]|0}while(i>>>0>c>>>0);while(0);if((q|0)==30){do if(l|0){j=f[l+72>>2]|0;if(!(d[j+28>>1]&32)){bh(j);break}else{u=f[j+20>>2]|0;s=u+120|0;f[s>>2]=(f[s>>2]|0)+-1;u=u+136|0;f[j+16>>2]=f[u>>2];f[u>>2]=j;break}}while(0);break}i=Mh(a,l,n,f[o>>2]|0,i,g)|0;do if(l|0){j=f[l+72>>2]|0;if(!(d[j+28>>1]&32)){bh(j);break}else{u=f[j+20>>2]|0;s=u+120|0;f[s>>2]=(f[s>>2]|0)+-1;u=u+136|0;f[j+16>>2]=f[u>>2];f[u>>2]=j;break}}while(0);if(!i)break c}while(0);break b}}while(0);break a}}else i=101;while(0);u=i;t=r;return u|0}while(0);if(g|0){u=0;t=r;return u|0}k=1073741824/((f[a+32>>2]|0)>>>0)|0;c=k+1|0;l=a+36|0;i=e;while(1){j=i+-1|0;if((j|0)!=(c|0)){if(j>>>0<2)i=0;else{i=i+-3|0;i=i-((i>>>0)%(((((f[l>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;i=((i+1|0)==(k|0)?3:2)+i|0}if((i|0)!=(j|0))break}i=j}b[a+19>>0]=1;f[a+44>>2]=j;u=0;t=r;return u|0}function Bh(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=t;t=t+16|0;A=D+8|0;r=D;g=f[a+40>>2]|0;if(g|0){a=g;t=D;return a|0}g=f[9393]|0;if(g|0?ib[g&255](400)|0:0){a=10;t=D;return a|0}C=a+16|0;if((h[C>>0]|0)<3){a=0;t=D;return a|0}do if(b[a+12>>0]|0){if(f[f[a+60>>2]>>2]|0){i=f[a+212>>2]|0;g=f[i+16>>2]|0;if((g|0)<=-1){n=QA(g|0,((g|0)<0)<<31>>31|0,-1024,-1)|0;p=ba()|0;g=(f[i+28>>2]|0)+(f[i+24>>2]|0)|0;g=OA(n|0,p|0,g|0,((g|0)<0)<<31>>31|0)|0;ba()|0}i=f[i>>2]|0;if(!i){i=0;j=0}else{j=0;do{j=j+1|0;i=f[i+32>>2]|0}while((i|0)!=0);i=QA(j|0,0,100,0)|0;j=ba()|0}if(g|0?(p=OA(i|0,j|0,g|0,((g|0)<0)<<31>>31|0)|0,ba()|0,(p|0)>=25):0){B=18;break}}g=f[a+88>>2]|0;if(g|0)do{f[g+16>>2]=1;g=f[g+44>>2]|0}while((g|0)!=0)}else B=18;while(0);do if((B|0)==18){if(!(f[a+216>>2]|0)){k=a+18|0;if((b[k>>0]|0)==0?f[a+24>>2]|0:0){g=lb[f[a+204>>2]&127](a,1,A,0)|0;a:do if(!g){j=f[A>>2]|0;i=f[j+20>>2]|0;if((d[j+28>>1]&4)!=0?(f[i+24>>2]|0)>>>0>=(f[j+24>>2]|0)>>>0:0)if(!(f[i+96>>2]|0))g=j;else{g=Ng(j)|0;B=53}else B=49;do if((B|0)==49){g=f[i+40>>2]|0;if(g|0)break a;if((f[i+148>>2]|0)>>>0>(f[i+152>>2]|0)>>>0){g=Og(j)|0;B=53;break}else{g=Pg(j)|0;B=53;break}}while(0);if((B|0)==53){if(g|0)break;g=f[A>>2]|0;i=f[g+20>>2]|0}o=(h[i+105>>0]<<16|h[i+104>>0]<<24|h[i+106>>0]<<8|h[i+107>>0])+1|0;g=g+4|0;p=f[g>>2]|0;l=o>>>24&255;b[p+24>>0]=l;m=o>>>16&255;b[p+25>>0]=m;n=o>>>8&255;b[p+26>>0]=n;o=o&255;b[p+27>>0]=o;p=f[g>>2]|0;b[p+92>>0]=l;b[p+93>>0]=m;b[p+94>>0]=n;b[p+95>>0]=o;g=f[g>>2]|0;b[g+96>>0]=0;b[g+97>>0]=46;b[g+98>>0]=44;b[g+99>>0]=80;b[k>>0]=1;g=0}while(0);i=f[A>>2]|0;do if(i|0)if(!(d[i+28>>1]&32)){bh(i);break}else{p=f[i+20>>2]|0;o=p+120|0;f[o>>2]=(f[o>>2]|0)+-1;p=p+136|0;f[i+16>>2]=f[p>>2];f[p>>2]=i;break}while(0);if(g|0){a=g;t=D;return a|0}}b:do if(((c|0)!=0?(b[a+5>>0]|0)!=4:0)?(s=a+64|0,q=f[s>>2]|0,(f[q>>2]|0)!=0):0){b[a+19>>0]=1;g=b[c>>0]|0;if(!(g<<24>>24)){i=0;j=0}else{j=0;i=0;do{i=i+(g<<24>>24)|0;j=j+1|0;g=b[c+j>>0]|0}while(g<<24>>24!=0)}p=a+72|0;k=p;g=f[k>>2]|0;k=f[k+4>>2]|0;if(!(b[a+8>>0]|0))l=g;else{if((g|0)==0&(k|0)==0){g=0;k=0}else{o=KA(g|0,k|0,-1,-1)|0;k=ba()|0;g=f[a+148>>2]|0;k=OA(o|0,k|0,g|0,0)|0;k=KA(k|0,ba()|0,1,0)|0;g=QA(k|0,ba()|0,g|0,0)|0;k=ba()|0}l=p;f[l>>2]=g;f[l+4>>2]=k;l=g}g=(1073741824/(f[a+152>>2]|0)|0)+1|0;b[A>>0]=g>>>24;m=A+1|0;b[m>>0]=g>>>16;n=A+2|0;b[n>>0]=g>>>8;o=A+3|0;b[o>>0]=g;g=mb[f[(f[q>>2]|0)+12>>2]&127](q,A,4,l,k)|0;do if(!g){g=f[s>>2]|0;k=KA(l|0,k|0,4,0)|0;l=ba()|0;g=mb[f[(f[g>>2]|0)+12>>2]&127](g,c,j,k,l)|0;if(!g){g=f[s>>2]|0;k=KA(k|0,l|0,j|0,0)|0;l=ba()|0;b[A>>0]=j>>>24;b[m>>0]=j>>>16;b[n>>0]=j>>>8;b[o>>0]=j;g=mb[f[(f[g>>2]|0)+12>>2]&127](g,A,4,k,l)|0;if(!g){E=f[s>>2]|0;q=KA(k|0,l|0,4,0)|0;g=ba()|0;b[A>>0]=i>>>24;b[m>>0]=i>>>16;b[n>>0]=i>>>8;b[o>>0]=i;g=mb[f[(f[E>>2]|0)+12>>2]&127](E,A,4,q,g)|0;if(!g){q=f[s>>2]|0;E=KA(k|0,l|0,8,0)|0;g=ba()|0;g=mb[f[(f[q>>2]|0)+12>>2]&127](q,42612,8,E,g)|0;if(!g){q=p;q=KA(f[q>>2]|0,f[q+4>>2]|0,j+20|0,0)|0;E=ba()|0;g=p;f[g>>2]=q;f[g+4>>2]=E;g=f[s>>2]|0;g=jb[f[(f[g>>2]|0)+24>>2]&255](g,r)|0;if(g|0)break;E=r;r=f[E+4>>2]|0;i=p;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((r|0)>(i|0)|((r|0)==(i|0)?(f[E>>2]|0)>>>0>g>>>0:0))){B=79;break b}E=f[s>>2]|0;g=kb[f[(f[E>>2]|0)+16>>2]&127](E,g,i)|0;if(!g)break b;t=D;return g|0}}}}}while(0);E=g;t=D;return E|0}else B=79;while(0);g=Dh(a,0)|0;if(g|0){E=g;t=D;return E|0}g=a+212|0;i=Eh(a,fh(f[g>>2]|0)|0)|0;if(i|0){E=i;t=D;return E|0}o=f[g>>2]|0;g=f[o>>2]|0;if(g|0)do{n=f[g+12>>2]|0;i=n+8|0;j=g+36|0;k=f[j>>2]|0;if((f[i>>2]|0)==(g|0))f[i>>2]=k;l=f[g+32>>2]|0;m=(l|0)==0;if(m){f[n+4>>2]=k;i=k}else{f[l+36>>2]=k;i=f[j>>2]|0}if(!i){f[n>>2]=l;if(m)b[n+33>>0]=2}else f[i+32>>2]=l;E=g+28|0;d[E>>1]=d[E>>1]&-16|1;if((d[g+30>>1]|0)==0?b[n+32>>0]|0:0)qb[f[37456>>2]&255](f[n+44>>2]|0,f[g>>2]|0,0);g=f[o>>2]|0}while((g|0)!=0);g=f[a+24>>2]|0;m=a+32|0;c:do if((g>>>0>(f[m>>2]|0)>>>0?(x=f[a+152>>2]|0,y=g-((g|0)==((1073741824/(x|0)|0)+1|0)&1)|0,z=a+60|0,u=f[z>>2]|0,v=f[u>>2]|0,v|0):0)?((b[C>>0]|0)+-1&255)>2:0){g=jb[f[v+24>>2]&255](u,A)|0;j=((x|0)<0)<<31>>31;k=QA(y|0,0,x|0,j|0)|0;l=ba()|0;do if(!g){i=A;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((g|0)==(k|0)&(i|0)==(l|0))){do if((i|0)>(l|0)|(i|0)==(l|0)&g>>>0>k>>>0){w=f[z>>2]|0;w=kb[f[(f[w>>2]|0)+16>>2]&127](w,k,l)|0;B=107}else{E=KA(g|0,i|0,x|0,j|0)|0;A=ba()|0;if((A|0)>(l|0)|(A|0)==(l|0)&E>>>0>k>>>0)break;E=f[a+208>>2]|0;_A(E|0,0,x|0)|0;A=f[z>>2]|0;B=LA(k|0,l|0,x|0,j|0)|0;w=ba()|0;w=mb[f[(f[A>>2]|0)+12>>2]&127](A,E,x,B,w)|0;B=107}while(0);if((B|0)==107?w|0:0){g=w;break}f[m>>2]=y}break c}while(0);E=g;t=D;return E|0}while(0);if(e|0)break;j=a+60|0;g=f[j>>2]|0;i=f[g>>2]|0;d:do if(i|0){g=kb[f[i+40>>2]&127](g,21,c)|0;switch(g|0){case 0:case 12:break d;default:{}}t=D;return g|0}while(0);if(b[a+7>>0]|0)break;g=f[j>>2]|0;i=b[a+10>>0]|0;if(!(i<<24>>24))break;g=jb[f[(f[g>>2]|0)+20>>2]&255](g,i&255)|0}else{f[A>>2]=0;j=a+212|0;g=fh(f[j>>2]|0)|0;if(!g){g=lb[f[a+204>>2]&127](a,1,A,0)|0;i=f[A>>2]|0;f[i+16>>2]=0;if(i){g=i;B=21}}else B=21;do if((B|0)==21){g=Ch(a,g,f[a+24>>2]|0,1)|0;i=f[A>>2]|0;if(i)if(!(d[i+28>>1]&32)){bh(i);break}else{E=f[i+20>>2]|0;B=E+120|0;f[B>>2]=(f[B>>2]|0)+-1;E=E+136|0;f[i+16>>2]=f[E>>2];f[E>>2]=i;break}}while(0);if((g|0)==0?(o=f[j>>2]|0,m=f[o>>2]|0,m|0):0)do{n=f[m+12>>2]|0;j=n+8|0;l=m+36|0;i=f[l>>2]|0;if((f[j>>2]|0)==(m|0))f[j>>2]=i;j=f[m+32>>2]|0;k=(j|0)==0;if(k)f[n+4>>2]=i;else{f[j+36>>2]=i;i=f[l>>2]|0}if(!i){f[n>>2]=j;if(k)b[n+33>>0]=2}else f[i+32>>2]=j;E=m+28|0;d[E>>1]=d[E>>1]&-16|1;if((d[m+30>>1]|0)==0?b[n+32>>0]|0:0)qb[f[37456>>2]&255](f[n+44>>2]|0,f[m>>2]|0,0);m=f[o>>2]|0}while((m|0)!=0)}if(g|0){E=g;t=D;return E|0}}while(0);if(f[a+216>>2]|0){E=0;t=D;return E|0}b[C>>0]=5;E=0;t=D;return E|0}function Ch(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;Aa=t;t=t+48|0;ta=Aa+32|0;ra=Aa;k=Aa+36|0;f[k>>2]=c;R=(g|0)==0;if(!R){f[k>>2]=c;if(!c){za=0;c=0}else{i=c;c=0;j=k;do{ya=(f[i+24>>2]|0)>>>0>e>>>0;za=i+16|0;c=c+((ya^1)&1)|0;j=ya?j:za;i=f[za>>2]|0;f[j>>2]=i}while((i|0)!=0);za=f[k>>2]|0}}else{za=c;c=1}ya=a+192|0;f[ya>>2]=(f[ya>>2]|0)+c;if((f[za+24>>2]|0)==1){wa=f[za+20>>2]|0;wa=(h[wa+105>>0]<<16|h[wa+104>>0]<<24|h[wa+106>>0]<<8|h[wa+107>>0])+1|0;ya=za+4|0;xa=f[ya>>2]|0;pa=wa>>>24&255;b[xa+24>>0]=pa;sa=wa>>>16&255;b[xa+25>>0]=sa;va=wa>>>8&255;b[xa+26>>0]=va;wa=wa&255;b[xa+27>>0]=wa;xa=f[ya>>2]|0;b[xa+92>>0]=pa;b[xa+93>>0]=sa;b[xa+94>>0]=va;b[xa+95>>0]=wa;ya=f[ya>>2]|0;b[ya+96>>0]=0;b[ya+97>>0]=46;b[ya+98>>0]=44;b[ya+99>>0]=80}xa=f[a+216>>2]|0;va=f[a+152>>2]|0;U=h[a+11>>0]|0;wa=xa+32|0;c=f[f[wa>>2]>>2]|0;ya=xa+52|0;if(!(Hz(ya,c,48)|0))C=0;else C=(f[c+16>>2]|0)+1|0;o=xa+40|0;if(!(d[o>>1]|0)){a:do if(!(f[c+96>>2]|0)){l=xa+43|0;$=20}else{zd(4,ra);k=xa+43|0;b:do if(!(b[k>>0]|0)){c=f[xa+4>>2]|0;c=lb[f[(f[c>>2]|0)+56>>2]&127](c,4,4,10)|0;switch(c|0){case 0:{$=15;break b}case 5:break b;default:{}}p=c;break a}else $=15;while(0);if(($|0)==15){m=f[ra>>2]|0;i=f[wa>>2]|0;c=f[i>>2]|0;j=c+96|0;$=xa+84|0;pa=xa+112|0;f[pa>>2]=(f[pa>>2]|0)+1;f[xa+68>>2]=0;pa=$+1|0;sa=$+2|0;n=$+3|0;l=(h[pa>>0]<<16|h[$>>0]<<24|h[sa>>0]<<8|h[n>>0])+1|0;b[$>>0]=l>>>24;b[pa>>0]=l>>>16;b[sa>>0]=l>>>8;b[n>>0]=l;f[xa+88>>2]=m;i=f[i>>2]|0;b[xa+64>>0]=1;f[ya>>2]=3007e3;n=f[ya+4>>2]|0;l=n+6014e3+(f[ya+8>>2]|0)|0;n=n+3007e3+(f[ya+12>>2]|0)+l|0;l=n+l|0;n=n+(f[ya+20>>2]|0)+l|0;l=l+(f[ya+24>>2]|0)+n|0;n=n+(f[ya+28>>2]|0)+l|0;l=l+(f[ya+32>>2]|0)+n|0;f[xa+92>>2]=l;f[xa+96>>2]=n+m+l;l=i+48|0;m=ya;n=l+48|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));if((b[k>>0]|0)!=2){sa=f[xa+4>>2]|0;ob[f[(f[sa>>2]|0)+60>>2]&127](sa)}l=i;m=ya;n=l+48|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));f[j>>2]=0;f[c+128>>2]=0;f[c+104>>2]=0;f[c+108>>2]=-1;f[c+112>>2]=-1;f[c+116>>2]=-1;if(!(b[k>>0]|0)){sa=f[xa+4>>2]|0;lb[f[(f[sa>>2]|0)+56>>2]&127](sa,4,4,9)|0}}l=k;$=20}while(0);if(($|0)==20){if(!(b[l>>0]|0)){sa=f[xa+4>>2]|0;lb[f[(f[sa>>2]|0)+56>>2]&127](sa,3,1,5)|0}d[o>>1]=-1;c=0;do{c=c+1|0;i=Fh(xa,ra,1,c)|0}while((i|0)==-1);p=i}if(p|0){e=p;t=Aa;return e|0}}sa=xa+68|0;l=f[sa>>2]|0;c:do if(!l){b[ra>>0]=55;b[ra+1>>0]=127;b[ra+2>>0]=6;b[ra+3>>0]=-126;c=ra+4|0;b[c>>0]=0;b[ra+5>>0]=45;b[ra+6>>0]=-30;b[ra+7>>0]=24;i=ra+8|0;b[i>>0]=va>>>24;b[ra+9>>0]=va>>>16;b[ra+10>>0]=va>>>8;b[ra+11>>0]=va;j=ra+12|0;pa=f[xa+112>>2]|0;b[j>>0]=pa>>>24;b[ra+13>>0]=pa>>>16;b[ra+14>>0]=pa>>>8;b[ra+15>>0]=pa;k=xa+84|0;if(!pa)zd(8,k);pa=k;Y=f[pa>>2]|0;pa=f[pa+4>>2]|0;W=ra+16|0;f[W>>2]=Y;f[W+4>>2]=pa;W=f[ra>>2]|0;X=(f[c>>2]|0)+W|0;c=X+W+(f[i>>2]|0)|0;i=(f[j>>2]|0)+X+c|0;c=c+Y+i|0;i=i+pa+c|0;b[ra+24>>0]=c>>>24;b[ra+25>>0]=c>>>16;b[ra+26>>0]=c>>>8;b[ra+27>>0]=c;b[ra+28>>0]=i>>>24;b[ra+29>>0]=i>>>16;b[ra+30>>0]=i>>>8;b[ra+31>>0]=i;f[xa+36>>2]=va;b[xa+65>>0]=0;f[xa+76>>2]=c;f[xa+80>>2]=i;b[xa+47>>0]=1;i=xa+8|0;c=f[i>>2]|0;c=mb[f[(f[c>>2]|0)+12>>2]&127](c,ra,32,0,0)|0;do if(!c){if((b[xa+48>>0]|0?(q=f[i>>2]|0,r=U>>>2&3,r|0):0)?(s=jb[f[(f[q>>2]|0)+20>>2]&255](q,r)|0,s|0):0){c=s;break}Y=i;break c}while(0);e=c;t=Aa;return e|0}else Y=xa+8|0;while(0);V=f[Y>>2]|0;W=va+24|0;X=((W|0)<0)<<31>>31;i=QA(l|0,0,W|0,X|0)|0;i=KA(i|0,ba()|0,32,0)|0;c=ba()|0;pa=(za|0)==0;d:do if(!pa){q=(C|0)==0;r=V;s=U&3;u=(s|0)==0;v=xa+104|0;w=((va|0)<0)<<31>>31;p=za;m=0;o=c;n=i;e:while(1){do if(q)$=47;else{j=p+16|0;if(!(R|(f[j>>2]|0)!=0)){L=0;S=l+1|0;$=49;break}f[ra>>2]=0;nh(xa,f[p+24>>2]|0,ra)|0;k=f[ra>>2]|0;if(k>>>0>>0){$=47;break}c=QA(k+-1|0,0,W|0,X|0)|0;c=KA(c|0,ba()|0,56,0)|0;i=ba()|0;if(((f[v>>2]|0)+-1|0)>>>0>=k>>>0)f[v>>2]=k;D=f[Y>>2]|0;D=mb[f[(f[D>>2]|0)+12>>2]&127](D,f[p+4>>2]|0,va,c,i)|0;if(D|0){$=45;break e}x=p+28|0;d[x>>1]=d[x>>1]&-65;x=l;y=m;z=j;A=n;B=o}while(0);if(($|0)==47){c=l+1|0;if(R){M=0;T=c;$=50}else{L=f[p+16>>2]|0;S=c;$=49}}if(($|0)==49){M=(L|0)==0?e:0;T=S;$=50}if(($|0)==50){$=0;m=f[p+4>>2]|0;Gh(xa,f[p+24>>2]|0,M,m,ra);if(!(o>>>0<4294967295|(o|0)==-1&n>>>0<4294967272)){l=0-n|0;c=mb[f[(f[r>>2]|0)+12>>2]&127](r,ra,l,n,o)|0;if(c|0){F=c;$=63;break}c=KA(n|0,o|0,l|0,((l|0)<0)<<31>>31|0)|0;i=ba()|0;j=n+24|0;if(u)k=0;else k=jb[f[(f[r>>2]|0)+20>>2]&255](r,s)|0;if((j|0)!=0&(k|0)==0){I=j;K=ra+l|0;N=c;O=i;$=55}else G=k}else{I=24;K=ra;N=n;O=o;$=55}if(($|0)==55){$=0;G=mb[f[(f[r>>2]|0)+12>>2]&127](r,K,I,N,O)|0}if(G|0){F=G;$=63;break}c=KA(n|0,o|0,24,0)|0;i=ba()|0;KA(c|0,i|0,va|0,w|0)|0;if(!((o|0)>-1|(o|0)==-1&n>>>0>4294967271|(ba()|0)<0)){l=-24-n|0;j=mb[f[(f[r>>2]|0)+12>>2]&127](r,m,l,c,i)|0;if(j|0){F=j;$=63;break}c=KA(c|0,i|0,l|0,((l|0)<0)<<31>>31|0)|0;i=ba()|0;j=va-l|0;if(u)k=0;else k=jb[f[(f[r>>2]|0)+20>>2]&255](r,s)|0;if((j|0)!=0&(k|0)==0){H=j;J=m+l|0;P=c;Q=i;$=62}else E=k}else{H=va;J=m;P=c;Q=i;$=62}if(($|0)==62){$=0;E=mb[f[(f[r>>2]|0)+12>>2]&127](r,J,H,P,Q)|0}c=p+28|0;if(E|0){ea=E;$=127;break}A=KA(n|0,o|0,W|0,X|0)|0;B=ba()|0;d[c>>1]=d[c>>1]|64;x=T;y=p;z=p+16|0}p=f[z>>2]|0;if(!p){na=x;ua=y;Z=A;_=B;break d}else{l=x;m=y;o=B;n=A}}if(($|0)==45){e=D;t=Aa;return e|0}else if(($|0)==63){e=F;t=Aa;return e|0}else if(($|0)==127){t=Aa;return ea|0}}else{na=l;ua=0;Z=i;_=c}while(0);B=(g|0)!=0;if(B){i=xa+104|0;if(f[i>>2]|0){m=(f[xa+36>>2]|0)+24|0;w=Fd(m)|0;if(!w){e=7;t=Aa;return e|0}p=f[i>>2]|0;o=(p|0)==1;n=((m|0)<0)<<31>>31;p=QA(p+-2|0,0,m|0,n|0)|0;p=KA(p|0,ba()|0,48,0)|0;c=ba()|0;q=f[Y>>2]|0;c=mb[f[(f[q>>2]|0)+8>>2]&127](q,w,8,o?24:p,o?0:c)|0;o=w+1|0;p=w+2|0;q=w+3|0;f[xa+76>>2]=h[o>>0]<<16|h[w>>0]<<24|h[p>>0]<<8|h[q>>0];r=w+4|0;s=w+5|0;u=w+6|0;v=w+7|0;f[xa+80>>2]=h[s>>0]<<16|h[r>>0]<<24|h[u>>0]<<8|h[v>>0];j=f[i>>2]|0;f[i>>2]=0;f:do if(!((c|0)!=0|j>>>0>na>>>0)){l=w+24|0;do{i=QA(j+-1|0,0,m|0,n|0)|0;i=KA(i|0,ba()|0,32,0)|0;k=ba()|0;c=f[Y>>2]|0;c=mb[f[(f[c>>2]|0)+8>>2]&127](c,w,m,i,k)|0;if(c|0)break f;Gh(xa,h[o>>0]<<16|h[w>>0]<<24|h[p>>0]<<8|h[q>>0],h[s>>0]<<16|h[r>>0]<<24|h[u>>0]<<8|h[v>>0],l,ra);c=f[Y>>2]|0;c=mb[f[(f[c>>2]|0)+12>>2]&127](c,ra,24,i,k)|0;j=j+1|0}while(!(j>>>0>na>>>0|(c|0)!=0))}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](w);else{T=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w)}if(c|0){e=c;t=Aa;return e|0}}A=U&3;do if(!A){i=0;k=0}else{if(b[xa+49>>0]|0){c=f[Y>>2]|0;i=f[(f[c>>2]|0)+44>>2]|0;if(!i){c=4096;i=0}else{i=ib[i&255](c)|0;U=(i|0)<32;i=(i|0)<65536?i:65536;c=U?512:i;i=U?0:((i|0)<0)<<31>>31}z=KA(Z|0,_|0,-1,-1)|0;z=KA(z|0,ba()|0,c|0,i|0)|0;w=ba()|0;v=RA(z|0,w|0,c|0,i|0)|0;v=LA(z|0,w|0,v|0,ba()|0)|0;w=ba()|0;z=(v|0)==(Z|0)&(w|0)==(_|0);g:do if((w|0)>(_|0)|(w|0)==(_|0)&v>>>0>Z>>>0){s=ua+4|0;u=ua+24|0;x=V;y=((va|0)<0)<<31>>31;k=0;r=Z;q=_;while(1){p=f[s>>2]|0;Gh(xa,f[u>>2]|0,e,p,ra);n=KA(r|0,q|0,24,0)|0;o=ba()|0;if(!((w|0)>(o|0)|(w|0)==(o|0)&v>>>0>n>>>0)){m=LA(v|0,w|0,r|0,q|0)|0;ba()|0;c=mb[f[(f[x>>2]|0)+12>>2]&127](x,ra,m,r,q)|0;if(c|0){ca=c;break}c=KA(r|0,q|0,m|0,((m|0)<0)<<31>>31|0)|0;i=ba()|0;j=24-m|0;l=jb[f[(f[x>>2]|0)+20>>2]&255](x,A)|0;if((j|0)!=0&(l|0)==0){ga=j;ia=ra+m|0;ja=c;ka=i;$=89}else da=l}else{ga=24;ia=ra;ja=r;ka=q;$=89}if(($|0)==89){$=0;da=mb[f[(f[x>>2]|0)+12>>2]&127](x,ia,ga,ja,ka)|0}if(da|0){ca=da;break}_=KA(n|0,o|0,va|0,y|0)|0;Z=ba()|0;if(!((w|0)<(o|0)|(w|0)==(o|0)&v>>>0<=n>>>0|((Z|0)<(w|0)|(Z|0)==(w|0)&_>>>0>>0))){m=LA(v|0,w|0,n|0,o|0)|0;ba()|0;c=mb[f[(f[x>>2]|0)+12>>2]&127](x,p,m,n,o)|0;if(c|0){ca=c;break}c=KA(n|0,o|0,m|0,((m|0)<0)<<31>>31|0)|0;i=ba()|0;j=va-m|0;l=jb[f[(f[x>>2]|0)+20>>2]&255](x,A)|0;if((j|0)!=0&(l|0)==0){fa=j;ha=p+m|0;la=c;ma=i;$=94}else aa=l}else{fa=va;ha=p;la=n;ma=o;$=94}if(($|0)==94){$=0;aa=mb[f[(f[x>>2]|0)+12>>2]&127](x,ha,fa,la,ma)|0}if(aa|0){ea=aa;$=127;break}r=KA(r|0,q|0,W|0,X|0)|0;q=ba()|0;k=k+1|0;if(!((w|0)>(q|0)|(w|0)==(q|0)&v>>>0>r>>>0))break g}if(($|0)==127){t=Aa;return ea|0}e=ca;t=Aa;return e|0}else k=0;while(0);if(!z){i=0;break}}else k=0;i=V;i=jb[f[(f[i>>2]|0)+20>>2]&255](i,A)|0}while(0);m=xa+47|0;if((b[m>>0]|0)!=0?(qa=xa+16|0,oa=f[qa>>2]|0,qa=f[qa+4>>2]|0,(qa|0)>-1|(qa|0)==-1&oa>>>0>4294967295):0){l=QA(k+na|0,0,W|0,X|0)|0;l=KA(l|0,ba()|0,32,0)|0;j=ba()|0;c=(j|0)>(qa|0)|(j|0)==(qa|0)&l>>>0>oa>>>0;l=c?l:oa;j=c?j:qa;c=f[Y>>2]|0;c=jb[f[(f[c>>2]|0)+24>>2]&255](c,ra)|0;qa=f[ra+4>>2]|0;if((c|0)==0&((qa|0)>(j|0)|((qa|0)==(j|0)?(f[ra>>2]|0)>>>0>l>>>0:0))){c=f[Y>>2]|0;c=kb[f[(f[c>>2]|0)+16>>2]&127](c,l,j)|0}if(c|0){f[ta>>2]=f[xa+108>>2];Ac(c,42647,ta)}b[m>>0]=0}}else{i=0;k=0}c=f[sa>>2]|0;if((za|0)!=0&(i|0)==0){l=za;do{j=c+1|0;if(!(d[l+28>>1]&64))i=0;else{i=Hh(xa,j,f[l+24>>2]|0)|0;c=j}l=f[l+16>>2]|0}while((i|0)==0&(l|0)!=0)}j=(i|0)==0;if((k|0)>0&j){l=ua+24|0;while(1){c=c+1|0;i=Hh(xa,c,f[l>>2]|0)|0;j=(i|0)==0;if((k|0)>1&j)k=k+-1|0;else{k=c;break}}}else k=c;if(j){d[xa+66>>1]=va&65280|va>>>16;f[sa>>2]=k;if(B){c=xa+60|0;m=f[c>>2]|0;f[c>>2]=m+1;f[xa+72>>2]=e;c=f[f[wa>>2]>>2]|0;b[xa+64>>0]=1;f[ya>>2]=3007e3;l=f[ya+4>>2]|0;m=m+6014001+l|0;l=l+3007e3+(f[ya+12>>2]|0)+m|0;m=m+k+l|0;l=l+e+m|0;m=m+(f[ya+24>>2]|0)+l|0;l=l+(f[ya+28>>2]|0)+m|0;m=m+(f[ya+32>>2]|0)+l|0;l=l+(f[ya+36>>2]|0)+m|0;f[xa+92>>2]=m;f[xa+96>>2]=l;l=c+48|0;m=ya;n=l+48|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));if((b[xa+43>>0]|0)!=2){e=f[xa+4>>2]|0;ob[f[(f[e>>2]|0)+60>>2]&127](e)}l=c;m=ya;n=l+48|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));f[xa+12>>2]=k}}else if(i|0){e=i;t=Aa;return e|0}j=a+88|0;i=f[j>>2]|0;if((i|0)==0|pa){e=0;t=Aa;return e|0}c=za;while(1){if(i|0)kh(i,f[c+24>>2]|0,f[c+4>>2]|0);c=f[c+16>>2]|0;if(!c){ea=0;break}i=f[j>>2]|0}t=Aa;return ea|0}function Dh(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+32|0;l=u+16|0;p=u;e=f[a+40>>2]|0;if(e|0){a=e;t=u;return a|0}a:do if(!(f[a+216>>2]|0)){k=a+17|0;g=a+13|0;h=a+60|0;i=a+176|0;j=a+180|0;b:while(1){switch(b[k>>0]|0){case 0:case 1:case 2:case 3:case 5:break;default:break a}if(b[g>>0]|0){g=7;break}e=f[h>>2]|0;e=jb[f[(f[e>>2]|0)+28>>2]&255](e,4)|0;switch(e|0){case 0:{g=7;break b}case 5:break;default:{g=36;break b}}if(!(ib[f[i>>2]&255](f[j>>2]|0)|0)){e=5;g=36;break}}if((g|0)==7){b[k>>0]=4;break}else if((g|0)==36){t=u;return e|0}}while(0);do if(!(b[a+7>>0]|0)){j=a+64|0;if(f[f[j>>2]>>2]|0?(b[a+5>>0]|0)!=4:0){i=f[a+60>>2]|0;i=ib[f[(f[i>>2]|0)+48>>2]&255](i)|0;k=(i&512|0)==0;c:do if(k){g=p;f[g>>2]=-117058087;f[g+4>>2]=-681336544;g=f[a+44>>2]|0;b[p+8>>0]=g>>>24;b[p+9>>0]=g>>>16;b[p+10>>0]=g>>>8;b[p+11>>0]=g;g=a+72|0;e=f[g>>2]|0;g=f[g+4>>2]|0;if((e|0)==0&(g|0)==0){g=0;h=0}else{e=KA(e|0,g|0,-1,-1)|0;h=ba()|0;g=f[a+148>>2]|0;h=OA(e|0,h|0,g|0,0)|0;h=KA(h|0,ba()|0,1,0)|0;g=QA(h|0,ba()|0,g|0,0)|0;h=ba()|0}e=f[j>>2]|0;e=mb[f[(f[e>>2]|0)+8>>2]&127](e,l,8,g,h)|0;if(!e)if(!(Hz(l,42612,8)|0)){e=f[j>>2]|0;e=mb[f[(f[e>>2]|0)+12>>2]&127](e,72789,1,g,h)|0;g=19}else g=20;else g=19;if((g|0)==19)switch(e|0){case 0:case 522:{g=20;break}default:{}}do if((g|0)==20){g=i&1024;if(((g|0)==0&(b[a+8>>0]|0)!=0?(m=f[j>>2]|0,n=b[a+10>>0]|0,n<<24>>24):0)?(o=jb[f[(f[m>>2]|0)+20>>2]&255](m,n&255)|0,o|0):0){e=o;break}o=f[j>>2]|0;e=a+80|0;e=mb[f[(f[o>>2]|0)+12>>2]&127](o,p,12,f[e>>2]|0,f[e+4>>2]|0)|0;if(!e){e=g;break c}}while(0);a=e;t=u;return a|0}else e=i&1024;while(0);if(((e|0)==0?(q=f[j>>2]|0,r=b[a+10>>0]|0,r=(r<<24>>24==3?16:0)|r&255,r|0):0)?(s=jb[f[(f[q>>2]|0)+20>>2]&255](q,r)|0,s|0):0){a=s;t=u;return a|0}q=a+72|0;r=f[q+4>>2]|0;s=a+80|0;f[s>>2]=f[q>>2];f[s+4>>2]=r;if((c|0)==0|k^1)break;f[a+44>>2]=0;e=Tg(a)|0;if(!e)break;t=u;return e|0}q=a+72|0;r=f[q+4>>2]|0;s=a+80|0;f[s>>2]=f[q>>2];f[s+4>>2]=r}while(0);g=f[a+212>>2]|0;e=f[g>>2]|0;if(e|0)do{s=e+28|0;d[s>>1]=d[s>>1]&-9;e=f[e+32>>2]|0}while((e|0)!=0);f[g+8>>2]=f[g+4>>2];b[a+16>>0]=4;a=0;t=u;return a|0}function Eh(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;u=t;t=t+16|0;l=u;s=a+60|0;g=f[s>>2]|0;if((f[g>>2]|0)==0?(e=f[a>>2]|0,e=mb[f[e+24>>2]&127](e,0,g,f[a+144>>2]&556897|30,0)|0,e|0):0){s=e;t=u;return s|0}k=a+36|0;g=f[k>>2]|0;j=a+24|0;e=f[j>>2]|0;do if(g>>>0>>0){if((f[c+16>>2]|0)==0?(f[c+24>>2]|0)>>>0<=g>>>0:0)break;r=f[a+152>>2]|0;r=QA(r|0,((r|0)<0)<<31>>31|0,e|0,0)|0;i=ba()|0;g=l;f[g>>2]=r;f[g+4>>2]=i;g=f[s>>2]|0;i=f[g>>2]|0;if(i){kb[f[i+40>>2]&127](g,5,l)|0;e=f[j>>2]|0}f[k>>2]=e}while(0);if(!c){s=0;t=u;return s|0}n=a+24|0;o=a+152|0;p=a+104|0;q=a+32|0;r=a+192|0;m=a+88|0;do{a=f[c+24>>2]|0;if(a>>>0<=(f[n>>2]|0)>>>0?(d[c+28>>1]&16)==0:0){e=f[o>>2]|0;g=QA(e|0,((e|0)<0)<<31>>31|0,a+-1|0,0)|0;i=ba()|0;j=(a|0)==1;if(j){k=f[c+20>>2]|0;k=((h[k+105>>0]|0)<<16|(h[k+104>>0]|0)<<24|(h[k+106>>0]|0)<<8|(h[k+107>>0]|0))+1|0;l=c+4|0;e=f[l>>2]|0;x=k>>>24&255;b[e+24>>0]=x;w=k>>>16&255;b[e+25>>0]=w;v=k>>>8&255;b[e+26>>0]=v;k=k&255;b[e+27>>0]=k;e=f[l>>2]|0;b[e+92>>0]=x;b[e+93>>0]=w;b[e+94>>0]=v;b[e+95>>0]=k;e=f[l>>2]|0;b[e+96>>0]=0;b[e+97>>0]=46;b[e+98>>0]=44;b[e+99>>0]=80;e=f[o>>2]|0}else l=c+4|0;k=f[l>>2]|0;x=f[s>>2]|0;e=mb[f[(f[x>>2]|0)+12>>2]&127](x,k,e,g,i)|0;if(j){j=p;g=k+24|0;i=j+16|0;do{b[j>>0]=b[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(i|0))}if(a>>>0>(f[q>>2]|0)>>>0)f[q>>2]=a;f[r>>2]=(f[r>>2]|0)+1;g=f[m>>2]|0;if(g)kh(g,a,f[l>>2]|0)}else e=0;c=f[c+16>>2]|0}while((e|0)==0&(c|0)!=0);t=u;return e|0}function Fh(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=t;t=t+64|0;v=B+32|0;k=B;i=B+48|0;w=B+44|0;x=B+40|0;do if((g|0)>5)if((g|0)>100){a=15;t=B;return a|0}else{A=g+-9|0;A=U(A*39|0,A)|0;z=f[a>>2]|0;jb[f[z+60>>2]&255](z,(g|0)>9?A:1)|0;break}while(0);a:do if(!e){A=a+50|0;if(!(b[A>>0]|0)){e=Ih(a,c)|0;b:do if((e|0)==5){if(!(f[f[a+32>>2]>>2]|0)){a=-1;t=B;return a|0}g=a+43|0;if(b[g>>0]|0){a=-1;t=B;return a|0}h=a+4|0;e=f[h>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,2,1,6)|0;switch(e|0){case 0:break;case 5:{a=261;t=B;return a|0}default:break b}if(b[g>>0]|0){a=-1;t=B;return a|0}a=f[h>>2]|0;lb[f[(f[a>>2]|0)+56>>2]&127](a,2,1,5)|0;a=-1;t=B;return a|0}while(0);if(e|0){a=e;t=B;return a|0}if(!(b[A>>0]|0)){i=a+32|0;m=(f[f[i>>2]>>2]|0)+96|0;l=a+52|0;g=a+68|0;if((f[m>>2]|0)!=(f[g>>2]|0)){e=0;break}k=a+43|0;h=b[k>>0]|0;if(!(h<<24>>24)){e=f[a+4>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,3,1,6)|0;h=b[k>>0]|0}else e=0;if(h<<24>>24!=2){c=f[a+4>>2]|0;ob[f[(f[c>>2]|0)+60>>2]&127](c)}switch(e|0){case 5:break a;case 0:break;default:{a=e;t=B;return a|0}}if(!(Hz(f[f[i>>2]>>2]|0,l,48)|0)){d[a+40>>1]=0;a=0;t=B;return a|0}if(b[k>>0]|0){a=-1;t=B;return a|0}a=f[a+4>>2]|0;lb[f[(f[a>>2]|0)+56>>2]&127](a,3,1,5)|0;a=-1;t=B;return a|0}}y=a+43|0;z=a+4|0;if(!(b[y>>0]|0)){e=f[z>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,3,1,6)|0;switch(e|0){case 0:{u=17;break}case 5:{e=-1;u=35;break}default:u=34}}else u=17;c:do if((u|0)==17){d[a+40>>1]=0;e=f[z>>2]|0;e=mb[f[(f[e>>2]|0)+52>>2]&127](e,0,32768,0,i)|0;switch(e|0){case 8:{e=-1;u=35;break c}case 1288:break;default:{u=34;break c}}e=a+52|0;g=f[f[a+32>>2]>>2]|0;h=e+48|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));u=a+8|0;e=f[u>>2]|0;e=jb[f[(f[e>>2]|0)+24>>2]&255](e,v)|0;if(!e){s=v;r=f[s+4>>2]|0;if((r|0)<0|(r|0)==0&(f[s>>2]|0)>>>0<32){f[c>>2]=1;e=((f[a+68>>2]|0)!=0)<<31>>31;u=34;break}e=f[u>>2]|0;e=mb[f[(f[e>>2]|0)+8>>2]&127](e,k,32,0,0)|0;if(!e)if(!(Hz(a+84|0,k+16|0,8)|0)){e=a+66|0;n=(j[e>>1]|0)+24|0;o=xd(n,0)|0;if(o){m=o+24|0;p=a+76|0;q=f[p>>2]|0;r=a+80|0;s=f[r>>2]|0;h=QA((j[e>>1]|0)+24|0,0,f[a+68>>2]|0,0)|0;h=KA(h|0,ba()|0,32,0)|0;i=ba()|0;e=KA(h|0,i|0,n|0,0)|0;g=ba()|0;l=v;k=f[l+4>>2]|0;d:do if((g|0)>(k|0)|((g|0)==(k|0)?e>>>0>(f[l>>2]|0)>>>0:0))e=0;else{l=e;k=g;g=h;e=i;while(1){i=f[u>>2]|0;e=mb[f[(f[i>>2]|0)+8>>2]&127](i,o,n,g,e)|0;if(e|0)break;if(!(Jh(a,w,x,m,o)|0)){e=0;break}if(f[x>>2]|0){e=-1;break d}e=KA(l|0,k|0,n|0,0)|0;g=ba()|0;i=v;h=f[i+4>>2]|0;if((g|0)>(h|0)|((g|0)==(h|0)?e>>>0>(f[i>>2]|0)>>>0:0)){e=0;break d}else{h=k;i=l;l=e;k=g;e=h;g=i}}}while(0);f[p>>2]=q;f[r>>2]=s;if(!(f[9328]|0)){ob[f[37360>>2]&127](o);u=34;break}else{u=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);u=34;break}}else{e=7;u=35}}else{e=-1;u=35}else u=35}else u=35}while(0);if((u|0)==34)if(!e)e=0;else u=35;if((u|0)==35){h=a+24|0;if((f[h>>2]|0)>0){i=a+32|0;g=0;do{k=f[(f[i>>2]|0)+(g<<2)>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{x=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[(f[i>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[h>>2]|0))}b[A>>0]=0;g=a+44|0;if(b[g>>0]|0){if(!(b[y>>0]|0)){A=f[z>>2]|0;lb[f[(f[A>>2]|0)+56>>2]&127](A,0,1,9)|0}b[g>>0]=0;f[a+104>>2]=0;b[a+47>>0]=0}g=a+40|0;h=d[g>>1]|0;if(h<<16>>16>-1){if(!(b[y>>0]|0)){a=f[z>>2]|0;lb[f[(f[a>>2]|0)+56>>2]&127](a,(h<<16>>16)+3|0,1,5)|0}d[g>>1]=-1}f[c>>2]=1}a=e;t=B;return a|0}else{e=0;l=a+52|0;g=a+68|0;m=(f[f[a+32>>2]>>2]|0)+96|0}while(0);s=f[g>>2]|0;h=m+8|0;o=f[h>>2]|0;k=o>>>0>s>>>0;o=k?0:o;n=m+12|0;p=f[n>>2]|0;z=o>>>0>p>>>0|p>>>0>s>>>0;p=z?o:p;o=m+16|0;c=f[o>>2]|0;y=p>>>0>c>>>0|c>>>0>s>>>0;c=y?p:c;p=m+20|0;i=f[p>>2]|0;A=c>>>0>i>>>0|i>>>0>s>>>0;k=A?(y?(z?(k^1)&1:2):3):4;i=A?c:i;e:do if(!(b[a+46>>0]&2)){if((k|0)==0|i>>>0>>0){q=a+43|0;r=a+4|0;f:do if(!(b[q>>0]|0)){e=f[r>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,4,1,10)|0;switch(e|0){case 0:{k=1;g=4;e=h;break f}case 5:break;default:{a=e;t=B;return a|0}}if(!(b[q>>0]|0)){e=f[r>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,5,1,10)|0;switch(e|0){case 0:{k=2;g=5;e=n;break f}case 5:break;default:{a=e;t=B;return a|0}}if(!(b[q>>0]|0)){e=f[r>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,6,1,10)|0;switch(e|0){case 0:{k=3;g=6;e=o;break f}case 5:break;default:{a=e;t=B;return a|0}}if(!(b[q>>0]|0)){e=f[r>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,7,1,10)|0;switch(e|0){case 5:{u=69;break e}case 0:{k=4;g=7;e=p;break f}default:{}}t=B;return e|0}else{k=4;g=7;e=p}}else{k=3;g=6;e=o}}else{k=2;g=5;e=n}}else{k=1;g=4;e=h}while(0);f[e>>2]=s;if(!(b[q>>0]|0)){i=f[r>>2]|0;lb[f[(f[i>>2]|0)+56>>2]&127](i,g,1,9)|0;i=s}else i=s}}else u=69;while(0);if((u|0)==69)if(!k){a=(e|0)==5?-1:1288;t=B;return a|0}g=k+3|0;h=a+43|0;e=b[h>>0]|0;do if(!(e<<24>>24)){e=f[a+4>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,g,1,6)|0;if(!e){e=b[h>>0]|0;break}a=(e|0)==5?-1:e;t=B;return a|0}while(0);f[a+100>>2]=(f[m>>2]|0)+1;if(e<<24>>24!=2){c=f[a+4>>2]|0;ob[f[(f[c>>2]|0)+60>>2]&127](c)}if((f[m+4+(k<<2)>>2]|0)==(i|0)?(Hz(f[f[a+32>>2]>>2]|0,l,48)|0)==0:0){d[a+40>>1]=k;a=0;t=B;return a|0}if(b[h>>0]|0){a=-1;t=B;return a|0}a=f[a+4>>2]|0;lb[f[(f[a>>2]|0)+56>>2]&127](a,g,1,5)|0;a=-1;t=B;return a|0}function Gh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0;j=a+76|0;b[g>>0]=c>>>24;b[g+1>>0]=c>>>16;b[g+2>>0]=c>>>8;b[g+3>>0]=c;b[g+4>>0]=d>>>24;b[g+5>>0]=d>>>16;b[g+6>>0]=d>>>8;b[g+7>>0]=d;c=g+8|0;if(f[a+104>>2]|0){d=c+16|0;do{b[c>>0]=0;c=c+1|0}while((c|0)<(d|0));return}i=a+84|0;k=i;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;d=c;b[d>>0]=k;b[d+1>>0]=k>>8;b[d+2>>0]=k>>16;b[d+3>>0]=k>>24;c=c+4|0;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;c=f[j>>2]|0;i=a+80|0;d=f[i>>2]|0;if(!(b[a+65>>0]|0)){k=c+d+(f[g>>2]|0)|0;c=(f[g+4>>2]|0)+d+k|0;f[j>>2]=k;f[i>>2]=c;a=e+(f[a+36>>2]|0)|0;d=k;do{d=d+c+(f[e>>2]|0)|0;c=(f[e+4>>2]|0)+c+d|0;e=e+8|0}while(e>>>0>>0)}else{k=c+d+(XA(f[g>>2]|0)|0)|0;c=(XA(f[g+4>>2]|0)|0)+d+k|0;f[j>>2]=k;f[i>>2]=c;a=e+(f[a+36>>2]|0)|0;d=k;do{d=d+c+(XA(f[e>>2]|0)|0)|0;c=(XA(f[e+4>>2]|0)|0)+c+d|0;e=e+8|0}while(e>>>0>>0)}f[j>>2]=d;f[i>>2]=c;b[g+16>>0]=d>>>24;b[g+17>>0]=d>>>16;b[g+18>>0]=d>>>8;b[g+19>>0]=d;k=f[i>>2]|0;b[g+20>>0]=k>>>24;b[g+21>>0]=k>>>16;b[g+22>>0]=k>>>8;b[g+23>>0]=k;return}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;v=t;t=t+48|0;u=v;p=v+24|0;s=v+12|0;h=b+33|0;i=h>>>12;l=s+4|0;o=a+24|0;if(!((f[o>>2]|0)>(i|0)?(g=f[(f[a+32>>2]|0)+(i<<2)>>2]|0,f[l>>2]=g,(g|0)!=0):0))n=3;do if((n|0)==3){g=eh(a,i,l)|0;if(!g){g=f[l>>2]|0;break}else{c=g;t=v;return c|0}}while(0);r=g+16384|0;f[s>>2]=r;if(!i){k=g+136|0;f[l>>2]=k;h=0}else{h=(h&-4096)+-34|0;k=g}f[s+8>>2]=h;i=k+-4|0;f[l>>2]=i;l=b-h|0;if((l|0)==1)_A(k|0,0,g+32768-k|0)|0;b=i+(l<<2)|0;if(f[b>>2]|0?(q=a+68|0,m=f[q>>2]|0,m|0):0){g=m+33|0;h=g>>>12;k=p+4|0;if((f[o>>2]|0)>(h|0)?(e=f[(f[a+32>>2]|0)+(h<<2)>>2]|0,f[k>>2]=e,(e|0)!=0):0)n=17;else n=14;do if((n|0)==14)if(!(eh(a,h,k)|0)){e=f[k>>2]|0;n=17;break}else{g=f[p+8>>2]|0;i=f[p>>2]|0;break}while(0);if((n|0)==17){i=e+16384|0;f[p>>2]=i;if(!h){e=e+136|0;f[k>>2]=e;g=0}else g=(g&-4096)+-34|0;f[p+8>>2]=g;f[k>>2]=e+-4}g=(f[q>>2]|0)-g|0;e=0;do{h=i+(e<<1)|0;if((g|0)<(j[h>>1]|0))d[h>>1]=0;e=e+1|0}while((e|0)!=8192);q=(f[k>>2]|0)+(g+1<<2)|0;_A(q|0,0,i-q|0)|0}g=c*383&8191;e=r+(g<<1)|0;a:do if(d[e>>1]|0){i=f[s>>2]|0;h=l;while(1){if(!h)break;g=g+1&8191;e=i+(g<<1)|0;if(!(d[e>>1]|0))break a;else h=h+-1|0}f[u>>2]=42469;f[u+4>>2]=59157;f[u+8>>2]=40460;Ac(11,40408,u);c=11;t=v;return c|0}while(0);f[b>>2]=c;d[e>>1]=l;c=0;t=v;return c|0}function Ih(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=t;t=t+96|0;L=O+64|0;H=O+56|0;p=O+40|0;C=O+32|0;m=O;D=O+84|0;E=O+80|0;j=O+76|0;N=a+24|0;if((f[N>>2]|0)>0?(M=f[f[a+32>>2]>>2]|0,f[j>>2]=M,(M|0)!=0):0){e=0;M=6}else{e=eh(a,0,j)|0;switch(e|0){case 0:break;case 1288:{b[a+50>>0]=1;b[a+43>>0]=2;f[c>>2]=1;break}default:{N=e;t=O;return N|0}}if(!(f[j>>2]|0)){g=1;M=7}else M=6}if((M|0)==6){g=Kh(a,c)|0;if(!g)M=67;else M=7}do if((M|0)==7){if((b[a+50>>0]|0)==0?b[a+46>>0]&2:0){g=a+43|0;if(b[g>>0]|0){e=264;break}i=a+4|0;e=f[i>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,0,1,6)|0;if(e|0)break;if(b[g>>0]|0){e=264;break}e=f[i>>2]|0;lb[f[(f[e>>2]|0)+56>>2]&127](e,0,1,5)|0;e=264;break}J=a+43|0;if((b[J>>0]|0)==0?(i=f[a+4>>2]|0,i=lb[f[(f[i>>2]|0)+56>>2]&127](i,0,1,10)|0,i|0):0){e=i;break}I=a+44|0;b[I>>0]=1;if((f[N>>2]|0)>0?(G=f[f[a+32>>2]>>2]|0,f[j>>2]=G,(G|0)!=0):0)M=18;else{e=eh(a,0,j)|0;if(!e)M=18}if((M|0)==18){g=Kh(a,c)|0;if(!g){g=0;e=0}else{G=h[a+45>>0]|0;F=G+1|0;G=2-G|0;if(!(b[J>>0]|0)){i=a+4|0;e=f[i>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,F,G,10)|0;if(!e)if((b[J>>0]|0)==0?(k=f[i>>2]|0,k=lb[f[(f[k>>2]|0)+56>>2]&127](k,4,4,10)|0,(k|0)!=0):0)if(!(b[J>>0]|0)){e=f[i>>2]|0;lb[f[(f[e>>2]|0)+56>>2]&127](e,F,G,9)|0;e=k}else e=k;else M=25}else M=25;if((M|0)==25){B=a+52|0;i=B;l=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(l|0));A=a+8|0;e=f[A>>2]|0;e=jb[f[(f[e>>2]|0)+24>>2]&255](e,C)|0;a:do if(!e){z=C;y=f[z+4>>2]|0;b:do if((y|0)>0|(y|0)==0&(f[z>>2]|0)>>>0>32){e=f[A>>2]|0;e=mb[f[(f[e>>2]|0)+8>>2]&127](e,m,32,0,0)|0;c:do if(!e){e=h[m+3>>0]|0;i=m+8|0;n=h[m+9>>0]<<16|h[i>>0]<<24;o=h[m+10>>0]<<8;l=n|o|h[m+11>>0];if((h[m+1>>0]<<16|h[m>>0]<<24|h[m+2>>0]<<8|e&254|0)==931071618?!((l+-512|0)>>>0>65024|(l+-1&l|0)!=0):0){y=e&1;b[a+65>>0]=y;f[a+36>>2]=l;e=m+12|0;f[a+112>>2]=h[m+13>>0]<<16|h[e>>0]<<24|h[m+14>>0]<<8|h[m+15>>0];x=m+16|0;j=f[x>>2]|0;x=f[x+4>>2]|0;z=a+84|0;f[z>>2]=j;f[z+4>>2]=x;z=a+76|0;if(!y){y=f[m>>2]|0;k=f[m+4>>2]|0;x=k+y|0;y=x+y+(f[i>>2]|0)|0;i=(f[e>>2]|0)+x+y|0;e=i+(f[m+20>>2]|0)|0;i=y+j+i|0}else{x=XA(f[m>>2]|0)|0;k=f[m+4>>2]|0;y=(XA(k|0)|0)+x|0;i=y+x+(XA(f[i>>2]|0)|0)|0;e=(XA(f[e>>2]|0)|0)+y+i|0;i=i+(XA(j|0)|0)+e|0;e=e+(XA(f[m+20>>2]|0)|0)|0}e=e+i|0;f[z>>2]=i;y=a+80|0;f[y>>2]=e;do if((i|0)==(h[m+25>>0]<<16|h[m+24>>0]<<24|h[m+26>>0]<<8|h[m+27>>0]|0)){if((e|0)!=(h[m+29>>0]<<16|h[m+28>>0]<<24|h[m+30>>0]<<8|h[m+31>>0]|0))break;if((h[m+5>>0]<<16|k<<24|h[m+6>>0]<<8|h[m+7>>0]|0)!=3007e3){f[p>>2]=40896;f[p+4>>2]=59295;f[p+8>>2]=40460;Ac(14,40408,p);e=14;break a}r=l+24|0;s=((r|0)<0)<<31>>31;x=xd(r,s)|0;if(!x){e=7;break c}u=x+24|0;e=KA(r|0,s|0,32,0)|0;m=ba()|0;w=C;v=f[w+4>>2]|0;d:do if((m|0)>(v|0)|((m|0)==(v|0)?e>>>0>(f[w>>2]|0)>>>0:0)){e=0;i=0;j=0}else{v=a+68|0;w=a+72|0;p=(n>>>16|o)&65535;q=a+66|0;o=0;i=0;j=0;k=32;l=0;n=e;while(1){o=o+1|0;e=f[A>>2]|0;e=mb[f[(f[e>>2]|0)+8>>2]&127](e,x,r,k,l)|0;if(e|0)break;if(!(Jh(a,D,E,u,x)|0)){e=0;break}e=Hh(a,o,f[D>>2]|0)|0;if(e|0)break;e=f[E>>2]|0;if(e){f[v>>2]=o;f[w>>2]=e;d[q>>1]=p;i=f[z>>2]|0;j=f[y>>2]|0}e=KA(n|0,m|0,r|0,s|0)|0;k=ba()|0;l=C;P=f[l+4>>2]|0;if((k|0)>(P|0)|((k|0)==(P|0)?e>>>0>(f[l>>2]|0)>>>0:0)){e=0;break d}else{l=m;P=n;n=e;m=k;k=P}}}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](x);else{P=ib[f[37368>>2]&255](x)|0;f[18187]=(f[18187]|0)-P;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](x)}if(!e){e=j;break b}else break a}while(0);i=0;e=0;break b}i=0;e=0;break b}while(0);break a}else{i=0;e=0}while(0);f[a+76>>2]=i;f[a+80>>2]=e;j=a+32|0;k=f[f[j>>2]>>2]|0;b[a+64>>0]=1;f[B>>2]=3007e3;P=f[B+4>>2]|0;l=P+6014e3+(f[B+8>>2]|0)|0;P=P+3007e3+(f[B+12>>2]|0)+l|0;l=(f[B+16>>2]|0)+l+P|0;P=(f[B+20>>2]|0)+P+l|0;l=l+i+P|0;i=P+e+l|0;e=l+(f[B+32>>2]|0)+i|0;i=i+(f[B+36>>2]|0)+e|0;f[a+92>>2]=e;f[a+96>>2]=i;i=k+48|0;e=B;l=i+48|0;do{b[i>>0]=b[e>>0]|0;i=i+1|0;e=e+1|0}while((i|0)<(l|0));if((b[J>>0]|0)!=2){P=f[a+4>>2]|0;ob[f[(f[P>>2]|0)+60>>2]&127](P)}i=k;e=B;l=i+48|0;do{b[i>>0]=b[e>>0]|0;i=i+1|0;e=e+1|0}while((i|0)<(l|0));j=f[f[j>>2]>>2]|0;f[j+96>>2]=0;e=a+68|0;f[j+128>>2]=f[e>>2];f[j+100>>2]=0;i=j+104|0;f[i>>2]=-1;f[j+108>>2]=-1;f[j+112>>2]=-1;f[j+116>>2]=-1;j=f[e>>2]|0;if(j|0)f[i>>2]=j;if(!(f[a+72>>2]|0))e=0;else{P=f[a+108>>2]|0;f[H>>2]=f[e>>2];f[H+4>>2]=P;Ac(283,42673,H);e=0}}while(0);if((b[J>>0]|0)==0?(K=a+4|0,P=f[K>>2]|0,lb[f[(f[P>>2]|0)+56>>2]&127](P,F,G,9)|0,(b[J>>0]|0)==0):0){P=f[K>>2]|0;lb[f[(f[P>>2]|0)+56>>2]&127](P,4,4,9)|0}}f[c>>2]=1}}b[I>>0]=0;if(!(b[J>>0]|0)){P=f[a+4>>2]|0;lb[f[(f[P>>2]|0)+56>>2]&127](P,0,1,9)|0}if(!g)M=67}while(0);if((M|0)==67)if((f[a+52>>2]|0)!=3007e3){f[L>>2]=40896;f[L+4>>2]=60273;f[L+8>>2]=40460;Ac(14,40408,L);e=14}i=a+50|0;if(!(b[i>>0]|0)){P=e;t=O;return P|0}l=a+43|0;if(!e)e=0;else{if((f[N>>2]|0)>0){j=a+32|0;g=0;do{k=f[(f[j>>2]|0)+(g<<2)>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{P=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-P;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[(f[j>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[N>>2]|0))}if((b[l>>0]|0)!=2){P=f[a+4>>2]|0;jb[f[(f[P>>2]|0)+64>>2]&255](P,0)|0}b[i>>0]=0;e=(e|0)==522?-1:e}b[l>>0]=0;P=e;t=O;return P|0}function Jh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=a+76|0;if(Hz(a+84|0,g+8|0,8)|0){n=0;return n|0}l=h[g+1>>0]<<16|h[g>>0]<<24|h[g+2>>0]<<8|h[g+3>>0];if(!l){n=0;return n|0}i=f[n>>2]|0;m=a+80|0;j=f[m>>2]|0;if(!(b[a+65>>0]|0)){i=i+j+(f[g>>2]|0)|0;o=(f[g+4>>2]|0)+j+i|0;f[n>>2]=i;f[m>>2]=o;k=e+(f[a+36>>2]|0)|0;j=e;a=o;do{i=i+a+(f[j>>2]|0)|0;a=(f[j+4>>2]|0)+a+i|0;j=j+8|0}while(j>>>0>>0)}else{i=i+j+(XA(f[g>>2]|0)|0)|0;o=(XA(f[g+4>>2]|0)|0)+j+i|0;f[n>>2]=i;f[m>>2]=o;k=e+(f[a+36>>2]|0)|0;j=e;a=o;do{i=i+a+(XA(f[j>>2]|0)|0)|0;a=(XA(f[j+4>>2]|0)|0)+a+i|0;j=j+8|0}while(j>>>0>>0)}f[n>>2]=i;f[m>>2]=a;if((i|0)!=(h[g+17>>0]<<16|h[g+16>>0]<<24|h[g+18>>0]<<8|h[g+19>>0]|0)){o=0;return o|0}if((a|0)!=(h[g+21>>0]<<16|h[g+20>>0]<<24|h[g+22>>0]<<8|h[g+23>>0]|0)){o=0;return o|0}f[c>>2]=l;f[d>>2]=h[g+5>>0]<<16|h[g+4>>0]<<24|h[g+6>>0]<<8|h[g+7>>0];o=1;return o|0}function Kh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0;l=t;t=t+96|0;k=l+48|0;e=l;g=f[f[a+32>>2]>>2]|0;d=k;h=g;i=d+48|0;do{b[d>>0]=b[h>>0]|0;d=d+1|0;h=h+1|0}while((d|0)<(i|0));if((b[a+43>>0]|0)!=2){i=f[a+4>>2]|0;ob[f[(f[i>>2]|0)+60>>2]&127](i)}d=e;h=g+48|0;i=d+48|0;do{b[d>>0]=b[h>>0]|0;d=d+1|0;h=h+1|0}while((d|0)<(i|0));if(Hz(k,e,48)|0){k=1;t=l;return k|0}if(!(b[k+12>>0]|0)){k=1;t=l;return k|0}e=f[k>>2]|0;d=(f[k+4>>2]|0)+e|0;e=e+d+(f[k+8>>2]|0)|0;d=(f[k+12>>2]|0)+d+e|0;e=e+d+(f[k+16>>2]|0)|0;d=(f[k+20>>2]|0)+d+e|0;e=e+d+(f[k+24>>2]|0)|0;d=(f[k+28>>2]|0)+d+e|0;e=e+d+(f[k+32>>2]|0)|0;if((e|0)!=(f[k+40>>2]|0)){k=1;t=l;return k|0}if(((f[k+36>>2]|0)+d+e|0)!=(f[k+44>>2]|0)){k=1;t=l;return k|0}d=a+52|0;if(!(Hz(d,k,48)|0)){k=0;t=l;return k|0}f[c>>2]=1;h=k;i=d+48|0;do{f[d>>2]=f[h>>2];d=d+4|0;h=h+4|0}while((d|0)<(i|0));k=j[a+66>>1]|0;f[a+36>>2]=k<<16&65536|k&65024;k=0;t=l;return k|0}function Lh(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=t;t=t+160|0;r=_+144|0;o=_+128|0;T=_+112|0;R=_+96|0;V=_+80|0;Q=_+64|0;P=_+48|0;W=_+32|0;S=_+16|0;j=_;Z=_+156|0;q=a+12|0;k=f[q>>2]|0;p=a+44|0;X=f[p>>2]|0;O=k+56|0;N=f[O>>2]|0;N=h[N+37>>0]<<16|h[N+36>>0]<<24|h[N+38>>0]<<8|h[N+39>>0];if(N>>>0>=X>>>0){f[j>>2]=42469;f[j+4>>2]=68756;f[j+8>>2]=40460;Ac(11,40408,j);c=11;t=_;return c|0}if(!N){i=(b[a+19>>0]|0)==0&1;k=f[k+72>>2]|0;l=f[k+20>>2]|0;if((d[k+28>>1]&4)!=0?(f[l+24>>2]|0)>>>0>=(f[k+24>>2]|0)>>>0:0)if(!(f[l+96>>2]|0))k=X;else{j=Ng(k)|0;Y=190}else Y=186;do if((Y|0)==186){j=f[l+40>>2]|0;if(j|0){c=j;t=_;return c|0}if((f[l+148>>2]|0)>>>0>(f[l+152>>2]|0)>>>0){j=Og(k)|0;Y=190;break}else{j=Pg(k)|0;Y=190;break}}while(0);do if((Y|0)==190)if(!j){k=f[p>>2]|0;break}else{c=j;t=_;return c|0}while(0);j=k+1|0;f[p>>2]=j;n=a+32|0;l=1073741824/((f[n>>2]|0)>>>0)|0;if((k|0)==(l|0)){j=k+2|0;f[p>>2]=j}if(b[a+17>>0]|0){if(j>>>0<2)k=0;else{k=j+-2|0;k=k-((k>>>0)%(((((f[a+36>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;k=((k+1|0)==(l|0)?3:2)+k|0}if((k|0)==(j|0)){k=f[a>>2]|0;k=lb[f[k+204>>2]&127](k,j,Z,i)|0;if(k|0){c=k;t=_;return c|0}k=f[Z>>2]|0;m=f[k+8>>2]|0;l=m+4|0;if((f[l>>2]|0)==(j|0))j=f[m+72>>2]|0;else{f[m+56>>2]=f[k+4>>2];f[m+72>>2]=k;f[m+52>>2]=a;f[l>>2]=j;b[m+9>>0]=(j|0)==1?100:0;j=k}if((d[j+30>>1]|0)>1){j=f[m+72>>2]|0;if(!(d[j+28>>1]&32))bh(j);else{c=f[j+20>>2]|0;a=c+120|0;f[a>>2]=(f[a>>2]|0)+-1;c=c+136|0;f[j+16>>2]=f[c>>2];f[c>>2]=j}f[o>>2]=42469;f[o+4>>2]=65131;f[o+8>>2]=40460;Ac(11,40408,o);c=11;t=_;return c|0}b[m>>0]=0;m=m+72|0;j=f[m>>2]|0;l=f[j+20>>2]|0;if((d[j+28>>1]&4)!=0?(f[l+24>>2]|0)>>>0>=(f[j+24>>2]|0)>>>0:0)if(!(f[l+96>>2]|0))k=0;else k=Ng(j)|0;else Y=212;do if((Y|0)==212){k=f[l+40>>2]|0;if(!k)if((f[l+148>>2]|0)>>>0>(f[l+152>>2]|0)>>>0){k=Og(j)|0;break}else{k=Pg(j)|0;break}}while(0);j=f[m>>2]|0;if(!(d[j+28>>1]&32))bh(j);else{Y=f[j+20>>2]|0;X=Y+120|0;f[X>>2]=(f[X>>2]|0)+-1;Y=Y+136|0;f[j+16>>2]=f[Y>>2];f[Y>>2]=j}if(k|0){c=k;t=_;return c|0}k=f[p>>2]|0;j=k+1|0;f[p>>2]=j;if((k|0)==(1073741824/((f[n>>2]|0)>>>0)|0|0)){j=k+2|0;f[p>>2]=j}}}m=f[(f[q>>2]|0)+56>>2]|0;b[m+28>>0]=j>>>24;b[m+29>>0]=j>>>16;b[m+30>>0]=j>>>8;b[m+31>>0]=j;m=f[p>>2]|0;f[e>>2]=m;j=f[a>>2]|0;j=lb[f[j+204>>2]&127](j,m,Z,i)|0;if(j|0){f[c>>2]=0;c=j;t=_;return c|0}j=f[Z>>2]|0;k=f[j+8>>2]|0;l=k+4|0;if((f[l>>2]|0)==(m|0))j=k+72|0;else{f[k+56>>2]=f[j+4>>2];Z=k+72|0;f[Z>>2]=j;f[k+52>>2]=a;f[l>>2]=m;b[k+9>>0]=(m|0)==1?100:0;j=Z}f[c>>2]=k;m=f[j>>2]|0;if((d[m+30>>1]|0)>1){do if(k|0)if(!(d[m+28>>1]&32)){bh(m);break}else{a=f[m+20>>2]|0;Z=a+120|0;f[Z>>2]=(f[Z>>2]|0)+-1;a=a+136|0;f[m+16>>2]=f[a>>2];f[a>>2]=m;break}while(0);f[c>>2]=0;f[r>>2]=42469;f[r+4>>2]=65131;f[r+8>>2]=40460;Ac(11,40408,r);c=11;t=_;return c|0}b[k>>0]=0;l=f[m+20>>2]|0;do if((d[m+28>>1]&4)!=0?(f[l+24>>2]|0)>>>0>=(f[m+24>>2]|0)>>>0:0)if(!(f[l+96>>2]|0)){c=0;t=_;return c|0}else{j=Ng(m)|0;Y=241;break}else Y=237;while(0);do if((Y|0)==237){j=f[l+40>>2]|0;if(!j)if((f[l+148>>2]|0)>>>0>(f[l+152>>2]|0)>>>0){j=Og(m)|0;Y=241;break}else{j=Pg(m)|0;Y=241;break}else Y=243}while(0);do if((Y|0)==241)if(j){k=f[c>>2]|0;if(!k)break;else{Y=243;break}}else{c=0;t=_;return c|0}while(0);do if((Y|0)==243){k=f[k+72>>2]|0;if(!(d[k+28>>1]&32)){bh(k);break}else{a=f[k+20>>2]|0;Z=a+120|0;f[Z>>2]=(f[Z>>2]|0)+-1;a=a+136|0;f[k+16>>2]=f[a>>2];f[a>>2]=k;break}}while(0);f[c>>2]=0;c=j;t=_;return c|0}a:do switch(i<<24>>24){case 1:{if(X>>>0>>0)n=0;else{j=rh(a,g,Z,0)|0;if(!j){n=(b[Z>>0]|0)==2&1;break a}c=j;t=_;return c|0}break}case 2:{n=1;break}default:n=0}while(0);k=f[k+72>>2]|0;l=f[k+20>>2]|0;if((d[k+28>>1]&4)!=0?(f[l+24>>2]|0)>>>0>=(f[k+24>>2]|0)>>>0:0){if(f[l+96>>2]|0){m=Ng(k)|0;Y=18}}else Y=14;do if((Y|0)==14){j=f[l+40>>2]|0;if(j|0){c=j;t=_;return c|0}if((f[l+148>>2]|0)>>>0>(f[l+152>>2]|0)>>>0){m=Og(k)|0;Y=18;break}else{m=Pg(k)|0;Y=18;break}}while(0);if((Y|0)==18?m|0:0){c=m;t=_;return c|0}G=f[O>>2]|0;H=N+-1|0;b[G+36>>0]=H>>>24;b[G+37>>0]=H>>>16;b[G+38>>0]=H>>>8;b[G+39>>0]=H;G=a+36|0;H=(g|0)==0;F=i<<24>>24==2;E=a+60|0;D=0;l=0;b:while(1){C=l;y=(l|0)!=0;if(y){k=f[C+56>>2]|0;j=h[k+1>>0]<<16|h[k>>0]<<24|h[k+2>>0]<<8;k=k+3|0}else{k=f[O>>2]|0;j=h[k+33>>0]<<16|h[k+32>>0]<<24|h[k+34>>0]<<8;k=k+35|0}i=j|h[k>>0];if(i>>>0>X>>>0){Y=25;break}if(D>>>0>N>>>0){Y=25;break}D=D+1|0;k=f[a>>2]|0;k=lb[f[k+204>>2]&127](k,i,Z,0)|0;if(k|0){Y=35;break}j=f[Z>>2]|0;B=f[j+8>>2]|0;k=B+4|0;if((f[k>>2]|0)==(i|0))w=f[B+72>>2]|0;else{f[B+56>>2]=f[j+4>>2];f[B+72>>2]=j;f[B+52>>2]=a;f[k>>2]=i;b[B+9>>0]=(i|0)==1?100:0;w=j}j=B;if((d[w+30>>1]|0)>1){Y=31;break}b[B>>0]=0;z=B+56|0;x=f[z>>2]|0;r=x+4|0;s=x+5|0;u=x+6|0;v=x+7|0;A=h[s>>0]<<16|h[r>>0]<<24|h[u>>0]<<8|h[v>>0];q=n<<24>>24!=0;c:do if(q|(A|0)!=0){if(A>>>0>(((f[G>>2]|0)>>>2)+-2|0)>>>0){Y=49;break b}if(n<<24>>24?(i|0)==(g|0)|F&i>>>0>>0:0){f[e>>2]=i;f[c>>2]=j;j=f[B+72>>2]|0;m=f[j+20>>2]|0;if((d[j+28>>1]&4)!=0?(f[m+24>>2]|0)>>>0>=(f[j+24>>2]|0)>>>0:0){if(f[m+96>>2]|0){I=Ng(j)|0;Y=60}}else Y=56;do if((Y|0)==56){k=f[m+40>>2]|0;if(k|0){Y=251;break b}if((f[m+148>>2]|0)>>>0>(f[m+152>>2]|0)>>>0){I=Og(j)|0;Y=60;break}else{I=Pg(j)|0;Y=60;break}}while(0);if((Y|0)==60?(Y=0,I|0):0){Y=248;break b}if(!A){if(!y){Y=63;break b}i=C+72|0;j=f[i>>2]|0;m=f[j+20>>2]|0;do if(!(d[j+28>>1]&4))Y=68;else{if((f[m+24>>2]|0)>>>0<(f[j+24>>2]|0)>>>0){Y=68;break}if(!(f[m+96>>2]|0))break;J=Ng(j)|0;Y=72}while(0);do if((Y|0)==68){k=f[m+40>>2]|0;if(k|0){Y=252;break b}if((f[m+148>>2]|0)>>>0>(f[m+152>>2]|0)>>>0){J=Og(j)|0;Y=72;break}else{J=Pg(j)|0;Y=72;break}}while(0);if((Y|0)==72?(0,J|0):0){Y=249;break b}n=f[C+56>>2]|0;k=f[z>>2]|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[n>>0]=k;b[n+1>>0]=k>>8;b[n+2>>0]=k>>16;b[n+3>>0]=k>>24;n=0;k=0;l=i;j=0;Y=178;break}s=f[z>>2]|0;p=b[s+8>>0]|0;q=b[s+9>>0]|0;r=b[s+10>>0]|0;s=b[s+11>>0]|0;m=(q&255)<<16|(p&255)<<24|(r&255)<<8|s&255;if(m>>>0>X>>>0){Y=75;break b}k=f[a>>2]|0;k=lb[f[k+204>>2]&127](k,m,Z,0)|0;if(k|0){Y=85;break b}j=f[Z>>2]|0;o=f[j+8>>2]|0;k=o+4|0;if((f[k>>2]|0)==(m|0))j=f[o+72>>2]|0;else{f[o+56>>2]=f[j+4>>2];f[o+72>>2]=j;f[o+52>>2]=a;f[k>>2]=m;b[o+9>>0]=(m|0)==1?100:0}if((d[j+30>>1]|0)>1){Y=81;break b}b[o>>0]=0;j=o+72|0;n=f[j>>2]|0;i=f[n+20>>2]|0;m=d[n+28>>1]|0;do if(!(m&4))Y=90;else{if((f[i+24>>2]|0)>>>0<(f[n+24>>2]|0)>>>0){Y=90;break}if(!(f[i+96>>2]|0))break;K=Ng(n)|0;Y=94}while(0);do if((Y|0)==90){k=f[i+40>>2]|0;if(k|0){Y=96;break b}if((f[i+148>>2]|0)>>>0>(f[i+152>>2]|0)>>>0){K=Og(n)|0;Y=94;break}else{K=Pg(n)|0;Y=94;break}}while(0);if((Y|0)==94?(Y=0,K|0):0){Y=95;break b}x=o+56|0;w=f[x>>2]|0;v=f[z>>2]|0;v=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;b[w>>0]=v;b[w+1>>0]=v>>8;b[w+2>>0]=v>>16;b[w+3>>0]=v>>24;w=f[x>>2]|0;A=A+-1|0;b[w+4>>0]=A>>>24;b[w+5>>0]=A>>>16;b[w+6>>0]=A>>>8;b[w+7>>0]=A;YA((f[x>>2]|0)+8|0,(f[z>>2]|0)+12|0,A<<2|0)|0;j=f[j>>2]|0;if(!(d[j+28>>1]&32))bh(j);else{A=f[j+20>>2]|0;z=A+120|0;f[z>>2]=(f[z>>2]|0)+-1;A=A+136|0;f[j+16>>2]=f[A>>2];f[A>>2]=j}if(!y){Y=103;break b}i=C+72|0;j=f[i>>2]|0;m=f[j+20>>2]|0;do if(!(d[j+28>>1]&4))Y=108;else{if((f[m+24>>2]|0)>>>0<(f[j+24>>2]|0)>>>0){Y=108;break}if(!(f[m+96>>2]|0))break;L=Ng(j)|0;Y=112}while(0);do if((Y|0)==108){k=f[m+40>>2]|0;if(k|0){Y=254;break b}if((f[m+148>>2]|0)>>>0>(f[m+152>>2]|0)>>>0){L=Og(j)|0;Y=112;break}else{L=Pg(j)|0;Y=112;break}}while(0);if((Y|0)==112?(0,L|0):0){Y=253;break b}n=f[C+56>>2]|0;b[n>>0]=p;b[n+1>>0]=q;b[n+2>>0]=r;b[n+3>>0]=s;n=0;k=0;l=i;j=0;Y=178;break}if(A){d:do if(!H)if(F){k=0;while(1){z=x+((k<<2)+8)|0;if((h[z+1>>0]<<16|h[z>>0]<<24|h[z+2>>0]<<8|h[z+3>>0])>>>0<=g>>>0){i=k;break d}k=k+1|0;if(k>>>0>=A>>>0){i=0;break}}}else{k=(h[x+9>>0]<<16|h[x+8>>0]<<24|h[x+10>>0]<<8|h[x+11>>0])-g|0;if(A>>>0<=1){i=0;break}m=(k|0)>-1?k:(k|0)==-2147483648?2147483647:0-k|0;k=0;i=1;while(1){p=x+((i<<2)+8)|0;p=(h[p+1>>0]<<16|h[p>>0]<<24|h[p+2>>0]<<8|h[p+3>>0])-g|0;p=(p|0)>-1?p:(p|0)==-2147483648?2147483647:0-p|0;o=(p|0)<(m|0);k=o?i:k;i=i+1|0;if((i|0)==(A|0)){i=k;break}else m=o?p:m}}else i=0;while(0);o=x+((i<<2)+8)|0;k=h[o+1>>0]<<16|h[o>>0]<<24|h[o+2>>0]<<8|h[o+3>>0];if(k>>>0>X>>>0){Y=124;break b}if((k|0)==(g|0)|q^1|F&k>>>0>>0){f[e>>2]=k;m=f[w+20>>2]|0;do if(!(d[w+28>>1]&4))Y=130;else{if((f[m+24>>2]|0)>>>0<(f[w+24>>2]|0)>>>0){Y=130;break}if(!(f[m+96>>2]|0))break;M=Ng(w)|0;Y=134}while(0);do if((Y|0)==130){k=f[m+40>>2]|0;if(k|0){Y=256;break b}if((f[m+148>>2]|0)>>>0>(f[m+152>>2]|0)>>>0){M=Og(w)|0;Y=134;break}else{M=Pg(w)|0;Y=134;break}}while(0);if((Y|0)==134?(0,M|0):0){Y=255;break b}k=A+-1|0;if(i>>>0>>0){Y=x+((A<<2)+4)|0;Y=h[Y>>0]|h[Y+1>>0]<<8|h[Y+2>>0]<<16|h[Y+3>>0]<<24;b[o>>0]=Y;b[o+1>>0]=Y>>8;b[o+2>>0]=Y>>16;b[o+3>>0]=Y>>24}b[r>>0]=k>>>24;b[s>>0]=k>>>16;b[u>>0]=k>>>8;b[v>>0]=k;p=f[e>>2]|0;i=f[E>>2]|0;e:do if(!i)k=0;else{k=f[i>>2]|0;if(k>>>0

>>0){k=1;break}m=p+-1|0;if(m>>>0>=k>>>0){k=0;break}n=f[i+8>>2]|0;if(n){o=i;do{k=(m>>>0)/(n>>>0)|0;o=f[o+12+(k<<2)>>2]|0;if(!o){k=0;break e}m=m-(U(k,n)|0)|0;n=f[o+8>>2]|0}while((n|0)!=0);i=o;k=f[o>>2]|0}if(k>>>0<4001){k=(1<<(m&7)&h[i+12+(m>>>3)>>0]|0)!=0&1;break}n=m+1|0;k=(m>>>0)%125|0;m=f[i+12+(k<<2)>>2]|0;if(!m){k=0;break}while(1){if((m|0)==(n|0)){k=1;break e}k=((k+1|0)>>>0)%125|0;m=f[i+12+(k<<2)>>2]|0;if(!m){k=0;break}}}while(0);Y=f[a>>2]|0;k=lb[f[Y+204>>2]&127](Y,p,Z,k^1)|0;if(k|0){f[c>>2]=0;n=0;Y=176;break}k=f[Z>>2]|0;m=f[k+8>>2]|0;n=m+4|0;if((f[n>>2]|0)==(p|0))k=m+72|0;else{f[m+56>>2]=f[k+4>>2];Y=m+72|0;f[Y>>2]=k;f[m+52>>2]=a;f[n>>2]=p;b[m+9>>0]=(p|0)==1?100:0;k=Y}f[c>>2]=m;if((d[(f[k>>2]|0)+30>>1]|0)>1){do if(m|0){k=f[m+72>>2]|0;if(!(d[k+28>>1]&32)){bh(k);break}else{Y=f[k+20>>2]|0;B=Y+120|0;f[B>>2]=(f[B>>2]|0)+-1;Y=Y+136|0;f[k+16>>2]=f[Y>>2];f[Y>>2]=k;break}}while(0);f[c>>2]=0;f[T>>2]=42469;f[T+4>>2]=65131;f[T+8>>2]=40460;Ac(11,40408,T);n=0;k=11;Y=176;break}b[m>>0]=0;n=f[m+72>>2]|0;i=f[n+20>>2]|0;do if(!(d[n+28>>1]&4))Y=166;else{if((f[i+24>>2]|0)>>>0<(f[n+24>>2]|0)>>>0){Y=166;break}if(!(f[i+96>>2]|0)){n=0;k=0;Y=176;break c}k=Ng(n)|0;Y=170}while(0);do if((Y|0)==166){k=f[i+40>>2]|0;if(k|0){Y=172;break}if((f[i+148>>2]|0)>>>0>(f[i+152>>2]|0)>>>0){k=Og(n)|0;Y=170;break}else{k=Pg(n)|0;Y=170;break}}while(0);if((Y|0)==170){Y=0;if(!k){n=0;k=0;Y=176;break}m=f[c>>2]|0;if(m)Y=172}do if((Y|0)==172){m=f[m+72>>2]|0;if(!(d[m+28>>1]&32)){bh(m);break}else{Y=f[m+20>>2]|0;B=Y+120|0;f[B>>2]=(f[B>>2]|0)+-1;Y=Y+136|0;f[m+16>>2]=f[Y>>2];f[Y>>2]=m;break}}while(0);f[c>>2]=0;n=0;Y=176}else{k=0;Y=176}}else{k=0;Y=176}}else{m=f[w+20>>2]|0;if((d[w+28>>1]&4)!=0?(f[m+24>>2]|0)>>>0>=(f[w+24>>2]|0)>>>0:0)if(!(f[m+96>>2]|0))k=x;else{k=Ng(w)|0;Y=45}else Y=41;do if((Y|0)==41){k=f[m+40>>2]|0;if(k|0){Y=250;break b}if((f[m+148>>2]|0)>>>0>(f[m+152>>2]|0)>>>0){k=Og(w)|0;Y=45;break}else{k=Pg(w)|0;Y=45;break}}while(0);if((Y|0)==45){if(k|0){Y=247;break b}k=f[z>>2]|0}f[e>>2]=i;n=(f[O>>2]|0)+32|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[n>>0]=k;b[n+1>>0]=k>>8;b[n+2>>0]=k>>16;b[n+3>>0]=k>>24;f[c>>2]=j;n=0;k=0;j=0;Y=176}while(0);if((Y|0)==176){Y=0;if(l){l=C+72|0;Y=178}}do if((Y|0)==178){Y=0;l=f[l>>2]|0;if(!(d[l+28>>1]&32)){bh(l);break}else{C=f[l+20>>2]|0;B=C+120|0;f[B>>2]=(f[B>>2]|0)+-1;C=C+136|0;f[l+16>>2]=f[C>>2];f[C>>2]=l;break}}while(0);if(!(n<<24>>24)){l=0;Y=257;break}else l=j}switch(Y|0){case 25:{f[S>>2]=42469;f[S+4>>2]=68812;f[S+8>>2]=40460;Ac(11,40408,S);j=l;k=11;break}case 31:{j=f[B+72>>2]|0;if(!(d[j+28>>1]&32))bh(j);else{c=f[j+20>>2]|0;a=c+120|0;f[a>>2]=(f[a>>2]|0)+-1;c=c+136|0;f[j+16>>2]=f[c>>2];f[c>>2]=j}f[W>>2]=42469;f[W+4>>2]=65131;f[W+8>>2]=40460;Ac(11,40408,W);j=l;k=11;break}case 35:{j=l;break}case 49:{f[P>>2]=42469;f[P+4>>2]=68841;f[P+8>>2]=40460;Ac(11,40408,P);k=11;j=B;Y=257;break}case 63:{c=(f[O>>2]|0)+32|0;a=f[z>>2]|0;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;b[c>>0]=a;b[c+1>>0]=a>>8;b[c+2>>0]=a>>16;b[c+3>>0]=a>>24;c=0;t=_;return c|0}case 75:{f[Q>>2]=42469;f[Q+4>>2]=68875;f[Q+8>>2]=40460;Ac(11,40408,Q);k=11;j=B;Y=257;break}case 81:{j=f[o+72>>2]|0;if(!(d[j+28>>1]&32))bh(j);else{c=f[j+20>>2]|0;a=c+120|0;f[a>>2]=(f[a>>2]|0)+-1;c=c+136|0;f[j+16>>2]=f[c>>2];f[c>>2]=j}f[V>>2]=42469;f[V+4>>2]=65131;f[V+8>>2]=40460;Ac(11,40408,V);k=11;j=B;Y=257;break}case 85:{j=B;Y=257;break}case 95:{m=f[j>>2]|0;k=K;n=m;m=d[m+28>>1]|0;Y=96;break}case 103:{c=f[O>>2]|0;b[c+32>>0]=p;b[c+33>>0]=q;b[c+34>>0]=r;b[c+35>>0]=s;c=0;t=_;return c|0}case 124:{f[R>>2]=42469;f[R+4>>2]=68940;f[R+8>>2]=40460;Ac(11,40408,R);k=11;j=B;Y=257;break}case 247:{j=B;Y=257;break}case 248:{k=I;j=B;Y=257;break}case 249:{k=J;j=B;Y=257;break}case 250:{j=B;Y=257;break}case 251:{j=B;Y=257;break}case 252:{j=B;Y=257;break}case 253:{k=L;j=B;Y=257;break}case 254:{j=B;Y=257;break}case 255:{k=M;j=B;Y=257;break}case 256:{j=B;Y=257;break}}do if((Y|0)==96){j=B;if(!(m&32)){bh(n);Y=257;break}else{Y=f[n+20>>2]|0;c=Y+120|0;f[c>>2]=(f[c>>2]|0)+-1;Y=Y+136|0;f[n+16>>2]=f[Y>>2];f[Y>>2]=n;Y=257;break}}while(0);do if((Y|0)==257)if(j){j=f[j+72>>2]|0;if(!(d[j+28>>1]&32)){bh(j);j=l;break}else{c=f[j+20>>2]|0;a=c+120|0;f[a>>2]=(f[a>>2]|0)+-1;c=c+136|0;f[j+16>>2]=f[c>>2];f[c>>2]=j;j=l;break}}else j=l;while(0);if(!j){c=k;t=_;return c|0}j=f[j+72>>2]|0;if(!(d[j+28>>1]&32)){bh(j);c=k;t=_;return c|0}else{c=f[j+20>>2]|0;a=c+120|0;f[a>>2]=(f[a>>2]|0)+-1;c=c+136|0;f[j+16>>2]=f[c>>2];f[c>>2]=j;c=k;t=_;return c|0}return 0}function Mh(a,c,e,g,i,k){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=t;t=t+96|0;P=S+72|0;N=S+56|0;L=S+40|0;l=S+24|0;M=S;R=S+84|0;H=c+4|0;Q=f[H>>2]|0;G=f[a>>2]|0;if(Q>>>0<3){f[l>>2]=42469;f[l+4>>2]=66526;f[l+8>>2]=40460;Ac(11,40408,l);R=11;t=S;return R|0}D=f[c+72>>2]|0;E=G+12|0;a:do if(b[E>>0]|0){n=f[D+20>>2]|0;p=D+28|0;if((d[p>>1]&4)!=0?(f[n+24>>2]|0)>>>0>=(f[D+24>>2]|0)>>>0:0){if(!(f[n+96>>2]|0)){O=14;break}l=Ng(D)|0}else O=9;do if((O|0)==9){l=f[n+40>>2]|0;if(l|0)break a;if((f[n+148>>2]|0)>>>0>(f[n+152>>2]|0)>>>0){l=Og(D)|0;break}else{l=Pg(D)|0;break}}while(0);if(!l)O=14}else{p=D+28|0;O=14}while(0);do if((O|0)==14){l=d[p>>1]|0;if(l&2){l=Ng(D)|0;if(l|0)break;l=d[p>>1]|0}if((k|0)!=0|(l&8)==0)F=0;else F=f[D+24>>2]|0;d[p>>1]=l&-9;l=G+212|0;n=kb[f[37452>>2]&127](f[(f[l>>2]|0)+44>>2]|0,i,0)|0;do if(n){l=f[l>>2]|0;k=f[n+4>>2]|0;if(!(f[k>>2]|0)){l=ch(l,i,n)|0;if(!l){B=0;z=0;break}else z=1}else{l=l+12|0;f[l>>2]=(f[l>>2]|0)+1;l=k+30|0;d[l>>1]=(d[l>>1]|0)+1<<16>>16;l=k;z=(k|0)!=0}n=l+28|0;d[p>>1]=d[p>>1]|d[n>>1]&8;if(!(b[E>>0]|0)){u=f[l+12>>2]|0;do if(d[n>>1]&2){n=u+8|0;k=l+36|0;q=f[k>>2]|0;if((f[n>>2]|0)==(l|0))f[n>>2]=q;r=f[l+32>>2]|0;s=(r|0)==0;if(s){f[u+4>>2]=q;n=q}else{f[r+36>>2]=q;n=f[k>>2]|0}if(n|0){f[n+32>>2]=r;break}f[u>>2]=r;if(s)b[u+33>>0]=2}while(0);B=u+12|0;f[B>>2]=(f[B>>2]|0)+-1;qb[f[37456>>2]&255](f[u+44>>2]|0,f[l>>2]|0,1);B=l;break}B=(f[G+24>>2]|0)+1|0;k=l+12|0;y=l+24|0;rb[f[37460>>2]&127](f[(f[k>>2]|0)+44>>2]|0,f[l>>2]|0,f[y>>2]|0,B);f[y>>2]=B;y=d[n>>1]|0;if((y&10)==10){v=f[k>>2]|0;x=v+8|0;n=f[x>>2]|0;u=l+36|0;q=f[u>>2]|0;if((n|0)==(l|0)){f[x>>2]=q;w=q}else w=n;s=l+32|0;k=f[s>>2]|0;r=(k|0)==0;if(r){f[v+4>>2]=q;n=q}else{f[k+36>>2]=q;n=f[u>>2]|0}do if(!n){f[v>>2]=k;if(r){b[v+33>>0]=2;f[u>>2]=0;f[s>>2]=0;n=v;O=36;break}else{f[u>>2]=0;n=v;O=35;break}}else{f[n+32>>2]=k;k=f[v>>2]|0;f[u>>2]=0;f[s>>2]=k;if(!k){n=v;O=36}else{n=v;O=35}}while(0);if((O|0)==35)f[k+36>>2]=l;else if((O|0)==36){f[v+4>>2]=l;if(b[v+32>>0]|0)b[v+33>>0]=1}f[n>>2]=l;if((y&8)==0&(w|0)==0){f[x>>2]=l;B=l}else B=l}else B=l}else{B=0;z=0}while(0);w=D+24|0;A=f[w>>2]|0;y=D+12|0;rb[f[37460>>2]&127](f[(f[y>>2]|0)+44>>2]|0,f[D>>2]|0,A,i);f[w>>2]=i;w=d[p>>1]|0;if((w&10)==10){u=f[y>>2]|0;x=u+8|0;l=f[x>>2]|0;s=D+36|0;k=f[s>>2]|0;if((l|0)==(D|0)){f[x>>2]=k;v=k}else v=l;r=D+32|0;n=f[r>>2]|0;q=(n|0)==0;if(q){f[u+4>>2]=k;l=k}else{f[n+36>>2]=k;l=f[s>>2]|0}do if(!l){f[u>>2]=n;if(q){b[u+33>>0]=2;f[s>>2]=0;f[r>>2]=0;l=u;O=63;break}else{f[s>>2]=0;l=u;O=62;break}}else{f[l+32>>2]=n;n=f[u>>2]|0;f[s>>2]=0;f[r>>2]=n;if(!n){l=u;O=63}else{l=u;O=62}}while(0);if((O|0)==62)f[n+36>>2]=D;else if((O|0)==63){f[u+4>>2]=D;if(b[u+32>>0]|0)b[u+33>>0]=1}f[l>>2]=D;if((w&8)==0&(v|0)==0)f[x>>2]=D}l=w&65535;if(l&17|0?(C=l&65519,d[p>>1]=C,l&1|0):0){k=(C^3)&65535;d[p>>1]=k;l=f[y>>2]|0;f[D+36>>2]=0;n=f[l>>2]|0;f[D+32>>2]=n;if(!n){f[l+4>>2]=D;if(b[l+32>>0]|0)b[l+33>>0]=1}else f[n+36>>2]=D;f[l>>2]=D;l=l+8|0;if((k&8)==0&(f[l>>2]|0)==0)f[l>>2]=D}do if(z&(b[E>>0]|0)!=0){l=B+12|0;w=B+24|0;rb[f[37460>>2]&127](f[(f[l>>2]|0)+44>>2]|0,f[B>>2]|0,f[w>>2]|0,A);f[w>>2]=A;w=d[B+28>>1]|0;if((w&10)==10){s=f[l>>2]|0;v=s+8|0;l=f[v>>2]|0;r=B+36|0;p=f[r>>2]|0;if((l|0)==(B|0)){f[v>>2]=p;u=p}else u=l;q=B+32|0;n=f[q>>2]|0;k=(n|0)==0;if(k){f[s+4>>2]=p;l=p}else{f[n+36>>2]=p;l=f[r>>2]|0}do if(!l){f[s>>2]=n;if(k){b[s+33>>0]=2;f[r>>2]=0;f[q>>2]=0;l=s;O=88;break}else{f[r>>2]=0;l=s;O=87;break}}else{f[l+32>>2]=n;n=f[s>>2]|0;f[r>>2]=0;f[q>>2]=n;if(!n){l=s;O=88}else{l=s;O=87}}while(0);if((O|0)==87)f[n+36>>2]=B;else if((O|0)==88){f[s+4>>2]=B;if(b[s+32>>0]|0)b[s+33>>0]=1}f[l>>2]=B;if((w&8)==0&(u|0)==0)f[v>>2]=B}if(!(w&32)){bh(B);break}else{E=f[B+20>>2]|0;D=E+120|0;f[D>>2]=(f[D>>2]|0)+-1;E=E+136|0;f[B+16>>2]=f[E>>2];f[E>>2]=B;break}}while(0);do if(F|0){r=lb[f[G+204>>2]&127](G,F,M,0)|0;if(!r){l=f[M>>2]|0;p=l+28|0;n=d[p>>1]|8;d[p>>1]=n;k=n&65535;if(k&17){o=k&65519;n=o&65535;d[p>>1]=n;if(k&1){d[p>>1]=o^3;n=f[l+12>>2]|0;f[l+36>>2]=0;o=f[n>>2]|0;f[l+32>>2]=o;if(!o){f[n+4>>2]=l;if(b[n+32>>0]|0)b[n+33>>0]=1}else f[o+36>>2]=l;f[n>>2]=l;l=f[M>>2]|0;n=d[l+28>>1]|0}}if(!(n&32))bh(l);else{J=f[l+20>>2]|0;G=J+120|0;f[G>>2]=(f[G>>2]|0)+-1;J=J+136|0;f[l+16>>2]=f[J>>2];f[J>>2]=l}break}if(F>>>0<=(f[G+28>>2]|0)>>>0?(o=f[G+56>>2]|0,J=f[G+208>>2]|0,o|0):0){l=F+-1|0;m=f[o+8>>2]|0;b:do if(!m)O=103;else while(1){n=(l>>>0)/(m>>>0)|0;o=f[o+12+(n<<2)>>2]|0;if(!o)break b;l=l-(U(n,m)|0)|0;m=f[o+8>>2]|0;if(!m){O=103;break}}while(0);do if((O|0)==103){if((f[o>>2]|0)>>>0<4001){i=o+12+(l>>>3)|0;b[i>>0]=(1<<(l&7)^255)&h[i>>0];break}q=o+12|0;YA(J|0,q|0,500)|0;_A(q|0,0,500)|0;q=o+4|0;f[q>>2]=0;p=l+1|0;n=0;do{k=J+(n<<2)|0;l=f[k>>2]|0;if(!((l|0)==0|(l|0)==(p|0))){m=((l+-1|0)>>>0)%125|0;f[q>>2]=(f[q>>2]|0)+1;l=o+12+(m<<2)|0;if(f[l>>2]|0)do{l=m+1|0;m=l>>>0>124?0:l;l=o+12+(m<<2)|0}while((f[l>>2]|0)!=0);f[l>>2]=f[k>>2]}n=n+1|0}while((n|0)!=125)}while(0);f[R>>2]=r;R=r;t=S;return R|0}f[R>>2]=r;R=r;t=S;return R|0}while(0);f[R>>2]=0;f[H>>2]=i;switch(e<<24>>24){case 1:case 5:{l=Nh(c)|0;f[R>>2]=l;if(l|0){R=l;t=S;return R|0}if(e<<24>>24==1){R=0;t=S;return R|0}break}default:{l=f[c+56>>2]|0;l=h[l+1>>0]<<16|h[l>>0]<<24|h[l+2>>0]<<8|h[l+3>>0];if(l|0?(Oh(a,l,4,i,R),I=f[R>>2]|0,I|0):0){R=I;t=S;return R|0}}}l=f[a>>2]|0;l=lb[f[l+204>>2]&127](l,g,M,0)|0;if(l|0){f[R>>2]=l;R=l;t=S;return R|0}l=f[M>>2]|0;w=f[l+8>>2]|0;n=w+4|0;if((f[n>>2]|0)==(g|0))x=w+72|0;else{f[w+56>>2]=f[l+4>>2];x=w+72|0;f[x>>2]=l;f[w+52>>2]=a;f[n>>2]=g;b[w+9>>0]=(g|0)==1?100:0}f[R>>2]=0;l=f[x>>2]|0;n=f[l+20>>2]|0;do if((d[l+28>>1]&4)!=0?(f[n+24>>2]|0)>>>0>=(f[l+24>>2]|0)>>>0:0)if(!(f[n+96>>2]|0)){f[R>>2]=0;break}else{m=Ng(l)|0;O=146;break}else O=141;while(0);do if((O|0)==141){m=f[n+40>>2]|0;if(m|0){f[R>>2]=m;O=147;break}if((f[n+148>>2]|0)>>>0>(f[n+152>>2]|0)>>>0){m=Og(l)|0;O=146;break}else{m=Pg(l)|0;O=146;break}}while(0);if((O|0)==146?(f[R>>2]=m,m|0):0)O=147;if((O|0)==147){if(!w){R=m;t=S;return R|0}l=f[x>>2]|0;if(!(d[l+28>>1]&32)){bh(l);R=m;t=S;return R|0}else{R=f[l+20>>2]|0;i=R+120|0;f[i>>2]=(f[i>>2]|0)+-1;R=R+136|0;f[l+16>>2]=f[R>>2];f[R>>2]=l;R=m;t=S;return R|0}}c:do if(e<<24>>24==4){l=f[w+56>>2]|0;m=l+1|0;n=l+2|0;o=l+3|0;if((h[m>>0]<<16|h[l>>0]<<24|h[n>>0]<<8|h[o>>0]|0)==(Q|0)){b[l>>0]=i>>>24;b[m>>0]=i>>>16;b[n>>0]=i>>>8;b[o>>0]=i;l=0;O=175;break}else{f[L>>2]=42469;f[L+4>>2]=66454;f[L+8>>2]=40460;Ac(11,40408,L);l=11;O=175;break}}else{if((b[w>>0]|0)==0?(K=Ph(w)|0,K|0):0){l=K;O=175;break}L=d[w+22>>1]|0;v=L&65535;d:do if(L<<16>>16){n=w+56|0;u=w+24|0;s=w+64|0;o=w+80|0;p=M+16|0;k=M+12|0;q=M+18|0;r=w+52|0;if(e<<24>>24!=3){p=f[n>>2]|0;o=f[s>>2]|0;n=j[u>>1]|0;l=0;while(1){m=o+(l<<1)|0;m=p+((h[m>>0]<<8|h[m+1>>0])&n)|0;if((h[m+1>>0]<<16|h[m>>0]<<24|h[m+2>>0]<<8|h[m+3>>0]|0)==(Q|0))break;l=l+1|0;if(l>>>0>=v>>>0)break d}b[m>>0]=i>>>24;b[m+1>>0]=i>>>16;b[m+2>>0]=i>>>8;b[m+3>>0]=i;break}l=0;while(1){m=(f[s>>2]|0)+(l<<1)|0;m=(f[n>>2]|0)+((h[m>>0]<<8|h[m+1>>0])&j[u>>1])|0;qb[f[o>>2]&255](w,m,M);if((f[k>>2]|0)>>>0>(j[p>>1]|0)>>>0){m=m+(j[q>>1]|0)|0;if(m>>>0>((f[n>>2]|0)+(f[(f[r>>2]|0)+36>>2]|0)|0)>>>0){O=166;break}m=m+-4|0;if((h[m+1>>0]<<16|h[m>>0]<<24|h[m+2>>0]<<8|h[m+3>>0]|0)==(Q|0)){O=168;break}}l=l+1|0;if(l>>>0>=v>>>0)break d}if((O|0)==166){f[N>>2]=42469;f[N+4>>2]=66473;f[N+8>>2]=40460;Ac(11,40408,N);l=11;O=175;break c}else if((O|0)==168){b[m>>0]=i>>>24;b[m+1>>0]=i>>>16;b[m+2>>0]=i>>>8;b[m+3>>0]=i;break}}else l=0;while(0);if((l|0)==(v|0)){do if(e<<24>>24==5){l=(f[w+56>>2]|0)+((h[w+9>>0]|0)+8)|0;m=l+1|0;n=l+2|0;o=l+3|0;if((h[m>>0]<<16|h[l>>0]<<24|h[n>>0]<<8|h[o>>0]|0)!=(Q|0))break;b[l>>0]=i>>>24;b[m>>0]=i>>>16;b[n>>0]=i>>>8;b[o>>0]=i;l=0;O=175;break c}while(0);f[P>>2]=42469;f[P+4>>2]=66491;f[P+8>>2]=40460;Ac(11,40408,P);l=11}else l=0;f[R>>2]=l;if(w)O=177}while(0);if((O|0)==175){f[R>>2]=l;O=177}do if((O|0)==177){m=f[x>>2]|0;if(!(d[m+28>>1]&32)){bh(m);break}else{Q=f[m+20>>2]|0;P=Q+120|0;f[P>>2]=(f[P>>2]|0)+-1;Q=Q+136|0;f[m+16>>2]=f[Q>>2];f[Q>>2]=m;break}}while(0);if(l|0){R=l;t=S;return R|0}Oh(a,i,e,g,R);R=f[R>>2]|0;t=S;return R|0}while(0);f[R>>2]=l;R=l;t=S;return R|0}function Nh(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;z=t;t=t+32|0;s=z;w=z+24|0;u=a+52|0;x=f[u>>2]|0;v=a+4|0;y=f[v>>2]|0;if(!(b[a>>0]|0)){c=Ph(a)|0;f[w>>2]=c;if(c|0){y=c;t=z;return y|0}}else f[w>>2]=0;r=d[a+22>>1]|0;k=r&65535;a:do if(!(r<<16>>16))c=a+8|0;else{l=a+56|0;m=a+24|0;n=a+64|0;o=a+80|0;p=s+16|0;q=s+12|0;c=a+8|0;r=s+18|0;e=0;i=0;while(1){g=(f[n>>2]|0)+(e<<1)|0;g=(f[l>>2]|0)+((h[g>>0]<<8|h[g+1>>0])&j[m>>1])|0;if((i|0)==0?(qb[f[o>>2]&255](a,g,s),(f[q>>2]|0)>>>0>(j[p>>1]|0)>>>0):0){i=g+((j[r>>1]|0)+-4)|0;Oh(f[u>>2]|0,h[i+1>>0]<<16|h[i>>0]<<24|h[i+2>>0]<<8|h[i+3>>0],3,f[v>>2]|0,w)}if(!(b[c>>0]|0))Oh(x,h[g+1>>0]<<16|h[g>>0]<<24|h[g+2>>0]<<8|h[g+3>>0],5,y,w);e=e+1|0;if((e|0)==(k|0))break a;i=f[w>>2]|0}}while(0);if(!(b[c>>0]|0)){a=(f[a+56>>2]|0)+((h[a+9>>0]|0)+8)|0;Oh(x,h[a+1>>0]<<16|h[a>>0]<<24|h[a+2>>0]<<8|h[a+3>>0],5,y,w)}y=f[w>>2]|0;t=z;return y|0}function Oh(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+32|0;l=q+16|0;j=q;p=q+28|0;if(f[i>>2]|0){t=q;return}switch(c|0){case 0:{f[j>>2]=42469;f[j+4>>2]=63923;f[j+8>>2]=40460;Ac(11,40408,j);f[i>>2]=11;t=q;return}case 1:{k=0;break}default:{k=c+-2|0;k=k-((k>>>0)%(((((f[a+36>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;k=((k+1|0)==(1073741824/((f[a+32>>2]|0)>>>0)|0|0)?3:2)+k|0}}j=f[a>>2]|0;j=lb[f[j+204>>2]&127](j,k,p,0)|0;if(j|0){f[i>>2]=j;t=q;return}m=(c-k|0)*5|0;j=m+-5|0;a:do if((j|0)<0){f[l>>2]=42469;f[l+4>>2]=63934;f[l+8>>2]=40460;Ac(11,40408,l);f[i>>2]=11}else{l=f[p>>2]|0;c=f[l+4>>2]|0;k=c+j|0;if((b[k>>0]|0)==e<<24>>24?(a=c+(m+-4)|0,(h[a+1>>0]<<16|h[a>>0]<<24|h[a+2>>0]<<8|h[a+3>>0]|0)==(g|0)):0)break;a=f[l+20>>2]|0;do if((d[l+28>>1]&4)!=0?(f[a+24>>2]|0)>>>0>=(f[l+24>>2]|0)>>>0:0)if(!(f[a+96>>2]|0)){f[i>>2]=0;break}else{n=Ng(l)|0;o=21;break}else o=16;while(0);do if((o|0)==16){j=f[a+40>>2]|0;if(j|0){f[i>>2]=j;break a}if((f[a+148>>2]|0)>>>0>(f[a+152>>2]|0)>>>0){n=Og(l)|0;o=21;break}else{n=Pg(l)|0;o=21;break}}while(0);if((o|0)==21?(f[i>>2]=n,n|0):0)break;b[k>>0]=e;i=c+(m+-4)|0;b[i>>0]=g>>>24;b[i+1>>0]=g>>>16;b[i+2>>0]=g>>>8;b[i+3>>0]=g}while(0);j=f[p>>2]|0;if(!j){t=q;return}if(!(d[j+28>>1]&32)){bh(j);t=q;return}else{p=f[j+20>>2]|0;i=p+120|0;f[i>>2]=(f[i>>2]|0)+-1;p=p+136|0;f[j+16>>2]=f[p>>2];f[p>>2]=j;t=q;return}}function Ph(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=t;t=t+160|0;B=C+144|0;A=C+128|0;z=C+112|0;y=C+96|0;w=C+80|0;s=C+64|0;r=C+48|0;m=C+32|0;g=C+16|0;e=C;n=f[a+52>>2]|0;x=f[a+56>>2]|0;v=h[a+9>>0]|0;u=h[x+v>>0]|0;i=u>>>3;c=i&255;q=a+8|0;b[q>>0]=c;i=4-(i<<2)|0;b[a+10>>0]=i;p=a+76|0;f[p>>2]=149;switch((u&247)<<24>>24){case 5:{b[a+2>>0]=1;e=a+3|0;if(!(c<<24>>24)){b[e>>0]=0;f[p>>2]=150;e=191}else{b[e>>0]=1;e=189}f[a+80>>2]=e;d[a+14>>1]=d[n+28>>1]|0;e=n+30|0;break}case 2:{b[a+2>>0]=0;b[a+3>>0]=0;f[a+80>>2]=190;d[a+14>>1]=d[n+24>>1]|0;e=n+26|0;break}default:{f[e>>2]=42469;f[e+4>>2]=64757;f[e+8>>2]=40460;Ac(11,40408,e);f[g>>2]=42469;f[g+4>>2]=64798;f[g+8>>2]=40460;Ac(11,40408,g);B=11;t=C;return B|0}}d[a+16>>1]=d[e>>1]|0;b[a+11>>0]=b[n+21>>0]|0;D=f[n+32>>2]|0;d[a+24>>1]=D+65535;b[a+12>>0]=0;u=f[n+36>>2]|0;o=i&252;k=v+8+o|0;d[a+18>>1]=k;f[a+60>>2]=x+u;f[a+64>>2]=x+k;f[a+68>>2]=x+o;o=x+(v+5)|0;o=(((h[o>>0]|0)<<8|(h[o+1>>0]|0))+65535&65535)+1|0;e=x+(v+3)|0;e=(h[e>>0]|0)<<8|(h[e+1>>0]|0);g=e&65535;l=a+22|0;d[l>>1]=g;if(e>>>0>(((D+-8|0)>>>0)/6|0)>>>0){f[m>>2]=42469;f[m+4>>2]=64817;f[m+8>>2]=40460;Ac(11,40408,m);D=11;t=C;return D|0}m=(e<<1)+k|0;i=u+-4|0;if(!(0==0?(f[(f[n+4>>2]|0)+32>>2]&2097152|0)==0:0)){i=c<<24>>24==0?u+-5|0:i;do if(g<<16>>16){c=0;while(1){e=x+((c<<1)+k)|0;e=(h[e>>0]|0)<<8|(h[e+1>>0]|0);if(e>>>0>>0|(e|0)>(i|0)){e=15;break}c=c+1|0;if((e+((jb[f[p>>2]&255](a,x+e|0)|0)&65535)|0)>(u|0)){e=17;break}if(c>>>0>=(j[l>>1]|0)>>>0){e=18;break}}if((e|0)==15){f[r>>2]=42469;f[r+4>>2]=64845;f[r+8>>2]=40460;Ac(11,40408,r);D=11;t=C;return D|0}else if((e|0)==17){f[s>>2]=42469;f[s+4>>2]=64850;f[s+8>>2]=40460;Ac(11,40408,s);D=11;t=C;return D|0}else if((e|0)==18){c=b[q>>0]|0;break}}while(0);i=i+(c<<24>>24==0&1)|0}g=x+(v+1)|0;g=(h[g>>0]|0)<<8|(h[g+1>>0]|0);c=o+(h[x+(v+7)>>0]|0)|0;a:do if(g){if(g>>>0>>0){f[w>>2]=42469;f[w+4>>2]=64868;f[w+8>>2]=40460;Ac(11,40408,w);D=11;t=C;return D|0}b:do if((g|0)<=(i|0)){while(1){D=x+g|0;e=g;g=(h[D>>0]|0)<<8|(h[D+1>>0]|0);D=x+(e+2)|0;D=(h[D>>0]|0)<<8|(h[D+1>>0]|0);c=D+c|0;e=D+e|0;if(g>>>0<=(e+3|0)>>>0)break;if((g|0)>(i|0))break b}if(g|0){f[z>>2]=42469;f[z+4>>2]=64883;f[z+8>>2]=40460;Ac(11,40408,z);D=11;t=C;return D|0}if(e>>>0<=u>>>0)break a;f[A>>2]=42469;f[A+4>>2]=64887;f[A+8>>2]=40460;Ac(11,40408,A);D=11;t=C;return D|0}while(0);f[y>>2]=42469;f[y+4>>2]=64873;f[y+8>>2]=40460;Ac(11,40408,y);D=11;t=C;return D|0}while(0);if((c|0)>(u|0)){f[B>>2]=42469;f[B+4>>2]=64899;f[B+8>>2]=40460;Ac(11,40408,B);D=11;t=C;return D|0}else{d[a+20>>1]=c-m;b[a>>0]=1;D=0;t=C;return D|0}return 0}function Qh(a,c){a=a|0;c=c|0;var d=0;a=4;do{d=a;a=a+1|0}while((b[c+d>>0]|0)<0&a>>>0<13);return a&65535|0}function Rh(a,b,c){a=a|0;b=b|0;c=c|0;b=((Th(b+4|0,c)|0)&255)+4&65535;d[c+18>>1]=b;f[c+12>>2]=0;d[c+16>>1]=0;f[c+8>>2]=0;return}function Sh(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0;k=c+(h[a+10>>0]|0)|0;i=b[k>>0]|0;j=i&255;if(i<<24>>24<0){g=0;i=j&127;do{g=g+1|0;j=b[k+g>>0]|0;i=i<<7|j&127}while(j<<24>>24<0&g>>>0<8);g=k+g|0;j=i}else g=k;g=g+1|0;i=e;f[i>>2]=j;f[i+4>>2]=0;f[e+12>>2]=j;f[e+8>>2]=g;i=d[a+14>>1]|0;if(j>>>0>(i&65535)>>>0){Sg(i,d[a+16>>1]|0,f[(f[a+52>>2]|0)+36>>2]|0,c,e);return}else{c=g-c+j|0;d[e+18>>1]=(c&65532|0)==0?4:c&65535;d[e+16>>1]=j;return}}function Th(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;d=b[a>>0]|0;e=d&255;do if(e&128){d=h[a+1>>0]|0;if(!(d&128)){l=2;j=0;d=e<<7&16256|d;break}l=h[a+2>>0]|0;e=(e<<14|l)&2080895;if(!(l&128)){l=3;j=0;d=e|d<<7&16256;break}l=h[a+3>>0]|0;d=(d<<14|l)&2080895;if(!(l&128)){l=4;j=0;d=d|e<<7;break}k=b[a+4>>0]|0;l=k&255;g=e<<14|l;if(!(l&128)){l=5;j=e>>>18;d=g|d<<7;break}j=d|e<<7;l=h[a+5>>0]|0;i=d<<14|l;if(!(l&128)){l=6;j=j>>>18;d=i|g<<7&266354560;break}l=h[a+6>>0]|0;d=g<<14|l;if(!(l&128)){l=7;j=j>>>11;d=d&-266354561|i<<7&266354560;break}e=d&2080895;l=h[a+7>>0]|0;d=i<<14|l;if(!(l&128)){l=8;j=j>>>4;d=d&-266354561|e<<7;break}else{l=9;j=(k&120)>>>3|j<<4;d=d<<8&532709120|e<<15|(h[a+8>>0]|0);break}}else{l=1;j=0;d=d&255}while(0);f[c>>2]=d;f[c+4>>2]=j;return l|0}function Uh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0;k=t;t=t+16|0;g=k;j=f[a+4>>2]|0;f[j+4>>2]=f[a>>2];if(!c){d=f[j+8>>2]|0;if(d|0?(e=Kg(d,0,0)|0,e|0):0){c=e;d=0;i=4}}else i=4;if((i|0)==4)$h(a,c,d)|0;if((b[a+8>>0]|0)!=2){vh(a);t=k;return}wh(f[j>>2]|0)|0;i=f[j>>2]|0;if(!(lb[f[i+204>>2]&127](i,1,g,0)|0)){d=f[g>>2]|0;e=f[d+8>>2]|0;c=e+4|0;if((f[c>>2]|0)==1)d=f[e+56>>2]|0;else{i=f[d+4>>2]|0;f[e+56>>2]=i;f[e+72>>2]=d;f[e+52>>2]=j;f[c>>2]=1;b[e+9>>0]=100;d=i}d=h[d+29>>0]<<16|h[d+28>>0]<<24|h[d+30>>0]<<8|h[d+31>>0];if(!d)d=f[(f[j>>2]|0)+24>>2]|0;f[j+44>>2]=d;i=f[e+72>>2]|0;d=f[i+20>>2]|0;bh(i);if(!(f[(f[d+212>>2]|0)+12>>2]|0)){switch(b[d+16>>0]|0){case 0:case 6:break;case 1:{if(!(b[d+4>>0]|0))sh(d,0,0)|0;break}default:wh(d)|0}xh(d)}}b[j+20>>0]=1;j=j+60|0;Ug(f[j>>2]|0);f[j>>2]=0;vh(a);t=k;return}function Vh(a){a=a|0;var b=0,c=0,e=0,g=0,h=0,i=0,j=0;i=a+20|0;c=f[i>>2]|0;e=(c|0)>0;if(e){g=f[a+16>>2]|0;b=0;do{h=f[g+(b<<4)+4>>2]|0;if(h|0)f[(f[h+4>>2]|0)+4>>2]=f[h>>2];b=b+1|0}while((b|0)!=(c|0));if(e){h=a+16|0;b=a+56|0;g=0;do{e=f[(f[h>>2]|0)+(g<<4)+12>>2]|0;do if(e)if(!(f[b>>2]|0)){Wh(e);c=f[i>>2]|0;break}else{e=e+78|0;d[e>>1]=d[e>>1]|8;break}while(0);g=g+1|0}while((g|0)<(c|0))}else j=7}else j=7;if((j|0)==7)b=a+56|0;j=a+24|0;f[j>>2]=f[j>>2]&-10;Xh(a);if(f[b>>2]|0)return;Yh(a);return}function Wh(a){a=a|0;var b=0,c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=a+8|0;b=f[a+16>>2]|0;o=f[a+20>>2]|0;g=a+40|0;c=f[a+48>>2]|0;m=f[a+52>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;g=a+24|0;h=a+32|0;e=f[h>>2]|0;f[h>>2]=0;h=a+36|0;i=f[h>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{l=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[h>>2]=0;f[g>>2]=0;if(e|0)do{g=e;e=f[e>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](g);else{l=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g)}}while((e|0)!=0);f[a+28>>2]=0;k=(c|0)==0;if(!k){j=c;do{l=f[j+8>>2]|0;do if(l|0){kg(0,f[l+28>>2]|0);e=f[l>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[l+4>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[l+12>>2]|0;if(e|0)ig(0,e);i=f[l+16>>2]|0;do if(i|0){h=i+4|0;e=f[i>>2]|0;if((f[h>>2]|0)>0){g=0;do{e=f[e+(g<<3)>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{p=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);g=g+1|0;e=f[i>>2]|0}while((g|0)<(f[h>>2]|0))}do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{p=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{p=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{p=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);j=f[j>>2]|0}while((j|0)!=0)}do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{p=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);if(!k)do{e=c;c=f[c>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{p=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}}while((c|0)!=0);f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;e=(b|0)==0;if(!e){c=b;do{g=f[c+8>>2]|0;if(g|0?(n=g+32|0,p=(f[n>>2]|0)+-1|0,f[n>>2]=p,(p|0)==0):0)hg(0,g);c=f[c>>2]|0}while((c|0)!=0)}do if(o|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{p=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}while(0);if(!e)do{c=b;b=f[b>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{p=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((b|0)!=0);c=a+56|0;e=a+64|0;b=f[e>>2]|0;f[e>>2]=0;e=a+68|0;g=f[e>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{p=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[e>>2]=0;f[c>>2]=0;if(b|0)do{c=b;b=f[b>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{p=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((b|0)!=0);f[a+60>>2]=0;f[a+72>>2]=0;b=a+78|0;c=d[b>>1]|0;if(!(c&1)){p=c&-10;d[b>>1]=p;return}p=a+4|0;f[p>>2]=(f[p>>2]|0)+1;p=c&-10;d[b>>1]=p;return}function Xh(a){a=a|0;var c=0,d=0,e=0;d=a+360|0;c=f[d>>2]|0;f[d>>2]=0;if(!c)return;a=f[a+4>>2]|0;if(a|0)do{d=a+145|0;e=(h[d>>0]|h[d+1>>0]<<8)&-4|1;b[d>>0]=e;b[d+1>>0]=e>>8;a=f[a+8>>2]|0}while((a|0)!=0);do{e=c;c=f[c+24>>2]|0;_h(e)}while((c|0)!=0);return}function Yh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+20|0;if((f[g>>2]|0)>2){h=a+16|0;e=2;b=2;do{c=f[h>>2]|0;d=c+(e<<4)|0;if(!(f[c+(e<<4)+4>>2]|0)){Zh(a,f[d>>2]|0);f[d>>2]=0}else{if((b|0)<(e|0)){c=c+(b<<4)|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2]}b=b+1|0}e=e+1|0}while((e|0)<(f[g>>2]|0));f[g>>2]=b;if((b|0)>=3)return}else f[g>>2]=2;b=a+16|0;c=f[b>>2]|0;d=a+412|0;if((c|0)==(d|0))return;f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];f[d+12>>2]=f[c+12>>2];f[d+16>>2]=f[c+16>>2];f[d+20>>2]=f[c+20>>2];f[d+24>>2]=f[c+24>>2];f[d+28>>2]=f[c+28>>2];Zh(a,c);f[b>>2]=d;return}function Zh(a,b){a=a|0;b=b|0;var c=0;if(!b)return;if(a|0){if(f[a+480>>2]|0){Kc(a,b);return}c=b;if((f[a+304>>2]|0)>>>0<=c>>>0?(f[a+308>>2]|0)>>>0>c>>>0:0){c=a+300|0;f[b>>2]=f[c>>2];f[c>>2]=b;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);return}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);return}}function _h(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;d=a+12|0;c=(f[d>>2]|0)+-1|0;f[d>>2]=c;if(c|0)return;c=f[a+8>>2]|0;if(c|0)ib[f[(f[c>>2]|0)+16>>2]&255](c)|0;if(b|0){if(f[b+480>>2]|0){Kc(b,a);return}d=a;if((f[b+304>>2]|0)>>>0<=d>>>0?(f[b+308>>2]|0)>>>0>d>>>0:0){d=b+300|0;f[a>>2]=f[d>>2];f[d>>2]=a;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{d=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function $h(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!a){n=0;return n|0}n=a+4|0;g=f[n>>2]|0;f[g+4>>2]=f[a>>2];g=f[g+8>>2]|0;if(!g){n=0;return n|0}k=(e|0)==0;a:while(1){b:do if(k){e=g+16|0;h=f[e>>2]|0;if(h)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);m=94;break}else{m=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);m=94;break}else m=94}else{l=g+1|0;if(b[l>>0]&1){e=g+16|0;h=f[e>>2]|0;if(!h){m=94;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);m=94;break}else{m=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);m=94;break}}switch(b[g>>0]|0){case 0:{f[g+4>>2]=0;j=(b[g+69>>0]|0)==0;oh(g);if(j){e=f[g+44>>2]|0;j=g+56|0;i=j;f[i>>2]=e;f[i+4>>2]=0;i=KA(e|0,0,-1,-1)|0;h=ba()|0;if(h>>>0>0|(h|0)==0&i>>>0>2147483390){k=7;break a}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](e)|0;if(!e){k=7;break a}}else{i=ib[f[37372>>2]&255](e)|0;if((f[18194]|0)>>>0>>0)f[18194]=e;h=71896;e=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&e>>>0>0){o=f[18187]|0;h=LA(e|0,h|0,i|0,((i|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&h>>>0<=o>>>0)&1}e=ib[f[37356>>2]&255](i)|0;if(!e){k=7;break a}h=ib[f[37368>>2]&255](e)|0;h=(f[18187]|0)+h|0;f[18187]=h;if(h>>>0>(f[18191]|0)>>>0)f[18191]=h;h=(f[18190]|0)+1|0;f[18190]=h;if(h>>>0>(f[18196]|0)>>>0)f[18196]=h}h=ph(g,0,f[j>>2]|0,e,0)|0;if(h|0){m=23;break a}f[g+16>>2]=e}else{i=g+32|0;j=f[i+4>>2]|0;o=g+56|0;f[o>>2]=f[i>>2];f[o+4>>2]=j}j=g+68|0;e=b[j>>0]|0;if(e<<24>>24>-1){if(e<<24>>24){i=0;do{h=f[(f[g+120+(i<<2)>>2]|0)+72>>2]|0;if(!(d[h+28>>1]&32)){bh(h);e=b[j>>0]|0}else{o=f[h+20>>2]|0;p=o+120|0;f[p>>2]=(f[p>>2]|0)+-1;o=o+136|0;f[h+16>>2]=f[o>>2];f[o>>2]=h}i=i+1|0}while((i|0)<(e<<24>>24|0))}e=f[(f[g+116>>2]|0)+72>>2]|0;if(!(d[e+28>>1]&32))bh(e);else{p=f[e+20>>2]|0;o=p+120|0;f[o>>2]=(f[o>>2]|0)+-1;p=p+136|0;f[e+16>>2]=f[p>>2];f[p>>2]=e}b[j>>0]=-1}break}case 2:{b[g>>0]=0;p=(b[g+69>>0]|0)==0;oh(g);if(p){e=f[g+44>>2]|0;j=g+56|0;p=j;f[p>>2]=e;f[p+4>>2]=0;p=KA(e|0,0,-1,-1)|0;o=ba()|0;if(o>>>0>0|(o|0)==0&p>>>0>2147483390){k=7;break a}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](e)|0;if(!e){k=7;break a}}else{i=ib[f[37372>>2]&255](e)|0;if((f[18194]|0)>>>0>>0)f[18194]=e;h=71896;e=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&e>>>0>0){p=f[18187]|0;o=LA(e|0,h|0,i|0,((i|0)<0)<<31>>31|0)|0;h=ba()|0;f[17976]=((h|0)<0|(h|0)==0&o>>>0<=p>>>0)&1}e=ib[f[37356>>2]&255](i)|0;if(!e){k=7;break a}h=ib[f[37368>>2]&255](e)|0;h=(f[18187]|0)+h|0;f[18187]=h;if(h>>>0>(f[18191]|0)>>>0)f[18191]=h;h=(f[18190]|0)+1|0;f[18190]=h;if(h>>>0>(f[18196]|0)>>>0)f[18196]=h}h=ph(g,0,f[j>>2]|0,e,0)|0;if(h|0){m=53;break a}f[g+16>>2]=e}else{j=g+32|0;o=f[j+4>>2]|0;p=g+56|0;f[p>>2]=f[j>>2];f[p+4>>2]=o}j=g+68|0;e=b[j>>0]|0;if(e<<24>>24>-1){if(e<<24>>24){i=0;do{h=f[(f[g+120+(i<<2)>>2]|0)+72>>2]|0;if(!(d[h+28>>1]&32)){bh(h);e=b[j>>0]|0}else{p=f[h+20>>2]|0;o=p+120|0;f[o>>2]=(f[o>>2]|0)+-1;p=p+136|0;f[h+16>>2]=f[p>>2];f[p>>2]=h}i=i+1|0}while((i|0)<(e<<24>>24|0))}e=f[(f[g+116>>2]|0)+72>>2]|0;if(!(d[e+28>>1]&32))bh(e);else{p=f[e+20>>2]|0;o=p+120|0;f[o>>2]=(f[o>>2]|0)+-1;p=p+136|0;f[e+16>>2]=f[p>>2];f[p>>2]=e}b[j>>0]=-1}break}default:break b}b[g>>0]=3;b[l>>0]=b[l>>0]&-15}while(0);if((m|0)==94){m=0;f[e>>2]=0;b[g>>0]=4;f[g+4>>2]=c}j=g+68|0;e=b[j>>0]|0;if(e<<24>>24>-1){if(e<<24>>24){i=0;do{h=f[(f[g+120+(i<<2)>>2]|0)+72>>2]|0;if(!(d[h+28>>1]&32)){bh(h);e=b[j>>0]|0}else{p=f[h+20>>2]|0;o=p+120|0;f[o>>2]=(f[o>>2]|0)+-1;p=p+136|0;f[h+16>>2]=f[p>>2];f[p>>2]=h}i=i+1|0}while((i|0)<(e<<24>>24|0))}e=f[(f[g+116>>2]|0)+72>>2]|0;if(!(d[e+28>>1]&32))bh(e);else{p=f[e+20>>2]|0;o=p+120|0;f[o>>2]=(f[o>>2]|0)+-1;p=p+136|0;f[e+16>>2]=f[p>>2];f[p>>2]=e}b[j>>0]=-1}g=f[g+24>>2]|0;if(!g){e=0;m=107;break}}do if((m|0)==23)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);k=h;break}else{k=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);k=h;break}else if((m|0)==53)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);k=h;break}else{k=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);k=h;break}else if((m|0)==107)return e|0;while(0);b[l>>0]=b[l>>0]&-15;e=f[n>>2]|0;f[e+4>>2]=f[a>>2];e=f[e+8>>2]|0;if(!e){p=k;return p|0}do{g=e+16|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{p=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;b[e>>0]=4;f[e+4>>2]=k;j=e+68|0;g=b[j>>0]|0;if(g<<24>>24>-1){if(g<<24>>24){i=0;do{h=f[(f[e+120+(i<<2)>>2]|0)+72>>2]|0;if(!(d[h+28>>1]&32)){bh(h);g=b[j>>0]|0}else{p=f[h+20>>2]|0;o=p+120|0;f[o>>2]=(f[o>>2]|0)+-1;p=p+136|0;f[h+16>>2]=f[p>>2];f[p>>2]=h}i=i+1|0}while((i|0)<(g<<24>>24|0))}g=f[(f[e+116>>2]|0)+72>>2]|0;if(!(d[g+28>>1]&32))bh(g);else{p=f[g+20>>2]|0;o=p+120|0;f[o>>2]=(f[o>>2]|0)+-1;p=p+136|0;f[g+16>>2]=f[p>>2];f[p>>2]=g}b[j>>0]=-1}e=f[e+24>>2]|0}while((e|0)!=0);e=k;return e|0}function ai(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=c+20|0;l=f[k>>2]|0;do if(l|0){if((f[l>>2]|0)>0){m=l+12|0;j=0;do{g=f[m>>2]|0;i=g+(j*56|0)|0;e=f[g+(j*56|0)+28>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{p=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[g+(j*56|0)+36>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{p=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[g+(j*56|0)+48>>2]|0;do if(e|0){gi(f[e+4>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{p=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);e=i+56|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));j=j+1|0}while((j|0)<(f[l>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{p=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[k>>2]=0;k=c+59|0;if(b[k>>0]|0){l=(a|0)==0;m=a+480|0;n=a+304|0;o=a+308|0;p=a+300|0;j=0;do{i=c+64+(j*72|0)|0;e=f[c+64+(j*72|0)+12>>2]|0;do if(e|0){if(!l){if(f[m>>2]|0){Kc(a,e);break}g=e;if((f[n>>2]|0)>>>0<=g>>>0?(f[o>>2]|0)>>>0>g>>>0:0){f[e>>2]=f[p>>2];f[p>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{g=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);e=f[c+64+(j*72|0)+16>>2]|0;if(e|0)do{g=e;e=f[e+4>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](g);else{q=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g)}}while((e|0)!=0);e=f[c+64+(j*72|0)+40>>2]|0;do if(e|0){g=f[e>>2]|0;if(g|0){ib[f[g+4>>2]&255](e)|0;f[e>>2]=0}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{q=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);e=f[c+64+(j*72|0)+56>>2]|0;do if(e|0){g=f[e>>2]|0;if(g|0){ib[f[g+4>>2]&255](e)|0;f[e>>2]=0}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{q=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);e=i+72|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));f[c+64+(j*72|0)+8>>2]=c;j=j+1|0}while(j>>>0<(h[k>>0]|0)>>>0)}g=c+36|0;if((f[c+40>>2]|0)==0?(d=f[g>>2]|0,d|0):0)do{e=d;d=f[d+4>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{q=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}}while((d|0)!=0);f[g>>2]=0;f[c+44>>2]=0;b[c+56>>0]=0;f[c+48>>2]=0;f[c+8>>2]=0;d=c+32|0;e=f[d>>2]|0;if(!e){f[d>>2]=0;return}if(a|0){if(f[a+480>>2]|0){Kc(a,e);f[d>>2]=0;return}q=e;if((f[a+304>>2]|0)>>>0<=q>>>0?(f[a+308>>2]|0)>>>0>q>>>0:0){q=a+300|0;f[e>>2]=f[q>>2];f[q>>2]=e;f[d>>2]=0;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);f[d>>2]=0;return}else{q=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);f[d>>2]=0;return}}function bi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=f[a+4>>2]|0;f[i+4>>2]=f[a>>2];c=f[i+8>>2]|0;if(c|0)do{d=c;c=f[c+24>>2]|0;if((f[d+8>>2]|0)==(a|0))ci(d)}while((c|0)!=0);Uh(a,0,0);a:do if(b[a+9>>0]|0){d=i+64|0;e=f[d>>2]|0;f[d>>2]=e+-1;if((e|0)<2){c=f[18035]|0;if((c|0)==(i|0)){f[18035]=f[i+68>>2];h=15;break}if(!c)h=15;else{while(1){d=f[c+68>>2]|0;if((d|0)==(i|0))break;if(!d){h=15;break a}else c=d}f[c+68>>2]=f[i+68>>2];h=15}}}else h=15;while(0);do if((h|0)==15){di(f[i>>2]|0,f[a>>2]|0);d=f[i+52>>2]|0;c=i+48|0;if(d){e=f[c>>2]|0;if(e|0){ob[d&127](e);h=18}}else h=18;do if((h|0)==18?(g=f[c>>2]|0,g|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{e=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);e=i+80|0;c=f[e>>2]|0;if(c|0){d=c+-4|0;f[e>>2]=d;c=d;do if((f[18022]|0)>>>0<=c>>>0)if((f[18023]|0)>>>0>c>>>0){f[18188]=(f[18188]|0)+-1;f[d>>2]=f[18025];f[18025]=d;g=(f[18026]|0)+1|0;f[18026]=g;f[18027]=(g|0)<(f[18021]|0)&1;break}else{c=ib[f[37368>>2]&255](d)|0;h=28;break}else{c=ib[f[37368>>2]&255](d)|0;h=28}while(0);do if((h|0)==28){f[18189]=(f[18189]|0)-c;if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{h=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);f[e>>2]=0}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{h=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);d=f[a+28>>2]|0;c=a+24|0;if(d|0)f[d+24>>2]=f[c>>2];c=f[c>>2]|0;if(c|0)f[c+28>>2]=d;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{i=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function ci(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=f[a+8>>2]|0;if(!c)return;i=f[a+20>>2]|0;f[(f[c+4>>2]|0)+4>>2]=f[c>>2];e=i+8|0;c=f[e>>2]|0;a:do if((c|0)==(a|0))f[e>>2]=f[a+24>>2];else{while(1){e=f[c+24>>2]|0;if((e|0)==(a|0))break;if(!e)break a;else c=e}f[c+24>>2]=f[a+24>>2]}while(0);h=a+68|0;c=b[h>>0]|0;if(c<<24>>24>-1){if(c<<24>>24){g=0;do{e=f[(f[a+120+(g<<2)>>2]|0)+72>>2]|0;if(!(d[e+28>>1]&32)){bh(e);c=b[h>>0]|0}else{m=f[e+20>>2]|0;n=m+120|0;f[n>>2]=(f[n>>2]|0)+-1;m=m+136|0;f[e+16>>2]=f[m>>2];f[m>>2]=e}g=g+1|0}while((g|0)<(c<<24>>24|0))}c=f[(f[a+116>>2]|0)+72>>2]|0;if(!(d[c+28>>1]&32))bh(c);else{n=f[c+20>>2]|0;m=n+120|0;f[m>>2]=(f[m>>2]|0)+-1;n=n+136|0;f[c+16>>2]=f[n>>2];f[n>>2]=c}b[h>>0]=-1}if(((b[i+20>>0]|0)==0?(j=i+12|0,k=f[j>>2]|0,k|0):0)?(f[j>>2]=0,n=f[k+72>>2]|0,l=f[n+20>>2]|0,bh(n),(f[(f[l+212>>2]|0)+12>>2]|0)==0):0){switch(b[l+16>>0]|0){case 0:case 6:break;case 1:{if(!(b[l+4>>0]|0))sh(l,0,0)|0;break}default:wh(l)|0}xh(l)}c=f[a+12>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{n=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[a+16>>2]|0;if(!c)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{n=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}function di(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;g=o;n=f[a+208>>2]|0;d=f[a+136>>2]|0;if(d|0)do{e=d;d=f[d+16>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{l=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}}while((d|0)!=0);l=a+4|0;b[l>>0]=0;do if((c|0)!=0?(0==0?(f[c+32>>2]&2048|0)==0:0):0){f[g>>2]=0;if((((b[a+12>>0]|0)==0?(f[a+24>>2]|0)!=0:0)?(i=f[a+60>>2]|0,j=f[i>>2]|0,(j|0)!=0):0)?(k=kb[f[j+40>>2]&127](i,20,g)|0,(k|0)!=12):0){if(f[g>>2]|k|0){d=0;break}}else m=14;d=n}else d=0;while(0);k=a+216|0;ei(f[k>>2]|0,c,h[a+11>>0]|0,f[a+152>>2]|0,d)|0;f[k>>2]=0;jh(a);if(!(b[a+15>>0]|0)){g=a+64|0;d=f[g>>2]|0;e=f[d>>2]|0;a:do if(e|0){if(!(b[a+7>>0]|0)){d=jb[f[e+20>>2]&255](d,2)|0;if(!d){d=f[g>>2]|0;e=f[d>>2]|0;m=22}}else m=22;if((m|0)==22)d=jb[f[e+24>>2]&255](d,a+80|0)|0;switch((d&255)<<24>>24){case 10:case 13:break;default:break a}f[a+40>>2]=d;b[a+16>>0]=6;f[a+204>>2]=(d|0)==0?81:82}while(0);switch(b[a+16>>0]|0){case 0:case 6:break;case 1:{if(!(b[l>>0]|0))sh(a,0,0)|0;break}default:wh(a)|0}xh(a)}else xh(a);d=f[a+64>>2]|0;e=f[d>>2]|0;if(e|0){ib[f[e+4>>2]&255](d)|0;f[d>>2]=0}d=f[a+60>>2]|0;e=f[d>>2]|0;if(e|0){ib[f[e+4>>2]&255](d)|0;f[d>>2]=0}b:do if(n|0){d=n;do if((f[18022]|0)>>>0<=d>>>0)if((f[18023]|0)>>>0>d>>>0){f[18188]=(f[18188]|0)+-1;f[n>>2]=f[18025];f[18025]=n;n=(f[18026]|0)+1|0;f[18026]=n;f[18027]=(n|0)<(f[18021]|0)&1;break b}else{d=ib[f[37368>>2]&255](n)|0;break}else d=ib[f[37368>>2]&255](n)|0;while(0);f[18189]=(f[18189]|0)-d;if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{m=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);ob[f[37468>>2]&127](f[(f[a+212>>2]|0)+44>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);t=o;return}else{n=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);t=o;return}}function ei(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;l=n+8|0;k=n;j=n+12|0;if(!a){a=0;t=n;return a|0}if(g){i=a+4|0;h=f[i>>2]|0;h=jb[f[(f[h>>2]|0)+28>>2]&255](h,4)|0;if(!h){h=a+43|0;if(!(b[h>>0]|0))b[h>>0]=1;h=fi(a,c,0,0,0,d,e,g,0,0)|0;if(!h){f[j>>2]=-1;h=f[i>>2]|0;c=f[h>>2]|0;if((c|0)!=0?(kb[f[c+40>>2]&127](h,10,j)|0,(f[j>>2]|0)==1):0){j=a+16|0;i=f[j+4>>2]|0;if((i|0)>-1|(i|0)==-1&(f[j>>2]|0)>>>0>4294967295){c=a+8|0;h=f[c>>2]|0;h=jb[f[(f[h>>2]|0)+24>>2]&255](h,k)|0;j=f[k+4>>2]|0;if((h|0)==0&((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)){h=f[c>>2]|0;h=kb[f[(f[h>>2]|0)+16>>2]&127](h,0,0)|0}if(h|0){f[l>>2]=f[a+108>>2];Ac(h,42647,l)}h=0}else h=0}else h=1;j=0}else{j=h;h=0}}else{j=h;h=0}}else{j=0;h=0}g=a+43|0;c=b[g>>0]|0;if(c<<24>>24!=2?(b[a+50>>0]|0)==0:0)m=27;else{i=a+24|0;if((f[i>>2]|0)>0){d=a+32|0;c=0;do{e=f[(f[d>>2]|0)+(c<<2)>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{l=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[(f[d>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[i>>2]|0));c=b[g>>0]|0}if(c<<24>>24!=2)m=27}if((m|0)==27){m=f[a+4>>2]|0;jb[f[(f[m>>2]|0)+64>>2]&255](m,h)|0}c=f[a+8>>2]|0;d=f[c>>2]|0;if(d|0){ib[f[d+4>>2]&255](c)|0;f[c>>2]=0}if(h|0){m=f[a>>2]|0;kb[f[m+28>>2]&127](m,f[a+108>>2]|0,0)|0}h=f[a+32>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{m=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);a=j;t=n;return a|0}else{m=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);a=j;t=n;return a|0}return 0} -function Ki(a,c,e,g,i,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;ya=t;t=t+352|0;xa=ya+56|0;wa=ya+48|0;va=ya+40|0;p=ya+24|0;o=ya+16|0;n=ya+8|0;m=ya;sa=ya+336|0;ta=ya+64|0;f[k>>2]=0;a:do if(!a){f[m>>2]=40543;Ac(21,43101,m)}else{m=f[a+96>>2]|0;b:do if((m|0)<-264537850){switch(m|0){case -1607883113:break;default:break b}if(!c)break a;la=a+20|0;n=f[la>>2]|0;ma=a+16|0;if((n|0)>0){o=f[ma>>2]|0;m=0;do{p=f[o+(m<<4)+4>>2]|0;if(p|0)f[(f[p+4>>2]|0)+4>>2]=f[p>>2];m=m+1|0}while((m|0)!=(n|0))}E=ta+184|0;F=ta+216|0;G=(g&1|0)==0;H=ta+24|0;I=a+272|0;J=a+360|0;K=ta+64|0;L=(e|0)>-1;M=a+4|0;N=ta+68|0;O=(e|0)==0;P=ta+12|0;Q=a+112|0;R=c+(e+-1)|0;S=ta+17|0;T=a+81|0;U=a+68|0;V=c+e|0;W=ta+220|0;X=KA(e|0,((e|0)<0)<<31>>31|0,1,0)|0;Y=ba()|0;Z=(l|0)==0;_=a+276|0;$=a+288|0;aa=a+300|0;ca=a+480|0;da=ta+8|0;ea=a+165|0;fa=a+296|0;ga=a+284|0;ha=a+304|0;ia=ta+195|0;ja=c;w=g&255;x=a+292|0;y=a+308|0;z=w<<24>>24>-1;A=a+64|0;B=ta+256|0;C=a+256|0;D=a+56|0;v=0;c:while(1){d:while(1){f[sa>>2]=0;_A(ta|0,0,144)|0;m=E;n=m+88|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[F>>2]=i;if(!G){b[H>>0]=1;f[I>>2]=(f[I>>2]|0)+1}g=f[la>>2]|0;e:do if((g|0)>0){p=f[ma>>2]|0;m=0;f:while(1){o=f[p+(m<<4)+4>>2]|0;if(o|0?(ua=f[o+4>>2]|0,f[ua+4>>2]=f[o>>2],b[o+9>>0]|0):0){if((f[ua+76>>2]|0)!=(o|0)?d[ua+22>>1]&64:0)break;n=f[ua+72>>2]|0;if(n|0)do{do if((f[n>>2]|0)!=(o|0)){if((f[n+4>>2]|0)!=1)break;if((b[n+8>>0]|0)!=1)break f}while(0);n=f[n+12>>2]|0}while((n|0)!=0)}m=m+1|0;if((m|0)>=(g|0)){ka=31;break e}}f[va>>2]=f[p+(m<<4)>>2];vg(a,262,43163,va);n=262}else ka=31;while(0);g:do if((ka|0)==31){ka=0;n=f[J>>2]|0;f[J>>2]=0;if(n|0){m=f[M>>2]|0;if(m|0)do{u=m+145|0;s=(h[u>>0]|h[u+1>>0]<<8)&-4|1;b[u>>0]=s;b[u+1>>0]=s>>8;m=f[m+8>>2]|0}while((m|0)!=0);do{o=n;n=f[n+24>>2]|0;p=f[o>>2]|0;s=o+12|0;u=(f[s>>2]|0)+-1|0;f[s>>2]=u;h:do if(!u){m=f[o+8>>2]|0;if(m|0)ib[f[(f[m>>2]|0)+16>>2]&255](m)|0;do if(p|0){if(f[p+480>>2]|0){Kc(p,o);break h}m=o;if((f[p+304>>2]|0)>>>0>m>>>0)break;if((f[p+308>>2]|0)>>>0<=m>>>0)break;u=p+300|0;f[o>>2]=f[u>>2];f[u>>2]=o;break h}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{u=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0)}while((n|0)!=0)}f[ta>>2]=a;i:do if(L){if(!O?(b[R>>0]|0)==0:0){ka=75;break}if((f[Q>>2]|0)<(e|0)){vg(a,18,43193,wa);if(!(b[T>>0]|0)){n=f[U>>2]&18;break g}else{Di(a);n=7;break g}}j:do if(f[I>>2]|0){if(!(b[T>>0]|0))ka=64}else{do if(Y>>>0>0|((Y|0)==0?X>>>0>(j[_>>1]|0)>>>0:0))m=$;else{m=f[aa>>2]|0;if(m|0){f[aa>>2]=f[m>>2];f[ga>>2]=(f[ga>>2]|0)+1;na=m;ka=65;break j}m=f[fa>>2]|0;if(!m){m=x;break}f[fa>>2]=f[m>>2];f[ga>>2]=(f[ga>>2]|0)+1;na=m;ka=65;break j}while(0);f[m>>2]=(f[m>>2]|0)+1;ka=64}while(0);if((ka|0)==64){na=Dc(a,X,Y)|0;ka=65}if((ka|0)==65?(ka=0,na|0):0){YA(na|0,c|0,e|0)|0;b[na+e>>0]=0;bg(ta,na,sa)|0;m=na;f[W>>2]=c+((f[W>>2]|0)-m);if(f[ca>>2]|0){Kc(a,na);break}do if((f[ha>>2]|0)>>>0<=m>>>0){if((f[y>>2]|0)>>>0<=m>>>0)break;f[na>>2]=f[aa>>2];f[aa>>2]=na;break i}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](na);break}else{u=ib[f[37368>>2]&255](na)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](na);break}}f[W>>2]=V}else ka=75;while(0);if((ka|0)==75){ka=0;bg(ta,c,sa)|0}if((f[P>>2]|0)==101)f[P>>2]=0;k:do if(b[S>>0]|0?(oa=f[ta>>2]|0,pa=oa+20|0,(f[pa>>2]|0)>0):0){q=oa+16|0;r=oa+24|0;s=oa+56|0;g=0;l:while(1){m=f[q>>2]|0;u=f[m+(g<<4)+4>>2]|0;do if(u|0){if(!(b[u+8>>0]|0)){m=Li(u,0,0)|0;if((m|0)>=7)break l;switch(m|0){case 0:break;default:break k}o=f[u+4>>2]|0;f[o+4>>2]=f[u>>2];o=f[(f[o+12>>2]|0)+56>>2]|0;p=1;o=h[o+41>>0]<<16|h[o+40>>0]<<24|h[o+42>>0]<<8|h[o+43>>0];m=f[q>>2]|0}else{o=f[u+4>>2]|0;f[o+4>>2]=f[u>>2];o=f[(f[o+12>>2]|0)+56>>2]|0;p=0;o=h[o+41>>0]<<16|h[o+40>>0]<<24|h[o+42>>0]<<8|h[o+43>>0]}n=f[m+(g<<4)+12>>2]|0;if((o|0)!=(f[n>>2]|0)){o=n+78|0;d[o>>1]=d[o>>1]|8;o=(f[m+28>>2]|0)+78|0;d[o>>1]=d[o>>1]|8;f[r>>2]=f[r>>2]&-9;m:do if(!(f[s>>2]|0)){n=f[pa>>2]|0;if((n|0)<=0)break;o=0;while(1){m=f[m+(o<<4)+12>>2]|0;if(d[m+78>>1]&8){Wh(m);n=f[pa>>2]|0}m=o+1|0;if((m|0)>=(n|0))break m;o=m;m=f[q>>2]|0}}while(0);f[P>>2]=17}if(!p)break;f[(f[u+4>>2]|0)+4>>2]=f[u>>2];if(Gg(u,0)|0)break;Hg(u,0)|0}while(0);g=g+1|0;if((g|0)>=(f[pa>>2]|0))break k}if((m|0)<3082)switch(m|0){case 7:break;default:break k}else switch(m|0){case 3082:break;default:break k}m=oa+81|0;if((b[m>>0]|0)==0?(b[oa+82>>0]|0)==0:0){b[m>>0]=1;if((f[oa+180>>2]|0)>0)f[oa+264>>2]=1;u=oa+272|0;f[u>>2]=(f[u>>2]|0)+1}}while(0);if(b[T>>0]|0)f[P>>2]=7;if(!Z)f[l>>2]=f[W>>2];u=f[P>>2]|0;s=(u|0)==0;n:do if(s?(qa=f[da>>2]|0,qa|0):0){switch(b[ia>>0]|0){case 0:break n;case 2:{Mi(qa,4);m=12;n=8;break}default:{Mi(qa,8);m=8;n=0}}o=n;do{p=f[da>>2]|0;if(!(b[(f[p>>2]|0)+81>>0]|0))$e((f[p+100>>2]|0)+((o-n|0)*40|0)|0,f[7744+(o<<2)>>2]|0,-1,1,0)|0;o=o+1|0}while(o>>>0>>0)}while(0);do if(!(b[ea>>0]|0)){r=f[da>>2]|0;q=(f[W>>2]|0)-ja|0;if(!r){m=0;ka=154;break}b[r+144>>0]=w;if(z)f[r+204>>2]=0;o=f[r>>2]|0;p=KA(q|0,((q|0)<0)<<31>>31|0,1,0)|0;g=ba()|0;o:do if(f[o+272>>2]|0)if(!(b[o+81>>0]|0))ka=131;else m=0;else{do if(!(g>>>0>0|((g|0)==0?p>>>0>(j[o+276>>1]|0)>>>0:0))){n=o+300|0;m=f[n>>2]|0;if(m|0){f[n>>2]=f[m>>2];ka=o+284|0;f[ka>>2]=(f[ka>>2]|0)+1;ka=132;break o}n=o+296|0;m=f[n>>2]|0;if(!m){m=o+292|0;break}else{f[n>>2]=f[m>>2];ka=o+284|0;f[ka>>2]=(f[ka>>2]|0)+1;ka=132;break o}}else m=o+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1;ka=131}while(0);if((ka|0)==131){m=Dc(o,p,g)|0;ka=132}do if((ka|0)==132){if(!m){m=0;break}YA(m|0,c|0,q|0)|0;b[m+q>>0]=0}while(0);f[r+184>>2]=m;ka=135}else ka=135;while(0);p:do if((ka|0)==135){ka=0;q=f[da>>2]|0;m=q;if(!q){ka=154;break}if(s?(b[T>>0]|0)==0:0){ka=154;break}r=q+20|0;n=f[r>>2]|0;if((n|0)<832317811)switch(n|0){case 770837923:{ka=139;break}default:{}}else switch(n|0){case 832317811:{ka=139;break}default:{}}if((ka|0)==139){ka=0;fg(q)|0}p=f[q>>2]|0;gg(p,q);g=f[q+4>>2]|0;o=q+8|0;n=f[o>>2]|0;if(!g)f[p+4>>2]=n;else{f[g+8>>2]=n;n=f[o>>2]|0}if(n|0)f[n+4>>2]=g;f[r>>2]=1443283912;f[q>>2]=0;do if(p|0){if(f[p+480>>2]|0){Kc(p,q);break p}if((f[p+304>>2]|0)>>>0>m>>>0)break;if((f[p+308>>2]|0)>>>0<=m>>>0)break;r=p+300|0;f[q>>2]=f[r>>2];f[r>>2]=q;break p}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{r=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}while(0);if((ka|0)==154){ka=0;f[k>>2]=m}n=f[sa>>2]|0;q:do if(n){f[xa>>2]=n;vg(a,u,40840,xa);if(f[ca>>2]|0){Kc(a,n);break}m=n;do if((f[ha>>2]|0)>>>0<=m>>>0){if((f[y>>2]|0)>>>0<=m>>>0)break;f[n>>2]=f[aa>>2];f[aa>>2]=n;break q}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{s=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}else{f[A>>2]=u;if(!s){Bg(a,u);break}if(!(f[C>>2]|0))break;Bg(a,0)}while(0);m=f[B>>2]|0;if(!m){n=u;break}while(1){f[B>>2]=f[m+4>>2];r:do if(!(f[ca>>2]|0)){n=m;do if((f[ha>>2]|0)>>>0<=n>>>0){if((f[y>>2]|0)>>>0<=n>>>0)break;f[m>>2]=f[aa>>2];f[aa>>2]=m;break r}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{s=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}else Kc(a,m);while(0);m=f[B>>2]|0;if(!m){n=u;break}}}while(0);o=f[ta>>2]|0;m=f[K>>2]|0;do if(m|0){if(o|0){if(f[o+480>>2]|0){Kc(o,m);break}u=m;if((f[o+304>>2]|0)>>>0<=u>>>0?(f[o+308>>2]|0)>>>0>u>>>0:0){u=o+300|0;f[m>>2]=f[u>>2];f[u>>2]=m;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{u=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);m=f[N>>2]|0;if(m|0)jg(o,m);if(o|0){u=o+272|0;f[u>>2]=(f[u>>2]|0)-(h[H>>0]|0)}switch(n|0){case 513:break;case 17:break d;default:{ka=204;break c}}}if((f[D>>2]|0)==0?(ra=f[la>>2]|0,(ra|0)>0):0){o=0;m=ra;do{n=f[(f[ma>>2]|0)+(o<<4)+12>>2]|0;if(d[n+78>>1]&8){Wh(n);m=f[la>>2]|0}o=o+1|0}while((o|0)<(m|0))}if(!v)v=1;else{ka=201;break}}if((ka|0)==201)if(!(b[T>>0]|0)){xa=f[U>>2]&17;t=ya;return xa|0}else{Di(a);xa=7;t=ya;return xa|0}else if((ka|0)==204)if((n|0)==3082|(b[T>>0]|0)!=0){Di(a);xa=7;t=ya;return xa|0}else{xa=f[U>>2]&n;t=ya;return xa|0}}else{if((m|0)<1266094736)switch(m|0){case -264537850:break;default:break b}else switch(m|0){case 1266094736:break;default:break b}f[o>>2]=43154;Ac(21,43101,o);break a}while(0);f[n>>2]=43146;Ac(21,43101,n)}while(0);f[p>>2]=40433;f[p+4>>2]=123394;f[p+8>>2]=40460;Ac(21,40408,p);xa=21;t=ya;return xa|0}function Li(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=t;t=t+16|0;R=Y;L=Y+12|0;X=f[a+4>>2]|0;m=f[a>>2]|0;Q=X+4|0;f[Q>>2]=m;V=a+8|0;n=b[V>>0]|0;do if(n<<24>>24!=2?(S=(c|0)!=0,S|n<<24>>24!=1):0){if(!(0==0?(f[m+32>>2]&33554432|0)==0:0)?(b[(f[X>>2]|0)+14>>0]|0)==0:0){U=X+22|0;d[U>>1]=d[U>>1]&-2}M=X+22|0;q=d[M>>1]|0;if(S&(q&1)!=0){a=8;t=Y;return a|0}a:do if(S)if((q&128)==0&(b[X+20>>0]|0)!=2){if((c|0)>1?(o=f[X+72>>2]|0,o|0):0){m=o;do{n=f[m>>2]|0;if((n|0)!=(a|0)){p=n;K=16;break a}m=f[m+12>>2]|0}while((m|0)!=0)}}else K=10;else if(q&128)K=10;while(0);if((K|0)==10){p=f[X+76>>2]|0;K=16}if((K|0)==16?f[p>>2]|0:0){a=262;t=Y;return a|0}J=a+9|0;b:do if(b[J>>0]|0){if(!((q&64)==0?1:(f[X+76>>2]|0)==(a|0))){a=262;t=Y;return a|0}m=f[X+72>>2]|0;if(m|0){while(1){if(((f[m>>2]|0)!=(a|0)?(f[m+4>>2]|0)==1:0)?(b[m+8>>0]|0)!=1:0){g=262;break}m=f[m+12>>2]|0;if(!m)break b}t=Y;return g|0}}while(0);d[M>>1]=q&-17;U=X+44|0;if(!(f[U>>2]|0))d[M>>1]=q|16;H=X+12|0;I=X+20|0;x=X+24|0;y=X+26|0;z=X+28|0;A=X+30|0;B=X+21|0;w=X+36|0;C=X+32|0;D=X+80|0;E=X+17|0;F=X+18|0;G=(c|0)<2;n=0;c:while(1){d:do if(!(f[H>>2]|0)){e:while(1){m=Ni(f[X>>2]|0)|0;if(m|0){K=135;break d}m=f[X>>2]|0;m=lb[f[m+204>>2]&127](m,1,L,0)|0;if(m|0){K=35;break}n=f[L>>2]|0;m=f[n+8>>2]|0;o=m+4|0;if((f[o>>2]|0)==1)s=f[m+56>>2]|0;else{s=f[n+4>>2]|0;f[m+56>>2]=s;f[m+72>>2]=n;f[m+52>>2]=X;f[o>>2]=1;b[m+9>>0]=100}u=m;n=h[s+29>>0]<<16|h[s+28>>0]<<24|h[s+30>>0]<<8|h[s+31>>0];v=f[X>>2]|0;r=f[v+24>>2]|0;if(!((n|0)!=0?(Hz(s+24|0,s+92|0,4)|0)==0:0))n=r;p=f[(f[Q>>2]|0)+32>>2]|0;q=(p&33554432|0)==0&0==0?n:0;do if((q|0)>0){if(Hz(s,6064,16)|0){n=26;break e}if((h[s+18>>0]|0)>2)d[M>>1]=d[M>>1]|1;n=b[s+19>>0]|0;if((n&255)>2){n=26;break e}do if(n<<24>>24==2){if(d[M>>1]&32){K=62;break}if(b[v+12>>0]|0){K=62;break}if(f[v+216>>2]|0){K=62;break}n=f[f[v+60>>2]>>2]|0;if(b[v+13>>0]|0){n=14;break e}if(!(b[v+4>>0]|0)){if((f[n>>2]|0)<=1){n=14;break e}if(!(f[n+52>>2]|0)){n=14;break e}}n=f[v+64>>2]|0;o=f[n>>2]|0;if(o|0){ib[f[o+4>>2]&255](n)|0;f[n>>2]=0}n=Oi(v)|0;if(n|0)break e;b[v+5>>0]=5;b[v+16>>0]=0;v=f[m+72>>2]|0;m=f[v+20>>2]|0;bh(v);if(f[(f[m+212>>2]|0)+12>>2]|0)break;f:do switch(b[m+16>>0]|0){case 0:case 6:break;case 1:{if(b[m+4>>0]|0)break f;sh(m,0,0)|0;break}default:wh(m)|0}while(0);xh(m)}else K=62;while(0);if((K|0)==62){K=0;if(Hz(s+21|0,43272,3)|0){n=26;break e}o=h[s+17>>0]<<16|h[s+16>>0]<<8;if((o+-257|0)>>>0>65279|(o+16777215&o|0)!=0){n=26;break e}v=h[s+20>>0]|0;n=o-v|0;if((o|0)==(f[C>>2]|0)){if(((p&268435457|0)!=1|0!=0)&(q|0)>(r|0)){K=82;break e}if(n>>>0<480){n=26;break e}f[C>>2]=o;f[w>>2]=n;b[E>>0]=(h[s+53>>0]<<16|h[s+52>>0]<<24|h[s+54>>0]<<8|h[s+55>>0]|0)!=0&1;b[F>>0]=(h[s+65>>0]<<16|h[s+64>>0]<<24|h[s+66>>0]<<8|h[s+67>>0]|0)!=0&1;K=85;break}u=f[m+72>>2]|0;m=f[u+20>>2]|0;bh(u);if(!(f[(f[m+212>>2]|0)+12>>2]|0)){g:do switch(b[m+16>>0]|0){case 0:case 6:break;case 1:{if(b[m+4>>0]|0)break g;sh(m,0,0)|0;break}default:wh(m)|0}while(0);xh(m)}f[w>>2]=n;f[C>>2]=o;m=f[D>>2]|0;if(m|0){n=m+-4|0;f[D>>2]=n;m=n;do if((f[18022]|0)>>>0<=m>>>0)if((f[18023]|0)>>>0>m>>>0){f[18188]=(f[18188]|0)+-1;f[n>>2]=f[18025];f[18025]=n;u=(f[18026]|0)+1|0;f[18026]=u;f[18027]=(u|0)<(f[18021]|0)&1;break}else{m=ib[f[37368>>2]&255](n)|0;K=77;break}else{m=ib[f[37368>>2]&255](n)|0;K=77}while(0);do if((K|0)==77){K=0;f[18189]=(f[18189]|0)-m;if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{u=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[D>>2]=0}m=ih(f[X>>2]|0,C,v)|0;if(m|0){K=135;break d}}m=f[H>>2]|0}else{n=f[w>>2]|0;K=85}while(0);if((K|0)==85){K=0;v=((((n<<6)+-768|0)>>>0)/255|0)+65513|0;s=v&65535;d[x>>1]=s;r=((((n<<5)+-384|0)>>>0)/255|0)+65513&65535;d[y>>1]=r;d[z>>1]=n+65501;d[A>>1]=r;b[B>>0]=(s&65535)>127?127:v&255;f[H>>2]=u;f[U>>2]=q}if(m|0){n=0;K=96;break d}}if((K|0)==35){K=135;break}else if((K|0)==82){f[R>>2]=42469;f[R+4>>2]=66053;f[R+8>>2]=40460;Ac(11,40408,R);n=11}K=f[m+72>>2]|0;m=f[K+20>>2]|0;bh(K);if(!(f[(f[m+212>>2]|0)+12>>2]|0)){switch(b[m+16>>0]|0){case 0:case 6:break;case 1:{if(!(b[m+4>>0]|0))sh(m,0,0)|0;break}default:wh(m)|0}xh(m)}f[H>>2]=0;m=n;K=135}else K=96;while(0);h:do if((K|0)==96){K=0;i:do if(S&(n|0)==0){if(d[M>>1]&1){m=8;K=135;break h}v=f[X>>2]|0;n=f[v+40>>2]|0;j:do if(!n){b[v+21>>0]=(b[(f[a>>2]|0)+80>>0]|0)==2&1;u=v+16|0;if((b[u>>0]|0)==1){p=v+216|0;m=f[p>>2]|0;k:do if(!m){s=v+17|0;m=b[s>>0]|0;l:do switch(m<<24>>24){case 0:case 1:case 5:{if(!(b[v+13>>0]|0)){n=f[v+60>>2]|0;n=jb[f[(f[n>>2]|0)+28>>2]&255](n,2)|0;if(n|0){K=132;break j}m=b[s>>0]|0}if(m<<24>>24==5){m=5;break l}b[s>>0]=2;m=2;break}default:{}}while(0);if(!G){o=v+13|0;p=v+60|0;q=v+176|0;r=v+180|0;m:while(1){switch(m<<24>>24){case 0:case 1:case 2:case 3:case 5:break;default:break k}if(b[o>>0]|0)break;n=f[p>>2]|0;n=jb[f[(f[n>>2]|0)+28>>2]&255](n,4)|0;switch(n|0){case 0:break m;case 5:break;default:{K=132;break j}}if(!(ib[f[q>>2]&255](f[r>>2]|0)|0)){m=5;K=135;break h}m=b[s>>0]|0}b[s>>0]=4}}else{do if(b[v+4>>0]|0){n=m+43|0;if(b[n>>0]|0)break;o=v+17|0;n:do switch(b[o>>0]|0){case 0:case 1:case 2:case 3:case 5:{if(b[v+13>>0]|0){b[o>>0]=4;K=108;break n}n=f[v+60>>2]|0;n=jb[f[(f[n>>2]|0)+28>>2]&255](n,4)|0;if(n|0){K=132;break j}m=f[p>>2]|0;n=m+43|0;s=b[n>>0]|0;b[o>>0]=4;if(!(s<<24>>24))K=108;break}default:K=108}while(0);if((K|0)==108){K=f[m+4>>2]|0;lb[f[(f[K>>2]|0)+56>>2]&127](K,(d[m+40>>1]|0)+3|0,1,5)|0;m=f[p>>2]|0}b[n>>0]=1}while(0);if(b[m+46>>0]|0){m=8;K=135;break h}n=m+43|0;if((b[n>>0]|0)==0?(N=f[m+4>>2]|0,N=lb[f[(f[N>>2]|0)+56>>2]&127](N,0,1,10)|0,N|0):0){n=N;K=132;break j}o=m+44|0;b[o>>0]=1;if(!(Hz(m+52|0,f[f[m+32>>2]>>2]|0,48)|0))break;if(!(b[n>>0]|0)){K=f[m+4>>2]|0;lb[f[(f[K>>2]|0)+56>>2]&127](K,0,1,9)|0}b[o>>0]=0;K=134;break j}while(0);b[u>>0]=2;K=f[v+24>>2]|0;f[v+36>>2]=K;f[v+32>>2]=K;f[v+28>>2]=K;K=v+72|0;f[K>>2]=0;f[K+4>>2]=0;K=133}else K=133}else K=132;while(0);if((K|0)==132){K=0;switch(n|0){case 0:{K=133;break}case 517:{K=134;break}default:break i}}if((K|0)==133){K=0;n=Mg(X)|0;break}else if((K|0)==134){m=(b[I>>0]|0)==0?5:517;K=135;break h}}while(0);if(!n){n=0;break c}else s=0}while(0);if((K|0)==135){K=0;n=m;s=(m|0)==0}if(((b[I>>0]|0)==0?(O=f[H>>2]|0,O|0):0)?(f[H>>2]=0,v=f[O+72>>2]|0,P=f[v+20>>2]|0,bh(v),(f[(f[P+212>>2]|0)+12>>2]|0)==0):0){switch(b[P+16>>0]|0){case 0:case 6:break;case 1:{if(!(b[P+4>>0]|0))sh(P,0,0)|0;break}default:wh(P)|0}xh(P)}if((n&255|0)!=5){K=156;break}if(b[I>>0]|0){K=156;break}o=f[Q>>2]|0;m=f[(f[X>>2]|0)+60>>2]|0;p=f[o+396>>2]|0;if(!p){K=154;break}r=o+404|0;q=f[r>>2]|0;if((q|0)<0){K=154;break}if(!(b[o+408>>0]|0))m=jb[p&255](f[o+400>>2]|0,q)|0;else m=kb[p&127](f[o+400>>2]|0,q,m)|0;if(!m){K=153;break}f[r>>2]=(f[r>>2]|0)+1}if((K|0)==153){f[r>>2]=-1;if(!s){a=n;t=Y;return a|0}}else if((K|0)==154){if(!s){a=n;t=Y;return a|0}}else if((K|0)==156)if(!s){a=n;t=Y;return a|0}if((b[V>>0]|0)==0?(R=X+40|0,f[R>>2]=(f[R>>2]|0)+1,b[J>>0]|0):0){b[a+40>>0]=1;R=X+72|0;f[a+44>>2]=f[R>>2];f[R>>2]=a+32}m=S?2:1;b[V>>0]=m;if((m&255)>(h[I>>0]|0))b[I>>0]=m;if(S?(T=f[H>>2]|0,f[X+76>>2]=a,g=d[M>>1]|0,d[M>>1]=(c|0)>1?g|64:g&-65,g=f[U>>2]|0,W=T+56|0,j=f[W>>2]|0,i=j+28|0,l=j+29|0,k=j+30|0,j=j+31|0,(g|0)!=(h[l>>0]<<16|h[i>>0]<<24|h[k>>0]<<8|h[j>>0]|0)):0){m=f[T+72>>2]|0;n=f[m+20>>2]|0;if((d[m+28>>1]&4)!=0?(f[n+24>>2]|0)>>>0>=(f[m+24>>2]|0)>>>0:0){if(f[n+96>>2]|0){g=Ng(m)|0;K=172}}else K=168;do if((K|0)==168){g=f[n+40>>2]|0;if(g|0){a=g;t=Y;return a|0}if((f[n+148>>2]|0)>>>0>(f[n+152>>2]|0)>>>0){g=Og(m)|0;K=172;break}else{g=Pg(m)|0;K=172;break}}while(0);do if((K|0)==172)if(!g){i=f[W>>2]|0;l=i+29|0;k=i+30|0;j=i+31|0;i=i+28|0;g=f[U>>2]|0;break}else{a=g;t=Y;return a|0}while(0);b[i>>0]=g>>>24;b[l>>0]=g>>>16;b[k>>0]=g>>>8;b[j>>0]=g;break}if(n|0){a=n;t=Y;return a|0}}while(0);if(e|0){W=f[(f[X+12>>2]|0)+56>>2]|0;f[e>>2]=h[W+41>>0]<<16|h[W+40>>0]<<24|h[W+42>>0]<<8|h[W+43>>0]}if(!c){a=0;t=Y;return a|0}i=f[X>>2]|0;g=f[(f[a>>2]|0)+452>>2]|0;if((f[i+96>>2]|0)>=(g|0)){a=0;t=Y;return a|0}if(!(b[i+6>>0]|0)){a=0;t=Y;return a|0}a=Pi(i,g)|0;t=Y;return a|0}function Mi(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f[a>>2]|0;r=a+140|0;g=d[r>>1]|0;do if(g<<16>>16){q=a+100|0;e=f[q>>2]|0;a:do if(e|0){p=e+(((g&65535)<<1)*40|0)|0;k=f[e+32>>2]|0;l=k+480|0;g=(k|0)==0;m=k+304|0;n=k+308|0;o=k+300|0;if(f[l>>2]|0){if(g)while(1){do if(f[e+24>>2]|0?(h=f[e+20>>2]|0,h|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{o=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);e=e+40|0;if(e>>>0>=p>>>0)break a}while(1){do if(f[e+24>>2]|0?(i=f[e+20>>2]|0,i|0):0){if(f[l>>2]|0){Kc(k,i);break}h=i;if((f[m>>2]|0)>>>0<=h>>>0?(f[n>>2]|0)>>>0>h>>>0:0){f[i>>2]=f[o>>2];f[o>>2]=i;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{h=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);e=e+40|0;if(e>>>0>=p>>>0)break a}}if(g)while(1){g=e+8|0;if(!(d[g>>1]&9216)){h=e+24|0;if(f[h>>2]|0){i=f[e+20>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{o=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[h>>2]=0}}else ff(e);d[g>>1]=128;e=e+40|0;if(e>>>0>=p>>>0)break a}do{g=e+8|0;if(!(d[g>>1]&9216)){h=e+24|0;if(f[h>>2]|0){i=f[e+20>>2]|0;do if(!(f[l>>2]|0)){u=i;if((f[m>>2]|0)>>>0<=u>>>0?(f[n>>2]|0)>>>0>u>>>0:0){f[i>>2]=f[o>>2];f[o>>2]=i;break}if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{u=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}else Kc(k,i);while(0);f[h>>2]=0}}else ff(e);d[g>>1]=128;e=e+40|0}while(e>>>0

>>0)}while(0);e=f[q>>2]|0;if(e|0){if(t|0){if(f[t+480>>2]|0){Kc(t,e);break}u=e;if((f[t+304>>2]|0)>>>0<=u>>>0?(f[t+308>>2]|0)>>>0>u>>>0:0){u=t+300|0;f[e>>2]=f[u>>2];f[u>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}}while(0);d[r>>1]=c;h=c*80|0;b:do if(f[t+272>>2]|0)if(!(b[t+81>>0]|0))s=71;else{f[a+100>>2]=0;return}else{do if(!(0<0|(0==0?(j[t+276>>1]|0)>>>0>>0:0))){g=t+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];u=t+284|0;f[u>>2]=(f[u>>2]|0)+1;break b}g=t+296|0;e=f[g>>2]|0;if(!e){e=t+292|0;break}else{f[g>>2]=f[e>>2];u=t+284|0;f[u>>2]=(f[u>>2]|0)+1;break b}}else e=t+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;s=71}while(0);if((s|0)==71)e=Dc(t,h,0)|0;f[a+100>>2]=e;if(!((c|0)>0&(e|0)!=0))return;g=c<<1;while(1){f[e+32>>2]=t;d[e+8>>1]=1;f[e+24>>2]=0;if((g|0)>1){g=g+-1|0;e=e+40|0}else break}return}function Ni(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=t;t=t+48|0;p=G+16|0;E=G;v=G+32|0;h=G+28|0;C=a+216|0;e=f[C>>2]|0;a:do if(!e){B=a+16|0;b:do if(!(b[B>>0]|0)){q=a+17|0;A=a+13|0;z=a+60|0;e=a+176|0;g=a+180|0;c:while(1){c=b[q>>0]|0;switch(c<<24>>24){case 0:case 5:break;default:{u=11;break c}}if(b[A>>0]|0){u=8;break}c=f[z>>2]|0;c=jb[f[(f[c>>2]|0)+28>>2]&255](c,1)|0;switch(c|0){case 0:{u=7;break c}case 5:break;default:{u=136;break a}}if(!(ib[f[e>>2]&255](f[g>>2]|0)|0)){c=5;u=138;break a}}if((u|0)==7){c=b[q>>0]|0;u=8}else if((u|0)==11)if((c&255)<2)u=12;else u=48;if((u|0)==8)if(c<<24>>24==5)u=48;else{b[q>>0]=1;u=12}if((u|0)==12){g=f[a>>2]|0;f[v>>2]=1;j=a+64|0;k=(f[f[j>>2]>>2]|0)!=0;if(k){c=0;e=1}else{c=lb[f[g+32>>2]&127](g,f[a+172>>2]|0,0,v)|0;e=f[v>>2]|0}if((e|0)!=0&(c|0)==0){f[h>>2]=0;c=f[z>>2]|0;c=jb[f[(f[c>>2]|0)+36>>2]&255](c,h)|0;d:do if(!(f[h>>2]|c)){c=f[C>>2]|0;if(((c|0)!=0?(d[c+40>>1]|0)>-1:0)?(i=f[c+72>>2]|0,(i|0)!=0):0){c=i;u=22}else u=19;do if((u|0)==19){c=f[z>>2]|0;e=f[c>>2]|0;if(e){i=E;f[i>>2]=0;f[i+4>>2]=0;c=jb[f[e+24>>2]&255](c,E)|0;if(!c){i=E;u=f[a+152>>2]|0;c=((u|0)<0)<<31>>31;i=KA(f[i>>2]|0,f[i+4>>2]|0,-1,-1)|0;i=KA(i|0,ba()|0,u|0,c|0)|0;c=OA(i|0,ba()|0,u|0,c|0)|0;ba()|0;u=22;break}else{e=0;break d}}else{l=0;u=25}}while(0);if((u|0)==22){e=a+156|0;if(c>>>0>(f[e>>2]|0)>>>0)f[e>>2]=c;else{l=c;u=25}}if((u|0)==25?!(k|(l|0)!=0):0){c=b[q>>0]|0;switch(c<<24>>24){case 0:case 1:case 5:{if(!(b[A>>0]|0)){n=f[z>>2]|0;if(jb[f[(f[n>>2]|0)+28>>2]&255](n,2)|0){e=0;c=0;break d}c=b[q>>0]|0}if(c<<24>>24!=5)b[q>>0]=2;break}default:{}}kb[f[g+28>>2]&127](g,f[a+172>>2]|0,0)|0;if(b[a+4>>0]|0){e=0;c=0;break}c=f[z>>2]|0;e=f[c>>2]|0;if(!e){e=0;c=0;break}if(!(b[A>>0]|0))jb[f[e+32>>2]&255](c,1)|0;if((b[q>>0]|0)==5){e=0;c=0;break}b[q>>0]=1;e=0;c=0;break}e:do if(!k){f[E>>2]=2049;c=mb[f[g+24>>2]&127](g,f[a+172>>2]|0,f[j>>2]|0,2049,E)|0;switch(c|0){case 0:break e;case 14:break;default:{e=0;break d}}e=1;c=0;break d}while(0);b[E>>0]=0;c=f[j>>2]|0;c=mb[f[(f[c>>2]|0)+8>>2]&127](c,E,1,0,0)|0;c=(c|0)==522?0:c;if(!k?(m=f[j>>2]|0,n=f[m>>2]|0,n|0):0){ib[f[n+4>>2]&255](m)|0;f[m>>2]=0}e=(b[E>>0]|0)!=0&1}else e=0;while(0)}else e=0;if(c|0){u=138;break a}if(e|0)u=48}do if((u|0)==48){if(b[a+14>>0]|0){c=776;u=138;break a}switch(b[q>>0]|0){case 0:case 1:case 2:case 3:case 5:{if((b[A>>0]|0)==0?(o=f[z>>2]|0,o=jb[f[(f[o>>2]|0)+28>>2]&255](o,4)|0,o|0):0){c=o;u=138;break a}b[q>>0]=4;break}default:{}}h=a+64|0;c=f[h>>2]|0;e=f[c>>2]|0;if(!e){e=f[a>>2]|0;g=a+172|0;c=lb[f[e+32>>2]&127](e,f[g>>2]|0,0,E)|0;if((c|0)==0&(f[E>>2]|0)!=0){f[v>>2]=0;c=mb[f[e+24>>2]&127](e,f[g>>2]|0,f[h>>2]|0,2050,v)|0;if(!c)if(f[v>>2]&1){f[p>>2]=40896;f[p+4>>2]=55608;f[p+8>>2]=40460;Ac(14,40408,p);c=f[h>>2]|0;e=f[c>>2]|0;if(!e)c=14;else{ib[f[e+4>>2]&255](c)|0;f[c>>2]=0;c=14}}else c=0}g=f[h>>2]|0;e=f[g>>2]|0;if(!e)if((b[a+4>>0]|0)==0?(r=f[z>>2]|0,s=f[r>>2]|0,(s|0)!=0):0){if(!(b[A>>0]|0))jb[f[s+32>>2]&255](r,1)|0;if((b[q>>0]|0)!=5){b[q>>0]=1;u=72}else u=72}else u=72;else{c=g;u=61}}else u=61;do if((u|0)==61){if(!(b[a+7>>0]|0)){c=jb[f[e+20>>2]&255](c,2)|0;if(c|0)break;c=f[h>>2]|0;e=f[c>>2]|0}c=jb[f[e+24>>2]&255](c,a+80|0)|0;if(!c){c=yh(a,(b[a+12>>0]|0)==0&1)|0;b[B>>0]=0;u=72}}while(0);if((u|0)==72)if(!c)break;switch((c&255)<<24>>24){case 10:case 13:break;default:{u=138;break a}}f[a+40>>2]=c;b[B>>0]=6;f[a+204>>2]=82;u=138;break a}while(0);h=a+12|0;if(!(b[h>>0]|0)){if(b[a+23>>0]|0){c=f[z>>2]|0;c=mb[f[(f[c>>2]|0)+8>>2]&127](c,E,16,24,0)|0;switch(c|0){case 0:break;case 522:{f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;break}default:{u=136;break a}}if(Hz(a+104|0,E,16)|0)jh(a);if(b[h>>0]|0){c=0;break}}c=f[a>>2]|0;g=a+220|0;c=lb[f[c+32>>2]&127](c,f[g>>2]|0,0,v)|0;f:do if(!c){if(!(f[v>>2]|0)){c=a+5|0;if((b[c>>0]|0)!=5){c=0;break}b[c>>0]=0;c=0;break}c=f[C>>2]|0;if(((c|0)!=0?(d[c+40>>1]|0)>-1:0)?(w=f[c+72>>2]|0,(w|0)!=0):0){e=w;u=91}else u=88;do if((u|0)==88?(x=f[z>>2]|0,y=f[x>>2]|0,y|0):0){c=E;f[c>>2]=0;f[c+4>>2]=0;c=jb[f[y+24>>2]&255](x,E)|0;if(!c){y=E;u=f[a+152>>2]|0;e=((u|0)<0)<<31>>31;y=KA(f[y>>2]|0,f[y+4>>2]|0,-1,-1)|0;y=KA(y|0,ba()|0,u|0,e|0)|0;e=OA(y|0,ba()|0,u|0,e|0)|0;ba()|0;u=91;break}else break b}while(0);do if((u|0)==91){c=a+156|0;if(e>>>0<=(f[c>>2]|0)>>>0){if(!e)break}else f[c>>2]=e;if(b[h>>0]|0)Ya();if(f[C>>2]|0)Ya();c=f[f[z>>2]>>2]|0;if(b[A>>0]|0){c=14;break f}if(!(b[a+4>>0]|0)){if((f[c>>2]|0)<=1){c=14;break f}if(!(f[c+52>>2]|0)){c=14;break f}}c=f[a+64>>2]|0;e=f[c>>2]|0;if(e|0){ib[f[e+4>>2]&255](c)|0;f[c>>2]=0}c=Oi(a)|0;if(c|0)break f;b[a+5>>0]=5;b[B>>0]=0;c=0;break f}while(0);c=f[a>>2]|0;c=kb[f[c+28>>2]&127](c,f[g>>2]|0,0)|0}while(0)}else c=0}else c=0;while(0);e=f[C>>2]|0;if(!e)u=124;else u=111}else u=111;while(0);if((u|0)==111){f[E>>2]=0;c=e+44|0;if(b[c>>0]|0){if(!(b[e+43>>0]|0)){B=f[e+4>>2]|0;lb[f[(f[B>>2]|0)+56>>2]&127](B,0,1,9)|0}b[c>>0]=0;f[e+104>>2]=0;b[e+47>>0]=0}c=e+40|0;g=d[c>>1]|0;if(g<<16>>16>-1){if(!(b[e+43>>0]|0)){B=f[e+4>>2]|0;lb[f[(f[B>>2]|0)+56>>2]&127](B,(g<<16>>16)+3|0,1,5)|0}d[c>>1]=-1}g=f[C>>2]|0;e=0;do{e=e+1|0;c=Fh(g,E,0,e)|0}while((c|0)==-1);if(f[E>>2]|c|0)jh(a);u=124}g:do if((u|0)==124)if((b[a+12>>0]|0)==0?(F=a+16|0,(c|0)==0&(b[F>>0]|0)==0):0){g=a+24|0;c=f[C>>2]|0;if(((c|0)!=0?(d[c+40>>1]|0)>-1:0)?(D=f[c+72>>2]|0,(D|0)!=0):0){c=D;u=133}else u=129;do if((u|0)==129){c=f[a+60>>2]|0;e=f[c>>2]|0;if(e){D=E;f[D>>2]=0;f[D+4>>2]=0;c=jb[f[e+24>>2]&255](c,E)|0;if(!c){u=f[a+152>>2]|0;c=((u|0)<0)<<31>>31;E=KA(f[E>>2]|0,f[E+4>>2]|0,-1,-1)|0;E=KA(E|0,ba()|0,u|0,c|0)|0;c=OA(E|0,ba()|0,u|0,c|0)|0;ba()|0;u=133;break}else{u=138;break g}}else c=0}while(0);if((u|0)==133){e=a+156|0;if(c>>>0>(f[e>>2]|0)>>>0)f[e>>2]=c}f[g>>2]=c;c=F;u=139}else u=136;while(0);if((u|0)==136)if(!c){c=a+16|0;u=139}else u=138;if((u|0)==138){xh(a);a=c;t=G;return a|0}else if((u|0)==139){b[c>>0]=1;b[a+23>>0]=1;a=0;t=G;return a|0}return 0}function Oi(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;v=t;t=t+16|0;s=v;e=a+4|0;c=b[e>>0]|0;a:do if(!(c<<24>>24))c=0;else{i=a+17|0;switch(b[i>>0]|0){case 0:case 1:case 2:case 3:case 5:break;default:break a}h=a+13|0;do if(!(b[h>>0]|0)){c=a+60|0;g=f[c>>2]|0;g=jb[f[(f[g>>2]|0)+28>>2]&255](g,4)|0;if(!g){c=b[e>>0]|0;break}c=f[c>>2]|0;e=f[c>>2]|0;if(!e){u=g;t=v;return u|0}if(!(b[h>>0]|0))jb[f[e+32>>2]&255](c,1)|0;if((b[i>>0]|0)==5){u=g;t=v;return u|0}b[i>>0]=1;u=g;t=v;return u|0}while(0);b[i>>0]=4}while(0);n=f[a>>2]|0;p=f[a+60>>2]|0;o=f[a+220>>2]|0;k=a+160|0;j=f[k>>2]|0;k=f[k+4>>2]|0;q=a+216|0;f[q>>2]=0;i=(f[n+4>>2]|0)+120|0;r=KA(i|0,0,-1,-1)|0;m=ba()|0;do if(!(m>>>0>0|(m|0)==0&r>>>0>2147483390)){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](i)|0;if(!e){c=7;break}else r=e}else{e=ib[f[37372>>2]&255](i)|0;if((f[18194]|0)>>>0>>0)f[18194]=i;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){r=f[18187]|0;m=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&m>>>0<=r>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(!g){c=7;break}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0){f[18196]=e;r=g}else r=g}_A(r|0,0,i|0)|0;f[r>>2]=n;i=r+120|0;l=r+8|0;f[l>>2]=i;m=r+4|0;f[m>>2]=p;d[r+40>>1]=-1;e=r+16|0;f[e>>2]=j;f[e+4>>2]=k;f[r+108>>2]=o;e=r+48|0;b[e>>0]=1;g=r+49|0;b[g>>0]=1;a=r+43|0;b[a>>0]=c<<24>>24==0?0:2;f[s>>2]=524294;c=mb[f[n+24>>2]&127](n,o,i,524294,s)|0;if(!c){if(f[s>>2]&1|0)b[r+46>>0]=1;c=ib[f[(f[p>>2]|0)+48>>2]&255](p)|0;if(c&1024|0)b[e>>0]=0;if(c&4096|0)b[g>>0]=0;f[q>>2]=r;c=0;break}e=b[a>>0]|0;if(e<<24>>24!=2?(b[r+50>>0]|0)==0:0)u=38;else{i=r+24|0;if((f[i>>2]|0)>0){g=r+32|0;e=0;do{h=f[(f[g>>2]|0)+(e<<2)>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{s=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[(f[g>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[i>>2]|0));e=b[a>>0]|0}if(e<<24>>24!=2)u=38}if((u|0)==38){u=f[m>>2]|0;jb[f[(f[u>>2]|0)+64>>2]&255](u,0)|0}e=f[l>>2]|0;g=f[e>>2]|0;if(g|0){ib[f[g+4>>2]&255](e)|0;f[e>>2]=0}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{u=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}else c=7;while(0);u=c;t=v;return u|0}function Pi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=a+96|0;d=f[n>>2]|0;c=a+92|0;q=Nc(f[c>>2]|0,b*48|0,0)|0;if(!q){r=7;return r|0}_A(q+(d*48|0)|0,0,(b-d|0)*48|0)|0;f[c>>2]=q;if((d|0)>=(b|0)){r=0;return r|0}i=a+24|0;j=a+64|0;k=a+148|0;l=a+52|0;m=a+72|0;h=a+216|0;c=d;while(1){g=f[i>>2]|0;f[q+(c*48|0)+20>>2]=g;if((f[f[j>>2]>>2]|0)!=0?(p=m,o=f[p>>2]|0,p=f[p+4>>2]|0,(p|0)>0|(p|0)==0&o>>>0>0):0){a=o;d=p}else{a=f[k>>2]|0;d=0}e=q+(c*48|0)|0;f[e>>2]=a;f[e+4>>2]=d;f[q+(c*48|0)+24>>2]=f[l>>2];if(!(f[9328]|0)){a=ib[f[37356>>2]&255](512)|0;if(!a)break}else{a=ib[f[37372>>2]&255](512)|0;if((f[18194]|0)>>>0<512)f[18194]=512;e=71896;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){s=f[18187]|0;e=LA(d|0,e|0,a|0,((a|0)<0)<<31>>31|0)|0;d=ba()|0;f[17976]=((d|0)<0|(d|0)==0&e>>>0<=s>>>0)&1}a=ib[f[37356>>2]&255](a)|0;if(!a)break;d=ib[f[37368>>2]&255](a)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d}_A(a+4|0,0,508)|0;f[a>>2]=g;f[q+(c*48|0)+16>>2]=a;a=f[h>>2]|0;if(a|0){f[q+(c*48|0)+28>>2]=f[a+68>>2];f[q+(c*48|0)+32>>2]=f[a+76>>2];f[q+(c*48|0)+36>>2]=f[a+80>>2];f[q+(c*48|0)+40>>2]=f[a+112>>2]}c=c+1|0;f[n>>2]=c;if((c|0)>=(b|0)){c=0;r=22;break}}if((r|0)==22)return c|0;f[q+(c*48|0)+16>>2]=0;s=7;return s|0}function Qi(a){a=a|0;var b=0;b=a+8|0;if(!(d[b>>1]&9216)){d[b>>1]=1;d[b>>1]=4;return a|0}else{cf(a);d[b>>1]=4;return a|0}return 0}function Ri(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=a+10|0;e=c<<24>>24==1;if(!(e|(b[w>>0]|0)==1)){i=a+8|0;e=d[i>>1]|0;g=e&65535;do if(g&18){do if(g&16384){e=a+12|0;v=(f[a>>2]|0)+(f[e>>2]|0)|0;if(!(df(a,(v|0)>1?v:1,1)|0)){_A((f[a+16>>2]|0)+(f[e>>2]|0)|0,0,f[a>>2]|0)|0;f[e>>2]=(f[e>>2]|0)+(f[a>>2]|0);e=d[i>>1]&-16897;d[i>>1]=e;break}else{w=7;return w|0}}while(0);if(f[a+24>>2]|0?(f[a+16>>2]|0)==(f[a+20>>2]|0):0)break;if(!(gf(a)|0)){e=d[i>>1]|0;break}else{w=7;return w|0}}while(0);d[i>>1]=e&-4097;e=f[a+16>>2]|0;a=f[a+12>>2]&-2;g=e+a|0;if((a|0)>0)do{v=b[e>>0]|0;a=e+1|0;b[e>>0]=b[a>>0]|0;e=e+2|0;b[a>>0]=v}while(e>>>0>>0);b[w>>0]=c;w=0;return w|0}s=a+12|0;g=f[s>>2]|0;if(e){g=g&-2;f[s>>2]=g;n=g<<1|1}else n=(g<<1)+2|0;t=a+16|0;k=f[t>>2]|0;r=k+g|0;u=a+32|0;l=f[u>>2]|0;m=((n|0)<0)<<31>>31;a:do if(!l){q=KA(n|0,m|0,-1,-1)|0;p=ba()|0;if(p>>>0>0|(p|0)==0&q>>>0>2147483390){w=7;return w|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](n)|0;o=41;break}l=ib[f[37372>>2]&255](n)|0;if((f[18194]|0)>>>0>>0)f[18194]=n;i=71896;e=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&e>>>0>0){q=f[18187]|0;p=LA(e|0,i|0,l|0,((l|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&p>>>0<=q>>>0)&1}i=ib[f[37356>>2]&255](l)|0;if(!i){w=7;return w|0}e=ib[f[37368>>2]&255](i)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0){f[18196]=e;q=i}else q=i}else{if(f[l+272>>2]|0){if(b[l+81>>0]|0){w=7;return w|0}}else{do if(!(0>>0|(0==(m|0)?(j[l+276>>1]|0)>>>0>>0:0))){i=l+300|0;e=f[i>>2]|0;if(e|0){f[i>>2]=f[e>>2];o=l+284|0;f[o>>2]=(f[o>>2]|0)+1;o=41;break a}i=l+296|0;e=f[i>>2]|0;if(!e){e=l+292|0;break}else{f[i>>2]=f[e>>2];o=l+284|0;f[o>>2]=(f[o>>2]|0)+1;o=41;break a}}else e=l+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(l,n,m)|0;o=41}while(0);if((o|0)==41)if(!e){w=7;return w|0}else q=e;switch(b[w>>0]|0){case 1:{e=(g|0)>0;if(c<<24>>24==2)if(e){e=q;g=k;do{k=g+1|0;p=b[g>>0]|0;g=p&255;if((p&255)>191){g=h[5728+(g+-192)>>0]|0;b:do if((k|0)==(r|0)){i=g;g=r}else{i=g;g=k;while(1){k=b[g>>0]|0;if((k&-64)<<24>>24!=-128)break b;g=g+1|0;i=i<<6|k&63;if((g|0)==(r|0)){g=r;break}}}while(0);if(!((i&-2|0)==65534|(i>>>0<128|(i&-2048|0)==55296)))if(i>>>0<65536)o=53;else{l=i+-65536|0;b[e>>0]=l>>>10&192|i>>>10&63;b[e+1>>0]=l>>>18&3|216;b[e+2>>0]=i;l=e+3|0;k=4;i=i>>>8&3|220}else{i=65533;o=53}}else{i=g;g=k;o=53}if((o|0)==53){o=0;b[e>>0]=i;l=e+1|0;k=2;i=i>>>8}e=e+k|0;b[l>>0]=i}while(g>>>0>>0)}else e=q;else if(e){n=q;e=k;while(1){g=e+1|0;p=b[e>>0]|0;e=p&255;if((p&255)>191){e=h[5728+(e+-192)>>0]|0;c:do if((g|0)==(r|0))g=r;else while(1){i=b[g>>0]|0;if((i&-64)<<24>>24!=-128)break c;g=g+1|0;e=e<<6|i&63;if((g|0)==(r|0)){g=r;break}}while(0);if(!((e&-2|0)==65534|(e>>>0<128|(e&-2048|0)==55296)))if(e>>>0<65536)o=65;else{m=e+-65536|0;b[n>>0]=m>>>18&3|216;b[n+1>>0]=m>>>10&192|e>>>10&63;m=e;i=4;k=n+2|0;l=3;e=e>>>8&3|220}else{e=65533;o=65}}else o=65;if((o|0)==65){o=0;m=e;i=2;k=n;l=1;e=e>>>8}b[k>>0]=e;e=n+i|0;b[n+l>>0]=m;if(g>>>0>>0){n=e;e=g}else break}}else e=q;f[s>>2]=e-q;b[e>>0]=0;e=e+1|0;break}case 2:{if((g|0)>0){e=q;do{g=h[k>>0]|0;l=k+2|0;p=h[k+1>>0]|0;i=p<<8|g;if(l>>>0>>0&(p&248|0)==216){i=(i<<10&983040)+65536|g<<10&64512|h[l>>0]|h[k+3>>0]<<8&768;k=k+4|0}else k=l;if(i>>>0<128){l=e;g=1}else{if(i>>>0<2048){o=e;g=2;l=1;m=192;n=31}else{if(i>>>0<65536){m=e;g=3;l=2;n=1;o=224;p=15}else{b[e>>0]=i>>>18&7|240;m=e+1|0;g=4;l=3;n=2;o=128;p=63}b[m>>0]=i>>>12&p|o;o=e+n|0;m=128;n=63}b[o>>0]=i>>>6&n|m;l=e+l|0;i=i&63|128}e=e+g|0;b[l>>0]=i}while(k>>>0>>0);o=91}else{e=q;o=91}break}default:if((g|0)>0){e=q;while(1){p=h[k>>0]|0;g=k+2|0;l=h[k+1>>0]|0;i=p<<8|l;if(g>>>0>>0&(p&248|0)==216){p=k+4|0;i=(i<<10&983040)+65536|l<<10&64512|h[k+3>>0]|h[g>>0]<<8&768}else p=g;if(i>>>0<128){k=e;g=1}else{if(i>>>0<2048){n=e;g=2;k=1;l=192;m=31}else{if(i>>>0<65536){l=e;g=3;k=2;m=1;n=224;o=15}else{b[e>>0]=i>>>18&7|240;l=e+1|0;g=4;k=3;m=2;n=128;o=63}b[l>>0]=i>>>12&o|n;n=e+m|0;l=128;m=63}b[n>>0]=i>>>6&m|l;k=e+k|0;i=i&63|128}e=e+g|0;b[k>>0]=i;if(p>>>0>>0)k=p;else{o=91;break}}}else{e=q;o=91}}if((o|0)==91)f[s>>2]=e-q;b[e>>0]=0;e=a+8|0;g=d[e>>1]|0;if(!((g&9216)==0?!(f[a+24>>2]|0):0))ff(a);d[e>>1]=g&-32739|514;b[w>>0]=c;f[t>>2]=q;f[a+20>>2]=q;e=f[u>>2]|0;if(((e|0)!=0?(v=q,(f[e+304>>2]|0)>>>0<=v>>>0):0)?(f[e+308>>2]|0)>>>0>v>>>0:0)e=j[e+276>>1]|0;else e=ib[f[37368>>2]&255](q)|0;f[a+24>>2]=e;w=0;return w|0}function Si(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;e=a+8|0;do cf(a);while((d[e>>1]&9216)!=0);f[a>>2]=f[b>>2];f[a+4>>2]=f[b+4>>2];f[a+8>>2]=f[b+8>>2];f[a+12>>2]=f[b+12>>2];f[a+16>>2]=f[b+16>>2];if(d[b+8>>1]&2048)return;d[e>>1]=d[e>>1]&-7169&65535|c;return}function Ti(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=t;t=t+16|0;l=m+8|0;k=m;i=a+8|0;j=d[i>>1]|0;do if((f[a+24>>2]|0)<32){if(!(df(a,32,0)|0)){h=a+16|0;g=h;h=f[h>>2]|0;break}b[a+10>>0]=0;l=7;t=m;return l|0}else{h=f[a+20>>2]|0;g=a+16|0;f[g>>2]=h;d[i>>1]=j&13}while(0);if(!(j&4)){p[l>>3]=+p[a>>3];vd(32,h,41673,l)|0}else{n=a;j=f[n+4>>2]|0;l=k;f[l>>2]=f[n>>2];f[l+4>>2]=j;vd(32,h,41988,k)|0}n=(wz(f[g>>2]|0)|0)&1073741823;f[a+12>>2]=n;b[a+10>>0]=1;n=d[i>>1]|514;d[i>>1]=e<<24>>24==0?n:n&-13;if(c<<24>>24==1){n=0;t=m;return n|0}Ri(a,c)|0;n=0;t=m;return n|0}function Ui(a){a=a|0;var c=0,d=0,e=0;c=a+16|0;d=a+12|0;e=a+10|0;if(!(jf(f[c>>2]|0,a,f[d>>2]|0,b[e>>0]|0)|0)){e=0;return e|0}e=(kf(f[c>>2]|0,a,f[d>>2]|0,b[e>>0]|0)|0)==0;e=e?4:8;return e|0}function Vi(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0.0,i=0,j=0;j=a+8|0;g=d[j>>1]|0;i=g&65535;if(i&1|0)return;switch(c<<24>>24){case 65:{if(i&16|0){d[j>>1]=i&15888;return}if(!((i&2|0)!=0|(i&12|0)==0)){Ti(a,e,1)|0;g=d[j>>1]|0}g=g&-13;d[j>>1]=g;g=g&65535;if(!(g&2))return;d[j>>1]=g&15872|16;return}case 67:{vk(a);return}case 68:{do if(!(i&4)){if(i&8|0){c=Fc(+p[a>>3])|0;e=ba()|0;break}if(!(i&18)){c=0;e=0}else{c=Gc(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0)|0;e=ba()|0;g=d[j>>1]|0}}else{e=a;c=f[e>>2]|0;e=f[e+4>>2]|0}while(0);f[a>>2]=c;f[a+4>>2]=e;d[j>>1]=g&15872|4;return}case 69:{do if(!(i&8)){if(i&4|0){i=a;h=+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0);break}if(!(i&18))h=0.0;else{h=+Hc(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0);g=d[j>>1]|0}}else h=+p[a>>3];while(0);p[a>>3]=h;d[j>>1]=g&15872|8;return}default:{c=i>>>3&2|i;g=c&65535;d[j>>1]=g;if(!((i&12|0)==0|(c&2|0)!=0)){Ti(a,e,1)|0;g=d[j>>1]|0}d[j>>1]=g&-16413;return}}}function Wi(a){a=a|0;var c=0,d=0,e=0,g=0;g=t;t=t+16|0;e=g;c=g+12|0;d=a+64|0;d=ej(f[a+40>>2]|0,0,f[d>>2]|0,f[d+4>>2]|0,0,c)|0;if(d|0){e=d;t=g;return e|0}if(!(f[c>>2]|0)){b[a+3>>0]=0;f[a+28>>2]=0;e=0;t=g;return e|0}else{f[e>>2]=42469;f[e+4>>2]=79051;f[e+8>>2]=40460;Ac(11,40408,e);e=11;t=g;return e|0}return 0}function Xi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=t;t=t+16|0;e=h;g=f[a+40>>2]|0;c=b[g>>0]|0;a:do if((c&255)>2){do if(c<<24>>24==4){c=f[g+4>>2]|0;if(!c)c=0;else d=13}else{b[g>>0]=1;d=g+16|0;c=g+56|0;c=lk(g,f[d>>2]|0,f[c>>2]|0,f[c+4>>2]|0,0,e)|0;if(c|0){d=13;break}c=f[d>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[d>>2]=0;c=g+4|0;i=f[c>>2]|f[e>>2];f[c>>2]=i;c=b[g>>0]|0;if((i|0)!=0&c<<24>>24==0){b[g>>0]=2;c=2}d=14;break a}while(0);f[a+28>>2]=0}else d=14;while(0);if((d|0)==14){f[a+28>>2]=0;if(!(c<<24>>24)){i=0;t=h;return i|0}else c=0}b[a+2>>0]=1;i=c;t=h;return i|0}function Yi(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;j=g+8|0;d[j>>1]=1;h=e+1|0;k=g+24|0;do if((f[k>>2]|0)<(h|0)){h=df(g,h,0)|0;if(!h){h=g+16|0;i=h;h=f[h>>2]|0;break}else{k=h;return k|0}}else{h=f[g+20>>2]|0;i=g+16|0;f[i>>2]=h;d[j>>1]=1}while(0);h=ph(a,c,e,h,0)|0;if(!h){b[(f[i>>2]|0)+e>>0]=0;d[j>>1]=16;f[g+12>>2]=e;k=0;return k|0}if((d[j>>1]&9216)==0?(f[k>>2]|0)==0:0){k=h;return k|0}ff(g);k=h;return k|0}function Zi(a,c,e){a=a|0;c=c|0;e=e|0;var g=0;do switch(c|0){case 10:{d[e+8>>1]=16385;f[e+12>>2]=0;f[e>>2]=0;e=0;return e|0}case 0:case 11:{d[e+8>>1]=1;e=0;return e|0}case 1:{a=b[a>>0]|0;c=e;f[c>>2]=a;f[c+4>>2]=((a|0)<0)<<31>>31;d[e+8>>1]=4;e=1;return e|0}case 2:{a=b[a>>0]<<8|h[a+1>>0];c=e;f[c>>2]=a;f[c+4>>2]=((a|0)<0)<<31>>31;d[e+8>>1]=4;e=2;return e|0}case 3:{a=h[a+1>>0]<<8|b[a>>0]<<16|h[a+2>>0];c=e;f[c>>2]=a;f[c+4>>2]=((a|0)<0)<<31>>31;d[e+8>>1]=4;e=3;return e|0}case 4:{a=h[a+1>>0]<<16|b[a>>0]<<24|h[a+2>>0]<<8|h[a+3>>0];c=e;f[c>>2]=a;f[c+4>>2]=((a|0)<0)<<31>>31;d[e+8>>1]=4;e=4;return e|0}case 5:{g=b[a>>0]<<8|h[a+1>>0];c=e;f[c>>2]=h[a+3>>0]<<16|h[a+2>>0]<<24|h[a+4>>0]<<8|h[a+5>>0];f[c+4>>2]=g;d[e+8>>1]=4;e=6;return e|0}case 7:case 6:{uk(a,c,e);g=8;return g|0}case 9:case 8:{g=e;f[g>>2]=c+-8;f[g+4>>2]=0;d[e+8>>1]=4;g=0;return g|0}default:{f[e+16>>2]=a;g=(c+-12|0)>>>1;f[e+12>>2]=g;d[e+8>>1]=d[39654+((c&1)<<1)>>1]|0;return g|0}}while(0);return 0}function _i(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=t;t=t+16|0;g=h;if(d>>>0>16777215|(d|0)==16777215&c>>>0>4294967295){b[a+8>>0]=c;g=VA(c|0,d|0,8)|0;ba()|0;b[a+7>>0]=g&255|-128;g=VA(c|0,d|0,15)|0;ba()|0;b[a+6>>0]=g&255|-128;g=VA(c|0,d|0,22)|0;ba()|0;b[a+5>>0]=g&255|-128;g=VA(c|0,d|0,29)|0;ba()|0;b[a+4>>0]=g&255|-128;g=VA(c|0,d|0,36)|0;ba()|0;b[a+3>>0]=g&255|-128;g=VA(c|0,d|0,43)|0;ba()|0;b[a+2>>0]=g&255|-128;g=VA(c|0,d|0,50)|0;ba()|0;b[a+1>>0]=g&255|-128;g=VA(c|0,d|0,57)|0;ba()|0;b[a>>0]=g&255|-128;g=9;t=h;return g|0}e=0;f=c;while(1){c=e+1|0;b[g+e>>0]=f&255|-128;f=VA(f|0,d|0,7)|0;d=ba()|0;if((f|0)==0&(d|0)==0)break;else e=c}b[g>>0]=b[g>>0]&127;d=0;while(1){b[a+d>>0]=b[g+e>>0]|0;if((e|0)>0){e=e+-1|0;d=d+1|0}else break}t=h;return c|0}function $i(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=t;t=t+32|0;n=o+16|0;i=o;m=a+68|0;c=b[m>>0]|0;do if(c<<24>>24>-1){g=a+116|0;e=f[g>>2]|0;if(!(c<<24>>24)){c=g;j=26}else{e=f[e+72>>2]|0;if(!(d[e+28>>1]&32)){bh(e);c=b[m>>0]|0}else{l=f[e+20>>2]|0;k=l+120|0;f[k>>2]=(f[k>>2]|0)+-1;l=l+136|0;f[e+16>>2]=f[l>>2];f[l>>2]=e}c=c+-1<<24>>24;b[m>>0]=c;if(c<<24>>24)do{e=f[(f[a+120+(c<<24>>24<<2)>>2]|0)+72>>2]|0;if(!(d[e+28>>1]&32)){bh(e);c=b[m>>0]|0}else{l=f[e+20>>2]|0;k=l+120|0;f[k>>2]=(f[k>>2]|0)+-1;l=l+136|0;f[e+16>>2]=f[l>>2];f[l>>2]=e}c=c+-1<<24>>24;b[m>>0]=c}while(c<<24>>24!=0);k=f[a+120>>2]|0;f[g>>2]=k;c=g;l=k}}else{g=a+64|0;c=f[g>>2]|0;if(!c){b[a>>0]=1;n=16;t=o;return n|0}e=b[a>>0]|0;if((e&255)>2){if(e<<24>>24==4){n=f[a+4>>2]|0;t=o;return n|0}c=a+16|0;e=f[c>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{l=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[c>>2]=0;b[a>>0]=1;c=f[g>>2]|0}g=a+116|0;c=aj(f[(f[a+8>>2]|0)+4>>2]|0,c,g,0,h[a+2>>0]|0)|0;if(!c){b[m>>0]=0;e=f[g>>2]|0;b[a+69>>0]=b[e+2>>0]|0;c=g;j=26;break}b[a>>0]=1;n=c;t=o;return n|0}while(0);do if((j|0)==26){if(b[e>>0]|0?((f[a+112>>2]|0)==0|0)==(h[e+2>>0]|0):0){l=e;k=e;break}f[i>>2]=42469;f[i+4>>2]=68035;f[i+8>>2]=40460;Ac(11,40408,i);n=11;t=o;return n|0}while(0);e=a+70|0;d[e>>1]=0;g=a+50|0;d[g>>1]=0;i=a+1|0;j=b[i>>0]&-15;b[i>>0]=j;if(d[k+22>>1]|0){b[a>>0]=0;n=0;t=o;return n|0}if(b[k+8>>0]|0){b[a>>0]=1;n=16;t=o;return n|0}if((f[k+4>>2]|0)==1){n=(f[k+56>>2]|0)+((h[k+9>>0]|0)+8)|0;p=b[n>>0]|0;q=b[n+1>>0]|0;k=b[n+2>>0]|0;n=b[n+3>>0]|0;b[a>>0]=0;r=f[a+20>>2]|0;d[g>>1]=0;b[i>>0]=j;d[a+72>>1]=0;f[a+120>>2]=l;d[e>>1]=0;b[m>>0]=1;n=aj(r,(q&255)<<16|(p&255)<<24|(k&255)<<8|n&255,c,a,h[a+2>>0]|0)|0;t=o;return n|0}else{f[n>>2]=42469;f[n+4>>2]=68048;f[n+8>>2]=40460;Ac(11,40408,n);r=11;t=o;return r|0}return 0}function aj(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+32|0;l=n+16|0;i=n;j=n+28|0;do if((f[a+44>>2]|0)>>>0>=c>>>0){k=f[a>>2]|0;h=lb[f[k+204>>2]&127](k,c,j,h)|0;if(!h){k=f[j>>2]|0;i=k+8|0;h=f[i>>2]|0;f[e>>2]=h;if(!(b[h>>0]|0)){i=f[i>>2]|0;j=i+4|0;if((f[j>>2]|0)!=(c|0)){f[i+56>>2]=f[k+4>>2];f[i+72>>2]=k;f[i+52>>2]=a;f[j>>2]=c;b[i+9>>0]=(c|0)==1?100:0;h=f[e>>2]|0}h=Ph(h)|0;if(h|0){i=f[e>>2]|0;if(!i){m=19;break}i=f[i+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);m=19;break}else{m=f[i+20>>2]|0;l=m+120|0;f[l>>2]=(f[l>>2]|0)+-1;m=m+136|0;f[i+16>>2]=f[m>>2];f[m>>2]=i;m=19;break}}}if(!g){g=0;t=n;return g|0}c=f[e>>2]|0;if(d[c+22>>1]|0?(b[c+2>>0]|0)==(b[g+69>>0]|0):0){g=0;t=n;return g|0}f[l>>2]=42469;f[l+4>>2]=65066;f[l+8>>2]=40460;Ac(11,40408,l);h=f[e>>2]|0;if(h){h=f[h+72>>2]|0;if(!(d[h+28>>1]&32)){bh(h);h=11;break}else{l=f[h+20>>2]|0;e=l+120|0;f[e>>2]=(f[e>>2]|0)+-1;l=l+136|0;f[h+16>>2]=f[l>>2];f[l>>2]=h;h=11;break}}else h=11}else m=19}else{f[i>>2]=42469;f[i+4>>2]=65044;f[i+8>>2]=40460;Ac(11,40408,i);h=11;m=19}while(0);if((m|0)==19)if(!g){g=h;t=n;return g|0}l=g+68|0;m=(b[l>>0]|0)+-1<<24>>24;b[l>>0]=m;f[g+116>>2]=f[g+120+(m<<24>>24<<2)>>2];g=h;t=n;return g|0}function bj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;i=o;if((c|0)<1){f[i>>2]=42469;f[i+4>>2]=67284;f[i+8>>2]=40460;Ac(11,40408,i);g=11;t=o;return g|0}n=f[a+4>>2]|0;f[n+4>>2]=f[a>>2];l=(d|0)!=0;if(l?(m=n+80|0,(f[m>>2]|0)==0):0){k=f[n+32>>2]|0;if((f[18019]|0)>=(k|0)?(h=f[18025]|0,(h|0)!=0):0){f[18025]=f[h>>2];d=f[18026]|0;f[18026]=d+-1;f[18027]=(d|0)<=(f[18021]|0)&1;if((f[18195]|0)>>>0>>0)f[18195]=k;i=(f[18188]|0)+1|0;f[18188]=i;if(i>>>0>(f[18192]|0)>>>0)f[18192]=i}else j=11;a:do if((j|0)==11){j=KA(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;d=ba()|0;do if(!(d>>>0>0|(d|0)==0&j>>>0>2147483390)){if(!(f[9328]|0)){h=ib[f[37356>>2]&255](k)|0;if(!h)break}else{h=ib[f[37372>>2]&255](k)|0;if((f[18194]|0)>>>0>>0)f[18194]=k;d=71896;i=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&i>>>0>0){j=f[18187]|0;d=LA(i|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[17976]=((i|0)<0|(i|0)==0&d>>>0<=j>>>0)&1}h=ib[f[37356>>2]&255](h)|0;if(!h)break;i=ib[f[37368>>2]&255](h)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}i=ib[f[37368>>2]&255](h)|0;if((f[18195]|0)>>>0>>0)f[18195]=k;i=(f[18189]|0)+i|0;f[18189]=i;if(i>>>0<=(f[18193]|0)>>>0)break a;f[18193]=i;break a}while(0);f[m>>2]=0;g=7;t=o;return g|0}while(0);f[m>>2]=h;k=h;j=k;b[j>>0]=0;b[j+1>>0]=0;b[j+2>>0]=0;b[j+3>>0]=0;k=k+4|0;b[k>>0]=0;b[k+1>>0]=0;b[k+2>>0]=0;b[k+3>>0]=0;f[m>>2]=(f[m>>2]|0)+4}if((c|0)==1)c=(f[n+44>>2]|0)!=0&1;f[g+64>>2]=c;b[g+68>>0]=-1;f[g+112>>2]=e;f[g+8>>2]=a;f[g+20>>2]=n;j=g+1|0;b[j>>0]=l&1;b[g+2>>0]=l?0:2;i=n+8|0;h=f[i>>2]|0;d=h;if(h|0)do{if((f[h+64>>2]|0)==(c|0)){n=h+1|0;b[n>>0]=b[n>>0]|32;b[j>>0]=b[j>>0]|32}h=f[h+24>>2]|0}while((h|0)!=0);f[g+24>>2]=d;f[i>>2]=g;b[g>>0]=1;g=0;t=o;return g|0}function cj(a,c,e,g,i,j){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=t;t=t+128|0;p=K+104|0;E=K+120|0;B=K+116|0;I=K;H=(c|0)==0;if(!H){k=(b[c>>0]|0)==0;if(tz(c,46117)|0)if(k)C=4;else{k=0;C=5}else C=6}else C=4;if((C|0)==4)if((b[e+80>>0]|0)==2){k=1;C=6}else{k=1;C=5}if((C|0)==5)if(!(j&128)){G=0;F=i}else C=6;if((C|0)==6){G=1;F=i|2}D=(j&256|0)!=0&(G|k)?j&-769|512:j;if(!(f[9328]|0)){i=ib[f[37356>>2]&255](48)|0;if(!i){g=7;t=K;return g|0}else J=i}else{i=ib[f[37372>>2]&255](48)|0;if((f[18194]|0)>>>0<48)f[18194]=48;l=71896;j=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&j>>>0>0){J=f[18187]|0;A=LA(j|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;z=ba()|0;f[17976]=((z|0)<0|(z|0)==0&A>>>0<=J>>>0)&1}j=ib[f[37356>>2]&255](i)|0;if(!j){g=7;t=K;return g|0}i=ib[f[37368>>2]&255](j)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;J=j}else J=j}l=J+4|0;s=l+44|0;do{b[l>>0]=0;l=l+1|0}while((l|0)<(s|0));f[J>>2]=e;f[J+32>>2]=J;f[J+36>>2]=1;a:do if(!k?!((D&131072|0)==0|G&(D&64|0)==0):0){if(H)k=0;else k=(wz(c)|0)&1073741823;l=k+1|0;m=(f[a+8>>2]|0)+1|0;k=(m|0)>(l|0)?m:l;A=KA(k|0,0,-1,-1)|0;z=ba()|0;do if(!(z>>>0>0|(z|0)==0&A>>>0>2147483390)){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](k)|0;b[J+9>>0]=1;if(!k)break;else n=k}else{j=ib[f[37372>>2]&255](k)|0;if((f[18194]|0)>>>0>>0)f[18194]=k;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){A=f[18187]|0;z=LA(i|0,k|0,j|0,((j|0)<0)<<31>>31|0)|0;y=ba()|0;f[17976]=((y|0)<0|(y|0)==0&z>>>0<=A>>>0)&1}i=ib[f[37356>>2]&255](j)|0;if(!i){C=33;break}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k;b[J+9>>0]=1;n=i}if(!G){b[n>>0]=0;k=lb[f[a+36>>2]&127](a,c,m,n)|0;if(k|0){if(!(f[9328]|0))ob[f[37360>>2]&127](n);else{g=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n)}if(!(f[9328]|0)){ob[f[37360>>2]&127](J);g=k;t=K;return g|0}else{g=ib[f[37368>>2]&255](J)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](J);g=k;t=K;return g|0}}}else YA(n|0,c|0,l|0)|0;j=f[18035]|0;b:do if(!j)j=0;else{while(1){k=f[j>>2]|0;if((tz(n,f[k+168>>2]|0)|0)==0?(f[k>>2]|0)==(a|0):0)break;j=f[j+68>>2]|0;if(!j){j=0;break b}}k=f[e+20>>2]|0;c:do if((k|0)>0){l=f[e+16>>2]|0;while(1){i=k;k=k+-1|0;A=f[l+(k<<4)+4>>2]|0;if(A|0?(f[A+4>>2]|0)==(j|0):0)break;if((i|0)<=1)break c}if(!(f[9328]|0))ob[f[37360>>2]&127](n);else{g=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n)}if(!(f[9328]|0)){ob[f[37360>>2]&127](J);g=19;t=K;return g|0}else{g=ib[f[37368>>2]&255](J)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](J);g=19;t=K;return g|0}}while(0);f[J+4>>2]=j;A=j+64|0;f[A>>2]=(f[A>>2]|0)+1}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](n);else{A=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n)}if(!j){C=69;break a}if(!(b[J+9>>0]|0))break a;else{C=213;break a}}else C=33;while(0);if((C|0)==33)b[J+9>>0]=1;if(!(f[9328]|0)){ob[f[37360>>2]&127](J);g=7;t=K;return g|0}else{g=ib[f[37368>>2]&255](J)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](J);g=7;t=K;return g|0}}else C=69;while(0);d:do if((C|0)==69){if(!(f[9328]|0)){j=ib[f[37356>>2]&255](84)|0;if(!j)k=7;else C=80}else{k=ib[f[37372>>2]&255](84)|0;if((f[18194]|0)>>>0<84)f[18194]=84;j=71896;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){A=f[18187]|0;z=LA(i|0,j|0,k|0,((k|0)<0)<<31>>31|0)|0;y=ba()|0;f[17976]=((y|0)<0|(y|0)==0&z>>>0<=A>>>0)&1}j=ib[f[37356>>2]&255](k)|0;if(j){k=ib[f[37368>>2]&255](j)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;C=80}else C=80}else k=7}do if((C|0)==80){l=j+4|0;s=l+80|0;do{b[l>>0]=0;l=l+1|0}while((l|0)<(s|0));z=F&1;A=(z|0)!=0;f[E>>2]=4096;s=a+4|0;v=f[s>>2]|0;v=((v|0)>72?v:72)+7&-8;f[j>>2]=0;do if(!(F&2))if(!H)if(b[c>>0]|0){o=a+8|0;m=(f[o>>2]|0)+1|0;k=m<<1;C=KA(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;y=ba()|0;if(!(y>>>0>0|(y|0)==0&C>>>0>2147483390)){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](k)|0;if(!k){k=7;C=229;break}else i=k}else{l=ib[f[37372>>2]&255](k)|0;if((f[18194]|0)>>>0>>0)f[18194]=k;i=71896;k=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&k>>>0>0){C=f[18187]|0;y=LA(k|0,i|0,l|0,((l|0)<0)<<31>>31|0)|0;x=ba()|0;f[17976]=((x|0)<0|(x|0)==0&y>>>0<=C>>>0)&1}i=ib[f[37356>>2]&255](l)|0;if(!i){k=7;C=229;break}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k}b[i>>0]=0;k=lb[f[a+36>>2]&127](a,c,m,i)|0;n=(wz(i)|0)&1073741823;m=c+(((wz(c)|0)&1073741823)+1)|0;if(!(b[m>>0]|0))l=m;else{l=m;do{l=l+(((wz(l)|0)&1073741823)+1)|0;l=l+(((wz(l)|0)&1073741823)+1)|0}while((b[l>>0]|0)!=0)}if(!k){if((n+8|0)<=(f[o>>2]|0)){y=0;r=l+1-m|0;p=m;q=1;C=119;break}f[p>>2]=40896;f[p+4>>2]=55153;f[p+8>>2]=40460;Ac(14,40408,p);k=14}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);C=229;break}else{C=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);C=229;break}}else{k=7;C=229}}else{y=0;r=0;p=0;i=0;n=0;q=1;C=119}else{c=0;y=0;r=0;p=0;i=0;n=0;q=0;C=119}else if(!H)if(b[c>>0]|0){m=(wz(c)|0)+1|0;C=KA(m|0,0,-1,-1)|0;y=ba()|0;if(y>>>0>0|(y|0)==0&C>>>0>2147483390){k=7;C=229}else{if(!(f[9328]|0)){k=ib[f[37356>>2]&255](m)|0;if(!k){k=7;C=229;break}}else{k=ib[f[37372>>2]&255](m)|0;if((f[18194]|0)>>>0>>0)f[18194]=m;l=71896;i=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&i>>>0>0){C=f[18187]|0;y=LA(i|0,l|0,k|0,((k|0)<0)<<31>>31|0)|0;x=ba()|0;f[17976]=((x|0)<0|(x|0)==0&y>>>0<=C>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k){k=7;C=229;break}i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}YA(k|0,c|0,m|0)|0;c=0;y=1;r=0;p=0;i=k;n=(wz(k)|0)&1073741823;q=0;C=119}}else{y=1;r=0;p=0;i=0;n=0;q=1;C=119}else{c=0;y=1;r=0;p=0;i=0;n=0;q=0;C=119}while(0);e:do if((C|0)==119){o=(v<<1)+17+(n*3|0)+r+((f[s>>2]|0)+279&-8)|0;x=KA(o|0,0,-1,-1)|0;w=ba()|0;do if(!(w>>>0>0|(w|0)==0&x>>>0>2147483390)){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](o)|0;if(!k)break;else x=k}else{k=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){x=f[18187]|0;w=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;u=ba()|0;f[17976]=((u|0)<0|(u|0)==0&w>>>0<=x>>>0)&1}l=ib[f[37356>>2]&255](k)|0;if(!l)break;k=ib[f[37368>>2]&255](l)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;x=l}else x=l}_A(x|0,0,o|0)|0;u=x+212|0;f[u>>2]=x+224;k=x+272|0;w=x+60|0;f[w>>2]=k;k=k+((f[s>>2]|0)+7&-8)|0;f[x+68>>2]=k;k=k+v|0;f[x+64>>2]=k;k=k+v|0;m=x+168|0;f[m>>2]=k;do if(i|0){l=n+1|0;o=x+172|0;f[o>>2]=k+(r+l);YA(k|0,i|0,n|0)|0;if(r|0)YA((f[m>>2]|0)+l|0,p|0,r|0)|0;YA(f[o>>2]|0,i|0,n|0)|0;l=(f[o>>2]|0)+n|0;k=46126;s=l+10|0;do{b[l>>0]=b[k>>0]|0;l=l+1|0;k=k+1|0}while((l|0)<(s|0));s=(f[o>>2]|0)+(n+9)|0;v=x+220|0;f[v>>2]=s;YA(s|0,i|0,n|0)|0;v=(f[v>>2]|0)+n|0;b[v>>0]=b[46136]|0;b[v+1>>0]=b[46137]|0;b[v+2>>0]=b[46138]|0;b[v+3>>0]=b[46139]|0;b[v+4>>0]=b[46140]|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{v=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);f[x>>2]=a;f[x+144>>2]=D;f:do if(q?(b[c>>0]|0)!=0:0){f[B>>2]=0;k=mb[f[a+24>>2]&127](a,f[m>>2]|0,f[w>>2]|0,D&556927,B)|0;m=f[B>>2]&1;if(k|0)break;l=f[w>>2]|0;l=ib[f[(f[l>>2]|0)+48>>2]&255](l)|0;g:do if(!m){do if(!(b[x+12>>0]|0)){C=f[w>>2]|0;if((ib[f[(f[C>>2]|0)+48>>2]&255](C)|0)&4096|0)break;k=f[w>>2]|0;i=f[(f[k>>2]|0)+44>>2]|0;do if(i){C=ib[i&255](k)|0;k=(C|0)<65536?C:65536;if((C|0)<32){k=512;break}f[x+148>>2]=k;if(k>>>0<=4096)break g;if(k>>>0>8192){f[E>>2]=8192;break g}else{f[E>>2]=k;break g}}else k=4096;while(0);f[x+148>>2]=k;break g}while(0);f[x+148>>2]=512}while(0);k=c+(((wz(c)|0)&1073741823)+1)|0;h:do if(!(b[k>>0]|0))k=0;else{while(1){C=tz(k,46142)|0;k=k+(((wz(k)|0)&1073741823)+1)|0;if(!C)break;k=k+(((wz(k)|0)&1073741823)+1)|0;if(!(b[k>>0]|0)){k=0;break h}}k=(Hd(k,1,0)|0)<<24>>24!=0}while(0);b[x+13>>0]=k&1;i:do if(!(l&8192)){k=c+(((wz(c)|0)&1073741823)+1)|0;j:do if(b[k>>0]|0){while(1){C=tz(k,46149)|0;k=k+(((wz(k)|0)&1073741823)+1)|0;if(!C)break;k=k+(((wz(k)|0)&1073741823)+1)|0;if(!(b[k>>0]|0))break j}if((Hd(k,1,0)|0)<<24>>24)break i}while(0);q=m;c=0;C=170;break f}while(0);k=D|1;C=168}else{k=D;C=168}while(0);if((C|0)==168){b[x+16>>0]=1;b[x+17>>0]=4;b[x+13>>0]=1;q=k&1;c=1;C=170}if((C|0)==170){k=ih(x,E,-1)|0;if(!k){p=f[E>>2]|0;r=(y|0)==0;i=y^1;k=r?152:0;n=f[u>>2]|0;l=n;s=l+48|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(s|0));o=n+24|0;f[o>>2]=1;l=n+28|0;f[l>>2]=88;b[n+32>>0]=i;b[n+33>>0]=2;f[n+36>>2]=k;f[n+40>>2]=x;k=n+16|0;f[k>>2]=100;f[n+20>>2]=1;m=kb[f[37440>>2]&127](p,128,i)|0;if(!m)k=7;else{i=f[9361]|0;k=f[k>>2]|0;if((k|0)<=-1){D=QA(k|0,((k|0)<0)<<31>>31|0,-1024,-1)|0;E=ba()|0;k=(f[l>>2]|0)+(f[o>>2]|0)|0;k=OA(D|0,E|0,k|0,((k|0)<0)<<31>>31|0)|0;ba()|0}pb[i&127](m,k);k=n+44|0;i=f[k>>2]|0;if(i|0)ob[f[37468>>2]&127](i);f[k>>2]=m;f[o>>2]=p;b[x+6>>0]=z^1;f[x+156>>2]=1073741823;b[x+12>>0]=c;b[x+4>>0]=c;b[x+18>>0]=c;b[x+15>>0]=y;b[x+14>>0]=q;b[x+7>>0]=c;do if(!(c<<24>>24)){b[x+8>>0]=1;b[x+9>>0]=0;b[x+10>>0]=2;b[x+11>>0]=10;d[x+140>>1]=88;E=x+160|0;f[E>>2]=-1;f[E+4>>2]=-1;E=f[w>>2]|0;if((ib[f[(f[E>>2]|0)+48>>2]&255](E)|0)&4096|0){k=512;break}k=f[w>>2]|0;i=f[(f[k>>2]|0)+44>>2]|0;if(!i){k=4096;break}k=ib[i&255](k)|0;k=(k|0)<32?512:(k|0)<65536?k:65536}else{d[x+140>>1]=88;k=x+160|0;f[k>>2]=-1;f[k+4>>2]=-1;k=512}while(0);f[x+148>>2]=k;if(A|r^1)b[x+5>>0]=((z&255)<<1&255^2)+2<<24>>24;f[x+200>>2]=103;f[x+204>>2]=(f[x+40>>2]|0)==0?81:82;f[j>>2]=x;E=e+48|0;s=f[E+4>>2]|0;l=x+128|0;f[l>>2]=f[E>>2];f[l+4>>2]=s;l=I;s=l+100|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(s|0));k=f[w>>2]|0;i=f[k>>2]|0;if(i|0){k=mb[f[i+8>>2]&127](k,I,100,0,0)|0;switch(k|0){case 0:case 522:break;default:{C=230;break e}}}b[j+16>>0]=F;f[j+4>>2]=e;k=f[j>>2]|0;i=k+176|0;f[i>>2]=140;f[k+180>>2]=j;l=f[k+60>>2]|0;m=f[l>>2]|0;if(!m)l=k;else{kb[f[m+40>>2]&127](l,15,i)|0;l=f[j>>2]|0}f[J+4>>2]=j;f[j+8>>2]=0;f[j+12>>2]=0;if(b[l+14>>0]|0){F=j+22|0;d[F>>1]=d[F>>1]|1}k=h[I+17>>0]<<16|h[I+16>>0]<<8;m=j+32|0;f[m>>2]=k;do if((k+-512|0)>>>0>65024)C=205;else{if(k+16777215&k|0){C=205;break}k=b[I+20>>0]|0;i=j+22|0;d[i>>1]=d[i>>1]|2;b[j+17>>0]=(h[I+53>>0]<<16|h[I+52>>0]<<24|h[I+54>>0]<<8|h[I+55>>0]|0)!=0&1;i=(h[I+65>>0]<<16|h[I+64>>0]<<24|h[I+66>>0]<<8|h[I+67>>0]|0)!=0&1;C=208}while(0);do if((C|0)==205){f[m>>2]=0;if(H|G){k=0;break}b[j+17>>0]=0;k=0;i=0;C=208}while(0);if((C|0)==208)b[j+18>>0]=i;i=k&255;k=ih(l,m,i)|0;if(k|0){C=230;break e}f[j+36>>2]=(f[m>>2]|0)-i;f[j+64>>2]=1;if(!(b[J+9>>0]|0))break d;f[j+68>>2]=f[18035];f[18035]=j;C=213;break d}}}i=f[w>>2]|0;l=f[i>>2]|0;if(l|0){ib[f[l+4>>2]&255](i)|0;f[i>>2]=0}l=f[x+208>>2]|0;k:do if(l|0){i=l;do if((f[18022]|0)>>>0<=i>>>0)if((f[18023]|0)>>>0>i>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;e=(f[18026]|0)+1|0;f[18026]=e;f[18027]=(e|0)<(f[18021]|0)&1;break k}else{i=ib[f[37368>>2]&255](l)|0;break}else i=ib[f[37368>>2]&255](l)|0;while(0);f[18189]=(f[18189]|0)-i;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{e=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](x);C=229;break e}else{C=ib[f[37368>>2]&255](x)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](x);C=229;break e}}while(0);if(i)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);k=7;C=229;break}else{k=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);k=7;C=229;break}else{k=7;C=229}}while(0);if((C|0)==229)if(j)C=230;if((C|0)==230){i=f[j>>2]|0;if(i)di(i,0)}if(j)if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{e=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](J);else{e=ib[f[37368>>2]&255](J)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](J)}f[g>>2]=0;g=k;t=K;return g|0}while(0);l:do if((C|0)==213){m=f[e+20>>2]|0;if((m|0)>0){l=f[e+16>>2]|0;k=0;while(1){i=f[l+(k<<4)+4>>2]|0;if(i|0?b[i+9>>0]|0:0)break;k=k+1|0;if((k|0)>=(m|0))break l}while(1){k=f[i+28>>2]|0;if(!k)break;else i=k}m=f[J+4>>2]|0;if(m>>>0<(f[i+4>>2]|0)>>>0){f[J+24>>2]=i;f[J+28>>2]=0;f[i+28>>2]=J;break}k=i+24|0;l=f[k>>2]|0;m:do if(!l)C=224;else{while(1){if((f[l+4>>2]|0)>>>0>=m>>>0)break;k=l+24|0;i=f[k>>2]|0;if(!i){i=l;C=224;break m}else{e=l;l=i;i=e}}f[J+24>>2]=l;f[J+28>>2]=i;f[l+28>>2]=J}while(0);if((C|0)==224){f[J+24>>2]=0;f[J+28>>2]=i}f[k>>2]=J}}while(0);f[g>>2]=J;k=f[J+4>>2]|0;f[k+4>>2]=f[J>>2];if(!(f[k+48>>2]|0)){g=f[(f[k>>2]|0)+212>>2]|0;f[g+16>>2]=-2e3;e=f[9361]|0;J=f[g+44>>2]|0;g=(f[g+28>>2]|0)+(f[g+24>>2]|0)|0;g=OA(2048e3,0,g|0,((g|0)<0)<<31>>31|0)|0;ba()|0;pb[e&127](J,g)}k=f[(f[j>>2]|0)+60>>2]|0;i=f[k>>2]|0;if(!i){g=0;t=K;return g|0}kb[f[i+40>>2]&127](k,30,j+4|0)|0;g=0;t=K;return g|0}function dj(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=t;t=t+64|0;z=B+16|0;p=B;r=B+52|0;s=B+48|0;A=B+44|0;y=B+40|0;l=B+36|0;m=B+32|0;n=B+56|0;o=B+28|0;i=f[a>>2]|0;w=a+4|0;v=f[w>>2]|0;j=v+4|0;f[j>>2]=i;a:do if(!(b[v+17>>0]|0)){g=Lh(v,s,A,1,0)|0;f[y>>2]=g;if(!g){q=f[s>>2]|0;break}else{A=g;t=B;return A|0}}else{k=v+8|0;g=f[k>>2]|0;if(g|0)do{x=g+1|0;b[x>>0]=b[x>>0]&-5;g=f[g+24>>2]|0}while((g|0)!=0);f[j>>2]=i;q=f[(f[v+12>>2]|0)+56>>2]|0;q=h[q+53>>0]<<16|h[q+52>>0]<<24|h[q+54>>0]<<8|h[q+55>>0];f[A>>2]=q;i=v+36|0;j=1073741824/((f[v+32>>2]|0)>>>0)|0;while(1){x=q+1|0;if(x>>>0<2)g=0;else{g=q+-1|0;g=g-((g>>>0)%(((((f[i>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;g=((g+1|0)==(j|0)?3:2)+g|0}if((q|0)==(j|0)|(x|0)==(g|0))q=x;else break}f[A>>2]=x;g=Lh(v,m,l,x,1)|0;f[y>>2]=g;b:do if(!g){l=f[l>>2]|0;c:do if((l|0)==(x|0)){l=f[m>>2]|0;f[s>>2]=l}else{b[n>>0]=0;f[o>>2]=0;g=f[k>>2]|0;if(!g)g=0;else g=Kg(g,0,0)|0;f[y>>2]=g;i=f[m>>2]|0;do if(i|0){i=f[i+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{u=f[i+20>>2]|0;m=u+120|0;f[m>>2]=(f[m>>2]|0)+-1;u=u+136|0;f[i+16>>2]=f[u>>2];f[u>>2]=i;break}}while(0);do if(!g){g=f[v>>2]|0;g=lb[f[g+204>>2]&127](g,x,r,0)|0;if(g|0){f[y>>2]=g;break}g=f[r>>2]|0;j=f[g+8>>2]|0;i=j+4|0;if((f[i>>2]|0)!=(x|0)){f[j+56>>2]=f[g+4>>2];f[j+72>>2]=g;f[j+52>>2]=v;f[i>>2]=x;b[j+9>>0]=(q|0)==0?100:0}f[s>>2]=j;g=rh(v,x,n,o)|0;f[y>>2]=g;i=b[n>>0]|0;if((i+-1&255)>=2){if(!g){g=Mh(v,j,i,f[o>>2]|0,l,0)|0;f[y>>2]=g;do if(j|0){i=f[j+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{u=f[i+20>>2]|0;p=u+120|0;f[p>>2]=(f[p>>2]|0)+-1;u=u+136|0;f[i+16>>2]=f[u>>2];f[u>>2]=i;break}}while(0);if(g|0)break;g=f[v>>2]|0;g=lb[f[g+204>>2]&127](g,x,r,0)|0;if(g|0){f[y>>2]=g;break}g=f[r>>2]|0;l=f[g+8>>2]|0;i=l+4|0;if((f[i>>2]|0)==(x|0))k=l+72|0;else{f[l+56>>2]=f[g+4>>2];k=l+72|0;f[k>>2]=g;f[l+52>>2]=v;f[i>>2]=x;b[l+9>>0]=(q|0)==0?100:0}f[s>>2]=l;f[y>>2]=0;i=f[k>>2]|0;j=f[i+20>>2]|0;do if(d[i+28>>1]&4){if((f[j+24>>2]|0)>>>0<(f[i+24>>2]|0)>>>0){u=44;break}if(!(f[j+96>>2]|0)){f[y>>2]=0;u=55;break}else{g=Ng(i)|0;u=49;break}}else u=44;while(0);do if((u|0)==44){g=f[j+40>>2]|0;if(g|0){f[y>>2]=g;break}if((f[j+148>>2]|0)>>>0>(f[j+152>>2]|0)>>>0){g=Og(i)|0;u=49;break}else{g=Pg(i)|0;u=49;break}}while(0);if((u|0)==49){f[y>>2]=g;if(!g)u=55}if((u|0)==55)break c;if(!l)break;i=f[k>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{A=f[i+20>>2]|0;c=A+120|0;f[c>>2]=(f[c>>2]|0)+-1;A=A+136|0;f[i+16>>2]=f[A>>2];f[A>>2]=i;break}}}else{f[p>>2]=42469;f[p+4>>2]=71779;f[p+8>>2]=40460;Ac(11,40408,p);f[y>>2]=11;g=11}if(j){i=f[j+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{A=f[i+20>>2]|0;c=A+120|0;f[c>>2]=(f[c>>2]|0)+-1;A=A+136|0;f[i+16>>2]=f[A>>2];f[A>>2]=i;break}}}while(0);break b}while(0);Oh(v,x,1,0,y);g=f[y>>2]|0;if(g|0){if(!l)break;i=f[l+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{A=f[i+20>>2]|0;c=A+120|0;f[c>>2]=(f[c>>2]|0)+-1;A=A+136|0;f[i+16>>2]=f[A>>2];f[A>>2]=i;break}}i=f[w>>2]|0;f[i+4>>2]=f[a>>2];i=f[i+12>>2]|0;k=f[i+56>>2]|0;i=f[i+72>>2]|0;j=f[i+20>>2]|0;if((d[i+28>>1]&4)!=0?(f[j+24>>2]|0)>>>0>=(f[i+24>>2]|0)>>>0:0)if(!(f[j+96>>2]|0))u=76;else{g=Ng(i)|0;u=70}else u=66;do if((u|0)==66){g=f[j+40>>2]|0;if(!g)if((f[j+148>>2]|0)>>>0>(f[j+152>>2]|0)>>>0){g=Og(i)|0;u=70;break}else{g=Pg(i)|0;u=70;break}}while(0);if((u|0)==70)if(!g)u=76;if((u|0)==76){b[k+52>>0]=x>>>24;b[k+53>>0]=x>>>16;b[k+54>>0]=x>>>8;b[k+55>>0]=x;f[y>>2]=0;q=l;break a}f[y>>2]=g;if(l){i=f[l+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{A=f[i+20>>2]|0;c=A+120|0;f[c>>2]=(f[c>>2]|0)+-1;A=A+136|0;f[i+16>>2]=f[A>>2];f[A>>2]=i;break}}}while(0);A=g;t=B;return A|0}while(0);k=(e&1|0)==0?10:13;o=f[q+56>>2]|0;j=q+52|0;p=f[j>>2]|0;i=h[q+9>>0]|0;if(!(d[p+22>>1]&12)){g=o+i|0;n=p+36|0}else{n=p+36|0;g=o+i|0;_A(g|0,0,(f[n>>2]|0)-i|0)|0}b[g>>0]=k;l=i+8|0;m=l&65535;g=o+(i+1)|0;b[g>>0]=0;b[g+1>>0]=0;b[g+2>>0]=0;b[g+3>>0]=0;b[o+(i+7)>>0]=0;g=o+(i+5)|0;b[g>>0]=(f[n>>2]|0)>>>8;b[g+1>>0]=f[n>>2];d[q+20>>1]=(f[n>>2]|0)-l;b[q+8>>0]=1;g=q+10|0;b[g>>0]=0;f[q+76>>2]=149;i=f[j>>2]|0;switch(k&7){case 5:{b[q+2>>0]=1;b[q+3>>0]=1;f[q+80>>2]=189;d[q+14>>1]=d[i+28>>1]|0;g=i+30|0;u=86;break}case 2:{b[q+2>>0]=0;b[q+3>>0]=0;f[q+80>>2]=190;d[q+14>>1]=d[i+24>>1]|0;g=i+26|0;u=86;break}default:{f[z>>2]=42469;f[z+4>>2]=64757;f[z+8>>2]=40460;Ac(11,40408,z);g=b[g>>0]|0}}if((u|0)==86){d[q+16>>1]=d[g>>1]|0;b[q+11>>0]=b[i+21>>0]|0;g=0}d[q+18>>1]=m;f[q+60>>2]=o+(f[n>>2]|0);f[q+64>>2]=o+l;f[q+68>>2]=o+(g&255);b[q+12>>0]=0;d[q+24>>1]=(f[p+32>>2]|0)+65535;d[q+22>>1]=0;b[q>>0]=1;g=f[q+72>>2]|0;do if(g|0)if(!(d[g+28>>1]&32)){bh(g);break}else{z=f[g+20>>2]|0;y=z+120|0;f[y>>2]=(f[y>>2]|0)+-1;z=z+136|0;f[g+16>>2]=f[z>>2];f[z>>2]=g;break}while(0);f[c>>2]=f[A>>2];A=0;t=B;return A|0}function ej(a,c,e,g,i,k){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=t;t=t+80|0;R=V+56|0;T=V+40|0;S=V+24|0;Q=V+8|0;P=V;a:do if(!c)if((b[a>>0]|0)==0?(l=h[a+1>>0]|0,(l&2|0)!=0):0){o=a+32|0;n=o;m=f[n>>2]|0;n=f[n+4>>2]|0;if((m|0)==(e|0)&(n|0)==(g|0)){f[k>>2]=0;U=0;t=V;return U|0}if((n|0)<(g|0)|(n|0)==(g|0)&m>>>0>>0){if(l&8|0){f[k>>2]=-1;U=0;t=V;return U|0}N=KA(m|0,n|0,1,0)|0;if((N|0)==(e|0)&(ba()|0)==(g|0)?(f[a+4>>2]|0)==0:0){f[k>>2]=0;l=fj(a,0)|0;switch(l|0){case 101:{N=0;break a}case 0:break;default:{U=l;t=V;return U|0}}oh(a);N=o;if((f[N>>2]|0)==(e|0)?(f[N+4>>2]|0)==(g|0):0){U=0;t=V;return U|0}else N=0}else N=0}else N=0}else N=0;else{l=f[c>>2]|0;do if((j[l+8>>1]|0)<14){m=j[(f[c+4>>2]|0)+8>>1]|0;N=(b[f[l+16>>2]>>0]|0)==0;b[c+12>>0]=N?-1:1;b[c+13>>0]=N?1:-1;if(!(m&4)){if(m&25|0){l=94;break}if(!(f[l+20>>2]|0))l=96;else{l=94;break}}else l=95}else l=94;while(0);b[c+11>>0]=0;N=l}while(0);l=$i(a)|0;switch(l|0){case 0:{L=a+116|0;C=1-i|0;D=a+70|0;E=(N|0)==0;F=a+1|0;G=a+32|0;M=a+50|0;H=a+32|0;I=a+68|0;J=a+20|0;K=a+2|0;l=0;m=0;b:while(1){B=f[L>>2]|0;y=B+22|0;o=(j[y>>1]|0)+-1|0;i=o>>C;d[D>>1]=i;x=B+68|0;z=B+24|0;A=B+64|0;c:do if(E){u=B+3|0;v=B+60|0;n=B+8|0;s=i;r=o;o=0;d:while(1){i=(f[A>>2]|0)+(s<<1)|0;i=(f[x>>2]|0)+((h[i>>0]<<8|h[i+1>>0])&j[z>>1])|0;e:do if(b[u>>0]|0){p=i+1|0;if((b[i>>0]|0)<0){q=f[v>>2]|0;while(1){if(p>>>0>=q>>>0)break;i=p+1|0;if((b[p>>0]|0)<0)p=i;else{U=30;break e}}f[Q>>2]=42469;f[Q+4>>2]=68325;f[Q+8>>2]=40460;Ac(11,40408,Q);q=1;i=s;l=11;p=r}else{i=p;U=30}}else U=30;while(0);f:do if((U|0)==30){U=0;Th(i,P)|0;p=P;i=f[p>>2]|0;p=f[p+4>>2]|0;do if((p|0)<(g|0)|(p|0)==(g|0)&i>>>0>>0){o=s+1|0;if((s|0)<(r|0))p=r;else{q=4;i=s;m=-1;p=r;break f}}else{if((p|0)>(g|0)|(p|0)==(g|0)&i>>>0>e>>>0){p=s+-1|0;if((o|0)<(s|0))break;else{q=4;i=s;m=1;break f}}d[D>>1]=s;if(!(b[n>>0]|0)){q=8;i=s;p=r;o=s;break f}b[F>>0]=b[F>>0]|2;q=G;f[q>>2]=i;f[q+4>>2]=p;d[M>>1]=0;f[k>>2]=0;q=1;i=s;l=0;p=r;break f}while(0);q=0;i=p+o>>1}while(0);switch(q&15){case 4:{U=74;break c}case 8:{U=76;break c}case 0:{s=i;r=p;break}default:break d}}if(q){U=85;break b}}else{s=B+11|0;u=B+14|0;v=B+10|0;w=B+80|0;n=o;o=0;while(1){p=(f[A>>2]|0)+(i<<1)|0;p=(f[x>>2]|0)+((h[p>>0]<<8|h[p+1>>0])&j[z>>1])|0;r=b[p>>0]|0;q=r&255;m=p+1|0;do if((r&255)>(h[s>>0]|0)){m=h[m>>0]|0;if((m&128|0)==0?(O=(q<<7&16256)+m|0,O>>>0<=(j[u>>1]|0)>>>0):0){m=kb[N&127](O,p+2|0,c)|0;break}qb[f[w>>2]&255](B,p+(0-(h[v>>0]|0))|0,H);r=f[H>>2]|0;if((r|0)<2){U=45;break b}m=r+18|0;q=KA(m|0,((m|0)<0)<<31>>31|0,-1,-1)|0;p=ba()|0;if(p>>>0>0|(p|0)==0&q>>>0>2147483390){l=7;break b}if(!(f[9328]|0)){m=ib[f[37356>>2]&255](m)|0;if(!m){l=7;break b}else p=m}else{q=ib[f[37372>>2]&255](m)|0;if((f[18194]|0)>>>0>>0)f[18194]=m;p=71896;m=f[p>>2]|0;p=f[p+4>>2]|0;if((p|0)>0|(p|0)==0&m>>>0>0){W=f[18187]|0;p=LA(m|0,p|0,q|0,((q|0)<0)<<31>>31|0)|0;m=ba()|0;f[17976]=((m|0)<0|(m|0)==0&p>>>0<=W>>>0)&1}p=ib[f[37356>>2]&255](q)|0;if(!p){l=7;break b}m=ib[f[37368>>2]&255](p)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0>(f[18196]|0)>>>0)f[18196]=m}d[D>>1]=i;m=ph(a,0,r,p,0)|0;b[F>>0]=b[F>>0]&-5;if(m|0){U=59;break b}m=kb[N&127](r,p,c)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{W=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-W;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}else m=kb[N&127](q,m,c)|0;while(0);if((m|0)<0)o=i+1|0;else{if(!m){U=69;break b}n=i+-1|0}if((o|0)>(n|0))break;i=n+o>>1}n=B+8|0;U=74}while(0);if((U|0)==74)if(!(b[n>>0]|0))U=76;else{U=75;break}if((U|0)==76){U=0;if((o|0)<(j[y>>1]|0)){n=(f[A>>2]|0)+(o<<1)|0;n=(h[n>>0]<<8|h[n+1>>0])&j[z>>1]}else n=(h[B+9>>0]|0)+8|0;r=(f[B+56>>2]|0)+n|0;i=b[r>>0]|0;p=b[r+1>>0]|0;q=b[r+2>>0]|0;r=b[r+3>>0]|0;n=o&65535;d[D>>1]=n;o=b[I>>0]|0;if(o<<24>>24>18){U=80;break}W=f[J>>2]|0;d[M>>1]=0;b[F>>0]=b[F>>0]&-7;B=o<<24>>24;d[a+72+(B<<1)>>1]=n;f[a+120+(B<<2)>>2]=f[L>>2];d[D>>1]=0;b[I>>0]=o+1<<24>>24;n=aj(W,(p&255)<<16|(i&255)<<24|(q&255)<<8|r&255,L,a,h[K>>0]|0)|0;if(n){l=n;break}}}do if((U|0)==45){f[S>>2]=42469;f[S+4>>2]=68399;f[S+8>>2]=40460;Ac(11,40408,S);l=11}else if((U|0)==59)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);l=m;break}else{l=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);l=m;break}else if((U|0)==69){f[k>>2]=0;d[D>>1]=i;if(!(b[c+11>>0]|0))l=0;else{f[T>>2]=42469;f[T+4>>2]=68430;f[T+8>>2]=40460;Ac(11,40408,T);l=11}}else if((U|0)==75){d[D>>1]=i;f[k>>2]=m;l=0}else if((U|0)==80){f[R>>2]=42469;f[R+4>>2]=67897;f[R+8>>2]=40460;Ac(11,40408,R);l=11}else if((U|0)==85){t=V;return l|0}while(0);d[M>>1]=0;W=l;t=V;return W|0}case 16:{f[k>>2]=-1;W=0;t=V;return W|0}default:{W=l;t=V;return W|0}}return 0}function fj(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;s=t;t=t+16|0;r=s;o=a+50|0;d[o>>1]=0;p=a+1|0;b[p>>0]=b[p>>0]&-7;if(b[a>>0]|0){r=nk(a)|0;t=s;return r|0}q=a+116|0;e=f[q>>2]|0;n=a+70|0;c=d[n>>1]|0;m=c+1<<16>>16;d[n>>1]=m;if((m&65535)>=(j[e+22>>1]|0)){d[n>>1]=c;r=nk(a)|0;t=s;return r|0}if(b[e+8>>0]|0){r=0;t=s;return r|0}k=a+68|0;l=a+20|0;m=a+2|0;while(1){c=d[n>>1]|0;g=(f[e+64>>2]|0)+((c&65535)<<1)|0;g=(f[e+56>>2]|0)+((h[g>>0]<<8|h[g+1>>0])&j[e+24>>1])|0;i=b[k>>0]|0;if(i<<24>>24>18){e=8;break}g=h[g>>0]<<24|h[g+1>>0]<<16|h[g+2>>0]<<8|h[g+3>>0];u=f[l>>2]|0;d[o>>1]=0;b[p>>0]=b[p>>0]&-7;v=i<<24>>24;d[a+72+(v<<1)>>1]=c;f[a+120+(v<<2)>>2]=e;d[n>>1]=0;b[k>>0]=i+1<<24>>24;c=aj(u,g,q,a,h[m>>0]|0)|0;if(c|0){e=11;break}e=f[q>>2]|0;if(b[e+8>>0]|0){c=0;e=11;break}}if((e|0)==8){f[r>>2]=42469;f[r+4>>2]=67897;f[r+8>>2]=40460;Ac(11,40408,r);v=11;t=s;return v|0}else if((e|0)==11){t=s;return c|0}return 0}function gj(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;x=t;t=t+32|0;v=x+16|0;k=x;g=x+28|0;c=b[a>>0]|0;if(c<<24>>24){do if((c&255)>2){if(c<<24>>24==4){c=f[a+4>>2]|0;if(!c)break;t=x;return c|0}b[a>>0]=1;e=a+16|0;c=a+56|0;c=lk(a,f[e>>2]|0,f[c>>2]|0,f[c+4>>2]|0,0,g)|0;if(c|0){a=c;t=x;return a|0}c=f[e>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{w=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[e>>2]=0;c=a+4|0;w=f[c>>2]|f[g>>2];f[c>>2]=w;c=b[a>>0]|0;if((w|0)!=0&c<<24>>24==0){b[a>>0]=2;c=2}e=c;w=14}else{e=c;w=14}while(0);if((w|0)==14?e<<24>>24==1:0){a=101;t=x;return a|0}c=a+4|0;e=f[c>>2]|0;if(e|0?(b[a>>0]=0,f[c>>2]=0,(e|0)<0):0){a=0;t=x;return a|0}}s=a+116|0;c=f[s>>2]|0;u=a+70|0;e=d[u>>1]|0;i=c;if(!(b[c+8>>0]|0)){r=(f[c+64>>2]|0)+((e&65535)<<1)|0;c=(f[c+56>>2]|0)+((h[r>>0]<<8|h[r+1>>0])&j[c+24>>1])|0;r=a+68|0;g=b[r>>0]|0;if(g<<24>>24>18){f[k>>2]=42469;f[k+4>>2]=67897;f[k+8>>2]=40460;Ac(11,40408,k);a=11;t=x;return a|0}c=h[c>>0]<<24|h[c+1>>0]<<16|h[c+2>>0]<<8|h[c+3>>0];o=a+20|0;m=f[o>>2]|0;p=a+50|0;d[p>>1]=0;q=a+1|0;b[q>>0]=b[q>>0]&-7;n=g<<24>>24;d[a+72+(n<<1)>>1]=e;f[a+120+(n<<2)>>2]=i;d[u>>1]=0;b[r>>0]=g+1<<24>>24;n=a+2|0;c=aj(m,c,s,a,h[n>>0]|0)|0;if(c|0){a=c;t=x;return a|0}c=f[s>>2]|0;a:do if(!(b[c+8>>0]|0)){while(1){k=(f[c+56>>2]|0)+((h[c+9>>0]|0)+8)|0;e=b[k>>0]|0;g=b[k+1>>0]|0;i=b[k+2>>0]|0;k=b[k+3>>0]|0;l=d[c+22>>1]|0;d[u>>1]=l;m=b[r>>0]|0;if(m<<24>>24>18)break;y=f[o>>2]|0;d[p>>1]=0;b[q>>0]=b[q>>0]&-7;z=m<<24>>24;d[a+72+(z<<1)>>1]=l;f[a+120+(z<<2)>>2]=c;d[u>>1]=0;b[r>>0]=m+1<<24>>24;c=aj(y,(g&255)<<16|(e&255)<<24|(i&255)<<8|k&255,s,a,h[n>>0]|0)|0;if(c|0){w=40;break}c=f[s>>2]|0;if(b[c+8>>0]|0)break a}if((w|0)==40){t=x;return c|0}f[v>>2]=42469;f[v+4>>2]=67897;f[v+8>>2]=40460;Ac(11,40408,v);z=11;t=x;return z|0}while(0);d[u>>1]=(j[c+22>>1]|0)+65535;z=0;t=x;return z|0}do if(!(e<<16>>16)){g=a+68|0;i=a+50|0;k=a+1|0;while(1){c=b[g>>0]|0;if(!(c<<24>>24))break;d[i>>1]=0;b[k>>0]=b[k>>0]&-7;e=d[a+72+((c<<24>>24)+-1<<1)>>1]|0;d[u>>1]=e;z=f[s>>2]|0;c=c+-1<<24>>24;b[g>>0]=c;f[s>>2]=f[a+120+(c<<24>>24<<2)>>2];c=f[z+72>>2]|0;if(!(d[c+28>>1]&32)){bh(c);e=d[u>>1]|0}else{z=f[c+20>>2]|0;y=z+120|0;f[y>>2]=(f[y>>2]|0)+-1;z=z+136|0;f[c+16>>2]=f[z>>2];f[z>>2]=c}if(e<<16>>16){w=36;break}}if((w|0)==36){c=f[s>>2]|0;break}b[a>>0]=1;z=101;t=x;return z|0}while(0);d[u>>1]=e+-1<<16>>16;if(!(b[c+2>>0]|0)){z=0;t=x;return z|0}if(b[c+8>>0]|0){z=0;t=x;return z|0}z=a+1|0;b[z>>0]=b[z>>0]&-15;d[a+50>>1]=0;z=gj(a)|0;t=x;return z|0}function hj(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;v=t;t=t+16|0;u=v;m=f[g+4>>2]|0;b[g+10>>0]=0;s=b[e>>0]|0;i=s&255;do if(s<<24>>24<=-1){k=h[e+1>>0]|0;if(!(k&128)){s=i<<7&16256|k;i=2;break}l=h[e+2>>0]|0;if(!(l&128)){s=(i<<14|l)&2080895|k<<7&16256;i=3;break}else{i=Th(e,u)|0;r=u;s=f[r>>2]|0;s=((s|0)==(s|0)?0==(f[r+4>>2]|0):0)?s:-1;break}}else{s=i;i=1}while(0);k=i&255;if((s|0)>(c|0)|s>>>0<=k>>>0){e=0;u=g+8|0;d[u>>1]=e;t=v;return}r=a+4|0;q=a+12|0;i=g+8|0;l=0;o=k;p=s;while(1){a=e+o|0;n=b[a>>0]|0;k=n&255;if(n<<24>>24>-1)a=1;else{g=h[a+1>>0]|0;do if(g&128){n=h[a+2>>0]|0;if(!(n&128)){k=(k<<14|n)&2080895|g<<7&16256;a=3;break}else{a=Th(a,u)|0;n=u;k=f[n>>2]|0;k=((k|0)==(k|0)?0==(f[n+4>>2]|0):0)?k:-1;break}}else{k=k<<7&16256|g;a=2}while(0);a=a&255}b[m+10>>0]=b[r>>0]|0;f[m+32>>2]=f[q>>2];f[m+24>>2]=0;f[m+16>>2]=0;k=Zi(e+p|0,k,m)|0;l=l+1<<16>>16;if((l&65535)>=(j[i>>1]|0)){k=19;break}p=k+p|0;o=a+o|0;if((p|0)>(c|0)|o>>>0>=s>>>0){k=19;break}else m=m+40|0}if((k|0)==19){d[i>>1]=l;t=v;return}}function ij(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;x=t;t=t+16|0;v=x;if((b[a>>0]|0)==0?b[a+1>>0]&8:0){w=0;t=x;return w|0}e=$i(a)|0;switch(e|0){case 0:{f[c>>2]=0;r=a+116|0;e=f[r>>2]|0;s=a+70|0;a:do if(!(b[e+8>>0]|0)){n=a+68|0;o=a+20|0;p=a+50|0;u=a+1|0;q=a+2|0;while(1){k=(f[e+56>>2]|0)+((h[e+9>>0]|0)+8)|0;c=b[k>>0]|0;g=b[k+1>>0]|0;i=b[k+2>>0]|0;k=b[k+3>>0]|0;l=d[e+22>>1]|0;d[s>>1]=l;m=b[n>>0]|0;if(m<<24>>24>18){w=9;break}y=f[o>>2]|0;d[p>>1]=0;b[u>>0]=b[u>>0]&-7;z=m<<24>>24;d[a+72+(z<<1)>>1]=l;f[a+120+(z<<2)>>2]=e;d[s>>1]=0;b[n>>0]=m+1<<24>>24;c=aj(y,(g&255)<<16|(c&255)<<24|(i&255)<<8|k&255,r,a,h[q>>0]|0)|0;if(c|0)break;e=f[r>>2]|0;if(b[e+8>>0]|0){c=u;break a}}if((w|0)==9){f[v>>2]=42469;f[v+4>>2]=67897;f[v+8>>2]=40460;Ac(11,40408,v);c=11}b[u>>0]=b[u>>0]&-9;z=c;t=x;return z|0}else c=a+1|0;while(0);d[s>>1]=(j[e+22>>1]|0)+65535;b[c>>0]=b[c>>0]|8;z=0;t=x;return z|0}case 16:{f[c>>2]=1;z=0;t=x;return z|0}default:{z=e;t=x;return z|0}}return 0}function jj(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=t;t=t+80|0;I=N+40|0;H=N;B=N+64|0;C=N+60|0;M=N+56|0;D=N+52|0;f[D>>2]=g;o=f[a+8>>2]|0;q=o+4|0;G=f[q>>2]|0;if((b[a>>0]|0)==4){M=f[a+4>>2]|0;t=N;return M|0}J=a+1|0;l=b[J>>0]|0;a:do if(l&32){m=f[a+64>>2]|0;i=f[G+8>>2]|0;b:do if(!i)L=14;else{c:do if(m){do{if((i|0)!=(a|0)?(f[i+64>>2]|0)==(m|0):0)break c;i=f[i+24>>2]|0}while((i|0)!=0);if(!a)break b;else{L=14;break b}}else{k=a+24|0;while(1){if((i|0)!=(a|0))break c;i=f[k>>2]|0;if(!i){L=14;break b}}}while(0);i=Kg(i,m,a)|0;f[M>>2]=i;if(!i)break a;t=N;return i|0}while(0);if((L|0)==14)b[J>>0]=l&-33;f[M>>2]=0}while(0);K=a+112|0;A=f[K>>2]|0;k=A;do if(!A){l=f[a+64>>2]|0;n=c+8|0;m=f[n>>2]|0;n=f[n+4>>2]|0;k=o+11|0;if(b[k>>0]|0?(b[k>>0]=0,p=f[(f[q>>2]|0)+8>>2]|0,p|0):0){i=p;do{if((b[i+1>>0]&16?(b[k>>0]=1,(f[i+64>>2]|0)==(l|0)):0)?(A=i+32|0,(f[A>>2]|0)==(m|0)?(f[A+4>>2]|0)==(n|0):0):0)b[i>>0]=1;i=f[i+24>>2]|0}while((i|0)!=0)}if(b[J>>0]&2?(A=a+32|0,(m|0)==(f[A>>2]|0)?(n|0)==(f[A+4>>2]|0):0):0){if(!(d[a+50>>1]|0))break;if((f[a+44>>2]|0)!=((f[c+32>>2]|0)+(f[c+28>>2]|0)|0))break;M=kk(a,c)|0;t=N;return M|0}if((g|0)==0?(r=ej(a,0,m,n,(e|0)!=0&1,D)|0,f[M>>2]=r,r|0):0){M=r;t=N;return M|0}}else{do if(!(e&2|g)){i=d[c+24>>1]|0;if(!(i<<16>>16)){i=c+8|0;i=lk(a,f[c>>2]|0,f[i>>2]|0,f[i+4>>2]|0,(e|0)!=0&1,D)|0;f[M>>2]=i}else{f[H>>2]=k;f[H+4>>2]=f[c+20>>2];d[H+8>>1]=i;i=H+10|0;d[i>>1]=0;d[i+2>>1]=0;b[i+4>>0]=0;i=ej(a,H,0,0,(e|0)!=0&1,D)|0;f[M>>2]=i}if(!i){i=f[D>>2]|0;break}else{M=i;t=N;return M|0}}else i=g;while(0);if((i|0)==0?(oh(a),z=a+32|0,n=f[z>>2]|0,A=c+8|0,(n|0)==(f[A>>2]|0)?(f[z+4>>2]|0)==(f[A+4>>2]|0):0):0){f[H+16>>2]=f[c>>2];f[H+28>>2]=n;f[H+32>>2]=0;M=kk(a,H)|0;t=N;return M|0}}while(0);A=a+116|0;y=f[A>>2]|0;z=f[G+80>>2]|0;o=h[y+10>>0]|0;if(!(b[y+2>>0]|0)){m=f[c+8>>2]|0;l=f[c>>2]|0;do if(m>>>0>=128){i=z+o|0;k=((m|0)<0)<<31>>31;if(m>>>0<16384){x=VA(m|0,k|0,7)|0;ba()|0;b[i>>0]=x&255|-128;b[i+1>>0]=m&127;i=2;break}else{i=(_i(i,m,k)|0)&255;break}}else{b[z+o>>0]=m;i=1}while(0);r=m;n=i+o|0;q=m}else{q=f[c+28>>2]|0;n=(f[c+32>>2]|0)+q|0;p=f[c+16>>2]|0;do if(n>>>0>=128){i=z+o|0;k=((n|0)<0)<<31>>31;if(n>>>0<16384){x=VA(n|0,k|0,7)|0;ba()|0;b[i>>0]=x&255|-128;b[i+1>>0]=n&127;i=2;break}else{i=(_i(i,n,k)|0)&255;break}}else{b[z+o>>0]=n;i=1}while(0);m=i+o|0;i=z+m|0;l=c+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;do if(!(l>>>0<0|(l|0)==0&k>>>0<128))if(l>>>0<0|(l|0)==0&k>>>0<16384){x=VA(k|0,l|0,7)|0;ba()|0;b[i>>0]=x&255|-128;b[i+1>>0]=k&127;i=2;break}else{i=_i(i,k,l)|0;break}else{b[i>>0]=k&127;i=1}while(0);r=n;n=i+m|0;l=p}k=z+n|0;i=j[y+14>>1]|0;d:do if((r|0)>(i|0)){g=j[y+16>>1]|0;w=f[y+52>>2]|0;x=w+36|0;m=(((r-g|0)>>>0)%(((f[x>>2]|0)+-4|0)>>>0)|0)+g|0;m=(m|0)>(i|0)?g:m;g=m+n|0;n=g+4|0;f[B>>2]=0;s=w+17|0;u=w+32|0;g=z+g|0;v=0;i=r;e:while(1){r=i;while(1){i=(r|0)>(m|0)?m:r;do if((q|0)<(i|0))if((q|0)>0){YA(k|0,l|0,q|0)|0;i=q;break}else{_A(k|0,0,i|0)|0;break}else YA(k|0,l|0,i|0)|0;while(0);r=r-i|0;if((r|0)<1){L=94;break e}l=l+i|0;q=q-i|0;m=m-i|0;if(!m)break;else k=k+i|0}f[C>>2]=0;p=f[B>>2]|0;if(!(b[s>>0]|0))i=p;else{m=1073741824/((f[u>>2]|0)>>>0)|0;i=p;do{o=i;i=i+1|0;if(i>>>0<2)k=0;else{k=o+-1|0;k=k-((k>>>0)%(((((f[x>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;k=((k+1|0)==(m|0)?3:2)+k|0}}while((o|0)==(m|0)|(k|0)==(i|0));f[B>>2]=i}k=Lh(w,C,B,i,0)|0;f[H>>2]=k;i=(k|0)==0;if(i&(b[s>>0]|0)!=0){i=f[B>>2]|0;Oh(w,i,(p|0)==0?3:4,p,H);k=f[H>>2]|0;if(k){L=79;break}}else{if(!i)break;i=f[B>>2]|0}b[g>>0]=i>>>24;b[g+1>>0]=i>>>16;b[g+2>>0]=i>>>8;b[g+3>>0]=i;do if(v|0){i=f[v+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{v=f[i+20>>2]|0;g=v+120|0;f[g>>2]=(f[g>>2]|0)+-1;v=v+136|0;f[i+16>>2]=f[v>>2];f[v>>2]=i;break}}while(0);v=f[C>>2]|0;k=v+56|0;g=f[k>>2]|0;b[g>>0]=0;b[g+1>>0]=0;b[g+2>>0]=0;b[g+3>>0]=0;k=(f[k>>2]|0)+4|0;m=(f[x>>2]|0)+-4|0;i=r}do if((L|0)==79){i=f[C>>2]|0;if(i){i=f[i+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{a=f[i+20>>2]|0;c=a+120|0;f[c>>2]=(f[c>>2]|0)+-1;a=a+136|0;f[i+16>>2]=f[a>>2];f[a>>2]=i;break}}}else if((L|0)==94){if(!v)break d;i=f[v+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break d}else{C=f[i+20>>2]|0;B=C+120|0;f[B>>2]=(f[B>>2]|0)+-1;C=C+136|0;f[i+16>>2]=f[C>>2];f[C>>2]=i;break d}}while(0);do if(v|0){i=f[v+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{a=f[i+20>>2]|0;c=a+120|0;f[c>>2]=(f[c>>2]|0)+-1;a=a+136|0;f[i+16>>2]=f[a>>2];f[a>>2]=i;break}}while(0);f[M>>2]=k;M=k;t=N;return M|0}else{n=r+n|0;YA(k|0,l|0,q|0)|0;_A(k+q|0,0,r-q|0)|0;n=(n|0)>4?n:4}while(0);f[M>>2]=0;k=a+70|0;l=d[k>>1]|0;m=l&65535;i=f[D>>2]|0;if(!i){k=f[y+72>>2]|0;l=f[k+20>>2]|0;do if((d[k+28>>1]&4)!=0?(f[l+24>>2]|0)>>>0>=(f[k+24>>2]|0)>>>0:0)if(!(f[l+96>>2]|0)){f[M>>2]=0;break}else{F=Ng(k)|0;L=110;break}else L=105;while(0);do if((L|0)==105){i=f[l+40>>2]|0;if(i|0){f[M>>2]=i;L=121;break}if((f[l+148>>2]|0)>>>0>(f[l+152>>2]|0)>>>0){F=Og(k)|0;L=110;break}else{F=Pg(k)|0;L=110;break}}while(0);if((L|0)==110?(f[M>>2]=F,F|0):0){i=F;L=121}if((L|0)==121){M=i;t=N;return M|0}i=(f[y+64>>2]|0)+(m<<1)|0;i=(f[y+56>>2]|0)+((h[i>>0]<<8|h[i+1>>0])&j[y+24>>1])|0;if(!(b[y+8>>0]|0)){F=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[z>>0]=F;b[z+1>>0]=F>>8;b[z+2>>0]=F>>16;b[z+3>>0]=F>>24}k=Uj(y,i,H)|0;f[M>>2]=k;k=j[H+18>>1]|0;do if((n|0)==(k|0)?(f[H+12>>2]|0)==(j[H+16>>1]|0):0){if(b[G+17>>0]|0?(n|0)>=(j[y+16>>1]|0):0)break;if((i+n|0)>>>0>(f[y+60>>2]|0)>>>0){f[I>>2]=42469;f[I+4>>2]=71437;f[I+8>>2]=40460;Ac(11,40408,I);i=11}else{YA(i|0,z|0,n|0)|0;i=0}M=i;t=N;return M|0}while(0);ck(y,m,k,M);i=f[M>>2]|0;if(!i)i=m;else{M=i;t=N;return M|0}}else if((i|0)<0?(E=l+1<<16>>16,(d[y+22>>1]|0)!=0):0){d[k>>1]=E;b[J>>0]=b[J>>0]&-3;i=E&65535}else i=m;dk(y,i,z,n,0,0,M);d[a+50>>1]=0;if(!(b[y+12>>0]|0)){M=f[M>>2]|0;t=N;return M|0}b[J>>0]=b[J>>0]&-3;k=ek(a)|0;f[M>>2]=k;i=f[A>>2]|0;b[i+12>>0]=0;b[a>>0]=1;if(!((e&2|0)!=0&(k|0)==0)){M=k;t=N;return M|0}m=a+68|0;k=b[m>>0]|0;if(k<<24>>24>-1){if(k<<24>>24){l=0;i=k;do{k=f[(f[a+120+(l<<2)>>2]|0)+72>>2]|0;if(!(d[k+28>>1]&32)){bh(k);i=b[m>>0]|0}else{e=f[k+20>>2]|0;J=e+120|0;f[J>>2]=(f[J>>2]|0)+-1;e=e+136|0;f[k+16>>2]=f[e>>2];f[e>>2]=k}l=l+1|0}while((l|0)<(i<<24>>24|0));i=f[A>>2]|0}i=f[i+72>>2]|0;if(!(d[i+28>>1]&32))bh(i);else{e=f[i+20>>2]|0;J=e+120|0;f[J>>2]=(f[J>>2]|0)+-1;e=e+136|0;f[i+16>>2]=f[e>>2];f[e>>2]=i}b[m>>0]=-1}m=c+8|0;f:do if(!(f[K>>2]|0))i=0;else{K=m;i=f[K>>2]|0;K=KA(i|0,f[K+4>>2]|0,-1,-1)|0;e=ba()|0;do if(e>>>0>0|(e|0)==0&K>>>0>2147483390)L=153;else{if(!(f[9328]|0)){i=ib[f[37356>>2]&255](i)|0;f[a+16>>2]=i;if(!i)break}else{l=ib[f[37372>>2]&255](i)|0;if((f[18194]|0)>>>0>>0)f[18194]=i;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){L=f[18187]|0;K=LA(i|0,k|0,l|0,((l|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&K>>>0<=L>>>0)&1}i=ib[f[37356>>2]&255](l)|0;if(!i){L=153;break}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k;f[a+16>>2]=i}YA(i|0,f[c>>2]|0,f[m>>2]|0)|0;i=0;break f}while(0);if((L|0)==153)f[a+16>>2]=0;f[M>>2]=7;i=7}while(0);b[a>>0]=3;L=m;c=f[L+4>>2]|0;M=a+56|0;f[M>>2]=f[L>>2];f[M+4>>2]=c;M=i;t=N;return M|0}function kj(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=t;t=t+48|0;A=N+24|0;M=N+36|0;v=N;n=f[a+8>>2]|0;o=n+4|0;B=f[o>>2]|0;L=a+68|0;F=b[L>>0]|0;y=F<<24>>24;I=a+70|0;J=d[I>>1]|0;E=J&65535;K=a+116|0;G=f[K>>2]|0;w=(f[G+64>>2]|0)+(E<<1)|0;w=(f[G+56>>2]|0)+((h[w>>0]<<8|h[w+1>>0])&j[G+24>>1])|0;H=(c&2)!=0;x=G+8|0;do if(H){if(b[x>>0]|0){k=j[G+20>>1]|0;g=w+(h[G+10>>0]|0)|0;z=b[g>>0]|0;e=z&255;if(z<<24>>24<0){c=0;e=e&127;do{c=c+1|0;z=b[g+c>>0]|0;e=e<<7|z&127}while(z<<24>>24<0&c>>>0<8);g=g+c|0;i=e}else i=e;if(!(b[G+2>>0]|0))c=g+1|0;else{c=1;do{z=c;c=c+1|0}while((b[g+z>>0]|0)<0&c>>>0<10);c=g+c|0}e=j[G+14>>1]|0;if(i>>>0>e>>>0){g=j[G+16>>1]|0;z=(((i-g|0)>>>0)%(((f[(f[G+52>>2]|0)+36>>2]|0)+-4|0)>>>0)|0)+g|0;c=(c-w&65535)+4+(z>>>0>e>>>0?g:z)|0}else{c=c-w+i|0;c=c>>>0>4?c:4}if((k+2+(c&65535)|0)>>>0<=((f[B+36>>2]<<1>>>0)/3|0)>>>0){z=1;break}}z=(b[a+69>>0]|0)==0;oh(a);a:do if(z){c=f[a+44>>2]|0;i=a+56|0;z=i;f[z>>2]=c;f[z+4>>2]=0;z=KA(c|0,0,-1,-1)|0;k=ba()|0;do if(!(k>>>0>0|(k|0)==0&z>>>0>2147483390)){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](c)|0;if(!c){c=7;break}else e=c}else{g=ib[f[37372>>2]&255](c)|0;if((f[18194]|0)>>>0>>0)f[18194]=c;e=71896;c=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&c>>>0>0){z=f[18187]|0;k=LA(c|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&k>>>0<=z>>>0)&1}e=ib[f[37356>>2]&255](g)|0;if(!e){c=7;break}c=ib[f[37368>>2]&255](e)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}c=ph(a,0,f[i>>2]|0,e,0)|0;if(!c){f[a+16>>2]=e;break a}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}else c=7;while(0);f[M>>2]=c;M=c;t=N;return M|0}else{i=a+32|0;k=f[i+4>>2]|0;z=a+56|0;f[z>>2]=f[i>>2];f[z+4>>2]=k}while(0);f[M>>2]=0;z=0}else z=0;while(0);k=a+1|0;do if(!(b[x>>0]|0)){b[k>>0]=b[k>>0]&-15;d[a+50>>1]=0;if(((b[a>>0]|0)==0?(l=d[I>>1]|0,l<<16>>16):0)?b[(f[K>>2]|0)+8>>0]|0:0){d[I>>1]=l+-1<<16>>16;f[M>>2]=0;break}c=gj(a)|0;f[M>>2]=c;if(c|0){M=c;t=N;return M|0}}while(0);g=b[k>>0]|0;b:do if(g&32){i=f[a+64>>2]|0;c=f[B+8>>2]|0;c:do if(!c)C=53;else{d:do if(i){do{if((c|0)!=(a|0)?(f[c+64>>2]|0)==(i|0):0)break d;c=f[c+24>>2]|0}while((c|0)!=0);if(!a)break c;else{C=53;break c}}else{e=a+24|0;while(1){if((c|0)!=(a|0))break d;c=f[e>>2]|0;if(!c){C=53;break c}}}while(0);c=Kg(c,i,a)|0;f[M>>2]=c;if(!c)break b;t=N;return c|0}while(0);if((C|0)==53)b[k>>0]=g&-33;f[M>>2]=0}while(0);if(((f[a+112>>2]|0)==0?(p=f[a+64>>2]|0,r=a+32|0,q=f[r>>2]|0,r=f[r+4>>2]|0,s=n+11|0,b[s>>0]|0):0)?(b[s>>0]=0,m=f[(f[o>>2]|0)+8>>2]|0,m|0):0){c=m;do{if((b[c+1>>0]&16?(b[s>>0]=1,(f[c+64>>2]|0)==(p|0)):0)?(o=c+32|0,(f[o>>2]|0)==(q|0)?(f[o+4>>2]|0)==(r|0):0):0)b[c>>0]=1;c=f[c+24>>2]|0}while((c|0)!=0)}e=f[G+72>>2]|0;g=f[e+20>>2]|0;do if((d[e+28>>1]&4)!=0?(f[g+24>>2]|0)>>>0>=(f[e+24>>2]|0)>>>0:0)if(!(f[g+96>>2]|0)){f[M>>2]=0;break}else{u=Ng(e)|0;C=75;break}else C=70;while(0);do if((C|0)==70){c=f[g+40>>2]|0;if(c|0){f[M>>2]=c;M=c;t=N;return M|0}if((f[g+148>>2]|0)>>>0>(f[g+152>>2]|0)>>>0){u=Og(e)|0;C=75;break}else{u=Pg(e)|0;C=75;break}}while(0);if((C|0)==75?(f[M>>2]=u,u|0):0){M=u;t=N;return M|0}c=Uj(G,w,v)|0;f[M>>2]=c;ck(G,E,j[v+18>>1]|0,M);c=f[M>>2]|0;if(c|0){M=c;t=N;return M|0}if(!(b[x>>0]|0)){o=f[K>>2]|0;if(((b[L>>0]|0)+-1|0)>(y|0))c=f[a+120+(y+1<<2)>>2]|0;else c=o;l=f[c+4>>2]|0;m=o+22|0;C=(f[o+64>>2]|0)+((j[m>>1]<<1)+-2)|0;C=(h[C>>0]<<8|h[C+1>>0])&j[o+24>>1];n=(f[o+56>>2]|0)+C|0;if(C>>>0<4){f[A>>2]=42469;f[A+4>>2]=71625;f[A+8>>2]=40460;Ac(11,40408,A);M=11;t=N;return M|0}k=(jb[f[o+76>>2]&255](o,n)|0)&65535;c=f[B+80>>2]|0;e=f[o+72>>2]|0;g=f[e+20>>2]|0;do if((d[e+28>>1]&4)!=0?(f[g+24>>2]|0)>>>0>=(f[e+24>>2]|0)>>>0:0)if(!(f[g+96>>2]|0)){f[M>>2]=0;C=93;break}else{D=Ng(e)|0;C=92;break}else C=87;while(0);do if((C|0)==87){i=f[g+40>>2]|0;if(i|0){f[M>>2]=i;break}if((f[g+148>>2]|0)>>>0>(f[g+152>>2]|0)>>>0){D=Og(e)|0;C=92;break}else{D=Pg(e)|0;C=92;break}}while(0);if((C|0)==92?(f[M>>2]=D,(D|0)==0):0)C=93;if((C|0)==93)dk(G,E,n+-4|0,k+4|0,c,l,M);ck(o,(j[m>>1]|0)+-1|0,k,M);c=f[M>>2]|0;if(c|0){M=c;t=N;return M|0}}c=ek(a)|0;f[M>>2]=c;if(c|0){M=c;t=N;return M|0}c=b[L>>0]|0;if(c<<24>>24>F<<24>>24){e=f[(f[K>>2]|0)+72>>2]|0;if(!(d[e+28>>1]&32)){bh(e);c=b[L>>0]|0}else{E=f[e+20>>2]|0;D=E+120|0;f[D>>2]=(f[D>>2]|0)+-1;E=E+136|0;f[e+16>>2]=f[E>>2];f[E>>2]=e}e=c+-1<<24>>24;b[L>>0]=e;c=e<<24>>24;if(e<<24>>24>F<<24>>24)do{e=e+-1<<24>>24;b[L>>0]=e;c=f[a+120+(c<<2)>>2]|0;do if(c){c=f[c+72>>2]|0;if(!(d[c+28>>1]&32)){bh(c);e=b[L>>0]|0;break}else{E=f[c+20>>2]|0;D=E+120|0;f[D>>2]=(f[D>>2]|0)+-1;E=E+136|0;f[c+16>>2]=f[E>>2];f[E>>2]=c;break}}while(0);c=e<<24>>24}while(e<<24>>24>F<<24>>24);f[K>>2]=f[a+120+(c<<2)>>2];c=ek(a)|0;f[M>>2]=c;if(c|0){M=c;t=N;return M|0}}if(z|0){b[a>>0]=2;e=d[G+22>>1]|0;c=a+4|0;if((J&65535)<(e&65535)){f[c>>2]=1;M=0;t=N;return M|0}else{f[c>>2]=-1;d[I>>1]=(e&65535)+65535;M=0;t=N;return M|0}}i=$i(a)|0;f[M>>2]=i;if(H){c=b[L>>0]|0;if(c<<24>>24>-1){if(c<<24>>24){g=0;do{e=f[(f[a+120+(g<<2)>>2]|0)+72>>2]|0;if(!(d[e+28>>1]&32)){bh(e);c=b[L>>0]|0}else{J=f[e+20>>2]|0;I=J+120|0;f[I>>2]=(f[I>>2]|0)+-1;J=J+136|0;f[e+16>>2]=f[J>>2];f[J>>2]=e}g=g+1|0}while((g|0)<(c<<24>>24|0))}c=f[(f[K>>2]|0)+72>>2]|0;if(!(d[c+28>>1]&32))bh(c);else{K=f[c+20>>2]|0;J=K+120|0;f[J>>2]=(f[J>>2]|0)+-1;K=K+136|0;f[c+16>>2]=f[K>>2];f[K>>2]=c}b[L>>0]=-1}b[a>>0]=3}if((i|0)==16){f[M>>2]=0;M=0;t=N;return M|0}else{M=f[M>>2]|0;t=N;return M|0}return 0}function lj(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0.0,n=0.0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0;N=t;t=t+96|0;M=N+80|0;L=N+64|0;l=N+48|0;J=N+40|0;K=N;o=f[e+4>>2]|0;do if(!g){E=b[c>>0]|0;g=E&255;do if(E<<24>>24<=-1){i=h[c+1>>0]|0;if(!(i&128)){g=g<<7&16256|i;i=2;break}k=h[c+2>>0]|0;if(!(k&128)){g=(g<<14|k)&2080895|i<<7&16256;i=3;break}else{i=Th(c,J)|0;E=J;g=f[E>>2]|0;g=((g|0)==(g|0)?0==(f[E+4>>2]|0):0)?g:-1;break}}else i=1;while(0);if(g>>>0<=a>>>0){l=g;r=0;i=i&255;k=g;break}f[l>>2]=42469;f[l+4>>2]=79998;f[l+8>>2]=40460;Ac(11,40408,l);b[e+11>>0]=11;e=0;t=N;return e|0}else{l=c+1|0;E=b[l>>0]|0;g=E&255;do if(E<<24>>24>-1){k=h[c>>0]|0;i=2;v=12}else{i=h[c+2>>0]|0;do if(i&128){k=h[c+3>>0]|0;if(!(k&128)){g=(g<<14|k)&2080895|i<<7&16256;i=3;v=10;break}i=Th(l,J)|0;E=J;g=f[E>>2]|0;if((g|0)==(g|0)?0==(f[E+4>>2]|0):0)v=10;else{g=-1;k=h[c>>0]|0;i=(i&255)+1|0}}else{g=g<<7&16256|i;i=2;v=10}while(0);if((v|0)==10){i=(i&255)+1|0;k=h[c>>0]|0;if(g>>>0<=127){v=12;break}}g=(g+-12|0)>>>1}while(0);if((v|0)==12)g=h[7808+g>>0]|0;l=g+k|0;r=1;o=o+40|0}while(0);D=e+8|0;E=K+12|0;y=K+10|0;z=K+32|0;A=K+8|0;B=K+16|0;C=e+11|0;x=l;w=o;a:while(1){u=w+8|0;g=j[u>>1]|0;b:do if(g&4){g=b[c+i>>0]|0;q=g&255;if((g&255)>9){g=1;v=87;break a}switch(g<<24>>24){case 0:{g=-1;v=87;break a}case 7:{Zi(c+x|0,q,K)|0;l=w;g=f[l>>2]|0;l=f[l+4>>2]|0;n=+p[K>>3];if(!(n<-9223372036854775808.0))if(!(n>=9223372036854775808.0)?(F=~~n>>>0,I=+H(n)>=1.0?(n>0.0?~~+V(+G(n/4294967296.0),4294967295.0)>>>0:~~+T((n-+(~~n>>>0))/4294967296.0)>>>0):0,!((l|0)<(I|0)|(l|0)==(I|0)&g>>>0>>0)):0)if(!((l|0)>(I|0)|(l|0)==(I|0)&g>>>0>F>>>0)){m=+(g>>>0)+4294967296.0*+(l|0);if(n>m)g=-1;else g=n>24){case 6:{s=h[l+1>>0]<<16|h[l>>0]<<24|h[l+2>>0]<<8|h[l+3>>0];o=h[l+5>>0]<<16|h[l+4>>0]<<24|h[l+6>>0]<<8|h[l+7>>0];break}case 1:{o=b[l>>0]|0;s=((o|0)<0)<<31>>31;break}case 2:{o=b[l>>0]<<8|h[l+1>>0];s=((o|0)<0)<<31>>31;break}case 3:{o=h[l+1>>0]<<8|b[l>>0]<<16|h[l+2>>0];s=((o|0)<0)<<31>>31;break}case 4:{o=h[l+1>>0]<<16|h[l>>0]<<24|h[l+2>>0]<<8|h[l+3>>0];s=((o|0)<0)<<31>>31;break}case 5:{s=b[l>>0]<<8|h[l+1>>0];o=h[l+3>>0]<<16|h[l+2>>0]<<24|h[l+4>>0]<<8|h[l+5>>0];break}default:{s=0;o=q+-8|0}}l=w;g=f[l>>2]|0;l=f[l+4>>2]|0;if((s|0)<(l|0)|(s|0)==(l|0)&o>>>0>>0){g=-1;v=87;break a}else{g=((s|0)>(l|0)|(s|0)==(l|0)&o>>>0>g>>>0)&1;v=86}}else{if(g&8|0){g=b[c+i>>0]|0;s=g&255;if((g&255)>9){g=1;v=87;break a}if(!(g<<24>>24)){g=-1;v=87;break a}Zi(c+x|0,s,K)|0;if(g<<24>>24==7){m=+p[K>>3];n=+p[w>>3];if(mn){g=1;v=87;break a}else{g=7;break}}l=K;g=f[l>>2]|0;l=f[l+4>>2]|0;n=+p[w>>3];if(n<-9223372036854775808.0){g=1;v=87;break a}if(n>=9223372036854775808.0){g=-1;v=87;break a}o=~~n>>>0;q=+H(n)>=1.0?(n>0.0?~~+V(+G(n/4294967296.0),4294967295.0)>>>0:~~+T((n-+(~~n>>>0))/4294967296.0)>>>0):0;if((l|0)<(q|0)|(l|0)==(q|0)&g>>>0>>0){g=-1;v=87;break a}if((l|0)>(q|0)|(l|0)==(q|0)&g>>>0>o>>>0){g=1;v=87;break a}m=+(g>>>0)+4294967296.0*+(l|0);if(n>m){g=-1;v=87;break a}else{q=s;g=n>0]|0;g=u&255;do if(u<<24>>24<=-1){o=h[l+1>>0]|0;if(!(o&128)){g=g<<7&16256|o;v=61;break}q=h[l+2>>0]|0;if(q&128){Th(l,J)|0;u=J;g=f[u>>2]|0;if((g|0)==(g|0)?0==(f[u+4>>2]|0):0){v=61;break}else{o=-1;break}}else{g=(g<<14|q)&2080895|o<<7&16256;v=61;break}}else v=61;while(0);if((v|0)==61){if(g>>>0<12){g=-1;v=87;break a}if(!(g&1)){g=1;v=87;break a}else o=g}s=(o+-12|0)>>>1;f[E>>2]=s;if((s+x|0)>>>0>a>>>0){v=64;break a}g=f[e>>2]|0;l=f[g+20+(r<<2)>>2]|0;if(!l){l=f[w+12>>2]|0;g=Hz(c+x|0,f[w+16>>2]|0,(s|0)<(l|0)?s:l)|0;if(!g){q=o;g=s-l|0;v=86;break}else{v=87;break a}}else{b[y>>0]=b[g+4>>0]|0;f[z>>2]=f[g+12>>2];d[A>>1]=2;f[B>>2]=c+x;q=o;g=of(K,w,l,C)|0;v=86;break}}q=c+i|0;l=b[q>>0]|0;o=l&255;if(!(g&16)){q=o;g=l<<24>>24!=0&1;v=86;break}do if(l<<24>>24<=-1){g=h[q+1>>0]|0;if(!(g&128)){o=o<<7&16256|g;break}l=h[q+2>>0]|0;if(!(l&128)){o=(o<<14|l)&2080895|g<<7&16256;break}else{Th(q,J)|0;v=J;o=f[v>>2]|0;o=((o|0)==(o|0)?0==(f[v+4>>2]|0):0)?o:-1;break}}while(0);if(!(o>>>0>11&(o&1|0)==0)){g=-1;v=87;break a}s=(o+-12|0)>>>1;if((s+x|0)>>>0>a>>>0){v=84;break a}if(!(d[u>>1]&16384)){l=f[w+12>>2]|0;g=Hz(c+x|0,f[w+16>>2]|0,(s|0)<(l|0)?s:l)|0;if(!g){q=o;g=s-l|0;v=86;break}else{v=87;break a}}l=c+x|0;if(s|0){g=0;do{if(b[l+g>>0]|0){g=1;v=87;break a}g=g+1|0}while(g>>>0>>0)}q=o;g=s-(f[w>>2]|0)|0;v=86}while(0);if((v|0)==86){v=0;if(!g)g=q;else{v=87;break}}r=r+1|0;if((r|0)==(j[D>>1]|0)){v=95;break}w=w+40|0;if(g>>>0>127)q=(g+-12|0)>>>1;else q=h[7808+g>>0]|0;o=1;l=0;while(1){g=VA(g|0,l|0,7)|0;l=ba()|0;if((g|0)==0&(l|0)==0)break;else o=o+1|0}x=q+x|0;i=o+i|0;if(x>>>0>a>>>0|i>>>0>=k>>>0){v=95;break}}if((v|0)==64){f[L>>2]=42469;f[L+4>>2]=80073;f[L+8>>2]=40460;Ac(11,40408,L);b[C>>0]=11;e=0;t=N;return e|0}else if((v|0)==84){f[M>>2]=42469;f[M+4>>2]=80103;f[M+8>>2]=40460;Ac(11,40408,M);b[C>>0]=11;e=0;t=N;return e|0}else if((v|0)==87){e=(b[(f[(f[e>>2]|0)+16>>2]|0)+r>>0]|0)==0?g:0-g|0;t=N;return e|0}else if((v|0)==95){b[e+14>>0]=1;e=b[e+10>>0]|0;t=N;return e|0}return 0}function mj(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;s=t;t=t+16|0;r=s;e=$i(a)|0;switch(e|0){case 0:{f[c>>2]=0;k=a+116|0;l=a+70|0;m=a+68|0;n=a+20|0;o=a+50|0;p=a+1|0;q=a+2|0;while(1){c=f[k>>2]|0;if(b[c+8>>0]|0){c=0;e=8;break}e=d[l>>1]|0;g=(f[c+64>>2]|0)+((e&65535)<<1)|0;g=(f[c+56>>2]|0)+((h[g>>0]<<8|h[g+1>>0])&j[c+24>>1])|0;i=b[m>>0]|0;if(i<<24>>24>18){e=5;break}g=h[g>>0]<<24|h[g+1>>0]<<16|h[g+2>>0]<<8|h[g+3>>0];u=f[n>>2]|0;d[o>>1]=0;b[p>>0]=b[p>>0]&-7;v=i<<24>>24;d[a+72+(v<<1)>>1]=e;f[a+120+(v<<2)>>2]=c;d[l>>1]=0;b[m>>0]=i+1<<24>>24;c=aj(u,g,k,a,h[q>>0]|0)|0;if(c|0){e=8;break}}if((e|0)==5){f[r>>2]=42469;f[r+4>>2]=67897;f[r+8>>2]=40460;Ac(11,40408,r);v=11;t=s;return v|0}else if((e|0)==8){t=s;return c|0}break}case 16:{f[c>>2]=1;v=0;t=s;return v|0}default:{v=e;t=s;return v|0}}return 0}function nj(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+16|0;u=x+4|0;v=x;w=a+12|0;n=a+8|0;e=f[n>>2]|0;do if(!(f[w>>2]|0)){m=f[e+28>>2]|0;l=((j[m+6>>1]|0)*40|0)+56|0;i=f[m+12>>2]|0;a:do if(!i){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](l)|0;r=25;break}k=ib[f[37372>>2]&255](l)|0;if((f[18194]|0)>>>0>>0)f[18194]=l;i=71896;e=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&e>>>0>0){s=f[18187]|0;q=LA(e|0,i|0,k|0,((k|0)<0)<<31>>31|0)|0;p=ba()|0;f[17976]=((p|0)<0|(p|0)==0&q>>>0<=s>>>0)&1}e=ib[f[37356>>2]&255](k)|0;if(e|0){g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;r=26}else r=26}}else{if(f[i+272>>2]|0){if(b[i+81>>0]|0)break}else{do if(!(0<0|(0==0?(j[i+276>>1]|0)>>>0>>0:0))){e=i+300|0;g=f[e>>2]|0;if(g|0){f[e>>2]=f[g>>2];r=i+284|0;f[r>>2]=(f[r>>2]|0)+1;r=25;break a}e=i+296|0;g=f[e>>2]|0;if(!g){e=i+292|0;break}else{f[e>>2]=f[g>>2];r=i+284|0;f[r>>2]=(f[r>>2]|0)+1;r=25;break a}}else e=i+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}g=Dc(i,l,0)|0;r=25}while(0);if((r|0)==25?g|0:0){e=g;r=26}if((r|0)==26){f[e+4>>2]=e+16;f[e>>2]=m;f[w>>2]=e;s=f[n>>2]|0;d[e+8>>1]=d[(f[s+28>>2]|0)+6>>1]|0;b[e+11>>0]=0;e=s;break}f[w>>2]=0;w=7;t=x;return w|0}while(0);l=f[c>>2]|0;r=b[e+60>>0]|0;s=a+32|0;f[s>>2]=r<<24>>24==1?86:r<<24>>24==2?84:85;if(!(f[9328]|0)){e=ib[f[37356>>2]&255](256)|0;if(!e){w=7;t=x;return w|0}}else{e=ib[f[37372>>2]&255](256)|0;if((f[18194]|0)>>>0<256)f[18194]=256;i=71896;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){r=f[18187]|0;q=LA(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;p=ba()|0;f[17976]=((p|0)<0|(p|0)==0&q>>>0<=r>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e){w=7;t=x;return w|0}g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}_A(e|0,0,256)|0;if(l|0){q=c+4|0;k=l;i=l;while(1){g=f[q>>2]|0;if(g)if((i|0)==(g|0)){p=0;i=0}else{i=g+(f[k+4>>2]|0)|0;p=i}else{i=f[k+4>>2]|0;p=i}f[k+4>>2]=0;l=f[e>>2]|0;if(!l)g=e;else{o=0;g=e;do{f[u>>2]=0;f[v>>2]=0;m=u;b:while(1){n=l+8|0;while(1){if((nb[f[s>>2]&127](a,v,k+8|0,f[k>>2]|0,n,f[l>>2]|0)|0)>=1)break;f[m>>2]=k;m=k+4|0;k=f[m>>2]|0;if(!k){r=51;break b}}f[m>>2]=l;m=l+4|0;l=f[m>>2]|0;f[v>>2]=0;if(!l){r=53;break}}if((r|0)==51)f[m>>2]=l;else if((r|0)==53)f[m>>2]=k;k=f[u>>2]|0;f[g>>2]=0;o=o+1|0;g=e+(o<<2)|0;l=f[g>>2]|0}while((l|0)!=0)}f[g>>2]=k;if(!p)break;else k=p}}m=0;g=0;do{k=f[e+(m<<2)>>2]|0;if(k)if(!g)g=k;else{f[u>>2]=0;f[v>>2]=0;i=u;c:while(1){l=k+8|0;while(1){if((nb[f[s>>2]&127](a,v,g+8|0,f[g>>2]|0,l,f[k>>2]|0)|0)>=1)break;f[i>>2]=g;i=g+4|0;g=f[i>>2]|0;if(!g){r=63;break c}}f[i>>2]=k;i=k+4|0;k=f[i>>2]|0;f[v>>2]=0;if(!k){r=65;break}}if((r|0)==63)f[i>>2]=k;else if((r|0)==65)f[i>>2]=g;g=f[u>>2]|0}m=m+1|0}while((m|0)!=64);f[c>>2]=g;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{v=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}w=h[(f[w>>2]|0)+11>>0]|0;t=x;return w|0}function oj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;y=t;t=t+16|0;u=y;b[a+56>>0]=1;d=a+64|0;x=a+36|0;g=a+72|0;e=a+104|0;if((f[e>>2]|0)==0?(c=_j(f[(f[g>>2]|0)+24>>2]|0,e)|0,c|0):0){x=c;t=y;return x|0}c=nj(d,x)|0;if(c|0){x=c;t=y;return x|0}k=f[e>>2]|0;j=f[(f[g>>2]|0)+12>>2]|0;w=a+112|0;h=w;g=f[h>>2]|0;h=f[h+4>>2]|0;i=((j|0)<0)<<31>>31;s=KA(j|0,i|0,-1,-1)|0;r=ba()|0;do if(r>>>0>0|(r|0)==0&s>>>0>2147483390){c=7;s=0;q=0;i=0;r=0;e=0;d=0}else{if(!(f[9328]|0)){c=ib[f[37356>>2]&255](j)|0;if(!c){c=7;s=0;q=0;i=0;r=0;e=0;d=0;break}else d=c}else{c=ib[f[37372>>2]&255](j)|0;if((f[18194]|0)>>>0>>0)f[18194]=j;e=71896;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){s=f[18187]|0;r=LA(d|0,e|0,c|0,((c|0)<0)<<31>>31|0)|0;q=ba()|0;f[17976]=((q|0)<0|(q|0)==0&r>>>0<=s>>>0)&1}d=ib[f[37356>>2]&255](c)|0;if(!d){c=7;s=0;q=0;i=0;r=0;e=0;d=0;break}c=ib[f[37368>>2]&255](d)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}i=RA(g|0,h|0,j|0,i|0)|0;ba()|0;e=LA(g|0,h|0,i|0,((i|0)<0)<<31>>31|0)|0;c=0;s=d;q=j;r=k;d=ba()|0}while(0);g=a+92|0;f[g>>2]=(f[g>>2]|0)+1;g=f[a+44>>2]|0;h=((g|0)<0)<<31>>31;do if(g>>>0>=128)if(g>>>0>=16384){g=_i(u,g,h)|0;if((g|0)>0){v=22;break}else{h=i;g=i;break}}else{v=VA(g|0,h|0,7)|0;ba()|0;b[u>>0]=v&255|-128;b[u+1>>0]=g&127;g=2;v=22;break}else{b[u>>0]=g&127;g=1;v=22}while(0);a:do if((v|0)==22){l=((q|0)<0)<<31>>31;k=g;h=i;while(1){if(c|0){g=i;break a}j=q-i|0;j=(k|0)>(j|0)?j:k;YA(s+i|0,u+(g-k)|0,j|0)|0;i=j+i|0;if((i|0)==(q|0)){i=KA(e|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;c=ba()|0;e=KA(e|0,d|0,q|0,l|0)|0;d=ba()|0;c=mb[f[(f[r>>2]|0)+12>>2]&127](r,s+h|0,q-h|0,i,c)|0;h=0;i=0}else c=0;k=k-j|0;if((k|0)<=0){g=i;break}}}while(0);i=f[x>>2]|0;if(i){p=((q|0)<0)<<31>>31;n=a+40|0;o=u+1|0;do{m=i;i=f[i+4>>2]|0;l=f[m>>2]|0;j=((l|0)<0)<<31>>31;do if(l>>>0>=128)if(l>>>0>=16384){j=_i(u,l,j)|0;if((j|0)>0){v=34;break}else break}else{j=VA(l|0,j|0,7)|0;ba()|0;b[u>>0]=j&255|-128;j=2;k=o;v=33;break}else{j=1;k=u;v=33}while(0);if((v|0)==33){b[k>>0]=l&127;v=34}b:do if((v|0)==34){v=0;l=j;do{if(c|0)break b;k=q-g|0;k=(l|0)>(k|0)?k:l;YA(s+g|0,u+(j-l)|0,k|0)|0;g=k+g|0;if((g|0)==(q|0)){g=KA(e|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;c=ba()|0;e=KA(e|0,d|0,q|0,p|0)|0;d=ba()|0;c=mb[f[(f[r>>2]|0)+12>>2]&127](r,s+h|0,q-h|0,g,c)|0;h=0;g=0}else c=0;l=l-k|0}while((l|0)>0)}while(0);l=m+8|0;a=f[m>>2]|0;c:do if((a|0)>0){k=a;do{if(c|0)break c;j=q-g|0;j=(k|0)>(j|0)?j:k;YA(s+g|0,l+(a-k)|0,j|0)|0;g=j+g|0;if((g|0)==(q|0)){g=KA(e|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;c=ba()|0;e=KA(e|0,d|0,q|0,p|0)|0;d=ba()|0;c=mb[f[(f[r>>2]|0)+12>>2]&127](r,s+h|0,q-h|0,g,c)|0;h=0;g=0}else c=0;k=k-j|0}while((k|0)>0)}while(0);do if(!((m|0)==0|(f[n>>2]|0)!=0))if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{a=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0)}while((i|0)!=0)}f[x>>2]=0;if(c){u=KA(e|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;v=ba()|0;x=w;f[x>>2]=u;f[x+4>>2]=v;if(!s){x=c;t=y;return x|0}}else{if(!s){u=KA(e|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;v=ba()|0;x=w;f[x>>2]=u;f[x+4>>2]=v;x=0;t=y;return x|0}if((g|0)>(h|0)){x=KA(e|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;c=ba()|0;c=mb[f[(f[r>>2]|0)+12>>2]&127](r,s+h|0,g-h|0,x,c)|0}else c=0;u=KA(e|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;v=ba()|0;x=w;f[x>>2]=u;f[x+4>>2]=v}if(!(f[9328]|0)){ob[f[37360>>2]&127](s);x=c;t=y;return x|0}else{x=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);x=c;t=y;return x|0}return 0}function pj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=t;t=t+16|0;o=r;e=c;h=f[e>>2]|0;e=f[e+4>>2]|0;l=2;while(1)if((l|0)<(b|0))l=l<<1;else break;g=f[9393]|0;if((g|0)!=0?(ib[g&255](100)|0)!=0:0)q=17;else q=5;a:do if((q|0)==5){k=(l*60|0)+16|0;p=KA(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;n=ba()|0;if(!(n>>>0>0|(n|0)==0&p>>>0>2147483390)){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](k)|0;if(!g){q=17;break}else p=g}else{g=ib[f[37372>>2]&255](k)|0;if((f[18194]|0)>>>0>>0)f[18194]=k;j=71896;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){p=f[18187]|0;n=LA(i|0,j|0,g|0,((g|0)<0)<<31>>31|0)|0;m=ba()|0;f[17976]=((m|0)<0|(m|0)==0&n>>>0<=p>>>0)&1}i=ib[f[37356>>2]&255](g)|0;if(!i){q=17;break}g=ib[f[37368>>2]&255](i)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;p=i}else p=i}_A(p|0,0,k|0)|0;n=p+16|0;f[p>>2]=l;f[p+4>>2]=0;f[p+12>>2]=n;f[p+8>>2]=n+(l*56|0);f[d>>2]=p;n=(p|0)==0;g=n?7:0;i=n^1;b:do if((b|0)>0&i){l=p+12|0;m=a+40|0;j=0;while(1){i=f[l>>2]|0;k=i+(j*56|0)|0;g=Xj(a,k,m,h,e)|0;if(g|0){q=21;break}g=o;f[g>>2]=0;f[g+4>>2]=0;g=Yj(k,o)|0;s=k;h=o;s=KA(f[h>>2]|0,f[h+4>>2]|0,f[s>>2]|0,f[s+4>>2]|0)|0;h=ba()|0;e=i+(j*56|0)+8|0;i=e;f[i>>2]=s;f[i+4>>2]=h;if(g|0)break;g=Vj(k)|0;h=f[e>>2]|0;e=f[e+4>>2]|0;j=j+1|0;i=(g|0)==0;if(!((j|0)<(b|0)&i)){q=25;break b}}if((q|0)==21)e=i+(j*56|0)+8|0;h=f[e>>2]|0;e=f[e+4>>2]|0}else q=25;while(0);do if((q|0)==25)if(!i)if(n)break a;else break;else{s=g;p=h;q=e;d=c;c=d;f[c>>2]=p;d=d+4|0;f[d>>2]=q;t=r;return s|0}while(0);if((f[p>>2]|0)>0){m=p+12|0;l=0;do{j=f[m>>2]|0;k=j+(l*56|0)|0;i=f[j+(l*56|0)+28>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{s=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);i=f[j+(l*56|0)+36>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{s=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);i=f[j+(l*56|0)+48>>2]|0;do if(i|0){gi(f[i+4>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{s=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);i=k;j=i+56|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));l=l+1|0}while((l|0)<(f[p>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{s=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}else q=17}while(0);if((q|0)==17){f[d>>2]=0;g=7}f[d>>2]=0;s=g;p=h;q=e;d=c;c=d;f[c>>2]=p;d=d+4|0;f[d>>2]=q;t=r;return s|0}function qj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+16|0;o=q;p=b+4|0;f[p>>2]=a;m=f[b>>2]|0;a:do if((m|0)>0){n=b+12|0;l=0;while(1){j=f[n>>2]|0;k=j+(l*56|0)|0;j=f[j+(l*56|0)+48>>2]|0;if(j|0){d=f[j>>2]|0;e=f[(f[d+8>>2]|0)+24>>2]|0;c=qj(d,f[j+4>>2]|0)|0;if(c|0){d=22;break}i=f[j+16>>2]|0;g=d+56|0;c=f[g>>2]|0;if(!c){d=d+64|0;c=_j(e,g)|0;e=d;f[e>>2]=0;f[e+4>>2]=0;if(c|0){d=22;break}c=f[g>>2]|0;e=0;g=0}else{d=d+64|0;g=d;e=f[g>>2]|0;g=f[g+4>>2]|0}f[j+48>>2]=c;j=j+8|0;f[j>>2]=e;f[j+4>>2]=g;i=KA(e|0,g|0,i|0,((i|0)<0)<<31>>31|0)|0;j=ba()|0;c=d;f[c>>2]=i;f[c+4>>2]=j;c=Vj(k)|0;if(c|0){d=22;break}}l=l+1|0;if((l|0)>=(m|0)){d=11;break}}if((d|0)==11){c=f[b>>2]|0;if((c|0)<=1)break;j=b+12|0;k=b+8|0;i=c;while(1){g=i+-1|0;c=(c|0)/2|0;if((i|0)>(c|0)){d=g-c<<1;c=d;d=d|1}else{n=f[k>>2]|0;d=g<<1;c=f[n+(d<<2)>>2]|0;d=f[n+((d|1)<<2)>>2]|0}e=f[j>>2]|0;if(f[e+(c*56|0)+24>>2]|0){if(f[e+(d*56|0)+24>>2]|0){n=f[p>>2]|0;f[o>>2]=0;n=(nb[f[n+32>>2]&127](n,o,f[e+(c*56|0)+32>>2]|0,f[e+(c*56|0)+20>>2]|0,f[e+(d*56|0)+32>>2]|0,f[e+(d*56|0)+20>>2]|0)|0)<1;c=n?c:d}}else c=d;f[(f[k>>2]|0)+(g<<2)>>2]=c;if((i|0)<=2)break a;i=g;c=f[b>>2]|0}}else if((d|0)==22){t=q;return c|0}}while(0);p=h[(f[a+12>>2]|0)+11>>0]|0;t=q;return p|0}function rj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+16|0;k=q;l=a+8|0;d=f[(f[l>>2]|0)+4>>2]|0;p=f[a+4>>2]|0;n=a+12|0;c=Vj((f[n>>2]|0)+(d*56|0)|0)|0;if(c|0){p=c;t=q;return p|0}f[k>>2]=0;c=f[n>>2]|0;a=(f[a>>2]|0)+d|0;if((a|0)>1){j=p+32|0;e=c+((d|1)*56|0)|0;d=c+((d&65534)*56|0)|0;g=a;do{i=g;g=(g|0)/2|0;c=d+24|0;do if(!(f[c>>2]|0))o=12;else{if((f[e+24>>2]|0?(m=nb[f[j>>2]&127](p,k,f[d+32>>2]|0,f[d+20>>2]|0,f[e+32>>2]|0,f[e+20>>2]|0)|0,(m|0)>=0):0)?!(d>>>0>>0&(m|0)==0):0){if(!(f[c>>2]|0)){o=12;break}f[k>>2]=0;o=12;break}c=f[n>>2]|0;a=f[l>>2]|0;f[a+(g<<2)>>2]=(d-c|0)/56|0;e=c+((f[a+((g^1)<<2)>>2]|0)*56|0)|0;f[k>>2]=0}while(0);if((o|0)==12){o=0;c=f[n>>2]|0;a=f[l>>2]|0;f[a+(g<<2)>>2]=(e-c|0)/56|0;d=c+((f[a+((g^1)<<2)>>2]|0)*56|0)|0}}while((i|0)>3)}else a=f[l>>2]|0;f[b>>2]=(f[c+((f[a+4>>2]|0)*56|0)+24>>2]|0)==0&1;p=h[(f[p+12>>2]|0)+11>>0]|0;t=q;return p|0}function sj(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+80|0;m=A+56|0;y=A+40|0;k=A+24|0;l=A+68|0;p=A;if((f[a+44>>2]|0)>>>0>>0){f[k>>2]=42469;f[k+4>>2]=71869;f[k+8>>2]=40460;Ac(11,40408,k);z=11;t=A;return z|0}c=aj(a,c,l,0,0)|0;if(c|0){z=c;t=A;return z|0}x=f[l>>2]|0;w=x+1|0;if(b[w>>0]|0){f[m>>2]=42469;f[m+4>>2]=71874;f[m+8>>2]=40460;Ac(11,40408,m);b[w>>0]=0;if(!x){z=11;t=A;return z|0}else i=11}else{b[w>>0]=1;u=x+9|0;s=h[u>>0]|0;v=x+22|0;a:do if(!(d[v>>1]|0)){c=0;r=x+8|0;z=13}else{l=x+56|0;m=x+24|0;n=x+64|0;o=x+8|0;k=0;do{c=(f[n>>2]|0)+(k<<1)|0;c=(f[l>>2]|0)+((h[c>>0]<<8|h[c+1>>0])&j[m>>1])|0;if((b[o>>0]|0)==0?(q=sj(a,h[c+1>>0]<<16|h[c>>0]<<24|h[c+2>>0]<<8|h[c+3>>0],1,g)|0,q|0):0){i=q;break a}c=Uj(x,c,p)|0;k=k+1|0;if(c|0){i=c;break a}c=d[v>>1]|0}while(k>>>0<(c&65535)>>>0);c=c&65535;r=o;z=13}while(0);b:do if((z|0)==13){if(!(b[r>>0]|0)){c=(f[x+56>>2]|0)+(s+8)|0;c=sj(a,h[c+1>>0]<<16|h[c>>0]<<24|h[c+2>>0]<<8|h[c+3>>0],1,g)|0;if(c|0){i=c;break}}else if(g|0)f[g>>2]=(f[g>>2]|0)+c;if(e|0){i=tj(f[x+52>>2]|0,x,f[x+4>>2]|0)|0;break}c=f[x+72>>2]|0;k=f[c+20>>2]|0;if((d[c+28>>1]&4)!=0?(f[k+24>>2]|0)>>>0>=(f[c+24>>2]|0)>>>0:0){if(f[k+96>>2]|0){i=Ng(c)|0;z=27}}else z=23;do if((z|0)==23){i=f[k+40>>2]|0;if(i|0)break b;if((f[k+148>>2]|0)>>>0>(f[k+152>>2]|0)>>>0){i=Og(c)|0;z=27;break}else{i=Pg(c)|0;z=27;break}}while(0);if((z|0)==27?i|0:0)break;a=f[x+56>>2]|0;i=b[a+s>>0]|8;o=i&255;l=x+52|0;q=f[l>>2]|0;k=h[u>>0]|0;if(!(d[q+22>>1]&12)){c=a+k|0;p=q+36|0}else{p=q+36|0;c=a+k|0;_A(c|0,0,(f[p>>2]|0)-k|0)|0}b[c>>0]=i;m=k+8|0;n=m&65535;c=a+(k+1)|0;b[c>>0]=0;b[c+1>>0]=0;b[c+2>>0]=0;b[c+3>>0]=0;b[a+(k+7)>>0]=0;c=a+(k+5)|0;b[c>>0]=(f[p>>2]|0)>>>8;b[c+1>>0]=f[p>>2];d[x+20>>1]=(f[p>>2]|0)-m;c=o>>>3;b[r>>0]=c;c=4-(c<<2)&255;i=x+10|0;b[i>>0]=c;f[x+76>>2]=149;k=f[l>>2]|0;switch((o&247)<<24>>24){case 5:{b[x+2>>0]=1;b[x+3>>0]=1;f[x+80>>2]=189;d[x+14>>1]=d[k+28>>1]|0;i=k+30|0;z=35;break}case 2:{b[x+2>>0]=0;b[x+3>>0]=0;f[x+80>>2]=190;d[x+14>>1]=d[k+24>>1]|0;i=k+26|0;z=35;break}default:{f[y>>2]=42469;f[y+4>>2]=64757;f[y+8>>2]=40460;Ac(11,40408,y);c=b[i>>0]|0}}if((z|0)==35){d[x+16>>1]=d[i>>1]|0;b[x+11>>0]=b[k+21>>0]|0}d[x+18>>1]=n;f[x+60>>2]=a+(f[p>>2]|0);f[x+64>>2]=a+m;f[x+68>>2]=a+(c&255);b[x+12>>0]=0;d[x+24>>1]=(f[q+32>>2]|0)+65535;d[v>>1]=0;b[x>>0]=1;i=0}while(0);b[w>>0]=0}c=f[x+72>>2]|0;if(!(d[c+28>>1]&32)){bh(c);z=i;t=A;return z|0}else{z=f[c+20>>2]|0;y=z+120|0;f[y>>2]=(f[y>>2]|0)+-1;z=z+136|0;f[c+16>>2]=f[z>>2];f[z>>2]=c;z=i;t=A;return z|0}return 0}function tj(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=t;t=t+48|0;r=B+16|0;i=B;s=B+32|0;A=B+28|0;m=f[a+12>>2]|0;if(e>>>0<2){f[i>>2]=42469;f[i+4>>2]=69066;f[i+8>>2]=40460;Ac(11,40408,i);A=11;t=B;return A|0}do if(!c){c=(f[a>>2]|0)+212|0;k=kb[f[37452>>2]&127](f[(f[c>>2]|0)+44>>2]|0,e,0)|0;if(k){c=f[c>>2]|0;i=f[k+4>>2]|0;if(!(f[i>>2]|0)){c=ch(c,e,k)|0;if(!c){c=0;break}else i=c}else{z=c+12|0;f[z>>2]=(f[z>>2]|0)+1;z=i+30|0;d[z>>1]=(d[z>>1]|0)+1<<16>>16}c=f[i+8>>2]|0;k=c+4|0;if((f[k>>2]|0)!=(e|0)){f[c+56>>2]=f[i+4>>2];f[c+72>>2]=i;f[c+52>>2]=a;f[k>>2]=e;b[c+9>>0]=0}}else c=0}else{z=f[c+72>>2]|0;q=z+30|0;d[q>>1]=(d[q>>1]|0)+1<<16>>16;z=(f[z+12>>2]|0)+12|0;f[z>>2]=(f[z>>2]|0)+1}while(0);k=f[m+72>>2]|0;l=f[k+20>>2]|0;do if((d[k+28>>1]&4)!=0?(f[l+24>>2]|0)>>>0>=(f[k+24>>2]|0)>>>0:0)if(!(f[l+96>>2]|0)){f[A>>2]=0;z=22;break}else{i=Ng(k)|0;z=21;break}else z=16;while(0);do if((z|0)==16){i=f[l+40>>2]|0;if(i|0){f[A>>2]=i;g=0;z=104;break}if((f[l+148>>2]|0)>>>0>(f[l+152>>2]|0)>>>0){i=Og(k)|0;z=21;break}else{i=Pg(k)|0;z=21;break}}while(0);if((z|0)==21){f[A>>2]=i;if(!i)z=22;else{g=0;z=104}}a:do if((z|0)==22){q=m+56|0;p=f[q>>2]|0;i=p+36|0;k=p+37|0;m=p+38|0;p=p+39|0;l=h[k>>0]<<16|h[i>>0]<<24|h[m>>0]<<8|h[p>>0];o=l+1|0;b[i>>0]=o>>>24;b[k>>0]=o>>>16;b[m>>0]=o>>>8;b[p>>0]=o;p=a+22|0;if(!(d[p>>1]&4))m=c;else{if(!c){c=f[a>>2]|0;c=lb[f[c+204>>2]&127](c,e,s,0)|0;if(c|0){f[A>>2]=c;break}g=f[s>>2]|0;c=f[g+8>>2]|0;i=c+4|0;if((f[i>>2]|0)!=(e|0)){f[c+56>>2]=f[g+4>>2];f[c+72>>2]=g;f[c+52>>2]=a;f[i>>2]=e;b[c+9>>0]=0}f[A>>2]=0}i=f[c+72>>2]|0;k=f[i+20>>2]|0;do if((d[i+28>>1]&4)!=0?(f[k+24>>2]|0)>>>0>=(f[i+24>>2]|0)>>>0:0)if(!(f[k+96>>2]|0)){f[A>>2]=0;break}else{n=Ng(i)|0;z=39;break}else z=34;while(0);do if((z|0)==34){g=f[k+40>>2]|0;if(g|0){f[A>>2]=g;g=0;z=104;break a}if((f[k+148>>2]|0)>>>0>(f[k+152>>2]|0)>>>0){n=Og(i)|0;z=39;break}else{n=Pg(i)|0;z=39;break}}while(0);if((z|0)==39?(f[A>>2]=n,n|0):0){g=0;z=104;break}_A(f[c+56>>2]|0,0,f[(f[c+52>>2]|0)+32>>2]|0)|0;m=c}if(b[a+17>>0]|0?(Oh(a,e,2,0,A),f[A>>2]|0):0){g=0;c=m;z=104;break}if(l){n=f[q>>2]|0;n=h[n+33>>0]<<16|h[n+32>>0]<<24|h[n+34>>0]<<8|h[n+35>>0];c=f[a>>2]|0;c=lb[f[c+204>>2]&127](c,n,s,0)|0;if(c|0){f[A>>2]=c;g=0;c=m;z=104;break}c=f[s>>2]|0;g=f[c+8>>2]|0;i=g+4|0;if((f[i>>2]|0)==(n|0)){c=g+56|0;l=c;c=f[c>>2]|0}else{o=f[c+4>>2]|0;l=g+56|0;f[l>>2]=o;f[g+72>>2]=c;f[g+52>>2]=a;f[i>>2]=n;b[g+9>>0]=(n|0)==1?100:0;c=o}f[A>>2]=0;o=h[c+5>>0]<<16|h[c+4>>0]<<24|h[c+6>>0]<<8|h[c+7>>0];i=(f[a+36>>2]|0)>>>2;if(o>>>0>(i+-2|0)>>>0){f[r>>2]=42469;f[r+4>>2]=69119;f[r+8>>2]=40460;Ac(11,40408,r);f[A>>2]=11;c=m;z=104;break}if(o>>>0<(i+-8|0)>>>0){i=f[g+72>>2]|0;k=f[i+20>>2]|0;do if((d[i+28>>1]&4)!=0?(f[k+24>>2]|0)>>>0>=(f[i+24>>2]|0)>>>0:0)if(!(f[k+96>>2]|0)){f[A>>2]=0;break}else{c=Ng(i)|0;z=62;break}else z=57;while(0);do if((z|0)==57){c=f[k+40>>2]|0;if(c|0){f[A>>2]=c;c=m;z=104;break a}if((f[k+148>>2]|0)>>>0>(f[k+152>>2]|0)>>>0){c=Og(i)|0;z=62;break}else{c=Pg(i)|0;z=62;break}}while(0);if((z|0)==62){f[A>>2]=c;if(c|0){c=m;z=104;break}c=f[l>>2]|0}z=o+1|0;b[c+4>>0]=z>>>24;b[c+5>>0]=z>>>16;b[c+6>>0]=z>>>8;b[c+7>>0]=z;z=(f[l>>2]|0)+((o<<2)+8)|0;b[z>>0]=e>>>24;b[z+1>>0]=e>>>16;b[z+2>>0]=e>>>8;b[z+3>>0]=e;if((((m|0?(d[p>>1]&4)==0:0)?(u=f[m+72>>2]|0,v=f[u+20>>2]|0,(b[v+12>>0]|0)==0):0)?(w=u+28|0,x=j[w>>1]|0,x&2|0):0)?(f[v+96>>2]|0)==0:0)d[w>>1]=x&65515|16;n=a+60|0;c=f[n>>2]|0;do if(!c){l=f[a+44>>2]|0;do if(!(f[9328]|0)){c=ib[f[37356>>2]&255](512)|0;if(!c)z=82;else z=83}else{c=ib[f[37372>>2]&255](512)|0;if((f[18194]|0)>>>0<512)f[18194]=512;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){a=f[18187]|0;z=LA(i|0,k|0,c|0,((c|0)<0)<<31>>31|0)|0;y=ba()|0;f[17976]=((y|0)<0|(y|0)==0&z>>>0<=a>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c){z=82;break}i=ib[f[37368>>2]&255](c)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0<=(f[18196]|0)>>>0){z=83;break}f[18196]=i;z=83}while(0);if((z|0)==82){f[n>>2]=0;c=7;break}else if((z|0)==83){_A(c+4|0,0,508)|0;f[c>>2]=l;f[n>>2]=c;z=84;break}}else z=84;while(0);if((z|0)==84)if((f[c>>2]|0)>>>0>>0)c=0;else c=Wg(c,e)|0;f[A>>2]=c;c=m;z=104;break}}else{n=0;g=0}if(!m){c=f[a>>2]|0;c=lb[f[c+204>>2]&127](c,e,s,0)|0;if(c|0){f[A>>2]=c;z=110;break}i=f[s>>2]|0;c=f[i+8>>2]|0;k=c+4|0;if((f[k>>2]|0)!=(e|0)){f[c+56>>2]=f[i+4>>2];f[c+72>>2]=i;f[c+52>>2]=a;f[k>>2]=e;b[c+9>>0]=0}f[A>>2]=0;m=c}c=m+72|0;k=f[c>>2]|0;l=f[k+20>>2]|0;do if((d[k+28>>1]&4)!=0?(f[l+24>>2]|0)>>>0>=(f[k+24>>2]|0)>>>0:0)if(!(f[l+96>>2]|0)){f[A>>2]=0;break}else{y=Ng(k)|0;z=103;break}else z=98;while(0);do if((z|0)==98){i=f[l+40>>2]|0;if(i|0){f[A>>2]=i;c=m;z=104;break a}if((f[l+148>>2]|0)>>>0>(f[l+152>>2]|0)>>>0){y=Og(k)|0;z=103;break}else{y=Pg(k)|0;z=103;break}}while(0);if((z|0)==103?(f[A>>2]=y,y|0):0){c=m;z=104;break}a=m+56|0;z=f[a>>2]|0;b[z>>0]=n>>>24;b[z+1>>0]=n>>>16;b[z+2>>0]=n>>>8;b[z+3>>0]=n;a=(f[a>>2]|0)+4|0;b[a>>0]=0;b[a+1>>0]=0;b[a+2>>0]=0;b[a+3>>0]=0;a=f[q>>2]|0;b[a+32>>0]=e>>>24;b[a+33>>0]=e>>>16;b[a+34>>0]=e>>>8;b[a+35>>0]=e;b[m>>0]=0;if(!m)z=110;else z=107}while(0);if((z|0)==104)if(!c)z=110;else{b[c>>0]=0;c=c+72|0;z=107}do if((z|0)==107){c=f[c>>2]|0;if(!(d[c+28>>1]&32)){bh(c);z=110;break}else{z=f[c+20>>2]|0;e=z+120|0;f[e>>2]=(f[e>>2]|0)+-1;z=z+136|0;f[c+16>>2]=f[z>>2];f[z>>2]=c;z=110;break}}while(0);do if((z|0)==110?g|0:0){c=f[g+72>>2]|0;if(!(d[c+28>>1]&32)){bh(c);break}else{e=f[c+20>>2]|0;a=e+120|0;f[a>>2]=(f[a>>2]|0)+-1;e=e+136|0;f[c+16>>2]=f[e>>2];f[e>>2]=c;break}}while(0);A=f[A>>2]|0;t=B;return A|0}function uj(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=t;t=t+48|0;n=V+24|0;m=V+16|0;l=V+8|0;k=V;L=V+40|0;M=V+36|0;f[M>>2]=0;a:do if(!a){f[k>>2]=40543;Ac(21,43101,k)}else{k=f[a+96>>2]|0;b:do if((k|0)<-264537850){switch(k|0){case -1607883113:break;default:break b}T=a+64|0;f[T>>2]=0;if(f[a+256>>2]|0)Bg(a,0);A=(e|0)==0;B=a+272|0;C=a+32|0;D=a+276|0;O=a+81|0;E=a+288|0;P=a+300|0;F=a+296|0;G=a+284|0;H=a+292|0;I=a+82|0;J=a+180|0;K=a+264|0;Q=a+480|0;R=a+304|0;S=a+308|0;l=(c|0)==0?72788:c;c:while(1){if(!(b[l>>0]|0)){k=0;N=131;break}f[M>>2]=0;k=Ki(a,l,-1,128,0,M,L)|0;do if(!k){k=f[M>>2]|0;if(!k){k=0;l=f[L>>2]|0;break}y=d[k+140>>1]|0;w=y&65535;x=w<<3|4;y=y<<16>>16==0;z=w<<2;v=0;n=0;c=0;q=k;l=0;o=0;p=k;while(1){k=Ei(p)|0;if(!A){u=(k|0)==100;if(u)if(!n)N=20;else{s=n;u=c;v=o;N=46}else{if((n|0)!=0|(k|0)!=101){p=o;break}if((f[C>>2]&256|0)==0&0==0){p=o;break}else N=20}if((N|0)==20){N=0;d:do if(f[B>>2]|0)if(!(b[O>>0]|0))N=28;else{l=0;N=132;break c}else{do if(0<0|(0==0?(j[D>>1]|0)>>>0>>0:0))l=E;else{l=f[P>>2]|0;if(l|0){f[P>>2]=f[l>>2];f[G>>2]=(f[G>>2]|0)+1;break d}l=f[F>>2]|0;if(!l){l=H;break}f[F>>2]=f[l>>2];f[G>>2]=(f[G>>2]|0)+1;break d}while(0);f[l>>2]=(f[l>>2]|0)+1;N=28}while(0);if((N|0)==28){N=0;l=Dc(a,x,0)|0}if(!l){l=0;N=132;break c}do if(!y){r=p+140|0;s=p+100|0;if(!p){_A(l|0,0,z|0)|0;break}q=0;do{o=f[p>>2]|0;do if(q>>>0<(j[r>>1]|0)>>>0){m=f[s>>2]|0;n=m+(q*40|0)|0;e:do if(!n)m=0;else{c=d[m+(q*40|0)+8>>1]|0;do if((c&514)==514){if((b[m+(q*40|0)+10>>0]|0)!=1)break;m=f[m+(q*40|0)+16>>2]|0;break e}while(0);if(c&1){m=0;break}m=Ic(n,1)|0}while(0);n=o+81|0;if(!(b[n>>0]|0))break;if(f[o+180>>2]|0){m=0;break}b[n>>0]=0;f[o+264>>2]=0;m=o+272|0;f[m>>2]=(f[m>>2]|0)+-1;m=0}else m=0;while(0);f[l+(q<<2)>>2]=m;q=q+1|0}while((q|0)!=(w|0))}while(0);if(u){s=1;u=l;v=l;N=46}else{m=v;n=1;c=l;p=l}}if((N|0)==46){N=0;r=u+(w<<2)|0;f:do if(y)m=0;else{m=0;while(1){o=(p|0)==0;g:do if(o)n=37592;else{n=f[p+104>>2]|0;do if(n|0){if(m>>>0>=(j[p+140>>1]|0)>>>0)break;n=n+(m*40|0)|0;break g}while(0);n=f[p>>2]|0;f[n+64>>2]=25;Bg(n,25);n=37592}while(0);c=d[n+8>>1]|0;do if((c&514)==514){if((b[n+10>>0]|0)!=1){N=56;break}q=f[n+16>>2]|0}else N=56;while(0);do if((N|0)==56){N=0;if(c&1){q=0;break}q=Ic(n,1)|0}while(0);if(!o){c=f[p>>2]|0;o=p+40|0;n=f[o>>2]|0;if((n|0)==3082|(b[c+81>>0]|0)!=0){Di(c);n=7}else n=f[c+68>>2]&n;f[o>>2]=n}f[r+(m<<2)>>2]=q;if(!q){p=f[M>>2]|0;if(!p)n=1;else{n=f[p+104>>2]|0;do if(!n)N=68;else{if(m>>>0>=(j[p+140>>1]|0)>>>0){N=68;break}n=n+(m*40|0)|0;c=p}while(0);if((N|0)==68){N=0;n=f[p>>2]|0;f[n+64>>2]=25;Bg(n,25);n=37592;c=p}n=d[n+8>>1]&31;c=f[c>>2]|0;q=p+40|0;o=f[q>>2]|0;if((o|0)==3082|(b[c+81>>0]|0)!=0){Di(c);c=7}else c=f[c+68>>2]&o;f[q>>2]=c}if(!(-1431655766>>>n&1)){N=74;break c}}m=m+1|0;if(m>>>0>=w>>>0)break f;p=f[M>>2]|0}}while(0);f[r+(m<<2)>>2]=0;m=r;n=s;c=u;p=v}if(lb[e&127](g,w,m,c)|0){N=83;break c}}else{m=v;p=o}if((k|0)!=100){N=101;break}u=f[M>>2]|0;v=m;q=u;o=p;p=u}if((N|0)==101){N=0;q=f[M>>2]|0}o=q+20|0;k=f[o>>2]|0;if((k|0)<832317811)switch(k|0){case 770837923:{N=103;break}default:k=0}else switch(k|0){case 832317811:{N=103;break}default:k=0}if((N|0)==103){N=0;k=fg(q)|0}n=f[q>>2]|0;gg(n,q);c=f[q+4>>2]|0;m=q+8|0;l=f[m>>2]|0;if(!c)f[n+4>>2]=l;else{f[c+8>>2]=l;l=f[m>>2]|0}if(l|0)f[l+4>>2]=c;f[o>>2]=1443283912;f[q>>2]=0;do if(n){if(f[n+480>>2]|0){Kc(n,q);break}z=q;if((f[n+304>>2]|0)>>>0<=z>>>0?(f[n+308>>2]|0)>>>0>z>>>0:0){z=n+300|0;f[q>>2]=f[z>>2];f[z>>2]=q}else N=115}else N=115;while(0);do if((N|0)==115){N=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{z=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}while(0);f[M>>2]=0;l=f[L>>2]|0;while(1)if(!(b[5472+(h[l>>0]|0)>>0]&1))break;else l=l+1|0;if(p){if(f[Q>>2]|0){Kc(a,p);break}z=p;if((f[R>>2]|0)>>>0<=z>>>0?(f[S>>2]|0)>>>0>z>>>0:0){f[p>>2]=f[P>>2];f[P>>2]=p;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{z=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}}while(0);if(k){N=131;break}}if((N|0)==74)if((b[O>>0]|0)==0?(b[I>>0]|0)==0:0){b[O>>0]=1;if((f[J>>2]|0)>0)f[K>>2]=1;f[B>>2]=(f[B>>2]|0)+1;N=132}else N=132;else if((N|0)==83){o=f[M>>2]|0;p=o+20|0;k=f[p>>2]|0;if((k|0)<832317811)switch(k|0){case 770837923:{N=84;break}default:{}}else switch(k|0){case 832317811:{N=84;break}default:{}}if((N|0)==84)fg(o)|0;n=f[o>>2]|0;gg(n,o);c=f[o+4>>2]|0;m=o+8|0;k=f[m>>2]|0;if(!c)f[n+4>>2]=k;else{f[c+8>>2]=k;k=f[m>>2]|0}if(k|0)f[k+4>>2]=c;f[p>>2]=1443283912;f[o>>2]=0;do if(n){if(f[n+480>>2]|0){Kc(n,o);break}L=o;if((f[n+304>>2]|0)>>>0<=L>>>0?(f[n+308>>2]|0)>>>0>L>>>0:0){L=n+300|0;f[o>>2]=f[L>>2];f[L>>2]=o}else N=96}else N=96;while(0);do if((N|0)==96)if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{L=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}while(0);f[M>>2]=0;f[T>>2]=4;Bg(a,4);k=4}else if((N|0)==131){l=0;p=f[M>>2]|0;N=132}do if((N|0)==132)if(p){q=p+20|0;m=f[q>>2]|0;if((m|0)<832317811)switch(m|0){case 770837923:{N=134;break}default:{}}else switch(m|0){case 832317811:{N=134;break}default:{}}if((N|0)==134)fg(p)|0;c=f[p>>2]|0;gg(c,p);o=f[p+4>>2]|0;n=p+8|0;m=f[n>>2]|0;if(!o)f[c+4>>2]=m;else{f[o+8>>2]=m;m=f[n>>2]|0}if(m|0)f[m+4>>2]=o;f[q>>2]=1443283912;f[p>>2]=0;if(c|0){if(f[c+480>>2]|0){Kc(c,p);break}N=p;if((f[c+304>>2]|0)>>>0<=N>>>0?(f[c+308>>2]|0)>>>0>N>>>0:0){N=c+300|0;f[p>>2]=f[N>>2];f[N>>2]=p;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{N=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}while(0);do if(l|0){if(f[Q>>2]|0){Kc(a,l);break}Q=l;if((f[R>>2]|0)>>>0<=Q>>>0?(f[S>>2]|0)>>>0>Q>>>0:0){f[l>>2]=f[P>>2];f[P>>2]=l;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{S=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);if((k|0)==3082|(b[O>>0]|0)!=0){Di(a);c=7}else c=f[a+68>>2]&k;k=(i|0)!=0;if(!(k&(c|0)!=0)){if(!k){i=c;t=V;return i|0}f[i>>2]=0;i=c;t=V;return i|0}n=Mj(a)|0;do if(n|0?(U=(wz(n)|0)+1|0,S=KA(U|0,0,-1,-1)|0,R=ba()|0,!(R>>>0>0|(R|0)==0&S>>>0>2147483390)):0){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](U)|0;if(!k)break}else{k=ib[f[37372>>2]&255](U)|0;if((f[18194]|0)>>>0>>0)f[18194]=U;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){S=f[18187]|0;R=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Q=ba()|0;f[17976]=((Q|0)<0|(Q|0)==0&R>>>0<=S>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}YA(k|0,n|0,U|0)|0;f[i>>2]=k;i=c;t=V;return i|0}while(0);f[i>>2]=0;f[T>>2]=7;Bg(a,7);i=7;t=V;return i|0}else{if((k|0)<1266094736)switch(k|0){case -264537850:break;default:break b}else switch(k|0){case 1266094736:break;default:break b}f[m>>2]=43154;Ac(21,43101,m);break a}while(0);f[l>>2]=43146;Ac(21,43101,l)}while(0);f[n>>2]=40433;f[n+4>>2]=117955;f[n+8>>2]=40460;Ac(21,40408,n);i=21;t=V;return i|0}function vj(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+96|0;y=A+64|0;x=A+56|0;w=A+40|0;l=A+24|0;k=A+16|0;j=A;n=A+80|0;r=A+76|0;z=f[a>>2]|0;u=f[a+8>>2]|0;s=f[z+16>>2]|0;q=(f[s+(u<<4)+12>>2]|0)+78|0;d[q>>1]=d[q>>1]&-5;q=z+81|0;if(b[q>>0]|0){f[a+12>>2]=7;a=1;t=A;return a|0}if(!e){a=0;t=A;return a|0}v=f[e+4>>2]|0;if(!v){c=f[e>>2]|0;g=a+4|0;i=f[g>>2]|0;if(f[i>>2]|0){a=0;t=A;return a|0}if(f[a+16>>2]&1|0){f[i>>2]=0;f[a+12>>2]=1;a=0;t=A;return a|0}if(0==0?(f[z+32>>2]&1|0)==0:0){f[k>>2]=(c|0)==0?46041:c;z=Ig(z,46043,k)|0;f[f[g>>2]>>2]=z;f[l>>2]=42469;f[l+4>>2]=122744;f[l+8>>2]=40460;Ac(11,40408,l);f[a+12>>2]=11;a=0;t=A;return a|0}else{f[j>>2]=42469;f[j+4>>2]=122737;f[j+8>>2]=40460;Ac(11,40408,j);f[a+12>>2]=11;a=0;t=A;return a|0}}i=e+8|0;k=f[i>>2]|0;l=(k|0)==0;do if(!l){c=b[k>>0]|0;do if(!(c<<24>>24)){c=46074;o=13}else{j=c&255;c=1232+j|0;if((j|32|0)==99){c=b[k+1>>0]|0;if(!(c<<24>>24)){c=46075;o=13;break}j=c&255;c=1232+j|0;if((j|32|0)==114){c=b[k+2>>0]|0;if(!(c<<24>>24)){c=46076;o=13;break}j=c&255;c=1232+j|0;if((j|32|0)==101){c=b[k+3>>0]|0;if(!(c<<24>>24)){c=46077;o=13;break}j=c&255;c=1232+j|0;if((j|32|0)==97){c=b[k+4>>0]|0;if(!(c<<24>>24)){c=46078;o=13;break}j=c&255;c=1232+j|0;if((j|32|0)==116){c=b[k+5>>0]|0;if(!(c<<24>>24)){c=46079;o=13;break}j=c&255;c=1232+j|0;if((j|32|0)==101){c=b[k+6>>0]|0;if(!(c<<24>>24)){c=46080;o=13;break}if(c<<24>>24==32)break;else{g=32;c=1232+(c&255)|0}}else g=101}else g=116}else g=97}else g=101}else g=114}else g=99;p=h[c>>0]|0;m=g;o=17}while(0);if((o|0)==13){p=0;m=b[1232+(h[c>>0]|0)>>0]|0;o=17}if((o|0)==17?(p|0)!=(m&255|0):0)break;x=z+164|0;w=b[x>>0]|0;b[x>>0]=u;f[n>>2]=0;Pd(v,n)|0;f[z+160>>2]=f[n>>2];y=z+166|0;b[y>>0]=b[y>>0]&-2;Ki(z,f[i>>2]|0,-1,0,0,r,0)|0;c=f[z+64>>2]|0;b[x>>0]=w;a:do if(c|0?(b[y>>0]&1)==0:0){f[a+12>>2]=c;switch(c|0){case 9:break a;case 7:break;default:{if((c&255|0)==6)break a;Tj(a,f[e>>2]|0,Mj(z)|0);break a}}if((b[q>>0]|0)==0?(b[z+82>>0]|0)==0:0){b[q>>0]=1;if((f[z+180>>2]|0)>0)f[z+264>>2]=1;a=z+272|0;f[a>>2]=(f[a>>2]|0)+1}}while(0);Fi(f[r>>2]|0)|0;a=0;t=A;return a|0}while(0);i=f[e>>2]|0;j=(i|0)==0;do if(!j){if(!l?b[k>>0]|0:0)break;c=Qj(z,i,f[s+(u<<4)>>2]|0)|0;if(!c){a=0;t=A;return a|0}if(Pd(v,c+44|0)|0){a=0;t=A;return a|0}Tj(a,f[e>>2]|0,46082);a=0;t=A;return a|0}while(0);c=a+4|0;g=f[c>>2]|0;if(f[g>>2]|0){a=0;t=A;return a|0}if(f[a+16>>2]&1|0){f[g>>2]=0;f[a+12>>2]=1;a=0;t=A;return a|0}if(0==0?(f[z+32>>2]&1|0)==0:0){f[x>>2]=j?46041:i;z=Ig(z,46043,x)|0;f[f[c>>2]>>2]=z;f[y>>2]=42469;f[y+4>>2]=122744;f[y+8>>2]=40460;Ac(11,40408,y);f[a+12>>2]=11;a=0;t=A;return a|0}else{f[w>>2]=42469;f[w+4>>2]=122737;f[w+8>>2]=40460;Ac(11,40408,w);f[a+12>>2]=11;a=0;t=A;return a|0}return 0}function wj(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;m=t;t=t+16|0;k=m;l=m+8|0;j=a+16|0;e=f[j>>2]|0;i=f[e+(c<<4)+12>>2]|0;g=f[i+16>>2]|0;if(g|0)do{n=(f[g+8>>2]|0)+36|0;f[n>>2]=f[n>>2]&-17;g=f[g>>2]|0}while((g|0)!=0);i=i+32|0;g=f[i>>2]|0;if(g){e=g;do{n=(f[e+8>>2]|0)+55|0;g=(h[n>>0]|h[n+1>>0]<<8)&-129;b[n>>0]=g;b[n+1>>0]=g>>8;e=f[e>>2]|0}while((e|0)!=0);e=f[j>>2]|0}f[l>>2]=a;e=f[e+(c<<4)>>2]|0;f[l+4>>2]=e;do if(ji(a,45954,e)|0){f[k>>2]=e;g=Ig(a,45967,k)|0;if(g){e=uj(a,g,84,l,0)|0;if(f[a+480>>2]|0){Kc(a,g);l=e;break}n=g;if((f[a+304>>2]|0)>>>0<=n>>>0?(f[a+308>>2]|0)>>>0>n>>>0:0){l=a+300|0;f[g>>2]=f[l>>2];f[l>>2]=g;l=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);l=e;break}else{l=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);l=e;break}}else l=7}else l=0;while(0);e=f[i>>2]|0;if(e|0)do{c=f[e+8>>2]|0;n=c+55|0;if(!((h[n>>0]|h[n+1>>0]<<8)&128)){k=f[c+8>>2]|0;j=c+50|0;i=d[j>>1]|0;i=(i&65535)<5?i:5;g=d[(f[c+12>>2]|0)+44>>1]|0;d[k>>1]=g;if(f[c+36>>2]|0){g=(g&65535)+65526&65535;d[k>>1]=g}if(g<<16>>16<33)d[k>>1]=33;YA(k+2|0,39644,i<<1&65535|0)|0;n=d[j>>1]|0;g=n&65535;if((i&65535)<(n&65535)){g=i&65535;do{g=g+1|0;d[k+(g<<1)>>1]=23;i=d[j>>1]|0}while(g>>>0<(i&65535)>>>0);g=i&65535}if(b[c+54>>0]|0)d[k+(g<<1)>>1]=0}e=f[e>>2]|0}while((e|0)!=0);if((l|0)!=7){t=m;return l|0}e=a+81|0;if(b[e>>0]|0){t=m;return l|0}if(b[a+82>>0]|0){t=m;return l|0}b[e>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;n=a+272|0;f[n>>2]=(f[n>>2]|0)+1;t=m;return l|0}function xj(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=t;t=t+176|0;P=Q+144|0;J=Q+120|0;I=Q+112|0;H=Q+104|0;G=Q+96|0;F=Q+72|0;E=Q+64|0;D=Q+56|0;C=Q+32|0;L=Q+24|0;K=Q+16|0;B=Q+8|0;A=Q;x=Q+164|0;y=Q+160|0;z=Q+156|0;N=a+20|0;O=f[N>>2]|0;a:do if(!e)i=g;else{r=a+16|0;s=a+12|0;q=a+8|0;u=a+4|0;v=(c|0)==0;w=a+24|0;i=g;while(1){if(!(f[r>>2]|0))break a;if((e+-1|0)>>>0>=(f[s>>2]|0)>>>0){M=5;break}j=(f[q>>2]|0)+(e>>>3)|0;k=h[j>>0]|0;l=1<<(e&7);if(l&k|0){M=7;break}b[j>>0]=l|k;o=i+-1|0;p=f[u>>2]|0;if(lb[f[p+204>>2]&127](p,e,z,0)|0){M=9;break}p=f[(f[z>>2]|0)+4>>2]|0;do if(v){j=f[a>>2]|0;if((i|0)>1&(b[j+17>>0]|0)!=0){k=h[p+1>>0]<<16|h[p>>0]<<24|h[p+2>>0]<<8|h[p+3>>0];i=rh(j,k,x,y)|0;b:do if((i|0)<7){switch(i|0){case 0:break;default:{M=40;break b}}i=b[x>>0]|0;j=f[y>>2]|0;if(!(i<<24>>24==4&(j|0)==(e|0))){f[J>>2]=k;f[J+4>>2]=4;f[J+8>>2]=e;f[J+12>>2]=i&255;f[J+16>>2]=j;yj(a,43929,J)}}else{if((i|0)<3082)switch(i|0){case 7:break;default:{M=40;break b}}else switch(i|0){case 3082:break;default:{M=40;break b}}f[w>>2]=1;M=40}while(0);if((M|0)==40){M=0;f[I>>2]=k;yj(a,43900,I)}i=o}else i=o}else{n=h[p+5>>0]<<16|h[p+4>>0]<<24|h[p+6>>0]<<8|h[p+7>>0];j=f[a>>2]|0;if(b[j+17>>0]|0){j=rh(j,e,x,y)|0;c:do if((j|0)<7){switch(j|0){case 0:break;default:{M=14;break c}}j=b[x>>0]|0;k=f[y>>2]|0;if(!(j<<24>>24==2&(k|0)==0)){f[C>>2]=e;f[C+4>>2]=2;f[C+8>>2]=0;f[C+12>>2]=j&255;f[C+16>>2]=k;yj(a,43929,C)}}else{if((j|0)<3082)switch(j|0){case 7:break;default:{M=14;break c}}else switch(j|0){case 3082:break;default:{M=14;break c}}f[w>>2]=1;M=14}while(0);if((M|0)==14){M=0;f[L>>2]=e;yj(a,43900,L)}j=f[a>>2]|0}if((n|0)>(((f[j+36>>2]|0)/4|0)+-2|0)){f[D>>2]=e;yj(a,45863,D);i=i+-2|0;break}d:do if((n|0)>0){i=0;while(1){m=p+((i<<2)+8)|0;l=h[m+3>>0]|0;m=h[m+1>>0]<<16|h[m>>0]<<24|h[m+2>>0]<<8|l;if(b[j+17>>0]|0){e=rh(j,m,x,y)|0;e:do if((e|0)<7){switch(e|0){case 0:break;default:{M=25;break e}}j=b[x>>0]|0;e=f[y>>2]|0;if(!(j<<24>>24==2&(e|0)==0)){f[F>>2]=m;f[F+4>>2]=2;f[F+8>>2]=0;f[F+12>>2]=j&255;f[F+16>>2]=e;yj(a,43929,F)}}else{if((e|0)<3082)switch(e|0){case 7:break;default:{M=25;break e}}else switch(e|0){case 3082:break;default:{M=25;break e}}f[w>>2]=1;M=25}while(0);if((M|0)==25){M=0;f[E>>2]=m;yj(a,43900,E)}}do if((m+-1|0)>>>0<(f[s>>2]|0)>>>0){j=(f[q>>2]|0)+(m>>>3)|0;k=h[j>>0]|0;e=1<<(l&7);if(!(e&k)){b[j>>0]=e|k;break}else{f[H>>2]=m;yj(a,45482,H);break}}else{f[G>>2]=m;yj(a,45459,G)}while(0);i=i+1|0;if((i|0)==(n|0))break d;j=f[a>>2]|0}}while(0);i=o-n|0}while(0);e=h[p+1>>0]<<16|h[p>>0]<<24|h[p+2>>0]<<8|h[p+3>>0];j=f[z>>2]|0;do if(j|0)if(!(d[j+28>>1]&32)){bh(j);break}else{p=f[j+20>>2]|0;o=p+120|0;f[o>>2]=(f[o>>2]|0)+-1;p=p+136|0;f[j+16>>2]=f[p>>2];f[p>>2]=j;break}while(0);if(!e)break a}if((M|0)==5){f[A>>2]=e;yj(a,45459,A)}else if((M|0)==7){f[B>>2]=e;yj(a,45482,B)}else if((M|0)==9){f[K>>2]=e;yj(a,45841,K);i=o}}while(0);if(!i){t=Q;return}if((O|0)!=(f[N>>2]|0)){t=Q;return}f[P>>2]=(c|0)==0?45902:45923;f[P+4>>2]=g-i;f[P+8>>2]=g;yj(a,45928,P);t=Q;return}function yj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=t;t=t+32|0;i=j+16|0;h=j;e=a+16|0;g=f[e>>2]|0;if(!g){t=j;return}f[e>>2]=g+-1;e=a+20|0;f[e>>2]=(f[e>>2]|0)+1;f[h>>2]=d;e=a+40|0;if(f[a+56>>2]|0)Oj(e,45839,1);g=f[a+28>>2]|0;if(g|0){d=f[a+36>>2]|0;f[i>>2]=f[a+32>>2];f[i+4>>2]=d;qf(e,g,i)}Bc(e,c,h);if((b[a+60>>0]|0)!=7){t=j;return}f[a+24>>2]=1;t=j;return}function zj(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=t;t=t+240|0;ga=na+208|0;ea=na+200|0;V=na+192|0;U=na+168|0;T=na+160|0;S=na+136|0;R=na+128|0;Q=na+120|0;P=na+112|0;O=na+96|0;s=na+72|0;q=na+64|0;p=na+56|0;o=na+48|0;n=na+40|0;k=na+32|0;L=na+224|0;M=na+220|0;X=na+24|0;N=na;ha=X;f[ha>>2]=g;f[ha+4>>2]=i;ha=a+28|0;ia=f[ha>>2]|0;ja=a+32|0;ka=f[ja>>2]|0;la=a+36|0;ma=f[la>>2]|0;u=f[a>>2]|0;fa=f[u+36>>2]|0;if(!c){ma=0;t=na;return ma|0}if((c+-1|0)>>>0>=(f[a+12>>2]|0)>>>0){f[k>>2]=c;yj(a,45459,k);ma=0;t=na;return ma|0}k=(f[a+8>>2]|0)+(c>>>3)|0;l=h[k>>0]|0;m=1<<(c&7);if(m&l|0){f[n>>2]=c;yj(a,45482,n);ma=0;t=na;return ma|0}b[k>>0]=m|l;f[ha>>2]=45507;f[ja>>2]=c;k=f[u>>2]|0;k=lb[f[k+204>>2]&127](k,c,L,0)|0;a:do if(!k){k=f[L>>2]|0;da=f[k+8>>2]|0;l=da+4|0;if((f[l>>2]|0)!=(c|0)){f[da+56>>2]=f[k+4>>2];f[da+72>>2]=k;f[da+52>>2]=u;f[l>>2]=c;b[da+9>>0]=(c|0)==1?100:0}K=b[da>>0]|0;b[da>>0]=0;k=Ph(da)|0;do if(!k){ba=f[da+56>>2]|0;ca=h[da+9>>0]|0;f[ha>>2]=45593;l=ba+(ca+5)|0;l=(h[l>>0]<<8|h[l+1>>0])+65535&65535;I=l+1|0;o=ba+(ca+3)|0;o=h[o>>0]<<8|h[o+1>>0];J=da+8|0;H=b[J>>0]|0;Y=ca+12-((H&255)<<2)|0;r=o+-1|0;p=ba+(Y+(r<<1))|0;if(!(H<<24>>24)){n=ba+(ca+8)|0;n=h[n+1>>0]<<16|h[n>>0]<<24|h[n+2>>0]<<8|h[n+3>>0];if(b[u+17>>0]|0){f[ha>>2]=45619;k=rh(f[a>>2]|0,n,L,M)|0;b:do if((k|0)<7){switch(k|0){case 0:break;default:{W=16;break b}}k=b[L>>0]|0;m=f[M>>2]|0;if(!(k<<24>>24==5&(m|0)==(c|0))){f[s>>2]=n;f[s+4>>2]=5;f[s+8>>2]=c;f[s+12>>2]=k&255;f[s+16>>2]=m;yj(a,43929,s)}}else{if((k|0)<3082)switch(k|0){case 7:break;default:{W=16;break b}}else switch(k|0){case 3082:break;default:{W=16;break b}}f[a+24>>2]=1;W=16}while(0);if((W|0)==16){f[q>>2]=n;yj(a,43900,q)}}k=zj(a,n,X,g,i)|0;n=0;i=0}else{i=f[a+64>>2]|0;f[i>>2]=0;k=-1;n=1}G=a+16|0;H=(o|0)==0;if(!H){z=fa+-4|0;A=da+80|0;B=N+18|0;C=da+2|0;D=N+12|0;E=N+16|0;F=fa+-5|0;x=u+17|0;y=a+24|0;w=r;m=1;v=p;while(1){if(!(f[G>>2]|0))break;f[la>>2]=w;s=h[v>>0]<<8|h[v+1>>0];v=v+-2|0;c:do if(s>>>0<=l>>>0|s>>>0>z>>>0){f[O>>2]=s;f[O+4>>2]=I;f[O+8>>2]=z;yj(a,45647,O);m=0}else{u=ba+s|0;qb[f[A>>2]&255](da,u,N);if((s+(j[B>>1]|0)|0)>>>0>fa>>>0){yj(a,45677,P);m=0;break}if(b[C>>0]|0){g=N;o=f[g>>2]|0;g=f[g+4>>2]|0;q=X;p=f[q>>2]|0;q=f[q+4>>2]|0;if(!n)if((g|0)<(q|0)|(g|0)==(q|0)&o>>>0

>>0)n=g;else W=34;else if((g|0)>(q|0)|(g|0)==(q|0)&o>>>0>p>>>0)W=34;else n=g;if((W|0)==34){W=0;n=Q;f[n>>2]=o;f[n+4>>2]=g;yj(a,45701,Q);n=N;o=f[n>>2]|0;n=f[n+4>>2]|0}g=X;f[g>>2]=o;f[g+4>>2]=n;n=0}o=f[D>>2]|0;p=j[E>>1]|0;if(o>>>0>p>>>0){q=((F+o-p|0)>>>0)/(z>>>0)|0;g=u+((j[B>>1]|0)+-4)|0;g=h[g+1>>0]<<16|h[g>>0]<<24|h[g+2>>0]<<8|h[g+3>>0];if(b[x>>0]|0){o=rh(f[a>>2]|0,g,L,M)|0;d:do if((o|0)<7){switch(o|0){case 0:break;default:{W=40;break d}}o=b[L>>0]|0;p=f[M>>2]|0;if(o<<24>>24==3&(p|0)==(c|0))break;f[S>>2]=g;f[S+4>>2]=3;f[S+8>>2]=c;f[S+12>>2]=o&255;f[S+16>>2]=p;yj(a,43929,S)}else{if((o|0)<3082)switch(o|0){case 7:break;default:{W=40;break d}}else switch(o|0){case 3082:break;default:{W=40;break d}}f[y>>2]=1;W=40}while(0);if((W|0)==40){W=0;f[R>>2]=g;yj(a,43900,R)}}xj(a,0,g,q)}if(b[J>>0]|0){p=s+-1+(j[B>>1]|0)|s<<16;o=(f[i>>2]|0)+1|0;f[i>>2]=o;f[i+(o<<2)>>2]=p;q=o>>>1;if(!q)break;g=i+(q<<2)|0;s=f[g>>2]|0;if(s>>>0<=p>>>0)break;while(1){f[g>>2]=p;f[i+(o<<2)>>2]=s;o=q>>>1;if(!o)break c;p=f[g>>2]|0;g=i+(o<<2)|0;s=f[g>>2]|0;if(s>>>0<=p>>>0)break c;else{u=q;q=o;o=u}}}p=h[u+1>>0]<<16|h[u>>0]<<24|h[u+2>>0]<<8|h[u+3>>0];if(b[x>>0]|0){n=rh(f[a>>2]|0,p,L,M)|0;e:do if((n|0)<7){switch(n|0){case 0:break;default:{W=49;break e}}n=b[L>>0]|0;o=f[M>>2]|0;if(n<<24>>24==5&(o|0)==(c|0))break;f[U>>2]=p;f[U+4>>2]=5;f[U+8>>2]=c;f[U+12>>2]=n&255;f[U+16>>2]=o;yj(a,43929,U)}else{if((n|0)<3082)switch(n|0){case 7:break;default:{W=49;break e}}else switch(n|0){case 3082:break;default:{W=49;break e}}f[y>>2]=1;W=49}while(0);if((W|0)==49){W=0;f[T>>2]=p;yj(a,43900,T)}}n=X;n=zj(a,p,X,f[n>>2]|0,f[n+4>>2]|0)|0;if((n|0)==(k|0)){n=0;break}yj(a,45725,V);k=n;n=0}while(0);if((w|0)<=0)break;else w=w+-1|0}V=X;W=f[V+4>>2]|0;X=e;f[X>>2]=f[V>>2];f[X+4>>2]=W;f[ha>>2]=0;if(!m){b[da>>0]=K;break}}else{V=X;W=f[V+4>>2]|0;X=e;f[X>>2]=f[V>>2];f[X+4>>2]=W;f[ha>>2]=0}f:do if((f[G>>2]|0)>0){if(!(b[J>>0]|0)){i=f[a+64>>2]|0;f[i>>2]=0;if(!H){g=da+76|0;while(1){n=ba+((r<<1)+Y)|0;n=h[n>>0]<<8|h[n+1>>0];n=n+-1+((jb[f[g>>2]&255](da,ba+n|0)|0)&65535)|n<<16;m=(f[i>>2]|0)+1|0;f[i>>2]=m;f[i+(m<<2)>>2]=n;o=m>>>1;g:do if(o|0?(Z=i+(o<<2)|0,_=f[Z>>2]|0,_>>>0>n>>>0):0){p=Z;q=_;while(1){f[p>>2]=n;f[i+(m<<2)>>2]=q;m=o>>>1;if(!m)break g;n=f[p>>2]|0;p=i+(m<<2)|0;q=f[p>>2]|0;if(q>>>0<=n>>>0)break;else{X=o;o=m;m=X}}}while(0);if((r|0)>0)r=r+-1|0;else break}}}m=ba+(ca+1)|0;m=h[m>>0]<<8|h[m+1>>0];if(m|0)do{o=ba+(m+2)|0;o=m+-1+(h[o>>0]<<8|h[o+1>>0])|m<<16;n=(f[i>>2]|0)+1|0;f[i>>2]=n;f[i+(n<<2)>>2]=o;p=n>>>1;h:do if(p|0?($=i+(p<<2)|0,aa=f[$>>2]|0,aa>>>0>o>>>0):0){q=$;r=aa;while(1){f[q>>2]=o;f[i+(n<<2)>>2]=r;n=p>>>1;if(!n)break h;o=f[q>>2]|0;q=i+(n<<2)|0;r=f[q>>2]|0;if(r>>>0<=o>>>0)break;else{_=p;p=n;n=_}}}while(0);_=ba+m|0;m=h[_>>0]<<8|h[_+1>>0]}while((m|0)!=0);n=f[i>>2]|0;i:do if(n){u=i+4|0;m=0;while(1){s=f[u>>2]|0;n=i+(n<<2)|0;f[u>>2]=f[n>>2];f[n>>2]=-1;n=(f[i>>2]|0)+-1|0;f[i>>2]=n;j:do if(n>>>0>=2){g=f[u>>2]|0;r=1;o=2;do{p=o|1;q=r;r=(f[i+(o<<2)>>2]|0)>>>0>(f[i+(p<<2)>>2]|0)>>>0?p:o;o=i+(r<<2)|0;p=f[o>>2]|0;if(g>>>0

>>0)break j;f[i+(q<<2)>>2]=p;f[o>>2]=g;o=r<<1;n=f[i>>2]|0}while(o>>>0<=n>>>0)}while(0);o=l&65535;p=s>>>16;if(p>>>0<=o>>>0)break;m=m+-1-o+p|0;if(!n){l=s;break i}else l=s}f[ea>>2]=p;f[ea+4>>2]=c;yj(a,45750,ea);if(f[i>>2]|0)break f}else m=0;while(0);m=m+-1+fa-(l&65535)|0;l=h[ba+(ca+7)>>0]|0;if((m|0)!=(l|0)){f[ga>>2]=m;f[ga+4>>2]=l;f[ga+8>>2]=c;yj(a,45787,ga)}}while(0);if(!da)break a}else{f[p>>2]=k;yj(a,45555,p);k=-1}while(0);l=f[da+72>>2]|0;if(!(d[l+28>>1]&32)){bh(l);break}else{ga=f[l+20>>2]|0;c=ga+120|0;f[c>>2]=(f[c>>2]|0)+-1;ga=ga+136|0;f[l+16>>2]=f[ga>>2];f[ga>>2]=l;break}}else{f[o>>2]=k;yj(a,45517,o);k=-1}while(0);f[ha>>2]=ia;f[ja>>2]=ka;f[la>>2]=ma;ma=k+1|0;t=na;return ma|0}function Aj(a){a=a|0;var c=0,e=0,g=0,h=0,i=0;h=f[a+32>>2]|0;i=a+8|0;if(!((d[i>>1]&9216)==0?!(f[a+24>>2]|0):0))ff(a);a:do if(f[h+272>>2]|0)if(!(b[h+81>>0]|0))g=14;else{i=7;return i|0}else{do if((j[h+276>>1]|0)>=32){c=h+300|0;e=f[c>>2]|0;if(e|0){f[c>>2]=f[e>>2];c=h+284|0;f[c>>2]=(f[c>>2]|0)+1;break a}c=h+296|0;e=f[c>>2]|0;if(!e){c=h+292|0;break}else{f[c>>2]=f[e>>2];c=h+284|0;f[c>>2]=(f[c>>2]|0)+1;break a}}else c=h+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;g=14}while(0);if((g|0)==14)e=Dc(h,32,0)|0;if(!e){i=7;return i|0}g=e;if((f[h+304>>2]|0)>>>0<=g>>>0?(f[h+308>>2]|0)>>>0>g>>>0:0)c=j[h+276>>1]|0;else c=ib[f[37368>>2]&255](e)|0;f[e>>2]=0;f[e+4>>2]=h;f[e+8>>2]=0;f[e+12>>2]=0;f[e+20>>2]=0;f[e+16>>2]=e+32;d[e+24>>1]=(c+1048544|0)>>>4;d[e+26>>1]=1;f[e+28>>2]=0;f[a+16>>2]=e;d[i>>1]=1040;f[a+36>>2]=104;i=0;return i|0}function Bj(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a>>2]|0;if(!c){a=0;return a|0}if((b|0)<=1){d=c+8|0;f[a>>2]=f[d>>2];f[d>>2]=0;f[c+12>>2]=0;a=c;return a|0}b=b+-1|0;c=Bj(a,b)|0;d=f[a>>2]|0;if(!d){a=c;return a|0}else{f[d+12>>2]=c;c=d+8|0;f[a>>2]=f[c>>2];a=Bj(a,b)|0;f[c>>2]=a;return d|0}return 0}function Cj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=t;t=t+16|0;d=g;e=f[a+12>>2]|0;if(!e)f[b>>2]=a;else{Cj(e,b,d);f[(f[d>>2]|0)+8>>2]=a}d=a+8|0;b=f[d>>2]|0;if(!b){f[c>>2]=a;t=g;return}else{Cj(b,d,c);t=g;return}}function Dj(a){a=a|0;var b=0;b=(f[a>>2]|0)+196|0;f[a+4>>2]=f[b>>2];f[b>>2]=a;return}function Ej(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=a+20|0;k=f[o>>2]|0;if((k|0)<=0){n=0;o=0;d=1;n=(n|0)!=0;n=d&n;o=n?5:o;return o|0}n=a+16|0;m=(d|0)==0;if((c|0)==10){a=f[(f[n>>2]|0)+4>>2]|0;if(a){i=f[a+4>>2]|0;l=f[a>>2]|0;f[i+4>>2]=l;if(!(b[i+20>>0]|0)){i=f[i>>2]|0;j=f[i+216>>2]|0;if(!j)a=0;else{if(m)a=0;else a=f[i+176>>2]|0;a=fi(j,l,d,a,f[i+180>>2]|0,h[i+11>>0]|0,f[i+152>>2]|0,f[i+208>>2]|0,e,g)|0;k=f[o>>2]|0}}else a=6}else a=0;j=(a|0)==5;i=j?0:a;j=j&1;a=(i|0)==0;if(!(a&(k|0)>1)){n=j;o=i;d=a;n=(n|0)!=0;n=d&n;o=n?5:o;return o|0}g=1;do{a=f[(f[n>>2]|0)+(g<<4)+4>>2]|0;if(a){i=f[a+4>>2]|0;e=f[a>>2]|0;f[i+4>>2]=e;if(!(b[i+20>>0]|0)){i=f[i>>2]|0;l=f[i+216>>2]|0;if(!l)a=0;else{if(m)a=0;else a=f[i+176>>2]|0;a=fi(l,e,d,a,f[i+180>>2]|0,h[i+11>>0]|0,f[i+152>>2]|0,f[i+208>>2]|0,0,0)|0;k=f[o>>2]|0}}else a=6}else a=0;c=(a|0)==5;i=c?0:a;j=c?1:j;g=g+1|0;a=(i|0)==0}while(a&(g|0)<(k|0));o=(j|0)!=0;o=a&o;o=o?5:i;return o|0}if(m){m=0;j=0;while(1){if((m|0)==(c|0)){a=f[(f[n>>2]|0)+(c<<4)+4>>2]|0;if(a){i=f[a+4>>2]|0;l=f[a>>2]|0;f[i+4>>2]=l;if(!(b[i+20>>0]|0)){a=f[i>>2]|0;i=f[a+216>>2]|0;if(!i)a=0;else{a=fi(i,l,0,0,f[a+180>>2]|0,h[a+11>>0]|0,f[a+152>>2]|0,f[a+208>>2]|0,e,g)|0;k=f[o>>2]|0}}else a=6}else a=0;i=(a|0)==5;j=i?1:j;i=i?0:a;l=0;e=0}else{i=0;l=g}m=m+1|0;a=(i|0)==0;if(!(a&(m|0)<(k|0)))break;else g=l}o=(j|0)!=0;o=a&o;o=o?5:i;return o|0}else{m=0;j=0;while(1){if((m|0)==(c|0)){a=f[(f[n>>2]|0)+(c<<4)+4>>2]|0;if(a){i=f[a+4>>2]|0;l=f[a>>2]|0;f[i+4>>2]=l;if(!(b[i+20>>0]|0)){a=f[i>>2]|0;i=f[a+216>>2]|0;if(!i)a=0;else{a=fi(i,l,d,f[a+176>>2]|0,f[a+180>>2]|0,h[a+11>>0]|0,f[a+152>>2]|0,f[a+208>>2]|0,e,g)|0;k=f[o>>2]|0}}else a=6}else a=0;i=(a|0)==5;j=i?1:j;i=i?0:a;l=0;e=0}else{i=0;l=g}m=m+1|0;a=(i|0)==0;if(!(a&(m|0)<(k|0)))break;else g=l}o=(j|0)!=0;o=a&o;o=o?5:i;return o|0}return 0}function Fj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;k=a+5|0;d=b[k>>0]|0;if(!(b[a+15>>0]|0))j=3;else switch(c|0){case 2:case 4:{j=3;break}default:{}}do if((j|0)==3?(e=d&255,(e|0)!=(c|0)):0){b[k>>0]=c;if(!((c&1|0)==0&((e&5|0)==1&(b[a+4>>0]|0)==0))){if((c|0)!=2)break;c=f[a+64>>2]|0;d=f[c>>2]|0;if(!d)break;ib[f[d+4>>2]&255](c)|0;f[c>>2]=0;break}c=f[a+64>>2]|0;d=f[c>>2]|0;if(d|0){ib[f[d+4>>2]&255](c)|0;f[c>>2]=0}i=a+17|0;if((h[i>>0]|0)>1){j=f[a>>2]|0;kb[f[j+28>>2]&127](j,f[a+172>>2]|0,0)|0;break}c=a+16|0;e=b[c>>0]|0;g=e<<24>>24==0;if(g){d=Ni(a)|0;c=b[c>>0]|0}else{d=0;c=e}a:do if(c<<24>>24==1){c=b[i>>0]|0;switch(c<<24>>24){case 0:case 1:case 5:break;default:{j=19;break a}}if(!(b[a+13>>0]|0)){d=f[a+60>>2]|0;if(jb[f[(f[d>>2]|0)+28>>2]&255](d,2)|0)break;c=b[i>>0]|0}if(c<<24>>24==5)j=19;else{b[i>>0]=2;j=19}}else if(!d)j=19;while(0);if((j|0)==19?(j=f[a>>2]|0,kb[f[j+28>>2]&127](j,f[a+172>>2]|0,0)|0,e<<24>>24==1):0){c=f[a+60>>2]|0;d=f[c>>2]|0;if(!d)break;if(!(b[a+13>>0]|0))jb[f[d+32>>2]&255](c,1)|0;if((b[i>>0]|0)==5)break;b[i>>0]=1;break}if(g)xh(a)}while(0);return h[k>>0]|0}function Gj(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;g=o;e=Ki(a,e,-1,128,0,g,0)|0;if(e|0){c=e;t=o;return c|0}n=f[g>>2]|0;e=Ei(n)|0;a:do if((e|0)==100){i=n+104|0;k=n+140|0;l=n+40|0;if(!n)while(1){e=Ei(0)|0;if((e|0)!=100)break a}do{e=f[i>>2]|0;if(!((e|0)!=0?(d[k>>1]|0)!=0:0)){e=f[n>>2]|0;f[e+64>>2]=25;Bg(e,25);e=37592}g=d[e+8>>1]|0;if((g&514)==514?(b[e+10>>0]|0)==1:0)h=f[e+16>>2]|0;else if(!(g&1))h=Ic(e,1)|0;else h=0;e=f[n>>2]|0;g=f[l>>2]|0;if((g|0)==3082|(b[e+81>>0]|0)!=0){Di(e);e=7}else e=f[e+68>>2]&g;f[l>>2]=e;do if(h|0){if(Yz(h,45412,3)|0?Yz(h,45416,3)|0:0)break;e=Gj(a,c,h)|0;if(e|0)break a}while(0);e=Ei(n)|0}while((e|0)==100)}while(0);l=(e|0)==101?0:e;if(l|0){k=Mj(a)|0;e=f[c>>2]|0;do if(e|0){if(a|0){if(f[a+480>>2]|0){Kc(a,e);break}i=e;if((f[a+304>>2]|0)>>>0<=i>>>0?(f[a+308>>2]|0)>>>0>i>>>0:0){i=a+300|0;f[e>>2]=f[i>>2];f[i>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);b:do if(!k)e=0;else{i=(wz(k)|0)+1|0;c:do if(!a){a=KA(i|0,0,-1,-1)|0;h=ba()|0;if(h>>>0>0|(h|0)==0&a>>>0>2147483390){e=0;break b}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](i)|0;m=59;break}e=ib[f[37372>>2]&255](i)|0;if((f[18194]|0)>>>0>>0)f[18194]=i;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){a=f[18187]|0;h=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&h>>>0<=a>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e){e=0;break b}g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){e=0;break b}}else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){g=a+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];m=a+284|0;f[m>>2]=(f[m>>2]|0)+1;m=59;break c}g=a+296|0;e=f[g>>2]|0;if(!e){e=a+292|0;break}else{f[g>>2]=f[e>>2];m=a+284|0;f[m>>2]=(f[m>>2]|0)+1;m=59;break c}}else e=a+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(a,i,0)|0;m=59}while(0);if((m|0)==59)if(!e){e=0;break}YA(e|0,k|0,i|0)|0}while(0);f[c>>2]=e}Fi(n)|0;c=l;t=o;return c|0}function Hj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=t;t=t+16|0;g=e;f[g>>2]=d;c=zg(a,c,g)|0;if(!c){g=7;t=e;return g|0}g=Gj(a,b,c)|0;Zh(a,c);t=e;return g|0}function Ij(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=t;t=t+16|0;w=G;E=a+24|0;i=f[E>>2]|0;h=f[i+4>>2]|0;f[h+4>>2]=f[i>>2];F=a+28|0;g=f[F>>2]|0;switch(g|0){case 6:case 0:case 5:break;default:{F=g;t=G;return F|0}}v=f[h>>2]|0;y=a+4|0;x=f[f[(f[y>>2]|0)+4>>2]>>2]|0;if((f[a>>2]|0)!=0?(b[h+20>>0]|0)==2:0){D=0;g=5}else if(!(b[i+8>>0]|0)){D=1;g=Li(i,0,0)|0}else{D=0;g=0}o=a+12|0;if((f[o>>2]|g|0)==0?(u=f[y>>2]|0,j=f[(f[(f[E>>2]|0)+4>>2]|0)+32>>2]|0,p=f[u+4>>2]|0,f[p+4>>2]=f[u>>2],(d[p+22>>1]&2)==0):0){k=p+32|0;l=p+36|0;m=(f[k>>2]|0)-(f[l>>2]|0)|0;if(((j+-512|0)>>>0<65025?(j+-1&j|0)==0:0)?(f[k>>2]=j,q=p+80|0,n=f[q>>2]|0,n|0):0){i=n+-4|0;f[q>>2]=i;h=i;do if((f[18022]|0)>>>0<=h>>>0)if((f[18023]|0)>>>0>h>>>0){f[18188]=(f[18188]|0)+-1;f[i>>2]=f[18025];f[18025]=i;u=(f[18026]|0)+1|0;f[18026]=u;f[18027]=(u|0)<(f[18021]|0)&1;break}else{h=ib[f[37368>>2]&255](i)|0;C=16;break}else{h=ib[f[37368>>2]&255](i)|0;C=16}while(0);do if((C|0)==16){f[18189]=(f[18189]|0)-h;if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{u=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);f[q>>2]=0}u=ih(f[p>>2]|0,k,m)|0;f[l>>2]=(f[k>>2]|0)-(m&65535);if((u|0)==7)g=7;else C=21}else C=21;if((C|0)==21)if(!g)if(!(f[o>>2]|0)){g=Li(f[y>>2]|0,2,a+8|0)|0;if(!g){f[o>>2]=1;g=0}}else g=0;l=f[(f[E>>2]|0)+4>>2]|0;u=f[l+32>>2]|0;n=f[(f[y>>2]|0)+4>>2]|0;s=f[n+32>>2]|0;n=(b[(f[n>>2]|0)+5>>0]|0)==5;g=(u|0)==(s|0)|(g|0)==0&n^1?g:8;l=f[l+44>>2]|0;a:do if(c){j=a+16|0;k=v+204|0;i=0;h=f[j>>2]|0;do{if(!((g|0)==0&h>>>0<=l>>>0))break a;if((h|0)==((1073741824/((f[(f[(f[E>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))g=0;else{g=lb[f[k>>2]&127](v,h,w,2)|0;do if(!g){g=lh(a,h,f[(f[w>>2]|0)+4>>2]|0,0)|0;h=f[w>>2]|0;if(h)if(!(d[h+28>>1]&32)){bh(h);break}else{q=f[h+20>>2]|0;p=q+120|0;f[p>>2]=(f[p>>2]|0)+-1;q=q+136|0;f[h+16>>2]=f[q>>2];f[q>>2]=h;break}}while(0);h=f[j>>2]|0}h=h+1|0;f[j>>2]=h;i=i+1|0}while(i>>>0>>0)}while(0);switch(g|0){case 0:{f[a+36>>2]=l;c=f[a+16>>2]|0;f[a+32>>2]=l+1-c;if(c>>>0<=l>>>0){e=a+40|0;if(!(f[e>>2]|0)){B=(f[f[(f[E>>2]|0)+4>>2]>>2]|0)+88|0;f[a+44>>2]=f[B>>2];f[B>>2]=a;f[e>>2]=1;e=0}else e=0}else C=40;break}case 101:{C=40;break}default:e=g}b:do if((C|0)==40){if(!l){c=f[y>>2]|0;g=f[c+4>>2]|0;f[g+4>>2]=f[c>>2];f[g+44>>2]=0;g=Mg(g)|0;switch(g|0){case 0:case 101:{m=1;break}default:{e=g;break b}}}else m=l;i=f[y>>2]|0;h=(f[a+8>>2]|0)+1|0;j=f[i+4>>2]|0;f[j+4>>2]=f[i>>2];j=f[j+12>>2]|0;i=f[j+56>>2]|0;j=f[j+72>>2]|0;k=f[j+20>>2]|0;if((d[j+28>>1]&4)!=0?(f[k+24>>2]|0)>>>0>=(f[j+24>>2]|0)>>>0:0){if(f[k+96>>2]|0){r=Ng(j)|0;C=50}}else C=46;do if((C|0)==46){g=f[k+40>>2]|0;if(g|0){e=g;break b}if((f[k+148>>2]|0)>>>0>(f[k+152>>2]|0)>>>0){r=Og(j)|0;C=50;break}else{r=Pg(j)|0;C=50;break}}while(0);if((C|0)==50?r|0:0){e=r;break}b[i+40>>0]=h>>>24;b[i+41>>0]=h>>>16;b[i+42>>0]=h>>>8;b[i+43>>0]=h;g=f[a>>2]|0;if(g|0)Vh(g);c:do if(n){i=f[y>>2]|0;g=f[i+4>>2]|0;l=g+22|0;d[l>>1]=d[l>>1]&-33;h=Li(i,0,0)|0;d:do if(!h){h=g+12|0;j=f[(f[h>>2]|0)+56>>2]|0;k=j+18|0;if(!((b[k>>0]|0)==2?(b[j+19>>0]|0)==2:0)){g=Li(i,2,0)|0;if(g|0){e=g;break}g=f[(f[h>>2]|0)+72>>2]|0;h=f[g+20>>2]|0;if((d[g+28>>1]&4)!=0?(f[h+24>>2]|0)>>>0>=(f[g+24>>2]|0)>>>0:0){if(f[h+96>>2]|0){e=Ng(g)|0;C=66}}else C=62;do if((C|0)==62){e=f[h+40>>2]|0;if(e|0)break d;if((f[h+148>>2]|0)>>>0>(f[h+152>>2]|0)>>>0){e=Og(g)|0;C=66;break}else{e=Pg(g)|0;C=66;break}}while(0);if((C|0)==66?e|0:0)break;b[k>>0]=2;b[j+19>>0]=2}d[l>>1]=d[l>>1]&-33;break c}else e=h;while(0);d[l>>1]=d[l>>1]&-33;break b}while(0);if((u|0)<(s|0)){e=(s|0)/(u|0)|0;e=(m+-1+e|0)/(e|0)|0;g=f[(f[(f[y>>2]|0)+4>>2]|0)+32>>2]|0;e=e+(((e|0)==((1073741824/(g>>>0)|0)+1|0))<<31>>31)|0;n=((u|0)<0)<<31>>31;o=QA(m|0,((m|0)<0)<<31>>31|0,u|0,n|0)|0;p=ba()|0;q=x+60|0;m=f[q>>2]|0;j=f[x+24>>2]|0;if(e>>>0<=j>>>0){k=x+204|0;i=e;e=0;h=1073741824;while(1){if((i|0)!=(((h>>>0)/(g>>>0)|0)+1|0)){e=lb[f[k>>2]&127](x,i,w,0)|0;do if(!e){g=f[w>>2]|0;h=f[g+20>>2]|0;do if((d[g+28>>1]&4)!=0?(f[h+24>>2]|0)>>>0>=(f[g+24>>2]|0)>>>0:0){if(!(f[h+96>>2]|0)){e=0;break}e=Ng(g)|0}else C=79;while(0);do if((C|0)==79){C=0;e=f[h+40>>2]|0;if(!e)if((f[h+148>>2]|0)>>>0>(f[h+152>>2]|0)>>>0){e=Og(g)|0;break}else{e=Pg(g)|0;break}}while(0);g=f[w>>2]|0;if(g)if(!(d[g+28>>1]&32)){bh(g);break}else{a=f[g+20>>2]|0;r=a+120|0;f[r>>2]=(f[r>>2]|0)+-1;a=a+136|0;f[g+16>>2]=f[a>>2];f[a>>2]=g;break}}while(0)}g=i+1|0;h=(e|0)==0;if(g>>>0>j>>>0|h^1)break;i=g;h=1073741824;g=f[(f[(f[y>>2]|0)+4>>2]|0)+32>>2]|0}if(h)C=91}else C=91;if((C|0)==91)e=Bh(x,0,1)|0;k=1073741824+s|0;l=((k|0)<0)<<31>>31;h=(p|0)>(l|0)|(p|0)==(l|0)&o>>>0>k>>>0;k=h?k:o;l=h?l:p;h=1073741824+u|0;i=((h|0)<0)<<31>>31;g=(e|0)==0;if(((l|0)>(i|0)|(l|0)==(i|0)&k>>>0>h>>>0)&g){j=v+204|0;do{f[w>>2]=0;e=OA(h|0,i|0,u|0,n|0)|0;ba()|0;e=lb[f[j>>2]&127](v,e+1|0,w,0)|0;if(!e)e=mb[f[(f[m>>2]|0)+12>>2]&127](m,f[(f[w>>2]|0)+4>>2]|0,u,h,i)|0;g=f[w>>2]|0;do if(g|0)if(!(d[g+28>>1]&32)){bh(g);break}else{s=f[g+20>>2]|0;a=s+120|0;f[a>>2]=(f[a>>2]|0)+-1;s=s+136|0;f[g+16>>2]=f[s>>2];f[s>>2]=g;break}while(0);h=KA(h|0,i|0,u|0,n|0)|0;i=ba()|0;g=(e|0)==0}while(((i|0)<(l|0)|(i|0)==(l|0)&h>>>0>>0)&g)}if(!g)break;e=jb[f[(f[m>>2]|0)+24>>2]&255](m,w)|0;v=f[w+4>>2]|0;if((e|0)==0&((v|0)>(p|0)|((v|0)==(p|0)?(f[w>>2]|0)>>>0>o>>>0:0)))e=kb[f[(f[m>>2]|0)+16>>2]&127](m,o,p)|0;if(e|0)break;e=f[q>>2]|0;g=f[e>>2]|0;if(g|0){e=kb[f[g+40>>2]&127](e,21,0)|0;switch(e|0){case 0:case 12:break;default:break b}}if((b[x+7>>0]|0)==0?(A=f[q>>2]|0,B=b[x+10>>0]|0,B<<24>>24):0){z=jb[f[(f[A>>2]|0)+20>>2]&255](A,B&255)|0;C=111}}else{z=U((u|0)/(s|0)|0,m)|0;f[x+24>>2]=z;z=Bh(x,0,0)|0;C=111}if((C|0)==111?z|0:0){e=z;break}e=Hg(f[y>>2]|0,0)|0;e=(e|0)==0?101:e}while(0);if(D|0){Gg(f[E>>2]|0,0)|0;Hg(f[E>>2]|0,0)|0}E=(e|0)==3082?7:e;f[F>>2]=E;F=E;t=G;return F|0}function Jj(a){a=a|0;var b=0,c=0,d=0;if(!a){d=0;return d|0}d=f[a+20>>2]|0;b=f[a+24>>2]|0;c=f[b+4>>2]|0;f[c+4>>2]=f[b>>2];if(f[a>>2]|0){b=b+16|0;f[b>>2]=(f[b>>2]|0)+-1}if(f[a+40>>2]|0){b=(f[c>>2]|0)+88|0;while(1){c=f[b>>2]|0;if((c|0)==(a|0))break;else b=c+44|0}f[b>>2]=f[a+44>>2]}Uh(f[a+4>>2]|0,0,0);c=f[a+28>>2]|0;c=(c|0)==101?0:c;b=f[a>>2]|0;do if(b|0){f[b+64>>2]=c;if(!c){if(f[b+256>>2]|0)Bg(b,0)}else Bg(b,c);Ii(f[a>>2]|0);if(f[a>>2]|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}}while(0);Ii(d);d=c;return d|0}function Kj(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=t;t=t+224|0;E=O+184|0;D=O+176|0;G=O+168|0;F=O+160|0;C=O+152|0;B=O+144|0;x=O+220|0;y=O+216|0;J=O+192|0;z=O+104|0;e=O;f[y>>2]=0;A=f[a>>2]|0;M=f[A+108>>2]|0;L=J+4|0;f[L>>2]=e;f[J>>2]=0;K=J+8|0;f[K>>2]=100;I=J+12|0;f[I>>2]=M;M=J+16|0;f[M>>2]=0;H=J+20|0;b[H>>0]=0;N=J+21|0;b[N>>0]=0;a:do if((f[A+180>>2]|0)>1){a=b[c>>0]|0;if(a<<24>>24)while(1){e=c+1|0;b:do if(a<<24>>24!=10)do{a=b[e>>0]|0;if(!(a<<24>>24))break b;e=e+1|0}while(a<<24>>24!=10);while(0);a=f[M>>2]|0;g=a+3|0;if(g>>>0<(f[K>>2]|0)>>>0){f[M>>2]=g;G=(f[L>>2]|0)+a|0;b[G>>0]=b[45378]|0;b[G+1>>0]=b[45379]|0;b[G+2>>0]=b[45380]|0}else Ec(J,45378,3);a=e-c|0;g=f[M>>2]|0;i=g+a|0;if(i>>>0<(f[K>>2]|0)>>>0){if(a|0){f[M>>2]=i;YA((f[L>>2]|0)+g|0,c|0,a|0)|0}}else Ec(J,c,a);a=b[e>>0]|0;if(!(a<<24>>24))break;else c=e}}else{if(!(d[a+16>>1]|0)){if(!c)break;a=(wz(c)|0)&1073741823;if(a>>>0>=100){Ec(J,c,a);break}if(!a)break;f[M>>2]=a;YA(e|0,c|0,a|0)|0;break}if(b[c>>0]|0){w=a+116|0;m=a+120|0;n=A+78|0;o=z+32|0;q=z+8|0;r=z+12|0;s=z+16|0;u=z+10|0;v=z+24|0;l=1;do{a=0;e=c;while(1){g=Lj(e,x)|0;if((f[x>>2]|0)==144){k=g;break}a=g+a|0;e=e+g|0;if(!(b[e>>0]|0)){k=0;break}}e=f[M>>2]|0;g=e+a|0;if(g>>>0<(f[K>>2]|0)>>>0){if(a|0){f[M>>2]=g;YA((f[L>>2]|0)+e|0,c|0,a|0)|0}}else Ec(J,c,a);c=c+a|0;if(!k)break a;do if((b[c>>0]|0)==63)if((k|0)>1){Pd(c+1|0,y)|0;a=f[y>>2]|0;break}else{f[y>>2]=l;a=l;break}else{g=f[m>>2]|0;c:do if(!g)a=0;else{i=f[g+4>>2]|0;a=2;while(1){e=g+(a+2<<2)|0;if((Yz(e,c,k)|0)==0?(b[e+k>>0]|0)==0:0)break;a=(f[g+(a+1<<2)>>2]|0)+a|0;if((a|0)>=(i|0)){a=0;break c}}a=f[g+(a<<2)>>2]|0}while(0);f[y>>2]=a}while(0);c=c+k|0;l=a+1|0;k=f[w>>2]|0;i=a+-1|0;a=k+(i*40|0)|0;e=j[k+(i*40|0)+8>>1]|0;do if(!(e&1)){if(e&4|0){g=a;i=f[g+4>>2]|0;k=B;f[k>>2]=f[g>>2];f[k+4>>2]=i;qf(J,41988,B);break}if(e&8|0){p[C>>3]=+p[a>>3];qf(J,41673,C);break}if(e&2|0){a=b[n>>0]|0;if(a<<24>>24==1){g=f[k+(i*40|0)+16>>2]|0;f[G>>2]=f[k+(i*40|0)+12>>2];f[G+4>>2]=g;qf(J,45382,G);break}e=z;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[o>>2]=A;$e(z,f[k+(i*40|0)+16>>2]|0,f[k+(i*40|0)+12>>2]|0,a,0)|0;if(!((d[q>>1]&2)==0|(b[u>>0]|0)==1)?(Ri(z,1)|0)==7:0){b[H>>0]=7;f[K>>2]=0}k=f[s>>2]|0;f[F>>2]=f[r>>2];f[F+4>>2]=k;qf(J,45382,F);if((d[q>>1]&9216)==0&(f[v>>2]|0)==0)break;ff(z);break}if(e&16384|0){f[D>>2]=f[a>>2];qf(J,45389,D);break}a=f[M>>2]|0;e=a+2|0;if(e>>>0<(f[K>>2]|0)>>>0){f[M>>2]=e;g=(f[L>>2]|0)+a|0;b[g>>0]=120;b[g+1>>0]=39}else Ec(J,45402,2);g=f[k+(i*40|0)+12>>2]|0;if((g|0)>0){e=k+(i*40|0)+16|0;a=0;do{f[E>>2]=h[(f[e>>2]|0)+a>>0];qf(J,45405,E);a=a+1|0}while((a|0)!=(g|0))}a=f[M>>2]|0;e=a+1|0;if(e>>>0<(f[K>>2]|0)>>>0){f[M>>2]=e;b[(f[L>>2]|0)+a>>0]=39;break}else{Ec(J,45410,1);break}}else{a=f[M>>2]|0;e=a+4|0;if(e>>>0<(f[K>>2]|0)>>>0){f[M>>2]=e;k=(f[L>>2]|0)+a|0;b[k>>0]=78;b[k+1>>0]=85;b[k+2>>0]=76;b[k+3>>0]=76;break}else{Ec(J,40543,4);break}}while(0)}while((b[c>>0]|0)!=0)}}while(0);if(!(b[H>>0]|0)){a=f[L>>2]|0;if((a|0?(b[a+(f[M>>2]|0)>>0]=0,f[I>>2]|0):0)?(b[N>>0]&4)==0:0){N=Cc(J)|0;t=O;return N|0}}else{if(b[N>>0]&4){a=f[J>>2]|0;e=f[L>>2]|0;do if(e|0){if(a|0){if(f[a+480>>2]|0){Kc(a,e);break}J=e;if((f[a+304>>2]|0)>>>0<=J>>>0?(f[a+308>>2]|0)>>>0>J>>>0:0){J=a+300|0;f[e>>2]=f[J>>2];f[J>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{J=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);b[N>>0]=b[N>>0]&-5}f[K>>2]=0;f[M>>2]=0;f[L>>2]=0}N=f[L>>2]|0;t=O;return N|0}function Lj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0;g=b[a>>0]|0;do switch(b[8112+(g&255)>>0]|0){case 7:{d=1;while(1)if(!(b[5472+(h[a+d>>0]|0)>>0]&1))break;else d=d+1|0;f[c>>2]=172;c=d;return c|0}case 11:{if((b[a+1>>0]|0)!=45){f[c>>2]=97;c=1;return c|0}d=2;a:while(1){switch(b[a+d>>0]|0){case 0:case 10:break a;default:{}}d=d+1|0}f[c>>2]=172;c=d;return c|0}case 17:{f[c>>2]=22;c=1;return c|0}case 18:{f[c>>2]=23;c=1;return c|0}case 19:{f[c>>2]=1;c=1;return c|0}case 20:{f[c>>2]=96;c=1;return c|0}case 21:{f[c>>2]=98;c=1;return c|0}case 16:{if((b[a+1>>0]|0)==42?(d=b[a+2>>0]|0,d<<24>>24):0){e=b[a+3>>0]|0;b:do if(d<<24>>24==42&e<<24>>24==47){e=1;d=3}else{d=3;while(1){if(!(e<<24>>24)){e=0;break b}d=d+1|0;k=e;e=b[a+d>>0]|0;if(k<<24>>24==42&e<<24>>24==47){e=1;break}}}while(0);f[c>>2]=172;c=e+d|0;return c|0}f[c>>2]=99;c=1;return c|0}case 22:{f[c>>2]=100;c=1;return c|0}case 14:{f[c>>2]=53;c=(b[a+1>>0]|0)==61?2:1;return c|0}case 12:switch(b[a+1>>0]|0){case 61:{f[c>>2]=55;c=2;return c|0}case 62:{f[c>>2]=52;c=2;return c|0}case 60:{f[c>>2]=94;c=2;return c|0}default:{f[c>>2]=56;c=1;return c|0}}case 13:switch(b[a+1>>0]|0){case 61:{f[c>>2]=57;c=2;return c|0}case 62:{f[c>>2]=95;c=2;return c|0}default:{f[c>>2]=54;c=1;return c|0}}case 15:if((b[a+1>>0]|0)==61){f[c>>2]=52;c=2;return c|0}else{f[c>>2]=173;c=1;return c|0}case 10:if((b[a+1>>0]|0)==124){f[c>>2]=101;c=2;return c|0}else{f[c>>2]=93;c=1;return c|0}case 23:{f[c>>2]=26;c=1;return c|0}case 24:{f[c>>2]=92;c=1;return c|0}case 25:{f[c>>2]=103;c=1;return c|0}case 8:{e=b[a+1>>0]|0;c:do if(e<<24>>24){d=1;while(1){if(e<<24>>24==g<<24>>24){d=d+1|0;if((b[a+d>>0]|0)!=g<<24>>24)break}d=d+1|0;e=b[a+d>>0]|0;if(!(e<<24>>24))break c}if(g<<24>>24==39){f[c>>2]=106;c=d;return c|0}else{f[c>>2]=59;c=d;return c|0}}else d=1;while(0);f[c>>2]=173;c=d;return c|0}case 26:{if(((h[a+1>>0]|0)+-48|0)>>>0>=10){f[c>>2]=130;c=1;return c|0}break}case 3:break;case 9:{d:do if(g<<24>>24==93){d=1;e=59}else{d=1;while(1){e=b[a+d>>0]|0;if(!(e<<24>>24)){e=173;break d}d=d+1|0;if(e<<24>>24==93){e=59;break}}}while(0);f[c>>2]=e;c=d;return c|0}case 6:{f[c>>2]=144;d=1;while(1)if(((h[a+d>>0]|0)+-48|0)>>>0<10)d=d+1|0;else break;return d|0}case 5:case 4:{f[c>>2]=144;e=b[a+1>>0]|0;if(e<<24>>24){i=0;d=1;while(1){if(!(b[5472+(e&255)>>0]&70)){if((i|0)>0&e<<24>>24==40){k=91;break}if(e<<24>>24!=58){e=i;break}e=d+1|0;if((b[a+e>>0]|0)==58){g=i;d=e}else{e=i;break}}else g=i+1|0;d=d+1|0;e=b[a+d>>0]|0;if(!(e<<24>>24)){e=g;break}else i=g}do if((k|0)==91){while(1){g=d+1|0;e=b[a+g>>0]|0;if(!(e<<24>>24))break;if(e<<24>>24!=41?(b[5472+(e&255)>>0]&1)==0:0)d=g;else{k=94;break}}if((k|0)==94?e<<24>>24==41:0){e=i;d=d+2|0;break}f[c>>2]=173;e=i;d=g}while(0);if(e){c=d;return c|0}}else d=1;f[c>>2]=173;c=d;return c|0}case 1:{d=1;while(1){e=b[a+d>>0]|0;g=d+1|0;if((h[8112+(e&255)>>0]|0)<2)d=g;else break}if(!(b[5472+(e&255)>>0]&70)){f[c>>2]=59;if(d>>>0<=1){c=d;return c|0}e=b[8368+(((h[1232+(h[a>>0]|0)>>0]<<2^d^(h[1232+(h[a+(d+-1)>>0]|0)>>0]|0)*3)>>>0)%127|0)>>0]|0;if(!(e<<24>>24)){c=d;return c|0}e=e&255;e:while(1){g=e+-1|0;f:do if((d|0)==(h[8496+g>>0]|0)){i=8912+(j[8640+(g<<1)>>1]|0)|0;e=0;while(1){if((b[a+e>>0]&-33)<<24>>24!=(b[i+e>>0]|0))break f;e=e+1|0;if(e>>>0>=d>>>0)break e}}while(0);e=b[9536+g>>0]|0;if(!(e<<24>>24)){k=127;break}else e=e&255}if((k|0)==127)return d|0;f[c>>2]=h[9680+g>>0];c=d;return c|0}else{d=g;k=114}break}case 0:{if((b[a+1>>0]|0)==39){f[c>>2]=142;d=2;while(1){e=b[a+d>>0]|0;if(!(b[5472+(e&255)>>0]&8))break;else d=d+1|0}if(e<<24>>24==39&(d&1|0)==0){e=d;d=1}else{f[c>>2]=173;g:while(1){g=b[a+d>>0]|0;switch(g<<24>>24){case 39:case 0:break g;default:{}}d=d+1|0}e=d;d=g<<24>>24!=0&1}c=e+d|0;return c|0}else{d=1;k=114}break}case 2:{d=1;k=114;break}case 28:{f[c>>2]=173;c=0;return c|0}default:{f[c>>2]=173;c=1;return c|0}}while(0);if((k|0)==114){while(1)if(!(b[5472+(h[a+d>>0]|0)>>0]&70))break;else d=d+1|0;f[c>>2]=59;c=d;return c|0}f[c>>2]=143;e=b[a>>0]|0;h:do if(e<<24>>24==48){switch(b[a+1>>0]|0){case 88:case 120:break;default:break h}if(b[5472+(h[a+2>>0]|0)>>0]&8){d=3;while(1)if(!(b[5472+(h[a+d>>0]|0)>>0]&8))break;else d=d+1|0;return d|0}}while(0);if(((e&255)+-48|0)>>>0<10){d=1;while(1){e=b[a+d>>0]|0;if(((e&255)+-48|0)>>>0<10)d=d+1|0;else break}}else d=0;if(e<<24>>24==46){e=d;do e=e+1|0;while(((h[a+e>>0]|0)+-48|0)>>>0<10);f[c>>2]=141;d=e;e=b[a+e>>0]|0}i:do switch(e<<24>>24){case 69:case 101:{g=b[a+(d+1)>>0]|0;if(((g&255)+-48|0)>>>0>=10){switch(g<<24>>24){case 45:case 43:break;default:break i}g=d+2|0;if(((h[a+g>>0]|0)+-48|0)>>>0<10)d=g;else break i}else d=d+2|0;e=d;while(1)if(((h[a+e>>0]|0)+-48|0)>>>0<10)e=e+1|0;else break;f[c>>2]=141;d=e;e=b[a+e>>0]|0;break}default:{}}while(0);if(!(b[5472+(e&255)>>0]&70)){c=d;return c|0}do{f[c>>2]=173;d=d+1|0}while((b[5472+(h[a+d>>0]|0)>>0]&70)!=0);return d|0}function Mj(a){a=a|0;var c=0,e=0,g=0,h=0,i=0;i=t;t=t+32|0;g=i+8|0;e=i;a:do if(a){c=f[a+96>>2]|0;b:do if((c|0)>=-264537850)if((c|0)<1266094736)switch(c|0){case -264537850:break b;default:{h=3;break b}}else switch(c|0){case 1266094736:break b;default:{h=3;break b}}else switch(c|0){case -1607883113:break;default:h=3}while(0);if((h|0)==3){f[e>>2]=43146;Ac(21,43101,e);f[g>>2]=40433;f[g+4>>2]=155123;f[g+8>>2]=40460;Ac(21,40408,g);c=45206;break}if(!(b[a+81>>0]|0)){c=f[a+256>>2]|0;do if(c|0){e=d[c+8>>1]|0;if((e&514)==514?(b[c+10>>0]|0)==1:0)c=f[c+16>>2]|0;else{if(e&1)break;c=Ic(c,1)|0}if(c|0)break a}while(0);c=f[a+64>>2]|0;switch(c|0){case 516:{c=44816;break a}case 100:{c=44794;break a}case 101:{c=44771;break a}default:{c=c&255;if(c>>>0>=29){c=44757;break a}if(!(520028155>>>c&1)){c=44757;break a}c=f[7984+(c<<2)>>2]|0;break a}}}else c=44870}else c=44870;while(0);t=i;return c|0}function Nj(a){a=a|0;var b=0,c=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;g=a+4|0;if(b|0)do{c=b;b=f[b>>2]|0;e=f[g>>2]|0;do if(e){if(f[e+480>>2]|0){Kc(e,c);break}i=c;if((f[e+304>>2]|0)>>>0<=i>>>0?(f[e+308>>2]|0)>>>0>i>>>0:0){i=e+300|0;f[c>>2]=f[i>>2];f[i>>2]=c}else h=9}else h=9;while(0);do if((h|0)==9){h=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0)}while((b|0)!=0);f[a>>2]=0;d[a+24>>1]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+20>>2]=0;d[a+26>>1]=1;b=f[g>>2]|0;if(b|0){if(f[b+480>>2]|0){Kc(b,a);return}i=a;if((f[b+304>>2]|0)>>>0<=i>>>0?(f[b+308>>2]|0)>>>0>i>>>0:0){i=b+300|0;f[a>>2]=f[i>>2];f[i>>2]=a;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{i=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+16|0;e=f[d>>2]|0;g=e+c|0;if(g>>>0>=(f[a+8>>2]|0)>>>0){Ec(a,b,c);return}if(!c)return;f[d>>2]=g;YA((f[a+4>>2]|0)+e|0,b|0,c|0)|0;return}function Pj(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0;o=t;t=t+80|0;l=o;if(!e){t=o;return 0}g=f[e>>2]|0;if(!g){t=o;return 0}n=f[e+8>>2]|0;if(!n){t=o;return 0}k=f[a>>2]|0;i=f[a+4>>2]|0;m=ji(k,g,i)|0;if(!m){t=o;return 0}e=f[e+4>>2]|0;a:do if(e|0){a=b[g>>0]|0;c=(h[1232+(a&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0;if(!(a<<24>>24==0|(c|0)!=0)){a=e;do{g=g+1|0;a=a+1|0;p=b[g>>0]|0;c=(h[1232+(p&255)>>0]|0)-(h[1232+(h[a>>0]|0)>>0]|0)|0}while(!(p<<24>>24==0|(c|0)!=0))}if(!c){c=f[m+8>>2]|0;if(!c)break;while(1){a=c+55|0;a=h[a>>0]|h[a+1>>0]<<8;if((a&3)==2)break;c=f[c+20>>2]|0;if(!c)break a}e=c;g=c+55|0;c=a}else{c=Qj(k,e,i)|0;if(!c)break;p=c+55|0;e=c;g=p;c=h[p>>0]|h[p+1>>0]<<8}p=(j[e+50>>1]|0)+1|0;c=c&-5;b[g>>0]=c;b[g+1>>0]=c>>8;c=e+8|0;Rj(n,p,f[c>>2]|0,e);p=h[g>>0]|h[g+1>>0]<<8|128;b[g>>0]=p;b[g+1>>0]=p>>8;if(f[e+36>>2]|0){t=o;return 0}d[m+44>>1]=d[f[c>>2]>>1]|0;p=m+36|0;f[p>>2]=f[p>>2]|16;t=o;return 0}while(0);p=m+46|0;k=l+48|0;d[k>>1]=d[p>>1]|0;Rj(n,1,m+44|0,l);d[p>>1]=d[k>>1]|0;p=m+36|0;f[p>>2]=f[p>>2]|16;t=o;return 0}function Qj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=f[a+20>>2]|0;if((q|0)<=0){r=0;return r|0}o=f[a+16>>2]|0;if(!d){a=0;while(1){e=Sj((f[o+((a^a>>>0<2)<<4)+12>>2]|0)+24|0,c)|0;if(e|0)break;a=a+1|0;if((a|0)>=(q|0)){p=0;r=15;break}}if((r|0)==15)return p|0;r=e;return r|0}m=b[d>>0]|0;l=h[1232+(m&255)>>0]|0;m=m<<24>>24==0;a=0;k=0;while(1){g=k^k>>>0<2;j=f[o+(g<<4)+12>>2]|0;g=f[o+(g<<4)>>2]|0;e=l-(h[1232+(h[g>>0]|0)>>0]|0)|0;if(!(m|(e|0)!=0)){i=d;do{i=i+1|0;g=g+1|0;s=b[i>>0]|0;e=(h[1232+(s&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(e|0)!=0))}if(!e){n=Sj(j+24|0,c)|0;if(!n)a=n;else break}k=k+1|0;if((k|0)>=(q|0)){p=a;r=15;break}}if((r|0)==15)return p|0;s=n;return s|0} -function Iv(a,c,e,g,i,k,l,m,n){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;aa=t;t=t+16|0;T=aa+8|0;U=aa;$=a+36|0;o=(f[$>>2]|0)==0;do if(o)if((l|0)<0){r=(f[c+16>>2]|0)+((f[a+12>>2]|0)!=0&1)|0;break}else{r=f[c+24+(l*12|0)+4>>2]|0;r=(r|0)<(m|0)?r:m;break}else r=0;while(0);p=2;while(1)if((p|0)<(r|0))p=p<<1;else break;m=(p*88|0)+80+(p<<2)|0;do if(o){_=Fd(m)|0;if(!_){if((m|0)<=0)break;f[$>>2]=7;break}_A(_|0,0,m|0)|0;Y=_+48|0;m=_+24|0;V=_+72|0;C=_+80|0;W=_+52|0;f[W>>2]=p;f[V>>2]=C+(p*88|0);f[m>>2]=a;f[Y>>2]=76;f[n>>2]=_;f[_+56>>2]=e>>>1&1;X=_+60|0;b[X>>0]=e>>>4&1;f[_+28>>2]=c;f[_+44>>2]=g;f[c>>2]=(f[c>>2]|0)+1;do if(!(e&32)){if(!(f[$>>2]|0)){m=f[f[m>>2]>>2]|0;o=f[m+48>>2]|0;if((o|0)==1){f[Y>>2]=70;Q=31;break}if(!g){f[Y>>2]=71;Q=31;break}if(!(f[g>>2]|0)){f[Y>>2]=72;Q=31;break}if(!o){f[Y>>2]=73;Q=31;break}p=f[m+12>>2]|0;if((p|0)>=101){f[Y>>2]=75;Q=31;break}f[Y>>2]=74;g=_+32|0;q=_+40|0;m=f[q>>2]|0;if(m>>>0

>>0){o=(m|0)==0?64:m;while(1)if(o>>>0

>>0)o=o<<1;else break;m=f[g>>2]|0;if((Mc()|0)==0?(s=Nc(m,(o|0)>0?o:0,0)|0,s|0):0){f[q>>2]=o;f[g>>2]=s;Q=31;break}f[$>>2]=7}else Q=31}}else Q=31;while(0);if((Q|0)==31?(f[$>>2]|0)==0:0){if((l|0)<0){B=f[c+20>>2]|0;R=c+24+(B*12|0)|0;m=a+12|0;g=f[m>>2]|0;a:do if(g){b:do if((e&8|0)==0&(i|0)!=0){p=_+84|0;f[p>>2]=f[p>>2]|1;p=f[g+12>>2]|0;if((k|0)>0){o=k;m=13;do{P=o;o=o+-1|0;m=m<<3^m^h[i+o>>0]}while((P|0)>1)}else m=13;m=f[(f[g+20>>2]|0)+(((m>>>0)%(p>>>0)|0)<<2)>>2]|0;if(m|0){s=m;while(1){u=s+40|0;if((Hz(u,i,k)|0)==0?(b[u+k>>0]|0)==0:0)break;m=f[s>>2]|0;if(!m)break b;else s=m}l=s+12|0;p=f[l>>2]|0;if(p|0){do if((f[g>>2]|0)==1){m=s+24|0;if(b[m>>0]|0){o=s+16|0;Q=f[o>>2]|0;f[o>>2]=Q+1;b[s+Q>>0]=0;if(!(b[s+25>>0]|0))break;Q=f[o>>2]|0;f[o>>2]=Q+1;b[s+Q>>0]=0}}else{g=s+16|0;o=(f[g>>2]|0)-p+-1|0;m=s+24|0;q=(o<<1)+(h[m>>0]|0)|0;if((q|0)<128){b[s+p>>0]=q;break}Q=q>>>0<16384;r=Q?2:q>>>0<2097152?3:q>>>0<268435456?4:5;ZA(s+(r+p)|0,s+(p+1)|0,o|0)|0;o=s+(f[l>>2]|0)|0;p=((q|0)<0)<<31>>31;if(Q){Q=VA(q|0,p|0,7)|0;ba()|0;b[o>>0]=Q&255|-128;b[o+1>>0]=q&127}else Zv(o,q,p)|0;f[g>>2]=r+-1+(f[g>>2]|0)}while(0);f[l>>2]=0;b[m>>0]=0;b[s+25>>0]=0}x=k;A=-41-k+(f[s+16>>2]|0)|0;y=i;z=u+(k+1)|0;Q=70}}else{v=fw(g,i,k)|0;f[$>>2]=v;m=f[m>>2]|0;v=f[m+16>>2]|0;if(v|0){s=v+40|0;u=wz(s)|0;l=v+12|0;p=f[l>>2]|0;if(p|0){do if((f[m>>2]|0)==1){m=v+24|0;if((b[m>>0]|0)!=0?(w=v+16|0,Q=f[w>>2]|0,f[w>>2]=Q+1,b[v+Q>>0]=0,(b[v+25>>0]|0)!=0):0){Q=f[w>>2]|0;f[w>>2]=Q+1;b[v+Q>>0]=0}}else{g=v+16|0;o=(f[g>>2]|0)-p+-1|0;m=v+24|0;q=(o<<1)+(h[m>>0]|0)|0;if((q|0)<128){b[v+p>>0]=q;break}Q=q>>>0<16384;r=Q?2:q>>>0<2097152?3:q>>>0<268435456?4:5;ZA(v+(r+p)|0,v+(p+1)|0,o|0)|0;o=v+(f[l>>2]|0)|0;p=((q|0)<0)<<31>>31;if(Q){Q=VA(q|0,p|0,7)|0;ba()|0;b[o>>0]=Q&255|-128;b[o+1>>0]=q&127}else Zv(o,q,p)|0;f[g>>2]=r+-1+(f[g>>2]|0)}while(0);f[l>>2]=0;b[m>>0]=0;b[v+25>>0]=0}A=-41-u+(f[v+16>>2]|0)|0;x=wz(s)|0;y=s;z=s+(u+1)|0;Q=70}}while(0);c:do if((Q|0)==70?(D=z,z|0):0){p=_+140|0;q=_+144|0;f[q>>2]=0;if(x|0){g=_+148|0;m=f[g>>2]|0;d:do if(m>>>0>>0){o=(m|0)==0?64:m;while(1)if(o>>>0>>0)o=o<<1;else break;m=f[p>>2]|0;do if(!(Mc()|0)){m=Nc(m,(o|0)>0?o:0,0)|0;if(!m)break;f[g>>2]=o;f[p>>2]=m;o=f[q>>2]|0;break d}while(0);f[$>>2]=7;m=1;break a}else{m=f[p>>2]|0;o=0}while(0);YA(m+o|0,y|0,x|0)|0;f[q>>2]=(f[q>>2]|0)+x}if(f[$>>2]|0){m=1;break a}e:do if(!(Mc()|0)){do if(!(f[9328]|0)){m=ib[f[37356>>2]&255](12)|0;if(!m)break e}else{m=ib[f[37372>>2]&255](12)|0;if((f[18194]|0)>>>0<12)f[18194]=12;p=71896;o=f[p>>2]|0;p=f[p+4>>2]|0;if((p|0)>0|(p|0)==0&o>>>0>0){P=f[18187]|0;O=LA(o|0,p|0,m|0,((m|0)<0)<<31>>31|0)|0;N=ba()|0;f[17976]=((N|0)<0|(N|0)==0&O>>>0<=P>>>0)&1}m=ib[f[37356>>2]&255](m)|0;if(!m)break e;o=ib[f[37368>>2]&255](m)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}while(0);f[m>>2]=D;f[m+8>>2]=A;P=m+4|0;f[P>>2]=A;f[_+92>>2]=m;O=(yv(z,_+152|0)|0)&255;f[_+100>>2]=O;f[_+120>>2]=f[P>>2];if(!(e&2)){zv(a,C);break c}else{P=_+84|0;f[P>>2]=f[P>>2]|2;Dv(a,C);break c}}while(0);f[$>>2]=7;m=1;break a}while(0);if(f[_+84>>2]&2|0){f[_+104>>2]=204;m=1;break}m=_+104|0;if((f[(f[a>>2]|0)+48>>2]|0)==1){f[m>>2]=205;m=1;break}else{f[m>>2]=206;m=1;break}}else m=0;while(0);if((B|0)>0){N=(i|0)==0;O=e&8;P=a+60|0;L=(e&2|0)!=0;M=(O|0)==0;K=c+24|0;do{o=f[K+4>>2]|0;if((o|0)>0){J=K+8|0;while(1){H=o;o=o+-1|0;u=f[J>>2]|0;s=u+(o*12|0)|0;I=m+1|0;G=_+80+(m*88|0)|0;do if(N){p=u+(o*12|0)+4|0;if(f[p>>2]|0?(f[$>>2]|0)==0:0){g=G;q=g+88|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(q|0));f[_+80+(m*88|0)+24>>2]=(f[(f[a>>2]|0)+48>>2]|0)==1?205:206;f[G>>2]=s;g=_+80+(m*88|0)+8|0;f[g>>2]=(f[p>>2]|0)+-1;v=_+80+(m*88|0)+12|0;p=f[v>>2]|0;do if(p|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{F=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);r=f[g>>2]|0;l=r+1|0;f[g>>2]=l;p=_+80+(m*88|0)+16|0;q=f[p>>2]|0;f:do if(!q){if((r|0)>=(f[u+(o*12|0)+8>>2]|0)){f[v>>2]=0;break}q=WA(f[s>>2]|0,0,37)|0;q=KA(q|0,ba()|0,l|0,((l|0)<0)<<31>>31|0)|0;q=xv(a,q,ba()|0)|0;do if(q|0){p=f[q+8>>2]|0;g=f[q+4>>2]|0;if((p|0)<=(g|0)){f[v>>2]=q;Q=125;break f}f[$>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{F=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}while(0);f[v>>2]=0}else{f[v>>2]=q;f[p>>2]=0;p=f[q+8>>2]|0;g=f[q+4>>2]|0;Q=125}while(0);do if((Q|0)==125){Q=0;u=_+80+(m*88|0)+36|0;f[u>>2]=p;if((p|0)>=(g|0)){f[_+80+(m*88|0)+40>>2]=g+1;break}g=(f[q>>2]|0)+p|0;q=_+80+(m*88|0)+40|0;r=h[g>>0]|0;do if(r&128){l=h[g+1>>0]|0;if(!(l&128)){f[q>>2]=r<<7&16256|l;g=2;break}s=h[g+2>>0]|0;if(!(s&128)){f[q>>2]=(r<<14|s)&2080895|l<<7&16256;g=3;break}else{g=yv(g,U)|0;f[q>>2]=f[U>>2];g=g&255;p=f[u>>2]|0;break}}else{f[q>>2]=r;g=1}while(0);f[u>>2]=p+g}while(0);if(f[$>>2]|0)break;f[_+80+(m*88|0)+20>>2]=4;f[_+80+(m*88|0)+36>>2]=(f[(f[v>>2]|0)+8>>2]|0)+1;_v(a,G,0);zv(a,G)}}else{g=G;q=g+88|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(q|0));f[G>>2]=s;p=f[P>>2]|0;if(!p){g=f[a>>2]|0;p=f[g+8>>2]|0;f[T>>2]=f[g+4>>2];f[T+4>>2]=p;p=wd(67658,T)|0;g=(p|0)==0;do if(!(f[$>>2]|0))if(g){f[$>>2]=7;break}else{Q=Ki(f[f[a>>2]>>2]|0,p,-1,129,0,P,0)|0;f[$>>2]=Q;Q=143;break}else if(!g)Q=143;while(0);do if((Q|0)==143){Q=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{F=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}while(0);p=f[P>>2]|0}if(!(f[$>>2]|0)){g=f[s>>2]|0;q=((g|0)<0)<<31>>31;do if(!(Op(p,1)|0)){r=f[p+116>>2]|0;l=r+8|0;if(!(d[l>>1]&9216)){F=r;f[F>>2]=g;f[F+4>>2]=q;d[l>>1]=4;break}else{bf(r,g,q);break}}while(0);do if(!(Op(p,2)|0)){g=$e((f[p+116>>2]|0)+40|0,i,k,0,0)|0;if(!g)break;q=f[p>>2]|0;f[q+64>>2]=g;Bg(q,g);q=f[p>>2]|0;if(!((g|0)==3082|(b[q+81>>0]|0)!=0))break;Di(q)}while(0);if((Ei(p)|0)==100){c=Ip(p,0)|0;r=c>>1;c=c&1}else{r=1;c=0}do if(p){g=f[p>>2]|0;F=p+128|0;E=f[F+4>>2]|0;if((E|0)>0|(E|0)==0&(f[F>>2]|0)>>>0>0)Hi(g,p);q=fg(p)|0;f[p+20>>2]=770837923;f[p+36>>2]=-1;f[p+40>>2]=0;b[p+142>>0]=2;f[p+44>>2]=0;f[p+32>>2]=1;b[p+143>>0]=-1;f[p+48>>2]=0;F=p+64|0;f[F>>2]=0;f[F+4>>2]=0;if((q|0)==3082|(b[g+81>>0]|0)!=0){Di(g);g=7;break}else{g=f[g+68>>2]&q;break}}else g=0;while(0);f[$>>2]=g;Op(p,2)|0;E=f[u+(o*12|0)+4>>2]|0;e=(r|0)<(E|0);F=_+80+(m*88|0)+8|0;f[F>>2]=(e?E:r)+-1;r=f[G>>2]|0;E=_+80+(m*88|0)+12|0;p=f[E>>2]|0;do if(p|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{D=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);g=f[F>>2]|0;q=g+1|0;f[F>>2]=q;C=_+80+(m*88|0)+16|0;p=f[C>>2]|0;g:do if(!p){if((g|0)>=(f[r+8>>2]|0)){f[E>>2]=0;break}p=WA(f[r>>2]|0,0,37)|0;p=KA(p|0,ba()|0,q|0,((q|0)<0)<<31>>31|0)|0;p=xv(a,p,ba()|0)|0;do if(p|0){g=f[p+8>>2]|0;q=f[p+4>>2]|0;if((g|0)<=(q|0)){f[E>>2]=p;Q=179;break g}f[$>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{D=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}while(0);f[E>>2]=0}else{f[E>>2]=p;f[C>>2]=0;g=f[p+8>>2]|0;q=f[p+4>>2]|0;Q=179}while(0);h:do if((Q|0)==179){Q=0;D=_+80+(m*88|0)+36|0;f[D>>2]=g;i:do if((g|0)<(q|0)){r=(f[p>>2]|0)+g|0;u=_+80+(m*88|0)+40|0;q=h[r>>0]|0;do if(q&128){l=h[r+1>>0]|0;if(!(l&128)){r=2;q=q<<7&16256|l;break}s=h[r+2>>0]|0;if(s&128){B=yv(r,U)|0;f[u>>2]=f[U>>2];p=f[E>>2]|0;f[D>>2]=(f[D>>2]|0)+(B&255);if(!p)break h;else break i}else{r=3;q=(q<<14|s)&2080895|l<<7&16256;break}}else r=1;while(0);f[u>>2]=q;f[D>>2]=r+g}else f[_+80+(m*88|0)+40>>2]=q+1;while(0);z=f[p>>2]|0;l=f[p+8>>2]|0;y=f[p+4>>2]|0;p=z+l|0;g=h[p>>0]|0;do if(g&128){q=h[p+1>>0]|0;if(!(q&128)){p=2;q=g<<7&16256|q;break}r=h[p+2>>0]|0;if(!(r&128)){p=3;q=(g<<14|r)&2080895|q<<7&16256;break}else{p=yv(p,U)|0;p=p&255;q=f[U>>2]|0;break}}else{p=1;q=g}while(0);if((q|0)>(y|0)){f[$>>2]=267;break}g=p+l|0;r=0;p=0;w=q;x=q;j:while(1){q=z+w|0;l=h[q>>0]|0;if(!(l&128))v=w+1|0;else{s=h[q+1>>0]|0;do if(s&128){u=h[q+2>>0]|0;if(!(u&128)){v=3;q=(l<<14|u)&2080895|s<<7&16256;break}else{v=yv(q,U)|0;v=v&255;q=f[U>>2]|0;break}}else{v=2;q=l<<7&16256|s}while(0);l=q;v=v+w|0}if((p|0)<(r|0)){q=0;Q=231;break}do if((p|0)==(r|0)){r=k-p|0;r=(l|0)<(r|0)?l:r;k:do if((r|0)>0){q=0;do{if((b[z+(q+v)>>0]|0)!=(b[i+(q+p)>>0]|0))break k;q=q+1|0}while((q|0)<(r|0))}else q=0;while(0);r=q+p|0;if((r|0)==(k|0)){Q=213;break j}if((q|0)>=(l|0))break;if((h[z+(q+v)>>0]|0)>(h[i+r>>0]|0)){q=0;Q=231;break j}}while(0);if((g|0)>=(y|0)){q=1;Q=231;break}q=z+g|0;p=h[q>>0]|0;do if(p&128){l=h[q+1>>0]|0;if(!(l&128)){q=2;p=p<<7&16256|l;break}s=h[q+2>>0]|0;if(!(s&128)){q=3;p=(p<<14|s)&2080895|l<<7&16256;break}else{q=yv(q,U)|0;q=q&255;p=f[U>>2]|0;break}}else q=1;while(0);g=q+g|0;u=p+x|0;if((u|0)>=(y|0)){Q=222;break}q=z+u|0;p=h[q>>0]|0;if(!(p&128))q=u+1|0;else{l=h[q+1>>0]|0;do if(l&128){s=h[q+2>>0]|0;if(!(s&128)){q=3;p=(p<<14|s)&2080895|l<<7&16256;break}else{q=yv(q,U)|0;q=q&255;p=f[U>>2]|0;break}}else{q=2;p=p<<7&16256|l}while(0);q=q+u|0}w=q;x=u}if((Q|0)==213){Q=0;if((q|0)==(l|0)){s=y;A=x;q=l}else{q=0;Q=231}}else if((Q|0)==222){Q=0;f[$>>2]=267;break}l:do if((Q|0)==231){Q=0;if(M){p=f[E>>2]|0;do if(p|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{D=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);f[E>>2]=0;break h}if(!q){s=y;A=x;q=l;break}u=_+80+(m*88|0)+40|0;while(1){r=f[G>>2]|0;p=f[E>>2]|0;do if(p|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{B=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);g=f[F>>2]|0;q=g+1|0;f[F>>2]=q;p=f[C>>2]|0;if(!p){if((g|0)>=(f[r+8>>2]|0)){Q=246;break}p=WA(f[r>>2]|0,0,37)|0;p=KA(p|0,ba()|0,q|0,((q|0)<0)<<31>>31|0)|0;p=xv(a,p,ba()|0)|0;if(!p)break;g=f[p+8>>2]|0;q=f[p+4>>2]|0;if((g|0)>(q|0)){Q=249;break}f[E>>2]=p}else{f[E>>2]=p;f[C>>2]=0;g=f[p+8>>2]|0;q=f[p+4>>2]|0}f[D>>2]=g;m:do if((g|0)<(q|0)){r=(f[p>>2]|0)+g|0;q=h[r>>0]|0;do if(q&128){l=h[r+1>>0]|0;if(!(l&128)){r=2;q=q<<7&16256|l;break}s=h[r+2>>0]|0;if(s&128){B=yv(r,U)|0;f[u>>2]=f[U>>2];p=f[E>>2]|0;f[D>>2]=(f[D>>2]|0)+(B&255);if(!p)break h;else break m}else{r=3;q=(q<<14|s)&2080895|l<<7&16256;break}}else r=1;while(0);f[u>>2]=q;f[D>>2]=r+g}else f[u>>2]=q+1;while(0);v=f[p>>2]|0;l=f[p+8>>2]|0;if((l|0)<(f[p+4>>2]|0)){p=v+l|0;g=h[p>>0]|0;do if(g&128){q=h[p+1>>0]|0;if(!(q&128)){p=2;w=g<<7&16256|q;break}r=h[p+2>>0]|0;if(!(r&128)){p=3;w=(g<<14|r)&2080895|q<<7&16256;break}else{p=yv(p,U)|0;p=p&255;w=f[U>>2]|0;break}}else{p=1;w=g}while(0);if((w|0)>=4?(S=f[E>>2]|0,(w|0)<(f[S+8>>2]|0)):0){Q=274;break}f[$>>2]=267}}do if((Q|0)==246){Q=0;f[E>>2]=0;break h}else if((Q|0)==249){Q=0;f[$>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{D=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}else if((Q|0)==274){Q=0;g=p+l|0;s=f[S+4>>2]|0;p=v+w|0;q=h[p>>0]|0;do if(q&128){r=h[p+1>>0]|0;if(!(r&128)){u=2;q=q<<7&16256|r;break}l=h[p+2>>0]|0;if(!(l&128)){u=3;q=(q<<14|l)&2080895|r<<7&16256;break}else{u=yv(p,U)|0;u=u&255;q=f[U>>2]|0;break}}else u=1;while(0);z=v;A=w;p=0;v=u+w|0;break l}while(0);f[E>>2]=0;break h}while(0);x=q+v|0;B=_+80+(m*88|0)+20|0;f[B>>2]=x;f[_+80+(m*88|0)+32>>2]=x;f[_+80+(m*88|0)+28>>2]=f[F>>2];x=_+80+(m*88|0)+60|0;y=_+80+(m*88|0)+64|0;f[y>>2]=0;n:do if(p|0){u=_+80+(m*88|0)+68|0;r=f[u>>2]|0;o:do if(r>>>0

>>0){l=(r|0)==0?64:r;while(1)if(l>>>0

>>0)l=l<<1;else break;r=f[x>>2]|0;do if(!(Mc()|0)){r=Nc(r,(l|0)>0?l:0,0)|0;if(!r)break;f[u>>2]=l;f[x>>2]=r;l=f[y>>2]|0;break o}while(0);f[$>>2]=7;break n}else{r=f[x>>2]|0;l=0}while(0);YA(r+l|0,i|0,p|0)|0;f[y>>2]=(f[y>>2]|0)+p}while(0);w=z+v|0;p:do if(q|0){p=f[y>>2]|0;u=p+q|0;v=_+80+(m*88|0)+68|0;r=f[v>>2]|0;q:do if(u>>>0>r>>>0){l=(r|0)==0?64:r;while(1)if(l>>>0>>0)l=l<<1;else break;p=f[x>>2]|0;do if(!(Mc()|0)){r=Nc(p,(l|0)>0?l:0,0)|0;if(!r)break;f[v>>2]=l;f[x>>2]=r;p=f[y>>2]|0;break q}while(0);f[$>>2]=7;break p}else r=f[x>>2]|0;while(0);YA(r+p|0,w|0,q|0)|0;f[y>>2]=(f[y>>2]|0)+q}while(0);if((g|0)<(s|0)){q=z+g|0;p=h[q>>0]|0;do if(p&128){r=h[q+1>>0]|0;if(!(r&128)){q=2;p=p<<7&16256|r;break}l=h[q+2>>0]|0;if(!(l&128)){q=3;p=(p<<14|l)&2080895|r<<7&16256;break}else{q=yv(q,U)|0;q=q&255;p=f[U>>2]|0;break}}else q=1;while(0);f[_+80+(m*88|0)+40>>2]=p+A;g=q+g|0;p=f[E>>2]|0}else{p=f[E>>2]|0;f[_+80+(m*88|0)+40>>2]=(f[p+4>>2]|0)+1}f[D>>2]=g;g=f[B>>2]|0;r:do if((g|0)<(f[p+8>>2]|0))Q=336;else{r=f[G>>2]|0;do if(p|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{A=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);g=f[F>>2]|0;q=g+1|0;f[F>>2]=q;p=f[C>>2]|0;s:do if(!p){do if((g|0)<(f[r+8>>2]|0)){p=WA(f[r>>2]|0,0,37)|0;p=KA(p|0,ba()|0,q|0,((q|0)<0)<<31>>31|0)|0;p=xv(a,p,ba()|0)|0;if(!p)break;g=f[p+8>>2]|0;q=f[p+4>>2]|0;if((g|0)<=(q|0)){f[E>>2]=p;Q=324;break s}f[$>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{D=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}while(0);f[E>>2]=0}else{f[E>>2]=p;f[C>>2]=0;g=f[p+8>>2]|0;q=f[p+4>>2]|0;Q=324}while(0);t:do if((Q|0)==324){Q=0;f[D>>2]=g;if((g|0)>=(q|0)){f[_+80+(m*88|0)+40>>2]=q+1;g=4;Q=336;break r}r=(f[p>>2]|0)+g|0;u=_+80+(m*88|0)+40|0;q=h[r>>0]|0;do if(q&128){l=h[r+1>>0]|0;if(!(l&128)){r=2;q=q<<7&16256|l;break}s=h[r+2>>0]|0;if(s&128){C=yv(r,U)|0;f[u>>2]=f[U>>2];p=f[E>>2]|0;f[D>>2]=(f[D>>2]|0)+(C&255);if(!p)break t;else{g=4;Q=336;break r}}else{r=3;q=(q<<14|s)&2080895|l<<7&16256;break}}else r=1;while(0);f[u>>2]=q;f[D>>2]=r+g;g=4;Q=336;break r}while(0);if(f[$>>2]|0)break;f[$>>2]=267}while(0);if((Q|0)==336){Q=0;D=g+((yv((f[p>>2]|0)+g|0,_+80+(m*88|0)+72|0)|0)&255)|0;f[B>>2]=D}zv(a,G)}while(0);w=_+80+(m*88|0)+4|0;do if(!(f[$>>2]|O)){p=f[w>>2]|0;g=p|1;f[w>>2]=g;r=f[E>>2]|0;if(!r)break;p=p|3;if(L)f[w>>2]=p;else p=g;do if(!((c|0)==0|e)){q=f[f[G>>2]>>2]|0;p=p&2;g=f[_+80+(m*88|0)+28>>2]|0;if((g|0)==(f[F>>2]|0)?(f[_+80+(m*88|0)+40>>2]|0)<(f[r+8>>2]|0):0)break;c=gw(a,p,q,g)|0;f[_+80+(m*88|0)+56>>2]=c}while(0);if(!L)break;p=f[_+80+(m*88|0)+56>>2]|0;u:do if(!p){g=f[E>>2]|0;l=f[F>>2]|0;if((f[_+80+(m*88|0)+28>>2]|0)==(l|0))p=f[_+80+(m*88|0)+32>>2]|0;else p=4;q=f[g>>2]|0;r=p+8|0;do{c=p;p=p+1|0}while((c|0)<(r|0)&(b[q+c>>0]|0)<0);f[_+80+(m*88|0)+20>>2]=p;if((f[_+80+(m*88|0)+40>>2]|0)<(f[g+8>>2]|0))break;u=f[G>>2]|0;v=u+8|0;if(f[$>>2]|0)break;g=0;p=0;while(1){if((l|0)>=(f[v>>2]|0)){q=g;Q=364;break u}l=l+1|0;q=WA(f[u>>2]|0,0,37)|0;q=KA(q|0,ba()|0,l|0,((l|0)<0)<<31>>31|0)|0;q=xv(a,q,ba()|0)|0;if(q){Q=f[q>>2]|0;r=(f[q+8>>2]|0)<(f[q+4>>2]|0);Q=(h[Q>>0]<<8|h[Q+1>>0]|0)==0;s=Q?q:g;p=Q?p:l;g=Q?g:q;do if(s|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{Q=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}while(0);if(r){q=g;Q=364;break u}}if(f[$>>2]|0){q=g;Q=364;break}}}else{p=f[p+24>>2]|0;q=WA(f[f[G>>2]>>2]|0,0,37)|0;q=KA(q|0,ba()|0,p|0,((p|0)<0)<<31>>31|0)|0;q=xv(a,q,ba()|0)|0;Q=364}while(0);do if((Q|0)==364){Q=0;if(!q)break;g=f[E>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{c=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[E>>2]=q;f[F>>2]=p;g=f[q>>2]|0;p=h[g>>0]<<8|h[g+1>>0];p=p+((yv(g+p|0,_+80+(m*88|0)+72|0)|0)&255)|0;f[_+80+(m*88|0)+20>>2]=p;p=f[q+8>>2]|0;g=f[q+4>>2]|0;if((p|0)>=(g|0)){f[_+80+(m*88|0)+40>>2]=g+1;break}g=(f[q>>2]|0)+p|0;p=h[g>>0]|0;do if(p&128){q=h[g+1>>0]|0;if(!(q&128)){p=p<<7&16256|q;break}r=h[g+2>>0]|0;if(!(r&128)){p=(p<<14|r)&2080895|q<<7&16256;break}else{yv(g,U)|0;p=f[U>>2]|0;break}}while(0);f[_+80+(m*88|0)+40>>2]=p}while(0);Dv(a,G)}while(0);if(f[w>>2]&2|0){f[_+80+(m*88|0)+24>>2]=204;break}m=_+80+(m*88|0)+24|0;if((f[(f[a>>2]|0)+48>>2]|0)==1){f[m>>2]=205;break}else{f[m>>2]=206;break}}}while(0);if((H|0)<=1){m=I;break}else m=I}}K=K+12|0}while(K>>>0>>0)}}else if((r|0)>0){z=c+24+(l*12|0)+8|0;u=r;w=0;do{v=u;u=u+-1|0;r=f[z>>2]|0;l=r+(u*12|0)|0;x=w;w=w+1|0;y=_+80+(x*88|0)|0;m=r+(u*12|0)+4|0;if(f[m>>2]|0?(f[$>>2]|0)==0:0){g=y;q=g+88|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(q|0));f[_+80+(x*88|0)+24>>2]=(f[(f[a>>2]|0)+48>>2]|0)==1?205:206;f[y>>2]=l;o=_+80+(x*88|0)+8|0;f[o>>2]=(f[m>>2]|0)+-1;s=_+80+(x*88|0)+12|0;m=f[s>>2]|0;do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{T=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);g=f[o>>2]|0;q=g+1|0;f[o>>2]=q;m=_+80+(x*88|0)+16|0;p=f[m>>2]|0;v:do if(!p){if((g|0)>=(f[r+(u*12|0)+8>>2]|0)){f[s>>2]=0;break}p=WA(f[l>>2]|0,0,37)|0;p=KA(p|0,ba()|0,q|0,((q|0)<0)<<31>>31|0)|0;p=xv(a,p,ba()|0)|0;do if(p|0){m=f[p+8>>2]|0;o=f[p+4>>2]|0;if((m|0)<=(o|0)){f[s>>2]=p;Q=405;break v}f[$>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{T=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}while(0);f[s>>2]=0}else{f[s>>2]=p;f[m>>2]=0;m=f[p+8>>2]|0;o=f[p+4>>2]|0;Q=405}while(0);do if((Q|0)==405){Q=0;l=_+80+(x*88|0)+36|0;f[l>>2]=m;if((m|0)>=(o|0)){f[_+80+(x*88|0)+40>>2]=o+1;break}o=(f[p>>2]|0)+m|0;p=_+80+(x*88|0)+40|0;g=h[o>>0]|0;do if(g&128){q=h[o+1>>0]|0;if(!(q&128)){f[p>>2]=g<<7&16256|q;o=2;break}r=h[o+2>>0]|0;if(!(r&128)){f[p>>2]=(g<<14|r)&2080895|q<<7&16256;o=3;break}else{o=yv(o,U)|0;f[p>>2]=f[U>>2];o=o&255;m=f[l>>2]|0;break}}else{f[p>>2]=g;o=1}while(0);f[l>>2]=m+o}while(0);if(!(f[$>>2]|0)){f[_+80+(x*88|0)+20>>2]=4;f[_+80+(x*88|0)+36>>2]=(f[(f[s>>2]|0)+8>>2]|0)+1;_v(a,y,0);zv(a,y)}}}while((v|0)>1)}if(!(f[$>>2]|0)){m=f[W>>2]|0;if((m|0)>1)do{g=m;m=m+-1|0;o=Cv(_,m)|0;w:do if((o|0?(f[$>>2]|0)==0:0)?(qb[f[_+80+(o*88|0)+24>>2]&255](a,_+80+(o*88|0)|0,0),Z=((f[W>>2]|0)+o|0)/2|0,(Z|0)>=(m|0)):0){o=Z;do{if(f[$>>2]|0)break w;p=Cv(_,o)|0;if(p){qb[f[_+80+(p*88|0)+24>>2]&255](a,_+80+(p*88|0)|0,0);o=(f[W>>2]|0)+p|0}o=(o|0)/2|0}while((o|0)>=(m|0))}while(0)}while((g|0)>2);m=j[(f[V>>2]|0)+4>>1]|0;o=(f[_+80+(m*88|0)+12>>2]|0)==0;b[_+16>>0]=o&1;V=_+80+(m*88|0)+72|0;W=f[V+4>>2]|0;Z=_+64|0;f[Z>>2]=f[V>>2];f[Z+4>>2]=W;if((b[X>>0]|0)!=0?(f[$>>2]|0)==0:0){if(o){t=aa;return}if(!(f[_+80+(m*88|0)+80>>2]|0)){vv(a,_,0,0,0);t=aa;return}}else Q=435;if((Q|0)==435?o:0){t=aa;return}pb[f[Y>>2]&127](_,_+80+(m*88|0)|0);t=aa;return}}Tv(_);f[n>>2]=0;t=aa;return}while(0);f[n>>2]=0;t=aa;return}function Jv(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=a+36|0;l=g+4|0;a=f[l>>2]|0;i=a+9|0;k=g+8|0;e=f[k>>2]|0;do if(i>>>0>e>>>0){e=(e|0)==0?64:e;while(1)if(e>>>0>>0)e=e<<1;else break;a=f[g>>2]|0;if((Mc()|0)==0?(h=Nc(a,(e|0)>0?e:0,0)|0,h|0):0){f[k>>2]=e;f[g>>2]=h;a=f[l>>2]|0;break}f[j>>2]=7;return}else h=f[g>>2]|0;while(0);a=h+a|0;do if(!(d>>>0<0|(d|0)==0&c>>>0<128))if(d>>>0<0|(d|0)==0&c>>>0<16384){d=VA(c|0,d|0,7)|0;ba()|0;b[a>>0]=d&255|-128;b[a+1>>0]=c&127;a=2;break}else{a=Zv(a,c,d)|0;break}else{b[a>>0]=c&127;a=1}while(0);f[l>>2]=(f[l>>2]|0)+a;return}function Kv(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=f[e+12>>2]|0;l=a+36|0;if(f[l>>2]|0)return;m=g+4|0;a=f[m>>2]|0;j=n+18+a|0;k=g+8|0;i=f[k>>2]|0;do if(j>>>0>i>>>0){i=(i|0)==0?64:i;while(1)if(i>>>0>>0)i=i<<1;else break;a=f[g>>2]|0;if((Mc()|0)==0?(h=Nc(a,(i|0)>0?i:0,0)|0,h|0):0){f[k>>2]=i;f[g>>2]=h;j=g;a=f[m>>2]|0;break}f[l>>2]=7;return}else{j=g;h=f[g>>2]|0}while(0);a=h+a|0;do if(!(d>>>0<0|(d|0)==0&c>>>0<128))if(d>>>0<0|(d|0)==0&c>>>0<16384){d=VA(c|0,d|0,7)|0;ba()|0;b[a>>0]=d&255|-128;b[a+1>>0]=c&127;a=2;break}else{a=Zv(a,c,d)|0;break}else{b[a>>0]=c&127;a=1}while(0);a=(f[m>>2]|0)+a|0;f[m>>2]=a;a=(f[j>>2]|0)+a|0;h=n<<1;i=((h|0)<0)<<31>>31;do if(h>>>0>=128)if(h>>>0<16384){d=VA(h|0,i|0,7)|0;ba()|0;b[a>>0]=d&255|-128;b[a+1>>0]=h&127;a=2;break}else{a=Zv(a,h,i)|0;break}else{b[a>>0]=h&127;a=1}while(0);d=(f[m>>2]|0)+a|0;f[m>>2]=d;YA((f[j>>2]|0)+d|0,f[e+8>>2]|0,n|0)|0;f[m>>2]=(f[m>>2]|0)+n;return}function Lv(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;y=t;t=t+16|0;w=y;h=a+36|0;x=c+4|0;u=d+4|0;a=(f[u>>2]|0)+(f[x>>2]|0)|0;do if(!a){v=0;s=0}else{e=64;while(1)if(e>>>0>>0)e=e<<1;else break;if((Mc()|0)==0?(g=Nc(0,(e|0)>0?e:0,0)|0,g|0):0){v=g;s=e;break}f[h>>2]=7;t=y;return}while(0);if(f[h>>2]|0){t=y;return}if((f[x>>2]|0)>0){e=(yv(f[c>>2]|0,w)|0)&255;g=w;i=f[g>>2]|0;g=f[g+4>>2]|0}else{e=-1;i=0;g=0}if((f[u>>2]|0)>0){a=(yv(f[d>>2]|0,w)|0)&255;h=w;j=f[h>>2]|0;h=f[h+4>>2]|0}else{a=-1;j=0;h=0}if((a&e|0)>-1){o=e;e=0;r=g;p=i;q=j;i=0;g=0;while(1){k=(o|0)>-1;if(k?(a|0)<0|((r|0)<(h|0)|(r|0)==(h|0)&p>>>0>>0):0){j=v+e|0;g=LA(p|0,r|0,i|0,g|0)|0;i=ba()|0;do if(!(i>>>0<0|(i|0)==0&g>>>0<128))if(i>>>0<0|(i|0)==0&g>>>0<16384){n=VA(g|0,i|0,7)|0;ba()|0;b[j>>0]=n&255|-128;b[j+1>>0]=g&127;g=2;break}else{g=Zv(j,g,i)|0;break}else{b[j>>0]=g&127;g=1}while(0);e=g+e|0;if((o|0)<(f[x>>2]|0)){g=o+((yv((f[c>>2]|0)+o|0,w)|0)&255)|0;i=w;i=KA(f[i>>2]|0,f[i+4>>2]|0,p|0,r|0)|0;j=ba()|0;k=q;l=h;m=p;n=r}else{g=-1;i=p;j=r;k=q;l=h;m=p;n=r}}else{j=v+e|0;g=LA(q|0,h|0,i|0,g|0)|0;i=ba()|0;do if(!(i>>>0<0|(i|0)==0&g>>>0<128))if(i>>>0<0|(i|0)==0&g>>>0<16384){n=VA(g|0,i|0,7)|0;ba()|0;b[j>>0]=n&255|-128;b[j+1>>0]=g&127;g=2;break}else{g=Zv(j,g,i)|0;break}else{b[j>>0]=g&127;g=1}while(0);e=g+e|0;if(k&((p|0)==(q|0)&(r|0)==(h|0)))if((o|0)<(f[x>>2]|0)){g=o+((yv((f[c>>2]|0)+o|0,w)|0)&255)|0;i=w;i=KA(f[i>>2]|0,f[i+4>>2]|0,q|0,h|0)|0;j=ba()|0}else{g=-1;i=q;j=h}else{g=o;i=p;j=r}if((a|0)<(f[u>>2]|0)){a=a+((yv((f[d>>2]|0)+a|0,w)|0)&255)|0;k=w;k=KA(f[k>>2]|0,f[k+4>>2]|0,q|0,h|0)|0;l=ba()|0;m=q;n=h}else{a=-1;k=q;l=h;m=q;n=h}}if((a&g|0)>-1){o=g;r=j;h=l;p=i;q=k;i=m;g=n}else{g=c;break}}}else{g=c;e=0}a=f[g>>2]|0;f[g>>2]=v;f[x>>2]=e;f[c+8>>2]=s;if(!a){t=y;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);t=y;return}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);t=y;return}}function Mv(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=t;t=t+48|0;D=O+24|0;E=O+16|0;F=O+8|0;G=O;H=O+36|0;I=O+32|0;m=d+4|0;g=f[m>>2]|0;if(!g){t=O;return}M=a+36|0;N=c+4|0;a=f[N>>2]|0;g=g+9+a|0;do if(!g)L=0;else{a=64;while(1)if(a>>>0>>0)a=a<<1;else break;if((Mc()|0)==0?(i=Nc(0,(a|0)>0?a:0,0)|0,i|0):0){L=i;a=f[N>>2]|0;break}f[M>>2]=7;t=O;return}while(0);g=f[c>>2]|0;C=g+a|0;K=C;if((a|0)>0){k=g+((yv(g,E)|0)&255)|0;n=E;o=f[n>>2]|0;n=f[n+4>>2]|0;a=h[k>>0]|0;if(!(a&128)){a=a>>>1;g=1}else{i=h[k+1>>0]|0;do if(i&128){j=h[k+2>>0]|0;if(!(j&128)){g=3;a=(a<<14|j)&2080895|i<<7&16256;break}else{g=yv(k,D)|0;g=g&255;a=f[D>>2]|0;break}}else{g=2;a=a<<7&16256|i}while(0);a=a>>1}l=k}else{l=0;a=0;g=0;o=0;n=0}i=f[d>>2]|0;A=f[m>>2]|0;B=i+A|0;J=B;if((A|0)>0){q=i+((yv(i,E)|0)&255)|0;d=E;m=f[d>>2]|0;d=f[d+4>>2]|0;j=h[q>>0]|0;if(!(j&128)){j=j>>>1;k=1}else{p=h[q+1>>0]|0;do if(p&128){i=h[q+2>>0]|0;if(!(i&128)){k=3;i=(j<<14|i)&2080895|p<<7&16256;break}else{k=yv(q,D)|0;k=k&255;i=f[D>>2]|0;break}}else{k=2;i=j<<7&16256|p}while(0);j=i>>1}i=q;p=j;s=k}else{i=0;p=0;s=0;m=0;d=0}k=0;j=0;u=a;v=g;y=0;g=0;a=0;a:while(1){q=g;r=a;a=n;g=o;b:while(1){A=p;o=s;x=d;w=m;m=q;d=r;while(1){if((a|0)<(x|0)|(a|0)==(x|0)&g>>>0>>0)break;if((w|0)==(g|0)&(x|0)==(a|0))break b;n=L+j|0;d=LA(w|0,x|0,m|0,d|0)|0;m=ba()|0;do if(!(m>>>0<0|(m|0)==0&d>>>0<128))if(m>>>0<0|(m|0)==0&d>>>0<16384){z=VA(d|0,m|0,7)|0;ba()|0;b[n>>0]=z&255|-128;b[n+1>>0]=d&127;d=2;break}else{d=Zv(n,d,m)|0;break}else{b[n>>0]=d&127;d=1}while(0);z=d+j|0;j=A+o|0;YA(L+z|0,i|0,j|0)|0;j=z+j|0;i=i+o+A|0;if(i>>>0>=B>>>0){p=l;i=0;m=w;d=x;o=g;n=a;g=w;a=x;r=192;break a}i=i+((yv(i,E)|0)&255)|0;m=E;m=KA(f[m>>2]|0,f[m+4>>2]|0,w|0,x|0)|0;d=ba()|0;n=h[i>>0]|0;if(!(n&128)){n=n>>>1;o=1}else{o=h[i+1>>0]|0;do if(o&128){p=h[i+2>>0]|0;if(!(p&128)){q=3;n=(n<<14|p)&2080895|o<<7&16256;break}else{q=yv(i,D)|0;q=q&255;n=f[D>>2]|0;break}}else{q=2;n=n<<7&16256|o}while(0);n=n>>1;o=q}if(!i){p=l;i=0;o=g;n=a;g=w;a=x;r=192;break a}else{s=x;z=w;A=n;x=d;w=m;d=s;m=z}}n=L+j|0;d=LA(g|0,a|0,m|0,d|0)|0;m=ba()|0;do if(!(m>>>0<0|(m|0)==0&d>>>0<128))if(m>>>0<0|(m|0)==0&d>>>0<16384){z=VA(d|0,m|0,7)|0;ba()|0;b[n>>0]=z&255|-128;b[n+1>>0]=d&127;d=2;break}else{d=Zv(n,d,m)|0;break}else{b[n>>0]=d&127;d=1}while(0);z=d+j|0;j=u+v|0;YA(L+z|0,l|0,j|0)|0;j=z+j|0;l=l+v+u|0;if(l>>>0>=C>>>0){n=i;m=w;d=x;r=199;break a}l=l+((yv(l,E)|0)&255)|0;q=E;q=KA(f[q>>2]|0,f[q+4>>2]|0,g|0,a|0)|0;r=ba()|0;d=h[l>>0]|0;if(!(d&128)){d=d>>>1;m=1}else{m=h[l+1>>0]|0;do if(m&128){n=h[l+2>>0]|0;if(!(n&128)){p=3;d=(d<<14|n)&2080895|m<<7&16256;break}else{p=yv(l,D)|0;p=p&255;d=f[D>>2]|0;break}}else{p=2;d=d<<7&16256|m}while(0);d=d>>1;m=p}if(!l){n=i;m=w;d=x;r=199;break a}else{n=a;z=g;u=d;p=A;v=m;s=o;m=w;d=x;a=r;g=q;r=n;q=z}}x=F;f[x>>2]=0;f[x+4>>2]=0;x=G;f[x>>2]=0;f[x+4>>2]=0;f[H>>2]=0;f[I>>2]=0;x=l+v|0;z=i+o|0;n=L+j|0;d=LA(g|0,a|0,m|0,d|0)|0;m=ba()|0;do if(!(m>>>0<0|(m|0)==0&d>>>0<128))if(m>>>0<0|(m|0)==0&d>>>0<16384){w=VA(d|0,m|0,7)|0;ba()|0;b[n>>0]=w&255|-128;b[n+1>>0]=d&127;d=2;break}else{d=Zv(n,d,m)|0;break}else{b[n>>0]=d&127;d=1}while(0);j=d+j|0;d=A+u|0;if(y>>>0>>0){m=(y|0)==0?64:y;while(1)if(m>>>0>>0)m=m<<1;else break;if(Mc()|0){r=74;break}d=Nc(k,(m|0)>0?m:0,0)|0;if(!d){r=74;break}else{k=d;y=m}}if(f[M>>2]|0){o=g;n=a;m=g;d=a;r=190;break}uv(x,u,H,F)|0;uv(z,A,I,G)|0;q=F;o=f[q>>2]|0;q=f[q+4>>2]|0;r=G;p=f[r>>2]|0;r=f[r+4>>2]|0;if((q|0)<(r|0)|(q|0)==(r|0)&o>>>0

>>0){m=q&2147483647;if(0==0&(m|0)==0){n=0;l=0;i=0}else{b[k>>0]=1;i=k+1|0;l=UA(o|0,q|0,32)|0;d=ba()|0;do if(!(d>>>0<0|(d|0)==0&l>>>0<128))if(d>>>0<0|(d|0)==0&l>>>0<16384){w=VA(l|0,d|0,7)|0;ba()|0;b[i>>0]=w&255|-128;b[k+2>>0]=l&127;i=2;break}else{i=Zv(i,l,d)|0;break}else{b[i>>0]=l&127;i=1}while(0);n=i+1|0;l=0;i=m}d=k+n|0;w=KA(o|0,q|0,2,0)|0;i=LA(w|0,ba()|0,l|0,i|0)|0;l=ba()|0;do if(!(l>>>0<0|(l|0)==0&i>>>0<128))if(l>>>0<0|(l|0)==0&i>>>0<16384){w=VA(i|0,l|0,7)|0;ba()|0;b[d>>0]=w&255|-128;b[d+1>>0]=i&127;i=2;break}else{i=Zv(d,i,l)|0;break}else{b[d>>0]=i&127;i=1}while(0);uv(x,u,H,F)|0;i=i+n|0;d=o;l=q}else{m=r&2147483647;if(0==0&(m|0)==0){n=0;l=0;i=0}else{b[k>>0]=1;i=k+1|0;l=UA(p|0,r|0,32)|0;d=ba()|0;do if(!(d>>>0<0|(d|0)==0&l>>>0<128))if(d>>>0<0|(d|0)==0&l>>>0<16384){w=VA(l|0,d|0,7)|0;ba()|0;b[i>>0]=w&255|-128;b[k+2>>0]=l&127;i=2;break}else{i=Zv(i,l,d)|0;break}else{b[i>>0]=l&127;i=1}while(0);n=i+1|0;l=0;i=m}d=k+n|0;w=KA(p|0,r|0,2,0)|0;i=LA(w|0,ba()|0,l|0,i|0)|0;l=ba()|0;do if(!(l>>>0<0|(l|0)==0&i>>>0<128))if(l>>>0<0|(l|0)==0&i>>>0<16384){w=VA(i|0,l|0,7)|0;ba()|0;b[d>>0]=w&255|-128;b[d+1>>0]=i&127;i=2;break}else{i=Zv(d,i,l)|0;break}else{b[d>>0]=i&127;i=1}while(0);uv(z,A,I,G)|0;i=i+n|0;d=p;l=r}m=F;p=f[m>>2]|0;m=f[m+4>>2]|0;n=G;o=f[n>>2]|0;n=f[n+4>>2]|0;w=n|m;c:do if((w|0)>-1|(w|0)==-1&(o|p)>>>0>4294967295){s=m;w=n;r=o;while(1){if((s|0)<(w|0)|(s|0)==(w|0)&p>>>0>>0){if(!((p|0)==(d|0)&(s|0)==(l|0))){n=s&2147483647;if(!(0==0&(n|0)==(l&2147483647|0))){m=i+1|0;b[k+i>>0]=1;i=k+m|0;l=UA(p|0,s|0,32)|0;d=ba()|0;do if(!(d>>>0<0|(d|0)==0&l>>>0<128))if(d>>>0<0|(d|0)==0&l>>>0<16384){w=VA(l|0,d|0,7)|0;ba()|0;b[i>>0]=w&255|-128;b[i+1>>0]=l&127;i=2;break}else{i=Zv(i,l,d)|0;break}else{b[i>>0]=l&127;i=1}while(0);i=i+m|0;d=0;l=n}m=k+i|0;w=KA(p|0,s|0,2,0)|0;l=LA(w|0,ba()|0,d|0,l|0)|0;d=ba()|0;do if(!(d>>>0<0|(d|0)==0&l>>>0<128))if(d>>>0<0|(d|0)==0&l>>>0<16384){w=VA(l|0,d|0,7)|0;ba()|0;b[m>>0]=w&255|-128;b[m+1>>0]=l&127;l=2;break}else{l=Zv(m,l,d)|0;break}else{b[m>>0]=l&127;l=1}while(0);i=l+i|0}uv(x,u,H,F)|0;l=F;d=f[l+4>>2]|0;n=G;m=f[n>>2]|0;n=f[n+4>>2]|0;if((d|0)<0){d=p;l=s;q=m;r=151;break c}else{q=m;o=f[l>>2]|0;m=d;d=p;l=s}}else{n=w&2147483647;if(!(0==0&(n|0)==(l&2147483647|0))){m=i+1|0;b[k+i>>0]=1;i=k+m|0;l=UA(r|0,w|0,32)|0;d=ba()|0;do if(!(d>>>0<0|(d|0)==0&l>>>0<128))if(d>>>0<0|(d|0)==0&l>>>0<16384){s=VA(l|0,d|0,7)|0;ba()|0;b[i>>0]=s&255|-128;b[i+1>>0]=l&127;i=2;break}else{i=Zv(i,l,d)|0;break}else{b[i>>0]=l&127;i=1}while(0);i=i+m|0;d=0;l=n}m=k+i|0;s=KA(r|0,w|0,2,0)|0;l=LA(s|0,ba()|0,d|0,l|0)|0;d=ba()|0;do if(!(d>>>0<0|(d|0)==0&l>>>0<128))if(d>>>0<0|(d|0)==0&l>>>0<16384){s=VA(l|0,d|0,7)|0;ba()|0;b[m>>0]=s&255|-128;b[m+1>>0]=l&127;l=2;break}else{l=Zv(m,l,d)|0;break}else{b[m>>0]=l&127;l=1}while(0);i=l+i|0;uv(z,A,I,G)|0;n=G;l=f[n>>2]|0;n=f[n+4>>2]|0;m=F;p=f[m>>2]|0;m=f[m+4>>2]|0;if((n|0)<0){o=l;q=m;d=r;l=w;r=135;break c}else{q=l;o=p;d=r;l=w}}s=m;w=n;p=o;r=q}}else{q=m;r=135}while(0);if((r|0)==135){r=0;if((q|0)>-1|(q|0)==-1&p>>>0>4294967295){if(!((p|0)==(d|0)&(q|0)==(l|0))){m=q&2147483647;if(!(0==0&(m|0)==(l&2147483647|0))){l=i+1|0;b[k+i>>0]=1;i=k+l|0;do if(!(q>>>0<128|(q|0)==128&p>>>0<0))if(q>>>0<16384|(q|0)==16384&p>>>0<0){w=VA(p|0,q|0,39)|0;ba()|0;b[i>>0]=w&255|-128;b[i+1>>0]=q&127;i=2;break}else{i=Zv(i,q,0)|0;break}else{b[i>>0]=q&127;i=1}while(0);i=i+l|0;d=0;l=m}m=k+i|0;w=KA(p|0,q|0,2,0)|0;l=LA(w|0,ba()|0,d|0,l|0)|0;d=ba()|0;do if(!(d>>>0<0|(d|0)==0&l>>>0<128))if(d>>>0<0|(d|0)==0&l>>>0<16384){w=VA(l|0,d|0,7)|0;ba()|0;b[m>>0]=w&255|-128;b[m+1>>0]=l&127;l=2;break}else{l=Zv(m,l,d)|0;break}else{b[m>>0]=l&127;l=1}while(0);i=l+i|0}l=f[H>>2]|0;YA(k+i|0,x+l|0,u-l|0)|0;i=i+u|0}else{q=o;r=151}}if((r|0)==151){p=n&2147483647;if(0==0&(p|0)==(l&2147483647|0))o=i;else{m=i+1|0;b[k+i>>0]=1;i=k+m|0;l=UA(q|0,n|0,32)|0;d=ba()|0;do if(!(d>>>0<0|(d|0)==0&l>>>0<128))if(d>>>0<0|(d|0)==0&l>>>0<16384){w=VA(l|0,d|0,7)|0;ba()|0;b[i>>0]=w&255|-128;b[i+1>>0]=l&127;i=2;break}else{i=Zv(i,l,d)|0;break}else{b[i>>0]=l&127;i=1}while(0);o=i+m|0;d=0;l=p}m=k+o|0;i=KA(q|0,n|0,2,0)|0;i=LA(i|0,ba()|0,d|0,l|0)|0;l=ba()|0;do if(!(l>>>0<0|(l|0)==0&i>>>0<128))if(l>>>0<0|(l|0)==0&i>>>0<16384){w=VA(i|0,l|0,7)|0;ba()|0;b[m>>0]=w&255|-128;b[m+1>>0]=i&127;i=2;break}else{i=Zv(m,i,l)|0;break}else{b[m>>0]=i&127;i=1}while(0);i=i+o|0;l=f[I>>2]|0;YA(k+i|0,z+l|0,A-l|0)|0;i=i+A|0}m=i-l|0;i=L+j|0;l=m<<1;d=((l|0)<0)<<31>>31;do if(l>>>0>=128)if(l>>>0<16384){w=VA(l|0,d|0,7)|0;ba()|0;b[i>>0]=w&255|-128;b[i+1>>0]=l&127;i=2;break}else{i=Zv(i,l,d)|0;break}else{b[i>>0]=l&127;i=1}while(0);j=i+j|0;YA(L+j|0,k|0,m|0)|0;j=j+m|0;i=x+u|0;if(i>>>0>>0){l=i+((yv(i,E)|0)&255)|0;o=E;o=KA(f[o>>2]|0,f[o+4>>2]|0,g|0,a|0)|0;n=ba()|0;i=h[l>>0]|0;if(!(i&128)){i=i>>>1;d=1}else{m=h[l+1>>0]|0;do if(m&128){p=h[l+2>>0]|0;if(!(p&128)){d=3;i=(i<<14|p)&2080895|m<<7&16256;break}else{d=yv(l,D)|0;d=d&255;i=f[D>>2]|0;break}}else{d=2;i=i<<7&16256|m}while(0);i=i>>1}u=i;v=d}else{l=0;o=g;n=a}i=z+A|0;if(i>>>0>=B>>>0){i=0;m=g;d=a;r=190;break}i=i+((yv(i,E)|0)&255)|0;m=E;m=KA(f[m>>2]|0,f[m+4>>2]|0,g|0,a|0)|0;d=ba()|0;p=h[i>>0]|0;if(!(p&128)){p=p>>>1;s=1}else{q=h[i+1>>0]|0;do if(q&128){r=h[i+2>>0]|0;if(!(r&128)){s=3;p=(p<<14|r)&2080895|q<<7&16256;break}else{s=yv(i,D)|0;s=s&255;p=f[D>>2]|0;break}}else{s=2;p=p<<7&16256|q}while(0);p=p>>1}if((l|0)==0|(i|0)==0){r=189;break}}if((r|0)==74){f[M>>2]=7;o=g;n=a;m=g;d=a;r=190}else if((r|0)==189)r=190;if((r|0)==190){p=l;r=192}if((r|0)==192){l=p;if(!p){n=i;r=199}else{i=L+j|0;a=LA(o|0,n|0,g|0,a|0)|0;g=ba()|0;do if(!(g>>>0<0|(g|0)==0&a>>>0<128))if(g>>>0<0|(g|0)==0&a>>>0<16384){J=VA(a|0,g|0,7)|0;ba()|0;b[i>>0]=J&255|-128;b[i+1>>0]=a&127;a=2;break}else{a=Zv(i,a,g)|0;break}else{b[i>>0]=a&127;a=1}while(0);J=a+j|0;j=K-p|0;YA(L+J|0,l|0,j|0)|0;j=J+j|0}}if((r|0)==199){l=n;if(n){i=L+j|0;a=LA(m|0,d|0,g|0,a|0)|0;g=ba()|0;do if(!(g>>>0<0|(g|0)==0&a>>>0<128))if(g>>>0<0|(g|0)==0&a>>>0<16384){K=VA(a|0,g|0,7)|0;ba()|0;b[i>>0]=K&255|-128;b[i+1>>0]=a&127;a=2;break}else{a=Zv(i,a,g)|0;break}else{b[i>>0]=a&127;a=1}while(0);K=a+j|0;j=J-n|0;YA(L+K|0,l|0,j|0)|0;j=K+j|0}}f[N>>2]=0;d:do if(j|0){i=c+8|0;a=f[i>>2]|0;do if(a>>>0>>0){a=(a|0)==0?64:a;while(1)if(a>>>0>>0)a=a<<1;else break;g=f[c>>2]|0;if((Mc()|0)==0?(e=Nc(g,(a|0)>0?a:0,0)|0,e|0):0){f[i>>2]=a;f[c>>2]=e;a=f[N>>2]|0;break}f[M>>2]=7;break d}else{e=f[c>>2]|0;a=0}while(0);YA(e+a|0,L|0,j|0)|0;f[N>>2]=(f[N>>2]|0)+j}while(0);do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{N=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);if(!L){t=O;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](L);t=O;return}else{N=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);t=O;return}}function Nv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=b+72|0;d=f[e+4>>2]|0;c=a;f[c>>2]=f[e>>2];f[c+4>>2]=d;f[a+12>>2]=f[b+80>>2];return}function Ov(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=b+72|0;c=f[d+4>>2]|0;e=a;f[e>>2]=f[d>>2];f[e+4>>2]=c;e=f[b+80>>2]|0;f[a+12>>2]=e;c=f[b+20>>2]|0;d=f[b+12>>2]|0;if((c+e|0)>(f[d+8>>2]|0)){e=a+32|0;f[a+36>>2]=0;$v(f[a+24>>2]|0,b,0,e);f[a+8>>2]=f[e>>2];return}else{f[a+8>>2]=(f[d>>2]|0)+c;return}}function Pv(a,b){a=a|0;b=b|0;f[a+12>>2]=0;return}function Qv(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=t;t=t+16|0;A=C;z=f[a+44>>2]|0;e=c+72|0;g=f[e+4>>2]|0;d=a;f[d>>2]=f[e>>2];f[d+4>>2]=g;d=f[c+20>>2]|0;g=f[c+80>>2]|0;e=f[c+12>>2]|0;if((g+d|0)>(f[e+8>>2]|0)){A=a+32|0;B=a+36|0;f[B>>2]=0;$v(f[a+24>>2]|0,c,z,A);f[a+8>>2]=f[A>>2];f[a+12>>2]=f[B>>2];t=C;return}c=(f[e>>2]|0)+d|0;e=c;d=f[z>>2]|0;if((d|0)==1){k=f[z+4>>2]|0;l=c+g|0;a:do if((k|0)>0){j=e;do{d=b[c>>0]|0;if(d<<24>>24==1)i=c;else while(1){c=c+1|0;if(d<<24>>24<0)while(1){d=c+1|0;if((b[c>>0]|0)<0)c=d;else{c=d;break}}if(c>>>0>=l>>>0){d=0;c=j;break a}d=b[c>>0]|0;if(d<<24>>24==1){i=c;break}}g=i+1|0;j=i;c=i+2|0;d=h[g>>0]|0;if(d&128){c=h[c>>0]|0;do if(c&128){e=h[i+3>>0]|0;if(!(e&128)){d=(d<<14|e)&2080895|c<<7&16256;c=3;break}else{c=yv(g,A)|0;d=f[A>>2]|0;c=c&255;break}}else{d=d<<7&16256|c;c=2}while(0);c=g+c|0}}while((d|0)<(k|0));e=i;B=21}else{d=0;B=21}while(0);if((B|0)==21)if((d|0)==(k|0)){b:do if(c>>>0>>0)do{d=b[c>>0]|0;if(d<<24>>24==1)break b;c=c+1|0;if(d<<24>>24<0)while(1){d=c+1|0;if((b[c>>0]|0)<0)c=d;else{c=d;break}}}while(c>>>0>>0);while(0);d=c-e|0;c=e}else{d=0;c=e}f[a+12>>2]=d;f[a+8>>2]=c;t=C;return}r=(f[a+24>>2]|0)+36|0;s=a+32|0;q=a+36|0;f[q>>2]=0;if((f[r>>2]|0)==0?(f[q>>2]=0,(d|0)>0):0){o=c+g|0;p=a+40|0;n=0;do{m=f[z+4+(n<<2)>>2]|0;c:do if((m|0)>0){d=c;while(1){g=b[d>>0]|0;if(g<<24>>24!=1)do{d=d+1|0;if(g<<24>>24<0)while(1){g=d+1|0;if((b[d>>0]|0)<0)d=g;else{d=g;break}}if(d>>>0>=o>>>0)break c;g=b[d>>0]|0}while(g<<24>>24!=1);l=d+1|0;i=d+2|0;g=h[l>>0]|0;if(g&128){i=h[i>>0]|0;do if(i&128){j=h[d+3>>0]|0;if(!(j&128)){k=3;g=(g<<14|j)&2080895|i<<7&16256;break}else{k=yv(l,A)|0;k=k&255;g=f[A>>2]|0;break}}else{k=2;g=g<<7&16256|i}while(0);i=l+k|0}if((g|0)<(m|0))d=i;else break}u=i;v=g;w=d;x=d;B=52}else{u=c;v=0;w=e;x=c;B=52}while(0);d:do if((B|0)==52?(B=0,(v|0)==(m|0)):0){e:do if(u>>>0>>0){d=u;do{g=b[d>>0]|0;if(g<<24>>24==1)break e;d=d+1|0;if(g<<24>>24<0)while(1){g=d+1|0;if((b[d>>0]|0)<0)d=g;else{d=g;break}}}while(d>>>0>>0)}else d=u;while(0);j=d-w|0;if(j|0){d=f[q>>2]|0;i=d+j|0;g=f[p>>2]|0;do if(i>>>0>g>>>0){g=(g|0)==0?64:g;while(1)if(g>>>0>>0)g=g<<1;else break;d=f[s>>2]|0;if((Mc()|0)==0?(y=Nc(d,(g|0)>0?g:0,0)|0,y|0):0){f[p>>2]=g;f[s>>2]=y;g=y;d=f[q>>2]|0;break}f[r>>2]=7;break d}else g=f[s>>2]|0;while(0);YA(g+d|0,x|0,j|0)|0;f[q>>2]=(f[q>>2]|0)+j}}while(0);n=n+1|0}while((n|0)<(f[z>>2]|0));c=f[q>>2]|0}else c=0;f[a+8>>2]=f[s>>2];f[a+12>>2]=c;t=C;return}function Rv(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[c+20>>2]|0;i=f[c+80>>2]|0;e=f[c+12>>2]|0;if((i+d|0)>(f[e+8>>2]|0)){l=a+32|0;m=a+36|0;f[m>>2]=0;$v(f[a+24>>2]|0,c,f[a+44>>2]|0,l);i=c+72|0;j=f[i+4>>2]|0;k=a;f[k>>2]=f[i>>2];f[k+4>>2]=j;f[a+8>>2]=f[l>>2];m=f[m>>2]|0;a=a+12|0;f[a>>2]=m;return}e=(f[e>>2]|0)+d|0;k=e+i|0;g=f[a+44>>2]|0;l=g+4+(f[g>>2]<<2)|0;m=a+32|0;d=f[m>>2]|0;n=c+72|0;c=f[n+4>>2]|0;j=a;f[j>>2]=f[n>>2];f[j+4>>2]=c;a:do if((i|0)>0){j=e;e=g+4|0;i=0;g=0;while(1){c=j;j=j+1|0;i=i+-2+(h[c>>0]|0)|0;c=f[e>>2]|0;if((c|0)<(i|0))do{e=e+4|0;if((e|0)==(l|0))break a;c=f[e>>2]|0}while((c|0)<(i|0));if((c|0)==(i|0)){b[d>>0]=2-g+i;c=i;d=d+1|0}else c=g;if(j>>>0>=k>>>0)break;else g=c}}while(0);m=f[m>>2]|0;f[a+8>>2]=m;m=d-m|0;n=a+12|0;f[n>>2]=m;return}function Sv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;d=a+32|0;c=a+36|0;f[c>>2]=0;$v(f[a+24>>2]|0,b,f[a+44>>2]|0,d);g=b+72|0;e=f[g+4>>2]|0;b=a;f[b>>2]=f[g>>2];f[b+4>>2]=e;f[a+8>>2]=f[d>>2];f[a+12>>2]=f[c>>2];return}function Tv(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;if(!a)return;h=a+52|0;if((f[h>>2]|0)>0){g=0;do{e=a+80+(g*88|0)|0;b=a+80+(g*88|0)+60|0;c=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[a+80+(g*88|0)+12>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{d=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+80+(g*88|0)+16>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{d=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);c=f[a+80+(g*88|0)+56>>2]|0;do if(c|0){if((f[c>>2]|0)>0){b=0;do{d=f[c+8+(b<<5)>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);b=b+1|0}while((b|0)<(f[c>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);b=f[a+80+(g*88|0)+52>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{i=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=e;c=b+88|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));g=g+1|0}while((g|0)<(f[h>>2]|0))}d=f[a+28>>2]|0;do if(d|0?(i=f[d>>2]|0,f[d>>2]=i+-1,(i|0)<2):0){e=d+20|0;if((f[e>>2]|0)>0){b=0;do{c=f[d+24+(b*12|0)+8>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);b=b+1|0}while((b|0)<(f[e>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);b=a+32|0;c=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{i=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Uv(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=a+36|0;do if(!(f[h>>2]|0)){k=Fd(264)|0;if(!k){f[h>>2]=7;break}_A(k|0,0,264)|0;h=k+72|0;f[k+52>>2]=2;f[h>>2]=k+256;f[k+24>>2]=a;f[k+48>>2]=76;i=k+168|0;j=k+172|0;f[j>>2]=1;do if((f[c+8>>2]|0)>0){f[k+180>>2]=c;l=(yv(f[c>>2]|0,k+240|0)|0)&255;f[k+188>>2]=l;f[k+208>>2]=f[c+4>>2];d[(f[h>>2]|0)+4>>1]=1;if(!e){zv(a,i);c=0;break}else{f[k+56>>2]=1;f[j>>2]=f[j>>2]|2;Dv(a,i);c=0;break}}else b[k+16>>0]=1;while(0);do if(!(f[j>>2]&2)){h=k+192|0;if((f[(f[a>>2]|0)+48>>2]|0)==1){f[h>>2]=205;break}else{f[h>>2]=206;break}}else f[k+192>>2]=204;while(0);f[g>>2]=k}while(0);if(!c)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{l=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}function Vv(a,b){a=a|0;b=b|0;return}function Wv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=t;t=t+16|0;e=h;c=b+44|0;d=f[c>>2]|0;if((d|0)<=0){Bv(a,b);t=h;return}g=f[f[b+12>>2]>>2]|0;d=d+-1|0;f[c>>2]=d;c=b+20|0;f[c>>2]=f[(f[b+52>>2]|0)+(d<<2)>>2];zv(a,b);c=f[c>>2]|0;if((f[(f[a>>2]|0)+48>>2]|0)!=1)c=(f[b+80>>2]|0)+c|0;yv(g+c|0,e)|0;b=b+72|0;g=b;e=LA(f[g>>2]|0,f[g+4>>2]|0,f[e>>2]|0,f[e+4>>2]|0)|0;g=ba()|0;f[b>>2]=e;f[b+4>>2]=g;t=h;return}function Xv(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;w=t;t=t+16|0;o=w;v=c+20|0;g=f[v>>2]|0;k=f[c>>2]|0;do if((k|0)!=0?(n=c+12|0,e=f[n>>2]|0,(g|0)>=(f[e+8>>2]|0)):0){do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{r=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);j=c+8|0;e=f[j>>2]|0;g=e+1|0;f[j>>2]=g;j=c+16|0;i=f[j>>2]|0;a:do if(!i){if((e|0)>=(f[k+8>>2]|0)){f[n>>2]=0;break}i=WA(f[k>>2]|0,0,37)|0;i=KA(i|0,ba()|0,g|0,((g|0)<0)<<31>>31|0)|0;i=xv(a,i,ba()|0)|0;do if(i|0){e=f[i+8>>2]|0;g=f[i+4>>2]|0;if((e|0)<=(g|0)){f[n>>2]=i;l=18;break a}f[a+36>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{r=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);f[n>>2]=0}else{f[n>>2]=i;f[j>>2]=0;e=f[i+8>>2]|0;g=f[i+4>>2]|0;l=18}while(0);do if((l|0)==18){m=c+36|0;f[m>>2]=e;if((e|0)>=(g|0)){f[c+40>>2]=g+1;break}g=(f[i>>2]|0)+e|0;i=c+40|0;j=h[g>>0]|0;do if(j&128){k=h[g+1>>0]|0;if(!(k&128)){f[i>>2]=j<<7&16256|k;g=2;break}l=h[g+2>>0]|0;if(!(l&128)){f[i>>2]=(j<<14|l)&2080895|k<<7&16256;g=3;break}else{g=yv(g,o)|0;f[i>>2]=f[o>>2];g=g&255;e=f[m>>2]|0;break}}else{f[i>>2]=j;g=1}while(0);f[m>>2]=e+g}while(0);if(f[a+36>>2]|0){t=w;return}if(!(f[n>>2]|0)){t=w;return}else{g=c+72|0;f[g>>2]=0;f[g+4>>2]=0;g=4;break}}while(0);q=c+40|0;b:do if((g|0)<(f[q>>2]|0)){u=g+((yv((f[f[c+12>>2]>>2]|0)+g|0,o)|0)&255)|0;f[v>>2]=u;u=o;v=c+72|0;d=v;u=KA(f[d>>2]|0,f[d+4>>2]|0,f[u>>2]|0,f[u+4>>2]|0)|0;d=ba()|0;f[v>>2]=u;f[v+4>>2]=d}else{do if(!(f[c+4>>2]&1)){if(!(f[c>>2]|0)){g=f[a+12>>2]|0;o=g+16|0;e=f[(f[o>>2]|0)+4>>2]|0;f[o>>2]=e;o=e;if(!e)break;r=o+40|0;p=wz(r)|0;n=o+12|0;i=f[n>>2]|0;if(i|0){m=e;do if((f[g>>2]|0)==1){e=o+24|0;if((b[e>>0]|0)!=0?(s=o+16|0,l=f[s>>2]|0,f[s>>2]=l+1,b[m+l>>0]=0,(b[o+25>>0]|0)!=0):0){l=f[s>>2]|0;f[s>>2]=l+1;b[m+l>>0]=0}}else{j=o+16|0;g=(f[j>>2]|0)-i+-1|0;e=o+24|0;k=(g<<1)+(h[e>>0]|0)|0;if((k|0)<128){b[m+i>>0]=k;break}s=k>>>0<16384;l=s?2:k>>>0<2097152?3:k>>>0<268435456?4:5;ZA(m+(l+i)|0,m+(i+1)|0,g|0)|0;g=m+(f[n>>2]|0)|0;i=((k|0)<0)<<31>>31;if(s){s=VA(k|0,i|0,7)|0;ba()|0;b[g>>0]=s&255|-128;b[g+1>>0]=k&127}else Zv(g,k,i)|0;f[j>>2]=l+-1+(f[j>>2]|0)}while(0);f[n>>2]=0;b[e>>0]=0;b[o+25>>0]=0}n=r+(p+1)|0;e=(f[o+16>>2]|0)+(-41-p)|0;if(!n)break;i=f[c+12>>2]|0;f[i>>2]=n;f[i+4>>2]=e;f[i+8>>2]=e;f[q>>2]=e;i=a+36|0;j=c+60|0;l=wz(r)|0;m=c+64|0;f[m>>2]=0;c:do if(l|0){k=c+68|0;e=f[k>>2]|0;do if(e>>>0>>0){e=(e|0)==0?64:e;while(1)if(e>>>0>>0)e=e<<1;else break;g=f[j>>2]|0;if((Mc()|0)==0?(u=Nc(g,(e|0)>0?e:0,0)|0,u|0):0){f[k>>2]=e;f[j>>2]=u;e=u;g=f[m>>2]|0;break}f[i>>2]=7;break c}else{e=f[j>>2]|0;g=0}while(0);YA(e+g|0,r|0,l|0)|0;f[m>>2]=(f[m>>2]|0)+l}while(0);u=(yv(n,c+72|0)|0)&255;f[v>>2]=u}else{l=c+12|0;i=f[l>>2]|0;i=(f[i>>2]|0)+(f[i+8>>2]|0)|0;e=h[i>>0]|0;do if(e&128){j=h[i+1>>0]|0;if(!(j&128)){e=e<<7&16256|j;break}k=h[i+2>>0]|0;if(!(k&128)){e=(e<<14|k)&2080895|j<<7&16256;break}else{yv(i,o)|0;e=f[o>>2]|0;break}}while(0);if((g|0)==(e|0))e=0;else{i=(f[f[l>>2]>>2]|0)+g|0;e=h[i>>0]|0;do if(e&128){j=h[i+1>>0]|0;if(!(j&128)){i=2;e=e<<7&16256|j;break}k=h[i+2>>0]|0;if(!(k&128)){i=3;e=(e<<14|k)&2080895|j<<7&16256;break}else{i=yv(i,o)|0;i=i&255;e=f[o>>2]|0;break}}else i=1;while(0);g=i+g|0}f[v>>2]=g;_v(a,c,e)}if(!d)break b;f[d>>2]=1;break b}while(0);e=c+12|0;g=f[e>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{v=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[e>>2]=0;t=w;return}while(0);zv(a,c);t=w;return}function Yv(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+16|0;x=A;w=c+12|0;e=f[w>>2]|0;l=f[e>>2]|0;g=f[e+8>>2]|0;y=c+20|0;z=c+80|0;i=(f[z>>2]|0)+(f[y>>2]|0)|0;a:do if((i|0)<(g|0)){if((i|0)>=(f[c+40>>2]|0)){g=l+g|0;e=h[g>>0]|0;do if(e&128){j=h[g+1>>0]|0;if(!(j&128)){e=e<<7&16256|j;break}k=h[g+2>>0]|0;if(!(k&128)){e=(e<<14|k)&2080895|j<<7&16256;break}else{yv(g,x)|0;e=f[x>>2]|0;break}}while(0);if((i|0)==(e|0)){g=1;e=0}else{g=l+i|0;e=h[g>>0]|0;do if(e&128){j=h[g+1>>0]|0;if(!(j&128)){l=2;e=e<<7&16256|j;break}k=h[g+2>>0]|0;if(!(k&128)){l=3;e=(e<<14|k)&2080895|j<<7&16256;break}else{l=yv(g,x)|0;l=l&255;e=f[x>>2]|0;break}}else l=1;while(0);g=1;i=l+i|0}}else{i=i+((yv(l+i|0,x)|0)&255)|0;v=x;g=c+72|0;e=g;v=KA(f[e>>2]|0,f[e+4>>2]|0,f[v>>2]|0,f[v+4>>2]|0)|0;e=ba()|0;f[g>>2]=v;f[g+4>>2]=e;g=0;e=0}f[y>>2]=i}else{k=f[c>>2]|0;if(!k){if((f[c+4>>2]&1|0)==0?(m=f[a+12>>2]|0,r=m+16|0,j=f[(f[r>>2]|0)+4>>2]|0,f[r>>2]=j,r=j,(j|0)!=0):0){s=r+40|0;q=wz(s)|0;p=r+12|0;n=f[p>>2]|0;if(n){i=j;do if((f[m>>2]|0)==1){e=r+24|0;if((b[e>>0]|0)!=0?(o=r+16|0,v=f[o>>2]|0,f[o>>2]=v+1,b[i+v>>0]=0,(b[r+25>>0]|0)!=0):0){v=f[o>>2]|0;f[o>>2]=v+1;b[i+v>>0]=0}}else{j=r+16|0;g=(f[j>>2]|0)-n+-1|0;e=r+24|0;k=(g<<1)+(h[e>>0]|0)|0;if((k|0)<128){b[i+n>>0]=k;break}v=k>>>0<16384;l=v?2:k>>>0<2097152?3:k>>>0<268435456?4:5;ZA(i+(l+n)|0,i+(n+1)|0,g|0)|0;g=i+(f[p>>2]|0)|0;i=((k|0)<0)<<31>>31;if(v){v=VA(k|0,i|0,7)|0;ba()|0;b[g>>0]=v&255|-128;b[g+1>>0]=k&127}else Zv(g,k,i)|0;f[j>>2]=l+-1+(f[j>>2]|0)}while(0);f[p>>2]=0;b[e>>0]=0;b[r+25>>0]=0;e=f[w>>2]|0}n=s+(q+1)|0;g=(f[r+16>>2]|0)+(-41-q)|0;if(n){f[e>>2]=n;f[e+4>>2]=g;f[e+8>>2]=g;f[c+40>>2]=g+1;i=a+36|0;j=c+60|0;l=wz(s)|0;m=c+64|0;f[m>>2]=0;b:do if(l|0){k=c+68|0;e=f[k>>2]|0;do if(e>>>0>>0){e=(e|0)==0?64:e;while(1)if(e>>>0>>0)e=e<<1;else break;g=f[j>>2]|0;if((Mc()|0)==0?(u=Nc(g,(e|0)>0?e:0,0)|0,u|0):0){f[k>>2]=e;f[j>>2]=u;e=u;g=f[m>>2]|0;break}f[i>>2]=7;break b}else{e=f[j>>2]|0;g=0}while(0);YA(e+g|0,s|0,l|0)|0;f[m>>2]=(f[m>>2]|0)+l}while(0);e=(yv(n,c+72|0)|0)&255;f[y>>2]=e;f[d>>2]=1;e=0;g=0;break}}do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{z=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[w>>2]=0;t=A;return}o=c+8|0;p=c+16|0;q=c+36|0;r=c+40|0;s=c+72|0;g=0;c:while(1){do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);i=f[o>>2]|0;j=i+1|0;f[o>>2]=j;e=f[p>>2]|0;if(!e){if((i|0)>=(f[k+8>>2]|0)){v=61;break}e=WA(f[k>>2]|0,0,37)|0;e=KA(e|0,ba()|0,j|0,((j|0)<0)<<31>>31|0)|0;e=xv(a,e,ba()|0)|0;if(!e)break;i=f[e+8>>2]|0;j=f[e+4>>2]|0;if((i|0)>(j|0)){v=64;break}f[w>>2]=e}else{f[w>>2]=e;f[p>>2]=0;i=f[e+8>>2]|0;j=f[e+4>>2]|0}f[q>>2]=i;d:do if((i|0)<(j|0)){k=(f[e>>2]|0)+i|0;j=h[k>>0]|0;do if(j&128){l=h[k+1>>0]|0;if(!(l&128)){k=2;j=j<<7&16256|l;break}m=h[k+2>>0]|0;if(m&128){u=yv(k,x)|0;f[r>>2]=f[x>>2];e=f[w>>2]|0;f[q>>2]=(f[q>>2]|0)+(u&255);if(!e){v=116;break c}else break d}else{k=3;j=(j<<14|m)&2080895|l<<7&16256;break}}else k=1;while(0);f[r>>2]=j;f[q>>2]=i+k}else f[r>>2]=j+1;while(0);i=f[e>>2]|0;j=h[i>>0]<<8|h[i+1>>0];n=e+8|0;k=f[n>>2]|0;if((j|0)!=0&(k|0)>(j|0)){m=j+((yv(i+j|0,s)|0)&255)|0;f[y>>2]=m;l=f[n>>2]|0;if((f[e+4>>2]|0)>(l|0)){e=(f[e>>2]|0)+l|0;i=h[e>>0]|0;do if(i&128){j=h[e+1>>0]|0;if(!(j&128)){f[r>>2]=i<<7&16256|j;e=2;break}k=h[e+2>>0]|0;if(!(k&128)){f[r>>2]=(i<<14|k)&2080895|j<<7&16256;e=3;break}else{e=yv(e,x)|0;f[r>>2]=f[x>>2];e=e&255;break}}else{f[r>>2]=i;e=1}while(0);f[q>>2]=e+l;e=m}else e=m}else if((f[e+4>>2]|0)>(k|0)){g=i+k|0;e=h[g>>0]|0;do if(e&128){i=h[g+1>>0]|0;if(!(i&128)){g=2;e=e<<7&16256|i;break}j=h[g+2>>0]|0;if(!(j&128)){g=3;e=(e<<14|j)&2080895|i<<7&16256;break}else{g=yv(g,x)|0;g=g&255;e=f[x>>2]|0;break}}else g=1;while(0);f[q>>2]=g+k;f[y>>2]=e;f[r>>2]=e;g=1}else e=j;if((e|0)>(f[n>>2]|0)){v=97;break}if(e|0){e=0;break a}e=f[w>>2]|0;k=f[c>>2]|0}do if((v|0)==61){f[w>>2]=0;t=A;return}else if((v|0)==64){f[a+36>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{z=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}else if((v|0)==97){f[a+36>>2]=267;t=A;return}else if((v|0)==116){t=A;return}while(0);f[w>>2]=0;t=A;return}while(0);i=f[w>>2]|0;if(!i){t=A;return}if(!g){i=f[i>>2]|0;g=f[y>>2]|0;f[y>>2]=g+1;i=i+g|0;e=h[i>>0]|0;if(e&128){f[y>>2]=g;e=h[i>>0]|0;do if(e&128){j=h[i+1>>0]|0;if(!(j&128)){i=2;e=e<<7&16256|j;break}k=h[i+2>>0]|0;if(!(k&128)){i=3;e=(e<<14|k)&2080895|j<<7&16256;break}else{i=yv(i,x)|0;i=i&255;e=f[x>>2]|0;g=f[y>>2]|0;break}}else i=1;while(0);f[y>>2]=g+i}b[c+84>>0]=e&1;f[z>>2]=e>>1;t=A;return}else{if(!(f[c+4>>2]&1)){_v(a,c,e);zv(a,c);if(!d){t=A;return}f[d>>2]=1;t=A;return}if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{z=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}f[w>>2]=0;t=A;return}}function Zv(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=t;t=t+16|0;g=h;if(d>>>0>16777215|(d|0)==16777215&c>>>0>4294967295){b[a+8>>0]=c;g=VA(c|0,d|0,8)|0;ba()|0;b[a+7>>0]=g&255|-128;g=VA(c|0,d|0,15)|0;ba()|0;b[a+6>>0]=g&255|-128;g=VA(c|0,d|0,22)|0;ba()|0;b[a+5>>0]=g&255|-128;g=VA(c|0,d|0,29)|0;ba()|0;b[a+4>>0]=g&255|-128;g=VA(c|0,d|0,36)|0;ba()|0;b[a+3>>0]=g&255|-128;g=VA(c|0,d|0,43)|0;ba()|0;b[a+2>>0]=g&255|-128;g=VA(c|0,d|0,50)|0;ba()|0;b[a+1>>0]=g&255|-128;g=VA(c|0,d|0,57)|0;ba()|0;b[a>>0]=g&255|-128;g=9;t=h;return g|0}e=0;f=c;while(1){c=e+1|0;b[g+e>>0]=f&255|-128;f=VA(f|0,d|0,7)|0;d=ba()|0;if((f|0)==0&(d|0)==0)break;else e=c}b[g>>0]=b[g>>0]&127;d=0;while(1){b[a+d>>0]=b[g+e>>0]|0;if((e|0)>0){e=e+-1|0;d=d+1|0}else break}t=h;return c|0}function _v(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;w=t;t=t+16|0;s=w;u=b+12|0;e=f[u>>2]|0;o=f[e>>2]|0;v=b+20|0;k=f[v>>2]|0;d=o+k|0;g=h[d>>0]|0;do if(g&128){i=h[d+1>>0]|0;if(!(i&128)){d=2;g=g<<7&16256|i;break}j=h[d+2>>0]|0;if(!(j&128)){d=3;g=(g<<14|j)&2080895|i<<7&16256;break}else{d=yv(d,s)|0;d=d&255;g=f[s>>2]|0;e=f[u>>2]|0;break}}else d=1;while(0);i=d+k|0;d=i+g|0;if((d|0)>(f[e+4>>2]|0)){f[a+36>>2]=267;t=w;return}k=b+60|0;m=b+64|0;f[m>>2]=c;p=a+36|0;l=o+i|0;a:do if(g|0){i=g+c|0;j=b+68|0;e=f[j>>2]|0;do if(i>>>0>e>>>0){e=(e|0)==0?64:e;while(1)if(e>>>0>>0)e=e<<1;else break;c=f[k>>2]|0;if((Mc()|0)==0?(n=Nc(c,(e|0)>0?e:0,0)|0,n|0):0){f[j>>2]=e;f[k>>2]=n;e=n;c=f[m>>2]|0;break}f[p>>2]=7;break a}else e=f[k>>2]|0;while(0);YA(e+c|0,l|0,g|0)|0;f[m>>2]=(f[m>>2]|0)+g}while(0);f[b+32>>2]=d;l=b+8|0;f[b+28>>2]=f[l>>2];f[v>>2]=d;m=b+36|0;e=f[m>>2]|0;c=f[u>>2]|0;g=f[c+4>>2]|0;if((e|0)<(g|0)){g=o+e|0;i=h[g>>0]|0;do if(i&128){j=h[g+1>>0]|0;if(!(j&128)){i=i<<7&16256|j;g=2;break}k=h[g+2>>0]|0;if(!(k&128)){i=(i<<14|k)&2080895|j<<7&16256;g=3;break}else{g=yv(g,s)|0;i=f[s>>2]|0;g=g&255;c=f[u>>2]|0;d=f[v>>2]|0;e=f[m>>2]|0;break}}else g=1;while(0);f[m>>2]=e+g;o=b+40|0;f[o>>2]=(f[o>>2]|0)+i}else f[b+40>>2]=g+1;b:do if((d|0)>=(f[c+8>>2]|0)){i=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);e=f[l>>2]|0;g=e+1|0;f[l>>2]=g;d=b+16|0;c=f[d>>2]|0;c:do if(!c){do if((e|0)<(f[i+8>>2]|0)?(q=WA(f[i>>2]|0,0,37)|0,q=KA(q|0,ba()|0,g|0,((g|0)<0)<<31>>31|0)|0,q=xv(a,q,ba()|0)|0,q|0):0){c=f[q+8>>2]|0;d=f[q+4>>2]|0;if((c|0)<=(d|0)){f[u>>2]=q;k=c;c=q;r=42;break c}f[p>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{v=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}while(0);f[u>>2]=0}else{f[u>>2]=c;f[d>>2]=0;k=f[c+8>>2]|0;d=f[c+4>>2]|0;r=42}while(0);d:do if((r|0)==42){f[m>>2]=k;if((k|0)>=(d|0)){f[b+40>>2]=d+1;d=4;break b}e=(f[c>>2]|0)+k|0;j=b+40|0;d=h[e>>0]|0;do if(d&128){g=h[e+1>>0]|0;if(!(g&128)){e=2;d=d<<7&16256|g;break}i=h[e+2>>0]|0;if(i&128){r=yv(e,s)|0;f[j>>2]=f[s>>2];c=f[u>>2]|0;f[m>>2]=(f[m>>2]|0)+(r&255);if(!c)break d;else{d=4;break b}}else{e=3;d=(d<<14|i)&2080895|g<<7&16256;break}}else e=1;while(0);f[j>>2]=d;f[m>>2]=k+e;d=4;break b}while(0);if(f[p>>2]|0){t=w;return}f[p>>2]=267;t=w;return}while(0);b=d+((yv((f[c>>2]|0)+d|0,b+72|0)|0)&255)|0;f[v>>2]=b;t=w;return}function $v(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;l=n;m=d+4|0;k=b+80|0;g=(f[k>>2]|0)+(f[m>>2]|0)|0;i=d+8|0;e=f[i>>2]|0;do if(g>>>0>e>>>0){h=(e|0)==0?64:e;while(1)if(h>>>0>>0)h=h<<1;else break;e=a+36|0;g=f[d>>2]|0;if((Mc()|0)==0?(j=Nc(g,(h|0)>0?h:0,0)|0,j|0):0){f[i>>2]=h;f[d>>2]=j;break}f[e>>2]=7;t=n;return}while(0);if(c|0){if(f[(f[a>>2]|0)+48>>2]|0){m=l+8|0;f[m>>2]=0;f[m+4>>2]=0;f[l>>2]=d;f[l+4>>2]=c;bw(a,b,l,70);t=n;return}f[l>>2]=d;f[l+4>>2]=c;g=f[c>>2]|0;a:do if((g|0)>0){e=0;while(1){if(!(f[c+4+(e<<2)>>2]|0)){e=1;break a}e=e+1|0;if((e|0)>=(g|0)){e=0;break}}}else e=0;while(0);f[l+8>>2]=e;bw(a,b,l,69);t=n;return}g=f[k>>2]|0;h=f[b+12>>2]|0;i=f[b+20>>2]|0;e=(f[h+8>>2]|0)-i|0;e=(g|0)<(e|0)?g:e;j=f[b+8>>2]|0;c=(f[b+4>>2]&2|0)==0?j+1|0:0;if((e|0)>0){YA((f[d>>2]|0)+(f[m>>2]|0)|0,(f[h>>2]|0)+i|0,e|0)|0;f[m>>2]=(f[m>>2]|0)+e}e=g-e|0;if((e|0)<1){t=n;return}k=b+16|0;while(1){j=j+1|0;g=WA(f[f[b>>2]>>2]|0,0,37)|0;g=KA(g|0,ba()|0,j|0,((j|0)<0)<<31>>31|0)|0;g=xv(a,g,ba()|0)|0;if(!g){e=34;break}h=f[g+8>>2]|0;if((h|0)>(f[g+4>>2]|0)){e=15;break}i=(f[g>>2]|0)+4|0;h=h+-4|0;h=(e|0)<(h|0)?e:h;if((j|0)==(c|0)){f[k>>2]=g;g=0}if((h|0)>0){YA((f[d>>2]|0)+(f[m>>2]|0)|0,i|0,h|0)|0;f[m>>2]=(f[m>>2]|0)+h}e=e-h|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{l=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);if((e|0)<1){e=34;break}}if((e|0)==15){f[a+36>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);t=n;return}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);t=n;return}}else if((e|0)==34){t=n;return}}function aw(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+16|0;n=p;if((e|0)<=0){t=p;return}o=c+8|0;a:do if((f[o>>2]|0)==2){g=h[d>>0]|0;do if(g&128){i=h[d+1>>0]|0;if(!(i&128)){a=2;g=g<<7&16256|i;break}j=h[d+2>>0]|0;if(!(j&128)){a=3;g=(g<<14|j)&2080895|i<<7&16256;break}else{a=yv(d,n)|0;a=a&255;g=f[n>>2]|0;break}}else a=1;while(0);l=c+4|0;j=f[l>>2]|0;k=f[j>>2]|0;b:do if((k|0)>0){i=0;while(1){if((f[j+4+(i<<2)>>2]|0)==(g|0))break;i=i+1|0;if((i|0)>=(k|0))break b}f[o>>2]=1;m=f[c>>2]|0;b[(f[m>>2]|0)+(f[m+4>>2]|0)>>0]=1;m=(f[c>>2]|0)+4|0;f[m>>2]=(f[m>>2]|0)+1;break a}while(0);f[o>>2]=0}else{a=0;l=c+4|0}while(0);i=0;while(1){c:do if((a|0)<(e|0))while(1){g=b[d+a>>0]|0;if(g<<24>>24==1){g=1;break c}a=a+1|0;if(g<<24>>24<0)while(1){g=a+1|0;if((b[d+a>>0]|0)<0)a=g;else{a=g;break}}if((a|0)>=(e|0)){g=0;break}}else g=0;while(0);if(f[o>>2]|0){m=f[c>>2]|0;k=a-i|0;YA((f[m>>2]|0)+(f[m+4>>2]|0)|0,d+i|0,k|0)|0;m=(f[c>>2]|0)+4|0;f[m>>2]=(f[m>>2]|0)+k}d:do if(g){m=a+1|0;if((m|0)>=(e|0)){f[o>>2]=2;g=a;a=m;break}i=d+m|0;g=h[i>>0]|0;if(!(g&128))m=a+2|0;else{j=h[i+1>>0]|0;do if(j&128){k=h[i+2>>0]|0;if(!(k&128)){i=3;g=(g<<14|k)&2080895|j<<7&16256;break}else{i=yv(i,n)|0;i=i&255;g=f[n>>2]|0;break}}else{i=2;g=g<<7&16256|j}while(0);m=i+m|0}j=f[l>>2]|0;k=f[j>>2]|0;e:do if((k|0)>0){i=0;while(1){if((f[j+4+(i<<2)>>2]|0)==(g|0))break;i=i+1|0;if((i|0)>=(k|0))break e}f[o>>2]=1;g=f[c>>2]|0;k=m-a|0;YA((f[g>>2]|0)+(f[g+4>>2]|0)|0,d+a|0,k|0)|0;g=(f[c>>2]|0)+4|0;f[g>>2]=(f[g>>2]|0)+k;g=m;a=m;break d}while(0);f[o>>2]=0;g=a;a=m}else g=i;while(0);if((a|0)<(e|0))i=g;else break}t=p;return}function bw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=f[b+80>>2]|0;i=f[b+12>>2]|0;j=f[b+20>>2]|0;g=(f[i+8>>2]|0)-j|0;g=(l|0)<(g|0)?l:g;e=f[b+8>>2]|0;k=(f[b+4>>2]&2|0)==0?e+1|0:0;rb[d&127](a,c,(f[i>>2]|0)+j|0,g);g=l-g|0;dw(0);if((g|0)<1)return;l=b+16|0;while(1){e=e+1|0;h=WA(f[f[b>>2]>>2]|0,0,37)|0;h=KA(h|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;h=ew(a,h,ba()|0)|0;if(!h){e=7;break}j=(f[h>>2]|0)+4|0;i=(f[h+8>>2]|0)+-4|0;i=(g|0)<(i|0)?g:i;if((e|0)==(k|0)){f[l>>2]=h;h=0}rb[d&127](a,c,j,i);g=g-i|0;dw(h);if((g|0)<1){e=7;break}}if((e|0)==7)return}function cw(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+16|0;m=q;if((e|0)<=0){t=q;return}n=c+8|0;o=c+4|0;p=c+12|0;l=0;do{g=d+l|0;a=h[g>>0]|0;do if(a&128){i=h[g+1>>0]|0;if(!(i&128)){g=2;a=a<<7&16256|i;break}j=h[g+2>>0]|0;if(!(j&128)){g=3;a=(a<<14|j)&2080895|i<<7&16256;break}else{g=yv(g,m)|0;g=g&255;a=f[m>>2]|0;break}}else g=1;while(0);l=g+l|0;j=(f[n>>2]|0)+a|0;k=j+-2|0;f[n>>2]=k;g=f[o>>2]|0;i=f[g>>2]|0;a:do if((i|0)>0){a=0;while(1){if((f[g+4+(a<<2)>>2]|0)==(k|0))break;a=a+1|0;if((a|0)>=(i|0))break a}i=f[c>>2]|0;i=(f[i>>2]|0)+(f[i+4>>2]|0)|0;a=j-(f[p>>2]|0)|0;g=((a|0)<0)<<31>>31;do if(a>>>0>=128)if(a>>>0<16384){j=VA(a|0,g|0,7)|0;ba()|0;b[i>>0]=j&255|-128;b[i+1>>0]=a&127;a=2;break}else{a=Zv(i,a,g)|0;break}else{b[i>>0]=a&127;a=1}while(0);j=(f[c>>2]|0)+4|0;f[j>>2]=(f[j>>2]|0)+a;f[p>>2]=k}while(0)}while((l|0)<(e|0));t=q;return}function dw(a){a=a|0;var b=0;if(!a)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function ew(a,b,c){a=a|0;b=b|0;c=c|0;b=xv(a,b,c)|0;if(!b){a=0;return a|0}if((f[b+8>>2]|0)<=(f[b+4>>2]|0)){a=b;return a|0}f[a+36>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](b);a=0;return a|0}else{a=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);a=0;return a|0}return 0}function fw(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;y=t;t=t+16|0;w=y;x=a+16|0;f[x>>2]=0;if(Mc()|0){x=7;t=y;return x|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](128)|0;if(!e){x=7;t=y;return x|0}else v=e}else{e=ib[f[37372>>2]&255](128)|0;if((f[18194]|0)>>>0<128)f[18194]=128;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){v=f[18187]|0;u=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;s=ba()|0;f[17976]=((s|0)<0|(s|0)==0&u>>>0<=v>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(!g){x=7;t=y;return x|0}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0){f[18196]=e;v=g}else v=g}e=v;g=e+128|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));r=f[a+12>>2]|0;if((r|0)>0){s=a+20|0;u=(c|0)==0;q=0;do{e=f[(f[s>>2]|0)+(q<<2)>>2]|0;a:do if(e|0){if(u)while(1){f[e+4>>2]=0;g=f[v>>2]|0;if(!g){h=e;g=v}else{p=0;h=e;i=g;g=v;do{f[w>>2]=0;j=w;do do if(!h){f[j>>2]=i;h=0;i=0}else{if(!i){f[j>>2]=h;h=0;i=0;break}l=h+40|0;m=i+40|0;k=0;while(1){n=b[l+k>>0]|0;o=b[m+k>>0]|0;if(n<<24>>24==o<<24>>24)k=k+1|0;else break}if((n&255)>(o&255)){f[j>>2]=i;j=i+4|0;i=f[j>>2]|0}else{f[j>>2]=h;j=h+4|0;h=f[j>>2]|0}f[j>>2]=0}while(0);while((i|0)!=0|(h|0)!=0);h=f[w>>2]|0;f[g>>2]=0;p=p+1|0;g=v+(p<<2)|0;i=f[g>>2]|0}while((i|0)!=0)}f[g>>2]=h;e=f[e>>2]|0;if(!e)break a}do{if(!(Hz(e+40|0,c,d)|0)){f[e+4>>2]=0;i=f[v>>2]|0;if(!i){h=e;g=v}else{p=0;h=e;g=v;do{f[w>>2]=0;j=w;do do if(!h){f[j>>2]=i;h=0;i=0}else{if(!i){f[j>>2]=h;h=0;i=0;break}l=h+40|0;m=i+40|0;k=0;while(1){n=b[l+k>>0]|0;o=b[m+k>>0]|0;if(n<<24>>24==o<<24>>24)k=k+1|0;else break}if((n&255)>(o&255)){f[j>>2]=i;j=i+4|0;i=f[j>>2]|0}else{f[j>>2]=h;j=h+4|0;h=f[j>>2]|0}f[j>>2]=0}while(0);while((i|0)!=0|(h|0)!=0);h=f[w>>2]|0;f[g>>2]=0;p=p+1|0;g=v+(p<<2)|0;i=f[g>>2]|0}while((i|0)!=0)}f[g>>2]=h}e=f[e>>2]|0}while((e|0)!=0)}while(0);q=q+1|0}while((q|0)!=(r|0))}e=0;n=0;do{g=f[v+(n<<2)>>2]|0;f[w>>2]=0;if((e|0)!=0|(g|0)!=0){h=w;do do if(!e){f[h>>2]=g;e=0;g=0}else{if(!g){f[h>>2]=e;e=0;g=0;break}j=e+40|0;k=g+40|0;i=0;while(1){l=b[j+i>>0]|0;m=b[k+i>>0]|0;if(l<<24>>24==m<<24>>24)i=i+1|0;else break}if((l&255)>(m&255)){f[h>>2]=g;h=g+4|0;g=f[h>>2]|0}else{f[h>>2]=e;h=e+4|0;e=f[h>>2]|0}f[h>>2]=0}while(0);while((g|0)!=0|(e|0)!=0);e=f[w>>2]|0}else e=0;n=n+1|0}while((n|0)!=32);f[a+8>>2]=0;if(!(f[9328]|0))ob[f[37360>>2]&127](v);else{w=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v)}f[x>>2]=e;x=0;t=y;return x|0}function gw(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+36|0;if(f[q>>2]|0){q=0;return q|0}l=WA(d|0,0,37)|0;l=KA(l|0,ba()|0|16|0,e|0,((e|0)<0)<<31>>31|0)|0;m=ba()|0;k=0;e=0;h=0;i=0;j=0;while(1){g=(k<<5)+40|0;if((Mc()|0)==0?(n=Nc(j,(g|0)>0?g:0,0)|0,(n|0)!=0):0){o=WA(k|0,0,31)|0;o=KA(l|0,m|0,o|0,ba()|0)|0;g=ba()|0;p=n+8+(k<<5)|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;g=xv(a,o,g)|0;f[p>>2]=g;if(g)e=(b[f[g>>2]>>0]&1)==0?1:e;h=k+1|0;f[n>>2]=h;p=n;o=n;j=n;g=f[q>>2]|0}else{f[q>>2]=7;p=h;h=k+1|0;o=i;g=7}if(!(g|e)){k=h;h=p;i=o}else break}a:do if(!g){j=p+4|0;f[j>>2]=d;e=f[p>>2]|0;g=(e|0)>0;b:do if(!c){if(g){e=0;do{Ev(p+8+(e<<5)|0)|0;e=e+1|0}while((e|0)<(f[p>>2]|0))}}else if(g)while(1){i=e;e=e+-1|0;g=p+8+(e<<5)|0;do{}while(!(Ev(g)|0));f[p+8+(e<<5)+8>>2]=0;if((i|0)<=1)break b;g=g+-32|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{c=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;d=WA(f[j>>2]|0,0,37)|0;c=ba()|0|16;l=i+-2|0;l=WA(l|0,((l|0)<0)<<31>>31|0,31)|0;m=ba()|0;n=f[p+8+(e<<5)+16>>2]|0;n=KA(l|0,m|0,n|0,((n|0)<0)<<31>>31|0)|0;c=KA(n|0,ba()|0,d|0,c|0)|0;c=xv(a,c,ba()|0)|0;f[g>>2]=c;if(f[q>>2]|0){g=p;break a}}while(0);if(!(f[q>>2]|0)){q=p;return q|0}else g=p}else if(!p){q=0;return q|0}else{g=p;break}while(0);if((f[g>>2]|0)>0){e=0;do{h=f[p+8+(e<<5)>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{q=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);e=e+1|0}while((e|0)<(f[g>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](o);q=0;return q|0}else{q=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);q=0;return q|0}return 0}function hw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+16|0;v=x;if(c|0)f[c>>2]=(h[a+1>>0]|0)<<16|(h[a>>0]|0)<<24|(h[a+2>>0]|0)<<8|(h[a+3>>0]|0);c=a+4|0;e=h[c>>0]|0;do if(e&128){g=h[a+5>>0]|0;if(!(g&128)){k=6;e=e<<7&16256|g;break}i=h[a+6>>0]|0;if(!(i&128)){k=7;e=(e<<14|i)&2080895|g<<7&16256;break}else{k=yv(c,v)|0;k=(k&255)+4|0;e=f[v>>2]|0;break}}else k=5;while(0);c=a+k|0;g=h[c>>0]|0;do if(g&128){i=h[c+1>>0]|0;if(!(i&128)){c=2;i=g<<7&16256|i;break}j=h[c+2>>0]|0;if(!(j&128)){c=3;i=(g<<14|j)&2080895|i<<7&16256;break}else{c=yv(c,v)|0;c=c&255;i=f[v>>2]|0;break}}else{c=1;i=g}while(0);j=c+k|0;g=(e*12|0)+28|0;c=Fd(g)|0;if(!c){v=0;w=(g|0)>0?7:0;f[d>>2]=v;t=x;return w|0}_A(c|0,0,g|0)|0;f[c>>2]=1;u=c+20|0;f[u>>2]=e;f[c+16>>2]=i;g=yv(a+j|0,c+8|0)|0;if((e|0)<=0){v=c;w=0;f[d>>2]=v;t=x;return w|0}s=c+24|0;n=j+(g&255)|0;i=0;a:while(1){if((n|0)>=(b|0)){i=267;break}g=a+n|0;j=s+(i*12|0)|0;k=h[g>>0]|0;do if(k&128){l=h[g+1>>0]|0;if(!(l&128)){f[j>>2]=k<<7&16256|l;g=2;break}m=h[g+2>>0]|0;if(!(m&128)){f[j>>2]=(k<<14|m)&2080895|l<<7&16256;g=3;break}else{g=yv(g,v)|0;f[j>>2]=f[v>>2];g=g&255;break}}else{f[j>>2]=k;g=1}while(0);m=g+n|0;g=a+m|0;j=h[g>>0]|0;do if(j&128){k=h[g+1>>0]|0;if(!(k&128)){g=2;r=j<<7&16256|k;break}l=h[g+2>>0]|0;if(!(l&128)){g=3;r=(j<<14|l)&2080895|k<<7&16256;break}else{g=yv(g,v)|0;g=g&255;r=f[v>>2]|0;break}}else{g=1;r=j}while(0);g=g+m|0;k=r*12|0;j=Fd(k)|0;if(!j)if((k|0)>0){w=36;break}else j=0;else _A(j|0,0,k|0)|0;q=s+(i*12|0)+8|0;f[q>>2]=j;f[s+(i*12|0)+4>>2]=r;if((r|0)>0){p=0;do{if((g|0)>=(b|0)){i=267;break a}j=a+g|0;o=f[q>>2]|0;k=o+(p*12|0)|0;l=h[j>>0]|0;do if(l&128){m=h[j+1>>0]|0;if(!(m&128)){f[k>>2]=l<<7&16256|m;j=2;break}n=h[j+2>>0]|0;if(!(n&128)){f[k>>2]=(l<<14|n)&2080895|m<<7&16256;j=3;break}else{j=yv(j,v)|0;f[k>>2]=f[v>>2];j=j&255;o=f[q>>2]|0;break}}else{f[k>>2]=l;j=1}while(0);n=j+g|0;g=a+n|0;j=o+(p*12|0)+4|0;k=h[g>>0]|0;do if(k&128){l=h[g+1>>0]|0;if(!(l&128)){f[j>>2]=k<<7&16256|l;g=2;j=o;break}m=h[g+2>>0]|0;if(!(m&128)){f[j>>2]=(k<<14|m)&2080895|l<<7&16256;g=3;j=o;break}else{g=yv(g,v)|0;f[j>>2]=f[v>>2];g=g&255;j=f[q>>2]|0;break}}else{f[j>>2]=k;g=1;j=o}while(0);n=g+n|0;m=a+n|0;g=j+(p*12|0)+8|0;j=h[m>>0]|0;do if(j&128){k=h[m+1>>0]|0;if(!(k&128)){f[g>>2]=j<<7&16256|k;g=2;break}l=h[m+2>>0]|0;if(!(l&128)){f[g>>2]=(j<<14|l)&2080895|k<<7&16256;g=3;break}else{o=yv(m,v)|0;f[g>>2]=f[v>>2];g=o&255;break}}else{f[g>>2]=j;g=1}while(0);g=g+n|0;p=p+1|0}while((p|0)<(r|0))}i=i+1|0;if((i|0)<(e|0))n=g;else{e=0;w=74;break}}if((w|0)==36){f[s+(i*12|0)+8>>2]=0;i=7}else if((w|0)==74){f[d>>2]=c;t=x;return e|0}w=f[c>>2]|0;f[c>>2]=w+-1;if((w|0)>=2){v=0;w=i;f[d>>2]=v;t=x;return w|0}if((f[u>>2]|0)>0){e=0;do{g=f[c+24+(e*12|0)+8>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{w=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);e=e+1|0}while((e|0)<(f[u>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);v=0;w=i;f[d>>2]=v;t=x;return w|0}else{v=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);v=0;w=i;f[d>>2]=v;t=x;return w|0}return 0}function iw(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=t;t=t+112|0;k=l+88|0;i=l;if(f[a>>2]|0){a=0;t=l;return a|0}f[i>>2]=d;do if(!(Mc()|0)){j=k+4|0;f[j>>2]=l+16;f[k>>2]=0;f[k+8>>2]=70;e=k+12|0;f[e>>2]=1e9;g=k+16|0;f[g>>2]=0;b[k+20>>0]=0;h=k+21|0;b[h>>0]=0;Bc(k,c,i);d=f[j>>2]|0;if((d|0?(b[d+(f[g>>2]|0)>>0]=0,f[e>>2]|0):0)?(b[h>>0]&4)==0:0){d=Cc(k)|0;break}d=f[j>>2]|0}else d=0;while(0);if(!d)f[a>>2]=7;a=d;t=l;return a|0}function jw(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;r=t;t=t+16|0;o=r+8|0;q=r;if(c|0){m=b[c>>0]|0;l=h[1232+(m&255)>>0]|0;i=l+-112|0;m=m<<24>>24==0;if(!(m|(i|0)!=0)){j=67870;k=c;do{k=k+1|0;j=j+1|0;s=b[k>>0]|0;i=(h[1232+(s&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(i|0)!=0))}if(!i){k=e+8|0;i=d[k>>1]|0;s=i&31;c=h[5792+s>>0]|0;if((s|16|0)==18){i=b[e+10>>0]|0;c=e+16|0;j=e+12|0;if(!(jf(f[c>>2]|0,o,f[j>>2]|0,i)|0))i=d[k>>1]|0;else{if(!(kf(f[c>>2]|0,q,f[j>>2]|0,i)|0)){s=f[q+4>>2]|0;i=e;f[i>>2]=f[q>>2];f[i+4>>2]=s;i=4}else{p[e>>3]=+p[o>>3];i=8}i=d[k>>1]&-3|i;d[k>>1]=i}c=h[5792+(i&31)>>0]|0}a:do if((c|0)==1){i=i&65535;do if(!(i&4)){if(i&8|0){i=Fc(+p[e>>3])|0;ba()|0;break}if(!(i&18))break a;i=Gc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)|0;ba()|0}else i=f[e>>2]|0;while(0);if((i+-1|0)>>>0<=131071){f[a+68>>2]=i;s=0;t=r;return s|0}}while(0);f[g>>2]=1;s=0;t=r;return s|0}i=l+-104|0;if(!(m|(i|0)!=0)){j=67875;k=c;do{k=k+1|0;j=j+1|0;s=b[k>>0]|0;i=(h[1232+(s&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(i|0)!=0))}if(!i){k=e+8|0;i=d[k>>1]|0;s=i&31;c=h[5792+s>>0]|0;if((s|16|0)==18){i=b[e+10>>0]|0;c=e+16|0;j=e+12|0;if(!(jf(f[c>>2]|0,o,f[j>>2]|0,i)|0))i=d[k>>1]|0;else{if(!(kf(f[c>>2]|0,q,f[j>>2]|0,i)|0)){s=f[q+4>>2]|0;i=e;f[i>>2]=f[q>>2];f[i+4>>2]=s;i=4}else{p[e>>3]=+p[o>>3];i=8}i=d[k>>1]&-3|i;d[k>>1]=i}c=h[5792+(i&31)>>0]|0}b:do if((c|0)==1){i=i&65535;do if(!(i&4)){if(i&8|0){i=Fc(+p[e>>3])|0;ba()|0;break}if(!(i&18))break b;i=Gc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)|0;ba()|0}else i=f[e>>2]|0;while(0);if((i|0)>=1){f[a+84>>2]=i;s=0;t=r;return s|0}}while(0);f[g>>2]=1;s=0;t=r;return s|0}i=l+-97|0;if(!(m|(i|0)!=0)){j=67884;k=c;do{k=k+1|0;j=j+1|0;s=b[k>>0]|0;i=(h[1232+(s&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(i|0)!=0))}if(!i){k=e+8|0;i=d[k>>1]|0;s=i&31;c=h[5792+s>>0]|0;if((s|16|0)==18){i=b[e+10>>0]|0;c=e+16|0;j=e+12|0;if(!(jf(f[c>>2]|0,o,f[j>>2]|0,i)|0))i=d[k>>1]|0;else{if(!(kf(f[c>>2]|0,q,f[j>>2]|0,i)|0)){s=f[q+4>>2]|0;i=e;f[i>>2]=f[q>>2];f[i+4>>2]=s;i=4}else{p[e>>3]=+p[o>>3];i=8}i=d[k>>1]&-3|i;d[k>>1]=i}c=h[5792+(i&31)>>0]|0}do if((c|0)==1){i=i&65535;do if(!(i&4)){if(i&8|0){i=Fc(+p[e>>3])|0;ba()|0;n=65;break}if(!(i&18))i=0;else{i=Gc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)|0;ba()|0;n=65}}else{i=f[e>>2]|0;n=65}while(0);if((n|0)==65){if(i>>>0>64)break;i=(i|0)==1?4:i}f[a+72>>2]=i;s=0;t=r;return s|0}while(0);f[g>>2]=1;s=0;t=r;return s|0}i=l+-117|0;if(!(m|(i|0)!=0)){j=67894;k=c;do{k=k+1|0;j=j+1|0;s=b[k>>0]|0;i=(h[1232+(s&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(i|0)!=0))}if(!i){k=e+8|0;i=d[k>>1]|0;s=i&31;c=h[5792+s>>0]|0;if((s|16|0)==18){i=b[e+10>>0]|0;c=e+16|0;j=e+12|0;if(!(jf(f[c>>2]|0,o,f[j>>2]|0,i)|0))i=d[k>>1]|0;else{if(!(kf(f[c>>2]|0,q,f[j>>2]|0,i)|0)){s=f[q+4>>2]|0;i=e;f[i>>2]=f[q>>2];f[i+4>>2]=s;i=4}else{p[e>>3]=+p[o>>3];i=8}i=d[k>>1]&-3|i;d[k>>1]=i}c=h[5792+(i&31)>>0]|0}c:do if((c|0)==1){i=i&65535;do if(!(i&4)){if(i&8|0){i=Fc(+p[e>>3])|0;ba()|0;break}if(!(i&18))break c;i=Gc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)|0;ba()|0}else i=f[e>>2]|0;while(0);if((i+-2|0)>>>0<=14){f[a+80>>2]=i;s=0;t=r;return s|0}}while(0);f[g>>2]=1;s=0;t=r;return s|0}i=l+-99|0;if(!(m|(i|0)!=0)){j=67904;k=c;do{k=k+1|0;j=j+1|0;s=b[k>>0]|0;i=(h[1232+(s&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(i|0)!=0))}if(!i){k=e+8|0;i=d[k>>1]|0;s=i&31;c=h[5792+s>>0]|0;if((s|16|0)==18){i=b[e+10>>0]|0;c=e+16|0;j=e+12|0;if(!(jf(f[c>>2]|0,o,f[j>>2]|0,i)|0))i=d[k>>1]|0;else{if(!(kf(f[c>>2]|0,q,f[j>>2]|0,i)|0)){s=f[q+4>>2]|0;i=e;f[i>>2]=f[q>>2];f[i+4>>2]=s;i=4}else{p[e>>3]=+p[o>>3];i=8}i=d[k>>1]&-3|i;d[k>>1]=i}c=h[5792+(i&31)>>0]|0}do if((c|0)==1){i=i&65535;do if(!(i&4)){if(i&8|0){i=Fc(+p[e>>3])|0;ba()|0;n=110;break}if(!(i&18))n=113;else{i=Gc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)|0;ba()|0;n=110}}else{i=f[e>>2]|0;n=110}while(0);if((n|0)==110){if((i|0)<0)break;if((i|0)<2)n=113}if((n|0)==113)i=16;f[a+76>>2]=i;s=0;t=r;return s|0}while(0);f[g>>2]=1;s=0;t=r;return s|0}i=l+-114|0;if(!(m|(i|0)!=0)){j=42283;do{c=c+1|0;j=j+1|0;s=b[c>>0]|0;i=(h[1232+(s&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(i|0)!=0))}if(!i){do if(e){i=d[e+8>>1]|0;if((i&514)==514?(b[e+10>>0]|0)==1:0){i=f[e+16>>2]|0;break}if(!(i&1))i=Ic(e,1)|0;else i=0}else i=0;while(0);i=kw(i,o,q)|0;switch(i|0){case 0:{j=a+88|0;i=f[j>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{s=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);i=a+92|0;c=f[i>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{s=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[j>>2]=f[o>>2];f[i>>2]=f[q>>2];i=0;break}case 1:{f[g>>2]=1;i=0;break}default:{}}s=i;t=r;return s|0}}f[g>>2]=1;s=0;t=r;return s|0}function kw(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;f[c>>2]=0;f[d>>2]=0;if(!a){d=1;return d|0}while(1){e=b[a>>0]|0;if(e<<24>>24==32)a=a+1|0;else break}j=a;while(1){i=e<<24>>24;if((i&128|0)==0?(b[26896+i>>0]|0)==0:0)break;e=j+1|0;j=e;e=b[e>>0]|0}h=(j|0)==(a|0);i=h?0:j;if(h){d=1;return d|0}e=a;g=i+1-e|0;h=Fd(g)|0;if(!h)if((g|0)>0){d=7;return d|0}else h=0;else{i=i-e|0;_A(h+i|0,0,(g>>>0>i>>>0?g-i|0:0)|0)|0;YA(h|0,a|0,i|0)|0}a=j;a:while(1)switch(b[a>>0]|0){case 32:{a=a+1|0;break}case 40:{k=14;break a}default:{a=1;break a}}b:do if((k|0)==14){c:while(1){j=a+1|0;switch(b[j>>0]|0){case 32:{a=j;break}case 41:{a=0;break c}default:{k=16;break c}}}do if((k|0)==16){a=j;d:while(1)e:do if((b[a>>0]|0)==32)a=a+1|0;else{a=lw(a)|0;if(!a){a=1;break b}g=a;while(1){a=g+1|0;switch(b[g>>0]|0){case 41:break d;case 44:break e;case 32:{g=a;break}default:{a=1;break b}}}}while(0);i=j;e=a-i|0;a=Fd(e)|0;if(!a)if((e|0)>0){a=7;break b}else{a=0;break}else{k=g-i|0;_A(a+k|0,0,(e>>>0>k>>>0?e-k|0:0)|0)|0;YA(a|0,j|0,k|0)|0;break}}while(0);f[c>>2]=h;f[d>>2]=a;d=0;return d|0}while(0);if(!h){d=a;return d|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);d=a;return d|0}else{d=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);d=a;return d|0}return 0}function lw(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;c=b[a>>0]|0;switch(c<<24>>24|0){case 78:case 110:{g=c&255;c=1232+g|0;if((g|32|0)==110){g=h[a+1>>0]|0;c=1232+g|0;if((g|32|0)==117){g=h[a+2>>0]|0;c=1232+g|0;if((g|32|0)==108){c=h[a+3>>0]|0;if((c|32|0)!=108){d=1232+c|0;e=108;f=3}}else{d=c;e=108;f=3}}else{d=c;e=117;f=3}}else{d=c;e=110;f=3}if((f|0)==3?(e|0)!=(h[d>>0]|0):0){g=0;return g|0}g=a+4|0;return g|0}case 88:case 120:{if((b[a+1>>0]|0)!=39){g=0;return g|0}c=a+2|0;a:while(1){d=b[c>>0]|0;if((d+-48&255)>=10)switch(d<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}c=c+1|0}return (d<<24>>24==39&(c-a&1|0)==0?c+1|0:0)|0}case 39:{c=a+1|0;while(1){if((b[c>>0]|0)==39){c=c+1|0;if((b[c>>0]|0)!=39){f=5;break}}c=c+1|0;if(!(b[c>>0]|0)){c=0;f=5;break}}if((f|0)==5)return c|0;break}default:{switch(c<<24>>24){case 45:case 43:{c=a+1|0;break}default:c=a}while(1){d=b[c>>0]|0;e=c+1|0;if((d+-48&255)>9)break;else c=e}if(d<<24>>24!=46){g=c;a=(g|0)==(a|0);g=a?0:g;return g|0}if(((b[e>>0]|0)+-48&255)>9){g=c;a=(g|0)==(a|0);g=a?0:g;return g|0}c=c+2|0;while(1)if(((b[c>>0]|0)+-48&255)>9)break;else c=c+1|0;g=(c|0)==(a|0);g=g?0:c;return g|0}}return 0}function mw(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;u=t;t=t+16|0;o=u+8|0;k=u;if((d|0)==6?(j=f[e+4>>2]|0,(wz(j)|0)==4):0)j=(Hz(59743,j,4)|0)==0;else j=0;if((d|0)!=5&(j^1)){a=wd(67993,k)|0;f[i>>2]=a;a=0;c=1;f[g>>2]=a;t=u;return c|0}s=e+12|0;r=f[(j?s:e+4|0)>>2]|0;n=e+16|0;s=f[(j?n:s)>>2]|0;j=f[(j?e+20|0:n)>>2]|0;n=wz(r)|0;p=n+1|0;q=(wz(s)|0)+1|0;d=wz(j)|0;m=Fd(d+1|0)|0;if(!m){a=0;c=7;f[g>>2]=a;t=u;return c|0}YA(m|0,j|0,d|0)|0;b[m+d>>0]=0;j=b[m>>0]|0;switch(j<<24>>24){case 96:case 34:case 39:case 91:{l=j<<24>>24==91?93:j;d=b[m+1>>0]|0;a:do if(!(d<<24>>24))j=0;else{e=1;j=0;while(1){k=e+1|0;if(d<<24>>24==l<<24>>24){if((b[m+k>>0]|0)!=l<<24>>24)break a;k=e+2|0;d=l}b[m+j>>0]=d;j=j+1|0;d=b[m+k>>0]|0;if(!(d<<24>>24))break;else e=k}}while(0);b[m+j>>0]=0;j=b[m>>0]|0;break}default:{}}e=h[1232+(j&255)>>0]|0;d=e+-99|0;l=j<<24>>24==0;if(l|(d|0)!=0)j=d;else{d=68026;k=m;do{k=k+1|0;d=d+1|0;v=b[k>>0]|0;j=(h[1232+(v&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(v<<24>>24==0|(j|0)!=0))}if(j){j=e+-114|0;if(!(l|(j|0)!=0)){d=68030;k=m;do{k=k+1|0;d=d+1|0;v=b[k>>0]|0;j=(h[1232+(v&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(v<<24>>24==0|(j|0)!=0))}if(j){j=e+-105|0;if(!(l|(j|0)!=0)){d=68034;k=m;do{k=k+1|0;d=d+1|0;v=b[k>>0]|0;j=(h[1232+(v&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(v<<24>>24==0|(j|0)!=0))}if(!j){k=2;j=0}else{f[o>>2]=m;k=wd(68043,o)|0;f[i>>2]=k;k=0;j=1}}else{k=1;j=0}}else{k=0;j=0}if(!(f[9328]|0))ob[f[37360>>2]&127](m);else{v=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m)}if(j|0){c=0;v=1;f[g>>2]=c;t=u;return v|0}j=wk(a,f[39292+(k<<2)>>2]|0)|0;d=n+33+q|0;if(j|0){c=0;v=j;f[g>>2]=c;t=u;return v|0}i=Fd(d)|0;if(!i){c=0;v=(d|0)>0?7:0;f[g>>2]=c;t=u;return v|0}_A(i|0,0,d|0)|0;f[i+24>>2]=c;f[i+28>>2]=k;f[i+20>>2]=a;v=i+32|0;m=i+12|0;f[m>>2]=v;j=v+q|0;n=i+16|0;f[n>>2]=j;YA(v|0,s|0,q|0)|0;YA(j|0,r|0,p|0)|0;m=f[m>>2]|0;j=b[m>>0]|0;switch(j<<24>>24){case 96:case 34:case 39:case 91:{l=j<<24>>24==91?93:j;d=b[m+1>>0]|0;b:do if(!(d<<24>>24))j=0;else{e=1;j=0;while(1){k=e+1|0;if(d<<24>>24==l<<24>>24){if((b[m+k>>0]|0)!=l<<24>>24)break b;k=e+2|0;d=l}b[m+j>>0]=d;j=j+1|0;d=b[m+k>>0]|0;if(!(d<<24>>24))break;else e=k}}while(0);b[m+j>>0]=0;break}default:{}}m=f[n>>2]|0;j=b[m>>0]|0;switch(j<<24>>24){case 96:case 34:case 39:case 91:break;default:{c=i;v=0;f[g>>2]=c;t=u;return v|0}}l=j<<24>>24==91?93:j;d=b[m+1>>0]|0;c:do if(!(d<<24>>24))j=0;else{e=1;j=0;while(1){k=e+1|0;if(d<<24>>24==l<<24>>24){if((b[m+k>>0]|0)!=l<<24>>24)break c;k=e+2|0;d=l}b[m+j>>0]=d;j=j+1|0;d=b[m+k>>0]|0;if(!(d<<24>>24))break;else e=k}}while(0);b[m+j>>0]=0;c=i;v=0;f[g>>2]=c;t=u;return v|0}function nw(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(d&1|0){r=1;return r|0}a:do if(!(Mc()|0)){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](180)|0;if(!g){g=0;a=7;r=77;break}}else{a=ib[f[37372>>2]&255](180)|0;if((f[18194]|0)>>>0<180)f[18194]=180;i=71896;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){q=f[18187]|0;p=LA(g|0,i|0,a|0,((a|0)<0)<<31>>31|0)|0;o=ba()|0;f[17976]=((o|0)<0|(o|0)==0&p>>>0<=q>>>0)&1}g=ib[f[37356>>2]&255](a)|0;if(!g){g=0;a=7;r=77;break}a=ib[f[37368>>2]&255](g)|0;a=(f[18187]|0)+a|0;f[18187]=a;if(a>>>0>(f[18191]|0)>>>0)f[18191]=a;a=(f[18190]|0)+1|0;f[18190]=a;if(a>>>0>(f[18196]|0)>>>0)f[18196]=a}_A(g|0,0,180)|0;q=g+136|0;f[q>>2]=1;f[g+132>>2]=64;do if(!(Mc()|0)){if(f[9328]|0){a=ib[f[37372>>2]&255](64)|0;if((f[18194]|0)>>>0<64)f[18194]=64;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){p=f[18187]|0;o=LA(i|0,k|0,a|0,((a|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&o>>>0<=p>>>0)&1}a=ib[f[37356>>2]&255](a)|0;if(!a)break;i=ib[f[37368>>2]&255](a)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}else a=ib[f[37356>>2]&255](64)|0;f[g+128>>2]=a;n=(a|0)!=0;o=(d|0)>0;if(n&o){m=0;a=68492;do{k=f[c+(m<<2)>>2]|0;if(k){p=b[k>>0]|0;i=(h[1232+(p&255)>>0]|0)+-99|0;if(!(p<<24>>24==0|(i|0)!=0)){l=68501;do{k=k+1|0;l=l+1|0;p=b[k>>0]|0;i=(h[1232+(p&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(p<<24>>24==0|(i|0)!=0))}if(!i)a=f[c+((m|1)<<2)>>2]|0}m=m+2|0}while((m|0)<(d|0))}else a=68492;if(!n){a=7;r=77;break a}i=b[a>>0]|0;b:do if(i<<24>>24){k=g+148|0;while(1){switch(i<<24>>24){case 9:case 32:{i=a+1|0;a=i;i=b[i>>0]|0;break}case 0:{r=44;break}default:if(!(zw(a,k)|0))r=44;else{a=1;r=77;break a}}c:do if((r|0)==44){r=0;while(1){i=b[a>>0]|0;switch(i<<24>>24){case 0:break b;case 32:case 9:break c;default:{}}a=a+1|0}}while(0)}}while(0);l=0;a=0;while(1){i=j[31392+(l<<1)>>1]|0;p=i>>>5;k=p+a|0;if((a|0)<128&(p|0)!=0){n=a+-128|0;p=a+1|0;p=a-((k|0)>(p|0)?k:p)|0;p=n>>>0>p>>>0?n:p;_A(g+a|0,b[(i&31)+(g+148)>>0]|0,0-p|0)|0;a=a-p|0}if((a|0)<128)l=l+1|0;else break}if(!o){a=0;break a}p=0;do{n=f[c+((p|1)<<2)>>2]|0;i=f[c+(p<<2)>>2]|0;if(!i){a=1;r=77;break a}o=b[i>>0]|0;m=h[1232+(o&255)>>0]|0;a=m+-114|0;o=o<<24>>24==0;if(!(o|(a|0)!=0)){k=68512;l=i;do{l=l+1|0;k=k+1|0;s=b[l>>0]|0;a=(h[1232+(s&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(a|0)!=0))}do if(!a){i=b[n>>0]|0;if((i&-2)<<24>>24==48?(b[n+1>>0]|0)==0:0)a=0;else a=1;f[q>>2]=i<<24>>24==49&1}else{a=m+-116|0;if(!(o|(a|0)!=0)){k=68470;l=i;do{l=l+1|0;k=k+1|0;s=b[l>>0]|0;a=(h[1232+(s&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(a|0)!=0))}if(!a){a=Aw(g,n,1)|0;break}a=m+-115|0;if(!(o|(a|0)!=0)){k=68481;l=i;do{l=l+1|0;k=k+1|0;s=b[l>>0]|0;a=(h[1232+(s&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(a|0)!=0))}if(!a){a=Aw(g,n,0)|0;break}a=m+-99|0;if(!(o|(a|0)!=0)){k=68501;do{i=i+1|0;k=k+1|0;s=b[i>>0]|0;a=(h[1232+(s&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(a|0)!=0))}a=(a|0)!=0&1}while(0);p=p+2|0}while((p|0)<(d|0)&(a|0)==0);if(!a){a=0;break a}else{r=77;break a}}while(0);f[g+128>>2]=0;a=7;r=77}else{g=0;a=7;r=77}while(0);if((r|0)==77){ow(g);g=0}f[e>>2]=g;s=a;return s|0}function ow(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+144>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+128>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function pw(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=e+g|0;x=a+128|0;q=f[x>>2]|0;y=a+132|0;m=f[y>>2]|0;u=e;v=a+136|0;o=q+(m+-6)|0;g=e;d=0;a:while(1){switch(d|0){case 101:{p=47;break a}case 0:break;default:{p=48;break a}}if(g>>>0>=w>>>0){p=47;break}d=g;while(1){l=b[d>>0]|0;g=l&255;if(g&128){e=d+1|0;if((l&255)>191){g=h[5728+(g+-192)>>0]|0;b:do if((e|0)==(w|0))e=w;else while(1){j=b[e>>0]|0;if((j&-64)<<24>>24!=-128)break b;e=e+1|0;g=g<<6|j&63;if((e|0)==(w|0)){e=w;break}}while(0);g=(g&-2|0)==65534|((g|0)<128|(g&-2048|0)==55296)?65533:g}if(!(xw(a,g)|0))d=e;else{p=34;break}}else{if(b[a+g>>0]|0){p=14;break}d=d+1|0}if(d>>>0>=w>>>0){d=0;p=48;break a}}if((p|0)==14){n=d-u|0;e=q;j=o;k=q;g=l;p=44}else if((p|0)==34){s=d-u|0;t=q;r=m;d=e;p=35}while(1){if((p|0)==35){g=yw(g,f[v>>2]|0)|0;if(!g){n=s;j=o;g=r;k=q;e=t}else{if((g|0)<128){e=t;l=1}else{if((g|0)<2048){m=2;l=t;e=1;j=192;k=31}else{if((g|0)<65536){j=3;e=2;k=t;n=1;l=224;m=15}else{b[t>>0]=g>>>18&7|240;j=4;e=3;k=t+1|0;n=2;l=128;m=63}b[k>>0]=g>>>12&m|l;m=j;l=t+n|0;j=128;k=63}b[l>>0]=g>>>6&k|j;e=t+e|0;l=m;g=g&63|128}b[e>>0]=g;n=s;j=o;g=r;k=q;e=t+l|0}}else if((p|0)==44){b[e>>0]=(g+-65&255)<26?(g&255)+32&255:g;g=m;e=e+1|0;d=d+1|0}p=d-u|0;if(d>>>0>=w>>>0)break;if(e>>>0>j>>>0){j=g<<1;k=Fd(j)|0;if(!k){d=7;p=48;break a}t=f[x>>2]|0;e=k+(e-t)|0;YA(k|0,t|0,g|0)|0;g=f[x>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{t=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[x>>2]=k;f[y>>2]=j;o=k+(j+-6)|0;m=j}else{o=j;m=g}l=b[d>>0]|0;g=l&255;if(!(g&128))if(!(b[a+g>>0]|0)){j=o;g=m;break}else{j=o;g=l;p=44;continue}d=d+1|0;if((l&255)>191){g=h[5728+(g+-192)>>0]|0;c:do if((d|0)==(w|0))d=w;else while(1){j=b[d>>0]|0;if((j&-64)<<24>>24!=-128)break c;d=d+1|0;g=g<<6|j&63;if((d|0)==(w|0)){d=w;break}}while(0);g=(g&-2|0)==65534|((g|0)<128|(g&-2048|0)==55296)?65533:g}if(xw(a,g)|0){s=n;t=e;r=m;q=k;p=35;continue}j=g+-768|0;if(j>>>0>49){j=o;g=m;break}t=(g|0)<800;if(!(1<<(t?j:g+-800|0)&(t?134389727:221688))){j=o;g=m;break}else{s=n;t=e;r=m;q=k;p=35}}o=j;m=g;q=k;g=d;d=nb[i&127](c,0,k,e-k|0,n,p)|0}if((p|0)==47){i=0;return i|0}else if((p|0)==48)return d|0;return 0}function qw(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(d&1|0){d=0;q=1;f[e>>2]=d;return q|0}if(Mc()|0){d=0;q=7;f[e>>2]=d;return q|0}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](128)|0;if(!a){d=a;q=7;f[e>>2]=d;return q|0}else p=a}else{a=ib[f[37372>>2]&255](128)|0;if((f[18194]|0)>>>0<128)f[18194]=128;i=71896;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){p=f[18187]|0;o=LA(g|0,i|0,a|0,((a|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&o>>>0<=p>>>0)&1}g=ib[f[37356>>2]&255](a)|0;if(!g){d=0;q=7;f[e>>2]=d;return q|0}a=ib[f[37368>>2]&255](g)|0;a=(f[18187]|0)+a|0;f[18187]=a;if(a>>>0>(f[18191]|0)>>>0)f[18191]=a;a=(f[18190]|0)+1|0;f[18190]=a;if(a>>>0>(f[18196]|0)>>>0)f[18196]=a;p=g;a=g}g=p;i=27024;j=g+128|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));if((d|0)<=0){d=a;q=0;f[e>>2]=d;return q|0}n=0;while(1){o=f[c+((n|1)<<2)>>2]|0;i=f[c+(n<<2)>>2]|0;if(!i)break;m=b[i>>0]|0;l=h[1232+(m&255)>>0]|0;g=l+-116|0;m=m<<24>>24==0;if(!(m|(g|0)!=0)){j=68470;k=i;do{k=k+1|0;j=j+1|0;r=b[k>>0]|0;g=(h[1232+(r&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(r<<24>>24==0|(g|0)!=0))}if(!g){g=b[o>>0]|0;if(g<<24>>24){i=0;do{g=g<<24>>24;if(!(g&128))b[a+g>>0]=1;i=i+1|0;g=b[o+i>>0]|0}while(g<<24>>24!=0)}}else{g=l+-115|0;if(!(m|(g|0)!=0)){j=68481;do{i=i+1|0;j=j+1|0;r=b[i>>0]|0;g=(h[1232+(r&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(r<<24>>24==0|(g|0)!=0))}if(g|0)break;g=b[o>>0]|0;if(g<<24>>24){i=0;do{g=g<<24>>24;if(!(g&128))b[a+g>>0]=0;i=i+1|0;g=b[o+i>>0]|0}while(g<<24>>24!=0)}}n=n+2|0;if((n|0)>=(d|0)){g=0;q=41;break}}if((q|0)==41){f[e>>2]=a;return g|0}if(!p){q=0;r=1;f[e>>2]=q;return r|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](p);q=0;r=1;f[e>>2]=q;return r|0}else{q=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);q=0;r=1;f[e>>2]=q;return r|0}return 0}function rw(a){a=a|0;var b=0;if(!a)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function sw(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=t;t=t+64|0;p=q;if((g|0)<=0){r=0;t=q;return r|0}d=p;m=64;j=0;while(1){a:do if((j|0)<(g|0)){i=j;do{j=b[e+i>>0]|0;if(j&128|0)break a;if(b[a+j>>0]|0)break a;i=i+1|0}while((i|0)<(g|0))}else i=j;while(0);if((i|0)==(g|0)){i=0;break}j=i+1|0;b:do if((j|0)<(g|0)){k=i;l=j;while(1){o=b[e+l>>0]|0;if((o&128|0)==0?(b[a+o>>0]|0)==0:0){j=l;break b}j=l+1|0;if((j|0)<(g|0)){k=l;l=j}else{k=l;break}}}else k=i;while(0);o=j-i|0;if((o|0)>(m|0)){do if(!((d|0)==(p|0)|(d|0)==0))if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{n=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);l=o<<1;d=Fd(l)|0;if(!d){d=7;r=29;break}}else l=m;n=e+i|0;if((o|0)>0){m=0;do{s=b[n+m>>0]|0;b[d+m>>0]=(s+-65&255)<26?(s&255)+32&255:s;m=m+1|0}while((m|0)!=(o|0))}i=nb[h&127](c,0,d,o,i,j)|0;j=k+2|0;if(!((j|0)<(g|0)&(i|0)==0))break;else m=l}if((r|0)==29){t=q;return d|0}do if(!((d|0)==(p|0)|(d|0)==0))if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{s=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);s=(i|0)==101?0:i;t=q;return s|0}function tw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=t;t=t+16|0;k=l;f[k>>2]=0;j=(c|0)>0;if(j)i=f[b>>2]|0;else i=60010;if(Mc()|0){b=0;k=7;f[d>>2]=b;t=l;return k|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](144)|0;if(!e){b=0;k=7;f[d>>2]=b;t=l;return k|0}else h=e}else{e=ib[f[37372>>2]&255](144)|0;if((f[18194]|0)>>>0<144)f[18194]=144;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){m=f[18187]|0;h=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&h>>>0<=m>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(!g){k=0;m=7;f[d>>2]=k;t=l;return m|0}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0){f[18196]=e;h=g}else h=g}_A(h|0,0,144)|0;e=lb[f[a+8>>2]&127](a,i,k,h)|0;g=j?c+-1|0:0;if(!e){e=lb[f[h>>2]&127](f[k>>2]|0,(g|0)==0?0:b+4|0,g,h+12|0)|0;if(!e){k=h;m=0;f[d>>2]=k;t=l;return m|0}}g=f[h+12>>2]|0;if(g|0)ob[f[h+4>>2]&127](g);if(!(f[9328]|0)){ob[f[37360>>2]&127](h);k=0;m=e;f[d>>2]=k;t=l;return m|0}else{k=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);k=0;m=e;f[d>>2]=k;t=l;return m|0}return 0}function uw(a){a=a|0;var b=0;if(!a)return;b=f[a+12>>2]|0;if(b|0)ob[f[a+4>>2]&127](b);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function vw(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;h=t;t=t+16|0;i=h;f[i+4>>2]=g;f[i>>2]=b;f[i+8>>2]=a+16;g=nb[f[a+8>>2]&127](f[a+12>>2]|0,i,c,d,e,87)|0;t=h;return g|0}function ww(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;j=e+-3|0;if(j>>>0>61){L=nb[f[a+4>>2]&127](f[a>>2]|0,c,d,e,g,h)|0;return L|0}L=f[a+8>>2]|0;YA(L|0,d|0,e|0)|0;i=e+-1|0;a:do if((b[L+i>>0]|0)==115){d=e+-2|0;switch(b[L+d>>0]|0){case 115:{d=e;break a}case 101:break;default:{d=i;break a}}if((e|0)>4)if((b[L+(e+-4)>>0]|0)==115?(b[L+j>>0]|0)==115:0)break;else J=8;else if((e|0)==4)J=8;if((J|0)==8?(b[L+j>>0]|0)==105:0)break;d=i}else d=e;while(0);e=d+-2|0;i=L+e|0;b:do switch(b[i>>0]|0){case 101:{if((d|0)>3){k=d+-3|0;l=L+k|0;if(!(Hz(68201,l,3)|0)){i=0;j=0;c:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break c}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break b;d:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break d}}if((i|0)<(k|0))j=0;else break b}if(!i)break b;b[l>>0]=101;b[l+1>>0]=101;d=d+-1|0;break b}}else if((d|0)!=3)break b;if(!(Hz(68205,i,2)|0)){i=0;while(1){j=b[L+i>>0]|0;w=j+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{d=e;J=38;break b}default:{}}if(!((i|0)==0|j<<24>>24!=121)){d=e;J=38;break b}i=i+1|0;if((i|0)>=(e|0))break b}}break}case 110:{if((d|0)>3?(k=d+-3|0,(Hz(68208,L+k|0,3)|0)==0):0){i=0;while(1){j=b[L+i>>0]|0;w=j+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{d=k;J=38;break b}default:{}}if(!((i|0)==0|j<<24>>24!=121)){d=k;J=38;break b}i=i+1|0;if((i|0)>=(k|0))break b}}break}default:{}}while(0);e:do if((J|0)==38){i=L+(d+-2)|0;j=b[i>>0]|0;switch(j<<24>>24|0){case 97:{if((d|0)>2?(Hz(68212,i,2)|0)==0:0){b[i>>0]=b[68215]|0;b[i+1>>0]=b[68216]|0;b[i+2>>0]=b[68217]|0;d=d+1|0;break e}break}case 98:{if((d|0)>2?(Hz(68219,i,2)|0)==0:0){b[i>>0]=b[68222]|0;b[i+1>>0]=b[68223]|0;b[i+2>>0]=b[68224]|0;d=d+1|0;break e}break}case 105:{if((d|0)>2?(Hz(68226,i,2)|0)==0:0){b[i>>0]=b[68229]|0;b[i+1>>0]=b[68230]|0;b[i+2>>0]=b[68231]|0;d=d+1|0;break e}break}default:{}}i=d+-1|0;n=b[L+i>>0]|0;w=n+-97<<24>>24;f:do switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:break;default:{switch(n<<24>>24){case 108:case 115:case 122:break f;default:{}}if(n<<24>>24==j<<24>>24){d=i;break e}}}while(0);m=(d|0)>0;g:do if(m){i=0;j=0;while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break g}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break g}i=i+1|0;if((i|0)<(d|0))j=1;else{j=1;break g}}}else{i=0;j=0}while(0);i=i+1|0;if((i|0)<(d|0)){h:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break h}}if((i|0)<(d|0))j=0;else break e}if(i){l=L+i|0;k=d-i|0;i:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;w=j+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break i}default:{}}if(j<<24>>24==121){j=0;break i}i=i+1|0;if((i|0)>=(k|0)){j=1;break i}}}else{i=0;j=1}while(0);i=i+1|0;j:do if((i|0)<(k|0)){k:while(1){e=b[l+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break k}}if((i|0)<(k|0))j=0;else break j}if(i|0)break e}while(0);if(m&(n+-119&255)>2){e=0;k=0;i=0;do{j=b[L+k>>0]|0;w=j+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=1;break}default:i=(i|0)!=0&j<<24>>24==121&1}i=i^1;e=i|e<<1;k=k+1|0}while((k|0)!=(d|0));if((e&7|0)==5){b[L+d>>0]=101;d=d+1|0}}}}}while(0);m=d+-1|0;j=L+m|0;l:do if((d|0)>1&(b[j>>0]|0)==121){i=0;m:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:break m;default:{}}if(!((i|0)==0|e<<24>>24!=121))break;i=i+1|0;if((i|0)>=(m|0))break l}b[j>>0]=105}while(0);w=d+-2|0;n:do switch(b[L+w>>0]|0){case 97:{if((d|0)>7){k=d+-7|0;l=L+k|0;if(!(Hz(68233,l,7)|0)){i=0;j=0;o:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break o}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;p:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break p}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=b[68215]|0;b[l+1>>0]=b[68216]|0;b[l+2>>0]=b[68217]|0;d=d+-4|0;break n}}else if((d|0)!=7)break n;k=d+-6|0;l=L+k|0;if(!(Hz(68241,l,6)|0)){i=0;j=0;q:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break q}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(k|0)){r:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break r}}if((i|0)<(k|0))j=0;else break n}if(i){b[l>>0]=116;b[l+1>>0]=105;b[l+2>>0]=111;b[l+3>>0]=110;d=w}}}break}case 99:{if((d|0)>4){k=d+-4|0;l=L+k|0;if(!(Hz(68248,l,4)|0)){i=0;j=0;s:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break s}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;t:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break t}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=101;b[l+1>>0]=110;b[l+2>>0]=99;b[l+3>>0]=101;break n}if(!(Hz(68253,l,4)|0)){i=0;j=0;u:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break u}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(k|0)){v:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break v}}if((i|0)<(k|0))j=0;else break n}if(i){b[l>>0]=97;b[l+1>>0]=110;b[l+2>>0]=99;b[l+3>>0]=101}}}}break}case 101:{if((d|0)>4?(o=d+-4|0,p=L+o|0,(Hz(68258,p,4)|0)==0):0){i=0;j=0;w:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break w}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(o|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(o|0)){x:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break x}}if((i|0)<(o|0))j=0;else break n}if(i){b[p>>0]=b[68229]|0;b[p+1>>0]=b[68230]|0;b[p+2>>0]=b[68231]|0;d=m}}}break}case 103:{if((d|0)>4?(q=d+-4|0,r=L+q|0,(Hz(68263,r,4)|0)==0):0){i=0;j=0;y:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break y}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(q|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(q|0)){z:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break z}}if((i|0)<(q|0))j=0;else break n}if(i){b[r>>0]=b[47891]|0;b[r+1>>0]=b[47892]|0;b[r+2>>0]=b[47893]|0;d=m}}}break}case 108:{if((d|0)>3){m=d+-3|0;n=L+m|0;if(!(Hz(68268,n,3)|0)){i=0;j=0;A:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break A}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(m|0))break n;B:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break B}}if((i|0)<(m|0))j=0;else break n}if(!i)break n;b[n>>0]=b[68222]|0;b[n+1>>0]=b[68223]|0;b[n+2>>0]=b[68224]|0;break n}if((d|0)>4){k=d+-4|0;l=L+k|0;if(!(Hz(68272,l,4)|0)){i=0;j=0;C:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break C}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;D:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break D}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=97;b[l+1>>0]=108;d=w;break n}if((d|0)>5){k=d+-5|0;l=L+k|0;if(!(Hz(68277,l,5)|0)){i=0;j=0;E:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break E}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;F:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break F}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=b[68283]|0;b[l+1>>0]=b[68284]|0;b[l+2>>0]=b[68285]|0;d=w;break n}else i=1}else i=0}else i=0;if(!(Hz(68287,n,3)|0)){i=0;j=0;G:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break G}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(m|0))break n;H:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break H}}if((i|0)<(m|0))j=0;else break n}if(!i)break n;b[n>>0]=101;d=w;break n}if(i?(u=d+-5|0,v=L+u|0,(Hz(68291,v,5)|0)==0):0){I:do if((d|0)>5){i=0;j=0;while(1){e=b[L+i>>0]|0;t=e+-97<<24>>24;switch(((t&255)>>>1|t<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break I}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break I}i=i+1|0;if((i|0)<(u|0))j=1;else{j=1;break I}}}else{i=0;j=0}while(0);i=i+1|0;if((i|0)<(u|0)){J:while(1){e=b[L+i>>0]|0;t=e+-97<<24>>24;switch(((t&255)>>>1|t<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break J}}if((i|0)<(u|0))j=0;else break n}if(i){b[v>>0]=b[68297]|0;b[v+1>>0]=b[68298]|0;b[v+2>>0]=b[68299]|0;d=w}}}}break}case 111:{if((d|0)>7){k=d+-7|0;l=L+k|0;if(!(Hz(68301,l,7)|0)){i=0;j=0;K:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break K}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;L:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break L}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=b[68229]|0;b[l+1>>0]=b[68230]|0;b[l+2>>0]=b[68231]|0;d=d+-4|0;break n}else J=257}else if((d|0)<=5){if((d|0)!=5)break n}else J=257;if((J|0)==257?(s=d+-5|0,t=L+s|0,(Hz(68309,t,5)|0)==0):0){i=0;j=0;M:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break M}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(s|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(s|0))break n;N:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break N}}if((i|0)<(s|0))j=0;else break n}if(!i)break n;b[t>>0]=b[68215]|0;b[t+1>>0]=b[68216]|0;b[t+2>>0]=b[68217]|0;d=w;break n}k=d+-4|0;l=L+k|0;if(!(Hz(68315,l,4)|0)){i=0;j=0;O:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break O}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(k|0)){P:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break P}}if((i|0)<(k|0))j=0;else break n}if(i){b[l>>0]=b[68215]|0;b[l+1>>0]=b[68216]|0;b[l+2>>0]=b[68217]|0;d=m}}}break}case 115:{if((d|0)>5){k=d+-5|0;l=L+k|0;if(!(Hz(68320,l,5)|0)){i=0;j=0;Q:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Q}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;R:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break R}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=97;b[l+1>>0]=108;d=d+-3|0;break n}if((d|0)>7){k=d+-7|0;l=L+k|0;if(!(Hz(68326,l,7)|0)){i=0;j=0;S:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break S}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;T:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break T}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=b[68334]|0;b[l+1>>0]=b[68335]|0;b[l+2>>0]=b[68336]|0;d=d+-4|0;break n}if(!(Hz(68338,l,7)|0)){i=0;j=0;U:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break U}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;V:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break V}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=b[68346]|0;b[l+1>>0]=b[68347]|0;b[l+2>>0]=b[68348]|0;d=d+-4|0;break n}if(!(Hz(68350,l,7)|0)){i=0;j=0;W:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break W}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(k|0)){X:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break X}}if((i|0)<(k|0))j=0;else break n}if(i){b[l>>0]=b[68297]|0;b[l+1>>0]=b[68298]|0;b[l+2>>0]=b[68299]|0;d=d+-4|0}}}}}break}case 116:{if((d|0)>5){k=d+-5|0;l=L+k|0;if(!(Hz(68358,l,5)|0)){i=0;j=0;Y:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Y}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;Z:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Z}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=97;b[l+1>>0]=108;d=d+-3|0;break n}if(!(Hz(68364,l,5)|0)){i=0;j=0;_:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break _}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;$:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break $}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=b[68334]|0;b[l+1>>0]=b[68335]|0;b[l+2>>0]=b[68336]|0;d=w;break n}if((d|0)>6){k=d+-6|0;l=L+k|0;if(!(Hz(68370,l,6)|0)){i=0;j=0;aa:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break aa}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(k|0)){ba:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break ba}}if((i|0)<(k|0))j=0;else break n}if(i){b[l>>0]=b[68222]|0;b[l+1>>0]=b[68223]|0;b[l+2>>0]=b[68224]|0;d=d+-3|0}}}}else d=6}break}default:{}}while(0);k=d+-2|0;ca:do switch(b[L+k>>0]|0){case 97:{if((d|0)>4?(B=d+-4|0,C=L+B|0,(Hz(68377,C,4)|0)==0):0){i=0;j=0;da:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break da}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(B|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(B|0)){ea:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break ea}}if((i|0)<(B|0))j=0;else break ca}if(i){b[C>>0]=105;b[C+1>>0]=99;d=k}}}break}case 115:{if((d|0)>4?(D=d+-4|0,(Hz(68382,L+D|0,4)|0)==0):0){i=0;j=0;fa:while(1){e=b[L+i>>0]|0;C=e+-97<<24>>24;switch(((C&255)>>>1|C<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break fa}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(D|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(D|0)){ga:while(1){e=b[L+i>>0]|0;C=e+-97<<24>>24;switch(((C&255)>>>1|C<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break ga}}if((i|0)<(D|0))j=0;else break ca}d=(i|0)==0?d:D}}break}case 116:{if((d|0)>5){k=d+-5|0;l=L+k|0;if(!(Hz(68387,l,5)|0)){i=0;j=0;ha:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break ha}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break ca;ia:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break ia}}if((i|0)<(k|0))j=0;else break ca}if(!i)break ca;b[l>>0]=105;b[l+1>>0]=99;d=d+-3|0;break ca}if(!(Hz(68393,l,5)|0)){i=0;j=0;ja:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break ja}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(k|0)){ka:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break ka}}if((i|0)<(k|0))j=0;else break ca}if(i){b[l>>0]=105;b[l+1>>0]=99;d=d+-3|0}}}}break}case 117:{if((d|0)>3?(x=d+-3|0,(Hz(68346,L+x|0,3)|0)==0):0){i=0;j=0;la:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break la}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(x|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(x|0)){ma:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break ma}}if((i|0)<(x|0))j=0;else break ca}d=(i|0)==0?d:x}}break}case 118:{if((d|0)>5?(y=d+-5|0,(Hz(68399,L+y|0,5)|0)==0):0){i=0;j=0;na:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break na}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(y|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(y|0)){oa:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break oa}}if((i|0)<(y|0))j=0;else break ca}d=(i|0)==0?d:y}}break}case 122:{if((d|0)>5?(z=d+-5|0,A=L+z|0,(Hz(68405,A,5)|0)==0):0){i=0;j=0;pa:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break pa}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(z|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(z|0)){qa:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break qa}}if((i|0)<(z|0))j=0;else break ca}if(i){b[A>>0]=97;b[A+1>>0]=108;d=d+-3|0}}}break}default:{}}while(0);n=d+-2|0;i=L+n|0;ra:do switch(b[i>>0]|0){case 97:{if((d|0)>2?(Hz(68411,i,2)|0)==0:0){i=0;j=0;sa:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break sa}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(n|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(n|0)){ta:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break ta}}if((i|0)<(n|0))j=0;else break ra}if(i){l=L+i|0;k=n-i|0;ua:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break ua}default:{}}if(j<<24>>24==121){j=0;break ua}i=i+1|0;if((i|0)>=(k|0)){j=1;break ua}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){va:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break va}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:n}}}}break}case 99:{if((d|0)>4){m=d+-4|0;i=L+m|0;if(!(Hz(68414,i,4)|0)){i=0;j=0;wa:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break wa}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(m|0))break ra;xa:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break xa}}if((i|0)<(m|0))j=0;else break ra}if(!i)break ra;l=L+i|0;k=m-i|0;ya:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break ya}default:{}}if(j<<24>>24==121){j=0;break ya}i=i+1|0;if((i|0)>=(k|0)){j=1;break ya}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)>=(k|0))break ra;za:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break za}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:m;break ra}if(!(Hz(68419,i,4)|0)){i=0;j=0;Aa:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Aa}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(m|0)){Ba:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Ba}}if((i|0)<(m|0))j=0;else break ra}if(i){l=L+i|0;k=m-i|0;Ca:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ca}default:{}}if(j<<24>>24==121){j=0;break Ca}i=i+1|0;if((i|0)>=(k|0)){j=1;break Ca}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){Da:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Da}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:m}}}}}break}case 101:{if((d|0)>2?(Hz(68424,i,2)|0)==0:0){i=0;j=0;Ea:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ea}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(n|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(n|0)){Fa:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Fa}}if((i|0)<(n|0))j=0;else break ra}if(i){l=L+i|0;k=n-i|0;Ga:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ga}default:{}}if(j<<24>>24==121){j=0;break Ga}i=i+1|0;if((i|0)>=(k|0)){j=1;break Ga}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){Ha:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Ha}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:n}}}}break}case 105:{if((d|0)>2?(Hz(68427,i,2)|0)==0:0){i=0;j=0;Ia:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ia}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(n|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(n|0)){Ja:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Ja}}if((i|0)<(n|0))j=0;else break ra}if(i){l=L+i|0;k=n-i|0;Ka:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ka}default:{}}if(j<<24>>24==121){j=0;break Ka}i=i+1|0;if((i|0)>=(k|0)){j=1;break Ka}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){La:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break La}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:n}}}}break}case 108:{if((d|0)>4){m=d+-4|0;i=L+m|0;if(!(Hz(68430,i,4)|0)){i=0;j=0;Ma:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ma}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(m|0))break ra;Na:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Na}}if((i|0)<(m|0))j=0;else break ra}if(!i)break ra;l=L+i|0;k=m-i|0;Oa:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Oa}default:{}}if(j<<24>>24==121){j=0;break Oa}i=i+1|0;if((i|0)>=(k|0)){j=1;break Oa}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)>=(k|0))break ra;Pa:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Pa}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:m;break ra}if(!(Hz(68435,i,4)|0)){i=0;j=0;Qa:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Qa}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(m|0)){Ra:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Ra}}if((i|0)<(m|0))j=0;else break ra}if(i){l=L+i|0;k=m-i|0;Sa:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Sa}default:{}}if(j<<24>>24==121){j=0;break Sa}i=i+1|0;if((i|0)>=(k|0)){j=1;break Sa}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){Ta:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Ta}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:m}}}}}break}case 110:{if((d|0)>3){n=d+-3|0;i=L+n|0;if(!(Hz(68440,i,3)|0)){i=0;j=0;Ua:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ua}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(n|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(n|0))break ra;Va:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Va}}if((i|0)<(n|0))j=0;else break ra}if(!i)break ra;l=L+i|0;k=n-i|0;Wa:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Wa}default:{}}if(j<<24>>24==121){j=0;break Wa}i=i+1|0;if((i|0)>=(k|0)){j=1;break Wa}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)>=(k|0))break ra;Xa:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Xa}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:n;break ra}if((d|0)>5){m=d+-5|0;if(!(Hz(68444,L+m|0,5)|0)){i=0;j=0;Ya:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ya}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(m|0))break ra;Za:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Za}}if((i|0)<(m|0))j=0;else break ra}if(!i)break ra;l=L+i|0;k=m-i|0;_a:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break _a}default:{}}if(j<<24>>24==121){j=0;break _a}i=i+1|0;if((i|0)>=(k|0)){j=1;break _a}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)>=(k|0))break ra;$a:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break $a}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:m;break ra}else J=699}else if((d|0)==5)J=699;if((J|0)==699?(I=d+-4|0,(Hz(68450,L+I|0,4)|0)==0):0){i=0;j=0;ab:while(1){e=b[L+i>>0]|0;H=e+-97<<24>>24;switch(((H&255)>>>1|H<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break ab}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(I|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(I|0))break ra;bb:while(1){e=b[L+i>>0]|0;H=e+-97<<24>>24;switch(((H&255)>>>1|H<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break bb}}if((i|0)<(I|0))j=0;else break ra}if(!i)break ra;l=L+i|0;k=I-i|0;cb:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;H=j+-97<<24>>24;switch(((H&255)>>>1|H<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break cb}default:{}}if(j<<24>>24==121){j=0;break cb}i=i+1|0;if((i|0)>=(k|0)){j=1;break cb}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)>=(k|0))break ra;db:while(1){e=b[l+i>>0]|0;H=e+-97<<24>>24;switch(((H&255)>>>1|H<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break db}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:I;break ra}if(!(Hz(68283,i,3)|0)){i=0;j=0;eb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break eb}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(n|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(n|0)){fb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break fb}}if((i|0)<(n|0))j=0;else break ra}if(i){l=L+i|0;k=n-i|0;gb:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break gb}default:{}}if(j<<24>>24==121){j=0;break gb}i=i+1|0;if((i|0)>=(k|0)){j=1;break gb}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){hb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break hb}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:n}}}}}break}case 111:{if((d|0)>3){m=d+-3|0;if(!(Hz(68455,L+m|0,3)|0)){if(((b[L+(d+-4)>>0]|0)+-115&255)>=2)break ra;i=0;j=0;ib:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break ib}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(m|0))break ra;jb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break jb}}if((i|0)<(m|0))j=0;else break ra}if(!i)break ra;l=L+i|0;k=m-i|0;kb:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break kb}default:{}}if(j<<24>>24==121){j=0;break kb}i=i+1|0;if((i|0)>=(k|0)){j=1;break kb}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)>=(k|0))break ra;lb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break lb}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:m;break ra}}else if((d|0)!=3)break ra;if(!(Hz(68459,i,2)|0)){i=0;j=0;mb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break mb}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(n|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(n|0)){nb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break nb}}if((i|0)<(n|0))j=0;else break ra}if(i){l=L+i|0;k=n-i|0;ob:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break ob}default:{}}if(j<<24>>24==121){j=0;break ob}i=i+1|0;if((i|0)>=(k|0)){j=1;break ob}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){pb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break pb}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:n}}}}break}case 115:{if((d|0)>3?(E=d+-3|0,(Hz(68462,L+E|0,3)|0)==0):0){i=0;j=0;qb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break qb}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(E|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(E|0)){rb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break rb}}if((i|0)<(E|0))j=0;else break ra}if(i){l=L+i|0;k=E-i|0;sb:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break sb}default:{}}if(j<<24>>24==121){j=0;break sb}i=i+1|0;if((i|0)>=(k|0)){j=1;break sb}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){tb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break tb}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:E}}}}break}case 116:{if((d|0)>3){m=d+-3|0;i=L+m|0;if(!(Hz(68215,i,3)|0)){i=0;j=0;ub:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break ub}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(m|0))break ra;vb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break vb}}if((i|0)<(m|0))j=0;else break ra}if(!i)break ra;l=L+i|0;k=m-i|0;wb:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break wb}default:{}}if(j<<24>>24==121){j=0;break wb}i=i+1|0;if((i|0)>=(k|0)){j=1;break wb}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)>=(k|0))break ra;xb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break xb}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:m;break ra}if(!(Hz(68466,i,3)|0)){i=0;j=0;yb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break yb}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(m|0)){zb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break zb}}if((i|0)<(m|0))j=0;else break ra}if(i){l=L+i|0;k=m-i|0;Ab:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ab}default:{}}if(j<<24>>24==121){j=0;break Ab}i=i+1|0;if((i|0)>=(k|0)){j=1;break Ab}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){Bb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Bb}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:m}}}}}break}case 117:{if((d|0)>3?(F=d+-3|0,(Hz(68297,L+F|0,3)|0)==0):0){i=0;j=0;Cb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Cb}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(F|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(F|0)){Db:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Db}}if((i|0)<(F|0))j=0;else break ra}if(i){l=L+i|0;k=F-i|0;Eb:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Eb}default:{}}if(j<<24>>24==121){j=0;break Eb}i=i+1|0;if((i|0)>=(k|0)){j=1;break Eb}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){Fb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Fb}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:F}}}}break}case 118:{if((d|0)>3?(G=d+-3|0,(Hz(68334,L+G|0,3)|0)==0):0){i=0;j=0;Gb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Gb}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(G|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(G|0)){Hb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Hb}}if((i|0)<(G|0))j=0;else break ra}if(i){l=L+i|0;k=G-i|0;Ib:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ib}default:{}}if(j<<24>>24==121){j=0;break Ib}i=i+1|0;if((i|0)>=(k|0)){j=1;break Ib}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){Jb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Jb}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:G}}}}break}case 122:{if((d|0)>3?(H=d+-3|0,(Hz(68229,L+H|0,3)|0)==0):0){i=0;j=0;Kb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Kb}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(H|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(H|0)){Lb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Lb}}if((i|0)<(H|0))j=0;else break ra}if(i){l=L+i|0;k=H-i|0;Mb:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Mb}default:{}}if(j<<24>>24==121){j=0;break Mb}i=i+1|0;if((i|0)>=(k|0)){j=1;break Mb}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){Nb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Nb}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:H}}}}break}default:{}}while(0);n=d+-1|0;Ob:do if((b[L+n>>0]|0)==101){m=(d|0)>1;Pb:do if(m){i=0;j=0;while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Pb}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break Pb}i=i+1|0;if((i|0)<(n|0))j=1;else{j=1;break Pb}}}else{i=0;j=0}while(0);i=i+1|0;Qb:do if((i|0)<(n|0)){Rb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Rb}}if((i|0)<(n|0))j=0;else{J=972;break Qb}}if(i){l=L+i|0;k=n-i|0;Sb:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Sb}default:{}}if(j<<24>>24==121){j=0;break Sb}i=i+1|0;if((i|0)>=(k|0)){j=1;break Sb}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){Tb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Tb}}if((i|0)<(k|0))j=0;else{J=972;break Qb}}if(!i)J=972}else J=972}else J=972}else J=972;while(0);if((J|0)==972){Ub:do if(m){i=0;j=0;while(1){e=b[L+i>>0]|0;J=e+-97<<24>>24;switch(((J&255)>>>1|J<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ub}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break Ub}i=i+1|0;if((i|0)<(n|0))j=1;else{j=1;break Ub}}}else{i=0;j=0}while(0);i=i+1|0;if((i|0)>=(n|0))break;Vb:while(1){e=b[L+i>>0]|0;J=e+-97<<24>>24;switch(((J&255)>>>1|J<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Vb}}if((i|0)<(n|0))j=0;else break Ob}if(!i)break;l=L+i|0;k=n-i|0;Wb:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;J=j+-97<<24>>24;switch(((J&255)>>>1|J<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Wb}default:{}}if(j<<24>>24==121){j=0;break Wb}i=i+1|0;if((i|0)>=(k|0)){j=1;break Wb}}}else{i=0;j=1}while(0);i=i+1|0;Xb:do if((i|0)<(k|0)){Yb:while(1){e=b[l+i>>0]|0;J=e+-97<<24>>24;switch(((J&255)>>>1|J<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Yb}}if((i|0)<(k|0))j=0;else break Xb}if(i|0)break Ob}while(0);if(m&((b[L+(d+-2)>>0]|0)+-119&255)>2){e=0;k=0;i=0;do{j=b[L+k>>0]|0;J=j+-97<<24>>24;switch(((J&255)>>>1|J<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=1;break}default:i=(i|0)!=0&j<<24>>24==121&1}i=i^1;e=i|e<<1;k=k+1|0}while((k|0)!=(n|0));if((e&7|0)==5)break}}d=n}while(0);Zb:do if(((d|0)>1?(K=d+-1|0,(b[L+K>>0]|0)==108):0)?(b[L+(d+-2)>>0]|0)==108:0){i=0;j=0;_b:while(1){e=b[L+i>>0]|0;J=e+-97<<24>>24;switch(((J&255)>>>1|J<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break _b}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(K|0))j=1;else{j=1;break}}i=i+1|0;$b:do if((i|0)<(K|0)){ac:while(1){e=b[L+i>>0]|0;J=e+-97<<24>>24;switch(((J&255)>>>1|J<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break ac}}if((i|0)<(K|0))j=0;else break $b}if(i|0){l=L+i|0;k=K-i|0;bc:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;J=j+-97<<24>>24;switch(((J&255)>>>1|J<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break bc}default:{}}if(j<<24>>24==121){j=0;break bc}i=i+1|0;if((i|0)>=(k|0)){j=1;break bc}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){cc:while(1){e=b[l+i>>0]|0;J=e+-97<<24>>24;switch(((J&255)>>>1|J<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break cc}}if((i|0)<(k|0))j=0;else break $b}if(i|0){d=K;break Zb}}}}while(0)}while(0);L=nb[f[a+4>>2]&127](f[a>>2]|0,c,L,d,g,h)|0;return L|0}function xw(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0;if((b|0)<=1048575?(c=b>>16,g=d[27808+(c<<1)>>1]|0,c=d[27808+(c+1<<1)>>1]|0,(c&65535)>(g&65535)):0){k=b&65535;i=-1;e=c&65535;c=g&65535;do{g=(c+e|0)/2|0;n=k>>>0<(j[27856+(g<<1)>>1]|0)>>>0;c=n?c:g+1|0;e=n?g:e;i=n?i:g}while((e|0)>(c|0));if((i|0)>=0?(l=j[27856+(i<<1)>>1]|0,m=j[31392+(i<<1)>>1]|0,k>>>0<((m>>>5)+l|0)>>>0):0){c=m&31;c=(c|0)==30?(b-l<<2&4^4)+5|0:c}else c=0}else c=0;l=h[a+148+c>>0]|0;c=f[a+140>>2]|0;if((c|0)<=0){n=0;n=n^l;return n|0}k=f[a+144>>2]|0;c=c+-1|0;e=0;while(1){g=(e+c|0)/2|0;n=f[k+(g<<2)>>2]|0;i=(n|0)<(b|0);if((n|0)==(b|0)){c=1;e=12;break}c=i?c:g+-1|0;e=i?g+1|0:e;if((c|0)<(e|0)){c=0;e=12;break}}if((e|0)==12){n=c^l;return n|0}return 0}function yw(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,i=0,k=0;if((a|0)<128)return ((a+-65|0)>>>0<26?a+32|0:a)|0;if((a|0)>=65536){c=(a+-66560|0)>>>0<40?a+40|0:a;return c|0}d=162;f=-1;e=0;do{i=(d+e|0)/2|0;k=(j[27152+(i<<2)>>1]|0)>(a|0);e=k?e:i+1|0;f=k?f:i;d=k?i+-1|0:d}while((d|0)>=(e|0));d=j[27152+(f<<2)>>1]|0;if(((h[27152+(f<<2)+3>>0]|0)+d|0)>(a|0)?(g=h[27152+(f<<2)+2>>0]|0,((d^a)&1&g|0)==0):0)a=(j[26304+(g>>>1<<1)>>1]|0)+a&65535;if(!c){k=a;return k|0}g=a<<3|7;d=0;e=100;f=0;do{k=(e+d|0)/2|0;i=g>>>0<(j[26464+(k<<1)>>1]|0)>>>0;e=i?k+-1|0:e;d=i?d:k+1|0;f=i?f:k}while((e|0)>=(d|0));k=j[26464+(f<<1)>>1]|0;if(((k>>>3)+(k&7)|0)<(a|0)){k=a;return k|0}k=b[26672+f>>0]|0;return k|0}function zw(a,c){a=a|0;c=c|0;b[c>>0]=1;a:do switch(b[a>>0]|0){case 67:switch(b[a+1>>0]|0){case 99:{b[c+1>>0]=1;a=0;break a}case 102:{b[c+2>>0]=1;a=0;break a}case 110:{b[c+3>>0]=1;a=0;break a}case 115:{b[c+4>>0]=1;a=0;break a}case 111:{b[c+31>>0]=1;a=0;break a}case 42:{a=c+1|0;b[c+31>>0]=1;b[a>>0]=1;b[a+1>>0]=1;b[a+2>>0]=1;b[a+3>>0]=1;a=0;break a}default:{a=1;break a}}case 76:switch(b[a+1>>0]|0){case 108:{b[c+5>>0]=1;a=0;break a}case 109:{b[c+6>>0]=1;a=0;break a}case 111:{b[c+7>>0]=1;a=0;break a}case 116:{b[c+8>>0]=1;a=0;break a}case 117:{b[c+9>>0]=1;a=0;break a}case 67:{b[c+30>>0]=1;a=0;break a}case 42:{a=c+5|0;b[c+30>>0]=1;b[a>>0]=1;b[a+1>>0]=1;b[a+2>>0]=1;b[a+3>>0]=1;b[a+4>>0]=1;a=0;break a}default:{a=1;break a}}case 77:switch(b[a+1>>0]|0){case 99:{b[c+10>>0]=1;a=0;break a}case 101:{b[c+11>>0]=1;a=0;break a}case 110:{b[c+12>>0]=1;a=0;break a}case 42:{b[c+10>>0]=1;b[c+11>>0]=1;b[c+12>>0]=1;a=0;break a}default:{a=1;break a}}case 78:switch(b[a+1>>0]|0){case 100:{b[c+13>>0]=1;a=0;break a}case 108:{b[c+14>>0]=1;a=0;break a}case 111:{b[c+15>>0]=1;a=0;break a}case 42:{b[c+13>>0]=1;b[c+14>>0]=1;b[c+15>>0]=1;a=0;break a}default:{a=1;break a}}case 80:switch(b[a+1>>0]|0){case 99:{b[c+16>>0]=1;a=0;break a}case 100:{b[c+17>>0]=1;a=0;break a}case 101:{b[c+18>>0]=1;a=0;break a}case 102:{b[c+19>>0]=1;a=0;break a}case 105:{b[c+20>>0]=1;a=0;break a}case 111:{b[c+21>>0]=1;a=0;break a}case 115:{b[c+22>>0]=1;a=0;break a}case 42:{a=c+16|0;b[a>>0]=1;b[a+1>>0]=1;b[a+2>>0]=1;b[a+3>>0]=1;b[a+4>>0]=1;b[a+5>>0]=1;b[a+6>>0]=1;a=0;break a}default:{a=1;break a}}case 83:switch(b[a+1>>0]|0){case 99:{b[c+23>>0]=1;a=0;break a}case 107:{b[c+24>>0]=1;a=0;break a}case 109:{b[c+25>>0]=1;a=0;break a}case 111:{b[c+26>>0]=1;a=0;break a}case 42:{a=c+23|0;b[a>>0]=1;b[a+1>>0]=1;b[a+2>>0]=1;b[a+3>>0]=1;a=0;break a}default:{a=1;break a}}case 90:switch(b[a+1>>0]|0){case 108:{b[c+27>>0]=1;a=0;break a}case 112:{b[c+28>>0]=1;a=0;break a}case 115:{b[c+29>>0]=1;a=0;break a}case 42:{b[c+27>>0]=1;b[c+28>>0]=1;b[c+29>>0]=1;a=0;break a}default:{a=1;break a}}default:a=0}while(0);return a|0}function Aw(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;k=wz(c)|0;if((k|0)<=0){v=0;return v|0}s=a+144|0;i=f[s>>2]|0;v=a+140|0;g=(f[v>>2]|0)+k<<2;if(Mc()|0){v=7;return v|0}r=Nc(i,(g|0)>0?g:0,0)|0;if(!r){v=7;return v|0}p=c+k|0;q=e&255;o=f[v>>2]|0;g=c;while(1){k=g+1|0;g=b[g>>0]|0;i=g&255;if((g&255)>191){g=h[5728+(i+-192)>>0]|0;a:do if((k|0)==(p|0))i=p;else while(1){i=b[k>>0]|0;if((i&-64)<<24>>24!=-128){i=k;break a}k=k+1|0;g=g<<6|i&63;if((k|0)==(p|0)){i=p;break}}while(0);if(!((g&-2|0)==65534|((g|0)<128|(g&-2048|0)==55296)))if((g|0)>1048575){k=i;i=0;l=20}else{n=g;l=14}else{n=65533;l=14}}else if(g<<24>>24>-1){b[a+i>>0]=q;i=o;g=k}else{n=i;i=k;l=14}if((l|0)==14){g=n>>>16;c=d[27808+(g<<1)>>1]|0;g=d[27808+(g+1<<1)>>1]|0;if((g&65535)>(c&65535)){m=n&65535;l=-1;k=g&65535;g=c&65535;do{c=(g+k|0)/2|0;w=m>>>0<(j[27856+(c<<1)>>1]|0)>>>0;g=w?g:c+1|0;k=w?c:k;l=w?l:c}while((k|0)>(g|0));if((l|0)>=0?(t=j[27856+(l<<1)>>1]|0,u=j[31392+(l<<1)>>1]|0,m>>>0<((u>>>5)+t|0)>>>0):0){l=u&31;g=n;k=i;i=(l|0)==30?(n-t<<2&4^4)+5|0:l;l=20}else{g=n;k=i;i=0;l=20}}else{g=n;k=i;i=0;l=20}}do if((l|0)==20){l=0;if((h[a+148+i>>0]|0|0)==(e|0)){i=o;g=k}else{i=g+-768|0;if(i>>>0<=49?(w=(g|0)<800,1<<(w?i:g+-800|0)&(w?134389727:221688)|0):0){i=o;g=k;break}b:do if((o|0)>0){i=0;do{if((f[r+(i<<2)>>2]|0)>(g|0))break b;i=i+1|0}while((o|0)>(i|0))}else i=0;while(0);w=r+(i<<2)|0;ZA(r+(i+1<<2)|0,w|0,o-i<<2|0)|0;f[w>>2]=g;i=o+1|0;g=k}}while(0);if(g>>>0

>>0)o=i;else break}f[s>>2]=r;f[v>>2]=i;w=0;return w|0}function Bw(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ga=t;t=t+176|0;aa=ga+32|0;ca=ga+16|0;T=ga;Y=ga+172|0;Z=ga+168|0;_=ga+164|0;S=ga+160|0;ea=ga+96|0;M=ga+88|0;$=ga+84|0;fa=ga+64|0;N=ga+60|0;O=ga+56|0;P=ga+52|0;Q=ga+48|0;R=ga+44|0;f[M>>2]=0;f[$>>2]=0;if((g|0)!=5){f[e+20>>2]=1;$e(f[e>>2]|0,64799,-1,1,-1)|0;t=ga;return}L=ib[f[a+8>>2]&255](c)|0;g=ea;i=g+64|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));g=f[h>>2]|0;i=j[g+8>>1]|0;do if(!(i&4)){if(i&8|0){J=Fc(+p[g>>3])|0;ba()|0;break}if(!(i&18))J=0;else{J=Gc(b[g+10>>0]|0,f[g+12>>2]|0,f[g+16>>2]|0)|0;ba()|0}}else J=f[g>>2]|0;while(0);g=f[h+4>>2]|0;do if(g){i=d[g+8>>1]|0;if((i&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(i&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);f[ea+40>>2]=(g|0)==0?72788:g;g=f[h+8>>2]|0;do if(g){i=d[g+8>>1]|0;if((i&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(i&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);f[ea+44>>2]=(g|0)==0?72788:g;g=f[h+12>>2]|0;do if(g){i=d[g+8>>1]|0;if((i&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(i&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);U=(g|0)==0?72788:g;i=f[h+16>>2]|0;g=j[i+8>>1]|0;do if(!(g&4)){if(g&8|0){K=Fc(+p[i>>3])|0;ba()|0;break}if(!(g&18))K=0;else{K=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;ba()|0}}else K=f[i>>2]|0;while(0);h=(J|0)>0?J:0;y=ib[f[a+24>>2]&255](c)|0;W=Fd(y)|0;X=(W|0)==0;if(X)g=7;else g=jb[f[a+32>>2]&255](c,M)|0;f[fa>>2]=0;f[fa+4>>2]=0;f[fa+8>>2]=0;f[fa+12>>2]=0;f[fa+16>>2]=0;a:do if((L|0)>0){z=(J|0)<0;A=fa+8|0;B=a+44|0;C=fa+16|0;D=a+20|0;E=a+48|0;F=a+36|0;G=a+32|0;H=a+28|0;I=fa+12|0;x=0;k=0;i=0;while(1){if(z|(J|0)==(x|0)){f[fa>>2]=0;f[A>>2]=0;g=lb[f[B>>2]&127](c,x,C,N)|0;if(g|0)break;g=mb[f[D>>2]&127](c,f[C>>2]|0,f[N>>2]|0,fa,88)|0;if(g|0)break;g=kb[f[E>>2]&127](c,x,O)|0;if(g|0)break;if((f[M>>2]|0)>0){w=0;do{g=mb[f[F>>2]&127](c,w,P,Q,R)|0;do if(!(g|0?1:(f[Q>>2]|0)!=(x|0))){_A(W|0,0,y|0)|0;v=f[O>>2]|0;u=f[R>>2]|0;f[Y>>2]=0;f[Z>>2]=0;f[_>>2]=0;g=jb[f[G>>2]&255](c,S)|0;if((g|0)==0&(f[S>>2]|0)>0){r=u+K|0;m=0;n=0;l=-1;q=0;do{g=mb[f[F>>2]&127](c,q,Y,Z,_)|0;s=(g|0)==0;do if(s&(f[Z>>2]|0)==(x|0)){o=f[_>>2]|0;if(!((o|0)>=(u|0)&(o|0)<(r|0)))break;m=f[Y>>2]|0;ha=W+m|0;n=((b[ha>>0]|0)==0?1e3:1)+n|0;b[ha>>0]=1;m=(jb[f[H>>2]&255](c,m)|0)+o|0;l=(l|0)<0?o:l}while(0);q=q+1|0}while(s&(q|0)<(f[S>>2]|0))}else{m=0;n=0;l=-1}l=l-((l+K-m|0)/2|0)|0;l=(l+K|0)>(v|0)?v-K|0:l;m=(g|0)==0;if(m&(n|0)>(k|0)){ha=f[O>>2]|0;f[$>>2]=ha;h=x;k=n;i=(l|0)>0?l:0;l=ha}else l=f[O>>2]|0;n=f[A>>2]|0;if(!(m&(n|0)!=0&(l|0)>(K|0)))break;m=n+-1|0;o=f[I>>2]|0;q=f[R>>2]|0;b:do if((n|0)>1){g=0;while(1){l=g+1|0;if((f[o+(l<<2)>>2]|0)>(q|0)){l=g;break b}if((l|0)<(m|0))g=l;else break}}else l=0;while(0);if((f[o+(l<<2)>>2]|0)>=(q|0)){g=0;break}_A(W|0,0,y|0)|0;r=f[(f[I>>2]|0)+(l<<2)>>2]|0;f[Y>>2]=0;f[Z>>2]=0;f[_>>2]=0;g=jb[f[G>>2]&255](c,S)|0;if((g|0)==0&(f[S>>2]|0)>0){o=r+K|0;m=0;n=0;do{g=mb[f[F>>2]&127](c,n,Y,Z,_)|0;q=(g|0)==0;do if(q&(f[Z>>2]|0)==(x|0)){ha=f[_>>2]|0;if(!((ha|0)>=(r|0)&(ha|0)<(o|0)))break;ha=f[Y>>2]|0;v=W+ha|0;m=((b[v>>0]|0)==0?1e3:1)+m|0;b[v>>0]=1;jb[f[H>>2]&255](c,ha)|0}while(0);n=n+1|0}while(q&(n|0)<(f[S>>2]|0))}else m=0;n=f[(f[I>>2]|0)+(l<<2)>>2]|0;l=((n|0)==0?120:100)+m|0;if(!((g|0)==0&(l|0)>(k|0)))break;f[$>>2]=f[O>>2];h=x;k=l;i=n;g=0}while(0);w=w+1|0}while((g|0)==0?(w|0)<(f[M>>2]|0):0)}else g=0}x=x+1|0;if((x|0)>=(L|0)){V=71;break a}}k=h;x=i}else{i=0;V=71}while(0);if((V|0)==71)if(!g){k=h;x=i;g=lb[f[a+44>>2]&127](c,h,ea+48|0,ea+52|0)|0}else{k=h;x=i}if(!(f[$>>2]|g))g=kb[f[a+48>>2]&127](c,k,$)|0;w=ea+48|0;i=(g|0)==0;do if(!(f[w>>2]|0))if(i){g=f[ea+60>>2]|0;V=109}else V=111;else{if(i)g=Fw(a,c,k,ea)|0;f[ea+32>>2]=x;v=ea+36|0;f[v>>2]=K+-1+x;if((x|0)>0&(g|0)==0){g=wz(U)|0;ha=ea+60|0;f[T>>2]=f[ha>>2];f[T+4>>2]=g;f[T+8>>2]=U;g=wd(68595,T)|0;f[ha>>2]=g;g=(g|0)==0?7:0}n=ea+20|0;i=f[n>>2]|0;c:do if((i|0)>-1){o=ea+24|0;q=ea+12|0;r=ea+16|0;s=ea+4|0;u=ea+8|0;do{if(!((g|0)==0&(i|0)<(x|0)))break c;f[n>>2]=-1;f[o>>2]=-1;d:while(1){g=f[q>>2]|0;if((g|0)>=(f[r>>2]|0)){g=0;V=96;break}g=mb[f[(f[ea>>2]|0)+36>>2]&127](f[s>>2]|0,g,Y,Z,_)|0;h=(g|0)==0;if(h){do if((f[Z>>2]|0)==(f[u>>2]|0)){k=(f[_>>2]|0)+-1|0;k=k+(jb[f[(f[ea>>2]|0)+28>>2]&255](f[s>>2]|0,f[Y>>2]|0)|0)|0;i=f[n>>2]|0;l=f[_>>2]|0;if((i|0)<0){f[n>>2]=l;f[o>>2]=k;break}m=f[o>>2]|0;if((l|0)>(m|0)){V=93;break d}if((k|0)<=(m|0))break;f[o>>2]=k}while(0);f[q>>2]=(f[q>>2]|0)+1}if(!h){V=96;break}}if((V|0)==93)g=0;else if((V|0)==96)i=f[n>>2]|0}while((i|0)>-1)}while(0);if(!g)g=mb[f[a+20>>2]&127](c,f[w>>2]|0,f[ea+52>>2]|0,ea,89)|0;if((f[v>>2]|0)<((f[$>>2]|0)+-1|0)){if(g|0){V=111;break}g=wz(U)|0;ha=ea+60|0;f[aa>>2]=f[ha>>2];f[aa+4>>2]=g;f[aa+8>>2]=U;g=wd(68595,aa)|0;f[ha>>2]=g;if(!g){g=7;V=111;break}else{V=109;break}}i=f[ea+56>>2]|0;h=(f[w>>2]|0)+i|0;i=(f[ea+52>>2]|0)-i|0;if(!g){if((i|0)<0)g=wz(h)|0;else g=i;ha=ea+60|0;f[ca>>2]=f[ha>>2];f[ca+4>>2]=g;f[ca+8>>2]=h;g=wd(68595,ca)|0;f[ha>>2]=g;if(!g){g=7;V=111}else V=109}else V=111}while(0);if((V|0)==109){if(($e(f[e>>2]|0,g,-1,1,-1)|0)==18){f[e+20>>2]=18;$e(f[e>>2]|0,41612,-1,1,0)|0}}else if((V|0)==111?(f[e+20>>2]=g,da=f[e>>2]|0,d[da+8>>1]&1):0){switch(g|0){case 516:{g=44816;break}case 100:{g=44794;break}case 101:{g=44771;break}default:{g=g&255;if(g>>>0<29?(520028155>>>g&1|0)!=0:0)g=f[7984+(g<<2)>>2]|0;else g=44757}}$e(da,g,-1,1,0)|0}g=f[ea+60>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ha=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ha;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);do if(!X)if(!(f[9328]|0)){ob[f[37360>>2]&127](W);break}else{ha=ib[f[37368>>2]&255](W)|0;f[18187]=(f[18187]|0)-ha;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](W);break}while(0);g=f[fa+12>>2]|0;if(!g){t=ga;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);t=ga;return}else{ha=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ha;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);t=ga;return}}function Cw(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,q=0;q=t;t=t+80|0;n=q;m=q+16|0;if((g|0)!=3){f[e+20>>2]=1;$e(f[e>>2]|0,68545,-1,1,-1)|0;t=q;return}i=f[h>>2]|0;g=j[i+8>>1]|0;do if(!(g&4)){if(g&8|0){l=Fc(+p[i>>3])|0;ba()|0;break}if(!(g&18))l=0;else{l=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;ba()|0}}else l=f[i>>2]|0;while(0);g=m;i=g+64|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));g=f[h+4>>2]|0;do if(g){i=d[g+8>>1]|0;if((i&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(i&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);f[m+40>>2]=g;g=f[h+8>>2]|0;do if(g){i=d[g+8>>1]|0;if((i&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(i&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);f[m+44>>2]=g;i=m+48|0;k=m+52|0;g=lb[f[a+44>>2]&127](c,l,i,k)|0;do if(f[i>>2]|0){if(!g){g=Fw(a,c,l,m)|0;if(!g)g=mb[f[a+20>>2]&127](c,f[i>>2]|0,f[k>>2]|0,m,89)|0}c=f[m+56>>2]|0;h=(f[i>>2]|0)+c|0;i=(f[k>>2]|0)-c|0;if(!g){if((i|0)<0)g=wz(h)|0;else g=i;i=m+60|0;f[n>>2]=f[i>>2];f[n+4>>2]=g;f[n+8>>2]=h;g=wd(68595,n)|0;f[i>>2]=g;if(!g){g=7;break}if(($e(f[e>>2]|0,g,-1,1,-1)|0)==18){f[e+20>>2]=18;$e(f[e>>2]|0,41612,-1,1,0)|0;g=0}else g=0}else i=m+60|0;i=f[i>>2]|0;if(i)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);o=36;break}else{o=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);o=36;break}else o=36}else o=36;while(0);if((o|0)==36)if(!g){t=q;return}f[e+20>>2]=g;i=f[e>>2]|0;if(!(d[i+8>>1]&1)){t=q;return}switch(g|0){case 516:{g=44816;break}case 100:{g=44794;break}case 101:{g=44771;break}default:{g=g&255;if(g>>>0<29?(520028155>>>g&1|0)!=0:0)g=f[7984+(g<<2)>>2]|0;else g=44757}}$e(i,g,-1,1,0)|0;t=q;return}function Dw(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0.0,l=0,m=0.0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;z=t;t=t+32|0;x=z+16|0;y=z+8|0;v=z;w=z+24|0;f[w>>2]=0;i=jb[f[a+60>>2]&255](c,0)|0;a:do if(!i){o=x;f[o>>2]=0;f[o+4>>2]=0;o=y;f[o>>2]=0;f[o+4>>2]=0;o=ib[f[a+24>>2]&255](c)|0;i=(o<<4)+24|0;r=Fd(i)|0;l=r+24|0;if(!r){i=7;break}q=r+16|0;_A(r|0,0,i|0)|0;f[r>>2]=o;f[q>>2]=l;f[r+20>>2]=l+(o<<3);i=jb[f[a+12>>2]&255](c,x)|0;b:do if(!i){i=kb[f[a+16>>2]&127](c,-1,y)|0;if(!i){n=y;u=x;p[r+8>>3]=(+((f[n>>2]|0)>>>0)+4294967296.0*+(f[n+4>>2]|0))/(+((f[u>>2]|0)>>>0)+4294967296.0*+(f[u+4>>2]|0));c:do if((o|0)>0){n=a+52|0;l=0;while(1){i=v;f[i>>2]=0;f[i+4>>2]=0;i=lb[f[n>>2]&127](c,l,v,105)|0;if(i|0)break;A=x;u=v;i=f[u>>2]|0;u=f[u+4>>2]|0;A=LA(f[A>>2]|0,f[A+4>>2]|0,i|0,u|0)|0;m=+S(+((+(A>>>0)+4294967296.0*+(ba()|0)+.5)/(+(i>>>0)+4294967296.0*+(u|0)+.5)));p[(f[q>>2]|0)+(l<<3)>>3]=!(m<=0.0)?m:1.0e-06;l=l+1|0;if((l|0)>=(o|0))break c}break b}while(0);i=kb[f[a+56>>2]&127](c,r,101)|0;if(!i){u=r;s=16;break a}else break a}}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](r);else{A=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r)}}else{u=i;s=16}while(0);if((s|0)==16){s=f[u+20>>2]|0;_A(s|0,0,f[u>>2]<<3|0)|0;i=jb[f[a+32>>2]&255](c,w)|0;l=(i|0)==0;if(l&(f[w>>2]|0)>0){r=a+36|0;q=0;do{i=mb[f[r>>2]&127](c,q,x,y,v)|0;l=(i|0)==0;if(l){n=f[y>>2]|0;do if((n|0)<(g|0)){n=f[h+(n<<2)>>2]|0;o=j[n+8>>1]|0;if(o&8|0){k=+p[n>>3];break}if(o&4|0){A=n;k=+((f[A>>2]|0)>>>0)+4294967296.0*+(f[A+4>>2]|0);break}if(!(o&18))k=0.0;else k=+Hc(b[n+10>>0]|0,f[n+12>>2]|0,f[n+16>>2]|0)}else k=1.0;while(0);A=s+(f[x>>2]<<3)|0;p[A>>3]=k+ +p[A>>3]}q=q+1|0}while(l&(q|0)<(f[w>>2]|0))}if(l){i=kb[f[a+48>>2]&127](c,-1,x)|0;k=+(f[x>>2]|0)*.75}else k=0.0;if(!i){l=f[u>>2]|0;if((l|0)>0){n=f[u+16>>2]|0;m=(k/+p[u+8>>3]+.25)*1.2;k=0.0;i=0;do{B=+p[s+(i<<3)>>3];k=k+ +p[n+(i<<3)>>3]*(B*2.2/(B+m));i=i+1|0}while((i|0)<(l|0))}else k=0.0;k=-k;i=f[e>>2]|0;l=i+8|0;if(!(d[l>>1]&9216))d[l>>1]=1;else cf(i);p[x>>3]=k;p[y>>3]=+p[x>>3];if(!(+p[x>>3]==+p[y>>3])){t=z;return}p[i>>3]=k;d[l>>1]=8;t=z;return}}f[e+20>>2]=i;l=f[e>>2]|0;if(!(d[l+8>>1]&1)){t=z;return}switch(i|0){case 516:{i=44816;break}case 100:{i=44794;break}case 101:{i=44771;break}default:{i=i&255;if(i>>>0<29?(520028155>>>i&1|0)!=0:0)i=f[7984+(i<<2)>>2]|0;else i=44757}}$e(l,i,-1,1,0)|0;t=z;return}function Ew(a,b,c){a=a|0;b=b|0;c=c|0;a=c;a=KA(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;b=ba()|0;f[c>>2]=a;f[c+4>>2]=b;return 0}function Fw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+16|0;l=q+8|0;m=q+4|0;n=q;o=d+12|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[d>>2]=a;o=d+4|0;f[o>>2]=b;p=d+8|0;f[p>>2]=c;k=d+16|0;c=jb[f[a+32>>2]&255](b,k)|0;if(c|0){p=c;t=q;return p|0}h=d+20|0;f[h>>2]=-1;i=d+24|0;f[i>>2]=-1;j=d+12|0;a:while(1){c=f[j>>2]|0;if((c|0)>=(f[k>>2]|0)){c=0;a=15;break}c=mb[f[(f[d>>2]|0)+36>>2]&127](f[o>>2]|0,c,l,m,n)|0;a=(c|0)==0;if(a){do if((f[m>>2]|0)==(f[p>>2]|0)){b=(f[n>>2]|0)+-1|0;b=b+(jb[f[(f[d>>2]|0)+28>>2]&255](f[o>>2]|0,f[l>>2]|0)|0)|0;e=f[n>>2]|0;if((f[h>>2]|0)<0){f[h>>2]=e;f[i>>2]=b;break}g=f[i>>2]|0;if((e|0)>(g|0)){a=12;break a}if((b|0)>(g|0))f[i>>2]=b}while(0);f[j>>2]=(f[j>>2]|0)+1}if(!a){a=15;break}}if((a|0)==12){p=0;t=q;return p|0}else if((a|0)==15){t=q;return c|0}return 0}function Gw(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;w=t;t=t+112|0;v=w+96|0;u=w+80|0;p=w+64|0;o=w+48|0;k=w+32|0;j=w+16|0;i=w;n=w+108|0;if(b&1|0){a=0;t=w;return a|0}q=a+28|0;s=f[q>>2]|0;f[q>>2]=s+1;q=a+36|0;c=f[q>>2]|0;if((c|0)>0){d=f[a+32>>2]|0;if((s|0)>(c|0)|(s|0)<(d|0)){a=0;t=w;return a|0}if((d|0)!=0&(s|0)==(d|0))f[a+56>>2]=e}r=a+20|0;if((s|0)==(f[r>>2]|0)){h=a+56|0;c=f[h>>2]|0;d=(f[a+48>>2]|0)+c|0;c=e-c|0;if((c|0)<0)c=wz(d)|0;b=a+60|0;f[i>>2]=f[b>>2];f[i+4>>2]=c;f[i+8>>2]=d;c=wd(68595,i)|0;f[b>>2]=c;d=f[a+40>>2]|0;if(!c)d=7;else{m=wz(d)|0;f[j>>2]=c;f[j+4>>2]=m;f[j+8>>2]=d;d=wd(68595,j)|0;f[b>>2]=d;d=(d|0)==0?7:0}f[h>>2]=e}else d=0;m=a+24|0;a:do if((s|0)==(f[m>>2]|0)){if(((f[q>>2]|0)!=0?(f[r>>2]|0)<(f[a+32>>2]|0):0)?(l=f[a+40>>2]|0,(d|0)==0):0){d=wz(l)|0;e=a+60|0;f[k>>2]=f[e>>2];f[k+4>>2]=d;f[k+8>>2]=l;d=wd(68595,k)|0;f[e>>2]=d;d=(d|0)==0?7:0}h=a+56|0;c=f[h>>2]|0;b=(f[a+48>>2]|0)+c|0;c=g-c|0;if(!d){if((c|0)<0)c=wz(b)|0;d=a+60|0;f[o>>2]=f[d>>2];f[o+4>>2]=c;f[o+8>>2]=b;c=wd(68595,o)|0;f[d>>2]=c;if((c|0)!=0?(l=f[a+44>>2]|0,k=wz(l)|0,f[p>>2]=c,f[p+4>>2]=k,f[p+8>>2]=l,l=wd(68595,p)|0,f[d>>2]=l,(l|0)!=0):0){f[h>>2]=g;f[r>>2]=-1;f[m>>2]=-1;j=a+12|0;e=a+16|0;k=a+4|0;l=a+8|0;b:while(1){c=f[j>>2]|0;if((c|0)>=(f[e>>2]|0)){d=0;break a}d=mb[f[(f[a>>2]|0)+36>>2]&127](f[k>>2]|0,c,p,o,n)|0;i=(d|0)==0;if(i){do if((f[o>>2]|0)==(f[l>>2]|0)){c=(f[n>>2]|0)+-1|0;c=c+(jb[f[(f[a>>2]|0)+28>>2]&255](f[k>>2]|0,f[p>>2]|0)|0)|0;b=f[n>>2]|0;if((f[r>>2]|0)<0){f[r>>2]=b;f[m>>2]=c;break}h=f[m>>2]|0;if((b|0)>(h|0))break b;if((c|0)>(h|0))f[m>>2]=c}while(0);f[j>>2]=(f[j>>2]|0)+1}if(!i)break a}d=0;break}else d=7}f[h>>2]=g}while(0);q=f[q>>2]|0;if(!((q|0)>0&(s|0)==(q|0))){a=d;t=w;return a|0}h=a+56|0;c=f[h>>2]|0;b=(f[a+48>>2]|0)+c|0;c=g-c|0;if(!d){if((c|0)<0)c=wz(b)|0;q=a+60|0;f[u>>2]=f[q>>2];f[u+4>>2]=c;f[u+8>>2]=b;d=wd(68595,u)|0;f[q>>2]=d;d=(d|0)==0?7:0}f[h>>2]=g;if((s|0)<(f[r>>2]|0)){a=d;t=w;return a|0}if((s|0)>=(f[m>>2]|0)){a=d;t=w;return a|0}c=f[a+44>>2]|0;if(!d){u=wz(c)|0;g=a+60|0;f[v>>2]=f[g>>2];f[v+4>>2]=u;f[v+8>>2]=c;a=wd(68595,v)|0;f[g>>2]=a;t=w;return ((a|0)==0?7:0)|0}else{a=d;t=w;return a|0}return 0}function Hw(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;if(c&1|0){a=0;return a|0}j=f[a>>2]|0;a:do if((j|0)>0){i=g+-1|0;if((g|0)>0){d=f[a+16>>2]|0;c=i;b:while(1){h=b[d+c>>0]|0;switch(h<<24>>24){case 13:case 10:case 9:case 32:break;default:break b}e=c+-1|0;if((c|0)>0)c=e;else{c=e;break}}if((c|0)!=(i|0)){switch(h<<24>>24){case 58:case 46:break;default:{c=0;break a}}g=a+4|0;c=f[g>>2]|0;i=a+8|0;d=f[i>>2]|0;if((c|0)==(d|0)){h=(c|0)==0?64:c<<1;e=a+12|0;c=f[e>>2]|0;d=h<<2;if(Mc()|0){c=7;break}c=Nc(c,(d|0)>0?d:0,0)|0;if(!c){c=7;break}f[e>>2]=c;f[g>>2]=h;d=f[i>>2]|0}else c=f[a+12>>2]|0;f[i>>2]=d+1;f[c+(d<<2)>>2]=j;c=0}else c=0}else c=0}else{g=a+4|0;c=f[g>>2]|0;i=a+8|0;d=f[i>>2]|0;if((c|0)==(d|0)){h=(c|0)==0?64:c<<1;e=a+12|0;c=f[e>>2]|0;d=h<<2;if(Mc()|0){c=7;break}c=Nc(c,(d|0)>0?d:0,0)|0;if(!c){c=7;break}f[e>>2]=c;f[g>>2]=h;d=f[i>>2]|0}else c=f[a+12>>2]|0;f[i>>2]=d+1;f[c+(d<<2)>>2]=0;c=0}while(0);f[a>>2]=(f[a>>2]|0)+1;a=c;return a|0}function Iw(a,b,c){a=a|0;b=b|0;c=c|0;Mw(a,b,c,0);return}function Jw(a,b,c){a=a|0;b=b|0;c=c|0;Mw(a,b,c,1);return} -function Cn(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ka=t;t=t+128|0;da=ka+80|0;ga=ka+72|0;k=ka;l=ka+112|0;m=ka+108|0;d[m>>1]=-1;ia=f[a+12>>2]|0;_=f[a>>2]|0;P=f[_+4>>2]|0;Q=h[ia+16>>0]|0;$=P+8+(Q*72|0)|0;O=P+8+(Q*72|0)+16|0;R=f[O>>2]|0;aa=f[a+4>>2]|0;ca=P+8+(Q*72|0)+68|0;g=f[ca>>2]|0;o=(g|0)==0;do if(o){if(f[R+36>>2]&32|0){k=f[R+8>>2]|0;break}g=k;i=g+72|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));d[k+50>>1]=1;d[k+52>>1]=1;f[k+4>>2]=m;f[k+8>>2]=l;b[k+54>>0]=5;f[k+12>>2]=R;d[k+48>>1]=d[R+46>>1]|0;d[l>>1]=d[R+44>>1]|0;d[l+2>>1]=0;if(!(b[P+8+(Q*72|0)+37>>0]&1))f[k+20>>2]=f[(f[O>>2]|0)+8>>2]}else k=g;while(0);m=d[R+44>>1]|0;if(m<<16>>16<11)g=0;else{g=m<<16>>16;i=((g|0)<0)<<31>>31;if((m&65535)>255){l=40;do{l=(l&65535)+40|0;Z=g;g=VA(g|0,i|0,4)|0;Y=i;i=ba()|0}while(Y>>>0>0|(Y|0)==0&Z>>>0>4095);l=l&65535}else l=40;if(i>>>0>0|(i|0)==0&g>>>0>15){do{l=(l&65535)+10&65535;Z=g;g=VA(g|0,i|0,1)|0;Y=i;i=ba()|0}while(Y>>>0>0|(Y|0)==0&Z>>>0>31);i=l}else i=l;g=(i&65535)+65493+(j[7936+((g&7)<<1)>>1]|0)&65535}a:do if((((((f[a+16>>2]|0)==0?(d[_+44>>1]&32)==0:0)?!((0==0?(f[(f[f[_>>2]>>2]|0)+32>>2]&32768|0)==0:0)|o^1):0)?(n=b[P+8+(Q*72|0)+37>>0]|0,(n&1)==0):0)?(M=R+36|0,(n&40)==0&(f[M>>2]&32|0)==0):0)?(J=f[aa+20>>2]|0,Z=f[aa+12>>2]|0,N=J+(Z*48|0)|0,(Z|0)>0):0){B=ia+8|0;C=P+8+(Q*72|0)+40|0;D=P+8+(Q*72|0)+36|0;E=ia+24|0;F=ia+42|0;G=ia+32|0;H=ia+40|0;I=ia+48|0;y=(g&65535)+(m&65535)|0;s=y&65535;u=ia+18|0;v=R+12|0;w=ia+22|0;n=g<<16>>16;x=(y&65535)+65526|0;y=(y<<16>>16)+28|0;z=ia+20|0;A=ia+36|0;o=g<<16>>16<12;p=g<<16>>16>74;q=22960+(43-n)|0;r=22960+(n+-43)|0;if(g<<16>>16<43){m=g<<16>>16<-6?43:44;l=J;while(1){i=l+32|0;Z=i;Y=B;do if((((f[Y>>2]&f[Z>>2]|0)==0?(f[Y+4>>2]&f[Z+4>>2]|0)==0:0)?(f[l+20>>2]|0)==(f[C>>2]|0):0)?(K=j[l+12>>1]|0,(K&130|0)!=0):0){if(b[D>>0]&8?!((K&128|0)==0?1:(f[(f[l>>2]|0)+4>>2]&1|0)!=0):0){g=0;break}g=f[l+28>>2]|0;if((g|0)>=0?(Gn(f[l>>2]|0,b[(f[(f[O>>2]|0)+4>>2]|0)+(g<<4)+13>>0]|0)|0)!=0:0){d[E>>1]=1;d[F>>1]=0;f[G>>2]=0;d[H>>1]=1;f[f[I>>2]>>2]=l;d[u>>1]=s;if(!(f[v>>2]|0))g=(f[M>>2]&2|0)==0?y:x;else g=x;d[u>>1]=(g&32768|0)==0?g&65535:0;d[w>>1]=43;if(o)g=m;else g=(h[q>>0]|0)+43&65535;d[z>>1]=g;f[A>>2]=16384;Y=i;Z=f[Y+4>>2]|e;g=ia;f[g>>2]=f[Y>>2]|c;f[g+4>>2]=Z;g=Rn(a,ia)|0}else g=0}else g=0;while(0);l=l+48|0;if(!(l>>>0>>0&(g|0)==0))break a}}m=g<<16>>16>92?g:n+1&65535;l=J;do{i=l+32|0;Z=i;Y=B;do if((((f[Y>>2]&f[Z>>2]|0)==0?(f[Y+4>>2]&f[Z+4>>2]|0)==0:0)?(f[l+20>>2]|0)==(f[C>>2]|0):0)?(L=j[l+12>>1]|0,(L&130|0)!=0):0){if(b[D>>0]&8?!((L&128|0)==0?1:(f[(f[l>>2]|0)+4>>2]&1|0)!=0):0){g=0;break}g=f[l+28>>2]|0;if((g|0)>=0?(Gn(f[l>>2]|0,b[(f[(f[O>>2]|0)+4>>2]|0)+(g<<4)+13>>0]|0)|0)!=0:0){d[E>>1]=1;d[F>>1]=0;f[G>>2]=0;d[H>>1]=1;f[f[I>>2]>>2]=l;d[u>>1]=s;if((f[v>>2]|0)==0?(f[M>>2]&2|0)==0:0)g=y;else g=x;d[u>>1]=(g&32768|0)==0?g&65535:0;d[w>>1]=43;if(p)g=m;else g=(h[r>>0]|0)+n&65535;d[z>>1]=g;f[A>>2]=16384;Y=i;Z=f[Y+4>>2]|e;g=ia;f[g>>2]=f[Y>>2]|c;f[g+4>>2]=Z;g=Rn(a,ia)|0}else g=0}else g=0;while(0);l=l+48|0}while(l>>>0>>0&(g|0)==0)}else g=0;while(0);Z=ia+36|0;if(!((g|0)==0&(k|0)!=0)){ja=g;t=ka;return ja|0}J=P+8+(Q*72|0)+40|0;K=ia+24|0;L=ia+26|0;M=ia+28|0;N=ia+42|0;O=ia+40|0;S=ia+17|0;T=ia+18|0;U=ia+22|0;V=ia+32|0;W=ia+20|0;X=a+20|0;Y=R+36|0;I=P+8+(Q*72|0)+56|0;B=R+46|0;C=_+92|0;D=_+100|0;E=ga+4|0;F=da+4|0;G=da+24|0;A=da+20|0;H=_+44|0;z=1;b:while(1){x=k+36|0;g=f[x>>2]|0;if((g|0)!=0?(Tn(f[J>>2]|0,aa,g)|0)==0:0)g=0;else{w=k+55|0;if(!((h[w>>0]|h[w+1>>0]<<8)&256)){y=d[f[k+8>>2]>>1]|0;d[K>>1]=0;d[L>>1]=0;d[M>>1]=0;d[N>>1]=0;d[O>>1]=0;b[S>>0]=0;d[T>>1]=0;r=ia;f[r>>2]=c;f[r+4>>2]=e;d[U>>1]=y;f[V>>2]=k;r=f[J>>2]|0;c:do if((((h[w>>0]|h[w+1>>0]<<8)&4)==0?(ea=f[(f[a>>2]|0)+8>>2]|0,(ea|0)!=0):0)?(fa=f[ea>>2]|0,(fa|0)>0):0){s=k+40|0;u=k+50|0;v=k+4|0;q=0;g=fa;while(1){i=f[ea+4+(q*20|0)>>2]|0;d:do if(!i)i=0;else while(1){l=f[i+4>>2]|0;if(!(l&4096))break d;if(!(l&262144))i=i+12|0;else i=(f[i+20>>2]|0)+4|0;i=f[i>>2]|0;if(!i){i=0;break}}while(0);if((b[i>>0]|0)==-98?(f[i+28>>2]|0)==(r|0):0){m=d[i+32>>1]|0;if(m<<16>>16<0){g=1;break c}i=d[u>>1]|0;if(i<<16>>16){n=f[v>>2]|0;l=i&65535;i=0;do{if(m<<16>>16==(d[n+(i<<1)>>1]|0)){g=1;break c}i=i+1|0}while(i>>>0>>0)}}else ja=75;e:do if((ja|0)==75){ja=0;p=f[s>>2]|0;if((p|0)!=0?(ha=d[u>>1]|0,ha<<16>>16!=0):0){if(!i){n=f[v>>2]|0;o=ha&65535;m=0;while(1){f:do if((d[n+(m<<1)>>1]|0)==-2){i=f[p+4+(m*20|0)>>2]|0;if(!i){g=1;break c}while(1){l=f[i+4>>2]|0;if(!(l&4096))break f;if(!(l&262144))i=i+12|0;else i=(f[i+20>>2]|0)+4|0;i=f[i>>2]|0;if(!i){g=1;break c}}}while(0);m=m+1|0;if(m>>>0>=o>>>0)break e}}n=0;g=ha;do{if((d[(f[v>>2]|0)+(n<<1)>>1]|0)==-2){g=f[p+4+(n*20|0)>>2]|0;l=i;while(1){m=f[l+4>>2]|0;if(!(m&4096))break;if(!(m&262144))l=l+12|0;else l=(f[l+20>>2]|0)+4|0;l=f[l>>2]|0;if(!l){l=0;break}}g:do if(!g)g=0;else while(1){m=f[g+4>>2]|0;if(!(m&4096))break g;if(!(m&262144))g=g+12|0;else g=(f[g+20>>2]|0)+4|0;g=f[g>>2]|0;if(!g){g=0;break}}while(0);if(!(Ck(0,l,g,r)|0)){g=1;break c}g=d[u>>1]|0}n=n+1|0}while(n>>>0<(g&65535)>>>0);g=f[ea>>2]|0}}while(0);q=q+1|0;if((q|0)>=(g|0)){g=0;break}}}else g=0;while(0);do if((f[k+44>>2]|0)<1){f[Z>>2]=256;b[S>>0]=(g|0)==0?0:z&255;d[W>>1]=(y&65535)+16;Un(aa,ia,y);g=Rn(a,ia)|0;d[U>>1]=y;if(g|0){ja=147;break b}}else{if(!((h[w>>0]|h[w+1>>0]<<8)&32)){i=I;m=k+64|0;R=f[m>>2]&f[i>>2];i=f[m+4>>2]&f[i+4>>2];m=R;n=i;i=(R|0)==0&(i|0)==0?576:512}else{m=0;n=0;i=576}f[Z>>2]=i;g=(g|0)!=0;if((!g?(f[Y>>2]&32|0)==0:0)?(f[x>>2]|0)==0:0){if(!((m|0)==0&(n|0)==0))break;if((h[w>>0]|h[w+1>>0]<<8)&4)break;if((d[k+48>>1]|0)>=(d[B>>1]|0))break;if(!((d[H>>1]&4)==0&(f[9332]|0)!=0))break;if(d[(f[f[_>>2]>>2]|0)+76>>1]&32)break}b[S>>0]=g?z&255:0;g=y<<16>>16;l=g+1+(((d[k+48>>1]|0)*15|0)/(d[B>>1]|0)|0)&65535;d[W>>1]=l;if(!((m|0)==0&(n|0)==0)){g=g+16&65535;n=f[J>>2]|0;if((f[C>>2]|0)>0){m=0;do{l=f[D>>2]|0;i=f[l+(m*48|0)>>2]|0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[da+12>>2]=0;f[da+16>>2]=0;f[da+20>>2]=0;f[E>>2]=n;f[ga>>2]=k;f[F>>2]=166;f[G>>2]=ga;if(i){oi(da,i)|0;if(b[A>>0]|0)break}i=d[l+(m*48|0)+8>>1]|0;do if(i<<16>>16<1)g=(i&65535)+(g&65535)&65535;else{g=g+-1<<16>>16;if(!(d[l+(m*48|0)+12>>1]&130))break;g=(g&65535)+65517&65535}while(0);m=m+1|0}while((m|0)<(f[C>>2]|0));l=d[W>>1]|0}i=l<<16>>16;m=g<<16>>16;do if(l<<16>>16>16){if((i+49|0)>=(m|0))if((i+31|0)<(m|0)){g=m+1&65535;break}else{g=(h[22960+(m-i)>>0]|0)+m&65535;break}}else if((m+49|0)>=(i|0))if((m+31|0)<(i|0)){g=i+1&65535;break}else{g=(h[22960+(i-m)>>0]|0)+i&65535;break}else g=l;while(0);d[W>>1]=g}Un(aa,ia,y);g=Rn(a,ia)|0;d[U>>1]=y;if(g|0){ja=147;break b}}while(0);f[X>>2]=0;g=Vn(a,$,k,0)|0;if((f[X>>2]|0)==1)f[Y>>2]=f[Y>>2]|256}else g=0}if(f[ca>>2]|0){ja=147;break}k=f[k+20>>2]|0;if(!((g|0)==0&(k|0)!=0)){ja=147;break}else z=z+1|0}if((ja|0)==147){t=ka;return g|0}return 0}function Dn(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=t;t=t+608|0;ca=ja+168|0;ea=ja+576|0;ia=ja+112|0;fa=ja+56|0;ga=ja;k=f[a>>2]|0;$=f[a+4>>2]|0;o=f[$+20>>2]|0;n=f[$+12>>2]|0;aa=o+(n*48|0)|0;ba=f[a+12>>2]|0;l=ia;m=l+56|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));k=f[k+4>>2]|0;l=h[ba+16>>0]|0;_=f[k+8+(l*72|0)+40>>2]|0;if((n|0)<=0){ia=0;t=ja;return ia|0}X=ba+8|0;Y=ea+8|0;Z=ea+16|0;F=k+8+(l*72|0)+16|0;G=ea+4|0;H=ca+4|0;I=ca+8|0;J=ca+12|0;K=ca+20|0;L=ga+8|0;M=ia+8|0;N=fa+8|0;O=ia+16|0;P=ba+40|0;Q=ba+48|0;R=ba+36|0;S=ba+18|0;T=ba+17|0;U=ba+24|0;V=ba+20|0;W=ba+22|0;k=0;a:while(1){b:do if((d[o+12>>1]&512)!=0?(da=f[o+28>>2]|0,E=da+408|0,D=X,!((f[D>>2]&f[E>>2]|0)==0?(f[D+4>>2]&f[E+4>>2]|0)==0:0)):0){l=da+20|0;E=(f[l>>2]|0)+((f[da+12>>2]|0)*48|0)|0;f[ea>>2]=f[a>>2];f[ea+4>>2]=f[a+4>>2];f[ea+8>>2]=f[a+8>>2];f[ea+12>>2]=f[a+12>>2];f[ea+16>>2]=f[a+16>>2];f[ea+20>>2]=f[a+20>>2];f[ea+24>>2]=f[a+24>>2];f[Y>>2]=0;f[Z>>2]=fa;l=f[l>>2]|0;c:do if(l>>>0>>0){n=1;D=l;l=0;do{if(!(d[D+12>>1]&1024)){if((f[D+20>>2]|0)==(_|0)){f[ca>>2]=f[$>>2];f[H>>2]=$;b[I>>0]=44;f[J>>2]=1;f[K>>2]=D;l=ca;ha=11}}else{l=f[D+28>>2]|0;ha=11}do if((ha|0)==11){ha=0;f[G>>2]=l;d[fa>>1]=0;if(!(f[(f[F>>2]|0)+56>>2]|0))l=Cn(ea,c,e)|0;else l=Bn(ea,c,e,g,i)|0;if(!l)l=Dn(ea,c,e,g,i)|0;m=d[fa>>1]|0;if(!(m<<16>>16)){k=0;break c}if(n|0){YA(M|0,N|0,(m&65535)<<4|0)|0;n=0;k=m;break}d[ga>>1]=k;C=k&65535;YA(L|0,M|0,C<<4|0)|0;if(!(k<<16>>16))k=0;else{y=m&65535;x=0;k=0;do{z=ga+8+(x<<4)|0;A=ga+8+(x<<4)+8|0;B=ga+8+(x<<4)+10|0;w=0;do{v=z;m=fa+8+(w<<4)|0;u=f[m>>2]|f[v>>2];v=f[m+4>>2]|f[v+4>>2];m=d[A>>1]|0;n=d[fa+8+(w<<4)+8>>1]|0;p=m<<16>>16;q=n<<16>>16;do if(m<<16>>16>16){if((p+49|0)<(q|0)){m=n;break}if((p+31|0)<(q|0)){m=q+1&65535;break}else{m=(h[22960+(q-p)>>0]|0)+q&65535;break}}else{if((q+49|0)<(p|0))break;if((q+31|0)<(p|0)){m=p+1&65535;break}else{m=(h[22960+(p-q)>>0]|0)+p&65535;break}}while(0);n=d[B>>1]|0;p=d[fa+8+(w<<4)+10>>1]|0;q=n<<16>>16;r=p<<16>>16;do if(n<<16>>16>16){if((q+49|0)<(r|0))break;if((q+31|0)<(r|0)){p=r+1&65535;break}else{p=(h[22960+(r-q)>>0]|0)+r&65535;break}}else{if((r+49|0)<(q|0)){p=n;break}if((r+31|0)<(q|0)){p=q+1&65535;break}else{p=(h[22960+(q-r)>>0]|0)+q&65535;break}}while(0);d:do if(k<<16>>16){n=k;r=M;while(1){q=d[r+8>>1]|0;if(q<<16>>16>=m<<16>>16?(s=r,(f[s>>2]&u|0)==(u|0)?(f[s+4>>2]&v|0)==(v|0):0):0){ha=52;break}if(q<<16>>16<=m<<16>>16?(s=r,q=f[s>>2]|0,s=f[s+4>>2]|0,(q&u|0)==(q|0)&(s&v|0)==(s|0)):0)break d;n=n+-1<<16>>16;if(!(n<<16>>16))break;else r=r+16|0}if((ha|0)==52){q=r;n=r+8|0;ha=53;break}if((k&65535)<3){ha=48;break}r=k&65535;s=M;n=d[O>>1]|0;q=1;do{s=n<<16>>16>(d[ia+8+(q<<4)+8>>1]|0)?ia+8+(q<<4)|0:s;q=q+1|0;n=d[s+8>>1]|0}while((q|0)!=(r|0));if(n<<16>>16>m<<16>>16){q=s;n=s+8|0;ha=53}}else ha=48;while(0);if((ha|0)==48){n=k&65535;d[ia+8+(n<<4)+10>>1]=p;q=ia+8+(n<<4)|0;n=ia+8+(n<<4)+8|0;k=k+1<<16>>16;ha=53}do if((ha|0)==53){ha=0;s=q;f[s>>2]=u;f[s+4>>2]=v;d[n>>1]=m;m=q+10|0;if((d[m>>1]|0)<=p<<16>>16)break;d[m>>1]=p}while(0);w=w+1|0}while((w|0)!=(y|0));x=x+1|0}while((x|0)!=(C|0))}n=0}while(0);D=D+48|0}while(D>>>0>>0)}else l=0;while(0);d[P>>1]=1;f[f[Q>>2]>>2]=o;f[R>>2]=8192;d[S>>1]=0;b[T>>0]=0;f[U>>2]=0;f[U+4>>2]=0;f[U+8>>2]=0;if(l|0)break a;n=k&65535;m=0;while(1){if(m>>>0>=n>>>0)break b;d[V>>1]=(j[ia+8+(m<<4)+8>>1]|0)+1;d[W>>1]=d[ia+8+(m<<4)+10>>1]|0;D=ia+8+(m<<4)|0;E=f[D+4>>2]|0;l=ba;f[l>>2]=f[D>>2];f[l+4>>2]=E;l=Rn(a,ba)|0;if(!l)m=m+1|0;else break a}}while(0);o=o+48|0;if(o>>>0>=aa>>>0){l=0;break}}d[ia>>1]=k;ia=l;t=ja;return ia|0}function En(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;oa=t;t=t+16|0;ca=oa+8|0;ka=oa;aa=f[a>>2]|0;la=f[aa>>2]|0;ma=b[a+46>>0]|0;na=ma&255;Y=(ma&255)<2?1:ma<<24>>24==2?5:10;ja=a+8|0;e=f[ja>>2]|0;ea=c<<16>>16==0;if(ea|(e|0)==0)W=0;else W=f[e>>2]|0;l=Y<<1;m=W<<1;i=m+(U(l,(na<<2)+32|0)|0)|0;k=((i|0)<0)<<31>>31;a:do if(f[la+272>>2]|0)if(!(b[la+81>>0]|0))V=13;else{t=oa;return}else{do if(!(0>>0|(0==(k|0)?(j[la+276>>1]|0)>>>0>>0:0))){e=la+300|0;g=f[e>>2]|0;if(g|0){f[e>>2]=f[g>>2];ga=la+284|0;f[ga>>2]=(f[ga>>2]|0)+1;ga=g;break a}e=la+296|0;g=f[e>>2]|0;if(!g){e=la+292|0;break}else{f[e>>2]=f[g>>2];ga=la+284|0;f[ga>>2]=(f[ga>>2]|0)+1;ga=g;break a}}else e=la+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;V=13}while(0);if((V|0)==13)ga=Dc(la,i,k)|0;if(!ga){t=oa;return}o=ga+(Y<<5)|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;e=l;i=o+(Y<<5)|0;g=ga;while(1){f[g+24>>2]=i;i=i+(na<<2)|0;if((e|0)<=1)break;else{e=e+-1|0;g=g+32|0}}e=(W|0)!=0;if(e)_A(i|0,0,m|0)|0;else i=0;da=f[aa+128>>2]|0;d[ga+(Y<<5)+16>>1]=da>>>0<48?da:48;if(e)b[ga+(Y<<5)+22>>0]=ma<<24>>24==0?W&255:-1;da=ma<<24>>24==0;b:do if(!da){P=a+60|0;Q=a+44|0;R=Y>>>0>1;S=a+20|0;T=((c&65535)<<16)+1048576|0;O=0;l=0;k=0;e=0;g=ga;m=1;while(1){if((m|0)>0){K=O&65535;L=O<<2;M=g+18|0;N=g+16|0;p=0;J=0;I=o;while(1){n=f[P>>2]|0;if(!n)n=p;else{D=I+22|0;E=I+16|0;F=I+20|0;G=I+8|0;H=I+24|0;y=p;while(1){x=b[D>>0]|0;C=ka;f[C>>2]=0;f[C+4>>2]=0;C=n;w=I;v=f[w>>2]|0;w=f[w+4>>2]|0;c:do if((((f[C>>2]&~v|0)==0?(f[C+4>>2]&~w|0)==0:0)?(Z=n+8|0,$=Z,_=f[$>>2]|0,$=f[$+4>>2]|0,(_&v|0)==0&($&w|0)==0):0)?(X=d[E>>1]|0,!(X<<16>>16<3?(f[n+36>>2]&16384|0)!=0:0)):0){p=d[n+18>>1]|0;u=X&65535;s=u+(j[n+20>>1]|0)|0;q=s&65535;r=p<<16>>16;s=s<<16>>16;do if(p<<16>>16>16){if((r+49|0)<(s|0)){p=q;break}if((r+31|0)<(s|0)){p=s+1&65535;break}else{p=s+(h[22960+(s-r)>>0]|0)&65535;break}}else{if((s+49|0)<(r|0))break;if((s+31|0)<(r|0)){p=r+1&65535;break}else{p=(h[22960+(r-s)>>0]|0)+r&65535;break}}while(0);q=d[F>>1]|0;r=p<<16>>16;s=q<<16>>16;do if(p<<16>>16>16){if((r+49|0)<(s|0)){p=q;break}if((r+31|0)<(s|0)){p=s+1&65535;break}else{p=(h[22960+(s-r)>>0]|0)+s&65535;break}}else{if((s+49|0)<(r|0))break;if((s+31|0)<(r|0)){p=r+1&65535;break}else{p=(h[22960+(r-s)>>0]|0)+r&65535;break}}while(0);B=(j[n+22>>1]|0)+u|0;C=B&65535;A=_|v;z=$|w;if(x<<24>>24<0)x=Qn(a,f[ja>>2]|0,I,d[Q>>1]|0,K,n,ka)|0;else{u=G;v=f[u+4>>2]|0;w=ka;f[w>>2]=f[u>>2];f[w+4>>2]=v}r=x<<24>>24;if(x<<24>>24>-1&(W|0)>(r|0)){w=i+(r<<1)|0;q=d[w>>1]|0;if(!(q<<16>>16)){q=((W-r|0)*100|0)/(W|0)|0;r=((q|0)<0)<<31>>31;do if(q>>>0<8){if(q>>>0<2){v=-4325376;break}s=40;do{s=(s&65535)+65526|0;q=WA(q|0,r|0,1)|0;r=ba()|0}while(r>>>0<0|(r|0)==0&q>>>0<8);s=s&65535;V=66}else{if(q>>>0>255){s=40;do{s=(s&65535)+40|0;V=q;q=VA(q|0,r|0,4)|0;v=r;r=ba()|0}while(v>>>0>0|(v|0)==0&V>>>0>4095);s=s&65535}else s=40;if(!(r>>>0>0|(r|0)==0&q>>>0>15)){V=66;break}do{s=(s&65535)+10&65535;V=q;q=VA(q|0,r|0,1)|0;v=r;r=ba()|0}while(v>>>0>0|(v|0)==0&V>>>0>31);V=66}while(0);if((V|0)==66){V=0;v=((s&65535)+65526+(j[7936+((q&7)<<1)>>1]|0)<<16)+-4325376|0}if(!(d[Q>>1]&16384))r=c;else{r=d[S>>1]|0;r=r<<16>>16>16?r:c}if(r<<16>>16<11)q=0;else{q=r<<16>>16;u=((q|0)<0)<<31>>31;if((r&65535)>255){s=40;r=u;do{s=(s&65535)+40|0;u=q;q=VA(q|0,r|0,4)|0;pa=r;r=ba()|0}while(pa>>>0>0|(pa|0)==0&u>>>0>4095);s=s&65535}else{s=40;r=u}if(r>>>0>0|(r|0)==0&q>>>0>15){do{s=(s&65535)+10&65535;pa=q;q=VA(q|0,r|0,1)|0;u=r;r=ba()|0}while(u>>>0>0|(u|0)==0&pa>>>0>31);r=s}else r=s;q=(r&65535)+65493+(j[7936+((q&7)<<1)>>1]|0)&65535}q=q+((T+v|0)>>>16)&65535;d[w>>1]=q}r=p<<16>>16;s=q<<16>>16;do if(p<<16>>16>16){if((r+49|0)<(s|0))break;if((r+31|0)<(s|0)){q=s+1&65535;break}else{q=(h[22960+(s-r)>>0]|0)+s&65535;break}}else{if((s+49|0)<(r|0)){q=p;break}if((s+31|0)<(r|0)){q=r+1&65535;break}else{q=(h[22960+(r-s)>>0]|0)+r&65535;break}}while(0);w=p;v=(q&65535)+5&65535}else{w=(p&65535)+65534&65535;v=p}d:do if((y|0)>0){p=0;u=g;while(1){pa=u;if(((f[pa>>2]|0)==(A|0)?(f[pa+4>>2]|0)==(z|0):0)?(b[u+22>>0]^x)<<24>>24>-1:0)break;p=p+1|0;if((p|0)>=(y|0)){V=96;break d}else u=u+32|0}q=u+22|0;r=u+18|0;p=d[r>>1]|0;if(p<<16>>16>16){p=y;break c}if(p<<16>>16!=v<<16>>16){s=u;p=u;break}s=d[u+16>>1]|0;p=B<<16>>16;if((p|0)>(s|0)){p=y;break c}if((p|0)!=(s|0)){s=u;p=u;break}if((d[u+20>>1]|0)>w<<16>>16){s=u;p=u}else{p=y;break c}}else V=96;while(0);if((V|0)==96){V=0;p=(y|0)<(Y|0);if(!p){if(v<<16>>16>k<<16>>16){p=y;break}if(!(v<<16>>16!=k<<16>>16?1:w<<16>>16>16)){p=y;break}}q=p?y:l;pa=g+(q<<5)|0;s=pa;y=y+(p&1)|0;r=g+(q<<5)+18|0;q=g+(q<<5)+22|0;p=pa}pa=I;z=Z;B=f[z+4>>2]|f[pa+4>>2];A=p;f[A>>2]=f[z>>2]|f[pa>>2];f[A+4>>2]=B;A=ka;B=f[A+4>>2]|0;pa=s+8|0;f[pa>>2]=f[A>>2];f[pa+4>>2]=B;d[s+16>>1]=C;d[r>>1]=v;d[s+20>>1]=w;b[q>>0]=x;pa=s+24|0;YA(f[pa>>2]|0,f[H>>2]|0,L|0)|0;f[(f[pa>>2]|0)+(O<<2)>>2]=n;if((y|0)<(Y|0)){p=y;break}k=d[M>>1]|0;e=d[N>>1]|0;if(!R){p=y;l=0;break}r=g;s=1;l=0;do{q=d[r+50>>1]|0;do if(q<<16>>16<=k<<16>>16){if(q<<16>>16!=k<<16>>16)break;p=d[r+52>>1]|0;if(p<<16>>16>e<<16>>16){e=p;V=112}}else{e=d[r+52>>1]|0;V=112}while(0);r=r+32|0;if((V|0)==112){V=0;l=s;k=q}s=s+1|0}while((s|0)!=(Y|0));p=y}else p=y;while(0);n=f[n+52>>2]|0;if(!n){n=p;break}else y=p}}J=J+1|0;if((J|0)==(m|0)){m=n;break}else{p=n;I=I+32|0}}}else m=0;O=O+1|0;if((O|0)==(na|0))break;else{pa=o;o=g;g=pa}}if(m|0){if((m|0)>1){i=1;e=g;do{e=(d[e+18>>1]|0)>(d[g+(i<<5)+18>>1]|0)?g+(i<<5)|0:e;i=i+1|0}while((i|0)!=(m|0));g=e}if(da){o=g;break}i=f[g+24>>2]|0;k=f[a+4>>2]|0;e=0;while(1){pa=f[i+(e<<2)>>2]|0;f[a+752+(e*80|0)+64>>2]=pa;pa=b[pa+16>>0]|0;b[a+752+(e*80|0)+44>>0]=pa;f[a+752+(e*80|0)+4>>2]=f[k+8+((pa&255)*72|0)+40>>2];e=e+1|0;if((e|0)==(na|0)){o=g;break b}}}ni(aa,56862,ca);if(la|0){if(f[la+480>>2]|0){Kc(la,ga);t=oa;return}pa=ga;if((f[la+304>>2]|0)>>>0<=pa>>>0?(f[la+308>>2]|0)>>>0>pa>>>0:0){pa=la+300|0;f[ga>>2]=f[pa>>2];f[pa>>2]=ga;t=oa;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](ga);t=oa;return}else{pa=ib[f[37368>>2]&255](ga)|0;f[18187]=(f[18187]|0)-pa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ga);t=oa;return}}while(0);n=a+44|0;if(((d[n>>1]&384)==256?(fa=a+51|0,!(ea|(b[fa>>0]|0)!=0)):0)?(ea=a+12|0,pa=na+-1|0,pa=(Qn(a,f[ea>>2]|0,o,128,pa&65535,f[(f[o+24>>2]|0)+(pa<<2)>>2]|0,ka)|0)<<24>>24,(f[f[ea>>2]>>2]|0)==(pa|0)):0)b[fa>>0]=2;l=a+52|0;b[l>>0]=0;e=f[ja>>2]|0;if(e|0){g=d[n>>1]|0;i=b[o+22>>0]|0;if(!(g&128)){k=a+47|0;b[k>>0]=i;ea=o+8|0;fa=f[ea+4>>2]|0;m=a+64|0;pa=m;f[pa>>2]=f[ea>>2];f[pa+4>>2]=fa;if((i<<24>>24<1?(b[k>>0]=0,!da):0)?(ha=na+-1|0,ia=f[(f[o+24>>2]|0)+(ha<<2)>>2]|0,pa=f[ia+36>>2]|0,!((pa&4096|0)!=0|(pa&260|0)==260)):0){pa=ka;f[pa>>2]=0;f[pa+4>>2]=0;pa=(Qn(a,e,o,2048,ha&65535,ia,ka)|0)<<24>>24;e=f[ja>>2]|0;if((f[e>>2]|0)==(pa|0)){b[l>>0]=1;ha=ka;ia=f[ha+4>>2]|0;pa=m;f[pa>>2]=f[ha>>2];f[pa+4>>2]=ia}g=d[n>>1]|0}}else if((f[e>>2]|0)==(i<<24>>24|0))b[a+51>>0]=2;if((g&512?(ma<<24>>24?(f[e>>2]|0)==(b[a+47>>0]|0):0):0)?(pa=ka,f[pa>>2]=0,f[pa+4>>2]=0,pa=na+-1|0,pa=(Qn(a,e,o,0,pa&65535,f[(f[o+24>>2]|0)+(pa<<2)>>2]|0,ka)|0)<<24>>24,(f[f[ja>>2]>>2]|0)==(pa|0)):0){b[a+48>>0]=1;ma=ka;na=f[ma+4>>2]|0;pa=a+64|0;f[pa>>2]=f[ma>>2];f[pa+4>>2]=na}}d[a+72>>1]=d[o+16>>1]|0;if(la|0){if(f[la+480>>2]|0){Kc(la,ga);t=oa;return}pa=ga;if((f[la+304>>2]|0)>>>0<=pa>>>0?(f[la+308>>2]|0)>>>0>pa>>>0:0){pa=la+300|0;f[ga>>2]=f[pa>>2];f[pa>>2]=ga;t=oa;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](ga);t=oa;return}else{pa=ib[f[37368>>2]&255](ga)|0;f[18187]=(f[18187]|0)-pa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ga);t=oa;return}}function Fn(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b[c>>0]|0;j=c+4|0;e=f[j>>2]|0;if(d<<24>>24==-98&(e&8|0)==0){g=f[c+28>>2]|0;e=f[a+4>>2]|0;if((e|0)<=0){l=0;a=0;aa(l|0);return a|0}d=0;while(1){if((f[a+8+(d<<2)>>2]|0)==(g|0))break;d=d+1|0;if((d|0)>=(e|0)){d=0;e=0;i=29;break}}if((i|0)==29){aa(d|0);return e|0}a=WA(1,0,d|0)|0;l=ba()|0;aa(l|0);return a|0}if(e&8404992|0){l=0;a=0;aa(l|0);return a|0}a:do if(d<<24>>24==-89?(g=f[c+28>>2]|0,h=f[a+4>>2]|0,(h|0)>0):0){d=0;while(1){if((f[a+8+(d<<2)>>2]|0)==(g|0))break;d=d+1|0;if((d|0)>=(h|0)){e=0;g=0;break a}}e=WA(1,0,d|0)|0;g=ba()|0}else{e=0;g=0}while(0);d=f[c+12>>2]|0;if(!d)l=e;else{l=Fn(a,d)|0;l=l|e;g=ba()|0|g}d=f[c+16>>2]|0;if(d|0){a=Fn(a,d)|0;aa(ba()|0|g|0);return a|l|0}d=f[j>>2]|0;if(d&2048|0){if(d&32|0)f[a>>2]=1;a=Pn(a,f[c+20>>2]|0)|0;k=ba()|0|g;a=a|l;aa(k|0);return a|0}k=f[c+20>>2]|0;if(!k){k=g;a=l;aa(k|0);return a|0}h=f[k>>2]|0;if((h|0)>0){c=0;e=0;d=0;do{i=f[k+4+(c*20|0)>>2]|0;if(!i){i=0;j=0}else{i=Fn(a,i)|0;j=ba()|0;h=f[k>>2]|0}e=i|e;d=j|d;c=c+1|0}while((c|0)<(h|0))}else{e=0;d=0}k=d|g;a=e|l;aa(k|0);return a|0}function Gn(a,b){a=a|0;b=b|0;var c=0,d=0;d=Yk(f[a+12>>2]|0)|0;c=f[a+16>>2]|0;do if(!c){if(!(f[a+4>>2]&2048)){a=d<<24>>24==0?65:d;break}a=Yk(f[(f[f[a+20>>2]>>2]|0)+4>>2]|0)|0;if(d<<24>>24==0|a<<24>>24==0){a=(a|d)<<24>>24==0?65:(a&255)+(d&255)&255;break}else{a=d<<24>>24>66|a<<24>>24>66?67:65;break}}else{a=Yk(c)|0;if(d<<24>>24==0|a<<24>>24==0){a=(a|d)<<24>>24==0?65:(a&255)+(d&255)&255;break}else{a=d<<24>>24>66|a<<24>>24>66?67:65;break}}while(0);switch(a<<24>>24|0){case 66:{b=b<<24>>24==66;b=b&1;return b|0}case 65:{b=1;b=b&1;return b|0}default:{b=b<<24>>24>66;b=b&1;return b|0}}return 0}function Hn(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=t;t=t+192|0;o=F+152|0;r=F+144|0;v=F+136|0;u=F+128|0;p=F+120|0;n=F+112|0;m=F+104|0;D=F+160|0;l=F;E=f[a+116>>2]|0;if((b[((E|0)==0?a:E)+195>>0]|0)!=2){t=F;return}s=h[e+44>>0]|0;E=f[a+8>>2]|0;k=f[a>>2]|0;y=f[e+64>>2]|0;w=y+36|0;q=f[w>>2]|0;if((q&8192|0)==0?(i=g&65535,(i&32|0)==0):0){g=q&48;do if(!g){if((q&1024|0)==0?d[y+24>>1]|0:0){i=1;break}i=(i&3|0)!=0}else i=1;while(0);C=D+4|0;f[C>>2]=l;f[D>>2]=k;x=D+8|0;f[x>>2]=100;z=D+12|0;f[z>>2]=1e9;A=D+16|0;f[A>>2]=0;b[D+20>>0]=0;B=D+21|0;b[B>>0]=0;e=i?6:4;f[A>>2]=e;YA(l|0,(i?56599:56606)|0,e|0)|0;e=f[c+8+(s*72|0)+20>>2]|0;if(!e){f[n>>2]=f[c+8+(s*72|0)+8>>2];qf(D,56624,n)}else{f[m>>2]=f[e+20>>2];qf(D,56611,m)}e=f[c+8+(s*72|0)+12>>2]|0;if(e|0){f[p>>2]=e;qf(D,56634,p)}do if(!(q&1280)){k=y+32|0;l=f[k>>2]|0;if((f[(f[c+8+(s*72|0)+16>>2]|0)+36>>2]&32|0)!=0?(s=l+55|0,((h[s>>0]|h[s+1>>0]<<8)&3)==2):0)if(i)e=56726;else break;else if(!(q&131072))e=(q&16384|0)==0?((q&64|0)==0?56641:56650):56668;else e=56693;g=f[A>>2]|0;i=g+7|0;if(i>>>0<(f[x>>2]|0)>>>0){f[A>>2]=i;s=(f[C>>2]|0)+g|0;b[s>>0]=b[56738]|0;b[s+1>>0]=b[56739]|0;b[s+2>>0]=b[56740]|0;b[s+3>>0]=b[56741]|0;b[s+4>>0]=b[56742]|0;b[s+5>>0]=b[56743]|0;b[s+6>>0]=b[56744]|0}else Ec(D,56738,7);f[u>>2]=f[l>>2];qf(D,e,u);p=f[k>>2]|0;e=d[y+24>>1]|0;l=d[y+42>>1]|0;g=e&65535;e=e<<16>>16==0;if(e?(f[w>>2]&48|0)==0:0)break;i=f[A>>2]|0;k=i+2|0;if(k>>>0<(f[x>>2]|0)>>>0){f[A>>2]=k;u=(f[C>>2]|0)+i|0;b[u>>0]=32;b[u+1>>0]=40}else Ec(D,56746,2);a:do if(e)g=0;else{n=p+4|0;o=p+12|0;m=l&65535;l=0;while(1){e=d[(f[n>>2]|0)+(l<<1)>>1]|0;switch(e<<16>>16){case -2:{e=56749;break}case -1:{e=47870;break}default:e=f[(f[(f[o>>2]|0)+4>>2]|0)+(e<<16>>16<<4)>>2]|0}do if(l|0){i=f[A>>2]|0;k=i+5|0;if(k>>>0<(f[x>>2]|0)>>>0){f[A>>2]=k;u=(f[C>>2]|0)+i|0;b[u>>0]=b[56756]|0;b[u+1>>0]=b[56757]|0;b[u+2>>0]=b[56758]|0;b[u+3>>0]=b[56759]|0;b[u+4>>0]=b[56760]|0;break}else{Ec(D,56756,5);break}}while(0);f[v>>2]=e;qf(D,l>>>0>>0?56762:56770,v);l=l+1|0;if((l|0)==(g|0))break a}}while(0);e=f[w>>2]|0;if(!(e&32))i=g;else{On(D,p,j[y+26>>1]|0,g,g,56775);i=1;e=f[w>>2]|0}if(e&16|0)On(D,p,j[y+28>>1]|0,g,i,56777);e=f[A>>2]|0;g=e+1|0;if(g>>>0<(f[x>>2]|0)>>>0){f[A>>2]=g;b[(f[C>>2]|0)+e>>0]=41;break}else{Ec(D,43047,1);break}}else{if((q&256|0)==0|(q&15|0)==0){if(!(q&1024))break;x=f[y+32>>2]|0;f[o>>2]=f[y+24>>2];f[o+4>>2]=x;qf(D,56833,o);break}if(!(q&5))e=(g|0)==48?56779:(q&32|0)==0?56777:56775;else e=56793;f[r>>2]=e;qf(D,56795,r)}while(0);e=f[C>>2]|0;if(((e|0)!=0?(b[e+(f[A>>2]|0)>>0]=0,(f[z>>2]|0)!=0):0)?(b[B>>0]&4)==0:0)k=Cc(D)|0;else k=f[C>>2]|0;i=E+136|0;e=f[i>>2]|0;g=f[a+208>>2]|0;if((f[(f[E+12>>2]|0)+48>>2]|0)>(e|0)){f[i>>2]=e+1;a=f[E+88>>2]|0;b[a+(e*20|0)>>0]=-84;d[a+(e*20|0)+2>>1]=0;f[a+(e*20|0)+4>>2]=e;f[a+(e*20|0)+8>>2]=g;f[a+(e*20|0)+12>>2]=0;f[a+(e*20|0)+16>>2]=0;b[a+(e*20|0)+1>>0]=0}else e=tl(E,172,e,g,0)|0;g=f[E>>2]|0;do if(!(b[g+81>>0]|0)){if((e|0)<0)e=(f[i>>2]|0)+-1|0;g=f[E+88>>2]|0;i=g+(e*20|0)+1|0;if(b[i>>0]|0){ul(E,g+(e*20|0)|0,k,-7);break}if(k|0){f[g+(e*20|0)+16>>2]=k;b[i>>0]=-7}}else if(k|0){if(g|0){if(f[g+480>>2]|0){Kc(g,k);break}E=k;if((f[g+304>>2]|0)>>>0<=E>>>0?(f[g+308>>2]|0)>>>0>E>>>0:0){E=g+300|0;f[k>>2]=f[E>>2];f[E>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{E=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);t=F;return}t=F;return}function In(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;ta=t;t=t+176|0;E=ta+16|0;D=ta+8|0;C=ta;na=ta+72|0;oa=ta+24|0;sa=f[a>>2]|0;Z=sa+8|0;qa=f[Z>>2]|0;pa=a+80|0;$=f[sa>>2]|0;ia=a+752+(c*80|0)|0;x=a+752+(c*80|0)+64|0;X=f[x>>2]|0;A=a+4|0;ca=f[A>>2]|0;r=a+752+(c*80|0)+44|0;da=h[r>>0]|0;z=ca+8+(da*72|0)|0;ja=f[ca+8+(da*72|0)+40>>2]|0;k=f[a+492>>2]|0;a:do if((k|0)>0){i=0;while(1){if((f[a+496+(i<<2)>>2]|0)==(ja|0))break;i=i+1|0;if((i|0)>=(k|0)){i=0;k=0;break a}}i=WA(1,0,i|0)|0;k=ba()|0}else{i=0;k=0}while(0);ra=a+752+(c*80|0)+72|0;w=ra;f[w>>2]=~i&e;f[w+4>>2]=~k&g;w=a+64|0;w=VA(f[w>>2]|0,f[w+4>>2]|0,c|0)|0;ba()|0;_=w&1;V=X+36|0;if(!(f[V>>2]&64))Y=0;else Y=(d[a+44>>1]&32)==0;ha=qa+12|0;i=f[ha>>2]|0;p=i+60|0;q=f[p>>2]|0;f[p>>2]=q+1;p=i+64|0;if(!(q+-1&q)){n=q<<3|4;o=f[i>>2]|0;m=f[p>>2]|0;b:do if(m){k=m;l=o+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[o+308>>2]|0)>>>0>k>>>0:0)?!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)):0){i=m;break}i=Lc(o,m,n,0)|0;if(!i){if(f[o+480>>2]|0){Kc(o,m);i=0;break}if((f[l>>2]|0)>>>0<=k>>>0?(f[o+308>>2]|0)>>>0>k>>>0:0){i=o+300|0;f[m>>2]=f[i>>2];f[i>>2]=m;i=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);i=0;break}else{i=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);i=0;break}}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];fa=o+284|0;f[fa>>2]=(f[fa>>2]|0)+1;break b}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];fa=o+284|0;f[fa>>2]=(f[fa>>2]|0)+1;break b}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(q<<2)>>2]=-1;v=~q;M=a+752+(c*80|0)+16|0;f[M>>2]=v;W=a+752+(c*80|0)+12|0;f[W>>2]=v;i=f[ha>>2]|0;p=i+60|0;q=f[p>>2]|0;f[p>>2]=q+1;p=i+64|0;if(!(q+-1&q)){n=q<<3|4;o=f[i>>2]|0;i=f[p>>2]|0;c:do if(i){l=i;m=o+304|0;if(((f[m>>2]|0)>>>0<=l>>>0?(f[o+308>>2]|0)>>>0>l>>>0:0)?!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)):0)break;k=Lc(o,i,n,0)|0;if(!k){if(f[o+480>>2]|0){Kc(o,i);i=0;break}if((f[m>>2]|0)>>>0<=l>>>0?(f[o+308>>2]|0)>>>0>l>>>0:0){fa=o+300|0;f[i>>2]=f[fa>>2];f[fa>>2]=i;i=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{fa=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else i=k}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];fa=o+284|0;f[fa>>2]=(f[fa>>2]|0)+1;break c}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];fa=o+284|0;f[fa>>2]=(f[fa>>2]|0)+1;break c}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(q<<2)>>2]=-1;fa=~q;B=a+752+(c*80|0)+24|0;f[B>>2]=fa;do if(b[r>>0]|0?b[ca+8+(da*72|0)+36>>0]&8:0){k=sa+44|0;i=(f[k>>2]|0)+1|0;f[k>>2]=i;f[ia>>2]=i;k=qa+136|0;l=f[k>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;U=f[qa+88>>2]|0;b[U+(l*20|0)>>0]=70;d[U+(l*20|0)+2>>1]=0;f[U+(l*20|0)+4>>2]=0;f[U+(l*20|0)+8>>2]=i;f[U+(l*20|0)+12>>2]=0;f[U+(l*20|0)+16>>2]=0;b[U+(l*20|0)+1>>0]=0;break}else{tl(qa,70,0,i,0)|0;break}}while(0);if((c|0)>0){i=c;while(1){if(f[a+752+(i*80|0)>>2]|0)break;k=i+-1|0;if((i|0)>1)i=k;else{i=k;break}}i=a+752+(i*80|0)+12|0}else i=W;m=f[i>>2]|0;i=b[ca+8+(da*72|0)+37>>0]|0;d:do if(!(i&16)){l=f[V>>2]|0;if(l&1024|0){o=d[X+40>>1]|0;r=o&65535;i=r+2|0;k=sa+32|0;l=f[k>>2]|0;m=sa+28|0;n=f[m>>2]|0;if((n|0)<(i|0)){Z=sa+44|0;s=f[Z>>2]|0;f[Z>>2]=s+i;s=s+1|0}else{f[k>>2]=i+l;f[m>>2]=n-i;s=l}i=f[W>>2]|0;q=o<<16>>16==0;if(q)m=i;else{n=s+2|0;o=X+48|0;m=0;do{k=n+m|0;l=f[(f[o>>2]|0)+(m<<2)>>2]|0;do if(l)if(!(d[l+12>>1]&1)){Kn(sa,f[(f[l>>2]|0)+16>>2]|0,k,1);break}else{Jn(sa,l,ia,m,_,k)|0;i=f[M>>2]|0;break}while(0);m=m+1|0}while((m|0)!=(r|0));m=i}i=f[X+24>>2]|0;l=qa+136|0;k=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;_=f[qa+88>>2]|0;b[_+(k*20|0)>>0]=70;d[_+(k*20|0)+2>>1]=0;f[_+(k*20|0)+4>>2]=i;f[_+(k*20|0)+8>>2]=s;f[_+(k*20|0)+12>>2]=0;f[_+(k*20|0)+16>>2]=0;b[_+(k*20|0)+1>>0]=0}else tl(qa,70,i,s,0)|0;i=s+1|0;k=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;_=f[qa+88>>2]|0;b[_+(k*20|0)>>0]=70;d[_+(k*20|0)+2>>1]=0;f[_+(k*20|0)+4>>2]=r;f[_+(k*20|0)+8>>2]=i;f[_+(k*20|0)+12>>2]=0;f[_+(k*20|0)+16>>2]=0;b[_+(k*20|0)+1>>0]=0}else tl(qa,70,r,i,0)|0;n=f[X+32>>2]|0;o=X+28|0;p=(b[o>>0]|0)==0?-1:-7;i=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;_=f[qa+88>>2]|0;b[_+(i*20|0)>>0]=9;d[_+(i*20|0)+2>>1]=0;f[_+(i*20|0)+4>>2]=ja;f[_+(i*20|0)+8>>2]=m;f[_+(i*20|0)+12>>2]=s;f[_+(i*20|0)+16>>2]=0;b[_+(i*20|0)+1>>0]=0}else i=tl(qa,9,ja,m,s)|0;k=f[qa>>2]|0;do if(!(b[k+81>>0]|0)){if((i|0)<0)i=(f[l>>2]|0)+-1|0;k=f[qa+88>>2]|0;m=k+(i*20|0)+1|0;if(b[m>>0]|0){ul(qa,k+(i*20|0)|0,n,p);break}if(!n)break;f[k+(i*20|0)+16>>2]=n;b[m>>0]=p}else qg(k,p,n);while(0);b[o>>0]=0;f[a+752+(c*80|0)+48>>2]=ja;b[a+752+(c*80|0)+45>>0]=(b[a+49>>0]|0)==0?60:-85;f[a+752+(c*80|0)+52>>2]=f[l>>2];if(q){D=0;break}A=X+48|0;v=X+30|0;w=$+81|0;x=a+752+(c*80|0)+60|0;y=qa+88|0;z=na+4|0;u=s+2|0;i=f[a+752+(c*80|0)+56>>2]|0;while(1){s=r;r=r+-1|0;q=f[(f[A>>2]|0)+(r<<2)>>2]|0;do if((s|0)<17){if(!(1<>1])){ea=117;break}Ln(ia,q)}else ea=117;while(0);e:do if((ea|0)==117){ea=0;if(!(d[q+12>>1]&1))break;do if(!(b[w>>0]|0)){i=i+-1|0;k=f[(f[x>>2]|0)+(i*20|0)+4>>2]|0;if((k|0)<0)k=(f[l>>2]|0)+-1|0;if(!(b[(f[qa>>2]|0)+81>>0]|0))k=(f[y>>2]|0)+(k*20|0)|0;else k=72144;n=b[k>>0]|0;o=f[k+4>>2]|0;p=f[k+8>>2]|0;k=f[k+12>>2]|0;m=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;_=f[y>>2]|0;b[_+(m*20|0)>>0]=n;d[_+(m*20|0)+2>>1]=0;f[_+(m*20|0)+4>>2]=o;f[_+(m*20|0)+8>>2]=p;f[_+(m*20|0)+12>>2]=k;f[_+(m*20|0)+16>>2]=0;b[_+(m*20|0)+1>>0]=0;break}else{tl(qa,n&255,o,p,k)|0;break}}while(0);n=f[sa>>2]|0;f:do if(f[n+272>>2]|0)if(!(b[n+81>>0]|0))ea=136;else break e;else{do if((j[n+276>>1]|0)>=48){k=n+300|0;m=f[k>>2]|0;if(m|0){f[k>>2]=f[m>>2];_=n+284|0;f[_>>2]=(f[_>>2]|0)+1;break f}k=n+296|0;m=f[k>>2]|0;if(!m){k=n+292|0;break}else{f[k>>2]=f[m>>2];_=n+284|0;f[_>>2]=(f[_>>2]|0)+1;break f}}else k=n+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;ea=136}while(0);if((ea|0)==136){ea=0;m=Dc(n,48,0)|0}if(!m)break;I=m;H=I+48|0;do{f[I>>2]=0;I=I+4|0}while((I|0)<(H|0));b[m>>0]=53;d[m+34>>1]=-1;jl(m);k=f[(f[sa>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[C>>2]=k;ni(sa,42710,C)}n=m+12|0;f[n>>2]=f[(f[q>>2]|0)+12>>2];f[na>>2]=0;f[z>>2]=0;k=Dk($,164,na,0)|0;f[m+16>>2]=k;if(k|0){f[k+28>>2]=u+r;zm(sa,m,f[B>>2]|0,0)}f[n>>2]=0;ig($,m)}while(0);if((s|0)<=1){D=0;break d}}}if(!((l&256|0)==0|(l&5|0)==0)){m=f[f[X+48>>2]>>2]|0;$=sa+44|0;i=(f[$>>2]|0)+1|0;f[$>>2]=i;m=Jn(sa,m,ia,0,_,i)|0;if(!((i|0)==0|(m|0)==(i|0))?(s=sa+19|0,u=b[s>>0]|0,(u&255)<8):0){b[s>>0]=u+1<<24>>24;f[sa+144+((u&255)<<2)>>2]=i}i=f[M>>2]|0;l=qa+136|0;k=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;$=f[qa+88>>2]|0;b[$+(k*20|0)>>0]=30;d[$+(k*20|0)+2>>1]=0;f[$+(k*20|0)+4>>2]=ja;f[$+(k*20|0)+8>>2]=i;f[$+(k*20|0)+12>>2]=m;f[$+(k*20|0)+16>>2]=0;b[$+(k*20|0)+1>>0]=0}else tl(qa,30,ja,i,m)|0;b[a+752+(c*80|0)+45>>0]=-85;D=0;break}if((l&258|0)==258){if(!(l&32)){k=0;i=0}else{k=f[f[X+48>>2]>>2]|0;i=1}if(!(l&16))i=0;else i=f[(f[X+48>>2]|0)+(i<<2)>>2]|0;$=(_|0)==0;q=$?i:k;k=$?k:i;do if(!k){i=_<<2^36;k=qa+136|0;l=f[k>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;$=f[qa+88>>2]|0;b[$+(l*20|0)>>0]=i;d[$+(l*20|0)+2>>1]=0;f[$+(l*20|0)+4>>2]=ja;f[$+(l*20|0)+8>>2]=m;f[$+(l*20|0)+12>>2]=0;f[$+(l*20|0)+16>>2]=0;b[$+(l*20|0)+1>>0]=0;break}else{tl(qa,i,ja,m,0)|0;break}}else{n=f[k>>2]|0;l=f[n+16>>2]|0;i=b[l>>0]|0;if(i<<24>>24==-92)i=b[l+38>>0]|0;switch(i<<24>>24){case -91:{i=l+20|0;ea=163;break}case 127:{i=f[l+20>>2]|0;ea=163;break}default:ea=168}do if((ea|0)==163){if((f[f[i>>2]>>2]|0)<2){ea=168;break}i=sa+19|0;k=b[i>>0]|0;if(!(k<<24>>24)){$=sa+44|0;i=(f[$>>2]|0)+1|0;f[$>>2]=i}else{$=k+-1<<24>>24;b[i>>0]=$;i=f[sa+144+(($&255)<<2)>>2]|0}f[na>>2]=i;Kn(sa,l,i,1);m=i;i=((b[n>>0]|0)+1&2|1)&255}while(0);if((ea|0)==168){m=Dm(sa,l,na)|0;Ln(ia,k);i=(h[n>>0]|0)+-54|0}i=b[56564+i>>0]|0;k=qa+136|0;l=f[k>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;$=f[qa+88>>2]|0;b[$+(l*20|0)>>0]=i;d[$+(l*20|0)+2>>1]=0;f[$+(l*20|0)+4>>2]=ja;f[$+(l*20|0)+8>>2]=v;f[$+(l*20|0)+12>>2]=m;f[$+(l*20|0)+16>>2]=0;b[$+(l*20|0)+1>>0]=0}else tl(qa,i&255,ja,v,m)|0;i=f[na>>2]|0;do if(i|0){k=sa+19|0;l=b[k>>0]|0;if((l&255)>=8)break;b[k>>0]=l+1<<24>>24;f[sa+144+((l&255)<<2)>>2]=i}while(0)}while(0);do if(!q){n=0;m=171}else{l=f[q>>2]|0;p=sa+44|0;n=(f[p>>2]|0)+1|0;f[p>>2]=n;p=l+16|0;Kn(sa,f[p>>2]|0,n,1);p=f[p>>2]|0;i=b[p>>0]|0;o=i<<24>>24==-92;if(o)k=b[p+38>>0]|0;else k=i;switch(k<<24>>24){case -91:{k=p+20|0;ea=185;break}case 127:{k=f[p+20>>2]|0;ea=185;break}default:ea=186}if((ea|0)==185)if((f[f[k>>2]>>2]|0)<2)ea=186;else ea=188;g:do if((ea|0)==186){switch(b[l>>0]|0){case 54:case 56:break;default:{ea=188;break g}}m=(_<<1^2)+55|0}while(0);if((ea|0)==188)m=(_<<1)+54|0;if(o)i=b[p+38>>0]|0;switch(i<<24>>24){case -91:{y=p+20|0;ea=194;break}case 127:{y=f[p+20>>2]|0;ea=194;break}default:{}}if((ea|0)==194?(f[f[y>>2]>>2]|0)>=2:0)break;Ln(ia,q)}while(0);l=qa+136|0;i=f[l>>2]|0;b[a+752+(c*80|0)+45>>0]=5-_;f[a+752+(c*80|0)+48>>2]=ja;f[a+752+(c*80|0)+52>>2]=i;if((m|0)==171){D=0;break}$=sa+44|0;k=(f[$>>2]|0)+1|0;f[$>>2]=k;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;$=f[qa+88>>2]|0;b[$+(i*20|0)>>0]=-127;d[$+(i*20|0)+2>>1]=0;f[$+(i*20|0)+4>>2]=ja;f[$+(i*20|0)+8>>2]=k;f[$+(i*20|0)+12>>2]=0;f[$+(i*20|0)+16>>2]=0;b[$+(i*20|0)+1>>0]=0}else tl(qa,129,ja,k,0)|0;i=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;$=f[qa+88>>2]|0;b[$+(i*20|0)>>0]=m;d[$+(i*20|0)+2>>1]=0;f[$+(i*20|0)+4>>2]=n;f[$+(i*20|0)+8>>2]=v;f[$+(i*20|0)+12>>2]=k;f[$+(i*20|0)+16>>2]=0;b[$+(i*20|0)+1>>0]=0}else tl(qa,m,n,v,k)|0;i=f[l>>2]|0;if((i|0)<=0){D=0;break}d[(f[qa+88>>2]|0)+((i+-1|0)*20|0)+2>>1]=83;D=0;break}if(!(l&512)){if(!(l&8192)){if(i&32){b[a+752+(c*80|0)+45>>0]=-85;D=0;l=qa+136|0;break}b[a+752+(c*80|0)+45>>0]=b[56595+_>>0]|0;f[a+752+(c*80|0)+48>>2]=ja;i=b[56597+_>>0]|0;l=qa+136|0;k=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){$=k+1|0;f[l>>2]=$;_=f[qa+88>>2]|0;b[_+(k*20|0)>>0]=i;d[_+(k*20|0)+2>>1]=0;f[_+(k*20|0)+4>>2]=ja;f[_+(k*20|0)+8>>2]=m;f[_+(k*20|0)+12>>2]=0;f[_+(k*20|0)+16>>2]=0;b[_+(k*20|0)+1>>0]=0;i=$}else i=(tl(qa,i&255,ja,m,0)|0)+1|0;f[a+752+(c*80|0)+52>>2]=i;b[a+752+(c*80|0)+47>>0]=1;D=0;break}q=sa+40|0;U=f[q>>2]|0;f[q>>2]=U+1;S=sa+44|0;T=(f[S>>2]|0)+1|0;f[S>>2]=T;i=f[ha>>2]|0;p=i+60|0;V=f[p>>2]|0;f[p>>2]=V+1;p=i+64|0;if(!(V+-1&V)){n=V<<3|4;o=f[i>>2]|0;i=f[p>>2]|0;h:do if(i){l=i;m=o+304|0;do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)))break h}while(0);k=Lc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Kc(o,i);i=0;break}do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;_=o+300|0;f[i>>2]=f[_>>2];f[_>>2]=i;i=0;break h}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{_=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-_;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];_=o+284|0;f[_>>2]=(f[_>>2]|0)+1;break h}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];_=o+284|0;f[_>>2]=(f[_>>2]|0)+1;break h}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(V<<2)>>2]=-1;O=~V;P=f[ca+8+(da*72|0)+16>>2]|0;R=f[f[X+48>>2]>>2]|0;s=f[R+28>>2]|0;b[a+752+(c*80|0)+45>>0]=66;f[a+752+(c*80|0)+48>>2]=T;Q=a+46|0;i=b[Q>>0]|0;do if((i&255)>1){o=(i&255)-c|0;m=(o*72|0)+8|0;i:do if(!$){_=KA(m|0,0,-1,-1)|0;Y=ba()|0;if(Y>>>0>0|(Y|0)==0&_>>>0>2147483390){ra=g;sa=e;aa(ra|0);t=ta;return sa|0}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](m)|0;ea=723;break}l=ib[f[37372>>2]&255](m)|0;if((f[18194]|0)>>>0>>0)f[18194]=m;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){_=f[18187]|0;Y=LA(i|0,k|0,l|0,((l|0)<0)<<31>>31|0)|0;X=ba()|0;f[17976]=((X|0)<0|(X|0)==0&Y>>>0<=_>>>0)&1}i=ib[f[37356>>2]&255](l)|0;if(!i){ra=g;sa=e;aa(ra|0);t=ta;return sa|0}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}else{do if(!(f[$+272>>2]|0)){do if(!(0<0|(0==0?(j[$+276>>1]|0)>>>0>>0:0))){k=$+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];ea=$+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=723;break i}k=$+296|0;i=f[k>>2]|0;if(!i){i=$+292|0;break}else{f[k>>2]=f[i>>2];ea=$+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=723;break i}}else i=$+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}else{if(!(b[$+81>>0]|0))break;aa(g|0);t=ta;return e|0}while(0);i=Dc($,m,0)|0;ea=723}while(0);do if((ea|0)==723){if(i)break;aa(g|0);t=ta;return e|0}while(0);n=o&255;f[i+4>>2]=n;f[i>>2]=n;n=i+8|0;I=n;k=z;H=I+72|0;do{f[I>>2]=f[k>>2];I=I+4|0;k=k+4|0}while((I|0)<(H|0));m=f[A>>2]|0;if((o|0)<=1){M=i;N=i;break}l=1;do{I=n+(l*72|0)|0;k=m+8+((h[ia+(l*80|0)+44>>0]|0)*72|0)|0;H=I+72|0;do{f[I>>2]=f[k>>2];I=I+4|0;k=k+4|0}while((I|0)<(H|0));l=l+1|0}while((l|0)!=(o|0));M=i;N=i}else{N=f[A>>2]|0;M=N}while(0);L=a+44|0;if(!(d[L>>1]&16)){j:do if(!(f[P+36>>2]&32)){i=(f[S>>2]|0)+1|0;f[S>>2]=i;k=qa+136|0;l=f[k>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;_=f[qa+88>>2]|0;b[_+(l*20|0)>>0]=73;d[_+(l*20|0)+2>>1]=0;f[_+(l*20|0)+4>>2]=0;f[_+(l*20|0)+8>>2]=i;f[_+(l*20|0)+12>>2]=0;f[_+(l*20|0)+16>>2]=0;b[_+(l*20|0)+1>>0]=0;break}else{tl(qa,73,0,i,0)|0;break}}else{i=f[P+8>>2]|0;k:do if(!i)i=0;else while(1){_=i+55|0;if(((h[_>>0]|h[_+1>>0]<<8)&3)==2)break k;i=f[i+20>>2]|0;if(!i){i=0;break}}while(0);n=f[q>>2]|0;f[q>>2]=n+1;k=j[i+50>>1]|0;l=qa+136|0;m=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;_=f[qa+88>>2]|0;b[_+(m*20|0)>>0]=113;d[_+(m*20|0)+2>>1]=0;f[_+(m*20|0)+4>>2]=n;f[_+(m*20|0)+8>>2]=k;f[_+(m*20|0)+12>>2]=0;f[_+(m*20|0)+16>>2]=0;b[_+(m*20|0)+1>>0]=0}else tl(qa,113,n,k,0)|0;k=f[Z>>2]|0;l=om(sa,i)|0;if(!l){i=n;break}i=f[k>>2]|0;if(!(b[i+81>>0]|0)){_=f[k+88>>2]|0;i=(f[k+136>>2]|0)+-1|0;b[_+(i*20|0)+1>>0]=-9;f[_+(i*20|0)+16>>2]=l;i=n;break}if(f[i+480>>2]|0){i=n;break}_=(f[l>>2]|0)+-1|0;f[l>>2]=_;if(_|0){i=n;break}i=f[l+12>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,l);i=n;break j}k=l;if((f[i+304>>2]|0)>>>0>k>>>0)break;if((f[i+308>>2]|0)>>>0<=k>>>0)break;i=i+300|0;f[l>>2]=f[i>>2];f[i>>2]=l;i=n;break j}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);i=n;break}else{i=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);i=n;break}}while(0);J=(f[S>>2]|0)+1|0;f[S>>2]=J}else{J=0;i=0}l=qa+136|0;k=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;K=f[qa+88>>2]|0;b[K+(k*20|0)>>0]=70;d[K+(k*20|0)+2>>1]=0;f[K+(k*20|0)+4>>2]=0;f[K+(k*20|0)+8>>2]=T;f[K+(k*20|0)+12>>2]=0;f[K+(k*20|0)+16>>2]=0;b[K+(k*20|0)+1>>0]=0;K=k}else K=tl(qa,70,0,T,0)|0;q=a+92|0;k=f[q>>2]|0;l:do if((k|0)>1){r=a+100|0;p=0;o=0;do{m=f[r>>2]|0;_=m+(p*48|0)|0;n=f[_>>2]|0;do if((_|0)!=(R|0)){if(d[m+(p*48|0)+10>>1]&6)break;if(!(d[m+(p*48|0)+12>>1]&8191))break;if(!n)k=0;else k=Bk($,n,0,0)|0;o=kl($,o,k)|0;k=f[q>>2]|0}while(0);p=p+1|0}while((p|0)<(k|0));if(!o){I=0;break}k=f[sa>>2]|0;m:do if(f[k+272>>2]|0){if(!(b[k+81>>0]|0))ea=778}else{do if((j[k+276>>1]|0)>=48){m=k+300|0;n=f[m>>2]|0;if(n|0){f[m>>2]=f[n>>2];ea=k+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=779;break m}m=k+296|0;n=f[m>>2]|0;if(!n){m=k+292|0;break}else{f[m>>2]=f[n>>2];ea=k+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=779;break m}}else m=k+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1;ea=778}while(0);if((ea|0)==778){n=Dc(k,48,0)|0;ea=779}do if((ea|0)==779){if(!n){k=f[sa>>2]|0;break}I=n;H=I+48|0;do{f[I>>2]=0;I=I+4|0}while((I|0)<(H|0));b[n>>0]=44;d[n+34>>1]=-1;f[n+16>>2]=o;f[n+4>>2]=f[o+4>>2]&2097412;jl(n);k=f[(f[sa>>2]|0)+120>>2]|0;if((k|0)>=(f[n+24>>2]|0)){I=n;break l}f[D>>2]=k;ni(sa,42710,D);I=n;break l}while(0);ig(k,o);I=0}else I=0;while(0);H=d[L>>1]&1024|32;Km(sa,1,56580,E);G=s+12|0;if((f[G>>2]|0)>0){x=s+20|0;y=(I|0)==0;z=I+12|0;A=P+36|0;B=P+8|0;C=qa+88|0;D=sa+19|0;E=sa+32|0;F=sa+28|0;w=0;o=0;m=0;do{k=f[x>>2]|0;if(!((f[k+(w*48|0)+20>>2]|0)!=(ja|0)?(d[k+(w*48|0)+12>>1]&1024)==0:0))ea=788;do if((ea|0)==788){ea=0;k=f[k+(w*48|0)>>2]|0;if(!y){f[z>>2]=k;k=I}v=sn(sa,M,k,0,0,H,U)|0;if(!v)break;Hn(sa,M,v+752|0,0);do if(!(d[L>>1]&16)){r=(w|0)==((f[G>>2]|0)+-1|0)?-1:w;if(!(f[A>>2]&32)){Am(qa,P,ja,-1,J);k=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;_=f[C>>2]|0;b[_+(k*20|0)>>0]=42;d[_+(k*20|0)+2>>1]=0;f[_+(k*20|0)+4>>2]=i;f[_+(k*20|0)+8>>2]=0;f[_+(k*20|0)+12>>2]=J;f[_+(k*20|0)+16>>2]=0;b[_+(k*20|0)+1>>0]=0}else k=tl(qa,42,i,0,J)|0;if(b[(f[qa>>2]|0)+81>>0]|0)break;_=f[C>>2]|0;b[_+(k*20|0)+1>>0]=-3;f[_+(k*20|0)+16>>2]=r;break}k=f[B>>2]|0;n:do if(!k)k=0;else while(1){_=k+55|0;if(((h[_>>0]|h[_+1>>0]<<8)&3)==2)break n;k=f[k+20>>2]|0;if(!k){k=0;break}}while(0);q=d[k+50>>1]|0;s=q&65535;u=q<<16>>16==1;do if(u){n=b[D>>0]|0;if(!(n<<24>>24)){n=(f[S>>2]|0)+1|0;f[S>>2]=n;ea=810;break}else{n=n+-1<<24>>24;b[D>>0]=n;n=f[sa+144+((n&255)<<2)>>2]|0;ea=810;break}}else{n=f[E>>2]|0;p=f[F>>2]|0;if((p|0)<(s|0)){n=f[S>>2]|0;f[S>>2]=n+s;n=n+1|0}else{f[E>>2]=n+s;f[F>>2]=p-s}if(!(q<<16>>16))q=n;else ea=810}while(0);if((ea|0)==810){ea=0;p=k+4|0;k=0;do{Am(qa,P,ja,d[(f[p>>2]|0)+(k<<1)>>1]|0,k+n|0);k=k+1|0}while((k|0)!=(s|0));q=n}p=(r|0)!=0;if(p){k=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;_=f[C>>2]|0;b[_+(k*20|0)>>0]=29;d[_+(k*20|0)+2>>1]=0;f[_+(k*20|0)+4>>2]=i;f[_+(k*20|0)+8>>2]=0;f[_+(k*20|0)+12>>2]=q;f[_+(k*20|0)+16>>2]=0;b[_+(k*20|0)+1>>0]=0}else k=tl(qa,29,i,0,q)|0;if(!(b[(f[qa>>2]|0)+81>>0]|0)){_=f[C>>2]|0;b[_+(k*20|0)+1>>0]=-3;f[_+(k*20|0)+16>>2]=s}if((r|0)>-1)ea=819}else{k=0;ea=819}do if((ea|0)==819){ea=0;n=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(n|0)){f[l>>2]=n+1;_=f[C>>2]|0;b[_+(n*20|0)>>0]=102;d[_+(n*20|0)+2>>1]=0;f[_+(n*20|0)+4>>2]=q;f[_+(n*20|0)+8>>2]=s;f[_+(n*20|0)+12>>2]=J;f[_+(n*20|0)+16>>2]=0;b[_+(n*20|0)+1>>0]=0}else tl(qa,102,q,s,J)|0;n=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(n|0)){f[l>>2]=n+1;_=f[C>>2]|0;b[_+(n*20|0)>>0]=-123;d[_+(n*20|0)+2>>1]=0;f[_+(n*20|0)+4>>2]=i;f[_+(n*20|0)+8>>2]=J;f[_+(n*20|0)+12>>2]=q;f[_+(n*20|0)+16>>2]=0;b[_+(n*20|0)+1>>0]=0}else n=tl(qa,133,i,J,q)|0;if(!(b[(f[qa>>2]|0)+81>>0]|0)){_=f[C>>2]|0;b[_+(n*20|0)+1>>0]=-3;f[_+(n*20|0)+16>>2]=s}if(!p)break;n=f[l>>2]|0;if((n|0)<=0)break;d[(f[C>>2]|0)+((n+-1|0)*20|0)+2>>1]=16}while(0);if(!u){if((f[F>>2]|0)>=(s|0))break;f[F>>2]=s;f[E>>2]=q;break}if(!q)break;n=b[D>>0]|0;if((n&255)>=8)break;b[D>>0]=n+1<<24>>24;f[sa+144+((n&255)<<2)>>2]=q}else k=0;while(0);n=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(n|0)){f[l>>2]=n+1;_=f[C>>2]|0;b[_+(n*20|0)>>0]=12;d[_+(n*20|0)+2>>1]=0;f[_+(n*20|0)+4>>2]=T;f[_+(n*20|0)+8>>2]=O;f[_+(n*20|0)+12>>2]=0;f[_+(n*20|0)+16>>2]=0;b[_+(n*20|0)+1>>0]=0}else tl(qa,12,T,O,0)|0;if(k|0){n=f[l>>2]|0;if(!(b[(f[qa>>2]|0)+81>>0]|0))k=(f[C>>2]|0)+(((k|0)<0?n+-1|0:k)*20|0)|0;else k=72144;f[k+8>>2]=n}o=(b[v+50>>0]|0)==0?o:1;k=f[v+816>>2]|0;do if(!(f[k+36>>2]&512))m=0;else{if(w|0?(f[k+32>>2]|0)!=(m|0):0){m=0;break}m=f[k+32>>2]|0;if(f[A>>2]&32|0?(_=m+55|0,((h[_>>0]|h[_+1>>0]<<8)&3)==2):0){m=0;break}}while(0);tn(v)}while(0);w=w+1|0}while((w|0)<(f[G>>2]|0))}else{o=0;m=0}n=sa+208|0;i=f[n>>2]|0;if(!i)i=0;else{k=f[Z>>2]|0;if((i|0)<0)i=(f[k+136>>2]|0)+-1|0;if(!(b[(f[k>>2]|0)+81>>0]|0))i=(f[k+88>>2]|0)+(i*20|0)|0;else i=72144;i=f[i+8>>2]|0}f[n>>2]=i;f[a+752+(c*80|0)+56>>2]=m;if(m|0)f[a+752+(c*80|0)+8>>2]=U;if(I|0){f[I+12>>2]=0;ig($,I)}k=f[l>>2]|0;if(!(b[(f[qa>>2]|0)+81>>0]|0))i=(f[qa+88>>2]|0)+(((K|0)<0?k+-1|0:K)*20|0)|0;else i=72144;f[i+4>>2]=k;i=f[W>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;_=f[qa+88>>2]|0;b[_+(k*20|0)>>0]=11;d[_+(k*20|0)+2>>1]=0;f[_+(k*20|0)+4>>2]=0;f[_+(k*20|0)+8>>2]=i;f[_+(k*20|0)+12>>2]=0;f[_+(k*20|0)+16>>2]=0;b[_+(k*20|0)+1>>0]=0}else tl(qa,11,0,i,0)|0;i=f[(f[ha>>2]|0)+64>>2]|0;if(i|0)f[i+(V<<2)>>2]=f[l>>2];o:do if(!((N|0)==0|(h[Q>>0]|0)<2)){do if($|0){if(f[$+480>>2]|0){Kc($,N);break o}i=N;if((f[$+304>>2]|0)>>>0>i>>>0)break;if((f[$+308>>2]|0)>>>0<=i>>>0)break;$=$+300|0;f[N>>2]=f[$>>2];f[$>>2]=N;break o}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](N);break}else{$=ib[f[37368>>2]&255](N)|0;f[18187]=(f[18187]|0)-$;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](N);break}}while(0);if(o|0){D=0;break}Ln(ia,R);D=0;break}J=d[X+24>>1]|0;r=d[X+26>>1]|0;s=d[X+28>>1]|0;T=f[X+32>>2]|0;v=a+752+(c*80|0)+8|0;U=f[v>>2]|0;R=a+44|0;if((d[R>>1]&1)!=0?(b[a+47>>0]|0)>0:0){q=(j[T+50>>1]|0)>(J&65535);i=q&1;q=q&1}else{i=0;q=0}m=J&65535;k=r&65535;if(!(l&32)){u=0;k=m}else{u=f[(f[X+48>>2]|0)+(m<<2)>>2]|0;i=i>>>0>k>>>0?i:k;k=m+1|0}do if(l&16){p=f[(f[X+48>>2]|0)+(k<<2)>>2]|0;Q=s&65535;i=(i|0)>(Q|0)?i:Q;if(d[p+10>>1]&256){l=sa+44|0;k=(f[l>>2]|0)+1|0;f[l>>2]=k;l=a+752+(c*80|0)+36|0;f[l>>2]=k;n=qa+136|0;o=f[n>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;Q=f[qa+88>>2]|0;b[Q+(o*20|0)>>0]=70;d[Q+(o*20|0)+2>>1]=0;f[Q+(o*20|0)+4>>2]=1;f[Q+(o*20|0)+8>>2]=k;f[Q+(o*20|0)+12>>2]=0;f[Q+(o*20|0)+16>>2]=0;b[Q+(o*20|0)+1>>0]=0}else tl(qa,70,1,k,0)|0;f[a+752+(c*80|0)+40>>2]=f[n>>2];Q=f[l>>2]<<1;f[l>>2]=Q;f[l>>2]=_^(b[(f[T+28>>2]|0)+m>>0]|0)==1|Q}if(!u){k=d[(f[T+4>>2]|0)+(m<<1)>>1]|0;if(k<<16>>16>-1){if(b[(f[(f[T+12>>2]|0)+4>>2]|0)+(k<<16>>16<<4)+12>>0]|0){l=q;break}}else if(k<<16>>16!=-2){l=q;break}l=1}else l=q}else{p=0;l=q}while(0);k=d[T+50>>1]|0;if((J&65535)<(k&65535)?!(((w&1|0)!=0|0!=0)^(b[(f[T+28>>2]|0)+m>>0]|0)==0):0)ea=225;else if(_|0?k<<16>>16==J<<16>>16:0)ea=225;else{K=r;N=0;L=u;u=p;G=l}if((ea|0)==225){K=s;s=r&255;N=l;L=p;G=0}F=f[Z>>2]|0;w=f[x>>2]|0;x=d[w+24>>1]|0;D=d[w+42>>1]|0;n=f[w+32>>2]|0;Q=sa+44|0;l=f[Q>>2]|0;C=l+1|0;E=x&65535;y=i+E|0;f[Q>>2]=l+y;l=f[sa>>2]|0;n=Bm(l,n)|0;p:do if(!n)P=0;else{o=(wz(n)|0)+1|0;q:do if(!l){P=KA(o|0,0,-1,-1)|0;I=ba()|0;if(I>>>0>0|(I|0)==0&P>>>0>2147483390){P=0;break p}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](o)|0;ea=251;break}i=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){P=f[18187]|0;I=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;H=ba()|0;f[17976]=((H|0)<0|(H|0)==0&I>>>0<=P>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){P=0;break p}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}else{if(f[l+272>>2]|0){if(b[l+81>>0]|0){P=0;break p}}else{do if(!(0<0|(0==0?(j[l+276>>1]|0)>>>0>>0:0))){k=l+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];ea=l+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=251;break q}k=l+296|0;i=f[k>>2]|0;if(!i){i=l+292|0;break}else{f[k>>2]=f[i>>2];ea=l+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=251;break q}}else i=l+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(l,o,0)|0;ea=251}while(0);if((ea|0)==251)if(!i){P=0;break}YA(i|0,n|0,o|0)|0;P=i}while(0);r:do if(D<<16>>16){p=f[v>>2]|0;n=(_|0)==0;i=_<<2^36;q=F+136|0;k=f[q>>2]|0;r=F+12|0;if((f[(f[r>>2]|0)+48>>2]|0)>(k|0)){f[q>>2]=k+1;I=f[F+88>>2]|0;b[I+(k*20|0)>>0]=i;d[I+(k*20|0)+2>>1]=0;f[I+(k*20|0)+4>>2]=p;f[I+(k*20|0)+8>>2]=0;f[I+(k*20|0)+12>>2]=0;f[I+(k*20|0)+16>>2]=0;b[I+(k*20|0)+1>>0]=0}else tl(F,i,p,0,0)|0;i=f[q>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(i|0)){f[q>>2]=i+1;I=f[F+88>>2]|0;b[I+(i*20|0)>>0]=11;I=I+(i*20|0)+1|0;H=I+19|0;do{b[I>>0]=0;I=I+1|0}while((I|0)<(H|0));l=i}else l=tl(F,11,0,0,0)|0;k=n?25:22;o=D&65535;i=f[q>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(i|0)){f[q>>2]=i+1;I=f[F+88>>2]|0;b[I+(i*20|0)>>0]=k;d[I+(i*20|0)+2>>1]=0;f[I+(i*20|0)+4>>2]=p;f[I+(i*20|0)+8>>2]=0;f[I+(i*20|0)+12>>2]=C;f[I+(i*20|0)+16>>2]=0;b[I+(i*20|0)+1>>0]=0}else i=tl(F,k,p,0,C)|0;do if(!(b[(f[F>>2]|0)+81>>0]|0)){I=f[F+88>>2]|0;b[I+(i*20|0)+1>>0]=-3;f[I+(i*20|0)+16>>2]=o;I=b[(f[F>>2]|0)+81>>0]|0;f[a+752+(c*80|0)+20>>2]=i;k=f[q>>2]|0;if(I<<24>>24){i=72144;break}i=(f[F+88>>2]|0)+(((l|0)<0?k+-1|0:l)*20|0)|0}else{f[a+752+(c*80|0)+20>>2]=i;i=72144;k=f[q>>2]|0}while(0);f[i+8>>2]=k;n=F+88|0;i=0;while(1){l=i+C|0;if((f[(f[r>>2]|0)+48>>2]|0)>(k|0)){f[q>>2]=k+1;I=f[n>>2]|0;b[I+(k*20|0)>>0]=90;d[I+(k*20|0)+2>>1]=0;f[I+(k*20|0)+4>>2]=p;f[I+(k*20|0)+8>>2]=i;f[I+(k*20|0)+12>>2]=l;f[I+(k*20|0)+16>>2]=0;b[I+(k*20|0)+1>>0]=0}else tl(F,90,p,i,l)|0;i=i+1|0;if((i|0)==(o|0))break r;k=f[q>>2]|0}}while(0);if((D&65535)<(x&65535)){B=w+48|0;r=(y|0)==1;v=(P|0)!=0;w=F+136|0;x=F+12|0;y=sa+19|0;z=F+88|0;A=(P|0)==0;n=C;q=D&65535;while(1){o=f[(f[B>>2]|0)+(q<<2)>>2]|0;i=q+n|0;l=Jn(sa,o,ia,q,_,i)|0;do if((l|0)!=(i|0))if(!r){k=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(k|0)){f[w>>2]=k+1;I=f[z>>2]|0;b[I+(k*20|0)>>0]=79;d[I+(k*20|0)+2>>1]=0;f[I+(k*20|0)+4>>2]=l;f[I+(k*20|0)+8>>2]=i;f[I+(k*20|0)+12>>2]=0;f[I+(k*20|0)+16>>2]=0;b[I+(k*20|0)+1>>0]=0;break}else{tl(F,79,l,i,0)|0;break}}else{if(!n){n=l;break}i=b[y>>0]|0;if((i&255)>=8){n=l;break}b[y>>0]=i+1<<24>>24;f[sa+144+((i&255)<<2)>>2]=n;n=l;break}while(0);i=j[o+12>>1]|0;s:do if(!(i&1)){if(i&256|0)break;p=f[(f[o>>2]|0)+16>>2]|0;t:do if(!(d[o+10>>1]&2048)){k=b[p>>0]|0;if((k+95&255)<2){i=p;do{i=f[i+12>>2]|0;k=b[i>>0]|0}while((k+95&255)<2)}else i=p;if(k<<24>>24==-92)k=b[i+38>>0]|0;u:do switch(k<<24>>24){case -114:case -115:case 106:case -113:break t;case -98:{if(f[i+4>>2]&1048576|0)break u;k=f[i+44>>2]|0;if(!k)break u;i=d[i+32>>1]|0;if(i<<16>>16<=-1)break t;if(b[(f[k+4>>2]|0)+(i<<16>>16<<4)+12>>0]|0)break t;break}default:{}}while(0);i=n+q|0;k=f[W>>2]|0;l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;I=f[z>>2]|0;b[I+(l*20|0)>>0]=50;d[I+(l*20|0)+2>>1]=0;f[I+(l*20|0)+4>>2]=i;f[I+(l*20|0)+8>>2]=k;f[I+(l*20|0)+12>>2]=0;f[I+(l*20|0)+16>>2]=0;b[I+(l*20|0)+1>>0]=0;break}else{tl(F,50,i,k,0)|0;break}}while(0);if(A)break;l=P+q|0;o=b[l>>0]|0;i=Yk(p)|0;if(o<<24>>24==0|i<<24>>24==0)if((i|o)<<24>>24==0?1:((i&255)+(o&255)&255)<<24>>24==65)ea=305;else ea=306;else if(o<<24>>24>66|i<<24>>24>66)ea=306;else ea=305;v:do if((ea|0)==305){ea=0;b[l>>0]=65}else if((ea|0)==306){ea=0;if(o<<24>>24==65)break;k=b[p>>0]|0;if((k+95&255)<2){i=p;do{i=f[i+12>>2]|0;k=b[i>>0]|0}while((k+95&255)<2)}else i=p;if(k<<24>>24==-92)k=b[i+38>>0]|0;switch(k<<24>>24){case -114:break v;case -113:if((o+-67&255)<2)break v;else break s;case -115:switch(o<<24>>24){case 67:case 69:break v;default:break s}case 106:if(o<<24>>24==66)break v;else break s;case -98:if((o+-67&255)<2&(d[i+32>>1]|0)<0)break v;else break s;default:break s}}while(0);b[l>>0]=65}else{if(!(v&(f[(f[o>>2]|0)+4>>2]&2048|0)!=0))break;b[P+q>>0]=65}while(0);q=q+1|0;if((q|0)==(E|0)){C=n;break}}}F=(P|0)==0;w:do if(s<<16>>16==0|F)D=0;else{n=P+m|0;if(!n){D=0;break}o=(wz(n)|0)+1|0;x:do if(!$){W=KA(o|0,0,-1,-1)|0;I=ba()|0;if(I>>>0>0|(I|0)==0&W>>>0>2147483390){D=0;break w}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](o)|0;ea=345;break}i=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){W=f[18187]|0;I=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;H=ba()|0;f[17976]=((H|0)<0|(H|0)==0&I>>>0<=W>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){D=0;break w}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}else{if(f[$+272>>2]|0){if(b[$+81>>0]|0){D=0;break w}}else{do if(!(0<0|(0==0?(j[$+276>>1]|0)>>>0>>0:0))){k=$+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];ea=$+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=345;break x}k=$+296|0;i=f[k>>2]|0;if(!i){i=$+292|0;break}else{f[k>>2]=f[i>>2];ea=$+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=345;break x}}else i=$+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc($,o,0)|0;ea=345}while(0);if((ea|0)==345)if(!i){D=0;break}YA(i|0,n|0,o|0)|0;D=i}while(0);E=f[M>>2]|0;l=(L|0)!=0;if(l)i=(d[L+12>>1]&40)!=0;else i=1;A=i&1;B=(u|0)!=0;if(B)i=(d[u+12>>1]&40)!=0;else i=1;k=i&1;z=(J<<16>>16!=0|l)&1;do if(l){y=f[(f[L>>2]|0)+16>>2]|0;n=C+m|0;x=K&65535;Kn(sa,y,n,x);if(d[L+10>>1]&256){if(!(b[(f[qa>>2]|0)+81>>0]|0))i=(f[qa+88>>2]|0)+(((f[qa+136>>2]|0)+-1|0)*20|0)|0;else i=72144;W=f[a+752+(c*80|0)+36>>2]|0;f[i+12>>2]=W>>>1;d[i+2>>1]=W&1}l=b[y>>0]|0;if((l+95&255)<2){i=y;do{i=f[i+12>>2]|0;l=b[i>>0]|0}while((l+95&255)<2)}else i=y;if(l<<24>>24==-92)l=b[i+38>>0]|0;y:do switch(l<<24>>24){case -114:case -115:case 106:case -113:break;case -98:{if(f[i+4>>2]&1048576|0){ea=366;break y}l=f[i+44>>2]|0;if(!l){ea=366;break y}i=d[i+32>>1]|0;if(i<<16>>16<=-1)break y;if(!(b[(f[l+4>>2]|0)+(i<<16>>16<<4)+12>>0]|0))ea=366;break}default:ea=366}while(0);do if((ea|0)==366){i=qa+136|0;l=f[i>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(l|0)){f[i>>2]=l+1;W=f[qa+88>>2]|0;b[W+(l*20|0)>>0]=50;d[W+(l*20|0)+2>>1]=0;f[W+(l*20|0)+4>>2]=n;f[W+(l*20|0)+8>>2]=E;f[W+(l*20|0)+12>>2]=0;f[W+(l*20|0)+16>>2]=0;b[W+(l*20|0)+1>>0]=0;break}else{tl(qa,50,n,E,0)|0;break}}while(0);z:do if(!F){w=P+m|0;if(!(K<<16>>16))break;q=y+38|0;r=y+20|0;v=y+20|0;p=0;while(1){l=b[y>>0]|0;if(l<<24>>24==-92)i=b[q>>0]|0;else i=l;switch(i<<24>>24){case -91:{i=r;ea=376;break}case 127:{i=f[v>>2]|0;ea=376;break}default:i=y}A:do if((ea|0)==376){if((f[f[i>>2]>>2]|0)<2){i=y;break}do if(l<<24>>24!=127){if((b[q>>0]|0)==127)break;i=f[(f[r>>2]|0)+4+(p*20|0)>>2]|0;break A}while(0);i=f[(f[f[v>>2]>>2]|0)+4+(p*20|0)>>2]|0}while(0);n=w+p|0;o=b[n>>0]|0;l=Yk(i)|0;if(o<<24>>24==0|l<<24>>24==0)if(o<<24>>24==65|((l|o)<<24>>24==0?1:((l&255)+(o&255)&255)<<24>>24==65))ea=394;else ea=384;else if(o<<24>>24==65|o<<24>>24<67&l<<24>>24<67)ea=394;else ea=384;B:do if((ea|0)==384){ea=0;l=b[i>>0]|0;if((l+95&255)<2)do{i=f[i+12>>2]|0;l=b[i>>0]|0}while((l+95&255)<2);if(l<<24>>24==-92)l=b[i+38>>0]|0;switch(l<<24>>24){case -114:{ea=394;break B}case -113:if((o+-67&255)<2){ea=394;break B}else break B;case -115:switch(o<<24>>24){case 67:case 69:{ea=394;break B}default:break B}case 106:if(o<<24>>24==66){ea=394;break B}else break B;case -98:if((o+-67&255)<2&(d[i+32>>1]|0)<0){ea=394;break B}else break B;default:break B}}while(0);if((ea|0)==394){ea=0;b[n>>0]=65}p=p+1|0;if((p|0)==(x|0))break z}}while(0);l=x+m|0;i=b[y>>0]|0;if(i<<24>>24==-92)i=b[y+38>>0]|0;switch(i<<24>>24){case -91:{O=y+20|0;ea=401;break}case 127:{O=f[y+20>>2]|0;ea=401;break}default:{}}if((ea|0)==401?(f[f[O>>2]>>2]|0)>=2:0){w=z;x=l;v=1;i=0;break}Ln(ia,L);w=z;x=l;v=A;i=0}else{if(!(G<<24>>24)){w=z;x=m;v=A;i=0;break}i=C+m|0;l=qa+136|0;n=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(n|0)){f[l>>2]=n+1;W=f[qa+88>>2]|0;b[W+(n*20|0)>>0]=73;d[W+(n*20|0)+2>>1]=0;f[W+(n*20|0)+4>>2]=0;f[W+(n*20|0)+8>>2]=i;f[W+(n*20|0)+12>>2]=0;f[W+(n*20|0)+16>>2]=0;b[W+(n*20|0)+1>>0]=0}else tl(qa,73,0,i,0)|0;w=1;x=m+1|0;v=0;i=G}while(0);i=x-(i&255)|0;r=f[Z>>2]|0;C:do if((P|0)!=0&(i|0)>0){n=P;l=C;while(1){if((b[n>>0]|0)!=65){q=n;break}o=i+-1|0;l=l+1|0;n=n+1|0;if((i|0)>1)i=o;else{q=n;i=o;break}}D:do if((i|0)>1){n=i;while(1){i=n+-1|0;if((b[q+i>>0]|0)!=65)break D;if((n|0)>2)n=i;else{ea=416;break}}}else ea=416;while(0);if((ea|0)==416)if((i|0)==1)n=1;else break;o=r+136|0;i=f[o>>2]|0;if((f[(f[r+12>>2]|0)+48>>2]|0)>(i|0)){f[o>>2]=i+1;W=f[r+88>>2]|0;b[W+(i*20|0)>>0]=91;d[W+(i*20|0)+2>>1]=0;f[W+(i*20|0)+4>>2]=l;f[W+(i*20|0)+8>>2]=n;f[W+(i*20|0)+12>>2]=0;f[W+(i*20|0)+16>>2]=0;b[W+(i*20|0)+1>>0]=0}else i=tl(r,91,l,n,0)|0;l=f[r>>2]|0;if(b[l+81>>0]|0){if((n|0)==-12)break;qg(l,n,q);break}if((i|0)<0)i=(f[o>>2]|0)+-1|0;l=f[r+88>>2]|0;o=l+(i*20|0)|0;do if((n|0)<=-1){p=l+(i*20|0)+1|0;if(b[p>>0]|0)break;if((n|0)==-3){f[l+(i*20|0)+16>>2]=q;b[p>>0]=-3;break C}f[l+(i*20|0)+16>>2]=q;b[p>>0]=n;if((n|0)!=-12)break C;W=q+12|0;f[W>>2]=(f[W>>2]|0)+1;break C}while(0);ul(r,o,q,n)}while(0);X=d[X+42>>1]|0;do if(!(X<<16>>16!=0&(x|0)==(X&65535|0))){n=qa+136|0;do if(f[V>>2]&262144|0){i=f[n>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[n>>2]=i+1;X=f[qa+88>>2]|0;b[X+(i*20|0)>>0]=119;d[X+(i*20|0)+2>>1]=0;f[X+(i*20|0)+4>>2]=U;f[X+(i*20|0)+8>>2]=0;f[X+(i*20|0)+12>>2]=0;f[X+(i*20|0)+16>>2]=0;b[X+(i*20|0)+1>>0]=0;break}else{tl(qa,119,U,0,0)|0;break}}while(0);l=b[56568+(w<<2|_|v<<1)>>0]|0;i=f[n>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[n>>2]=i+1;X=f[qa+88>>2]|0;b[X+(i*20|0)>>0]=l;d[X+(i*20|0)+2>>1]=0;f[X+(i*20|0)+4>>2]=U;f[X+(i*20|0)+8>>2]=E;f[X+(i*20|0)+12>>2]=C;f[X+(i*20|0)+16>>2]=0;b[X+(i*20|0)+1>>0]=0}else i=tl(qa,l&255,U,E,C)|0;if(b[(f[qa>>2]|0)+81>>0]|0)break;X=f[qa+88>>2]|0;b[X+(i*20|0)+1>>0]=-3;f[X+(i*20|0)+16>>2]=x}while(0);do if(B){x=f[(f[u>>2]|0)+16>>2]|0;v=C+m|0;w=s&65535;Kn(sa,x,v,w);if(d[u+10>>1]&256){if(!(b[(f[qa>>2]|0)+81>>0]|0))i=(f[qa+88>>2]|0)+(((f[qa+136>>2]|0)+-1|0)*20|0)|0;else i=72144;X=f[a+752+(c*80|0)+36>>2]|0;f[i+12>>2]=X>>>1;d[i+2>>1]=X&1}l=b[x>>0]|0;if((l+95&255)<2){i=x;do{i=f[i+12>>2]|0;l=b[i>>0]|0}while((l+95&255)<2)}else i=x;if(l<<24>>24==-92)l=b[i+38>>0]|0;E:do switch(l<<24>>24){case -114:case -115:case 106:case -113:break;case -98:{if(f[i+4>>2]&1048576|0){ea=457;break E}l=f[i+44>>2]|0;if(!l){ea=457;break E}i=d[i+32>>1]|0;if(i<<16>>16<=-1)break E;if(!(b[(f[l+4>>2]|0)+(i<<16>>16<<4)+12>>0]|0))ea=457;break}default:ea=457}while(0);do if((ea|0)==457){i=qa+136|0;l=f[i>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(l|0)){f[i>>2]=l+1;X=f[qa+88>>2]|0;b[X+(l*20|0)>>0]=50;d[X+(l*20|0)+2>>1]=0;f[X+(l*20|0)+4>>2]=v;f[X+(l*20|0)+8>>2]=E;f[X+(l*20|0)+12>>2]=0;f[X+(l*20|0)+16>>2]=0;b[X+(l*20|0)+1>>0]=0;break}else{tl(qa,50,v,E,0)|0;break}}while(0);F:do if(!((D|0)==0|s<<16>>16==0)){q=x+38|0;r=x+20|0;s=x+20|0;p=0;do{l=b[x>>0]|0;if(l<<24>>24==-92)i=b[q>>0]|0;else i=l;switch(i<<24>>24){case -91:{i=r;ea=466;break}case 127:{i=f[s>>2]|0;ea=466;break}default:i=x}G:do if((ea|0)==466){if((f[f[i>>2]>>2]|0)<2){i=x;break}do if(l<<24>>24!=127){if((b[q>>0]|0)==127)break;i=f[(f[r>>2]|0)+4+(p*20|0)>>2]|0;break G}while(0);i=f[(f[f[s>>2]>>2]|0)+4+(p*20|0)>>2]|0}while(0);n=D+p|0;o=b[n>>0]|0;l=Yk(i)|0;if(o<<24>>24==0|l<<24>>24==0)if(o<<24>>24==65|((l|o)<<24>>24==0?1:((l&255)+(o&255)&255)<<24>>24==65))ea=484;else ea=474;else if(o<<24>>24==65|o<<24>>24<67&l<<24>>24<67)ea=484;else ea=474;H:do if((ea|0)==474){ea=0;l=b[i>>0]|0;if((l+95&255)<2)do{i=f[i+12>>2]|0;l=b[i>>0]|0}while((l+95&255)<2);if(l<<24>>24==-92)l=b[i+38>>0]|0;switch(l<<24>>24){case -114:{ea=484;break H}case -113:if((o+-67&255)<2){ea=484;break H}else break H;case -115:switch(o<<24>>24){case 67:case 69:{ea=484;break H}default:break H}case 106:if(o<<24>>24==66){ea=484;break H}else break H;case -98:if((o+-67&255)<2&(d[i+32>>1]|0)<0){ea=484;break H}else break H;default:break H}}while(0);if((ea|0)==484){ea=0;b[n>>0]=65}p=p+1|0}while((p|0)!=(w|0));r=f[Z>>2]|0;n=D;i=w;l=v;while(1){if((b[n>>0]|0)!=65){q=n;break}o=i+-1|0;l=l+1|0;n=n+1|0;if((i|0)>1)i=o;else{q=n;i=o;break}}I:do if((i|0)>1){n=i;while(1){i=n+-1|0;if((b[q+i>>0]|0)!=65)break I;if((n|0)>2)n=i;else{ea=493;break}}}else ea=493;while(0);if((ea|0)==493)if((i|0)==1)n=1;else break;o=r+136|0;i=f[o>>2]|0;if((f[(f[r+12>>2]|0)+48>>2]|0)>(i|0)){f[o>>2]=i+1;Z=f[r+88>>2]|0;b[Z+(i*20|0)>>0]=91;d[Z+(i*20|0)+2>>1]=0;f[Z+(i*20|0)+4>>2]=l;f[Z+(i*20|0)+8>>2]=n;f[Z+(i*20|0)+12>>2]=0;f[Z+(i*20|0)+16>>2]=0;b[Z+(i*20|0)+1>>0]=0}else i=tl(r,91,l,n,0)|0;l=f[r>>2]|0;if(b[l+81>>0]|0){if((n|0)==-12)break;qg(l,n,q);break}if((i|0)<0)i=(f[o>>2]|0)+-1|0;l=f[r+88>>2]|0;o=l+(i*20|0)|0;do if((n|0)<=-1){p=l+(i*20|0)+1|0;if(b[p>>0]|0)break;if((n|0)==-3){f[l+(i*20|0)+16>>2]=q;b[p>>0]=-3;break F}f[l+(i*20|0)+16>>2]=q;b[p>>0]=n;if((n|0)!=-12)break F;Z=q+12|0;f[Z>>2]=(f[Z>>2]|0)+1;break F}while(0);ul(r,o,q,n)}while(0);m=w+m|0;i=b[x>>0]|0;if(i<<24>>24==-92)i=b[x+38>>0]|0;switch(i<<24>>24){case -91:{S=x+20|0;ea=514;break}case 127:{S=f[x+20>>2]|0;ea=514;break}default:{}}if((ea|0)==514?(f[f[S>>2]>>2]|0)>=2:0){k=1;break}Ln(ia,u)}else{if(!(N<<24>>24))break;i=C+m|0;k=qa+136|0;l=f[k>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;Z=f[qa+88>>2]|0;b[Z+(l*20|0)>>0]=73;d[Z+(l*20|0)+2>>1]=0;f[Z+(l*20|0)+4>>2]=0;f[Z+(l*20|0)+8>>2]=i;f[Z+(l*20|0)+12>>2]=0;f[Z+(l*20|0)+16>>2]=0;b[Z+(l*20|0)+1>>0]=0}else tl(qa,73,0,i,0)|0;k=0;m=m+1|0}while(0);J:do if(!F){do if($|0){if(f[$+480>>2]|0){Kc($,P);break J}i=P;if((f[$+304>>2]|0)>>>0>i>>>0)break;if((f[$+308>>2]|0)>>>0<=i>>>0)break;Z=$+300|0;f[P>>2]=f[Z>>2];f[Z>>2]=P;break J}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](P);break}else{Z=ib[f[37368>>2]&255](P)|0;f[18187]=(f[18187]|0)-Z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](P);break}}while(0);K:do if(D|0){do if($|0){if(f[$+480>>2]|0){Kc($,D);break K}i=D;if((f[$+304>>2]|0)>>>0>i>>>0)break;if((f[$+308>>2]|0)>>>0<=i>>>0)break;$=$+300|0;f[D>>2]=f[$>>2];f[$>>2]=D;break K}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](D);break}else{$=ib[f[37368>>2]&255](D)|0;f[18187]=(f[18187]|0)-$;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](D);break}}while(0);l=qa+136|0;i=f[l>>2]|0;f[a+752+(c*80|0)+52>>2]=i;do if(m|0){k=b[56576+(k|_<<1)>>0]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;$=f[qa+88>>2]|0;b[$+(i*20|0)>>0]=k;d[$+(i*20|0)+2>>1]=0;f[$+(i*20|0)+4>>2]=U;f[$+(i*20|0)+8>>2]=E;f[$+(i*20|0)+12>>2]=C;f[$+(i*20|0)+16>>2]=0;b[$+(i*20|0)+1>>0]=0}else i=tl(qa,k&255,U,E,C)|0;if(b[(f[qa>>2]|0)+81>>0]|0)break;$=f[qa+88>>2]|0;b[$+(i*20|0)+1>>0]=-3;f[$+(i*20|0)+16>>2]=m}while(0);do if(f[V>>2]&262144|0){i=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;$=f[qa+88>>2]|0;b[$+(i*20|0)>>0]=119;d[$+(i*20|0)+2>>1]=0;f[$+(i*20|0)+4>>2]=U;f[$+(i*20|0)+8>>2]=1;f[$+(i*20|0)+12>>2]=0;f[$+(i*20|0)+16>>2]=0;b[$+(i*20|0)+1>>0]=0;break}else{tl(qa,119,U,1,0)|0;break}}while(0);L:do if(!Y){m=T+12|0;i=f[m>>2]|0;if(f[i+36>>2]&32|0){if((ja|0)==(U|0))break;i=f[i+8>>2]|0;M:do if(!i)i=0;else while(1){$=i+55|0;if(((h[$>>0]|h[$+1>>0]<<8)&3)==2)break M;i=f[i+20>>2]|0;if(!i){i=0;break}}while(0);v=i+50|0;q=d[v>>1]|0;m=q&65535;do if(q<<16>>16==1){k=sa+19|0;m=b[k>>0]|0;if(!(m<<24>>24)){k=(f[Q>>2]|0)+1|0;f[Q>>2]=k;ea=624;break}else{ea=m+-1<<24>>24;b[k>>0]=ea;k=f[sa+144+((ea&255)<<2)>>2]|0;ea=624;break}}else{n=sa+32|0;k=f[n>>2]|0;o=sa+28|0;p=f[o>>2]|0;if((p|0)<(m|0)){k=f[Q>>2]|0;f[Q>>2]=k+m;k=k+1|0}else{f[n>>2]=k+m;f[o>>2]=p-m}if(!(q<<16>>16))m=0;else ea=624}while(0);if((ea|0)==624){q=i+4|0;r=T+52|0;s=T+4|0;u=qa+88|0;p=0;do{n=d[(f[q>>2]|0)+(p<<1)>>1]|0;i=d[r>>1]|0;N:do if(!(i<<16>>16))i=-1;else{o=f[s>>2]|0;m=i&65535;i=0;while(1){if((d[o+(i<<1)>>1]|0)==n<<16>>16)break N;i=i+1|0;if(i>>>0>=m>>>0){i=-1;break}}}while(0);i=i<<16>>16;m=p+k|0;n=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(n|0)){f[l>>2]=n+1;$=f[u>>2]|0;b[$+(n*20|0)>>0]=90;d[$+(n*20|0)+2>>1]=0;f[$+(n*20|0)+4>>2]=U;f[$+(n*20|0)+8>>2]=i;f[$+(n*20|0)+12>>2]=m;f[$+(n*20|0)+16>>2]=0;b[$+(n*20|0)+1>>0]=0}else tl(qa,90,U,i,m)|0;p=p+1|0;i=d[v>>1]|0}while(p>>>0<(i&65535)>>>0);m=i&65535}i=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;$=f[qa+88>>2]|0;b[$+(i*20|0)>>0]=28;d[$+(i*20|0)+2>>1]=0;f[$+(i*20|0)+4>>2]=ja;f[$+(i*20|0)+8>>2]=fa;f[$+(i*20|0)+12>>2]=k;f[$+(i*20|0)+16>>2]=0;b[$+(i*20|0)+1>>0]=0}else i=tl(qa,28,ja,fa,k)|0;if(b[(f[qa>>2]|0)+81>>0]|0)break;$=f[qa+88>>2]|0;b[$+(i*20|0)+1>>0]=-3;f[$+(i*20|0)+16>>2]=m;break}i=j[R>>1]|0;do if(!(i&1024)){if(i&4096|0?(b[a+49>>0]|0)==1:0)break;i=f[a>>2]|0;s=f[i+8>>2]|0;r=s+136|0;k=f[r>>2]|0;if((f[(f[s+12>>2]|0)+48>>2]|0)>(k|0)){f[r>>2]=k+1;$=f[s+88>>2]|0;b[$+(k*20|0)>>0]=-121;d[$+(k*20|0)+2>>1]=0;f[$+(k*20|0)+4>>2]=U;f[$+(k*20|0)+8>>2]=0;f[$+(k*20|0)+12>>2]=ja;f[$+(k*20|0)+16>>2]=0;b[$+(k*20|0)+1>>0]=0}else tl(s,135,U,0,ja)|0;if(!(d[R>>1]&32))break L;$=f[i+116>>2]|0;if(f[(($|0)==0?i:$)+80>>2]|0)break L;n=f[i>>2]|0;p=(f[m>>2]|0)+42|0;q=(d[p>>1]<<2)+4|0;O:do if(!n){$=KA(q|0,0,-1,-1)|0;Z=ba()|0;if(Z>>>0>0|(Z|0)==0&$>>>0>2147483390)break L;if(!(f[9328]|0)){i=ib[f[37356>>2]&255](q)|0;ea=591;break}i=ib[f[37372>>2]&255](q)|0;if((f[18194]|0)>>>0>>0)f[18194]=q;m=71896;k=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&k>>>0>0){$=f[18187]|0;Z=LA(k|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;X=ba()|0;f[17976]=((X|0)<0|(X|0)==0&Z>>>0<=$>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(!k)break L;i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0<=(f[18196]|0)>>>0){o=k;break}f[18196]=i;o=k}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0)break L}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){k=n+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];ea=n+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=591;break O}k=n+296|0;i=f[k>>2]|0;if(!i){i=n+292|0;break}else{f[k>>2]=f[i>>2];ea=n+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=591;break O}}else i=n+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(n,q,0)|0;ea=591}while(0);if((ea|0)==591)if(!i)break L;else o=i;_A(o|0,0,q|0)|0;f[o>>2]=d[p>>1];i=d[T+52>>1]|0;if((i&65535)>1){n=f[T+4>>2]|0;m=(i&65535)+-1|0;i=0;do{k=d[n+(i<<1)>>1]|0;if(k<<16>>16>-1){i=i+1|0;f[o+((k<<16>>16)+1<<2)>>2]=i}else i=i+1|0}while((i|0)<(m|0))}k=f[s>>2]|0;if(!(b[k+81>>0]|0)){i=(f[r>>2]|0)+-1|0;k=f[s+88>>2]|0;m=k+(i*20|0)+1|0;if(!(b[m>>0]|0)){f[k+(i*20|0)+16>>2]=o;b[m>>0]=-15;break L}else{ul(s,k+(i*20|0)|0,o,-15);break L}}do if(k|0){if(f[k+480>>2]|0){Kc(k,o);break L}i=o;if((f[k+304>>2]|0)>>>0>i>>>0)break;if((f[k+308>>2]|0)>>>0<=i>>>0)break;$=k+300|0;f[o>>2]=f[$>>2];f[$>>2]=o;break L}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break L}else{$=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-$;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break L}}while(0);k=(f[Q>>2]|0)+1|0;f[Q>>2]=k;i=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;$=f[qa+88>>2]|0;b[$+(i*20|0)>>0]=-120;d[$+(i*20|0)+2>>1]=0;f[$+(i*20|0)+4>>2]=U;f[$+(i*20|0)+8>>2]=k;f[$+(i*20|0)+12>>2]=0;f[$+(i*20|0)+16>>2]=0;b[$+(i*20|0)+1>>0]=0}else tl(qa,136,U,k,0)|0;i=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;$=f[qa+88>>2]|0;b[$+(i*20|0)>>0]=31;d[$+(i*20|0)+2>>1]=0;f[$+(i*20|0)+4>>2]=ja;f[$+(i*20|0)+8>>2]=0;f[$+(i*20|0)+12>>2]=k;f[$+(i*20|0)+16>>2]=0;b[$+(i*20|0)+1>>0]=0;break}else{tl(qa,31,ja,0,k)|0;break}}while(0);if(!(f[ia>>2]|0)){o=f[T+40>>2]|0;do if(o|0){f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;f[na+12>>2]=0;f[na+16>>2]=0;f[na+20>>2]=0;f[na+4>>2]=167;f[na+24>>2]=oa;f[oa+4>>2]=ja;f[oa+8>>2]=U;if((f[o>>2]|0)<=0)break;p=T+4|0;q=oa+12|0;r=a+16|0;s=a+8|0;u=a+12|0;n=0;do{P:do if((d[(f[p>>2]|0)+(n<<1)>>1]|0)==-2){f[q>>2]=n;f[oa>>2]=f[o+4+(n*20|0)>>2];i=f[r>>2]|0;if(i|0)oi(na,i)|0;k=f[s>>2]|0;Q:do if(k|0){i=f[k>>2]|0;if((i|0)<=0)break;k=k+4|0;while(1){m=f[k>>2]|0;if(m|0?oi(na,m)|0:0)break Q;if((i|0)>1){i=i+-1|0;k=k+20|0}else break}}while(0);k=f[u>>2]|0;if(!k)break;i=f[k>>2]|0;if((i|0)<=0)break;k=k+4|0;while(1){m=f[k>>2]|0;if(m|0?oi(na,m)|0:0)break P;if((i|0)>1){i=i+-1|0;k=k+20|0}else break}}while(0);n=n+1|0}while((n|0)<(f[o>>2]|0))}while(0)}i=f[V>>2]|0;do if(!(i&4096)){k=a+752+(c*80|0)+45|0;if(!_){b[k>>0]=5;break}else{b[k>>0]=4;break}}else b[a+752+(c*80|0)+45>>0]=-85;while(0);f[a+752+(c*80|0)+48>>2]=U;b[a+752+(c*80|0)+46>>0]=i>>>16&1;if(!(i&15))b[a+752+(c*80|0)+47>>0]=1;D=Y?0:T}else{m=f[ca+8+(da*72|0)+28>>2]|0;i=f[ca+8+(da*72|0)+24>>2]|0;l=qa+136|0;k=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;$=f[qa+88>>2]|0;b[$+(k*20|0)>>0]=13;d[$+(k*20|0)+2>>1]=0;f[$+(k*20|0)+4>>2]=m;f[$+(k*20|0)+8>>2]=0;f[$+(k*20|0)+12>>2]=i;f[$+(k*20|0)+16>>2]=0;b[$+(k*20|0)+1>>0]=0}else tl(qa,13,m,0,i)|0;i=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;$=f[qa+88>>2]|0;b[$+(i*20|0)>>0]=14;d[$+(i*20|0)+2>>1]=0;f[$+(i*20|0)+4>>2]=m;f[$+(i*20|0)+8>>2]=v;f[$+(i*20|0)+12>>2]=0;f[$+(i*20|0)+16>>2]=0;b[$+(i*20|0)+1>>0]=0}else i=tl(qa,14,m,v,0)|0;f[a+752+(c*80|0)+52>>2]=i;b[a+752+(c*80|0)+45>>0]=11;D=0}while(0);F=a+100|0;G=a+92|0;v=ca+8+(da*72|0)+36|0;w=a+50|0;x=a+752+(c*80|0)+4|0;y=oa+4|0;z=na+4|0;A=na+24|0;u=na+20|0;B=a+752+(c*80|0)+36|0;E=qa+88|0;i=(D|0)==0?2:1;while(1){k=f[G>>2]|0;if((k|0)<=0){ea=915;break}C=(i|0)==1;s=(i|0)<3;i=0;r=f[F>>2]|0;while(1){q=r+10|0;m=d[q>>1]|0;R:do if(!(m&6)){da=r+40|0;ca=ra;if(!((f[ca>>2]&f[da>>2]|0)==0?(f[ca+4>>2]&f[da+4>>2]|0)==0:0)){b[w>>0]=1;break}p=f[r>>2]|0;if(b[v>>0]&8?(f[p+4>>2]&1|0)==0:0)break;do if(C){da=f[x>>2]|0;f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;f[na+12>>2]=0;f[na+16>>2]=0;f[na+20>>2]=0;f[y>>2]=da;f[oa>>2]=D;f[z>>2]=166;f[A>>2]=oa;if((p|0)!=0?(oi(na,p)|0,(b[u>>0]|0)!=0):0){i=2;break R}else{ea=899;break}}else if(s)ea=899;while(0);if((ea|0)==899){ea=0;m=d[q>>1]|0;if(m&4096){i=(i|0)==0?3:i;break}}do if((m&512)!=0?(ga=f[B>>2]|0,(ga|0)!=0):0){n=(ga<<1&2)+18|0;o=ga>>>1;m=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;da=f[E>>2]|0;b[da+(m*20|0)>>0]=n;d[da+(m*20|0)+2>>1]=0;f[da+(m*20|0)+4>>2]=o;f[da+(m*20|0)+8>>2]=0;f[da+(m*20|0)+12>>2]=0;f[da+(m*20|0)+16>>2]=0;b[da+(m*20|0)+1>>0]=0}else m=tl(qa,n,o,0,0)|0;zm(sa,p,fa,16);if(!m)break;n=f[l>>2]|0;if(!(b[(f[qa>>2]|0)+81>>0]|0))m=(f[E>>2]|0)+(((m|0)<0?n+-1|0:m)*20|0)|0;else m=72144;f[m+8>>2]=n}else ea=906;while(0);if((ea|0)==906){ea=0;zm(sa,p,fa,16)}d[q>>1]=d[q>>1]|4}while(0);if((k|0)>1){r=r+48|0;k=k+-1|0}else break}if((i|0)<=0){ea=914;break}}if((ea|0)==914){i=f[G>>2]|0;if((i|0)>0){q=na+4|0;r=na+12|0;s=na+16|0;u=na+8|0;v=na+20|0;w=na+24|0;x=na+28|0;y=na+72|0;z=na+17|0;A=na+18|0;B=oa+12|0;p=f[F>>2]|0;while(1){S:do if((((((d[p+10>>1]&6)==0?(ga=j[p+12>>1]|0,!((ga&130|0)==0|(ga&2048|0)==0)):0)?(f[p+20>>2]|0)==(ja|0):0)?(f[ia>>2]|0)==0:0)?(ka=f[p>>2]|0,la=f[p+28>>2]|0,f[na>>2]=pa,f[q>>2]=pa,f[r>>2]=0,b[s>>0]=0,f[u>>2]=0,(la|0)!=-2):0)?(f[v>>2]=131,f[w>>2]=0,f[x>>2]=ja,d[y>>1]=la,b[z>>0]=1,b[A>>0]=1,ma=An(na)|0,ma|0):0){m=0;k=ma;while(1){o=k+32|0;n=f[o>>2]|0;o=f[o+4>>2]|0;if((n&e|0)==0&(o&g|0)==0){if((n|0)==0&(o|0)==0?d[k+12>>1]&130:0){ea=927;break}m=(m|0)==0?k:m}k=An(na)|0;if(!k){ea=931;break}}if((ea|0)==927)ea=0;else if((ea|0)==931){ea=0;if(!m)break;else k=m}if(d[k+10>>1]&4)break;do if(d[k+12>>1]&1){k=f[k>>2]|0;if(!(f[k+4>>2]&2048))break;if((f[f[f[k+20>>2]>>2]>>2]|0)>1)break S}else k=f[k>>2]|0;while(0);I=oa;H=I+48|0;do{f[I>>2]=f[k>>2];I=I+4|0;k=k+4|0}while((I|0)<(H|0));f[B>>2]=f[ka+12>>2];zm(sa,oa,fa,16);break}while(0);if((i|0)>1){p=p+48|0;i=i+-1|0}else{e=ia;break}}}else ea=915}if((ea|0)==915)e=ia;g=f[e>>2]|0;if(g|0){e=f[l>>2]|0;f[a+752+(c*80|0)+28>>2]=e;if((f[(f[ha>>2]|0)+48>>2]|0)>(e|0)){f[l>>2]=e+1;qa=f[E>>2]|0;b[qa+(e*20|0)>>0]=70;d[qa+(e*20|0)+2>>1]=0;f[qa+(e*20|0)+4>>2]=1;f[qa+(e*20|0)+8>>2]=g;f[qa+(e*20|0)+12>>2]=0;f[qa+(e*20|0)+16>>2]=0;b[qa+(e*20|0)+1>>0]=0}else tl(qa,70,1,g,0)|0;e=f[G>>2]|0;if((e|0)>0){i=f[F>>2]|0;k=0;while(1){g=i+10|0;if((d[g>>1]&6)==0?(qa=i+40|0,c=ra,(f[c>>2]&f[qa>>2]|0)==0?(f[c+4>>2]&f[qa+4>>2]|0)==0:0):0){zm(sa,f[i>>2]|0,fa,16);d[g>>1]=d[g>>1]|4;e=f[G>>2]|0}k=k+1|0;if((k|0)>=(e|0))break;else i=i+48|0}}}sa=ra;ra=f[sa+4>>2]|0;sa=f[sa>>2]|0;aa(ra|0);t=ta;return sa|0}function Jn(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;y=f[c>>2]|0;J=f[a+8>>2]|0;a:do switch(b[y>>0]|0){case 45:case 53:{i=xl(a,f[y+16>>2]|0,i)|0;break}case 50:{k=J+136|0;h=f[k>>2]|0;if((f[(f[J+12>>2]|0)+48>>2]|0)>(h|0)){f[k>>2]=h+1;J=f[J+88>>2]|0;b[J+(h*20|0)>>0]=73;d[J+(h*20|0)+2>>1]=0;f[J+(h*20|0)+4>>2]=0;f[J+(h*20|0)+8>>2]=i;f[J+(h*20|0)+12>>2]=0;f[J+(h*20|0)+16>>2]=0;b[J+(h*20|0)+1>>0]=0;break a}else{tl(J,73,0,i,0)|0;break a}}default:{D=f[e+64>>2]|0;H=D+36|0;if((f[H>>2]&1024|0)==0?(k=f[D+32>>2]|0,(k|0)!=0):0)h=(b[(f[k+28>>2]|0)+g>>0]|0)==0?h:(h|0)==0&1;G=(g|0)>0;b:do if(G){l=f[D+48>>2]|0;k=0;while(1){F=f[l+(k<<2)>>2]|0;if(F|0?(f[F>>2]|0)==(y|0):0)break;k=k+1|0;if((k|0)>=(g|0))break b}Ln(e,c);e=i;return e|0}while(0);F=D+40|0;m=j[F>>1]|0;if((m|0)>(g|0)){n=f[D+48>>2]|0;k=0;l=g;do{k=k+((f[f[n+(l<<2)>>2]>>2]|0)==(y|0)&1)|0;l=l+1|0}while((l|0)<(m|0));C=k}else C=0;if((f[y+4>>2]&2048|0)!=0?(f[f[f[y+20>>2]>>2]>>2]|0)!=1:0){A=f[a>>2]|0;B=Bk(A,y,0,0)|0;u=A+81|0;if(!(b[u>>0]|0)){s=B+20|0;q=f[f[s>>2]>>2]|0;t=B+12|0;r=f[(f[t>>2]|0)+20>>2]|0;m=d[F>>1]|0;if((m&65535|0)>(g|0)){p=D+48|0;k=0;o=g;l=0;do{n=f[(f[p>>2]|0)+(o<<2)>>2]|0;if((f[n>>2]|0)==(y|0)?(v=(f[n+24>>2]|0)+-1|0,w=q+4+(v*20|0)|0,x=f[w>>2]|0,(x|0)!=0):0){l=ml(f[a>>2]|0,l,x)|0;f[w>>2]=0;m=r+4+(v*20|0)|0;k=ml(f[a>>2]|0,k,f[m>>2]|0)|0;f[m>>2]=0;m=d[F>>1]|0}o=o+1|0}while((o|0)<(m&65535|0))}else{l=0;k=0}if(q|0)jg(A,q);if(r|0)jg(A,r);f[(f[t>>2]|0)+20>>2]=k;f[f[s>>2]>>2]=l;if(k|0?(f[k>>2]|0)==1:0){l=k+4|0;k=f[l>>2]|0;f[l>>2]=0;l=f[t>>2]|0;if(l|0)ig(A,l);f[t>>2]=k}l=f[(f[s>>2]|0)+48>>2]|0;if(l|0?(z=f[l>>2]|0,(z|0)>0):0){k=0;do{d[l+4+(k*20|0)+16>>1]=0;k=k+1|0}while((k|0)!=(z|0))}if(!(b[u>>0]|0)){m=f[a>>2]|0;n=C<<2;c:do if(!m){z=KA(n|0,0,-1,-1)|0;y=ba()|0;if(y>>>0>0|(y|0)==0&z>>>0>2147483390)k=0;else{if(!(f[9328]|0)){k=ib[f[37356>>2]&255](n)|0;E=66;break}k=ib[f[37372>>2]&255](n)|0;if((f[18194]|0)>>>0>>0)f[18194]=n;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){z=f[18187]|0;y=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;x=ba()|0;f[17976]=((x|0)<0|(x|0)==0&y>>>0<=z>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k){k=0;break}l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0<=(f[18196]|0)>>>0){E=67;break}f[18196]=l;E=67}}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){k=0;break}}else{do if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0))){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];E=m+284|0;f[E>>2]=(f[E>>2]|0)+1;E=66;break c}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];E=m+284|0;f[E>>2]=(f[E>>2]|0)+1;E=66;break c}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,n,0)|0;E=66}while(0);if((E|0)==66)if(!k)k=0;else E=67;if((E|0)==67)_A(k|0,0,n|0)|0;n=Jm(a,B,4,0,k)|0;f[(f[c>>2]|0)+28>>2]=f[B+28>>2];l=k;m=k;E=70}else E=69}else E=69;if((E|0)==69)if(!B){l=0;k=5;m=0}else{l=0;n=5;m=0;E=70}if((E|0)==70){ig(A,B);k=n}B=f[c>>2]|0}else{B=y;l=0;k=Jm(a,y,4,0,0)|0;m=0}A=f[B+28>>2]|0;x=(((k|0)==4?(h|0)==0&1:h)|0)!=0;h=x?32:36;y=J+136|0;n=f[y>>2]|0;z=J+12|0;if((f[(f[z>>2]|0)+48>>2]|0)>(n|0)){f[y>>2]=n+1;w=f[J+88>>2]|0;b[w+(n*20|0)>>0]=h;d[w+(n*20|0)+2>>1]=0;f[w+(n*20|0)+4>>2]=A;f[w+(n*20|0)+8>>2]=0;f[w+(n*20|0)+12>>2]=0;f[w+(n*20|0)+16>>2]=0;b[w+(n*20|0)+1>>0]=0}else tl(J,h,A,0,0)|0;f[H>>2]=f[H>>2]|2048;u=e+56|0;h=f[u>>2]|0;if(!h){h=f[z>>2]|0;s=h+60|0;t=f[s>>2]|0;f[s>>2]=t+1;s=h+64|0;if(!(t+-1&t)){q=t<<3|4;r=f[h>>2]|0;h=f[s>>2]|0;d:do if(h){o=h;p=r+304|0;if(((f[p>>2]|0)>>>0<=o>>>0?(f[r+308>>2]|0)>>>0>o>>>0:0)?!(0<0|(0==0?(j[r+276>>1]|0)>>>0>>0:0)):0)break;n=Lc(r,h,q,0)|0;if(!n){if(f[r+480>>2]|0){Kc(r,h);h=0;break}if((f[p>>2]|0)>>>0<=o>>>0?(f[r+308>>2]|0)>>>0>o>>>0:0){w=r+300|0;f[h>>2]=f[w>>2];f[w>>2]=h;h=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);h=0;break}else{w=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);h=0;break}}else h=n}else{if(f[r+272>>2]|0){if(b[r+81>>0]|0){h=0;break}}else{do if(!(0<0|(0==0?(j[r+276>>1]|0)>>>0>>0:0))){n=r+300|0;h=f[n>>2]|0;if(h|0){f[n>>2]=f[h>>2];w=r+284|0;f[w>>2]=(f[w>>2]|0)+1;break d}n=r+296|0;h=f[n>>2]|0;if(!h){h=r+292|0;break}else{f[n>>2]=f[h>>2];w=r+284|0;f[w>>2]=(f[w>>2]|0)+1;break d}}else h=r+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1}h=Dc(r,q,0)|0}while(0);f[s>>2]=h}else h=f[s>>2]|0;if(h|0)f[h+(t<<2)>>2]=-1;f[e+16>>2]=~t;h=f[u>>2]|0}r=h+C|0;f[u>>2]=r;s=f[a>>2]|0;t=e+60|0;n=f[t>>2]|0;r=r*20|0;e:do if(!n){f:do if(f[s+272>>2]|0)if(!(b[s+81>>0]|0))E=117;else{E=155;break e}else{do if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0))){o=s+300|0;n=f[o>>2]|0;if(n|0){f[o>>2]=f[n>>2];C=s+284|0;f[C>>2]=(f[C>>2]|0)+1;break f}o=s+296|0;n=f[o>>2]|0;if(!n){n=s+292|0;break}else{f[o>>2]=f[n>>2];C=s+284|0;f[C>>2]=(f[C>>2]|0)+1;break f}}else n=s+288|0;while(0);f[n>>2]=(f[n>>2]|0)+1;E=117}while(0);if((E|0)==117)n=Dc(s,r,0)|0;f[t>>2]=n;if(!n)E=156;else E=132}else{p=n;q=s+304|0;if(((f[q>>2]|0)>>>0<=p>>>0?(f[s+308>>2]|0)>>>0>p>>>0:0)?!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0)):0){E=132;break}o=Lc(s,n,r,0)|0;if(o|0){f[t>>2]=o;n=o;E=132;break}if(f[s+480>>2]|0){Kc(s,n);E=155;break}if((f[q>>2]|0)>>>0<=p>>>0?(f[s+308>>2]|0)>>>0>p>>>0:0){E=s+300|0;f[n>>2]=f[E>>2];f[E>>2]=n;E=155;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);E=155;break}else{E=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);E=155;break}}while(0);if((E|0)==132){o=d[F>>1]|0;if((o&65535|0)>(g|0)){v=D+48|0;w=i-g|0;s=(k|0)==1;t=(l|0)==0;u=J+88|0;r=x?4:5;k=0;n=n+(h*20|0)|0;q=g;h=o;do{if((f[f[(f[v>>2]|0)+(q<<2)>>2]>>2]|0)==(B|0)){p=w+q|0;do if(s){h=f[y>>2]|0;if((f[(f[z>>2]|0)+48>>2]|0)>(h|0)){f[y>>2]=h+1;D=f[u>>2]|0;b[D+(h*20|0)>>0]=-127;d[D+(h*20|0)+2>>1]=0;f[D+(h*20|0)+4>>2]=A;f[D+(h*20|0)+8>>2]=p;f[D+(h*20|0)+12>>2]=0;f[D+(h*20|0)+16>>2]=0;b[D+(h*20|0)+1>>0]=0;break}else{h=tl(J,129,A,p,0)|0;break}}else{if(t){o=k;k=0}else{o=k+1|0;k=f[l+(k<<2)>>2]|0}h=f[y>>2]|0;if((f[(f[z>>2]|0)+48>>2]|0)>(h|0)){f[y>>2]=h+1;D=f[u>>2]|0;b[D+(h*20|0)>>0]=90;d[D+(h*20|0)+2>>1]=0;f[D+(h*20|0)+4>>2]=A;f[D+(h*20|0)+8>>2]=k;f[D+(h*20|0)+12>>2]=p;f[D+(h*20|0)+16>>2]=0;b[D+(h*20|0)+1>>0]=0;k=o;break}else{h=tl(J,90,A,k,p)|0;k=o;break}}while(0);f[n+4>>2]=h;h=f[y>>2]|0;if((f[(f[z>>2]|0)+48>>2]|0)>(h|0)){f[y>>2]=h+1;D=f[u>>2]|0;b[D+(h*20|0)>>0]=50;d[D+(h*20|0)+2>>1]=0;f[D+(h*20|0)+4>>2]=p;f[D+(h*20|0)+8>>2]=0;f[D+(h*20|0)+12>>2]=0;f[D+(h*20|0)+16>>2]=0;b[D+(h*20|0)+1>>0]=0}else tl(J,50,p,0,0)|0;do if((q|0)==(g|0)){f[n>>2]=A;b[n+16>>0]=r;if(G?(I=f[H>>2]|0,(I&1024|0)==0):0){f[n+8>>2]=w;f[n+12>>2]=g;f[H>>2]=I|262144;break}f[n+12>>2]=0}else b[n+16>>0]=-85;while(0);n=n+20|0;h=d[F>>1]|0}q=q+1|0}while((q|0)<(h&65535|0))}}else if((E|0)==155){f[t>>2]=0;E=156}if((E|0)==156)f[u>>2]=0;k=f[a>>2]|0;if(m){if(k|0){if(f[k+480>>2]|0){Kc(k,m);break a}J=m;if((f[k+304>>2]|0)>>>0<=J>>>0?(f[k+308>>2]|0)>>>0>J>>>0:0){J=k+300|0;f[m>>2]=f[J>>2];f[J>>2]=m;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break a}else{J=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break a}}}}while(0);Ln(e,c);e=i;return e|0}function Kn(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!c){k=xl(a,0,e)|0;if((k|0)==(e|0))return;h=f[a+8>>2]|0;if(!h)return;i=h+136|0;j=f[i>>2]|0;if((f[(f[h+12>>2]|0)+48>>2]|0)>(j|0)){f[i>>2]=j+1;a=f[h+88>>2]|0;b[a+(j*20|0)>>0]=79;d[a+(j*20|0)+2>>1]=0;f[a+(j*20|0)+4>>2]=k;f[a+(j*20|0)+8>>2]=e;f[a+(j*20|0)+12>>2]=0;f[a+(j*20|0)+16>>2]=0;b[a+(j*20|0)+1>>0]=0;return}else{tl(h,79,k,e,0)|0;return}}h=b[c>>0]|0;j=h<<24>>24==-92;if(j)h=b[c+38>>0]|0;switch(h<<24>>24){case -91:{i=c+20|0;q=7;break}case 127:{i=f[c+20>>2]|0;q=7;break}default:{}}if((q|0)==7?(f[f[i>>2]>>2]|0)>=2:0){if(f[c+4>>2]&2048|0){l=f[a+8>>2]|0;k=Mm(a,c,0,0)|0;h=g+-1|0;i=l+136|0;j=f[i>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(j|0)){f[i>>2]=j+1;a=f[l+88>>2]|0;b[a+(j*20|0)>>0]=78;d[a+(j*20|0)+2>>1]=0;f[a+(j*20|0)+4>>2]=k;f[a+(j*20|0)+8>>2]=e;f[a+(j*20|0)+12>>2]=h;f[a+(j*20|0)+16>>2]=0;b[a+(j*20|0)+1>>0]=0;return}else{tl(l,78,k,e,h)|0;return}}c=f[c+20>>2]|0;if((g|0)<=0)return;m=a+8|0;l=0;do{h=f[c+4+(l*20|0)>>2]|0;n=l+e|0;do if(h){if((b[h>>0]|0)!=-92){p=xl(a,h,n)|0;q=21;break}k=f[m>>2]|0;h=f[h+28>>2]|0;i=k+136|0;j=f[i>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(j|0)){f[i>>2]=j+1;k=f[k+88>>2]|0;b[k+(j*20|0)>>0]=78;d[k+(j*20|0)+2>>1]=0;f[k+(j*20|0)+4>>2]=h;f[k+(j*20|0)+8>>2]=n;f[k+(j*20|0)+12>>2]=0;f[k+(j*20|0)+16>>2]=0;b[k+(j*20|0)+1>>0]=0;break}else{tl(k,78,h,n,0)|0;break}}else{p=xl(a,0,n)|0;q=21}while(0);do if(((q|0)==21?(q=0,(p|0)!=(n|0)):0)?(o=f[m>>2]|0,o|0):0){h=o+136|0;i=f[h>>2]|0;if((f[(f[o+12>>2]|0)+48>>2]|0)>(i|0)){f[h>>2]=i+1;k=f[o+88>>2]|0;b[k+(i*20|0)>>0]=79;d[k+(i*20|0)+2>>1]=0;f[k+(i*20|0)+4>>2]=p;f[k+(i*20|0)+8>>2]=n;f[k+(i*20|0)+12>>2]=0;f[k+(i*20|0)+16>>2]=0;b[k+(i*20|0)+1>>0]=0;break}else{tl(o,79,p,n,0)|0;break}}while(0);l=l+1|0}while((l|0)!=(g|0));return}if(j){k=f[a+8>>2]|0;h=f[c+28>>2]|0;i=k+136|0;j=f[i>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(j|0)){f[i>>2]=j+1;a=f[k+88>>2]|0;b[a+(j*20|0)>>0]=78;d[a+(j*20|0)+2>>1]=0;f[a+(j*20|0)+4>>2]=h;f[a+(j*20|0)+8>>2]=e;f[a+(j*20|0)+12>>2]=0;f[a+(j*20|0)+16>>2]=0;b[a+(j*20|0)+1>>0]=0;return}else{tl(k,78,h,e,0)|0;return}}k=xl(a,c,e)|0;if((k|0)==(e|0))return;h=f[a+8>>2]|0;if(!h)return;i=h+136|0;j=f[i>>2]|0;if((f[(f[h+12>>2]|0)+48>>2]|0)>(j|0)){f[i>>2]=j+1;a=f[h+88>>2]|0;b[a+(j*20|0)>>0]=79;d[a+(j*20|0)+2>>1]=0;f[a+(j*20|0)+4>>2]=k;f[a+(j*20|0)+8>>2]=e;f[a+(j*20|0)+12>>2]=0;f[a+(j*20|0)+16>>2]=0;b[a+(j*20|0)+1>>0]=0;return}else{tl(h,79,k,e,0)|0;return}}function Ln(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=c+10|0;g=d[h>>1]|0;if(g&4)return;q=a+72|0;if(!(f[a>>2]|0)){m=q;l=f[m>>2]|0;m=f[m+4>>2]|0;e=c;k=0;i=g;n=h;while(1){j=e+40|0;if(!((f[j>>2]&l|0)==0?(f[j+4>>2]&m|0)==0:0)){a=22;break}if((k|0)!=0?(o=i&65535,(o&1024|0)!=0):0)a=(o|512)&65535;else a=i|4;d[n>>1]=a;j=f[e+16>>2]|0;if((j|0)<0){a=22;break}a=f[(f[e+4>>2]|0)+20>>2]|0;i=a+(j*48|0)+14|0;n=(b[i>>0]|0)+-1<<24>>24;b[i>>0]=n;if(n<<24>>24){a=22;break}n=a+(j*48|0)+10|0;i=d[n>>1]|0;if(i&4){a=22;break}else{e=a+(j*48|0)|0;k=k+1|0}}if((a|0)==22)return}i=0;while(1){if(!(f[(f[c>>2]|0)+4>>2]&1)){a=22;break}o=q;n=c+40|0;if(!((f[n>>2]&f[o>>2]|0)==0?(f[n+4>>2]&f[o+4>>2]|0)==0:0)){a=22;break}if((i|0)!=0?(p=g&65535,(p&1024|0)!=0):0)a=(p|512)&65535;else a=g|4;d[h>>1]=a;e=f[c+16>>2]|0;if((e|0)<0){a=22;break}a=f[(f[c+4>>2]|0)+20>>2]|0;n=a+(e*48|0)+14|0;o=(b[n>>0]|0)+-1<<24>>24;b[n>>0]=o;if(o<<24>>24){a=22;break}h=a+(e*48|0)+10|0;g=d[h>>1]|0;if(g&4){a=22;break}else{c=a+(e*48|0)|0;i=i+1|0}}if((a|0)==22)return}function Mn(a,c){a=a|0;c=c|0;a=f[a+24>>2]|0;if(Ck(0,c,f[a>>2]|0,f[a+4>>2]|0)|0){c=0;return c|0}b[c>>0]=-98;f[c+28>>2]=f[a+8>>2];d[c+32>>1]=f[a+12>>2];f[c+44>>2]=0;c=1;return c|0}function Nn(a,c){a=a|0;c=c|0;var e=0,g=0,h=0;if((b[c>>0]|0)!=-98){a=0;return a|0}e=f[a+24>>2]|0;if((f[c+28>>2]|0)!=(f[e+4>>2]|0)){a=0;return a|0}e=f[e>>2]|0;h=d[c+32>>1]|0;c=d[e+52>>1]|0;a:do if(c<<16>>16){g=f[e+4>>2]|0;c=c&65535;e=0;while(1){if((d[g+(e<<1)>>1]|0)==h<<16>>16)break;e=e+1|0;if(e>>>0>=c>>>0)break a}if((e&65535)<<16>>16>=0){a=0;return a|0}}while(0);b[a+20>>0]=1;a=2;return a|0}function On(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;do if(h|0){h=a+16|0;j=f[h>>2]|0;k=j+5|0;if(k>>>0<(f[a+8>>2]|0)>>>0){f[h>>2]=k;s=(f[a+4>>2]|0)+j|0;b[s>>0]=b[56756]|0;b[s+1>>0]=b[56757]|0;b[s+2>>0]=b[56758]|0;b[s+3>>0]=b[56759]|0;b[s+4>>0]=b[56760]|0;break}else{Ec(a,56756,5);break}}while(0);s=(e|0)>1;do if(s){h=a+16|0;j=f[h>>2]|0;k=j+1|0;if(k>>>0<(f[a+8>>2]|0)>>>0){f[h>>2]=k;b[(f[a+4>>2]|0)+j>>0]=40;break}else{Ec(a,56860,1);break}}else if((e|0)!=1){h=a+16|0;j=f[h>>2]|0;k=j+1|0;if(k>>>0<(f[a+8>>2]|0)>>>0){f[h>>2]=k;b[(f[a+4>>2]|0)+j>>0]=b[i>>0]|0;return}else{Ec(a,i,1);return}}while(0);o=c+4|0;q=a+16|0;r=a+8|0;m=c+12|0;n=a+4|0;l=0;do{do if(l|0){h=f[q>>2]|0;j=h+1|0;if(j>>>0<(f[r>>2]|0)>>>0){f[q>>2]=j;b[(f[n>>2]|0)+h>>0]=44;break}else{Ec(a,41635,1);break}}while(0);h=d[(f[o>>2]|0)+(l+g<<1)>>1]|0;switch(h<<16>>16){case -2:{h=56749;p=21;break}case -1:{h=47870;p=21;break}default:{h=f[(f[(f[m>>2]|0)+4>>2]|0)+(h<<16>>16<<4)>>2]|0;if(!h){c=0;h=0}else p=21}}if((p|0)==21){p=0;c=(wz(h)|0)&1073741823}j=f[q>>2]|0;k=j+c|0;if(k>>>0<(f[r>>2]|0)>>>0){if(c|0){f[q>>2]=k;YA((f[n>>2]|0)+j|0,h|0,c|0)|0}}else Ec(a,h,c);l=l+1|0}while((l|0)!=(e|0));h=f[q>>2]|0;j=h+1|0;k=j>>>0<(f[r>>2]|0)>>>0;do if(s){if(k){f[q>>2]=j;b[(f[a+4>>2]|0)+h>>0]=41}else Ec(a,43047,1);h=f[q>>2]|0;j=h+1|0;if(j>>>0<(f[r>>2]|0)>>>0){f[q>>2]=j;b[(f[a+4>>2]|0)+h>>0]=b[i>>0]|0}else Ec(a,i,1);h=f[q>>2]|0;j=h+1|0;if(j>>>0<(f[r>>2]|0)>>>0){f[q>>2]=j;b[(f[a+4>>2]|0)+h>>0]=40;break}else{Ec(a,56860,1);break}}else if(k){f[q>>2]=j;b[(f[a+4>>2]|0)+h>>0]=b[i>>0]|0;break}else{Ec(a,i,1);break}while(0);c=a+4|0;k=0;do{do if(k|0){h=f[q>>2]|0;j=h+1|0;if(j>>>0<(f[r>>2]|0)>>>0){f[q>>2]=j;b[(f[c>>2]|0)+h>>0]=44;break}else{Ec(a,41635,1);break}}while(0);h=f[q>>2]|0;j=h+1|0;if(j>>>0<(f[r>>2]|0)>>>0){f[q>>2]=j;b[(f[c>>2]|0)+h>>0]=63}else Ec(a,46041,1);k=k+1|0}while((k|0)!=(e|0));if(!s)return;h=f[q>>2]|0;j=h+1|0;if(j>>>0<(f[r>>2]|0)>>>0){f[q>>2]=j;b[(f[a+4>>2]|0)+h>>0]=41;return}else{Ec(a,43047,1);return}}function Pn(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!c){r=0;s=0;aa(r|0);return s|0}o=c;c=0;d=0;do{n=f[o+32>>2]|0;l=f[o>>2]|0;if((l|0)!=0?(s=f[l>>2]|0,(s|0)>0):0){k=0;j=s;e=0;g=0;do{h=f[l+4+(k*20|0)>>2]|0;if(!h){h=0;i=0}else{h=Fn(a,h)|0;i=ba()|0;j=f[l>>2]|0}e=h|e;g=i|g;k=k+1|0}while((k|0)<(j|0))}else{e=0;g=0}l=e|c;k=g|d;j=f[o+40>>2]|0;if((j|0)!=0?(q=f[j>>2]|0,(q|0)>0):0){i=0;h=q;c=0;d=0;do{e=f[j+4+(i*20|0)>>2]|0;if(!e){e=0;g=0}else{e=Fn(a,e)|0;g=ba()|0;h=f[j>>2]|0}c=e|c;d=g|d;i=i+1|0}while((i|0)<(h|0))}else{c=0;d=0}l=l|c;k=k|d;j=f[o+48>>2]|0;if((j|0)!=0?(r=f[j>>2]|0,(r|0)>0):0){i=0;g=r;h=0;d=0;while(1){c=f[j+4+(i*20|0)>>2]|0;if(!c){c=0;e=0}else{c=Fn(a,c)|0;e=ba()|0;g=f[j>>2]|0}c=c|h;d=e|d;i=i+1|0;if((i|0)>=(g|0)){h=c;i=d;break}else h=c}}else{h=0;i=0}c=f[o+36>>2]|0;if(!c){d=0;g=0}else{d=Fn(a,c)|0;g=ba()|0}c=f[o+44>>2]|0;if(!c){c=0;e=0}else{c=Fn(a,c)|0;e=ba()|0}c=l|h|d|c;d=k|i|g|e;if((n|0)!=0?(f[n>>2]|0)>0:0){m=0;do{h=Pn(a,f[n+8+(m*72|0)+20>>2]|0)|0;g=ba()|0|d;d=f[n+8+(m*72|0)+44>>2]|0;if(!d){d=0;e=0}else{d=Fn(a,d)|0;e=ba()|0}c=h|c|d;d=g|e;if(b[n+8+(m*72|0)+37>>0]&4){l=f[n+8+(m*72|0)+64>>2]|0;if((l|0)!=0?(p=f[l>>2]|0,(p|0)>0):0){k=0;e=0;g=0;i=p;do{h=f[l+4+(k*20|0)>>2]|0;if(!h){h=0;j=0}else{h=Fn(a,h)|0;j=ba()|0;i=f[l>>2]|0}e=h|e;g=j|g;k=k+1|0}while((k|0)<(i|0))}else{e=0;g=0}c=e|c;d=g|d}m=m+1|0}while((m|0)<(f[n>>2]|0))}o=f[o+52>>2]|0}while((o|0)!=0);aa(d|0);return c|0}function Qn(a,c,e,g,i,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0;eb=t;t=t+96|0;$a=eb;ab=i&65535;if(i<<16>>16?d[(f[f[a>>2]>>2]|0)+76>>1]&64:0){db=0;t=eb;return db|0}Fa=f[c>>2]|0;i=Fa&65535;if(i>>>0>63){db=0;t=eb;return db|0}Ga=WA(1,0,i|0)|0;Ga=KA(Ga|0,ba()|0,-1,-1)|0;Ha=ba()|0;g=g&65535;Da=g&2048;Ca=(Da|0)==0;Da=Da>>>11&65535|386;a:do if(!((Ga|0)==0&(Ha|0)==0)){ca=e+24|0;da=a+4|0;ea=(i|0)==0;fa=a+80|0;ga=$a+4|0;ha=$a+12|0;ia=$a+16|0;ja=$a+8|0;ka=Da&65535;la=$a+20|0;ma=$a+24|0;na=$a+28|0;oa=$a+72|0;pa=$a+17|0;qa=$a+18|0;ra=$a+20|0;sa=$a+4|0;ta=$a+8|0;ua=$a+24|0;va=a+488|0;ya=(i|0)!=0;za=(g&192|0)==0;X=(g&64|0)==0;D=1;m=0;W=0;S=0;T=0;g=0;e=0;B=0;C=0;b:while(1){if(!W){U=g;V=e}else{V=m+8|0;U=f[V>>2]|g;V=f[V+4>>2]|e}if(W>>>0>>0){g=f[(f[ca>>2]|0)+(W<<2)>>2]|0;if(Ca){Oa=g;Aa=10}else{r=D;s=g;q=C;p=B;o=S;n=T}}else{Oa=k;Aa=10}if((Aa|0)==10){Aa=0;A=Oa+36|0;g=f[A>>2]|0;P=Oa+24|0;if(g&1024|0){Aa=11;break}Q=Oa+30|0;d[Q>>1]=0;R=f[(f[da>>2]|0)+8+((h[Oa+16>>0]|0)*72|0)+40>>2]|0;if(ea){o=B;p=C}else{w=~U;x=~V;y=Oa+40|0;z=Oa+48|0;v=0;e=B;m=C;do{s=WA(1,0,v|0)|0;u=ba()|0;c:do if((s&e|0)==0&(u&m|0)==0){r=c+4+(v*20|0)|0;g=f[r>>2]|0;n=f[g+4>>2]|0;if(n&4096)do{if(!(n&262144))g=g+12|0;else g=(f[g+20>>2]|0)+4|0;g=f[g>>2]|0;n=f[g+4>>2]|0}while((n&4096|0)!=0);if((b[g>>0]|0)==-98?(f[g+28>>2]|0)==(R|0):0){q=g+32|0;g=d[q>>1]|0;f[$a>>2]=fa;f[ga>>2]=fa;f[ha>>2]=0;b[ia>>0]=0;f[ja>>2]=0;if(g<<16>>16!=-2?(f[la>>2]=ka,f[ma>>2]=0,f[na>>2]=R,d[oa>>1]=g,b[pa>>0]=1,b[qa>>0]=1,Ra=An($a)|0,Ra|0):0){o=0;p=Ra;while(1){n=p+32|0;g=f[n>>2]|0;n=f[n+4>>2]|0;if((g&w|0)==0&(n&x|0)==0){if((g|0)==0&(n|0)==0?(Sa=d[p+12>>1]|0,Sa&130):0){Aa=29;break}La=(o|0)==0?p:o}else La=o;g=An($a)|0;if(!g){Aa=33;break}else{o=La;p=g}}if((Aa|0)==29){Aa=0;Ia=p;Ta=Sa}else if((Aa|0)==33){Aa=0;if(!La)break;Ia=La;Ta=d[La+12>>1]|0}d:do if(Ta<<16>>16==1){g=d[y>>1]|0;if(!(g<<16>>16))break c;o=f[z>>2]|0;n=g&65535;g=0;while(1){if((Ia|0)==(f[o+(g<<2)>>2]|0))break d;g=g+1|0;if(g>>>0>=n>>>0)break c}}while(0);do if(Ta&130){if((d[q>>1]|0)<=-1)break;p=f[a>>2]|0;o=f[Ia>>2]|0;g=Zk(p,f[r>>2]|0)|0;if(!g)n=f[(f[p>>2]|0)+8>>2]|0;else n=g;g=Zk(p,o)|0;if(!g)g=f[(f[p>>2]|0)+8>>2]|0;n=f[n>>2]|0;o=f[g>>2]|0;O=b[n>>0]|0;g=(h[1232+(O&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0;if(!(O<<24>>24==0|(g|0)!=0))do{n=n+1|0;o=o+1|0;O=b[n>>0]|0;g=(h[1232+(O&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(O<<24>>24==0|(g|0)!=0));if(g|0)break c}while(0);e=s|e;m=u|m;break}}}while(0);v=v+1|0}while((v|0)!=(i|0));g=f[A>>2]|0;o=e;p=m}do if(!(g&4096)){if(!(g&256)){m=f[Oa+32>>2]|0;if(!m){bb=0;Aa=135;break b}O=m+55|0;if((h[O>>0]|h[O+1>>0]<<8)&4){bb=0;Aa=135;break b}e=d[m+52>>1]|0;g=(b[m+54>>0]|0)!=0&1;if(!(e<<16>>16)){Ma=g;Va=o;Wa=p;Aa=117;break}else{n=m;O=d[m+50>>1]|0;N=e&65535}}else{n=0;O=0;g=D;N=1}G=Oa+42|0;H=(n|0)==0;I=Oa+48|0;J=n+4|0;K=n+28|0;L=n+12|0;M=n+40|0;D=n+32|0;E=WA(1,0,W|0)|0;F=ba()|0;e=0;z=0;B=0;C=0;A=o;y=p;e:while(1){o=j[P>>1]|0;q=C>>>0>>0;f:do if(q?C>>>0>=(j[G>>1]|0)>>>0:0){p=f[I>>2]|0;m=f[p+(C<<2)>>2]|0;x=d[m+12>>1]|0;n=x&65535;if((x&Da)<<16>>16){Ba=e;Y=z;Z=B;$=(n&256|0)==0?g:0;aa=C+1|0;wa=A;xa=y;break}if((n&1|0)!=0?(Ua=f[m>>2]|0,Pa=C+1|0,Pa>>>0>>0):0){m=Pa;while(1){if((f[f[p+(m<<2)>>2]>>2]|0)==(Ua|0)){Ea=0;Aa=68;break f}m=m+1|0;if(m>>>0>=o>>>0){Ea=1;Aa=68;break}}}else{Ea=1;Aa=68}}else{Ea=1;Aa=68}while(0);if((Aa|0)==68){Aa=0;if(!H){o=d[(f[J>>2]|0)+(C<<1)>>1]|0;m=b[(f[K>>2]|0)+C>>0]|0;n=f[L>>2]|0;o=o<<16>>16==(d[n+40>>1]|0)?-1:o<<16>>16;if(q|(g<<24>>24==0|(o|0)<0)){v=o;_=g}else{v=o;_=(b[(f[n+4>>2]|0)+(o<<4)+12>>0]|0)==0?0:g}}else{m=0;v=-1;_=g}if(!(ya&Ea<<24>>24!=0)){Aa=114;break}s=(v|0)>-2;u=(v|0)==-1;g=0;n=1;g:while(1){w=WA(1,0,g|0)|0;x=ba()|0;do if((w&A|0)==0&(x&y|0)==0){r=c+4+(g*20|0)|0;o=f[r>>2]|0;h:do if(!o)o=0;else while(1){p=f[o+4>>2]|0;if(!(p&4096))break h;if(!(p&262144))o=o+12|0;else o=(f[o+20>>2]|0)+4|0;o=f[o>>2]|0;if(!o){o=0;break}}while(0);n=za?0:n;if(s){if((b[o>>0]|0)!=-98)break;if((f[o+28>>2]|0)!=(R|0))break;if((v|0)!=(d[o+32>>1]|0))break}else{p=f[(f[M>>2]|0)+4+(C*20|0)>>2]|0;i:do if(!o)o=0;else while(1){q=f[o+4>>2]|0;if(!(q&4096))break i;if(!(q&262144))o=o+12|0;else o=(f[o+20>>2]|0)+4|0;o=f[o>>2]|0;if(!o){o=0;break}}while(0);j:do if(!p)p=0;else while(1){q=f[p+4>>2]|0;if(!(q&4096))break j;if(!(q&262144))p=p+12|0;else p=(f[p+20>>2]|0)+4|0;p=f[p>>2]|0;if(!p){p=0;break}}while(0);if(Ck(0,o,p,R)|0)break}if(u){n=-1;break g}p=f[a>>2]|0;o=Zk(p,f[r>>2]|0)|0;if(!o)o=f[(f[p>>2]|0)+8>>2]|0;p=f[o>>2]|0;q=f[(f[D>>2]|0)+(C<<2)>>2]|0;r=b[p>>0]|0;o=(h[1232+(r&255)>>0]|0)-(h[1232+(h[q>>0]|0)>>0]|0)|0;if(!(r<<24>>24==0|(o|0)!=0))do{p=p+1|0;q=q+1|0;r=b[p>>0]|0;o=(h[1232+(r&255)>>0]|0)-(h[1232+(h[q>>0]|0)>>0]|0)|0}while(!(r<<24>>24==0|(o|0)!=0));if(!o){n=v;break g}}while(0);g=g+1|0;if(!(g>>>0>>0&n<<24>>24!=0)){Aa=114;break e}}o=C+1|0;d[Q>>1]=o;do if(X){if(e<<24>>24)if((m^z)<<24>>24==(b[c+4+(g*20|0)+12>>0]|0)){g=z;break}else{Aa=114;break e}g=b[c+4+(g*20|0)+12>>0]^m;if(!(g<<24>>24)){e=1;g=0;break}xa=l;Ba=f[xa+4>>2]|F;e=l;f[e>>2]=f[xa>>2]|E;f[e+4>>2]=Ba;e=1}else g=z;while(0);Ba=e;Y=g;Z=(n|0)==-1?1:B;$=_;aa=o;wa=w|A;xa=x|y}if(aa>>>0>>0){e=Ba;z=Y;B=Z;C=aa;g=$;A=wa;y=xa}else{Ka=Z;Qa=$;Xa=wa;Ya=xa;break}}if((Aa|0)==114){Aa=0;Ka=B;Qa=(C|0)==0|C>>>0<(O&65535)>>>0?0:_;Xa=A;Ya=y}if(!(Ka<<24>>24)){Ma=Qa;Va=Xa;Wa=Ya;Aa=117}else{Na=1;Za=Xa;_a=Ya}}else{Ma=D;Va=o;Wa=p;Aa=117}while(0);if((Aa|0)==117){Aa=0;if(!(Ma<<24>>24)){Ja=0;cb=Va;db=Wa;break a}else{Na=Ma;Za=Va;_a=Wa}}w=Oa+8|0;v=f[w>>2]|S;w=f[w+4>>2]|T;if(ea){r=Na;s=Oa;q=_a;p=Za;o=v;n=w}else{s=~v;u=~w;r=0;q=Za;g=_a;while(1){o=WA(1,0,r|0)|0;p=ba()|0;do if((o&q|0)==0&(p&g|0)==0){m=f[c+4+(r*20|0)>>2]|0;if(m){n=Fn(va,m)|0;e=ba()|0;if((n|0)==0&(e|0)==0){b[ra>>0]=1;f[sa>>2]=155;f[ta>>2]=156;f[ua>>2]=0;oi($a,m)|0;if(!(b[ra>>0]|0)){e=q;break}else{n=0;e=0}}}else{n=0;e=0}T=(n&s|0)==0&(e&u|0)==0;e=(T?o:0)|q;g=(T?p:0)|g}else e=q;while(0);r=r+1|0;if((r|0)==(i|0)){r=Na;s=Oa;q=g;p=e;o=v;n=w;break}else q=e}}}if(W>>>0>=ab>>>0|(q>>>0>Ha>>>0|(q|0)==(Ha|0)&p>>>0>=Ga>>>0|r<<24>>24==0)){Ja=r;cb=p;db=q;break a}else{D=r;m=s;W=W+1|0;S=o;T=n;g=U;e=V;B=p;C=q}}if((Aa|0)==11){db=(b[P+5>>0]|0)==0;Ja=D;cb=db?B:Ga;db=db?C:Ha;break}else if((Aa|0)==135){t=eb;return bb|0}}else{Ja=1;cb=0;db=0}while(0);if((cb|0)==(Ga|0)&(db|0)==(Ha|0)){db=Fa&255;t=eb;return db|0}if(Ja<<24>>24){db=-1;t=eb;return db|0}if(i>>>0<=1){db=0;t=eb;return db|0}while(1){g=i;i=i+-1|0;$a=WA(1,0,i|0)|0;$a=KA($a|0,ba()|0,-1,-1)|0;ab=ba()|0;if(($a&cb|0)==($a|0)&(ab&db|0)==(ab|0))break;if((g|0)<=2){bb=0;Aa=135;break}}if((Aa|0)==135){t=eb;return bb|0}db=i&255;t=eb;return db|0}function Rn(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;i=f[a>>2]|0;A=f[f[i>>2]>>2]|0;e=a+24|0;g=f[e>>2]|0;if(!g){a=f[a+16>>2]|0;if(!a){c=101;return c|0}d[a>>1]=0;c=101;return c|0}f[e>>2]=g+-1;o=f[a+16>>2]|0;if(o|0){if(!(d[c+40>>1]|0)){c=0;return c|0}l=c;k=f[l>>2]|0;l=f[l+4>>2]|0;m=d[c+20>>1]|0;n=d[c+22>>1]|0;h=d[o>>1]|0;g=o+8|0;do if(h<<16>>16){a=h;i=g;while(1){e=d[i+8>>1]|0;if(e<<16>>16>=m<<16>>16?(c=i,(f[c>>2]&k|0)==(k|0)?(f[c+4>>2]&l|0)==(l|0):0):0){u=18;break}if(e<<16>>16<=m<<16>>16?(c=i,A=f[c>>2]|0,c=f[c+4>>2]|0,(A&k|0)==(A|0)&(c&l|0)==(c|0)):0){a=0;u=157;break}a=a+-1<<16>>16;if(!(a<<16>>16)){u=13;break}else i=i+16|0}if((u|0)==13){if((h&65535)<3){u=14;break}h=h&65535;a=d[o+16>>1]|0;e=1;do{g=a<<16>>16>(d[o+8+(e<<4)+8>>1]|0)?o+8+(e<<4)|0:g;e=e+1|0;a=d[g+8>>1]|0}while((e|0)!=(h|0));if(a<<16>>16>m<<16>>16){e=g;a=g+8|0;break}else a=0;return a|0}else if((u|0)==18){e=i;a=i+8|0;break}else if((u|0)==157)return a|0}else u=14;while(0);if((u|0)==14){a=h&65535;d[o>>1]=h+1<<16>>16;d[o+8+(a<<4)+10>>1]=n;e=o+8+(a<<4)|0;a=o+8+(a<<4)+8|0}c=e;f[c>>2]=k;f[c+4>>2]=l;d[a>>1]=m;a=e+10|0;if((d[a>>1]|0)<=n<<16>>16){c=0;return c|0}d[a>>1]=n;c=0;return c|0}a=i+60|0;o=f[a>>2]|0;z=c+36|0;m=f[z>>2]|0;i=(o|0)==0;if(!(i|(m&512|0)==0)){k=c+20|0;l=c+22|0;g=b[c+16>>0]|0;e=o;do{do if((b[e+16>>0]|0)==g<<24>>24?f[e+36>>2]&512|0:0){if(Sn(e,c)|0){d[k>>1]=d[e+20>>1]|0;d[l>>1]=(j[e+22>>1]|0)+65535;break}if(Sn(c,e)|0){d[k>>1]=d[e+20>>1]|0;d[l>>1]=(j[e+22>>1]|0)+1}}while(0);e=f[e+52>>2]|0}while((e|0)!=0)}a:do if(i)u=57;else{p=b[c+16>>0]|0;q=c+17|0;n=c+42|0;r=c+18|0;s=c+20|0;t=c+22|0;if((m&513|0)!=513){l=o;while(1){if((b[l+16>>0]|0)==p<<24>>24?(b[l+17>>0]|0)==(b[q>>0]|0):0){u=l;o=f[u>>2]|0;u=f[u+4>>2]|0;g=c;e=f[g>>2]|0;g=f[g+4>>2]|0;i=e&o;k=g&u;if((((i|0)==(o|0)&(k|0)==(u|0)?(d[l+18>>1]|0)<=(d[r>>1]|0):0)?(d[l+20>>1]|0)<=(d[s>>1]|0):0)?(d[l+22>>1]|0)<=(d[t>>1]|0):0){a=0;break}if(((i|0)==(e|0)&(k|0)==(g|0)?(d[l+20>>1]|0)>=(d[s>>1]|0):0)?(d[l+22>>1]|0)>=(d[t>>1]|0):0){u=57;break a}}a=l+52|0;l=f[a>>2]|0;if(!l){g=a;u=58;break a}}return a|0}l=o;while(1){if((b[l+16>>0]|0)==p<<24>>24?(b[l+17>>0]|0)==(b[q>>0]|0):0){if((f[l+36>>2]&16384|0?(d[n>>1]|0)==0:0)?(o=l,u=c,m=f[u>>2]|0,u=f[u+4>>2]|0,(m&f[o>>2]|0)==(m|0)?(u&f[o+4>>2]|0)==(u|0):0):0){u=57;break a}u=l;o=f[u>>2]|0;u=f[u+4>>2]|0;g=c;e=f[g>>2]|0;g=f[g+4>>2]|0;i=e&o;k=g&u;if((((i|0)==(o|0)&(k|0)==(u|0)?(d[l+18>>1]|0)<=(d[r>>1]|0):0)?(d[l+20>>1]|0)<=(d[s>>1]|0):0)?(d[l+22>>1]|0)<=(d[t>>1]|0):0){a=0;break}if(((i|0)==(e|0)&(k|0)==(g|0)?(d[l+20>>1]|0)>=(d[s>>1]|0):0)?(d[l+22>>1]|0)>=(d[t>>1]|0):0){u=57;break a}}a=l+52|0;l=f[a>>2]|0;if(!l){g=a;u=58;break a}}return a|0}while(0);b:do if((u|0)==57){t=f[a>>2]|0;if(t){a=t+52|0;e=f[a>>2]|0;if(e){n=c+16|0;o=c+17|0;p=c+42|0;q=c+18|0;r=c+20|0;s=c+22|0;do{m=b[n>>0]|0;while(1){if((b[e+16>>0]|0)==m<<24>>24?(b[e+17>>0]|0)==(b[o>>0]|0):0){if(((f[e+36>>2]&16384|0?(d[p>>1]|0)==0:0)?(f[z>>2]&513|0)==513:0)?(k=e,l=c,i=f[l>>2]|0,l=f[l+4>>2]|0,(i&f[k>>2]|0)==(i|0)?(l&f[k+4>>2]|0)==(l|0):0):0)break;B=e;C=f[B>>2]|0;B=f[B+4>>2]|0;i=c;g=f[i>>2]|0;i=f[i+4>>2]|0;k=g&C;l=i&B;if((((k|0)==(C|0)&(l|0)==(B|0)?(d[e+18>>1]|0)<=(d[q>>1]|0):0)?(d[e+20>>1]|0)<=(d[r>>1]|0):0)?(d[e+22>>1]|0)<=(d[s>>1]|0):0)break b;if(((k|0)==(g|0)&(l|0)==(i|0)?(d[e+20>>1]|0)>=(d[r>>1]|0):0)?(d[e+22>>1]|0)>=(d[s>>1]|0):0)break}a=e+52|0;e=f[a>>2]|0;if(!e)break b}f[a>>2]=f[e+52>>2];vn(A,e);e=f[a>>2]|0}while((e|0)!=0)}}else{g=a;u=58}}while(0);do if((u|0)==58){c:do if(f[A+272>>2]|0)if(!(b[A+81>>0]|0))u=69;else{f[g>>2]=0;C=7;return C|0}else{do if((j[A+276>>1]|0)>=72){e=A+300|0;a=f[e>>2]|0;if(a|0){f[e>>2]=f[a>>2];C=A+284|0;f[C>>2]=(f[C>>2]|0)+1;break c}e=A+296|0;a=f[e>>2]|0;if(!a){a=A+292|0;break}else{f[e>>2]=f[a>>2];C=A+284|0;f[C>>2]=(f[C>>2]|0)+1;break c}}else a=A+288|0;while(0);f[a>>2]=(f[a>>2]|0)+1;u=69}while(0);if((u|0)==69)a=Dc(A,72,0)|0;f[g>>2]=a;if(!a){C=7;return C|0}else{f[a+48>>2]=a+56;d[a+40>>1]=0;d[a+44>>1]=3;f[a+36>>2]=0;f[a+52>>2]=0;t=a;break}}while(0);k=t+36|0;a=f[k>>2]|0;do if(a&17408|0){if(a&1024|0?(w=t+28|0,b[w>>0]|0):0){a=t+32|0;e=f[a>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{C=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);b[w>>0]=0;f[a>>2]=0;break}if(a&16384|0?(x=t+32|0,v=f[x>>2]|0,v|0):0){a=f[v+16>>2]|0;d:do if(a){do if(A|0){e=A+480|0;if(!(f[e>>2]|0)){g=a;if((f[A+304>>2]|0)>>>0>g>>>0)break;if((f[A+308>>2]|0)>>>0<=g>>>0)break;C=A+300|0;f[a>>2]=f[C>>2];f[C>>2]=a}else Kc(A,a);a=f[x>>2]|0;u=113;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);u=111;break}else{u=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);u=111;break}}else u=111;while(0);if((u|0)==111){a=f[x>>2]|0;if(!A){y=a;u=118}else{e=A+480|0;u=113}}do if((u|0)==113){if(f[e>>2]|0){Kc(A,a);break}C=a;if((f[A+304>>2]|0)>>>0<=C>>>0?(f[A+308>>2]|0)>>>0>C>>>0:0){C=A+300|0;f[a>>2]=f[C>>2];f[C>>2]=a}else{y=a;u=118}}while(0);do if((u|0)==118?y|0:0)if(!(f[9328]|0)){ob[f[37360>>2]&127](y);break}else{C=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y);break}while(0);f[x>>2]=0}}while(0);a=d[c+40>>1]|0;i=t+44|0;do if((j[i>>1]|0)<(a&65535)){g=(a&65535)+7&131064;e=g<<2;e:do if(f[A+272>>2]|0){if(!(b[A+81>>0]|0))u=135}else{do if(!(0<0|(0==0?(j[A+276>>1]|0)>>>0>>0:0))){a=A+300|0;h=f[a>>2]|0;if(h|0){f[a>>2]=f[h>>2];u=A+284|0;f[u>>2]=(f[u>>2]|0)+1;u=136;break e}a=A+296|0;h=f[a>>2]|0;if(!h){a=A+292|0;break}else{f[a>>2]=f[h>>2];u=A+284|0;f[u>>2]=(f[u>>2]|0)+1;u=136;break e}}else a=A+288|0;while(0);f[a>>2]=(f[a>>2]|0)+1;u=135}while(0);if((u|0)==135){h=Dc(A,e,0)|0;u=136}if((u|0)==136?h|0:0){a=t+48|0;YA(h|0,f[a>>2]|0,j[i>>1]<<2|0)|0;e=f[a>>2]|0;do if((e|0)!=(t+56|0)){if(f[A+480>>2]|0){Kc(A,e);break}C=e;if((f[A+304>>2]|0)>>>0<=C>>>0?(f[A+308>>2]|0)>>>0>C>>>0:0){C=A+300|0;f[e>>2]=f[C>>2];f[C>>2]=e;break}if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{C=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[a>>2]=h;d[i>>1]=g;u=149;break}g=t+24|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;g=7}else{h=f[t+48>>2]|0;u=149}while(0);do if((u|0)==149){a=t;e=c;g=a+44|0;do{f[a>>2]=f[e>>2];a=a+4|0;e=e+4|0}while((a|0)<(g|0));YA(h|0,f[c+48>>2]|0,j[t+40>>1]<<2|0)|0;a=f[z>>2]|0;if(a&1024|0){b[c+28>>0]=0;g=0;break}if(!(a&16384))g=0;else{f[c+32>>2]=0;g=0}}while(0);if(f[k>>2]&1024|0){C=g;return C|0}a=t+32|0;e=f[a>>2]|0;if(!e){C=g;return C|0}if(f[e+44>>2]|0){C=g;return C|0}f[a>>2]=0;C=g;return C|0}function Sn(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;h=d[a+40>>1]|0;g=h&65535;j=d[a+42>>1]|0;i=d[b+40>>1]|0;l=i&65535;k=d[b+42>>1]|0;if((k&65535)>(j&65535)?1:(g-(j&65535)|0)>=(l-(k&65535)|0)){b=0;return b|0}c=d[a+20>>1]|0;e=d[b+20>>1]|0;if(c<<16>>16>=e<<16>>16){if(c<<16>>16>e<<16>>16){b=0;return b|0}if((d[a+22>>1]|0)>(d[b+22>>1]|0)){b=0;return b|0}}c=g+-1|0;a:do if(h<<16>>16){k=f[a+48>>2]|0;j=b+48|0;if(!(i<<16>>16)){while(1){if(f[k+(c<<2)>>2]|0){c=0;break}if((c|0)>0)c=c+-1|0;else break a}return c|0}b:while(1){h=f[k+(c<<2)>>2]|0;c:do if(h|0){i=f[j>>2]|0;e=l;while(1){g=e;e=e+-1|0;if((f[i+(e<<2)>>2]|0)==(h|0))break c;if((g|0)<=1){c=0;break b}}}while(0);if((c|0)>0)c=c+-1|0;else break a}return c|0}while(0);if(f[a+36>>2]&64|0?(f[b+36>>2]&64|0)==0:0){b=0;return b|0}b=1;return b|0}function Tn(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=f[f[c>>2]>>2]|0;a:do if((b[e>>0]|0)==44){while(1){if(!(Tn(a,c,f[e+12>>2]|0)|0)){e=0;break}e=f[e+16>>2]|0;if((b[e>>0]|0)!=44)break a}return e|0}while(0);k=(0==0?(f[(f[g>>2]|0)+32>>2]&8388608|0)==0:0)?g:0;j=c+12|0;g=f[j>>2]|0;if((g|0)<=0){a=0;return a|0}h=f[c+20>>2]|0;i=0;while(1){c=f[h>>2]|0;if(!((f[c+4>>2]&1|0)!=0?(d[c+36>>1]|0)!=(a|0):0)){if(Xn(k,c,e,a)|0){e=1;g=12;break}g=f[j>>2]|0}i=i+1|0;if((i|0)>=(g|0)){e=0;g=12;break}else h=h+48|0}if((g|0)==12)return e|0;return 0}function Un(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+16|0;s=u;r=b;p=b+8|0;e=p;q=~(f[e>>2]|f[r>>2]);r=~(f[e+4>>2]|f[r+4>>2]);e=f[a+12>>2]|0;m=a+20|0;a:do if((e|0)>0){n=b+40|0;o=b+48|0;b=b+22|0;a=0;l=f[m>>2]|0;while(1){if(d[l+10>>1]&2)break a;k=l+40|0;h=f[k>>2]|0;k=f[k+4>>2]|0;i=p;b:do if((h&q|0)==0&(k&r|0)==0&(f[i>>2]&h|0?1:(f[i+4>>2]&k|0)!=0)){g=d[n>>1]|0;if(g<<16>>16){k=f[o>>2]|0;g=g&65535;do{h=g;g=g+-1|0;i=f[k+(g<<2)>>2]|0;if(i|0){if((i|0)==(l|0))break b;i=f[i+16>>2]|0;if((i|0)>-1?((f[m>>2]|0)+(i*48|0)|0)==(l|0):0)break b}}while((h|0)>1)}g=d[l+8>>1]|0;if(g<<16>>16<1){d[b>>1]=(j[b>>1]|0)+(g&65535);break}d[b>>1]=(d[b>>1]|0)+-1<<16>>16;if(d[l+12>>1]&130){k=(Ak(f[(f[l>>2]|0)+16>>2]|0,s)|0)!=0;k=k&((f[s>>2]|0)+1|0)>>>0<3?10:20;f[s>>2]=k;a=(k|0)>(a<<16>>16|0)?k&65535:a}}while(0);if((e|0)>1){e=e+-1|0;l=l+48|0}else break}}else{a=0;b=b+22|0}while(0);a=(c<<16>>16)-(a<<16>>16)|0;if((a|0)>=(d[b>>1]|0)){t=u;return}d[b>>1]=a;t=u;return}function Vn(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=t;t=t+96|0;ha=Ga;ka=f[f[a>>2]>>2]|0;va=f[ka>>2]|0;wa=f[a+12>>2]|0;ta=va+81|0;if(b[ta>>0]|0){Fa=7;t=Ga;return Fa|0}xa=wa+36|0;ya=f[xa>>2]|0;p=(ya&32|0)==0?447:24;sa=e+55|0;p=((h[sa>>0]|h[sa+1>>0]<<8)&4)==0?p:p&387;za=wa+24|0;Aa=d[za>>1]|0;la=wa+26|0;ma=d[la>>1]|0;na=wa+28|0;oa=d[na>>1]|0;Ba=wa+42|0;pa=d[Ba>>1]|0;Ca=wa+40|0;m=d[Ca>>1]|0;ra=wa;qa=f[ra>>2]|0;ra=f[ra+4>>2]|0;Da=wa+22|0;Ea=d[Da>>1]|0;ia=a+4|0;k=f[ia>>2]|0;ja=c+40|0;q=f[ja>>2]|0;Fa=Aa&65535;f[ha>>2]=k;f[ha+4>>2]=k;k=ha+12|0;f[k>>2]=0;l=ha+16|0;b[l>>0]=0;n=ha+8|0;f[n>>2]=0;do if(e){o=d[(f[e+4>>2]|0)+(Fa<<1)>>1]|0;i=o<<16>>16;if(o<<16>>16==-2){f[k>>2]=f[(f[e+40>>2]|0)+4+(Fa*20|0)>>2];f[n>>2]=f[(f[e+32>>2]|0)+(Fa<<2)>>2];i=-2;break}k=f[e+12>>2]|0;if(o<<16>>16!=(d[k+40>>1]|0)){if(o<<16>>16>-1){b[l>>0]=b[(f[k+4>>2]|0)+(i<<4)+13>>0]|0;f[n>>2]=f[(f[e+32>>2]|0)+(Fa<<2)>>2]}}else i=-1}else i=Fa;while(0);f[ha+20>>2]=p;f[ha+24>>2]=0;f[ha+28>>2]=q;d[ha+72>>1]=i;b[ha+17>>0]=1;b[ha+18>>0]=1;n=An(ha)|0;d[wa+18>>1]=0;ua=e+8|0;ea=d[f[ua>>2]>>1]|0;if(ea<<16>>16<11)M=0;else{i=ea<<16>>16;k=((i|0)<0)<<31>>31;if((ea&65535)>255){l=40;do{l=(l&65535)+40|0;ca=i;i=VA(i|0,k|0,4)|0;aa=k;k=ba()|0}while(aa>>>0>0|(aa|0)==0&ca>>>0>4095);l=l&65535}else l=40;if(k>>>0>0|(k|0)==0&i>>>0>15){do{l=(l&65535)+10&65535;ca=i;i=VA(i|0,k|0,1)|0;aa=k;k=ba()|0}while(aa>>>0>0|(aa|0)==0&ca>>>0>31);k=l}else k=l;M=(k&65535)+65493+(j[7936+((i&7)<<1)>>1]|0)&65535}a:do if(!n)i=0;else{w=e+4|0;x=wa+8|0;y=e+12|0;z=c+36|0;A=e+54|0;B=a+20|0;C=wa+44|0;D=e+50|0;E=wa+48|0;F=m&65535;V=F+8&131064;G=V<<2;H=va+272|0;I=va+276|0;J=e+48|0;K=c+16|0;L=M<<16>>16;N=va+288|0;O=va+300|0;P=wa+56|0;Q=g<<16>>16==0;R=L+49|0;S=wa+20|0;T=va+296|0;U=va+284|0;V=V&65535;W=va+480|0;X=L+31|0;Y=g<<16>>16;Z=va+292|0;_=va+304|0;$=e+52|0;aa=L+1&65535;ca=va+308|0;u=n;l=0;k=0;do{s=d[u+12>>1]|0;v=s&65535;if(s<<16>>16==256){i=d[(f[w>>2]|0)+(Fa<<1)>>1]|0;if(i<<16>>16>-1)i=h[(f[(f[y>>2]|0)+4>>2]|0)+(i<<16>>16<<4)+12>>0]|0;else i=i<<16>>16==-1&1;if(i)i=0;else da=25}else da=25;b:do if((da|0)==25){da=0;r=u+32|0;q=r;o=x;n=f[o>>2]|0;o=f[o+4>>2]|0;if(((n&f[q>>2]|0)==0?(o&f[q+4>>2]|0)==0:0)?(fa=u+10|0,!(s<<16>>16==16&(d[fa>>1]&256)!=0)):0){if(b[z>>0]&8?(f[(f[u>>2]|0)+4>>2]&1|0)==0:0){i=0;break}if((b[A>>0]|0)!=0?((j[D>>1]|0)+-1|0)==(Fa|0):0)i=2;else i=1;f[B>>2]=f[B>>2]|i;f[xa>>2]=ya;d[za>>1]=Aa;d[la>>1]=ma;d[na>>1]=oa;d[Ca>>1]=m;if((m&65535)<(j[C>>1]|0)){q=F;p=m;i=f[E>>2]|0}else{do if(f[H>>2]|0)if(!(b[ta>>0]|0))da=42;else{i=0;break a}else{if(!(0<0|(0==0?(j[I>>1]|0)>>>0>>0:0))){i=f[O>>2]|0;if(i|0){f[O>>2]=f[i>>2];f[U>>2]=(f[U>>2]|0)+1;break}i=f[T>>2]|0;if(!i)i=Z;else{f[T>>2]=f[i>>2];f[U>>2]=(f[U>>2]|0)+1;break}}else i=N;f[i>>2]=(f[i>>2]|0)+1;da=42}while(0);if((da|0)==42){da=0;i=Dc(va,G,0)|0}if(!i){i=0;break a}YA(i|0,f[E>>2]|0,j[C>>1]<<2|0)|0;n=f[E>>2]|0;c:do if((n|0)!=(P|0)){if(f[W>>2]|0){Kc(va,n);break}o=n;do if((f[_>>2]|0)>>>0<=o>>>0){if((f[ca>>2]|0)>>>0<=o>>>0)break;f[n>>2]=f[O>>2];f[O>>2]=n;break c}while(0);if(!n)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{q=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[E>>2]=i;d[C>>1]=V;p=d[Ca>>1]|0;o=x;q=p&65535;n=f[o>>2]|0;o=f[o+4>>2]|0}p=p+1<<16>>16;d[Ca>>1]=p;f[i+(q<<2)>>2]=u;i=r;q=(f[i+4>>2]|ra)&~o;r=wa;f[r>>2]=(f[i>>2]|qa)&~n;f[r+4>>2]=q;d:do if(!(v&1)){if(v&130|0){i=d[(f[w>>2]|0)+(Fa<<1)>>1]|0;n=f[xa>>2]|0;o=n|1;f[xa>>2]=o;do if(i<<16>>16!=-1){if(!(Q&i<<16>>16>-1)){s=0;p=o;break d}i=d[D>>1]|0;if(((i&65535)+-1|0)!=(Fa|0)){s=0;p=o;break d}if((h[sa>>0]|h[sa+1>>0]<<8)&8)break;if(i<<16>>16==1?s<<16>>16==2&(b[A>>0]|0)!=0:0)break;p=n|65537;f[xa>>2]=p;s=0;break d}while(0);p=n|4097;f[xa>>2]=p;s=0;break}if(v&256|0){p=f[xa>>2]|8;f[xa>>2]=p;s=0;break}i=f[xa>>2]|0;if(!(v&36)){f[xa>>2]=i|18;i=(Wn(ka,f[ja>>2]|0,e,Fa,u)|0)&65535;d[na>>1]=i;i=f[xa>>2]|0;if(!(i&32)){l=u;k=0;s=0;p=i;break}l=u;k=f[(f[E>>2]|0)+((j[Ca>>1]|0)+-2<<2)>>2]|0;s=0;p=i;break}f[xa>>2]=i|34;s=(Wn(ka,f[ja>>2]|0,e,Fa,u)|0)&65535;d[la>>1]=s;if(!(d[fa>>1]&256)){l=0;k=u;s=0;p=f[xa>>2]|0;break}l=u+48|0;i=d[Ca>>1]|0;if((i&65535)<(j[C>>1]|0))k=f[E>>2]|0;else{o=(i&65535)+8&131064;n=o<<2;e:do if(f[H>>2]|0)if(!(b[ta>>0]|0))da=116;else{i=0;break a}else{do if(0<0|(0==0?(j[I>>1]|0)>>>0>>0:0))i=N;else{k=f[O>>2]|0;if(k|0){f[O>>2]=f[k>>2];f[U>>2]=(f[U>>2]|0)+1;break e}k=f[T>>2]|0;if(!k){i=Z;break}f[T>>2]=f[k>>2];f[U>>2]=(f[U>>2]|0)+1;break e}while(0);f[i>>2]=(f[i>>2]|0)+1;da=116}while(0);if((da|0)==116){da=0;k=Dc(va,n,0)|0}if(!k){i=0;break a}YA(k|0,f[E>>2]|0,j[C>>1]<<2|0)|0;i=f[E>>2]|0;f:do if((i|0)!=(P|0)){if(f[W>>2]|0){Kc(va,i);break}n=i;do if((f[_>>2]|0)>>>0<=n>>>0){if((f[ca>>2]|0)>>>0<=n>>>0)break;f[i>>2]=f[O>>2];f[O>>2]=i;break f}while(0);if(!i)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{s=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);f[E>>2]=k;d[C>>1]=o;i=d[Ca>>1]|0}d[Ca>>1]=i+1<<16>>16;f[k+((i&65535)<<2)>>2]=l;p=f[xa>>2]|16;f[xa>>2]=p;d[na>>1]=1;k=u;s=0}else{q=f[u>>2]|0;if(!(f[q+4>>2]&2048)){i=f[q+20>>2]|0;if((i|0)!=0?(ga=f[i>>2]|0,(ga|0)!=0):0){n=((ga|0)<0)<<31>>31;do if(ga>>>0<8){if(ga>>>0<2){i=0;break}o=40;i=ga;do{o=(o&65535)+65526|0;i=WA(i|0,n|0,1)|0;n=ba()|0}while(n>>>0<0|(n|0)==0&i>>>0<8);o=o&65535;da=77}else{if(ga>>>0>255){o=40;i=ga;do{o=(o&65535)+40|0;da=i;i=VA(i|0,n|0,4)|0;s=n;n=ba()|0}while(s>>>0>0|(s|0)==0&da>>>0>4095);o=o&65535}else{o=40;i=ga}if(!(n>>>0>0|(n|0)==0&i>>>0>15)){da=77;break}do{o=(o&65535)+10&65535;da=i;i=VA(i|0,n|0,1)|0;s=n;n=ba()|0}while(s>>>0>0|(s|0)==0&da>>>0>31);da=77}while(0);if((da|0)==77){da=0;i=(o&65535)+65526+(j[7936+((i&7)<<1)>>1]|0)|0}r=i<<16>>16}else r=0}else{r=(p&65535)+-1|0;if((p&65535)>1){p=f[E>>2]|0;o=0;i=46;do{n=f[p+(o<<2)>>2]|0;if(n)i=(f[n>>2]|0)==(q|0)?0:i;o=o+1|0}while((o|0)!=(r|0));r=i}else r=46}if((h[sa>>0]|h[sa+1>>0]<<8)&128){q=d[(f[ua>>2]|0)+(Fa<<1)>>1]|0;n=r&65535;if(n<<16>>16<11)i=0;else{i=n<<16>>16;p=((i|0)<0)<<31>>31;if((n&65535)>255){o=40;n=p;do{o=(o&65535)+40|0;s=i;i=VA(i|0,n|0,4)|0;p=n;n=ba()|0}while(p>>>0>0|(p|0)==0&s>>>0>4095);o=o&65535}else{o=40;n=p}if(n>>>0>0|(n|0)==0&i>>>0>15){do{o=(o&65535)+10&65535;s=i;i=VA(i|0,n|0,1)|0;p=n;n=ba()|0}while(p>>>0>0|(p|0)==0&s>>>0>31);n=o}else n=o;i=(n&65535)+65493+(j[7936+((i&7)<<1)>>1]|0)|0}if(((q<<16>>16)+10+(i<<16>>16)|0)<(r+L|0)){i=0;break b}}p=f[xa>>2]|4;f[xa>>2]=p;s=r}while(0);do if(!(p&2)){n=(d[za>>1]|0)+1<<16>>16;d[za>>1]=n;n=n&65535;u=d[u+8>>1]|0;i=u&65535;if(u<<16>>16<1?(d[(f[w>>2]|0)+(Fa<<1)>>1]|0)>-1:0){i=i-s+(j[Da>>1]|0)&65535;da=151;break}i=f[ua>>2]|0;i=(j[i+(n<<1)>>1]|0)-(j[i+(n+-1<<1)>>1]|0)+(j[Da>>1]|0)|0;n=i&65535;d[Da>>1]=n;if(v&256){i=i+10&65535;da=151}}else{i=d[Da>>1]|0;o=i<<16>>16;do if(k){n=d[k+8>>1]|0;if(n<<16>>16<1){i=(n&65535)+(i&65535)&65535;break}else{i=(i&65535)+65516&65535;break}}while(0);do if(l){n=d[l+8>>1]|0;if(n<<16>>16<1){i=(n&65535)+(i&65535)&65535;break}else{i=(i&65535)+65516&65535;break}}while(0);n=(k|0)!=0;do if(n){if(!((l|0)!=0&(d[k+8>>1]|0)>0))break;if((d[l+8>>1]|0)<=0)break;i=(i&65535)+65516&65535}while(0);da=(((l|0)!=0)<<31>>31)+(n<<31>>31)+o|0;i=(i<<16>>16>10?i:10)&65535;i=((da|0)>(i|0)?i:da)&65535;da=151}while(0);if((da|0)==151){da=0;d[Da>>1]=i;n=i}r=n&65535;o=r+1+(((d[J>>1]|0)*15|0)/(d[(f[K>>2]|0)+46>>1]|0)|0)|0;i=o&65535;o=o<<16>>16;do if(M<<16>>16>16){if((R|0)>=(o|0))if((X|0)<(o|0)){i=o+1&65535;break}else{i=o+(h[22960+(o-L)>>0]|0)&65535;break}}else if((o+49|0)>=(L|0))if((o+31|0)<(L|0))i=aa;else i=(h[22960+(L-o)>>0]|0)+L&65535;else i=M;while(0);d[S>>1]=i;if(!(p&320)){q=r+16|0;o=q&65535;p=i<<16>>16;q=q<<16>>16;do if(i<<16>>16>16){if((p+49|0)<(q|0)){i=o;break}if((p+31|0)<(q|0)){i=q+1&65535;break}else{i=q+(h[22960+(q-p)>>0]|0)&65535;break}}else{if((q+49|0)<(p|0))break;if((q+31|0)<(p|0)){i=p+1&65535;break}else{i=(h[22960+(p-q)>>0]|0)+p&65535;break}}while(0);d[S>>1]=i}o=s+Y|0;d[S>>1]=o+(i&65535);d[Da>>1]=o+r;Un(f[ia>>2]|0,wa,ea);i=Rn(a,wa)|0;v=f[xa>>2]|0;d[Da>>1]=(v&2|0)==0?n:Ea;if((v&16|0)==0?(j[za>>1]|0)<(j[$>>1]|0):0)Vn(a,c,e,o&65535)|0;d[Da>>1]=Ea}else i=0}while(0);u=An(ha)|0}while((i|0)==0&(u|0)!=0)}while(0);ka=wa;f[ka>>2]=qa;f[ka+4>>2]=ra;d[za>>1]=Aa;d[la>>1]=ma;d[na>>1]=oa;d[Ba>>1]=pa;f[xa>>2]=ya;d[Da>>1]=Ea;d[Ca>>1]=m;if(Aa<<16>>16!=pa<<16>>16){Fa=i;t=Ga;return Fa|0}p=Fa+1|0;if(p>>>0>=(j[e+50>>1]|0)>>>0){Fa=i;t=Ga;return Fa|0}if((h[sa>>0]|h[sa+1>>0]<<8)&64){Fa=i;t=Ga;return Fa|0}if(d[va+76>>1]&16384){Fa=i;t=Ga;return Fa|0}if((d[(f[ua>>2]|0)+(p<<1)>>1]|0)<=41){Fa=i;t=Ga;return Fa|0}n=wa+44|0;if((m&65535)<(j[n>>1]|0)){n=Aa;o=Aa;i=f[wa+48>>2]|0;k=ya;l=Ea}else{m=(m&65535)+8&131064;l=m<<2;g:do if(f[va+272>>2]|0)if(!(b[ta>>0]|0))da=193;else{Fa=7;t=Ga;return Fa|0}else{do if(!(0<0|(0==0?(j[va+276>>1]|0)>>>0>>0:0))){k=va+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];ta=va+284|0;f[ta>>2]=(f[ta>>2]|0)+1;break g}k=va+296|0;i=f[k>>2]|0;if(!i){i=va+292|0;break}else{f[k>>2]=f[i>>2];ta=va+284|0;f[ta>>2]=(f[ta>>2]|0)+1;break g}}else i=va+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;da=193}while(0);if((da|0)==193)i=Dc(va,l,0)|0;if(!i){Fa=7;t=Ga;return Fa|0}k=wa+48|0;YA(i|0,f[k>>2]|0,j[n>>1]<<2|0)|0;l=f[k>>2]|0;do if((l|0)!=(wa+56|0)){if(f[va+480>>2]|0){Kc(va,l);break}wa=l;if((f[va+304>>2]|0)>>>0<=wa>>>0?(f[va+308>>2]|0)>>>0>wa>>>0:0){wa=va+300|0;f[l>>2]=f[wa>>2];f[wa>>2]=l;break}if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{wa=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-wa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[k>>2]=i;d[n>>1]=m;n=d[za>>1]|0;o=d[Ba>>1]|0;m=d[Ca>>1]|0;k=f[xa>>2]|0;l=d[Da>>1]|0}d[za>>1]=n+1<<16>>16;d[Ba>>1]=o+1<<16>>16;d[Ca>>1]=m+1<<16>>16;f[i+((m&65535)<<2)>>2]=0;f[xa>>2]=k|32768;Ca=f[ua>>2]|0;Fa=(j[Ca+(Fa<<1)>>1]|0)-(j[Ca+(p<<1)>>1]|0)|0;d[Da>>1]=(l&65535)-Fa;Vn(a,c,e,(((Fa<<16)+327680|0)>>>16)+(g&65535)&65535)|0;d[Da>>1]=Ea;d[za>>1]=Aa;d[Ba>>1]=Aa;f[xa>>2]=ya;Fa=0;t=Ga;return Fa|0}function Wn(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=f[i>>2]|0;l=f[m+12>>2]|0;k=b[l>>0]|0;if(k<<24>>24==-92)k=b[l+38>>0]|0;switch(k<<24>>24){case -91:{k=l+20|0;v=6;break}case 127:{k=f[l+20>>2]|0;v=6;break}default:k=1}if((v|0)==6)k=f[f[k>>2]>>2]|0;r=(j[e+52>>1]|0)-g|0;r=(k|0)<(r|0)?k:r;s=e+28|0;if((r|0)<=1){v=1;return v|0}t=e+4|0;u=e+12|0;q=e+32|0;k=1;while(1){o=f[(f[l+20>>2]|0)+4+(k*20|0)>>2]|0;p=f[m+16>>2]|0;l=p+20|0;if(f[p+4>>2]&2048)l=f[l>>2]|0;n=f[(f[l>>2]|0)+4+(k*20|0)>>2]|0;if((b[o>>0]|0)!=-98){v=36;break}if((f[o+28>>2]|0)!=(c|0)){v=36;break}e=d[o+32>>1]|0;p=k+g|0;if(e<<16>>16!=(d[(f[t>>2]|0)+(p<<1)>>1]|0)){v=36;break}m=f[s>>2]|0;if((b[m+p>>0]|0)!=(b[m+g>>0]|0)){v=36;break}l=Yk(o)|0;m=Yk(n)|0;if(l<<24>>24==0|m<<24>>24==0)m=(m|l)<<24>>24==0?65:(m&255)+(l&255)&255;else m=l<<24>>24>66|m<<24>>24>66?67:65;if(e<<16>>16>-1)l=b[(f[(f[u>>2]|0)+4>>2]|0)+(e<<16>>16<<4)+13>>0]|0;else l=68;if(m<<24>>24!=l<<24>>24){v=36;break}do if(!(f[o+4>>2]&256)){if(n|0?f[n+4>>2]&256|0:0){l=Zk(a,n)|0;v=29;break}l=Zk(a,o)|0;if(!l){l=Zk(a,n)|0;v=29}}else{l=Zk(a,o)|0;v=29}while(0);if((v|0)==29){v=0;if(!l){v=36;break}}m=f[l>>2]|0;e=f[(f[q>>2]|0)+(p<<2)>>2]|0;p=b[m>>0]|0;l=(h[1232+(p&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0;if(!(p<<24>>24==0|(l|0)!=0))do{m=m+1|0;e=e+1|0;p=b[m>>0]|0;l=(h[1232+(p&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0}while(!(p<<24>>24==0|(l|0)!=0));if(l|0){v=36;break}k=k+1|0;if((k|0)>=(r|0)){v=36;break}m=f[i>>2]|0;l=f[m+12>>2]|0}if((v|0)==36)return k|0;return 0}function Xn(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0;if(!(Ck(a,c,d,e)|0)){e=1;return e|0}g=b[d>>0]|0;do if(g<<24>>24==43){if(Xn(a,c,f[d+12>>2]|0,e)|0){e=1;return e|0}if(!(Xn(a,c,f[d+16>>2]|0,e)|0)){g=b[d>>0]|0;break}else{e=1;return e|0}}while(0);a:do if(g<<24>>24==51){switch(b[c>>0]|0){case 45:case 50:break a;default:{}}g=f[c+12>>2]|0;b:do if(!g)g=0;else while(1){c=f[g+4>>2]|0;if(!(c&4096))break b;if(!(c&262144))g=g+12|0;else g=(f[g+20>>2]|0)+4|0;g=f[g>>2]|0;if(!g){g=0;break}}while(0);if(!(Ck(a,g,f[d+12>>2]|0,e)|0)){e=1;return e|0}}while(0);e=0;return e|0}function Yn(a,c,e,g,i,k,l,m,n){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,q=0.0,r=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,U=0,W=0;S=t;t=t+32|0;N=S+24|0;K=S+16|0;w=S+8|0;x=S;A=f[a+4>>2]|0;E=f[l+16>>2]|0;R=f[a+12>>2]|0;u=f[a>>2]|0;M=f[u>>2]|0;u=f[u+4>>2]|0;v=h[R+16>>0]|0;F=f[l>>2]|0;f[n>>2]=0;B=R;f[B>>2]=c;f[B+4>>2]=e;B=l+4|0;y=(F|0)>0;if(y){o=f[A+20>>2]|0;c=f[B>>2]|0;e=0;while(1){Q=f[c+8>>2]|0;r=c+5|0;b[r>>0]=0;O=o+(Q*48|0)+32|0;L=f[O>>2]|0;O=f[O+4>>2]|0;if((L&g|0)==(L|0)&(O&i|0)==(O|0)?(d[o+(Q*48|0)+12>>1]&k)<<16>>16==0:0)b[r>>0]=1;e=e+1|0;if((e|0)==(F|0))break;else c=c+12|0}}_A(E|0,0,F<<3|0)|0;I=l+24|0;f[I>>2]=0;D=l+20|0;f[D>>2]=0;J=l+32|0;f[J>>2]=0;L=l+40|0;p[L>>3]=5.e+98;O=l+48|0;Q=O;f[Q>>2]=25;f[Q+4>>2]=0;Q=l+56|0;f[Q>>2]=0;e=u+8+(v*72|0)+56|0;c=f[e+4>>2]|0;C=l+64|0;f[C>>2]=f[e>>2];f[C+4>>2]=c;C=u+8+(v*72|0)+16|0;c=f[(f[C>>2]|0)+64>>2]|0;e=f[M>>2]|0;if((f[c>>2]|0)!=(e|0))do c=f[c+24>>2]|0;while((f[c>>2]|0)!=(e|0));o=f[c+8>>2]|0;r=jb[f[(f[o>>2]|0)+12>>2]&255](o,l)|0;a:do switch(r|0){case 0:case 19:break;case 7:{c=f[M>>2]|0;e=c+81|0;if((b[e>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;z=c+272|0;f[z>>2]=(f[z>>2]|0)+1}break}default:{c=f[o+8>>2]|0;if(c|0){f[w>>2]=c;ni(M,40840,w);break a}switch(r|0){case 516:{c=44816;break}case 100:{c=44794;break}case 101:{c=44771;break}default:{c=r&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7984+(c<<2)>>2]|0;else c=44757}}f[x>>2]=c;ni(M,40840,x)}}while(0);c=o+8|0;e=f[c>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{z=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[c>>2]=0;switch(r|0){case 0:{do if(y){e=R+48|0;c=0;do{f[(f[e>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(F|0));z=R+24|0;c=R+30|0;d[c>>1]=0;if(y){x=A+12|0;y=R+48|0;w=A+20|0;r=-1;u=f[B>>2]|0;v=0;while(1){o=f[E+(v<<3)>>2]|0;g=o+-1|0;if((o|0)>0){i=f[u+8>>2]|0;if((o|0)>(F|0)|(i|0)<0)break;if((i|0)>=(f[x>>2]|0))break;e=(f[y>>2]|0)+(g<<2)|0;if(f[e>>2]|0)break;if(!(b[u+5>>0]|0))break;k=f[w>>2]|0;U=k+(i*48|0)+32|0;W=R;A=f[W+4>>2]|f[U+4>>2];B=R;f[B>>2]=f[W>>2]|f[U>>2];f[B+4>>2]=A;f[e>>2]=k+(i*48|0);r=(g|0)>(r|0)?g:r;if((o|0)<17?b[E+(v<<3)+4>>0]|0:0)d[c>>1]=1<>1];if(d[k+(i*48|0)+12>>1]&1){f[J>>2]=0;f[Q>>2]=f[Q>>2]&-2;f[n>>2]=1}}v=v+1|0;if((v|0)>=(F|0)){P=49;break}else u=u+12|0}if((P|0)==49){e=d[c>>1]|0;o=z;g=z;break}f[K>>2]=f[f[C>>2]>>2];ni(M,56880,K);W=1;t=S;return W|0}else{r=-1;e=0;o=z;g=z}}else{g=R+24|0;c=R+30|0;d[c>>1]=0;r=-1;e=0;o=g}while(0);d[c>>1]=e&~m;d[R+40>>1]=r+1;b:do if((r|0)>=0){e=f[R+48>>2]|0;c=0;while(1){if(!(f[e+(c<<2)>>2]|0))break;if((c|0)<(r|0))c=c+1|0;else break b}f[N>>2]=f[f[C>>2]>>2];ni(M,56880,N);W=1;t=S;return W|0}while(0);f[o>>2]=f[D>>2];r=l+28|0;i=R+28|0;b[i>>0]=f[r>>2];f[r>>2]=0;r=R+32|0;f[r>>2]=f[I>>2];if(!(f[J>>2]|0))c=0;else c=f[l+8>>2]&255;b[g+5>>0]=c;d[R+18>>1]=0;q=+p[L>>3];p[s>>3]=q;c=f[s>>2]|0;e=f[s+4>>2]|0;do if(!(q<=1.0)){if(!(q<=2.0e9)){c=VA(c|0,e|0,52)|0;ba()|0;c=(c*10|0)+55316&65535;break}c=~~q>>>0;e=+H(q)>=1.0?(q>0.0?~~+V(+G(q/4294967296.0),4294967295.0)>>>0:~~+T((q-+(~~q>>>0))/4294967296.0)>>>0):0;if(!(e>>>0<0|(e|0)==0&c>>>0<8)){if(e>>>0>0|(e|0)==0&c>>>0>255){o=40;do{o=(o&65535)+40|0;W=c;c=VA(c|0,e|0,4)|0;U=e;e=ba()|0}while(U>>>0>0|(U|0)==0&W>>>0>4095);o=o&65535}else o=40;if(e>>>0>0|(e|0)==0&c>>>0>15)do{o=(o&65535)+10&65535;W=c;c=VA(c|0,e|0,1)|0;U=e;e=ba()|0}while(U>>>0>0|(U|0)==0&W>>>0>31)}else{if(e>>>0<0|(e|0)==0&c>>>0<2){c=0;break}o=40;do{o=(o&65535)+65526|0;c=WA(c|0,e|0,1)|0;e=ba()|0}while(e>>>0<0|(e|0)==0&c>>>0<8);o=o&65535}c=(o&65535)+65526+(j[7936+((c&7)<<1)>>1]|0)&65535}else c=0;while(0);d[R+20>>1]=c;e=O;c=f[e>>2]|0;e=f[e+4>>2]|0;if(e>>>0<0|(e|0)==0&c>>>0<8)if(e>>>0<0|(e|0)==0&c>>>0<2)c=0;else{o=40;do{o=(o&65535)+65526|0;c=WA(c|0,e|0,1)|0;e=ba()|0}while(e>>>0<0|(e|0)==0&c>>>0<8);o=o&65535;P=87}else{if(e>>>0>0|(e|0)==0&c>>>0>255){o=40;do{o=(o&65535)+40|0;W=c;c=VA(c|0,e|0,4)|0;U=e;e=ba()|0}while(U>>>0>0|(U|0)==0&W>>>0>4095);o=o&65535}else o=40;if(e>>>0>0|(e|0)==0&c>>>0>15){do{o=(o&65535)+10&65535;W=c;c=VA(c|0,e|0,1)|0;U=e;e=ba()|0}while(U>>>0>0|(U|0)==0&W>>>0>31);P=87}else P=87}if((P|0)==87)c=(o&65535)+65526+(j[7936+((c&7)<<1)>>1]|0)&65535;d[R+22>>1]=c;e=R+36|0;W=f[e>>2]|0;f[e>>2]=(f[Q>>2]&1|0)==0?W&-4097:W|4096;e=Rn(a,R)|0;if(!(b[i>>0]|0)){W=e;t=S;return W|0}c=f[r>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{W=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-W;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);b[i>>0]=0;W=e;t=S;return W|0}case 19:{W=0;t=S;return W|0}default:{W=r;t=S;return W|0}}return 0}function Zn(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(c>>>0>0|(c|0)==0&b>>>0>1){h=0;do{h=h+1|0;m=b;b=VA(b|0,c|0,1)|0;l=c;c=ba()|0}while(l>>>0>0|(l|0)==0&m>>>0>3)}else h=0;m=f[a+8+(h*72|0)+40>>2]|0;h=f[(f[a+8+(h*72|0)+16>>2]|0)+8>>2]|0;if(!h){p=0;return p|0}l=(g|0)==0;a:while(1){j=h+40|0;b:do if(f[j>>2]|0?(n=h+50|0,o=d[n>>1]|0,o<<16>>16):0){k=h+4|0;if(l){a=0;b=o;while(1){if((d[(f[k>>2]|0)+(a<<1)>>1]|0)==-2){b=f[(f[j>>2]|0)+4+(a*20|0)>>2]|0;c:do if(!b)b=0;else while(1){c=f[b+4>>2]|0;if(!(c&4096))break c;if(!(c&262144))b=b+12|0;else b=(f[b+20>>2]|0)+4|0;b=f[b>>2]|0;if(!b){b=0;break}}while(0);if(!(Ck(0,0,b,m)|0))break a;b=d[n>>1]|0}a=a+1|0;if(a>>>0>=(b&65535)>>>0)break b}}i=0;b=o;do{if((d[(f[k>>2]|0)+(i<<1)>>1]|0)==-2){b=f[(f[j>>2]|0)+4+(i*20|0)>>2]|0;c=g;while(1){a=f[c+4>>2]|0;if(!(a&4096))break;if(!(a&262144))c=c+12|0;else c=(f[c+20>>2]|0)+4|0;c=f[c>>2]|0;if(!c){c=0;break}}d:do if(!b)b=0;else while(1){a=f[b+4>>2]|0;if(!(a&4096))break d;if(!(a&262144))b=b+12|0;else b=(f[b+20>>2]|0)+4|0;b=f[b>>2]|0;if(!b){b=0;break}}while(0);if(!(Ck(0,c,b,m)|0))break a;b=d[n>>1]|0}i=i+1|0}while(i>>>0<(b&65535)>>>0)}while(0);h=f[h+20>>2]|0;if(!h){h=0;p=41;break}}if((p|0)==41)return h|0;f[e>>2]=m;f[e+4>>2]=-2;p=1;return p|0}function _n(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=(c|0)<(e|0)?c:e;g=Hz(d,f,h)|0;if(g|0){e=g;return e|0}if(a|0){g=d+h|0;a=c-h|0;a:do if((a|0)>0)while(1){d=a+-1|0;if((b[g+d>>0]|0)!=32)break a;if((a|0)>1)a=d;else{a=d;break}}while(0);if(!a){g=f+h|0;a=e-h|0;b:do if((a|0)>0)while(1){d=a+-1|0;if((b[g+d>>0]|0)!=32)break b;if((a|0)>1)a=d;else{a=d;break}}while(0);if(!a){e=0;return e|0}}}e=c-e|0;return e|0}function $n(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=d[e+12>>1]|0;i=d[g+12>>1]|0;j=i|h;if((h&62)==0|(i&62)==0)return;i=j&65535;if(!((i&26|0)==(i|0)|(i&38|0)==(i|0)))return;if(Ck(0,f[(f[e>>2]|0)+12>>2]|0,f[(f[g>>2]|0)+12>>2]|0,-1)|0)return;if(Ck(0,f[(f[e>>2]|0)+16>>2]|0,f[(f[g>>2]|0)+16>>2]|0,-1)|0)return;e=f[e>>2]|0;if(!e)return;h=Bk(f[f[f[c>>2]>>2]>>2]|0,e,0,0)|0;if(!h)return;g=((i+65535&i|0)==0?j:(i&24|0)==0?32:8)&65535;e=53;while(1)if((2<>0]=e;yn(a,c,xn(c,h,3)|0);return}function ao(a,c){a=a|0;c=c|0;if((b[c>>0]|0)!=-98)return 0;c=d[c+32>>1]|0;if(c<<16>>16<=-1){a=a+20|0;b[a>>0]=b[a>>0]|2;return 0}if((f[(f[a+24>>2]|0)+(c<<16>>16<<2)>>2]|0)<=-1)return 0;a=a+20|0;b[a>>0]=b[a>>0]|1;return 0}function bo(a,c,e,g,i,k,l,m,n,o,p){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;L=a+8|0;M=f[L>>2]|0;K=M+12|0;q=f[K>>2]|0;w=q+60|0;N=f[w>>2]|0;f[w>>2]=N+1;w=q+64|0;if(!(N+-1&N)){u=N<<3|4;v=f[q>>2]|0;q=f[w>>2]|0;a:do if(q){s=q;t=v+304|0;if(((f[t>>2]|0)>>>0<=s>>>0?(f[v+308>>2]|0)>>>0>s>>>0:0)?!(0<0|(0==0?(j[v+276>>1]|0)>>>0>>0:0)):0)break;r=Lc(v,q,u,0)|0;if(!r){if(f[v+480>>2]|0){Kc(v,q);q=0;break}if((f[t>>2]|0)>>>0<=s>>>0?(f[v+308>>2]|0)>>>0>s>>>0:0){J=v+300|0;f[q>>2]=f[J>>2];f[J>>2]=q;q=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](q);q=0;break}else{J=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);q=0;break}}else q=r}else{if(f[v+272>>2]|0){if(b[v+81>>0]|0){q=0;break}}else{do if(!(0<0|(0==0?(j[v+276>>1]|0)>>>0>>0:0))){r=v+300|0;q=f[r>>2]|0;if(q|0){f[r>>2]=f[q>>2];J=v+284|0;f[J>>2]=(f[J>>2]|0)+1;break a}r=v+296|0;q=f[r>>2]|0;if(!q){q=v+292|0;break}else{f[r>>2]=f[q>>2];J=v+284|0;f[J>>2]=(f[J>>2]|0)+1;break a}}else q=v+288|0;while(0);f[q>>2]=(f[q>>2]|0)+1}q=Dc(v,u,0)|0}while(0);f[w>>2]=q}else q=f[w>>2]|0;if(q|0)f[q+(N<<2)>>2]=-1;J=~N;F=(f[c+36>>2]&32|0)==0?31:28;G=o<<24>>24==0;if(G){r=M+136|0;q=f[r>>2]|0;if((f[(f[K>>2]|0)+48>>2]|0)>(q|0)){f[r>>2]=q+1;I=f[M+88>>2]|0;b[I+(q*20|0)>>0]=F;d[I+(q*20|0)+2>>1]=0;f[I+(q*20|0)+4>>2]=g;f[I+(q*20|0)+8>>2]=J;f[I+(q*20|0)+12>>2]=k;f[I+(q*20|0)+16>>2]=0;b[I+(q*20|0)+1>>0]=0}else q=tl(M,F&255,g,J,k)|0;if(!(b[(f[M>>2]|0)+81>>0]|0)){I=f[M+88>>2]|0;b[I+(q*20|0)+1>>0]=-3;f[I+(q*20|0)+16>>2]=l<<16>>16}}if(!(0==0?(f[(f[a>>2]|0)+32>>2]&16384|0)==0:0)){w=f[c>>2]|0;t=f[c+72>>2]|0;u=f[t+68>>2]|0;if(!u){r=t+60|0;q=t+64|0}else{r=b[w>>0]|0;if(!(r<<24>>24))q=0;else{q=0;s=w;do{s=s+1|0;q=U(q+(h[1232+(r&255)>>0]|0)|0,-1640531535)|0;r=b[s>>0]|0}while(r<<24>>24!=0)}q=(q>>>0)%((f[t+56>>2]|0)>>>0)|0;r=u+(q<<3)|0;q=u+(q<<3)+4|0}r=f[r>>2]|0;b:do if(!r)q=72124;else{v=h[1232+(h[w>>0]|0)>>0]|0;while(1){q=f[q>>2]|0;r=r+-1|0;t=f[q+12>>2]|0;I=b[t>>0]|0;s=(h[1232+(I&255)>>0]|0)-v|0;if(!(I<<24>>24==0|(s|0)!=0)){u=w;do{t=t+1|0;u=u+1|0;I=b[t>>0]|0;s=(h[1232+(I&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0}while(!(I<<24>>24==0|(s|0)!=0))}if(!s)break b;if(!r){q=72124;break}}}while(0);if(!(f[q+8>>2]|0)){q=(f[c+16>>2]|0)!=0&1;I=52}else I=53}else{q=0;I=52}if((I|0)==52)if((e|0)!=0|(q|0)!=0)I=53;else{D=0;u=p}if((I|0)==53){E=n&255;u=(e|0)==0;if(u)q=0;else{t=a+116|0;q=0;s=e;do{do if((b[s+8>>0]|0)==117?(b[s+9>>0]&3)!=0:0){r=f[t>>2]|0;r=f[((r|0)==0?a:r)+256>>2]|0;c:do if(!r)I=62;else while(1){if((f[r>>2]|0)==(s|0)?(f[r+12>>2]|0)==(E|0):0)break c;r=f[r+4>>2]|0;if(!r){I=62;break}}while(0);if((I|0)==62){I=0;r=ln(a,s,c,E)|0;if(!r)break}q=f[r+16>>2]|q}while(0);s=f[s+32>>2]|0}while((s|0)!=0)}s=eo(a,c)|0|q;B=a+44|0;D=(f[B>>2]|0)+1|0;t=c+42|0;f[B>>2]=D+(d[t>>1]|0);C=M+136|0;q=f[C>>2]|0;if((f[(f[K>>2]|0)+48>>2]|0)>(q|0)){f[C>>2]=q+1;A=f[M+88>>2]|0;b[A+(q*20|0)>>0]=78;d[A+(q*20|0)+2>>1]=0;f[A+(q*20|0)+4>>2]=k;f[A+(q*20|0)+8>>2]=D;f[A+(q*20|0)+12>>2]=0;f[A+(q*20|0)+16>>2]=0;b[A+(q*20|0)+1>>0]=0}else tl(M,78,k,D,0)|0;q=d[t>>1]|0;d:do if(q<<16>>16>0){if((s|0)==-1){q=0;while(1){A=q;q=q+1|0;Am(M,c,g,A,q+D|0);if((q|0)>=(d[t>>1]|0))break d}}r=0;do{if(r>>>0<32?(1<>1]|0}r=r+1|0}while((r|0)<(q<<16>>16|0))}while(0);A=f[C>>2]|0;if(u)q=A;else{y=a+116|0;z=a+23|0;x=e;do{do if((b[x+8>>0]|0)==117?(b[x+9>>0]|0)==1:0){q=f[L>>2]|0;if(!q){if((f[y>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[z>>0]=1;q=sl(a)|0}r=f[y>>2]|0;r=f[((r|0)==0?a:r)+256>>2]|0;e:do if(!r)I=91;else while(1){if((f[r>>2]|0)==(x|0)?(f[r+12>>2]|0)==(E|0):0)break e;r=f[r+4>>2]|0;if(!r){I=91;break}}while(0);if((I|0)==91){I=0;r=ln(a,x,c,E)|0;if(!r)break}if(!(f[x>>2]|0))w=0;else{w=(f[a>>2]|0)+32|0;w=VA(f[w>>2]|0,f[w+4>>2]|0,13)|0;ba()|0;w=w&1^1}s=(f[B>>2]|0)+1|0;f[B>>2]=s;u=f[r+8>>2]|0;v=q+136|0;r=f[v>>2]|0;if((f[(f[q+12>>2]|0)+48>>2]|0)>(r|0)){f[v>>2]=r+1;t=f[q+88>>2]|0;b[t+(r*20|0)>>0]=45;d[t+(r*20|0)+2>>1]=0;f[t+(r*20|0)+4>>2]=D;f[t+(r*20|0)+8>>2]=J;f[t+(r*20|0)+12>>2]=s;f[t+(r*20|0)+16>>2]=0;b[t+(r*20|0)+1>>0]=0}else r=tl(q,45,D,J,s)|0;do if(!(b[(f[q>>2]|0)+81>>0]|0)){if((r|0)<0)r=(f[v>>2]|0)+-1|0;s=f[q+88>>2]|0;t=s+(r*20|0)+1|0;if(b[t>>0]|0){ul(q,s+(r*20|0)|0,u,-4);break}if(!u)break;f[s+(r*20|0)+16>>2]=u;b[t>>0]=-4}while(0);r=f[v>>2]|0;if((r|0)>0)d[(f[q+88>>2]|0)+((r+-1|0)*20|0)+2>>1]=w}while(0);x=f[x+32>>2]|0}while((x|0)!=0);q=f[C>>2]|0}if((A|0)<(q|0)){if((f[(f[K>>2]|0)+48>>2]|0)>(q|0)){f[C>>2]=q+1;p=f[M+88>>2]|0;b[p+(q*20|0)>>0]=F;d[p+(q*20|0)+2>>1]=0;f[p+(q*20|0)+4>>2]=g;f[p+(q*20|0)+8>>2]=J;f[p+(q*20|0)+12>>2]=k;f[p+(q*20|0)+16>>2]=0;b[p+(q*20|0)+1>>0]=0}else q=tl(M,F&255,g,J,k)|0;if(!(b[(f[M>>2]|0)+81>>0]|0)){p=f[M+88>>2]|0;b[p+(q*20|0)+1>>0]=-3;f[p+(q*20|0)+16>>2]=l<<16>>16;q=-1}else q=-1}else q=p;nn(a,c,D,0,0,0);u=q}if(!(f[c+12>>2]|0)){co(a,c,g,i,0,u);q=m<<24>>24!=0&1;t=M+136|0;r=f[t>>2]|0;if((f[(f[K>>2]|0)+48>>2]|0)>(r|0)){f[t>>2]=r+1;m=f[M+88>>2]|0;b[m+(r*20|0)>>0]=124;d[m+(r*20|0)+2>>1]=0;f[m+(r*20|0)+4>>2]=g;f[m+(r*20|0)+8>>2]=q;f[m+(r*20|0)+12>>2]=0;f[m+(r*20|0)+16>>2]=0;b[m+(r*20|0)+1>>0]=0}else tl(M,124,g,q,0)|0;if(b[a+18>>0]|0){r=f[c>>2]|0;if(r|0){m=b[r>>0]|0;q=(h[1232+(m&255)>>0]|0)+-115|0;if(!(m<<24>>24==0|(q|0)!=0)){s=45954;do{r=r+1|0;s=s+1|0;m=b[r>>0]|0;q=(h[1232+(m&255)>>0]|0)-(h[1232+(h[s>>0]|0)>>0]|0)|0}while(!(m<<24>>24==0|(q|0)!=0))}if(!q)I=125}}else I=125;if((I|0)==125?(b[(f[M>>2]|0)+81>>0]|0)==0:0){i=f[M+88>>2]|0;m=(f[t>>2]|0)+-1|0;b[i+(m*20|0)+1>>0]=-6;f[i+(m*20|0)+16>>2]=c}if(!G?(H=f[t>>2]|0,(H|0)>0):0)d[(f[M+88>>2]|0)+((H+-1|0)*20|0)+2>>1]=4;do if(!((u|0)<0|(u|0)==(g|0))){q=f[t>>2]|0;if((f[(f[K>>2]|0)+48>>2]|0)>(q|0)){f[t>>2]=q+1;H=f[M+88>>2]|0;b[H+(q*20|0)>>0]=124;d[H+(q*20|0)+2>>1]=0;f[H+(q*20|0)+4>>2]=u;f[H+(q*20|0)+8>>2]=0;f[H+(q*20|0)+12>>2]=0;f[H+(q*20|0)+16>>2]=0;b[H+(q*20|0)+1>>0]=0;break}else{tl(M,124,u,0,0)|0;break}}while(0);q=f[t>>2]|0;if((q|0)>0)d[(f[M+88>>2]|0)+((q+-1|0)*20|0)+2>>1]=o<<24>>24==2?2:0}if(!(0==0?(f[(f[a>>2]|0)+32>>2]&16384|0)==0:0)){w=f[c>>2]|0;t=f[c+72>>2]|0;u=f[t+68>>2]|0;if(!u){r=t+60|0;q=t+64|0}else{r=b[w>>0]|0;if(!(r<<24>>24))q=0;else{q=0;s=w;do{s=s+1|0;q=U(q+(h[1232+(r&255)>>0]|0)|0,-1640531535)|0;r=b[s>>0]|0}while(r<<24>>24!=0)}q=(q>>>0)%((f[t+56>>2]|0)>>>0)|0;r=u+(q<<3)|0;q=u+(q<<3)+4|0}r=f[r>>2]|0;f:do if(!r)q=72124;else{v=h[1232+(h[w>>0]|0)>>0]|0;while(1){q=f[q>>2]|0;r=r+-1|0;t=f[q+12>>2]|0;o=b[t>>0]|0;s=(h[1232+(o&255)>>0]|0)-v|0;if(!(o<<24>>24==0|(s|0)!=0)){u=w;do{t=t+1|0;u=u+1|0;o=b[t>>0]|0;s=(h[1232+(o&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0}while(!(o<<24>>24==0|(s|0)!=0))}if(!s)break f;if(!r){q=72124;break}}}while(0);q=f[q+8>>2]|0;if(q|0){y=a+116|0;z=a+23|0;A=a+44|0;do{t=fo(a,c,q,0)|0;do if(t|0){r=f[L>>2]|0;if(!r){if((f[y>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[z>>0]=1;r=sl(a)|0}s=f[y>>2]|0;s=f[((s|0)==0?a:s)+256>>2]|0;g:do if(!s)I=163;else while(1){if((f[s>>2]|0)==(t|0)?(f[s+12>>2]|0)==2:0)break g;s=f[s+4>>2]|0;if(!s){I=163;break}}while(0);if((I|0)==163){I=0;s=ln(a,t,c,2)|0;if(!s)break}if(!(f[t>>2]|0))x=0;else{x=(f[a>>2]|0)+32|0;x=VA(f[x>>2]|0,f[x+4>>2]|0,13)|0;ba()|0;x=x&1^1}t=(f[A>>2]|0)+1|0;f[A>>2]=t;v=f[s+8>>2]|0;w=r+136|0;s=f[w>>2]|0;if((f[(f[r+12>>2]|0)+48>>2]|0)>(s|0)){f[w>>2]=s+1;o=f[r+88>>2]|0;b[o+(s*20|0)>>0]=45;d[o+(s*20|0)+2>>1]=0;f[o+(s*20|0)+4>>2]=D;f[o+(s*20|0)+8>>2]=0;f[o+(s*20|0)+12>>2]=t;f[o+(s*20|0)+16>>2]=0;b[o+(s*20|0)+1>>0]=0}else s=tl(r,45,D,0,t)|0;do if(!(b[(f[r>>2]|0)+81>>0]|0)){if((s|0)<0)s=(f[w>>2]|0)+-1|0;t=f[r+88>>2]|0;u=t+(s*20|0)+1|0;if(b[u>>0]|0){ul(r,t+(s*20|0)|0,v,-4);break}if(!v)break;f[t+(s*20|0)+16>>2]=v;b[u>>0]=-4}while(0);s=f[w>>2]|0;if((s|0)>0)d[(f[r+88>>2]|0)+((s+-1|0)*20|0)+2>>1]=x}while(0);q=f[q+12>>2]|0}while((q|0)!=0)}}y=n&255;if(e|0){z=a+116|0;A=a+23|0;B=a+44|0;x=e;do{do if((b[x+8>>0]|0)==117?(b[x+9>>0]|0)==2:0){q=f[L>>2]|0;if(!q){if((f[z>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[A>>0]=1;q=sl(a)|0}r=f[z>>2]|0;r=f[((r|0)==0?a:r)+256>>2]|0;h:do if(!r)I=193;else while(1){if((f[r>>2]|0)==(x|0)?(f[r+12>>2]|0)==(y|0):0)break h;r=f[r+4>>2]|0;if(!r){I=193;break}}while(0);if((I|0)==193){I=0;r=ln(a,x,c,y)|0;if(!r)break}if(!(f[x>>2]|0))w=0;else{w=(f[a>>2]|0)+32|0;w=VA(f[w>>2]|0,f[w+4>>2]|0,13)|0;ba()|0;w=w&1^1}s=(f[B>>2]|0)+1|0;f[B>>2]=s;u=f[r+8>>2]|0;v=q+136|0;r=f[v>>2]|0;if((f[(f[q+12>>2]|0)+48>>2]|0)>(r|0)){f[v>>2]=r+1;e=f[q+88>>2]|0;b[e+(r*20|0)>>0]=45;d[e+(r*20|0)+2>>1]=0;f[e+(r*20|0)+4>>2]=D;f[e+(r*20|0)+8>>2]=J;f[e+(r*20|0)+12>>2]=s;f[e+(r*20|0)+16>>2]=0;b[e+(r*20|0)+1>>0]=0}else r=tl(q,45,D,J,s)|0;do if(!(b[(f[q>>2]|0)+81>>0]|0)){if((r|0)<0)r=(f[v>>2]|0)+-1|0;s=f[q+88>>2]|0;t=s+(r*20|0)+1|0;if(b[t>>0]|0){ul(q,s+(r*20|0)|0,u,-4);break}if(!u)break;f[s+(r*20|0)+16>>2]=u;b[t>>0]=-4}while(0);r=f[v>>2]|0;if((r|0)>0)d[(f[q+88>>2]|0)+((r+-1|0)*20|0)+2>>1]=w}while(0);x=f[x+32>>2]|0}while((x|0)!=0)}q=f[(f[K>>2]|0)+64>>2]|0;if(!q)return;f[q+(N<<2)>>2]=f[M+136>>2];return}function co(a,c,e,g,i,k){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+16|0;A=D;B=a+8|0;C=f[B>>2]|0;o=f[c+8>>2]|0;a:do if(!(f[c+36>>2]&32))c=0;else{if(!o){t=D;return}c=o;while(1){z=c+55|0;if(((h[z>>0]|h[z+1>>0]<<8)&3)==2)break a;c=f[c+20>>2]|0;if(!c){c=0;break}}}while(0);if(!o){t=D;return}x=C+136|0;y=C+12|0;z=C+88|0;if(!i){l=-1;m=0;p=0;while(1){if((o|0)!=(c|0)?(q=p+g|0,(q|0)!=(k|0)):0){n=xm(a,o,e,0,1,A,m,l)|0;l=o+55|0;l=j[(((h[l>>0]|h[l+1>>0]<<8)&8)==0?o+52|0:o+50|0)>>1]|0;m=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(m|0)){f[x>>2]=m+1;w=f[z>>2]|0;b[w+(m*20|0)>>0]=-122;d[w+(m*20|0)+2>>1]=0;f[w+(m*20|0)+4>>2]=q;f[w+(m*20|0)+8>>2]=n;f[w+(m*20|0)+12>>2]=l;f[w+(m*20|0)+16>>2]=0;b[w+(m*20|0)+1>>0]=0}else tl(C,134,q,n,l)|0;l=f[A>>2]|0;if((l|0)!=0?(r=f[B>>2]|0,s=f[(f[r+12>>2]|0)+64>>2]|0,(s|0)!=0):0){f[s+(~l<<2)>>2]=f[r+136>>2];l=n;m=o}else{l=n;m=o}}o=f[o+20>>2]|0;if(!o)break;else p=p+1|0}t=D;return}else{l=-1;m=0;p=0;while(1){if(!((o|0)==(c|0)?1:(f[i+(p<<2)>>2]|0)==0)?(u=p+g|0,(u|0)!=(k|0)):0){n=xm(a,o,e,0,1,A,m,l)|0;l=o+55|0;l=j[(((h[l>>0]|h[l+1>>0]<<8)&8)==0?o+52|0:o+50|0)>>1]|0;m=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(m|0)){f[x>>2]=m+1;s=f[z>>2]|0;b[s+(m*20|0)>>0]=-122;d[s+(m*20|0)+2>>1]=0;f[s+(m*20|0)+4>>2]=u;f[s+(m*20|0)+8>>2]=n;f[s+(m*20|0)+12>>2]=l;f[s+(m*20|0)+16>>2]=0;b[s+(m*20|0)+1>>0]=0}else tl(C,134,u,n,l)|0;l=f[A>>2]|0;if((l|0)!=0?(v=f[B>>2]|0,w=f[(f[v+12>>2]|0)+64>>2]|0,(w|0)!=0):0){f[w+(~l<<2)>>2]=f[v+136>>2];l=n;m=o}else{l=n;m=o}}o=f[o+20>>2]|0;if(!o)break;else p=p+1|0}t=D;return}}function eo(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=t;t=t+16|0;o=q;if(0==0?(f[(f[a>>2]|0)+32>>2]&16384|0)==0:0){p=0;t=q;return p|0}e=f[c+16>>2]|0;if(!e)e=0;else{j=e;e=0;do{i=f[j+20>>2]|0;if((i|0)>0){g=0;do{n=f[j+36+(g<<3)>>2]|0;e=((n|0)>31?-1:1<>2]|0}while((j|0)!=0)}n=f[c>>2]|0;k=f[c+72>>2]|0;l=f[k+68>>2]|0;if(!l){i=k+60|0;g=k+64|0}else{i=b[n>>0]|0;if(!(i<<24>>24))g=0;else{g=0;j=n;do{j=j+1|0;g=U(g+(h[1232+(i&255)>>0]|0)|0,-1640531535)|0;i=b[j>>0]|0}while(i<<24>>24!=0)}g=(g>>>0)%((f[k+56>>2]|0)>>>0)|0;i=l+(g<<3)|0;g=l+(g<<3)+4|0}i=f[i>>2]|0;a:do if(!i)g=72124;else{m=h[1232+(h[n>>0]|0)>>0]|0;while(1){g=f[g>>2]|0;i=i+-1|0;k=f[g+12>>2]|0;l=b[k>>0]|0;j=(h[1232+(l&255)>>0]|0)-m|0;if(!(l<<24>>24==0|(j|0)!=0)){l=n;do{k=k+1|0;l=l+1|0;r=b[k>>0]|0;j=(h[1232+(r&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(r<<24>>24==0|(j|0)!=0))}if(!j)break a;if(!i){g=72124;break}}}while(0);g=f[g+8>>2]|0;if(!g){r=e;t=q;return r|0}do{f[o>>2]=0;Ym(a,c,g,o,0)|0;i=f[o>>2]|0;if((i|0)!=0?(p=d[i+50>>1]|0,p<<16>>16!=0):0){j=f[i+4>>2]|0;k=p&65535;i=0;do{r=d[j+(i<<1)>>1]|0;e=(r<<16>>16>31?-1:1<<(r<<16>>16))|e;i=i+1|0}while(i>>>0>>0)}g=f[g+12>>2]|0}while((g|0)!=0);t=q;return e|0}function fo(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ka=t;t=t+96|0;fa=ka+72|0;Z=ka+64|0;Y=ka+56|0;$=ka+48|0;_=ka+40|0;X=ka+32|0;W=ka+24|0;da=ka+16|0;T=ka+92|0;aa=ka+88|0;ea=ka+8|0;U=ka;V=ka+80|0;ja=f[a>>2]|0;ia=(g|0)!=0;g=ia&1;ga=b[e+25+g>>0]|0;ca=ga<<24>>24==7;if(ca?!(0==0?(f[ja+32>>2]&524288|0)==0:0):0){ja=0;t=ka;return ja|0}ha=e+28+(g<<2)|0;g=f[ha>>2]|0;if(ga<<24>>24==0|(g|0)!=0){ja=g;t=ka;return ja|0}f[T>>2]=0;f[aa>>2]=0;a:do if(!(Ym(a,c,e,T,aa)|0)){v=e+20|0;if((f[v>>2]|0)>0){A=37632;z=f[A>>2]|0;A=f[A+4>>2]|0;C=37640;B=f[C>>2]|0;C=f[C+4>>2]|0;D=e+36|0;E=c+4|0;F=c+40|0;G=V+4|0;H=U+4|0;S=ga<<24>>24!=7&(ia|ga<<24>>24!=10);I=ja+272|0;J=ja+276|0;K=ja+81|0;L=ja+288|0;M=ja+300|0;N=a+196|0;O=ja+296|0;P=ja+284|0;Q=ja+292|0;R=a+268|0;u=0;s=0;r=0;i=0;while(1){q=da;f[q>>2]=z;f[q+4>>2]=A;q=ea;f[q>>2]=B;f[q+4>>2]=C;q=f[aa>>2]|0;q=f[((q|0)==0?D:q+(s<<2)|0)>>2]|0;g=f[T>>2]|0;if(!g)g=F;else g=(f[g+4>>2]|0)+(s<<1)|0;g=f[(f[E>>2]|0)+(d[g>>1]<<4)>>2]|0;f[V>>2]=g;if(!g)g=0;else g=(wz(g)|0)&1073741823;f[G>>2]=g;g=f[(f[(f[e>>2]|0)+4>>2]|0)+(q<<4)>>2]|0;f[U>>2]=g;if(!g)g=0;else g=(wz(g)|0)&1073741823;f[H>>2]=g;n=Dk(ja,59,da,0)|0;m=Dk(ja,59,V,0)|0;l=f[a>>2]|0;b:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))y=23;else{g=l;y=27}else{do if((j[l+276>>1]|0)>=48){g=l+300|0;k=f[g>>2]|0;if(k|0){f[g>>2]=f[k>>2];y=l+284|0;f[y>>2]=(f[y>>2]|0)+1;y=24;break b}g=l+296|0;k=f[g>>2]|0;if(!k){g=l+292|0;break}else{f[g>>2]=f[k>>2];y=l+284|0;f[y>>2]=(f[y>>2]|0)+1;y=24;break b}}else g=l+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;y=23}while(0);if((y|0)==23){k=Dc(l,48,0)|0;y=24}do if((y|0)==24){y=0;if(!k){g=f[a>>2]|0;y=27;break}w=k;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));b[k>>0]=-126;d[k+34>>1]=-1;if(!m)g=0;else{f[k+16>>2]=m;g=f[m+4>>2]&2097412;f[k+4>>2]=g}if(n|0){f[k+12>>2]=n;f[k+4>>2]=g|f[n+4>>2]&2097412}jl(k);g=f[(f[a>>2]|0)+120>>2]|0;if((g|0)<(f[k+24>>2]|0)){f[W>>2]=g;ni(a,42710,W);o=0}else o=0}while(0);if((y|0)==27){if(n|0)ig(g,n);if(!m){k=0;o=1}else{ig(g,m);k=0;o=1}}n=Dk(ja,59,U,0)|0;m=f[a>>2]|0;c:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))y=46;else{g=m;y=50}else{do if((j[m+276>>1]|0)>=48){l=m+300|0;g=f[l>>2]|0;if(g|0){f[l>>2]=f[g>>2];y=m+284|0;f[y>>2]=(f[y>>2]|0)+1;y=47;break c}l=m+296|0;g=f[l>>2]|0;if(!g){g=m+292|0;break}else{f[l>>2]=f[g>>2];y=m+284|0;f[y>>2]=(f[y>>2]|0)+1;y=47;break c}}else g=m+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;y=46}while(0);if((y|0)==46){g=Dc(m,48,0)|0;y=47}do if((y|0)==47){y=0;if(!g){g=f[a>>2]|0;y=50;break}w=g;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));b[g>>0]=53;d[g+34>>1]=-1;if(!n)l=0;else{f[g+16>>2]=n;l=f[n+4>>2]&2097412;f[g+4>>2]=l}if(!o){f[g+12>>2]=k;f[g+4>>2]=l|f[k+4>>2]&2097412}jl(g);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)<(f[g+24>>2]|0)){f[X>>2]=k;ni(a,42710,X)}}while(0);if((y|0)==50){y=0;if(!o)ig(g,k);if(!n)g=0;else{ig(g,n);g=0}}i=kl(ja,i,g)|0;if(ia){n=Dk(ja,59,da,0)|0;m=Dk(ja,59,V,0)|0;l=f[a>>2]|0;d:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))y=70;else{g=l;y=74}else{do if((j[l+276>>1]|0)>=48){g=l+300|0;k=f[g>>2]|0;if(k|0){f[g>>2]=f[k>>2];y=l+284|0;f[y>>2]=(f[y>>2]|0)+1;y=71;break d}g=l+296|0;k=f[g>>2]|0;if(!k){g=l+292|0;break}else{f[g>>2]=f[k>>2];y=l+284|0;f[y>>2]=(f[y>>2]|0)+1;y=71;break d}}else g=l+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;y=70}while(0);if((y|0)==70){k=Dc(l,48,0)|0;y=71}do if((y|0)==71){y=0;if(!k){g=f[a>>2]|0;y=74;break}w=k;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));b[k>>0]=-126;d[k+34>>1]=-1;if(!m)g=0;else{f[k+16>>2]=m;g=f[m+4>>2]&2097412;f[k+4>>2]=g}if(n|0){f[k+12>>2]=n;f[k+4>>2]=g|f[n+4>>2]&2097412}jl(k);g=f[(f[a>>2]|0)+120>>2]|0;if((g|0)<(f[k+24>>2]|0)){f[_>>2]=g;ni(a,42710,_);p=0}else p=0}while(0);if((y|0)==74){if(n|0)ig(g,n);if(!m){k=0;p=1}else{ig(g,m);k=0;p=1}}o=Dk(ja,59,ea,0)|0;n=Dk(ja,59,V,0)|0;m=f[a>>2]|0;e:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))y=93;else{g=m;y=97}else{do if((j[m+276>>1]|0)>=48){g=m+300|0;l=f[g>>2]|0;if(l|0){f[g>>2]=f[l>>2];y=m+284|0;f[y>>2]=(f[y>>2]|0)+1;y=94;break e}g=m+296|0;l=f[g>>2]|0;if(!l){g=m+292|0;break}else{f[g>>2]=f[l>>2];y=m+284|0;f[y>>2]=(f[y>>2]|0)+1;y=94;break e}}else g=m+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;y=93}while(0);if((y|0)==93){l=Dc(m,48,0)|0;y=94}do if((y|0)==94){y=0;if(!l){g=f[a>>2]|0;y=97;break}w=l;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));b[l>>0]=-126;d[l+34>>1]=-1;if(!n)g=0;else{f[l+16>>2]=n;g=f[n+4>>2]&2097412;f[l+4>>2]=g}if(o|0){f[l+12>>2]=o;f[l+4>>2]=g|f[o+4>>2]&2097412}jl(l);g=f[(f[a>>2]|0)+120>>2]|0;if((g|0)>=(f[l+24>>2]|0)){o=0;break}f[$>>2]=g;ni(a,42710,$);o=0}while(0);if((y|0)==97){if(o|0)ig(g,o);if(!n){l=0;o=1}else{ig(g,n);l=0;o=1}}n=f[a>>2]|0;f:do if(f[n+272>>2]|0)if(!(b[n+81>>0]|0))y=116;else{g=n;y=120}else{do if((j[n+276>>1]|0)>=48){m=n+300|0;g=f[m>>2]|0;if(g|0){f[m>>2]=f[g>>2];y=n+284|0;f[y>>2]=(f[y>>2]|0)+1;y=117;break f}m=n+296|0;g=f[m>>2]|0;if(!g){g=n+292|0;break}else{f[m>>2]=f[g>>2];y=n+284|0;f[y>>2]=(f[y>>2]|0)+1;y=117;break f}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;y=116}while(0);if((y|0)==116){g=Dc(n,48,0)|0;y=117}do if((y|0)==117){y=0;if(!g){g=f[a>>2]|0;y=120;break}w=g;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));b[g>>0]=45;d[g+34>>1]=-1;if(o)l=0;else{f[g+16>>2]=l;l=f[l+4>>2]&2097412;f[g+4>>2]=l}if(!p){f[g+12>>2]=k;f[g+4>>2]=l|f[k+4>>2]&2097412}jl(g);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)>=(f[g+24>>2]|0))break;f[Y>>2]=k;ni(a,42710,Y)}while(0);if((y|0)==120){y=0;if(!p)ig(g,k);if(o)g=0;else{ig(g,l);g=0}}u=kl(ja,u,g)|0}g:do if(S){h:do switch(ga<<24>>24){case 10:{n=Dk(ja,59,ea,0)|0;m=Dk(ja,59,V,0)|0;l=f[a>>2]|0;i:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))y=142;else g=l;else{do if((j[l+276>>1]|0)>=48){k=l+300|0;g=f[k>>2]|0;if(g|0){f[k>>2]=f[g>>2];y=l+284|0;f[y>>2]=(f[y>>2]|0)+1;y=143;break i}k=l+296|0;g=f[k>>2]|0;if(!g){g=l+292|0;break}else{f[k>>2]=f[g>>2];y=l+284|0;f[y>>2]=(f[y>>2]|0)+1;y=143;break i}}else g=l+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;y=142}while(0);if((y|0)==142){g=Dc(l,48,0)|0;y=143}do if((y|0)==143){y=0;if(!g){g=f[a>>2]|0;break}w=g;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));b[g>>0]=-126;d[g+34>>1]=-1;if(!m)k=0;else{f[g+16>>2]=m;k=f[m+4>>2]&2097412;f[g+4>>2]=k}if(n|0){f[g+12>>2]=n;f[g+4>>2]=k|f[n+4>>2]&2097412}jl(g);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)>=(f[g+24>>2]|0))break h;f[Z>>2]=k;ni(a,42710,Z);break h}while(0);if(n|0)ig(g,n);if(!m)g=0;else{ig(g,m);g=0}break}case 9:{g=f[(f[(f[e>>2]|0)+4>>2]|0)+(q<<4)+4>>2]|0;if(g|0){g=Bk(ja,g,0,0)|0;break h}j:do if(f[I>>2]|0)if(!(b[K>>0]|0))y=165;else{g=0;break h}else{do if((j[J>>1]|0)<48)g=L;else{g=f[M>>2]|0;if(g|0){f[M>>2]=f[g>>2];f[P>>2]=(f[P>>2]|0)+1;break j}g=f[O>>2]|0;if(!g){g=Q;break}f[O>>2]=f[g>>2];f[P>>2]=(f[P>>2]|0)+1;break j}while(0);f[g>>2]=(f[g>>2]|0)+1;y=165}while(0);if((y|0)==165){y=0;g=Dc(ja,48,0)|0}if(g){w=g;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));b[g>>0]=110;d[g+34>>1]=-1;f[g+24>>2]=1}break}default:{k:do if(f[I>>2]|0)if(!(b[K>>0]|0))y=176;else{g=0;break h}else{do if((j[J>>1]|0)<48)g=L;else{g=f[M>>2]|0;if(g|0){f[M>>2]=f[g>>2];f[P>>2]=(f[P>>2]|0)+1;break k}g=f[O>>2]|0;if(!g){g=Q;break}f[O>>2]=f[g>>2];f[P>>2]=(f[P>>2]|0)+1;break k}while(0);f[g>>2]=(f[g>>2]|0)+1;y=176}while(0);if((y|0)==176){y=0;g=Dc(ja,48,0)|0}if(g){w=g;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));b[g>>0]=110;d[g+34>>1]=-1;f[g+24>>2]=1}}}while(0);r=ml(f[a>>2]|0,r,g)|0;if(r){q=(f[r>>2]|0)+-1|0;l=f[a>>2]|0;o=f[U>>2]|0;p=f[H>>2]|0;l:do if(o){m=KA(p|0,0,1,0)|0;n=ba()|0;m:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))y=191;else{m=0;break l}else{do if(0<0|(0==0?p>>>0<(j[l+276>>1]|0)>>>0:0)){k=l+300|0;g=f[k>>2]|0;if(g|0){f[k>>2]=f[g>>2];x=l+284|0;f[x>>2]=(f[x>>2]|0)+1;break m}k=l+296|0;g=f[k>>2]|0;if(!g){g=l+292|0;break}else{f[k>>2]=f[g>>2];x=l+284|0;f[x>>2]=(f[x>>2]|0)+1;break m}}else g=l+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;y=191}while(0);if((y|0)==191){y=0;g=Dc(l,m,n)|0}if(g){YA(g|0,o|0,p|0)|0;b[g+p>>0]=0;m=g}else m=0}else m=0;while(0);f[r+4+(q*20|0)+4>>2]=m;if((h[N>>0]|0)>1){l=f[a>>2]|0;n:do if(!l){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](16)|0;y=218;break}g=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){x=f[18187]|0;w=LA(k|0,l|0,g|0,((g|0)<0)<<31>>31|0)|0;q=ba()|0;f[17976]=((q|0)<0|(q|0)==0&w>>>0<=x>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=r;break g}k=ib[f[37368>>2]&255](g)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}else{if(f[l+272>>2]|0){if(b[l+81>>0]|0){g=r;break g}}else{do if((j[l+276>>1]|0)>=16){k=l+300|0;g=f[k>>2]|0;if(g|0){f[k>>2]=f[g>>2];y=l+284|0;f[y>>2]=(f[y>>2]|0)+1;y=218;break n}k=l+296|0;g=f[k>>2]|0;if(!g){g=l+292|0;break}else{f[k>>2]=f[g>>2];y=l+284|0;f[y>>2]=(f[y>>2]|0)+1;y=218;break n}}else g=l+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(l,16,0)|0;y=218}while(0);if((y|0)==218){y=0;if(!g){g=r;break}}q=g+4|0;w=q;b[w>>0]=0;b[w+1>>0]=0;b[w+2>>0]=0;b[w+3>>0]=0;q=q+4|0;b[q>>0]=0;b[q+1>>0]=0;b[q+2>>0]=0;b[q+3>>0]=0;f[g>>2]=m;q=U;w=f[q+4>>2]|0;x=g+4|0;f[x>>2]=f[q>>2];f[x+4>>2]=w;f[g+12>>2]=f[R>>2];f[R>>2]=g;g=r}else g=r}else g=0}else g=r;while(0);s=s+1|0;if((s|0)>=(f[v>>2]|0)){v=g;break}else r=g}}else{u=0;v=0;i=0}g=f[aa>>2]|0;do if(g|0){if(ja|0){if(f[ja+480>>2]|0){Kc(ja,g);break}aa=g;if((f[ja+304>>2]|0)>>>0<=aa>>>0?(f[ja+308>>2]|0)>>>0>aa>>>0:0){aa=ja+300|0;f[g>>2]=f[aa>>2];f[aa>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{aa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);p=f[f[e>>2]>>2]|0;if(!p)o=0;else o=(wz(p)|0)&1073741823;if(ca){f[ea>>2]=p;f[ea+4>>2]=o;f[da>>2]=42524;f[da+4>>2]=29;g=Dk(ja,71,da,0)|0;if(!g)g=ml(f[a>>2]|0,0,0)|0;else{b[g+1>>0]=2;g=ml(f[a>>2]|0,0,g)|0}s=Ll(a,g,ol(ja,0,ea,0)|0,i,0,0,0,0,0)|0;q=0}else{s=0;q=i}r=ja+272|0;g=(f[r>>2]|0)+1|0;f[r>>2]=g;l=o+81|0;o:do if(!ja){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](l)|0;y=261;break}g=ib[f[37372>>2]&255](l)|0;if((f[18194]|0)>>>0>>0)f[18194]=l;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){ea=f[18187]|0;da=LA(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;ca=ba()|0;f[17976]=((ca|0)<0|(ca|0)==0&da>>>0<=ea>>>0)&1}i=ib[f[37356>>2]&255](g)|0;if(i){g=ib[f[37368>>2]&255](i)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;n=i;y=262}else{n=i;y=262}}else{l=0;i=0;g=u;k=0}}else{if(g){if(b[ja+81>>0]|0){l=0;i=0;g=u;k=0;break}}else{do if(!(0<0|(0==0?(j[ja+276>>1]|0)>>>0>>0:0))){i=ja+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];y=ja+284|0;f[y>>2]=(f[y>>2]|0)+1;y=261;break o}i=ja+296|0;g=f[i>>2]|0;if(!g){g=ja+292|0;break}else{f[i>>2]=f[g>>2];y=ja+284|0;f[y>>2]=(f[y>>2]|0)+1;y=261;break o}}else g=ja+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(ja,l,0)|0;y=261}while(0);if((y|0)==261)if(!g){l=0;i=0;g=u;k=0}else{n=g;y=262}if((y|0)==262){_A(n|0,0,l|0)|0;m=n+36|0;f[n+28>>2]=m;ea=n+80|0;f[n+48>>2]=ea;YA(ea|0,p|0,o|0)|0;if(!q)g=0;else g=Bk(ja,q,1,0)|0;f[n+52>>2]=g;ea=Ik(ja,v,1)|0;f[n+56>>2]=ea;ea=Hk(ja,s,1)|0;f[n+44>>2]=ea;if(!u){l=n;i=m;g=0;k=n}else{g=f[a>>2]|0;p:do if(f[g+272>>2]|0)if(!(b[g+81>>0]|0))y=275;else y=279;else{do if((j[g+276>>1]|0)>=48){i=g+300|0;k=f[i>>2]|0;if(k|0){f[i>>2]=f[k>>2];g=g+284|0;f[g>>2]=(f[g>>2]|0)+1;g=k;y=276;break p}i=g+296|0;k=f[i>>2]|0;if(!k){i=g+292|0;break}else{f[i>>2]=f[k>>2];g=g+284|0;f[g>>2]=(f[g>>2]|0)+1;g=k;y=276;break p}}else i=g+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;y=275}while(0);if((y|0)==275){g=Dc(g,48,0)|0;y=276}do if((y|0)==276){if(!g){g=f[a>>2]|0;y=279;break}w=g;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));b[g>>0]=19;d[g+34>>1]=-1;f[g+12>>2]=u;f[g+4>>2]=f[u+4>>2]&2097412;jl(g);i=f[(f[a>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[fa>>2]=i;ni(a,42710,fa)}i=Bk(ja,g,1,0)|0}while(0);if((y|0)==279){ig(g,u);i=0;g=0}f[n+12>>2]=i;l=n;i=m;k=n}}f[r>>2]=(f[r>>2]|0)+-1;if(q|0)ig(ja,q);if(g|0)ig(ja,g);if(v|0)jg(ja,v);if(s|0)mg(ja,s,1);if((b[ja+81>>0]|0)!=1){switch(ga<<24>>24){case 7:{g=127;break}case 10:{if(ia)y=311;else g=117;break}default:y=311}if((y|0)==311)g=118;b[i>>0]=g;f[i+4>>2]=l;ja=f[c+72>>2]|0;f[l+20>>2]=ja;f[l+24>>2]=ja;f[ha>>2]=l;b[l+8>>0]=ia?118:117;ja=k;t=ka;return ja|0}if(k|0){i=f[k+28>>2]|0;g=f[i+16>>2]|0;if(g|0)ig(ja,g);g=f[i+20>>2]|0;if(g|0)jg(ja,g);g=f[i+8>>2]|0;if(g|0)mg(ja,g,1);g=f[k+12>>2]|0;if(g|0)ig(ja,g);if(f[ja+480>>2]|0){Kc(ja,l);break}g=k;do if((f[ja+304>>2]|0)>>>0<=g>>>0){if((f[ja+308>>2]|0)>>>0<=g>>>0)break;ja=ja+300|0;f[k>>2]=f[ja>>2];f[ja>>2]=k;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{ja=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-ja;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}}while(0);ja=0;t=ka;return ja|0}function go(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c>>2]|0;n=f[a+12>>2]|0;o=n+64|0;k=f[o>>2]|0;l=a+145|0;j=(h[l>>0]|h[l+1>>0]<<8)&-769|256;b[l>>0]=j;b[l+1>>0]=j>>8;j=a+88|0;i=(f[j>>2]|0)+(((f[a+136>>2]|0)+-1|0)*20|0)|0;while(1){e=b[i>>0]|0;a:do if((e&255)<62){switch(e<<24>>24){case 2:{if(!(f[i+8>>2]|0))m=6;else{m=(h[l>>0]|h[l+1>>0]<<8)&-257;b[l>>0]=m;b[l+1>>0]=m>>8;m=6}break}case 0:case 1:{m=6;break}case 7:case 8:case 6:{g=(h[l>>0]|h[l+1>>0]<<8)&-769|512;b[l>>0]=g;b[l+1>>0]=g>>8;g=d;break a}case 3:case 5:{f[i+16>>2]=168;b[i+1>>0]=-5;g=d;break a}case 4:{f[i+16>>2]=169;b[i+1>>0]=-5;g=d;break a}case 10:{g=f[i+8>>2]|0;g=(g|0)>(d|0)?g:d;break a}case 9:{g=f[i+-16>>2]|0;d=(g|0)>(d|0)?g:d;break}default:{}}if((m|0)==6){m=0;g=h[l>>0]|h[l+1>>0]<<8|512;b[l>>0]=g;b[l+1>>0]=g>>8;g=d;break}e=i+8|0;g=f[e>>2]|0;if((g|0)<0){f[e>>2]=f[k+(~g<<2)>>2];g=d}else g=d}else g=d;while(0);if((i|0)==(f[j>>2]|0))break;else{d=g;i=i+-20|0}}d=f[a>>2]|0;e=f[o>>2]|0;if(!e){f[o>>2]=0;o=n+60|0;f[o>>2]=0;f[c>>2]=g;return}if(d|0){if(f[d+480>>2]|0){Kc(d,e);f[o>>2]=0;o=n+60|0;f[o>>2]=0;f[c>>2]=g;return}m=e;if((f[d+304>>2]|0)>>>0<=m>>>0?(f[d+308>>2]|0)>>>0>m>>>0:0){m=d+300|0;f[e>>2]=f[m>>2];f[m>>2]=e;f[o>>2]=0;o=n+60|0;f[o>>2]=0;f[c>>2]=g;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);f[o>>2]=0;o=n+60|0;f[o>>2]=0;f[c>>2]=g;return}else{m=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);f[o>>2]=0;o=n+60|0;f[o>>2]=0;f[c>>2]=g;return}}function ho(a,c){a=a|0;c=c|0;var e=0,g=0;c=a+1|0;b[c>>0]=b[c>>0]&-15;d[a+50>>1]=0;if(((b[a>>0]|0)==0?(e=a+70|0,g=d[e>>1]|0,g<<16>>16):0)?b[(f[a+116>>2]|0)+8>>0]|0:0){d[e>>1]=g+-1<<16>>16;g=0;return g|0}g=gj(a)|0;return g|0}function io(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=t;t=t+32|0;o=q;p=f[a>>2]|0;i=f[c+72>>2]|0;if(!i)k=-1e6;else{h=f[p+16>>2]|0;g=0;while(1)if((f[h+(g<<4)+12>>2]|0)==(i|0)){k=g;break}else g=g+1|0}if(!d)m=0;else m=Bk(p,d,0,0)|0;n=ol(p,0,0,0)|0;if(!n)g=Ll(a,0,0,m,0,0,0,131072,0)|0;else{d=f[c>>2]|0;a:do if(!d)g=0;else{c=(wz(d)|0)+1|0;b:do if(!p){i=KA(c|0,0,-1,-1)|0;h=ba()|0;if(h>>>0>0|(h|0)==0&i>>>0>2147483390){g=0;break a}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](c)|0;l=32;break}g=ib[f[37372>>2]&255](c)|0;if((f[18194]|0)>>>0>>0)f[18194]=c;i=71896;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){r=f[18187]|0;i=LA(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;h=ba()|0;f[17976]=((h|0)<0|(h|0)==0&i>>>0<=r>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break a}h=ib[f[37368>>2]&255](g)|0;h=(f[18187]|0)+h|0;f[18187]=h;if(h>>>0>(f[18191]|0)>>>0)f[18191]=h;h=(f[18190]|0)+1|0;f[18190]=h;if(h>>>0>(f[18196]|0)>>>0)f[18196]=h}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){g=0;break a}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){h=p+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];l=p+284|0;f[l>>2]=(f[l>>2]|0)+1;l=32;break b}h=p+296|0;g=f[h>>2]|0;if(!g){g=p+292|0;break}else{f[h>>2]=f[g>>2];l=p+284|0;f[l>>2]=(f[l>>2]|0)+1;l=32;break b}}else g=p+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(p,c,0)|0;l=32}while(0);if((l|0)==32)if(!g){g=0;break}YA(g|0,d|0,c|0)|0}while(0);f[n+16>>2]=g;i=f[(f[p+16>>2]|0)+(k<<4)>>2]|0;c:do if(i){d=(wz(i)|0)+1|0;d:do if(f[p+272>>2]|0)if(!(b[p+81>>0]|0))l=45;else{g=0;break c}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){h=p+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];r=p+284|0;f[r>>2]=(f[r>>2]|0)+1;break d}h=p+296|0;g=f[h>>2]|0;if(!g){g=p+292|0;break}else{f[h>>2]=f[g>>2];r=p+284|0;f[r>>2]=(f[r>>2]|0)+1;break d}}else g=p+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;l=45}while(0);if((l|0)==45)g=Dc(p,d,0)|0;if(g)YA(g|0,i|0,d|0)|0;else g=0}else g=0;while(0);f[n+12>>2]=g;g=Ll(a,0,n,m,0,0,0,131072,0)|0}b[o>>0]=12;f[o+4>>2]=e;f[o+16>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;Kl(a,g,o)|0;if(!g){t=q;return}mg(p,g,1);t=q;return}function jo(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0;j=f[a+24>>2]|0;i=f[a>>2]|0;a=b[c>>0]|0;a:do if(!(f[j+12>>2]|0)){switch(a<<24>>24){case -98:case -97:break a;case -99:break;default:{j=0;return j|0}}if(!(f[c+4>>2]&16777216)){j=0;return j|0}a=f[j>>2]|0;if(a|0){e=f[c+44>>2]|0;while(1){if((e|0)==(a|0)){a=1;break}a=f[a+24>>2]|0;if(!a)break a}return a|0}}else{if(a<<24>>24!=-98){j=0;return j|0}e=f[j+4>>2]|0;h=f[e>>2]|0;b:do if((h|0)>0){g=f[c+28>>2]|0;a=0;do{if((g|0)==(f[e+8+(a*72|0)+40>>2]|0))break b;a=a+1|0}while((a|0)<(h|0))}else a=0;while(0);if((a|0)==(h|0)){j=0;return j|0}}while(0);h=Bk(f[i>>2]|0,c,0,0)|0;g=j+8|0;h=ml(f[i>>2]|0,f[g>>2]|0,h)|0;f[g>>2]=h;if(!h){j=0;return j|0}a=c+4|0;f[a>>2]=f[a>>2]|32768;ig(f[i>>2]|0,c);f[a>>2]=f[a>>2]&-32769;a=c;e=a+48|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(e|0));b[c>>0]=-98;d[c+32>>1]=(f[f[g>>2]>>2]|0)+65535;f[c+28>>2]=f[(f[j>>2]|0)+36>>2];j=0;return j|0}function ko(a,b){a=a|0;b=b|0;var c=0,d=0;c=(f[a+24>>2]|0)+12|0;d=f[c>>2]|0;if((d|0)==(b|0)){d=0;return d|0}f[c>>2]=b;yk(a,b)|0;f[c>>2]=d;d=1;return d|0}function lo(a,c){a=a|0;c=c|0;if(f[c+4>>2]&1|0){c=1;return c|0}switch(b[c>>0]|0){case -98:{if((f[a+24>>2]|0)!=(f[c+28>>2]|0)){c=1;return c|0}b[a+20>>0]=1;c=2;return c|0}case 57:case 54:case 55:case 56:case 52:case 53:{a=f[c+12>>2]|0;if((b[a>>0]|0)==-98?f[(f[a+44>>2]|0)+56>>2]|0:0){c=1;return c|0}c=f[c+16>>2]|0;if((b[c>>0]|0)==-98?f[(f[c+44>>2]|0)+56>>2]|0:0){c=1;return c|0}break}case -99:case 49:case -111:case 43:case 45:case 50:case 19:case -100:{c=1;return c|0}default:{}}c=0;return c|0}function mo(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;if((c|0)<0){g=a;do{a=g+4|0;e=f[a>>2]|0;if(e&1|0)f[a>>2]=e&-2;if(((b[g>>0]|0)==-99?(h=g+20|0,i=f[h>>2]|0,i|0):0)?(f[i>>2]|0)>0:0){a=0;e=i;do{mo(f[e+4+(a*20|0)>>2]|0,c);a=a+1|0;e=f[h>>2]|0}while((a|0)<(f[e>>2]|0))}mo(f[g+12>>2]|0,c);g=f[g+16>>2]|0}while((g|0)!=0);return}g=a;do{a=g+4|0;e=f[a>>2]|0;if(e&1|0?(d[g+36>>1]|0)==(c|0):0)f[a>>2]=e&-2;if(((b[g>>0]|0)==-99?(j=g+20|0,k=f[j>>2]|0,k|0):0)?(f[k>>2]|0)>0:0){a=0;e=k;do{mo(f[e+4+(a*20|0)>>2]|0,c);a=a+1|0;e=f[j>>2]|0}while((a|0)<(f[e>>2]|0))}mo(f[g+12>>2]|0,c);g=f[g+16>>2]|0}while((g|0)!=0);return}function no(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;if(!c)return;h=(d|0)==0;while(1){e=f[c>>2]|0;if(e|0?(f[e>>2]|0)>0:0){d=0;do{g=e+4+(d*20|0)|0;j=Oo(a,f[g>>2]|0)|0;f[g>>2]=j;d=d+1|0}while((d|0)<(f[e>>2]|0))}e=f[c+40>>2]|0;if(e|0?(f[e>>2]|0)>0:0){d=0;do{j=e+4+(d*20|0)|0;g=Oo(a,f[j>>2]|0)|0;f[j>>2]=g;d=d+1|0}while((d|0)<(f[e>>2]|0))}e=f[c+48>>2]|0;if(e|0?(f[e>>2]|0)>0:0){d=0;do{j=e+4+(d*20|0)|0;g=Oo(a,f[j>>2]|0)|0;f[j>>2]=g;d=d+1|0}while((d|0)<(f[e>>2]|0))}d=c+44|0;e=Oo(a,f[d>>2]|0)|0;f[d>>2]=e;d=c+36|0;e=Oo(a,f[d>>2]|0)|0;f[d>>2]=e;d=f[c+32>>2]|0;e=f[d>>2]|0;if((e|0)>0){g=d+8|0;while(1){no(a,f[g+20>>2]|0,1);if((b[g+37>>0]&4?(i=f[g+64>>2]|0,i|0):0)?(f[i>>2]|0)>0:0){d=0;do{j=i+4+(d*20|0)|0;k=Oo(a,f[j>>2]|0)|0;f[j>>2]=k;d=d+1|0}while((d|0)<(f[i>>2]|0))}if((e|0)>1){g=g+72|0;e=e+-1|0}else break}}if(h){d=25;break}c=f[c+52>>2]|0;if(!c){d=25;break}}if((d|0)==25)return} -function Rj(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=t;t=t+16|0;o=p;k=b[a>>0]|0;if((c|0)>0&k<<24>>24!=0){m=0;do{do if((k+-48&255)<10){i=0;do{i=(i*10|0)+-48+(k<<24>>24)|0;a=a+1|0;k=b[a>>0]|0}while((k+-48&255)<10);if(i>>>0>=8){if(i>>>0>255){l=40;k=0;do{l=(l&65535)+40|0;q=i;i=VA(i|0,k|0,4)|0;r=k;k=ba()|0}while(r>>>0>0|(r|0)==0&q>>>0>4095);l=l&65535}else{l=40;k=0}if(k>>>0>0|(k|0)==0&i>>>0>15)do{l=(l&65535)+10&65535;r=i;i=VA(i|0,k|0,1)|0;q=k;k=ba()|0}while(q>>>0>0|(q|0)==0&r>>>0>31)}else{if(i>>>0<2){i=0;break}l=40;k=0;do{l=(l&65535)+65526|0;i=WA(i|0,k|0,1)|0;k=ba()|0}while(k>>>0<0|(k|0)==0&i>>>0<8);l=l&65535}i=(l&65535)+65526+(j[7936+((i&7)<<1)>>1]|0)&65535}else i=0;while(0);d[e+(m<<1)>>1]=i;a=(b[a>>0]|0)==32?a+1|0:a;m=m+1|0;k=b[a>>0]|0}while((m|0)<(c|0)&k<<24>>24!=0)}c=g+55|0;r=(h[c>>0]|h[c+1>>0]<<8)&-69;b[c>>0]=r;b[c+1>>0]=r>>8;if(!(b[a>>0]|0)){t=p;return}m=g+48|0;do{do if(!(af(46008,a,41507,91)|0)){r=h[c>>0]|h[c+1>>0]<<8|4;b[c>>0]=r;b[c+1>>0]=r>>8}else{if(af(46019,a,41507,91)|0){if(af(46029,a,41507,91)|0)break;r=h[c>>0]|h[c+1>>0]<<8|64;b[c>>0]=r;b[c+1>>0]=r>>8;break}f[o>>2]=0;Pd(a+3|0,o)|0;i=f[o>>2]|0;k=((i|0)<0)<<31>>31;if(i>>>0<8)if(i>>>0<2)i=0;else{l=40;do{l=(l&65535)+65526|0;i=WA(i|0,k|0,1)|0;k=ba()|0}while(k>>>0<0|(k|0)==0&i>>>0<8);l=l&65535;n=39}else{if(i>>>0>255){l=40;do{l=(l&65535)+40|0;r=i;i=VA(i|0,k|0,4)|0;q=k;k=ba()|0}while(q>>>0>0|(q|0)==0&r>>>0>4095);l=l&65535}else l=40;if(k>>>0>0|(k|0)==0&i>>>0>15){do{l=(l&65535)+10&65535;r=i;i=VA(i|0,k|0,1)|0;q=k;k=ba()|0}while(q>>>0>0|(q|0)==0&r>>>0>31);n=39}else n=39}if((n|0)==39){n=0;i=(l&65535)+65526+(j[7936+((i&7)<<1)>>1]|0)&65535}d[m>>1]=i}while(0);a:while(1){i=b[a>>0]|0;switch(i<<24>>24){case 32:{n=45;break a}case 0:break a;default:{}}a=a+1|0}if((n|0)==45){n=0;do{a=a+1|0;i=b[a>>0]|0}while(i<<24>>24==32)}}while(i<<24>>24!=0);t=p;return}function Sj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;i=f[a+12>>2]|0;if(!i){e=a+4|0;d=a+8|0}else{e=b[c>>0]|0;if(!(e<<24>>24))d=0;else{d=0;g=c;do{g=g+1|0;d=U(d+(h[1232+(e&255)>>0]|0)|0,-1640531535)|0;e=b[g>>0]|0}while(e<<24>>24!=0)}d=(d>>>0)%((f[a>>2]|0)>>>0)|0;e=i+(d<<3)|0;d=i+(d<<3)+4|0}e=f[e>>2]|0;if(!e){c=72124;c=c+8|0;c=f[c>>2]|0;return c|0}j=h[1232+(h[c>>0]|0)>>0]|0;while(1){d=f[d>>2]|0;e=e+-1|0;a=f[d+12>>2]|0;i=b[a>>0]|0;g=(h[1232+(i&255)>>0]|0)-j|0;if(!(i<<24>>24==0|(g|0)!=0)){i=c;do{a=a+1|0;i=i+1|0;k=b[a>>0]|0;g=(h[1232+(k&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(g|0)!=0))}if(!g){e=14;break}if(!e){d=72124;e=14;break}}if((e|0)==14){k=d+8|0;k=f[k>>2]|0;return k|0}return 0}function Tj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;n=t;t=t+48|0;i=n+32|0;h=n+24|0;g=n+16|0;e=n;k=f[a>>2]|0;do if(!(b[k+81>>0]|0)){m=a+4|0;if(f[f[m>>2]>>2]|0){t=n;return}if(!(f[a+16>>2]&1)){if(!(0==0?(f[k+32>>2]&1|0)==0:0)){f[e>>2]=42469;f[e+4>>2]=122737;f[e+8>>2]=40460;Ac(11,40408,e);c=11;break}f[g>>2]=(c|0)==0?46041:c;c=Ig(k,46043,g)|0;if((d|0)!=0?(b[d>>0]|0)!=0:0){f[h>>2]=c;f[h+4>>2]=d;c=Ig(k,46099,h)|0}f[f[m>>2]>>2]=c;f[i>>2]=42469;f[i+4>>2]=122744;f[i+8>>2]=40460;Ac(11,40408,i);c=11;break}a:do if(!d)c=0;else{h=(wz(d)|0)+1|0;b:do if(!k){k=KA(h|0,0,-1,-1)|0;i=ba()|0;if(i>>>0>0|(i|0)==0&k>>>0>2147483390){c=0;break a}if(!(f[9328]|0)){c=ib[f[37356>>2]&255](h)|0;l=28;break}c=ib[f[37372>>2]&255](h)|0;if((f[18194]|0)>>>0>>0)f[18194]=h;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){k=f[18187]|0;i=LA(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&i>>>0<=k>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c){c=0;break a}e=ib[f[37368>>2]&255](c)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}else{if(!(f[k+272>>2]|0)){do if(!(0<0|(0==0?(j[k+276>>1]|0)>>>0>>0:0))){e=k+300|0;c=f[e>>2]|0;if(c|0){f[e>>2]=f[c>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=28;break b}e=k+296|0;c=f[e>>2]|0;if(!c){c=k+292|0;break}else{f[e>>2]=f[c>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=28;break b}}else c=k+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(k,h,0)|0;l=28}while(0);if((l|0)==28)if(!c){c=0;break}YA(c|0,d|0,h|0)|0}while(0);f[f[m>>2]>>2]=c;c=1}else c=7;while(0);f[a+12>>2]=c;t=n;return}function Uj(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+64|0;s=u+32|0;r=u+16|0;g=u;o=u+48|0;p=u+44|0;qb[f[a+80>>2]&255](a,c,e);k=j[e+16>>1]|0;i=f[e+12>>2]|0;if((i|0)==(k|0)){s=0;t=u;return s|0}c=c+(j[e+18>>1]|0)|0;if(c>>>0>(f[a+60>>2]|0)>>>0){f[g>>2]=42469;f[g+4>>2]=69212;f[g+8>>2]=40460;Ac(11,40408,g);s=11;t=u;return s|0}e=c+-4|0;n=f[a+52>>2]|0;g=(f[n+36>>2]|0)+-4|0;c=i+~k+g|0;if(g>>>0>c>>>0){s=0;t=u;return s|0}l=n+44|0;a=h[e+1>>0]<<16|h[e>>0]<<24|h[e+2>>0]<<8|h[e+3>>0];i=(c>>>0)/(g>>>0)|0;while(1){i=i+-1|0;f[o>>2]=0;f[p>>2]=0;if(a>>>0<2){m=8;break}if(a>>>0>(f[l>>2]|0)>>>0){m=8;break}k=(i|0)==0;if(!k){c=qh(n,a,p,o)|0;if(c|0)break;c=f[p>>2]|0;if(c)m=20;else m=12}else m=12;a:do if((m|0)==12){c=(f[n>>2]|0)+212|0;g=kb[f[37452>>2]&127](f[(f[c>>2]|0)+44>>2]|0,a,0)|0;do if(g|0){c=f[c>>2]|0;e=f[g+4>>2]|0;if(!(f[e>>2]|0)){c=ch(c,a,g)|0;if(!c)break;else e=c}else{m=c+12|0;f[m>>2]=(f[m>>2]|0)+1;m=e+30|0;d[m>>1]=(d[m>>1]|0)+1<<16>>16}c=f[e+8>>2]|0;g=c+4|0;if((f[g>>2]|0)==(a|0)){f[p>>2]=c;if(!c){m=22;break a}else{m=20;break a}}else{f[c+56>>2]=f[e+4>>2];f[c+72>>2]=e;f[c+52>>2]=n;f[g>>2]=a;b[c+9>>0]=0;f[p>>2]=c;m=20;break a}}while(0);f[p>>2]=0;c=0;m=22}while(0);if((m|0)==20){m=0;if((d[(f[c+72>>2]|0)+30>>1]|0)==1)m=22;else{f[s>>2]=42469;f[s+4>>2]=69249;f[s+8>>2]=40460;Ac(11,40408,s);c=11}}if((m|0)==22){m=0;c=tj(n,c,a)|0}e=f[p>>2]|0;do if(e|0?(q=f[e+72>>2]|0,q|0):0)if(!(d[q+28>>1]&32)){bh(q);break}else{a=f[q+20>>2]|0;g=a+120|0;f[g>>2]=(f[g>>2]|0)+-1;a=a+136|0;f[q+16>>2]=f[a>>2];f[a>>2]=q;break}while(0);if((c|0)!=0|k){m=30;break}else a=f[o>>2]|0}if((m|0)==8){f[r>>2]=42469;f[r+4>>2]=69229;f[r+8>>2]=40460;Ac(11,40408,r);c=11}else if((m|0)==30){t=u;return c|0}s=c;t=u;return s|0}function Vj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=t;t=t+16|0;g=i;e=g;f[e>>2]=0;f[e+4>>2]=0;e=a;c=f[e+4>>2]|0;h=a+8|0;d=f[h+4>>2]|0;do if(!((c|0)<(d|0)|((c|0)==(d|0)?(f[e>>2]|0)>>>0<(f[h>>2]|0)>>>0:0))){h=a+48|0;b=f[h>>2]|0;if(b){c=Wj(b)|0;j=b+32|0;e=b+48|0;f[j>>2]=f[e>>2];f[j+4>>2]=f[e+4>>2];f[j+8>>2]=f[e+8>>2];f[j+12>>2]=f[e+12>>2];j=b+40|0;e=b+8|0;d=f[e>>2]|0;e=f[e+4>>2]|0;if((f[j>>2]|0)==(d|0)?(f[j+4>>2]|0)==(e|0):0)f[b+20>>2]=1;if(!c)if(!(f[b+20>>2]|0)){b=Xj(f[b>>2]|0,a,b+32|0,d,e)|0;if(!b)break;t=i;return b|0}else g=0;else g=c}else g=0;b=f[a+28>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{j=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+36>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{j=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);c=f[h>>2]|0;do if(c|0){d=f[c+4>>2]|0;do if(d|0){if((f[d>>2]|0)>0){e=d+12|0;b=0;do{hi((f[e>>2]|0)+(b*56|0)|0);b=b+1|0}while((b|0)<(f[d>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{j=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{j=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);b=a;c=b+56|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));j=g;t=i;return j|0}while(0);b=Yj(a,g)|0;if(b|0){j=b;t=i;return j|0}j=f[g>>2]|0;f[a+20>>2]=j;j=Zj(a,j,a+32|0)|0;t=i;return j|0}function Wj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=t;t=t+16|0;z=F+4|0;B=F;D=a+8|0;C=f[D>>2]|0;D=f[D+4>>2]|0;A=a+4|0;j=f[A>>2]|0;i=f[a+48>>2]|0;h=f[(f[(f[a>>2]|0)+8>>2]|0)+12>>2]|0;g=((h|0)<0)<<31>>31;y=KA(h|0,g|0,-1,-1)|0;x=ba()|0;do if(x>>>0>0|(x|0)==0&y>>>0>2147483390){c=7;y=0;w=0;d=0;x=0;g=0;e=0}else{if(!(f[9328]|0)){c=ib[f[37356>>2]&255](h)|0;if(!c){c=7;y=0;w=0;d=0;x=0;g=0;e=0;break}else d=c}else{c=ib[f[37372>>2]&255](h)|0;if((f[18194]|0)>>>0>>0)f[18194]=h;e=71896;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){y=f[18187]|0;x=LA(d|0,e|0,c|0,((c|0)<0)<<31>>31|0)|0;w=ba()|0;f[17976]=((w|0)<0|(w|0)==0&x>>>0<=y>>>0)&1}d=ib[f[37356>>2]&255](c)|0;if(!d){c=7;y=0;w=0;d=0;x=0;g=0;e=0;break}c=ib[f[37368>>2]&255](d)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}x=RA(C|0,D|0,h|0,g|0)|0;ba()|0;g=LA(C|0,D|0,x|0,((x|0)<0)<<31>>31|0)|0;c=0;y=d;w=h;d=x;x=i;e=ba()|0}while(0);v=j+12|0;q=j+8|0;r=a+16|0;s=((w|0)<0)<<31>>31;u=z+1|0;i=d;h=d;while(1){n=f[v>>2]|0;o=f[(f[q>>2]|0)+4>>2]|0;p=f[n+(o*56|0)+20>>2]|0;if(!(f[n+(o*56|0)+24>>2]|0)){E=35;break}j=((h|0)<0)<<31>>31;k=((p|0)<0)<<31>>31;d=1;l=p;m=k;while(1){l=VA(l|0,m|0,7)|0;m=ba()|0;if((l|0)==0&(m|0)==0)break;else d=d+1|0}l=KA(g|0,e|0,h|0,j|0)|0;l=KA(l|0,ba()|0,p|0,k|0)|0;l=KA(l|0,ba()|0,d|0,0)|0;d=ba()|0;m=f[r>>2]|0;m=KA(C|0,D|0,m|0,((m|0)<0)<<31>>31|0)|0;j=ba()|0;if((d|0)>(j|0)|(d|0)==(j|0)&l>>>0>m>>>0){E=35;break}do if(p>>>0>=128)if(p>>>0>=16384){d=_i(z,p,k)|0;if((d|0)>0){E=24;break}else break}else{d=VA(p|0,k|0,7)|0;ba()|0;b[z>>0]=d&255|-128;d=2;j=u;E=23;break}else{d=1;j=z;E=23}while(0);if((E|0)==23){b[j>>0]=p&127;E=24}a:do if((E|0)==24){E=0;k=d;do{if(c|0)break a;j=w-h|0;j=(k|0)>(j|0)?j:k;YA(y+h|0,z+(d-k)|0,j|0)|0;h=j+h|0;if((h|0)==(w|0)){l=KA(g|0,e|0,w|0,s|0)|0;m=ba()|0;h=KA(g|0,e|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;c=mb[f[(f[x>>2]|0)+12>>2]&127](x,y+i|0,w-i|0,h,c)|0;i=0;h=0;g=l;e=m}else c=0;k=k-j|0}while((k|0)>0)}while(0);k=f[n+(o*56|0)+32>>2]|0;b:do if((p|0)>0){j=p;do{if(c|0)break b;d=w-h|0;d=(j|0)>(d|0)?d:j;YA(y+h|0,k+(p-j)|0,d|0)|0;h=d+h|0;if((h|0)==(w|0)){n=KA(g|0,e|0,w|0,s|0)|0;o=ba()|0;h=KA(g|0,e|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;c=mb[f[(f[x>>2]|0)+12>>2]&127](x,y+i|0,w-i|0,h,c)|0;i=0;h=0;g=n;e=o}else c=0;j=j-d|0}while((j|0)>0)}while(0);d=rj(f[A>>2]|0,B)|0;if(d){j=d;break}}if((E|0)==35)j=0;d=a+56|0;if(c){D=KA(g|0,e|0,h|0,((h|0)<0)<<31>>31|0)|0;a=ba()|0;E=d;f[E>>2]=D;f[E+4>>2]=a;if(!y){E=c;a=(j|0)==0;E=a?E:j;t=F;return E|0}}else{if(!y){D=KA(g|0,e|0,h|0,((h|0)<0)<<31>>31|0)|0;a=ba()|0;E=d;f[E>>2]=D;f[E+4>>2]=a;E=0;a=(j|0)==0;E=a?E:j;t=F;return E|0}if((h|0)>(i|0)){E=KA(g|0,e|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;c=mb[f[(f[x>>2]|0)+12>>2]&127](x,y+i|0,h-i|0,E,c)|0}else c=0;D=KA(g|0,e|0,h|0,((h|0)<0)<<31>>31|0)|0;a=ba()|0;E=d;f[E>>2]=D;f[E+4>>2]=a}if(!(f[9328]|0)){ob[f[37360>>2]&127](y);E=c;a=(j|0)==0;E=a?E:j;t=F;return E|0}else{E=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y);E=c;a=(j|0)==0;E=a?E:j;t=F;return E|0}return 0}function Xj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=f[9393]|0;if(g|0?ib[g&255](201)|0:0){b=266;return b|0}h=b+44|0;if(f[h>>2]|0)f[h>>2]=0;n=b;f[n>>2]=d;f[n+4>>2]=e;n=c+8|0;l=f[n>>2]|0;n=f[n+4>>2]|0;k=b+8|0;i=k;f[i>>2]=l;f[i+4>>2]=n;i=f[c>>2]|0;j=b+24|0;f[j>>2]=i;c=a+8|0;g=f[c>>2]|0;a=f[(f[g+24>>2]|0)+156>>2]|0;m=((a|0)<0)<<31>>31;if(!((n|0)>(m|0)|(n|0)==(m|0)&l>>>0>a>>>0)?(f[f[i>>2]>>2]|0)>2:0){f[h>>2]=0;g=f[c>>2]|0}i=f[g+12>>2]|0;c=((i|0)<0)<<31>>31;d=RA(d|0,e|0,i|0,c|0)|0;ba()|0;h=b+36|0;g=f[h>>2]|0;if(!g){n=KA(i|0,c|0,-1,-1)|0;m=ba()|0;do if(!(m>>>0>0|(m|0)==0&n>>>0>2147483390)){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](i)|0;break}g=ib[f[37372>>2]&255](i)|0;if((f[18194]|0)>>>0>>0)f[18194]=i;a=71896;c=f[a>>2]|0;a=f[a+4>>2]|0;if((a|0)>0|(a|0)==0&c>>>0>0){n=f[18187]|0;m=LA(c|0,a|0,g|0,((g|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&m>>>0<=n>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(g){c=ib[f[37368>>2]&255](g)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}else g=0}else g=0;while(0);f[h>>2]=g;f[b+40>>2]=i;c=(g|0)==0?7:0}else c=0;if(!((d|0)!=0&(c|0)==0)){n=c;return n|0}l=i-d|0;n=b;m=f[n>>2]|0;n=f[n+4>>2]|0;i=KA(m|0,n|0,l|0,((l|0)<0)<<31>>31|0)|0;h=ba()|0;e=k;k=f[e>>2]|0;e=f[e+4>>2]|0;b=LA(k|0,e|0,m|0,n|0)|0;ba()|0;j=f[j>>2]|0;n=mb[f[(f[j>>2]|0)+8>>2]&127](j,g+d|0,(h|0)>(e|0)|(h|0)==(e|0)&i>>>0>k>>>0?b:l,m,n)|0;return n|0}function Yj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=t;t=t+32|0;i=j;h=j+16|0;e=f[a+44>>2]|0;d=a;g=f[d>>2]|0;d=f[d+4>>2]|0;if(e|0){h=(Th(e+g|0,c)|0)&255;c=a;h=KA(f[c>>2]|0,f[c+4>>2]|0,h|0,0)|0;c=ba()|0;i=a;f[i>>2]=h;f[i+4>>2]=c;i=0;t=j;return i|0}e=f[a+40>>2]|0;d=RA(g|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;ba()|0;if((d|0)!=0&(e-d|0)>8){h=(Th((f[a+36>>2]|0)+d|0,c)|0)&255;c=a;h=KA(f[c>>2]|0,f[c+4>>2]|0,h|0,0)|0;c=ba()|0;i=a;f[i>>2]=h;f[i+4>>2]=c;i=0;t=j;return i|0}d=0;while(1){e=Zj(a,1,h)|0;if(e|0){d=9;break}g=b[f[h>>2]>>0]|0;b[i+(d&15)>>0]=g;if(g<<24>>24<0)d=d+1|0;else{d=8;break}}if((d|0)==8){Th(i,c)|0;i=0;t=j;return i|0}else if((d|0)==9){i=e;t=j;return i|0}return 0}function Zj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=t;t=t+16|0;l=m;d=f[a+44>>2]|0;g=a;h=f[g>>2]|0;g=f[g+4>>2]|0;if(d|0){f[c>>2]=d+h;b=KA(h|0,g|0,b|0,((b|0)<0)<<31>>31|0)|0;c=ba()|0;l=a;f[l>>2]=b;f[l+4>>2]=c;l=0;t=m;return l|0}k=a+40|0;d=f[k>>2]|0;e=((d|0)<0)<<31>>31;j=RA(h|0,g|0,d|0,e|0)|0;ba()|0;do if(!j){i=a+8|0;i=LA(f[i>>2]|0,f[i+4>>2]|0,h|0,g|0)|0;n=ba()|0;o=f[a+24>>2]|0;d=mb[f[(f[o>>2]|0)+8>>2]&127](o,f[a+36>>2]|0,(n|0)>(e|0)|(n|0)==(e|0)&i>>>0>d>>>0?d:i,h,g)|0;if(!d){d=f[k>>2]|0;break}else{o=d;t=m;return o|0}}while(0);i=d-j|0;if((i|0)>=(b|0)){f[c>>2]=(f[a+36>>2]|0)+j;l=a;l=KA(f[l>>2]|0,f[l+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;n=ba()|0;o=a;f[o>>2]=l;f[o+4>>2]=n;o=0;t=m;return o|0}h=a+16|0;d=f[h>>2]|0;do if((d|0)<(b|0)){e=(d|0)<64?128:d<<1;while(1)if((e|0)<(b|0))e=e<<1;else break;g=a+28|0;d=Nc(f[g>>2]|0,e,((e|0)<0)<<31>>31)|0;if(!d){o=7;t=m;return o|0}else{f[h>>2]=e;f[g>>2]=d;h=g;break}}else{d=a+28|0;h=d;d=f[d>>2]|0}while(0);YA(d|0,(f[a+36>>2]|0)+j|0,i|0)|0;n=a;n=KA(f[n>>2]|0,f[n+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;o=ba()|0;d=a;f[d>>2]=n;f[d+4>>2]=o;d=b-i|0;a:do if((d|0)>0){while(1){g=f[k>>2]|0;g=(d|0)>(g|0)?g:d;e=Zj(a,g,l)|0;if(e|0)break;YA((f[h>>2]|0)+(b-d)|0,f[l>>2]|0,g|0)|0;d=d-g|0;if((d|0)<=0)break a}o=e;t=m;return o|0}while(0);f[c>>2]=f[h>>2];o=0;t=m;return o|0}function _j(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=t;t=t+16|0;i=j+8|0;h=j;c=f[9393]|0;if(c|0?ib[c&255](202)|0:0){i=3338;t=j;return i|0}g=f[a>>2]|0;e=f[g+4>>2]|0;d=KA(e|0,((e|0)<0)<<31>>31|0,-1,-1)|0;c=ba()|0;do if(c>>>0>0|(c|0)==0&d>>>0>2147483390)a=7;else{if(!(f[9328]|0)){a=ib[f[37356>>2]&255](e)|0;if(!a){a=7;break}else c=a}else{a=ib[f[37372>>2]&255](e)|0;if((f[18194]|0)>>>0>>0)f[18194]=e;d=71896;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){k=f[18187]|0;d=LA(c|0,d|0,a|0,((a|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&d>>>0<=k>>>0)&1}c=ib[f[37356>>2]&255](a)|0;if(!c){a=7;break}a=ib[f[37368>>2]&255](c)|0;a=(f[18187]|0)+a|0;f[18187]=a;if(a>>>0>(f[18191]|0)>>>0)f[18191]=a;a=(f[18190]|0)+1|0;f[18190]=a;if(a>>>0>(f[18196]|0)>>>0)f[18196]=a}_A(c|0,0,e|0)|0;a=mb[f[g+24>>2]&127](g,0,c,4126,i)|0;if(a|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{k=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}f[b>>2]=c;f[i>>2]=0;a=h;f[a>>2]=0;f[a+4>>2]=0;a=f[c>>2]|0;if(!a)a=0;else{kb[f[a+40>>2]&127](c,18,h)|0;a=f[i>>2]|0}k=a;t=j;return k|0}while(0);f[i>>2]=a;k=a;t=j;return k|0}function $j(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=t;t=t+16|0;p=s;r=d+(h[d>>0]|0)|0;q=g+(h[g>>0]|0)|0;k=d+1|0;o=b[k>>0]|0;l=o&255;do if(o<<24>>24<=-1){m=h[d+2>>0]|0;if(!(m&128)){o=l<<7&16256|m;break}n=h[d+3>>0]|0;if(!(n&128)){o=(l<<14|n)&2080895|m<<7&16256;break}else{Th(k,p)|0;n=p;o=f[n>>2]|0;o=((o|0)==(o|0)?0==(f[n+4>>2]|0):0)?o:-1;break}}else o=l;while(0);l=g+1|0;n=b[l>>0]|0;k=n&255;do if(n<<24>>24<=-1){m=h[g+2>>0]|0;if(!(m&128)){k=k<<7&16256|m;break}n=h[g+3>>0]|0;if(!(n&128)){k=(k<<14|n)&2080895|m<<7&16256;break}else{Th(l,p)|0;k=f[p>>2]|0;k=((k|0)==(k|0)?0==(f[p+4>>2]|0):0)?k:-1;break}}while(0);l=Hz(r,q,(((o|0)<(k|0)?o:k)+-13|0)/2|0)|0;m=o-k|0;if(!l){k=f[(f[a+8>>2]|0)+28>>2]|0;if(!m){if((j[k+6>>1]|0)<=1){i=0;t=s;return i|0}l=f[a+12>>2]|0;if(!(f[c>>2]|0)){hj(k,i,g,l);f[c>>2]=1}i=lj(e,d,l,1)|0;t=s;return i|0}else l=m}else k=f[(f[a+8>>2]|0)+28>>2]|0;i=(b[f[k+16>>2]>>0]|0)==0?l:0-l|0;t=s;return i|0}function ak(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;h=f[a+12>>2]|0;if(!(f[b>>2]|0)){hj(f[(f[a+8>>2]|0)+28>>2]|0,g,e,h);f[b>>2]=1}return lj(d,c,h,0)|0}function bk(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=b[d+1>>0]|0;o=k&255;l=b[g+1>>0]|0;p=d+(h[d>>0]|0)|0;q=g+(h[g>>0]|0)|0;a:do if(k<<24>>24!=l<<24>>24){m=(k&255)>7;n=(l&255)>7;k=o-(l&255)|0;do if(!(m&n)){k=n?1:m?-1:k;if((k|0)<=0)if((b[q>>0]|0)<0){k=1;r=12;break a}else break;else{k=(b[p>>0]|0)<0?-1:k;break}}while(0);l=f[(f[a+8>>2]|0)+28>>2]|0;if(k){i=k;g=l;g=g+16|0;g=f[g>>2]|0;g=b[g>>0]|0;g=g<<24>>24==0;r=0-i|0;r=g?i:r;return r|0}}else{m=h[46107+o>>0]|0;b:do if((o+-1|0)>>>0<6){k=0;while(1){l=(h[p+k>>0]|0)-(h[q+k>>0]|0)|0;k=k+1|0;if(l|0)break;if(k>>>0>=m>>>0)break b}k=b[p>>0]|0;k=(b[q>>0]^k)<<24>>24<0?(((k&255)>>>6&2^2)&255)+-1|0:l;r=12;break a}while(0);l=f[(f[a+8>>2]|0)+28>>2]|0}while(0);if((r|0)==12){i=k;g=f[(f[a+8>>2]|0)+28>>2]|0;g=g+16|0;g=f[g>>2]|0;g=b[g>>0]|0;g=g<<24>>24==0;r=0-i|0;r=g?i:r;return r|0}if((j[l+6>>1]|0)<=1){r=0;return r|0}k=f[a+12>>2]|0;if(!(f[c>>2]|0)){hj(l,i,g,k);f[c>>2]=1}r=lj(e,d,k,1)|0;return r|0}function ck(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+16|0;k=q;if(f[g>>2]|0){t=q;return}p=f[a+56>>2]|0;l=(f[a+64>>2]|0)+(c<<1)|0;i=(h[l>>0]|0)<<8|(h[l+1>>0]|0);m=a+9|0;n=h[m>>0]|0;o=a+52|0;if((i+e|0)>>>0>(f[(f[o>>2]|0)+36>>2]|0)>>>0){f[k>>2]=42469;f[k+4>>2]=69484;f[k+8>>2]=40460;Ac(11,40408,k);f[g>>2]=11;t=q;return}i=hk(a,i&65535,e&65535)|0;if(i|0){f[g>>2]=i;t=q;return}i=a+22|0;e=(d[i>>1]|0)+-1<<16>>16;d[i>>1]=e;if(!(e<<16>>16)){l=p+(n+1)|0;b[l>>0]=0;b[l+1>>0]=0;b[l+2>>0]=0;b[l+3>>0]=0;b[p+(n+7)>>0]=0;p=p+(n+5)|0;b[p>>0]=(f[(f[o>>2]|0)+36>>2]|0)>>>8;b[p+1>>0]=f[(f[o>>2]|0)+36>>2];d[a+20>>1]=(f[(f[o>>2]|0)+36>>2]|0)+65528-(h[m>>0]|0)-(h[a+10>>0]|0);t=q;return}else{ZA(l|0,l+2|0,(e&65535)-c<<1|0)|0;p=p+(n+3)|0;b[p>>0]=(j[i>>1]|0)>>>8;b[p+1>>0]=d[i>>1];p=a+20|0;d[p>>1]=(j[p>>1]|0)+2;t=q;return}}function dk(a,c,e,g,i,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+48|0;o=A+24|0;z=A;n=a+12|0;if((b[n>>0]|0)==0?(x=g+2|0,y=a+20|0,(x|0)<=(j[y>>1]|0)):0){i=f[a+72>>2]|0;n=f[i+20>>2]|0;if((d[i+28>>1]&4)!=0?(f[n+24>>2]|0)>>>0>=(f[i+24>>2]|0)>>>0:0){if(f[n+96>>2]|0){m=Ng(i)|0;w=16}}else w=12;do if((w|0)==12){m=f[n+40>>2]|0;if(!m)if((f[n+148>>2]|0)>>>0>(f[n+152>>2]|0)>>>0){m=Og(i)|0;w=16;break}else{m=Pg(i)|0;w=16;break}else w=17}while(0);if((w|0)==16?m|0:0)w=17;if((w|0)==17){f[l>>2]=m;t=A;return}s=f[a+56>>2]|0;u=a+9|0;n=b[u>>0]|0;i=n&255;f[z>>2]=0;v=a+22|0;p=(j[v>>1]<<1)+(j[a+18>>1]|0)|0;q=s+(i+5)|0;r=q+1|0;m=h[q>>0]<<8|h[r>>0];do if(p>>>0>m>>>0){if((m|0)==0?(f[(f[a+52>>2]|0)+36>>2]|0)==65536:0){o=65536;w=22;break}f[o>>2]=42469;f[o+4>>2]=64547;f[o+8>>2]=40460;Ac(11,40408,o);m=11}else{o=m;w=22}while(0);a:do if((w|0)==22){if(!(b[s+(i+2)>>0]|0)){m=p+2|0;if((m|0)>(o|0)?1:(b[s+(i+1)>>0]|0)==0)w=29;else w=25}else{m=p+2|0;if((m|0)>(o|0))w=29;else w=25}do if((w|0)==25){m=ik(n,f[(f[a+52>>2]|0)+36>>2]|0,s,g,z)|0;if(m|0){i=m-s|0;break}m=f[z>>2]|0;if(m|0)break a;m=p+2|0;w=29}while(0);if((w|0)==29){if((m+g|0)>(o|0)){m=-2-g+(j[y>>1]|0)|0;m=jk(a,(m|0)<4?m:4)|0;f[z>>2]=m;if(m|0)break;m=((h[q>>0]<<8|h[r>>0])+65535&65535)+1|0}else m=o;i=m-g|0;b[q>>0]=i>>>8;b[r>>0]=i}d[y>>1]=(j[y>>1]|0)-x;m=s+i|0;YA(m|0,e|0,g|0)|0;if(k|0){b[m>>0]=k>>>24;b[m+1>>0]=k>>>16;b[m+2>>0]=k>>>8;b[m+3>>0]=k}k=(f[a+64>>2]|0)+(c<<1)|0;ZA(k+2|0,k|0,(j[v>>1]|0)-c<<1|0)|0;b[k>>0]=i>>>8;b[k+1>>0]=i;d[v>>1]=(d[v>>1]|0)+1<<16>>16;c=s+((h[u>>0]|0)+4)|0;k=(b[c>>0]|0)+1<<24>>24;b[c>>0]=k;if(!(k<<24>>24)){k=s+((h[u>>0]|0)+3)|0;b[k>>0]=(b[k>>0]|0)+1<<24>>24}m=a+52|0;if(!(b[(f[m>>2]|0)+17>>0]|0)){t=A;return}if((f[l>>2]|0)==0?(qb[f[a+80>>2]&255](a,e,z),(f[z+12>>2]|0)>>>0>(j[z+16>>1]|0)>>>0):0){z=e+((j[z+18>>1]|0)+-4)|0;Oh(f[m>>2]|0,h[z+1>>0]<<16|h[z>>0]<<24|h[z+2>>0]<<8|h[z+3>>0],3,f[a+4>>2]|0,l)}t=A;return}while(0);f[l>>2]=m;t=A;return}if(!i)m=e;else{YA(i|0,e|0,g|0)|0;m=i}if(k|0){b[m>>0]=k>>>24;b[m+1>>0]=k>>>16;b[m+2>>0]=k>>>8;b[m+3>>0]=k}l=b[n>>0]|0;b[n>>0]=l+1<<24>>24;l=l&255;f[a+36+(l<<2)>>2]=m;d[a+26+(l<<1)>>1]=c;t=A;return}function ek(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0;$a=t;t=t+432|0;Za=$a+336|0;Ya=$a+320|0;Wa=$a+304|0;Va=$a+288|0;Ua=$a+272|0;Ta=$a+256|0;_a=$a+240|0;Xa=$a+224|0;Sa=$a+208|0;ea=$a+184|0;ma=$a+396|0;xa=$a+384|0;La=$a+160|0;Ma=$a+376|0;Oa=$a+128|0;Pa=$a+96|0;Qa=$a+64|0;Ra=$a+368|0;fa=$a+423|0;ga=$a+32|0;ha=$a;ia=$a+400|0;ja=$a+352|0;ka=$a+410|0;la=a+20|0;na=(f[(f[la>>2]|0)+36>>2]<<1>>>0)/3|0;oa=a+68|0;pa=a+116|0;qa=a+124|0;ra=a+70|0;sa=a+72|0;ta=a+120|0;ua=a+3|0;va=ja+8|0;ya=ka+4|0;Ca=ja+12|0;Da=ja+4|0;Ea=ea+16|0;Fa=ea+12|0;Ga=ea+18|0;Ha=ka;Ia=ea+16|0;Ja=ea+12|0;Ka=ea+18|0;e=0;i=b[oa>>0]|0;da=f[pa>>2]|0;do{c=i<<24>>24;ca=da+12|0;g=(b[ca>>0]|0)==0;if(!(i<<24>>24)){if(g){g=0;break}f[ma>>2]=0;f[xa>>2]=0;m=da+52|0;l=f[m>>2]|0;c=f[da+72>>2]|0;i=f[c+20>>2]|0;do if((d[c+28>>1]&4)!=0?(f[i+24>>2]|0)>>>0>=(f[c+24>>2]|0)>>>0:0)if(!(f[i+96>>2]|0)){f[ea>>2]=0;_=15;break}else{g=Ng(c)|0;_=14;break}else _=9;while(0);do if((_|0)==9){g=f[i+40>>2]|0;if(g|0){f[ea>>2]=g;_=23;break}if((f[i+148>>2]|0)>>>0>(f[i+152>>2]|0)>>>0){g=Og(c)|0;_=14;break}else{g=Pg(c)|0;_=14;break}}while(0);if((_|0)==14){f[ea>>2]=g;if(!g)_=15;else _=23}do if((_|0)==15){_=0;i=da+4|0;g=Lh(l,ma,xa,f[i>>2]|0,0)|0;f[ea>>2]=g;k=f[ma>>2]|0;v=k;do if(!g){c=f[m>>2]|0;aa=f[da+56>>2]|0;Z=f[k+56>>2]|0;g=h[da+9>>0]|0;$=(f[k+4>>2]|0)==1?100:0;Y=aa+(g+5)|0;Y=h[Y>>0]<<8|h[Y+1>>0];YA(Z+Y|0,aa+Y|0,(f[c+36>>2]|0)-Y|0)|0;YA(Z+$|0,aa+g|0,(j[da+22>>1]<<1)+(j[da+18>>1]|0)|0)|0;b[k>>0]=0;g=Ph(k)|0;if(g|0){f[ea>>2]=g;break}if(!(b[c+17>>0]|0))g=0;else{g=Nh(k)|0;f[ea>>2]=g}}while(0);if(b[l+17>>0]|0){Oh(l,f[xa>>2]|0,5,f[i>>2]|0,ea);g=f[ea>>2]|0}if(g|0){f[qa>>2]=0;if(!k)break;c=f[k+72>>2]|0;if(!(d[c+28>>1]&32)){bh(c);break}else{ca=f[c+20>>2]|0;aa=ca+120|0;f[aa>>2]=(f[aa>>2]|0)+-1;ca=ca+136|0;f[c+16>>2]=f[ca>>2];f[ca>>2]=c;break}}YA(k+26|0,da+26|0,h[ca>>0]<<1|0)|0;YA(k+36|0,da+36|0,h[ca>>0]<<2|0)|0;b[k+12>>0]=b[ca>>0]|0;l=b[f[k+56>>2]>>0]&-9;q=da+56|0;r=f[q>>2]|0;s=f[m>>2]|0;u=da+9|0;g=h[u>>0]|0;if(!(d[s+22>>1]&12)){c=r+g|0;p=s+36|0}else{p=s+36|0;c=r+g|0;_A(c|0,0,(f[p>>2]|0)-g|0)|0}b[c>>0]=l;n=g+12|0;o=n&65535;c=r+(g+1)|0;b[c>>0]=0;b[c+1>>0]=0;b[c+2>>0]=0;b[c+3>>0]=0;b[r+(g+7)>>0]=0;c=r+(g+5)|0;b[c>>0]=(f[p>>2]|0)>>>8;b[c+1>>0]=f[p>>2];d[da+20>>1]=(f[p>>2]|0)-n;c=(l&255)>>>3;i=c&255;b[da+8>>0]=i;c=4-(c<<2)&255;g=da+10|0;b[g>>0]=c;k=da+76|0;f[k>>2]=149;m=f[m>>2]|0;switch(l<<24>>24){case 5:{b[da+2>>0]=1;g=da+3|0;if(!(i<<24>>24)){b[g>>0]=0;f[k>>2]=150;g=191}else{b[g>>0]=1;g=189}f[da+80>>2]=g;d[da+14>>1]=d[m+28>>1]|0;g=m+30|0;_=38;break}case 2:{b[da+2>>0]=0;b[da+3>>0]=0;f[da+80>>2]=190;d[da+14>>1]=d[m+24>>1]|0;g=m+26|0;_=38;break}default:{f[Sa>>2]=42469;f[Sa+4>>2]=64757;f[Sa+8>>2]=40460;Ac(11,40408,Sa);c=b[g>>0]|0}}if((_|0)==38){d[da+16>>1]=d[g>>1]|0;b[da+11>>0]=b[m+21>>0]|0}d[da+18>>1]=o;f[da+60>>2]=r+(f[p>>2]|0);f[da+64>>2]=r+n;f[da+68>>2]=r+(c&255);b[ca>>0]=0;d[da+24>>1]=(f[s+32>>2]|0)+65535;d[da+22>>1]=0;b[da>>0]=1;g=(f[q>>2]|0)+((h[u>>0]|0)+8)|0;ca=f[xa>>2]|0;b[g>>0]=ca>>>24;b[g+1>>0]=ca>>>16;b[g+2>>0]=ca>>>8;b[g+3>>0]=ca;f[qa>>2]=v;g=0}else if((_|0)==23)f[qa>>2]=0;while(0);if(g|0)break;b[oa>>0]=1;d[ra>>1]=0;d[sa>>1]=0;f[ta>>2]=da;g=0;i=1;c=qa}else{if(g?na>>>0>=(j[da+20>>1]|0)>>>0:0){g=0;break}m=c+-1|0;aa=f[a+120+(m<<2)>>2]|0;m=d[a+72+(m<<1)>>1]|0;n=m&65535;c=f[aa+72>>2]|0;k=f[c+20>>2]|0;if((d[c+28>>1]&4)!=0?(f[k+24>>2]|0)>>>0>=(f[c+24>>2]|0)>>>0:0)if(!(f[k+96>>2]|0))_=53;else{g=Ng(c)|0;_=52}else _=48;do if((_|0)==48){_=0;g=f[k+40>>2]|0;if(!g)if((f[k+148>>2]|0)>>>0>(f[k+152>>2]|0)>>>0){g=Og(c)|0;_=52;break}else{g=Pg(c)|0;_=52;break}}while(0);if((_|0)==52){_=0;if(!g)_=53}a:do if((_|0)==53){_=0;if((((b[da+3>>0]|0?(b[ca>>0]|0)==1:0)?(wa=d[da+26>>1]|0,za=da+22|0,wa<<16>>16==(d[za>>1]|0)):0)?(Aa=aa+4|0,(f[Aa>>2]|0)!=1):0)?(Ba=aa+22|0,(d[Ba>>1]|0)==m<<16>>16):0){u=f[da+52>>2]|0;do if(wa<<16>>16){g=Lh(u,ma,La,0,0)|0;f[xa>>2]=g;if(!g){p=f[da+36>>2]|0;f[Ma>>2]=p;q=jb[f[da+76>>2]&255](da,p)|0;d[Oa>>1]=q;r=f[ma>>2]|0;n=f[r+56>>2]|0;s=r+52|0;o=f[s>>2]|0;g=h[r+9>>0]|0;if(!(d[o+22>>1]&12)){c=n+g|0;m=o+36|0}else{m=o+36|0;c=n+g|0;_A(c|0,0,(f[m>>2]|0)-g|0)|0}b[c>>0]=13;$=g+8|0;c=n+(g+1)|0;b[c>>0]=0;b[c+1>>0]=0;b[c+2>>0]=0;b[c+3>>0]=0;b[n+(g+7)>>0]=0;c=n+(g+5)|0;b[c>>0]=(f[m>>2]|0)>>>8;b[c+1>>0]=f[m>>2];c=r+20|0;d[c>>1]=(f[m>>2]|0)-$;b[r+8>>0]=1;b[r+10>>0]=0;f[r+76>>2]=149;l=f[s>>2]|0;b[r+2>>0]=1;b[r+3>>0]=1;i=r+80|0;f[i>>2]=189;d[r+14>>1]=d[l+28>>1]|0;k=r+16|0;d[k>>1]=d[l+30>>1]|0;b[r+11>>0]=b[l+21>>0]|0;l=r+18|0;d[l>>1]=$;f[r+60>>2]=n+(f[m>>2]|0);f[r+64>>2]=n+$;f[r+68>>2]=n;b[r+12>>0]=0;d[r+24>>1]=(f[o+32>>2]|0)+65535;d[r+22>>1]=0;b[r>>0]=1;g=fk(r,1,Ma,Oa)|0;f[xa>>2]=g;if(g|0)break;d[c>>1]=65534-(q&65535)+(f[u+36>>2]|0)-(j[l>>1]|0);if(b[u+17>>0]|0?(Oh(u,f[La>>2]|0,5,f[Aa>>2]|0,xa),(q&65535)>(j[k>>1]|0)):0)do if(!(f[xa>>2]|0)){qb[f[i>>2]&255](r,p,ea);if((f[Fa>>2]|0)>>>0<=(j[Ea>>1]|0)>>>0)break;$=p+((j[Ga>>1]|0)+-4)|0;Oh(f[s>>2]|0,h[$+1>>0]<<16|h[$>>0]<<24|h[$+2>>0]<<8|h[$+3>>0],3,f[r+4>>2]|0,xa)}while(0);i=(f[da+64>>2]|0)+((j[za>>1]<<1)+-2)|0;i=(f[da+56>>2]|0)+((h[i>>0]<<8|h[i+1>>0])&j[da+24>>1])|0;f[Ma>>2]=i;g=0;while(1){c=g+1|0;if(c>>>0<9&(b[i+g>>0]|0)<0)g=c;else break}$=i+c|0;f[Ma>>2]=$;g=i+g+10|0;c=ya;i=$;do{f[Ma>>2]=i+1;$=b[i>>0]|0;_=c;c=c+1|0;b[_>>0]=$;i=f[Ma>>2]|0}while($<<24>>24<0&i>>>0>>0);if(!(f[xa>>2]|0))dk(aa,j[Ba>>1]|0,ka,c-Ha|0,0,f[da+4>>2]|0,xa);c=(f[aa+56>>2]|0)+((h[aa+9>>0]|0)+8)|0;aa=f[La>>2]|0;b[c>>0]=aa>>>24;b[c+1>>0]=aa>>>16;b[c+2>>0]=aa>>>8;b[c+3>>0]=aa;c=f[ma>>2]|0;do if(c|0){c=f[c+72>>2]|0;if(!(d[c+28>>1]&32)){bh(c);break}else{aa=f[c+20>>2]|0;$=aa+120|0;f[$>>2]=(f[$>>2]|0)+-1;aa=aa+136|0;f[c+16>>2]=f[aa>>2];f[aa>>2]=c;break}}while(0);g=f[xa>>2]|0}}else{f[Xa>>2]=42469;f[Xa+4>>2]=69985;f[Xa+8>>2]=40460;Ac(11,40408,Xa);g=11}while(0);break}l=f[(f[la>>2]|0)+32>>2]|0;if((f[18019]|0)>=(l|0)?(Na=f[18025]|0,(Na|0)!=0):0){f[18025]=f[Na>>2];$=f[18026]|0;f[18026]=$+-1;f[18027]=($|0)<=(f[18021]|0)&1;if((f[18195]|0)>>>0>>0)f[18195]=l;c=(f[18188]|0)+1|0;f[18188]=c;if(c>>>0>(f[18192]|0)>>>0){f[18192]=c;$=Na}else $=Na}else _=90;do if((_|0)==90){$=KA(l|0,((l|0)<0)<<31>>31|0,-1,-1)|0;_=ba()|0;if(!(_>>>0>0|(_|0)==0&$>>>0>2147483390)){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](l)|0;if(!c){$=0;break}}else{c=ib[f[37372>>2]&255](l)|0;if((f[18194]|0)>>>0>>0)f[18194]=l;k=71896;g=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&g>>>0>0){$=f[18187]|0;_=LA(g|0,k|0,c|0,((c|0)<0)<<31>>31|0)|0;Z=ba()|0;f[17976]=((Z|0)<0|(Z|0)==0&_>>>0<=$>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c){$=0;break}g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}g=ib[f[37368>>2]&255](c)|0;if((f[18195]|0)>>>0>>0)f[18195]=l;g=(f[18189]|0)+g|0;f[18189]=g;if(g>>>0>(f[18193]|0)>>>0){f[18193]=g;$=c}else $=c}else $=0}while(0);W=i<<24>>24==1;F=b[ua>>0]&1;i=F&255;f[ma>>2]=0;b[fa>>0]=0;b[fa+1>>0]=0;b[fa+2>>0]=0;b[fa+3>>0]=0;b[fa+4>>0]=0;f[ja>>2]=0;f[va>>2]=0;Y=f[aa+52>>2]|0;if(!$)g=7;else{z=aa+12|0;k=h[z>>0]|0;X=aa+22|0;l=j[X>>1]|0;c=l+k|0;if(c>>>0<2)g=0;else{do if(m<<16>>16)if((c|0)==(n|0)){g=(i|-2)+n|0;break}else{g=n+-1|0;break}else g=0;while(0);c=2-i|0}Z=c+1|0;i=g-k+c|0;V=aa+56|0;if((i|0)==(l|0))i=(h[aa+9>>0]|0)+8|0;else{i=(f[aa+64>>2]|0)+(i<<1)|0;i=(h[i>>0]<<8|h[i+1>>0])&j[aa+24>>1]}I=(f[V>>2]|0)+i|0;J=I+1|0;K=I+2|0;L=I+3|0;k=h[J>>0]<<16|h[I>>0]<<24|h[K>>0]<<8|h[L>>0];f[Ra>>2]=k;i=xa+(c<<2)|0;_=aj(Y,k,i,0,0)|0;f[ma>>2]=_;b:do if(!_){r=aa+24|0;s=aa+64|0;P=aa+76|0;u=Y+22|0;v=aa+26|0;M=Y+36|0;w=aa+36|0;x=0;y=c;while(1){q=f[i>>2]|0;x=x+1+(j[q+22>>1]|0)+(h[q+12>>0]|0)|0;q=y+-1|0;if(!y){_=130;break}i=b[z>>0]|0;p=q+g|0;if(i<<24>>24!=0?(p|0)==(j[v>>1]|0):0){_=f[w>>2]|0;f[Ma+(q<<2)>>2]=_;k=h[_+1>>0]<<16|h[_>>0]<<24|h[_+2>>0]<<8|h[_+3>>0];_=(jb[f[P>>2]&255](aa,_)|0)&65535;f[Qa+(q<<2)>>2]=_;b[z>>0]=0}else{i=(f[s>>2]|0)+(p-(i&255)<<1)|0;i=(f[V>>2]|0)+((h[i>>0]<<8|h[i+1>>0])&j[r>>1])|0;l=Ma+(q<<2)|0;f[l>>2]=i;k=h[i+1>>0]<<16|h[i>>0]<<24|h[i+2>>0]<<8|h[i+3>>0];m=(jb[f[P>>2]&255](aa,i)|0)&65535;f[Qa+(q<<2)>>2]=m;n=i;if(d[u>>1]&12){o=n-(f[V>>2]|0)|0;if((o+m|0)>(f[M>>2]|0)){_=127;break}YA($+o|0,i|0,m|0)|0;f[l>>2]=$+(n-(f[V>>2]|0))}ck(aa,p-(h[z>>0]|0)|0,m,ma)}i=xa+(q<<2)|0;_=aj(Y,k,i,0,0)|0;f[ma>>2]=_;if(_|0){_=118;break}else y=q}if((_|0)==118){f[Ra>>2]=k;c=q;_=119;break}else if((_|0)==127){_=0;f[Ra>>2]=k;f[_a>>2]=42469;f[_a+4>>2]=70326;f[_a+8>>2]=40460;Ac(11,40408,_a);f[ma>>2]=11;_A(xa|0,0,y<<2|0)|0;c=0;break}else if((_|0)==130){_=0;f[Ra>>2]=k;m=x+3&-4;i=(f[Y+32>>2]|0)+(m*6|0)|0;U=KA(i|0,((i|0)<0)<<31>>31|0,-1,-1)|0;T=ba()|0;do if(T>>>0>0|(T|0)==0&U>>>0>2147483390)_=141;else{if(!(f[9328]|0)){i=ib[f[37356>>2]&255](i)|0;f[va>>2]=i;if(!i)break}else{l=ib[f[37372>>2]&255](i)|0;if((f[18194]|0)>>>0>>0)f[18194]=i;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){U=f[18187]|0;T=LA(i|0,k|0,l|0,((l|0)<0)<<31>>31|0)|0;S=ba()|0;f[17976]=((S|0)<0|(S|0)==0&T>>>0<=U>>>0)&1}i=ib[f[37356>>2]&255](l)|0;if(!i){_=141;break}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k;f[va>>2]=i}q=i+(m<<2)|0;f[Ca>>2]=q;A=q+(m<<1)|0;C=f[xa>>2]|0;f[Da>>2]=C;N=h[C+8>>0]<<2;U=N&65535;O=b[C+3>>0]|0;D=O&255;E=C+56|0;B=O<<24>>24!=0;w=f[E>>2]|0;u=C+18|0;m=j[u>>1]|0;i=0;z=0;y=C;l=w+m|0;x=E;while(1){s=y+22|0;v=d[y+24>>1]|0;k=f[ja>>2]|0;r=y+12|0;_A(q+(k<<1)|0,0,(h[r>>0]|0)+(j[s>>1]|0)<<1|0)|0;r=b[r>>0]|0;if(r<<24>>24){T=d[y+26>>1]|0;q=T&65535;if(T<<16>>16){p=v&65535;o=(q<<1)+m|0;n=0;m=k;while(1){f[(f[va>>2]|0)+(m<<2)>>2]=w+((h[l>>0]<<8|h[l+1>>0])&p);m=m+1|0;f[ja>>2]=m;n=n+1|0;if((n|0)==(q|0))break;else l=l+2|0}l=w+o|0;k=k+q|0}n=r&255;m=0;o=k;while(1){f[(f[va>>2]|0)+(o<<2)>>2]=f[y+36+(m<<2)>>2];m=m+1|0;if((m|0)==(n|0))break;else o=o+1|0}k=k+n|0;f[ja>>2]=k}n=j[u>>1]|0;m=j[s>>1]<<1;p=w+n+m|0;if(l>>>0

>>0){o=v&65535;n=(w+-1+(m+n-l)|0)>>>1;m=k;do{f[(f[va>>2]|0)+(m<<2)>>2]=w+((h[l>>0]<<8|h[l+1>>0])&o);l=l+2|0;m=m+1|0;f[ja>>2]=m}while(l>>>0

>>0);k=k+1+n|0}f[Pa+(z<<2)>>2]=k;if(!(B|(z|0)>=(c|0))){l=f[Qa+(z<<2)>>2]|0;d[(f[Ca>>2]|0)+(k<<1)>>1]=l;T=A+i|0;l=l&65535;i=l+i|0;YA(T|0,f[Ma+(z<<2)>>2]|0,l|0)|0;f[(f[va>>2]|0)+(k<<2)>>2]=T+N;T=(f[Ca>>2]|0)+(k<<1)|0;l=(j[T>>1]|0)-N&65535;d[T>>1]=l;do if(!(b[y+8>>0]|0)){k=f[(f[va>>2]|0)+(k<<2)>>2]|0;T=(f[x>>2]|0)+8|0;T=h[T>>0]|h[T+1>>0]<<8|h[T+2>>0]<<16|h[T+3>>0]<<24;b[k>>0]=T;b[k+1>>0]=T>>8;b[k+2>>0]=T>>16;b[k+3>>0]=T>>24;k=f[ja>>2]|0}else{if((l&65535)>=4)break;while(1){l=i+1|0;b[A+i>>0]=0;k=f[ja>>2]|0;S=(f[Ca>>2]|0)+(k<<1)|0;T=(d[S>>1]|0)+1<<16>>16;d[S>>1]=T;if((T&65535)<4)i=l;else{i=l;break}}}while(0);f[ja>>2]=k+1}l=z+1|0;if((z|0)>=(c|0))break;k=f[xa+(l<<2)>>2]|0;p=k+56|0;n=f[p>>2]|0;o=k+18|0;m=j[o>>1]|0;if((b[n>>0]|0)!=(b[f[E>>2]>>0]|0)){_=165;break}z=l;y=k;l=n+m|0;q=f[Ca>>2]|0;w=n;u=o;x=p}if((_|0)==165){_=0;f[Ta>>2]=42469;f[Ta+4>>2]=70391;f[Ta+8>>2]=40460;Ac(11,40408,Ta);f[ma>>2]=11;c=0;break b}T=N+-12+(f[M>>2]|0)|0;p=0;l=C;while(1){i=T-(j[l+20>>1]|0)|0;m=Qa+(p<<2)|0;f[m>>2]=i;n=l+12|0;if(b[n>>0]|0){o=l+76|0;k=0;do{i=i+2+((jb[f[o>>2]&255](l,f[l+36+(k<<2)>>2]|0)|0)&65535)|0;f[m>>2]=i;k=k+1|0}while(k>>>0<(h[n>>0]|0)>>>0)}f[Oa+(p<<2)>>2]=f[Pa+(p<<2)>>2];i=p+1|0;if((i|0)==(Z|0))break;p=i;l=f[xa+(i<<2)>>2]|0}c:do if((c|0)>-1){w=O<<24>>24==0;o=Z;i=0;d:while(1){v=Qa+(i<<2)|0;l=f[v>>2]|0;e:do if((l|0)>(T|0)){p=i+1|0;u=Oa+(i<<2)|0;q=i+2|0;s=Qa+(p<<2)|0;r=Oa+(p<<2)|0;if(q>>>0>5){if((p|0)>=(o|0)){_=207;break d}k=f[u>>2]|0;if(!w){m=l;while(1){k=k+-1|0;l=d[(f[Ca>>2]|0)+(k<<1)>>1]|0;if(!(l<<16>>16))l=gk(ja,k)|0;S=(l&65535)+2|0;l=m-S|0;f[v>>2]=l;f[s>>2]=(f[s>>2]|0)+S;f[u>>2]=k;if((l|0)>(T|0))m=l;else{r=o;q=u;break e}}}n=k;m=l;while(1){k=n+-1|0;l=d[(f[Ca>>2]|0)+(k<<1)>>1]|0;if(!(l<<16>>16))l=gk(ja,k)|0;m=m-((l&65535)+2)|0;f[v>>2]=m;if((n|0)<(f[ja>>2]|0)){l=d[(f[Ca>>2]|0)+(n<<1)>>1]|0;if(!(l<<16>>16))l=gk(ja,n)|0;l=(l&65535)+2|0}else l=0;f[s>>2]=(f[s>>2]|0)+l;f[u>>2]=k;if((m|0)>(T|0))n=k;else{r=o;q=u;l=m;break e}}}if(!w){k=o;while(1){if((p|0)<(k|0))n=k;else{f[s>>2]=0;f[r>>2]=f[ja>>2];n=q}k=(f[u>>2]|0)+-1|0;m=d[(f[Ca>>2]|0)+(k<<1)>>1]|0;if(!(m<<16>>16))m=gk(ja,k)|0;S=(m&65535)+2|0;l=l-S|0;f[v>>2]=l;f[s>>2]=(f[s>>2]|0)+S;f[u>>2]=k;if((l|0)>(T|0))k=n;else{r=n;q=u;break e}}}k=o;while(1){if((p|0)<(k|0))o=k;else{f[s>>2]=0;f[r>>2]=f[ja>>2];o=q}n=f[u>>2]|0;k=n+-1|0;m=d[(f[Ca>>2]|0)+(k<<1)>>1]|0;if(!(m<<16>>16))m=gk(ja,k)|0;l=l+-2-(m&65535)|0;f[v>>2]=l;if((n|0)<(f[ja>>2]|0)){m=d[(f[Ca>>2]|0)+(n<<1)>>1]|0;if(!(m<<16>>16))m=gk(ja,n)|0;m=(m&65535)+2|0}else m=0;f[s>>2]=(f[s>>2]|0)+m;f[u>>2]=k;if((l|0)>(T|0))k=o;else{r=o;q=u;break}}}else{k=Oa+(i<<2)|0;r=o;q=k;k=f[k>>2]|0}while(0);f:do if((k|0)<(f[ja>>2]|0)){p=Qa+(i+1<<2)|0;if(!w){m=l;while(1){l=d[(f[Ca>>2]|0)+(k<<1)>>1]|0;if(!(l<<16>>16))l=gk(ja,k)|0;l=(l&65535)+2|0;m=l+m|0;if((m|0)>(T|0))break f;f[v>>2]=m;k=k+1|0;f[q>>2]=k;f[p>>2]=(f[p>>2]|0)-l;if((k|0)>=(f[ja>>2]|0))break f}}o=l;do{l=d[(f[Ca>>2]|0)+(k<<1)>>1]|0;if(!(l<<16>>16))l=gk(ja,k)|0;o=o+2+(l&65535)|0;if((o|0)>(T|0))break f;f[v>>2]=o;k=k+1|0;f[q>>2]=k;m=f[ja>>2]|0;if((k|0)<(m|0)){l=d[(f[Ca>>2]|0)+(k<<1)>>1]|0;if(!(l<<16>>16)){l=gk(ja,k)|0;m=f[ja>>2]|0}n=(l&65535)+2|0;l=m}else{n=0;l=m}f[p>>2]=(f[p>>2]|0)-n}while((k|0)<(l|0))}while(0);if((k|0)>=(f[ja>>2]|0)){_=229;break}if(!i)l=0;else l=f[Oa+(i+-1<<2)>>2]|0;if((k|0)<=(l|0)){_=233;break}i=i+1|0;if((i|0)<(r|0))o=r;else{H=r;break c}}if((_|0)==207){_=0;f[Ua>>2]=42469;f[Ua+4>>2]=70500;f[Ua+8>>2]=40460;Ac(11,40408,Ua);f[ma>>2]=11;c=0;break b}else if((_|0)==229){_=0;H=i+1|0;break}else if((_|0)==233){_=0;f[Va>>2]=42469;f[Va+4>>2]=70533;f[Va+8>>2]=40460;Ac(11,40408,Va);f[ma>>2]=11;c=0;break b}}else H=Z;while(0);u=H+-1|0;g:do if((H|0)>1){i=f[Qa+(u<<2)>>2]|0;h:do if(!(F<<24>>24)){y=u;m=f[Ca>>2]|0;while(1){v=Qa+(y<<2)|0;x=y;y=y+-1|0;w=Qa+(y<<2)|0;n=f[w>>2]|0;s=Oa+(y<<2)|0;l=f[s>>2]|0;k=l-D|0;if(!(d[m+(k<<1)>>1]|0)){gk(ja,k)|0;m=f[Ca>>2]|0}r=(x|0)==(u|0)?0:-2;while(1){q=l+-1|0;if(!(d[m+(q<<1)>>1]|0)){gk(ja,q)|0;m=f[Ca>>2]|0}o=d[m+(k<<1)>>1]|0;if(i){p=i+2+(o&65535)|0;o=j[m+(q<<1)>>1]|0;if((p|0)>(n+r-o|0))break;else i=p}else{i=(o&65535)+2|0;o=j[m+(q<<1)>>1]|0}n=n+-2-o|0;f[s>>2]=q;if((l|0)>1){k=k+-1|0;l=q}else{l=q;break}}f[v>>2]=i;f[w>>2]=n;k=(x|0)>1;if(k)i=f[Oa+(x+-2<<2)>>2]|0;else i=0;if((l|0)<=(i|0))break h;if(!k)break g;else i=n}}else while(1){q=Qa+(u<<2)|0;s=u;u=u+-1|0;r=Qa+(u<<2)|0;m=f[r>>2]|0;p=Oa+(u<<2)|0;n=f[p>>2]|0;l=n-D|0;k=f[Ca>>2]|0;if(!(d[k+(l<<1)>>1]|0)){gk(ja,l)|0;k=f[Ca>>2]|0}o=l;while(1){l=n+-1|0;if(!(d[k+(l<<1)>>1]|0))gk(ja,l)|0;if(i|0){l=n;break}k=f[Ca>>2]|0;i=(j[k+(o<<1)>>1]|0)+2|0;m=m+-2-(j[k+(l<<1)>>1]|0)|0;f[p>>2]=l;if((n|0)<=1)break;else{o=o+-1|0;n=l}}f[q>>2]=i;f[r>>2]=m;k=(s|0)>1;if(k)i=f[Oa+(s+-2<<2)>>2]|0;else i=0;if((l|0)<=(i|0))break h;if(!k)break g;else i=m}while(0);f[Wa>>2]=42469;f[Wa+4>>2]=70575;f[Wa+8>>2]=40460;Ac(11,40408,Wa);f[ma>>2]=11;c=0;break b}while(0);E=b[f[E>>2]>>0]|0;G=E&255;do if((H|0)>0){w=F<<24>>24==0;x=G>>>1&4^12;z=G>>>3;y=z&255;z=4-(z<<2)&255;D=G&247;A=Y+17|0;B=y<<24>>24==0;C=aa+4|0;u=0;v=0;i:while(1){j:do if((v|0)>(c|0)){S=Lh(Y,ea,Ra,w?f[Ra>>2]|0:1,0)|0;f[ma>>2]=S;if(S|0){c=u;break i}s=f[ea>>2]|0;p=f[s+56>>2]|0;l=s+52|0;q=f[l>>2]|0;k=h[s+9>>0]|0;r=s;if(!(d[q+22>>1]&12)){i=p+k|0;o=q+36|0}else{o=q+36|0;i=p+k|0;_A(i|0,0,(f[o>>2]|0)-k|0)|0}b[i>>0]=E;m=x+k|0;n=m&65535;i=p+(k+1)|0;b[i>>0]=0;b[i+1>>0]=0;b[i+2>>0]=0;b[i+3>>0]=0;b[p+(k+7)>>0]=0;i=p+(k+5)|0;b[i>>0]=(f[o>>2]|0)>>>8;b[i+1>>0]=f[o>>2];d[s+20>>1]=(f[o>>2]|0)-m;b[s+8>>0]=y;i=s+10|0;b[i>>0]=z;k=s+76|0;f[k>>2]=149;l=f[l>>2]|0;switch(D<<24>>24){case 5:{b[s+2>>0]=1;i=s+3|0;if(B){b[i>>0]=0;f[k>>2]=150;i=191}else{b[i>>0]=1;i=189}f[s+80>>2]=i;d[s+14>>1]=d[l+28>>1]|0;i=l+30|0;_=289;break}case 2:{b[s+2>>0]=0;b[s+3>>0]=0;f[s+80>>2]=190;d[s+14>>1]=d[l+24>>1]|0;i=l+26|0;_=289;break}default:{f[Ya>>2]=42469;f[Ya+4>>2]=64757;f[Ya+8>>2]=40460;Ac(11,40408,Ya);i=b[i>>0]|0}}if((_|0)==289){_=0;d[s+16>>1]=d[i>>1]|0;b[s+11>>0]=b[l+21>>0]|0;i=z}d[s+18>>1]=n;f[s+60>>2]=p+(f[o>>2]|0);f[s+64>>2]=p+m;f[s+68>>2]=p+(i&255);b[s+12>>0]=0;d[s+24>>1]=(f[q+32>>2]|0)+65535;d[s+22>>1]=0;b[s>>0]=1;f[La+(v<<2)>>2]=r;i=u+1|0;f[Pa+(v<<2)>>2]=f[ja>>2];if(!(b[A>>0]|0)){F=i;break}Oh(Y,f[s+4>>2]|0,5,f[C>>2]|0,ma);if(!(f[ma>>2]|0))F=i;else{c=i;break i}}else{k=xa+(v<<2)|0;i=f[k>>2]|0;f[La+(v<<2)>>2]=i;f[ea>>2]=i;f[k>>2]=0;i=f[i+72>>2]|0;k=f[i+20>>2]|0;do if(d[i+28>>1]&4){if((f[k+24>>2]|0)>>>0<(f[i+24>>2]|0)>>>0){_=272;break}if(!(f[k+96>>2]|0)){f[ma>>2]=0;F=u+1|0;break j}else{k=Ng(i)|0;break}}else _=272;while(0);do if((_|0)==272){_=0;l=f[k+40>>2]|0;if(l|0){_=273;break i}if((f[k+148>>2]|0)>>>0>(f[k+152>>2]|0)>>>0){k=Og(i)|0;break}else{k=Pg(i)|0;break}}while(0);f[ma>>2]=k;i=u+1|0;if(!k)F=i;else{c=i;break i}}while(0);v=v+1|0;if((v|0)>=(H|0)){_=294;break}else u=F}if((_|0)==273){_=0;f[ma>>2]=l;c=u+1|0}else if((_|0)==294){_=0;if((F|0)<=0){S=0;break}k=0;k:do{S=f[La+(k<<2)>>2]|0;l=f[S+4>>2]|0;f[ga+(k<<2)>>2]=l;f[ha+(k<<2)>>2]=l;d[ia+(k<<1)>>1]=d[(f[S+72>>2]|0)+28>>1]|0;if(k|0){i=0;do{if((f[ga+(i<<2)>>2]|0)==(l|0)){_=300;break k}i=i+1|0}while(i>>>0>>0)}k=k+1|0}while((k|0)<(F|0));if((_|0)==300){_=0;f[Za>>2]=42469;f[Za+4>>2]=70649;f[Za+8>>2]=40460;Ac(11,40408,Za);f[ma>>2]=11;c=F;break b}y=(F|0)==1;z=Y+44|0;x=0;do{if(y)i=0;else{i=0;k=1;do{i=(f[ha+(k<<2)>>2]|0)>>>0<(f[ha+(i<<2)>>2]|0)>>>0?k:i;k=k+1|0}while((k|0)<(F|0))}S=ha+(i<<2)|0;w=f[S>>2]|0;f[S>>2]=-1;if((i|0)!=(x|0)){do if((i|0)>(x|0)){u=f[(f[La+(i<<2)>>2]|0)+72>>2]|0;R=i+1+(f[z>>2]|0)|0;v=u+28|0;d[v>>1]=0;k=u+12|0;S=u+24|0;rb[f[37460>>2]&127](f[(f[k>>2]|0)+44>>2]|0,f[u>>2]|0,f[S>>2]|0,R);f[S>>2]=R;v=d[v>>1]|0;if((v&10)!=10)break;q=f[k>>2]|0;s=q+8|0;k=f[s>>2]|0;p=u+36|0;m=f[p>>2]|0;if((k|0)==(u|0)){f[s>>2]=m;r=m}else r=k;o=u+32|0;l=f[o>>2]|0;n=(l|0)==0;if(n){f[q+4>>2]=m;k=m}else{f[l+36>>2]=m;k=f[p>>2]|0}do if(!k){f[q>>2]=l;if(n){b[q+33>>0]=2;f[p>>2]=0;f[o>>2]=0;k=q;_=320;break}else{f[p>>2]=0;k=q;_=319;break}}else{f[k+32>>2]=l;l=f[q>>2]|0;f[p>>2]=0;f[o>>2]=l;if(!l){k=q;_=320}else{k=q;_=319}}while(0);do if((_|0)==319){_=0;f[l+36>>2]=u}else if((_|0)==320){_=0;f[q+4>>2]=u;if(!(b[q+32>>0]|0))break;b[q+33>>0]=1}while(0);f[k>>2]=u;if(!((v&8)==0&(r|0)==0))break;f[s>>2]=u}while(0);u=La+(x<<2)|0;v=f[(f[u>>2]|0)+72>>2]|0;s=v+28|0;d[s>>1]=d[ia+(i<<1)>>1]|0;i=v+12|0;S=v+24|0;rb[f[37460>>2]&127](f[(f[i>>2]|0)+44>>2]|0,f[v>>2]|0,f[S>>2]|0,w);f[S>>2]=w;s=d[s>>1]|0;do if((s&10)==10){p=f[i>>2]|0;r=p+8|0;i=f[r>>2]|0;o=v+36|0;l=f[o>>2]|0;if((i|0)==(v|0)){f[r>>2]=l;q=l}else q=i;n=v+32|0;k=f[n>>2]|0;m=(k|0)==0;if(m){f[p+4>>2]=l;i=l}else{f[k+36>>2]=l;i=f[o>>2]|0}do if(!i){f[p>>2]=k;if(m){b[p+33>>0]=2;f[o>>2]=0;f[n>>2]=0;i=p;_=336;break}else{f[o>>2]=0;i=p;_=335;break}}else{f[i+32>>2]=k;k=f[p>>2]|0;f[o>>2]=0;f[n>>2]=k;if(!k){i=p;_=336}else{i=p;_=335}}while(0);do if((_|0)==335){_=0;f[k+36>>2]=v}else if((_|0)==336){_=0;f[p+4>>2]=v;if(!(b[p+32>>0]|0))break;b[p+33>>0]=1}while(0);f[i>>2]=v;if(!((s&8)==0&(q|0)==0))break;f[r>>2]=v}while(0);f[(f[u>>2]|0)+4>>2]=w}x=x+1|0}while((x|0)!=(F|0));f[Ra>>2]=w;S=1;break}break b}else{F=0;S=0}while(0);w=F+-1|0;i=f[La+(w<<2)>>2]|0;R=f[i+4>>2]|0;b[I>>0]=R>>>24;b[J>>0]=R>>>16;b[K>>0]=R>>>8;b[L>>0]=R;if(!((G&8|0)!=0|(Z|0)==(F|0))){R=(f[i+56>>2]|0)+8|0;Q=(f[(f[((F|0)>(Z|0)?La:xa)+(c<<2)>>2]|0)+56>>2]|0)+8|0;Q=h[Q>>0]|h[Q+1>>0]<<8|h[Q+2>>0]<<16|h[Q+3>>0]<<24;b[R>>0]=Q;b[R+1>>0]=Q>>8;b[R+2>>0]=Q>>16;b[R+3>>0]=Q>>24}R=Y+17|0;do if(b[R>>0]|0){i=f[La>>2]|0;r=f[M>>2]|0;k=f[ja>>2]|0;if((k|0)<=0)break;s=O<<24>>24==0;u=s&1;v=U<<16>>16==0;o=0;l=0;m=(j[i+22>>1]|0)+(h[i+12>>0]|0)|0;n=f[i+56>>2]|0;q=0;do{p=f[(f[va>>2]|0)+(q<<2)>>2]|0;if((q|0)==(m|0)){o=o+1|0;n=f[((o|0)<(F|0)?La+(o<<2)|0:xa+(o<<2)|0)>>2]|0;m=q+u+(j[n+22>>1]|0)+(h[n+12>>0]|0)|0;n=f[n+56>>2]|0}if((q|0)==(f[Oa+(l<<2)>>2]|0)){l=l+1|0;i=f[La+(l<<2)>>2]|0;if(!s)_=352}else _=352;do if((_|0)==352){_=0;if((o|0)<(F|0)?p>>>0<(n+r|0)>>>0&(p>>>0>=n>>>0?(f[i+4>>2]|0)==(f[ga+(o<<2)>>2]|0):0):0)break;if(v)Oh(Y,h[p+1>>0]<<16|h[p>>0]<<24|h[p+2>>0]<<8|h[p+3>>0],5,f[i+4>>2]|0,ma);k=d[(f[Ca>>2]|0)+(q<<1)>>1]|0;if(!(k<<16>>16))k=gk(ja,q)|0;if((k&65535)>(j[i+16>>1]|0))do if(!(f[ma>>2]|0)){qb[f[i+80>>2]&255](i,p,ea);if((f[Ja>>2]|0)>>>0<=(j[Ia>>1]|0)>>>0)break;Q=p+((j[Ka>>1]|0)+-4)|0;Oh(f[i+52>>2]|0,h[Q+1>>0]<<16|h[Q>>0]<<24|h[Q+2>>0]<<8|h[Q+3>>0],3,f[i+4>>2]|0,ma)}while(0);if(f[ma>>2]|0){c=F;break b}k=f[ja>>2]|0}while(0);q=q+1|0}while((q|0)<(k|0))}while(0);l:do if((F|0)>1){if(!(O<<24>>24)){m=0;n=0;while(1){o=f[La+(n<<2)>>2]|0;l=f[Oa+(n<<2)>>2]|0;i=f[(f[va>>2]|0)+(l<<2)>>2]|0;l=d[(f[Ca>>2]|0)+(l<<1)>>1]|0;k=N+(l&65535)|0;p=$+m|0;do if(!(b[o+8>>0]|0)){Q=(f[o+56>>2]|0)+8|0;M=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[Q>>0]=M;b[Q+1>>0]=M>>8;b[Q+2>>0]=M>>16;b[Q+3>>0]=M>>24}else{i=i+-4|0;if(l<<16>>16!=4)break;k=(jb[f[P>>2]&255](aa,i)|0)&65535}while(0);dk(aa,n+g|0,i,k,p,f[o+4>>2]|0,ma);if(f[ma>>2]|0){c=F;break b}n=n+1|0;if((n|0)>=(w|0))break l;else m=k+m|0}}n=0;o=0;while(1){p=f[La+(o<<2)>>2]|0;k=f[Oa+(o<<2)>>2]|0;l=f[va>>2]|0;i=f[l+(k<<2)>>2]|0;m=$+n|0;if(!(b[p+8>>0]|0)){k=N+(j[(f[Ca>>2]|0)+(k<<1)>>1]|0)|0;l=(f[p+56>>2]|0)+8|0;Q=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[l>>0]=Q;b[l+1>>0]=Q>>8;b[l+2>>0]=Q>>16;b[l+3>>0]=Q>>24;l=m}else{qb[f[p+80>>2]&255](p,f[l+(k+-1<<2)>>2]|0,ea);i=m+4|0;l=ea;k=f[l>>2]|0;l=f[l+4>>2]|0;do if(!(l>>>0<0|(l|0)==0&k>>>0<128))if(l>>>0<0|(l|0)==0&k>>>0<16384){Q=VA(k|0,l|0,7)|0;ba()|0;b[i>>0]=Q&255|-128;b[i+1>>0]=k&127;i=2;break}else{i=_i(i,k,l)|0;break}else{b[i>>0]=k&127;i=1}while(0);k=i+4|0;l=0;i=m}dk(aa,o+g|0,i,k,l,f[p+4>>2]|0,ma);if(f[ma>>2]|0){c=F;break b}o=o+1|0;if((o|0)>=(w|0))break;else n=k+n|0}}while(0);g=1-F|0;if((g|0)<(F|0)){Q=O<<24>>24==0&1;do{O=(g|0)<0?0-g|0:g;P=fa+O|0;do if(!(b[P>>0]|0)){if((g|0)<=-1?(N=O+-1|0,(f[Pa+(N<<2)>>2]|0)<(f[Oa+(N<<2)>>2]|0)):0)break;if(!O){N=f[Oa>>2]|0;k=0;K=0}else{if((O|0)>(c|0)){i=O+-1|0;k=f[ja>>2]|0}else{k=O+-1|0;i=k;k=(f[Pa+(k<<2)>>2]|0)+Q|0}K=(f[Oa+(i<<2)>>2]|0)+Q|0;N=(f[Oa+(O<<2)>>2]|0)-K|0}M=La+(O<<2)|0;L=f[M>>2]|0;C=L+56|0;G=f[C>>2]|0;D=L+9|0;H=h[D>>0]|0;B=L+64|0;A=(f[B>>2]|0)+(N<<1)|0;I=L+22|0;m=j[I>>1]|0;J=L+12|0;w=k+m+(h[J>>0]|0)|0;E=N+K|0;if((k|0)<(K|0)){s=G+(f[(f[L+52>>2]|0)+36>>2]|0)|0;u=G+(H+8+(h[L+10>>0]|0))|0;v=G;i=0;l=0;n=0;r=k;while(1){q=f[(f[va>>2]|0)+(r<<2)>>2]|0;if(q>>>0>=u>>>0&q>>>0>>0){o=j[(f[Ca>>2]|0)+(r<<1)>>1]|0;p=q+o|0;if((n|0)!=(p|0)){if(n|0)hk(L,n-v&65535,l&65535)|0;if(p>>>0>s>>>0){i=0;break}else l=o}else l=l+o|0;i=i+1|0;n=q}r=r+1|0;if((r|0)>=(K|0)){_=407;break}}do if((_|0)==407){_=0;if(!n)break;hk(L,n-v&65535,l&65535)|0}while(0);z=f[B>>2]|0;ZA(z|0,z+(i<<1)|0,m<<1|0)|0;m=m-i|0}if((w|0)>(E|0)){v=f[C>>2]|0;s=v+(f[(f[L+52>>2]|0)+36>>2]|0)|0;u=v+((h[D>>0]|0)+8+(h[L+10>>0]|0))|0;i=0;l=0;n=0;r=E;while(1){q=f[(f[va>>2]|0)+(r<<2)>>2]|0;if(q>>>0>=u>>>0&q>>>0>>0){o=j[(f[Ca>>2]|0)+(r<<1)>>1]|0;p=q+o|0;if((n|0)!=(p|0)){if(n|0)hk(L,n-v&65535,l&65535)|0;if(p>>>0>s>>>0){i=0;break}else l=o}else l=l+o|0;i=i+1|0;n=q}r=r+1|0;if((r|0)>=(w|0)){_=420;break}}do if((_|0)==420){_=0;if(!n)break;hk(L,n-v&65535,l&65535)|0}while(0);m=m-i|0}y=G+(H+5)|0;z=y+1|0;i=G+(((h[y>>0]<<8|h[z>>0])+65535&65535)+1)|0;m:do if(i>>>0>>0)_=462;else{if((k|0)>(K|0)){x=k-K|0;x=(x|0)>(N|0)?N:x;n=f[B>>2]|0;ZA(n+(x<<1)|0,n|0,m<<1|0)|0;l=f[C>>2]|0;s=x+K|0;n:do if((x|0)>0){u=l+1|0;v=l+2|0;w=A;r=L+52|0;q=K;while(1){o=d[(f[Ca>>2]|0)+(q<<1)>>1]|0;if(!(o<<16>>16))o=gk(ja,q)|0;p=o&65535;if((b[u>>0]|0)==0?(b[v>>0]|0)==0:0)_=432;else{o=ik(b[D>>0]|0,f[(f[r>>2]|0)+36>>2]|0,f[C>>2]|0,p,ea)|0;if(!o)_=432}if((_|0)==432){_=0;if((i-w|0)<(p|0))break;i=i+(0-p)|0;o=i}ZA(o|0,f[(f[va>>2]|0)+(q<<2)>>2]|0,p|0)|0;p=o-l|0;b[n>>0]=p>>>8;b[n+1>>0]=p;q=q+1|0;if((q|0)>=(s|0))break n;else n=n+2|0}_=462;break m}while(0);m=m+x|0}l=b[J>>0]|0;o:do if(l<<24>>24){w=A;v=L+52|0;u=0;while(1){s=k+(j[L+26+(u<<1)>>1]|0)|0;n=s-K|0;if((n|0)>-1&(n|0)<(N|0)){r=(f[B>>2]|0)+(n<<1)|0;ZA(r+2|0,r|0,m-n<<1|0)|0;m=m+1|0;n=f[C>>2]|0;p=i;q=n;l=d[(f[Ca>>2]|0)+(s<<1)>>1]|0;if(!(l<<16>>16))l=gk(ja,s)|0;o=l&65535;if((b[n+1>>0]|0)==0?(b[n+2>>0]|0)==0:0)_=445;else{l=ik(b[D>>0]|0,f[(f[v>>2]|0)+36>>2]|0,f[C>>2]|0,o,ea)|0;if(!l)_=445;else i=p}if((_|0)==445){_=0;if((i-w|0)<(o|0))break;i=p+(0-o)|0;l=i}ZA(l|0,f[(f[va>>2]|0)+(s<<2)>>2]|0,o|0)|0;l=l-q|0;b[r>>0]=l>>>8;b[r+1>>0]=l;l=b[J>>0]|0}u=u+1|0;if(u>>>0>=(l&255)>>>0)break o}_=462;break m}while(0);k=f[C>>2]|0;p:do if((m|0)<(N|0)){r=k+1|0;s=k+2|0;q=A;p=k;o=L+52|0;n=(f[B>>2]|0)+(m<<1)|0;m=m+K|0;while(1){k=d[(f[Ca>>2]|0)+(m<<1)>>1]|0;if(!(k<<16>>16))k=gk(ja,m)|0;l=k&65535;if((b[r>>0]|0)==0?(b[s>>0]|0)==0:0)_=457;else{k=ik(b[D>>0]|0,f[(f[o>>2]|0)+36>>2]|0,f[C>>2]|0,l,ea)|0;if(!k)_=457}if((_|0)==457){_=0;if((i-q|0)<(l|0))break;i=i+(0-l)|0;k=i}ZA(k|0,f[(f[va>>2]|0)+(m<<2)>>2]|0,l|0)|0;B=k-p|0;b[n>>0]=B>>>8;b[n+1>>0]=B;m=m+1|0;if((m|0)>=(E|0))break p;else n=n+2|0}_=462;break m}while(0);d[I>>1]=N;b[J>>0]=0;L=G+(H+3)|0;b[L>>0]=N>>>8;b[L+1>>0]=d[I>>1];N=i-G|0;b[y>>0]=N>>>8;b[z>>0]=N;f[ma>>2]=0}while(0);if((_|0)==462){_=0;i=f[Ca>>2]|0;if((N|0)>0){k=K;l=N;while(1){if(!(d[i+(k<<1)>>1]|0)){J=f[Da>>2]|0;J=jb[f[J+76>>2]&255](J,f[(f[va>>2]|0)+(k<<2)>>2]|0)|0;i=f[Ca>>2]|0;d[i+(k<<1)>>1]=J}if((l|0)>1){k=k+1|0;l=l+-1|0}else break}}N=fk(L,N,(f[va>>2]|0)+(K<<2)|0,i+(K<<1)|0)|0;f[ma>>2]=N;if(N|0){c=F;break b}}b[P>>0]=(b[P>>0]|0)+1<<24>>24;d[(f[M>>2]|0)+20>>1]=T-(f[Qa+(O<<2)>>2]|0)}while(0);g=g+1|0}while((g|0)<(F|0))}do if(W){if(d[X>>1]|0){_=481;break}l=f[La>>2]|0;if((h[aa+9>>0]|0)>>>0>(j[l+20>>1]|0)>>>0){_=481;break}Y=jk(l,-1)|0;f[ma>>2]=Y;if(Y|0)break;k=l+52|0;i=f[k>>2]|0;Y=f[l+56>>2]|0;W=f[V>>2]|0;g=h[l+9>>0]|0;X=(f[aa+4>>2]|0)==1?100:0;V=Y+(g+5)|0;V=h[V>>0]<<8|h[V+1>>0];YA(W+V|0,Y+V|0,(f[i+36>>2]|0)-V|0)|0;YA(W+X|0,Y+g|0,(j[l+22>>1]<<1)+(j[l+18>>1]|0)|0)|0;b[aa>>0]=0;g=Ph(aa)|0;if(g|0){f[ma>>2]=g;break}if(!(b[i+17>>0]|0))g=f[ma>>2]|0;else{g=Nh(aa)|0;f[ma>>2]=g}if(g|0)break;aa=tj(f[k>>2]|0,l,f[l+4>>2]|0)|0;f[ma>>2]=aa}else _=481;while(0);do if((_|0)==481){_=0;if(!(S&(U<<16>>16==0&(b[R>>0]|0)!=0)))break;g=0;do{aa=f[La+(g<<2)>>2]|0;X=f[aa+56>>2]|0;Oh(Y,h[X+9>>0]<<16|h[X+8>>0]<<24|h[X+10>>0]<<8|h[X+11>>0],5,f[aa+4>>2]|0,ma);g=g+1|0}while((g|0)!=(F|0))}while(0);if((F|0)>(c|0)){c=F;break b}k=F;g=f[ma>>2]|0;while(1){i=f[xa+(k<<2)>>2]|0;if(!g){g=tj(f[i+52>>2]|0,i,f[i+4>>2]|0)|0;f[ma>>2]=g}if((k|0)<(c|0))k=k+1|0;else{c=F;break b}}}while(0);if((_|0)==141){_=0;f[va>>2]=0}f[ma>>2]=7;c=0;break}}else _=119;while(0);if((_|0)==119){_A(xa|0,0,(c<<2)+4|0)|0;c=0}g=f[va>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{aa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);i=0;do{g=f[xa+(i<<2)>>2]|0;do if(g|0){g=f[g+72>>2]|0;if(!(d[g+28>>1]&32)){bh(g);break}else{aa=f[g+20>>2]|0;_=aa+120|0;f[_>>2]=(f[_>>2]|0)+-1;aa=aa+136|0;f[g+16>>2]=f[aa>>2];f[aa>>2]=g;break}}while(0);i=i+1|0}while((i|0)!=(Z|0));if((c|0)>0){i=0;do{g=f[La+(i<<2)>>2]|0;do if(g|0){g=f[g+72>>2]|0;if(!(d[g+28>>1]&32)){bh(g);break}else{aa=f[g+20>>2]|0;_=aa+120|0;f[_>>2]=(f[_>>2]|0)+-1;aa=aa+136|0;f[g+16>>2]=f[aa>>2];f[aa>>2]=g;break}}while(0);i=i+1|0}while((i|0)!=(c|0))}g=f[ma>>2]|0}if(e){c=e;do if((f[18022]|0)>>>0<=c>>>0)if((f[18023]|0)>>>0>c>>>0){f[18188]=(f[18188]|0)+-1;f[e>>2]=f[18025];f[18025]=e;e=(f[18026]|0)+1|0;f[18026]=e;f[18027]=(e|0)<(f[18021]|0)&1;e=$;break a}else{c=ib[f[37368>>2]&255](e)|0;break}else c=ib[f[37368>>2]&255](e)|0;while(0);f[18189]=(f[18189]|0)-c;if(!(f[9328]|0)){ob[f[37360>>2]&127](e);e=$;break}else{aa=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);e=$;break}}else e=$}while(0);b[ca>>0]=0;do if(da|0){c=f[da+72>>2]|0;if(!(d[c+28>>1]&32)){bh(c);break}else{da=f[c+20>>2]|0;ca=da+120|0;f[ca>>2]=(f[ca>>2]|0)+-1;da=da+136|0;f[c+16>>2]=f[da>>2];f[da>>2]=c;break}}while(0);c=(b[oa>>0]|0)+-1<<24>>24;b[oa>>0]=c;i=c;c=a+120+(c<<24>>24<<2)|0}da=f[c>>2]|0;f[pa>>2]=da}while(!(g|0));if(!e){t=$a;return g|0}c=e;do if((f[18022]|0)>>>0>c>>>0)c=ib[f[37368>>2]&255](e)|0;else{if((f[18023]|0)>>>0<=c>>>0){c=ib[f[37368>>2]&255](e)|0;break}f[18188]=(f[18188]|0)+-1;f[e>>2]=f[18025];f[18025]=e;_a=(f[18026]|0)+1|0;f[18026]=_a;f[18027]=(_a|0)<(f[18021]|0)&1;t=$a;return g|0}while(0);f[18189]=(f[18189]|0)-c;if(!(f[9328]|0)){ob[f[37360>>2]&127](e);t=$a;return g|0}else{_a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-_a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);t=$a;return g|0}return 0}function fk(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;z=t;t=t+16|0;u=z;x=h[a+9>>0]|0;y=f[a+56>>2]|0;r=f[a+52>>2]|0;i=f[r+36>>2]|0;s=y+i|0;k=f[a+64>>2]|0;r=f[(f[r>>2]|0)+208>>2]|0;v=y+(x+5)|0;w=v+1|0;q=(h[v>>0]|0)<<8|(h[w>>0]|0);YA(r+q|0,y+q|0,i-q|0)|0;a:do if((c|0)>0){q=y;p=s;l=k;m=0;while(1){n=f[e+(m<<2)>>2]|0;o=g+(m<<1)|0;p=p+(0-(j[o>>1]|0))|0;i=p-q|0;k=i>>>8&255;b[l>>0]=k;i=i&255;b[l+1>>0]=i;l=l+2|0;if(p>>>0>>0)break;YA(p|0,(n>>>0>=y>>>0&n>>>0>>0?r+(n-q)|0:n)|0,j[o>>1]|0|0)|0;m=m+1|0;if((m|0)>=(c|0))break a}f[u>>2]=42469;f[u+4>>2]=69695;f[u+8>>2]=40460;Ac(11,40408,u);y=11;t=z;return y|0}else{k=i>>>8&255;i=i&255}while(0);u=a+22|0;d[u>>1]=c;b[a+12>>0]=0;c=y+(x+1)|0;b[c>>0]=0;b[c+1>>0]=0;c=y+(x+3)|0;b[c>>0]=(j[u>>1]|0)>>>8;b[c+1>>0]=d[u>>1];b[v>>0]=k;b[w>>0]=i;b[y+(x+7)>>0]=0;y=0;t=z;return y|0}function gk(a,b){a=a|0;b=b|0;var c=0;c=f[a+4>>2]|0;c=jb[f[c+76>>2]&255](c,f[(f[a+8>>2]|0)+(b<<2)>>2]|0)|0;d[(f[a+12>>2]|0)+(b<<1)>>1]=c;return c|0}function hk(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=t;t=t+112|0;D=G+96|0;A=G+80|0;x=G+64|0;v=G+48|0;u=G+32|0;s=G+16|0;r=G;l=c&65535;E=e&65535;w=E+l|0;F=f[a+56>>2]|0;B=h[a+9>>0]|0;C=B+1|0;p=C&65535;q=b[F+(B+2)>>0]|0;g=b[F+C>>0]|0;if(q<<24>>24==0?g<<24>>24==0:0){r=w;q=0;o=0;n=c&255;m=(c&65535)>>>8&255}else y=3;do if((y|0)==3){n=q&255;g=(g&255)<<8|n;i=g&65535;o=(i&65535)>>>8&255;do if(g>>>0>>0){m=C;while(1){if(g>>>0<(m+4|0)>>>0)break;m=i&65535;g=F+m|0;q=b[g+1>>0]|0;n=q&255;g=(h[g>>0]|0)<<8|n;k=g&65535;if(g>>>0>>0){p=i;i=k}else{y=10;break}}if((y|0)==10){p=i;o=(k&65535)>>>8&255;y=11;break}if(!g){o=(i&65535)>>>8&255;k=0;i=f[(f[a+52>>2]|0)+36>>2]|0;break}f[r>>2]=42469;f[r+4>>2]=64637;f[r+8>>2]=40460;Ac(11,40408,r);F=11;t=G;return F|0}else{m=C;y=11}while(0);if((y|0)==11){i=f[(f[a+52>>2]|0)+36>>2]|0;if(g>>>0>(i+-4|0)>>>0){f[s>>2]=42469;f[s+4>>2]=64642;f[s+8>>2]=40460;Ac(11,40408,s);F=11;t=G;return F|0}else k=g}do if((k+-1|0)>>>0<(w+3|0)>>>0){if(w>>>0>k>>>0){f[u>>2]=42469;f[u+4>>2]=64654;f[u+8>>2]=40460;Ac(11,40408,u);F=11;t=G;return F|0}g=F+(k+2)|0;g=((h[g>>0]|0)<<8|(h[g+1>>0]|0))+k|0;if(g>>>0<=i>>>0){o=F+k|0;r=g;e=g-l&65535;g=n-w&255;q=b[o+1>>0]|0;o=b[o>>0]|0;break}f[v>>2]=42469;f[v+4>>2]=64657;f[v+8>>2]=40460;Ac(11,40408,v);F=11;t=G;return F|0}else{r=w;g=0}while(0);do if(C>>>0>>0?(z=F+(m+2)|0,z=((h[z>>0]|0)<<8|(h[z+1>>0]|0))+m|0,(z+3|0)>>>0>=l>>>0):0){if(z>>>0<=l>>>0){c=p;e=r-m&65535;g=(g&255)+l-z&255;break}f[x>>2]=42469;f[x+4>>2]=64670;f[x+8>>2]=40460;Ac(11,40408,x);F=11;t=G;return F|0}while(0);i=F+(B+7)|0;k=b[i>>0]|0;if((k&255)>=(g&255)){b[i>>0]=(k&255)-(g&255);n=c&255;m=(c&65535)>>>8&255;l=c&65535;break}f[A>>2]=42469;f[A+4>>2]=64676;f[A+8>>2]=40460;Ac(11,40408,A);F=11;t=G;return F|0}while(0);g=F+(B+5)|0;i=g+1|0;k=(h[g>>0]|0)<<8|(h[i>>0]|0);do if(k>>>0>>0){D=F+(p&65535)|0;b[D>>0]=m;b[D+1>>0]=n}else{if((C|0)==(p&65535|0)&k>>>0<=l>>>0){D=F+C|0;b[D>>0]=o;b[D+1>>0]=q;b[g>>0]=r>>>8;b[i>>0]=r;break}f[D>>2]=42469;f[D+4>>2]=64684;f[D+8>>2]=40460;Ac(11,40408,D);F=11;t=G;return F|0}while(0);if(!(d[(f[a+52>>2]|0)+22>>1]&12))g=F+l|0;else{g=F+l|0;_A(g|0,0,e&65535|0)|0}b[g>>0]=o;b[F+l+1>>0]=q;F=F+(l+2)|0;b[F>>0]=(e&65535)>>>8;b[F+1>>0]=e;F=a+20|0;d[F>>1]=(j[F>>1]|0)+E;F=0;t=G;return F|0}function ik(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+32|0;p=q+16|0;o=q;m=a&255;i=m+1|0;a=d+i|0;a=(h[a>>0]|0)<<8|(h[a+1>>0]|0);j=c+-4|0;a:do if((a|0)<=(j|0)){l=i;while(1){i=d+(a+2)|0;k=(h[i>>0]|0)<<8|(h[i+1>>0]|0);n=k-e|0;if((n|0)>-1)break;i=d+a|0;i=(h[i>>0]|0)<<8|(h[i+1>>0]|0);if((i|0)<(k+a|0)|(i|0)>(j|0)){a=i;break a}else{l=a;a=i}}j=i+1|0;if((k+a|0)>(c|0)){f[o>>2]=42469;f[o+4>>2]=64476;f[o+8>>2]=40460;Ac(11,40408,o);f[g>>2]=11;d=0;t=q;return d|0}do if((n|0)<4){i=d+(m+7)|0;if((h[i>>0]|0)>57){d=0;t=q;return d|0}else{j=d+l|0;g=d+a|0;g=h[g>>0]|h[g+1>>0]<<8;b[j>>0]=g;b[j+1>>0]=g>>8;j=i;i=n+(h[i>>0]|0)|0;break}}else{b[i>>0]=n>>>8;i=n}while(0);b[j>>0]=i;d=d+(n+a)|0;t=q;return d|0}while(0);if(!a){d=0;t=q;return d|0}f[p>>2]=42469;f[p+4>>2]=64499;f[p+8>>2]=40460;Ac(11,40408,p);f[g>>2]=11;d=0;t=q;return d|0}function jk(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=t;t=t+64|0;G=H+48|0;z=H+32|0;y=H+16|0;i=H;E=f[a+56>>2]|0;F=h[a+9>>0]|0;A=j[a+18>>1]|0;k=d[a+22>>1]|0;v=k&65535;C=(v<<1)+A|0;w=a+52|0;x=f[(f[w>>2]|0)+36>>2]|0;D=E+(F+7)|0;do if((h[D>>0]|0)<=(c|0)?(p=E+(F+1)|0,p=h[p>>0]<<8|h[p+1>>0],(p|0)!=0):0){o=E+p|0;o=h[o>>0]<<8|h[o+1>>0];g=(o|0)==0;if(!g){if(b[E+o>>0]|0){B=16;break}if(b[E+(o+1)>>0]|0){B=16;break}}n=E+C|0;c=E+(p+2)|0;c=h[c>>0]<<8|h[c+1>>0];e=E+(F+5)|0;e=h[e>>0]<<8|h[e+1>>0];if(p>>>0<=e>>>0){f[i>>2]=42469;f[i+4>>2]=64372;f[i+8>>2]=40460;Ac(11,40408,i);G=11;t=H;return G|0}if(g){l=c;m=0}else{m=E+(o+2)|0;m=h[m>>0]<<8|h[m+1>>0];l=c+p|0;ZA(E+(m+l)|0,E+l|0,o-l|0)|0;l=m+c|0}c=l+e|0;ZA(E+c|0,E+e|0,p-e|0)|0;if(k<<16>>16){g=E+A|0;do{i=g+1|0;k=h[g>>0]<<8|h[i>>0];if(k>>>0>=p>>>0){if(k>>>0>>0){e=m;B=14}}else{e=l;B=14}if((B|0)==14){B=0;A=k+e|0;b[g>>0]=A>>>8;b[i>>0]=A}g=g+2|0}while(g>>>0>>0)}}else B=16;while(0);if((B|0)==16){u=x+-4|0;a:do if(k<<16>>16){q=a+76|0;r=E+(F+5)|0;s=r+1|0;p=0;g=0;e=E;k=x;while(1){l=E+((p<<1)+A)|0;m=l+1|0;n=h[l>>0]<<8|h[m>>0];if(n>>>0>>0|(n|0)>(u|0)){B=19;break}i=e+n|0;o=(jb[f[q>>2]&255](a,i)|0)&65535;c=k-o|0;if((c|0)<(C|0)|(n+o|0)>(x|0)){B=21;break}b[l>>0]=c>>>8;b[m>>0]=c;if(!g)if((c|0)==(n|0))g=0;else{i=f[(f[f[w>>2]>>2]|0)+208>>2]|0;g=h[r>>0]<<8|h[s>>0];YA(i+g|0,E+g|0,k-g|0)|0;g=i;e=i;i=i+n|0;B=25}else B=25;if((B|0)==25){B=0;YA(E+c|0,i|0,o|0)|0}p=p+1|0;if(p>>>0>=v>>>0)break a;else k=c}if((B|0)==19){f[y>>2]=42469;f[y+4>>2]=64406;f[y+8>>2]=40460;Ac(11,40408,y);G=11;t=H;return G|0}else if((B|0)==21){f[z>>2]=42469;f[z+4>>2]=64412;f[z+8>>2]=40460;Ac(11,40408,z);G=11;t=H;return G|0}}else c=x;while(0);b[D>>0]=0}e=c-C|0;if((e+(h[D>>0]|0)|0)==(j[a+20>>1]|0)){G=E+(F+5)|0;b[G>>0]=c>>>8;b[G+1>>0]=c;b[E+(F+1)>>0]=0;b[E+(F+2)>>0]=0;_A(E+C|0,0,e|0)|0;G=0;t=H;return G|0}else{f[G>>2]=42469;f[G+4>>2]=64432;f[G+8>>2]=40460;Ac(11,40408,G);G=11;t=H;return G|0}return 0}function kk(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=t;t=t+32|0;q=r+16|0;i=r;o=r+28|0;p=(f[c+32>>2]|0)+(f[c+28>>2]|0)|0;l=f[a+116>>2]|0;k=a+40|0;e=f[k>>2]|0;g=a+48|0;a=j[g>>1]|0;if((e+a|0)>>>0>(f[l+60>>2]|0)>>>0){f[i>>2]=42469;f[i+4>>2]=71188;f[i+8>>2]=40460;Ac(11,40408,i);q=11;t=r;return q|0}a=mk(l,e,c,0,a)|0;if(a|0){q=a;t=r;return q|0}a=j[g>>1]|0;if((p|0)==(a|0)){q=0;t=r;return q|0}g=(f[k>>2]|0)+a|0;n=f[l+52>>2]|0;i=(f[n+36>>2]|0)+-4|0;g=h[g+1>>0]<<16|h[g>>0]<<24|h[g+2>>0]<<8|h[g+3>>0];m=a;while(1){a=f[n>>2]|0;a=lb[f[a+204>>2]&127](a,g,o,0)|0;if(a|0){e=10;break}e=f[o>>2]|0;k=f[e+8>>2]|0;a=k+4|0;if((f[a>>2]|0)==(g|0)){a=k+72|0;l=a;a=f[a>>2]|0}else{f[k+56>>2]=f[e+4>>2];l=k+72|0;f[l>>2]=e;f[k+52>>2]=n;f[a>>2]=g;b[k+9>>0]=(g|0)==1?100:0;a=e}if((d[a+30>>1]|0)==1){if((i+m|0)>>>0

>>0){a=f[k+56>>2]|0;e=i;g=h[a+1>>0]<<16|h[a>>0]<<24|h[a+2>>0]<<8|h[a+3>>0]}else{e=p-m|0;a=f[k+56>>2]|0}a=mk(k,a+4|0,c,m,e)|0;i=e}else{f[q>>2]=42469;f[q+4>>2]=71207;f[q+8>>2]=40460;Ac(11,40408,q);a=11}e=f[l>>2]|0;do if(e|0)if(!(d[e+28>>1]&32)){bh(e);break}else{l=f[e+20>>2]|0;k=l+120|0;f[k>>2]=(f[k>>2]|0)+-1;l=l+136|0;f[e+16>>2]=f[l>>2];f[l>>2]=e;break}while(0);if(a|0){e=23;break}m=i+m|0;if((m|0)>=(p|0)){a=0;e=23;break}}if((e|0)==10){q=a;t=r;return q|0}else if((e|0)==23){t=r;return a|0}return 0}function lk(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+16|0;r=u;if(!c){s=ej(a,0,e,g,h,i)|0;t=u;return s|0}s=a+112|0;q=f[s>>2]|0;p=q+6|0;n=((j[p>>1]|0)*40|0)+56|0;m=f[q+12>>2]|0;a:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](n)|0;o=26;break}m=ib[f[37372>>2]&255](n)|0;if((f[18194]|0)>>>0>>0)f[18194]=n;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){n=f[18187]|0;l=LA(k|0,l|0,m|0,((m|0)<0)<<31>>31|0)|0;k=ba()|0;f[17976]=((k|0)<0|(k|0)==0&l>>>0<=n>>>0)&1}m=ib[f[37356>>2]&255](m)|0;if(!m){s=7;t=u;return s|0}k=ib[f[37368>>2]&255](m)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){s=7;t=u;return s|0}}else{do if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0))){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=26;break a}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=26;break a}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,n,0)|0;o=26}while(0);if((o|0)==26)if(!k){s=7;t=u;return s|0}else m=k;f[m+4>>2]=m+16;f[m>>2]=q;q=m+8|0;d[q>>1]=(j[p>>1]|0)+1;hj(f[s>>2]|0,e,c,m);if(!(d[q>>1]|0)){f[r>>2]=42469;f[r+4>>2]=63743;f[r+8>>2]=40460;Ac(11,40408,r);l=11}else l=ej(a,m,e,g,h,i)|0;k=f[(f[s>>2]|0)+12>>2]|0;if(k|0){if(f[k+480>>2]|0){Kc(k,m);s=l;t=u;return s|0}s=m;if((f[k+304>>2]|0)>>>0<=s>>>0?(f[k+308>>2]|0)>>>0>s>>>0:0){s=k+300|0;f[m>>2]=f[s>>2];f[s>>2]=m;s=l;t=u;return s|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);s=l;t=u;return s|0}else{s=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);s=l;t=u;return s|0}return 0}function mk(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=f[e+28>>2]|0;j=i-g|0;if((j|0)<1){if((h|0)<=0){n=0;return n|0}i=0;while(1){if(b[c+i>>0]|0)break;i=i+1|0;if((i|0)>=(h|0)){i=0;n=30;break}}if((n|0)==30)return i|0;l=c+i|0;e=f[a+72>>2]|0;k=f[e+20>>2]|0;if((d[e+28>>1]&4)!=0?(f[k+24>>2]|0)>>>0>=(f[e+24>>2]|0)>>>0:0){if(f[k+96>>2]|0){m=Ng(e)|0;n=14}}else n=10;do if((n|0)==10){j=f[k+40>>2]|0;if(j|0){n=j;return n|0}if((f[k+148>>2]|0)>>>0>(f[k+152>>2]|0)>>>0){m=Og(e)|0;n=14;break}else{m=Pg(e)|0;n=14;break}}while(0);if((n|0)==14?m|0:0){n=m;return n|0}_A(l|0,0,h-i|0)|0;n=0;return n|0}else{if((j|0)<(h|0)){i=mk(a,c+j|0,e,i,h-j|0)|0;if(!i)l=j;else{n=i;return n|0}}else l=h;k=e+16|0;i=(f[k>>2]|0)+g|0;if(!(Hz(c,i,l)|0)){n=0;return n|0}j=f[a+72>>2]|0;e=f[j+20>>2]|0;if((d[j+28>>1]&4)!=0?(f[e+24>>2]|0)>>>0>=(f[j+24>>2]|0)>>>0:0){if(f[e+96>>2]|0){i=Ng(j)|0;n=27}}else n=23;do if((n|0)==23){i=f[e+40>>2]|0;if(i|0){n=i;return n|0}if((f[e+148>>2]|0)>>>0>(f[e+152>>2]|0)>>>0){i=Og(j)|0;n=27;break}else{i=Pg(j)|0;n=27;break}}while(0);do if((n|0)==27)if(!i){i=(f[k>>2]|0)+g|0;break}else{n=i;return n|0}while(0);YA(c|0,i|0,l|0)|0;n=0;return n|0}return 0}function nk(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=t;t=t+64|0;v=B+48|0;A=B+32|0;w=B+16|0;k=B;i=B+60|0;e=b[a>>0]|0;if(e<<24>>24){do if((e&255)>2){if(e<<24>>24==4){e=f[a+4>>2]|0;if(!e)break;else z=e;t=B;return z|0}b[a>>0]=1;e=a+16|0;c=a+56|0;c=lk(a,f[e>>2]|0,f[c>>2]|0,f[c+4>>2]|0,0,i)|0;if(c|0){a=c;t=B;return a|0}c=f[e>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{y=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[e>>2]=0;c=a+4|0;y=f[c>>2]|f[i>>2];f[c>>2]=y;c=b[a>>0]|0;if((y|0)!=0&c<<24>>24==0){b[a>>0]=2;c=2}n=14}else{c=e;n=14}while(0);if((n|0)==14?c<<24>>24==1:0){a=101;t=B;return a|0}c=a+4|0;e=f[c>>2]|0;if(e|0?(b[a>>0]=0,f[c>>2]=0,(e|0)>0):0){a=0;t=B;return a|0}}x=a+116|0;i=f[x>>2]|0;y=a+70|0;s=(d[y>>1]|0)+1<<16>>16;d[y>>1]=s;u=i;if(!(b[i>>0]|0)){f[k>>2]=42469;f[k+4>>2]=68561;f[k+8>>2]=40460;Ac(11,40408,k);a=11;t=B;return a|0}r=(b[i+8>>0]|0)!=0;if((s&65535)<(j[i+22>>1]|0)){if(r){a=0;t=B;return a|0}m=a+68|0;n=a+20|0;o=a+50|0;p=a+1|0;q=a+2|0;e=i;l=u;while(1){k=d[y>>1]|0;c=(f[e+64>>2]|0)+((k&65535)<<1)|0;c=(f[e+56>>2]|0)+((h[c>>0]<<8|h[c+1>>0])&j[e+24>>1])|0;e=b[m>>0]|0;if(e<<24>>24>18){n=41;break}c=h[c>>0]<<24|h[c+1>>0]<<16|h[c+2>>0]<<8|h[c+3>>0];C=f[n>>2]|0;d[o>>1]=0;b[p>>0]=b[p>>0]&-7;D=e<<24>>24;d[a+72+(D<<1)>>1]=k;f[a+120+(D<<2)>>2]=l;d[y>>1]=0;b[m>>0]=e+1<<24>>24;c=aj(C,c,x,a,h[q>>0]|0)|0;if(c|0){z=c;n=44;break}c=f[x>>2]|0;if(!(b[c+8>>0]|0)){e=c;l=c}else{z=0;n=44;break}}if((n|0)==41){f[v>>2]=42469;f[v+4>>2]=67897;f[v+8>>2]=40460;Ac(11,40408,v);D=11;t=B;return D|0}else if((n|0)==44){t=B;return z|0}}if(r){k=a+68|0;l=a+50|0;m=a+1|0;while(1){e=b[k>>0]|0;if(!(e<<24>>24)){n=31;break}d[l>>1]=0;b[m>>0]=b[m>>0]&-7;c=d[a+72+((e<<24>>24)+-1<<1)>>1]|0;d[y>>1]=c;g=e+-1<<24>>24;b[k>>0]=g;g=f[a+120+(g<<24>>24<<2)>>2]|0;f[x>>2]=g;e=f[i+72>>2]|0;if(!(d[e+28>>1]&32)){bh(e);g=f[x>>2]|0;c=d[y>>1]|0}else{D=f[e+20>>2]|0;C=D+120|0;f[C>>2]=(f[C>>2]|0)+-1;D=D+136|0;f[e+16>>2]=f[D>>2];f[D>>2]=e}if((c&65535)<(j[g+22>>1]|0))break;else i=g}if((n|0)==31){b[a>>0]=1;D=101;t=B;return D|0}if(!(b[g+2>>0]|0)){D=0;t=B;return D|0}D=fj(a,0)|0;t=B;return D|0}c=(f[i+56>>2]|0)+((h[i+9>>0]|0)+8)|0;o=a+68|0;e=b[o>>0]|0;if(e<<24>>24>18){f[w>>2]=42469;f[w+4>>2]=67897;f[w+8>>2]=40460;Ac(11,40408,w);D=11;t=B;return D|0}c=h[c>>0]<<24|h[c+1>>0]<<16|h[c+2>>0]<<8|h[c+3>>0];l=a+20|0;D=f[l>>2]|0;m=a+50|0;d[m>>1]=0;n=a+1|0;b[n>>0]=b[n>>0]&-7;k=e<<24>>24;d[a+72+(k<<1)>>1]=s;f[a+120+(k<<2)>>2]=u;d[y>>1]=0;b[o>>0]=e+1<<24>>24;k=a+2|0;c=aj(D,c,x,a,h[k>>0]|0)|0;if(c|0){D=c;t=B;return D|0}while(1){c=f[x>>2]|0;if(b[c+8>>0]|0){z=0;n=44;break}e=d[y>>1]|0;g=(f[c+64>>2]|0)+((e&65535)<<1)|0;g=(f[c+56>>2]|0)+((h[g>>0]<<8|h[g+1>>0])&j[c+24>>1])|0;i=b[o>>0]|0;if(i<<24>>24>18){n=27;break}D=h[g>>0]<<24|h[g+1>>0]<<16|h[g+2>>0]<<8|h[g+3>>0];C=f[l>>2]|0;d[m>>1]=0;b[n>>0]=b[n>>0]&-7;w=i<<24>>24;d[a+72+(w<<1)>>1]=e;f[a+120+(w<<2)>>2]=c;d[y>>1]=0;b[o>>0]=i+1<<24>>24;c=aj(C,D,x,a,h[k>>0]|0)|0;if(c|0){z=c;n=44;break}}if((n|0)==27){f[A>>2]=42469;f[A+4>>2]=67897;f[A+8>>2]=40460;Ac(11,40408,A);D=11;t=B;return D|0}else if((n|0)==44){t=B;return z|0}return 0}function ok(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+32|0;o=p+8|0;i=p;k=c+1|0;g=b[k>>0]|0;l=g&255;do if(g<<24>>24<=-1){e=h[c+2>>0]|0;if(!(e&128)){n=l<<7&16256|e;m=7;break}g=h[c+3>>0]|0;if(g&128){Th(k,i)|0;l=i;e=f[l>>2]|0;if((e|0)==(e|0)?0==(f[l+4>>2]|0):0){n=e;m=7;break}else break}else{n=(l<<14|g)&2080895|e<<7&16256;m=7;break}}else{n=l;m=7}while(0);if((m|0)==7?(n|0)>=12:0){if(!(n&1)){d=b[d+13>>0]|0;t=p;return d|0}e=h[c>>0]|0;i=(n+-12|0)/2|0;if((i+e|0)>(a|0)){f[o>>2]=42469;f[o+4>>2]=80289;f[o+8>>2]=40460;Ac(11,40408,o);b[d+11>>0]=11;d=0;t=p;return d|0}o=f[d+4>>2]|0;g=f[o+12>>2]|0;e=Hz(c+e|0,f[o+16>>2]|0,(i|0)>(g|0)?g:i)|0;if(e|0)if((e|0)>0){d=b[d+13>>0]|0;t=p;return d|0}else{d=b[d+12>>0]|0;t=p;return d|0}e=i-g|0;if(!e)if((j[d+8>>1]|0)>1){d=lj(a,c,d,1)|0;t=p;return d|0}else{c=b[d+10>>0]|0;b[d+14>>0]=1;d=c;t=p;return d|0}else if((e|0)>0){d=b[d+13>>0]|0;t=p;return d|0}else{d=b[d+12>>0]|0;t=p;return d|0}}d=b[d+12>>0]|0;t=p;return d|0}function pk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0;e=c+(b[c>>0]&63)|0;switch(b[c+1>>0]|0){case 1:{k=b[e>>0]|0;i=((k|0)<0)<<31>>31;break}case 2:{k=b[e>>0]<<8|h[e+1>>0];i=((k|0)<0)<<31>>31;break}case 3:{k=h[e+1>>0]<<8|b[e>>0]<<16|h[e+2>>0];i=((k|0)<0)<<31>>31;break}case 4:{k=h[e+1>>0]<<16|h[e>>0]<<24|h[e+2>>0]<<8|h[e+3>>0];i=((k|0)<0)<<31>>31;break}case 5:{k=e+2|0;i=b[e>>0]<<8|h[e+1>>0];k=h[k+1>>0]<<16|h[k>>0]<<24|h[k+2>>0]<<8|h[k+3>>0];break}case 6:{k=e+4|0;i=h[e+1>>0]<<16|h[e>>0]<<24|h[e+2>>0]<<8|h[e+3>>0];k=h[k+1>>0]<<16|h[k>>0]<<24|h[k+2>>0]<<8|h[k+3>>0];break}case 8:{i=0;k=0;break}case 9:{i=0;k=1;break}case 7:case 0:{d=lj(a,c,d,0)|0;return d|0}default:{d=lj(a,c,d,0)|0;return d|0}}g=f[d+4>>2]|0;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>(i|0)|(g|0)==(i|0)&e>>>0>k>>>0){d=b[d+12>>0]|0;return d|0}if((g|0)<(i|0)|(g|0)==(i|0)&e>>>0>>0){d=b[d+13>>0]|0;return d|0}if((j[d+8>>1]|0)>1){d=lj(a,c,d,1)|0;return d|0}else{c=b[d+10>>0]|0;b[d+14>>0]=1;d=c;return d|0}return 0}function qk(a,b,c){a=a|0;b=b|0;c=c|0;return lj(a,b,c,0)|0}function rk(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0;h=a+40|0;if(f[h>>2]|0){c=0;return c|0}g=b[a+20>>0]|0;if(g<<24>>24){if(g&3){c=0;return c|0}if(d[c+28>>1]&8){c=0;return c|0}}j=a+196|0;f[j>>2]=(f[j>>2]|0)+1;f[c+16>>2]=0;do if(f[a+216>>2]|0){e=Ng(c)|0;if(!e){e=Ch(a,c,0,0)|0;i=12}}else{if(!((d[c+28>>1]&8)==0?(b[a+16>>0]|0)!=3:0))i=10;if((i|0)==10?(e=Dh(a,1)|0,e|0):0)break;e=Eh(a,c)|0;i=12}while(0);if((i|0)==12)if(!e){j=f[c+12>>2]|0;e=j+8|0;g=c+36|0;a=f[g>>2]|0;if((f[e>>2]|0)==(c|0))f[e>>2]=a;h=f[c+32>>2]|0;i=(h|0)==0;if(i){f[j+4>>2]=a;e=a}else{f[h+36>>2]=a;e=f[g>>2]|0}if(!e){f[j>>2]=h;if(i)b[j+33>>0]=2}else f[e+32>>2]=h;i=c+28|0;d[i>>1]=d[i>>1]&-16|1;if(d[c+30>>1]|0){c=0;return c|0}if(!(b[j+32>>0]|0)){c=0;return c|0}qb[f[37456>>2]&255](f[j+44>>2]|0,f[c>>2]|0,0);c=0;return c|0}switch((e&255)<<24>>24){case 10:case 13:break;default:{c=e;return c|0}}f[h>>2]=e;b[a+16>>0]=6;f[a+204>>2]=82;c=e;return c|0}function sk(a){a=a|0;var c=0;c=f[a+8>>2]|0;if(!(b[c>>0]|0))return;b[c>>0]=0;if((d[a+30>>1]|0)<=1)return;Ph(c)|0;return}function tk(a){a=a|0;var c=0,d=0,e=0,g=0;e=f[a+4>>2]|0;a=f[(f[a>>2]|0)+60>>2]|0;c=f[e+396>>2]|0;if(!c){g=0;return g|0}g=e+404|0;d=f[g>>2]|0;if((d|0)<0){g=0;return g|0}if(!(b[e+408>>0]|0))a=jb[c&255](f[e+400>>2]|0,d)|0;else a=kb[c&127](f[e+400>>2]|0,d,a)|0;if(!a)c=-1;else c=(f[g>>2]|0)+1|0;f[g>>2]=c;g=a;return g|0}function uk(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,i=0,j=0,k=0;j=t;t=t+16|0;g=j+8|0;i=j;e=(h[a+1>>0]|0)<<16|(h[a>>0]|0)<<24|(h[a+2>>0]|0)<<8|(h[a+3>>0]|0);a=(h[a+5>>0]|0)<<16|(h[a+4>>0]|0)<<24|(h[a+6>>0]|0)<<8|(h[a+7>>0]|0);k=c;f[k>>2]=a;f[k+4>>2]=e;if((b|0)==6){i=4;k=c+8|0;d[k>>1]=i;t=j;return}f[s>>2]=a;f[s+4>>2]=e;p[g>>3]=+p[s>>3];p[i>>3]=+p[g>>3];i=+p[g>>3]==+p[i>>3]?8:1;k=c+8|0;d[k>>1]=i;t=j;return}function vk(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;k=n+8|0;l=n;m=a+8|0;c=d[m>>1]|0;if(c&13){l=c;l=l&-16403;d[m>>1]=l;t=n;return}i=a+16|0;j=a+12|0;c=a+10|0;e=kf(f[i>>2]|0,a,f[j>>2]|0,b[c>>0]|0)|0;if(e){h=a;g=f[h>>2]|0;h=f[h+4>>2]|0;jf(f[i>>2]|0,a,f[j>>2]|0,b[c>>0]|0)|0;if((e|0)==1?(p[k>>3]=+p[a>>3],p[l>>3]=+(g>>>0)+4294967296.0*+(h|0),(Hz(k,l,8)|0)==0):0){c=a;f[c>>2]=g;f[c+4>>2]=h;c=4}else c=8}else c=4;l=d[m>>1]&15872|c;d[m>>1]=l;l=l&-16403;d[m>>1]=l;t=n;return}function wk(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+304|0;j=q+16|0;e=q;g=q+296|0;p=q+24|0;f[g>>2]=0;i=f[a+352>>2]|0;if(i|0?(m=i+12|0,(f[m>>2]|0)==0):0){l=f[i+4>>2]|0;_A(p+4|0,0,268)|0;n=p+196|0;b[n>>0]=1;f[p>>2]=a;f[p+128>>2]=1;if(((((bg(p,c,g)|0)==0?(k=f[p+224>>2]|0,(k|0)!=0):0)?(b[a+81>>0]|0)==0:0)?(f[k+12>>2]|0)==0:0)?(f[k+56>>2]|0)==0:0){e=l+4|0;if(!(f[e>>2]|0)){g=k+4|0;f[e>>2]=f[g>>2];c=k+42|0;d[l+42>>1]=d[c>>1]|0;j=k+36|0;e=l+36|0;f[e>>2]=f[e>>2]|f[j>>2]&96;d[c>>1]=0;f[g>>2]=0;if((f[j>>2]&32|0)!=0?(f[(f[f[(f[i>>2]|0)+4>>2]>>2]|0)+52>>2]|0)!=0:0){e=k+8|0;while(1){e=f[e>>2]|0;j=e+55|0;if(((h[j>>0]|h[j+1>>0]<<8)&3)==2)break;else e=e+20|0}e=(d[e+50>>1]|0)!=1&1}else e=0;c=k+8|0;g=f[c>>2]|0;if(g){f[l+8>>2]=g;f[c>>2]=0;f[g+12>>2]=l}}else e=0;f[m>>2]=1;l=e}else o=18;do if((o|0)==18){e=f[g>>2]|0;m=(e|0)==0;f[j>>2]=e;vg(a,1,m?0:40840,j);if(!m){if(f[a+480>>2]|0){Kc(a,e);l=1;break}m=e;if((f[a+304>>2]|0)>>>0<=m>>>0?(f[a+308>>2]|0)>>>0>m>>>0:0){l=a+300|0;f[e>>2]=f[l>>2];f[l>>2]=e;l=1;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);l=1;break}else{l=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);l=1;break}}else l=1}while(0);b[n>>0]=0;j=f[p+8>>2]|0;do if(j|0){k=j+20|0;e=f[k>>2]|0;if((e|0)<832317811)switch(e|0){case 770837923:{o=29;break}default:{}}else switch(e|0){case 832317811:{o=29;break}default:{}}if((o|0)==29)fg(j)|0;i=f[j>>2]|0;gg(i,j);g=f[j+4>>2]|0;c=j+8|0;e=f[c>>2]|0;if(!g)f[i+4>>2]=e;else{f[g+8>>2]=e;e=f[c>>2]|0}if(e|0)f[e+4>>2]=g;f[k>>2]=1443283912;f[j>>2]=0;if(i|0){if(f[i+480>>2]|0){Kc(i,j);break}o=j;if((f[i+304>>2]|0)>>>0<=o>>>0?(f[i+308>>2]|0)>>>0>o>>>0:0){o=i+300|0;f[j>>2]=f[o>>2];f[o>>2]=j;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{o=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);e=f[p+224>>2]|0;do if(e|0){if(a|0?f[a+480>>2]|0:0){hg(a,e);break}n=e+32|0;o=(f[n>>2]|0)+-1|0;f[n>>2]=o;if(!o)hg(a,e)}while(0);c=f[p>>2]|0;e=f[p+64>>2]|0;do if(e|0){if(c|0){if(f[c+480>>2]|0){Kc(c,e);break}o=e;if((f[c+304>>2]|0)>>>0<=o>>>0?(f[c+308>>2]|0)>>>0>o>>>0:0){o=c+300|0;f[e>>2]=f[o>>2];f[o>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{o=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);e=f[p+68>>2]|0;if(e|0)jg(c,e);e=p+24|0;if(c|0){p=c+272|0;f[p>>2]=(f[p>>2]|0)-(h[e>>0]|0)}b[e>>0]=0;if(!(b[a+81>>0]|0)){a=f[a+68>>2]&l;t=q;return a|0}else{Di(a);a=7;t=q;return a|0}}f[a+64>>2]=21;Bg(a,21);f[e>>2]=40433;f[e+4>>2]=134300;f[e+8>>2]=40460;Ac(21,40408,e);a=21;t=q;return a|0}function xk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[b>>2]|0;a:do if(c|0?(d=f[c>>2]|0,(d|0)>0):0){e=c+4|0;c=d;while(1){d=f[e>>2]|0;if(d|0?oi(a,d)|0:0){c=2;break}if((c|0)>1){e=e+20|0;c=c+-1|0}else break a}return c|0}while(0);c=f[b+36>>2]|0;if(c|0?oi(a,c)|0:0){a=2;return a|0}c=f[b+40>>2]|0;b:do if(c|0?(g=f[c>>2]|0,(g|0)>0):0){e=c+4|0;c=g;while(1){d=f[e>>2]|0;if(d|0?oi(a,d)|0:0){c=2;break}if((c|0)>1){e=e+20|0;c=c+-1|0}else break b}return c|0}while(0);c=f[b+44>>2]|0;if(c|0?oi(a,c)|0:0){a=2;return a|0}c=f[b+48>>2]|0;c:do if(c|0?(h=f[c>>2]|0,(h|0)>0):0){e=c+4|0;c=h;while(1){d=f[e>>2]|0;if(d|0?oi(a,d)|0:0){c=2;break}if((c|0)>1){e=e+20|0;c=c+-1|0}else break c}return c|0}while(0);c=f[b+60>>2]|0;if(c|0?oi(a,c)|0:0){a=2;return a|0}a=0;return a|0}function yk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!c){m=0;return m|0}l=a+8|0;d=f[l>>2]|0;if(!d){m=0;return m|0}m=a+12|0;d=jb[d&255](a,c)|0;a:do if(!d){b:while(1){if(xk(a,c)|0){d=2;c=23;break}d=f[c+32>>2]|0;e=f[d>>2]|0;if((e|0)>0){i=d+8|0;while(1){d=f[i+20>>2]|0;if(d|0?yk(a,d)|0:0){d=2;c=23;break b}if((b[i+37>>0]&4?(j=f[i+64>>2]|0,j|0):0)?(k=f[j>>2]|0,(k|0)>0):0){d=j+4|0;g=k;while(1){h=f[d>>2]|0;if(h|0?oi(a,h)|0:0){d=2;c=23;break b}if((g|0)>1){d=d+20|0;g=g+-1|0}else break}}if((e|0)>1){i=i+72|0;e=e+-1|0}else break}}d=f[m>>2]|0;if(d|0)pb[d&127](a,c);c=f[c+52>>2]|0;if(!c){d=0;c=23;break}d=jb[f[l>>2]&255](a,c)|0;if(d|0)break a}if((c|0)==23)return d|0}while(0);m=d&2;return m|0}function zk(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=t;t=t+48|0;E=G+24|0;A=G+16|0;z=G;w=G+36|0;if(!e){F=0;t=G;return F|0}x=f[f[c>>2]>>2]|0;D=f[a>>2]|0;k=e+4|0;j=f[e>>2]|0;a:do if((j|0)>0){s=c+68|0;i=0;r=k;b:while(1){q=f[r>>2]|0;c:do if(!q)j=0;else{j=q;while(1){l=f[j+4>>2]|0;if(!(l&4096))break c;if(!(l&262144))j=j+12|0;else j=(f[j+20>>2]|0)+4|0;j=f[j>>2]|0;if(!j){j=0;break}}}while(0);d:do if((b[g>>0]|0)==71)F=23;else{p=f[c>>2]|0;e:do if((b[j>>0]|0)==59?(u=f[j+8>>2]|0,v=f[p>>2]|0,(v|0)>0):0){l=0;while(1){n=f[p+4+(l*20|0)+4>>2]|0;if(n|0){o=b[n>>0]|0;m=(h[1232+(o&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0;if(!(o<<24>>24==0|(m|0)!=0)){o=u;do{n=n+1|0;o=o+1|0;H=b[n>>0]|0;m=(h[1232+(H&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(H<<24>>24==0|(m|0)!=0))}if(!m)break}l=l+1|0;if((l|0)>=(v|0))break e}H=l+1|0;f[w>>2]=H;d[r+16>>1]=H;break d}while(0);f[w>>2]=0;F=23}while(0);do if((F|0)==23){F=0;if(Ak(j,w)|0){j=f[w>>2]|0;if((j+-1|0)>>>0>65534)break b;d[r+16>>1]=j;break}n=r+16|0;d[n>>1]=0;if(Mk(a,q)|0){B=1;F=51;break b}l=f[c>>2]|0;if((f[l>>2]|0)>0){o=q+4|0;p=q+44|0;j=0;do{if(!(Ck(0,q,f[l+4+(j*20|0)>>2]|0,-1)|0)){if(f[o>>2]&16777216|0?(y=f[s>>2]|0,y|0):0){m=s;l=y;do{if((l|0)==(f[p>>2]|0)){l=f[l+24>>2]|0;f[m>>2]=l}m=l+24|0;l=f[m>>2]|0}while((l|0)!=0)}j=j+1|0;d[n>>1]=j}else j=j+1|0;l=f[c>>2]|0}while((j|0)<(f[l>>2]|0))}}while(0);i=i+1|0;j=f[e>>2]|0;if((i|0)<(j|0))r=r+20|0;else break a}if((F|0)==51){t=G;return B|0}f[z>>2]=i+1;f[z+4>>2]=g;f[z+8>>2]=x;ni(D,49392,z);H=1;t=G;return H|0}while(0);i=f[D>>2]|0;if(b[i+81>>0]|0){H=0;t=G;return H|0}if((j|0)>(f[i+116>>2]|0)){f[A>>2]=g;ni(D,49514,A);H=1;t=G;return H|0}m=f[c>>2]|0;if((j|0)<=0){H=0;t=G;return H|0}l=0;while(1){i=d[k+16>>1]|0;if(i<<16>>16){i=i&65535;C=f[m>>2]|0;if((C|0)<(i|0))break;Nk(D,m,i+-1|0,f[k>>2]|0,g,0);j=f[e>>2]|0}i=l+1|0;if((i|0)<(j|0)){l=i;k=k+20|0}else{B=0;F=51;break}}if((F|0)==51){t=G;return B|0}f[E>>2]=l+1;f[E+4>>2]=g;f[E+8>>2]=C;ni(D,49392,E);H=1;t=G;return H|0}function Ak(a,c){a=a|0;c=c|0;var d=0,e=0;e=t;t=t+16|0;d=e;a:do if(!a)a=0;else{if(f[a+4>>2]&1024|0){f[c>>2]=f[a+8>>2];a=1;break}switch(b[a>>0]|0){case -94:{a=Ak(f[a+12>>2]|0,c)|0;break a}case -95:break;default:{a=0;break a}}if(!(Ak(f[a+12>>2]|0,d)|0))a=0;else{f[c>>2]=0-(f[d>>2]|0);a=1}}while(0);t=e;return a|0}function Bk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+16|0;r=u;s=(e|0)!=0;a:do if(s){m=32768;q=f[e>>2]|0}else{i=Gk(c,d)|0;k=((i|0)<0)<<31>>31;if(f[a+272>>2]|0){if(b[a+81>>0]|0){f[r>>2]=0;a=0;t=u;return a|0}}else{do if(!(0>>0|(0==(k|0)?(j[a+276>>1]|0)>>>0>>0:0))){g=a+300|0;h=f[g>>2]|0;if(h|0){f[g>>2]=f[h>>2];m=a+284|0;f[m>>2]=(f[m>>2]|0)+1;m=0;q=h;break a}g=a+296|0;h=f[g>>2]|0;if(!h){g=a+292|0;break}else{f[g>>2]=f[h>>2];m=a+284|0;f[m>>2]=(f[m>>2]|0)+1;m=0;q=h;break a}}else g=a+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}m=0;q=Dc(a,i,k)|0}while(0);f[r>>2]=q;if(!q){a=q;t=u;return a|0}n=(d|0)==0;if((!n?(b[c>>0]|0)!=-90:0)?(f[c+4>>2]&16777216|0)==0:0)if(!(f[c+12>>2]|0))i=(f[c+20>>2]|0)==0?16396:8220;else i=8220;else i=48;k=i&60;o=c+4|0;g=f[o>>2]|0;if((g&1024|0)==0?(l=f[c+8>>2]|0,(l|0)!=0):0)h=((wz(l)|0)&1073741823)+1|0;else h=0;if(n){g=(g&16384|0)==0?((g&8192|0)==0?48:28):12;YA(q|0,c|0,g|0)|0;if(g>>>0<48)_A(q+g|0,0,48-g|0)|0}else YA(q|0,c|0,k|0)|0;l=q+4|0;g=i&24576|m|f[l>>2]&-122881;f[l>>2]=g;if(h){g=q+k|0;f[q+8>>2]=g;YA(g|0,f[c+8>>2]|0,h|0)|0;g=f[l>>2]|0}h=f[o>>2]|0;do if(!((g|h)&8404992)){g=c+20|0;if(!(h&2048)){d=Ik(a,f[g>>2]|0,d)|0;f[q+20>>2]=d;break}else{d=Hk(a,f[g>>2]|0,d)|0;f[q+20>>2]=d;break}}while(0);i=f[l>>2]|0;if(!(i&16801792)){if(f[o>>2]&8404992|0){a=q;t=u;return a|0}g=c+12|0;if((b[q>>0]|0)==-90)f[q+12>>2]=f[g>>2];else{g=f[g>>2]|0;if(!g)g=0;else g=Bk(a,g,0,0)|0;f[q+12>>2]=g}g=f[c+16>>2]|0;if(!g)g=0;else g=Bk(a,g,0,0)|0;f[q+16>>2]=g;a=q;t=u;return a|0}if((!n?(b[c>>0]|0)!=-90:0)?(f[o>>2]&16777216|0)==0:0)if(!(f[c+12>>2]|0))h=(f[c+20>>2]|0)==0?12:28;else h=28;else h=48;g=f[o>>2]|0;if((g&1024|0)==0?(p=f[c+8>>2]|0,(p|0)!=0):0)h=((wz(p)|0)&1073741823)+(h|1)|0;f[r>>2]=q+(h+7&-8);if(!(i&8404992)){g=f[c+12>>2]|0;if(!g)g=0;else g=Bk(a,g,1,r)|0;f[q+12>>2]=g;g=f[c+16>>2]|0;if(!g)g=0;else g=Bk(a,g,1,r)|0;f[q+16>>2]=g;g=f[o>>2]|0}if(g&16777216|0){a=Jk(a,q,f[c+44>>2]|0)|0;f[q+44>>2]=a}if(!s){a=q;t=u;return a|0}f[e>>2]=f[r>>2];a=q;t=u;return a|0}function Ck(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=t;t=t+16|0;i=s;if((c|0)==0|(e|0)==0){g=(e|0)==(c|0)?0:2;t=s;return g|0}do if(a|0?(b[c>>0]|0)==-112:0){f[i>>2]=0;Ek(f[a>>2]|0,e,1,65,i)|0;q=f[i>>2]|0;if(!q)break;m=d[c+32>>1]|0;i=m<<16>>16;r=f[a+8>>2]|0;m=m<<16>>16>31;k=r+204|0;r=r+204|0;f[(m?r:k)>>2]=f[(m?r:k)>>2]|(m?-2147483648:1<>2]|0;a:do if((k|0)!=0?(r=f[k+116>>2]|0,o=i+-1|0,n=r+(o*40|0)|0,o=r+(o*40|0)+8|0,(d[o>>1]&1)==0):0){m=f[k>>2]|0;b:do if(!m){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](40)|0;p=32;break}i=ib[f[37372>>2]&255](40)|0;if((f[18194]|0)>>>0<40)f[18194]=40;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){r=f[18187]|0;l=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;k=ba()|0;f[17976]=((k|0)<0|(k|0)==0&l>>>0<=r>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(!k){n=0;l=0;m=0;k=1;break a}i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){n=0;l=0;m=0;k=1;break a}}else{do if((j[m+276>>1]|0)>=40){k=m+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];p=m+284|0;f[p>>2]=(f[p>>2]|0)+1;p=32;break b}k=m+296|0;i=f[k>>2]|0;if(!i){i=m+292|0;break}else{f[k>>2]=f[i>>2];p=m+284|0;f[p>>2]=(f[p>>2]|0)+1;p=32;break b}}else i=m+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(m,40,0)|0;p=32}while(0);if((p|0)==32)if(!i){n=0;l=0;m=0;k=1;break}else k=i;i=k;l=i+40|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(l|0));l=k+8|0;d[l>>1]=1;f[k+32>>2]=m;f[k>>2]=f[n>>2];f[k+4>>2]=f[n+4>>2];f[k+8>>2]=f[n+8>>2];f[k+12>>2]=f[n+12>>2];f[k+16>>2]=f[n+16>>2];i=d[l>>1]&-1025;d[l>>1]=i;i=i&65535;do if(i&18|0?(d[o>>1]&2048)==0:0){d[l>>1]=i|4096;if(i&16384){i=k+12|0;r=(f[k>>2]|0)+(f[i>>2]|0)|0;if(df(k,(r|0)>1?r:1,1)|0)break;r=k+16|0;_A((f[r>>2]|0)+(f[i>>2]|0)|0,0,f[k>>2]|0)|0;f[i>>2]=(f[i>>2]|0)+(f[k>>2]|0);i=d[l>>1]&-16897;d[l>>1]=i;if(!((f[k+24>>2]|0)!=0?(f[r>>2]|0)==(f[k+20>>2]|0):0))p=39}else p=39;if((p|0)==39){if(gf(k)|0)break;i=d[l>>1]|0}d[l>>1]=i&-4097}while(0);i=d[l>>1]|0;do if((i&15|16)<<16>>16==18){if((i&514)==514){if(!((i&1)==0&(b[k+10>>0]|0)!=1))break}else if(i&1)break;Ic(k,1)|0}while(0);n=(nf(k,q,0)|0)==0&1;l=k;m=k;k=0}else{n=0;l=0;m=0;k=1}while(0);if(!((d[q+8>>1]&9216)==0?!(f[q+24>>2]|0):0))ff(q);i=f[q+32>>2]|0;do if(i){if(f[i+480>>2]|0){Kc(i,q);break}r=q;if((f[i+304>>2]|0)>>>0<=r>>>0?(f[i+308>>2]|0)>>>0>r>>>0:0){r=i+300|0;f[q>>2]=f[r>>2];f[r>>2]=q}else p=57}else p=57;while(0);do if((p|0)==57)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{r=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);do if(!k){if(!((d[l+8>>1]&9216)==0?!(f[l+24>>2]|0):0))ff(l);i=f[l+32>>2]|0;if(i|0){if(f[i+480>>2]|0){Kc(i,m);break}r=m;if((f[i+304>>2]|0)>>>0<=r>>>0?(f[i+308>>2]|0)>>>0>r>>>0:0){r=i+300|0;f[m>>2]=f[r>>2];f[r>>2]=m;break}}if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{r=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);if(n|0){g=0;t=s;return g|0}}while(0);p=c+4|0;q=f[p>>2]|0;o=e+4|0;k=f[o>>2]|0;r=k|q;if(r&1024|0){if(q&1024&k|0?(f[c+8>>2]|0)==(f[e+8>>2]|0):0){g=0;t=s;return g|0}g=2;t=s;return g|0}n=b[c>>0]|0;i=b[e>>0]|0;if(n<<24>>24!=i<<24>>24){do if(n<<24>>24==102)if((Ck(a,f[c+12>>2]|0,e,g)|0)<2){g=1;t=s;return g|0}else{i=b[e>>0]|0;break}while(0);if(i<<24>>24==102?(Ck(a,c,f[e+12>>2]|0,g)|0)<2:0){g=1;t=s;return g|0}g=2;t=s;return g|0}c:do switch(n<<24>>24){case -96:case -98:{i=q;break}default:{l=f[c+8>>2]|0;if(l){if(n<<24>>24==-99){m=f[e+8>>2]|0;n=b[l>>0]|0;i=(h[1232+(n&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0;if(!(n<<24>>24==0|(i|0)!=0))do{l=l+1|0;m=m+1|0;n=b[l>>0]|0;i=(h[1232+(n&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(n<<24>>24==0|(i|0)!=0));if(i|0){g=2;t=s;return g|0}if(!(q&16777216)){i=q;break c}if(!(Fk(a,f[c+44>>2]|0,f[e+44>>2]|0)|0)){k=f[o>>2]|0;i=f[p>>2]|0;break c}else{g=2;t=s;return g|0}}m=f[e+8>>2]|0;if(n<<24>>24!=102){if(!(tz(l,m)|0)){i=q;break c}else i=2;t=s;return i|0}if(!m){g=2;t=s;return g|0}p=b[l>>0]|0;i=(h[1232+(p&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0;if(!(p<<24>>24==0|(i|0)!=0))do{l=l+1|0;m=m+1|0;p=b[l>>0]|0;i=(h[1232+(p&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(p<<24>>24==0|(i|0)!=0));if(i){g=2;t=s;return g|0}else i=q}else i=q}}while(0);if((k^i)&16|0){g=2;t=s;return g|0}d:do if(!(r&16384)){if(r&2048|0){g=2;t=s;return g|0}if((r&8|0)==0?Ck(a,f[c+12>>2]|0,f[e+12>>2]|0,g)|0:0){g=2;t=s;return g|0}if(Ck(a,f[c+16>>2]|0,f[e+16>>2]|0,g)|0){g=2;t=s;return g|0}l=f[c+20>>2]|0;m=f[e+20>>2]|0;i=(l|0)==0;k=(m|0)==0;e:do if(!(i&k)){if(i|k){g=2;t=s;return g|0}i=f[l>>2]|0;if((i|0)!=(f[m>>2]|0)){g=2;t=s;return g|0}if((i|0)>0){i=0;while(1){if((b[l+4+(i*20|0)+12>>0]|0)!=(b[m+4+(i*20|0)+12>>0]|0)){i=2;p=122;break}if(Ck(0,f[l+4+(i*20|0)>>2]|0,f[m+4+(i*20|0)>>2]|0,g)|0){i=2;p=122;break}i=i+1|0;if((i|0)>=(f[l>>2]|0))break e}if((p|0)==122){t=s;return i|0}}}while(0);switch(b[c>>0]|0){case -101:case 106:break d;default:{}}if((d[c+32>>1]|0)!=(d[e+32>>1]|0)){g=2;t=s;return g|0}c=f[c+28>>2]|0;e=f[e+28>>2]|0;if((c|0)!=(e|0)?(c|0)!=(g|0)|(e|0)>-1:0){g=2;t=s;return g|0}}while(0);g=0;t=s;return g|0}function Dk(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+16|0;n=u;f[n>>2]=0;o=(e|0)!=0;do if(o){if(((c|0)==143?(h=f[e>>2]|0,h|0):0)?Pd(h,n)|0:0){m=0;break}m=(f[e+4>>2]|0)+1|0}else m=0;while(0);k=m+48|0;a:do if(f[a+272>>2]|0)if(!(b[a+81>>0]|0))l=16;else{s=0;t=u;return s|0}else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){h=a+300|0;i=f[h>>2]|0;if(i|0){f[h>>2]=f[i>>2];p=a+284|0;f[p>>2]=(f[p>>2]|0)+1;p=i;break a}h=a+296|0;i=f[h>>2]|0;if(!i){h=a+292|0;break}else{f[h>>2]=f[i>>2];p=a+284|0;f[p>>2]=(f[p>>2]|0)+1;p=i;break a}}else h=a+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1;l=16}while(0);if((l|0)==16)p=Dc(a,k,0)|0;if(!p){s=p;t=u;return s|0}h=p;i=h+48|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));b[p>>0]=c;d[p+34>>1]=-1;do if(o){if(!m){f[p+4>>2]=8389632;f[p+8>>2]=f[n>>2];break}k=p+48|0;a=p+8|0;f[a>>2]=k;h=e+4|0;i=f[h>>2]|0;if(!i)h=0;else{YA(k|0,f[e>>2]|0,i|0)|0;h=f[h>>2]|0}b[k+h>>0]=0;if(g|0?(s=f[a>>2]|0,q=b[s>>0]|0,(b[5472+(q&255)>>0]|0)<0):0){if(q<<24>>24==34){q=p+4|0;f[q>>2]=f[q>>2]|64}if(s|0?(r=b[s>>0]|0,(b[5472+(r&255)>>0]|0)<0):0){a=r<<24>>24==91?93:r;k=0;h=1;while(1){i=b[s+h>>0]|0;if(i<<24>>24==a<<24>>24){h=h+1|0;i=s+k|0;if((b[s+h>>0]|0)!=a<<24>>24)break;b[i>>0]=a}else b[s+k>>0]=i;k=k+1|0;h=h+1|0}b[i>>0]=0}}}while(0);f[p+24>>2]=1;s=p;t=u;return s|0}function Ek(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0.0,q=0,r=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=t;t=t+32|0;v=I+16|0;E=I+8|0;F=I;G=I+24|0;f[G>>2]=0;n=c;a:while(1){c=b[n>>0]|0;switch(c<<24>>24){case -94:case -87:break;default:break a}n=f[n+12>>2]|0}if(c<<24>>24==-92)c=h[n+38>>0]|0;else c=c&255;b:do switch((c&255)<<24>>24){case 36:{c=f[n+8>>2]|0;l=b[c>>0]|0;c:do if(!(l<<24>>24))k=67;else{k=67;m=0;do{m=m<<8|h[1232+(l&255)>>0];c=c+1|0;d:do if((m|0)<1685026146){if((m|0)<1667785074){switch(m|0){case 1651273570:break;default:{H=16;break d}}switch(k<<24>>24){case 69:case 67:{k=65;break d}default:{H=15;break d}}}if((m|0)<1668050786)switch(m|0){case 1667785074:{k=66;break d}default:{H=16;break d}}else switch(m|0){case 1668050786:{k=66;break d}default:{H=16;break d}}}else{if((m|0)>=1919246700){if((m|0)>=1952807028)switch(m|0){case 1952807028:{k=66;break d}default:{H=16;break d}}switch(m|0){case 1919246700:break;default:{H=16;break d}}if(k<<24>>24==67){k=69;break}else{H=15;break}}if((m|0)<1718382433){switch(m|0){case 1685026146:break;default:{H=16;break d}}if(k<<24>>24==67){k=69;break}}else{switch(m|0){case 1718382433:break;default:{H=16;break d}}if(k<<24>>24==67){k=69;break}}}while(0);if((H|0)==15)H=0;else if((H|0)==16){H=0;if((m&16777215|0)==6909556){k=68;break c}}l=b[c>>0]|0}while(l<<24>>24!=0)}while(0);r=Ek(a,f[n+12>>2]|0,e,k,i)|0;c=f[i>>2]|0;if(!c){i=r;t=I;return i|0}Vi(c,k,1);q=f[i>>2]|0;if(g<<24>>24<=66){if(g<<24>>24!=66){i=r;t=I;return i|0}k=q+8|0;c=d[k>>1]|0;i=c&65535;if(!((i&2|0)!=0|(i&12|0)==0)){Ti(q,1,1)|0;c=d[k>>1]|0}d[k>>1]=c&-13;i=r;t=I;return i|0}n=q+8|0;l=d[n>>1]|0;c=l&65535;if(c&4|0){i=r;t=I;return i|0}if(c&8|0){o=+p[q>>3];c=Fc(o)|0;k=ba()|0;i=KA(c|0,k|0,1,-2147483648)|0;H=ba()|0;if(!((H>>>0>0|(H|0)==0&i>>>0>1)&o==+(c>>>0)+4294967296.0*+(k|0))){i=r;t=I;return i|0}i=q;f[i>>2]=c;f[i+4>>2]=k;d[n>>1]=l&15872|4;i=r;t=I;return i|0}if(!(c&2)){i=r;t=I;return i|0}c=b[q+10>>0]|0;k=q+16|0;l=q+12|0;if(jf(f[k>>2]|0,E,f[l>>2]|0,c)|0){if(kf(f[k>>2]|0,F,f[l>>2]|0,c)|0){o=+p[E>>3];p[q>>3]=o;k=d[n>>1]|0;c=k|8;d[n>>1]=c;l=Fc(o)|0;m=ba()|0;i=KA(l|0,m|0,1,-2147483648)|0;a=ba()|0;if((a>>>0>0|(a|0)==0&i>>>0>1)&o==+(l>>>0)+4294967296.0*+(m|0)){c=q;f[c>>2]=l;f[c+4>>2]=m;c=k&15872;H=28}}else{i=F;H=f[i+4>>2]|0;c=q;f[c>>2]=f[i>>2];f[c+4>>2]=H;c=d[n>>1]|0;H=28}if((H|0)==28){c=c|4;d[n>>1]=c}d[n>>1]=c&-3}i=r;t=I;return i|0}case -95:{c=f[n+12>>2]|0;k=b[c>>0]|0;switch(k<<24>>24){case -115:case -113:break;default:{H=107;break b}}u=43039;n=c;r=k&255;m=-1;q=-1;H=39;break}default:{u=72788;r=c;m=1;q=0;H=39}}while(0);e:do if((H|0)==39){f:do switch(r|0){case 106:case 141:case 143:{g:do if(!a){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](40)|0;H=64;break}c=ib[f[37372>>2]&255](40)|0;if((f[18194]|0)>>>0<40)f[18194]=40;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){D=f[18187]|0;C=LA(k|0,l|0,c|0,((c|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&C>>>0<=D>>>0)&1}k=ib[f[37356>>2]&255](c)|0;if(k){c=ib[f[37368>>2]&255](k)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0){f[18196]=c;D=k}else D=k}else H=65}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){H=65;break}}else{do if((j[a+276>>1]|0)>=40){k=a+300|0;c=f[k>>2]|0;if(c|0){f[k>>2]=f[c>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=64;break g}k=a+296|0;c=f[k>>2]|0;if(!c){c=a+292|0;break}else{f[k>>2]=f[c>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=64;break g}}else c=a+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(a,40,0)|0;H=64}while(0);if((H|0)==64)if(!c)H=65;else D=c;if((H|0)==65){f[G>>2]=0;l=0;k=0;break f}k=D;l=k+40|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0));C=D+8|0;d[C>>1]=1;f[D+32>>2]=a;f[G>>2]=D;c=D;if(!(f[n+4>>2]&1024)){k=f[n+8>>2]|0;f[v>>2]=u;f[v+4>>2]=k;k=Ig(a,49509,v)|0;if(!k){l=D;k=D;break f}$e(D,k,-1,1,139)|0}else{v=f[n+8>>2]|0;v=QA(m|0,q|0,v|0,((v|0)<0)<<31>>31|0)|0;G=ba()|0;a=D;f[a>>2]=v;f[a+4>>2]=G;d[C>>1]=4}do if(g<<24>>24==65&(r|2|0)==143){m=d[C>>1]|0;k=m&65535;if(!(k&4)){if(k&8|0){o=+p[D>>3];k=Fc(o)|0;l=ba()|0;a=KA(k|0,l|0,1,-2147483648)|0;G=ba()|0;if(!((G>>>0>0|(G|0)==0&a>>>0>1)&o==+(k>>>0)+4294967296.0*+(l|0)))break;a=D;f[a>>2]=k;f[a+4>>2]=l;d[C>>1]=m&15872|4;break}if(k&2|0?(w=b[D+10>>0]|0,x=D+16|0,y=D+12|0,jf(f[x>>2]|0,E,f[y>>2]|0,w)|0):0){if(kf(f[x>>2]|0,F,f[y>>2]|0,w)|0){o=+p[E>>3];p[D>>3]=o;l=d[C>>1]|0;k=l|8;d[C>>1]=k;m=Fc(o)|0;n=ba()|0;a=KA(m|0,n|0,1,-2147483648)|0;G=ba()|0;if((G>>>0>0|(G|0)==0&a>>>0>1)&o==+(m>>>0)+4294967296.0*+(n|0)){k=D;f[k>>2]=m;f[k+4>>2]=n;k=l&15872;H=79}}else{a=F;H=f[a+4>>2]|0;k=D;f[k>>2]=f[a>>2];f[k+4>>2]=H;k=d[C>>1]|0;H=79}if((H|0)==79){k=k|4;d[C>>1]=k}d[C>>1]=k&-3}}}else{if(g<<24>>24<=66){if(g<<24>>24!=66)break;k=d[C>>1]|0;a=k&65535;if(!((a&2|0)!=0|(a&12|0)==0)){Ti(D,1,1)|0;k=d[C>>1]|0}d[C>>1]=k&-13;break}m=d[C>>1]|0;k=m&65535;if(!(k&4)){if(k&8|0){o=+p[D>>3];k=Fc(o)|0;l=ba()|0;a=KA(k|0,l|0,1,-2147483648)|0;G=ba()|0;if(!((G>>>0>0|(G|0)==0&a>>>0>1)&o==+(k>>>0)+4294967296.0*+(l|0)))break;a=D;f[a>>2]=k;f[a+4>>2]=l;d[C>>1]=m&15872|4;break}if(k&2|0?(z=b[D+10>>0]|0,A=D+16|0,B=D+12|0,jf(f[A>>2]|0,E,f[B>>2]|0,z)|0):0){if(kf(f[A>>2]|0,F,f[B>>2]|0,z)|0){o=+p[E>>3];p[D>>3]=o;l=d[C>>1]|0;k=l|8;d[C>>1]=k;m=Fc(o)|0;n=ba()|0;a=KA(m|0,n|0,1,-2147483648)|0;G=ba()|0;if((G>>>0>0|(G|0)==0&a>>>0>1)&o==+(m>>>0)+4294967296.0*+(n|0)){k=D;f[k>>2]=m;f[k+4>>2]=n;k=l&15872;H=93}}else{a=F;H=f[a+4>>2]|0;k=D;f[k>>2]=f[a>>2];f[k+4>>2]=H;k=d[C>>1]|0;H=93}if((H|0)==93){k=k|4;d[C>>1]=k}d[C>>1]=k&-3}}}while(0);k=d[C>>1]|0;l=k&65535;if(l&12){k=l&65533;d[C>>1]=k}if(e<<24>>24==1|(k&2)==0){k=0;break e}if((b[D+10>>0]|0)==e<<24>>24){k=0;break e}k=Ri(D,e)|0;break e}case 161:{c=f[n+12>>2]|0;H=107;break e}case 110:{h:do if(!a){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](40)|0;H=154;break}c=ib[f[37372>>2]&255](40)|0;if((f[18194]|0)>>>0<40)f[18194]=40;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){H=f[18187]|0;e=LA(k|0,l|0,c|0,((c|0)<0)<<31>>31|0)|0;F=ba()|0;f[17976]=((F|0)<0|(F|0)==0&e>>>0<=H>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(c){k=ib[f[37368>>2]&255](c)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;H=156}else H=156}else H=155}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){H=155;break}}else{do if((j[a+276>>1]|0)>=40){k=a+300|0;c=f[k>>2]|0;if(c|0){f[k>>2]=f[c>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=154;break h}k=a+296|0;c=f[k>>2]|0;if(!c){c=a+292|0;break}else{f[k>>2]=f[c>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=154;break h}}else c=a+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(a,40,0)|0;H=154}while(0);if((H|0)==154)if(!c)H=155;else H=156;if((H|0)==155){f[G>>2]=0;l=0;k=0;break f}else if((H|0)==156){k=c;l=k+40|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0));d[c+8>>1]=1;f[c+32>>2]=a;f[G>>2]=c;vk(c);k=0;break e}break}case 142:{i:do if(!a){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](40)|0;H=180;break}c=ib[f[37372>>2]&255](40)|0;if((f[18194]|0)>>>0<40)f[18194]=40;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){e=f[18187]|0;F=LA(k|0,l|0,c|0,((c|0)<0)<<31>>31|0)|0;E=ba()|0;f[17976]=((E|0)<0|(E|0)==0&F>>>0<=e>>>0)&1}k=ib[f[37356>>2]&255](c)|0;if(k){c=ib[f[37368>>2]&255](k)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0){f[18196]=c;w=k}else w=k}else H=181}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){H=181;break}}else{do if((j[a+276>>1]|0)>=40){k=a+300|0;c=f[k>>2]|0;if(c|0){f[k>>2]=f[c>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=180;break i}k=a+296|0;c=f[k>>2]|0;if(!c){c=a+292|0;break}else{f[k>>2]=f[c>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=180;break i}}else c=a+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(a,40,0)|0;H=180}while(0);if((H|0)==180)if(!c)H=181;else w=c;if((H|0)==181){f[G>>2]=0;l=0;k=0;break f}k=w;l=k+40|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0));d[w+8>>1]=1;f[w+32>>2]=a;f[G>>2]=w;c=w;r=(f[n+8>>2]|0)+2|0;q=(wz(r)|0)&1073741823;u=q+-1|0;v=(u|0)/2|0;m=v+1|0;n=((m|0)<0)<<31>>31;j:do if(f[a+272>>2]|0)if(!(b[a+81>>0]|0))H=192;else k=0;else{do if(!(0>>0|(0==(n|0)?(j[a+276>>1]|0)>>>0>>0:0))){l=a+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=193;break j}l=a+296|0;k=f[l>>2]|0;if(!k){k=a+292|0;break}else{f[l>>2]=f[k>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=193;break j}}else k=a+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;H=192}while(0);if((H|0)==192){k=Dc(a,m,n)|0;H=193}if((H|0)==193){m=q+-2|0;if(!k)k=0;else{if(q>>>0>2){l=0;do{a=b[r+l>>0]|0;e=b[r+(l|1)>>0]|0;b[k+(l>>>1)>>0]=(0-(e>>>6&1)&9)+e&15|(0-(a>>>6&1)&9)+a<<4;l=l+2|0}while((l|0)<(m|0));l=u>>>1}else l=0;b[k+l>>0]=0}}$e(w,k,v,0,139)|0;k=0;break e}case 155:{k:do if(!a){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](40)|0;H=223;break}c=ib[f[37372>>2]&255](40)|0;if((f[18194]|0)>>>0<40)f[18194]=40;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){e=f[18187]|0;F=LA(k|0,l|0,c|0,((c|0)<0)<<31>>31|0)|0;E=ba()|0;f[17976]=((E|0)<0|(E|0)==0&F>>>0<=e>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(c){k=ib[f[37368>>2]&255](c)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;H=224}else H=224}else c=0}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){c=0;break}}else{do if((j[a+276>>1]|0)>=40){k=a+300|0;c=f[k>>2]|0;if(c|0){f[k>>2]=f[c>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=223;break k}k=a+296|0;c=f[k>>2]|0;if(!c){c=a+292|0;break}else{f[k>>2]=f[c>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=223;break k}}else c=a+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(a,40,0)|0;H=223}while(0);if((H|0)==223)if(!c)c=0;else H=224;if((H|0)==224){k=c;l=k+40|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0));d[c+8>>1]=1;f[c+32>>2]=a}f[G>>2]=c;d[c+8>>1]=4;k=c;f[k>>2]=(b[(f[n+8>>2]|0)+4>>0]|0)==0&1;f[k+4>>2]=0;k=0;break e}default:{k=0;c=0;break e}}while(0);c=a+81|0;if((b[c>>0]|0)==0?(b[a+82>>0]|0)==0:0){b[c>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;i=a+272|0;f[i>>2]=(f[i>>2]|0)+1}if(!l){i=7;t=I;return i|0}if(!((d[l+8>>1]&9216)==0?!(f[l+24>>2]|0):0))ff(l);c=f[l+32>>2]|0;if(c|0){if(f[c+480>>2]|0){Kc(c,k);i=7;t=I;return i|0}i=l;if((f[c+304>>2]|0)>>>0<=i>>>0?(f[c+308>>2]|0)>>>0>i>>>0:0){i=c+300|0;f[l>>2]=f[i>>2];f[i>>2]=k;i=7;t=I;return i|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);i=7;t=I;return i|0}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);i=7;t=I;return i|0}}while(0);do if((H|0)==107){a=(Ek(a,c,e,g,G)|0)==0;n=f[G>>2]|0;r=n;if(a&(n|0)!=0){vk(n);q=n+8|0;c=d[q>>1]|0;do if(!(c&8)){l=n;k=f[l>>2]|0;l=f[l+4>>2]|0;if((k|0)==0&(l|0)==-2147483648){p[n>>3]=9223372036854775808.0;c=c&15872|8;d[q>>1]=c;o=9223372036854775808.0;break}else{G=LA(0,0,k|0,l|0)|0;a=ba()|0;D=n;f[D>>2]=G;f[D+4>>2]=a;f[s>>2]=G;f[s+4>>2]=a;o=+p[s>>3];break}}else{o=-+p[n>>3];p[n>>3]=o}while(0);if(g<<24>>24<=66){if(g<<24>>24!=66){k=0;c=r;break}H=c&65535;if(!((H&2|0)!=0|(H&12|0)==0)){Ti(n,e,1)|0;c=d[q>>1]|0}d[q>>1]=c&-13;k=0;c=r;break}k=c&65535;if(!(k&4)){if(k&8|0){k=Fc(o)|0;l=ba()|0;H=KA(k|0,l|0,1,-2147483648)|0;a=ba()|0;if(!((a>>>0>0|(a|0)==0&H>>>0>1)&o==+(k>>>0)+4294967296.0*+(l|0))){k=0;c=r;break}H=n;f[H>>2]=k;f[H+4>>2]=l;d[q>>1]=c&15872|4;k=0;c=r;break}if(k&2){c=b[n+10>>0]|0;k=n+16|0;l=n+12|0;if(jf(f[k>>2]|0,E,f[l>>2]|0,c)|0){if(kf(f[k>>2]|0,F,f[l>>2]|0,c)|0){o=+p[E>>3];p[n>>3]=o;k=d[q>>1]|0;c=k|8;d[q>>1]=c;l=Fc(o)|0;m=ba()|0;a=KA(l|0,m|0,1,-2147483648)|0;e=ba()|0;if((e>>>0>0|(e|0)==0&a>>>0>1)&o==+(l>>>0)+4294967296.0*+(m|0)){c=n;f[c>>2]=l;f[c+4>>2]=m;c=k&15872;H=122}}else{a=F;H=f[a+4>>2]|0;c=n;f[c>>2]=f[a>>2];f[c+4>>2]=H;c=d[q>>1]|0;H=122}if((H|0)==122){c=c|4;d[q>>1]=c}d[q>>1]=c&-3}k=0;c=r}else{k=0;c=r}}else{k=0;c=r}}else{k=0;c=r}}while(0);f[i>>2]=c;i=k;t=I;return i|0}function Fk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((b[c+12>>0]|0)!=(b[d+12>>0]|0)){d=1;return d|0}if((b[c+13>>0]|0)!=(b[d+13>>0]|0)){d=1;return d|0}if((b[c+14>>0]|0)!=(b[d+14>>0]|0)){d=1;return d|0}if(Ck(a,f[c+16>>2]|0,f[d+16>>2]|0,-1)|0){d=1;return d|0}if(Ck(a,f[c+20>>2]|0,f[d+20>>2]|0,-1)|0){d=1;return d|0}g=f[c+4>>2]|0;h=f[d+4>>2]|0;a=(g|0)==0;e=(h|0)==0;a:do if(!(a&e)){if(a|e){d=1;return d|0}a=f[g>>2]|0;if((a|0)!=(f[h>>2]|0)){d=1;return d|0}if((a|0)>0){a=0;while(1){if((b[g+4+(a*20|0)+12>>0]|0)!=(b[h+4+(a*20|0)+12>>0]|0)){a=1;e=22;break}if(Ck(0,f[g+4+(a*20|0)>>2]|0,f[h+4+(a*20|0)>>2]|0,-1)|0){a=1;e=22;break}a=a+1|0;if((a|0)>=(f[g>>2]|0))break a}if((e|0)==22)return a|0}}while(0);h=f[c+8>>2]|0;g=f[d+8>>2]|0;a=(h|0)==0;e=(g|0)==0;if(a&e){d=0;return d|0}if(a|e){d=1;return d|0}a=f[h>>2]|0;if((a|0)!=(f[g>>2]|0)){d=1;return d|0}if((a|0)<=0){d=0;return d|0}a=0;while(1){if((b[h+4+(a*20|0)+12>>0]|0)!=(b[g+4+(a*20|0)+12>>0]|0)){a=1;e=22;break}if(Ck(0,f[h+4+(a*20|0)>>2]|0,f[g+4+(a*20|0)>>2]|0,-1)|0){a=1;e=22;break}a=a+1|0;if((a|0)>=(f[h>>2]|0)){a=0;e=22;break}}if((e|0)==22)return a|0;return 0}function Gk(a,c){a=a|0;c=c|0;var d=0,e=0;if(!a){c=0;return c|0}if(((c|0)!=0?(b[a>>0]|0)!=-90:0)?(f[a+4>>2]&16777216|0)==0:0)if(!(f[a+12>>2]|0))d=(f[a+20>>2]|0)==0?12:28;else d=28;else d=48;if((f[a+4>>2]&1024|0)==0?(e=f[a+8>>2]|0,(e|0)!=0):0)d=((wz(e)|0)&1073741823)+(d|1)|0;d=d+7&-8;if(!(c&1)){c=d;return c|0}else{e=Gk(f[a+12>>2]|0,c)|0;return e+d+(Gk(f[a+16>>2]|0,c)|0)|0}return 0}function Hk(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+16|0;x=D+4|0;y=D;f[y>>2]=0;z=a+81|0;if(!c){C=0;t=D;return C|0}A=a+272|0;B=a+276|0;C=a+288|0;s=a+300|0;u=a+296|0;v=a+284|0;w=a+292|0;i=0;r=y;a:while(1){do if(f[A>>2]|0)if(!(b[z>>0]|0))q=11;else break a;else{if((j[B>>1]|0)>=76){g=f[s>>2]|0;if(g|0){f[s>>2]=f[g>>2];f[v>>2]=(f[v>>2]|0)+1;break}g=f[u>>2]|0;if(!g)g=w;else{f[u>>2]=f[g>>2];f[v>>2]=(f[v>>2]|0)+1;break}}else g=C;f[g>>2]=(f[g>>2]|0)+1;q=11}while(0);if((q|0)==11){q=0;g=Dc(a,76,0)|0}if(!g)break;h=Ik(a,f[c>>2]|0,e)|0;f[g>>2]=h;h=Kk(a,f[c+32>>2]|0,e)|0;f[g+32>>2]=h;h=f[c+36>>2]|0;if(!h)h=0;else h=Bk(a,h,e,0)|0;f[g+36>>2]=h;h=Ik(a,f[c+40>>2]|0,e)|0;f[g+40>>2]=h;h=f[c+44>>2]|0;if(!h)h=0;else h=Bk(a,h,e,0)|0;f[g+44>>2]=h;p=Ik(a,f[c+48>>2]|0,e)|0;f[g+48>>2]=p;b[g+4>>0]=b[c+4>>0]|0;f[g+56>>2]=i;p=r;r=g+52|0;f[r>>2]=0;h=f[c+60>>2]|0;if(!h)h=0;else h=Bk(a,h,e,0)|0;f[g+60>>2]=h;f[g+12>>2]=0;f[g+16>>2]=0;f[g+8>>2]=f[c+8>>2]&-33;f[g+24>>2]=-1;f[g+28>>2]=-1;d[g+6>>1]=d[c+6>>1]|0;o=f[c+64>>2]|0;b:do if(o){k=f[o>>2]<<4|8;i=((k|0)<0)<<31>>31;do if(f[A>>2]|0)if(!(b[z>>0]|0))q=28;else{h=0;break b}else{if(!(0>>0|(0==(i|0)?(j[B>>1]|0)>>>0>>0:0))){h=f[s>>2]|0;if(h|0){f[s>>2]=f[h>>2];f[v>>2]=(f[v>>2]|0)+1;break}h=f[u>>2]|0;if(!h)h=w;else{f[u>>2]=f[h>>2];f[v>>2]=(f[v>>2]|0)+1;break}}else h=C;f[h>>2]=(f[h>>2]|0)+1;q=28}while(0);if((q|0)==28){q=0;h=Dc(a,k,i)|0}if(h){_A(h|0,0,k|0)|0;f[h>>2]=f[o>>2];if((f[o>>2]|0)>0){n=h+8|0;m=0;do{k=Hk(a,f[o+8+(m<<4)+8>>2]|0,0)|0;f[n+(m<<4)+8>>2]=k;k=Ik(a,f[o+8+(m<<4)+4>>2]|0,0)|0;f[n+(m<<4)+4>>2]=k;k=f[o+8+(m<<4)>>2]|0;c:do if(k){l=(wz(k)|0)+1|0;d:do if(f[A>>2]|0)if(!(b[z>>0]|0))q=41;else{i=0;break c}else{do if(0<0|(0==0?(j[B>>1]|0)>>>0>>0:0))i=C;else{i=f[s>>2]|0;if(i|0){f[s>>2]=f[i>>2];f[v>>2]=(f[v>>2]|0)+1;break d}i=f[u>>2]|0;if(!i){i=w;break}f[u>>2]=f[i>>2];f[v>>2]=(f[v>>2]|0)+1;break d}while(0);f[i>>2]=(f[i>>2]|0)+1;q=41}while(0);if((q|0)==41){q=0;i=Dc(a,l,0)|0}if(i)YA(i|0,k|0,l|0)|0;else i=0}else i=0;while(0);f[n+(m<<4)>>2]=i;m=m+1|0}while((m|0)<(f[o>>2]|0))}}else h=0}else h=0;while(0);f[g+64>>2]=h;f[g+68>>2]=0;h=f[c+72>>2]|0;f[x>>2]=0;if(!h)h=0;else{k=x;while(1){i=Jk(a,0,h)|0;f[k>>2]=i;if(!i)break;h=f[h+24>>2]|0;if(!h)break;else k=i+24|0}h=f[x>>2]|0}f[g+72>>2]=h;f[g+20>>2]=f[c+20>>2];f[p>>2]=g;c=f[c+52>>2]|0;if(!c)break;else i=g}C=f[y>>2]|0;t=D;return C|0}function Ik(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!c){A=0;return A|0}A=(a|0)==0;if((!A?(g=c,(f[a+304>>2]|0)>>>0<=g>>>0):0)?(f[a+308>>2]|0)>>>0>g>>>0:0)i=j[a+276>>1]|0;else i=ib[f[37368>>2]&255](c)|0;k=((i|0)<0)<<31>>31;z=a+272|0;a:do if(f[z>>2]|0)if(!(b[a+81>>0]|0))y=17;else{A=0;return A|0}else{do if(!(0>>0|(0==(k|0)?(j[a+276>>1]|0)>>>0>>0:0))){h=a+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];x=a+284|0;f[x>>2]=(f[x>>2]|0)+1;break a}h=a+296|0;g=f[h>>2]|0;if(!g){g=a+292|0;break}else{f[h>>2]=f[g>>2];x=a+284|0;f[x>>2]=(f[x>>2]|0)+1;break a}}else g=a+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;y=17}while(0);if((y|0)==17)g=Dc(a,i,k)|0;if(!g){A=0;return A|0}f[g>>2]=f[c>>2];if((f[c>>2]|0)<=0){A=g;return A|0}r=a+276|0;s=a+81|0;t=a+288|0;u=a+300|0;v=a+296|0;w=a+284|0;x=a+292|0;o=g+4|0;h=0;p=0;q=c+4|0;while(1){i=f[q>>2]|0;do if(i){k=Bk(a,i,e,0)|0;f[o>>2]=k;if(!((k|0)==0|(b[i>>0]|0)!=-90))if(!(d[k+32>>1]|0)){n=f[k+16>>2]|0;f[k+12>>2]=n;break}else{f[k+12>>2]=h;n=h;break}else n=h}else{f[o>>2]=0;n=h}while(0);l=f[q+4>>2]|0;b:do if(!l)h=0;else{m=(wz(l)|0)+1|0;do if(A){k=KA(m|0,0,-1,-1)|0;i=ba()|0;if(i>>>0>0|(i|0)==0&k>>>0>2147483390){h=0;break b}if(!(f[9328]|0)){h=ib[f[37356>>2]&255](m)|0;y=50;break}h=ib[f[37372>>2]&255](m)|0;if((f[18194]|0)>>>0>>0)f[18194]=m;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){B=f[18187]|0;k=LA(i|0,k|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[17976]=((i|0)<0|(i|0)==0&k>>>0<=B>>>0)&1}h=ib[f[37356>>2]&255](h)|0;if(!h){h=0;break b}i=ib[f[37368>>2]&255](h)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}else{if(f[z>>2]|0){if(b[s>>0]|0){h=0;break b}}else{if(!(0<0|(0==0?(j[r>>1]|0)>>>0>>0:0))){h=f[u>>2]|0;if(h|0){f[u>>2]=f[h>>2];f[w>>2]=(f[w>>2]|0)+1;y=50;break}h=f[v>>2]|0;if(!h)h=x;else{f[v>>2]=f[h>>2];f[w>>2]=(f[w>>2]|0)+1;y=50;break}}else h=t;f[h>>2]=(f[h>>2]|0)+1}h=Dc(a,m,0)|0;y=50}while(0);if((y|0)==50){y=0;if(!h){h=0;break}}YA(h|0,l|0,m|0)|0}while(0);f[o+4>>2]=h;l=f[q+8>>2]|0;c:do if(!l)h=0;else{m=(wz(l)|0)+1|0;do if(A){B=KA(m|0,0,-1,-1)|0;k=ba()|0;if(k>>>0>0|(k|0)==0&B>>>0>2147483390){h=0;break c}if(!(f[9328]|0)){h=ib[f[37356>>2]&255](m)|0;y=75;break}h=ib[f[37372>>2]&255](m)|0;if((f[18194]|0)>>>0>>0)f[18194]=m;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){B=f[18187]|0;k=LA(i|0,k|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[17976]=((i|0)<0|(i|0)==0&k>>>0<=B>>>0)&1}h=ib[f[37356>>2]&255](h)|0;if(!h){h=0;break c}i=ib[f[37368>>2]&255](h)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}else{if(f[z>>2]|0){if(b[s>>0]|0){h=0;break c}}else{if(!(0<0|(0==0?(j[r>>1]|0)>>>0>>0:0))){h=f[u>>2]|0;if(h|0){f[u>>2]=f[h>>2];f[w>>2]=(f[w>>2]|0)+1;y=75;break}h=f[v>>2]|0;if(!h)h=x;else{f[v>>2]=f[h>>2];f[w>>2]=(f[w>>2]|0)+1;y=75;break}}else h=t;f[h>>2]=(f[h>>2]|0)+1}h=Dc(a,m,0)|0;y=75}while(0);if((y|0)==75){y=0;if(!h){h=0;break}}YA(h|0,l|0,m|0)|0}while(0);f[o+8>>2]=h;b[o+12>>0]=b[q+12>>0]|0;B=o+13|0;l=b[B>>0]|0;b[B>>0]=l&-2;m=q+13|0;l=b[m>>0]&2|l&-4;b[B>>0]=l;b[B>>0]=l&-10|b[m>>0]&8;f[o+16>>2]=f[q+16>>2];p=p+1|0;if((p|0)>=(f[c>>2]|0))break;else{o=o+20|0;h=n;q=q+20|0}}return g|0}function Jk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;if(!d){c=0;return c|0}i=(a|0)==0;a:do if(i){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](72)|0;m=25;break}e=ib[f[37372>>2]&255](72)|0;if((f[18194]|0)>>>0<72)f[18194]=72;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){l=f[18187]|0;k=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;h=ba()|0;f[17976]=((h|0)<0|(h|0)==0&k>>>0<=l>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(!g){c=0;return c|0}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){c=0;return c|0}}else{do if((j[a+276>>1]|0)>=72){g=a+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];m=a+284|0;f[m>>2]=(f[m>>2]|0)+1;m=25;break a}g=a+296|0;e=f[g>>2]|0;if(!e){e=a+292|0;break}else{f[g>>2]=f[e>>2];m=a+284|0;f[m>>2]=(f[m>>2]|0)+1;m=25;break a}}else e=a+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(a,72,0)|0;m=25}while(0);if((m|0)==25)if(!e){c=0;return c|0}else g=e;e=g;h=e+72|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(h|0));k=f[d>>2]|0;b:do if(!k)e=0;else{l=(wz(k)|0)+1|0;c:do if(i){i=KA(l|0,0,-1,-1)|0;h=ba()|0;if(h>>>0>0|(h|0)==0&i>>>0>2147483390){e=0;break b}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](l)|0;m=51;break}e=ib[f[37372>>2]&255](l)|0;if((f[18194]|0)>>>0>>0)f[18194]=l;i=71896;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){n=f[18187]|0;i=LA(h|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;h=ba()|0;f[17976]=((h|0)<0|(h|0)==0&i>>>0<=n>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e){e=0;break b}h=ib[f[37368>>2]&255](e)|0;h=(f[18187]|0)+h|0;f[18187]=h;if(h>>>0>(f[18191]|0)>>>0)f[18191]=h;h=(f[18190]|0)+1|0;f[18190]=h;if(h>>>0>(f[18196]|0)>>>0)f[18196]=h}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){e=0;break b}}else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){h=a+300|0;e=f[h>>2]|0;if(e|0){f[h>>2]=f[e>>2];m=a+284|0;f[m>>2]=(f[m>>2]|0)+1;m=51;break c}h=a+296|0;e=f[h>>2]|0;if(!e){e=a+292|0;break}else{f[h>>2]=f[e>>2];m=a+284|0;f[m>>2]=(f[m>>2]|0)+1;m=51;break c}}else e=a+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(a,l,0)|0;m=51}while(0);if((m|0)==51)if(!e){e=0;break}YA(e|0,k|0,l|0)|0}while(0);f[g>>2]=e;e=f[d+28>>2]|0;if(!e)e=0;else e=Bk(a,e,0,0)|0;f[g+28>>2]=e;e=Ik(a,f[d+4>>2]|0,0)|0;f[g+4>>2]=e;e=Ik(a,f[d+8>>2]|0,0)|0;f[g+8>>2]=e;b[g+12>>0]=b[d+12>>0]|0;b[g+14>>0]=b[d+14>>0]|0;b[g+13>>0]=b[d+13>>0]|0;e=f[d+16>>2]|0;if(!e)e=0;else e=Bk(a,e,0,0)|0;f[g+16>>2]=e;e=f[d+20>>2]|0;if(!e)e=0;else e=Bk(a,e,0,0)|0;f[g+20>>2]=e;f[g+60>>2]=c;n=g;return n|0}function Kk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if(!c){d=0;return d|0}h=f[c>>2]|0;v=(h|0)>0;h=(h*72|0)+8|0;i=v?h:80;h=v?((h|0)<0)<<31>>31:0;v=a+272|0;a:do if(f[v>>2]|0)if(!(b[a+81>>0]|0))u=12;else{d=0;return d|0}else{do if(!(h>>>0>0|((h|0)==0?i>>>0>(j[a+276>>1]|0)>>>0:0))){g=a+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];t=a+284|0;f[t>>2]=(f[t>>2]|0)+1;break a}g=a+296|0;e=f[g>>2]|0;if(!e){e=a+292|0;break}else{f[g>>2]=f[e>>2];t=a+284|0;f[t>>2]=(f[t>>2]|0)+1;break a}}else e=a+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;u=12}while(0);if((u|0)==12)e=Dc(a,i,h)|0;if(!e){d=0;return d|0}t=f[c>>2]|0;f[e+4>>2]=t;f[e>>2]=t;if((f[c>>2]|0)<=0){d=e;return d|0}m=e+8|0;n=a+276|0;o=a+81|0;p=a+288|0;q=a+300|0;r=a+296|0;s=a+284|0;t=a+292|0;l=0;do{f[m+(l*72|0)>>2]=f[c+8+(l*72|0)>>2];h=f[c+8+(l*72|0)+4>>2]|0;b:do if(h){i=(wz(h)|0)+1|0;do if(f[v>>2]|0)if(!(b[o>>0]|0))u=25;else{g=0;break b}else{if(!(0<0|(0==0?(j[n>>1]|0)>>>0>>0:0))){g=f[q>>2]|0;if(g|0){f[q>>2]=f[g>>2];f[s>>2]=(f[s>>2]|0)+1;break}g=f[r>>2]|0;if(!g)g=t;else{f[r>>2]=f[g>>2];f[s>>2]=(f[s>>2]|0)+1;break}}else g=p;f[g>>2]=(f[g>>2]|0)+1;u=25}while(0);if((u|0)==25){u=0;g=Dc(a,i,0)|0}if(g)YA(g|0,h|0,i|0)|0;else g=0}else g=0;while(0);f[m+(l*72|0)+4>>2]=g;h=f[c+8+(l*72|0)+8>>2]|0;c:do if(h){i=(wz(h)|0)+1|0;do if(f[v>>2]|0)if(!(b[o>>0]|0))u=37;else{g=0;break c}else{if(!(0<0|(0==0?(j[n>>1]|0)>>>0>>0:0))){g=f[q>>2]|0;if(g|0){f[q>>2]=f[g>>2];f[s>>2]=(f[s>>2]|0)+1;break}g=f[r>>2]|0;if(!g)g=t;else{f[r>>2]=f[g>>2];f[s>>2]=(f[s>>2]|0)+1;break}}else g=p;f[g>>2]=(f[g>>2]|0)+1;u=37}while(0);if((u|0)==37){u=0;g=Dc(a,i,0)|0}if(g)YA(g|0,h|0,i|0)|0;else g=0}else g=0;while(0);f[m+(l*72|0)+8>>2]=g;h=f[c+8+(l*72|0)+12>>2]|0;d:do if(h){i=(wz(h)|0)+1|0;do if(f[v>>2]|0)if(!(b[o>>0]|0))u=49;else{g=0;break d}else{if(!(0<0|(0==0?(j[n>>1]|0)>>>0>>0:0))){g=f[q>>2]|0;if(g|0){f[q>>2]=f[g>>2];f[s>>2]=(f[s>>2]|0)+1;break}g=f[r>>2]|0;if(!g)g=t;else{f[r>>2]=f[g>>2];f[s>>2]=(f[s>>2]|0)+1;break}}else g=p;f[g>>2]=(f[g>>2]|0)+1;u=49}while(0);if((u|0)==49){u=0;g=Dc(a,i,0)|0}if(g)YA(g|0,h|0,i|0)|0;else g=0}else g=0;while(0);f[m+(l*72|0)+12>>2]=g;f[m+(l*72|0)+36>>2]=f[c+8+(l*72|0)+36>>2];f[m+(l*72|0)+40>>2]=f[c+8+(l*72|0)+40>>2];f[m+(l*72|0)+24>>2]=f[c+8+(l*72|0)+24>>2];f[m+(l*72|0)+28>>2]=f[c+8+(l*72|0)+28>>2];k=m+(l*72|0)+37|0;g=b[k>>0]|0;if(g&2){h=f[c+8+(l*72|0)+64>>2]|0;e:do if(h){i=(wz(h)|0)+1|0;do if(f[v>>2]|0)if(!(b[o>>0]|0))u=62;else{g=0;break e}else{if(!(0<0|(0==0?(j[n>>1]|0)>>>0>>0:0))){g=f[q>>2]|0;if(g|0){f[q>>2]=f[g>>2];f[s>>2]=(f[s>>2]|0)+1;break}g=f[r>>2]|0;if(!g)g=t;else{f[r>>2]=f[g>>2];f[s>>2]=(f[s>>2]|0)+1;break}}else g=p;f[g>>2]=(f[g>>2]|0)+1;u=62}while(0);if((u|0)==62){u=0;g=Dc(a,i,0)|0}if(g)YA(g|0,h|0,i|0)|0;else g=0}else g=0;while(0);f[m+(l*72|0)+64>>2]=g;g=b[k>>0]|0}f[m+(l*72|0)+68>>2]=f[c+8+(l*72|0)+68>>2];if(g&4){k=Ik(a,f[c+8+(l*72|0)+64>>2]|0,d)|0;f[m+(l*72|0)+64>>2]=k}g=f[c+8+(l*72|0)+16>>2]|0;f[m+(l*72|0)+16>>2]=g;if(g|0){k=g+32|0;f[k>>2]=(f[k>>2]|0)+1}g=Hk(a,f[c+8+(l*72|0)+20>>2]|0,d)|0;f[m+(l*72|0)+20>>2]=g;g=f[c+8+(l*72|0)+44>>2]|0;if(!g)g=0;else g=Bk(a,g,d,0)|0;f[m+(l*72|0)+44>>2]=g;h=Lk(a,f[c+8+(l*72|0)+48>>2]|0)|0;f[m+(l*72|0)+48>>2]=h;h=c+8+(l*72|0)+56|0;i=f[h+4>>2]|0;k=m+(l*72|0)+56|0;f[k>>2]=f[h>>2];f[k+4>>2]=i;l=l+1|0}while((l|0)<(f[c>>2]|0));return e|0}function Lk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if(!c){v=0;return v|0}v=a+272|0;a:do if(f[v>>2]|0)if(!(b[a+81>>0]|0))t=12;else{v=0;return v|0}else{do if((j[a+276>>1]|0)>=8){e=a+300|0;d=f[e>>2]|0;if(d|0){f[e>>2]=f[d>>2];u=a+284|0;f[u>>2]=(f[u>>2]|0)+1;break a}e=a+296|0;d=f[e>>2]|0;if(!d){d=a+292|0;break}else{f[e>>2]=f[d>>2];u=a+284|0;f[u>>2]=(f[u>>2]|0)+1;break a}}else d=a+288|0;while(0);f[d>>2]=(f[d>>2]|0)+1;t=12}while(0);if((t|0)==12)d=Dc(a,8,0)|0;if(!d){v=0;return v|0}u=c+4|0;f[d+4>>2]=f[u>>2];h=f[u>>2]<<3;b:do if(f[v>>2]|0)if(!(b[a+81>>0]|0))t=25;else f[d>>2]=0;else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){e=a+300|0;g=f[e>>2]|0;if(g|0){f[e>>2]=f[g>>2];t=a+284|0;f[t>>2]=(f[t>>2]|0)+1;t=26;break b}e=a+296|0;g=f[e>>2]|0;if(!g){e=a+292|0;break}else{f[e>>2]=f[g>>2];t=a+284|0;f[t>>2]=(f[t>>2]|0)+1;t=26;break b}}else e=a+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;t=25}while(0);if((t|0)==25){g=Dc(a,h,0)|0;t=26}if((t|0)==26?(f[d>>2]=g,g|0):0){if((f[u>>2]|0)<=0){v=d;return v|0}n=a+276|0;o=a+81|0;p=a+288|0;q=a+300|0;r=a+296|0;s=a+284|0;m=a+292|0;e=0;while(1){l=f[c>>2]|0;i=f[l+(e<<3)>>2]|0;c:do if(i){k=(wz(i)|0)+1|0;do if(f[v>>2]|0)if(!(b[o>>0]|0))t=46;else{h=0;break c}else{if(!(0<0|(0==0?(j[n>>1]|0)>>>0>>0:0))){h=f[q>>2]|0;if(h|0){f[q>>2]=f[h>>2];f[s>>2]=(f[s>>2]|0)+1;break}h=f[r>>2]|0;if(!h)h=m;else{f[r>>2]=f[h>>2];f[s>>2]=(f[s>>2]|0)+1;break}}else h=p;f[h>>2]=(f[h>>2]|0)+1;t=46}while(0);if((t|0)==46){t=0;h=Dc(a,k,0)|0}if(h)YA(h|0,i|0,k|0)|0;else h=0}else h=0;while(0);f[g+(e<<3)>>2]=h;f[g+(e<<3)+4>>2]=f[l+(e<<3)+4>>2];e=e+1|0;if((e|0)>=(f[u>>2]|0))break;g=f[d>>2]|0}return d|0}if(f[a+480>>2]|0){Kc(a,d);v=0;return v|0}v=d;if((f[a+304>>2]|0)>>>0<=v>>>0?(f[a+308>>2]|0)>>>0>v>>>0:0){v=a+300|0;f[d>>2]=f[v>>2];f[v>>2]=d;v=0;return v|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);v=0;return v|0}else{v=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);v=0;return v|0}return 0}function Mk(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;m=t;t=t+32|0;h=m;e=m+4|0;if(!b){l=0;t=m;return l|0}k=a+24|0;l=j[k>>1]|0;d[k>>1]=l&61423;c=f[a>>2]|0;f[e>>2]=c;f[e+4>>2]=146;f[e+8>>2]=147;f[e+12>>2]=0;f[e+24>>2]=a;i=b+24|0;g=c+204|0;n=(f[g>>2]|0)+(f[i>>2]|0)|0;f[g>>2]=n;g=f[(f[c>>2]|0)+120>>2]|0;if((g|0)<(n|0)){f[h>>2]=g;ni(c,42710,h);n=1;t=m;return n|0}oi(e,b)|0;e=f[e>>2]|0;c=e+204|0;f[c>>2]=(f[c>>2]|0)-(f[i>>2]|0);c=d[k>>1]|0;if(c&16){n=b+4|0;f[n>>2]=f[n>>2]|2}d[k>>1]=l&4112|c&65535;if((f[a+20>>2]|0)>0){n=1;t=m;return n|0}n=(f[e+36>>2]|0)>0&1;t=m;return n|0}function Nk(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+32|0;k=p;c=f[c+4+(d*20|0)>>2]|0;m=f[a>>2]|0;if(!c){o=e+4|0;e=f[o>>2]|0;e=e|4194304;f[o>>2]=e;t=p;return}c=Bk(m,c,0,0)|0;if(!c){o=e+4|0;e=f[o>>2]|0;e=e|4194304;f[o>>2]=e;t=p;return}if((h|0)>0&(b[g>>0]|0)!=71){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+4>>2]=153;f[k+24>>2]=h;oi(k,c)|0}if((b[e>>0]|0)==102){d=f[e+8>>2]|0;f[k>>2]=d;if(d){h=(wz(d)|0)&1073741823;f[k+4>>2]=h;if((h|0)!=0?(i=Dk(f[a>>2]|0,102,k,0)|0,(i|0)!=0):0){f[i+12>>2]=c;c=i+4|0;f[c>>2]=f[c>>2]|4352;c=i}}else f[k+4>>2]=0}i=c+4|0;f[i>>2]=f[i>>2]|4194304;i=e+4|0;f[i>>2]=f[i>>2]|32768;ig(m,e);d=e;g=c;h=d+48|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));if((f[i>>2]&1024|0)==0?(o=e+8|0,n=f[o>>2]|0,n|0):0){a=(wz(n)|0)+1|0;a:do if(!m){k=KA(a|0,0,-1,-1)|0;h=ba()|0;if(!(h>>>0>0|(h|0)==0&k>>>0>2147483390)){if(!(f[9328]|0)){d=ib[f[37356>>2]&255](a)|0;l=38;break}g=ib[f[37372>>2]&255](a)|0;if((f[18194]|0)>>>0>>0)f[18194]=a;d=71896;h=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&h>>>0>0){k=f[18187]|0;h=LA(h|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ba()|0;f[17976]=((d|0)<0|(d|0)==0&h>>>0<=k>>>0)&1}d=ib[f[37356>>2]&255](g)|0;if(d){g=ib[f[37368>>2]&255](d)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;l=39}else l=39}else d=0}else d=0}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){d=0;break}}else{do if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0))){g=m+300|0;d=f[g>>2]|0;if(d|0){f[g>>2]=f[d>>2];l=m+284|0;f[l>>2]=(f[l>>2]|0)+1;l=38;break a}g=m+296|0;d=f[g>>2]|0;if(!d){d=m+292|0;break}else{f[g>>2]=f[d>>2];l=m+284|0;f[l>>2]=(f[l>>2]|0)+1;l=38;break a}}else d=m+288|0;while(0);f[d>>2]=(f[d>>2]|0)+1}d=Dc(m,a,0)|0;l=38}while(0);if((l|0)==38)if(!d)d=0;else l=39;if((l|0)==39)YA(d|0,n|0,a|0)|0;f[o>>2]=d;f[i>>2]=f[i>>2]|65536}if(m|0){if(f[m+480>>2]|0){Kc(m,c);o=e+4|0;e=f[o>>2]|0;e=e|4194304;f[o>>2]=e;t=p;return}o=c;if((f[m+304>>2]|0)>>>0<=o>>>0?(f[m+308>>2]|0)>>>0>o>>>0:0){o=m+300|0;f[c>>2]=f[o>>2];f[o>>2]=c;o=e+4|0;e=f[o>>2]|0;e=e|4194304;f[o>>2]=e;t=p;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);o=e+4|0;e=f[o>>2]|0;e=e|4194304;f[o>>2]=e;t=p;return}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);o=e+4|0;e=f[o>>2]|0;e=e|4194304;f[o>>2]=e;t=p;return}}function Ok(a,c){a=a|0;c=c|0;if((b[c>>0]|0)!=-97)return 0;c=c+38|0;b[c>>0]=(f[a+24>>2]|0)+(h[c>>0]|0);return 0}function Pk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0;l=0;a:while(1){switch(b[a+l>>0]|0){case 46:case 0:break a;default:{}}l=l+1|0}if(e|0){b:do if(l|0){g=a;k=e;i=l;while(1){f=b[g>>0]|0;if(!(f<<24>>24)){i=8;break}j=b[1232+(f&255)>>0]|0;f=b[1232+(h[k>>0]|0)>>0]|0;if(j<<24>>24!=f<<24>>24){i=10;break}if((i|0)>1){g=g+1|0;k=k+1|0;i=i+-1|0}else break b}if((i|0)==8){g=0;f=b[1232+(h[k>>0]|0)>>0]|0}else if((i|0)==10)g=j&255;if((g|0)!=(f&255|0)){d=0;return d|0}}while(0);if(b[e+l>>0]|0){d=0;return d|0}}a=a+(l+1)|0;l=0;c:while(1){switch(b[a+l>>0]|0){case 46:case 0:break c;default:{}}l=l+1|0}if(d|0){d:do if(l|0){g=a;k=d;i=l;while(1){f=b[g>>0]|0;if(!(f<<24>>24)){i=21;break}j=b[1232+(f&255)>>0]|0;f=b[1232+(h[k>>0]|0)>>0]|0;if(j<<24>>24!=f<<24>>24){i=23;break}if((i|0)>1){g=g+1|0;k=k+1|0;i=i+-1|0}else break d}if((i|0)==21){g=0;f=b[1232+(h[k>>0]|0)>>0]|0}else if((i|0)==23)g=j&255;if((g|0)!=(f&255|0)){d=0;return d|0}}while(0);if(b[d+l>>0]|0){d=0;return d|0}}if(c|0){g=a+(l+1)|0;d=b[g>>0]|0;f=(h[1232+(d&255)>>0]|0)-(h[1232+(h[c>>0]|0)>>0]|0)|0;if(!(d<<24>>24==0|(f|0)!=0))do{g=g+1|0;c=c+1|0;d=b[g>>0]|0;f=(h[1232+(d&255)>>0]|0)-(h[1232+(h[c>>0]|0)>>0]|0)|0}while(!(d<<24>>24==0|(f|0)!=0));if(f|0){d=0;return d|0}}d=1;return d|0}function Qk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+32|0;i=n+24|0;m=n+16|0;l=n+8|0;h=n;j=f[a>>2]|0;k=f[(f[j+16>>2]|0)+(e<<4)>>2]|0;if(b[j+165>>0]|0){m=0;t=n;return m|0}g=nb[f[j+312>>2]&127](f[j+316>>2]|0,20,c,d,k,f[a+236>>2]|0)|0;if((g|0)==1){f[h>>2]=c;f[h+4>>2]=d;c=wd(50225,h)|0;if(e|0?1:(f[j+20>>2]|0)>2){f[l>>2]=k;f[l+4>>2]=c;c=wd(50231,l)|0}f[m>>2]=c;ni(a,50237,m);f[a+12>>2]=23;m=1;t=n;return m|0}else{if((g|2|0)==2){m=g;t=n;return m|0}ni(a,49831,i);f[a+12>>2]=1;m=g;t=n;return m|0}return 0}function Rk(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if(!c)t=0;else t=(wz(c)|0)&1073741823;u=a+364|0;m=f[a+376>>2]|0;if(!m){k=a+368|0;i=a+372|0}else{k=b[c>>0]|0;if(!(k<<24>>24))i=0;else{i=0;l=c;do{l=l+1|0;i=U(i+(h[1232+(k&255)>>0]|0)|0,-1640531535)|0;k=b[l>>0]|0}while(k<<24>>24!=0)}i=(i>>>0)%((f[u>>2]|0)>>>0)|0;k=m+(i<<3)|0;i=m+(i<<3)+4|0}k=f[k>>2]|0;a:do if(!k)i=72124;else{o=h[1232+(h[c>>0]|0)>>0]|0;while(1){i=f[i>>2]|0;k=k+-1|0;m=f[i+12>>2]|0;n=b[m>>0]|0;l=(h[1232+(n&255)>>0]|0)-o|0;if(!(n<<24>>24==0|(l|0)!=0)){n=c;do{m=m+1|0;n=n+1|0;v=b[m>>0]|0;l=(h[1232+(v&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(v<<24>>24==0|(l|0)!=0))}if(!l)break a;if(!k){i=72124;break}}}while(0);i=f[i+8>>2]|0;b:do if(!i){l=0;i=0}else{o=e&255;if((d|0)==-2){l=0;k=0;while(1){o=(f[i+16>>2]|0)==0?0:6;v=(o|0)>(k|0);k=v?o:k;l=v?i:l;i=f[i+12>>2]|0;if(!i){i=k;break b}}}l=0;n=0;while(1){v=b[i>>0]|0;k=v<<24>>24;do if(!(v<<24>>24>-1&(k|0)!=(d|0))){k=(k|0)==(d|0)?4:1;m=f[i+4>>2]|0;if((m&3|0)==(o|0)){k=k|2;break}else{k=((m&o)>>>1&1)+k|0;break}}else k=0;while(0);v=(k|0)>(n|0);k=v?k:n;l=v?i:l;i=f[i+12>>2]|0;if(!i){i=k;break}else n=k}}while(0);c:do if(!(g<<24>>24)){if(l|0?(f[a+24>>2]&2|0)==0:0){q=l;r=0;o=93;break}o=h[1232+(h[c>>0]|0)>>0]|0;i=f[71916+((((t+o|0)>>>0)%23|0)<<2)>>2]|0;if(i){while(1){m=f[i+32>>2]|0;v=b[m>>0]|0;k=(h[1232+(v&255)>>0]|0)-o|0;if(!(v<<24>>24==0|(k|0)!=0)){n=c;do{m=m+1|0;n=n+1|0;v=b[m>>0]|0;k=(h[1232+(v&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(v<<24>>24==0|(k|0)!=0))}if(!k)break;i=f[i+36>>2]|0;if(!i){i=0;o=46;break c}}if(!i){i=0;o=46}else{o=e&255;if((d|0)==-2){k=0;while(1){o=(f[i+16>>2]|0)==0?0:6;v=(o|0)>(k|0);k=v?o:k;l=v?i:l;i=f[i+12>>2]|0;if(!i){i=k;o=46;break c}}}n=0;while(1){v=b[i>>0]|0;k=v<<24>>24;do if(!(v<<24>>24>-1&(k|0)!=(d|0))){k=(k|0)==(d|0)?4:1;m=f[i+4>>2]|0;if((m&3|0)==(o|0)){k=k|2;break}else{k=((m&o)>>>1&1)+k|0;break}}else k=0;while(0);v=(k|0)>(n|0);k=v?k:n;l=v?i:l;i=f[i+12>>2]|0;if(!i){i=k;o=46;break}else n=k}}}else{p=l;s=0;o=92}}else o=46;while(0);d:do if((o|0)==46){k=g<<24>>24!=0;if(k&(i|0)<6){n=t+41|0;g=(a|0)==0;e:do if(g){v=KA(n|0,0,-1,-1)|0;m=ba()|0;if(m>>>0>0|(m|0)==0&v>>>0>2147483390)break d;if(!(f[9328]|0)){i=ib[f[37356>>2]&255](n)|0;o=71;break}i=ib[f[37372>>2]&255](n)|0;if((f[18194]|0)>>>0>>0)f[18194]=n;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){v=f[18187]|0;m=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&m>>>0<=v>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(!k)break d;i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;m=k}else m=k}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0)break d}else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){k=a+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];o=a+284|0;f[o>>2]=(f[o>>2]|0)+1;o=71;break e}k=a+296|0;i=f[k>>2]|0;if(!i){i=a+292|0;break}else{f[k>>2]=f[i>>2];o=a+284|0;f[o>>2]=(f[o>>2]|0)+1;o=71;break e}}else i=a+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(a,n,0)|0;o=71}while(0);if((o|0)==71)if(!i)break;else m=i;_A(m|0,0,n|0)|0;i=m+40|0;l=m+32|0;f[l>>2]=i;b[m>>0]=d;f[m+4>>2]=e&255;YA(i|0,c|0,t+1|0)|0;k=b[i>>0]|0;if(k<<24>>24){do{b[i>>0]=b[1232+(k&255)>>0]|0;i=i+1|0;k=b[i>>0]|0}while(k<<24>>24!=0);i=f[l>>2]|0}i=pg(u,i,m)|0;if((i|0)!=(m|0)){f[m+12>>2]=i;v=m;return v|0}do if(!g){if(f[a+480>>2]|0){Kc(a,m);break}v=m;if((f[a+304>>2]|0)>>>0<=v>>>0?(f[a+308>>2]|0)>>>0>v>>>0:0){v=a+300|0;f[m>>2]=f[v>>2];f[v>>2]=m}else o=83}else o=83;while(0);do if((o|0)==83)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{v=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);i=a+81|0;if(b[i>>0]|0){v=0;return v|0}if(b[a+82>>0]|0){v=0;return v|0}b[i>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;v=a+272|0;f[v>>2]=(f[v>>2]|0)+1;v=0;return v|0}else{p=l;s=k;o=92}}while(0);if((o|0)==92?p|0:0){q=p;r=s;o=93}if((o|0)==93?r|(f[q+16>>2]|0)!=0:0){v=q;return v|0}v=0;return v|0}function Sk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;switch(b[c>>0]|0){case -96:case -98:break;default:return 0}d=f[a+24>>2]|0;e=f[d>>2]|0;a:do if((e|0)!=0?(g=f[e>>2]|0,(g|0)>0):0){c=f[c+28>>2]|0;a=0;while(1){if((c|0)==(f[e+8+(a*72|0)+40>>2]|0))break;a=a+1|0;if((a|0)>=(g|0)){h=8;break a}}a=d+4|0}else h=8;while(0);if((h|0)==8)a=d+8|0;f[a>>2]=(f[a>>2]|0)+1;return 0}function Tk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;if(!b)return;c=f[b>>2]|0;if((c|0)<=0)return;h=a+40|0;e=0;g=b+8|0;while(1){d=g+40|0;if((f[d>>2]|0)>-1){c=8;break}i=f[h>>2]|0;f[h>>2]=i+1;f[d>>2]=i;d=f[g+20>>2]|0;if(d){Tk(a,f[d+32>>2]|0);c=f[b>>2]|0}e=e+1|0;if((e|0)>=(c|0)){c=8;break}else g=g+72|0}if((c|0)==8)return}function Uk(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0;k=f[a>>2]|0;e=k+32|0;l=e;g=f[l>>2]|0;l=f[l+4>>2]|0;i=e;f[i>>2]=g&-69|64;f[i+4>>2]=l;cg(a,c,0);if(f[a+36>>2]|0){l=0;return l|0}i=c;while(1){c=f[i+52>>2]|0;if(!c)break;else i=c}c=UA(0,g|0,32)|0;g=ba()|0;l=e;f[l>>2]=c;f[l+4>>2]=g;a:do if(!k){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](80)|0;h=27;break}c=ib[f[37372>>2]&255](80)|0;if((f[18194]|0)>>>0<80)f[18194]=80;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){l=f[18187]|0;g=LA(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&g>>>0<=l>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c){l=0;return l|0}e=ib[f[37368>>2]&255](c)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}else{if(f[k+272>>2]|0){if(b[k+81>>0]|0){l=0;return l|0}}else{do if((j[k+276>>1]|0)>=80){e=k+300|0;c=f[e>>2]|0;if(c|0){f[e>>2]=f[c>>2];h=k+284|0;f[h>>2]=(f[h>>2]|0)+1;h=27;break a}e=k+296|0;c=f[e>>2]|0;if(!c){c=k+292|0;break}else{f[e>>2]=f[c>>2];h=k+284|0;f[h>>2]=(f[h>>2]|0)+1;h=27;break a}}else c=k+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(k,80,0)|0;h=27}while(0);if((h|0)==27)if(!c){l=0;return l|0}e=c+4|0;g=e+76|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(g|0));e=c+32|0;f[e>>2]=1;f[c>>2]=0;d[c+44>>1]=200;Vk(f[a>>2]|0,f[i>>2]|0,c+42|0,c+4|0);Wk(a,c,i);d[c+40>>1]=-1;if(!(b[k+81>>0]|0)){l=c;return l|0}if(f[k+480>>2]|0){hg(k,c);l=0;return l|0}l=(f[e>>2]|0)+-1|0;f[e>>2]=l;if(l|0){l=0;return l|0}hg(k,c);l=0;return l|0}function Vk(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=t;t=t+48|0;N=P+8|0;M=P;L=P+40|0;O=P+24|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;do if(c){n=f[c>>2]|0;m=n<<4;a:do if(!a){K=KA(m|0,0,-1,-1)|0;J=ba()|0;if(!(J>>>0>0|(J|0)==0&K>>>0>2147483390)){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](m)|0;s=27;break}i=ib[f[37372>>2]&255](m)|0;if((f[18194]|0)>>>0>>0)f[18194]=m;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){K=f[18187]|0;J=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;I=ba()|0;f[17976]=((I|0)<0|(I|0)==0&J>>>0<=K>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(i){k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;s=28}else s=28}else K=0}else K=0}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){K=0;break}}else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){k=a+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];s=a+284|0;f[s>>2]=(f[s>>2]|0)+1;s=27;break a}k=a+296|0;i=f[k>>2]|0;if(!i){i=a+292|0;break}else{f[k>>2]=f[i>>2];s=a+284|0;f[s>>2]=(f[s>>2]|0)+1;s=27;break a}}else i=a+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(a,m,0)|0;s=27}while(0);if((s|0)==27)if(!i)K=0;else s=28;if((s|0)==28){_A(i|0,0,m|0)|0;K=i}if((n|0)<32767){d[e>>1]=n;f[g>>2]=K;k=a+81|0;if((n|0)>0)J=k;else{i=K;l=K;s=32;break}}else{d[e>>1]=32767;f[g>>2]=K;n=32767;J=a+81|0}G=(a|0)==0;I=O+12|0;H=O+8|0;v=O+4|0;w=a+272|0;x=a+276|0;y=a+288|0;z=a+300|0;A=a+296|0;B=a+284|0;C=a+292|0;D=a+82|0;E=a+180|0;F=a+264|0;u=K;l=0;while(1){if(b[J>>0]|0)break;i=f[c+4+(l*20|0)+4>>2]|0;do if(!i){i=f[c+4+(l*20|0)>>2]|0;b:do if(!i)i=0;else while(1){k=f[i+4>>2]|0;if(!(k&4096))break b;if(!(k&262144))i=i+12|0;else i=(f[i+20>>2]|0)+4|0;i=f[i>>2]|0;if(!i){i=0;break}}while(0);c:while(1){switch(b[i>>0]|0){case -98:{s=46;break c}case 59:{s=50;break c}case -126:break;default:{s=51;break c}}i=f[i+16>>2]|0}if((s|0)==46){k=d[i+32>>1]|0;m=f[i+44>>2]|0;if(k<<16>>16<0)i=d[m+40>>1]|0;else i=k<<16>>16;if((i|0)<=-1){i=47870;s=53;break}i=(f[m+4>>2]|0)+(i<<4)|0}else if((s|0)==50)i=i+8|0;else if((s|0)==51)i=c+4+(l*20|0)+8|0;i=f[i>>2]|0;if(!i){f[M>>2]=l+1;i=Ig(a,50333,M)|0;f[L>>2]=0;if(!i)s=106;else s=78}else s=53}else s=53;while(0);do if((s|0)==53){p=(wz(i)|0)+1|0;do if(G){s=KA(p|0,0,-1,-1)|0;r=ba()|0;if(!(r>>>0>0|(r|0)==0&s>>>0>2147483390)){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](p)|0;s=74;break}k=ib[f[37372>>2]&255](p)|0;if((f[18194]|0)>>>0

>>0)f[18194]=p;o=71896;m=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&m>>>0>0){s=f[18187]|0;r=LA(m|0,o|0,k|0,((k|0)<0)<<31>>31|0)|0;q=ba()|0;f[17976]=((q|0)<0|(q|0)==0&r>>>0<=s>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(k){m=ib[f[37368>>2]&255](k)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0>(f[18196]|0)>>>0){f[18196]=m;s=75}else s=75}else s=76}else s=76}else{if(!(f[w>>2]|0)){if(!(0<0|(0==0?(j[x>>1]|0)>>>0

>>0:0))){k=f[z>>2]|0;if(k|0){f[z>>2]=f[k>>2];f[B>>2]=(f[B>>2]|0)+1;s=74;break}k=f[A>>2]|0;if(!k)k=C;else{f[A>>2]=f[k>>2];f[B>>2]=(f[B>>2]|0)+1;s=74;break}}else k=y;f[k>>2]=(f[k>>2]|0)+1}k=Dc(a,p,0)|0;s=74}while(0);if((s|0)==74)if(!k)s=76;else s=75;if((s|0)==75){YA(k|0,i|0,p|0)|0;f[L>>2]=0;i=k;s=78;break}else if((s|0)==76){f[L>>2]=0;s=106;break}}while(0);d:do if((s|0)==78){s=0;while(1){p=f[I>>2]|0;if(!p){m=v;k=H}else{m=b[i>>0]|0;if(!(m<<24>>24))k=0;else{k=0;o=i;do{o=o+1|0;k=U(k+(h[1232+(m&255)>>0]|0)|0,-1640531535)|0;m=b[o>>0]|0}while(m<<24>>24!=0)}k=(k>>>0)%((f[O>>2]|0)>>>0)|0;m=p+(k<<3)|0;k=p+(k<<3)+4|0}m=f[m>>2]|0;e:do if(!m)k=72124;else{r=h[1232+(h[i>>0]|0)>>0]|0;while(1){k=f[k>>2]|0;m=m+-1|0;p=f[k+12>>2]|0;q=b[p>>0]|0;o=(h[1232+(q&255)>>0]|0)-r|0;if(!(q<<24>>24==0|(o|0)!=0)){q=i;do{p=p+1|0;q=q+1|0;Q=b[p>>0]|0;o=(h[1232+(Q&255)>>0]|0)-(h[1232+(h[q>>0]|0)>>0]|0)|0}while(!(Q<<24>>24==0|(o|0)!=0))}if(!o)break e;if(!m){k=72124;break}}}while(0);if(!(f[k+8>>2]|0))break;Q=wz(i)|0;k=Q&1073741823;f:do switch(Q&1073741823|0){case 0:break;case 1:{m=0;s=96;break}default:{o=k+-1|0;while(1){if(((h[i+o>>0]|0)+-48|0)>>>0>=10){m=o;s=96;break f}m=o+-1|0;if((o|0)>1)o=m;else{s=96;break}}}}while(0);if((s|0)==96){s=0;k=(b[i+m>>0]|0)==58?m:k}Q=(f[L>>2]|0)+1|0;f[L>>2]=Q;f[N>>2]=k;f[N+4>>2]=i;f[N+8>>2]=Q;i=Ig(a,50342,N)|0;if((f[L>>2]|0)>>>0>3)zd(4,L);if(!i){s=106;break d}}f[u>>2]=i;if(((pg(O,i,u)|0)==(u|0)?(b[J>>0]|0)==0:0)?(b[D>>0]|0)==0:0){b[J>>0]=1;if((f[E>>2]|0)>0)f[F>>2]=1;f[w>>2]=(f[w>>2]|0)+1}}while(0);if((s|0)==106){s=0;f[u>>2]=0}l=l+1|0;if((l|0)<(n|0))u=u+16|0;else break}i=f[H>>2]|0;k=f[I>>2]|0;f[H>>2]=0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{Q=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[I>>2]=0;f[O>>2]=0;if(!i){r=K;q=l;i=J;l=K}else{do{k=i;i=f[i>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{Q=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}}while((i|0)!=0);r=K;q=l;i=J;l=K}}else{d[e>>1]=0;f[g>>2]=0;i=0;k=a+81|0;l=0;s=32}while(0);if((s|0)==32){f[O+8>>2]=0;f[O+12>>2]=0;f[O>>2]=0;r=i;q=0;i=k}f[O+4>>2]=0;if(!(b[i>>0]|0)){t=P;return}g:do if(q|0){k=a+480|0;m=a+304|0;n=a+308|0;o=a+300|0;if(!a){i=0;while(1){k=f[r+(i<<4)>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{Q=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);i=i+1|0;if((i|0)==(q|0))break g}}i=0;do{p=f[r+(i<<4)>>2]|0;do if(p|0){if(f[k>>2]|0){Kc(a,p);break}Q=p;if((f[m>>2]|0)>>>0<=Q>>>0?(f[n>>2]|0)>>>0>Q>>>0:0){f[p>>2]=f[o>>2];f[o>>2]=p;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{Q=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}while(0);i=i+1|0}while((i|0)!=(q|0))}while(0);do if(l|0){if(a|0){if(f[a+480>>2]|0){Kc(a,l);break}Q=l;if((f[a+304>>2]|0)>>>0<=Q>>>0?(f[a+308>>2]|0)>>>0>Q>>>0:0){Q=a+300|0;f[l>>2]=f[Q>>2];f[Q>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{Q=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[g>>2]=0;d[e>>1]=0;t=P;return}function Wk(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=t;t=t+32|0;G=J;H=f[a>>2]|0;I=H+81|0;if(b[I>>0]|0){t=J;return};f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;f[G+16>>2]=0;f[G+20>>2]=0;f[G+24>>2]=0;f[G+28>>2]=0;f[G+4>>2]=f[e+32>>2];r=f[e>>2]|0;s=c+42|0;if((d[s>>1]|0)>0){u=H+272|0;v=H+304|0;w=H+276|0;x=H+308|0;y=H+288|0;z=H+300|0;A=H+480|0;B=(H|0)==0;C=H+296|0;D=H+284|0;E=H+292|0;p=0;q=f[c+4>>2]|0;while(1){m=f[r+4+(p*20|0)>>2]|0;l=Xk(G,m)|0;e=Yk(m)|0;n=q+13|0;b[n>>0]=e;if(l){k=(wz(l)|0)&1073741823;g=f[q>>2]|0;a:do if(!g){g=k+2|0;do if(f[u>>2]|0)if(!(b[I>>0]|0))o=15;else{f[q>>2]=0;break a}else{if(!(0<0|(0==0?(j[w>>1]|0)>>>0>>0:0))){e=f[z>>2]|0;if(e|0){f[z>>2]=f[e>>2];f[D>>2]=(f[D>>2]|0)+1;break}e=f[C>>2]|0;if(!e)e=E;else{f[C>>2]=f[e>>2];f[D>>2]=(f[D>>2]|0)+1;break}}else e=y;f[e>>2]=(f[e>>2]|0)+1;o=15}while(0);if((o|0)==15){o=0;e=Dc(H,g,0)|0}f[q>>2]=e;if(e|0){e=e+1|0;o=32}}else{h=(wz(g)|0)&1073741823;e=k+2+h|0;i=g;if(((f[v>>2]|0)>>>0<=i>>>0?(f[x>>2]|0)>>>0>i>>>0:0)?!(0<0|(0==0?(j[w>>1]|0)>>>0>>0:0)):0){e=g+(h+1)|0;o=32;break}e=Lc(H,g,e,0)|0;if(e|0){f[q>>2]=e;e=e+(h+1)|0;o=32;break}do if(!(f[A>>2]|0)){if((f[v>>2]|0)>>>0<=i>>>0?(f[x>>2]|0)>>>0>i>>>0:0){f[g>>2]=f[z>>2];f[z>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{l=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}else Kc(H,g);while(0);f[q>>2]=0}while(0);if((o|0)==32){o=0;i=q+15|0;YA(e|0,l|0,k+1|0)|0;b[i>>0]=b[i>>0]|4}e=b[n>>0]|0}if(!(e<<24>>24))b[n>>0]=65;e=Zk(a,m)|0;if(e|0?(F=q+8|0,(f[F>>2]|0)==0):0){i=f[e>>2]|0;b:do if(!i)e=0;else{k=(wz(i)|0)+1|0;do if(B){n=KA(k|0,0,-1,-1)|0;m=ba()|0;if(m>>>0>0|(m|0)==0&n>>>0>2147483390){e=0;break b}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](k)|0;o=61;break}e=ib[f[37372>>2]&255](k)|0;if((f[18194]|0)>>>0>>0)f[18194]=k;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){n=f[18187]|0;m=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&m>>>0<=n>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e){e=0;break b}g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}else{if(f[u>>2]|0){if(b[I>>0]|0){e=0;break b}}else{if(!(0<0|(0==0?(j[w>>1]|0)>>>0>>0:0))){e=f[z>>2]|0;if(e|0){f[z>>2]=f[e>>2];f[D>>2]=(f[D>>2]|0)+1;o=61;break}e=f[C>>2]|0;if(!e)e=E;else{f[C>>2]=f[e>>2];f[D>>2]=(f[D>>2]|0)+1;o=61;break}}else e=y;f[e>>2]=(f[e>>2]|0)+1}e=Dc(H,k,0)|0;o=61}while(0);if((o|0)==61){o=0;if(!e){e=0;break}}YA(e|0,i|0,k|0)|0}while(0);f[F>>2]=e}p=p+1|0;if((p|0)>=(d[s>>1]|0))break;else q=q+16|0}}d[c+46>>1]=1;t=J;return}function Xk(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+32|0;m=o;switch(b[c>>0]|0){case -98:{k=d[c+32>>1]|0;n=k<<16>>16;if(!a){n=0;t=o;return n|0}j=c+28|0;e=0;do{i=f[a+4>>2]|0;g=f[i>>2]|0;a:do if((g|0)>0){h=f[j>>2]|0;c=0;while(1){if((f[i+8+(c*72|0)+40>>2]|0)==(h|0))break;c=c+1|0;if((c|0)>=(g|0)){l=9;break a}}g=f[i+8+(c*72|0)+16>>2]|0;e=f[i+8+(c*72|0)+20>>2]|0}else l=9;while(0);if((l|0)==9){l=0;a=f[a+12>>2]|0;g=0}c=(g|0)==0}while(c&(a|0)!=0);if(c){n=0;t=o;return n|0}if(!e){if(k<<16>>16<0){n=50325;t=o;return n|0}c=f[g+4>>2]|0;if(!(b[c+(n<<4)+15>>0]&4)){n=0;t=o;return n|0}n=f[c+(n<<4)>>2]|0;n=n+(wz(n)|0)+1|0;t=o;return n|0}else{if(k<<16>>16<=-1){n=0;t=o;return n|0}c=f[e>>2]|0;if((f[c>>2]|0)<=(n|0)){n=0;t=o;return n|0}n=f[c+4+(n*20|0)>>2]|0;f[m+4>>2]=f[e+32>>2];f[m+12>>2]=a;f[m>>2]=f[a>>2];n=Xk(m,n)|0;t=o;return n|0}}case 127:{l=f[c+20>>2]|0;n=f[(f[l>>2]|0)+4>>2]|0;f[m+4>>2]=f[l+32>>2];f[m+12>>2]=a;f[m>>2]=f[a>>2];n=Xk(m,n)|0;t=o;return n|0}default:{n=0;t=o;return n|0}}return 0}function Yk(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0;a:while(1){c=f[a+4>>2]|0;if(c&4096)do{if(!(c&262144))a=a+12|0;else a=(f[a+20>>2]|0)+4|0;a=f[a>>2]|0;c=f[a+4>>2]|0}while((c&4096|0)!=0);if(c&512|0){e=0;k=31;break}c=b[a>>0]|0;if(c<<24>>24==127)a=(f[f[a+20>>2]>>2]|0)+4|0;else{if(c<<24>>24==-92)c=h[a+38>>0]|0;else c=c&255;switch((c&255)<<24>>24){case 36:{k=15;break a}case -98:case -96:{k=26;break a}case -90:break;default:break a}a=(f[f[(f[a+12>>2]|0)+20>>2]>>2]|0)+4+((d[a+32>>1]|0)*20|0)|0}a=f[a>>2]|0}if((k|0)==15){c=f[a+8>>2]|0;e=b[c>>0]|0;if(!(e<<24>>24)){k=67;return k|0}g=67;i=0;while(1){i=i<<8|h[1232+(e&255)>>0];c=c+1|0;b:do if((i|0)<1685026146){if((i|0)<1667785074){switch(i|0){case 1651273570:break;default:{k=24;break b}}switch(g<<24>>24){case 69:case 67:{j=65;break b}default:{k=23;break b}}}if((i|0)<1668050786)switch(i|0){case 1667785074:{j=66;break b}default:{k=24;break b}}else switch(i|0){case 1668050786:{j=66;break b}default:{k=24;break b}}}else{if((i|0)>=1919246700){if((i|0)>=1952807028)switch(i|0){case 1952807028:{j=66;break b}default:{k=24;break b}}switch(i|0){case 1919246700:break;default:{k=24;break b}}if(g<<24>>24==67){j=69;break}else{k=23;break}}if((i|0)<1718382433){switch(i|0){case 1685026146:break;default:{k=24;break b}}if(g<<24>>24==67){j=69;break}}else{switch(i|0){case 1718382433:break;default:{k=24;break b}}if(g<<24>>24==67){j=69;break}}j=g}while(0);if((k|0)==23){k=0;j=g}else if((k|0)==24){k=0;if((i&16777215|0)==6909556){e=68;k=31;break}else j=g}e=b[c>>0]|0;if(!(e<<24>>24)){e=j;k=31;break}else g=j}if((k|0)==31)return e|0}else if((k|0)==26){c=f[a+44>>2]|0;if(c|0){a=d[a+32>>1]|0;if(a<<16>>16<=-1){k=68;return k|0}k=b[(f[c+4>>2]|0)+(a<<16>>16<<4)+13>>0]|0;return k|0}}else if((k|0)==31)return e|0;k=b[a+1>>0]|0;return k|0}function Zk(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=f[a>>2]|0;a:do if(c){b:while(1){e=b[c>>0]|0;i=f[c+4>>2]|0;if(i&512|0){c=0;break a}c:do switch(e<<24>>24){case 102:{e=10;break b}case 77:case -98:case -96:case -92:{g=f[c+44>>2]|0;if(g|0){e=6;break b}switch(e<<24>>24){case 102:{e=10;break b}case -94:{e=19;break c}case -92:break;default:{e=11;break c}}if((b[c+38>>0]|0)==102){e=10;break b}else e=11;break}case 36:case -94:{e=19;break}default:e=11}while(0);d:do if((e|0)==11){if(!(i&256)){c=0;break a}e=f[c+12>>2]|0;if(e|0?f[e+4>>2]&256|0:0){c=e;break}h=f[c+16>>2]|0;g=f[c+20>>2]|0;if((i&2048|0)==0&(g|0)!=0?(j=f[g>>2]|0,(j|0)>0):0){e=0;while(1){c=f[g+4+(e*20|0)>>2]|0;e=e+1|0;if(f[c+4>>2]&256|0)break d;if((e|0)>=(j|0)){c=h;break}}}else c=h}else if((e|0)==19)c=f[c+12>>2]|0;while(0);if(!c){c=0;break a}}if((e|0)==6){c=d[c+32>>1]|0;if(c<<16>>16<=-1){c=0;break}c=_k(k,b[k+78>>0]|0,f[(f[g+4>>2]|0)+(c<<16>>16<<4)+8>>2]|0,0)|0}else if((e|0)==10)c=$k(a,b[k+78>>0]|0,0,f[c+8>>2]|0)|0;if(c){if((f[c+12>>2]|0)==0?($k(a,b[(f[a>>2]|0)+78>>0]|0,c,f[c>>2]|0)|0)==0:0){a=0;return a|0}}else c=0}else c=0;while(0);a=c;return a|0}function _k(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!d){d=f[a+8>>2]|0;p=(d|0)==0;a=c&255;a=a+-1|0;a=d+(a*20|0)|0;a=p?0:a;return a|0}p=a+380|0;l=f[a+392>>2]|0;if(!l){i=a+384|0;g=a+388|0}else{i=b[d>>0]|0;if(!(i<<24>>24))g=0;else{g=0;k=d;do{k=k+1|0;g=U(g+(h[1232+(i&255)>>0]|0)|0,-1640531535)|0;i=b[k>>0]|0}while(i<<24>>24!=0)}g=(g>>>0)%((f[p>>2]|0)>>>0)|0;i=l+(g<<3)|0;g=l+(g<<3)+4|0}i=f[i>>2]|0;a:do if(!i)g=72124;else{n=h[1232+(h[d>>0]|0)>>0]|0;while(1){g=f[g>>2]|0;i=i+-1|0;l=f[g+12>>2]|0;m=b[l>>0]|0;k=(h[1232+(m&255)>>0]|0)-n|0;if(!(m<<24>>24==0|(k|0)!=0)){m=d;do{l=l+1|0;m=m+1|0;q=b[l>>0]|0;k=(h[1232+(q&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(q<<24>>24==0|(k|0)!=0))}if(!k)break a;if(!i){g=72124;break}}}while(0);g=f[g+8>>2]|0;if(!((e|0)!=0&(g|0)==0)){p=g;a=(p|0)==0;q=c&255;q=q+-1|0;q=p+(q*20|0)|0;q=a?0:q;return q|0}l=(wz(d)|0)&1073741823;m=l+61|0;b:do if(!a){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](m)|0;o=39;break}g=ib[f[37372>>2]&255](m)|0;if((f[18194]|0)>>>0>>0)f[18194]=m;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){q=f[18187]|0;e=LA(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&e>>>0<=q>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g)return 0;i=ib[f[37368>>2]&255](g)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0)return 0}else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){i=a+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];o=a+284|0;f[o>>2]=(f[o>>2]|0)+1;o=39;break b}i=a+296|0;g=f[i>>2]|0;if(!g){g=a+292|0;break}else{f[i>>2]=f[g>>2];o=a+284|0;f[o>>2]=(f[o>>2]|0)+1;o=39;break b}}else g=a+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(a,m,0)|0;o=39}while(0);if((o|0)==39)if(!g)return 0;_A(g|0,0,m|0)|0;i=g+60|0;f[g>>2]=i;b[g+4>>0]=1;f[g+20>>2]=i;b[g+24>>0]=2;f[g+40>>2]=i;b[g+44>>0]=3;YA(i|0,d|0,l+1|0)|0;i=pg(p,i,g)|0;if(!i){p=g;a=(p|0)==0;q=c&255;q=q+-1|0;q=p+(q*20|0)|0;q=a?0:q;return q|0}g=a+81|0;if((b[g>>0]|0)==0?(b[a+82>>0]|0)==0:0){b[g>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;q=a+272|0;f[q>>2]=(f[q>>2]|0)+1}if(f[a+480>>2]|0){Kc(a,i);return 0}q=i;if((f[a+304>>2]|0)>>>0<=q>>>0?(f[a+308>>2]|0)>>>0>q>>>0:0){q=a+300|0;f[i>>2]=f[q>>2];f[q>>2]=i;return 0}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);return 0}else{q=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);return 0}return 0}function $k(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;s=t;t=t+16|0;r=s;q=f[a>>2]|0;if(!e){e=_k(q,c,g,0)|0;if(e|0){i=e;n=3}}else{i=e;n=3}if((n|0)==3?f[i+12>>2]|0:0){r=i;t=s;return r|0}k=c&255;l=q+244|0;a:do if(f[l>>2]|0){if(g|0){m=(wz(g)|0)+1|0;b:do if(f[q+272>>2]|0)if(!(b[q+81>>0]|0))n=16;else break a;else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){i=q+300|0;e=f[i>>2]|0;if(e|0){f[i>>2]=f[e>>2];i=q+284|0;f[i>>2]=(f[i>>2]|0)+1;break b}i=q+296|0;e=f[i>>2]|0;if(!e){e=q+292|0;break}else{f[i>>2]=f[e>>2];i=q+284|0;f[i>>2]=(f[i>>2]|0)+1;break b}}else e=q+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;n=16}while(0);if((n|0)==16)e=Dc(q,m,0)|0;if(e|0){YA(e|0,g|0,m|0)|0;rb[f[l>>2]&127](f[q+252>>2]|0,q,k,e);if(f[q+480>>2]|0){Kc(q,e);n=26;break}n=e;if((f[q+304>>2]|0)>>>0<=n>>>0?(f[q+308>>2]|0)>>>0>n>>>0:0){n=q+300|0;f[e>>2]=f[n>>2];f[n>>2]=e;n=26;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);n=26;break}else{n=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);n=26;break}}}}else n=26;while(0);c:do if((n|0)==26?(p=q+248|0,f[p>>2]|0):0){d:do if(f[q+272>>2]|0)if(!(b[q+81>>0]|0))n=37;else break c;else{do if((j[q+276>>1]|0)>=40){e=q+300|0;i=f[e>>2]|0;if(i|0){f[e>>2]=f[i>>2];m=q+284|0;f[m>>2]=(f[m>>2]|0)+1;break d}e=q+296|0;i=f[e>>2]|0;if(!i){e=q+292|0;break}else{f[e>>2]=f[i>>2];m=q+284|0;f[m>>2]=(f[m>>2]|0)+1;break d}}else e=q+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;n=37}while(0);if((n|0)==37)i=Dc(q,40,0)|0;if(i|0){e=i;k=e+40|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(k|0));e=i+8|0;d[e>>1]=1;k=i+32|0;f[k>>2]=q;$e(i,g,-1,1,0)|0;l=d[e>>1]|0;if((l&514)==514?(b[i+10>>0]|0)==2:0){o=f[i+16>>2]|0;n=44}else n=42;if((n|0)==42?(l&1)==0:0){o=Ic(i,2)|0;n=44}if((n|0)==44?o|0:0)rb[f[p>>2]&127](f[q+252>>2]|0,q,h[q+78>>0]|0,o);if(!((d[e>>1]&9216)==0?!(f[i+24>>2]|0):0))ff(i);e=f[k>>2]|0;if(e|0){if(f[e+480>>2]|0){Kc(e,i);break}p=i;if((f[e+304>>2]|0)>>>0<=p>>>0?(f[e+308>>2]|0)>>>0>p>>>0:0){p=e+300|0;f[i>>2]=f[p>>2];f[p>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{p=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}}while(0);c=_k(q,c,g,0)|0;do if(c|0){if(f[c+12>>2]|0){r=c;t=s;return r|0}p=f[c>>2]|0;o=(p|0)==0;if(o)e=q+8|0;else{l=f[q+392>>2]|0;if(!l){i=q+384|0;e=q+388|0}else{i=b[p>>0]|0;if(!(i<<24>>24))e=0;else{e=0;k=p;do{k=k+1|0;e=U(e+(h[1232+(i&255)>>0]|0)|0,-1640531535)|0;i=b[k>>0]|0}while(i<<24>>24!=0)}e=(e>>>0)%((f[q+380>>2]|0)>>>0)|0;i=l+(e<<3)|0;e=l+(e<<3)+4|0}i=f[i>>2]|0;e:do if(!i)e=72124;else{n=h[1232+(h[p>>0]|0)>>0]|0;while(1){e=f[e>>2]|0;i=i+-1|0;l=f[e+12>>2]|0;m=b[l>>0]|0;k=(h[1232+(m&255)>>0]|0)-n|0;if(!(m<<24>>24==0|(k|0)!=0)){m=p;do{l=l+1|0;m=m+1|0;u=b[l>>0]|0;k=(h[1232+(u&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(k|0)!=0))}if(!k)break e;if(!i){e=72124;break}}}while(0);e=e+8|0}e=f[e>>2]|0;e=(e|0)==0?0:e+40|0;if(!(f[e+12>>2]|0)){if(o)e=q+8|0;else{l=f[q+392>>2]|0;if(!l){i=q+384|0;e=q+388|0}else{i=b[p>>0]|0;if(!(i<<24>>24))e=0;else{e=0;k=p;do{k=k+1|0;e=U(e+(h[1232+(i&255)>>0]|0)|0,-1640531535)|0;i=b[k>>0]|0}while(i<<24>>24!=0)}e=(e>>>0)%((f[q+380>>2]|0)>>>0)|0;i=l+(e<<3)|0;e=l+(e<<3)+4|0}i=f[i>>2]|0;f:do if(!i)e=72124;else{n=h[1232+(h[p>>0]|0)>>0]|0;while(1){e=f[e>>2]|0;i=i+-1|0;l=f[e+12>>2]|0;u=b[l>>0]|0;k=(h[1232+(u&255)>>0]|0)-n|0;if(!(u<<24>>24==0|(k|0)!=0)){m=p;do{l=l+1|0;m=m+1|0;u=b[l>>0]|0;k=(h[1232+(u&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(k|0)!=0))}if(!k)break f;if(!i){e=72124;break}}}while(0);e=e+8|0}e=f[e>>2]|0;e=(e|0)==0?0:e+20|0;if(!(f[e+12>>2]|0)){if(o)e=q+8|0;else{l=f[q+392>>2]|0;if(!l){i=q+384|0;e=q+388|0}else{i=b[p>>0]|0;if(!(i<<24>>24))e=0;else{e=0;k=p;do{k=k+1|0;e=U(e+(h[1232+(i&255)>>0]|0)|0,-1640531535)|0;i=b[k>>0]|0}while(i<<24>>24!=0)}e=(e>>>0)%((f[q+380>>2]|0)>>>0)|0;i=l+(e<<3)|0;e=l+(e<<3)+4|0}i=f[i>>2]|0;g:do if(!i)e=72124;else{n=h[1232+(h[p>>0]|0)>>0]|0;while(1){e=f[e>>2]|0;i=i+-1|0;l=f[e+12>>2]|0;u=b[l>>0]|0;k=(h[1232+(u&255)>>0]|0)-n|0;if(!(u<<24>>24==0|(k|0)!=0)){m=p;do{l=l+1|0;m=m+1|0;u=b[l>>0]|0;k=(h[1232+(u&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(k|0)!=0))}if(!k)break g;if(!i){e=72124;break}}}while(0);e=e+8|0}e=f[e>>2]|0;if(!(f[e+12>>2]|0))break}};f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[c+12>>2]=f[e+12>>2];f[c+16>>2]=0;u=c;t=s;return u|0}while(0);f[r>>2]=g;ni(a,50294,r);f[a+12>>2]=257;u=0;t=s;return u|0}function al(a,c){a=a|0;c=c|0;var d=0,e=0;if(!a){d=((c|0)!=0)<<31>>31;return d|0}if(!c){d=1;return d|0}e=b[a>>0]|0;d=(h[1232+(e&255)>>0]|0)-(h[1232+(h[c>>0]|0)>>0]|0)|0;if(e<<24>>24==0|(d|0)!=0){e=d;return e|0}d=c;do{a=a+1|0;d=d+1|0;e=b[a>>0]|0;c=(h[1232+(e&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(e<<24>>24==0|(c|0)!=0));return c|0}function bl(a,c){a=a|0;c=c|0;var d=0,e=0;e=b[a>>0]|0;d=(h[1232+(e&255)>>0]|0)-(h[1232+(h[c>>0]|0)>>0]|0)|0;if(e<<24>>24==0|(d|0)!=0){e=d;return e|0}d=c;do{a=a+1|0;d=d+1|0;e=b[a>>0]|0;c=(h[1232+(e&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(e<<24>>24==0|(c|0)!=0));return c|0}function cl(a,b){a=a|0;b=b|0;return 0}function dl(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+16|0;n=p+8|0;m=p;o=c+52|0;if(!(f[o>>2]|0)){o=0;t=p;return o|0}k=f[c+48>>2]|0;if(!k){o=0;t=p;return o|0}d=c;a:while(1){switch(b[d+4>>0]|0){case 127:case 124:break;default:break a}d=f[d+52>>2]|0;if(!d){i=0;l=36;break}}if((l|0)==36){t=p;return i|0}d=f[k>>2]|0;if((d|0)<=0){o=0;t=p;return o|0}while(1){h=d;d=d+-1|0;if(f[(f[k+4+(d*20|0)>>2]|0)+4>>2]&256|0)break;if((h|0)<=1){i=0;l=36;break}}if((l|0)==36){t=p;return i|0}a=f[a>>2]|0;k=f[a>>2]|0;b:do if(!k){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](76)|0;l=33;break}d=ib[f[37372>>2]&255](76)|0;if((f[18194]|0)>>>0<76)f[18194]=76;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){i=f[18187]|0;h=LA(g|0,h|0,d|0,((d|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&h>>>0<=i>>>0)&1}g=ib[f[37356>>2]&255](d)|0;if(!g){o=2;t=p;return o|0}d=ib[f[37368>>2]&255](g)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d}else{if(f[k+272>>2]|0){if(b[k+81>>0]|0){o=2;t=p;return o|0}}else{do if((j[k+276>>1]|0)>=76){d=k+300|0;e=f[d>>2]|0;if(e|0){f[d>>2]=f[e>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=33;break b}d=k+296|0;e=f[d>>2]|0;if(!e){d=k+292|0;break}else{f[d>>2]=f[e>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=33;break b}}else d=k+288|0;while(0);f[d>>2]=(f[d>>2]|0)+1}e=Dc(k,76,0)|0;l=33}while(0);if((l|0)==33)if(!e){o=2;t=p;return o|0}else g=e;h=g;i=h+76|0;do{b[h>>0]=0;h=h+1|0}while((h|0)<(i|0));d=m;f[d>>2]=0;f[d+4>>2]=0;d=nl(a,0,0,0,m,g,0,0)|0;if(!d){o=2;t=p;return o|0}h=g;e=c;i=h+76|0;do{f[h>>2]=f[e>>2];h=h+4|0;e=e+4|0}while((h|0)<(i|0));f[c+32>>2]=d;f[n>>2]=0;f[n+4>>2]=0;n=Dk(k,168,n,0)|0;n=ml(f[a>>2]|0,0,n)|0;f[c>>2]=n;b[c+4>>0]=127;f[c+36>>2]=0;f[g+40>>2]=0;f[g+44>>2]=0;f[g+48>>2]=0;f[o>>2]=0;f[c+56>>2]=0;f[c+64>>2]=0;o=c+8|0;f[o>>2]=f[o>>2]&-65793|65536;f[(f[g+52>>2]|0)+56>>2]=g;f[g+60>>2]=0;o=0;t=p;return o|0} -function Kw(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;q=t;t=t+32|0;g=q;if((c|0)!=1){f[a+20>>2]=1;$e(f[a>>2]|0,68697,-1,1,-1)|0;t=q;return};f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;zw(68748,g)|0;zw(68751,g)|0;zw(68754,g)|0;e=f[e>>2]|0;c=j[e+8>>1]|0;do if(!(c&4)){if(c&8|0){c=Fc(+p[e>>3])|0;ba()|0;e=9;break}if(!(c&18)){c=0;e=10}else{c=Gc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)|0;ba()|0;e=9}}else{c=f[e>>2]|0;e=9}while(0);if((e|0)==9)if((c|0)<=1048575)e=10;if((e|0)==10){e=c>>16;k=d[27808+(e<<1)>>1]|0;e=d[27808+(e+1<<1)>>1]|0;if((e&65535)>(k&65535)){m=c&65535;l=-1;i=e&65535;e=k&65535;do{k=(e+i|0)/2|0;r=m>>>0<(j[27856+(k<<1)>>1]|0)>>>0;e=r?e:k+1|0;i=r?k:i;l=r?l:k}while((i|0)>(e|0));if((l|0)>=0?(n=j[27856+(l<<1)>>1]|0,o=j[31392+(l<<1)>>1]|0,m>>>0<((o>>>5)+n|0)>>>0):0){r=o&31;g=g+((r|0)==30?(c-n<<2&4^4)+5|0:r)|0}}}e=f[a>>2]|0;g=h[g>>0]|0;c=e+8|0;if(!(d[c>>1]&9216)){r=e;f[r>>2]=g;f[r+4>>2]=0;d[c>>1]=4;t=q;return}else{bf(e,g,0);t=q;return}}function Lw(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0;if((c+-1|0)>>>0>1){f[a+20>>2]=1;$e(f[a>>2]|0,68649,-1,1,-1)|0;return}h=f[e>>2]|0;g=j[h+8>>1]|0;do if(!(g&4)){if(g&8|0){i=Fc(+p[h>>3])|0;ba()|0;break}if(!(g&18))i=0;else{i=Gc(b[h+10>>0]|0,f[h+12>>2]|0,f[h+16>>2]|0)|0;ba()|0}}else i=f[h>>2]|0;while(0);do if((c|0)==2){g=f[e+4>>2]|0;h=j[g+8>>1]|0;if(h&4|0){g=f[g>>2]|0;break}if(h&8|0){g=Fc(+p[g>>3])|0;ba()|0;break}if(h&18){g=Gc(b[g+10>>0]|0,f[g+12>>2]|0,f[g+16>>2]|0)|0;ba()|0}else g=0}else g=0;while(0);e=yw(i,g)|0;g=f[a>>2]|0;h=((e|0)<0)<<31>>31;c=g+8|0;if(!(d[c>>1]&9216)){a=g;f[a>>2]=e;f[a+4>>2]=h;d[c>>1]=4;return}else{bf(g,e,h);return}}function Mw(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;w=t;t=t+32|0;p=w+8|0;h=w;s=w+20|0;u=w+16|0;v=w+12|0;m=f[(f[a+4>>2]|0)+8>>2]|0;n=f[(f[a>>2]|0)+32>>2]|0;f[s>>2]=0;f[u>>2]=0;f[v>>2]=0;o=(g|0)!=0;if((c|0)<1){f[h>>2]=o?68612:68602;g=wd(68757,h)|0;f[s>>2]=g;f[a+20>>2]=1;$e(f[a>>2]|0,g,-1,1,-1)|0;if(!g){t=w;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);t=w;return}else{v=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);t=w;return}}do if((c|0)!=1&o){h=f[e+4>>2]|0;if(h){g=d[h+8>>1]|0;if((g&514)==514?(b[h+10>>0]|0)==1:0){g=2;l=f[h+16>>2]|0;break}if(!(g&1)){g=2;l=Ic(h,1)|0}else{g=2;l=0}}else{g=2;l=0}}else{g=1;l=68798}while(0);k=c-g+3|0;r=Fd(k<<2)|0;if(!r){g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[a+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if(b[h>>0]|0){t=w;return}if(b[g+82>>0]|0){t=w;return}b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;v=g+272|0;f[v>>2]=(f[v>>2]|0)+1;t=w;return}f[r>>2]=0;f[r+4>>2]=42464;f[r+8>>2]=47825;if((g|0)<(c|0)){j=3;i=g;while(1){g=f[e+(i<<2)>>2]|0;do if(g){h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(h&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);f[r+(j<<2)>>2]=g;i=i+1|0;if((i|0)==(c|0))break;else j=j+1|0}}g=f[e>>2]|0;do if(g){h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(h&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);i=Nw(m,n,k,r,v,s)|0;do if(!i){h=f[v>>2]|0;i=Ow(h,f[h+12>>2]|0,g,u,s)|0;if(!i){g=f[(f[u>>2]|0)+8>>2]|0;do if(f[g+12>>2]|0)if(o){g=Pw(l,g)|0;break}else{g=Qw(h,g)|0;break}else g=wd(72788,p)|0;while(0);if(g){if(($e(f[a>>2]|0,g,-1,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}else{i=7;q=50}}else q=50}else q=50;while(0);do if((q|0)==50){g=f[s>>2]|0;h=a+20|0;if(g|0){f[h>>2]=1;$e(f[a>>2]|0,g,-1,1,-1)|0;g=f[s>>2]|0;if(!g)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}f[h>>2]=i;h=f[a>>2]|0;if(d[h+8>>1]&1){switch(i|0){case 516:{g=44816;break}case 100:{g=44794;break}case 101:{g=44771;break}default:{g=i&255;if(g>>>0<29?(520028155>>>g&1|0)!=0:0)g=f[7984+(g<<2)>>2]|0;else g=44757}}$e(h,g,-1,1,0)|0}}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](r);else{a=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r)}Rw(f[v>>2]|0);g=f[u>>2]|0;if(!g){t=w;return}Sw(f[g+8>>2]|0);h=f[g+20>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{v=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);t=w;return}else{v=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);t=w;return}}function Nw(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;qa=t;t=t+208|0;oa=qa+168|0;na=qa+160|0;ja=qa+152|0;ha=qa+136|0;ca=qa+128|0;aa=qa+120|0;$=qa+112|0;_=qa+104|0;Z=qa+96|0;Y=qa+88|0;X=qa+80|0;W=qa+72|0;V=qa+64|0;U=qa+56|0;T=qa+48|0;S=qa+40|0;fa=qa+32|0;ea=qa+24|0;da=qa+16|0;R=qa+8|0;n=qa;ka=qa+196|0;ma=qa+184|0;pa=qa+180|0;Q=qa+176|0;O=qa+172|0;f[pa>>2]=0;do if(!(Mc()|0)){if(!(f[9328]|0)){j=ib[f[37356>>2]&255](100)|0;f[g>>2]=j;if(!j){g=7;t=qa;return g|0}else ia=j}else{j=ib[f[37372>>2]&255](100)|0;if((f[18194]|0)>>>0<100)f[18194]=100;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){ia=f[18187]|0;ga=LA(k|0,l|0,j|0,((j|0)<0)<<31>>31|0)|0;M=ba()|0;f[17976]=((M|0)<0|(M|0)==0&ga>>>0<=ia>>>0)&1}k=ib[f[37356>>2]&255](j)|0;if(!k)break;j=ib[f[37368>>2]&255](k)|0;j=(f[18187]|0)+j|0;f[18187]=j;if(j>>>0>(f[18191]|0)>>>0)f[18191]=j;j=(f[18190]|0)+1|0;f[18190]=j;if(j>>>0>(f[18196]|0)>>>0)f[18196]=j;f[g>>2]=k;ia=k}l=ia+4|0;m=l+96|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[ia>>2]=c;f[ia+64>>2]=-1;j=d*5|0;k=Fd(j)|0;if(!k)if((j|0)>0){f[pa>>2]=7;k=0;j=7}else{k=0;j=0}else{_A(k|0,0,j|0)|0;j=0}ga=ia+16|0;f[ga>>2]=k;M=ia+20|0;f[M>>2]=k+(d<<2);k=f[e+4>>2]|0;do if(!j){j=wz(k)|0;l=Fd(j+1|0)|0;if(!l){f[pa>>2]=7;j=7;I=22;break}YA(l|0,k|0,j|0)|0;b[l+j>>0]=0;j=f[pa>>2]|0;c=ia+4|0;f[c>>2]=l;l=f[e+8>>2]|0;if(!j){j=wz(l)|0;k=Fd(j+1|0)|0;if(!k){f[pa>>2]=7;k=0;j=7;break}else{YA(k|0,l|0,j|0)|0;b[k+j>>0]=0;j=0;break}}else k=0}else I=22;while(0);if((I|0)==22){c=ia+4|0;f[c>>2]=0;k=0}L=ia+8|0;f[L>>2]=k;K=ia+44|0;f[K>>2]=1;J=ia+48|0;f[J>>2]=0;if(!((k|0)==0|(j|0)!=0)){H=b[k>>0]|0;j=(h[1232+(H&255)>>0]|0)+-114|0;if(!(H<<24>>24==0|(j|0)!=0)){l=42283;m=k;do{m=m+1|0;l=l+1|0;H=b[m>>0]|0;j=(h[1232+(H&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(H<<24>>24==0|(j|0)!=0))}if(!j){f[n>>2]=k;j=wd(69153,n)|0;f[i>>2]=j;f[pa>>2]=1;j=1}else{j=0;I=33}}else I=33;a:do if((I|0)==33){k=(j|0)==0;if((d|0)>3&k){w=ia+12|0;x=ia+28|0;y=ia+24|0;z=ia+32|0;A=ia+56|0;B=ia+4|0;C=ia+36|0;D=ia+40|0;E=ia+60|0;F=a+40|0;G=(i|0)!=0;H=a+36|0;v=3;do{m=f[e+(v<<2)>>2]|0;f[ma>>2]=0;f[Q>>2]=0;f[O>>2]=0;j=ox(pa,m,ma,O)|0;b:do if(!j){l=0;k=0}else{c:while(1){k=j+1|0;switch(b[j>>0]|0){case 32:{j=k;break}case 61:{I=38;break c}default:{l=0;break c}}}if((I|0)==38){I=0;if(!(f[O>>2]|0)){l=1;j=k}else{l=1;k=0;break}}d:while(1)switch(b[j>>0]|0){case 0:{k=j;break b}case 32:{j=j+1|0;break}default:break d}j=ox(pa,j,Q,ka)|0;if(!j)j=0;else j=(b[j>>0]|0)==0?j:0;k=j}while(0);j=f[pa>>2]|0;do if(!j){if(!k){f[R>>2]=m;j=wd(69182,R)|0;f[i>>2]=j;f[pa>>2]=1;j=1;I=249;break}q=f[ma>>2]|0;o=f[Q>>2]|0;if(!l){do if(!q)I=241;else{n=b[q>>0]|0;j=(h[1232+(n&255)>>0]|0)+-114|0;n=n<<24>>24==0|(j|0)!=0;if(n)k=j;else{l=42283;m=q;do{m=m+1|0;l=l+1|0;u=b[m>>0]|0;k=(h[1232+(u&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(k|0)!=0))}if(k|0){if(!n){k=47870;l=q;do{l=l+1|0;k=k+1|0;u=b[l>>0]|0;j=(h[1232+(u&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(j|0)!=0))}if(j|0){I=241;break}}f[aa>>2]=q;j=wd(69626,aa)|0;f[i>>2]=j;j=1}while(0);do if((I|0)==241){I=0;if(o){u=b[o>>0]|0;j=(h[1232+(u&255)>>0]|0)+-117|0;if(!(u<<24>>24==0|(j|0)!=0)){k=69656;l=o;do{l=l+1|0;k=k+1|0;u=b[l>>0]|0;j=(h[1232+(u&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(j|0)!=0))}if(!j){b[(f[M>>2]|0)+(f[w>>2]|0)>>0]=1;j=0;break}else{f[ca>>2]=o;j=wd(69666,ca)|0;f[i>>2]=j;j=1;break}}else j=0}while(0);s=f[ga>>2]|0;u=f[w>>2]|0;f[w>>2]=u+1;f[s+(u<<2)>>2]=q;f[pa>>2]=j;f[ma>>2]=0;break}j=(o|0)==0?72788:o;f[ka>>2]=0;p=wz(q)|0;e:do if(q){f:do if((p|0)>0){m=67282;o=q;n=p;while(1){k=b[m>>0]|0;if(!(k<<24>>24)){I=52;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){I=54;break}if((n|0)>1){m=m+1|0;o=o+1|0;n=n+-1|0}else break f}if((I|0)==52){I=0;l=0;k=b[1232+(h[o>>0]|0)>>0]|0}else if((I|0)==54){I=0;l=l&255}if((l|0)!=(k&255|0)){m=66559;o=q;n=p;while(1){k=b[m>>0]|0;if(!(k<<24>>24)){I=91;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){I=93;break}if((n|0)>1){m=m+1|0;o=o+1|0;n=n+-1|0}else break}if((I|0)==91){l=0;k=b[1232+(h[o>>0]|0)>>0]|0;I=95}else if((I|0)==93){l=l&255;I=95}do if((I|0)==95){I=0;if((l|0)==(k&255|0))break;m=63175;o=q;n=p;while(1){k=b[m>>0]|0;if(!(k<<24>>24)){I=159;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){I=161;break}if((n|0)>1){m=m+1|0;o=o+1|0;n=n+-1|0}else break}if((I|0)==159){l=0;k=b[1232+(h[o>>0]|0)>>0]|0;I=163}else if((I|0)==161){l=l&255;I=163}do if((I|0)==163){I=0;if((l|0)==(k&255|0))break;m=69461;o=q;n=p;while(1){k=b[m>>0]|0;if(!(k<<24>>24)){I=171;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){I=173;break}if((n|0)>1){m=m+1|0;o=o+1|0;n=n+-1|0}else break}if((I|0)==171){l=0;k=b[1232+(h[o>>0]|0)>>0]|0;I=175}else if((I|0)==173){l=l&255;I=175}do if((I|0)==175){I=0;if((l|0)==(k&255|0))break;m=69513;o=q;n=p;while(1){k=b[m>>0]|0;if(!(k<<24>>24)){I=184;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){I=186;break}if((n|0)>1){m=m+1|0;o=o+1|0;n=n+-1|0}else break}if((I|0)==184){l=0;k=b[1232+(h[o>>0]|0)>>0]|0;I=188}else if((I|0)==186){l=l&255;I=188}do if((I|0)==188){I=0;if((l|0)==(k&255|0))break;m=43265;n=q;o=p;while(1){k=b[m>>0]|0;if(!(k<<24>>24)){I=195;break}k=b[1232+(k&255)>>0]|0;l=b[1232+(h[n>>0]|0)>>0]|0;if(k<<24>>24!=l<<24>>24){I=197;break}if((o|0)>1){m=m+1|0;n=n+1|0;o=o+-1|0}else break}if((I|0)==195){N=0;P=b[1232+(h[n>>0]|0)>>0]|0;I=199}else if((I|0)==197){N=k&255;P=l;I=199}if((I|0)==199?(0,(N|0)!=(P&255|0)):0){I=229;break e}q=wz(j)|0;g:do if((q|0)>0){l=55445;o=j;m=q;while(1){k=b[l>>0]|0;if(!(k<<24>>24)){I=206;break}n=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(n<<24>>24!=k<<24>>24){I=204;break}if((m|0)>1){l=l+1|0;o=o+1|0;m=m+-1|0}else{I=208;break}}if((I|0)==204){l=n&255;I=207}else if((I|0)==206){l=0;k=b[1232+(h[o>>0]|0)>>0]|0;I=207}if((I|0)==207){I=0;if((l|0)==(k&255|0))I=208;else p=-1}if((I|0)==208)p=1;l=55450;o=j;m=q;while(1){k=b[l>>0]|0;if(!(k<<24>>24)){I=214;break}n=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(n<<24>>24!=k<<24>>24){I=212;break}if((m|0)>1){l=l+1|0;o=o+1|0;m=m+-1|0}else{I=216;break}}if((I|0)==212){l=n&255;I=215}else if((I|0)==214){l=0;k=b[1232+(h[o>>0]|0)>>0]|0;I=215}if((I|0)==215){I=0;if((l|0)==(k&255|0))I=216;else o=p}if((I|0)==216){I=0;if((p|0)>-1){I=226;break}else o=0}n=69559;l=q;while(1){k=b[n>>0]|0;if(!(k<<24>>24)){I=222;break}k=b[1232+(k&255)>>0]|0;m=b[1232+(h[j>>0]|0)>>0]|0;if(k<<24>>24!=m<<24>>24){I=220;break}if((l|0)>1){n=n+1|0;j=j+1|0;l=l+-1|0}else break}if((I|0)==220){k=k&255;j=m;I=223}else if((I|0)==222){k=0;j=b[1232+(h[j>>0]|0)>>0]|0;I=223}do if((I|0)==223){I=0;if((k|0)==(j&255|0))break;f[J>>2]=o;u=o>>>31;f[ka>>2]=u;if(!u){j=0;break e}else break g}while(0);if((o|0)>-1){I=226;break}f[J>>2]=2;f[ka>>2]=0;j=0;break e}else I=226;while(0);if((I|0)==226){I=0;f[ka>>2]=1}j=wd(69567,_)|0;f[i>>2]=j;j=1;break e}while(0);k=b[j>>0]|0;do if((k&-2)<<24>>24==48){if(b[j+1>>0]|0)break;f[K>>2]=k<<24>>24==49&1;j=0;break e}while(0);j=wd(69524,Z)|0;f[i>>2]=j;f[ka>>2]=1;j=1;break e}while(0);if(f[D>>2]|0){j=wd(69475,Y)|0;f[i>>2]=j;f[ka>>2]=1;j=1;break e}l=wz(j)|0;k=Fd(l+1|0)|0;if(!k){f[ka>>2]=7;k=0;j=7}else{YA(k|0,j|0,l|0)|0;b[k+l>>0]=0;j=f[ka>>2]|0}f[D>>2]=k;break e}while(0);if(f[z>>2]|0){j=wd(69423,W)|0;f[i>>2]=j;f[ka>>2]=1;j=1;break e}if(!(b[j>>0]|0)){f[z>>2]=1;j=0;break e}else{f[z>>2]=2;f[X>>2]=f[B>>2];f[X+4>>2]=j;j=iw(ka,69455,X)|0;f[C>>2]=j;j=f[ka>>2]|0;break e}}while(0);n=wz(j)|0;m=n+1|0;k=m<<2;l=Fd(k)|0;do if(!l){if((k|0)<=0){u=0;break}f[ka>>2]=7;j=7;break e}else{_A(l|0,0,k|0)|0;u=l}while(0);l=m<<1;k=Fd(l)|0;do if(!k){if((n|0)<=-1){k=0;j=0;I=150;break}f[ka>>2]=7;k=0;j=7;I=150}else{_A(k|0,0,l|0)|0;if(!u){j=0;break}if(f[A>>2]|0){j=wd(69303,S)|0;f[i>>2]=j;f[ka>>2]=1;j=1;I=151;break}r=k;s=0;l=j;m=b[j>>0]|0;h:while(1){switch(m<<24>>24){case 0:break h;case 32:{j=l;do{j=j+1|0;l=b[j>>0]|0}while(l<<24>>24==32);m=l;break}default:j=l}if(m<<24>>24==39){l=lw(j)|0;if(!l){I=129;break}}else{l=j;while(1){q=m<<24>>24;if((q&128|0)==0?(b[26896+q>>0]|0)==0:0)break;m=l+1|0;l=m;m=b[m>>0]|0}if((l|0)==(j|0)){I=129;break}}q=l-j|0;YA(r|0,j|0,q|0)|0;f[u+(s<<2)>>2]=r;j=b[r>>0]|0;switch(j<<24>>24){case 96:case 34:case 39:case 91:{p=j<<24>>24==91?93:j;m=b[r+1>>0]|0;i:do if(!(m<<24>>24))j=0;else{o=1;j=0;while(1){n=o+1|0;if(m<<24>>24==p<<24>>24){if((b[r+n>>0]|0)!=p<<24>>24)break i;n=o+2|0;m=p}b[r+j>>0]=m;j=j+1|0;m=b[r+n>>0]|0;if(!(m<<24>>24))break;else o=n}}while(0);b[r+j>>0]=0;break}default:{}}while(1){m=b[l>>0]|0;if(m<<24>>24==32)l=l+1|0;else break}if(!l){I=129;break}else{r=r+(q+1)|0;s=s+1|0}}if((I|0)==129){j=wd(69336,T)|0;f[i>>2]=j;f[ka>>2]=1;j=1;I=150;break}p=(s|0)==0;j:do if(p)I=132;else{j=f[u>>2]|0;if(!j){I=132;break}l=f[H>>2]|0;if(!l){I=143;break}while(1){n=f[l>>2]|0;if(n|0){I=b[j>>0]|0;m=(h[1232+(I&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0;if(!(I<<24>>24==0|(m|0)!=0)){o=j;do{o=o+1|0;n=n+1|0;I=b[o>>0]|0;m=(h[1232+(I&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(I<<24>>24==0|(m|0)!=0))}if(!m){I=141;break j}}l=f[l+24>>2]|0;if(!l){I=143;break}}}while(0);if((I|0)==132){l=f[F>>2]|0;I=141}do if((I|0)==141){I=0;if(!l){j=f[u>>2]|0;I=143;break}r=l+8|0;j=lb[f[r>>2]&127](f[l+4>>2]|0,u+4|0,p?0:s+-1|0,A)|0;f[E>>2]=r;if(!(G&(j|0)!=0))if(!j){j=0;break}else{I=148;break}else{l=wd(69392,V)|0;I=147;break}}while(0);if((I|0)==143){f[U>>2]=j;j=1;l=wd(69370,U)|0;I=147}if((I|0)==147){f[i>>2]=l;I=148}if((I|0)==148){f[E>>2]=0;f[A>>2]=0}f[ka>>2]=j;I=150}while(0);if((I|0)==150)if(!u)I=154;else I=151;do if((I|0)==151)if(!(f[9328]|0)){ob[f[37360>>2]&127](u);I=154;break}else{I=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);I=154;break}while(0);if((I|0)==154){I=0;if(!k)break e}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break e}else{u=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break e}}}while(0);k=f[x>>2]|0;k:do if(!k){l:do if(!(Mc()|0)){do if(!(f[9328]|0)){k=ib[f[37356>>2]&255](124)|0;if(!k)break l}else{k=ib[f[37372>>2]&255](124)|0;if((f[18194]|0)>>>0<124)f[18194]=124;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){u=f[18187]|0;s=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;r=ba()|0;f[17976]=((r|0)<0|(r|0)==0&s>>>0<=u>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break l;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0<=(f[18196]|0)>>>0)break;f[18196]=l}while(0);l=k;m=l+124|0;do{b[l>>0]=0;l=l+1|0}while((l|0)<(m|0));f[x>>2]=k;break k}while(0);f[ka>>2]=7;f[x>>2]=0;j=7;break e}while(0);m=1;while(1){while(1){l=b[j>>0]|0;if(l<<24>>24==32)j=j+1|0;else break}if(!((m|0)==0&l<<24>>24==44)){if(!(l<<24>>24)){I=89;break}}else do{j=j+1|0;l=b[j>>0]|0}while(l<<24>>24==32);if((l+-48&255)>9){I=81;break}n=f[y>>2]|0;if((n|0)==31){I=84;break}m=0;do{m=(l<<24>>24)+-48+(m*10|0)|0;j=j+1|0;l=b[j>>0]|0}while((l+-48&255)<10&(m|0)<1e3);if((m+-1|0)>>>0>998){I=87;break}f[k+(n<<2)>>2]=m;f[y>>2]=(f[y>>2]|0)+1;m=0}if((I|0)==81){I=0;j=wd(69202,da)|0;f[i>>2]=j;f[ka>>2]=1;j=1;break}else if((I|0)==84){I=0;f[ea>>2]=31;j=wd(69233,ea)|0;f[i>>2]=j;f[ka>>2]=1;j=1;break}else if((I|0)==87){I=0;j=wd(69266,fa)|0;f[i>>2]=j;f[ka>>2]=1;j=1;break}else if((I|0)==89){I=0;j=f[ka>>2]|0;break}}else I=229;while(0);if((I|0)==229){f[$>>2]=p;f[$+4>>2]=q;j=wd(69598,$)|0;f[i>>2]=j;j=1}f[pa>>2]=j;I=249}else I=249;while(0);do if((I|0)==249){I=0;k=f[ma>>2]|0;if(k)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{u=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);k=f[Q>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{u=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);v=v+1|0;k=(j|0)==0}while((v|0)<(d|0)&k)}if(k){l=ia+56|0;if(!(f[l>>2]|0)){j=f[a+40>>2]|0;k=ia+60|0;if(!j)Ya();a=j+8|0;j=lb[f[a>>2]&127](f[j+4>>2]|0,4,0,l)|0;f[k>>2]=a;if(!j)j=0;else{f[k>>2]=0;f[l>>2]=0}f[pa>>2]=j}if(!j){k=ia+36|0;do if(!(f[k>>2]|0)){if(f[ia+32>>2]|0)if(!(f[K>>2]|0))break;else j=63183;else j=63175;a=f[L>>2]|0;f[ha>>2]=f[c>>2];f[ha+4>>2]=a;f[ha+8>>2]=j;j=iw(pa,69697,ha)|0;f[k>>2]=j;j=f[pa>>2]|0;if(j|0)break a}while(0);k=ia+40|0;j=f[k>>2]|0;do if(!j){j=Fd(6)|0;if(!j){f[pa>>2]=7;f[k>>2]=0;j=7;break a}else{b[j>>0]=b[47870]|0;b[j+1>>0]=b[47871]|0;b[j+2>>0]=b[47872]|0;b[j+3>>0]=b[47873]|0;b[j+4>>0]=b[47874]|0;b[j+5>>0]=0;f[k>>2]=j;break}}while(0);f[ka>>2]=0;f[ma>>2]=0;f[ma+4>>2]=0;f[ma+8>>2]=0;f[ja>>2]=j;px(ka,ma,69708,ja);l=ia+32|0;k=f[l>>2]|0;m:do if((k|0)!=1?(la=ia+12|0,(f[la>>2]|0)>0):0){j=0;while(1){if((k|0)==2){f[na>>2]=f[(f[ga>>2]|0)+(j<<2)>>2];px(ka,ma,69713,na)}else{f[oa>>2]=j;px(ka,ma,69720,oa)}j=j+1|0;if((j|0)>=(f[la>>2]|0))break m;k=f[l>>2]|0}}while(0);f[ia+52>>2]=f[ma>>2];j=f[ka>>2]|0;f[pa>>2]=j;if(!j){g=0;t=qa;return g|0}}}}while(0);Rw(ia);f[g>>2]=0;g=j;t=qa;return g|0}while(0);f[g>>2]=0;g=7;t=qa;return g|0}function Ow(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=t;t=t+112|0;P=S+72|0;J=S+64|0;I=S+56|0;H=S+48|0;N=S+40|0;M=S+32|0;L=S+24|0;K=S+16|0;G=S+8|0;F=S;O=S+104|0;R=S+80|0;f[e>>2]=0;f[g>>2]=0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;f[R+16>>2]=0;f[R+20>>2]=0;if(Mc()|0){R=7;t=S;return R|0}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](1212)|0;if(!i){R=7;t=S;return R|0}else j=i}else{i=ib[f[37372>>2]&255](1212)|0;if((f[18194]|0)>>>0<1212)f[18194]=1212;k=71896;j=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){Q=f[18187]|0;E=LA(j|0,k|0,i|0,((i|0)<0)<<31>>31|0)|0;D=ba()|0;f[17976]=((D|0)<0|(D|0)==0&E>>>0<=Q>>>0)&1}j=ib[f[37356>>2]&255](i)|0;if(!j){R=7;t=S;return R|0}i=ib[f[37368>>2]&255](j)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}E=j+8|0;f[j>>2]=E;b[E>>0]=0;b[j+9>>0]=0;C=j+1208|0;f[C>>2]=j+1196;f[R>>2]=a;D=j+4|0;Q=R+8|0;do{B=d;a:while(1){i=b[B>>0]|0;switch(i<<24>>24){case 13:case 10:case 9:case 32:break;default:break a}B=B+1|0}i=i<<24>>24;b:do switch(i|0){case 40:{k=10;i=1;n=44;break}case 41:{k=11;i=1;n=44;break}case 123:{k=7;i=1;n=44;break}case 125:{k=8;i=1;n=44;break}case 58:{k=5;i=1;n=44;break}case 44:{k=13;i=1;n=44;break}case 43:{k=14;i=1;n=44;break}case 42:{k=15;i=1;n=44;break}case 45:{k=6;i=1;n=44;break}case 94:{k=12;i=1;n=44;break}case 0:{k=0;i=1;n=44;break}case 34:{k=B;c:while(1){i=k+1|0;switch(b[i>>0]|0){case 0:{n=32;break c}case 34:{i=k+2|0;if((b[i>>0]|0)!=34){n=33;break c}break}default:{}}k=i}if((n|0)==32){n=0;Ww(R,68904,F);A=0;i=1;break b}else if((n|0)==33){k=9;i=i-B|0;n=44;break b}break}default:{if((i&128|0)==0?(b[26896+i>>0]|0)==0:0){f[G>>2]=B;Ww(R,68924,G);A=0;i=1;break b}i=B;do{i=i+1|0;A=b[i>>0]|0}while(!((A&128|0)==0?(b[26896+A>>0]|0)==0:0));i=i-B|0;switch(i|0){case 2:{k=(Hz(B,66361,2)|0)==0;k=k?1:9;i=2;n=44;break b}case 3:{k=(Hz(B,66368,3)|0)==0;i=(Hz(B,66364,3)|0)==0;k=i?2:k?3:9;i=3;n=44;break b}default:{k=9;n=44;break b}}}}while(0);if((n|0)==44){n=0;d=B+i|0;A=k}y=B;f[D>>2]=R;l=f[j>>2]|0;z=A&255;x=A&255;k=b[l>>0]|0;do{m=k&255;if((k&255)>34)m=k;else{k=x+(h[34928+m>>0]|0)|0;if(k>>>0<=120?(b[34976+k>>0]|0)==z<<24>>24:0)k=35152+k|0;else k=35104+m|0;m=b[k>>0]|0}if((m&255)<=82){n=127;break}v=(m&255)+-83|0;u=f[D>>2]|0;w=35264+(v<<1)+1|0;d:do switch(m<<24>>24){case 105:case 110:{if(l>>>0<(f[C>>2]|0)>>>0)switch(m<<24>>24){case 108:{n=122;break d}case 107:{n=121;break d}case 106:{n=120;break d}case 109:{n=123;break d}case 105:{f[l+16>>2]=0;f[l+20>>2]=0;n=125;break d}case 110:{f[l+16>>2]=0;n=125;break d}default:{n=125;break d}}if(l>>>0>E>>>0){k=l;do{f[j>>2]=k+-12;Xw(b[k+1>>0]|0,k+4|0);k=f[j>>2]|0}while(k>>>0>E>>>0)}Ww(u,68955,K);f[D>>2]=u;k=0;l=f[j>>2]|0;break}case 83:{f[u+20>>2]=f[l+4>>2];n=125;break}case 84:{n=Yw(u,f[l+-8>>2]|0)|0;f[l+-32>>2]=n;n=125;break}case 85:{f[l+-20>>2]=f[l+-8>>2];n=125;break}case 86:{n=l+4|0;u=Zw(u,0,f[n>>2]|0,f[l+8>>2]|0)|0;f[n>>2]=u;n=125;break}case 87:{s=Zw(u,0,f[l+4>>2]|0,f[l+8>>2]|0)|0;n=l+-8|0;f[n>>2]=s;u=Yw(u,s)|0;f[n>>2]=u;n=125;break}case 88:{n=l+-8|0;u=Zw(u,f[n>>2]|0,f[l+4>>2]|0,f[l+8>>2]|0)|0;f[n>>2]=u;n=125;break}case 89:{n=l+4|0;u=Zw(u,0,f[n>>2]|0,f[l+8>>2]|0)|0;f[n>>2]=u;n=125;break}case 90:{n=l+-20|0;u=_w(u,2,f[n>>2]|0,f[l+4>>2]|0,0)|0;f[n>>2]=u;n=125;break}case 91:{n=l+-20|0;u=_w(u,1,f[n>>2]|0,f[l+4>>2]|0,0)|0;f[n>>2]=u;n=125;break}case 92:{n=l+-20|0;u=_w(u,3,f[n>>2]|0,f[l+4>>2]|0,0)|0;f[n>>2]=u;n=125;break}case 93:{n=l+-8|0;m=f[n>>2]|0;o=l+-44|0;k=f[o>>2]|0;f[O>>2]=k;if((f[(f[u>>2]|0)+48>>2]|0)==1){f[u+8>>2]=1;s=wd(68983,L)|0;f[u+4>>2]=s}else{$w(u,m,k,O);k=f[O>>2]|0}do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{u=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[o>>2]=f[n>>2];n=125;break}case 94:{f[l+-20>>2]=f[l+-8>>2];n=125;break}case 109:{n=123;break}case 108:{n=122;break}case 97:{o=l+-8|0;k=f[o>>2]|0;n=f[l+4>>2]|0;do if(!(f[u+8>>2]|0)){if((f[k>>2]|0)==2)m=f[k+32+((f[k+28>>2]|0)+-1<<2)>>2]|0;else m=k;if(!(f[n>>2]|0)){Sw(n);u=u+12|0;f[u>>2]=(f[u>>2]|0)+-1;break}if(f[m>>2]|0){k=_w(u,2,k,n,0)|0;break}if((m|0)==(k|0))k=n;else f[k+32+((f[k+28>>2]|0)+-1<<2)>>2]=n;s=u+12|0;r=f[(f[n+24>>2]|0)+8>>2]|0;u=(f[u+16>>2]|0)+((f[s>>2]|0)+-1-r<<2)|0;ZA(u|0,u+4|0,r<<2|0)|0;f[s>>2]=(f[s>>2]|0)+-1;Sw(m)}else{Sw(k);Sw(n);k=0}while(0);f[o>>2]=k;n=125;break}case 98:{n=l+4|0;u=_w(u,9,0,0,f[n>>2]|0)|0;f[n>>2]=u;n=125;break}case 99:{m=_w(u,9,0,0,f[l+4>>2]|0)|0;n=l+-20|0;k=f[n>>2]|0;f[O>>2]=k;if((f[(f[u>>2]|0)+48>>2]|0)==1){f[u+8>>2]=1;s=wd(68983,M)|0;f[u+4>>2]=s}else{$w(u,m,k,O);k=f[O>>2]|0}do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{u=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[n>>2]=m;n=125;break}case 100:{n=l+4|0;u=ax(u,0,f[n>>2]|0)|0;f[n>>2]=u;n=125;break}case 101:{m=l+4|0;k=f[m>>2]|0;if(k){if(f[k+16>>2]|0){b[k+21>>0]=1;k=f[m>>2]|0}}else k=0;n=ax(u,0,k)|0;f[l+-8>>2]=n;n=125;break}case 102:{s=l+-44|0;k=f[l+-40>>2]|0;m=f[s>>2]|0;if(!((k|0)==4?!(Hz(66372,m,4)|0):0)){f[N>>2]=k;f[N+4>>2]=m;Ww(u,69036,N)}q=l+-20|0;r=f[q>>2]|0;e:do if(r|0){o=f[l+-4>>2]|0;f:do if(o)if((o|0)>0){p=f[l+-8>>2]|0;k=0;n=0;while(1){m=b[p+n>>0]|0;if((m+-48&255)>9)break;k=(k*10|0)+-48+(m<<24>>24)|0;n=n+1|0;if((n|0)>=(o|0))break f}f[H>>2]=o;f[H+4>>2]=p;Ww(u,69067,H);break e}else k=0;else k=10;while(0);f[r>>2]=k}while(0);f[s>>2]=f[q>>2];n=125;break}case 103:{n=l+4|0;u=ax(u,0,f[n>>2]|0)|0;f[n>>2]=u;n=125;break}case 104:{n=l+-8|0;u=ax(u,f[n>>2]|0,f[l+4>>2]|0)|0;f[n>>2]=u;n=125;break}case 106:{n=120;break}case 107:{n=121;break}default:n=125}while(0);if((n|0)==120){r=l+4|0;s=f[r+4>>2]|0;u=l+-8|0;f[u>>2]=f[r>>2];f[u+4>>2]=s;n=125}else if((n|0)==121){s=l+-32|0;u=bx(u,f[s>>2]|0,f[l+-8>>2]|0,f[l+-4>>2]|0,f[l+4>>2]|0)|0;f[s>>2]=u;n=125}else if((n|0)==122){s=l+-8|0;u=bx(u,0,f[s>>2]|0,f[l+-4>>2]|0,f[l+4>>2]|0)|0;f[s>>2]=u;n=125}else if((n|0)==123){f[l+4>>2]=1;n=125}if((n|0)==125){n=0;u=b[35264+(v<<1)>>0]|0;v=b[w>>0]|0;k=b[35152+((b[35328+(h[l+(v*12|0)>>0]|0)>>0]|0)+(u&255))>>0]|0;v=v+1|0;w=l+(v*12|0)|0;f[j>>2]=w;b[w>>0]=k;b[l+(v*12|0)+1>>0]=u;l=w}}while(l>>>0>E>>>0);g:do if((n|0)==127){n=0;if((m&255)<80){k=l+12|0;f[j>>2]=k;if(k>>>0<=(f[C>>2]|0)>>>0){b[k>>0]=(m&255)>34?(m&255)+31&255:m;b[l+13>>0]=z;f[l+16>>2]=y;f[l+20>>2]=i;break}f[j>>2]=l;k=f[D>>2]|0;if(l>>>0>E>>>0){i=l;do{f[j>>2]=i+-12;Xw(b[i+1>>0]|0,i+4|0);i=f[j>>2]|0}while(i>>>0>E>>>0)}Ww(k,68955,I);f[D>>2]=k;break}if(m<<24>>24==81){f[j>>2]=l+-12;break}y=f[D>>2]|0;f[J>>2]=i;f[J+4>>2]=B;Ww(y,69036,J);f[D>>2]=y;switch(z<<24>>24){case 24:{Uw(B);break g}case 19:case 18:case 17:{Sw(B);break g}case 21:case 20:{if(!B)break g;if(!(f[9328]|0)){ob[f[37360>>2]&127](B);break g}else{z=ib[f[37368>>2]&255](B)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](B);break g}}case 23:case 22:{Tw(B);break g}default:break g}}while(0)}while((A|0)!=0&(f[Q>>2]|0)==0);i=f[j>>2]|0;if(i>>>0>E>>>0)do{f[j>>2]=i+-12;Xw(b[i+1>>0]|0,i+4|0);i=f[j>>2]|0}while(i>>>0>E>>>0);if(!(f[9328]|0))ob[f[37360>>2]&127](j);else{N=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j)}h:do if((f[a+12>>2]|0)>(c|0)){i=R+20|0;j=f[Q>>2]|0;if((f[i>>2]|0)!=0&(j|0)==0){do if(!(Mc()|0)){if(!(f[9328]|0)){j=ib[f[37356>>2]&255](8)|0;if(!j)break}else{j=ib[f[37372>>2]&255](8)|0;if((f[18194]|0)>>>0<8)f[18194]=8;d=71896;k=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&k>>>0>0){N=f[18187]|0;M=LA(k|0,d|0,j|0,((j|0)<0)<<31>>31|0)|0;L=ba()|0;f[17976]=((L|0)<0|(L|0)==0&M>>>0<=N>>>0)&1}j=ib[f[37356>>2]&255](j)|0;if(!j)break;k=ib[f[37368>>2]&255](j)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k}N=j;M=N;b[M>>0]=1;b[M+1>>0]=0;b[M+2>>0]=0;b[M+3>>0]=0;N=N+4|0;b[N>>0]=0;b[N+1>>0]=0;b[N+2>>0]=0;b[N+3>>0]=0;f[j+4>>2]=c;i=f[i>>2]|0;f[O>>2]=j;if((f[(f[R>>2]|0)+48>>2]|0)!=1){$w(R,i,j,O);i=f[O>>2]|0;if(i|0)n=169}else{f[Q>>2]=1;i=wd(68983,P)|0;f[R+4>>2]=i;i=j;n=169}do if((n|0)==169)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{P=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-P;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);n=173;break h}while(0);f[Q>>2]=7;n=210}else{i=j;n=174}}else n=173;while(0);if((n|0)==173){i=f[Q>>2]|0;n=174}i:do if((n|0)==174){if(i|0){i=R+20|0;n=210;break}do if(!(Mc()|0)){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](24)|0;f[e>>2]=i;if(!i)break}else{i=ib[f[37372>>2]&255](24)|0;if((f[18194]|0)>>>0<24)f[18194]=24;k=71896;j=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){P=f[18187]|0;O=LA(j|0,k|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&O>>>0<=P>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){n=187;break}j=ib[f[37368>>2]&255](i)|0;j=(f[18187]|0)+j|0;f[18187]=j;if(j>>>0>(f[18191]|0)>>>0)f[18191]=j;j=(f[18190]|0)+1|0;f[18190]=j;if(j>>>0>(f[18196]|0)>>>0)f[18196]=j;f[e>>2]=i}j=f[R+20>>2]|0;j:do if(!j){if(!(f[Q>>2]|0)){k:do if(!(Mc()|0)){do if(!(f[9328]|0)){j=ib[f[37356>>2]&255](40)|0;if(!j)break k}else{j=ib[f[37372>>2]&255](40)|0;if((f[18194]|0)>>>0<40)f[18194]=40;d=71896;k=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&k>>>0>0){e=f[18187]|0;P=LA(k|0,d|0,j|0,((j|0)<0)<<31>>31|0)|0;O=ba()|0;f[17976]=((O|0)<0|(O|0)==0&P>>>0<=e>>>0)&1}j=ib[f[37356>>2]&255](j)|0;if(!j)break k;k=ib[f[37368>>2]&255](j)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}while(0);k=j;d=k+40|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(d|0));f[i+8>>2]=j;f[j+4>>2]=1;break j}while(0);f[Q>>2]=7}f[i+8>>2]=0}else f[i+8>>2]=j;while(0);f[i>>2]=0;f[i+4>>2]=a;a=R+16|0;f[i+20>>2]=f[a>>2];f[i+16>>2]=f[R+12>>2];f[a>>2]=0;break i}else n=187;while(0);if((n|0)==187)f[e>>2]=0;f[Q>>2]=7;Sw(f[R+20>>2]|0)}while(0);if((n|0)==210)Sw(f[i>>2]|0);i=f[R+16>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{a=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[g>>2]=f[R+4>>2];R=f[Q>>2]|0;t=S;return R|0}function Pw(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+112|0;w=x+96|0;v=x+88|0;s=x+80|0;r=x+72|0;q=x+64|0;p=x+56|0;n=x+48|0;m=x+40|0;l=x+32|0;k=x+24|0;h=x+16|0;g=x+8|0;d=x;switch(f[c>>2]|0){case 4:case 9:{o=f[c+24>>2]|0;f[d>>2]=a;d=Vw(0,68851,d)|0;if(!d){w=0;t=x;return w|0}i=o+4|0;j=f[i>>2]|0;if(j){e=f[j+4>>2]|0;if((f[j>>2]|0)==1){f[g>>2]=e;d=Vw(d,68855,g)|0}else{f[h>>2]=e;d=Vw(d,68864,h)|0;if((f[f[i>>2]>>2]|0)>1){e=1;do{f[k>>2]=f[j+4+(e<<2)>>2];d=Vw(d,68873,k)|0;e=e+1|0}while((e|0)<(f[f[i>>2]>>2]|0))}d=Vw(d,68877,l)|0}if(!d){w=0;t=x;return w|0}}j=o+8|0;if((f[j>>2]|0)>1){f[m>>2]=f[o>>2];d=Vw(d,68880,m)|0;if(!d){w=0;t=x;return w|0}}d=Vw(d,68890,n)|0;if(!d){w=0;t=x;return w|0}if((f[j>>2]|0)<=0){w=d;t=x;return w|0}i=0;a:while(1){h=f[o+12+(i<<2)>>2]|0;d=Vw(d,68893,p)|0;if(!d){i=0;e=34;break}g=h+16|0;e=0;while(1){if((e|0)>=(f[g>>2]|0))break;n=f[h+20+(e<<4)+4>>2]|0;f[q>>2]=(e|0)==0?72788:41721;f[q+4>>2]=n;d=Vw(d,49509,q)|0;if(b[h+20+(e<<4)>>0]|0)d=Vw(d,50775,r)|0;if(!d){i=0;e=34;break a}else e=e+1|0}d=Vw(d,68896,s)|0;i=i+1|0;if(!d){i=0;e=34;break}if((i|0)>=(f[j>>2]|0)){i=d;e=34;break}}if((e|0)==34){t=x;return i|0}break}case 2:{u=66364;break}case 3:{u=66368;break}default:u=66361}f[v>>2]=u;d=wd(40840,v)|0;h=c+28|0;if(!d){w=0;t=x;return w|0}g=0;while(1){if((g|0)>=(f[h>>2]|0)){i=d;e=34;break}e=Pw(a,f[c+32+(g<<2)>>2]|0)|0;if(!e){e=30;break}f[w>>2]=e;e=Vw(d,68898,w)|0;if(!e){i=0;e=34;break}else{g=g+1|0;d=e}}if((e|0)==30)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);w=0;t=x;return w|0}else{w=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);w=0;t=x;return w|0}else if((e|0)==34){t=x;return i|0}return 0}function Qw(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+64|0;l=u+48|0;q=u+40|0;s=u+32|0;r=u+24|0;g=u+16|0;e=u+8|0;switch(f[c>>2]|0){case 0:{s=wd(68806,u)|0;t=u;return s|0}case 4:case 9:{p=f[c+24>>2]|0;d=f[p+4>>2]|0;if(d){f[e>>2]=f[(f[a+16>>2]|0)+(f[d+4>>2]<<2)>>2];d=Vw(0,68809,e)|0;if(d|0)h=5}else{d=0;h=5}a:do if((h|0)==5){o=p+8|0;e=f[o>>2]|0;if((e|0)>1){d=Vw(d,68815,g)|0;if(!d)break;e=f[o>>2]|0}if((e|0)<=0){s=d;t=u;return s|0}n=0;b:while(1){m=f[p+12+(n<<2)>>2]|0;if(n){d=Vw(d,41721,r)|0;if(!d)break a}a=m+16|0;if((f[a>>2]|0)>0){l=0;do{c=m+20+(l<<4)|0;h=((wz(f[m+20+(l<<4)+4>>2]|0)|0)<<1)+5|0;e=0;g=c;do{e=h+e|0;g=f[g+12>>2]|0}while((g|0)!=0);k=Fd(e)|0;if(!k){h=19;break b}e=0;j=c;while(1){h=f[j+4>>2]|0;i=e;e=34;c:while(1){b[k+i>>0]=e;g=i+1|0;e=b[h>>0]|0;switch(e<<24>>24){case 0:break c;case 34:{b[k+g>>0]=34;g=i+2|0;e=b[h>>0]|0;break}default:{}}h=h+1|0;i=g}e=i+2|0;b[k+g>>0]=34;g=j+12|0;if(!(f[g>>2]|0))break;h=i+3|0;b[k+e>>0]=124;j=f[g>>2]|0;if(!j){e=h;break}else e=h}if(b[c>>0]|0){b[k+e>>0]=32;b[k+(e+1)>>0]=42;e=e+2|0}b[k+e>>0]=0;f[s>>2]=(l|0)==0?72788:68821;f[s+4>>2]=k;d=Vw(d,49509,s)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{c=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}l=l+1|0;if(!d)break a}while((l|0)<(f[a>>2]|0))}n=n+1|0;e=f[o>>2]|0;if((n|0)>=(e|0)){h=36;break}}if((h|0)==19){if(!d)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{s=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}else if((h|0)==36){if((e|0)<=1){s=d;t=u;return s|0}f[q>>2]=f[p>>2];d=Vw(d,68825,q)|0;if(!d)break;t=u;return d|0}}while(0);s=0;t=u;return s|0}case 2:{j=56756;break}case 3:{j=68836;break}default:j=68831}k=c+28|0;if((f[k>>2]|0)<=0){s=0;t=u;return s|0}i=0;d=0;while(1){e=c+32+(i<<2)|0;h=Qw(a,f[e>>2]|0)|0;if(!h){h=45;break}switch(f[f[e>>2]>>2]|0){case 0:case 4:case 9:{e=72788;g=72788;break}default:{e=56860;g=43047}}f[l>>2]=(i|0)==0?72788:j;f[l+4>>2]=e;f[l+8>>2]=h;f[l+12>>2]=g;d=Vw(d,68842,l)|0;i=i+1|0;if(!d){d=0;h=52;break}if((i|0)>=(f[k>>2]|0)){h=52;break}}if((h|0)==45){if(!d){s=0;t=u;return s|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);s=0;t=u;return s|0}else{s=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);s=0;t=u;return s|0}}else if((h|0)==52){t=u;return d|0}return 0}function Rw(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;if(!a)return;b=f[a+56>>2]|0;if(b|0)ob[f[(f[a+60>>2]|0)+4>>2]&127](b);b=f[a+4>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{e=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+8>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{e=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);d=a+12|0;e=a+16|0;b=f[e>>2]|0;if((f[d>>2]|0)>0){c=0;do{b=f[b+(c<<2)>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{g=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);c=c+1|0;b=f[e>>2]|0}while((c|0)<(f[d>>2]|0))}do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{g=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+28>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{g=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+88>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{g=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+92>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{g=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+36>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{g=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+40>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{g=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+52>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{g=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{g=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Sw(a){a=a|0;var b=0,c=0;if(!a)return;c=a+28|0;if((f[c>>2]|0)>0){b=0;do{Sw(f[a+32+(b<<2)>>2]|0);b=b+1|0}while((b|0)<(f[c>>2]|0))}Tw(f[a+24>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Tw(a){a=a|0;var b=0,c=0;if(!a)return;c=a+8|0;if((f[c>>2]|0)>0){b=0;do{Uw(f[a+12+(b<<2)>>2]|0);b=b+1|0}while((b|0)<(f[c>>2]|0))}b=f[a+4>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Uw(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!a)return;h=a+16|0;if((f[h>>2]|0)>0){g=0;do{b=f[a+20+(g<<4)+4>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{e=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+20+(g<<4)+8>>2]|0;do if(b|0?(i=f[b+24>>2]|0,Tv(b),i=i+40|0,j=f[i>>2]|0,j|0):0){f[i>>2]=0;b=f[j+20>>2]|0;Fi(f[j+16>>2]|0)|0;if(b|0){if(f[b+480>>2]|0){Kc(b,j);break}e=j;if((f[b+304>>2]|0)>>>0<=e>>>0?(f[b+308>>2]|0)>>>0>e>>>0:0){e=b+300|0;f[j>>2]=f[e>>2];f[e>>2]=j;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{e=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);b=f[a+20+(g<<4)+12>>2]|0;if(b|0)do{e=b;b=f[b+12>>2]|0;c=f[e+8>>2]|0;do if(c|0?(k=f[c+24>>2]|0,Tv(c),k=k+40|0,l=f[k>>2]|0,l|0):0){f[k>>2]=0;c=f[l+20>>2]|0;Fi(f[l+16>>2]|0)|0;if(c|0){if(f[c+480>>2]|0){Kc(c,l);break}d=l;if((f[c+304>>2]|0)>>>0<=d>>>0?(f[c+308>>2]|0)>>>0>d>>>0:0){d=c+300|0;f[l>>2]=f[d>>2];f[d>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{d=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);c=e+16|0;d=f[c>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{m=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{m=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}}while((b|0)!=0);g=g+1|0}while((g|0)<(f[h>>2]|0))}if((f[a+12>>2]|0)>0){b=a+4|0;c=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{m=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Vw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=t;t=t+32|0;d=e+16|0;g=e;f[g>>2]=c;c=lp(b,g)|0;if(!((a|0)!=0&(c|0)!=0)){g=c;he(a);t=e;return g|0}f[d>>2]=a;f[d+4>>2]=c;b=wd(49509,d)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);g=b;he(a);t=e;return g|0}else{g=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);g=b;he(a);t=e;return g|0}return 0}function Ww(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+112|0;k=m+88|0;j=m;f[j>>2]=d;l=a+8|0;if(f[l>>2]|0){t=m;return}do if(!(Mc()|0)){e=k+4|0;f[e>>2]=m+16;f[k>>2]=0;f[k+8>>2]=70;g=k+12|0;f[g>>2]=1e9;h=k+16|0;f[h>>2]=0;b[k+20>>0]=0;i=k+21|0;b[i>>0]=0;Bc(k,c,j);d=f[e>>2]|0;if((d|0?(b[d+(f[h>>2]|0)>>0]=0,f[g>>2]|0):0)?(b[i>>0]&4)==0:0){d=Cc(k)|0;break}d=f[e>>2]|0}else d=0;while(0);f[a+4>>2]=d;f[l>>2]=1;t=m;return}function Xw(a,b){a=a|0;b=b|0;switch(a<<24>>24){case 24:{Uw(f[b>>2]|0);return}case 19:case 18:case 17:{Sw(f[b>>2]|0);return}case 21:case 20:{a=f[b>>2]|0;if(!a)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}case 23:case 22:{Tw(f[b>>2]|0);return}default:return}}function Yw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;g=f[(f[a>>2]|0)+12>>2]|0;c=a+8|0;d=(g<<2)+8|0;do if(!(f[c>>2]|0)){a=Fd(d)|0;if(!a){if((d|0)<=0){a=0;h=12;break}f[c>>2]=7;a=0;h=12;break}_A(a|0,0,d|0)|0;if((g|0)>0){e=a+4|0;d=0;c=0;do{if((c|0)<(f[b>>2]|0)?(f[b+4+(c<<2)>>2]|0)==(d|0):0)c=c+1|0;else{i=f[a>>2]|0;f[a>>2]=i+1;f[e+(i<<2)>>2]=d}d=d+1|0}while((d|0)!=(g|0))}else h=12}else{a=0;h=12}while(0);if((h|0)==12)if(!b){i=a;return i|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);i=a;return i|0}else{i=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);i=a;return i|0}return 0}function Zw(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+16|0;m=p;n=a+8|0;do if(!(f[n>>2]|0)){if((e|0)<0)e=wz(d)|0;o=Fd(e+1|0)|0;if(!o){f[n>>2]=7;break}YA(o|0,d|0,e|0)|0;b[o+e>>0]=0;if(!(f[n>>2]|0)){k=f[a>>2]|0;e=b[o>>0]|0;switch(e<<24>>24){case 96:case 34:case 39:case 91:{j=e<<24>>24==91?93:e;d=b[o+1>>0]|0;a:do if(!(d<<24>>24))e=0;else{i=1;e=0;while(1){g=i+1|0;if(d<<24>>24==j<<24>>24){if((b[o+g>>0]|0)!=j<<24>>24)break a;g=i+2|0;d=j}b[o+e>>0]=d;e=e+1|0;d=b[o+g>>0]|0;if(!(d<<24>>24))break;else i=g}}while(0);b[o+e>>0]=0;break}default:{}}l=f[k+12>>2]|0;b:do if((l|0)>0){j=f[k+16>>2]|0;e=0;while(1){g=f[j+(e<<2)>>2]|0;if(g|0){k=b[g>>0]|0;d=(h[1232+(k&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0;if(!(k<<24>>24==0|(d|0)!=0)){i=o;do{g=g+1|0;i=i+1|0;k=b[g>>0]|0;d=(h[1232+(k&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(d|0)!=0))}if(!d){k=e;break b}}e=e+1|0;if((e|0)>=(l|0)){k=e;break}}}else k=0;while(0);c:do if((k|0)==(l|0)){f[m>>2]=o;Ww(a,57072,m);e=0}else{if(!c)j=0;else j=f[c>>2]|0;e=(j<<2)+8|0;if(!(Mc()|0)){e=Nc(c,(e|0)>0?e:0,0)|0;if(e){i=e+4|0;d:do if((j|0)>0){d=0;do{g=f[i+(d<<2)>>2]|0;if((g|0)==(k|0))break c;if((g|0)>(k|0))break d;d=d+1|0}while((d|0)<(j|0))}else d=0;while(0);if((j|0)>(d|0)){g=j;do{n=g;g=g+-1|0;f[i+(n<<2)>>2]=f[i+(g<<2)>>2]}while((g|0)>(d|0))}f[i+(d<<2)>>2]=k;f[e>>2]=j+1;break}}else e=0;f[n>>2]=7}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](o);else{n=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o)}if(e|0){c=e;t=p;return c|0}}}while(0);if(!c){c=0;t=p;return c|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=0;t=p;return c|0}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=0;t=p;return c|0}return 0}function _w(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+16|0;o=p;m=a+8|0;do if(!(f[m>>2]|0)){j=(c|0)==9;if(j&(g|0)==0){o=0;t=p;return o|0}h=(c|0)!=9;if(h&(d|0)==0){o=e;t=p;return o|0}if(h&(e|0)==0){o=d;t=p;return o|0}if((c|0)!=3)if((c+-1|0)>>>0<2){if((f[d>>2]|0)==(c|0))h=(f[d+28>>2]|0)+1|0;else h=2;if((f[e>>2]|0)==(c|0))h=h+-1+(f[e+28>>2]|0)|0}else h=0;else h=2;h=(h<<2)+36|0;l=Fd(h)|0;if(!l){if((h|0)<=0)break;f[m>>2]=7;break}_A(l|0,0,h|0)|0;f[l>>2]=c;f[l+24>>2]=g;switch(c|0){case 9:{if((((f[g+8>>2]|0)==1?(i=f[g+12>>2]|0,(f[i+16>>2]|0)==1):0)?(f[i+32>>2]|0)==0:0)?(b[i+21>>0]|0)==0:0){f[l>>2]=4;h=4;c=93}else{h=9;c=92}break}case 1:{h=c;c=91;break}case 2:{h=c;c=94;break}default:{h=c;c=95}}f[l+12>>2]=c;if(!j){do if((h|0)!=3?(f[d>>2]|0)==(h|0):0){n=d+28|0;o=l+28|0;YA(l+32+(f[o>>2]<<2)|0,d+32|0,f[n>>2]<<2|0)|0;f[o>>2]=(f[o>>2]|0)+(f[n>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{o=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}else k=41;while(0);if((k|0)==41){n=l+28|0;o=f[n>>2]|0;f[n>>2]=o+1;f[l+32+(o<<2)>>2]=d}o=f[l>>2]|0;if((o|0)!=3?(f[e>>2]|0)==(o|0):0){n=e+28|0;o=l+28|0;YA(l+32+(f[o>>2]<<2)|0,e+32|0,f[n>>2]<<2|0)|0;f[o>>2]=(f[o>>2]|0)+(f[n>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);o=l;t=p;return o|0}else{o=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);o=l;t=p;return o|0}}n=l+28|0;o=f[n>>2]|0;f[n>>2]=o+1;f[l+32+(o<<2)>>2]=e;o=l;t=p;return o|0}i=f[g+8>>2]|0;if((i|0)>0){c=l+12|0;h=0;do{k=g+12+(h<<2)|0;f[f[k>>2]>>2]=l;if(!(f[(f[k>>2]|0)+16>>2]|0)){f[c>>2]=0;f[l>>2]=0}h=h+1|0}while((h|0)<(i|0))}if(!(f[(f[a>>2]|0)+48>>2]|0)){o=l;t=p;return o|0}c=f[g+12>>2]|0;h=(i|0)==1;if(h?(n=f[c+16>>2]|0,(n|0)<=1):0){if((n|0)!=1){o=l;t=p;return o|0}if(!(b[c+21>>0]|0)){o=l;t=p;return o|0}}f[m>>2]=1;f[o>>2]=h?69096:66372;o=wd(69103,o)|0;f[a+4>>2]=o;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{o=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);Sw(d);Sw(e);Tw(g);o=0;t=p;return o|0}function $w(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=a+8|0;if(f[h>>2]|0)return;switch(f[b>>2]|0){case 4:case 9:break;default:{g=b+28|0;if((f[g>>2]|0)<=0)return;e=0;do{$w(a,f[b+32+(e<<2)>>2]|0,c,d);e=e+1|0}while((e|0)<(f[g>>2]|0));return}}a=(f[b+24>>2]|0)+4|0;j=f[a>>2]|0;if(!j){if(f[d>>2]|0){f[a>>2]=c;f[d>>2]=0;return}do if(c){g=(f[c>>2]<<2)+4|0;e=Fd(g)|0;if(e|0){YA(e|0,c|0,g|0)|0;break}if((g|0)>0){f[h>>2]=7;e=0}else e=0}else e=0;while(0);f[a>>2]=e;return}g=f[j>>2]|0;if((g|0)>0){e=0;a=0;i=0;while(1){if((a|0)>=(f[c>>2]|0))break;d=f[c+4+(a<<2)>>2]|0;h=(f[j+4+(i<<2)>>2]|0)-d|0;do if(h)if((h|0)>0){d=i;a=a+1|0;break}else{d=i+1|0;break}else{f[j+4+(e<<2)>>2]=d;d=i+1|0;e=e+1|0;a=a+1|0;g=f[j>>2]|0}while(0);if((d|0)<(g|0))i=d;else break}f[j>>2]=e;if(e|0)return}else f[j>>2]=0;f[b>>2]=0;f[b+12>>2]=0;return}function ax(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=a+8|0;do if(!(f[i>>2]|0)){if(!c){a=b;return a|0}a:do if(b){e=b+8|0;d=f[e>>2]|0;if(!(d&7)){d=(d<<2)+48|0;if(!(Mc()|0)){d=Nc(b,(d|0)>0?d:0,0)|0;if(d){h=23;break}}else d=0;f[i>>2]=7;h=23}else g=e}else{do if(!(Mc()|0)){if(!(f[9328]|0)){d=ib[f[37356>>2]&255](48)|0;if(!d)break;else e=d}else{d=ib[f[37372>>2]&255](48)|0;if((f[18194]|0)>>>0<48)f[18194]=48;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){h=f[18187]|0;g=LA(e|0,g|0,d|0,((d|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&g>>>0<=h>>>0)&1}g=ib[f[37356>>2]&255](d)|0;if(!g){d=0;break}d=ib[f[37368>>2]&255](g)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d;e=g;d=g}g=e+48|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));h=23;break a}else d=0;while(0);f[i>>2]=7;h=23}while(0);if((h|0)==23){if(!d)break;i=d+8|0;b=d;g=i;d=f[i>>2]|0}do if((d|0)>0){e=f[b+12+(d+-1<<2)>>2]|0;if(!(f[c+16>>2]|0)){Uw(c);d=(f[g>>2]|0)+-1|0;f[g>>2]=d;c=a+12|0;f[c>>2]=(f[c>>2]|0)+-1;c=e;break}if(!(f[e+16>>2]|0)){Uw(e);d=a+12|0;i=f[d>>2]|0;f[(f[a+16>>2]|0)+(i+-2<<2)>>2]=c;f[d>>2]=i+-1;d=(f[g>>2]|0)+-1|0;f[g>>2]=d}}while(0);f[g>>2]=d+1;f[b+12+(d<<2)>>2]=c;a=b;return a|0}while(0);Tw(b);Uw(c);a=0;return a|0}function bx(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+16|0;o=p;m=f[a>>2]|0;l=o;f[l>>2]=0;f[l+4>>2]=0;f[o>>2]=c;if((e|0)<0)e=wz(d)|0;l=Fd(e+1|0)|0;if(l){YA(l|0,d|0,e|0)|0;b[l+e>>0]=0;k=(g|0)==0?1:3;e=b[l>>0]|0;switch(e<<24>>24){case 96:case 34:case 39:case 91:{j=e<<24>>24==91?93:e;d=b[l+1>>0]|0;a:do if(!(d<<24>>24))e=0;else{i=1;e=0;while(1){h=i+1|0;if(d<<24>>24==j<<24>>24){if((b[l+h>>0]|0)!=j<<24>>24)break a;h=i+2|0;d=j}b[l+e>>0]=d;e=e+1|0;d=b[l+h>>0]|0;if(!(d<<24>>24))break;else i=h}}while(0);b[l+e>>0]=0;break}default:{}}e=wz(l)|0;e=nb[f[(f[m+60>>2]|0)+8>>2]&127](f[m+56>>2]|0,o,k,l,e,90)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{m=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}if(!e){e=f[o+4>>2]|0;if(!e){if(!c){i=a+12|0;e=f[i>>2]|0;do if(!(e&7)){e=(e<<2)+32|0;d=a+16|0;h=f[d>>2]|0;if((Mc()|0)==0?(n=Nc(h,(e|0)>0?e:0,0)|0,n|0):0){f[d>>2]=n;e=f[i>>2]|0;break}f[a+8>>2]=7;Uw(f[o>>2]|0);o=0;t=p;return o|0}while(0);f[i>>2]=e+1}h=f[o>>2]|0;e=h;if(h){d=f[h+16>>2]|0;if(d)b[h+20+(d+-1<<4)>>0]=g}else{i=a+8|0;b:do if(!(f[i>>2]|0)){do if(!(Mc()|0)){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](36)|0;if(!e)break}else{e=ib[f[37372>>2]&255](36)|0;if((f[18194]|0)>>>0<36)f[18194]=36;h=71896;d=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&d>>>0>0){g=f[18187]|0;n=LA(d|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&n>>>0<=g>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e)break;d=ib[f[37368>>2]&255](e)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d}d=e;h=d+36|0;do{b[d>>0]=0;d=d+1|0}while((d|0)<(h|0));break b}while(0);f[i>>2]=7;e=0}else e=0;while(0);f[o>>2]=e}f[(f[a+16>>2]|0)+((f[a+12>>2]|0)+-1<<2)>>2]=e;o=f[o>>2]|0;t=p;return o|0}}}else e=7;f[a+8>>2]=e;Uw(f[o>>2]|0);f[o>>2]=0;o=0;t=p;return o|0}function cx(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;j=f[a>>2]|0;m=a+4|0;g=f[m>>2]|0;if(g|0){m=g;return m|0}g=(e|0)<32768?e:32768;do if(j){i=j+16|0;e=f[i>>2]|0;if((c&1|0)==0|(e|0)<1)if(!(e&7)){i=e;e=0;l=7;break}else{c=j;h=i;l=12;break}h=g+29|0;e=Fd(h)|0;if(!e)g=7;else{_A(e|0,0,h|0)|0;k=e+28|0;f[e+4>>2]=k;YA(k|0,d|0,g|0)|0;g=j+20+((f[i>>2]|0)+-1<<4)+12|0;f[e+12>>2]=f[g>>2];f[g>>2]=e;g=0}}else{i=0;e=1;l=7}while(0);if((l|0)==7){h=(i<<4)+164|0;if((Mc()|0)==0?(k=Nc(j,(h|0)>0?h:0,0)|0,(k|0)!=0):0){if(e){h=k;e=h+36|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(e|0))}f[a>>2]=k;f[k+16>>2]=i;c=k;h=k+16|0;e=i;l=12}else g=7}if((l|0)==12){f[h>>2]=e+1;l=c+20+(e<<4)|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((g|0)<0)g=wz(d)|0;h=Fd(g+1|0)|0;if(!h){h=0;g=7}else{YA(h|0,d|0,g|0)|0;b[h+g>>0]=0;g=0}f[c+20+(e<<4)+4>>2]=h}f[m>>2]=g;m=g;return m|0}function dx(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=c+24|0;q=f[(f[(f[r>>2]|0)+12>>2]|0)+28>>2]|0;o=q+24|0;p=f[o>>2]|0;a:do if(d){h=q+16|0;vv(p,q,1,e,g);d=p+36|0;if(!(f[d>>2]|0)){i=q+72|0;k=q+56|0;do{if(b[h>>0]|0)break a;m=q+80+((j[(f[i>>2]|0)+4>>1]|0)*88|0)+72|0;l=f[m>>2]|0;m=f[m+4>>2]|0;n=f[k>>2]|0;if(!((m|0)<(g|0)|(m|0)==(g|0)&l>>>0>>0|(n|0)!=0))break a;if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>e>>>0|(n|0)==0))break a;vv(p,q,1,e,g)}while(!(f[d>>2]|0))}}else vv(p,q,0,0,0);while(0);g=(f[o>>2]|0)+36|0;d=f[g>>2]|0;f[g>>2]=0;if((d|0)==0?(b[q+16>>0]|0)==0:0){q=f[(f[a+4>>2]|0)+48>>2]|0;d=f[(f[r>>2]|0)+12>>2]|0;h=f[d+28>>2]|0;i=f[h+12>>2]|0;f[d+8>>2]=i;if(!q)f[d+4>>2]=f[h+8>>2];a=h;q=f[a+4>>2]|0;r=c+16|0;f[r>>2]=f[a>>2];f[r+4>>2]=q;r=0;q=(i|0)==0&1;c=c+8|0;f[c>>2]=q;return r|0}f[c+4>>2]=1;r=d;q=0;c=c+8|0;f[c>>2]=q;return r|0}function ex(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0;g=f[b+32>>2]|0;c=mb[f[g+12>>2]&127](a,g,c,d,e)|0;if(!c){g=mx(a,b)|0;return g|0}else{f[b+8>>2]=0;g=c;return g|0}return 0}function fx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0;g=f[b+32>>2]|0;c=mb[f[g+12>>2]&127](a,g,c,d,e)|0;if(!c){c=kx(a,b)|0;if(!c){g=0;return g|0}}f[b+8>>2]=0;g=c;return g|0}function gx(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f[(f[c+24>>2]|0)+12>>2]|0;l=h+20|0;f[c+8>>2]=0;if(!(f[h+32>>2]|0)){r=f[h+28>>2]|0;p=r+24|0;q=f[p>>2]|0;a:do if(d){i=r+16|0;vv(q,r,1,e,g);h=q+36|0;if(!(f[h>>2]|0)){k=r+72|0;l=r+56|0;do{if(b[i>>0]|0)break a;n=r+80+((j[(f[k>>2]|0)+4>>1]|0)*88|0)+72|0;m=f[n>>2]|0;n=f[n+4>>2]|0;o=f[l>>2]|0;if(!((n|0)<(g|0)|(n|0)==(g|0)&m>>>0>>0|(o|0)!=0))break a;if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>e>>>0|(o|0)==0))break a;vv(q,r,1,e,g)}while(!(f[h>>2]|0))}}else vv(q,r,0,0,0);while(0);g=(f[p>>2]|0)+36|0;h=f[g>>2]|0;f[g>>2]=0;if(!h){k=h;h=(b[r+16>>0]|0)!=0}else{k=h;h=1}}else{w=a+12|0;p=f[w>>2]|0;o=l;i=0;n=0;m=0;do{h=f[o+8>>2]|0;do if(!(b[h+16>>0]|0)){k=h;h=f[k>>2]|0;k=f[k+4>>2]|0;if(i|0?(p|0)==(((k|0)<(n|0)|(k|0)==(n|0)&h>>>0>>0)&1|0):0)break;i=1;m=h;n=k}while(0);o=f[o+12>>2]|0}while((o|0)!=0);b:do if(!d){i=1;while(1){k=l+8|0;h=f[k>>2]|0;if(!(b[h+16>>0]|0)){g=h;if((f[g>>2]|0)==(m|0)?(f[g+4>>2]|0)==(n|0):0){g=h+24|0;vv(f[g>>2]|0,h,0,0,0);g=(f[g>>2]|0)+36|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0)break b;h=(b[(f[k>>2]|0)+16>>0]|0)==0?0:i}else h=0}else h=i;l=f[l+12>>2]|0;if(!l){i=h;h=0;break}else i=h}}else{i=1;while(1){v=l+8|0;t=f[v>>2]|0;u=t+16|0;do if(!(b[u>>0]|0)){k=t;h=f[k>>2]|0;k=f[k+4>>2]|0;if(!((h|0)==(m|0)&(k|0)==(n|0))){if((h|0)==(e|0)&(k|0)==(g|0)){i=0;break}if((f[w>>2]|0)!=(((k|0)>(g|0)|(k|0)==(g|0)&h>>>0>e>>>0)&1|0)){i=0;break}}q=t+24|0;r=f[q>>2]|0;vv(r,t,1,e,g);h=r+36|0;c:do if(!(f[h>>2]|0)){d=t+72|0;s=t+56|0;do{if(b[u>>0]|0)break c;o=t+80+((j[(f[d>>2]|0)+4>>1]|0)*88|0)+72|0;k=f[o>>2]|0;o=f[o+4>>2]|0;p=f[s>>2]|0;if(!((o|0)<(g|0)|(o|0)==(g|0)&k>>>0>>0|(p|0)!=0))break c;if(!((o|0)>(g|0)|(o|0)==(g|0)&k>>>0>e>>>0|(p|0)==0))break c;vv(r,t,1,e,g)}while(!(f[h>>2]|0))}while(0);u=(f[q>>2]|0)+36|0;h=f[u>>2]|0;f[u>>2]=0;if(h|0)break b;i=(b[(f[v>>2]|0)+16>>0]|0)==0?0:i}while(0);l=f[l+12>>2]|0;if(!l){h=0;break}}}while(0);k=h;h=(h|i|0)!=0}f[c+4>>2]=h&1;if(h){c=k;return c|0}c=ix(a,c)|0;return c|0}function hx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=b+16|0;m=p;o=f[m>>2]|0;m=f[m+4>>2]|0;n=b+28|0;g=f[n>>2]|0;if((g|0)>0){l=a+12|0;a:do if(!c){i=0;while(1){h=f[b+32+(i<<2)>>2]|0;if((f[h+4>>2]|0)==0?(c=h+16|0,(f[c>>2]|0)==(o|0)?(f[c+4>>2]|0)==(m|0):0):0){g=mb[f[h+12>>2]&127](a,h,0,d,e)|0;if(g|0){h=0;break}g=f[n>>2]|0}i=i+1|0;if((i|0)>=(g|0)){n=g;break a}}b=b+8|0;f[b>>2]=h;return g|0}else{k=0;b:while(1){h=f[b+32+(k<<2)>>2]|0;c:do if(!(f[h+4>>2]|0)){j=h+16|0;i=f[j>>2]|0;j=f[j+4>>2]|0;do if(!((i|0)==(o|0)&(j|0)==(m|0)))if(!(f[l>>2]|0))if((j|0)<(e|0)|(j|0)==(e|0)&i>>>0>>0)break;else break c;else if((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>d>>>0)break;else break c;while(0);g=mb[f[h+12>>2]&127](a,h,c,d,e)|0;if(g|0){h=0;break b}g=f[n>>2]|0}while(0);k=k+1|0;if((k|0)>=(g|0)){n=g;break a}}b=b+8|0;f[b>>2]=h;return g|0}while(0);g=f[b+32>>2]|0;if((n|0)>1){m=a+12|0;c=1;do{l=f[b+32+(c<<2)>>2]|0;do if(!(f[l+4>>2]|0)){if(!(f[g+4>>2]|0)){i=g+16|0;h=f[i>>2]|0;i=f[i+4>>2]|0;k=l+16|0;j=f[k>>2]|0;k=f[k+4>>2]|0;if(!(f[m>>2]|0))if((i|0)<(k|0)|(i|0)==(k|0)&h>>>0>>0)break;else h=(i|0)>(k|0)|(i|0)==(k|0)&h>>>0>j>>>0;else if((i|0)>(k|0)|(i|0)==(k|0)&h>>>0>j>>>0)break;else h=(i|0)<(k|0)|(i|0)==(k|0)&h>>>0>>0;if(!h?f[l+8>>2]|0:0)break}g=l}while(0);c=c+1|0}while((c|0)!=(n|0))}}else g=f[b+32>>2]|0;o=g+16|0;a=f[o+4>>2]|0;f[p>>2]=f[o>>2];f[p+4>>2]=a;f[b+4>>2]=f[g+4>>2];p=0;a=f[g+8>>2]|0;b=b+8|0;f[b>>2]=a;return p|0}function ix(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=t;t=t+224|0;N=O;H=O+208|0;I=O+204|0;J=O+192|0;E=c+24|0;D=f[E>>2]|0;d=f[D+12>>2]|0;B=f[a+12>>2]|0;if(!(f[d+32>>2]|0)){d=f[d+28>>2]|0;e=f[d>>2]|0;d=f[d+4>>2]|0}else{k=d+20|0;g=0;i=0;h=0;while(1){d=f[k+8>>2]|0;do if(!(b[d+16>>0]|0)){e=f[d>>2]|0;d=f[d+4>>2]|0;if(g|0?(B|0)==(((d|0)<(i|0)|(d|0)==(i|0)&e>>>0>>0)&1|0):0){e=h;d=i;break}g=1}else{e=h;d=i}while(0);k=f[k+12>>2]|0;if(!k)break;else{i=d;h=e}}}y=D+8|0;z=(B|0)==0;A=(B|0)!=0;g=f[y>>2]|0;a:while(1){if((g|0)<=0){k=e;i=d;G=70;break}x=0;h=1;do{v=f[D+12+(x<<2)>>2]|0;w=v+16|0;if((f[w>>2]|0)>0){u=0;s=d;while(1){k=v+20+(u<<4)|0;if(!(f[v+20+(u<<4)+12>>2]|0)){o=f[v+20+(u<<4)+8>>2]|0;d=o;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((g|0)==(e|0)&(d|0)==(s|0))?(C=o+16|0,(b[C>>0]|0)==0):0)if(z&((s|0)>(d|0)|(s|0)==(d|0)&e>>>0>g>>>0)|A&((s|0)<(d|0)|(s|0)==(d|0)&e>>>0>>0)){g=o+24|0;h=f[g>>2]|0;vv(h,o,1,e,s);d=h+36|0;b:do if(!(f[d>>2]|0)){i=o+72|0;k=o+56|0;do{if(b[C>>0]|0)break b;m=o+80+((j[(f[i>>2]|0)+4>>1]|0)*88|0)+72|0;l=f[m>>2]|0;m=f[m+4>>2]|0;n=f[k>>2]|0;if(!((m|0)<(s|0)|(m|0)==(s|0)&l>>>0>>0|(n|0)!=0))break b;if(!((m|0)>(s|0)|(m|0)==(s|0)&l>>>0>e>>>0|(n|0)==0))break b;vv(h,o,1,e,s)}while(!(f[d>>2]|0))}while(0);G=(f[g>>2]|0)+36|0;d=f[G>>2]|0;f[G>>2]=0;if(d|0){G=66;break a}if(b[C>>0]|0){d=0;G=66;break a}d=o;h=0;e=f[d>>2]|0;d=f[d+4>>2]|0}else{h=0;e=g}else d=s}else{n=k;i=0;m=0;l=0;while(1){d=f[n+8>>2]|0;do if(!(b[d+16>>0]|0)){g=f[d>>2]|0;d=f[d+4>>2]|0;if(i|0?(B|0)==(((d|0)<(m|0)|(d|0)==(m|0)&g>>>0>>0)&1|0):0){g=l;d=m;break}i=1}else{g=l;d=m}while(0);n=f[n+12>>2]|0;if(!n)break;else{m=d;l=g}}if(!((g|0)==(e|0)&(d|0)==(s|0))){if(z){r=k;while(1){p=f[r+8>>2]|0;q=p+16|0;if((b[q>>0]|0)==0?(G=p,F=f[G+4>>2]|0,(s|0)>(F|0)|((s|0)==(F|0)?e>>>0>(f[G>>2]|0)>>>0:0)):0){g=p+24|0;h=f[g>>2]|0;vv(h,p,1,e,s);d=h+36|0;c:do if(!(f[d>>2]|0)){i=p+72|0;l=p+56|0;do{if(b[q>>0]|0)break c;n=p+80+((j[(f[i>>2]|0)+4>>1]|0)*88|0)+72|0;m=f[n>>2]|0;n=f[n+4>>2]|0;o=f[l>>2]|0;if(!((n|0)<(s|0)|(n|0)==(s|0)&m>>>0>>0|(o|0)!=0))break c;if(!((n|0)>(s|0)|(n|0)==(s|0)&m>>>0>e>>>0|(o|0)==0))break c;vv(h,p,1,e,s)}while(!(f[d>>2]|0))}while(0);G=(f[g>>2]|0)+36|0;d=f[G>>2]|0;f[G>>2]=0}else d=0;r=f[r+12>>2]|0;g=(d|0)==0;if(!(g&(r|0)!=0)){e=g;break}}}else{r=k;while(1){g=f[r+8>>2]|0;h=g+16|0;if((b[h>>0]|0)==0?(G=g,F=f[G+4>>2]|0,(s|0)<(F|0)|((s|0)==(F|0)?e>>>0<(f[G>>2]|0)>>>0:0)):0){i=g+24|0;l=f[i>>2]|0;vv(l,g,1,e,s);d=l+36|0;d:do if(!(f[d>>2]|0)){m=g+72|0;n=g+56|0;do{if(b[h>>0]|0)break d;p=g+80+((j[(f[m>>2]|0)+4>>1]|0)*88|0)+72|0;o=f[p>>2]|0;p=f[p+4>>2]|0;q=f[n>>2]|0;if(!((p|0)<(s|0)|(p|0)==(s|0)&o>>>0>>0|(q|0)!=0))break d;if(!((p|0)>(s|0)|(p|0)==(s|0)&o>>>0>e>>>0|(q|0)==0))break d;vv(l,g,1,e,s)}while(!(f[d>>2]|0))}while(0);G=(f[i>>2]|0)+36|0;d=f[G>>2]|0;f[G>>2]=0}else d=0;r=f[r+12>>2]|0;g=(d|0)==0;if(!(g&(r|0)!=0)){e=g;break}}}if(!e){G=53;break a}g=0;h=0;i=0;while(1){d=f[k+8>>2]|0;do if(!(b[d+16>>0]|0)){e=f[d>>2]|0;d=f[d+4>>2]|0;if(g|0?(B|0)==(((d|0)<(h|0)|(d|0)==(h|0)&e>>>0>>0)&1|0):0){d=h;e=i;break}g=1}else{d=h;e=i}while(0);k=f[k+12>>2]|0;if(!k)break;else{h=d;i=e}}if(!g){d=0;G=53;break a}else h=0}else d=s}u=u+1|0;if((u|0)>=(f[w>>2]|0))break;else s=d}}x=x+1|0;g=f[y>>2]|0}while((x|0)<(g|0));if(h){k=e;i=d;G=70;break}}if((G|0)==53){f[c+8>>2]=0;f[c+4>>2]=1;c=d;t=O;return c|0}else if((G|0)==66){f[c+4>>2]=1;c=d;t=O;return c|0}else if((G|0)==70){D=c+16|0;F=D;f[F>>2]=k;f[F+4>>2]=i;F=f[E>>2]|0;e:do if(!(f[(f[a+4>>2]|0)+48>>2]|0)){E=F+8|0;C=F+4|0;e=0;do{if((e|0)>=(f[E>>2]|0)){d=0;break}n=f[F+12+(e<<2)>>2]|0;B=n+16|0;d=f[B>>2]|0;do if((((d|0)<=1?(f[n+32>>2]|0)==0:0)?(f[C>>2]|0)==0:0)?(b[n+21>>0]|0)==0:0){l=f[n+28>>2]|0;i=n+4|0;k=f[l+12>>2]|0;l=f[l+8>>2]|0;m=n+8|0;f[m>>2]=0;if(!k)d=0;else{h=n+12|0;d=f[h>>2]|0;if(d>>>0>>0){g=(d|0)==0?64:d;while(1)if(g>>>0>>0)g=g<<1;else break;d=f[i>>2]|0;if(Mc()|0){d=7;break}d=Nc(d,(g|0)>0?g:0,0)|0;if(!d){d=7;break}f[h>>2]=g;f[i>>2]=d;g=f[m>>2]|0}else{d=f[i>>2]|0;g=0}YA(d+g|0,l|0,k|0)|0;f[m>>2]=(f[m>>2]|0)+k;d=0}}else G=83;while(0);if((G|0)==83){G=0;l=b[n+21>>0]|0;z=n+8|0;f[z>>2]=0;if((d|0)>4){d=Fd(d*24|0)|0;if(!d){G=85;break}A=d;d=f[B>>2]|0}else A=N;_A(A|0,0,d*24|0)|0;d=f[B>>2]|0;f:do if((d|0)>0){k=0;while(1){f[H>>2]=0;f[I>>2]=0;if(!(f[n+20+(k<<4)+12>>2]|0)){h=f[n+20+(k<<4)+8>>2]|0;g=f[h+8>>2]|0;f[I>>2]=g;h=f[h+12>>2]|0;f[H>>2]=h;i=0}else{f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;d=D;d=jx(n+20+(k<<4)|0,f[d>>2]|0,f[d+4>>2]|0,J,I,H)|0;g=f[I>>2]|0;if(d|0)break;i=(g|0)==(f[J>>2]|0)&1;h=f[H>>2]|0}a=A+(k*24|0)+8|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[A+(k*24|0)>>2]=g;f[A+(k*24|0)+4>>2]=h;d=A+(k*24|0)+13|0;if(!(uv(g,h,a,A+(k*24|0)+16|0)|0))d=b[d>>0]|0;else{b[d>>0]=1;d=1}b[A+(k*24|0)+12>>0]=i;k=k+1|0;if(d<<24>>24){d=0;break f}d=f[B>>2]|0;if((k|0)>=(d|0)){G=103;break f}}do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0)}else G=103;while(0);g:do if((G|0)==103){G=0;y=A+16|0;w=l<<24>>24==0;x=n+12|0;v=n+4|0;i=0;u=0;h:while(1){k=y;g=f[k>>2]|0;k=f[k+4>>2]|0;while(1){if((d|0)<=0){m=g;l=k;break}l=1;s=0;h=g;r=k;while(1){p=KA(h|0,r|0,s|0,0)|0;q=ba()|0;o=A+(s*24|0)+16|0;k=o;g=f[k>>2]|0;k=f[k+4>>2]|0;if((g|0)==(p|0)&(k|0)==(q|0)){g=l;k=r}else{if((k|0)<(q|0)|(k|0)==(q|0)&g>>>0

>>0){l=A+(s*24|0)|0;m=A+(s*24|0)+4|0;n=A+(s*24|0)+8|0;d=A+(s*24|0)+13|0;do{if(uv(f[l>>2]|0,f[m>>2]|0,n,o)|0){G=112;break h}if(b[d>>0]|0){d=0;break g}k=o;g=f[k>>2]|0;k=f[k+4>>2]|0}while((k|0)<(q|0)|(k|0)==(q|0)&g>>>0

>>0);d=f[B>>2]|0}a=(k|0)>(q|0)|(k|0)==(q|0)&g>>>0>p>>>0;q=LA(g|0,k|0,s|0,0)|0;k=ba()|0;g=0;h=a?q:h;k=a?k:r}s=s+1|0;if((s|0)>=(d|0))break;else{l=g;r=k}}if(!g)g=h;else{m=h;l=k;break}}if(w|(m|0)==0){g=(f[z>>2]|0)+15|0;d=f[x>>2]|0;if(g>>>0>d>>>0){h=(d|0)==0?64:d;while(1)if(h>>>0>>0)h=h<<1;else break;d=f[v>>2]|0;if(Mc()|0){d=7;break g}d=Nc(d,(h|0)>0?h:0,0)|0;if(!d){d=7;break g}f[x>>2]=h;f[v>>2]=d}k=l&2147483647;if(0==0&(k|0)==(u&2147483647|0)){g=f[z>>2]|0;d=u}else{g=f[v>>2]|0;d=f[z>>2]|0;f[z>>2]=d+1;b[g+d>>0]=1;d=(f[v>>2]|0)+(f[z>>2]|0)|0;g=UA(m|0,l|0,32)|0;h=ba()|0;do if(!(h>>>0<0|(h|0)==0&g>>>0<128))if(h>>>0<0|(h|0)==0&g>>>0<16384){a=VA(g|0,h|0,7)|0;ba()|0;b[d>>0]=a&255|-128;b[d+1>>0]=g&127;d=2;break}else{d=Zv(d,g,h)|0;break}else{b[d>>0]=g&127;d=1}while(0);g=(f[z>>2]|0)+d|0;f[z>>2]=g;i=0;d=k}h=(f[v>>2]|0)+g|0;g=KA(m|0,l|0,2,0)|0;d=LA(g|0,ba()|0,i|0,d|0)|0;g=ba()|0;do if(!(g>>>0<0|(g|0)==0&d>>>0<128))if(g>>>0<0|(g|0)==0&d>>>0<16384){a=VA(d|0,g|0,7)|0;ba()|0;b[h>>0]=a&255|-128;b[h+1>>0]=d&127;d=2;break}else{d=Zv(h,d,g)|0;break}else{b[h>>0]=d&127;d=1}while(0);f[z>>2]=(f[z>>2]|0)+d;i=m;h=l;d=f[B>>2]|0}else h=u;if((d|0)>0){g=0;do{d=A+(g*24|0)+13|0;if(uv(f[A+(g*24|0)>>2]|0,f[A+(g*24|0)+4>>2]|0,A+(g*24|0)+8|0,A+(g*24|0)+16|0)|0){G=144;break h}g=g+1|0;if(b[d>>0]|0){d=0;break g}d=f[B>>2]|0}while((g|0)<(d|0))}u=h}if((G|0)==112){G=0;b[d>>0]=1;d=0;break}else if((G|0)==144){G=0;b[d>>0]=1;d=0;break}}while(0);h=(f[z>>2]|0)<1;if((f[B>>2]|0)>0){g=0;do{do if(b[A+(g*24|0)+12>>0]|0?(K=f[A+(g*24|0)>>2]|0,K|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](K);break}else{a=ib[f[37368>>2]&255](K)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](K);break}while(0);g=g+1|0}while((g|0)<(f[B>>2]|0))}do if(!((A|0)==(N|0)|(A|0)==0))if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{a=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}while(0);if(h)break}e=e+1|0}while((d|0)==0);if((G|0)==85)d=7;do if((e|0)==(f[E>>2]|0)){if((e|0)==1){e=1;break e}do if((e|0)>4){e=e*48|0;if(!d){d=Fd(e)|0;if(!d)if((e|0)>0){d=7;G=178;break}else d=0;else _A(d|0,0,e|0)|0;u=d;d=f[E>>2]|0}else G=178}else{_A(N|0,0,192)|0;if(!d){u=N;d=e}else G=178}while(0);if((G|0)==178)break;if((d|0)>0){o=0;do{e=f[F+12+(o<<2)>>2]|0;d=e+4|0;J=f[d>>2]|0;e=e+8|0;K=f[e>>2]|0;g=u+(o*48|0)+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;h=u+(o*48|0)|0;f[h>>2]=J;i=u+(o*48|0)+4|0;f[i>>2]=K;k=u+(o*48|0)+24|0;l=u+(o*48|0)+16|0;I=l;f[I>>2]=0;f[I+4>>2]=0;if(!(uv(J,K,g,k)|0)){n=k;m=f[n>>2]|0;n=f[n+4>>2]|0}else{m=k;f[m>>2]=0;f[m+4>>2]=1073741824;m=0;n=1073741824}K=l;f[K>>2]=m;f[K+4>>2]=n;if(uv(f[h>>2]|0,f[i>>2]|0,g,k)|0){K=k;f[K>>2]=0;f[K+4>>2]=1073741824}f[e>>2]=0;f[u+(o*48|0)+40>>2]=d;o=o+1|0;d=f[E>>2]|0}while((o|0)<(d|0))}r=u+16|0;s=u+24|0;i:while(1){g=r;e=f[g>>2]|0;g=f[g+4>>2]|0;while(1){if((d|0)<=0){e=0;g=s;d=r;break}i=1;q=0;p=e;while(1){o=f[(f[F+12+(q<<2)>>2]|0)+16>>2]|0;o=LA(p|0,g|0,o|0,((o|0)<0)<<31>>31|0)|0;n=ba()|0;m=f[F>>2]|0;m=LA(o|0,n|0,m|0,((m|0)<0)<<31>>31|0)|0;n=ba()|0;o=u+(q*48|0)+16|0;h=o;e=f[h>>2]|0;h=f[h+4>>2]|0;k=(h|0)<(n|0)|(h|0)==(n|0)&e>>>0>>0;if((h|0)>(g|0)|(h|0)==(g|0)&e>>>0>p>>>0|k){if(k){d=u+(q*48|0)+24|0;i=u+(q*48|0)|0;k=u+(q*48|0)+4|0;l=u+(q*48|0)+8|0;do{I=d;J=f[I+4>>2]|0;K=o;f[K>>2]=f[I>>2];f[K+4>>2]=J;if(uv(f[i>>2]|0,f[k>>2]|0,l,d)|0){K=d;f[K>>2]=0;f[K+4>>2]=1073741824}h=o;e=f[h>>2]|0;h=f[h+4>>2]|0;if((e|0)==0&(h|0)==1073741824)break i}while((h|0)<(n|0)|(h|0)==(n|0)&e>>>0>>0);d=f[E>>2]|0}K=(h|0)>(g|0)|(h|0)==(g|0)&e>>>0>p>>>0;i=0;e=K?e:p;g=K?h:g}else e=p;q=q+1|0;if((q|0)>=(d|0))break;else p=e}if(i){G=202;break}}if((G|0)==202){G=0;if((d|0)>0){p=0;do{m=u+(p*48|0)+16|0;l=f[m>>2]|0;m=f[m+4>>2]|0;n=u+(p*48|0)+32|0;k=f[u+(p*48|0)+40>>2]|0;o=k+4|0;d=f[o>>2]|0;if(!((d|0)!=0?(K=n,(l|0)==(f[K>>2]|0)?(m|0)==(f[K+4>>2]|0):0):0))G=206;do if((G|0)==206){G=0;e=d+15|0;h=k+8|0;d=f[h>>2]|0;if(e>>>0>d>>>0){g=(d|0)==0?64:d;while(1)if(g>>>0>>0)g=g<<1;else break;d=f[k>>2]|0;if(Mc()|0)break;d=Nc(d,(g|0)>0?g:0,0)|0;if(!d)break;f[h>>2]=g;f[k>>2]=d}i=m&2147483647;e=n;d=f[e+4>>2]|0;if(0==0&(i|0)==(d&2147483647|0)){g=k;h=f[o>>2]|0;e=f[e>>2]|0}else{e=f[k>>2]|0;d=f[o>>2]|0;f[o>>2]=d+1;b[e+d>>0]=1;d=(f[k>>2]|0)+(f[o>>2]|0)|0;e=UA(l|0,m|0,32)|0;g=ba()|0;do if(!(g>>>0<0|(g|0)==0&e>>>0<128))if(g>>>0<0|(g|0)==0&e>>>0<16384){K=VA(e|0,g|0,7)|0;ba()|0;b[d>>0]=K&255|-128;b[d+1>>0]=e&127;d=2;break}else{d=Zv(d,e,g)|0;break}else{b[d>>0]=e&127;d=1}while(0);h=(f[o>>2]|0)+d|0;f[o>>2]=h;g=n;f[g>>2]=0;f[g+4>>2]=i;g=k;e=0;d=i}g=(f[g>>2]|0)+h|0;K=KA(l|0,m|0,2,0)|0;d=LA(K|0,ba()|0,e|0,d|0)|0;e=ba()|0;do if(!(e>>>0<0|(e|0)==0&d>>>0<128))if(e>>>0<0|(e|0)==0&d>>>0<16384){K=VA(d|0,e|0,7)|0;ba()|0;b[g>>0]=K&255|-128;b[g+1>>0]=d&127;d=2;break}else{d=Zv(g,d,e)|0;break}else{b[g>>0]=d&127;d=1}while(0);f[o>>2]=(f[o>>2]|0)+d;K=n;f[K>>2]=l;f[K+4>>2]=m}while(0);p=p+1|0;l=f[E>>2]|0}while((p|0)<(l|0));if((l|0)>0?(M=s,L=f[M>>2]|0,M=f[M+4>>2]|0,(l|0)!=1):0){d=0;e=L;g=L;h=M;i=M;k=1;m=0;do{g=d?e:g;i=d?h:i;K=u+(k*48|0)+24|0;e=f[K>>2]|0;h=f[K+4>>2]|0;d=(h|0)<(i|0)|(h|0)==(i|0)&e>>>0>>0;m=d?k:m;k=k+1|0}while((k|0)!=(l|0));e=m;g=u+(m*48|0)+24|0;d=u+(m*48|0)+16|0}else{e=0;g=s;d=r}}else{e=0;g=s;d=r}}I=g;J=f[I+4>>2]|0;K=d;f[K>>2]=f[I>>2];f[K+4>>2]=J;if(uv(f[u+(e*48|0)>>2]|0,f[u+(e*48|0)+4>>2]|0,u+(e*48|0)+8|0,g)|0){K=g;f[K>>2]=0;f[K+4>>2]=1073741824}K=d;if((f[K>>2]|0)==0?(f[K+4>>2]|0)==1073741824:0)break;d=f[E>>2]|0}d=(f[(f[u+40>>2]|0)+4>>2]|0)<1;do if((u|0)!=(N|0))if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{N=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}while(0);if(d)d=0;else{e=1;d=0;break e}}while(0);e=0}else{g=f[F+12>>2]|0;h=g+8|0;f[h>>2]=0;g=g+20|0;e=0;do{d=f[g+8>>2]|0;if(((b[d+16>>0]|0)==0?(N=d,(f[N>>2]|0)==(k|0)?(f[N+4>>2]|0)==(i|0):0):0)?(f[d+12>>2]|0)>0:0){f[h>>2]=1;e=1}g=f[g+12>>2]|0}while((g|0)!=0);d=0}while(0);f[c+8>>2]=(e|d|0)==0&1;c=d;t=O;return c|0}return 0}function jx(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+96|0;z=A;a:do if(a){i=4;j=z;m=0;while(1){l=f[a+8>>2]|0;if(((b[l+16>>0]|0)==0?(w=l,(f[w>>2]|0)==(c|0)?(f[w+4>>2]|0)==(d|0):0):0)?(n=l+12|0,(f[n>>2]|0)!=0):0){do if((m|0)==(i|0)){k=Fd(m*48|0)|0;if(!k){i=7;break a}YA(k|0,j|0,m*24|0)|0;i=m<<1;if(!((j|0)==(z|0)|(j|0)==0))if(!(f[9328]|0)){ob[f[37360>>2]&127](j);j=k;break}else{w=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);j=k;break}else j=k}while(0);u=f[l+8>>2]|0;v=f[n>>2]|0;w=j+(m*24|0)+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;f[j+(m*24|0)>>2]=u;f[j+(m*24|0)+4>>2]=v;if(uv(u,v,w,j+(m*24|0)+16|0)|0)b[j+(m*24|0)+13>>0]=1;k=m+1|0}else k=m;a=f[a+12>>2]|0;if(!a)break;else m=k}if((k|0)==1){f[g>>2]=f[j>>2];f[h>>2]=f[j+4>>2];i=0}else{s=k;y=18}}else{j=z;s=0;y=18}while(0);if((y|0)==18){w=e+4|0;f[w>>2]=0;u=(s|0)>0;v=e+8|0;b:do if(u){i=0;a=0;r=0;p=-1;q=-1;while(1){o=0;n=2147483647;d=-1;do{l=j+(o*24|0)+13|0;do if(!(b[l>>0]|0)){m=j+(o*24|0)+16|0;c=m;k=f[c>>2]|0;c=f[c+4>>2]|0;if((k|0)==(p|0)&(c|0)==(q|0)){if(uv(f[j+(o*24|0)>>2]|0,f[j+(o*24|0)+4>>2]|0,j+(o*24|0)+8|0,m)|0){b[l>>0]=1;break}if(b[l>>0]|0)break;k=m;c=f[k+4>>2]|0;k=f[k>>2]|0}m=(c|0)<(n|0)|(c|0)==(n|0)&k>>>0>>0;d=m?k:d;n=m?c:n}while(0);o=o+1|0}while((o|0)!=(s|0));if((i|0)!=0|(d|0)==-1&(n|0)==2147483647)break b;l=(f[w>>2]|0)+15|0;i=f[v>>2]|0;if(l>>>0>i>>>0){k=(i|0)==0?64:i;while(1)if(k>>>0>>0)k=k<<1;else break;i=f[e>>2]|0;if((Mc()|0)==0?(x=Nc(i,(k|0)>0?k:0,0)|0,(x|0)!=0):0){f[v>>2]=k;f[e>>2]=x;y=36}else{i=7;k=r}}else y=36;if((y|0)==36){y=0;m=n&2147483647;if(0==0&(m|0)==(a&2147483647|0)){k=f[w>>2]|0;l=r;i=a}else{a=f[e>>2]|0;i=f[w>>2]|0;f[w>>2]=i+1;b[a+i>>0]=1;i=(f[e>>2]|0)+(f[w>>2]|0)|0;a=UA(d|0,n|0,32)|0;k=ba()|0;do if(!(k>>>0<0|(k|0)==0&a>>>0<128))if(k>>>0<0|(k|0)==0&a>>>0<16384){r=VA(a|0,k|0,7)|0;ba()|0;b[i>>0]=r&255|-128;b[i+1>>0]=a&127;i=2;break}else{i=Zv(i,a,k)|0;break}else{b[i>>0]=a&127;i=1}while(0);k=(f[w>>2]|0)+i|0;f[w>>2]=k;l=0;i=m}k=(f[e>>2]|0)+k|0;a=KA(d|0,n|0,2,0)|0;i=LA(a|0,ba()|0,l|0,i|0)|0;a=ba()|0;do if(!(a>>>0<0|(a|0)==0&i>>>0<128))if(a>>>0<0|(a|0)==0&i>>>0<16384){r=VA(i|0,a|0,7)|0;ba()|0;b[k>>0]=r&255|-128;b[k+1>>0]=i&127;i=2;break}else{i=Zv(k,i,a)|0;break}else{b[k>>0]=i&127;i=1}while(0);f[w>>2]=(f[w>>2]|0)+i;i=0;k=d;a=n}if(u){r=k;p=d;q=n}else break}}else i=0;while(0);if(!i){f[g>>2]=f[e>>2];f[h>>2]=f[w>>2];i=0}}if((j|0)==(z|0)){t=A;return i|0}if(!j){t=A;return i|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);t=A;return i|0}else{z=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);t=A;return i|0}return 0}function kx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=f[b+32>>2]|0;p=f[b+36>>2]|0;q=o+4|0;m=p+4|0;n=p+12|0;r=o+16|0;j=p+16|0;i=a+12|0;k=p+8|0;l=o+12|0;do{if(f[q>>2]|0){c=0;break}if(f[m>>2]|0){c=0;break}g=r;e=f[g>>2]|0;g=f[g+4>>2]|0;d=j;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!(f[i>>2]|0))if((g|0)<(d|0)|(g|0)==(d|0)&e>>>0>>0){c=0;break}else c=(g|0)>(d|0)|(g|0)==(d|0)&e>>>0>c>>>0;else if((g|0)>(d|0)|(g|0)==(d|0)&e>>>0>c>>>0){c=0;break}else c=(g|0)<(d|0)|(g|0)==(d|0)&e>>>0>>0;if(c){c=mb[f[n>>2]&127](a,p,1,e,g)|0;if(f[m>>2]|0)break;if(f[q>>2]|0)break;e=r;d=f[e>>2]|0;e=f[e+4>>2]|0;h=j;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!(f[i>>2]|0))if((e|0)<(h|0)|(e|0)==(h|0)&d>>>0>>0)break;else d=(e|0)>(h|0)|(e|0)==(h|0)&d>>>0>g>>>0;else if((e|0)>(h|0)|(e|0)==(h|0)&d>>>0>g>>>0)break;else d=(e|0)<(h|0)|(e|0)==(h|0)&d>>>0>>0;if(d)break}else c=0;if(f[k>>2]|0)break;c=mb[f[l>>2]&127](a,o,0,0,0)|0}while(!(c|0));f[b+4>>2]=f[q>>2];f[b+8>>2]=f[o+8>>2];n=r;o=f[n+4>>2]|0;r=b+16|0;f[r>>2]=f[n>>2];f[r+4>>2]=o;if(!(f[q>>2]|0))return c|0;lx(p);return c|0}function lx(a){a=a|0;var b=0,c=0;switch(f[a>>2]|0){case 4:case 9:{a=f[a+24>>2]|0;c=f[a+8>>2]|0;if((c|0)<=0)return;b=0;do{f[(f[a+12+(b<<2)>>2]|0)+8>>2]=0;b=b+1|0}while((b|0)<(c|0));return}default:{c=a+28|0;if((f[c>>2]|0)<=0)return;b=0;do{lx(f[a+32+(b<<2)>>2]|0);b=b+1|0}while((b|0)<(f[c>>2]|0));return}}}function mx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=b+16|0;c=q;p=b+8|0;n=b+28|0;l=a+12|0;e=f[n>>2]|0;d=f[c>>2]|0;c=f[c+4>>2]|0;a:while(1){f[p>>2]=0;if((e|0)<=0)break;j=0;k=1;while(1){i=f[b+32+(j<<2)>>2]|0;e=i+16|0;h=e;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!(f[l>>2]|0)){if(!((c|0)<(h|0)|(c|0)==(h|0)&d>>>0>>0)){m=(c|0)>(h|0)|(c|0)==(h|0)&d>>>0>g>>>0;r=7}}else if(!((c|0)>(h|0)|(c|0)==(h|0)&d>>>0>g>>>0)){m=(c|0)<(h|0)|(c|0)==(h|0)&d>>>0>>0;r=7}if(((r|0)==7?(r=0,m):0)?(o=mb[f[i+12>>2]&127](a,i,1,d,c)|0,o|0):0){r=9;break a}if(f[i+4>>2]|0){r=13;break a}h=e;g=f[h>>2]|0;h=f[h+4>>2]|0;k=(d|0)==(g|0)&(c|0)==(h|0)?k:0;if(f[i+8>>2]|0)f[p>>2]=1;j=j+1|0;e=f[n>>2]|0;if((j|0)>=(e|0))break;else{c=h;d=g}}if(!k){d=g;c=h}else{d=g;c=h;r=16;break}}if((r|0)==9){f[p>>2]=0;r=o;return r|0}else if((r|0)==13){nx(b);r=16}if((r|0)==16)if((f[p>>2]|0)!=0?(f[a+8>>2]|0)!=(b|0):0)lx(b);r=q;f[r>>2]=d;f[r+4>>2]=c;r=0;return r|0}function nx(a){a=a|0;var b=0,c=0;f[a+4>>2]=1;f[a+8>>2]=0;c=a+28|0;if((f[c>>2]|0)<=0)return;b=0;do{nx(f[a+32+(b<<2)>>2]|0);b=b+1|0}while((b|0)<(f[c>>2]|0));return}function ox(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=(wz(c)|0)+1|0;h=Fd(g)|0;f[e>>2]=0;f[d>>2]=0;a:do if(!h)f[a>>2]=7;else{YA(h|0,c|0,g|0)|0;switch(b[h>>0]|0){case 96:case 91:case 39:case 34:{a=c+(qx(h)|0)|0;f[e>>2]=1;if(!a)break a;break}default:{a=c;while(1){e=b[a>>0]|0;if((e&128|0)==0?(b[26896+e>>0]|0)==0:0)break;a=a+1|0}a=(a|0)==(c|0)?0:a;if(!a)break a;b[h+(a-c)>>0]=0}}f[d>>2]=h;h=a;return h|0}while(0);he(h);h=0;return h|0}function px(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+112|0;m=n+88|0;l=n;if(f[a>>2]|0){t=n;return}f[l>>2]=e;do if(!(Mc()|0)){h=m+4|0;f[h>>2]=n+16;f[m>>2]=0;f[m+8>>2]=70;i=m+12|0;f[i>>2]=1e9;j=m+16|0;f[j>>2]=0;b[m+20>>0]=0;k=m+21|0;b[k>>0]=0;Bc(m,d,l);e=f[h>>2]|0;if((e|0?(b[e+(f[j>>2]|0)>>0]=0,f[i>>2]|0):0)?(b[k>>0]&4)==0:0){k=Cc(m)|0;break}k=f[h>>2]|0}else k=0;while(0);do if(k){l=(wz(k)|0)+1|0;d=c+4|0;a:do if(l|0){e=f[d>>2]|0;i=e+l|0;j=c+8|0;h=f[j>>2]|0;do if(i>>>0>h>>>0){h=(h|0)==0?64:h;while(1)if(h>>>0>>0)h=h<<1;else break;e=f[c>>2]|0;if((Mc()|0)==0?(g=Nc(e,(h|0)>0?h:0,0)|0,g|0):0){f[j>>2]=h;f[c>>2]=g;e=f[d>>2]|0;break}f[a>>2]=7;break a}else g=f[c>>2]|0;while(0);YA(g+e|0,k|0,l|0)|0;f[d>>2]=(f[d>>2]|0)+l}while(0);f[d>>2]=(f[d>>2]|0)+-1;if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{c=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}else f[a>>2]=7;while(0);t=n;return}function qx(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;g=b[a>>0]|0;g=g<<24>>24==91?93:g;e=b[a+1>>0]|0;a:do if(!(e<<24>>24)){d=0;c=1}else{c=1;d=0;do{f=c+1|0;if(e<<24>>24==g<<24>>24){if((b[a+f>>0]|0)!=g<<24>>24){c=f;break a}c=c+2|0;e=g}else c=f;b[a+d>>0]=e;d=d+1|0;e=b[a+c>>0]|0}while(e<<24>>24!=0)}while(0);b[a+d>>0]=0;return c|0}function rx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;w=t;t=t+48|0;v=w+40|0;u=w+32|0;s=w+24|0;e=w+16|0;q=w+8|0;r=w;p=r;f[p>>2]=0;f[p+4>>2]=0;if((d|0)>0){p=(yv(c,r)|0)&255;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;o=e;f[o>>2]=g;f[o+4>>2]=i;px(a,b,70015,e);e=p}else{e=0;g=0;i=0}if((e|0)>=(d|0)){t=w;return}do{k=c+e|0;j=h[k>>0]|0;do if(j&128){l=h[k+1>>0]|0;if(!(l&128)){k=2;j=j<<7&16256|l;break}m=h[k+2>>0]|0;if(!(m&128)){k=3;j=(j<<14|m)&2080895|l<<7&16256;break}else{k=yv(k,q)|0;k=k&255;j=f[q>>2]|0;break}}else k=1;while(0);n=(j|0)/2|0;p=k+e|0;f[s>>2]=n;f[s+4>>2]=(j&1|0)==0?72788:50775;px(a,b,70024,s);o=c+p|0;m=d-p|0;n=(m|0)<(n|0)?m:n;if((n|0)>0){e=0;do{k=o+e|0;j=h[k>>0]|0;do if(j&128){l=h[k+1>>0]|0;if(!(l&128)){k=2;j=j<<7&16256|l;break}m=h[k+2>>0]|0;if(!(m&128)){k=3;j=(j<<14|m)&2080895|l<<7&16256;break}else{k=yv(k,q)|0;k=k&255;j=f[q>>2]|0;break}}else k=1;while(0);e=k+e|0;f[u>>2]=j;px(a,b,68873,u)}while((e|0)<(n|0))}else e=0;e=e+p|0;if((e|0)<(d|0)){e=e+((yv(c+e|0,q)|0)&255)|0;p=q;g=KA(g|0,i|0,f[p>>2]|0,f[p+4>>2]|0)|0;i=ba()|0;p=v;f[p>>2]=g;f[p+4>>2]=i;px(a,b,70015,v)}}while((e|0)<(d|0));v=r;f[v>>2]=g;f[v+4>>2]=i;t=w;return}function sx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return cz(1,a,b,c,d,e,f)|0}function tx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return cz(0,a,b,c,d,e,f)|0}function ux(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;q=f[(f[a+12>>2]|0)+12>>2]|0;s=q+1|0;r=f[c>>2]|0;a:do if((r|0)>0){o=f[c+4>>2]|0;e=0;n=0;i=-1;l=-1;g=-1;m=-1;h=-1;while(1){d=f[o+(n*12|0)>>2]|0;a=b[o+(n*12|0)+4>>0]|0;if((d|0)>(q|0)|((d|0)<0|a<<24>>24!=64)?!((d|0)==(q|0)&a<<24>>24==2):0)if((a&255)<65){j=a&255;k=o+(n*12|0)+5|0;if(!((d|0)!=(s|0)|(j&66|0)==0)){a=(b[k>>0]|0)==0;e=a?e:e|2;h=a?h:n}if((d|0)==-1){if(j&2){d=(b[k>>0]|0)==0;e=d?e:e|4;i=d?i:n}if(!(j&24))a=l;else{a=(b[k>>0]|0)==0;e=a?e:e|8;a=a?l:n}if(!(j&36))d=m;else{d=(b[k>>0]|0)==0;e=d?e:e|16;g=d?g:n;d=m}}else{a=l;d=m}}else{a=l;d=m}else{if(!(b[o+(n*12|0)+5>>0]|0))break;e=e&65534|d<<16|1;a=l;d=n}n=n+1|0;if((n|0)>=(r|0)){k=g;g=d;j=a;break a}else{l=a;m=d}}p[c+40>>3]=1.e+50;return 0}else{e=0;k=-1;g=-1;h=-1;i=-1;j=-1}while(0);if((f[c+8>>2]|0)==1){d=f[c+12>>2]|0;a=f[d>>2]|0;if((e&1|0)==0|(a|0)!=(s|0))a=(a|0)==-1?e|64:e;else a=e|32;if(!(a&96))e=a;else{f[c+32>>2]=1;e=(b[d+4>>0]|0)==0?a:a|128}}a=e&1;d=(a|0)!=0;b:do if(e&4){p[c+40>>3]=d?100.0:10.0;if(!a){s=c+56|0;f[s>>2]=f[s>>2]|1}}else switch(e&24){case 24:{p[c+40>>3]=d?500.0:25.0e4;break b}case 0:{p[c+40>>3]=d?1.0e3:1.0e6;break b}default:{p[c+40>>3]=d?750.0:75.0e4;break b}}while(0);d=c+16|0;if((g|0)>-1){a=f[d>>2]|0;f[a+(g<<3)>>2]=1;b[a+(g<<3)+4>>0]=1;a=2}else a=1;if((h|0)>-1){s=f[d>>2]|0;f[s+(h<<3)>>2]=a;b[s+(h<<3)+4>>0]=1;a=a+1|0}if((i|0)>-1){s=f[d>>2]|0;f[s+(i<<3)>>2]=a;b[s+(i<<3)+4>>0]=0;a=a+1|0}if((j|0)>-1){s=f[d>>2]|0;f[s+(j<<3)>>2]=a;b[s+(j<<3)+4>>0]=0;a=a+1|0}if((k|0)>-1){s=f[d>>2]|0;f[s+(k<<3)>>2]=a;b[s+(k<<3)+4>>0]=0}f[c+20>>2]=e;return 0}function vx(a){a=a|0;var b=0;if(!a)return 0;az(f[a+16>>2]|0);bz(f[a+20>>2]|0);Rw(f[a+12>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function wx(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=t;t=t+48|0;j=l+32|0;k=l+24|0;i=l;b=a+12|0;d=f[b>>2]|0;m=f[d>>2]|0;g=d+4|0;o=f[g>>2]|0;h=d+8|0;n=f[h>>2]|0;f[i>>2]=o;f[i+4>>2]=n;f[i+8>>2]=o;f[i+12>>2]=n;f[i+16>>2]=o;f[i+20>>2]=n;i=dy(m,0,71264,i)|0;if(i|0){o=i;t=l;return o|0}if(f[d+44>>2]|0?(c=f[d>>2]|0,o=f[h>>2]|0,f[k>>2]=f[g>>2],f[k+4>>2]=o,c=dy(c,0,71368,k)|0,c|0):0){o=c;t=l;return o|0}if((f[d+32>>2]|0)==0?(e=f[d>>2]|0,o=f[h>>2]|0,f[j>>2]=f[g>>2],f[j+4>>2]=o,e=dy(e,0,71406,j)|0,e|0):0){o=e;t=l;return o|0}az(f[a+16>>2]|0);bz(f[a+20>>2]|0);Rw(f[b>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);o=0;t=l;return o|0}else{o=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);o=0;t=l;return o|0}return 0}function xx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+12>>2]|0;d=Cy(a)|0;if(d|0){c=0;a=d;f[b>>2]=c;return a|0}d=(f[c+12>>2]<<2)+120|0;c=Fd(d)|0;if(!c){d=c;a=7;f[b>>2]=d;return a|0}e=f[a+24>>2]|0;_A(c|0,0,d|0)|0;f[c+8>>2]=c+120;d=e+44|0;f[c+4>>2]=f[d>>2];f[d>>2]=c;d=e+24|0;e=d;e=KA(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;a=ba()|0;f[d>>2]=e;f[d+4>>2]=a;d=c+16|0;f[d>>2]=e;f[d+4>>2]=a;d=c;a=0;f[b>>2]=d;return a|0}function yx(a){a=a|0;var b=0,c=0;if(!a)return 0;b=f[a>>2]|0;Ey(a);b=(f[b+24>>2]|0)+44|0;while(1){c=f[b>>2]|0;if((c|0)==(a|0))break;else b=c+4|0}f[b>>2]=f[a+4>>2];if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function zx(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=t;t=t+80|0;r=M+64|0;D=M+32|0;F=M+24|0;y=M+16|0;w=M+8|0;x=M;J=f[a>>2]|0;B=J+12|0;z=f[B>>2]|0;K=z+96|0;L=f[K>>2]|0;E=a+24|0;if(f[E>>2]|0){Ey(a);e=E;g=e+96|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0))}H=J+8|0;f[K>>2]=H;if(!(c&1)){e=0;q=0}else{e=1;q=f[i>>2]|0}if(!(c&2))s=0;else{s=f[i+(e<<2)>>2]|0;e=e+1|0}if(!(c&4))j=0;else{j=f[i+(e<<2)>>2]|0;e=e+1|0}if(!(c&8))g=0;else{g=f[i+(e<<2)>>2]|0;e=e+1|0}if(!(c&16))e=0;else e=f[i+(e<<2)>>2]|0;u=c>>16;v=(c&32|0)==0;C=c&128;A=(C|0)==0;C=C>>>7;n=a+28|0;f[n>>2]=C;o=(j|0)!=0;k=o?j:g;l=o?j:e;do if(k){c=k+8|0;e=d[c>>1]|0;m=e&31;g=h[5792+m>>0]|0;if((m|16|0)==18){e=b[k+10>>0]|0;g=k+16|0;j=k+12|0;if(!(jf(f[g>>2]|0,w,f[j>>2]|0,e)|0))e=d[c>>1]|0;else{if(!(kf(f[g>>2]|0,x,f[j>>2]|0,e)|0)){j=x;m=f[j+4>>2]|0;e=k;f[e>>2]=f[j>>2];f[e+4>>2]=m;e=4}else{p[k>>3]=+p[w>>3];e=8}e=d[c>>1]&-3|e;d[c>>1]=e}g=h[5792+(e&31)>>0]|0}if((g|0)==1){e=e&65535;if(e&4|0){g=k;e=f[g>>2]|0;g=f[g+4>>2]|0;break}if(e&8|0){e=Fc(+p[k>>3])|0;g=ba()|0;break}if(!(e&18)){e=0;g=0}else{e=Gc(b[k+10>>0]|0,f[k+12>>2]|0,f[k+16>>2]|0)|0;g=ba()|0}}else{e=-1;g=2147483647}}else{e=-1;g=2147483647}while(0);do if(A){m=a+40|0;f[m>>2]=e;f[m+4>>2]=g;if(l){c=l+8|0;e=d[c>>1]|0;m=e&31;g=h[5792+m>>0]|0;if((m|16|0)==18){e=b[l+10>>0]|0;g=l+16|0;j=l+12|0;if(!(jf(f[g>>2]|0,w,f[j>>2]|0,e)|0))e=d[c>>1]|0;else{if(!(kf(f[g>>2]|0,x,f[j>>2]|0,e)|0)){k=x;m=f[k+4>>2]|0;e=l;f[e>>2]=f[k>>2];f[e+4>>2]=m;e=4}else{p[l>>3]=+p[w>>3];e=8}e=d[c>>1]&-3|e;d[c>>1]=e}g=h[5792+(e&31)>>0]|0}if((g|0)==1){e=e&65535;if(e&4|0){j=l;e=8;g=f[j>>2]|0;j=f[j+4>>2]|0;break}if(e&8|0){g=Fc(+p[l>>3])|0;e=8;j=ba()|0;break}if(!(e&18)){e=8;g=0;j=0}else{g=Gc(b[l+10>>0]|0,f[l+12>>2]|0,f[l+16>>2]|0)|0;e=8;j=ba()|0}}else{e=8;g=0;j=-2147483648}}else{e=8;g=0;j=-2147483648}}else{m=a+32|0;f[m>>2]=e;f[m+4>>2]=g;if(l){c=l+8|0;e=d[c>>1]|0;m=e&31;g=h[5792+m>>0]|0;if((m|16|0)==18){e=b[l+10>>0]|0;g=l+16|0;j=l+12|0;if(!(jf(f[g>>2]|0,w,f[j>>2]|0,e)|0))e=d[c>>1]|0;else{if(!(kf(f[g>>2]|0,x,f[j>>2]|0,e)|0)){k=x;m=f[k+4>>2]|0;e=l;f[e>>2]=f[k>>2];f[e+4>>2]=m;e=4}else{p[l>>3]=+p[w>>3];e=8}e=d[c>>1]&-3|e;d[c>>1]=e}g=h[5792+(e&31)>>0]|0}if((g|0)==1){e=e&65535;if(e&4|0){j=l;e=10;g=f[j>>2]|0;j=f[j+4>>2]|0;break}if(e&8|0){g=Fc(+p[l>>3])|0;e=10;j=ba()|0;break}if(!(e&18)){e=10;g=0;j=0}else{g=Gc(b[l+10>>0]|0,f[l+12>>2]|0,f[l+16>>2]|0)|0;e=10;j=ba()|0}}else{e=10;g=0;j=-2147483648}}else{e=10;g=0;j=-2147483648}}while(0);m=a+(e<<2)|0;f[m>>2]=g;f[m+4>>2]=j;m=J+28|0;g=f[m>>2]|0;if(g|0){if(!(f[g+28>>2]|0)){H=g+40|0;I=f[H+4>>2]|0;e=a+40|0;f[e>>2]=f[H>>2];f[e+4>>2]=I;e=g+32|0}else{H=g+32|0;I=f[H+4>>2]|0;e=a+40|0;f[e>>2]=f[H>>2];f[e+4>>2]=I;e=g+40|0}k=e;c=f[k>>2]|0;k=f[k+4>>2]|0;j=a+32|0;f[j>>2]=c;f[j+4>>2]=k;f[E>>2]=2;j=f[g+52>>2]|0;f[a+52>>2]=j;l=j;n=l+8|0;m=f[n>>2]|0;f[j>>2]=f[J+16>>2];j=l+12|0;f[j>>2]=C;e=Dy(l,m)|0;do if(!e)if(!(f[m+4>>2]|0)){g=m+16|0;e=f[g>>2]|0;g=f[g+4>>2]|0;if(!(f[j>>2]|0)){if(!((g|0)<(k|0)|(g|0)==(k|0)&e>>>0>>0)){e=0;break}}else if(!((g|0)>(k|0)|(g|0)==(k|0)&e>>>0>c>>>0)){e=0;break}e=mb[f[m+12>>2]&127](l,m,1,c,k)|0}else e=0;while(0);g=m+8|0;if(!(f[g>>2]|0))c=e;else{e=m+12|0;do c=mb[f[e>>2]&127](l,m,0,0,0)|0;while((f[g>>2]|0)!=0)}j=a+60|0;e=f[j>>2]|0;g=e|1;if(f[(f[n>>2]|0)+4>>2]|0){f[j>>2]=g;e=g}f[j>>2]=e|78;a=c;f[K>>2]=L;t=M;return a|0}if(!q){if(!(f[z+36>>2]|0)){f[r>>2]=f[z+8>>2];a=wd(71175,r)|0;f[f[K>>2]>>2]=a;a=1;f[K>>2]=L;t=M;return a|0}f[E>>2]=o?6:5;j=f[J+20>>2]|0;if(o)g=2;else g=(f[n>>2]|0)!=0&1;k=a+48|0;e=Hy(j,g,k,H)|0;if(e|0){a=e;f[K>>2]=L;t=M;return a|0}f[j+28+(g<<2)>>2]=0;e=f[k>>2]|0;do if((f[E>>2]|0)!=6){c=a+32|0;j=f[c>>2]|0;c=f[c+4>>2]|0;do if(!(Op(e,1)|0)){e=f[e+116>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){J=e;f[J>>2]=j;f[J+4>>2]=c;d[g>>1]=4;break}else{bf(e,j,c);break}}while(0);e=f[k>>2]|0;c=a+40|0;j=f[c>>2]|0;c=f[c+4>>2]|0;if(!(Op(e,2)|0)){g=f[e+116>>2]|0;e=g+40|0;g=g+48|0;if(!(d[g>>1]&9216)){J=e;f[J>>2]=j;f[J+4>>2]=c;d[g>>1]=4;break}else{bf(e,j,c);break}}}else Tp(e,1,f[i>>2]|0)|0;while(0);a=Ax(a)|0;f[K>>2]=L;t=M;return a|0}e=f[i>>2]|0;do if(e){g=d[e+8>>1]|0;if((g&514)==514?(b[e+10>>0]|0)==1:0){e=f[e+16>>2]|0;break}if(!(g&1))e=Ic(e,1)|0;else e=0}else e=0;while(0);n=(e|0)==0?72788:e;a:do if(!s){e=f[z+88>>2]|0;g=a+72|0;if(!e){f[g>>2]=68540;f[a+76>>2]=0;break}else{f[g>>2]=e;f[a+76>>2]=f[z+92>>2];break}}else{j=s+8|0;e=d[j>>1]|0;if((e&514)==514?(b[s+10>>0]|0)==1:0)g=f[s+16>>2]|0;else if(!(e&1))g=Ic(s,1)|0;else g=0;f[w>>2]=0;f[x>>2]=0;if(!g)e=-1431655766>>>(d[j>>1]&31)&1;else e=kw(g,w,x)|0;switch(e|0){case 0:{f[a+72>>2]=f[w>>2];f[a+76>>2]=f[x>>2];y=a+60|0;f[y>>2]=f[y>>2]|16;break a}case 1:{f[y>>2]=g;J=wd(71108,y)|0;f[(f[a>>2]|0)+8>>2]=J;break}default:{}}a=e;f[K>>2]=L;t=M;return a|0}while(0);if((b[n>>0]|0)==42){do{n=n+1|0;e=b[n>>0]|0}while(e<<24>>24==32);m=0;b:while(1){switch(e<<24>>24){case 32:case 0:break b;default:{}}e=m+1|0;m=e;e=b[n+e>>0]|0}f[E>>2]=3;c:do if(m|0){g=71141;k=n;j=m;while(1){e=b[g>>0]|0;if(!(e<<24>>24)){l=110;break}c=b[1232+(e&255)>>0]|0;e=b[1232+(h[k>>0]|0)>>0]|0;if(c<<24>>24!=e<<24>>24){l=112;break}if((j|0)>1){g=g+1|0;k=k+1|0;j=j+-1|0}else break c}if((l|0)==110){g=0;e=b[1232+(h[k>>0]|0)>>0]|0}else if((l|0)==112)g=c&255;if((g|0)!=(e&255|0)){j=43247;c=n;k=m;while(1){e=b[j>>0]|0;if(!(e<<24>>24)){l=118;break}e=b[1232+(e&255)>>0]|0;g=b[1232+(h[c>>0]|0)>>0]|0;if(e<<24>>24!=g<<24>>24){l=120;break}if((k|0)>1){j=j+1|0;c=c+1|0;k=k+-1|0}else break}if((l|0)==118){G=0;I=b[1232+(h[c>>0]|0)>>0]|0;l=122}else if((l|0)==120){G=e&255;I=g;l=122}if((l|0)==122?(G|0)!=(I&255|0):0){f[F>>2]=m;f[F+4>>2]=n;a=wd(71147,F)|0;f[H>>2]=a;a=1;f[K>>2]=L;t=M;return a|0}I=a+16|0;J=f[I+4>>2]|0;a=a+64|0;f[a>>2]=f[I>>2];f[a+4>>2]=J;a=0;f[K>>2]=L;t=M;return a|0}}while(0);J=f[(f[J+16>>2]|0)+64>>2]|0;a=a+64|0;f[a>>2]=J;f[a+4>>2]=((J|0)<0)<<31>>31;a=0;f[K>>2]=L;t=M;return a|0}g=a+52|0;e=Ow(z,u,n,g,H)|0;if(e|0){a=e;f[K>>2]=L;t=M;return a|0}if(!v){f[E>>2]=4;j=f[B>>2]|0;c=f[a+72>>2]|0;k=f[a+76>>2]|0;e=f[g>>2]|0;if(!e)e=0;else e=f[e+16>>2]|0;g=(e<<2)+28|0;l=Fd(g)|0;if(!l){a=7;f[K>>2]=L;t=M;return a|0}_A(l|0,0,g|0)|0;f[l+20>>2]=e;g=f[j+8>>2]|0;e=(k|0)!=0;f[D>>2]=f[j+4>>2];f[D+4>>2]=g;f[D+8>>2]=c;f[D+12>>2]=g;f[D+16>>2]=e?54720:72788;f[D+20>>2]=e?k:72788;f[D+24>>2]=A?66262:66266;e=$y(l,j,0,D)|0;g=a+56|0;f[g>>2]=l;do if(!e){f[m>>2]=a;e=_y(a)|0;f[m>>2]=0;if(!e)e=0;else break;f[K>>2]=L;t=M;return e|0}while(0);Fi(f[l>>2]|0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{a=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}f[g>>2]=0;a=e;f[K>>2]=L;t=M;return a|0}f[E>>2]=1;l=f[g>>2]|0;k=a+32|0;c=f[k>>2]|0;k=f[k+4>>2]|0;n=l+8|0;m=f[n>>2]|0;f[l>>2]=f[J+16>>2];j=l+12|0;f[j>>2]=C;e=Dy(l,m)|0;do if(!e)if(!(f[m+4>>2]|0)){g=m+16|0;e=f[g>>2]|0;g=f[g+4>>2]|0;if(!(f[j>>2]|0)){if(!((g|0)<(k|0)|(g|0)==(k|0)&e>>>0>>0)){e=0;break}}else if(!((g|0)>(k|0)|(g|0)==(k|0)&e>>>0>c>>>0)){e=0;break}e=mb[f[m+12>>2]&127](l,m,1,c,k)|0}else e=0;while(0);g=m+8|0;if(!(f[g>>2]|0))c=e;else{e=m+12|0;do c=mb[f[e>>2]&127](l,m,0,0,0)|0;while((f[g>>2]|0)!=0)}j=a+60|0;e=f[j>>2]|0;g=e|1;if(f[(f[n>>2]|0)+4>>2]|0){f[j>>2]=g;e=g}f[j>>2]=e|78;a=c;f[K>>2]=L;t=M;return a|0}function Ax(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=f[a+24>>2]|0;if((c|0)>=3)switch(c|0){case 3:{n=a+60|0;f[n>>2]=f[n>>2]|1;n=0;return n|0}case 4:{n=_y(a)|0;return n|0}default:{c=a+48|0;if((Ei(f[c>>2]|0)|0)==100){n=0;return n|0}n=a+60|0;f[n>>2]=f[n>>2]|1;c=f[c>>2]|0;if(!c){n=0;return n|0}d=f[c>>2]|0;n=c+128|0;m=f[n+4>>2]|0;if((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)Hi(d,c);e=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;n=c+64|0;f[n>>2]=0;f[n+4>>2]=0;if((e|0)==3082|(b[d+81>>0]|0)!=0){Di(d);n=7;return n|0}else{n=f[d+68>>2]&e;return n|0}}}l=a+60|0;if(f[l>>2]&32){d=f[a+28>>2]|0;i=a+52|0;h=f[i>>2]|0;g=f[h+8>>2]|0;c=g+16|0;k=c;j=f[k>>2]|0;k=f[k+4>>2]|0;f[h>>2]=f[(f[a>>2]|0)+16>>2];e=h+12|0;f[e>>2]=d;d=Dy(h,g)|0;do if(!d)if(!(f[g+4>>2]|0)){d=c;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!(f[e>>2]|0)){if(!((d|0)<(k|0)|(d|0)==(k|0)&c>>>0>>0)){d=0;break}}else if(!((d|0)>(k|0)|(d|0)==(k|0)&c>>>0>j>>>0)){d=0;break}d=mb[f[g+12>>2]&127](h,g,1,j,k)|0}else d=0;while(0);e=g+8|0;if(f[e>>2]|0){c=g+12|0;do d=mb[f[c>>2]&127](h,g,0,0,0)|0;while((f[e>>2]|0)!=0)}g=f[(f[i>>2]|0)+8>>2]|0;if(!d){c=g+16|0;c=((j|0)!=(f[c>>2]|0)?1:(k|0)!=(f[c+4>>2]|0))&1}else c=0;e=f[l>>2]&-111;f[l>>2]=e|78;if(f[g+4>>2]|0){f[l>>2]=e|79;c=1}}else{d=0;c=0}if(d|c|0){n=d;return n|0}j=a+52|0;k=f[j>>2]|0;g=a+40|0;e=f[g>>2]|0;g=f[g+4>>2]|0;h=f[k+8>>2]|0;c=h+12|0;d=h+8|0;do i=mb[f[c>>2]&127](k,h,0,0,0)|0;while((f[d>>2]|0)!=0);d=h+16|0;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!(f[k+12>>2]|0)){if(!((d|0)<(g|0)|(d|0)==(g|0)&c>>>0>>0)){m=(d|0)>(g|0)|(d|0)==(g|0)&c>>>0>e>>>0;n=22}}else if(!((d|0)>(g|0)|(d|0)==(g|0)&c>>>0>e>>>0)){m=(d|0)<(g|0)|(d|0)==(g|0)&c>>>0>>0;n=22}if((n|0)==22?m:0)f[h+4>>2]=1;f[l>>2]=f[l>>2]|f[(f[(f[j>>2]|0)+8>>2]|0)+4>>2]|78;n=i;return n|0}function Bx(a){a=a|0;return f[a+60>>2]&1|0}function Cx(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=t;t=t+32|0;y=E+8|0;l=E;C=E+16|0;B=E+12|0;x=f[a>>2]|0;m=f[x+12>>2]|0;k=f[a+24>>2]|0;g=f[m+12>>2]|0;i=(g|0)==(e|0);if((k|0)==3){if(!i){c=0;t=E;return c|0}e=a+64|0;k=f[e>>2]|0;e=f[e+4>>2]|0;g=f[c>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){c=g;f[c>>2]=k;f[c+4>>2]=e;d[i>>1]=4;c=0;t=E;return c|0}else{bf(g,k,e);c=0;t=E;return c|0}}if(i){e=a+16|0;k=f[e>>2]|0;e=f[e+4>>2]|0;g=f[c>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){c=g;f[c>>2]=k;f[c+4>>2]=e;d[i>>1]=4;c=0;t=E;return c|0}else{bf(g,k,e);c=0;t=E;return c|0}}if((g+1|0)!=(e|0)){if((f[m+32>>2]|0)==1){c=0;t=E;return c|0}g=Iy(a,1)|0;if(g|0){c=g;t=E;return c|0}l=f[a+48>>2]|0;g=e+1|0;k=(l|0)==0;do if(k)e=37592;else{i=f[l+104>>2]|0;if(i|0?g>>>0<(j[l+140>>1]|0)>>>0:0){e=i+(g*40|0)|0;break}e=f[l>>2]|0;f[e+64>>2]=25;Bg(e,25);e=37592}while(0);g=e+8|0;i=j[g>>1]|0;if(i&2048|0)d[g>>1]=i&59391|4096;if(!k){i=f[l>>2]|0;k=l+40|0;g=f[k>>2]|0;if((g|0)==3082|(b[i+81>>0]|0)!=0){Di(i);g=7}else g=f[i+68>>2]&g;f[k>>2]=g}mf(c,e);c=0;t=E;return c|0}switch(k|0){case 2:{x=a+52|0;l=f[x>>2]|0;if(!l)y=0;else y=f[l+16>>2]|0;switch(f[m+48>>2]|0){case 0:{p=y+-1|0;a:do if((y|0)>1){e=0;i=0;g=0;k=0;while(1){m=f[(f[l+20>>2]|0)+(e<<2)>>2]|0;n=f[m>>2]|0;if((f[n+4>>2]|0)==0?(B=n+16|0,C=(f[l+8>>2]|0)+16|0,(f[B>>2]|0)==(f[C>>2]|0)?(f[B+4>>2]|0)==(f[C+4>>2]|0):0):0)n=f[m+8>>2]|0;else n=0;o=((n|0)<0)<<31>>31;l=g+9|0;if(l>>>0>k>>>0){m=(k|0)==0?64:k;while(1)if(m>>>0>>0)m=m<<1;else break;if((Mc()|0)==0?(q=Nc(i,(m|0)>0?m:0,0)|0,(q|0)!=0):0){i=q;k=m;D=25}}else D=25;if((D|0)==25){D=0;l=i+g|0;do if(n>>>0>=128)if(n>>>0<16384){C=VA(n|0,o|0,7)|0;ba()|0;b[l>>0]=C&255|-128;b[l+1>>0]=n&127;l=2;break}else{l=Zv(l,n,o)|0;break}else{b[l>>0]=n&127;l=1}while(0);g=l+g|0}e=e+1|0;if((e|0)==(p|0))break a;l=f[x>>2]|0}}else{i=0;g=0;k=0}while(0);if((y|0)>0){n=0;do{e=f[x>>2]|0;l=f[(f[e+20>>2]|0)+(n<<2)>>2]|0;m=f[l>>2]|0;do if(((f[m+4>>2]|0)==0?(C=m+16|0,D=(f[e+8>>2]|0)+16|0,(f[C>>2]|0)==(f[D>>2]|0)?(f[C+4>>2]|0)==(f[D+4>>2]|0):0):0)?(v=f[l+4>>2]|0,w=f[l+8>>2]|0,(w|0)!=0):0){m=w+g|0;if(m>>>0>k>>>0){l=(k|0)==0?64:k;while(1)if(l>>>0>>0)l=l<<1;else break;if(Mc()|0)break;e=Nc(i,(l|0)>0?l:0,0)|0;if(!e)break;else{i=e;k=l}}YA(i+g|0,v|0,w|0)|0;g=m}while(0);n=n+1|0}while((n|0)!=(y|0))}break}case 2:{q=y+-1|0;b:do if((y|0)>1){p=0;i=0;g=0;e=0;while(1){m=f[(f[l+20>>2]|0)+(p<<2)>>2]|0;k=f[m>>2]|0;do if(((f[k+4>>2]|0)==0?(s=k+16|0,r=f[s>>2]|0,s=f[s+4>>2]|0,a=(f[l+8>>2]|0)+16|0,(r|0)==(f[a>>2]|0)?(s|0)==(f[a+4>>2]|0):0):0)?(f[m+8>>2]|0)>0:0){k=f[m+32>>2]|0;if(!k){n=f[m+28>>2]|0;f[C>>2]=f[n+8>>2];n=f[n+12>>2]|0;f[B>>2]=n;k=0;break}else{k=jx(m+20|0,r,s,k+16|0,C,B)|0;n=f[B>>2]|0;break}}else D=53;while(0);if((D|0)==53){D=0;f[C>>2]=0;f[B>>2]=0;k=0;n=0}o=((n|0)<0)<<31>>31;l=g+9|0;if(l>>>0>e>>>0){m=(e|0)==0?64:e;while(1)if(m>>>0>>0)m=m<<1;else break;if((Mc()|0)==0?(u=Nc(i,(m|0)>0?m:0,0)|0,(u|0)!=0):0){i=u;e=m;D=59}else k=7}else D=59;if((D|0)==59){D=0;l=i+g|0;do if(n>>>0>=128)if(n>>>0<16384){a=VA(n|0,o|0,7)|0;ba()|0;b[l>>0]=a&255|-128;b[l+1>>0]=n&127;l=2;break}else{l=Zv(l,n,o)|0;break}else{b[l>>0]=n&127;l=1}while(0);g=l+g|0}l=p+1|0;if(!((l|0)<(q|0)&(k|0)==0))break b;p=l;l=f[x>>2]|0}}else{k=0;i=0;g=0;e=0}while(0);if((y|0)>0&(k|0)==0){q=0;while(1){k=f[x>>2]|0;m=f[(f[k+20>>2]|0)+(q<<2)>>2]|0;l=f[m>>2]|0;do if(((f[l+4>>2]|0)==0?(A=l+16|0,z=f[A>>2]|0,A=f[A+4>>2]|0,a=(f[k+8>>2]|0)+16|0,(z|0)==(f[a>>2]|0)?(A|0)==(f[a+4>>2]|0):0):0)?(f[m+8>>2]|0)>0:0){k=f[m+32>>2]|0;if(!k){n=f[m+28>>2]|0;o=f[n+8>>2]|0;f[C>>2]=o;n=f[n+12>>2]|0;f[B>>2]=n;m=0}else{m=jx(m+20|0,z,A,k+16|0,C,B)|0;n=f[B>>2]|0;o=f[C>>2]|0}if(!n){l=m;k=e}else{p=n+g|0;if(p>>>0>e>>>0){k=(e|0)==0?64:e;while(1)if(k>>>0

>>0)k=k<<1;else break;if(Mc()|0){l=7;k=e;break}l=Nc(i,(k|0)>0?k:0,0)|0;if(!l){l=7;k=e;break}else i=l}else k=e;YA(i+g|0,o|0,n|0)|0;l=m;g=p}}else D=75;while(0);if((D|0)==75){D=0;f[C>>2]=0;f[B>>2]=0;l=0;k=e}q=q+1|0;if(!((q|0)<(y|0)&(l|0)==0))break;else e=k}}break}default:{i=0;g=0}}if(($e(f[c>>2]|0,i,g,0,101)|0)!=18){c=0;t=E;return c|0}f[c+20>>2]=18;$e(f[c>>2]|0,41612,-1,1,0)|0;c=0;t=E;return c|0}case 4:case 1:{u=a+80|0;g=f[u>>2]|0;c:do if(!g){f[C>>2]=0;s=f[a+72>>2]|0;g=f[a+76>>2]|0;if(g){f[l>>2]=g;i=iw(C,65607,l)|0;if(!i)g=f[C>>2]|0;else{f[l>>2]=0;g=Ki(f[m>>2]|0,i,-1,129,0,l,0)|0;f[C>>2]=g;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{B=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}do if(!g){p=f[l>>2]|0;r=p;if((Ei(p)|0)!=100){g=Fi(p)|0;f[C>>2]=g;break}e=(p|0)==0;if(e)g=0;else g=j[p+140>>1]|0;q=a+84|0;f[q>>2]=g;i=g<<2;k=Fd(i)|0;if(!k)if(!g){k=0;D=101}else{f[C>>2]=7;f[a+88>>2]=0;g=7}else{_A(k|0,0,i|0)|0;D=101}d:do if((D|0)==101){o=a+88|0;f[o>>2]=k;i=f[q>>2]|0;if((i|0)>0){l=p+104|0;m=p+140|0;n=p+40|0;if(e){f[k>>2]=37592;if((i|0)==1){g=0;break}g=1;while(1){f[(f[o>>2]|0)+(g<<2)>>2]=37592;g=g+1|0;if((g|0)==(i|0)){g=0;break d}}}e=0;do{g=f[l>>2]|0;do if(!g)D=110;else{if(e>>>0>=(j[m>>1]|0)>>>0){D=110;break}k=g+(e*40|0)|0}while(0);if((D|0)==110){D=0;k=f[p>>2]|0;f[k+64>>2]=25;Bg(k,25);k=37592}g=k+8|0;i=j[g>>1]|0;if(i&2048|0)d[g>>1]=i&59391|4096;g=f[p>>2]|0;i=f[n>>2]|0;if((i|0)==3082|(b[g+81>>0]|0)!=0){Di(g);g=7}else g=f[g+68>>2]&i;f[n>>2]=g;f[(f[o>>2]|0)+(e<<2)>>2]=k;e=e+1|0}while((e|0)<(f[q>>2]|0));g=0}else g=0}while(0);f[a+92>>2]=r}while(0)}if(!g)D=121}else D=121;if((D|0)==121){g=f[(f[x+24>>2]|0)+32>>2]|0;e:do if(g|0){f:do if(s){while(1){k=f[g+4>>2]|0;if(k|0){D=b[s>>0]|0;i=(h[1232+(D&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0;if(!(D<<24>>24==0|(i|0)!=0)){e=s;do{e=e+1|0;k=k+1|0;D=b[e>>0]|0;i=(h[1232+(D&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(D<<24>>24==0|(i|0)!=0))}if(!i)break}g=f[g+20>>2]|0;if(!g)break e}if(!g)break e}else while(1){if(!(f[g+4>>2]|0))break f;g=f[g+20>>2]|0;if(!g)break e}while(0);f[u>>2]=g;break c}while(0);f[y>>2]=s;g=wd(71087,y)|0;f[x+8>>2]=g;f[C>>2]=1;g=1}f[u>>2]=0;c=g;t=E;return c|0}while(0);B=f[a+84>>2]|0;C=f[a+88>>2]|0;D=a+96|0;f[D>>2]=g;sb[f[g+12>>2]&127](39304,a,c,B,C);f[D>>2]=0;c=0;t=E;return c|0}default:{c=0;t=E;return c|0}}return 0}function Dx(a,b){a=a|0;b=b|0;var c=0;switch(f[a+24>>2]|0){case 3:{a=0;c=0;break}case 4:case 1:case 2:{c=f[a+56>>2]|0;if(!c)a=(f[(f[a+52>>2]|0)+8>>2]|0)+16|0;else a=c+8|0;c=a;a=f[c>>2]|0;c=f[c+4>>2]|0;break}default:{a=Jp(f[a+48>>2]|0,0)|0;c=ba()|0}}f[b>>2]=a;f[b+4>>2]=c;return 0}function Ex(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=t;t=t+144|0;s=ha+104|0;_=ha+88|0;Z=ha+80|0;Y=ha+64|0;x=ha+56|0;w=ha+48|0;ea=ha+32|0;da=ha+136|0;ca=ha+124|0;aa=ha+120|0;F=ha;z=ha+116|0;y=ha+112|0;ga=a+12|0;v=f[ga>>2]|0;n=a+8|0;f[v+96>>2]=n;i=f[(f[a+24>>2]|0)+44>>2]|0;if(i|0)do{if((f[i+24>>2]|0)==1?(f[i>>2]|0)==(a|0):0){$=i+60|0;f[$>>2]=f[$>>2]|32}i=f[i+4>>2]|0}while((i|0)!=0);r=f[e>>2]|0;m=d[r+8>>1]|0;i=m&31;if(-1431655766>>>i&1|0?(o=v+12|0,k=f[e+((f[o>>2]|0)+2<<2)>>2]|0,l=d[k+8>>1]|0,(-1431655766>>>(l&31)&1|0)==0):0){do if(k){if((l&514)==514?(b[k+10>>0]|0)==1:0)c=f[k+16>>2]|0;else{if(l&1){c=0;i=1;break}c=Ic(k,1)|0}i=(c|0)==0;if(!(i|(f[v+32>>2]|0)==0)?(b[c>>0]|32)<<24>>24==100:0){k=c;l=45420;do{l=l+1|0;k=k+1|0;$=b[l>>0]|0;m=(h[1232+($&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!($<<24>>24==0|(m|0)!=0));if(!m){k=f[e+4>>2]|0;i=d[k+8>>1]|0;if(!(1347440720>>>(i&31)&1)){fa=0;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}i=i&65535;do if(!(i&4)){if(i&8|0){i=Fc(+p[k>>3])|0;k=ba()|0;break}if(!(i&18)){i=0;k=0}else{i=Gc(b[k+10>>0]|0,f[k+12>>2]|0,f[k+16>>2]|0)|0;k=ba()|0}}else{i=f[k>>2]|0;k=f[k+4>>2]|0}while(0);fa=Ly(f[a+20>>2]|0,i,k,e+8|0)|0;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}}}else{c=0;i=1}while(0);o=f[e+((f[o>>2]|0)+3<<2)>>2]|0;m=f[ga>>2]|0;f[y>>2]=0;a:do if(!i){n=b[c>>0]|32;switch(n<<24>>24){case 100:{i=c;k=70695;do{k=k+1|0;i=i+1|0;ea=b[k>>0]|0;l=(h[1232+(ea&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(ea<<24>>24==0|(l|0)!=0));if(l|0){fa=542;break a}if(!(f[m+32>>2]|0)){My(a,70706,w);i=1;break a}else{i=Ny(f[a+20>>2]|0)|0;break a}}case 114:{fa=30;break}case 111:{fa=92;break}case 109:{fa=144;break}case 105:break;default:{fa=542;break a}}b:do if((fa|0)==30){i=c;k=65599;do{k=k+1|0;i=i+1|0;$=b[k>>0]|0;l=(h[1232+($&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!($<<24>>24==0|(l|0)!=0));if(l|0)switch(n<<24>>24){case 111:{fa=92;break b}case 109:{fa=144;break b}case 105:break b;default:{fa=542;break a}}if((f[m+32>>2]|0)==1){My(a,70786,x);i=1;break a}B=f[a+20>>2]|0;f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;k=f[B>>2]|0;f[da>>2]=0;A=ca+4|0;i=A;f[i>>2]=0;f[i+4>>2]=0;f[ca>>2]=B;i=Ny(B)|0;c:do if(!i){i=Ky(B,1)|0;if(!i){i=Hy(B,10,da,0)|0;if(!i){u=ea+4|0;v=B+4|0;a=B+16|0;w=k+12|0;x=ca+8|0;g=k+20|0;y=ea+8|0;z=B+24|0;e=k+60|0;s=k+56|0;d:while(1){i=f[da>>2]|0;if((Ei(i)|0)!=100){i=0;l=1;break}q=Jp(i,0)|0;r=ba()|0;f[u>>2]=0;i=Oy(f[v>>2]|0,0,q,r)|0;f[A>>2]=0;if(i|0){fa=82;break}k=0;l=0;while(1){if((l|0)>=(f[w>>2]|0))break;f[x>>2]=0;if(!(b[(f[g>>2]|0)+l>>0]|0)){n=f[da>>2]|0;i=l+1|0;m=(n|0)==0;e:do if(m)i=37592;else{l=f[n+104>>2]|0;do if(l|0){if(i>>>0>=(j[n+140>>1]|0)>>>0)break;i=l+(i*40|0)|0;break e}while(0);i=f[n>>2]|0;f[i+64>>2]=25;Bg(i,25);i=37592}while(0);l=d[i+8>>1]|0;do if((l&514)==514){if((b[i+10>>0]|0)!=1){fa=58;break}c=f[i+16>>2]|0}else fa=58;while(0);do if((fa|0)==58){fa=0;if(l&1){c=0;break}c=Ic(i,1)|0}while(0);if(!m){i=f[n>>2]|0;m=n+40|0;l=f[m>>2]|0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7}else i=f[i+68>>2]&l;f[m>>2]=i}i=Gp(n,(f[A>>2]|0)+1|0)|0;if(!c)i=0;else i=nb[f[(f[e>>2]|0)+8>>2]&127](f[s>>2]|0,ca,4,c,i,91)|0;n=f[x>>2]|0}else{i=0;n=0}o=((n|0)<0)<<31>>31;m=k+9|0;l=f[y>>2]|0;do if(m>>>0>l>>>0){c=(l|0)==0?64:l;while(1)if(c>>>0>>0)c=c<<1;else break;l=f[ea>>2]|0;if(Mc()|0){i=7;break}l=Nc(l,(c|0)>0?c:0,0)|0;if(!l){i=7;break}f[y>>2]=c;f[ea>>2]=l;fa=75}else{l=f[ea>>2]|0;fa=75}while(0);if((fa|0)==75){fa=0;l=l+k|0;do if(n>>>0>=128)if(n>>>0<16384){aa=VA(n|0,o|0,7)|0;ba()|0;b[l>>0]=aa&255|-128;b[l+1>>0]=n&127;l=2;break}else{l=Zv(l,n,o)|0;k=f[u>>2]|0;break}else{b[l>>0]=n&127;l=1}while(0);k=l+k|0;f[u>>2]=k}_=f[x>>2]|0;l=f[A>>2]|0;aa=(f[z>>2]|0)+(l<<3)|0;$=aa;_=KA(f[$>>2]|0,f[$+4>>2]|0,_|0,((_|0)<0)<<31>>31|0)|0;$=ba()|0;f[aa>>2]=_;f[aa+4>>2]=$;l=l+1|0;f[A>>2]=l;if(i|0){fa=82;break d}}$=a;$=KA(f[$>>2]|0,f[$+4>>2]|0,1,0)|0;aa=ba()|0;i=a;f[i>>2]=$;f[i+4>>2]=aa;i=Qy(B,q,r,ea)|0;if(i|0){l=0;break}}if((fa|0)==82){ca=a;ca=KA(f[ca>>2]|0,f[ca+4>>2]|0,1,0)|0;da=ba()|0;l=a;f[l>>2]=ca;f[l+4>>2]=da;l=0}k=f[ea>>2]|0;do if(!k){if(!l)break c}else if(!(f[9328]|0)){ob[f[37360>>2]&127](k);if(l)break;else break c}else{ea=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);if(l)break;else break c}while(0);i=Rx(B)|0}}}while(0);break a}while(0);f:do if((fa|0)==92){i=c;k=48511;do{k=k+1|0;i=i+1|0;$=b[k>>0]|0;l=(h[1232+($&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!($<<24>>24==0|(l|0)!=0));if(l|0)switch(n<<24>>24){case 109:{fa=144;break f}case 105:break f;default:{fa=542;break a}}o=f[(f[a+20>>2]|0)+4>>2]|0;f[ea>>2]=0;Sx(o);n=Hv(o)|0;k=o+80|0;l=f[k>>2]|0;if(l|0){ca=f[l>>2]|0;f[l>>2]=ca+-1;do if((ca|0)<2){m=l+20|0;if((f[m>>2]|0)>0){i=0;do{c=f[l+24+(i*12|0)+8>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{ca=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-ca;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);i=i+1|0}while((i|0)<(f[m>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{ca=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-ca;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[k>>2]=0}g:do if(n){k=Ry(o,n)|0;f[ea>>2]=k;ca=f[n>>2]|0;f[n>>2]=ca+-1;do if((ca|0)<2){l=n+20|0;if((f[l>>2]|0)>0){i=0;do{m=f[n+24+(i*12|0)+8>>2]|0;do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{ca=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-ca;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);i=i+1|0}while((i|0)<(f[l>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{ca=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-ca;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);if(k){m=0;while(1){l=f[k+24+(m*12|0)+4>>2]|0;if(!l)m=m+1|0;else break}i=o+36|0;h:do if((f[i>>2]|0)==0?(l|0)>0:0){while(1){f[da>>2]=1e3;_x(o,ea,m,da);k=f[ea>>2]|0;if(f[i>>2]|0)break;if((f[k+24+(m*12|0)+4>>2]|0)<=0){fa=129;break h}}$x(o,k);if(!k)break g}else fa=129;while(0);if((fa|0)==129)$x(o,k);ea=f[k>>2]|0;f[k>>2]=ea+-1;if((ea|0)<2){m=k+20|0;if((f[m>>2]|0)>0){l=0;do{c=f[k+24+(l*12|0)+8>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{ea=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);l=l+1|0}while((l|0)<(f[m>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{ea=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}}else fa=122}else fa=122;while(0);if((fa|0)==122)i=o+36|0;ea=f[i>>2]|0;f[i>>2]=0;i=ea;break a}while(0);do if((fa|0)==144){i=c;k=70842;do{k=k+1|0;i=i+1|0;$=b[k>>0]|0;l=(h[1232+($&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!($<<24>>24==0|(l|0)!=0));if(l|0)if(n<<24>>24==105)break;else{fa=542;break a}i=j[o+8>>1]|0;do if(!(i&4)){if(i&8|0){l=Fc(+p[o>>3])|0;ba()|0;break}if(!(i&18))l=0;else{l=Gc(b[o+10>>0]|0,f[o+12>>2]|0,f[o+16>>2]|0)|0;ba()|0}}else l=f[o>>2]|0;while(0);r=f[(f[a+20>>2]|0)+4>>2]|0;i=Hv(r)|0;f[ea>>2]=i;do if(i|0){k=f[(f[r>>2]|0)+80>>2]|0;c=r+80|0;n=f[c>>2]|0;if(n|0){da=f[n>>2]|0;f[n>>2]=da+-1;do if((da|0)<2){o=n+20|0;if((f[o>>2]|0)>0){m=0;do{q=f[n+24+(m*12|0)+8>>2]|0;do if(q|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{da=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);m=m+1|0}while((m|0)<(f[o>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{da=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[c>>2]=0}if((l|0)<0){n=Ry(r,i)|0;da=f[i>>2]|0;f[i>>2]=da+-1;do if((da|0)<2){m=i+20|0;if((f[m>>2]|0)>0){k=0;do{c=f[i+24+(k*12|0)+8>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{da=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);k=k+1|0}while((k|0)<(f[m>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{da=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);f[ea>>2]=n;l=0-l|0;k=2;i=n}if(i|0){if(f[i+20>>2]|0){da=(Zx(r,ea,l,k)|0)==0;i=f[ea>>2]|0;if(!da)$x(r,i);if(!i)break}ea=f[i>>2]|0;f[i>>2]=ea+-1;if((ea|0)<2){l=i+20|0;if((f[l>>2]|0)>0){k=0;do{m=f[i+24+(k*12|0)+8>>2]|0;do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{ea=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);k=k+1|0}while((k|0)<(f[l>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{ea=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}}}while(0);ea=r+36|0;i=f[ea>>2]|0;f[ea>>2]=0;break a}while(0);i=c;k=65617;do{k=k+1|0;i=i+1|0;$=b[k>>0]|0;l=(h[1232+($&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!($<<24>>24==0|(l|0)!=0));if(!l){D=f[a+20>>2]|0;C=f[D>>2]|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;f[F+16>>2]=0;f[F+20>>2]=0;f[F+24>>2]=0;f[F+28>>2]=0;f[F+28>>2]=C;B=C+12|0;$=Fd((f[B>>2]|0)*12|0)|0;do if($){i=f[B>>2]|0;a=$+(i<<3)|0;_A($|0,0,i<<3|0)|0;i=Hy(D,10,z,0)|0;i:do if(!i){A=f[z>>2]|0;j:do if((Ei(A)|0)==100){o=F+12|0;q=C+44|0;r=C+48|0;s=F+24|0;u=C+20|0;v=F+8|0;w=C+60|0;x=C+56|0;g=(A|0)==0;y=A+104|0;z=A+140|0;e=A+40|0;l=0;k:while(1){i=Jp(A,0)|0;k=ba()|0;U=F;f[U>>2]=i;f[U+4>>2]=k;f[o>>2]=0;if(f[q>>2]|0)l=Fy(D,i,k,a)|0;l:do if(!l){if((f[r>>2]|0)==1){if(Mc()|0)break k;do if(!(f[9328]|0)){i=ib[f[37356>>2]&255](2048)|0;if(!i)break k}else{i=ib[f[37372>>2]&255](2048)|0;if((f[18194]|0)>>>0<2048)f[18194]=2048;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){U=f[18187]|0;T=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;S=ba()|0;f[17976]=((S|0)<0|(S|0)==0&T>>>0<=U>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i)break k;k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}while(0);_A(i|0,0,2048)|0;f[s>>2]=i}n=0;while(1){if((n|0)>=(f[B>>2]|0)){l=0;c=1;break l}do if(!(b[(f[u>>2]|0)+n>>0]|0)){f[v>>2]=n;f[o>>2]=0;m:do if((f[r>>2]|0)==2){n:do if(!(Mc()|0)){do if(!(f[9328]|0)){i=ib[f[37356>>2]&255](2048)|0;if(!i)break n}else{i=ib[f[37372>>2]&255](2048)|0;if((f[18194]|0)>>>0<2048)f[18194]=2048;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){U=f[18187]|0;T=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;S=ba()|0;f[17976]=((S|0)<0|(S|0)==0&T>>>0<=U>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i)break n;k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}while(0);_A(i|0,0,2048)|0;f[s>>2]=i;fa=242;break m}while(0);f[s>>2]=0;l=7}else fa=242;while(0);do if((fa|0)==242){fa=0;m=n+1|0;o:do if(g)i=37592;else{i=f[y>>2]|0;do if(i|0){if(m>>>0>=(j[z>>1]|0)>>>0)break;i=i+(m*40|0)|0;break o}while(0);i=f[A>>2]|0;f[i+64>>2]=25;Bg(i,25);i=37592}while(0);k=d[i+8>>1]|0;do if((k&514)==514){if((b[i+10>>0]|0)!=1){fa=250;break}l=f[i+16>>2]|0}else fa=250;while(0);do if((fa|0)==250){fa=0;if(k&1){l=0;break}l=Ic(i,1)|0}while(0);if(!g){i=f[A>>2]|0;k=f[e>>2]|0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7}else i=f[i+68>>2]&k;f[e>>2]=i}i=Gp(A,m)|0;if(l|0?(E=nb[f[(f[w>>2]|0)+8>>2]&127](f[x>>2]|0,F,4,l,i,92)|0,E|0):0){l=E;break}if(!(f[q>>2]|0)){l=0;break}l=(f[o>>2]|0)==(f[a+(n<<2)>>2]|0)?0:267}while(0);S=f[o>>2]|0;U=$+(n<<3)|0;T=U;S=KA(f[T>>2]|0,f[T+4>>2]|0,S|0,((S|0)<0)<<31>>31|0)|0;T=ba()|0;f[U>>2]=S;f[U+4>>2]=T;if((f[r>>2]|0)!=2)break;c=f[s>>2]|0;do if(c|0){m=0;do{i=f[c+(m<<2)>>2]|0;if(i|0)do{k=i;i=f[i+12>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{U=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-U;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}}while((i|0)!=0);m=m+1|0}while((m|0)!=512);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{U=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-U;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);f[s>>2]=0}else l=0;while(0);if(!l)n=n+1|0;else{c=0;break}}}else c=0;while(0);n=f[s>>2]|0;do if(!n){f[s>>2]=0;if(!c)break j}else{m=0;do{i=f[n+(m<<2)>>2]|0;if(i|0)do{k=i;i=f[i+12>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{U=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-U;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}}while((i|0)!=0);m=m+1|0}while((m|0)!=512);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);f[s>>2]=0;if(c)break;else break j}else{U=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-U;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);f[s>>2]=0;if(c)break;else break j}}while(0);if((Ei(A)|0)!=100)break j}f[s>>2]=0;l=7}else l=0;while(0);do if(A){i=f[A>>2]|0;U=A+128|0;T=f[U+4>>2]|0;if((T|0)>0|(T|0)==0&(f[U>>2]|0)>>>0>0)Hi(i,A);k=fg(A)|0;f[A+20>>2]=770837923;f[A+36>>2]=-1;f[A+40>>2]=0;b[A+142>>0]=2;f[A+44>>2]=0;f[A+32>>2]=1;b[A+143>>0]=-1;f[A+48>>2]=0;U=A+64|0;f[U>>2]=0;f[U+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&k;break}}else i=0;while(0);i=(l|0)==0?i:l;if(!i){i=Ky(D,0)|0;if(!i){k=f[B>>2]|0;l=D+24|0;i=0;while(1){if((i|0)>=(k|0))break;T=(f[l>>2]|0)+(i<<3)|0;U=$+(i<<3)|0;if((f[T>>2]|0)==(f[U>>2]|0)?(f[T+4>>2]|0)==(f[U+4>>2]|0):0)i=i+1|0;else{i=267;break i}}p:do if(!(f[C+32>>2]|0)){i=ea;f[i>>2]=0;f[i+4>>2]=0;i=Ty(f[D>>2]|0,63175,ea)|0;do if(!i){T=ea;U=D+16|0;if(!((f[T>>2]|0)==(f[U>>2]|0)?(f[T+4>>2]|0)==(f[U+4>>2]|0):0)){i=267;break}break p}while(0);break i}while(0);q:do if(f[C+44>>2]|0){i=ea;f[i>>2]=0;f[i+4>>2]=0;i=Ty(f[D>>2]|0,63183,ea)|0;do if(!i){T=ea;U=D+16|0;if(!((f[T>>2]|0)==(f[U>>2]|0)?(f[T+4>>2]|0)==(f[U+4>>2]|0):0)){i=267;break}break q}while(0);break i}while(0);Q=f[D+4>>2]|0;S=F+16|0;R=f[S>>2]|0;S=f[S+4>>2]|0;P=f[(f[Q>>2]|0)+48>>2]|0;f[ca>>2]=0;f[ca+4>>2]=0;f[ca+8>>2]=0;U=Hv(Q)|0;T=(U|0)==0;if(T)Iv(Q,0,32,0,0,0,-1,0,aa);else{N=U+20|0;i=f[N>>2]|0;if((i|0)>0){O=Q+36|0;M=0;do{L=U+24+(M*12|0)+4|0;if((f[L>>2]|0)>0){K=U+24+(M*12|0)+8|0;J=0;do{k=f[K>>2]|0;l=f[Q>>2]|0;f[da>>2]=0;H=k+(J*12|0)+4|0;i=f[H>>2]|0;I=k+(J*12|0)+8|0;do if(i|0){n=f[I>>2]|0;m=i+-1|0;F=f[l+8>>2]|0;G=k+(J*12|0)|0;i=f[G>>2]|0;f[Y>>2]=f[l+4>>2];f[Y+4>>2]=F;f[Y+8>>2]=i;i=wd(70848,Y)|0;k=(i|0)==0;do if(!(f[O>>2]|0))if(k){f[O>>2]=7;i=0;break}else{fa=Ki(f[f[Q>>2]>>2]|0,i,-1,129,0,da,0)|0;f[O>>2]=fa;fa=321;break}else if(k)i=0;else fa=321;while(0);r:do if((fa|0)==321){fa=0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{F=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[da>>2]|0;if(f[O>>2]|0)break;D=i+104|0;E=i+140|0;F=i+40|0;if(!i){Ac(21,42973,Z);f[_>>2]=40433;f[_+4>>2]=81396;f[_+8>>2]=40460;Ac(21,40408,_);i=0;break}c=m;k=n;while(1){while(1){if((Ei(i)|0)!=100)break r;u=Gp(i,1)|0;l=f[D>>2]|0;do if(!l)fa=333;else{if((j[E>>1]|0)<=1){fa=333;break}l=l+40|0}while(0);if((fa|0)==333){fa=0;l=f[i>>2]|0;f[l+64>>2]=25;Bg(l,25);l=37592}m=d[l+8>>1]|0;do if((m&514)==514){if((b[l+10>>0]|0)!=1){fa=338;break}s=f[l+16>>2]|0}else fa=338;while(0);do if((fa|0)==338){fa=0;if(m&1){s=0;break}s=Ic(l,1)|0}while(0);l=f[i>>2]|0;m=f[F>>2]|0;if((m|0)==3082|(b[l+81>>0]|0)!=0){Di(l);l=7}else l=f[l+68>>2]&m;f[F>>2]=l;C=Ip(i,2)|0;B=Ip(i,3)|0;if((C|0)>=(f[H>>2]|0))break;if(f[O>>2]|0)break r}A=WA(f[G>>2]|0,0,37)|0;A=KA(A|0,ba()|0,C|0,((C|0)<0)<<31>>31|0)|0;A=xv(Q,A,ba()|0)|0;if(!A)break r;e=A+8|0;m=f[e>>2]|0;a=A+4|0;l=f[a>>2]|0;if((m|0)>(l|0))break;do if((l|0)>(m|0)){l=f[A>>2]|0;m=l+m|0;n=h[m>>0]|0;do if(n&128){o=h[m+1>>0]|0;if(!(o&128)){n=n<<7&16256|o;break}q=h[m+2>>0]|0;if(!(q&128)){n=(n<<14|q)&2080895|o<<7&16256;break}else{yv(m,ea)|0;n=f[ea>>2]|0;l=f[A>>2]|0;break}}while(0);if((n|0)>(h[l>>0]<<8|h[l+1>>0]|0)){o=l+n|0;m=h[o>>0]|0;do if(m&128){q=h[o+1>>0]|0;if(!(q&128)){o=2;m=m<<7&16256|q;break}r=h[o+2>>0]|0;if(!(r&128)){o=3;m=(m<<14|r)&2080895|q<<7&16256;break}else{o=yv(o,ea)|0;o=o&255;m=f[ea>>2]|0;l=f[A>>2]|0;break}}else o=1;while(0);z=Hz(l+(o+n)|0,s,(m|0)<(u|0)?m:u)|0;if((((z|0)==0?m-u|0:z)|0)<0)fa=367}else fa=367;if((fa|0)==367){fa=0;f[O>>2]=267}l=f[e>>2]|0;do if((l|0)<(f[a>>2]|0)){z=0;y=l;m=0;l=0;w=0;g=0;x=0;v=0;while(1){if(f[O>>2]|0)break;o=(f[A>>2]|0)+y|0;n=h[o>>0]|0;do if(n&128){q=h[o+1>>0]|0;if(!(q&128)){o=2;n=n<<7&16256|q;break}r=h[o+2>>0]|0;if(!(r&128)){o=3;n=(n<<14|r)&2080895|q<<7&16256;break}else{o=yv(o,ea)|0;o=o&255;n=f[ea>>2]|0;break}}else o=1;while(0);y=o+y|0;s=z;z=n+z|0;q=f[e>>2]|0;s:do if((z|0)<(q|0)){n=f[A>>2]|0;u=n+z|0;o=h[u>>0]|0;r=(o&128|0)==0;if(!s){do if(!r){n=h[u+1>>0]|0;if(!(n&128)){s=2;o=o<<7&16256|n;break}r=h[u+2>>0]|0;if(!(r&128)){s=3;o=(o<<14|r)&2080895|n<<7&16256;break}else{s=yv(u,ea)|0;s=s&255;o=f[ea>>2]|0;q=f[e>>2]|0;break}}else s=1;while(0);n=s+z|0;if((n+o|0)>(q|0)){f[O>>2]=267;o=w;q=x;fa=422;break}q=(f[A>>2]|0)+n|0;if(!o){r=0;n=g;q=x;o=0;break}do if(x>>>0>>0){n=(x|0)==0?64:x;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?(V=Nc(l,(n|0)>0?n:0,0)|0,V|0):0){l=V;break}f[O>>2]=7;r=0;n=g;q=x;o=0;break s}else n=x;while(0);YA(l|0,q|0,o|0)|0;q=n;fa=423;break}do if(!r){q=h[u+1>>0]|0;if(!(q&128)){s=2;o=o<<7&16256|q;break}r=h[u+2>>0]|0;if(!(r&128)){s=3;o=(o<<14|r)&2080895|q<<7&16256;break}else{s=yv(u,ea)|0;s=s&255;o=f[ea>>2]|0;n=f[A>>2]|0;break}}else s=1;while(0);u=s+z|0;n=n+u|0;q=h[n>>0]|0;do if(q&128){r=h[n+1>>0]|0;if(!(r&128)){n=2;s=q<<7&16256|r;break}s=h[n+2>>0]|0;if(!(s&128)){n=3;s=(q<<14|s)&2080895|r<<7&16256;break}else{n=yv(n,ea)|0;n=n&255;s=f[ea>>2]|0;break}}else{n=1;s=q}while(0);n=n+u|0;do if((o|0)<=(w|0)){if((n+s|0)>(f[e>>2]|0))break;q=(f[A>>2]|0)+n|0;if(!s)n=x;else{r=s+o|0;do if(r>>>0>x>>>0){n=(x|0)==0?64:x;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?(W=Nc(l,(n|0)>0?n:0,0)|0,W|0):0){l=W;break}f[O>>2]=7;q=x;fa=422;break s}else n=x;while(0);YA(l+o|0,q|0,s|0)|0;o=r}if(f[O>>2]|0){q=n;fa=422;break s}fa=Hz(l,m,(o|0)<(v|0)?o:v)|0;if((((fa|0)==0?o-v|0:fa)|0)>=1){q=n;fa=422;break s}f[O>>2]=267;q=n;fa=422;break s}while(0);f[O>>2]=267;o=w;q=x;fa=422}else{f[O>>2]=267;o=w;q=x;fa=422}while(0);if((fa|0)==422){fa=0;if(!o){r=0;n=g;o=0}else fa=423}t:do if((fa|0)==423){fa=0;do if(g>>>0>>0){n=(g|0)==0?64:g;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?(X=Nc(m,(n|0)>0?n:0,0)|0,X|0):0){m=X;break}f[O>>2]=7;r=o;n=g;o=0;break t}else n=g;while(0);YA(m|0,l|0,o|0)|0;r=o}while(0);if((y|0)>=(f[a>>2]|0))break;else{w=r;g=n;x=q;v=o}}do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{a=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);if(!m)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{a=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{a=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}}else{f[O>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{a=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}}while(0);if(f[O>>2]|0)break r;n=C+-1|0;if((c|0)<(n|0)){do{l=c;c=c+1|0;m=WA(f[G>>2]|0,0,37)|0;m=KA(m|0,ba()|0,c|0,((c|0)<0)<<31>>31|0)|0;m=xv(Q,m,ba()|0)|0;do if(m|0){if((f[m+8>>2]|0)<(f[m+4>>2]|0))f[O>>2]=267;do if((l|0)>=(k|0)){A=f[m>>2]|0;if(!(h[A>>0]<<8|h[A+1>>0]))break;f[O>>2]=267}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{A=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);l=f[O>>2]|0}while(!((c|0)>=(n|0)|(l|0)!=0));if(l|0)break r}do if(B){k=f[G>>2]|0;v=gw(Q,0,k,C)|0;u:do if(f[O>>2]|0)if(!v)break r;else k=0;else{u=v+16|0;s=v+24|0;q=WA(k|0,0,37)|0;r=ba()|0;o=v+32|0;k=0;l=C;do{if(f[u>>2]|0)break u;k=l+1|0;l=f[s>>2]|0;if((k|0)<(l|0))do{l=KA(q|0,r|0,k|0,((k|0)<0)<<31>>31|0)|0;l=xv(Q,l,ba()|0)|0;do if(l|0){B=f[l>>2]|0;if(!(h[B>>0]<<8|h[B+1>>0]))if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{B=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}else{f[O>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{B=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}}while(0);k=k+1|0;l=f[s>>2]|0}while((k|0)<(l|0));m=KA(q|0,r|0,l|0,((l|0)<0)<<31>>31|0)|0;m=xv(Q,m,ba()|0)|0;if(m|0){c=f[m>>2]|0;n=h[c>>0]<<8|h[c+1>>0];if(!((f[m+8>>2]|0)>(n|0)?(yv(c+n|0,ea)|0,A=ea,B=o,(f[A>>2]|0)==(f[B>>2]|0)?(f[A+4>>2]|0)==(f[B+4>>2]|0):0):0))f[O>>2]=267;if(!(f[9328]|0))ob[f[37360>>2]&127](m);else{B=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m)}}wv(Q,v,0)}while((f[O>>2]|0)==0)}while(0);if((f[v>>2]|0)>0){l=0;do{m=f[v+8+(l<<5)>>2]|0;do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{B=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);l=l+1|0}while((l|0)<(f[v>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](v);break}else{B=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);break}}else k=f[I>>2]|0;while(0);if(!(f[O>>2]|0))c=C;else break r}f[O>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{I=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}}while(0);i=Fi(i)|0;if(f[O>>2]|0)break;f[O>>2]=i}while(0);J=J+1|0}while((J|0)<(f[L>>2]|0));i=f[N>>2]|0}M=M+1|0}while((M|0)<(i|0))}Iv(Q,U,32,0,0,0,-1,0,aa)}l=f[aa>>2]|0;w=Q+36|0;v:do if(!(f[w>>2]|0)){u=(P|0)==1;v=ca+4|0;k=0;i=0;do{if(b[l+16>>0]|0)break v;m=ea;f[m>>2]=0;f[m+4>>2]=0;f[da>>2]=0;m=j[(f[l+72>>2]|0)+4>>1]|0;n=l+80+(m*88|0)+72|0;c=f[n>>2]|0;n=f[n+4>>2]|0;r=f[l+80+(m*88|0)+64>>2]|0;s=f[l+80+(m*88|0)+60>>2]|0;w:do if(u){if(f[l+80+(m*88|0)+12>>2]|0?(f[l+80+(m*88|0)+80>>2]|0)==0:0)break;c=QA(c|0,n|0,81,0)|0;m=ba()|0;if((r|0)>0){n=0;do{_=b[s+n>>0]|0;c=QA(c|0,m|0,9,0)|0;c=KA(c|0,ba()|0,_|0,((_|0)<0)<<31>>31|0)|0;m=ba()|0;n=n+1|0}while((n|0)!=(r|0))}k=c^k;i=m^i}else{f[v>>2]=0;$v(Q,l+80+(m*88|0)|0,0,ca);if(uv(f[ca>>2]|0,f[v>>2]|0,da,ea)|0)break;o=QA(c|0,n|0,9,0)|0;q=ba()|0;if((r|0)<=0)while(1){W=ea;Y=f[W>>2]|0;W=UA(Y|0,f[W+4>>2]|0,32)|0;W=KA(W|0,ba()|0,o|0,q|0)|0;X=ba()|0;Z=WA(W|0,X|0,3)|0;_=ba()|0;Y=UA(0,Y|0,32)|0;Y=KA(W|0,X|0,Y|0,ba()|0)|0;_=KA(Y|0,ba()|0,Z|0,_|0)|0;k=_^k;i=(ba()|0)^i;if(uv(f[ca>>2]|0,f[v>>2]|0,da,ea)|0)break w}do{Z=ea;n=f[Z>>2]|0;Z=UA(n|0,f[Z+4>>2]|0,32)|0;Z=KA(Z|0,ba()|0,o|0,q|0)|0;_=ba()|0;m=WA(Z|0,_|0,3)|0;c=ba()|0;n=UA(0,n|0,32)|0;n=KA(Z|0,_|0,n|0,ba()|0)|0;c=KA(n|0,ba()|0,m|0,c|0)|0;m=0;n=ba()|0;do{_=b[s+m>>0]|0;Z=QA(c|0,n|0,9,0)|0;c=KA(Z|0,ba()|0,_|0,((_|0)<0)<<31>>31|0)|0;n=ba()|0;m=m+1|0}while((m|0)!=(r|0));k=c^k;i=n^i}while((uv(f[ca>>2]|0,f[v>>2]|0,da,ea)|0)==0)}while(0);vv(Q,l,0,0,0);l=f[aa>>2]|0}while((f[w>>2]|0)==0)}else{k=0;i=0}while(0);Tv(l);if(!((k|0)==(R|0)&(i|0)==(S|0)|(f[w>>2]|0)!=0))f[w>>2]=267;do if(!T){ea=f[U>>2]|0;f[U>>2]=ea+-1;if((ea|0)>=2)break;k=U+20|0;if((f[k>>2]|0)>0){i=0;do{l=f[U+24+(i*12|0)+8>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{ea=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);i=i+1|0}while((i|0)<(f[k>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](U);break}else{ea=ib[f[37368>>2]&255](U)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](U);break}}while(0);i=f[ca>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{ea=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);i=f[w>>2]|0;f[w>>2]=0}}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127]($);break}else{ea=ib[f[37368>>2]&255]($)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127]($);break}}else i=7;while(0)}else fa=542}else fa=542;while(0);if((fa|0)==542){i=Uy(f[a+16>>2]|0)|0;if(!i){i=jw(f[ga>>2]|0,c,o,y)|0;if(!i)if(!(f[y>>2]|0))i=Vy(f[a+20>>2]|0,c,o,0)|0;else i=1}}fa=i;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}k=f[v+32>>2]|0;if(!k)o=h[59738+((h[(f[v>>2]|0)+86>>0]|0)+-1)>>0]|0;else o=4;i=(1347440720>>>i&1|0)!=0;if(i&(k|0)==1){fa=f[v+8>>2]|0;f[s>>2]=(c|0)>1?70920:70927;f[s+4>>2]=fa;fa=wd(70939,s)|0;f[n>>2]=fa;fa=1;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}if((c|0)==1){i=m&65535;do if(!(i&4)){if(i&8|0){i=Fc(+p[r>>3])|0;k=ba()|0;break}if(!(i&18)){i=0;k=0}else{i=Gc(b[r+10>>0]|0,f[r+12>>2]|0,f[r+16>>2]|0)|0;k=ba()|0}}else{k=r;i=f[k>>2]|0;k=f[k+4>>2]|0}while(0);fa=Ly(f[a+20>>2]|0,i,k,0)|0;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}if(!i){if((o|0)==5?(u=f[e+4>>2]|0,q=d[u+8>>1]|0,1347440720>>>(q&31)&1|0):0){i=q&65535;do if(!(i&4)){if(i&8|0){i=Fc(+p[u>>3])|0;k=ba()|0;break}if(!(i&18)){i=0;k=0}else{i=Gc(b[u+10>>0]|0,f[u+12>>2]|0,f[u+16>>2]|0)|0;k=ba()|0}}else{k=u;i=f[k>>2]|0;k=f[k+4>>2]|0}while(0);i=Ly(f[a+20>>2]|0,i,k,0)|0;if(i|0){fa=i;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}}i=a+20|0;k=Wy(f[i>>2]|0,e,g)|0;if(k|0){fa=k;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}fa=g;fa=Xy(f[i>>2]|0,e,f[fa>>2]|0,f[fa+4>>2]|0)|0;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}i=m&65535;do if(!(i&4)){if(i&8|0){m=Fc(+p[r>>3])|0;c=ba()|0;break}if(!(i&18)){m=0;c=0}else{m=Gc(b[r+10>>0]|0,f[r+12>>2]|0,f[r+16>>2]|0)|0;c=ba()|0}}else{c=r;m=f[c>>2]|0;c=f[c+4>>2]|0}while(0);i=f[e+4>>2]|0;k=j[i+8>>1]|0;do if(!(k&4)){if(k&8|0){k=Fc(+p[i>>3])|0;l=ba()|0;break}if(!(k&18)){k=0;l=0}else{k=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;l=ba()|0}}else{l=i;k=f[l>>2]|0;l=f[l+4>>2]|0}while(0);if((m|0)==(k|0)&(c|0)==(l|0)){k=a+20|0;i=Ly(f[k>>2]|0,m,c,0)|0;if(i|0){fa=i;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}i=Wy(f[k>>2]|0,e,g)|0;if(i|0){fa=i;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}fa=g;fa=Xy(f[k>>2]|0,e,f[fa>>2]|0,f[fa+4>>2]|0)|0;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}n=a+20|0;i=f[n>>2]|0;if((o|0)!=5){i=Wy(i,e,g)|0;if(i|0){fa=i;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}i=Ly(f[n>>2]|0,m,c,0)|0;if(i|0){fa=i;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}fa=g;fa=Xy(f[n>>2]|0,e,f[fa>>2]|0,f[fa+4>>2]|0)|0;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}i=Ly(i,m,c,0)|0;if(i|0){fa=i;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}i=Ly(f[n>>2]|0,k,l,0)|0;if(i|0){fa=i;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}i=Wy(f[n>>2]|0,e,g)|0;if(i|0){fa=i;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}fa=g;fa=Xy(f[n>>2]|0,e,f[fa>>2]|0,f[fa+4>>2]|0)|0;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}function Fx(a){a=a|0;Cy(a)|0;return 0}function Gx(a){a=a|0;var b=0,c=0,d=0;c=a+12|0;f[(f[c>>2]|0)+96>>2]=a+8;b=f[(f[a+24>>2]|0)+44>>2]|0;if(b|0)do{if((f[b+24>>2]|0)==1?(f[b>>2]|0)==(a|0):0){d=b+60|0;f[d>>2]=f[d>>2]|32}b=f[b+4>>2]|0}while((b|0)!=0);d=Qx(f[a+20>>2]|0)|0;f[(f[c>>2]|0)+96>>2]=0;return d|0}function Hx(a){a=a|0;return 0}function Ix(a){a=a|0;a=f[a+20>>2]|0;f[a+8>>2]=0;Px(f[a+4>>2]|0);return 0}function Jx(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0;a=f[(f[a+24>>2]|0)+32>>2]|0;if(!a){g=0;return g|0}a:do if(d){while(1){i=f[a+4>>2]|0;if(i|0){j=b[d>>0]|0;c=(h[1232+(j&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0;if(!(j<<24>>24==0|(c|0)!=0)){j=d;do{j=j+1|0;i=i+1|0;l=b[j>>0]|0;c=(h[1232+(l&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(l<<24>>24==0|(c|0)!=0))}if(!c)break}a=f[a+20>>2]|0;if(!a){a=0;k=15;break}}if((k|0)==15)return a|0;if(!a){l=0;return l|0}}else{while(1){if(!(f[a+4>>2]|0))break a;a=f[a+20>>2]|0;if(!a){a=0;break}}return a|0}while(0);f[e>>2]=207;f[g>>2]=a;l=1;return l|0}function Kx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=t;t=t+128|0;k=l+96|0;j=l+72|0;h=l+48|0;g=l+24|0;c=l;a=f[a+20>>2]|0;i=f[a>>2]|0;a=Qx(a)|0;if(!a){a=f[i>>2]|0;e=i+4|0;d=i+8|0;m=f[d>>2]|0;f[c>>2]=f[e>>2];f[c+4>>2]=m;f[c+8>>2]=60838;f[c+12>>2]=b;f[c+16>>2]=60838;a=dy(a,0,70239,c)|0;if(!a){a=f[i>>2]|0;m=f[d>>2]|0;f[g>>2]=f[e>>2];f[g+4>>2]=m;f[g+8>>2]=47829;f[g+12>>2]=b;f[g+16>>2]=47829;a=dy(a,0,70239,g)|0;if(!a){a=f[i>>2]|0;m=f[d>>2]|0;f[h>>2]=f[e>>2];f[h+4>>2]=m;f[h+8>>2]=70035;f[h+12>>2]=b;f[h+16>>2]=70035;a=dy(a,0,70239,h)|0;if((a|0)==0&(f[i+44>>2]|0)!=0){a=f[i>>2]|0;m=f[d>>2]|0;f[j>>2]=f[e>>2];f[j+4>>2]=m;f[j+8>>2]=63183;f[j+12>>2]=b;f[j+16>>2]=63183;a=dy(a,0,70239,j)|0}}}}if(f[i+32>>2]|a|0){m=a;t=l;return m|0}m=f[i>>2]|0;j=f[i+8>>2]|0;f[k>>2]=f[i+4>>2];f[k+4>>2]=j;f[k+8>>2]=63175;f[k+12>>2]=b;f[k+16>>2]=63175;m=dy(m,0,70239,k)|0;t=l;return m|0}function Lx(a,b){a=a|0;b=b|0;var c=0;b=f[(f[a+24>>2]|0)+44>>2]|0;if(b|0)do{if((f[b+24>>2]|0)==1?(f[b>>2]|0)==(a|0):0){c=b+60|0;f[c>>2]=f[c>>2]|32}b=f[b+4>>2]|0}while((b|0)!=0);return Qx(f[a+20>>2]|0)|0}function Mx(a,b){a=a|0;b=b|0;var c=0;b=f[(f[a+24>>2]|0)+44>>2]|0;if(b|0)do{if((f[b+24>>2]|0)==1?(f[b>>2]|0)==(a|0):0){c=b+60|0;f[c>>2]=f[c>>2]|32}b=f[b+4>>2]|0}while((b|0)!=0);return Qx(f[a+20>>2]|0)|0}function Nx(a,b){a=a|0;b=b|0;var c=0;b=f[(f[a+24>>2]|0)+44>>2]|0;if(b|0)do{if((f[b+24>>2]|0)==1?(f[b>>2]|0)==(a|0):0){c=b+60|0;f[c>>2]=f[c>>2]|32}b=f[b+4>>2]|0}while((b|0)!=0);c=f[a+20>>2]|0;f[c+8>>2]=0;Px(f[c+4>>2]|0);return 0}function Ox(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;if(!a){j=0;return j|0}j=b[a>>0]|0;i=h[1232+(j&255)>>0]|0;c=i+-99|0;j=j<<24>>24==0;g=j|(c|0)!=0;if(g)d=c;else{e=70035;f=a;do{f=f+1|0;e=e+1|0;k=b[f>>0]|0;d=(h[1232+(k&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(d|0)!=0))}if(!d){k=1;return k|0}if(!g){d=63175;e=a;do{e=e+1|0;d=d+1|0;k=b[e>>0]|0;c=(h[1232+(k&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(c|0)!=0))}if(!c){k=1;return k|0}c=i+-100|0;g=j|(c|0)!=0;if(g)d=c;else{e=60838;f=a;do{f=f+1|0;e=e+1|0;k=b[f>>0]|0;d=(h[1232+(k&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(d|0)!=0))}if(!d){k=1;return k|0}if(!g){d=63183;e=a;do{e=e+1|0;d=d+1|0;k=b[e>>0]|0;c=(h[1232+(k&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(c|0)!=0))}if(!c){k=1;return k|0}c=i+-105|0;if(j|(c|0)!=0){k=c;k=(k|0)==0;k=k&1;return k|0}d=47829;do{a=a+1|0;d=d+1|0;k=b[a>>0]|0;c=(h[1232+(k&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(c|0)!=0));k=(c|0)==0;k=k&1;return k|0}function Px(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=a+40|0;c=f[b>>2]|0;do if(c|0){f[b>>2]=0;b=f[c+20>>2]|0;Fi(f[c+16>>2]|0)|0;if(b|0){if(f[b+480>>2]|0){Kc(b,c);break}h=c;if((f[b+304>>2]|0)>>>0<=h>>>0?(f[b+308>>2]|0)>>>0>h>>>0:0){h=b+300|0;f[c>>2]=f[h>>2];f[h>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{h=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);g=f[a+12>>2]|0;if(g|0){e=g+12|0;b=f[e>>2]|0;h=g+20|0;if((b|0)>0){d=0;do{c=f[(f[h>>2]|0)+(d<<2)>>2]|0;if(c){b=c;do{c=b;b=f[b>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((b|0)!=0);b=f[e>>2]|0}d=d+1|0}while((d|0)<(b|0))}_A(f[h>>2]|0,0,b<<2|0)|0;f[g+8>>2]=0;f[a+16>>2]=0}c=a+80|0;d=f[c>>2]|0;if(!d)return;i=f[d>>2]|0;f[d>>2]=i+-1;do if((i|0)<2){e=d+20|0;if((f[e>>2]|0)>0){b=0;do{g=f[d+24+(b*12|0)+8>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{i=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);b=b+1|0}while((b|0)<(f[e>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);f[c>>2]=0;return}function Qx(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=(f[f[a>>2]>>2]|0)+40|0;e=f[g>>2]|0;g=f[g+4>>2]|0;b=a+8|0;if(f[b>>2]|0?(c=Rx(a)|0,f[b>>2]=0,c|0):0){d=c;a=f[a>>2]|0;a=f[a>>2]|0;a=a+40|0;c=a;f[c>>2]=e;e=a+4|0;f[e>>2]=g;return d|0}c=f[a+4>>2]|0;Sx(c);b=c+40|0;d=f[b>>2]|0;do if(d|0){f[b>>2]=0;b=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;if(b|0){if(f[b+480>>2]|0){Kc(b,d);break}h=d;if((f[b+304>>2]|0)>>>0<=h>>>0?(f[b+308>>2]|0)>>>0>h>>>0:0){h=b+300|0;f[d>>2]=f[h>>2];f[h>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{h=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);d=c+36|0;h=f[d>>2]|0;f[d>>2]=0;a=f[a>>2]|0;a=f[a>>2]|0;a=a+40|0;d=a;f[d>>2]=e;e=a+4|0;f[e>>2]=g;return h|0}function Rx(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=f[(f[a>>2]|0)+12>>2]|0;d=a+16|0;h=f[d>>2]|0;d=f[d+4>>2]|0;do if((Mc()|0)==0?(g=Nc(0,64,0)|0,(g|0)!=0):0){if(d>>>0<0|(d|0)==0&h>>>0<128){b[g>>0]=h&127;c=0;e=g;d=1;g=64;break}if(d>>>0<0|(d|0)==0&h>>>0<16384){c=VA(h|0,d|0,7)|0;ba()|0;b[g>>0]=c&255|-128;b[g+1>>0]=h&127;c=0;e=g;d=2;g=64;break}else{c=0;e=g;d=Zv(g,h,d)|0;g=64;break}}else{c=7;e=0;d=0;g=0}while(0);if((n|0)>0){m=a+24|0;l=0;do{k=(f[m>>2]|0)+(l<<3)|0;j=f[k>>2]|0;k=f[k+4>>2]|0;h=d+9|0;if(h>>>0>g>>>0){i=(g|0)==0?64:g;while(1)if(i>>>0>>0)i=i<<1;else break;if((Mc()|0)==0?(o=Nc(e,(i|0)>0?i:0,0)|0,(o|0)!=0):0){e=o;p=15}else c=7}else{i=g;p=15}if((p|0)==15){p=0;g=e+d|0;do if(!(k>>>0<0|(k|0)==0&j>>>0<128))if(k>>>0<0|(k|0)==0&j>>>0<16384){k=VA(j|0,k|0,7)|0;ba()|0;b[g>>0]=k&255|-128;b[g+1>>0]=j&127;g=2;break}else{g=Zv(g,j,k)|0;break}else{b[g>>0]=j&127;g=1}while(0);d=g+d|0;g=i}l=l+1|0}while((l|0)!=(n|0))}if(!c){a=f[a+4>>2]|0;ay(a,1,0,e,d);a=a+36|0;c=f[a>>2]|0;f[a>>2]=0}if(!e)return c|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](e);return c|0}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);return c|0}return 0}function Sx(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=t;t=t+368|0;J=L;K=L+364|0;H=L+360|0;E=L+264|0;A=L+256|0;d=a+16|0;if(!(f[d>>2]|0)){t=L;return}f[d>>2]=0;C=f[a+12>>2]|0;f[H>>2]=0;D=Hv(a)|0;f[K>>2]=D;I=a+36|0;do if(!(f[I>>2]|0)){if((f[D+16>>2]|0)>1999){f[I>>2]=13;B=0;break}_A(J|0,0,252)|0;g=f[D+20>>2]|0;if((g|0)>0){d=0;do{i=f[D+24+(d*12|0)+4>>2]|0;if((i|0)>0){j=f[D+24+(d*12|0)+8>>2]|0;e=0;do{k=f[j+(e*12|0)>>2]|0;if((k|0)<2001){x=k+-1|0;B=J+(((x|0)/32|0)<<2)|0;f[B>>2]=f[B>>2]|1<<(x&31)}e=e+1|0}while((e|0)!=(i|0))}d=d+1|0}while((d|0)!=(g|0))}e=0;while(1){g=f[J+(e<<2)>>2]|0;if((g|0)==-1)e=e+1|0;else break}d=0;while(1)if(!(1<>2]|0;if(g|0){x=f[g>>2]|0;f[g>>2]=x+-1;do if((x|0)<2){i=g+20|0;if((f[i>>2]|0)>0){d=0;do{j=f[g+24+(d*12|0)+8>>2]|0;do if(j|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{x=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}while(0);d=d+1|0}while((d|0)<(f[i>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{x=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[e>>2]=0}if(!B){d=0;e=0}else{d=f[a>>2]|0;s=f[d+68>>2]|0;d=f[d+48>>2]|0;Tx(a,E,B);a:do if((f[I>>2]|0)==0?(x=fw(C,0,0)|0,f[I>>2]=x,y=C+16|0,(x|0)==0):0){u=E+16|0;v=E+28|0;w=E+12|0;x=E+57|0;r=(d|0)==1;n=f[y>>2]|0;do{if(!n)break a;o=n+40|0;m=wz(o)|0;l=n+12|0;e=f[l>>2]|0;if(e|0){do if((f[C>>2]|0)==1){d=n+24|0;if((b[d>>0]|0)!=0?(z=n+16|0,q=f[z>>2]|0,f[z>>2]=q+1,b[n+q>>0]=0,(b[n+25>>0]|0)!=0):0){q=f[z>>2]|0;f[z>>2]=q+1;b[n+q>>0]=0}}else{i=n+16|0;g=(f[i>>2]|0)-e+-1|0;d=n+24|0;j=(g<<1)+(h[d>>0]|0)|0;if((j|0)<128){b[n+e>>0]=j;break}q=j>>>0<16384;k=q?2:j>>>0<2097152?3:j>>>0<268435456?4:5;ZA(n+(k+e)|0,n+(e+1)|0,g|0)|0;e=n+(f[l>>2]|0)|0;g=((j|0)<0)<<31>>31;if(q){q=VA(j|0,g|0,7)|0;ba()|0;b[e>>0]=q&255|-128;b[e+1>>0]=j&127}else Zv(e,j,g)|0;f[i>>2]=k+-1+(f[i>>2]|0)}while(0);f[l>>2]=0;b[d>>0]=0;b[n+25>>0]=0}q=o+(m+1)|0;p=(f[n+16>>2]|0)+(-41-m)|0;Ux(a,E,wz(o)|0,o);d=f[u>>2]|0;if((s|0)>(d+p+(f[v>>2]|0)|0)){YA((f[w>>2]|0)+d|0,q|0,p|0)|0;f[u>>2]=(f[u>>2]|0)+p;d=f[I>>2]|0}else{d=A;f[d>>2]=0;f[d+4>>2]=0;d=f[I>>2]|0;if((p|0)>0&(d|0)==0){d=0;n=0;o=0;while(1){d=d+((yv(q+d|0,A)|0)&255)|0;j=A;i=f[j>>2]|0;j=f[j+4>>2]|0;n=KA(i|0,j|0,n|0,o|0)|0;o=ba()|0;e=f[w>>2]|0;g=f[u>>2]|0;if(!(b[x>>0]|0)){e=e+g|0;do if(!(j>>>0<0|(j|0)==0&i>>>0<128))if(j>>>0<0|(j|0)==0&i>>>0<16384){m=VA(i|0,j|0,7)|0;ba()|0;b[e>>0]=m&255|-128;b[e+1>>0]=i&127;e=2;break}else{e=Zv(e,i,j)|0;break}else{b[e>>0]=i&127;e=1}while(0);f[u>>2]=(f[u>>2]|0)+e}else{b[e>>0]=(g&65535)>>>8;b[e+1>>0]=g;e=(f[w>>2]|0)+(f[u>>2]|0)|0;do if(!(o>>>0<0|(o|0)==0&n>>>0<128))if(o>>>0<0|(o|0)==0&n>>>0<16384){m=VA(n|0,o|0,7)|0;ba()|0;b[e>>0]=m&255|-128;b[e+1>>0]=n&127;e=2;break}else{e=Zv(e,n,o)|0;break}else{b[e>>0]=n&127;e=1}while(0);f[u>>2]=(f[u>>2]|0)+e;b[x>>0]=0;Vx(a,E,n,o)}do if(r){do if((d|0)<(p|0)){if(b[q+d>>0]|0)break;m=f[w>>2]|0;e=f[u>>2]|0;f[u>>2]=e+1;b[m+e>>0]=0;e=d+1|0;if((e|0)>=(p|0)){d=e;break}if(b[q+e>>0]|0){d=e;break}l=f[w>>2]|0;m=f[u>>2]|0;f[u>>2]=m+1;b[l+m>>0]=0;d=d+2|0}while(0);if(((f[v>>2]|0)+(f[u>>2]|0)|0)<(s|0)){e=d;break}Wx(a,E);e=d}else{m=q+d|0;e=h[m>>0]|0;do if(e&128){g=h[m+1>>0]|0;if(!(g&128)){j=2;e=e<<7&16256|g;break}i=h[m+2>>0]|0;if(!(i&128)){j=3;e=(e<<14|i)&2080895|g<<7&16256;break}else{j=yv(m,J)|0;j=j&255;e=f[J>>2]|0;break}}else j=1;while(0);l=j+((e|0)/2|0)|0;g=f[u>>2]|0;i=f[v>>2]|0;b:do if((l+g+i|0)>(s|0)){if(f[I>>2]|0)break;e=0;while(1){j=s-g-i|0;g=l-e|0;k=m+e|0;do if((g|0)>(j|0)){do if((b[k>>0]|0)>-1)g=1;else{if((b[k+1>>0]|0)>-1){g=2;break}if((b[k+2>>0]|0)>-1){g=3;break}g=(yv(k,J)|0)&255}while(0);if((g|0)>=(j|0))break;while(1){i=k+g|0;do if((b[i>>0]|0)>-1)i=1;else{if((b[i+1>>0]|0)>-1){i=2;break}if((b[i+2>>0]|0)>-1){i=3;break}i=(yv(i,J)|0)&255}while(0);i=i+g|0;if((i|0)>(j|0))break;else g=i}}while(0);YA((f[w>>2]|0)+(f[u>>2]|0)|0,k|0,g|0)|0;k=(f[u>>2]|0)+g|0;f[u>>2]=k;e=g+e|0;if(((f[v>>2]|0)+k|0)>=(s|0))Wx(a,E);if((e|0)>=(l|0))break b;if(f[I>>2]|0)break b;g=f[u>>2]|0;i=f[v>>2]|0}}else{YA((f[w>>2]|0)+g|0,m|0,l|0)|0;f[u>>2]=(f[u>>2]|0)+l}while(0);e=l+d|0}while(0);d=f[I>>2]|0;if(!((e|0)<(p|0)&(d|0)==0))break;else d=e}}}n=f[(f[y>>2]|0)+4>>2]|0;f[y>>2]=n}while(!(d|0))}while(0);i=C+12|0;d=f[i>>2]|0;j=C+20|0;if((d|0)>0){g=0;do{e=f[(f[j>>2]|0)+(g<<2)>>2]|0;if(e){d=e;do{e=d;d=f[d>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{A=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}}while((d|0)!=0);d=f[i>>2]|0}g=g+1|0}while((g|0)<(d|0))}_A(f[j>>2]|0,0,d<<2|0)|0;f[C+8>>2]=0;Xx(a,E,H);do if(!(f[D+20>>2]|0)){if(!(f[I>>2]|0)){if((Mc()|0)==0?(c=Nc(D,52,0)|0,c|0):0){F=c+24|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;F=c+20|0;f[F>>2]=(f[F>>2]|0)+1;f[K>>2]=c;F=122;break}f[I>>2]=7}c=f[K>>2]|0}else{c=f[K>>2]|0;F=122}while(0);do if((F|0)==122)if(!(f[I>>2]|0)){d=c+28|0;e=((f[d>>2]|0)*12|0)+12|0;g=c+32|0;i=f[g>>2]|0;if((Mc()|0)==0?(G=Nc(i,(e|0)>0?e:0,0)|0,G|0):0){F=G+((f[d>>2]|0)*12|0)|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[g>>2]=G;if(f[I>>2]|0)break;F=f[d>>2]|0;f[d>>2]=F+1;f[G+(F*12|0)>>2]=B;f[G+(F*12|0)+4>>2]=1;f[G+(F*12|0)+8>>2]=f[H>>2];G=c+16|0;f[G>>2]=(f[G>>2]|0)+1;break}f[I>>2]=7}while(0);Yx(a,0,c);e=f[H>>2]|0;d=e;e=((e|0)<0)<<31>>31}c=f[I>>2]|0;if(!c){c=f[(f[a>>2]|0)+72>>2]|0;if((c|0)>0){H=f[K>>2]|0;F=H+8|0;A=F;z=f[A>>2]|0;A=f[A+4>>2]|0;D=KA(z|0,A|0,d|0,e|0)|0;E=ba()|0;G=f[a+8>>2]|0;d=((G|0)<0)<<31>>31;B=SA(D|0,E|0,G|0,d|0)|0;C=ba()|0;d=SA(z|0,A|0,G|0,d|0)|0;d=LA(B|0,C|0,d|0,ba()|0)|0;ba()|0;f[F>>2]=D;f[F+4>>2]=E;d=U(G,d)|0;Zx(a,K,U(d,f[H+20>>2]|0)|0,c)|0;d=f[I>>2]|0}else d=0}else d=c;g=f[(f[a>>2]|0)+76>>2]|0;c=f[K>>2]|0;f[J>>2]=c;c:do if(!d){d=0;e=c;while(1){if((f[e+24+(d*12|0)+4>>2]|0)<(g|0))break c;_x(a,J,d,0);d=d+1|0;c=f[J>>2]|0;Yx(a,d,c);if(!(f[I>>2]|0))e=c;else break}}while(0);f[K>>2]=c;i=c;$x(a,i);do if(c|0?(a=f[i>>2]|0,f[i>>2]=a+-1,(a|0)<2):0){e=i+20|0;if((f[e>>2]|0)>0){d=0;do{g=f[i+24+(d*12|0)+8>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);d=d+1|0}while((d|0)<(f[e>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);t=L;return}function Tx(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;n=o;k=(f[(f[a>>2]|0)+68>>2]|0)+20|0;g=c;h=g+96|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[c>>2]=e;m=a+36|0;do if(!(f[m>>2]|0)){e=c+68|0;g=c+72|0;if((Mc()|0)==0?(i=Nc(0,32,0)|0,i|0):0){h=f[e>>2]|0;_A(i+(h<<5)|0,0,32-(h<<5)|0)|0;f[g>>2]=i;f[e>>2]=1;break}f[m>>2]=7}while(0);f[c+4>>2]=1;b[c+58>>0]=1;f[c+88>>2]=1;i=c+32|0;e=f[i>>2]|0;do if(e>>>0>>0){e=(e|0)==0?64:e;while(1)if(e>>>0>>0)e=e<<1;else break;g=c+24|0;h=f[g>>2]|0;if((Mc()|0)==0?(j=Nc(h,(e|0)>0?e:0,0)|0,j|0):0){f[i>>2]=e;f[g>>2]=j;break}f[m>>2]=7}while(0);i=c+12|0;h=c+20|0;e=f[h>>2]|0;do if(e>>>0>>0){g=(e|0)==0?64:e;while(1)if(g>>>0>>0)g=g<<1;else break;e=f[i>>2]|0;if((Mc()|0)==0?(l=Nc(e,(g|0)>0?g:0,0)|0,l|0):0){f[h>>2]=g;f[i>>2]=l;break}f[m>>2]=7}while(0);h=a+52|0;do if(!(f[h>>2]|0)){g=f[a>>2]|0;e=f[g+8>>2]|0;f[n>>2]=f[g+4>>2];f[n+4>>2]=e;e=wd(70182,n)|0;g=(e|0)==0;do if(f[m>>2]|0){if(g){t=o;return}}else{if(!g){a=Ki(f[f[a>>2]>>2]|0,e,-1,129,0,h,0)|0;f[m>>2]=a;break}f[m>>2]=7;t=o;return}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);if(f[m>>2]|0){t=o;return}e=f[i>>2]|0;b[e>>0]=0;b[e+1>>0]=0;b[e+2>>0]=0;b[e+3>>0]=0;f[c+16>>2]=4;e=f[h>>2]|0;h=f[c>>2]|0;i=((h|0)<0)<<31>>31;if(Op(e,1)|0){t=o;return}e=f[e+116>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){c=e;f[c>>2]=h;f[c+4>>2]=i;d[g>>1]=4;t=o;return}else{bf(e,h,i);t=o;return}}function Ux(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=c+4|0;u=c+12|0;v=c+16|0;h=f[v>>2]|0;p=c+28|0;do if((d+2+h+(f[p>>2]|0)|0)>=(f[(f[a>>2]|0)+68>>2]|0)){if((h|0)>4){Wx(a,c);h=f[v>>2]|0}l=d+20+h|0;m=c+20|0;h=f[m>>2]|0;if(l>>>0>h>>>0){n=a+36|0;j=(h|0)==0?64:h;while(1)if(j>>>0>>0)j=j<<1;else break;h=f[u>>2]|0;if((Mc()|0)==0?(o=Nc(h,(j|0)>0?j:0,0)|0,o|0):0){f[m>>2]=j;f[u>>2]=o;break}f[n>>2]=7}}while(0);h=(f[c+24>>2]|0)+(f[p>>2]|0)|0;m=c+8|0;j=(f[v>>2]|0)-(f[m>>2]|0)|0;l=((j|0)<0)<<31>>31;do if(j>>>0>=128)if(j>>>0<16384){t=VA(j|0,l|0,7)|0;ba()|0;b[h>>0]=t&255|-128;b[h+1>>0]=j&127;h=2;break}else{h=Zv(h,j,l)|0;break}else{b[h>>0]=j&127;h=1}while(0);f[p>>2]=(f[p>>2]|0)+h;h=f[v>>2]|0;f[m>>2]=h;t=c+58|0;a:do if(!(b[t>>0]|0)){l=f[c+40>>2]|0;m=f[c+36>>2]|0;b:do if((l|0)>0){j=0;do{if((b[m+j>>0]|0)!=(b[e+j>>0]|0))break b;j=j+1|0}while((j|0)<(l|0))}else j=0;while(0);o=a+36|0;p=((j|0)<0)<<31>>31;m=h+9|0;n=c+20|0;l=f[n>>2]|0;do if(m>>>0>l>>>0){l=(l|0)==0?64:l;while(1)if(l>>>0>>0)l=l<<1;else break;h=f[u>>2]|0;if((Mc()|0)==0?(k=Nc(h,(l|0)>0?l:0,0)|0,k|0):0){f[n>>2]=l;f[u>>2]=k;h=f[v>>2]|0;break}f[o>>2]=7;break a}else k=f[u>>2]|0;while(0);h=k+h|0;do if(j>>>0>=128)if(j>>>0<16384){q=VA(j|0,p|0,7)|0;ba()|0;b[h>>0]=q&255|-128;b[h+1>>0]=j&127;h=2;break}else{h=Zv(h,j,p)|0;break}else{b[h>>0]=j&127;h=1}while(0);f[v>>2]=(f[v>>2]|0)+h}else{if((f[w>>2]|0)==1){j=0;o=a+36|0;break}j=f[c+40>>2]|0;if(!j)n=d;else{k=f[c+36>>2]|0;c:do if((j|0)>0){h=0;do{if((b[k+h>>0]|0)!=(b[e+h>>0]|0))break c;h=h+1|0}while((h|0)<(j|0))}else h=0;while(0);n=h+1|0}cy(a,c);o=a+36|0;k=c+76|0;m=c+80|0;f[m>>2]=0;d:do if(n|0){l=c+84|0;h=f[l>>2]|0;do if(h>>>0>>0){h=(h|0)==0?64:h;while(1)if(h>>>0>>0)h=h<<1;else break;j=f[k>>2]|0;if((Mc()|0)==0?(q=Nc(j,(h|0)>0?h:0,0)|0,q|0):0){f[l>>2]=h;f[k>>2]=q;h=q;j=f[m>>2]|0;break}f[o>>2]=7;break d}else{h=f[k>>2]|0;j=0}while(0);YA(h+j|0,e|0,n|0)|0;f[m>>2]=(f[m>>2]|0)+n}while(0);f[c+88>>2]=f[c+4>>2];j=0}while(0);p=d-j|0;m=((p|0)<0)<<31>>31;h=f[v>>2]|0;l=h+9|0;n=c+20|0;k=f[n>>2]|0;do if(l>>>0>k>>>0){k=(k|0)==0?64:k;while(1)if(k>>>0>>0)k=k<<1;else break;h=f[u>>2]|0;if((Mc()|0)==0?(r=Nc(h,(k|0)>0?k:0,0)|0,r|0):0){f[n>>2]=k;f[u>>2]=r;k=r;h=f[v>>2]|0;s=62;break}f[o>>2]=7}else{k=f[u>>2]|0;s=62}while(0);if((s|0)==62){h=k+h|0;do if(p>>>0>=128)if(p>>>0<16384){s=VA(p|0,m|0,7)|0;ba()|0;b[h>>0]=s&255|-128;b[h+1>>0]=p&127;h=2;break}else{h=Zv(h,p,m)|0;break}else{b[h>>0]=p&127;h=1}while(0);f[v>>2]=(f[v>>2]|0)+h}l=e+j|0;e:do if(p|0){h=f[v>>2]|0;k=h+p|0;j=f[n>>2]|0;do if(k>>>0>j>>>0){j=(j|0)==0?64:j;while(1)if(j>>>0>>0)j=j<<1;else break;h=f[u>>2]|0;if((Mc()|0)==0?(i=Nc(h,(j|0)>0?j:0,0)|0,i|0):0){f[n>>2]=j;f[u>>2]=i;h=f[v>>2]|0;break}f[o>>2]=7;break e}else i=f[u>>2]|0;while(0);YA(i+h|0,l|0,p|0)|0;f[v>>2]=(f[v>>2]|0)+p}while(0);j=c+36|0;l=c+40|0;f[l>>2]=0;if(!d){b[t>>0]=0;e=c+57|0;b[e>>0]=0;e=c+56|0;b[e>>0]=1;e=f[w>>2]|0;w=c+72|0;w=f[w>>2]|0;f[w>>2]=e;return}k=c+44|0;h=f[k>>2]|0;do if(h>>>0>>0){h=(h|0)==0?64:h;while(1)if(h>>>0>>0)h=h<<1;else break;i=f[j>>2]|0;if((Mc()|0)==0?(g=Nc(i,(h|0)>0?h:0,0)|0,g|0):0){f[k>>2]=h;f[j>>2]=g;h=f[l>>2]|0;break}f[o>>2]=7;b[t>>0]=0;e=c+57|0;b[e>>0]=0;e=c+56|0;b[e>>0]=1;e=f[w>>2]|0;w=c+72|0;w=f[w>>2]|0;f[w>>2]=e;return}else{g=f[j>>2]|0;h=0}while(0);YA(g+h|0,e|0,d|0)|0;f[l>>2]=(f[l>>2]|0)+d;b[t>>0]=0;e=c+57|0;b[e>>0]=0;e=c+56|0;b[e>>0]=1;e=f[w>>2]|0;w=c+72|0;w=f[w>>2]|0;f[w>>2]=e;return}function Vx(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=t;t=t+16|0;B=I;D=a+36|0;if(f[D>>2]|0){t=I;return}E=c+72|0;F=c+4|0;v=c+68|0;u=0;s=0;while(1){h=f[E>>2]|0;g=h+(u<<5)|0;i=h+(u<<5)+20|0;if((f[i>>2]|0)<(f[(f[a>>2]|0)+68>>2]|0))q=1;else{r=h+(u<<5)+16|0;b[f[r>>2]>>0]=1;p=WA(f[c>>2]|0,0,37)|0;q=ba()|0|16;n=WA(u|0,0,31)|0;o=ba()|0;g=f[g>>2]|0;g=KA(n|0,o|0,g|0,((g|0)<0)<<31>>31|0)|0;q=KA(g|0,ba()|0,p|0,q|0)|0;g=ba()|0;ay(a,q,g,f[r>>2]|0,f[i>>2]|0);g=u+2|0;a:do if(!(f[D>>2]|0)){do if((f[v>>2]|0)>(g|0)){h=f[E>>2]|0;g=h+(u<<5)|0}else{h=f[E>>2]|0;i=g<<5;if((Mc()|0)==0?(C=Nc(h,(i|0)>0?i:0,0)|0,C|0):0){r=f[v>>2]|0;_A(C+(r<<5)|0,0,g-r<<5|0)|0;f[E>>2]=C;f[v>>2]=g;g=C+(u<<5)|0;if(!(f[D>>2]|0)){h=C;break}else{h=C;break a}}f[D>>2]=7;H=10;break a}while(0);n=g+48|0;p=g+52|0;if(!(f[p>>2]|0)){q=h+(u<<5)+16|0;r=((yv((f[q>>2]|0)+1|0,B)|0)&255)+1|0;yv((f[q>>2]|0)+r|0,B)|0;r=B;q=f[r>>2]|0;r=f[r+4>>2]|0;f[g+32>>2]=f[g>>2];i=f[p>>2]|0;k=i+9|0;o=g+56|0;j=f[o>>2]|0;do if(k>>>0>j>>>0){j=(j|0)==0?64:j;while(1)if(j>>>0>>0)j=j<<1;else break;i=f[n>>2]|0;if((Mc()|0)==0?(G=Nc(i,(j|0)>0?j:0,0)|0,G|0):0){f[o>>2]=j;f[n>>2]=G;j=G;i=f[p>>2]|0;H=21;break}f[D>>2]=7;i=f[p>>2]|0}else{j=f[n>>2]|0;H=21}while(0);if((H|0)==21){H=0;b[j+i>>0]=0;i=(f[p>>2]|0)+1|0;f[p>>2]=i}m=f[g>>2]|0;l=((m|0)<0)<<31>>31;k=i+9|0;j=f[o>>2]|0;do if(k>>>0>j>>>0){j=(j|0)==0?64:j;while(1)if(j>>>0>>0)j=j<<1;else break;i=f[n>>2]|0;if((Mc()|0)==0?(w=Nc(i,(j|0)>0?j:0,0)|0,w|0):0){f[o>>2]=j;f[n>>2]=w;j=w;i=f[p>>2]|0;H=30;break}f[D>>2]=7;i=f[p>>2]|0}else{j=f[n>>2]|0;H=30}while(0);if((H|0)==30){H=0;i=j+i|0;do if(m>>>0>=128)if(m>>>0<16384){l=VA(m|0,l|0,7)|0;ba()|0;b[i>>0]=l&255|-128;b[i+1>>0]=m&127;i=2;break}else{i=Zv(i,m,l)|0;break}else{b[i>>0]=m&127;i=1}while(0);i=(f[p>>2]|0)+i|0;f[p>>2]=i}k=i+9|0;j=f[o>>2]|0;do if(k>>>0>j>>>0){j=(j|0)==0?64:j;while(1)if(j>>>0>>0)j=j<<1;else break;i=f[n>>2]|0;if((Mc()|0)==0?(x=Nc(i,(j|0)>0?j:0,0)|0,x|0):0){f[o>>2]=j;f[n>>2]=x;j=x;i=f[p>>2]|0;H=44;break}f[D>>2]=7}else{j=f[n>>2]|0;H=44}while(0);if((H|0)==44){H=0;i=j+i|0;do if(!(r>>>0<0|(r|0)==0&q>>>0<128))if(r>>>0<0|(r|0)==0&q>>>0<16384){o=VA(q|0,r|0,7)|0;ba()|0;b[i>>0]=o&255|-128;b[i+1>>0]=q&127;i=2;break}else{i=Zv(i,q,r)|0;break}else{b[i>>0]=q&127;i=1}while(0);f[p>>2]=(f[p>>2]|0)+i}f[g+36>>2]=1;p=g+40|0;f[p>>2]=q;f[p+4>>2]=r}}else H=10;while(0);if((H|0)==10){H=0;g=f[E>>2]|0;h=g;g=g+(u<<5)|0}f[h+(u<<5)+20>>2]=0;f[h+(u<<5)+4>>2]=0;f[g>>2]=(f[g>>2]|0)+1;q=s}r=g+4|0;b:do if(!(f[r>>2]|0)){n=f[((u|0)==0?F:g+-32|0)>>2]|0;p=((n|0)<0)<<31>>31;m=g+16|0;k=(q|0)==0;o=g+20|0;h=f[o>>2]|0;j=h+9|0;l=g+24|0;i=f[l>>2]|0;do if(j>>>0>i>>>0){i=(i|0)==0?64:i;while(1)if(i>>>0>>0)i=i<<1;else break;h=f[m>>2]|0;if((Mc()|0)==0?(y=Nc(h,(i|0)>0?i:0,0)|0,y|0):0){f[l>>2]=i;f[m>>2]=y;i=y;h=f[o>>2]|0;H=62;break}f[D>>2]=7;h=f[o>>2]|0}else{i=f[m>>2]|0;H=62}while(0);if((H|0)==62){H=0;b[i+h>>0]=k&1;h=(f[o>>2]|0)+1|0;f[o>>2]=h}j=h+9|0;i=f[l>>2]|0;do if(j>>>0>i>>>0){i=(i|0)==0?64:i;while(1)if(i>>>0>>0)i=i<<1;else break;h=f[m>>2]|0;if((Mc()|0)==0?(z=Nc(h,(i|0)>0?i:0,0)|0,z|0):0){f[l>>2]=i;f[m>>2]=z;i=z;h=f[o>>2]|0;break}f[D>>2]=7;m=e;n=d;break b}else i=f[m>>2]|0;while(0);h=i+h|0;do if(n>>>0>=128)if(n>>>0<16384){s=VA(n|0,p|0,7)|0;ba()|0;b[h>>0]=s&255|-128;b[h+1>>0]=n&127;h=2;break}else{h=Zv(h,n,p)|0;break}else{b[h>>0]=n&127;h=1}while(0);f[o>>2]=(f[o>>2]|0)+h;m=e;n=d}else{n=g+8|0;n=LA(d|0,e|0,f[n>>2]|0,f[n+4>>2]|0)|0;o=g+20|0;l=g+24|0;m=ba()|0}while(0);h=f[o>>2]|0;k=h+9|0;i=f[l>>2]|0;do if(k>>>0>i>>>0){j=(i|0)==0?64:i;while(1)if(j>>>0>>0)j=j<<1;else break;h=g+16|0;i=f[h>>2]|0;if((Mc()|0)==0?(A=Nc(i,(j|0)>0?j:0,0)|0,A|0):0){f[l>>2]=j;f[h>>2]=A;i=A;h=f[o>>2]|0;H=85;break}f[D>>2]=7;h=7}else{i=f[g+16>>2]|0;H=85}while(0);if((H|0)==85){H=0;h=i+h|0;do if(!(m>>>0<0|(m|0)==0&n>>>0<128))if(m>>>0<0|(m|0)==0&n>>>0<16384){s=VA(n|0,m|0,7)|0;ba()|0;b[h>>0]=s&255|-128;b[h+1>>0]=n&127;h=2;break}else{h=Zv(h,n,m)|0;break}else{b[h>>0]=n&127;h=1}while(0);f[o>>2]=(f[o>>2]|0)+h;h=f[D>>2]|0}f[r>>2]=1;s=g+8|0;f[s>>2]=d;f[s+4>>2]=e;if(!(h|q)){u=u+1|0;s=q}else break}t=I;return}function Wx(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=c+12|0;p=f[o>>2]|0;q=c+16|0;n=f[q>>2]|0;b[p+2>>0]=(n&65535)>>>8;b[p+3>>0]=n;p=c+58|0;a:do if(!(b[p>>0]|0)){i=a+36|0;e=c+28|0;m=f[e>>2]|0;n=f[c+24>>2]|0;if(m){g=f[q>>2]|0;k=g+m|0;l=c+20|0;j=f[l>>2]|0;do if(k>>>0>j>>>0){j=(j|0)==0?64:j;while(1)if(j>>>0>>0)j=j<<1;else break;g=f[o>>2]|0;if((Mc()|0)==0?(h=Nc(g,(j|0)>0?j:0,0)|0,h|0):0){f[l>>2]=j;f[o>>2]=h;g=f[q>>2]|0;break}f[i>>2]=7;break a}else h=f[o>>2]|0;while(0);YA(h+g|0,n|0,m|0)|0;f[q>>2]=(f[q>>2]|0)+m}}else{b:do if(b[c+57>>0]|0?(i=f[c+72>>2]|0,m=i+20|0,e=f[m>>2]|0,(e|0)>0):0){k=i+16|0;l=a+36|0;j=e+9|0;i=i+24|0;h=f[i>>2]|0;do if(j>>>0>h>>>0){h=(h|0)==0?64:h;while(1)if(h>>>0>>0)h=h<<1;else break;e=f[k>>2]|0;if((Mc()|0)==0?(g=Nc(e,(h|0)>0?h:0,0)|0,g|0):0){f[i>>2]=h;f[k>>2]=g;e=f[m>>2]|0;break}f[l>>2]=7;break b}else g=f[k>>2]|0;while(0);b[g+e>>0]=0;f[m>>2]=(f[m>>2]|0)+1}while(0);i=c+64|0;f[i>>2]=(f[i>>2]|0)+1;i=a+36|0;e=c+28|0}while(0);m=WA(f[c>>2]|0,0,37)|0;h=ba()|0;j=c+4|0;n=f[j>>2]|0;n=KA(m|0,h|0,n|0,((n|0)<0)<<31>>31|0)|0;h=ba()|0;ay(a,n,h,f[o>>2]|0,f[q>>2]|0);f[q>>2]=0;f[e>>2]=0;h=c+20|0;e=f[h>>2]|0;do if(e>>>0<4){e=(e|0)==0?64:e;while(1)if(e>>>0<4)e=e<<1;else break;g=f[o>>2]|0;if((Mc()|0)==0?(d=Nc(g,(e|0)>0?e:0,0)|0,d|0):0){f[h>>2]=e;f[o>>2]=d;e=f[q>>2]|0;break}f[i>>2]=7;q=c+8|0;f[q>>2]=0;q=f[j>>2]|0;q=q+1|0;f[j>>2]=q;q=c+60|0;o=f[q>>2]|0;o=o+1|0;f[q>>2]=o;b[p>>0]=1;q=c+57|0;b[q>>0]=1;return}else{d=f[o>>2]|0;e=0}while(0);o=d+e|0;b[o>>0]=0;b[o+1>>0]=0;b[o+2>>0]=0;b[o+3>>0]=0;f[q>>2]=(f[q>>2]|0)+4;q=c+8|0;f[q>>2]=0;q=f[j>>2]|0;q=q+1|0;f[j>>2]=q;q=c+60|0;o=f[q>>2]|0;o=o+1|0;f[q>>2]=o;b[p>>0]=1;q=c+57|0;b[q>>0]=1;return} -function mn(a,c,e,g,i,k,l,m,n,o,p,q,r){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;Ia=t;t=t+48|0;V=Ia+16|0;T=Ia+8|0;M=Ia;Q=Ia+20|0;Fa=(l|0)!=0;W=f[a>>2]|0;Ga=a+8|0;s=f[Ga>>2]|0;if(!s){if((f[a+116>>2]|0)==0?(d[W+76>>1]&8)==0:0)b[a+23>>0]=1;Ha=sl(a)|0}else Ha=s;u=d[c+42>>1]|0;J=u<<16>>16;Ea=c+36|0;if(!(f[Ea>>2]&32)){Da=0;Ca=1}else{s=c+8|0;while(1){s=f[s>>2]|0;Da=s+55|0;if(((h[Da>>0]|h[Da+1>>0]<<8)&3)==2)break;else s=s+20|0}Da=s;Ca=j[s+50>>1]|0}if(u<<16>>16>0){A=c+40|0;B=(q|0)==0;C=c+4|0;D=n<<24>>24==11;E=k+1|0;F=Ha+136|0;G=Ha+12|0;H=a+116|0;I=Ha+88|0;z=0;do{a:do if((z|0)!=(d[A>>1]|0)){if(!B?(f[q+(z<<2)>>2]|0)<0:0)break;u=f[C>>2]|0;s=b[u+(z<<4)+12>>0]|0;if(s<<24>>24){Aa=D?(s<<24>>24==11?2:s):n;s=Aa&255;if(Aa<<24>>24==5)s=(f[u+(z<<4)+4>>2]|0)==0?2:s;switch((s&255)<<24>>24){case 2:{Aa=f[H>>2]|0;b[((Aa|0)==0?a:Aa)+21>>0]=1;break}case 3:case 1:break;case 4:{s=z+E|0;u=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(u|0)){f[F>>2]=u+1;Aa=f[I>>2]|0;b[Aa+(u*20|0)>>0]=50;d[Aa+(u*20|0)+2>>1]=0;f[Aa+(u*20|0)+4>>2]=s;f[Aa+(u*20|0)+8>>2]=o;f[Aa+(u*20|0)+12>>2]=0;f[Aa+(u*20|0)+16>>2]=0;b[Aa+(u*20|0)+1>>0]=0;break a}else{tl(Ha,50,s,o,0)|0;break a}}default:{y=z+E|0;s=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(s|0)){f[F>>2]=s+1;Aa=f[I>>2]|0;b[Aa+(s*20|0)>>0]=51;d[Aa+(s*20|0)+2>>1]=0;f[Aa+(s*20|0)+4>>2]=y;f[Aa+(s*20|0)+8>>2]=0;f[Aa+(s*20|0)+12>>2]=0;f[Aa+(s*20|0)+16>>2]=0;b[Aa+(s*20|0)+1>>0]=0}else s=tl(Ha,51,y,0,0)|0;u=f[(f[C>>2]|0)+(z<<4)+4>>2]|0;do if(u){if((b[u>>0]|0)!=-92){L=xl(a,u,y)|0;Ba=50;break}x=f[Ga>>2]|0;u=f[u+28>>2]|0;v=x+136|0;w=f[v>>2]|0;if((f[(f[x+12>>2]|0)+48>>2]|0)>(w|0)){f[v>>2]=w+1;Aa=f[x+88>>2]|0;b[Aa+(w*20|0)>>0]=78;d[Aa+(w*20|0)+2>>1]=0;f[Aa+(w*20|0)+4>>2]=u;f[Aa+(w*20|0)+8>>2]=y;f[Aa+(w*20|0)+12>>2]=0;f[Aa+(w*20|0)+16>>2]=0;b[Aa+(w*20|0)+1>>0]=0;break}else{tl(x,78,u,y,0)|0;break}}else{L=xl(a,0,y)|0;Ba=50}while(0);do if(((Ba|0)==50?(Ba=0,(L|0)!=(y|0)):0)?(K=f[Ga>>2]|0,K|0):0){u=K+136|0;v=f[u>>2]|0;if((f[(f[K+12>>2]|0)+48>>2]|0)>(v|0)){f[u>>2]=v+1;Aa=f[K+88>>2]|0;b[Aa+(v*20|0)>>0]=79;d[Aa+(v*20|0)+2>>1]=0;f[Aa+(v*20|0)+4>>2]=L;f[Aa+(v*20|0)+8>>2]=y;f[Aa+(v*20|0)+12>>2]=0;f[Aa+(v*20|0)+16>>2]=0;b[Aa+(v*20|0)+1>>0]=0;break}else{tl(K,79,L,y,0)|0;break}}while(0);u=f[F>>2]|0;if(!(b[(f[Ha>>2]|0)+81>>0]|0))s=(f[I>>2]|0)+(((s|0)<0?u+-1|0:s)*20|0)|0;else s=72144;f[s+8>>2]=u;break a}}w=f[u+(z<<4)>>2]|0;f[M>>2]=f[c>>2];f[M+4>>2]=w;w=Ig(W,50225,M)|0;u=z+E|0;v=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(v|0)){f[F>>2]=v+1;Aa=f[I>>2]|0;b[Aa+(v*20|0)>>0]=68;d[Aa+(v*20|0)+2>>1]=0;f[Aa+(v*20|0)+4>>2]=1299;f[Aa+(v*20|0)+8>>2]=s;f[Aa+(v*20|0)+12>>2]=u;f[Aa+(v*20|0)+16>>2]=0;b[Aa+(v*20|0)+1>>0]=0}else tl(Ha,68,1299,s,u)|0;s=f[Ha>>2]|0;do if(b[s+81>>0]|0){if(w|0){if(s|0){if(f[s+480>>2]|0){Kc(s,w);break}Aa=w;if((f[s+304>>2]|0)>>>0<=Aa>>>0?(f[s+308>>2]|0)>>>0>Aa>>>0:0){Aa=s+300|0;f[w>>2]=f[Aa>>2];f[Aa>>2]=w;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{Aa=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-Aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}}}else{za=f[I>>2]|0;Aa=(f[F>>2]|0)+-1|0;b[za+(Aa*20|0)+1>>0]=-7;f[za+(Aa*20|0)+16>>2]=w}while(0);s=f[F>>2]|0;if((s|0)>0)d[(f[I>>2]|0)+((s+-1|0)*20|0)+2>>1]=1}}while(0);z=z+1|0}while((z|0)!=(J|0))}F=f[c+24>>2]|0;if(F|0?(0==0?(f[W+32>>2]&512|0)==0:0):0){G=a+56|0;f[G>>2]=~k;if((f[F>>2]|0)>0){H=(q|0)==0;E=Ha+12|0;I=Q+20|0;J=Q+4|0;K=Q+24|0;L=m<<24>>24==0;M=Ha+136|0;N=Ha+88|0;O=a+116|0;P=a+23|0;D=0;s=n<<24>>24==11?2:n&255;do{B=f[F+4+(D*20|0)>>2]|0;if(!H){f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;f[Q+16>>2]=0;f[Q+20>>2]=0;f[J>>2]=164;f[K>>2]=q;if(!B)v=0;else{oi(Q,B)|0;v=b[I>>0]|0}u=v&-3;if(L)b[I>>0]=u;else u=v;if(u<<24>>24)Ba=69}else Ba=69;if((Ba|0)==69){Ba=0;u=f[E>>2]|0;A=u+60|0;C=f[A>>2]|0;f[A>>2]=C+1;A=u+64|0;if(!(C+-1&C)){y=C<<3|4;z=f[u>>2]|0;u=f[A>>2]|0;b:do if(u){w=u;x=z+304|0;if(((f[x>>2]|0)>>>0<=w>>>0?(f[z+308>>2]|0)>>>0>w>>>0:0)?!(0<0|(0==0?(j[z+276>>1]|0)>>>0>>0:0)):0)break;v=Lc(z,u,y,0)|0;if(!v){if(f[z+480>>2]|0){Kc(z,u);u=0;break}do if((f[x>>2]|0)>>>0<=w>>>0){if((f[z+308>>2]|0)>>>0<=w>>>0)break;Aa=z+300|0;f[u>>2]=f[Aa>>2];f[Aa>>2]=u;u=0;break b}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](u);u=0;break}else{Aa=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-Aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);u=0;break}}else u=v}else{if(f[z+272>>2]|0){if(b[z+81>>0]|0){u=0;break}}else{do if(!(0<0|(0==0?(j[z+276>>1]|0)>>>0>>0:0))){v=z+300|0;u=f[v>>2]|0;if(u|0){f[v>>2]=f[u>>2];Aa=z+284|0;f[Aa>>2]=(f[Aa>>2]|0)+1;break b}v=z+296|0;u=f[v>>2]|0;if(!u){u=z+292|0;break}else{f[v>>2]=f[u>>2];Aa=z+284|0;f[Aa>>2]=(f[Aa>>2]|0)+1;break b}}else u=z+288|0;while(0);f[u>>2]=(f[u>>2]|0)+1}u=Dc(z,y,0)|0}while(0);f[A>>2]=u}else u=f[A>>2]|0;if(u|0)f[u+(C<<2)>>2]=-1;Cm(a,B,~C,16);do if((s|0)==4){s=f[M>>2]|0;if((f[(f[E>>2]|0)+48>>2]|0)>(s|0)){f[M>>2]=s+1;Aa=f[N>>2]|0;b[Aa+(s*20|0)>>0]=11;d[Aa+(s*20|0)+2>>1]=0;f[Aa+(s*20|0)+4>>2]=0;f[Aa+(s*20|0)+8>>2]=o;f[Aa+(s*20|0)+12>>2]=0;f[Aa+(s*20|0)+16>>2]=0;b[Aa+(s*20|0)+1>>0]=0;s=4;break}else{tl(Ha,11,0,o,0)|0;s=4;break}}else{u=f[F+4+(D*20|0)+4>>2]|0;if(!u)u=f[c>>2]|0;s=(s|0)==5?2:s;v=f[Ga>>2]|0;if(!v){do if(!(f[O>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[P>>0]=1}while(0);v=sl(a)|0}if((s|0)==2){Aa=f[O>>2]|0;b[((Aa|0)==0?a:Aa)+21>>0]=1}x=v+136|0;w=f[x>>2]|0;if((f[(f[v+12>>2]|0)+48>>2]|0)>(w|0)){f[x>>2]=w+1;Aa=f[v+88>>2]|0;b[Aa+(w*20|0)>>0]=69;d[Aa+(w*20|0)+2>>1]=0;f[Aa+(w*20|0)+4>>2]=275;f[Aa+(w*20|0)+8>>2]=s;f[Aa+(w*20|0)+12>>2]=0;f[Aa+(w*20|0)+16>>2]=0;b[Aa+(w*20|0)+1>>0]=0}else w=tl(v,69,275,s,0)|0;if(!(b[(f[v>>2]|0)+81>>0]|0)){if((w|0)<0)w=(f[x>>2]|0)+-1|0;ul(v,(f[v+88>>2]|0)+(w*20|0)|0,u,0)}u=f[x>>2]|0;if((u|0)<=0)break;d[(f[v+88>>2]|0)+((u+-1|0)*20|0)+2>>1]=3}while(0);u=f[(f[E>>2]|0)+64>>2]|0;if(u)f[u+(C<<2)>>2]=f[M>>2]}D=D+1|0}while((D|0)<(f[F>>2]|0))}f[G>>2]=0}do if(r)if(f[r>>2]|0){u=f[r+16>>2]|0;if(u){s=Ha+136|0;v=f[s>>2]|0;if((f[(f[Ha+12>>2]|0)+48>>2]|0)>(v|0)){f[s>>2]=v+1;x=f[Ha+88>>2]|0;b[x+(v*20|0)>>0]=11;x=x+(v*20|0)+1|0;y=x+19|0;do{b[x>>0]=0;x=x+1|0}while((x|0)<(y|0));Aa=u;za=v;break}else{Aa=u;za=tl(Ha,11,0,0,0)|0;break}}else{Aa=0;za=0}}else{n=4;r=0;Aa=0;za=0}else{r=0;Aa=0;za=0}while(0);if(m<<24>>24!=0&(Da|0)==0){E=Ha+12|0;s=f[E>>2]|0;z=s+60|0;F=f[z>>2]|0;f[z>>2]=F+1;z=s+64|0;if(!(F+-1&F)){x=F<<3|4;y=f[s>>2]|0;s=f[z>>2]|0;c:do if(s){v=s;w=y+304|0;if(((f[w>>2]|0)>>>0<=v>>>0?(f[y+308>>2]|0)>>>0>v>>>0:0)?!(0<0|(0==0?(j[y+276>>1]|0)>>>0>>0:0)):0)break;u=Lc(y,s,x,0)|0;if(!u){if(f[y+480>>2]|0){Kc(y,s);s=0;break}if((f[w>>2]|0)>>>0<=v>>>0?(f[y+308>>2]|0)>>>0>v>>>0:0){ya=y+300|0;f[s>>2]=f[ya>>2];f[ya>>2]=s;s=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](s);s=0;break}else{ya=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);s=0;break}}else s=u}else{if(f[y+272>>2]|0){if(b[y+81>>0]|0){s=0;break}}else{do if(!(0<0|(0==0?(j[y+276>>1]|0)>>>0>>0:0))){u=y+300|0;s=f[u>>2]|0;if(s|0){f[u>>2]=f[s>>2];ya=y+284|0;f[ya>>2]=(f[ya>>2]|0)+1;break c}u=y+296|0;s=f[u>>2]|0;if(!s){s=y+292|0;break}else{f[u>>2]=f[s>>2];ya=y+284|0;f[ya>>2]=(f[ya>>2]|0)+1;break c}}else s=y+288|0;while(0);f[s>>2]=(f[s>>2]|0)+1}s=Dc(y,x,0)|0}while(0);f[z>>2]=s}else s=f[z>>2]|0;if(s|0)f[s+(F<<2)>>2]=-1;w=~F;u=b[c+48>>0]|0;s=n&255;u=n<<24>>24==11?(u<<24>>24==11?2:u&255):s;if((r|0)!=0?(f[r+16>>2]|0)==0:0){D=0;u=(f[r+8>>2]|0)==0?4:6}else Ba=163;do if((Ba|0)==163)if(!((u|0)!=5|(u|0)==(s|0)))if(f[c+8>>2]|0){s=Ha+136|0;u=f[s>>2]|0;if((f[(f[E>>2]|0)+48>>2]|0)>(u|0)){v=u+1|0;f[s>>2]=v;x=f[Ha+88>>2]|0;b[x+(u*20|0)>>0]=11;x=x+(u*20|0)+1|0;y=x+19|0;do{b[x>>0]=0;x=x+1|0}while((x|0)<(y|0));D=v;u=5;break}else{D=(tl(Ha,11,0,0,0)|0)+1|0;u=5;break}}else{D=0;u=5}else D=0;while(0);C=Ha+136|0;s=f[C>>2]|0;if(Fa){if((f[(f[E>>2]|0)+48>>2]|0)>(s|0)){f[C>>2]=s+1;ya=f[Ha+88>>2]|0;b[ya+(s*20|0)>>0]=53;d[ya+(s*20|0)+2>>1]=0;f[ya+(s*20|0)+4>>2]=k;f[ya+(s*20|0)+8>>2]=w;f[ya+(s*20|0)+12>>2]=l;f[ya+(s*20|0)+16>>2]=0;b[ya+(s*20|0)+1>>0]=0}else tl(Ha,53,k,w,l)|0;s=f[C>>2]|0;if((s|0)>0)d[(f[Ha+88>>2]|0)+((s+-1|0)*20|0)+2>>1]=144}if((f[(f[E>>2]|0)+48>>2]|0)>(s|0)){f[C>>2]=s+1;ya=f[Ha+88>>2]|0;b[ya+(s*20|0)>>0]=31;d[ya+(s*20|0)+2>>1]=0;f[ya+(s*20|0)+4>>2]=g;f[ya+(s*20|0)+8>>2]=w;f[ya+(s*20|0)+12>>2]=k;f[ya+(s*20|0)+16>>2]=0;b[ya+(s*20|0)+1>>0]=0}else tl(Ha,31,g,w,k)|0;d:do switch(u|0){case 3:case 2:case 1:{w=u;Ba=179;break}case 5:{s=f[a>>2]|0;B=f[s+32>>2]|0;do if(!((0==0?(f[W+32>>2]&8192|0)==0:0)|(B&262144|0)==0&0==0)?(R=f[(f[s+16>>2]|0)+28>>2]|0,(b[a+142>>0]|0)==0):0){A=f[c+72>>2]|0;if((A|0)!=(R|0)?(S=f[R+48>>2]|0,(S|0)!=0):0){z=c+68|0;y=S;s=0;do{x=f[y+8>>2]|0;do if((f[x+24>>2]|0)==(A|0)){v=f[x+4>>2]|0;w=f[c>>2]|0;ya=b[v>>0]|0;u=(h[1232+(ya&255)>>0]|0)-(h[1232+(h[w>>0]|0)>>0]|0)|0;if(!(ya<<24>>24==0|(u|0)!=0))do{v=v+1|0;w=w+1|0;ya=b[v>>0]|0;u=(h[1232+(ya&255)>>0]|0)-(h[1232+(h[w>>0]|0)>>0]|0)|0}while(!(ya<<24>>24==0|(u|0)!=0));if(u|0)break;if(!s)s=f[z>>2]|0;f[x+32>>2]=s;s=x}while(0);y=f[y>>2]|0}while((y|0)!=0);if(!s)Ba=226}else Ba=226;if((Ba|0)==226){s=f[c+68>>2]|0;if(!s){Ba=232;break}}u=0;v=s;do{if((b[v+8>>0]|0)==117)u=u|h[v+9>>0];v=f[v+32>>2]|0}while((v|0)!=0);if((s|0)==0|(u|0)==0)Ba=232}else Ba=232;while(0);do if((Ba|0)==232){if(!((B&16384|0)==0&0==0)){z=f[c>>2]|0;w=f[c+72>>2]|0;x=f[w+68>>2]|0;if(!x){u=w+60|0;s=w+64|0}else{u=b[z>>0]|0;if(!(u<<24>>24))s=0;else{s=0;v=z;do{v=v+1|0;s=U(s+(h[1232+(u&255)>>0]|0)|0,-1640531535)|0;u=b[v>>0]|0}while(u<<24>>24!=0)}s=(s>>>0)%((f[w+56>>2]|0)>>>0)|0;u=x+(s<<3)|0;s=x+(s<<3)+4|0}u=f[u>>2]|0;e:do if(!u)s=72124;else{y=h[1232+(h[z>>0]|0)>>0]|0;while(1){s=f[s>>2]|0;u=u+-1|0;w=f[s+12>>2]|0;ya=b[w>>0]|0;v=(h[1232+(ya&255)>>0]|0)-y|0;if(!(ya<<24>>24==0|(v|0)!=0)){x=z;do{w=w+1|0;x=x+1|0;ya=b[w>>0]|0;v=(h[1232+(ya&255)>>0]|0)-(h[1232+(h[x>>0]|0)>>0]|0)|0}while(!(ya<<24>>24==0|(v|0)!=0))}if(!v)break e;if(!u){s=72124;break}}}while(0);if(f[s+8>>2]|0){s=0;break}if(f[c+16>>2]|0){s=0;break}}if(!(f[c+8>>2]|0)){w=1;break d}w=f[a+116>>2]|0;b[((w|0)==0?a:w)+20>>0]=1;co(a,c,g,i,0,-1);w=1;break d}while(0);w=f[a+116>>2]|0;b[((w|0)==0?a:w)+20>>0]=1;bo(a,c,s,g,i,k,1,0,5,1,-1);w=1;break}case 6:{ya=r+8|0;Ba=r+12|0;Ol(a,Kk(f[a>>2]|0,f[r+20>>2]|0,0)|0,f[ya>>2]|0,f[Ba>>2]|0,2,r);f[ya>>2]=0;f[Ba>>2]=0;Ba=252;break}case 4:{Ba=252;break}default:{w=2;Ba=179}}while(0);do if((Ba|0)==179){s=d[c+40>>1]|0;v=f[a>>2]|0;u=f[c>>2]|0;if(s<<16>>16>-1){z=f[(f[c+4>>2]|0)+(s<<16>>16<<4)>>2]|0;f[T>>2]=u;f[T+4>>2]=z;u=1555;z=Ig(v,50225,T)|0}else{f[V>>2]=u;u=2579;z=Ig(v,56207,V)|0}s=f[Ga>>2]|0;if(!s){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;y=sl(a)|0}else y=s;if((w|0)==2){ya=f[a+116>>2]|0;b[((ya|0)==0?a:ya)+21>>0]=1}x=y+136|0;s=f[x>>2]|0;if((f[(f[y+12>>2]|0)+48>>2]|0)>(s|0)){f[x>>2]=s+1;ya=f[y+88>>2]|0;b[ya+(s*20|0)>>0]=69;d[ya+(s*20|0)+2>>1]=0;f[ya+(s*20|0)+4>>2]=u;f[ya+(s*20|0)+8>>2]=w;f[ya+(s*20|0)+12>>2]=0;f[ya+(s*20|0)+16>>2]=0;b[ya+(s*20|0)+1>>0]=0}else s=tl(y,69,u,w,0)|0;u=f[y>>2]|0;f:do if(b[u+81>>0]|0){if(z|0){do if(u|0){if(f[u+480>>2]|0){Kc(u,z);break f}s=z;if((f[u+304>>2]|0)>>>0>s>>>0)break;if((f[u+308>>2]|0)>>>0<=s>>>0)break;ya=u+300|0;f[z>>2]=f[ya>>2];f[ya>>2]=z;break f}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{ya=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}}}else{if((s|0)<0)s=(f[x>>2]|0)+-1|0;u=f[y+88>>2]|0;v=u+(s*20|0)+1|0;if(b[v>>0]|0){ul(y,u+(s*20|0)|0,z,-7);break}if(!z)break;f[u+(s*20|0)+16>>2]=z;b[v>>0]=-7}while(0);s=f[x>>2]|0;if((s|0)>0){d[(f[y+88>>2]|0)+((s+-1|0)*20|0)+2>>1]=2;w=0}else w=0}else if((Ba|0)==252){s=f[C>>2]|0;if((f[(f[E>>2]|0)+48>>2]|0)>(s|0)){f[C>>2]=s+1;w=f[Ha+88>>2]|0;b[w+(s*20|0)>>0]=11;d[w+(s*20|0)+2>>1]=0;f[w+(s*20|0)+4>>2]=0;f[w+(s*20|0)+8>>2]=o;f[w+(s*20|0)+12>>2]=0;f[w+(s*20|0)+16>>2]=0;b[w+(s*20|0)+1>>0]=0;w=0;break}else{tl(Ha,11,0,o,0)|0;w=0;break}}while(0);u=f[E>>2]|0;s=f[u+64>>2]|0;if(s|0)f[s+(F<<2)>>2]=f[C>>2];if(!D){ya=0;xa=0}else{v=f[C>>2]|0;if((f[u+48>>2]|0)>(v|0)){f[C>>2]=v+1;x=f[Ha+88>>2]|0;b[x+(v*20|0)>>0]=11;x=x+(v*20|0)+1|0;y=x+19|0;do{b[x>>0]=0;x=x+1|0}while((x|0)<(y|0))}else v=tl(Ha,11,0,0,0)|0;u=f[C>>2]|0;if(!(b[(f[Ha>>2]|0)+81>>0]|0))s=(f[Ha+88>>2]|0)+((((D|0)<1?u:D)+-1|0)*20|0)|0;else s=72144;f[s+8>>2]=u;ya=v;xa=D}}else{w=0;ya=0;xa=0}ma=c+8|0;s=f[ma>>2]|0;if(s){na=za+1|0;oa=Ha+136|0;pa=Ha+12|0;qa=(Aa|0)==0;ra=Ha+88|0;sa=k+1|0;ta=(za|0)<0;ua=c+40|0;va=~k;wa=a+56|0;ja=m<<24>>24==0;ka=n<<24>>24==11;la=r+8|0;V=W+32|0;m=c+16|0;S=a+142|0;W=(Ca|0)==1;T=c+72|0;X=a+19|0;Y=a+32|0;Z=a+28|0;_=c+68|0;$=r+28|0;aa=a+44|0;ba=Da+50|0;ca=Ca&65535;da=a+116|0;ea=r+20|0;fa=r+12|0;ga=Da+4|0;ha=Da+32|0;ia=l+1|0;R=0;v=0;u=0;while(1){H=e+(R<<2)|0;g:do if(f[H>>2]|0){Q=(Aa|0)==(s|0);if(Q){u=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(u|0)){f[oa>>2]=u+1;x=f[ra>>2]|0;b[x+(u*20|0)>>0]=11;x=x+(u*20|0)+1|0;y=x+19|0;do{b[x>>0]=0;x=x+1|0}while((x|0)<(y|0));y=u}else y=tl(Ha,11,0,0,0)|0;x=f[oa>>2]|0;if(!(b[(f[Ha>>2]|0)+81>>0]|0))u=(f[ra>>2]|0)+((ta?x+-1|0:za)*20|0)|0;else u=72144;f[u+8>>2]=x;q=na}else{x=f[pa>>2]|0;D=x+60|0;E=f[D>>2]|0;f[D>>2]=E+1;D=x+64|0;if(!(E+-1&E)){B=E<<3|4;C=f[x>>2]|0;y=f[D>>2]|0;h:do if(y){z=y;A=C+304|0;if(((f[A>>2]|0)>>>0<=z>>>0?(f[C+308>>2]|0)>>>0>z>>>0:0)?!(0<0|(0==0?(j[C+276>>1]|0)>>>0>>0:0)):0){x=y;break}x=Lc(C,y,B,0)|0;if(!x){if(f[C+480>>2]|0){Kc(C,y);x=0;break}do if((f[A>>2]|0)>>>0<=z>>>0){if((f[C+308>>2]|0)>>>0<=z>>>0)break;x=C+300|0;f[y>>2]=f[x>>2];f[x>>2]=y;x=0;break h}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](y);x=0;break}else{x=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y);x=0;break}}}else{if(f[C+272>>2]|0){if(b[C+81>>0]|0){x=0;break}}else{do if(!(0<0|(0==0?(j[C+276>>1]|0)>>>0>>0:0))){y=C+300|0;x=f[y>>2]|0;if(x|0){f[y>>2]=f[x>>2];q=C+284|0;f[q>>2]=(f[q>>2]|0)+1;break h}y=C+296|0;x=f[y>>2]|0;if(!x){x=C+292|0;break}else{f[y>>2]=f[x>>2];q=C+284|0;f[q>>2]=(f[q>>2]|0)+1;break h}}else x=C+288|0;while(0);f[x>>2]=(f[x>>2]|0)+1}x=Dc(C,B,0)|0}while(0);f[D>>2]=x}else x=f[D>>2]|0;if(x|0)f[x+(E<<2)>>2]=-1;q=~E;y=u}if((qa|Q)&v<<24>>24==0){kn(Ha,c,sa);v=1}O=R+i|0;u=s+36|0;if(f[u>>2]|0){x=f[H>>2]|0;z=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(z|0)){f[oa>>2]=z+1;P=f[ra>>2]|0;b[P+(z*20|0)>>0]=73;d[P+(z*20|0)+2>>1]=0;f[P+(z*20|0)+4>>2]=0;f[P+(z*20|0)+8>>2]=x;f[P+(z*20|0)+12>>2]=0;f[P+(z*20|0)+16>>2]=0;b[P+(z*20|0)+1>>0]=0}else tl(Ha,73,0,x,0)|0;f[wa>>2]=va;u=f[u>>2]|0;x=f[a>>2]|0;if(!u)u=0;else u=Bk(x,u,0,0)|0;if(!(b[x+81>>0]|0))zm(a,u,q,16);if(u|0)ig(x,u);f[wa>>2]=0}u=f[H>>2]|0;P=u+1|0;N=s+52|0;if(!(d[N>>1]|0))z=0;else{F=s+4|0;G=s+40|0;E=0;do{u=d[(f[F>>2]|0)+(E<<1)>>1]|0;switch(u<<16>>16){case -2:{f[wa>>2]=va;u=f[(f[G>>2]|0)+4+(E*20|0)>>2]|0;B=E+P|0;D=f[a>>2]|0;if(!u)C=0;else C=Bk(D,u,0,0)|0;i:do if(!(b[D+81>>0]|0)){do if(C){if((b[C>>0]|0)!=-92){A=xl(a,C,B)|0;break}u=f[Ga>>2]|0;x=f[C+28>>2]|0;z=u+136|0;A=f[z>>2]|0;if((f[(f[u+12>>2]|0)+48>>2]|0)>(A|0)){f[z>>2]=A+1;Ba=f[u+88>>2]|0;b[Ba+(A*20|0)>>0]=78;d[Ba+(A*20|0)+2>>1]=0;f[Ba+(A*20|0)+4>>2]=x;f[Ba+(A*20|0)+8>>2]=B;f[Ba+(A*20|0)+12>>2]=0;f[Ba+(A*20|0)+16>>2]=0;b[Ba+(A*20|0)+1>>0]=0;Ba=336;break i}else{tl(u,78,x,B,0)|0;Ba=336;break i}}else A=xl(a,0,B)|0;while(0);if((A|0)==(B|0)){Ba=335;break}u=f[Ga>>2]|0;if(!u){Ba=335;break}x=u+136|0;z=f[x>>2]|0;if((f[(f[u+12>>2]|0)+48>>2]|0)>(z|0)){f[x>>2]=z+1;Ba=f[u+88>>2]|0;b[Ba+(z*20|0)>>0]=79;d[Ba+(z*20|0)+2>>1]=0;f[Ba+(z*20|0)+4>>2]=A;f[Ba+(z*20|0)+8>>2]=B;f[Ba+(z*20|0)+12>>2]=0;f[Ba+(z*20|0)+16>>2]=0;b[Ba+(z*20|0)+1>>0]=0;Ba=335;break}else{tl(u,79,A,B,0)|0;Ba=335;break}}else Ba=335;while(0);if((Ba|0)==335?(Ba=0,C|0):0)Ba=336;if((Ba|0)==336){Ba=0;ig(D,C)}f[wa>>2]=0;break}case -1:{A=k;Ba=339;break}default:{A=u<<16>>16==(d[ua>>1]|0)?k:sa+(u<<16>>16)|0;Ba=339}}do if((Ba|0)==339){Ba=0;z=((u&65535)>>>15)+79<<16>>16;u=E+P|0;x=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(x|0)){f[oa>>2]=x+1;M=f[ra>>2]|0;b[M+(x*20|0)>>0]=z;d[M+(x*20|0)+2>>1]=0;f[M+(x*20|0)+4>>2]=A;f[M+(x*20|0)+8>>2]=u;f[M+(x*20|0)+12>>2]=0;f[M+(x*20|0)+16>>2]=0;b[M+(x*20|0)+1>>0]=0;break}else{tl(Ha,z&65535,A,u,0)|0;break}}while(0);E=E+1|0;u=d[N>>1]|0}while(E>>>0<(u&65535)>>>0);z=u&65535;u=f[H>>2]|0}x=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(x|0)){f[oa>>2]=x+1;M=f[ra>>2]|0;b[M+(x*20|0)>>0]=102;d[M+(x*20|0)+2>>1]=0;f[M+(x*20|0)+4>>2]=P;f[M+(x*20|0)+8>>2]=z;f[M+(x*20|0)+12>>2]=u;f[M+(x*20|0)+16>>2]=0;b[M+(x*20|0)+1>>0]=0}else tl(Ha,102,P,z,u)|0;G=(Da|0)==(s|0);if(ja&(Fa&G)){u=f[(f[pa>>2]|0)+64>>2]|0;if(!u){u=y;break}f[u+(~q<<2)>>2]=f[oa>>2];u=y;break}u=b[s+54>>0]|0;if(!(u<<24>>24)){u=f[(f[pa>>2]|0)+64>>2]|0;if(!u){u=y;break}f[u+(~q<<2)>>2]=f[oa>>2];u=y;break}if(Q)F=(f[la>>2]|0)==0?4:6;else F=(ka?(u<<24>>24==11?2:u):n)&255;j:do if(!R){if(!(G&(F|0)==5&(f[s+20>>2]|0)==0))break;E=f[V>>2]|0;do if(!((E&8192|0)==0&0==0)){u=f[a>>2]|0;if(0==0?(f[u+32>>2]&262144|0)==0:0)break;u=f[(f[u+16>>2]|0)+28>>2]|0;if(b[S>>0]|0)break;D=f[T>>2]|0;do if((D|0)!=(u|0)){u=f[u+48>>2]|0;if(!u){Ba=373;break}C=u;u=0;do{B=f[C+8>>2]|0;do if((f[B+24>>2]|0)==(D|0)){z=f[B+4>>2]|0;A=f[c>>2]|0;M=b[z>>0]|0;x=(h[1232+(M&255)>>0]|0)-(h[1232+(h[A>>0]|0)>>0]|0)|0;if(!(M<<24>>24==0|(x|0)!=0))do{z=z+1|0;A=A+1|0;M=b[z>>0]|0;x=(h[1232+(M&255)>>0]|0)-(h[1232+(h[A>>0]|0)>>0]|0)|0}while(!(M<<24>>24==0|(x|0)!=0));if(x|0)break;if(!u)u=f[_>>2]|0;f[B+32>>2]=u;u=B}while(0);C=f[C>>2]|0}while((C|0)!=0);if(!u)Ba=373}else Ba=373;while(0);if((Ba|0)==373){Ba=0;u=f[_>>2]|0;if(!u)break}x=0;z=u;do{if((b[z+8>>0]|0)==117)x=x|h[z+9>>0];z=f[z+32>>2]|0}while((z|0)!=0);if(!((u|0)==0|(x|0)==0))break j}while(0);if(!((E&16384|0)==0&0==0)){if(f[m>>2]|0)break;D=f[c>>2]|0;A=f[T>>2]|0;B=f[A+68>>2]|0;if(!B){x=A+60|0;u=A+64|0}else{x=b[D>>0]|0;if(!(x<<24>>24))u=0;else{u=0;z=D;do{z=z+1|0;u=U(u+(h[1232+(x&255)>>0]|0)|0,-1640531535)|0;x=b[z>>0]|0}while(x<<24>>24!=0)}u=(u>>>0)%((f[A+56>>2]|0)>>>0)|0;x=B+(u<<3)|0;u=B+(u<<3)+4|0}x=f[x>>2]|0;k:do if(!x)u=72124;else{C=h[1232+(h[D>>0]|0)>>0]|0;while(1){u=f[u>>2]|0;x=x+-1|0;A=f[u+12>>2]|0;M=b[A>>0]|0;z=(h[1232+(M&255)>>0]|0)-C|0;if(!(M<<24>>24==0|(z|0)!=0)){B=D;do{A=A+1|0;B=B+1|0;M=b[A>>0]|0;z=(h[1232+(M&255)>>0]|0)-(h[1232+(h[B>>0]|0)>>0]|0)|0}while(!(M<<24>>24==0|(z|0)!=0))}if(!z)break k;if(!x){u=72124;break}}}while(0);if(f[u+8>>2]|0)break}u=f[(f[pa>>2]|0)+64>>2]|0;if(!u){u=y;break g}f[u+(~q<<2)>>2]=f[oa>>2];u=y;break g}while(0);x=j[s+50>>1]|0;u=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(u|0)){f[oa>>2]=u+1;M=f[ra>>2]|0;b[M+(u*20|0)>>0]=27;d[M+(u*20|0)+2>>1]=0;f[M+(u*20|0)+4>>2]=O;f[M+(u*20|0)+8>>2]=q;f[M+(u*20|0)+12>>2]=P;f[M+(u*20|0)+16>>2]=0;b[M+(u*20|0)+1>>0]=0}else u=tl(Ha,27,O,q,P)|0;if(!(b[(f[Ha>>2]|0)+81>>0]|0)){M=f[ra>>2]|0;b[M+(u*20|0)+1>>0]=-3;f[M+(u*20|0)+16>>2]=x}do if(!G)if(W){u=b[X>>0]|0;if(!(u<<24>>24)){M=(f[aa>>2]|0)+1|0;f[aa>>2]=M;break}else{M=u+-1<<24>>24;b[X>>0]=M;M=f[a+144+((M&255)<<2)>>2]|0;break}}else{u=f[Y>>2]|0;x=f[Z>>2]|0;if((x|0)<(Ca|0)){M=f[aa>>2]|0;f[aa>>2]=M+Ca;M=M+1|0;break}else{f[Y>>2]=u+Ca;f[Z>>2]=x-Ca;M=u;break}}else M=P;while(0);do if(Fa|(F|0)==5){if(!(f[Ea>>2]&32)){u=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(u|0)){f[oa>>2]=u+1;L=f[ra>>2]|0;b[L+(u*20|0)>>0]=-120;d[L+(u*20|0)+2>>1]=0;f[L+(u*20|0)+4>>2]=O;f[L+(u*20|0)+8>>2]=M;f[L+(u*20|0)+12>>2]=0;f[L+(u*20|0)+16>>2]=0;b[L+(u*20|0)+1>>0]=0}else tl(Ha,136,O,M,0)|0;if(!Fa)break;u=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(u|0)){f[oa>>2]=u+1;L=f[ra>>2]|0;b[L+(u*20|0)>>0]=53;d[L+(u*20|0)+2>>1]=0;f[L+(u*20|0)+4>>2]=M;f[L+(u*20|0)+8>>2]=q;f[L+(u*20|0)+12>>2]=l;f[L+(u*20|0)+16>>2]=0;b[L+(u*20|0)+1>>0]=0}else tl(Ha,53,M,q,l)|0;u=f[oa>>2]|0;if((u|0)<=0)break;d[(f[ra>>2]|0)+((u+-1|0)*20|0)+2>>1]=144;break}do if(!G){if(!(d[ba>>1]|0))break;C=s+4|0;B=0;do{z=d[(f[ga>>2]|0)+(B<<1)>>1]|0;u=d[N>>1]|0;l:do if(!(u<<16>>16))u=-1;else{A=f[C>>2]|0;x=u&65535;u=0;while(1){if((d[A+(u<<1)>>1]|0)==z<<16>>16)break l;u=u+1|0;if(u>>>0>=x>>>0){u=-1;break}}}while(0);u=u<<16>>16;x=B+M|0;z=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(z|0)){f[oa>>2]=z+1;L=f[ra>>2]|0;b[L+(z*20|0)>>0]=90;d[L+(z*20|0)+2>>1]=0;f[L+(z*20|0)+4>>2]=O;f[L+(z*20|0)+8>>2]=u;f[L+(z*20|0)+12>>2]=x;f[L+(z*20|0)+16>>2]=0;b[L+(z*20|0)+1>>0]=0}else tl(Ha,90,O,u,x)|0;B=B+1|0}while(B>>>0<(j[ba>>1]|0)>>>0)}while(0);if(!Fa)break;E=s+55|0;E=((h[E>>0]|h[E+1>>0]<<8)&3)==2?P:M;u=d[ba>>1]|0;if(!(u<<16>>16))break;D=52;B=(f[oa>>2]|0)+(u&65535)|0;C=0;do{u=f[(f[ha>>2]|0)+(C<<2)>>2]|0;z=f[a>>2]|0;x=b[z+78>>0]|0;L=b[z+165>>0]|0;z=_k(z,x,u,L&255)|0;do if(!(L<<24>>24)){if(!z){z=$k(a,x,0,u)|0;break}if(f[z+12>>2]|0)break;z=$k(a,x,z,u)|0}while(0);x=(C|0)==((j[ba>>1]|0)+-1|0);B=x?q:B;D=x?53:D;x=ia+(d[(f[ga>>2]|0)+(C<<1)>>1]|0)|0;A=C+E|0;u=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(u|0)){f[oa>>2]=u+1;L=f[ra>>2]|0;b[L+(u*20|0)>>0]=D;d[L+(u*20|0)+2>>1]=0;f[L+(u*20|0)+4>>2]=x;f[L+(u*20|0)+8>>2]=B;f[L+(u*20|0)+12>>2]=A;f[L+(u*20|0)+16>>2]=0;b[L+(u*20|0)+1>>0]=0}else u=tl(Ha,D,x,B,A)|0;do if(!(b[(f[Ha>>2]|0)+81>>0]|0)){if((u|0)<0)u=(f[oa>>2]|0)+-1|0;x=f[ra>>2]|0;A=x+(u*20|0)+1|0;if(b[A>>0]|0){ul(Ha,x+(u*20|0)|0,z,-2);break}if(!z)break;f[x+(u*20|0)+16>>2]=z;b[A>>0]=-2}while(0);u=f[oa>>2]|0;if((u|0)>0)d[(f[ra>>2]|0)+((u+-1|0)*20|0)+2>>1]=144;C=C+1|0}while(C>>>0<(j[ba>>1]|0)>>>0)}while(0);switch((F&255)<<24>>24){case 3:case 2:case 1:{ym(a,F,s);break}case 6:{K=f[Ga>>2]|0;L=f[a>>2]|0;J=f[$>>2]|0;do if((J|0)!=(O|0)){if(!(f[Ea>>2]&32)){u=b[X>>0]|0;if(!(u<<24>>24)){A=(f[aa>>2]|0)+1|0;f[aa>>2]=A}else{A=u+-1<<24>>24;b[X>>0]=A;A=f[a+144+((A&255)<<2)>>2]|0}x=K+136|0;u=f[x>>2]|0;z=K+12|0;if((f[(f[z>>2]|0)+48>>2]|0)>(u|0)){f[x>>2]=u+1;Ba=f[K+88>>2]|0;b[Ba+(u*20|0)>>0]=-120;d[Ba+(u*20|0)+2>>1]=0;f[Ba+(u*20|0)+4>>2]=O;f[Ba+(u*20|0)+8>>2]=A;f[Ba+(u*20|0)+12>>2]=0;f[Ba+(u*20|0)+16>>2]=0;b[Ba+(u*20|0)+1>>0]=0}else tl(K,136,O,A,0)|0;u=f[x>>2]|0;if((f[(f[z>>2]|0)+48>>2]|0)>(u|0)){f[x>>2]=u+1;Ba=f[K+88>>2]|0;b[Ba+(u*20|0)>>0]=30;d[Ba+(u*20|0)+2>>1]=0;f[Ba+(u*20|0)+4>>2]=J;f[Ba+(u*20|0)+8>>2]=0;f[Ba+(u*20|0)+12>>2]=A;f[Ba+(u*20|0)+16>>2]=0;b[Ba+(u*20|0)+1>>0]=0}else tl(K,30,J,0,A)|0;if(!A)break;u=b[X>>0]|0;if((u&255)>=8)break;b[X>>0]=u+1<<24>>24;f[a+144+((u&255)<<2)>>2]=A;break}u=f[ma>>2]|0;m:do if(!u)u=0;else while(1){Ba=u+55|0;if(((h[Ba>>0]|h[Ba+1>>0]<<8)&3)==2)break m;u=f[u+20>>2]|0;if(!u){u=0;break}}while(0);Ba=d[u+50>>1]|0;I=Ba&65535;G=f[aa>>2]|0;H=G+1|0;f[aa>>2]=G+I;if(!(Ba<<16>>16)){B=K+136|0;x=K+12|0}else{E=u+4|0;B=K+136|0;x=K+12|0;F=s+4|0;G=K+88|0;D=0;do{A=d[(f[E>>2]|0)+(D<<1)>>1]|0;u=d[N>>1]|0;n:do if(!(u<<16>>16))u=-1;else{C=f[F>>2]|0;z=u&65535;u=0;while(1){if((d[C+(u<<1)>>1]|0)==A<<16>>16)break n;u=u+1|0;if(u>>>0>=z>>>0){u=-1;break}}}while(0);u=u<<16>>16;z=D+H|0;A=f[B>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(A|0)){f[B>>2]=A+1;Ba=f[G>>2]|0;b[Ba+(A*20|0)>>0]=90;d[Ba+(A*20|0)+2>>1]=0;f[Ba+(A*20|0)+4>>2]=O;f[Ba+(A*20|0)+8>>2]=u;f[Ba+(A*20|0)+12>>2]=z;f[Ba+(A*20|0)+16>>2]=0;b[Ba+(A*20|0)+1>>0]=0}else tl(K,90,O,u,z)|0;D=D+1|0}while((D|0)!=(I|0))}u=f[B>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(u|0)){f[B>>2]=u+1;A=f[K+88>>2]|0;b[A+(u*20|0)>>0]=29;d[A+(u*20|0)+2>>1]=0;f[A+(u*20|0)+4>>2]=J;f[A+(u*20|0)+8>>2]=0;f[A+(u*20|0)+12>>2]=H;f[A+(u*20|0)+16>>2]=0;b[A+(u*20|0)+1>>0]=0;A=u}else A=tl(K,29,J,0,H)|0;if(!(b[(f[K>>2]|0)+81>>0]|0)){Ba=f[K+88>>2]|0;b[Ba+(A*20|0)+1>>0]=-3;f[Ba+(A*20|0)+16>>2]=I}u=f[B>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(u|0)){f[B>>2]=u+1;Ba=f[K+88>>2]|0;b[Ba+(u*20|0)>>0]=69;d[Ba+(u*20|0)+2>>1]=0;f[Ba+(u*20|0)+4>>2]=11;f[Ba+(u*20|0)+8>>2]=2;f[Ba+(u*20|0)+12>>2]=0;f[Ba+(u*20|0)+16>>2]=0;b[Ba+(u*20|0)+1>>0]=0}else u=tl(K,69,11,2,0)|0;do if(!(b[(f[K>>2]|0)+81>>0]|0)){if((u|0)<0)u=(f[B>>2]|0)+-1|0;x=f[K+88>>2]|0;z=x+(u*20|0)+1|0;if(!(b[z>>0]|0)){f[x+(u*20|0)+16>>2]=51151;b[z>>0]=-1;break}else{ul(K,x+(u*20|0)|0,51151,-1);break}}while(0);x=f[B>>2]|0;if(!(b[(f[K>>2]|0)+81>>0]|0))u=(f[K+88>>2]|0)+(((A|0)<0?x+-1|0:A)*20|0)|0;else u=72144;f[u+8>>2]=x}while(0);Ol(a,Kk(L,f[ea>>2]|0,0)|0,f[la>>2]|0,f[fa>>2]|0,2,r);f[la>>2]=0;f[fa>>2]=0;Ba=502;break}case 4:{Ba=502;break}default:{u=f[a>>2]|0;D=f[u+32>>2]|0;do if(!((f[V>>2]&8192|0)==0&0==0|(D&262144|0)==0&0==0)){u=f[(f[u+16>>2]|0)+28>>2]|0;if(b[S>>0]|0){Ba=526;break}C=f[T>>2]|0;do if((C|0)!=(u|0)){u=f[u+48>>2]|0;if(!u){Ba=520;break}B=u;u=0;do{A=f[B+8>>2]|0;do if((f[A+24>>2]|0)==(C|0)){x=f[A+4>>2]|0;z=f[c>>2]|0;N=b[x>>0]|0;w=(h[1232+(N&255)>>0]|0)-(h[1232+(h[z>>0]|0)>>0]|0)|0;if(!(N<<24>>24==0|(w|0)!=0))do{x=x+1|0;z=z+1|0;N=b[x>>0]|0;w=(h[1232+(N&255)>>0]|0)-(h[1232+(h[z>>0]|0)>>0]|0)|0}while(!(N<<24>>24==0|(w|0)!=0));if(w|0)break;if(!u)u=f[_>>2]|0;f[A+32>>2]=u;u=A}while(0);B=f[B>>2]|0}while((B|0)!=0);if(!u)Ba=520}else Ba=520;while(0);if((Ba|0)==520){u=f[_>>2]|0;if(!u){Ba=526;break}}w=0;x=u;do{if((b[x+8>>0]|0)==117)w=w|h[x+9>>0];x=f[x+32>>2]|0}while((x|0)!=0);if(!((u|0)==0|(w|0)==0))Ba=542;else Ba=526}else Ba=526;while(0);do if((Ba|0)==526){Ba=0;if((D&16384|0)==0&0==0){u=0;break}C=f[c>>2]|0;z=f[T>>2]|0;A=f[z+68>>2]|0;if(!A){w=z+60|0;u=z+64|0}else{w=b[C>>0]|0;if(!(w<<24>>24))u=0;else{u=0;x=C;do{x=x+1|0;u=U(u+(h[1232+(w&255)>>0]|0)|0,-1640531535)|0;w=b[x>>0]|0}while(w<<24>>24!=0)}u=(u>>>0)%((f[z+56>>2]|0)>>>0)|0;w=A+(u<<3)|0;u=A+(u<<3)+4|0}w=f[w>>2]|0;o:do if(!w)u=72124;else{B=h[1232+(h[C>>0]|0)>>0]|0;while(1){u=f[u>>2]|0;w=w+-1|0;z=f[u+12>>2]|0;N=b[z>>0]|0;x=(h[1232+(N&255)>>0]|0)-B|0;if(!(N<<24>>24==0|(x|0)!=0)){A=C;do{z=z+1|0;A=A+1|0;N=b[z>>0]|0;x=(h[1232+(N&255)>>0]|0)-(h[1232+(h[A>>0]|0)>>0]|0)|0}while(!(N<<24>>24==0|(x|0)!=0))}if(!x)break o;if(!w){u=72124;break}}}while(0);if(f[u+8>>2]|0){u=0;Ba=542;break}if(!(f[m>>2]|0))u=0;else{u=0;Ba=542}}while(0);if((Ba|0)==542){Ba=0;N=f[da>>2]|0;b[((N|0)==0?a:N)+20>>0]=1}bo(a,c,u,g,i,M,ca,0,5,G&1,O);w=1}}do if((Ba|0)==502){Ba=0;u=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(u|0)){f[oa>>2]=u+1;O=f[ra>>2]|0;b[O+(u*20|0)>>0]=11;d[O+(u*20|0)+2>>1]=0;f[O+(u*20|0)+4>>2]=0;f[O+(u*20|0)+8>>2]=o;f[O+(u*20|0)+12>>2]=0;f[O+(u*20|0)+16>>2]=0;b[O+(u*20|0)+1>>0]=0;break}else{tl(Ha,11,0,o,0)|0;break}}while(0);do if(Q){u=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(u|0)){f[oa>>2]=u+1;Q=f[ra>>2]|0;b[Q+(u*20|0)>>0]=11;d[Q+(u*20|0)+2>>1]=0;f[Q+(u*20|0)+4>>2]=0;f[Q+(u*20|0)+8>>2]=na;f[Q+(u*20|0)+12>>2]=0;f[Q+(u*20|0)+16>>2]=0;b[Q+(u*20|0)+1>>0]=0}else tl(Ha,11,0,na,0)|0;x=f[oa>>2]|0;if(!(b[(f[Ha>>2]|0)+81>>0]|0))u=(f[ra>>2]|0)+(((y|0)<0?x+-1|0:y)*20|0)|0;else u=72144;f[u+8>>2]=x}else{u=f[(f[pa>>2]|0)+64>>2]|0;if(!u)break;f[u+(~q<<2)>>2]=f[oa>>2]}while(0);if((M|0)==(P|0)){u=y;break}if(!W){if((f[Z>>2]|0)>=(Ca|0)){u=y;break}f[Z>>2]=Ca;f[Y>>2]=M;u=y;break}if(!M){u=y;break}u=b[X>>0]|0;if((u&255)>=8){u=y;break}b[X>>0]=u+1<<24>>24;f[a+144+((u&255)<<2)>>2]=M;u=y}while(0);s=f[s+20>>2]|0;if(!s)break;else R=R+1|0}}if(!xa){f[p>>2]=w;t=Ia;return}s=xa+1|0;u=Ha+136|0;v=f[u>>2]|0;if((f[(f[Ha+12>>2]|0)+48>>2]|0)>(v|0)){f[u>>2]=v+1;o=f[Ha+88>>2]|0;b[o+(v*20|0)>>0]=11;d[o+(v*20|0)+2>>1]=0;f[o+(v*20|0)+4>>2]=0;f[o+(v*20|0)+8>>2]=s;f[o+(v*20|0)+12>>2]=0;f[o+(v*20|0)+16>>2]=0;b[o+(v*20|0)+1>>0]=0}else tl(Ha,11,0,s,0)|0;u=f[u>>2]|0;if(!(b[(f[Ha>>2]|0)+81>>0]|0))s=(f[Ha+88>>2]|0)+(((ya|0)<0?u+-1|0:ya)*20|0)|0;else s=72144;f[s+8>>2]=u;f[p>>2]=w;t=Ia;return}function nn(a,c,e,g,i,j){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;_=t;t=t+16|0;X=_+8|0;Y=_+4|0;R=_;Z=f[a>>2]|0;Q=a+142|0;V=b[Q>>0]|0;W=Z+32|0;if((f[W>>2]&16384|0)==0&0==0){t=_;return}S=c+72|0;o=f[S>>2]|0;l=f[Z+16>>2]|0;if(!o)k=-1e6;else{k=0;while(1)if((f[l+(k<<4)+12>>2]|0)==(o|0))break;else k=k+1|0}P=f[l+(k<<4)>>2]|0;l=f[c+16>>2]|0;do if(!l)k=c;else{x=(i|0)==0;y=V<<24>>24==0;z=c+40|0;A=(j|0)==0;B=Z+81|0;C=a+8|0;D=a+40|0;E=(e|0)==0;F=Z+312|0;G=a+116|0;H=(g|0)==0;I=e+1|0;J=a+23|0;K=(Z|0)==0;L=Z+480|0;M=Z+304|0;N=Z+308|0;O=Z+300|0;a:while(1){f[X>>2]=0;f[Y>>2]=0;b:do if(!x){o=f[c>>2]|0;m=f[l+8>>2]|0;if(o){if(m|0){T=b[o>>0]|0;n=(h[1232+(T&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0;if(T<<24>>24==0|(n|0)!=0)T=16;else{p=m;do{o=o+1|0;p=p+1|0;T=b[o>>0]|0;n=(h[1232+(T&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0}while(!(T<<24>>24==0|(n|0)!=0));T=16}}}else{n=((m|0)!=0)<<31>>31;T=16}if((T|0)==16?(T=0,(n|0)==0):0){T=26;break}q=f[l+20>>2]|0;if((q|0)>0){if(A){o=0;while(1){if((f[i+(f[l+36+(o<<3)>>2]<<2)>>2]|0)>-1){T=26;break b}o=o+1|0;if((o|0)>=(q|0))break b}}o=0;do{p=f[l+36+(o<<3)>>2]|0;if((f[i+(p<<2)>>2]|0)>-1){T=26;break b}o=o+1|0;if((p|0)==(d[z>>1]|0)){T=26;break b}}while((o|0)<(q|0))}}else{m=f[l+8>>2]|0;T=26}while(0);c:do if((T|0)==26){T=0;if(!(b[Q>>0]|0))w=pi(a,0,m,P)|0;else w=ji(Z,m,P)|0;m=(w|0)==0;if(!m?(Ym(a,w,l,X,Y)|0)==0:0){m=f[Y>>2]|0;if(!m){f[R>>2]=f[l+36>>2];m=R}u=l+20|0;if((f[u>>2]|0)>0){v=w+4|0;q=f[X>>2]|0;r=w+40|0;s=q+4|0;if(!q){p=0;q=0;do{o=m+(q<<2)|0;if((f[o>>2]|0)==(d[z>>1]|0))f[o>>2]=-1;if(f[F>>2]|0)p=(Qk(a,f[w>>2]|0,f[(f[v>>2]|0)+(d[r>>1]<<4)>>2]|0,k)|0)==2&1;q=q+1|0}while((q|0)<(f[u>>2]|0));o=w}else{p=0;q=0;do{o=m+(q<<2)|0;if((f[o>>2]|0)==(d[z>>1]|0))f[o>>2]=-1;if(f[F>>2]|0)p=(Qk(a,f[w>>2]|0,f[(f[v>>2]|0)+(d[(f[s>>2]|0)+(q<<1)>>1]<<4)>>2]|0,k)|0)==2&1;q=q+1|0}while((q|0)<(f[u>>2]|0));o=w}}else{p=0;o=w}nm(a,k,f[w+28>>2]|0,0,f[o>>2]|0);f[D>>2]=(f[D>>2]|0)+1;if(!E)pn(a,k,w,f[X>>2]|0,l,m,e,-1,p);do if(!H){o=f[G>>2]|0;o=f[((o|0)==0?a:o)+256>>2]|0;if(o|0){o=f[o>>2]|0;if((o|0)==(f[l+28>>2]|0)?(b[l+25>>0]|0)==8:0)break;if((o|0)==(f[l+32>>2]|0)?(b[l+26>>0]|0)==8:0)break}pn(a,k,w,f[X>>2]|0,l,m,g,1,p)}while(0);m=f[Y>>2]|0;if(!m)break;do if(!K){if(f[L>>2]|0){Kc(Z,m);break c}o=m;if((f[M>>2]|0)>>>0<=o>>>0){if((f[N>>2]|0)>>>0<=o>>>0)break;f[m>>2]=f[O>>2];f[O>>2]=m;break c}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{w=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}if(y)break a;if(b[B>>0]|0)break a;if(m){m=f[C>>2]|0;if(!m){if((f[G>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[J>>0]=1;m=sl(a)|0}v=m+136|0;p=f[v>>2]|0;r=l+20|0;u=f[r>>2]|0;s=p+1+u|0;w=m+12|0;if((u|0)>0){u=m+88|0;q=0;do{o=I+(f[l+36+(q<<3)>>2]|0)|0;if((f[(f[w>>2]|0)+48>>2]|0)>(p|0)){f[v>>2]=p+1;$=f[u>>2]|0;b[$+(p*20|0)>>0]=50;d[$+(p*20|0)+2>>1]=0;f[$+(p*20|0)+4>>2]=o;f[$+(p*20|0)+8>>2]=s;f[$+(p*20|0)+12>>2]=0;f[$+(p*20|0)+16>>2]=0;b[$+(p*20|0)+1>>0]=0}else tl(m,50,o,s,0)|0;q=q+1|0;p=f[v>>2]|0}while((q|0)<(f[r>>2]|0))}o=h[l+24>>0]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(p|0)){f[v>>2]=p+1;$=f[m+88>>2]|0;b[$+(p*20|0)>>0]=-105;d[$+(p*20|0)+2>>1]=0;f[$+(p*20|0)+4>>2]=o;f[$+(p*20|0)+8>>2]=-1;f[$+(p*20|0)+12>>2]=0;f[$+(p*20|0)+16>>2]=0;b[$+(p*20|0)+1>>0]=0;break}else{tl(m,151,o,-1,0)|0;break}}}while(0);l=f[l+4>>2]|0;if(!l){T=86;break}}if((T|0)==86){k=c;o=f[S>>2]|0;break}t=_;return}while(0);q=f[k>>2]|0;n=f[o+68>>2]|0;if(!n){l=o+60|0;k=o+64|0}else{l=b[q>>0]|0;if(!(l<<24>>24))k=0;else{k=0;m=q;do{m=m+1|0;k=U(k+(h[1232+(l&255)>>0]|0)|0,-1640531535)|0;l=b[m>>0]|0}while(l<<24>>24!=0)}k=(k>>>0)%((f[o+56>>2]|0)>>>0)|0;l=n+(k<<3)|0;k=n+(k<<3)+4|0}l=f[l>>2]|0;d:do if(!l)k=72124;else{p=h[1232+(h[q>>0]|0)>>0]|0;while(1){k=f[k>>2]|0;l=l+-1|0;n=f[k+12>>2]|0;$=b[n>>0]|0;m=(h[1232+($&255)>>0]|0)-p|0;if(!($<<24>>24==0|(m|0)!=0)){o=q;do{n=n+1|0;o=o+1|0;$=b[n>>0]|0;m=(h[1232+($&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!($<<24>>24==0|(m|0)!=0))}if(!m)break d;if(!l){k=72124;break}}}while(0);k=f[k+8>>2]|0;if(!k){t=_;return}B=(i|0)!=0;C=a+116|0;o=V<<24>>24==0;p=a+20|0;q=a+40|0;r=(g|0)==0;s=Z+81|0;u=(Z|0)==0;v=(e|0)==0;w=Z+480|0;x=B&1;y=Z+304|0;z=Z+308|0;A=Z+300|0;e:while(1){f[X>>2]=0;f[Y>>2]=0;if(B?(qn(c,k,i,j)|0)==0:0)T=128;else T=104;do if((T|0)==104){T=0;n=k+24|0;if((((b[n>>0]|0)==0?(f[W>>2]&524288|0)==0&0==0:0)?(f[C>>2]|0)==0:0)?(b[p>>0]|0)==0:0){T=128;break}if(Ym(a,c,k,X,Y)|0){if(o){T=110;break e}if(!(b[s>>0]|0))break;else{T=131;break e}}l=ol(Z,0,0,0)|0;if(l|0){$=f[k>>2]|0;f[l+24>>2]=$;m=l+16|0;f[m>>2]=f[$>>2];$=$+32|0;f[$>>2]=(f[$>>2]|0)+1;$=f[q>>2]|0;f[q>>2]=$+1;f[l+48>>2]=$;if(!r)rn(a,l,c,f[X>>2]|0,k,f[Y>>2]|0,g,-1);if(!v?($=b[k+25+x>>0]|0,rn(a,l,c,f[X>>2]|0,k,f[Y>>2]|0,e,1),($|2)<<24>>24!=10&(b[n>>0]|0)==0):0){$=f[C>>2]|0;b[(($|0)==0?a:$)+21>>0]=1}f[m>>2]=0;ng(Z,l)}l=f[Y>>2]|0;if(l){if(!u){if(f[w>>2]|0){Kc(Z,l);T=128;break}$=l;if((f[y>>2]|0)>>>0<=$>>>0?(f[z>>2]|0)>>>0>$>>>0:0){f[l>>2]=f[A>>2];f[A>>2]=l;T=128;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);T=128;break}else{T=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);T=128;break}}else T=128}while(0);k=f[k+12>>2]|0;if(!k){T=131;break}}if((T|0)==110){t=_;return}else if((T|0)==131){t=_;return}}function on(a,c,e,g,i,k,l,m,n){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;o=f[a+8>>2]|0;if(!o){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;C=sl(a)|0}else C=o;p=f[c+8>>2]|0;if(!p){u=0;o=c+36|0}else{y=(n|0)==0?0:16;x=C+136|0;z=C+12|0;o=c+36|0;A=C+88|0;B=(l&2|(y|1)&255)&255;w=0;u=0;while(1){t=k+(w<<2)|0;s=f[t>>2]|0;if(s){do if(f[p+36>>2]|0){q=f[x>>2]|0;r=q+2|0;if((f[(f[z>>2]|0)+48>>2]|0)>(q|0)){f[x>>2]=q+1;v=f[A>>2]|0;b[v+(q*20|0)>>0]=50;d[v+(q*20|0)+2>>1]=0;f[v+(q*20|0)+4>>2]=s;f[v+(q*20|0)+8>>2]=r;f[v+(q*20|0)+12>>2]=0;f[v+(q*20|0)+16>>2]=0;b[v+(q*20|0)+1>>0]=0;break}else{tl(C,50,s,r,0)|0;break}}while(0);q=p+55|0;q=h[q>>0]|h[q+1>>0]<<8;if((q&3)==2)v=(f[o>>2]&32|0)==0?y:B;else v=y;u=w+g|0;r=f[t>>2]|0;s=r+1|0;t=j[((q&8)==0?p+52|0:p+50|0)>>1]|0;q=f[x>>2]|0;if((f[(f[z>>2]|0)+48>>2]|0)>(q|0)){f[x>>2]=q+1;D=f[A>>2]|0;b[D+(q*20|0)>>0]=-123;d[D+(q*20|0)+2>>1]=0;f[D+(q*20|0)+4>>2]=u;f[D+(q*20|0)+8>>2]=r;f[D+(q*20|0)+12>>2]=s;f[D+(q*20|0)+16>>2]=0;b[D+(q*20|0)+1>>0]=0}else q=tl(C,133,u,r,s)|0;if(!(b[(f[C>>2]|0)+81>>0]|0)){D=f[A>>2]|0;b[D+(q*20|0)+1>>0]=-3;f[D+(q*20|0)+16>>2]=t}q=f[x>>2]|0;if((q|0)>0){d[(f[A>>2]|0)+((q+-1|0)*20|0)+2>>1]=v&255;u=1}else u=1}p=f[p+20>>2]|0;if(!p)break;else w=w+1|0}}if(f[o>>2]&32|0)return;q=i+1|0;o=a+19|0;p=b[o>>0]|0;if(!(p<<24>>24)){D=a+44|0;r=(f[D>>2]|0)+1|0;f[D>>2]=r}else{r=p+-1<<24>>24;b[o>>0]=r;r=f[a+144+((r&255)<<2)>>2]|0}o=d[c+42>>1]|0;s=C+136|0;p=f[s>>2]|0;t=C+12|0;if((f[(f[t>>2]|0)+48>>2]|0)>(p|0)){f[s>>2]=p+1;D=f[C+88>>2]|0;b[D+(p*20|0)>>0]=102;d[D+(p*20|0)+2>>1]=0;f[D+(p*20|0)+4>>2]=q;f[D+(p*20|0)+8>>2]=o;f[D+(p*20|0)+12>>2]=r;f[D+(p*20|0)+16>>2]=0;b[D+(p*20|0)+1>>0]=0}else tl(C,102,q,o,r)|0;if(!(u<<24>>24))kn(C,c,0);q=a+18|0;p=(b[q>>0]|0)==0?((l|0)==0?33:(l|1)&255):0;p=(m|0)==0?p:p|8;p=(n|0)==0?p:p|16;o=f[s>>2]|0;if((f[(f[t>>2]|0)+48>>2]|0)>(o|0)){f[s>>2]=o+1;D=f[C+88>>2]|0;b[D+(o*20|0)>>0]=122;d[D+(o*20|0)+2>>1]=0;f[D+(o*20|0)+4>>2]=e;f[D+(o*20|0)+8>>2]=r;f[D+(o*20|0)+12>>2]=i;f[D+(o*20|0)+16>>2]=0;b[D+(o*20|0)+1>>0]=0}else tl(C,122,e,r,i)|0;if((b[q>>0]|0)==0?(b[(f[C>>2]|0)+81>>0]|0)==0:0){i=f[C+88>>2]|0;D=(f[s>>2]|0)+-1|0;b[i+(D*20|0)+1>>0]=-6;f[i+(D*20|0)+16>>2]=c}o=f[s>>2]|0;if((o|0)<=0)return;d[(f[C+88>>2]|0)+((o+-1|0)*20|0)+2>>1]=p&255;return}function pn(a,c,e,g,i,k,l,m,n){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;C=a+8|0;o=f[C>>2]|0;if(!o){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;H=sl(a)|0}else H=o;I=(f[a+40>>2]|0)+-1|0;F=H+12|0;o=f[F>>2]|0;u=o+60|0;G=f[u>>2]|0;f[u>>2]=G+1;u=o+64|0;if(!(G+-1&G)){s=G<<3|4;t=f[o>>2]|0;o=f[u>>2]|0;a:do if(o){q=o;r=t+304|0;if(((f[r>>2]|0)>>>0<=q>>>0?(f[t+308>>2]|0)>>>0>q>>>0:0)?!(0<0|(0==0?(j[t+276>>1]|0)>>>0>>0:0)):0)break;p=Lc(t,o,s,0)|0;if(!p){if(f[t+480>>2]|0){Kc(t,o);o=0;break}if((f[r>>2]|0)>>>0<=q>>>0?(f[t+308>>2]|0)>>>0>q>>>0:0){B=t+300|0;f[o>>2]=f[B>>2];f[B>>2]=o;o=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](o);o=0;break}else{B=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);o=0;break}}else o=p}else{if(f[t+272>>2]|0){if(b[t+81>>0]|0){o=0;break}}else{do if(!(0<0|(0==0?(j[t+276>>1]|0)>>>0>>0:0))){p=t+300|0;o=f[p>>2]|0;if(o|0){f[p>>2]=f[o>>2];B=t+284|0;f[B>>2]=(f[B>>2]|0)+1;break a}p=t+296|0;o=f[p>>2]|0;if(!o){o=t+292|0;break}else{f[p>>2]=f[o>>2];B=t+284|0;f[B>>2]=(f[B>>2]|0)+1;break a}}else o=t+288|0;while(0);f[o>>2]=(f[o>>2]|0)+1}o=Dc(t,s,0)|0}while(0);f[u>>2]=o}else o=f[u>>2]|0;if(o|0)f[o+(G<<2)>>2]=-1;B=~G;do if((m|0)<0){o=h[i+24>>0]|0;p=H+136|0;q=f[p>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(q|0)){f[p>>2]=q+1;A=f[H+88>>2]|0;b[A+(q*20|0)>>0]=46;d[A+(q*20|0)+2>>1]=0;f[A+(q*20|0)+4>>2]=o;f[A+(q*20|0)+8>>2]=B;f[A+(q*20|0)+12>>2]=0;f[A+(q*20|0)+16>>2]=0;b[A+(q*20|0)+1>>0]=0;break}else{tl(H,46,o,B,0)|0;break}}while(0);u=i+20|0;o=f[u>>2]|0;if((o|0)>0){r=l+1|0;s=H+136|0;t=H+88|0;q=0;do{o=r+(f[k+(q<<2)>>2]|0)|0;p=f[s>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(p|0)){f[s>>2]=p+1;A=f[t>>2]|0;b[A+(p*20|0)>>0]=50;d[A+(p*20|0)+2>>1]=0;f[A+(p*20|0)+4>>2]=o;f[A+(p*20|0)+8>>2]=B;f[A+(p*20|0)+12>>2]=0;f[A+(p*20|0)+16>>2]=0;b[A+(p*20|0)+1>>0]=0}else tl(H,50,o,B,0)|0;q=q+1|0;o=f[u>>2]|0}while((q|0)<(o|0));A=o}else A=o;do if(!n){if(!g){t=a+19|0;o=b[t>>0]|0;if(!(o<<24>>24)){g=a+44|0;s=(f[g>>2]|0)+1|0;f[g>>2]=s}else{s=o+-1<<24>>24;b[t>>0]=s;s=f[a+144+((s&255)<<2)>>2]|0}o=l+1+(f[k>>2]|0)|0;r=H+136|0;p=f[r>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(p|0)){f[r>>2]=p+1;k=f[H+88>>2]|0;b[k+(p*20|0)>>0]=79;d[k+(p*20|0)+2>>1]=0;f[k+(p*20|0)+4>>2]=o;f[k+(p*20|0)+8>>2]=s;f[k+(p*20|0)+12>>2]=0;f[k+(p*20|0)+16>>2]=0;b[k+(p*20|0)+1>>0]=0}else tl(H,79,o,s,0)|0;o=f[r>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(o|0)){f[r>>2]=o+1;q=f[H+88>>2]|0;b[q+(o*20|0)>>0]=15;d[q+(o*20|0)+2>>1]=0;f[q+(o*20|0)+4>>2]=s;f[q+(o*20|0)+8>>2]=0;f[q+(o*20|0)+12>>2]=0;f[q+(o*20|0)+16>>2]=0;b[q+(o*20|0)+1>>0]=0;q=o}else q=tl(H,15,s,0,0)|0;if((m|0)==1?(f[i>>2]|0)==(e|0):0){o=f[r>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(o|0)){f[r>>2]=o+1;k=f[H+88>>2]|0;b[k+(o*20|0)>>0]=53;d[k+(o*20|0)+2>>1]=0;f[k+(o*20|0)+4>>2]=l;f[k+(o*20|0)+8>>2]=B;f[k+(o*20|0)+12>>2]=s;f[k+(o*20|0)+16>>2]=0;b[k+(o*20|0)+1>>0]=0}else tl(H,53,l,B,s)|0;o=f[r>>2]|0;if((o|0)>0)d[(f[H+88>>2]|0)+((o+-1|0)*20|0)+2>>1]=144}vl(a,I,c,e,109);o=f[r>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(o|0)){f[r>>2]=o+1;l=f[H+88>>2]|0;b[l+(o*20|0)>>0]=31;d[l+(o*20|0)+2>>1]=0;f[l+(o*20|0)+4>>2]=I;f[l+(o*20|0)+8>>2]=0;f[l+(o*20|0)+12>>2]=s;f[l+(o*20|0)+16>>2]=0;b[l+(o*20|0)+1>>0]=0}else tl(H,31,I,0,s)|0;o=f[r>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(o|0)){f[r>>2]=o+1;l=f[H+88>>2]|0;b[l+(o*20|0)>>0]=11;d[l+(o*20|0)+2>>1]=0;f[l+(o*20|0)+4>>2]=0;f[l+(o*20|0)+8>>2]=B;f[l+(o*20|0)+12>>2]=0;f[l+(o*20|0)+16>>2]=0;b[l+(o*20|0)+1>>0]=0}else tl(H,11,0,B,0)|0;p=f[r>>2]|0;if(!(b[(f[H>>2]|0)+81>>0]|0)){o=f[H+88>>2]|0;f[o+((((p|0)<2?-1:-2)+p|0)*20|0)+8>>2]=p;o=o+(((q|0)<0?p+-1|0:q)*20|0)|0}else{f[18038]=p;o=72144}f[o+8>>2]=p;if(!s)break;o=b[t>>0]|0;if((o&255)>=8)break;b[t>>0]=o+1<<24>>24;f[a+144+((o&255)<<2)>>2]=s;break}z=(A|0)==1;do if(z){o=a+19|0;p=b[o>>0]|0;if(!(p<<24>>24)){x=a+44|0;y=(f[x>>2]|0)+1|0;f[x>>2]=y;break}else{y=p+-1<<24>>24;b[o>>0]=y;y=f[a+144+((y&255)<<2)>>2]|0;break}}else{o=a+32|0;p=f[o>>2]|0;q=a+28|0;r=f[q>>2]|0;if((r|0)<(A|0)){x=a+44|0;y=f[x>>2]|0;f[x>>2]=y+A;y=y+1|0;break}else{f[o>>2]=p+A;f[q>>2]=r-A;y=p;break}}while(0);x=a+19|0;o=b[x>>0]|0;if(!(o<<24>>24)){v=a+44|0;w=(f[v>>2]|0)+1|0;f[v>>2]=w}else{w=o+-1<<24>>24;b[x>>0]=w;w=f[a+144+((w&255)<<2)>>2]|0}o=f[g+44>>2]|0;v=H+136|0;p=f[v>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(p|0)){f[v>>2]=p+1;n=f[H+88>>2]|0;b[n+(p*20|0)>>0]=109;d[n+(p*20|0)+2>>1]=0;f[n+(p*20|0)+4>>2]=I;f[n+(p*20|0)+8>>2]=o;f[n+(p*20|0)+12>>2]=c;f[n+(p*20|0)+16>>2]=0;b[n+(p*20|0)+1>>0]=0}else tl(H,109,I,o,c)|0;o=f[C>>2]|0;q=om(a,g)|0;b:do if(q|0){p=f[o>>2]|0;if(!(b[p+81>>0]|0)){n=f[o+88>>2]|0;c=(f[o+136>>2]|0)+-1|0;b[n+(c*20|0)+1>>0]=-9;f[n+(c*20|0)+16>>2]=q;break}if((f[p+480>>2]|0)==0?(c=(f[q>>2]|0)+-1|0,f[q>>2]=c,(c|0)==0):0){o=f[q+12>>2]|0;do if(o|0){if(f[o+480>>2]|0){Kc(o,q);break b}p=q;if((f[o+304>>2]|0)>>>0<=p>>>0){if((f[o+308>>2]|0)>>>0<=p>>>0)break;c=o+300|0;f[q>>2]=f[c>>2];f[c>>2]=q;break b}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{c=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}}while(0);u=(A|0)>0;if(u){p=l+1|0;q=H+88|0;o=0;do{r=p+(f[k+(o<<2)>>2]|0)|0;s=o+y|0;t=f[v>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(t|0)){f[v>>2]=t+1;c=f[q>>2]|0;b[c+(t*20|0)>>0]=78;d[c+(t*20|0)+2>>1]=0;f[c+(t*20|0)+4>>2]=r;f[c+(t*20|0)+8>>2]=s;f[c+(t*20|0)+12>>2]=0;f[c+(t*20|0)+16>>2]=0;b[c+(t*20|0)+1>>0]=0}else tl(H,78,r,s,0)|0;o=o+1|0}while((o|0)!=(A|0))}do if((m|0)==1?(f[i>>2]|0)==(e|0):0){o=f[v>>2]|0;c=A+1+o|0;if(u){u=l+1|0;n=g+4|0;s=e+40|0;t=H+88|0;r=0;do{p=u+(f[k+(r<<2)>>2]|0)|0;q=d[(f[n>>2]|0)+(r<<1)>>1]|0;q=(q<<16>>16==(d[s>>1]|0)?0:(q<<16>>16)+1|0)+l|0;if((f[(f[F>>2]|0)+48>>2]|0)>(o|0)){f[v>>2]=o+1;e=f[t>>2]|0;b[e+(o*20|0)>>0]=52;d[e+(o*20|0)+2>>1]=0;f[e+(o*20|0)+4>>2]=p;f[e+(o*20|0)+8>>2]=c;f[e+(o*20|0)+12>>2]=q;f[e+(o*20|0)+16>>2]=0;b[e+(o*20|0)+1>>0]=0}else tl(H,52,p,c,q)|0;o=f[v>>2]|0;if((o|0)>0)d[(f[t>>2]|0)+((o+-1|0)*20|0)+2>>1]=16;r=r+1|0}while((r|0)!=(A|0))}if((f[(f[F>>2]|0)+48>>2]|0)>(o|0)){f[v>>2]=o+1;l=f[H+88>>2]|0;b[l+(o*20|0)>>0]=11;d[l+(o*20|0)+2>>1]=0;f[l+(o*20|0)+4>>2]=0;f[l+(o*20|0)+8>>2]=B;f[l+(o*20|0)+12>>2]=0;f[l+(o*20|0)+16>>2]=0;b[l+(o*20|0)+1>>0]=0;break}else{tl(H,11,0,B,0)|0;break}}while(0);s=Bm(f[a>>2]|0,g)|0;o=f[v>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(o|0)){f[v>>2]=o+1;l=f[H+88>>2]|0;b[l+(o*20|0)>>0]=102;d[l+(o*20|0)+2>>1]=0;f[l+(o*20|0)+4>>2]=y;f[l+(o*20|0)+8>>2]=A;f[l+(o*20|0)+12>>2]=w;f[l+(o*20|0)+16>>2]=0;b[l+(o*20|0)+1>>0]=0}else o=tl(H,102,y,A,w)|0;p=f[H>>2]|0;c:do if(b[p+81>>0]|0){if((A|0)!=-12)qg(p,A,s)}else{if((o|0)<0)o=(f[v>>2]|0)+-1|0;p=f[H+88>>2]|0;q=p+(o*20|0)|0;do if((A|0)<=-1){r=p+(o*20|0)+1|0;if(b[r>>0]|0)break;if((A|0)==-3){f[p+(o*20|0)+16>>2]=s;b[r>>0]=-3;break c}if(!s)break c;f[p+(o*20|0)+16>>2]=s;b[r>>0]=A;if((A|0)!=-12)break c;l=s+12|0;f[l>>2]=(f[l>>2]|0)+1;break c}while(0);ul(H,q,s,A)}while(0);o=f[v>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(o|0)){f[v>>2]=o+1;l=f[H+88>>2]|0;b[l+(o*20|0)>>0]=29;d[l+(o*20|0)+2>>1]=0;f[l+(o*20|0)+4>>2]=I;f[l+(o*20|0)+8>>2]=B;f[l+(o*20|0)+12>>2]=w;f[l+(o*20|0)+16>>2]=0;b[l+(o*20|0)+1>>0]=0}else o=tl(H,29,I,B,w)|0;if(!(b[(f[H>>2]|0)+81>>0]|0)){l=f[H+88>>2]|0;b[l+(o*20|0)+1>>0]=-3;f[l+(o*20|0)+16>>2]=0}do if(w|0){o=b[x>>0]|0;if((o&255)>=8)break;b[x>>0]=o+1<<24>>24;f[a+144+((o&255)<<2)>>2]=w}while(0);if(!z){o=a+28|0;if((f[o>>2]|0)>=(A|0))break;f[o>>2]=A;f[a+32>>2]=y;break}if(!y)break;o=b[x>>0]|0;if((o&255)>=8)break;b[x>>0]=o+1<<24>>24;f[a+144+((o&255)<<2)>>2]=y}while(0);o=b[i+24>>0]|0;p=o<<24>>24==0;do if(p){q=f[a>>2]|0;if(((0==0?(f[q+32>>2]&524288|0)==0:0)?(D=a+116|0,(f[D>>2]|0)==0):0)?(b[a+20>>0]|0)==0:0){o=f[C>>2]|0;if(!o){if(!(d[q+76>>1]&8))b[a+23>>0]=1;r=sl(a)|0;o=f[D>>2]|0}else{r=o;o=0}b[((o|0)==0?a:o)+21>>0]=1;q=r+136|0;o=f[q>>2]|0;if((f[(f[r+12>>2]|0)+48>>2]|0)>(o|0)){f[q>>2]=o+1;m=f[r+88>>2]|0;b[m+(o*20|0)>>0]=69;d[m+(o*20|0)+2>>1]=0;f[m+(o*20|0)+4>>2]=787;f[m+(o*20|0)+8>>2]=2;f[m+(o*20|0)+12>>2]=0;f[m+(o*20|0)+16>>2]=0;b[m+(o*20|0)+1>>0]=0}else o=tl(r,69,787,2,0)|0;if(!(b[(f[r>>2]|0)+81>>0]|0)){if((o|0)<0)o=(f[q>>2]|0)+-1|0;p=f[r+88>>2]|0;if(b[p+(o*20|0)+1>>0]|0)ul(r,p+(o*20|0)|0,0,-1)}o=f[q>>2]|0;if((o|0)<=0)break;d[(f[r+88>>2]|0)+((o+-1|0)*20|0)+2>>1]=4;break}if(!((m|0)<1|p^1)){E=f[a+116>>2]|0;b[((E|0)==0?a:E)+21>>0]=1;E=169}else E=169}else E=169;while(0);do if((E|0)==169){o=o&255;p=H+136|0;q=f[p>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(q|0)){f[p>>2]=q+1;E=f[H+88>>2]|0;b[E+(q*20|0)>>0]=-105;d[E+(q*20|0)+2>>1]=0;f[E+(q*20|0)+4>>2]=o;f[E+(q*20|0)+8>>2]=m;f[E+(q*20|0)+12>>2]=0;f[E+(q*20|0)+16>>2]=0;b[E+(q*20|0)+1>>0]=0;break}else{tl(H,151,o,m,0)|0;break}}while(0);q=f[F>>2]|0;o=f[q+64>>2]|0;p=H+136|0;if(o|0)f[o+(G<<2)>>2]=f[p>>2];o=f[p>>2]|0;if((f[q+48>>2]|0)>(o|0)){f[p>>2]=o+1;H=f[H+88>>2]|0;b[H+(o*20|0)>>0]=117;d[H+(o*20|0)+2>>1]=0;f[H+(o*20|0)+4>>2]=I;f[H+(o*20|0)+8>>2]=0;f[H+(o*20|0)+12>>2]=0;f[H+(o*20|0)+16>>2]=0;b[H+(o*20|0)+1>>0]=0;return}else{tl(H,117,I,0,0)|0;return}}function qn(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=f[c+20>>2]|0;if((t|0)<=0){v=0;return v|0}q=d[a+42>>1]|0;u=q<<16>>16>0;s=a+4|0;r=a+40|0;n=(g|0)==0;o=q<<16>>16;p=q<<16>>16;q=q<<16>>16;m=0;a:while(1){l=f[c+36+(m<<3)+4>>2]|0;b:do if(u){k=(l|0)==0;if(!n){j=0;while(1){if(!((f[e+(j<<2)>>2]|0)<=-1?(j|0)!=(d[r>>1]|0):0))v=8;do if((v|0)==8){v=0;a=f[s>>2]|0;if(k)if(!(b[a+(j<<4)+15>>0]&1))break;else{a=1;v=28;break a}g=f[a+(j<<4)>>2]|0;i=b[g>>0]|0;a=(h[1232+(i&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0;if(!(i<<24>>24==0|(a|0)!=0)){i=l;do{g=g+1|0;i=i+1|0;w=b[g>>0]|0;a=(h[1232+(w&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(w<<24>>24==0|(a|0)!=0))}if(!a){a=1;v=28;break a}}while(0);j=j+1|0;if((j|0)>=(o|0))break b}}if(k){a=0;while(1){if((f[e+(a<<2)>>2]|0)>-1?b[(f[s>>2]|0)+(a<<4)+15>>0]&1:0){a=1;v=28;break a}a=a+1|0;if((a|0)>=(p|0))break b}}j=0;do{if((f[e+(j<<2)>>2]|0)>-1){g=f[(f[s>>2]|0)+(j<<4)>>2]|0;w=b[g>>0]|0;a=(h[1232+(w&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0;if(!(w<<24>>24==0|(a|0)!=0)){i=l;do{g=g+1|0;i=i+1|0;w=b[g>>0]|0;a=(h[1232+(w&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(w<<24>>24==0|(a|0)!=0))}if(!a){a=1;v=28;break a}}j=j+1|0}while((j|0)<(q|0))}while(0);m=m+1|0;if((m|0)>=(t|0)){a=0;v=28;break}}if((v|0)==28)return a|0;return 0}function rn(a,c,e,g,i,k,l,m){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=t;t=t+112|0;U=Y+32|0;R=Y+24|0;Q=Y+16|0;M=Y+8|0;L=Y;T=Y+72|0;S=Y+40|0;X=f[a>>2]|0;o=f[a+8>>2]|0;if(!o){if((f[a+116>>2]|0)==0?(d[X+76>>1]&8)==0:0)b[a+23>>0]=1;W=sl(a)|0}else W=o;do if((m|0)<0){o=h[i+24>>0]|0;p=W+136|0;q=f[p>>2]|0;if((f[(f[W+12>>2]|0)+48>>2]|0)>(q|0)){f[p>>2]=q+1;V=f[W+88>>2]|0;b[V+(q*20|0)>>0]=46;d[V+(q*20|0)+2>>1]=0;f[V+(q*20|0)+4>>2]=o;f[V+(q*20|0)+8>>2]=0;f[V+(q*20|0)+12>>2]=0;f[V+(q*20|0)+16>>2]=0;b[V+(q*20|0)+1>>0]=0;V=q;break}else{V=tl(W,46,o,0,0)|0;break}}else V=0;while(0);w=i+20|0;if((f[w>>2]|0)>0){x=(g|0)==0;y=T+4|0;z=g+4|0;A=(k|0)==0;B=i+36|0;C=T+4|0;D=e+40|0;E=e+4|0;F=l+1|0;G=T+4|0;H=T+4|0;r=0;v=0;while(1){if(x)q=-1;else q=d[(f[z>>2]|0)+(v<<1)>>1]|0;p=q&65535;s=f[a>>2]|0;f[T>>2]=0;f[y>>2]=0;o=Dk(s,164,T,0)|0;do if(!o)o=0;else{if(p<<16>>16>-1?(d[D>>1]|0)!=p<<16>>16:0){p=f[E>>2]|0;f[o+28>>2]=F+q;b[o+1>>0]=b[p+(q<<4)+13>>0]|0;p=f[p+(q<<4)+8>>2]|0;if(p|0){f[T>>2]=p;N=(wz(p)|0)&1073741823;f[G>>2]=N;if((N|0)!=0?(J=Dk(f[a>>2]|0,102,T,0)|0,(J|0)!=0):0){f[J+12>>2]=o;o=J+4|0;f[o>>2]=f[o>>2]|4352;o=J}break}p=f[f[s+8>>2]>>2]|0;f[T>>2]=p;if(p){N=(wz(p)|0)&1073741823;f[H>>2]=N;if((N|0)!=0?(K=Dk(f[a>>2]|0,102,T,0)|0,(K|0)!=0):0){f[K+12>>2]=o;o=K+4|0;f[o>>2]=f[o>>2]|4352;o=K}}else f[H>>2]=0;break}f[o+28>>2]=l;b[o+1>>0]=68}while(0);p=f[(f[(f[i>>2]|0)+4>>2]|0)+(f[(A?B:k+(v<<2)|0)>>2]<<16>>16<<4)>>2]|0;f[T>>2]=p;if(!p)p=0;else p=(wz(p)|0)&1073741823;f[C>>2]=p;u=Dk(X,59,T,0)|0;s=f[a>>2]|0;a:do if(f[s+272>>2]|0)if(!(b[s+81>>0]|0))N=42;else{p=s;N=46}else{do if((j[s+276>>1]|0)>=48){p=s+300|0;q=f[p>>2]|0;if(q|0){f[p>>2]=f[q>>2];N=s+284|0;f[N>>2]=(f[N>>2]|0)+1;N=43;break a}p=s+296|0;q=f[p>>2]|0;if(!q){p=s+292|0;break}else{f[p>>2]=f[q>>2];N=s+284|0;f[N>>2]=(f[N>>2]|0)+1;N=43;break a}}else p=s+288|0;while(0);f[p>>2]=(f[p>>2]|0)+1;N=42}while(0);if((N|0)==42){q=Dc(s,48,0)|0;N=43}do if((N|0)==43){N=0;if(!q){p=f[a>>2]|0;N=46;break}p=q;I=p+48|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(I|0));b[q>>0]=53;d[q+34>>1]=-1;if(!u)p=0;else{f[q+16>>2]=u;p=f[u+4>>2]&2097412;f[q+4>>2]=p}if(o|0){f[q+12>>2]=o;f[q+4>>2]=p|f[o+4>>2]&2097412}jl(q);o=f[(f[a>>2]|0)+120>>2]|0;if((o|0)<(f[q+24>>2]|0)){f[L>>2]=o;ni(a,42710,L);o=q}else o=q}while(0);if((N|0)==46){N=0;if(o|0)ig(p,o);if(!u)o=0;else{ig(p,u);o=0}}r=kl(X,r,o)|0;v=v+1|0;if((v|0)>=(f[w>>2]|0)){o=i;break}}}else{r=0;o=i}if((m|0)>0?(f[o>>2]|0)==(e|0):0){b:do if(!(f[e+36>>2]&32)){n=f[a>>2]|0;f[T>>2]=0;f[T+4>>2]=0;n=Dk(n,164,T,0)|0;if(!n)u=0;else{f[n+28>>2]=l;b[n+1>>0]=68;u=n}n=f[c+48>>2]|0;f[T>>2]=0;f[T+4>>2]=0;q=Dk(X,158,T,0)|0;s=(q|0)==0;if(!s){f[q+44>>2]=e;f[q+28>>2]=n;d[q+32>>1]=-1}p=f[a>>2]|0;c:do if(f[p+272>>2]|0)if(!(b[p+81>>0]|0))N=72;else n=p;else{do if((j[p+276>>1]|0)>=48){o=p+300|0;n=f[o>>2]|0;if(n|0){f[o>>2]=f[n>>2];N=p+284|0;f[N>>2]=(f[N>>2]|0)+1;N=73;break c}o=p+296|0;n=f[o>>2]|0;if(!n){n=p+292|0;break}else{f[o>>2]=f[n>>2];N=p+284|0;f[N>>2]=(f[N>>2]|0)+1;N=73;break c}}else n=p+288|0;while(0);f[n>>2]=(f[n>>2]|0)+1;N=72}while(0);if((N|0)==72){n=Dc(p,48,0)|0;N=73}do if((N|0)==73){if(!n){n=f[a>>2]|0;break}p=n;I=p+48|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(I|0));b[n>>0]=52;d[n+34>>1]=-1;if(s)o=0;else{f[n+16>>2]=q;o=f[q+4>>2]&2097412;f[n+4>>2]=o}if(u|0){f[n+12>>2]=u;f[n+4>>2]=o|f[u+4>>2]&2097412}jl(n);o=f[(f[a>>2]|0)+120>>2]|0;if((o|0)>=(f[n+24>>2]|0))break b;f[M>>2]=o;ni(a,42710,M);break b}while(0);if(u|0)ig(n,u);if(s)n=0;else{ig(n,q);n=0}}else{o=e+8|0;while(1){o=f[o>>2]|0;M=o+55|0;if(((h[M>>0]|h[M+1>>0]<<8)&3)==2)break;else o=o+20|0}H=o+50|0;if(!(d[H>>1]|0))q=0;else{y=g+4|0;z=T+4|0;A=c+48|0;B=T+4|0;C=e+40|0;D=e+4|0;E=l+1|0;F=T+4|0;G=T+4|0;q=0;x=0;do{u=d[(f[y>>2]|0)+(x<<1)>>1]|0;s=f[a>>2]|0;f[T>>2]=0;f[z>>2]=0;o=Dk(s,164,T,0)|0;do if(!o)o=0;else{p=u<<16>>16;if(u<<16>>16>-1?(d[C>>1]|0)!=u<<16>>16:0){N=f[D>>2]|0;f[o+28>>2]=E+p;b[o+1>>0]=b[N+(p<<4)+13>>0]|0;p=f[N+(p<<4)+8>>2]|0;if(p|0){f[T>>2]=p;N=(wz(p)|0)&1073741823;f[F>>2]=N;if((N|0)!=0?(O=Dk(f[a>>2]|0,102,T,0)|0,(O|0)!=0):0){f[O+12>>2]=o;o=O+4|0;f[o>>2]=f[o>>2]|4352;o=O}break}p=f[f[s+8>>2]>>2]|0;f[T>>2]=p;if(p){N=(wz(p)|0)&1073741823;f[G>>2]=N;if((N|0)!=0?(P=Dk(f[a>>2]|0,102,T,0)|0,(P|0)!=0):0){f[P+12>>2]=o;o=P+4|0;f[o>>2]=f[o>>2]|4352;o=P}}else f[G>>2]=0;break}f[o+28>>2]=l;b[o+1>>0]=68}while(0);p=f[A>>2]|0;f[T>>2]=0;f[B>>2]=0;v=Dk(X,158,T,0)|0;w=(v|0)==0;if(!w){f[v+44>>2]=e;f[v+28>>2]=p;d[v+32>>1]=u}u=f[a>>2]|0;d:do if(f[u+272>>2]|0)if(!(b[u+81>>0]|0))N=116;else{p=u;N=120}else{do if((j[u+276>>1]|0)>=48){p=u+300|0;s=f[p>>2]|0;if(s|0){f[p>>2]=f[s>>2];N=u+284|0;f[N>>2]=(f[N>>2]|0)+1;N=117;break d}p=u+296|0;s=f[p>>2]|0;if(!s){p=u+292|0;break}else{f[p>>2]=f[s>>2];N=u+284|0;f[N>>2]=(f[N>>2]|0)+1;N=117;break d}}else p=u+288|0;while(0);f[p>>2]=(f[p>>2]|0)+1;N=116}while(0);if((N|0)==116){s=Dc(u,48,0)|0;N=117}do if((N|0)==117){N=0;if(!s){p=f[a>>2]|0;N=120;break}p=s;I=p+48|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(I|0));b[s>>0]=53;d[s+34>>1]=-1;if(w)p=0;else{f[s+16>>2]=v;p=f[v+4>>2]&2097412;f[s+4>>2]=p}if(o|0){f[s+12>>2]=o;f[s+4>>2]=p|f[o+4>>2]&2097412}jl(s);o=f[(f[a>>2]|0)+120>>2]|0;if((o|0)<(f[s+24>>2]|0)){f[Q>>2]=o;ni(a,42710,Q);o=s}else o=s}while(0);if((N|0)==120){N=0;if(o|0)ig(p,o);if(w)o=0;else{ig(p,v);o=0}}q=kl(X,q,o)|0;x=x+1|0}while(x>>>0<(j[H>>1]|0)>>>0)}p=f[a>>2]|0;e:do if(f[p+272>>2]|0){if(!(b[p+81>>0]|0))N=140}else{do if((j[p+276>>1]|0)>=48){o=p+300|0;n=f[o>>2]|0;if(n|0){f[o>>2]=f[n>>2];N=p+284|0;f[N>>2]=(f[N>>2]|0)+1;N=141;break e}o=p+296|0;n=f[o>>2]|0;if(!n){n=p+292|0;break}else{f[o>>2]=f[n>>2];N=p+284|0;f[N>>2]=(f[N>>2]|0)+1;N=141;break e}}else n=p+288|0;while(0);f[n>>2]=(f[n>>2]|0)+1;N=140}while(0);if((N|0)==140){n=Dc(p,48,0)|0;N=141}if((N|0)==141?n|0:0){p=n;I=p+48|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(I|0));b[n>>0]=19;d[n+34>>1]=-1;if(q|0){f[n+12>>2]=q;f[n+4>>2]=f[q+4>>2]&2097412}jl(n);o=f[(f[a>>2]|0)+120>>2]|0;if((o|0)>=(f[n+24>>2]|0))break;f[R>>2]=o;ni(a,42710,R);break}if(!q)n=0;else{ig(f[a>>2]|0,q);n=0}}while(0);r=kl(X,r,n)|0}s=S+8|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[s+16>>2]=0;f[s+20>>2]=0;f[S+4>>2]=c;f[S>>2]=a;s=(r|0)==0;do if(!s){p=S+24|0;d[p>>1]=0;f[T>>2]=a;f[T+4>>2]=146;f[T+8>>2]=147;f[T+12>>2]=0;f[T+24>>2]=S;n=r+24|0;o=a+204|0;S=(f[o>>2]|0)+(f[n>>2]|0)|0;f[o>>2]=S;o=f[(f[a>>2]|0)+120>>2]|0;if((o|0)<(S|0)){f[U>>2]=o;ni(a,42710,U);break}oi(T,r)|0;U=(f[T>>2]|0)+204|0;f[U>>2]=(f[U>>2]|0)-(f[n>>2]|0);if(d[p>>1]&16){U=r+4|0;f[U>>2]=f[U>>2]|2}}while(0);if(!(f[a+36>>2]|0)){q=sn(a,c,r,0,0,0,0)|0;n=h[i+24>>0]|0;o=W+136|0;p=f[o>>2]|0;if((f[(f[W+12>>2]|0)+48>>2]|0)>(p|0)){f[o>>2]=p+1;i=f[W+88>>2]|0;b[i+(p*20|0)>>0]=-105;d[i+(p*20|0)+2>>1]=0;f[i+(p*20|0)+4>>2]=n;f[i+(p*20|0)+8>>2]=m;f[i+(p*20|0)+12>>2]=0;f[i+(p*20|0)+16>>2]=0;b[i+(p*20|0)+1>>0]=0}else tl(W,151,n,m,0)|0;if(q|0)tn(q)}if(!s)ig(X,r);if(!V){t=Y;return}o=f[W+136>>2]|0;if(!(b[(f[W>>2]|0)+81>>0]|0))n=(f[W+88>>2]|0)+(((V|0)<0?o+-1|0:V)*20|0)|0;else n=72144;f[n+8>>2]=o;t=Y;return}function sn(a,c,e,g,i,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;Ca=t;t=t+192|0;za=Ca+56|0;ma=Ca+48|0;U=Ca+40|0;E=Ca+32|0;G=Ca+24|0;F=Ca+16|0;w=Ca+8|0;m=Ca;xa=Ca+96|0;T=Ca+64|0;ya=a+8|0;la=f[ya>>2]|0;Ba=f[a>>2]|0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;f[T+16>>2]=0;f[T+20>>2]=0;f[T+24>>2]=0;if(!g)I=0;else I=(f[g>>2]|0)>63?0:g;$=T+8|0;f[$>>2]=I;_=Ba+76|0;wa=(d[_>>1]&16)==0?k:k&-257;g=f[c>>2]|0;if((g|0)>64){f[m>>2]=64;ni(a,56410,m);Ba=0;t=Ca;return Ba|0}ea=wa&65535;ka=ea&32;fa=(ka|0)!=0;ca=fa?1:g;u=ca*80|0;v=u+759&-16;m=v+72|0;a:do if(f[Ba+272>>2]|0)if(!(b[Ba+81>>0]|0))na=15;else g=0;else{do if(!(0<0|(0==0?(j[Ba+276>>1]|0)>>>0>>0:0))){k=Ba+300|0;g=f[k>>2]|0;if(g|0){f[k>>2]=f[g>>2];Aa=Ba+284|0;f[Aa>>2]=(f[Aa>>2]|0)+1;break a}k=Ba+296|0;g=f[k>>2]|0;if(!g){g=Ba+292|0;break}else{f[k>>2]=f[g>>2];Aa=Ba+284|0;f[Aa>>2]=(f[Aa>>2]|0)+1;break a}}else g=Ba+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;na=15}while(0);if((na|0)==15)g=Dc(Ba,m,0)|0;va=Ba+81|0;if(b[va>>0]|0){if(!g){Ba=0;t=Ca;return Ba|0}if(f[Ba+480>>2]|0){Kc(Ba,g);Ba=0;t=Ca;return Ba|0}Aa=g;if((f[Ba+304>>2]|0)>>>0<=Aa>>>0?(f[Ba+308>>2]|0)>>>0>Aa>>>0:0){Ba=Ba+300|0;f[g>>2]=f[Ba>>2];f[Ba>>2]=g;Ba=0;t=Ca;return Ba|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);Ba=0;t=Ca;return Ba|0}else{Ba=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Ba;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);Ba=0;t=Ca;return Ba|0}}f[g>>2]=a;da=g+4|0;f[da>>2]=c;W=g+8|0;f[W>>2]=I;f[g+16>>2]=e;f[g+12>>2]=i;ia=g+24|0;ja=g+28|0;f[ja>>2]=-1;f[ia>>2]=-1;Aa=g+46|0;b[Aa>>0]=ca;ha=la+12|0;k=f[ha>>2]|0;r=k+60|0;s=f[r>>2]|0;f[r>>2]=s+1;r=k+64|0;if(!(s+-1&s)){p=s<<3|4;q=f[k>>2]|0;k=f[r>>2]|0;b:do if(k){n=k;o=q+304|0;if(((f[o>>2]|0)>>>0<=n>>>0?(f[q+308>>2]|0)>>>0>n>>>0:0)?!(0<0|(0==0?(j[q+276>>1]|0)>>>0

>>0:0)):0)break;m=Lc(q,k,p,0)|0;if(!m){if(f[q+480>>2]|0){Kc(q,k);k=0;break}if((f[o>>2]|0)>>>0<=n>>>0?(f[q+308>>2]|0)>>>0>n>>>0:0){ua=q+300|0;f[k>>2]=f[ua>>2];f[ua>>2]=k;k=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);k=0;break}else{ua=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-ua;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);k=0;break}}else k=m}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){k=0;break}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0

>>0:0))){m=q+300|0;k=f[m>>2]|0;if(k|0){f[m>>2]=f[k>>2];ua=q+284|0;f[ua>>2]=(f[ua>>2]|0)+1;break b}m=q+296|0;k=f[m>>2]|0;if(!k){k=q+292|0;break}else{f[m>>2]=f[k>>2];ua=q+284|0;f[ua>>2]=(f[ua>>2]|0)+1;break b}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(q,p,0)|0}while(0);f[r>>2]=k}else k=f[r>>2]|0;if(k|0)f[k+(s<<2)>>2]=-1;ga=~s;qa=g+32|0;f[qa>>2]=ga;z=g+36|0;f[z>>2]=ga;ga=g+44|0;d[ga>>1]=wa;d[g+20>>1]=l;ra=a+128|0;sa=g+40|0;f[sa>>2]=f[ra>>2];k=g+47|0;A=k;C=A+33|0;do{b[A>>0]=0;A=A+1|0}while((A|0)<(C|0));ta=g+752|0;_A(ta|0,0,u+72|0)|0;Z=g+488|0;f[T>>2]=g;ua=g+80|0;aa=T+4|0;f[aa>>2]=ua;x=g+v|0;M=T+12|0;f[M>>2]=x;f[x+48>>2]=x+56;d[x+40>>1]=0;d[x+44>>1]=3;f[x+36>>2]=0;x=g+492|0;f[x>>2]=0;f[ua>>2]=g;b[g+89>>0]=0;f[g+84>>2]=0;oa=g+92|0;f[oa>>2]=0;f[g+96>>2]=8;pa=g+100|0;f[pa>>2]=g+104;wn(ua,e,44);y=(ca|0)==0;if(y){if(I|0)b[k>>0]=f[I>>2];if(ea&256|0)b[g+51>>0]=1;Km(a,0,56438,w)}else{u=0;do{v=c+8+(u*72|0)+40|0;K=f[v>>2]|0;S=f[x>>2]|0;f[x>>2]=S+1;f[Z+8+(S<<2)>>2]=K;c:do if((b[c+8+(u*72|0)+37>>0]&4?(B=f[c+8+(u*72|0)+16>>2]|0,D=f[c+8+(u*72|0)+64>>2]|0,D|0):0)?(f[D>>2]|0)>0:0){e=B+42|0;w=B+4|0;s=0;k=0;d:while(1){n=d[e>>1]|0;if((s|0)>=(n|0))break;o=f[w>>2]|0;p=s;while(1){if(b[o+(p<<4)+15>>0]&2)break;m=p+1|0;if((m|0)<(n|0))p=m;else break d}o=f[a>>2]|0;e:do if(f[o+272>>2]|0)if(!(b[o+81>>0]|0))na=81;else break c;else{do if((j[o+276>>1]|0)>=48){m=o+300|0;n=f[m>>2]|0;if(n|0){f[m>>2]=f[n>>2];S=o+284|0;f[S>>2]=(f[S>>2]|0)+1;break e}m=o+296|0;n=f[m>>2]|0;if(!n){m=o+292|0;break}else{f[m>>2]=f[n>>2];S=o+284|0;f[S>>2]=(f[S>>2]|0)+1;break e}}else m=o+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1;na=81}while(0);if((na|0)==81){na=0;n=Dc(o,48,0)|0}if(!n)break c;A=n;C=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(C|0));b[n>>0]=-98;d[n+34>>1]=-1;f[n+24>>2]=1;f[n+28>>2]=f[v>>2];s=p+1|0;d[n+32>>1]=p;f[n+44>>2]=B;m=f[D+4+(k*20|0)>>2]|0;if(!m)q=0;else q=Bk(f[a>>2]|0,m,0,0)|0;p=f[a>>2]|0;f:do if(f[p+272>>2]|0)if(!(b[p+81>>0]|0))na=95;else na=98;else{do if((j[p+276>>1]|0)>=48){m=p+300|0;o=f[m>>2]|0;if(o|0){f[m>>2]=f[o>>2];na=p+284|0;f[na>>2]=(f[na>>2]|0)+1;na=96;break f}m=p+296|0;o=f[m>>2]|0;if(!o){m=p+292|0;break}else{f[m>>2]=f[o>>2];na=p+284|0;f[na>>2]=(f[na>>2]|0)+1;na=96;break f}}else m=p+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1;na=95}while(0);if((na|0)==95){o=Dc(p,48,0)|0;na=96}do if((na|0)==96){na=0;if(!o){na=98;break}A=o;C=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(C|0));b[o>>0]=-94;d[o+34>>1]=-1;if(q|0){f[o+12>>2]=q;f[o+4>>2]=f[q+4>>2]&2097412}jl(o);m=f[(f[a>>2]|0)+120>>2]|0;if((m|0)>=(f[o+24>>2]|0)){r=0;break}f[G>>2]=m;ni(a,42710,G);r=0}while(0);do if((na|0)==98){if(!q){r=1;o=0;break}ig(f[a>>2]|0,q);r=1;o=0}while(0);q=f[a>>2]|0;g:do if(f[q+272>>2]|0)if(!(b[q+81>>0]|0))na=113;else{m=q;na=118}else{do if((j[q+276>>1]|0)>=48){p=q+300|0;m=f[p>>2]|0;if(m|0){f[p>>2]=f[m>>2];na=q+284|0;f[na>>2]=(f[na>>2]|0)+1;na=114;break g}p=q+296|0;m=f[p>>2]|0;if(!m){m=q+292|0;break}else{f[p>>2]=f[m>>2];na=q+284|0;f[na>>2]=(f[na>>2]|0)+1;na=114;break g}}else m=q+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1;na=113}while(0);if((na|0)==113){m=Dc(q,48,0)|0;na=114}do if((na|0)==114){na=0;if(!m){m=f[a>>2]|0;na=118;break}A=m;C=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(C|0));b[m>>0]=53;d[m+34>>1]=-1;if(r){o=m+4|0;p=0}else{f[m+16>>2]=o;p=f[o+4>>2]&2097412;o=m+4|0;f[o>>2]=p}f[m+12>>2]=n;f[o>>2]=f[n+4>>2]&2097412|p;jl(m);n=f[(f[a>>2]|0)+120>>2]|0;if((n|0)>=(f[m+24>>2]|0))break;f[E>>2]=n;ni(a,42710,E)}while(0);do if((na|0)==118){na=0;ig(m,n);if(r){m=0;break}ig(m,o);m=0}while(0);xn(ua,m,1)|0;k=k+1|0;if((k|0)>=(f[D>>2]|0))break c}f[F>>2]=f[B>>2];f[F+4>>2]=k;ni(a,56456,F)}while(0);u=u+1|0}while((u|0)<(f[c>>2]|0))}k=f[oa>>2]|0;if((k|0)>0)do{S=k;k=k+-1|0;yn(c,ua,k)}while((S|0)>1);h:do if(!(b[va>>0]|0)){i:do if((f[g+92>>2]|0)>0){p=xa+20|0;q=xa+4|0;r=xa+8|0;if(y){o=0;k=ua;while(1){m=f[k+20>>2]|0;n=m+(o*48|0)+10|0;if((d[n>>1]&2)==0?(S=m+(o*48|0)+40|0,(f[S>>2]|0)==0&(f[S+4>>2]|0)==0):0){zm(a,f[m+(o*48|0)>>2]|0,f[z>>2]|0,16);d[n>>1]=d[n>>1]|4;k=f[aa>>2]|0}o=o+1|0;if((o|0)>=(f[k+12>>2]|0))break i}}o=0;k=ua;do{k=f[k+20>>2]|0;n=k+(o*48|0)+10|0;do if((d[n>>1]&2)==0?(S=k+(o*48|0)+40|0,(f[S>>2]|0)==0&(f[S+4>>2]|0)==0):0){k=k+(o*48|0)|0;m=f[k>>2]|0;f[xa>>2]=0;f[xa+4>>2]=0;f[xa+8>>2]=0;f[xa+12>>2]=0;f[xa+16>>2]=0;f[xa+20>>2]=0;f[xa+24>>2]=0;b[p>>0]=1;f[q>>2]=165;f[r>>2]=156;if(m){oi(xa,m)|0;if(!(b[p>>0]|0))break}zm(a,f[k>>2]|0,f[z>>2]|0,16);d[n>>1]=d[n>>1]|4}while(0);o=o+1|0;k=f[aa>>2]|0}while((o|0)<(f[k+12>>2]|0))}while(0);S=(ea&256|0)==0;j:do if(!S){k:do if((f[c>>2]|0)==1){H=f[c+48>>2]|0;o=f[c+24>>2]|0;p=f[i>>2]|0;l:do if((p|0)>0){n=0;while(1){k=f[i+4+(n*20|0)>>2]|0;m:do if(!k)k=0;else while(1){m=f[k+4>>2]|0;if(!(m&4096))break m;if(!(m&262144))k=k+12|0;else k=(f[k+20>>2]|0)+4|0;k=f[k>>2]|0;if(!k){k=0;break}}while(0);do if((b[k>>0]|0)==-98){if((f[k+28>>2]|0)!=(H|0))break;if((d[k+32>>1]|0)<0)break l}while(0);n=n+1|0;if((n|0)>=(p|0)){na=159;break}}}else na=159;while(0);n:do if((na|0)==159){k=f[o+8>>2]|0;if(!k)break k;x=xa+4|0;y=xa+12|0;z=xa+16|0;A=xa+8|0;B=xa+20|0;C=xa+24|0;D=xa+28|0;E=xa+72|0;F=xa+17|0;G=xa+18|0;while(1){if(b[k+54>>0]|0){w=k+50|0;o:do if(!(d[w>>1]|0))m=0;else{s=k+4|0;u=k+40|0;v=k+32|0;e=k+12|0;m=0;do{f[xa>>2]=ua;f[x>>2]=ua;f[y>>2]=0;b[z>>0]=0;f[A>>2]=0;o=d[(f[s>>2]|0)+(m<<1)>>1]|0;n=o<<16>>16;do if(o<<16>>16==-2){f[y>>2]=f[(f[u>>2]|0)+4+(m*20|0)>>2];f[A>>2]=f[(f[v>>2]|0)+(m<<2)>>2];n=-2}else{p=f[e>>2]|0;if(o<<16>>16==(d[p+40>>1]|0)){n=-1;break}if(o<<16>>16<=-1)break;b[z>>0]=b[(f[p+4>>2]|0)+(n<<4)+13>>0]|0;f[A>>2]=f[(f[v>>2]|0)+(m<<2)>>2]}while(0);f[B>>2]=2;f[C>>2]=0;f[D>>2]=H;d[E>>1]=n;b[F>>0]=1;b[G>>0]=1;n=An(xa)|0;do if(n){o=0;while(1){na=n+32|0;if((f[na>>2]|0)==0&(f[na+4>>2]|0)==0){if(d[n+12>>1]&2){na=174;break}o=(o|0)==0?n:o}n=An(xa)|0;if(!n){na=177;break}}if((na|0)==174){na=0;break}else if((na|0)==177){na=0;if(!o){na=178;break}else break}}else na=178;while(0);if((na|0)==178){r=f[(f[v>>2]|0)+(m<<2)>>2]|0;if((f[i>>2]|0)<=0)break o;q=0;p:while(1){p=f[i+4+(q*20|0)>>2]|0;q:do if(!p)n=0;else{n=p;while(1){o=f[n+4>>2]|0;if(!(o&4096))break q;if(!(o&262144))n=n+12|0;else n=(f[n+20>>2]|0)+4|0;n=f[n>>2]|0;if(!n){n=0;break}}}while(0);do if((b[n>>0]|0)==-98){if((d[n+32>>1]|0)!=(d[(f[s>>2]|0)+(m<<1)>>1]|0))break;if((f[n+28>>2]|0)!=(H|0))break;n=Zk(a,p)|0;if(!n)n=f[(f[a>>2]|0)+8>>2]|0;o=f[n>>2]|0;na=b[o>>0]|0;n=(h[1232+(na&255)>>0]|0)-(h[1232+(h[r>>0]|0)>>0]|0)|0;if(!(na<<24>>24==0|(n|0)!=0)){p=r;do{o=o+1|0;p=p+1|0;na=b[o>>0]|0;n=(h[1232+(na&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0}while(!(na<<24>>24==0|(n|0)!=0))}if(!n)break p}while(0);q=q+1|0;if((q|0)>=(f[i>>2]|0))break o}n=d[(f[s>>2]|0)+(m<<1)>>1]|0;if(n<<16>>16>-1)n=h[(f[(f[e>>2]|0)+4>>2]|0)+(n<<16>>16<<4)+12>>0]|0;else n=n<<16>>16==-1&1;if(!n)break o}m=m+1|0}while(m>>>0<(j[w>>1]|0)>>>0)}while(0);if((m|0)==(j[w>>1]|0))break n}k=f[k+20>>2]|0;if(!k)break k}}while(0);b[g+51>>0]=1;break j}while(0);if(!I){d[ga>>1]=d[ga>>1]|128;f[W>>2]=i}}while(0);do if((((ca|0)==1?(Q=f[T>>2]|0,O=f[M>>2]|0,R=Q+44|0,(d[R>>1]&32)==0):0)?(P=f[Q+4>>2]|0,L=f[P+24>>2]|0,(f[L+56>>2]|0)==0):0)?(b[P+45>>0]&2)==0:0){I=f[P+48>>2]|0;J=Q+80|0;K=O+36|0;f[K>>2]=0;d[O+42>>1]=0;f[xa>>2]=J;f[xa+4>>2]=J;f[xa+12>>2]=0;b[xa+16>>0]=0;f[xa+8>>2]=0;f[xa+20>>2]=130;f[xa+24>>2]=0;f[xa+28>>2]=I;d[xa+72>>1]=-1;b[xa+17>>0]=1;b[xa+18>>0]=1;m=An(xa)|0;do if(!m)na=220;else{k=0;while(1){na=m+32|0;if((f[na>>2]|0)==0&(f[na+4>>2]|0)==0?d[m+12>>1]&130:0){na=216;break}k=(k|0)==0?m:k;m=An(xa)|0;if(!m){na=218;break}}if((na|0)==216)k=m;else if((na|0)==218)if(!k){na=220;break}f[K>>2]=4353;f[f[O+48>>2]>>2]=k;d[O+40>>1]=1;d[O+24>>1]=1;d[O+20>>1]=33}while(0);r:do if((na|0)==220?(N=f[L+8>>2]|0,N|0):0){x=xa+4|0;y=xa+12|0;z=xa+16|0;A=xa+8|0;B=xa+20|0;C=xa+24|0;D=xa+28|0;E=xa+72|0;F=xa+17|0;G=xa+18|0;H=O+48|0;k=N;s:while(1){do if(b[k+54>>0]|0){if(f[k+36>>2]|0)break;w=k+50|0;m=d[w>>1]|0;if((m&65535)>3)break;v=k+55|0;v=(h[v>>0]|h[v+1>>0]<<8)<<4&128|2;e=v&65535;t:do if(!(m<<16>>16))m=0;else{q=k+4|0;r=k+40|0;s=k+32|0;u=k+12|0;m=0;while(1){f[xa>>2]=J;f[x>>2]=J;f[y>>2]=0;b[z>>0]=0;f[A>>2]=0;o=d[(f[q>>2]|0)+(m<<1)>>1]|0;n=o<<16>>16;do if(o<<16>>16==-2){f[y>>2]=f[(f[r>>2]|0)+4+(m*20|0)>>2];f[A>>2]=f[(f[s>>2]|0)+(m<<2)>>2];n=-2}else{p=f[u>>2]|0;if(o<<16>>16==(d[p+40>>1]|0)){n=-1;break}if(o<<16>>16<=-1)break;b[z>>0]=b[(f[p+4>>2]|0)+(n<<4)+13>>0]|0;f[A>>2]=f[(f[s>>2]|0)+(m<<2)>>2]}while(0);f[B>>2]=e;f[C>>2]=0;f[D>>2]=I;d[E>>1]=n;b[F>>0]=1;b[G>>0]=1;o=An(xa)|0;if(!o)break;n=0;while(1){na=o+32|0;if((f[na>>2]|0)==0&(f[na+4>>2]|0)==0?(d[o+12>>1]&v)<<16>>16:0){na=237;break}n=(n|0)==0?o:n;o=An(xa)|0;if(!o){na=239;break}}if((na|0)==237)n=o;else if((na|0)==239)if(!n)break t;f[(f[H>>2]|0)+(m<<2)>>2]=n;m=m+1|0;if(m>>>0>=(j[w>>1]|0)>>>0)break t}}while(0);if((m|0)==(j[w>>1]|0))break s}while(0);k=f[k+20>>2]|0;if(!k)break r}na=k+55|0;f[K>>2]=4609;if(!(((h[na>>0]|h[na+1>>0]<<8)&32)==0?(na=P+64|0,P=k+64|0,!((f[P>>2]&f[na>>2]|0)==0?(f[P+4>>2]&f[na+4>>2]|0)==0:0)):0))f[K>>2]=4673;na=m&65535;d[O+40>>1]=na;d[O+24>>1]=na;f[O+32>>2]=k;d[O+20>>1]=39}while(0);if(f[K>>2]|0){d[O+22>>1]=1;f[Q+816>>2]=O;k=O+8|0;f[k>>2]=1;f[k+4>>2]=0;f[Q+756>>2]=I;d[Q+72>>1]=1;k=f[Q+8>>2]|0;if(k|0)b[Q+47>>0]=f[k>>2];if(!(d[R>>1]&256)){na=329;break}b[Q+51>>0]=1;na=329}else na=252}else na=252;while(0);if((na|0)==252){E=f[T>>2]|0;k=f[E+4>>2]|0;R=b[E+46>>0]|0;F=k+8+((R&255)*72|0)|0;H=f[f[E>>2]>>2]|0;G=f[M>>2]|0;I=G+56|0;J=G+48|0;f[J>>2]=I;K=G+40|0;d[K>>1]=0;L=G+44|0;d[L>>1]=3;M=G+36|0;f[M>>2]=0;z=T+24|0;f[z>>2]=2e4;u:do if(R<<24>>24){A=G+16|0;B=E+492|0;C=G+8|0;D=H+81|0;s=0;y=0;m=k+8|0;o=2e4;r=0;n=0;q=0;x=0;v:while(1){b[A>>0]=y;f[z>>2]=o+1e3;o=f[m+40>>2]|0;u=f[B>>2]|0;p=(u|0)>0;w:do if(p){k=0;while(1){if((f[E+496+(k<<2)>>2]|0)==(o|0))break;k=k+1|0;if((k|0)>=(u|0)){k=0;o=0;break w}}k=WA(1,0,k|0)|0;o=ba()|0}else{k=0;o=0}while(0);v=C;f[v>>2]=k;f[v+4>>2]=o;v=b[m+36>>0]|0;w=((v|s)&10)==0;e=w?r:n;w=w?q:x;if(!(f[(f[m+16>>2]|0)+56>>2]|0)){k=Cn(T,e,w)|0;p=0;o=0}else{k=m+72|0;if(k>>>0>=F>>>0|p^1){p=0;o=0}else{q=m;p=0;o=0;while(1){if((p|0)==0&(o|0)==0?(b[q+108>>0]&10)==0:0){p=0;o=0}else{r=f[q+112>>2]|0;q=0;while(1){if((f[E+496+(q<<2)>>2]|0)==(r|0)){na=267;break}q=q+1|0;if((q|0)>=(u|0)){q=0;r=0;break}}if((na|0)==267){na=0;q=WA(1,0,q|0)|0;r=ba()|0}p=q|p;o=r|o}q=k+72|0;if(q>>>0>>0){R=k;k=q;q=R}else break}}k=Bn(T,e,w,p,o)|0}do if(!k)if(!(b[(f[aa>>2]|0)+9>>0]|0)){k=C;n=f[k>>2]|n;k=f[k+4>>2]|x;na=277;break}else{k=Dn(T,e,w,p,o)|0;na=276;break}else na=276;while(0);x:do if((na|0)==276){na=0;o=C;n=f[o>>2]|n;o=f[o+4>>2]|x;switch(k|0){case 0:{k=o;na=277;break x}case 101:break;default:break v}Ac(28,56492,U);k=o}while(0);if((na|0)==277){na=0;if(b[D>>0]|0){k=0;break}}m=m+72|0;if(m>>>0>=F>>>0){k=0;break}s=v;y=y+1|0;o=f[z>>2]|0;r=e;q=w;x=k}m=f[J>>2]|0;if((m|0)!=(I|0)){do if(H|0){if(f[H+480>>2]|0){Kc(H,m);o=k;break u}n=m;if((f[H+304>>2]|0)>>>0>n>>>0)break;if((f[H+308>>2]|0)>>>0<=n>>>0)break;o=H+300|0;f[m>>2]=f[o>>2];f[o>>2]=m;o=k;break u}while(0);if(m)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);o=k;break}else{o=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);o=k;break}else o=k}else o=k}else o=0;while(0);k=f[M>>2]|0;do if(k&17408|0){if(k&1024|0?(X=G+28|0,b[X>>0]|0):0){k=G+32|0;m=f[k>>2]|0;do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{Y=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);b[X>>0]=0;f[k>>2]=0;break}if(k&16384|0?(Y=G+32|0,V=f[Y>>2]|0,V|0):0){k=f[V+16>>2]|0;y:do if(k){do if(H|0){m=H+480|0;if(!(f[m>>2]|0)){n=k;if((f[H+304>>2]|0)>>>0>n>>>0)break;if((f[H+308>>2]|0)>>>0<=n>>>0)break;na=H+300|0;f[k>>2]=f[na>>2];f[na>>2]=k}else Kc(H,k);k=f[Y>>2]|0;na=315;break y}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);na=313;break}else{na=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);na=313;break}}else na=313;while(0);do if((na|0)==313){k=f[Y>>2]|0;if(!H){na=320;break}m=H+480|0;na=315}while(0);do if((na|0)==315){if(f[m>>2]|0){Kc(H,k);break}m=k;if((f[H+304>>2]|0)>>>0>m>>>0){na=320;break}if((f[H+308>>2]|0)>>>0<=m>>>0){na=320;break}X=H+300|0;f[k>>2]=f[X>>2];f[X>>2]=k}while(0);do if((na|0)==320){if(!k)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{X=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-X;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);f[Y>>2]=0}}while(0);f[J>>2]=I;d[K>>1]=0;d[L>>1]=3;f[M>>2]=0;if(o|0){na=714;break}En(g,0);if(b[va>>0]|0){na=714;break}if(f[W>>2]|0){En(g,(j[g+72>>1]|0)+1&65535);if(!(b[va>>0]|0))na=329;else break}else na=330}if((na|0)==329?(f[W>>2]|0)==0:0)na=330;if((na|0)==330?!(0==0?(f[Ba+32>>2]&4096|0)==0:0):0){Y=g+64|0;f[Y>>2]=-1;f[Y+4>>2]=-1}if((f[a+36>>2]|0)==0?(b[va>>0]|0)==0:0){z:do if((i|0)!=0&(h[Aa>>0]|0)>1?(d[_>>1]&256)==0:0){k=f[i>>2]|0;if((k|0)>0){q=0;p=0;n=0;while(1){m=f[i+4+(q*20|0)>>2]|0;if(!m){m=0;o=0}else{m=Fn(Z,m)|0;o=ba()|0;k=f[i>>2]|0}m=m|p;n=o|n;q=q+1|0;if((q|0)>=(k|0)){s=m;u=n;break}else p=m}}else{s=0;u=0}r=f[$>>2]|0;if(r){n=f[r>>2]|0;if((n|0)>0){q=0;k=0;m=0;do{o=f[r+4+(q*20|0)>>2]|0;if(!o){o=0;p=0}else{o=Fn(Z,o)|0;p=ba()|0;n=f[r>>2]|0}k=o|k;m=p|m;q=q+1|0}while((q|0)<(n|0))}else{k=0;m=0}s=k|s;u=m|u}k=b[Aa>>0]|0;m=k&255;n=m+-1|0;if((k&255)<=1){J=-1;I=-1;break}if(!S){o=ca;B=n;z=-1;n=-1;while(1){A=ta+(B*80|0)|0;p=f[ta+(B*80|0)+64>>2]|0;q=f[da>>2]|0;r=h[p+16>>0]|0;A:do if(!(b[q+8+(r*72|0)+36>>0]&8))m=z;else{y=p+8|0;w=f[y>>2]|0;y=f[y+4>>2]|0;if(!((w&s|0)==0&(y&u|0)==0)){m=z;break}e=f[aa>>2]|0;v=f[e+20>>2]|0;e=f[e+12>>2]|0;x=v+(e*48|0)|0;e=(e|0)>0;do if(e){q=q+8+(r*72|0)+40|0;p=v;do{ca=p+40|0;if(!((f[ca>>2]&w|0)==0?(f[ca+4>>2]&y|0)==0:0)){r=f[p>>2]|0;if(!(f[r+4>>2]&1)){m=z;break A}if((f[q>>2]|0)!=(d[r+36>>1]|0)){m=z;break A}}p=p+48|0}while(p>>>0>>0);q=z&~w;p=n&~y;if(!e)break;n=v;do{ca=n+40|0;if(!((f[ca>>2]&w|0)==0?(f[ca+4>>2]&y|0)==0:0)){ca=n+10|0;d[ca>>1]=d[ca>>1]|4}n=n+48|0}while(n>>>0>>0)}else{q=z&~w;p=n&~y}while(0);n=(k&255)+-1|0;if((n|0)!=(B|0)){ZA(A|0,ta+(m*80|0)|0,(n-B|0)*80|0)|0;k=b[Aa>>0]|0}k=k+-1<<24>>24;b[Aa>>0]=k;o=o+-1|0;m=q;n=p}while(0);if((B|0)>1){ca=B;B=B+-1|0;z=m;m=ca}else{ca=o;J=m;I=n;break z}}}o=ca;B=n;z=-1;n=-1;while(1){A=ta+(B*80|0)|0;p=f[ta+(B*80|0)+64>>2]|0;q=f[da>>2]|0;r=h[p+16>>0]|0;B:do if(!(b[q+8+(r*72|0)+36>>0]&8))m=z;else{if(!(f[p+36>>2]&4096)){m=z;break}y=p+8|0;w=f[y>>2]|0;y=f[y+4>>2]|0;if(!((w&s|0)==0&(y&u|0)==0)){m=z;break}e=f[aa>>2]|0;v=f[e+20>>2]|0;e=f[e+12>>2]|0;x=v+(e*48|0)|0;e=(e|0)>0;do if(e){r=q+8+(r*72|0)+40|0;p=v;do{ca=p+40|0;if(!((f[ca>>2]&w|0)==0?(f[ca+4>>2]&y|0)==0:0)){q=f[p>>2]|0;if(!(f[q+4>>2]&1)){m=z;break B}if((f[r>>2]|0)!=(d[q+36>>1]|0)){m=z;break B}}p=p+48|0}while(p>>>0>>0);q=z&~w;p=n&~y;if(!e)break;n=v;do{ca=n+40|0;if(!((f[ca>>2]&w|0)==0?(f[ca+4>>2]&y|0)==0:0)){ca=n+10|0;d[ca>>1]=d[ca>>1]|4}n=n+48|0}while(n>>>0>>0)}else{q=z&~w;p=n&~y}while(0);n=(k&255)+-1|0;if((n|0)!=(B|0)){ZA(A|0,ta+(m*80|0)|0,(n-B|0)*80|0)|0;k=b[Aa>>0]|0}k=k+-1<<24>>24;b[Aa>>0]=k;o=o+-1|0;m=q;n=p}while(0);if((B|0)>1){ca=B;B=B+-1|0;z=m;m=ca}else{ca=o;J=m;I=n;break}}}else{J=-1;I=-1}while(0);da=(f[g>>2]|0)+128|0;f[da>>2]=(f[da>>2]|0)+(d[g+72>>1]|0);do if(ea&4){k=(f[g+816>>2]|0)+36|0;m=f[k>>2]|0;n=m&4096;if(!n){if(!((ea&8|0)!=0&(m&1024|0)==0)){D=0;break}if((ea&16|0)==0&(m&8192|0)!=0){D=0;break}}b[g+49>>0]=2-(n>>>12);if(!((m&64|0)==0?1:(f[(f[c+24>>2]|0)+36>>2]&32|0)!=0)){f[k>>2]=m&-65;D=wa&8}else D=0}else D=0;while(0);H=(ca|0)>0;if(H){E=Ba+16|0;F=a+116|0;G=g+49|0;x=fa^1;y=la+136|0;C=(l|0)==0|x;z=la+88|0;A=a+40|0;B=g+51|0;e=ta;w=0;while(1){p=h[e+44>>0]|0;u=c+8+(p*72|0)+16|0;o=f[u>>2]|0;m=f[o+72>>2]|0;if(!m)v=-1e6;else{n=f[E>>2]|0;k=0;while(1)if((f[n+(k<<4)+12>>2]|0)==(m|0)){v=k;break}else k=k+1|0}r=f[e+64>>2]|0;s=o+36|0;do if(!(f[s>>2]&2)){if(f[o+12>>2]|0)break;k=f[r+36>>2]|0;if(k&1024|0){k=f[o+64>>2]|0;C:do if(!k)o=0;else while(1){if((f[k>>2]|0)==(Ba|0)){o=k;break C}k=f[k+24>>2]|0;if(!k){o=0;break}}while(0);m=f[c+8+(p*72|0)+40>>2]|0;k=f[y>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){f[y>>2]=k+1;fa=f[z>>2]|0;b[fa+(k*20|0)>>0]=-92;d[fa+(k*20|0)+2>>1]=0;f[fa+(k*20|0)+4>>2]=m;f[fa+(k*20|0)+8>>2]=0;f[fa+(k*20|0)+12>>2]=0;f[fa+(k*20|0)+16>>2]=0;b[fa+(k*20|0)+1>>0]=0}else k=tl(la,164,m,0,0)|0;if(b[(f[la>>2]|0)+81>>0]|0)break;if((k|0)<0)k=(f[y>>2]|0)+-1|0;m=f[z>>2]|0;n=m+(k*20|0)+1|0;if(b[n>>0]|0){ul(la,m+(k*20|0)|0,o,-12);break}if(!o)break;f[m+(k*20|0)+16>>2]=o;b[n>>0]=-12;fa=o+12|0;f[fa>>2]=(f[fa>>2]|0)+1;break}if(f[o+56>>2]|0)break;if(k&64|ka|0){nm(a,v,f[o+28>>2]|0,0,f[o>>2]|0);break}m=c+8+(p*72|0)+40|0;if(!(b[G>>0]|0))k=109;else{f[ia>>2]=f[m>>2];k=110}vl(a,f[m>>2]|0,v,o,k);do if(!(b[G>>0]|0)){if((d[o+42>>1]|0)>=64)break;if(f[s>>2]&32|0)break;n=c+8+(p*72|0)+56|0;k=f[n>>2]|0;n=f[n+4>>2]|0;if((k|0)==0&(n|0)==0)m=0;else{m=0;do{k=VA(k|0,n|0,1)|0;n=ba()|0;m=m+1|0}while(!((k|0)==0&(n|0)==0))}if(b[(f[la>>2]|0)+81>>0]|0)break;k=(f[y>>2]|0)+-1|0;n=f[z>>2]|0;o=n+(k*20|0)+1|0;if(!(b[o>>0]|0)){f[n+(k*20|0)+16>>2]=m;b[o>>0]=-3;break}else{ul(la,n+(k*20|0)|0,m,-3);break}}while(0);k=f[y>>2]|0;if((k|0)<=0)break;d[(f[z>>2]|0)+((k+-1|0)*20|0)+2>>1]=D}while(0);q=r+36|0;D:do if(f[q>>2]&512|0){p=f[r+32>>2]|0;do if(f[s>>2]&32|0){fa=p+55|0;if(((h[fa>>0]|h[fa+1>>0]<<8)&3)!=2|x)break;f[e+8>>2]=f[e+4>>2];break D}while(0);do if(!(b[G>>0]|0)){if(!C){o=108;k=l;break}k=f[A>>2]|0;f[A>>2]=k+1;o=109}else{k=f[(f[u>>2]|0)+8>>2]|0;if((k|0)==0|(k|0)==(p|0))k=l;else{m=l;do{m=m+1|0;k=f[k+20>>2]|0}while(!((k|0)==0|(k|0)==(p|0)));k=m}f[ja>>2]=k;o=110}while(0);f[e+8>>2]=k;m=f[p+44>>2]|0;n=f[y>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(n|0)){f[y>>2]=n+1;fa=f[z>>2]|0;b[fa+(n*20|0)>>0]=o;d[fa+(n*20|0)+2>>1]=0;f[fa+(n*20|0)+4>>2]=k;f[fa+(n*20|0)+8>>2]=m;f[fa+(n*20|0)+12>>2]=v;f[fa+(n*20|0)+16>>2]=0;b[fa+(n*20|0)+1>>0]=0}else tl(la,o,k,m,v)|0;m=f[ya>>2]|0;n=om(a,p)|0;E:do if(n|0){k=f[m>>2]|0;if(!(b[k+81>>0]|0)){ea=f[m+88>>2]|0;fa=(f[m+136>>2]|0)+-1|0;b[ea+(fa*20|0)+1>>0]=-9;f[ea+(fa*20|0)+16>>2]=n;break}if(f[k+480>>2]|0)break;fa=(f[n>>2]|0)+-1|0;f[n>>2]=fa;if(fa|0)break;k=f[n+12>>2]|0;do if(k|0){if(f[k+480>>2]|0){Kc(k,n);break E}m=n;if((f[k+304>>2]|0)>>>0>m>>>0)break;if((f[k+308>>2]|0)>>>0<=m>>>0)break;fa=k+300|0;f[n>>2]=f[fa>>2];f[fa>>2]=n;break E}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{fa=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);fa=f[q>>2]|0;if(!((fa&15|0)!=0&(fa&32770|0)==0))break;if(d[ga>>1]&1)break;if((b[B>>0]|0)==2)break;k=f[y>>2]|0;if((k|0)<=0)break;d[(f[z>>2]|0)+((k+-1|0)*20|0)+2>>1]=2}while(0);F:do if((v|0)>-1){o=f[F>>2]|0;o=(o|0)==0?a:o;k=o+84|0;m=f[k>>2]|0;n=1<>2]=m|n;if((v|0)!=1)break;s=f[o>>2]|0;k=s+16|0;if(f[(f[k>>2]|0)+20>>2]|0)break;if(b[o+195>>0]|0)break;m=cj(f[s>>2]|0,0,s,xa,0,542)|0;if(m|0){ni(o,51535,ma);f[o+12>>2]=m;break}fa=f[xa>>2]|0;f[(f[k>>2]|0)+20>>2]=fa;k=f[s+92>>2]|0;o=f[fa+4>>2]|0;f[o+4>>2]=f[fa>>2];do if(!(d[o+22>>1]&2)){p=o+32|0;q=o+36|0;r=(f[p>>2]|0)-(f[q>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[p>>2]=k;n=o+80|0;k=f[n>>2]|0;if(!k)break;m=k+-4|0;f[n>>2]=m;k=m;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[m>>2]=f[18025];f[18025]=m;fa=(f[18026]|0)+1|0;f[18026]=fa;f[18027]=(fa|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](m)|0;na=484;break}else{k=ib[f[37368>>2]&255](m)|0;na=484}while(0);do if((na|0)==484){na=0;f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{fa=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);f[n>>2]=0}while(0);fa=ih(f[o>>2]|0,p,r)|0;f[q>>2]=(f[p>>2]|0)-(r&65535);if((fa|0)!=7)break;k=s+81|0;do if(!(b[k>>0]|0)){if(b[s+82>>0]|0)break;b[k>>0]=1;if((f[s+180>>2]|0)>0)f[s+264>>2]=1;fa=s+272|0;f[fa>>2]=(f[fa>>2]|0)+1}while(0);break F}while(0)}while(0);w=w+1|0;if((w|0)==(ca|0)){aa=y;break}else e=e+80|0}}else aa=la+136|0;f[g+56>>2]=f[aa>>2];if(!(b[va>>0]|0)){if(!H){Ba=g;t=Ca;return Ba|0}W=xa+20|0;X=xa+4|0;Y=xa+8|0;Z=xa+24|0;_=a+40|0;i=a+19|0;$=a+44|0;V=0;U=J;do{T=ta+(V*80|0)|0;m=ta+(V*80|0)+64|0;if(f[(f[m>>2]|0)+36>>2]&16384|0){O=ta+(V*80|0)+44|0;J=h[O>>0]|0;S=f[ya>>2]|0;R=S+136|0;k=f[R>>2]|0;P=S+12|0;if((f[(f[P>>2]|0)+48>>2]|0)>(k|0)){f[R>>2]=k+1;A=f[S+88>>2]|0;b[A+(k*20|0)>>0]=17;A=A+(k*20|0)+1|0;C=A+19|0;do{b[A>>0]=0;A=A+1|0}while((A|0)<(C|0));Q=k}else Q=tl(S,17,0,0,0)|0;L=c+8+(J*72|0)+16|0;H=f[L>>2]|0;k=f[pa>>2]|0;ma=f[oa>>2]|0;M=k+(ma*48|0)|0;G=f[m>>2]|0;G:do if((ma|0)>0){z=c+8+(J*72|0)+40|0;A=c+8+(J*72|0)+36|0;B=H+4|0;C=G+44|0;D=G+48|0;E=G+56|0;x=0;y=k;p=0;k=0;m=0;n=0;while(1){o=f[y>>2]|0;ma=G;do if((f[ma>>2]|0)==0&(f[ma+4>>2]|0)==0){if(d[y+10>>1]&2)break;if(f[o+4>>2]&1|0)break;ma=f[z>>2]|0;b[W>>0]=3;f[X>>2]=155;f[Y>>2]=156;f[Z>>2]=ma;oi(xa,o)|0;if(!(b[W>>0]|0))break;ma=f[a>>2]|0;k=kl(ma,k,Bk(ma,o,0,0)|0)|0}while(0);do if((f[y+20>>2]|0)==(f[z>>2]|0)){o=j[y+12>>1]|0;if(!(o&130)){o=x;break}if(b[A>>0]&8?!((o&128|0)==0?1:(f[(f[y>>2]|0)+4>>2]&1|0)!=0):0){o=x;break}ma=y+32|0;if(!((f[ma>>2]&U|0)==0?(f[ma+4>>2]&I|0)==0:0)){o=x;break}o=f[y+28>>2]|0;if((o|0)<0){o=x;break}if(!(Gn(f[y>>2]|0,b[(f[(f[L>>2]|0)+4>>2]|0)+(o<<4)+13>>0]|0)|0)){o=x;break}ma=(o|0)>63;e=WA(1,0,o|0)|0;w=ba()|0;e=ma?0:e;w=ma?-2147483648:w;if(!(p<<24>>24)){v=f[(f[B>>2]|0)+(o<<4)>>2]|0;f[za>>2]=f[H>>2];f[za+4>>2]=v;Ac(284,56527,za);v=1}else v=p;if(!((e&m|0)==0&(w&n|0)==0)){p=v;o=x;break}s=f[a>>2]|0;o=x+1|0;if((x|0)<(j[C>>1]|0))p=f[D>>2]|0;else{u=x+8&-8;r=u<<2;H:do if(f[s+272>>2]|0)if(!(b[s+81>>0]|0))na=533;else break G;else{do if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0))){q=s+300|0;p=f[q>>2]|0;if(p|0){f[q>>2]=f[p>>2];ma=s+284|0;f[ma>>2]=(f[ma>>2]|0)+1;break H}q=s+296|0;p=f[q>>2]|0;if(!p){p=s+292|0;break}else{f[q>>2]=f[p>>2];ma=s+284|0;f[ma>>2]=(f[ma>>2]|0)+1;break H}}else p=s+288|0;while(0);f[p>>2]=(f[p>>2]|0)+1;na=533}while(0);if((na|0)==533){na=0;p=Dc(s,r,0)|0}if(!p)break G;YA(p|0,f[D>>2]|0,j[C>>1]<<2|0)|0;q=f[D>>2]|0;I:do if((q|0)!=(E|0)){if(f[s+480>>2]|0){Kc(s,q);break}r=q;do if((f[s+304>>2]|0)>>>0<=r>>>0){if((f[s+308>>2]|0)>>>0<=r>>>0)break;ma=s+300|0;f[q>>2]=f[ma>>2];f[ma>>2]=q;break I}while(0);if(!q)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{ma=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-ma;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}while(0);f[D>>2]=p;d[C>>1]=u}f[p+(x<<2)>>2]=y;p=v;m=e|m;n=w|n}else o=x;while(0);y=y+48|0;if(y>>>0>=M>>>0){na=548;break}else x=o}}else{o=0;k=0;n=0;m=0;na=548}while(0);J:do if((na|0)==548){na=0;N=o&65535;d[G+40>>1]=N;d[G+24>>1]=N;N=G+36|0;f[N>>2]=16961;E=c+8+(J*72|0)+56|0;C=E;q=f[C+4>>2]|0;C=f[C>>2]&~m;A=q&((n|-2147483648)^2147483647);F=H+42|0;z=d[F>>1]|0;p=z<<16>>16;B=(z<<16>>16<63?z:63)<<16>>16;z=z<<16>>16>0;if(z){n=0;m=o;do{ma=WA(1,0,n|0)|0;m=m+(((ma&C|0)!=0|((ba()|0)&A|0)!=0)&1)|0;n=n+1|0}while((n|0)<(B|0))}else m=o;r=f[a>>2]|0;D=((q|0)<0?p+-62|0:1)+m|0;u=D&65535;e=D<<16;v=e>>16;q=(e>>14)+7&-8;e=e>>15;s=e+2|0;p=q+72+(v+7+e+s&-8)|0;o=((p|0)<0)<<31>>31;K:do if(!r){ma=KA(p|0,o|0,-1,-1)|0;l=ba()|0;if(l>>>0>0|(l|0)==0&ma>>>0>2147483390)break J;if(!(f[9328]|0)){m=ib[f[37356>>2]&255](p)|0;na=575;break}m=ib[f[37372>>2]&255](p)|0;if((f[18194]|0)>>>0

>>0)f[18194]=p;o=71896;n=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&n>>>0>0){ma=f[18187]|0;l=LA(n|0,o|0,m|0,((m|0)<0)<<31>>31|0)|0;la=ba()|0;f[17976]=((la|0)<0|(la|0)==0&l>>>0<=ma>>>0)&1}n=ib[f[37356>>2]&255](m)|0;if(!n)break J;m=ib[f[37368>>2]&255](n)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0<=(f[18196]|0)>>>0){K=n;break}f[18196]=m;K=n}else{if(f[r+272>>2]|0){if(b[r+81>>0]|0)break J}else{do if(!(0>>0|(0==(o|0)?(j[r+276>>1]|0)>>>0

>>0:0))){n=r+300|0;m=f[n>>2]|0;if(m|0){f[n>>2]=f[m>>2];na=r+284|0;f[na>>2]=(f[na>>2]|0)+1;na=575;break K}n=r+296|0;m=f[n>>2]|0;if(!m){m=r+292|0;break}else{f[n>>2]=f[m>>2];na=r+284|0;f[na>>2]=(f[na>>2]|0)+1;na=575;break K}}else m=r+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1}m=Dc(r,p,o)|0;na=575}while(0);if((na|0)==575){na=0;if(!m)break;else K=m}_A(K|0,0,p|0)|0;n=K+72|0;y=K+32|0;f[y>>2]=n;n=n+q|0;f[K+8>>2]=n;n=n+s|0;x=K+4|0;f[x>>2]=n;f[K+28>>2]=n+e;d[K+52>>1]=u;d[K+50>>1]=v+65535;f[G+32>>2]=K;f[K>>2]=56553;f[K+12>>2]=H;n=f[pa>>2]|0;if(n>>>0>>0){w=c+8+(J*72|0)+40|0;e=c+8+(J*72|0)+36|0;m=0;p=0;u=0;while(1){do if((f[n+20>>2]|0)==(f[w>>2]|0)){o=j[n+12>>1]|0;if(!(o&130)){o=u;break}if(b[e>>0]&8?!((o&128|0)==0?1:(f[(f[n>>2]|0)+4>>2]&1|0)!=0):0){o=u;break}ma=n+32|0;if(!((f[ma>>2]&U|0)==0?(f[ma+4>>2]&I|0)==0:0)){o=u;break}r=f[n+28>>2]|0;if((r|0)<0){o=u;break}s=f[n>>2]|0;if(!(Gn(s,b[(f[(f[L>>2]|0)+4>>2]|0)+(r<<4)+13>>0]|0)|0)){o=u;break}ma=(r|0)>63;o=WA(1,0,r|0)|0;q=ba()|0;o=ma?0:o;q=ma?-2147483648:q;if(!((o&p|0)==0&(q&u|0)==0)){o=u;break}v=o|p;q=q|u;d[(f[x>>2]|0)+(m<<1)>>1]=r;o=f[s+12>>2]|0;p=f[s+16>>2]|0;L:do if(!(f[o+4>>2]&256)){do if(p|0){if(!(f[p+4>>2]&256))break;o=Zk(a,p)|0;na=593;break L}while(0);o=Zk(a,o)|0;if(o|0){na=594;break}o=Zk(a,p)|0;na=593}else{o=Zk(a,o)|0;na=593}while(0);if((na|0)==593){na=0;if(!o)o=43030;else na=594}if((na|0)==594){na=0;o=f[o>>2]|0}f[(f[y>>2]|0)+(m<<2)>>2]=o;m=m+1|0;p=v;o=q}else o=u;while(0);n=n+48|0;if(n>>>0>=M>>>0)break;else u=o}}else m=0;if(z){n=0;do{ma=WA(1,0,n|0)|0;if(!((ma&C|0)==0&((ba()|0)&A|0)==0)){d[(f[x>>2]|0)+(m<<1)>>1]=n;f[(f[y>>2]|0)+(m<<2)>>2]=43030;m=m+1|0}n=n+1|0}while((n|0)<(B|0))}do if((f[E+4>>2]|0)<0){if((d[F>>1]|0)<=63){B=m;break}n=63;do{d[(f[x>>2]|0)+(m<<1)>>1]=n;f[(f[y>>2]|0)+(m<<2)>>2]=43030;m=m+1|0;n=n+1|0}while((n|0)<(d[F>>1]|0));B=m}else B=m;while(0);d[(f[x>>2]|0)+(B<<1)>>1]=-1;f[(f[y>>2]|0)+(B<<2)>>2]=43030;m=f[_>>2]|0;f[_>>2]=m+1;z=ta+(V*80|0)+8|0;f[z>>2]=m;n=f[R>>2]|0;if((f[(f[P>>2]|0)+48>>2]|0)>(n|0)){f[R>>2]=n+1;ma=f[S+88>>2]|0;b[ma+(n*20|0)>>0]=112;d[ma+(n*20|0)+2>>1]=0;f[ma+(n*20|0)+4>>2]=m;f[ma+(n*20|0)+8>>2]=D;f[ma+(n*20|0)+12>>2]=0;f[ma+(n*20|0)+16>>2]=0;b[ma+(n*20|0)+1>>0]=0}else tl(S,112,m,D,0)|0;m=f[ya>>2]|0;o=om(a,K)|0;M:do if(o|0){n=f[m>>2]|0;if(!(b[n+81>>0]|0)){l=f[m+88>>2]|0;ma=(f[m+136>>2]|0)+-1|0;b[l+(ma*20|0)+1>>0]=-9;f[l+(ma*20|0)+16>>2]=o;break}if(f[n+480>>2]|0)break;ma=(f[o>>2]|0)+-1|0;f[o>>2]=ma;if(ma|0)break;m=f[o+12>>2]|0;do if(m|0){if(f[m+480>>2]|0){Kc(m,o);break M}n=o;if((f[m+304>>2]|0)>>>0>n>>>0)break;if((f[m+308>>2]|0)>>>0<=n>>>0)break;ma=m+300|0;f[o>>2]=f[ma>>2];f[ma>>2]=o;break M}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ma=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ma;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);y=f[(f[ua>>2]|0)+4>>2]|0;x=h[O>>0]|0;w=y+8+(x*72|0)+37|0;do if(!(b[w>>0]&16)){m=f[ta+(V*80|0)+4>>2]|0;n=f[R>>2]|0;if((f[(f[P>>2]|0)+48>>2]|0)>(n|0)){f[R>>2]=n+1;A=f[S+88>>2]|0;b[A+(n*20|0)>>0]=36;d[A+(n*20|0)+2>>1]=0;f[A+(n*20|0)+4>>2]=m;f[A+(n*20|0)+8>>2]=0;f[A+(n*20|0)+12>>2]=0;f[A+(n*20|0)+16>>2]=0;b[A+(n*20|0)+1>>0]=0;A=n;m=0;break}else{A=tl(S,36,m,0,0)|0;m=0;break}}else{p=f[y+8+(x*72|0)+28>>2]|0;m=f[R>>2]|0;if((f[(f[P>>2]|0)+48>>2]|0)>(m|0)){f[R>>2]=m+1;A=f[S+88>>2]|0;b[A+(m*20|0)>>0]=70;A=A+(m*20|0)+1|0;C=A+19|0;do{b[A>>0]=0;A=A+1|0}while((A|0)<(C|0))}else m=tl(S,70,0,0,0)|0;n=f[y+8+(x*72|0)+24>>2]|0;o=f[R>>2]|0;if((f[(f[P>>2]|0)+48>>2]|0)>(o|0)){f[R>>2]=o+1;ma=f[S+88>>2]|0;b[ma+(o*20|0)>>0]=13;d[ma+(o*20|0)+2>>1]=0;f[ma+(o*20|0)+4>>2]=p;f[ma+(o*20|0)+8>>2]=0;f[ma+(o*20|0)+12>>2]=n;f[ma+(o*20|0)+16>>2]=0;b[ma+(o*20|0)+1>>0]=0}else tl(S,13,p,0,n)|0;n=f[R>>2]|0;if((f[(f[P>>2]|0)+48>>2]|0)>(n|0)){f[R>>2]=n+1;A=f[S+88>>2]|0;b[A+(n*20|0)>>0]=14;d[A+(n*20|0)+2>>1]=0;f[A+(n*20|0)+4>>2]=p;f[A+(n*20|0)+8>>2]=0;f[A+(n*20|0)+12>>2]=0;f[A+(n*20|0)+16>>2]=0;b[A+(n*20|0)+1>>0]=0;A=n;break}else{A=tl(S,14,p,0,0)|0;break}}while(0);e=(k|0)!=0;if(e){n=f[P>>2]|0;u=n+60|0;v=f[u>>2]|0;f[u>>2]=v+1;u=n+64|0;if(!(v+-1&v)){r=v<<3|4;s=f[n>>2]|0;n=f[u>>2]|0;N:do if(n){p=n;q=s+304|0;do if((f[q>>2]|0)>>>0<=p>>>0){if((f[s+308>>2]|0)>>>0<=p>>>0)break;if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0)))break N}while(0);o=Lc(s,n,r,0)|0;if(o|0){n=o;break}if(f[s+480>>2]|0){Kc(s,n);n=0;break}do if((f[q>>2]|0)>>>0<=p>>>0){if((f[s+308>>2]|0)>>>0<=p>>>0)break;ma=s+300|0;f[n>>2]=f[ma>>2];f[ma>>2]=n;n=0;break N}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);n=0;break}else{ma=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-ma;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);n=0;break}}else{if(f[s+272>>2]|0){if(b[s+81>>0]|0){n=0;break}}else{do if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0))){o=s+300|0;n=f[o>>2]|0;if(n|0){f[o>>2]=f[n>>2];ma=s+284|0;f[ma>>2]=(f[ma>>2]|0)+1;break N}o=s+296|0;n=f[o>>2]|0;if(!n){n=s+292|0;break}else{f[o>>2]=f[n>>2];ma=s+284|0;f[ma>>2]=(f[ma>>2]|0)+1;break N}}else n=s+288|0;while(0);f[n>>2]=(f[n>>2]|0)+1}n=Dc(s,r,0)|0}while(0);f[u>>2]=n}else n=f[u>>2]|0;if(n|0)f[n+(v<<2)>>2]=-1;p=~v;zm(a,k,p,16);f[N>>2]=f[N>>2]|131072}else p=0;n=b[i>>0]|0;if(!(n<<24>>24)){s=(f[$>>2]|0)+1|0;f[$>>2]=s}else{s=n+-1<<24>>24;b[i>>0]=s;s=f[a+144+((s&255)<<2)>>2]|0}r=ta+(V*80|0)+4|0;q=xm(a,K,f[r>>2]|0,s,0,0,0,0)|0;n=f[z>>2]|0;o=f[R>>2]|0;if((f[(f[P>>2]|0)+48>>2]|0)>(o|0)){f[R>>2]=o+1;ma=f[S+88>>2]|0;b[ma+(o*20|0)>>0]=-123;d[ma+(o*20|0)+2>>1]=0;f[ma+(o*20|0)+4>>2]=n;f[ma+(o*20|0)+8>>2]=s;f[ma+(o*20|0)+12>>2]=0;f[ma+(o*20|0)+16>>2]=0;b[ma+(o*20|0)+1>>0]=0}else tl(S,133,n,s,0)|0;o=f[R>>2]|0;if((o|0)>0)d[(f[S+88>>2]|0)+((o+-1|0)*20|0)+2>>1]=16;do if(e){n=f[(f[P>>2]|0)+64>>2]|0;if(!n)break;f[n+(~p<<2)>>2]=o}while(0);do if(!(b[w>>0]&16)){m=f[r>>2]|0;n=A+1|0;o=f[R>>2]|0;if((f[(f[P>>2]|0)+48>>2]|0)>(o|0)){f[R>>2]=o+1;ma=f[S+88>>2]|0;b[ma+(o*20|0)>>0]=5;d[ma+(o*20|0)+2>>1]=0;f[ma+(o*20|0)+4>>2]=m;f[ma+(o*20|0)+8>>2]=n;f[ma+(o*20|0)+12>>2]=0;f[ma+(o*20|0)+16>>2]=0;b[ma+(o*20|0)+1>>0]=0;break}else{tl(S,5,m,n,0)|0;break}}else{if((m|0)<0)m=(f[R>>2]|0)+-1|0;if(!(b[(f[S>>2]|0)+81>>0]|0))m=(f[S+88>>2]|0)+(m*20|0)|0;else m=72144;f[m+8>>2]=q+B;r=f[r>>2]|0;q=f[y+8+(x*72|0)+32>>2]|0;n=f[ya>>2]|0;if((A|0)<0)m=(f[n+136>>2]|0)+-1|0;else m=A;if(!(b[(f[n>>2]|0)+81>>0]|0))m=(f[n+88>>2]|0)+(m*20|0)|0;else m=72144;p=f[n+136>>2]|0;if((p|0)>(A|0)?(b[(f[a>>2]|0)+81>>0]|0)==0:0){n=A;while(1){o=m+4|0;O:do if((f[o>>2]|0)==(r|0))switch(b[m>>0]|0){case 90:{b[m>>0]=78;l=m+8|0;f[o>>2]=(f[l>>2]|0)+q;ma=m+12|0;f[l>>2]=f[ma>>2];f[ma>>2]=0;break O}case -127:{b[m>>0]=83;ma=m+8|0;f[o>>2]=f[ma>>2];f[ma>>2]=1;break O}default:break O}while(0);n=n+1|0;if((n|0)==(p|0))break;else m=m+20|0}}m=f[R>>2]|0;if((f[(f[P>>2]|0)+48>>2]|0)>(m|0)){f[R>>2]=m+1;ma=f[S+88>>2]|0;b[ma+(m*20|0)>>0]=11;d[ma+(m*20|0)+2>>1]=0;f[ma+(m*20|0)+4>>2]=0;f[ma+(m*20|0)+8>>2]=A;f[ma+(m*20|0)+12>>2]=0;f[ma+(m*20|0)+16>>2]=0;b[ma+(m*20|0)+1>>0]=0;break}else{tl(S,11,0,A,0)|0;break}}while(0);n=f[R>>2]|0;if((n|0)>0)d[(f[S+88>>2]|0)+((n+-1|0)*20|0)+2>>1]=3;o=(b[(f[S>>2]|0)+81>>0]|0)==0;if(o)m=(f[S+88>>2]|0)+(((A|0)<0?n+-1|0:A)*20|0)|0;else m=72144;f[m+8>>2]=n;do if(s){m=b[i>>0]|0;if((m&255)>=8)break;b[i>>0]=m+1<<24>>24;f[a+144+((m&255)<<2)>>2]=s;n=f[R>>2]|0}while(0);if(o)m=(f[S+88>>2]|0)+(((Q|0)<0?n+-1|0:Q)*20|0)|0;else m=72144;f[m+8>>2]=n}while(0);if(k|0)ig(f[a>>2]|0,k);if(b[va>>0]|0){na=714;break h}}Hn(a,c,T,wa);f[ta+(V*80|0)+32>>2]=f[aa>>2];U=In(g,V,U,I)|0;I=ba()|0;f[qa>>2]=f[ta+(V*80|0)+24>>2];V=V+1|0}while((V|0)<(ca|0));t=Ca;return g|0}}}else na=714;while(0);if((na|0)==714?(g|0)==0:0){Ba=0;t=Ca;return Ba|0}f[ra>>2]=f[sa>>2];k=b[Aa>>0]|0;P:do if(k<<24>>24){o=Ba+480|0;p=Ba+304|0;q=Ba+308|0;r=Ba+300|0;if(!Ba){m=0;while(1){za=f[g+752+(m*80|0)+64>>2]|0;if((za|0)!=0?(f[za+36>>2]&2048|0)!=0:0){k=f[g+752+(m*80|0)+60>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{za=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-za;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);k=b[Aa>>0]|0}m=m+1|0;if(m>>>0>=(k&255)>>>0)break P}}n=0;do{za=f[g+752+(n*80|0)+64>>2]|0;if((za|0)!=0?(f[za+36>>2]&2048|0)!=0:0){k=f[g+752+(n*80|0)+60>>2]|0;Q:do if(k|0){if(f[o>>2]|0){Kc(Ba,k);break}m=k;do if((f[p>>2]|0)>>>0<=m>>>0){if((f[q>>2]|0)>>>0<=m>>>0)break;f[k>>2]=f[r>>2];f[r>>2]=k;break Q}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{za=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-za;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);k=b[Aa>>0]|0}n=n+1|0}while(n>>>0<(k&255)>>>0)}while(0);un(ua);m=g+60|0;k=f[m>>2]|0;if(k|0)do{f[m>>2]=f[k+52>>2];vn(Ba,k);k=f[m>>2]|0}while((k|0)!=0);if(Ba|0){if(f[Ba+480>>2]|0){Kc(Ba,g);Ba=0;t=Ca;return Ba|0}Aa=g;if((f[Ba+304>>2]|0)>>>0<=Aa>>>0?(f[Ba+308>>2]|0)>>>0>Aa>>>0:0){Ba=Ba+300|0;f[g>>2]=f[Ba>>2];f[Ba>>2]=g;Ba=0;t=Ca;return Ba|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);Ba=0;t=Ca;return Ba|0}else{Ba=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Ba;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);Ba=0;t=Ca;return Ba|0}return 0}function tn(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;D=f[a>>2]|0;E=D+8|0;F=f[E>>2]|0;G=f[a+4>>2]|0;I=f[D>>2]|0;H=a+46|0;e=b[H>>0]|0;if(!(e<<24>>24))c=F+12|0;else{c=F+12|0;u=a+51|0;v=F+136|0;w=F+88|0;x=D+44|0;s=e&255;do{t=s;s=s+-1|0;n=f[a+752+(s*80|0)+64>>2]|0;r=a+752+(s*80|0)+45|0;if((b[r>>0]|0)==-85){e=f[(f[c>>2]|0)+64>>2]|0;if(e|0)f[e+(~f[a+752+(s*80|0)+24>>2]<<2)>>2]=f[v>>2]}else{do if((((((b[u>>0]|0)==2?(t|0)==(h[H>>0]|0):0)?(f[n+36>>2]&512|0)!=0:0)?(A=f[n+32>>2]|0,q=A+55|0,((h[q>>0]|h[q+1>>0]<<8)&128)!=0):0)?(q=d[n+30>>1]|0,B=q&65535,q<<16>>16!=0):0)?(d[(f[A+8>>2]|0)+(B<<1)>>1]|0)>35:0){l=(f[x>>2]|0)+1|0;k=a+752+(s*80|0)+8|0;e=0;do{g=f[k>>2]|0;i=e+l|0;j=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(j|0)){f[v>>2]=j+1;q=f[w>>2]|0;b[q+(j*20|0)>>0]=90;d[q+(j*20|0)+2>>1]=0;f[q+(j*20|0)+4>>2]=g;f[q+(j*20|0)+8>>2]=e;f[q+(j*20|0)+12>>2]=i;f[q+(j*20|0)+16>>2]=0;b[q+(j*20|0)+1>>0]=0}else tl(F,90,g,e,i)|0;e=e+1|0}while((e|0)!=(B|0));i=b[r>>0]|0;f[x>>2]=B+1+(f[x>>2]|0);i=i<<24>>24==4?22:25;g=f[k>>2]|0;e=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(e|0)){f[v>>2]=e+1;q=f[w>>2]|0;b[q+(e*20|0)>>0]=i;d[q+(e*20|0)+2>>1]=0;f[q+(e*20|0)+4>>2]=g;f[q+(e*20|0)+8>>2]=0;f[q+(e*20|0)+12>>2]=l;f[q+(e*20|0)+16>>2]=0;b[q+(e*20|0)+1>>0]=0}else e=tl(F,i,g,0,l)|0;if(!(b[(f[F>>2]|0)+81>>0]|0)){q=f[w>>2]|0;b[q+(e*20|0)+1>>0]=-3;f[q+(e*20|0)+16>>2]=B}g=f[a+752+(s*80|0)+52>>2]|0;i=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(i|0)){f[v>>2]=i+1;q=f[w>>2]|0;b[q+(i*20|0)>>0]=11;d[q+(i*20|0)+2>>1]=0;f[q+(i*20|0)+4>>2]=1;f[q+(i*20|0)+8>>2]=g;f[q+(i*20|0)+12>>2]=0;f[q+(i*20|0)+16>>2]=0;b[q+(i*20|0)+1>>0]=0;break}else{tl(F,11,1,g,0)|0;break}}else e=0;while(0);m=f[c>>2]|0;g=f[m+64>>2]|0;if(g|0)f[g+(~f[a+752+(s*80|0)+24>>2]<<2)>>2]=f[v>>2];g=b[r>>0]|0;i=f[a+752+(s*80|0)+48>>2]|0;j=f[a+752+(s*80|0)+52>>2]|0;k=h[a+752+(s*80|0)+46>>0]|0;l=f[v>>2]|0;if((f[m+48>>2]|0)>(l|0)){f[v>>2]=l+1;q=f[w>>2]|0;b[q+(l*20|0)>>0]=g;d[q+(l*20|0)+2>>1]=0;f[q+(l*20|0)+4>>2]=i;f[q+(l*20|0)+8>>2]=j;f[q+(l*20|0)+12>>2]=k;f[q+(l*20|0)+16>>2]=0;b[q+(l*20|0)+1>>0]=0}else tl(F,g&255,i,j,k)|0;g=f[v>>2]|0;if((g|0)>0)d[(f[w>>2]|0)+((g+-1|0)*20|0)+2>>1]=h[a+752+(s*80|0)+47>>0]|0;if(e|0){if(!(b[(f[F>>2]|0)+81>>0]|0))e=(f[w>>2]|0)+(((e|0)<0?g+-1|0:e)*20|0)|0;else e=72144;f[e+8>>2]=g}}q=n+36|0;do if(f[q>>2]&2048|0?(y=a+752+(s*80|0)+56|0,z=f[y>>2]|0,(z|0)>0):0){e=f[(f[c>>2]|0)+64>>2]|0;if(e){f[e+(~f[a+752+(s*80|0)+16>>2]<<2)>>2]=f[v>>2];e=f[y>>2]|0;if((e|0)<=0)break}else e=z;p=a+752+(s*80|0)+8|0;o=e;n=(f[a+752+(s*80|0)+60>>2]|0)+((e+-1|0)*20|0)|0;l=f[v>>2]|0;g=b[(f[F>>2]|0)+81>>0]|0;while(1){m=n+4|0;e=f[m>>2]|0;if(!(g<<24>>24))e=(f[w>>2]|0)+(((e|0)<-1?l+-1|0:e+1|0)*20|0)|0;else e=72144;f[e+8>>2]=l;j=n+16|0;do if((b[j>>0]|0)!=-85){k=f[n+12>>2]|0;if(k|0){e=f[p>>2]|0;g=l+2|0;i=f[n+8>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(l|0)){f[v>>2]=l+1;J=f[w>>2]|0;b[J+(l*20|0)>>0]=26;d[J+(l*20|0)+2>>1]=0;f[J+(l*20|0)+4>>2]=e;f[J+(l*20|0)+8>>2]=g;f[J+(l*20|0)+12>>2]=i;f[J+(l*20|0)+16>>2]=0;b[J+(l*20|0)+1>>0]=0;e=l}else e=tl(F,26,e,g,i)|0;if(!(b[(f[F>>2]|0)+81>>0]|0)){J=f[w>>2]|0;b[J+(e*20|0)+1>>0]=-3;f[J+(e*20|0)+16>>2]=k}}e=b[j>>0]|0;g=f[n>>2]|0;i=f[m>>2]|0;j=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(j|0)){f[v>>2]=j+1;J=f[w>>2]|0;b[J+(j*20|0)>>0]=e;d[J+(j*20|0)+2>>1]=0;f[J+(j*20|0)+4>>2]=g;f[J+(j*20|0)+8>>2]=i;f[J+(j*20|0)+12>>2]=0;f[J+(j*20|0)+16>>2]=0;b[J+(j*20|0)+1>>0]=0;break}else{tl(F,e&255,g,i,0)|0;break}}while(0);e=f[m>>2]|0;l=f[v>>2]|0;g=b[(f[F>>2]|0)+81>>0]|0;if(!(g<<24>>24))e=(f[w>>2]|0)+((((e|0)<1?l:e)+-1|0)*20|0)|0;else e=72144;f[e+8>>2]=l;if((o|0)<=1)break;else{o=o+-1|0;n=n+-20|0}}}while(0);j=f[c>>2]|0;e=f[j+64>>2]|0;if(e|0)f[e+(~f[a+752+(s*80|0)+12>>2]<<2)>>2]=f[v>>2];e=a+752+(s*80|0)+20|0;g=f[e>>2]|0;if(g|0){i=f[v>>2]|0;if((f[j+48>>2]|0)>(i|0)){f[v>>2]=i+1;J=f[w>>2]|0;b[J+(i*20|0)>>0]=11;d[J+(i*20|0)+2>>1]=0;f[J+(i*20|0)+4>>2]=0;f[J+(i*20|0)+8>>2]=g;f[J+(i*20|0)+12>>2]=0;f[J+(i*20|0)+16>>2]=0;b[J+(i*20|0)+1>>0]=0}else tl(F,11,0,g,0)|0;e=f[e>>2]|0;g=f[v>>2]|0;if(!(b[(f[F>>2]|0)+81>>0]|0)){J=g+-1|0;p=f[w>>2]|0;f[p+(((e|0)<0?J:e)*20|0)+8>>2]=g;e=p+(((e|0)<2?J:e+-2|0)*20|0)|0}else{f[18038]=g;e=72144}f[e+8>>2]=g}e=f[a+752+(s*80|0)+40>>2]|0;do if(e|0){g=(f[a+752+(s*80|0)+36>>2]|0)>>>1;i=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(i|0)){f[v>>2]=i+1;J=f[w>>2]|0;b[J+(i*20|0)>>0]=49;d[J+(i*20|0)+2>>1]=0;f[J+(i*20|0)+4>>2]=g;f[J+(i*20|0)+8>>2]=e;f[J+(i*20|0)+12>>2]=0;f[J+(i*20|0)+16>>2]=0;b[J+(i*20|0)+1>>0]=0;break}else{tl(F,49,g,e,0)|0;break}}while(0);g=f[a+752+(s*80|0)>>2]|0;if(g|0){i=f[q>>2]|0;e=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(e|0)){f[v>>2]=e+1;j=f[w>>2]|0;b[j+(e*20|0)>>0]=47;d[j+(e*20|0)+2>>1]=0;f[j+(e*20|0)+4>>2]=g;f[j+(e*20|0)+8>>2]=0;f[j+(e*20|0)+12>>2]=0;f[j+(e*20|0)+16>>2]=0;b[j+(e*20|0)+1>>0]=0;j=e}else j=tl(F,47,g,0,0)|0;do if(!(i&64)){e=f[a+752+(s*80|0)+4>>2]|0;g=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(g|0)){f[v>>2]=g+1;J=f[w>>2]|0;b[J+(g*20|0)>>0]=-126;d[J+(g*20|0)+2>>1]=0;f[J+(g*20|0)+4>>2]=e;f[J+(g*20|0)+8>>2]=0;f[J+(g*20|0)+12>>2]=0;f[J+(g*20|0)+16>>2]=0;b[J+(g*20|0)+1>>0]=0;break}else{tl(F,130,e,0,0)|0;break}}while(0);if(!(i&512)){if(i&8192|0?f[a+752+(s*80|0)+56>>2]|0:0)C=82}else C=82;do if((C|0)==82){C=0;e=f[a+752+(s*80|0)+8>>2]|0;g=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(g|0)){f[v>>2]=g+1;J=f[w>>2]|0;b[J+(g*20|0)>>0]=-126;d[J+(g*20|0)+2>>1]=0;f[J+(g*20|0)+4>>2]=e;f[J+(g*20|0)+8>>2]=0;f[J+(g*20|0)+12>>2]=0;f[J+(g*20|0)+16>>2]=0;b[J+(g*20|0)+1>>0]=0;break}else{tl(F,130,e,0,0)|0;break}}while(0);do if((b[r>>0]|0)==66){e=f[a+752+(s*80|0)+48>>2]|0;g=f[a+752+(s*80|0)+28>>2]|0;i=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(i|0)){f[v>>2]=i+1;J=f[w>>2]|0;b[J+(i*20|0)>>0]=12;d[J+(i*20|0)+2>>1]=0;f[J+(i*20|0)+4>>2]=e;f[J+(i*20|0)+8>>2]=g;f[J+(i*20|0)+12>>2]=0;f[J+(i*20|0)+16>>2]=0;b[J+(i*20|0)+1>>0]=0;break}else{tl(F,12,e,g,0)|0;break}}else{e=f[a+752+(s*80|0)+28>>2]|0;g=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(g|0)){f[v>>2]=g+1;J=f[w>>2]|0;b[J+(g*20|0)>>0]=11;d[J+(g*20|0)+2>>1]=0;f[J+(g*20|0)+4>>2]=0;f[J+(g*20|0)+8>>2]=e;f[J+(g*20|0)+12>>2]=0;f[J+(g*20|0)+16>>2]=0;b[J+(g*20|0)+1>>0]=0;break}else{tl(F,11,0,e,0)|0;break}}while(0);g=f[v>>2]|0;if(!(b[(f[F>>2]|0)+81>>0]|0))e=(f[w>>2]|0)+(((j|0)<0?g+-1|0:j)*20|0)|0;else e=72144;f[e+8>>2]=g}}while((t|0)>1)}c=f[(f[c>>2]|0)+64>>2]|0;if(c|0)f[c+(~f[a+36>>2]<<2)>>2]=f[F+136>>2];c=b[H>>0]|0;a:do if(c<<24>>24){y=a+49|0;z=I+81|0;x=F+136|0;A=F+88|0;B=c&255;v=a+752|0;w=0;while(1){e=h[v+44>>0]|0;i=f[G+8+(e*72|0)+16>>2]|0;g=f[v+64>>2]|0;do if(!(b[G+8+(e*72|0)+37>>0]&16)){e=f[g+36>>2]|0;if(!(e&576)){if(!(e&8192))break;e=v+56|0}else e=g+32|0;e=f[e>>2]|0;if(e|0){if(b[y>>0]|0?(f[(f[e+12>>2]|0)+36>>2]&32|0)==0:0)break;if(!(b[z>>0]|0)){r=f[x>>2]|0;j=f[v+32>>2]|0;if(!(b[(f[F>>2]|0)+81>>0]|0))g=(f[A>>2]|0)+(((j|0)<0?r+-1|0:j)*20|0)|0;else g=72144;if((j|0)<(r|0)){s=i+36|0;t=v+8|0;u=e+52|0;q=i+8|0;p=e+4|0;o=f[v+4>>2]|0;while(1){m=g+4|0;b:do if((f[m>>2]|0)==(o|0))switch(b[g>>0]|0){case 90:{n=g+8|0;e=f[n>>2]|0;if(f[s>>2]&32){i=q;while(1){i=f[i>>2]|0;J=i+55|0;if(((h[J>>0]|h[J+1>>0]<<8)&3)==2)break;else i=i+20|0}e=d[(f[i+4>>2]|0)+(e<<1)>>1]|0}k=e&65535;e=d[u>>1]|0;if(!(e<<16>>16))break b;l=f[p>>2]|0;i=e&65535;e=0;while(1){if((d[l+(e<<1)>>1]|0)==k<<16>>16)break;e=e+1|0;if(e>>>0>=i>>>0)break b}if((e&65535)<<16>>16<=-1)break b;f[n>>2]=e<<16>>16;f[m>>2]=f[t>>2];break b}case -127:{f[m>>2]=f[t>>2];b[g>>0]=-120;break b}case 21:{f[m>>2]=f[t>>2];break b}default:break b}while(0);j=j+1|0;if((j|0)==(r|0))break;else g=g+20|0}}}}}else{k=f[v+32>>2]|0;m=f[v+4>>2]|0;l=f[G+8+(e*72|0)+32>>2]|0;g=f[E>>2]|0;if((k|0)<0)e=(f[g+136>>2]|0)+-1|0;else e=k;if(!(b[(f[g>>2]|0)+81>>0]|0))e=(f[g+88>>2]|0)+(e*20|0)|0;else e=72144;j=f[g+136>>2]|0;if((j|0)>(k|0)?(b[(f[D>>2]|0)+81>>0]|0)==0:0){i=e;e=k;while(1){g=i+4|0;c:do if((f[g>>2]|0)==(m|0))switch(b[i>>0]|0){case 90:{b[i>>0]=78;C=i+8|0;f[g>>2]=(f[C>>2]|0)+l;J=i+12|0;f[C>>2]=f[J>>2];f[J>>2]=0;break c}case -127:{b[i>>0]=73;f[g>>2]=0;f[i+12>>2]=0;break c}default:break c}while(0);e=e+1|0;if((e|0)==(j|0))break;else i=i+20|0}}}while(0);w=w+1|0;if(w>>>0>=B>>>0)break;else v=v+80|0}f[D+128>>2]=f[a+40>>2];if(c<<24>>24){g=I+480|0;i=I+304|0;j=I+308|0;k=I+300|0;if(!I){e=0;while(1){J=f[a+752+(e*80|0)+64>>2]|0;if((J|0)!=0?(f[J+36>>2]&2048|0)!=0:0){c=f[a+752+(e*80|0)+60>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{J=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=b[H>>0]|0}e=e+1|0;if(e>>>0>=(c&255)>>>0)break a}}e=0;do{J=f[a+752+(e*80|0)+64>>2]|0;if((J|0)!=0?(f[J+36>>2]&2048|0)!=0:0){c=f[a+752+(e*80|0)+60>>2]|0;do if(c|0){if(f[g>>2]|0){Kc(I,c);break}J=c;if((f[i>>2]|0)>>>0<=J>>>0?(f[j>>2]|0)>>>0>J>>>0:0){f[c>>2]=f[k>>2];f[k>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{J=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=b[H>>0]|0}e=e+1|0}while(e>>>0<(c&255)>>>0)}}else f[D+128>>2]=f[a+40>>2];while(0);un(a+80|0);e=a+60|0;c=f[e>>2]|0;if(c|0)do{f[e>>2]=f[c+52>>2];vn(I,c);c=f[e>>2]|0}while((c|0)!=0);if(I|0){if(f[I+480>>2]|0){Kc(I,a);return}J=a;if((f[I+304>>2]|0)>>>0<=J>>>0?(f[I+308>>2]|0)>>>0>J>>>0:0){J=I+300|0;f[a>>2]=f[J>>2];f[J>>2]=a;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{J=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function un(a){a=a|0;var b=0,c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=f[f[f[a>>2]>>2]>>2]|0;b=f[a+12>>2]|0;o=a+20|0;if((b|0)>0){p=(q|0)==0;i=q+480|0;j=q+304|0;k=q+308|0;l=q+300|0;h=f[o>>2]|0;while(1){g=b;b=b+-1|0;e=h+10|0;c=d[e>>1]|0;if((c&1)!=0?(m=f[h>>2]|0,(m|0)!=0):0){ig(q,m);c=d[e>>1]|0}c=c&65535;do if(!(c&16)){if(c&32|0?(n=f[h+28>>2]|0,un(n),n|0):0){if(!p){if(f[i>>2]|0){Kc(q,n);break}e=n;if((f[j>>2]|0)>>>0<=e>>>0?(f[k>>2]|0)>>>0>e>>>0:0){f[n>>2]=f[l>>2];f[l>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{e=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}}else{c=f[h+28>>2]|0;un(c);if(c|0){if(!p){if(f[i>>2]|0){Kc(q,c);break}e=c;if((f[j>>2]|0)>>>0<=e>>>0?(f[k>>2]|0)>>>0>e>>>0:0){f[c>>2]=f[l>>2];f[l>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}}while(0);if((g|0)<=1)break;else h=h+48|0}}b=f[o>>2]|0;if((b|0)==(a+24|0))return;if(!b)return;if(q|0){if(f[q+480>>2]|0){Kc(q,b);return}a=b;if((f[q+304>>2]|0)>>>0<=a>>>0?(f[q+308>>2]|0)>>>0>a>>>0:0){q=q+300|0;f[b>>2]=f[q>>2];f[q>>2]=b;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);return}else{q=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);return}}function vn(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c+48|0;e=f[l>>2]|0;m=c+56|0;do if((e|0)!=(m|0)){if(a|0){if(f[a+480>>2]|0){Kc(a,e);break}k=e;if((f[a+304>>2]|0)>>>0<=k>>>0?(f[a+308>>2]|0)>>>0>k>>>0:0){k=a+300|0;f[e>>2]=f[k>>2];f[k>>2]=e;break}}if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{k=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);k=c+36|0;e=f[k>>2]|0;do if(e&17408|0){if(e&1024|0?(h=c+28|0,b[h>>0]|0):0){e=c+32|0;g=f[e>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{j=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);b[h>>0]=0;f[e>>2]=0;break}if(e&16384|0?(i=c+32|0,g=f[i>>2]|0,g|0):0){e=f[g+16>>2]|0;a:do if(e){do if(a|0){g=a+480|0;if(!(f[g>>2]|0)){h=e;if((f[a+304>>2]|0)>>>0>h>>>0)break;if((f[a+308>>2]|0)>>>0<=h>>>0)break;h=a+300|0;f[e>>2]=f[h>>2];f[h>>2]=e}else Kc(a,e);e=f[i>>2]|0;h=35;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);h=33;break}else{h=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);h=33;break}}else h=33;while(0);if((h|0)==33){e=f[i>>2]|0;if(!a){j=e;h=40}else{g=a+480|0;h=35}}do if((h|0)==35){if(f[g>>2]|0){Kc(a,e);break}g=e;if((f[a+304>>2]|0)>>>0<=g>>>0?(f[a+308>>2]|0)>>>0>g>>>0:0){g=a+300|0;f[e>>2]=f[g>>2];f[g>>2]=e}else{j=e;h=40}}while(0);do if((h|0)==40?j|0:0)if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{h=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}while(0);f[i>>2]=0}}while(0);f[l>>2]=m;d[c+40>>1]=0;d[c+44>>1]=3;f[k>>2]=0;if(a|0){if(f[a+480>>2]|0){Kc(a,c);return}m=c;if((f[a+304>>2]|0)>>>0<=m>>>0?(f[a+308>>2]|0)>>>0>m>>>0:0){m=a+300|0;f[c>>2]=f[m>>2];f[m>>2]=c;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}function wn(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;h=a+8|0;a:do if(c|0){while(1){e=c;while(1){g=f[e+4>>2]|0;if(!(g&4096))break;if(!(g&262144))e=e+12|0;else e=(f[e+20>>2]|0)+4|0;e=f[e>>2]|0;if(!e)break a}b[h>>0]=d;if((b[e>>0]|0)!=d<<24>>24)break;wn(a,f[e+12>>2]|0,d);c=f[e+16>>2]|0;if(!c)break a}xn(a,c,0)|0;return}while(0);b[h>>0]=d;return}function xn(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+12|0;g=f[o>>2]|0;m=a+16|0;i=f[m>>2]|0;n=a+20|0;do if((g|0)<(i|0))m=g;else{k=f[n>>2]|0;l=f[f[f[a>>2]>>2]>>2]|0;i=i*96|0;a:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))p=13;else f[n>>2]=0;else{do if(!(0<0|(0==0?(j[l+276>>1]|0)>>>0>>0:0))){g=l+300|0;h=f[g>>2]|0;if(h|0){f[g>>2]=f[h>>2];p=l+284|0;f[p>>2]=(f[p>>2]|0)+1;p=14;break a}g=l+296|0;h=f[g>>2]|0;if(!h){g=l+292|0;break}else{f[g>>2]=f[h>>2];p=l+284|0;f[p>>2]=(f[p>>2]|0)+1;p=14;break a}}else g=l+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;p=13}while(0);if((p|0)==13){h=Dc(l,i,0)|0;p=14}if((p|0)==14?(f[n>>2]=h,h|0):0){YA(h|0,k|0,(f[o>>2]|0)*48|0)|0;do if(!((k|0)==(a+24|0)|(k|0)==0)){if(f[l+480>>2]|0){Kc(l,k);break}i=k;if((f[l+304>>2]|0)>>>0<=i>>>0?(f[l+308>>2]|0)>>>0>i>>>0:0){i=l+300|0;f[k>>2]=f[i>>2];f[i>>2]=k;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);g=f[n>>2]|0;k=g;if((f[l+304>>2]|0)>>>0<=k>>>0?(f[l+308>>2]|0)>>>0>k>>>0:0)g=j[l+276>>1]|0;else g=ib[f[37368>>2]&255](g)|0;f[m>>2]=(g>>>0)/48|0;m=f[o>>2]|0;break}if(!((c|0)==0|(e&1)==0))ig(l,c);f[n>>2]=k;e=0;return e|0}while(0);l=f[n>>2]|0;f[o>>2]=m+1;b:do if(c){g=f[c+4>>2]|0;if(!(g&262144)){d[l+(m*48|0)+8>>1]=1;if(!(g&4096))break;while(1){if(!(g&262144))c=c+12|0;else c=(f[c+20>>2]|0)+4|0;c=f[c>>2]|0;if(!c){c=0;break b}g=f[c+4>>2]|0;if(!(g&4096))break b}}h=f[c+28>>2]|0;i=((h|0)<0)<<31>>31;if(h>>>0<8)if(h>>>0<2)h=-270;else{k=40;do{k=(k&65535)+65526|0;h=WA(h|0,i|0,1)|0;i=ba()|0}while(i>>>0<0|(i|0)==0&h>>>0<8);k=k&65535;p=48}else{if(h>>>0>255){k=40;do{k=(k&65535)+40|0;p=h;h=VA(h|0,i|0,4)|0;o=i;i=ba()|0}while(o>>>0>0|(o|0)==0&p>>>0>4095);k=k&65535}else k=40;if(i>>>0>0|(i|0)==0&h>>>0>15){do{k=(k&65535)+10&65535;p=h;h=VA(h|0,i|0,1)|0;o=i;i=ba()|0}while(o>>>0>0|(o|0)==0&p>>>0>31);p=48}else p=48}if((p|0)==48)h=(k&65535)+65256+(j[7936+((h&7)<<1)>>1]|0)&65535;d[l+(m*48|0)+8>>1]=h;if(g&4096)do{if(!(g&262144))c=c+12|0;else c=(f[c+20>>2]|0)+4|0;c=f[c>>2]|0;if(!c){c=0;break b}g=f[c+4>>2]|0}while((g&4096|0)!=0)}else{d[l+(m*48|0)+8>>1]=1;c=0}while(0);f[l+(m*48|0)>>2]=c;d[l+(m*48|0)+10>>1]=e;f[l+(m*48|0)+4>>2]=a;f[l+(m*48|0)+16>>2]=-1;c=l+(m*48|0)+12|0;g=c+36|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(g|0));e=m;return e|0}function yn(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;Aa=t;t=t+96|0;z=Aa+72|0;va=Aa+64|0;ua=Aa+56|0;ta=Aa+48|0;oa=Aa+40|0;ea=Aa+32|0;da=Aa+24|0;U=Aa+16|0;u=Aa+8|0;s=Aa;ka=Aa+80|0;la=Aa+76|0;r=f[c>>2]|0;sa=f[r>>2]|0;na=f[sa>>2]|0;ca=na+81|0;if(b[ca>>0]|0){t=Aa;return}xa=c+20|0;w=f[xa>>2]|0;y=w+(e*48|0)|0;ma=r+488|0;ya=f[y>>2]|0;za=ya+12|0;g=f[za>>2]|0;if(!g){C=0;D=0}else{C=Fn(ma,g)|0;D=ba()|0}x=b[ya>>0]|0;v=x&255;a:do switch(x<<24>>24){case 49:{if(Hm(sa,ya)|0){t=Aa;return}g=ya+20|0;if(f[ya+4>>2]&2048|0){k=Pn(ma,f[g>>2]|0)|0;g=ba()|0;break a}q=f[g>>2]|0;if((q|0)!=0?(k=f[q>>2]|0,(k|0)>0):0){p=0;n=k;k=0;g=0;do{l=f[q+4+(p*20|0)>>2]|0;if(!l){l=0;m=0}else{l=Fn(ma,l)|0;m=ba()|0;n=f[q>>2]|0}k=l|k;g=m|g;p=p+1|0}while((p|0)<(n|0))}else{k=0;g=0}break}case 50:{k=0;g=0;break}default:{g=f[ya+16>>2]|0;if(!g){k=0;g=0}else{k=Fn(ma,g)|0;g=ba()|0}}}while(0);n=w+(e*48|0)+32|0;f[n>>2]=k;f[n+4>>2]=g;f[ma>>2]=0;n=Fn(ma,ya)|0;p=ba()|0;q=w+(e*48|0)+10|0;if(f[ma>>2]|0)d[q>>1]=d[q>>1]|4096;ra=ya+4|0;if(f[ra>>2]&1){k=d[ya+36>>1]|0;l=f[r+492>>2]|0;b:do if((l|0)>0){g=0;while(1){if((f[r+496+(g<<2)>>2]|0)==(k|0))break;g=g+1|0;if((g|0)>=(l|0)){l=0;m=0;break b}}l=WA(1,0,g|0)|0;m=ba()|0}else{l=0;m=0}while(0);g=l|n;k=m|p;n=KA(l|0,m|0,-1,-1)|0;p=ba()|0;qa=VA(g|0,k|0,1)|0;pa=ba()|0;if(pa>>>0>>0|(pa|0)==(m|0)&qa>>>0>>0){B=g;A=k;qa=n;pa=p}else{ni(sa,56906,s);t=Aa;return}}else{B=n;A=p;qa=0;pa=0}p=w+(e*48|0)+40|0;f[p>>2]=B;f[p+4>>2]=A;p=w+(e*48|0)+20|0;f[p>>2]=-1;f[w+(e*48|0)+16>>2]=-1;m=w+(e*48|0)+12|0;d[m>>1]=0;c:do switch(x<<24>>24){case 45:case 50:case 53:case 54:case 55:case 56:case 57:case 49:{g=f[za>>2]|0;d:do if(!g)g=0;else while(1){i=f[g+4>>2]|0;if(!(i&4096))break d;if(!(i&262144))g=g+12|0;else g=(f[g+20>>2]|0)+4|0;g=f[g>>2]|0;if(!g){g=0;break}}while(0);i=f[ya+16>>2]|0;e:do if(!i)i=0;else while(1){k=f[i+4>>2]|0;if(!(k&4096))break e;if(!(k&262144))i=i+12|0;else i=(f[i+20>>2]|0)+4|0;i=f[i>>2]|0;if(!i){i=0;break}}while(0);l=w+(e*48|0)+32|0;u=l;u=((f[u>>2]&C|0)==0?(f[u+4>>2]&D|0)==0:0)?8191:2048;k=f[w+(e*48|0)+24>>2]|0;if((k|0)>0)g=f[(f[g+20>>2]|0)+4+((k+-1|0)*20|0)>>2]|0;k=b[g>>0]|0;n=(v+-54|0)>>>0<4;if(n&k<<24>>24==-91){k=f[(f[g+20>>2]|0)+4>>2]|0;g=k;k=b[k>>0]|0}if(k<<24>>24!=-98){if((!((C|0)==0&(D|0)==0)?(U=KA(C|0,D|0,-1,-1)|0,(U&C|0)==0&((ba()|0)&D|0)==0):0)?Zn(a,C,D,ka,g)|0:0){g=f[ka>>2]|0;k=f[ka+4>>2]|0;ia=51}}else{ia=f[g+28>>2]|0;f[ka>>2]=ia;k=d[g+32>>1]|0;f[ka+4>>2]=k;g=ia;ia=51}if((ia|0)==51){f[p>>2]=g;f[w+(e*48|0)+28>>2]=k;switch(x<<24>>24){case 49:{g=1;break}case 50:{g=256;break}case 45:{g=128;break}default:g=2<>1]=g&u}m=x<<24>>24==45;if(m)d[q>>1]=d[q>>1]|2048;do if(!i)g=y;else{k=f[l>>2]|0;l=f[l+4>>2]|0;g=b[i>>0]|0;if(n&g<<24>>24==-91){g=f[(f[i+20>>2]|0)+4>>2]|0;i=g;g=b[g>>0]|0}if(g<<24>>24!=-98){if((k|0)==0&(l|0)==0){g=y;break}U=KA(k|0,l|0,-1,-1)|0;if(!((U&k|0)==0&((ba()|0)&l|0)==0)){g=y;break}if(!(Zn(a,k,l,ka,i)|0)){g=y;break}}else{f[ka>>2]=f[i+28>>2];f[ka+4>>2]=d[i+32>>1]}f:do if((f[p>>2]|0)>-1){if(!ya)s=0;else s=Bk(na,ya,0,0)|0;do if(!(b[ca>>0]|0)){g=xn(c,s,3)|0;if(!g)break;n=f[xa>>2]|0;q=n+(g*48|0)|0;f[n+(g*48|0)+16>>2]=e;d[n+(g*48|0)+8>>1]=d[n+(e*48|0)+8>>1]|0;U=n+(e*48|0)+14|0;b[U>>0]=(b[U>>0]|0)+1<<24>>24;g=n+(g*48|0)+10|0;if(m)d[g>>1]=d[g>>1]|2048;g=n+(e*48|0)|0;U=n+(e*48|0)+10|0;d[U>>1]=d[U>>1]|8;if(d[(f[sa>>2]|0)+76>>1]&128){r=0;break f}switch(b[s>>0]|0){case 45:case 53:break;default:{r=0;break f}}if(f[s+4>>2]&1|0){r=0;break f}m=s+12|0;i=f[m>>2]|0;T=Yk(i)|0;l=s+16|0;k=f[l>>2]|0;U=Yk(k)|0;if(T<<24>>24!=U<<24>>24?!(T<<24>>24>66&U<<24>>24>66):0){r=0;break f}g:do if(!(f[i+4>>2]&256)){do if(k|0){if(!(f[k+4>>2]&256))break;i=Zk(sa,k)|0;ia=87;break g}while(0);i=Zk(sa,i)|0;if(i|0){ia=88;break}i=Zk(sa,k)|0;ia=87}else{i=Zk(sa,i)|0;ia=87}while(0);if((ia|0)==87?i|0:0)ia=88;do if((ia|0)==88){if((f[i+12>>2]|0)==85?(f[i+8>>2]|0)==0:0)break;k=f[l>>2]|0;i=Zk(sa,f[m>>2]|0)|0;if(!i)i=f[(f[sa>>2]|0)+8>>2]|0;k=Zk(sa,k)|0;if(!k)k=f[(f[sa>>2]|0)+8>>2]|0;m=f[i>>2]|0;k=f[k>>2]|0;U=b[m>>0]|0;i=(h[1232+(U&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0;if(!(U<<24>>24==0|(i|0)!=0)){l=k;k=m;do{k=k+1|0;l=l+1|0;U=b[k>>0]|0;i=(h[1232+(U&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(U<<24>>24==0|(i|0)!=0))}if(i|0){r=0;break f}}while(0);r=n+(e*48|0)+12|0;d[r>>1]=d[r>>1]|2048;r=2048;break f}else{if(!s)break;ig(na,s)}while(0);t=Aa;return}else{s=ya;g=y;q=y;r=0}while(0);o=s+16|0;k=(f[o>>2]|0)+4|0;l=f[k>>2]|0;m=l&256;p=s+12|0;n=f[p>>2]|0;i=n;do if((m|0)==(f[n+4>>2]&256|0)){if(m|0){f[k>>2]=l&-257;break}if(!(Zk(sa,n)|0)){i=f[p>>2]|0;break}else{i=f[p>>2]|0;U=i+4|0;f[U>>2]=f[U>>2]|256;break}}while(0);U=f[o>>2]|0;f[o>>2]=i;f[p>>2]=U;i=b[s>>0]|0;if((i&255)>53)b[s>>0]=((i&255)+202^2)+54;f[q+20>>2]=f[ka>>2];f[q+28>>2]=f[ka+4>>2];i=q+32|0;f[i>>2]=qa|C;f[i+4>>2]=pa|D;i=q+40|0;f[i>>2]=B;f[i+4>>2]=A;i=b[s>>0]|0;switch(i<<24>>24){case 49:{i=1;break}case 50:{i=256;break}case 45:{i=128;break}default:i=2<<(i&255)+-53}d[q+12>>1]=i+r&(u&65535)}while(0);break}default:{switch(b[ya>>0]|0){case 48:{if((b[c+8>>0]|0)!=44){g=y;break c}n=f[ya+20>>2]|0;o=ya+36|0;g=f[za>>2]|0;if(!g)m=0;else m=Bk(na,g,0,0)|0;g=f[n+4>>2]|0;if(!g)l=0;else l=Bk(na,g,0,0)|0;k=f[sa>>2]|0;h:do if(f[k+272>>2]|0)if(!(b[k+81>>0]|0))ia=130;else{g=k;ia=134}else{do if((j[k+276>>1]|0)>=48){i=k+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];ia=k+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=131;break h}i=k+296|0;g=f[i>>2]|0;if(!g){g=k+292|0;break}else{f[i>>2]=f[g>>2];ia=k+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=131;break h}}else g=k+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;ia=130}while(0);if((ia|0)==130){g=Dc(k,48,0)|0;ia=131}do if((ia|0)==131){if(!g){g=f[sa>>2]|0;ia=134;break}A=g;B=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));b[g>>0]=57;d[g+34>>1]=-1;if(!l)i=0;else{f[g+16>>2]=l;i=f[l+4>>2]&2097412;f[g+4>>2]=i}if(m|0){f[g+12>>2]=m;f[g+4>>2]=i|f[m+4>>2]&2097412}jl(g);i=f[(f[sa>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[u>>2]=i;ni(sa,42710,u)}U=g+4|0;f[U>>2]=f[U>>2]|f[ra>>2]&1;d[g+36>>1]=d[o>>1]|0}while(0);if((ia|0)==134){if(m|0)ig(g,m);if(!l)g=0;else{ig(g,l);g=0}}ia=xn(c,g,3)|0;yn(a,c,ia);g=f[xa>>2]|0;f[g+(ia*48|0)+16>>2]=e;d[g+(ia*48|0)+8>>1]=d[g+(e*48|0)+8>>1]|0;g=g+(e*48|0)+14|0;b[g>>0]=(b[g>>0]|0)+1<<24>>24;g=f[za>>2]|0;if(!g)m=0;else m=Bk(na,g,0,0)|0;g=f[n+24>>2]|0;if(!g)l=0;else l=Bk(na,g,0,0)|0;k=f[sa>>2]|0;i:do if(f[k+272>>2]|0)if(!(b[k+81>>0]|0))ia=669;else{g=k;ia=679}else{do if((j[k+276>>1]|0)>=48){i=k+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];ia=k+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=670;break i}i=k+296|0;g=f[i>>2]|0;if(!g){g=k+292|0;break}else{f[i>>2]=f[g>>2];ia=k+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=670;break i}}else g=k+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;ia=669}while(0);if((ia|0)==669){g=Dc(k,48,0)|0;ia=670}do if((ia|0)==670){if(!g){g=f[sa>>2]|0;ia=679;break}A=g;B=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));b[g>>0]=55;d[g+34>>1]=-1;if(!l)i=0;else{f[g+16>>2]=l;i=f[l+4>>2]&2097412;f[g+4>>2]=i}if(m|0){f[g+12>>2]=m;f[g+4>>2]=i|f[m+4>>2]&2097412}jl(g);i=f[(f[sa>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[z>>2]=i;ni(sa,42710,z)}U=g+4|0;f[U>>2]=f[U>>2]|f[ra>>2]&1;d[g+36>>1]=d[o>>1]|0}while(0);if((ia|0)==679){if(m|0)ig(g,m);if(!l)g=0;else{ig(g,l);g=0}}U=xn(c,g,3)|0;yn(a,c,U);g=f[xa>>2]|0;f[g+(U*48|0)+16>>2]=e;d[g+(U*48|0)+8>>1]=d[g+(e*48|0)+8>>1]|0;U=g+(e*48|0)+14|0;b[U>>0]=(b[U>>0]|0)+1<<24>>24;g=g+(e*48|0)|0;break c}case 43:break;default:{g=y;break c}}O=f[c>>2]|0;Q=f[O>>2]|0;P=f[Q>>2]|0;K=f[xa>>2]|0;R=f[K+(e*48|0)>>2]|0;j:do if(!P){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](416)|0;ia=168;break}g=ib[f[37372>>2]&255](416)|0;if((f[18194]|0)>>>0<416)f[18194]=416;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){ia=f[18187]|0;M=LA(k|0,l|0,g|0,((g|0)<0)<<31>>31|0)|0;L=ba()|0;f[17976]=((L|0)<0|(L|0)==0&M>>>0<=ia>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(g){k=ib[f[37368>>2]&255](g)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;ia=170}else ia=170}else ia=169}else{if(f[P+272>>2]|0){if(b[P+81>>0]|0){ia=169;break}}else{do if((j[P+276>>1]|0)>=416){k=P+300|0;g=f[k>>2]|0;if(g|0){f[k>>2]=f[g>>2];ia=P+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=168;break j}k=P+296|0;g=f[k>>2]|0;if(!g){g=P+292|0;break}else{f[k>>2]=f[g>>2];ia=P+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=168;break j}}else g=P+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(P,416,0)|0;ia=168}while(0);if((ia|0)==168)if(!g)ia=169;else ia=170;k:do if((ia|0)==169)f[K+(e*48|0)+28>>2]=0;else if((ia|0)==170){_A(g+8|0,0,408)|0;f[K+(e*48|0)+28>>2]=g;k=K+(e*48|0)+10|0;d[k>>1]=d[k>>1]|16;k=g+24|0;_A(k|0,0,384)|0;f[g>>2]=O;b[g+9>>0]=0;f[g+4>>2]=0;L=g+12|0;f[L>>2]=0;f[g+16>>2]=8;M=g+20|0;f[M>>2]=k;wn(g,R,43);k=f[L>>2]|0;if((k|0)>0)do{J=k;k=k+-1|0;yn(a,g,k)}while((J|0)>1);B=P+81|0;if(!(b[B>>0]|0)){k=f[L>>2]|0;if((k|0)>0){C=P+272|0;D=P+276|0;E=O+492|0;F=P+288|0;G=P+300|0;H=P+296|0;I=P+284|0;J=P+292|0;A=f[M>>2]|0;y=-1;m=-1;p=-1;q=-1;while(1){z=k;k=k+-1|0;n=A+12|0;x=d[n>>1]|0;l:do if(!(x&511)){do if(f[C>>2]|0)if(!(b[B>>0]|0))ia=186;else{p=0;q=0;r=y;break l}else{if((j[D>>1]|0)>=408){l=f[G>>2]|0;if(l|0){f[G>>2]=f[l>>2];f[I>>2]=(f[I>>2]|0)+1;break}l=f[H>>2]|0;if(!l)l=J;else{f[H>>2]=f[l>>2];f[I>>2]=(f[I>>2]|0)+1;break}}else l=F;f[l>>2]=(f[l>>2]|0)+1;ia=186}while(0);if((ia|0)==186){ia=0;l=Dc(P,408,0)|0}if(!l){p=0;q=0;r=y}else{f[A+28>>2]=l;p=A+10|0;d[p>>1]=d[p>>1]|32;d[n>>1]=1024;n=l+24|0;_A(n|0,0,384)|0;f[l>>2]=f[c>>2];b[l+9>>0]=0;p=l+4|0;f[p>>2]=0;q=l+12|0;f[q>>2]=0;f[l+16>>2]=8;r=l+20|0;f[r>>2]=n;wn(l,f[A>>2]|0,44);n=f[q>>2]|0;if((n|0)>0)do{x=n;n=n+-1|0;yn(a,l,n)}while((x|0)>1);f[p>>2]=c;m:do if((b[B>>0]|0)==0?(N=f[q>>2]|0,(N|0)>0):0){s=f[r>>2]|0;u=0;l=0;n=0;while(1){switch(b[f[s>>2]>>0]|0){case 45:case 50:case 53:case 54:case 55:case 56:case 57:case 49:{ia=196;break}default:if((d[s+12>>1]|0)==64)ia=196}if((ia|0)==196){ia=0;q=f[s+20>>2]|0;r=f[E>>2]|0;n:do if((r|0)>0){p=0;while(1){if((f[O+496+(p<<2)>>2]|0)==(q|0))break;p=p+1|0;if((p|0)>=(r|0)){p=0;q=0;break n}}p=WA(1,0,p|0)|0;q=ba()|0}else{p=0;q=0}while(0);l=p|l;n=q|n}u=u+1|0;if((u|0)>=(N|0))break m;else s=s+48|0}}else{l=0;n=0}while(0);p=0;q=0;r=l&y;m=n&m}}else{s=d[A+10>>1]|0;if(!(s&8)){n=f[A+20>>2]|0;v=f[E>>2]|0;u=(v|0)>0;o:do if(u){l=0;while(1){if((f[O+496+(l<<2)>>2]|0)==(n|0))break;l=l+1|0;if((l|0)>=(v|0)){r=0;w=0;break o}}r=WA(1,0,l|0)|0;w=ba()|0}else{r=0;w=0}while(0);if(!(s&2))l=w;else{n=f[(f[M>>2]|0)+((f[A+16>>2]|0)*48|0)+20>>2]|0;p:do if(u){l=0;while(1){if((f[O+496+(l<<2)>>2]|0)==(n|0))break;l=l+1|0;if((l|0)>=(v|0)){l=0;n=0;break p}}l=WA(1,0,l|0)|0;n=ba()|0}else{l=0;n=0}while(0);r=l|r;l=n|w}x=(x&2)==0;p=x?0:r&p;q=x?0:l&q;r=r&y;m=l&m}else r=y}while(0);l=(r|0)!=0|(m|0)!=0;if(!(l&(z|0)>1))break;else{A=A+48|0;y=r}}N=g+408|0;f[N>>2]=r;f[N+4>>2]=m;d[K+(e*48|0)+12>>1]=512;if(l)ia=220}else{p=g+408|0;f[p>>2]=-1;f[p+4>>2]=-1;d[K+(e*48|0)+12>>1]=512;p=-1;q=-1;ia=220}q:do if((ia|0)==220){b[c+9>>0]=1;if((f[L>>2]|0)==2){k=0;l=f[M>>2]|0;while(1){n=k+1|0;if((d[l+12>>1]|0)!=1024)if(!k)k=l;else break q;else{g=f[l+28>>2]|0;if((f[g+12>>2]|0)<=(k|0))break q;k=(f[g+20>>2]|0)+(k*48|0)|0}if(!k)break q;m=0;while(1){if((d[l+60>>1]|0)==1024){g=f[l+76>>2]|0;if((f[g+12>>2]|0)<=(m|0))break;g=(f[g+20>>2]|0)+(m*48|0)|0;if(!g)break}else if(!m)g=l+48|0;else break;$n(a,c,k,g);m=m+1|0;l=f[M>>2]|0}k=n}}}while(0);if(!((p|0)==0&(q|0)==0)?(S=O+492|0,o=f[L>>2]|0,T=(o|0)>0,T):0){n=o;g=f[M>>2]|0;while(1){l=n+-1|0;s=g+10|0;d[s>>1]=d[s>>1]&-65;s=f[g+20>>2]|0;if((s|0)!=-1){m=f[S>>2]|0;r:do if((m|0)>0){k=0;while(1){if((f[O+496+(k<<2)>>2]|0)==(s|0))break;k=k+1|0;if((k|0)>=(m|0)){k=0;m=0;break r}}k=WA(1,0,k|0)|0;m=ba()|0}else{k=0;m=0}while(0);if(!((k&p|0)==0&(m&q|0)==0))break}if((n|0)>1){n=l;g=g+48|0}else break k}m=f[g+28>>2]|0;if((n|0)>=1){k=s;while(1){if((k|0)==(s|0)){if((f[g+28>>2]|0)!=(m|0)){ia=254;break}N=f[g>>2]|0;L=Yk(f[N+16>>2]|0)|0;if(!(L<<24>>24==0|L<<24>>24==(Yk(f[N+12>>2]|0)|0)<<24>>24)){ia=254;break}N=g+10|0;d[N>>1]=d[N>>1]|64}else{N=g+10|0;d[N>>1]=d[N>>1]&-65}if((l|0)<=0)break;k=f[g+68>>2]|0;l=l+-1|0;g=g+48|0}s:do if((ia|0)==254){if(!T)break k;n=o;g=f[M>>2]|0;while(1){l=n+-1|0;r=g+10|0;d[r>>1]=d[r>>1]&-65;r=f[g+20>>2]|0;if((r|0)!=(s|0)){m=f[S>>2]|0;t:do if((m|0)>0){k=0;while(1){if((f[O+496+(k<<2)>>2]|0)==(r|0))break;k=k+1|0;if((k|0)>=(m|0)){k=0;m=0;break t}}k=WA(1,0,k|0)|0;m=ba()|0}else{k=0;m=0}while(0);if(!((k&p|0)==0&(m&q|0)==0))break}if((n|0)>1){n=l;g=g+48|0}else break k}m=f[g+28>>2]|0;if((n|0)<1)break k;k=r;while(1){if((k|0)==(r|0)){if((f[g+28>>2]|0)!=(m|0))break k;S=f[g>>2]|0;N=Yk(f[S+16>>2]|0)|0;if(!(N<<24>>24==0|N<<24>>24==(Yk(f[S+12>>2]|0)|0)<<24>>24))break k;S=g+10|0;d[S>>1]=d[S>>1]|64}else{S=g+10|0;d[S>>1]=d[S>>1]&-65}if((l|0)<=0)break s;k=f[g+68>>2]|0;l=l+-1|0;g=g+48|0}}while(0);if(T){k=0;n=0;m=f[M>>2]|0;while(1){l=o;o=o+-1|0;if(!(d[m+10>>1]&64))g=n;else{g=f[(f[m>>2]|0)+16>>2]|0;if(!g)g=0;else g=Bk(P,g,0,0)|0;g=ml(f[f[O>>2]>>2]|0,n,g)|0;k=f[(f[m>>2]|0)+12>>2]|0}if((l|0)<=1)break;else{n=g;m=m+48|0}}if(!k){m=g;l=0}else{m=g;l=Bk(P,k,0,0)|0}}else{m=0;l=0}k=f[Q>>2]|0;u:do if(f[k+272>>2]|0){if(!(b[k+81>>0]|0))ia=274}else{do if((j[k+276>>1]|0)>=48){g=k+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];ia=k+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=275;break u}g=k+296|0;i=f[g>>2]|0;if(!i){g=k+292|0;break}else{f[g>>2]=f[i>>2];ia=k+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=275;break u}}else g=k+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;ia=274}while(0);if((ia|0)==274){i=Dc(k,48,0)|0;ia=275}if((ia|0)==275?i|0:0){A=i;B=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));b[i>>0]=49;d[i+34>>1]=-1;if(l|0){f[i+12>>2]=l;f[i+4>>2]=f[l+4>>2]&2097412}jl(i);g=f[(f[Q>>2]|0)+120>>2]|0;if((g|0)<(f[i+24>>2]|0)){f[U>>2]=g;ni(Q,42710,U)}T=i+4|0;f[T>>2]=f[T>>2]|f[R+4>>2]&1;d[i+36>>1]=d[R+36>>1]|0;f[i+20>>2]=m;T=xn(c,i,3)|0;yn(a,c,T);U=f[xa>>2]|0;f[U+(T*48|0)+16>>2]=e;d[U+(T*48|0)+8>>1]=d[U+(e*48|0)+8>>1]|0;U=U+(e*48|0)+14|0;b[U>>0]=(b[U>>0]|0)+1<<24>>24;break}if(l|0)ig(f[Q>>2]|0,l);if(m|0)jg(P,m)}}}}while(0);g=(f[xa>>2]|0)+(e*48|0)|0}}while(0);D=c+8|0;v:do if((b[D>>0]|0)==44){z=f[sa>>2]|0;w:do if((((b[ya>>0]|0)==-99?(aa=ya+20|0,V=f[aa>>2]|0,(V|0)!=0):0)?(W=f[V>>2]|0,X=Rk(z,f[ya+8>>2]|0,W,1,0)|0,(X|0)!=0):0)?(Y=f[X+4>>2]|0,(Y&4|0)!=0):0){l=f[aa>>2]|0;if((W|0)>=3){i=f[l+44>>2]|0;if((b[i>>0]|0)!=106)break;i=f[i+8>>2]|0;k=b[i>>0]|0;if(!(k<<24>>24))break;if(b[i+1>>0]|0)break}else k=0;v=f[X+8>>2]|0;q=b[v>>0]|0;r=b[v+1>>0]|0;v=b[v+2>>0]|0;C=Y&8;x=f[l+24>>2]|0;i=f[l+4>>2]|0;x:do if(!i)y=0;else while(1){l=f[i+4>>2]|0;if(!(l&4096)){y=i;break x}if(!(l&262144))i=i+12|0;else i=(f[i+20>>2]|0)+4|0;i=f[i>>2]|0;if(!i){y=0;break}}while(0);i=b[y>>0]|0;w=i<<24>>24==-112;do if(w){if(!(0==0?(f[z+32>>2]&8388608|0)==0:0))break w;i=f[sa+216>>2]|0;o=d[y+32>>1]|0;p=o<<16>>16;y:do if((i|0)!=0?(Y=f[i+116>>2]|0,_=p+-1|0,Z=Y+(_*40|0)|0,_=Y+(_*40|0)+8|0,(d[_>>1]&1)==0):0){n=f[i>>2]|0;z:do if(!n){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](40)|0;ia=329;break}i=ib[f[37372>>2]&255](40)|0;if((f[18194]|0)>>>0<40)f[18194]=40;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Y=f[18187]|0;X=LA(l|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;W=ba()|0;f[17976]=((W|0)<0|(W|0)==0&X>>>0<=Y>>>0)&1}l=ib[f[37356>>2]&255](i)|0;if(!l){i=0;m=0;n=0;break y}i=ib[f[37368>>2]&255](l)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0<=(f[18196]|0)>>>0)break;f[18196]=i}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){i=0;m=0;n=0;break y}}else{do if((j[n+276>>1]|0)>=40){l=n+300|0;i=f[l>>2]|0;if(i|0){f[l>>2]=f[i>>2];ia=n+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=329;break z}l=n+296|0;i=f[l>>2]|0;if(!i){i=n+292|0;break}else{f[l>>2]=f[i>>2];ia=n+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=329;break z}}else i=n+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(n,40,0)|0;ia=329}while(0);if((ia|0)==329)if(!i){i=0;m=0;n=0;break}else l=i;A=l;B=A+40|0;do{b[A>>0]=0;A=A+1|0}while((A|0)<(B|0));m=l+8|0;d[m>>1]=1;f[l+32>>2]=n;f[l>>2]=f[Z>>2];f[l+4>>2]=f[Z+4>>2];f[l+8>>2]=f[Z+8>>2];f[l+12>>2]=f[Z+12>>2];f[l+16>>2]=f[Z+16>>2];i=d[m>>1]&-1025;d[m>>1]=i;i=i&65535;A:do if(i&18|0){if(d[_>>1]&2048)break;d[m>>1]=i|4096;do if(i&16384){i=l+12|0;_=(f[l>>2]|0)+(f[i>>2]|0)|0;if(df(l,(_|0)>1?_:1,1)|0)break A;_A((f[l+16>>2]|0)+(f[i>>2]|0)|0,0,f[l>>2]|0)|0;f[i>>2]=(f[i>>2]|0)+(f[l>>2]|0);i=d[m>>1]&-16897;d[m>>1]=i;if(!(f[l+24>>2]|0)){ia=336;break}if((f[l+16>>2]|0)!=(f[l+20>>2]|0))ia=336}else ia=336;while(0);if((ia|0)==336){if(gf(l)|0)break;i=d[m>>1]|0}d[m>>1]=i&-4097}while(0);i=d[m>>1]|0;if((i&15|16)<<16>>16!=18){i=0;m=l;n=l;break}do if((i&514)==514){if((b[l+10>>0]|0)!=1)break;i=f[l+16>>2]|0;m=l;n=l;break y}while(0);if(i&1){i=0;m=l;n=l;break}i=Ic(l,1)|0;m=l;n=l}else{i=0;m=0;n=0}while(0);l=f[sa+8>>2]|0;if(o<<16>>16>31){s=l+204|0;f[s>>2]=f[s>>2]|-2147483648;s=m;u=n;break}else{s=l+204|0;f[s>>2]=f[s>>2]|1<>24!=106)break w;s=0;i=f[y+8>>2]|0;u=0}while(0);do if((i|0)!=0?($=b[i>>0]|0,$<<24>>24!=v<<24>>24&(($<<24>>24==r<<24>>24|($<<24>>24==0?1:$<<24>>24==q<<24>>24))^1)):0){l=0;n=$;do{m=l+1|0;if(n<<24>>24==k<<24>>24)l=(b[i+m>>0]|0)==0?m:l+2|0;else l=m;n=b[i+l>>0]|0;m=n<<24>>24==q<<24>>24}while(n<<24>>24!=v<<24>>24&((n<<24>>24==r<<24>>24|(n<<24>>24==0|m))^1));if(((l|0)!=0?(b[i+(l+-1)>>0]|0)!=-1:0)?!((l|0)<2?$<<24>>24==k<<24>>24:0):0){if(m)q=(b[i+(l+1)>>0]|0)==0&1;else q=0;f[ka>>2]=i;r=(wz(i)|0)&1073741823;f[ka+4>>2]=r;r=Dk(z,106,ka,0)|0;B:do if(r|0){p=f[r+8>>2]|0;b[p+l>>0]=0;if((l|0)>0){o=k&255;m=0;n=0;while(1){$=n+((b[p+n>>0]|0)==(o|0)&1)|0;k=m+1|0;b[p+m>>0]=b[p+$>>0]|0;n=$+1|0;if((n|0)>=(l|0))break;else m=k}}else k=0;b[p+k>>0]=0;$=b[p>>0]|0;if(!($<<24>>24==45|(($&255)+-48|0)>>>0<10)?!((k|0)==1&$<<24>>24==47):0)break;do if((b[x>>0]|0)==-98){if((Yk(x)|0)<<24>>24!=66)break;if(!(f[(f[x+44>>2]|0)+56>>2]|0))break B}while(0);ig(z,r);if(!s)break w;if(!((d[s+8>>1]&9216)==0?!(f[s+24>>2]|0):0))ff(s);i=f[s+32>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,u);break w}k=u;if((f[i+304>>2]|0)>>>0>k>>>0)break;if((f[i+308>>2]|0)>>>0<=k>>>0)break;ea=i+300|0;f[u>>2]=f[ea>>2];f[ea>>2]=u;break w}while(0);if(!u)break w;if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break w}else{ea=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break w}}while(0);if(!w)break;m=f[sa+8>>2]|0;k=d[y+32>>1]|0;if(k<<16>>16>31)k=-2147483648;else k=1<<(k<<16>>16)+-1;$=m+204|0;f[$>>2]=f[$>>2]|k;if(!q){q=0;break}if(!(b[(f[y+8>>2]|0)+1>>0]|0))break;n=sa+19|0;k=b[n>>0]|0;if(!(k<<24>>24)){$=sa+44|0;l=(f[$>>2]|0)+1|0;f[$>>2]=l}else{l=k+-1<<24>>24;b[n>>0]=l;l=f[sa+144+((l&255)<<2)>>2]|0}xl(sa,y,l)|0;if(!(b[(f[m>>2]|0)+81>>0]|0))k=(f[m+88>>2]|0)+(((f[m+136>>2]|0)+-1|0)*20|0)|0;else k=72144;f[k+12>>2]=0;if(!l)break;k=b[n>>0]|0;if((k&255)>=8)break;b[n>>0]=k+1<<24>>24;f[sa+144+((k&255)<<2)>>2]=l}else{q=0;r=0;i=0}}else{q=0;r=0;i=0}while(0);l=(i|0)==0;C:do if(s|0){if(!((d[s+8>>1]&9216)==0?!(f[s+24>>2]|0):0))ff(s);i=f[s+32>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,u);break C}k=u;if((f[i+304>>2]|0)>>>0>k>>>0)break;if((f[i+308>>2]|0)>>>0<=k>>>0)break;$=i+300|0;f[u>>2]=f[$>>2];f[$>>2]=u;break C}while(0);if(u|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{$=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-$;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}}while(0);if(!l){s=f[(f[aa>>2]|0)+24>>2]|0;p=(r|0)==0;if(p)u=0;else u=Bk(na,r,0,0)|0;n=(C|0)!=0;do if(!n){if(b[(f[sa>>2]|0)+81>>0]|0)break;l=g+10|0;d[l>>1]=d[l>>1]|1024;l=r+8|0;i=f[l>>2]|0;g=b[i>>0]|0;if(!(g<<24>>24))break;m=u+8|0;k=0;do{ia=g&255;b[i>>0]=g&~(b[5472+ia>>0]&32);b[(f[m>>2]|0)+k>>0]=b[1232+ia>>0]|0;k=k+1|0;i=(f[l>>2]|0)+k|0;g=b[i>>0]|0}while(g<<24>>24!=0)}while(0);if(!(b[ca>>0]|0)){i=f[u+8>>2]|0;if(!i)g=0;else g=(wz(i)|0)&1073741823;k=i+(g+-1)|0;g=b[k>>0]|0;if(n){i=g;g=q}else{i=b[1232+(g&255)>>0]|0;g=g<<24>>24==64?0:q}b[k>>0]=(i&255)+1;q=g}o=n?43030:56947;m=(s|0)==0;if(m)i=0;else i=Bk(na,s,0,0)|0;f[ka>>2]=o;f[ka+4>>2]=6;g=Dk(f[sa>>2]|0,102,ka,0)|0;if(g){f[g+12>>2]=i;i=g+4|0;f[i>>2]=f[i>>2]|4352;i=g}l=f[sa>>2]|0;D:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))ia=439;else{g=l;ia=443}else{do if((j[l+276>>1]|0)>=48){k=l+300|0;g=f[k>>2]|0;if(g|0){f[k>>2]=f[g>>2];ia=l+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=440;break D}k=l+296|0;g=f[k>>2]|0;if(!g){g=l+292|0;break}else{f[k>>2]=f[g>>2];ia=l+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=440;break D}}else g=l+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;ia=439}while(0);if((ia|0)==439){g=Dc(l,48,0)|0;ia=440}do if((ia|0)==440){if(!g){g=f[sa>>2]|0;ia=443;break}A=g;B=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));b[g>>0]=57;d[g+34>>1]=-1;if(p)k=0;else{f[g+16>>2]=r;k=f[r+4>>2]&2097412;f[g+4>>2]=k}if(i|0){f[g+12>>2]=i;f[g+4>>2]=k|f[i+4>>2]&2097412}jl(g);i=f[(f[sa>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[da>>2]=i;ni(sa,42710,da)}da=g+4|0;f[da>>2]=f[da>>2]|f[ra>>2]&1;d[g+36>>1]=d[ya+36>>1]|0}while(0);do if((ia|0)==443){if(i|0)ig(g,i);if(p){g=0;break}ig(g,r);g=0}while(0);n=xn(c,g,259)|0;yn(a,c,n);if(m)i=0;else i=Bk(na,s,0,0)|0;f[ka>>2]=o;f[ka+4>>2]=6;g=Dk(f[sa>>2]|0,102,ka,0)|0;if(g){f[g+12>>2]=i;i=g+4|0;f[i>>2]=f[i>>2]|4352;i=g}l=f[sa>>2]|0;E:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))ia=467;else{g=l;ia=471}else{do if((j[l+276>>1]|0)>=48){k=l+300|0;g=f[k>>2]|0;if(g|0){f[k>>2]=f[g>>2];ia=l+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=468;break E}k=l+296|0;g=f[k>>2]|0;if(!g){g=l+292|0;break}else{f[k>>2]=f[g>>2];ia=l+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=468;break E}}else g=l+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;ia=467}while(0);if((ia|0)==467){g=Dc(l,48,0)|0;ia=468}do if((ia|0)==468){if(!g){g=f[sa>>2]|0;ia=471;break}A=g;B=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));b[g>>0]=56;d[g+34>>1]=-1;if(!u)k=0;else{f[g+16>>2]=u;k=f[u+4>>2]&2097412;f[g+4>>2]=k}if(i|0){f[g+12>>2]=i;f[g+4>>2]=k|f[i+4>>2]&2097412}jl(g);i=f[(f[sa>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[ea>>2]=i;ni(sa,42710,ea)}ea=g+4|0;f[ea>>2]=f[ea>>2]|f[ra>>2]&1;d[g+36>>1]=d[ya+36>>1]|0}while(0);do if((ia|0)==471){if(i|0)ig(g,i);if(!u){g=0;break}ig(g,u);g=0}while(0);i=xn(c,g,259)|0;yn(a,c,i);k=f[xa>>2]|0;g=k+(e*48|0)|0;if(!q)break;f[k+(n*48|0)+16>>2]=e;ca=k+(e*48|0)+8|0;d[k+(n*48|0)+8>>1]=d[ca>>1]|0;ea=k+(e*48|0)+14|0;da=b[ea>>0]|0;f[k+(i*48|0)+16>>2]=e;d[k+(i*48|0)+8>>1]=d[ca>>1]|0;b[ea>>0]=da+2<<24>>24}}while(0);if((b[D>>0]|0)==44){i=b[ya>>0]|0;F:do switch(i<<24>>24){case -99:{i=f[ya+20>>2]|0;if((i|0)!=0?(f[i>>2]|0)==2:0){o=i+4|0;p=i+24|0;k=f[p>>2]|0;G:do if(((b[k>>0]|0)==-98?f[(f[k+44>>2]|0)+56>>2]|0:0)?(ga=f[ya+8>>2]|0,ea=b[ga>>0]|0,fa=ea&255,ea<<24>>24):0){i=(h[1232+fa>>0]|0)+-109|0;if(!i){l=47756;m=ga;do{m=m+1|0;l=l+1|0;ea=b[m>>0]|0;i=(h[1232+(ea&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(ea<<24>>24==0|(i|0)!=0))}H:do if(i){n=fa|32;switch((n&255)<<24>>24){case 103:{m=41511;i=ga;do{i=i+1|0;m=m+1|0;ia=b[i>>0]|0;l=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(ia<<24>>24==0|(l|0)!=0));if(!l){i=1;break H}else break G}case 108:{ia=496;break}case 114:break;default:break G}if((ia|0)==496){i=41520;l=ga;do{l=l+1|0;i=i+1|0;ia=b[l>>0]|0;m=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(ia<<24>>24==0|(m|0)!=0));if(!m){i=2;break}if((n|0)!=114)break G}m=56954;i=ga;do{i=i+1|0;m=m+1|0;ia=b[i>>0]|0;l=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(ia<<24>>24==0|(l|0)!=0));if(!l)i=3;else break G}else i=0;while(0);i=b[22992+(i<<3)+4>>0]|0;m=1;n=f[o>>2]|0;ia=524;break F}while(0);k=f[o>>2]|0;if((b[k>>0]|0)==-98?(ha=f[k+44>>2]|0,(f[ha+56>>2]|0)!=0):0){i=ha+64|0;while(1){i=f[i>>2]|0;if((f[i>>2]|0)==(na|0))break;else i=i+24|0}i=f[i+8>>2]|0;l=f[(f[i>>2]|0)+72>>2]|0;if(l|0?(ja=mb[l&127](i,2,f[ya+8>>2]|0,ka,la)|0,(ja|0)>149):0){i=ja&255;m=1;n=f[p>>2]|0;ia=524;break F}ia=554}else ia=554}else ia=554;break}case 51:case -100:case 52:{k=f[za>>2]|0;l=f[ya+16>>2]|0;if((b[k>>0]|0)==-98)m=(f[(f[k+44>>2]|0)+56>>2]|0)!=0&1;else m=0;if(l)if((b[l>>0]|0)==-98){la=(f[(f[l+44>>2]|0)+56>>2]|0)==0;n=la?l:k;k=la?k:l;m=m+((la^1)&1)|0}else n=l;else n=0;switch(i<<24>>24){case 52:{i=68;break}case -100:{i=69;break}case 51:{i=70;break}default:i=0}if((m|0)>0)ia=524;else ia=554;break}default:{}}while(0);if((ia|0)==524)while(1){v=m;m=m+-1|0;l=n;o=(n|0)==0;if(o){s=0;u=0}else{s=Fn(ma,l)|0;u=ba()|0}r=k;if(!k){p=0;q=0}else{p=Fn(ma,r)|0;q=ba()|0}if((p&s|0)==0&(q&u|0)==0){if(o)p=0;else p=Bk(na,l,0,0)|0;o=f[sa>>2]|0;I:do if(f[o+272>>2]|0)if(!(b[o+81>>0]|0))ia=542;else ia=545;else{do if((j[o+276>>1]|0)>=48){l=o+300|0;g=f[l>>2]|0;if(g|0){f[l>>2]=f[g>>2];ia=o+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=543;break I}l=o+296|0;g=f[l>>2]|0;if(!g){g=o+292|0;break}else{f[l>>2]=f[g>>2];ia=o+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=543;break I}}else g=o+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;ia=542}while(0);if((ia|0)==542){g=Dc(o,48,0)|0;ia=543}do if((ia|0)==543){ia=0;if(!g)ia=545;else{A=g;B=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));b[g>>0]=46;d[g+34>>1]=-1;if(p|0){f[g+16>>2]=p;f[g+4>>2]=f[p+4>>2]&2097412}jl(g);l=f[(f[sa>>2]|0)+120>>2]|0;if((l|0)<(f[g+24>>2]|0)){f[oa>>2]=l;ni(sa,42710,oa)}if(!(f[ra>>2]&1))break;la=g+4|0;f[la>>2]=f[la>>2]|1}}while(0);if((ia|0)==545)if(!p)g=0;else{ig(f[sa>>2]|0,p);g=0}la=xn(c,g,3)|0;ia=f[xa>>2]|0;g=ia+(la*48|0)+32|0;f[g>>2]=s;f[g+4>>2]=u;f[ia+(la*48|0)+20>>2]=f[r+28>>2];f[ia+(la*48|0)+28>>2]=d[r+32>>1];d[ia+(la*48|0)+12>>1]=64;b[ia+(la*48|0)+15>>0]=i;g=f[xa>>2]|0;f[g+(la*48|0)+16>>2]=e;d[g+(la*48|0)+8>>1]=d[g+(e*48|0)+8>>1]|0;ja=g+(e*48|0)+14|0;b[ja>>0]=(b[ja>>0]|0)+1<<24>>24;ja=g+(e*48|0)+10|0;d[ja>>1]=d[ja>>1]|8;ja=g+(e*48|0)+40|0;ka=f[ja+4>>2]|0;la=ia+(la*48|0)+40|0;f[la>>2]=f[ja>>2];f[la+4>>2]=ka;g=g+(e*48|0)|0}if((v|0)<=1){ia=554;break}else{la=n;n=k;k=la}}if((ia|0)==554){if((b[D>>0]|0)!=44)break;i=b[ya>>0]|0}switch(i<<24>>24){case 45:case 53:{m=f[za>>2]|0;k=b[m>>0]|0;if(k<<24>>24==-92)i=b[m+38>>0]|0;else i=k;switch(i<<24>>24){case -91:{i=m+20|0;ia=562;break}case 127:{i=f[m+20>>2]|0;ia=562;break}default:{}}do if((ia|0)==562){r=f[f[i>>2]>>2]|0;if((r|0)>1){s=ya+16|0;l=f[s>>2]|0;i=b[l>>0]|0;if(i<<24>>24==-92)i=b[l+38>>0]|0;switch(i<<24>>24){case -91:{i=l+20|0;ia=568;break}case 127:{i=f[l+20>>2]|0;ia=568;break}default:i=1}if((ia|0)==568)i=f[f[i>>2]>>2]|0;if((i|0)==(r|0)){if(f[m+4>>2]&2048|0?f[l+4>>2]&2048|0:0)break;p=sa+36|0;q=ya+36|0;g=0;i=m;while(1){J:do switch(k<<24>>24){case 127:{m=f[sa>>2]|0;K:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))ia=584;else{l=0;break J}else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];oa=m+284|0;f[oa>>2]=(f[oa>>2]|0)+1;break K}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];oa=m+284|0;f[oa>>2]=(f[oa>>2]|0)+1;break K}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;ia=584}while(0);if((ia|0)==584){ia=0;l=Dc(m,48,0)|0}if(!l)l=0;else{A=l;B=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));b[l>>0]=-90;d[l+34>>1]=-1;jl(l);k=f[(f[sa>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[ta>>2]=k;ni(sa,42710,ta)}d[l+32>>1]=g;f[l+12>>2]=i}break}case -91:{i=f[(f[i+20>>2]|0)+4+(g*20|0)>>2]|0;if(!i)l=0;else ia=590;break}default:ia=590}while(0);if((ia|0)==590){ia=0;l=Bk(f[sa>>2]|0,i,0,0)|0}i=f[s>>2]|0;L:do switch(b[i>>0]|0){case 127:{n=f[sa>>2]|0;M:do if(f[n+272>>2]|0)if(!(b[n+81>>0]|0))ia=602;else{m=0;break L}else{do if((j[n+276>>1]|0)>=48){k=n+300|0;m=f[k>>2]|0;if(m|0){f[k>>2]=f[m>>2];oa=n+284|0;f[oa>>2]=(f[oa>>2]|0)+1;break M}k=n+296|0;m=f[k>>2]|0;if(!m){k=n+292|0;break}else{f[k>>2]=f[m>>2];oa=n+284|0;f[oa>>2]=(f[oa>>2]|0)+1;break M}}else k=n+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;ia=602}while(0);if((ia|0)==602){ia=0;m=Dc(n,48,0)|0}if(!m)m=0;else{A=m;B=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));b[m>>0]=-90;d[m+34>>1]=-1;jl(m);k=f[(f[sa>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[ua>>2]=k;ni(sa,42710,ua)}d[m+32>>1]=g;f[m+12>>2]=i}break}case -91:{i=f[(f[i+20>>2]|0)+4+(g*20|0)>>2]|0;if(!i)m=0;else ia=608;break}default:ia=608}while(0);if((ia|0)==608){ia=0;m=Bk(f[sa>>2]|0,i,0,0)|0}o=b[ya>>0]|0;if(o<<24>>24==44?(f[p>>2]|0)==0:0){i=kl(f[sa>>2]|0,l,m)|0;if(!i)i=0;else ia=634}else ia=611;N:do if((ia|0)==611){ia=0;n=f[sa>>2]|0;O:do if(f[n+272>>2]|0)if(!(b[n+81>>0]|0))ia=621;else i=n;else{do if((j[n+276>>1]|0)>=48){k=n+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];ia=n+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=622;break O}k=n+296|0;i=f[k>>2]|0;if(!i){i=n+292|0;break}else{f[k>>2]=f[i>>2];ia=n+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=622;break O}}else i=n+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;ia=621}while(0);if((ia|0)==621){i=Dc(n,48,0)|0;ia=622}do if((ia|0)==622){ia=0;if(!i){i=f[sa>>2]|0;break}A=i;B=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));b[i>>0]=o;d[i+34>>1]=-1;if(!m)k=0;else{f[i+16>>2]=m;k=f[m+4>>2]&2097412;f[i+4>>2]=k}if(l|0){f[i+12>>2]=l;f[i+4>>2]=k|f[l+4>>2]&2097412}jl(i);ia=634;break N}while(0);if(l|0)ig(i,l);if(!m){i=0;break}ig(i,m);i=0}while(0);if((ia|0)==634){ia=0;k=f[(f[sa>>2]|0)+120>>2]|0;if((k|0)<(f[i+24>>2]|0)){f[va>>2]=k;ni(sa,42710,va)}oa=i+4|0;f[oa>>2]=f[oa>>2]|f[ra>>2]&1;d[i+36>>1]=d[q>>1]|0}yn(a,c,xn(c,i,1)|0);g=g+1|0;if((g|0)==(r|0))break;i=f[za>>2]|0;k=b[i>>0]|0}va=b[D>>0]|0;g=f[xa>>2]|0;ua=g+(e*48|0)+10|0;d[ua>>1]=d[ua>>1]|6;d[g+(e*48|0)+12>>1]=0;if(va<<24>>24==44)g=g+(e*48|0)|0;else break v}}}while(0);i=b[ya>>0]|0;break}default:{}}if(((i<<24>>24==49?(f[g+24>>2]|0)==0:0)?(wa=f[za>>2]|0,(b[wa>>0]|0)==-91):0)?(f[(f[ya+20>>2]|0)+52>>2]|0)==0:0){k=0;g=-91;i=wa;while(1){if(g<<24>>24==-92)g=b[i+38>>0]|0;switch(g<<24>>24){case -91:{g=i+20|0;ia=651;break}case 127:{g=f[i+20>>2]|0;ia=651;break}default:g=1}if((ia|0)==651){ia=0;g=f[f[g>>2]>>2]|0}if((k|0)>=(g|0))break v;wa=xn(c,ya,2)|0;g=k+1|0;f[(f[xa>>2]|0)+(wa*48|0)+24>>2]=g;yn(a,c,wa);i=f[xa>>2]|0;f[i+(wa*48|0)+16>>2]=e;d[i+(wa*48|0)+8>>1]=d[i+(e*48|0)+8>>1]|0;i=i+(e*48|0)+14|0;b[i>>0]=(b[i>>0]|0)+1<<24>>24;i=f[za>>2]|0;k=g;g=b[i>>0]|0}}}}while(0);e=(f[xa>>2]|0)+(e*48|0)+32|0;ya=e;za=f[ya+4>>2]|pa;f[e>>2]=f[ya>>2]|qa;f[e+4>>2]=za;t=Aa;return}function zn(a,c){a=a|0;c=c|0;if((b[c>>0]|0)!=-99){c=0;return c|0}if(f[c+4>>2]&524288|0){c=0;return c|0}b[a+20>>0]=0;c=2;return c|0}function An(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;t=a+24|0;x=a+4|0;y=a+18|0;z=a+12|0;A=a+20|0;C=a+17|0;D=a+8|0;u=a+16|0;v=a+28|0;w=a+72|0;e=f[t>>2]|0;g=f[x>>2]|0;c=b[y>>0]|0;a:while(1){q=(c&255)+-1|0;s=d[a+72+(q<<1)>>1]|0;q=f[a+28+(q<<2)>>2]|0;r=s<<16>>16;s=s<<16>>16==-2;c=g;while(1){p=c+12|0;if((e|0)<(f[p>>2]|0)){o=(f[c+20>>2]|0)+(e*48|0)|0;while(1){do if((f[o+20>>2]|0)==(q|0)?(f[o+28>>2]|0)==(r|0):0){if(s){i=f[(f[o>>2]|0)+12>>2]|0;g=f[z>>2]|0;b:do if(!i)i=0;else while(1){j=f[i+4>>2]|0;if(!(j&4096))break b;if(!(j&262144))i=i+12|0;else i=(f[i+20>>2]|0)+4|0;i=f[i>>2]|0;if(!i){i=0;break}}while(0);c:do if(!g)g=0;else while(1){j=f[g+4>>2]|0;if(!(j&4096))break c;if(!(j&262144))g=g+12|0;else g=(f[g+20>>2]|0)+4|0;g=f[g>>2]|0;if(!g){g=0;break}}while(0);if(Ck(0,i,g,q)|0)break}if((h[y>>0]|0)>=2?f[(f[o>>2]|0)+4>>2]&1|0:0)break;n=o+12|0;g=d[n>>1]|0;if((g&2048)!=0?(B=b[C>>0]|0,(B&255)<11):0){i=f[(f[o>>2]|0)+16>>2]|0;j=f[i+4>>2]|0;if(j&4096)do{if(!(j&262144))i=i+12|0;else i=(f[i+20>>2]|0)+4|0;i=f[i>>2]|0;j=f[i+4>>2]|0}while((j&4096|0)!=0);if((b[i>>0]|0)==-98){m=B&255;d:do if(!(B<<24>>24))j=0;else{l=f[i+28>>2]|0;k=i+32|0;j=0;do{if((f[a+28+(j<<2)>>2]|0)==(l|0)?(d[a+72+(j<<1)>>1]|0)==(d[k>>1]|0):0)break d;j=j+1|0}while(j>>>0>>0)}while(0);if((j|0)==(m|0)){f[a+28+(m<<2)>>2]=f[i+28>>2];d[a+72+(m<<1)>>1]=d[i+32>>1]|0;b[C>>0]=B+1<<24>>24;g=d[n>>1]|0}}}i=g&65535;if(f[A>>2]&i|0){if((i&256|0)==0&(f[D>>2]|0)!=0){k=f[f[c>>2]>>2]|0;g=f[o>>2]|0;if(!(Gn(g,b[u>>0]|0)|0))break;i=f[g+12>>2]|0;j=f[g+16>>2]|0;do if(!(f[i+4>>2]&256)){if(j|0?f[j+4>>2]&256|0:0){g=Zk(k,j)|0;E=51;break}g=Zk(k,i)|0;if(!g){g=Zk(k,j)|0;E=51}}else{g=Zk(k,i)|0;E=51}while(0);if((E|0)==51){E=0;if(!g)g=f[(f[k>>2]|0)+8>>2]|0}i=f[g>>2]|0;j=f[D>>2]|0;m=b[i>>0]|0;g=(h[1232+(m&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0;if(!(m<<24>>24==0|(g|0)!=0))do{i=i+1|0;j=j+1|0;m=b[i>>0]|0;g=(h[1232+(m&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(m<<24>>24==0|(g|0)!=0));if(g|0)break;g=d[n>>1]|0}if(!(g&130))break a;g=f[(f[o>>2]|0)+16>>2]|0;if((b[g>>0]|0)!=-98)break a;if((f[g+28>>2]|0)!=(f[v>>2]|0))break a;if((d[g+32>>1]|0)!=(d[w>>1]|0))break a}}while(0);e=e+1|0;if((e|0)<(f[p>>2]|0))o=o+48|0;else break}}c=f[c+4>>2]|0;if(!c)break;else e=0}c=b[y>>0]|0;if((c&255)>=(h[C>>0]|0)){c=0;E=67;break}g=f[a>>2]|0;c=c+1<<24>>24;b[y>>0]=c;e=0}if((E|0)==67)return c|0;f[x>>2]=c;f[t>>2]=e+1;E=o;return E|0}function Bn(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=t;t=t+16|0;p=L;I=L+4|0;s=f[a>>2]|0;K=f[s>>2]|0;r=f[a+4>>2]|0;G=f[a+12>>2]|0;s=f[s+4>>2]|0;y=h[G+16>>0]|0;C=f[a+8>>2]|0;H=r+20|0;q=r+12|0;n=f[q>>2]|0;if((n|0)>0){o=f[s+8+(y*72|0)+40>>2]|0;l=0;k=0;m=f[H>>2]|0;while(1){if((f[m+20>>2]|0)==(o|0)?(F=m+32|0,(f[F>>2]&g|0)==0?(f[F+4>>2]&i|0)==0:0):0)k=k+((d[m+12>>1]&-2049)<<16>>16!=0&1)|0;l=l+1|0;if((l|0)==(n|0)){o=k;break}else m=m+48|0}}else o=0;if(!C)z=0;else{n=f[C>>2]|0;a:do if((n|0)>0){m=s+8+(y*72|0)+40|0;k=0;do{l=f[C+4+(k*20|0)>>2]|0;if((b[l>>0]|0)!=-98)break a;if((f[l+28>>2]|0)!=(f[m>>2]|0))break a;k=k+1|0}while((k|0)<(n|0))}else k=0;while(0);z=(k|0)==(n|0)?n:0}m=f[K>>2]|0;n=(o*20|0)+80+(z<<3)|0;b:do if(!m){F=KA(n|0,0,-1,-1)|0;D=ba()|0;if(!(D>>>0>0|(D|0)==0&F>>>0>2147483390)){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](n)|0;E=38;break}k=ib[f[37372>>2]&255](n)|0;if((f[18194]|0)>>>0>>0)f[18194]=n;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){F=f[18187]|0;D=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;x=ba()|0;f[17976]=((x|0)<0|(x|0)==0&D>>>0<=F>>>0)&1}l=ib[f[37356>>2]&255](k)|0;if(l){k=ib[f[37368>>2]&255](l)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;F=l}else F=l}else E=39}else E=39}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){E=39;break}}else{do if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0))){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];E=m+284|0;f[E>>2]=(f[E>>2]|0)+1;E=38;break b}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];E=m+284|0;f[E>>2]=(f[E>>2]|0)+1;E=38;break b}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,n,0)|0;E=38}while(0);if((E|0)==38)if(!k)E=39;else F=k;if((E|0)==39){ni(K,44870,p);K=7;t=L;return K|0}_A(F|0,0,n|0)|0;w=F+80|0;x=w+(o*12|0)|0;f[F>>2]=o;f[F+8>>2]=z;D=F+4|0;f[D>>2]=w;f[F+12>>2]=x;f[F+16>>2]=x+(z<<3);f[F+72>>2]=r;f[F+76>>2]=K;u=f[q>>2]|0;if((u|0)>0){v=s+8+(y*72|0)+36|0;s=f[s+8+(y*72|0)+40>>2]|0;l=0;k=0;q=f[H>>2]|0;r=0;while(1){do if(((f[q+20>>2]|0)==(s|0)?(y=q+32|0,(f[y>>2]&g|0)==0?(f[y+4>>2]&i|0)==0:0):0)?(A=d[q+12>>1]|0,B=A&65535,(B&63487|0)!=0):0){if(b[v>>0]&8?!((B&384|0)==0?1:(f[(f[q>>2]|0)+4>>2]&1|0)!=0):0)break;f[w+(l*12|0)>>2]=f[q+28>>2];f[w+(l*12|0)+8>>2]=r;p=A&8191;p=p<<16>>16==1?2:p;m=p&65535;c:do if(p<<16>>16!=64){if(m&384|0){m=w+(l*12|0)+4|0;if(p<<16>>16==256){b[m>>0]=71;break}else{b[m>>0]=72;break}}o=w+(l*12|0)+4|0;b[o>>0]=p;if(m&60){n=f[(f[q>>2]|0)+16>>2]|0;m=b[n>>0]|0;if(m<<24>>24==-92)m=b[n+38>>0]|0;switch(m<<24>>24){case -91:{m=n+20|0;break}case 127:{m=f[n+20>>2]|0;break}default:break c}if((f[f[m>>2]>>2]|0)>=2){k=r>>>0<16?(1<>0]=8;break c}case 4:{b[o>>0]=32;break c}default:break c}}}}else b[w+(l*12|0)+4>>0]=b[q+15>>0]|0;while(0);l=l+1|0}while(0);r=r+1|0;if((r|0)==(u|0)){g=k;break}else q=q+48|0}}else g=0;if((z|0)<=0){if(!F){K=7;t=L;return K|0}}else{k=0;do{f[x+(k<<3)>>2]=d[(f[C+4+(k*20|0)>>2]|0)+32>>1];b[x+(k<<3)+4>>0]=b[C+4+(k*20|0)+12>>0]|0;k=k+1|0}while((k|0)!=(z|0))}d[G+18>>1]=0;f[G+36>>2]=1024;d[G+40>>1]=0;b[G+28>>0]=0;B=f[F>>2]|0;k=f[K>>2]|0;o=G+44|0;d:do if((B|0)>(j[o>>1]|0)){p=B+7&-8;n=p<<2;e:do if(f[k+272>>2]|0)if(!(b[k+81>>0]|0))E=80;else E=94;else{do if(!(0<0|(0==0?(j[k+276>>1]|0)>>>0>>0:0))){l=k+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];E=k+284|0;f[E>>2]=(f[E>>2]|0)+1;E=81;break e}l=k+296|0;m=f[l>>2]|0;if(!m){l=k+292|0;break}else{f[l>>2]=f[m>>2];E=k+284|0;f[E>>2]=(f[E>>2]|0)+1;E=81;break e}}else l=k+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;E=80}while(0);if((E|0)==80){m=Dc(k,n,0)|0;E=81}do if((E|0)==81){if(!m){k=f[K>>2]|0;if(!k)break;else{E=94;break}}l=G+48|0;YA(m|0,f[l>>2]|0,j[o>>1]<<2|0)|0;n=f[l>>2]|0;do if((n|0)!=(G+56|0)){if(f[k+480>>2]|0){Kc(k,n);break}C=n;if((f[k+304>>2]|0)>>>0<=C>>>0?(f[k+308>>2]|0)>>>0>C>>>0:0){C=k+300|0;f[n>>2]=f[C>>2];f[C>>2]=n;break}if(n|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{C=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[l>>2]=m;d[o>>1]=p;break d}while(0);if((E|0)==94){if(f[k+480>>2]|0){Kc(k,F);K=7;t=L;return K|0}K=F;if((f[k+304>>2]|0)>>>0<=K>>>0?(f[k+308>>2]|0)>>>0>K>>>0:0){K=k+300|0;f[F>>2]=f[K>>2];f[K>>2]=F;K=7;t=L;return K|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](F);K=7;t=L;return K|0}else{K=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);K=7;t=L;return K|0}}while(0);l=Yn(a,c,e,-1,-1,0,F,g,I)|0;if(!l){A=G;x=~c;y=~e;z=f[A>>2]&x;A=f[A+4>>2]&y;if(!((z|0)==0&(A|0)==0)){if(f[I>>2]|0){l=Yn(a,c,e,-1,-1,1,F,g,I)|0;n=G;k=f[n>>2]&x;n=f[n+4>>2]&y;m=(k|0)==0&(n|0)==0&1;if(!l){w=k;E=106}else k=m}else{m=0;w=0;n=0;E=106}f:do if((E|0)==106){v=(B|0)>0;k=m;o=0;l=0;while(1){if(!v){l=0;break f}q=f[H>>2]|0;r=f[D>>2]|0;while(1){p=0;u=-1;s=-1;do{E=q+((f[r+(p*12|0)+8>>2]|0)*48|0)+32|0;i=f[E>>2]&x;E=f[E+4>>2]&y;C=(E>>>0>l>>>0|(E|0)==(l|0)&i>>>0>o>>>0)&(E>>>0>>0|(E|0)==(u|0)&i>>>0>>0);s=C?i:s;u=C?E:u;p=p+1|0}while((p|0)!=(B|0));if((s|0)==-1&(u|0)==-1){l=0;break f}if((s|0)==(z|0)&(u|0)==(A|0)|(s|0)==(w|0)&(u|0)==(n|0)){l=u;o=s}else break}l=Yn(a,c,e,s|c,u|e,0,F,g,I)|0;E=G;if((f[E>>2]|0)==(c|0)?(f[E+4>>2]|0)==(e|0):0){k=(f[I>>2]|0)==0?1:k;m=1}if(!l){o=s;l=u}else break}}while(0);if(!(m|l)){l=Yn(a,c,e,c,e,0,F,g,I)|0;k=(f[I>>2]|0)==0?1:k}if(!(k|l))l=Yn(a,c,e,c,e,1,F,g,I)|0}else l=0}do if(f[F+28>>2]|0?(J=f[F+24>>2]|0,J|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](J);break}else{I=ib[f[37368>>2]&255](J)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](J);break}while(0);k=f[K>>2]|0;if(k|0){if(f[k+480>>2]|0){Kc(k,F);K=l;t=L;return K|0}K=F;if((f[k+304>>2]|0)>>>0<=K>>>0?(f[k+308>>2]|0)>>>0>K>>>0:0){K=k+300|0;f[F>>2]=f[K>>2];f[K>>2]=F;K=l;t=L;return K|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](F);K=l;t=L;return K|0}else{K=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);K=l;t=L;return K|0}return 0} -function Nt(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=t;t=t+16|0;s=x;v=f[d>>2]|0;w=(f[d+28>>2]|0)+((U(c*3|0,f[d+4>>2]|0)|0)<<2)|0;e=f[v>>2]|0;if(b[a+34>>0]|0?(f[f[a+8>>2]>>2]|0)!=1:0){a=e+24|0;if((f[a>>2]|0)<=0){w=0;t=x;return w|0}d=f[v+64>>2]|0;c=0;do{v=c*3|0;f[w+(v+1<<2)>>2]=d;f[w+(v+2<<2)>>2]=d;c=c+1|0}while((c|0)<(f[a>>2]|0));c=0;t=x;return c|0}f[s>>2]=0;u=a+40|0;if(!(f[u>>2]|0)){o=v+32|0;q=o;p=f[q>>2]|0;q=f[q+4>>2]|0;d=f[a+8>>2]|0;a:do if(!d)d=a;else{c=a;while(1){if((f[d>>2]|0)!=1){d=c;break a}c=f[d+8>>2]|0;if(!c)break;else{n=d;d=c;c=n}}}while(0);l=d+24|0;n=l;m=f[n>>2]|0;n=f[n+4>>2]|0;j=d+32|0;k=b[j>>0]|0;a=e+24|0;c=d;do{if((f[c>>2]|0)==5)g=c;else g=f[c+16>>2]|0;e=Fd((f[a>>2]|0)*12|0)|0;f[g+40>>2]=e;if(!e){h=16;break}_A(e|0,0,(f[a>>2]|0)*12|0)|0;c=f[c+12>>2]|0}while((c|0)!=0);if((h|0)==16){w=7;t=x;return w|0}Xt(v,d,s);i=v+6|0;c=f[s>>2]|0;b:do if((b[i>>0]|0)==0&(c|0)==0){e=v+7|0;g=v+12|0;h=v+88|0;while(1){if((b[e>>0]|0)==0?(r=f[g>>2]|0,r|0):0){c=f[r>>2]|0;y=r+128|0;z=f[y+4>>2]|0;if((z|0)>0|(z|0)==0&(f[y>>2]|0)>>>0>0)Hi(c,r);z=fg(r)|0;f[r+20>>2]=770837923;f[r+36>>2]=-1;f[r+40>>2]=0;b[r+142>>0]=2;f[r+44>>2]=0;f[r+32>>2]=1;b[r+143>>0]=-1;f[r+48>>2]=0;y=r+64|0;f[y>>2]=0;f[y+4>>2]=0;if((z|0)==3082|(b[c+81>>0]|0)!=0)Di(c)}Yt(v,d,s);z=b[j>>0]|0;b[i>>0]=z;b[e>>0]=1;f[h>>2]=1;A=l;c=f[A+4>>2]|0;y=o;f[y>>2]=f[A>>2];f[y+4>>2]=c;if(!((z<<24>>24==0?(f[d>>2]|0)==1:0)?(Ot(v,s)|0)!=0:0)){c=f[s>>2]|0;if(c|0)break b;if(b[i>>0]|0){c=0;break b}Zt(d);c=f[s>>2]|0;if(!((c|0)==0&(b[i>>0]|0)==0))break b}}}while(0);b[i>>0]=0;A=o;f[A>>2]=p;f[A+4>>2]=q;if(!(k<<24>>24)){Xt(v,d,s);do{Yt(v,d,s);A=l;c=f[s>>2]|0}while(((f[A>>2]|0)!=(m|0)?1:(f[A+4>>2]|0)!=(n|0))&(c|0)==0)}else b[j>>0]=k;if(c){A=c;t=x;return A|0}}else a=e+24|0;if((f[a>>2]|0)<=0){A=0;t=x;return A|0}d=f[u>>2]|0;c=0;do{A=c*3|0;z=A+1|0;f[w+(z<<2)>>2]=f[d+(z<<2)>>2];A=A+2|0;f[w+(A<<2)>>2]=f[d+(A<<2)>>2];c=c+1|0}while((c|0)<(f[a>>2]|0));c=0;t=x;return c|0}function Ot(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=t;t=t+32|0;z=J+24|0;G=J+20|0;A=J+16|0;B=J+12|0;C=J+8|0;D=J+4|0;I=J;e=f[c>>2]|0;f[I>>2]=e;if(e|0){c=0;I=e;I=(I|0)==0;I=c&I;I=I&1;t=J;return I|0}H=a+28|0;if(f[H>>2]|0?(y=Qt(0,a)|0,f[I>>2]=y,(y|0)==0):0){f[G>>2]=0;a:do if(f[H>>2]|0){e=f[a>>2]|0;u=f[e+36>>2]|0;g=f[u>>2]|0;v=a+12|0;w=Jp(f[v>>2]|0,0)|0;x=ba()|0;y=e+24|0;h=f[y>>2]|0;if((h|0)>0){q=e+32|0;r=a+20|0;s=g+20|0;p=g+16|0;n=0;g=h;while(1){if(!(b[(f[q>>2]|0)+n>>0]|0)){i=f[v>>2]|0;o=n+1|0;h=(i|0)==0;do if(h)e=37592;else{e=f[i+104>>2]|0;if(e|0?o>>>0<(j[i+140>>1]|0)>>>0:0){e=e+(o*40|0)|0;break}e=f[i>>2]|0;f[e+64>>2]=25;Bg(e,25);e=37592}while(0);g=d[e+8>>1]|0;if((g&514)==514?(b[e+10>>0]|0)==1:0)k=f[e+16>>2]|0;else if(!(g&1))k=Ic(e,1)|0;else k=0;if(!h){g=f[i>>2]|0;h=i+40|0;e=f[h>>2]|0;if((e|0)==3082|(b[g+81>>0]|0)!=0){Di(g);e=7}else e=f[g+68>>2]&e;f[h>>2]=e}g=f[r>>2]|0;h=f[u>>2]|0;f[z>>2]=0;e=lb[f[h+12>>2]&127](u,k,-1,z)|0;do if(!e){f[f[z>>2]>>2]=u;if((f[h>>2]|0)>0?(E=jb[f[h+24>>2]&255](f[z>>2]|0,g)|0,E|0):0){ib[f[h+16>>2]&255](f[z>>2]|0)|0;f[z>>2]=0;e=E;g=0;F=29;break}g=f[z>>2]|0;f[G>>2]=0;m=g;do{f[A>>2]=0;f[B>>2]=0;f[C>>2]=0;f[D>>2]=0;e=nb[f[s>>2]&127](m,z,A,B,C,D)|0;f[G>>2]=e;h=f[H>>2]|0;if((e|0)==0&(h|0)!=0){e=0;do{l=f[h>>2]|0;k=f[h+4>>2]|0;do if((k|0)==(n|0)?1:(k|0)>=(f[y>>2]|0)){i=f[D>>2]|0;if(!((f[l+12>>2]|0)==0|(i|0)==0)){i=0;break}k=f[l+4>>2]|0;K=f[A>>2]|0;if((k|0)!=(K|0)?!((k|0)<(K|0)&(f[l+8>>2]|0)!=0):0){i=0;break}if(Hz(f[z>>2]|0,f[l>>2]|0,k)|0){i=0;break}Rt(h+12|0,w,x,n,0,i,((i|0)<0)<<31>>31,G)|0;i=f[G>>2]|0;e=i}else i=0;while(0);h=f[h+8>>2]|0}while((i|0)==0&(h|0)!=0)}}while(!(e|0))}else{g=f[z>>2]|0;F=29}while(0);if((F|0)==29){F=0;f[G>>2]=e}if(g|0)ib[f[p>>2]&255](g)|0;if((e|0)!=101)break a;f[G>>2]=0;e=o;g=f[y>>2]|0}else e=n+1|0;if((e|0)<(g|0))n=e;else break}}e=f[H>>2]|0;if(e){h=e;e=0;do{g=h+12|0;if(!(f[g>>2]|0))g=0;else{e=St(g,0,0)|0;f[G>>2]=e;g=e}h=f[h+8>>2]|0}while((g|0)==0&(h|0)!=0)}else e=0}else e=0;while(0);f[I>>2]=e}i=(Tt(a,f[a+16>>2]|0,I)|0)==0;e=f[H>>2]|0;if(e|0)do{g=e+12|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{K=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;e=f[e+8>>2]|0}while((e|0)!=0);K=f[I>>2]|0;f[c>>2]=K;I=i;K=(K|0)==0;K=I&K;K=K&1;t=J;return K|0}function Pt(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=t;t=t+16|0;l=n;m=d+4|0;k=f[m>>2]|0;j=U(c*3|0,k)|0;if((k|0)<=0){m=0;t=n;return m|0}k=d+28|0;i=0;do{c=Lt(f[d>>2]|0,a,i,l)|0;g=f[l>>2]|0;if(!g)e=0;else{h=b[g>>0]|0;if(!(h&254))e=0;else{e=0;do{g=g+1|0;o=h&128;e=(o>>>7^1)+e|0;h=b[g>>0]|0}while((h&254|o|0)!=0)}f[l>>2]=g}f[(f[k>>2]|0)+((i*3|0)+j<<2)>>2]=e;i=i+1|0}while((c|0)==0?(i|0)<(f[m>>2]|0):0);t=n;return c|0}function Qt(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+16|0;i=m;k=c+7|0;if(!(b[k>>0]|0)){a=0;t=m;return a|0}l=c+12|0;e=f[l>>2]|0;do if(!e){h=f[c>>2]|0;g=h+216|0;e=f[g>>2]|0;if(!e){f[i>>2]=f[h+220>>2];e=wd(64616,i)|0;if(!e){h=7;break}h=Ki(f[h+12>>2]|0,e,-1,129,0,l,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}if(h|0)break;e=f[l>>2]|0}else{f[l>>2]=e;f[g>>2]=0}b[c+8>>0]=1;j=13}else j=13;while(0);a:do if((j|0)==13){i=c+32|0;h=f[i>>2]|0;i=f[i+4>>2]|0;do if(!(Op(e,1)|0)){e=f[e+116>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){j=e;f[j>>2]=h;f[j+4>>2]=i;d[g>>1]=4;break}else{bf(e,h,i);break}}while(0);b[k>>0]=0;if((Ei(f[l>>2]|0)|0)==100){a=0;t=m;return a|0}e=f[l>>2]|0;do if(e|0){g=f[e>>2]|0;l=e+128|0;k=f[l+4>>2]|0;if((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)Hi(g,e);h=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;l=e+64|0;f[l>>2]=0;f[l+4>>2]=0;if(!((h|0)==3082|(b[g+81>>0]|0)!=0)){e=f[g+68>>2]&h;if(!e)break;else{h=e;break a}}else{Di(g);h=7;break a}}while(0);if(!(f[(f[c>>2]|0)+40>>2]|0)){b[c+6>>0]=1;h=267;break}else{a=0;t=m;return a|0}}while(0);if(!((a|0)!=0&(h|0)!=0)){a=h;t=m;return a|0}f[a+20>>2]=h;g=f[a>>2]|0;if(!(d[g+8>>1]&1)){a=h;t=m;return a|0}switch(h|0){case 516:{e=44816;break}case 100:{e=44794;break}case 101:{e=44771;break}default:{e=h&255;if(e>>>0<29?(520028155>>>e&1|0)!=0:0)e=f[7984+(e<<2)>>2]|0;else e=44757}}$e(g,e,-1,1,0)|0;a=h;t=m;return a|0}function Rt(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;m=n;j=f[a>>2]|0;f[m>>2]=j;if(j){l=j+16|0;k=f[l>>2]|0;l=f[l+4>>2]|0;if((k|0)==(b|0)&(l|0)==(c|0))l=6;else{l=LA(b|0,c|0,k|0,l|0)|0;k=ba()|0;f[j>>2]=(f[j>>2]|0)+1;j=l;l=4}}else{j=b;k=c;l=4}if((l|0)==4){j=St(m,j,k)|0;if(!j){j=f[m>>2]|0;l=j+24|0;f[l>>2]=-1;f[l+4>>2]=-1;l=j+32|0;f[l>>2]=0;f[l+4>>2]=0;l=j+16|0;f[l>>2]=b;f[l+4>>2]=c;l=6}}do if((l|0)==6){if((e|0)>0|(e|0)==0&d>>>0>0){c=j+24|0;if(!((f[c>>2]|0)==(d|0)?(f[c+4>>2]|0)==(e|0):0)){j=St(m,1,0)|0;if(j|0)break;j=St(m,d,e)|0;if(j|0)break;j=f[m>>2]|0;c=j+24|0;f[c>>2]=d;f[c+4>>2]=e;e=j+32|0;f[e>>2]=0;f[e+4>>2]=0}}else if(!((e|0)>-1|(e|0)==-1&d>>>0>4294967295)){j=0;break}d=KA(g|0,h|0,2,0)|0;e=ba()|0;j=j+32|0;j=LA(d|0,e|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=St(m,j,ba()|0)|0;if(!j){j=(f[m>>2]|0)+32|0;f[j>>2]=g;f[j+4>>2]=h;j=0}}while(0);f[i>>2]=j;j=f[m>>2]|0;if((j|0)==(f[a>>2]|0)){a=0;t=n;return a|0}f[a>>2]=j;a=1;t=n;return a|0}function St(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=f[a>>2]|0;do if(e){g=f[e+8>>2]|0;if(((f[e>>2]|0)+11|0)>(g|0)){g=g<<1;h=g+40|0;if((Mc()|0)==0?(i=Nc(e,(h|0)>0?h:0,0)|0,i|0):0){f[i+8>>2]=g;f[i+4>>2]=i+40;e=i;break}e=f[a>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{d=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[a>>2]=0;a=7;return a|0}}else{if(Mc()|0){a=7;return a|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](140)|0;if(!e){a=7;return a|0}}else{e=ib[f[37372>>2]&255](140)|0;if((f[18194]|0)>>>0<140)f[18194]=140;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){l=f[18187]|0;k=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;j=ba()|0;f[17976]=((j|0)<0|(j|0)==0&k>>>0<=l>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e){a=7;return a|0}g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}f[e+8>>2]=100;f[e+4>>2]=e+40;f[e>>2]=0}while(0);k=e+4|0;l=(f[k>>2]|0)+(f[e>>2]|0)|0;j=l;i=d;while(1){g=c&255;h=j+1|0;b[j>>0]=g|-128;c=VA(c|0,i|0,7)|0;i=ba()|0;if((c|0)==0&(i|0)==0)break;else j=h}b[j>>0]=g&127;d=(f[e>>2]|0)+(h-l)|0;f[e>>2]=d;b[(f[k>>2]|0)+d>>0]=0;f[a>>2]=e;a=0;return a|0}function Tt(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;v=t;t=t+16|0;s=v+8|0;u=v+4|0;p=v;if(f[d>>2]|0){u=1;u=u&1;t=v;return u|0}switch(f[c>>2]|0){case 3:case 1:{j=c+12|0;do if(Tt(a,f[j>>2]|0,d)|0?(k=c+16|0,Tt(a,f[k>>2]|0,d)|0):0){if(f[d>>2]|0){u=1;u=u&1;t=v;return u|0}if((f[c>>2]|0)!=1){u=1;u=u&1;t=v;return u|0}r=f[c+8>>2]|0;if(r|0?(f[r>>2]|0)==1:0){u=1;u=u&1;t=v;return u|0}g=f[j>>2]|0;if(!g){g=c;e=0}else{h=c;e=0;while(1){e=(f[(f[(f[h+16>>2]|0)+20>>2]|0)+32>>2]|0)+e|0;h=f[g+12>>2]|0;if(!h)break;else{r=g;g=h;h=r}}}h=g+20|0;i=Fd((f[(f[h>>2]|0)+32>>2]|0)+e<<1)|0;if(!i){f[d>>2]=7;break}d=f[h>>2]|0;f[s>>2]=f[d+28>>2];f[u>>2]=f[d+64>>2];g=f[g+8>>2]|0;a:do if(!g)e=1;else{e=1;do{if((f[g>>2]|0)!=1)break a;e=Ut(f[g+4>>2]|0,i,s,u,f[(f[g+16>>2]|0)+20>>2]|0)|0;g=f[g+8>>2]|0}while((e|0)!=0&(g|0)!=0)}while(0);g=f[(f[k>>2]|0)+20>>2]|0;f[s>>2]=f[g+28>>2];f[u>>2]=f[g+64>>2];g=f[j>>2]|0;if((e|0)!=0&(g|0)!=0)do{if((f[g>>2]|0)==1)e=f[g+16>>2]|0;else e=g;e=Ut(f[(f[g+8>>2]|0)+4>>2]|0,i,s,u,f[e+20>>2]|0)|0;g=f[g+12>>2]|0}while((e|0)!=0&(g|0)!=0);if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{u=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}if(e|0){u=1;u=u&1;t=v;return u|0}}while(0);if((f[c>>2]|0)!=1){u=0;u=u&1;t=v;return u|0}u=f[c+8>>2]|0;if(u|0?(f[u>>2]|0)==1:0){u=0;u=u&1;t=v;return u|0}g=f[c+20>>2]|0;i=a+32|0;if(!g){h=c;while(1){c=f[h+16>>2]|0;s=c+24|0;u=i;if((f[s>>2]|0)==(f[u>>2]|0)?(f[s+4>>2]|0)==(f[u+4>>2]|0):0){e=f[c+20>>2]|0;g=e+24|0;c=e+28|0;do if(f[g>>2]|0?(m=f[c>>2]|0,m|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{u=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);f[c>>2]=0;f[e+32>>2]=0;f[g>>2]=0}c=f[h+12>>2]|0;g=f[c+20>>2]|0;if(!g)h=c;else break}}s=c+24|0;u=i;if(!((f[s>>2]|0)==(f[u>>2]|0)?(f[s+4>>2]|0)==(f[u+4>>2]|0):0)){u=0;u=u&1;t=v;return u|0}e=g+24|0;c=g+28|0;do if(f[e>>2]|0?(n=f[c>>2]|0,n|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{u=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}while(0);f[c>>2]=0;f[g+32>>2]=0;f[e>>2]=0;u=0;u=u&1;t=v;return u|0}case 4:{u=Tt(a,f[c+12>>2]|0,d)|0;u=(Tt(a,f[c+16>>2]|0,d)|0|u|0)!=0;u=u&1;t=v;return u|0}case 2:{if(!(Tt(a,f[c+12>>2]|0,d)|0)){u=0;u=u&1;t=v;return u|0}u=(Tt(a,f[c+16>>2]|0,d)|0)==0;u=u&1;t=v;return u|0}default:{do if(f[a+28>>2]|0){q=c+24|0;n=q;r=a+32|0;o=r;e=b[c+34>>0]|0;if((f[n>>2]|0)==(f[o>>2]|0)?(f[n+4>>2]|0)==(f[o+4>>2]|0):0){c=f[c+20>>2]|0;if(!(e<<24>>24))g=c;else{g=c;l=55}}else{if(!(e<<24>>24))break;g=f[c+20>>2]|0;l=55}if((l|0)==55){e=g+24|0;c=g+28|0;do if(f[e>>2]|0?(h=f[c>>2]|0,h|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{o=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[c>>2]=0;f[g+32>>2]=0;f[e>>2]=0}n=g+64|0;b:do if((f[n>>2]|0)>0){c=g+28|0;o=g+32|0;l=0;m=0;h=0;j=-1;while(1){e=f[g+72+(l*24|0)+16>>2]|0;if(e){h=e+12|0;e=f[h>>2]|0;if(!e){l=66;break}a=Fd(f[e>>2]|0)|0;if(!a){e=7;break b}i=f[h>>2]|0;k=f[i+4>>2]|0;if((b[k>>0]|0)<=-1)if((b[k+1>>0]|0)<=-1)if((b[k+2>>0]|0)<=-1)if((b[k+3>>0]|0)>-1)h=4;else{e=28;h=k+4|0;do{w=h;h=h+1|0;e=e+7|0}while(e>>>0<64&(b[w>>0]|0)<0);h=h-k|0}else h=3;else h=2;else h=1;i=(f[i>>2]|0)-h|0;e=a;YA(a|0,k+h|0,i|0)|0;if(!m){j=l;k=a}else{f[s>>2]=e;f[u>>2]=m;f[p>>2]=e;Vt(s,l-j|0,0,1,u,p)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](m);else{w=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m)}e=(f[s>>2]|0)-e|0;if(!e){l=85;break}j=l;k=a;i=e}}else{k=m;i=h}l=l+1|0;if((l|0)>=(f[n>>2]|0)){l=90;break}else{m=k;h=i}}if((l|0)==66){do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{w=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);f[c>>2]=0;f[o>>2]=0;e=0;break}else if((l|0)==85){if(!(f[9328]|0))ob[f[37360>>2]&127](a);else{w=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a)}f[c>>2]=0;f[o>>2]=0;e=0;break}else if((l|0)==90){if((j|0)<=-1){e=0;break}e=f[g+44>>2]|0;if((e|0)<0){f[c>>2]=k;f[o>>2]=i;u=r;w=f[u+4>>2]|0;e=g+16|0;f[e>>2]=f[u>>2];f[e+4>>2]=w;f[g+24>>2]=1;e=0;break}if((e|0)>(j|0)){f[s>>2]=k;f[u>>2]=f[c>>2];h=e-j|0}else{f[s>>2]=f[c>>2];f[u>>2]=k;h=j-e|0}e=Fd(i+8|0)|0;f[p>>2]=e;if(!e){do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{w=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);e=7;break}f[c>>2]=e;if(!(Vt(p,h,0,1,s,u)|0)){e=f[p>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{w=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[c>>2]=0;e=0}else{f[g+24>>2]=1;e=(f[p>>2]|0)-(f[c>>2]|0)|0}f[o>>2]=e;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{w=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);e=0;break}}else{e=0;c=g+28|0}while(0);f[d>>2]=e;w=(f[c>>2]|0)!=0;d=r;s=f[d+4>>2]|0;u=q;f[u>>2]=f[d>>2];f[u+4>>2]=s;w=w&1;t=v;return w|0}while(0);if(b[c+32>>0]|0){w=0;w=w&1;t=v;return w|0}u=c+24|0;w=a+32|0;w=(f[u>>2]|0)==(f[w>>2]|0)?(f[u+4>>2]|0)==(f[w+4>>2]|0):0;w=w&1;t=v;return w|0}}return 0}function Ut(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;r=t;t=t+32|0;l=r+20|0;k=r+16|0;h=r+12|0;m=r+8|0;i=r+4|0;p=r;q=g+64|0;u=(f[q>>2]|0)+a|0;a=(f[e>>2]|0)+a|0;o=g+28|0;n=f[o>>2]|0;f[p>>2]=n;f[i>>2]=n;f[l>>2]=c;s=f[d>>2]|0;j=c;f[k>>2]=j;Vt(k,u,0,0,d,i)|0;k=f[k>>2]|0;f[h>>2]=k;f[m>>2]=k;f[d>>2]=s;f[i>>2]=n;Vt(h,a,1,0,i,d)|0;i=k;a=(f[h>>2]|0)==(i|0);do if((i|0)==(c|0))if(a)a=0;else{a=c;h=0;while(1){i=b[a>>0]|0;a=a+1|0;if(!(h<<24>>24|i))break;else h=i&128}u=a-k|0;YA(n|0,c|0,u|0)|0;f[p>>2]=n+u;f[m>>2]=a;a=1}else{if(!a){Wt(p,l,m);a=1;break}a=c;h=0;while(1){i=b[a>>0]|0;a=a+1|0;if(!(h<<24>>24|i))break;else h=i&128}u=a-j|0;YA(n|0,c|0,u|0)|0;f[p>>2]=n+u;f[l>>2]=a;a=1}while(0);if(!a){t=r;return a|0}c=f[o>>2]|0;s=(f[p>>2]|0)-c+-1|0;u=g+32|0;_A(c+s|0,0,(f[u>>2]|0)-s|0)|0;f[u>>2]=s;f[d>>2]=f[o>>2];f[e>>2]=f[q>>2];t=r;return a|0}function Vt(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;j=f[a>>2]|0;k=f[g>>2]|0;n=f[i>>2]|0;m=k;if((b[m>>0]|0)==1){o=m+1|0;l=b[o>>0]|0;k=l&255;if(k&128){D=b[m+2>>0]|0;k=D<<7|l&127;if(D&128){D=b[m+3>>0]|0;k=D<<14|k&16383;if(D&128){D=b[m+4>>0]|0;k=D<<21|k&2097151;if(!(D&128))l=4;else{k=(b[m+5>>0]&7)<<28|k&268435455;l=5}}else l=3}else l=2}else l=1;p=k;k=o+l|0}else p=0;o=n;if((b[o>>0]|0)==1){n=o+1|0;m=b[n>>0]|0;l=m&255;if(l&128){D=b[o+2>>0]|0;l=D<<7|m&127;if(D&128){D=b[o+3>>0]|0;l=D<<14|l&16383;if(D&128){D=b[o+4>>0]|0;l=D<<21|l&2097151;if(!(D&128))m=4;else{l=(b[o+5>>0]&7)<<28|l&268435455;m=5}}else m=3}else m=2}else m=1;n=n+m|0}else l=0;C=((c|0)<0)<<31>>31;D=(d|0)==0;B=(d|0)!=0;A=(e|0)!=0;m=p;a:while(1){b:while(1){while(1){if((m|0)==(l|0))break b;if((m|0)<(l|0))break;l=b[n>>0]|0;o=l<<24>>24;if(o&254)do{n=n+1|0;l=b[n>>0]|0;z=o;o=l<<24>>24}while((o&254|z&128|0)!=0);if(!(l<<24>>24)){l=121;break a}p=n+1|0;o=b[p>>0]|0;l=o&255;if(l&128){z=b[n+2>>0]|0;l=z<<7|o&127;if(z&128){z=b[n+3>>0]|0;l=z<<14|l&16383;if(z&128){z=b[n+4>>0]|0;l=z<<21|l&2097151;if(!(z&128))n=4;else{l=(b[n+5>>0]&7)<<28|l&268435455;n=5}}else n=3}else n=2}else n=1;n=p+n|0}m=b[k>>0]|0;o=m<<24>>24;if(o&254)do{k=k+1|0;m=b[k>>0]|0;z=o;o=m<<24>>24}while((o&254|z&128|0)!=0);if(!(m<<24>>24)){l=122;break a}p=k+1|0;o=b[p>>0]|0;m=o&255;if(m&128){z=b[k+2>>0]|0;m=z<<7|o&127;if(z&128){z=b[k+3>>0]|0;m=z<<14|m&16383;if(z&128){z=b[k+4>>0]|0;m=z<<21|m&2097151;if(!(z&128))k=4;else{m=(b[k+5>>0]&7)<<28|m&268435455;k=5}}else k=3}else k=2}else k=1;k=p+k|0}s=j;if(m){b[s>>0]=1;o=s+1|0;p=m;m=((m|0)<0)<<31>>31;while(1){l=p&255;j=o+1|0;b[o>>0]=l|-128;p=VA(p|0,m|0,7)|0;m=ba()|0;if((p|0)==0&(m|0)==0)break;else o=j}b[o>>0]=l&127}d=k;m=b[d>>0]|0;l=m&255;do if(!(l&128)){k=1;l=m&255;m=0}else{z=h[d+1>>0]|0;l=z<<7|l&127;if(!(z&128)){k=2;m=0;break}z=h[d+2>>0]|0;l=z<<14|l&16383;if(!(z&128)){k=3;m=0;break}z=h[d+3>>0]|0;l=z<<21|l&2097151;if(!(z&128)){k=4;m=0;break}o=28;p=d+4|0;l=l&268435455;m=0;do{z=p;p=p+1|0;z=h[z>>0]|0;y=WA(z&127|0,0,o|0)|0;l=KA(y|0,ba()|0,l|0,m|0)|0;m=ba()|0;o=o+7|0}while(o>>>0<64&((z&128|0)!=0|0!=0));k=p-k|0}while(0);k=d+k|0;e=KA(l|0,m|0,-2,-1)|0;q=ba()|0;d=n;m=b[d>>0]|0;l=m&255;do if(!(l&128)){n=1;l=m&255;m=0}else{z=h[d+1>>0]|0;l=z<<7|l&127;if(!(z&128)){n=2;m=0;break}z=h[d+2>>0]|0;l=z<<14|l&16383;if(!(z&128)){n=3;m=0;break}z=h[d+3>>0]|0;l=z<<21|l&2097151;if(!(z&128)){n=4;m=0;break}o=28;p=d+4|0;l=l&268435455;m=0;do{z=p;p=p+1|0;z=h[z>>0]|0;y=WA(z&127|0,0,o|0)|0;l=KA(y|0,ba()|0,l|0,m|0)|0;m=ba()|0;o=o+7|0}while(o>>>0<64&((z&128|0)!=0|0!=0));n=p-n|0}while(0);l=KA(l|0,m|0,-2,-1)|0;n=d+n|0;z=e;y=q;o=0;p=0;m=ba()|0;c:while(1){v=k;t=KA(z|0,y|0,c|0,C|0)|0;u=ba()|0;d=s;w=l;x=m;l=p;while(1){if(!((w|0)==(t|0)&(x|0)==(u|0))?(x|0)>(u|0)|(x|0)==(u|0)&w>>>0>t>>>0|(A|((x|0)<(y|0)|(x|0)==(y|0)&w>>>0<=z>>>0)):0){s=d;q=o;r=l}else{q=D?w:z;r=D?x:y;e=j;o=LA(2,0,o|0,l|0)|0;o=KA(o|0,ba()|0,q|0,r|0)|0;l=e;p=ba()|0;while(1){m=o&255;d=l+1|0;b[l>>0]=m|-128;o=VA(o|0,p|0,7)|0;p=ba()|0;if((o|0)==0&(p|0)==0)break;else l=d}b[l>>0]=m&127;s=0;j=e+(d-j)|0}if(((x|0)>(y|0)|(x|0)==(y|0)&w>>>0>z>>>0)&(B|((x|0)>(u|0)|(x|0)==(u|0)&w>>>0>t>>>0)))break;e=n;m=b[e>>0]|0;if((m&255)<2)break c;l=m&255;do if(!(l&128)){n=1;l=m&255;m=0}else{d=h[e+1>>0]|0;l=d<<7|l&127;if(!(d&128)){n=2;m=0;break}d=h[e+2>>0]|0;l=d<<14|l&16383;if(!(d&128)){n=3;m=0;break}d=h[e+3>>0]|0;l=d<<21|l&2097151;if(!(d&128)){n=4;m=0;break}o=28;p=e+4|0;l=l&268435455;m=0;do{d=p;p=p+1|0;d=h[d>>0]|0;E=WA(d&127|0,0,o|0)|0;l=KA(E|0,ba()|0,l|0,m|0)|0;m=ba()|0;o=o+7|0}while(o>>>0<64&((d&128|0)!=0|0!=0));n=p-n|0}while(0);o=KA(w|0,x|0,-2,-1)|0;o=KA(o|0,ba()|0,l|0,m|0)|0;d=s;n=e+n|0;w=o;x=ba()|0;o=q;l=r}m=b[k>>0]|0;if((m&255)<2)break;l=m&255;do if(!(l&128)){o=1;l=m&255;m=0}else{E=h[k+1>>0]|0;l=E<<7|l&127;if(!(E&128)){o=2;m=0;break}E=h[k+2>>0]|0;l=E<<14|l&16383;if(!(E&128)){o=3;m=0;break}E=h[k+3>>0]|0;l=E<<21|l&2097151;if(!(E&128)){o=4;m=0;break}o=28;p=k+4|0;l=l&268435455;m=0;do{E=p;p=p+1|0;E=h[E>>0]|0;u=WA(E&127|0,0,o|0)|0;l=KA(u|0,ba()|0,l|0,m|0)|0;m=ba()|0;o=o+7|0}while(o>>>0<64&((E&128|0)!=0|0!=0));o=p-v|0}while(0);p=KA(z|0,y|0,-2,-1)|0;p=KA(p|0,ba()|0,l|0,m|0)|0;k=k+o|0;z=p;y=ba()|0;o=q;p=r;l=w;m=x}j=(s|0)==0?j:s;l=b[k>>0]|0;m=l<<24>>24;if(!(m&254))o=l;else{do{k=k+1|0;l=b[k>>0]|0;E=m;m=l<<24>>24}while((m&254|E&128|0)!=0);o=l}l=b[n>>0]|0;m=l<<24>>24;if(m&254)do{n=n+1|0;l=b[n>>0]|0;E=m;m=l<<24>>24}while((m&254|E&128|0)!=0);if(!(o<<24>>24)){l=120;break}if(!(l<<24>>24)){l=119;break}o=k+1|0;l=b[o>>0]|0;m=l&255;if(m&128){E=b[k+2>>0]|0;l=E<<7|l&127;if(E&128){E=b[k+3>>0]|0;l=E<<14|l&16383;if(E&128){E=b[k+4>>0]|0;l=E<<21|l&2097151;if(!(E&128)){m=l;k=4}else{m=(b[k+5>>0]&7)<<28|l&268435455;k=5}}else{m=l;k=3}}else{m=l;k=2}}else k=1;k=o+k|0;p=n+1|0;o=b[p>>0]|0;l=o&255;if(l&128){E=b[n+2>>0]|0;l=E<<7|o&127;if(E&128){E=b[n+3>>0]|0;l=E<<14|l&16383;if(E&128){E=b[n+4>>0]|0;l=E<<21|l&2097151;if(!(E&128))n=4;else{l=(b[n+5>>0]&7)<<28|l&268435455;n=5}}else n=3}else n=2}else n=1;n=p+n|0}l=0;while(1){m=b[n>>0]|0;n=n+1|0;if(!(l<<24>>24|m))break;else l=m&128}l=0;while(1){m=b[k>>0]|0;k=k+1|0;if(!(l<<24>>24|m))break;else l=m&128}f[g>>2]=k;f[i>>2]=n;if((f[a>>2]|0)==(j|0)){E=0;return E|0}b[j>>0]=0;f[a>>2]=j+1;E=1;return E|0}function Wt(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[d>>2]|0;i=f[c>>2]|0;g=f[a>>2]|0;a:while(1){r=g;q=i;o=b[q>>0]|0;switch(o<<24>>24){case 0:{if(!(b[e>>0]|0))break a;else j=2147483647;break}case 1:{k=b[q+1>>0]|0;j=k&255;if(j&128){y=b[q+2>>0]|0;j=y<<7|k&127;if(y&128){y=b[q+3>>0]|0;j=y<<14|j&16383;if(y&128){y=b[q+4>>0]|0;j=y<<21|j&2097151;if(y&128)j=(b[q+5>>0]&7)<<28|j&268435455}}}break}default:j=0}p=e;m=b[p>>0]|0;switch(m<<24>>24){case 1:{k=b[p+1>>0]|0;l=k&255;if(l&128){y=b[p+2>>0]|0;k=y<<7|k&127;if(y&128){y=b[p+3>>0]|0;k=y<<14|k&16383;if(y&128){y=b[p+4>>0]|0;k=y<<21|k&2097151;if(!(y&128))n=k;else n=(b[p+5>>0]&7)<<28|k&268435455}else n=k}else n=k}else n=l;break}case 0:{n=2147483647;break}default:n=0}do if((j|0)!=(n|0))if((j|0)<(n|0)){if(!j){g=0;l=r;i=o}else{l=r+1|0;k=l;m=j;j=((j|0)<0)<<31>>31;while(1){g=m&255;i=k+1|0;b[k>>0]=g|-128;m=VA(m|0,j|0,7)|0;j=ba()|0;if((m|0)==0&(j|0)==0)break;else k=i}b[k>>0]=g&127;i=i-l+1|0;b[r>>0]=1;g=i;l=r+i|0;i=b[q+i>>0]|0}j=q+g|0;k=j;i=i<<24>>24;if(!(i&254))g=k;else{g=j;do{g=g+1|0;y=i;i=b[g>>0]|0}while((i&254|y&128|0)!=0)}y=g-k|0;YA(l|0,j|0,y|0)|0;i=g;g=l+y|0;break}else{if(!n){e=0;l=r;g=m}else{l=r+1|0;k=l;m=n;j=((n|0)<0)<<31>>31;while(1){e=m&255;g=k+1|0;b[k>>0]=e|-128;m=VA(m|0,j|0,7)|0;j=ba()|0;if((m|0)==0&(j|0)==0)break;else k=g}b[k>>0]=e&127;g=g-l+1|0;b[r>>0]=1;e=g;l=r+g|0;g=b[p+g>>0]|0}j=p+e|0;k=j;g=g<<24>>24;if(!(g&254))e=k;else{e=j;do{e=e+1|0;y=g;g=b[e>>0]|0}while((g&254|y&128|0)!=0)}g=e-k|0;YA(l|0,j|0,g|0)|0;g=l+g|0;break}else{if(!j){e=0;i=o}else{l=r+1|0;k=l;m=j;i=((j|0)<0)<<31>>31;while(1){e=m&255;g=k+1|0;b[k>>0]=e|-128;m=VA(m|0,i|0,7)|0;i=ba()|0;if((m|0)==0&(i|0)==0)break;else k=g}b[k>>0]=e&127;i=g-l+1|0;b[r>>0]=1;e=i;g=r+i|0;i=b[q+i>>0]|0}m=q+e|0;l=m;q=p+e|0;p=q;e=i&255;do if(!(e&128)){j=1;o=i&255;n=0}else{y=h[m+1>>0]|0;e=y<<7|e&127;if(!(y&128)){j=2;o=e;n=0;break}y=h[m+2>>0]|0;e=y<<14|e&16383;if(!(y&128)){j=3;o=e;n=0;break}y=h[m+3>>0]|0;e=y<<21|e&2097151;if(!(y&128)){j=4;o=e;n=0;break}i=28;j=m+4|0;e=e&268435455;k=0;do{y=j;j=j+1|0;y=h[y>>0]|0;x=WA(y&127|0,0,i|0)|0;e=KA(x|0,ba()|0,e|0,k|0)|0;k=ba()|0;i=i+7|0}while(i>>>0<64&((y&128|0)!=0|0!=0));j=j-l|0;o=e;n=k}while(0);i=m+j|0;j=b[q>>0]|0;e=j&255;do if(!(e&128)){k=1;j=j&255;l=0}else{y=h[q+1>>0]|0;e=y<<7|e&127;if(!(y&128)){k=2;j=e;l=0;break}y=h[q+2>>0]|0;e=y<<14|e&16383;if(!(y&128)){k=3;j=e;l=0;break}y=h[q+3>>0]|0;e=y<<21|e&2097151;if(!(y&128)){k=4;j=e;l=0;break}j=28;k=q+4|0;e=e&268435455;l=0;do{y=k;k=k+1|0;y=h[y>>0]|0;x=WA(y&127|0,0,j|0)|0;e=KA(x|0,ba()|0,e|0,l|0)|0;l=ba()|0;j=j+7|0}while(j>>>0<64&((y&128|0)!=0|0!=0));k=k-p|0;j=e}while(0);e=q+k|0;y=n;x=o;t=j;u=0;v=0;while(1){q=(y|0)<(l|0)|(y|0)==(l|0)&x>>>0>>0;r=q?x:t;s=q?y:l;p=g;m=LA(r|0,s|0,u|0,v|0)|0;j=p;o=ba()|0;while(1){k=m&255;n=j+1|0;b[j>>0]=k|-128;m=VA(m|0,o|0,7)|0;o=ba()|0;if((m|0)==0&(o|0)==0)break;else j=n}b[j>>0]=k&127;w=p+(n-g)|0;g=w;u=KA(r|0,s|0,-2,-1)|0;v=ba()|0;do if((x|0)==(t|0)&(y|0)==(l|0)){n=i;k=b[n>>0]|0;if((k&255)>1){j=k&255;do if(!(j&128)){l=1;j=k&255;i=0}else{t=h[n+1>>0]|0;j=t<<7|j&127;if(!(t&128)){l=2;i=0;break}t=h[n+2>>0]|0;j=t<<14|j&16383;if(!(t&128)){l=3;i=0;break}t=h[n+3>>0]|0;j=t<<21|j&2097151;if(!(t&128)){l=4;i=0;break}k=28;l=n+4|0;j=j&268435455;m=0;do{t=l;l=l+1|0;t=h[t>>0]|0;s=WA(t&127|0,0,k|0)|0;j=KA(s|0,ba()|0,j|0,m|0)|0;m=ba()|0;k=k+7|0}while(k>>>0<64&((t&128|0)!=0|0!=0));l=l-i|0;i=m}while(0);m=KA(x|0,y|0,-2,-1)|0;m=KA(m|0,ba()|0,j|0,i|0)|0;i=n+l|0;p=ba()|0}else{m=2147483647;p=0}o=e;k=b[o>>0]|0;if((k&255)>1){j=k&255;do if(!(j&128)){l=1;j=k&255;e=0}else{t=h[o+1>>0]|0;j=t<<7|j&127;if(!(t&128)){l=2;e=0;break}t=h[o+2>>0]|0;j=t<<14|j&16383;if(!(t&128)){l=3;e=0;break}t=h[o+3>>0]|0;j=t<<21|j&2097151;if(!(t&128)){l=4;e=0;break}k=28;l=o+4|0;j=j&268435455;n=0;do{t=l;l=l+1|0;t=h[t>>0]|0;s=WA(t&127|0,0,k|0)|0;j=KA(s|0,ba()|0,j|0,n|0)|0;n=ba()|0;k=k+7|0}while(k>>>0<64&((t&128|0)!=0|0!=0));l=l-e|0;e=n}while(0);k=KA(x|0,y|0,-2,-1)|0;k=KA(k|0,ba()|0,j|0,e|0)|0;e=o+l|0;j=p;l=ba()|0}else{j=p;k=2147483647;l=0}}else if(q){o=i;k=b[o>>0]|0;if((k&255)<=1){m=2147483647;j=0;k=t;break}j=k&255;do if(!(j&128)){m=1;j=k&255;i=0}else{s=h[o+1>>0]|0;j=s<<7|j&127;if(!(s&128)){m=2;i=0;break}s=h[o+2>>0]|0;j=s<<14|j&16383;if(!(s&128)){m=3;i=0;break}s=h[o+3>>0]|0;j=s<<21|j&2097151;if(!(s&128)){m=4;i=0;break}k=28;m=o+4|0;j=j&268435455;n=0;do{s=m;m=m+1|0;s=h[s>>0]|0;r=WA(s&127|0,0,k|0)|0;j=KA(r|0,ba()|0,j|0,n|0)|0;n=ba()|0;k=k+7|0}while(k>>>0<64&((s&128|0)!=0|0!=0));m=m-i|0;i=n}while(0);k=KA(x|0,y|0,-2,-1)|0;j=KA(k|0,ba()|0,j|0,i|0)|0;i=o+m|0;m=j;j=ba()|0;k=t;break}else{o=e;k=b[o>>0]|0;if((k&255)<=1){m=x;j=y;k=2147483647;l=0;break}j=k&255;do if(!(j&128)){m=1;j=k&255;e=0}else{s=h[o+1>>0]|0;j=s<<7|j&127;if(!(s&128)){m=2;e=0;break}s=h[o+2>>0]|0;j=s<<14|j&16383;if(!(s&128)){m=3;e=0;break}s=h[o+3>>0]|0;j=s<<21|j&2097151;if(!(s&128)){m=4;e=0;break}k=28;m=o+4|0;j=j&268435455;n=0;do{s=m;m=m+1|0;s=h[s>>0]|0;r=WA(s&127|0,0,k|0)|0;j=KA(r|0,ba()|0,j|0,n|0)|0;n=ba()|0;k=k+7|0}while(k>>>0<64&((s&128|0)!=0|0!=0));m=m-e|0;e=n}while(0);k=KA(t|0,l|0,-2,-1)|0;k=KA(k|0,ba()|0,j|0,e|0)|0;e=o+m|0;m=x;j=y;l=ba()|0;break}while(0);if(!((m|0)!=2147483647|(j|0)!=0|((k|0)!=2147483647|(l|0)!=0))){g=w;break}else{y=j;x=m;t=k}}}while(0)}y=g;b[y>>0]=0;f[a>>2]=y+1;f[c>>2]=i+1;f[d>>2]=e+1;return}function Xt(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=t;t=t+16|0;m=p+4|0;n=p;if(!c){t=p;return}if(f[d>>2]|0){t=p;return}o=f[c+20>>2]|0;if(o|0){g=o+24|0;e=o+28|0;do if(f[g>>2]|0?(h=f[e>>2]|0,h|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{l=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[e>>2]=0;f[o+32>>2]=0;f[g>>2]=0;l=o+40|0;if(f[l>>2]|0){k=o+64|0;j=f[k>>2]|0;if((j|0)>0){h=0;do{e=f[o+72+(h*24|0)+20>>2]|0;if(e|0?(f[e+8>>2]=0,f[e+28>>2]=1,i=f[e+4>>2]|0,(i|0)>0):0){g=f[e>>2]|0;e=0;do{q=g+(e<<2)|0;f[(f[q>>2]|0)+80>>2]=0;q=f[q>>2]|0;f[q+84>>2]=0;q=q+88|0;f[q>>2]=0;f[q+4>>2]=0;e=e+1|0}while((e|0)!=(i|0))}h=h+1|0}while((h|0)<(j|0))}h=f[a>>2]|0;i=o+68|0;a:do if((j|0)>0){g=0;while(1){if(f[o+72+(g*24|0)+20>>2]|0){f[m>>2]=0;f[n>>2]=0;e=au(h,o+72+(g*24|0)|0,f[i>>2]|0,m,n)|0;if(e|0)break;e=bu(h,o,g,f[n>>2]|0,f[m>>2]|0)|0;if(e|0)break a}g=g+1|0;if((g|0)>=(f[k>>2]|0)){e=0;break a}}}else e=0;while(0);f[l>>2]=0;f[d>>2]=e}f[o+8>>2]=0;q=o+16|0;f[q>>2]=0;f[q+4>>2]=0;f[o+48>>2]=0}q=c+24|0;f[q>>2]=0;f[q+4>>2]=0;b[c+32>>0]=0;b[c+33>>0]=0;Xt(a,f[c+12>>2]|0,d);Xt(a,f[c+16>>2]|0,d);t=p;return}function Yt(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=t;t=t+112|0;C=G+108|0;y=G;z=G+104|0;A=G+100|0;B=G+96|0;if(f[d>>2]|0){t=G;return}h=a+52|0;q=b[h>>0]|0;b[c+33>>0]=1;switch(f[c>>2]|0){case 3:case 1:{n=f[c+12>>2]|0;m=f[c+16>>2]|0;if(b[n+34>>0]|0){Yt(a,m,d);E=m+24|0;F=f[E+4>>2]|0;d=c+24|0;f[d>>2]=f[E>>2];f[d+4>>2]=F;b[c+32>>0]=b[m+32>>0]|0;t=G;return}E=(b[m+34>>0]|0)==0;Yt(a,n,d);if(!E){E=n+24|0;F=f[E+4>>2]|0;d=c+24|0;f[d>>2]=f[E>>2];f[d+4>>2]=F;b[c+32>>0]=b[n+32>>0]|0;t=G;return}Yt(a,m,d);o=n+32|0;a:do if(!(b[o>>0]|0)){l=m+32|0;h=q<<24>>24==0;g=h?1:-1;h=h?0:-1;e=n+24|0;i=m+24|0;while(1){j=b[l>>0]|0;if(j<<24>>24)break;if(f[d>>2]|0)break;k=e;E=i;E=LA(f[k>>2]|0,f[k+4>>2]|0,f[E>>2]|0,f[E+4>>2]|0)|0;E=QA(E|0,ba()|0,g|0,h|0)|0;k=ba()|0;if((E|0)==0&(k|0)==0)break;if((k|0)<0)Yt(a,n,d);else Yt(a,m,d);if(b[o>>0]|0){F=17;break a}}D=e;E=f[D+4>>2]|0;e=c+24|0;f[e>>2]=f[D>>2];f[e+4>>2]=E;e=j<<24>>24!=0&1}else{e=n+24|0;F=17}while(0);if((F|0)==17){E=e;F=f[E+4>>2]|0;e=c+24|0;f[e>>2]=f[E>>2];f[e+4>>2]=F;e=1}b[c+32>>0]=e;if(e<<24>>24==0|(f[c>>2]|0)!=1){t=G;return}e=f[m+20>>2]|0;b:do if(f[e>>2]|0?(r=m+32|0,(f[d>>2]|0)==0):0){g=e+28|0;e=e+32|0;do{if(b[r>>0]|0)break b;_A(f[g>>2]|0,0,f[e>>2]|0)|0;Yt(a,m,d)}while(!(f[d>>2]|0))}while(0);e=f[n+20>>2]|0;if(!e){t=G;return}if(!(f[e>>2]|0)){t=G;return}if(f[d>>2]|0){t=G;return}g=e+28|0;e=e+32|0;while(1){if(b[o>>0]|0){F=120;break}_A(f[g>>2]|0,0,f[e>>2]|0)|0;Yt(a,n,d);if(f[d>>2]|0){F=120;break}}if((F|0)==120){t=G;return}break}case 4:{h=f[c+12>>2]|0;i=f[c+16>>2]|0;m=q<<24>>24==0;l=m?1:-1;m=m?0:-1;k=h+24|0;g=k;j=i+24|0;e=j;e=LA(f[g>>2]|0,f[g+4>>2]|0,f[e>>2]|0,f[e+4>>2]|0)|0;e=QA(e|0,ba()|0,l|0,m|0)|0;g=ba()|0;n=i+32|0;o=h+32|0;do if((b[n>>0]|0)==0?(p=b[o>>0]|0,!((g|0)<0&p<<24>>24==0)):0)if((g|0)>0|(g|0)==0&e>>>0>0|p<<24>>24!=0){Yt(a,i,d);break}else{Yt(a,h,d);Yt(a,i,d);break}else F=33;while(0);if((F|0)==33)Yt(a,h,d);if(!(b[o>>0]|0))e=0;else e=(b[n>>0]|0)!=0&1;b[c+32>>0]=e;i=j;h=f[i>>2]|0;i=f[i+4>>2]|0;g=k;e=f[g>>2]|0;g=f[g+4>>2]|0;if((b[n>>0]|0)==0?(d=LA(e|0,g|0,h|0,i|0)|0,QA(d|0,ba()|0,l|0,m|0)|0,d=ba()|0,!((b[o>>0]|0)==0&(d|0)<0)):0){c=c+24|0;f[c>>2]=h;f[c+4>>2]=i;t=G;return}c=c+24|0;f[c>>2]=e;f[c+4>>2]=g;t=G;return}case 2:{g=f[c+12>>2]|0;k=f[c+16>>2]|0;if(!(b[k+33>>0]|0))Yt(a,k,d);Yt(a,g,d);l=g+32|0;e=b[l>>0]|0;if(!(e<<24>>24)){j=k+32|0;i=q<<24>>24==0;h=i?1:-1;i=i?0:-1;g=g+24|0;if(!(f[d>>2]|0)){e=k+24|0;do{if(b[j>>0]|0)break;E=g;F=e;F=LA(f[E>>2]|0,f[E+4>>2]|0,f[F>>2]|0,f[F+4>>2]|0)|0;F=QA(F|0,ba()|0,h|0,i|0)|0;E=ba()|0;if(!((E|0)>0|(E|0)==0&F>>>0>0))break;Yt(a,k,d)}while(!(f[d>>2]|0));e=b[l>>0]|0}else e=0}else g=g+24|0;E=g;F=f[E+4>>2]|0;d=c+24|0;f[d>>2]=f[E>>2];f[d+4>>2]=F;b[c+32>>0]=e;t=G;return}default:{E=f[c+20>>2]|0;v=E+24|0;x=E+28|0;do if(f[v>>2]|0?(e=f[x>>2]|0,e|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{D=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[x>>2]=0;w=E+32|0;f[w>>2]=0;f[v>>2]=0;D=c+32|0;u=f[a>>2]|0;do if(!(f[E+40>>2]|0)){F=b[u+235>>0]|0;e=F&255;if((b[h>>0]|0)!=F<<24>>24?(g=f[E+4>>2]|0,g|0):0){F=E+8|0;wt(e,f[E>>2]|0,g,F,E+16|0,w,D);f[x>>2]=f[F>>2];e=0;break}$t(u,E,D);e=0}else{b[C>>0]=0;s=E+64|0;do if((f[s>>2]|0)==1){e=_t(u,f[E+92>>2]|0,E+16|0,x,w)|0;if(!(f[x>>2]|0)){b[C>>0]=1;g=1;F=113}else{g=0;F=113}}else{h=b[h>>0]|0;e=y;g=e+96|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));r=E+44|0;a=E+16|0;q=h<<24>>24==0;p=q?1:-1;q=q?0:-1;e=0;while(1){c:do if(!e){g=f[s>>2]|0;if((g|0)>0){k=0;l=0;i=0;j=0;while(1){g=y+(l*24|0)|0;do if((f[r>>2]|0)!=(l|0)){e=f[E+72+(l*24|0)+20>>2]|0;if(!e){f[g>>2]=1;e=0;break}F=y+(l*24|0)+16|0;e=_t(u,e,y+(l*24|0)+8|0,F,y+(l*24|0)+20|0)|0;if(!(f[F>>2]|0))b[C>>0]=1}else{$t(u,E,C);f[y+(l*24|0)+16>>2]=f[x>>2];f[y+(l*24|0)+20>>2]=f[w>>2];o=a;F=f[o+4>>2]|0;e=y+(l*24|0)+8|0;f[e>>2]=f[o>>2];f[e+4>>2]=F;e=0}while(0);do if(!(f[g>>2]|0)){h=y+(l*24|0)+8|0;g=f[h>>2]|0;h=f[h+4>>2]|0;if(k|0?(F=LA(i|0,j|0,g|0,h|0)|0,QA(F|0,ba()|0,p|0,q|0)|0,(ba()|0)>=0):0)break;k=1;i=g;j=h}while(0);if(e|0)break;l=l+1|0;g=b[C>>0]|0;h=f[s>>2]|0;if(!(g<<24>>24==0&(l|0)<(h|0))){e=0;F=81;break c}}g=b[C>>0]|0;F=80}else{e=0;i=0;j=0}}else{g=0;i=0;j=0;F=80}while(0);if((F|0)==80){h=f[s>>2]|0;F=81}if((F|0)==81){F=0;if((h|0)>0){m=0;k=g;o=g;l=g;while(1){if(k<<24>>24==0&(e|0)==0){g=o;while(1){e=y+(m*24|0)|0;if(f[e>>2]|0){h=m;e=0;m=l;k=0;break}k=y+(m*24|0)+8|0;o=k;o=LA(f[o>>2]|0,f[o+4>>2]|0,i|0,j|0)|0;QA(o|0,ba()|0,p|0,q|0)|0;if((ba()|0)>=0){h=m;e=0;m=l;k=0;break}do if((f[r>>2]|0)==(m|0)){$t(u,E,C);f[y+(m*24|0)+16>>2]=f[x>>2];f[y+(m*24|0)+20>>2]=f[w>>2];l=a;e=f[l+4>>2]|0;g=k;f[g>>2]=f[l>>2];f[g+4>>2]=e;g=b[C>>0]|0;e=0;l=g}else{h=f[E+72+(m*24|0)+20>>2]|0;if(!h){f[e>>2]=1;e=0;break}o=y+(m*24|0)+16|0;e=_t(u,h,k,o,y+(m*24|0)+20|0)|0;if(f[o>>2]|0)break;b[C>>0]=1;l=1;g=1}while(0);o=k;k=f[o>>2]|0;o=f[o+4>>2]|0;n=LA(k|0,o|0,i|0,j|0)|0;n=QA(n|0,ba()|0,p|0,q|0)|0;h=ba()|0;n=(h|0)>0|(h|0)==0&n>>>0>0;h=n?0:m;i=n?k:i;j=n?o:j;if(l<<24>>24==0&(e|0)==0){m=h;l=0}else{m=l;k=l;break}}n=h;h=f[s>>2]|0;l=m}else{n=m;g=o}m=n+1|0;if((m|0)>=(h|0))break;else o=g}}if(!(g<<24>>24))g=h;else break}g=(f[y+((g+-1|0)*24|0)+20>>2]|0)+1|0;n=Fd(g)|0;if(!n){F=112;break}YA(n|0,f[y+(((f[s>>2]|0)+-1|0)*24|0)+16>>2]|0,g|0)|0;g=f[s>>2]|0;d:do if((g|0)>1){l=n;k=0;h=0;m=g+-1|0;while(1){if(!(f[y+(h*24|0)>>2]|0)){f[z>>2]=f[y+(h*24|0)+16>>2];f[A>>2]=n;f[B>>2]=n;o=(Vt(B,m-h|0,0,1,z,A)|0)==0;if(o)break;k=(f[B>>2]|0)-l|0;g=f[s>>2]|0}h=h+1|0;m=g+-1|0;if((m|0)<=(h|0))break d}g=f[s>>2]|0}else{k=0;h=0}while(0);if((h|0)==(g+-1|0)){F=110;break}if(!(f[9328]|0))ob[f[37360>>2]&127](n);else{o=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n)}}if((F|0)==110){g=a;f[g>>2]=i;f[g+4>>2]=j;f[x>>2]=n;f[w>>2]=k;f[v>>2]=1;g=0}else if((F|0)==112){e=7;break}F=113}while(0);if((F|0)==113)b[D>>0]=g}while(0);f[d>>2]=e;F=E+16|0;d=f[F+4>>2]|0;c=c+24|0;f[c>>2]=f[F>>2];f[c+4>>2]=d;t=G;return}}}function Zt(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;do{c=f[a+20>>2]|0;a:do if(c|0?(k=f[c+28>>2]|0,k|0):0){j=a+40|0;g=k;c=0;while(1){e=b[g>>0]|0;if((e&255)<2)d=0;else{d=0;h=0;i=e;while(1){d=d+((h|0)==0&1)|0;g=g+1|0;e=i&-128;i=b[g>>0]|0;if(!((i&-2|e)<<24>>24))break;else h=e&255}}h=f[j>>2]|0;i=c*3|0;e=h+(i+1<<2)|0;f[e>>2]=(f[e>>2]|0)+d;i=h+(i+2<<2)|0;f[i>>2]=(f[i>>2]|0)+((d|0)!=0&1);if(!(b[g>>0]|0))break a;e=g+1|0;d=b[e>>0]|0;c=d&255;if(c&128){i=b[g+2>>0]|0;c=i<<7|d&127;if(i&128){i=b[g+3>>0]|0;c=i<<14|c&16383;if(i&128){i=b[g+4>>0]|0;c=i<<21|c&2097151;if(!(i&128))d=4;else{c=(b[g+5>>0]&7)<<28|c&268435455;d=5}}else d=3}else d=2}else d=1;g=e+d|0}}while(0);Zt(f[a+12>>2]|0);a=f[a+16>>2]|0}while((a|0)!=0);return}function _t(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+16|0;y=D+4|0;z=D;A=f[c+8>>2]|0;B=f[c>>2]|0;s=(b[a+235>>0]|0)==0?174:175;if(!A){f[e>>2]=0;C=0;t=D;return C|0}h=f[B>>2]|0;a:do if(f[h+80>>2]|0){u=(A|0)>1;v=A+-1|0;w=c+24|0;x=c+20|0;r=c+16|0;while(1){q=h+88|0;p=f[q>>2]|0;q=f[q+4>>2]|0;h=xt(a,h,y,z)|0;j=(h|0)==0;b:do if(j&u){i=1;while(1){h=f[B+(i<<2)>>2]|0;if(!(f[h+80>>2]|0)){h=i;break b}o=h+88|0;if(!((f[o>>2]|0)==(p|0)?(f[o+4>>2]|0)==(q|0):0)){h=i;break b}h=xt(a,h,0,0)|0;i=i+1|0;j=(h|0)==0;if(!(j&(i|0)<(A|0))){C=11;break}}}else{i=1;C=11}while(0);if((C|0)==11){C=0;if(j)h=i;else{C=45;break}}n=f[c>>2]|0;h=h+(((h|0)==(A|0))<<31>>31)|0;if((h|0)>0)do{k=h;h=h+-1|0;c:do if((k|0)<(A|0)){i=h;m=f[n+(h<<2)>>2]|0;do{j=i;i=i+1|0;l=n+(i<<2)|0;if((jb[s&255](m,f[l>>2]|0)|0)<0)break c;o=n+(j<<2)|0;j=f[l>>2]|0;m=f[o>>2]|0;f[l>>2]=m;f[o>>2]=j}while((i|0)<(v|0))}while(0)}while((k|0)>1);h=f[z>>2]|0;if((h|0)>0?f[(f[B>>2]|0)+56>>2]|0:0){k=f[y>>2]|0;l=h+1|0;if((f[x>>2]|0)>(h|0))i=f[r>>2]|0;else{i=l<<1;f[x>>2]=i;j=f[r>>2]|0;if(Mc()|0){h=7;C=45;break}i=Nc(j,(i|0)>0?i:0,0)|0;if(!i){h=7;C=45;break}f[r>>2]=i}YA(i|0,k|0,l|0)|0;f[y>>2]=f[r>>2]}n=f[w>>2]|0;if((n|0)>-1){j=f[y>>2]|0;o=j+h|0;i=j;m=h;l=0;while(1){d:do if(i>>>0>>0){k=0;h=i;while(1){i=b[h>>0]|0;if(!(i&254|k)){k=h;break d}h=h+1|0;if(h>>>0>>0)k=i&128;else{k=h;break}}}else k=i;while(0);h=k-j|0;if((l|0)==(n|0))break;m=m-h|0;if(!m){j=k;h=0;break}j=k+1|0;i=b[j>>0]|0;h=i&255;if(h&128){l=b[k+2>>0]|0;h=l<<7|i&127;if(l&128){l=b[k+3>>0]|0;h=l<<14|h&16383;if(l&128){l=b[k+4>>0]|0;h=l<<21|h&2097151;if(!(l&128))i=4;else{h=(b[k+5>>0]&7)<<28|h&268435455;i=5}}else i=3}else i=2}else i=1;i=j+i|0;j=k;l=h}i=j+h|0;if((i|0)!=(o|0))_A(i|0,0,o-i|0)|0;f[y>>2]=j;f[z>>2]=h}if((h|0)>0){C=46;break}if(!(f[(f[f[c>>2]>>2]|0)+80>>2]|0))break a;h=f[B>>2]|0}if((C|0)==45){C=h;t=D;return C|0}else if((C|0)==46){f[e>>2]=f[y>>2];C=d;f[C>>2]=p;f[C+4>>2]=q;f[g>>2]=h;C=0;t=D;return C|0}}while(0);f[e>>2]=0;C=0;t=D;return C|0}function $t(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=f[c>>2]|0;n=k+(f[c+4>>2]|0)|0;o=c+8|0;l=f[o>>2]|0;m=(l|0)==0;l=m?k:l;k=l;if(l>>>0>=n>>>0){o=1;b[d>>0]=o;return}g=b[l>>0]|0;e=g&255;do if(!(e&128)){i=1;e=g&255;g=0}else{j=h[l+1>>0]|0;e=j<<7|e&127;if(!(j&128)){i=2;g=0;break}j=h[l+2>>0]|0;e=j<<14|e&16383;if(!(j&128)){i=3;g=0;break}j=h[l+3>>0]|0;e=j<<21|e&2097151;if(!(j&128)){i=4;g=0;break}i=28;j=l+4|0;e=e&268435455;g=0;do{p=j;j=j+1|0;p=h[p>>0]|0;q=WA(p&127|0,0,i|0)|0;e=KA(q|0,ba()|0,e|0,g|0)|0;g=ba()|0;i=i+7|0}while(i>>>0<64&((p&128|0)!=0|0!=0));i=j-k|0}while(0);q=l+i|0;j=q;a=m|(b[a+235>>0]|0)==0;m=c+16|0;k=m;i=f[k>>2]|0;k=f[k+4>>2]|0;l=LA(0,0,e|0,g|0)|0;p=ba()|0;p=KA(i|0,k|0,(a?e:l)|0,(a?g:p)|0)|0;g=ba()|0;e=m;f[e>>2]=p;f[e+4>>2]=g;f[c+28>>2]=j;e=q;g=0;while(1){i=b[e>>0]|0;e=e+1|0;if(!(g<<24>>24|i))break;else g=i&128}f[c+32>>2]=e-j;a:do if(e>>>0>>0)do{if(b[e>>0]|0)break a;e=e+1|0}while(e>>>0>>0);while(0);f[o>>2]=e;q=0;b[d>>0]=q;return}function au(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+160|0;q=x+148|0;r=x+144|0;u=x+16|0;g=x;w=b+20|0;v=f[w>>2]|0;i=u;j=i+128|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[g+12>>2]=((f[b+12>>2]|0)==0?0:32)|((f[b+8>>2]|0)==0?3:11)|((f[a+24>>2]|0)>(c|0)?4:0);f[g+8>>2]=c;p=f[b>>2]|0;f[g>>2]=p;b=f[b+4>>2]|0;f[g+4>>2]=b;f[v+12>>2]=g;b=mt(a,v,p,b)|0;a:do if(!b){m=v+48|0;n=v+52|0;o=u+64|0;p=a+235|0;b:while(1){b=nt(a,v)|0;switch(b|0){case 0:break b;case 100:break;default:break a}l=f[m>>2]|0;c=f[n>>2]|0;b=f[u>>2]|0;c:do if(!b){b=Fd(c+11|0)|0;f[u>>2]=b;f[o>>2]=c;if(!b)b=7;else{YA(b|0,l|0,c|0)|0;b=0}}else{k=0;i=l;g=u;while(1){j=u+64+(k<<2)|0;b=cu(h[p>>0]|0,i,c,b,f[j>>2]|0,q,r)|0;c=(i|0)==(l|0)|(i|0)==0;if(b|0){s=10;break}do if(!c)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{c=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);b=f[g>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{i=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);f[g>>2]=0;i=f[q>>2]|0;c=f[r>>2]|0;if((k|0)==15){s=23;break}k=k+1|0;if(k>>>0>=16){b=0;break c}g=u+(k<<2)|0;b=f[g>>2]|0;if(!b){s=8;break}}if((s|0)==8){s=0;f[g>>2]=i;f[u+64+(k<<2)>>2]=c;b=0;break}else if((s|0)==10){s=0;do if(!c)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{l=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);break}else if((s|0)==23){s=0;f[g>>2]=i;f[j>>2]=c;b=0;break}}while(0);if(b|0)break a}k=0;c=0;i=0;d:while(1){g=u+(k<<2)|0;j=f[g>>2]|0;do if(!j)b=i;else{if(!i){c=f[u+64+(k<<2)>>2]|0;f[g>>2]=0;b=j;break}b=cu(h[p>>0]|0,j,f[u+64+(k<<2)>>2]|0,i,c,r,q)|0;c=(f[9328]|0)==0;if(b|0)break d;if(c)ob[f[37360>>2]&127](j);else{a=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j)}if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{a=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}f[g>>2]=0;c=f[q>>2]|0;b=f[r>>2]|0}while(0);k=k+1|0;if(k>>>0>=16){s=45;break}else i=b}if((s|0)==45){f[u>>2]=b;f[o>>2]=c;f[e>>2]=b;f[d>>2]=c;u=0;du(v);f[w>>2]=0;t=x;return u|0}if(c)ob[f[37360>>2]&127](i);else{s=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}}while(0);c=0;do{g=f[u+(c<<2)>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{s=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);c=c+1|0}while((c|0)!=16);du(v);f[w>>2]=0;t=x;return b|0}function bu(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=t;t=t+16|0;G=M+8|0;H=M+4|0;I=M;do if(!e){i=f[c>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{L=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[c>>2]=0;f[c+4>>2]=0;j=0;i=c+44|0}else{i=c+44|0;j=f[i>>2]|0;if((j|0)<0){f[c>>2]=e;f[c+4>>2]=g;j=0;break}l=f[c>>2]|0;if(!l)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);j=0;break}else{j=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);j=0;break}L=c+4|0;k=f[L>>2]|0;if((j|0)<(d|0)){E=d-j|0;m=k;K=l;l=e}else{E=j-d|0;m=g;K=e;g=k}F=l;p=b[a+235>>0]|0;B=K+m|0;C=l+g|0;f[G>>2]=K;f[H>>2]=l;D=p<<24>>24!=0;if(D){j=Fd(g+10|0)|0;if(!j){j=7;k=F}else{e=j;k=j;J=19}}else{e=l;k=F;J=19}do if((J|0)==19){f[I>>2]=e;if((m|0)>0){e=b[K>>0]|0;j=e&255;do if(!(j&128)){a=1;j=e&255;e=0}else{A=h[K+1>>0]|0;j=A<<7|j&127;if(!(A&128)){a=2;e=0;break}A=h[K+2>>0]|0;j=A<<14|j&16383;if(!(A&128)){a=3;e=0;break}A=h[K+3>>0]|0;j=A<<21|j&2097151;if(!(A&128)){a=4;e=0;break}e=28;a=K+4|0;j=j&268435455;m=0;do{A=a;a=a+1|0;A=h[A>>0]|0;z=WA(A&127|0,0,e|0)|0;j=KA(z|0,ba()|0,j|0,m|0)|0;m=ba()|0;e=e+7|0}while(e>>>0<64&((A&128|0)!=0|0!=0));a=a-K|0;e=m}while(0);o=K+a|0;n=e}else{o=0;j=0;n=0}f[G>>2]=o;if((g|0)>0){e=b[l>>0]|0;g=e&255;do if(!(g&128)){a=1;g=e&255;m=0}else{A=h[l+1>>0]|0;g=A<<7|g&127;if(!(A&128)){a=2;m=0;break}A=h[l+2>>0]|0;g=A<<14|g&16383;if(!(A&128)){a=3;m=0;break}A=h[l+3>>0]|0;g=A<<21|g&2097151;if(!(A&128)){a=4;m=0;break}e=28;a=l+4|0;g=g&268435455;m=0;do{A=a;a=a+1|0;A=h[A>>0]|0;z=WA(A&127|0,0,e|0)|0;g=KA(z|0,ba()|0,g|0,m|0)|0;m=ba()|0;e=e+7|0}while(e>>>0<64&((A&128|0)!=0|0!=0));a=a-F|0}while(0);e=l+a|0;f[H>>2]=e;if((o|0)!=0&(e|0)!=0){z=D?-1:1;A=D?-1:0;y=p<<24>>24==0;x=0;s=n;w=0;v=0;u=e;r=o;a:while(1){q=LA(j|0,s|0,g|0,m|0)|0;q=QA(q|0,ba()|0,z|0,A|0)|0;e=ba()|0;do if(!((q|0)==0&(e|0)==0))if((e|0)<0){n=r;e=0;while(1){a=b[n>>0]|0;q=n+1|0;if(!(e<<24>>24|a))break;else{n=q;e=a&128}}p=q;f[G>>2]=q;if(q>>>0>=B>>>0){J=85;break a}a=b[q>>0]|0;e=a&255;do if(!(e&128)){n=1;a=a&255;e=0}else{r=h[n+2>>0]|0;e=r<<7|e&127;if(!(r&128)){n=2;a=e;e=0;break}r=h[n+3>>0]|0;e=r<<14|e&16383;if(!(r&128)){n=3;a=e;e=0;break}r=h[n+4>>0]|0;a=r<<21|e&2097151;if(!(r&128)){n=4;e=0;break}o=28;n=n+5|0;a=a&268435455;e=0;do{r=n;n=n+1|0;r=h[r>>0]|0;N=WA(r&127|0,0,o|0)|0;a=KA(N|0,ba()|0,a|0,e|0)|0;e=ba()|0;o=o+7|0}while(o>>>0<64&((r&128|0)!=0|0!=0));n=n-p|0}while(0);p=q+n|0;f[G>>2]=p;o=LA(0,0,a|0,e|0)|0;q=ba()|0;j=KA((y?a:o)|0,(y?e:q)|0,j|0,s|0)|0;q=x;o=u;n=ba()|0;a=w;e=v;break}else{n=u;e=0;while(1){a=b[n>>0]|0;q=n+1|0;if(!(e<<24>>24|a))break;else{n=q;e=a&128}}p=q;f[H>>2]=q;if(q>>>0>=C>>>0){J=100;break a}a=b[q>>0]|0;e=a&255;do if(!(e&128)){n=1;a=a&255;e=0}else{N=h[n+2>>0]|0;e=N<<7|e&127;if(!(N&128)){n=2;a=e;e=0;break}N=h[n+3>>0]|0;e=N<<14|e&16383;if(!(N&128)){n=3;a=e;e=0;break}N=h[n+4>>0]|0;a=N<<21|e&2097151;if(!(N&128)){n=4;e=0;break}o=28;n=n+5|0;a=a&268435455;e=0;do{N=n;n=n+1|0;N=h[N>>0]|0;u=WA(N&127|0,0,o|0)|0;a=KA(u|0,ba()|0,a|0,e|0)|0;e=ba()|0;o=o+7|0}while(o>>>0<64&((N&128|0)!=0|0!=0));n=n-p|0}while(0);o=q+n|0;f[H>>2]=o;p=LA(0,0,a|0,e|0)|0;q=ba()|0;g=KA((y?a:p)|0,(y?e:q)|0,g|0,m|0)|0;q=x;p=r;n=s;m=ba()|0;a=w;e=v;break}else{a=f[I>>2]|0;u=y|(x|0)==0;r=LA(j|0,s|0,w|0,v|0)|0;N=ba()|0;o=LA(w|0,v|0,j|0,s|0)|0;q=ba()|0;e=a;o=u?r:o;q=u?N:q;while(1){n=o&255;p=e+1|0;b[e>>0]=n|-128;o=VA(o|0,q|0,7)|0;q=ba()|0;if((o|0)==0&(q|0)==0)break;else e=p}b[e>>0]=n&127;f[I>>2]=(f[I>>2]|0)+(p-a);if(!(Vt(I,E,0,1,G,H)|0)){f[I>>2]=a;q=x;u=w}else{q=1;u=j;v=s}p=f[G>>2]|0;if(p>>>0>>0){a=b[p>>0]|0;e=a&255;do if(!(e&128)){n=1;e=a&255;a=0}else{N=h[p+1>>0]|0;e=N<<7|e&127;if(!(N&128)){n=2;a=0;break}N=h[p+2>>0]|0;e=N<<14|e&16383;if(!(N&128)){n=3;a=0;break}N=h[p+3>>0]|0;e=N<<21|e&2097151;if(!(N&128)){n=4;a=0;break}n=28;o=p+4|0;e=e&268435455;a=0;do{N=o;o=o+1|0;N=h[N>>0]|0;x=WA(N&127|0,0,n|0)|0;e=KA(x|0,ba()|0,e|0,a|0)|0;a=ba()|0;n=n+7|0}while(n>>>0<64&((N&128|0)!=0|0!=0));n=o-p|0}while(0);r=p+n|0;f[G>>2]=r;x=LA(0,0,e|0,a|0)|0;N=ba()|0;j=KA((y?e:x)|0,(y?a:N)|0,j|0,s|0)|0;s=ba()|0}else{f[G>>2]=0;r=0}p=f[H>>2]|0;if(p>>>0>=C>>>0){J=67;break a}a=b[p>>0]|0;e=a&255;do if(!(e&128)){n=1;e=a&255;a=0}else{N=h[p+1>>0]|0;e=N<<7|e&127;if(!(N&128)){n=2;a=0;break}N=h[p+2>>0]|0;e=N<<14|e&16383;if(!(N&128)){n=3;a=0;break}N=h[p+3>>0]|0;e=N<<21|e&2097151;if(!(N&128)){n=4;a=0;break}n=28;o=p+4|0;e=e&268435455;a=0;do{N=o;o=o+1|0;N=h[N>>0]|0;x=WA(N&127|0,0,n|0)|0;e=KA(x|0,ba()|0,e|0,a|0)|0;a=ba()|0;n=n+7|0}while(n>>>0<64&((N&128|0)!=0|0!=0));n=o-p|0}while(0);o=p+n|0;f[H>>2]=o;n=LA(0,0,e|0,a|0)|0;p=ba()|0;g=KA((y?e:n)|0,(y?a:p)|0,g|0,m|0)|0;p=r;n=s;m=ba()|0;a=u;e=v}while(0);if((o|0)!=0&(p|0)!=0){x=q;s=n;w=a;v=e;u=o;r=p}else break}if((J|0)==67)f[H>>2]=0;else if((J|0)==85)f[G>>2]=0;else if((J|0)==100)f[H>>2]=0;j=f[I>>2]|0}else j=k}else{f[H>>2]=0;j=k}g=j-k|0;if(D)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);j=0;break}else{j=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);j=0;break}else{j=0;k=F}}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](K);else{N=ib[f[37368>>2]&255](K)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](K)}f[c>>2]=k;f[L>>2]=g}while(0);if((f[i>>2]|0)>=(d|0)){t=M;return j|0}f[i>>2]=d;t=M;return j|0}function cu(a,c,d,e,g,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+16|0;y=D+8|0;z=D+4|0;A=D;w=c+d|0;x=e+g|0;f[y>>2]=c;f[z>>2]=e;f[i>>2]=0;f[j>>2]=0;B=Fd(d+9+g|0)|0;if(!B){j=7;t=D;return j|0}f[A>>2]=B;C=B;if((d|0)>0){k=b[c>>0]|0;d=k&255;do if(!(d&128)){l=1;d=k&255;k=0}else{v=h[c+1>>0]|0;d=v<<7|d&127;if(!(v&128)){l=2;k=0;break}v=h[c+2>>0]|0;d=v<<14|d&16383;if(!(v&128)){l=3;k=0;break}v=h[c+3>>0]|0;d=v<<21|d&2097151;if(!(v&128)){l=4;k=0;break}l=28;m=c+4|0;d=d&268435455;k=0;do{v=m;m=m+1|0;v=h[v>>0]|0;u=WA(v&127|0,0,l|0)|0;d=KA(u|0,ba()|0,d|0,k|0)|0;k=ba()|0;l=l+7|0}while(l>>>0<64&((v&128|0)!=0|0!=0));l=m-c|0}while(0);o=k;n=c+l|0}else{d=0;o=0;n=0}f[y>>2]=n;if((g|0)>0){l=b[e>>0]|0;k=l&255;do if(!(k&128)){m=1;k=l&255;l=0}else{v=h[e+1>>0]|0;k=v<<7|k&127;if(!(v&128)){m=2;l=0;break}v=h[e+2>>0]|0;k=v<<14|k&16383;if(!(v&128)){m=3;l=0;break}v=h[e+3>>0]|0;k=v<<21|k&2097151;if(!(v&128)){m=4;l=0;break}m=28;c=e+4|0;k=k&268435455;l=0;do{v=c;c=c+1|0;v=h[v>>0]|0;u=WA(v&127|0,0,m|0)|0;k=KA(u|0,ba()|0,k|0,l|0)|0;l=ba()|0;m=m+7|0}while(m>>>0<64&((v&128|0)!=0|0!=0));m=c-e|0}while(0);c=l;l=e+m|0}else{k=0;c=0;l=0}f[z>>2]=l;m=(n|0)!=0;l=(l|0)!=0;if(m|l){s=(a|0)==0;u=s?1:-1;v=s?0:-1;e=0;r=o;q=c;p=m;a=l;c=0;m=0;while(1){o=LA(d|0,r|0,k|0,q|0)|0;o=QA(o|0,ba()|0,u|0,v|0)|0;l=ba()|0;do if(!((o|0)==0&(l|0)==0&(p&a))){e=s|(e|0)==0;if((l|0)<0&p|a^1){a=LA(d|0,r|0,c|0,m|0)|0;p=ba()|0;o=LA(c|0,m|0,d|0,r|0)|0;c=ba()|0;n=f[A>>2]|0;g=n;o=e?a:o;c=e?p:c;while(1){l=o&255;m=g+1|0;b[g>>0]=l|-128;o=VA(o|0,c|0,7)|0;c=ba()|0;if((o|0)==0&(c|0)==0)break;else g=m}b[g>>0]=l&127;c=(f[A>>2]|0)+(m-n)|0;f[A>>2]=c;g=f[y>>2]|0;n=g;l=0;while(1){m=b[n>>0]|0;e=n+1|0;if(!(l<<24>>24|m))break;else{n=e;l=m&128}}o=e;p=o-g|0;YA(c|0,g|0,p|0)|0;f[A>>2]=c+p;f[y>>2]=e;if(e>>>0>=w>>>0){f[y>>2]=0;o=d;l=r;g=k;n=q;c=d;m=r;break}m=b[e>>0]|0;l=m&255;do if(!(l&128)){c=1;m=m&255;l=0}else{p=h[n+2>>0]|0;l=p<<7|l&127;if(!(p&128)){c=2;m=l;l=0;break}p=h[n+3>>0]|0;l=p<<14|l&16383;if(!(p&128)){c=3;m=l;l=0;break}p=h[n+4>>0]|0;m=p<<21|l&2097151;if(!(p&128)){c=4;l=0;break}g=28;c=n+5|0;m=m&268435455;l=0;do{p=c;c=c+1|0;p=h[p>>0]|0;a=WA(p&127|0,0,g|0)|0;m=KA(a|0,ba()|0,m|0,l|0)|0;l=ba()|0;g=g+7|0}while(g>>>0<64&((p&128|0)!=0|0!=0));c=c-o|0}while(0);f[y>>2]=e+c;g=LA(0,0,m|0,l|0)|0;o=ba()|0;o=KA((s?m:g)|0,(s?l:o)|0,d|0,r|0)|0;l=ba()|0;g=k;n=q;c=d;m=r;break}else{a=LA(k|0,q|0,c|0,m|0)|0;p=ba()|0;o=LA(c|0,m|0,k|0,q|0)|0;c=ba()|0;n=f[A>>2]|0;g=n;o=e?a:o;c=e?p:c;while(1){l=o&255;m=g+1|0;b[g>>0]=l|-128;o=VA(o|0,c|0,7)|0;c=ba()|0;if((o|0)==0&(c|0)==0)break;else g=m}b[g>>0]=l&127;c=(f[A>>2]|0)+(m-n)|0;f[A>>2]=c;g=f[z>>2]|0;n=g;l=0;while(1){m=b[n>>0]|0;e=n+1|0;if(!(l<<24>>24|m))break;else{n=e;l=m&128}}o=e;p=o-g|0;YA(c|0,g|0,p|0)|0;f[A>>2]=c+p;f[z>>2]=e;if(e>>>0>=x>>>0){f[z>>2]=0;o=d;l=r;g=k;n=q;c=k;m=q;break}m=b[e>>0]|0;l=m&255;do if(!(l&128)){c=1;m=m&255;l=0}else{p=h[n+2>>0]|0;l=p<<7|l&127;if(!(p&128)){c=2;m=l;l=0;break}p=h[n+3>>0]|0;l=p<<14|l&16383;if(!(p&128)){c=3;m=l;l=0;break}p=h[n+4>>0]|0;m=p<<21|l&2097151;if(!(p&128)){c=4;l=0;break}g=28;c=n+5|0;m=m&268435455;l=0;do{p=c;c=c+1|0;p=h[p>>0]|0;a=WA(p&127|0,0,g|0)|0;m=KA(a|0,ba()|0,m|0,l|0)|0;l=ba()|0;g=g+7|0}while(g>>>0<64&((p&128|0)!=0|0!=0));c=c-o|0}while(0);f[z>>2]=e+c;o=LA(0,0,m|0,l|0)|0;g=ba()|0;g=KA((s?m:o)|0,(s?l:g)|0,k|0,q|0)|0;o=d;l=r;n=ba()|0;c=k;m=q;break}}else{a=s|(e|0)==0;e=LA(d|0,r|0,c|0,m|0)|0;p=ba()|0;g=LA(c|0,m|0,d|0,r|0)|0;o=ba()|0;m=f[A>>2]|0;l=m;g=a?e:g;o=a?p:o;while(1){c=g&255;n=l+1|0;b[l>>0]=c|-128;g=VA(g|0,o|0,7)|0;o=ba()|0;if((g|0)==0&(o|0)==0)break;else l=n}b[l>>0]=c&127;f[A>>2]=(f[A>>2]|0)+(n-m);Wt(A,y,z);n=f[y>>2]|0;if(n>>>0>>0){m=b[n>>0]|0;l=m&255;do if(!(l&128)){c=1;l=m&255;m=0}else{p=h[n+1>>0]|0;l=p<<7|l&127;if(!(p&128)){c=2;m=0;break}p=h[n+2>>0]|0;l=p<<14|l&16383;if(!(p&128)){c=3;m=0;break}p=h[n+3>>0]|0;l=p<<21|l&2097151;if(!(p&128)){c=4;m=0;break}c=28;g=n+4|0;l=l&268435455;m=0;do{p=g;g=g+1|0;p=h[p>>0]|0;a=WA(p&127|0,0,c|0)|0;l=KA(a|0,ba()|0,l|0,m|0)|0;m=ba()|0;c=c+7|0}while(c>>>0<64&((p&128|0)!=0|0!=0));c=g-n|0}while(0);f[y>>2]=n+c;e=LA(0,0,l|0,m|0)|0;o=ba()|0;o=KA((s?l:e)|0,(s?m:o)|0,d|0,r|0)|0;e=ba()|0}else{f[y>>2]=0;o=d;e=r}n=f[z>>2]|0;if(n>>>0>=x>>>0){f[z>>2]=0;l=e;g=k;n=q;c=d;m=r;break}m=b[n>>0]|0;l=m&255;do if(!(l&128)){c=1;l=m&255;m=0}else{p=h[n+1>>0]|0;l=p<<7|l&127;if(!(p&128)){c=2;m=0;break}p=h[n+2>>0]|0;l=p<<14|l&16383;if(!(p&128)){c=3;m=0;break}p=h[n+3>>0]|0;l=p<<21|l&2097151;if(!(p&128)){c=4;m=0;break}c=28;g=n+4|0;l=l&268435455;m=0;do{p=g;g=g+1|0;p=h[p>>0]|0;a=WA(p&127|0,0,c|0)|0;l=KA(a|0,ba()|0,l|0,m|0)|0;m=ba()|0;c=c+7|0}while(c>>>0<64&((p&128|0)!=0|0!=0));c=g-n|0}while(0);f[z>>2]=n+c;n=LA(0,0,l|0,m|0)|0;g=ba()|0;g=KA((s?l:n)|0,(s?m:g)|0,k|0,q|0)|0;l=e;n=ba()|0;c=d;m=r}while(0);p=(f[y>>2]|0)!=0;a=(f[z>>2]|0)!=0;if(!(p|a))break;else{e=1;d=o;r=l;k=g;q=n}}d=f[A>>2]|0}else d=C;f[i>>2]=B;f[j>>2]=d-C;j=0;t=D;return j|0}function du(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;j=a+4|0;c=f[a>>2]|0;if((f[j>>2]|0)>0){g=0;do{e=f[c+(g<<2)>>2]|0;do if(e|0){do if((f[e+56>>2]|0)==0?(h=f[e+64>>2]|0,h|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{d=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);do if((b[e+5>>0]|0)==0?(i=f[e+40>>2]|0,i|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{d=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);c=f[e+52>>2]|0;do if(c|0){d=f[c+20>>2]|0;Fi(f[c+16>>2]|0)|0;if(d|0){if(f[d+480>>2]|0){Kc(d,c);break}k=c;if((f[d+304>>2]|0)>>>0<=k>>>0?(f[d+308>>2]|0)>>>0>k>>>0:0){k=d+300|0;f[c>>2]=f[k>>2];f[k>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{k=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{k=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);g=g+1|0;c=f[a>>2]|0}while((g|0)<(f[j>>2]|0))}do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{k=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=a+16|0;d=f[c>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{k=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);f[j>>2]=0;f[a>>2]=0;f[c>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{k=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function eu(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=t;t=t+16|0;g=m;h=m+8|0;j=a+164|0;e=f[j>>2]|0;f[h>>2]=e;do if(!e){e=f[a+20>>2]|0;f[g>>2]=f[a+16>>2];f[g+4>>2]=e;e=wd(64725,g)|0;if(!e){j=0;i=7;break}i=Ki(f[a+12>>2]|0,e,-1,129,0,h,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{l=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}e=f[h>>2]|0;f[j>>2]=e;if(!i)k=9;else j=0}else k=9;while(0);if((k|0)==9){l=e;g=f[a+280>>2]|0;h=((g|0)<0)<<31>>31;do if(!(Op(l,1)|0)){i=f[l+116>>2]|0;j=i+8|0;if(!(d[j>>1]&9216)){k=i;f[k>>2]=g;f[k+4>>2]=h;d[j>>1]=4;break}else{bf(i,g,h);break}}while(0);k=a+252|0;g=f[k>>2]|0;h=((g|0)<0)<<31>>31;do if(!(Op(l,2)|0)){j=f[l+116>>2]|0;i=j+40|0;j=j+48|0;if(!(d[j>>1]&9216)){f[i>>2]=g;f[i+4>>2]=h;d[j>>1]=4;break}else{bf(i,g,h);break}}while(0);if((Ei(l)|0)==100){g=0;h=0;while(1){j=Ip(l,0)|0;a:do if(!g){i=0;while(1){if((i|0)>=(f[k>>2]|0)){g=0;break a}g=kt(a,j,i,-2)|0;n=(g|0)==101;g=n?0:g;h=n?1:h;if(!g)i=i+1|0;else break}}while(0);if((Ei(l)|0)!=100){i=g;break}}}else{h=0;i=0}do if(e){e=f[l>>2]|0;n=l+128|0;k=f[n+4>>2]|0;if((k|0)>0|(k|0)==0&(f[n>>2]|0)>>>0>0)Hi(e,l);g=fg(l)|0;f[l+20>>2]=770837923;f[l+36>>2]=-1;f[l+40>>2]=0;b[l+142>>0]=2;f[l+44>>2]=0;f[l+32>>2]=1;b[l+143>>0]=-1;f[l+48>>2]=0;n=l+64|0;f[n>>2]=0;f[n+4>>2]=0;if((g|0)==3082|(b[e+81>>0]|0)!=0){Di(e);e=7;break}else{e=f[e+68>>2]&g;break}}else e=0;while(0);j=h;i=(i|0)==0?e:i}e=a+248|0;g=f[e>>2]|0;if(!g){f[e>>2]=0;ht(a);n=(i|0)==0;c=(c|0)!=0;c=c&n;n=(j|0)!=0;n=c&n;n=n?101:i;t=m;return n|0}h=f[g+20>>2]|0;Fi(f[g+16>>2]|0)|0;if(h|0){if(f[h+480>>2]|0){Kc(h,g);f[e>>2]=0;ht(a);n=(i|0)==0;c=(c|0)!=0;c=c&n;n=(j|0)!=0;n=c&n;n=n?101:i;t=m;return n|0}n=g;if((f[h+304>>2]|0)>>>0<=n>>>0?(f[h+308>>2]|0)>>>0>n>>>0:0){n=h+300|0;f[g>>2]=f[n>>2];f[n>>2]=g;f[e>>2]=0;ht(a);n=(i|0)==0;c=(c|0)!=0;c=c&n;n=(j|0)!=0;n=c&n;n=n?101:i;t=m;return n|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);f[e>>2]=0;ht(a);n=(i|0)==0;c=(c|0)!=0;c=c&n;n=(j|0)!=0;n=c&n;n=n?101:i;t=m;return n|0}else{n=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);f[e>>2]=0;ht(a);n=(i|0)==0;c=(c|0)!=0;c=c&n;n=(j|0)!=0;n=c&n;n=n?101:i;t=m;return n|0}return 0}function fu(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+16|0;g=m;l=Lt(f[d>>2]|0,a,f[d+4>>2]|0,g)|0;k=f[(f[a+20>>2]|0)+64>>2]|0;e=f[g>>2]|0;if(!e){h=0;i=0}else{a=b[e>>0]|0;c=a&255;if(c&128){j=b[e+1>>0]|0;c=j<<7|a&127;if(j&128){j=b[e+2>>0]|0;c=j<<14|c&16383;if(j&128){j=b[e+3>>0]|0;c=j<<21|c&2097151;if(!(j&128))a=4;else{c=(b[e+4>>0]&7)<<28|c&268435455;a=5}}else a=3}else a=2}else a=1;i=e+a|0;f[g>>2]=i;h=c+-2|0}if((k|0)<=0){t=m;return l|0}j=f[d+24>>2]|0;e=d+8|0;g=k+-1|0;a=f[e>>2]|0;c=0;d=a;while(1){f[j+(d*12|0)+8>>2]=g-c;f[j+(d*12|0)>>2]=i;f[j+(d*12|0)+4>>2]=h;c=c+1|0;if((c|0)==(k|0))break;else d=d+1|0}f[e>>2]=a+k;t=m;return l|0}function gu(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=t;t=t+16|0;h=j;i=f[d+16>>2]|0;f[i+(c*24|0)>>2]=f[(f[a+20>>2]|0)+64>>2];e=Lt(f[d>>2]|0,a,f[d+4>>2]|0,h)|0;g=f[h>>2]|0;if(!g){t=j;return e|0}f[i+(c*24|0)+4>>2]=g;d=b[g>>0]|0;a=d&255;if(a&128){k=b[g+1>>0]|0;a=k<<7|d&127;if(k&128){k=b[g+2>>0]|0;a=k<<14|a&16383;if(k&128){k=b[g+3>>0]|0;a=k<<21|a&2097151;if(!(k&128))d=4;else{a=(b[g+4>>0]&7)<<28|a&268435455;d=5}}else d=3}else d=2}else d=1;g=g+d|0;f[h>>2]=g;k=a+-2|0;h=g;f[i+(c*24|0)+12>>2]=h;f[i+(c*24|0)+20>>2]=h;f[i+(c*24|0)+8>>2]=k;f[i+(c*24|0)+16>>2]=k;t=j;return e|0}function hu(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,jb=0,kb=0,lb=0,mb=0,nb=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0;Ib=t;t=t+256|0;Eb=Ib+232|0;Cb=Ib+224|0;Bb=Ib+216|0;Ab=Ib+208|0;zb=Ib+200|0;yb=Ib+192|0;xb=Ib+184|0;wb=Ib+176|0;vb=Ib+168|0;ub=Ib+160|0;tb=Ib+152|0;rb=Ib+144|0;qb=Ib+136|0;pb=Ib+128|0;Db=Ib+120|0;sb=Ib+112|0;l=Ib+104|0;Fb=Ib+56|0;kb=Ib+244|0;lb=Ib+8|0;mb=Ib;nb=Ib+240|0;if(Mc()|0){Hb=7;t=Ib;return Hb|0}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](640)|0;if(!g){Hb=7;t=Ib;return Hb|0}else Gb=g}else{g=ib[f[37372>>2]&255](640)|0;if((f[18194]|0)>>>0<640)f[18194]=640;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){Gb=f[18187]|0;hb=LA(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;gb=ba()|0;f[17976]=((gb|0)<0|(gb|0)==0&hb>>>0<=Gb>>>0)&1}i=ib[f[37356>>2]&255](g)|0;if(!i){Hb=7;t=Ib;return Hb|0}g=ib[f[37368>>2]&255](i)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;Gb=i}else Gb=i}gb=Gb+568|0;hb=Gb+584|0;k=a+144|0;g=f[k>>2]|0;f[Fb>>2]=g;do if(!g){g=f[a+20>>2]|0;f[l>>2]=f[a+16>>2];f[l+4>>2]=g;g=wd(63474,l)|0;if(!g){i=7;g=0;break}i=Ki(f[a+12>>2]|0,g,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](g);else{fb=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-fb;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g)}g=f[Fb>>2]|0;f[k>>2]=g;if(!i){n=g;L=21}else g=0}else{n=g;L=21}while(0);do if((L|0)==21){o=n;do if(!(Op(o,1)|0)){g=f[o+116>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){fb=g;f[fb>>2]=1;f[fb+4>>2]=0;d[i>>1]=4;break}else{bf(g,1,0);break}}while(0);do if((Ei(o)|0)==100){if(!n)i=lf(37592)|0;else{g=f[o+104>>2]|0;if((g|0)!=0?(d[o+140>>1]|0)!=0:0)i=o;else{g=f[o>>2]|0;f[g+64>>2]=25;Bg(g,25);g=37592;i=o}l=lf(g)|0;g=f[i>>2]|0;k=o+40|0;i=f[k>>2]|0;if((i|0)==3082|(b[g+81>>0]|0)!=0){Di(g);g=7}else g=f[g+68>>2]&i;f[k>>2]=g;i=l}l=Gp(o,0)|0;if(i){if((l|0)>0){if(Mc()|0){m=7;g=0;l=0;p=0;break}g=Nc(0,l,0)|0;if(!g){m=7;g=0;l=0;p=0;break}else k=l}else{g=0;k=0}YA(g|0,i|0,l|0)|0;m=0;p=k}else{m=0;g=0;l=0;p=0}}else{m=0;g=0;l=0;p=0}while(0);do if(n){i=f[o>>2]|0;fb=o+128|0;eb=f[fb+4>>2]|0;if((eb|0)>0|(eb|0)==0&(f[fb>>2]|0)>>>0>0)Hi(i,o);k=fg(o)|0;f[o+20>>2]=770837923;f[o+36>>2]=-1;f[o+40>>2]=0;b[o+142>>0]=2;f[o+44>>2]=0;f[o+32>>2]=1;b[o+143>>0]=-1;f[o+48>>2]=0;fb=o+64|0;f[fb>>2]=0;f[fb+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&k;break}}else i=0;while(0);i=(m|0)==0?i:m;if((i|0)==0&(c|0)>0){cb=a+252|0;db=a+168|0;eb=a+16|0;fb=a+20|0;P=(e|0)>2?e:2;Q=a+12|0;R=Gb+580|0;S=a+88|0;T=Gb+588|0;V=a+116|0;W=Gb+600|0;X=a+104|0;Y=Gb+596|0;Z=Gb+572|0;_=Gb+624|0;$=Gb+628|0;aa=a+184|0;ca=Gb+40|0;da=a+172|0;ea=Gb+632|0;fa=Gb+636|0;ga=Gb+64|0;ha=Gb+68|0;ia=Gb+76|0;ja=Gb+80|0;ka=a+228|0;la=Gb+56|0;ma=Gb+4|0;na=Gb+84|0;oa=Gb+48|0;pa=Gb+116|0;qa=Gb+108|0;ra=Gb+8|0;sa=Gb+16|0;ta=Gb+24|0;ua=Gb+32|0;va=a+96|0;wa=Gb+112|0;xa=Gb+88|0;ya=Gb+120|0;za=Gb+152|0;Aa=Gb+184|0;Ba=Gb+216|0;Ca=Gb+248|0;Da=Gb+280|0;Ea=Gb+312|0;Fa=Gb+344|0;Ga=Gb+376|0;Ha=Gb+408|0;Ia=Gb+440|0;Ja=Gb+472|0;Ka=Gb+504|0;La=Gb+536|0;Ma=a+192|0;Na=a+176|0;Oa=a+124|0;Pa=lb+4|0;Qa=a+188|0;Ra=kb+4|0;Sa=a+196|0;Ta=lb+8|0;Ua=lb+4|0;Va=a+236|0;Wa=lb+16|0;Xa=lb+24|0;Ya=lb+28|0;Za=Fb+8|0;_a=Fb+4|0;$a=Fb+16|0;ab=Fb+28|0;O=Fb+24|0;bb=a+180|0;K=c;k=0;o=0;e=0;while(1){v=f[cb>>2]<<10;w=((v|0)<0)<<31>>31;N=f[db>>2]|0;f[Fb>>2]=N;i=N;if((N|0)==0?(jb=f[fb>>2]|0,f[sb>>2]=f[eb>>2],f[sb+4>>2]=jb,jb=wd(64915,sb)|0,(jb|0)!=0):0){Ki(f[Q>>2]|0,jb,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](jb);else{N=ib[f[37368>>2]&255](jb)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](jb)}i=f[Fb>>2]|0;f[db>>2]=i}c=i;do if(!(Op(c,1)|0)){m=f[c+116>>2]|0;n=m+8|0;if(!(d[n>>1]&9216)){N=m;f[N>>2]=P;f[N+4>>2]=0;d[n>>1]=4;break}else{bf(m,P,0);break}}while(0);if((Ei(c)|0)==100){o=Jp(c,0)|0;e=ba()|0;u=Ip(c,1)|0}else u=-1;do if(i){i=f[c>>2]|0;N=c+128|0;M=f[N+4>>2]|0;if((M|0)>0|(M|0)==0&(f[N>>2]|0)>>>0>0)Hi(i,c);m=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;N=c+64|0;f[N>>2]=0;f[N+4>>2]=0;if(!((m|0)==3082|(b[i+81>>0]|0)!=0)){i=f[i+68>>2]&m;if(!i){L=67;break}else{c=0;m=u;n=l;L=94;break}}else{Di(i);c=0;m=u;i=7;n=l;L=94;break}}else L=67;while(0);if((L|0)==67){L=0;if(l){n=l+-2|0;a:do if((l|0)>2)while(1){i=n+-1|0;if((b[g+i>>0]|0)>=0)break a;if((n|0)>1)n=i;else{n=i;break}}while(0);b:do if((n|0)>0)while(1){i=n+-1|0;if((b[g+i>>0]|0)>=0)break b;if((n|0)>1)n=i;else{n=i;break}}while(0);r=g+n|0;m=b[r>>0]|0;i=m&255;do if(!(i&128)){c=1;s=m&255;q=0}else{N=h[r+1>>0]|0;i=N<<7|i&127;if(!(N&128)){c=2;s=i;q=0;break}N=h[r+2>>0]|0;i=N<<14|i&16383;if(!(N&128)){c=3;s=i;q=0;break}N=h[r+3>>0]|0;i=N<<21|i&2097151;if(!(N&128)){c=4;s=i;q=0;break}m=28;c=r+4|0;i=i&268435455;q=0;do{N=c;c=c+1|0;N=h[N>>0]|0;M=WA(N&127|0,0,m|0)|0;i=KA(M|0,ba()|0,i|0,q|0)|0;q=ba()|0;m=m+7|0}while(m>>>0<64&((N&128|0)!=0|0!=0));c=c-r|0;s=i}while(0);r=c+n|0;c=g+r|0;i=b[c>>0]|0;m=i&255;do if(!(m&128))i=1;else{N=b[c+1>>0]|0;i=N<<7|i&127;if(!(N&128)){m=i;i=2;break}N=b[c+2>>0]|0;i=N<<14|i&16383;if(!(N&128)){m=i;i=3;break}N=b[c+3>>0]|0;i=N<<21|i&2097151;if(!(N&128)){m=i;i=4;break}m=(b[c+4>>0]&7)<<28|i&268435455;i=5}while(0);i=(i+r|0)==(l|0)?0:267;if((u|0)>=0?(M=RA(o|0,e|0,v|0,w|0)|0,I=ba()|0,N=RA(s|0,q|0,v|0,w|0)|0,J=ba()|0,(I|0)<(J|0)|(I|0)==(J|0)&M>>>0>>0):0){F=0;J=u;n=l;N=o;M=e}else{c=1;k=1;o=s;e=q;L=94}}else{c=0;m=u;i=0;n=0;L=94}}if((L|0)==94){L=0;if((m|0)<0)break;else{F=c;J=m;N=o;M=e}}_A(Gb|0,0,640)|0;f[R>>2]=1;c:do if(!i){i=f[S>>2]|0;f[Fb>>2]=i;do if(!i){i=f[fb>>2]|0;f[Db>>2]=f[eb>>2];f[Db+4>>2]=i;i=wd(63582,Db)|0;if(!i){s=0;L=116;break}l=Ki(f[Q>>2]|0,i,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{L=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[Fb>>2]|0;f[S>>2]=i;if(!l)L=104;else{s=0;L=116}}else L=104;while(0);if((L|0)==104){L=0;c=i;l=KA(N|0,M|0,1,0)|0;m=ba()|0;do if(!(Op(c,1)|0)){o=f[c+116>>2]|0;e=o+8|0;if(!(d[e>>1]&9216)){I=o;f[I>>2]=l;f[I+4>>2]=m;d[e>>1]=4;break}else{bf(o,l,m);break}}while(0);Ei(c)|0;m=Ip(c,0)|0;do if(i){i=f[c>>2]|0;I=c+128|0;H=f[I+4>>2]|0;if((H|0)>0|(H|0)==0&(f[I>>2]|0)>>>0>0)Hi(i,c);l=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;I=c+64|0;f[I>>2]=0;f[I+4>>2]=0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&l;break}}else i=0;while(0);if(m)if((F|0)!=0&(m|0)==1){s=1;L=116}else E=m;else{s=0;L=116}}do if((L|0)==116){L=0;c=KA(N|0,M|0,1,0)|0;q=ba()|0;i=f[V>>2]|0;f[Fb>>2]=i;if(!i){l=f[fb>>2]|0;f[pb>>2]=f[eb>>2];f[pb+4>>2]=l;l=wd(63516,pb)|0;if(!l){m=K;i=7;l=p;L=789;break c}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{I=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[V>>2]=l;if(!i)i=l;else{m=K;l=p;L=789;break c}}r=i;l=KA(N|0,M|0,2,0)|0;m=ba()|0;do if(!(Op(r,1)|0)){o=f[r+116>>2]|0;e=o+8|0;if(!(d[e>>1]&9216)){I=o;f[I>>2]=l;f[I+4>>2]=m;d[e>>1]=4;break}else{bf(o,l,m);break}}while(0);l=OA(c|0,q|0,1024,0)|0;l=WA(l|0,ba()|0,10)|0;l=KA(l|0,ba()|0,1024,0)|0;m=ba()|0;do if(!(Op(r,2)|0)){e=f[r+116>>2]|0;o=e+40|0;e=e+48|0;if(!(d[e>>1]&9216)){I=o;f[I>>2]=l;f[I+4>>2]=m;d[e>>1]=4;break}else{bf(o,l,m);break}}while(0);if((Ei(r)|0)==100){if(!i)l=1;else{l=f[r+104>>2]|0;do if(!l)L=137;else{if(!(d[r+140>>1]|0)){L=137;break}m=r}while(0);if((L|0)==137){L=0;l=f[r>>2]|0;f[l+64>>2]=25;Bg(l,25);l=37592;m=r}l=d[l+8>>1]&31;m=f[m>>2]|0;e=r+40|0;o=f[e>>2]|0;if((o|0)==3082|(b[m+81>>0]|0)!=0){Di(m);m=7}else m=f[m+68>>2]&o;f[e>>2]=m}m=-1431655766>>>l&1}else m=0;do if(i){i=f[r>>2]|0;I=r+128|0;H=f[I+4>>2]|0;if((H|0)>0|(H|0)==0&(f[I>>2]|0)>>>0>0)Hi(i,r);l=fg(r)|0;f[r+20>>2]=770837923;f[r+36>>2]=-1;f[r+40>>2]=0;b[r+142>>0]=2;f[r+44>>2]=0;f[r+32>>2]=1;b[r+143>>0]=-1;f[r+48>>2]=0;I=r+64|0;f[I>>2]=0;f[I+4>>2]=0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&l;break}}else i=0;while(0);if(!m){E=s;break}f[R>>2]=f[R>>2]|2;E=s}while(0);if(!i){C=hb;D=C+56|0;do{f[C>>2]=0;C=C+4|0}while((C|0)<(D|0));i=J<<2;l=Fd(i)|0;f[hb>>2]=l;if(!l){m=K;i=7;l=p;L=789}else{_A(l|0,0,i|0)|0;i=f[X>>2]|0;f[Fb>>2]=i;if(!i){l=f[fb>>2]|0;f[qb>>2]=f[eb>>2];f[qb+4>>2]=l;l=wd(64378,qb)|0;if(!l){m=K;i=7;l=p;L=789;break}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{I=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[X>>2]=l;if(!i)i=l;else{m=K;l=p;L=789;break}}B=i;do if(!(Op(B,1)|0)){l=f[B+116>>2]|0;m=l+8|0;if(!(d[m>>1]&9216)){I=l;f[I>>2]=N;f[I+4>>2]=M;d[m>>1]=4;break}else{bf(l,N,M);break}}while(0);z=(i|0)==0;x=B+104|0;A=B+40|0;y=B+140|0;d:do if(z){w=0;while(1){if(!((w|0)<(J|0)&(Ei(B)|0)==100)){m=0;o=1;break d}i=Jp(B,1)|0;l=ba()|0;m=Jp(B,2)|0;o=ba()|0;e=Jp(B,3)|0;c=ba()|0;q=lf(37592)|0;r=Gp(B,4)|0;s=(f[hb>>2]|0)+(w<<2)|0;v=(i|0)==0&(l|0)==0?r+20|0:0;u=Fd(v+96|0)|0;if(!u)i=7;else{C=u;D=C+96|0;do{f[C>>2]=0;C=C+4|0}while((C|0)<(D|0));f[u>>2]=w;b[u+4>>0]=0;I=u+8|0;f[I>>2]=i;f[I+4>>2]=l;I=u+16|0;f[I>>2]=m;f[I+4>>2]=o;I=u+24|0;f[I>>2]=e;f[I+4>>2]=c;if(!v){G=KA(i|0,l|0,-1,-1)|0;H=ba()|0;I=u+32|0;f[I>>2]=G;f[I+4>>2]=H}else{C=u+96|0;f[u+40>>2]=C;b[u+5>>0]=1;f[u+44>>2]=r;YA(C|0,q|0,r|0)|0;C=C+r|0;D=C+20|0;do{b[C>>0]=0;C=C+1|0}while((C|0)<(D|0))}f[s>>2]=u;i=0}f[T>>2]=(f[T>>2]|0)+1;if(!i)w=w+1|0;else{m=i;o=0;break}}}else{w=0;while(1){if(!((w|0)<(J|0)&(Ei(B)|0)==100)){m=0;o=1;break d}c=Jp(B,1)|0;q=ba()|0;r=Jp(B,2)|0;s=ba()|0;u=Jp(B,3)|0;v=ba()|0;i=f[x>>2]|0;do if(!i)L=179;else{if((j[y>>1]|0)<=4){L=179;break}i=i+160|0}while(0);if((L|0)==179){L=0;i=f[B>>2]|0;f[i+64>>2]=25;Bg(i,25);i=37592}e=lf(i)|0;i=f[B>>2]|0;l=f[A>>2]|0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7}else i=f[i+68>>2]&l;f[A>>2]=i;i=Gp(B,4)|0;l=(f[hb>>2]|0)+(w<<2)|0;o=(c|0)==0&(q|0)==0?i+20|0:0;m=Fd(o+96|0)|0;if(!m)i=7;else{C=m;D=C+96|0;do{f[C>>2]=0;C=C+4|0}while((C|0)<(D|0));f[m>>2]=w;b[m+4>>0]=0;I=m+8|0;f[I>>2]=c;f[I+4>>2]=q;I=m+16|0;f[I>>2]=r;f[I+4>>2]=s;I=m+24|0;f[I>>2]=u;f[I+4>>2]=v;if(!o){G=KA(c|0,q|0,-1,-1)|0;H=ba()|0;I=m+32|0;f[I>>2]=G;f[I+4>>2]=H}else{C=m+96|0;f[m+40>>2]=C;b[m+5>>0]=1;f[m+44>>2]=i;YA(C|0,e|0,i|0)|0;C=C+i|0;D=C+20|0;do{b[C>>0]=0;C=C+1|0}while((C|0)<(D|0))}f[l>>2]=m;i=0}f[T>>2]=(f[T>>2]|0)+1;if(!i)w=w+1|0;else{m=i;o=0;break}}}while(0);do if(!z){i=f[B>>2]|0;I=B+128|0;H=f[I+4>>2]|0;if((H|0)>0|(H|0)==0&(f[I>>2]|0)>>>0>0)Hi(i,B);l=fg(B)|0;f[B+20>>2]=770837923;f[B+36>>2]=-1;f[A>>2]=0;b[B+142>>0]=2;f[B+44>>2]=0;f[B+32>>2]=1;b[B+143>>0]=-1;f[B+48>>2]=0;I=B+64|0;f[I>>2]=0;f[I+4>>2]=0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&l;break}}else i=0;while(0);i=o?i:m;if(i|0){m=K;l=p;L=789;break}m=f[T>>2]|0;if((m|0)!=(J|0)){q=K;i=0;break}f[Y>>2]=gb;i=mt(a,hb,f[gb>>2]|0,f[Z>>2]|0)|0;if(i|0){m=K;l=p;L=789;break}i=nt(a,hb)|0;if((i|0)!=100){m=K;l=p;L=789;break}e:do if((F|0)!=0&(E|0)>0){y=f[_>>2]|0;z=f[$>>2]|0;A=E+-1|0;i=f[aa>>2]|0;f[Fb>>2]=i;if(!i){l=f[fb>>2]|0;f[rb>>2]=f[eb>>2];f[rb+4>>2]=l;l=wd(65034,rb)|0;if(!l){m=K;c=J;i=7;l=p;L=738;break}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{I=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[aa>>2]=l;if(!i)i=l;else{m=K;c=J;l=p;L=738;break}}E=i;l=KA(N|0,M|0,1,0)|0;m=ba()|0;do if(!(Op(E,1)|0)){o=f[E+116>>2]|0;e=o+8|0;if(!(d[e>>1]&9216)){I=o;f[I>>2]=l;f[I+4>>2]=m;d[e>>1]=4;break}else{bf(o,l,m);break}}while(0);l=((A|0)<0)<<31>>31;do if(!(Op(E,2)|0)){o=f[E+116>>2]|0;m=o+40|0;o=o+48|0;if(!(d[o>>1]&9216)){I=m;f[I>>2]=A;f[I+4>>2]=l;d[o>>1]=4;break}else{bf(m,A,l);break}}while(0);do if((Ei(E)|0)!=100){if(!i){L=409;break e}i=f[E>>2]|0;L=E+128|0;I=f[L+4>>2]|0;if((I|0)>0|(I|0)==0&(f[L>>2]|0)>>>0>0)Hi(i,E);l=fg(E)|0;f[E+20>>2]=770837923;f[E+36>>2]=-1;f[E+40>>2]=0;b[E+142>>0]=2;f[E+44>>2]=0;f[E+32>>2]=1;b[E+143>>0]=-1;f[E+48>>2]=0;L=E+64|0;f[L>>2]=0;f[L+4>>2]=0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);m=K;c=J;i=7;l=p;L=738;break e}else{i=f[i+68>>2]&l;break}}else{w=Jp(E,1)|0;x=ba()|0;u=Jp(E,2)|0;v=ba()|0;B=(i|0)==0;f:do if(B)i=37592;else{i=f[E+104>>2]|0;do if(i|0){if((j[E+140>>1]|0)<=3)break;i=i+120|0;break f}while(0);i=f[E>>2]|0;f[i+64>>2]=25;Bg(i,25);i=37592}while(0);l=d[i+8>>1]|0;do if((l&514)==514){if((b[i+10>>0]|0)!=1){L=225;break}s=f[i+16>>2]|0}else L=225;while(0);do if((L|0)==225){L=0;if(l&1){s=0;break}s=Ic(i,1)|0}while(0);if(!B){i=f[E>>2]|0;m=E+40|0;l=f[m>>2]|0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7}else i=f[i+68>>2]&l;f[m>>2]=i}if(!s){l=ca;o=0;r=0;i=f[l+4>>2]|0;l=f[l>>2]|0}else{l=b[s>>0]|0;if((l+-48&255)<10){i=0;o=0;m=0;do{m=QA(o|0,m|0,10,0)|0;o=(l&255)+-48|0;o=KA(m|0,ba()|0,o|0,((o|0)<0)<<31>>31|0)|0;m=ba()|0;i=i+1|0;l=b[s+i>>0]|0}while((l+-48&255)<10)}else{i=0;o=0;m=0}g:while(1){l=b[s+i>>0]|0;switch(l<<24>>24){case 45:{L=239;break g}case 32:break;default:{q=1;r=0;break g}}i=i+1|0}if((L|0)==239){L=0;l=i+1|0;i=l;l=b[s+l>>0]|0;q=-1;r=-1}if((l+-48&255)<10){e=0;c=0;do{c=QA(e|0,c|0,10,0)|0;e=(l&255)+-48|0;e=KA(c|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;i=i+1|0;l=b[s+i>>0]|0}while((l+-48&255)<10);l=e;i=c}else{l=0;i=0}l=QA(l|0,i|0,q|0,r|0)|0;i=ba()|0;r=ca;f[r>>2]=l;f[r+4>>2]=i;r=m}m=LA(0,0,l|0,i|0)|0;e=ba()|0;if((i|0)<0){l=ca;f[l>>2]=m;f[l+4>>2]=e;l=m;i=e}b[oa>>0]=(l|0)==0&(i|0)==0&1;s=Gp(E,4)|0;if(B)q=lf(37592)|0;else{i=f[E+104>>2]|0;do if(!i)L=251;else{if((j[E+140>>1]|0)<=4){L=251;break}i=i+160|0;l=E}while(0);if((L|0)==251){L=0;i=f[E>>2]|0;f[i+64>>2]=25;Bg(i,25);i=37592;l=E}e=lf(i)|0;i=f[l>>2]|0;m=E+40|0;l=f[m>>2]|0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7}else i=f[i+68>>2]&l;f[m>>2]=i;q=e}i=f[Ma>>2]|0;f[Fb>>2]=i;do if(!i){i=f[fb>>2]|0;f[tb>>2]=f[eb>>2];f[tb+4>>2]=i;i=wd(65141,tb)|0;if(!i){m=7;break}m=Ki(f[Q>>2]|0,i,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{I=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[Fb>>2]|0;f[Ma>>2]=i;if(!m){m=i;L=265}}else{m=i;L=265}while(0);h:do if((L|0)==265){L=0;c=m;do if(!(Op(c,1)|0)){i=f[c+116>>2]|0;l=i+8|0;if(!(d[l>>1]&9216)){I=i;f[I>>2]=o;f[I+4>>2]=r;d[l>>1]=4;break}else{bf(i,o,r);break}}while(0);e=(Ei(c)|0)==100;i=e&1;do if(m){l=f[c>>2]|0;I=c+128|0;H=f[I+4>>2]|0;if((H|0)>0|(H|0)==0&(f[I>>2]|0)>>>0>0)Hi(l,c);m=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;I=c+64|0;f[I>>2]=0;f[I+4>>2]=0;if((m|0)==3082|(b[l+81>>0]|0)!=0){Di(l);m=7;break h}else{m=f[l+68>>2]&m;break}}else m=0;while(0);if(e&(m|0)==0){f[Fb>>2]=0;f[kb>>2]=0;m=yt(a,u,v,Fb,kb)|0;if(!m){m=f[Fb>>2]|0;i=f[kb>>2]|0;C=Ta;D=C+40|0;do{f[C>>2]=0;C=C+4|0}while((C|0)<(D|0));f[lb>>2]=m;f[Ua>>2]=i;do if(!(b[m>>0]|0))i=1;else{c=m+1|0;i=b[c>>0]|0;l=i&255;if(!(l&128)){I=Wa;f[I>>2]=i&255;f[I+4>>2]=0;i=2;break}I=h[m+2>>0]|0;i=I<<7|l&127;if(!(I&128)){I=Wa;f[I>>2]=i;f[I+4>>2]=0;i=3;break}I=h[m+3>>0]|0;i=I<<14|i&16383;if(!(I&128)){I=Wa;f[I>>2]=i;f[I+4>>2]=0;i=4;break}I=h[m+4>>0]|0;i=I<<21|i&2097151;if(!(I&128)){I=Wa;f[I>>2]=i;f[I+4>>2]=0;i=5;break}e=28;m=m+5|0;i=i&268435455;l=0;do{I=m;m=m+1|0;I=h[I>>0]|0;H=WA(I&127|0,0,e|0)|0;i=KA(H|0,ba()|0,i|0,l|0)|0;l=ba()|0;e=e+7|0}while(e>>>0<64&((I&128|0)!=0|0!=0));I=Wa;f[I>>2]=i;f[I+4>>2]=l;i=1-c+m|0}while(0);f[Ta>>2]=i;m=iu(lb)|0;if((m|0)==0&(f[lb>>2]|0)!=0)do m=iu(lb)|0;while((m|0)==0&(f[lb>>2]|0)!=0);l=f[Xa>>2]|0;I=f[Ya>>2]|0;i=Hz(y,l,(z|0)<(I|0)?z:I)|0;i=(((i|0)==0?z-I|0:i)|0)>0&1;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{I=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0)}else i=1;l=f[Fb>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{I=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0)}if(!((m|0)==0&(i|0)!=0))break;e=b[q>>0]|0;c=e<<24>>24;l=LA(o|0,r|0,w|0,x|0)|0;ba()|0;l=(l+1|0)/16|0;f[Gb>>2]=l;I=ta;f[I>>2]=w;f[I+4>>2]=x;I=ua;f[I>>2]=o;f[I+4>>2]=r;I=ra;f[I>>2]=N;f[I+4>>2]=M;f[sa>>2]=A;if(e<<24>>24<15){i=c;do{I=i;i=i+1|0;F=U(i,l)|0;F=KA(w|0,x|0,F|0,((F|0)<0)<<31>>31|0)|0;G=ba()|0;H=Gb+56+(i<<5)|0;f[H>>2]=F;f[H+4>>2]=G}while((I|0)<14)}o=U(l,c)|0;o=KA(w|0,x|0,o|0,((o|0)<0)<<31>>31|0)|0;m=ba()|0;l=Gb+56+(c<<5)|0;f[l>>2]=o;f[l+4>>2]=m;l=f[ka>>2]|0;l=(s|0)>(l|0)?s:l;m=Gb+56+(c<<5)+28|0;o=Gb+56+(c<<5)+20|0;i=f[o>>2]|0;if((f[m>>2]|0)<(l|0)){if(Mc()|0){m=7;break}i=Nc(i,(l|0)>0?l:0,0)|0;if(!i){m=7;break}f[m>>2]=l;f[o>>2]=i}YA(i|0,q|0,s|0)|0;f[Gb+56+(c<<5)+24>>2]=s;if(e<<24>>24<=-1){m=0;break}q=c;i=s;while(1){m=f[Gb+56+(q<<5)+20>>2]|0;C=Za;D=C+40|0;do{f[C>>2]=0;C=C+4|0}while((C|0)<(D|0));f[Fb>>2]=m;f[_a>>2]=i;if(!(b[m>>0]|0))i=1;else{e=m+1|0;i=b[e>>0]|0;l=i&255;do if(!(l&128)){I=$a;f[I>>2]=i&255;f[I+4>>2]=0;i=1}else{I=h[m+2>>0]|0;i=I<<7|l&127;if(!(I&128)){I=$a;f[I>>2]=i;f[I+4>>2]=0;i=2;break}I=h[m+3>>0]|0;i=I<<14|i&16383;if(!(I&128)){I=$a;f[I>>2]=i;f[I+4>>2]=0;i=3;break}I=h[m+4>>0]|0;i=I<<21|i&2097151;if(!(I&128)){I=$a;f[I>>2]=i;f[I+4>>2]=0;i=4;break}o=28;m=m+5|0;i=i&268435455;l=0;do{I=m;m=m+1|0;I=h[I>>0]|0;H=WA(I&127|0,0,o|0)|0;i=KA(H|0,ba()|0,i|0,l|0)|0;l=ba()|0;o=o+7|0}while(o>>>0<64&((I&128|0)!=0|0!=0));I=$a;f[I>>2]=i;f[I+4>>2]=l;i=m-e|0}while(0);i=i+1|0}f[Za>>2]=i;i=iu(Fb)|0;l=(i|0)==0;if(l&(f[Fb>>2]|0)!=0)do{i=iu(Fb)|0;l=(i|0)==0}while(l&(f[Fb>>2]|0)!=0);o=f[ab>>2]|0;do if(l){l=Gb+56+(q<<5)+16|0;m=Gb+56+(q<<5)+8|0;if((f[l>>2]|0)<(o|0)){i=f[m>>2]|0;if(Mc()|0){i=7;L=352;break}i=Nc(i,(o|0)>0?o:0,0)|0;if(!i){i=7;L=352;break}f[l>>2]=o;f[m>>2]=i}else i=f[m>>2]|0;l=f[O>>2]|0;YA(i|0,l|0,o|0)|0;f[Gb+56+(q<<5)+12>>2]=o;if((q|0)<=0){i=0;break}f[kb>>2]=0;f[lb>>2]=0;e=q+-1|0;i=$a;c=f[i>>2]|0;i=f[i+4>>2]|0;o=Gb+56+(e<<5)|0;f[o>>2]=c;f[o+4>>2]=i;i=yt(a,c,i,kb,lb)|0;c=f[lb>>2]|0;o=f[ka>>2]|0;o=(c|0)>(o|0)?c:o;do if(!i){l=Gb+56+(e<<5)+28|0;m=Gb+56+(e<<5)+20|0;i=f[m>>2]|0;if((f[l>>2]|0)<(o|0)){if(Mc()|0){i=7;break}i=Nc(i,(o|0)>0?o:0,0)|0;if(!i){i=7;break}f[l>>2]=o;f[m>>2]=i}YA(i|0,f[kb>>2]|0,c|0)|0;f[Gb+56+(e<<5)+24>>2]=c;i=0}while(0);l=f[kb>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{L=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);L=352}else L=352;while(0);if((L|0)==352){L=0;l=f[O>>2]|0}do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{I=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);l=q+-1|0;if(!((q|0)>0&(i|0)==0)){m=i;break h}q=l;i=f[Gb+56+(l<<5)+24>>2]|0}}while(0);do if(!B){i=f[E>>2]|0;L=E+128|0;I=f[L+4>>2]|0;if((I|0)>0|(I|0)==0&(f[L>>2]|0)>>>0>0)Hi(i,E);l=fg(E)|0;f[E+20>>2]=770837923;f[E+36>>2]=-1;f[E+40>>2]=0;b[E+142>>0]=2;f[E+44>>2]=0;f[E+32>>2]=1;b[E+143>>0]=-1;f[E+48>>2]=0;L=E+64|0;f[L>>2]=0;f[L+4>>2]=0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&l;break}}else i=0;while(0);i=(m|0)==0?i:m}while(0);if(!i)L=409;else{m=K;c=J;l=p;L=738}}else{i=f[da>>2]|0;f[Fb>>2]=i;if(!i){l=f[fb>>2]|0;f[ub>>2]=f[eb>>2];f[ub+4>>2]=l;l=wd(65206,ub)|0;if(!l){m=K;c=J;i=7;l=p;L=738;break}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{L=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[da>>2]=l;if(!i)i=l;else{m=K;c=J;l=p;L=738;break}}c=i;do if(!(Op(c,1)|0)){l=f[c+116>>2]|0;m=l+8|0;if(!(d[m>>1]&9216)){L=l;f[L>>2]=N;f[L+4>>2]=M;d[m>>1]=4;break}else{bf(l,N,M);break}}while(0);l=f[T>>2]|0;m=((l|0)<0)<<31>>31;do if(!(Op(c,2)|0)){e=f[c+116>>2]|0;o=e+40|0;e=e+48|0;if(!(d[e>>1]&9216)){L=o;f[L>>2]=l;f[L+4>>2]=m;d[e>>1]=4;break}else{bf(o,l,m);break}}while(0);if((Ei(c)|0)==100)o=Ip(c,0)|0;else o=0;do if(i|0){i=f[c>>2]|0;L=c+128|0;I=f[L+4>>2]|0;if((I|0)>0|(I|0)==0&(f[L>>2]|0)>>>0>0)Hi(i,c);l=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;L=c+64|0;f[L>>2]=0;f[L+4>>2]=0;if(!((l|0)==3082|(b[i+81>>0]|0)!=0)){i=f[i+68>>2]&l;if(!i)break;else{m=K;c=J;l=p;L=738;break e}}else{Di(i);m=K;c=J;i=7;l=p;L=738;break e}}while(0);i=f[va>>2]|0;f[Fb>>2]=i;if(!i){l=f[fb>>2]|0;f[vb>>2]=f[eb>>2];f[vb+4>>2]=l;l=wd(63647,vb)|0;if(!l){m=K;c=J;i=7;l=p;L=738;break}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{L=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[va>>2]=l;if(!i)i=l;else{m=K;c=J;l=p;L=738;break}}m=i;if((Ei(m)|0)==100){G=o<<4;G=KA(G|0,((G|0)<0)<<31>>31|0,-1,-1)|0;L=ba()|0;I=Jp(m,0)|0;H=ba()|0;F=ta;f[F>>2]=I;f[F+4>>2]=H;H=KA(G|0,L|0,I|0,H|0)|0;I=ba()|0;L=ua;f[L>>2]=H;f[L+4>>2]=I}do if(i|0){i=f[m>>2]|0;L=m+128|0;I=f[L+4>>2]|0;if((I|0)>0|(I|0)==0&(f[L>>2]|0)>>>0>0)Hi(i,m);l=fg(m)|0;f[m+20>>2]=770837923;f[m+36>>2]=-1;f[m+40>>2]=0;b[m+142>>0]=2;f[m+44>>2]=0;f[m+32>>2]=1;b[m+143>>0]=-1;f[m+48>>2]=0;L=m+64|0;f[L>>2]=0;f[L+4>>2]=0;if(!((l|0)==3082|(b[i+81>>0]|0)!=0)){i=f[i+68>>2]&l;if(!i)break;else{m=K;c=J;l=p;L=738;break e}}else{Di(i);m=K;c=J;i=7;l=p;L=738;break e}}while(0);i=ua;i=ot(a,f[i>>2]|0,f[i+4>>2]|0,0,0)|0;if(i|0){m=K;c=J;l=p;L=738;break}I=ra;f[I>>2]=N;f[I+4>>2]=M;f[Gb>>2]=o;f[sa>>2]=E;I=ta;L=f[I>>2]|0;I=f[I+4>>2]|0;H=la;f[H>>2]=L;f[H+4>>2]=I;H=KA(L|0,I|0,o|0,((o|0)<0)<<31>>31|0)|0;G=ba()|0;F=xa;f[F>>2]=H;f[F+4>>2]=G;F=o<<1;F=KA(L|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;G=ba()|0;H=ya;f[H>>2]=F;f[H+4>>2]=G;H=o*3|0;H=KA(L|0,I|0,H|0,((H|0)<0)<<31>>31|0)|0;G=ba()|0;F=za;f[F>>2]=H;f[F+4>>2]=G;F=o<<2;F=KA(L|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;G=ba()|0;H=Aa;f[H>>2]=F;f[H+4>>2]=G;H=o*5|0;H=KA(L|0,I|0,H|0,((H|0)<0)<<31>>31|0)|0;G=ba()|0;F=Ba;f[F>>2]=H;f[F+4>>2]=G;F=o*6|0;F=KA(L|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;G=ba()|0;H=Ca;f[H>>2]=F;f[H+4>>2]=G;H=o*7|0;H=KA(L|0,I|0,H|0,((H|0)<0)<<31>>31|0)|0;G=ba()|0;F=Da;f[F>>2]=H;f[F+4>>2]=G;F=o<<3;F=KA(L|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;G=ba()|0;H=Ea;f[H>>2]=F;f[H+4>>2]=G;H=o*9|0;H=KA(L|0,I|0,H|0,((H|0)<0)<<31>>31|0)|0;G=ba()|0;F=Fa;f[F>>2]=H;f[F+4>>2]=G;F=o*10|0;F=KA(L|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;G=ba()|0;H=Ga;f[H>>2]=F;f[H+4>>2]=G;H=o*11|0;H=KA(L|0,I|0,H|0,((H|0)<0)<<31>>31|0)|0;G=ba()|0;F=Ha;f[F>>2]=H;f[F+4>>2]=G;F=o*12|0;F=KA(L|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;G=ba()|0;H=Ia;f[H>>2]=F;f[H+4>>2]=G;H=o*13|0;H=KA(L|0,I|0,H|0,((H|0)<0)<<31>>31|0)|0;G=ba()|0;F=Ja;f[F>>2]=H;f[F+4>>2]=G;F=o*14|0;F=KA(L|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;G=ba()|0;H=Ka;f[H>>2]=F;f[H+4>>2]=G;H=o*15|0;H=KA(L|0,I|0,H|0,((H|0)<0)<<31>>31|0)|0;I=ba()|0;L=La;f[L>>2]=H;f[L+4>>2]=I;L=409}while(0);i:do if((L|0)==409){L=0;if(!(f[Gb>>2]|0)){m=K;c=J;i=0;l=p;L=738;break}j:while(1){F=f[_>>2]|0;G=f[$>>2]|0;H=f[ea>>2]|0;I=f[fa>>2]|0;l=f[ga>>2]|0;m=f[ha>>2]|0;k:do if((m|0)>0){i=0;while(1){if((b[l+i>>0]|0)!=(b[F+i>>0]|0)){B=i;break k}i=i+1|0;if((i|0)>=(m|0)){B=i;break}}}else B=0;while(0);c=0;i=B;l=((B|0)<0)<<31>>31;do{c=c+1|0;i=VA(i|0,l|0,7)|0;l=ba()|0}while(!((i|0)==0&(l|0)==0));e=G-B|0;o=0;i=e;l=((e|0)<0)<<31>>31;do{o=o+1|0;i=VA(i|0,l|0,7)|0;l=ba()|0}while(!((i|0)==0&(l|0)==0));E=((I|0)<0)<<31>>31;i=0;l=I;m=E;do{i=i+1|0;l=VA(l|0,m|0,7)|0;m=ba()|0}while(!((l|0)==0&(m|0)==0));l=e+I+c+o+i|0;i=f[ja>>2]|0;do if((i|0)>0){if((i+l|0)<=(f[ka>>2]|0)){L=468;break}D=la;i=ot(a,f[D>>2]|0,f[D+4>>2]|0,f[ia>>2]|0,i)|0;f[ma>>2]=(f[ma>>2]|0)+1;l:do if(!i){D=B+1|0;m=la;w=1;l=f[m>>2]|0;m=f[m+4>>2]|0;while(1){A=Gb+56+(w<<5)+8|0;o=f[A>>2]|0;C=Gb+56+(w<<5)+12|0;q=f[C>>2]|0;m:do if((q|0)>0){i=0;while(1){if((b[o+i>>0]|0)!=(b[F+i>>0]|0)){y=i;break m}i=i+1|0;if((i|0)>=(q|0)){y=i;break}}}else y=0;while(0);u=((y|0)<0)<<31>>31;c=0;i=y;o=u;do{c=c+1|0;i=VA(i|0,o|0,7)|0;o=ba()|0}while(!((i|0)==0&(o|0)==0));x=D-y|0;v=((x|0)<0)<<31>>31;i=0;o=x;e=v;do{i=i+1|0;o=VA(o|0,e|0,7)|0;e=ba()|0}while(!((o|0)==0&(e|0)==0));s=c+x+i|0;z=Gb+56+(w<<5)+24|0;i=f[z>>2]|0;if(!q)break;if((i+s|0)<=(f[ka>>2]|0))break;r=Gb+56+(w<<5)|0;o=r;q=Gb+56+(w<<5)+20|0;i=ot(a,f[o>>2]|0,f[o+4>>2]|0,f[q>>2]|0,i)|0;b[f[q>>2]>>0]=w;q=(f[q>>2]|0)+1|0;o=KA(l|0,m|0,1,0)|0;l=q;c=ba()|0;while(1){m=o&255;e=l+1|0;b[l>>0]=m|-128;o=VA(o|0,c|0,7)|0;c=ba()|0;if((o|0)==0&(c|0)==0)break;else l=e}b[l>>0]=m&127;f[z>>2]=1-q+e;m=r;l=f[m>>2]|0;m=f[m+4>>2]|0;y=KA(l|0,m|0,1,0)|0;z=ba()|0;A=r;f[A>>2]=y;f[A+4>>2]=z;f[C>>2]=0;if((i|0)!=0|(l|0)==0&(m|0)==0)break l;i=w+1|0;if(i>>>0<16)w=i;else{i=0;break l}}q=Gb+56+(w<<5)+20|0;if(!i){o=f[ka>>2]|0;r=Gb+56+(w<<5)+28|0;i=f[q>>2]|0;if((f[r>>2]|0)<(o|0)){if(Mc()|0){i=7;break}i=Nc(i,(o|0)>0?o:0,0)|0;if(!i){i=7;break}f[r>>2]=o;f[q>>2]=i}b[i>>0]=w;c=(f[q>>2]|0)+1|0;e=c;while(1){i=l&255;o=e+1|0;b[e>>0]=i|-128;l=VA(l|0,m|0,7)|0;m=ba()|0;if((l|0)==0&(m|0)==0)break;else e=o}b[e>>0]=i&127;i=1-c+o|0;f[z>>2]=i;m=r}else m=Gb+56+(w<<5)+28|0;l=i+s|0;if((f[m>>2]|0)<(l|0)){i=f[q>>2]|0;if(Mc()|0){i=7;break}i=Nc(i,(l|0)>0?l:0,0)|0;if(!i){i=7;break}f[m>>2]=l;f[q>>2]=i}l=Gb+56+(w<<5)+16|0;if((f[l>>2]|0)<=(B|0)){i=f[A>>2]|0;if(Mc()|0){i=7;break}i=Nc(i,(D|0)>0?D:0,0)|0;if(!i){i=7;break}f[l>>2]=D;f[A>>2]=i}if(!(f[C>>2]|0))i=f[z>>2]|0;else{e=(f[q>>2]|0)+(f[z>>2]|0)|0;o=e;c=y;m=u;while(1){i=c&255;l=o+1|0;b[o>>0]=i|-128;c=VA(c|0,m|0,7)|0;m=ba()|0;if((c|0)==0&(m|0)==0)break;else o=l}b[o>>0]=i&127;i=(f[z>>2]|0)+(l-e)|0;f[z>>2]=i}e=(f[q>>2]|0)+i|0;o=e;c=x;m=v;while(1){i=c&255;l=o+1|0;b[o>>0]=i|-128;c=VA(c|0,m|0,7)|0;m=ba()|0;if((c|0)==0&(m|0)==0)break;else o=l}b[o>>0]=i&127;i=(f[z>>2]|0)+(l-e)|0;f[z>>2]=i;YA((f[q>>2]|0)+i|0,F+y|0,x|0)|0;f[z>>2]=(f[z>>2]|0)+x;YA(f[A>>2]|0,F|0,D|0)|0;f[C>>2]=D;i=0}while(0);m=la;m=KA(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;l=ba()|0;e=la;f[e>>2]=m;f[e+4>>2]=l;f[ha>>2]=0;f[ja>>2]=0;e=0;l=G;m=((G|0)<0)<<31>>31;do{e=e+1|0;l=VA(l|0,m|0,7)|0;m=ba()|0}while(!((l|0)==0&(m|0)==0));o=0;m=I;l=E;do{o=o+1|0;m=VA(m|0,l|0,7)|0;l=ba()|0}while(!((m|0)==0&(l|0)==0));l=G+1+I+e|0;C=l+o|0;D=ca;C=KA(f[D>>2]|0,f[D+4>>2]|0,C|0,((C|0)<0)<<31>>31|0)|0;D=ba()|0;E=ca;f[E>>2]=C;f[E+4>>2]=D;if(!i){l=l+o|0;i=0;L=470}}else L=468;while(0);if((L|0)==468){C=ca;C=KA(f[C>>2]|0,f[C+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;D=ba()|0;E=ca;f[E>>2]=C;f[E+4>>2]=D;l=l+i|0;L=470}do if((L|0)==470){L=0;if((f[na>>2]|0)<(l|0)){i=f[ia>>2]|0;if(Mc()|0){m=K;c=J;i=7;l=p;L=738;break i}i=Nc(i,(l|0)>0?l:0,0)|0;if(!i){m=K;c=J;i=7;l=p;L=738;break i}f[na>>2]=l;f[ia>>2]=i;i=f[ja>>2]|0}if(!i){f[ja>>2]=1;b[f[ia>>2]>>0]=0}i=ju(ia,ga,F,G,H,I)|0;if(i|0)break;i=nt(a,hb)|0}while(0);l=f[ma>>2]|0;if((i|0)==100&(l|0)>=(K|0))break;switch(i|0){case 100:break;case 0:break j;default:{m=K;c=J;l=p;L=738;break i}}}G=K+-1-l|0;i=f[T>>2]|0;n:do if((i|0)>0){x=0;z=i;l=i;o:while(1){y=z+-1|0;if((l|0)>0){m=f[hb>>2]|0;i=0;do{o=f[m+(i<<2)>>2]|0;i=i+1|0}while((i|0)<(l|0)?(f[o>>2]|0)!=(y|0):0)}else o=0;do if(!(f[o+40>>2]|0)){e=o+8|0;m=e;i=f[m>>2]|0;m=f[m+4>>2]|0;do if(!((i|0)==0&(m|0)==0)){l=f[Oa>>2]|0;f[Fb>>2]=l;if(!l){l=f[fb>>2]|0;f[wb>>2]=f[eb>>2];f[wb+4>>2]=l;l=wd(63715,wb)|0;if(!l){L=490;break o}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[Oa>>2]=l;if(i|0){c=x;break n}m=e;i=f[m>>2]|0;m=f[m+4>>2]|0}q=l;do if(!(Op(q,1)|0)){e=f[q+116>>2]|0;c=e+8|0;if(!(d[c>>1]&9216)){K=e;f[K>>2]=i;f[K+4>>2]=m;d[c>>1]=4;break}else{bf(e,i,m);break}}while(0);e=o+24|0;m=f[e>>2]|0;e=f[e+4>>2]|0;if(Op(q,2)|0){Ei(q)|0;if(!l)break}else{l=f[q+116>>2]|0;i=l+40|0;l=l+48|0;if(!(d[l>>1]&9216)){K=i;f[K>>2]=m;f[K+4>>2]=e;d[l>>1]=4}else bf(i,m,e);Ei(q)|0}i=f[q>>2]|0;K=q+128|0;J=f[K+4>>2]|0;if((J|0)>0|(J|0)==0&(f[K>>2]|0)>>>0>0)Hi(i,q);l=fg(q)|0;f[q+20>>2]=770837923;f[q+36>>2]=-1;f[q+40>>2]=0;b[q+142>>0]=2;f[q+44>>2]=0;f[q+32>>2]=1;b[q+143>>0]=-1;f[q+48>>2]=0;K=q+64|0;f[K>>2]=0;f[K+4>>2]=0;if((l|0)==3082|(b[i+81>>0]|0)!=0){L=509;break o}i=f[i+68>>2]&l;if(i|0){c=x;break n}}while(0);e=f[o>>2]|0;i=f[Na>>2]|0;f[Fb>>2]=i;if(!i){l=f[fb>>2]|0;f[xb>>2]=f[eb>>2];f[xb+4>>2]=l;l=wd(65309,xb)|0;if(!l){L=514;break o}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[Na>>2]=l;if(!i)i=l;else{c=x;break n}}o=i;do if(!(Op(o,1)|0)){l=f[o+116>>2]|0;m=l+8|0;if(!(d[m>>1]&9216)){K=l;f[K>>2]=N;f[K+4>>2]=M;d[m>>1]=4;break}else{bf(l,N,M);break}}while(0);m=((e|0)<0)<<31>>31;if(Op(o,2)|0){Ei(o)|0;if(!i){m=x;i=0;break}}else{l=f[o+116>>2]|0;i=l+40|0;l=l+48|0;if(!(d[l>>1]&9216)){K=i;f[K>>2]=e;f[K+4>>2]=m;d[l>>1]=4}else bf(i,e,m);Ei(o)|0}i=f[o>>2]|0;K=o+128|0;J=f[K+4>>2]|0;if((J|0)>0|(J|0)==0&(f[K>>2]|0)>>>0>0)Hi(i,o);l=fg(o)|0;f[o+20>>2]=770837923;f[o+36>>2]=-1;f[o+40>>2]=0;b[o+142>>0]=2;f[o+44>>2]=0;f[o+32>>2]=1;b[o+143>>0]=-1;f[o+48>>2]=0;K=o+64|0;f[K>>2]=0;f[K+4>>2]=0;if((l|0)==3082|(b[i+81>>0]|0)!=0){L=532;break o}m=x;i=f[i+68>>2]&l}else{q=f[o+64>>2]|0;u=f[o+60>>2]|0;w=f[o>>2]|0;f[kb>>2]=0;f[kb+4>>2]=0;f[kb+8>>2]=0;f[lb>>2]=0;f[lb+4>>2]=0;f[lb+8>>2]=0;i=mb;f[i>>2]=0;f[i+4>>2]=0;i=f[aa>>2]|0;f[Fb>>2]=i;do if(!i){l=f[fb>>2]|0;f[yb>>2]=f[eb>>2];f[yb+4>>2]=l;l=wd(65034,yb)|0;if(!l){i=7;break}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[aa>>2]=l;if(!i){i=l;L=542}}else L=542;while(0);p:do if((L|0)==542){L=0;c=i;do if(!(Op(c,1)|0)){l=f[c+116>>2]|0;m=l+8|0;if(!(d[m>>1]&9216)){K=l;f[K>>2]=N;f[K+4>>2]=M;d[m>>1]=4;break}else{bf(l,N,M);break}}while(0);v=((w|0)<0)<<31>>31;do if(!(Op(c,2)|0)){m=f[c+116>>2]|0;l=m+40|0;m=m+48|0;if(!(d[m>>1]&9216)){K=l;f[K>>2]=w;f[K+4>>2]=v;d[m>>1]=4;break}else{bf(l,w,v);break}}while(0);if((Ei(c)|0)==100){if(!i)l=lf(37592)|0;else{l=f[c+104>>2]|0;do if(!l)L=555;else{if((j[c+140>>1]|0)<=4){L=555;break}l=l+160|0;m=c}while(0);if((L|0)==555){L=0;l=f[c>>2]|0;f[l+64>>2]=25;Bg(l,25);l=37592;m=c}l=lf(l)|0;m=f[m>>2]|0;e=c+40|0;o=f[e>>2]|0;if((o|0)==3082|(b[m+81>>0]|0)!=0){Di(m);m=7}else m=f[m+68>>2]&o;f[e>>2]=m}m=Gp(c,4)|0;r=Jp(c,1)|0;s=ba()|0;m=ku(l,m,kb,q,u,mb)|0}else{m=0;r=0;s=0}do if(i){i=f[c>>2]|0;K=c+128|0;J=f[K+4>>2]|0;if((J|0)>0|(J|0)==0&(f[K>>2]|0)>>>0>0)Hi(i,c);l=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;K=c+64|0;f[K>>2]=0;f[K+4>>2]=0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&l;break}}else i=0;while(0);i=(m|0)==0?i:m;m=mb;l=f[m>>2]|0;m=f[m+4>>2]|0;do if((i|0)==0&((l|0)!=0|(m|0)!=0)){while(1){f[Fb>>2]=0;f[nb>>2]=0;i=yt(a,l,m,Fb,nb)|0;do if(!i){i=ku(f[Fb>>2]|0,f[nb>>2]|0,lb,q,u,mb)|0;if(i|0)break;i=ot(a,l,m,f[lb>>2]|0,f[Pa>>2]|0)|0}while(0);o=f[Fb>>2]|0;do if(o|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{K=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}while(0);o=(i|0)==0;c=mb;e=f[c>>2]|0;c=f[c+4>>2]|0;if(o&((e|0)!=0|(c|0)!=0)){l=e;m=c}else break}if(!o)break p;i=f[Oa>>2]|0;f[Fb>>2]=i;if(!i){o=f[fb>>2]|0;f[zb>>2]=f[eb>>2];f[zb+4>>2]=o;o=wd(63715,zb)|0;if(!o){i=7;break p}i=Ki(f[Q>>2]|0,o,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](o);else{K=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o)}o=f[Fb>>2]|0;f[Oa>>2]=o;if(!i)i=o;else break p}q=i;do if(!(Op(q,1)|0)){o=f[q+116>>2]|0;e=o+8|0;if(!(d[e>>1]&9216)){K=o;f[K>>2]=r;f[K+4>>2]=s;d[e>>1]=4;break}else{bf(o,r,s);break}}while(0);e=KA(l|0,m|0,-1,-1)|0;c=ba()|0;if(Op(q,2)|0){Ei(q)|0;if(!i){e=l;break}}else{o=f[q+116>>2]|0;i=o+40|0;o=o+48|0;if(!(d[o>>1]&9216)){K=i;f[K>>2]=e;f[K+4>>2]=c;d[o>>1]=4}else bf(i,e,c);Ei(q)|0}i=f[q>>2]|0;K=q+128|0;J=f[K+4>>2]|0;if((J|0)>0|(J|0)==0&(f[K>>2]|0)>>>0>0)Hi(i,q);o=fg(q)|0;f[q+20>>2]=770837923;f[q+36>>2]=-1;f[q+40>>2]=0;b[q+142>>0]=2;f[q+44>>2]=0;f[q+32>>2]=1;b[q+143>>0]=-1;f[q+48>>2]=0;K=q+64|0;f[K>>2]=0;f[K+4>>2]=0;if((o|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break p}else{i=f[i+68>>2]&o;L=602;break}}else{l=0;m=0;L=602}while(0);if((L|0)==602){L=0;if(!i)e=l;else break}i=f[Qa>>2]|0;f[Fb>>2]=i;if(!i){l=f[fb>>2]|0;f[Ab>>2]=f[eb>>2];f[Ab+4>>2]=l;l=wd(65364,Ab)|0;if(!l){i=7;break}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[Qa>>2]=l;if(!i)i=l;else break}c=i;do if(!(Op(c,1)|0)){l=f[c+116>>2]|0;o=l+8|0;if(!(d[o>>1]&9216)){K=l;f[K>>2]=e;f[K+4>>2]=m;d[o>>1]=4;break}else{bf(l,e,m);break}}while(0);l=f[kb>>2]|0;m=f[Ra>>2]|0;do if(!((l|0)==0|(Op(c,2)|0)!=0)){l=$e((f[c+116>>2]|0)+40|0,l,m,0,0)|0;if(!l)break;m=f[c>>2]|0;f[m+64>>2]=l;Bg(m,l);m=f[c>>2]|0;if(!((l|0)==3082|(b[m+81>>0]|0)!=0))break;Di(m)}while(0);do if(!(Op(c,3)|0)){m=f[c+116>>2]|0;l=m+80|0;m=m+88|0;if(!(d[m>>1]&9216)){K=l;f[K>>2]=N;f[K+4>>2]=M;d[m>>1]=4;break}else{bf(l,N,M);break}}while(0);if(Op(c,4)|0){Ei(c)|0;if(!i)i=0;else L=629}else{l=f[c+116>>2]|0;i=l+120|0;l=l+128|0;if(!(d[l>>1]&9216)){L=i;f[L>>2]=w;f[L+4>>2]=v;d[l>>1]=4}else bf(i,w,v);Ei(c)|0;L=629}do if((L|0)==629){L=0;i=f[c>>2]|0;K=c+128|0;J=f[K+4>>2]|0;if((J|0)>0|(J|0)==0&(f[K>>2]|0)>>>0>0)Hi(i,c);l=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;K=c+64|0;f[K>>2]=0;f[K+4>>2]=0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&l;break}}while(0);Op(c,2)|0}while(0);l=f[kb>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);l=f[lb>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);m=x+1|0}while(0);l=(i|0)==0;if(!((z|0)>1&l)){L=646;break}x=m;z=y;l=f[T>>2]|0}if((L|0)==490){L=0;c=x;i=7;break}else if((L|0)==509){L=0;Di(i);c=x;i=7;break}else if((L|0)==514){L=0;c=x;i=7;break}else if((L|0)==532){L=0;Di(i);c=x;i=7;break}else if((L|0)==646){L=0;if(!l){c=m;break}F=m;i=f[T>>2]|0;L=648;break}}else{F=0;L=648}while(0);do if((L|0)==648){L=0;if((F|0)==(i|0)){c=i;i=0;break}i=f[Sa>>2]|0;f[Fb>>2]=i;do if(!i){l=f[fb>>2]|0;f[Bb>>2]=f[eb>>2];f[Bb+4>>2]=l;l=wd(65443,Bb)|0;if(!l){i=7;l=0;L=686;break}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{L=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[Sa>>2]=l;if(!i){i=l;L=657}else{l=0;L=686}}else L=657;while(0);q:do if((L|0)==657){L=0;r=i;do if(!(Op(r,1)|0)){l=f[r+116>>2]|0;m=l+8|0;if(!(d[m>>1]&9216)){K=l;f[K>>2]=N;f[K+4>>2]=M;d[m>>1]=4;break}else{bf(l,N,M);break}}while(0);r:do if((Ei(r)|0)==100){c=0;o=0;q=0;e=0;l=0;while(1){if((q|0)>=(o|0)){o=o+16|0;m=o<<2;if(Mc()|0){o=7;break r}m=Nc(e,(m|0)>0?m:0,0)|0;if(!m){o=7;break r}else{c=m;l=m;e=m}}K=Ip(r,0)|0;m=q+1|0;f[c+(q<<2)>>2]=K;if((Ei(r)|0)==100)q=m;else{q=m;o=0;break}}}else{q=0;o=0;c=0;l=0}while(0);do if(i){i=f[r>>2]|0;K=r+128|0;J=f[K+4>>2]|0;if((J|0)>0|(J|0)==0&(f[K>>2]|0)>>>0>0)Hi(i,r);m=fg(r)|0;f[r+20>>2]=770837923;f[r+36>>2]=-1;f[r+40>>2]=0;b[r+142>>0]=2;f[r+44>>2]=0;f[r+32>>2]=1;b[r+143>>0]=-1;f[r+48>>2]=0;K=r+64|0;f[K>>2]=0;f[K+4>>2]=0;if((m|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&m;break}}else i=0;while(0);i=(o|0)==0?i:o;if(i|0){L=686;break}i=f[bb>>2]|0;f[Fb>>2]=i;if(!i){m=f[fb>>2]|0;f[Cb>>2]=f[eb>>2];f[Cb+4>>2]=m;m=wd(65503,Cb)|0;if(!m){i=7;L=686;break}i=Ki(f[Q>>2]|0,m,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](m);else{K=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m)}m=f[Fb>>2]|0;f[bb>>2]=m;if(!i)i=m;else{L=686;break}}E=i;do if(!(Op(E,2)|0)){o=f[E+116>>2]|0;m=o+40|0;o=o+48|0;if(!(d[o>>1]&9216)){K=m;f[K>>2]=N;f[K+4>>2]=M;d[o>>1]=4;break}else{bf(m,N,M);break}}while(0);b[Va>>0]=1;if(!q){i=0;break}s=E+116|0;u=E+128|0;v=E+20|0;w=E+36|0;x=E+40|0;y=E+142|0;z=E+44|0;A=E+32|0;B=E+143|0;C=E+48|0;D=E+64|0;if(!i){r=0;s:while(1){i=f[c+(r<<2)>>2]|0;do if((i|0)==(r|0))i=0;else{m=((i|0)<0)<<31>>31;do if(!(Op(E,3)|0)){e=f[s>>2]|0;o=e+80|0;e=e+88|0;if(!(d[e>>1]&9216)){K=o;f[K>>2]=i;f[K+4>>2]=m;d[e>>1]=4;break}else{bf(o,i,m);break}}while(0);if(Op(E,1)|0){Ei(E)|0;i=0;break}i=f[s>>2]|0;m=i+8|0;if(!(d[m>>1]&9216)){K=i;f[K>>2]=r;f[K+4>>2]=0;d[m>>1]=4}else bf(i,r,0);Ei(E)|0;i=f[E>>2]|0;K=u;J=f[K+4>>2]|0;if((J|0)>0|(J|0)==0&(f[K>>2]|0)>>>0>0)Hi(i,E);m=fg(E)|0;f[v>>2]=770837923;f[w>>2]=-1;f[x>>2]=0;b[y>>0]=2;f[z>>2]=0;f[A>>2]=1;b[B>>0]=-1;f[C>>2]=0;K=D;f[K>>2]=0;f[K+4>>2]=0;if((m|0)==3082|(b[i+81>>0]|0)!=0)break s;i=f[i+68>>2]&m}while(0);r=r+1|0;if(!(r>>>0>>0&(i|0)==0))break q}Di(i);i=7;break}r=0;while(1){i=f[c+(r<<2)>>2]|0;if((i|0)==(r|0))i=0;else{m=((i|0)<0)<<31>>31;do if(!(Op(E,3)|0)){e=f[s>>2]|0;o=e+80|0;e=e+88|0;if(!(d[e>>1]&9216)){K=o;f[K>>2]=i;f[K+4>>2]=m;d[e>>1]=4;break}else{bf(o,i,m);break}}while(0);if(!(Op(E,1)|0)){i=f[s>>2]|0;m=i+8|0;if(!(d[m>>1]&9216)){K=i;f[K>>2]=r;f[K+4>>2]=0;d[m>>1]=4}else bf(i,r,0);Ei(E)|0}else Ei(E)|0;i=f[E>>2]|0;K=u;J=f[K+4>>2]|0;if((J|0)>0|(J|0)==0&(f[K>>2]|0)>>>0>0)Hi(i,E);m=fg(E)|0;f[v>>2]=770837923;f[w>>2]=-1;f[x>>2]=0;b[y>>0]=2;f[z>>2]=0;f[A>>2]=1;b[B>>0]=-1;f[C>>2]=0;K=D;f[K>>2]=0;f[K+4>>2]=0;if((m|0)==3082|(b[i+81>>0]|0)!=0)break;i=f[i+68>>2]&m}r=r+1|0;if(!(r>>>0>>0&(i|0)==0))break q}Di(i);i=7}while(0);if((L|0)==686){L=0;b[Va>>0]=1}b[Va>>0]=0;if(!l){c=F;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);c=F;break}else{c=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);c=F;break}}while(0);if(!c){u=G;s=p;r=1;break}k=n+20|0;if(i|0){m=G;k=1;l=p;L=739;break}if((p|0)<(k|0)){if(Mc()|0){m=G;k=1;i=7;l=p;L=739;break}i=Nc(g,(k|0)>0?k:0,0)|0;if(!i){m=G;k=1;i=7;l=p;L=739;break}else{g=i;p=k}}k=g+n|0;i=k;m=N;e=M;while(1){l=m&255;o=i+1|0;b[i>>0]=l|-128;m=VA(m|0,e|0,7)|0;e=ba()|0;if((m|0)==0&(e|0)==0)break;else i=o}b[i>>0]=l&127;n=o-k+n|0;o=g+n|0;i=o;l=c;m=((c|0)<0)<<31>>31;while(1){k=l&255;e=i+1|0;b[i>>0]=k|-128;l=VA(l|0,m|0,7)|0;m=ba()|0;if((l|0)==0&(m|0)==0)break;else i=e}b[i>>0]=k&127;m=G;k=1;i=0;n=n-o+e|0;l=p;L=738}while(0);if((L|0)==738){L=0;if(!c){u=m;s=l;r=1}else L=739}if((L|0)==739){L=0;r=ca;r=LA(0,0,f[r>>2]|0,f[r+4>>2]|0)|0;s=ba()|0;u=ca;f[u>>2]=r;f[u+4>>2]=s;u=m;s=l;r=0}m=15;while(1){if((f[Gb+56+(m<<5)+24>>2]|0)>0){L=751;break}l=f[Gb+56+(m<<5)+20>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);l=f[Gb+56+(m<<5)+8>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);if(!m)break;else m=m+-1|0}do if((L|0)==751){L=0;do if(m){if((m|0)>0)L=761}else{if(i|0){m=1;L=761;break}i=f[qa>>2]|0;if((f[pa>>2]|0)<11){if(Mc()|0){i=7;m=1;L=761;break}i=Nc(i,11,0)|0;if(!i){i=7;m=1;L=761;break}f[pa>>2]=11;f[qa>>2]=i}b[i>>0]=1;l=(f[qa>>2]|0)+1|0;p=la;i=l;o=f[p>>2]|0;p=f[p+4>>2]|0;while(1){m=o&255;e=i+1|0;b[i>>0]=m|-128;o=VA(o|0,p|0,7)|0;p=ba()|0;if((o|0)==0&(p|0)==0)break;else i=e}b[i>>0]=m&127;f[wa>>2]=1-l+e;i=0;m=1;L=761}while(0);if((L|0)==761){e=0;do{l=f[Gb+56+(e<<5)+24>>2]|0;o=Gb+56+(e<<5)+20|0;if((i|0)==0&(l|0)>0){i=Gb+56+(e<<5)|0;i=ot(a,f[i>>2]|0,f[i+4>>2]|0,f[o>>2]|0,l)|0}l=f[o>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{L=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);l=f[Gb+56+(e<<5)+8>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{L=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);e=e+1|0}while((e|0)!=(m|0))}if(!i){i=ra;i=KA(f[i>>2]|0,f[i+4>>2]|0,1,0)|0;l=ba()|0;o=ta;e=la;p=ua;if(!(b[oa>>0]|0)){q=ca;c=f[q>>2]|0;q=f[q+4>>2]|0}else{c=0;q=0}L=Gb+56+(m<<5)+20|0;i=qt(a,i,l,f[sa>>2]|0,f[o>>2]|0,f[o+4>>2]|0,f[e>>2]|0,f[e+4>>2]|0,f[p>>2]|0,f[p+4>>2]|0,c,q,f[L>>2]|0,f[Gb+56+(m<<5)+24>>2]|0)|0;l=L}else l=Gb+56+(m<<5)+20|0;l=f[l>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{L=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);l=f[Gb+56+(m<<5)+8>>2]|0;if(!l)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{L=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);if(!r){m=u;l=s;L=789;break}if(b[oa>>0]|0){m=u;l=s;L=789;break}L=KA(N|0,M|0,1,0)|0;l=ba()|0;m=ca;rt(a,L,l,f[m>>2]|0,f[m+4>>2]|0)|0;m=u;l=s;L=789}}else{m=K;l=p;L=789}}else{m=K;l=p;L=789}while(0);if((L|0)==789){L=0;q=m;p=l;m=f[T>>2]|0}l=f[hb>>2]|0;if((m|0)>0){c=0;do{e=f[l+(c<<2)>>2]|0;do if(e|0){do if(!(f[e+56>>2]|0)){l=f[e+64>>2]|0;if(!l)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);do if(!(b[e+5>>0]|0)){l=f[e+40>>2]|0;if(!l)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);l=f[e+52>>2]|0;t:do if(l|0){m=f[l+20>>2]|0;Fi(f[l+16>>2]|0)|0;do if(m|0){if(f[m+480>>2]|0){Kc(m,l);break t}o=l;if((f[m+304>>2]|0)>>>0>o>>>0)break;if((f[m+308>>2]|0)>>>0<=o>>>0)break;K=m+300|0;f[l>>2]=f[K>>2];f[K>>2]=l;break t}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{K=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);c=c+1|0;l=f[hb>>2]|0}while((c|0)<(f[T>>2]|0))}do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);l=f[W>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);f[T>>2]=0;f[hb>>2]=0;f[W>>2]=0;if((i|0)==0&(q|0)>0){K=q;l=n;o=N;e=M}else break}if((i|0)==0&(k|0)!=0){l=a+148|0;k=f[l>>2]|0;f[Fb>>2]=k;if(!k){k=f[a+20>>2]|0;f[Eb>>2]=f[a+16>>2];f[Eb+4>>2]=k;k=wd(65561,Eb)|0;if(!k){i=7;break}i=Ki(f[a+12>>2]|0,k,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{a=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}k=f[Fb>>2]|0;f[l>>2]=k;if(i)break}m=k;do if(!(Op(m,1)|0)){i=f[m+116>>2]|0;l=i+8|0;if(!(d[l>>1]&9216)){Fb=i;f[Fb>>2]=1;f[Fb+4>>2]=0;d[l>>1]=4;break}else{bf(i,1,0);break}}while(0);if((g|0)==0|(Op(m,2)|0)!=0){Ei(m)|0;if(!k)i=0;else L=845}else{i=$e((f[m+116>>2]|0)+40|0,g,n,0,0)|0;if(i|0?(Hb=f[m>>2]|0,f[Hb+64>>2]=i,Bg(Hb,i),Hb=f[m>>2]|0,(i|0)==3082|(b[Hb+81>>0]|0)!=0):0)Di(Hb);Ei(m)|0;L=845}do if((L|0)==845){i=f[m>>2]|0;Hb=m+128|0;Fb=f[Hb+4>>2]|0;if((Fb|0)>0|(Fb|0)==0&(f[Hb>>2]|0)>>>0>0)Hi(i,m);k=fg(m)|0;f[m+20>>2]=770837923;f[m+36>>2]=-1;f[m+40>>2]=0;b[m+142>>0]=2;f[m+44>>2]=0;f[m+32>>2]=1;b[m+143>>0]=-1;f[m+48>>2]=0;Hb=m+64|0;f[Hb>>2]=0;f[Hb+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&k;break}}while(0);Op(m,2)|0}}}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](Gb);else{Hb=ib[f[37368>>2]&255](Gb)|0;f[18187]=(f[18187]|0)-Hb;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Gb)}if(!g){Hb=i;t=Ib;return Hb|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);Hb=i;t=Ib;return Hb|0}else{Hb=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Hb;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);Hb=i;t=Ib;return Hb|0}return 0}function iu(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=a+28|0;e=(f[l>>2]|0)!=0;m=a+16|0;c=m;d=f[c>>2]|0;c=f[c+4>>2]|0;if(e&((d|0)!=0|(c|0)!=0)){k=KA(d|0,c|0,1,0)|0;n=ba()|0;o=m;f[o>>2]=k;f[o+4>>2]=n}n=a+8|0;i=f[n>>2]|0;o=a+4|0;j=f[o>>2]|0;if((i|0)>=(j|0)){f[a>>2]=0;a=0;return a|0}g=f[a>>2]|0;if(e){e=g+i|0;d=b[e>>0]|0;c=d&255;if(c&128){k=b[e+1>>0]|0;c=k<<7|d&127;if(k&128){k=b[e+2>>0]|0;c=k<<14|c&16383;if(k&128){k=b[e+3>>0]|0;c=k<<21|c&2097151;if(!(k&128))d=4;else{c=(b[e+4>>0]&7)<<28|c&268435455;d=5}}else d=3}else d=2}else d=1;i=d+i|0;f[n>>2]=i}else c=0;h=g+i|0;d=b[h>>0]|0;e=d&255;if(e&128){k=b[h+1>>0]|0;d=k<<7|d&127;if(k&128){k=b[h+2>>0]|0;d=k<<14|d&16383;if(k&128){k=b[h+3>>0]|0;d=k<<21|d&2097151;if(!(k&128)){k=d;d=4}else{k=(b[h+4>>0]&7)<<28|d&268435455;d=5}}else{k=d;d=3}}else{k=d;d=2}}else{k=e;d=1}e=d+i|0;f[n>>2]=e;if((c|0)>(e|0)|(k|0)>(j-e|0)){a=267;return a|0}j=k+c|0;h=a+32|0;i=a+24|0;do if((f[h>>2]|0)<(j|0)){d=f[i>>2]|0;if(Mc()|0){a=7;return a|0}d=Nc(d,(j|0)>0?j:0,0)|0;if(!d){a=7;return a|0}else{f[h>>2]=j;f[i>>2]=d;g=f[a>>2]|0;e=f[n>>2]|0;break}}else d=f[i>>2]|0;while(0);YA(d+c|0,g+e|0,k|0)|0;f[l>>2]=j;h=(f[n>>2]|0)+k|0;f[n>>2]=h;if(!((f[m>>2]|0)==0&(f[m+4>>2]|0)==0)){a=0;return a|0}i=f[a>>2]|0;e=i+h|0;c=b[e>>0]|0;d=c&255;g=a+40|0;do if(d&128){m=b[e+1>>0]|0;d=m<<7|c&127;if(!(m&128)){f[g>>2]=d;c=2;break}m=b[e+2>>0]|0;d=m<<14|d&16383;if(!(m&128)){f[g>>2]=d;c=3;break}m=b[e+3>>0]|0;d=m<<21|d&2097151;if(!(m&128)){f[g>>2]=d;c=4;break}else{d=(b[e+4>>0]&7)<<28|d&268435455;f[g>>2]=d;c=5;break}}else{f[g>>2]=d;c=1}while(0);c=c+h|0;f[n>>2]=c;if(((f[o>>2]|0)-c|0)<(d|0)){a=267;return a|0}f[a+36>>2]=i+c;f[n>>2]=d+c;a=0;return a|0}function ju(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=c+4|0;k=f[m>>2]|0;j=c+8|0;i=f[c>>2]|0;do if((f[j>>2]|0)<(e|0)){if(Mc()|0){h=7;return h|0}i=Nc(i,(e|0)>0?e:0,0)|0;if(!i){h=7;return h|0}else{f[j>>2]=e;f[c>>2]=i;l=f[m>>2]|0;break}}else l=k;while(0);j=(k|0)==0;a:do if((l|0)>0){c=0;while(1){if((b[i+c>>0]|0)!=(b[d+c>>0]|0)){n=c;break a}c=c+1|0;if((c|0)>=(l|0)){n=c;break}}}else n=0;while(0);o=e-n|0;YA(i|0,d|0,e|0)|0;f[m>>2]=e;if(j){c=a+4|0;m=c;c=f[c>>2]|0}else{m=a+4|0;i=(f[a>>2]|0)+(f[m>>2]|0)|0;c=i;k=n;e=((n|0)<0)<<31>>31;while(1){j=k&255;l=c+1|0;b[c>>0]=j|-128;k=VA(k|0,e|0,7)|0;e=ba()|0;if((k|0)==0&(e|0)==0)break;else c=l}b[c>>0]=j&127;c=l-i+(f[m>>2]|0)|0;f[m>>2]=c}i=(f[a>>2]|0)+c|0;c=i;k=o;e=((o|0)<0)<<31>>31;while(1){j=k&255;l=c+1|0;b[c>>0]=j|-128;k=VA(k|0,e|0,7)|0;e=ba()|0;if((k|0)==0&(e|0)==0)break;else c=l}b[c>>0]=j&127;c=(f[m>>2]|0)+(l-i)|0;f[m>>2]=c;YA((f[a>>2]|0)+c|0,d+n|0,o|0)|0;c=(f[m>>2]|0)+o|0;f[m>>2]=c;if(!g){h=0;return h|0}i=(f[a>>2]|0)+c|0;c=i;k=h;e=((h|0)<0)<<31>>31;while(1){j=k&255;l=c+1|0;b[c>>0]=j|-128;k=VA(k|0,e|0,7)|0;e=ba()|0;if((k|0)==0&(e|0)==0)break;else c=l}b[c>>0]=j&127;d=(f[m>>2]|0)+(l-i)|0;f[m>>2]=d;YA((f[a>>2]|0)+d|0,g|0,h|0)|0;f[m>>2]=(f[m>>2]|0)+h;h=0;return h|0}function ku(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+64|0;y=A;z=A+48|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;w=(b[a>>0]|0)!=0;k=d+8|0;do if((f[k>>2]|0)<(c|0)){j=f[d>>2]|0;if(Mc()|0){z=7;t=A;return z|0}j=Nc(j,(c|0)>0?c:0,0)|0;if(!j){z=7;t=A;return z|0}else{f[k>>2]=c;f[d>>2]=j;break}}while(0);x=d+4|0;f[x>>2]=0;o=y+8|0;j=o;k=j+40|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[y>>2]=a;f[y+4>>2]=c;do if(!(b[a>>0]|0))j=1;else{m=a+1|0;n=y+16|0;j=b[m>>0]|0;k=j&255;if(!(k&128)){u=n;f[u>>2]=j&255;f[u+4>>2]=0;j=2;break}u=h[a+2>>0]|0;j=u<<7|k&127;if(!(u&128)){u=n;f[u>>2]=j;f[u+4>>2]=0;j=3;break}u=h[a+3>>0]|0;j=u<<14|j&16383;if(!(u&128)){u=n;f[u>>2]=j;f[u+4>>2]=0;j=4;break}u=h[a+4>>0]|0;j=u<<21|j&2097151;if(!(u&128)){u=n;f[u>>2]=j;f[u+4>>2]=0;j=5;break}c=28;l=a+5|0;j=j&268435455;k=0;do{u=l;l=l+1|0;u=h[u>>0]|0;s=WA(u&127|0,0,c|0)|0;j=KA(s|0,ba()|0,j|0,k|0)|0;k=ba()|0;c=c+7|0}while(c>>>0<64&((u&128|0)!=0|0!=0));u=n;f[u>>2]=j;f[u+4>>2]=k;j=1-m+l|0}while(0);f[o>>2]=j;j=iu(y)|0;a:do if((j|0)==0&(f[y>>2]|0)!=0){o=y+24|0;q=y+28|0;r=y+36|0;s=y+40|0;u=y+16|0;while(1){if(!(f[x>>2]|0)){m=f[q>>2]|0;n=Hz(f[o>>2]|0,e,(m|0)<(g|0)?m:g)|0;n=(n|0)==0?m-g|0:n;if(!((n|0)<0|w&(n|0)==0)){k=u;j=f[k>>2]|0;k=f[k+4>>2]|0;b[f[d>>2]>>0]=b[a>>0]|0;if((j|0)==0&(k|0)==0){k=0;c=0;j=1}else{n=(f[d>>2]|0)+1|0;l=n;while(1){c=j&255;m=l+1|0;b[l>>0]=c|-128;j=VA(j|0,k|0,7)|0;k=ba()|0;if((j|0)==0&(k|0)==0)break;else l=m}b[l>>0]=c&127;c=u;k=f[c>>2]|0;c=f[c+4>>2]|0;j=1-n+m|0}f[x>>2]=j;v=i;f[v>>2]=k;f[v+4>>2]=c;v=26}}else v=26;if((v|0)==26?(v=0,p=ju(d,z,f[o>>2]|0,f[q>>2]|0,f[r>>2]|0,f[s>>2]|0)|0,p|0):0)break a;j=iu(y)|0;if(!((j|0)==0&(f[y>>2]|0)!=0)){p=j;break}}}else p=j;while(0);if(!(f[x>>2]|0)){n=y+16|0;c=n;j=f[c>>2]|0;c=f[c+4>>2]|0;b[f[d>>2]>>0]=b[a>>0]|0;if((j|0)==0&(c|0)==0){k=0;c=0;j=1}else{o=(f[d>>2]|0)+1|0;l=o;while(1){k=j&255;m=l+1|0;b[l>>0]=k|-128;j=VA(j|0,c|0,7)|0;c=ba()|0;if((j|0)==0&(c|0)==0)break;else l=m}b[l>>0]=k&127;c=n;k=f[c>>2]|0;c=f[c+4>>2]|0;j=1-o+m|0}f[x>>2]=j;f[i>>2]=k;f[i+4>>2]=c}j=f[y+24>>2]|0;do if(j|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{y=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}while(0);j=f[z>>2]|0;if(!j){z=p;t=A;return z|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);z=p;t=A;return z|0}else{z=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);z=p;t=A;return z|0}return 0}function lu(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=t;t=t+48|0;j=l+32|0;i=l+24|0;h=l+16|0;g=l+8|0;d=l;k=l+40|0;ht(a);do if(c|0){e=a+64|0;c=f[e>>2]|0;f[k>>2]=c;if(!c){c=f[a+20>>2]|0;f[d>>2]=f[a+16>>2];f[d+4>>2]=c;c=wd(65879,d)|0;if(!c){k=7;t=l;return k|0}d=Ki(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ei(e)|0;if(c|0){c=f[e>>2]|0;m=e+128|0;d=f[m+4>>2]|0;if((d|0)>0|(d|0)==0&(f[m>>2]|0)>>>0>0)Hi(c,e);d=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;m=e+64|0;f[m>>2]=0;f[m+4>>2]=0;if((d|0)==3082|(b[c+81>>0]|0)!=0){Di(c);m=7;t=l;return m|0}else{c=f[c+68>>2]&d;if(!c)break;t=l;return c|0}}}while(0);e=a+68|0;c=f[e>>2]|0;f[k>>2]=c;if(!c){c=f[a+20>>2]|0;f[g>>2]=f[a+16>>2];f[g+4>>2]=c;c=wd(65907,g)|0;if(!c){m=7;t=l;return m|0}d=Ki(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ei(e)|0;do if(c|0){d=f[e>>2]|0;m=e+128|0;g=f[m+4>>2]|0;if((g|0)>0|(g|0)==0&(f[m>>2]|0)>>>0>0)Hi(d,e);c=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;m=e+64|0;f[m>>2]=0;f[m+4>>2]=0;if((c|0)==3082|(b[d+81>>0]|0)!=0){Di(d);m=7;t=l;return m|0}else{c=f[d+68>>2]&c;if(!c)break;t=l;return c|0}}while(0);e=a+72|0;c=f[e>>2]|0;f[k>>2]=c;if(!c){c=f[a+20>>2]|0;f[h>>2]=f[a+16>>2];f[h+4>>2]=c;c=wd(65936,h)|0;if(!c){m=7;t=l;return m|0}d=Ki(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ei(e)|0;do if(!c)c=0;else{c=f[e>>2]|0;m=e+128|0;h=f[m+4>>2]|0;if((h|0)>0|(h|0)==0&(f[m>>2]|0)>>>0>0)Hi(c,e);d=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;m=e+64|0;f[m>>2]=0;f[m+4>>2]=0;if(!((d|0)==3082|(b[c+81>>0]|0)!=0)){c=f[c+68>>2]&d;break}Di(c);m=7;t=l;return m|0}while(0);do if((c|0)==0&(b[a+234>>0]|0)!=0){e=a+76|0;c=f[e>>2]|0;f[k>>2]=c;if(!c){c=f[a+20>>2]|0;f[i>>2]=f[a+16>>2];f[i+4>>2]=c;c=wd(65963,i)|0;if(!c){m=7;t=l;return m|0}d=Ki(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ei(e)|0;if(!c)c=0;else{c=f[e>>2]|0;m=e+128|0;i=f[m+4>>2]|0;if((i|0)>0|(i|0)==0&(f[m>>2]|0)>>>0>0)Hi(c,e);d=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;m=e+64|0;f[m>>2]=0;f[m+4>>2]=0;if(!((d|0)==3082|(b[c+81>>0]|0)!=0)){c=f[c+68>>2]&d;break}Di(c);m=7;t=l;return m|0}}while(0);if(!((c|0)==0&(b[a+233>>0]|0)!=0)){m=c;t=l;return m|0}e=a+80|0;c=f[e>>2]|0;f[k>>2]=c;if(!c){c=f[a+20>>2]|0;f[j>>2]=f[a+16>>2];f[j+4>>2]=c;c=wd(65991,j)|0;if(!c){m=7;t=l;return m|0}d=Ki(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ei(e)|0;if(!c){m=0;t=l;return m|0}c=f[e>>2]|0;m=e+128|0;k=f[m+4>>2]|0;if((k|0)>0|(k|0)==0&(f[m>>2]|0)>>>0>0)Hi(c,e);d=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;m=e+64|0;f[m>>2]=0;f[m+4>>2]=0;if((d|0)==3082|(b[c+81>>0]|0)!=0){Di(c);m=7;t=l;return m|0}else{m=f[c+68>>2]&d;t=l;return m|0}return 0}function mu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=t;t=t+32|0;i=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;m=s;f[n>>2]=0;f[o>>2]=0;f[p>>2]=0;f[m>>2]=0;g=f[a+36>>2]|0;r=f[g>>2]|0;if(!c){f[e>>2]=0;e=0;t=s;return e|0}f[i>>2]=0;c=lb[f[r+12>>2]&127](g,c,-1,i)|0;do if(!c){f[f[i>>2]>>2]=g;if((f[r>>2]|0)>0?(h=jb[f[r+24>>2]&255](f[i>>2]|0,b)|0,h|0):0){ib[f[r+16>>2]&255](f[i>>2]|0)|0;f[i>>2]=0;c=h;break}l=f[i>>2]|0;i=f[r+20>>2]|0;j=a+256|0;k=a+252|0;c=nb[i&127](l,q,m,n,o,p)|0;a:do if(!c){b=0;do{h=f[p>>2]|0;b=(h|0)<(b|0)?b:h+1|0;c=f[q>>2]|0;g=f[m>>2]|0;if((h|0)<0|(c|0)==0|(g|0)<1){c=1;break a}c=su(a,d,h,(f[j>>2]|0)+4|0,c,g)|0;if(c|0)break a;h=1;while(1){if((h|0)>=(f[k>>2]|0))break;c=f[j>>2]|0;g=f[c+(h*24|0)>>2]|0;if((f[m>>2]|0)<(g|0))c=0;else c=su(a,d,f[p>>2]|0,c+(h*24|0)+4|0,f[q>>2]|0,g)|0;if(!c)h=h+1|0;else break a}c=nb[i&127](l,q,m,n,o,p)|0}while((c|0)==0)}else b=0;while(0);ib[f[r+16>>2]&255](l)|0;f[e>>2]=(f[e>>2]|0)+b;e=(c|0)==101?0:c;t=s;return e|0}while(0);e=c;t=s;return e|0}function nu(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+16|0;p=u;q=u+8|0;if(f[a>>2]|0){t=u;return}g=c+24|0;r=Fd((f[g>>2]|0)*10|0)|0;a:do if(r){o=f[g>>2]|0;if((o|0)>0){n=0;g=0;do{i=r+g|0;h=i;k=f[e+(n<<2)>>2]|0;m=0;while(1){j=k&255;l=h+1|0;b[h>>0]=j|-128;k=VA(k|0,m|0,7)|0;m=ba()|0;if((k|0)==0&(m|0)==0)break;else h=l}b[h>>0]=j&127;g=g-i+l|0;n=n+1|0}while((n|0)!=(o|0));m=g}else m=0;i=c+136|0;h=f[i>>2]|0;f[q>>2]=h;do if(!h){h=f[c+20>>2]|0;f[p>>2]=f[c+16>>2];f[p+4>>2]=h;h=wd(66136,p)|0;if(h){g=Ki(f[c+12>>2]|0,h,-1,129,0,q,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](h);else{p=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h)}h=f[q>>2]|0;f[i>>2]=h;if(!g)break}else g=7;if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break a}else{s=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break a}}while(0);l=h;i=c+272|0;g=f[i>>2]|0;i=f[i+4>>2]|0;do if(!(Op(l,1)|0)){j=f[l+116>>2]|0;k=j+8|0;if(!(d[k>>1]&9216)){c=j;f[c>>2]=g;f[c+4>>2]=i;d[k>>1]=4;break}else{bf(j,g,i);break}}while(0);if(Op(l,2)|0){do if(101!=-1)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{s=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);Ei(l)|0;if(!h){g=0;break}}else{g=$e((f[l+116>>2]|0)+40|0,r,m,0,101)|0;if(g|0?(s=f[l>>2]|0,f[s+64>>2]=g,Bg(s,g),s=f[l>>2]|0,(g|0)==3082|(b[s+81>>0]|0)!=0):0)Di(s);Ei(l)|0}g=f[l>>2]|0;s=l+128|0;r=f[s+4>>2]|0;if((r|0)>0|(r|0)==0&(f[s>>2]|0)>>>0>0)Hi(g,l);h=fg(l)|0;f[l+20>>2]=770837923;f[l+36>>2]=-1;f[l+40>>2]=0;b[l+142>>0]=2;f[l+44>>2]=0;f[l+32>>2]=1;b[l+143>>0]=-1;f[l+48>>2]=0;s=l+64|0;f[s>>2]=0;f[s+4>>2]=0;if((h|0)==3082|(b[g+81>>0]|0)!=0){Di(g);g=7;break}else{g=f[g+68>>2]&h;break}}else g=7;while(0);f[a>>2]=g;t=u;return}function ou(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;D=t;t=t+32|0;x=D+8|0;k=D;y=D+16|0;u=c+24|0;v=f[u>>2]|0;w=v+2|0;if(f[a>>2]|0){t=D;return}C=Fd(w*14|0)|0;if(!C){f[a>>2]=7;t=D;return}z=C+(w<<2)|0;l=c+144|0;j=f[l>>2]|0;f[y>>2]=j;do if(!j){s=f[c+20>>2]|0;f[k>>2]=f[c+16>>2];f[k+4>>2]=s;k=wd(63474,k)|0;if(k){j=Ki(f[c+12>>2]|0,k,-1,129,0,y,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{s=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}k=f[y>>2]|0;f[l>>2]=k;if(!j){j=k;break}}else j=7;if(!(f[9328]|0))ob[f[37360>>2]&127](C);else{B=ib[f[37368>>2]&255](C)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](C)}f[a>>2]=j;t=D;return}while(0);s=j;do if(!(Op(s,1)|0)){k=f[s+116>>2]|0;l=k+8|0;if(!(d[l>>1]&9216)){r=k;f[r>>2]=0;f[r+4>>2]=0;d[l>>1]=4;break}else{bf(k,0,0);break}}while(0);if((Ei(s)|0)==100){if(!j)n=lf(37592)|0;else{k=f[s+104>>2]|0;if((k|0)!=0?(d[s+140>>1]|0)!=0:0)l=s;else{k=f[s>>2]|0;f[k+64>>2]=25;Bg(k,25);k=37592;l=s}n=lf(k)|0;k=f[l>>2]|0;m=s+40|0;l=f[m>>2]|0;if((l|0)==3082|(b[k+81>>0]|0)!=0){Di(k);k=7}else k=f[k+68>>2]&l;f[m>>2]=k}Gp(s,0)|0;if((v|0)>-2){q=0;r=0;while(1){p=n+r|0;k=h[p>>0]|0;if(k&128){o=h[p+1>>0]|0;k=o<<7|k&127;if(o&128){o=h[p+2>>0]|0;k=o<<14|k&16383;if(o&128){o=h[p+3>>0]|0;k=o<<21|k&2097151;if(!(o&128))l=4;else{m=28;o=p+4|0;k=k&268435455;l=0;do{E=o;o=o+1|0;E=h[E>>0]|0;F=WA(E&127|0,0,m|0)|0;k=KA(F|0,ba()|0,k|0,l|0)|0;l=ba()|0;m=m+7|0}while(m>>>0<64&((E&128|0)!=0|0!=0));l=o-p|0}}else l=3}else l=2}else l=1;f[C+(q<<2)>>2]=k;q=q+1|0;if((q|0)==(w|0))break;else r=l+r|0}}}else _A(C|0,0,w<<2|0)|0;do if(j|0){j=f[s>>2]|0;F=s+128|0;E=f[F+4>>2]|0;if((E|0)>0|(E|0)==0&(f[F>>2]|0)>>>0>0)Hi(j,s);k=fg(s)|0;f[s+20>>2]=770837923;f[s+36>>2]=-1;f[s+40>>2]=0;b[s+142>>0]=2;f[s+44>>2]=0;f[s+32>>2]=1;b[s+143>>0]=-1;f[s+48>>2]=0;F=s+64|0;f[F>>2]=0;f[F+4>>2]=0;if(!((k|0)==3082|(b[j+81>>0]|0)!=0)){j=f[j+68>>2]&k;if(!j)break}else{Di(j);j=7}if(!(f[9328]|0))ob[f[37360>>2]&127](C);else{F=ib[f[37368>>2]&255](C)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](C)}f[a>>2]=j;t=D;return}while(0);k=f[C>>2]|0;k=(i|0)<0&k>>>0<(0-i|0)>>>0?0:k+i|0;f[C>>2]=k;if((f[u>>2]|0)>=0){j=0;do{F=j;j=j+1|0;E=C+(j<<2)|0;s=(f[e+(F<<2)>>2]|0)+(f[E>>2]|0)|0;i=f[g+(F<<2)>>2]|0;f[E>>2]=s>>>0>>0?0:s-i|0}while((F|0)<(f[u>>2]|0))}a:do if((v|0)>-2){q=0;j=0;while(1){p=z+j|0;o=p;n=0;while(1){l=k&255;m=o+1|0;b[o>>0]=l|-128;k=VA(k|0,n|0,7)|0;n=ba()|0;if((k|0)==0&(n|0)==0)break;else o=m}b[o>>0]=l&127;j=j-p+m|0;k=q+1|0;if((k|0)==(w|0)){n=j;break a}q=k;k=f[C+(k<<2)>>2]|0}}else n=0;while(0);l=c+148|0;k=f[l>>2]|0;f[y>>2]=k;do if(!k){k=f[c+20>>2]|0;f[x>>2]=f[c+16>>2];f[x+4>>2]=k;k=wd(65561,x)|0;if(k){j=Ki(f[c+12>>2]|0,k,-1,129,0,y,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{F=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}k=f[y>>2]|0;f[l>>2]=k;if(!j)break}else j=7;if(!(f[9328]|0))ob[f[37360>>2]&127](C);else{F=ib[f[37368>>2]&255](C)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](C)}f[a>>2]=j;t=D;return}while(0);m=k;do if(!(Op(m,1)|0)){j=f[m+116>>2]|0;l=j+8|0;if(!(d[l>>1]&9216)){F=j;f[F>>2]=0;f[F+4>>2]=0;d[l>>1]=4;break}else{bf(j,0,0);break}}while(0);if((z|0)==0|(Op(m,2)|0)!=0){Ei(m)|0;if(!k)j=0;else B=83}else{j=$e((f[m+116>>2]|0)+40|0,z,n,0,0)|0;if(j|0?(A=f[m>>2]|0,f[A+64>>2]=j,Bg(A,j),A=f[m>>2]|0,(j|0)==3082|(b[A+81>>0]|0)!=0):0)Di(A);Ei(m)|0;B=83}do if((B|0)==83){j=f[m>>2]|0;F=m+128|0;E=f[F+4>>2]|0;if((E|0)>0|(E|0)==0&(f[F>>2]|0)>>>0>0)Hi(j,m);k=fg(m)|0;f[m+20>>2]=770837923;f[m+36>>2]=-1;f[m+40>>2]=0;b[m+142>>0]=2;f[m+44>>2]=0;f[m+32>>2]=1;b[m+143>>0]=-1;f[m+48>>2]=0;F=m+64|0;f[F>>2]=0;f[F+4>>2]=0;if((k|0)==3082|(b[j+81>>0]|0)!=0){Di(j);j=7;break}else{j=f[j+68>>2]&k;break}}while(0);f[a>>2]=j;Op(m,2)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](C);t=D;return}else{F=ib[f[37368>>2]&255](C)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](C);t=D;return}}function pu(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;y=t;t=t+16|0;x=y+8|0;u=y;w=y+4|0;f[w>>2]=c;f[x>>2]=c;h=ru(a,7,u,x)|0;s=f[u>>2]|0;a:do if(!h){b:do if((Ei(s)|0)==100){if(!(f[a+44>>2]|0))r=0;else r=Ip(s,(f[a+24>>2]|0)+1|0)|0;i=Jp(s,0)|0;k=ba()|0;l=a+272|0;h=l;c=f[h>>2]|0;h=f[h+4>>2]|0;do if(!((h|0)>(k|0)|(h|0)==(k|0)&c>>>0>i>>>0)){if((c|0)==(i|0)&(h|0)==(k|0)?(f[a+284>>2]|0)==0:0){v=10;break}c=a+280|0;if((f[c>>2]|0)==(r|0)?(f[a+264>>2]|0)<=(f[a+260>>2]|0):0)v=12;else v=10}else v=10;while(0);if((v|0)==10){c=it(a)|0;if(!c){c=a+280|0;v=12}}if((v|0)==12){q=l;f[q>>2]=i;f[q+4>>2]=k;f[c>>2]=r;f[a+284>>2]=1;q=a+24|0;p=a+32|0;m=s+104|0;n=s+140|0;o=s+40|0;if(!s){c=f[q>>2]|0;if((c|0)<1){h=0;c=1;break a}k=f[p>>2]|0;i=1;while(1){h=i+-1|0;if(!(b[k+h>>0]|0)){f[g+(h<<2)>>2]=0;c=f[q>>2]|0}if((i|0)<(c|0))i=i+1|0;else{c=1;break b}}}l=1;while(1){if((l|0)>(f[q>>2]|0)){c=1;break b}k=l+-1|0;if(!(b[(f[p>>2]|0)+k>>0]|0)){c=f[m>>2]|0;if((c|0)!=0?l>>>0<(j[n>>1]|0)>>>0:0)c=c+(l*40|0)|0;else{c=f[s>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}h=d[c+8>>1]|0;if((h&514)==514?(b[c+10>>0]|0)==1:0)i=f[c+16>>2]|0;else if(!(h&1))i=Ic(c,1)|0;else i=0;c=f[s>>2]|0;h=f[o>>2]|0;if((h|0)==3082|(b[c+81>>0]|0)!=0){Di(c);c=7}else c=f[c+68>>2]&h;f[o>>2]=c;c=mu(a,r,i,-1,g+(k<<2)|0)|0;i=Gp(s,l)|0;k=g+(f[q>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+i}else c=0;if(!c)l=l+1|0;else break}}if(!s){h=c;c=0;break a}h=f[s>>2]|0;r=s+128|0;q=f[r+4>>2]|0;if((q|0)>0|(q|0)==0&(f[r>>2]|0)>>>0>0)Hi(h,s);r=fg(s)|0;f[s+20>>2]=770837923;f[s+36>>2]=-1;f[s+40>>2]=0;b[s+142>>0]=2;f[s+44>>2]=0;f[s+32>>2]=1;b[s+143>>0]=-1;f[s+48>>2]=0;s=s+64|0;f[s>>2]=0;f[s+4>>2]=0;if(!((r|0)==3082|(b[h+81>>0]|0)!=0)){h=c;c=0;break a}Di(h);h=c;c=0;break a}else c=0;while(0);if(s){h=f[s>>2]|0;r=s+128|0;q=f[r+4>>2]|0;if((q|0)>0|(q|0)==0&(f[r>>2]|0)>>>0>0)Hi(h,s);i=fg(s)|0;f[s+20>>2]=770837923;f[s+36>>2]=-1;f[s+40>>2]=0;b[s+142>>0]=2;f[s+44>>2]=0;f[s+32>>2]=1;b[s+143>>0]=-1;f[s+48>>2]=0;s=s+64|0;f[s>>2]=0;f[s+4>>2]=0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Di(h);h=7;break}else{h=f[h+68>>2]&i;break}}else h=0}else if(s){c=f[s>>2]|0;r=s+128|0;q=f[r+4>>2]|0;if((q|0)>0|(q|0)==0&(f[r>>2]|0)>>>0>0)Hi(c,s);r=fg(s)|0;f[s+20>>2]=770837923;f[s+36>>2]=-1;f[s+40>>2]=0;b[s+142>>0]=2;f[s+44>>2]=0;f[s+32>>2]=1;b[s+143>>0]=-1;f[s+48>>2]=0;s=s+64|0;f[s>>2]=0;f[s+4>>2]=0;if((r|0)==3082|(b[c+81>>0]|0)!=0){Di(c);c=0}else c=0}else c=0;while(0);if(!((h|0)==0&(c|0)!=0)){x=h;t=y;return x|0}f[x>>2]=f[w>>2];l=a+40|0;c:do if(!(f[l>>2]|0)){c=ru(a,1,u,x)|0;do if(!c){c=f[u>>2]|0;if((Ei(c)|0)==100)k=Ip(c,0)|0;else k=0;if(!c){c=k;v=61;break c}h=f[c>>2]|0;u=c+128|0;s=f[u+4>>2]|0;if((s|0)>0|(s|0)==0&(f[u>>2]|0)>>>0>0)Hi(h,c);i=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;u=c+64|0;f[u>>2]=0;f[u+4>>2]=0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Di(h);c=7;break}c=f[h+68>>2]&i;if(!c){c=k;break c}t=y;return c|0}while(0);x=c;t=y;return x|0}else{c=0;v=61}while(0);if(c|0){x=lu(a,1)|0;f[e>>2]=0;_A(g|0,0,(f[a+24>>2]<<3)+8|0)|0;t=y;return x|0}f[e>>2]=(f[e>>2]|0)+-1;if(!(f[l>>2]|0)){c=ru(a,0,x,w)|0;do if(!c){c=f[x>>2]|0;Ei(c)|0;if(c){h=f[c>>2]|0;g=c+128|0;e=f[g+4>>2]|0;if((e|0)>0|(e|0)==0&(f[g>>2]|0)>>>0>0)Hi(h,c);i=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;g=c+64|0;f[g>>2]=0;f[g+4>>2]=0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Di(h);c=7;break}else{c=f[h+68>>2]&i;break}}else c=0}while(0)}else c=0;if(!(b[a+234>>0]|0)){x=c;t=y;return x|0}do if(!c){c=ru(a,19,x,w)|0;if(!c){c=f[x>>2]|0;Ei(c)|0;if(c){h=f[c>>2]|0;x=c+128|0;w=f[x+4>>2]|0;if((w|0)>0|(w|0)==0&(f[x>>2]|0)>>>0>0)Hi(h,c);i=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;x=c+64|0;f[x>>2]=0;f[x+4>>2]=0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Di(h);c=7;break}else{c=f[h+68>>2]&i;break}}else c=0}}while(0);x=c;t=y;return x|0}function qu(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;s=t;t=t+16|0;q=s;if(f[a+40>>2]|0){i=f[c+((f[a+24>>2]|0)+3<<2)>>2]|0;g=d[i+8>>1]|0;h=g&31;if(-1431655766>>>h&1){i=f[c+4>>2]|0;g=d[i+8>>1]|0;h=g&31}if(!(1347440720>>>h&1)){e=19;t=s;return e|0}g=g&65535;do if(!(g&4)){if(g&8|0){g=Fc(+p[i>>3])|0;h=ba()|0;break}if(!(g&18)){g=0;h=0}else{g=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;h=ba()|0}}else{h=i;g=f[h>>2]|0;h=f[h+4>>2]|0}while(0);f[e>>2]=g;f[e+4>>2]=h;e=0;t=s;return e|0}r=c+4|0;g=ru(a,18,q,r)|0;if(g|0){e=g;t=s;return e|0}do if(f[a+44>>2]|0){m=f[q>>2]|0;g=a+24|0;n=f[g>>2]|0;k=n+2|0;h=f[c+(n+4<<2)>>2]|0;i=j[h+8>>1]|0;do if(!(i&4)){if(i&8|0){l=Fc(+p[h>>3])|0;ba()|0;break}if(!(i&18))l=0;else{l=Gc(b[h+10>>0]|0,f[h+12>>2]|0,f[h+16>>2]|0)|0;ba()|0}}else l=f[h>>2]|0;while(0);o=((l|0)<0)<<31>>31;h=Op(m,k)|0;if(h|0){e=h;t=s;return e|0}m=f[m+116>>2]|0;i=n+1|0;h=m+(i*40|0)|0;i=m+(i*40|0)+8|0;if(!(d[i>>1]&9216)){n=h;f[n>>2]=l;f[n+4>>2]=o;d[i>>1]=4;break}else{bf(h,l,o);break}}else g=a+24|0;while(0);g=f[c+((f[g>>2]|0)+3<<2)>>2]|0;if(!(-1431655766>>>(d[g+8>>1]&31)&1)){if(-1431655766>>>(d[(f[c>>2]|0)+8>>1]&31)&1|0?(-1431655766>>>(d[(f[r>>2]|0)+8>>1]&31)&1|0)==0:0){e=1;t=s;return e|0}h=f[q>>2]|0;g=Tp(h,1,g)|0;if(g){e=g;t=s;return e|0}}else h=f[q>>2]|0;Ei(h)|0;do if(h){g=f[h>>2]|0;c=h+128|0;r=f[c+4>>2]|0;if((r|0)>0|(r|0)==0&(f[c>>2]|0)>>>0>0)Hi(g,h);i=fg(h)|0;f[h+20>>2]=770837923;f[h+36>>2]=-1;f[h+40>>2]=0;b[h+142>>0]=2;f[h+44>>2]=0;f[h+32>>2]=1;b[h+143>>0]=-1;f[h+48>>2]=0;c=h+64|0;f[c>>2]=0;f[c+4>>2]=0;if((i|0)==3082|(b[g+81>>0]|0)!=0){Di(g);g=7;break}else{g=f[g+68>>2]&i;break}}else g=0;while(0);c=(f[a+12>>2]|0)+40|0;a=f[c+4>>2]|0;f[e>>2]=f[c>>2];f[e+4>>2]=a;e=g;t=s;return e|0}function ru(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+48|0;k=n+24|0;h=n+16|0;g=n;l=n+32|0;m=a+56+(b<<2)|0;i=f[m>>2]|0;f[l>>2]=i;j=i;if(!i){do if((b|0)!=18){g=f[24336+(b<<2)>>2]|0;if((b|0)==7){f[h>>2]=f[a+220>>2];b=wd(g,h)|0;break}else{b=f[a+20>>2]|0;f[k>>2]=f[a+16>>2];f[k+4>>2]=b;b=wd(g,k)|0;break}}else{k=f[a+20>>2]|0;b=f[a+224>>2]|0;f[g>>2]=f[a+16>>2];f[g+4>>2]=k;f[g+8>>2]=b;b=wd(65728,g)|0}while(0);if(!b){g=7;i=0}else{g=Ki(f[a+12>>2]|0,b,-1,129,0,l,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](b);else{a=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b)}j=f[l>>2]|0;f[m>>2]=j;i=j}}else g=0;if((e|0)==0|(i|0)==0){e=g;f[c>>2]=j;t=n;return e|0}m=d[i+16>>1]|0;h=m<<16>>16;if(!(m<<16>>16>0&(g|0)==0)){e=g;f[c>>2]=j;t=n;return e|0}b=0;do{g=b;b=b+1|0;g=Tp(i,b,f[e+(g<<2)>>2]|0)|0}while((b|0)<(h|0)&(g|0)==0);f[c>>2]=j;t=n;return g|0}function su(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=t;t=t+16|0;p=r+4|0;q=r;f[q>>2]=0;a:do if((((e|0)!=0?(m=e+16|0,(f[m>>2]|0)!=0):0)?(k=jb[(b[e>>0]<<24>>24==1?171:172)&255](g,h)|0,k=(f[e+12>>2]|0)+-1&k,l=f[m>>2]|0,(l|0)!=0):0)?(j=f[l+(k<<3)>>2]|0,n=(b[e>>0]|0)==1?87:88,i=f[l+(k<<3)+4>>2]|0,(j|0)!=0&(i|0)!=0):0){while(1){j=j+-1|0;if(!(lb[n&127](f[i+12>>2]|0,f[i+16>>2]|0,g,h)|0))break;i=f[i>>2]|0;if(!((j|0)!=0&(i|0)!=0)){o=8;break a}}i=f[i+8>>2]|0;f[p>>2]=i;if(!i)i=p;else{n=a+264|0;f[n>>2]=-20-h-(f[i>>2]|0)+(f[n>>2]|0);i=p}}else o=8;while(0);if((o|0)==8){f[p>>2]=0;i=p}o=a+272|0;if(Rt(p,f[o>>2]|0,f[o+4>>2]|0,c,((c|0)<0)<<31>>31,d,((d|0)<0)<<31>>31,q)|0?(o=f[p>>2]|0,(o|0)==(Fq(e,g,h,o)|0)):0){i=f[i>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{p=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[q>>2]=7;q=7;t=r;return q|0}i=f[q>>2]|0;if(i|0){q=i;t=r;return q|0}q=a+264|0;f[q>>2]=h+20+(f[f[p>>2]>>2]|0)+(f[q>>2]|0);q=0;t=r;return q|0}function tu(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;e=a+8|0;if(b[e>>0]|0){c=(f[a>>2]|0)+216|0;if(!(f[c>>2]|0)){g=a+12|0;d=f[g>>2]|0;f[c>>2]=d;c=d;if(d|0){d=f[c>>2]|0;h=c+128|0;i=f[h+4>>2]|0;if((i|0)>0|(i|0)==0&(f[h>>2]|0)>>>0>0)Hi(d,c);i=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;h=c+64|0;f[h>>2]=0;f[h+4>>2]=0;if((i|0)==3082|(b[d+81>>0]|0)!=0)Di(d)}f[g>>2]=0}b[e>>0]=0}Fi(f[a+12>>2]|0)|0;g=a+28|0;c=f[g>>2]|0;if(c|0)do{d=c;c=f[c+8>>2]|0;e=f[d+12>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](d);else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d)}}while((c|0)!=0);f[g>>2]=0;c=f[a+44>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[a+92>>2]|0;do if((c|0?(b[c>>0]=0,(b[c+1>>0]|0)==0):0)?(b[c+2>>0]|0)==0:0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);uu(f[a+16>>2]|0);c=a+4|0;d=c+92|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));return}function uu(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;if(!a)return;while(1){b=f[a+12>>2]|0;if(!b){b=f[a+16>>2]|0;if(!b)break;else a=b}else a=b}do{g=f[a+8>>2]|0;e=f[a+20>>2]|0;if(e|0){b=f[e>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{d=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);do if(f[e+24>>2]|0?(h=f[e+28>>2]|0,h|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{d=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);d=e+64|0;b=e;c=b+40|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));if((f[d>>2]|0)>0){b=0;do{c=e+72+(b*24|0)+20|0;du(f[c>>2]|0);f[c>>2]=0;b=b+1|0}while((b|0)<(f[d>>2]|0))}}b=f[a+40>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{e=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](a);else{e=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a)}a:do if(g)if((a|0)==(f[g+12>>2]|0)?(i=f[g+16>>2]|0,(i|0)!=0):0){a=i;while(1){b=f[a+12>>2]|0;if(!b){b=f[a+16>>2]|0;if(!b)break a;else a=b}else a=b}}else a=g;else a=0;while(0)}while((a|0)!=0);return}function vu(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=t;t=t+32|0;R=W+20|0;S=W+16|0;T=W+12|0;U=W+8|0;V=W+4|0;F=W;G=a+24|0;I=a+20|0;J=a+16|0;K=a+32|0;L=a+8|0;M=a+4|0;N=a+12|0;m=0;j=d;l=1;E=c;c=0;a:while(1){f[F>>2]=0;f[G>>2]=0;b:do if((j|0)>0){n=j;k=E;while(1){switch(b[k>>0]|0){case 12:case 11:case 13:case 10:case 9:case 32:break;default:{D=k;break b}}i=n+-1|0;k=k+1|0;if((n|0)>1)n=i;else{x=6;break b}}}else{i=j;k=E;x=6}while(0);if((x|0)==6){x=0;if(!i){k=101;i=0;x=171;break}else{n=i;D=k}}i=D+4|0;k=D+5|0;c:do if((n|0)<2)x=187;else{if(!(Hz(D,66361,2)|0))switch(b[D+2>>0]|0){case 0:case 34:case 40:case 41:case 12:case 11:case 13:case 10:case 9:case 32:{i=0;q=2;o=10;break}default:x=25}else x=25;d:do if((x|0)==25){x=0;if((n|0)<3){x=187;break c}if(!(Hz(D,66364,3)|0))switch(b[D+3>>0]|0){case 0:case 34:case 40:case 41:case 12:case 11:case 13:case 10:case 9:case 32:{i=1;q=3;o=10;break d}default:{}}if(!(Hz(D,66368,3)|0))switch(b[D+3>>0]|0){case 0:case 34:case 40:case 41:case 12:case 11:case 13:case 10:case 9:case 32:{i=2;q=3;o=10;break d}default:{}}if((n|0)<4){x=187;break c}if(Hz(D,66372,4)|0){x=187;break c}i=b[i>>0]|0;if(i<<24>>24==47){i=b[k>>0]|0;if((i+-48&255)>=10){x=187;break c}k=5;o=0;do{o=(o*10|0)+-48+(i<<24>>24)|0;k=k+1|0;i=b[D+k>>0]|0}while((i+-48&255)<10)}else{k=4;o=10}switch(i<<24>>24){case 0:case 34:case 40:case 41:case 12:case 11:case 13:case 10:case 9:case 32:{i=3;q=k;break}default:{x=187;break c}}}while(0);p=24496+(i<<3)+6|0;if(Mc()|0){k=7;i=0;x=171;break a}if(!(f[9328]|0)){n=ib[f[37356>>2]&255](48)|0;if(!n){k=7;i=0;x=171;break a}u=n;v=u+48|0;do{b[u>>0]=0;u=u+1|0}while((u|0)<(v|0))}else{i=ib[f[37372>>2]&255](48)|0;if((f[18194]|0)>>>0<48)f[18194]=48;n=71896;k=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&k>>>0>0){C=f[18187]|0;B=LA(k|0,n|0,i|0,((i|0)<0)<<31>>31|0)|0;A=ba()|0;f[17976]=((A|0)<0|(A|0)==0&B>>>0<=C>>>0)&1}n=ib[f[37356>>2]&255](i)|0;if(!n){k=7;i=0;x=171;break a}i=ib[f[37368>>2]&255](n)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i;u=n;v=u+48|0;do{b[u>>0]=0;u=u+1|0}while((u|0)<(v|0))}f[n>>2]=h[p>>0];f[n+4>>2]=o;f[F>>2]=n;k=0;i=D-E+q|0}while(0);e:do if((x|0)==187){x=0;switch(b[D>>0]|0){case 41:{x=87;break a}case 34:{f:do if((n|0)>1){i=1;while(1){if((b[D+i>>0]|0)==34){k=i;break f}i=i+1|0;if((i|0)>=(n|0)){k=i;break}}}else k=1;while(0);i=k+1-E+D|0;if((k|0)==(n|0)){k=1;x=171;break a}B=D+1|0;A=k+-1|0;o=f[a>>2]|0;C=f[o>>2]|0;n=f[M>>2]|0;f[R>>2]=0;k=lb[f[C+12>>2]&127](o,B,A,R)|0;g:do if(!k){f[f[R>>2]>>2]=o;if((f[C>>2]|0)>0?(H=jb[f[C+24>>2]&255](f[R>>2]|0,n)|0,H|0):0){ib[f[C+16>>2]&255](f[R>>2]|0)|0;f[R>>2]=0;k=H;o=0;x=36;break}o=f[R>>2]|0;x=C+20|0;z=o;u=0;r=0;s=0;q=0;n=0;v=0;p=0;while(1){f[S>>2]=0;f[T>>2]=0;f[U>>2]=0;f[V>>2]=0;k=nb[f[x>>2]&127](z,R,S,T,U,V)|0;y=(k|0)==0;if(y){n=(u*24|0)+144|0;if(Mc()|0){x=42;break}w=Nc(v,(n|0)>0?n:0,0)|0;if(!w){x=42;break}n=(f[S>>2]|0)+s|0;if(Mc()|0){x=48;break}v=Nc(q,(n|0)>0?n:0,0)|0;if(!v){x=48;break}p=w+120|0;q=p+(u*24|0)|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;f[q+16>>2]=0;f[q+20>>2]=0;YA(v+s|0,f[R>>2]|0,f[S>>2]|0)|0;q=f[S>>2]|0;f[p+(u*24|0)+4>>2]=q;n=f[U>>2]|0;if((n|0)<(A|0))n=(b[B+n>>0]|0)==42;else n=0;f[p+(u*24|0)+8>>2]=n&1;n=f[T>>2]|0;if((n|0)>0)n=(b[D+n>>0]|0)==94;else n=0;f[p+(u*24|0)+12>>2]=n&1;u=u+1|0;n=w;r=u;s=q+s|0;q=v;p=w;v=w}else u=u+1|0;if(!y){x=58;break}}do if((x|0)==42)if(v)if(!(f[9328]|0)){ob[f[37360>>2]&127](v);n=q;k=0;break}else{n=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);n=q;k=0;break}else{n=q;k=0}else if((x|0)==48)if(q)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);n=0;k=w;break}else{n=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);n=0;k=w;break}else{n=0;k=w}else if((x|0)==58){ib[f[C+16>>2]&255](z)|0;o=0;x=59;break g}while(0);x=75}else{o=f[R>>2]|0;x=36}while(0);if((x|0)==36){n=0;r=0;s=0;q=0;p=0;x=59}h:do if((x|0)==59){x=0;if((k|0)==101){k=s+144+(r*24|0)|0;if((Mc()|0)==0?(O=Nc(p,(k|0)>0?k:0,0)|0,O|0):0){n=O+48|0;u=O;v=u+112|0;do{f[u>>2]=0;u=u+4|0}while((u|0)<(v|0));f[O>>2]=5;k=O+20|0;f[k>>2]=n;f[O+116>>2]=f[I>>2];f[O+112>>2]=r;n=n+72+(r*24|0)|0;do if(q|0){YA(n|0,q|0,s|0)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{D=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}while(0);p=f[k>>2]|0;q=f[p+64>>2]|0;if((q|0)<=0){k=0;n=O;break}f[p+72>>2]=n;if((q|0)==1){k=0;n=O;break}k=n+(f[p+76>>2]|0)|0;n=1;while(1){f[p+72+(n*24|0)>>2]=k;o=n+1|0;if((o|0)<(q|0)){k=k+(f[p+72+(n*24|0)+4>>2]|0)|0;n=o}else{k=0;n=O;break h}}}if(p)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);n=q;k=0;x=75;break}else{n=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);n=q;k=0;x=75;break}else{n=q;k=0;x=75}}}while(0);do if((x|0)==75){x=0;if(o|0)ib[f[C+16>>2]&255](o)|0;do if(n|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{D=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}while(0);if(k)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);k=7;n=0;break}else{n=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);k=7;n=0;break}else{k=7;n=0}}while(0);f[F>>2]=n;break e}case 40:{f[R>>2]=0;f[K>>2]=(f[K>>2]|0)+1;k=vu(a,D+1|0,n+-1|0,F,R)|0;n=f[F>>2]|0;k=(k|0)==0?((n|0)==0?101:0):k;i=1-E+D+(f[R>>2]|0)|0;break e}default:{s=f[I>>2]|0;u=f[J>>2]|0;i:do if((u|0)>0){v=f[L>>2]|0;i=0;j:while(1){k=f[v+(i<<2)>>2]|0;w=wz(k)|0;if((n|0)>(w|0)?!((k|0)==0?1:(b[D+w>>0]|0)!=58):0){if((w|0)<=0){x=99;break}r=D;p=w;while(1){o=b[k>>0]|0;if(!(o<<24>>24)){x=95;break}o=b[1232+(o&255)>>0]|0;q=b[1232+(h[r>>0]|0)>>0]|0;if(o<<24>>24!=q<<24>>24){x=97;break}if((p|0)>1){k=k+1|0;r=r+1|0;p=p+-1|0}else{x=99;break j}}if((x|0)==95){x=0;o=0;k=b[1232+(h[r>>0]|0)>>0]|0}else if((x|0)==97){x=0;o=o&255;k=q}if((o|0)==(k&255|0)){x=102;break}}i=i+1|0;if((i|0)>=(u|0)){q=s;v=0;break i}}if((x|0)==99){x=0;q=i;v=w+1-E+D|0;break}else if((x|0)==102){x=0;q=i;v=w+1-E+D|0;break}}else{q=s;v=0}while(0);s=E+v|0;p=j-v|0;o=f[a>>2]|0;u=f[o>>2]|0;k:do if((p|0)>0){i=0;while(1){switch(b[s+i>>0]|0){case 34:case 41:case 40:break k;default:{}}i=i+1|0;if((i|0)>=(p|0))break k}}else i=0;while(0);n=f[M>>2]|0;f[R>>2]=0;k=lb[f[u+12>>2]&127](o,s,i,R)|0;do if(!k){f[f[R>>2]>>2]=o;if((f[u>>2]|0)>0?(P=jb[f[u+24>>2]&255](f[R>>2]|0,n)|0,P|0):0){ib[f[u+16>>2]&255](f[R>>2]|0)|0;f[R>>2]=0;k=P;x=111;break}r=f[R>>2]|0;f[S>>2]=0;f[T>>2]=0;f[U>>2]=0;f[V>>2]=0;k=nb[f[u+20>>2]&127](r,R,S,T,U,V)|0;l:do if(!k){i=(f[S>>2]|0)+144|0;n=Fd(i)|0;if(!n){n=0;k=7;i=f[U>>2]|0;break}_A(n|0,0,i|0)|0;f[n>>2]=5;f[n+20>>2]=n+48;f[n+112>>2]=1;f[n+116>>2]=q;i=f[S>>2]|0;f[n+124>>2]=i;D=n+144|0;f[n+120>>2]=D;YA(D|0,f[R>>2]|0,i|0)|0;i=f[U>>2]|0;if((i|0)<(p|0)?(Q=i+1|0,(b[s+i>>0]|0)==42):0){f[n+128>>2]=1;f[U>>2]=Q;i=Q}k=f[T>>2]|0;if((f[N>>2]|0)!=0&(k|0)>0){p=n+132|0;while(1){o=k;k=k+-1|0;if((b[s+k>>0]|0)!=94){k=0;break l}f[p>>2]=1;f[T>>2]=k;if((o|0)<=1){k=0;break}}}else k=0}else{n=0;k=(i|0)!=0&(k|0)==101?0:k}while(0);ib[f[u+16>>2]&255](r)|0}else x=111;while(0);if((x|0)==111){x=0;n=0}f[F>>2]=n;i=i+v|0;break e}}}while(0);if((k|0)==0&(n|0)!=0){r=f[n>>2]|0;if((r|0)!=5){p=(f[n+12>>2]|0)!=0;o=p^1;k=(l|0)!=0;if(k&o){x=129;break}else q=p}else{k=(l|0)!=0;o=0;q=1}if(k|o)if(!m)m=0;else x=154;else{if(Mc()|0){x=152;break}if(!(f[9328]|0)){k=ib[f[37356>>2]&255](48)|0;if(!k){x=152;break}u=k;v=u+48|0;do{b[u>>0]=0;u=u+1|0}while((u|0)<(v|0));p=k}else{k=ib[f[37372>>2]&255](48)|0;if((f[18194]|0)>>>0<48)f[18194]=48;p=71896;l=f[p>>2]|0;p=f[p+4>>2]|0;if((p|0)>0|(p|0)==0&l>>>0>0){D=f[18187]|0;C=LA(l|0,p|0,k|0,((k|0)<0)<<31>>31|0)|0;B=ba()|0;f[17976]=((B|0)<0|(B|0)==0&C>>>0<=D>>>0)&1}l=ib[f[37356>>2]&255](k)|0;if(!l){x=152;break}k=ib[f[37368>>2]&255](l)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k;u=l;v=u+48|0;do{b[u>>0]=0;u=u+1|0}while((u|0)<(v|0));p=l}f[p>>2]=3;k=m+8|0;l=f[k>>2]|0;m:do if(!l)x=150;else{n=l;while(1){if((f[n>>2]|0)>3)break;k=n+8|0;l=f[k>>2]|0;if(!l){m=n;x=150;break m}else{m=n;n=l}}f[n+16>>2]=p;f[p+8>>2]=f[k>>2]}while(0);if((x|0)==150)c=p;f[p+12>>2]=m;f[k>>2]=p;m=p;x=154}if((x|0)==154){x=0;if(!((r|0)!=1|q)?(f[m>>2]|0)!=5:0){x=158;break}if((r|0)!=5&q?(f[m>>2]|0)==1:0){x=158;break}}if(q){k=f[F>>2]|0;l=k;if(!c){c=k;m=l}else{f[m+16>>2]=k;f[l+8>>2]=m;m=l}}else{q=f[F>>2]|0;k=m+8|0;l=f[k>>2]|0;n:do if(!l)x=167;else{p=f[q>>2]|0;n=l;while(1){if((f[n>>2]|0)>(p|0))break;k=n+8|0;l=f[k>>2]|0;if(!l){m=n;x=167;break n}else{m=n;n=l}}f[n+16>>2]=q;f[q+8>>2]=f[k>>2]}while(0);if((x|0)==167){x=0;c=q}f[q+12>>2]=m;f[k>>2]=q;m=f[F>>2]|0}l=o&1;k=0}j=j-i|0;if(!k)E=E+i|0;else{x=173;break}}if((x|0)==87){f[K>>2]=(f[K>>2]|0)+-1;f[F>>2]=0;k=101;i=1-E+D|0;x=171}else if((x|0)==129){uu(n);i=1;x=170}else if((x|0)==152){uu(n);i=7;x=170}else if((x|0)==158){uu(f[F>>2]|0);i=1;x=170}if((x|0)!=170)if((x|0)==171){j=j-i|0;x=173}if((x|0)==173){i=(c|0)!=0&(k|0)==101&(l|0)!=0?1:k;f[g>>2]=d-j;if((i|0)==101){g=0;d=c;f[e>>2]=d;t=W;return g|0}}uu(c);g=i;d=0;f[e>>2]=d;t=W;return g|0}function wu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=t;t=t+16|0;p=r+4|0;j=r;c=f[a>>2]|0;n=f[c>>2]|0;do if(b){if((n+-3|0)>>>0<2){d=b<<2;q=Fd(d)|0;if(!q){d=7;break}_A(q|0,0,d|0)|0;f[p>>2]=c;if((f[c>>2]|0)==(n|0)){d=c;do d=f[d+12>>2]|0;while((f[d>>2]|0)==(n|0));f[p>>2]=d}else d=c;m=b+-1|0;o=(b|0)>0;a:do if(o){e=0;b:while(1){k=d+8|0;l=f[k>>2]|0;f[k>>2]=0;k=(l|0)==0;if(k)c=0;else f[l+12>>2]=0;d=wu(p,m)|0;if(d|0){k=46;break a}g=f[p>>2]|0;if(g){j=0;d=e;h=f[p>>2]|0;while(1){i=q+(j<<2)|0;e=f[i>>2]|0;if(!e)break;f[d+12>>2]=e;f[d+16>>2]=g;f[e+8>>2]=d;f[g+8>>2]=d;h=d+8|0;e=f[h>>2]|0;f[h>>2]=0;f[i>>2]=0;j=j+1|0;if(!((j|0)<(b|0)&(d|0)!=0))break b;else{g=d;h=d;d=e}}f[p>>2]=h;f[i>>2]=g;f[p>>2]=0;e=d}if(k){k=37;break a}h=l+16|0;d=h;while(1){d=f[d>>2]|0;g=d;if((f[g>>2]|0)==(n|0))d=g+12|0;else break}f[p>>2]=d;i=l+8|0;g=f[h>>2]|0;f[g+8>>2]=f[i>>2];h=f[i>>2]|0;if(!h)c=g;else f[h+12>>2]=g;f[i>>2]=e;e=l}f[p>>2]=d;k=30}else{e=0;while(1){g=d+8|0;j=f[g>>2]|0;f[g>>2]=0;g=(j|0)==0;if(g)c=0;else f[j+12>>2]=0;d=wu(p,m)|0;if(d|0){k=46;break a}d=f[p>>2]|0;if(d|0){k=30;break a}if(g){k=37;break a}h=j+16|0;d=h;while(1){d=f[d>>2]|0;g=d;if((f[g>>2]|0)==(n|0))d=g+12|0;else break}f[p>>2]=d;i=j+8|0;g=f[h>>2]|0;f[g+8>>2]=f[i>>2];h=f[i>>2]|0;if(!h)c=g;else f[h+12>>2]=g;f[i>>2]=e;e=j}}while(0);if((k|0)==30){uu(d);d=18;k=46}else if((k|0)==37){f[p>>2]=0;if(o){h=0;c=0;do{d=q+(h<<2)|0;g=f[d>>2]|0;if(g){if(!c){c=g;d=g+8|0}else{f[e+16>>2]=c;d=f[d>>2]|0;f[e+12>>2]=d;f[d+8>>2]=e;f[c+8>>2]=e;d=e+8|0;c=e;e=f[d>>2]|0}f[d>>2]=0}h=h+1|0}while((h|0)!=(b|0));f[p>>2]=c;d=0}else{d=0;c=0}}if((k|0)==46){if(o){g=0;do{uu(f[q+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(b|0))}if(e)do{g=e;e=f[e+8>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](g);else{b=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g)}}while((e|0)!=0)}if(!(f[9328]|0))ob[f[37360>>2]&127](q);else{b=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q)}}else{if((n|0)!=2){q=0;b=c;f[a>>2]=b;t=r;return q|0}h=c+12|0;g=f[h>>2]|0;f[p>>2]=g;i=c+16|0;e=f[i>>2]|0;f[j>>2]=e;f[h>>2]=0;f[i>>2]=0;f[g+8>>2]=0;f[e+8>>2]=0;g=b+-1|0;d=wu(p,g)|0;do if(!d){d=wu(j,g)|0;if(!d){d=f[p>>2]|0;f[h>>2]=d;f[d+8>>2]=c;d=f[j>>2]|0;f[i>>2]=d;f[d+8>>2]=c;d=0;break}else{e=f[j>>2]|0;k=63;break}}else k=63;while(0);if((k|0)==63){uu(e);uu(f[p>>2]|0)}}if(!d){q=0;b=c;f[a>>2]=b;t=r;return q|0}}else d=1;while(0);uu(c);q=d;b=0;f[a>>2]=b;t=r;return q|0}function xu(a,b){a=a|0;b=b|0;var c=0;if(!a){c=0;return c|0}c=b;while(1){if((c|0)<0){b=18;a=6;break}c=c+-1|0;b=xu(f[a+12>>2]|0,c)|0;if(b|0){a=6;break}a=f[a+16>>2]|0;if(!a){b=0;a=6;break}}if((a|0)==6)return b|0;return 0}function yu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if(!b)return;while(1){if(f[e>>2]|0){v=38;break}g=f[b>>2]|0;if((g|0)==5){v=5;break}f[d>>2]=(f[d>>2]|0)+((g|0)==4&1);yu(a,f[b+12>>2]|0,c,d,e);b=f[b+16>>2]|0;if(!b){v=38;break}}if((v|0)==5){t=b+20|0;b=f[t>>2]|0;u=f[b+64>>2]|0;f[c>>2]=(f[c>>2]|0)+u;a:do if((u|0)>0){s=a+20|0;r=0;b:while(1){o=f[b+72+(r*24|0)>>2]|0;p=f[b+72+(r*24|0)+4>>2]|0;n=f[b+72+(r*24|0)+8>>2]|0;q=b+72+(r*24|0)+20|0;if(Mc()|0){g=0;b=7;v=34;break}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](56)|0;if(!g){g=0;b=7;v=34;break}}else{b=ib[f[37372>>2]&255](56)|0;if((f[18194]|0)>>>0<56)f[18194]=56;d=71896;g=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&g>>>0>0){m=f[18187]|0;l=LA(g|0,d|0,b|0,((b|0)<0)<<31>>31|0)|0;k=ba()|0;f[17976]=((k|0)<0|(k|0)==0&l>>>0<=m>>>0)&1}g=ib[f[37356>>2]&255](b)|0;if(!g){g=0;b=7;v=34;break}b=ib[f[37368>>2]&255](g)|0;b=(f[18187]|0)+b|0;f[18187]=b;if(b>>>0>(f[18191]|0)>>>0)f[18191]=b;b=(f[18190]|0)+1|0;f[18190]=b;if(b>>>0>(f[18196]|0)>>>0)f[18196]=b}m=f[a>>2]|0;l=(n|0)!=0;c:do if(l){h=m+256|0;c=g+36|0;k=f[m+252>>2]|0;i=(k|0)>1;if(i){d=f[h>>2]|0;j=1;while(1){if((f[d+(j*24|0)>>2]|0)==(p|0)){v=25;break}b=j+1|0;if((b|0)<(k|0))j=b;else break}if((v|0)==25){v=0;b=f[s>>2]|0;i=g;k=i+56|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(k|0));b=lt(m,b,j,-2,o,p,0,0,g)|0;f[c>>2]=1;break}j=p+1|0;if(i){d=f[h>>2]|0;h=1;while(1){if((f[d+(h*24|0)>>2]|0)==(j|0))break;b=h+1|0;if((b|0)<(k|0))h=b;else{v=33;break c}}b=f[s>>2]|0;i=g;k=i+56|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(k|0));b=lt(m,b,h,-2,o,p,1,0,g)|0;if(b|0){v=34;break b}b=lt(m,f[s>>2]|0,0,-2,o,p,0,0,g)|0}else v=33}else v=33}else{c=g+36|0;v=33}while(0);if((v|0)==33){v=0;b=(l^1)&1;d=f[s>>2]|0;i=g;k=i+56|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(k|0));p=lt(m,d,0,-2,o,p,n,0,g)|0;f[c>>2]=b;b=p}f[q>>2]=g;r=r+1|0;if(b|0)break;b=f[t>>2]|0;if((r|0)>=(u|0))break a}if((v|0)==34)f[q>>2]=g;f[e>>2]=b;return}while(0);f[b+44>>2]=-1;return}else if((v|0)==38)return} -function Ys(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0;da=t;t=t+160|0;q=da+48|0;F=da+40|0;E=da+32|0;D=da+24|0;Z=da+16|0;z=da+8|0;v=da;O=da+136|0;$=da+80|0;W=da+72|0;X=da+68|0;Y=da+64|0;ca=da+60|0;A=da+56|0;f[ca>>2]=0;f[A>>2]=0;y=(c|0)>1;a:do if(y){_=a+24|0;c=f[_>>2]|0;if(-1431655766>>>(d[(f[e>>2]|0)+8>>1]&31)&1|0?(o=f[e+(c+2<<2)>>2]|0,n=o+8|0,i=d[n>>1]|0,(-1431655766>>>(i&31)&1|0)==0):0){do if(o){if((i&514)==514?(b[o+10>>0]|0)==1:0){q=f[o+16>>2]|0;break}if(!(i&1)){q=Ic(o,1)|0;i=d[n>>1]|0}else q=0}else q=0;while(0);if((i&2)!=0?(b[o+10>>0]|0)==1:0)c=f[o+12>>2]|0;else aa=14;do if((aa|0)==14){i=i&65535;if(!(i&16)){if(i&1|0){c=0;break}c=_e(o,1)|0;break}else{c=f[o+12>>2]|0;if(!(i&16384))break;c=(f[o>>2]|0)+c|0;break}}while(0);b:do if(!q)i=7;else{c:do switch(c|0){case 8:{n=b[q>>0]|0;d:do if(!(n<<24>>24)){i=48511;aa=22}else{_=n&255;i=1232+_|0;do if((_|32|0)==111){i=b[q+1>>0]|0;if(!(i<<24>>24)){i=48512;aa=22;break d}_=i&255;i=1232+_|0;if((_|32|0)==112){i=b[q+2>>0]|0;if(!(i<<24>>24)){i=48513;aa=22;break d}_=i&255;i=1232+_|0;if((_|32|0)==116){i=b[q+3>>0]|0;if(!(i<<24>>24)){i=48514;aa=22;break d}_=i&255;i=1232+_|0;if((_|32|0)==105){i=b[q+4>>0]|0;if(!(i<<24>>24)){i=48515;aa=22;break d}i=i&255;if((i|32|0)!=109){m=109;i=1232+i|0;break}i=b[q+5>>0]|0;if(!(i<<24>>24)){i=48516;aa=22;break d}i=i&255;if((i|32|0)!=105){m=105;i=1232+i|0;break}i=b[q+6>>0]|0;if(!(i<<24>>24)){i=48517;aa=22;break d}i=i&255;if((i|32|0)!=122){m=122;i=1232+i|0;break}i=b[q+7>>0]|0;if(!(i<<24>>24)){i=48518;aa=22;break d}i=i&255;if((i|32|0)==101)break d;else{m=101;i=1232+i|0}}else m=105}else m=116}else m=112}else m=111;while(0);u=h[i>>0]|0;aa=26}while(0);if((aa|0)==22){u=0;m=b[1232+(h[i>>0]|0)>>0]|0;aa=26}if((aa|0)==26?(u|0)!=(m&255|0):0)break c;i=eu(a,0)|0;break b}case 7:{n=b[q>>0]|0;e:do if(!(n<<24>>24)){i=65599;aa=29}else{Z=n&255;i=1232+Z|0;do if((Z|32|0)==114){i=b[q+1>>0]|0;if(!(i<<24>>24)){i=65600;aa=29;break e}Z=i&255;i=1232+Z|0;if((Z|32|0)==101){i=b[q+2>>0]|0;if(!(i<<24>>24)){i=65601;aa=29;break e}Z=i&255;i=1232+Z|0;if((Z|32|0)==98){i=b[q+3>>0]|0;if(!(i<<24>>24)){i=65602;aa=29;break e}Z=i&255;i=1232+Z|0;if((Z|32|0)==117){i=b[q+4>>0]|0;if(!(i<<24>>24)){i=65603;aa=29;break e}i=i&255;if((i|32|0)!=105){m=105;i=1232+i|0;break}i=b[q+5>>0]|0;if(!(i<<24>>24)){i=65604;aa=29;break e}i=i&255;if((i|32|0)!=108){m=108;i=1232+i|0;break}i=b[q+6>>0]|0;if(!(i<<24>>24)){i=65605;aa=29;break e}i=i&255;if((i|32|0)==100)break e;else{m=100;i=1232+i|0}}else m=117}else m=98}else m=101}else m=114;while(0);s=h[i>>0]|0;r=m;aa=33}while(0);if((aa|0)==29){s=0;r=b[1232+(h[i>>0]|0)>>0]|0;aa=33}if((aa|0)==33?(s|0)!=(r&255|0):0)break c;i=lu(a,0)|0;f[O>>2]=i;if(!i){f[$>>2]=0;f[v>>2]=f[a+220>>2];i=wd(65607,v)|0;do if(i){k=Ki(f[a+12>>2]|0,i,-1,128,0,$,0)|0;f[O>>2]=k;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{Z=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}if(!k){i=((f[_>>2]|0)*12|0)+12|0;D=Fd(i)|0;if(!D){f[O>>2]=7;m=0;l=0;k=0;i=0;break}_A(D|0,0,i|0)|0;k=(f[_>>2]|0)+1|0;l=D+(k<<2)|0;k=l+(k<<2)|0;x=a+44|0;y=a+272|0;z=a+284|0;g=a+280|0;e=a+234|0;A=a+32|0;B=a+264|0;C=a+260|0;m=0;w=f[$>>2]|0;while(1){if((Ei(w)|0)!=100){aa=89;break}if(!(f[x>>2]|0))v=0;else v=Ip(w,(f[_>>2]|0)+1|0)|0;n=Jp(w,0)|0;o=ba()|0;c=y;i=f[c>>2]|0;c=f[c+4>>2]|0;do if(!((c|0)>(o|0)|(c|0)==(o|0)&i>>>0>n>>>0)){if((i|0)==(n|0)&(c|0)==(o|0)?(f[z>>2]|0)==0:0){aa=52;break}if((f[g>>2]|0)!=(v|0)){aa=52;break}if((f[B>>2]|0)<=(f[C>>2]|0))aa=53;else aa=52}else aa=52;while(0);if((aa|0)==52){aa=0;i=it(a)|0;if(!i)aa=53}if((aa|0)==53){aa=0;i=y;f[i>>2]=n;f[i+4>>2]=o;f[g>>2]=v;f[z>>2]=0;i=0}f[O>>2]=i;_A(D|0,0,(f[_>>2]<<2)+4|0)|0;f:do if(!i){r=w+104|0;s=w+140|0;u=w+40|0;g:do if(!w){i=f[_>>2]|0;if((i|0)<=0)break;n=f[A>>2]|0;c=0;do{if(!(b[n+c>>0]|0)){f[D+(c<<2)>>2]=0;i=f[_>>2]|0}c=c+1|0}while((c|0)<(i|0))}else{q=0;do{if((q|0)>=(f[_>>2]|0))break g;o=q;q=q+1|0;if(!(b[(f[A>>2]|0)+o>>0]|0)){i=f[r>>2]|0;do if(!i)aa=66;else{if(q>>>0>=(j[s>>1]|0)>>>0){aa=66;break}i=i+(q*40|0)|0}while(0);if((aa|0)==66){aa=0;i=f[w>>2]|0;f[i+64>>2]=25;Bg(i,25);i=37592}c=d[i+8>>1]|0;do if((c&514)==514){if((b[i+10>>0]|0)!=1){aa=71;break}n=f[i+16>>2]|0}else aa=71;while(0);do if((aa|0)==71){aa=0;if(c&1){n=0;break}n=Ic(i,1)|0}while(0);i=f[w>>2]|0;c=f[u>>2]|0;if((c|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7}else i=f[i+68>>2]&c;f[u>>2]=i;i=mu(a,v,n,o,D+(o<<2)|0)|0;Y=Gp(w,q)|0;Z=D+(f[_>>2]<<2)|0;f[Z>>2]=(f[Z>>2]|0)+Y}else i=0}while(!(i|0));f[O>>2]=i;break f}while(0);f[O>>2]=0;i=0}while(0);if(b[e>>0]|0){nu(O,a,D);i=f[O>>2]|0}c=(i|0)==0;do if(c){m=m+1|0;if((f[_>>2]|0)<0){i=w;break}i=0;while(1){aa=l+(i<<2)|0;f[aa>>2]=(f[aa>>2]|0)+(f[D+(i<<2)>>2]|0);if((i|0)<(f[_>>2]|0))i=i+1|0;else{i=w;break}}}else{Fi(w)|0;i=0}while(0);if(c)w=i;else{aa=88;break}}if((aa|0)==88){f[$>>2]=i;i=D;break}else if((aa|0)==89){f[$>>2]=w;i=D;break}}else{m=0;l=0;k=0;i=0}}else{f[O>>2]=7;m=0;l=0;k=0;i=0}while(0);if(b[a+232>>0]|0)ou(O,a,l,k,m);do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{_=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-_;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);i=f[$>>2]|0;if(i){i=Fi(i)|0;k=f[O>>2]|0;if(!k)f[O>>2]=i;else i=k}else i=f[O>>2]|0}break b}case 15:{n=b[q>>0]|0;h:do if(!(n<<24>>24)){i=65617;aa=103}else{V=n&255;i=1232+V|0;do if((V|32|0)==105){i=b[q+1>>0]|0;if(!(i<<24>>24)){i=65618;aa=103;break h}V=i&255;i=1232+V|0;if((V|32|0)==110){i=b[q+2>>0]|0;if(!(i<<24>>24)){i=65619;aa=103;break h}V=i&255;i=1232+V|0;if((V|32|0)==116){i=b[q+3>>0]|0;if(!(i<<24>>24)){i=65620;aa=103;break h}V=i&255;i=1232+V|0;if((V|32|0)==101){i=b[q+4>>0]|0;if(!(i<<24>>24)){i=65621;aa=103;break h}i=i&255;if((i|32|0)!=103){m=103;i=1232+i|0;break}i=b[q+5>>0]|0;if(!(i<<24>>24)){i=65622;aa=103;break h}i=i&255;if((i|32|0)!=114){m=114;i=1232+i|0;break}i=b[q+6>>0]|0;if(!(i<<24>>24)){i=65623;aa=103;break h}i=i&255;if((i|32|0)!=105){m=105;i=1232+i|0;break}i=b[q+7>>0]|0;if(!(i<<24>>24)){i=65624;aa=103;break h}i=i&255;if((i|32|0)!=116){m=116;i=1232+i|0;break}i=b[q+8>>0]|0;if(!(i<<24>>24)){i=65625;aa=103;break h}i=i&255;if((i|32|0)!=121){m=121;i=1232+i|0;break}i=b[q+9>>0]|0;if(!(i<<24>>24)){i=65626;aa=103;break h}if(i<<24>>24!=45){m=45;i=1232+(i&255)|0;break}i=b[q+10>>0]|0;if(!(i<<24>>24)){i=65627;aa=103;break h}i=i&255;if((i|32|0)!=99){m=99;i=1232+i|0;break}i=b[q+11>>0]|0;if(!(i<<24>>24)){i=65628;aa=103;break h}i=i&255;if((i|32|0)!=104){m=104;i=1232+i|0;break}i=b[q+12>>0]|0;if(!(i<<24>>24)){i=65629;aa=103;break h}i=i&255;if((i|32|0)!=101){m=101;i=1232+i|0;break}i=b[q+13>>0]|0;if(!(i<<24>>24)){i=65630;aa=103;break h}i=i&255;if((i|32|0)!=99){m=99;i=1232+i|0;break}i=b[q+14>>0]|0;if(!(i<<24>>24)){i=65631;aa=103;break h}i=i&255;if((i|32|0)==107)break h;else{m=107;i=1232+i|0}}else m=101}else m=116}else m=110}else m=105;while(0);x=h[i>>0]|0;w=m;aa=107}while(0);if((aa|0)==103){x=0;w=b[1232+(h[i>>0]|0)>>0]|0;aa=107}if((aa|0)==107?(x|0)!=(w&255|0):0)break c;k=a+164|0;i=f[k>>2]|0;f[O>>2]=i;do if(!i){i=f[a+20>>2]|0;f[z>>2]=f[a+16>>2];f[z+4>>2]=i;i=wd(64725,z)|0;if(!i){c=7;m=0;l=0;k=0;i=0;break}c=Ki(f[a+12>>2]|0,i,-1,129,0,O,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{V=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-V;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[O>>2]|0;f[k>>2]=i;if(!c)aa=116;else{m=0;l=0;k=0;i=0}}else aa=116;while(0);if((aa|0)==116){N=i;k=f[a+280>>2]|0;l=((k|0)<0)<<31>>31;do if(!(Op(N,1)|0)){m=f[N+116>>2]|0;c=m+8|0;if(!(d[c>>1]&9216)){V=m;f[V>>2]=k;f[V+4>>2]=l;d[c>>1]=4;break}else{bf(m,k,l);break}}while(0);V=a+252|0;k=f[V>>2]|0;l=((k|0)<0)<<31>>31;do if(!(Op(N,2)|0)){c=f[N+116>>2]|0;m=c+40|0;c=c+48|0;if(!(d[c>>1]&9216)){U=m;f[U>>2]=k;f[U+4>>2]=l;d[c>>1]=4;break}else{bf(m,k,l);break}}while(0);F=O+12|0;G=$+12|0;H=$+4|0;I=$+16|0;J=$+48|0;K=$+52|0;L=$+40|0;M=$+44|0;m=0;k=0;while(1){if((Ei(N)|0)!=100){l=0;n=1;U=k;break}D=Ip(N,0)|0;if((f[V>>2]|0)>0){E=((D|0)<0)<<31>>31;C=0;do{f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[F>>2]=19;l=$;c=l+56|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(c|0));l=lt(a,D,C,-2,0,0,0,1,$)|0;do if(!l){f[G>>2]=O;l=mt(a,$,0,0)|0;if(l|0){w=0;n=0;break}l=nt(a,$)|0;if((l|0)!=100){w=0;n=0;break}c=0;n=0;do{u=f[J>>2]|0;s=f[K>>2]|0;B=u+s|0;o=b[u>>0]|0;l=o&255;do if(!(l&128)){q=1;l=o&255;r=0}else{U=h[u+1>>0]|0;l=U<<7|l&127;if(!(U&128)){q=2;r=0;break}U=h[u+2>>0]|0;l=U<<14|l&16383;if(!(U&128)){q=3;r=0;break}U=h[u+3>>0]|0;l=U<<21|l&2097151;if(!(U&128)){q=4;r=0;break}o=28;q=u+4|0;l=l&268435455;r=0;do{U=q;q=q+1|0;U=h[U>>0]|0;T=WA(U&127|0,0,o|0)|0;l=KA(T|0,ba()|0,l|0,r|0)|0;r=ba()|0;o=o+7|0}while(o>>>0<64&((U&128|0)!=0|0!=0));q=q-u|0}while(0);if((q|0)<(s|0)){g=f[L>>2]|0;e=f[M>>2]|0;A=(e|0)>0;z=u+q|0;o=0;x=0;y=0;while(1){s=b[z>>0]|0;q=s&255;do if(!(q&128)){w=1;v=0;u=s&255}else{U=h[z+1>>0]|0;q=U<<7|q&127;if(!(U&128)){w=2;v=0;u=q;break}U=h[z+2>>0]|0;q=U<<14|q&16383;if(!(U&128)){w=3;v=0;u=q;break}U=h[z+3>>0]|0;u=U<<21|q&2097151;if(!(U&128)){w=4;v=0;break}q=28;s=z+4|0;u=u&268435455;v=0;do{U=s;s=s+1|0;U=h[U>>0]|0;T=WA(U&127|0,0,q|0)|0;u=KA(T|0,ba()|0,u|0,v|0)|0;v=ba()|0;q=q+7|0}while(q>>>0<64&((U&128|0)!=0|0!=0));w=s-z|0}while(0);z=z+w|0;do if(z>>>0>>0){if(!(v>>>0<0|(v|0)==0&u>>>0<2)){w=KA(x|0,y|0,-2,-1)|0;v=KA(w|0,ba()|0,u|0,v|0)|0;w=ba()|0;q=WA(l|0,r|0,3)|0;T=ba()|0;U=KA(l|0,r|0,D|0,E|0)|0;T=KA(U|0,ba()|0,q|0,T|0)|0;q=ba()|0;U=WA(T|0,q|0,3)|0;s=ba()|0;q=KA(T|0,q|0,C|0,0)|0;s=KA(q|0,ba()|0,U|0,s|0)|0;U=ba()|0;q=WA(s|0,U|0,3)|0;T=ba()|0;U=KA(s|0,U|0,o|0,((o|0)<0)<<31>>31|0)|0;T=KA(U|0,ba()|0,q|0,T|0)|0;q=ba()|0;U=UA(0,v|0,32)|0;s=ba()|0;q=QA(T|0,q|0,9,0)|0;q=KA(U|0,s|0,q|0,ba()|0)|0;s=ba()|0;if(A){u=0;do{U=b[g+u>>0]|0;q=QA(q|0,s|0,9,0)|0;q=KA(q|0,ba()|0,U|0,((U|0)<0)<<31>>31|0)|0;s=ba()|0;u=u+1|0}while((u|0)!=(e|0))}u=z;c=q^c;n=s^n;s=v;q=w;break}s=b[z>>0]|0;o=s&255;q=(o&128|0)==0;if(!((u|0)==0&(v|0)==0)){do if(q)q=1;else{U=h[z+1>>0]|0;o=U<<7|o&127;if(!(U&128)){q=2;break}U=h[z+2>>0]|0;o=U<<14|o&16383;if(!(U&128)){q=3;break}U=h[z+3>>0]|0;o=U<<21|o&2097151;if(!(U&128)){q=4;break}s=28;u=z+4|0;o=o&268435455;q=0;do{U=u;u=u+1|0;U=h[U>>0]|0;T=WA(U&127|0,0,s|0)|0;o=KA(T|0,ba()|0,o|0,q|0)|0;q=ba()|0;s=s+7|0}while(s>>>0<64&((U&128|0)!=0|0!=0));q=u-z|0}while(0);u=z+q|0;s=0;q=0;break}do if(q){u=1;o=s&255;q=0}else{U=h[z+1>>0]|0;o=U<<7|o&127;if(!(U&128)){u=2;q=0;break}U=h[z+2>>0]|0;o=U<<14|o&16383;if(!(U&128)){u=3;q=0;break}U=h[z+3>>0]|0;o=U<<21|o&2097151;if(!(U&128)){u=4;q=0;break}s=28;u=z+4|0;o=o&268435455;q=0;do{U=u;u=u+1|0;U=h[U>>0]|0;T=WA(U&127|0,0,s|0)|0;o=KA(T|0,ba()|0,o|0,q|0)|0;q=ba()|0;s=s+7|0}while(s>>>0<64&((U&128|0)!=0|0!=0));u=u-z|0}while(0);l=KA(o|0,q|0,l|0,r|0)|0;u=z+u|0;o=0;r=ba()|0;s=0;q=0}else{u=z;s=x;q=y}while(0);if(u>>>0>>0){z=u;x=s;y=q}else break}}l=nt(a,$)|0}while((l|0)==100);w=c}else{w=0;n=0}while(0);u=f[H>>2]|0;v=f[$>>2]|0;if((u|0)<=0){if(v|0)aa=213}else{r=0;while(1){s=f[v+(r<<2)>>2]|0;do if(s|0){do if(!(f[s+56>>2]|0)){c=f[s+64>>2]|0;if(!c)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{aa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);do if(!(b[s+5>>0]|0)){c=f[s+40>>2]|0;if(!c)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{aa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=f[s+52>>2]|0;i:do if(c|0){o=f[c+20>>2]|0;Fi(f[c+16>>2]|0)|0;do if(o|0){if(f[o+480>>2]|0){Kc(o,c);break i}q=c;if((f[o+304>>2]|0)>>>0>q>>>0)break;if((f[o+308>>2]|0)>>>0<=q>>>0)break;aa=o+300|0;f[c>>2]=f[aa>>2];f[aa>>2]=c;break i}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{aa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{aa=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);r=r+1|0;if((r|0)==(u|0)){aa=213;break}}}do if((aa|0)==213){aa=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](v);break}else{U=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-U;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);break}}while(0);c=f[I>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{U=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-U;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);m=w^m;k=n^k;C=C+1|0}while((C|0)<(f[V>>2]|0))}else l=0;if(l){n=0;U=k;break}}do if(i){i=f[N>>2]|0;T=N+128|0;S=f[T+4>>2]|0;if((S|0)>0|(S|0)==0&(f[T>>2]|0)>>>0>0)Hi(i,N);k=fg(N)|0;f[N+20>>2]=770837923;f[N+36>>2]=-1;f[N+40>>2]=0;b[N+142>>0]=2;f[N+44>>2]=0;f[N+32>>2]=1;b[N+143>>0]=-1;f[N+48>>2]=0;T=N+64|0;f[T>>2]=0;f[T+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);c=7;break}else{c=f[i+68>>2]&k;break}}else c=0;while(0);if(n)if(!c){T=a+36|0;l=f[f[T>>2]>>2]|0;f[O>>2]=0;f[Z>>2]=f[a+220>>2];i=wd(65607,Z)|0;j:do if(!i){c=7;l=0;i=0;k=0}else{c=Ki(f[a+12>>2]|0,i,-1,128,0,O,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{S=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}k=f[O>>2]|0;if(c|0){l=0;i=0;break}L=a+44|0;M=a+32|0;N=(k|0)==0;O=k+104|0;P=k+140|0;Q=k+40|0;R=l+20|0;S=a+256|0;K=l+16|0;l=0;i=0;do{if((Ei(k)|0)!=100){c=0;break j}c=Jp(k,0)|0;n=ba()|0;if(!(f[L>>2]|0))J=0;else J=Ip(k,(f[_>>2]|0)+1|0)|0;I=QA(c|0,n|0,9,0)|0;I=KA(I|0,ba()|0,J|0,((J|0)<0)<<31>>31|0)|0;H=ba()|0;F=QA(I|0,H|0,81,0)|0;G=ba()|0;H=QA(I|0,H|0,9,0)|0;I=ba()|0;E=0;do{if((E|0)>=(f[_>>2]|0)){c=0;break}D=E;E=E+1|0;if(!(b[(f[M>>2]|0)+D>>0]|0)){k:do if(N)c=37592;else{c=f[O>>2]|0;do if(c|0){if(E>>>0>=(j[P>>1]|0)>>>0)break;c=c+(E*40|0)|0;break k}while(0);c=f[k>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}while(0);n=d[c+8>>1]|0;do if((n&514)==514){if((b[c+10>>0]|0)!=1){aa=250;break}q=f[c+16>>2]|0}else aa=250;while(0);do if((aa|0)==250){aa=0;if(n&1){q=0;break}q=Ic(c,1)|0}while(0);if(!N){c=f[k>>2]|0;n=f[Q>>2]|0;if((n|0)==3082|(b[c+81>>0]|0)!=0){Di(c);c=7}else c=f[c+68>>2]&n;f[Q>>2]=c}c=Gp(k,E)|0;n=f[T>>2]|0;o=f[n>>2]|0;f[Z>>2]=0;c=lb[f[o+12>>2]&127](n,q,c,Z)|0;l:do if(!c){f[f[Z>>2]>>2]=n;do if((f[o>>2]|0)>0){c=jb[f[o+24>>2]&255](f[Z>>2]|0,J)|0;if(!c)break;ib[f[o+16>>2]&255](f[Z>>2]|0)|0;f[Z>>2]=0;n=0;aa=262;break l}while(0);n=f[Z>>2]|0;A=n;B=KA(F|0,G|0,D|0,0)|0;B=QA(B|0,ba()|0,9,0)|0;C=ba()|0;do{f[$>>2]=0;f[W>>2]=0;f[X>>2]=0;f[Y>>2]=0;c=nb[f[R>>2]&127](A,Z,$,W,X,Y)|0;e=(c|0)==0;do if(e){x=f[Z>>2]|0;y=f[$>>2]|0;z=f[Y>>2]|0;g=((z|0)<0)<<31>>31;o=KA(B|0,C|0,z|0,g|0)|0;q=ba()|0;if((y|0)>0){r=0;do{w=b[x+r>>0]|0;o=QA(o|0,q|0,9,0)|0;o=KA(o|0,ba()|0,w|0,((w|0)<0)<<31>>31|0)|0;q=ba()|0;r=r+1|0}while((r|0)!=(y|0))}l=o^l;i=q^i;v=f[V>>2]|0;if((v|0)<=1)break;w=f[S>>2]|0;u=1;do{s=f[w+(u*24|0)>>2]|0;if((s|0)<=(y|0)){q=KA(H|0,I|0,u|0,0)|0;o=ba()|0;r=WA(q|0,o|0,3)|0;ea=ba()|0;o=KA(q|0,o|0,D|0,0)|0;ea=KA(o|0,ba()|0,r|0,ea|0)|0;r=ba()|0;o=WA(ea|0,r|0,3)|0;q=ba()|0;r=KA(ea|0,r|0,z|0,g|0)|0;q=KA(r|0,ba()|0,o|0,q|0)|0;o=ba()|0;if((s|0)>0){r=0;do{ea=b[x+r>>0]|0;q=QA(q|0,o|0,9,0)|0;q=KA(q|0,ba()|0,ea|0,((ea|0)<0)<<31>>31|0)|0;o=ba()|0;r=r+1|0}while((r|0)!=(s|0))}l=q^l;i=o^i}u=u+1|0}while((u|0)!=(v|0))}while(0)}while(e)}else{n=f[Z>>2]|0;aa=262}while(0);if((aa|0)==262)aa=0;if(n|0)ib[f[K>>2]&255](n)|0;c=(c|0)==101?0:c}else c=0}while(!(c|0))}while((c|0)==0)}while(0);Fi(k)|0;k=U}else{l=0;k=U;i=0}else{c=l;l=0;k=U;i=0}}i=(c|(m|0)==(l|0)&(k|0)==(i|0)&1|0)==0?267:c;break b}default:{if((c|0)<=6){i=1;break b}n=b[q>>0]|0}}while(0);m=n<<24>>24==0;m:do if(m){i=65633;aa=287}else{ea=n&255;i=1232+ea|0;do if((ea|32|0)==109){i=b[q+1>>0]|0;if(!(i<<24>>24)){i=65634;aa=287;break m}ea=i&255;i=1232+ea|0;if((ea|32|0)==101){i=b[q+2>>0]|0;if(!(i<<24>>24)){i=65635;aa=287;break m}ea=i&255;i=1232+ea|0;if((ea|32|0)==114){i=b[q+3>>0]|0;if(!(i<<24>>24)){i=65636;aa=287;break m}ea=i&255;i=1232+ea|0;if((ea|32|0)==103){i=b[q+4>>0]|0;if(!(i<<24>>24)){i=65637;aa=287;break m}i=i&255;if((i|32|0)!=101){l=101;i=1232+i|0;break}i=b[q+5>>0]|0;if(!(i<<24>>24)){i=65638;aa=287;break m}if(i<<24>>24==61)break m;else{l=61;i=1232+(i&255)|0}}else l=103}else l=114}else l=101}else l=109;while(0);B=h[i>>0]|0;aa=291}while(0);if((aa|0)==287){B=0;l=b[1232+(h[i>>0]|0)>>0]|0;aa=291}if((aa|0)==291?(B|0)!=(l&255|0):0){if((c|0)<=10){i=1;break}n:do if(m){i=65717;aa=321}else{ea=n&255;i=1232+ea|0;do if((ea|32|0)==97){i=b[q+1>>0]|0;if(!(i<<24>>24)){i=65718;aa=321;break n}ea=i&255;i=1232+ea|0;if((ea|32|0)==117){i=b[q+2>>0]|0;if(!(i<<24>>24)){i=65719;aa=321;break n}i=i&255;if((i|32|0)!=116){k=116;i=1232+i|0;break}i=b[q+3>>0]|0;if(!(i<<24>>24)){i=65720;aa=321;break n}i=i&255;if((i|32|0)!=111){k=111;i=1232+i|0;break}i=b[q+4>>0]|0;if(!(i<<24>>24)){i=65721;aa=321;break n}i=i&255;if((i|32|0)!=109){k=109;i=1232+i|0;break}i=b[q+5>>0]|0;if(!(i<<24>>24)){i=65722;aa=321;break n}i=i&255;if((i|32|0)!=101){k=101;i=1232+i|0;break}i=b[q+6>>0]|0;if(!(i<<24>>24)){i=65723;aa=321;break n}i=i&255;if((i|32|0)!=114){k=114;i=1232+i|0;break}i=b[q+7>>0]|0;if(!(i<<24>>24)){i=65724;aa=321;break n}i=i&255;if((i|32|0)!=103){k=103;i=1232+i|0;break}i=b[q+8>>0]|0;if(!(i<<24>>24)){i=65725;aa=321;break n}i=i&255;if((i|32|0)!=101){k=101;i=1232+i|0;break}i=b[q+9>>0]|0;if(!(i<<24>>24)){i=65726;aa=321;break n}if(i<<24>>24==61)break n;else{k=61;i=1232+(i&255)|0}}else k=117}else k=97;while(0);C=h[i>>0]|0;aa=325}while(0);if((aa|0)==321){C=0;k=b[1232+(h[i>>0]|0)>>0]|0;aa=325}if((aa|0)==325?(C|0)!=(k&255|0):0){i=1;break}i=q+10|0;f[$>>2]=0;k=b[i>>0]|0;o:do if(k<<24>>24>47){m=i;i=0;l=k;k=k<<24>>24;while(1){if(!(l<<24>>24<58&(i|0)<214748363))break o;m=m+1|0;i=k+-48+(i*10|0)|0;k=b[m>>0]|0;if(k<<24>>24<=47)break;else{l=k;k=k<<24>>24}}}else i=0;while(0);m=a+48|0;f[m>>2]=(i|0)==1|(i|0)>16?8:i;k=a+233|0;if(!(b[k>>0]|0)){i=f[a+12>>2]|0;ea=f[a+20>>2]|0;f[E>>2]=f[a+16>>2];f[E+4>>2]=ea;jt($,i,65640,E);i=f[$>>2]|0;if(!i){b[k>>0]=1;aa=333}}else aa=333;do if((aa|0)==333){l=a+148|0;k=f[l>>2]|0;f[O>>2]=k;if(!k){k=f[a+20>>2]|0;f[F>>2]=f[a+16>>2];f[F+4>>2]=k;k=wd(65561,F)|0;if(!k){f[$>>2]=7;i=7;break}i=Ki(f[a+12>>2]|0,k,-1,129,0,O,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{ea=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}k=f[O>>2]|0;f[l>>2]=k;f[$>>2]=i;if(i)break}else f[$>>2]=0;c=k;do if(!(Op(c,1)|0)){i=f[c+116>>2]|0;l=i+8|0;if(!(d[l>>1]&9216)){ea=i;f[ea>>2]=2;f[ea+4>>2]=0;d[l>>1]=4;break}else{bf(i,2,0);break}}while(0);l=f[m>>2]|0;m=((l|0)<0)<<31>>31;if(Op(c,2)|0){Ei(c)|0;if(!k)i=0;else aa=351}else{k=f[c+116>>2]|0;i=k+40|0;k=k+48|0;if(!(d[k>>1]&9216)){ea=i;f[ea>>2]=l;f[ea+4>>2]=m;d[k>>1]=4}else bf(i,l,m);Ei(c)|0;aa=351}do if((aa|0)==351){i=f[c>>2]|0;ea=c+128|0;_=f[ea+4>>2]|0;if((_|0)>0|(_|0)==0&(f[ea>>2]|0)>>>0>0)Hi(i,c);k=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;ea=c+64|0;f[ea>>2]=0;f[ea+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&k;break}}while(0);f[$>>2]=i}while(0);break}i=q+6|0;m=b[i>>0]|0;p:do if(m<<24>>24>47){k=0;c=m;l=m<<24>>24;while(1){if(!(c<<24>>24<58&(k|0)<214748363)){aa=302;break p}i=i+1|0;k=l+-48+(k*10|0)|0;m=b[i>>0]|0;if(m<<24>>24>47){c=m;l=m<<24>>24}else{aa=296;break}}}else{k=0;aa=296}while(0);q:do if((aa|0)==296){if(m<<24>>24==44){i=i+1|0;m=b[i>>0]|0;if(m<<24>>24<=47){aa=302;break}l=0;c=m;m=m<<24>>24;while(1){if(!(c<<24>>24<58&(l|0)<214748363)){aa=302;break q}i=i+1|0;l=m+-48+(l*10|0)|0;m=b[i>>0]|0;if(m<<24>>24<=47){i=m;break}else{c=m;m=m<<24>>24}}}else{l=8;i=m}if(i<<24>>24!=0|(l|0)<2)aa=302;else{f[O>>2]=0;m=a+233|0;if(!(b[m>>0]|0)){i=f[a+12>>2]|0;ea=f[a+20>>2]|0;f[D>>2]=f[a+16>>2];f[D+4>>2]=ea;jt(O,i,65640,D);i=f[O>>2]|0;if(!i){b[m>>0]=1;aa=306}}else aa=306;if((aa|0)==306){i=hu(a,k,l)|0;f[O>>2]=i}k=a+248|0;l=f[k>>2]|0;r:do if(l|0){m=f[l+20>>2]|0;Fi(f[l+16>>2]|0)|0;do if(m|0){if(f[m+480>>2]|0){Kc(m,l);break r}c=l;if((f[m+304>>2]|0)>>>0>c>>>0)break;if((f[m+308>>2]|0)>>>0<=c>>>0)break;ea=m+300|0;f[l>>2]=f[ea>>2];f[ea>>2]=l;break r}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{ea=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[k>>2]=0}}while(0);if((aa|0)==302){f[O>>2]=1;i=1}}while(0);f[ca>>2]=i;break}i=f[e+(c+4<<2)>>2]|0;k=j[i+8>>1]|0;do if(!(k&4)){if(k&8|0){i=Fc(+p[i>>3])|0;ba()|0;break}if(!(k&18)){r=_;aa=444;break a}i=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;ba()|0}else i=f[i>>2]|0;while(0);if((i|0)<0)f[ca>>2]=19;else{r=_;aa=444}}else{r=a+24|0;aa=444}while(0);do if((aa|0)==444){u=Fd((f[r>>2]<<3)+8|0)|0;if(!u){f[ca>>2]=7;break}n=(f[r>>2]|0)+1|0;s=u+(n<<2)|0;_A(u|0,0,n<<3|0)|0;n=a+264|0;s:do if(!(f[n>>2]|0)){l=a+120|0;i=f[l>>2]|0;f[O>>2]=i;do if(!i){k=f[a+20>>2]|0;f[q>>2]=f[a+16>>2];f[q+4>>2]=k;k=wd(63829,q)|0;if(!k){i=7;break}i=Ki(f[a+12>>2]|0,k,-1,129,0,O,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{ea=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}k=f[O>>2]|0;f[l>>2]=k;if(!i){i=k;aa=455}}else aa=455;while(0);do if((aa|0)==455){l=i;Op(l,1)|0;Ei(l)|0;if(!i){aa=461;break s}i=f[l>>2]|0;ea=l+128|0;$=f[ea+4>>2]|0;if(($|0)>0|($|0)==0&(f[ea>>2]|0)>>>0>0)Hi(i,l);k=fg(l)|0;f[l+20>>2]=770837923;f[l+36>>2]=-1;f[l+40>>2]=0;b[l+142>>0]=2;f[l+44>>2]=0;f[l+32>>2]=1;b[l+143>>0]=-1;f[l+48>>2]=0;ea=l+64|0;f[ea>>2]=0;f[ea+4>>2]=0;if(!((k|0)==3082|(b[i+81>>0]|0)!=0)){ea=f[i+68>>2]&k;f[ca>>2]=ea;if(!ea){aa=463;break s}else break s}else{Di(i);i=7;break}}while(0);f[ca>>2]=i}else aa=461;while(0);if((aa|0)==461){f[ca>>2]=0;aa=463}t:do if((aa|0)==463){do if(y?(f[a+40>>2]|0)==0:0){i=f[e+((f[r>>2]|0)+3<<2)>>2]|0;m=i+8|0;k=d[m>>1]|0;l=-1431655766>>>(k&31);if(l&1){i=f[e+4>>2]|0;m=i+8|0;k=d[m>>1]|0;l=-1431655766>>>(k&31)}if(!(l&1)){c=f[e>>2]|0;l=d[c+8>>1]|0;if(!(-1431655766>>>(l&31)&1)){l=l&65535;do if(!(l&4)){if(l&8|0){m=Fc(+p[c>>3])|0;c=ba()|0;break}if(!(l&18)){m=0;c=0}else{ea=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;c=ba()|0;k=d[m>>1]|0;m=ea}}else{m=f[c>>2]|0;c=f[c+4>>2]|0}while(0);k=k&65535;do if(!(k&4)){if(k&8|0){k=Fc(+p[i>>3])|0;l=ba()|0;break}if(!(k&18)){k=0;l=0}else{k=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;l=ba()|0}}else{l=i;k=f[l>>2]|0;l=f[l+4>>2]|0}while(0);if((m|0)==(k|0)&(c|0)==(l|0)){l=0;break}}if((b[(f[a+12>>2]|0)+86>>0]|0)==5){k=0;i=pu(a,i,A,u)|0}else{k=1;i=qu(a,e,g)|0}f[ca>>2]=i;if(!i)l=k;else break t}else l=0}else l=0;while(0);i=f[e>>2]|0;if(!(-1431655766>>>(d[i+8>>1]&31)&1)){i=pu(a,i,A,u)|0;f[ca>>2]=i}else i=0;if(y&(i|0)==0){i=f[e+((f[r>>2]|0)+4<<2)>>2]|0;k=j[i+8>>1]|0;do if(!(k&4)){if(k&8|0){o=Fc(+p[i>>3])|0;ba()|0;break}if(!(k&18))o=0;else{o=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;ba()|0}}else o=f[i>>2]|0;while(0);u:do if(!l){ea=qu(a,e,g)|0;f[ca>>2]=ea;switch(ea|0){case 0:{aa=499;break u}case 19:break;default:break u}if(!(f[a+40>>2]|0))f[ca>>2]=267}else aa=499;while(0);v:do if((aa|0)==499){m=g;l=f[m>>2]|0;m=f[m+4>>2]|0;c=a+272|0;k=c;i=f[k>>2]|0;k=f[k+4>>2]|0;do if(!((k|0)>(m|0)|(k|0)==(m|0)&i>>>0>l>>>0)){if((i|0)==(l|0)&(k|0)==(m|0)?(f[a+284>>2]|0)==0:0){aa=504;break}i=a+280|0;if(!((f[i>>2]|0)==(o|0)?(f[n>>2]|0)<=(f[a+260>>2]|0):0))aa=504}else aa=504;while(0);do if((aa|0)==504){i=it(a)|0;if(!i){i=a+280|0;break}else{f[ca>>2]=i;break v}}while(0);ea=c;f[ea>>2]=l;f[ea+4>>2]=m;f[i>>2]=o;f[a+284>>2]=0;f[ca>>2]=0;i=f[r>>2]|0;w:do if((i|0)>0){n=a+32|0;c=2;while(1){l=c+-2|0;if(!(b[(f[n>>2]|0)+l>>0]|0)){m=e+(c<<2)|0;i=f[m>>2]|0;x:do if(!i)i=0;else{k=d[i+8>>1]|0;do if((k&514)==514){if((b[i+10>>0]|0)!=1)break;i=f[i+16>>2]|0;break x}while(0);if(k&1){i=0;break}i=Ic(i,1)|0}while(0);i=mu(a,o,i,l,s+(l<<2)|0)|0;if(i|0)break w;l=f[m>>2]|0;i=d[l+8>>1]|0;do if(!(i&2))aa=520;else{if((b[l+10>>0]|0)!=1){aa=520;break}i=f[l+12>>2]|0}while(0);do if((aa|0)==520){aa=0;k=i&65535;if(!(k&16)){if(k&1|0){i=0;break}i=_e(l,1)|0;break}else{i=f[l+12>>2]|0;if(!(k&16384))break;i=(f[l>>2]|0)+i|0;break}}while(0);ea=s+(f[r>>2]<<2)|0;f[ea>>2]=(f[ea>>2]|0)+i;i=f[r>>2]|0}if((c|0)>(i|0)){i=0;break}else c=c+1|0}}else i=0;while(0);f[ca>>2]=i}while(0);if(b[a+234>>0]|0)nu(ca,a,s);f[A>>2]=(f[A>>2]|0)+1}if(b[a+232>>0]|0)ou(ca,a,s,u,f[A>>2]|0)}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{ea=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}}while(0);i=a+248|0;k=f[i>>2]|0;if(!k){f[i>>2]=0;ea=f[ca>>2]|0;t=da;return ea|0}l=f[k+20>>2]|0;Fi(f[k+16>>2]|0)|0;if(l|0){if(f[l+480>>2]|0){Kc(l,k);f[i>>2]=0;ea=f[ca>>2]|0;t=da;return ea|0}ea=k;if((f[l+304>>2]|0)>>>0<=ea>>>0?(f[l+308>>2]|0)>>>0>ea>>>0:0){ea=l+300|0;f[k>>2]=f[ea>>2];f[ea>>2]=k;f[i>>2]=0;ea=f[ca>>2]|0;t=da;return ea|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);f[i>>2]=0;ea=f[ca>>2]|0;t=da;return ea|0}else{ea=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);f[i>>2]=0;ea=f[ca>>2]|0;t=da;return ea|0}return 0}function Zs(a){a=a|0;var c=0,d=0,e=0,g=0;g=t;t=t+16|0;c=g;f[a+52>>2]=0;e=a+233|0;if((b[e>>0]|0)!=2){e=0;t=g;return e|0}f[c>>2]=f[a+20>>2];d=wd(63207,c)|0;if(!d){e=7;t=g;return e|0}c=rs(f[a+12>>2]|0,f[a+16>>2]|0,d,0,0,0,0,0,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](d);else{a=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d)}b[e>>0]=(c|0)==0&1;e=0;t=g;return e|0}function _s(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;c=o;e=o+8|0;m=a+12|0;l=(f[m>>2]|0)+40|0;n=f[l>>2]|0;l=f[l+4>>2]|0;g=it(a)|0;a:do if(!g){j=a+52|0;if((f[j>>2]|0)>>>0>4){k=a+48|0;switch(f[k>>2]|0){case 255:case 0:{g=0;break a}default:{}}h=a+200|0;d=f[h>>2]|0;f[e>>2]=d;do if(!d){g=f[a+20>>2]|0;f[c>>2]=f[a+16>>2];f[c+4>>2]=g;c=wd(64867,c)|0;if(!c){g=7;c=0;break}g=Ki(f[m>>2]|0,c,-1,129,0,e,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}c=f[e>>2]|0;f[h>>2]=c;if(!g){d=c;i=12}else c=0}else i=12;while(0);do if((i|0)==12){g=d;if((Ei(g)|0)==100)c=Ip(g,0)|0;else c=0;if(d){d=f[g>>2]|0;i=g+128|0;h=f[i+4>>2]|0;if((h|0)>0|(h|0)==0&(f[i>>2]|0)>>>0>0)Hi(d,g);e=fg(g)|0;f[g+20>>2]=770837923;f[g+36>>2]=-1;f[g+40>>2]=0;b[g+142>>0]=2;f[g+44>>2]=0;f[g+32>>2]=1;b[g+143>>0]=-1;f[g+48>>2]=0;i=g+64|0;f[i>>2]=0;f[i+4>>2]=0;if((e|0)==3082|(b[d+81>>0]|0)!=0){Di(d);g=7;break}else{g=f[d+68>>2]&e;break}}else g=0}while(0);c=U(f[j>>2]|0,c)|0;c=((c|0)/2|0)+c|0;if((c|0)>64)g=hu(a,c,f[k>>2]|0)|0}else g=0}while(0);c=a+248|0;d=f[c>>2]|0;do if(d|0){e=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;if(e|0){if(f[e+480>>2]|0){Kc(e,d);break}a=d;if((f[e+304>>2]|0)>>>0<=a>>>0?(f[e+308>>2]|0)>>>0>a>>>0:0){a=e+300|0;f[d>>2]=f[a>>2];f[a>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{a=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);f[c>>2]=0;m=(f[m>>2]|0)+40|0;f[m>>2]=n;f[m+4>>2]=l;t=o;return g|0}function $s(a){a=a|0;return 0}function at(a){a=a|0;ht(a);return 0}function bt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(tz(c,60035)|0)if(tz(c,60043)|0)if(tz(c,48511)|0)if(!(tz(c,60051)|0))a=3;else{d=0;return d|0}else a=2;else a=1;else a=0;f[d>>2]=f[24304+(a<<3)+4>>2];d=1;return d|0}function ct(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+96|0;p=q+72|0;o=q+56|0;l=q+40|0;j=q+24|0;i=q+8|0;d=q;m=q+84|0;g=a+12|0;n=f[g>>2]|0;k=a+233|0;if((b[k>>0]|0)==2){f[d>>2]=f[a+20>>2];e=wd(63207,d)|0;if(!e)d=7;else{d=rs(f[g>>2]|0,f[a+16>>2]|0,e,0,0,0,0,0,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{h=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}b[k>>0]=(d|0)==0&1;h=7}}else h=7;if((h|0)==7){f[m>>2]=0;d=it(a)|0}f[m>>2]=d;if(!(f[a+40>>2]|0)){h=f[a+20>>2]|0;f[i>>2]=f[a+16>>2];f[i+4>>2]=h;f[i+8>>2]=c;jt(m,n,63215,i)}if(b[a+234>>0]|0){i=f[a+20>>2]|0;f[j>>2]=f[a+16>>2];f[j+4>>2]=i;f[j+8>>2]=c;jt(m,n,63268,j)}e=a+16|0;if(!(b[k>>0]|0))d=a+20|0;else{d=a+20|0;k=f[d>>2]|0;f[l>>2]=f[e>>2];f[l+4>>2]=k;f[l+8>>2]=c;jt(m,n,63321,l)}l=f[d>>2]|0;f[o>>2]=f[e>>2];f[o+4>>2]=l;f[o+8>>2]=c;jt(m,n,63368,o);o=f[d>>2]|0;f[p>>2]=f[e>>2];f[p+4>>2]=o;f[p+8>>2]=c;jt(m,n,63422,p);t=q;return f[m>>2]|0}function dt(a,c){a=a|0;c=c|0;if(b[a+236>>0]|0){c=0;return c|0}c=_s(a)|0;return c|0}function et(a,b){a=a|0;b=b|0;return 0}function ft(a,b){a=a|0;b=b|0;ht(a);return 0}function gt(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,i=0;if(!a){i=0;return i|0}i=b[a>>0]|0;f=h[1232+(i&255)>>0]|0;c=f+-99|0;i=i<<24>>24==0;if(!(i|(c|0)!=0)){d=63175;e=a;do{e=e+1|0;d=d+1|0;g=b[e>>0]|0;c=(h[1232+(g&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(g<<24>>24==0|(c|0)!=0))}if(!c){i=1;return i|0}c=f+-100|0;if(!(i|(c|0)!=0)){d=63183;e=a;do{e=e+1|0;d=d+1|0;g=b[e>>0]|0;c=(h[1232+(g&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(g<<24>>24==0|(c|0)!=0))}if(!c){i=1;return i|0}g=f+-115|0;f=i|(g|0)!=0;if(f)c=g;else{d=63191;e=a;do{e=e+1|0;d=d+1|0;i=b[e>>0]|0;c=(h[1232+(i&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(i<<24>>24==0|(c|0)!=0))}if(!c){i=1;return i|0}if(f)c=g;else{d=63198;e=a;do{e=e+1|0;d=d+1|0;i=b[e>>0]|0;c=(h[1232+(i&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(i<<24>>24==0|(c|0)!=0))}if(!c){i=1;return i|0}if(f){i=g;i=(i|0)==0;i=i&1;return i|0}d=40655;do{a=a+1|0;d=d+1|0;i=b[a>>0]|0;c=(h[1232+(i&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(i<<24>>24==0|(c|0)!=0));i=(c|0)==0;i=i&1;return i|0}function ht(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;h=a+252|0;if((f[h>>2]|0)<=0){k=a+264|0;f[k>>2]=0;return}i=a+256|0;g=0;do{k=f[i>>2]|0;e=k+(g*24|0)+12|0;c=f[e>>2]|0;if(!c)c=0;else{do{d=f[c+8>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{l=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);c=f[c>>2]|0}while((c|0)!=0);c=f[e>>2]|0}f[e>>2]=0;d=k+(g*24|0)+20|0;e=f[d>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{l=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[d>>2]=0;f[k+(g*24|0)+16>>2]=0;if(c|0){e=k+(g*24|0)+5|0;do{d=c;c=f[c>>2]|0;do if(b[e>>0]|0?(j=f[d+12>>2]|0,j|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{l=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](d);else{l=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d)}}while((c|0)!=0)}f[k+(g*24|0)+8>>2]=0;g=g+1|0}while((g|0)<(f[h>>2]|0));l=a+264|0;f[l>>2]=0;return}function it(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+16|0;i=m;j=m+8|0;e=a+252|0;g=a+280|0;a:do if((f[e>>2]|0)>0){c=0;b:while(1){h=kt(a,f[g>>2]|0,c,-1)|0;c=c+1|0;switch(h|0){case 0:case 101:break;default:break b}if((c|0)>=(f[e>>2]|0))break a}ht(a);l=h;t=m;return l|0}while(0);ht(a);if(!(b[a+233>>0]|0)){l=0;t=m;return l|0}k=a+48|0;if((f[k>>2]|0)!=255){l=0;t=m;return l|0}if(!(f[a+52>>2]|0)){l=0;t=m;return l|0}g=a+144|0;c=f[g>>2]|0;f[j>>2]=c;if(!c){c=f[a+20>>2]|0;f[i>>2]=f[a+16>>2];f[i+4>>2]=c;c=wd(63474,i)|0;if(!c){l=7;t=m;return l|0}e=Ki(f[a+12>>2]|0,c,-1,129,0,j,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}c=f[j>>2]|0;f[g>>2]=c;if(e){l=e;t=m;return l|0}}h=c;do if(!(Op(h,1)|0)){e=f[h+116>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){j=e;f[j>>2]=2;f[j+4>>2]=0;d[g>>1]=4;break}else{bf(e,2,0);break}}while(0);switch(Ei(h)|0){case 100:{e=Ip(h,0)|0;e=(e|0)==1?8:e;l=22;break}case 101:{e=0;l=22;break}default:{}}if((l|0)==22)f[k>>2]=e;if(!c){l=0;t=m;return l|0}c=f[h>>2]|0;l=h+128|0;k=f[l+4>>2]|0;if((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)Hi(c,h);e=fg(h)|0;f[h+20>>2]=770837923;f[h+36>>2]=-1;f[h+40>>2]=0;b[h+142>>0]=2;f[h+44>>2]=0;f[h+32>>2]=1;b[h+143>>0]=-1;f[h+48>>2]=0;l=h+64|0;f[l>>2]=0;f[l+4>>2]=0;if((e|0)==3082|(b[c+81>>0]|0)!=0){Di(c);l=7;t=m;return l|0}else{l=f[c+68>>2]&e;t=m;return l|0}return 0}function jt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=t;t=t+16|0;e=g;if(f[a>>2]|0){t=g;return}f[e>>2]=d;c=lp(c,e)|0;if(!c){f[a>>2]=7;t=g;return}b=uj(b,c,0,0,0)|0;f[a>>2]=b;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);t=g;return}else{b=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);t=g;return}}function kt(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0;da=t;t=t+128|0;R=da+40|0;Q=da+32|0;P=da+24|0;O=da+16|0;x=da+8|0;i=da;S=da+120|0;y=da+104|0;aa=da+48|0;h=aa;j=h+56|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(j|0));h=lt(a,c,e,g,0,0,1,0,aa)|0;ca=aa+4|0;a:do if(!h){q=f[ca>>2]|0;if(!q){h=0;j=f[aa>>2]|0;i=aa;Z=263;break}N=(g|0)!=-1;if(N){j=a+116|0;h=f[j>>2]|0;f[S>>2]=h;if(!h){Y=f[a+20>>2]|0;f[i>>2]=f[a+16>>2];f[i+4>>2]=Y;i=wd(63516,i)|0;if(!i){h=7;Z=236;break}h=Ki(f[a+12>>2]|0,i,-1,129,0,S,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{Y=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[S>>2]|0;f[j>>2]=i;if(!h)h=i;else{Z=236;break}}n=h;o=a+252|0;i=f[o>>2]|0;p=((c|0)<0)<<31>>31;i=QA(i|0,((i|0)<0)<<31>>31|0,c|0,p|0)|0;m=((e|0)<0)<<31>>31;i=KA(i|0,ba()|0,e|0,m|0)|0;i=WA(i|0,ba()|0,10)|0;j=ba()|0;do if(!(Op(n,1)|0)){k=f[n+116>>2]|0;l=k+8|0;if(!(d[l>>1]&9216)){Y=k;f[Y>>2]=i;f[Y+4>>2]=j;d[l>>1]=4;break}else{bf(k,i,j);break}}while(0);j=f[o>>2]|0;j=QA(j|0,((j|0)<0)<<31>>31|0,c|0,p|0)|0;j=KA(j|0,ba()|0,e|0,m|0)|0;j=WA(j|0,ba()|0,10)|0;i=ba()|0;j=j|1023;do if(!(Op(n,2)|0)){l=f[n+116>>2]|0;k=l+40|0;l=l+48|0;if(!(d[l>>1]&9216)){Y=k;f[Y>>2]=j;f[Y+4>>2]=i;d[l>>1]=4;break}else{bf(k,j,i);break}}while(0);if((Ei(n)|0)==100){k=Jp(n,0)|0;j=ba()|0}else{k=0;j=0}do if(h|0){i=f[n>>2]|0;Y=n+128|0;X=f[Y+4>>2]|0;if((X|0)>0|(X|0)==0&(f[Y>>2]|0)>>>0>0)Hi(i,n);h=fg(n)|0;f[n+20>>2]=770837923;f[n+36>>2]=-1;f[n+40>>2]=0;b[n+142>>0]=2;f[n+44>>2]=0;f[n+32>>2]=1;b[n+143>>0]=-1;f[n+48>>2]=0;Y=n+64|0;f[Y>>2]=0;f[Y+4>>2]=0;if(!((h|0)==3082|(b[i+81>>0]|0)!=0)){h=f[i+68>>2]&h;if(!h)break;else{Z=236;break a}}else{Di(i);h=7;Z=236;break a}}while(0);if((g|0)==-2){if((q|0)==1?(f[(f[f[aa>>2]>>2]|0)+56>>2]|0)==0:0){h=101;Z=236;break};f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;W=0;Y=k;X=j;V=j;U=k;L=1;i=3;h=y+12|0}else{q=c;n=p;p=e;v=j;w=k;Z=33}}else{o=a+252|0;q=c;n=((c|0)<0)<<31>>31;p=e;m=((e|0)<0)<<31>>31;v=0;w=0;Z=33}do if((Z|0)==33){r=g+1|0;s=f[o>>2]|0;s=QA(q|0,n|0,s|0,((s|0)<0)<<31>>31|0)|0;s=KA(s|0,ba()|0,p|0,m|0)|0;s=WA(s|0,ba()|0,10)|0;j=((r|0)<0)<<31>>31;s=KA(s|0,ba()|0,r|0,j|0)|0;u=ba()|0;k=a+88|0;l=f[k>>2]|0;f[S>>2]=l;if(!l){i=f[a+20>>2]|0;f[x>>2]=f[a+16>>2];f[x+4>>2]=i;i=wd(63582,x)|0;if(!i){h=7;Z=236;break a}h=Ki(f[a+12>>2]|0,i,-1,129,0,S,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{Y=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}l=f[S>>2]|0;f[k>>2]=l;if(h|0){Z=236;break a}k=f[o>>2]|0;k=QA(q|0,n|0,k|0,((k|0)<0)<<31>>31|0)|0;k=KA(k|0,ba()|0,p|0,m|0)|0;k=WA(k|0,ba()|0,10)|0;j=KA(k|0,ba()|0,r|0,j|0)|0;k=ba()|0}else{j=s;k=u}m=l;do if(!(Op(m,1)|0)){h=f[m+116>>2]|0;i=h+8|0;if(!(d[i>>1]&9216)){Y=h;f[Y>>2]=j;f[Y+4>>2]=k;d[i>>1]=4;break}else{bf(h,j,k);break}}while(0);if((Ei(m)|0)==100)j=Ip(m,0)|0;else j=0;do if(l|0){h=f[m>>2]|0;Y=m+128|0;X=f[Y+4>>2]|0;if((X|0)>0|(X|0)==0&(f[Y>>2]|0)>>>0>0)Hi(h,m);i=fg(m)|0;f[m+20>>2]=770837923;f[m+36>>2]=-1;f[m+40>>2]=0;b[m+142>>0]=2;f[m+44>>2]=0;f[m+32>>2]=1;b[m+143>>0]=-1;f[m+48>>2]=0;Y=m+64|0;f[Y>>2]=0;f[Y+4>>2]=0;if(!((i|0)==3082|(b[h+81>>0]|0)!=0)){h=f[h+68>>2]&i;if(!h)break;else{Z=236;break a}}else{Di(h);h=7;Z=236;break a}}while(0);if((j|0)>15){h=kt(a,c,e,r)|0;if(!h){i=N&((u|0)>(v|0)|(u|0)==(v|0)&s>>>0>w>>>0);h=0;Z=59}else{Z=236;break a}}else if(N){i=(u|0)>(v|0)|(u|0)==(v|0)&s>>>0>w>>>0;h=j;Z=59}else{f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;h=j;j=y+12|0}if((Z|0)==59){f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;j=y+12|0;if(i){W=h;Y=s;X=u;V=v;U=w;L=0;i=3;h=j;break}}W=h;Y=s;X=u;V=v;U=w;L=0;i=1;h=j}while(0);f[h>>2]=i;f[aa+12>>2]=y;h=mt(a,aa,0,0)|0;if(!h){D=aa+40|0;E=aa+44|0;F=aa+48|0;G=aa+52|0;H=a+228|0;I=a+96|0;J=a+16|0;K=a+20|0;M=a+12|0;T=a+52|0;i=0;j=0;b:while(1){h=nt(a,aa)|0;switch(h|0){case 0:{Z=129;break b}case 100:break;default:{Z=222;break b}}B=f[D>>2]|0;C=f[E>>2]|0;z=f[F>>2]|0;A=f[G>>2]|0;if(!i){if(Mc()|0){h=7;Z=236;break a}if(!(f[9328]|0)){h=ib[f[37356>>2]&255](64)|0;if(!h){h=7;Z=236;break a}else l=h}else{h=ib[f[37372>>2]&255](64)|0;if((f[18194]|0)>>>0<64)f[18194]=64;j=71896;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){y=f[18187]|0;x=LA(i|0,j|0,h|0,((h|0)<0)<<31>>31|0)|0;w=ba()|0;f[17976]=((w|0)<0|(w|0)==0&x>>>0<=y>>>0)&1}i=ib[f[37356>>2]&255](h)|0;if(!i){h=7;Z=236;break a}h=ib[f[37368>>2]&255](i)|0;h=(f[18187]|0)+h|0;f[18187]=h;if(h>>>0>(f[18191]|0)>>>0)f[18191]=h;h=(f[18190]|0)+1|0;f[18190]=h;if(h>>>0>(f[18196]|0)>>>0){f[18196]=h;l=i}else l=i}h=l;j=h+64|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(j|0));y=Fd(f[H>>2]|0)|0;f[l+48>>2]=y;if(!y){Z=221;break}f[l+40>>2]=f[H>>2];h=f[I>>2]|0;f[S>>2]=h;if(!h){i=f[K>>2]|0;f[O>>2]=f[J>>2];f[O+4>>2]=i;i=wd(63647,O)|0;if(!i){Z=81;break}h=Ki(f[M>>2]|0,i,-1,129,0,S,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{y=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[S>>2]|0;f[I>>2]=i;if(!h)h=i;else{Z=223;break}}j=h;if((Ei(j)|0)==100){w=Jp(j,0)|0;x=ba()|0;y=l+16|0;f[y>>2]=w;f[y+4>>2]=x;y=l+8|0;f[y>>2]=w;f[y+4>>2]=x}if(h){h=f[j>>2]|0;y=j+128|0;x=f[y+4>>2]|0;if((x|0)>0|(x|0)==0&(f[y>>2]|0)>>>0>0)Hi(h,j);i=fg(j)|0;f[j+20>>2]=770837923;f[j+36>>2]=-1;f[j+40>>2]=0;b[j+142>>0]=2;f[j+44>>2]=0;f[j+32>>2]=1;b[j+143>>0]=-1;f[j+48>>2]=0;y=j+64|0;f[y>>2]=0;f[y+4>>2]=0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Z=92;break}h=f[h+68>>2]&i;if(h){Z=224;break}else{i=l;j=l}}else{i=l;j=l}}w=i+44|0;q=f[w>>2]|0;x=i+24|0;k=f[x>>2]|0;y=i+28|0;l=f[y>>2]|0;c:do if((l|0)>0){h=0;while(1){if((b[k+h>>0]|0)!=(b[B+h>>0]|0)){o=h;break c}h=h+1|0;if((h|0)>=(l|0)){o=h;break}}}else o=0;while(0);n=0;h=o;k=((o|0)<0)<<31>>31;do{n=n+1|0;h=VA(h|0,k|0,7)|0;k=ba()|0}while(!((h|0)==0&(k|0)==0));p=C-o|0;m=0;h=p;k=((p|0)<0)<<31>>31;do{m=m+1|0;h=VA(h|0,k|0,7)|0;k=ba()|0}while(!((h|0)==0&(k|0)==0));v=((A|0)<0)<<31>>31;h=0;k=A;l=v;do{h=h+1|0;k=VA(k|0,l|0,7)|0;l=ba()|0}while(!((k|0)==0&(l|0)==0));h=p+A+n+m+h|0;if((q|0)>0?(h+q|0)>(f[H>>2]|0):0){s=i+16|0;h=s;u=f[h>>2]|0;h=f[h+4>>2]|0;p=KA(u|0,h|0,1,0)|0;r=ba()|0;f[s>>2]=p;f[s+4>>2]=r;h=ot(a,u,h,f[i+48>>2]|0,q)|0;if(h|0){k=i;break}f[T>>2]=(f[T>>2]|0)+1;h=pt(a,i,B,o+1|0)|0;if(h|0){k=i;break}f[y>>2]=0;m=0;h=C;k=((C|0)<0)<<31>>31;while(1){h=VA(h|0,k|0,7)|0;k=ba()|0;if((h|0)==0&(k|0)==0)break;else m=m+1|0}l=0;h=A;k=v;do{l=l+1|0;h=VA(h|0,k|0,7)|0;k=ba()|0}while(!((h|0)==0&(k|0)==0));s=0;q=0;l=C+2+A+m+l|0;r=C}else{s=o;l=h;r=p}k=i+56|0;h=k;h=KA(f[h>>2]|0,f[h+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;u=ba()|0;f[k>>2]=h;f[k+4>>2]=u;k=i+40|0;u=i+48|0;h=f[u>>2]|0;if((l|0)>(f[k>>2]|0)){if(Mc()|0){k=i;h=7;break}h=Nc(h,(l|0)>0?l:0,0)|0;if(!h){k=i;h=7;break}f[u>>2]=h;f[k>>2]=l}k=h+q|0;h=k;m=s;o=((s|0)<0)<<31>>31;while(1){l=m&255;n=h+1|0;b[h>>0]=l|-128;m=VA(m|0,o|0,7)|0;o=ba()|0;if((m|0)==0&(o|0)==0)break;else h=n}b[h>>0]=l&127;k=n-k+q|0;l=(f[u>>2]|0)+k|0;h=l;n=r;p=((r|0)<0)<<31>>31;while(1){m=n&255;o=h+1|0;b[h>>0]=m|-128;n=VA(n|0,p|0,7)|0;p=ba()|0;if((n|0)==0&(p|0)==0)break;else h=o}b[h>>0]=m&127;n=o-l+k|0;YA((f[u>>2]|0)+n|0,B+s|0,r|0)|0;n=n+r|0;o=(f[u>>2]|0)+n|0;m=o;p=A;l=v;while(1){h=p&255;k=m+1|0;b[m>>0]=h|-128;p=VA(p|0,l|0,7)|0;l=ba()|0;if((p|0)==0&(l|0)==0)break;else m=k}b[m>>0]=h&127;k=k-o+n|0;YA((f[u>>2]|0)+k|0,z|0,A|0)|0;f[w>>2]=k+A;k=i+32|0;if((f[k>>2]|0)<(C|0)){l=i+36|0;h=f[l>>2]|0;m=C<<1;if(Mc()|0){k=i;h=7;break}h=Nc(h,(m|0)>0?m:0,0)|0;if(!h){k=i;h=7;break}f[k>>2]=m;f[l>>2]=h;f[x>>2]=h}else h=f[x>>2]|0;YA(h|0,B|0,C|0)|0;f[y>>2]=C}d:do if((Z|0)==81){k=l;h=7;j=l}else if((Z|0)==92){Di(h);k=l;h=7;j=l}else if((Z|0)==129){if(N){s=f[aa>>2]|0;u=f[ca>>2]|0;do if((u|0)>0){r=a+124|0;q=0;e:while(1){p=f[s+(q<<2)>>2]|0;m=p+8|0;l=m;h=f[l>>2]|0;l=f[l+4>>2]|0;do if((h|0)==0&(l|0)==0)h=0;else{k=f[r>>2]|0;f[S>>2]=k;if(!k){k=f[K>>2]|0;f[P>>2]=f[J>>2];f[P+4>>2]=k;k=wd(63715,P)|0;if(!k){Z=136;break e}h=Ki(f[M>>2]|0,k,-1,129,0,S,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{Z=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-Z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}k=f[S>>2]|0;f[r>>2]=k;if(h|0){Z=222;break d}l=m;h=f[l>>2]|0;l=f[l+4>>2]|0}o=k;do if(!(Op(o,1)|0)){m=f[o+116>>2]|0;n=m+8|0;if(!(d[n>>1]&9216)){Z=m;f[Z>>2]=h;f[Z+4>>2]=l;d[n>>1]=4;break}else{bf(m,h,l);break}}while(0);m=p+24|0;l=f[m>>2]|0;m=f[m+4>>2]|0;if(Op(o,2)|0){Ei(o)|0;if(!k){h=0;break}}else{k=f[o+116>>2]|0;h=k+40|0;k=k+48|0;if(!(d[k>>1]&9216)){Z=h;f[Z>>2]=l;f[Z+4>>2]=m;d[k>>1]=4}else bf(h,l,m);Ei(o)|0}k=f[o>>2]|0;Z=o+128|0;O=f[Z+4>>2]|0;if((O|0)>0|(O|0)==0&(f[Z>>2]|0)>>>0>0)Hi(k,o);h=fg(o)|0;f[o+20>>2]=770837923;f[o+36>>2]=-1;f[o+40>>2]=0;b[o+142>>0]=2;f[o+44>>2]=0;f[o+32>>2]=1;b[o+143>>0]=-1;f[o+48>>2]=0;Z=o+64|0;f[Z>>2]=0;f[Z+4>>2]=0;if((h|0)==3082|(b[k+81>>0]|0)!=0){Z=155;break e}h=f[k+68>>2]&h}while(0);q=q+1|0;k=(h|0)==0;if(!((q|0)<(u|0)&k)){Z=158;break}}if((Z|0)==136){h=7;Z=222;break d}else if((Z|0)==155){Di(k);h=7;Z=222;break d}else if((Z|0)==158)if(k)break;else{Z=222;break d}}while(0);do if(L){l=a+160|0;h=f[l>>2]|0;f[S>>2]=h;if(!h){k=f[K>>2]|0;f[Q>>2]=f[J>>2];f[Q+4>>2]=k;k=wd(63774,Q)|0;if(!k){h=7;Z=222;break d}h=Ki(f[M>>2]|0,k,-1,129,0,S,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{R=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}k=f[S>>2]|0;f[l>>2]=k;if(!h)h=k;else{Z=222;break d}}l=h;k=a+252|0;o=f[k>>2]|0;m=((c|0)<0)<<31>>31;o=QA(o|0,((o|0)<0)<<31>>31|0,c|0,m|0)|0;n=((e|0)<0)<<31>>31;o=KA(o|0,ba()|0,e|0,n|0)|0;o=WA(o|0,ba()|0,10)|0;p=ba()|0;do if(!(Op(l,1)|0)){q=f[l+116>>2]|0;r=q+8|0;if(!(d[r>>1]&9216)){S=q;f[S>>2]=o;f[S+4>>2]=p;d[r>>1]=4;break}else{bf(q,o,p);break}}while(0);k=f[k>>2]|0;m=QA(k|0,((k|0)<0)<<31>>31|0,c|0,m|0)|0;m=KA(m|0,ba()|0,e|0,n|0)|0;m=WA(m|0,ba()|0,10)|0;k=ba()|0;m=m|1023;if(!(Op(l,2)|0)){o=f[l+116>>2]|0;n=o+40|0;o=o+48|0;if(!(d[o>>1]&9216)){e=n;f[e>>2]=m;f[e+4>>2]=k;d[o>>1]=4;break}else{bf(n,m,k);break}}}else{l=a+120|0;h=f[l>>2]|0;f[S>>2]=h;if(!h){k=f[K>>2]|0;f[R>>2]=f[J>>2];f[R+4>>2]=k;k=wd(63829,R)|0;if(!k){h=7;Z=222;break d}h=Ki(f[M>>2]|0,k,-1,129,0,S,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{R=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}k=f[S>>2]|0;f[l>>2]=k;if(!h)h=k;else{Z=222;break d}}l=h;k=f[a+252>>2]|0;k=QA(k|0,((k|0)<0)<<31>>31|0,c|0,((c|0)<0)<<31>>31|0)|0;k=KA(k|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;k=WA(k|0,ba()|0,10)|0;k=KA(k|0,ba()|0,g|0,((g|0)<0)<<31>>31|0)|0;m=ba()|0;if(!(Op(l,1)|0)){n=f[l+116>>2]|0;o=n+8|0;if(!(d[o>>1]&9216)){e=n;f[e>>2]=k;f[e+4>>2]=m;d[o>>1]=4;break}else{bf(n,k,m);break}}}while(0);Ei(l)|0;do if(h){h=f[l>>2]|0;e=l+128|0;c=f[e+4>>2]|0;if((c|0)>0|(c|0)==0&(f[e>>2]|0)>>>0>0)Hi(h,l);k=fg(l)|0;f[l+20>>2]=770837923;f[l+36>>2]=-1;f[l+40>>2]=0;b[l+142>>0]=2;f[l+44>>2]=0;f[l+32>>2]=1;b[l+143>>0]=-1;f[l+48>>2]=0;e=l+64|0;f[e>>2]=0;f[e+4>>2]=0;if((k|0)==3082|(b[h+81>>0]|0)!=0){Di(h);h=7;Z=222;break d}else{h=f[h+68>>2]&k;break}}else h=0;while(0);if(!((i|0)!=0&(h|0)==0)){Z=222;break}}else if(!i){h=0;Z=236;break a}f:do if(!(f[i>>2]|0)){h=i+56|0;h=qt(a,Y,X,W,0,0,0,0,0,0,f[h>>2]|0,f[h+4>>2]|0,f[i+48>>2]|0,f[i+44>>2]|0)|0}else{k=i+16|0;C=k;B=f[C>>2]|0;C=f[C+4>>2]|0;c=KA(B|0,C|0,1,0)|0;e=ba()|0;h=k;f[h>>2]=c;f[h+4>>2]=e;h=ot(a,B,C,f[i+48>>2]|0,f[i+44>>2]|0)|0;g:do if(!h){m=f[i>>2]|0;A=i+8|0;o=A;r=f[o>>2]|0;o=f[o+4>>2]|0;q=k;l=f[q>>2]|0;q=f[q+4>>2]|0;h=f[m>>2]|0;if(!h){k=m;s=1;v=l;u=q;q=o}else{p=m;z=1;y=m;while(1){k=f[p+8>>2]|0;if(!k){m=l;n=q;k=h}else{x=z&255;m=l;n=q;w=o;do{h=0;o=r;p=w;while(1){o=VA(o|0,p|0,7)|0;p=ba()|0;if((o|0)==0&(p|0)==0)break;else h=h+1|0}o=9-h|0;p=k+36|0;b[(f[p>>2]|0)+o>>0]=x;h=(f[p>>2]|0)+(o+1)|0;u=r;v=w;while(1){s=u&255;b[h>>0]=s|-128;u=VA(u|0,v|0,7)|0;v=ba()|0;if((u|0)==0&(v|0)==0)break;else h=h+1|0}b[h>>0]=s&127;h=ot(a,m,n,(f[p>>2]|0)+o|0,(f[k+32>>2]|0)-o|0)|0;m=KA(m|0,n|0,1,0)|0;n=ba()|0;o=(f[k+12>>2]|0)+1|0;r=KA(r|0,w|0,o|0,((o|0)<0)<<31>>31|0)|0;w=ba()|0;k=f[k+4>>2]|0;o=(h|0)==0}while(o&(k|0)!=0);if(!o)break g;k=f[y>>2]|0}z=z+1|0;h=f[k>>2]|0;if(!h)break;else{o=q;r=l;p=k;l=m;q=n;y=k}}s=z&255;v=m;u=n;r=l}h=0;l=r;m=q;while(1){l=VA(l|0,m|0,7)|0;m=ba()|0;if((l|0)==0&(m|0)==0)break;else h=h+1|0}o=9-h|0;p=k+36|0;b[(f[p>>2]|0)+o>>0]=s;n=(f[p>>2]|0)+(o+1)|0;m=r;l=q;while(1){h=m&255;b[n>>0]=h|-128;m=VA(m|0,l|0,7)|0;l=ba()|0;if((m|0)==0&(l|0)==0)break;else n=n+1|0}b[n>>0]=h&127;c=KA(v|0,u|0,-1,-1)|0;e=ba()|0;S=A;h=i+56|0;h=qt(a,Y,X,W,f[S>>2]|0,f[S+4>>2]|0,B,C,c,e,f[h>>2]|0,f[h+4>>2]|0,(f[p>>2]|0)+o|0,(f[k+32>>2]|0)-o|0)|0;break f}while(0);f[T>>2]=(f[T>>2]|0)+1;Z=222;break d}while(0);f[T>>2]=(f[T>>2]|0)+1;if(!h)if((g|0)==-1|((X|0)<(V|0)|(X|0)==(V|0)&Y>>>0>>0)){h=i+56|0;k=i;h=rt(a,Y,X,f[h>>2]|0,f[h+4>>2]|0)|0}else{k=i;h=0}else k=i}else if((Z|0)==221){i=l;h=7;j=l;Z=222}else if((Z|0)==223){k=l;j=l}else if((Z|0)==224){k=l;j=l}while(0);if((Z|0)==222)if(!i){Z=236;break}else k=i;i=f[k+48>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{a=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);i=f[k+36>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{a=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);st(f[k>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](j);Z=236;break}else{Z=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-Z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);Z=236;break}}else Z=236}else Z=236;while(0);if((Z|0)==236){k=f[ca>>2]|0;j=f[aa>>2]|0;if((k|0)>0){i=0;do{l=f[j+(i<<2)>>2]|0;do if(l|0){do if((f[l+56>>2]|0)==0?(_=f[l+64>>2]|0,_|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](_);break}else{a=ib[f[37368>>2]&255](_)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](_);break}while(0);do if((b[l+5>>0]|0)==0?($=f[l+40>>2]|0,$|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127]($);break}else{a=ib[f[37368>>2]&255]($)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127]($);break}while(0);m=f[l+52>>2]|0;do if(m|0){n=f[m+20>>2]|0;Fi(f[m+16>>2]|0)|0;if(n|0){if(f[n+480>>2]|0){Kc(n,m);break}a=m;if((f[n+304>>2]|0)>>>0<=a>>>0?(f[n+308>>2]|0)>>>0>a>>>0:0){a=n+300|0;f[m>>2]=f[a>>2];f[a>>2]=m;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{a=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{a=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);i=i+1|0}while((i|0)!=(k|0));i=aa;Z=264}else{i=aa;Z=263}}if((Z|0)==263)if(!j)j=h;else Z=264;do if((Z|0)==264)if(!(f[9328]|0)){ob[f[37360>>2]&127](j);j=h;break}else{$=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-$;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);j=h;break}while(0);h=f[aa+16>>2]|0;if(!h){f[ca>>2]=0;f[i>>2]=0;t=da;return j|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);f[ca>>2]=0;f[i>>2]=0;t=da;return j|0}else{aa=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);f[ca>>2]=0;f[i>>2]=0;t=da;return j|0}return 0}function lt(a,c,e,g,h,i,k,l,m){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=t;t=t+32|0;p=O+24|0;A=O+16|0;N=O+8|0;K=O;do if((g|0)<0){p=f[a+256>>2]|0;a:do if(p){w=(l|k|0)!=0;b:do if(w){o=f[p+(e*24|0)+12>>2]|0;f[N>>2]=o;if(!o){n=0;break a}if(!i){p=0;u=0;n=0;q=0;s=o;o=0;while(1){if((u|0)==(n|0)){o=u+16|0;n=o<<2;if(Mc()|0){r=0;o=p;n=7;q=0;break b}n=Nc(q,(n|0)>0?n:0,0)|0;if(!n){r=0;o=p;n=7;q=0;break b}else{r=o;p=n;o=n;q=n}}else r=n;n=u+1|0;f[p+(u<<2)>>2]=s;s=f[f[N>>2]>>2]|0;f[N>>2]=s;if(!s)break;else{u=n;n=r}}}else{p=0;n=0;s=0;v=o;u=0;o=0;while(1){q=v;r=v;if((f[r+16>>2]|0)>=(i|0)?(Hz(f[r+12>>2]|0,h,i)|0)==0:0){if((n|0)==(s|0)){q=n+16|0;o=q<<2;if(Mc()|0){r=0;o=p;n=7;q=0;break b}r=Nc(u,(o|0)>0?o:0,0)|0;if(!r){r=0;o=p;n=7;q=0;break b}else{p=r;o=r}}else{q=s;r=u}f[p+(n<<2)>>2]=v;s=q;n=n+1|0;q=f[N>>2]|0}else r=u;v=f[q>>2]|0;f[N>>2]=v;if(!v)break;else u=r}}if((n|0)<=1)if((n|0)==1){n=1;J=31;break}else{r=0;o=p;n=0;q=0;break}else{hA(o,n,4,173);J=31;break}}else{q=p+(e*24|0)+20|0;c:do if((f[q>>2]|0?(r=p+(e*24|0)+4|0,s=jb[(b[r>>0]<<24>>24==1?171:172)&255](h,i)|0,s=(f[p+(e*24|0)+16>>2]|0)+-1&s,u=f[q>>2]|0,u|0):0)?(o=f[u+(s<<3)>>2]|0,v=(b[r>>0]|0)==1?87:88,n=f[u+(s<<3)+4>>2]|0,(o|0)!=0&(n|0)!=0):0){while(1){o=o+-1|0;if(!(lb[v&127](f[n+12>>2]|0,f[n+16>>2]|0,h,i)|0))break;n=f[n>>2]|0;if(!((o|0)!=0&(n|0)!=0))break c}f[N>>2]=n;n=1;p=N;J=31;break b}while(0);f[N>>2]=0;r=0;o=0;n=0;q=0}while(0);if((J|0)==31){n=n<<2;o=n+100|0;q=Fd(o)|0;if(!q){r=q;o=p;n=7;q=0}else{_A(q|0,0,o|0)|0;f[q>>2]=2147483647;r=q+96|0;f[q+56>>2]=r;YA(r|0,p|0,n|0)|0;r=q;o=p;n=0}}do if(w?o|0:0)if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{I=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}while(0);if((n|0)==0&(r|0)!=0){p=m+4|0;o=f[p>>2]|0;do if(!(o&15)){n=(o<<2)+64|0;o=f[m>>2]|0;if((Mc()|0)==0?(z=Nc(o,(n|0)>0?n:0,0)|0,z|0):0){f[m>>2]=z;o=f[p>>2]|0;n=z;break}do if((f[r+56>>2]|0)==0?(x=f[r+64>>2]|0,x|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](x);break}else{I=ib[f[37368>>2]&255](x)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](x);break}while(0);do if((b[r+5>>0]|0)==0?(y=f[r+40>>2]|0,y|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](y);break}else{I=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y);break}while(0);n=f[r+52>>2]|0;do if(n|0){o=f[n+20>>2]|0;Fi(f[n+16>>2]|0)|0;if(o|0){if(f[o+480>>2]|0){Kc(o,n);break}I=n;if((f[o+304>>2]|0)>>>0<=I>>>0?(f[o+308>>2]|0)>>>0>I>>>0:0){I=o+300|0;f[n>>2]=f[I>>2];f[I>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{I=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);if(!q){n=7;break a}if(!(f[9328]|0)){ob[f[37360>>2]&127](q);n=7;break a}else{n=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);n=7;break a}}else n=f[m>>2]|0;while(0);f[p>>2]=o+1;f[n+(o<<2)>>2]=q;n=0}}else n=0;while(0);if(!((g|0)!=-1&(n|0)==0)){m=0;N=n;i=(N|0)==101;N=i?m:N;t=O;return N|0}q=a+108|0;I=f[q>>2]|0;f[N>>2]=I;o=I;if(!I){p=f[a+20>>2]|0;f[A>>2]=f[a+16>>2];f[A+4>>2]=p;p=wd(64243,A)|0;if(!p){n=7;break}n=Ki(f[a+12>>2]|0,p,-1,129,0,N,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](p);else{I=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p)}o=f[N>>2]|0;f[q>>2]=o;if(n)break}w=o;n=a+252|0;r=f[n>>2]|0;p=((c|0)<0)<<31>>31;r=QA(r|0,((r|0)<0)<<31>>31|0,c|0,p|0)|0;q=((e|0)<0)<<31>>31;r=KA(r|0,ba()|0,e|0,q|0)|0;r=WA(r|0,ba()|0,10)|0;s=ba()|0;do if(!(Op(w,1)|0)){u=f[w+116>>2]|0;v=u+8|0;if(!(d[v>>1]&9216)){J=u;f[J>>2]=r;f[J+4>>2]=s;d[v>>1]=4;break}else{bf(u,r,s);break}}while(0);r=f[n>>2]|0;r=QA(r|0,((r|0)<0)<<31>>31|0,c|0,p|0)|0;r=KA(r|0,ba()|0,e|0,q|0)|0;r=WA(r|0,ba()|0,10)|0;q=ba()|0;r=r|1023;if(!(Op(w,2)|0)){p=f[w+116>>2]|0;n=p+40|0;p=p+48|0;if(!(d[p>>1]&9216)){J=n;f[J>>2]=r;f[J+4>>2]=q;d[p>>1]=4;J=98;break}else{bf(n,r,q);J=98;break}}else J=98}else{q=a+104|0;I=f[q>>2]|0;f[N>>2]=I;o=I;if(!I){I=f[a+20>>2]|0;f[p>>2]=f[a+16>>2];f[p+4>>2]=I;p=wd(64378,p)|0;if(!p){n=7;break}n=Ki(f[a+12>>2]|0,p,-1,129,0,N,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](p);else{I=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p)}o=f[N>>2]|0;f[q>>2]=o;if(n)break}n=o;q=f[a+252>>2]|0;q=QA(q|0,((q|0)<0)<<31>>31|0,c|0,((c|0)<0)<<31>>31|0)|0;q=KA(q|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;q=WA(q|0,ba()|0,10)|0;q=KA(q|0,ba()|0,g|0,((g|0)<0)<<31>>31|0)|0;r=ba()|0;if(!(Op(n,1)|0)){n=f[n+116>>2]|0;p=n+8|0;if(!(d[p>>1]&9216)){J=n;f[J>>2]=q;f[J+4>>2]=r;d[p>>1]=4;J=98;break}else{bf(n,q,r);J=98;break}}else J=98}while(0);d:do if((J|0)==98){C=o;D=(o|0)==0;E=(h|0)!=0;F=C+104|0;B=(k|0)==0?0:K;G=m+4|0;H=C+40|0;I=C+140|0;c=(l|k|0)==0;e=c&1;n=Ei(C)|0;if((n|0)==100){while(1){z=Jp(C,1)|0;A=ba()|0;g=N;f[g>>2]=z;f[g+4>>2]=A;g=Jp(C,2)|0;A=ba()|0;z=K;f[z>>2]=g;f[z+4>>2]=A;z=Jp(C,3)|0;A=ba()|0;g=Gp(C,4)|0;if(D)q=lf(37592)|0;else{n=f[F>>2]|0;if((n|0)!=0?(j[I>>1]|0)>4:0)n=n+160|0;else{n=f[C>>2]|0;f[n+64>>2]=25;Bg(n,25);n=37592}q=lf(n)|0;n=f[C>>2]|0;p=f[H>>2]|0;if((p|0)==3082|(b[n+81>>0]|0)!=0){Di(n);n=7}else n=f[n+68>>2]&p;f[H>>2]=n}p=N;n=f[p>>2]|0;p=f[p+4>>2]|0;if(E&((n|0)!=0|(p|0)!=0)){n=At(a,h,i,q,g,N,B)|0;if(n|0){J=146;break}p=N;n=f[p>>2]|0;p=f[p+4>>2]|0;if(c){l=K;f[l>>2]=n;f[l+4>>2]=p}}r=f[G>>2]|0;w=K;v=f[w>>2]|0;w=f[w+4>>2]|0;x=(n|0)==0&(p|0)==0?g+20|0:0;y=Fd(x+96|0)|0;if(!y){n=7;J=146;break}r=r+1|0;s=y;u=s+96|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(u|0));f[y>>2]=r;b[y+4>>0]=e;l=y+8|0;f[l>>2]=n;f[l+4>>2]=p;l=y+16|0;f[l>>2]=v;f[l+4>>2]=w;l=y+24|0;f[l>>2]=z;f[l+4>>2]=A;if(!x){g=KA(n|0,p|0,-1,-1)|0;k=ba()|0;l=y+32|0;f[l>>2]=g;f[l+4>>2]=k}else{s=y+96|0;f[y+40>>2]=s;b[y+5>>0]=1;f[y+44>>2]=g;YA(s|0,q|0,g|0)|0;s=s+g|0;u=s+20|0;do{b[s>>0]=0;s=s+1|0}while((s|0)<(u|0))}n=f[G>>2]|0;if(!(n&15)){n=(n<<2)+64|0;p=f[m>>2]|0;if(Mc()|0)break;p=Nc(p,(n|0)>0?n:0,0)|0;if(!p)break;f[m>>2]=p;n=f[G>>2]|0}else p=f[m>>2]|0;f[G>>2]=n+1;f[p+(n<<2)>>2]=y;n=Ei(C)|0;if((n|0)!=100)break d}if((J|0)==146)break;do if((f[y+56>>2]|0)==0?(L=f[y+64>>2]|0,L|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](L);break}else{N=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);break}while(0);do if((b[y+5>>0]|0)==0?(M=f[y+40>>2]|0,M|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](M);break}else{N=ib[f[37368>>2]&255](M)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](M);break}while(0);n=f[y+52>>2]|0;do if(n|0){p=f[n+20>>2]|0;Fi(f[n+16>>2]|0)|0;if(p|0){if(f[p+480>>2]|0){Kc(p,n);break}N=n;if((f[p+304>>2]|0)>>>0<=N>>>0?(f[p+308>>2]|0)>>>0>N>>>0:0){N=p+300|0;f[n>>2]=f[N>>2];f[N>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{N=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](y);else{N=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y)}n=7}}while(0);q=o;if(!o){m=0;N=n;i=(N|0)==101;N=i?m:N;t=O;return N|0}o=f[q>>2]|0;N=q+128|0;m=f[N+4>>2]|0;if((m|0)>0|(m|0)==0&(f[N>>2]|0)>>>0>0)Hi(o,q);p=fg(q)|0;f[q+20>>2]=770837923;f[q+36>>2]=-1;f[q+40>>2]=0;b[q+142>>0]=2;f[q+44>>2]=0;f[q+32>>2]=1;b[q+143>>0]=-1;f[q+48>>2]=0;N=q+64|0;f[N>>2]=0;f[N+4>>2]=0;if((p|0)==3082|(b[o+81>>0]|0)!=0){Di(o);m=7;N=n;i=(N|0)==101;N=i?m:N;t=O;return N|0}else{m=f[o+68>>2]&p;N=n;i=(N|0)==101;N=i?m:N;t=O;return N|0}return 0}function mt(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=c+4|0;p=f[m>>2]|0;n=c+28|0;a:do if((f[n>>2]|0)==0?(o=(d|0)==0,(p|0)>0):0){l=0;b:while(1){j=f[(f[c>>2]|0)+(l<<2)>>2]|0;k=j+40|0;h=j+60|0;i=j+64|0;c:do if(o){g=vt(a,j)|0;if(g|0){q=43;break b}}else{do{g=vt(a,j)|0;if(g|0){q=43;break b}if(!(f[k>>2]|0))break c;r=f[h>>2]|0;g=Hz(f[i>>2]|0,d,(r|0)>(e|0)?e:r)|0;g=(g|0)==0?r-e|0:g}while((g|0)<0);if((g|0)!=0&(b[j+4>>0]|0)!=0){if(!(b[j+5>>0]|0)){g=f[k>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{r=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=j+52|0;h=f[g>>2]|0;do if(h|0){i=f[h+20>>2]|0;Fi(f[h+16>>2]|0)|0;if(i|0){if(f[i+480>>2]|0){Kc(i,h);break}r=h;if((f[i+304>>2]|0)>>>0<=r>>>0?(f[i+308>>2]|0)>>>0>r>>>0:0){r=i+300|0;f[h>>2]=f[r>>2];f[r>>2]=h;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{r=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}}while(0);f[g>>2]=0}f[k>>2]=0}}while(0);if(f[n>>2]|0)break a;l=l+1|0;if((l|0)>=(f[m>>2]|0))break a}if((q|0)==43)return g|0}while(0);d=f[c>>2]|0;n=p+-1|0;if((p|0)<=1){r=0;return r|0}a=n;while(1){c=a;a=a+-1|0;d:do if((c|0)<(p|0)){k=a;j=f[d+(a<<2)>>2]|0;do{l=k;k=k+1|0;e=d+(k<<2)|0;i=f[e>>2]|0;h=(f[j+40>>2]|0)==0;m=i;g=f[i+40>>2]|0;if(!h)if(!g){g=0;q=37}else{o=f[j+60>>2]|0;g=f[i+60>>2]|0;r=o-g|0;g=Hz(f[j+64>>2]|0,f[i+64>>2]|0,(r|0)<0?o:g)|0;g=(g|0)==0?r:g}else q=37;if((q|0)==37){q=0;g=(h&1)-((g|0)==0&1)|0}if(!g)g=(f[i>>2]|0)-(f[j>>2]|0)|0;if((g|0)<0)break d;r=d+(l<<2)|0;j=f[r>>2]|0;f[e>>2]=j;f[r>>2]=m}while((k|0)<(n|0))}while(0);if((c|0)<=1){g=0;break}}return g|0}function nt(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=t;t=t+16|0;I=$+4|0;Q=$;W=f[c+12>>2]|0;d=f[W+12>>2]|0;X=f[c>>2]|0;F=f[c+4>>2]|0;G=a+235|0;H=(b[G>>0]|0)==0?174:175;if(!F){_=0;t=$;return _|0}_=c+8|0;J=F+-1|0;K=c+44|0;L=c+40|0;M=(d&16|0)!=0;N=(F|0)>1;O=W+4|0;P=(d&32|0)==0;R=(d&34|0)!=0;S=(d&8|0)==0;T=(d&4|0)==0;U=(d&2|0)==0;V=W+8|0;E=(d&1|0)!=0;Y=c+20|0;Z=c+16|0;d=f[_>>2]|0;a:while(1){if((d|0)>0){j=0;do{d=f[X+(j<<2)>>2]|0;if(!(b[d+4>>0]|0)){d=vt(a,d)|0;if(d|0){D=184;break a}}else{i=d+40|0;if(!(b[d+5>>0]|0)){e=f[i>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{C=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);d=d+52|0;e=f[d>>2]|0;do if(e|0){g=f[e+20>>2]|0;Fi(f[e+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Kc(g,e);break}C=e;if((f[g+304>>2]|0)>>>0<=C>>>0?(f[g+308>>2]|0)>>>0>C>>>0:0){C=g+300|0;f[e>>2]=f[C>>2];f[C>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{C=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[d>>2]=0}f[i>>2]=0}j=j+1|0;d=f[_>>2]|0}while((j|0)<(d|0))}d=d+(((d|0)==(F|0))<<31>>31)|0;if((d|0)>0)do{m=d;d=d+-1|0;b:do if((m|0)<(F|0)){k=d;j=f[X+(d<<2)>>2]|0;do{l=k;k=k+1|0;n=X+(k<<2)|0;i=f[n>>2]|0;g=(f[j+40>>2]|0)==0;o=i;e=f[i+40>>2]|0;if(!g)if(!e){e=0;D=32}else{B=f[j+60>>2]|0;e=f[i+60>>2]|0;C=B-e|0;e=Hz(f[j+64>>2]|0,f[i+64>>2]|0,(C|0)<0?B:e)|0;e=(e|0)==0?C:e}else D=32;if((D|0)==32){D=0;e=(g&1)-((e|0)==0&1)|0}if(!e)e=(f[i>>2]|0)-(f[j>>2]|0)|0;if((e|0)<0)break b;C=X+(l<<2)|0;j=f[C>>2]|0;f[n>>2]=j;f[C>>2]=o}while((k|0)<(J|0))}while(0)}while((m|0)>1);f[_>>2]=0;d=f[X>>2]|0;if(!(f[d+40>>2]|0)){d=0;D=184;break}i=f[d+60>>2]|0;f[K>>2]=i;g=f[d+64>>2]|0;f[L>>2]=g;d=f[W>>2]|0;if(!(M|(d|0)==0)){e=f[O>>2]|0;if((i|0)<(e|0)|S&(i|0)>(e|0)){d=0;D=184;break}if(Hz(g,d,e)|0){d=0;D=184;break}}c:do if(N){d=1;do{e=f[X+(d<<2)>>2]|0;if(!(f[e+40>>2]|0)){D=48;break c}if((f[e+60>>2]|0)!=(i|0)){D=48;break c}if(Hz(g,f[e+64>>2]|0,i)|0){D=48;break c}d=d+1|0}while((d|0)<(F|0))}else{d=1;D=48}while(0);if((D|0)==48){D=0;if(!(R|(d|0)!=1)){d=f[X>>2]|0;e=(f[d+56>>2]|0)==0;if(!(b[G>>0]|0)){D=52;break}if(e){D=51;break}else d=1}}q=0;do{r=f[X+(q<<2)>>2]|0;if((b[G>>0]|0)!=0?(f[r+56>>2]|0)!=0:0){b[I>>0]=0;B=r+88|0;C=B;f[C>>2]=0;f[C+4>>2]=0;C=r+84|0;f[C>>2]=0;wt(0,f[r+72>>2]|0,f[r+76>>2]|0,r+80|0,B,C,I)}else D=64;d:do if((D|0)==64){D=0;n=r+72|0;k=r+40|0;o=r+52|0;e=f[o>>2]|0;e:do if(e|0){l=(f[n>>2]|0)+10|0;p=r+48|0;m=r+44|0;i=f[p>>2]|0;j=e;while(1){e=f[k>>2]|0;if((l-e|0)<=(i|0))break e;g=(f[m>>2]|0)-i|0;g=(g|0)<4096?g:4096;if(Zp(j,e+i|0,g,i,89)|0)break d;e=(f[p>>2]|0)+g|0;f[p>>2]=e;e=(f[k>>2]|0)+e|0;g=e+20|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(g|0));i=f[p>>2]|0;j=f[o>>2]|0;if((i|0)==(f[m>>2]|0))break;if(!j)break e}do if(j|0){e=f[j+20>>2]|0;Fi(f[j+16>>2]|0)|0;if(e|0){if(f[e+480>>2]|0){Kc(e,j);break}C=j;if((f[e+304>>2]|0)>>>0<=C>>>0?(f[e+308>>2]|0)>>>0>C>>>0:0){C=e+300|0;f[j>>2]=f[C>>2];f[C>>2]=j;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{C=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);f[o>>2]=0;f[p>>2]=0}while(0);l=f[n>>2]|0;k=r+88|0;e=b[l>>0]|0;g=e&255;do if(!(g&128)){C=k;f[C>>2]=e&255;f[C+4>>2]=0;e=1}else{C=h[l+1>>0]|0;e=C<<7|g&127;if(!(C&128)){C=k;f[C>>2]=e;f[C+4>>2]=0;e=2;break}C=h[l+2>>0]|0;e=C<<14|e&16383;if(!(C&128)){C=k;f[C>>2]=e;f[C+4>>2]=0;e=3;break}C=h[l+3>>0]|0;e=C<<21|e&2097151;if(!(C&128)){C=k;f[C>>2]=e;f[C+4>>2]=0;e=4;break}i=28;j=l+4|0;e=e&268435455;g=0;do{C=j;j=j+1|0;C=h[C>>0]|0;B=WA(C&127|0,0,i|0)|0;e=KA(B|0,ba()|0,e|0,g|0)|0;g=ba()|0;i=i+7|0}while(i>>>0<64&((C&128|0)!=0|0!=0));C=k;f[C>>2]=e;f[C+4>>2]=g;e=j-l|0}while(0);f[r+80>>2]=l+e}while(0);q=q+1|0}while(q>>>0>>0);C=d+-1|0;B=d>>>0>1;if(B){i=C;do{j=i;i=i+-1|0;f:do if((j|0)<(d|0)){e=i;l=f[X+(i<<2)>>2]|0;do{g=e;e=e+1|0;k=X+(e<<2)|0;if((jb[H&255](l,f[k>>2]|0)|0)<0)break f;A=X+(g<<2)|0;z=f[k>>2]|0;l=f[A>>2]|0;f[k>>2]=l;f[A>>2]=z}while((e|0)<(C|0))}while(0)}while((j|0)>1)}if(f[(f[X>>2]|0)+80>>2]|0){e=0;z=0;A=0;while(1){f[I>>2]=0;f[Q>>2]=0;y=f[X>>2]|0;n=y+88|0;o=f[n>>2]|0;n=f[n+4>>2]|0;xt(a,y,I,Q)|0;g:do if(B){g=1;do{i=f[X+(g<<2)>>2]|0;if(!(f[i+80>>2]|0))break g;y=i+88|0;if(!((f[y>>2]|0)==(o|0)?(f[y+4>>2]|0)==(n|0):0))break g;xt(a,i,0,0)|0;g=g+1|0}while(g>>>0>>0)}else g=1;while(0);if(T)i=f[Q>>2]|0;else{q=f[V>>2]|0;j=f[I>>2]|0;p=f[Q>>2]|0;r=j+p|0;k=j;m=0;while(1){h:do if(k>>>0>>0){l=0;i=k;while(1){k=b[i>>0]|0;if(!(k&254|l)){l=i;break h}i=i+1|0;if(i>>>0>>0)l=k&128;else{l=i;break}}}else l=k;while(0);i=l-j|0;if((m|0)==(q|0))break;p=p-i|0;if(!p){j=l;i=0;break}k=l+1|0;j=b[k>>0]|0;i=j&255;do if(!(i&128))j=1;else{y=b[l+2>>0]|0;i=y<<7|j&127;if(!(y&128)){j=2;break}y=b[l+3>>0]|0;i=y<<14|i&16383;if(!(y&128)){j=3;break}y=b[l+4>>0]|0;i=y<<21|i&2097151;if(!(y&128)){j=4;break}i=(b[l+5>>0]&7)<<28|i&268435455;j=5}while(0);k=k+j|0;j=l;m=i}f[I>>2]=j;f[Q>>2]=i}do if(U|(i|0)>0){l=(e|0)>0&(b[G>>0]|0)!=0;m=LA(z|0,A|0,o|0,n|0)|0;j=ba()|0;y=LA(o|0,n|0,z|0,A|0)|0;k=ba()|0;y=l?m:y;k=l?j:k;j=0;l=y;m=k;do{j=j+1|0;l=VA(l|0,m|0,7)|0;m=ba()|0}while(!((l|0)==0&(m|0)==0));j=(E?i+1|0:0)+e+j|0;if((j|0)>(f[Y>>2]|0)){j=j<<1;f[Y>>2]=j;l=f[Z>>2]|0;if(Mc()|0){D=182;break a}j=Nc(l,(j|0)>0?j:0,0)|0;if(!j){D=182;break a}f[Z>>2]=j}else j=f[Z>>2]|0;x=j+e|0;if(P){m=x;l=y;while(1){i=l&255;j=m+1|0;b[m>>0]=i|-128;l=VA(l|0,k|0,7)|0;k=ba()|0;if((l|0)==0&(k|0)==0)break;else m=j}b[m>>0]=i&127;e=j-x+e|0;if(!E)break;A=f[Q>>2]|0;YA((f[Z>>2]|0)+e|0,f[I>>2]|0,A|0)|0;e=A+e|0;b[(f[Z>>2]|0)+e>>0]=0;e=e+1|0;break}l=f[I>>2]|0;w=l+i|0;m=b[l>>0]|0;switch(m<<24>>24){case 1:{i=0;j=0;break}case 2:{i=x;m=y;q=k;while(1){j=m&255;p=i+1|0;b[i>>0]=j|-128;m=VA(m|0,q|0,7)|0;q=ba()|0;if((m|0)==0&(q|0)==0)break;else i=p}b[i>>0]=j&127;b[p>>0]=2;i=1-x+p|0;j=1;m=b[l>>0]|0;D=138;break}default:{i=0;j=0;D=138}}if((D|0)==138){D=0;m=m<<24>>24;if(m&254)do{l=l+1|0;v=m;m=b[l>>0]|0}while((m&254|v&128|0)!=0)}if(l>>>0>>0)do{r=l+1|0;p=b[r>>0]|0;m=p&255;do if(!(m&128)){l=1;v=p&255;q=0}else{v=h[l+2>>0]|0;m=v<<7|m&127;if(!(v&128)){l=2;v=m;q=0;break}v=h[l+3>>0]|0;m=v<<14|m&16383;if(!(v&128)){l=3;v=m;q=0;break}v=h[l+4>>0]|0;m=v<<21|m&2097151;if(!(v&128)){l=4;v=m;q=0;break}p=28;l=l+5|0;m=m&268435455;q=0;do{v=l;l=l+1|0;v=h[v>>0]|0;u=WA(v&127|0,0,p|0)|0;m=KA(u|0,ba()|0,m|0,q|0)|0;q=ba()|0;p=p+7|0}while(p>>>0<64&((v&128|0)!=0|0!=0));l=l-r|0;v=m}while(0);l=r+l|0;m=b[l>>0]|0;if(m<<24>>24==2){if(!j){m=x+i|0;j=m;r=y;u=k;while(1){p=r&255;s=j+1|0;b[j>>0]=p|-128;r=VA(r|0,u|0,7)|0;u=ba()|0;if((r|0)==0&(u|0)==0)break;else j=s}b[j>>0]=p&127;i=i-m+s|0;j=1}u=i+1|0;b[x+i>>0]=1;s=x+u|0;r=s;p=v;while(1){i=p&255;m=r+1|0;b[r>>0]=i|-128;p=VA(p|0,q|0,7)|0;q=ba()|0;if((p|0)==0&(q|0)==0)break;else r=m}b[r>>0]=i&127;i=m-s+u|0;b[x+i>>0]=2;i=i+1|0;m=b[l>>0]|0}m=m<<24>>24;if(m&254)do{l=l+1|0;v=m;m=b[l>>0]|0}while((m&254|v&128|0)!=0)}while(l>>>0>>0);if(j){b[x+i>>0]=0;i=i+1|0}y=(i|0)==0;e=i+e|0;o=y?z:o;n=y?A:n}else{o=z;n=A}while(0);g=g+(((g|0)==(d|0))<<31>>31)|0;if((g|0)>0)do{k=g;g=g+-1|0;i:do if((k|0)<(d|0)){i=g;m=f[X+(g<<2)>>2]|0;do{j=i;i=i+1|0;l=X+(i<<2)|0;if((jb[H&255](m,f[l>>2]|0)|0)<0)break i;A=X+(j<<2)|0;z=f[l>>2]|0;m=f[A>>2]|0;f[l>>2]=m;f[A>>2]=z}while((i|0)<(C|0))}while(0)}while((k|0)>1);if(!(f[(f[X>>2]|0)+80>>2]|0))break;else{z=o;A=n}}if((e|0)>0){D=181;break}}f[_>>2]=d}do if((D|0)==51){f[c+52>>2]=f[d+76>>2];d=d+72|0;e=100}else if((D|0)==52){i=f[d+76>>2]|0;f[c+52>>2]=i;d=d+72|0;if(e)e=100;else{g=f[d>>2]|0;if((f[Y>>2]|0)<(i|0)){e=i<<1;f[Y>>2]=e;d=f[Z>>2]|0;if(Mc()|0){d=Z;e=7;break}d=Nc(d,(e|0)>0?e:0,0)|0;if(!d){d=Z;e=7;break}f[Z>>2]=d}else d=f[Z>>2]|0;YA(d|0,g|0,i|0)|0;d=Z;e=100}}else if((D|0)==181){f[c+48>>2]=f[Z>>2];f[c+52>>2]=e;f[_>>2]=d;_=100;t=$;return _|0}else if((D|0)==182){_=7;t=$;return _|0}else if((D|0)==184){t=$;return d|0}while(0);f[c+48>>2]=f[d>>2];f[_>>2]=1;_=e;t=$;return _|0}function ot(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;j=o;k=o+8|0;l=a+92|0;i=f[l>>2]|0;f[k>>2]=i;if(!i){i=f[a+20>>2]|0;f[j>>2]=f[a+16>>2];f[j+4>>2]=i;i=wd(64166,j)|0;if(!i){n=7;t=o;return n|0}j=Ki(f[a+12>>2]|0,i,-1,129,0,k,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{a=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[k>>2]|0;f[l>>2]=i;if(j){n=j;t=o;return n|0}}k=i;do if(!(Op(k,1)|0)){j=f[k+116>>2]|0;a=j+8|0;if(!(d[a>>1]&9216)){l=j;f[l>>2]=c;f[l+4>>2]=e;d[a>>1]=4;break}else{bf(j,c,e);break}}while(0);if((g|0)==0|(Op(k,2)|0)!=0){Ei(k)|0;if(!i)i=0;else n=19}else{i=$e((f[k+116>>2]|0)+40|0,g,h,0,0)|0;if(i|0?(m=f[k>>2]|0,f[m+64>>2]=i,Bg(m,i),m=f[k>>2]|0,(i|0)==3082|(b[m+81>>0]|0)!=0):0)Di(m);Ei(k)|0;n=19}do if((n|0)==19){i=f[k>>2]|0;n=k+128|0;m=f[n+4>>2]|0;if((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)Hi(i,k);j=fg(k)|0;f[k+20>>2]=770837923;f[k+36>>2]=-1;f[k+40>>2]=0;b[k+142>>0]=2;f[k+44>>2]=0;f[k+32>>2]=1;b[k+143>>0]=-1;f[k+48>>2]=0;n=k+64|0;f[n>>2]=0;f[n+4>>2]=0;if((j|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&j;break}}while(0);Op(k,2)|0;n=i;t=o;return n|0}function pt(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;y=t;t=t+16|0;p=y+4|0;q=y;x=f[c>>2]|0;o=(x|0)!=0;a:do if(o){u=x+32|0;j=f[u>>2]|0;v=x+16|0;n=f[v>>2]|0;w=x+20|0;h=f[w>>2]|0;b:do if((h|0)>0){g=0;while(1){if((b[n+g>>0]|0)!=(b[d+g>>0]|0)){s=g;break b}g=g+1|0;if((g|0)>=(h|0)){s=g;break}}}else s=0;while(0);k=((s|0)<0)<<31>>31;m=0;g=s;h=k;do{m=m+1|0;g=VA(g|0,h|0,7)|0;h=ba()|0}while(!((g|0)==0&(h|0)==0));r=e-s|0;i=((r|0)<0)<<31>>31;g=0;h=r;l=i;do{g=g+1|0;h=VA(h|0,l|0,7)|0;l=ba()|0}while(!((h|0)==0&(l|0)==0));h=r+j+m+g|0;g=f[a+228>>2]|0;do if((h|0)>(g|0)){if(n|0)break a;c=Fd(h)|0;f[x+36>>2]=c;if(!c){e=7;t=y;return e|0}else{g=f[v>>2]|0;break}}else g=n;while(0);a=x+36|0;if(g){m=(f[a>>2]|0)+j|0;l=m;n=s;while(1){g=n&255;h=l+1|0;b[l>>0]=g|-128;n=VA(n|0,k|0,7)|0;k=ba()|0;if((n|0)==0&(k|0)==0)break;else l=h}b[l>>0]=g&127;j=j-m+h|0}l=(f[a>>2]|0)+j|0;k=l;m=r;while(1){g=m&255;h=k+1|0;b[k>>0]=g|-128;m=VA(m|0,i|0,7)|0;i=ba()|0;if((m|0)==0&(i|0)==0)break;else k=h}b[k>>0]=g&127;j=h-l+j|0;YA((f[a>>2]|0)+j|0,d+s|0,r|0)|0;f[u>>2]=j+r;j=x+12|0;f[j>>2]=(f[j>>2]|0)+1;j=x+24|0;i=x+28|0;g=f[i>>2]|0;do if((f[j>>2]|0)<(e|0)){h=e<<1;if(Mc()|0){e=7;t=y;return e|0}g=Nc(g,(h|0)>0?h:0,0)|0;if(!g){e=7;t=y;return e|0}else{f[j>>2]=h;f[i>>2]=g;break}}while(0);f[v>>2]=g;YA(g|0,d|0,e|0)|0;f[w>>2]=e;e=0;t=y;return e|0}else g=f[a+228>>2]|0;while(0);j=Fd(g+40|0)|0;f[p>>2]=j;g=j;if(!j){e=7;t=y;return e|0};f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;f[j+28>>2]=0;f[j+32>>2]=11;f[j+36>>2]=j+40;if(o){f[q>>2]=f[x>>2];h=pt(a,q,d,e)|0;i=f[q>>2]|0;if(!(f[x>>2]|0))f[x>>2]=i;f[x+4>>2]=g;f[j+8>>2]=f[x+8>>2];f[j>>2]=i;e=x+28|0;f[j+28>>2]=f[e>>2];f[j+24>>2]=f[x+24>>2];f[e>>2]=0}else{f[j+8>>2]=j;h=pt(a,p,d,e)|0;g=f[p>>2]|0}f[c>>2]=g;e=h;t=y;return e|0}function qt(a,c,e,g,h,i,j,k,l,m,n,o,p,q){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;z=t;t=t+32|0;w=z+8|0;s=z;u=z+24|0;v=a+100|0;r=f[v>>2]|0;f[u>>2]=r;if(!r){r=f[a+20>>2]|0;f[s>>2]=f[a+16>>2];f[s+4>>2]=r;r=wd(64108,s)|0;if(!r){y=7;t=z;return y|0}s=Ki(f[a+12>>2]|0,r,-1,129,0,u,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](r);else{a=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r)}r=f[u>>2]|0;f[v>>2]=r;if(!s)u=r;else{y=s;t=z;return y|0}}else u=r;v=u;do if(!(Op(v,1)|0)){r=f[v+116>>2]|0;s=r+8|0;if(!(d[s>>1]&9216)){a=r;f[a>>2]=c;f[a+4>>2]=e;d[s>>1]=4;break}else{bf(r,c,e);break}}while(0);r=((g|0)<0)<<31>>31;do if(!(Op(v,2)|0)){a=f[v+116>>2]|0;s=a+40|0;a=a+48|0;if(!(d[a>>1]&9216)){e=s;f[e>>2]=g;f[e+4>>2]=r;d[a>>1]=4;break}else{bf(s,g,r);break}}while(0);do if(!(Op(v,3)|0)){s=f[v+116>>2]|0;r=s+80|0;s=s+88|0;if(!(d[s>>1]&9216)){g=r;f[g>>2]=h;f[g+4>>2]=i;d[s>>1]=4;break}else{bf(r,h,i);break}}while(0);do if(!(Op(v,4)|0)){s=f[v+116>>2]|0;r=s+120|0;s=s+128|0;if(!(d[s>>1]&9216)){i=r;f[i>>2]=j;f[i+4>>2]=k;d[s>>1]=4;break}else{bf(r,j,k);break}}while(0);do if((n|0)==0&(o|0)==0){if(!(Op(v,5)|0)){s=f[v+116>>2]|0;r=s+160|0;s=s+168|0;if(!(d[s>>1]&9216)){w=r;f[w>>2]=l;f[w+4>>2]=m;d[s>>1]=4;break}else{bf(r,l,m);break}}}else{r=w;f[r>>2]=l;f[r+4>>2]=m;r=w+8|0;f[r>>2]=n;f[r+4>>2]=o;r=wd(64156,w)|0;if(!r){y=7;t=z;return y|0}else{Sp(v,5,r,-1,101,1)|0;break}}while(0);if((p|0)==0|(Op(v,6)|0)!=0){Ei(v)|0;if(!u)r=0;else y=38}else{r=$e((f[v+116>>2]|0)+200|0,p,q,0,0)|0;if(r|0?(x=f[v>>2]|0,f[x+64>>2]=r,Bg(x,r),x=f[v>>2]|0,(r|0)==3082|(b[x+81>>0]|0)!=0):0)Di(x);Ei(v)|0;y=38}do if((y|0)==38){r=f[v>>2]|0;y=v+128|0;x=f[y+4>>2]|0;if((x|0)>0|(x|0)==0&(f[y>>2]|0)>>>0>0)Hi(r,v);s=fg(v)|0;f[v+20>>2]=770837923;f[v+36>>2]=-1;f[v+40>>2]=0;b[v+142>>0]=2;f[v+44>>2]=0;f[v+32>>2]=1;b[v+143>>0]=-1;f[v+48>>2]=0;y=v+64|0;f[y>>2]=0;f[y+4>>2]=0;if((s|0)==3082|(b[r+81>>0]|0)!=0){Di(r);r=7;break}else{r=f[r+68>>2]&s;break}}while(0);Op(v,6)|0;y=r;t=z;return y|0}function rt(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=t;t=t+32|0;x=B+16|0;w=B+8|0;k=B;y=B+24|0;l=a+204|0;i=f[l>>2]|0;f[y>>2]=i;if(!i){i=f[a+20>>2]|0;f[k>>2]=f[a+16>>2];f[k+4>>2]=i;i=wd(63872,k)|0;if(!i){e=7;t=B;return e|0}k=Ki(f[a+12>>2]|0,i,-1,129,0,y,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{A=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[y>>2]|0;f[l>>2]=i;if(k){e=k;t=B;return e|0}}n=OA(c|0,e|0,1024,0)|0;n=WA(n|0,ba()|0,10)|0;m=ba()|0;n=n|1023;s=QA(g|0,h|0,3,0)|0;s=OA(s|0,ba()|0,2,0)|0;u=ba()|0;A=i;k=KA(c|0,e|0,1,0)|0;l=ba()|0;do if(!(Op(A,1)|0)){g=f[A+116>>2]|0;h=g+8|0;if(!(d[h>>1]&9216)){z=g;f[z>>2]=k;f[z+4>>2]=l;d[h>>1]=4;break}else{bf(g,k,l);break}}while(0);do if(!(Op(A,2)|0)){l=f[A+116>>2]|0;k=l+40|0;l=l+48|0;if(!(d[l>>1]&9216)){z=k;f[z>>2]=n;f[z+4>>2]=m;d[l>>1]=4;break}else{bf(k,n,m);break}}while(0);a:do if((Ei(A)|0)==100){p=A+104|0;q=A+140|0;r=A+40|0;if(!i){e=0;t=B;return e|0}while(1){k=f[p>>2]|0;if((k|0)!=0?(j[q>>1]|0)>2:0)k=k+80|0;else{k=f[A>>2]|0;f[k+64>>2]=25;Bg(k,25);k=37592}l=d[k+8>>1]|0;if((l&514)==514?(b[k+10>>0]|0)==1:0)o=f[k+16>>2]|0;else if(!(l&1))o=Ic(k,1)|0;else o=0;k=f[A>>2]|0;l=f[r>>2]|0;if((l|0)==3082|(b[k+81>>0]|0)!=0){Di(k);k=7}else k=f[k+68>>2]&l;f[r>>2]=k;if(!o){l=0;break a}if(((b[o>>0]|0)+-48&255)<10){k=0;do k=k+1|0;while(((b[o+k>>0]|0)+-48&255)<10)}else k=0;b:while(1){l=b[o+k>>0]|0;switch(l<<24>>24){case 45:{v=40;break b}case 32:break;default:{m=1;n=0;break b}}k=k+1|0}if((v|0)==40){v=0;l=k+1|0;k=l;l=b[o+l>>0]|0;m=-1;n=-1}if((l+-48&255)<10){g=0;h=0;do{h=QA(g|0,h|0,10,0)|0;g=(l&255)+-48|0;g=KA(h|0,ba()|0,g|0,((g|0)<0)<<31>>31|0)|0;h=ba()|0;k=k+1|0;l=b[o+k>>0]|0}while((l+-48&255)<10);l=g;k=h}else{l=0;k=0}l=QA(l|0,k|0,m|0,n|0)|0;z=ba()|0;k=(z|0)<0|(z|0)==0&l>>>0<1;l=(z|0)>(u|0)|(z|0)==(u|0)&l>>>0>s>>>0;if(k|l){v=45;break}if((Ei(A)|0)!=100){v=46;break}}if((v|0)==45){l=(k|l)^1;break}else if((v|0)==46){l=(k|l)^1;break}}else l=0;while(0);do if(!i){i=0;z=1}else{i=f[A>>2]|0;z=A+128|0;v=f[z+4>>2]|0;if((v|0)>0|(v|0)==0&(f[z>>2]|0)>>>0>0)Hi(i,A);k=fg(A)|0;f[A+20>>2]=770837923;f[A+36>>2]=-1;f[A+40>>2]=0;b[A+142>>0]=2;f[A+44>>2]=0;f[A+32>>2]=1;b[A+143>>0]=-1;f[A+48>>2]=0;z=A+64|0;f[z>>2]=0;f[z+4>>2]=0;if(!((k|0)==3082|(b[i+81>>0]|0)!=0)){i=f[i+68>>2]&k;z=0;break}Di(i);e=7;t=B;return e|0}while(0);if(!(l&(i|0)==0)){e=i;t=B;return e|0}l=a+208|0;i=f[l>>2]|0;f[y>>2]=i;if(!i){i=f[a+20>>2]|0;f[w>>2]=f[a+16>>2];f[w+4>>2]=i;i=wd(63978,w)|0;if(!i){e=7;t=B;return e|0}k=Ki(f[a+12>>2]|0,i,-1,129,0,y,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{w=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[y>>2]|0;f[l>>2]=i;if(!k)g=i;else{e=k;t=B;return e|0}}else g=i;l=a+212|0;i=f[l>>2]|0;f[y>>2]=i;if(!i){i=f[a+20>>2]|0;f[x>>2]=f[a+16>>2];f[x+4>>2]=i;i=wd(64051,x)|0;if(!i){e=7;t=B;return e|0}k=Ki(f[a+12>>2]|0,i,-1,129,0,y,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{a=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[y>>2]|0;f[l>>2]=i;if(!k)y=i;else{e=k;t=B;return e|0}}else y=i;do if(!(Op(A,1)|0)){i=f[A+116>>2]|0;k=i+8|0;if(!(d[k>>1]&9216)){a=i;f[a>>2]=c;f[a+4>>2]=e;d[k>>1]=4;break}else{bf(i,c,e);break}}while(0);c:do if((Ei(A)|0)==100){m=g;n=m+116|0;o=m+128|0;p=m+20|0;q=m+36|0;r=m+40|0;s=m+142|0;u=m+44|0;v=m+32|0;w=m+143|0;x=m+48|0;a=m+64|0;d:do if(!g){h=0;while(1){do if(!(Op(m,1)|0)){i=f[n>>2]|0;k=i+8|0;if(!(d[k>>1]&9216)){g=i;f[g>>2]=h;f[g+4>>2]=0;d[k>>1]=4;break}else{bf(i,h,0);break}}while(0);i=Ip(A,0)|0;k=((i|0)<0)<<31>>31;do if(!(Op(m,2)|0)){g=f[n>>2]|0;l=g+40|0;g=g+48|0;if(!(d[g>>1]&9216)){f[l>>2]=i;f[l+4>>2]=k;d[g>>1]=4;break}else{bf(l,i,k);break}}while(0);i=Ip(A,1)|0;k=((i|0)<0)<<31>>31;if(!(Op(m,3)|0)){g=f[n>>2]|0;l=g+80|0;g=g+88|0;if(!(d[g>>1]&9216)){f[l>>2]=i;f[l+4>>2]=k;d[g>>1]=4}else bf(l,i,k);Ei(m)|0;i=f[m>>2]|0;g=o;l=f[g+4>>2]|0;if((l|0)>0|(l|0)==0&(f[g>>2]|0)>>>0>0)Hi(i,m);k=fg(m)|0;f[p>>2]=770837923;f[q>>2]=-1;f[r>>2]=0;b[s>>0]=2;f[u>>2]=0;f[v>>2]=1;b[w>>0]=-1;f[x>>2]=0;g=a;f[g>>2]=0;f[g+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){v=113;break d}i=f[i+68>>2]&k;if(i|0){v=115;break d}}else Ei(m)|0;if((Ei(A)|0)==100)h=h+1|0;else break c}}else{h=0;while(1){do if(!(Op(m,1)|0)){i=f[n>>2]|0;k=i+8|0;if(!(d[k>>1]&9216)){g=i;f[g>>2]=h;f[g+4>>2]=0;d[k>>1]=4;break}else{bf(i,h,0);break}}while(0);i=Ip(A,0)|0;k=((i|0)<0)<<31>>31;do if(!(Op(m,2)|0)){g=f[n>>2]|0;l=g+40|0;g=g+48|0;if(!(d[g>>1]&9216)){f[l>>2]=i;f[l+4>>2]=k;d[g>>1]=4;break}else{bf(l,i,k);break}}while(0);i=Ip(A,1)|0;k=((i|0)<0)<<31>>31;if(!(Op(m,3)|0)){g=f[n>>2]|0;l=g+80|0;g=g+88|0;if(!(d[g>>1]&9216)){f[l>>2]=i;f[l+4>>2]=k;d[g>>1]=4}else bf(l,i,k);Ei(m)|0}else Ei(m)|0;i=f[m>>2]|0;g=o;l=f[g+4>>2]|0;if((l|0)>0|(l|0)==0&(f[g>>2]|0)>>>0>0)Hi(i,m);k=fg(m)|0;f[p>>2]=770837923;f[q>>2]=-1;f[r>>2]=0;b[s>>0]=2;f[u>>2]=0;f[v>>2]=1;b[w>>0]=-1;f[x>>2]=0;g=a;f[g>>2]=0;f[g+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){v=113;break d}i=f[i+68>>2]&k;if(i|0){v=115;break d}if((Ei(A)|0)==100)h=h+1|0;else break c}}while(0);if((v|0)==113){Di(i);if(z){e=7;t=B;return e|0}else k=7}else if((v|0)==115)if(z){e=i;t=B;return e|0}else k=i;i=f[A>>2]|0;e=A+128|0;c=f[e+4>>2]|0;if((c|0)>0|(c|0)==0&(f[e>>2]|0)>>>0>0)Hi(i,A);e=fg(A)|0;f[A+20>>2]=770837923;f[A+36>>2]=-1;f[A+40>>2]=0;b[A+142>>0]=2;f[A+44>>2]=0;f[A+32>>2]=1;b[A+143>>0]=-1;f[A+48>>2]=0;c=A+64|0;f[c>>2]=0;f[c+4>>2]=0;if(!((e|0)==3082|(b[i+81>>0]|0)!=0)){e=k;t=B;return e|0}Di(i);e=k;t=B;return e|0}while(0);do if(!z){i=f[A>>2]|0;z=A+128|0;a=f[z+4>>2]|0;if((a|0)>0|(a|0)==0&(f[z>>2]|0)>>>0>0)Hi(i,A);k=fg(A)|0;f[A+20>>2]=770837923;f[A+36>>2]=-1;f[A+40>>2]=0;b[A+142>>0]=2;f[A+44>>2]=0;f[A+32>>2]=1;b[A+143>>0]=-1;f[A+48>>2]=0;A=A+64|0;f[A>>2]=0;f[A+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);e=7;t=B;return e|0}else{i=f[i+68>>2]&k;if(!i)break;t=B;return i|0}}while(0);l=y;if(Op(l,1)|0){Ei(l)|0;if(!y){e=0;t=B;return e|0}}else{i=f[l+116>>2]|0;k=i+8|0;if(!(d[k>>1]&9216)){A=i;f[A>>2]=c;f[A+4>>2]=e;d[k>>1]=4}else bf(i,c,e);Ei(l)|0}i=f[l>>2]|0;e=l+128|0;c=f[e+4>>2]|0;if((c|0)>0|(c|0)==0&(f[e>>2]|0)>>>0>0)Hi(i,l);k=fg(l)|0;f[l+20>>2]=770837923;f[l+36>>2]=-1;f[l+40>>2]=0;b[l+142>>0]=2;f[l+44>>2]=0;f[l+32>>2]=1;b[l+143>>0]=-1;f[l+48>>2]=0;e=l+64|0;f[e>>2]=0;f[e+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);e=7;t=B;return e|0}else{e=f[i+68>>2]&k;t=B;return e|0}return 0}function st(a){a=a|0;var b=0,c=0,d=0;if(!a)return;a=f[a+8>>2]|0;st(f[a>>2]|0);if(!a)return;do{c=a;a=f[a+4>>2]|0;b=f[c+36>>2]|0;do if(!((b|0)==(c+40|0)|(b|0)==0))if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{d=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[c+28>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{d=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((a|0)!=0);return}function tt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=((f[a+80>>2]|0)==0&1)-((f[b+80>>2]|0)==0&1)|0;if(c|0){b=c;return b|0}d=a+88|0;c=f[d>>2]|0;d=f[d+4>>2]|0;g=b+88|0;e=f[g>>2]|0;g=f[g+4>>2]|0;if((c|0)==(e|0)&(d|0)==(g|0)){b=(f[b>>2]|0)-(f[a>>2]|0)|0;return b|0}else{b=(d|0)>(g|0)|(d|0)==(g|0)&c>>>0>e>>>0?1:-1;return b|0}return 0}function ut(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=((f[a+80>>2]|0)==0&1)-((f[b+80>>2]|0)==0&1)|0;if(c|0){b=c;return b|0}d=a+88|0;c=f[d>>2]|0;d=f[d+4>>2]|0;g=b+88|0;e=f[g>>2]|0;g=f[g+4>>2]|0;if((c|0)==(e|0)&(d|0)==(g|0)){b=(f[b>>2]|0)-(f[a>>2]|0)|0;return b|0}else{b=(d|0)<(g|0)|(d|0)==(g|0)&c>>>0>>0?1:-1;return b|0}return 0}function vt(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c+72|0;d=f[r>>2]|0;if(!d)d=f[c+40>>2]|0;else d=d+(f[c+76>>2]|0)|0;if((d|0)!=0?(e=c+40|0,g=f[e>>2]|0,d>>>0<(g+(f[c+44>>2]|0)|0)>>>0):0){k=d;h=g;p=e}else q=6;do if((q|0)==6){j=c+56|0;d=f[j>>2]|0;if(d|0){e=f[d>>2]|0;i=c+40|0;d=f[i>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{q=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);f[i>>2]=0;if(!e){r=0;return r|0}g=f[e+8>>2]|0;h=(f[g>>2]|0)+1|0;f[c+64>>2]=f[e+12>>2];f[c+60>>2]=f[e+16>>2];d=Fd(h)|0;if(!d){r=7;return r|0}YA(d|0,f[g+4>>2]|0,h|0)|0;f[c+76>>2]=h;f[c+44>>2]=h;f[r>>2]=d;f[i>>2]=d;f[j>>2]=(f[j>>2]|0)+4;r=0;return r|0}i=c+40|0;if(!(b[c+5>>0]|0)){d=f[i>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{p=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);d=c+52|0;e=f[d>>2]|0;do if(e|0){g=f[e+20>>2]|0;Fi(f[e+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Kc(g,e);break}p=e;if((f[g+304>>2]|0)>>>0<=p>>>0?(f[g+308>>2]|0)>>>0>p>>>0:0){p=g+300|0;f[e>>2]=f[p>>2];f[p>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{p=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[d>>2]=0}f[i>>2]=0;g=c+32|0;e=g;d=f[e>>2]|0;e=f[e+4>>2]|0;p=c+16|0;n=f[p+4>>2]|0;if(!((e|0)<(n|0)|((e|0)==(n|0)?d>>>0<(f[p>>2]|0)>>>0:0))){r=0;return r|0}p=KA(d|0,e|0,1,0)|0;d=ba()|0;n=g;f[n>>2]=p;f[n+4>>2]=d;d=yt(a,p,d,i,c+44|0)|0;if(!d){h=f[i>>2]|0;k=h;p=i;break}else{r=d;return r|0}}while(0);n=c+52|0;g=f[n>>2]|0;a:do if(g){d=h;i=k+20|0;a=c+48|0;j=c+44|0;e=f[a>>2]|0;if((i-d|0)>(e|0)){while(1){h=(f[j>>2]|0)-e|0;h=(h|0)<4096?h:4096;d=Zp(g,d+e|0,h,e,89)|0;if(d|0){o=d;q=94;break}g=(f[a>>2]|0)+h|0;f[a>>2]=g;g=(f[p>>2]|0)+g|0;h=g+20|0;do{b[g>>0]=0;g=g+1|0}while((g|0)<(h|0));e=f[a>>2]|0;l=f[n>>2]|0;if((e|0)==(f[j>>2]|0))break;if(!l){j=0;break a}d=f[p>>2]|0;if((i-d|0)<=(e|0)){j=l;break a}else g=l}if((q|0)==94)return o|0;do if(l|0){d=f[l+20>>2]|0;Fi(f[l+16>>2]|0)|0;if(d|0){if(f[d+480>>2]|0){Kc(d,l);break}m=l;if((f[d+304>>2]|0)>>>0<=m>>>0?(f[d+308>>2]|0)>>>0>m>>>0:0){m=d+300|0;f[l>>2]=f[m>>2];f[m>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{m=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[n>>2]=0;f[a>>2]=0;j=0}else j=g}else j=0;while(0);e=b[k>>0]|0;d=e&255;if(d&128){m=b[k+1>>0]|0;d=m<<7|e&127;if(m&128){m=b[k+2>>0]|0;d=m<<14|d&16383;if(m&128){m=b[k+3>>0]|0;d=m<<21|d&2097151;if(!(m&128))e=4;else{d=(b[k+4>>0]&7)<<28|d&268435455;e=5}}else e=3}else e=2}else e=1;h=k+e|0;g=b[h>>0]|0;e=g&255;if(e&128){m=b[h+1>>0]|0;e=m<<7|g&127;if(m&128){m=b[h+2>>0]|0;e=m<<14|e&16383;if(m&128){m=b[h+3>>0]|0;e=m<<21|e&2097151;if(!(m&128))g=4;else{e=(b[h+4>>0]&7)<<28|e&268435455;g=5}}else g=3}else g=2}else g=1;l=h+g|0;if((e|0)<1){r=267;return r|0}m=c+44|0;k=l;if(((f[p>>2]|0)+(f[m>>2]|0)-k|0)<(e|0)){r=267;return r|0}a=c+68|0;g=f[a>>2]|0;if((d|0)>(g|0)){r=267;return r|0}h=KA(e|0,((e|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;i=ba()|0;s=((g|0)<0)<<31>>31;do if((i|0)>(s|0)|(i|0)==(s|0)&h>>>0>g>>>0){i=WA(h|0,i|0,1)|0;g=ba()|0;j=c+64|0;h=f[j>>2]|0;if(Mc()|0){s=7;return s|0}g=Nc(h,i,g)|0;if(!g){s=7;return s|0}else{f[j>>2]=g;f[a>>2]=i;g=f[n>>2]|0;break}}else g=j;while(0);b:do if(g|0){a=e+10+k|0;k=c+48|0;h=f[k>>2]|0;j=g;while(1){g=f[p>>2]|0;if((a-g|0)<=(h|0))break b;i=(f[m>>2]|0)-h|0;i=(i|0)<4096?i:4096;g=Zp(j,g+h|0,i,h,89)|0;if(g|0){o=g;q=94;break}g=(f[k>>2]|0)+i|0;f[k>>2]=g;g=(f[p>>2]|0)+g|0;h=g+20|0;do{b[g>>0]=0;g=g+1|0}while((g|0)<(h|0));h=f[k>>2]|0;j=f[n>>2]|0;if((h|0)==(f[m>>2]|0))break;if(!j)break b}if((q|0)==94)return o|0;do if(j|0){g=f[j+20>>2]|0;Fi(f[j+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Kc(g,j);break}s=j;if((f[g+304>>2]|0)>>>0<=s>>>0?(f[g+308>>2]|0)>>>0>s>>>0:0){s=g+300|0;f[j>>2]=f[s>>2];f[s>>2]=j;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{s=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);f[n>>2]=0;f[k>>2]=0}while(0);YA((f[c+64>>2]|0)+d|0,l|0,e|0)|0;f[c+60>>2]=e+d;g=l+e|0;d=b[g>>0]|0;e=d&255;h=c+76|0;if(e&128){s=b[g+1>>0]|0;d=s<<7|d&127;if(s&128){s=b[g+2>>0]|0;d=s<<14|d&16383;if(s&128){s=b[g+3>>0]|0;d=s<<21|d&2097151;if(!(s&128)){e=d;d=4}else{e=(b[g+4>>0]&7)<<28|d&268435455;d=5}}else{e=d;d=3}}else{e=d;d=2}}else d=1;f[h>>2]=e;d=g+d|0;f[r>>2]=d;f[c+80>>2]=0;if(((f[p>>2]|0)+(f[m>>2]|0)-d|0)<(e|0)){s=267;return s|0}if((f[c+48>>2]|0)==0?b[d+(e+-1)>>0]|0:0){s=267;return s|0}s=0;return s|0}function wt(a,c,d,e,g,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=f[e>>2]|0;if(!k){p=c+d|0;if((d|0)>0){o=(a|0)==0?1:-1;j=1;d=0;a=0;while(1){l=b[c>>0]|0;k=l&255;do if(!(k&128)){n=1;m=l&255;l=0}else{n=h[c+1>>0]|0;k=n<<7|k&127;if(!(n&128)){n=2;m=k;l=0;break}n=h[c+2>>0]|0;k=n<<14|k&16383;if(!(n&128)){n=3;m=k;l=0;break}n=h[c+3>>0]|0;k=n<<21|k&2097151;if(!(n&128)){n=4;m=k;l=0;break}m=28;n=c+4|0;k=k&268435455;l=0;do{q=n;n=n+1|0;q=h[q>>0]|0;r=WA(q&127|0,0,m|0)|0;k=KA(r|0,ba()|0,k|0,l|0)|0;l=ba()|0;m=m+7|0}while(m>>>0<64&((q&128|0)!=0|0!=0));n=n-c|0;m=k}while(0);k=c+n|0;m=QA(m|0,l|0,j|0,((j|0)<0)<<31>>31|0)|0;n=ba()|0;c=k;l=0;while(1){j=b[c>>0]|0;c=c+1|0;if(!(l<<24>>24|j))break;else l=j&128}d=KA(m|0,n|0,d|0,a|0)|0;a=ba()|0;a:do if(c>>>0

>>0)do{if(b[c>>0]|0)break a;c=c+1|0}while(c>>>0

>>0);while(0);if(c>>>0

>>0)j=o;else break}}else{k=0;d=0;a=0}f[i>>2]=p-k;f[e>>2]=k;r=g;f[r>>2]=d;f[r+4>>2]=a;return}n=(a|0)==0;a=k+-2|0;b:do if(a>>>0>>0)o=a;else while(1){if((b[a>>0]|0)>=0){o=a;break b}a=a+-1|0;if(a>>>0>>0){o=a;break}}while(0);m=o+1|0;p=m;a=b[m>>0]|0;d=a&255;do if(!(d&128)){a=a&255;d=0}else{r=h[o+2>>0]|0;a=r<<7|d&127;if(!(r&128)){d=0;break}r=h[o+3>>0]|0;a=r<<14|a&16383;if(!(r&128)){d=0;break}r=h[o+4>>0]|0;a=r<<21|a&2097151;if(!(r&128)){d=0;break}k=28;l=o+5|0;a=a&268435455;d=0;while(1){r=h[l>>0]|0;q=WA(r&127|0,0,k|0)|0;a=KA(q|0,ba()|0,a|0,d|0)|0;d=ba()|0;k=k+7|0;if(!(k>>>0<64&((r&128|0)!=0|0!=0)))break;else l=l+1|0}}while(0);q=QA(a|0,d|0,(n?1:-1)|0,(n?0:-1)|0)|0;n=ba()|0;r=g;n=LA(f[r>>2]|0,f[r+4>>2]|0,q|0,n|0)|0;q=ba()|0;r=g;f[r>>2]=n;f[r+4>>2]=q;if((m|0)==(c|0)){b[j>>0]=1;a=p}else{a=o+-1|0;c:do if(a>>>0>c>>>0){a=-1;while(1){k=a+-1|0;d=b[o+a>>0]|0;a=o+k|0;if(d<<24>>24)break c;if(a>>>0>c>>>0)a=k;else{d=0;break}}}else{d=0;k=-1}while(0);d:do if(a>>>0>c>>>0){a=d;while(1){d=b[o+k>>0]|0;if(!(d&-128&255|a<<24>>24))break;k=k+-1|0;a=o+k|0;if(a>>>0>c>>>0)a=d;else{c=47;break d}}a=o+k+2|0;c=49}else c=47;while(0);if((c|0)==47)if((k|0)<-1&d<<24>>24==0){a=o+(k+2)|0;c=49}do{r=a;a=a+1|0}while((b[r>>0]|0)<0);f[i>>2]=p-a}f[e>>2]=a;return}function xt(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;w=t;t=t+16|0;n=w;i=w+4|0;v=c+80|0;g=f[v>>2]|0;f[n>>2]=g;u=a+235|0;a=g;if(b[u>>0]|0?f[c+56>>2]|0:0){b[i>>0]=0;if(!d)a=c+84|0;else{f[d>>2]=g;a=c+84|0;f[e>>2]=(f[a>>2]|0)+-1}wt(0,f[c+72>>2]|0,f[c+76>>2]|0,n,c+88|0,a,i);if(!(b[i>>0]|0))f[v>>2]=f[n>>2];else f[v>>2]=0;v=0;t=w;return v|0}m=(f[c+72>>2]|0)+(f[c+76>>2]|0)|0;q=c+52|0;o=c+40|0;r=c+48|0;p=c+44|0;g=0;while(1){i=b[a>>0]|0;if((i|g)<<24>>24)do{a=a+1|0;g=i&-128;i=b[a>>0]|0}while((i|g)<<24>>24!=0);i=f[q>>2]|0;if(!i)break;j=f[r>>2]|0;k=(f[o>>2]|0)+j|0;if(a>>>0>>0)break;l=(f[p>>2]|0)-j|0;l=(l|0)<4096?l:4096;i=Zp(i,k,l,j,89)|0;if(i|0){s=67;break}i=(f[r>>2]|0)+l|0;f[r>>2]=i;i=(f[o>>2]|0)+i|0;j=i+20|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(j|0));if((f[r>>2]|0)==(f[p>>2]|0)){i=f[q>>2]|0;do if(i|0){j=f[i+20>>2]|0;Fi(f[i+16>>2]|0)|0;if(j|0){if(f[j+480>>2]|0){Kc(j,i);break}l=i;if((f[j+304>>2]|0)>>>0<=l>>>0?(f[j+308>>2]|0)>>>0>l>>>0:0){l=j+300|0;f[i>>2]=f[l>>2];f[l>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{l=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);f[q>>2]=0;f[r>>2]=0}}if((s|0)==67){f[n>>2]=a;v=i;t=w;return v|0}a=a+1|0;f[n>>2]=a;if(d|0){f[d>>2]=f[v>>2];f[e>>2]=a+-1-(f[v>>2]|0)}do if(a>>>0>>0){l=a;while(1){if(b[l>>0]|0)break;a=l+1|0;if(a>>>0>>0)l=a;else{s=36;break}}if((s|0)==36){f[n>>2]=a;break}f[n>>2]=l;a=f[q>>2]|0;a:do if(a|0){k=l+10|0;i=f[r>>2]|0;j=a;while(1){a=f[o>>2]|0;if((k-a|0)<=(i|0))break a;g=(f[p>>2]|0)-i|0;g=(g|0)<4096?g:4096;if(Zp(j,a+i|0,g,i,89)|0){a=0;s=68;break}i=(f[r>>2]|0)+g|0;f[r>>2]=i;i=(f[o>>2]|0)+i|0;j=i+20|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(j|0));i=f[r>>2]|0;j=f[q>>2]|0;if((i|0)==(f[p>>2]|0))break;if(!j)break a}if((s|0)==68){t=w;return a|0}do if(j|0){a=f[j+20>>2]|0;Fi(f[j+16>>2]|0)|0;if(a|0){if(f[a+480>>2]|0){Kc(a,j);break}s=j;if((f[a+304>>2]|0)>>>0<=s>>>0?(f[a+308>>2]|0)>>>0>s>>>0:0){s=a+300|0;f[j>>2]=f[s>>2];f[s>>2]=j;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{s=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);f[q>>2]=0;f[r>>2]=0}while(0);g=b[l>>0]|0;a=g&255;do if(!(a&128)){i=1;a=g&255;g=0}else{s=h[l+1>>0]|0;a=s<<7|a&127;if(!(s&128)){i=2;g=0;break}s=h[l+2>>0]|0;a=s<<14|a&16383;if(!(s&128)){i=3;g=0;break}s=h[l+3>>0]|0;a=s<<21|a&2097151;if(!(s&128)){i=4;g=0;break}i=28;j=l+4|0;a=a&268435455;g=0;do{s=j;j=j+1|0;s=h[s>>0]|0;r=WA(s&127|0,0,i|0)|0;a=KA(r|0,ba()|0,a|0,g|0)|0;g=ba()|0;i=i+7|0}while(i>>>0<64&((s&128|0)!=0|0!=0));i=j-l|0}while(0);f[v>>2]=l+i;r=(b[u>>0]|0)==0;v=c+88|0;u=v;c=f[u>>2]|0;u=f[u+4>>2]|0;q=LA(0,0,a|0,g|0)|0;s=ba()|0;u=KA((r?a:q)|0,(r?g:s)|0,c|0,u|0)|0;c=ba()|0;f[v>>2]=u;f[v+4>>2]=c;v=0;t=w;return v|0}while(0);f[v>>2]=0;v=0;t=w;return v|0}function yt(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=t;t=t+16|0;j=l;k=a+248|0;h=f[k>>2]|0;if(!h){i=a+244|0;h=f[i>>2]|0;if(!h){f[j>>2]=f[a+20>>2];h=wd(64225,j)|0;f[i>>2]=h;if(!h){e=7;t=l;return e|0}}h=Wp(f[a+12>>2]|0,f[a+16>>2]|0,h,64237,c,d,0,k)|0}else h=aq(h,c,d)|0;if(h|0){e=h;t=l;return e|0}h=f[k>>2]|0;if((h|0)!=0?(f[h+16>>2]|0)!=0:0)j=f[h>>2]|0;else j=0;f[g>>2]=j;if(!e){e=0;t=l;return e|0}i=Fd(j+20|0)|0;do if(i){h=Zp(f[k>>2]|0,i,j,0,89)|0;j=i+j|0;a=j+20|0;do{b[j>>0]=0;j=j+1|0}while((j|0)<(a|0));if(h)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{k=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}else h=0}else{i=0;h=7}while(0);f[e>>2]=i;e=h;t=l;return e|0}function zt(a,b){a=a|0;b=b|0;var c=0,d=0;d=f[a>>2]|0;b=f[b>>2]|0;c=f[d+16>>2]|0;a=f[b+16>>2]|0;b=Hz(f[d+12>>2]|0,f[b+12>>2]|0,(c|0)<(a|0)?c:a)|0;return ((b|0)==0?c-a|0:b)|0}function At(a,c,d,e,g,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=t;t=t+16|0;F=G+4|0;D=G;l=b[e>>0]|0;k=l&255;if(k&128){A=b[e+1>>0]|0;k=A<<7|l&127;if(A&128){A=b[e+2>>0]|0;k=A<<14|k&16383;if(A&128){A=b[e+3>>0]|0;k=A<<21|k&2097151;if(!(A&128))A=k;else A=(b[e+4>>0]&7)<<28|k&268435455}else A=k}else A=k}else A=k;z=e+g|0;if(l<<24>>24<=-1)if((b[e+1>>0]|0)<=-1)if((b[e+2>>0]|0)<=-1)if((b[e+3>>0]|0)>-1)k=4;else{k=28;g=e+4|0;do{y=g;g=g+1|0;k=k+7|0}while(k>>>0<64&(b[y>>0]|0)<0);k=g-e|0}else k=3;else k=2;else k=1;n=e+k|0;g=b[n>>0]|0;k=g&255;do if(!(k&128)){m=1;l=g&255;g=0}else{y=h[n+1>>0]|0;k=y<<7|k&127;if(!(y&128)){m=2;l=k;g=0;break}y=h[n+2>>0]|0;k=y<<14|k&16383;if(!(y&128)){m=3;l=k;g=0;break}y=h[n+3>>0]|0;l=y<<21|k&2097151;if(!(y&128)){m=4;g=0;break}k=28;m=n+4|0;l=l&268435455;g=0;do{y=m;m=m+1|0;y=h[y>>0]|0;x=WA(y&127|0,0,k|0)|0;l=KA(x|0,ba()|0,l|0,g|0)|0;g=ba()|0;k=k+7|0}while(k>>>0<64&((y&128|0)!=0|0!=0));m=m-n|0}while(0);o=n+m|0;if(o>>>0>z>>>0){F=267;t=G;return F|0}a:do if(o>>>0>>0){x=e;y=z;n=i;m=j;e=1;k=0;r=0;u=0;while(1){v=(n|0)!=0;w=(m|0)!=0;if(!(v|w)){g=0;break a}if(!e){p=b[o>>0]|0;e=p&255;if(e&128){s=b[o+1>>0]|0;e=s<<7|p&127;if(s&128){s=b[o+2>>0]|0;e=s<<14|e&16383;if(s&128){s=b[o+3>>0]|0;e=s<<21|e&2097151;if(!(s&128))p=4;else{e=(b[o+4>>0]&7)<<28|e&268435455;p=5}}else p=3}else p=2}else p=1;o=o+p|0}else e=0;q=b[o>>0]|0;p=q&255;if(p&128){s=b[o+1>>0]|0;p=s<<7|q&127;if(s&128){s=b[o+2>>0]|0;p=s<<14|p&16383;if(s&128){s=b[o+3>>0]|0;p=s<<21|p&2097151;if(!(s&128))q=4;else{p=(b[o+4>>0]&7)<<28|p&268435455;q=5}}else q=3}else q=2}else q=1;s=o+q|0;q=s;if((e|0)>(q-x|0)|(p|0)>(y-q|0)){g=267;break a}o=KA(p|0,((p|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;q=ba()|0;if((q|0)>(r|0)|(q|0)==(r|0)&o>>>0>u>>>0){q=WA(o|0,q|0,1)|0;r=ba()|0;if(Mc()|0){g=7;break a}o=Nc(k,q,r)|0;if(!o){g=7;break a}else k=o}else q=u;YA(k+e|0,s|0,p|0)|0;u=p+e|0;o=s+p|0;e=(u|0)>(d|0);p=Hz(c,k,e?d:u)|0;do if(v){if((p|0)>=0?(p|0)!=0|e^1:0)break;E=n;f[E>>2]=l;f[E+4>>2]=g;E=48}else E=48;while(0);if((E|0)==48){E=0;if(w&(p|0)<0){n=m;f[n>>2]=l;f[n+4>>2]=g;n=0;m=0}else n=0}l=KA(l|0,g|0,1,0)|0;g=ba()|0;if(o>>>0>=z>>>0){E=51;break}else{e=0;u=q}}}else{n=i;m=j;k=0;E=51}while(0);if((E|0)==51){if(n|0){z=n;f[z>>2]=l;f[z+4>>2]=g}if(!m)g=0;else{z=m;f[z>>2]=l;f[z+4>>2]=g;g=0}}do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{z=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);if(!((A|0)>1&(g|0)==0)){F=g;t=G;return F|0}f[F>>2]=0;f[D>>2]=0;if((i|0)!=0&(j|0)!=0?(C=i,B=f[C>>2]|0,C=f[C+4>>2]|0,A=j,!((B|0)==(f[A>>2]|0)?(C|0)==(f[A+4>>2]|0):0)):0){k=yt(a,B,C,F,D)|0;if(!k)k=At(a,c,d,f[F>>2]|0,f[D>>2]|0,i,0)|0;i=f[F>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{C=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[F>>2]=0;if(!k){k=j;i=0;E=70}}else{k=(i|0)==0?j:i;E=70}do if((E|0)==70){k=yt(a,f[k>>2]|0,f[k+4>>2]|0,F,D)|0;if(!k)k=At(a,c,d,f[F>>2]|0,f[D>>2]|0,i,j)|0;i=f[F>>2]|0;if(i)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{F=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);F=k;t=G;return F|0}function Bt(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0;Aa=t;t=t+176|0;k=Aa+96|0;sa=Aa+164|0;ta=Aa+152|0;ua=Aa+128|0;va=Aa+124|0;xa=Aa+120|0;ya=Aa+116|0;za=Aa+112|0;na=Aa+108|0;oa=Aa+104|0;pa=Aa+100|0;qa=Aa;if((c|0)>6){f[a+20>>2]=1;$e(f[a>>2]|0,64799,-1,1,-1)|0;t=Aa;return}g=f[e>>2]|0;if((((d[g+8>>1]&-15361)<<16>>16==-32255?(b[g+11>>0]|0)==112:0)?(tz(f[g>>2]|0,64490)|0)==0:0)?(ra=f[g+16>>2]|0,ra|0):0){a:do switch(c|0){case 6:{c=f[e+20>>2]|0;g=j[c+8>>1]|0;if(g&4|0){h=f[c>>2]|0;ga=18;break a}if(g&8|0){h=Fc(+p[c>>3])|0;ba()|0;ga=18;break a}if(!(g&18)){h=0;ga=18}else{h=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0;ga=18}break}case 5:{h=15;ga=18;break}case 4:{i=-1;h=15;ga=24;break}case 3:{k=64847;i=-1;h=15;ga=30;break}case 2:{m=64858;l=64847;i=-1;h=15;ga=36;break}default:{ka=64863;la=64858;ma=64847;ea=-1;fa=15;ga=42}}while(0);do if((ga|0)==18){c=f[e+16>>2]|0;g=j[c+8>>1]|0;if(g&4|0){i=f[c>>2]|0;ga=24;break}if(g&8|0){i=Fc(+p[c>>3])|0;ba()|0;ga=24;break}if(!(g&18)){i=0;ga=24}else{i=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0;ga=24}}while(0);do if((ga|0)==24){c=f[e+12>>2]|0;if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){k=f[c+16>>2]|0;ga=30;break}if(!(g&1)){k=Ic(c,1)|0;ga=30}else{k=0;ga=30}}else{k=0;ga=30}}while(0);do if((ga|0)==30){c=f[e+8>>2]|0;if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){m=f[c+16>>2]|0;l=k;ga=36;break}if(!(g&1)){m=Ic(c,1)|0;l=k;ga=36}else{m=0;l=k;ga=36}}else{m=0;l=k;ga=36}}while(0);do if((ga|0)==36?(n=f[e+4>>2]|0,n|0):0){c=d[n+8>>1]|0;if((c&514)==514?(b[n+10>>0]|0)==1:0){ka=f[n+16>>2]|0;la=m;ma=l;ea=i;fa=h;ga=42;break}if(!(c&1)){ka=Ic(n,1)|0;la=m;ma=l;ea=i;fa=h;ga=42}}while(0);if((ga|0)==42?(ka|0)!=0&((la|0)!=0&(ma|0)!=0):0){if(!fa){if(($e(f[a>>2]|0,72788,-1,1,0)|0)!=18){t=Aa;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=Aa;return}if(Qt(a,ra)|0){t=Aa;return}ja=f[ra>>2]|0;U=ra+16|0;b:do if(!(f[U>>2]|0)){if(($e(f[a>>2]|0,72788,0,1,0)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}}else{V=(fa|0)>-1;W=ja+24|0;X=(ea|0)<0;Y=ta+4|0;Z=ua+16|0;_=ua+4|0;$=ua+8|0;aa=ua+12|0;ca=ua+20|0;da=0-fa|0;c=0;ia=1;c:while(1){if(V)ha=(ia+-1+fa|0)/(ia|0)|0;else ha=da;T=0;h=0;S=0;g=0;i=0;d:while(1){R=qa+(T*24|0)|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;f[R+16>>2]=0;f[R+20>>2]=0;e:do if((f[W>>2]|0)>0){P=qa+(T*24|0)+4|0;k=qa+(T*24|0)+8|0;Q=qa+(T*24|0)+16|0;O=0;N=-1;u=g;f:while(1){g:do if(X|(O|0)==(ea|0)){f[ua>>2]=0;f[ua+4>>2]=0;f[ua+8>>2]=0;f[ua+12>>2]=0;f[ua+16>>2]=0;f[ua+20>>2]=0;c=Y;f[c>>2]=0;f[c+4>>2]=0;f[ta>>2]=ra;c=f[U>>2]|0;f[sa>>2]=0;c=Gt(c,sa,98,ta)|0;e=f[Y>>2]|0;do if(!c){c=e*24|0;g=Fd(c)|0;f[Z>>2]=g;if(!g){c=7;break}_A(g|0,0,c|0)|0;f[ua>>2]=ra;f[_>>2]=O;f[$>>2]=ha;f[aa>>2]=e;f[ca>>2]=-1;c=f[U>>2]|0;f[sa>>2]=0;c=Gt(c,sa,99,ua)|0;M=(c|0)==0;h:do if(M){if((e|0)>0){m=f[Z>>2]|0;l=0;g=u;do{K=(f[m+(l*24|0)+12>>2]|0)==0;J=WA(1,0,l|0)|0;L=ba()|0;g=(K?0:J)|g;i=(K?0:L)|i;l=l+1|0}while((l|0)!=(e|0))}else g=u;l=-1;H=0;m=f[ca>>2]|0;I=0;J=0;K=0;L=0;while(1){i:do if((m|0)<0){f[ca>>2]=0;m=f[aa>>2]|0;if((m|0)<=0){q=0;r=0;o=0;n=0;e=0;m=0;break}u=0;while(1){s=f[Z>>2]|0;r=s+(u*24|0)+12|0;s=s+(u*24|0)+8|0;q=f[$>>2]|0;n=f[r>>2]|0;if(n){e=f[s>>2]|0;m=n;j:do if((e|0)<(q|0)){m=n;do{o=b[m>>0]|0;if((o&255)<2){e=-1;m=0;break j}n=o&255;do if(!(n&128))o=1;else{ga=b[m+1>>0]|0;n=ga<<7|o&127;if(!(ga&128)){o=2;break}ga=b[m+2>>0]|0;n=ga<<14|n&16383;if(!(ga&128)){o=3;break}ga=b[m+3>>0]|0;n=ga<<21|n&2097151;if(!(ga&128)){o=4;break}n=(b[m+4>>0]&7)<<28|n&268435455;o=5}while(0);m=m+o|0;e=e+-2+n|0}while((e|0)<(q|0))}while(0);f[s>>2]=e;f[r>>2]=m;m=f[aa>>2]|0}u=u+1|0;if((u|0)>=(m|0)){ga=122;break}}}else{n=f[aa>>2]|0;if((n|0)<=0){s=O;r=H;q=I;o=J;n=K;e=L;m=g;break h}o=f[Z>>2]|0;m=2147483647;e=0;while(1){if(!(f[o+(e*24|0)+12>>2]|0))w=m;else{w=f[o+(e*24|0)+8>>2]|0;w=(w|0)<(m|0)?w:m}e=e+1|0;if((e|0)==(n|0))break;else m=w}if((w|0)==2147483647){s=O;r=H;q=I;o=J;n=K;e=L;m=g;break h}v=w-(f[$>>2]|0)|0;f[ca>>2]=v+1;e=0;while(1){s=o+(e*24|0)+12|0;u=o+(e*24|0)+8|0;m=f[s>>2]|0;if(m|0){n=f[u>>2]|0;k:do if((n|0)<=(w|0))do{r=b[m>>0]|0;if((r&255)<2){n=-1;m=0;break k}q=r&255;do if(!(q&128))r=1;else{ga=b[m+1>>0]|0;q=ga<<7|r&127;if(!(ga&128)){r=2;break}ga=b[m+2>>0]|0;q=ga<<14|q&16383;if(!(ga&128)){r=3;break}ga=b[m+3>>0]|0;q=ga<<21|q&2097151;if(!(ga&128)){r=4;break}q=(b[m+4>>0]&7)<<28|q&268435455;r=5}while(0);m=m+r|0;n=n+-2+q|0}while((n|0)<=(w|0));while(0);f[u>>2]=n;f[s>>2]=m}s=o+(e*24|0)+20|0;r=o+(e*24|0)+16|0;m=f[s>>2]|0;if(m|0){n=f[r>>2]|0;l:do if((n|0)<=(v|0))do{q=b[m>>0]|0;if((q&255)<2){n=-1;m=0;break l}o=q&255;do if(!(o&128))q=1;else{ga=b[m+1>>0]|0;o=ga<<7|q&127;if(!(ga&128)){q=2;break}ga=b[m+2>>0]|0;o=ga<<14|o&16383;if(!(ga&128)){q=3;break}ga=b[m+3>>0]|0;o=ga<<21|o&2097151;if(!(ga&128)){q=4;break}o=(b[m+4>>0]&7)<<28|o&268435455;q=5}while(0);m=m+q|0;n=n+-2+o|0}while((n|0)<=(v|0));while(0);f[r>>2]=n;f[s>>2]=m}e=e+1|0;m=f[aa>>2]|0;if((e|0)>=(m|0)){ga=122;break i}o=f[Z>>2]|0}}while(0);do if((ga|0)==122){ga=0;G=f[ca>>2]|0;if((m|0)<=0){q=0;r=0;o=0;n=0;e=0;m=G;break}E=f[Z>>2]|0;F=(f[$>>2]|0)+G|0;q=0;D=0;r=0;o=0;n=0;e=0;while(1){u=f[E+(D*24|0)+20>>2]|0;m:do if(u){s=f[E+(D*24|0)+16>>2]|0;if((s|0)>=(F|0))break;B=WA(1,0,D|0)|0;C=ba()|0;A=f[E+(D*24|0)>>2]|0;if((A|0)<=0){w=u;while(1){q=(((r|h)&B|0)==0&((o|S)&C|0)==0?1e3:1)+q|0;r=r|B;o=o|C;v=b[w>>0]|0;if((v&255)<2)break m;u=v&255;do if(!(u&128))v=1;else{A=b[w+1>>0]|0;u=A<<7|v&127;if(!(A&128)){v=2;break}A=b[w+2>>0]|0;u=A<<14|u&16383;if(!(A&128)){v=3;break}A=b[w+3>>0]|0;u=A<<21|u&2097151;if(!(A&128)){v=4;break}u=(b[w+4>>0]&7)<<28|u&268435455;v=5}while(0);s=s+-2+u|0;if((s|0)>=(F|0))break m;else w=w+v|0}}z=u;while(1){v=WA(1,0,s-G|0)|0;w=ba()|0;x=(r|h)&B;y=(o|S)&C;u=0;do{Ba=VA(v|0,w|0,u|0)|0;n=Ba|n;e=ba()|0|e;u=u+1|0}while((u|0)!=(A|0));q=((x|0)==0&(y|0)==0?1e3:1)+q|0;r=r|B;o=o|C;v=b[z>>0]|0;if((v&255)<2)break m;u=v&255;do if(!(u&128))v=1;else{Ba=b[z+1>>0]|0;u=Ba<<7|v&127;if(!(Ba&128)){v=2;break}Ba=b[z+2>>0]|0;u=Ba<<14|u&16383;if(!(Ba&128)){v=3;break}Ba=b[z+3>>0]|0;u=Ba<<21|u&2097151;if(!(Ba&128)){v=4;break}u=(b[z+4>>0]&7)<<28|u&268435455;v=5}while(0);s=s+-2+u|0;if((s|0)>=(F|0))break;else z=z+v|0}}while(0);D=D+1|0;if((D|0)==(m|0)){m=G;break}}}while(0);Ba=(q|0)>(l|0);l=Ba?q:l;H=Ba?m:H;I=Ba?r:I;J=Ba?o:J;K=Ba?n:K;L=Ba?e:L}}else{l=0;s=0;r=0;q=0;o=0;n=0;e=0;m=u}while(0);g=f[Z>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{Ba=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Ba;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);if(!M){g=11;l=N;break g}if((l|0)<=(N|0)){g=0;l=N;c=0;break g}f[R>>2]=s;f[P>>2]=r;g=k;f[g>>2]=q;f[g+4>>2]=o;g=Q;f[g>>2]=n;f[g+4>>2]=e;g=0;c=0;break g}while(0);g=11;l=N;m=u}else{g=10;l=N;m=u}while(0);switch(g&15){case 10:case 0:break;default:break f}O=O+1|0;if((O|0)>=(f[W>>2]|0)){g=m;ga=157;break e}else{N=l;u=m}}if(!g){k=m;g=S}else break d}else{k=qa+(T*24|0)+8|0;ga=157}while(0);if((ga|0)==157){ga=0;Ba=k;k=g;h=f[Ba>>2]|h;g=f[Ba+4>>2]|S}T=T+1|0;if(T>>>0>=ia>>>0){ga=160;break}else{S=g;g=k}}if((ga|0)==160){ga=0;g=(ia|0)==4|(k|0)==(h|0)&(i|0)==(g|0)?2:0}switch(g|0){case 2:{ga=163;break c}case 11:{k=0;break c}case 0:break;default:break b}ia=ia+1|0}n:do if((ga|0)==163)if(!c){F=ia+-1|0;G=ra+12|0;H=ra+20|0;I=ha+-1|0;E=0;k=0;h=0;r=0;while(1){B=(E|0)==(F|0);e=f[qa+(E*24|0)>>2]|0;n=f[qa+(E*24|0)+4>>2]|0;q=qa+(E*24|0)+16|0;o=f[q>>2]|0;q=f[q+4>>2]|0;m=f[ra>>2]|0;f[ya>>2]=0;e=e+1|0;l=f[G>>2]|0;i=(l|0)==0;do if(i)c=37592;else{c=f[l+104>>2]|0;if(c|0?e>>>0<(j[l+140>>1]|0)>>>0:0){c=c+(e*40|0)|0;break}c=f[l>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}while(0);g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0)A=f[c+16>>2]|0;else if(!(g&1))A=Ic(c,1)|0;else A=0;if(!i){g=f[l>>2]|0;i=l+40|0;c=f[i>>2]|0;if((c|0)==3082|(b[g+81>>0]|0)!=0){Di(g);c=7}else c=f[g+68>>2]&c;f[i>>2]=c}l=f[G>>2]|0;if(!A){if(!l)c=1;else{c=f[l+104>>2]|0;do if(!c)ga=185;else{if(e>>>0>=(j[l+140>>1]|0)>>>0){ga=185;break}c=c+(e*40|0)|0;g=l}while(0);if((ga|0)==185){ga=0;c=f[l>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592;g=l}c=d[c+8>>1]&31;i=f[g>>2]|0;l=l+40|0;g=f[l>>2]|0;if((g|0)==3082|(b[i+81>>0]|0)!=0){Di(i);g=7}else g=f[i+68>>2]&g;f[l>>2]=g}c=(-1431655766>>>c&1|0)==0?7:0;g=r}else{z=Gp(l,e)|0;y=m+36|0;g=f[y>>2]|0;D=f[g>>2]|0;i=f[H>>2]|0;f[sa>>2]=0;c=lb[f[D+12>>2]&127](g,A,z,sa)|0;if(c|0)break;f[f[sa>>2]>>2]=g;if((f[D>>2]|0)>0?(wa=jb[f[D+24>>2]&255](f[sa>>2]|0,i)|0,wa|0):0){ga=194;break}C=f[sa>>2]|0;w=D+20|0;x=(E|0)!=0;s=n;v=0;m=0;g=r;r=o;o:while(1){f[na>>2]=-1;f[oa>>2]=0;f[pa>>2]=0;c=nb[f[w>>2]&127](C,za,na,oa,pa,ya)|0;switch(c|0){case 101:{ga=198;break o}case 0:break;default:{ga=266;break o}}c=f[ya>>2]|0;p:do if((c|0)<(s|0)){n=v;e=s;c=0;l=r;i=q}else{if(!m){m=f[oa>>2]|0;l=z-m|0;e=f[H>>2]|0;m=A+m|0;q:do if((r|0)==0&(q|0)==0){e=s;o=0;q=0}else{c=0;while(1){Ba=WA(1,0,c|0)|0;if((Ba&r|0)==0&((ba()|0)&q|0)==0)c=c+1|0;else break}i=0;while(1){Ba=WA(1,0,I-i|0)|0;if((Ba&r|0)==0&((ba()|0)&q|0)==0)i=i+1|0;else break}Ba=c-i|0;n=(Ba|0)/2|0;if((Ba|0)<=1){e=s;o=r;break}f[ta>>2]=0;i=f[y>>2]|0;o=f[i>>2]|0;f[sa>>2]=0;c=lb[f[o+12>>2]&127](i,m,l,sa)|0;r:do if(!c){f[f[sa>>2]>>2]=i;do if((f[o>>2]|0)>0){c=jb[f[o+24>>2]&255](f[sa>>2]|0,e)|0;if(!c)break;ib[f[o+16>>2]&255](f[sa>>2]|0)|0;f[sa>>2]=0;ga=214;break r}while(0);m=f[sa>>2]|0;i=n+ha|0;l=o+20|0;while(1){if((f[ta>>2]|0)>=(i|0)){ga=217;break}f[ua>>2]=0;f[va>>2]=0;f[xa>>2]=0;c=nb[f[l>>2]&127](m,sa,ua,va,xa,ta)|0;if(c|0){ga=219;break}}if((ga|0)==217){ga=0;ib[f[o+16>>2]&255](m)|0;c=0}else if((ga|0)==219){ga=0;ib[f[o+16>>2]&255](m)|0;if((c|0)==101)c=1;else break}e=c-ha+(f[ta>>2]|0)|0;Ba=(e|0)>0;o=VA(r|0,q|0,(Ba?e:0)|0)|0;q=ba()|0;e=(Ba?e:0)+s|0;break q}else ga=214;while(0);if((ga|0)==214)ga=0;n=v;m=1;e=s;l=r;i=q;break p}while(0);do if(x|(e|0)>0){l=wz(ma)|0;if((h+1+l|0)>=(g|0)){i=g+100+l|0;if(Mc()|0){n=v;m=1;c=7;l=o;i=q;break p}c=Nc(k,(i|0)>0?i:0,0)|0;if(!c){n=v;m=1;c=7;l=o;i=q;break p}else{k=c;g=i}}YA(k+h|0,ma|0,l|0)|0;h=l+h|0;c=k+h|0;ga=234}else{c=f[oa>>2]|0;if(!c)break;if((c|0)<0)c=wz(A)|0;if((h+1+c|0)>=(g|0)){l=g+100+c|0;if(Mc()|0){n=v;m=1;c=7;l=o;i=q;break p}i=Nc(k,(l|0)>0?l:0,0)|0;if(!i){n=v;m=1;c=7;l=o;i=q;break p}else{k=i;g=l}}YA(k+h|0,A|0,c|0)|0;h=c+h|0;c=k+h|0;ga=234}while(0);if((ga|0)==234){ga=0;b[c>>0]=0}c=f[ya>>2]|0;if((c|0)<(e|0)){n=v;m=1;c=0;l=o;i=q;break}else{u=1;s=e}}else{u=m;o=r}if((c|0)>=(s+ha|0)){ga=237;break o}n=WA(1,0,c-s|0)|0;n=(n&o|0)!=0|((ba()|0)&q|0)!=0;do if((c|0)>(s|0)){m=A+v|0;c=(f[oa>>2]|0)-v|0;if((c|0)<0)c=wz(m)|0;if((h+1+c|0)>=(g|0)){l=g+100+c|0;if(Mc()|0){c=7;break}i=Nc(k,(l|0)>0?l:0,0)|0;if(!i){c=7;break}else{k=i;g=l}}YA(k+h|0,m|0,c|0)|0;h=c+h|0;b[k+h>>0]=0;ga=249}else ga=249;while(0);do if((ga|0)==249){ga=0;if(n){l=wz(ka)|0;m=l+h|0;if((m+1|0)>=(g|0)){i=g+100+l|0;if(Mc()|0){c=7;break}c=Nc(k,(i|0)>0?i:0,0)|0;if(!c){c=7;break}else{k=c;g=i}}YA(k+h|0,ka|0,l|0)|0;b[k+m>>0]=0;h=m}c=f[oa>>2]|0;m=A+c|0;c=(f[pa>>2]|0)-c|0;if((c|0)<0)c=wz(m)|0;e=c+h|0;if((e+1|0)>=(g|0)){l=g+100+c|0;if(Mc()|0){c=7;break}i=Nc(k,(l|0)>0?l:0,0)|0;if(!i){c=7;break}else{k=i;g=l}}YA(k+h|0,m|0,c|0)|0;c=k+e|0;b[c>>0]=0;if(!n){c=0;h=e;break}m=wz(la)|0;h=m+e|0;if((h+1|0)>=(g|0)){l=g+100+m|0;if(Mc()|0){c=7;h=e;break}i=Nc(k,(l|0)>0?l:0,0)|0;if(!i){c=7;h=e;break}c=i+e|0;k=i;g=l}YA(c|0,la|0,m|0)|0;b[k+h>>0]=0;c=0}while(0);n=f[pa>>2]|0;m=u;e=s;l=o;i=q}while(0);if(!c){s=e;v=n;r=l;q=i}else break}do if((ga|0)==198){l=A+v|0;m=wz(l)|0;if((h+1+m|0)>=(g|0)){i=g+100+m|0;if(Mc()|0){c=7;ga=266;break}c=Nc(k,(i|0)>0?i:0,0)|0;if(!c){c=7;ga=266;break}else{k=c;g=i}}YA(k+h|0,l|0,m|0)|0;h=m+h|0;b[k+h>>0]=0;c=0;ga=266}else if((ga|0)==237){if(!B){c=0;ga=266;break}l=wz(ma)|0;if((h+1+l|0)>=(g|0)){i=g+100+l|0;if(Mc()|0){c=7;ga=266;break}c=Nc(k,(i|0)>0?i:0,0)|0;if(!c){c=7;ga=266;break}else{k=c;g=i}}YA(k+h|0,ma|0,l|0)|0;h=l+h|0;b[k+h>>0]=0;c=0;ga=266}while(0);if((ga|0)==266)ga=0;ib[f[D+16>>2]&255](C)|0}E=E+1|0;if(!(E>>>0>>0&(c|0)==0))break n;else r=g}if((ga|0)==194){ib[f[D+16>>2]&255](f[sa>>2]|0)|0;f[sa>>2]=0;c=wa}}else k=0;while(0);g=ja+248|0;h=f[g>>2]|0;do if(h|0){i=f[h+20>>2]|0;Fi(f[h+16>>2]|0)|0;if(i|0){if(f[i+480>>2]|0){Kc(i,h);break}Ba=h;if((f[i+304>>2]|0)>>>0<=Ba>>>0?(f[i+308>>2]|0)>>>0>Ba>>>0:0){Ba=i+300|0;f[h>>2]=f[Ba>>2];f[Ba>>2]=h;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{Ba=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-Ba;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}}while(0);f[g>>2]=0;if(!c){if(($e(f[a>>2]|0,k,-1,1,101)|0)!=18)break;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;break}f[a+20>>2]=c;g=f[a>>2]|0;if(d[g+8>>1]&1){switch(c|0){case 516:{c=44816;break}case 100:{c=44794;break}case 101:{c=44771;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7984+(c<<2)>>2]|0;else c=44757}}$e(g,c,-1,1,0)|0}if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{Ba=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-Ba;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);t=Aa;return}c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if(b[g>>0]|0){t=Aa;return}if(b[c+82>>0]|0){t=Aa;return}b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;Ba=c+272|0;f[Ba>>2]=(f[Ba>>2]|0)+1;t=Aa;return}f[k>>2]=60035;c=wd(64501,k)|0;f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=Aa;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);t=Aa;return}else{Ba=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-Ba;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);t=Aa;return}}function Ct(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;Q=t;t=t+160|0;L=Q+104|0;g=Q+96|0;E=Q;F=Q+136|0;N=Q+64|0;G=Q+132|0;I=Q+128|0;J=Q+124|0;K=Q+120|0;c=f[e>>2]|0;if((((d[c+8>>1]&-15361)<<16>>16==-32255?(b[c+11>>0]|0)==112:0)?(tz(f[c>>2]|0,64490)|0)==0:0)?(h=f[c+16>>2]|0,h|0):0){if(Qt(a,h)|0){t=Q;return}O=f[h>>2]|0;C=O+36|0;e=f[f[C>>2]>>2]|0;D=h+16|0;c=f[D>>2]|0;do if(!c){if(($e(f[a>>2]|0,72788,0,1,0)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}}else{f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;f[N+24>>2]=0;f[N+28>>2]=0;i=F+4|0;f[i>>2]=0;f[i+4>>2]=0;f[F>>2]=h;f[E>>2]=0;i=Gt(c,E,98,F)|0;B=f[F+8>>2]|0;a:do if(!i){A=Fd(B*12|0)|0;H=N+24|0;f[H>>2]=A;if(A){z=h+32|0;A=f[z+4>>2]|0;x=N+16|0;f[x>>2]=f[z>>2];f[x+4>>2]=A;f[N>>2]=h;x=O+24|0;if((f[x>>2]|0)>0){y=N+4|0;z=N+8|0;A=h+12|0;s=h+20|0;u=e+20|0;v=(B|0)>0;w=O+40|0;r=e+16|0;q=0;e=0;h=0;m=0;b:while(1){f[G>>2]=0;f[I>>2]=0;f[J>>2]=0;f[K>>2]=0;f[y>>2]=q;f[z>>2]=0;k=f[D>>2]|0;f[E>>2]=0;Gt(k,E,100,N)|0;k=f[A>>2]|0;p=q;q=q+1|0;i=(k|0)==0;do if(i)c=37592;else{c=f[k+104>>2]|0;if(c|0?q>>>0<(j[k+140>>1]|0)>>>0:0){c=c+(q*40|0)|0;break}c=f[k>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}while(0);g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0)l=f[c+16>>2]|0;else if(!(g&1))l=Ic(c,1)|0;else l=0;if(!i){g=f[k>>2]|0;i=k+40|0;c=f[i>>2]|0;if((c|0)==3082|(b[g+81>>0]|0)!=0){Di(g);c=7}else c=f[g+68>>2]&c;f[i>>2]=c}c=Gp(f[A>>2]|0,q)|0;if(!l){k=f[A>>2]|0;if(!k)c=1;else{c=f[k+104>>2]|0;do if(!c)P=38;else{if(q>>>0>=(j[k+140>>1]|0)>>>0){P=38;break}c=c+(q*40|0)|0;g=k}while(0);if((P|0)==38){P=0;c=f[k>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592;g=k}c=d[c+8>>1]&31;i=f[g>>2]|0;k=k+40|0;g=f[k>>2]|0;if((g|0)==3082|(b[i+81>>0]|0)!=0){Di(i);g=7}else g=f[i+68>>2]&g;f[k>>2]=g}if(!(-1431655766>>>c&1)){i=7;c=H;P=82;break a}else c=m}else{g=f[C>>2]|0;i=f[s>>2]|0;k=f[g>>2]|0;f[E>>2]=0;c=lb[f[k+12>>2]&127](g,l,c,E)|0;if(c|0){P=47;break}f[f[E>>2]>>2]=g;if((f[k>>2]|0)>0?(M=jb[f[k+24>>2]&255](f[E>>2]|0,i)|0,M|0):0){P=46;break}o=f[E>>2]|0;c=nb[f[u>>2]&127](o,F,G,I,J,K)|0;g=m;c:while(1){d:while(1){switch(c|0){case 101:break c;case 0:break;default:{P=78;break b}}do if(v){m=f[H>>2]|0;i=0;k=2147483647;l=0;while(1){c=m+(l*12|0)|0;if(!(f[c>>2]|0))n=i;else{R=(f[m+(l*12|0)+4>>2]|0)-(f[m+(l*12|0)+8>>2]|0)|0;S=(R|0)<(k|0);n=S?c:i;k=S?R:k}l=l+1|0;if((l|0)==(B|0))break;else i=n}if(!n){c=101;break}l=f[n>>2]|0;i=b[l>>0]|0;if((i&255)<2)f[n>>2]=0;else{m=n+4|0;c=i&255;do if(!(c&128))i=1;else{S=b[l+1>>0]|0;c=S<<7|i&127;if(!(S&128)){i=2;break}S=b[l+2>>0]|0;c=S<<14|c&16383;if(!(S&128)){i=3;break}S=b[l+3>>0]|0;c=S<<21|c&2097151;if(!(S&128)){i=4;break}c=(b[l+4>>0]&7)<<28|c&268435455;i=5}while(0);f[n>>2]=l+i;f[m>>2]=c+-2+(f[m>>2]|0)}if((f[K>>2]|0)>=(k|0))break d;do{c=nb[f[u>>2]&127](o,F,G,I,J,K)|0;i=(c|0)==0}while(i&(f[K>>2]|0)<(k|0));if(i)break d;if((c|0)!=101)break;c=(f[w>>2]|0)==0?267:101}else c=101;while(0)}S=(n-(f[H>>2]|0)|0)/12|0;l=f[I>>2]|0;k=(f[J>>2]|0)-l|0;f[L>>2]=p;f[L+4>>2]=S;f[L+8>>2]=l;f[L+12>>2]=k;vd(64,E,64786,L)|0;k=wz(E)|0;l=k+h|0;do if((l+1|0)>=(g|0)){i=g+100+k|0;if(Mc()|0){c=7;break}c=Nc(e,(i|0)>0?i:0,0)|0;if(!c)c=7;else{e=c;g=i;P=72}}else P=72;while(0);if((P|0)==72){P=0;YA(e+h|0,E|0,k|0)|0;b[e+l>>0]=0;c=0;h=l}}ib[f[r>>2]&255](o)|0;c=g}if((q|0)>=(f[x>>2]|0)){i=0;c=H;P=82;break a}else m=c}if((P|0)==46){ib[f[k+16>>2]&255](f[E>>2]|0)|0;f[E>>2]=0;c=M;P=47}else if((P|0)==78)ib[f[r>>2]&255](o)|0;i=c;c=H;P=82}else{i=0;c=H;e=0;h=0;P=82}}else{i=7;k=0;h=0}}else{c=N+24|0;e=0;h=0;P=82}while(0);do if((P|0)==82){c=f[c>>2]|0;if(c)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);k=e;break}else{k=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);k=e;break}else k=e}while(0);c=O+248|0;e=f[c>>2]|0;do if(e|0){g=f[e+20>>2]|0;Fi(f[e+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Kc(g,e);break}S=e;if((f[g+304>>2]|0)>>>0<=S>>>0?(f[g+308>>2]|0)>>>0>S>>>0:0){S=g+300|0;f[e>>2]=f[S>>2];f[S>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{S=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[c>>2]=0;if(!i){if(($e(f[a>>2]|0,k,h+-1|0,1,101)|0)!=18)break;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;break}f[a+20>>2]=i;e=f[a>>2]|0;if(d[e+8>>1]&1){switch(i|0){case 516:{c=44816;break}case 100:{c=44794;break}case 101:{c=44771;break}default:{c=i&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7984+(c<<2)>>2]|0;else c=44757}}$e(e,c,-1,1,0)|0}if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{S=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);t=Q;return}f[g>>2]=60043;c=wd(64501,g)|0;f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=Q;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);t=Q;return}else{S=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);t=Q;return}}function Dt(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0;i=t;t=t+16|0;g=i;c=f[e>>2]|0;if((((d[c+8>>1]&-15361)<<16>>16==-32255?(b[c+11>>0]|0)==112:0)?(tz(f[c>>2]|0,64490)|0)==0:0)?(h=f[c+16>>2]|0,h|0):0){g=f[h>>2]|0;e=g+12|0;c=uj(f[e>>2]|0,64642,0,0,0)|0;a:do if(!c){c=eu(g,1)|0;switch(c|0){case 0:case 101:{h=uj(f[e>>2]|0,64657,0,0,0)|0;c=(h|0)==0?c:h;break a}default:{uj(f[e>>2]|0,64670,0,0,0)|0;uj(f[e>>2]|0,64657,0,0,0)|0;break a}}}while(0);e=g+248|0;g=f[e>>2]|0;do if(g|0){h=f[g+20>>2]|0;Fi(f[g+16>>2]|0)|0;if(h|0){if(f[h+480>>2]|0){Kc(h,g);break}j=g;if((f[h+304>>2]|0)>>>0<=j>>>0?(f[h+308>>2]|0)>>>0>j>>>0:0){j=h+300|0;f[g>>2]=f[j>>2];f[j>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{j=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[e>>2]=0;switch(c|0){case 0:{if(($e(f[a>>2]|0,64687,-1,1,0)|0)!=18){t=i;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=i;return}case 101:{if(($e(f[a>>2]|0,64703,-1,1,0)|0)!=18){t=i;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=i;return}default:{f[a+20>>2]=(c|0)==0?-1:c;e=f[a>>2]|0;if(!(d[e+8>>1]&1)){t=i;return}switch(c|0){case 516:{c=44816;break}case 100:{c=44794;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7984+(c<<2)>>2]|0;else c=44757}}$e(e,c,-1,1,0)|0;t=i;return}}}f[g>>2]=48511;c=wd(64501,g)|0;f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=i;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);t=i;return}else{j=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);t=i;return}}function Et(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;$=t;t=t+80|0;X=$+48|0;o=$+40|0;i=$+32|0;Y=$+76|0;T=$+64|0;V=$+60|0;Z=$+56|0;W=$;g=f[e>>2]|0;if((((d[g+8>>1]&-15361)<<16>>16==-32255?(b[g+11>>0]|0)==112:0)?(tz(f[g>>2]|0,64490)|0)==0:0)?(S=f[g+16>>2]|0,S|0):0){do if((c|0)>1?(j=f[e+4>>2]|0,(j|0)!=0):0){c=d[j+8>>1]|0;if((c&514)==514?(b[j+10>>0]|0)==1:0){c=f[j+16>>2]|0;break}if(!(c&1))c=Ic(j,1)|0;else c=0}else c=0;while(0);_=f[S>>2]|0;N=(c|0)==0?64530:c;O=S+16|0;c=f[O>>2]|0;if(!c){g=f[a>>2]|0;c=f[g+32>>2]|0;if(!c)c=1e9;else c=f[c+108>>2]|0;e=g+8|0;if(!((d[e>>1]&9216)==0?!(f[g+24>>2]|0):0))ff(g);f[g+16>>2]=72788;f[g+36>>2]=0;f[g+12>>2]=0;d[e>>1]=2064;b[g+10>>0]=1;if((c|0)>=0){t=$;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=$;return}P=W+8|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;f[W>>2]=S;Q=W+4|0;f[Q>>2]=f[_+24>>2];R=S+92|0;e=f[R>>2]|0;if(e)if(!(tz(f[e+12>>2]|0,N)|0)){j=0;v=52}else{b[e>>0]=0;do if((b[e+1>>0]|0)==0?(b[e+2>>0]|0)==0:0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{M=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-M;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[R>>2]=0;c=f[O>>2]|0;v=32}else v=32;a:do if((v|0)==32){f[T>>2]=0;f[Y>>2]=0;Gt(c,Y,101,T)|0;e=f[T>>2]|0;f[S+24>>2]=e;f[P>>2]=e;c=b[N>>0]|0;b:do if(!(c<<24>>24))c=0;else{j=_+232|0;k=_+234|0;l=f[Q>>2]|0;m=U(l,e)|0;n=m*3|0;i=U((l+31|0)/32|0,e)|0;g=0;e=0;c:while(1){f[Y>>2]=0;switch(c<<24>>24){case 98:case 121:case 120:case 115:case 99:case 112:break;case 110:{if(!(b[j>>0]|0)){c=110;break c}break}case 97:{if(!(b[j>>0]|0)){c=97;break c}break}case 108:{if(!(b[k>>0]|0)){c=108;break c}break}default:break c}switch(c<<24>>24|0){case 99:case 112:case 110:{c=1;break}case 115:case 108:case 97:{c=l;break}case 121:{c=m;break}case 98:{c=i;break}default:c=n}e=c+e|0;g=g+1|0;c=b[N+g>>0]|0;if(!(c<<24>>24)){c=e;break b}}f[o>>2]=c<<24>>24;Ls(Y,64534,o);c=f[Y>>2]|0;f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);break a}while(0);e=(c<<3|4)+20|0;g=(wz(N)|0)+1|0;i=Fd(e+g|0)|0;if(!i){f[R>>2]=0;f[S+88>>2]=1;i=0;c=7;g=0;v=308;break}else{_A(i|0,0,e|0)|0;v=i+16|0;f[v>>2]=20;j=c+1|0;f[v+(j<<2)>>2]=(j<<2)+20;f[i+4>>2]=c;j=i+e|0;f[i+12>>2]=j;YA(j|0,N|0,g|0)|0;b[i>>0]=1;f[R>>2]=i;f[S+88>>2]=1;j=1;e=i;v=52;break}}while(0);d:do if((v|0)==52){c=e+1|0;do if(b[c>>0]|0){c=e+2|0;if(!(b[c>>0]|0)){b[c>>0]=1;M=e+16+((f[e+4>>2]|0)+2<<2)|0;i=111;break}c=e+4|0;g=Fd(f[c>>2]<<2)|0;if(!g){i=0;c=7;g=0;v=308;break d}if(!(f[e+8>>2]|0)){M=g;i=101}else{YA(g|0,e+20|0,f[c>>2]<<2|0)|0;M=g;i=101}}else{b[c>>0]=1;M=e+20|0;i=111}while(0);g=M;G=W+28|0;f[G>>2]=g;H=S+24|0;f[P>>2]=f[H>>2];f[V>>2]=0;I=f[S>>2]|0;f[Z>>2]=0;J=W+24|0;K=T+4|0;L=(j|0)==0;y=S+32|0;z=I+140|0;A=T+4|0;B=I+16|0;C=I+20|0;D=S+28|0;E=I+12|0;F=W+16|0;x=0;e=M;while(1){w=N+x|0;c=b[w>>0]|0;if(!(c<<24>>24)){c=0;break}b[J>>0]=c;e:do switch(c<<24>>24|0){case 112:{if(L)c=0;else{f[e>>2]=f[P>>2];c=0}break}case 99:{if(L)c=0;else{f[e>>2]=f[Q>>2];c=0}break}case 110:{if(L)c=0;else{c=f[Z>>2]|0;if(!c){c=It(I,Z)|0;if(!c){c=f[Z>>2]|0;if(!c){k=lf(37592)|0;v=79}else v=70}else j=0}else v=70;if((v|0)==70){e=f[c+104>>2]|0;if((e|0)!=0?(d[c+140>>1]|0)!=0:0)j=c;else{e=f[c>>2]|0;f[e+64>>2]=25;Bg(e,25);e=37592;j=c}k=lf(e)|0;e=f[j>>2]|0;j=c+40|0;c=f[j>>2]|0;if((c|0)==3082|(b[e+81>>0]|0)!=0){Di(e);c=7}else c=f[e+68>>2]&c;f[j>>2]=c;v=79}if((v|0)==79){v=0;c=b[k>>0]|0;e=c&255;do if(!(e&128)){c=c&255;e=0}else{u=h[k+1>>0]|0;c=u<<7|e&127;if(!(u&128)){e=0;break}u=h[k+2>>0]|0;c=u<<14|c&16383;if(!(u&128)){e=0;break}u=h[k+3>>0]|0;c=u<<21|c&2097151;if(!(u&128)){e=0;break}l=28;j=k+4|0;c=c&268435455;e=0;while(1){u=h[j>>0]|0;s=WA(u&127|0,0,l|0)|0;c=KA(s|0,ba()|0,c|0,e|0)|0;e=ba()|0;l=l+7|0;if(!(l>>>0<64&((u&128|0)!=0|0!=0)))break;else j=j+1|0}}while(0);j=c;c=(c|0)==0&(e|0)==0?267:0}f[V>>2]=c;f[f[G>>2]>>2]=j}break}case 97:{if(L)c=0;else{c=f[Z>>2]|0;if(!c){c=It(I,Z)|0;if(!c){c=f[Z>>2]|0;if(!c){l=lf(37592)|0;v=104}else v=95}}else v=95;if((v|0)==95){e=f[c+104>>2]|0;if((e|0)!=0?(d[c+140>>1]|0)!=0:0)j=c;else{e=f[c>>2]|0;f[e+64>>2]=25;Bg(e,25);e=37592;j=c}k=lf(e)|0;e=f[j>>2]|0;j=c+40|0;c=f[j>>2]|0;if((c|0)==3082|(b[e+81>>0]|0)!=0){Di(e);c=7}else c=f[e+68>>2]&c;f[j>>2]=c;l=k;v=104}if((v|0)==104){v=0;e=b[l>>0]|0;c=e&255;do if(!(c&128)){j=1;c=e&255;e=0}else{u=h[l+1>>0]|0;c=u<<7|c&127;if(!(u&128)){j=2;e=0;break}u=h[l+2>>0]|0;c=u<<14|c&16383;if(!(u&128)){j=3;e=0;break}u=h[l+3>>0]|0;c=u<<21|c&2097151;if(!(u&128)){j=4;e=0;break}j=28;k=l+4|0;c=c&268435455;e=0;do{u=k;k=k+1|0;u=h[u>>0]|0;s=WA(u&127|0,0,j|0)|0;c=KA(s|0,ba()|0,c|0,e|0)|0;e=ba()|0;j=j+7|0}while(j>>>0<64&((u&128|0)!=0|0!=0));j=k-l|0}while(0);if((c|0)==0&(e|0)==0)c=267;else{f[V>>2]=0;if((f[Q>>2]|0)<=0){c=0;break e}o=VA(c|0,0,1)|0;p=ba()|0;n=0;m=l+j|0;while(1){j=b[m>>0]|0;e=j&255;do if(!(e&128)){k=1;e=j&255}else{u=h[m+1>>0]|0;e=u<<7|e&127;if(!(u&128)){k=2;break}u=h[m+2>>0]|0;e=u<<14|e&16383;if(!(u&128)){k=3;break}u=h[m+3>>0]|0;e=u<<21|e&2097151;if(!(u&128)){k=4;break}k=28;l=m+4|0;e=e&268435455;j=0;do{u=l;l=l+1|0;u=h[u>>0]|0;s=WA(u&127|0,0,k|0)|0;e=KA(s|0,ba()|0,e|0,j|0)|0;j=ba()|0;k=k+7|0}while(k>>>0<64&((u&128|0)!=0|0!=0));k=l-m|0}while(0);u=KA(e|0,0,o|0,p|0)|0;u=SA(u|0,ba()|0,c|0,0)|0;ba()|0;f[(f[G>>2]|0)+(n<<2)>>2]=u;n=n+1|0;if((n|0)>=(f[Q>>2]|0)){c=0;break e}else m=m+k|0}}}f[V>>2]=c}break}case 108:{l=y;k=f[l>>2]|0;l=f[l+4>>2]|0;v=f[z>>2]|0;f[Y>>2]=v;e=v;do if(!v){j=f[C>>2]|0;f[X>>2]=f[B>>2];f[X+4>>2]=j;j=wd(64569,X)|0;if(!j){c=7;v=161;break}c=Ki(f[E>>2]|0,j,-1,129,0,Y,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](j);else{v=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j)}e=f[Y>>2]|0;f[z>>2]=e;if(!c)v=139;else v=161}else v=139;while(0);f:do if((v|0)==139){v=0;o=e;do if(!(Op(o,1)|0)){c=f[o+116>>2]|0;j=c+8|0;if(!(d[j>>1]&9216)){u=c;f[u>>2]=k;f[u+4>>2]=l;d[j>>1]=4;break}else{bf(c,k,l);break}}while(0);c=(e|0)==0;do if((Ei(o)|0)==100){if(!c){m=o+104|0;c=f[m>>2]|0;do if(!c)v=148;else{if(!(d[o+140>>1]|0)){v=148;break}j=c;c=o}while(0);if((v|0)==148){v=0;j=f[o>>2]|0;f[j+64>>2]=25;Bg(j,25);j=37592;c=o}l=d[j+8>>1]&15;j=f[c>>2]|0;n=o+40|0;k=f[n>>2]|0;if((k|0)==3082|(b[j+81>>0]|0)!=0){Di(j);j=7}else j=f[j+68>>2]&k;f[n>>2]=j;if((l|16)<<16>>16!=16){v=155;break}f[V>>2]=0;c=f[m>>2]|0;do if(!c)v=165;else{if(!(d[o+140>>1]|0)){v=165;break}j=o}while(0);if((v|0)==165){v=0;c=f[o>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592;j=o}k=lf(c)|0;c=f[j>>2]|0;j=f[n>>2]|0;if((j|0)==3082|(b[c+81>>0]|0)!=0){Di(c);c=7}else c=f[c+68>>2]&j;f[n>>2]=c;if((f[Q>>2]|0)<=0){k=o;e=o;c=0;break f}m=k;n=0;while(1){c=h[m>>0]|0;do if(!(c&128))j=1;else{v=h[m+1>>0]|0;c=v<<7|c&127;if(!(v&128)){j=2;break}v=h[m+2>>0]|0;c=v<<14|c&16383;if(!(v&128)){j=3;break}v=h[m+3>>0]|0;c=v<<21|c&2097151;if(!(v&128)){j=4;break}k=28;l=m+4|0;c=c&268435455;j=0;do{v=l;l=l+1|0;v=h[v>>0]|0;u=WA(v&127|0,0,k|0)|0;c=KA(u|0,ba()|0,c|0,j|0)|0;j=ba()|0;k=k+7|0}while(k>>>0<64&((v&128|0)!=0|0!=0));j=l-m|0}while(0);f[(f[G>>2]|0)+(n<<2)>>2]=c;n=n+1|0;if((n|0)>=(f[Q>>2]|0)){j=o;c=0;v=179;break f}else m=m+j|0}}}else if(!c){c=o;v=155}while(0);do if((v|0)==155){c=f[c>>2]|0;v=o+128|0;u=f[v+4>>2]|0;if((u|0)>0|(u|0)==0&(f[v>>2]|0)>>>0>0)Hi(c,o);e=fg(o)|0;f[o+20>>2]=770837923;f[o+36>>2]=-1;f[o+40>>2]=0;b[o+142>>0]=2;f[o+44>>2]=0;f[o+32>>2]=1;b[o+143>>0]=-1;f[o+48>>2]=0;v=o+64|0;f[v>>2]=0;f[v+4>>2]=0;if(!((e|0)==3082|(b[c+81>>0]|0)!=0)){c=f[c+68>>2]&e;if(!c)break;else{e=0;v=161;break f}}else{Di(c);c=7;e=0;v=161;break f}}while(0);c=267;e=0;v=161}while(0);if((v|0)==161){f[V>>2]=c;j=e;v=179}if((v|0)==179){v=0;if(!e)break e;k=j;e=j}e=f[e>>2]|0;u=k+128|0;s=f[u+4>>2]|0;if((s|0)>0|(s|0)==0&(f[u>>2]|0)>>>0>0)Hi(e,k);u=fg(k)|0;f[k+20>>2]=770837923;f[k+36>>2]=-1;f[k+40>>2]=0;b[k+142>>0]=2;f[k+44>>2]=0;f[k+32>>2]=1;b[k+143>>0]=-1;f[k+48>>2]=0;s=k+64|0;f[s>>2]=0;f[s+4>>2]=0;if((u|0)==3082|(b[e+81>>0]|0)!=0)Di(e);break}case 115:{c=A;f[c>>2]=0;f[c+4>>2]=0;f[T>>2]=S;c=f[O>>2]|0;f[Y>>2]=0;c=Gt(c,Y,98,T)|0;f[V>>2]=c;if(!c){u=Fd(f[H>>2]<<4)|0;g:do if(u){_A(u|0,0,f[H>>2]<<4|0)|0;c=f[O>>2]|0;f[Y>>2]=0;Gt(c,Y,102,u)|0;c=f[P>>2]|0;if((c|0)>0){e=0;j=0;do{e=e-(f[(f[(f[u+(j<<4)>>2]|0)+20>>2]|0)+64>>2]|0)|0;f[u+(j<<4)+4>>2]=e;j=j+1|0}while((j|0)!=(c|0))}h:do if((f[Q>>2]|0)>0){s=0;while(1){i:do if((c|0)>0){e=0;q=0;do{p=u+(q<<4)+8|0;c=Lt(S,f[u+(q<<4)>>2]|0,s,p)|0;if(c|0)break g;m=f[p>>2]|0;if(m){n=f[u+(q<<4)+4>>2]|0;o=u+(q<<4)+12|0;f[o>>2]=n;j=b[m>>0]|0;c=j&255;do if(!(c&128)){k=1;l=0;c=j&255}else{r=h[m+1>>0]|0;c=r<<7|c&127;if(!(r&128)){k=2;l=0;break}r=h[m+2>>0]|0;c=r<<14|c&16383;if(!(r&128)){k=3;l=0;break}r=h[m+3>>0]|0;c=r<<21|c&2097151;if(!(r&128)){k=4;l=0;break}j=28;k=m+4|0;c=c&268435455;l=0;do{r=k;k=k+1|0;r=h[r>>0]|0;aa=WA(r&127|0,0,j|0)|0;c=KA(aa|0,ba()|0,c|0,l|0)|0;l=ba()|0;j=j+7|0}while(j>>>0<64&((r&128|0)!=0|0!=0));k=k-m|0}while(0);if(l>>>0<0|(l|0)==0&c>>>0<2)c=0;else{f[o>>2]=n+-2+c;c=m+k|0}f[p>>2]=c;e=e+1|0}q=q+1|0;r=f[P>>2]|0}while((q|0)<(r|0));if((e|0)<=0){c=0;break}if((r|0)<=0){c=e;e=f[2]|0;while(1){k=b[e>>0]|0;j=k&255;do if(!(j&128)){l=1;m=0;j=k&255}else{aa=h[e+1>>0]|0;j=aa<<7|j&127;if(!(aa&128)){l=2;m=0;break}aa=h[e+2>>0]|0;j=aa<<14|j&16383;if(!(aa&128)){l=3;m=0;break}aa=h[e+3>>0]|0;j=aa<<21|j&2097151;if(!(aa&128)){l=4;m=0;break}k=28;l=e+4|0;j=j&268435455;m=0;do{aa=l;l=l+1|0;aa=h[aa>>0]|0;r=WA(aa&127|0,0,k|0)|0;j=KA(r|0,ba()|0,j|0,m|0)|0;m=ba()|0;k=k+7|0}while(k>>>0<64&((aa&128|0)!=0|0!=0));l=l-e|0}while(0);if(m>>>0<0|(m|0)==0&j>>>0<2){f[2]=0;e=0;c=c+-1|0}else{e=e+l|0;f[3]=j+-2+(f[3]|0);f[2]=e}if((c|0)<=0){c=0;break i}}}c=0;do{j=0;l=0;m=0;do{k=u+(m<<4)|0;if(!(f[u+(m<<4)+8>>2]|0))j=0;else{if(!((l|0)!=0?(f[u+(m<<4)+12>>2]|0)>=(f[l+12>>2]|0):0))l=k;if((j|0)!=0?(f[u+(m<<4)+12>>2]|0)!=(f[k+-16+12>>2]|0):0)j=1;else j=j+1|0;c=(j|0)>(c|0)?j:c}m=m+1|0}while((m|0)!=(r|0));p=l+8|0;o=f[p>>2]|0;k=b[o>>0]|0;j=k&255;do if(!(j&128)){m=1;n=0;j=k&255}else{aa=h[o+1>>0]|0;j=aa<<7|j&127;if(!(aa&128)){m=2;n=0;break}aa=h[o+2>>0]|0;j=aa<<14|j&16383;if(!(aa&128)){m=3;n=0;break}aa=h[o+3>>0]|0;j=aa<<21|j&2097151;if(!(aa&128)){m=4;n=0;break}k=28;m=o+4|0;j=j&268435455;n=0;do{aa=m;m=m+1|0;aa=h[aa>>0]|0;q=WA(aa&127|0,0,k|0)|0;j=KA(q|0,ba()|0,j|0,n|0)|0;n=ba()|0;k=k+7|0}while(k>>>0<64&((aa&128|0)!=0|0!=0));m=m-o|0}while(0);if(n>>>0<0|(n|0)==0&j>>>0<2){f[p>>2]=0;e=e+-1|0}else{aa=l+12|0;f[aa>>2]=j+-2+(f[aa>>2]|0);f[p>>2]=o+m}}while((e|0)>0)}else c=0;while(0);f[(f[G>>2]|0)+(s<<2)>>2]=c;c=s+1|0;if((c|0)>=(f[Q>>2]|0))break h;s=c;c=f[P>>2]|0}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](u);c=0;break}else{c=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);c=0;break}}else c=7;while(0);f[V>>2]=c}break}case 98:{c=U(((f[Q>>2]|0)+31|0)/32|0,f[P>>2]|0)|0;v=263;break}case 121:{c=U(f[P>>2]|0,f[Q>>2]|0)|0;v=263;break}default:{m=f[O>>2]|0;c=K;f[c>>2]=0;f[c+4>>2]=0;f[T>>2]=S;f[Y>>2]=0;c=Gt(m,Y,98,T)|0;f[V>>2]=c;if(!c){if(!L){j:do if(f[D>>2]|0){c=f[Z>>2]|0;do if(!c){c=It(I,Z)|0;if(c|0)break;c=f[Z>>2]|0;if(c|0){v=270;break}k=lf(37592)|0;v=279}else v=270;while(0);if((v|0)==270){v=0;e=f[c+104>>2]|0;do if(!e)v=273;else{if(!(d[c+140>>1]|0)){v=273;break}j=c}while(0);if((v|0)==273){e=f[c>>2]|0;f[e+64>>2]=25;Bg(e,25);e=37592;j=c}k=lf(e)|0;e=f[j>>2]|0;j=c+40|0;c=f[j>>2]|0;if((c|0)==3082|(b[e+81>>0]|0)!=0){Di(e);c=7}else c=f[e+68>>2]&c;f[j>>2]=c;v=279}do if((v|0)==279){v=0;c=b[k>>0]|0;e=c&255;do if(!(e&128)){e=c&255;c=0}else{aa=h[k+1>>0]|0;c=aa<<7|e&127;if(!(aa&128)){e=c;c=0;break}aa=h[k+2>>0]|0;c=aa<<14|c&16383;if(!(aa&128)){e=c;c=0;break}aa=h[k+3>>0]|0;e=aa<<21|c&2097151;if(!(aa&128)){c=0;break}l=28;j=k+4|0;e=e&268435455;c=0;while(1){aa=h[j>>0]|0;u=WA(aa&127|0,0,l|0)|0;e=KA(u|0,ba()|0,e|0,c|0)|0;c=ba()|0;l=l+7|0;if(!(l>>>0<64&((aa&128|0)!=0|0!=0)))break;else j=j+1|0}}while(0);if((e|0)==0&(c|0)==0){c=267;break}aa=F;f[aa>>2]=e;f[aa+4>>2]=0;f[V>>2]=0;break j}while(0);f[V>>2]=c;break e}while(0);f[Y>>2]=0;c=Gt(m,Y,103,W)|0;f[V>>2]=c;Ot(S,V)|0;c=f[V>>2]|0;if(c|0)break e}f[Y>>2]=0;Gt(m,Y,104,W)|0;c=0}}}while(0);if((v|0)==263){v=0;_A(e|0,0,c<<2|0)|0;Mt(f[O>>2]|0,W);c=0}switch(b[w>>0]|0){case 99:case 112:case 110:{e=1;break}case 115:case 108:case 97:{e=f[Q>>2]|0;break}case 121:{e=U(f[P>>2]|0,f[Q>>2]|0)|0;break}case 98:{e=U(((f[Q>>2]|0)+31|0)/32|0,f[P>>2]|0)|0;break}default:e=U((f[Q>>2]|0)*3|0,f[P>>2]|0)|0}e=(f[G>>2]|0)+(e<<2)|0;f[G>>2]=e;if(c|0)break;else x=x+1|0}e=f[Z>>2]|0;if(e|0){j=f[e>>2]|0;aa=e+128|0;Z=f[aa+4>>2]|0;if((Z|0)>0|(Z|0)==0&(f[aa>>2]|0)>>>0>0)Hi(j,e);aa=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;Z=e+64|0;f[Z>>2]=0;f[Z+4>>2]=0;if((aa|0)==3082|(b[j+81>>0]|0)!=0)Di(j)}if(!L){Z=f[R>>2]|0;f[Z+8>>2]=1;aa=f[Z+4>>2]|0;YA(Z+16+(aa+2<<2)|0,Z+20|0,aa<<2|0)|0}if(!c){if(($e(f[a>>2]|0,M,f[(f[R>>2]|0)+4>>2]<<2,0,i)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}}else v=308}while(0);if((v|0)==308){f[a+20>>2]=c;e=f[a>>2]|0;if(d[e+8>>1]&1){switch(c|0){case 516:{c=44816;break}case 100:{c=44794;break}case 101:{c=44771;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7984+(c<<2)>>2]|0;else c=44757}}$e(e,c,-1,1,0)|0}if(i|0)ob[i&127](g)}c=_+248|0;e=f[c>>2]|0;do if(e|0){g=f[e+20>>2]|0;Fi(f[e+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Kc(g,e);break}aa=e;if((f[g+304>>2]|0)>>>0<=aa>>>0?(f[g+308>>2]|0)>>>0>aa>>>0:0){aa=g+300|0;f[e>>2]=f[aa>>2];f[aa>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{aa=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[c>>2]=0;t=$;return}f[i>>2]=60051;c=wd(64501,i)|0;f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=$;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);t=$;return}else{aa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);t=$;return}}function Ft(a,b,c){a=a|0;b=b|0;c=c|0;f[c>>2]=(f[c>>2]|0)+1;f[a+36>>2]=b;return 0}function Gt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=f[a>>2]|0;a:do if((e|0)!=5){g=a;while(1){a=Gt(f[g+12>>2]|0,b,c,d)|0;if(!((e|0)!=2&(a|0)==0))break;a=f[g+16>>2]|0;e=f[a>>2]|0;if((e|0)==5)break a;else g=a}return a|0}while(0);d=kb[c&127](a,f[b>>2]|0,d)|0;f[b>>2]=(f[b>>2]|0)+1;return d|0}function Ht(a){a=a|0;var c=0;c=a+(0-(f[a+-4>>2]|0))|0;if((c+16+4|0)==(a|0))b[c+1>>0]=0;else b[c+2>>0]=0;if(b[c>>0]|0)return;if(b[c+1>>0]|0)return;if(b[c+2>>0]|0)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}function It(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=t;t=t+16|0;e=l;h=l+8|0;i=a+144|0;k=f[i>>2]|0;f[h>>2]=k;g=k;if(!k){k=f[a+20>>2]|0;f[e>>2]=f[a+16>>2];f[e+4>>2]=k;e=wd(63474,e)|0;if(!e){k=7;j=g;f[c>>2]=j;t=l;return k|0}a=Ki(f[a+12>>2]|0,e,-1,129,0,h,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{k=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}e=f[h>>2]|0;f[i>>2]=e;if(!a)i=e;else{k=a;j=e;f[c>>2]=j;t=l;return k|0}}else i=g;k=i;do if(!(Op(k,1)|0)){e=f[k+116>>2]|0;a=e+8|0;if(!(d[a>>1]&9216)){h=e;f[h>>2]=0;f[h+4>>2]=0;d[a>>1]=4;break}else{bf(e,0,0);break}}while(0);if((Ei(k)|0)==100){if(i|0){e=f[k+104>>2]|0;if(!((e|0)!=0?(d[k+140>>1]|0)!=0:0)){e=f[k>>2]|0;f[e+64>>2]=25;Bg(e,25);e=37592}g=d[e+8>>1]&15;e=f[k>>2]|0;h=k+40|0;a=f[h>>2]|0;if((a|0)==3082|(b[e+81>>0]|0)!=0){Di(e);e=7}else e=f[e+68>>2]&a;f[h>>2]=e;if((g|16)<<16>>16==16){k=0;j=i;f[c>>2]=j;t=l;return k|0}else j=22}}else j=22;do if((j|0)==22?i|0:0){e=f[k>>2]|0;j=k+128|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0)Hi(e,k);a=fg(k)|0;f[k+20>>2]=770837923;f[k+36>>2]=-1;f[k+40>>2]=0;b[k+142>>0]=2;f[k+44>>2]=0;f[k+32>>2]=1;b[k+143>>0]=-1;f[k+48>>2]=0;k=k+64|0;f[k>>2]=0;f[k+4>>2]=0;if((a|0)==3082|(b[e+81>>0]|0)!=0){Di(e);k=7;j=0;f[c>>2]=j;t=l;return k|0}else{e=f[e+68>>2]&a;if(!e)break;else a=0;f[c>>2]=a;t=l;return e|0}}while(0);k=267;j=0;f[c>>2]=j;t=l;return k|0}function Jt(a,b,c){a=a|0;b=b|0;c=c|0;b=f[a+20>>2]|0;a=c+4|0;f[a>>2]=(f[a>>2]|0)+1;c=c+8|0;f[c>>2]=(f[c>>2]|0)+(f[b+64>>2]|0);return 0}function Kt(a,b,c){a=a|0;b=b|0;c=c|0;f[c+(b<<4)>>2]=a;return 0}function Lt(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;H=t;t=t+32|0;G=H+16|0;D=H;o=H+12|0;E=H+20|0;F=H+8|0;B=f[c+20>>2]|0;i=f[a>>2]|0;f[e>>2]=0;C=f[B+68>>2]|0;if(!((C|0)==(d|0)?1:(C|0)>=(f[i+24>>2]|0))){e=0;t=H;return e|0}n=c+24|0;m=f[n>>2]|0;n=f[n+4>>2]|0;g=D;f[g>>2]=m;f[g+4>>2]=n;g=f[B+28>>2]|0;f[G>>2]=g;C=a+32|0;A=C;if(!(((m|0)==(f[A>>2]|0)?(n|0)==(f[A+4>>2]|0):0)?(b[c+32>>0]|0)==0:0))y=4;a:do if((y|0)==4){f[o>>2]=0;z=b[i+235>>0]|0;A=z&255;g=f[c+8>>2]|0;b:do if(g){i=0;l=0;do{y=f[g>>2]|0;i=(y|0)==4?1:i;c=(y|0)==1?g:c;l=(b[g+32>>0]|0)==0?l:1;g=f[g+8>>2]|0}while((g|0)!=0);if(i){c:do if(f[B+40>>2]|0){k=c+32|0;i=b[k>>0]|0;Xt(a,c,o);j=c+24|0;g=f[o>>2]|0;if(!g)if(!(i<<24>>24))do{if(b[k>>0]|0){g=0;break c}Yt(a,c,o);y=j;g=f[o>>2]|0}while(((f[y>>2]|0)!=(m|0)?1:(f[y+4>>2]|0)!=(n|0))&(g|0)==0);else do{if(b[k>>0]|0){g=0;break c}Yt(a,c,o);g=f[o>>2]|0}while(!(g|0))}else g=0;while(0);i=(g|0)==0;d:do if(!(l<<24>>24)){if(!i)break b;if(!c)y=81;else y=24}else{if(!i)break b;i=c+32|0;while(1){if(b[i>>0]|0){y=24;break d}Yt(a,c,o);g=f[o>>2]|0;if(g|0)break b}}while(0);if((y|0)==24){v=a+52|0;x=z<<24>>24==0;w=x?1:-1;x=x?0:-1;g=1;do{b[E>>0]=0;if((f[c>>2]|0)==1)i=f[c+16>>2]|0;else i=c;r=f[i+20>>2]|0;s=r+48|0;j=f[s>>2]|0;f[G>>2]=j;u=r+56|0;m=u;i=f[m>>2]|0;m=f[m+4>>2]|0;a=D;f[a>>2]=i;f[a+4>>2]=m;a=r+4|0;q=f[a>>2]|0;k=(q|0)!=0;l=j;e:do if((b[v>>0]|0)==z<<24>>24){if(k)k=((f[r>>2]|0)+q|0)>>>0<=l>>>0;else k=1;n=k&1;b[E>>0]=n;p=n;a=l;while(1){f:do if(!a){if(p<<24>>24){g=m;y=76;break e}n=f[r>>2]|0;l=n;i=b[n>>0]|0;j=i&255;do if(!(j&128)){i=i&255;j=D;f[j>>2]=i;f[j+4>>2]=0;j=1;m=0}else{p=h[n+1>>0]|0;i=p<<7|j&127;if(!(p&128)){j=D;f[j>>2]=i;f[j+4>>2]=0;j=2;m=0;break}p=h[n+2>>0]|0;i=p<<14|i&16383;if(!(p&128)){j=D;f[j>>2]=i;f[j+4>>2]=0;j=3;m=0;break}p=h[n+3>>0]|0;i=p<<21|i&2097151;if(!(p&128)){j=D;f[j>>2]=i;f[j+4>>2]=0;j=4;m=0;break}j=28;k=n+4|0;i=i&268435455;m=0;do{p=k;k=k+1|0;p=h[p>>0]|0;o=WA(p&127|0,0,j|0)|0;i=KA(o|0,ba()|0,i|0,m|0)|0;m=ba()|0;j=j+7|0}while(j>>>0<64&((p&128|0)!=0|0!=0));j=D;f[j>>2]=i;f[j+4>>2]=m;j=k-l|0}while(0);k=0;j=n+j|0;n=0}else{k=C;l=f[k>>2]|0;k=f[k+4>>2]|0;o=LA(i|0,m|0,l|0,k|0)|0;QA(o|0,ba()|0,w|0,x|0)|0;if(!(n<<24>>24==0&(ba()|0)<0)){y=77;break e}n=f[r>>2]|0;l=a;j=0;while(1){k=b[l>>0]|0;l=l+1|0;if(!(j<<24>>24|k))break;else j=k&128}j=l;k=n+q|0;do if(l>>>0>>0){while(1){n=b[l>>0]|0;if(n<<24>>24)break;j=l+1|0;if(j>>>0>>0)l=j;else{y=52;break}}if((y|0)==52){y=0;break}k=n&255;do if(!(k&128)){a=1;k=n&255;j=0}else{o=h[l+1>>0]|0;k=o<<7|k&127;if(!(o&128)){a=2;j=0;break}o=h[l+2>>0]|0;k=o<<14|k&16383;if(!(o&128)){a=3;j=0;break}o=h[l+3>>0]|0;k=o<<21|k&2097151;if(!(o&128)){a=4;j=0;break}n=28;a=l+4|0;k=k&268435455;o=0;do{I=a;a=a+1|0;I=h[I>>0]|0;J=WA(I&127|0,0,n|0)|0;k=KA(J|0,ba()|0,k|0,o|0)|0;o=ba()|0;n=n+7|0}while(n>>>0<64&((I&128|0)!=0|0!=0));a=a-j|0;j=o}while(0);k=QA(k|0,j|0,w|0,x|0)|0;i=KA(i|0,m|0,k|0,ba()|0)|0;m=ba()|0;k=D;f[k>>2]=i;f[k+4>>2]=m;k=p;j=l+a|0;n=0;break f}while(0);b[E>>0]=1;k=1;n=1}while(0);f[G>>2]=j;p=k;a=j}}else{if(k)if(!j)i=0;else i=(f[r>>2]|0)>>>0>=l>>>0;else i=1;b[E>>0]=i&1;i=l;while(1){if(!i){if(b[E>>0]|0)break}else{m=D;i=f[m>>2]|0;m=f[m+4>>2]|0;k=C;l=f[k>>2]|0;k=f[k+4>>2]|0;J=LA(i|0,m|0,l|0,k|0)|0;J=QA(J|0,ba()|0,w|0,x|0)|0;I=ba()|0;n=b[E>>0]|0;if(!(n<<24>>24==0&((I|0)>0|(I|0)==0&J>>>0>0))){y=77;break e}}wt(A,f[r>>2]|0,f[a>>2]|0,G,D,F,E);j=f[G>>2]|0;i=j}g=D;i=f[g>>2]|0;g=f[g+4>>2]|0;y=76}while(0);if((y|0)==76){f[s>>2]=j;J=u;f[J>>2]=i;f[J+4>>2]=g;y=78}else if((y|0)==77){y=0;f[s>>2]=j;J=u;f[J>>2]=i;f[J+4>>2]=m;if(!(n<<24>>24==0&((i|0)==(l|0)&(m|0)==(k|0))))y=78}if((y|0)==78){y=0;g=0}c=f[c+12>>2]|0}while((c|0)!=0);if(!g)g=0;else y=81}if((y|0)==81)g=f[B+48>>2]|0;f[G>>2]=g;break a}else g=0}else g=0;while(0);J=g;t=H;return J|0}while(0);if(!g){J=0;t=H;return J|0}if((b[g>>0]|0)==1){j=g+1|0;f[G>>2]=j;i=b[j>>0]|0;c=i&255;if(c&128){J=b[g+2>>0]|0;i=J<<7|i&127;if(J&128){J=b[g+3>>0]|0;i=J<<14|i&16383;if(J&128){J=b[g+4>>0]|0;i=J<<21|i&2097151;if(!(J&128)){g=i;i=4}else{g=(b[g+5>>0]&7)<<28|i&268435455;i=5}}else{g=i;i=3}}else{g=i;i=2}}else{g=c;i=1}J=j+i|0;f[G>>2]=J;i=g;g=J}else i=0;c=b[g>>0]|0;g:do if((i|0)<(d|0)){while(1){i=c<<24>>24;if(i&254)do{g=g+1|0;J=i;i=b[g>>0]|0}while((i&254|J&128|0)!=0);f[G>>2]=g;if(!(b[g>>0]|0)){g=0;break}j=g+1|0;f[G>>2]=j;c=b[j>>0]|0;i=c&255;if(i&128){J=b[g+2>>0]|0;i=J<<7|c&127;if(J&128){J=b[g+3>>0]|0;i=J<<14|i&16383;if(J&128){J=b[g+4>>0]|0;i=J<<21|i&2097151;if(!(J&128))g=4;else{i=(b[g+5>>0]&7)<<28|i&268435455;g=5}}else g=3}else g=2}else g=1;g=j+g|0;f[G>>2]=g;c=b[g>>0]|0;if((i|0)>=(d|0))break g}t=H;return g|0}while(0);if(!(c<<24>>24)){f[G>>2]=0;g=0}f[e>>2]=(i|0)==(d|0)?g:0;J=0;t=H;return J|0}function Mt(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(b[a+32>>0]|0)return;while(1){k=a+24|0;e=f[c>>2]|0;l=e+32|0;if(!((f[k>>2]|0)==(f[l>>2]|0)?(f[k+4>>2]|0)==(f[l+4>>2]|0):0)){d=33;break}d=f[a+12>>2]|0;if(!d){d=6;break}Mt(d,c);a=f[a+16>>2]|0;if(b[a+32>>0]|0){d=33;break}}if((d|0)==6){l=f[a+20>>2]|0;d=f[l+28>>2]|0;h=(b[c+24>>0]|0)==121;k=f[c+4>>2]|0;k=U(h?k:(k+31|0)/32|0,f[a+36>>2]|0)|0;l=l+68|0;j=(f[e>>2]|0)+24|0;i=c+28|0;if(h){h=0;while(1){a=b[d>>0]|0;e=a<<24>>24;if(!(e&254)){c=0;g=d}else{a=0;while(1){d=d+1|0;g=e&128;c=(g>>>7^1)+a|0;a=b[d>>0]|0;e=a<<24>>24;if(!(e&254|g)){g=d;break}else a=c}}e=f[l>>2]|0;if((e|0)==(h|0)?1:(e|0)>=(f[j>>2]|0)){f[(f[i>>2]|0)+(h+k<<2)>>2]=c;a=b[g>>0]|0}if(a<<24>>24!=1)break;e=g+1|0;d=b[e>>0]|0;a=d&255;if(a&128){h=b[g+2>>0]|0;a=h<<7|d&127;if(h&128){h=b[g+3>>0]|0;a=h<<14|a&16383;if(h&128){h=b[g+4>>0]|0;a=h<<21|a&2097151;if(!(h&128))d=4;else{a=(b[g+5>>0]&7)<<28|a&268435455;d=5}}else d=3}else d=2}else d=1;h=a;d=e+d|0}return}else{h=0;while(1){a=b[d>>0]|0;e=a<<24>>24;if(!(e&254)){c=0;g=d}else{a=0;while(1){d=d+1|0;g=e&128;c=(g>>>7^1)+a|0;a=b[d>>0]|0;e=a<<24>>24;if(!(e&254|g)){g=d;break}else a=c}}e=f[l>>2]|0;if(!((c|0)==0|((e|0)!=(h|0)?(e|0)<(f[j>>2]|0):0))){a=(f[i>>2]|0)+(((h+1|0)/32|0)+k<<2)|0;f[a>>2]=f[a>>2]|1<<(h&31);a=b[g>>0]|0}if(a<<24>>24!=1)break;e=g+1|0;d=b[e>>0]|0;a=d&255;if(a&128){h=b[g+2>>0]|0;a=h<<7|d&127;if(h&128){h=b[g+3>>0]|0;a=h<<14|a&16383;if(h&128){h=b[g+4>>0]|0;a=h<<21|a&2097151;if(!(h&128))d=4;else{a=(b[g+5>>0]&7)<<28|a&268435455;d=5}}else d=3}else d=2}else d=1;h=a;d=e+d|0}return}}else if((d|0)==33)return} -function zu(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;E=t;t=t+16|0;D=E;if(f[h>>2]|0){t=E;return}j=d;a:while(1){switch(f[j>>2]|0){case 5:{d=5;break a}case 2:{d=31;break a}case 4:{i=j+12|0;d=f[i>>2]|0;f[f[g>>2]>>2]=d;f[g>>2]=(f[g>>2]|0)+4;break}default:{d=c;i=j+12|0}}zu(a,d,f[i>>2]|0,e,g,h);i=j+16|0;if((f[j>>2]|0)==4){d=f[i>>2]|0;f[f[g>>2]>>2]=d;f[g>>2]=(f[g>>2]|0)+4}if(!(f[h>>2]|0)){c=d;j=f[i>>2]|0}else{d=31;break}}if((d|0)==5){w=f[j+20>>2]|0;x=w+64|0;y=w+68|0;v=0;while(1){if((v|0)>=(f[x>>2]|0)){d=31;break}z=f[e>>2]|0;f[e>>2]=z+24;f[z>>2]=w;f[z+4>>2]=v;f[z+12>>2]=c;f[z+8>>2]=w+72+(v*24|0);f[z+20>>2]=f[y>>2];m=f[w+72+(v*24|0)+20>>2]|0;z=z+16|0;u=f[a>>2]|0;n=f[u+240>>2]|0;o=m+4|0;p=u+20|0;q=u+248|0;r=u+244|0;s=u+12|0;u=u+16|0;i=0;l=0;while(1){if((l|0)>=(f[o>>2]|0)){d=0;break}d=f[(f[m>>2]|0)+(l<<2)>>2]|0;b:do if(((f[d+56>>2]|0)==0?(b[d+5>>0]|0)==0:0)?(B=d+8|0,A=f[B>>2]|0,B=f[B+4>>2]|0,C=d+16|0,k=C,g=f[k+4>>2]|0,!((B|0)>(g|0)|((B|0)==(g|0)?A>>>0>(f[k>>2]|0)>>>0:0))):0){j=f[q>>2]|0;g=A;k=B;while(1){if(!j){d=f[r>>2]|0;if(!d){f[D>>2]=f[p>>2];d=wd(64225,D)|0;f[r>>2]=d;if(!d){d=7;break b}}d=Wp(f[s>>2]|0,f[u>>2]|0,d,64237,g,k,0,q)|0}else d=aq(j,g,k)|0;if(d|0)break b;j=f[q>>2]|0;if((j|0)!=0?(f[j+16>>2]|0)!=0:0)d=f[j>>2]|0;else d=0;if((d+35|0)>(n|0))i=((d+34|0)/(n|0)|0)+i|0;F=g;g=KA(g|0,k|0,1,0)|0;H=k;k=ba()|0;d=C;G=f[d+4>>2]|0;if(!((H|0)<(G|0)|((H|0)==(G|0)?F>>>0<(f[d>>2]|0)>>>0:0))){d=0;break}}}else d=0;while(0);if(!d)l=l+1|0;else break}f[z>>2]=i;f[h>>2]=d;if(!d)v=v+1|0;else{d=31;break}}if((d|0)==31){t=E;return}}else if((d|0)==31){t=E;return}}function Au(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=t;t=t+16|0;y=C+4|0;z=C;A=f[a>>2]|0;if(f[A+40>>2]|0){B=0;t=C;return B|0}w=(g|0)>0;if(!w){B=0;t=C;return B|0}i=0;j=0;k=0;while(1){if((f[e+(k*24|0)+12>>2]|0)==(c|0)){v=i+1|0;j=(f[e+(k*24|0)+16>>2]|0)+j|0}else v=i;k=k+1|0;if((k|0)==(g|0))break;else i=v}if((j|0)==0|(v|0)<2){B=0;t=C;return B|0}s=a+60|0;i=f[s>>2]|0;do if(!i){i=It(A,y)|0;if(!i){r=f[y>>2]|0;q=(r|0)==0;if(q)l=lf(37592)|0;else{i=f[r+104>>2]|0;if((i|0)!=0?(d[r+140>>1]|0)!=0:0)j=r;else{i=f[r>>2]|0;f[i+64>>2]=25;Bg(i,25);i=37592;j=r}l=lf(i)|0;i=f[j>>2]|0;k=r+40|0;j=f[k>>2]|0;if((j|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7}else i=f[i+68>>2]&j;f[k>>2]=i}n=Gp(r,0)|0;p=l+n|0;j=b[l>>0]|0;i=j&255;do if(!(i&128)){k=1;i=j&255;o=0}else{u=h[l+1>>0]|0;i=u<<7|i&127;if(!(u&128)){k=2;o=0;break}u=h[l+2>>0]|0;i=u<<14|i&16383;if(!(u&128)){k=3;o=0;break}u=h[l+3>>0]|0;i=u<<21|i&2097151;if(!(u&128)){k=4;o=0;break}j=28;k=l+4|0;i=i&268435455;m=0;do{u=k;k=k+1|0;u=h[u>>0]|0;o=WA(u&127|0,0,j|0)|0;i=KA(o|0,ba()|0,i|0,m|0)|0;m=ba()|0;j=j+7|0}while(j>>>0<64&((u&128|0)!=0|0!=0));k=k-l|0;o=m}while(0);if((k|0)<(n|0)){n=l+k|0;do{k=b[n>>0]|0;j=k&255;do if(!(j&128)){l=1;j=k&255;k=0}else{u=h[n+1>>0]|0;j=u<<7|j&127;if(!(u&128)){l=2;k=0;break}u=h[n+2>>0]|0;j=u<<14|j&16383;if(!(u&128)){l=3;k=0;break}u=h[n+3>>0]|0;j=u<<21|j&2097151;if(!(u&128)){l=4;k=0;break}l=28;m=n+4|0;j=j&268435455;k=0;do{u=m;m=m+1|0;u=h[u>>0]|0;D=WA(u&127|0,0,l|0)|0;j=KA(D|0,ba()|0,j|0,k|0)|0;k=ba()|0;l=l+7|0}while(l>>>0<64&((u&128|0)!=0|0!=0));l=m-n|0}while(0);n=n+l|0}while(n>>>0

>>0);if(!((i|0)==0&(o|0)==0|(j|0)==0&(k|0)==0)){p=a+64|0;f[p>>2]=i;f[p+4>>2]=o;o=OA(j|0,k|0,i|0,o|0)|0;p=ba()|0;u=f[A+240>>2]|0;D=((u|0)<0)<<31>>31;p=KA(o|0,p|0,u|0,D|0)|0;D=OA(p|0,ba()|0,u|0,D|0)|0;ba()|0;f[s>>2]=D;do if(!q){i=f[r>>2]|0;D=r+128|0;u=f[D+4>>2]|0;if((u|0)>0|(u|0)==0&(f[D>>2]|0)>>>0>0)Hi(i,r);j=fg(r)|0;f[r+20>>2]=770837923;f[r+36>>2]=-1;f[r+40>>2]=0;b[r+142>>0]=2;f[r+44>>2]=0;f[r+32>>2]=1;b[r+143>>0]=-1;f[r+48>>2]=0;D=r+64|0;f[D>>2]=0;f[D+4>>2]=0;if((j|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&j;break}}else i=0;while(0);u=f[s>>2]|0;break}}if(!q){i=f[r>>2]|0;D=r+128|0;B=f[D+4>>2]|0;if((B|0)>0|(B|0)==0&(f[D>>2]|0)>>>0>0)Hi(i,r);D=fg(r)|0;f[r+20>>2]=770837923;f[r+36>>2]=-1;f[r+40>>2]=0;b[r+142>>0]=2;f[r+44>>2]=0;f[r+32>>2]=1;b[r+143>>0]=-1;f[r+48>>2]=0;B=r+64|0;f[B>>2]=0;f[B+4>>2]=0;if((D|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=267}else i=267}else i=267}D=i;t=C;return D|0}else{u=i;i=0}while(0);if(!((v|0)>0&(i|0)==0)){D=i;t=C;return D|0}s=v+-1|0;r=a+28|0;p=0;o=1;q=0;while(1){if(w){i=0;k=0;do{j=e+(k*24|0)|0;do if((f[e+(k*24|0)+8>>2]|0)!=0?(f[e+(k*24|0)+12>>2]|0)==(c|0):0){if(i|0?(f[e+(k*24|0)+16>>2]|0)>=(f[i+16>>2]|0):0)break;i=j}while(0);k=k+1|0}while((k|0)!=(g|0));m=i}else m=0;n=(q|0)==0;do if(n){o=o<<2;B=88}else{D=(o|0)/4|0;if((f[m+16>>2]|0)<(U((p+-1+D|0)/(D|0)|0,u)|0)){j=q>>>0<12?o<<2:o;if(!((q|0)==(s|0)?1:(f[(f[m>>2]|0)+64>>2]|0)<2)){o=j;B=88;break}i=0;l=j;k=p;j=m+8|0;break}j=m+8|0;n=f[j>>2]|0;m=f[m+20>>2]|0;do if(!(Mc()|0)){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](16)|0;if(!i){i=7;break}}else{i=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){D=f[18187]|0;a=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&a>>>0<=D>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){i=7;break}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k}f[i+12>>2]=0;f[i>>2]=n;f[i+8>>2]=f[r>>2];f[i+4>>2]=m;f[r>>2]=i;f[n+16>>2]=i;i=0}else i=7;while(0);l=n+20|0;du(f[l>>2]|0);f[l>>2]=0;l=o;k=p}while(0);if((B|0)==88){B=0;j=m+8|0;i=f[j>>2]|0;f[y>>2]=0;f[z>>2]=0;i=au(A,i,f[m+20>>2]|0,y,z)|0;if(!i){i=bu(A,f[m>>2]|0,f[m+4>>2]|0,f[z>>2]|0,f[y>>2]|0)|0;if(!i){k=f[m>>2]|0;i=f[k>>2]|0;k=f[k+4>>2]|0;if((i|0)!=0?(x=i+k|0,(k|0)>0):0){k=0;do{do{D=i;i=i+1|0}while((b[D>>0]|0)<0);l=0;while(1){m=b[i>>0]|0;i=i+1|0;if(!(l<<24>>24|m))break;else l=m&128}k=k+1|0}while(i>>>0>>0)}else k=0;i=0;k=n|(k|0)<(p|0)?k:p}else k=p}else k=p;l=o}f[j>>2]=0;q=q+1|0;if(!((q|0)<(v|0)&(i|0)==0))break;else{p=k;o=l}}t=C;return i|0}function Bu(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if(!c)return;if(f[d>>2]|0)return;if((f[c>>2]|0)!=5){h=c+12|0;Bu(a,f[h>>2]|0,d);e=c+16|0;Bu(a,f[e>>2]|0,d);if(!(b[(f[h>>2]|0)+34>>0]|0))e=0;else e=(b[(f[e>>2]|0)+34>>0]|0)!=0&1;b[c+34>>0]=e;return}h=f[c+20>>2]|0;g=f[h+64>>2]|0;if(g|0){a:do if((g|0)>0){e=0;do{if(!(f[h+72+(e*24|0)+16>>2]|0))break a;e=e+1|0}while((e|0)<(g|0))}else e=0;while(0);b[c+34>>0]=(e|0)==(g|0)&1}c=Cu(a,1,h)|0;f[d>>2]=c;return}function Cu(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+16|0;A=D+4|0;B=D;C=f[a>>2]|0;a:do if(((c|0)!=0?(b[a+52>>0]|0)==(b[C+235>>0]|0):0)?((f[d+64>>2]|0)+-1|0)>>>0<4:0){w=d+64|0;g=f[w>>2]|0;if((g|0)>0){c=0;e=0;do{if(f[d+72+(c*24|0)+12>>2]|0){z=w;break a}a=f[d+72+(c*24|0)+20>>2]|0;if(a){if(!(f[a+36>>2]|0)){z=w;break a}}else a=0;e=(a|0)==0?e:1;c=c+1|0}while((c|0)<(g|0));if(e){v=f[d+68>>2]|0;v=(v|0)<(f[C+24>>2]|0)?v:-1;u=C+235|0;if((g|0)<=0){C=0;A=1;B=d+40|0;f[B>>2]=A;t=D;return C|0}q=0;b:while(1){r=f[d+72+(q*24|0)+20>>2]|0;if(r|0){c=f[d+72+(q*24|0)>>2]|0;e=f[d+72+(q*24|0)+4>>2]|0;g=f[r+4>>2]|0;s=(b[u>>0]|0)==0?174:175;a=mt(C,r,c,e)|0;if(a|0){c=1;k=74;break}do if((g|0)>0){j=f[r>>2]|0;i=0;while(1){a=f[j+(i<<2)>>2]|0;if(!(f[a+40>>2]|0)){k=23;break}o=f[a+60>>2]|0;p=Hz(f[a+64>>2]|0,c,(o|0)>(e|0)?e:o)|0;if(((p|0)==0?o-e|0:p)|0){k=23;break}y=i+1|0;if((y|0)<(g|0))i=y;else{k=22;break}}if((k|0)==22){x=r+8|0;f[x>>2]=y}else if((k|0)==23){a=r+8|0;f[a>>2]=i;if(!i)break;else x=a}p=0;k=j;while(1){o=f[k+(p<<2)>>2]|0;if((b[u>>0]|0)!=0?(f[o+56>>2]|0)!=0:0){b[A>>0]=0;m=o+88|0;n=m;f[n>>2]=0;f[n+4>>2]=0;n=o+84|0;f[n>>2]=0;wt(0,f[o+72>>2]|0,f[o+76>>2]|0,o+80|0,m,n,A)}else{l=o+72|0;j=o+40|0;m=o+52|0;a=f[m>>2]|0;c:do if(a|0){k=(f[l>>2]|0)+10|0;n=o+48|0;i=o+44|0;c=f[n>>2]|0;g=a;while(1){a=f[j>>2]|0;if((k-a|0)<=(c|0))break c;e=(f[i>>2]|0)-c|0;e=(e|0)<4096?e:4096;a=Zp(g,a+c|0,e,c,89)|0;if(a|0){c=1;k=74;break b}a=(f[n>>2]|0)+e|0;f[n>>2]=a;a=(f[j>>2]|0)+a|0;c=a+20|0;do{b[a>>0]=0;a=a+1|0}while((a|0)<(c|0));c=f[n>>2]|0;g=f[m>>2]|0;if((c|0)==(f[i>>2]|0))break;if(!g)break c}d:do if(g|0){a=f[g+20>>2]|0;Fi(f[g+16>>2]|0)|0;do if(a|0){if(f[a+480>>2]|0){Kc(a,g);break d}c=g;if((f[a+304>>2]|0)>>>0>c>>>0)break;if((f[a+308>>2]|0)>>>0<=c>>>0)break;k=a+300|0;f[g>>2]=f[k>>2];f[k>>2]=g;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{k=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[m>>2]=0;f[n>>2]=0}while(0);j=f[l>>2]|0;i=o+88|0;a=b[j>>0]|0;c=a&255;do if(!(c&128)){n=i;f[n>>2]=a&255;f[n+4>>2]=0;a=1}else{n=h[j+1>>0]|0;a=n<<7|c&127;if(!(n&128)){n=i;f[n>>2]=a;f[n+4>>2]=0;a=2;break}n=h[j+2>>0]|0;a=n<<14|a&16383;if(!(n&128)){n=i;f[n>>2]=a;f[n+4>>2]=0;a=3;break}n=h[j+3>>0]|0;a=n<<21|a&2097151;if(!(n&128)){n=i;f[n>>2]=a;f[n+4>>2]=0;a=4;break}e=28;g=j+4|0;a=a&268435455;c=0;do{n=g;g=g+1|0;n=h[n>>0]|0;m=WA(n&127|0,0,e|0)|0;a=KA(m|0,ba()|0,a|0,c|0)|0;c=ba()|0;e=e+7|0}while(e>>>0<64&((n&128|0)!=0|0!=0));n=i;f[n>>2]=a;f[n+4>>2]=c;a=g-j|0}while(0);f[o+80>>2]=j+a}a=p+1|0;k=f[r>>2]|0;if((a|0)>=(f[x>>2]|0))break;else p=a}if(p|0){e=p;do{g=e;e=e+-1|0;e:do if((g|0)<=(p|0)){a=e;j=f[k+(e<<2)>>2]|0;do{c=a;a=a+1|0;i=k+(a<<2)|0;if((jb[s&255](j,f[i>>2]|0)|0)<0)break e;o=k+(c<<2)|0;n=f[i>>2]|0;j=f[o>>2]|0;f[i>>2]=j;f[o>>2]=n}while((a|0)<(p|0))}while(0)}while((g|0)>1)}}else f[r+8>>2]=0;while(0);f[r+24>>2]=v}q=q+1|0;if((q|0)>=(f[w>>2]|0)){a=0;c=1;k=74;break}}if((k|0)==74){C=d+40|0;f[C>>2]=c;t=D;return a|0}}else z=w}else z=w}else k=4;while(0);if((k|0)==4)z=d+64|0;e=d+68|0;c=0;while(1){if((c|0)>=(f[z>>2]|0)){a=0;c=0;k=74;break}if(!(f[d+72+(c*24|0)+20>>2]|0))a=0;else{f[A>>2]=0;f[B>>2]=0;a=au(C,d+72+(c*24|0)|0,f[e>>2]|0,A,B)|0;if(!a)a=bu(C,d,c,f[B>>2]|0,f[A>>2]|0)|0}if(!a)c=c+1|0;else{c=0;k=74;break}}if((k|0)==74){C=d+40|0;f[C>>2]=c;t=D;return a|0}return 0}function Du(a,c,e,g,i,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;Ia=t;t=t+320|0;Fa=Ia+296|0;Da=Ia+288|0;Ca=Ia+280|0;Ba=Ia+272|0;za=Ia+264|0;xa=Ia+256|0;wa=Ia+248|0;va=Ia+240|0;ua=Ia+232|0;ta=Ia+216|0;sa=Ia+200|0;ra=Ia+192|0;qa=Ia+176|0;pa=Ia+168|0;oa=Ia+160|0;na=Ia+152|0;Aa=Ia+144|0;ma=Ia+128|0;ha=Ia+120|0;ga=Ia+112|0;fa=Ia+104|0;ka=Ia+96|0;ja=Ia+80|0;ia=Ia+72|0;ea=Ia+64|0;da=Ia+56|0;W=Ia+48|0;R=Ia+40|0;O=Ia+32|0;Q=Ia+24|0;P=Ia+16|0;N=Ia+8|0;M=Ia;la=Ia+316|0;Ha=Ia+312|0;Ga=Ia+308|0;f[Ha>>2]=0;ya=(b[(f[i>>2]|0)+3>>0]|0)==52;f[Ga>>2]=0;_=i+4|0;X=wz(f[_>>2]|0)|0;$=X+1|0;Y=i+8|0;Z=(wz(f[Y>>2]|0)|0)+1|0;o=(g<<2)+-8|0;n=Fd(o)|0;if((n|0)!=0?(_A(n|0,0,o|0)|0,m=Fd(o)|0,(m|0)!=0):0){_A(m|0,0,o|0)|0;a:do if((g|0)>3){x=3;z=0;w=0;u=0;s=0;r=0;q=0;v=0;G=0;y=0;p=0;o=0;while(1){I=f[i+(x<<2)>>2]|0;do if((o|0)==0?!((I|0)==0|(wz(I)|0)>>>0<9):0){o=b[I>>0]|0;b:do if(!(o<<24>>24)){o=66559;Ea=9}else{J=o&255;o=1232+J|0;do if((J|32|0)==116){o=b[I+1>>0]|0;if(!(o<<24>>24)){o=66560;Ea=9;break b}J=o&255;o=1232+J|0;if((J|32|0)==111){o=b[I+2>>0]|0;if(!(o<<24>>24)){o=66561;Ea=9;break b}J=o&255;o=1232+J|0;if((J|32|0)==107){o=b[I+3>>0]|0;if(!(o<<24>>24)){o=66562;Ea=9;break b}J=o&255;o=1232+J|0;if((J|32|0)==101){o=b[I+4>>0]|0;if(!(o<<24>>24)){o=66563;Ea=9;break b}o=o&255;if((o|32|0)!=110){A=110;o=1232+o|0;break}o=b[I+5>>0]|0;if(!(o<<24>>24)){o=66564;Ea=9;break b}o=o&255;if((o|32|0)!=105){A=105;o=1232+o|0;break}o=b[I+6>>0]|0;if(!(o<<24>>24)){o=66565;Ea=9;break b}o=o&255;if((o|32|0)!=122){A=122;o=1232+o|0;break}o=b[I+7>>0]|0;if(!(o<<24>>24)){o=66566;Ea=9;break b}o=o&255;if((o|32|0)==101)break b;else{A=101;o=1232+o|0}}else A=101}else A=107}else A=111}else A=116;while(0);L=h[o>>0]|0;K=A;Ea=13}while(0);if((Ea|0)==9){L=0;K=b[1232+(h[o>>0]|0)>>0]|0;Ea=13}if((Ea|0)==13?(Ea=0,(L|0)!=(K&255|0)):0){Ea=17;break}J=b[I+8>>0]|0;if((J&128|0)==0?(b[24528+J>>0]|0)==0:0){F=Eu(e,I+9|0,Ga,l)|0;f[Ha>>2]=F;F=z}else Ea=17}else Ea=17;while(0);c:do if((Ea|0)==17){Ea=0;d:do if(ya){o=I;e:while(1){switch(b[o>>0]|0){case 0:break d;case 61:break e;default:{}}o=o+1|0}F=o-I|0;f[M>>2]=o+1;J=wd(40840,M)|0;if(!J){f[Ha>>2]=7;F=z;break c}o=b[J>>0]|0;switch(o<<24>>24){case 34:case 39:case 91:case 96:{D=o<<24>>24==91?93:o;A=b[J+1>>0]|0;f:do if(!(A<<24>>24))o=0;else{B=1;o=0;do{C=B+1|0;if(A<<24>>24==D<<24>>24){if((b[J+C>>0]|0)!=D<<24>>24)break f;b[J+o>>0]=D;B=B+2|0}else{b[J+o>>0]=A;B=C}o=o+1|0;A=b[J+B>>0]|0}while(A<<24>>24!=0)}while(0);b[J+o>>0]=0;break}default:{}}H=J;g:do if(!I)o=8;else{switch(F|0){case 9:{B=I;D=60051;C=F;while(1){o=b[B>>0]|0;if(!(o<<24>>24)){Ea=36;break}A=b[1232+(o&255)>>0]|0;o=b[1232+(h[D>>0]|0)>>0]|0;if(A<<24>>24!=o<<24>>24){Ea=38;break}if((C|0)>1){B=B+1|0;D=D+1|0;C=C+-1|0}else{o=0;break g}}if((Ea|0)==36){Ea=0;A=0;o=b[1232+(h[D>>0]|0)>>0]|0}else if((Ea|0)==38){Ea=0;A=A&255}if((A|0)==(o&255|0)){o=0;break g}switch(F|0){case 6:{Ea=42;break}case 8:{o=F;Ea=415;break}default:{}}break}case 6:{Ea=42;break}case 8:{o=F;Ea=415;break}default:{}}if((Ea|0)==42){Ea=0;B=I;D=67282;C=F;while(1){o=b[B>>0]|0;if(!(o<<24>>24)){Ea=412;break}A=b[1232+(o&255)>>0]|0;o=b[1232+(h[D>>0]|0)>>0]|0;if(A<<24>>24!=o<<24>>24){Ea=410;break}if((C|0)>1){B=B+1|0;D=D+1|0;C=C+-1|0}else{o=1;break g}}if((Ea|0)==410){Ea=0;A=A&255}else if((Ea|0)==412){Ea=0;A=0;o=b[1232+(h[D>>0]|0)>>0]|0}if((A|0)==(o&255|0)){o=1;break}if((F|0)==8){o=8;Ea=415}}if((Ea|0)==415){Ea=0;C=I;D=66684;B=o;while(1){o=b[C>>0]|0;if(!(o<<24>>24)){Ea=420;break}A=b[1232+(o&255)>>0]|0;o=b[1232+(h[D>>0]|0)>>0]|0;if(A<<24>>24!=o<<24>>24){Ea=418;break}if((B|0)>1){C=C+1|0;D=D+1|0;B=B+-1|0}else{o=2;break g}}if((Ea|0)==418){Ea=0;A=A&255}else if((Ea|0)==420){Ea=0;A=0;o=b[1232+(h[D>>0]|0)>>0]|0}if((A|0)==(o&255|0)){o=2;break}}E=(F|0)==10;if(E){o=b[I>>0]|0;h:do if(!(o<<24>>24)){o=66693;Ea=427}else{D=o&255;o=1232+D|0;do if((D|32|0)==117){o=b[I+1>>0]|0;if(!(o<<24>>24)){o=66694;Ea=427;break h}o=o&255;if((o|32|0)!=110){B=110;o=1232+o|0;break}o=b[I+2>>0]|0;if(!(o<<24>>24)){o=66695;Ea=427;break h}o=o&255;if((o|32|0)!=99){B=99;o=1232+o|0;break}o=b[I+3>>0]|0;if(!(o<<24>>24)){o=66696;Ea=427;break h}o=o&255;if((o|32|0)!=111){B=111;o=1232+o|0;break}o=b[I+4>>0]|0;if(!(o<<24>>24)){o=66697;Ea=427;break h}o=o&255;if((o|32|0)!=109){B=109;o=1232+o|0;break}o=b[I+5>>0]|0;if(!(o<<24>>24)){o=66698;Ea=427;break h}o=o&255;if((o|32|0)!=112){B=112;o=1232+o|0;break}o=b[I+6>>0]|0;if(!(o<<24>>24)){o=66699;Ea=427;break h}o=o&255;if((o|32|0)!=114){B=114;o=1232+o|0;break}o=b[I+7>>0]|0;if(!(o<<24>>24)){o=66700;Ea=427;break h}o=o&255;if((o|32|0)!=101){B=101;o=1232+o|0;break}o=b[I+8>>0]|0;if(!(o<<24>>24)){o=66701;Ea=427;break h}o=o&255;if((o|32|0)!=115){B=115;o=1232+o|0;break}o=b[I+9>>0]|0;if(!(o<<24>>24)){o=66702;Ea=427;break h}o=o&255;if((o|32|0)==115){o=3;break g}else{B=115;o=1232+o|0}}else B=117;while(0);A=h[o>>0]|0;o=B}while(0);if((Ea|0)==427){Ea=0;A=0;o=b[1232+(h[o>>0]|0)>>0]|0}if((A|0)==(o&255|0)){o=3;break}}switch(F|0){case 5:{B=I;D=67289;C=F;while(1){o=b[B>>0]|0;if(!(o<<24>>24)){Ea=435;break}A=b[1232+(o&255)>>0]|0;o=b[1232+(h[D>>0]|0)>>0]|0;if(A<<24>>24!=o<<24>>24){Ea=433;break}if((C|0)>1){B=B+1|0;D=D+1|0;C=C+-1|0}else{o=4;break g}}if((Ea|0)==433){Ea=0;A=A&255}else if((Ea|0)==435){Ea=0;A=0;o=b[1232+(h[D>>0]|0)>>0]|0}if((A|0)==(o&255|0)){o=4;break g}if((F|0)==7){o=7;Ea=438}break}case 7:{o=F;Ea=438;break}default:{}}if((Ea|0)==438){Ea=0;C=I;D=63175;B=o;while(1){o=b[C>>0]|0;if(!(o<<24>>24)){Ea=443;break}A=b[1232+(o&255)>>0]|0;o=b[1232+(h[D>>0]|0)>>0]|0;if(A<<24>>24!=o<<24>>24){Ea=441;break}if((B|0)>1){C=C+1|0;D=D+1|0;B=B+-1|0}else{o=5;break g}}if((Ea|0)==441){Ea=0;A=A&255}else if((Ea|0)==443){Ea=0;A=0;o=b[1232+(h[D>>0]|0)>>0]|0}if((A|0)==(o&255|0)){o=5;break}}if(E){o=b[I>>0]|0;i:do if(!(o<<24>>24)){o=67295;Ea=450}else{F=o&255;o=1232+F|0;do if((F|32|0)==108){o=b[I+1>>0]|0;if(!(o<<24>>24)){o=67296;Ea=450;break i}o=o&255;if((o|32|0)!=97){B=97;o=1232+o|0;break}o=b[I+2>>0]|0;if(!(o<<24>>24)){o=67297;Ea=450;break i}o=o&255;if((o|32|0)!=110){B=110;o=1232+o|0;break}o=b[I+3>>0]|0;if(!(o<<24>>24)){o=67298;Ea=450;break i}o=o&255;if((o|32|0)!=103){B=103;o=1232+o|0;break}o=b[I+4>>0]|0;if(!(o<<24>>24)){o=67299;Ea=450;break i}o=o&255;if((o|32|0)!=117){B=117;o=1232+o|0;break}o=b[I+5>>0]|0;if(!(o<<24>>24)){o=67300;Ea=450;break i}o=o&255;if((o|32|0)!=97){B=97;o=1232+o|0;break}o=b[I+6>>0]|0;if(!(o<<24>>24)){o=67301;Ea=450;break i}o=o&255;if((o|32|0)!=103){B=103;o=1232+o|0;break}o=b[I+7>>0]|0;if(!(o<<24>>24)){o=67302;Ea=450;break i}o=o&255;if((o|32|0)!=101){B=101;o=1232+o|0;break}o=b[I+8>>0]|0;if(!(o<<24>>24)){o=67303;Ea=450;break i}o=o&255;if((o|32|0)!=105){B=105;o=1232+o|0;break}o=b[I+9>>0]|0;if(!(o<<24>>24)){o=67304;Ea=450;break i}o=o&255;if((o|32|0)==100){o=6;break g}else{B=100;o=1232+o|0}}else B=108;while(0);A=h[o>>0]|0;o=B}while(0);if((Ea|0)==450){Ea=0;A=0;o=b[1232+(h[o>>0]|0)>>0]|0}if((A|0)==(o&255|0)){o=6;break}if(E){o=b[I>>0]|0;j:do if(!(o<<24>>24)){o=67306;Ea=457}else{F=o&255;o=1232+F|0;do if((F|32|0)==110){o=b[I+1>>0]|0;if(!(o<<24>>24)){o=67307;Ea=457;break j}o=o&255;if((o|32|0)!=111){B=111;o=1232+o|0;break}o=b[I+2>>0]|0;if(!(o<<24>>24)){o=67308;Ea=457;break j}o=o&255;if((o|32|0)!=116){B=116;o=1232+o|0;break}o=b[I+3>>0]|0;if(!(o<<24>>24)){o=67309;Ea=457;break j}o=o&255;if((o|32|0)!=105){B=105;o=1232+o|0;break}o=b[I+4>>0]|0;if(!(o<<24>>24)){o=67310;Ea=457;break j}o=o&255;if((o|32|0)!=110){B=110;o=1232+o|0;break}o=b[I+5>>0]|0;if(!(o<<24>>24)){o=67311;Ea=457;break j}o=o&255;if((o|32|0)!=100){B=100;o=1232+o|0;break}o=b[I+6>>0]|0;if(!(o<<24>>24)){o=67312;Ea=457;break j}o=o&255;if((o|32|0)!=101){B=101;o=1232+o|0;break}o=b[I+7>>0]|0;if(!(o<<24>>24)){o=67313;Ea=457;break j}o=o&255;if((o|32|0)!=120){B=120;o=1232+o|0;break}o=b[I+8>>0]|0;if(!(o<<24>>24)){o=67314;Ea=457;break j}o=o&255;if((o|32|0)!=101){B=101;o=1232+o|0;break}o=b[I+9>>0]|0;if(!(o<<24>>24)){o=67315;Ea=457;break j}o=o&255;if((o|32|0)==100){o=7;break g}else{B=100;o=1232+o|0}}else B=110;while(0);A=h[o>>0]|0;o=B}while(0);if((Ea|0)==457){Ea=0;A=0;o=b[1232+(h[o>>0]|0)>>0]|0}if((A|0)==(o&255|0)){o=7;break}}}o=8}while(0);k:do switch(o&15){case 0:{if((wz(J)|0)==4){o=b[J>>0]|0;l:do if(!(o<<24>>24)){o=60061;Ea=46}else{I=o&255;o=1232+I|0;do if((I|32|0)==102){o=b[J+1>>0]|0;if(!(o<<24>>24)){o=60062;Ea=46;break l}o=o&255;if((o|32|0)!=116){A=116;o=1232+o|0;break}o=b[J+2>>0]|0;if(!(o<<24>>24)){o=60063;Ea=46;break l}o=o&255;if((o|32|0)!=115){A=115;o=1232+o|0;break}o=b[J+3>>0]|0;if(!(o<<24>>24)){o=60064;Ea=46;break l}if(o<<24>>24==51){z=1;o=G;break k}else{A=51;o=1232+(o&255)|0}}else A=102;while(0);z=h[o>>0]|0;o=A}while(0);if((Ea|0)==46){Ea=0;z=0;o=b[1232+(h[o>>0]|0)>>0]|0}if((z|0)==(o&255|0)){z=1;o=G;break k}}f[N>>2]=J;Ls(l,66568,N);f[Ha>>2]=1;z=1;o=G;break}case 1:{if(!v){F=z;v=J;break c}if(!(f[9328]|0)){ob[f[37360>>2]&127](v);F=z;v=J;break c}else{F=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);F=z;v=J;break c}}case 2:{if(!q){F=z;q=J;break c}if(!(f[9328]|0)){ob[f[37360>>2]&127](q);F=z;q=J;break c}else{F=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);F=z;q=J;break c}}case 3:{if(!r){F=z;r=J;break c}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);F=z;r=J;break c}else{F=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);F=z;r=J;break c}}case 4:{m:do switch(wz(J)|0){case 3:{C=b[J>>0]|0;do if(!(C<<24>>24)){o=66595;Ea=66}else{I=C&255;o=1232+I|0;if((I|32|0)==97){o=b[J+1>>0]|0;if(!(o<<24>>24)){o=66596;Ea=66;break}I=o&255;o=1232+I|0;if((I|32|0)==115){o=b[J+2>>0]|0;if(!(o<<24>>24)){o=66597;Ea=66;break}o=o&255;if((o|32|0)==99){o=C;break m}else{B=99;o=1232+o|0}}else B=115}else B=97;A=h[o>>0]|0;o=B}while(0);if((Ea|0)==66){Ea=0;A=0;o=b[1232+(h[o>>0]|0)>>0]|0}if((A|0)==(o&255|0))o=C;else Ea=77;break}case 4:{C=b[J>>0]|0;n:do if(!(C<<24>>24)){o=47811;Ea=72}else{I=C&255;o=1232+I|0;do if((I|32|0)==100){o=b[J+1>>0]|0;if(!(o<<24>>24)){o=47812;Ea=72;break n}I=o&255;o=1232+I|0;if((I|32|0)==101){o=b[J+2>>0]|0;if(!(o<<24>>24)){o=47813;Ea=72;break n}o=o&255;if((o|32|0)!=115){B=115;o=1232+o|0;break}o=b[J+3>>0]|0;if(!(o<<24>>24)){o=47814;Ea=72;break n}o=o&255;if((o|32|0)==99){o=C;break m}else{B=99;o=1232+o|0}}else B=101}else B=100;while(0);A=h[o>>0]|0;o=B}while(0);if((Ea|0)==72){Ea=0;A=0;o=b[1232+(h[o>>0]|0)>>0]|0}if((A|0)==(o&255|0))o=C;else Ea=77;break}default:Ea=77}while(0);if((Ea|0)==77){Ea=0;f[P>>2]=J;Ls(l,66599,P);f[Ha>>2]=1;o=b[J>>0]|0}o=(o|32)<<24>>24==100&1;break}case 5:{if(!s){F=z;s=J;break c}if(!(f[9328]|0)){ob[f[37360>>2]&127](s);F=z;s=J;break c}else{F=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);F=z;s=J;break c}}case 6:{if(!u){F=z;u=J;break c}if(!(f[9328]|0)){ob[f[37360>>2]&127](u);F=z;u=J;break c}else{F=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);F=z;u=J;break c}}case 7:{f[m+(w<<2)>>2]=H;F=z;w=w+1|0;break c}default:{f[Q>>2]=I;Ls(l,66622,Q);f[Ha>>2]=1;o=G}}while(0);if(!J){F=z;G=o;break c}if(!(f[9328]|0)){ob[f[37360>>2]&127](J);F=z;G=o;break c}else{F=ib[f[37368>>2]&255](J)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](J);F=z;G=o;break c}}while(0);p=p+1+(wz(I)|0)|0;f[n+(y<<2)>>2]=I;y=y+1|0;F=z}while(0);x=x+1|0;o=f[Ha>>2]|0;z=(o|0)==0;if(!((x|0)<(g|0)&z))break;z=F;o=f[Ga>>2]|0}o:do if((s|0)!=0&z){do if(q|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{Q=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);do if(r|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{Q=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);if(y|0){x=n;r=0;q=0;o=f[Ha>>2]|0;Ea=162;break}if(!(f[9328]|0))ob[f[37360>>2]&127](n);else{Q=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n)}o=f[_>>2]|0;f[la>>2]=0;f[O>>2]=o;f[O+4>>2]=s;o=wd(60843,O)|0;if(o){n=Ki(c,o,-1,0,0,la,0)|0;p=(n|0)==0;if(!p){Q=Mj(c)|0;f[R>>2]=Q;Ls(l,40840,R)}if(!(f[9328]|0))ob[f[37360>>2]&127](o);else{R=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o)}if(p){D=f[la>>2]|0;B=(D|0)==0;p:do if(!B?(T=D+140|0,S=d[T>>1]|0,U=S&65535,S<<16>>16!=0):0){y=D+100|0;x=0;o=0;n=S;while(1){r=f[D>>2]|0;do if(o>>>0<(n&65535)>>>0){n=f[y>>2]|0;p=n+(o*40|0)|0;q:do if(!p)n=0;else{q=d[n+(o*40|0)+8>>1]|0;do if((q&514)==514){if((b[n+(o*40|0)+10>>0]|0)!=1)break;n=f[n+(o*40|0)+16>>2]|0;break q}while(0);if(q&1){n=0;break}n=Ic(p,1)|0}while(0);p=r+81|0;if(!(b[p>>0]|0))break;if(f[r+180>>2]|0){n=0;break}b[p>>0]=0;f[r+264>>2]=0;n=r+272|0;f[n>>2]=(f[n>>2]|0)+-1;n=0}else n=0;while(0);n=x+1+(wz(n)|0)|0;o=o+1|0;if((o|0)==(U|0)){C=n;y=U;o=0;break p}x=n;n=d[T>>1]|0}}else{C=0;y=0;o=1}while(0);E=Fd(C+(y<<2)|0)|0;n=(E|0)==0;r:do if(o|n)o=n?7:0;else{n=E+(y<<2)|0;z=D+140|0;A=D+100|0;if(B){p=(wz(0)|0)+1|0;o=0;while(1){YA(n|0,0,p|0)|0;f[E+(o<<2)>>2]=n;o=o+1|0;if((o|0)==(y|0)){o=0;break r}else n=n+p|0}}x=0;while(1){r=f[D>>2]|0;do if(x>>>0<(j[z>>1]|0)>>>0){o=f[A>>2]|0;p=o+(x*40|0)|0;s:do if(!p)o=0;else{q=d[o+(x*40|0)+8>>1]|0;do if((q&514)==514){if((b[o+(x*40|0)+10>>0]|0)!=1)break;o=f[o+(x*40|0)+16>>2]|0;break s}while(0);if(q&1){o=0;break}o=Ic(p,1)|0}while(0);p=r+81|0;if(!(b[p>>0]|0))break;if(f[r+180>>2]|0){o=0;break}b[p>>0]=0;f[r+264>>2]=0;o=r+272|0;f[o>>2]=(f[o>>2]|0)+-1;o=0}else o=0;while(0);p=(wz(o)|0)+1|0;YA(n|0,o|0,p|0)|0;f[E+(x<<2)>>2]=n;x=x+1|0;if((x|0)==(y|0)){o=0;break}else n=n+p|0}}while(0);Fi(D)|0;f[Ha>>2]=o;if(!((u|0)!=0&(o|0)==0)){x=E;p=C;r=0;q=0;n=E;Ea=162;break}if(!y){o=F;p=G;x=E;r=0;q=0;n=E;Ea=164;break a}n=0;while(1){p=f[E+(n<<2)>>2]|0;if(p|0){U=b[u>>0]|0;o=(h[1232+(U&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0;if(!(U<<24>>24==0|(o|0)!=0)){q=u;do{q=q+1|0;p=p+1|0;U=b[q>>0]|0;o=(h[1232+(U&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0}while(!(U<<24>>24==0|(o|0)!=0))}if(!o)break}n=n+1|0;if(n>>>0>=y>>>0){x=E;p=C;r=0;q=0;n=E;break o}}if(n>>>0>>0)do{U=n;n=n+1|0;f[E+(U<<2)>>2]=f[E+(n<<2)>>2]}while((n|0)!=(y|0));x=E;y=y+-1|0;p=C;r=0;q=0;n=E;break}}else n=7;f[Ha>>2]=n;o=0;r=0;q=0;n=0;p=0;break a}else{x=n;Ea=162}while(0);if((Ea|0)==162)if(o){o=0;p=0;break}if(!y){o=F;p=G;Ea=164}else{D=F;C=G;E=x;I=y;B=p;Ea=165}}else{o=0;w=0;u=0;s=0;v=0;p=0;x=n;r=0;q=0;Ea=164}while(0);if((Ea|0)==164){f[x>>2]=63175;D=o;C=p;E=x;I=1;B=8;Ea=165}do if((Ea|0)==165){if((f[Ga>>2]|0)==0?(e=Eu(e,59996,Ga,l)|0,f[Ha>>2]=e,e|0):0){o=0;p=0;break}y=(v|0)!=0;t:do if(y?(V=b[v>>0]|0,V<<24>>24!=0):0){x=v;o=2;p=V;while(1){switch(p<<24>>24){case 0:break t;case 44:{o=o+1|0;break}default:{}}p=x+1|0;x=p;p=b[p>>0]|0}}else o=1;while(0);p=o*24|0;O=Fd(p)|0;u:do if(O){_A(O|0,0,p|0)|0;if(y&(o|0)>1){A=v;p=1;while(1){y=b[A>>0]|0;if((y+-48&255)>=10)break;z=A;x=0;do{x=(y<<24>>24)+-48+(x*10|0)|0;if((x|0)>1e7){x=0;break}z=z+1|0;y=b[z>>0]|0}while((y+-48&255)<10);if((z|0)==(A|0))break;if(!x){p=p+-1|0;o=o+-1|0}else f[O+(p*24|0)>>2]=x;p=p+1|0;if((p|0)>=(o|0)){p=0;Ea=185;break u}else A=z+1|0}f[Ha>>2]=1;f[W>>2]=v;Ls(l,66649,W);y=0;o=f[Ha>>2]|0}else{p=0;Ea=185}}else{o=0;p=7;Ea=185}while(0);if((Ea|0)==185){f[Ha>>2]=p;y=o;o=p}if(!o){x=y*24|0;p=X+289+Z+B+I+(I<<2)+x|0;o=Fd(p)|0;if(!o){f[Ha>>2]=7;p=O;break}_A(o|0,0,p|0)|0;N=o+12|0;f[N>>2]=c;i=o+24|0;f[i>>2]=I;f[o+264>>2]=0;p=o+288|0;M=o+28|0;f[M>>2]=p;f[o+36>>2]=f[Ga>>2];f[o+260>>2]=1048576;J=o+234|0;b[J>>0]=ya&(D|0)==0&1;H=ya&1;L=o+233|0;b[L>>0]=H;b[o+232>>0]=H;b[o+235>>0]=C;f[o+48>>2]=255;H=o+40|0;f[H>>2]=s;g=o+44|0;f[g>>2]=u;p=p+(I<<2)|0;u=o+256|0;f[u>>2]=p;YA(p|0,O|0,x|0)|0;f[o+252>>2]=y;p=f[u>>2]|0;if((y|0)>0){s=0;do{b[p+(s*24|0)+4>>0]=1;b[p+(s*24|0)+5>>0]=1;p=p+(s*24|0)+8|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;s=s+1|0;p=f[u>>2]|0}while((s|0)!=(y|0))}p=p+(y*24|0)|0;F=o+32|0;f[F>>2]=p;p=p+I|0;K=o+20|0;f[K>>2]=p;YA(p|0,f[Y>>2]|0,Z|0)|0;p=p+Z|0;G=o+16|0;f[G>>2]=p;YA(p|0,f[_>>2]|0,$|0)|0;C=(I|0)>0;if(C){B=0;A=p+$|0;while(1){z=f[E+(B<<2)>>2]|0;v:while(1){y=b[z>>0]|0;s=y<<24>>24;switch(s|0){case 0:break v;case 96:case 34:case 39:{Ea=198;break v}case 91:{Ea=197;break v}default:{}}if(s&128|0){Ea=206;break}p=z+1|0;if(!(b[24528+s>>0]|0))z=p;else{Ea=208;break}}w:do if((Ea|0)==197){p=z;while(1){s=p+1|0;Ea=b[s>>0]|0;u=Ea<<24>>24==0;if(u^Ea<<24>>24!=93)p=s;else break}p=u?s:p+2|0;Ea=212}else if((Ea|0)==198){p=z+1|0;s=b[p>>0]|0;if(!(s<<24>>24))Ea=212;else{x=z;while(1){if(s<<24>>24==y<<24>>24){p=x+2|0;if((b[p>>0]|0)!=y<<24>>24){Ea=212;break w}}u=p+1|0;s=b[u>>0]|0;if(!(s<<24>>24)){p=u;Ea=212;break}else{x=p;p=u}}}}else if((Ea|0)==206){p=z+1|0;Ea=208}while(0);x:do if((Ea|0)==208)while(1){Ea=b[p>>0]|0;if((Ea&128|0)==0?(b[24528+Ea>>0]|0)==0:0){Ea=212;break x}p=p+1|0}while(0);if((Ea|0)==212){Ea=0;p=p-z|0;if((p|0)>0){YA(A|0,z|0,p|0)|0;s=p}else s=p}b[A+s>>0]=0;p=b[A>>0]|0;switch(p<<24>>24){case 34:case 39:case 91:case 96:{z=p<<24>>24==91?93:p;u=b[A+1>>0]|0;y:do if(!(u<<24>>24))p=0;else{x=1;p=0;do{y=x+1|0;if(u<<24>>24==z<<24>>24){if((b[A+y>>0]|0)!=z<<24>>24)break y;b[A+p>>0]=z;x=x+2|0}else{b[A+p>>0]=u;x=y}p=p+1|0;u=b[A+x>>0]|0}while(u<<24>>24!=0)}while(0);b[A+p>>0]=0;break}default:{}}f[(f[M>>2]|0)+(B<<2)>>2]=A;B=B+1|0;if((B|0)>=(I|0))break;else A=A+(s+1)|0}if(C){D=(w|0)>0;C=0;do{E=wz(f[(f[M>>2]|0)+(C<<2)>>2]|0)|0;z:do if(D){if((E|0)<=0){p=0;while(1){s=m+(p<<2)|0;u=f[s>>2]|0;do if(u|0){if((E|0)!=(wz(u)|0))break;if(!(f[(f[M>>2]|0)+(C<<2)>>2]|0))break;b[(f[F>>2]|0)+C>>0]=1;if(!(f[9328]|0))ob[f[37360>>2]&127](u);else{$=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-$;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u)}f[s>>2]=0}while(0);p=p+1|0;if((p|0)==(w|0))break z}}z=0;do{A=m+(z<<2)|0;B=f[A>>2]|0;do if(B|0){if((E|0)!=(wz(B)|0))break;p=f[(f[M>>2]|0)+(C<<2)>>2]|0;if(!p)break;x=B;y=E;while(1){s=b[p>>0]|0;if(!(s<<24>>24)){Ea=238;break}s=b[1232+(s&255)>>0]|0;u=b[1232+(h[x>>0]|0)>>0]|0;if(s<<24>>24!=u<<24>>24){Ea=236;break}if((y|0)>1){p=p+1|0;x=x+1|0;y=y+-1|0}else break}if((Ea|0)==236){aa=s&255;ba=u;Ea=239}else if((Ea|0)==238){aa=0;ba=b[1232+(h[x>>0]|0)>>0]|0;Ea=239}if((Ea|0)==239?(Ea=0,(aa|0)!=(ba&255|0)):0)break;b[(f[F>>2]|0)+C>>0]=1;if(!(f[9328]|0))ob[f[37360>>2]&127](B);else{$=ib[f[37368>>2]&255](B)|0;f[18187]=(f[18187]|0)-$;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](B)}f[A>>2]=0}while(0);z=z+1|0}while((z|0)!=(w|0))}while(0);C=C+1|0}while((C|0)<(I|0))}}if((w|0)>0){p=0;do{s=f[m+(p<<2)>>2]|0;if(s|0){f[da>>2]=s;Ls(l,57072,da);f[Ha>>2]=1}p=p+1|0}while((p|0)!=(w|0))}if((f[Ha>>2]|0)==0?(ca=(q|0)==0,ca^(r|0)==0):0){f[Ha>>2]=1;f[ea>>2]=ca?66684:66693;Ls(l,66704,ea)}f[la>>2]=0;do if(!(f[H>>2]|0)){if(r){z=Fd(((wz(r)|0)<<1)+3|0)|0;if(!z){u=0;s=0}else{b[z>>0]=34;y=0;u=z;A:while(1){s=u+1|0;x=r+y|0;p=b[x>>0]|0;switch(p<<24>>24){case 0:break A;case 34:{b[s>>0]=34;s=u+2|0;p=b[x>>0]|0;break}default:{}}b[s>>0]=p;y=y+1|0;u=s}b[s>>0]=34;b[u+2>>0]=0;u=z;s=z}}else{u=72788;s=0;r=0}Fu(Ha,la,66745,ia);if((f[i>>2]|0)>0){p=0;do{ia=f[(f[M>>2]|0)+(p<<2)>>2]|0;f[ja>>2]=u;f[ja+4>>2]=p;f[ja+8>>2]=ia;Fu(Ha,la,66751,ja);p=p+1|0}while((p|0)<(f[i>>2]|0))}if(f[g>>2]|0){f[ka>>2]=66773;Fu(Ha,la,66766,ka)}if(s)if(!(f[9328]|0)){ob[f[37360>>2]&127](s);z=r;break}else{z=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);z=r;break}else z=r}else{Fu(Ha,la,47870,fa);if((f[i>>2]|0)>0){p=0;do{f[ga>>2]=f[(f[M>>2]|0)+(p<<2)>>2];Fu(Ha,la,66780,ga);p=p+1|0}while((p|0)<(f[i>>2]|0))}p=f[g>>2]|0;if(!p)z=r;else{f[ha>>2]=p;Fu(Ha,la,66766,ha);z=r}}while(0);p=f[H>>2]|0;r=(p|0)==0;if(r)p=f[K>>2]|0;f[ma>>2]=f[G>>2];f[ma+4>>2]=p;f[ma+8>>2]=r?66789:72788;Fu(Ha,la,66798,ma);f[o+220>>2]=f[la>>2];f[ma>>2]=0;if(q){y=Fd(((wz(q)|0)<<1)+3|0)|0;if(!y){s=0;r=0}else{b[y>>0]=34;x=0;s=y;B:while(1){r=s+1|0;u=q+x|0;p=b[u>>0]|0;switch(p<<24>>24){case 0:break B;case 34:{b[r>>0]=34;r=s+2|0;p=b[u>>0]|0;break}default:{}}b[r>>0]=p;x=x+1|0;s=r}b[r>>0]=34;b[s+2>>0]=0;s=y;r=y}}else{s=72788;r=0;q=0}Fu(Ha,ma,46041,Aa);if((f[i>>2]|0)>0){p=0;do{f[na>>2]=s;Fu(Ha,ma,66821,na);p=p+1|0}while((p|0)<(f[i>>2]|0))}if(f[g>>2]|0)Fu(Ha,ma,66828,oa);do if(r|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{oa=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);f[o+224>>2]=f[ma>>2];if(f[Ha>>2]|0){u=0;s=0;r=z;p=O;break}x=(a|0)!=0;if(x){f[Aa>>2]=0;u=f[N>>2]|0;C:do if(!(f[H>>2]|0)){s=f[g>>2]|0;p=wd(66832,pa)|0;D:do if(p|0){r=0;while(1){if((r|0)>=(f[i>>2]|0))break;pa=f[(f[M>>2]|0)+(r<<2)>>2]|0;f[qa>>2]=p;f[qa+4>>2]=r;f[qa+8>>2]=pa;p=wd(66858,qa)|0;if(!p)break D;else r=r+1|0}if(s){f[ra>>2]=p;f[ra+4>>2]=s;p=wd(66870,ra)|0;if(!p)break}sa=f[K>>2]|0;f[ta>>2]=f[G>>2];f[ta+4>>2]=sa;f[ta+8>>2]=p;jt(Aa,u,66881,ta);if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break C}else{ta=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break C}}while(0);f[Aa>>2]=7;ta=f[K>>2]|0;f[sa>>2]=f[G>>2];f[sa+4>>2]=ta;f[sa+8>>2]=0;jt(Aa,u,66881,sa)}while(0);ta=f[K>>2]|0;f[ua>>2]=f[G>>2];f[ua+4>>2]=ta;jt(Aa,u,66914,ua);ua=f[K>>2]|0;f[va>>2]=f[G>>2];f[va+4>>2]=ua;jt(Aa,u,66986,va);if(b[J>>0]|0){va=f[K>>2]|0;f[wa>>2]=f[G>>2];f[wa+4>>2]=va;jt(Aa,u,67139,wa)}do if(!(b[L>>0]|0))p=f[Aa>>2]|0;else{p=f[N>>2]|0;wa=f[K>>2]|0;f[xa>>2]=f[G>>2];f[xa+4>>2]=wa;jt(Aa,p,65640,xa);p=f[Aa>>2]|0;if(p|0)break;b[L>>0]=1;p=0}while(0);f[Ha>>2]=p}else p=0;if(!(x|ya))b[L>>0]=2;if(p|0){f[o+228>>2]=(f[o+240>>2]|0)+-35;u=0;s=0;r=z;p=O;break}f[za>>2]=f[G>>2];r=wd(61126,za)|0;do if(r){p=Ki(f[N>>2]|0,r,-1,0,0,Aa,0)|0;switch(p|0){case 0:{p=f[Aa>>2]|0;Ei(p)|0;Aa=Ip(p,0)|0;f[o+240>>2]=Aa;p=Fi(p)|0;break}case 23:{f[o+240>>2]=1024;p=0;break}default:{}}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{Aa=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-Aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}else p=7;while(0);f[Ha>>2]=p;f[o+228>>2]=(f[o+240>>2]|0)+-35;if(p|0){u=0;s=0;r=z;p=O;break}u=f[g>>2]|0;u=(u|0)==0?67207:u;p=f[N>>2]|0;f[Ba>>2]=1;eq(p,1,Ba)|0;f[Ca>>2]=f[f[M>>2]>>2];p=wd(67216,Ca)|0;E:do if(!p){s=0;p=0}else{r=1;while(1){if((r|0)>=(f[i>>2]|0)){s=p;p=1;break E}Ca=f[(f[M>>2]|0)+(r<<2)>>2]|0;f[Da>>2]=p;f[Da+4>>2]=Ca;p=wd(67221,Da)|0;if(!p){s=0;p=0;break}else r=r+1|0}}while(0);r=f[K>>2]|0;f[Fa>>2]=s;f[Fa+4>>2]=r;f[Fa+8>>2]=u;r=wd(67228,Fa)|0;if(!(p&(r|0)!=0))if(!r)p=7;else{p=7;Ea=341}else{p=wk(f[N>>2]|0,r)|0;Ea=341}do if((Ea|0)==341)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{Fa=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);do if(s|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{Fa=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}while(0);f[Ha>>2]=p;u=0;s=0;r=z;p=O}else{o=0;p=O}}while(0);do if(v|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](v);break}else{Fa=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);break}while(0);do if(p|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{Fa=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);do if(q|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{Fa=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);do if(r|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{Fa=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);do if(s|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{Fa=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}while(0);do if(u|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{Fa=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}while(0);if((w|0)>0){p=0;do{q=f[m+(p<<2)>>2]|0;do if(q|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{Fa=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);p=p+1|0}while((p|0)!=(w|0))}}else{f[Ha>>2]=7;o=0;m=0}do if(n|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{Fa=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}while(0);do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{Fa=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);if(!(f[Ha>>2]|0)){f[k>>2]=o;Ha=f[Ha>>2]|0;t=Ia;return Ha|0}if(o|0){Ps(o)|0;Ha=f[Ha>>2]|0;t=Ia;return Ha|0}m=f[Ga>>2]|0;if(!m){Ha=f[Ha>>2]|0;t=Ia;return Ha|0}ib[f[(f[m>>2]|0)+8>>2]&255](m)|0;Ha=f[Ha>>2]|0;t=Ia;return Ha|0}function Eu(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;y=t;t=t+32|0;x=y+16|0;s=y+8|0;w=y;f[w>>2]=c;w=wd(40840,w)|0;if(!w){x=7;t=y;return x|0}v=w+(wz(w)|0)|0;l=w;a:while(1){k=b[l>>0]|0;h=k<<24>>24;switch(h|0){case 0:{c=0;break a}case 96:case 34:case 39:{u=5;break a}case 91:{u=4;break a}default:{}}if(h&128|0){u=13;break}c=l+1|0;if(!(b[24528+h>>0]|0))l=c;else{u=15;break}}b:do if((u|0)==4){c=l;while(1){h=c+1|0;u=b[h>>0]|0;i=u<<24>>24==0;if(i^u<<24>>24!=93)c=h;else break}c=i?h:c+2|0;u=19}else if((u|0)==5){c=l+1|0;h=b[c>>0]|0;if(!(h<<24>>24))u=19;else{j=l;while(1){if(h<<24>>24==k<<24>>24){c=j+2|0;if((b[c>>0]|0)!=k<<24>>24){u=19;break b}}i=c+1|0;h=b[i>>0]|0;if(!(h<<24>>24)){c=i;u=19;break}else{j=c;c=i}}}}else if((u|0)==13){c=l+1|0;u=15}while(0);c:do if((u|0)==15)while(1){u=b[c>>0]|0;if((u&128|0)==0?(b[24528+u>>0]|0)==0:0){u=19;break c}c=c+1|0}while(0);if((u|0)==19){h=c-l|0;c=l}m=(c|0)==0?w:c;b[m+h>>0]=0;c=b[m>>0]|0;switch(c<<24>>24){case 34:case 39:case 91:case 96:{l=c<<24>>24==91?93:c;i=b[m+1>>0]|0;d:do if(!(i<<24>>24))c=0;else{j=1;c=0;do{k=j+1|0;if(i<<24>>24==l<<24>>24){if((b[m+k>>0]|0)!=l<<24>>24)break d;b[m+c>>0]=l;j=j+2|0}else{b[m+c>>0]=i;j=k}c=c+1|0;i=b[m+j>>0]|0}while(i<<24>>24!=0)}while(0);b[m+c>>0]=0;break}default:{}}i=(wz(m)|0)+1|0;e:do if((((a|0)!=0?(n=a+16|0,(f[n>>2]|0)!=0):0)?(o=jb[(b[a>>0]<<24>>24==1?171:172)&255](m,i)|0,o=(f[a+12>>2]|0)+-1&o,p=f[n>>2]|0,(p|0)!=0):0)?(q=f[p+(o<<3)>>2]|0,r=(b[a>>0]|0)==1?87:88,g=f[p+(o<<3)+4>>2]|0,(q|0)!=0&(g|0)!=0):0){c=q;while(1){c=c+-1|0;if(!(lb[r&127](f[g+12>>2]|0,f[g+16>>2]|0,m,i)|0))break;g=f[g>>2]|0;if(!((c|0)!=0&(g|0)!=0)){u=37;break e}}n=f[g+8>>2]|0;if(n){g=m+(h+1)|0;f:do if(g>>>0>>0){a=0;l=0;c=0;while(1){g:while(1){k=b[g>>0]|0;i=k<<24>>24;switch(i|0){case 0:{h=a;g=l;break f}case 96:case 34:case 39:{u=43;break g}case 91:{u=42;break g}default:{}}if(i&128|0){u=51;break}h=g+1|0;if(!(b[24528+i>>0]|0))g=h;else{u=53;break}}h:do if((u|0)==42){h=g;while(1){i=h+1|0;u=b[i>>0]|0;j=u<<24>>24==0;if(j^u<<24>>24!=93)h=i;else break}h=j?i:h+2|0;u=57}else if((u|0)==43){u=0;i=g+1|0;j=b[i>>0]|0;if(!(j<<24>>24))l=1;else{h=g;while(1){if(j<<24>>24==k<<24>>24){h=h+2|0;if((b[h>>0]|0)!=k<<24>>24){u=57;break h}}else h=i;i=h+1|0;j=b[i>>0]|0;if(!(j<<24>>24)){h=i;u=57;break}}}}else if((u|0)==51){h=g+1|0;u=53}while(0);i:do if((u|0)==53)while(1){u=b[h>>0]|0;if((u&128|0)==0?(b[24528+u>>0]|0)==0:0){u=57;break i}h=h+1|0}while(0);if((u|0)==57){u=0;if(!g){h=a;g=l;break f}else l=h-g|0}i=a;a=a+1|0;h=a<<2;if(Mc()|0)break;m=Nc(c,(h|0)>0?h:0,0)|0;if(!m)break;f[m+(i<<2)>>2]=g;b[g+l>>0]=0;c=b[g>>0]|0;switch(c<<24>>24){case 34:case 39:case 91:case 96:{k=c<<24>>24==91?93:c;h=b[g+1>>0]|0;j:do if(!(h<<24>>24))c=0;else{i=1;c=0;do{j=i+1|0;if(h<<24>>24==k<<24>>24){if((b[g+j>>0]|0)!=k<<24>>24)break j;b[g+c>>0]=k;i=i+2|0}else{b[g+c>>0]=h;i=j}c=c+1|0;h=b[g+i>>0]|0}while(h<<24>>24!=0)}while(0);b[g+c>>0]=0;break}default:{}}g=g+(l+1)|0;if(g>>>0>=v>>>0){u=77;break}else{l=m;c=m}}if((u|0)==77){h=a;g=m;c=m;break}if(!(f[9328]|0))ob[f[37360>>2]&127](w);else{x=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w)}if(!c){x=7;t=y;return x|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);x=7;t=y;return x|0}else{x=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);x=7;t=y;return x|0}}else{h=0;g=0;c=0}while(0);g=kb[f[n+4>>2]&127](h,g,d)|0;if(!g)f[f[d>>2]>>2]=n;else Ls(e,67317,x);if(c)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{x=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}else u=37}else u=37;while(0);if((u|0)==37){f[s>>2]=m;Ls(e,63153,s);g=1}if(!(f[9328]|0)){ob[f[37360>>2]&127](w);x=g;t=y;return x|0}else{x=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);x=g;t=y;return x|0}return 0}function Fu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;i=t;t=t+32|0;g=i+16|0;e=i;if(f[a>>2]|0){t=i;return}f[e>>2]=d;e=lp(c,e)|0;if(e){c=f[b>>2]|0;if(c){f[g>>2]=c;f[g+4>>2]=e;c=wd(49509,g)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{g=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}if(!c)h=8}else c=e}else h=8;if((h|0)==8){f[a>>2]=7;c=0}he(f[b>>2]|0);f[b>>2]=c;t=i;return}function Gu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(Mc()|0){c=7;return c|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](16)|0;if(!e){c=7;return c|0}}else{g=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;e=71896;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){i=f[18187]|0;h=LA(d|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&h>>>0<=i>>>0)&1}e=ib[f[37356>>2]&255](g)|0;if(!e){c=7;return c|0}d=ib[f[37368>>2]&255](e)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d};f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;i=e+4|0;f[i>>2]=1;do if((a|0)>0){h=0;a:while(1){d=f[b+(h<<2)>>2]|0;g=wz(d)|0;do if((g|0)==19){if(!(Hz(67380,d,19)|0)){f[i>>2]=1;d=0;break}if(!(Hz(67400,d,19)|0)){f[i>>2]=0;d=0}else j=21}else if((g|0)>10)j=21;else{d=1;break a}while(0);do if((j|0)==21){j=0;if(!(Hz(67420,d,11)|0)){d=Lu(e,1,d+11|0,g+-11|0)|0;break}if(Hz(67432,d,11)|0){d=1;break a}d=Lu(e,0,d+11|0,g+-11|0)|0}while(0);h=h+1|0;g=(d|0)==0;if(!((h|0)<(a|0)&g)){j=26;break}}if((j|0)==26)if(g){d=0;break}if(e){g=f[e+12>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{j=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);e=0;break}else{j=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);e=0;break}}else e=0}else d=0;while(0);f[c>>2]=e;c=d;return c|0}function Hu(a){a=a|0;var b=0,c=0;if(!a)return 0;b=f[a+12>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Iu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if(Mc()|0){d=7;return d|0}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](28)|0;if(!a){d=7;return d|0}}else{g=ib[f[37372>>2]&255](28)|0;if((f[18194]|0)>>>0<28)f[18194]=28;e=71896;a=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&a>>>0>0){h=f[18187]|0;e=LA(a|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&e>>>0<=h>>>0)&1}a=ib[f[37356>>2]&255](g)|0;if(!a){h=7;return h|0}e=ib[f[37368>>2]&255](a)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e};f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+4>>2]=b;if(b){if((c|0)<0)c=wz(b)|0}else c=0;f[a+8>>2]=c;f[d>>2]=a;h=0;return h|0}function Ju(a){a=a|0;var b=0,c=0;b=f[a+20>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Ku(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;u=f[a>>2]|0;D=a+4|0;z=f[D>>2]|0;E=a+12|0;A=f[E>>2]|0;k=z+A|0;C=f[a+8>>2]|0;z=z+C|0;if((A|0)>=(C|0)){E=101;return E|0}A=u+8|0;x=f[A>>2]|0;C=u+12|0;s=x+-1|0;a:do if((x|0)>0){t=f[C>>2]|0;while(1){m=k+1|0;n=b[k>>0]|0;l=n&255;if((n&255)>191){l=h[5728+(l+-192)>>0]|0;b:do if((m|0)==(z|0))m=z;else while(1){n=b[m>>0]|0;if((n&-64)<<24>>24!=-128)break b;m=m+1|0;l=l<<6|n&63;if((m|0)==(z|0)){m=z;break}}while(0);if(!((l&-2|0)==65534|(l>>>0<128|(l&-2048|0)==55296)))if(l>>>0<4194304)y=15;else n=1;else{l=65533;y=15}}else if(n<<24>>24>-1)n=(f[24656+(l>>>5<<2)>>2]&1<<(l&31)|0)==0;else y=15;if((y|0)==15){y=0;q=l<<10|1023;n=0;o=405;p=0;do{x=(o+n|0)/2|0;w=q>>>0<(f[24672+(x<<2)>>2]|0)>>>0;p=w?p:x;o=w?x+-1|0:o;n=w?n:x+1|0}while((o|0)>=(n|0));n=f[24672+(p<<2)>>2]|0;n=((n>>>10)+(n&1023)|0)>>>0<=l>>>0}r=n&1;n=s;o=0;while(1){p=(o+n|0)/2|0;x=f[t+(p<<2)>>2]|0;q=(x|0)<(l|0);if((x|0)==(l|0)){n=1;break}n=q?n:p+-1|0;o=q?p+1|0:o;if((n|0)<(o|0)){n=0;break}}if((n|0)!=(r|0)){x=k;break a}if(m>>>0>>0)k=m;else{k=101;break}}return k|0}else{while(1){n=k+1|0;m=b[k>>0]|0;l=m&255;if((m&255)>191){l=h[5728+(l+-192)>>0]|0;c:do if((n|0)==(z|0))m=z;else while(1){m=b[n>>0]|0;if((m&-64)<<24>>24!=-128){m=n;break c}n=n+1|0;l=l<<6|m&63;if((n|0)==(z|0)){m=z;break}}while(0);if(!((l&-2|0)==65534|(l>>>0<128|(l&-2048|0)==55296)))if(l>>>0<4194304)y=32;else{x=k;break a}else{l=65533;y=32}}else if(m<<24>>24>-1)if(!(f[24656+(l>>>5<<2)>>2]&1<<(l&31))){x=k;m=n;break a}else k=n;else{m=n;y=32}if((y|0)==32){y=0;q=l<<10|1023;n=0;o=405;p=0;do{x=(o+n|0)/2|0;w=q>>>0<(f[24672+(x<<2)>>2]|0)>>>0;p=w?p:x;o=w?x+-1|0:o;n=w?n:x+1|0}while((o|0)>=(n|0));x=f[24672+(p<<2)>>2]|0;if(((x>>>10)+(x&1023)|0)>>>0>l>>>0)k=m;else{x=k;break a}}if(k>>>0>=z>>>0){k=101;break}}return k|0}while(0);w=a+20|0;n=f[w>>2]|0;v=a+24|0;u=u+4|0;p=n;while(1){o=p;k=f[v>>2]|0;if((o-n|0)<(k+-4|0))t=p;else{k=k+64|0;if(Mc()|0){k=7;y=84;break}k=Nc(n,(k|0)>0?k:0,0)|0;if(!k){k=7;y=84;break}t=k+(o-(f[w>>2]|0))|0;f[w>>2]=k;f[v>>2]=(f[v>>2]|0)+64}p=f[u>>2]|0;do if((l|0)>=128){if((l|0)>=65536)if((l+-66560|0)>>>0<40){l=l+40|0;y=56;break}else{y=59;break}k=162;o=-1;n=0;do{y=(n+k|0)/2|0;s=(l|0)<(j[27152+(y<<2)>>1]|0);n=s?n:y+1|0;o=s?o:y;k=s?y+-1|0:k}while((k|0)>=(n|0));k=j[27152+(o<<2)>>1]|0;if(((h[27152+(o<<2)+3>>0]|0)+k|0)>(l|0)?(B=h[27152+(o<<2)+2>>0]|0,((l^k)&1&B|0)==0):0)l=l+(j[26304+(B>>>1<<1)>>1]|0)&65535;if(p){p=l<<3|7;k=0;n=100;o=0;do{y=(n+k|0)/2|0;s=p>>>0<(j[26464+(y<<1)>>1]|0)>>>0;n=s?y+-1|0:n;k=s?k:y+1|0;o=s?o:y}while((n|0)>=(k|0));y=j[26464+(o<<1)>>1]|0;if(((y>>>3)+(y&7)|0)>=(l|0)){l=b[26672+o>>0]|0;y=55}else y=55}else y=55}else{l=(l+-65|0)>>>0<26?l+32|0:l;y=55}while(0);if((y|0)==55){y=0;if(l)y=56}if((y|0)==56)if((l|0)>=128)if((l|0)>=2048)if((l|0)<65536){o=t;k=3;n=2;p=1;q=224;r=15;y=60}else y=59;else{q=t;k=2;n=1;o=192;p=31;y=61}else{n=t;k=1;y=62}if((y|0)==59){b[t>>0]=l>>>18&7|240;o=t+1|0;k=4;n=3;p=2;q=128;r=63;y=60}if((y|0)==60){b[o>>0]=l>>>12&r|q;q=t+p|0;o=128;p=63;y=61}if((y|0)==61){b[q>>0]=l>>>6&p|o;n=t+n|0;l=l&63|128;y=62}if((y|0)==62){y=0;b[n>>0]=l;t=t+k|0}if(m>>>0>=z>>>0){k=m;y=83;break}k=m+1|0;n=b[m>>0]|0;l=n&255;if((n&255)>191){l=h[5728+(l+-192)>>0]|0;d:do if((k|0)==(z|0))k=z;else while(1){n=b[k>>0]|0;if((n&-64)<<24>>24!=-128)break d;k=k+1|0;l=l<<6|n&63;if((k|0)==(z|0)){k=z;break}}while(0);if(!((l&-2|0)==65534|(l>>>0<128|(l&-2048|0)==55296)))if(l>>>0<4194304)y=73;else n=1;else{l=65533;y=73}}else if(n<<24>>24>-1)n=(f[24656+(l>>>5<<2)>>2]&1<<(l&31)|0)==0;else y=73;if((y|0)==73){q=l<<10|1023;n=0;o=405;p=0;do{y=(o+n|0)/2|0;s=q>>>0<(f[24672+(y<<2)>>2]|0)>>>0;p=s?p:y;o=s?y+-1|0:o;n=s?n:y+1|0}while((o|0)>=(n|0));n=f[24672+(p<<2)>>2]|0;n=((n>>>10)+(n&1023)|0)>>>0<=l>>>0}s=n&1;n=f[A>>2]|0;e:do if((n|0)>0){r=f[C>>2]|0;n=n+-1|0;o=0;while(1){p=(o+n|0)/2|0;y=f[r+(p<<2)>>2]|0;q=(y|0)<(l|0);if((y|0)==(l|0)){n=1;break e}n=q?n:p+-1|0;o=q?p+1|0:o;if((n|0)<(o|0)){n=0;break}}}else n=0;while(0);if((n|0)==(s|0)){n=l+-768|0;if(n>>>0>49){y=83;break}y=(l|0)<800;if(!(1<<(y?n:l+-800|0)&(y?134389727:221688))){y=83;break}}p=t;m=k;n=f[w>>2]|0}if((y|0)==83){f[E>>2]=k-(f[D>>2]|0);f[c>>2]=f[w>>2];f[d>>2]=t-(f[w>>2]|0);D=f[D>>2]|0;f[e>>2]=x-D;f[g>>2]=m-D;D=a+16|0;E=f[D>>2]|0;f[D>>2]=E+1;f[i>>2]=E;E=0;return E|0}else if((y|0)==84)return k|0;return 0}function Lu(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=d+e|0;n=(e|0)>0;if(!n){q=0;return q|0}m=0;e=d;while(1){j=e+1|0;e=b[e>>0]|0;g=e&255;if((e&255)>191){e=h[5728+(g+-192)>>0]|0;a:do if((j|0)==(p|0)){g=e;e=p}else{g=e;e=j;while(1){i=b[e>>0]|0;if((i&-64)<<24>>24!=-128)break a;e=e+1|0;g=g<<6|i&63;if((e|0)==(p|0)){e=p;break}}}while(0);if(!((g&-2|0)==65534|(g>>>0<128|(g&-2048|0)==55296)))if(g>>>0<4194304)q=12;else i=1;else{g=65533;q=12}}else if(e<<24>>24>-1){i=(f[24656+(g>>>5<<2)>>2]&1<<(g&31)|0)==0;e=j}else{e=j;q=12}if((q|0)==12){q=0;l=g<<10|1023;i=0;j=405;k=0;do{o=(j+i|0)/2|0;r=l>>>0<(f[24672+(o<<2)>>2]|0)>>>0;k=r?k:o;j=r?o+-1|0:j;i=r?i:o+1|0}while((j|0)>=(i|0));i=f[24672+(k<<2)>>2]|0;i=((i>>>10)+(i&1023)|0)>>>0<=g>>>0}do if((i&1|0)==(c|0))g=m;else{i=g+-768|0;if(i>>>0<=49?(r=(g|0)<800,1<<(r?i:g+-800|0)&(r?134389727:221688)|0):0){g=m;break}g=m+1|0}while(0);if(e>>>0

>>0)m=g;else break}if(!g){r=0;return r|0}o=a+12|0;i=f[o>>2]|0;a=a+8|0;e=(f[a>>2]|0)+g<<2;if(Mc()|0){r=7;return r|0}m=Nc(i,(e|0)>0?e:0,0)|0;if(!m){r=7;return r|0}e=f[a>>2]|0;if(n)do{j=d+1|0;d=b[d>>0]|0;g=d&255;if((d&255)>191){d=h[5728+(g+-192)>>0]|0;b:do if((j|0)==(p|0)){g=d;d=p}else{g=d;d=j;while(1){i=b[d>>0]|0;if((i&-64)<<24>>24!=-128)break b;d=d+1|0;g=g<<6|i&63;if((d|0)==(p|0)){d=p;break}}}while(0);if(!((g&-2|0)==65534|(g>>>0<128|(g&-2048|0)==55296)))if(g>>>0<4194304)q=34;else i=1;else{g=65533;q=34}}else if(d<<24>>24>-1){i=(f[24656+(g>>>5<<2)>>2]&1<<(g&31)|0)==0;d=j}else{d=j;q=34}if((q|0)==34){q=0;l=g<<10|1023;i=0;j=405;k=0;do{r=(j+i|0)/2|0;n=l>>>0<(f[24672+(r<<2)>>2]|0)>>>0;k=n?k:r;j=n?r+-1|0:j;i=n?i:r+1|0}while((j|0)>=(i|0));i=f[24672+(k<<2)>>2]|0;i=((i>>>10)+(i&1023)|0)>>>0<=g>>>0}do if((i&1|0)!=(c|0)){i=g+-768|0;if(i>>>0<=49?(r=(g|0)<800,1<<(r?i:g+-800|0)&(r?134389727:221688)|0):0)break;c:do if((e|0)>0){i=0;do{if((f[m+(i<<2)>>2]|0)>=(g|0))break c;i=i+1|0}while((i|0)<(e|0))}else i=0;while(0);if((e|0)>(i|0)){j=e;do{r=j;j=j+-1|0;f[m+(r<<2)>>2]=f[m+(j<<2)>>2]}while((j|0)>(i|0))}f[m+(i<<2)>>2]=g;e=e+1|0}while(0)}while(d>>>0

>>0);f[o>>2]=m;f[a>>2]=e;r=0;return r|0}function Mu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(Mc()|0){c=7;return c|0}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](4)|0;if(!a){c=7;return c|0}}else{d=ib[f[37372>>2]&255](4)|0;if((f[18194]|0)>>>0<4)f[18194]=4;b=71896;a=f[b>>2]|0;b=f[b+4>>2]|0;if((b|0)>0|(b|0)==0&a>>>0>0){e=f[18187]|0;b=LA(a|0,b|0,d|0,((d|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&b>>>0<=e>>>0)&1}a=ib[f[37356>>2]&255](d)|0;if(!a){e=7;return e|0}b=ib[f[37368>>2]&255](a)|0;b=(f[18187]|0)+b|0;f[18187]=b;if(b>>>0>(f[18191]|0)>>>0)f[18191]=b;b=(f[18190]|0)+1|0;f[18190]=b;if(b>>>0>(f[18196]|0)>>>0)f[18196]=b}f[a>>2]=0;f[c>>2]=a;e=0;return e|0}function Nu(a){a=a|0;var b=0;if(!a)return 0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Ou(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if(Mc()|0){d=7;return d|0}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](28)|0;if(!a){d=7;return d|0}}else{g=ib[f[37372>>2]&255](28)|0;if((f[18194]|0)>>>0<28)f[18194]=28;e=71896;a=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&a>>>0>0){h=f[18187]|0;e=LA(a|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&e>>>0<=h>>>0)&1}a=ib[f[37356>>2]&255](g)|0;if(!a){h=7;return h|0}e=ib[f[37368>>2]&255](a)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}f[a+4>>2]=b;if(b){if((c|0)<0)c=wz(b)|0}else c=0;f[a+8>>2]=c;h=a+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[d>>2]=a;h=0;return h|0}function Pu(a){a=a|0;var b=0,c=0;b=f[a+20>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Qu(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;la=t;t=t+32|0;q=la;p=f[a+4>>2]|0;ka=a+12|0;i=f[ka>>2]|0;o=f[a+8>>2]|0;if((i|0)>=(o|0)){ka=101;t=la;return ka|0}while(1){a:do if((i|0)<(o|0))while(1){l=b[p+i>>0]|0;n=l<<24>>24;if(n&128|0){ja=i;break a}if(l<<24>>24>=48?b[26784+(n+-48)>>0]|0:0){ja=i;break a}i=i+1|0;f[ka>>2]=i;if((i|0)>=(o|0)){ja=i;break}}else ja=i;while(0);if((ja|0)<(o|0)){i=ja;do{l=b[p+i>>0]|0;n=l<<24>>24;if(!(n&128)){if(l<<24>>24<48)break;if(!(b[26784+(n+-48)>>0]|0))break}i=i+1|0;f[ka>>2]=i}while((i|0)<(o|0));if((i|0)>(ja|0))break}else i=ja;if((i|0)>=(o|0)){i=101;ga=564;break}}if((ga|0)==564){t=la;return i|0}r=i-ja|0;i=a+24|0;do if((r|0)>(f[i>>2]|0)){l=r+20|0;f[i>>2]=l;n=a+20|0;i=f[n>>2]|0;if(Mc()|0){ka=7;t=la;return ka|0}i=Nc(i,(l|0)>0?l:0,0)|0;if(!i){ka=7;t=la;return ka|0}else{f[n>>2]=i;ia=n;ha=i;break}}else{ha=a+20|0;ia=ha;ha=f[ha>>2]|0}while(0);o=p+ja|0;do if((r+-3|0)>>>0<=17){l=22;n=0;while(1){i=b[o+n>>0]|0;if((i+-65&255)>=26){if((i+-97&255)>=26){ga=39;break}}else i=(i&255)+32&255;b[q+l>>0]=i;n=n+1|0;if((n|0)>=(r|0))break;else l=l+-1|0}if((ga|0)==39){i=0;k=0;do{j=b[o+k>>0]|0;if((j+-65&255)<26)j=(j&255)+32&255;else i=(j+-48&255)<10?1:i;b[ha+k>>0]=j;k=k+1|0}while((k|0)!=(r|0));j=(i|0)==0?10:3;if((j<<1|0)<(r|0)){i=j;j=r-j|0;do{b[ha+i>>0]=b[ha+j>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(r|0))}else i=r;b[ha+i>>0]=0;f[d>>2]=i;break}i=q+23|0;b[i>>0]=0;b[i+1>>0]=0;b[i+2>>0]=0;b[i+3>>0]=0;b[i+4>>0]=0;i=q+l|0;l=b[i>>0]|0;b:do if(l<<24>>24==115){l=i+1|0;n=b[l>>0]|0;switch(n<<24>>24){case 101:break;case 115:{b[l>>0]=115;b[i>>0]=115;l=115;break b}default:{i=l;l=n;ga=51;break b}}n=i+2|0;switch(b[n>>0]|0){case 115:break;case 105:{b[n>>0]=105;i=n;l=105;break b}default:{ga=82;break b}}i=i+3|0;if((b[i>>0]|0)==115){b[i>>0]=115;b[n>>0]=115;i=n;l=115}else ga=82}else ga=51;while(0);c:do if((ga|0)==51){d:do switch(l<<24>>24){case 100:{p=i+1|0;if((b[p>>0]|0)!=101){l=i;ga=82;break c}o=i+2|0;l=b[o>>0]|0;if(l<<24>>24!=101){n=o;while(1)if(!(Ru(n)|0))break;else n=n+1|0;if(!(b[n>>0]|0)){l=i;ga=82;break c}else break d}l=i+3|0;n=b[l>>0]|0;if(!(n<<24>>24)){l=i;ga=82;break c}while(1){n=(n<<24>>24)+-97|0;if((n|0)==24)n=Ru(l+1|0)|0;else n=1-(b[26864+n>>0]|0)|0;if(!n)break;l=l+1|0;n=b[l>>0]|0;if(!(n<<24>>24)){l=i;ga=82;break c}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=i;ga=82;break c}b[o>>0]=101;b[p>>0]=101;i=p;l=101;break c}case 103:{if((b[i+1>>0]|0)!=110){l=i;ga=82;break c}if((b[i+2>>0]|0)!=105){l=i;ga=82;break c}n=i+3|0;l=n;while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=i;ga=82;break c}o=n;l=b[n>>0]|0;break}default:{l=i;ga=82;break c}}while(0);switch(l<<24>>24){case 116:{i=o+1|0;if((b[i>>0]|0)==97){b[i>>0]=97;b[o>>0]=116;i=o+-1|0;b[i>>0]=101;l=101;break c}break}case 108:{i=o+1|0;if((b[i>>0]|0)==98){b[i>>0]=98;b[o>>0]=108;i=o+-1|0;b[i>>0]=101;l=101;break c}break}case 122:{i=o+1|0;if((b[i>>0]|0)==105){b[i>>0]=105;b[o>>0]=122;i=o+-1|0;b[i>>0]=101;l=101;break c}break}default:{}}if(Ru(o)|0){i=o+1|0;n=b[i>>0]|0;if(l<<24>>24==n<<24>>24)switch(l<<24>>24){case 122:case 115:case 108:break;default:{ga=83;break c}}if(!(n<<24>>24==0|((l+-119&255)<3|(Su(o)|0)==0))){i=(n<<24>>24)+-97|0;if((i|0)==24)i=Ru(o+2|0)|0;else i=1-(b[26864+i>>0]|0)|0;if((i|0)!=0?(Ru(o+2|0)|0)!=0:0){i=o+-1|0;b[i>>0]=101;l=101}else{l=o;ga=82}}else{l=o;ga=82}}else{l=o;ga=82}}while(0);if((ga|0)==82){i=l;l=b[l>>0]|0;ga=83}if((ga|0)==83)if(l<<24>>24==121){l=i;do l=l+1|0;while((Ru(l)|0)!=0);if(!(b[l>>0]|0))l=121;else{b[i>>0]=105;l=105}}q=i+1|0;n=b[q>>0]|0;e:do switch(n<<24>>24|0){case 97:{if(l<<24>>24==108)if((n<<24>>24==97?(K=i+2|0,(b[K>>0]|0)==110):0)?(J=i+3|0,(b[J>>0]|0)==111):0){n=i+4|0;if(((b[n>>0]|0)==105?(O=i+5|0,(b[O>>0]|0)==116):0)?(N=i+6|0,(b[N>>0]|0)==97):0){l=i+7|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=108;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=108;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=108;break e}b[N>>0]=97;b[O>>0]=116;b[n>>0]=101;i=n;l=101;break e}n=i+4|0;if(((b[n>>0]|0)==105?(I=i+5|0,(b[I>>0]|0)==116):0)?(w=i+6|0,y=b[w>>0]|0,y<<24>>24!=0):0){l=w;m=y;while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=108;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(b[l>>0]|0){b[I>>0]=116;b[n>>0]=105;b[J>>0]=111;b[K>>0]=110;i=K;l=110}else l=108}else l=108}else l=108;break}case 99:{if(l<<24>>24==105)if(n<<24>>24==99?(Z=i+2|0,(b[Z>>0]|0)==110):0){n=i+3|0;switch(b[n>>0]|0){case 101:{l=i+4|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=105;break e}b[n>>0]=101;b[Z>>0]=110;b[q>>0]=99;b[i>>0]=101;l=101;break e}case 97:{l=i+4|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=105;break e}b[n>>0]=97;b[Z>>0]=110;b[q>>0]=99;b[i>>0]=101;l=101;break e}default:{l=105;break e}}}else l=105;break}case 101:{if(l<<24>>24==114)if(((n<<24>>24==101?(F=i+2|0,(b[F>>0]|0)==122):0)?(E=i+3|0,(b[E>>0]|0)==105):0)?(s=i+4|0,m=b[s>>0]|0,m<<24>>24!=0):0){l=s;while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=114;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(b[l>>0]|0){b[E>>0]=105;b[F>>0]=122;b[q>>0]=101;i=q;l=101}else l=114}else l=114;break}case 103:{if(l<<24>>24==105)if(((n<<24>>24==103?(H=i+2|0,(b[H>>0]|0)==111):0)?(G=i+3|0,(b[G>>0]|0)==108):0)?(u=i+4|0,v=b[u>>0]|0,v<<24>>24!=0):0){l=u;m=v;while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(b[l>>0]|0){b[G>>0]=108;b[H>>0]=111;b[q>>0]=103;i=q;l=103}else l=105}else l=105;break}case 108:{if(l<<24>>24==105)if(n<<24>>24==108){p=i+2|0;switch(b[p>>0]|0){case 98:{l=i+3|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=105;break e}b[p>>0]=98;b[q>>0]=108;b[i>>0]=101;l=101;break e}case 108:{n=i+3|0;if((b[n>>0]|0)!=97){l=105;break e}l=i+4|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=105;break e}b[n>>0]=97;b[p>>0]=108;i=p;l=108;break e}case 116:{o=i+3|0;if((b[o>>0]|0)!=110){l=105;break e}n=i+4|0;if((b[n>>0]|0)!=101){l=105;break e}l=i+5|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=105;break e}b[n>>0]=101;b[o>>0]=110;b[p>>0]=116;i=p;l=116;break e}case 101:{l=i+3|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=105;break e}b[p>>0]=101;i=p;l=101;break e}case 115:{o=i+3|0;if((b[o>>0]|0)!=117){l=105;break e}n=i+4|0;if((b[n>>0]|0)!=111){l=105;break e}l=i+5|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=105;break e}b[n>>0]=111;b[o>>0]=117;b[p>>0]=115;i=p;l=115;break e}default:{l=105;break e}}}else l=105;break}case 111:{switch(l<<24>>24){case 110:break;case 114:{if(n<<24>>24!=111){l=114;break e}o=i+2|0;if((b[o>>0]|0)!=116){l=114;break e}n=i+3|0;if((b[n>>0]|0)!=97){l=114;break e}l=i+4|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=114;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=114;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=114;break e}b[n>>0]=97;b[o>>0]=116;b[q>>0]=101;i=q;l=101;break e}default:break e}if((n<<24>>24==111?(M=i+2|0,(b[M>>0]|0)==105):0)?(L=i+3|0,(b[L>>0]|0)==116):0){n=i+4|0;if(((b[n>>0]|0)==97?(Q=i+5|0,(b[Q>>0]|0)==122):0)?(P=i+6|0,(b[P>>0]|0)==105):0){l=i+7|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=110;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=110;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=110;break e}b[P>>0]=105;b[Q>>0]=122;b[n>>0]=101;i=n;l=101;break e}n=i+4|0;if((b[n>>0]|0)==97?(x=i+5|0,z=b[x>>0]|0,z<<24>>24!=0):0){l=x;m=z;while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=110;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(b[l>>0]|0){b[n>>0]=97;b[L>>0]=116;b[M>>0]=101;i=M;l=101}else l=110}else l=110}else l=110;break}case 115:{switch(l<<24>>24){case 109:{if(n<<24>>24!=115){l=109;break e}if((b[i+2>>0]|0)!=105){l=109;break e}o=i+3|0;if((b[o>>0]|0)!=108){l=109;break e}n=i+4|0;if((b[n>>0]|0)!=97){l=109;break e}l=i+5|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=109;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=109;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=109;break e}b[n>>0]=97;b[o>>0]=108;i=o;l=108;break e}case 115:break;default:break e}if((n<<24>>24==115?(b[i+2>>0]|0)==101:0)?(b[i+3>>0]|0)==110:0){n=i+4|0;if(((b[n>>0]|0)==101?(S=i+5|0,(b[S>>0]|0)==118):0)?(R=i+6|0,(b[R>>0]|0)==105):0){l=i+7|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=115;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=115;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=115;break e}b[R>>0]=105;b[S>>0]=118;b[n>>0]=101;i=n;l=101;break e}n=i+4|0;if(((b[n>>0]|0)==108?(X=i+5|0,(b[X>>0]|0)==117):0)?(W=i+6|0,(b[W>>0]|0)==102):0){l=i+7|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=115;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=115;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=115;break e}b[W>>0]=102;b[X>>0]=117;b[n>>0]=108;i=n;l=108;break e}n=i+4|0;if((((b[n>>0]|0)==115?(U=i+5|0,(b[U>>0]|0)==117):0)?(T=i+6|0,(b[T>>0]|0)==111):0)?(A=i+7|0,C=b[A>>0]|0,C<<24>>24!=0):0){l=A;m=C;while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=115;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(b[l>>0]|0){b[T>>0]=111;b[U>>0]=117;b[n>>0]=115;i=n;l=115}else l=115}else l=115}else l=115;break}case 116:{if(l<<24>>24==105)if(n<<24>>24==116?(Y=i+2|0,(b[Y>>0]|0)==105):0){o=i+3|0;switch(b[o>>0]|0){case 108:break;case 118:{n=i+4|0;if((b[n>>0]|0)!=105){l=105;break e}l=i+5|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=105;break e}b[n>>0]=105;b[o>>0]=118;b[Y>>0]=101;i=Y;l=101;break e}default:{l=105;break e}}n=i+4|0;if((b[n>>0]|0)==97){l=i+5|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=105;break e}b[n>>0]=97;b[o>>0]=108;i=o;l=108;break e}n=i+4|0;if(((b[n>>0]|0)==105?(V=i+5|0,(b[V>>0]|0)==98):0)?(B=i+6|0,D=b[B>>0]|0,D<<24>>24!=0):0){l=B;m=D;while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(b[l>>0]|0){b[V>>0]=98;b[n>>0]=108;b[o>>0]=101;i=o;l=101}else l=105}else l=105}else l=105;break}default:{}}while(0);f:do switch(l<<24>>24|0){case 101:{if(l<<24>>24==101)switch(b[i+1>>0]|0){case 116:{if((b[i+2>>0]|0)!=97)break f;m=i+3|0;if((b[m>>0]|0)!=99)break f;l=i+4|0;if((b[l>>0]|0)!=105)break f;j=i+5|0;k=b[j>>0]|0;if(!(k<<24>>24))break f;while(1){k=(k<<24>>24)+-97|0;if((k|0)==24)k=Ru(j+1|0)|0;else k=1-(b[26864+k>>0]|0)|0;if(!k)break;j=j+1|0;k=b[j>>0]|0;if(!(k<<24>>24))break f}while(1)if(!(Ru(j)|0))break;else j=j+1|0;if(!(b[j>>0]|0))break f;b[l>>0]=105;b[m>>0]=99;i=m;break f}case 118:{if((b[i+2>>0]|0)!=105)break f;if((b[i+3>>0]|0)!=116)break f;if((b[i+4>>0]|0)!=97)break f;l=i+5|0;k=b[l>>0]|0;if(!(k<<24>>24))break f;j=l;while(1){k=(k<<24>>24)+-97|0;if((k|0)==24)k=Ru(j+1|0)|0;else k=1-(b[26864+k>>0]|0)|0;if(!k)break;j=j+1|0;k=b[j>>0]|0;if(!(k<<24>>24))break f}while(1)if(!(Ru(j)|0))break;else j=j+1|0;i=(b[j>>0]|0)==0?i:l;break f}case 122:{if((b[i+2>>0]|0)!=105)break f;m=i+3|0;if((b[m>>0]|0)!=108)break f;l=i+4|0;if((b[l>>0]|0)!=97)break f;j=i+5|0;k=b[j>>0]|0;if(!(k<<24>>24))break f;while(1){k=(k<<24>>24)+-97|0;if((k|0)==24)k=Ru(j+1|0)|0;else k=1-(b[26864+k>>0]|0)|0;if(!k)break;j=j+1|0;k=b[j>>0]|0;if(!(k<<24>>24))break f}while(1)if(!(Ru(j)|0))break;else j=j+1|0;if(!(b[j>>0]|0))break f;b[l>>0]=97;b[m>>0]=108;i=m;break f}default:break f}break}case 105:{if(((((l<<24>>24==105?(b[i+1>>0]|0)==116:0)?(b[i+2>>0]|0)==105:0)?(ca=i+3|0,(b[ca>>0]|0)==99):0)?(ba=i+4|0,(b[ba>>0]|0)==105):0)?(j=i+5|0,_=b[j>>0]|0,_<<24>>24!=0):0){k=_;while(1){k=(k<<24>>24)+-97|0;if((k|0)==24)k=Ru(j+1|0)|0;else k=1-(b[26864+k>>0]|0)|0;if(!k)break;j=j+1|0;k=b[j>>0]|0;if(!(k<<24>>24))break f}while(1)if(!(Ru(j)|0))break;else j=j+1|0;if(b[j>>0]|0){b[ba>>0]=105;b[ca>>0]=99;i=ca}}break}case 108:{if(l<<24>>24==108){switch(b[i+1>>0]|0){case 97:break;case 117:{if((b[i+2>>0]|0)!=102)break f;l=i+3|0;k=b[l>>0]|0;if(!(k<<24>>24))break f;j=l;while(1){k=(k<<24>>24)+-97|0;if((k|0)==24)k=Ru(j+1|0)|0;else k=1-(b[26864+k>>0]|0)|0;if(!k)break;j=j+1|0;k=b[j>>0]|0;if(!(k<<24>>24))break f}while(1)if(!(Ru(j)|0))break;else j=j+1|0;i=(b[j>>0]|0)==0?i:l;break f}default:break f}l=i+2|0;if(((b[l>>0]|0)==99?(ea=i+3|0,(b[ea>>0]|0)==105):0)?($=i+4|0,aa=b[$>>0]|0,aa<<24>>24!=0):0){j=$;k=aa;while(1){k=(k<<24>>24)+-97|0;if((k|0)==24)k=Ru(j+1|0)|0;else k=1-(b[26864+k>>0]|0)|0;if(!k)break;j=j+1|0;k=b[j>>0]|0;if(!(k<<24>>24))break f}while(1)if(!(Ru(j)|0))break;else j=j+1|0;if(b[j>>0]|0){b[ea>>0]=105;b[l>>0]=99;i=l}}}break}case 115:{if((((l<<24>>24==115?(b[i+1>>0]|0)==115:0)?(b[i+2>>0]|0)==101:0)?(b[i+3>>0]|0)==110:0)?(da=i+4|0,k=b[da>>0]|0,k<<24>>24!=0):0){j=da;while(1){k=(k<<24>>24)+-97|0;if((k|0)==24)k=Ru(j+1|0)|0;else k=1-(b[26864+k>>0]|0)|0;if(!k)break;j=j+1|0;k=b[j>>0]|0;if(!(k<<24>>24))break f}while(1)if(!(Ru(j)|0))break;else j=j+1|0;i=(b[j>>0]|0)==0?i:da}break}default:{}}while(0);l=b[i+1>>0]|0;g:do switch(l<<24>>24|0){case 97:{j=b[i>>0]|0;if(j<<24>>24==108){j=i+2|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399}else ga=400;break}case 99:{if((b[i>>0]|0)==101)if((b[i+2>>0]|0)==110){switch(b[i+3>>0]|0){case 101:case 97:break;default:{j=i;ga=399;break g}}j=i+4|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399}else{j=i;ga=399}break}case 101:{j=b[i>>0]|0;if(j<<24>>24==114){j=i+2|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399}else ga=400;break}case 105:{j=b[i>>0]|0;if(j<<24>>24==99){j=i+2|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399}else ga=400;break}case 108:{if((b[i>>0]|0)==101)if((b[i+2>>0]|0)==98){switch(b[i+3>>0]|0){case 105:case 97:break;default:{j=i;ga=399;break g}}j=i+4|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399}else{j=i;ga=399}break}case 110:{j=b[i>>0]|0;if(j<<24>>24==116){switch(b[i+2>>0]|0){case 97:{j=i+3|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399;break g}case 101:break;default:break g}if(l<<24>>24==110){j=i+3|0;if((b[j>>0]|0)!=109){ga=(Tu(j)|0)==0;j=ga?i:j;ga=399;break g}j=i+4|0;if((b[j>>0]|0)==101){j=i+5|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399;break g}else{ga=(Tu(j)|0)==0;j=ga?i:j;ga=399;break g}}else{j=i;ga=399}}else ga=400;break}case 111:{j=b[i>>0]|0;if(j<<24>>24==117){j=i+2|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399;break g}k=i+3|0;if(l<<24>>24==111&(j<<24>>24==110?((b[k>>0]|0)+-115&255)<2:0)?(b[i+2>>0]|0)==105:0){j=(Tu(k)|0)==0;j=j?i:k;ga=399}else{j=i;ga=399}break}case 115:{j=b[i>>0]|0;if(j<<24>>24==109)if((b[i+2>>0]|0)==105){j=i+3|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399}else{j=i;ga=399}else ga=400;break}case 116:switch(b[i>>0]|0){case 101:{if(l<<24>>24!=116){j=i;ga=399;break g}if((b[i+2>>0]|0)!=97){j=i;ga=399;break g}j=i+3|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399;break g}case 105:{if(l<<24>>24!=116){j=i;ga=399;break g}if((b[i+2>>0]|0)!=105){j=i;ga=399;break g}j=i+3|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399;break g}default:{j=i;ga=399;break g}}case 117:{j=b[i>>0]|0;if(j<<24>>24==115)if((b[i+2>>0]|0)==111){j=i+3|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399}else{j=i;ga=399}else ga=400;break}case 122:case 118:{if((b[i>>0]|0)==101)if((b[i+2>>0]|0)==105){j=i+3|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399}else{j=i;ga=399}break}default:{j=i;ga=399}}while(0);if((ga|0)==399){i=j;j=b[j>>0]|0;ga=400}do if((ga|0)==400)if(j<<24>>24==101){k=i+1|0;if(!(Tu(k)|0)){if(Su(k)|0){if((Ru(k)|0?((b[k>>0]|0)+-119&255)>=3:0)?(fa=b[i+2>>0]|0,fa<<24>>24):0){j=(fa<<24>>24)+-97|0;if((j|0)==24)j=Ru(i+3|0)|0;else j=1-(b[26864+j>>0]|0)|0;if(j|0?Ru(i+3|0)|0:0)break}i=k}}else i=k}while(0);if((Tu(i)|0)!=0?(b[i>>0]|0)==108:0){ga=i+1|0;i=(b[ga>>0]|0)==108?ga:i}k=wz(i)|0;f[d>>2]=k;b[ha+k>>0]=0;j=b[i>>0]|0;if(j<<24>>24)do{i=i+1|0;k=k+-1|0;b[ha+k>>0]=j;j=b[i>>0]|0}while(j<<24>>24!=0)}else{if((r|0)>0){i=0;k=0;do{j=b[o+k>>0]|0;if((j+-65&255)<26)j=(j&255)+32&255;else i=(j+-48&255)<10?1:i;b[ha+k>>0]=j;k=k+1|0}while((k|0)!=(r|0));if(!i){i=r;ga=31}else{i=r;j=3}}else{i=0;ga=31}if((ga|0)==31)j=10;if((j<<1|0)<(r|0)){i=j;j=r-j|0;do{b[ha+i>>0]=b[ha+j>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(r|0))}b[ha+i>>0]=0;f[d>>2]=i}while(0);f[c>>2]=f[ia>>2];f[e>>2]=ja;f[g>>2]=f[ka>>2];g=a+16|0;ka=f[g>>2]|0;f[g>>2]=ka+1;f[h>>2]=ka;ka=0;t=la;return ka|0}function Ru(a){a=a|0;var c=0;c=b[a>>0]|0;if(!(c<<24>>24)){a=0;return a|0}c=(c<<24>>24)+-97|0;if((c|0)!=24){a=b[26864+c>>0]|0;return a|0}c=b[a+1>>0]|0;if(!(c<<24>>24)){a=1;return a|0}c=(c<<24>>24)+-97|0;if((c|0)==24)c=Ru(a+2|0)|0;else c=1-(b[26864+c>>0]|0)|0;a=(c|0)!=0&1;return a|0}function Su(a){a=a|0;var c=0,d=0;c=b[a>>0]|0;if(!(c<<24>>24)){d=0;return d|0}while(1){c=(c<<24>>24)+-97|0;if((c|0)==24)c=Ru(a+1|0)|0;else c=1-(b[26864+c>>0]|0)|0;if(!c)break;a=a+1|0;c=b[a>>0]|0;if(!(c<<24>>24)){a=0;d=17;break}}if((d|0)==17)return a|0;while(1)if(!(Ru(a)|0))break;else a=a+1|0;if(!(b[a>>0]|0)){d=0;return d|0}while(1)if(!(Uu(a)|0))break;else a=a+1|0;if(!(b[a>>0]|0)){d=1;return d|0}while(1)if(!(Ru(a)|0))break;else a=a+1|0;d=(b[a>>0]|0)==0&1;return d|0}function Tu(a){a=a|0;var c=0,d=0,e=0,f=0;c=b[a>>0]|0;if(!(c<<24>>24)){f=0;return f|0}while(1){c=(c<<24>>24)+-97|0;if((c|0)==24)c=Ru(a+1|0)|0;else c=1-(b[26864+c>>0]|0)|0;if(!c)break;d=a+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){e=0;f=20;break}else a=d}if((f|0)==20)return e|0;while(1)if(!(Ru(a)|0))break;else a=a+1|0;c=b[a>>0]|0;if(!(c<<24>>24)){f=0;return f|0}while(1){c=(c<<24>>24)+-97|0;if((c|0)==24)c=Ru(a+1|0)|0;else c=1-(b[26864+c>>0]|0)|0;if(!c)break;d=a+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){e=0;f=20;break}else a=d}if((f|0)==20)return e|0;while(1)if(!(Ru(a)|0))break;else a=a+1|0;f=(b[a>>0]|0)!=0&1;return f|0}function Uu(a){a=a|0;var c=0;c=b[a>>0]|0;if(!(c<<24>>24)){a=0;return a|0}c=(c<<24>>24)+-97|0;if((c|0)==24){a=Ru(a+1|0)|0;return a|0}else{a=1-(b[26864+c>>0]|0)|0;return a|0}return 0}function Vu(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if(Mc()|0){d=7;return d|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](132)|0;if(!e){d=7;return d|0}else i=e}else{h=ib[f[37372>>2]&255](132)|0;if((f[18194]|0)>>>0<132)f[18194]=132;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){i=f[18187]|0;g=LA(e|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&g>>>0<=i>>>0)&1}g=ib[f[37356>>2]&255](h)|0;if(!g){d=7;return d|0}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0){f[18196]=e;i=g}else i=g}_A(i|0,0,132)|0;a:do if((a|0)>1){h=c+4|0;e=f[h>>2]|0;a=wz(e)|0;if((a|0)>0){c=i+4|0;e=b[e>>0]|0;if(e<<24>>24>=0){g=0;do{b[c+(e&255)>>0]=1;g=g+1|0;if((g|0)>=(a|0))break a;e=b[(f[h>>2]|0)+g>>0]|0}while(e<<24>>24>=0)}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);d=1;return d|0}else{d=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);d=1;return d|0}}}else{g=i+4|0;e=1;do{b[g+e>>0]=((e+-48|0)>>>0>9&((e&2147483615)+-65|0)>>>0>25)<<31>>31;e=e+1|0}while((e|0)!=128)}while(0);f[d>>2]=i;d=0;return d|0}function Wu(a){a=a|0;var b=0;if(!a)return 0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Xu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if(Mc()|0){d=7;return d|0}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](28)|0;if(!a){d=7;return d|0}}else{g=ib[f[37372>>2]&255](28)|0;if((f[18194]|0)>>>0<28)f[18194]=28;e=71896;a=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&a>>>0>0){h=f[18187]|0;e=LA(a|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&e>>>0<=h>>>0)&1}a=ib[f[37356>>2]&255](g)|0;if(!a){h=7;return h|0}e=ib[f[37368>>2]&255](a)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}f[a+4>>2]=b;if(b){if((c|0)<0)c=wz(b)|0}else c=0;f[a+8>>2]=c;h=a+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[d>>2]=a;h=0;return h|0}function Yu(a){a=a|0;var b=0,c=0;b=f[a+20>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Zu(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=f[a>>2]|0;o=f[a+4>>2]|0;p=a+12|0;i=f[p>>2]|0;k=f[a+8>>2]|0;if((i|0)>=(k|0)){p=101;return p|0}while(1){a:do if((i|0)<(k|0))while(1){j=b[o+i>>0]|0;if(j<<24>>24<=-1){n=i;break a}if(!(b[(j&255)+(l+4)>>0]|0)){n=i;break a}i=i+1|0;f[p>>2]=i;if((i|0)>=(k|0)){n=i;break}}else n=i;while(0);if((n|0)<(k|0)){i=n;do{j=b[o+i>>0]|0;if(j<<24>>24>-1?b[(j&255)+(l+4)>>0]|0:0)break;i=i+1|0;f[p>>2]=i}while((i|0)<(k|0));if((i|0)>(n|0))break}else i=n;if((i|0)>=(k|0)){i=101;m=23;break}}if((m|0)==23)return i|0;l=i-n|0;i=a+24|0;do if((l|0)>(f[i>>2]|0)){j=l+20|0;f[i>>2]=j;k=a+20|0;i=f[k>>2]|0;if(Mc()|0){p=7;return p|0}i=Nc(i,(j|0)>0?j:0,0)|0;if(!i){p=7;return p|0}else{f[k>>2]=i;break}}while(0);j=a+20|0;if((l|0)>0){i=0;do{k=b[o+(i+n)>>0]|0;m=k&255;b[(f[j>>2]|0)+i>>0]=(k+-65&255)<26?m+32|0:m;i=i+1|0}while((i|0)!=(l|0))}f[c>>2]=f[j>>2];f[d>>2]=l;f[e>>2]=n;f[g>>2]=f[p>>2];o=a+16|0;p=f[o>>2]|0;f[o>>2]=p+1;f[h>>2]=p;p=0;return p|0}function _u(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+16|0;j=p;do if((d|1|0)==5){l=f[e+4>>2]|0;k=wz(l)|0;if((d|0)==5){if((l|0)==0|(k|0)!=4)break;k=h[l>>0]|0;c=1232+k|0;if((k|32|0)==116){k=h[l+1>>0]|0;c=1232+k|0;if((k|32|0)==101){k=h[l+2>>0]|0;c=1232+k|0;if((k|32|0)==109){c=h[l+3>>0]|0;if((c|32|0)!=112){m=1232+c|0;n=112;o=5}}else{m=c;n=109;o=5}}else{m=c;n=101;o=5}}else{m=c;n=116;o=5}if((o|0)==5?(n|0)!=(h[m>>0]|0):0)break;k=f[e+12>>2]|0;l=k;k=wz(k)|0;c=4}else c=3;d=f[e+(c<<2)>>2]|0;j=wz(d)|0;c=wk(a,67444)|0;if(c|0){g=c;t=p;return g|0}c=k+306+j|0;n=Fd(c)|0;if(!n){g=7;t=p;return g|0}_A(n|0,0,c|0)|0;m=n+12|0;f[m>>2]=n+16;e=n+304|0;f[n+32>>2]=e;c=e+(k+1)|0;f[n+36>>2]=c;f[n+28>>2]=a;f[n+268>>2]=1;YA(e|0,l|0,k|0)|0;YA(c|0,d|0,j|0)|0;m=f[(f[m>>2]|0)+20>>2]|0;c=b[m>>0]|0;switch(c<<24>>24){case 34:case 39:case 91:case 96:{l=c<<24>>24==91?93:c;d=b[m+1>>0]|0;a:do if(!(d<<24>>24))c=0;else{j=1;c=0;do{k=j+1|0;if(d<<24>>24==l<<24>>24){if((b[m+k>>0]|0)!=l<<24>>24)break a;b[m+c>>0]=l;j=j+2|0}else{b[m+c>>0]=d;j=k}c=c+1|0;d=b[m+j>>0]|0}while(d<<24>>24!=0)}while(0);b[m+c>>0]=0;break}default:{}}f[g>>2]=n;g=0;t=p;return g|0}while(0);Ls(i,67513,j);g=1;t=p;return g|0}function $u(a,c){a=a|0;c=c|0;var d=0,e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(((f[c+8>>2]|0)==1?(d=f[c+12>>2]|0,(f[d>>2]|0)==0):0)?(b[d+4>>0]|0)==0:0)f[c+32>>2]=1;l=f[c>>2]|0;if((l|0)<=0){f[c+20>>2]=0;p[c+40>>3]=2.0e4;return 0}m=f[c+4>>2]|0;a=-1;j=-1;g=-1;d=-1;k=0;while(1){if(!(b[m+(k*12|0)+5>>0]|0))i=g;else{h=b[m+(k*12|0)+4>>0]|0;i=f[m+(k*12|0)>>2]|0;if(!i){a=h<<24>>24==2?k:a;d=h<<24>>24==32|h<<24>>24==4?k:d;g=h<<24>>24==8|h<<24>>24==16?k:g}j=h<<24>>24==2&(i|0)==4?k:j;i=g}k=k+1|0;if((k|0)>=(l|0))break;else g=i}h=c+20|0;if((a|0)<=-1){f[h>>2]=0;g=c+40|0;p[g>>3]=2.0e4;if((d|0)>-1){f[h>>2]=2;f[(f[c+16>>2]|0)+(d<<3)>>2]=1;p[g>>3]=1.0e4;a=2;d=6;e=1.0e4}else{a=1;d=4;e=2.0e4}if((i|0)>-1){f[h>>2]=d;f[(f[c+16>>2]|0)+(i<<3)>>2]=a;e=e*.5;p[g>>3]=e;a=a+1|0}}else{f[h>>2]=1;f[(f[c+16>>2]|0)+(a<<3)>>2]=1;p[c+40>>3]=5.0;a=2;e=5.0}if((j|0)<=-1)return 0;f[(f[c+16>>2]|0)+(j<<3)>>2]=a;p[c+40>>3]=e+-1.0;return 0}function av(a){a=a|0;var b=0,c=0;b=f[a+12>>2]|0;Fi(f[b+56>>2]|0)|0;Fi(f[b+60>>2]|0)|0;Fi(f[b+64>>2]|0)|0;Fi(f[b+68>>2]|0)|0;Fi(f[b+72>>2]|0)|0;Fi(f[b+76>>2]|0)|0;Fi(f[b+80>>2]|0)|0;Fi(f[b+84>>2]|0)|0;Fi(f[b+88>>2]|0)|0;Fi(f[b+92>>2]|0)|0;Fi(f[b+96>>2]|0)|0;Fi(f[b+100>>2]|0)|0;Fi(f[b+104>>2]|0)|0;Fi(f[b+108>>2]|0)|0;Fi(f[b+112>>2]|0)|0;Fi(f[b+116>>2]|0)|0;Fi(f[b+120>>2]|0)|0;Fi(f[b+124>>2]|0)|0;Fi(f[b+128>>2]|0)|0;Fi(f[b+132>>2]|0)|0;Fi(f[b+136>>2]|0)|0;Fi(f[b+140>>2]|0)|0;Fi(f[b+144>>2]|0)|0;Fi(f[b+148>>2]|0)|0;Fi(f[b+152>>2]|0)|0;Fi(f[b+156>>2]|0)|0;Fi(f[b+160>>2]|0)|0;Fi(f[b+164>>2]|0)|0;Fi(f[b+168>>2]|0)|0;Fi(f[b+172>>2]|0)|0;Fi(f[b+176>>2]|0)|0;Fi(f[b+180>>2]|0)|0;Fi(f[b+184>>2]|0)|0;Fi(f[b+188>>2]|0)|0;Fi(f[b+192>>2]|0)|0;Fi(f[b+196>>2]|0)|0;Fi(f[b+200>>2]|0)|0;Fi(f[b+204>>2]|0)|0;Fi(f[b+208>>2]|0)|0;Fi(f[b+212>>2]|0)|0;b=f[b+244>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function bv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(Mc()|0){b=7;return b|0}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](120)|0;if(!a){b=7;return b|0}}else{d=ib[f[37372>>2]&255](120)|0;if((f[18194]|0)>>>0<120)f[18194]=120;c=71896;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){e=f[18187]|0;c=LA(a|0,c|0,d|0,((d|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&c>>>0<=e>>>0)&1}a=ib[f[37356>>2]&255](d)|0;if(!a){e=7;return e|0}c=ib[f[37368>>2]&255](a)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}c=a;d=c+120|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=a;e=0;return e|0}function cv(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=(f[(f[a>>2]|0)+12>>2]|0)+248|0;d=f[c>>2]|0;do if(d|0){e=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;if(e|0){if(f[e+480>>2]|0){Kc(e,d);break}i=d;if((f[e+304>>2]|0)>>>0<=i>>>0?(f[e+308>>2]|0)>>>0>i>>>0:0){i=e+300|0;f[d>>2]=f[i>>2];f[i>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);f[c>>2]=0;h=a+4|0;i=a+8|0;c=f[h>>2]|0;if((f[i>>2]|0)>0){g=0;do{c=f[c+(g<<2)>>2]|0;do if(c|0){do if((f[c+56>>2]|0)==0?(j=f[c+64>>2]|0,j|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{e=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}while(0);do if((b[c+5>>0]|0)==0?(k=f[c+40>>2]|0,k|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{e=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);d=f[c+52>>2]|0;do if(d|0){e=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;if(e|0){if(f[e+480>>2]|0){Kc(e,d);break}l=d;if((f[e+304>>2]|0)>>>0<=l>>>0?(f[e+308>>2]|0)>>>0>l>>>0:0){l=e+300|0;f[d>>2]=f[l>>2];f[l>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{l=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{l=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);g=g+1|0;c=f[h>>2]|0}while((g|0)<(f[i>>2]|0))}do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{l=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=a+20|0;d=f[c>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{l=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);f[i>>2]=0;f[h>>2]=0;f[c>>2]=0;c=f[a+60>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{l=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[a+76>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{l=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[a+112>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{l=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{l=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function dv(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=t;t=t+16|0;u=A+8|0;r=A;z=f[(f[a>>2]|0)+12>>2]|0;if((c|0)==1){s=-1;n=0;y=0;e=1;o=-1}else{e=c&2;o=(e|0)==0;x=(o^1)&1;v=(c&4|0)==0;s=v?-1:x;n=-1;y=1;e=v?x:(e>>>1)+1|0;o=o<<31>>31}v=(e|0)<(g|0)?e:-1;x=a+4|0;k=a+8|0;e=f[x>>2]|0;if((f[k>>2]|0)>0){i=0;do{e=f[e+(i<<2)>>2]|0;do if(e|0){do if((f[e+56>>2]|0)==0?(l=f[e+64>>2]|0,l|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{g=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);do if((b[e+5>>0]|0)==0?(m=f[e+40>>2]|0,m|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{g=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);c=f[e+52>>2]|0;do if(c|0){g=f[c+20>>2]|0;Fi(f[c+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Kc(g,c);break}B=c;if((f[g+304>>2]|0)>>>0<=B>>>0?(f[g+308>>2]|0)>>>0>B>>>0:0){B=g+300|0;f[c>>2]=f[B>>2];f[B>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{B=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{B=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);i=i+1|0;e=f[x>>2]|0}while((i|0)<(f[k>>2]|0))}do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{B=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=a+20|0;c=f[e>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{B=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[k>>2]=0;f[x>>2]=0;f[e>>2]=0;m=a+60|0;e=f[m>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{B=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[a+112>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{B=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);k=x;l=k+116|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[a+72>>2]=(y|0)==0?3:19;do if((o&n|0)>-1?(q=f[h>>2]|0,q|0):0){e=d[q+8>>1]|0;if((e&514)==514?(b[q+10>>0]|0)==1:0)e=f[q+16>>2]|0;else{if(e&1)break;e=Ic(q,1)|0}if(e|0){f[r>>2]=e;e=wd(40840,r)|0;f[m>>2]=e;i=f[h>>2]|0;c=d[i+8>>1]|0;if((c&2)!=0?(b[i+10>>0]|0)==1:0)c=f[i+12>>2]|0;else w=57;do if((w|0)==57){g=c&65535;if(!(g&16)){if(g&1|0){c=0;break}c=_e(i,1)|0;e=f[m>>2]|0;break}else{c=f[i+12>>2]|0;if(!(g&16384))break;c=(f[i>>2]|0)+c|0;break}}while(0);f[a+64>>2]=c;if(!e){B=7;t=A;return B|0}}}while(0);if((s|0)>-1){g=h+(s<<2)|0;e=f[g>>2]|0;do if(e){c=d[e+8>>1]|0;if((c&514)==514?(b[e+10>>0]|0)==1:0){e=f[e+16>>2]|0;break}if(!(c&1))e=Ic(e,1)|0;else e=0}else e=0;while(0);f[u>>2]=e;e=wd(40840,u)|0;k=a+76|0;f[k>>2]=e;i=f[g>>2]|0;c=d[i+8>>1]|0;if((c&2)!=0?(b[i+10>>0]|0)==1:0)c=f[i+12>>2]|0;else w=73;do if((w|0)==73){g=c&65535;if(!(g&16)){if(g&1|0){c=0;break}c=_e(i,1)|0;e=f[k>>2]|0;break}else{c=f[i+12>>2]|0;if(!(g&16384))break;c=(f[i>>2]|0)+c|0;break}}while(0);f[a+80>>2]=c;if(!e){B=7;t=A;return B|0}}a:do if((v|0)>-1){e=f[h+(v<<2)>>2]|0;c=j[e+8>>1]|0;do if(!(c&4)){if(c&8|0){e=Fc(+p[e>>3])|0;ba()|0;break}if(!(c&18)){e=0;break a}e=Gc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)|0;ba()|0}else e=f[e>>2]|0;while(0);e=(e|0)>0?e:0}else e=0;while(0);f[a+84>>2]=e;c=f[m>>2]|0;i=a+64|0;g=f[i>>2]|0;k=x;l=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));e=lt(z,e,0,-2,c,g,0,y,x)|0;if(e|0){B=e;t=A;return B|0}f[a+16>>2]=m;e=mt(z,x,f[m>>2]|0,f[i>>2]|0)|0;if(e|0){B=e;t=A;return B|0}B=ev(a)|0;t=A;return B|0}function ev(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=f[(f[a>>2]|0)+12>>2]|0;o=a+96|0;p=o;p=KA(f[p>>2]|0,f[p+4>>2]|0,1,0)|0;c=ba()|0;f[o>>2]=p;f[o+4>>2]=c;o=a+104|0;c=(f[o>>2]|0)+1|0;f[o>>2]=c;p=a+108|0;d=f[p>>2]|0;a:do if((c|0)<(d|0)){e=f[a+112>>2]|0;while(1){n=e+(c<<4)|0;m=f[n+4>>2]|0;if((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0){c=0;break}c=c+1|0;f[o>>2]=c;if((c|0)>=(d|0))break a}return c|0}while(0);c=nt(g,a+4|0)|0;if((c|0)!=100){f[a+88>>2]=1;q=c;return q|0}m=f[a+56>>2]|0;n=f[a+52>>2]|0;c=f[a+76>>2]|0;do if(c|0){j=f[a+80>>2]|0;k=f[a+48>>2]|0;l=(j|0)<(k|0);k=Hz(c,f[a+44>>2]|0,l?j:k)|0;if((k|0)>=0?(k|0)!=0|l^1:0)break;f[a+88>>2]=1;q=0;return q|0}while(0);d=f[p>>2]|0;l=a+112|0;c=f[l>>2]|0;do if((d|0)<2){if(Mc()|0){q=7;return q|0}c=Nc(c,32,0)|0;if(!c){q=7;return q|0}else{d=f[p>>2]|0;_A(c+(d<<4)|0,0,32-(d<<4)|0)|0;f[l>>2]=c;f[p>>2]=2;d=32;break}}else d=d<<4;while(0);_A(c|0,0,d|0)|0;b:do if((m|0)>0){c=0;d=0;k=0;c:while(1){j=n+k|0;g=b[j>>0]|0;e=g&255;do if(!(e&128)){j=1;i=0;a=g&255}else{i=h[j+1>>0]|0;e=i<<7|e&127;if(!(i&128)){j=2;i=0;a=e;break}i=h[j+2>>0]|0;e=i<<14|e&16383;if(!(i&128)){j=3;i=0;a=e;break}i=h[j+3>>0]|0;a=i<<21|e&2097151;if(!(i&128)){j=4;i=0;break}e=28;g=j+4|0;a=a&268435455;i=0;do{r=g;g=g+1|0;r=h[r>>0]|0;s=WA(r&127|0,0,e|0)|0;a=KA(s|0,ba()|0,a|0,i|0)|0;i=ba()|0;e=e+7|0}while(e>>>0<64&((r&128|0)!=0|0!=0));j=g-j|0}while(0);k=j+k|0;switch(c|0){case 0:{d=f[l>>2]|0;s=d;s=KA(f[s>>2]|0,f[s+4>>2]|0,1,0)|0;c=ba()|0;f[d>>2]=s;f[d+4>>2]=c;d=0;c=1;break}case 1:{if((i|0)>0|(i|0)==0&a>>>0>1){q=(f[l>>2]|0)+16|0;r=q;r=KA(f[r>>2]|0,f[r+4>>2]|0,1,0)|0;s=ba()|0;f[q>>2]=r;f[q+4>>2]=s;q=32}else q=32;break}case 2:{q=32;break}default:{e=a+2|0;if((f[p>>2]|0)<(e|0)){c=f[l>>2]|0;d=e<<4;if(Mc()|0){c=7;q=46;break c}c=Nc(c,(d|0)>0?d:0,0)|0;if(!c){c=7;q=46;break c}s=f[p>>2]|0;_A(c+(s<<4)|0,0,e-s<<4|0)|0;f[l>>2]=c;f[p>>2]=e}else c=f[l>>2]|0;d=c+(a+1<<4)|0;s=d;s=KA(f[s>>2]|0,f[s+4>>2]|0,1,0)|0;c=ba()|0;f[d>>2]=s;f[d+4>>2]=c;d=a;c=2}}d:do if((q|0)==32){q=0;switch(a|0){case 0:{if(!i){c=0;break d}break}case 1:{if(!i){c=3;break d}break}default:{}}c=f[l>>2]|0;r=c+(d+1<<4)+8|0;j=r;j=KA(f[j>>2]|0,f[j+4>>2]|0,1,0)|0;s=ba()|0;f[r>>2]=j;f[r+4>>2]=s;c=c+8|0;r=c;r=KA(f[r>>2]|0,f[r+4>>2]|0,1,0)|0;s=ba()|0;f[c>>2]=r;f[c+4>>2]=s;c=2}while(0);if((k|0)>=(m|0))break b}if((q|0)==46)return c|0}while(0);f[o>>2]=0;s=0;return s|0}function fv(a){a=a|0;return f[a+88>>2]|0}function gv(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0;switch(c|0){case 0:{if(($e(f[b>>2]|0,f[a+44>>2]|0,f[a+48>>2]|0,1,-1)|0)!=18)return 0;f[b+20>>2]=18;$e(f[b>>2]|0,41612,-1,1,0)|0;return 0}case 1:{a=f[a+104>>2]|0;if(!a){if(($e(f[b>>2]|0,50775,-1,1,0)|0)!=18)return 0;f[b+20>>2]=18;$e(f[b>>2]|0,41612,-1,1,0)|0;return 0}g=a+-1|0;a=f[b>>2]|0;c=((g|0)<0)<<31>>31;e=a+8|0;if(!(d[e>>1]&9216)){b=a;f[b>>2]=g;f[b+4>>2]=c;d[e>>1]=4;return 0}else{bf(a,g,c);return 0}}case 2:{g=(f[a+112>>2]|0)+(f[a+104>>2]<<4)|0;e=f[g>>2]|0;g=f[g+4>>2]|0;a=f[b>>2]|0;c=a+8|0;if(!(d[c>>1]&9216)){b=a;f[b>>2]=e;f[b+4>>2]=g;d[c>>1]=4;return 0}else{bf(a,e,g);return 0}}case 3:{g=(f[a+112>>2]|0)+(f[a+104>>2]<<4)+8|0;e=f[g>>2]|0;g=f[g+4>>2]|0;a=f[b>>2]|0;c=a+8|0;if(!(d[c>>1]&9216)){b=a;f[b>>2]=e;f[b+4>>2]=g;d[c>>1]=4;return 0}else{bf(a,e,g);return 0}}default:{g=f[a+84>>2]|0;a=f[b>>2]|0;c=((g|0)<0)<<31>>31;e=a+8|0;if(!(d[e>>1]&9216)){b=a;f[b>>2]=g;f[b+4>>2]=c;d[e>>1]=4;return 0}else{bf(a,g,c);return 0}}}return 0}function hv(a,b){a=a|0;b=b|0;var c=0;c=a+96|0;a=f[c+4>>2]|0;f[b>>2]=f[c>>2];f[b+4>>2]=a;return 0}function iv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return mw(a,b,c,d,e,f)|0}function jv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return mw(a,b,c,d,e,f)|0}function kv(a,c){a=a|0;c=c|0;var d=0,e=0.0,g=0,h=0,i=0,j=0,k=0;i=f[c>>2]|0;do if((i|0)>0){j=f[c+4>>2]|0;h=0;g=-1;a=-1;d=-1;while(1){if((b[j+(h*12|0)+5>>0]|0)!=0?(f[j+(h*12|0)>>2]|0)==0:0){k=b[j+(h*12|0)+4>>0]|0;a=k<<24>>24==4|k<<24>>24==32?h:a;d=k<<24>>24==2?h:d;k=k<<24>>24==16|k<<24>>24==8?h:g}else k=g;h=h+1|0;if((h|0)>=(i|0))break;else g=k}if((d|0)>-1){f[(f[c+16>>2]|0)+(d<<3)>>2]=1;p[c+40>>3]=100.0;a=1;break}g=c+40|0;p[g>>3]=1.0e6;if((a|0)>-1){f[(f[c+16>>2]|0)+(a<<3)>>2]=1;p[g>>3]=5.0e5;d=2;a=2;e=25.0e4}else{d=1;a=0;e=5.0e5}if((k|0)>-1){f[(f[c+16>>2]|0)+(k<<3)>>2]=d;p[g>>3]=e;a=a|4}}else{p[c+40>>3]=1.0e6;a=0}while(0);if((f[c+8>>2]|0)!=1){c=c+20|0;f[c>>2]=a;return 0}d=f[c+12>>2]|0;if(f[d>>2]|0){c=c+20|0;f[c>>2]=a;return 0}if(b[d+4>>0]|0){c=c+20|0;f[c>>2]=a;return 0}f[c+32>>2]=1;c=c+20|0;f[c>>2]=a;return 0}function lv(a){a=a|0;var b=0;if(!a)return 0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function mv(a){a=a|0;var b=0;if(!a)return 0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function nv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+32|0;n=p+16|0;d=p;o=p+28|0;k=p+24|0;f[o>>2]=0;f[k>>2]=0;l=a+12|0;j=f[l>>2]|0;m=a+16|0;i=f[m>>2]|0;f[d>>2]=j;f[d+4>>2]=i;f[d+8>>2]=j;f[d+12>>2]=j;d=iw(o,67916,d)|0;do if(d){c=Ki(f[a+20>>2]|0,d,-1,128,0,k,0)|0;f[o>>2]=c;if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{j=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}else c=f[o>>2]|0;while(0);if((c|0)==1){f[o>>2]=0;c=0}d=f[k>>2]|0;j=d;if((d|0)!=0?(Ei(d)|0)==100:0){g=Jp(d,0)|0;h=ba()|0;e=f[(f[a+24>>2]|0)+44>>2]|0;i=e+16|0;if(!((f[i>>2]|0)==(g|0)?(f[i+4>>2]|0)==(h|0):0))do{e=f[e+4>>2]|0;i=e+16|0}while(!((f[i>>2]|0)==(g|0)?(f[i+4>>2]|0)==(h|0):0));i=f[e>>2]|0;h=f[i+16>>2]|0;i=f[i+12>>2]|0}else{h=0;i=0}e=(c|0)==0;do if((h|0)==0&e){c=Fi(d)|0;f[o>>2]=c;f[k>>2]=0;if(!c){d=f[l>>2]|0;f[n>>2]=f[m>>2];f[n+4>>2]=d;d=wd(67967,n)|0;f[a+8>>2]=d;f[o>>2]=1;d=0;c=1}else d=0}else if(e){c=i+12|0;e=(f[c>>2]<<4)+88|0;g=Fd(e)|0;if(!g){if((e|0)<=0){c=0;break}f[o>>2]=7;c=7;break}else{_A(g|0,0,e|0)|0;f[g+8>>2]=h;f[g+4>>2]=j;f[g+28>>2]=i;n=g+88|0;f[g+36>>2]=n;f[g+40>>2]=n+(f[c>>2]<<3);n=g;o=0;f[b>>2]=n;t=p;return o|0}}while(0);Fi(d)|0;n=0;o=c;f[b>>2]=n;t=p;return o|0}function ov(a){a=a|0;var b=0,c=0,d=0;Fv(a);b=a+56|0;c=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;Fi(f[a+4>>2]|0)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{d=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function pv(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=f[(f[a>>2]|0)+28>>2]|0;Fv(a);if(!(c&1)){l=0;e=0;m=0}else{m=f[h>>2]|0;l=m;e=1}if(!(c&2)){i=0;k=0}else{k=f[h+(e<<2)>>2]|0;i=k;e=e+1|0}if(!(c&4)){n=0;o=0}else{o=f[h+(e<<2)>>2]|0;n=o}do if(!l){do if(i){c=i+8|0;g=d[c>>1]|0;if((g&514)==514?(b[i+10>>0]|0)==1:0)e=f[i+16>>2]|0;else if(!(g&1)){e=Ic(i,1)|0;g=d[c>>1]|0}else e=0;if(g&2?(b[i+10>>0]|0)==1:0){c=f[i+12>>2]|0;break}g=g&65535;if(!(g&16)){if(g&1|0){c=0;break}c=_e(i,1)|0;break}else{c=f[i+12>>2]|0;if(!(g&16384))break;c=(f[k>>2]|0)+c|0;break}}else{c=0;e=0}while(0);if(n){h=n+8|0;g=d[h>>1]|0;if((g&514)==514?(b[n+10>>0]|0)==1:0)i=f[n+16>>2]|0;else if(!(g&1)){i=Ic(n,1)|0;g=d[h>>1]|0}else i=0;if((g&2)!=0?(b[n+10>>0]|0)==1:0)g=f[n+12>>2]|0;else p=44;do if((p|0)==44){h=g&65535;if(!(h&16)){if(h&1|0){g=0;break}g=_e(n,1)|0;break}else{g=f[n+12>>2]|0;if(!(h&16384))break;g=(f[o>>2]|0)+g|0;break}}while(0);h=a+20|0;f[h>>2]=g;g=Fd(g+1|0)|0;f[a+24>>2]=g;if(!g){a=7;return a|0}else{YA(g|0,i|0,(f[h>>2]|0)+1|0)|0;g=8;break}}else g=8}else{c=l+8|0;g=d[c>>1]|0;if((g&514)==514?(b[l+10>>0]|0)==1:0)e=f[l+16>>2]|0;else if(!(g&1)){e=Ic(l,1)|0;g=d[c>>1]|0}else e=0;if(g&2?(b[l+10>>0]|0)==1:0){g=0;c=f[l+12>>2]|0;break}g=g&65535;if(!(g&16)){if(g&1|0){g=0;c=0;break}g=0;c=_e(l,1)|0;break}else{c=f[l+12>>2]|0;if(!(g&16384)){g=0;break}g=0;c=(f[m>>2]|0)+c|0;break}}while(0);h=a+16|0;e=Gv(f[a+8>>2]|0,e,c,g,0,h)|0;g=(e|0)==0;m=(q|0)==2;do if(m&g){e=f[h>>2]|0;if(b[e+16>>0]|0){f[a+12>>2]=1;break}k=j[(f[e+72>>2]|0)+4>>1]|0;l=(f[e+80+(k*88|0)+64>>2]|0)+-1|0;k=(f[e+80+(k*88|0)+60>>2]|0)+1|0;e=f[a+20>>2]|0;do if((e|0)>-1){q=Hz(f[a+24>>2]|0,k,(l|0)<(e|0)?l:e)|0;if((q|0)>=0?!((e|0)<(l|0)&(q|0)==0):0)break;f[a+12>>2]=1}while(0);c=a+56|0;i=a+60|0;f[i>>2]=0;if(l|0){h=a+64|0;e=f[h>>2]|0;do if(e>>>0>>0){g=(e|0)==0?64:e;while(1)if(g>>>0>>0)g=g<<1;else break;e=f[c>>2]|0;if(Mc()|0){a=7;return a|0}e=Nc(e,(g|0)>0?g:0,0)|0;if(!e){a=7;return a|0}else{f[h>>2]=g;f[c>>2]=e;g=f[i>>2]|0;break}}else{e=f[c>>2]|0;g=0}while(0);YA(e+g|0,k|0,l|0)|0;f[i>>2]=(f[i>>2]|0)+l}}else if(!g){a=e;return a|0}while(0);if(f[a+12>>2]|0){a=0;return a|0}if(m?(f[(f[a+28>>2]|0)+48>>2]|0)==1:0){a=0;return a|0}a=qv(a)|0;return a|0}function qv(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=t;t=t+16|0;D=O;E=O+8|0;F=f[a>>2]|0;M=a+28|0;c=f[M>>2]|0;N=f[c+12>>2]|0;A=a+48|0;s=A;s=KA(f[s>>2]|0,f[s+4>>2]|0,1,0)|0;u=ba()|0;f[A>>2]=s;f[A+4>>2]=u;F=F+28|0;A=f[F>>2]|0;switch(A|0){case 2:{q=a+16|0;l=f[q>>2]|0;r=a+72|0;s=a+80|0;i=(f[c+48>>2]|0)==1;k=l+8|0;l=l+12|0;m=a+20|0;u=a+12|0;n=a+24|0;o=a+60|0;p=a+64|0;h=a+56|0;while(1){if(!i?(uv(f[k>>2]|0,f[l>>2]|0,s,r)|0)==0:0){C=0;p=94;break}c=r;f[c>>2]=0;f[c+4>>2]=0;f[s>>2]=0;c=f[q>>2]|0;d=c+24|0;g=f[d>>2]|0;vv(g,c,0,0,0);if(((f[g+36>>2]|0)==0?(w=c+80|0,x=j[(f[c+72>>2]|0)+4>>1]|0,y=w+(x*88|0)+12|0,z=f[y>>2]|0,z|0):0)?(b[f[w+(x*88|0)+60>>2]>>0]|0)!=48:0){if(!(f[9328]|0))ob[f[37360>>2]&127](z);else{g=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z)}f[y>>2]=0;b[c+16>>0]=1}g=(f[d>>2]|0)+36|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){v=c;p=30;break}c=f[q>>2]|0;do if(!(b[c+16>>0]|0)){e=j[(f[c+72>>2]|0)+4>>1]|0;g=(f[c+80+(e*88|0)+64>>2]|0)+-1|0;e=(f[c+80+(e*88|0)+60>>2]|0)+1|0;c=f[m>>2]|0;do if((c|0)>-1){d=Hz(f[n>>2]|0,e,(g|0)<(c|0)?g:c)|0;if((d|0)>=0?!((c|0)<(g|0)&(d|0)==0):0)break;f[u>>2]=1}while(0);f[o>>2]=0;if(!g)c=0;else{c=f[p>>2]|0;if(c>>>0>>0){d=(c|0)==0?64:c;while(1)if(d>>>0>>0)d=d<<1;else break;c=f[h>>2]|0;if(Mc()|0){c=7;break}c=Nc(c,(d|0)>0?d:0,0)|0;if(!c){c=7;break}f[p>>2]=d;f[h>>2]=c;d=f[o>>2]|0}else{c=f[h>>2]|0;d=0}YA(c+d|0,e|0,g|0)|0;f[o>>2]=(f[o>>2]|0)+g;c=0}}else{f[u>>2]=1;c=0}while(0);if(i|(f[u>>2]|0)!=0){C=c;p=94;break}if(c|0){v=c;p=30;break}}if((p|0)==30){f[u>>2]=1;a=v;t=O;return a|0}else if((p|0)==94){t=O;return C|0}break}case 0:{d=a+32|0;c=(f[d>>2]|0)+1|0;f[d>>2]=c;a:do if((c|0)<(N|0)){e=f[a+40>>2]|0;do{z=e+(c<<3)|0;if(!((f[z>>2]|0)==0&(f[z+4>>2]|0)==0))break a;c=c+1|0;f[d>>2]=c}while((c|0)<(N|0))}while(0);if((c|0)<(N|0))L=0;else p=36;break}default:p=36}do if((p|0)==36){o=a+16|0;c=f[o>>2]|0;if(b[c+16>>0]|0){f[a+12>>2]=1;L=A;break}g=j[(f[c+72>>2]|0)+4>>1]|0;h=(f[c+80+(g*88|0)+64>>2]|0)+-1|0;g=(f[c+80+(g*88|0)+60>>2]|0)+1|0;c=f[a+20>>2]|0;do if((c|0)>-1){A=Hz(f[a+24>>2]|0,g,(h|0)<(c|0)?h:c)|0;if((A|0)>=0?!((c|0)<(h|0)&(A|0)==0):0)break;f[a+12>>2]=1;a=0;t=O;return a|0}while(0);m=a+56|0;n=a+60|0;f[n>>2]=0;do if(!h)c=0;else{e=a+64|0;c=f[e>>2]|0;if(c>>>0>>0){d=(c|0)==0?64:c;while(1)if(d>>>0>>0)d=d<<1;else break;c=f[m>>2]|0;if(Mc()|0){c=7;break}c=Nc(c,(d|0)>0?d:0,0)|0;if(!c){c=7;break}f[e>>2]=d;f[m>>2]=c;d=f[n>>2]|0}else{c=f[m>>2]|0;d=0}YA(c+d|0,g|0,h|0)|0;f[n>>2]=(f[n>>2]|0)+h;c=0}while(0);k=a+36|0;A=N<<3;_A(f[k>>2]|0,0,A|0)|0;l=a+40|0;_A(f[l>>2]|0,0,A|0)|0;f[a+32>>2]=0;if(c|0){a=c;t=O;return a|0}i=((N|0)<0)<<31>>31;h=f[F>>2]|0;while(1){c=f[(f[M>>2]|0)+48>>2]|0;d=D;f[d>>2]=0;f[d+4>>2]=0;f[E>>2]=0;d=f[o>>2]|0;e=f[d+8>>2]|0;g=f[d+12>>2]|0;b:do switch(h|0){case 1:{if((c|0)==0?(uv(e,g,E,D)|0)==0:0)do{A=f[k>>2]|0;y=A;y=KA(f[y>>2]|0,f[y+4>>2]|0,1,0)|0;z=ba()|0;f[A>>2]=y;f[A+4>>2]=z}while(!(uv(e,g,E,D)|0));p=f[l>>2]|0;z=p;z=KA(f[z>>2]|0,f[z+4>>2]|0,1,0)|0;A=ba()|0;f[p>>2]=z;f[p+4>>2]=A;p=70;break}case 0:{switch(c|0){case 0:{if(uv(e,g,E,D)|0){p=70;break b}c=-1;while(1){d=f[D+4>>2]|0;A=(f[k>>2]|0)+(d<<3)|0;y=A;y=KA(f[y>>2]|0,f[y+4>>2]|0,1,0)|0;z=ba()|0;f[A>>2]=y;f[A+4>>2]=z;if((c|0)!=(d|0)){if((N|0)<=(d|0)){B=267;break b}c=(f[l>>2]|0)+(d<<3)|0;z=c;z=KA(f[z>>2]|0,f[z+4>>2]|0,1,0)|0;A=ba()|0;f[c>>2]=z;f[c+4>>2]=A;c=d}if(uv(e,g,E,D)|0){p=70;break}}break}case 2:{if(uv(e,g,E,D)|0){p=70;break b}while(1){A=D;c=f[A>>2]|0;A=f[A+4>>2]|0;if(!((A|0)<(i|0)|(A|0)==(i|0)&c>>>0>>0)){B=267;break b}A=(f[l>>2]|0)+(c<<3)|0;y=A;y=KA(f[y>>2]|0,f[y+4>>2]|0,1,0)|0;z=ba()|0;f[A>>2]=y;f[A+4>>2]=z;if(uv(e,g,E,D)|0){p=70;break}}break}default:{G=f[l>>2]|0;A=G;A=KA(f[A>>2]|0,f[A+4>>2]|0,1,0)|0;p=ba()|0;f[G>>2]=A;f[G+4>>2]=p;G=d;p=71;break b}}break}default:{G=d;p=71}}while(0);if((p|0)==70){G=f[o>>2]|0;p=71}if((p|0)==71){p=0;c=G+24|0;B=f[c>>2]|0;vv(B,G,0,0,0);if(((f[B+36>>2]|0)==0?(H=G+80|0,I=j[(f[G+72>>2]|0)+4>>1]|0,J=H+(I*88|0)+12|0,K=f[J>>2]|0,K|0):0)?(b[f[H+(I*88|0)+60>>2]>>0]|0)!=48:0){if(!(f[9328]|0))ob[f[37360>>2]&127](K);else{B=ib[f[37368>>2]&255](K)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](K)}f[J>>2]=0;b[G+16>>0]=1}A=(f[c>>2]|0)+36|0;B=f[A>>2]|0;f[A>>2]=0}h=f[F>>2]|0;if((h|0)==2){p=87;break}c=(B|0)==0;if(!c){p=93;break}d=f[o>>2]|0;e=j[(f[d+72>>2]|0)+4>>1]|0;g=(f[d+80+(e*88|0)+64>>2]|0)+-1|0;if((g|0)!=(f[n>>2]|0)){p=86;break}if(Hz((f[d+80+(e*88|0)+60>>2]|0)+1|0,f[m>>2]|0,g)|0){p=86;break}if(b[d+16>>0]|0){p=86;break}if(!c){C=B;p=94;break}}if((p|0)==86){L=h;break}else if((p|0)==87){if(!B){L=2;break}else C=B;t=O;return C|0}else if((p|0)==93){a=B;t=O;return a|0}else if((p|0)==94){t=O;return C|0}}while(0);if(f[a+12>>2]|L|0){a=0;t=O;return a|0}e=f[a+40>>2]|0;d=a+32|0;c=f[d>>2]|0;a=e+(c<<3)|0;if(!((f[a>>2]|0)==0&(f[a+4>>2]|0)==0)){a=0;t=O;return a|0}do{c=c+1|0;a=e+(c<<3)|0}while((f[a>>2]|0)==0&(f[a+4>>2]|0)==0);f[d>>2]=c;a=0;t=O;return a|0}function rv(a){a=a|0;return f[a+12>>2]|0}function sv(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0;g=f[a+28>>2]|0;e=f[g+48>>2]|0;if(!c){if(($e(f[b>>2]|0,f[a+56>>2]|0,f[a+60>>2]|0,1,-1)|0)!=18)return 0;f[b+20>>2]=18;$e(f[b>>2]|0,41612,-1,1,0)|0;return 0}a:do switch(f[(f[a>>2]|0)+28>>2]|0){case 0:switch(c|0){case 1:{if((e|0)==1)return 0;if(($e(f[b>>2]|0,f[(f[g+16>>2]|0)+(f[a+32>>2]<<2)>>2]|0,-1,1,0)|0)!=18)return 0;f[b+20>>2]=18;$e(f[b>>2]|0,41612,-1,1,0)|0;return 0}case 2:{c=(f[a+40>>2]|0)+(f[a+32>>2]<<3)|0;break a}default:{c=(f[a+36>>2]|0)+(f[a+32>>2]<<3)|0;break a}}case 1:if((c|0)==1){c=f[a+40>>2]|0;break a}else{c=f[a+36>>2]|0;break a}default:switch(c|0){case 1:{g=f[a+16>>2]|0;a=f[g>>2]|0;g=f[g+4>>2]|0;c=f[b>>2]|0;e=c+8|0;if(!(d[e>>1]&9216)){b=c;f[b>>2]=a;f[b+4>>2]=g;d[e>>1]=4;return 0}else{bf(c,a,g);return 0}}case 2:{switch(e|0){case 0:{c=f[a+72+4>>2]|0;break}case 2:{c=f[a+72>>2]|0;break}default:return 0}if((c|0)<=-1)return 0;if((c|0)>=(f[g+12>>2]|0))return 0;if(($e(f[b>>2]|0,f[(f[g+16>>2]|0)+(c<<2)>>2]|0,-1,1,0)|0)!=18)return 0;f[b+20>>2]=18;$e(f[b>>2]|0,41612,-1,1,0)|0;return 0}default:{if(e|0)return 0;g=f[b>>2]|0;c=UA(0,f[a+72>>2]|0,32)|0;e=ba()|0;a=g+8|0;if(!(d[a>>1]&9216)){b=g;f[b>>2]=c;f[b+4>>2]=e;d[a>>1]=4;return 0}else{bf(g,c,e);return 0}}}}while(0);g=c;a=f[g>>2]|0;g=f[g+4>>2]|0;if(!((g|0)>0|(g|0)==0&a>>>0>0))return 0;c=f[b>>2]|0;e=c+8|0;if(!(d[e>>1]&9216)){b=c;f[b>>2]=a;f[b+4>>2]=g;d[e>>1]=4;return 0}else{bf(c,a,g);return 0}return 0}function tv(a,b){a=a|0;b=b|0;var c=0;c=a+48|0;a=f[c+4>>2]|0;f[b>>2]=f[c>>2];f[b+4>>2]=a;return 0}function uv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;m=n;l=f[c>>2]|0;if((l|0)>=(b|0)){f[d>>2]=-1;f[d+4>>2]=-1;d=1;t=n;return d|0}b=d;g=f[b>>2]|0;b=f[b+4>>2]|0;i=a+l|0;e=h[i>>0]|0;do if(e&128){j=h[i+1>>0]|0;if(!(j&128)){e=e<<7&16256|j;i=2;break}k=h[i+2>>0]|0;if(!(k&128)){e=(e<<14|k)&2080895|j<<7&16256;i=3;break}else{i=yv(i,m)|0;e=f[m>>2]|0;i=i&255;break}}else i=1;while(0);j=i+l|0;if((e|0)==1){e=a+j|0;b=h[e>>0]|0;do if(b&128){g=h[e+1>>0]|0;if(!(g&128)){b=b<<7&16256|g;e=2;break}i=h[e+2>>0]|0;if(!(i&128)){b=(b<<14|i)&2080895|g<<7&16256;e=3;break}else{e=yv(e,m)|0;b=f[m>>2]|0;e=e&255;break}}else e=1;while(0);k=e+j|0;g=a+k|0;e=h[g>>0]|0;if(!(e&128)){i=k+1|0;g=0}else{i=h[g+1>>0]|0;do if(i&128){j=h[g+2>>0]|0;if(!(j&128)){g=3;e=(e<<14|j)&2080895|i<<7&16256;break}else{g=yv(g,m)|0;g=g&255;e=f[m>>2]|0;break}}else{g=2;e=e<<7&16256|i}while(0);i=g+k|0;g=0}}else i=j;a=e+-2|0;a=KA(g|0,b|0,a|0,((a|0)<0)<<31>>31|0)|0;m=ba()|0;f[d>>2]=a;f[d+4>>2]=m;f[c>>2]=i;d=0;t=n;return d|0}function vv(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=t;t=t+16|0;G=J;H=J+8|0;I=a+36|0;if(f[I>>2]|0){t=J;return}z=c+72|0;A=c+52|0;B=c+60|0;C=c+64|0;D=c+16|0;y=c+56|0;E=c+80|0;e=(e|0)==0;while(1){s=j[(f[z>>2]|0)+4>>1]|0;f[H>>2]=0;u=c+80+(s*88|0)|0;a:do if(!e?(F=f[c+80+(s*88|0)+56>>2]|0,(F|0)!=0):0){o=c+80+(s*88|0)+8|0;r=(f[c+80+(s*88|0)+4>>2]&2|0)==0;m=F+16|0;l=F+32|0;do if(r){k=F+24|0;e=f[o>>2]|0;do{if(f[m>>2]|0)break;w=l;v=f[w+4>>2]|0;if(!((v|0)<(i|0)|((v|0)==(i|0)?(f[w>>2]|0)>>>0>>0:0)))break;e=f[k>>2]|0;wv(a,F,0)}while((f[I>>2]|0)==0);if((e|0)>(f[o>>2]|0)){if((f[(f[u>>2]|0)+8>>2]|0)<(e|0)){f[I>>2]=267;e=0;break}n=c+80+(s*88|0)+16|0;k=f[n>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{w=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[n>>2]=0;f[o>>2]=e+-1;m=f[u>>2]|0;q=c+80+(s*88|0)+12|0;e=f[q>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{w=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[o>>2]|0;l=e+1|0;f[o>>2]=l;k=f[n>>2]|0;b:do if(!k){if((e|0)>=(f[m+8>>2]|0)){f[q>>2]=0;break}k=WA(f[m>>2]|0,0,37)|0;k=KA(k|0,ba()|0,l|0,((l|0)<0)<<31>>31|0)|0;k=xv(a,k,ba()|0)|0;do if(k|0){e=f[k+8>>2]|0;l=f[k+4>>2]|0;if((e|0)<=(l|0)){f[q>>2]=k;x=33;break b}f[I>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{w=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);f[q>>2]=0}else{f[q>>2]=k;f[n>>2]=0;e=f[k+8>>2]|0;l=f[k+4>>2]|0;x=33}while(0);do if((x|0)==33){p=c+80+(s*88|0)+36|0;f[p>>2]=e;if((e|0)>=(l|0)){f[c+80+(s*88|0)+40>>2]=l+1;break}k=(f[k>>2]|0)+e|0;l=c+80+(s*88|0)+40|0;m=h[k>>0]|0;do if(m&128){n=h[k+1>>0]|0;if(!(n&128)){f[l>>2]=m<<7&16256|n;k=2;break}o=h[k+2>>0]|0;if(!(o&128)){f[l>>2]=(m<<14|o)&2080895|n<<7&16256;k=3;break}else{k=yv(k,G)|0;f[l>>2]=f[G>>2];k=k&255;e=f[p>>2]|0;break}}else{f[l>>2]=m;k=1}while(0);f[p>>2]=k+e}while(0);if(!(f[I>>2]|0)){x=f[q>>2]|0;e=f[x>>2]|0;k=h[e>>0]<<8|h[e+1>>0];if((k&65535)>3?(f[x+8>>2]|0)>(k|0):0){e=k+((yv(e+k|0,c+80+(s*88|0)+72|0)|0)&255)|0;f[c+80+(s*88|0)+20>>2]=e;zv(a,u);e=0;break}else{f[I>>2]=267;e=0;break}}else e=0}else e=1}else{do{if(f[m>>2]|0)break;x=l;w=f[x+4>>2]|0;if(!((w|0)>(i|0)|((w|0)==(i|0)?(f[x>>2]|0)>>>0>g>>>0:0)))break;Av(a,F,0)}while(!(f[I>>2]|0));e=f[F+24>>2]|0;if((e|0)<(f[o>>2]|0)){f[o>>2]=e+1;Bv(a,u);e=0}else e=1}while(0);k=c+80+(s*88|0)+12|0;l=c+80+(s*88|0)+72|0;m=c+80+(s*88|0)+24|0;if(r)while(1){if(e|0?(f[I>>2]|0)==0:0)qb[f[m>>2]&255](a,u,0);e=f[k>>2]|0;if(!e){x=69;break a}x=l;w=f[x+4>>2]|0;if(!((w|0)<(i|0)|((w|0)==(i|0)?(f[x>>2]|0)>>>0>>0:0))){x=68;break a}if(!(f[I>>2]|0))e=1;else{x=68;break}}else while(1){if(e|0?(f[I>>2]|0)==0:0)qb[f[m>>2]&255](a,u,0);e=f[k>>2]|0;if(!e){x=69;break a}x=l;w=f[x+4>>2]|0;if(!((w|0)>(i|0)|((w|0)==(i|0)?(f[x>>2]|0)>>>0>g>>>0:0))){x=68;break a}if(!(f[I>>2]|0))e=1;else{x=68;break}}}else x=67;while(0);if((x|0)==67){qb[f[c+80+(s*88|0)+24>>2]&255](a,u,H);e=f[c+80+(s*88|0)+12>>2]|0;x=68}c:do if((x|0)==68){x=0;if(!((e|0)==0|(f[H>>2]|0)!=0)){k=c+80+(s*88|0)+72|0;e=f[k>>2]|0;k=f[k+4>>2]|0;m=C;l=f[m>>2]|0;m=f[m+4>>2]|0;if(!((e|0)==(l|0)&(k|0)==(m|0))){e=((k|0)<(m|0)|(k|0)==(m|0)&e>>>0>>0)&1;if((f[y>>2]|0)==(e|0))v=e;else{e=u;break}}else v=f[y>>2]|0;k=(v|0)==0;q=k?-1:0;k=k?2147483647:-2147483648;e=C;f[e>>2]=q;f[e+4>>2]=k;e=(f[A>>2]|0)+s|0;w=f[z>>2]|0;s=c+80+((s^1)*88|0)|0;r=e;p=u;d:while(1){u=(r|0)/2|0;do if(b[w+(u<<2)+2>>0]|0){m=p+72|0;l=f[m>>2]|0;m=f[m+4>>2]|0;o=s+72|0;n=f[o>>2]|0;o=f[o+4>>2]|0;if(!((l|0)==(n|0)&(m|0)==(o|0))){if((v|0)==(((o|0)>(m|0)|(o|0)==(m|0)&n>>>0>l>>>0)&1|0)){m=C;f[m>>2]=n;f[m+4>>2]=o;m=s;k=o;x=80;break}if((v|0)==(((o|0)>(k|0)|(o|0)==(k|0)&n>>>0>q>>>0)&1|0)){m=C;f[m>>2]=n;f[m+4>>2]=o;m=p;k=o;x=80}else{m=p;n=q;x=80}}else{o=1;l=s;m=p;n=q}}else{m=p;n=q;x=80}while(0);if((x|0)==80){x=0;d[w+(u<<2)>>1]=(m-E|0)/88|0;if((r&-2|0)==2){o=2;l=s}else{o=0;l=c+80+((j[w+((u^1)<<2)>>1]|0)*88|0)|0}}switch(o&3){case 2:{e=m;break c}case 0:{s=l;r=u;p=m;q=n;break}default:break d}}if(!o)e=m;else x=84}else x=69}while(0);if((x|0)==69){e=(f[A>>2]|0)+s|0;x=84}if((x|0)==84){x=0;e:do if((e|0)>=2)do{e=e>>>1;if(f[I>>2]|0)break e;k=Cv(c,e)|0;if(k){qb[f[c+80+(k*88|0)+24>>2]&255](a,c+80+(k*88|0)|0,0);e=(f[A>>2]|0)+k|0}}while((e|0)>=2);while(0);e=j[(f[z>>2]|0)+4>>1]|0;w=(f[c+80+(e*88|0)+12>>2]|0)==0;b[D>>0]=w&1;s=c+80+(e*88|0)+72|0;u=f[s+4>>2]|0;v=C;f[v>>2]=f[s>>2];f[v+4>>2]=u;if(w)break;else e=c+80+(e*88|0)|0}if(!(b[B>>0]|0)){x=93;break}if(f[e+80>>2]|0){x=93;break}if(!(f[I>>2]|0))e=1;else{x=96;break}}if((x|0)==93)pb[f[c+48>>2]&127](c,e);else if((x|0)==96){t=J;return}t=J;return}function wv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=b+8+(c<<5)|0;if(!(Ev(e)|0))return;d=c+1|0;if((d|0)>=(f[b>>2]|0))return;wv(a,b,d);if(f[e+40>>2]|0)return;d=f[e>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{g=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[e+28>>2]=0;b=WA(f[b+4>>2]|0,0,37)|0;g=ba()|0|16;h=WA(c|0,((c|0)<0)<<31>>31|0,31)|0;d=ba()|0;c=f[e+48>>2]|0;c=KA(h|0,d|0,c|0,((c|0)<0)<<31>>31|0)|0;g=KA(c|0,ba()|0,b|0,g|0)|0;g=xv(a,g,ba()|0)|0;f[e>>2]=g;if(!g)return;Ev(e)|0;return}function xv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;k=a+36|0;if(f[k>>2]|0){k=0;return k|0}i=a+40|0;d=f[i>>2]|0;if(d){f[i>>2]=0;g=aq(d,b,c)|0;f[i>>2]=d;if(!g)j=18;else{f[i>>2]=0;e=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;do if(e){if(f[e+480>>2]|0){Kc(e,d);break}l=d;if((f[e+304>>2]|0)>>>0<=l>>>0?(f[e+308>>2]|0)>>>0>l>>>0:0){l=e+300|0;f[d>>2]=f[l>>2];f[l>>2]=d}else j=10}else j=10;while(0);do if((j|0)==10)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{l=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);d=(g|0)==4?0:g;e=(f[i>>2]|0)==0;j=14}}else{d=0;e=1;j=14}a:do if((j|0)==14){if((d|0)==0&e){d=f[a>>2]|0;d=Wp(f[d>>2]|0,f[d+4>>2]|0,f[a+4>>2]|0,64237,b,c,0,i)|0}switch(d|0){case 1:{e=0;d=267;break a}case 0:{d=f[i>>2]|0;if(!d){d=0;j=20;break a}else{j=18;break a}}default:{e=0;break a}}}while(0);if((j|0)==18)if(!(f[d+16>>2]|0)){d=0;j=20}else{d=f[d>>2]|0;j=20}do if((j|0)==20){e=Fd(d+32|0)|0;if(e){f[e+4>>2]=d;l=e+12|0;f[e>>2]=l;d=Zp(f[i>>2]|0,l,d,0,89)|0;if(!d){d=f[e>>2]|0;f[e+8>>2]=(h[d+2>>0]|0)<<8|(h[d+3>>0]|0);d=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);e=0;break}else{l=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);e=0;break}}else{e=0;d=7}}while(0);f[k>>2]=d;l=a+64|0;f[l>>2]=(f[l>>2]|0)+1;l=e;return l|0}function yv(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;d=b[a>>0]|0;e=d&255;do if(e&128){d=h[a+1>>0]|0;if(!(d&128)){l=2;j=0;d=e<<7&16256|d;break}l=h[a+2>>0]|0;e=(e<<14|l)&2080895;if(!(l&128)){l=3;j=0;d=e|d<<7&16256;break}l=h[a+3>>0]|0;d=(d<<14|l)&2080895;if(!(l&128)){l=4;j=0;d=d|e<<7;break}k=b[a+4>>0]|0;l=k&255;g=e<<14|l;if(!(l&128)){l=5;j=e>>>18;d=g|d<<7;break}j=d|e<<7;l=h[a+5>>0]|0;i=d<<14|l;if(!(l&128)){l=6;j=j>>>18;d=i|g<<7&266354560;break}l=h[a+6>>0]|0;d=g<<14|l;if(!(l&128)){l=7;j=j>>>11;d=d&-266354561|i<<7&266354560;break}e=d&2080895;l=h[a+7>>0]|0;d=i<<14|l;if(!(l&128)){l=8;j=j>>>4;d=d&-266354561|e<<7;break}else{l=9;j=(k&120)>>>3|j<<4;d=d<<8&532709120|e<<15|(h[a+8>>0]|0);break}}else{l=1;j=0;d=d&255}while(0);f[c>>2]=d;f[c+4>>2]=j;return l|0}function zv(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+16|0;i=m;if(f[a+36>>2]|0){t=m;return}l=c+20|0;k=f[l>>2]|0;do if((f[(f[a>>2]|0)+48>>2]|0)==1){d=f[c+40>>2]|0;a=f[c+12>>2]|0;g=f[a+8>>2]|0;g=(d|0)<(g|0)?d:g;d=c+84|0;b[d>>0]=0;e=c+80|0;f[e>>2]=1;if((k|0)<(g|0)?(j=f[a>>2]|0,(b[j+k>>0]|0)==0):0){b[d>>0]=1;a=k+1|0;if((a|0)<(g|0)?(b[j+a>>0]|0)==0:0){f[e>>2]=1;a=k+2|0;break}f[e>>2]=0}else a=k}else{d=(f[f[c+12>>2]>>2]|0)+k|0;a=h[d>>0]|0;do if(a&128){e=h[d+1>>0]|0;if(!(e&128)){a=a<<7&16256|e;d=2;break}g=h[d+2>>0]|0;if(!(g&128)){a=(a<<14|g)&2080895|e<<7&16256;d=3;break}else{d=yv(d,i)|0;a=f[i>>2]|0;d=d&255;break}}else d=1;while(0);b[c+84>>0]=a&1;f[c+80>>2]=a>>1;a=d+k|0}while(0);f[l>>2]=a;t=m;return}function Av(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+16|0;j=q;p=c+8+(d<<5)|0;o=c+8+(d<<5)+4|0;e=f[o>>2]|0;m=c+8+(d<<5)+12|0;if((e|0)>(f[m>>2]|0)){n=f[f[p>>2]>>2]|0;i=(e|0)>9?e+-9|0:0;g=e+-1|0;a:do if((g|0)>(i|0)){h=g;while(1){if((b[n+(e+-2)>>0]|0)>-1){g=h;break a}g=h+-1|0;if((g|0)>(i|0)){e=h;h=g}else{e=h;break}}}while(0);yv(n+g|0,j)|0;h=j;k=c+8+(d<<5)+24|0;l=k;h=LA(f[l>>2]|0,f[l+4>>2]|0,f[h>>2]|0,f[h+4>>2]|0)|0;l=ba()|0;f[k>>2]=h;f[k+4>>2]=l;k=c+8+(d<<5)+16|0;l=(f[k>>2]|0)+-1|0;f[k>>2]=l;h=e+-2|0;j=f[m>>2]|0;b:do if((h|0)>=(j|0)){e=0;while(1){i=b[n+h>>0]|0;if(i<<24>>24)break;e=e+1|0;if((h|0)>(j|0))h=h+-1|0;else break b}if(i<<24>>24<0){m=h+-8|0;if(((((((((m|0)>=(j|0)?(b[n+(h+-1)>>0]|0)<0:0)?(b[n+(h+-2)>>0]|0)<0:0)?(b[n+(h+-3)>>0]|0)<0:0)?(b[n+(h+-4)>>0]|0)<0:0)?(b[n+(h+-5)>>0]|0)<0:0)?(b[n+(h+-6)>>0]|0)<0:0)?(b[n+(h+-7)>>0]|0)<0:0)?(b[n+m>>0]|0)<0:0)break;e=e+-1|0}}else e=0;while(0);f[k>>2]=l-e;f[o>>2]=g-e;if(!(f[c+8+(d<<5)+8>>2]|0)){t=q;return}}else f[c+8+(d<<5)+8>>2]=1;e=d+1|0;if((e|0)>=(f[c>>2]|0)){t=q;return}Av(a,c,e);if(f[p+40>>2]|0){t=q;return}e=f[p>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{o=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;n=WA(f[c+4>>2]|0,0,37)|0;o=ba()|0|16;k=WA(d|0,((d|0)<0)<<31>>31|0,31)|0;l=ba()|0;m=f[p+48>>2]|0;m=KA(k|0,l|0,m|0,((m|0)<0)<<31>>31|0)|0;o=KA(m|0,ba()|0,n|0,o|0)|0;a=xv(a,o,ba()|0)|0;f[p>>2]=a;if(!a){t=q;return}do{}while(!(Ev(p)|0));f[c+8+(d<<5)+8>>2]=0;t=q;return}function Bv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;l=b+12|0;c=f[l>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{k=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[l>>2]=0;e=a+36|0;if(f[e>>2]|0)return;g=b+8|0;i=b+28|0;j=b+32|0;a:do{c=f[g>>2]|0;if((c|0)<=(f[i>>2]|0))break;k=c+-1|0;f[g>>2]=k;d=WA(f[f[b>>2]>>2]|0,0,37)|0;k=KA(d|0,ba()|0,k|0,((k|0)<0)<<31>>31|0)|0;k=xv(a,k,ba()|0)|0;do if(k|0){if((f[g>>2]|0)==(f[i>>2]|0)){c=f[j>>2]|0;if((c|0)<(f[k+8>>2]|0)){m=11;break a}}else{c=f[k>>2]|0;c=(h[c>>0]|0)<<8|(h[c+1>>0]|0);if(c|0){m=13;break a}}d=f[l>>2]|0;if(d|0){m=15;break a}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{d=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0)}while(!(f[e>>2]|0));if((m|0)==11){f[l>>2]=k;e=b+20|0;f[e>>2]=c;d=k;m=16}else if((m|0)==13){e=b+20|0;f[l>>2]=k;f[e>>2]=c;d=k;m=16}else if((m|0)==15){c=b+20|0;e=c;c=f[c>>2]|0;m=16}if((m|0)==16){m=(yv((f[d>>2]|0)+c|0,b+72|0)|0)&255;f[e>>2]=(f[e>>2]|0)+m}c=f[l>>2]|0;if(!c)return;f[b+40>>2]=(f[c+4>>2]|0)+1;Dv(a,b);return}function Cv(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0;m=f[a+72>>2]|0;e=(f[a+52>>2]|0)/2|0;if((e|0)>(c|0)){l=c<<1;e=j[m+(l<<2)>>1]|0;l=j[m+((l|1)<<2)>>1]|0}else{l=c-e<<1;e=l;l=l|1}h=m+(c<<2)+2|0;b[h>>0]=0;if(f[a+80+(e*88|0)+12>>2]|0){if(f[a+80+(l*88|0)+12>>2]|0){i=f[a+80+(e*88|0)+64>>2]|0;k=f[a+80+(l*88|0)+64>>2]|0;g=Hz(f[a+80+(e*88|0)+60>>2]|0,f[a+80+(l*88|0)+60>>2]|0,(i|0)<(k|0)?i:k)|0;g=(g|0)==0?i-k|0:g;do if(!g){b[h>>0]=1;h=a+80+(e*88|0)+72|0;g=f[h>>2]|0;h=f[h+4>>2]|0;k=a+80+(l*88|0)+72|0;i=f[k>>2]|0;k=f[k+4>>2]|0;if(!((g|0)==(i|0)&(h|0)==(k|0))){g=(f[a+56>>2]|0)==(((h|0)>(k|0)|(h|0)==(k|0)&g>>>0>i>>>0)&1|0)?-1:1;break}b[a+80+(e*88|0)+84>>0]=b[a+80+(l*88|0)+84>>0]|0;m=l;return m|0}while(0);e=(g|0)<0?e:l}}else e=l;d[m+(c<<2)>>1]=e;m=0;return m|0}function Dv(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+16|0;l=u+8|0;r=u;n=f[c+12>>2]|0;s=f[n+8>>2]|0;m=c+20|0;e=f[m>>2]|0;n=f[n>>2]|0;o=f[c+40>>2]|0;s=(s|0)>(o|0)?o:s;o=c+72|0;p=c+48|0;q=c+52|0;a:do if((f[(f[a>>2]|0)+48>>2]|0)==1){d=0;while(1){l=r;f[l>>2]=0;f[l+4>>2]=0;if((e|0)<(s|0)?(b[n+e>>0]|0)==0:0){g=e+1|0;if((g|0)<(s|0))e=(b[n+g>>0]|0)==0?e+2|0:g;else e=g}if((e|0)>=(s|0))break;e=e+((yv(n+e|0,r)|0)&255)|0;k=r;l=o;k=KA(f[l>>2]|0,f[l+4>>2]|0,f[k>>2]|0,f[k+4>>2]|0)|0;l=ba()|0;g=o;f[g>>2]=k;f[g+4>>2]=l;g=f[p>>2]|0;if((d|0)<(g|0))g=f[q>>2]|0;else{j=g+8|0;g=f[q>>2]|0;i=j<<2;if(Mc()|0)break a;g=Nc(g,(i|0)>0?i:0,0)|0;if(!g)break a;f[q>>2]=g;f[p>>2]=j}f[g+(d<<2)>>2]=f[m>>2];f[m>>2]=e;d=d+1|0}s=c+44|0;f[s>>2]=d;zv(a,c);t=u;return}else{d=0;while(1){i=r;f[i>>2]=0;f[i+4>>2]=0;i=n+e|0;g=h[i>>0]|0;do if(g&128){j=h[i+1>>0]|0;if(!(j&128)){i=2;g=g<<7&16256|j;break}k=h[i+2>>0]|0;if(!(k&128)){i=3;g=(g<<14|k)&2080895|j<<7&16256;break}else{i=yv(i,l)|0;i=i&255;g=f[l>>2]|0;break}}else i=1;while(0);e=i+e+((g|0)/2|0)|0;if((e|0)>=(s|0))break;e=e+((yv(n+e|0,r)|0)&255)|0;j=r;k=o;j=KA(f[k>>2]|0,f[k+4>>2]|0,f[j>>2]|0,f[j+4>>2]|0)|0;k=ba()|0;g=o;f[g>>2]=j;f[g+4>>2]=k;g=f[p>>2]|0;if((d|0)<(g|0))g=f[q>>2]|0;else{j=g+8|0;g=f[q>>2]|0;i=j<<2;if(Mc()|0)break a;g=Nc(g,(i|0)>0?i:0,0)|0;if(!g)break a;f[q>>2]=g;f[p>>2]=j}f[g+(d<<2)>>2]=f[m>>2];f[m>>2]=e;d=d+1|0}s=c+44|0;f[s>>2]=d;zv(a,c);t=u;return}while(0);f[a+36>>2]=7;r=d;s=c+44|0;f[s>>2]=r;zv(a,c);t=u;return}function Ev(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;l=n;k=f[a>>2]|0;m=a+4|0;e=f[m>>2]|0;if(e|0){g=f[k+4>>2]|0;a:do if((e|0)<(g|0)){d=f[k>>2]|0;c=e;while(1){if(b[d+c>>0]|0)break;c=c+1|0;if((c|0)>=(g|0))break a}k=a+16|0;f[k>>2]=1-e+c+(f[k>>2]|0);k=c+((yv(d+c|0,l)|0)&255)|0;i=l;l=a+24|0;j=l;i=KA(f[j>>2]|0,f[j+4>>2]|0,f[i>>2]|0,f[i+4>>2]|0)|0;j=ba()|0;f[l>>2]=i;f[l+4>>2]=j;f[m>>2]=k;m=a+8|0;m=f[m>>2]|0;t=n;return m|0}while(0);f[a+8>>2]=1;m=a+8|0;m=f[m>>2]|0;t=n;return m|0}f[m>>2]=1;c=f[k>>2]|0;i=c+1|0;j=a+16|0;d=h[i>>0]|0;do if(d&128){e=h[c+2>>0]|0;if(!(e&128)){f[j>>2]=d<<7&16256|e;d=2;e=1;break}g=h[c+3>>0]|0;if(!(g&128)){f[j>>2]=(d<<14|g)&2080895|e<<7&16256;d=3;e=1;break}else{d=yv(i,l)|0;f[j>>2]=f[l>>2];d=d&255;e=f[m>>2]|0;c=f[k>>2]|0;break}}else{f[j>>2]=d;d=1;e=1}while(0);l=e+d|0;f[m>>2]=l;l=(yv(c+l|0,a+24|0)|0)&255;l=(f[m>>2]|0)+l|0;f[m>>2]=l;f[a+12>>2]=l;m=a+8|0;m=f[m>>2]|0;t=n;return m|0}function Fv(a){a=a|0;var b=0,c=0,d=0,e=0;e=a+48|0;f[e>>2]=0;f[e+4>>2]=0;e=a+16|0;c=f[e>>2]|0;do if(c|0?(b=f[c+24>>2]|0,Tv(c),b=b+40|0,d=f[b>>2]|0,d|0):0){f[b>>2]=0;b=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;if(b|0){if(f[b+480>>2]|0){Kc(b,d);break}c=d;if((f[b+304>>2]|0)>>>0<=c>>>0?(f[b+308>>2]|0)>>>0>c>>>0:0){c=b+300|0;f[d>>2]=f[c>>2];f[c>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{c=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);f[e>>2]=0;b=a+24|0;c=f[b>>2]|0;if(!c){a=a+20|0;f[a>>2]=-1;f[b>>2]=0;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);a=a+20|0;f[a>>2]=-1;f[b>>2]=0;return}else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);a=a+20|0;f[a>>2]=-1;f[b>>2]=0;return}}function Gv(a,c,e,g,i,k){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=t;t=t+32|0;O=W+20|0;p=W+16|0;R=W+4|0;T=W;o=f[a>>2]|0;f[T>>2]=0;V=a+36|0;P=e+1|0;do if(!P){l=0;Q=8}else{m=64;while(1)if(m>>>0

>>0)m=m<<1;else break;if((Mc()|0)==0?(l=Nc(0,(m|0)>0?m:0,0)|0,l|0):0)if(!e){U=l;break}else{Q=8;break}f[V>>2]=7;k=f[V>>2]|0;f[V>>2]=0;t=W;return k|0}while(0);if((Q|0)==8){YA(l+1|0,c|0,e|0)|0;U=l}a:do if(g&1){if((e|0)>0){m=0;l=0;do{n=l+1|0;b:do if((n|0)<(e|0)?(h[c+l>>0]|0)>191:0){l=n;do{if((b[c+l>>0]&-64)<<24>>24!=-128)break b;l=l+1|0}while((l|0)<(e|0))}else l=n;while(0);m=m+1|0}while((l|0)<(e|0))}else m=0;l=f[o+24>>2]|0;if((l|0)<1)n=1;else{c=f[o+28>>2]|0;n=1;while(1){if((f[c+(n+-1<<2)>>2]|0)==(m|0))break a;o=n+1|0;if((n|0)<(l|0))n=o;else{n=o;break}}}}else{n=0;l=f[o+24>>2]|0}while(0);c:do if((n|0)>(l|0)){N=g>>>1&1;b[U>>0]=48;K=(f[(f[a>>2]|0)+48>>2]|0)==1;J=K?68:69;K=K?202:203;d:do if(!(f[V>>2]|0)){do if(!(Mc()|0)){if(!(f[9328]|0)){l=ib[f[37356>>2]&255](384)|0;if(!l)break}else{l=ib[f[37372>>2]&255](384)|0;if((f[18194]|0)>>>0<384)f[18194]=384;n=71896;m=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&m>>>0>0){M=f[18187]|0;L=LA(m|0,n|0,l|0,((l|0)<0)<<31>>31|0)|0;I=ba()|0;f[17976]=((I|0)<0|(I|0)==0&L>>>0<=M>>>0)&1}l=ib[f[37356>>2]&255](l)|0;if(!l)break;m=ib[f[37368>>2]&255](l)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0>(f[18196]|0)>>>0)f[18196]=m}_A(l|0,0,384)|0;L=l;break d}while(0);f[V>>2]=7;L=0}else L=0;while(0);M=Hv(a)|0;if((L|0)!=0&(M|0)!=0){f[p>>2]=0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;Iv(a,M,56,i,U,P,-1,0,p);I=f[p>>2]|0;e:do if(!(f[V>>2]|0)){l=f[f[I+24>>2]>>2]|0;m=f[l+48>>2]|0;do if((m|0)!=1){n=f[I+44>>2]|0;if(!n){c=I+48|0;f[c>>2]=71;break}if(!(f[n>>2]|0)){c=I+48|0;f[c>>2]=72;break}if(!m){c=I+48|0;f[c>>2]=73;break}m=f[l+12>>2]|0;c=I+48|0;if((m|0)>=101){f[c>>2]=75;break}f[c>>2]=74;o=I+40|0;l=f[o>>2]|0;if(l>>>0>>0){n=(l|0)==0?64:l;while(1)if(n>>>0>>0)n=n<<1;else break;l=I+32|0;m=f[l>>2]|0;if((Mc()|0)==0?(q=Nc(m,(n|0)>0?n:0,0)|0,q|0):0){f[o>>2]=n;f[l>>2]=q;if(!(f[V>>2]|0))break;else break e}f[V>>2]=7;break e}}else{c=I+48|0;f[c>>2]=70}while(0);B=I+16|0;C=I+72|0;D=I+12|0;E=I+52|0;F=I+64|0;A=I+56|0;G=I+80|0;H=R+4|0;p=1;g=0;n=0;while(1){if(b[B>>0]|0)break e;z=j[(f[C>>2]|0)+4>>1]|0;l=f[I+80+(z*88|0)+64>>2]|0;m=f[I+80+(z*88|0)+60>>2]|0;pb[f[c>>2]&127](I,I+80+(z*88|0)|0);if(p|0){if((l|0)<=(e|0))break e;if(Hz(U,m,P)|0)break e}if(!(f[D>>2]|0))z=g;else{m=I;l=f[m>>2]|0;m=f[m+4>>2]|0;if(((m|0)<(g|0)|(m|0)==(g|0)&l>>>0<=n>>>0)&(f[H>>2]|0)>0)if(!(f[V>>2]|0)){l=0;while(1){m=L+(l*12|0)|0;n=L+(l*12|0)+4|0;if(!(f[n>>2]|0)){Q=79;break}qb[K&255](a,R,m);f[n>>2]=0;if((f[H>>2]|0)!=0&(f[V>>2]|0)==0)l=l+1|0;else break}if((Q|0)==79){Q=0;f[O>>2]=f[R>>2];f[O+4>>2]=f[R+4>>2];f[O+8>>2]=f[R+8>>2];f[R>>2]=f[m>>2];f[R+4>>2]=f[m+4>>2];f[R+8>>2]=f[m+8>>2];f[m>>2]=f[O>>2];f[m+4>>2]=f[O+4>>2];f[m+8>>2]=f[O+8>>2];f[H>>2]=0}o=I;l=f[o>>2]|0;o=f[o+4>>2]|0;n=0;m=0}else{o=m;n=0;m=0}else{o=m;m=g}n=LA(l|0,o|0,n|0,m|0)|0;z=ba()|0;sb[J&127](a,n,z,I,R);z=I;n=f[z>>2]|0;z=f[z+4>>2]|0}l=f[V>>2]|0;f:do if(!l){g=0;o=d[(f[C>>2]|0)+4>>1]|0;while(1){i=o&65535;q=I+80+(i*88|0)|0;f[O>>2]=0;qb[f[I+80+(i*88|0)+24>>2]&255](a,q,O);g:do if(!(f[O>>2]|0?1:(f[I+80+(i*88|0)+12>>2]|0)==0)){m=I+80+(i*88|0)+72|0;l=f[m>>2]|0;m=f[m+4>>2]|0;p=F;o=f[p>>2]|0;p=f[p+4>>2]|0;do if((l|0)==(o|0)&(m|0)==(p|0))y=f[A>>2]|0;else{l=((m|0)<(p|0)|(m|0)==(p|0)&l>>>0>>0)&1;if((f[A>>2]|0)==(l|0)){y=l;break}m=f[C>>2]|0;break g}while(0);o=(y|0)==0;u=o?-1:0;o=o?2147483647:-2147483648;l=F;f[l>>2]=u;f[l+4>>2]=o;l=(f[E>>2]|0)+i|0;m=f[C>>2]|0;w=I+80+((i^1)*88|0)|0;v=l;h:while(1){x=(v|0)/2|0;do if(!(b[m+(x<<2)+2>>0]|0)){r=u;Q=98}else{i=q+72|0;p=f[i>>2]|0;i=f[i+4>>2]|0;s=w+72|0;r=f[s>>2]|0;s=f[s+4>>2]|0;if((p|0)==(r|0)&(i|0)==(s|0)){i=1;p=w;r=u;break}if((y|0)==(((s|0)>(i|0)|(s|0)==(i|0)&r>>>0>p>>>0)&1|0)){q=F;f[q>>2]=r;f[q+4>>2]=s;q=w;o=s;Q=98;break}if((y|0)!=(((s|0)>(o|0)|(s|0)==(o|0)&r>>>0>u>>>0)&1|0)){r=u;Q=98;break}o=F;f[o>>2]=r;f[o+4>>2]=s;o=s;Q=98}while(0);do if((Q|0)==98){Q=0;d[m+(x<<2)>>1]=(q-G|0)/88|0;if((v&-2|0)==2){i=2;p=w;break}i=0;p=I+80+((j[m+((x^1)<<2)>>1]|0)*88|0)|0}while(0);switch(i&3){case 2:break g;case 0:{w=p;v=x;u=r;break}default:break h}}if(i)Q=102}else{l=(f[E>>2]|0)+i|0;Q=102}while(0);if((Q|0)==102){Q=0;i:do if((l|0)>=2)do{l=l>>>1;if(f[V>>2]|0)break i;m=Cv(I,l)|0;if(m){qb[f[I+80+(m*88|0)+24>>2]&255](a,I+80+(m*88|0)|0,0);l=(f[E>>2]|0)+m|0}}while((l|0)>=2);while(0);m=f[C>>2]|0;x=j[m+4>>1]|0;b[B>>0]=(f[I+80+(x*88|0)+12>>2]|0)==0&1;x=I+80+(x*88|0)+72|0;y=f[x+4>>2]|0;g=F;f[g>>2]=f[x>>2];f[g+4>>2]=y;g=1}l=f[V>>2]|0;o=d[m+4>>1]|0;m=o&65535;if(l|0){m=g;break f}if(!(f[I+80+(m*88|0)+12>>2]|0)){m=g;l=0;break f}if(f[I+80+(m*88|0)+80>>2]|0){m=g;l=0;break}}}else m=p;while(0);if(!l){p=m;g=z}else break}}while(0);l=0;do{m=L+(l*12|0)|0;if(!(f[V>>2]|0))qb[K&255](a,R,m);n=f[L+(l*12|0)>>2]|0;do if(n|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{Q=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}while(0);f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;l=l+1|0}while((l|0)!=32);Tv(I);m=R+4|0;l=(f[m>>2]|0)+12|0;do if(!(f[V>>2]|0)){c=Fd(l)|0;if(!c){if((l|0)<=0)break;f[V>>2]=7;break}_A(c|0,0,l|0)|0;n=c+12|0;f[c>>2]=n;l=f[m>>2]|0;f[c+8>>2]=l;f[c+4>>2]=l;if(!l){Uv(a,c,N,T);break}else{YA(n|0,f[R>>2]|0,l|0)|0;Uv(a,c,N,T);break}}while(0);l=f[R>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{R=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0)}do if(M|0?(R=f[M>>2]|0,f[M>>2]=R+-1,(R|0)<2):0){m=M+20|0;if((f[m>>2]|0)>0){l=0;do{n=f[M+24+(l*12|0)+8>>2]|0;do if(n|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{R=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}while(0);l=l+1|0}while((l|0)<(f[m>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](M);break}else{R=ib[f[37368>>2]&255](M)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](M);break}}while(0);do if(L|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](L);break}else{R=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);break}while(0);o=f[T>>2]|0;if(!(f[V>>2]|0)){l=f[f[o+24>>2]>>2]|0;m=f[l+48>>2]|0;do if((m|0)!=1){n=f[o+44>>2]|0;if(!n){f[o+48>>2]=71;break}if(!(f[n>>2]|0)){f[o+48>>2]=72;break}if(!m){f[o+48>>2]=73;break}m=f[l+12>>2]|0;l=o+48|0;if((m|0)>=101){f[l>>2]=75;break}f[l>>2]=74;c=o+40|0;l=f[c>>2]|0;if(l>>>0>>0){n=(l|0)==0?64:l;while(1)if(n>>>0>>0)n=n<<1;else break;l=o+32|0;m=f[l>>2]|0;if((Mc()|0)==0?(S=Nc(m,(n|0)>0?n:0,0)|0,S|0):0){f[c>>2]=n;f[l>>2]=S;break}f[V>>2]=7;m=o;l=o;Q=174;break c}}else f[o+48>>2]=70;while(0);if(!(f[V>>2]|0)){l=j[(f[o+72>>2]|0)+4>>1]|0;if(!(f[o+80+(l*88|0)+12>>2]|0))Q=170;else{pb[f[o+48>>2]&127](o,o+80+(l*88|0)|0);Q=170}}else{m=o;l=o;Q=174}}else{m=o;l=o;Q=173}}else{c=Hv(a)|0;b[U>>0]=n+48;if((c|0)!=0?(Iv(a,c,g|16,i,U,P,-1,0,T),S=f[c>>2]|0,f[c>>2]=S+-1,(S|0)<2):0){m=c+20|0;if((f[m>>2]|0)>0){l=0;do{n=f[c+24+(l*12|0)+8>>2]|0;do if(n|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{S=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}while(0);l=l+1|0}while((l|0)<(f[m>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);Q=170;break}else{Q=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);Q=170;break}}else Q=170}while(0);do if((Q|0)==170)if(!(f[V>>2]|0)){l=f[T>>2]|0;break}else{l=f[T>>2]|0;m=l;Q=173;break}while(0);if((Q|0)==173)if(!m)Q=184;else Q=174;do if((Q|0)==174){m=f[m+24>>2]|0;Tv(l);l=m+40|0;m=f[l>>2]|0;if(m){f[l>>2]=0;l=f[m+20>>2]|0;Fi(f[m+16>>2]|0)|0;if(l|0){if(f[l+480>>2]|0){Kc(l,m);Q=184;break}S=m;if((f[l+304>>2]|0)>>>0<=S>>>0?(f[l+308>>2]|0)>>>0>S>>>0:0){Q=l+300|0;f[m>>2]=f[Q>>2];f[Q>>2]=m;Q=184;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);Q=184;break}else{Q=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);Q=184;break}}else Q=184}while(0);do if((Q|0)==184){f[T>>2]=0;l=a+40|0;m=f[l>>2]|0;if(m){f[l>>2]=0;l=f[m+20>>2]|0;Fi(f[m+16>>2]|0)|0;if(l|0){if(f[l+480>>2]|0){Kc(l,m);l=0;break}T=m;if((f[l+304>>2]|0)>>>0<=T>>>0?(f[l+308>>2]|0)>>>0>T>>>0:0){l=l+300|0;f[m>>2]=f[l>>2];f[l>>2]=m;l=0;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);l=0;break}else{l=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);l=0;break}}else l=0}while(0);f[k>>2]=l;if(!U){k=f[V>>2]|0;f[V>>2]=0;t=W;return k|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](U);k=f[V>>2]|0;f[V>>2]=0;t=W;return k|0}else{k=ib[f[37368>>2]&255](U)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](U);k=f[V>>2]|0;f[V>>2]=0;t=W;return k|0}return 0}function Hv(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=t;t=t+48|0;z=E+16|0;v=E+8|0;e=E;m=E+36|0;y=E+32|0;B=E+28|0;l=E+24|0;C=a+80|0;D=a+36|0;a:do if(!(f[C>>2]|0)){do if(!(f[D>>2]|0)){g=a+68|0;c=f[g>>2]|0;if(!c){f[e>>2]=f[(f[a>>2]|0)+4>>2];c=wd(67742,e)|0;e=(c|0)==0;do if(!(f[D>>2]|0))if(e){f[D>>2]=7;A=23;break}else{u=Ki(f[f[a>>2]>>2]|0,c,-1,129,0,g,0)|0;f[D>>2]=u;break}else if(e)A=23;while(0);if((A|0)==23){B=a+72|0;f[B>>2]=0;f[B+4>>2]=0;break a}if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{u=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}if(f[D>>2]|0)break;c=f[g>>2]|0}if((Ei(c)|0)==100){i=Jp(f[g>>2]|0,0)|0;k=ba()|0}else{i=0;k=0}c=f[g>>2]|0;do if(c){e=f[c>>2]|0;u=c+128|0;s=f[u+4>>2]|0;if((s|0)>0|(s|0)==0&(f[u>>2]|0)>>>0>0)Hi(e,c);g=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;u=c+64|0;f[u>>2]=0;f[u+4>>2]=0;if((g|0)==3082|(b[e+81>>0]|0)!=0){Di(e);f[D>>2]=7;D=a+72|0;f[D>>2]=i;f[D+4>>2]=k;D=0;t=E;return D|0}else{u=f[e+68>>2]&g;f[D>>2]=u;s=a+72|0;f[s>>2]=i;f[s+4>>2]=k;if(!u)break;else c=0;t=E;return c|0}}else{f[D>>2]=0;u=a+72|0;f[u>>2]=i;f[u+4>>2]=k}while(0);f[B>>2]=0;s=f[a>>2]|0;u=xv(a,10,0)|0;if(!(f[D>>2]|0)){c=u+4|0;e=(f[u>>2]|0)+(f[c>>2]|0)|0;g=e+20|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(g|0));r=hw(f[u>>2]|0,f[c>>2]|0,l,B)|0;f[D>>2]=r;do if((r|0)==0?(w=s+64|0,x=f[l>>2]|0,(f[w>>2]|0)!=(x|0)):0){f[m>>2]=0;f[y>>2]=0;f[s+68>>2]=4050;f[s+72>>2]=4;f[s+80>>2]=4;f[s+76>>2]=16;f[s+84>>2]=1048576;e=f[s+8>>2]|0;f[v>>2]=f[s+4>>2];f[v+4>>2]=e;e=iw(y,67765,v)|0;do if(e){c=Ki(f[s>>2]|0,e,-1,128,0,m,0)|0;f[y>>2]=c;if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{r=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}else c=f[y>>2]|0;while(0);if(c|0){f[D>>2]=c;A=80;break}r=f[m>>2]|0;if((Ei(r)|0)==100){m=(r|0)==0;n=r+104|0;o=r+140|0;q=r+40|0;g=0;do{do if(m)c=37592;else{c=f[n>>2]|0;if(c|0?d[o>>1]|0:0)break;c=f[r>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}while(0);e=d[c+8>>1]|0;do if((e&514)==514){if((b[c+10>>0]|0)!=1){A=44;break}l=f[c+16>>2]|0}else A=44;while(0);do if((A|0)==44){A=0;if(e&1){l=0;break}l=Ic(c,1)|0}while(0);b:do if(m)a=37592;else{c=f[r>>2]|0;e=f[q>>2]|0;if((e|0)==3082|(b[c+81>>0]|0)!=0){Di(c);c=7}else c=f[c+68>>2]&e;f[q>>2]=c;c=f[n>>2]|0;do if(c|0){if((j[o>>1]|0)<=1)break;a=c+40|0;break b}while(0);a=f[r>>2]|0;f[a+64>>2]=25;Bg(a,25);a=37592}while(0);k=a+8|0;c=j[k>>1]|0;if(c&2048|0)d[k>>1]=c&59391|4096;if(!m){c=f[r>>2]|0;e=f[q>>2]|0;if((e|0)==3082|(b[c+81>>0]|0)!=0){Di(c);c=7}else c=f[c+68>>2]&e;f[q>>2]=c}do if(!l)A=72;else{i=b[l>>0]|0;c=(h[1232+(i&255)>>0]|0)+-118|0;if(!(i<<24>>24==0|(c|0)!=0)){e=67797;i=l;do{i=i+1|0;e=e+1|0;F=b[i>>0]|0;c=(h[1232+(F&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0}while(!(F<<24>>24==0|(c|0)!=0))}if(c|0){A=72;break}c=j[k>>1]|0;if(c&4|0){g=f[a>>2]|0;break}if(c&8|0){g=Fc(+p[a>>3])|0;ba()|0;break}if(!(c&18)){g=0;break}g=Gc(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0)|0;ba()|0}while(0);if((A|0)==72){A=0;f[v>>2]=0;jw(s,l,a,v)|0}}while((Ei(r)|0)==100)}else g=0;c=Fi(r)|0;f[y>>2]=c;e=(c|0)==0;if((g|0)!=4&e){f[y>>2]=1;c=s+96|0;if(!(f[c>>2]|0))c=1;else{f[z>>2]=g;f[z+4>>2]=4;F=wd(67805,z)|0;f[f[c>>2]>>2]=F;c=1}}else if(e){f[w>>2]=x;c=0}f[D>>2]=c;if(!u)e=c;else A=80}else A=80;while(0);if((A|0)==80){if(!(f[9328]|0))ob[f[37360>>2]&127](u);else{F=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u)}e=f[D>>2]|0}c=f[B>>2]|0;if(e){do if(c|0?(F=f[c>>2]|0,f[c>>2]=F+-1,(F|0)<2):0){g=c+20|0;if((f[g>>2]|0)>0){e=0;do{i=f[c+24+(e*12|0)+8>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{F=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);e=e+1|0}while((e|0)<(f[g>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{F=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);f[B>>2]=0;c=0}}else c=0;f[C>>2]=c;break a}while(0);F=a+72|0;f[F>>2]=0;f[F+4>>2]=0}while(0);if(f[D>>2]|0){F=0;t=E;return F|0}F=f[C>>2]|0;f[F>>2]=(f[F>>2]|0)+1;t=E;return F|0} -function Vl(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;Ea=t;t=t+448|0;ha=Ea+424|0;$=Ea+416|0;sa=Ea+408|0;ra=Ea+400|0;qa=Ea+392|0;pa=Ea+384|0;ma=Ea+376|0;na=Ea+368|0;da=Ea+336|0;V=Ea+328|0;K=Ea+320|0;T=Ea+304|0;_=Ea+280|0;U=Ea+272|0;ga=Ea+256|0;fa=Ea+240|0;ea=Ea+224|0;Y=Ea+216|0;ja=Ea+184|0;ia=Ea+152|0;W=Ea+144|0;I=Ea+136|0;L=Ea+128|0;J=Ea+120|0;H=Ea+112|0;Z=Ea+104|0;R=Ea+96|0;O=Ea+88|0;Q=Ea+80|0;A=Ea+72|0;y=Ea+64|0;z=Ea+56|0;w=Ea+48|0;o=Ea+40|0;m=Ea+32|0;l=Ea+24|0;wa=Ea+16|0;B=Ea;va=Ea+440|0;ua=Ea+436|0;oa=Ea+432|0;Da=f[a>>2]|0;ta=a+8|0;k=f[ta>>2]|0;if(!k){if((f[a+116>>2]|0)==0?(d[Da+76>>1]&8)==0:0)b[a+23>>0]=1;k=sl(a)|0;if(!k){t=Ea;return}else Aa=k}else Aa=k;S=Aa+145|0;xa=h[S>>0]|h[S+1>>0]<<8|64;b[S>>0]=xa;b[S+1>>0]=xa>>8;xa=a+44|0;f[xa>>2]=2;k=f[a>>2]|0;ka=e+4|0;if(f[ka>>2]|0){if(b[k+165>>0]|0){ni(a,51151,l);t=Ea;return}r=Hl(k,c)|0;if((r|0)<0){f[m>>2]=c;ni(a,51168,m);t=Ea;return}else c=e}else r=h[k+164>>0]|0;ya=Da+16|0;ca=f[ya>>2]|0;aa=(r|0)==1;if((aa?(v=f[a>>2]|0,n=v+16|0,(f[(f[n>>2]|0)+20>>2]|0)==0):0)?(b[a+195>>0]|0)==0:0){k=cj(f[v>>2]|0,0,v,wa,0,542)|0;if(k|0){ni(a,51535,o);f[a+12>>2]=k;t=Ea;return}Ca=f[wa>>2]|0;f[(f[n>>2]|0)+20>>2]=Ca;k=f[v+92>>2]|0;m=f[Ca+4>>2]|0;f[m+4>>2]=f[Ca>>2];if(!(d[m+22>>1]&2)){n=m+32|0;o=m+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;if(((k+-512|0)>>>0<65025?(k+-1&k|0)==0:0)?(f[n>>2]=k,s=m+80|0,q=f[s>>2]|0,q|0):0){l=q+-4|0;f[s>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;Ca=(f[18026]|0)+1|0;f[18026]=Ca;f[18027]=(Ca|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;za=26;break}else{k=ib[f[37368>>2]&255](l)|0;za=26}while(0);do if((za|0)==26){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{Ca=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Ca;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[s>>2]=0}Ca=ih(f[m>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((Ca|0)==7){k=v+81|0;if((b[k>>0]|0)==0?(b[v+82>>0]|0)==0:0){b[k>>0]=1;if((f[v+180>>2]|0)>0)f[v+264>>2]=1;Da=v+272|0;f[Da>>2]=(f[Da>>2]|0)+1}t=Ea;return}}}Ca=pl(Da,c)|0;if(!Ca){t=Ea;return}if(!i)Ba=pl(Da,g)|0;else{f[w>>2]=g;Ba=Ig(Da,55419,w)|0}if(!(f[ka>>2]|0))la=0;else la=f[ca+(r<<4)>>2]|0;k=f[a>>2]|0;do if(((b[k+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(x=f[k+312>>2]|0,(x|0)!=0):0){k=nb[x&127](f[k+316>>2]|0,19,Ca,Ba,la,f[a+236>>2]|0)|0;if((k|0)==1){ni(a,49816,z);f[a+12>>2]=23;za=2130;break}if((k|2|0)==2)if(!k){za=52;break}else{za=2130;break}else{ni(a,49831,y);f[a+12>>2]=1;za=2130;break}}else za=52;while(0);a:do if((za|0)==52){f[B>>2]=0;f[B+4>>2]=Ca;f[B+8>>2]=Ba;f[B+12>>2]=0;g=Da+404|0;f[g>>2]=0;k=Vm(Da,la)|0;b:do if(k){l=f[k+4>>2]|0;f[l+4>>2]=f[k>>2];k=f[(f[l>>2]|0)+60>>2]|0;l=f[k>>2]|0;c:do if(l|0){k=kb[f[l+40>>2]&127](k,14,B)|0;switch(k|0){case 12:break c;case 0:break;default:{l=f[B>>2]|0;if(!l)break b;f[A>>2]=l;ni(a,40840,A);l=f[B>>2]|0;if(!l)break b;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break b}else{Aa=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break b}}}Mi(Aa,1);if(!(b[(f[Aa>>2]|0)+81>>0]|0))$e(f[Aa+100>>2]|0,f[B>>2]|0,-1,1,-1)|0;l=f[B>>2]|0;if(!l){za=2130;break a}m=Aa+136|0;k=f[m>>2]|0;c=Aa+12|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=106;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,106,0,1,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;ul(Aa,(f[Aa+88>>2]|0)+(k*20|0)|0,l,0)}k=f[m>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0}else tl(Aa,81,1,1,0)|0;k=f[B>>2]|0;if(!k){za=2130;break a}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);za=2130;break a}else{za=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-za;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);za=2130;break a}}while(0);B=b[Ca>>0]|0;q=h[1232+(B&255)>>0]|0;d:do if(!(B<<24>>24)){k=0;l=59;do{n=k+l|0;m=(n|0)/2|0;c=q-(h[1232+(h[f[6080+(m<<4)>>2]>>0]|0)>>0]|0)|0;if(!c){v=m;za=88;break d}B=(c|0)<0;k=B?k:m+1|0;l=B?m+-1|0:l}while((k|0)<=(l|0))}else{c=0;o=59;do{n=c+o|0;p=(n|0)/2|0;l=f[6080+(p<<4)>>2]|0;k=q-(h[1232+(h[l>>0]|0)>>0]|0)|0;if(!k){m=Ca;do{m=m+1|0;l=l+1|0;B=b[m>>0]|0;k=(h[1232+(B&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(B<<24>>24==0|(k|0)!=0));if(!k){v=p;za=88;break d}}B=(k|0)<0;c=B?c:p+1|0;o=B?p+-1|0:o}while((c|0)<=(o|0))}while(0);e:do if((za|0)==88){s=6080+(v<<4)|0;m=b[6080+(v<<4)+5>>0]|0;f:do if(m&1?(D=f[a>>2]|0,(b[D+165>>0]|0)==0):0){c=a+4|0;o=D+24|0;p=(f[o>>2]&1|0)==0;q=D+16|0;B=f[(f[q>>2]|0)+12>>2]|0;b[D+78>>0]=b[B+77>>0]|0;if((d[B+78>>1]&1)==0?(C=qi(D,0,c,0)|0,(C|0)!=0):0)k=C;else za=92;g:do if((za|0)==92){k=f[D+20>>2]|0;if((k|0)>1)do{l=k;k=k+-1|0;if((d[(f[(f[q>>2]|0)+(k<<4)+12>>2]|0)+78>>1]&1)==0?(E=qi(D,k,c,0)|0,E|0):0){k=E;break g}}while((l|0)>2);if(p)f[o>>2]=f[o>>2]&-2;if(!(b[D+89>>0]|0))break f;f[o>>2]=f[o>>2]|8;break f}while(0);f[a+12>>2]=k;Aa=a+36|0;f[Aa>>2]=(f[Aa>>2]|0)+1;break e}while(0);E=m&255;do if((E&2|0)==0?(Ba|0)==0|(E&4|0)==0:0){E=b[6080+(v<<4)+7>>0]|0;m=E&255;E=E<<24>>24==0;Mi(Aa,E?1:m);if(E){if(b[(f[Aa>>2]|0)+81>>0]|0)break;$e(f[Aa+100>>2]|0,f[s>>2]|0,-1,1,0)|0;break}c=Aa+100|0;k=0;l=h[6080+(v<<4)+6>>0]|0;while(1){if(!(b[(f[Aa>>2]|0)+81>>0]|0))$e((f[c>>2]|0)+(k*40|0)|0,f[9824+(l<<2)>>2]|0,-1,1,0)|0;k=k+1|0;if((k|0)==(m|0))break;else l=l+1|0}}while(0);do switch(b[6080+(v<<4)+4>>0]|0){case 11:{u=1<>2]=f[ya>>2]|u;if(!aa?b[(f[(f[(f[Aa>>2]|0)+16>>2]|0)+(r<<4)+4>>2]|0)+9>>0]|0:0){ya=Aa+152|0;f[ya>>2]=f[ya>>2]|u}if(!Ba){f[xa>>2]=(f[xa>>2]|0)+2;Aa=wl(Aa,9,22768)|0;f[Aa+4>>2]=r;f[Aa+24>>2]=r;f[Aa+124>>2]=-2e3;break e}f[wa>>2]=0;Pd(Ba,wa)|0;k=f[wa>>2]|0;k=(k|0)>-1?k:(k|0)==-2147483648?2147483647:0-k|0;g=f[a+116>>2]|0;g=(g|0)==0?a:g;l=g+84|0;m=f[l>>2]|0;h:do if(!(m&u)){f[l>>2]=m|u;if(!aa)break;s=f[g>>2]|0;l=s+16|0;if(f[(f[l>>2]|0)+20>>2]|0)break;if(b[g+195>>0]|0)break;m=cj(f[s>>2]|0,0,s,wa,0,542)|0;if(m|0){ni(g,51535,Q);f[g+12>>2]=m;break}ya=f[wa>>2]|0;f[(f[l>>2]|0)+20>>2]=ya;l=f[s+92>>2]|0;n=f[ya+4>>2]|0;f[n+4>>2]=f[ya>>2];do if(!(d[n+22>>1]&2)){o=n+32|0;p=n+36|0;q=(f[o>>2]|0)-(f[p>>2]|0)|0;do if((l+-512|0)>>>0<65025){if(l+-1&l|0)break;f[o>>2]=l;c=n+80|0;l=f[c>>2]|0;if(!l)break;m=l+-4|0;f[c>>2]=m;l=m;do if((f[18022]|0)>>>0<=l>>>0)if((f[18023]|0)>>>0>l>>>0){f[18188]=(f[18188]|0)+-1;f[m>>2]=f[18025];f[18025]=m;ya=(f[18026]|0)+1|0;f[18026]=ya;f[18027]=(ya|0)<(f[18021]|0)&1;break}else{l=ib[f[37368>>2]&255](m)|0;za=132;break}else{l=ib[f[37368>>2]&255](m)|0;za=132}while(0);do if((za|0)==132){f[18189]=(f[18189]|0)-l;if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{za=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-za;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);f[c>>2]=0}while(0);za=ih(f[n>>2]|0,o,q)|0;f[p>>2]=(f[o>>2]|0)-(q&65535);if((za|0)!=7)break;l=s+81|0;do if(!(b[l>>0]|0)){if(b[s+82>>0]|0)break;b[l>>0]=1;if((f[s+180>>2]|0)>0)f[s+264>>2]=1;za=s+272|0;f[za>>2]=(f[za>>2]|0)+1}while(0);break h}while(0)}while(0);l=g+80|0;f[l>>2]=f[l>>2]|u;l=Aa+136|0;m=f[l>>2]|0;if((f[(f[Aa+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;Aa=f[Aa+88>>2]|0;b[Aa+(m*20|0)>>0]=107;d[Aa+(m*20|0)+2>>1]=0;f[Aa+(m*20|0)+4>>2]=r;f[Aa+(m*20|0)+8>>2]=3;f[Aa+(m*20|0)+12>>2]=k;f[Aa+(m*20|0)+16>>2]=0;b[Aa+(m*20|0)+1>>0]=0}else tl(Aa,107,r,3,k)|0;f[(f[ca+(r<<4)+12>>2]|0)+80>>2]=k;m=f[ca+(r<<4)+4>>2]|0;l=f[m+4>>2]|0;f[l+4>>2]=f[m>>2];l=f[(f[l>>2]|0)+212>>2]|0;f[l+16>>2]=k;m=f[9361]|0;c=f[l+44>>2]|0;if((k|0)<=-1){za=QA(k|0,((k|0)<0)<<31>>31|0,-1024,-1)|0;Aa=ba()|0;k=(f[l+28>>2]|0)+(f[l+24>>2]|0)|0;k=OA(za|0,Aa|0,k|0,((k|0)<0)<<31>>31|0)|0;ba()|0}pb[m&127](c,k);break e}case 28:{k=f[ca+(r<<4)+4>>2]|0;if(Ba|0){f[wa>>2]=0;Pd(Ba,wa)|0;l=f[wa>>2]|0;f[Da+92>>2]=l;p=f[k+4>>2]|0;f[p+4>>2]=f[k>>2];if(d[p+22>>1]&2){za=2130;break a}c=p+32|0;n=p+36|0;o=(f[c>>2]|0)-(f[n>>2]|0)|0;do if((l+-512|0)>>>0<65025){if(l+-1&l|0)break;f[c>>2]=l;m=p+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;Aa=(f[18026]|0)+1|0;f[18026]=Aa;f[18027]=(Aa|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;za=203;break}else{k=ib[f[37368>>2]&255](l)|0;za=203}while(0);do if((za|0)==203){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{Aa=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);Aa=ih(f[p>>2]|0,c,o)|0;f[n>>2]=(f[c>>2]|0)-(o&65535);if((Aa|0)!=7){za=2130;break a}k=Da+81|0;if(b[k>>0]|0){za=2130;break a}if(b[Da+82>>0]|0){za=2130;break a}b[k>>0]=1;if((f[Da+180>>2]|0)>0)f[Da+264>>2]=1;za=Da+272|0;f[za>>2]=(f[za>>2]|0)+1;za=2130;break a}if(!k){c=0;n=0}else{n=f[(f[k+4>>2]|0)+32>>2]|0;c=n;n=((n|0)<0)<<31>>31}m=f[Aa>>2]|0;i:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=163;else za=183;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=164;break i}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=164;break i}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=163}while(0);if((za|0)==163){o=Dc(m,8,0)|0;za=164}j:do if((za|0)==164){if(!o){za=183;break}m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=n;b[m+1>>0]=n>>8;b[m+2>>0]=n>>16;b[m+3>>0]=n>>24;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break j}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break j}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);do if((za|0)==183){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}case 30:{p=f[ca+(r<<4)+4>>2]|0;do if(!Ba){m=-1;c=0}else{za=b[Ba>>0]|0;k=(h[1232+(za&255)>>0]|0)+-102|0;if(!(za<<24>>24==0|(k|0)!=0)){l=55423;m=Ba;do{m=m+1|0;l=l+1|0;za=b[m>>0]|0;k=(h[1232+(za&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(k|0)!=0))}if(!k)m=2;else m=(Hd(Ba,1,0)|0)<<24>>24!=0&1;if(f[ka>>2]|0){c=1;break}o=f[Da+20>>2]|0;if((o|0)<=0){c=1;break}l=f[ya>>2]|0;c=m<<2;k=0;do{n=f[l+(k<<4)+4>>2]|0;if(n|0){za=f[n+4>>2]|0;f[za+4>>2]=f[n>>2];za=za+22|0;d[za>>1]=c|d[za>>1]&-13&65535}k=k+1|0}while((k|0)!=(o|0));c=1}while(0);if(!p)c=0;else{l=f[p+4>>2]|0;f[l+4>>2]=f[p>>2];l=l+22|0;k=d[l>>1]|0;if(c){k=(m<<2|k&-13&65535)&65535;d[l>>1]=k}c=(k&65535)>>>2&3}m=f[Aa>>2]|0;k:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=239;else za=259;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=240;break k}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=240;break k}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=239}while(0);if((za|0)==239){o=Dc(m,8,0)|0;za=240}l:do if((za|0)==240){if(!o){za=259;break}m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=0;b[m+1>>0]=0;b[m+2>>0]=0;b[m+3>>0]=0;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break l}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break l}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);do if((za|0)==259){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}case 24:{c=f[a+116>>2]|0;c=(c|0)==0?a:c;k=c+84|0;l=f[k>>2]|0;m=1<>2]=l|m,aa):0)?(X=f[c>>2]|0,N=X+16|0,(f[(f[N>>2]|0)+20>>2]|0)==0):0){if(b[c+195>>0]|0)break;k=cj(f[X>>2]|0,0,X,wa,0,542)|0;if(k|0){ni(c,51535,O);f[c+12>>2]=k;break}ya=f[wa>>2]|0;f[(f[N>>2]|0)+20>>2]=ya;k=f[X+92>>2]|0;p=f[ya+4>>2]|0;f[p+4>>2]=f[ya>>2];do if(!(d[p+22>>1]&2)){c=p+32|0;n=p+36|0;o=(f[c>>2]|0)-(f[n>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[c>>2]=k;m=p+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;ya=(f[18026]|0)+1|0;f[18026]=ya;f[18027]=(ya|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;za=285;break}else{k=ib[f[37368>>2]&255](l)|0;za=285}while(0);do if((za|0)==285){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{ya=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);ya=ih(f[p>>2]|0,c,o)|0;f[n>>2]=(f[c>>2]|0)-(o&65535);if((ya|0)!=7)break;k=X+81|0;do if(!(b[k>>0]|0)){if(b[X+82>>0]|0)break;b[k>>0]=1;if((f[X+180>>2]|0)>0)f[X+264>>2]=1;ya=X+272|0;f[ya>>2]=(f[ya>>2]|0)+1}while(0);break m}while(0)}while(0);n=(f[xa>>2]|0)+1|0;f[xa>>2]=n;do if((b[Ca>>0]|32)<<24>>24==112){l=Aa+136|0;m=f[l>>2]|0;k=Aa+12|0;if((f[(f[k>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;za=f[Aa+88>>2]|0;b[za+(m*20|0)>>0]=-89;d[za+(m*20|0)+2>>1]=0;f[za+(m*20|0)+4>>2]=r;f[za+(m*20|0)+8>>2]=n;f[za+(m*20|0)+12>>2]=0;f[za+(m*20|0)+16>>2]=0;b[za+(m*20|0)+1>>0]=0;m=l;break}else{tl(Aa,167,r,n,0)|0;m=l;break}}else{f[wa>>2]=0;if(Ba){Pd(Ba,wa)|0;k=f[wa>>2]|0;if((k|0)<0)k=(k|0)==-2147483648?2147483647:0-k|0;else za=304}else{k=0;za=304}m=Aa+136|0;l=f[m>>2]|0;c=Aa+12|0;if((f[(f[c>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;za=f[Aa+88>>2]|0;b[za+(l*20|0)>>0]=-88;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=r;f[za+(l*20|0)+8>>2]=n;f[za+(l*20|0)+12>>2]=k;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0;k=c;break}else{tl(Aa,168,r,n,k)|0;k=c;break}}while(0);l=f[m>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;Aa=f[Aa+88>>2]|0;b[Aa+(l*20|0)>>0]=81;d[Aa+(l*20|0)+2>>1]=0;f[Aa+(l*20|0)+4>>2]=n;f[Aa+(l*20|0)+8>>2]=1;f[Aa+(l*20|0)+12>>2]=0;f[Aa+(l*20|0)+16>>2]=0;b[Aa+(l*20|0)+1>>0]=0;break e}else{tl(Aa,81,n,1,0)|0;break e}}case 23:{do if(!Ba)za=321;else{n=b[Ba>>0]|0;c=h[1232+(n&255)>>0]|0;k=c+-101|0;n=n<<24>>24==0;if(!(n|(k|0)!=0)){l=55428;m=Ba;do{m=m+1|0;l=l+1|0;za=b[m>>0]|0;k=(h[1232+(za&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(k|0)!=0))}if(k){k=c+-110|0;if(!(n|(k|0)!=0)){l=55438;m=Ba;do{m=m+1|0;l=l+1|0;za=b[m>>0]|0;k=(h[1232+(za&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(k|0)!=0))}if(!k)l=0;else{za=321;break}}else l=1;if(f[ka>>2]|0){za=332;break}o=f[Da+20>>2]|0;if((o|0)>2){n=f[ya>>2]|0;k=l&255;m=2;do{c=f[f[(f[n+(m<<4)+4>>2]|0)+4>>2]>>2]|0;do if(!(b[c+12>>0]|0)){za=f[c+216>>2]|0;if(za|0?(b[za+43>>0]|0)==2:0)break;b[c+4>>0]=k}while(0);m=m+1|0}while((m|0)!=(o|0))}else k=l&255;b[Da+83>>0]=k;za=332}while(0);if((za|0)==321)if(!(f[ka>>2]|0))m=Da+83|0;else{l=-1;za=332}if((za|0)==332){k=f[f[(f[ca+(r<<4)+4>>2]|0)+4>>2]>>2]|0;do if((l|0)>-1){if(b[k+12>>0]|0)break;za=f[k+216>>2]|0;if(za|0?(b[za+43>>0]|0)==2:0)break;b[k+4>>0]=l}while(0);m=k+4|0}c=Aa+136|0;k=f[c>>2]|0;n=Aa+12|0;l=(f[(f[n>>2]|0)+48>>2]|0)>(k|0);if((b[m>>0]|0)==1){if(l){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=106;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,106,0,1,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[c>>2]|0)+-1|0;ul(Aa,(f[Aa+88>>2]|0)+(k*20|0)|0,55428,0)}k=f[c>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}else{if(l){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=106;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,106,0,1,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[c>>2]|0)+-1|0;ul(Aa,(f[Aa+88>>2]|0)+(k*20|0)|0,55438,0)}k=f[c>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}}case 20:{n:do if(Ba){m=(wz(Ba)|0)&1073741823;if(m){c=Ba;o=45420;n=m;while(1){k=b[c>>0]|0;if(!(k<<24>>24)){za=363;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){za=365;break}if((n|0)>1){c=c+1|0;o=o+1|0;n=n+-1|0}else{s=0;break n}}if((za|0)==363){l=0;k=b[1232+(h[o>>0]|0)>>0]|0}else if((za|0)==365)l=l&255;if((l|0)!=(k&255|0)){c=Ba;o=45427;n=m;while(1){k=b[c>>0]|0;if(!(k<<24>>24)){za=2153;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){za=2151;break}if((n|0)>1){c=c+1|0;o=o+1|0;n=n+-1|0}else{s=1;break n}}if((za|0)==2151)l=l&255;else if((za|0)==2153){l=0;k=b[1232+(h[o>>0]|0)>>0]|0}if((l|0)==(k&255|0)){s=1;break}c=Ba;o=45435;n=m;while(1){k=b[c>>0]|0;if(!(k<<24>>24)){za=2160;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){za=2158;break}if((n|0)>1){c=c+1|0;o=o+1|0;n=n+-1|0}else{s=2;break n}}if((za|0)==2158)l=l&255;else if((za|0)==2160){l=0;k=b[1232+(h[o>>0]|0)>>0]|0}if((l|0)==(k&255|0)){s=2;break}c=Ba;o=45439;n=m;while(1){k=b[c>>0]|0;if(!(k<<24>>24)){za=2167;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){za=2165;break}if((n|0)>1){c=c+1|0;o=o+1|0;n=n+-1|0}else{s=3;break n}}if((za|0)==2165)l=l&255;else if((za|0)==2167){l=0;k=b[1232+(h[o>>0]|0)>>0]|0}if((l|0)==(k&255|0)){s=3;break}c=Ba;o=45448;n=m;while(1){k=b[c>>0]|0;if(!(k<<24>>24)){za=2174;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){za=2172;break}if((n|0)>1){c=c+1|0;o=o+1|0;n=n+-1|0}else{s=4;break n}}if((za|0)==2172)l=l&255;else if((za|0)==2174){l=0;k=b[1232+(h[o>>0]|0)>>0]|0}if((l|0)==(k&255|0)){s=4;break}c=Ba;n=45455;while(1){k=b[c>>0]|0;if(!(k<<24>>24)){za=2181;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[n>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){za=2179;break}if((m|0)>1){c=c+1|0;n=n+1|0;m=m+-1|0}else{s=5;break n}}if((za|0)==2179)l=l&255;else if((za|0)==2181){l=0;k=b[1232+(h[n>>0]|0)>>0]|0}if((l|0)==(k&255|0))s=5;else za=369}else s=0}else s=0}else za=369;while(0);if((za|0)==369)if(!(f[ka>>2]|0)){f[ka>>2]=1;r=0;s=-1}else s=-1;l=f[Da+20>>2]|0;if((l|0)>0){o=Aa+148|0;m=Aa+136|0;k=Aa+12|0;p=Aa+88|0;q=Aa+152|0;do{n=l;l=l+-1|0;do if(f[(f[ya>>2]|0)+(l<<4)+4>>2]|0){if((l|0)!=(r|0)?f[ka>>2]|0:0)break;c=1<>2]=f[o>>2]|c;do if((l|0)!=1){if(!(b[(f[(f[(f[Aa>>2]|0)+16>>2]|0)+(l<<4)+4>>2]|0)+9>>0]|0))break;f[q>>2]=f[q>>2]|c}while(0);c=f[m>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(c|0)){f[m>>2]=c+1;za=f[p>>2]|0;b[za+(c*20|0)>>0]=7;d[za+(c*20|0)+2>>1]=0;f[za+(c*20|0)+4>>2]=l;f[za+(c*20|0)+8>>2]=1;f[za+(c*20|0)+12>>2]=s;f[za+(c*20|0)+16>>2]=0;b[za+(c*20|0)+1>>0]=0;break}else{tl(Aa,7,l,1,s)|0;break}}while(0)}while((n|0)>1)}else{m=Aa+136|0;k=Aa+12|0}l=f[m>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;za=f[Aa+88>>2]|0;b[za+(l*20|0)>>0]=81;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=1;f[za+(l*20|0)+8>>2]=1;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0;za=2130;break a}else{tl(Aa,81,1,1,0)|0;za=2130;break a}}case 21:{m=f[f[(f[ca+(r<<4)+4>>2]|0)+4>>2]>>2]|0;za=wa;f[za>>2]=-2;f[za+4>>2]=-1;if(Ba){Wm(Ba,wa)|0;l=wa;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)<-1|(l|0)==-1&k>>>0<4294967295){k=wa;f[k>>2]=-1;f[k+4>>2]=-1;k=-1;c=-1}else c=l;l=m+160|0;f[l>>2]=k;f[l+4>>2]=c;l=f[m+216>>2]|0;if(!l)n=k;else{n=l+16|0;f[n>>2]=k;f[n+4>>2]=c;n=k}}else{c=m+160|0;n=f[c>>2]|0;c=f[c+4>>2]|0}m=wa;f[m>>2]=n;f[m+4>>2]=c;m=f[Aa>>2]|0;o:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=403;else za=423;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=404;break o}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=404;break o}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=403}while(0);if((za|0)==403){o=Dc(m,8,0)|0;za=404}p:do if((za|0)==404)if(o){m=o;k=m;b[k>>0]=n;b[k+1>>0]=n>>8;b[k+2>>0]=n>>16;b[k+3>>0]=n>>24;m=m+4|0;b[m>>0]=c;b[m+1>>0]=c>>8;b[m+2>>0]=c>>16;b[m+3>>0]=c>>24;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break p}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break p}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else za=423;while(0);do if((za|0)==423){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0}else tl(Aa,81,1,1,0)|0;break e}case 1:{o=f[ca+(r<<4)+4>>2]|0;if(Ba|0){n=b[Ba>>0]|0;c=h[1232+(n&255)>>0]|0;k=c+-110|0;n=n<<24>>24==0;if(!(n|(k|0)!=0)){l=55445;m=Ba;do{m=m+1|0;l=l+1|0;za=b[m>>0]|0;k=(h[1232+(za&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(k|0)!=0))}do if(!k)m=0;else{k=c+-102|0;if(!(n|(k|0)!=0)){l=55450;m=Ba;do{m=m+1|0;l=l+1|0;za=b[m>>0]|0;k=(h[1232+(za&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(k|0)!=0))}if(!k){m=1;break}k=c+-105|0;if(!(n|(k|0)!=0)){l=55455;m=Ba;do{m=m+1|0;l=l+1|0;za=b[m>>0]|0;k=(h[1232+(za&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(k|0)!=0))}if(!k){m=2;break}f[wa>>2]=0;Pd(Ba,wa)|0;m=f[wa>>2]|0;m=m>>>0<3?m&255:0}while(0);b[Da+84>>0]=m;c=f[o+4>>2]|0;f[c+4>>2]=f[o>>2];l=m&255;if(d[c+22>>1]&2){k=c+17|0;if(((l|0)!=0|0)!=(h[k>>0]|0)){za=2130;break a}}else k=c+17|0;b[k>>0]=(l|0)!=0&1;b[c+18>>0]=(l|0)==2&1;k=m+-1|0;if(k>>>0>=2){za=2130;break a}ya=f[Aa+136>>2]|0;za=wl(Aa,5,22816)|0;f[za+4>>2]=r;f[za+24>>2]=r;f[za+48>>2]=ya+4;f[za+84>>2]=r;f[za+92>>2]=k;k=1<>2]=f[za>>2]|k;if(aa){za=2130;break a}if(!(b[(f[(f[(f[Aa>>2]|0)+16>>2]|0)+(r<<4)+4>>2]|0)+9>>0]|0)){za=2130;break a}za=Aa+152|0;f[za>>2]=f[za>>2]|k;za=2130;break a}k=f[o+4>>2]|0;f[k+4>>2]=f[o>>2];if(!(b[k+17>>0]|0))c=0;else c=(b[k+18>>0]|0)==0?1:2;m=f[Aa>>2]|0;q:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=448;else za=468;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=449;break q}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=449;break q}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=448}while(0);if((za|0)==448){o=Dc(m,8,0)|0;za=449}r:do if((za|0)==449){if(!o){za=468;break}m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=0;b[m+1>>0]=0;b[m+2>>0]=0;b[m+3>>0]=0;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break r}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break r}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);do if((za|0)==468){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}case 16:{if(!((Ba|0)!=0?(ya=(Pd(Ba,va)|0)==0,u=f[va>>2]|0,!(ya|(u|0)<1)):0)){f[va>>2]=2147483647;u=2147483647}g=f[a+116>>2]|0;g=(g|0)==0?a:g;k=g+84|0;l=f[k>>2]|0;s=1<>2]=l|s,aa):0){q=f[g>>2]|0;k=q+16|0;if(f[(f[k>>2]|0)+20>>2]|0)break;if(b[g+195>>0]|0)break;l=cj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){ni(g,51535,R);f[g+12>>2]=l;break}ya=f[wa>>2]|0;f[(f[k>>2]|0)+20>>2]=ya;k=f[q+92>>2]|0;c=f[ya+4>>2]|0;f[c+4>>2]=f[ya>>2];do if(!(d[c+22>>1]&2)){n=c+32|0;o=c+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[n>>2]=k;m=c+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;ya=(f[18026]|0)+1|0;f[18026]=ya;f[18027]=(ya|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;za=517;break}else{k=ib[f[37368>>2]&255](l)|0;za=517}while(0);do if((za|0)==517){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{za=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-za;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);za=ih(f[c>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((za|0)!=7)break;k=q+81|0;do if(!(b[k>>0]|0)){if(b[q+82>>0]|0)break;b[k>>0]=1;if((f[q+180>>2]|0)>0)f[q+264>>2]=1;za=q+272|0;f[za>>2]=(f[za>>2]|0)+1}while(0);break s}while(0)}while(0);m=g+80|0;f[m>>2]=f[m>>2]|s;m=Aa+136|0;k=f[m>>2]|0;c=Aa+12|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=70;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=u;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else tl(Aa,70,u,1,0)|0;k=f[m>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=59;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=r;f[za+(k*20|0)+8>>2]=0;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,59,r,0,0)|0;l=f[m>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;za=f[Aa+88>>2]|0;b[za+(l*20|0)>>0]=81;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=1;f[za+(l*20|0)+8>>2]=0;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else tl(Aa,81,1,0,0)|0;l=f[m>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;za=f[Aa+88>>2]|0;b[za+(l*20|0)>>0]=83;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=1;f[za+(l*20|0)+8>>2]=-1;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else tl(Aa,83,1,-1,0)|0;l=f[m>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;za=f[Aa+88>>2]|0;b[za+(l*20|0)>>0]=47;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=1;f[za+(l*20|0)+8>>2]=k;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else tl(Aa,47,1,k,0)|0;l=f[m>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))k=(f[Aa+88>>2]|0)+(((k|0)<0?l+-1|0:k)*20|0)|0;else k=72144;f[k+8>>2]=l;break e}case 4:{if(Ba|0){f[wa>>2]=0;Pd(Ba,wa)|0;k=f[wa>>2]|0;f[(f[ca+(r<<4)+12>>2]|0)+80>>2]=k;m=f[ca+(r<<4)+4>>2]|0;l=f[m+4>>2]|0;f[l+4>>2]=f[m>>2];l=f[(f[l>>2]|0)+212>>2]|0;f[l+16>>2]=k;m=f[9361]|0;c=f[l+44>>2]|0;if((k|0)<=-1){za=QA(k|0,((k|0)<0)<<31>>31|0,-1024,-1)|0;Aa=ba()|0;k=(f[l+28>>2]|0)+(f[l+24>>2]|0)|0;k=OA(za|0,Aa|0,k|0,((k|0)<0)<<31>>31|0)|0;ba()|0}pb[m&127](c,k);break e}c=f[(f[ca+(r<<4)+12>>2]|0)+80>>2]|0;n=((c|0)<0)<<31>>31;m=f[Aa>>2]|0;t:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=558;else za=578;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=559;break t}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=559;break t}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=558}while(0);if((za|0)==558){o=Dc(m,8,0)|0;za=559}u:do if((za|0)==559)if(o){m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=n;b[m+1>>0]=n>>8;b[m+2>>0]=n>>16;b[m+3>>0]=n>>24;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break u}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break u}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else za=578;while(0);do if((za|0)==578){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}case 5:{if(Ba|0){f[wa>>2]=1;do if(!(Pd(Ba,wa)|0))k=f[wa>>2]|0;else{Aa=f[ca+(r<<4)+4>>2]|0;k=f[wa>>2]|0;m=f[Aa+4>>2]|0;f[m+4>>2]=f[Aa>>2];m=f[(f[m>>2]|0)+212>>2]|0;if(!k){k=0;break}if((k|0)<0){za=QA(k|0,((k|0)<0)<<31>>31|0,-1024,-1)|0;Aa=ba()|0;l=(f[m+28>>2]|0)+(f[m+24>>2]|0)|0;l=OA(za|0,Aa|0,l|0,((l|0)<0)<<31>>31|0)|0;ba()|0}else l=k;f[m+20>>2]=l}while(0);a=(Hd(Ba,1,(k|0)!=0&1)|0)<<24>>24==0;r=Da+32|0;za=r;xa=f[za>>2]|0;za=f[za+4>>2]|0;Aa=r;f[Aa>>2]=a?xa&-33:xa|32;f[Aa+4>>2]=a?za:za;do if(b[Da+79>>0]|0){k=f[Da+20>>2]|0;if((k|0)<=0)break;q=f[ya>>2]|0;while(1){o=k;k=k+-1|0;l=f[q+4>>2]|0;if(l|0){p=f[r>>2]&56|h[q+8>>0];m=f[l+4>>2]|0;f[m+4>>2]=f[l>>2];m=f[m>>2]|0;za=p&7;Aa=(b[m+12>>0]|0)==0;c=(za|0)==1;n=za>>>0>2&Aa;b[m+7>>0]=(c|Aa^1)&1;b[m+8>>0]=n&1;b[m+9>>0]=(za|0)==4&Aa&1;c=Aa&(c^1);do if(c){l=m+10|0;if(!(p&8)){b[l>>0]=2;l=2;break}else{b[l>>0]=3;l=3;break}}else{b[m+10>>0]=0;l=0}while(0);Aa=(l<<2|(n?l:0))&255;b[m+11>>0]=(p&16|0)==0|c^1?Aa:Aa|12;Aa=m+20|0;za=h[Aa>>0]|0;b[Aa>>0]=(p&32|0)==0?za|1:za&254}if((o|0)<=1)break;else q=q+16|0}}while(0);break e}if(0==0?(f[Da+32>>2]&32|0)==0:0){c=0;n=0}else{k=f[ca+(r<<4)+4>>2]|0;l=f[k+4>>2]|0;f[l+4>>2]=f[k>>2];l=f[(f[l>>2]|0)+212>>2]|0;k=f[l+16>>2]|0;if((k|0)<=-1){ya=QA(k|0,((k|0)<0)<<31>>31|0,-1024,-1)|0;za=ba()|0;k=(f[l+28>>2]|0)+(f[l+24>>2]|0)|0;k=OA(ya|0,za|0,k|0,((k|0)<0)<<31>>31|0)|0;ba()|0}n=f[l+20>>2]|0;n=(k|0)<(n|0)?n:k;c=n;n=((n|0)<0)<<31>>31}m=f[Aa>>2]|0;v:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=607;else za=627;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=608;break v}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=608;break v}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=607}while(0);if((za|0)==607){o=Dc(m,8,0)|0;za=608}w:do if((za|0)==608){if(!o){za=627;break}m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=n;b[m+1>>0]=n>>8;b[m+2>>0]=n>>16;b[m+3>>0]=n>>24;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break w}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break w}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);do if((za|0)==627){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=81;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=1;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0;za=2130;break a}else{tl(Aa,81,1,1,0)|0;za=2130;break a}}case 25:{m=f[Aa>>2]|0;x:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=666;else za=686;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];za=m+284|0;f[za>>2]=(f[za>>2]|0)+1;za=667;break x}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];za=m+284|0;f[za>>2]=(f[za>>2]|0)+1;za=667;break x}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=666}while(0);if((za|0)==666){l=Dc(m,8,0)|0;za=667}y:do if((za|0)==667)if(l){m=l;k=m;b[k>>0]=0;b[k+1>>0]=0;b[k+2>>0]=0;b[k+3>>0]=0;m=m+4|0;b[m>>0]=0;b[m+1>>0]=0;b[m+2>>0]=0;b[m+3>>0]=0;m=Aa+136|0;k=f[m>>2]|0;o=Aa+12|0;if((f[(f[o>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=l;b[n>>0]=-14;l=o;break}else{ul(Aa,c+(k*20|0)|0,l,-14);l=o;break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,l);l=o;break y}k=l;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[l>>2]=f[ya>>2];f[ya>>2]=l;l=o;break y}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);l=o;break}else{ya=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);l=o;break}}else za=686;while(0);do if((za|0)==686){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}else m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}case 35:{if(Ba|0){l=b[Ba>>0]|0;do if((l+-48&255)<3)k=(l<<24>>24)+-48|0;else{c=h[1232+(l&255)>>0]|0;k=c+-102|0;n=l<<24>>24==0;if(!(n|(k|0)!=0)){l=47881;m=Ba;do{m=m+1|0;l=l+1|0;Aa=b[m>>0]|0;k=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(k|0)!=0))}if(!k){k=1;break}k=c+-109|0;if(!(n|(k|0)!=0)){l=45448;m=Ba;do{m=m+1|0;l=l+1|0;Aa=b[m>>0]|0;k=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(k|0)!=0))}k=(k|0)==0?2:0}while(0);l=f[a>>2]|0;m=l+80|0;if((k|0)==(h[m>>0]|0))break e;c=l+16|0;n=f[(f[c>>2]|0)+20>>2]|0;z:do if(n|0){do if(b[l+79>>0]|0){if(b[n+8>>0]|0)break;bi(n);f[(f[c>>2]|0)+20>>2]=0;Vh(l);break z}while(0);ni(a,55467,Z);break e}while(0);b[m>>0]=k;break e}c=h[Da+80>>0]|0;m=f[Aa>>2]|0;A:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=708;else za=728;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=709;break A}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=709;break A}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=708}while(0);if((za|0)==708){o=Dc(m,8,0)|0;za=709}B:do if((za|0)==709)if(o){m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=0;b[m+1>>0]=0;b[m+2>>0]=0;b[m+3>>0]=0;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break B}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break B}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else za=728;while(0);do if((za|0)==728){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=81;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=1;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0;za=2130;break a}else{tl(Aa,81,1,1,0)|0;za=2130;break a}}case 36:{if(!Ba){l=f[17978]|0;if(!l)break e;m=Aa+136|0;k=f[m>>2]|0;c=Aa+12|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=106;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,106,0,1,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;ul(Aa,(f[Aa+88>>2]|0)+(k*20|0)|0,l,0)}k=f[m>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}do if(b[Ba>>0]|0){Aa=f[Da>>2]|0;Aa=(lb[f[Aa+32>>2]&127](Aa,Ba,1,wa)|0)!=0;if(Aa|(f[wa>>2]|0)==0){ni(a,55529,H);za=2130;break a}else break}while(0);C:do if((h[Da+80>>0]|0)<2){k=f[a>>2]|0;l=k+16|0;m=f[(f[l>>2]|0)+20>>2]|0;if(!m)break;do if(b[k+79>>0]|0){if(b[m+8>>0]|0)break;bi(m);f[(f[l>>2]|0)+20>>2]=0;Vh(k);break C}while(0);ni(a,55467,J)}while(0);k=f[17978]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{Aa=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-Aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);if(!(b[Ba>>0]|0)){f[17978]=0;za=2130;break a}else{f[L>>2]=Ba;za=wd(40840,L)|0;f[17978]=za;za=2130;break a}}case 33:{if(Ba|0){k=Da+79|0;if(!(b[k>>0]|0)){ni(a,55554,I);za=2130;break a}if(aa){za=2130;break a}Aa=(Hd(Ba,0,1)|0)+1&7;b[ca+(r<<4)+8>>0]=Aa<<24>>24==0?1:Aa;b[ca+(r<<4)+9>>0]=1;if(!(b[k>>0]|0)){za=2130;break a}k=f[Da+20>>2]|0;if((k|0)<=0){za=2130;break a}r=Da+32|0;q=f[ya>>2]|0;while(1){o=k;k=k+-1|0;l=f[q+4>>2]|0;if(l|0){p=f[r>>2]&56|h[q+8>>0];m=f[l+4>>2]|0;f[m+4>>2]=f[l>>2];m=f[m>>2]|0;za=p&7;Aa=(b[m+12>>0]|0)==0;c=(za|0)==1;n=za>>>0>2&Aa;b[m+7>>0]=(c|Aa^1)&1;b[m+8>>0]=n&1;b[m+9>>0]=(za|0)==4&Aa&1;c=Aa&(c^1);do if(c){l=m+10|0;if(!(p&8)){b[l>>0]=2;l=2;break}else{b[l>>0]=3;l=3;break}}else{b[m+10>>0]=0;l=0}while(0);Aa=(l<<2|(n?l:0))&255;b[m+11>>0]=(p&16|0)==0|c^1?Aa:Aa|12;Aa=m+20|0;za=h[Aa>>0]|0;b[Aa>>0]=(p&32|0)==0?za|1:za&254}if((o|0)<=1)break e;else q=q+16|0}}c=(h[ca+(r<<4)+8>>0]|0)+-1|0;n=((c|0)<0)<<31>>31;m=f[Aa>>2]|0;D:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=796;else za=816;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=797;break D}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=797;break D}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=796}while(0);if((za|0)==796){o=Dc(m,8,0)|0;za=797}E:do if((za|0)==797)if(o){m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=n;b[m+1>>0]=n>>8;b[m+2>>0]=n>>16;b[m+3>>0]=n>>24;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break E}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break E}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else za=816;while(0);do if((za|0)==816){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}case 2:{if(Ba|0){l=6080+(v<<4)+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=Da+79|0;za=(b[m>>0]|0)==0;k=za?k&-16385:k;l=za?l:l;do if(!((Hd(Ba,1,0)|0)<<24>>24)){za=Da+32|0;xa=za;a=f[xa+4>>2]&~l;f[za>>2]=f[xa>>2]&~k;f[za+4>>2]=a;if(!((k|0)==524288&(l|0)==0))break;za=Da+472|0;f[za>>2]=0;f[za+4>>2]=0}else{za=Da+32|0;xa=za;a=f[xa+4>>2]|l;f[za>>2]=f[xa>>2]|k;f[za+4>>2]=a}while(0);k=Aa+136|0;l=f[k>>2]|0;if((f[(f[Aa+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;y=f[Aa+88>>2]|0;b[y+(l*20|0)>>0]=-97;y=y+(l*20|0)+1|0;z=y+19|0;do{b[y>>0]=0;y=y+1|0}while((y|0)<(z|0))}else tl(Aa,159,0,0,0)|0;if(!(b[m>>0]|0)){za=2130;break a}k=f[Da+20>>2]|0;if((k|0)<=0){za=2130;break a}r=Da+32|0;q=f[ya>>2]|0;while(1){o=k;k=k+-1|0;l=f[q+4>>2]|0;if(l|0){p=f[r>>2]&56|h[q+8>>0];m=f[l+4>>2]|0;f[m+4>>2]=f[l>>2];m=f[m>>2]|0;za=p&7;Aa=(b[m+12>>0]|0)==0;c=(za|0)==1;n=za>>>0>2&Aa;b[m+7>>0]=(c|Aa^1)&1;b[m+8>>0]=n&1;b[m+9>>0]=(za|0)==4&Aa&1;c=Aa&(c^1);do if(c){l=m+10|0;if(!(p&8)){b[l>>0]=2;l=2;break}else{b[l>>0]=3;l=3;break}}else{b[m+10>>0]=0;l=0}while(0);Aa=(l<<2|(n?l:0))&255;b[m+11>>0]=(p&16|0)==0|c^1?Aa:Aa|12;Aa=m+20|0;za=h[Aa>>0]|0;b[Aa>>0]=(p&32|0)==0?za|1:za&254}if((o|0)<=1)break e;else q=q+16|0}}za=b[6080+(v<<4)+7>>0]|0;c=za&255;za=za<<24>>24==0;Mi(Aa,za?1:c);if(za)if(!(b[(f[Aa>>2]|0)+81>>0]|0)){$e(f[Aa+100>>2]|0,f[s>>2]|0,-1,1,0)|0;n=Aa}else n=Aa;else{m=Aa+100|0;k=0;l=h[6080+(v<<4)+6>>0]|0;while(1){if(!(b[(f[Aa>>2]|0)+81>>0]|0))$e((f[m>>2]|0)+(k*40|0)|0,f[9824+(l<<2)>>2]|0,-1,1,0)|0;k=k+1|0;if((k|0)==(c|0)){n=Aa;break}else l=l+1|0}}c=Da+32|0;m=6080+(v<<4)+8|0;c=(f[m>>2]&f[c>>2]|0?1:(f[m+4>>2]&f[c+4>>2]|0)!=0)&1;m=f[n>>2]|0;F:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=859;else za=879;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=860;break F}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=860;break F}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=859}while(0);if((za|0)==859){o=Dc(m,8,0)|0;za=860}G:do if((za|0)==860){if(!o){za=879;break}m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=0;b[m+1>>0]=0;b[m+2>>0]=0;b[m+3>>0]=0;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[n>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break G}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break G}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);do if((za|0)==879){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[n>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=81;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=1;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0;za=2130;break a}else{tl(Aa,81,1,1,0)|0;za=2130;break a}}case 34:{if(!Ba)break e;s=pi(a,2,Ba,la)|0;if(!s)break e;m=f[s+72>>2]|0;if(!m)c=-1e6;else{l=f[ya>>2]|0;k=0;while(1)if((f[l+(k<<4)+12>>2]|0)==(m|0)){c=k;break}else k=k+1|0}k=f[s+8>>2]|0;H:do if(!k)r=0;else while(1){ya=k+55|0;if(((h[ya>>0]|h[ya+1>>0]<<8)&3)==2){r=k;break H}k=f[k+20>>2]|0;if(!k){r=0;break}}while(0);f[xa>>2]=7;n=f[a+116>>2]|0;n=(n|0)==0?a:n;k=n+84|0;l=f[k>>2]|0;m=1<>2]=l|m;if((c|0)!=1)break;q=f[n>>2]|0;k=q+16|0;if(f[(f[k>>2]|0)+20>>2]|0)break;if(b[n+195>>0]|0)break;l=cj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){ni(n,51535,W);f[n+12>>2]=l;break}ya=f[wa>>2]|0;f[(f[k>>2]|0)+20>>2]=ya;k=f[q+92>>2]|0;c=f[ya+4>>2]|0;f[c+4>>2]=f[ya>>2];do if(!(d[c+22>>1]&2)){n=c+32|0;o=c+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[n>>2]=k;m=c+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;ya=(f[18026]|0)+1|0;f[18026]=ya;f[18027]=(ya|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;za=932;break}else{k=ib[f[37368>>2]&255](l)|0;za=932}while(0);do if((za|0)==932){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{ya=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);ya=ih(f[c>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((ya|0)!=7)break;k=q+81|0;do if(!(b[k>>0]|0)){if(b[q+82>>0]|0)break;b[k>>0]=1;if((f[q+180>>2]|0)>0)f[q+264>>2]=1;ya=q+272|0;f[ya>>2]=(f[ya>>2]|0)+1}while(0);break I}while(0)}while(0);ki(a,s)|0;i=s+42|0;l=d[i>>1]|0;if(l<<16>>16<=0)break e;m=f[s+4>>2]|0;g=6080+(v<<4)+8|0;u=r+4|0;if(!r){r=f[g>>2]|0;g=f[g+4>>2]|0;s=(r|0)==0&(g|0)==0;g=(r|0)==0&(g|0)==0?55607:55614;r=0;k=0;q=m;while(1){o=b[q+15>>0]|0;za=o&2;p=(za&255)>>>1&255;if(za<<24>>24!=0&s)k=k+1|0;else{c=f[q>>2]|0;if(!(o&4))m=72788;else m=c+(wz(c)|0)+1|0;n=(b[q+12>>0]|0)!=0&1;l=f[q+4>>2]|0;if(!l)l=0;else l=f[l+8>>2]|0;f[ia>>2]=r-k;f[ia+4>>2]=c;f[ia+8>>2]=m;f[ia+12>>2]=n;f[ia+16>>2]=l;f[ia+20>>2]=o&1;f[ia+24>>2]=p;Xm(Aa,1,g,ia);l=d[i>>1]|0}r=r+1|0;if((r|0)>=(l<<16>>16|0))break e;else q=q+16|0}}s=0;k=0;r=m;o=l<<16>>16;while(1){n=b[r+15>>0]|0;ya=n&2;q=(ya&255)>>>1&255;do if(!(ya<<24>>24))za=959;else{ya=g;if(!((f[ya>>2]|0)==0&(f[ya+4>>2]|0)==0)){za=959;break}k=k+1|0}while(0);if((za|0)==959){za=0;l=(n&1)==0;J:do if(l)l=(l^1)&1;else{if((o|0)<1){l=1;break}m=f[u>>2]|0;l=1;while(1){if((s|0)==(d[m+(l+-1<<1)>>1]|0))break J;c=l+1|0;if((l|0)<(o|0))l=c;else{l=c;break}}}while(0);o=g;o=(f[o>>2]|0)==0&(f[o+4>>2]|0)==0?55607:55614;p=f[r>>2]|0;if(!(n&4))c=72788;else c=p+(wz(p)|0)+1|0;n=(b[r+12>>0]|0)!=0&1;m=f[r+4>>2]|0;if(!m)m=0;else m=f[m+8>>2]|0;f[ja>>2]=s-k;f[ja+4>>2]=p;f[ja+8>>2]=c;f[ja+12>>2]=n;f[ja+16>>2]=m;f[ja+20>>2]=l;f[ja+24>>2]=q;Xm(Aa,1,o,ja);l=d[i>>1]|0}s=s+1|0;o=l<<16>>16;if((s|0)>=(o|0))break;else r=r+16|0}break}case 17:{if(!Ba)break e;i=Qj(Da,Ba,la)|0;if(!i)break e;m=f[i+24>>2]|0;if(!m)k=-1e6;else{l=f[ya>>2]|0;k=0;while(1)if((f[l+(k<<4)+12>>2]|0)==(m|0))break;else k=k+1|0}u=6080+(v<<4)+8|0;u=(f[u>>2]|0)==0&(f[u+4>>2]|0)==0;r=d[(u?i+50|0:i+52|0)>>1]|0;v=r&65535;f[xa>>2]=u?3:6;s=f[i+12>>2]|0;n=f[a+116>>2]|0;n=(n|0)==0?a:n;l=n+84|0;m=f[l>>2]|0;c=1<>2]=m|c;if((k|0)!=1)break;q=f[n>>2]|0;k=q+16|0;if(f[(f[k>>2]|0)+20>>2]|0)break;if(b[n+195>>0]|0)break;l=cj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){ni(n,51535,Y);f[n+12>>2]=l;break}ya=f[wa>>2]|0;f[(f[k>>2]|0)+20>>2]=ya;k=f[q+92>>2]|0;c=f[ya+4>>2]|0;f[c+4>>2]=f[ya>>2];do if(!(d[c+22>>1]&2)){n=c+32|0;o=c+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[n>>2]=k;m=c+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;ya=(f[18026]|0)+1|0;f[18026]=ya;f[18027]=(ya|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;za=990;break}else{k=ib[f[37368>>2]&255](l)|0;za=990}while(0);do if((za|0)==990){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{za=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-za;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);za=ih(f[c>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((za|0)!=7)break;k=q+81|0;do if(!(b[k>>0]|0)){if(b[q+82>>0]|0)break;b[k>>0]=1;if((f[q+180>>2]|0)>0)f[q+264>>2]=1;za=q+272|0;f[za>>2]=(f[za>>2]|0)+1}while(0);break K}while(0)}while(0);if(!(r<<16>>16))break e;g=i+4|0;q=s+4|0;r=Aa+136|0;s=Aa+12|0;n=i+28|0;o=i+32|0;c=i+50|0;p=Aa+88|0;if(u){m=0;do{za=d[(f[g>>2]|0)+(m<<1)>>1]|0;k=za<<16>>16;if(za<<16>>16<0)l=0;else l=f[(f[q>>2]|0)+(k<<4)>>2]|0;f[ea>>2]=m;f[ea+4>>2]=k;f[ea+8>>2]=l;Xm(Aa,1,55622,ea);k=f[xa>>2]|0;l=f[r>>2]|0;if((f[(f[s>>2]|0)+48>>2]|0)>(l|0)){f[r>>2]=l+1;za=f[p>>2]|0;b[za+(l*20|0)>>0]=81;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=1;f[za+(l*20|0)+8>>2]=k;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else tl(Aa,81,1,k,0)|0;m=m+1|0}while((m|0)!=(v|0))}else{m=0;do{za=d[(f[g>>2]|0)+(m<<1)>>1]|0;k=za<<16>>16;if(za<<16>>16<0)l=0;else l=f[(f[q>>2]|0)+(k<<4)>>2]|0;f[fa>>2]=m;f[fa+4>>2]=k;f[fa+8>>2]=l;Xm(Aa,1,55622,fa);l=f[(f[o>>2]|0)+(m<<2)>>2]|0;k=m>>>0<(j[c>>1]|0)>>>0&1;f[ga>>2]=h[(f[n>>2]|0)+m>>0];f[ga+4>>2]=l;f[ga+8>>2]=k;Xm(Aa,4,55627,ga);k=f[xa>>2]|0;l=f[r>>2]|0;if((f[(f[s>>2]|0)+48>>2]|0)>(l|0)){f[r>>2]=l+1;za=f[p>>2]|0;b[za+(l*20|0)>>0]=81;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=1;f[za+(l*20|0)+8>>2]=k;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else tl(Aa,81,1,k,0)|0;m=m+1|0}while((m|0)!=(v|0))}break}case 18:{if(!Ba)break e;r=ji(Da,Ba,la)|0;if(!r)break e;m=f[r+72>>2]|0;if(!m)k=-1e6;else{l=f[ya>>2]|0;k=0;while(1)if((f[l+(k<<4)+12>>2]|0)==(m|0))break;else k=k+1|0}f[xa>>2]=5;n=f[a+116>>2]|0;n=(n|0)==0?a:n;l=n+84|0;m=f[l>>2]|0;c=1<>2]=m|c;if((k|0)!=1)break;q=f[n>>2]|0;k=q+16|0;if(f[(f[k>>2]|0)+20>>2]|0)break;if(b[n+195>>0]|0)break;l=cj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){ni(n,51535,U);f[n+12>>2]=l;break}ya=f[wa>>2]|0;f[(f[k>>2]|0)+20>>2]=ya;k=f[q+92>>2]|0;c=f[ya+4>>2]|0;f[c+4>>2]=f[ya>>2];do if(!(d[c+22>>1]&2)){n=c+32|0;o=c+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[n>>2]=k;m=c+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;ya=(f[18026]|0)+1|0;f[18026]=ya;f[18027]=(ya|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;za=1038;break}else{k=ib[f[37368>>2]&255](l)|0;za=1038}while(0);do if((za|0)==1038){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{za=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-za;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);za=ih(f[c>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((za|0)!=7)break;k=q+81|0;do if(!(b[k>>0]|0)){if(b[q+82>>0]|0)break;b[k>>0]=1;if((f[q+180>>2]|0)>0)f[q+264>>2]=1;za=q+272|0;f[za>>2]=(f[za>>2]|0)+1}while(0);break L}while(0)}while(0);k=f[r+8>>2]|0;if(!k)break e;l=0;while(1){xa=f[k>>2]|0;a=(b[k+54>>0]|0)!=0&1;ya=k+55|0;ya=f[38372+(((h[ya>>0]|h[ya+1>>0]<<8)&3)<<2)>>2]|0;za=(f[k+36>>2]|0)!=0&1;f[_>>2]=l;f[_+4>>2]=xa;f[_+8>>2]=a;f[_+12>>2]=ya;f[_+16>>2]=za;Xm(Aa,1,55632,_);k=f[k+20>>2]|0;if(!k)break;else l=l+1|0}break}case 10:{f[xa>>2]=3;n=Da+20|0;k=f[n>>2]|0;if((k|0)<=0){za=2130;break a}c=0;while(1){l=f[ya>>2]|0;m=f[l+(c<<4)+4>>2]|0;if(m){l=f[l+(c<<4)>>2]|0;k=f[f[m+4>>2]>>2]|0;if(!(b[k+15>>0]|0))k=f[k+168>>2]|0;else k=72788;f[T>>2]=c;f[T+4>>2]=l;f[T+8>>2]=k;Xm(Aa,1,55638,T);k=f[n>>2]|0}c=c+1|0;if((c|0)>=(k|0)){za=2130;break a}}}case 7:{f[xa>>2]=2;k=f[Da+388>>2]|0;if(!k){za=2130;break a}l=0;while(1){za=f[f[k+8>>2]>>2]|0;f[K>>2]=l;f[K+4>>2]=za;Xm(Aa,1,55642,K);k=f[k>>2]|0;if(!k)break;else l=l+1|0}break}case 14:{if(!Ba)break e;r=ji(Da,Ba,la)|0;if(!r)break e;s=f[r+16>>2]|0;if(!s)break e;m=f[r+72>>2]|0;if(!m)k=-1e6;else{l=f[ya>>2]|0;k=0;while(1)if((f[l+(k<<4)+12>>2]|0)==(m|0))break;else k=k+1|0}f[xa>>2]=8;n=f[a+116>>2]|0;n=(n|0)==0?a:n;l=n+84|0;m=f[l>>2]|0;c=1<>2]=m|c;if((k|0)!=1)break;q=f[n>>2]|0;k=q+16|0;if(f[(f[k>>2]|0)+20>>2]|0)break;if(b[n+195>>0]|0)break;l=cj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){ni(n,51535,V);f[n+12>>2]=l;break}ya=f[wa>>2]|0;f[(f[k>>2]|0)+20>>2]=ya;k=f[q+92>>2]|0;c=f[ya+4>>2]|0;f[c+4>>2]=f[ya>>2];do if(!(d[c+22>>1]&2)){n=c+32|0;o=c+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[n>>2]=k;m=c+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;ya=(f[18026]|0)+1|0;f[18026]=ya;f[18027]=(ya|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;za=1084;break}else{k=ib[f[37368>>2]&255](l)|0;za=1084}while(0);do if((za|0)==1084){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{za=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-za;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);za=ih(f[c>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((za|0)!=7)break;k=q+81|0;do if(!(b[k>>0]|0)){if(b[q+82>>0]|0)break;b[k>>0]=1;if((f[q+180>>2]|0)>0)f[q+264>>2]=1;za=q+272|0;f[za>>2]=(f[za>>2]|0)+1}while(0);break M}while(0)}while(0);i=r+4|0;m=s;c=0;while(1){o=m+20|0;N:do if((f[o>>2]|0)>0){p=m+8|0;q=m+26|0;r=m+25|0;n=0;while(1){s=f[p>>2]|0;g=f[(f[i>>2]|0)+(f[m+36+(n<<3)>>2]<<4)>>2]|0;u=f[m+36+(n<<3)+4>>2]|0;switch(b[q>>0]|0){case 8:{k=55684;break}case 9:{k=55672;break}case 10:{k=55664;break}case 7:{k=55655;break}default:k=55645}switch(b[r>>0]|0){case 8:{l=55684;break}case 9:{l=55672;break}case 10:{l=55664;break}case 7:{l=55655;break}default:l=55645}f[da>>2]=c;f[da+4>>2]=n;f[da+8>>2]=s;f[da+12>>2]=g;f[da+16>>2]=u;f[da+20>>2]=k;f[da+24>>2]=l;f[da+28>>2]=55702;Xm(Aa,1,55693,da);n=n+1|0;if((n|0)>=(f[o>>2]|0))break N}}while(0);m=f[m+4>>2]|0;if(!m)break;else c=c+1|0}break}case 13:{k=f[xa>>2]|0;L=k+1|0;M=k+5|0;N=k+6|0;f[xa>>2]=N;l=f[(f[(f[ya>>2]|0)+(r<<4)+12>>2]|0)+16>>2]|0;O:do if(l|0){F=(Ba|0)==0;G=a+116|0;H=Aa+136|0;e=Aa+12|0;I=Aa+88|0;J=a+40|0;K=k+2|0;A=k+3|0;B=Da+480|0;C=Da+304|0;D=Da+308|0;E=Da+300|0;k=l;do{if(F){x=f[k+8>>2]|0;k=f[k>>2]|0}else{x=pi(a,0,Ba,la)|0;k=0}do if(x|0){g=x+16|0;if(!(f[g>>2]|0))break;m=f[x+72>>2]|0;if(!m)s=-1e6;else{c=f[ya>>2]|0;l=0;while(1)if((f[c+(l<<4)+12>>2]|0)==(m|0)){s=l;break}else l=l+1|0}n=f[G>>2]|0;n=(n|0)==0?a:n;l=n+84|0;m=f[l>>2]|0;c=1<>2]=m|c;if((s|0)!=1)break;r=f[n>>2]|0;l=r+16|0;if(f[(f[l>>2]|0)+20>>2]|0)break;if(b[n+195>>0]|0)break;m=cj(f[r>>2]|0,0,r,wa,0,542)|0;if(m|0){ni(n,51535,na);f[n+12>>2]=m;break}sa=f[wa>>2]|0;f[(f[l>>2]|0)+20>>2]=sa;l=f[r+92>>2]|0;n=f[sa+4>>2]|0;f[n+4>>2]=f[sa>>2];do if(!(d[n+22>>1]&2)){o=n+32|0;p=n+36|0;q=(f[o>>2]|0)-(f[p>>2]|0)|0;do if((l+-512|0)>>>0<65025){if(l+-1&l|0)break;f[o>>2]=l;c=n+80|0;l=f[c>>2]|0;if(!l)break;m=l+-4|0;f[c>>2]=m;l=m;do if((f[18022]|0)>>>0<=l>>>0)if((f[18023]|0)>>>0>l>>>0){f[18188]=(f[18188]|0)+-1;f[m>>2]=f[18025];f[18025]=m;sa=(f[18026]|0)+1|0;f[18026]=sa;f[18027]=(sa|0)<(f[18021]|0)&1;break}else{l=ib[f[37368>>2]&255](m)|0;za=1136;break}else{l=ib[f[37368>>2]&255](m)|0;za=1136}while(0);do if((za|0)==1136){za=0;f[18189]=(f[18189]|0)-l;if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{sa=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);f[c>>2]=0}while(0);sa=ih(f[n>>2]|0,o,q)|0;f[p>>2]=(f[o>>2]|0)-(q&65535);if((sa|0)!=7)break;l=r+81|0;do if(!(b[l>>0]|0)){if(b[r+82>>0]|0)break;b[l>>0]=1;if((f[r+180>>2]|0)>0)f[r+264>>2]=1;sa=r+272|0;f[sa>>2]=(f[sa>>2]|0)+1}while(0);break P}while(0)}while(0);nm(a,s,f[x+28>>2]|0,0,f[x>>2]|0);l=N+(d[x+42>>1]|0)|0;if((l|0)>(f[xa>>2]|0)){f[xa>>2]=l;vl(a,0,s,x,109)}else vl(a,0,s,x,109);m=f[x>>2]|0;l=f[H>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(l|0)){f[H>>2]=l+1;sa=f[I>>2]|0;b[sa+(l*20|0)>>0]=106;d[sa+(l*20|0)+2>>1]=0;f[sa+(l*20|0)+4>>2]=0;f[sa+(l*20|0)+8>>2]=L;f[sa+(l*20|0)+12>>2]=0;f[sa+(l*20|0)+16>>2]=0;b[sa+(l*20|0)+1>>0]=0}else l=tl(Aa,106,0,L,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[H>>2]|0)+-1|0;ul(Aa,(f[I>>2]|0)+(l*20|0)|0,m,0)}l=f[g>>2]|0;if(!l)l=1;else{o=l;l=1;do{m=ji(Da,f[o+8>>2]|0,la)|0;Q:do if(m|0){f[va>>2]=0;nm(a,s,f[m+28>>2]|0,0,f[m>>2]|0);if(Ym(a,m,o,va,0)|0)break O;n=f[va>>2]|0;if(!n){vl(a,l,s,m,109);break}m=f[n+44>>2]|0;c=f[H>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(c|0)){f[H>>2]=c+1;sa=f[I>>2]|0;b[sa+(c*20|0)>>0]=109;d[sa+(c*20|0)+2>>1]=0;f[sa+(c*20|0)+4>>2]=l;f[sa+(c*20|0)+8>>2]=m;f[sa+(c*20|0)+12>>2]=s;f[sa+(c*20|0)+16>>2]=0;b[sa+(c*20|0)+1>>0]=0}else tl(Aa,109,l,m,s)|0;c=f[ta>>2]|0;n=om(a,n)|0;if(!n)break;m=f[c>>2]|0;if(!(b[m+81>>0]|0)){ra=f[c+88>>2]|0;sa=(f[c+136>>2]|0)+-1|0;b[ra+(sa*20|0)+1>>0]=-9;f[ra+(sa*20|0)+16>>2]=n;break}if(f[m+480>>2]|0)break;sa=(f[n>>2]|0)+-1|0;f[n>>2]=sa;if(sa|0)break;m=f[n+12>>2]|0;do if(m|0){if(f[m+480>>2]|0){Kc(m,n);break Q}c=n;if((f[m+304>>2]|0)>>>0>c>>>0)break;if((f[m+308>>2]|0)>>>0<=c>>>0)break;sa=m+300|0;f[n>>2]=f[sa>>2];f[sa>>2]=n;break Q}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{sa=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);l=l+1|0;o=f[o+4>>2]|0}while((o|0)!=0)}if((f[J>>2]|0)<(l|0))f[J>>2]=l;l=f[H>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(l|0)){f[H>>2]=l+1;y=f[I>>2]|0;b[y+(l*20|0)>>0]=36;y=y+(l*20|0)+1|0;z=y+19|0;do{b[y>>0]=0;y=y+1|0}while((y|0)<(z|0));w=l}else w=tl(Aa,36,0,0,0)|0;l=f[g>>2]|0;if(l|0){v=x+36|0;i=1;while(1){g=l+8|0;m=ji(Da,f[g>>2]|0,la)|0;f[va>>2]=0;f[ua>>2]=0;s=(m|0)!=0;if(s)Ym(a,m,l,va,ua)|0;m=f[e>>2]|0;r=m+60|0;u=f[r>>2]|0;f[r>>2]=u+1;r=m+64|0;if(!(u+-1&u)){p=u<<3|4;q=f[m>>2]|0;m=f[r>>2]|0;R:do if(m){n=m;o=q+304|0;do if((f[o>>2]|0)>>>0<=n>>>0){if((f[q+308>>2]|0)>>>0<=n>>>0)break;if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0

>>0:0)))break R}while(0);c=Lc(q,m,p,0)|0;if(c|0){m=c;break}if(f[q+480>>2]|0){Kc(q,m);m=0;break}do if((f[o>>2]|0)>>>0<=n>>>0){if((f[q+308>>2]|0)>>>0<=n>>>0)break;sa=q+300|0;f[m>>2]=f[sa>>2];f[sa>>2]=m;m=0;break R}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);m=0;break}else{sa=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);m=0;break}}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){m=0;break}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0

>>0:0))){c=q+300|0;m=f[c>>2]|0;if(m|0){f[c>>2]=f[m>>2];sa=q+284|0;f[sa>>2]=(f[sa>>2]|0)+1;break R}c=q+296|0;m=f[c>>2]|0;if(!m){m=q+292|0;break}else{f[c>>2]=f[m>>2];sa=q+284|0;f[sa>>2]=(f[sa>>2]|0)+1;break R}}else m=q+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1}m=Dc(q,p,0)|0}while(0);f[r>>2]=m}else m=f[r>>2]|0;if(m|0)f[m+(u<<2)>>2]=-1;r=~u;o=l+20|0;m=f[o>>2]|0;if((m|0)>0){n=0;do{c=f[ua>>2]|0;m=n+N|0;Am(Aa,x,0,f[((c|0)==0?l+36+(n<<3)|0:c+(n<<2)|0)>>2]|0,m);c=f[H>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(c|0)){f[H>>2]=c+1;sa=f[I>>2]|0;b[sa+(c*20|0)>>0]=50;d[sa+(c*20|0)+2>>1]=0;f[sa+(c*20|0)+4>>2]=m;f[sa+(c*20|0)+8>>2]=r;f[sa+(c*20|0)+12>>2]=0;f[sa+(c*20|0)+16>>2]=0;b[sa+(c*20|0)+1>>0]=0}else tl(Aa,50,m,r,0)|0;n=n+1|0;m=f[o>>2]|0}while((n|0)<(m|0))}c=f[va>>2]|0;do if(!c){if(!s)break;m=f[H>>2]|0;c=m+2|0;if((f[(f[e>>2]|0)+48>>2]|0)>(m|0)){f[H>>2]=m+1;sa=f[I>>2]|0;b[sa+(m*20|0)>>0]=30;d[sa+(m*20|0)+2>>1]=0;f[sa+(m*20|0)+4>>2]=i;f[sa+(m*20|0)+8>>2]=c;f[sa+(m*20|0)+12>>2]=N;f[sa+(m*20|0)+16>>2]=0;b[sa+(m*20|0)+1>>0]=0}else tl(Aa,30,i,c,N)|0;m=f[H>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(m|0)){f[H>>2]=m+1;sa=f[I>>2]|0;b[sa+(m*20|0)>>0]=11;d[sa+(m*20|0)+2>>1]=0;f[sa+(m*20|0)+4>>2]=0;f[sa+(m*20|0)+8>>2]=r;f[sa+(m*20|0)+12>>2]=0;f[sa+(m*20|0)+16>>2]=0;b[sa+(m*20|0)+1>>0]=0;break}else{tl(Aa,11,0,r,0)|0;break}}else{q=Bm(Da,c)|0;p=f[o>>2]|0;c=f[H>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(c|0)){f[H>>2]=c+1;sa=f[I>>2]|0;b[sa+(c*20|0)>>0]=102;d[sa+(c*20|0)+2>>1]=0;f[sa+(c*20|0)+4>>2]=N;f[sa+(c*20|0)+8>>2]=m;f[sa+(c*20|0)+12>>2]=M;f[sa+(c*20|0)+16>>2]=0;b[sa+(c*20|0)+1>>0]=0;m=c}else m=tl(Aa,102,N,m,M)|0;c=f[Aa>>2]|0;S:do if(!(b[c+81>>0]|0)){if((m|0)<0)m=(f[H>>2]|0)+-1|0;c=f[I>>2]|0;n=c+(m*20|0)|0;do if((p|0)<=-1){o=c+(m*20|0)+1|0;if(b[o>>0]|0)break;if((p|0)==-3){f[c+(m*20|0)+16>>2]=q;b[o>>0]=-3;break S}if(!q)break S;f[c+(m*20|0)+16>>2]=q;b[o>>0]=p;if((p|0)!=-12)break S;sa=q+12|0;f[sa>>2]=(f[sa>>2]|0)+1;break S}while(0);ul(Aa,n,q,p)}else{if((p|0)==-12)break;qg(c,p,q)}while(0);m=f[H>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(m|0)){f[H>>2]=m+1;sa=f[I>>2]|0;b[sa+(m*20|0)>>0]=29;d[sa+(m*20|0)+2>>1]=0;f[sa+(m*20|0)+4>>2]=i;f[sa+(m*20|0)+8>>2]=r;f[sa+(m*20|0)+12>>2]=M;f[sa+(m*20|0)+16>>2]=0;b[sa+(m*20|0)+1>>0]=0}else m=tl(Aa,29,i,r,M)|0;if(b[(f[Aa>>2]|0)+81>>0]|0)break;sa=f[I>>2]|0;b[sa+(m*20|0)+1>>0]=-3;f[sa+(m*20|0)+16>>2]=0}while(0);m=f[H>>2]|0;c=(f[(f[e>>2]|0)+48>>2]|0)>(m|0);do if(!(f[v>>2]&32))if(c){f[H>>2]=m+1;sa=f[I>>2]|0;b[sa+(m*20|0)>>0]=-127;d[sa+(m*20|0)+2>>1]=0;f[sa+(m*20|0)+4>>2]=0;f[sa+(m*20|0)+8>>2]=K;f[sa+(m*20|0)+12>>2]=0;f[sa+(m*20|0)+16>>2]=0;b[sa+(m*20|0)+1>>0]=0;break}else{tl(Aa,129,0,K,0)|0;break}else if(c){f[H>>2]=m+1;sa=f[I>>2]|0;b[sa+(m*20|0)>>0]=73;d[sa+(m*20|0)+2>>1]=0;f[sa+(m*20|0)+4>>2]=0;f[sa+(m*20|0)+8>>2]=K;f[sa+(m*20|0)+12>>2]=0;f[sa+(m*20|0)+16>>2]=0;b[sa+(m*20|0)+1>>0]=0;break}else{tl(Aa,73,0,K,0)|0;break}while(0);f[ma>>2]=f[g>>2];f[ma+4>>2]=i+-1;Xm(Aa,A,55707,ma);m=f[H>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(m|0)){f[H>>2]=m+1;sa=f[I>>2]|0;b[sa+(m*20|0)>>0]=81;d[sa+(m*20|0)+2>>1]=0;f[sa+(m*20|0)+4>>2]=L;f[sa+(m*20|0)+8>>2]=4;f[sa+(m*20|0)+12>>2]=0;f[sa+(m*20|0)+16>>2]=0;b[sa+(m*20|0)+1>>0]=0}else tl(Aa,81,L,4,0)|0;m=f[(f[e>>2]|0)+64>>2]|0;if(m|0)f[m+(u<<2)>>2]=f[H>>2];m=f[ua>>2]|0;T:do if(m|0){if(f[B>>2]|0){Kc(Da,m);break}c=m;do if((f[C>>2]|0)>>>0<=c>>>0){if((f[D>>2]|0)>>>0<=c>>>0)break;f[m>>2]=f[E>>2];f[E>>2]=m;break T}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{sa=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);l=f[l+4>>2]|0;if(!l)break;else i=i+1|0}}l=w+1|0;m=f[H>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(m|0)){f[H>>2]=m+1;sa=f[I>>2]|0;b[sa+(m*20|0)>>0]=5;d[sa+(m*20|0)+2>>1]=0;f[sa+(m*20|0)+4>>2]=0;f[sa+(m*20|0)+8>>2]=l;f[sa+(m*20|0)+12>>2]=0;f[sa+(m*20|0)+16>>2]=0;b[sa+(m*20|0)+1>>0]=0}else tl(Aa,5,0,l,0)|0;m=f[H>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))l=(f[I>>2]|0)+(((w|0)<0?m+-1|0:w)*20|0)|0;else l=72144;f[l+8>>2]=m}while(0)}while((k|0)!=0)}while(0);break e}case 6:{if(!Ba)break e;l=(Hd(Ba,1,0)|0)<<24>>24!=0;Aa=l?55711:41516;Zm(Da,41520,2,1,Aa,158,0,0,0,0,0)|0;Zm(Da,41520,3,1,Aa,158,0,0,0,0,0)|0;Zm(Da,41511,2,1,41507,158,0,0,0,0,0)|0;Aa=Rk(Da,41511,2,1,0)|0;k=Aa+4|0;if(Aa|0)f[k>>2]=f[k>>2]|12;Aa=Rk(Da,41520,2,1,0)|0;k=Aa+4|0;if(!Aa)break e;f[k>>2]=f[k>>2]|(l?12:4);break e}case 19:{V=(b[Ca>>0]|32)<<24>>24==113;U=(f[e>>2]|0)==0?-1:r;f[xa>>2]=6;f[va>>2]=100;if(Ba){Pd(Ba,va)|0;k=f[va>>2]|0;if((k|0)<1){f[va>>2]=100;k=100}}else k=100;k=k+-1|0;T=Aa+136|0;l=f[T>>2]|0;S=Aa+12|0;if((f[(f[S>>2]|0)+48>>2]|0)>(l|0)){f[T>>2]=l+1;na=f[Aa+88>>2]|0;b[na+(l*20|0)>>0]=70;d[na+(l*20|0)+2>>1]=0;f[na+(l*20|0)+4>>2]=k;f[na+(l*20|0)+8>>2]=1;f[na+(l*20|0)+12>>2]=0;f[na+(l*20|0)+16>>2]=0;b[na+(l*20|0)+1>>0]=0}else tl(Aa,70,k,1,0)|0;D=Da+81|0;E=Da+20|0;U:do if((f[E>>2]|0)>0){F=(U|0)<0;G=a+116|0;H=Da+272|0;e=Da+276|0;I=Da+288|0;J=Da+300|0;K=Da+296|0;L=Da+284|0;M=a+19|0;N=a+28|0;O=Da+292|0;P=Aa+88|0;Q=Da+32|0;R=a+56|0;C=0;do{do if(F|(C|0)==(U|0)){c=f[G>>2]|0;c=(c|0)==0?a:c;k=c+84|0;l=f[k>>2]|0;m=1<>2]=l|m;if((C|0)!=1)break;q=f[c>>2]|0;k=q+16|0;if(f[(f[k>>2]|0)+20>>2]|0)break;if(b[c+195>>0]|0)break;l=cj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){ni(c,51535,pa);f[c+12>>2]=l;break}na=f[wa>>2]|0;f[(f[k>>2]|0)+20>>2]=na;k=f[q+92>>2]|0;c=f[na+4>>2]|0;f[c+4>>2]=f[na>>2];do if(!(d[c+22>>1]&2)){n=c+32|0;o=c+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[n>>2]=k;m=c+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;na=(f[18026]|0)+1|0;f[18026]=na;f[18027]=(na|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;za=1314;break}else{k=ib[f[37368>>2]&255](l)|0;za=1314}while(0);do if((za|0)==1314){za=0;f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{na=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);na=ih(f[c>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((na|0)!=7)break;k=q+81|0;do if(!(b[k>>0]|0)){if(b[q+82>>0]|0)break;b[k>>0]=1;if((f[q+180>>2]|0)>0)f[q+264>>2]=1;na=q+272|0;f[na>>2]=(f[na>>2]|0)+1}while(0);break V}while(0)}while(0);p=(f[(f[ya>>2]|0)+(C<<4)+12>>2]|0)+16|0;l=f[p>>2]|0;if(!l){m=0;k=0}else{m=0;k=0;do{c=f[l+8>>2]|0;k=((f[c+36>>2]|0)>>>5&1^1)+k|0;c=f[c+8>>2]|0;if(!c)n=0;else{n=0;do{k=k+1|0;n=n+1|0;c=f[c+20>>2]|0}while((c|0)!=0)}m=(n|0)>(m|0)?n:m;l=f[l>>2]|0}while((l|0)!=0)}l=(k<<2)+4|0;W:do if(f[H>>2]|0)if(!(b[D>>0]|0))za=1340;else break U;else{do if(0<0|(0==0?(j[e>>1]|0)>>>0>>0:0))k=I;else{k=f[J>>2]|0;if(k|0){f[J>>2]=f[k>>2];f[L>>2]=(f[L>>2]|0)+1;o=k;break W}k=f[K>>2]|0;if(!k){k=O;break}f[K>>2]=f[k>>2];f[L>>2]=(f[L>>2]|0)+1;o=k;break W}while(0);f[k>>2]=(f[k>>2]|0)+1;za=1340}while(0);if((za|0)==1340){za=0;o=Dc(Da,l,0)|0}if(!o)break U;k=f[p>>2]|0;if(!k)l=0;else{l=0;do{n=f[k+8>>2]|0;c=l+1|0;if(!(f[n+36>>2]&32)){f[o+(c<<2)>>2]=f[n+28>>2];l=c}c=f[n+8>>2]|0;if(c)do{l=l+1|0;f[o+(l<<2)>>2]=f[c+44>>2];c=f[c+20>>2]|0}while((c|0)!=0);k=f[k>>2]|0}while((k|0)!=0)}f[o>>2]=l;na=f[xa>>2]|0;k=m+8|0;f[xa>>2]=(na|0)>(k|0)?na:k;b[M>>0]=0;f[N>>2]=0;k=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(k|0)){f[T>>2]=k+1;na=f[P>>2]|0;b[na+(k*20|0)>>0]=-108;d[na+(k*20|0)+2>>1]=0;f[na+(k*20|0)+4>>2]=2;f[na+(k*20|0)+8>>2]=l;f[na+(k*20|0)+12>>2]=1;f[na+(k*20|0)+16>>2]=0;b[na+(k*20|0)+1>>0]=0}else k=tl(Aa,148,2,l,1)|0;l=f[Aa>>2]|0;X:do if(!(b[l+81>>0]|0)){if((k|0)<0)k=(f[T>>2]|0)+-1|0;l=f[P>>2]|0;m=l+(k*20|0)+1|0;if(!(b[m>>0]|0)){f[l+(k*20|0)+16>>2]=o;b[m>>0]=-15;break}else{ul(Aa,l+(k*20|0)|0,o,-15);break}}else{do if(l|0){if(f[l+480>>2]|0){Kc(l,o);break X}k=o;if((f[l+304>>2]|0)>>>0>k>>>0)break;if((f[l+308>>2]|0)>>>0<=k>>>0)break;na=l+300|0;f[o>>2]=f[na>>2];f[na>>2]=o;break X}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{na=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);k=f[T>>2]|0;if((k|0)>0)d[(f[P>>2]|0)+((k+-1|0)*20|0)+2>>1]=C&255;if((f[(f[S>>2]|0)+48>>2]|0)>(k|0)){f[T>>2]=k+1;na=f[P>>2]|0;b[na+(k*20|0)>>0]=50;d[na+(k*20|0)+2>>1]=0;f[na+(k*20|0)+4>>2]=2;f[na+(k*20|0)+8>>2]=0;f[na+(k*20|0)+12>>2]=0;f[na+(k*20|0)+16>>2]=0;b[na+(k*20|0)+1>>0]=0}else k=tl(Aa,50,2,0,0)|0;f[qa>>2]=f[(f[ya>>2]|0)+(C<<4)>>2];n=Ig(Da,55715,qa)|0;l=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(l|0)){f[T>>2]=l+1;na=f[P>>2]|0;b[na+(l*20|0)>>0]=106;d[na+(l*20|0)+2>>1]=0;f[na+(l*20|0)+4>>2]=0;f[na+(l*20|0)+8>>2]=3;f[na+(l*20|0)+12>>2]=0;f[na+(l*20|0)+16>>2]=0;b[na+(l*20|0)+1>>0]=0}else l=tl(Aa,106,0,3,0)|0;m=f[Aa>>2]|0;Y:do if(b[m+81>>0]|0){if(!n)break;do if(m|0){if(f[m+480>>2]|0){Kc(m,n);break Y}l=n;if((f[m+304>>2]|0)>>>0>l>>>0)break;if((f[m+308>>2]|0)>>>0<=l>>>0)break;na=m+300|0;f[n>>2]=f[na>>2];f[na>>2]=n;break Y}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{na=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}else{if((l|0)<0)l=(f[T>>2]|0)+-1|0;m=f[P>>2]|0;c=m+(l*20|0)+1|0;if(b[c>>0]|0){ul(Aa,m+(l*20|0)|0,n,-7);break}if(!n)break;f[m+(l*20|0)+16>>2]=n;b[c>>0]=-7}while(0);l=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(l|0)){f[T>>2]=l+1;na=f[P>>2]|0;b[na+(l*20|0)>>0]=101;d[na+(l*20|0)+2>>1]=0;f[na+(l*20|0)+4>>2]=2;f[na+(l*20|0)+8>>2]=3;f[na+(l*20|0)+12>>2]=3;f[na+(l*20|0)+16>>2]=0;b[na+(l*20|0)+1>>0]=0}else tl(Aa,101,2,3,3)|0;l=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(l|0)){f[T>>2]=l+1;na=f[P>>2]|0;b[na+(l*20|0)>>0]=81;d[na+(l*20|0)+2>>1]=0;f[na+(l*20|0)+4>>2]=3;f[na+(l*20|0)+8>>2]=1;f[na+(l*20|0)+12>>2]=0;f[na+(l*20|0)+16>>2]=0;b[na+(l*20|0)+1>>0]=0}else tl(Aa,81,3,1,0)|0;l=f[T>>2]|0;m=l+2|0;if((f[(f[S>>2]|0)+48>>2]|0)>(l|0)){f[T>>2]=l+1;na=f[P>>2]|0;b[na+(l*20|0)>>0]=47;d[na+(l*20|0)+2>>1]=0;f[na+(l*20|0)+4>>2]=1;f[na+(l*20|0)+8>>2]=m;f[na+(l*20|0)+12>>2]=1;f[na+(l*20|0)+16>>2]=0;b[na+(l*20|0)+1>>0]=0}else tl(Aa,47,1,m,1)|0;l=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(l|0)){f[T>>2]=l+1;y=f[P>>2]|0;b[y+(l*20|0)>>0]=69;y=y+(l*20|0)+1|0;z=y+19|0;do{b[y>>0]=0;y=y+1|0}while((y|0)<(z|0))}else tl(Aa,69,0,0,0)|0;l=f[T>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))k=(f[P>>2]|0)+(((k|0)<0?l+-1|0:k)*20|0)|0;else k=72144;f[k+8>>2]=l;k=f[p>>2]|0;if(!k)break;do{v=f[k+8>>2]|0;do if((f[v+28>>2]|0)>=1){Z:do if(!(f[v+36>>2]&32))l=0;else{l=f[v+8>>2]|0;if(!l){l=0;break}while(1){na=l+55|0;if(((h[na>>0]|h[na+1>>0]<<8)&3)==2)break Z;l=f[l+20>>2]|0;if(!l){l=0;break}}}while(0);_m(a,v,109,0,1,0,wa,ua)|0;m=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(m|0)){f[T>>2]=m+1;na=f[P>>2]|0;b[na+(m*20|0)>>0]=70;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=0;f[na+(m*20|0)+8>>2]=7;f[na+(m*20|0)+12>>2]=0;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0}else tl(Aa,70,0,7,0)|0;B=v+8|0;m=f[B>>2]|0;if(m|0){c=0;while(1){n=c+8|0;o=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(o|0)){f[T>>2]=o+1;na=f[P>>2]|0;b[na+(o*20|0)>>0]=70;d[na+(o*20|0)+2>>1]=0;f[na+(o*20|0)+4>>2]=0;f[na+(o*20|0)+8>>2]=n;f[na+(o*20|0)+12>>2]=0;f[na+(o*20|0)+16>>2]=0;b[na+(o*20|0)+1>>0]=0}else tl(Aa,70,0,n,0)|0;m=f[m+20>>2]|0;if(!m)break;else c=c+1|0}}m=f[wa>>2]|0;c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=36;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=m;f[na+(c*20|0)+8>>2]=0;f[na+(c*20|0)+12>>2]=0;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else tl(Aa,36,m,0,0)|0;m=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(m|0)){f[T>>2]=m+1;A=f[P>>2]|0;b[A+(m*20|0)>>0]=83;d[A+(m*20|0)+2>>1]=0;f[A+(m*20|0)+4>>2]=7;f[A+(m*20|0)+8>>2]=1;f[A+(m*20|0)+12>>2]=0;f[A+(m*20|0)+16>>2]=0;b[A+(m*20|0)+1>>0]=0;A=m}else A=tl(Aa,83,7,1,0)|0;do if(V)o=v+42|0;else{m=f[wa>>2]|0;o=v+42|0;c=(d[o>>1]|0)+-1|0;n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=90;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=m;f[na+(n*20|0)+8>>2]=c;f[na+(n*20|0)+12>>2]=3;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else tl(Aa,90,m,c,3)|0;m=f[T>>2]|0;if((m|0)<=0)break;d[(f[P>>2]|0)+((m+-1|0)*20|0)+2>>1]=128}while(0);m=d[o>>1]|0;if(m<<16>>16>0){s=v+40|0;g=v+4|0;r=0;do{do if((r|0)!=(d[s>>1]|0)){if(!(b[(f[g>>2]|0)+(r<<4)+12>>0]|0))break;Am(Aa,v,f[wa>>2]|0,r,3);m=f[T>>2]|0;if((m|0)>0)d[(f[P>>2]|0)+((m+-1|0)*20|0)+2>>1]=128;if((f[(f[S>>2]|0)+48>>2]|0)>(m|0)){f[T>>2]=m+1;na=f[P>>2]|0;b[na+(m*20|0)>>0]=51;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=3;f[na+(m*20|0)+8>>2]=0;f[na+(m*20|0)+12>>2]=0;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0}else m=tl(Aa,51,3,0,0)|0;q=f[(f[g>>2]|0)+(r<<4)>>2]|0;f[ra>>2]=f[v>>2];f[ra+4>>2]=q;q=Ig(Da,55739,ra)|0;c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=106;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=0;f[na+(c*20|0)+8>>2]=3;f[na+(c*20|0)+12>>2]=0;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else c=tl(Aa,106,0,3,0)|0;n=f[Aa>>2]|0;_:do if(b[n+81>>0]|0){if(!q)break;do if(n|0){if(f[n+480>>2]|0){Kc(n,q);break _}c=q;if((f[n+304>>2]|0)>>>0>c>>>0)break;if((f[n+308>>2]|0)>>>0<=c>>>0)break;na=n+300|0;f[q>>2]=f[na>>2];f[na>>2]=q;break _}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{na=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}else{if((c|0)<0)c=(f[T>>2]|0)+-1|0;n=f[P>>2]|0;p=n+(c*20|0)+1|0;if(b[p>>0]|0){ul(Aa,n+(c*20|0)|0,q,-7);break}if(!q)break;f[n+(c*20|0)+16>>2]=q;b[p>>0]=-7}while(0);c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=81;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=3;f[na+(c*20|0)+8>>2]=1;f[na+(c*20|0)+12>>2]=0;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else tl(Aa,81,3,1,0)|0;c=f[T>>2]|0;n=c+2|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=47;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=1;f[na+(c*20|0)+8>>2]=n;f[na+(c*20|0)+12>>2]=1;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else tl(Aa,47,1,n,1)|0;c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;y=f[P>>2]|0;b[y+(c*20|0)>>0]=69;y=y+(c*20|0)+1|0;z=y+19|0;do{b[y>>0]=0;y=y+1|0}while((y|0)<(z|0))}else tl(Aa,69,0,0,0)|0;c=f[T>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))m=(f[P>>2]|0)+(((m|0)<0?c+-1|0:m)*20|0)|0;else m=72144;f[m+8>>2]=c;m=d[o>>1]|0}while(0);r=r+1|0}while((r|0)<(m<<16>>16|0))}m=f[v+24>>2]|0;$:do if(m|0){if(!((f[Q>>2]&512|0)==0&0==0))break;i=Ik(Da,m,0)|0;do if(b[D>>0]|0){if(!i)break $}else{m=f[S>>2]|0;r=m+60|0;g=f[r>>2]|0;f[r>>2]=g+1;r=m+64|0;if(!(g+-1&g)){p=g<<3|4;q=f[m>>2]|0;m=f[r>>2]|0;aa:do if(m){n=m;o=q+304|0;do if((f[o>>2]|0)>>>0<=n>>>0){if((f[q+308>>2]|0)>>>0<=n>>>0)break;if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0

>>0:0)))break aa}while(0);c=Lc(q,m,p,0)|0;if(c|0){m=c;break}if(f[q+480>>2]|0){Kc(q,m);m=0;break}do if((f[o>>2]|0)>>>0<=n>>>0){if((f[q+308>>2]|0)>>>0<=n>>>0)break;na=q+300|0;f[m>>2]=f[na>>2];f[na>>2]=m;m=0;break aa}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);m=0;break}else{na=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);m=0;break}}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){m=0;break}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0

>>0:0))){c=q+300|0;m=f[c>>2]|0;if(m|0){f[c>>2]=f[m>>2];na=q+284|0;f[na>>2]=(f[na>>2]|0)+1;break aa}c=q+296|0;m=f[c>>2]|0;if(!m){m=q+292|0;break}else{f[c>>2]=f[m>>2];na=q+284|0;f[na>>2]=(f[na>>2]|0)+1;break aa}}else m=q+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1}m=Dc(q,p,0)|0}while(0);f[r>>2]=m}else m=f[r>>2]|0;if(m|0)f[m+(g<<2)>>2]=-1;s=~g;m=f[S>>2]|0;r=m+60|0;u=f[r>>2]|0;f[r>>2]=u+1;r=m+64|0;if(!(u+-1&u)){p=u<<3|4;q=f[m>>2]|0;m=f[r>>2]|0;ba:do if(m){n=m;o=q+304|0;do if((f[o>>2]|0)>>>0<=n>>>0){if((f[q+308>>2]|0)>>>0<=n>>>0)break;if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0

>>0:0)))break ba}while(0);c=Lc(q,m,p,0)|0;if(c|0){m=c;break}if(f[q+480>>2]|0){Kc(q,m);m=0;break}do if((f[o>>2]|0)>>>0<=n>>>0){if((f[q+308>>2]|0)>>>0<=n>>>0)break;na=q+300|0;f[m>>2]=f[na>>2];f[na>>2]=m;m=0;break ba}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);m=0;break}else{na=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);m=0;break}}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){m=0;break}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0

>>0:0))){c=q+300|0;m=f[c>>2]|0;if(m|0){f[c>>2]=f[m>>2];na=q+284|0;f[na>>2]=(f[na>>2]|0)+1;break ba}c=q+296|0;m=f[c>>2]|0;if(!m){m=q+292|0;break}else{f[c>>2]=f[m>>2];na=q+284|0;f[na>>2]=(f[na>>2]|0)+1;break ba}}else m=q+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1}m=Dc(q,p,0)|0}while(0);f[r>>2]=m}else m=f[r>>2]|0;if(m|0)f[m+(u<<2)>>2]=-1;c=~u;f[R>>2]=(f[wa>>2]|0)+1;m=f[i>>2]|0;if((m|0)>1)do{na=m;m=m+-1|0;zm(a,f[i+4+(m*20|0)>>2]|0,s,0)}while((na|0)>2);Cm(a,f[i+4>>2]|0,c,16);m=f[(f[S>>2]|0)+64>>2]|0;if(m|0)f[m+(g<<2)>>2]=f[T>>2];f[R>>2]=0;f[sa>>2]=f[v>>2];o=Ig(Da,55759,sa)|0;m=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(m|0)){f[T>>2]=m+1;na=f[P>>2]|0;b[na+(m*20|0)>>0]=106;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=0;f[na+(m*20|0)+8>>2]=3;f[na+(m*20|0)+12>>2]=0;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0}else m=tl(Aa,106,0,3,0)|0;c=f[Aa>>2]|0;ca:do if(b[c+81>>0]|0){if(!o)break;do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break ca}m=o;if((f[c+304>>2]|0)>>>0>m>>>0)break;if((f[c+308>>2]|0)>>>0<=m>>>0)break;na=c+300|0;f[o>>2]=f[na>>2];f[na>>2]=o;break ca}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{na=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else{if((m|0)<0)m=(f[T>>2]|0)+-1|0;c=f[P>>2]|0;n=c+(m*20|0)+1|0;if(b[n>>0]|0){ul(Aa,c+(m*20|0)|0,o,-7);break}if(!o)break;f[c+(m*20|0)+16>>2]=o;b[n>>0]=-7}while(0);m=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(m|0)){f[T>>2]=m+1;na=f[P>>2]|0;b[na+(m*20|0)>>0]=81;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=3;f[na+(m*20|0)+8>>2]=1;f[na+(m*20|0)+12>>2]=0;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0}else tl(Aa,81,3,1,0)|0;m=f[T>>2]|0;c=m+2|0;if((f[(f[S>>2]|0)+48>>2]|0)>(m|0)){f[T>>2]=m+1;na=f[P>>2]|0;b[na+(m*20|0)>>0]=47;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=1;f[na+(m*20|0)+8>>2]=c;f[na+(m*20|0)+12>>2]=1;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0}else tl(Aa,47,1,c,1)|0;m=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(m|0)){f[T>>2]=m+1;y=f[P>>2]|0;b[y+(m*20|0)>>0]=69;y=y+(m*20|0)+1|0;z=y+19|0;do{b[y>>0]=0;y=y+1|0}while((y|0)<(z|0))}else tl(Aa,69,0,0,0)|0;m=f[(f[S>>2]|0)+64>>2]|0;if(!m)break;f[m+(u<<2)>>2]=f[T>>2]}while(0);jg(Da,i)}while(0);if(V){l=f[wa>>2]|0;m=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(m|0)){f[T>>2]=m+1;na=f[P>>2]|0;b[na+(m*20|0)>>0]=5;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=l;f[na+(m*20|0)+8>>2]=A;f[na+(m*20|0)+12>>2]=0;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0}else tl(Aa,5,l,A,0)|0;m=f[T>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))l=(f[P>>2]|0)+((((A|0)<1?m:A)+-1|0)*20|0)|0;else l=72144;f[l+8>>2]=m;break}m=f[B>>2]|0;if(m|0){x=v+4|0;c=-1;n=0;w=0;while(1){o=f[S>>2]|0;u=o+60|0;i=f[u>>2]|0;f[u>>2]=i+1;u=o+64|0;if(!(i+-1&i)){s=i<<3|4;g=f[o>>2]|0;o=f[u>>2]|0;da:do if(o){q=o;r=g+304|0;do if((f[r>>2]|0)>>>0<=q>>>0){if((f[g+308>>2]|0)>>>0<=q>>>0)break;if(!(0<0|(0==0?(j[g+276>>1]|0)>>>0>>0:0)))break da}while(0);p=Lc(g,o,s,0)|0;if(p|0){o=p;break}if(f[g+480>>2]|0){Kc(g,o);o=0;break}do if((f[r>>2]|0)>>>0<=q>>>0){if((f[g+308>>2]|0)>>>0<=q>>>0)break;na=g+300|0;f[o>>2]=f[na>>2];f[na>>2]=o;o=0;break da}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);o=0;break}else{na=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);o=0;break}}else{if(f[g+272>>2]|0){if(b[g+81>>0]|0){o=0;break}}else{do if(!(0<0|(0==0?(j[g+276>>1]|0)>>>0>>0:0))){p=g+300|0;o=f[p>>2]|0;if(o|0){f[p>>2]=f[o>>2];na=g+284|0;f[na>>2]=(f[na>>2]|0)+1;break da}p=g+296|0;o=f[p>>2]|0;if(!o){o=g+292|0;break}else{f[p>>2]=f[o>>2];na=g+284|0;f[na>>2]=(f[na>>2]|0)+1;break da}}else o=g+288|0;while(0);f[o>>2]=(f[o>>2]|0)+1}o=Dc(g,s,0)|0}while(0);f[u>>2]=o}else o=f[u>>2]|0;if(o|0)f[o+(i<<2)>>2]=-1;p=~i;do if((l|0)!=(m|0)){v=xm(a,m,f[wa>>2]|0,0,0,oa,n,c)|0;c=w+8|0;n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=83;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=c;f[na+(n*20|0)+8>>2]=1;f[na+(n*20|0)+12>>2]=0;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else tl(Aa,83,c,1,0)|0;c=(f[ua>>2]|0)+w|0;o=j[m+52>>1]|0;n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=29;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=c;f[na+(n*20|0)+8>>2]=p;f[na+(n*20|0)+12>>2]=v;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0;p=n}else p=tl(Aa,29,c,p,v)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){na=f[P>>2]|0;b[na+(p*20|0)+1>>0]=-3;f[na+(p*20|0)+16>>2]=o}c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=106;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=0;f[na+(c*20|0)+8>>2]=3;f[na+(c*20|0)+12>>2]=0;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else c=tl(Aa,106,0,3,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((c|0)<0)c=(f[T>>2]|0)+-1|0;ul(Aa,(f[P>>2]|0)+(c*20|0)|0,55789,0)}c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=101;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=7;f[na+(c*20|0)+8>>2]=3;f[na+(c*20|0)+12>>2]=3;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else tl(Aa,101,7,3,3)|0;c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=106;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=0;f[na+(c*20|0)+8>>2]=4;f[na+(c*20|0)+12>>2]=0;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else c=tl(Aa,106,0,4,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((c|0)<0)c=(f[T>>2]|0)+-1|0;ul(Aa,(f[P>>2]|0)+(c*20|0)|0,55794,0)}c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=101;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=4;f[na+(c*20|0)+8>>2]=3;f[na+(c*20|0)+12>>2]=3;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else tl(Aa,101,4,3,3)|0;o=f[m>>2]|0;c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=106;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=0;f[na+(c*20|0)+8>>2]=4;f[na+(c*20|0)+12>>2]=0;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else c=tl(Aa,106,0,4,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((c|0)<0)n=(f[T>>2]|0)+-1|0;else n=c;ul(Aa,(f[P>>2]|0)+(n*20|0)|0,o,0)}n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=101;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=4;f[na+(n*20|0)+8>>2]=3;f[na+(n*20|0)+12>>2]=3;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else tl(Aa,101,4,3,3)|0;n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=81;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=3;f[na+(n*20|0)+8>>2]=1;f[na+(n*20|0)+12>>2]=0;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else tl(Aa,81,3,1,0)|0;n=f[T>>2]|0;o=n+2|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;i=f[P>>2]|0;b[i+(n*20|0)>>0]=47;d[i+(n*20|0)+2>>1]=0;f[i+(n*20|0)+4>>2]=1;f[i+(n*20|0)+8>>2]=o;f[i+(n*20|0)+12>>2]=1;f[i+(n*20|0)+16>>2]=0;b[i+(n*20|0)+1>>0]=0;i=n}else i=tl(Aa,47,1,o,1)|0;n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;y=f[P>>2]|0;b[y+(n*20|0)>>0]=69;y=y+(n*20|0)+1|0;z=y+19|0;do{b[y>>0]=0;y=y+1|0}while((y|0)<(z|0))}else tl(Aa,69,0,0,0)|0;o=f[T>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))n=(f[P>>2]|0)+(((p|0)<0?o+-1|0:p)*20|0)|0;else n=72144;f[n+8>>2]=o;do if(b[m+54>>0]|0){n=f[S>>2]|0;g=n+60|0;u=f[g>>2]|0;f[g>>2]=u+1;g=n+64|0;if(!(u+-1&u)){r=u<<3|4;s=f[n>>2]|0;n=f[g>>2]|0;ea:do if(n){p=n;q=s+304|0;do if((f[q>>2]|0)>>>0<=p>>>0){if((f[s+308>>2]|0)>>>0<=p>>>0)break;if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0)))break ea}while(0);o=Lc(s,n,r,0)|0;if(o|0){n=o;break}if(f[s+480>>2]|0){Kc(s,n);n=0;break}do if((f[q>>2]|0)>>>0<=p>>>0){if((f[s+308>>2]|0)>>>0<=p>>>0)break;na=s+300|0;f[n>>2]=f[na>>2];f[na>>2]=n;n=0;break ea}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);n=0;break}else{na=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);n=0;break}}else{if(f[s+272>>2]|0){if(b[s+81>>0]|0){n=0;break}}else{do if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0))){o=s+300|0;n=f[o>>2]|0;if(n|0){f[o>>2]=f[n>>2];na=s+284|0;f[na>>2]=(f[na>>2]|0)+1;break ea}o=s+296|0;n=f[o>>2]|0;if(!n){n=s+292|0;break}else{f[o>>2]=f[n>>2];na=s+284|0;f[na>>2]=(f[na>>2]|0)+1;break ea}}else n=s+288|0;while(0);f[n>>2]=(f[n>>2]|0)+1}n=Dc(s,r,0)|0}while(0);f[g>>2]=n}else n=f[g>>2]|0;if(n|0)f[n+(u<<2)>>2]=-1;s=~u;r=m+50|0;if(d[r>>1]|0){o=m+4|0;n=0;do{na=d[(f[o>>2]|0)+(n<<1)>>1]|0;if(!(na<<16>>16>-1?(b[(f[x>>2]|0)+(na<<16>>16<<4)+12>>0]|0)!=0:0))za=1694;do if((za|0)==1694){za=0;p=n+v|0;q=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(q|0)){f[T>>2]=q+1;na=f[P>>2]|0;b[na+(q*20|0)>>0]=50;d[na+(q*20|0)+2>>1]=0;f[na+(q*20|0)+4>>2]=p;f[na+(q*20|0)+8>>2]=s;f[na+(q*20|0)+12>>2]=0;f[na+(q*20|0)+16>>2]=0;b[na+(q*20|0)+1>>0]=0;break}else{tl(Aa,50,p,s,0)|0;break}}while(0);n=n+1|0}while(n>>>0<(j[r>>1]|0)>>>0)}n=(f[ua>>2]|0)+w|0;o=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(o|0)){f[T>>2]=o+1;na=f[P>>2]|0;b[na+(o*20|0)>>0]=5;d[na+(o*20|0)+2>>1]=0;f[na+(o*20|0)+4>>2]=n;f[na+(o*20|0)+8>>2]=0;f[na+(o*20|0)+12>>2]=0;f[na+(o*20|0)+16>>2]=0;b[na+(o*20|0)+1>>0]=0}else o=tl(Aa,5,n,0,0)|0;n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=11;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=0;f[na+(n*20|0)+8>>2]=s;f[na+(n*20|0)+12>>2]=0;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else tl(Aa,11,0,s,0)|0;n=f[T>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))o=(f[P>>2]|0)+(((o|0)<0?n+-1|0:o)*20|0)|0;else o=72144;f[o+8>>2]=n;o=(f[ua>>2]|0)+w|0;p=j[r>>1]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=38;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=o;f[na+(n*20|0)+8>>2]=s;f[na+(n*20|0)+12>>2]=v;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else n=tl(Aa,38,o,s,v)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){na=f[P>>2]|0;b[na+(n*20|0)+1>>0]=-3;f[na+(n*20|0)+16>>2]=p}n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=106;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=0;f[na+(n*20|0)+8>>2]=3;f[na+(n*20|0)+12>>2]=0;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else n=tl(Aa,106,0,3,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((n|0)<0)n=(f[T>>2]|0)+-1|0;ul(Aa,(f[P>>2]|0)+(n*20|0)|0,55815,0)}n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=11;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=0;f[na+(n*20|0)+8>>2]=c;f[na+(n*20|0)+12>>2]=0;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else tl(Aa,11,0,c,0)|0;c=f[(f[S>>2]|0)+64>>2]|0;if(!c)break;f[c+(u<<2)>>2]=f[T>>2]}while(0);n=f[T>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))c=(f[P>>2]|0)+(((i|0)<0?n+-1|0:i)*20|0)|0;else c=72144;f[c+8>>2]=n;c=f[oa>>2]|0;if(!c){c=v;n=m;break}n=f[ta>>2]|0;o=f[(f[n+12>>2]|0)+64>>2]|0;if(!o){c=v;n=m;break}f[o+(~c<<2)>>2]=f[n+136>>2];c=v;n=m}while(0);m=f[m+20>>2]|0;if(!m)break;else w=w+1|0}}m=f[wa>>2]|0;c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=5;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=m;f[na+(c*20|0)+8>>2]=A;f[na+(c*20|0)+12>>2]=0;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else tl(Aa,5,m,A,0)|0;m=f[T>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))c=(f[P>>2]|0)+((((A|0)<1?m:A)+-1|0)*20|0)|0;else c=72144;f[c+8>>2]=m;if((f[(f[S>>2]|0)+48>>2]|0)>(m|0)){f[T>>2]=m+1;na=f[P>>2]|0;b[na+(m*20|0)>>0]=106;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=0;f[na+(m*20|0)+8>>2]=2;f[na+(m*20|0)+12>>2]=0;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0}else m=tl(Aa,106,0,2,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((m|0)<0)m=(f[T>>2]|0)+-1|0;ul(Aa,(f[P>>2]|0)+(m*20|0)|0,55842,0)}m=f[B>>2]|0;if(!m)break;p=0;while(1){if((l|0)!=(m|0)){c=(f[ua>>2]|0)+p|0;n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=104;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=c;f[na+(n*20|0)+8>>2]=3;f[na+(n*20|0)+12>>2]=0;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else tl(Aa,104,c,3,0)|0;c=p+8|0;n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=53;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=c;f[na+(n*20|0)+8>>2]=0;f[na+(n*20|0)+12>>2]=3;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else n=tl(Aa,53,c,0,3)|0;c=f[T>>2]|0;if((c|0)>0)d[(f[P>>2]|0)+((c+-1|0)*20|0)+2>>1]=144;o=f[m>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=106;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=0;f[na+(c*20|0)+8>>2]=4;f[na+(c*20|0)+12>>2]=0;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else c=tl(Aa,106,0,4,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((c|0)<0)c=(f[T>>2]|0)+-1|0;ul(Aa,(f[P>>2]|0)+(c*20|0)|0,o,0)}c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=101;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=4;f[na+(c*20|0)+8>>2]=2;f[na+(c*20|0)+12>>2]=3;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else tl(Aa,101,4,2,3)|0;c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=81;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=3;f[na+(c*20|0)+8>>2]=1;f[na+(c*20|0)+12>>2]=0;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else tl(Aa,81,3,1,0)|0;c=f[T>>2]|0;o=c+2|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=47;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=1;f[na+(c*20|0)+8>>2]=o;f[na+(c*20|0)+12>>2]=1;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else tl(Aa,47,1,o,1)|0;c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;y=f[P>>2]|0;b[y+(c*20|0)>>0]=69;y=y+(c*20|0)+1|0;z=y+19|0;do{b[y>>0]=0;y=y+1|0}while((y|0)<(z|0))}else tl(Aa,69,0,0,0)|0;o=f[T>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))c=(f[P>>2]|0)+(((n|0)<0?o+-1|0:n)*20|0)|0;else c=72144;f[c+8>>2]=o}m=f[m+20>>2]|0;if(!m)break;else p=p+1|0}}while(0);k=f[k>>2]|0}while((k|0)!=0)}while(0);C=C+1|0}while((C|0)<(f[E>>2]|0))}while(0);k=wl(Aa,7,22848)|0;if(k|0){f[k+8>>2]=1-(f[va>>2]|0);b[k+41>>0]=-1;f[k+56>>2]=55871;b[k+101>>0]=-1;f[k+116>>2]=45048}if(!(b[(f[Aa>>2]|0)+81>>0]|0))k=f[Aa+88>>2]|0;else k=72144;f[k+12>>2]=(f[T>>2]|0)+-2;za=2130;break a}case 12:{if(!Ba){m=f[a>>2]|0;fa:do if(!(b[m+165>>0]|0)){c=a+4|0;n=m+24|0;o=(f[n>>2]&1|0)==0;p=m+16|0;ya=f[(f[p>>2]|0)+12>>2]|0;b[m+78>>0]=b[ya+77>>0]|0;if((d[ya+78>>1]&1)==0?(M=qi(m,0,c,0)|0,(M|0)!=0):0)k=M;else za=1792;ga:do if((za|0)==1792){k=f[m+20>>2]|0;if((k|0)>1)do{l=k;k=k+-1|0;if((d[(f[(f[p>>2]|0)+(k<<4)+12>>2]|0)+78>>1]&1)==0?(P=qi(m,k,c,0)|0,P|0):0){k=P;break ga}}while((l|0)>2);if(o)f[n>>2]=f[n>>2]&-2;if(!(b[m+89>>0]|0))break fa;f[n>>2]=f[n>>2]|8;break fa}while(0);f[a+12>>2]=k;Aa=a+36|0;f[Aa>>2]=(f[Aa>>2]|0)+1;break e}while(0);za=b[(f[a>>2]|0)+78>>0]|0;l=f[22880+((za&255)<<3)>>2]|0;if(za<<24>>24==8)break e;m=Aa+136|0;k=f[m>>2]|0;c=Aa+12|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=106;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,106,0,1,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;ul(Aa,(f[Aa+88>>2]|0)+(k*20|0)|0,l,0)}k=f[m>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}n=f[(f[ya>>2]|0)+12>>2]|0;if((d[n+78>>1]&5)==1){za=2130;break a}k=b[Ba>>0]|0;ha:do if(k<<24>>24){k=(h[1232+(k&255)>>0]|0)+-117|0;c=(k|0)==0;if(c){l=55874;m=Ba;do{m=m+1|0;l=l+1|0;Aa=b[m>>0]|0;k=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(k|0)!=0))}do if(k){if(!c)break ha;k=55950;l=Ba;do{l=l+1|0;k=k+1|0;Aa=b[l>>0]|0;m=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(m|0)!=0));if(!m){k=22888;break}k=55956;l=Ba;do{l=l+1|0;k=k+1|0;Aa=b[l>>0]|0;m=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(m|0)!=0));if(!m){k=22896;break}k=55965;l=Ba;do{l=l+1|0;k=k+1|0;Aa=b[l>>0]|0;m=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(m|0)!=0));if(!m){k=22904;break}k=55974;l=Ba;do{l=l+1|0;k=k+1|0;Aa=b[l>>0]|0;m=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(m|0)!=0));if(!m){k=22912;break}k=55982;l=Ba;do{l=l+1|0;k=k+1|0;Aa=b[l>>0]|0;m=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(m|0)!=0));if(!m){k=22920;break}k=55990;l=Ba;do{l=l+1|0;k=k+1|0;Aa=b[l>>0]|0;m=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(m|0)!=0));if(!m){k=22928;break}k=55997;l=Ba;do{l=l+1|0;k=k+1|0;Aa=b[l>>0]|0;m=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(m|0)!=0));if(!m)k=22936;else break ha}else k=22880;while(0);za=b[k+4>>0]|0;za=za<<24>>24==0?2:za;b[Da+78>>0]=za;b[n+77>>0]=za;za=2130;break a}while(0);f[$>>2]=Ba;ni(a,55879,$);break e}case 0:{k=f[6080+(v<<4)+8>>2]|0;l=1<>2]=f[za>>2]|l;if(!aa?b[(f[(f[(f[Aa>>2]|0)+16>>2]|0)+(r<<4)+4>>2]|0)+9>>0]|0:0){za=Aa+152|0;f[za>>2]=f[za>>2]|l}ia:do if(Ba|0){switch(n|0){case 24:case 25:case 42:case 43:break ia;default:{}}Aa=wl(Aa,2,55904)|0;f[Aa+4>>2]=r;f[Aa+24>>2]=r;f[Aa+28>>2]=k;f[wa>>2]=0;Pd(Ba,wa)|0;f[Aa+32>>2]=f[wa>>2];break e}while(0);Aa=wl(Aa,3,55912)|0;f[Aa+4>>2]=r;f[Aa+24>>2]=r;f[Aa+32>>2]=k;Aa=(h[S>>0]|h[S+1>>0]<<8)&-65;b[S>>0]=Aa;b[S+1>>0]=Aa>>8;break e}case 8:{f[xa>>2]=1;c=Aa+136|0;n=Aa+12|0;o=Aa+88|0;m=0;do{l=f[5872+(m<<2)>>2]|0;m=m+1|0;k=f[c>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[o>>2]|0;b[za+(k*20|0)>>0]=106;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,106,0,1,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[c>>2]|0)+-1|0;ul(Aa,(f[o>>2]|0)+(k*20|0)|0,l,0)}k=f[c>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[o>>2]|0;b[za+(k*20|0)>>0]=81;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=1;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else tl(Aa,81,1,1,0)|0}while((m|0)!=10);Aa=(h[S>>0]|h[S+1>>0]<<8)&-65;b[S>>0]=Aa;b[S+1>>0]=Aa>>8;break e}case 39:{o=(f[e>>2]|0)==0?10:r;do if(Ba){n=b[Ba>>0]|0;c=h[1232+(n&255)>>0]|0;k=c+-102|0;n=n<<24>>24==0;if(!(n|(k|0)!=0)){l=55450;m=Ba;do{m=m+1|0;l=l+1|0;za=b[m>>0]|0;k=(h[1232+(za&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(k|0)!=0))}if(!k)l=1;else{k=c+-114|0;if(!(n|(k|0)!=0)){l=55924;m=Ba;do{m=m+1|0;l=l+1|0;za=b[m>>0]|0;k=(h[1232+(za&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(k|0)!=0))}if(!k){l=2;break}k=c+-116|0;if(!(n|(k|0)!=0)){l=45439;m=Ba;do{m=m+1|0;l=l+1|0;za=b[m>>0]|0;k=(h[1232+(za&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(k|0)!=0))}l=(k|0)==0?3:0}}else l=0;while(0);f[xa>>2]=3;m=Aa+136|0;k=f[m>>2]|0;c=Aa+12|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=6;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=o;f[za+(k*20|0)+8>>2]=l;f[za+(k*20|0)+12>>2]=1;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else tl(Aa,6,o,l,1)|0;k=f[m>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=3;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,3,0)|0;break e}}case 38:{if(!Ba)k=f[Da+236>>2]|0;else{f[wa>>2]=0;Pd(Ba,wa)|0;za=f[wa>>2]|0;ya=(za|0)>0;k=ya?85:0;f[Da+236>>2]=k;f[Da+240>>2]=ya?za:0}if((k|0)==85){n=f[Da+240>>2]|0;c=n;n=((n|0)<0)<<31>>31}else{c=0;n=0}m=f[Aa>>2]|0;ja:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=1877;else za=1897;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=1878;break ja}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=1878;break ja}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=1877}while(0);if((za|0)==1877){o=Dc(m,8,0)|0;za=1878}ka:do if((za|0)==1878){if(!o){za=1897;break}m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=n;b[m+1>>0]=n>>8;b[m+2>>0]=n>>16;b[m+3>>0]=n>>24;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break ka}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break ka}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);do if((za|0)==1897){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=81;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=1;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0;za=2130;break a}else{tl(Aa,81,1,1,0)|0;za=2130;break a}}case 31:{n=Da+20|0;m=f[n>>2]|0;if((m|0)<=0){za=2130;break a}c=f[ya>>2]|0;k=0;do{l=f[c+(k<<4)+4>>2]|0;if(l|0)f[(f[l+4>>2]|0)+4>>2]=f[l>>2];k=k+1|0}while((k|0)!=(m|0));k=0;while(1){l=f[c+(k<<4)+4>>2]|0;if(!l)l=m;else{ob[f[37472>>2]&127](f[(f[(f[f[l+4>>2]>>2]|0)+212>>2]|0)+44>>2]|0);l=f[n>>2]|0}k=k+1|0;if((k|0)>=(l|0)){za=2130;break a}c=f[ya>>2]|0;m=l}}case 27:{if(Ba){f[wa>>2]=0;Pd(Ba,wa)|0;k=f[wa>>2]|0;if(!(k&2))break e}else k=65534;wa=a+40|0;x=f[wa>>2]|0;f[wa>>2]=x+1;if(!la)v=(f[Da+20>>2]|0)+-1|0;else v=r;if((r|0)>(v|0)){m=Aa+136|0;k=Aa+12|0}else{w=a+116|0;g=k&1;s=(g|0)==0;m=Aa+136|0;g=g|2;k=Aa+12|0;u=a+19|0;i=Aa+88|0;while(1){do if((r|0)!=1){l=f[w>>2]|0;l=((l|0)==0?a:l)+84|0;c=f[l>>2]|0;n=1<>2]=c|n;l=f[(f[(f[ya>>2]|0)+(r<<4)+12>>2]|0)+16>>2]|0;if(!l)break;do{q=f[l+8>>2]|0;la:do if(f[q+36>>2]&256|0){p=(j[q+44>>1]|0)+46|0;n=p&65535;c=f[q+8>>2]|0;ma:do if(!c)za=1935;else while(1){wa=c+55|0;if(!((h[wa>>0]|h[wa+1>>0]<<8)&128))break ma;c=f[c+20>>2]|0;if(!c){za=1935;break}}while(0);do if((za|0)==1935){za=0;if(!(n<<16>>16))break;vl(a,x,r,q,109);n=f[m>>2]|0;o=n+g|0;c=p<<16>>16;if((f[(f[k>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;wa=f[i>>2]|0;b[wa+(n*20|0)>>0]=33;d[wa+(n*20|0)+2>>1]=0;f[wa+(n*20|0)+4>>2]=x;f[wa+(n*20|0)+8>>2]=o;f[wa+(n*20|0)+12>>2]=c;f[wa+(n*20|0)+16>>2]=0;b[wa+(n*20|0)+1>>0]=0;break}else{tl(Aa,33,x,o,c)|0;break}}while(0);q=f[q>>2]|0;f[ha>>2]=f[(f[ya>>2]|0)+(r<<4)>>2];f[ha+4>>2]=q;q=Ig(Da,55932,ha)|0;if(s){c=f[m>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(c|0)){f[m>>2]=c+1;y=f[i>>2]|0;b[y+(c*20|0)>>0]=-114;y=y+(c*20|0)+1|0;z=y+19|0;do{b[y>>0]=0;y=y+1|0}while((y|0)<(z|0))}else c=tl(Aa,142,0,0,0)|0;n=f[Aa>>2]|0;if(!(b[n+81>>0]|0)){if((c|0)<0)c=(f[m>>2]|0)+-1|0;n=f[i>>2]|0;o=n+(c*20|0)+1|0;if(b[o>>0]|0){ul(Aa,n+(c*20|0)|0,q,-7);break}if(!q)break;f[n+(c*20|0)+16>>2]=q;b[o>>0]=-7;break}if(!q)break;do if(n|0){if(f[n+480>>2]|0){Kc(n,q);break la}c=q;if((f[n+304>>2]|0)>>>0>c>>>0)break;if((f[n+308>>2]|0)>>>0<=c>>>0)break;wa=n+300|0;f[q>>2]=f[wa>>2];f[wa>>2]=q;break la}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{wa=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-wa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}c=b[u>>0]|0;if(!(c<<24>>24)){p=(f[xa>>2]|0)+1|0;f[xa>>2]=p}else{p=c+-1<<24>>24;b[u>>0]=p;p=f[a+144+((p&255)<<2)>>2]|0}c=f[m>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(c|0)){f[m>>2]=c+1;wa=f[i>>2]|0;b[wa+(c*20|0)>>0]=106;d[wa+(c*20|0)+2>>1]=0;f[wa+(c*20|0)+4>>2]=0;f[wa+(c*20|0)+8>>2]=p;f[wa+(c*20|0)+12>>2]=0;f[wa+(c*20|0)+16>>2]=0;b[wa+(c*20|0)+1>>0]=0}else c=tl(Aa,106,0,p,0)|0;n=f[Aa>>2]|0;na:do if(b[n+81>>0]|0){if(!q)break;do if(n|0){if(f[n+480>>2]|0){Kc(n,q);break na}c=q;if((f[n+304>>2]|0)>>>0>c>>>0)break;if((f[n+308>>2]|0)>>>0<=c>>>0)break;wa=n+300|0;f[q>>2]=f[wa>>2];f[wa>>2]=q;break na}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{wa=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-wa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}else{if((c|0)<0)c=(f[m>>2]|0)+-1|0;n=f[i>>2]|0;o=n+(c*20|0)+1|0;if(b[o>>0]|0){ul(Aa,n+(c*20|0)|0,q,-7);break}if(!q)break;f[n+(c*20|0)+16>>2]=q;b[o>>0]=-7}while(0);c=f[m>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(c|0)){f[m>>2]=c+1;wa=f[i>>2]|0;b[wa+(c*20|0)>>0]=81;d[wa+(c*20|0)+2>>1]=0;f[wa+(c*20|0)+4>>2]=p;f[wa+(c*20|0)+8>>2]=1;f[wa+(c*20|0)+12>>2]=0;f[wa+(c*20|0)+16>>2]=0;b[wa+(c*20|0)+1>>0]=0;break}else{tl(Aa,81,p,1,0)|0;break}}while(0);l=f[l>>2]|0}while((l|0)!=0)}while(0);if((r|0)<(v|0))r=r+1|0;else break}}l=f[m>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;y=f[Aa+88>>2]|0;b[y+(l*20|0)>>0]=-97;y=y+(l*20|0)+1|0;z=y+19|0;do{b[y>>0]=0;y=y+1|0}while((y|0)<(z|0));break e}else{tl(Aa,159,0,0,0)|0;break e}}case 32:{if((Ba|0?(Wm(Ba,wa)|0)==0:0)?(G=wa,F=f[G>>2]|0,G=f[G+4>>2]|0,!((G|0)<0|(Mc()|0)!=0)):0){za=71896;f[za>>2]=F;f[za+4>>2]=G;f[17976]=((F|0)!=0|(G|0)!=0)&((G|0)<0|(G|0)==0&F>>>0<=(f[18187]|0)>>>0)&1}m=(Mc()|0)==0;n=71896;c=m?f[n>>2]|0:-1;n=m?f[n+4>>2]|0:-1;m=f[Aa>>2]|0;oa:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=2052;else za=2072;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=2053;break oa}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=2053;break oa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=2052}while(0);if((za|0)==2052){o=Dc(m,8,0)|0;za=2053}pa:do if((za|0)==2053)if(o){m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=n;b[m+1>>0]=n>>8;b[m+2>>0]=n>>16;b[m+3>>0]=n>>24;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break pa}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break pa}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else za=2072;while(0);do if((za|0)==2072){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0}else tl(Aa,81,1,1,0)|0;break e}case 37:{if(Ba|0?(a=(Wm(Ba,wa)|0)==0,za=wa,ya=f[za+4>>2]|0,a&((ya|0)>-1|(ya|0)==-1&(f[za>>2]|0)>>>0>4294967295)):0)f[Da+152>>2]=0;c=f[Da+152>>2]|0;n=((c|0)<0)<<31>>31;m=f[Aa>>2]|0;qa:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=2097;else za=2117;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=2098;break qa}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=2098;break qa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=2097}while(0);if((za|0)==2097){o=Dc(m,8,0)|0;za=2098}ra:do if((za|0)==2098)if(o){m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=n;b[m+1>>0]=n>>8;b[m+2>>0]=n>>16;b[m+3>>0]=n>>24;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break ra}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break ra}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else za=2117;while(0);do if((za|0)==2117){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0}else tl(Aa,81,1,1,0)|0;za=2130;break a}default:{if(!Ba)k=f[Da+448>>2]|0;else{f[wa>>2]=0;Pd(Ba,wa)|0;k=f[wa>>2]|0;l=Da+396|0;if((k|0)>0){f[l>>2]=97;f[Da+400>>2]=Da;f[g>>2]=0;b[Da+408>>0]=1}else{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;b[l+12>>0]=0;k=0}f[Da+448>>2]=k}n=((k|0)<0)<<31>>31;c=f[Aa>>2]|0;sa:do if(f[c+272>>2]|0)if(!(b[c+81>>0]|0))za=2007;else za=2027;else{do if((j[c+276>>1]|0)>=8){l=c+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];za=c+284|0;f[za>>2]=(f[za>>2]|0)+1;za=2008;break sa}l=c+296|0;m=f[l>>2]|0;if(!m){l=c+292|0;break}else{f[l>>2]=f[m>>2];za=c+284|0;f[za>>2]=(f[za>>2]|0)+1;za=2008;break sa}}else l=c+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;za=2007}while(0);if((za|0)==2007){m=Dc(c,8,0)|0;za=2008}ta:do if((za|0)==2008)if(m){o=m;l=o;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;o=o+4|0;b[o>>0]=n;b[o+1>>0]=n>>8;b[o+2>>0]=n>>16;b[o+3>>0]=n>>24;o=Aa+136|0;k=f[o>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[o>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[o>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=m;b[n>>0]=-14;m=o;break}else{ul(Aa,c+(k*20|0)|0,m,-14);m=o;break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,m);m=o;break ta}k=m;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[m>>2]=f[ya>>2];f[ya>>2]=m;m=o;break ta}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);m=o;break}else{ya=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);m=o;break}}else za=2027;while(0);do if((za|0)==2027){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=81;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=1;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0;za=2130;break a}else{tl(Aa,81,1,1,0)|0;za=2130;break a}}}while(0)}while(0);if(!Da){za=2135;break a}else{za=2130;break a}}else k=1;while(0);za=a+36|0;f[za>>2]=(f[za>>2]|0)+1;f[a+12>>2]=k;za=2130}while(0);do if((za|0)==2130){if(f[Da+480>>2]|0){Kc(Da,Ca);break}Aa=Ca;if((f[Da+304>>2]|0)>>>0<=Aa>>>0?(f[Da+308>>2]|0)>>>0>Aa>>>0:0){Aa=Da+300|0;f[Ca>>2]=f[Aa>>2];f[Aa>>2]=Ca}else za=2135}while(0);do if((za|0)==2135)if(!(f[9328]|0)){ob[f[37360>>2]&127](Ca);break}else{Aa=ib[f[37368>>2]&255](Ca)|0;f[18187]=(f[18187]|0)-Aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Ca);break}while(0);if(!Ba){t=Ea;return}if(Da|0){if(f[Da+480>>2]|0){Kc(Da,Ba);t=Ea;return}Ca=Ba;if((f[Da+304>>2]|0)>>>0<=Ca>>>0?(f[Da+308>>2]|0)>>>0>Ca>>>0:0){Da=Da+300|0;f[Ba>>2]=f[Da>>2];f[Da>>2]=Ba;t=Ea;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](Ba);t=Ea;return}else{Da=ib[f[37368>>2]&255](Ba)|0;f[18187]=(f[18187]|0)-Da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Ba);t=Ea;return}}function Wl(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=t;t=t+16|0;h=i;if(!c){h=0;t=i;return h|0}a:while(1){if((b[c>>0]|0)==-112){d=f[a>>2]|0;if(!(b[(f[d>>2]|0)+165>>0]|0)){e=6;break}b[c>>0]=110}d=f[c+4>>2]|0;if(d&8404992|0){c=0;e=17;break}e=c+20|0;if(!(d&2048)){g=f[e>>2]|0;if(g|0?(f[g>>2]|0)>0:0){d=g+4|0;e=0;while(1){if(Wl(a,f[d>>2]|0)|0){c=1;e=17;break a}e=e+1|0;if((e|0)>=(f[g>>2]|0))break;else d=d+20|0}}}else if(Il(a,f[e>>2]|0)|0){c=1;e=17;break}if(Wl(a,f[c+16>>2]|0)|0){c=1;e=17;break}c=f[c+12>>2]|0;if(!c){c=0;e=17;break}}if((e|0)==6){f[h>>2]=f[a+16>>2];ni(d,55395,h);h=1;t=i;return h|0}else if((e|0)==17){t=i;return c|0}return 0}function Xl(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0;h=a+136|0;g=f[h>>2]|0;if((f[(f[a+12>>2]|0)+48>>2]|0)>(g|0)){f[h>>2]=g+1;h=f[a+88>>2]|0;b[h+(g*20|0)>>0]=-113;d[h+(g*20|0)+2>>1]=0;f[h+(g*20|0)+4>>2]=c;f[h+(g*20|0)+8>>2]=0;f[h+(g*20|0)+12>>2]=0;f[h+(g*20|0)+16>>2]=0;b[h+(g*20|0)+1>>0]=0}else g=tl(a,143,c,0,0)|0;Om(a,g,e,-7);if((f[(f[a>>2]|0)+20>>2]|0)<=0)return;g=0;do{Um(a,g);g=g+1|0}while((g|0)<(f[(f[a>>2]|0)+20>>2]|0));return}function Yl(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=t;t=t+16|0;q=r;if(!c){q=0;t=r;return q|0}m=f[a+12>>2]|0;if((f[c>>2]|0)<=0){q=0;t=r;return q|0}n=a+8|0;p=a+4|0;k=0;l=c+8|0;a:while(1){if(!(f[n>>2]|0)){i=l+4|0;j=f[i>>2]|0;do if(j|0){g=b[j>>0]|0;d=(h[1232+(g&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0;if(!(g<<24>>24==0|(d|0)!=0)){e=m;g=j;do{g=g+1|0;e=e+1|0;s=b[g>>0]|0;d=(h[1232+(s&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(d|0)!=0))}g=f[a>>2]|0;if(d|0){e=10;break a}d=f[g>>2]|0;if(d|0){if(f[d+480>>2]|0){Kc(d,j);break}s=j;if((f[d+304>>2]|0)>>>0<=s>>>0?(f[d+308>>2]|0)>>>0>s>>>0:0){s=d+300|0;f[j>>2]=f[s>>2];f[s>>2]=j;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{s=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);f[i>>2]=0;f[l>>2]=f[p>>2]}if(Il(a,f[l+20>>2]|0)|0){d=1;e=30;break}if(Wl(a,f[l+44>>2]|0)|0){d=1;e=30;break}if((b[l+37>>0]&4?(o=f[l+64>>2]|0,o|0):0)?(f[o>>2]|0)>0:0){d=o+4|0;e=0;while(1){if(Wl(a,f[d>>2]|0)|0){d=1;e=30;break a}e=e+1|0;if((e|0)>=(f[o>>2]|0))break;else d=d+20|0}}k=k+1|0;if((k|0)>=(f[c>>2]|0)){d=0;e=30;break}else l=l+72|0}if((e|0)==10){s=f[a+20>>2]|0;f[q>>2]=f[a+16>>2];f[q+4>>2]=s;f[q+8>>2]=j;ni(g,55349,q);s=1;t=r;return s|0}else if((e|0)==30){t=r;return d|0}return 0}function Zl(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;k=t;t=t+16|0;j=k;d=f[a>>2]|0;if(b[d+165>>0]|0){j=0;t=k;return j|0}if(b[a+18>>0]|0){j=0;t=k;return j|0}if((c|0)==0|(0==0?(f[d+32>>2]&268435457|0)==1:0)){j=0;t=k;return j|0}d=b[c>>0]|0;do if(!(d<<24>>24)){d=51912;g=5}else{l=d&255;d=1232+l|0;if((l|32|0)==115){d=b[c+1>>0]|0;if(!(d<<24>>24)){d=51913;g=5;break}l=d&255;d=1232+l|0;if((l|32|0)==113){d=b[c+2>>0]|0;if(!(d<<24>>24)){d=51914;g=5;break}l=d&255;d=1232+l|0;if((l|32|0)==108){d=b[c+3>>0]|0;if(!(d<<24>>24)){d=51915;g=5;break}l=d&255;d=1232+l|0;if((l|32|0)==105){d=b[c+4>>0]|0;if(!(d<<24>>24)){d=51916;g=5;break}l=d&255;d=1232+l|0;if((l|32|0)==116){d=b[c+5>>0]|0;if(!(d<<24>>24)){d=51917;g=5;break}l=d&255;d=1232+l|0;if((l|32|0)==101){d=b[c+6>>0]|0;if(!(d<<24>>24)){d=51918;g=5;break}if(d<<24>>24==95)break;else{e=95;d=1232+(d&255)|0}}else e=101}else e=116}else e=105}else e=108}else e=113}else e=115;i=h[d>>0]|0;g=9}while(0);if((g|0)==5){i=0;e=b[1232+(h[d>>0]|0)>>0]|0;g=9}if((g|0)==9?(i|0)!=(e&255|0):0){l=0;t=k;return l|0}f[j>>2]=c;ni(a,55307,j);l=1;t=k;return l|0}function _l(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f[a>>2]|0;o=d+4|0;m=(f[o>>2]|0)+45|0;a:do if(!p){r=KA(m|0,0,-1,-1)|0;n=ba()|0;if(n>>>0>0|(n|0)==0&r>>>0>2147483390){d=0;return d|0}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](m)|0;q=25;break}i=ib[f[37372>>2]&255](m)|0;if((f[18194]|0)>>>0>>0)f[18194]=m;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){r=f[18187]|0;n=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&n>>>0<=r>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(!k){d=0;return d|0}i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;r=k}else r=k}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){d=0;return d|0}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){k=p+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];q=p+284|0;f[q>>2]=(f[q>>2]|0)+1;q=25;break a}k=p+296|0;i=f[k>>2]|0;if(!i){i=p+292|0;break}else{f[k>>2]=f[i>>2];q=p+284|0;f[q>>2]=(f[q>>2]|0)+1;q=25;break a}}else i=p+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(p,m,0)|0;q=25}while(0);if((q|0)==25)if(!i){d=0;return d|0}else r=i;_A(r|0,0,m|0)|0;n=r+44|0;YA(n|0,f[d>>2]|0,f[o>>2]|0)|0;i=b[n>>0]|0;if((b[5472+(i&255)>>0]|0)<0){m=i<<24>>24==91?93:i;l=0;i=1;while(1){k=b[n+i>>0]|0;if(k<<24>>24==m<<24>>24){i=i+1|0;k=n+l|0;if((b[n+i>>0]|0)!=m<<24>>24)break;b[k>>0]=m}else b[n+l>>0]=k;l=l+1|0;i=i+1|0}b[k>>0]=0}o=r+12|0;f[o>>2]=n;b[r>>0]=c;while(1)if(!(b[5472+(h[e>>0]|0)>>0]&1))break;else e=e+1|0;i=g-e|0;b:do if((i|0)<=0)if(!e)i=0;else{k=i;q=41}else while(1){k=i+-1|0;if(!(b[5472+(h[e+k>>0]|0)>>0]&1)){k=i;q=41;break b}if((i|0)>1)i=k;else{q=41;break}}while(0);c:do if((q|0)==41){m=KA(k|0,((k|0)<0)<<31>>31|0,1,0)|0;n=ba()|0;d:do if(f[p+272>>2]|0)if(!(b[p+81>>0]|0))q=51;else{i=0;break c}else{do if(!(n>>>0>0|((n|0)==0?m>>>0>(j[p+276>>1]|0)>>>0:0))){l=p+300|0;i=f[l>>2]|0;if(i|0){f[l>>2]=f[i>>2];p=p+284|0;f[p>>2]=(f[p>>2]|0)+1;break d}l=p+296|0;i=f[l>>2]|0;if(!i){i=p+292|0;break}else{f[l>>2]=f[i>>2];p=p+284|0;f[p>>2]=(f[p>>2]|0)+1;break d}}else i=p+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;q=51}while(0);if((q|0)==51)i=Dc(p,m,n)|0;if(i){YA(i|0,e|0,k|0)|0;b[i+k>>0]=0;k=b[i>>0]|0;if(k<<24>>24){m=0;l=i;do{if(b[5472+(k&255)>>0]&1)b[l>>0]=32;m=m+1|0;l=i+m|0;k=b[l>>0]|0}while(k<<24>>24!=0)}}else i=0}while(0);f[r+32>>2]=i;if((h[a+196>>0]|0)<=1){d=r;return d|0}m=f[o>>2]|0;l=f[a>>2]|0;e:do if(!l){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](16)|0;q=82;break}i=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){p=f[18187]|0;g=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&g>>>0<=p>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){d=r;return d|0}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k}else{if(f[l+272>>2]|0){if(b[l+81>>0]|0){d=r;return d|0}}else{do if((j[l+276>>1]|0)>=16){k=l+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];q=l+284|0;f[q>>2]=(f[q>>2]|0)+1;q=82;break e}k=l+296|0;i=f[k>>2]|0;if(!i){i=l+292|0;break}else{f[k>>2]=f[i>>2];q=l+284|0;f[q>>2]=(f[q>>2]|0)+1;q=82;break e}}else i=l+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(l,16,0)|0;q=82}while(0);if((q|0)==82)if(!i){d=r;return d|0}k=i+4|0;l=k+12|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0));f[i>>2]=m;p=d;q=f[p+4>>2]|0;d=i+4|0;f[d>>2]=f[p>>2];f[d+4>>2]=q;d=a+268|0;f[i+12>>2]=f[d>>2];f[d>>2]=i;d=r;return d|0}function $l(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;w=t;t=t+48|0;u=w+32|0;s=w+24|0;r=w+16|0;p=w+8|0;o=w;e=f[a>>2]|0;i=f[c+20>>2]|0;if(!i)v=-1e6;else{j=f[e+16>>2]|0;g=0;while(1)if((f[j+(g<<4)+12>>2]|0)==(i|0)){v=g;break}else g=g+1|0}n=f[c+4>>2]|0;k=f[c+24>>2]|0;l=f[k+20>>2]|0;if(!l){g=k+12|0;i=k+16|0}else{i=b[n>>0]|0;if(!(i<<24>>24))g=0;else{g=0;j=n;do{j=j+1|0;g=U(g+(h[1232+(i&255)>>0]|0)|0,-1640531535)|0;i=b[j>>0]|0}while(i<<24>>24!=0)}i=(g>>>0)%((f[k+8>>2]|0)>>>0)|0;g=l+(i<<3)|0;i=l+(i<<3)+4|0}g=f[g>>2]|0;a:do if(!g)i=72124;else{m=h[1232+(h[n>>0]|0)>>0]|0;while(1){i=f[i>>2]|0;g=g+-1|0;k=f[i+12>>2]|0;l=b[k>>0]|0;j=(h[1232+(l&255)>>0]|0)-m|0;if(!(l<<24>>24==0|(j|0)!=0)){l=n;do{k=k+1|0;l=l+1|0;x=b[k>>0]|0;j=(h[1232+(x&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(x<<24>>24==0|(j|0)!=0))}if(!j)break a;if(!g){i=72124;break}}}while(0);n=e+16|0;l=f[(f[n>>2]|0)+(v<<4)>>2]|0;k=(v|0)==1;m=k?48842:43770;k=k?14:16;j=f[c>>2]|0;g=f[f[i+8>>2]>>2]|0;do if((b[e+165>>0]|0)==0?(q=a+196|0,(b[q>>0]|0)==0):0){i=f[e+312>>2]|0;if(i){e=nb[i&127](f[e+316>>2]|0,k,j,g,l,f[a+236>>2]|0)|0;if((e|0)==1){ni(a,49816,o);f[a+12>>2]=23;t=w;return}if((e|2|0)!=2){ni(a,49831,p);f[a+12>>2]=1;t=w;return}if(e|0){t=w;return}e=f[a>>2]|0;if(b[e+165>>0]|0)break;if(b[q>>0]|0)break}g=f[e+312>>2]|0;if(g|0){e=nb[g&127](f[e+316>>2]|0,9,m,0,l,f[a+236>>2]|0)|0;if((e|0)==1){ni(a,49816,r);f[a+12>>2]=23;t=w;return}if((e|2|0)==2){if(!e)break;t=w;return}else{ni(a,49831,s);f[a+12>>2]=1;t=w;return}}}while(0);g=a+8|0;e=f[g>>2]|0;if(!e){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;e=sl(a)|0;if(!e){t=w;return}else k=e}else k=e;j=f[c>>2]|0;f[u>>2]=f[(f[n>>2]|0)+(v<<4)>>2];f[u+4>>2]=43770;f[u+8>>2]=j;Tl(a,55256,u);j=f[g>>2]|0;e=(f[f[(f[(f[a>>2]|0)+16>>2]|0)+(v<<4)+12>>2]>>2]|0)+1|0;g=j+136|0;i=f[g>>2]|0;if((f[(f[j+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;x=f[j+88>>2]|0;b[x+(i*20|0)>>0]=107;d[x+(i*20|0)+2>>1]=0;f[x+(i*20|0)+4>>2]=v;f[x+(i*20|0)+8>>2]=1;f[x+(i*20|0)+12>>2]=e;f[x+(i*20|0)+16>>2]=0;b[x+(i*20|0)+1>>0]=0}else tl(j,107,v,1,e)|0;i=f[c>>2]|0;g=k+136|0;e=f[g>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(e|0)){f[g>>2]=e+1;x=f[k+88>>2]|0;b[x+(e*20|0)>>0]=-109;d[x+(e*20|0)+2>>1]=0;f[x+(e*20|0)+4>>2]=v;f[x+(e*20|0)+8>>2]=0;f[x+(e*20|0)+12>>2]=0;f[x+(e*20|0)+16>>2]=0;b[x+(e*20|0)+1>>0]=0}else e=tl(k,147,v,0,0)|0;if(b[(f[k>>2]|0)+81>>0]|0){t=w;return}if((e|0)<0)e=(f[g>>2]|0)+-1|0;ul(k,(f[k+88>>2]|0)+(e*20|0)|0,i,0);t=w;return}function am(a,c,e,g,i,j,k){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=t;t=t+112|0;x=J+32|0;w=J+24|0;s=J+16|0;q=J+8|0;m=J;r=J+72|0;u=J+40|0;I=f[a>>2]|0;a:do if(!(f[a+36>>2]|0)){z=u+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;f[z+16>>2]=0;f[z+20>>2]=0;f[z+24>>2]=0;f[u>>2]=a;z=(i|0)==0;l=a;do if(z)l=0;else{if((b[i>>0]|0)==59){b[i>>0]=106;l=0;break}o=u+24|0;d[o>>1]=0;f[r>>2]=l;f[r+4>>2]=146;f[r+8>>2]=147;f[r+12>>2]=0;f[r+24>>2]=u;n=i+24|0;l=a+204|0;A=(f[l>>2]|0)+(f[n>>2]|0)|0;f[l>>2]=A;l=f[I+120>>2]|0;if((l|0)>=(A|0)){oi(r,i)|0;m=f[r>>2]|0;l=m+204|0;f[l>>2]=(f[l>>2]|0)-(f[n>>2]|0);l=d[o>>1]|0;if(l&16){A=i+4|0;f[A>>2]=f[A>>2]|2}if((f[u+20>>2]|0)<=0)if((f[m+36>>2]|0)<1)break;else{F=113;break a}}else{f[m>>2]=l;ni(a,42710,m)}F=113;break a}while(0);A=(j|0)==0;do if(!A){if((b[j>>0]|0)==59){b[j>>0]=106;break}p=u+24|0;l=l&65535;o=l&4112;d[p>>1]=l&61423;l=f[u>>2]|0;f[r>>2]=l;f[r+4>>2]=146;f[r+8>>2]=147;f[r+12>>2]=0;f[r+24>>2]=u;n=j+24|0;m=l+204|0;y=(f[m>>2]|0)+(f[n>>2]|0)|0;f[m>>2]=y;m=f[(f[l>>2]|0)+120>>2]|0;if((m|0)>=(y|0)){oi(r,j)|0;m=f[r>>2]|0;l=m+204|0;f[l>>2]=(f[l>>2]|0)-(f[n>>2]|0);l=d[p>>1]|0;if(l&16){y=j+4|0;f[y>>2]=f[y>>2]|2}l=(o|l&65535)&65535;d[p>>1]=l;if((f[u+20>>2]|0)<=0)if((f[m+36>>2]|0)<1)break;else{F=112;break a}}else{f[q>>2]=m;ni(l,42710,q)}F=112;break a}while(0);y=(k|0)==0;do if(!y){if((b[k>>0]|0)==59){b[k>>0]=106;break}p=u+24|0;l=l&65535;o=l&4112;d[p>>1]=l&61423;l=f[u>>2]|0;f[r>>2]=l;f[r+4>>2]=146;f[r+8>>2]=147;f[r+12>>2]=0;f[r+24>>2]=u;n=k+24|0;m=l+204|0;q=(f[m>>2]|0)+(f[n>>2]|0)|0;f[m>>2]=q;m=f[(f[l>>2]|0)+120>>2]|0;if((m|0)>=(q|0)){oi(r,k)|0;m=f[r>>2]|0;l=m+204|0;f[l>>2]=(f[l>>2]|0)-(f[n>>2]|0);l=d[p>>1]|0;if(l&16){s=k+4|0;f[s>>2]=f[s>>2]|2}d[p>>1]=o|l&65535;if((f[u+20>>2]|0)<=0)if((f[m+36>>2]|0)<1)break;else{F=112;break a}}else{f[s>>2]=m;ni(l,42710,s)}F=112;break a}while(0);do if(g|0){if((b[g>>0]|0)==106)l=f[g+8>>2]|0;else l=0;m=f[a>>2]|0;if(((b[m+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(v=f[m+312>>2]|0,v|0):0){l=nb[v&127](f[m+316>>2]|0,c,l,0,0,f[a+236>>2]|0)|0;if((l|0)==1){ni(a,49816,w);f[a+12>>2]=23;F=112;break a}if((l|2|0)==2)if(!l)break;else{F=112;break a}else{ni(a,49831,x);f[a+12>>2]=1;F=112;break a}}}while(0);r=a+8|0;l=f[r>>2]|0;if(!l){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;s=sl(a)|0}else s=l;m=a+32|0;n=f[m>>2]|0;l=a+28|0;o=f[l>>2]|0;if((o|0)<4){l=a+44|0;m=f[l>>2]|0;q=m+1|0;m=m+4|0}else{f[m>>2]=n+4;q=n;m=o+-4|0}f[l>>2]=m;do if(!z){if((b[i>>0]|0)!=-92){C=xl(a,i,q)|0;F=58;break}l=f[r>>2]|0;m=f[i+28>>2]|0;n=l+136|0;o=f[n>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;z=f[l+88>>2]|0;b[z+(o*20|0)>>0]=78;d[z+(o*20|0)+2>>1]=0;f[z+(o*20|0)+4>>2]=m;f[z+(o*20|0)+8>>2]=q;f[z+(o*20|0)+12>>2]=0;f[z+(o*20|0)+16>>2]=0;b[z+(o*20|0)+1>>0]=0;break}else{tl(l,78,m,q,0)|0;break}}else{C=xl(a,0,q)|0;F=58}while(0);do if(((F|0)==58?(C|0)!=(q|0):0)?(B=f[r>>2]|0,B|0):0){l=B+136|0;m=f[l>>2]|0;if((f[(f[B+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;B=f[B+88>>2]|0;b[B+(m*20|0)>>0]=79;d[B+(m*20|0)+2>>1]=0;f[B+(m*20|0)+4>>2]=C;f[B+(m*20|0)+8>>2]=q;f[B+(m*20|0)+12>>2]=0;f[B+(m*20|0)+16>>2]=0;b[B+(m*20|0)+1>>0]=0;break}else{tl(B,79,C,q,0)|0;break}}while(0);p=q+1|0;do if(!A){if((b[j>>0]|0)!=-92){E=xl(a,j,p)|0;F=70;break}l=f[r>>2]|0;m=f[j+28>>2]|0;n=l+136|0;o=f[n>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;C=f[l+88>>2]|0;b[C+(o*20|0)>>0]=78;d[C+(o*20|0)+2>>1]=0;f[C+(o*20|0)+4>>2]=m;f[C+(o*20|0)+8>>2]=p;f[C+(o*20|0)+12>>2]=0;f[C+(o*20|0)+16>>2]=0;b[C+(o*20|0)+1>>0]=0;break}else{tl(l,78,m,p,0)|0;break}}else{E=xl(a,0,p)|0;F=70}while(0);do if(((F|0)==70?(E|0)!=(p|0):0)?(D=f[r>>2]|0,D|0):0){l=D+136|0;m=f[l>>2]|0;if((f[(f[D+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;D=f[D+88>>2]|0;b[D+(m*20|0)>>0]=79;d[D+(m*20|0)+2>>1]=0;f[D+(m*20|0)+4>>2]=E;f[D+(m*20|0)+8>>2]=p;f[D+(m*20|0)+12>>2]=0;f[D+(m*20|0)+16>>2]=0;b[D+(m*20|0)+1>>0]=0;break}else{tl(D,79,E,p,0)|0;break}}while(0);p=q+2|0;do if(!y){if((b[k>>0]|0)!=-92){H=xl(a,k,p)|0;F=82;break}l=f[r>>2]|0;m=f[k+28>>2]|0;n=l+136|0;o=f[n>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;a=f[l+88>>2]|0;b[a+(o*20|0)>>0]=78;d[a+(o*20|0)+2>>1]=0;f[a+(o*20|0)+4>>2]=m;f[a+(o*20|0)+8>>2]=p;f[a+(o*20|0)+12>>2]=0;f[a+(o*20|0)+16>>2]=0;b[a+(o*20|0)+1>>0]=0;break}else{tl(l,78,m,p,0)|0;break}}else{H=xl(a,0,p)|0;F=82}while(0);do if(((F|0)==82?(H|0)!=(p|0):0)?(G=f[r>>2]|0,G|0):0){l=G+136|0;m=f[l>>2]|0;if((f[(f[G+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;G=f[G+88>>2]|0;b[G+(m*20|0)>>0]=79;d[G+(m*20|0)+2>>1]=0;f[G+(m*20|0)+4>>2]=H;f[G+(m*20|0)+8>>2]=p;f[G+(m*20|0)+12>>2]=0;f[G+(m*20|0)+16>>2]=0;b[G+(m*20|0)+1>>0]=0;break}else{tl(G,79,H,p,0)|0;break}}while(0);if(s){m=q+3|0;n=m-(b[e>>0]|0)|0;o=s+136|0;l=f[o>>2]|0;p=s+12|0;if((f[(f[p>>2]|0)+48>>2]|0)>(l|0)){f[o>>2]=l+1;H=f[s+88>>2]|0;b[H+(l*20|0)>>0]=63;d[H+(l*20|0)+2>>1]=0;f[H+(l*20|0)+4>>2]=0;f[H+(l*20|0)+8>>2]=n;f[H+(l*20|0)+12>>2]=m;f[H+(l*20|0)+16>>2]=0;b[H+(l*20|0)+1>>0]=0}else l=tl(s,63,0,n,m)|0;m=f[s>>2]|0;b:do if(!(b[m+81>>0]|0)){if((l|0)<0)l=(f[o>>2]|0)+-1|0;m=f[s+88>>2]|0;n=m+(l*20|0)+1|0;if(!(b[n>>0]|0)){f[m+(l*20|0)+16>>2]=e;b[n>>0]=-8;break}else{ul(s,m+(l*20|0)|0,e,-8);break}}else if(f[e+4>>2]&16|0){do if(m|0){if(f[m+480>>2]|0){Kc(m,e);break b}l=e;if((f[m+304>>2]|0)>>>0<=l>>>0){if((f[m+308>>2]|0)>>>0<=l>>>0)break;H=m+300|0;f[e>>2]=f[H>>2];f[H>>2]=e;break b}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{H=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);m=f[o>>2]|0;if((m|0)>0)d[(f[s+88>>2]|0)+((m+-1|0)*20|0)+2>>1]=h[e>>0]|0;l=(c|0)==24&1;if((f[(f[p>>2]|0)+48>>2]|0)>(m|0)){f[o>>2]=m+1;F=f[s+88>>2]|0;b[F+(m*20|0)>>0]=-97;d[F+(m*20|0)+2>>1]=0;f[F+(m*20|0)+4>>2]=l;f[F+(m*20|0)+8>>2]=0;f[F+(m*20|0)+12>>2]=0;f[F+(m*20|0)+16>>2]=0;b[F+(m*20|0)+1>>0]=0;F=112;break}else{tl(s,159,l,0,0)|0;F=112;break}}else F=112}else F=112;while(0);if((F|0)==112?i|0:0)F=113;if((F|0)==113)ig(I,i);if(j|0)ig(I,j);if(!k){t=J;return}ig(I,k);t=J;return} -function rl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;do switch(b<<16>>16){case 219:case 207:case 206:case 174:{b=f[c>>2]|0;if(!b)return;mg(f[a>>2]|0,b,1);return}case 272:case 258:case 253:case 244:case 242:case 227:case 215:case 213:case 185:case 184:{b=f[c>>2]|0;if(!b)return;ig(f[a>>2]|0,b);return}case 271:case 243:case 241:case 233:case 229:case 221:case 220:case 216:case 214:case 211:case 199:case 198:case 189:{b=f[c>>2]|0;if(!b)return;jg(f[a>>2]|0,b);return}case 230:case 224:case 223:case 212:case 205:{ng(f[a>>2]|0,f[c>>2]|0);return}case 208:{i=f[a>>2]|0;h=f[c>>2]|0;if(!h)return;a:do if((f[h>>2]|0)>0){c=i+480|0;d=i+304|0;e=i+308|0;g=i+300|0;if(!i){a=0;while(1){b=f[h+8+(a<<4)+4>>2]|0;if(b|0)jg(0,b);b=f[h+8+(a<<4)+8>>2]|0;if(b|0)mg(0,b,1);b=f[h+8+(a<<4)>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{j=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);a=a+1|0;if((a|0)>=(f[h>>2]|0))break a}}a=0;do{b=f[h+8+(a<<4)+4>>2]|0;if(b|0)jg(i,b);b=f[h+8+(a<<4)+8>>2]|0;if(b|0)mg(i,b,1);b=f[h+8+(a<<4)>>2]|0;do if(b|0){if(f[c>>2]|0){Kc(i,b);break}j=b;if((f[d>>2]|0)>>>0<=j>>>0?(f[e>>2]|0)>>>0>j>>>0:0){f[b>>2]=f[g>>2];f[g>>2]=b;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{j=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}}while(0);a=a+1|0}while((a|0)<(f[h>>2]|0))}while(0);if(i|0){if(f[i+480>>2]|0){Kc(i,h);return}j=h;if((f[i+304>>2]|0)>>>0<=j>>>0?(f[i+308>>2]|0)>>>0>j>>>0:0){j=i+300|0;f[h>>2]=f[j>>2];f[j>>2]=h;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);return}else{j=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);return}}case 267:case 218:{a=f[a>>2]|0;b=f[c>>2]|0;if(!b)return;do{j=b;b=f[b+24>>2]|0;og(a,j)}while((b|0)!=0);return}case 235:case 231:case 228:{j=f[a>>2]|0;b=f[c>>2]|0;if(!b)return;i=b+4|0;a=f[b>>2]|0;b:do if((f[i>>2]|0)>0){d=j+480|0;e=j+304|0;g=j+308|0;h=j+300|0;if(!j){c=0;while(1){a=f[a+(c<<3)>>2]|0;do if(a|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{h=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}while(0);c=c+1|0;a=f[b>>2]|0;if((c|0)>=(f[i>>2]|0))break b}}c=0;do{a=f[a+(c<<3)>>2]|0;do if(a|0){if(f[d>>2]|0){Kc(j,a);break}k=a;if((f[e>>2]|0)>>>0<=k>>>0?(f[g>>2]|0)>>>0>k>>>0:0){f[a>>2]=f[h>>2];f[h>>2]=a;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{k=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}}while(0);c=c+1|0;a=f[b>>2]|0}while((c|0)<(f[i>>2]|0))}while(0);c:do if(a){do if(j|0){c=j+480|0;if(!(f[c>>2]|0)){d=a;if((f[j+304>>2]|0)>>>0>d>>>0)break;if((f[j+308>>2]|0)>>>0<=d>>>0)break;k=j+300|0;f[a>>2]=f[k>>2];f[k>>2]=a}else Kc(j,a);a=c;c=82;break c}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);c=80;break}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);c=80;break}}else c=80;while(0);if((c|0)==80)if(j){a=j+480|0;c=82}if((c|0)==82){if(f[a>>2]|0){Kc(j,b);return}k=b;if((f[j+304>>2]|0)>>>0<=k>>>0?(f[j+308>>2]|0)>>>0>k>>>0:0){k=j+300|0;f[b>>2]=f[k>>2];f[k>>2]=b;return}}if(!b)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](b);return}else{k=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);return}}case 270:case 269:case 268:case 237:{og(f[a>>2]|0,f[c>>2]|0);return}case 254:case 249:{kg(f[a>>2]|0,f[c>>2]|0);return}case 251:{j=f[a>>2]|0;b=f[c+4>>2]|0;if(!b)return;i=b+4|0;a=f[b>>2]|0;d:do if((f[i>>2]|0)>0){d=j+480|0;e=j+304|0;g=j+308|0;h=j+300|0;if(!j){c=0;while(1){a=f[a+(c<<3)>>2]|0;do if(a|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{k=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}while(0);c=c+1|0;a=f[b>>2]|0;if((c|0)>=(f[i>>2]|0))break d}}c=0;do{a=f[a+(c<<3)>>2]|0;do if(a|0){if(f[d>>2]|0){Kc(j,a);break}k=a;if((f[e>>2]|0)>>>0<=k>>>0?(f[g>>2]|0)>>>0>k>>>0:0){f[a>>2]=f[h>>2];f[h>>2]=a;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{k=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}}while(0);c=c+1|0;a=f[b>>2]|0}while((c|0)<(f[i>>2]|0))}while(0);e:do if(a){do if(j|0){c=j+480|0;if(!(f[c>>2]|0)){d=a;if((f[j+304>>2]|0)>>>0>d>>>0)break;if((f[j+308>>2]|0)>>>0<=d>>>0)break;k=j+300|0;f[a>>2]=f[k>>2];f[k>>2]=a}else Kc(j,a);a=c;c=126;break e}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);c=124;break}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);c=124;break}}else c=124;while(0);if((c|0)==124)if(j){a=j+480|0;c=126}if((c|0)==126){if(f[a>>2]|0){Kc(j,b);return}k=b;if((f[j+304>>2]|0)>>>0<=k>>>0?(f[j+308>>2]|0)>>>0>k>>>0:0){k=j+300|0;f[b>>2]=f[k>>2];f[k>>2]=b;return}}if(!b)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](b);return}else{k=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);return}}case 276:case 275:case 274:{b=f[c+4>>2]|0;if(!b)return;ig(f[a>>2]|0,b);return}default:return}while(0)}function sl(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;h=f[a>>2]|0;a:do if(f[h+272>>2]|0)if(!(b[h+81>>0]|0))g=11;else{a=0;return a|0}else{do if((j[h+276>>1]|0)>=216){d=h+300|0;c=f[d>>2]|0;if(c|0){f[d>>2]=f[c>>2];e=h+284|0;f[e>>2]=(f[e>>2]|0)+1;e=c;break a}c=h+296|0;d=f[c>>2]|0;if(!d){c=h+292|0;break}else{f[c>>2]=f[d>>2];e=h+284|0;f[e>>2]=(f[e>>2]|0)+1;e=d;break a}}else c=h+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;g=11}while(0);if((g|0)==11)e=Dc(h,216,0)|0;if(!e){a=0;return a|0}c=e+88|0;d=c+128|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[e>>2]=h;c=h+4|0;d=f[c>>2]|0;if(d|0)f[d+4>>2]=e;f[e+8>>2]=d;f[e+4>>2]=0;f[c>>2]=e;f[e+20>>2]=381479589;f[e+12>>2]=a;f[a+8>>2]=e;if((f[a+48>>2]|0)>0){f[e+136>>2]=1;Ya()}tl(e,61,0,1,0)|0;a=e;return a|0}function tl(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=a+12|0;m=f[r>>2]|0;k=m+48|0;l=f[k>>2]|0;l=(l|0)==0?51:l<<1;i=f[m>>2]|0;a:do if((l|0)<=(f[i+128>>2]|0)){q=a+88|0;p=a+136|0;o=m;a=f[q>>2]|0;n=m;b:while(1){m=l*20|0;c:do if(!a){if(f[i+272>>2]|0){if(b[i+81>>0]|0){a=1;l=34;break b}}else{do if(!(0<0|(0==0?(j[i+276>>1]|0)>>>0>>0:0))){l=i+300|0;a=f[l>>2]|0;if(a|0){f[l>>2]=f[a>>2];l=i+284|0;f[l>>2]=(f[l>>2]|0)+1;l=26;break c}l=i+296|0;a=f[l>>2]|0;if(!a){a=i+292|0;break}else{f[l>>2]=f[a>>2];l=i+284|0;f[l>>2]=(f[l>>2]|0)+1;l=26;break c}}else a=i+288|0;while(0);f[a>>2]=(f[a>>2]|0)+1}a=Dc(i,m,0)|0;l=26}else{l=a;if((f[i+304>>2]|0)>>>0<=l>>>0?(f[i+308>>2]|0)>>>0>l>>>0:0){if(!(0<0|(0==0?(j[i+276>>1]|0)>>>0>>0:0))){l=28;break}a=Lc(i,a,m,0)|0;l=26;break}a=Lc(i,a,m,0)|0;l=26}while(0);if((l|0)==26){if(!a){a=1;l=34;break}i=f[n>>2]|0;if(!i)l=30;else l=28}if((l|0)==28){l=0;n=a;if((f[i+304>>2]|0)>>>0<=n>>>0?(f[i+308>>2]|0)>>>0>n>>>0:0)i=j[i+276>>1]|0;else l=30}if((l|0)==30)i=ib[f[37368>>2]&255](a)|0;f[o+52>>2]=i;f[k>>2]=(i>>>0)/20|0;f[q>>2]=a;k=f[p>>2]|0;n=f[r>>2]|0;m=n+48|0;i=f[m>>2]|0;if((i|0)>(k|0)){l=33;break}l=(i|0)==0?51:i<<1;i=f[n>>2]|0;if((l|0)>(f[i+128>>2]|0))break a;else{o=n;k=m}}if((l|0)==33){f[p>>2]=k+1;b[a+(k*20|0)>>0]=c;d[a+(k*20|0)+2>>1]=0;f[a+(k*20|0)+4>>2]=e;f[a+(k*20|0)+8>>2]=g;f[a+(k*20|0)+12>>2]=h;f[a+(k*20|0)+16>>2]=0;b[a+(k*20|0)+1>>0]=0;r=k;return r|0}else if((l|0)==34)return a|0}while(0);a=i+81|0;if(b[a>>0]|0){r=1;return r|0}if(b[i+82>>0]|0){r=1;return r|0}b[a>>0]=1;if((f[i+180>>2]|0)>0)f[i+264>>2]=1;r=i+272|0;f[r>>2]=(f[r>>2]|0)+1;r=1;return r|0}function ul(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0;k=a+88|0;l=a+136|0;if((e|0)<0){while(1){g=c+1|0;h=b[g>>0]|0;if(h<<24>>24){m=c+16|0;qg(f[a>>2]|0,h<<24>>24,f[m>>2]|0);b[g>>0]=0;f[m>>2]=0}g=f[k>>2]|0;h=c-g|0;c=f[a>>2]|0;i=g;if(b[c+81>>0]|0){n=12;break}if((h|0)<0)h=(f[l>>2]|0)+-1|0;else h=(h|0)/20|0;c=i+(h*20|0)+1|0;if(!(b[c>>0]|0))break;c=i+(h*20|0)|0}if((n|0)==12){if((e|0)==-12)return;qg(c,e,d);return}if((e|0)==-3){f[g+(h*20|0)+16>>2]=d;b[c>>0]=-3;return}if(!d)return;f[g+(h*20|0)+16>>2]=d;b[c>>0]=e;if((e|0)!=-12)return;d=d+12|0;f[d>>2]=(f[d>>2]|0)+1;return}else{m=c+1|0;g=b[m>>0]|0;if(g<<24>>24){l=c+16|0;qg(f[a>>2]|0,g<<24>>24,f[l>>2]|0);b[m>>0]=0;f[l>>2]=0}g=(d|0)==0;if(!e)if(g)g=0;else{e=(wz(d)|0)&1073741823;n=23}else if(g)g=0;else n=23;a:do if((n|0)==23){i=f[a>>2]|0;k=KA(e|0,((e|0)<0)<<31>>31|0,1,0)|0;l=ba()|0;b:do if(f[i+272>>2]|0)if(!(b[i+81>>0]|0))n=33;else{g=0;break a}else{do if(!(l>>>0>0|((l|0)==0?k>>>0>(j[i+276>>1]|0)>>>0:0))){h=i+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];a=i+284|0;f[a>>2]=(f[a>>2]|0)+1;break b}h=i+296|0;g=f[h>>2]|0;if(!g){g=i+292|0;break}else{f[h>>2]=f[g>>2];a=i+284|0;f[a>>2]=(f[a>>2]|0)+1;break b}}else g=i+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;n=33}while(0);if((n|0)==33)g=Dc(i,k,l)|0;if(!g)g=0;else{YA(g|0,d|0,e|0)|0;b[g+e>>0]=0}}while(0);f[c+16>>2]=g;b[m>>0]=-7;return}}function vl(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;m=a+8|0;j=f[m>>2]|0;if(!j){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;n=sl(a)|0}else n=j;j=g+28|0;nm(a,e,f[j>>2]|0,(i|0)==110&1,f[g>>2]|0);if(!(f[g+36>>2]&32)){k=f[j>>2]|0;l=d[g+42>>1]|0;g=n+136|0;j=f[g>>2]|0;if((f[(f[n+12>>2]|0)+48>>2]|0)>(j|0)){f[g>>2]=j+1;a=f[n+88>>2]|0;b[a+(j*20|0)>>0]=i;d[a+(j*20|0)+2>>1]=0;f[a+(j*20|0)+4>>2]=c;f[a+(j*20|0)+8>>2]=k;f[a+(j*20|0)+12>>2]=e;f[a+(j*20|0)+16>>2]=0;b[a+(j*20|0)+1>>0]=0}else j=tl(n,i,c,k,e)|0;if(b[(f[n>>2]|0)+81>>0]|0)return;i=f[n+88>>2]|0;b[i+(j*20|0)+1>>0]=-3;f[i+(j*20|0)+16>>2]=l;return}j=f[g+8>>2]|0;a:do if(!j)j=0;else while(1){l=j+55|0;if(((h[l>>0]|h[l+1>>0]<<8)&3)==2)break a;j=f[j+20>>2]|0;if(!j){j=0;break}}while(0);g=f[j+44>>2]|0;k=n+136|0;l=f[k>>2]|0;if((f[(f[n+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;n=f[n+88>>2]|0;b[n+(l*20|0)>>0]=i;d[n+(l*20|0)+2>>1]=0;f[n+(l*20|0)+4>>2]=c;f[n+(l*20|0)+8>>2]=g;f[n+(l*20|0)+12>>2]=e;f[n+(l*20|0)+16>>2]=0;b[n+(l*20|0)+1>>0]=0}else tl(n,i,c,g,e)|0;k=f[m>>2]|0;g=om(a,j)|0;if(!g)return;j=f[k>>2]|0;if(!(b[j+81>>0]|0)){e=f[k+88>>2]|0;i=(f[k+136>>2]|0)+-1|0;b[e+(i*20|0)+1>>0]=-9;f[e+(i*20|0)+16>>2]=g;return}if(f[j+480>>2]|0)return;i=(f[g>>2]|0)+-1|0;f[g>>2]=i;if(i|0)return;j=f[g+12>>2]|0;if(j|0){if(f[j+480>>2]|0){Kc(j,g);return}i=g;if((f[j+304>>2]|0)>>>0<=i>>>0?(f[j+308>>2]|0)>>>0>i>>>0:0){i=j+300|0;f[g>>2]=f[i>>2];f[i>>2]=g;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);return}else{i=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);return}}function wl(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0;n=a+136|0;g=f[n>>2]|0;l=f[a+12>>2]|0;m=l+48|0;h=f[m>>2]|0;if((g+c|0)>(h|0)){g=(h|0)==0?51:h<<1;i=f[l>>2]|0;if((g|0)>(f[i+128>>2]|0)){g=i+81|0;if(b[g>>0]|0){n=0;return n|0}if(b[i+82>>0]|0){n=0;return n|0}b[g>>0]=1;if((f[i+180>>2]|0)>0)f[i+264>>2]=1;n=i+272|0;f[n>>2]=(f[n>>2]|0)+1;n=0;return n|0}k=a+88|0;h=f[k>>2]|0;a=g*20|0;a:do if(!h){if(f[i+272>>2]|0){if(b[i+81>>0]|0){n=0;return n|0}}else{do if(!(0<0|(0==0?(j[i+276>>1]|0)>>>0>>0:0))){g=i+300|0;h=f[g>>2]|0;if(h|0){f[g>>2]=f[h>>2];a=i+284|0;f[a>>2]=(f[a>>2]|0)+1;a=26;break a}g=i+296|0;h=f[g>>2]|0;if(!h){g=i+292|0;break}else{f[g>>2]=f[h>>2];a=i+284|0;f[a>>2]=(f[a>>2]|0)+1;a=26;break a}}else g=i+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}h=Dc(i,a,0)|0;a=26}else{g=h;if((f[i+304>>2]|0)>>>0<=g>>>0?(f[i+308>>2]|0)>>>0>g>>>0:0){if(!(0<0|(0==0?(j[i+276>>1]|0)>>>0>>0:0))){g=i;a=28;break}h=Lc(i,h,a,0)|0;a=26;break}h=Lc(i,h,a,0)|0;a=26}while(0);do if((a|0)==26)if(h){g=f[l>>2]|0;if(!g){a=30;break}else{a=28;break}}else{n=0;return n|0}while(0);if((a|0)==28){i=h;if((f[g+304>>2]|0)>>>0<=i>>>0?(f[g+308>>2]|0)>>>0>i>>>0:0)g=j[g+276>>1]|0;else a=30}if((a|0)==30)g=ib[f[37368>>2]&255](h)|0;f[l+52>>2]=g;f[m>>2]=(g>>>0)/20|0;f[k>>2]=h;g=f[n>>2]|0}else h=f[a+88>>2]|0;l=h+(g*20|0)|0;if((c|0)>0){i=l;k=0;g=e;while(1){e=b[g>>0]|0;b[i>>0]=e;f[i+4>>2]=b[g+1>>0];m=b[g+2>>0]|0;h=m<<24>>24;a=i+8|0;f[a>>2]=h;if(m<<24>>24>0?(b[23168+(e&255)>>0]&1)!=0:0)f[a>>2]=(f[n>>2]|0)+h;f[i+12>>2]=b[g+3>>0];b[i+1>>0]=0;f[i+16>>2]=0;d[i+2>>1]=0;k=k+1|0;if((k|0)==(c|0))break;else{i=i+20|0;g=g+4|0}}g=f[n>>2]|0}f[n>>2]=g+c;n=l;return n|0}function xl(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0.0,n=0,o=0,q=0,r=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=t;t=t+320|0;k=_+96|0;i=_+88|0;y=_+80|0;l=_+72|0;z=_+64|0;n=_+56|0;D=_+48|0;S=_;R=_+264|0;o=_+216|0;q=_+168|0;r=_+160|0;T=_+156|0;X=_+152|0;C=_+104|0;K=a+8|0;Z=f[K>>2]|0;f[T>>2]=0;f[X>>2]=0;if(!Z){e=0;t=_;return e|0}L=c;a:while(1){if(!L)B=110;else B=h[L>>0]|0;A=B&255;switch(A<<24>>24){case -96:{Y=6;break a}case -98:{Y=12;break a}case -113:{Y=36;break a}case -101:{Y=37;break a}case -115:{Y=40;break a}case 106:{Y=80;break a}case 110:{Y=87;break a}case -114:{Y=90;break a}case -112:{Y=127;break a}case -92:{Y=138;break a}case 36:{Y=139;break a}case -100:case 45:{Y=157;break a}case 53:case 52:case 57:case 54:case 55:case 56:{k=0;i=B;Y=158;break a}case 101:case 95:case 94:case 99:case 93:case 92:case 100:case 97:case 98:case 96:case 43:case 44:{Y=256;break a}case -95:{Y=259;break a}case 19:case 103:{Y=304;break a}case -93:{Y=307;break a}case 51:case 50:{Y=312;break a}case -97:{Y=324;break a}case -99:{Y=327;break a}case 127:case 20:{Y=476;break a}case -90:{Y=480;break a}case 49:{Y=492;break a}case 48:{Y=563;break a}case 77:{Y=568;break a}case -91:{Y=576;break a}case -89:{Y=577;break a}case 71:{Y=685;break a}case -94:case 102:case -87:break;default:{Y=584;break a}}L=f[L+12>>2]|0}b:switch(Y|0){case 6:{c=f[L+40>>2]|0;g=f[c+28>>2]|0;i=d[L+34>>1]|0;if(!(b[c>>0]|0)){e=f[g+(i*24|0)+16>>2]|0;t=_;return e|0}if(b[c+1>>0]|0){k=f[c+8>>2]|0;c=f[g+(i*24|0)+12>>2]|0;g=Z+136|0;i=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;Z=f[Z+88>>2]|0;b[Z+(i*20|0)>>0]=90;d[Z+(i*20|0)+2>>1]=0;f[Z+(i*20|0)+4>>2]=k;f[Z+(i*20|0)+8>>2]=c;f[Z+(i*20|0)+12>>2]=e;f[Z+(i*20|0)+16>>2]=0;b[Z+(i*20|0)+1>>0]=0;t=_;return e|0}else{tl(Z,90,k,c,e)|0;t=_;return e|0}}else Y=12;break}case 36:{Uo(a,L,0,e);t=_;return e|0}case 37:{c=(b[(f[L+8>>2]|0)+4>>0]|0)==0&1;g=Z+136|0;i=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;Z=f[Z+88>>2]|0;b[Z+(i*20|0)>>0]=70;d[Z+(i*20|0)+2>>1]=0;f[Z+(i*20|0)+4>>2]=c;f[Z+(i*20|0)+8>>2]=e;f[Z+(i*20|0)+12>>2]=0;f[Z+(i*20|0)+16>>2]=0;b[Z+(i*20|0)+1>>0]=0;t=_;return e|0}else{tl(Z,70,c,e,0)|0;t=_;return e|0}}case 40:{c=f[L+8>>2]|0;if(!c){t=_;return e|0}jf(c,S,(wz(c)|0)&1073741823,1)|0;i=f[Z>>2]|0;c:do if(f[i+272>>2]|0)if(!(b[i+81>>0]|0))Y=51;else Y=71;else{do if((j[i+276>>1]|0)>=8){c=i+300|0;g=f[c>>2]|0;if(g|0){f[c>>2]=f[g>>2];Y=i+284|0;f[Y>>2]=(f[Y>>2]|0)+1;Y=52;break c}c=i+296|0;g=f[c>>2]|0;if(!g){c=i+292|0;break}else{f[c>>2]=f[g>>2];Y=i+284|0;f[Y>>2]=(f[Y>>2]|0)+1;Y=52;break c}}else c=i+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;Y=51}while(0);if((Y|0)==51){g=Dc(i,8,0)|0;Y=52}do if((Y|0)==52)if(g){c=S;X=f[c>>2]|0;c=f[c+4>>2]|0;k=g;a=k;b[a>>0]=X;b[a+1>>0]=X>>8;b[a+2>>0]=X>>16;b[a+3>>0]=X>>24;k=k+4|0;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;k=Z+136|0;c=f[k>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(c|0)){f[k>>2]=c+1;a=f[Z+88>>2]|0;b[a+(c*20|0)>>0]=-115;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=0;f[a+(c*20|0)+8>>2]=e;f[a+(c*20|0)+12>>2]=0;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else c=tl(Z,141,0,e,0)|0;i=f[Z>>2]|0;if(!(b[i+81>>0]|0)){if((c|0)<0)c=(f[k>>2]|0)+-1|0;i=f[Z+88>>2]|0;k=i+(c*20|0)+1|0;if(!(b[k>>0]|0)){f[i+(c*20|0)+16>>2]=g;b[k>>0]=-13;break}else{ul(Z,i+(c*20|0)|0,g,-13);break}}if(i|0){if(f[i+480>>2]|0){Kc(i,g);break}Z=g;if((f[i+304>>2]|0)>>>0<=Z>>>0?(f[i+308>>2]|0)>>>0>Z>>>0:0){Z=i+300|0;f[g>>2]=f[Z>>2];f[Z>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{Z=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}else Y=71;while(0);if((Y|0)==71){g=Z+136|0;c=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(c|0)){f[g>>2]=c+1;a=f[Z+88>>2]|0;b[a+(c*20|0)>>0]=-115;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=0;f[a+(c*20|0)+8>>2]=e;f[a+(c*20|0)+12>>2]=0;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else c=tl(Z,141,0,e,0)|0;if(!(b[(f[Z>>2]|0)+81>>0]|0)){if((c|0)<0)c=(f[g>>2]|0)+-1|0;g=f[Z+88>>2]|0;if(b[g+(c*20|0)+1>>0]|0)ul(Z,g+(c*20|0)|0,0,-13)}}t=_;return e|0}case 80:{i=f[L+8>>2]|0;g=Z+136|0;c=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(c|0)){f[g>>2]=c+1;a=f[Z+88>>2]|0;b[a+(c*20|0)>>0]=106;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=0;f[a+(c*20|0)+8>>2]=e;f[a+(c*20|0)+12>>2]=0;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else c=tl(Z,106,0,e,0)|0;if(b[(f[Z>>2]|0)+81>>0]|0){t=_;return e|0}if((c|0)<0)c=(f[g>>2]|0)+-1|0;ul(Z,(f[Z+88>>2]|0)+(c*20|0)|0,i,0);t=_;return e|0}case 87:{c=Z+136|0;g=f[c>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(g|0)){f[c>>2]=g+1;Z=f[Z+88>>2]|0;b[Z+(g*20|0)>>0]=73;d[Z+(g*20|0)+2>>1]=0;f[Z+(g*20|0)+4>>2]=0;f[Z+(g*20|0)+8>>2]=e;f[Z+(g*20|0)+12>>2]=0;f[Z+(g*20|0)+16>>2]=0;b[Z+(g*20|0)+1>>0]=0;t=_;return e|0}else{tl(Z,73,0,e,0)|0;t=_;return e|0}}case 90:{o=(f[L+8>>2]|0)+2|0;n=(wz(o)|0)&1073741823;q=n+-1|0;g=f[Z>>2]|0;r=(q|0)/2|0;k=r+1|0;l=((k|0)<0)<<31>>31;d:do if(f[g+272>>2]|0)if(!(b[g+81>>0]|0))Y=100;else{k=0;l=1}else{do if(!(0>>0|(0==(l|0)?(j[g+276>>1]|0)>>>0>>0:0))){c=g+300|0;i=f[c>>2]|0;if(i|0){f[c>>2]=f[i>>2];Y=g+284|0;f[Y>>2]=(f[Y>>2]|0)+1;Y=101;break d}c=g+296|0;i=f[c>>2]|0;if(!i){c=g+292|0;break}else{f[c>>2]=f[i>>2];Y=g+284|0;f[Y>>2]=(f[Y>>2]|0)+1;Y=101;break d}}else c=g+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;Y=100}while(0);if((Y|0)==100){i=Dc(g,k,l)|0;Y=101}if((Y|0)==101){g=n+-2|0;if(!i){k=0;l=1}else{if(n>>>0>2){c=0;do{a=b[o+c>>0]|0;Y=b[o+(c|1)>>0]|0;b[i+(c>>>1)>>0]=(0-(Y>>>6&1)&9)+Y&15|(0-(a>>>6&1)&9)+a<<4;c=c+2|0}while((c|0)<(g|0));c=q>>>1}else c=0;b[i+c>>0]=0;k=i;l=0}}i=Z+136|0;c=f[i>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(c|0)){f[i>>2]=c+1;a=f[Z+88>>2]|0;b[a+(c*20|0)>>0]=75;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=r;f[a+(c*20|0)+8>>2]=e;f[a+(c*20|0)+12>>2]=0;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else c=tl(Z,75,r,e,0)|0;g=f[Z>>2]|0;if(!(b[g+81>>0]|0)){if((c|0)<0)c=(f[i>>2]|0)+-1|0;g=f[Z+88>>2]|0;i=g+(c*20|0)+1|0;if(b[i>>0]|0){ul(Z,g+(c*20|0)|0,k,-7);t=_;return e|0}if(l){t=_;return e|0}f[g+(c*20|0)+16>>2]=k;b[i>>0]=-7;t=_;return e|0}if(l){t=_;return e|0}if(g|0){if(f[g+480>>2]|0){Kc(g,k);t=_;return e|0}Z=k;if((f[g+304>>2]|0)>>>0<=Z>>>0?(f[g+308>>2]|0)>>>0>Z>>>0:0){Z=g+300|0;f[k>>2]=f[Z>>2];f[Z>>2]=k;t=_;return e|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);t=_;return e|0}else{Z=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-Z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);t=_;return e|0}}case 127:{i=L+32|0;c=d[i>>1]|0;l=Z+136|0;g=f[l>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(g|0)){f[l>>2]=g+1;Y=f[Z+88>>2]|0;b[Y+(g*20|0)>>0]=76;d[Y+(g*20|0)+2>>1]=0;f[Y+(g*20|0)+4>>2]=c;f[Y+(g*20|0)+8>>2]=e;f[Y+(g*20|0)+12>>2]=0;f[Y+(g*20|0)+16>>2]=0;b[Y+(g*20|0)+1>>0]=0}else tl(Z,76,c,e,0)|0;if(!(b[(f[L+8>>2]|0)+1>>0]|0)){t=_;return e|0}k=f[a+212>>2]|0;g=d[i>>1]|0;e:do if(!k)c=0;else{i=f[k+4>>2]|0;c=2;while(1){if((f[k+(c<<2)>>2]|0)==(g|0))break;c=(f[k+(c+1<<2)>>2]|0)+c|0;if((c|0)>=(i|0)){c=0;break e}}c=k+(c+2<<2)|0}while(0);f[k>>2]=0;if(b[(f[Z>>2]|0)+81>>0]|0){t=_;return e|0}a=f[Z+88>>2]|0;Z=(f[l>>2]|0)+-1|0;b[a+(Z*20|0)+1>>0]=-1;f[a+(Z*20|0)+16>>2]=c;t=_;return e|0}case 138:{e=f[L+28>>2]|0;t=_;return e|0}case 139:{c=xl(a,f[L+12>>2]|0,e)|0;do if((c|0)!=(e|0)){g=Z+136|0;i=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;a=f[Z+88>>2]|0;b[a+(i*20|0)>>0]=79;d[a+(i*20|0)+2>>1]=0;f[a+(i*20|0)+4>>2]=c;f[a+(i*20|0)+8>>2]=e;f[a+(i*20|0)+12>>2]=0;f[a+(i*20|0)+16>>2]=0;b[a+(i*20|0)+1>>0]=0;break}else{tl(Z,79,c,e,0)|0;break}}while(0);g=f[L+8>>2]|0;i=b[g>>0]|0;f:do if(!(i<<24>>24))c=67;else{c=67;k=0;do{k=k<<8|h[1232+(i&255)>>0];g=g+1|0;g:do if((k|0)<1685026146){if((k|0)<1667785074){switch(k|0){case 1651273570:break;default:{Y=152;break g}}switch(c<<24>>24){case 69:case 67:{c=65;break g}default:{Y=151;break g}}}if((k|0)<1668050786)switch(k|0){case 1667785074:{c=66;break g}default:{Y=152;break g}}else switch(k|0){case 1668050786:{c=66;break g}default:{Y=152;break g}}}else{if((k|0)>=1919246700){if((k|0)>=1952807028)switch(k|0){case 1952807028:{c=66;break g}default:{Y=152;break g}}switch(k|0){case 1919246700:break;default:{Y=152;break g}}if(c<<24>>24==67){c=69;break}else{Y=151;break}}if((k|0)<1718382433){switch(k|0){case 1685026146:break;default:{Y=152;break g}}if(c<<24>>24==67){c=69;break}}else{switch(k|0){case 1718382433:break;default:{Y=152;break g}}if(c<<24>>24==67){c=69;break}}}while(0);if((Y|0)==151)Y=0;else if((Y|0)==152){Y=0;if((k&16777215|0)==6909556){c=68;break f}}i=b[g>>0]|0}while(i<<24>>24!=0)}while(0);c=c<<24>>24;g=Z+136|0;i=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;Z=f[Z+88>>2]|0;b[Z+(i*20|0)>>0]=85;d[Z+(i*20|0)+2>>1]=0;f[Z+(i*20|0)+4>>2]=e;f[Z+(i*20|0)+8>>2]=c;f[Z+(i*20|0)+12>>2]=0;f[Z+(i*20|0)+16>>2]=0;b[Z+(i*20|0)+1>>0]=0;t=_;return e|0}else{tl(Z,85,e,c,0)|0;t=_;return e|0}}case 157:{k=128;i=(B|0)==45?53:52;Y=158;break}case 256:{k=Dm(a,f[L+12>>2]|0,T)|0;c=Dm(a,f[L+16>>2]|0,X)|0;g=Z+136|0;i=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;Z=f[Z+88>>2]|0;b[Z+(i*20|0)>>0]=A;d[Z+(i*20|0)+2>>1]=0;f[Z+(i*20|0)+4>>2]=c;f[Z+(i*20|0)+8>>2]=k;f[Z+(i*20|0)+12>>2]=e;f[Z+(i*20|0)+16>>2]=0;b[Z+(i*20|0)+1>>0]=0;k=e;break}else{tl(Z,B,c,k,e)|0;k=e;break}}case 259:{g=L+12|0;c=f[g>>2]|0;switch(b[c>>0]|0){case -113:{Uo(a,c,1,e);t=_;return e|0}case -115:{c=f[c+8>>2]|0;if(!c){t=_;return e|0}jf(c,S,(wz(c)|0)&1073741823,1)|0;m=-+p[S>>3];p[S>>3]=m;i=f[Z>>2]|0;h:do if(f[i+272>>2]|0)if(!(b[i+81>>0]|0))Y=272;else Y=292;else{do if((j[i+276>>1]|0)>=8){c=i+300|0;g=f[c>>2]|0;if(g|0){f[c>>2]=f[g>>2];Y=i+284|0;f[Y>>2]=(f[Y>>2]|0)+1;Y=273;break h}c=i+296|0;g=f[c>>2]|0;if(!g){c=i+292|0;break}else{f[c>>2]=f[g>>2];Y=i+284|0;f[Y>>2]=(f[Y>>2]|0)+1;Y=273;break h}}else c=i+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;Y=272}while(0);if((Y|0)==272){g=Dc(i,8,0)|0;Y=273}do if((Y|0)==273)if(g){p[s>>3]=m;b[g>>0]=b[s>>0];b[g+1>>0]=b[s+1>>0];b[g+2>>0]=b[s+2>>0];b[g+3>>0]=b[s+3>>0];b[g+4>>0]=b[s+4>>0];b[g+5>>0]=b[s+5>>0];b[g+6>>0]=b[s+6>>0];b[g+7>>0]=b[s+7>>0];k=Z+136|0;c=f[k>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(c|0)){f[k>>2]=c+1;a=f[Z+88>>2]|0;b[a+(c*20|0)>>0]=-115;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=0;f[a+(c*20|0)+8>>2]=e;f[a+(c*20|0)+12>>2]=0;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else c=tl(Z,141,0,e,0)|0;i=f[Z>>2]|0;if(!(b[i+81>>0]|0)){if((c|0)<0)c=(f[k>>2]|0)+-1|0;i=f[Z+88>>2]|0;k=i+(c*20|0)+1|0;if(!(b[k>>0]|0)){f[i+(c*20|0)+16>>2]=g;b[k>>0]=-13;break}else{ul(Z,i+(c*20|0)|0,g,-13);break}}if(i|0){if(f[i+480>>2]|0){Kc(i,g);break}Z=g;if((f[i+304>>2]|0)>>>0<=Z>>>0?(f[i+308>>2]|0)>>>0>Z>>>0:0){Z=i+300|0;f[g>>2]=f[Z>>2];f[Z>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{Z=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}else Y=292;while(0);if((Y|0)==292){g=Z+136|0;c=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(c|0)){f[g>>2]=c+1;a=f[Z+88>>2]|0;b[a+(c*20|0)>>0]=-115;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=0;f[a+(c*20|0)+8>>2]=e;f[a+(c*20|0)+12>>2]=0;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else c=tl(Z,141,0,e,0)|0;if(!(b[(f[Z>>2]|0)+81>>0]|0)){if((c|0)<0)c=(f[g>>2]|0)+-1|0;g=f[Z+88>>2]|0;if(b[g+(c*20|0)+1>>0]|0)ul(Z,g+(c*20|0)|0,0,-13)}}t=_;return e|0}default:{b[C>>0]=-113;f[C+4>>2]=17408;f[C+8>>2]=0;k=Dm(a,C,T)|0;c=Dm(a,f[g>>2]|0,X)|0;g=Z+136|0;i=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;Z=f[Z+88>>2]|0;b[Z+(i*20|0)>>0]=97;d[Z+(i*20|0)+2>>1]=0;f[Z+(i*20|0)+4>>2]=c;f[Z+(i*20|0)+8>>2]=k;f[Z+(i*20|0)+12>>2]=e;f[Z+(i*20|0)+16>>2]=0;b[Z+(i*20|0)+1>>0]=0;k=e;break b}else{tl(Z,97,c,k,e)|0;k=e;break b}}}}case 304:{c=Dm(a,f[L+12>>2]|0,T)|0;g=Z+136|0;i=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;k=f[Z+88>>2]|0;b[k+(i*20|0)>>0]=A;d[k+(i*20|0)+2>>1]=0;f[k+(i*20|0)+4>>2]=c;f[k+(i*20|0)+8>>2]=e;f[k+(i*20|0)+12>>2]=0;f[k+(i*20|0)+16>>2]=0;b[k+(i*20|0)+1>>0]=0;k=e;break}else{tl(Z,B,c,e,0)|0;k=e;break}}case 307:{i=Dm(a,f[L+12>>2]|0,T)|0;l=(b[(f[(f[L+16>>2]|0)+8>>2]|0)+4>>0]|0)==0;k=(l^1)&1;l=(l^(b[L+38>>0]|0)==45)&1;g=Z+136|0;c=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(c|0)){f[g>>2]=c+1;S=f[Z+88>>2]|0;b[S+(c*20|0)>>0]=88;d[S+(c*20|0)+2>>1]=0;f[S+(c*20|0)+4>>2]=i;f[S+(c*20|0)+8>>2]=e;f[S+(c*20|0)+12>>2]=k;f[S+(c*20|0)+16>>2]=0;b[S+(c*20|0)+1>>0]=0}else c=tl(Z,88,i,e,k)|0;if(!(b[(f[Z>>2]|0)+81>>0]|0)){k=f[Z+88>>2]|0;b[k+(c*20|0)+1>>0]=-3;f[k+(c*20|0)+16>>2]=l;k=e}else k=e;break}case 312:{g=Z+136|0;c=f[g>>2]|0;k=Z+12|0;if((f[(f[k>>2]|0)+48>>2]|0)>(c|0)){f[g>>2]=c+1;S=f[Z+88>>2]|0;b[S+(c*20|0)>>0]=70;d[S+(c*20|0)+2>>1]=0;f[S+(c*20|0)+4>>2]=1;f[S+(c*20|0)+8>>2]=e;f[S+(c*20|0)+12>>2]=0;f[S+(c*20|0)+16>>2]=0;b[S+(c*20|0)+1>>0]=0}else tl(Z,70,1,e,0)|0;c=Dm(a,f[L+12>>2]|0,T)|0;i=f[g>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;S=f[Z+88>>2]|0;b[S+(i*20|0)>>0]=A;d[S+(i*20|0)+2>>1]=0;f[S+(i*20|0)+4>>2]=c;f[S+(i*20|0)+8>>2]=0;f[S+(i*20|0)+12>>2]=0;f[S+(i*20|0)+16>>2]=0;b[S+(i*20|0)+1>>0]=0}else i=tl(Z,B,c,0,0)|0;c=f[g>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(c|0)){f[g>>2]=c+1;S=f[Z+88>>2]|0;b[S+(c*20|0)>>0]=70;d[S+(c*20|0)+2>>1]=0;f[S+(c*20|0)+4>>2]=0;f[S+(c*20|0)+8>>2]=e;f[S+(c*20|0)+12>>2]=0;f[S+(c*20|0)+16>>2]=0;b[S+(c*20|0)+1>>0]=0}else tl(Z,70,0,e,0)|0;g=f[g>>2]|0;if(!(b[(f[Z>>2]|0)+81>>0]|0))c=(f[Z+88>>2]|0)+(((i|0)<0?g+-1|0:i)*20|0)|0;else c=72144;f[c+8>>2]=g;k=e;break}case 324:{c=f[L+40>>2]|0;if(!c){f[n>>2]=f[L+8>>2];ni(a,59301,n);k=e;break}e=f[(f[c+40>>2]|0)+(d[L+34>>1]<<4)+8>>2]|0;t=_;return e|0}case 327:{A=f[a>>2]|0;g=b[A+78>>0]|0;y=L+4|0;c=f[y>>2]|0;if(c&16777216|0){e=f[(f[L+44>>2]|0)+44>>2]|0;t=_;return e|0}do if(b[a+23>>0]|0){R=S+20|0;b[R>>0]=2;f[S+4>>2]=155;f[S+8>>2]=156;f[S+24>>2]=0;oi(S,L)|0;if(!(b[R>>0]|0)){c=f[y>>2]|0;break}e=Pm(a,L,-1)|0;t=_;return e|0}while(0);if((c&16384|0)==0?(x=f[L+20>>2]|0,(x|0)!=0):0){B=x;x=f[x>>2]|0;r=1}else{B=0;x=0;r=0}c=f[L+8>>2]|0;w=Rk(A,c,x,g,0)|0;if(w|0?(f[w+20>>2]|0)==0:0){u=w+4|0;c=f[u>>2]|0;if(c&512|0){r=Z+12|0;c=f[r>>2]|0;o=c+60|0;u=f[o>>2]|0;f[o>>2]=u+1;o=c+64|0;if(!(u+-1&u)){l=u<<3|4;n=f[c>>2]|0;c=f[o>>2]|0;i:do if(c){i=c;k=n+304|0;if(((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;g=Lc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Kc(n,c);c=0;break}if((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0){S=n+300|0;f[c>>2]=f[S>>2];f[S>>2]=c;c=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=0;break}else{S=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=0;break}}else c=g}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){c=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){g=n+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];S=n+284|0;f[S>>2]=(f[S>>2]|0)+1;break i}g=n+296|0;c=f[g>>2]|0;if(!c){c=n+292|0;break}else{f[g>>2]=f[c>>2];S=n+284|0;f[S>>2]=(f[S>>2]|0)+1;break i}}else c=n+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(n,l,0)|0}while(0);f[o>>2]=c}else c=f[o>>2]|0;if(c|0)f[c+(u<<2)>>2]=-1;q=~u;c=f[B+4>>2]|0;do if(c){if((b[c>>0]|0)!=-92){F=xl(a,c,e)|0;Y=376;break}k=f[K>>2]|0;c=f[c+28>>2]|0;g=k+136|0;i=f[g>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;S=f[k+88>>2]|0;b[S+(i*20|0)>>0]=78;d[S+(i*20|0)+2>>1]=0;f[S+(i*20|0)+4>>2]=c;f[S+(i*20|0)+8>>2]=e;f[S+(i*20|0)+12>>2]=0;f[S+(i*20|0)+16>>2]=0;b[S+(i*20|0)+1>>0]=0;break}else{tl(k,78,c,e,0)|0;break}}else{F=xl(a,0,e)|0;Y=376}while(0);do if(((Y|0)==376?(F|0)!=(e|0):0)?(E=f[K>>2]|0,E|0):0){c=E+136|0;g=f[c>>2]|0;if((f[(f[E+12>>2]|0)+48>>2]|0)>(g|0)){f[c>>2]=g+1;S=f[E+88>>2]|0;b[S+(g*20|0)>>0]=79;d[S+(g*20|0)+2>>1]=0;f[S+(g*20|0)+4>>2]=F;f[S+(g*20|0)+8>>2]=e;f[S+(g*20|0)+12>>2]=0;f[S+(g*20|0)+16>>2]=0;b[S+(g*20|0)+1>>0]=0;break}else{tl(E,79,F,e,0)|0;break}}while(0);if((x|0)>1){n=Z+136|0;o=Z+88|0;l=1;do{c=f[n>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(c|0)){f[n>>2]=c+1;S=f[o>>2]|0;b[S+(c*20|0)>>0]=51;d[S+(c*20|0)+2>>1]=0;f[S+(c*20|0)+4>>2]=e;f[S+(c*20|0)+8>>2]=q;f[S+(c*20|0)+12>>2]=0;f[S+(c*20|0)+16>>2]=0;b[S+(c*20|0)+1>>0]=0}else tl(Z,51,e,q,0)|0;c=f[B+4+(l*20|0)>>2]|0;do if(c){if((b[c>>0]|0)!=-92){G=xl(a,c,e)|0;Y=393;break}k=f[K>>2]|0;c=f[c+28>>2]|0;g=k+136|0;i=f[g>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;S=f[k+88>>2]|0;b[S+(i*20|0)>>0]=78;d[S+(i*20|0)+2>>1]=0;f[S+(i*20|0)+4>>2]=c;f[S+(i*20|0)+8>>2]=e;f[S+(i*20|0)+12>>2]=0;f[S+(i*20|0)+16>>2]=0;b[S+(i*20|0)+1>>0]=0;break}else{tl(k,78,c,e,0)|0;break}}else{G=xl(a,0,e)|0;Y=393}while(0);do if((Y|0)==393?(Y=0,(G|0)!=(e|0)):0){c=f[K>>2]|0;if(!c)break;g=c+136|0;i=f[g>>2]|0;if((f[(f[c+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;S=f[c+88>>2]|0;b[S+(i*20|0)>>0]=79;d[S+(i*20|0)+2>>1]=0;f[S+(i*20|0)+4>>2]=G;f[S+(i*20|0)+8>>2]=e;f[S+(i*20|0)+12>>2]=0;f[S+(i*20|0)+16>>2]=0;b[S+(i*20|0)+1>>0]=0;break}else{tl(c,79,G,e,0)|0;break}}while(0);l=l+1|0}while((l|0)!=(x|0))}c=f[(f[r>>2]|0)+64>>2]|0;if(!c){k=e;break}f[c+(u<<2)>>2]=f[Z+136>>2];k=e;break}if(c&1024|0){e=xl(a,f[B+4>>2]|0,e)|0;t=_;return e|0}if((x|0)>0){k=S+20|0;n=S+4|0;o=S+8|0;q=S+24|0;c=0;l=0;i=0;do{if(i>>>0<32){g=f[B+4+(i*20|0)>>2]|0;b[k>>0]=1;f[n>>2]=155;f[o>>2]=156;f[q>>2]=0;if(!g)g=1<>0]|0)==0?0:1<>2]&32|0)==0))l=Zk(a,f[B+4+(i*20|0)>>2]|0)|0;i=i+1|0}while((i|0)!=(x|0));v=c}else{v=0;l=0}if(r){do if(!v)if((x|0)==1){c=a+19|0;g=b[c>>0]|0;if(!(g<<24>>24)){X=a+44|0;i=(f[X>>2]|0)+1|0;f[X>>2]=i;break}else{i=g+-1<<24>>24;b[c>>0]=i;i=f[a+144+((i&255)<<2)>>2]|0;break}}else{c=a+32|0;i=f[c>>2]|0;g=a+28|0;k=f[g>>2]|0;if((k|0)<(x|0)){X=a+44|0;i=f[X>>2]|0;f[X>>2]=i+x;i=i+1|0;break}else{f[c>>2]=i+x;f[g>>2]=k-x;break}}else{X=a+44|0;i=f[X>>2]|0;f[X>>2]=i+x;i=i+1|0}while(0);c=f[u>>2]&192;j:do if(c|0){g=f[B+4>>2]|0;switch(b[g>>0]|0){case -96:case -98:break;default:break j}b[g+38>>0]=c}while(0);Jo(a,B,i,0,3);q=i}else q=0;if((x|0)>1)if(!(f[y>>2]&128))Y=431;else{c=B+24|0;Y=432}else if((x|0)==1)Y=431;else o=w;if((Y|0)==431){c=B+4|0;Y=432}if((Y|0)==432)o=Vo(A,w,x,f[c>>2]|0)|0;do if(f[o+4>>2]&32){if(!l)l=f[A+8>>2]|0;n=Z+136|0;c=f[n>>2]|0;g=Z+12|0;if((f[(f[g>>2]|0)+48>>2]|0)>(c|0)){f[n>>2]=c+1;k=f[Z+88>>2]|0;b[k+(c*20|0)>>0]=82;k=k+(c*20|0)+1|0;i=k+19|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(i|0))}else c=tl(Z,82,0,0,0)|0;if(!(b[(f[Z>>2]|0)+81>>0]|0)){if((c|0)<0)c=(f[n>>2]|0)+-1|0;i=f[Z+88>>2]|0;k=i+(c*20|0)+1|0;if(b[k>>0]|0){ul(Z,i+(c*20|0)|0,l,-2);break}if(!l)break;f[i+(c*20|0)+16>>2]=l;b[k>>0]=-2}}else{n=Z+136|0;g=Z+12|0}while(0);i=(f[a+56>>2]|0)==0?63:62;c=f[n>>2]|0;if((f[(f[g>>2]|0)+48>>2]|0)>(c|0)){f[n>>2]=c+1;Y=f[Z+88>>2]|0;b[Y+(c*20|0)>>0]=i;d[Y+(c*20|0)+2>>1]=0;f[Y+(c*20|0)+4>>2]=v;f[Y+(c*20|0)+8>>2]=q;f[Y+(c*20|0)+12>>2]=e;f[Y+(c*20|0)+16>>2]=0;b[Y+(c*20|0)+1>>0]=0}else c=tl(Z,i,v,q,e)|0;g=f[Z>>2]|0;k:do if(!(b[g+81>>0]|0)){if((c|0)<0)c=(f[n>>2]|0)+-1|0;g=f[Z+88>>2]|0;i=g+(c*20|0)+1|0;if(b[i>>0]|0){ul(Z,g+(c*20|0)|0,o,-8);break}if(o|0){f[g+(c*20|0)+16>>2]=o;b[i>>0]=-8}}else if(f[o+4>>2]&16|0){do if(g|0){if(f[g+480>>2]|0){Kc(g,o);break k}c=o;if((f[g+304>>2]|0)>>>0>c>>>0)break;if((f[g+308>>2]|0)>>>0<=c>>>0)break;Y=g+300|0;f[o>>2]=f[Y>>2];f[Y>>2]=o;break k}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{Y=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-Y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);c=f[n>>2]|0;if((c|0)>0)d[(f[Z+88>>2]|0)+((c+-1|0)*20|0)+2>>1]=x&255;if(!((x|0)!=0&(v|0)==0)){t=_;return e|0}if((x|0)!=1){c=a+28|0;if((f[c>>2]|0)>=(x|0)){t=_;return e|0}f[c>>2]=x;f[a+32>>2]=q;t=_;return e|0}if(!q){t=_;return e|0}c=a+19|0;g=b[c>>0]|0;if((g&255)>=8){t=_;return e|0}b[c>>0]=g+1<<24>>24;f[a+144+((g&255)<<2)>>2]=q;t=_;return e|0}f[z>>2]=c;ni(a,59327,z);k=e;break}case 476:{if((B|0)==127?(g=f[f[f[L+20>>2]>>2]>>2]|0,(g|0)!=1):0){f[l>>2]=g;f[l+4>>2]=1;ni(a,54847,l);k=e;break}e=Mm(a,L,0,0)|0;t=_;return e|0}case 480:{k=L+12|0;c=f[k>>2]|0;if(!(f[c+28>>2]|0)){e=Mm(a,c,0,0)|0;c=f[k>>2]|0;f[c+28>>2]=e}i=f[L+28>>2]|0;if(i){g=b[c>>0]|0;if(g<<24>>24==-92)g=b[c+38>>0]|0;switch(g<<24>>24){case -91:{g=c+20|0;Y=488;break}case 127:{g=f[c+20>>2]|0;Y=488;break}default:g=1}if((Y|0)==488)g=f[f[g>>2]>>2]|0;if((i|0)!=(g|0)){f[y>>2]=i;f[y+4>>2]=g;ni(a,57042,y);c=f[k>>2]|0}}e=(f[c+28>>2]|0)+(d[L+32>>1]|0)|0;t=_;return e|0}case 492:{v=Z+12|0;c=f[v>>2]|0;o=c+60|0;u=f[o>>2]|0;f[o>>2]=u+1;o=c+64|0;if(!(u+-1&u)){l=u<<3|4;n=f[c>>2]|0;c=f[o>>2]|0;l:do if(c){i=c;k=n+304|0;if(((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;g=Lc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Kc(n,c);c=0;break}if((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0){Y=n+300|0;f[c>>2]=f[Y>>2];f[Y>>2]=c;c=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=0;break}else{Y=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-Y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=0;break}}else c=g}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){c=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){g=n+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];Y=n+284|0;f[Y>>2]=(f[Y>>2]|0)+1;break l}g=n+296|0;c=f[g>>2]|0;if(!c){c=n+292|0;break}else{f[g>>2]=f[c>>2];Y=n+284|0;f[Y>>2]=(f[Y>>2]|0)+1;break l}}else c=n+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(n,l,0)|0}while(0);f[o>>2]=c}else c=f[o>>2]|0;if(c|0)f[c+(u<<2)>>2]=-1;q=~u;c=f[v>>2]|0;o=c+60|0;r=f[o>>2]|0;f[o>>2]=r+1;o=c+64|0;if(!(r+-1&r)){l=r<<3|4;n=f[c>>2]|0;c=f[o>>2]|0;m:do if(c){i=c;k=n+304|0;if(((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;g=Lc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Kc(n,c);c=0;break}if((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0){Y=n+300|0;f[c>>2]=f[Y>>2];f[Y>>2]=c;c=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=0;break}else{Y=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-Y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=0;break}}else c=g}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){c=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){g=n+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];Y=n+284|0;f[Y>>2]=(f[Y>>2]|0)+1;break m}g=n+296|0;c=f[g>>2]|0;if(!c){c=n+292|0;break}else{f[g>>2]=f[c>>2];Y=n+284|0;f[Y>>2]=(f[Y>>2]|0)+1;break m}}else c=n+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(n,l,0)|0}while(0);f[o>>2]=c}else c=f[o>>2]|0;if(c|0)f[c+(r<<2)>>2]=-1;i=Z+136|0;c=f[i>>2]|0;if((f[(f[v>>2]|0)+48>>2]|0)>(c|0)){f[i>>2]=c+1;Y=f[Z+88>>2]|0;b[Y+(c*20|0)>>0]=73;d[Y+(c*20|0)+2>>1]=0;f[Y+(c*20|0)+4>>2]=0;f[Y+(c*20|0)+8>>2]=e;f[Y+(c*20|0)+12>>2]=0;f[Y+(c*20|0)+16>>2]=0;b[Y+(c*20|0)+1>>0]=0}else tl(Z,73,0,e,0)|0;Gm(a,L,q,~r);c=f[i>>2]|0;if((f[(f[v>>2]|0)+48>>2]|0)>(c|0)){f[i>>2]=c+1;a=f[Z+88>>2]|0;b[a+(c*20|0)>>0]=70;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=1;f[a+(c*20|0)+8>>2]=e;f[a+(c*20|0)+12>>2]=0;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else tl(Z,70,1,e,0)|0;g=f[v>>2]|0;c=f[g+64>>2]|0;if(c|0)f[c+(u<<2)>>2]=f[i>>2];c=f[i>>2]|0;if((f[g+48>>2]|0)>(c|0)){f[i>>2]=c+1;Z=f[Z+88>>2]|0;b[Z+(c*20|0)>>0]=83;d[Z+(c*20|0)+2>>1]=0;f[Z+(c*20|0)+4>>2]=e;f[Z+(c*20|0)+8>>2]=0;f[Z+(c*20|0)+12>>2]=0;f[Z+(c*20|0)+16>>2]=0;b[Z+(c*20|0)+1>>0]=0}else tl(Z,83,e,0,0)|0;c=f[(f[v>>2]|0)+64>>2]|0;if(!c){t=_;return e|0}f[c+(r<<2)>>2]=f[i>>2];t=_;return e|0}case 563:{f[r>>2]=0;k=R;i=k+48|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(i|0));k=o;i=k+48|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(i|0));k=S;i=k+48|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(i|0));k=q;c=f[L+12>>2]|0;i=k+48|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(i|0));b[S>>0]=44;f[S+12>>2]=R;f[S+16>>2]=o;b[R>>0]=57;f[R+12>>2]=q;c=f[L+20>>2]|0;f[R+16>>2]=f[c+4>>2];b[o>>0]=55;f[o+12>>2]=q;f[o+16>>2]=f[c+24>>2];c=Fm(a,q,r)|0;b[q+38>>0]=b[q>>0]|0;b[q>>0]=-92;f[q+28>>2]=c;c=q+4|0;f[c>>2]=f[c>>2]&-4098|1;xl(a,S,e)|0;c=f[r>>2]|0;if(c|0?(u=a+19|0,v=b[u>>0]|0,(v&255)<8):0){b[u>>0]=v+1<<24>>24;f[a+144+((v&255)<<2)>>2]=c}t=_;return e|0}case 568:{k=f[L+44>>2]|0;g=U((d[k+42>>1]|0)+1|0,f[L+28>>2]|0)|0;c=L+32|0;g=(d[c>>1]|0)+1+g|0;l=Z+136|0;i=f[l>>2]|0;n=Z+12|0;if((f[(f[n>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;S=f[Z+88>>2]|0;b[S+(i*20|0)>>0]=-106;d[S+(i*20|0)+2>>1]=0;f[S+(i*20|0)+4>>2]=g;f[S+(i*20|0)+8>>2]=e;f[S+(i*20|0)+12>>2]=0;f[S+(i*20|0)+16>>2]=0;b[S+(i*20|0)+1>>0]=0}else tl(Z,150,g,e,0)|0;S=d[c>>1]|0;if(S<<16>>16>-1?(b[(f[k+4>>2]|0)+(S<<16>>16<<4)+13>>0]|0)==69:0){c=f[l>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(c|0)){f[l>>2]=c+1;k=f[Z+88>>2]|0;b[k+(c*20|0)>>0]=84;d[k+(c*20|0)+2>>1]=0;f[k+(c*20|0)+4>>2]=e;f[k+(c*20|0)+8>>2]=0;f[k+(c*20|0)+12>>2]=0;f[k+(c*20|0)+16>>2]=0;b[k+(c*20|0)+1>>0]=0;k=e;break}else{tl(Z,84,e,0,0)|0;k=e;break}}else k=e;break}case 576:{ni(a,49666,i);k=e;break}case 577:{c=f[L+28>>2]|0;i=Z+136|0;g=f[i>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(g|0)){f[i>>2]=g+1;S=f[Z+88>>2]|0;b[S+(g*20|0)>>0]=21;d[S+(g*20|0)+2>>1]=0;f[S+(g*20|0)+4>>2]=c;f[S+(g*20|0)+8>>2]=0;f[S+(g*20|0)+12>>2]=0;f[S+(g*20|0)+16>>2]=0;b[S+(g*20|0)+1>>0]=0}else g=tl(Z,21,c,0,0)|0;k=xl(a,f[L+12>>2]|0,e)|0;c=f[i>>2]|0;if(!(b[(f[Z>>2]|0)+81>>0]|0)){e=(g|0)<0?c+-1|0:g;Z=f[Z+88>>2]|0;f[Z+(e*20|0)+8>>2]=c;c=Z+(e*20|0)|0}else{f[18038]=c;c=72144}f[c+12>>2]=k;break}case 584:{B=f[L+20>>2]|0;D=f[B>>2]|0;E=Z+12|0;c=f[E>>2]|0;o=c+60|0;F=f[o>>2]|0;f[o>>2]=F+1;o=c+64|0;if(!(F+-1&F)){l=F<<3|4;n=f[c>>2]|0;c=f[o>>2]|0;n:do if(c){i=c;k=n+304|0;if(((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;g=Lc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Kc(n,c);c=0;break}if((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0){R=n+300|0;f[c>>2]=f[R>>2];f[R>>2]=c;c=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=0;break}else{R=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=0;break}}else c=g}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){c=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){g=n+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];R=n+284|0;f[R>>2]=(f[R>>2]|0)+1;break n}g=n+296|0;c=f[g>>2]|0;if(!c){c=n+292|0;break}else{f[g>>2]=f[c>>2];R=n+284|0;f[R>>2]=(f[R>>2]|0)+1;break n}}else c=n+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(n,l,0)|0}while(0);f[o>>2]=c}else c=f[o>>2]|0;if(c|0)f[c+(F<<2)>>2]=-1;A=~F;c=f[L+12>>2]|0;z=(c|0)!=0;if(z){k=C;i=k+48|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(i|0));k=Fm(a,C,T)|0;b[C+38>>0]=b[C>>0]|0;b[C>>0]=-92;f[C+28>>2]=k;k=C+4|0;f[k>>2]=f[k>>2]&-4097;k=S;i=k+48|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(i|0));b[S>>0]=53;f[S+12>>2]=C;f[T>>2]=0;c=S}else c=0;y=D+-1|0;if((D|0)>1){v=S+16|0;w=Z+136|0;x=Z+88|0;u=0;do{g=f[B+4+(u*20|0)>>2]|0;if(z)f[v>>2]=g;else c=g;g=f[E>>2]|0;q=g+60|0;r=f[q>>2]|0;f[q>>2]=r+1;q=g+64|0;if(!(r+-1&r)){n=r<<3|4;o=f[g>>2]|0;g=f[q>>2]|0;o:do if(g){k=g;l=o+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[o+308>>2]|0)>>>0>k>>>0:0)?!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)):0)break;i=Lc(o,g,n,0)|0;if(!i){if(f[o+480>>2]|0){Kc(o,g);g=0;break}if((f[l>>2]|0)>>>0<=k>>>0?(f[o+308>>2]|0)>>>0>k>>>0:0){S=o+300|0;f[g>>2]=f[S>>2];f[S>>2]=g;g=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{S=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else g=i}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){i=o+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];S=o+284|0;f[S>>2]=(f[S>>2]|0)+1;break o}i=o+296|0;g=f[i>>2]|0;if(!g){g=o+292|0;break}else{f[i>>2]=f[g>>2];S=o+284|0;f[S>>2]=(f[S>>2]|0)+1;break o}}else g=o+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(o,n,0)|0}while(0);f[q>>2]=g}else g=f[q>>2]|0;if(g|0)f[g+(r<<2)>>2]=-1;zm(a,c,~r,16);g=f[B+4+((u|1)*20|0)>>2]|0;do if(g){if((b[g>>0]|0)!=-92){I=xl(a,g,e)|0;Y=655;break}l=f[K>>2]|0;g=f[g+28>>2]|0;i=l+136|0;k=f[i>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;S=f[l+88>>2]|0;b[S+(k*20|0)>>0]=78;d[S+(k*20|0)+2>>1]=0;f[S+(k*20|0)+4>>2]=g;f[S+(k*20|0)+8>>2]=e;f[S+(k*20|0)+12>>2]=0;f[S+(k*20|0)+16>>2]=0;b[S+(k*20|0)+1>>0]=0;break}else{tl(l,78,g,e,0)|0;break}}else{I=xl(a,0,e)|0;Y=655}while(0);do if(((Y|0)==655?(Y=0,(I|0)!=(e|0)):0)?(H=f[K>>2]|0,H|0):0){g=H+136|0;i=f[g>>2]|0;if((f[(f[H+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;S=f[H+88>>2]|0;b[S+(i*20|0)>>0]=79;d[S+(i*20|0)+2>>1]=0;f[S+(i*20|0)+4>>2]=I;f[S+(i*20|0)+8>>2]=e;f[S+(i*20|0)+12>>2]=0;f[S+(i*20|0)+16>>2]=0;b[S+(i*20|0)+1>>0]=0;break}else{tl(H,79,I,e,0)|0;break}}while(0);g=f[w>>2]|0;if((f[(f[E>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;S=f[x>>2]|0;b[S+(g*20|0)>>0]=11;d[S+(g*20|0)+2>>1]=0;f[S+(g*20|0)+4>>2]=0;f[S+(g*20|0)+8>>2]=A;f[S+(g*20|0)+12>>2]=0;f[S+(g*20|0)+16>>2]=0;b[S+(g*20|0)+1>>0]=0}else tl(Z,11,0,A,0)|0;g=f[(f[E>>2]|0)+64>>2]|0;if(g|0)f[g+(r<<2)>>2]=f[w>>2];u=u+2|0}while((u|0)<(y|0))}p:do if(!(D&1)){c=Z+136|0;g=f[c>>2]|0;if((f[(f[E>>2]|0)+48>>2]|0)>(g|0)){f[c>>2]=g+1;S=f[Z+88>>2]|0;b[S+(g*20|0)>>0]=73;d[S+(g*20|0)+2>>1]=0;f[S+(g*20|0)+4>>2]=0;f[S+(g*20|0)+8>>2]=e;f[S+(g*20|0)+12>>2]=0;f[S+(g*20|0)+16>>2]=0;b[S+(g*20|0)+1>>0]=0;break}else{tl(Z,73,0,e,0)|0;break}}else{c=f[B+4+(y*20|0)>>2]|0;do if(c){if((b[c>>0]|0)!=-92){i=xl(a,c,e)|0;break}k=f[K>>2]|0;c=f[c+28>>2]|0;g=k+136|0;i=f[g>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;S=f[k+88>>2]|0;b[S+(i*20|0)>>0]=78;d[S+(i*20|0)+2>>1]=0;f[S+(i*20|0)+4>>2]=c;f[S+(i*20|0)+8>>2]=e;f[S+(i*20|0)+12>>2]=0;f[S+(i*20|0)+16>>2]=0;b[S+(i*20|0)+1>>0]=0;break p}else{tl(k,78,c,e,0)|0;break p}}else i=xl(a,0,e)|0;while(0);if((i|0)!=(e|0)?(J=f[K>>2]|0,J|0):0){c=J+136|0;g=f[c>>2]|0;if((f[(f[J+12>>2]|0)+48>>2]|0)>(g|0)){f[c>>2]=g+1;S=f[J+88>>2]|0;b[S+(g*20|0)>>0]=79;d[S+(g*20|0)+2>>1]=0;f[S+(g*20|0)+4>>2]=i;f[S+(g*20|0)+8>>2]=e;f[S+(g*20|0)+12>>2]=0;f[S+(g*20|0)+16>>2]=0;b[S+(g*20|0)+1>>0]=0;break}else{tl(J,79,i,e,0)|0;break}}}while(0);c=f[(f[E>>2]|0)+64>>2]|0;if(c|0)f[c+(F<<2)>>2]=f[Z+136>>2];k=e;break}case 685:{if(!(f[a+120>>2]|0)){ni(a,59350,k);e=0;t=_;return e|0}c=b[L+1>>0]|0;switch(c<<24>>24){case 2:{k=f[a+116>>2]|0;b[((k|0)==0?a:k)+21>>0]=1;k=f[L+8>>2]|0;g=f[a+116>>2]|0;b[((g|0)==0?a:g)+21>>0]=1;g=2;break}case 4:{i=f[L+8>>2]|0;g=Z+136|0;c=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(c|0)){f[g>>2]=c+1;S=f[Z+88>>2]|0;b[S+(c*20|0)>>0]=69;d[S+(c*20|0)+2>>1]=0;f[S+(c*20|0)+4>>2]=0;f[S+(c*20|0)+8>>2]=4;f[S+(c*20|0)+12>>2]=0;f[S+(c*20|0)+16>>2]=0;b[S+(c*20|0)+1>>0]=0}else c=tl(Z,69,0,4,0)|0;if(b[(f[Z>>2]|0)+81>>0]|0){k=e;break b}if((c|0)<0)c=(f[g>>2]|0)+-1|0;ul(Z,(f[Z+88>>2]|0)+(c*20|0)|0,i,0);k=e;break b}default:{g=c<<24>>24;k=f[L+8>>2]|0}}i=Z+136|0;c=f[i>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(c|0)){f[i>>2]=c+1;S=f[Z+88>>2]|0;b[S+(c*20|0)>>0]=69;d[S+(c*20|0)+2>>1]=0;f[S+(c*20|0)+4>>2]=1811;f[S+(c*20|0)+8>>2]=g;f[S+(c*20|0)+12>>2]=0;f[S+(c*20|0)+16>>2]=0;b[S+(c*20|0)+1>>0]=0}else c=tl(Z,69,1811,g,0)|0;if(!(b[(f[Z>>2]|0)+81>>0]|0)){if((c|0)<0)c=(f[i>>2]|0)+-1|0;ul(Z,(f[Z+88>>2]|0)+(c*20|0)|0,k,0)}c=f[i>>2]|0;if((c|0)>0){d[(f[Z+88>>2]|0)+((c+-1|0)*20|0)+2>>1]=0;k=e}else k=e;break}}if((Y|0)==12){c=f[L+28>>2]|0;if(!(f[L+4>>2]&8)){do if((c|0)<0){c=f[a+56>>2]|0;if((c|0)>=0){c=c+-1|0;break}e=(d[L+32>>1]|0)-c|0;t=_;return e|0}while(0);g=b[L+38>>0]|0;Am(Z,f[L+44>>2]|0,c,d[L+32>>1]|0,e);if(!(g<<24>>24)){t=_;return e|0}c=f[Z+136>>2]|0;if((c|0)<=0){t=_;return e|0}d[(f[Z+88>>2]|0)+((c+-1|0)*20|0)+2>>1]=g&255;t=_;return e|0}k=xl(a,f[L+12>>2]|0,e)|0;c=d[L+32>>1]|0;if(c<<16>>16>-1){c=b[(f[(f[L+44>>2]|0)+4>>2]|0)+(c<<16>>16<<4)+13>>0]|0;if(c<<24>>24==65){e=k;t=_;return e|0}else i=c<<24>>24}else i=68;l=Z+136|0;do if((k|0)!=(e|0)){c=f[l>>2]|0;g=Z+12|0;if((f[(f[g>>2]|0)+48>>2]|0)>(c|0)){f[l>>2]=c+1;a=f[Z+88>>2]|0;b[a+(c*20|0)>>0]=79;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=k;f[a+(c*20|0)+8>>2]=e;f[a+(c*20|0)+12>>2]=0;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0;break}else{tl(Z,79,k,e,0)|0;break}}else g=Z+12|0;while(0);k=59293+((i<<1)+-132)|0;c=f[l>>2]|0;if((f[(f[g>>2]|0)+48>>2]|0)>(c|0)){f[l>>2]=c+1;a=f[Z+88>>2]|0;b[a+(c*20|0)>>0]=91;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=e;f[a+(c*20|0)+8>>2]=1;f[a+(c*20|0)+12>>2]=0;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else c=tl(Z,91,e,1,0)|0;if(b[(f[Z>>2]|0)+81>>0]|0){t=_;return e|0}if((c|0)<0)c=(f[l>>2]|0)+-1|0;g=f[Z+88>>2]|0;i=g+(c*20|0)+1|0;if(!(b[i>>0]|0)){f[g+(c*20|0)+16>>2]=k;b[i>>0]=-1;t=_;return e|0}else{ul(Z,g+(c*20|0)|0,k,-1);t=_;return e|0}}do if((Y|0)==158){O=f[L+12>>2]|0;c=b[O>>0]|0;l=c<<24>>24==-92;if(l)g=b[O+38>>0]|0;else g=c;switch(g<<24>>24){case -91:{w=O+20|0;Y=163;break}case 127:{w=f[O+20>>2]|0;Y=163;break}default:{}}if((Y|0)==163?(f[f[w>>2]>>2]|0)>=2:0){N=i&255;I=k&255;M=f[L+16>>2]|0;if(l)c=b[O+38>>0]|0;switch(c<<24>>24){case -91:{c=O+20|0;Y=169;break}case 127:{c=f[O+20>>2]|0;Y=169;break}default:q=1}if((Y|0)==169)q=f[f[c>>2]>>2]|0;K=Z+12|0;c=f[K>>2]|0;o=c+60|0;L=f[o>>2]|0;f[o>>2]=L+1;o=c+64|0;if(!(L+-1&L)){l=L<<3|4;n=f[c>>2]|0;c=f[o>>2]|0;q:do if(c){i=c;k=n+304|0;if(((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;g=Lc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Kc(n,c);c=0;break}if((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0){J=n+300|0;f[c>>2]=f[J>>2];f[J>>2]=c;c=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=0;break}else{J=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=0;break}}else c=g}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){c=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){g=n+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];J=n+284|0;f[J>>2]=(f[J>>2]|0)+1;break q}g=n+296|0;c=f[g>>2]|0;if(!c){c=n+292|0;break}else{f[g>>2]=f[c>>2];J=n+284|0;f[J>>2]=(f[J>>2]|0)+1;break q}}else c=n+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(n,l,0)|0}while(0);f[o>>2]=c}else c=f[o>>2]|0;if(c|0)f[c+(L<<2)>>2]=-1;J=~L;g=b[M>>0]|0;if(g<<24>>24==-92)c=b[M+38>>0]|0;else c=g;switch(c<<24>>24){case -91:{c=M+20|0;Y=204;break}case 127:{c=f[M+20>>2]|0;Y=204;break}default:c=1}if((Y|0)==204)c=f[f[c>>2]>>2]|0;if((q|0)!=(c|0)){ni(a,49666,D);k=e;break}i=N<<24>>24==55?56:N;if((b[O>>0]|0)==127){H=Mm(a,O,0,0)|0;c=b[M>>0]|0}else{H=0;c=g}if(c<<24>>24==127)u=Mm(a,M,0,0)|0;else u=0;v=O+38|0;w=O+20|0;x=O+28|0;y=O+20|0;z=M+38|0;A=M+20|0;B=M+28|0;C=M+20|0;D=a+19|0;E=q+-1|0;G=Z+136|0;F=Z+88|0;r=q+-2|0;c=I|32;q=0;g=i<<24>>24==57?54:i;while(1){f[S>>2]=0;f[R>>2]=0;switch(b[O>>0]|0){case -92:{k=b[v>>0]|0;switch(k<<24>>24){case -91:{i=y;Y=215;break}case 127:{i=f[w>>2]|0;Y=215;break}default:i=O}do if((Y|0)==215){Y=0;if((f[f[i>>2]>>2]|0)>=2)if(k<<24>>24==127){i=f[(f[f[w>>2]>>2]|0)+4+(q*20|0)>>2]|0;break}else{i=f[(f[y>>2]|0)+4+(q*20|0)>>2]|0;break}else i=O}while(0);n=(f[x>>2]|0)+q|0;break}case 127:{n=q+H|0;i=f[(f[f[w>>2]>>2]|0)+4+(q*20|0)>>2]|0;break}default:{i=f[(f[w>>2]|0)+4+(q*20|0)>>2]|0;n=Dm(a,i,S)|0}}switch(b[M>>0]|0){case -92:{l=b[z>>0]|0;switch(l<<24>>24){case -91:{k=C;Y=225;break}case 127:{k=f[A>>2]|0;Y=225;break}default:k=M}do if((Y|0)==225){Y=0;if((f[f[k>>2]>>2]|0)>=2)if(l<<24>>24==127){k=f[(f[f[A>>2]>>2]|0)+4+(q*20|0)>>2]|0;break}else{k=f[(f[C>>2]|0)+4+(q*20|0)>>2]|0;break}else k=M}while(0);l=(f[B>>2]|0)+q|0;break}case 127:{l=q+u|0;k=f[(f[f[A>>2]>>2]|0)+4+(q*20|0)>>2]|0;break}default:{k=f[(f[A>>2]|0)+4+(q*20|0)>>2]|0;l=Dm(a,k,R)|0}}o=c&255;Em(a,i,k,g&255,n,l,e,o);i=f[S>>2]|0;if(i|0?(P=b[D>>0]|0,(P&255)<8):0){b[D>>0]=P+1<<24>>24;f[a+144+((P&255)<<2)>>2]=i}i=f[R>>2]|0;if(i|0?(Q=b[D>>0]|0,(Q&255)<8):0){b[D>>0]=Q+1<<24>>24;f[a+144+((Q&255)<<2)>>2]=i}if((q|0)==(E|0))break;switch(g<<24>>24){case 53:{c=f[G>>2]|0;if((f[(f[K>>2]|0)+48>>2]|0)>(c|0)){f[G>>2]=c+1;I=f[F>>2]|0;b[I+(c*20|0)>>0]=20;d[I+(c*20|0)+2>>1]=0;f[I+(c*20|0)+4>>2]=e;f[I+(c*20|0)+8>>2]=J;f[I+(c*20|0)+12>>2]=0;f[I+(c*20|0)+16>>2]=0;b[I+(c*20|0)+1>>0]=0}else tl(Z,20,e,J,0)|0;c=(o|8)&255;g=53;break}case 52:{c=f[G>>2]|0;if((f[(f[K>>2]|0)+48>>2]|0)>(c|0)){f[G>>2]=c+1;I=f[F>>2]|0;b[I+(c*20|0)>>0]=18;d[I+(c*20|0)+2>>1]=0;f[I+(c*20|0)+4>>2]=e;f[I+(c*20|0)+8>>2]=J;f[I+(c*20|0)+12>>2]=0;f[I+(c*20|0)+16>>2]=0;b[I+(c*20|0)+1>>0]=0}else tl(Z,18,e,J,0)|0;c=(o|8)&255;g=52;break}default:{i=f[G>>2]|0;if((f[(f[K>>2]|0)+48>>2]|0)>(i|0)){f[G>>2]=i+1;I=f[F>>2]|0;b[I+(i*20|0)>>0]=58;d[I+(i*20|0)+2>>1]=0;f[I+(i*20|0)+4>>2]=0;f[I+(i*20|0)+8>>2]=J;f[I+(i*20|0)+12>>2]=0;f[I+(i*20|0)+16>>2]=0;b[I+(i*20|0)+1>>0]=0}else tl(Z,58,0,J,0)|0;g=(q|0)==(r|0)?N:g}}q=q+1|0}c=f[(f[K>>2]|0)+64>>2]|0;if(!c){k=e;break}f[c+(L<<2)>>2]=f[G>>2];k=e;break}Y=Dm(a,O,T)|0;S=L+16|0;Z=Dm(a,f[S>>2]|0,X)|0;Em(a,O,f[S>>2]|0,i,Y,Z,e,k|32);k=e}while(0);c=f[T>>2]|0;if(c|0?(V=a+19|0,W=b[V>>0]|0,(W&255)<8):0){b[V>>0]=W+1<<24>>24;f[a+144+((W&255)<<2)>>2]=c}c=f[X>>2]|0;if(!c){e=k;t=_;return e|0}g=a+19|0;i=b[g>>0]|0;if((i&255)>=8){e=k;t=_;return e|0}b[g>>0]=i+1<<24>>24;f[a+144+((i&255)<<2)>>2]=c;e=k;t=_;return e|0}function yl(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=t;t=t+16|0;k=N;M=f[a>>2]|0;I=d[c+192>>1]|0;i=I<<16>>16;g=f[c+44>>2]|0;G=f[c+40>>2]|0;f[k>>2]=f[c+96>>2];g=G+g|0;g=g+((G|0)==0&(g|0)>0&1)|0;l=((f[a+136>>2]|0)*20|0)+7&-8;m=(f[a+88>>2]|0)+l|0;l=(f[c+52>>2]|0)-l&-8;go(a,k);if(!(b[c+20>>0]|0))e=0;else e=((b[c+21>>0]|0)!=0&1)<<7&65535;H=a+145|0;J=(h[H>>0]|h[H+1>>0]<<8)&-129|e;b[H>>0]=J;b[H+1>>0]=J>>8;D=c+195|0;g=(g|0)<10&(b[D>>0]|0)!=0?10:g;J=J&-4;b[H>>0]=J;b[H+1>>0]=J>>8;J=a+92|0;A=g*40|0;E=a+116|0;B=i*40|0;C=a+96|0;o=(f[k>>2]<<2)+7&-8;K=a+112|0;L=G<<2;p=L+7&-8;q=M+272|0;r=M+276|0;s=a+188|0;u=M+81|0;v=M+288|0;w=M+300|0;x=M+296|0;y=M+284|0;z=M+292|0;e=m;do{k=f[J>>2]|0;if(!k){O=(l|0)<(A|0);m=l-A|0;k=O?0:e+m|0;n=O?A:0;m=O?l:m}else{n=0;m=l}f[J>>2]=k;k=f[E>>2]|0;do if(!k)if((m|0)<(B|0)){k=0;l=n+B|0;break}else{m=m-B|0;k=e+m|0;l=n;break}else l=n;while(0);f[E>>2]=k;k=f[C>>2]|0;do if(!k)if((m|0)<(o|0)){k=0;l=o+l|0;break}else{m=m-o|0;k=e+m|0;break}while(0);f[C>>2]=k;k=f[K>>2]|0;do if(!k)if((m|0)<(p|0)){e=0;l=l+p|0;break}else{e=e+(m-p)|0;break}else e=k;while(0);f[K>>2]=e;if(!l)break;k=((l|0)<0)<<31>>31;do if(f[q>>2]|0)if(!(b[u>>0]|0))F=27;else e=0;else{if(!(0>>0|(0==(k|0)?(j[r>>1]|0)>>>0>>0:0))){e=f[w>>2]|0;if(e|0){f[w>>2]=f[e>>2];f[y>>2]=(f[y>>2]|0)+1;break}e=f[x>>2]|0;if(!e)e=z;else{f[x>>2]=f[e>>2];f[y>>2]=(f[y>>2]|0)+1;break}}else e=v;f[e>>2]=(f[e>>2]|0)+1;F=27}while(0);if((F|0)==27){F=0;e=Dc(M,l,k)|0}f[s>>2]=e}while((b[u>>0]|0)==0);O=c+212|0;f[a+120>>2]=f[O>>2];f[O>>2]=0;O=(h[H>>0]|h[H+1>>0]<<8)&-13|b[D>>0]<<2&12;b[H>>0]=O;b[H+1>>0]=O>>8;if(b[u>>0]|0){d[a+16>>1]=0;f[a+28>>2]=0;f[a+24>>2]=0;O=a+20|0;f[O>>2]=770837923;O=a+36|0;f[O>>2]=-1;O=a+40|0;f[O>>2]=0;O=a+142|0;b[O>>0]=2;O=a+44|0;f[O>>2]=0;O=a+32|0;f[O>>2]=1;O=a+143|0;b[O>>0]=-1;O=a+48|0;f[O>>2]=0;O=a+64|0;M=O;f[M>>2]=0;O=O+4|0;f[O>>2]=0;t=N;return}f[a+28>>2]=G;d[a+16>>1]=I;if(I<<16>>16>0){e=f[E>>2]|0;while(1){f[e+32>>2]=M;d[e+8>>1]=1;f[e+24>>2]=0;if((i|0)>1){i=i+-1|0;e=e+40|0}else break}}f[a+24>>2]=g;if((g|0)>0){e=f[J>>2]|0;while(1){f[e+32>>2]=M;d[e+8>>1]=128;f[e+24>>2]=0;if((g|0)>1){g=g+-1|0;e=e+40|0}else break}}_A(f[K>>2]|0,0,L|0)|0;O=a+20|0;f[O>>2]=770837923;O=a+36|0;f[O>>2]=-1;O=a+40|0;f[O>>2]=0;O=a+142|0;b[O>>0]=2;O=a+44|0;f[O>>2]=0;O=a+32|0;f[O>>2]=1;O=a+143|0;b[O>>0]=-1;O=a+48|0;f[O>>2]=0;O=a+64|0;M=O;f[M>>2]=0;O=O+4|0;f[O>>2]=0;t=N;return}function zl(a,c,e,g,i,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=t;t=t+96|0;K=P+80|0;F=P+72|0;G=P+64|0;E=P+56|0;A=P+48|0;B=P+40|0;w=P+32|0;v=P+24|0;s=P+16|0;q=P+8|0;p=P;L=P+84|0;O=f[a>>2]|0;H=O+165|0;n=(b[H>>0]|0)==0;do if(!n?(f[O+160>>2]|0)==1:0){e=b[O+164>>0]|0;q=e&255;e=e<<24>>24==1;p=e?48842:43770;e=e?19:14;a:do if(f[O+272>>2]|0){if(!(b[O+81>>0]|0))N=13}else{do if(!(0<0|(0==0?(j[O+276>>1]|0)>>>0>>0:0))){n=O+300|0;o=f[n>>2]|0;if(o|0){f[n>>2]=f[o>>2];N=O+284|0;f[N>>2]=(f[N>>2]|0)+1;N=14;break a}n=O+296|0;o=f[n>>2]|0;if(!o){n=O+292|0;break}else{f[n>>2]=f[o>>2];N=O+284|0;f[N>>2]=(f[N>>2]|0)+1;N=14;break a}}else n=O+288|0;while(0);f[n>>2]=(f[n>>2]|0)+1;N=13}while(0);if((N|0)==13){o=Dc(O,e,0)|0;N=14}if((N|0)==14?o|0:0){YA(o|0,p|0,e|0)|0;s=c;I=f[s+4>>2]|0;C=a+176|0;f[C>>2]=f[s>>2];f[C+4>>2]=I;C=o;I=q;break}i=c;k=f[i+4>>2]|0;O=a+176|0;f[O>>2]=f[i>>2];f[O+4>>2]=k;t=P;return}else N=16;while(0);if((N|0)==16){r=e+4|0;if(f[r>>2]|0){if(!n){ni(a,51151,p);t=P;return}n=Hl(O,c)|0;if((n|0)<0){f[q>>2]=c;ni(a,51168,q);t=P;return}}else{e=c;n=h[O+164>>0]|0}o=(g|0)!=0;if(o?(n|0)!=1&(f[r>>2]|0)!=0:0){ni(a,59183,s);t=P;return}s=o?1:n;r=pl(O,e)|0;b:do if((h[a+196>>0]|0)>1){p=f[a>>2]|0;c:do if(!p){if(!(f[9328]|0)){n=ib[f[37356>>2]&255](16)|0;N=49;break}n=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;p=71896;o=f[p>>2]|0;p=f[p+4>>2]|0;if((p|0)>0|(p|0)==0&o>>>0>0){I=f[18187]|0;C=LA(o|0,p|0,n|0,((n|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&C>>>0<=I>>>0)&1}n=ib[f[37356>>2]&255](n)|0;if(!n)break b;o=ib[f[37368>>2]&255](n)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0>(f[18196]|0)>>>0)f[18196]=o}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0)break b}else{do if((j[p+276>>1]|0)>=16){o=p+300|0;n=f[o>>2]|0;if(n|0){f[o>>2]=f[n>>2];N=p+284|0;f[N>>2]=(f[N>>2]|0)+1;N=49;break c}o=p+296|0;n=f[o>>2]|0;if(!n){n=p+292|0;break}else{f[o>>2]=f[n>>2];N=p+284|0;f[N>>2]=(f[N>>2]|0)+1;N=49;break c}}else n=p+288|0;while(0);f[n>>2]=(f[n>>2]|0)+1}n=Dc(p,16,0)|0;N=49}while(0);if((N|0)==49)if(!n)break;o=n+4|0;p=o;q=p+12|0;do{b[p>>0]=0;p=p+1|0}while((p|0)<(q|0));f[n>>2]=r;c=e;C=f[c+4>>2]|0;I=o;f[I>>2]=f[c>>2];f[I+4>>2]=C;I=a+268|0;f[n+12>>2]=f[I>>2];f[I>>2]=n}while(0);c=e;C=f[c+4>>2]|0;I=a+176|0;f[I>>2]=f[c>>2];f[I+4>>2]=C;if(!r){t=P;return}else{C=r;c=e;I=s}}d:do if(!(Zl(a,C)|0)){e=(b[O+164>>0]|0)==1?1:g;g=O+16|0;p=f[(f[g>>2]|0)+(I<<4)>>2]|0;n=(e|0)==1?48842:43770;o=f[a>>2]|0;do if(((b[o+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(u=f[o+312>>2]|0,u|0):0){n=nb[u&127](f[o+316>>2]|0,18,n,0,p,f[a+236>>2]|0)|0;if((n|0)==1){ni(a,49816,v);f[a+12>>2]=23;N=241;break d}if((n|2|0)==2)if(!n)break;else{N=241;break d}else{ni(a,49831,w);f[a+12>>2]=1;N=241;break d}}while(0);w=(k|0)==0;do if(((w?(x=h[59224+(e+(i<<1))>>0]|0,y=f[a>>2]|0,(b[y+165>>0]|0)==0):0)?(b[a+196>>0]|0)==0:0)?(z=f[y+312>>2]|0,z|0):0){n=nb[z&127](f[y+316>>2]|0,x,C,0,p,f[a+236>>2]|0)|0;if((n|0)==1){ni(a,49816,B);f[a+12>>2]=23;N=241;break d}if((n|2|0)==2)if(!n)break;else{N=241;break d}else{ni(a,49831,A);f[a+12>>2]=1;N=241;break d}}while(0);do if(!(b[a+196>>0]|0)){o=f[(f[g>>2]|0)+(I<<4)>>2]|0;p=f[a>>2]|0;e:do if(!(b[p+165>>0]|0)){e=a+4|0;q=p+24|0;r=(f[q>>2]&1|0)==0;s=p+16|0;B=f[(f[s>>2]|0)+12>>2]|0;b[p+78>>0]=b[B+77>>0]|0;if(!((d[B+78>>1]&1)==0?(m=qi(p,0,e,0)|0,(m|0)!=0):0))N=75;f:do if((N|0)==75){m=f[p+20>>2]|0;if((m|0)>1)do{n=m;m=m+-1|0;if((d[(f[(f[s>>2]|0)+(m<<4)+12>>2]|0)+78>>1]&1)==0?(D=qi(p,m,e,0)|0,D|0):0){m=D;break f}}while((n|0)>2);if(r)f[q>>2]=f[q>>2]&-2;if(!(b[p+89>>0]|0))break e;f[q>>2]=f[q>>2]|8;break e}while(0);f[a+12>>2]=m;N=a+36|0;f[N>>2]=(f[N>>2]|0)+1;N=240;break d}while(0);if(!(ji(O,C,o)|0)){if(Qj(O,C,o)|0){f[F>>2]=C;ni(a,59252,F);N=240;break d}if(O|0){N=118;break}if(!(f[9328]|0)){m=ib[f[37356>>2]&255](80)|0;N=140;break}m=ib[f[37372>>2]&255](80)|0;if((f[18194]|0)>>>0<80)f[18194]=80;o=71896;n=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&n>>>0>0){G=f[18187]|0;F=LA(n|0,o|0,m|0,((m|0)<0)<<31>>31|0)|0;E=ba()|0;f[17976]=((E|0)<0|(E|0)==0&F>>>0<=G>>>0)&1}m=ib[f[37356>>2]&255](m)|0;if(!m){N=141;break}n=ib[f[37368>>2]&255](m)|0;n=(f[18187]|0)+n|0;f[18187]=n;if(n>>>0>(f[18191]|0)>>>0)f[18191]=n;n=(f[18190]|0)+1|0;f[18190]=n;if(n>>>0<=(f[18196]|0)>>>0)break;f[18196]=n;break}if(!l){f[E>>2]=c;ni(a,59228,E);N=240;break d}p=f[a+116>>2]|0;p=(p|0)==0?a:p;m=p+84|0;n=f[m>>2]|0;o=1<>2]=n|o;if((I|0)!=1){N=240;break d}s=f[p>>2]|0;m=s+16|0;if(f[(f[m>>2]|0)+20>>2]|0){N=240;break d}if(b[p+195>>0]|0){N=240;break d}n=cj(f[s>>2]|0,0,s,L,0,542)|0;if(n|0){ni(p,51535,G);f[p+12>>2]=n;N=240;break d}a=f[L>>2]|0;f[(f[m>>2]|0)+20>>2]=a;m=f[s+92>>2]|0;p=f[a+4>>2]|0;f[p+4>>2]=f[a>>2];if(!(d[p+22>>1]&2)){e=p+32|0;q=p+36|0;r=(f[e>>2]|0)-(f[q>>2]|0)|0;do if((m+-512|0)>>>0<65025?(m+-1&m|0)==0:0){f[e>>2]=m;o=p+80|0;m=f[o>>2]|0;if(!m)break;n=m+-4|0;f[o>>2]=n;m=n;do if((f[18022]|0)>>>0<=m>>>0)if((f[18023]|0)>>>0>m>>>0){f[18188]=(f[18188]|0)+-1;f[n>>2]=f[18025];f[18025]=n;a=(f[18026]|0)+1|0;f[18026]=a;f[18027]=(a|0)<(f[18021]|0)&1;break}else{m=ib[f[37368>>2]&255](n)|0;N=103;break}else{m=ib[f[37368>>2]&255](n)|0;N=103}while(0);do if((N|0)==103){f[18189]=(f[18189]|0)-m;if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{a=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[o>>2]=0}while(0);a=ih(f[p>>2]|0,e,r)|0;f[q>>2]=(f[e>>2]|0)-(r&65535);if((a|0)==7){m=s+81|0;do if(!(b[m>>0]|0)){if(b[s+82>>0]|0)break;b[m>>0]=1;if((f[s+180>>2]|0)>0)f[s+264>>2]=1;a=s+272|0;f[a>>2]=(f[a>>2]|0)+1}while(0);N=240;break d}}N=240;break d}else N=118;while(0);g:do if((N|0)==118){if(f[O+272>>2]|0){if(b[O+81>>0]|0){N=141;break}}else{do if((j[O+276>>1]|0)>=80){n=O+300|0;m=f[n>>2]|0;if(m|0){f[n>>2]=f[m>>2];N=O+284|0;f[N>>2]=(f[N>>2]|0)+1;N=140;break g}n=O+296|0;m=f[n>>2]|0;if(!m){m=O+292|0;break}else{f[n>>2]=f[m>>2];N=O+284|0;f[N>>2]=(f[N>>2]|0)+1;N=140;break g}}else m=O+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1}m=Dc(O,80,0)|0;N=140}while(0);if((N|0)==140)if(!m)N=141;if((N|0)==141){f[a+12>>2]=7;a=a+36|0;f[a>>2]=(f[a>>2]|0)+1;N=240;break}p=m+4|0;q=p+76|0;do{b[p>>0]=0;p=p+1|0}while((p|0)<(q|0));f[m>>2]=C;d[m+40>>1]=-1;n=f[(f[g>>2]|0)+(I<<4)+12>>2]|0;f[m+72>>2]=n;f[m+32>>2]=1;d[m+44>>1]=200;f[a+224>>2]=m;if((b[a+18>>0]|0)==0?(tz(C,52908)|0)==0:0)f[n+72>>2]=m;if(b[H>>0]|0){t=P;return}g=a+8|0;m=f[g>>2]|0;u=a+116|0;if(!m){if((f[u>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;m=sl(a)|0;if(!m){t=P;return}else v=m}else v=m;s=f[u>>2]|0;s=(s|0)==0?a:s;m=s+84|0;n=f[m>>2]|0;c=1<>2]=n|c,(I|0)==1):0)?(M=f[s>>2]|0,J=M+16|0,(f[(f[J>>2]|0)+20>>2]|0)==0):0)?(b[s+195>>0]|0)==0:0){m=cj(f[M>>2]|0,0,M,L,0,542)|0;if(m|0){ni(s,51535,K);f[s+12>>2]=m;break}L=f[L>>2]|0;f[(f[J>>2]|0)+20>>2]=L;m=f[M+92>>2]|0;p=f[L+4>>2]|0;f[p+4>>2]=f[L>>2];if(!(d[p+22>>1]&2)){e=p+32|0;q=p+36|0;r=(f[e>>2]|0)-(f[q>>2]|0)|0;do if((m+-512|0)>>>0<65025?(m+-1&m|0)==0:0){f[e>>2]=m;o=p+80|0;m=f[o>>2]|0;if(!m)break;n=m+-4|0;f[o>>2]=n;m=n;do if((f[18022]|0)>>>0<=m>>>0)if((f[18023]|0)>>>0>m>>>0){f[18188]=(f[18188]|0)+-1;f[n>>2]=f[18025];f[18025]=n;L=(f[18026]|0)+1|0;f[18026]=L;f[18027]=(L|0)<(f[18021]|0)&1;break}else{m=ib[f[37368>>2]&255](n)|0;N=166;break}else{m=ib[f[37368>>2]&255](n)|0;N=166}while(0);do if((N|0)==166){f[18189]=(f[18189]|0)-m;if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{N=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[o>>2]=0}while(0);N=ih(f[p>>2]|0,e,r)|0;f[q>>2]=(f[e>>2]|0)-(r&65535);if((N|0)==7){m=M+81|0;do if(!(b[m>>0]|0)){if(b[M+82>>0]|0)break;b[m>>0]=1;if((f[M+180>>2]|0)>0)f[M+264>>2]=1;N=M+272|0;f[N>>2]=(f[N>>2]|0)+1}while(0);break}}}while(0);N=s+80|0;f[N>>2]=f[N>>2]|c;s=s+20|0;b[s>>0]=b[s>>0]|1;s=v+136|0;do if(!w){m=f[s>>2]|0;n=v+12|0;if((f[(f[n>>2]|0)+48>>2]|0)>(m|0)){f[s>>2]=m+1;p=f[v+88>>2]|0;b[p+(m*20|0)>>0]=-95;p=p+(m*20|0)+1|0;q=p+19|0;do{b[p>>0]=0;p=p+1|0}while((p|0)<(q|0));r=n;break}else{tl(v,161,0,0,0)|0;r=n;break}}else r=v+12|0;while(0);m=a+44|0;q=f[m>>2]|0;e=q+1|0;f[a+88>>2]=e;p=q+2|0;f[a+92>>2]=p;q=q+3|0;f[m>>2]=q;m=f[s>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(m|0)){f[s>>2]=m+1;N=f[v+88>>2]|0;b[N+(m*20|0)>>0]=105;d[N+(m*20|0)+2>>1]=0;f[N+(m*20|0)+4>>2]=I;f[N+(m*20|0)+8>>2]=q;f[N+(m*20|0)+12>>2]=2;f[N+(m*20|0)+16>>2]=0;b[N+(m*20|0)+1>>0]=0}else tl(v,105,I,q,2)|0;N=v+148|0;f[N>>2]=f[N>>2]|c;if((I|0)!=1?b[(f[(f[(f[v>>2]|0)+16>>2]|0)+(I<<4)+4>>2]|0)+9>>0]|0:0){N=v+152|0;f[N>>2]=f[N>>2]|c}m=f[s>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(m|0)){f[s>>2]=m+1;o=f[v+88>>2]|0;b[o+(m*20|0)>>0]=18;d[o+(m*20|0)+2>>1]=0;f[o+(m*20|0)+4>>2]=q;f[o+(m*20|0)+8>>2]=0;f[o+(m*20|0)+12>>2]=0;f[o+(m*20|0)+16>>2]=0;b[o+(m*20|0)+1>>0]=0;o=m}else o=tl(v,18,q,0,0)|0;m=(0==0?(f[O+32>>2]&2|0)==0:0)?4:1;n=f[s>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(n|0)){f[s>>2]=n+1;N=f[v+88>>2]|0;b[N+(n*20|0)>>0]=107;d[N+(n*20|0)+2>>1]=0;f[N+(n*20|0)+4>>2]=I;f[N+(n*20|0)+8>>2]=2;f[N+(n*20|0)+12>>2]=m;f[N+(n*20|0)+16>>2]=0;b[N+(n*20|0)+1>>0]=0}else tl(v,107,I,2,m)|0;m=h[O+78>>0]|0;n=f[s>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(n|0)){f[s>>2]=n+1;O=f[v+88>>2]|0;b[O+(n*20|0)>>0]=107;d[O+(n*20|0)+2>>1]=0;f[O+(n*20|0)+4>>2]=I;f[O+(n*20|0)+8>>2]=5;f[O+(n*20|0)+12>>2]=m;f[O+(n*20|0)+16>>2]=0;b[O+(n*20|0)+1>>0]=0}else tl(v,107,I,5,m)|0;m=f[s>>2]|0;if(!(b[(f[v>>2]|0)+81>>0]|0))n=(f[v+88>>2]|0)+(((o|0)<0?m+-1|0:o)*20|0)|0;else n=72144;f[n+8>>2]=m;n=(f[(f[r>>2]|0)+48>>2]|0)>(m|0);do if(k|i)if(n){f[s>>2]=m+1;O=f[v+88>>2]|0;b[O+(m*20|0)>>0]=70;d[O+(m*20|0)+2>>1]=0;f[O+(m*20|0)+4>>2]=0;f[O+(m*20|0)+8>>2]=p;f[O+(m*20|0)+12>>2]=0;f[O+(m*20|0)+16>>2]=0;b[O+(m*20|0)+1>>0]=0;break}else{tl(v,70,0,p,0)|0;break}else{if(n){f[s>>2]=m+1;O=f[v+88>>2]|0;b[O+(m*20|0)>>0]=-116;d[O+(m*20|0)+2>>1]=0;f[O+(m*20|0)+4>>2]=I;f[O+(m*20|0)+8>>2]=p;f[O+(m*20|0)+12>>2]=1;f[O+(m*20|0)+16>>2]=0;b[O+(m*20|0)+1>>0]=0}else m=tl(v,140,I,p,1)|0;f[a+124>>2]=m}while(0);m=f[g>>2]|0;if(!m){do if(!(f[u>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);o=sl(a)|0}else o=m;nm(a,I,1,1,43770);n=o+136|0;m=f[n>>2]|0;if((f[(f[o+12>>2]|0)+48>>2]|0)>(m|0)){f[n>>2]=m+1;O=f[o+88>>2]|0;b[O+(m*20|0)>>0]=110;d[O+(m*20|0)+2>>1]=0;f[O+(m*20|0)+4>>2]=0;f[O+(m*20|0)+8>>2]=1;f[O+(m*20|0)+12>>2]=I;f[O+(m*20|0)+16>>2]=0;b[O+(m*20|0)+1>>0]=0}else m=tl(o,110,0,1,I)|0;if(!(b[(f[o>>2]|0)+81>>0]|0)){O=f[o+88>>2]|0;b[O+(m*20|0)+1>>0]=-3;f[O+(m*20|0)+16>>2]=5}m=a+40|0;if(!(f[m>>2]|0))f[m>>2]=1;m=f[s>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(m|0)){f[s>>2]=m+1;O=f[v+88>>2]|0;b[O+(m*20|0)>>0]=121;d[O+(m*20|0)+2>>1]=0;f[O+(m*20|0)+4>>2]=0;f[O+(m*20|0)+8>>2]=e;f[O+(m*20|0)+12>>2]=0;f[O+(m*20|0)+16>>2]=0;b[O+(m*20|0)+1>>0]=0}else tl(v,121,0,e,0)|0;m=f[s>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(m|0)){f[s>>2]=m+1;O=f[v+88>>2]|0;b[O+(m*20|0)>>0]=75;d[O+(m*20|0)+2>>1]=0;f[O+(m*20|0)+4>>2]=6;f[O+(m*20|0)+8>>2]=q;f[O+(m*20|0)+12>>2]=0;f[O+(m*20|0)+16>>2]=0;b[O+(m*20|0)+1>>0]=0}else m=tl(v,75,6,q,0)|0;do if(!(b[(f[v>>2]|0)+81>>0]|0)){if((m|0)<0)m=(f[s>>2]|0)+-1|0;n=f[v+88>>2]|0;o=n+(m*20|0)+1|0;if(!(b[o>>0]|0)){f[n+(m*20|0)+16>>2]=59287;b[o>>0]=-1;break}else{ul(v,n+(m*20|0)|0,59287,-1);break}}while(0);m=f[s>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(m|0)){f[s>>2]=m+1;O=f[v+88>>2]|0;b[O+(m*20|0)>>0]=122;d[O+(m*20|0)+2>>1]=0;f[O+(m*20|0)+4>>2]=0;f[O+(m*20|0)+8>>2]=q;f[O+(m*20|0)+12>>2]=e;f[O+(m*20|0)+16>>2]=0;b[O+(m*20|0)+1>>0]=0}else tl(v,122,0,q,e)|0;m=f[s>>2]|0;if((m|0)>0)d[(f[v+88>>2]|0)+((m+-1|0)*20|0)+2>>1]=8;if((f[(f[r>>2]|0)+48>>2]|0)>(m|0)){f[s>>2]=m+1;p=f[v+88>>2]|0;b[p+(m*20|0)>>0]=117;p=p+(m*20|0)+1|0;q=p+19|0;do{b[p>>0]=0;p=p+1|0}while((p|0)<(q|0));t=P;return}else{tl(v,117,0,0,0)|0;t=P;return}}else N=240;while(0);if((N|0)==240?O|0:0)N=241;if((N|0)==241){if(f[O+480>>2]|0){Kc(O,C);t=P;return}a=C;if((f[O+304>>2]|0)>>>0<=a>>>0?(f[O+308>>2]|0)>>>0>a>>>0:0){O=O+300|0;f[C>>2]=f[O>>2];f[O>>2]=C;t=P;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](C);t=P;return}else{O=ib[f[37368>>2]&255](C)|0;f[18187]=(f[18187]|0)-O;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](C);t=P;return}}function Al(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0;ea=t;t=t+272|0;$=ea+192|0;_=ea+184|0;Y=ea+152|0;Q=ea+136|0;X=ea+128|0;W=ea+120|0;S=ea+112|0;O=ea+104|0;x=ea+96|0;w=ea+88|0;v=ea+80|0;R=ea+232|0;M=ea;N=ea+200|0;ca=f[a>>2]|0;P=(i|0)==0;if((e|0)==0&P){t=ea;return}aa=a+224|0;da=f[aa>>2]|0;if(!da){t=ea;return}if(((P?(k=f[da>>2]|0,r=Nz(k,95)|0,r|0):0)?(b[r>>0]=0,l=ji(ca,k,0)|0,b[r>>0]=95,l|0):0)?f[l+56>>2]|0:0){q=f[f[l+60>>2]>>2]|0;n=f[ca+348>>2]|0;if(!n){l=ca+340|0;k=ca+344|0}else{l=b[q>>0]|0;if(!(l<<24>>24))k=0;else{k=0;m=q;do{m=m+1|0;k=U(k+(h[1232+(l&255)>>0]|0)|0,-1640531535)|0;l=b[m>>0]|0}while(l<<24>>24!=0)}k=(k>>>0)%((f[ca+336>>2]|0)>>>0)|0;l=n+(k<<3)|0;k=n+(k<<3)+4|0}l=f[l>>2]|0;a:do if(!l)k=72124;else{p=h[1232+(h[q>>0]|0)>>0]|0;while(1){k=f[k>>2]|0;l=l+-1|0;n=f[k+12>>2]|0;V=b[n>>0]|0;m=(h[1232+(V&255)>>0]|0)-p|0;if(!(V<<24>>24==0|(m|0)!=0)){o=q;do{n=n+1|0;o=o+1|0;V=b[n>>0]|0;m=(h[1232+(V&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(V<<24>>24==0|(m|0)!=0))}if(!m)break a;if(!l){k=72124;break}}}while(0);k=f[k+8>>2]|0;if(((k|0?(s=f[k>>2]|0,(f[s>>2]|0)>=3):0)?(u=f[s+92>>2]|0,u|0):0)?ib[u&255](r+1|0)|0:0){V=da+36|0;f[V>>2]=f[V>>2]|1024}}V=ca+165|0;do if(b[V>>0]|0)if(P){L=f[ca+160>>2]|0;f[da+28>>2]=L;if((L|0)!=1)break;L=da+36|0;f[L>>2]=f[L>>2]|1;break}else{ni(a,72788,v);t=ea;return}while(0);b:do if(g&32){k=da+36|0;l=f[k>>2]|0;if(l&8|0){ni(a,58864,w);t=ea;return}if(!(l&4)){f[x>>2]=f[da>>2];ni(a,58914,x);break}f[k>>2]=l|96;L=f[a>>2]|0;w=f[a+8>>2]|0;v=L+166|0;if((b[v>>0]&2)==0?(y=d[da+42>>1]|0,y<<16>>16>0):0){m=f[da+4>>2]|0;l=y<<16>>16;k=0;do{if(b[m+(k<<4)+15>>0]&1)b[m+(k<<4)+12>>0]=2;k=k+1|0}while((k|0)!=(l|0))}k=f[a+124>>2]|0;if(k|0){if((k|0)<0)k=(f[w+136>>2]|0)+-1|0;if(!(b[(f[w>>2]|0)+81>>0]|0))k=(f[w+88>>2]|0)+(k*20|0)|0;else k=72144;f[k+12>>2]=2}l=da+40|0;k=d[l>>1]|0;do if(k<<16>>16>-1){k=f[(f[da+4>>2]|0)+(k<<16>>16<<4)>>2]|0;f[R>>2]=k;if(!k)k=0;else k=(wz(k)|0)&1073741823;f[R+4>>2]=k;k=Dk(L,59,R,0)|0;k=ml(f[a>>2]|0,0,k)|0;if((k|0?(b[k+16>>0]=b[a+194>>0]|0,El(a,0,0,0,k,h[da+48>>0]|0,0,0,0,0,2),(b[L+81>>0]|0)==0):0)?(f[a+36>>2]|0)==0:0){k=f[da+8>>2]|0;c:do if(!k)k=0;else while(1){K=k+55|0;if(((h[K>>0]|h[K+1>>0]<<8)&3)==2)break c;k=f[k+20>>2]|0;if(!k){k=0;break}}while(0);d[l>>1]=-1;K=k;break}break b}else{k=f[da+8>>2]|0;d:do if(!k)k=0;else while(1){K=k+55|0;if(((h[K>>0]|h[K+1>>0]<<8)&3)==2)break d;k=f[k+20>>2]|0;if(!k){k=0;break}}while(0);u=k+50|0;m=d[u>>1]|0;if((m&65535)>1){r=f[k+4>>2]|0;s=k+52|0;l=1;q=1;do{p=d[r+(q<<1)>>1]|0;e:do if((l|0)>0){n=r;o=l;while(1){if((d[n>>1]|0)==p<<16>>16)break;if((o|0)>1){n=n+2|0;o=o+-1|0}else{T=70;break e}}d[s>>1]=(d[s>>1]|0)+-1<<16>>16}else T=70;while(0);if((T|0)==70){T=0;d[r+(l<<1)>>1]=p;l=l+1|0;m=d[u>>1]|0}q=q+1|0}while(q>>>0<(m&65535)>>>0)}else l=1;d[u>>1]=l;K=k}while(0);I=K+55|0;k=h[I>>0]|h[I+1>>0]<<8;J=k|32;b[I>>0]=J;b[I+1>>0]=J>>8;if(!(b[v>>0]&2)){J=k|40;b[I>>0]=J;b[I+1>>0]=J>>8}m=d[K+50>>1]|0;J=m&65535;l=K+44|0;if(w|0?(z=f[l>>2]|0,(z|0)>0):0){if(!(b[(f[w>>2]|0)+81>>0]|0))k=(f[w+88>>2]|0)+(z*20|0)|0;else k=72144;b[k>>0]=11}f[l>>2]=f[da+28>>2];k=f[da+8>>2]|0;if(k|0){x=m<<16>>16==0;y=K+4|0;z=L+272|0;A=K+32|0;B=L+276|0;C=L+81|0;D=L+288|0;E=L+300|0;F=L+296|0;G=L+284|0;H=L+292|0;do{v=k+55|0;f:do if(((h[v>>0]|h[v+1>>0]<<8)&3)!=2){w=k+50|0;l=d[w>>1]|0;do if(!x){s=f[y>>2]|0;u=l&65535;if(!(l<<16>>16)){m=J;n=0}else{r=f[k+4>>2]|0;m=0;q=0;do{p=d[s+(q<<1)>>1]|0;n=r;o=u;while(1){if((d[n>>1]|0)==p<<16>>16)break;if((o|0)>1){n=n+2|0;o=o+-1|0}else{T=89;break}}if((T|0)==89){T=0;m=m+1|0}q=q+1|0}while((q|0)!=(J|0));n=l}if(!m){l=n;break}o=m+(n&65535)|0;p=k+52|0;if((o|0)>(j[p>>1]|0)){n=o*7|0;m=((n|0)<0)<<31>>31;g:do if(f[z>>2]|0)if(!(b[C>>0]|0))T=103;else break b;else{do if(0>>0|(0==(m|0)?(j[B>>1]|0)>>>0>>0:0))l=D;else{l=f[E>>2]|0;if(l|0){f[E>>2]=f[l>>2];f[G>>2]=(f[G>>2]|0)+1;break g}l=f[F>>2]|0;if(!l){l=H;break}f[F>>2]=f[l>>2];f[G>>2]=(f[G>>2]|0)+1;break g}while(0);f[l>>2]=(f[l>>2]|0)+1;T=103}while(0);if((T|0)==103){T=0;l=Dc(L,n,m)|0}if(!l)break b;_A(l|0,0,n|0)|0;s=k+32|0;YA(l|0,f[s>>2]|0,j[p>>1]<<2|0)|0;f[s>>2]=l;m=l+(o<<2)|0;r=k+4|0;YA(m|0,f[r>>2]|0,j[p>>1]<<1|0)|0;f[r>>2]=m;m=m+(o<<1)|0;l=k+28|0;YA(m|0,f[l>>2]|0,j[p>>1]|0)|0;f[l>>2]=m;d[p>>1]=o;l=h[v>>0]|h[v+1>>0]<<8|16;b[v>>0]=l;b[v+1>>0]=l>>8;l=d[w>>1]|0;m=l&65535}else{m=u;r=k+4|0;s=k+32|0}n=0;while(1){p=f[r>>2]|0;q=d[(f[y>>2]|0)+(n<<1)>>1]|0;h:do if(!(l<<16>>16))T=111;else{o=p;l=l&65535;while(1){if((d[o>>1]|0)==q<<16>>16){l=m;break h}if((l|0)>1){o=o+2|0;l=l+-1|0}else{T=111;break}}}while(0);if((T|0)==111){T=0;d[p+(m<<1)>>1]=q;f[(f[s>>2]|0)+(m<<2)>>2]=f[(f[A>>2]|0)+(n<<2)>>2];l=m+1|0}n=n+1|0;if((n|0)==(J|0))break f;m=l;l=d[w>>1]|0}}while(0);d[k+52>>1]=l}while(0);k=f[k+20>>2]|0}while((k|0)!=0)}s=da+42|0;l=d[s>>1]|0;p=l<<16>>16;u=K+52|0;if((J|0)<(p|0)){k=d[u>>1]|0;if((k&65535|0)<(p|0)){o=p*7|0;n=((o|0)<0)<<31>>31;i:do if(!L){L=KA(o|0,n|0,-1,-1)|0;H=ba()|0;if(H>>>0>0|(H|0)==0&L>>>0>2147483390)break b;if(!(f[9328]|0)){k=ib[f[37356>>2]&255](o)|0;T=141;break}k=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;n=71896;m=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&m>>>0>0){L=f[18187]|0;H=LA(m|0,n|0,k|0,((k|0)<0)<<31>>31|0)|0;G=ba()|0;f[17976]=((G|0)<0|(G|0)==0&H>>>0<=L>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break b;m=ib[f[37368>>2]&255](k)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0<=(f[18196]|0)>>>0)break;f[18196]=m}else{if(f[L+272>>2]|0){if(b[L+81>>0]|0)break b}else{do if(!(0>>0|(0==(n|0)?(j[L+276>>1]|0)>>>0>>0:0))){m=L+300|0;k=f[m>>2]|0;if(k|0){f[m>>2]=f[k>>2];T=L+284|0;f[T>>2]=(f[T>>2]|0)+1;T=141;break i}m=L+296|0;k=f[m>>2]|0;if(!k){k=L+292|0;break}else{f[m>>2]=f[k>>2];T=L+284|0;f[T>>2]=(f[T>>2]|0)+1;T=141;break i}}else k=L+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(L,o,n)|0;T=141}while(0);if((T|0)==141)if(!k)break;_A(k|0,0,o|0)|0;L=K+32|0;YA(k|0,f[L>>2]|0,j[u>>1]<<2|0)|0;f[L>>2]=k;L=k+(p<<2)|0;k=K+4|0;YA(L|0,f[k>>2]|0,j[u>>1]<<1|0)|0;f[k>>2]=L;L=L+(p<<1)|0;k=K+28|0;YA(L|0,f[k>>2]|0,j[u>>1]|0)|0;f[k>>2]=L;d[u>>1]=l;k=h[I>>0]|h[I+1>>0]<<8|16;b[I>>0]=k;b[I+1>>0]=k>>8;k=l;l=d[s>>1]|0}if(l<<16>>16>0){q=K+4|0;r=K+32|0;p=0;k=J;do{o=f[q>>2]|0;j:do if((k|0)>0){m=o;n=k;while(1){if((p|0)==(d[m>>1]|0))break j;if((n|0)>1){m=m+2|0;n=n+-1|0}else{T=149;break}}}else T=149;while(0);if((T|0)==149){T=0;d[o+(k<<1)>>1]=p;f[(f[r>>2]|0)+(k<<2)>>2]=43030;k=k+1|0;l=d[s>>1]|0}p=p+1|0}while((p|0)<(l<<16>>16|0));k=d[u>>1]|0}}else{d[u>>1]=l;k=l}if(!(k<<16>>16)){l=-1;k=-1}else{m=f[K+4>>2]|0;k=k&65535;l=0;n=0;do{L=k;k=k+-1|0;H=d[m+(k<<1)>>1]|0;I=(H&65535)<63;H=WA(1,0,H<<16>>16|0)|0;J=ba()|0;l=(I?H:0)|l;n=(I?J:0)|n}while((L|0)>1);l=~l;k=~n}L=K+64|0;f[L>>2]=l;f[L+4>>2]=k}while(0);G=da+72|0;l=f[G>>2]|0;if(!l)F=-1e6;else{m=f[ca+16>>2]|0;k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0)){F=k;break}else k=k+1|0}x=f[da+24>>2]|0;if(x|0){k=N+8|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=M;l=k+80|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[M>>2]=1;f[M+16>>2]=f[da>>2];f[M+24>>2]=da;f[M+48>>2]=-1;f[N>>2]=a;f[N+4>>2]=M;q=N+24|0;d[q>>1]=4;k:do if((f[x>>2]|0)>0){r=R+4|0;s=R+8|0;u=R+12|0;v=R+24|0;w=N+20|0;p=0;k=4;while(1){o=f[x+4+(p*20|0)>>2]|0;if(o){n=k&65535;d[q>>1]=n&61423;k=f[N>>2]|0;f[R>>2]=k;f[r>>2]=146;f[s>>2]=147;f[u>>2]=0;f[v>>2]=N;m=o+24|0;l=k;L=l+204|0;M=(f[L>>2]|0)+(f[m>>2]|0)|0;f[L>>2]=M;l=f[(f[l>>2]|0)+120>>2]|0;if((l|0)<(M|0)){T=168;break}oi(R,o)|0;l=f[R>>2]|0;k=l+204|0;f[k>>2]=(f[k>>2]|0)-(f[m>>2]|0);k=d[q>>1]|0;if(k&16){M=o+4|0;f[M>>2]=f[M>>2]|2}k=(n&4112|k&65535)&65535;d[q>>1]=k;if((f[w>>2]|0)>0)break;if((f[l+36>>2]|0)>=1)break k}p=p+1|0;if((p|0)>=(f[x>>2]|0))break k}if((T|0)==168){f[O>>2]=l;ni(k,42710,O)}}while(0)}E=da+42|0;l=d[E>>1]|0;if(l<<16>>16>0){m=f[da+4>>2]|0;k=0;l=l<<16>>16;while(1){k=k+(h[m+14>>0]|0)|0;if((l|0)>1){m=m+16|0;l=l+-1|0}else break}}else k=0;k=k+((j[da+40>>1]|0)>>>15&65535)<<2;if(k>>>0<8)if(!k)k=0;else{m=40;l=0;do{m=(m&65535)+65526|0;k=WA(k|0,l|0,1)|0;l=ba()|0}while(l>>>0<0|(l|0)==0&k>>>0<8);m=m&65535;T=191}else{if(k>>>0>255){m=40;l=0;do{m=(m&65535)+40|0;T=k;k=VA(k|0,l|0,4)|0;O=l;l=ba()|0}while(O>>>0>0|(O|0)==0&T>>>0>4095);m=m&65535}else{m=40;l=0}if(l>>>0>0|(l|0)==0&k>>>0>15){do{m=(m&65535)+10&65535;T=k;k=VA(k|0,l|0,1)|0;O=l;l=ba()|0}while(O>>>0>0|(O|0)==0&T>>>0>31);T=191}else T=191}if((T|0)==191)k=(m&65535)+65526+(j[7936+((k&7)<<1)>>1]|0)&65535;d[da+46>>1]=k;k=f[da+8>>2]|0;if(k|0)do{To(k);k=f[k+20>>2]|0}while((k|0)!=0);if(!(b[V>>0]|0)){C=a+8|0;k=f[C>>2]|0;if(!k){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;k=sl(a)|0;if(!k){t=ea;return}else D=k}else D=k;v=D+136|0;k=f[v>>2]|0;w=D+12|0;if((f[(f[w>>2]|0)+48>>2]|0)>(k|0)){f[v>>2]=k+1;l=f[D+88>>2]|0;b[l+(k*20|0)>>0]=117;k=l+(k*20|0)+1|0;l=k+19|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0))}else tl(D,117,0,0,0)|0;B=(f[da+12>>2]|0)==0;n=B?58946:58952;B=B?47722:51188;l:do if(P){l=g<<24>>24==0?e:a+184|0;X=f[l>>2]|0;m=f[a+176>>2]|0;k=X-m|0;if((b[X>>0]|0)!=59)k=(f[l+4>>2]|0)+k|0;f[Q>>2]=n;f[Q+4>>2]=k;f[Q+8>>2]=m;m=Ig(ca,58983,Q)|0;l=a+92|0;k=da}else{l=a+44|0;u=f[l>>2]|0;n=u+1|0;s=u+2|0;u=u+3|0;f[l>>2]=u;l=f[a+116>>2]|0;b[((l|0)==0?a:l)+21>>0]=1;l=a+92|0;k=f[l>>2]|0;m=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(m|0)){f[v>>2]=m+1;Q=f[D+88>>2]|0;b[Q+(m*20|0)>>0]=110;d[Q+(m*20|0)+2>>1]=0;f[Q+(m*20|0)+4>>2]=1;f[Q+(m*20|0)+8>>2]=k;f[Q+(m*20|0)+12>>2]=F;f[Q+(m*20|0)+16>>2]=0;b[Q+(m*20|0)+1>>0]=0}else tl(D,110,1,k,F)|0;p=f[v>>2]|0;if((p|0)>0)d[(f[D+88>>2]|0)+((p+-1|0)*20|0)+2>>1]=16;f[a+40>>2]=2;k=p+1|0;if((f[(f[w>>2]|0)+48>>2]|0)>(p|0)){f[v>>2]=k;Q=f[D+88>>2]|0;b[Q+(p*20|0)>>0]=13;d[Q+(p*20|0)+2>>1]=0;f[Q+(p*20|0)+4>>2]=n;f[Q+(p*20|0)+8>>2]=0;f[Q+(p*20|0)+12>>2]=k;f[Q+(p*20|0)+16>>2]=0;b[Q+(p*20|0)+1>>0]=0}else tl(D,13,n,0,k)|0;m=a+36|0;do if(!(f[m>>2]|0)){k=Uk(a,i)|0;if(!k)break;g=k+42|0;d[E>>1]=d[g>>1]|0;Q=k+4|0;x=da+4|0;f[x>>2]=f[Q>>2];d[g>>1]=0;f[Q>>2]=0;do if(!(f[ca+480>>2]|0)){g=k+32|0;Q=(f[g>>2]|0)+-1|0;f[g>>2]=Q;if(Q|0)break;hg(ca,k)}else hg(ca,k);while(0);b[R>>0]=13;o=R+4|0;f[o>>2]=n;f[R+16>>2]=0;q=R+8|0;f[q>>2]=0;r=R+12|0;f[r>>2]=0;Kl(a,i,R)|0;if(f[m>>2]|0)break;k=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(k|0)){f[v>>2]=k+1;R=f[D+88>>2]|0;b[R+(k*20|0)>>0]=67;d[R+(k*20|0)+2>>1]=0;f[R+(k*20|0)+4>>2]=n;f[R+(k*20|0)+8>>2]=0;f[R+(k*20|0)+12>>2]=0;f[R+(k*20|0)+16>>2]=0;b[R+(k*20|0)+1>>0]=0}else tl(D,67,n,0,0)|0;m=f[w>>2]|0;b[m+19>>0]=0;f[m+28>>2]=0;n=f[v>>2]|0;if(!(b[(f[D>>2]|0)+81>>0]|0))k=(f[D+88>>2]|0)+(((p|0)<0?n+-1|0:p)*20|0)|0;else k=72144;f[k+8>>2]=n;k=f[o>>2]|0;if((f[m+48>>2]|0)>(n|0)){f[v>>2]=n+1;o=f[D+88>>2]|0;b[o+(n*20|0)>>0]=14;d[o+(n*20|0)+2>>1]=0;f[o+(n*20|0)+4>>2]=k;f[o+(n*20|0)+8>>2]=0;f[o+(n*20|0)+12>>2]=0;f[o+(n*20|0)+16>>2]=0;b[o+(n*20|0)+1>>0]=0;o=n}else o=tl(D,14,k,0,0)|0;n=f[q>>2]|0;k=f[r>>2]|0;m=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(m|0)){f[v>>2]=m+1;R=f[D+88>>2]|0;b[R+(m*20|0)>>0]=102;d[R+(m*20|0)+2>>1]=0;f[R+(m*20|0)+4>>2]=n;f[R+(m*20|0)+8>>2]=k;f[R+(m*20|0)+12>>2]=s;f[R+(m*20|0)+16>>2]=0;b[R+(m*20|0)+1>>0]=0}else tl(D,102,n,k,s)|0;kn(D,da,0);k=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(k|0)){f[v>>2]=k+1;R=f[D+88>>2]|0;b[R+(k*20|0)>>0]=121;d[R+(k*20|0)+2>>1]=0;f[R+(k*20|0)+4>>2]=1;f[R+(k*20|0)+8>>2]=u;f[R+(k*20|0)+12>>2]=0;f[R+(k*20|0)+16>>2]=0;b[R+(k*20|0)+1>>0]=0}else tl(D,121,1,u,0)|0;k=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(k|0)){f[v>>2]=k+1;R=f[D+88>>2]|0;b[R+(k*20|0)>>0]=122;d[R+(k*20|0)+2>>1]=0;f[R+(k*20|0)+4>>2]=1;f[R+(k*20|0)+8>>2]=s;f[R+(k*20|0)+12>>2]=u;f[R+(k*20|0)+16>>2]=0;b[R+(k*20|0)+1>>0]=0}else tl(D,122,1,s,u)|0;k=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(k|0)){f[v>>2]=k+1;R=f[D+88>>2]|0;b[R+(k*20|0)>>0]=11;d[R+(k*20|0)+2>>1]=0;f[R+(k*20|0)+4>>2]=0;f[R+(k*20|0)+8>>2]=o;f[R+(k*20|0)+12>>2]=0;f[R+(k*20|0)+16>>2]=0;b[R+(k*20|0)+1>>0]=0}else tl(D,11,0,o,0)|0;m=f[v>>2]|0;if(!(b[(f[D>>2]|0)+81>>0]|0))k=(f[D+88>>2]|0)+(((o|0)<0?m+-1|0:o)*20|0)|0;else k=72144;f[k+8>>2]=m;if((f[(f[w>>2]|0)+48>>2]|0)>(m|0)){f[v>>2]=m+1;R=f[D+88>>2]|0;b[R+(m*20|0)>>0]=117;d[R+(m*20|0)+2>>1]=0;f[R+(m*20|0)+4>>2]=1;f[R+(m*20|0)+8>>2]=0;f[R+(m*20|0)+12>>2]=0;f[R+(m*20|0)+16>>2]=0;b[R+(m*20|0)+1>>0]=0}else tl(D,117,1,0,0)|0;R=d[E>>1]|0;r=R<<16>>16;if(R<<16>>16>0){o=0;p=f[x>>2]|0;k=0;while(1){m=0;n=f[p>>2]|0;m:while(1){switch(b[n>>0]|0){case 0:break m;case 34:{m=m+1|0;break}default:{}}m=m+1|0;n=n+1|0}k=k+7+m|0;o=o+1|0;if((o|0)==(r|0)){n=k;break}else p=p+16|0}}else n=0;k=0;m=f[da>>2]|0;n:while(1){switch(b[m>>0]|0){case 0:break n;case 34:{k=k+1|0;break}default:{}}k=k+1|0;m=m+1|0}y=n+2+k|0;A=(y|0)<50;q=A?72788:58957;z=A?41635:58961;A=A?43047:58966;y=(r*6|0)+35+y|0;R=KA(y|0,((y|0)<0)<<31>>31|0,-1,-1)|0;i=ba()|0;o:do if(!(i>>>0>0|(i|0)==0&R>>>0>2147483390)){do if(!(f[9328]|0)){m=ib[f[37356>>2]&255](y)|0;if(!m)break o}else{k=ib[f[37372>>2]&255](y)|0;if((f[18194]|0)>>>0>>0)f[18194]=y;n=71896;m=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&m>>>0>0){R=f[18187]|0;i=LA(m|0,n|0,k|0,((k|0)<0)<<31>>31|0)|0;Q=ba()|0;f[17976]=((Q|0)<0|(Q|0)==0&i>>>0<=R>>>0)&1}m=ib[f[37356>>2]&255](k)|0;if(!m)break o;k=ib[f[37368>>2]&255](m)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}while(0);vd(y,m,58969,S)|0;k=(wz(m)|0)&1073741823;v=f[da>>2]|0;u=b[v>>0]|0;p:do if(!(u<<24>>24)){n=0;s=0}else{n=0;o=u;while(1){if(!(o<<24>>24==95?1:(b[5472+(o&255)>>0]&6)!=0)){s=1;break p}n=n+1|0;o=b[v+n>>0]|0;if(!(o<<24>>24)){s=0;break}}}while(0);o=u&255;q:do if((o+-48|0)>>>0>=10){do if((n|0)>1){o=b[8368+((h[1232+o>>0]<<2^n^(h[1232+(h[v+(n+-1)>>0]|0)>>0]|0)*3|0)%127|0)>>0]|0;if(!(o<<24>>24))break;o=o&255;while(1){p=o+-1|0;r:do if((n|0)==(h[8496+p>>0]|0)){r=8912+(j[8640+(p<<1)>>1]|0)|0;o=0;while(1){if((b[v+o>>0]&-33)<<24>>24!=(b[r+o>>0]|0))break r;o=o+1|0;if((o|0)>=(n|0)){T=289;break q}}}while(0);o=b[9536+p>>0]|0;if(!(o<<24>>24))break;else o=o&255}}while(0);if(!((n|0)==0|s)){p=u;u=0}else T=289}else T=289;while(0);if((T|0)==289){b[m+k>>0]=34;k=k+1|0;p=b[v>>0]|0;u=1}n=k+1|0;o=m+k|0;if(p<<24>>24){s=0;r=v;do{b[o>>0]=p;if((b[r>>0]|0)==34){b[m+n>>0]=34;k=k+2|0}else k=n;s=s+1|0;r=v+s|0;p=b[r>>0]|0;n=k+1|0;o=m+k|0}while(p<<24>>24!=0)}if(u){b[o>>0]=34;k=n}o=k+1|0;b[m+k>>0]=40;k=y-o|0;n=m+o|0;if((d[E>>1]|0)>0){p=0;w=f[x>>2]|0;while(1){vd(k,n,q,W)|0;k=((wz(n)|0)&1073741823)+o|0;v=f[w>>2]|0;u=b[v>>0]|0;s:do if(!(u<<24>>24)){n=0;s=0}else{n=0;o=u;while(1){if(!(o<<24>>24==95?1:(b[5472+(o&255)>>0]&6)!=0)){s=1;break s}n=n+1|0;o=b[v+n>>0]|0;if(!(o<<24>>24)){s=0;break}}}while(0);o=u&255;t:do if((o+-48|0)>>>0>=10){do if((n|0)>1){o=b[8368+((h[1232+o>>0]<<2^n^(h[1232+(h[v+(n+-1)>>0]|0)>>0]|0)*3|0)%127|0)>>0]|0;if(!(o<<24>>24))break;o=o&255;while(1){q=o+-1|0;u:do if((n|0)==(h[8496+q>>0]|0)){r=8912+(j[8640+(q<<1)>>1]|0)|0;o=0;while(1){if((b[v+o>>0]&-33)<<24>>24!=(b[r+o>>0]|0))break u;o=o+1|0;if((o|0)>=(n|0)){T=313;break t}}}while(0);o=b[9536+q>>0]|0;if(!(o<<24>>24))break;else o=o&255}}while(0);if(!((n|0)==0|s)){q=u;u=0}else T=313}else T=313;while(0);if((T|0)==313){T=0;b[m+k>>0]=34;k=k+1|0;q=b[v>>0]|0;u=1}n=k+1|0;o=m+k|0;if(q<<24>>24){s=0;r=v;do{b[o>>0]=q;if((b[r>>0]|0)==34){b[m+n>>0]=34;k=k+2|0}else k=n;s=s+1|0;r=v+s|0;q=b[r>>0]|0;n=k+1|0;o=m+k|0}while(q<<24>>24!=0)}if(u){b[o>>0]=34;k=n}S=m+k|0;b[S>>0]=0;n=f[23136+((b[w+13>>0]|0)+-65<<2)>>2]|0;o=(wz(n)|0)&1073741823;YA(S|0,n|0,o|0)|0;o=o+k|0;p=p+1|0;k=y-o|0;n=m+o|0;if((p|0)<(d[E>>1]|0)){w=w+16|0;q=z}else break}}f[X>>2]=A;vd(k,n,40840,X)|0;k=da;break l}while(0);k=ca+81|0;if(b[k>>0]|0){m=0;k=da;break l}if(b[ca+82>>0]|0){m=0;k=da;break l}b[k>>0]=1;if((f[ca+180>>2]|0)>0)f[ca+264>>2]=1;m=ca+272|0;f[m>>2]=(f[m>>2]|0)+1;m=0;k=da;break l}while(0);t=ea;return}while(0);p=ca+16|0;T=f[k>>2]|0;W=f[l>>2]|0;X=f[a+88>>2]|0;f[Y>>2]=f[(f[p>>2]|0)+(F<<4)>>2];f[Y+4>>2]=43770;f[Y+8>>2]=B;f[Y+12>>2]=T;f[Y+16>>2]=T;f[Y+20>>2]=W;f[Y+24>>2]=m;f[Y+28>>2]=X;Tl(a,58998,Y);v:do if(m|0){if(f[ca+480>>2]|0){Kc(ca,m);break}l=m;do if((f[ca+304>>2]|0)>>>0<=l>>>0){if((f[ca+308>>2]|0)>>>0<=l>>>0)break;Y=ca+300|0;f[m>>2]=f[Y>>2];f[Y>>2]=m;break v}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{Y=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);l=f[C>>2]|0;m=(f[f[(f[(f[a>>2]|0)+16>>2]|0)+(F<<4)+12>>2]>>2]|0)+1|0;n=l+136|0;o=f[n>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;Y=f[l+88>>2]|0;b[Y+(o*20|0)>>0]=107;d[Y+(o*20|0)+2>>1]=0;f[Y+(o*20|0)+4>>2]=F;f[Y+(o*20|0)+8>>2]=1;f[Y+(o*20|0)+12>>2]=m;f[Y+(o*20|0)+16>>2]=0;b[Y+(o*20|0)+1>>0]=0}else tl(l,107,F,1,m)|0;if(f[da+36>>2]&8|0?(Z=f[p>>2]|0,(f[(f[Z+(F<<4)+12>>2]|0)+72>>2]|0)==0):0){f[_>>2]=f[Z+(F<<4)>>2];Tl(a,59085,_)}f[$>>2]=f[k>>2];Xl(D,F,Ig(ca,59127,$)|0);if(!(b[V>>0]|0)){t=ea;return}}else k=da;if(pg((f[G>>2]|0)+8|0,f[k>>2]|0,da)|0){k=ca+81|0;if(b[k>>0]|0){t=ea;return}if(b[ca+82>>0]|0){t=ea;return}b[k>>0]=1;if((f[ca+180>>2]|0)>0)f[ca+264>>2]=1;da=ca+272|0;f[da>>2]=(f[da>>2]|0)+1;t=ea;return}f[aa>>2]=0;ca=ca+24|0;f[ca>>2]=f[ca>>2]|1;if(f[da+12>>2]|0){t=ea;return}k=f[a+176>>2]|0;o=(f[((f[c>>2]|0)==0?e:c)>>2]|0)-k|0;o=(o|0)>-1?k+o|0:-1;l=b[k>>0]|0;if(l<<24>>24!=0&o>>>0>k>>>0){n=0;while(1){m=k+1|0;if((l&255)>191){k=m;while(1){l=b[k>>0]|0;if((l&-64)<<24>>24==-128)k=k+1|0;else break}}else{k=m;l=b[m>>0]|0}if(l<<24>>24!=0&k>>>0>>0)n=n+1|0;else break}k=n+14|0}else k=13;f[da+52>>2]=k;t=ea;return}function Bl(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=t;t=t+64|0;n=s;q=s+8|0;r=f[a>>2]|0;i=f[a+224>>2]|0;do if(i|0){m=f[i+4>>2]|0;l=(d[i+42>>1]|0)+-1|0;i=(h[r+165>>0]|0)+4&255;k=q+20|0;b[k>>0]=i;f[q+4>>2]=155;f[q+8>>2]=156;f[q+24>>2]=0;if(c){oi(q,c)|0;i=b[k>>0]|0}if(!(i<<24>>24)){f[n>>2]=f[m+(l<<4)>>2];ni(a,58819,n);break}o=m+(l<<4)+4|0;i=f[o>>2]|0;if(i|0)ig(r,i);i=q;k=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(k|0));b[q>>0]=-87;while(1)if(!(b[5472+(h[e>>0]|0)>>0]&1))break;else e=e+1|0;i=g-e|0;a:do if((i|0)<=0)if(!e)i=0;else{k=i;p=15}else while(1){k=i+-1|0;if(!(b[5472+(h[e+k>>0]|0)>>0]&1)){k=i;p=15;break a}if((i|0)>1)i=k;else{p=15;break}}while(0);b:do if((p|0)==15){m=KA(k|0,((k|0)<0)<<31>>31|0,1,0)|0;n=ba()|0;c:do if(f[r+272>>2]|0)if(!(b[r+81>>0]|0))p=25;else{i=0;break b}else{do if(!(n>>>0>0|((n|0)==0?m>>>0>(j[r+276>>1]|0)>>>0:0))){l=r+300|0;i=f[l>>2]|0;if(i|0){f[l>>2]=f[i>>2];g=r+284|0;f[g>>2]=(f[g>>2]|0)+1;break c}l=r+296|0;i=f[l>>2]|0;if(!i){i=r+292|0;break}else{f[l>>2]=f[i>>2];g=r+284|0;f[g>>2]=(f[g>>2]|0)+1;break c}}else i=r+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;p=25}while(0);if((p|0)==25)i=Dc(r,m,n)|0;if(!i)i=0;else{YA(i|0,e|0,k|0)|0;b[i+k>>0]=0}}while(0);p=q+8|0;f[p>>2]=i;f[q+12>>2]=c;f[q+4>>2]=4096;i=Bk(r,q,1,0)|0;f[o>>2]=i;i=f[p>>2]|0;do if(i|0){if(r|0){if(f[r+480>>2]|0){Kc(r,i);break}p=i;if((f[r+304>>2]|0)>>>0<=p>>>0?(f[r+308>>2]|0)>>>0>p>>>0:0){p=r+300|0;f[i>>2]=f[p>>2];f[p>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{p=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0)}while(0);if((h[a+196>>0]|0)>1?(p=q+8|0,f[p>>2]=0,f[p+4>>2]=0,f[p+8>>2]=0,f[p+12>>2]=0,f[p+16>>2]=0,f[q>>2]=a,f[q+4>>2]=154,c|0):0)oi(q,c)|0;if(!c){t=s;return}ig(r,c);t=s;return}function Cl(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=e;l=f[a>>2]|0;m=g+49|0;a:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))p=11;else{q=0;return q|0}else{do if(!(0<0|(0==0?(j[l+276>>1]|0)>>>0>>0:0))){i=l+300|0;k=f[i>>2]|0;if(k|0){f[i>>2]=f[k>>2];o=l+284|0;f[o>>2]=(f[o>>2]|0)+1;o=k;break a}i=l+296|0;k=f[i>>2]|0;if(!k){i=l+292|0;break}else{f[i>>2]=f[k>>2];o=l+284|0;f[o>>2]=(f[o>>2]|0)+1;o=k;break a}}else i=l+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;p=11}while(0);if((p|0)==11)o=Dc(l,m,0)|0;if(!o){q=0;return q|0}b[o>>0]=c;b[o+1>>0]=0;k=o+4|0;f[k>>2]=8388608;d[o+34>>1]=-1;f[o+16>>2]=0;f[o+12>>2]=0;f[o+20>>2]=0;f[o+40>>2]=0;f[o+44>>2]=0;b[o+38>>0]=0;f[o+28>>2]=0;d[o+32>>1]=0;i=o+48|0;c=o+8|0;f[c>>2]=i;YA(i|0,e|0,g|0)|0;b[i+g>>0]=0;c=f[c>>2]|0;i=b[c>>0]|0;if((b[5472+(i&255)>>0]|0)<0){if(i<<24>>24==34)f[k>>2]=f[k>>2]|64;if(c|0?(n=b[c>>0]|0,(b[5472+(n&255)>>0]|0)<0):0){m=n<<24>>24==91?93:n;l=0;i=1;while(1){k=b[c+i>>0]|0;if(k<<24>>24==m<<24>>24){i=i+1|0;k=c+l|0;if((b[c+i>>0]|0)!=m<<24>>24)break;b[k>>0]=m}else b[c+l>>0]=k;l=l+1|0;i=i+1|0}b[k>>0]=0}}f[o+24>>2]=1;if((h[a+196>>0]|0)<=1){q=o;return q|0}l=f[a>>2]|0;b:do if(!l){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](16)|0;p=49;break}i=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){n=f[18187]|0;e=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&e>>>0<=n>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){q=o;return q|0}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k}else{if(f[l+272>>2]|0){if(b[l+81>>0]|0){q=o;return q|0}}else{do if((j[l+276>>1]|0)>=16){k=l+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];p=l+284|0;f[p>>2]=(f[p>>2]|0)+1;p=49;break b}k=l+296|0;i=f[k>>2]|0;if(!i){i=l+292|0;break}else{f[k>>2]=f[i>>2];p=l+284|0;f[p>>2]=(f[p>>2]|0)+1;p=49;break b}}else i=l+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(l,16,0)|0;p=49}while(0);if((p|0)==49)if(!i){q=o;return q|0}f[i>>2]=o;f[i+4>>2]=q;f[i+8>>2]=g;q=a+268|0;f[i+12>>2]=f[q>>2];f[q>>2]=i;q=o;return q|0}function Dl(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=t;t=t+16|0;y=E+8|0;l=E;B=f[a+224>>2]|0;do if(!B)D=52;else{C=B+36|0;k=f[C>>2]|0;if(k&4|0){f[l>>2]=f[B>>2];ni(a,58722,l);D=52;break}z=k|4;f[C>>2]=z;if(c){x=f[c>>2]|0;if((x|0)>0){v=B+42|0;w=B+4|0;m=0;u=0;n=-1;while(1){k=f[c+4+(u*20|0)>>2]|0;a:do if(!k)k=0;else while(1){l=f[k+4>>2]|0;if(!(l&4096))break a;if(!(l&262144))k=k+12|0;else k=(f[k+20>>2]|0)+4|0;k=f[k>>2]|0;if(!k){k=0;break}}while(0);l=b[k>>0]|0;switch(l<<24>>24){case 106:{b[k>>0]=59;D=20;break}case 102:{l=f[k+12>>2]|0;if((b[l>>0]|0)==106){b[l>>0]=59;l=b[k>>0]|0;D=19}else k=n;break}default:D=19}if((D|0)==19){D=0;if(l<<24>>24==59)D=20;else k=n}b:do if((D|0)==20){D=0;p=f[k+8>>2]|0;k=d[v>>1]|0;if(k<<16>>16>0){s=f[w>>2]|0;o=b[p>>0]|0;r=b[1232+(o&255)>>0]|0;q=k<<16>>16;c:do if(!(o<<24>>24)){k=0;while(1){if(r<<24>>24==(b[1232+(h[f[s+(k<<4)>>2]>>0]|0)>>0]|0))break c;k=k+1|0;if((k|0)>=(q|0))break b}}else{k=0;while(1){l=f[s+(k<<4)>>2]|0;if(r<<24>>24==(b[1232+(h[l>>0]|0)>>0]|0)){n=p;do{n=n+1|0;l=l+1|0;F=b[n>>0]|0;o=(h[1232+(F&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(F<<24>>24==0|(o|0)!=0));if(!o)break c}k=k+1|0;if((k|0)>=(q|0))break b}}while(0);m=s+(k<<4)+15|0;b[m>>0]=b[m>>0]|1;m=s+(k<<4)|0}else k=0}while(0);u=u+1|0;if((u|0)==(x|0))break;else n=k}n=(x|0)==1;o=k;D=34}}else{o=(d[B+42>>1]|0)+-1|0;m=f[B+4>>2]|0;n=m+(o<<4)+15|0;b[n>>0]=b[n>>0]|1;n=1;m=m+(o<<4)|0;D=34}if((D|0)==34?n&(m|0)!=0:0){if(!(b[m+15>>0]&4))l=72788;else{l=f[m>>2]|0;l=l+(wz(l)|0)+1|0}F=b[l>>0]|0;k=(h[1232+(F&255)>>0]|0)+-105|0;if(!(F<<24>>24==0|(k|0)!=0)){m=50325;do{l=l+1|0;m=m+1|0;F=b[l>>0]|0;k=(h[1232+(F&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(F<<24>>24==0|(k|0)!=0))}if((i|0)!=1&(k|0)==0){k=(c|0)!=0;l=B+40|0;d:do if(k&(h[a+196>>0]|0)>1?(A=f[c+4>>2]|0,j=f[a+268>>2]|0,j|0):0){while(1){if((f[j>>2]|0)==(A|0))break;j=f[j+12>>2]|0;if(!j)break d}f[j>>2]=l}while(0);d[l>>1]=o;b[B+48>>0]=e;f[C>>2]=z|g<<3;if(k){b[a+194>>0]=b[c+16>>0]|0;break}else{t=E;return}}}if(g|0){ni(a,58763,y);D=52;break}El(a,0,0,0,c,e,0,0,i,0,2);t=E;return}while(0);if((D|0)==52?(c|0)==0:0){t=E;return}jg(f[a>>2]|0,c);t=E;return}function El(a,c,e,g,i,k,l,m,n,o,p){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0;xa=t;t=t+400|0;sa=xa+296|0;ra=xa+272|0;qa=xa+256|0;na=xa+248|0;ja=xa+240|0;ia=xa+232|0;da=xa+224|0;ca=xa+216|0;W=xa+208|0;U=xa+200|0;T=xa+192|0;S=xa+184|0;Q=xa+176|0;P=xa+168|0;M=xa+160|0;N=xa+152|0;L=xa+144|0;K=xa+136|0;J=xa+128|0;I=xa+120|0;H=xa+112|0;E=xa+104|0;B=xa+96|0;z=xa+88|0;y=xa+80|0;oa=xa+360|0;$=xa;aa=xa+328|0;C=xa+304|0;wa=f[a>>2]|0;ma=wa+81|0;a:do if(((b[ma>>0]|0)==0?(ea=a+36|0,(f[ea>>2]|0)<=0):0)?(ta=a+196|0,fa=p<<24>>24==2,fa|(b[ta>>0]|0)!=1):0){ua=wa+165|0;b:do if(!(b[ua>>0]|0)){s=a+4|0;u=wa+24|0;v=(f[u>>2]&1|0)==0;w=wa+16|0;pa=f[(f[w>>2]|0)+12>>2]|0;b[wa+78>>0]=b[pa+77>>0]|0;if(!((d[pa+78>>1]&1)==0?(q=qi(wa,0,s,0)|0,(q|0)!=0):0))va=7;c:do if((va|0)==7){q=f[wa+20>>2]|0;if((q|0)>1)do{r=q;q=q+-1|0;if((d[(f[(f[w>>2]|0)+(q<<4)+12>>2]|0)+78>>1]&1)==0?(x=qi(wa,q,s,0)|0,x|0):0){q=x;break c}}while((r|0)>2);if(v)f[u>>2]=f[u>>2]&-2;if(!(b[wa+89>>0]|0))break b;f[u>>2]=f[u>>2]|8;break b}while(0);f[a+12>>2]=q;f[ea>>2]=(f[ea>>2]|0)+1;r=m;q=0;va=448;break a}while(0);pa=(g|0)!=0;d:do if(pa){q=f[a>>2]|0;A=e+4|0;if(f[A>>2]|0){if(b[q+165>>0]|0){ni(a,51151,y);r=m;q=0;va=448;break a}q=Hl(q,c)|0;if((q|0)<0){f[z>>2]=c;ni(a,51168,z);r=m;q=0;va=448;break a}else{v=q;c=e}}else v=h[q+164>>0]|0;z=g+8|0;e:do if(!(b[ua>>0]|0)){r=f[z>>2]|0;if(!r)q=g+12|0;else{s=f[(f[a>>2]|0)+16>>2]|0;q=0;while(1)if((f[s+(q<<4)+12>>2]|0)==(r|0))break;else q=q+1|0;q=s+(q<<4)|0}y=pi(a,0,f[g+16>>2]|0,f[q>>2]|0)|0;q=f[a>>2]|0;r=g+24|0;s=f[r>>2]|0;do if(s|0){if(q|0?f[q+480>>2]|0:0){hg(q,s);break}ka=s+32|0;la=(f[ka>>2]|0)+-1|0;f[ka>>2]=la;if(!la)hg(q,s)}while(0);f[r>>2]=y;if(y){la=y+32|0;f[la>>2]=(f[la>>2]|0)+1;f:do if(b[g+45>>0]&2){w=f[g+72>>2]|0;q=f[y+8>>2]|0;g:do if(q|0){x=h[1232+(h[w>>0]|0)>>0]|0;while(1){s=f[q>>2]|0;la=b[s>>0]|0;r=(h[1232+(la&255)>>0]|0)-x|0;if(!(la<<24>>24==0|(r|0)!=0)){u=w;do{s=s+1|0;u=u+1|0;la=b[s>>0]|0;r=(h[1232+(la&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0}while(!(la<<24>>24==0|(r|0)!=0))}if(!r)break;q=f[q+20>>2]|0;if(!q)break g}f[g+76>>2]=q;break f}while(0);f[B>>2]=w;f[B+4>>2]=0;ni(a,50588,B);b[a+17>>0]=1;break e}while(0);if(!(f[A>>2]|0))v=(f[y+72>>2]|0)==(f[(f[wa+16>>2]|0)+28>>2]|0)?1:v}}while(0);u=f[a>>2]|0;f[C>>2]=a;u=f[u+16>>2]|0;f[C+12>>2]=f[u+(v<<4)>>2];f[C+4>>2]=f[u+(v<<4)+12>>2];f[C+16>>2]=58282;f[C+20>>2]=c;u=(v|0)==1;f[C+8>>2]=u&1;Yl(C,g)|0;r=f[z>>2]|0;if(!r)q=g+12|0;else{s=f[(f[a>>2]|0)+16>>2]|0;q=0;while(1)if((f[s+(q<<4)+12>>2]|0)==(r|0))break;else q=q+1|0;q=s+(q<<4)|0}r=pi(a,0,f[g+16>>2]|0,f[q>>2]|0)|0;if(!r){r=m;q=0;va=448;break a}if(u?(f[(f[wa+16>>2]|0)+28>>2]|0)!=(f[r+72>>2]|0):0){f[E>>2]=f[r>>2];ni(a,58288,E);r=m;q=0;va=448;break a}if((f[r+36>>2]&32|0)!=0?(D=f[r+8>>2]|0,(D|0)!=0):0){q=D;while(1){la=q+55|0;if(((h[la>>0]|h[la+1>>0]<<8)&3)==2){la=r;X=q;ka=v;ga=c;break d}q=f[q+20>>2]|0;if(!q){la=r;X=0;ka=v;ga=c;break}}}else{la=r;X=0;ka=v;ga=c}}else{q=f[a+224>>2]|0;if(!q){r=m;q=0;va=448;break a}r=f[q+72>>2]|0;if(!r){la=q;X=0;ka=-1e6;ga=0}else{s=f[wa+16>>2]|0;u=0;while(1)if((f[s+(u<<4)+12>>2]|0)==(r|0)){la=q;X=0;ka=u;ga=0;break}else u=u+1|0}}while(0);ha=wa+16|0;B=f[ha>>2]|0;v=B+(ka<<4)|0;u=f[la>>2]|0;h:do if(u|0){q=b[u>>0]|0;i:do if(!(q<<24>>24)){q=51912;va=69}else{_=q&255;q=1232+_|0;do if((_|32|0)==115){q=b[u+1>>0]|0;if(!(q<<24>>24)){q=51913;va=69;break i}_=q&255;q=1232+_|0;if((_|32|0)==113){q=b[u+2>>0]|0;if(!(q<<24>>24)){q=51914;va=69;break i}_=q&255;q=1232+_|0;if((_|32|0)==108){q=b[u+3>>0]|0;if(!(q<<24>>24)){q=51915;va=69;break i}_=q&255;q=1232+_|0;if((_|32|0)==105){q=b[u+4>>0]|0;if(!(q<<24>>24)){q=51916;va=69;break i}_=q&255;q=1232+_|0;if((_|32|0)==116){q=b[u+5>>0]|0;if(!(q<<24>>24)){q=51917;va=69;break i}q=q&255;if((q|32|0)!=101){r=101;q=1232+q|0;break}q=b[u+6>>0]|0;if(!(q<<24>>24)){q=51918;va=69;break i}if(q<<24>>24==95)break i;else{r=95;q=1232+(q&255)|0}}else r=116}else r=105}else r=108}else r=113}else r=115;while(0);G=h[q>>0]|0;F=r;va=73}while(0);if((va|0)==69){G=0;F=b[1232+(h[q>>0]|0)>>0]|0;va=73}if((va|0)==73?(G|0)!=(F&255|0):0)break;if(!(b[ua>>0]|0)){q=b[u+7>>0]|0;j:do if(!(q<<24>>24)){q=58338;va=76}else{_=q&255;q=1232+_|0;do if((_|32|0)==97){q=b[u+8>>0]|0;if(!(q<<24>>24)){q=58339;va=76;break j}_=q&255;q=1232+_|0;if((_|32|0)==108){q=b[u+9>>0]|0;if(!(q<<24>>24)){q=58340;va=76;break j}_=q&255;q=1232+_|0;if((_|32|0)==116){q=b[u+10>>0]|0;if(!(q<<24>>24)){q=58341;va=76;break j}_=q&255;q=1232+_|0;if((_|32|0)==101){q=b[u+11>>0]|0;if(!(q<<24>>24)){q=58342;va=76;break j}q=q&255;if((q|32|0)!=114){s=114;q=1232+q|0;break}q=b[u+12>>0]|0;if(!(q<<24>>24)){q=58343;va=76;break j}q=q&255;if((q|32|0)!=116){s=116;q=1232+q|0;break}q=b[u+13>>0]|0;if(!(q<<24>>24)){q=58344;va=76;break j}q=q&255;if((q|32|0)!=97){s=97;q=1232+q|0;break}q=b[u+14>>0]|0;if(!(q<<24>>24)){q=58345;va=76;break j}q=q&255;if((q|32|0)!=98){s=98;q=1232+q|0;break}q=b[u+15>>0]|0;if(!(q<<24>>24)){q=58346;va=76;break j}if(q<<24>>24==95)break h;else{s=95;q=1232+(q&255)|0}}else s=101}else s=116}else s=108}else s=97;while(0);r=h[q>>0]|0;q=s}while(0);if((va|0)==76){r=0;q=b[1232+(h[q>>0]|0)>>0]|0}if((r|0)!=(q&255|0)){f[H>>2]=u;ni(a,58348,H);r=m;q=0;va=448;break a}}}while(0);if(f[la+12>>2]|0){ni(a,58376,I);r=m;q=0;va=448;break}if(f[la+56>>2]|0){ni(a,58401,J);r=m;q=0;va=448;break}if(!ga){q=f[la+8>>2]|0;if(!q)q=1;else{r=1;do{r=r+1|0;q=f[q+20>>2]|0}while((q|0)!=0);q=r}f[M>>2]=u;f[M+4>>2]=q;q=Ig(wa,58493,M)|0;if(!q){r=m;q=0;va=448;break}if(b[ta>>0]|0){r=q+7|0;b[r>>0]=(b[r>>0]|0)+1<<24>>24;r=b[ta>>0]|0;if((r&255)<=1)va=129}else{r=0;va=129}}else{q=pl(wa,ga)|0;if(!q){r=m;q=0;va=448;break}if(Zl(a,q)|0){r=m;va=448;break}r=b[ta>>0]|0;if((r&255)<=1){if((b[ua>>0]|0)==0?ji(wa,q,0)|0:0){f[K>>2]=q;ni(a,58435,K);r=m;va=448;break}if(!(Qj(wa,q,f[v>>2]|0)|0))va=129;else{if(!o){f[L>>2]=q;ni(a,58469,L);r=m;va=448;break}v=f[a+116>>2]|0;v=(v|0)==0?a:v;r=v+84|0;s=f[r>>2]|0;u=1<>2]=s|u;if((ka|0)!=1){r=m;va=448;break}z=f[v>>2]|0;r=z+16|0;if(f[(f[r>>2]|0)+20>>2]|0){r=m;va=448;break}if(b[v+195>>0]|0){r=m;va=448;break}s=cj(f[z>>2]|0,0,z,oa,0,542)|0;if(s|0){ni(v,51535,N);f[v+12>>2]=s;r=m;va=448;break}k=f[oa>>2]|0;f[(f[r>>2]|0)+20>>2]=k;r=f[z+92>>2]|0;v=f[k+4>>2]|0;f[v+4>>2]=f[k>>2];do if(!(d[v+22>>1]&2)){w=v+32|0;x=v+36|0;y=(f[w>>2]|0)-(f[x>>2]|0)|0;do if((r+-512|0)>>>0<65025){if(r+-1&r|0)break;f[w>>2]=r;u=v+80|0;r=f[u>>2]|0;if(!r)break;s=r+-4|0;f[u>>2]=s;r=s;do if((f[18022]|0)>>>0<=r>>>0)if((f[18023]|0)>>>0>r>>>0){f[18188]=(f[18188]|0)+-1;f[s>>2]=f[18025];f[18025]=s;k=(f[18026]|0)+1|0;f[18026]=k;f[18027]=(k|0)<(f[18021]|0)&1;break}else{r=ib[f[37368>>2]&255](s)|0;va=111;break}else{r=ib[f[37368>>2]&255](s)|0;va=111}while(0);do if((va|0)==111){f[18189]=(f[18189]|0)-r;if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{va=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-va;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);f[u>>2]=0}while(0);va=ih(f[v>>2]|0,w,y)|0;f[x>>2]=(f[w>>2]|0)-(y&65535);if((va|0)!=7)break;r=z+81|0;do if(!(b[r>>0]|0)){if(b[z+82>>0]|0)break;b[r>>0]=1;if((f[z+180>>2]|0)>0)f[z+264>>2]=1;va=z+272|0;f[va>>2]=(f[va>>2]|0)+1}while(0);r=m;va=448;break a}while(0);r=m;va=448;break}}}do if((va|0)==129){x=f[v>>2]|0;w=(ka|0)==1;s=w?48842:43770;u=f[a>>2]|0;v=b[u+165>>0]|0;if((v|r)<<24>>24==0?(O=f[u+312>>2]|0,(O|0)!=0):0){r=nb[O&127](f[u+316>>2]|0,18,s,0,x,f[a+236>>2]|0)|0;if((r|0)==1){ni(a,49816,P);f[a+12>>2]=23;r=m;va=448;break a}if((r|2|0)!=2){ni(a,49831,Q);f[a+12>>2]=1;r=m;va=448;break a}if(r|0){r=m;va=448;break a}u=f[a>>2]|0;v=b[u+165>>0]|0}s=w?3:1;r=f[la>>2]|0;if((v<<24>>24==0?(b[ta>>0]|0)==0:0)?(R=f[u+312>>2]|0,(R|0)!=0):0){r=nb[R&127](f[u+316>>2]|0,s,q,r,x,f[a+236>>2]|0)|0;if((r|0)==1){ni(a,49816,S);f[a+12>>2]=23;r=m;va=448;break a}if((r|2|0)==2)if(!r)break;else{r=m;va=448;break a}else{ni(a,49831,T);f[a+12>>2]=1;r=m;va=448;break a}}}while(0);if(i){r=f[i>>2]|0;if((r|0)>(f[(f[a>>2]|0)+116>>2]|0)){f[U>>2]=58282;ni(a,51227,U);r=i;va=156}else{Q=i;A=i}}else{va=f[la+4>>2]|0;i=(d[la+42>>1]|0)+-1|0;_=va+(i<<4)+15|0;b[_>>0]=b[_>>0]|8;i=f[va+(i<<4)>>2]|0;f[oa>>2]=i;if(!i)i=0;else i=(wz(i)|0)&1073741823;f[oa+4>>2]=i;r=Dk(wa,59,oa,0)|0;r=ml(f[a>>2]|0,0,r)|0;if(!r){r=m;i=0;va=448;break}if((n|0)<0)i=r;else{b[r+4+(((f[r>>2]|0)+-1|0)*20|0)+12>>0]=n;i=r}va=156}if((va|0)==156){Q=r;A=i;r=f[i>>2]|0}if((r|0)>0){u=0;i=0;do{s=f[Q+4+(u*20|0)>>2]|0;if((b[s>>0]|0)==102){s=f[s+8>>2]|0;if(!s)s=0;else s=(wz(s)|0)&1073741823;i=i+1+s|0}u=u+1|0}while((u|0)!=(r|0));if(!q)u=0;else va=165}else{i=0;va=165}if((va|0)==165)u=(wz(q)|0)&1073741823;S=(X|0)!=0;if(S)s=j[X+50>>1]|0;else s=1;y=s+r|0;v=y&65535;y=y<<16;w=y>>16;x=(y>>14)+7&-8;y=y>>15;z=y+2|0;c=x+72+(w+7+y+z&-8)|0;e=u+1|0;u=e+i+c|0;s=((u|0)<0)<<31>>31;_=(wa|0)==0;k:do if(_){Z=KA(u|0,s|0,-1,-1)|0;Y=ba()|0;if(!(Y>>>0>0|(Y|0)==0&Z>>>0>2147483390)){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](u)|0;va=192;break}i=ib[f[37372>>2]&255](u)|0;if((f[18194]|0)>>>0>>0)f[18194]=u;s=71896;r=f[s>>2]|0;s=f[s+4>>2]|0;if((s|0)>0|(s|0)==0&r>>>0>0){Z=f[18187]|0;Y=LA(r|0,s|0,i|0,((i|0)<0)<<31>>31|0)|0;V=ba()|0;f[17976]=((V|0)<0|(V|0)==0&Y>>>0<=Z>>>0)&1}r=ib[f[37356>>2]&255](i)|0;if(r){i=ib[f[37368>>2]&255](r)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0<=(f[18196]|0)>>>0){va=193;break}f[18196]=i;va=193}else{Z=0;i=0;Y=0}}else{Z=0;i=0;Y=0}}else{if(f[wa+272>>2]|0){if(b[ma>>0]|0){r=m;i=Q;va=448;break a}}else{do if(!(0>>0|(0==(s|0)?(j[wa+276>>1]|0)>>>0>>0:0))){r=wa+300|0;i=f[r>>2]|0;if(i|0){f[r>>2]=f[i>>2];va=wa+284|0;f[va>>2]=(f[va>>2]|0)+1;va=192;break k}r=wa+296|0;i=f[r>>2]|0;if(!i){i=wa+292|0;break}else{f[r>>2]=f[i>>2];va=wa+284|0;f[va>>2]=(f[va>>2]|0)+1;va=192;break k}}else i=wa+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(wa,u,s)|0;va=192}while(0);if((va|0)==192)if(!i){Z=0;i=0;Y=0}else{r=i;va=193}if((va|0)==193){_A(r|0,0,u|0)|0;Z=r+72|0;f[r+32>>2]=Z;Z=Z+x|0;f[r+8>>2]=Z;Z=Z+z|0;f[r+4>>2]=Z;f[r+28>>2]=Z+y;d[r+52>>1]=v;d[r+50>>1]=w+65535;Z=r;i=r+c|0;Y=r}l:do if(!(b[ma>>0]|0)){f[Z>>2]=i;R=i;w=R+e|0;YA(R|0,q|0,e|0)|0;R=Z+12|0;f[R>>2]=la;V=Z+54|0;b[V>>0]=k;T=Z+55|0;U=p&3;p=((k|0)!=0&1)<<3&65535|U|(h[T>>0]|h[T+1>>0]<<8)&-12;b[T>>0]=p;b[T+1>>0]=p>>8;p=Z+24|0;f[p>>2]=f[(f[ha>>2]|0)+(ka<<4)+12>>2];n=Z+50|0;d[n>>1]=f[A>>2];if(m|0){u=aa+8|0;f[u>>2]=0;f[u+4>>2]=0;f[u+8>>2]=0;f[u+12>>2]=0;f[u+16>>2]=0;f[u+20>>2]=0;u=$;z=u+80|0;do{f[u>>2]=0;u=u+4|0}while((u|0)<(z|0));f[$>>2]=1;f[$+16>>2]=f[la>>2];f[$+24>>2]=la;f[$+48>>2]=-1;f[aa>>2]=a;f[aa+4>>2]=$;i=aa+24|0;d[i>>1]=2;f[oa>>2]=a;f[oa+4>>2]=146;f[oa+8>>2]=147;f[oa+12>>2]=0;f[oa+24>>2]=aa;r=m+24|0;s=a+204|0;P=(f[s>>2]|0)+(f[r>>2]|0)|0;f[s>>2]=P;s=f[(f[a>>2]|0)+120>>2]|0;do if((s|0)<(P|0)){f[W>>2]=s;ni(a,42710,W)}else{oi(oa,m)|0;W=(f[oa>>2]|0)+204|0;f[W>>2]=(f[W>>2]|0)-(f[r>>2]|0);if(!(d[i>>1]&16))break;W=m+4|0;f[W>>2]=f[W>>2]|2}while(0);f[Z+36>>2]=m}y=(h[(f[B+(ka<<4)+12>>2]|0)+76>>0]|0)>3;if((h[ta>>0]|0)>1){f[Z+40>>2]=Q;i=0}else i=Q;m:do if(!(d[n>>1]|0)){s=0;v=0}else{c=aa+8|0;e=$+16|0;A=$+24|0;B=$+48|0;C=aa+4|0;D=aa+24|0;E=oa+4|0;F=oa+8|0;G=oa+12|0;H=oa+24|0;I=a+224|0;J=la+40|0;o=Z+4|0;K=la+4|0;L=Z+40|0;M=Z+32|0;N=Z+28|0;O=a;P=a+204|0;x=Q+4|0;s=0;while(1){v=f[x>>2]|0;n:do switch(b[v>>0]|0){case 106:{b[v>>0]=59;break}case 102:{r=f[v+12>>2]|0;if((b[r>>0]|0)!=106)break n;b[r>>0]=59;break}default:{}}while(0);f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;u=$;z=u+80|0;do{f[u>>2]=0;u=u+4|0}while((u|0)<(z|0));f[$>>2]=1;f[e>>2]=f[la>>2];f[A>>2]=la;f[B>>2]=-1;f[aa>>2]=a;f[C>>2]=$;d[D>>1]=32;do if(v|0){d[D>>1]=32;f[oa>>2]=O;f[E>>2]=146;f[F>>2]=147;f[G>>2]=0;f[H>>2]=aa;r=v+24|0;m=(f[P>>2]|0)+(f[r>>2]|0)|0;f[P>>2]=m;u=f[(f[a>>2]|0)+120>>2]|0;if((u|0)<(m|0)){f[ca>>2]=u;ni(a,42710,ca);break}oi(oa,v)|0;m=(f[oa>>2]|0)+204|0;f[m>>2]=(f[m>>2]|0)-(f[r>>2]|0);if(!(d[D>>1]&16))break;m=v+4|0;f[m>>2]=f[m>>2]|2}while(0);if(f[ea>>2]|0){u=0;break l}r=f[x>>2]|0;o:do if(!r)r=0;else while(1){u=f[r+4>>2]|0;if(!(u&4096))break o;if(!(u&262144))r=r+12|0;else r=(f[r+20>>2]|0)+4|0;r=f[r>>2]|0;if(!r){r=0;break}}while(0);if((b[r>>0]|0)==-98){m=d[r+32>>1]|0;r=m<<16>>16;do if(m<<16>>16<0)r=d[J>>1]|0;else{if(b[(f[K>>2]|0)+(r<<4)+12>>0]|0)break;m=(h[T>>0]|h[T+1>>0]<<8)&-9;b[T>>0]=m;b[T+1>>0]=m>>8}while(0);d[(f[o>>2]|0)+(s<<1)>>1]=r}else{if((la|0)==(f[I>>2]|0))break;if(!(f[L>>2]|0)){f[L>>2]=i;i=0}d[(f[o>>2]|0)+(s<<1)>>1]=-2;r=(h[T>>0]|h[T+1>>0]<<8)&-9;b[T>>0]=r;b[T+1>>0]=r>>8;r=-2}u=f[x>>2]|0;do if((b[u>>0]|0)==102){u=f[u+8>>2]|0;if(!u)r=0;else r=(wz(u)|0)&1073741823;m=r+1|0;YA(w|0,u|0,m|0)|0;r=w;w=w+m|0}else{if((r|0)<=-1){r=0;break}r=f[(f[K>>2]|0)+(r<<4)+8>>2]|0}while(0);v=(r|0)==0?43030:r;p:do if(!(b[ua>>0]|0)){r=f[a>>2]|0;u=b[r+78>>0]|0;m=b[r+165>>0]|0;r=_k(r,u,v,m&255)|0;do if(!(m<<24>>24)){if(!r){r=$k(a,u,0,v)|0;break}if(f[r+12>>2]|0)break p;r=$k(a,u,r,v)|0}while(0);if(!r){u=0;break l}}while(0);f[(f[M>>2]|0)+(s<<2)>>2]=v;b[(f[N>>2]|0)+s>>0]=y?b[x+12>>0]|0:0;s=s+1|0;v=d[n>>1]|0;if(s>>>0<(v&65535)>>>0)x=x+20|0;else break m}ni(a,58516,da);r=0;va=412;break l}while(0);q:do if(S){A=X+50|0;u=d[A>>1]|0;if(!(u<<16>>16))break;B=X+4|0;C=Z+4|0;D=X+32|0;E=Z+32|0;z=X+28|0;c=Z+28|0;e=Z+52|0;r=0;while(1){x=d[(f[B>>2]|0)+(r<<1)>>1]|0;y=f[C>>2]|0;r:do if(!(v<<16>>16))va=255;else{w=y;v=v&65535;while(1){if((d[w>>1]|0)==x<<16>>16)break;if((v|0)>1){w=w+2|0;v=v+-1|0}else{va=255;break r}}d[e>>1]=(d[e>>1]|0)+-1<<16>>16}while(0);if((va|0)==255){va=0;d[y+(s<<1)>>1]=x;f[(f[E>>2]|0)+(s<<2)>>2]=f[(f[D>>2]|0)+(r<<2)>>2];b[(f[c>>2]|0)+s>>0]=b[(f[z>>2]|0)+r>>0]|0;s=s+1|0;u=d[A>>1]|0}r=r+1|0;if(r>>>0>=(u&65535)>>>0)break q;v=d[n>>1]|0}}else{d[(f[Z+4>>2]|0)+(s<<1)>>1]=-1;f[(f[Z+32>>2]|0)+(s<<2)>>2]=43030}while(0);u=f[Z+8>>2]|0;s=d[n>>1]|0;s=(s&65535)<5?s:5;r=d[(f[R>>2]|0)+44>>1]|0;d[u>>1]=r;if(f[Z+36>>2]|0){r=(r&65535)+65526&65535;d[u>>1]=r}if(r<<16>>16<33)d[u>>1]=33;YA(u+2|0,39644,s<<1&65535|0)|0;ea=d[n>>1]|0;r=ea&65535;if((s&65535)<(ea&65535)){r=s&65535;do{r=r+1|0;d[u+(r<<1)>>1]=23;s=d[n>>1]|0}while(r>>>0<(s&65535)>>>0);r=s&65535}if(b[V>>0]|0)d[u+(r<<1)>>1]=0;A=a+224|0;if(!(f[A>>2]|0))To(Z);w=d[Z+52>>1]|0;e=w<<16>>16==0;if(e){s=-1;r=-1}else{s=f[Z+4>>2]|0;r=w&65535;u=0;v=0;do{ea=r;r=r+-1|0;aa=d[s+(r<<1)>>1]|0;ca=(aa&65535)<63;aa=WA(1,0,aa<<16>>16|0)|0;da=ba()|0;u=(ca?aa:0)|u;v=(ca?da:0)|v}while((ea|0)>1);s=~u;r=~v}ea=Z+64|0;f[ea>>2]=s;f[ea+4>>2]=r;s:do if(pa){z=w&65535;r=la+42|0;if((z|0)<(d[r>>1]|0))break;c=h[T>>0]|h[T+1>>0]<<8;ea=c|32;b[T>>0]=ea;b[T+1>>0]=ea>>8;r=d[r>>1]|0;if(r<<16>>16<=0)break;s=d[la+40>>1]|0;x=s<<16>>16;y=Z+4|0;t:do if(e){if(!((x+1|0)<(r<<16>>16|0)|s<<16>>16==0^1))break s}else{u=r<<16>>16;s=0;while(1){if((s|0)!=(x|0)){v=s&65535;w=f[y>>2]|0;r=0;while(1){if((d[w+(r<<1)>>1]|0)==v<<16>>16)break;r=r+1|0;if(r>>>0>=z>>>0)break t}if((r&65535)<<16>>16<=-1)break t}s=s+1|0;if((s|0)>=(u|0))break s}}while(0);ea=c&-33;b[T>>0]=ea;b[T+1>>0]=ea>>8}while(0);u:do if((la|0)==(f[A>>2]|0)){r=f[la+8>>2]|0;if(!r)break;e=Z+4|0;A=Z+32|0;v:do if(fa){c=r;while(1){r=d[c+50>>1]|0;do if(r<<16>>16==(d[n>>1]|0)){z=r&65535;w:do if(!(r<<16>>16))r=0;else{w=f[c+4>>2]|0;x=f[e>>2]|0;y=c+32|0;r=0;do{if((d[w+(r<<1)>>1]|0)!=(d[x+(r<<1)>>1]|0))break w;u=f[(f[y>>2]|0)+(r<<2)>>2]|0;v=f[(f[A>>2]|0)+(r<<2)>>2]|0;ja=b[u>>0]|0;s=(h[1232+(ja&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0;if(!(ja<<24>>24==0|(s|0)!=0))do{u=u+1|0;v=v+1|0;ja=b[u>>0]|0;s=(h[1232+(ja&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0}while(!(ja<<24>>24==0|(s|0)!=0));if(s|0)break w;r=r+1|0}while(r>>>0>>0)}while(0);if((r|0)!=(z|0)){r=0;break}u=c+54|0;r=b[u>>0]|0;s=b[V>>0]|0;do if(r<<24>>24!=s<<24>>24){if(!(r<<24>>24==11|s<<24>>24==11)){f[ia>>2]=0;ni(a,58577,ia);r=b[u>>0]|0}if(r<<24>>24!=11)break;b[u>>0]=b[V>>0]|0}while(0);r=c+55|0;ja=(h[r>>0]|h[r+1>>0]<<8)&-4|U;b[r>>0]=ja;b[r+1>>0]=ja>>8;r=2}else r=20;while(0);switch(r&31){case 20:case 0:break;default:break v}c=f[c+20>>2]|0;if(!c)break u}}else{c=r;while(1){r=d[c+50>>1]|0;do if(r<<16>>16==(d[n>>1]|0)){z=r&65535;x:do if(!(r<<16>>16))r=0;else{w=f[c+4>>2]|0;x=f[e>>2]|0;y=c+32|0;r=0;do{if((d[w+(r<<1)>>1]|0)!=(d[x+(r<<1)>>1]|0))break x;u=f[(f[y>>2]|0)+(r<<2)>>2]|0;v=f[(f[A>>2]|0)+(r<<2)>>2]|0;ia=b[u>>0]|0;s=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0;if(!(ia<<24>>24==0|(s|0)!=0))do{u=u+1|0;v=v+1|0;ia=b[u>>0]|0;s=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0}while(!(ia<<24>>24==0|(s|0)!=0));if(s|0)break x;r=r+1|0}while(r>>>0>>0)}while(0);if((r|0)!=(z|0)){r=0;break}u=c+54|0;r=b[u>>0]|0;s=b[V>>0]|0;if(r<<24>>24==s<<24>>24){r=2;break}if(!(r<<24>>24==11|s<<24>>24==11)){f[ja>>2]=0;ni(a,58577,ja);r=b[u>>0]|0}if(r<<24>>24!=11){r=2;break}b[u>>0]=b[V>>0]|0;r=2}else r=20;while(0);switch(r&31){case 20:case 0:break;default:break v}c=f[c+20>>2]|0;if(!c)break u}}while(0);if(r|0){r=0;va=412;break l}}while(0);do if((h[ta>>0]|0)>1)va=399;else{if(b[ua>>0]|0){if(!(pg((f[p>>2]|0)+24|0,f[Z>>2]|0,Y)|0)){sa=wa+24|0;f[sa>>2]=f[sa>>2]|1;if(!pa)break;f[Z+44>>2]=f[wa+160>>2];va=399;break}if(b[ma>>0]|0){u=0;break l}if(b[wa+82>>0]|0){u=0;break l}b[ma>>0]=1;if((f[wa+180>>2]|0)>0)f[wa+264>>2]=1;u=wa+272|0;f[u>>2]=(f[u>>2]|0)+1;u=0;break l}if(!(pa|(f[la+36>>2]&32|0)==0))break;B=a+44|0;A=(f[B>>2]|0)+1|0;f[B>>2]=A;B=a+8|0;r=f[B>>2]|0;s=a+116|0;if(!r){do if(!(f[s>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);r=sl(a)|0;if(!r){r=0;va=412;break l}else C=r}else C=r;e=f[s>>2]|0;e=(e|0)==0?a:e;r=e+84|0;s=f[r>>2]|0;c=1<>2]=s|c;if((ka|0)!=1)break;z=f[e>>2]|0;r=z+16|0;if(f[(f[r>>2]|0)+20>>2]|0)break;if(b[e+195>>0]|0)break;s=cj(f[z>>2]|0,0,z,oa,0,542)|0;if(s|0){ni(e,51535,na);f[e+12>>2]=s;break}oa=f[oa>>2]|0;f[(f[r>>2]|0)+20>>2]=oa;r=f[z+92>>2]|0;v=f[oa+4>>2]|0;f[v+4>>2]=f[oa>>2];do if(!(d[v+22>>1]&2)){w=v+32|0;x=v+36|0;y=(f[w>>2]|0)-(f[x>>2]|0)|0;do if((r+-512|0)>>>0<65025){if(r+-1&r|0)break;f[w>>2]=r;u=v+80|0;r=f[u>>2]|0;if(!r)break;s=r+-4|0;f[u>>2]=s;r=s;do if((f[18022]|0)>>>0<=r>>>0)if((f[18023]|0)>>>0>r>>>0){f[18188]=(f[18188]|0)+-1;f[s>>2]=f[18025];f[18025]=s;oa=(f[18026]|0)+1|0;f[18026]=oa;f[18027]=(oa|0)<(f[18021]|0)&1;break}else{r=ib[f[37368>>2]&255](s)|0;va=360;break}else{r=ib[f[37368>>2]&255](s)|0;va=360}while(0);do if((va|0)==360){f[18189]=(f[18189]|0)-r;if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{va=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-va;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);f[u>>2]=0}while(0);va=ih(f[v>>2]|0,w,y)|0;f[x>>2]=(f[w>>2]|0)-(y&65535);if((va|0)!=7)break;r=z+81|0;do if(!(b[r>>0]|0)){if(b[z+82>>0]|0)break;b[r>>0]=1;if((f[z+180>>2]|0)>0)f[z+264>>2]=1;va=z+272|0;f[va>>2]=(f[va>>2]|0)+1}while(0);break y}while(0)}while(0);y=e+80|0;f[y>>2]=f[y>>2]|c;y=e+20|0;b[y>>0]=b[y>>0]|1;y=C+136|0;r=f[y>>2]|0;x=C+12|0;if((f[(f[x>>2]|0)+48>>2]|0)>(r|0)){f[y>>2]=r+1;u=f[C+88>>2]|0;b[u+(r*20|0)>>0]=-85;u=u+(r*20|0)+1|0;z=u+19|0;do{b[u>>0]=0;u=u+1|0}while((u|0)<(z|0))}else r=tl(C,171,0,0,0)|0;w=Z+44|0;f[w>>2]=r;r=f[y>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(r|0)){f[y>>2]=r+1;va=f[C+88>>2]|0;b[va+(r*20|0)>>0]=-116;d[va+(r*20|0)+2>>1]=0;f[va+(r*20|0)+4>>2]=ka;f[va+(r*20|0)+8>>2]=A;f[va+(r*20|0)+12>>2]=2;f[va+(r*20|0)+16>>2]=0;b[va+(r*20|0)+1>>0]=0}else tl(C,140,ka,A,2)|0;if(!l)s=0;else{s=f[ga>>2]|0;va=(f[a+184>>2]|0)-s+(f[a+188>>2]|0)|0;l=va+-1|0;va=(b[s+l>>0]|0)==59?l:va;f[qa>>2]=(k|0)==0?72788:58619;f[qa+4>>2]=va;f[qa+8>>2]=s;s=Ig(wa,58627,qa)|0}qa=f[Z>>2]|0;va=f[la>>2]|0;f[ra>>2]=f[(f[ha>>2]|0)+(ka<<4)>>2];f[ra+4>>2]=43770;f[ra+8>>2]=qa;f[ra+12>>2]=va;f[ra+16>>2]=A;f[ra+20>>2]=s;Tl(a,58647,ra);z:do if(s|0){if(f[wa+480>>2]|0){Kc(wa,s);break}r=s;do if((f[wa+304>>2]|0)>>>0<=r>>>0){if((f[wa+308>>2]|0)>>>0<=r>>>0)break;va=wa+300|0;f[s>>2]=f[va>>2];f[va>>2]=s;break z}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{va=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-va;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);do if(pa){bm(a,Z,A);r=f[B>>2]|0;s=(f[f[(f[(f[a>>2]|0)+16>>2]|0)+(ka<<4)+12>>2]>>2]|0)+1|0;u=r+136|0;v=f[u>>2]|0;if((f[(f[r+12>>2]|0)+48>>2]|0)>(v|0)){f[u>>2]=v+1;va=f[r+88>>2]|0;b[va+(v*20|0)>>0]=107;d[va+(v*20|0)+2>>1]=0;f[va+(v*20|0)+4>>2]=ka;f[va+(v*20|0)+8>>2]=1;f[va+(v*20|0)+12>>2]=s;f[va+(v*20|0)+16>>2]=0;b[va+(v*20|0)+1>>0]=0}else tl(r,107,ka,1,s)|0;f[sa>>2]=f[Z>>2];Xl(C,ka,Ig(wa,58695,sa)|0);r=f[y>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(r|0)){f[y>>2]=r+1;va=f[C+88>>2]|0;b[va+(r*20|0)>>0]=-97;d[va+(r*20|0)+2>>1]=0;f[va+(r*20|0)+4>>2]=0;f[va+(r*20|0)+8>>2]=1;f[va+(r*20|0)+12>>2]=0;f[va+(r*20|0)+16>>2]=0;b[va+(r*20|0)+1>>0]=0;break}else{tl(C,159,0,1,0)|0;break}}while(0);r=f[w>>2]|0;s=f[y>>2]|0;if(!(b[(f[C>>2]|0)+81>>0]|0))r=(f[C+88>>2]|0)+(((r|0)<0?s+-1|0:r)*20|0)|0;else r=72144;f[r+8>>2]=s;va=399}while(0);do if((va|0)==399){if((g|0)==0|(b[ua>>0]|0)!=0)break;if((h[ta>>0]|0)<=1){r=0;va=412;break l}f[a+228>>2]=Z;break a}while(0);u=la+8|0;do if((k|0)==5){s=f[u>>2]|0;r=s;if(!s)break;if((b[s+54>>0]|0)==5)break;r=s+20|0;s=f[r>>2]|0;A:do if(!s)s=0;else while(1){if((b[s+54>>0]|0)==5)break A;r=s+20|0;s=f[r>>2]|0;if(!s){s=0;break}}while(0);f[Z+20>>2]=s;f[r>>2]=Z;break a}else r=f[u>>2]|0;while(0);f[Z+20>>2]=r;f[u>>2]=Z;break a}else{r=m;i=Q;va=412}while(0);if((va|0)==412)if(!Z){va=448;break}else u=r;r=f[Z+36>>2]|0;if(r|0)ig(wa,r);r=f[Z+40>>2]|0;if(r|0)jg(wa,r);r=f[Z+16>>2]|0;B:do if(r|0){do if(!_){if(f[wa+480>>2]|0){Kc(wa,r);break B}s=r;if((f[wa+304>>2]|0)>>>0>s>>>0)break;if((f[wa+308>>2]|0)>>>0<=s>>>0)break;va=wa+300|0;f[r>>2]=f[va>>2];f[va>>2]=r;break B}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{va=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-va;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}while(0);va=Z+55|0;C:do if((h[va>>0]|h[va+1>>0]<<8)&16){r=f[Z+32>>2]|0;if(!r)break;do if(!_){if(f[wa+480>>2]|0){Kc(wa,r);break C}s=r;if((f[wa+304>>2]|0)>>>0>s>>>0)break;if((f[wa+308>>2]|0)>>>0<=s>>>0)break;va=wa+300|0;f[r>>2]=f[va>>2];f[va>>2]=r;break C}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{va=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-va;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}while(0);if(Y){do if(!_){if(f[wa+480>>2]|0){Kc(wa,Y);r=u;va=448;break a}r=Y;if((f[wa+304>>2]|0)>>>0>r>>>0)break;if((f[wa+308>>2]|0)>>>0<=r>>>0)break;r=wa+300|0;f[Y>>2]=f[r>>2];f[r>>2]=Y;r=u;va=448;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](Y);r=u;va=448;break}else{r=ib[f[37368>>2]&255](Y)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Y);r=u;va=448;break}}else{r=u;va=448}}else{r=m;q=0;va=448}while(0);if((va|0)==448)if(r)ig(wa,r);if(i|0)jg(wa,i);ng(wa,g);if(!q){t=xa;return}if(wa|0){if(f[wa+480>>2]|0){Kc(wa,q);t=xa;return}g=q;if((f[wa+304>>2]|0)>>>0<=g>>>0?(f[wa+308>>2]|0)>>>0>g>>>0:0){g=wa+300|0;f[q>>2]=f[g>>2];f[g>>2]=q;t=xa;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](q);t=xa;return}else{g=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);t=xa;return}}function Fl(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=t;t=t+32|0;H=M+16|0;m=M+8|0;l=M;L=f[a>>2]|0;J=f[a+224>>2]|0;a:do if((J|0)!=0?(K=a+196|0,(b[K>>0]|0)!=1):0){r=(c|0)==0;do if(r){E=d[J+42>>1]|0;k=(E<<16>>16)+-1|0;if(E<<16>>16<1){D=129;break a}if(g)if((f[g>>2]|0)==1){k=1;D=13}else{f[l>>2]=f[(f[J+4>>2]|0)+(k<<4)>>2];f[l+4>>2]=e;ni(a,58079,l);break a}else{k=1;D=12}}else{if(!g){k=f[c>>2]|0;D=12;break}k=f[g>>2]|0;if((k|0)==(f[c>>2]|0))D=13;else{ni(a,58142,m);D=128;break a}}while(0);if((D|0)==12){p=e+4|0;l=(k<<3)+37+(f[p>>2]|0)|0;E=k;B=0}else if((D|0)==13){p=e+4|0;l=(k<<3)+37+(f[p>>2]|0)|0;o=f[g>>2]|0;if((o|0)>0){n=0;do{m=f[g+4+(n*20|0)+4>>2]|0;if(!m)m=0;else m=(wz(m)|0)&1073741823;l=l+1+m|0;n=n+1|0}while((n|0)<(o|0));E=k;B=1}else{E=k;B=1}}n=((l|0)<0)<<31>>31;C=(L|0)==0;b:do if(C){A=KA(l|0,n|0,-1,-1)|0;z=ba()|0;if(z>>>0>0|(z|0)==0&A>>>0>2147483390){D=127;break a}if(!(f[9328]|0)){k=ib[f[37356>>2]&255](l)|0;D=42;break}n=ib[f[37372>>2]&255](l)|0;if((f[18194]|0)>>>0>>0)f[18194]=l;m=71896;k=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&k>>>0>0){A=f[18187]|0;z=LA(k|0,m|0,n|0,((n|0)<0)<<31>>31|0)|0;y=ba()|0;f[17976]=((y|0)<0|(y|0)==0&z>>>0<=A>>>0)&1}m=ib[f[37356>>2]&255](n)|0;if(!m){D=127;break a}k=ib[f[37368>>2]&255](m)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;A=m}else A=m}else{if(f[L+272>>2]|0){if(b[L+81>>0]|0){D=127;break a}}else{do if(!(0>>0|(0==(n|0)?(j[L+276>>1]|0)>>>0>>0:0))){m=L+300|0;k=f[m>>2]|0;if(k|0){f[m>>2]=f[k>>2];D=L+284|0;f[D>>2]=(f[D>>2]|0)+1;D=42;break b}m=L+296|0;k=f[m>>2]|0;if(!k){k=L+292|0;break}else{f[m>>2]=f[k>>2];D=L+284|0;f[D>>2]=(f[D>>2]|0)+1;D=42;break b}}else k=L+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(L,l,n)|0;D=42}while(0);if((D|0)==42)if(!k){D=127;break}else A=k;_A(A|0,0,l|0)|0;f[A>>2]=J;z=J+16|0;f[A+4>>2]=f[z>>2];x=A+36|0;o=x+(E<<3)|0;y=A+8|0;f[y>>2]=o;c:do if((h[K>>0]|0)>1){m=f[a>>2]|0;d:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;D=67;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){w=f[18187]|0;v=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;u=ba()|0;f[17976]=((u|0)<0|(u|0)==0&v>>>0<=w>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break c;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break c}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];D=m+284|0;f[D>>2]=(f[D>>2]|0)+1;D=67;break d}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];D=m+284|0;f[D>>2]=(f[D>>2]|0)+1;D=67;break d}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;D=67}while(0);if((D|0)==67)if(!k)break;l=k+4|0;m=l+12|0;do{b[l>>0]=0;l=l+1|0}while((l|0)<(m|0));f[k>>2]=o;u=e;v=f[u+4>>2]|0;w=k+4|0;f[w>>2]=f[u>>2];f[w+4>>2]=v;w=a+268|0;f[k+12>>2]=f[w>>2];f[w>>2]=k}while(0);YA(o|0,f[e>>2]|0,f[p>>2]|0)|0;b[o+(f[p>>2]|0)>>0]=0;if(o|0?(q=b[o>>0]|0,(b[5472+(q&255)>>0]|0)<0):0){n=q<<24>>24==91?93:q;m=0;k=1;while(1){l=b[o+k>>0]|0;if(l<<24>>24==n<<24>>24){k=k+1|0;l=o+m|0;if((b[o+k>>0]|0)!=n<<24>>24)break;b[l>>0]=n}else b[o+m>>0]=l;m=m+1|0;k=k+1|0}b[l>>0]=0}m=o+((f[p>>2]|0)+1)|0;f[A+20>>2]=E;e:do if(!r)if((E|0)>0){s=J+4|0;u=a+268|0;w=d[J+42>>1]|0;v=w<<16>>16>0;w=w<<16>>16;r=0;f:while(1){if(!v){D=116;break}e=f[s>>2]|0;k=f[c+4+(r*20|0)+4>>2]|0;q=h[1232+(h[k>>0]|0)>>0]|0;l=0;while(1){o=f[e+(l<<4)>>2]|0;p=b[o>>0]|0;n=(h[1232+(p&255)>>0]|0)-q|0;if(!(p<<24>>24==0|(n|0)!=0)){p=k;do{o=o+1|0;p=p+1|0;N=b[o>>0]|0;n=(h[1232+(N&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0}while(!(N<<24>>24==0|(n|0)!=0))}if(!n)break;l=l+1|0;if((l|0)>=(w|0))break f}f[x+(r<<3)>>2]=l;g:do if((h[K>>0]|0)>1?(G=x+(r<<3)|0,F=f[u>>2]|0,F|0):0){l=F;while(1){if((f[l>>2]|0)==(k|0))break;l=f[l+12>>2]|0;if(!l)break g}f[l>>2]=G}while(0);k=r+1|0;if((k|0)<(E|0))r=k;else{D=96;break e}}if((D|0)==116)k=f[c+4+(r*20|0)+4>>2]|0;f[H>>2]=k;ni(a,58236,H);if(!A){D=128;break a}if(!C)D=119}else D=107;else{f[x>>2]=(d[J+42>>1]|0)+-1;D=96}while(0);if((D|0)==96)if(B&(E|0)>0){p=a+268|0;n=0;while(1){o=f[g+4+(n*20|0)+4>>2]|0;if(!o)l=0;else l=(wz(o)|0)&1073741823;f[x+(n<<3)+4>>2]=m;h:do if((h[K>>0]|0)>1?(I=f[p>>2]|0,I|0):0){k=I;while(1){if((f[k>>2]|0)==(o|0))break;k=f[k+12>>2]|0;if(!k)break h}f[k>>2]=m}while(0);YA(m|0,o|0,l|0)|0;b[m+l>>0]=0;n=n+1|0;if((n|0)==(E|0)){D=107;break}else m=m+(l+1)|0}}else D=107;if((D|0)==107){b[A+24>>0]=0;b[A+25>>0]=i;b[A+26>>0]=i>>>8;k=pg((f[J+72>>2]|0)+56|0,f[y>>2]|0,A)|0;if((k|0)!=(A|0)){if(k|0){f[A+12>>2]=k;f[k+16>>2]=A}f[z>>2]=A;D=127;break}k=L+81|0;if((b[k>>0]|0)==0?(b[L+82>>0]|0)==0:0){b[k>>0]=1;if((f[L+180>>2]|0)>0)f[L+264>>2]=1;D=L+272|0;f[D>>2]=(f[D>>2]|0)+1;D=119}else D=119}if((D|0)==119){if(f[L+480>>2]|0){Kc(L,A);D=127;break}N=A;if((f[L+304>>2]|0)>>>0<=N>>>0?(f[L+308>>2]|0)>>>0>N>>>0:0){D=L+300|0;f[A>>2]=f[D>>2];f[D>>2]=A;D=127;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](A);D=127;break}else{D=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);D=127;break}}else D=127;while(0);if((D|0)==127)if(!c)D=129;else D=128;if((D|0)==128){jg(L,c);D=129}if((D|0)==129?(g|0)==0:0){t=M;return}jg(L,g);t=M;return}function Gl(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0;V=t;t=t+208|0;Q=V+184|0;O=V+176|0;N=V+160|0;M=V+152|0;L=V+136|0;K=V+128|0;J=V+112|0;I=V+104|0;F=V+96|0;B=V+88|0;A=V+80|0;z=V+72|0;y=V+64|0;x=V+56|0;v=V+48|0;u=V+40|0;s=V+32|0;r=V+24|0;P=V;T=f[a>>2]|0;if(b[T+81>>0]|0){ng(T,c);t=V;return}a:do if(!(b[T+165>>0]|0)){l=a+4|0;m=T+24|0;n=(f[m>>2]&1|0)==0;o=T+16|0;S=f[(f[o>>2]|0)+12>>2]|0;b[T+78>>0]=b[S+77>>0]|0;if(!((d[S+78>>1]&1)==0?(i=qi(T,0,l,0)|0,(i|0)!=0):0))C=5;b:do if((C|0)==5){i=f[T+20>>2]|0;if((i|0)>1)do{k=i;i=i+-1|0;if((d[(f[(f[o>>2]|0)+(i<<4)+12>>2]|0)+78>>1]&1)==0?(p=qi(T,i,l,0)|0,p|0):0){i=p;break b}}while((k|0)>2);if(n)f[m>>2]=f[m>>2]&-2;if(!(b[T+89>>0]|0))break a;f[m>>2]=f[m>>2]|8;break a}while(0);f[a+12>>2]=i;a=a+36|0;f[a>>2]=(f[a>>2]|0)+1;ng(T,c);t=V;return}while(0);m=(g|0)!=0;if(m){S=T+85|0;b[S>>0]=(b[S>>0]|0)+1<<24>>24}k=f[c+8>>2]|0;if(!k)i=c+12|0;else{l=f[(f[a>>2]|0)+16>>2]|0;i=0;while(1)if((f[l+(i<<4)+12>>2]|0)==(k|0))break;else i=i+1|0;i=l+(i<<4)|0}S=pi(a,e,f[c+16>>2]|0,f[i>>2]|0)|0;if(m){R=T+85|0;b[R>>0]=(b[R>>0]|0)+-1<<24>>24}if(!S){if(!m){ng(T,c);t=V;return}Sl(a,f[c+12>>2]|0);ng(T,c);t=V;return}G=S+72|0;k=f[G>>2]|0;if(!k)R=-1e6;else{l=f[T+16>>2]|0;i=0;while(1)if((f[l+(i<<4)+12>>2]|0)==(k|0)){R=i;break}else i=i+1|0}D=S+56|0;if(f[D>>2]|0?ki(a,S)|0:0){ng(T,c);t=V;return}g=(R|0)==1;i=g?48842:43770;o=f[(f[T+16>>2]|0)+(R<<4)>>2]|0;k=f[a>>2]|0;do if(((b[k+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(q=f[k+312>>2]|0,q|0):0){i=nb[q&127](f[k+316>>2]|0,9,i,0,o,f[a+236>>2]|0)|0;if((i|0)==1){ni(a,49816,r);f[a+12>>2]=23;ng(T,c);t=V;return}if((i|2|0)==2){if(!i)break;ng(T,c);t=V;return}else{ni(a,49831,s);f[a+12>>2]=1;ng(T,c);t=V;return}}while(0);do if(!e){if(!(f[D>>2]|0)){l=0;m=g?13:11;break}i=S+64|0;while(1){i=f[i>>2]|0;if((f[i>>2]|0)==(T|0))break;else i=i+24|0}l=f[(f[i+4>>2]|0)+4>>2]|0;m=30}else{l=0;m=g?15:17}while(0);i=f[S>>2]|0;k=f[a>>2]|0;do if((b[k+165>>0]|0)==0?(w=a+196|0,(b[w>>0]|0)==0):0){n=f[k+312>>2]|0;if(n){i=nb[n&127](f[k+316>>2]|0,m,i,l,o,f[a+236>>2]|0)|0;if((i|0)==1){ni(a,49816,u);f[a+12>>2]=23;ng(T,c);t=V;return}if((i|2|0)!=2){ni(a,49831,v);f[a+12>>2]=1;ng(T,c);t=V;return}if(i|0){ng(T,c);t=V;return}i=f[S>>2]|0;k=f[a>>2]|0;if(b[k+165>>0]|0){o=i;break}if(b[w>>0]|0){o=i;break}}l=f[k+312>>2]|0;if(l){i=nb[l&127](f[k+316>>2]|0,9,i,0,o,f[a+236>>2]|0)|0;if((i|0)==1){ni(a,49816,x);f[a+12>>2]=23;ng(T,c);t=V;return}if((i|2|0)!=2){ni(a,49831,y);f[a+12>>2]=1;ng(T,c);t=V;return}if(!i){o=f[S>>2]|0;break}else{ng(T,c);t=V;return}}else o=i}else o=i;while(0);c:do if(o|0){m=b[o>>0]|0;n=m<<24>>24==0;d:do if(n){i=51912;C=66}else{C=m&255;i=1232+C|0;do if((C|32|0)==115){i=b[o+1>>0]|0;if(!(i<<24>>24)){i=51913;C=66;break d}C=i&255;i=1232+C|0;if((C|32|0)==113){i=b[o+2>>0]|0;if(!(i<<24>>24)){i=51914;C=66;break d}i=i&255;if((i|32|0)!=108){l=108;i=1232+i|0;break}i=b[o+3>>0]|0;if(!(i<<24>>24)){i=51915;C=66;break d}i=i&255;if((i|32|0)!=105){l=105;i=1232+i|0;break}i=b[o+4>>0]|0;if(!(i<<24>>24)){i=51916;C=66;break d}i=i&255;if((i|32|0)!=116){l=116;i=1232+i|0;break}i=b[o+5>>0]|0;if(!(i<<24>>24)){i=51917;C=66;break d}i=i&255;if((i|32|0)!=101){l=101;i=1232+i|0;break}i=b[o+6>>0]|0;if(!(i<<24>>24)){i=51918;C=66;break d}if(i<<24>>24==95){C=75;break d}else{l=95;i=1232+(i&255)|0}}else l=113}else l=115;while(0);k=h[i>>0]|0;i=l;C=70}while(0);if((C|0)==66){k=0;i=b[1232+(h[i>>0]|0)>>0]|0;C=70}if((C|0)==70){if((k|0)!=(i&255|0))break;if(!n){i=m&255;if((i|32|0)==115)C=75;else{l=115;i=1232+i|0;C=74}}else{i=57872;C=72}}do if((C|0)==75){i=b[o+1>>0]|0;if(i<<24>>24){y=i&255;i=1232+y|0;if((y|32|0)==113){i=b[o+2>>0]|0;if(i<<24>>24){y=i&255;i=1232+y|0;if((y|32|0)==108){i=b[o+3>>0]|0;if(i<<24>>24){i=i&255;if((i|32|0)!=105){l=105;i=1232+i|0;C=74;break}i=b[o+4>>0]|0;if(!(i<<24>>24)){i=57876;C=72;break}i=i&255;if((i|32|0)!=116){l=116;i=1232+i|0;C=74;break}i=b[o+5>>0]|0;if(!(i<<24>>24)){i=57877;C=72;break}i=i&255;if((i|32|0)!=101){l=101;i=1232+i|0;C=74;break}i=b[o+6>>0]|0;if(!(i<<24>>24)){i=57878;C=72;break}if(i<<24>>24!=95){l=95;i=1232+(i&255)|0;C=74;break}i=b[o+7>>0]|0;if(!(i<<24>>24)){i=57879;C=72;break}i=i&255;if((i|32|0)!=115){l=115;i=1232+i|0;C=74;break}i=b[o+8>>0]|0;if(!(i<<24>>24)){i=57880;C=72;break}i=i&255;if((i|32|0)!=116){l=116;i=1232+i|0;C=74;break}i=b[o+9>>0]|0;if(!(i<<24>>24)){i=57881;C=72;break}i=i&255;if((i|32|0)!=97){l=97;i=1232+i|0;C=74;break}i=b[o+10>>0]|0;if(!(i<<24>>24)){i=57882;C=72;break}i=i&255;if((i|32|0)==116)break c;else{l=116;i=1232+i|0;C=74}}else{i=57875;C=72}}else{l=108;C=74}}else{i=57874;C=72}}else{l=113;C=74}}else{i=57873;C=72}}while(0);if((C|0)==72){k=0;i=b[1232+(h[i>>0]|0)>>0]|0}else if((C|0)==74){k=h[i>>0]|0;i=l}if((k|0)!=(i&255|0)){f[z>>2]=o;ni(a,57884,z);ng(T,c);t=V;return}}while(0);r=(e|0)!=0;i=(f[S+12>>2]|0)==0;if(r){if(i){f[A>>2]=o;ni(a,57912,A);ng(T,c);t=V;return}}else if(!i){f[B>>2]=o;ni(a,57946,B);ng(T,c);t=V;return}v=a+8|0;w=a+116|0;if(!(f[v>>2]|0)){if((f[w>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;if(!(sl(a)|0)){ng(T,c);t=V;return}}q=f[w>>2]|0;q=(q|0)==0?a:q;i=q+84|0;k=f[i>>2]|0;p=1<>2]=k|p,g):0)?(H=f[q>>2]|0,E=H+16|0,(f[(f[E>>2]|0)+20>>2]|0)==0):0)?(b[q+195>>0]|0)==0:0){i=cj(f[H>>2]|0,0,H,P,0,542)|0;if(i|0){ni(q,51535,F);f[q+12>>2]=i;break}F=f[P>>2]|0;f[(f[E>>2]|0)+20>>2]=F;i=f[H+92>>2]|0;m=f[F+4>>2]|0;f[m+4>>2]=f[F>>2];do if(!(d[m+22>>1]&2)){n=m+32|0;o=m+36|0;g=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((i+-512|0)>>>0<65025){if(i+-1&i|0)break;f[n>>2]=i;l=m+80|0;i=f[l>>2]|0;if(!i)break;k=i+-4|0;f[l>>2]=k;i=k;do if((f[18022]|0)>>>0<=i>>>0)if((f[18023]|0)>>>0>i>>>0){f[18188]=(f[18188]|0)+-1;f[k>>2]=f[18025];f[18025]=k;F=(f[18026]|0)+1|0;f[18026]=F;f[18027]=(F|0)<(f[18021]|0)&1;break}else{i=ib[f[37368>>2]&255](k)|0;C=103;break}else{i=ib[f[37368>>2]&255](k)|0;C=103}while(0);do if((C|0)==103){f[18189]=(f[18189]|0)-i;if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{F=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);f[l>>2]=0}while(0);F=ih(f[m>>2]|0,n,g)|0;f[o>>2]=(f[n>>2]|0)-(g&65535);if((F|0)!=7)break;i=H+81|0;do if(!(b[i>>0]|0)){if(b[H+82>>0]|0)break;b[i>>0]=1;if((f[H+180>>2]|0)>0)f[H+264>>2]=1;H=H+272|0;f[H>>2]=(f[H>>2]|0)+1}while(0);break e}while(0)}while(0);H=q+80|0;f[H>>2]=f[H>>2]|p;H=q+20|0;b[H>>0]=b[H>>0]|1;if(r){So(a,S,R,e);ng(T,c);t=V;return}k=f[S>>2]|0;l=f[(f[(f[a>>2]|0)+16>>2]|0)+(R<<4)>>2]|0;f[I>>2]=1;vd(24,P,51654,I)|0;if(ji(f[a>>2]|0,P,l)|0){f[J>>2]=l;f[J+4>>2]=P;f[J+8>>2]=47825;f[J+12>>2]=k;Tl(a,51668,J)}f[K>>2]=2;vd(24,P,51654,K)|0;if(ji(f[a>>2]|0,P,l)|0){f[L>>2]=l;f[L+4>>2]=P;f[L+8>>2]=47825;f[L+12>>2]=k;Tl(a,51668,L)}f[M>>2]=3;vd(24,P,51654,M)|0;if(ji(f[a>>2]|0,P,l)|0){f[N>>2]=l;f[N+4>>2]=P;f[N+8>>2]=47825;f[N+12>>2]=k;Tl(a,51668,N)}f[O>>2]=4;vd(24,P,51654,O)|0;i=f[a>>2]|0;if(!(ji(i,P,l)|0))r=i;else{f[Q>>2]=l;f[Q+4>>2]=P;f[Q+8>>2]=47825;f[Q+12>>2]=k;Tl(a,51668,Q);r=f[a>>2]|0}s=r+32|0;f:do if(!((f[s>>2]&16384|0)==0&0==0)){if(f[D>>2]|0)break;i=f[v>>2]|0;if(!i){do if(!(f[w>>2]|0)){if(d[r+76>>1]&8)break;b[a+23>>0]=1}while(0);u=sl(a)|0}else u=i;g=f[S>>2]|0;m=f[G>>2]|0;n=f[m+68>>2]|0;if(!n){k=m+60|0;i=m+64|0}else{k=b[g>>0]|0;if(!(k<<24>>24))i=0;else{i=0;l=g;do{l=l+1|0;i=U(i+(h[1232+(k&255)>>0]|0)|0,-1640531535)|0;k=b[l>>0]|0}while(k<<24>>24!=0)}i=(i>>>0)%((f[m+56>>2]|0)>>>0)|0;k=n+(i<<3)|0;i=n+(i<<3)+4|0}k=f[k>>2]|0;g:do if(!k)i=72124;else{o=h[1232+(h[g>>0]|0)>>0]|0;while(1){i=f[i>>2]|0;k=k+-1|0;m=f[i+12>>2]|0;Q=b[m>>0]|0;l=(h[1232+(Q&255)>>0]|0)-o|0;if(!(Q<<24>>24==0|(l|0)!=0)){n=g;do{m=m+1|0;n=n+1|0;Q=b[m>>0]|0;l=(h[1232+(Q&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(Q<<24>>24==0|(l|0)!=0))}if(!l)break g;if(!k){i=72124;break}}}while(0);do if(!(f[i+8>>2]|0)){i=f[S+16>>2]|0;if(!i)break f;while(1){if(b[i+24>>0]|0)break;if(!((f[s>>2]&524288|0)==0&0==0))break;i=f[i+4>>2]|0;if(!i)break f}q=u+12|0;i=f[q>>2]|0;g=i+60|0;p=f[g>>2]|0;f[g>>2]=p+1;g=i+64|0;if(!(p+-1&p)){n=p<<3|4;o=f[i>>2]|0;i=f[g>>2]|0;h:do if(i){l=i;m=o+304|0;do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)))break h}while(0);k=Lc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Kc(o,i);i=0;break}do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;Q=o+300|0;f[i>>2]=f[Q>>2];f[Q>>2]=i;i=0;break h}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{Q=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];Q=o+284|0;f[Q>>2]=(f[Q>>2]|0)+1;break h}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];Q=o+284|0;f[Q>>2]=(f[Q>>2]|0)+1;break h}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[g>>2]=i}else i=f[g>>2]|0;if(i|0)f[i+(p<<2)>>2]=-1;i=~p;k=u+136|0;l=f[k>>2]|0;if((f[(f[q>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;n=f[u+88>>2]|0;b[n+(l*20|0)>>0]=46;d[n+(l*20|0)+2>>1]=0;f[n+(l*20|0)+4>>2]=1;f[n+(l*20|0)+8>>2]=i;f[n+(l*20|0)+12>>2]=0;f[n+(l*20|0)+16>>2]=0;b[n+(l*20|0)+1>>0]=0;n=i;break}else{tl(u,46,1,i,0)|0;n=i;break}}else n=0;while(0);Q=a+142|0;b[Q>>0]=1;Nl(a,Kk(r,c,0)|0,0);b[Q>>0]=0;do if((f[s>>2]&524288|0)==0&0==0){i=u+136|0;k=f[i>>2]|0;l=k+2|0;if((f[(f[u+12>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;Q=f[u+88>>2]|0;b[Q+(k*20|0)>>0]=46;d[Q+(k*20|0)+2>>1]=0;f[Q+(k*20|0)+4>>2]=0;f[Q+(k*20|0)+8>>2]=l;f[Q+(k*20|0)+12>>2]=0;f[Q+(k*20|0)+16>>2]=0;b[Q+(k*20|0)+1>>0]=0}else tl(u,46,0,l,0)|0;i=f[v>>2]|0;if(!i){do if(!(f[w>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);i=sl(a)|0}m=f[w>>2]|0;b[((m|0)==0?a:m)+21>>0]=1;m=i+136|0;k=f[m>>2]|0;if((f[(f[i+12>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Q=f[i+88>>2]|0;b[Q+(k*20|0)>>0]=69;d[Q+(k*20|0)+2>>1]=0;f[Q+(k*20|0)+4>>2]=787;f[Q+(k*20|0)+8>>2]=2;f[Q+(k*20|0)+12>>2]=0;f[Q+(k*20|0)+16>>2]=0;b[Q+(k*20|0)+1>>0]=0}else k=tl(i,69,787,2,0)|0;do if(!(b[(f[i>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;l=f[i+88>>2]|0;if(!(b[l+(k*20|0)+1>>0]|0))break;ul(i,l+(k*20|0)|0,0,-1)}while(0);k=f[m>>2]|0;if((k|0)<=0)break;d[(f[i+88>>2]|0)+((k+-1|0)*20|0)+2>>1]=4}while(0);if(!n)break;i=f[(f[u+12>>2]|0)+64>>2]|0;if(!i)break;f[i+(~n<<2)>>2]=f[u+136>>2]}while(0);So(a,S,R,0);ng(T,c);t=V;return}function Hl(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;j=pl(a,c)|0;if(!j){k=-1;return k|0}i=f[a+20>>2]|0;c=i+-1|0;if((i|0)>0){i=c;g=(f[a+16>>2]|0)+(c<<4)|0;while(1){d=f[g>>2]|0;if(d|0){e=b[d>>0]|0;c=(h[1232+(e&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0;if(!(e<<24>>24==0|(c|0)!=0)){e=j;do{d=d+1|0;e=e+1|0;l=b[d>>0]|0;c=(h[1232+(l&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0}while(!(l<<24>>24==0|(c|0)!=0))}if(!c){c=i;break}}if(!i){k=10;break}c=i+-1|0;if((i|0)>0){i=c;g=g+-16|0}else break}if((k|0)==10){c=109-(h[1232+(h[j>>0]|0)>>0]|0)|0;if(!c){d=j;e=42464;do{e=e+1|0;d=d+1|0;l=b[e>>0]|0;c=(h[1232+(l&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(l<<24>>24==0|(c|0)!=0))}c=((c|0)!=0)<<31>>31}if(a)k=16}else k=16;if((k|0)==16){if(f[a+480>>2]|0){Kc(a,j);l=c;return l|0}l=j;if((f[a+304>>2]|0)>>>0<=l>>>0?(f[a+308>>2]|0)>>>0>l>>>0:0){l=a+300|0;f[j>>2]=f[l>>2];f[l>>2]=j;l=c;return l|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);l=c;return l|0}else{l=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);l=c;return l|0}return 0}function Il(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(!b){a=0;return a|0}a:while(1){e=f[b>>2]|0;if(e|0?(f[e>>2]|0)>0:0){c=e+4|0;d=0;while(1){if(Wl(a,f[c>>2]|0)|0){b=1;c=28;break a}d=d+1|0;if((d|0)>=(f[e>>2]|0))break;else c=c+20|0}}if(Yl(a,f[b+32>>2]|0)|0){b=1;c=28;break}if(Wl(a,f[b+36>>2]|0)|0){b=1;c=28;break}e=f[b+40>>2]|0;if(e|0?(f[e>>2]|0)>0:0){c=e+4|0;d=0;while(1){if(Wl(a,f[c>>2]|0)|0){b=1;c=28;break a}d=d+1|0;if((d|0)>=(f[e>>2]|0))break;else c=c+20|0}}if(Wl(a,f[b+44>>2]|0)|0){b=1;c=28;break}e=f[b+48>>2]|0;if(e|0?(f[e>>2]|0)>0:0){c=e+4|0;d=0;while(1){if(Wl(a,f[c>>2]|0)|0){b=1;c=28;break a}d=d+1|0;if((d|0)>=(f[e>>2]|0))break;else c=c+20|0}}if(Wl(a,f[b+60>>2]|0)|0){b=1;c=28;break}e=b+64|0;c=f[e>>2]|0;if(c|0?(f[c>>2]|0)>0:0){d=0;do{if(Il(a,f[c+8+(d<<4)+8>>2]|0)|0){b=1;c=28;break a}d=d+1|0;c=f[e>>2]|0}while((d|0)<(f[c>>2]|0))}b=f[b+52>>2]|0;if(!b){b=0;c=28;break}}if((c|0)==28)return b|0;return 0}function Jl(a,b){a=a|0;b=b|0;var c=0;a=f[(f[a>>2]|0)+268>>2]|0;if(!a)return 0;while(1){if((f[a>>2]|0)==(b|0))break;a=f[a+12>>2]|0;if(!a){c=6;break}}if((c|0)==6)return 0;f[a>>2]=0;return 0} -function Br(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0;l=t;t=t+16|0;j=l;g=l+4|0;i=Dr(a,e,a)|0;if(!i){t=l;return}if((c|0)==2){e=f[e+4>>2]|0;do if(e){c=d[e+8>>1]|0;if((c&514)==514?(b[e+10>>0]|0)==1:0)c=f[e+16>>2]|0;else{if(c&1){k=9;break}c=Ic(e,1)|0}f[g>>2]=0;if(c){if((b[c>>0]|0)==36){c=gr(i,0,c+1|0,0,g)|0;e=f[g>>2]|0;if(!e)break;else c=e}else f[g>>2]=c;i=i+21|0;b[i>>0]=(b[i>>0]|0)+1<<24>>24;f[j>>2]=c;c=wd(60239,j)|0;if(c|0){f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=0;break}else{j=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=0;break}}c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;e=c+81|0;if((b[e>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;c=c+272|0;f[c>>2]=(f[c>>2]|0)+1;c=0}else c=0}else c=0}else k=9;while(0);if((k|0)==9){f[g>>2]=0;c=0}}else c=f[i+8>>2]|0;if(!c){t=l;return}if(($e(f[a>>2]|0,f[23920+(h[c>>0]<<2)>>2]|0,-1,1,0)|0)!=18){t=l;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=l;return}function Cr(a,b,c){a=a|0;b=b|0;c=c|0;b=(Dr(a,c,0)|0)!=0;a=f[a>>2]|0;b=b&1;c=a+8|0;if(!(d[c>>1]&9216)){f[a>>2]=b;f[a+4>>2]=0;d[c>>1]=4;return}else{bf(a,b,0);return}}function Dr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=f[c>>2]|0;g=d[h+8>>1]|0;if((g&514)==514?(b[h+10>>0]|0)==1:0)o=f[h+16>>2]|0;else if(!(g&1)){o=Ic(h,1)|0;h=f[c>>2]|0}else o=0;g=d[h+8>>1]|0;if((g&2)!=0?(b[h+10>>0]|0)==1:0)c=f[h+12>>2]|0;else i=9;do if((i|0)==9){g=g&65535;if(!(g&16)){if(g&1|0){c=0;break}c=_e(h,1)|0;break}else{c=f[h+12>>2]|0;if(!(g&16384))break;c=(f[h>>2]|0)+c|0;break}}while(0);if(!o){a=0;return a|0}n=a+12|0;m=f[(f[n>>2]|0)+212>>2]|0;a:do if(m){g=m;while(1){if((f[g+4>>2]|0)==-429938)break;g=f[g+16>>2]|0;if(!g){k=0;l=0;break a}}h=f[g+8>>2]|0;if(h){if((f[h+24>>2]|0)==(c|0)?(Hz(f[h+12>>2]|0,o,c)|0)==0:0){b[h+21>>0]=0;k=-1;g=h;j=f[h+28>>2]|0}else{j=f[h+28>>2]|0;k=j;g=0}h=m;while(1){if((f[h+4>>2]|0)==-429937){i=75;break}h=f[h+16>>2]|0;if(!h){h=1;break}}b:do if((i|0)==75){i=f[h+8>>2]|0;if(i){if(((g|0)==0?(f[i+24>>2]|0)==(c|0):0)?(Hz(f[i+12>>2]|0,o,c)|0)==0:0){b[i+21>>0]=0;h=0;g=i;i=f[i+28>>2]|0}else{i=f[i+28>>2]|0;h=i>>>0>>0;k=h?i:k;h=h&1}j=i>>>0>j>>>0?i:j;i=m;while(1){if((f[i+4>>2]|0)==-429936)break;i=f[i+16>>2]|0;if(!i){h=2;break b}}l=f[i+8>>2]|0;if(l){if(((g|0)==0?(f[l+24>>2]|0)==(c|0):0)?(Hz(f[l+12>>2]|0,o,c)|0)==0:0){b[l+21>>0]=0;i=l;g=f[l+28>>2]|0}else{l=f[l+28>>2]|0;i=l>>>0>>0;k=i?l:k;h=i?2:h;i=g;g=l}j=g>>>0>j>>>0?g:j;g=m;while(1){if((f[g+4>>2]|0)==-429935)break;g=f[g+16>>2]|0;if(!g){g=i;h=3;break b}}g=f[g+8>>2]|0;if(!g){g=i;h=3}else{if(((i|0)==0?(f[g+24>>2]|0)==(c|0):0)?(Hz(f[g+12>>2]|0,o,c)|0)==0:0){b[g+21>>0]=0;i=g;g=f[g+28>>2]|0}else{g=f[g+28>>2]|0;h=g>>>0>>0?3:h}j=g>>>0>j>>>0?g:j;g=i}}else h=2}else h=1}while(0);if(!g){k=j;l=h}else{b[g+21>>0]=0;f[g+28>>2]=j+1;a=g;return a|0}}else{k=0;l=0}}else{k=0;l=0}while(0);m=Fd(c+33|0)|0;if(!m){g=f[a>>2]|0;c=g+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else{cf(g);g=f[a>>2]|0}f[a+20>>2]=7;g=f[g+32>>2]|0;c=g+81|0;if(b[c>>0]|0){a=0;return a|0}if(b[g+82>>0]|0){a=0;return a|0}b[c>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;a=g+272|0;f[a>>2]=(f[a>>2]|0)+1;a=0;return a|0};f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[m+28>>2]=0;j=m+32|0;g=m+12|0;f[g>>2]=j;YA(j|0,o|0,c+1|0)|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[m+28>>2]=0;f[g>>2]=j;g=er(m,0)|0;i=(b[m+20>>0]|0)==0;if((g|0)>0&i){while(1){h=b[j+g>>0]|0;if(!(b[23984+(h&255)>>0]|0))break;else g=g+1|0}if(!((g|0)<1|h<<24>>24!=0)){f[m+24>>2]=c;f[m+28>>2]=k+1;h=l+-429938|0;Dp(a,h,m,109);g=f[(f[n>>2]|0)+212>>2]|0;if(!g){a=0;return a|0}c=a+16|0;c:do if((l|0)<429938){while(1){if((f[g+4>>2]|0)==(h|0))break c;g=f[g+16>>2]|0;if(!g){g=0;break}}return g|0}else{while(1){if((f[g+4>>2]|0)==(h|0)?(f[g>>2]|0)==(f[c>>2]|0):0)break c;g=f[g+16>>2]|0;if(!g){g=0;break}}return g|0}while(0);a=f[g+8>>2]|0;return a|0}}do if(e|0){if(i){f[e+20>>2]=1;$e(f[e>>2]|0,60224,-1,1,-1)|0;break}g=f[e>>2]|0;c=g+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else{cf(g);g=f[e>>2]|0}f[e+20>>2]=7;g=f[g+32>>2]|0;c=g+81|0;if((b[c>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[c>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;a=g+272|0;f[a>>2]=(f[a>>2]|0)+1}}while(0);g=m+8|0;c=f[g>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[g>>2]=0;f[m>>2]=0;f[m+4>>2]=0;g=m+16|0;c=f[g>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[g>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](m);a=0;return a|0}else{a=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);a=0;return a|0}return 0}function Er(a){a=a|0;var b=0,c=0,d=0;b=a+8|0;c=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[b>>2]=0;f[a>>2]=0;f[a+4>>2]=0;b=a+16|0;c=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[b>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{d=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Fr(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if((b[d>>0]|0)!=7){u=d;return u|0}t=a+8|0;e=(f[t>>2]|0)+(c*12|0)|0;if((b[e>>0]|0)!=7){Gr(d);u=d;return u|0}q=d+4|0;if((f[q>>2]|0)>>>0<=1){u=e;return u|0}r=a+4|0;s=a+20|0;m=1;p=c;a:while(1){n=f[d+(m*12|0)+4>>2]|0;o=f[d+(m*12|0)+8>>2]|0;j=f[e+4>>2]|0;b:do if(j>>>0>1){g=1;while(1){if((f[e+(g*12|0)+4>>2]|0)==(n|0)?(Yz(f[e+(g*12|0)+8>>2]|0,o,n)|0)==0:0)break;g=g+1|0;if((h[e+(g*12|0)>>0]|0)>5)i=(f[e+(g*12|0)+4>>2]|0)+1|0;else i=1;g=g+i|0;if(g>>>0>=j>>>0)break b}l=g+1|0;i=e+(l*12|0)+1|0;j=h[i>>0]|0;if(!(j&20)){k=d+((m+1|0)*12|0)|0;if(!(b[k>>0]|0)){b[i>>0]=j|4;break}j=Fr(a,l+c|0,k)|0;if(!j){e=0;g=35;break a}e=(f[t>>2]|0)+(c*12|0)|0;i=e+(l*12|0)|0;if((j|0)!=(i|0)){f[i+8>>2]=j;l=i+1|0;b[l>>0]=b[l>>0]|16}}}else g=1;while(0);j=m+1|0;if(g>>>0>=(f[e+4>>2]|0)>>>0?(u=d+(j*12|0)|0,(b[u>>0]|0)!=0):0){e=f[a>>2]|0;if(e>>>0<(f[r>>2]|0)>>>0){i=f[t>>2]|0;b[i+(e*12|0)>>0]=7;b[i+(e*12|0)+1>>0]=0;f[i+(e*12|0)+4>>2]=2;f[i+(e*12|0)+8>>2]=0;i=f[a>>2]|0;e=i+1|0;f[a>>2]=e}else{i=hr(a,7,2,0)|0;e=f[a>>2]|0}if(e>>>0<(f[r>>2]|0)>>>0){m=f[t>>2]|0;b[m+(e*12|0)>>0]=5;b[m+(e*12|0)+1>>0]=0;f[m+(e*12|0)+4>>2]=n;f[m+(e*12|0)+8>>2]=o;e=(f[a>>2]|0)+1|0;f[a>>2]=e}else{hr(a,5,n,o)|0;e=f[a>>2]|0}if(e>>>0<(f[r>>2]|0)>>>0){o=f[t>>2]|0;b[o+(e*12|0)>>0]=1;b[o+(e*12|0)+1>>0]=0;f[o+(e*12|0)+4>>2]=0;f[o+(e*12|0)+8>>2]=0;e=f[a>>2]|0;f[a>>2]=e+1}else e=hr(a,1,0,0)|0;if(b[s>>0]|0){e=0;g=35;break}Gr(d);o=f[t>>2]|0;n=o+(p*12|0)+1|0;b[n>>0]=b[n>>0]|32;f[o+(p*12|0)+8>>2]=i-p;p=f[t>>2]|0;n=p+(e*12|0)+1|0;b[n>>0]=b[n>>0]|16;f[p+(e*12|0)+8>>2]=u;e=o+(c*12|0)|0}else i=p;if((h[d+(j*12|0)>>0]|0)>5)g=(f[d+(j*12|0)+4>>2]|0)+1|0;else g=1;m=j+g|0;if(m>>>0>=(f[q>>2]|0)>>>0){g=35;break}else p=i}if((g|0)==35)return e|0;return 0}function Gr(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;if((g|0)<2)return;e=2;do{d=a+(e*12|0)|0;c=b[d>>0]|0;switch(c<<24>>24){case 0:{c=a+(e*12|0)+1|0;b[c>>0]=b[c>>0]|4;c=1;break}case 7:{Gr(d);c=b[d>>0]|0;h=6;break}default:h=6}if((h|0)==6){h=0;if((c&255)>5)c=(f[a+(e*12|0)+4>>2]|0)+1|0;else c=1}e=e+1+c|0}while((e|0)<=(g|0));return}function Hr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return qs(a,b,c,d,e,f,1)|0}function Ir(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return qs(a,b,c,d,e,f,0)|0}function Jr(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;r=t;t=t+64|0;o=r+48|0;n=r;d=n;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));b[n+40>>0]=0;m=f[c>>2]|0;e=(m|0)>0;if(e){g=f[c+4>>2]|0;d=0;i=0;do{i=(b[g+(d*12|0)+4>>0]|0)==64?1:i;d=d+1|0}while((d|0)<(m|0));if(e){j=f[c+4>>2]|0;k=a+21|0;l=c+16|0;a:do if(!i){e=0;d=0;b:while(1){i=j+(d*12|0)|0;do if(b[j+(d*12|0)+5>>0]|0){if((f[i>>2]|0)==0?(b[j+(d*12|0)+4>>0]|0)==2:0)break b;g=f[i>>2]|0;c:do if((g|0)>0?(g|0)<=(h[k>>0]|0):0)switch(b[j+(d*12|0)+4>>0]|0){case 2:{g=65;break c}case 4:{g=69;break c}case 8:{g=66;break c}case 16:{g=67;break c}case 32:{g=68;break c}default:{q=19;break c}}else q=13;while(0);if((q|0)==13){q=0;if((b[j+(d*12|0)+4>>0]|0)==64)q=19;else break}if((q|0)==19){q=0;g=70}b[n+e>>0]=g;g=e+2|0;b[n+(e+1)>>0]=(f[i>>2]|0)+47;e=f[l>>2]|0;f[e+(d<<3)>>2]=(g|0)/2|0;b[e+(d<<3)+4>>0]=1;e=g}while(0);d=d+1|0;if(!((d|0)<(m|0)&(e|0)<40)){d=e;break a}}g=f[l>>2]|0;if(!d)d=0;else{e=0;do{f[g+(e<<3)>>2]=0;b[g+(e<<3)+4>>0]=0;e=e+1|0}while((e|0)!=(d|0))}f[c+20>>2]=1;f[g+(d<<3)>>2]=1;b[g+(d<<3)+4>>0]=1;p[c+40>>3]=30.0;q=c+48|0;f[q>>2]=1;f[q+4>>2]=0;f[c+56>>2]=1;c=0;t=r;return c|0}else{d=0;i=0;do{do if(b[j+(i*12|0)+5>>0]|0){g=j+(i*12|0)|0;e=f[g>>2]|0;d:do if((e|0)>0?(e|0)<=(h[k>>0]|0):0)switch(b[j+(i*12|0)+4>>0]|0){case 2:{e=65;break d}case 4:{e=69;break d}case 8:{e=66;break d}case 16:{e=67;break d}case 32:{e=68;break d}default:{q=34;break d}}else q=28;while(0);if((q|0)==28){q=0;if((b[j+(i*12|0)+4>>0]|0)==64)q=34;else break}if((q|0)==34){q=0;e=70}b[n+d>>0]=e;e=d+2|0;b[n+(d+1)>>0]=(f[g>>2]|0)+47;d=f[l>>2]|0;f[d+(i<<3)>>2]=(e|0)/2|0;b[d+(i<<3)+4>>0]=1;d=e}while(0);i=i+1|0}while((i|0)<(m|0)&(d|0)<40)}while(0);f[c+20>>2]=2;f[c+28>>2]=1;if((d|0)>0?(f[o>>2]=n,o=wd(40840,o)|0,f[c+24>>2]=o,(o|0)==0):0){c=7;t=r;return c|0}}else q=38}else q=38;if((q|0)==38){f[c+20>>2]=2;f[c+28>>2]=1;d=0}a=a+48|0;a=UA(f[a>>2]|0,f[a+4>>2]|0,(d|0)/2|0|0)|0;q=ba()|0;p[c+40>>3]=(+(a>>>0)+4294967296.0*+(q|0))*6.0;c=c+48|0;f[c>>2]=a;f[c+4>>2]=q;c=0;t=r;return c|0}function Kr(a){a=a|0;cs(a);return 0}function Lr(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;g=t;t=t+32|0;e=g;c=f[a+32>>2]|0;d=f[a+36>>2]|0;f[e>>2]=c;f[e+4>>2]=d;f[e+8>>2]=c;f[e+12>>2]=d;f[e+16>>2]=c;f[e+20>>2]=d;e=wd(60946,e)|0;if(!e){e=7;t=g;return e|0}c=a+76|0;d=f[c>>2]|0;do if((d|0?(b[a+24>>0]|0)==0:0)?(f[a+56>>2]|0)==0:0){f[c>>2]=0;c=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;if(c|0){if(f[c+480>>2]|0){Kc(c,d);break}h=d;if((f[c+304>>2]|0)>>>0<=h>>>0?(f[c+308>>2]|0)>>>0>h>>>0:0){h=c+300|0;f[d>>2]=f[h>>2];f[h>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{h=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);c=uj(f[a+12>>2]|0,e,0,0,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{h=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}if(c|0){h=c;t=g;return h|0}cs(a);h=0;t=g;return h|0}function Mr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if(Mc()|0){a=7;e=0;f[b>>2]=e;return a|0}if(!(f[9328]|0)){c=ib[f[37356>>2]&255](248)|0;if(!c){a=7;e=0;f[b>>2]=e;return a|0}}else{e=ib[f[37372>>2]&255](248)|0;if((f[18194]|0)>>>0<248)f[18194]=248;d=71896;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){g=f[18187]|0;d=LA(c|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&d>>>0<=g>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(!c){g=7;a=0;f[b>>2]=a;return g|0}d=ib[f[37368>>2]&255](c)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d}_A(c|0,0,248)|0;f[c>>2]=a;g=a+56|0;f[g>>2]=(f[g>>2]|0)+1;g=0;a=c;f[b>>2]=a;return g|0}function Nr(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=f[a>>2]|0;h=a+16|0;c=f[h>>2]|0;if(c|0){g=a+12|0;if((f[g>>2]|0)>0){e=0;while(1){c=f[c+(e*24|0)+16>>2]|0;do if(c|0){d=f[c+16>>2]|0;if(d|0)ob[d&127](f[c+12>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=e+1|0;if((c|0)>=(f[g>>2]|0))break;e=c;c=f[h>>2]|0}c=f[h>>2]|0}do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{g=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[h>>2]=0}Fi(f[a+36>>2]|0)|0;c=f[a+32>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{h=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);bs(i,f[a+64>>2]|0)|0;bs(i,f[a+68>>2]|0)|0;bs(i,f[a+72>>2]|0)|0;bs(i,f[a+76>>2]|0)|0;bs(i,f[a+80>>2]|0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](a);else{h=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a)}d=i+56|0;c=(f[d>>2]|0)+-1|0;f[d>>2]=c;d=i+76|0;e=f[d>>2]|0;if(!e)return 0;if(!((c|0)==0&(b[i+24>>0]|0)==0))return 0;f[d>>2]=0;c=f[e+20>>2]|0;Fi(f[e+16>>2]|0)|0;if(c|0){if(f[c+480>>2]|0){Kc(c,e);return 0}i=e;if((f[c+304>>2]|0)>>>0<=i>>>0?(f[c+308>>2]|0)>>>0>i>>>0:0){i=c+300|0;f[e>>2]=f[i>>2];f[i>>2]=e;return 0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);return 0}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);return 0}return 0}function Or(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0.0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=t;t=t+16|0;x=z+4|0;u=z;y=f[a>>2]|0;f[x>>2]=0;w=y+40|0;f[w>>2]=(f[w>>2]|0)+1;w=a+16|0;k=f[w>>2]|0;if(k|0){n=a+12|0;if((f[n>>2]|0)>0){m=0;while(1){k=f[k+(m*24|0)+16>>2]|0;do if(k|0){l=f[k+16>>2]|0;if(l|0)ob[l&127](f[k+12>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{v=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);k=m+1|0;if((k|0)>=(f[n>>2]|0))break;m=k;k=f[w>>2]|0}k=f[w>>2]|0}do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{v=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[w>>2]=0}k=f[a+32>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{v=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);v=a+36|0;s=f[v>>2]|0;_A(a|0,0,248)|0;f[a>>2]=y;f[v>>2]=s;f[a+8>>2]=c;a:do if((c|0)!=1){k=ks(y,1,0,0,x)|0;if(!((g|0)>0&(k|0)==0)){if(k|0)break}else{k=g*24|0;l=Fd(k)|0;f[w>>2]=l;f[a+12>>2]=g;if(!l){k=7;break}_A(l|0,0,k|0)|0;r=a+84|0;s=y+28|0;_A(r|0,0,(f[s>>2]<<2)+4|0)|0;u=y+21|0;q=0;do{v=f[w>>2]|0;l=q<<1;n=b[e+l>>0]|0;c=v+(q*24|0)+4|0;f[c>>2]=n<<24>>24;f[v+(q*24|0)>>2]=(b[e+(l|1)>>0]|0)+-48;l=f[i+(q<<2)>>2]|0;k=d[l+8>>1]|0;if(n<<24>>24>69){if((k&-15361)<<16>>16!=-32255){k=1;break a}if((b[l+11>>0]|0)!=112){k=1;break a}if(tz(f[l>>2]|0,60932)|0){k=1;break a}k=f[l+16>>2]|0;if(!k){k=1;break a}n=xd((f[k>>2]|0)+80|0,0)|0;if(!n){k=7;break a}l=n;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));YA(n+80|0,k|0,f[k>>2]|0)|0;f[n>>2]=f[n+96>>2];f[n+4>>2]=f[n+100>>2];f[n+8>>2]=n+112;f[n+72>>2]=f[n+104>>2];k=f[n+84>>2]|0;if(!k){f[c>>2]=71;f[v+(q*24|0)+8>>2]=f[n+88>>2]}else f[v+(q*24|0)+8>>2]=k;f[v+(q*24|0)+16>>2]=n;f[n+28>>2]=h[u>>0];f[n+24>>2]=r;f[n+36>>2]=(f[s>>2]|0)+1}else{k=k&65535;do if(!(k&8)){if(k&4|0){c=l;o=+((f[c>>2]|0)>>>0)+4294967296.0*+(f[c+4>>2]|0);break}if(!(k&18))o=0.0;else o=+Hc(b[l+10>>0]|0,f[l+12>>2]|0,f[l+16>>2]|0)}else o=+p[l>>3];while(0);p[v+(q*24|0)+8>>3]=o}q=q+1|0}while((q|0)<(g|0))}k=ps(a,0.0,(f[y+28>>2]|0)+1&255)|0;if(!k){y=7;t=z;return y|0}else{i=k+8|0;f[i>>2]=1;f[i+4>>2]=0;b[k+18>>0]=0;b[k+17>>0]=1;f[a+64>>2]=f[x>>2];f[x>>2]=0;k=os(a)|0;break}}else{k=f[i>>2]|0;l=j[k+8>>1]|0;do if(!(l&4)){if(l&8|0){s=Fc(+p[k>>3])|0;r=ba()|0;break}if(!(l&18)){r=0;s=0}else{s=Gc(b[k+10>>0]|0,f[k+12>>2]|0,f[k+16>>2]|0)|0;r=ba()|0}}else{s=k;r=f[s+4>>2]|0;s=f[s>>2]|0}while(0);f[u>>2]=0;q=y+88|0;k=f[q>>2]|0;do if(!(Op(k,1)|0)){k=f[k+116>>2]|0;l=k+8|0;if(!(d[l>>1]&9216)){i=k;f[i>>2]=s;f[i+4>>2]=r;d[l>>1]=4;break}else{bf(k,s,r);break}}while(0);i=(Ei(f[q>>2]|0)|0)==100;m=f[q>>2]|0;do if(i){n=Jp(m,0)|0;c=ba()|0;k=ks(y,n,c,0,u)|0;l=f[q>>2]|0;if(l){m=f[l>>2]|0;i=l+128|0;g=f[i+4>>2]|0;if((g|0)>0|(g|0)==0&(f[i>>2]|0)>>>0>0)Hi(m,l);i=fg(l)|0;f[l+20>>2]=770837923;f[l+36>>2]=-1;f[l+40>>2]=0;b[l+142>>0]=2;f[l+44>>2]=0;f[l+32>>2]=1;b[l+143>>0]=-1;f[l+48>>2]=0;g=l+64|0;f[g>>2]=0;f[g+4>>2]=0;if((i|0)==3082|(b[m+81>>0]|0)!=0){Di(m);m=c;q=45}else{m=c;q=45}}else{m=c;q=45}}else if(m){k=f[m>>2]|0;i=m+128|0;g=f[i+4>>2]|0;if((g|0)>0|(g|0)==0&(f[i>>2]|0)>>>0>0)Hi(k,m);l=fg(m)|0;f[m+20>>2]=770837923;f[m+36>>2]=-1;f[m+40>>2]=0;b[m+142>>0]=2;f[m+44>>2]=0;f[m+32>>2]=1;b[m+143>>0]=-1;f[m+48>>2]=0;i=m+64|0;f[i>>2]=0;f[i+4>>2]=0;if((l|0)==3082|(b[k+81>>0]|0)!=0){Di(k);k=7;q=51;break}else{k=f[k+68>>2]&l;n=0;m=0;q=45;break}}else{k=0;n=0;m=0;q=45}while(0);if((q|0)==45){l=f[u>>2]|0;if((k|0)==0&(l|0)!=0){c=ps(a,0.0,0)|0;f[a+64>>2]=l;k=c+8|0;f[k>>2]=n;f[k+4>>2]=m;b[c+17>>0]=1;k=f[l+24>>2]|0;m=h[k+2>>0]<<8|h[k+3>>0];b:do if(!m){k=267;l=0}else{n=h[y+23>>0]|0;l=0;while(1){a=k+((U(l,n)|0)+4)|0;u=WA(h[a>>0]|0,0,56)|0;i=ba()|0;A=WA(h[a+1>>0]|0,0,48)|0;i=ba()|0|i;v=WA(h[a+2>>0]|0,0,40)|0;i=i|(ba()|0);i=i|h[a+3>>0];w=WA(h[a+4>>0]|0,0,24)|0;i=i|(ba()|0);e=WA(h[a+5>>0]|0,0,16)|0;i=i|(ba()|0);g=WA(h[a+6>>0]|0,0,8)|0;i=i|(ba()|0);a=KA(A|u|v|w|e|g|0,i|0,h[a+7>>0]|0,0)|0;if((a|0)==(s|0)&(ba()|0)==(r|0)){k=0;break b}l=l+1|0;if(l>>>0>=m>>>0){k=267;l=0;break}}}while(0);b[c+18>>0]=l}else q=51}if((q|0)==51)b[a+4>>0]=1}while(0);bs(y,f[x>>2]|0)|0;cs(y);A=k;t=z;return A|0}function Pr(a){a=a|0;var c=0,d=0,e=0,g=0;c=a+6|0;if(!(b[c>>0]|0)){ns(a);a=os(a)|0;return a|0}b[c>>0]=0;c=f[a+36>>2]|0;if(!c){ns(a);a=os(a)|0;return a|0}d=f[c>>2]|0;e=c+128|0;g=f[e+4>>2]|0;if((g|0)>0|(g|0)==0&(f[e>>2]|0)>>>0>0)Hi(d,c);g=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;e=c+64|0;f[e>>2]=0;f[e+4>>2]=0;if(!((g|0)==3082|(b[d+81>>0]|0)!=0)){ns(a);g=os(a)|0;return g|0}Di(d);ns(a);g=os(a)|0;return g|0}function Qr(a){a=a|0;return h[a+4>>0]|0|0}function Rr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0.0,m=0,o=0,q=0,r=0,u=0,v=0,w=0,x=0,y=0;v=t;t=t+16|0;m=v+8|0;o=v;u=f[a>>2]|0;g=b[a+5>>0]|0;if(!(g<<24>>24))if(!(f[a+24>>2]|0))r=0;else r=f[a+32>>2]|0;else r=a+40|0;g=1-(g&255)|0;k=a+64+(g<<2)|0;i=f[k>>2]|0;if(!i){if(!g)g=a+48|0;else g=(f[a+32>>2]|0)+8|0;g=ks(u,f[g>>2]|0,f[g+4>>2]|0,0,k)|0;if(!g)i=f[k>>2]|0;else{c=g;t=v;return c|0}}if(!r){c=0;t=v;return c|0}if(!e){k=(f[i+24>>2]|0)+((U(h[u+23>>0]|0,h[r+18>>0]|0)|0)+4)|0;r=WA(h[k>>0]|0,0,56)|0;a=ba()|0;q=WA(h[k+1>>0]|0,0,48)|0;a=ba()|0|a;u=WA(h[k+2>>0]|0,0,40)|0;a=a|(ba()|0);a=a|h[k+3>>0];e=WA(h[k+4>>0]|0,0,24)|0;a=a|(ba()|0);i=WA(h[k+5>>0]|0,0,16)|0;a=a|(ba()|0);g=WA(h[k+6>>0]|0,0,8)|0;a=a|(ba()|0);k=KA(q|r|u|e|i|g|0,a|0,h[k+7>>0]|0,0)|0;a=ba()|0;g=f[c>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){c=g;f[c>>2]=k;f[c+4>>2]=a;d[i>>1]=4;c=0;t=v;return c|0}else{bf(g,k,a);c=0;t=v;return c|0}}q=u+21|0;g=h[q>>0]|0;if((g|0)>=(e|0)){a=(f[i+24>>2]|0)+((e<<2)+8+(U(h[u+23>>0]|0,h[r+18>>0]|0)|0))|0;a=h[a+1>>0]<<16|h[a>>0]<<24|h[a+2>>0]<<8|h[a+3>>0];if(b[u+22>>0]|0){g=f[c>>2]|0;i=((a|0)<0)<<31>>31;k=g+8|0;if(!(d[k>>1]&9216)){c=g;f[c>>2]=a;f[c+4>>2]=i;d[k>>1]=4;c=0;t=v;return c|0}else{bf(g,a,i);c=0;t=v;return c|0}}l=(f[s>>2]=a,+n[s>>2]);g=f[c>>2]|0;i=g+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else cf(g);p[m>>3]=l;p[o>>3]=+p[m>>3];if(!(+p[m>>3]==+p[o>>3])){c=0;t=v;return c|0}p[g>>3]=l;d[i>>1]=8;c=0;t=v;return c|0}m=a+6|0;o=a+36|0;do if(!(b[m>>0]|0)){g=f[o>>2]|0;do if(!g){g=Ki(f[u+12>>2]|0,f[u+64>>2]|0,-1,128,0,o,0)|0;if(!g){g=f[o>>2]|0;break}else{c=g;t=v;return c|0}}while(0);k=(f[i+24>>2]|0)+((U(h[u+23>>0]|0,h[r+18>>0]|0)|0)+4)|0;x=WA(h[k>>0]|0,0,56)|0;a=ba()|0;y=WA(h[k+1>>0]|0,0,48)|0;a=ba()|0|a;w=WA(h[k+2>>0]|0,0,40)|0;a=a|(ba()|0);a=a|h[k+3>>0];i=WA(h[k+4>>0]|0,0,24)|0;a=a|(ba()|0);r=WA(h[k+5>>0]|0,0,16)|0;a=a|(ba()|0);u=WA(h[k+6>>0]|0,0,8)|0;a=a|(ba()|0);k=KA(y|x|w|i|r|u|0,a|0,h[k+7>>0]|0,0)|0;a=ba()|0;do if(!(Op(g,1)|0)){g=f[g+116>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){y=g;f[y>>2]=k;f[y+4>>2]=a;d[i>>1]=4;break}else{bf(g,k,a);break}}while(0);k=Ei(f[o>>2]|0)|0;if((k|0)==100){b[m>>0]=1;g=h[q>>0]|0;break}g=f[o>>2]|0;if(!g){y=(k|0)==101;y=y?0:k;t=v;return y|0}i=f[g>>2]|0;y=g+128|0;x=f[y+4>>2]|0;if((x|0)>0|(x|0)==0&(f[y>>2]|0)>>>0>0)Hi(i,g);y=fg(g)|0;f[g+20>>2]=770837923;f[g+36>>2]=-1;f[g+40>>2]=0;b[g+142>>0]=2;f[g+44>>2]=0;f[g+32>>2]=1;b[g+143>>0]=-1;f[g+48>>2]=0;x=g+64|0;f[x>>2]=0;f[x+4>>2]=0;if(!((y|0)==3082|(b[i+81>>0]|0)!=0)){y=(k|0)==101;y=y?0:k;t=v;return y|0}Di(i);y=(k|0)==101;y=y?0:k;t=v;return y|0}while(0);m=f[o>>2]|0;g=e-g+1|0;k=(m|0)==0;do if(k)a=37592;else{i=f[m+104>>2]|0;if(i|0?g>>>0<(j[m+140>>1]|0)>>>0:0){a=i+(g*40|0)|0;break}a=f[m>>2]|0;f[a+64>>2]=25;Bg(a,25);a=37592}while(0);g=a+8|0;i=j[g>>1]|0;if(i&2048|0)d[g>>1]=i&59391|4096;if(!k){i=f[m>>2]|0;k=m+40|0;g=f[k>>2]|0;if((g|0)==3082|(b[i+81>>0]|0)!=0){Di(i);g=7}else g=f[i+68>>2]&g;f[k>>2]=g}mf(c,a);y=0;t=v;return y|0}function Sr(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;d=b[a+5>>0]|0;if(!(d<<24>>24))if(!(f[a+24>>2]|0))i=0;else i=f[a+32>>2]|0;else i=a+40|0;e=1-(d&255)|0;g=a+64+(e<<2)|0;d=f[g>>2]|0;if(!d){if(!e)d=a+48|0;else d=(f[a+32>>2]|0)+8|0;e=d;e=ks(f[a>>2]|0,f[e>>2]|0,f[e+4>>2]|0,0,g)|0;d=f[g>>2]|0}else e=0;if(!((i|0)!=0&(e|0)==0))return e|0;g=(f[d+24>>2]|0)+((U(h[(f[a>>2]|0)+23>>0]|0,h[i+18>>0]|0)|0)+4)|0;l=WA(h[g>>0]|0|0,0,56)|0;a=ba()|0;m=WA(h[g+1>>0]|0|0,0,48)|0;a=ba()|0|a;k=WA(h[g+2>>0]|0|0,0,40)|0;a=a|(ba()|0);a=a|(h[g+3>>0]|0);j=WA(h[g+4>>0]|0|0,0,24)|0;a=a|(ba()|0);d=WA(h[g+5>>0]|0|0,0,16)|0;a=a|(ba()|0);i=WA(h[g+6>>0]|0|0,0,8)|0;a=a|(ba()|0);g=KA(m|l|k|j|d|i|0,a|0,h[g+7>>0]|0|0,0)|0;a=ba()|0;i=c;f[i>>2]=g;f[i+4>>2]=a;return e|0}function Tr(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0.0,o=0,q=0,r=0.0,s=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=t;t=t+64|0;v=y;w=y+48|0;if(f[a+60>>2]|0){a=518;t=y;return a|0}u=a+40|0;f[u>>2]=(f[u>>2]|0)+1;u=v;f[u>>2]=0;f[u+4>>2]=0;u=(c|0)>1;a:do if(u){o=c+-4|0;c=h[a+21>>0]|0;o=(o|0)>(c|0)?c:o;c=(o|0)>0;b:do if(!(b[a+22>>0]|0)){if(c){k=0;while(1){c=f[e+(k+3<<2)>>2]|0;i=j[c+8>>1]|0;do if(!(i&8)){if(i&4|0){s=c;m=+((f[s>>2]|0)>>>0)+4294967296.0*+(f[s+4>>2]|0);break}if(!(i&18))m=0.0;else m=+Hc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)}else m=+p[c>>3];while(0);r=m;r=m>2]=r;c=f[e+(k+4<<2)>>2]|0;i=j[c+8>>1]|0;do if(!(i&8)){if(i&4|0){s=c;m=+((f[s>>2]|0)>>>0)+4294967296.0*+(f[s+4>>2]|0);break}if(!(i&18))m=0.0;else m=+Hc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)}else m=+p[c>>3];while(0);z=m;m=m>z?m*(m<0.0?.9999998807907104:1.0000001192092896):z;c=k|1;n[v+8+(c<<2)>>2]=m;k=k+2|0;if(r>m)break;if((k|0)>=(o|0))break b}c=Zr(a,c)|0;break a}}else if(c){l=0;while(1){c=f[e+(l+3<<2)>>2]|0;i=j[c+8>>1]|0;do if(!(i&4)){if(i&8|0){k=Fc(+p[c>>3])|0;ba()|0;break}if(!(i&18))k=0;else{k=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else k=f[c>>2]|0;while(0);f[v+8+(l<<2)>>2]=k;c=f[e+(l+4<<2)>>2]|0;i=j[c+8>>1]|0;do if(!(i&4)){if(i&8|0){c=Fc(+p[c>>3])|0;ba()|0;break}if(!(i&18))c=0;else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else c=f[c>>2]|0;while(0);i=l|1;f[v+8+(i<<2)>>2]=c;l=l+2|0;if((k|0)>(c|0))break;if((l|0)>=(o|0))break b}c=Zr(a,i)|0;break a}while(0);i=f[e+8>>2]|0;c=d[i+8>>1]|0;if(!(-1431655766>>>(c&31)&1)){c=c&65535;do if(!(c&4)){if(c&8|0){o=Fc(+p[i>>3])|0;s=ba()|0;break}if(!(c&18)){o=0;s=0}else{o=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;s=ba()|0}}else{s=i;o=f[s>>2]|0;s=f[s+4>>2]|0}while(0);i=v;f[i>>2]=o;f[i+4>>2]=s;i=f[e>>2]|0;c=d[i+8>>1]|0;if(!(-1431655766>>>(c&31)&1)){c=c&65535;do if(!(c&4)){if(c&8|0){c=Fc(+p[i>>3])|0;i=ba()|0;break}if(!(c&18)){c=0;i=0}else{c=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;i=ba()|0}}else{c=f[i>>2]|0;i=f[i+4>>2]|0}while(0);if((c|0)==(o|0)&(i|0)==(s|0)){q=1;c=0;l=s;x=67;break}}k=a+88|0;c=f[k>>2]|0;do if(!(Op(c,1)|0)){c=f[c+116>>2]|0;i=c+8|0;if(!(d[i>>1]&9216)){q=c;f[q>>2]=o;f[q+4>>2]=s;d[i>>1]=4;break}else{bf(c,o,s);break}}while(0);l=Ei(f[k>>2]|0)|0;c=f[k>>2]|0;do if(c){i=f[c>>2]|0;q=c+128|0;k=f[q+4>>2]|0;if((k|0)>0|(k|0)==0&(f[q>>2]|0)>>>0>0)Hi(i,c);k=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;q=c+64|0;f[q>>2]=0;f[q+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);c=7;break}else{c=f[i+68>>2]&k;break}}else c=0;while(0);if((l|0)==100)if((b[(f[a+12>>2]|0)+86>>0]|0)==5){q=1;c=_r(a,o,s)|0;l=s;x=67;break}else{c=Zr(a,0)|0;break}else{q=1;l=s;x=67}}else{q=0;c=0;o=0;l=0;x=67}}else{q=0;c=0;o=0;l=0;x=67}while(0);if((x|0)==67){k=f[e>>2]|0;i=d[k+8>>1]|0;if(!(-1431655766>>>(i&31)&1)){c=i&65535;do if(!(c&4)){if(c&8|0){c=Fc(+p[k>>3])|0;i=ba()|0;break}if(!(c&18)){c=0;i=0}else{c=Gc(b[k+10>>0]|0,f[k+12>>2]|0,f[k+16>>2]|0)|0;i=ba()|0}}else{i=k;c=f[i>>2]|0;i=f[i+4>>2]|0}while(0);c=_r(a,c,i)|0}if(u&(c|0)==0){f[w>>2]=0;if(!q){c=a+92|0;Op(f[c>>2]|0,1)|0;Op(f[c>>2]|0,2)|0;Ei(f[c>>2]|0)|0;c=f[c>>2]|0;do if(c){i=f[c>>2]|0;u=c+128|0;s=f[u+4>>2]|0;if((s|0)>0|(s|0)==0&(f[u>>2]|0)>>>0>0)Hi(i,c);k=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;u=c+64|0;f[u>>2]=0;f[u+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);c=7;break}else{c=f[i+68>>2]&k;break}}else c=0;while(0);s=(f[a+12>>2]|0)+40|0;q=f[s>>2]|0;s=f[s+4>>2]|0;u=v;f[u>>2]=q;f[u+4>>2]=s;u=g;f[u>>2]=q;f[u+4>>2]=s;if(!c)x=85}else{x=g;f[x>>2]=o;f[x+4>>2]=l;x=85}if((x|0)==85){c=$r(a,v,0,w)|0;if(!c){f[a+72>>2]=-1;x=f[w>>2]|0;c=as(a,x,v,0)|0;x=bs(a,x)|0;c=(c|0)==0?x:c}}o=a+25|0;do if(b[o>>0]|0){q=f[a+112>>2]|0;i=g;c=f[i>>2]|0;i=f[i+4>>2]|0;do if(!(Op(q,1)|0)){k=f[q+116>>2]|0;l=k+8|0;if(!(d[l>>1]&9216)){g=k;f[g>>2]=c;f[g+4>>2]=i;d[l>>1]=4;break}else{bf(k,c,i);break}}while(0);if(b[o>>0]|0){i=a+21|0;c=0;do{Tp(q,c+2|0,f[e+(c+3+(h[i>>0]|0)<<2)>>2]|0)|0;c=c+1|0}while(c>>>0<(h[o>>0]|0)>>>0)}Ei(q)|0;if(q){c=f[q>>2]|0;e=q+128|0;g=f[e+4>>2]|0;if((g|0)>0|(g|0)==0&(f[e>>2]|0)>>>0>0)Hi(c,q);i=fg(q)|0;f[q+20>>2]=770837923;f[q+36>>2]=-1;f[q+40>>2]=0;b[q+142>>0]=2;f[q+44>>2]=0;f[q+32>>2]=1;b[q+143>>0]=-1;f[q+48>>2]=0;e=q+64|0;f[e>>2]=0;f[e+4>>2]=0;if((i|0)==3082|(b[c+81>>0]|0)!=0){Di(c);c=7;break}else{c=f[c+68>>2]&i;break}}else c=0}while(0)}}cs(a);a=c;t=y;return a|0}function Ur(a){a=a|0;a=a+24|0;b[a>>0]=(b[a>>0]|0)+1<<24>>24;return 0}function Vr(a){a=a|0;var c=0,d=0;b[a+24>>0]=0;c=a+76|0;d=f[c>>2]|0;if(!d)return 0;if(f[a+56>>2]|0)return 0;f[c>>2]=0;a=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;if(a|0){if(f[a+480>>2]|0){Kc(a,d);return 0}c=d;if((f[a+304>>2]|0)>>>0<=c>>>0?(f[a+308>>2]|0)>>>0>c>>>0:0){c=a+300|0;f[d>>2]=f[c>>2];f[c>>2]=d;return 0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);return 0}else{c=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);return 0}return 0}function Wr(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;g=t;t=t+48|0;e=g;h=f[a+32>>2]|0;d=f[a+36>>2]|0;f[e>>2]=h;f[e+4>>2]=d;f[e+8>>2]=c;f[e+12>>2]=h;f[e+16>>2]=d;f[e+20>>2]=c;f[e+24>>2]=h;f[e+28>>2]=d;f[e+32>>2]=c;e=wd(60685,e)|0;if(!e){h=7;t=g;return h|0}c=a+76|0;d=f[c>>2]|0;do if((d|0?(b[a+24>>0]|0)==0:0)?(f[a+56>>2]|0)==0:0){f[c>>2]=0;c=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;if(c|0){if(f[c+480>>2]|0){Kc(c,d);break}h=d;if((f[c+304>>2]|0)>>>0<=h>>>0?(f[c+308>>2]|0)>>>0>h>>>0:0){h=c+300|0;f[d>>2]=f[h>>2];f[h>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{h=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);c=uj(f[a+12>>2]|0,e,0,0,0)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](e);h=c;t=g;return h|0}else{h=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);h=c;t=g;return h|0}return 0}function Xr(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=a+24|0;e=b[d>>0]|0;b[d>>0]=0;c=a+76|0;g=f[c>>2]|0;if(!g){b[d>>0]=e;return 0}if(f[a+56>>2]|0){b[d>>0]=e;return 0}f[c>>2]=0;c=f[g+20>>2]|0;Fi(f[g+16>>2]|0)|0;if(c|0){if(f[c+480>>2]|0){Kc(c,g);b[d>>0]=e;return 0}a=g;if((f[c+304>>2]|0)>>>0<=a>>>0?(f[c+308>>2]|0)>>>0>a>>>0:0){a=c+300|0;f[g>>2]=f[a>>2];f[a>>2]=g;b[d>>0]=e;return 0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);b[d>>0]=e;return 0}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);b[d>>0]=e;return 0}return 0}function Yr(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,i=0;if(!a){g=0;return g|0}g=b[a>>0]|0;f=h[1232+(g&255)>>0]|0;c=f+-110|0;g=g<<24>>24==0;if(!(g|(c|0)!=0)){d=60680;e=a;do{e=e+1|0;d=d+1|0;i=b[e>>0]|0;c=(h[1232+(i&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(i<<24>>24==0|(c|0)!=0))}if(!c){i=1;return i|0}c=f+-112|0;if(!(g|(c|0)!=0)){d=43250;e=a;do{e=e+1|0;d=d+1|0;i=b[e>>0]|0;c=(h[1232+(i&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(i<<24>>24==0|(c|0)!=0))}if(!c){i=1;return i|0}c=f+-114|0;if(g|(c|0)!=0){i=c;i=(i|0)==0;i=i&1;return i|0}d=47870;do{a=a+1|0;d=d+1|0;i=b[a>>0]|0;c=(h[1232+(i&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(i<<24>>24==0|(c|0)!=0));i=(c|0)==0;i=i&1;return i|0}function Zr(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+32|0;l=o+16|0;i=o+8|0;e=o;h=o+28|0;f[h>>2]=0;n=a+36|0;m=f[n>>2]|0;f[e>>2]=f[a+32>>2];f[e+4>>2]=m;e=wd(60843,e)|0;do if(!e){g=7;e=0}else{g=Ki(f[a+12>>2]|0,e,-1,128,0,h,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{m=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}if(g|0){e=f[h>>2]|0;break}m=f[h>>2]|0;k=f[m>>2]|0;e=(m|0)==0;if(!c){if(!e?(d[m+140>>1]|0)!=0:0){e=f[m+100>>2]|0;do if(e){g=d[e+8>>1]|0;if((g&514)==514?(b[e+10>>0]|0)==1:0){e=f[e+16>>2]|0;break}if(!(g&1))e=Ic(e,1)|0;else e=0}else e=0;while(0);g=k+81|0;if(b[g>>0]|0)if(!(f[k+180>>2]|0)){b[g>>0]=0;f[k+264>>2]=0;e=k+272|0;f[e>>2]=(f[e>>2]|0)+-1;e=0}else e=0}else e=0;f[i>>2]=f[n>>2];f[i+4>>2]=e;e=wd(60863,i)|0}else{if(!e){i=m+140|0;if((j[i>>1]|0)>>>0>c>>>0){e=f[m+100>>2]|0;g=e+(c*40|0)|0;do if(g){h=d[e+(c*40|0)+8>>1]|0;if((h&514)==514?(b[e+(c*40|0)+10>>0]|0)==1:0){g=f[e+(c*40|0)+16>>2]|0;break}if(!(h&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);e=k+81|0;if(b[e>>0]|0)if(!(f[k+180>>2]|0)){b[e>>0]=0;f[k+264>>2]=0;g=k+272|0;f[g>>2]=(f[g>>2]|0)+-1;g=0}else g=0}else g=0;c=c+1|0;k=f[m>>2]|0;if(c>>>0<(j[i>>1]|0)>>>0){e=f[m+100>>2]|0;h=e+(c*40|0)|0;do if(h){i=d[e+(c*40|0)+8>>1]|0;if((i&514)==514?(b[e+(c*40|0)+10>>0]|0)==1:0){e=f[e+(c*40|0)+16>>2]|0;break}if(!(i&1))e=Ic(h,1)|0;else e=0}else e=0;while(0);h=k+81|0;if(b[h>>0]|0)if(!(f[k+180>>2]|0)){b[h>>0]=0;f[k+264>>2]=0;e=k+272|0;f[e>>2]=(f[e>>2]|0)+-1;e=0}else e=0}else e=0}else{g=0;e=0}f[l>>2]=f[n>>2];f[l+4>>2]=g;f[l+8>>2]=e;e=wd(60895,l)|0}f[a+8>>2]=e;Fi(m)|0;a=19;t=o;return a|0}while(0);Fi(e)|0;a=g;t=o;return a|0}function _r(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;y=t;t=t+64|0;u=y+56|0;v=y;w=y+52|0;x=y+48|0;f[w>>2]=0;f[x>>2]=0;i=ks(a,1,0,0,x)|0;a:do if(!i){f[w>>2]=0;k=a+88|0;g=f[k>>2]|0;do if(!(Op(g,1)|0)){g=f[g+116>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){s=g;f[s>>2]=c;f[s+4>>2]=e;d[i>>1]=4;break}else{bf(g,c,e);break}}while(0);s=(Ei(f[k>>2]|0)|0)==100;j=f[k>>2]|0;do if(s){i=Jp(j,0)|0;i=ks(a,i,ba()|0,0,w)|0;g=f[k>>2]|0;if(g){j=f[g>>2]|0;s=g+128|0;r=f[s+4>>2]|0;if((r|0)>0|(r|0)==0&(f[s>>2]|0)>>>0>0)Hi(j,g);s=fg(g)|0;f[g+20>>2]=770837923;f[g+36>>2]=-1;f[g+40>>2]=0;b[g+142>>0]=2;f[g+44>>2]=0;f[g+32>>2]=1;b[g+143>>0]=-1;f[g+48>>2]=0;r=g+64|0;f[r>>2]=0;f[r+4>>2]=0;if((s|0)==3082|(b[j+81>>0]|0)!=0)Di(j)}}else{g=f[j>>2]|0;s=j+128|0;r=f[s+4>>2]|0;if((r|0)>0|(r|0)==0&(f[s>>2]|0)>>>0>0)Hi(g,j);i=fg(j)|0;f[j+20>>2]=770837923;f[j+36>>2]=-1;f[j+40>>2]=0;b[j+142>>0]=2;f[j+44>>2]=0;f[j+32>>2]=1;b[j+143>>0]=-1;f[j+48>>2]=0;s=j+64|0;f[s>>2]=0;f[s+4>>2]=0;if((i|0)==3082|(b[g+81>>0]|0)!=0){Di(g);i=7;break a}else{i=f[g+68>>2]&i;break}}while(0);if(!i){l=f[w>>2]|0;i=f[l+24>>2]|0;j=h[i+2>>0]<<8|h[i+3>>0];b:do if(j|0){k=h[a+23>>0]|0;g=0;while(1){s=i+((U(g,k)|0)+4)|0;m=WA(h[s>>0]|0,0,56)|0;r=ba()|0;z=WA(h[s+1>>0]|0,0,48)|0;r=ba()|0|r;n=WA(h[s+2>>0]|0,0,40)|0;r=r|(ba()|0);r=r|h[s+3>>0];o=WA(h[s+4>>0]|0,0,24)|0;r=r|(ba()|0);p=WA(h[s+5>>0]|0,0,16)|0;r=r|(ba()|0);q=WA(h[s+6>>0]|0,0,8)|0;r=r|(ba()|0);s=KA(z|m|n|o|p|q|0,r|0,h[s+7>>0]|0,0)|0;if((s|0)==(c|0)&(ba()|0)==(e|0))break;g=g+1|0;if(g>>>0>=j>>>0)break b}i=ls(a,l,g,0)|0;g=bs(a,l)|0;if(i|0)break a;if(g|0){i=g;break a}j=a+96|0;g=f[j>>2]|0;do if(!(Op(g,1)|0)){g=f[g+116>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){z=g;f[z>>2]=c;f[z+4>>2]=e;d[i>>1]=4;break}else{bf(g,c,e);break}}while(0);Ei(f[j>>2]|0)|0;g=f[j>>2]|0;do if(g|0){i=f[g>>2]|0;z=g+128|0;s=f[z+4>>2]|0;if((s|0)>0|(s|0)==0&(f[z>>2]|0)>>>0>0)Hi(i,g);j=fg(g)|0;f[g+20>>2]=770837923;f[g+36>>2]=-1;f[g+40>>2]=0;b[g+142>>0]=2;f[g+44>>2]=0;f[g+32>>2]=1;b[g+143>>0]=-1;f[g+48>>2]=0;z=g+64|0;f[z>>2]=0;f[z+4>>2]=0;if(!((j|0)==3082|(b[i+81>>0]|0)!=0)){i=f[i+68>>2]&j;if(!i)break;else break a}else{Di(i);i=7;break a}}while(0);j=a+28|0;if((f[j>>2]|0)<=0){i=0;break a}k=f[x>>2]|0;l=k+24|0;g=f[l>>2]|0;if((h[g+2>>0]<<8|h[g+3>>0]|0)!=1){i=0;break a}f[u>>2]=0;p=WA(h[g+4>>0]|0,0,56)|0;i=ba()|0;o=WA(h[g+5>>0]|0,0,48)|0;i=ba()|0|i;q=WA(h[g+6>>0]|0,0,40)|0;i=i|(ba()|0);i=i|h[g+7>>0];r=WA(h[g+8>>0]|0,0,24)|0;i=i|(ba()|0);s=WA(h[g+9>>0]|0,0,16)|0;i=i|(ba()|0);z=WA(h[g+10>>0]|0,0,8)|0;i=i|(ba()|0);g=KA(o|p|q|r|s|z|0,i|0,h[g+11>>0]|0,0)|0;g=ks(a,g,ba()|0,k,u)|0;i=f[u>>2]|0;if(!g)g=ms(a,i,(f[j>>2]|0)+-1|0)|0;i=bs(a,i)|0;i=(g|0)==0?i:g;if(!i){s=(f[j>>2]|0)+-1|0;f[j>>2]=s;z=f[l>>2]|0;b[z>>0]=s>>>8;b[z+1>>0]=s;f[k+20>>2]=1}break a}while(0);bs(a,l)|0;i=267}}while(0);q=a+68|0;j=f[q>>2]|0;f[w>>2]=j;g=(i|0)==0;if(!j){z=i;w=g;x=f[x>>2]|0;x=bs(a,x)|0;z=w?x:z;t=y;return z|0}r=a+60|0;p=a+23|0;s=a+21|0;do{o=j;n=j;c:do if(g){c=n+24|0;g=f[c>>2]|0;e=h[g+2>>0]<<8|h[g+3>>0];if(!e)i=0;else{m=n+8|0;l=0;while(1){z=U(l,h[p>>0]|0)|0;A=g+(z+4)|0;E=WA(h[A>>0]|0,0,56)|0;i=ba()|0;F=WA(h[A+1>>0]|0,0,48)|0;i=ba()|0|i;D=WA(h[A+2>>0]|0,0,40)|0;i=i|(ba()|0);i=i|h[A+3>>0];C=WA(h[A+4>>0]|0,0,24)|0;i=i|(ba()|0);B=WA(h[A+5>>0]|0,0,16)|0;i=i|(ba()|0);k=WA(h[A+6>>0]|0,0,8)|0;i=i|(ba()|0);A=KA(F|E|D|C|B|k|0,i|0,h[A+7>>0]|0,0)|0;i=ba()|0;k=v;f[k>>2]=A;f[k+4>>2]=i;k=h[s>>0]|0;i=0;g=g+(z+12)|0;while(1){f[v+8+(i<<2)>>2]=h[g+1>>0]<<16|h[g>>0]<<24|h[g+2>>0]<<8|h[g+3>>0];f[v+8+((i|1)<<2)>>2]=h[g+5>>0]<<16|h[g+4>>0]<<24|h[g+6>>0]<<8|h[g+7>>0];i=i+2|0;if(i>>>0>=k>>>0)break;else g=g+8|0}i=$r(a,v,f[m>>2]|0,u)|0;if(!i){F=f[u>>2]|0;i=as(a,F,v,f[m>>2]|0)|0;F=bs(a,F)|0;i=(i|0)==0?F:i}g=l+1|0;if(!(g>>>0>>0&(i|0)==0))break c;l=g;g=f[c>>2]|0}}}while(0);g=f[n+28>>2]|0;f[q>>2]=g;f[r>>2]=(f[r>>2]|0)+-1;if(!j)j=g;else{if(!(f[9328]|0))ob[f[37360>>2]&127](o);else{F=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o)}j=f[q>>2]|0}f[w>>2]=j;g=(i|0)==0}while((j|0)!=0);F=f[x>>2]|0;F=bs(a,F)|0;F=g?F:i;t=y;return F|0}function $r(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ca=t;t=t+112|0;xa=Ca+48|0;Aa=Ca+96|0;ya=Ca;f[Aa>>2]=0;g=ks(a,1,0,0,Aa)|0;za=a+28|0;if(g|0){Ba=g;Aa=f[Aa>>2]|0;f[e>>2]=Aa;t=Ca;return Ba|0}E=a+23|0;H=a+21|0;F=a+20|0;G=a+22|0;I=xa+12|0;J=xa+8|0;K=xa+44|0;L=xa+40|0;M=xa+36|0;N=xa+32|0;O=xa+28|0;P=xa+24|0;Q=xa+20|0;R=xa+16|0;S=xa+12|0;T=xa+8|0;V=xa+44|0;W=xa+40|0;X=xa+36|0;Y=xa+32|0;Z=xa+28|0;_=xa+24|0;$=xa+20|0;aa=xa+16|0;ca=ya+12|0;da=ya+8|0;ea=ya+44|0;fa=ya+40|0;ga=ya+36|0;ha=ya+32|0;ia=ya+28|0;ja=ya+24|0;ka=ya+20|0;la=ya+16|0;ma=ya+12|0;na=ya+8|0;oa=ya+44|0;pa=ya+40|0;qa=ya+36|0;ra=ya+32|0;sa=ya+28|0;ta=ya+24|0;ua=ya+20|0;va=ya+16|0;D=0;while(1){if((D|0)>=((f[za>>2]|0)-d|0)){g=0;Ba=56;break}wa=f[Aa>>2]|0;y=wa+24|0;g=f[y>>2]|0;z=h[g+2>>0]<<8|h[g+3>>0];a:do if(!z){i=0;g=0}else{C=b[H>>0]|0;A=h[E>>0]|0;B=C&255;C=C&255;j=0;p=0.0;x=0.0;k=g;v=0;w=0;while(1){u=U(j,A)|0;i=k+(u+4)|0;Fa=WA(h[i>>0]|0,0,56)|0;g=ba()|0;Ga=WA(h[i+1>>0]|0,0,48)|0;g=ba()|0|g;Ea=WA(h[i+2>>0]|0,0,40)|0;g=g|(ba()|0);g=g|h[i+3>>0];Da=WA(h[i+4>>0]|0,0,24)|0;g=g|(ba()|0);o=WA(h[i+5>>0]|0,0,16)|0;g=g|(ba()|0);l=WA(h[i+6>>0]|0,0,8)|0;g=g|(ba()|0);i=KA(Ga|Fa|Ea|Da|o|l|0,g|0,h[i+7>>0]|0,0)|0;g=ba()|0;l=ya;f[l>>2]=i;f[l+4>>2]=g;l=0;k=k+(u+12)|0;while(1){f[ya+8+(l<<2)>>2]=h[k+1>>0]<<16|h[k>>0]<<24|h[k+2>>0]<<8|h[k+3>>0];f[ya+8+((l|1)<<2)>>2]=h[k+5>>0]<<16|h[k+4>>0]<<24|h[k+6>>0]<<8|h[k+7>>0];l=l+2|0;if(l>>>0>=B>>>0)break;else k=k+8|0}k=xa;l=ya;o=k+48|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(o|0));u=b[F>>0]|0;o=(b[G>>0]|0)==0;if(o){switch(u<<24>>24){case 5:{m=+n[K>>2]-+n[L>>2];Ba=11;break}case 4:{m=1.0;Ba=11;break}case 3:{m=1.0;Ba=12;break}case 2:{m=1.0;Ba=13;break}default:q=1.0}if((Ba|0)==11){m=m*(+n[M>>2]-+n[N>>2]);Ba=12}if((Ba|0)==12){m=m*(+n[O>>2]-+n[P>>2]);Ba=13}if((Ba|0)==13){Ba=0;q=m*(+n[Q>>2]-+n[R>>2])}m=+n[J>>2];r=+n[I>>2]-m;l=0;while(1){s=+n[c+8+(l<<2)>>2];n[xa+8+(l<<2)>>2]=m>2];s=+n[c+8+(Ga<<2)>>2];n[k>>2]=m>s?m:s;k=l+2|0;if(k>>>0>=C>>>0)break;l=k;m=+n[xa+8+(k<<2)>>2]}s=q*r}else{switch(u<<24>>24){case 5:{m=+((f[V>>2]|0)-(f[W>>2]|0)|0);Ba=16;break}case 4:{m=1.0;Ba=16;break}case 3:{m=1.0;Ba=17;break}case 2:{m=1.0;Ba=18;break}default:m=1.0}if((Ba|0)==16){m=m*+((f[X>>2]|0)-(f[Y>>2]|0)|0);Ba=17}if((Ba|0)==17){m=m*+((f[Z>>2]|0)-(f[_>>2]|0)|0);Ba=18}if((Ba|0)==18){Ba=0;m=m*+((f[$>>2]|0)-(f[aa>>2]|0)|0)}k=f[T>>2]|0;q=+((f[S>>2]|0)-k|0);l=0;while(1){Ga=f[c+8+(l<<2)>>2]|0;f[xa+8+(l<<2)>>2]=(k|0)<(Ga|0)?k:Ga;Ga=l|1;k=xa+8+(Ga<<2)|0;Fa=f[k>>2]|0;Ga=f[c+8+(Ga<<2)>>2]|0;f[k>>2]=(Fa|0)>(Ga|0)?Fa:Ga;k=l+2|0;if(k>>>0>=C>>>0)break;l=k;k=f[xa+8+(k<<2)>>2]|0}s=m*q}if(o){switch(u<<24>>24){case 5:{m=+n[K>>2]-+n[L>>2];Ba=30;break}case 4:{m=1.0;Ba=30;break}case 3:{m=1.0;Ba=31;break}case 2:{m=1.0;Ba=32;break}default:m=1.0}if((Ba|0)==30){m=m*(+n[M>>2]-+n[N>>2]);Ba=31}if((Ba|0)==31){m=m*(+n[O>>2]-+n[P>>2]);Ba=32}if((Ba|0)==32){Ba=0;m=m*(+n[Q>>2]-+n[R>>2])}r=m*(+n[I>>2]-+n[J>>2]);switch(u<<24>>24){case 5:{m=+n[ea>>2]-+n[fa>>2];Ba=40;break}case 4:{m=1.0;Ba=40;break}case 3:{m=1.0;Ba=41;break}case 2:{m=1.0;Ba=42;break}default:m=1.0}if((Ba|0)==40){m=m*(+n[ga>>2]-+n[ha>>2]);Ba=41}if((Ba|0)==41){m=m*(+n[ia>>2]-+n[ja>>2]);Ba=42}if((Ba|0)==42){Ba=0;m=m*(+n[ka>>2]-+n[la>>2])}q=m*(+n[ca>>2]-+n[da>>2]);m=r}else{switch(u<<24>>24){case 5:{m=+((f[V>>2]|0)-(f[W>>2]|0)|0);Ba=35;break}case 4:{m=1.0;Ba=35;break}case 3:{m=1.0;Ba=36;break}case 2:{m=1.0;Ba=37;break}default:m=1.0}if((Ba|0)==35){m=m*+((f[X>>2]|0)-(f[Y>>2]|0)|0);Ba=36}if((Ba|0)==36){m=m*+((f[Z>>2]|0)-(f[_>>2]|0)|0);Ba=37}if((Ba|0)==37){Ba=0;m=m*+((f[$>>2]|0)-(f[aa>>2]|0)|0)}r=m*+((f[S>>2]|0)-(f[T>>2]|0)|0);switch(u<<24>>24){case 5:{m=+((f[oa>>2]|0)-(f[pa>>2]|0)|0);Ba=46;break}case 4:{m=1.0;Ba=46;break}case 3:{m=1.0;Ba=47;break}case 2:{m=1.0;Ba=48;break}default:m=1.0}if((Ba|0)==46){m=m*+((f[qa>>2]|0)-(f[ra>>2]|0)|0);Ba=47}if((Ba|0)==47){m=m*+((f[sa>>2]|0)-(f[ta>>2]|0)|0);Ba=48}if((Ba|0)==48){Ba=0;m=m*+((f[ua>>2]|0)-(f[va>>2]|0)|0)}q=m*+((f[ma>>2]|0)-(f[na>>2]|0)|0);m=r}m=m-s;if(!((j|0)==0|m>2]|0;v=i;w=g}}while(0);g=ks(a,i,g,wa,Aa)|0;bs(a,wa)|0;if(!g)D=D+1|0;else{Ba=56;break}}if((Ba|0)==56){Ga=f[Aa>>2]|0;f[e>>2]=Ga;t=Ca;return g|0}return 0}function as(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0.0,q=0,r=0.0,s=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0,F=0,G=0.0,H=0,I=0,J=0.0,K=0.0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0.0;Sa=t;t=t+192|0;Fa=Sa;Ja=Sa+144|0;Ga=Sa+96|0;Ha=Sa+48|0;Na=(e|0)>0;a:do if(Na?(j=d,i=f[j>>2]|0,j=f[j+4>>2]|0,g=RA(i|0,j|0,97,0)|0,ba()|0,g=f[a+116+(g<<2)>>2]|0,g|0):0){while(1){Ra=g+8|0;if((f[Ra>>2]|0)==(i|0)?(f[Ra+4>>2]|0)==(j|0):0)break;g=f[g+28>>2]|0;if(!g)break a}bs(a,f[g>>2]|0)|0;if(c|0){Ra=c+16|0;f[Ra>>2]=(f[Ra>>2]|0)+1}f[g>>2]=c}while(0);Ma=a+16|0;Ra=a+23|0;g=h[Ra>>0]|0;k=((f[Ma>>2]|0)+-4|0)/(g|0)|0;F=c+24|0;i=f[F>>2]|0;l=h[i+2>>0]<<8|h[i+3>>0];if((l|0)<(k|0)){g=i+((U(l,g)|0)+4)|0;Pa=d;j=f[Pa>>2]|0;Pa=f[Pa+4>>2]|0;Oa=VA(j|0,Pa|0,56)|0;ba()|0;b[g>>0]=Oa;Oa=VA(j|0,Pa|0,48)|0;ba()|0;b[g+1>>0]=Oa;Oa=VA(j|0,Pa|0,40)|0;ba()|0;b[g+2>>0]=Oa;b[g+3>>0]=Pa;Oa=VA(j|0,Pa|0,24)|0;ba()|0;b[g+4>>0]=Oa;Oa=VA(j|0,Pa|0,16)|0;ba()|0;b[g+5>>0]=Oa;Pa=VA(j|0,Pa|0,8)|0;ba()|0;b[g+6>>0]=Pa;b[g+7>>0]=j;j=a+21|0;if(b[j>>0]|0){i=0;g=g+8|0;while(1){Pa=f[d+8+(i<<2)>>2]|0;b[g>>0]=Pa>>>24;b[g+1>>0]=Pa>>>16;b[g+2>>0]=Pa>>>8;b[g+3>>0]=Pa;i=i+1|0;if(i>>>0>=(h[j>>0]|0)>>>0)break;else g=g+4|0}}Pa=f[F>>2]|0;Oa=l+1|0;b[Pa+2>>0]=Oa>>>8;b[Pa+3>>0]=Oa;f[c+20>>2]=1}if((l|0)!=(k|0)){g=fs(a,c,d)|0;if(g|0){a=g;t=Sa;return a|0}k=d;j=f[k>>2]|0;k=f[k+4>>2]|0;i=c+8|0;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!e){a=gs(a,j,k,g,i)|0;t=Sa;return a|0}else{a=hs(a,j,k,g,i)|0;t=Sa;return a|0}}g=a+72|0;if((f[g>>2]|0)<(e|0)?(E=c+8|0,Pa=E,!((f[Pa>>2]|0)==1&(f[Pa+4>>2]|0)==0)):0){f[g>>2]=e;k=Fa;I=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(I|0));A=f[F>>2]|0;A=h[A+2>>0]<<8|h[A+3>>0];x=A+1|0;v=A+2|0;g=v&131070;C=Fd(g<<6)|0;do if(C){B=C+(g*48|0)|0;y=B+(g<<2)|0;w=y+(g<<2)|0;m=a+20|0;z=a+21|0;u=a+22|0;l=0;do{g=C+(l*48|0)|0;if((l|0)==(A|0)){k=g;H=d;I=k+48|0;do{f[k>>2]=f[H>>2];k=k+4|0;H=H+4|0}while((k|0)<(I|0))}else{Qa=f[F>>2]|0;i=U(l,h[Ra>>0]|0)|0;Oa=Qa+(i+4)|0;Ha=WA(h[Oa>>0]|0,0,56)|0;Pa=ba()|0;Ga=WA(h[Oa+1>>0]|0,0,48)|0;Pa=ba()|0|Pa;Ia=WA(h[Oa+2>>0]|0,0,40)|0;Pa=Pa|(ba()|0);Pa=Pa|h[Oa+3>>0];Ka=WA(h[Oa+4>>0]|0,0,24)|0;Pa=Pa|(ba()|0);La=WA(h[Oa+5>>0]|0,0,16)|0;Pa=Pa|(ba()|0);Na=WA(h[Oa+6>>0]|0,0,8)|0;Pa=Pa|(ba()|0);Oa=KA(Ga|Ha|Ia|Ka|La|Na|0,Pa|0,h[Oa+7>>0]|0,0)|0;Pa=ba()|0;f[g>>2]=Oa;f[g+4>>2]=Pa;g=0;i=Qa+(i+12)|0;while(1){f[C+(l*48|0)+8+(g<<2)>>2]=h[i+1>>0]<<16|h[i>>0]<<24|h[i+2>>0]<<8|h[i+3>>0];f[C+(l*48|0)+8+((g|1)<<2)>>2]=h[i+5>>0]<<16|h[i+4>>0]<<24|h[i+6>>0]<<8|h[i+7>>0];g=g+2|0;if(g>>>0>=(h[z>>0]|0)>>>0)break;else i=i+8|0}}f[B+(l<<2)>>2]=l;k=b[m>>0]|0;j=k<<24>>24==0;if(!j){i=k&255;if(!(b[u>>0]|0)){g=0;do{Pa=g<<1;Qa=Fa+(g<<3)|0;p[Qa>>3]=+p[Qa>>3]+ +n[C+(l*48|0)+8+(Pa<<2)>>2]+ +n[C+(l*48|0)+8+((Pa|1)<<2)>>2];g=g+1|0}while(g>>>0>>0)}else{g=0;do{Pa=g<<1;Qa=Fa+(g<<3)|0;p[Qa>>3]=+p[Qa>>3]+ +(f[C+(l*48|0)+8+(Pa<<2)>>2]|0)+ +(f[C+(l*48|0)+8+((Pa|1)<<2)>>2]|0);g=g+1|0}while(g>>>0>>0)}}l=l+1|0}while((l|0)!=(x|0));q=k&255;if(!j){o=+(x|0)*2.0;g=0;do{Qa=Fa+(g<<3)|0;p[Qa>>3]=+p[Qa>>3]/o;g=g+1|0}while(g>>>0>>0);if(k<<24>>24){l=(b[u>>0]|0)==0;j=0;do{m=w+(j<<3)|0;p[m>>3]=0.0;k=0;s=0.0;do{i=k<<1;g=C+(j*48|0)+8+((i|1)<<2)|0;if(l){r=+n[g>>2];o=+n[C+(j*48|0)+8+(i<<2)>>2]}else{r=+(f[g>>2]|0);o=+(f[C+(j*48|0)+8+(i<<2)>>2]|0)}K=r-o-+p[Fa+(k<<3)>>3];s=s+K*K;p[m>>3]=s;k=k+1|0}while((k|0)!=(q|0));j=j+1|0}while((j|0)!=(x|0))}else Ca=210}else Ca=210;if((Ca|0)==210)_A(C+((v>>>1)*112|0)|0,0,(A<<3)+8|0)|0;is(B,x,w,y);_A((f[F>>2]|0)+2|0,0,(f[Ma>>2]|0)+-2|0)|0;u=c+20|0;f[u>>2]=1;v=(e|0)==0;j=0;while(1){i=h[Ra>>0]|0;k=((f[Ma>>2]|0)+-4|0)/(i|0)|0;if((j|0)>=(A+((k|0)/-3|0)|0)){Ca=224;break}m=f[B+(j<<2)>>2]|0;g=C+(m*48|0)|0;l=f[F>>2]|0;q=h[l+2>>0]<<8|h[l+3>>0];if((q|0)<(k|0)){i=l+((U(q,i)|0)+4)|0;Pa=g;Qa=f[Pa>>2]|0;Pa=f[Pa+4>>2]|0;Oa=VA(Qa|0,Pa|0,56)|0;ba()|0;b[i>>0]=Oa;Oa=VA(Qa|0,Pa|0,48)|0;ba()|0;b[i+1>>0]=Oa;Oa=VA(Qa|0,Pa|0,40)|0;ba()|0;b[i+2>>0]=Oa;b[i+3>>0]=Pa;Oa=VA(Qa|0,Pa|0,24)|0;ba()|0;b[i+4>>0]=Oa;Oa=VA(Qa|0,Pa|0,16)|0;ba()|0;b[i+5>>0]=Oa;Pa=VA(Qa|0,Pa|0,8)|0;ba()|0;b[i+6>>0]=Pa;b[i+7>>0]=Qa;if(b[z>>0]|0){k=0;i=i+8|0;while(1){Qa=f[C+(m*48|0)+8+(k<<2)>>2]|0;b[i>>0]=Qa>>>24;b[i+1>>0]=Qa>>>16;b[i+2>>0]=Qa>>>8;b[i+3>>0]=Qa;k=k+1|0;if(k>>>0>=(h[z>>0]|0)>>>0)break;else i=i+4|0}}Qa=f[F>>2]|0;Pa=q+1|0;b[Qa+2>>0]=Pa>>>8;b[Qa+3>>0]=Pa;f[u>>2]=1}i=g;g=f[i>>2]|0;i=f[i+4>>2]|0;Qa=d;do if((g|0)==(f[Qa>>2]|0)?(i|0)==(f[Qa+4>>2]|0):0){l=E;k=f[l>>2]|0;l=f[l+4>>2]|0;if(v){g=gs(a,g,i,k,l)|0;break}else{g=hs(a,g,i,k,l)|0;break}}else g=0;while(0);if(!g)j=j+1|0;else break}b:do if((Ca|0)==224){g=js(a,c)|0;if(!((g|0)!=0|j>>>0>A>>>0))while(1){i=C+((f[B+(j<<2)>>2]|0)*48|0)|0;g=$r(a,i,e,Ja)|0;if(g|0)break;Ra=f[Ja>>2]|0;g=as(a,Ra,i,e)|0;Ra=bs(a,Ra)|0;g=(g|0)==0?Ra:g;if((g|0)!=0|j>>>0>=A>>>0)break b;else j=j+1|0}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](C);break}else{a=ib[f[37368>>2]&255](C)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](C);break}}else g=7;while(0);a=g;t=Sa;return a|0}Ba=f[F>>2]|0;Ba=h[Ba+2>>0]<<8|h[Ba+3>>0];Da=Ba+1|0;Oa=Fd(Da*52|0)|0;Pa=(Oa|0)==0;c:do if(!Pa){l=Da<<2;_A(Oa+(Da*48|0)|0,0,l|0)|0;m=(Ba|0)==0;if(!m){k=a+21|0;i=0;do{Ka=f[F>>2]|0;j=U(i,h[Ra>>0]|0)|0;Ca=Ka+(j+4)|0;xa=WA(h[Ca>>0]|0,0,56)|0;Ia=ba()|0;wa=WA(h[Ca+1>>0]|0,0,48)|0;Ia=ba()|0|Ia;ya=WA(h[Ca+2>>0]|0,0,40)|0;Ia=Ia|(ba()|0);Ia=Ia|h[Ca+3>>0];za=WA(h[Ca+4>>0]|0,0,24)|0;Ia=Ia|(ba()|0);Aa=WA(h[Ca+5>>0]|0,0,16)|0;Ia=Ia|(ba()|0);g=WA(h[Ca+6>>0]|0,0,8)|0;Ia=Ia|(ba()|0);Ca=KA(wa|xa|ya|za|Aa|g|0,Ia|0,h[Ca+7>>0]|0,0)|0;Ia=ba()|0;g=Oa+(i*48|0)|0;f[g>>2]=Ca;f[g+4>>2]=Ia;g=0;j=Ka+(j+12)|0;while(1){f[Oa+(i*48|0)+8+(g<<2)>>2]=h[j+1>>0]<<16|h[j>>0]<<24|h[j+2>>0]<<8|h[j+3>>0];f[Oa+(i*48|0)+8+((g|1)<<2)>>2]=h[j+5>>0]<<16|h[j+4>>0]<<24|h[j+6>>0]<<8|h[j+7>>0];g=g+2|0;if(g>>>0>=(h[k>>0]|0)>>>0)break;else j=j+8|0}i=i+1|0}while((i|0)!=(Ba|0))}_A((f[F>>2]|0)+2|0,0,(f[Ma>>2]|0)+-2|0)|0;j=c+20|0;f[j>>2]=1;k=Oa+(Ba*48|0)|0;H=d;I=k+48|0;do{f[k>>2]=f[H>>2];k=k+4|0;H=H+4|0}while((k|0)<(I|0));Ia=c+8|0;Ka=Ia;if((f[Ka>>2]|0)==1&(f[Ka+4>>2]|0)==0){g=Fd((f[Ma>>2]|0)+32|0)|0;if(g|0){_A(g|0,0,(f[Ma>>2]|0)+32|0)|0;f[g+24>>2]=g+32;f[g+16>>2]=1;Ka=a+60|0;f[Ka>>2]=(f[Ka>>2]|0)+1;f[g>>2]=c;f[g+20>>2]=1;Ka=c+16|0;f[Ka>>2]=(f[Ka>>2]|0)+1}i=Fd((f[Ma>>2]|0)+32|0)|0;if(i|0){_A(i|0,0,(f[Ma>>2]|0)+32|0)|0;f[i+24>>2]=i+32;f[i+16>>2]=1;Ka=a+60|0;f[Ka>>2]=(f[Ka>>2]|0)+1;f[i>>2]=c;f[i+20>>2]=1;Ka=c+16|0;f[Ka>>2]=(f[Ka>>2]|0)+1}Ka=a+28|0;c=(f[Ka>>2]|0)+1|0;f[Ka>>2]=c;f[j>>2]=1;Ka=f[F>>2]|0;b[Ka>>0]=c>>>8;b[Ka+1>>0]=c;Ka=g;c=i}else{g=f[c>>2]|0;i=Fd((f[Ma>>2]|0)+32|0)|0;if(i|0?(_A(i|0,0,(f[Ma>>2]|0)+32|0)|0,f[i+24>>2]=i+32,f[i+16>>2]=1,Ka=a+60|0,f[Ka>>2]=(f[Ka>>2]|0)+1,f[i>>2]=g,f[i+20>>2]=1,g|0):0){Ka=g+16|0;f[Ka>>2]=(f[Ka>>2]|0)+1}Ka=c+16|0;f[Ka>>2]=(f[Ka>>2]|0)+1;Ka=i}if((c|0)!=0&(Ka|0)!=0?(Qa=c+24|0,_A(f[Qa>>2]|0,0,f[Ma>>2]|0)|0,La=Ka+24|0,_A(f[La>>2]|0,0,f[Ma>>2]|0)|0,u=a+20|0,q=U((h[u>>0]|0)+1|0,l+4|0)|0,Ea=Fd(q)|0,(Ea|0)!=0):0){k=h[u>>0]|0;k=Ea+(k<<2)+((U(Da,k)|0)<<2)|0;_A(Ea|0,0,q|0)|0;g=b[u>>0]|0;if(g<<24>>24){g=g&255;if(m){j=0;do{i=Ea+(g<<2)+((U(j,Da)|0)<<2)|0;f[Ea+(j<<2)>>2]=i;f[i>>2]=0;es(a,i,Da,j,Oa,k);j=j+1|0;i=b[u>>0]|0;g=i&255}while(j>>>0>>0);Aa=g}else{j=0;do{i=Ea+(g<<2)+((U(j,Da)|0)<<2)|0;f[Ea+(j<<2)>>2]=i;f[i>>2]=0;g=1;do{f[i+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(Da|0));es(a,i,Da,j,Oa,k);j=j+1|0;i=b[u>>0]|0;g=i&255}while(j>>>0>>0);Aa=g}if(i<<24>>24){A=Ba>>>0>1;B=a+21|0;C=a+22|0;E=Fa+12|0;F=Fa+8|0;L=Fa+44|0;M=Fa+40|0;N=Fa+36|0;O=Fa+32|0;P=Fa+28|0;Q=Fa+24|0;R=Fa+20|0;S=Fa+16|0;T=Fa+12|0;V=Fa+8|0;W=Fa+44|0;X=Fa+40|0;Y=Fa+36|0;Z=Fa+32|0;_=Fa+28|0;$=Fa+24|0;aa=Fa+20|0;ca=Fa+16|0;da=Ja+12|0;ea=Ja+8|0;fa=Ja+44|0;ga=Ja+40|0;ha=Ja+36|0;ia=Ja+32|0;ja=Ja+28|0;ka=Ja+24|0;la=Ja+20|0;ma=Ja+16|0;na=Ja+12|0;oa=Ja+8|0;pa=Ja+44|0;qa=Ja+40|0;ra=Ja+36|0;sa=Ja+32|0;ta=Ja+28|0;ua=Ja+24|0;va=Ja+20|0;wa=Ja+16|0;xa=(((f[Ma>>2]|0)+-4|0)/(h[Ra>>0]|0)|0|0)/3|0;ya=Da-xa|0;za=(xa|0)>(ya|0);g=0;x=0;K=0.0;z=0;while(1){if(za){j=0;o=0.0}else{y=Ea+(z<<2)|0;w=xa;j=0;J=0.0;r=0.0;o=0.0;while(1){k=Fa;H=Oa+((f[f[y>>2]>>2]|0)*48|0)|0;I=k+48|0;do{f[k>>2]=f[H>>2];k=k+4|0;H=H+4|0}while((k|0)<(I|0));k=Ja;H=Oa+((f[(f[y>>2]|0)+(Ba<<2)>>2]|0)*48|0)|0;I=k+48|0;do{f[k>>2]=f[H>>2];k=k+4|0;H=H+4|0}while((k|0)<(I|0));if(A){m=b[C>>0]|0;v=b[B>>0]|0;u=v&255;if(!(m<<24>>24)){l=1;do{m=f[(f[y>>2]|0)+(l<<2)>>2]|0;if((l|0)<(w|0)){k=0;do{I=Fa+8+(k<<2)|0;G=+n[I>>2];D=+n[Oa+(m*48|0)+8+(k<<2)>>2];n[I>>2]=G>2];G=+n[Oa+(m*48|0)+8+(I<<2)>>2];n[Ca>>2]=D>G?D:G;k=k+2|0}while(k>>>0>>0)}else{k=0;do{I=Ja+8+(k<<2)|0;G=+n[I>>2];D=+n[Oa+(m*48|0)+8+(k<<2)>>2];n[I>>2]=G>2];G=+n[Oa+(m*48|0)+8+(I<<2)>>2];n[Ca>>2]=D>G?D:G;k=k+2|0}while(k>>>0>>0)}l=l+1|0}while((l|0)!=(Ba|0));l=u;m=v;Ca=66}else{l=1;do{q=f[(f[y>>2]|0)+(l<<2)>>2]|0;if((l|0)<(w|0)){k=0;do{I=Fa+8+(k<<2)|0;H=f[I>>2]|0;Ca=f[Oa+(q*48|0)+8+(k<<2)>>2]|0;f[I>>2]=(H|0)<(Ca|0)?H:Ca;I=k|1;Ca=Fa+8+(I<<2)|0;H=f[Ca>>2]|0;I=f[Oa+(q*48|0)+8+(I<<2)>>2]|0;f[Ca>>2]=(H|0)>(I|0)?H:I;k=k+2|0}while(k>>>0>>0)}else{k=0;do{I=Ja+8+(k<<2)|0;H=f[I>>2]|0;Ca=f[Oa+(q*48|0)+8+(k<<2)>>2]|0;f[I>>2]=(H|0)<(Ca|0)?H:Ca;I=k|1;Ca=Ja+8+(I<<2)|0;H=f[Ca>>2]|0;I=f[Oa+(q*48|0)+8+(I<<2)>>2]|0;f[Ca>>2]=(H|0)>(I|0)?H:I;k=k+2|0}while(k>>>0>>0)}l=l+1|0}while((l|0)!=(Ba|0));k=m;l=u;m=v;Ca=64}}else{m=b[B>>0]|0;k=b[C>>0]|0;l=m&255;Ca=64}do if((Ca|0)==64){Ca=0;q=k<<24>>24==0;if(q){Ca=66;break}k=l;s=0.0;do{I=k;k=k+-2|0;s=s+(+(f[Fa+8+(I+-1<<2)>>2]|0)-+(f[Fa+8+(k<<2)>>2]|0))}while((I|0)>3)}while(0);if((Ca|0)==66){Ca=0;k=l;s=0.0;do{I=k;k=k+-2|0;s=s+(+n[Fa+8+(I+-1<<2)>>2]-+n[Fa+8+(k<<2)>>2])}while((I|0)>3);q=1}s=o+s;if(q){k=l;o=0.0;do{I=k;k=k+-2|0;o=o+(+n[Ja+8+(I+-1<<2)>>2]-+n[Ja+8+(k<<2)>>2])}while((I|0)>3)}else{k=l;o=0.0;do{I=k;k=k+-2|0;o=o+(+(f[Ja+8+(I+-1<<2)>>2]|0)-+(f[Ja+8+(k<<2)>>2]|0))}while((I|0)>3)}o=s+o;d:do if(m<<24>>24)if(q){s=1.0;k=0;do{Ta=+n[Fa+8+(k<<2)>>2];G=+n[Ja+8+(k<<2)>>2];G=Ta>G?Ta:G;I=k|1;Ta=+n[Fa+8+(I<<2)>>2];D=+n[Ja+8+(I<<2)>>2];D=Ta>>0>>0)}else{s=1.0;k=0;do{H=Fa+8+(k<<2)|0;I=Ja+8+(k<<2)|0;Ta=+(f[((f[H>>2]|0)>(f[I>>2]|0)?H:I)>>2]|0);I=k|1;D=+(f[Fa+8+(I<<2)>>2]|0);G=+(f[Ja+8+(I<<2)>>2]|0);G=D>>0>>0)}else s=1.0;while(0);G=s+0.0;if(q){switch(i<<24>>24){case 5:{s=+n[L>>2]-+n[M>>2];Ca=85;break}case 4:{s=1.0;Ca=85;break}case 3:{s=1.0;Ca=86;break}case 2:{s=1.0;Ca=87;break}default:s=1.0}if((Ca|0)==85){s=s*(+n[N>>2]-+n[O>>2]);Ca=86}if((Ca|0)==86){s=s*(+n[P>>2]-+n[Q>>2]);Ca=87}if((Ca|0)==87){Ca=0;s=s*(+n[R>>2]-+n[S>>2])}s=s*(+n[E>>2]-+n[F>>2]);switch(i<<24>>24){case 5:{D=+n[fa>>2]-+n[ga>>2];Ca=95;break}case 4:{D=1.0;Ca=95;break}case 3:{D=1.0;Ca=96;break}case 2:{D=1.0;Ca=97;break}default:D=1.0}if((Ca|0)==95){D=D*(+n[ha>>2]-+n[ia>>2]);Ca=96}if((Ca|0)==96){D=D*(+n[ja>>2]-+n[ka>>2]);Ca=97}if((Ca|0)==97)D=D*(+n[la>>2]-+n[ma>>2]);D=D*(+n[da>>2]-+n[ea>>2])}else{switch(i<<24>>24){case 5:{s=+((f[W>>2]|0)-(f[X>>2]|0)|0);Ca=90;break}case 4:{s=1.0;Ca=90;break}case 3:{s=1.0;Ca=91;break}case 2:{s=1.0;Ca=92;break}default:s=1.0}if((Ca|0)==90){s=s*+((f[Y>>2]|0)-(f[Z>>2]|0)|0);Ca=91}if((Ca|0)==91){s=s*+((f[_>>2]|0)-(f[$>>2]|0)|0);Ca=92}if((Ca|0)==92){Ca=0;s=s*+((f[aa>>2]|0)-(f[ca>>2]|0)|0)}s=s*+((f[T>>2]|0)-(f[V>>2]|0)|0);switch(i<<24>>24){case 5:{D=+((f[pa>>2]|0)-(f[qa>>2]|0)|0);Ca=101;break}case 4:{D=1.0;Ca=101;break}case 3:{D=1.0;Ca=102;break}case 2:{D=1.0;Ca=103;break}default:D=1.0}if((Ca|0)==101){D=D*+((f[ra>>2]|0)-(f[sa>>2]|0)|0);Ca=102}if((Ca|0)==102){D=D*+((f[ta>>2]|0)-(f[ua>>2]|0)|0);Ca=103}if((Ca|0)==103)D=D*+((f[va>>2]|0)-(f[wa>>2]|0)|0);D=D*+((f[na>>2]|0)-(f[oa>>2]|0)|0)}s=s+D;if(!((w|0)==(xa|0)|G>2]|0;i=f[g>>2]|0;k=Ga;H=Oa+(i*48|0)|0;I=k+48|0;do{f[k>>2]=f[H>>2];k=k+4|0;H=H+4|0}while((k|0)<(I|0));k=Ha;H=Oa+((f[g+(x<<2)>>2]|0)*48|0)|0;I=k+48|0;do{f[k>>2]=f[H>>2];k=k+4|0;H=H+4|0}while((k|0)<(I|0));y=a+21|0;v=a+22|0;u=0;while(1){q=(u|0)<(x|0);k=q?c:Ka;q=q?Ga:Ha;g=h[Ra>>0]|0;l=k+24|0;j=f[l>>2]|0;m=h[j+2>>0]<<8|h[j+3>>0];if((m|0)<(((f[Ma>>2]|0)+-4|0)/(g|0)|0|0)){g=j+((U(m,g)|0)+4)|0;Fa=Oa+(i*48|0)|0;Ja=f[Fa>>2]|0;Fa=f[Fa+4>>2]|0;Ca=VA(Ja|0,Fa|0,56)|0;ba()|0;b[g>>0]=Ca;Ca=VA(Ja|0,Fa|0,48)|0;ba()|0;b[g+1>>0]=Ca;Ca=VA(Ja|0,Fa|0,40)|0;ba()|0;b[g+2>>0]=Ca;b[g+3>>0]=Fa;Ca=VA(Ja|0,Fa|0,24)|0;ba()|0;b[g+4>>0]=Ca;Ca=VA(Ja|0,Fa|0,16)|0;ba()|0;b[g+5>>0]=Ca;Fa=VA(Ja|0,Fa|0,8)|0;ba()|0;b[g+6>>0]=Fa;b[g+7>>0]=Ja;if(b[y>>0]|0){j=0;g=g+8|0;while(1){Ja=f[Oa+(i*48|0)+8+(j<<2)>>2]|0;b[g>>0]=Ja>>>24;b[g+1>>0]=Ja>>>16;b[g+2>>0]=Ja>>>8;b[g+3>>0]=Ja;j=j+1|0;if(j>>>0>=(h[y>>0]|0)>>>0)break;else g=g+4|0}}Ja=f[l>>2]|0;Fa=m+1|0;b[Ja+2>>0]=Fa>>>8;b[Ja+3>>0]=Fa;f[k+20>>2]=1}j=h[y>>0]|0;if(!(b[v>>0]|0)){g=0;do{Fa=q+8+(g<<2)|0;Ta=+n[Fa>>2];K=+n[Oa+(i*48|0)+8+(g<<2)>>2];n[Fa>>2]=Ta>2];Ta=+n[Oa+(i*48|0)+8+(Fa<<2)>>2];n[Ja>>2]=K>Ta?K:Ta;g=g+2|0}while(g>>>0>>0)}else{g=0;do{Fa=q+8+(g<<2)|0;Ca=f[Fa>>2]|0;Ja=f[Oa+(i*48|0)+8+(g<<2)>>2]|0;f[Fa>>2]=(Ca|0)<(Ja|0)?Ca:Ja;Fa=g|1;Ja=q+8+(Fa<<2)|0;Ca=f[Ja>>2]|0;Fa=f[Oa+(i*48|0)+8+(Fa<<2)>>2]|0;f[Ja>>2]=(Ca|0)>(Fa|0)?Ca:Fa;g=g+2|0}while(g>>>0>>0)}g=u+1|0;if((g|0)==(Da|0))break;u=g;i=f[(f[w>>2]|0)+(g<<2)>>2]|0}if(!(f[9328]|0))ob[f[37360>>2]&127](Ea);else{Ma=ib[f[37368>>2]&255](Ea)|0;f[18187]=(f[18187]|0)-Ma;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Ea)}g=ds(a,Ka)|0;if(!g){v=c+8|0;i=v;g=f[i>>2]|0;i=f[i+4>>2]|0;if((g|0)==0&(i|0)==0){g=ds(a,c)|0;if(g|0){j=c;i=Ka;break}i=v;g=f[i>>2]|0;i=f[i+4>>2]|0}u=Ka+8|0;Ja=u;q=f[Ja+4>>2]|0;Ma=Ha;f[Ma>>2]=f[Ja>>2];f[Ma+4>>2]=q;Ma=Ga;f[Ma>>2]=g;f[Ma+4>>2]=i;Ma=Ia;q=f[c>>2]|0;if((f[Ma>>2]|0)==1&(f[Ma+4>>2]|0)==0){i=e+1|0;g=as(a,q,Ga,i)|0;if(!g)g=i;else{j=c;i=Ka;break}}else{e:do if(!q){k=-1;l=h[Ra>>0]|0;j=f[6]|0}else{j=f[q+24>>2]|0;m=h[j+2>>0]<<8|h[j+3>>0];if(!m){j=c;i=Ka;g=267;break c}l=h[Ra>>0]|0;k=0;while(1){Ma=j+((U(k,l)|0)+4)|0;Ba=WA(h[Ma>>0]|0,0,56)|0;Ja=ba()|0;Aa=WA(h[Ma+1>>0]|0,0,48)|0;Ja=ba()|0|Ja;Ca=WA(h[Ma+2>>0]|0,0,40)|0;Ja=Ja|(ba()|0);Ja=Ja|h[Ma+3>>0];Da=WA(h[Ma+4>>0]|0,0,24)|0;Ja=Ja|(ba()|0);Ea=WA(h[Ma+5>>0]|0,0,16)|0;Ja=Ja|(ba()|0);Fa=WA(h[Ma+6>>0]|0,0,8)|0;Ja=Ja|(ba()|0);Ma=KA(Aa|Ba|Ca|Da|Ea|Fa|0,Ja|0,h[Ma+7>>0]|0,0)|0;if((Ma|0)==(g|0)&(ba()|0)==(i|0))break e;k=k+1|0;if(k>>>0>=m>>>0){j=c;i=Ka;g=267;break c}}}while(0);j=j+((U(k,l)|0)+4)|0;Ma=VA(g|0,i|0,56)|0;ba()|0;b[j>>0]=Ma;Ma=VA(g|0,i|0,48)|0;ba()|0;b[j+1>>0]=Ma;Ma=VA(g|0,i|0,40)|0;ba()|0;b[j+2>>0]=Ma;b[j+3>>0]=i;Ma=VA(g|0,i|0,24)|0;ba()|0;b[j+4>>0]=Ma;Ma=VA(g|0,i|0,16)|0;ba()|0;b[j+5>>0]=Ma;Ma=VA(g|0,i|0,8)|0;ba()|0;b[j+6>>0]=Ma;b[j+7>>0]=g;if(b[y>>0]|0){i=0;g=j+8|0;while(1){Ma=f[Ga+8+(i<<2)>>2]|0;b[g>>0]=Ma>>>24;b[g+1>>0]=Ma>>>16;b[g+2>>0]=Ma>>>8;b[g+3>>0]=Ma;i=i+1|0;if(i>>>0>=(h[y>>0]|0)>>>0)break;else g=g+4|0}}f[q+20>>2]=1;g=fs(a,q,Ga)|0;if(g|0){j=c;i=Ka;break}g=e+1|0}g=as(a,f[Ka>>2]|0,Ha,g)|0;if(!g){i=f[La>>2]|0;f:do if(!(h[i+2>>0]<<8|h[i+3>>0]))g=0;else{q=(e|0)==0?89:90;m=Ka+16|0;if(!Na){k=0;l=0;while(1){i=i+((U(l,h[Ra>>0]|0)|0)+4)|0;Ga=WA(h[i>>0]|0,0,56)|0;j=ba()|0;Fa=WA(h[i+1>>0]|0,0,48)|0;j=ba()|0|j;Ha=WA(h[i+2>>0]|0,0,40)|0;j=j|(ba()|0);j=j|h[i+3>>0];Ja=WA(h[i+4>>0]|0,0,24)|0;j=j|(ba()|0);Ma=WA(h[i+5>>0]|0,0,16)|0;j=j|(ba()|0);g=WA(h[i+6>>0]|0,0,8)|0;j=j|(ba()|0);i=KA(Fa|Ga|Ha|Ja|Ma|g|0,j|0,h[i+7>>0]|0,0)|0;j=ba()|0;g=u;g=mb[q&127](a,i,j,f[g>>2]|0,f[g+4>>2]|0)|0;if(g|0){j=c;i=Ka;break c}g=d;g=((i|0)==(f[g>>2]|0)?(j|0)==(f[g+4>>2]|0):0)?1:k;l=l+1|0;i=f[La>>2]|0;if(l>>>0>=(h[i+2>>0]<<8|h[i+3>>0])>>>0)break f;else k=g}}k=0;l=0;while(1){i=i+((U(l,h[Ra>>0]|0)|0)+4)|0;Ga=WA(h[i>>0]|0,0,56)|0;j=ba()|0;Fa=WA(h[i+1>>0]|0,0,48)|0;j=ba()|0|j;Ha=WA(h[i+2>>0]|0,0,40)|0;j=j|(ba()|0);j=j|h[i+3>>0];Ja=WA(h[i+4>>0]|0,0,24)|0;j=j|(ba()|0);Ma=WA(h[i+5>>0]|0,0,16)|0;j=j|(ba()|0);g=WA(h[i+6>>0]|0,0,8)|0;j=j|(ba()|0);i=KA(Fa|Ga|Ha|Ja|Ma|g|0,j|0,h[i+7>>0]|0,0)|0;j=ba()|0;g=RA(i|0,j|0,97,0)|0;ba()|0;g=f[a+116+(g<<2)>>2]|0;g:do if(g|0){while(1){Ma=g+8|0;if((f[Ma>>2]|0)==(i|0)?(f[Ma+4>>2]|0)==(j|0):0)break;g=f[g+28>>2]|0;if(!g)break g}bs(a,f[g>>2]|0)|0;f[m>>2]=(f[m>>2]|0)+1;f[g>>2]=Ka}while(0);g=u;g=mb[q&127](a,i,j,f[g>>2]|0,f[g+4>>2]|0)|0;if(g|0){j=c;i=Ka;break c}g=d;g=((i|0)==(f[g>>2]|0)?(j|0)==(f[g+4>>2]|0):0)?1:k;l=l+1|0;i=f[La>>2]|0;if(l>>>0>=(h[i+2>>0]<<8|h[i+3>>0])>>>0)break;else k=g}}while(0);Ma=Ia;h:do if((f[Ma>>2]|0)==1&(f[Ma+4>>2]|0)==0){g=f[Qa>>2]|0;if(h[g+2>>0]<<8|h[g+3>>0]|0){m=(e|0)==0?89:90;l=c+16|0;if(!Na){i=0;while(1){d=g+((U(i,h[Ra>>0]|0)|0)+4)|0;Ja=WA(h[d>>0]|0,0,56)|0;e=ba()|0;Ia=WA(h[d+1>>0]|0,0,48)|0;e=ba()|0|e;La=WA(h[d+2>>0]|0,0,40)|0;e=e|(ba()|0);e=e|h[d+3>>0];Ma=WA(h[d+4>>0]|0,0,24)|0;e=e|(ba()|0);Na=WA(h[d+5>>0]|0,0,16)|0;e=e|(ba()|0);g=WA(h[d+6>>0]|0,0,8)|0;e=e|(ba()|0);d=KA(Ia|Ja|La|Ma|Na|g|0,e|0,h[d+7>>0]|0,0)|0;e=ba()|0;g=v;g=mb[m&127](a,d,e,f[g>>2]|0,f[g+4>>2]|0)|0;i=i+1|0;if(g|0){j=c;i=Ka;break c}g=f[Qa>>2]|0;if(i>>>0>=(h[g+2>>0]<<8|h[g+3>>0])>>>0)break h}}k=0;do{i=g+((U(k,h[Ra>>0]|0)|0)+4)|0;Ma=WA(h[i>>0]|0,0,56)|0;j=ba()|0;La=WA(h[i+1>>0]|0,0,48)|0;j=ba()|0|j;Na=WA(h[i+2>>0]|0,0,40)|0;j=j|(ba()|0);j=j|h[i+3>>0];d=WA(h[i+4>>0]|0,0,24)|0;j=j|(ba()|0);e=WA(h[i+5>>0]|0,0,16)|0;j=j|(ba()|0);g=WA(h[i+6>>0]|0,0,8)|0;j=j|(ba()|0);i=KA(La|Ma|Na|d|e|g|0,j|0,h[i+7>>0]|0,0)|0;j=ba()|0;g=RA(i|0,j|0,97,0)|0;ba()|0;g=f[a+116+(g<<2)>>2]|0;i:do if(g|0){while(1){e=g+8|0;if((f[e>>2]|0)==(i|0)?(f[e+4>>2]|0)==(j|0):0)break;g=f[g+28>>2]|0;if(!g)break i}bs(a,f[g>>2]|0)|0;f[l>>2]=(f[l>>2]|0)+1;f[g>>2]=c}while(0);g=v;g=mb[m&127](a,i,j,f[g>>2]|0,f[g+4>>2]|0)|0;k=k+1|0;if(g|0){j=c;i=Ka;break c}g=f[Qa>>2]|0}while(k>>>0<(h[g+2>>0]<<8|h[g+3>>0])>>>0)}}else if(!g){k=d;j=f[k>>2]|0;k=f[k+4>>2]|0;i=(e|0)==0?89:90;j:do if(Na){g=RA(j|0,k|0,97,0)|0;ba()|0;g=f[a+116+(g<<2)>>2]|0;if(!g)break;while(1){e=g+8|0;if((f[e>>2]|0)==(j|0)?(f[e+4>>2]|0)==(k|0):0)break;g=f[g+28>>2]|0;if(!g)break j}bs(a,f[g>>2]|0)|0;e=c+16|0;f[e>>2]=(f[e>>2]|0)+1;f[g>>2]=c}while(0);g=v;g=mb[i&127](a,j,k,f[g>>2]|0,f[g+4>>2]|0)|0;if(g|0){j=c;i=Ka;break c}}while(0);g=bs(a,Ka)|0;if(!g){j=0;i=0;g=bs(a,c)|0}else{j=c;i=0}}else{j=c;i=Ka}}else{j=c;i=Ka}}else{j=c;i=Ka;g=7}}else{j=0;i=0;g=7}while(0);bs(a,i)|0;bs(a,j)|0;do if(!Pa)if(!(f[9328]|0)){ob[f[37360>>2]&127](Oa);break}else{a=ib[f[37368>>2]&255](Oa)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Oa);break}while(0);a=g;t=Sa;return a|0}function bs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if(!b){b=0;return b|0}e=b+16|0;g=(f[e>>2]|0)+-1|0;f[e>>2]=g;if(g|0){b=0;return b|0}e=a+60|0;f[e>>2]=(f[e>>2]|0)+-1;e=b+8|0;g=e;if((f[g>>2]|0)==1&(f[g+4>>2]|0)==0)f[a+28>>2]=-1;c=f[b>>2]|0;if((c|0)!=0?(d=bs(a,c)|0,(d|0)!=0):0)g=d;else g=ds(a,b)|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((c|0)==0&(d|0)==0)){c=RA(c|0,d|0,97,0)|0;ba()|0;c=a+116+(c<<2)|0;while(1){d=f[c>>2]|0;if((d|0)==(b|0))break;else c=d+28|0}a=b+28|0;f[c>>2]=f[a>>2];f[a>>2]=0}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);b=g;return b|0}else{a=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);b=g;return b|0}return 0}function cs(a){a=a|0;var c=0,d=0,e=0;c=a+40|0;d=(f[c>>2]|0)+-1|0;f[c>>2]=d;if(d|0)return;b[a+24>>0]=0;c=a+76|0;d=f[c>>2]|0;do if(d|0?(f[a+56>>2]|0)==0:0){f[c>>2]=0;c=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;if(c|0){if(f[c+480>>2]|0){Kc(c,d);break}e=d;if((f[c+304>>2]|0)>>>0<=e>>>0?(f[c+308>>2]|0)>>>0>e>>>0:0){e=c+300|0;f[d>>2]=f[e>>2];f[e>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{e=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);Fi(f[a+80>>2]|0)|0;Fi(f[a+84>>2]|0)|0;Fi(f[a+88>>2]|0)|0;Fi(f[a+92>>2]|0)|0;Fi(f[a+96>>2]|0)|0;Fi(f[a+100>>2]|0)|0;Fi(f[a+104>>2]|0)|0;Fi(f[a+108>>2]|0)|0;Fi(f[a+112>>2]|0)|0;c=f[a+64>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{e=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function ds(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=c+20|0;if(!(f[j>>2]|0)){n=0;return n|0}m=f[a+80>>2]|0;n=c+8|0;g=n;e=f[g>>2]|0;g=f[g+4>>2]|0;do if(((e|0)!=0|(g|0)!=0)&(Op(m,1)|0)==0){h=f[m+116>>2]|0;i=h+8|0;if(!(d[i>>1]&9216)){f[h>>2]=e;f[h+4>>2]=g;d[i>>1]=4;break}else{bf(h,e,g);break}}while(0);e=f[c+24>>2]|0;g=f[a+16>>2]|0;if((e|0)==0|(Op(m,2)|0)!=0){Ei(m)|0;f[j>>2]=0;if(!m)e=0;else l=12}else{e=$e((f[m+116>>2]|0)+40|0,e,g,0,0)|0;if(e|0?(k=f[m>>2]|0,f[k+64>>2]=e,Bg(k,e),k=f[m>>2]|0,(e|0)==3082|(b[k+81>>0]|0)!=0):0)Di(k);Ei(m)|0;f[j>>2]=0;l=12}do if((l|0)==12){e=f[m>>2]|0;l=m+128|0;k=f[l+4>>2]|0;if((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)Hi(e,m);g=fg(m)|0;f[m+20>>2]=770837923;f[m+36>>2]=-1;f[m+40>>2]=0;b[m+142>>0]=2;f[m+44>>2]=0;f[m+32>>2]=1;b[m+143>>0]=-1;f[m+48>>2]=0;l=m+64|0;f[l>>2]=0;f[l+4>>2]=0;if((g|0)==3082|(b[e+81>>0]|0)!=0){Di(e);e=7;break}else{e=f[e+68>>2]&g;break}}while(0);Op(m,2)|0;m=n;if(!((e|0)==0&((f[m>>2]|0)==0&(f[m+4>>2]|0)==0))){n=e;return n|0}m=(f[a+12>>2]|0)+40|0;l=f[m>>2]|0;m=f[m+4>>2]|0;f[n>>2]=l;f[n+4>>2]=m;n=RA(l|0,m|0,97,0)|0;ba()|0;n=a+116+(n<<2)|0;f[c+28>>2]=f[n>>2];f[n>>2]=c;n=0;return n|0}function es(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((d|0)<=1)return;t=d>>>1;r=d-t|0;s=c+(t<<2)|0;es(a,c,t,e,g,h);es(a,s,r,e,g,h);YA(h|0,c|0,t<<2|0)|0;if(!((r|0)>0|(t|0)!=0))return;p=e<<1;q=p|1;o=(b[a+22>>0]|0)==0;d=0;e=0;do{m=f[h+(e<<2)>>2]|0;a=g+(m*48|0)+8+(p<<2)|0;if(o){v=f[s+(d<<2)>>2]|0;i=+n[a>>2];j=+n[g+(v*48|0)+8+(p<<2)>>2];k=+n[g+(m*48|0)+8+(q<<2)>>2];l=+n[g+(v*48|0)+8+(q<<2)>>2];a=v}else{v=f[s+(d<<2)>>2]|0;i=+(f[a>>2]|0);j=+(f[g+(v*48|0)+8+(p<<2)>>2]|0);k=+(f[g+(m*48|0)+8+(q<<2)>>2]|0);l=+(f[g+(v*48|0)+8+(q<<2)>>2]|0);a=v}do if((e|0)==(t|0))u=11;else{if(!((d|0)==(r|0)|i>2]=m;e=e+1|0}while(0);if((u|0)==11){u=0;f[c+(e+d<<2)>>2]=a;d=d+1|0}}while((d|0)<(r|0)|(e|0)<(t|0));return}function fs(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0;C=t;t=t+48|0;z=C;e=f[c>>2]|0;if(!e){B=0;t=C;return B|0}y=a+23|0;A=a+21|0;x=a+22|0;a=c;a:while(1){v=a+8|0;u=f[v>>2]|0;v=f[v+4>>2]|0;i=f[e+24>>2]|0;c=h[i+2>>0]<<8|h[i+3>>0];if(!c)break;g=h[y>>0]|0;a=0;while(1){j=U(a,g)|0;w=i+(j+4)|0;m=WA(h[w>>0]|0,0,56)|0;s=ba()|0;l=WA(h[w+1>>0]|0,0,48)|0;s=ba()|0|s;o=WA(h[w+2>>0]|0,0,40)|0;s=s|(ba()|0);s=s|h[w+3>>0];p=WA(h[w+4>>0]|0,0,24)|0;s=s|(ba()|0);q=WA(h[w+5>>0]|0,0,16)|0;s=s|(ba()|0);r=WA(h[w+6>>0]|0,0,8)|0;s=s|(ba()|0);s=KA(l|m|o|p|q|r|0,s|0,h[w+7>>0]|0,0)|0;if((s|0)==(u|0)&(ba()|0)==(v|0))break;a=a+1|0;if(a>>>0>=c>>>0)break a}k=w+1|0;l=w+2|0;m=w+3|0;o=w+4|0;p=w+5|0;q=w+6|0;r=w+7|0;g=z;f[g>>2]=u;f[g+4>>2]=v;g=b[A>>0]|0;s=g&255;c=0;a=i+(j+12)|0;while(1){f[z+8+(c<<2)>>2]=h[a+1>>0]<<16|h[a>>0]<<24|h[a+2>>0]<<8|h[a+3>>0];f[z+8+((c|1)<<2)>>2]=h[a+5>>0]<<16|h[a+4>>0]<<24|h[a+6>>0]<<8|h[a+7>>0];c=c+2|0;if(c>>>0>=s>>>0)break;else a=a+8|0}b:do if(g<<24>>24){i=b[x>>0]|0;c:do if(i<<24>>24==1){a=0;while(1){c=z+8+(a<<2)|0;g=d+8+(a<<2)|0;if((f[g>>2]|0)<(f[c>>2]|0))break c;if((f[g+4>>2]|0)>(f[c+4>>2]|0))break c;a=a+2|0;if(a>>>0>=s>>>0)break b}}else{a=0;while(1){c=z+8+(a<<2)|0;g=d+8+(a<<2)|0;if(+n[g>>2]<+n[c>>2])break c;if(+n[g+4>>2]>+n[c+4>>2])break c;a=a+2|0;if(a>>>0>=s>>>0)break b}}while(0);if(!(i<<24>>24)){a=0;do{i=z+8+(a<<2)|0;D=+n[i>>2];E=+n[d+8+(a<<2)>>2];n[i>>2]=D>2];D=+n[d+8+(i<<2)>>2];n[j>>2]=E>D?E:D;a=a+2|0}while(a>>>0>>0)}else{a=0;do{i=z+8+(a<<2)|0;g=f[i>>2]|0;j=f[d+8+(a<<2)>>2]|0;f[i>>2]=(g|0)<(j|0)?g:j;i=a|1;j=z+8+(i<<2)|0;g=f[j>>2]|0;i=f[d+8+(i<<2)>>2]|0;f[j>>2]=(g|0)>(i|0)?g:i;a=a+2|0}while(a>>>0>>0)}s=VA(u|0,v|0,56)|0;ba()|0;b[w>>0]=s;s=VA(u|0,v|0,48)|0;ba()|0;b[k>>0]=s;s=VA(u|0,v|0,40)|0;ba()|0;b[l>>0]=s;b[m>>0]=v;s=VA(u|0,v|0,24)|0;ba()|0;b[o>>0]=s;s=VA(u|0,v|0,16)|0;ba()|0;b[p>>0]=s;v=VA(u|0,v|0,8)|0;ba()|0;b[q>>0]=v;b[r>>0]=u;if(b[A>>0]|0){c=0;a=w+8|0;while(1){w=f[z+8+(c<<2)>>2]|0;b[a>>0]=w>>>24;b[a+1>>0]=w>>>16;b[a+2>>0]=w>>>8;b[a+3>>0]=w;c=c+1|0;if(c>>>0>=(h[A>>0]|0)>>>0)break;else a=a+4|0}}f[e+20>>2]=1}while(0);a=f[e>>2]|0;if(!a){a=0;B=30;break}else{w=e;e=a;a=w}}if((B|0)==30){t=C;return a|0}B=267;t=C;return B|0}function gs(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;j=a+92|0;a=f[j>>2]|0;do if(!(Op(a,1)|0)){a=f[a+116>>2]|0;i=a+8|0;if(!(d[i>>1]&9216)){f[a>>2]=c;f[a+4>>2]=e;d[i>>1]=4;break}else{bf(a,c,e);break}}while(0);a=f[j>>2]|0;do if(!(Op(a,2)|0)){i=f[a+116>>2]|0;a=i+40|0;i=i+48|0;if(!(d[i>>1]&9216)){e=a;f[e>>2]=g;f[e+4>>2]=h;d[i>>1]=4;break}else{bf(a,g,h);break}}while(0);Ei(f[j>>2]|0)|0;a=f[j>>2]|0;if(!a){h=0;return h|0}i=f[a>>2]|0;h=a+128|0;g=f[h+4>>2]|0;if((g|0)>0|(g|0)==0&(f[h>>2]|0)>>>0>0)Hi(i,a);c=fg(a)|0;f[a+20>>2]=770837923;f[a+36>>2]=-1;f[a+40>>2]=0;b[a+142>>0]=2;f[a+44>>2]=0;f[a+32>>2]=1;b[a+143>>0]=-1;f[a+48>>2]=0;h=a+64|0;f[h>>2]=0;f[h+4>>2]=0;if((c|0)==3082|(b[i+81>>0]|0)!=0){Di(i);h=7;return h|0}else{h=f[i+68>>2]&c;return h|0}return 0}function hs(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;j=a+104|0;a=f[j>>2]|0;do if(!(Op(a,1)|0)){a=f[a+116>>2]|0;i=a+8|0;if(!(d[i>>1]&9216)){f[a>>2]=c;f[a+4>>2]=e;d[i>>1]=4;break}else{bf(a,c,e);break}}while(0);a=f[j>>2]|0;do if(!(Op(a,2)|0)){i=f[a+116>>2]|0;a=i+40|0;i=i+48|0;if(!(d[i>>1]&9216)){e=a;f[e>>2]=g;f[e+4>>2]=h;d[i>>1]=4;break}else{bf(a,g,h);break}}while(0);Ei(f[j>>2]|0)|0;a=f[j>>2]|0;if(!a){h=0;return h|0}i=f[a>>2]|0;h=a+128|0;g=f[h+4>>2]|0;if((g|0)>0|(g|0)==0&(f[h>>2]|0)>>>0>0)Hi(i,a);c=fg(a)|0;f[a+20>>2]=770837923;f[a+36>>2]=-1;f[a+40>>2]=0;b[a+142>>0]=2;f[a+44>>2]=0;f[a+32>>2]=1;b[a+143>>0]=-1;f[a+48>>2]=0;h=a+64|0;f[h>>2]=0;f[h+4>>2]=0;if((c|0)==3082|(b[i+81>>0]|0)!=0){Di(i);h=7;return h|0}else{h=f[i+68>>2]&c;return h|0}return 0}function is(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;if((b|0)<=1)return;l=b>>>1;j=b-l|0;k=a+(l<<2)|0;is(a,l,c,d);is(k,j,c,d);YA(d|0,a|0,l<<2|0)|0;if(!((j|0)>0|(l|0)!=0))return;b=0;e=0;do do if((e|0)!=(l|0)){g=f[d+(e<<2)>>2]|0;if((b|0)==(j|0)){f[a+(e+j<<2)>>2]=g;e=e+1|0;b=j;break}h=f[k+(b<<2)>>2]|0;i=a+(e+b<<2)|0;if(+p[c+(g<<3)>>3]<+p[c+(h<<3)>>3]){f[i>>2]=g;e=e+1|0;break}else{f[i>>2]=h;b=b+1|0;break}}else{f[a+(l+b<<2)>>2]=f[k+(b<<2)>>2];e=l;b=b+1|0}while(0);while((b|0)<(j|0)|(e|0)<(l|0));return}function js(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0;u=t;t=t+96|0;q=u+48|0;m=u;r=f[c>>2]|0;if(!r){s=0;t=u;return s|0}o=f[c+24>>2]|0;k=h[o+2>>0]|0;j=h[o+3>>0]|0;p=b[a+23>>0]|0;l=WA(h[o+4>>0]|0,0,56)|0;i=ba()|0;v=WA(h[o+5>>0]|0,0,48)|0;i=ba()|0|i;e=WA(h[o+6>>0]|0,0,40)|0;i=i|(ba()|0);i=i|h[o+7>>0];d=WA(h[o+8>>0]|0,0,24)|0;i=i|(ba()|0);s=WA(h[o+9>>0]|0,0,16)|0;i=i|(ba()|0);g=WA(h[o+10>>0]|0,0,8)|0;i=i|(ba()|0);i=KA(v|l|e|d|s|g|0,i|0,h[o+11>>0]|0,0)|0;g=ba()|0;s=q;f[s>>2]=i;f[s+4>>2]=g;s=a+21|0;g=b[s>>0]|0;i=g&255;d=0;e=o+12|0;while(1){f[q+8+(d<<2)>>2]=h[e+1>>0]<<16|h[e>>0]<<24|h[e+2>>0]<<8|h[e+3>>0];f[q+8+((d|1)<<2)>>2]=h[e+5>>0]<<16|h[e+4>>0]<<24|h[e+6>>0]<<8|h[e+7>>0];d=d+2|0;if(d>>>0>=i>>>0)break;else e=e+8|0}l=g&255;g=k<<8|j;if(g>>>0>1){i=p&255;j=a+22|0;k=1;do{e=U(k,i)|0;w=o+(e+4)|0;A=WA(h[w>>0]|0,0,56)|0;v=ba()|0;B=WA(h[w+1>>0]|0,0,48)|0;v=ba()|0|v;z=WA(h[w+2>>0]|0,0,40)|0;v=v|(ba()|0);v=v|h[w+3>>0];y=WA(h[w+4>>0]|0,0,24)|0;v=v|(ba()|0);x=WA(h[w+5>>0]|0,0,16)|0;v=v|(ba()|0);d=WA(h[w+6>>0]|0,0,8)|0;v=v|(ba()|0);w=KA(B|A|z|y|x|d|0,v|0,h[w+7>>0]|0,0)|0;v=ba()|0;d=m;f[d>>2]=w;f[d+4>>2]=v;d=0;e=o+(e+12)|0;while(1){f[m+8+(d<<2)>>2]=h[e+1>>0]<<16|h[e>>0]<<24|h[e+2>>0]<<8|h[e+3>>0];f[m+8+((d|1)<<2)>>2]=h[e+5>>0]<<16|h[e+4>>0]<<24|h[e+6>>0]<<8|h[e+7>>0];d=d+2|0;if(d>>>0>=l>>>0)break;else e=e+8|0}if(!(b[j>>0]|0)){d=0;do{A=q+8+(d<<2)|0;C=+n[A>>2];D=+n[m+8+(d<<2)>>2];n[A>>2]=C>2];C=+n[m+8+(A<<2)>>2];n[B>>2]=D>C?D:C;d=d+2|0}while(d>>>0>>0)}else{d=0;do{A=q+8+(d<<2)|0;z=f[A>>2]|0;B=f[m+8+(d<<2)>>2]|0;f[A>>2]=(z|0)<(B|0)?z:B;A=d|1;B=q+8+(A<<2)|0;z=f[B>>2]|0;A=f[m+8+(A<<2)>>2]|0;f[B>>2]=(z|0)>(A|0)?z:A;d=d+2|0}while(d>>>0>>0)}k=k+1|0}while((k|0)!=(g|0))}j=c+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;g=q;f[g>>2]=i;f[g+4>>2]=j;g=f[r+24>>2]|0;k=h[g+2>>0]<<8|h[g+3>>0];a:do if(!k)d=267;else{e=p&255;d=0;while(1){l=g+((U(d,e)|0)+4)|0;w=WA(h[l>>0]|0,0,56)|0;B=ba()|0;v=WA(h[l+1>>0]|0,0,48)|0;B=ba()|0|B;x=WA(h[l+2>>0]|0,0,40)|0;B=B|(ba()|0);B=B|h[l+3>>0];y=WA(h[l+4>>0]|0,0,24)|0;B=B|(ba()|0);z=WA(h[l+5>>0]|0,0,16)|0;B=B|(ba()|0);A=WA(h[l+6>>0]|0,0,8)|0;B=B|(ba()|0);B=KA(v|w|x|y|z|A|0,B|0,h[l+7>>0]|0,0)|0;if((B|0)==(i|0)&(ba()|0)==(j|0))break;d=d+1|0;if(d>>>0>=k>>>0){d=267;break a}}B=VA(i|0,j|0,56)|0;ba()|0;b[l>>0]=B;B=VA(i|0,j|0,48)|0;ba()|0;b[l+1>>0]=B;B=VA(i|0,j|0,40)|0;ba()|0;b[l+2>>0]=B;b[l+3>>0]=j;B=VA(i|0,j|0,24)|0;ba()|0;b[l+4>>0]=B;B=VA(i|0,j|0,16)|0;ba()|0;b[l+5>>0]=B;B=VA(i|0,j|0,8)|0;ba()|0;b[l+6>>0]=B;b[l+7>>0]=i;if(b[s>>0]|0){e=0;d=l+8|0;while(1){B=f[q+8+(e<<2)>>2]|0;b[d>>0]=B>>>24;b[d+1>>0]=B>>>16;b[d+2>>0]=B>>>8;b[d+3>>0]=B;e=e+1|0;if(e>>>0>=(h[s>>0]|0)>>>0)break;else d=d+4|0}}f[r+20>>2]=1;d=js(a,r)|0}while(0);B=d;t=u;return B|0}function ks(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+16|0;m=p;i=RA(c|0,d|0,97,0)|0;ba()|0;i=f[a+116+(i<<2)>>2]|0;a:do if(i|0){while(1){o=i+8|0;if((f[o>>2]|0)==(c|0)?(f[o+4>>2]|0)==(d|0):0)break;i=f[i+28>>2]|0;if(!i)break a}if(e|0?(f[i>>2]|0)==0:0){a=e+16|0;f[a>>2]=(f[a>>2]|0)+1;f[i>>2]=e}a=i+16|0;f[a>>2]=(f[a>>2]|0)+1;f[g>>2]=i;g=0;t=p;return g|0}while(0);o=a+76|0;k=f[o>>2]|0;do if(k){f[o>>2]=0;i=aq(k,c,d)|0;f[o>>2]=k;if(!i){l=a+16|0;i=f[l>>2]|0;n=45;break}j=a+24|0;do if((b[j>>0]|0)==0?(f[a+56>>2]|0)==0:0){f[o>>2]=0;l=f[k+20>>2]|0;Fi(f[k+16>>2]|0)|0;if(l|0){if(f[l+480>>2]|0){Kc(l,k);break}n=k;if((f[l+304>>2]|0)>>>0<=n>>>0?(f[l+308>>2]|0)>>>0>n>>>0:0){n=l+300|0;f[k>>2]=f[n>>2];f[n>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{n=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);if((i|0)!=7){k=f[o>>2]|0;if(!k){n=25;break}else{n=32;break}}else{g=7;t=p;return g|0}}else n=25;while(0);do if((n|0)==25){f[m>>2]=f[a+36>>2];j=wd(60830,m)|0;if(!j){g=7;t=p;return g|0}i=Wp(f[a+12>>2]|0,f[a+32>>2]|0,j,60838,c,d,0,o)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](j);else{n=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j)}k=f[o>>2]|0;if(!i){l=a+16|0;i=f[l>>2]|0;if(!k){j=0;k=l;n=47;break}else{n=45;break}}if(!k)n=43;else{j=a+24|0;n=32}}while(0);do if((n|0)==32)if((b[j>>0]|0)==0?(f[a+56>>2]|0)==0:0){f[o>>2]=0;j=f[k+20>>2]|0;Fi(f[k+16>>2]|0)|0;if(j|0){if(f[j+480>>2]|0){Kc(j,k);n=43;break}a=k;if((f[j+304>>2]|0)>>>0<=a>>>0?(f[j+308>>2]|0)>>>0>a>>>0:0){n=j+300|0;f[k>>2]=f[n>>2];f[n>>2]=k;n=43;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);n=43;break}else{n=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);n=43;break}}else n=43;else if((n|0)==45)if(!(f[k+16>>2]|0)){j=0;k=l;n=47}else{j=f[k>>2]|0;k=l;n=47}while(0);do if((n|0)==43){f[g>>2]=0;i=(i|0)==1?267:i;j=0}else if((n|0)==47)if((i|0)==(j|0)){j=Fd(i+32|0)|0;if(j){f[j>>2]=e;i=j+32|0;f[j+24>>2]=i;f[j+16>>2]=1;n=a+60|0;f[n>>2]=(f[n>>2]|0)+1;n=j+8|0;f[n>>2]=c;f[n+4>>2]=d;f[j+20>>2]=0;f[j+28>>2]=0;i=Zp(f[o>>2]|0,i,f[k>>2]|0,0,89)|0;if(e|0){e=e+16|0;f[e>>2]=(f[e>>2]|0)+1}if((c|0)==1&(d|0)==0){e=f[j+24>>2]|0;e=h[e>>0]<<8|h[e+1>>0];f[a+28>>2]=e;i=e>>>0>40?267:i}if(!i){e=f[j+24>>2]|0;if((h[e+2>>0]<<8|h[e+3>>0]|0)>(((f[a+16>>2]|0)+-4|0)/(h[a+23>>0]|0)|0|0))i=267;else{i=j+8|0;i=RA(f[i>>2]|0,f[i+4>>2]|0,97,0)|0;ba()|0;i=a+116+(i<<2)|0;f[j+28>>2]=f[i>>2];f[i>>2]=j;i=0;break}}a=a+60|0;f[a>>2]=(f[a>>2]|0)+-1;if(!(f[9328]|0)){ob[f[37360>>2]&127](j);j=0;break}else{a=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);j=0;break}}else{i=7;j=0}}else{i=267;j=0}while(0);f[g>>2]=j;g=i;t=p;return g|0}function ls(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=a+100|0;a:do if(c|0?(j=c+8|0,i=f[j>>2]|0,j=f[j+4>>2]|0,!((i|0)==1&(j|0)==0)):0){m=c;while(1){if(f[m>>2]|0)break a;k=f[n>>2]|0;do if(!(Op(k,1)|0)){k=f[k+116>>2]|0;l=k+8|0;if(!(d[l>>1]&9216)){f[k>>2]=i;f[k+4>>2]=j;d[l>>1]=4;break}else{bf(k,i,j);break}}while(0);b:do if((Ei(f[n>>2]|0)|0)==100){j=Jp(f[n>>2]|0,0)|0;k=ba()|0;i=c;do{l=i+8|0;if((f[l>>2]|0)==(j|0)?(f[l+4>>2]|0)==(k|0):0){i=0;break b}i=f[i>>2]|0}while((i|0)!=0);i=ks(a,j,k,0,m)|0}else i=0;while(0);j=f[n>>2]|0;if(j|0){l=f[j>>2]|0;k=j+128|0;o=f[k+4>>2]|0;if((o|0)>0|(o|0)==0&(f[k>>2]|0)>>>0>0)Hi(l,j);k=fg(j)|0;f[j+20>>2]=770837923;f[j+36>>2]=-1;f[j+40>>2]=0;b[j+142>>0]=2;f[j+44>>2]=0;f[j+32>>2]=1;b[j+143>>0]=-1;f[j+48>>2]=0;o=j+64|0;f[o>>2]=0;f[o+4>>2]=0;if((k|0)==3082|(b[l+81>>0]|0)!=0){j=19;break}j=f[l+68>>2]&k;if(j|0){i=j;j=27;break}}if(i|0){j=27;break}m=f[m>>2]|0;if(!m){i=267;j=27;break}j=m+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;if((i|0)==1&(j|0)==0)break a}if((j|0)==19){Di(l);o=7;return o|0}else if((j|0)==27)return i|0}while(0);i=a+23|0;j=c+24|0;n=f[j>>2]|0;o=h[i>>0]|0;m=n+((U(o,e)|0)+4)|0;ZA(m|0,m+o|0,U((h[n+2>>0]<<8|h[n+3>>0])+~e|0,o)|0)|0;o=f[j>>2]|0;n=o+2|0;o=o+3|0;e=(h[n>>0]<<8|h[o>>0])+-1|0;b[n>>0]=e>>>8;b[o>>0]=e;f[c+20>>2]=1;if(!(f[c>>2]|0)){o=0;return o|0}o=f[j>>2]|0;if((h[o+2>>0]<<8|h[o+3>>0]|0)<((((f[a+16>>2]|0)+-4|0)/(h[i>>0]|0)|0|0)/3|0|0)){o=ms(a,c,g)|0;return o|0}else{o=js(a,c)|0;return o|0}return 0}function ms(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=f[c>>2]|0;a:do if(!n)g=-1;else{j=c+8|0;m=f[j>>2]|0;j=f[j+4>>2]|0;i=f[n+24>>2]|0;k=h[i+2>>0]<<8|h[i+3>>0];if(k|0){l=h[a+23>>0]|0;g=0;do{o=i+((U(g,l)|0)+4)|0;u=WA(h[o>>0]|0,0,56)|0;p=ba()|0;v=WA(h[o+1>>0]|0,0,48)|0;p=ba()|0|p;t=WA(h[o+2>>0]|0,0,40)|0;p=p|(ba()|0);p=p|h[o+3>>0];s=WA(h[o+4>>0]|0,0,24)|0;p=p|(ba()|0);r=WA(h[o+5>>0]|0,0,16)|0;p=p|(ba()|0);q=WA(h[o+6>>0]|0,0,8)|0;p=p|(ba()|0);o=KA(v|u|t|s|r|q|0,p|0,h[o+7>>0]|0,0)|0;if((o|0)==(m|0)&(ba()|0)==(j|0))break a;g=g+1|0}while(g>>>0>>0)}bs(a,0)|0;v=267;return v|0}while(0);f[c>>2]=0;i=ls(a,n,g,e+1|0)|0;g=bs(a,n)|0;if(i|0){v=i;return v|0}if(g|0){v=g;return v|0}j=a+84|0;g=f[j>>2]|0;m=c+8|0;l=m;k=f[l>>2]|0;l=f[l+4>>2]|0;do if(!(Op(g,1)|0)){g=f[g+116>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){v=g;f[v>>2]=k;f[v+4>>2]=l;d[i>>1]=4;break}else{bf(g,k,l);break}}while(0);Ei(f[j>>2]|0)|0;g=f[j>>2]|0;do if(g|0){i=f[g>>2]|0;v=g+128|0;u=f[v+4>>2]|0;if((u|0)>0|(u|0)==0&(f[v>>2]|0)>>>0>0)Hi(i,g);j=fg(g)|0;f[g+20>>2]=770837923;f[g+36>>2]=-1;f[g+40>>2]=0;b[g+142>>0]=2;f[g+44>>2]=0;f[g+32>>2]=1;b[g+143>>0]=-1;f[g+48>>2]=0;v=g+64|0;f[v>>2]=0;f[v+4>>2]=0;if((j|0)==3082|(b[i+81>>0]|0)!=0){Di(i);v=7;return v|0}else{g=f[i+68>>2]&j;if(!g)break;return g|0}}while(0);j=a+108|0;g=f[j>>2]|0;l=m;k=f[l>>2]|0;l=f[l+4>>2]|0;do if(!(Op(g,1)|0)){g=f[g+116>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){v=g;f[v>>2]=k;f[v+4>>2]=l;d[i>>1]=4;break}else{bf(g,k,l);break}}while(0);Ei(f[j>>2]|0)|0;g=f[j>>2]|0;do if(g|0){i=f[g>>2]|0;v=g+128|0;u=f[v+4>>2]|0;if((u|0)>0|(u|0)==0&(f[v>>2]|0)>>>0>0)Hi(i,g);j=fg(g)|0;f[g+20>>2]=770837923;f[g+36>>2]=-1;f[g+40>>2]=0;b[g+142>>0]=2;f[g+44>>2]=0;f[g+32>>2]=1;b[g+143>>0]=-1;f[g+48>>2]=0;v=g+64|0;f[v>>2]=0;f[v+4>>2]=0;if((j|0)==3082|(b[i+81>>0]|0)!=0){Di(i);v=7;return v|0}else{g=f[i+68>>2]&j;if(!g)break;return g|0}}while(0);i=m;g=f[i>>2]|0;i=f[i+4>>2]|0;if((g|0)==0&(i|0)==0)g=c+28|0;else{g=RA(g|0,i|0,97,0)|0;ba()|0;g=a+116+(g<<2)|0;while(1){i=f[g>>2]|0;if((i|0)==(c|0))break;else g=i+28|0}v=c+28|0;f[g>>2]=f[v>>2];f[v>>2]=0;g=v}v=m;f[v>>2]=e;f[v+4>>2]=((e|0)<0)<<31>>31;v=a+68|0;f[g>>2]=f[v>>2];u=c+16|0;f[u>>2]=(f[u>>2]|0)+1;f[v>>2]=c;v=0;return v|0}function ns(a){a=a|0;var c=0,d=0,e=0,g=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;r=t;t=t+32|0;o=r;g=a+5|0;c=b[g>>0]|0;d=a+64+(1-(c&255)<<2)|0;e=f[d>>2]|0;if(e){bs(f[a>>2]|0,e)|0;f[d>>2]=0;c=b[g>>0]|0}if(c<<24>>24){q=a+84+((h[a+56>>0]|0)<<2)|0;f[q>>2]=(f[q>>2]|0)+-1;b[g>>0]=0;t=r;return}c=a+24|0;d=f[c>>2]|0;if(!d){t=r;return}m=a+32|0;l=f[m>>2]|0;n=a+84+((h[l+16>>0]|0)<<2)|0;f[n>>2]=(f[n>>2]|0)+-1;n=d+-1|0;f[c>>2]=n;c=l+(n*24|0)|0;f[l>>2]=f[c>>2];f[l+4>>2]=f[c+4>>2];f[l+8>>2]=f[c+8>>2];f[l+12>>2]=f[c+12>>2];f[l+16>>2]=f[c+16>>2];f[l+20>>2]=f[c+20>>2];c=a+64+(d<<2)|0;if((d|0)<5?(f[a+68>>2]=f[c>>2],f[c>>2]=0,(d|0)<=2):0){t=r;return}c=0;l=1;a:while(1){k=l+1|0;g=f[m>>2]|0;do if((k|0)<(n|0)){e=g+(k*24|0)|0;j=+p[e>>3];i=+p[g+(l*24|0)>>3];if(!(ji){q=21;break}if((h[g+(k*24|0)+16>>0]|0)>=(h[g+(l*24|0)+16>>0]|0)){q=21;break}}d=g+(c*24|0)|0;i=+p[d>>3];if(!(ji){q=30;break a}if((h[g+(k*24|0)+16>>0]|0)>=(h[g+(c*24|0)+16>>0]|0)){q=30;break a}};f[o>>2]=f[d>>2];f[o+4>>2]=f[d+4>>2];f[o+8>>2]=f[d+8>>2];f[o+12>>2]=f[d+12>>2];f[o+16>>2]=f[d+16>>2];f[o+20>>2]=f[d+20>>2];f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];d=(f[m>>2]|0)+(k*24|0)|0;f[d>>2]=f[o>>2];f[d+4>>2]=f[o+4>>2];f[d+8>>2]=f[o+8>>2];f[d+12>>2]=f[o+12>>2];f[d+16>>2]=f[o+16>>2];f[d+20>>2]=f[o+20>>2];d=c+1|0;e=l+2|0;do if((c|0)<4)if((l|0)>2){l=a+64+(d<<2)|0;bs(f[a>>2]|0,f[l>>2]|0)|0;f[l>>2]=0;break}else{d=a+64+(d<<2)|0;g=f[d>>2]|0;l=a+64+(e<<2)|0;f[d>>2]=f[l>>2];f[l>>2]=g;break}while(0);c=k}else q=21;while(0);if((q|0)==21){q=0;d=g+(l*24|0)|0;e=g+(c*24|0)|0;i=+p[d>>3];j=+p[e>>3];if(!(ij){q=30;break}if((h[g+(l*24|0)+16>>0]|0)>=(h[g+(c*24|0)+16>>0]|0)){q=30;break}};f[o>>2]=f[e>>2];f[o+4>>2]=f[e+4>>2];f[o+8>>2]=f[e+8>>2];f[o+12>>2]=f[e+12>>2];f[o+16>>2]=f[e+16>>2];f[o+20>>2]=f[e+20>>2];f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];f[e+12>>2]=f[d+12>>2];f[e+16>>2]=f[d+16>>2];f[e+20>>2]=f[d+20>>2];d=(f[m>>2]|0)+(l*24|0)|0;f[d>>2]=f[o>>2];f[d+4>>2]=f[o+4>>2];f[d+8>>2]=f[o+8>>2];f[d+12>>2]=f[o+12>>2];f[d+16>>2]=f[o+16>>2];f[d+20>>2]=f[o+20>>2];d=c+1|0;do if((c|0)<4)if((l|0)>3){k=a+64+(d<<2)|0;bs(f[a>>2]|0,f[k>>2]|0)|0;f[k>>2]=0;break}else{e=a+64+(d<<2)|0;g=f[e>>2]|0;k=a+64+(k<<2)|0;f[e>>2]=f[k>>2];f[k>>2]=g;break}while(0);c=l}l=c<<1|1;if((l|0)>=(n|0)){q=30;break}}if((q|0)==30){t=r;return}}function os(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0.0,o=0.0,q=0,r=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0;Qa=t;t=t+96|0;va=Qa;Ga=Qa+80|0;Aa=f[a>>2]|0;Na=f[a+12>>2]|0;Oa=(b[Aa+22>>0]|0)==1;Pa=a+5|0;wa=a+24|0;xa=a+40|0;ya=a+32|0;za=a+48|0;Aa=Aa+23|0;Ba=(Na|0)>0;Ca=a+16|0;Da=va+8|0;Ea=va+72|0;Fa=va+64|0;Ha=va+56|0;Ia=va+48|0;Ja=va+40|0;Ka=va+32|0;La=va+24|0;Ma=va+16|0;j=0;c=0;a:while(1){e=b[Pa>>0]|0;if(!(e<<24>>24)){if(!(f[wa>>2]|0)){c=1;ua=66;break}d=f[ya>>2]|0;if(!d){c=1;ua=66;break}}else d=xa;if(!(b[d+16>>0]|0)){c=0;ua=66;break}g=1-(e&255)|0;i=a+64+(g<<2)|0;e=f[i>>2]|0;if(!e){if(!g)c=za;else c=(f[ya>>2]|0)+8|0;c=ks(f[a>>2]|0,f[c>>2]|0,f[c+4>>2]|0,0,i)|0;e=f[i>>2]|0}if(c|0){ua=67;break}sa=e+24|0;ta=f[sa>>2]|0;ta=h[ta+2>>0]<<8|h[ta+3>>0];ra=d;e=j;c=0;b:while(1){pa=ra+18|0;g=b[pa>>0]|0;d=g&255;if(ta>>>0<=d>>>0)break;qa=(f[sa>>2]|0)+((U(h[Aa>>0]|0,d)|0)+4)|0;c:do if(Ba){N=ra+16|0;O=qa+8|0;P=qa+1|0;Q=qa+2|0;R=qa+3|0;S=qa+4|0;T=qa+5|0;V=qa+6|0;W=qa+7|0;X=qa+12|0;Y=qa+13|0;Z=qa+14|0;_=qa+15|0;$=qa+9|0;aa=qa+10|0;ca=qa+11|0;da=qa+44|0;ea=qa+45|0;fa=qa+46|0;ga=qa+47|0;ha=qa+40|0;ia=qa+41|0;ja=qa+42|0;ka=qa+43|0;la=qa+36|0;ma=qa+37|0;na=qa+38|0;oa=qa+39|0;q=qa+32|0;r=qa+33|0;u=qa+34|0;v=qa+35|0;w=qa+28|0;x=qa+29|0;y=qa+30|0;z=qa+31|0;A=qa+24|0;B=qa+25|0;C=qa+26|0;D=qa+27|0;E=qa+20|0;F=qa+21|0;G=qa+22|0;H=qa+23|0;I=qa+16|0;J=qa+17|0;K=qa+18|0;L=qa+19|0;M=ra+17|0;l=2;k=0;m=-1.0;d:do{i=f[Ca>>2]|0;j=f[i+(k*24|0)+4>>2]|0;e:do if((j|0)>69){c=f[i+(k*24|0)+16>>2]|0;d=f[c+28>>2]|0;if((j|0)==71?(b[N>>0]|0)==1:0){Va=WA(h[qa>>0]|0,0,56)|0;Sa=ba()|0;Wa=WA(h[P>>0]|0,0,48)|0;Sa=ba()|0|Sa;Ua=WA(h[Q>>0]|0,0,40)|0;Sa=Sa|(ba()|0);Sa=Sa|h[R>>0];Ta=WA(h[S>>0]|0,0,24)|0;Sa=Sa|(ba()|0);g=WA(h[T>>0]|0,0,16)|0;Sa=Sa|(ba()|0);Ra=WA(h[V>>0]|0,0,8)|0;Sa=Sa|(ba()|0);Sa=KA(Wa|Va|Ua|Ta|g|Ra|0,Sa|0,h[W>>0]|0,0)|0;Ra=ba()|0;g=c+40|0;f[g>>2]=Sa;f[g+4>>2]=Ra}if(Oa){switch(d|0){case 10:{p[Ea>>3]=+(h[ea>>0]<<16|h[da>>0]<<24|h[fa>>0]<<8|h[ga>>0]|0);p[Fa>>3]=+(h[ia>>0]<<16|h[ha>>0]<<24|h[ja>>0]<<8|h[ka>>0]|0);ua=29;break}case 8:{ua=29;break}case 6:{ua=30;break}case 4:{ua=31;break}default:{}}if((ua|0)==29){p[Ha>>3]=+(h[ma>>0]<<16|h[la>>0]<<24|h[na>>0]<<8|h[oa>>0]|0);p[Ia>>3]=+(h[r>>0]<<16|h[q>>0]<<24|h[u>>0]<<8|h[v>>0]|0);ua=30}if((ua|0)==30){p[Ja>>3]=+(h[x>>0]<<16|h[w>>0]<<24|h[y>>0]<<8|h[z>>0]|0);p[Ka>>3]=+(h[B>>0]<<16|h[A>>0]<<24|h[C>>0]<<8|h[D>>0]|0);ua=31}if((ua|0)==31){ua=0;p[La>>3]=+(h[F>>0]<<16|h[E>>0]<<24|h[G>>0]<<8|h[H>>0]|0);p[Ma>>3]=+(h[J>>0]<<16|h[I>>0]<<24|h[K>>0]<<8|h[L>>0]|0)}p[Da>>3]=+(h[Y>>0]<<16|h[X>>0]<<24|h[Z>>0]<<8|h[_>>0]|0);o=+(h[$>>0]<<16|h[O>>0]<<24|h[aa>>0]<<8|h[ca>>0]|0)}else{switch(d|0){case 10:{p[Ea>>3]=(f[s>>2]=h[ea>>0]<<16|h[da>>0]<<24|h[fa>>0]<<8|h[ga>>0],+n[s>>2]);p[Fa>>3]=(f[s>>2]=h[ia>>0]<<16|h[ha>>0]<<24|h[ja>>0]<<8|h[ka>>0],+n[s>>2]);ua=23;break}case 8:{ua=23;break}case 6:{ua=24;break}case 4:{ua=25;break}default:{}}if((ua|0)==23){p[Ha>>3]=(f[s>>2]=h[ma>>0]<<16|h[la>>0]<<24|h[na>>0]<<8|h[oa>>0],+n[s>>2]);p[Ia>>3]=(f[s>>2]=h[r>>0]<<16|h[q>>0]<<24|h[u>>0]<<8|h[v>>0],+n[s>>2]);ua=24}if((ua|0)==24){p[Ja>>3]=(f[s>>2]=h[x>>0]<<16|h[w>>0]<<24|h[y>>0]<<8|h[z>>0],+n[s>>2]);p[Ka>>3]=(f[s>>2]=h[B>>0]<<16|h[A>>0]<<24|h[C>>0]<<8|h[D>>0],+n[s>>2]);ua=25}if((ua|0)==25){ua=0;p[La>>3]=(f[s>>2]=h[F>>0]<<16|h[E>>0]<<24|h[G>>0]<<8|h[H>>0],+n[s>>2]);p[Ma>>3]=(f[s>>2]=h[J>>0]<<16|h[I>>0]<<24|h[K>>0]<<8|h[L>>0],+n[s>>2])}p[Da>>3]=(f[s>>2]=h[Y>>0]<<16|h[X>>0]<<24|h[Z>>0]<<8|h[_>>0],+n[s>>2]);o=(f[s>>2]=h[$>>0]<<16|h[O>>0]<<24|h[aa>>0]<<8|h[ca>>0],+n[s>>2])}p[va>>3]=o;if((j|0)==70){f[Ga>>2]=0;c=lb[f[i+(k*24|0)+8>>2]&127](c,d,va,Ga)|0;m=0.0;l=(f[Ga>>2]|0)==0?0:l}else{f[c+20>>2]=va;f[c+32>>2]=(h[N>>0]|0)+-1;o=+p[ra>>3];p[c+48>>3]=o;Va=c+64|0;p[Va>>3]=o;Ua=h[M>>0]|0;f[c+56>>2]=Ua;Wa=c+60|0;f[Wa>>2]=Ua;c=ib[f[i+(k*24|0)+8>>2]&255](c)|0;Wa=f[Wa>>2]|0;o=+p[Va>>3];m=m<0.0|o>2]<<2;if((b[N>>0]|0)!=1){g=qa+((d&1016)+8)|0;if((j+-65|0)>>>0<3){d=h[g+1>>0]<<16|h[g>>0]<<24|h[g+2>>0]<<8|h[g+3>>0];o=+p[i+(k*24|0)+8>>3];if(o>=(Oa?+(d|0):(f[s>>2]=d,+n[s>>2]))){ua=49;break}if((j|0)!=65){ua=50;break}}else o=+p[i+(k*24|0)+8>>3];d=g+4|0;d=h[d+1>>0]<<16|h[d>>0]<<24|h[d+2>>0]<<8|h[d+3>>0];if(!(o<=(Oa?+(d|0):(f[s>>2]=d,+n[s>>2])))){ua=50;break}else{ua=49;break}}d=qa+(d+8)|0;d=h[d+1>>0]<<16|h[d>>0]<<24|h[d+2>>0]<<8|h[d+3>>0];o=Oa?+(d|0):(f[s>>2]=d,+n[s>>2]);switch(j|0){case 66:if(!(o<=+p[i+(k*24|0)+8>>3])){ua=50;break e}else{ua=49;break e}case 67:if(o<+p[i+(k*24|0)+8>>3]){ua=49;break e}else{ua=50;break e}case 68:if(!(o>=+p[i+(k*24|0)+8>>3])){ua=50;break e}else{ua=49;break e}case 69:if(o>+p[i+(k*24|0)+8>>3]){ua=49;break e}else{ua=50;break e}default:if(o==+p[i+(k*24|0)+8>>3]){ua=49;break e}else{ua=50;break e}}}while(0);if((ua|0)==49){ua=0;if(!l)ua=50;else g=0}if((ua|0)==50){ua=0;g=6;l=0}switch(g&7){case 6:break d;case 0:break;default:{d=ra;break c}}k=k+1|0}while((k|0)<(Na|0));d=(b[pa>>0]|0)+1<<24>>24;b[pa>>0]=d;if(!l){d=ra;g=4}else ua=54}else{d=g+1<<24>>24;b[pa>>0]=d;m=-1.0;l=2;ua=54}while(0);if((ua|0)==54){ua=0;k=(h[ra+16>>0]|0)+255&255;if(!(k<<24>>24)){j=ra+8|0;g=d&255;d=g;g=g+255&255;i=f[j>>2]|0;j=f[j+4>>2]|0}else{Ua=WA(h[qa>>0]|0,0,56)|0;i=ba()|0;Ta=WA(h[qa+1>>0]|0,0,48)|0;i=ba()|0|i;Va=WA(h[qa+2>>0]|0,0,40)|0;i=i|(ba()|0);i=i|h[qa+3>>0];Wa=WA(h[qa+4>>0]|0,0,24)|0;i=i|(ba()|0);j=WA(h[qa+5>>0]|0,0,16)|0;i=i|(ba()|0);g=WA(h[qa+6>>0]|0,0,8)|0;i=i|(ba()|0);i=KA(Ta|Ua|Va|Wa|j|g|0,i|0,h[qa+7>>0]|0,0)|0;d=d&255;g=0;j=ba()|0}if(ta>>>0<=d>>>0)ns(a);d=ps(a,m<0.0?0.0:m,k)|0;if(!d){c=7;ua=67;break a}b[d+17>>0]=l;Wa=d+8|0;f[Wa>>2]=i;f[Wa+4>>2]=j;b[d+18>>0]=g;g=5}switch(g|0){case 4:{ra=d;break}case 5:{ua=62;break b}default:{c=e;ua=67;break a}}}if((ua|0)==62){ua=0;d=h[d+18>>0]|0}if(ta>>>0<=d>>>0)ns(a);j=e}if((ua|0)==66){b[a+4>>0]=c;Wa=0;t=Qa;return Wa|0}else if((ua|0)==67){t=Qa;return c|0}return 0}function ps(a,c,d){a=a|0;c=+c;d=d|0;var e=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0,q=0,r=0,s=0,u=0,v=0,w=0;v=t;t=t+32|0;u=v;s=a+5|0;g=(b[s>>0]|0)==0;do if(g)if(f[a+24>>2]|0){e=f[a+32>>2]|0;q=a+84+((d&255)<<2)|0;f[q>>2]=(f[q>>2]|0)+1;if(!e)break;else{r=6;break}}else{u=a+84+((d&255)<<2)|0;f[u>>2]=(f[u>>2]|0)+1;break}else{e=a+84+((d&255)<<2)|0;f[e>>2]=(f[e>>2]|0)+1;e=a+40|0;r=6}while(0);if((r|0)==6){j=+p[e>>3];do if(!(j>c)){if(j==c?(h[e+16>>0]|0)>(d&255):0)break;m=a+24|0;g=f[m>>2]|0;l=a+20|0;e=f[l>>2]|0;do if((g|0)>=(e|0)){i=(e<<1)+8|0;k=a+32|0;e=f[k>>2]|0;g=i*24|0;if(Mc()|0){a=0;t=v;return a|0}e=Nc(e,(g|0)>0?g:0,0)|0;if(!e){a=0;t=v;return a|0}else{f[k>>2]=e;f[l>>2]=i;g=f[m>>2]|0;i=e;break}}else{i=a+32|0;k=i;i=f[i>>2]|0}while(0);f[m>>2]=g+1;e=i+(g*24|0)|0;p[e>>3]=c;b[i+(g*24|0)+16>>0]=d;if((g|0)<=0){a=e;t=v;return a|0}o=a+32|0;a:while(1){l=(g+-1|0)/2|0;m=i+(l*24|0)|0;j=+p[m>>3];if(!(cj){r=49;break}if((h[e+16>>0]|0)>=(h[i+(l*24|0)+16>>0]|0)){r=49;break}}e=i+(l*24|0)|0;f[u>>2]=f[e>>2];f[u+4>>2]=f[e+4>>2];f[u+8>>2]=f[e+8>>2];f[u+12>>2]=f[e+12>>2];f[u+16>>2]=f[e+16>>2];f[u+20>>2]=f[e+20>>2];i=i+(g*24|0)|0;f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];f[e+8>>2]=f[i+8>>2];f[e+12>>2]=f[i+12>>2];f[e+16>>2]=f[i+16>>2];f[e+20>>2]=f[i+20>>2];e=(f[o>>2]|0)+(g*24|0)|0;f[e>>2]=f[u>>2];f[e+4>>2]=f[u+4>>2];f[e+8>>2]=f[u+8>>2];f[e+12>>2]=f[u+12>>2];f[e+16>>2]=f[u+16>>2];f[e+20>>2]=f[u+20>>2];e=l+1|0;i=g+1|0;do if((g|0)<9)if((g|0)<=3){r=a+64+(e<<2)|0;s=f[r>>2]|0;d=a+64+(i<<2)|0;f[r>>2]=f[d>>2];f[d>>2]=s;if((g|0)==3)break;else{e=m;r=49;break a}}else{d=a+64+(e<<2)|0;bs(f[a>>2]|0,f[d>>2]|0)|0;f[d>>2]=0;break}while(0);g=l;e=m;i=f[k>>2]|0;c=+p[m>>3]}if((r|0)==49){t=v;return e|0}}while(0);if(!g){m=a+24|0;i=f[m>>2]|0;l=a+20|0;e=f[l>>2]|0;do if((i|0)>=(e|0)){i=(e<<1)+8|0;k=a+32|0;e=f[k>>2]|0;g=i*24|0;if(Mc()|0){a=0;t=v;return a|0}e=Nc(e,(g|0)>0?g:0,0)|0;if(!e){a=0;t=v;return a|0}else{f[k>>2]=e;f[l>>2]=i;g=e;i=f[m>>2]|0;l=e;break}}else{k=a+32|0;l=f[k>>2]|0;g=l}while(0);f[m>>2]=i+1;e=l+(i*24|0)|0;p[e>>3]=c;b[l+(i*24|0)+16>>0]=d;b:do if((i|0)>0){q=a+32|0;n=c;while(1){m=(i+-1|0)/2|0;o=l+(m*24|0)|0;j=+p[o>>3];if(!(nj){r=26;break b}if((h[e+16>>0]|0)>=(h[l+(m*24|0)+16>>0]|0))break b}e=l+(m*24|0)|0;f[u>>2]=f[e>>2];f[u+4>>2]=f[e+4>>2];f[u+8>>2]=f[e+8>>2];f[u+12>>2]=f[e+12>>2];f[u+16>>2]=f[e+16>>2];f[u+20>>2]=f[e+20>>2];g=l+(i*24|0)|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[e+16>>2]=f[g+16>>2];f[e+20>>2]=f[g+20>>2];e=(f[q>>2]|0)+(i*24|0)|0;f[e>>2]=f[u>>2];f[e+4>>2]=f[u+4>>2];f[e+8>>2]=f[u+8>>2];f[e+12>>2]=f[u+12>>2];f[e+16>>2]=f[u+16>>2];f[e+20>>2]=f[u+20>>2];e=m+1|0;g=i+1|0;do if((i|0)<9)if((i|0)<=3){w=a+64+(e<<2)|0;e=f[w>>2]|0;l=a+64+(g<<2)|0;f[w>>2]=f[l>>2];f[l>>2]=e;if((i|0)==3)break;else{e=o;r=26;break b}}else{w=a+64+(e<<2)|0;bs(f[a>>2]|0,f[w>>2]|0)|0;f[w>>2]=0;break}while(0);l=f[k>>2]|0;i=m;e=o;g=l;n=+p[o>>3]}}else r=26;while(0);do if((r|0)==26)if(!e){w=0;t=v;return w|0}else{g=f[a+32>>2]|0;break}while(0);g=e-g|0;if((g|0)<96){f[a+64+(((g|0)/24|0)+1<<2)>>2]=f[a+64>>2];g=a+64|0}else{g=a+64|0;bs(f[a>>2]|0,f[g>>2]|0)|0}f[g>>2]=0;w=a+40|0;f[e>>2]=f[w>>2];f[e+4>>2]=f[w+4>>2];f[e+8>>2]=f[w+8>>2];f[e+12>>2]=f[w+12>>2];f[e+16>>2]=f[w+16>>2];f[e+20>>2]=f[w+20>>2]}}w=a+40|0;p[w>>3]=c;b[a+56>>0]=d;b[s>>0]=1;t=v;return w|0}function qs(a,c,d,e,g,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=t;t=t+240|0;s=T+232|0;S=T+224|0;P=T+216|0;O=T+208|0;N=T+192|0;M=T+184|0;L=T+176|0;K=T+168|0;H=T+160|0;E=T+144|0;D=T+136|0;C=T+128|0;B=T+120|0;A=T+112|0;y=T+104|0;w=T+96|0;v=T+88|0;u=T+80|0;r=T+72|0;I=T+64|0;p=T+56|0;q=T+48|0;J=T;l=T+40|0;k=T+32|0;if((d|0)>103){f[k>>2]=61028;S=wd(40840,k)|0;f[i>>2]=S;i=1;t=T;return i|0}f[l>>2]=1;eq(a,1,l)|0;x=e+4|0;l=wz(f[x>>2]|0)|0;z=e+8|0;m=wz(f[z>>2]|0)|0;k=l+506+m|0;R=Fd(k)|0;if(!R){i=7;t=T;return i|0}_A(R|0,0,k|0)|0;f[R+40>>2]=1;f[R>>2]=38996;n=R+504|0;F=R+32|0;f[F>>2]=n;o=n+(l+1)|0;G=R+36|0;f[G>>2]=o;b[R+22>>0]=(c|0)!=0&1;YA(n|0,f[x>>2]|0,l|0)|0;YA(o|0,f[z>>2]|0,m|0)|0;o=kp(a)|0;f[J>>2]=f[e+12>>2];qf(o,61064,J);a:do if((d|0)>4){l=R+25|0;m=R+21|0;k=4;while(1){c=f[e+(k<<2)>>2]|0;n=b[l>>0]|0;if((b[c>>0]|0)==43){b[l>>0]=n+1<<24>>24;f[q>>2]=c+1;qf(o,61082,q)}else{if(n<<24>>24){m=1;break a}b[m>>0]=(b[m>>0]|0)+1<<24>>24;f[p>>2]=c;qf(o,61082,p)}k=k+1|0;if((k|0)>=(d|0)){m=0;break}}}else m=0;while(0);qf(o,61086,I);do if((o|0)!=0&(o|0)!=38408){k=o+4|0;l=f[k>>2]|0;if(((l|0)!=0?(b[l+(f[o+16>>2]|0)>>0]=0,(f[o+12>>2]|0)!=0):0)?(b[o+21>>0]&4)==0:0)c=Cc(o)|0;else c=f[k>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](o);else{q=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o)}if(c){if(!m){k=wk(a,c)|0;if(!k)k=0;else{l=Mj(a)|0;Q=24}}else{k=1;l=61089;Q=24}if((Q|0)==24){f[r>>2]=l;r=wd(40840,r)|0;f[i>>2]=r}if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{r=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}if(!k){k=b[R+21>>0]|0;r=(k&255)>>>1;b[R+20>>0]=r;if(r<<24>>24)if((k&255)<=10)if(!(k&1)){c=R+23|0;b[c>>0]=((k&255)<<2)+8;n=(j|0)==0;k=f[F>>2]|0;do if(n){l=f[G>>2]|0;f[v>>2]=k;f[v+4>>2]=l;l=wd(61146,v)|0;m=R+16|0;if(!l){k=7;Q=48}else{f[v>>2]=0;k=Ki(a,l,-1,128,0,v,0)|0;if(k|0){Q=48;break}k=f[v>>2]|0;if((Ei(k)|0)==100){v=Ip(k,0)|0;f[m>>2]=v}k=Fi(k)|0;if(k|0){Q=48;break}if((f[m>>2]|0)>=448){k=0;break}f[w>>2]=f[G>>2];k=wd(61203,w)|0;f[i>>2]=k;k=267}}else{f[u>>2]=k;l=wd(61126,u)|0;if(!l){k=7;Q=48}else{f[u>>2]=0;k=Ki(a,l,-1,128,0,u,0)|0;if(k|0){Q=48;break}k=f[u>>2]|0;if((Ei(k)|0)==100)m=(Ip(k,0)|0)+-64|0;else m=-64;k=Fi(k)|0;if(k|0){Q=48;break}k=((h[c>>0]|0)*51|0)+4|0;f[R+16>>2]=(k|0)<(m|0)?k:m;k=0}}while(0);if((Q|0)==48){w=Mj(a)|0;f[y>>2]=w;y=wd(40840,y)|0;f[i>>2]=y;if(!l)break}if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{y=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}if(k|0)break;d=f[x>>2]|0;o=f[z>>2]|0;f[R+12>>2]=a;do if(!n){m=kp(a)|0;f[A>>2]=d;f[A+4>>2]=o;qf(m,61238,A);l=R+25|0;if(b[l>>0]|0){k=0;do{f[B>>2]=k;qf(m,61300,B);k=k+1|0}while(k>>>0<(h[l>>0]|0)>>>0)}f[C>>2]=d;f[C+4>>2]=o;qf(m,61305,C);f[D>>2]=d;f[D+4>>2]=o;qf(m,61369,D);D=f[R+16>>2]|0;f[E>>2]=d;f[E+4>>2]=o;f[E+8>>2]=D;qf(m,61439,E);if(!((m|0)!=0&(m|0)!=38408)){k=7;Q=122;break}k=m+4|0;l=f[k>>2]|0;do if(!l)Q=62;else{b[l+(f[m+16>>2]|0)>>0]=0;if(!(f[m+12>>2]|0)){Q=62;break}if(b[m+21>>0]&4){Q=62;break}l=Cc(m)|0}while(0);if((Q|0)==62)l=f[k>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](m);else{Q=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m)}if(!l){k=7;Q=122;break}k=uj(a,l,0,0,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{Q=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}if(k)Q=122;else Q=71}else Q=71;while(0);b:do if((Q|0)==71){f[J>>2]=R+80;f[J+4>>2]=R+84;f[J+8>>2]=R+88;f[J+12>>2]=R+92;f[J+16>>2]=R+96;f[J+20>>2]=R+100;f[J+24>>2]=R+104;f[J+28>>2]=R+108;k=rs(a,f[F>>2]|0,45954,0,0,0,0,0,0)|0;do if(!k){c=f[G>>2]|0;f[H>>2]=f[F>>2];f[H+4>>2]=c;c=wd(61488,H)|0;if(!c){k=7;Q=85;break}k=Ki(a,c,-1,128,0,I,0)|0;c:do switch(k|0){case 0:{k=f[I>>2]|0;if((Ei(k)|0)==100){l=Jp(k,0)|0;m=ba()|0}else{l=0;m=0}k=Fi(k)|0;if(k|0)break c;if((l|0)==0&(m|0)==0){Q=79;break c}I=(m|0)>0|(m|0)==0&l>>>0>100;k=R+48|0;f[k>>2]=I?l:100;f[k+4>>2]=I?m:0;k=0;break}case 7:break;default:Q=79}while(0);if((Q|0)==79){k=R+48|0;f[k>>2]=1048576;f[k+4>>2]=0;k=0}if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{Q=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}if(!k)Q=88;else Q=87}else{Q=R+48|0;f[Q>>2]=1048576;f[Q+4>>2]=0;if((k|0)!=1){Q=85;break}Q=88}while(0);d:do if((Q|0)==85)Q=87;else if((Q|0)==88){c=R+25|0;m=0;while(1){if((m|0)==3?(b[c>>0]|0)!=0:0)k=61544;else k=f[24240+(m<<2)>>2]|0;f[K>>2]=d;f[K+4>>2]=o;l=wd(k,K)|0;if(!l){k=7;e=c;break d}k=Ki(a,l,-1,129,0,f[J+(m<<2)>>2]|0,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{I=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}m=m+1|0;if(!(m>>>0<8&(k|0)==0)){e=c;break}}}while(0);if((Q|0)==87)e=R+25|0;do if(b[e>>0]|0){f[L>>2]=d;f[L+4>>2]=o;L=wd(61652,L)|0;f[R+64>>2]=L;if(!L){k=7;Q=122;break b}p=kp(a)|0;f[M>>2]=d;f[M+4>>2]=o;qf(p,61697,M);if(b[e>>0]|0){c=R+26|0;n=p+16|0;o=p+8|0;d=p+4|0;m=0;do{do if(m|0){k=f[n>>2]|0;l=k+1|0;if(l>>>0<(f[o>>2]|0)>>>0){f[n>>2]=l;b[(f[d>>2]|0)+k>>0]=44;break}else{Ec(p,41635,1);break}}while(0);k=m+2|0;if(m>>>0<(h[c>>0]|0)>>>0){f[N>>2]=m;f[N+4>>2]=k;f[N+8>>2]=m;qf(p,61724,N)}else{f[O>>2]=m;f[O+4>>2]=k;qf(p,61746,O)}m=m+1|0}while(m>>>0<(h[e>>0]|0)>>>0)}qf(p,61754,P);if(!((p|0)!=0&(p|0)!=38408)){k=7;Q=122;break b}k=p+4|0;l=f[k>>2]|0;do if(!l)Q=114;else{b[l+(f[p+16>>2]|0)>>0]=0;if(!(f[p+12>>2]|0)){Q=114;break}if(b[p+21>>0]&4){Q=114;break}l=Cc(p)|0}while(0);if((Q|0)==114)l=f[k>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](p);else{P=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-P;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p)}if(!l){k=7;Q=122;break b}k=Ki(a,l,-1,129,0,R+112|0,0)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{P=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-P;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);if(k|0)break;f[g>>2]=R;i=0;t=T;return i|0}while(0);a=Mj(a)|0;f[S>>2]=a;S=wd(40840,S)|0;f[i>>2]=S;break}else k=1;else k=3;else k=2;f[s>>2]=f[24272+(k<<2)>>2];k=wd(40840,s)|0;f[i>>2]=k;k=1}}else k=7}else k=7;while(0);cs(R);i=k;t=T;return i|0}function rs(a,c,e,g,i,j,k,l,m){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=t;t=t+16|0;z=A+8|0;x=A;y=A+12|0;f[y>>2]=0;r=a+20|0;n=f[r>>2]|0;u=a+16|0;q=f[u>>2]|0;if((n|0)>0){o=0;do{p=f[q+(o<<4)+4>>2]|0;if(p|0)f[(f[p+4>>2]|0)+4>>2]=f[p>>2];o=o+1|0}while((o|0)!=(n|0))}p=a+24|0;s=(f[p>>2]&1|0)==0;w=f[q+12>>2]|0;b[a+78>>0]=b[w+77>>0]|0;if(!(d[w+78>>1]&1)){n=qi(a,0,y,0)|0;if(!n){n=f[r>>2]|0;w=9}else w=16}else w=9;a:do if((w|0)==9){if((n|0)>1)do{o=n;n=n+-1|0;if((d[(f[(f[u>>2]|0)+(n<<4)+12>>2]|0)+78>>1]&1)==0?(v=qi(a,n,y,0)|0,v|0):0){n=v;w=16;break a}}while((o|0)>2);if(s)f[p>>2]=f[p>>2]&-2;v=ji(a,e,c)|0;if((v|0)!=0?(f[v+12>>2]|0)==0:0){do if(g){c=d[v+42>>1]|0;u=c<<16>>16;b:do if(c<<16>>16>0){s=f[v+4>>2]|0;c=h[1232+(h[g>>0]|0)>>0]|0;n=0;do{o=s+(n<<4)|0;q=f[o>>2]|0;r=b[q>>0]|0;p=(h[1232+(r&255)>>0]|0)-c|0;if(!(r<<24>>24==0|(p|0)!=0)){r=g;do{q=q+1|0;r=r+1|0;B=b[q>>0]|0;p=(h[1232+(B&255)>>0]|0)-(h[1232+(h[r>>0]|0)>>0]|0)|0}while(!(B<<24>>24==0|(p|0)!=0))}if(!p)break b;n=n+1|0}while((n|0)<(u|0))}else{n=0;o=0}while(0);if((n|0)==(u|0)){if(f[v+36>>2]&32|0){o=0;v=0;u=0;c=0;s=0;r=0;p=0;q=0;break a}r=b[g>>0]|0;q=h[1232+(r&255)>>0]|0;n=q+-95|0;r=r<<24>>24==0;if(!(r|(n|0)!=0)){o=49617;p=g;do{p=p+1|0;o=o+1|0;B=b[p>>0]|0;n=(h[1232+(B&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(B<<24>>24==0|(n|0)!=0))}if(n|0){n=q+-114|0;if(!(r|(n|0)!=0)){o=49625;p=g;do{p=p+1|0;o=o+1|0;B=b[p>>0]|0;n=(h[1232+(B&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(B<<24>>24==0|(n|0)!=0))}if(n|0){n=q+-111|0;if(!(r|(n|0)!=0)){o=49631;p=g;do{p=p+1|0;o=o+1|0;B=b[p>>0]|0;n=(h[1232+(B&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(B<<24>>24==0|(n|0)!=0))}if(n|0){o=0;v=0;u=0;c=0;s=0;r=0;p=0;q=0;break a}}}B=d[v+40>>1]|0;n=B<<16>>16;if(B<<16>>16<=-1){q=0;n=1;s=0;r=0;p=50325;break}q=n;o=(f[v+4>>2]|0)+(n<<4)|0}else q=n;if(o){n=b[o+15>>0]|0;if(!(n&4))p=0;else{p=f[o>>2]|0;p=p+(wz(p)|0)+1|0}r=f[o+8>>2]|0;o=(b[o+12>>0]|0)!=0&1;n=n&1;if((q|0)==(d[v+40>>1]|0)){q=(f[v+36>>2]|0)>>>3&1;s=o}else{q=0;s=o}}else{q=0;n=1;s=0;r=0;p=50325}}else{q=0;n=1;s=0;r=0;p=50325}while(0);o=0;u=q;c=n;r=(r|0)==0?43030:r;q=0}else{o=0;v=0;u=0;c=0;s=0;r=0;p=0;q=0}}while(0);if((w|0)==16){o=n;v=0;u=0;c=0;s=0;r=0;p=0;q=(n|0)!=0}if(i|0)f[i>>2]=p;if(j|0)f[j>>2]=r;if(k|0)f[k>>2]=s;if(l|0)f[l>>2]=c;if(m|0)f[m>>2]=u;n=f[y>>2]|0;if(!(q|(v|0)!=0)){do if(n|0){if(a|0){if(f[a+480>>2]|0){Kc(a,n);break}B=n;if((f[a+304>>2]|0)>>>0<=B>>>0?(f[a+308>>2]|0)>>>0>B>>>0:0){B=a+300|0;f[n>>2]=f[B>>2];f[B>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{B=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[x>>2]=e;f[x+4>>2]=g;n=Ig(a,62257,x)|0;f[y>>2]=n;o=1}f[z>>2]=n;vg(a,o,(n|0)==0?0:40840,z);n=f[y>>2]|0;do if(n|0){if(a|0){if(f[a+480>>2]|0){Kc(a,n);break}B=n;if((f[a+304>>2]|0)>>>0<=B>>>0?(f[a+308>>2]|0)>>>0>B>>>0:0){B=a+300|0;f[n>>2]=f[B>>2];f[B>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{B=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);if((o|0)==3082|(b[a+81>>0]|0)!=0){Di(a);B=7;t=A;return B|0}else{B=f[a+68>>2]&o;t=A;return B|0}return 0}function ss(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=t;t=t+32|0;d=h;e=h+16|0;f[e>>2]=0;f[d>>2]=c;b=lp(b,d)|0;c=a+40|0;d=(b|0)==0;do if(!(f[c>>2]|0))if(d){f[c>>2]=7;break}else{g=Ki(f[a>>2]|0,b,-1,128,0,e,0)|0;f[c>>2]=g;g=6;break}else if(!d)g=6;while(0);do if((g|0)==6)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{g=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);t=h;return f[e>>2]|0}function ts(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=t;t=t+32|0;h=i+16|0;d=i;f[d>>2]=c;e=a+40|0;if(f[e>>2]|0){t=i;return}g=a+48|0;if((f[g>>2]|0)>=100){t=i;return}c=lp(b,d)|0;if(!((c|0)!=0?(a=a+44|0,d=f[a>>2]|0,f[h>>2]=d,f[h+4>>2]=(d|0)==0?72788:45839,f[h+8>>2]=c,h=wd(63045,h)|0,f[a>>2]=h,(h|0)!=0):0))f[e>>2]=7;f[g>>2]=(f[g>>2]|0)+1;t=i;return}function us(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0;J=t;t=t+112|0;H=J+88|0;G=J+72|0;F=J+56|0;w=J+40|0;v=J+32|0;u=J+16|0;r=J+8|0;k=J;p=a+20|0;j=f[p>>2]|0;if(!j){j=f[a+8>>2]|0;f[k>>2]=f[a+4>>2];f[k+4>>2]=j;j=ss(a,62512,k)|0;f[p>>2]=j}q=a+40|0;if(f[q>>2]|0){t=J;return}do if(!(Op(j,1)|0)){j=f[j+116>>2]|0;k=j+8|0;if(!(d[k>>1]&9216)){E=j;f[E>>2]=g;f[E+4>>2]=i;d[k>>1]=4;break}else{bf(j,g,i);break}}while(0);do if((Ei(f[p>>2]|0)|0)==100){o=Gp(f[p>>2]|0,0)|0;m=f[p>>2]|0;if(!m)k=lf(37592)|0;else{j=f[m+104>>2]|0;if((j|0)!=0?(d[m+140>>1]|0)!=0:0)l=m;else{j=f[m>>2]|0;f[j+64>>2]=25;Bg(j,25);j=37592;l=m}k=lf(j)|0;l=f[l>>2]|0;m=m+40|0;j=f[m>>2]|0;if((j|0)==3082|(b[l+81>>0]|0)!=0){Di(l);j=7}else j=f[l+68>>2]&j;f[m>>2]=j}j=Fd(o)|0;if(!j){f[q>>2]=7;E=0;m=0;break}else{YA(j|0,k|0,o|0)|0;E=j;m=o;break}}else{E=0;m=0}while(0);j=f[p>>2]|0;do if(j){k=f[j>>2]|0;D=j+128|0;C=f[D+4>>2]|0;if((C|0)>0|(C|0)==0&(f[D>>2]|0)>>>0>0)Hi(k,j);l=fg(j)|0;f[j+20>>2]=770837923;f[j+36>>2]=-1;f[j+40>>2]=0;b[j+142>>0]=2;f[j+44>>2]=0;f[j+32>>2]=1;b[j+143>>0]=-1;f[j+48>>2]=0;D=j+64|0;f[D>>2]=0;f[D+4>>2]=0;if((l|0)==3082|(b[k+81>>0]|0)!=0){Di(k);j=7;break}else{j=f[k+68>>2]&l;break}}else j=0;while(0);if((f[q>>2]|0)==0?(f[q>>2]=j,(E|0)==0&(j|0)==0):0){I=r;f[I>>2]=g;f[I+4>>2]=i;ts(a,62557,r);t=J;return}if(!E){t=J;return}if((m|0)<4){I=u;f[I>>2]=g;f[I+4>>2]=i;f[u+8>>2]=m;ts(a,62589,u);if(!(f[9328]|0)){ob[f[37360>>2]&127](E);t=J;return}else{I=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);t=J;return}}D=(e|0)==0;if(D){c=h[E>>0]<<8|h[E+1>>0];if(c>>>0>40){f[v>>2]=c;ts(a,62623,v);if(!(f[9328]|0)){ob[f[37360>>2]&127](E);t=J;return}else{I=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);t=J;return}}}B=h[E+2>>0]<<8|h[E+3>>0];C=a+16|0;j=f[C>>2]|0;a:do if((U((j<<3)+8|0,B)|0|4|0)<=(m|0)){if(B|0){z=a+12|0;A=(c|0)>0;w=c+-1|0;x=a+36|0;y=a+32|0;c=0;while(1){v=E+(U((j<<3)+8|0,c)|0|4)|0;m=WA(h[v>>0]|0,0,56)|0;r=ba()|0;l=WA(h[v+1>>0]|0,0,48)|0;r=ba()|0|r;o=WA(h[v+2>>0]|0,0,40)|0;r=r|(ba()|0);r=r|h[v+3>>0];p=WA(h[v+4>>0]|0,0,24)|0;r=r|(ba()|0);q=WA(h[v+5>>0]|0,0,16)|0;r=r|(ba()|0);u=WA(h[v+6>>0]|0,0,8)|0;r=r|(ba()|0);r=KA(l|m|o|p|q|u|0,r|0,h[v+7>>0]|0,0)|0;u=ba()|0;v=v+8|0;b:do if((j|0)>0){if(D){m=0;while(1){l=m<<3;k=v+l|0;k=h[k+1>>0]<<16|h[k>>0]<<24|h[k+2>>0]<<8|h[k+3>>0];l=v+(l|4)|0;l=h[l+1>>0]<<16|h[l>>0]<<24|h[l+2>>0]<<8|h[l+3>>0];if(!(f[z>>2]|0)){K=(f[s>>2]=k,+n[s>>2]);if(K>(f[s>>2]=l,+n[s>>2]))I=52}else if((k|0)>(l|0))I=52;if((I|0)==52){I=0;f[F>>2]=m;f[F+4>>2]=c;j=F+8|0;f[j>>2]=g;f[j+4>>2]=i;ts(a,62708,F);j=f[C>>2]|0}m=m+1|0;if((m|0)>=(j|0))break b}}o=0;do{k=o<<3;p=v+k|0;p=h[p+1>>0]<<16|h[p>>0]<<24|h[p+2>>0]<<8|h[p+3>>0];m=k|4;q=v+m|0;q=h[q+1>>0]<<16|h[q>>0]<<24|h[q+2>>0]<<8|h[q+3>>0];j=f[z>>2]|0;if(!j){K=(f[s>>2]=p,+n[s>>2]);if(K>(f[s>>2]=q,+n[s>>2]))I=57;else j=0}else if((p|0)>(q|0))I=57;if((I|0)==57){I=0;f[G>>2]=o;f[G+4>>2]=c;j=G+8|0;f[j>>2]=g;f[j+4>>2]=i;ts(a,62708,G);j=f[z>>2]|0}l=e+k|0;l=h[l+1>>0]<<16|h[l>>0]<<24|h[l+2>>0]<<8|h[l+3>>0];k=e+m|0;k=h[k+1>>0]<<16|h[k>>0]<<24|h[k+2>>0]<<8|h[k+3>>0];do if(!j){K=(f[s>>2]=p,+n[s>>2]);if(K<(f[s>>2]=l,+n[s>>2])){I=62;break}K=(f[s>>2]=q,+n[s>>2]);if(K>(f[s>>2]=k,+n[s>>2]))I=62}else if((p|0)<(l|0)|(q|0)>(k|0))I=62;while(0);if((I|0)==62){I=0;f[H>>2]=o;f[H+4>>2]=c;q=H+8|0;f[q>>2]=g;f[q+4>>2]=i;ts(a,62756,H)}o=o+1|0}while((o|0)<(f[C>>2]|0))}while(0);if(A){ws(a,0,r,u,g,i);us(a,w,v,r,u);j=x}else{ws(a,1,r,u,g,i);j=y}f[j>>2]=(f[j>>2]|0)+1;c=c+1|0;if((c|0)==(B|0))break a;j=f[C>>2]|0}}}else{I=w;f[I>>2]=g;f[I+4>>2]=i;f[w+8>>2]=B;f[w+12>>2]=m;ts(a,62653,w)}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](E);t=J;return}else{I=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);t=J;return}}function vs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=t;t=t+48|0;j=k+16|0;e=k;i=a+40|0;if(f[i>>2]|0){t=k;return}l=f[a+8>>2]|0;f[e>>2]=f[a+4>>2];f[e+4>>2]=l;f[e+8>>2]=b;e=ss(a,62414,e)|0;if(!e){t=k;return}if((Ei(e)|0)==100?(g=Jp(e,0)|0,h=ba()|0,!((g|0)==(c|0)&(h|0)==(d|0))):0){f[j>>2]=b;l=j+8|0;f[l>>2]=c;f[l+4>>2]=d;l=j+16|0;f[l>>2]=g;f[l+4>>2]=h;ts(a,62445,j)}l=Fi(e)|0;f[i>>2]=l;t=k;return}function ws(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+80|0;o=p+32|0;m=p+8|0;l=p;j=a+24+(c<<2)|0;k=f[j>>2]|0;if(!k){n=f[39284+(c<<2)>>2]|0;k=f[a+8>>2]|0;f[l>>2]=f[a+4>>2];f[l+4>>2]=k;l=ss(a,n,l)|0;f[j>>2]=l}else l=k;n=a+40|0;if(f[n>>2]|0){t=p;return}do if(!(Op(l,1)|0)){j=f[l+116>>2]|0;k=j+8|0;if(!(d[k>>1]&9216)){f[j>>2]=e;f[j+4>>2]=g;d[k>>1]=4;break}else{bf(j,e,g);break}}while(0);switch(Ei(l)|0){case 101:{o=m;f[o>>2]=e;f[o+4>>2]=g;o=m+8|0;f[o>>2]=h;f[o+4>>2]=i;f[m+16>>2]=(c|0)==0?62823:62832;ts(a,62840,m);break}case 100:{j=Jp(l,0)|0;k=ba()|0;if(!((j|0)==(h|0)&(k|0)==(i|0))){m=o;f[m>>2]=e;f[m+4>>2]=g;m=o+8|0;f[m>>2]=j;f[m+4>>2]=k;f[o+16>>2]=(c|0)==0?62823:62832;c=o+24|0;f[c>>2]=e;f[c+4>>2]=g;g=o+32|0;f[g>>2]=h;f[g+4>>2]=i;ts(a,62885,o)}break}default:{}}do if(l){j=f[l>>2]|0;o=l+128|0;i=f[o+4>>2]|0;if((i|0)>0|(i|0)==0&(f[o>>2]|0)>>>0>0)Hi(j,l);k=fg(l)|0;f[l+20>>2]=770837923;f[l+36>>2]=-1;f[l+40>>2]=0;b[l+142>>0]=2;f[l+44>>2]=0;f[l+32>>2]=1;b[l+143>>0]=-1;f[l+48>>2]=0;o=l+64|0;f[o>>2]=0;f[o+4>>2]=0;if((k|0)==3082|(b[j+81>>0]|0)!=0){Di(j);j=7;break}else{j=f[j+68>>2]&k;break}}else j=0;while(0);if(f[n>>2]|0){t=p;return}f[n>>2]=j;t=p;return}function xs(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+16|0;y=A;z=A+4|0;f[z>>2]=0;a=wk(a,63102)|0;if(a|0){z=a;t=A;return z|0}s=d+-3|0;r=e+12|0;a:do if(s){k=(d|0)>3;if(k){e=0;a=0;do{a=a+1+(wz(f[r+(e<<2)>>2]|0)|0)|0;e=e+1|0}while((e|0)!=(s|0))}else a=0;q=Fd(a+(s<<2)|0)|0;a=(q|0)==0;b:do if(a|k^1){if(a){e=7;j=0;a=0;m=44;break a}}else{n=q+(s<<2)|0;o=0;while(1){a=r+(o<<2)|0;p=wz(f[a>>2]|0)|0;f[q+(o<<2)>>2]=n;p=p+1|0;YA(n|0,f[a>>2]|0,p|0)|0;a=b[n>>0]|0;switch(a<<24>>24){case 34:case 39:case 91:case 96:{m=a<<24>>24==91?93:a;e=b[n+1>>0]|0;c:do if(!(e<<24>>24))a=0;else{k=1;a=0;do{l=k+1|0;if(e<<24>>24==m<<24>>24){if((b[n+l>>0]|0)!=m<<24>>24)break c;b[n+a>>0]=m;k=k+2|0}else{b[n+a>>0]=e;k=l}a=a+1|0;e=b[n+k>>0]|0}while(e<<24>>24!=0)}while(0);b[n+a>>0]=0;break}default:{}}o=o+1|0;if((o|0)==(s|0))break b;else n=n+p|0}}while(0);if((d|0)<4){k=59996;l=q;a=q;m=21}else{k=f[q>>2]|0;l=q;a=q;m=21}}else{k=59996;l=0;a=0;m=21}while(0);d:do if((m|0)==21){e=(wz(k)|0)+1|0;e:do if(((c|0?(u=c+16|0,f[u>>2]|0):0)?(v=jb[(b[c>>0]<<24>>24==1?171:172)&255](k,e)|0,v=(f[c+12>>2]|0)+-1&v,w=f[u>>2]|0,w|0):0)?(j=f[w+(v<<3)>>2]|0,x=(b[c>>0]|0)==1?87:88,i=f[w+(v<<3)+4>>2]|0,(j|0)!=0&(i|0)!=0):0){while(1){j=j+-1|0;if(!(lb[x&127](f[i+12>>2]|0,f[i+16>>2]|0,k,e)|0))break;i=f[i>>2]|0;if(!((j|0)!=0&(i|0)!=0))break e}i=f[i+8>>2]|0;if(i|0){j=i;i=kb[f[i+4>>2]&127]((d|0)>4?d+-4|0:0,l+4|0,z)|0;if(i|0){e=i;m=44;break d}if(Mc()|0){e=7;m=44;break d}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](20)|0;if(!i){e=7;m=44;break d}}else{i=ib[f[37372>>2]&255](20)|0;if((f[18194]|0)>>>0<20)f[18194]=20;k=71896;e=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&e>>>0>0){d=f[18187]|0;y=LA(e|0,k|0,i|0,((i|0)<0)<<31>>31|0)|0;h=ba()|0;f[17976]=((h|0)<0|(h|0)==0&y>>>0<=d>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){e=7;m=44;break d}e=ib[f[37368>>2]&255](i)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e};f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=j;f[i+16>>2]=f[z>>2];f[g>>2]=i;i=0;break d}}while(0);f[y>>2]=k;Ls(h,63153,y);e=1;j=0;m=44}while(0);if((m|0)==44){i=f[z>>2]|0;if(!i)i=e;else{ib[f[j+8>>2]&255](i)|0;i=e}}if(!a){z=i;t=A;return z|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);z=i;t=A;return z|0}else{z=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);z=i;t=A;return z|0}return 0}function ys(a,c){a=a|0;c=c|0;var d=0,e=0;d=f[c>>2]|0;a:do if((d|0)>0){e=f[c+4>>2]|0;a=0;while(1){if((b[e+(a*12|0)+5>>0]|0?(f[e+(a*12|0)>>2]|0)==0:0)?(b[e+(a*12|0)+4>>0]|0)==2:0)break;a=a+1|0;if((a|0)>=(d|0))break a}f[c+20>>2]=1;e=f[c+16>>2]|0;f[e+(a<<3)>>2]=1;b[e+(a<<3)+4>>0]=1;p[c+40>>3]=1.0;return 0}while(0);f[c+20>>2]=0;return 0}function zs(a){a=a|0;var b=0;ib[f[(f[a+12>>2]|0)+8>>2]&255](f[a+16>>2]|0)|0;if(!a)return 0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function As(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(Mc()|0){b=7;return b|0}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](36)|0;if(!a){b=7;return b|0}}else{d=ib[f[37372>>2]&255](36)|0;if((f[18194]|0)>>>0<36)f[18194]=36;c=71896;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){e=f[18187]|0;c=LA(a|0,c|0,d|0,((d|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&c>>>0<=e>>>0)&1}a=ib[f[37356>>2]&255](d)|0;if(!a){e=7;return e|0}c=ib[f[37368>>2]&255](a)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}c=a;d=c+36|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=a;e=0;return e|0}function Bs(a){a=a|0;var b=0,c=0,d=0;b=a+8|0;c=f[b>>2]|0;if(c|0){ib[f[(f[(f[a>>2]|0)+12>>2]|0)+16>>2]&255](c)|0;f[b>>2]=0}c=a+4|0;b=f[c>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{d=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);f[c>>2]=0;d=a+12|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{d=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Cs(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=f[a>>2]|0;n=a+8|0;e=f[n>>2]|0;if(e|0){ib[f[(f[k+12>>2]|0)+16>>2]&255](e)|0;f[n>>2]=0}m=a+4|0;e=f[m>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{l=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[m>>2]=0;l=a+12|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;if((c|0)!=1){a=1;return a|0}g=f[h>>2]|0;e=d[g+8>>1]|0;if((e&514)==514?(b[g+10>>0]|0)==1:0){i=f[g+16>>2]|0;c=g}else if(!(e&1)){i=Ic(g,1)|0;c=f[h>>2]|0}else{i=0;c=g}e=d[c+8>>1]|0;if((e&2)!=0?(b[c+10>>0]|0)==1:0)c=f[c+12>>2]|0;else j=16;do if((j|0)==16){e=e&65535;if(!(e&16)){if(e&1|0){c=0;break}c=_e(c,1)|0;break}else{g=f[c+12>>2]|0;if(!(e&16384)){c=g;break}c=(f[c>>2]|0)+g|0;break}}while(0);e=Fd(c+1|0)|0;f[m>>2]=e;if(!e){a=7;return a|0}YA(e|0,i|0,c|0)|0;b[(f[m>>2]|0)+c>>0]=0;g=k+16|0;e=lb[f[(f[k+12>>2]|0)+12>>2]&127](f[g>>2]|0,f[m>>2]|0,c,n)|0;if(e|0){a=e;return a|0}k=f[n>>2]|0;f[k>>2]=f[g>>2];g=f[a>>2]|0;f[l>>2]=(f[l>>2]|0)+1;g=nb[f[(f[g+12>>2]|0)+20>>2]&127](k,a+16|0,a+20|0,a+24|0,a+28|0,a+32|0)|0;if(!g){a=0;return a|0}e=f[n>>2]|0;if(e|0){ib[f[(f[(f[a>>2]|0)+12>>2]|0)+16>>2]&255](e)|0;f[n>>2]=0}e=f[m>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[m>>2]=0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;a=(g|0)==101?0:g;return a|0}function Ds(a){a=a|0;var b=0,c=0,d=0,e=0;d=f[a>>2]|0;e=a+12|0;f[e>>2]=(f[e>>2]|0)+1;c=a+8|0;d=nb[f[(f[d+12>>2]|0)+20>>2]&127](f[c>>2]|0,a+16|0,a+20|0,a+24|0,a+28|0,a+32|0)|0;if(!d)return 0;b=f[c>>2]|0;if(b|0){ib[f[(f[(f[a>>2]|0)+12>>2]|0)+16>>2]&255](b)|0;f[c>>2]=0}a=a+4|0;b=f[a>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);f[a>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;return ((d|0)==101?0:d)|0}function Es(a){a=a|0;return (f[a+16>>2]|0)==0|0}function Fs(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;switch(c|0){case 0:{if(($e(f[b>>2]|0,f[a+4>>2]|0,-1,1,-1)|0)!=18)return 0;f[b+20>>2]=18;$e(f[b>>2]|0,41612,-1,1,0)|0;return 0}case 1:{if(($e(f[b>>2]|0,f[a+16>>2]|0,f[a+20>>2]|0,1,-1)|0)!=18)return 0;f[b+20>>2]=18;$e(f[b>>2]|0,41612,-1,1,0)|0;return 0}case 2:{e=f[a+24>>2]|0;a=f[b>>2]|0;c=((e|0)<0)<<31>>31;b=a+8|0;if(!(d[b>>1]&9216)){f[a>>2]=e;f[a+4>>2]=c;d[b>>1]=4;return 0}else{bf(a,e,c);return 0}}case 3:{e=f[a+28>>2]|0;a=f[b>>2]|0;c=((e|0)<0)<<31>>31;b=a+8|0;if(!(d[b>>1]&9216)){f[a>>2]=e;f[a+4>>2]=c;d[b>>1]=4;return 0}else{bf(a,e,c);return 0}}default:{e=f[a+32>>2]|0;a=f[b>>2]|0;c=((e|0)<0)<<31>>31;b=a+8|0;if(!(d[b>>1]&9216)){f[a>>2]=e;f[a+4>>2]=c;d[b>>1]=4;return 0}else{bf(a,e,c);return 0}}}return 0}function Gs(a,b){a=a|0;b=b|0;a=f[a+12>>2]|0;f[b>>2]=a;f[b+4>>2]=((a|0)<0)<<31>>31;return 0}function Hs(a,c){a=a|0;c=c|0;var d=0;if((c|0)<1){c=wz(a)|0;if((c|0)<=0){d=0;return d|0}}d=0;while(1){d=d<<3^d^b[a>>0];if((c|0)<=1)break;else{a=a+1|0;c=c+-1|0}}d=d&2147483647;return d|0}function Is(a,c){a=a|0;c=c|0;var d=0;if((c|0)<=0){d=0;return d|0}d=0;while(1){d=d<<3^d^b[a>>0];if((c|0)<=1)break;else{a=a+1|0;c=c+-1|0}}d=d&2147483647;return d|0}function Js(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((b|0)==(d|0))a=Yz(a,c,b)|0;else a=1;return a|0}function Ks(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((b|0)==(d|0))a=Hz(a,c,b)|0;else a=1;return a|0}function Ls(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;g=t;t=t+16|0;d=g;e=f[a>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{h=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[d>>2]=c;h=lp(b,d)|0;f[a>>2]=h;t=g;return}function Ms(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Du(1,a,b,c,d,e,f)|0}function Ns(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Du(0,a,b,c,d,e,f)|0}function Os(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;t=c+20|0;f[t>>2]=0;n=c+40|0;p[n>>3]=5.0e6;o=f[c>>2]|0;if((o|0)>0){q=f[c+4>>2]|0;r=a+24|0;l=-1;i=-1;m=0;e=-1;k=-1;d=0;a:while(1){b:do if(!(b[q+(m*12|0)+5>>0]|0))if((b[q+(m*12|0)+4>>0]|0)==64){s=18;break a}else{g=l;h=i}else{h=f[q+(m*12|0)>>2]|0;if((h|0)<0)j=1;else j=(h|0)==((f[r>>2]|0)+1|0);g=b[q+(m*12|0)+4>>0]|0;c:do if(!((e|0)<0&(j&g<<24>>24==2))){switch(g<<24>>24){case 2:{s=13;break c}case 64:break;default:{h=i;break c}}if((h|0)>-1?(h|0)<=(f[r>>2]|0):0){d=h+2|0;f[t>>2]=d;p[n>>3]=2.0;h=i;e=m;g=64}else{h=i;g=64}}else{f[t>>2]=1;p[n>>3]=1.0;e=m;d=1;s=13}while(0);if((s|0)==13){s=0;h=(h|0)==((f[r>>2]|0)+2|0)?m:i;g=2}if(j){j=(g&255)+-4|0;switch(j>>>2|j<<30|0){case 0:case 7:{g=m;break b}case 3:case 1:{g=l;k=m;break b}default:{g=l;break b}}}else g=l}while(0);m=m+1|0;if((m|0)>=(o|0))break;else{l=g;i=h}}if((s|0)==18){f[t>>2]=0;p[n>>3]=1.e+50;c=c+48|0;f[c>>2]=0;f[c+4>>2]=262144;return 0}if((d|0)==1){d=c+56|0;f[d>>2]=f[d>>2]|1;d=1}if((e|0)>-1){s=f[c+16>>2]|0;f[s+(e<<3)>>2]=1;b[s+(e<<3)+4>>0]=1;e=2}else e=1;if((h|0)>-1){d=d|65536;f[t>>2]=d;f[(f[c+16>>2]|0)+(h<<3)>>2]=e;e=e+1|0}if((g|0)>-1){d=d|131072;f[t>>2]=d;f[(f[c+16>>2]|0)+(g<<3)>>2]=e;e=e+1|0}if((k|0)>-1){f[t>>2]=d|262144;f[(f[c+16>>2]|0)+(k<<3)>>2]=e}}if((f[c+8>>2]|0)!=1)return 0;d=f[c+12>>2]|0;t=f[d>>2]|0;if((t|0)>=0?(t|0)!=((f[a+24>>2]|0)+1|0):0)return 0;f[c+24>>2]=(b[d+4>>0]|0)==0?66262:66266;f[c+32>>2]=1;return 0}function Ps(a){a=a|0;var b=0,c=0;Fi(f[a+216>>2]|0)|0;b=a+56|0;Fi(f[b>>2]|0)|0;Fi(f[b+4>>2]|0)|0;Fi(f[b+8>>2]|0)|0;Fi(f[b+12>>2]|0)|0;Fi(f[b+16>>2]|0)|0;Fi(f[b+20>>2]|0)|0;Fi(f[b+24>>2]|0)|0;Fi(f[b+28>>2]|0)|0;Fi(f[b+32>>2]|0)|0;Fi(f[b+36>>2]|0)|0;Fi(f[b+40>>2]|0)|0;Fi(f[b+44>>2]|0)|0;Fi(f[b+48>>2]|0)|0;Fi(f[b+52>>2]|0)|0;Fi(f[b+56>>2]|0)|0;Fi(f[b+60>>2]|0)|0;Fi(f[b+64>>2]|0)|0;Fi(f[b+68>>2]|0)|0;Fi(f[b+72>>2]|0)|0;Fi(f[b+76>>2]|0)|0;Fi(f[b+80>>2]|0)|0;Fi(f[b+84>>2]|0)|0;Fi(f[b+88>>2]|0)|0;Fi(f[b+92>>2]|0)|0;Fi(f[b+96>>2]|0)|0;Fi(f[b+100>>2]|0)|0;Fi(f[b+104>>2]|0)|0;Fi(f[b+108>>2]|0)|0;Fi(f[b+112>>2]|0)|0;Fi(f[b+116>>2]|0)|0;Fi(f[b+120>>2]|0)|0;Fi(f[b+124>>2]|0)|0;Fi(f[b+128>>2]|0)|0;Fi(f[b+132>>2]|0)|0;Fi(f[b+136>>2]|0)|0;Fi(f[b+140>>2]|0)|0;Fi(f[b+144>>2]|0)|0;Fi(f[b+148>>2]|0)|0;Fi(f[b+152>>2]|0)|0;Fi(f[b+156>>2]|0)|0;b=f[a+244>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+220>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+224>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+40>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+44>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);c=f[a+36>>2]|0;ib[f[(f[c>>2]|0)+8>>2]&255](c)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Qs(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=t;t=t+48|0;i=l+32|0;h=l+24|0;k=l+16|0;j=l+8|0;g=l;b=l+40|0;f[b>>2]=0;c=f[a+16>>2]|0;d=f[a+12>>2]|0;e=a+20|0;if(!(f[a+40>>2]|0)){m=f[e>>2]|0;f[g>>2]=c;f[g+4>>2]=m;jt(b,d,66377,g)}m=f[e>>2]|0;f[j>>2]=c;f[j+4>>2]=m;jt(b,d,66414,j);m=f[e>>2]|0;f[k>>2]=c;f[k+4>>2]=m;jt(b,d,66452,k);m=f[e>>2]|0;f[h>>2]=c;f[h+4>>2]=m;jt(b,d,66488,h);m=f[e>>2]|0;f[i>>2]=c;f[i+4>>2]=m;jt(b,d,66525,i);b=f[b>>2]|0;if(b|0){m=b;t=l;return m|0}Ps(a)|0;m=0;t=l;return m|0}function Rs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;do if(!(Mc()|0)){if(!(f[9328]|0)){a=ib[f[37356>>2]&255](96)|0;f[b>>2]=a;if(!a){b=7;return b|0}}else{d=ib[f[37372>>2]&255](96)|0;if((f[18194]|0)>>>0<96)f[18194]=96;c=71896;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){e=f[18187]|0;c=LA(a|0,c|0,d|0,((d|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&c>>>0<=e>>>0)&1}a=ib[f[37356>>2]&255](d)|0;if(!a)break;c=ib[f[37368>>2]&255](a)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c;f[b>>2]=a}c=a+96|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));e=0;return e|0}while(0);f[b>>2]=0;e=7;return e|0}function Ss(a){a=a|0;var b=0;tu(a);if(!a)return 0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Ts(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=t;t=t+128|0;J=L+104|0;F=L+96|0;G=L+64|0;x=L+56|0;w=L+48|0;A=L+40|0;B=L;C=L+116|0;y=L+112|0;z=L+108|0;H=f[a>>2]|0;r=c&65535;if(!r){g=0;K=0}else{g=1;K=f[i>>2]|0}if(!(c&65536)){u=0;s=0}else{s=f[i+(g<<2)>>2]|0;u=s;g=g+1|0}if(!(c&131072)){E=0;n=0}else{n=f[i+(g<<2)>>2]|0;E=n;g=g+1|0}if(!(c&262144)){D=0;o=0}else{o=f[i+(g<<2)>>2]|0;D=o}tu(a);do if(E){m=E+8|0;g=d[m>>1]|0;v=g&31;i=h[5792+v>>0]|0;if((v|16|0)==18){g=b[E+10>>0]|0;i=E+16|0;l=E+12|0;if(!(jf(f[i>>2]|0,A,f[l>>2]|0,g)|0))g=d[m>>1]|0;else{if(!(kf(f[i>>2]|0,B,f[l>>2]|0,g)|0)){q=B;v=f[q+4>>2]|0;g=E;f[g>>2]=f[q>>2];f[g+4>>2]=v;g=4}else{p[E>>3]=+p[A>>3];g=8}g=d[m>>1]&-3|g;d[m>>1]=g}i=h[5792+(g&31)>>0]|0}if((i|0)==1){g=g&65535;if(g&4|0){i=n;g=f[i>>2]|0;i=f[i+4>>2]|0;break}if(g&8|0){g=Fc(+p[E>>3])|0;i=ba()|0;break}if(!(g&18)){g=0;i=0}else{g=Gc(b[E+10>>0]|0,f[E+12>>2]|0,f[E+16>>2]|0)|0;i=ba()|0}}else{g=0;i=-2147483648}}else{g=0;i=-2147483648}while(0);v=a+72|0;q=v;f[q>>2]=g;f[q+4>>2]=i;do if(D){m=D+8|0;g=d[m>>1]|0;q=g&31;i=h[5792+q>>0]|0;if((q|16|0)==18){g=b[D+10>>0]|0;i=D+16|0;l=D+12|0;if(!(jf(f[i>>2]|0,A,f[l>>2]|0,g)|0))g=d[m>>1]|0;else{if(!(kf(f[i>>2]|0,B,f[l>>2]|0,g)|0)){n=B;q=f[n+4>>2]|0;g=D;f[g>>2]=f[n>>2];f[g+4>>2]=q;g=4}else{p[D>>3]=+p[A>>3];g=8}g=d[m>>1]&-3|g;d[m>>1]=g}i=h[5792+(g&31)>>0]|0}if((i|0)==1){g=g&65535;if(g&4|0){i=o;g=f[i>>2]|0;i=f[i+4>>2]|0;break}if(g&8|0){g=Fc(+p[D>>3])|0;i=ba()|0;break}if(!(g&18)){g=0;i=0}else{g=Gc(b[D+10>>0]|0,f[D+12>>2]|0,f[D+16>>2]|0)|0;i=ba()|0}}else{g=-1;i=2147483647}}else{g=-1;i=2147483647}while(0);q=a+80|0;o=q;f[o>>2]=g;f[o+4>>2]=i;if(!e)g=b[H+235>>0]|0;else g=(b[e>>0]|0)==68&1;b[a+52>>0]=g;c=c&65535;d[a+4>>1]=c;do if(r>>>0>1){n=r+-2|0;i=K+8|0;do if(K){g=d[i>>1]|0;if((g&514)==514?(b[K+10>>0]|0)==1:0)g=f[K+16>>2]|0;else{if(g&1){I=52;break}g=Ic(K,1)|0}if(g){o=g;l=0}else I=52}else I=52;while(0);if((I|0)==52)if(!(-1431655766>>>(d[i>>1]&31)&1)){a=7;t=L;return a|0}else{o=0;l=1}i=a+20|0;f[i>>2]=0;if(!u)g=0;else{g=j[u+8>>1]|0;do if(!(g&4)){if(g&8|0){g=Fc(+p[u>>3])|0;ba()|0;break}if(!(g&18))g=0;else{g=Gc(b[u+10>>0]|0,f[u+12>>2]|0,f[u+16>>2]|0)|0;ba()|0}}else g=f[s>>2]|0;while(0);f[i>>2]=g}i=f[H+36>>2]|0;r=f[H+28>>2]|0;u=h[H+232>>0]|0;s=f[H+24>>2]|0;e=a+16|0;m=H+8|0;M=B+24|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[B>>2]=i;f[B+4>>2]=g;f[B+8>>2]=r;f[B+16>>2]=s;f[B+20>>2]=n;f[B+12>>2]=u;a:do if(l){f[e>>2]=0;g=0}else{g=vu(B,o,wz(o)|0,e,A)|0;do if(!g){g=f[e>>2]|0;if(f[B+32>>2]|0){uu(g);f[e>>2]=0;break}if(!g){g=0;break a}g=wu(e,12)|0;if(!g){g=f[e>>2]|0;i=xu(g,12)|0;if(!i)break a;else{k=i;I=70}}else{k=g;I=70}}else{k=g;I=70}while(0);b:do if((I|0)==70){uu(f[e>>2]|0);f[e>>2]=0;switch(k|0){case 1:break b;case 18:break;default:{M=k;t=L;return M|0}}f[w>>2]=12;Ls(m,66177,w);M=1;t=L;return M|0}while(0);f[x>>2]=o;Ls(m,66229,x);M=1;t=L;return M|0}while(0);M=f[a>>2]|0;f[A>>2]=0;f[B>>2]=0;f[C>>2]=0;yu(a,g,B,C,A);g=f[B>>2]|0;do if((f[A>>2]|0)==0&(g|0)>1?b[M+232>>0]|0:0){i=Fd((f[C>>2]<<3)+(g*24|0)|0)|0;l=i+((f[B>>2]|0)*24|0)|0;if(!i){f[A>>2]=7;break}f[y>>2]=i;f[z>>2]=l;zu(a,0,f[e>>2]|0,y,z,A);g=((f[y>>2]|0)-i|0)/24|0;f[B>>2]=g;f[C>>2]=(f[z>>2]|0)-l>>2;if((f[A>>2]|0)==0?(M=Au(a,0,i,g)|0,f[A>>2]=M,(M|0)==0&(f[C>>2]|0)>0):0){g=0;do{M=Au(a,f[l+(g<<2)>>2]|0,i,f[B>>2]|0)|0;f[A>>2]=M;g=g+1|0}while((M|0)==0?(g|0)<(f[C>>2]|0):0)}if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{M=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-M;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}}while(0);Bu(a,f[e>>2]|0,A);g=f[A>>2]|0;i=H+248|0;l=f[i>>2]|0;do if(l|0){m=f[l+20>>2]|0;Fi(f[l+16>>2]|0)|0;if(m|0){if(f[m+480>>2]|0){Kc(m,l);break}M=l;if((f[m+304>>2]|0)>>>0<=M>>>0?(f[m+308>>2]|0)>>>0>M>>>0:0){M=m+300|0;f[l>>2]=f[M>>2];f[M>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{M=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-M;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[i>>2]=0;if(!g){f[a+40>>2]=f[a+44>>2];M=a+32|0;f[M>>2]=0;f[M+4>>2]=0;break}else{M=g;t=L;return M|0}}while(0);c:do switch(c<<16>>16){case 0:{k=f[H+220>>2]|0;if((E|0)!=0|(D|0)!=0){I=v;F=f[I>>2]|0;I=f[I+4>>2]|0;K=q;J=f[K>>2]|0;K=f[K+4>>2]|0;g=(b[a+52>>0]|0)==0?66262:66266;f[G>>2]=k;M=G+8|0;f[M>>2]=F;f[M+4>>2]=I;M=G+16|0;f[M>>2]=J;f[M+4>>2]=K;f[G+24>>2]=g;g=wd(66271,G)|0}else{g=(b[a+52>>0]|0)==0?66262:66266;f[F>>2]=k;f[F+4>>2]=g;g=wd(66333,F)|0}if(!g){M=7;t=L;return M|0}k=Ki(f[H+12>>2]|0,g,-1,129,0,a+12|0,0)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);I=116;break c}else{I=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);I=116;break c}}case 1:{l=a+12|0;k=f[l>>2]|0;if(!k){i=f[a>>2]|0;g=i+216|0;k=f[g>>2]|0;do if(!k){f[J>>2]=f[i+220>>2];g=wd(64616,J)|0;if(!g){M=7;t=L;return M|0}k=Ki(f[i+12>>2]|0,g,-1,129,0,l,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](g);else{M=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-M;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g)}if(!k){k=f[l>>2]|0;break}else{M=k;t=L;return M|0}}else{f[l>>2]=k;f[g>>2]=0}while(0);b[a+8>>0]=1}k=Tp(k,1,K)|0;I=116;break}default:{}}while(0);if((I|0)==116?k|0:0){M=k;t=L;return M|0}M=Us(a)|0;t=L;return M|0}function Us(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;q=t;t=t+16|0;c=q;if((j[a+4>>1]|0)<2){c=a+12|0;if((Ei(f[c>>2]|0)|0)==100){o=Jp(f[c>>2]|0,0)|0;p=ba()|0;a=a+32|0;f[a>>2]=o;f[a+4>>2]=p;a=0;t=q;return a|0}b[a+6>>0]=1;e=f[c>>2]|0;if(!e){a=0;t=q;return a|0}c=f[e>>2]|0;a=e+128|0;p=f[a+4>>2]|0;if((p|0)>0|(p|0)==0&(f[a>>2]|0)>>>0>0)Hi(c,e);d=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;a=e+64|0;f[a>>2]=0;f[a+4>>2]=0;if((d|0)==3082|(b[c+81>>0]|0)!=0){Di(c);a=7;t=q;return a|0}else{a=f[c+68>>2]&d;t=q;return a|0}}f[c>>2]=0;d=f[a+16>>2]|0;if(d){e=a+7|0;g=a+12|0;h=d+32|0;i=a+6|0;k=a+88|0;l=d+24|0;o=a+32|0;do{if((b[e>>0]|0)==0?(m=f[g>>2]|0,m|0):0){n=f[m>>2]|0;r=m+128|0;s=f[r+4>>2]|0;if((s|0)>0|(s|0)==0&(f[r>>2]|0)>>>0>0)Hi(n,m);s=fg(m)|0;f[m+20>>2]=770837923;f[m+36>>2]=-1;f[m+40>>2]=0;b[m+142>>0]=2;f[m+44>>2]=0;f[m+32>>2]=1;b[m+143>>0]=-1;f[m+48>>2]=0;r=m+64|0;f[r>>2]=0;f[r+4>>2]=0;if((s|0)==3082|(b[n+81>>0]|0)!=0)Di(n)}Yt(a,d,c);s=b[h>>0]|0;b[i>>0]=s;b[e>>0]=1;f[k>>2]=1;u=l;n=f[u+4>>2]|0;r=o;f[r>>2]=f[u>>2];f[r+4>>2]=n;if(s<<24>>24)break}while((Ot(a,c)|0)!=0);c=f[c>>2]|0;if(!c){c=o;p=22}}else{b[a+6>>0]=1;c=a+32|0;p=22}do if((p|0)==22){d=c;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!(b[a+52>>0]|0)){u=a+80|0;s=f[u+4>>2]|0;if(!((d|0)>(s|0)|((d|0)==(s|0)?c>>>0>(f[u>>2]|0)>>>0:0))){c=0;break}}else{u=a+72|0;s=f[u+4>>2]|0;if(!((d|0)<(s|0)|((d|0)==(s|0)?c>>>0<(f[u>>2]|0)>>>0:0))){c=0;break}}b[a+6>>0]=1;c=0}while(0);u=c;t=q;return u|0}function Vs(a){a=a|0;var c=0;c=a+6|0;if(!(b[c>>0]|0)){c=0;return c|0}tu(a);b[c>>0]=1;c=1;return c|0}function Ws(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0;g=f[a>>2]|0;h=f[g+24>>2]|0;switch(e-h|0){case 0:{e=f[c>>2]|0;g=e+8|0;if(!((d[g>>1]&9216)==0?!(f[e+24>>2]|0):0))ff(e);f[e>>2]=64490;f[e+16>>2]=a;d[g>>1]=-31231;b[e+11>>0]=112;f[e+36>>2]=110;c=0;return c|0}case 1:{a=a+32|0;h=f[a>>2]|0;a=f[a+4>>2]|0;e=f[c>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){c=e;f[c>>2]=h;f[c+4>>2]=a;d[g>>1]=4;c=0;return c|0}else{bf(e,h,a);c=0;return c|0}}case 2:{if(f[a+16>>2]|0){h=f[a+20>>2]|0;a=((h|0)<0)<<31>>31;e=f[c>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){c=e;f[c>>2]=h;f[c+4>>2]=a;d[g>>1]=4;c=0;return c|0}else{bf(e,h,a);c=0;return c|0}}if(!(f[g+44>>2]|0)){e=f[c>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){c=e;f[c>>2]=0;f[c+4>>2]=0;d[g>>1]=4;c=0;return c|0}else{bf(e,0,0);c=0;return c|0}}break}default:h=e}e=Qt(0,a)|0;if(e|0){c=e;return c|0}k=f[a+12>>2]|0;i=(k|0)==0;if(!i?(f[k+104>>2]|0)!=0:0)e=(j[k+140>>1]|0)+-1|0;else e=-1;if((e|0)<=(h|0)){c=0;return c|0}e=h+1|0;do if(i)a=37592;else{g=f[k+104>>2]|0;if(g|0?e>>>0<(j[k+140>>1]|0)>>>0:0){a=g+(e*40|0)|0;break}a=f[k>>2]|0;f[a+64>>2]=25;Bg(a,25);a=37592}while(0);e=a+8|0;g=j[e>>1]|0;if(g&2048|0)d[e>>1]=g&59391|4096;if(!i){g=f[k>>2]|0;h=k+40|0;e=f[h>>2]|0;if((e|0)==3082|(b[g+81>>0]|0)!=0){Di(g);e=7}else e=f[g+68>>2]&e;f[h>>2]=e}mf(c,a);c=0;return c|0}function Xs(a,b){a=a|0;b=b|0;var c=0;c=a+32|0;a=f[c+4>>2]|0;f[b>>2]=f[c>>2];f[b+4>>2]=a;return 0} -function Kl(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0;Sa=t;t=t+368|0;Ka=Sa+192|0;Ja=Sa+184|0;Ea=Sa+168|0;Ca=Sa+160|0;Fa=Sa+152|0;ua=Sa+144|0;ta=Sa+136|0;sa=Sa+128|0;ra=Sa+120|0;la=Sa+112|0;ja=Sa+104|0;ka=Sa+96|0;ha=Sa+88|0;ga=Sa+80|0;ia=Sa+72|0;ea=Sa+64|0;ca=Sa+56|0;aa=Sa+48|0;da=Sa+32|0;D=Sa+24|0;C=Sa+16|0;l=Sa+8|0;k=Sa;Ha=Sa+336|0;Da=Sa+304|0;Ia=Sa+288|0;Ma=Sa+248|0;Pa=Sa+200|0;Qa=f[a>>2]|0;Ra=a+8|0;g=f[Ra>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[Qa+76>>1]&8)==0:0)b[a+23>>0]=1;Na=sl(a)|0}else Na=g;if(!c){Ra=1;t=Sa;return Ra|0}Aa=Qa+81|0;if(b[Aa>>0]|0){Ra=1;t=Sa;return Ra|0}Oa=a+36|0;if(f[Oa>>2]|0){Ra=1;t=Sa;return Ra|0}g=f[a>>2]|0;do if(((b[g+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(i=f[g+312>>2]|0,i|0):0){g=nb[i&127](f[g+316>>2]|0,21,0,0,0,f[a+236>>2]|0)|0;if((g|0)==1){ni(a,49816,k);f[a+12>>2]=23;Ra=1;t=Sa;return Ra|0}if((g|2|0)==2){if(!g)break;else g=1;t=Sa;return g|0}else{ni(a,49831,l);f[a+12>>2]=1;Ra=1;t=Sa;return Ra|0}}while(0);W=Pa;X=W+48|0;do{f[W>>2]=0;W=W+4|0}while((W|0)<(X|0));if((h[e>>0]|0)<9){g=c+48|0;i=f[g>>2]|0;if(i|0)jg(Qa,i);f[g>>2]=0;Ga=c+8|0;f[Ga>>2]=f[Ga>>2]&-2;cg(a,c,0)}else cg(a,c,0);a:do if((f[Oa>>2]|0)==0?(b[Aa>>0]|0)==0:0){if(((b[e>>0]|0)==9?(A=f[Ra>>2]|0,B=f[a>>2]|0,(b[a+195>>0]|0)==0):0)?(m=a+16|0,(b[m>>0]|0)==0):0){i=c;while(1){g=f[i+52>>2]|0;if(!g)break;else i=g}y=f[i+32>>2]|0;z=f[i>>2]|0;b[m>>0]=1;x=f[B+32>>2]|0;w=(x&4|0)==0&0==0;x=(x&68|0)==0&0==0;Mi(A,f[z>>2]|0);g=f[z>>2]|0;if((g|0)>0){q=A+100|0;r=B+272|0;s=B+276|0;u=B+81|0;v=B+288|0;m=B+300|0;n=B+296|0;o=B+284|0;p=B+292|0;l=0;do{i=f[z+4+(l*20|0)>>2]|0;g=f[z+4+(l*20|0)+4>>2]|0;b:do if(g){if(!(b[(f[A>>2]|0)+81>>0]|0))$e((f[q>>2]|0)+(l*40|0)|0,g,-1,1,-1)|0}else{do if(!x){if((b[i>>0]|0)!=-98)break;g=d[i+32>>1]|0;i=f[i+44>>2]|0;if(g<<16>>16<0)g=d[i+40>>1]|0;else g=g<<16>>16;if((g|0)<0)g=47870;else g=f[(f[i+4>>2]|0)+(g<<4)>>2]|0;if(w){if(b[(f[A>>2]|0)+81>>0]|0)break b;$e((f[q>>2]|0)+(l*40|0)|0,g,-1,1,-1)|0;break b}else{f[C>>2]=f[i>>2];f[C+4>>2]=g;g=Ig(B,50225,C)|0;if(b[(f[A>>2]|0)+81>>0]|0)break b;$e((f[q>>2]|0)+(l*40|0)|0,g,-1,1,139)|0;break b}}while(0);i=f[z+4+(l*20|0)+8>>2]|0;c:do if(!i){f[D>>2]=l+1;g=Ig(B,50333,D)|0}else{k=(wz(i)|0)+1|0;d:do if(f[r>>2]|0)if(!(b[u>>0]|0))La=55;else{g=0;break c}else{do if(0<0|(0==0?(j[s>>1]|0)>>>0>>0:0))g=v;else{g=f[m>>2]|0;if(g|0){f[m>>2]=f[g>>2];f[o>>2]=(f[o>>2]|0)+1;break d}g=f[n>>2]|0;if(!g){g=p;break}f[n>>2]=f[g>>2];f[o>>2]=(f[o>>2]|0)+1;break d}while(0);f[g>>2]=(f[g>>2]|0)+1;La=55}while(0);if((La|0)==55){La=0;g=Dc(B,k,0)|0}if(!g){g=0;break}YA(g|0,i|0,k|0)|0}while(0);if(b[(f[A>>2]|0)+81>>0]|0)break;$e((f[q>>2]|0)+(l*40|0)|0,g,-1,1,139)|0}while(0);l=l+1|0;g=f[z>>2]|0}while((l|0)<(g|0))}m=f[Ra>>2]|0;f[Ha+4>>2]=y;f[Ha>>2]=a;f[Ha+12>>2]=0;if((g|0)>0){k=m+100|0;l=m+140|0;i=0;do{if(!(b[(f[m>>2]|0)+81>>0]|0)){g=Xk(Ha,f[z+4+(i*20|0)>>2]|0)|0;$e((f[k>>2]|0)+((i+(j[l>>1]|0)|0)*40|0)|0,g,-1,1,-1)|0;g=f[z>>2]|0}i=i+1|0}while((i|0)<(g|0))}}xa=c+68|0;i=f[xa>>2]|0;fa=c+52|0;if(i|0?(f[fa>>2]|0)==0:0){g=f[Ra>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;A=sl(a)|0;i=f[xa>>2]|0}else A=g;B=f[a>>2]|0;z=c+32|0;v=f[z>>2]|0;w=f[c+36>>2]|0;x=f[c+40>>2]|0;y=f[c+44>>2]|0;o=i+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;g=Ik(B,f[o>>2]|0,0)|0;p=i+8|0;m=f[p>>2]|0;if(m){if(!g)n=0;else n=f[g>>2]|0;if((f[m>>2]|0)>0){l=0;do{k=f[m+4+(l*20|0)>>2]|0;if(!k)k=0;else k=Bk(f[a>>2]|0,k,0,0)|0;g=ml(f[a>>2]|0,g,k)|0;if(g|0)b[g+4+((l+n|0)*20|0)+12>>0]=b[m+4+(l*20|0)+12>>0]|0;l=l+1|0}while((l|0)<(f[m>>2]|0));u=g}else u=g}else u=g;e:do if((u|0?(G=c+48|0,F=f[G>>2]|0,F|0):0)?(E=f[u>>2]|0,(E|0)==(f[F>>2]|0)):0){if((E|0)>0){g=0;do{if((b[u+4+(g*20|0)+12>>0]|0)!=(b[F+4+(g*20|0)+12>>0]|0))break e;if(Ck(0,f[u+4+(g*20|0)>>2]|0,f[F+4+(g*20|0)>>2]|0,-1)|0)break e;g=g+1|0}while((g|0)<(f[u>>2]|0));g=f[G>>2]|0;if(g|0)La=93}else{g=F;La=93}if((La|0)==93)jg(B,g);f[G>>2]=0}while(0);s=a+40|0;g=f[s>>2]|0;f[s>>2]=g+1;s=i+36|0;f[s>>2]=g;g=f[c>>2]|0;m=Ha+12|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[Da+12>>2]=0;m=Da+8|0;f[m>>2]=0;f[Da>>2]=i;f[Da+4>>2]=v;f[Ha>>2]=a;f[Ha+4>>2]=157;f[Ha+8>>2]=158;f[Ha+24>>2]=Da;if((g|0)!=0?(H=f[g>>2]|0,(H|0)>0):0){l=H;g=g+4|0;while(1){k=f[g>>2]|0;if(k|0?oi(Ha,k)|0:0)break;if((l|0)>1){l=l+-1|0;g=g+20|0}else break}k=f[m>>2]|0}else k=0;g=f[c+48>>2]|0;m=Ha+12|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[Da+12>>2]=0;m=Da+8|0;f[m>>2]=k;f[Da>>2]=i;f[Da+4>>2]=v;f[Ha>>2]=a;f[Ha+4>>2]=157;f[Ha+8>>2]=158;f[Ha+24>>2]=Da;if((g|0)!=0?(I=f[g>>2]|0,(I|0)>0):0){l=I;g=g+4|0;while(1){k=f[g>>2]|0;if(k|0?oi(Ha,k)|0:0)break;if((l|0)>1){l=l+-1|0;g=g+20|0}else break}k=f[m>>2]|0}g=k;l=(k|0)==0;if(l)k=0;else k=f[g>>2]|0;f[i+64>>2]=k;n=f[o>>2]|0;do if(n){if(l)m=0;else m=f[g>>2]|0;if((f[n>>2]|0)<=0)break;l=0;do{k=f[n+4+(l*20|0)>>2]|0;if(!k)k=0;else k=Bk(f[a>>2]|0,k,0,0)|0;g=ml(f[a>>2]|0,g,k)|0;if(g|0)b[g+4+((l+m|0)*20|0)+12>>0]=b[n+4+(l*20|0)+12>>0]|0;l=l+1|0}while((l|0)<(f[n>>2]|0))}while(0);m=f[p>>2]|0;do if(m){if(!g)n=0;else n=f[g>>2]|0;if((f[m>>2]|0)<=0){La=131;break}l=0;do{k=f[m+4+(l*20|0)>>2]|0;if(!k)k=0;else k=Bk(f[a>>2]|0,k,0,0)|0;g=ml(f[a>>2]|0,g,k)|0;k=(g|0)==0;if(!k)b[g+4+((l+n|0)*20|0)+12>>0]=b[m+4+(l*20|0)+12>>0]|0;l=l+1|0}while((l|0)<(f[m>>2]|0));if(!i)i=k;else{l=g;La=133}}else La=131;while(0);if((La|0)==131){l=g;k=(g|0)==0;La=133}if((La|0)==133){o=a+44|0;p=A+136|0;q=A+12|0;r=A+88|0;g=l;do{if(k)l=0;else l=f[g>>2]|0;f[i+68>>2]=l;n=f[(f[i+60>>2]|0)+20>>2]|0;do if(n){if(k)m=0;else m=f[g>>2]|0;if((f[n>>2]|0)<=0)break;l=0;do{k=f[n+4+(l*20|0)>>2]|0;if(!k)k=0;else k=Bk(f[a>>2]|0,k,0,0)|0;g=ml(f[a>>2]|0,g,k)|0;if(g|0)b[g+4+((l+m|0)*20|0)+12>>0]=b[n+4+(l*20|0)+12>>0]|0;l=l+1|0}while((l|0)<(f[n>>2]|0))}while(0);k=f[i+28>>2]|0;if(k){Ga=Bk(B,k,0,0)|0;g=ml(f[a>>2]|0,g,Ga)|0}l=f[o>>2]|0;k=l+1|0;f[i+40>>2]=k;l=l+2|0;f[o>>2]=l;f[i+44>>2]=l;l=f[p>>2]|0;if((f[(f[q>>2]|0)+48>>2]|0)>(l|0)){f[p>>2]=l+1;Ga=f[r>>2]|0;b[Ga+(l*20|0)>>0]=73;d[Ga+(l*20|0)+2>>1]=0;f[Ga+(l*20|0)+4>>2]=0;f[Ga+(l*20|0)+8>>2]=k;f[Ga+(l*20|0)+12>>2]=0;f[Ga+(l*20|0)+16>>2]=0;b[Ga+(l*20|0)+1>>0]=0}else tl(A,73,0,k,0)|0;i=f[i+24>>2]|0;k=(g|0)==0}while((i|0)!=0);i=k}if(i){k=Dk(B,143,10016,0)|0;k=ml(f[a>>2]|0,0,k)|0}else k=g;g=Ll(a,k,v,w,x,y,u,0,0)|0;i=ol(B,0,0,0)|0;f[z>>2]=i;do if(i){f[i+28>>2]=g;Tk(a,i);if(!(il(a,(f[z>>2]|0)+8|0)|0)){Ga=g+8|0;f[Ga>>2]=f[Ga>>2]|64;Ga=c+8|0;f[Ga>>2]=f[Ga>>2]&-9;cg(a,g,0);g=0}else g=7;m=f[s>>2]|0;i=f[k>>2]|0;k=A+136|0;l=f[k>>2]|0;if((f[(f[A+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;Ga=f[A+88>>2]|0;b[Ga+(l*20|0)>>0]=113;d[Ga+(l*20|0)+2>>1]=0;f[Ga+(l*20|0)+4>>2]=m;f[Ga+(l*20|0)+8>>2]=i;f[Ga+(l*20|0)+12>>2]=0;f[Ga+(l*20|0)+16>>2]=0;b[Ga+(l*20|0)+1>>0]=0;break}else{tl(A,113,m,i,0)|0;break}}else{if(!g){g=0;break}mg(B,g,1);g=0}while(0);if(!((g|0)==0&(b[B+81>>0]|0)==0)){l=1;break}}za=c+32|0;k=f[za>>2]|0;Ga=c+8|0;na=(f[Ga>>2]|0)>>>3&1;W=Ma+4|0;X=W+36|0;do{f[W>>2]=0;W=W+4|0}while((W|0)<(X|0));Y=c+48|0;f[Ma>>2]=f[Y>>2];g=f[fa>>2]|0;f:do if(!g){va=c+36|0;K=Ha+4|0;L=Ha+8|0;M=Ha+12|0;N=Ha+20|0;O=Ha+24|0;ya=Qa+76|0;Z=a+236|0;P=c+60|0;Q=(na|0)!=0;_=a+196|0;R=c+4|0;$=a+12|0;S=Ha+4|0;T=Ha+8|0;U=Ha+12|0;V=Ha+16|0;Ba=a+116|0;i=0;wa=k;g:while(1){g=f[wa>>2]|0;if((i|0)>=(g|0))break;m=f[wa+8+(i*72|0)+20>>2]|0;n=f[wa+8+(i*72|0)+16>>2]|0;g=wa+8+(i*72|0)+36|0;do if(b[g>>0]&8){k=f[va>>2]|0;l=wa+8+(i*72|0)+40|0;X=f[l>>2]|0;f[K>>2]=159;f[L>>2]=0;f[M>>2]=0;b[N>>0]=0;f[O>>2]=X;if(!k)break;oi(Ha,k)|0;if(b[N>>0]|0?(d[ya>>1]&8192)==0:0){b[g>>0]=b[g>>0]&-41;mo(f[va>>2]|0,f[l>>2]|0)}}while(0);h:do if(m){g=d[n+42>>1]|0;k=f[f[m>>2]>>2]|0;if((k|0)!=(g<<16>>16|0)){La=174;break g}if(!(f[m+8>>2]&8)){do if((i|0)==0&(f[m+48>>2]|0)!=0){if(!(f[Ga>>2]&262144))break;if((f[wa>>2]|0)==1){g=wa;i=0;break h}if(b[wa+116>>0]&10){g=wa;i=0;break h}}while(0);r=f[Z>>2]|0;I=f[a>>2]|0;i:do if(!(d[I+76>>1]&1)){s=f[za>>2]|0;J=f[s+8+(i*72|0)+40>>2]|0;u=s+8+(i*72|0)+20|0;l=f[u>>2]|0;if(f[xa>>2]|0)break;if(f[l+68>>2]|0)break;n=f[l+32>>2]|0;g=f[l+60>>2]|0;m=(g|0)==0;if(!m){if(f[P>>2]|0)break;if(f[g+16>>2]|0)break;g=f[Ga>>2]|0;if(g&256)break}else g=f[Ga>>2]|0;k=f[n>>2]|0;if(!k)break;o=f[l+8>>2]|0;if(o&1|0)break;if(!m?Q|(f[s>>2]|0)>1:0)break;q=f[Y>>2]|0;p=(q|0)==0;if(!p?f[l+48>>2]|0:0)break;if(Q?f[l+48>>2]|0:0)break;if(m){if(o&8192|0)break}else if(!((o&8192|g&1|0)==0&(f[va>>2]|0)==0))break;H=s+8+(i*72|0)+36|0;if(b[H>>0]&32){if(Q|(k|0)>1)break;if(!(f[(f[n+24>>2]|0)+56>>2]|0))G=1;else break}else G=0;m=l+52|0;k=f[m>>2]|0;do if(k|0){if(!((g&1|0)==0&((Q|(f[l+48>>2]|0)!=0)^1)))break i;if(!((f[s>>2]|0)==1&(o&9|0)==0))break i;g=k;while(1){k=(g|0)==0;if(!k?(b[l+4>>0]|0)!=124:0)break i;if((f[f[l+32>>2]>>2]|0)<1)break i;if(k)break;if(f[g+8>>2]&9|0)break i;l=g;g=f[g+52>>2]|0}if(p)break;k=f[q>>2]|0;if((k|0)<=0)break;g=0;do{if(!(d[q+4+(g*20|0)+16>>1]|0))break i;g=g+1|0}while((g|0)<(k|0))}while(0);p=s+8+(i*72|0)+8|0;g=f[p>>2]|0;f[Z>>2]=g;do if(!(b[I+165>>0]|0)){if(b[_>>0]|0)break;k=f[I+312>>2]|0;if(!k)break;g=nb[k&127](f[I+316>>2]|0,21,0,0,0,g)|0;if((g|0)==1){ni(a,49816,aa);f[$>>2]=23;break}if((g|2|0)==2)break;ni(a,49831,ca);f[$>>2]=1}while(0);f[Z>>2]=r;g=f[m>>2]|0;if(g|0){o=I+81|0;n=f[Y>>2]|0;m=f[P>>2]|0;l=f[fa>>2]|0;while(1){f[Y>>2]=0;f[za>>2]=0;f[fa>>2]=0;f[P>>2]=0;k=Hk(I,c,0)|0;f[P>>2]=m;f[Y>>2]=n;f[za>>2]=s;b[R>>0]=124;if(!k)k=l;else{f[k+52>>2]=l;if(l|0)f[l+56>>2]=k;f[k+56>>2]=c}f[fa>>2]=k;if(b[o>>0]|0){i=-1;break i}g=f[g+52>>2]|0;if(!g)break;else l=k}}F=f[u>>2]|0;m=s+8+(i*72|0)+4|0;g=f[m>>2]|0;j:do if(g|0){if(f[I+480>>2]|0){Kc(I,g);break}k=g;do if((f[I+304>>2]|0)>>>0<=k>>>0){if((f[I+308>>2]|0)>>>0<=k>>>0)break;wa=I+300|0;f[g>>2]=f[wa>>2];f[wa>>2]=g;break j}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{wa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-wa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[p>>2]|0;k:do if(g|0){if(f[I+480>>2]|0){Kc(I,g);break}k=g;do if((f[I+304>>2]|0)>>>0<=k>>>0){if((f[I+308>>2]|0)>>>0<=k>>>0)break;wa=I+300|0;f[g>>2]=f[wa>>2];f[wa>>2]=g;break k}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{wa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-wa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=s+8+(i*72|0)+12|0;k=f[g>>2]|0;l:do if(k|0){if(f[I+480>>2]|0){Kc(I,k);break}l=k;do if((f[I+304>>2]|0)>>>0<=l>>>0){if((f[I+308>>2]|0)>>>0<=l>>>0)break;wa=I+300|0;f[k>>2]=f[wa>>2];f[wa>>2]=k;break l}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{wa=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-wa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);f[m>>2]=0;f[p>>2]=0;f[g>>2]=0;f[u>>2]=0;g=s+8+(i*72|0)+16|0;k=f[g>>2]|0;if(k|0){l=k+32|0;m=f[l>>2]|0;if((m|0)==1){wa=f[Ba>>2]|0;wa=((wa|0)==0?a:wa)+252|0;f[k+76>>2]=f[wa>>2];f[wa>>2]=k}else f[l>>2]=m+-1;f[g>>2]=0}x=i+1|0;y=I+81|0;z=I+480|0;A=I+304|0;B=I+308|0;C=I+300|0;D=I+276|0;E=(G|0)==0;v=c;n=-1;w=F;while(1){r=f[w+32>>2]|0;s=f[r>>2]|0;q=v+32|0;g=f[q>>2]|0;if(!g){g=ol(I,0,0,0)|0;f[q>>2]=g;if(!g)break;else u=0}else u=b[H>>0]|0;if((s|0)>1){p=s+-1|0;k=f[g>>2]|0;do if((k+p|0)>>>0>(f[g+4>>2]|0)>>>0){k=(((k<<1)+p|0)*72|0)+8|0;l=g;m=f[A>>2]|0;do if(m>>>0<=l>>>0){if((f[B>>2]|0)>>>0<=l>>>0){La=273;break}if(!(0<0|(0==0?(j[D>>1]|0)>>>0>>0:0))){o=g;l=g;k=m}else La=273}else La=273;while(0);if((La|0)==273){La=0;k=Lc(I,g,k,0)|0;if(!k)break;o=k;l=k;k=f[A>>2]|0}g=o;do if(k>>>0>g>>>0)La=277;else{if((f[B>>2]|0)>>>0<=g>>>0){La=277;break}g=j[D>>1]|0}while(0);if((La|0)==277)g=ib[f[37368>>2]&255](o)|0;f[o+4>>2]=(((g+-80|0)>>>0)/72|0)+1;m=o;g=f[o>>2]|0;La=280}else{l=g;m=g;g=k;La=280}while(0);if((La|0)==280){La=0;if((g|0)>(x|0)){do{g=g+-1|0;W=l+8+((g+p|0)*72|0)|0;k=l+8+(g*72|0)|0;X=W+72|0;do{f[W>>2]=f[k>>2];W=W+4|0;k=k+4|0}while((W|0)<(X|0))}while((g|0)>(x|0));g=f[m>>2]|0}f[m>>2]=g+p;_A(l+8+(x*72|0)|0,0,p*72|0)|0;k=s+i|0;g=x;do{f[l+8+(g*72|0)+40>>2]=-1;g=g+1|0}while((g|0)<(k|0));g=l}f[q>>2]=g;if(b[y>>0]|0)break}if((s|0)>0){q=0;while(1){o=q+i|0;p=g+8+(o*72|0)|0;o=f[g+8+(o*72|0)+48>>2]|0;m:do if(o|0){n=o+4|0;k=f[o>>2]|0;if((f[n>>2]|0)>0){m=0;do{k=f[k+(m<<3)>>2]|0;n:do if(k|0){if(f[z>>2]|0){Kc(I,k);break}l=k;do if((f[A>>2]|0)>>>0<=l>>>0){if((f[B>>2]|0)>>>0<=l>>>0)break;f[k>>2]=f[C>>2];f[C>>2]=k;break n}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{wa=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-wa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);m=m+1|0;k=f[o>>2]|0}while((m|0)<(f[n>>2]|0))}o:do if(k|0){if(f[z>>2]|0){Kc(I,k);break}l=k;do if((f[A>>2]|0)>>>0<=l>>>0){if((f[B>>2]|0)>>>0<=l>>>0)break;f[k>>2]=f[C>>2];f[C>>2]=k;break o}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{wa=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-wa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);if(f[z>>2]|0){Kc(I,o);break}k=o;do if((f[A>>2]|0)>>>0<=k>>>0){if((f[B>>2]|0)>>>0<=k>>>0)break;f[o>>2]=f[C>>2];f[C>>2]=o;break m}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{wa=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-wa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);l=r+8+(q*72|0)|0;W=p;k=l;X=W+72|0;do{f[W>>2]=f[k>>2];W=W+4|0;k=k+4|0}while((W|0)<(X|0));k=f[r+8+(q*72|0)+40>>2]|0;W=l;X=W+72|0;do{f[W>>2]=0;W=W+4|0}while((W|0)<(X|0));q=q+1|0;if((q|0)==(s|0)){n=k;break}}}b[g+8+(i*72|0)+36>>0]=u;k=w+48|0;l=f[k>>2]|0;if(l|0){m=f[l>>2]|0;if((m|0)>0){g=0;do{d[l+4+(g*20|0)+16>>1]=0;g=g+1|0}while((g|0)!=(m|0))}f[v+48>>2]=l;f[k>>2]=0}g=f[w+36>>2]|0;if(!g)g=0;else g=Bk(I,g,0,0)|0;if(!E)ll(g,n);wa=v+36|0;X=kl(I,g,f[wa>>2]|0)|0;f[wa>>2]=X;if(!(b[y>>0]|0)){f[Ha>>2]=a;f[S>>2]=J;f[T>>2]=n;f[U>>2]=G;f[V>>2]=f[w>>2];no(Ha,v,0)}g=v+8|0;f[g>>2]=f[g>>2]|f[w+8>>2]&1;g=w+60|0;k=f[g>>2]|0;if(k|0){f[v+60>>2]=k;f[g>>2]=0}v=f[v+52>>2]|0;if(!v)break;else w=f[w+52>>2]|0}if(!F){i=-1;break}mg(I,F,1);i=-1}while(0);g=f[za>>2]|0;if(b[Aa>>0]|0){l=1;break a}if((h[e>>0]|0)<9)break;f[Ma>>2]=f[Y>>2]}else g=wa}else g=wa;while(0);k=f[fa>>2]|0;if(!k){i=i+1|0;wa=g}else{r=k;break f}}if((La|0)==174){l=f[n>>2]|0;f[da>>2]=g<<16>>16;f[da+4>>2]=l;f[da+8>>2]=k;ni(a,57216,da);l=1;break a}if((g|0)>1)if((d[ya>>1]|0)>-1){f[Ha>>2]=a;l=Ha+4|0;m=Ha+8|0;n=Ha+12|0;o=Da+4|0;p=Da+8|0;q=Da+12|0;r=Da+16|0;s=Da+24|0;u=Da+20|0;do{f[l>>2]=0;f[m>>2]=0;f[n>>2]=0;to(Ha,f[va>>2]|0);p:do if(f[l>>2]|0){f[u>>2]=0;f[Da>>2]=a;f[o>>2]=160;f[p>>2]=148;f[q>>2]=0;f[r>>2]=0;f[s>>2]=Ha;g=f[va>>2]|0;if(g|0)oi(Da,g)|0;g=f[f[Ha>>2]>>2]|0;i=f[n>>2]|0;if(!i)break;do if(g|0){if(f[g+480>>2]|0){Kc(g,i);break p}k=i;if((f[g+304>>2]|0)>>>0>k>>>0)break;if((f[g+308>>2]|0)>>>0<=k>>>0)break;La=g+300|0;f[i>>2]=f[La>>2];f[La>>2]=i;break p}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{La=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-La;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0)}while((f[m>>2]|0)!=0);g=f[wa>>2]|0;La=733}else La=734;else La=733;if((La|0)==733?(g|0)>0:0)La=734;q:do if((La|0)==734){z=a+204|0;A=Na+136|0;B=Na+12|0;C=a+44|0;D=Na+88|0;E=wa+116|0;F=Ha+4|0;G=Ha+16|0;H=Ha+8|0;I=Ha+12|0;J=wa+8|0;K=a+19|0;L=a+28|0;M=wa+36|0;N=wa+24|0;O=wa+45|0;P=wa+40|0;y=0;r:while(1){u=wa+8+(y*72|0)|0;ma=wa+8+(y*72|0)+56|0;do if(((f[ma>>2]|0)==0&(f[ma+4>>2]|0)==0?(oa=f[wa+8+(y*72|0)+8>>2]|0,pa=f[wa+8+(y*72|0)+4>>2]|0,qa=f[a>>2]|0,(b[qa+165>>0]|0)==0):0)?(b[_>>0]|0)==0:0){g=f[qa+312>>2]|0;if(!g)break;g=nb[g&127](f[qa+316>>2]|0,20,oa,72788,pa,f[Z>>2]|0)|0;if((g|0)==1){ni(a,49816,ra);f[$>>2]=23;break}if((g|2|0)==2)break;ni(a,49831,sa);f[$>>2]=1}while(0);s=wa+8+(y*72|0)+20|0;w=f[s>>2]|0;do if(w|0){l=wa+8+(y*72|0)+24|0;k=f[l>>2]|0;if(k|0){if(b[wa+8+(y*72|0)+37>>0]&16)break;g=f[wa+8+(y*72|0)+28>>2]|0;i=f[A>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(i|0)){f[A>>2]=i+1;ma=f[D>>2]|0;b[ma+(i*20|0)>>0]=12;d[ma+(i*20|0)+2>>1]=0;f[ma+(i*20|0)+4>>2]=g;f[ma+(i*20|0)+8>>2]=k;f[ma+(i*20|0)+12>>2]=0;f[ma+(i*20|0)+16>>2]=0;b[ma+(i*20|0)+1>>0]=0;break}else{tl(Na,12,g,k,0)|0;break}}ma=vo(c)|0;f[z>>2]=(f[z>>2]|0)+ma;if(!(d[ya>>1]&4096))wo(a,w,f[va>>2]|0,f[wa+8+(y*72|0)+40>>2]|0,(h[wa+8+(y*72|0)+36>>0]|0)>>>5&1)|0;x=f[Z>>2]|0;r=wa+8+(y*72|0)+8|0;f[Z>>2]=f[r>>2];k=(y|0)==0;do if(k){if((f[wa>>2]|0)!=1?(b[E>>0]&10)==0:0){La=763;break}k=f[A>>2]|0;g=k+1|0;i=(f[C>>2]|0)+1|0;f[C>>2]=i;f[M>>2]=i;if((f[(f[B>>2]|0)+48>>2]|0)>(k|0)){f[A>>2]=g;ma=f[D>>2]|0;b[ma+(k*20|0)>>0]=13;d[ma+(k*20|0)+2>>1]=0;f[ma+(k*20|0)+4>>2]=i;f[ma+(k*20|0)+8>>2]=0;f[ma+(k*20|0)+12>>2]=g;f[ma+(k*20|0)+16>>2]=0;b[ma+(k*20|0)+1>>0]=0}else tl(Na,13,i,0,g)|0;f[l>>2]=g;g=f[M>>2]|0;b[Ha>>0]=13;f[F>>2]=g;f[G>>2]=0;f[H>>2]=0;f[I>>2]=0;f[ta>>2]=f[w+20>>2];Km(a,1,57393,ta);Kl(a,w,Ha)|0;d[(f[N>>2]|0)+44>>1]=d[w+6>>1]|0;b[O>>0]=b[O>>0]|16;f[P>>2]=f[H>>2];g=f[M>>2]|0;i=f[A>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(i|0)){f[A>>2]=i+1;ma=f[D>>2]|0;b[ma+(i*20|0)>>0]=67;d[ma+(i*20|0)+2>>1]=0;f[ma+(i*20|0)+4>>2]=g;f[ma+(i*20|0)+8>>2]=0;f[ma+(i*20|0)+12>>2]=0;f[ma+(i*20|0)+16>>2]=0;b[ma+(i*20|0)+1>>0]=0}else tl(Na,67,g,0,0)|0;i=f[B>>2]|0;b[i+19>>0]=0;f[i+28>>2]=0;i=f[A>>2]|0;if(!(b[(f[Na>>2]|0)+81>>0]|0))g=(f[D>>2]|0)+(((k|0)<0?i+-1|0:k)*20|0)|0;else g=72144;f[g+8>>2]=i}else La=763;while(0);if((La|0)==763){La=0;i=(f[C>>2]|0)+1|0;f[C>>2]=i;v=wa+8+(y*72|0)+28|0;f[v>>2]=i;g=f[A>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){ma=g+1|0;f[A>>2]=ma;la=f[D>>2]|0;b[la+(g*20|0)>>0]=70;d[la+(g*20|0)+2>>1]=0;f[la+(g*20|0)+4>>2]=0;f[la+(g*20|0)+8>>2]=i;f[la+(g*20|0)+12>>2]=0;f[la+(g*20|0)+16>>2]=0;b[la+(g*20|0)+1>>0]=0;i=ma}else{i=tl(Na,70,0,i,0)|0;g=i;i=i+1|0}f[l>>2]=i;do if(!(b[wa+8+(y*72|0)+37>>0]&8)){i=f[A>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(i|0)){f[A>>2]=i+1;W=f[D>>2]|0;b[W+(i*20|0)>>0]=17;W=W+(i*20|0)+1|0;X=W+19|0;do{b[W>>0]=0;W=W+1|0}while((W|0)<(X|0));q=i;break}else{q=tl(Na,17,0,0,0)|0;break}}else q=0;while(0);s:do if(k)La=793;else{o=wa+8+(y*72|0)+4|0;p=J;t:while(1){n=f[p+20>>2]|0;u:do if(n|0){if(b[p+37>>0]&16)break;k=f[p+8>>2]|0;if(!k)break;l=f[p+4>>2]|0;m=f[o>>2]|0;do if(!l)i=((m|0)!=0)<<31>>31;else{if(!m)break u;ma=b[l>>0]|0;i=(h[1232+(ma&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0;if(ma<<24>>24==0|(i|0)!=0)break;do{l=l+1|0;m=m+1|0;ma=b[l>>0]|0;i=(h[1232+(ma&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(ma<<24>>24==0|(i|0)!=0))}while(0);if(i|0)break;l=f[r>>2]|0;if(!l)break;ma=b[k>>0]|0;i=(h[1232+(ma&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0;if(!(ma<<24>>24==0|(i|0)!=0))do{k=k+1|0;l=l+1|0;ma=b[k>>0]|0;i=(h[1232+(ma&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(ma<<24>>24==0|(i|0)!=0));if(i|0)break;if(!(Ck(0,f[(f[s>>2]|0)+36>>2]|0,f[n+36>>2]|0,-1)|0))break t}while(0);i=p+72|0;if(i>>>0>>0)p=i;else{La=793;break s}}i=f[wa+8+(y*72|0)+40>>2]|0;k=f[p+40>>2]|0;l=f[A>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(l|0)){f[A>>2]=l+1;ma=f[D>>2]|0;b[ma+(l*20|0)>>0]=111;d[ma+(l*20|0)+2>>1]=0;f[ma+(l*20|0)+4>>2]=i;f[ma+(l*20|0)+8>>2]=k;f[ma+(l*20|0)+12>>2]=0;f[ma+(l*20|0)+16>>2]=0;b[ma+(l*20|0)+1>>0]=0}else tl(Na,111,i,k,0)|0;i=d[(f[p+20>>2]|0)+6>>1]|0;d[w+6>>1]=i}while(0);if((La|0)==793){La=0;i=f[wa+8+(y*72|0)+40>>2]|0;b[Ha>>0]=12;f[F>>2]=i;f[G>>2]=0;f[H>>2]=0;f[I>>2]=0;f[ua>>2]=f[w+20>>2];Km(a,1,57407,ua);Kl(a,w,Ha)|0;i=d[w+6>>1]|0}d[(f[wa+8+(y*72|0)+16>>2]|0)+44>>1]=i;k=f[A>>2]|0;if(q|0){if(!(b[(f[Na>>2]|0)+81>>0]|0))i=(f[D>>2]|0)+(((q|0)<0?k+-1|0:q)*20|0)|0;else i=72144;f[i+8>>2]=k}i=f[v>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(k|0)){f[A>>2]=k+1;ma=f[D>>2]|0;b[ma+(k*20|0)>>0]=66;d[ma+(k*20|0)+2>>1]=0;f[ma+(k*20|0)+4>>2]=i;f[ma+(k*20|0)+8>>2]=0;f[ma+(k*20|0)+12>>2]=0;f[ma+(k*20|0)+16>>2]=0;b[ma+(k*20|0)+1>>0]=0;i=k}else i=tl(Na,66,i,0,0)|0;if((g|0)<0)g=(f[A>>2]|0)+-1|0;if(!(b[(f[Na>>2]|0)+81>>0]|0))g=(f[D>>2]|0)+(g*20|0)|0;else g=72144;f[g+4>>2]=i}b[K>>0]=0;f[L>>2]=0;if(b[Aa>>0]|0)break r;ma=vo(c)|0;f[z>>2]=(f[z>>2]|0)-ma;f[Z>>2]=x}while(0);y=y+1|0;if((y|0)>=(f[wa>>2]|0))break q}l=1;break a}while(0);Y=f[c>>2]|0;G=f[va>>2]|0;s=c+40|0;l=f[s>>2]|0;u=c+44|0;X=f[u>>2]|0;g=f[Ga>>2]|0;b[Ia>>0]=g&1;v:do if((g&9|0)==1){m=f[Ma>>2]|0;i=(m|0)==0;k=(Y|0)==0;do if(!(k&i)){if(k|i){V=l;break v}i=f[m>>2]|0;if((i|0)!=(f[Y>>2]|0)){V=l;break v}if((i|0)<=0)break;g=0;do{if((b[m+4+(g*20|0)+12>>0]|0)!=(b[Y+4+(g*20|0)+12>>0]|0)){V=l;break v}if(Ck(0,f[m+4+(g*20|0)>>2]|0,f[Y+4+(g*20|0)>>2]|0,-1)|0){V=l;break v}g=g+1|0}while((g|0)<(f[m>>2]|0));g=f[Ga>>2]|0}while(0);f[Ga>>2]=g&-2;V=Ik(Qa,Y,0)|0;f[s>>2]=V}else V=l;while(0);p=f[Ma>>2]|0;w:do if(p){n=f[a>>2]|0;q=f[p>>2]|0;l=(f[Y>>2]|0)+1+q|0;m=l*5|0;k=m+20|0;o=n+272|0;x:do if(f[o>>2]|0)if(!(b[n+81>>0]|0))La=832;else{m=0;n=1}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){g=n+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];La=n+284|0;f[La>>2]=(f[La>>2]|0)+1;La=833;break x}g=n+296|0;i=f[g>>2]|0;if(!i){g=n+292|0;break}else{f[g>>2]=f[i>>2];La=n+284|0;f[La>>2]=(f[La>>2]|0)+1;La=833;break x}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;La=832}while(0);if((La|0)==832){i=Dc(n,k,0)|0;La=833}do if((La|0)==833){do if(!i){g=n+81|0;if(b[g>>0]|0){m=0;o=1;break}if(b[n+82>>0]|0){m=0;o=1;break}b[g>>0]=1;if((f[n+180>>2]|0)>0)f[n+264>>2]=1;f[o>>2]=(f[o>>2]|0)+1;m=0;o=1}else{f[i+16>>2]=i+20+(l<<2);d[i+6>>1]=q;d[i+8>>1]=l;b[i+4>>0]=b[n+78>>0]|0;f[i+12>>2]=n;f[i>>2]=1;_A(i+24|0,0,m+-4|0)|0;m=i;o=0}while(0);if(!((q|0)>0&(i|0)!=0)){n=o;break}n=i+16|0;k=p+4|0;l=0;while(1){g=Zk(a,f[k>>2]|0)|0;if(!g)g=f[(f[a>>2]|0)+8>>2]|0;f[i+20+(l<<2)>>2]=g;b[(f[n>>2]|0)+l>>0]=b[k+12>>0]|0;l=l+1|0;if((l|0)==(q|0)){n=o;break}else k=k+20|0}}while(0);k=a+40|0;i=f[k>>2]|0;f[k>>2]=i+1;f[Ma+8>>2]=i;k=(f[f[Ma>>2]>>2]|0)+1+(f[Y>>2]|0)|0;l=Na+136|0;g=f[l>>2]|0;if((f[(f[Na+12>>2]|0)+48>>2]|0)>(g|0)){f[l>>2]=g+1;ua=f[Na+88>>2]|0;b[ua+(g*20|0)>>0]=113;d[ua+(g*20|0)+2>>1]=0;f[ua+(g*20|0)+4>>2]=i;f[ua+(g*20|0)+8>>2]=k;f[ua+(g*20|0)+12>>2]=0;f[ua+(g*20|0)+16>>2]=0;b[ua+(g*20|0)+1>>0]=0}else g=tl(Na,113,i,k,0)|0;i=f[Na>>2]|0;if(!(b[i+81>>0]|0)){if((g|0)<0)i=(f[l>>2]|0)+-1|0;else i=g;k=f[Na+88>>2]|0;l=k+(i*20|0)+1|0;if(b[l>>0]|0){ul(Na,k+(i*20|0)|0,m,-9);break}if(n)break;f[k+(i*20|0)+16>>2]=m;b[l>>0]=-9;break}if(n|(f[i+480>>2]|0)!=0)break;ua=(f[m>>2]|0)+-1|0;f[m>>2]=ua;if(ua|0)break;i=f[m+12>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,m);break w}k=m;if((f[i+304>>2]|0)>>>0>k>>>0)break;if((f[i+308>>2]|0)>>>0<=k>>>0)break;ua=i+300|0;f[m>>2]=f[ua>>2];f[ua>>2]=m;break w}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{ua=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-ua;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}else g=-1;while(0);f[Ma+20>>2]=g;do if((b[e>>0]|0)==12){g=f[e+4>>2]|0;i=f[Y>>2]|0;k=Na+136|0;l=f[k>>2]|0;m=Na+12|0;if((f[(f[m>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;Z=f[Na+88>>2]|0;b[Z+(l*20|0)>>0]=113;d[Z+(l*20|0)+2>>1]=0;f[Z+(l*20|0)+4>>2]=g;f[Z+(l*20|0)+8>>2]=i;f[Z+(l*20|0)+12>>2]=0;f[Z+(l*20|0)+16>>2]=0;b[Z+(l*20|0)+1>>0]=0;Z=m;break}else{tl(Na,113,g,i,0)|0;Z=m;break}}else Z=Na+12|0;while(0);g=f[Z>>2]|0;o=g+60|0;_=f[o>>2]|0;f[o>>2]=_+1;o=g+64|0;if(!(_+-1&_)){m=_<<3|4;n=f[g>>2]|0;g=f[o>>2]|0;y:do if(g){k=g;l=n+304|0;do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)))break y}while(0);i=Lc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Kc(n,g);g=0;break}do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;ua=n+300|0;f[g>>2]=f[ua>>2];f[ua>>2]=g;g=0;break y}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{ua=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ua;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];ua=n+284|0;f[ua>>2]=(f[ua>>2]|0)+1;break y}i=n+296|0;g=f[i>>2]|0;if(!g){g=n+292|0;break}else{f[i>>2]=f[g>>2];ua=n+284|0;f[ua>>2]=(f[ua>>2]|0)+1;break y}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(n,m,0)|0}while(0);f[o>>2]=g}else g=f[o>>2]|0;if(g|0)f[g+(_<<2)>>2]=-1;if(!(f[Ga>>2]&16384))d[c+6>>1]=320;ro(a,c,~_);do if(!(f[c+12>>2]|0)){g=f[Ma+20>>2]|0;if((g|0)<=-1)break;if(!(b[(f[Na>>2]|0)+81>>0]|0))g=(f[Na+88>>2]|0)+(g*20|0)|0;else g=72144;b[g>>0]=114;ua=Ma+32|0;b[ua>>0]=b[ua>>0]|1}while(0);do if(!(f[Ga>>2]&1))g=0;else{p=a+40|0;r=f[p>>2]|0;f[p>>2]=r+1;f[Ia+4>>2]=r;p=f[c>>2]|0;n=f[a>>2]|0;q=f[p>>2]|0;l=q+1|0;m=l*5|0;k=m+20|0;o=n+272|0;z:do if(f[o>>2]|0)if(!(b[n+81>>0]|0))La=918;else{n=0;m=1}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){g=n+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];La=n+284|0;f[La>>2]=(f[La>>2]|0)+1;La=919;break z}g=n+296|0;i=f[g>>2]|0;if(!i){g=n+292|0;break}else{f[g>>2]=f[i>>2];La=n+284|0;f[La>>2]=(f[La>>2]|0)+1;La=919;break z}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;La=918}while(0);if((La|0)==918){i=Dc(n,k,0)|0;La=919}do if((La|0)==919){do if(!i){g=n+81|0;if(b[g>>0]|0){n=0;m=1;break}if(b[n+82>>0]|0){n=0;m=1;break}b[g>>0]=1;if((f[n+180>>2]|0)>0)f[n+264>>2]=1;f[o>>2]=(f[o>>2]|0)+1;n=0;m=1}else{f[i+16>>2]=i+20+(l<<2);d[i+6>>1]=q;d[i+8>>1]=l;b[i+4>>0]=b[n+78>>0]|0;f[i+12>>2]=n;f[i>>2]=1;_A(i+24|0,0,m+-4|0)|0;n=i;m=0}while(0);if(!((q|0)>0&(i|0)!=0))break;o=i+16|0;k=p+4|0;l=0;while(1){g=Zk(a,f[k>>2]|0)|0;if(!g)g=f[(f[a>>2]|0)+8>>2]|0;f[i+20+(l<<2)>>2]=g;b[(f[o>>2]|0)+l>>0]=b[k+12>>0]|0;l=l+1|0;if((l|0)==(q|0))break;else k=k+20|0}}while(0);o=Na+136|0;g=f[o>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(g|0)){f[o>>2]=g+1;ua=f[Na+88>>2]|0;b[ua+(g*20|0)>>0]=113;d[ua+(g*20|0)+2>>1]=0;f[ua+(g*20|0)+4>>2]=r;f[ua+(g*20|0)+8>>2]=0;f[ua+(g*20|0)+12>>2]=0;f[ua+(g*20|0)+16>>2]=0;b[ua+(g*20|0)+1>>0]=0}else g=tl(Na,113,r,0,0)|0;i=f[Na>>2]|0;A:do if(b[i+81>>0]|0){if(m|(f[i+480>>2]|0)!=0)break;ua=(f[n>>2]|0)+-1|0;f[n>>2]=ua;if(ua|0)break;i=f[n+12>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,n);break A}k=n;if((f[i+304>>2]|0)>>>0>k>>>0)break;if((f[i+308>>2]|0)>>>0<=k>>>0)break;ua=i+300|0;f[n>>2]=f[ua>>2];f[ua>>2]=n;break A}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{ua=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-ua;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}else{if((g|0)<0)i=(f[o>>2]|0)+-1|0;else i=g;k=f[Na+88>>2]|0;l=k+(i*20|0)+1|0;if(b[l>>0]|0){ul(Na,k+(i*20|0)|0,n,-9);break}if(m)break;f[k+(i*20|0)+16>>2]=n;b[l>>0]=-9}while(0);f[Ia+8>>2]=g;g=f[o>>2]|0;if((g|0)<=0){g=3;break}d[(f[Na+88>>2]|0)+((g+-1|0)*20|0)+2>>1]=8;g=3}while(0);b[Ia+1>>0]=g;k=(V|0)==0;B:do if((na|0)==0&k){B=(((b[Ia>>0]|0)==0?0:256)|f[Ga>>2]&16384)&65535;o=f[xa>>2]|0;C=(o|0)!=0;if(C){g=f[Ra>>2]|0;if(!g){do if(!(f[Ba>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);g=sl(a)|0}i=f[o+4>>2]|0;if(!i)k=0;else k=f[i>>2]|0;i=f[o+8>>2]|0;if(!i)i=0;else i=f[i>>2]|0;i=i+k|0;A=a+44|0;do if(i){k=f[A>>2]|0;m=k+1|0;f[o+56>>2]=m;i=k+i|0;f[A>>2]=i;k=g+136|0;l=f[k>>2]|0;n=g+12|0;if((f[(f[n>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;Ga=f[g+88>>2]|0;b[Ga+(l*20|0)>>0]=73;d[Ga+(l*20|0)+2>>1]=0;f[Ga+(l*20|0)+4>>2]=0;f[Ga+(l*20|0)+8>>2]=m;f[Ga+(l*20|0)+12>>2]=i;f[Ga+(l*20|0)+16>>2]=0;b[Ga+(l*20|0)+1>>0]=0;break}else{tl(g,73,0,m,i)|0;break}}else{k=g+136|0;n=g+12|0}while(0);x=a+40|0;y=o+36|0;z=g+88|0;w=o;do{v=w+32|0;i=f[v>>2]|0;do if(f[i+4>>2]&4096){if((b[w+13>>0]|0)==87){La=1017;break}o=f[(f[w+60>>2]|0)+20>>2]|0;s=f[a>>2]|0;u=f[o>>2]|0;q=u+1|0;r=q*5|0;l=r+20|0;p=s+272|0;C:do if(f[p>>2]|0)if(!(b[s+81>>0]|0))La=983;else{q=0;m=0;o=1}else{do if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0))){i=s+300|0;m=f[i>>2]|0;if(m|0){f[i>>2]=f[m>>2];La=s+284|0;f[La>>2]=(f[La>>2]|0)+1;La=984;break C}i=s+296|0;m=f[i>>2]|0;if(!m){i=s+292|0;break}else{f[i>>2]=f[m>>2];La=s+284|0;f[La>>2]=(f[La>>2]|0)+1;La=984;break C}}else i=s+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;La=983}while(0);if((La|0)==983){m=Dc(s,l,0)|0;La=984}do if((La|0)==984){La=0;if(!m){i=s+81|0;if(b[i>>0]|0){q=0;o=1;break}if(b[s+82>>0]|0){q=0;o=1;break}b[i>>0]=1;if((f[s+180>>2]|0)>0)f[s+264>>2]=1;f[p>>2]=(f[p>>2]|0)+1;q=0;o=1;break}else{p=m+16|0;f[p>>2]=m+20+(q<<2);d[m+6>>1]=u;d[m+8>>1]=q;b[m+4>>0]=b[s+78>>0]|0;f[m+12>>2]=s;f[m>>2]=1;_A(m+24|0,0,r+-4|0)|0;if((u|0)<=0){q=m;o=0;break}l=o+4|0;o=0;while(1){i=Zk(a,f[l>>2]|0)|0;if(!i)i=f[(f[a>>2]|0)+8>>2]|0;f[m+20+(o<<2)>>2]=i;b[(f[p>>2]|0)+o>>0]=b[l+12>>0]|0;o=o+1|0;if((o|0)==(u|0)){q=m;o=0;break}else l=l+20|0}}}while(0);l=f[x>>2]|0;f[x>>2]=l+1;i=w+48|0;f[i>>2]=l;Ga=f[A>>2]|0;p=w+52|0;f[p>>2]=Ga+1;f[A>>2]=Ga+3;do if(m){if((b[(f[(f[v>>2]|0)+32>>2]|0)+1>>0]|0)!=105)break;b[f[m+16>>2]>>0]=1;l=f[i>>2]|0}while(0);i=f[k>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(i|0)){f[k>>2]=i+1;Ga=f[z>>2]|0;b[Ga+(i*20|0)>>0]=113;d[Ga+(i*20|0)+2>>1]=0;f[Ga+(i*20|0)+4>>2]=l;f[Ga+(i*20|0)+8>>2]=2;f[Ga+(i*20|0)+12>>2]=0;f[Ga+(i*20|0)+16>>2]=0;b[Ga+(i*20|0)+1>>0]=0}else tl(g,113,l,2,0)|0;i=f[g>>2]|0;D:do if(b[i+81>>0]|0){if(o|(f[i+480>>2]|0)!=0)break;Ga=(f[q>>2]|0)+-1|0;f[q>>2]=Ga;if(Ga|0)break;i=f[q+12>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,q);break D}l=q;if((f[i+304>>2]|0)>>>0>l>>>0)break;if((f[i+308>>2]|0)>>>0<=l>>>0)break;Ga=i+300|0;f[q>>2]=f[Ga>>2];f[Ga>>2]=q;break D}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{Ga=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-Ga;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}else{Fa=f[z>>2]|0;Ga=(f[k>>2]|0)+-1|0;b[Fa+(Ga*20|0)+1>>0]=-9;f[Fa+(Ga*20|0)+16>>2]=q}while(0);i=(f[p>>2]|0)+1|0;l=f[k>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;Ga=f[z>>2]|0;b[Ga+(l*20|0)>>0]=70;d[Ga+(l*20|0)+2>>1]=0;f[Ga+(l*20|0)+4>>2]=0;f[Ga+(l*20|0)+8>>2]=i;f[Ga+(l*20|0)+12>>2]=0;f[Ga+(l*20|0)+16>>2]=0;b[Ga+(l*20|0)+1>>0]=0;break}else{tl(g,70,0,i,0)|0;break}}else La=1017;while(0);do if((La|0)==1017){La=0;i=f[i+32>>2]|0;if((i|0)==42328|(i|0)==42338){l=f[A>>2]|0;f[w+52>>2]=l+1;i=f[x>>2]|0;f[x>>2]=i+1;f[w+48>>2]=i;f[A>>2]=l+2;l=f[y>>2]|0;m=f[k>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(m|0)){f[k>>2]=m+1;Ga=f[z>>2]|0;b[Ga+(m*20|0)>>0]=111;d[Ga+(m*20|0)+2>>1]=0;f[Ga+(m*20|0)+4>>2]=i;f[Ga+(m*20|0)+8>>2]=l;f[Ga+(m*20|0)+12>>2]=0;f[Ga+(m*20|0)+16>>2]=0;b[Ga+(m*20|0)+1>>0]=0;break}else{tl(g,111,i,l,0)|0;break}}if(!((i|0)==42350|(i|0)==42355))break;i=f[x>>2]|0;f[x>>2]=i+1;f[w+48>>2]=i;l=f[y>>2]|0;m=f[k>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(m|0)){f[k>>2]=m+1;Ga=f[z>>2]|0;b[Ga+(m*20|0)>>0]=111;d[Ga+(m*20|0)+2>>1]=0;f[Ga+(m*20|0)+4>>2]=i;f[Ga+(m*20|0)+8>>2]=l;f[Ga+(m*20|0)+12>>2]=0;f[Ga+(m*20|0)+16>>2]=0;b[Ga+(m*20|0)+1>>0]=0;break}else{tl(g,111,i,l,0)|0;break}}while(0);w=f[w+24>>2]|0}while((w|0)!=0)}i=c+6|0;D=sn(a,wa,G,f[Ma>>2]|0,f[c>>2]|0,B,d[i>>1]|0)|0;if(!D){l=1;break a}g=d[D+72>>1]|0;if(g<<16>>16<(d[i>>1]|0))d[i>>1]=g;do if(b[Ia>>0]|0){g=b[D+51>>0]|0;if(!(g<<24>>24))break;b[Ia+1>>0]=g}while(0);i=f[Ma>>2]|0;do if(!i)La=1038;else{k=b[D+47>>0]|0;f[Ma+4>>2]=k;if(!(b[D+52>>0]|0))g=D+32|0;else g=D+752+(((h[D+46>>0]|0)+-1|0)*80|0)+16|0;f[Ma+28>>2]=f[g>>2];if((f[i>>2]|0)!=(k|0))break;f[Ma>>2]=0;La=1038}while(0);do if((La|0)==1038){g=f[Ma+20>>2]|0;if((g|0)<=-1)break;i=f[Na>>2]|0;if(b[i+81>>0]|0)break;Ga=f[Na+88>>2]|0;Ea=Ga+(g*20|0)+1|0;Fa=Ga+(g*20|0)+16|0;qg(i,b[Ea>>0]|0,f[Fa>>2]|0);b[Ea>>0]=0;f[Fa>>2]=0;b[Ga+(g*20|0)>>0]=-85}while(0);if(!C){oo(a,c,-1,Ma,Ia,e,f[D+32>>2]|0,f[D+36>>2]|0);tn(D);g=0;La=2007;break}g=f[Z>>2]|0;o=g+60|0;U=f[o>>2]|0;f[o>>2]=U+1;o=g+64|0;if(!(U+-1&U)){m=U<<3|4;n=f[g>>2]|0;g=f[o>>2]|0;E:do if(g){k=g;l=n+304|0;do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)))break E}while(0);i=Lc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Kc(n,g);g=0;break}do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;Ga=n+300|0;f[g>>2]=f[Ga>>2];f[Ga>>2]=g;g=0;break E}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{Ga=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Ga;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];Ga=n+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break E}i=n+296|0;g=f[i>>2]|0;if(!g){g=n+292|0;break}else{f[i>>2]=f[g>>2];Ga=n+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break E}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(n,m,0)|0}while(0);f[o>>2]=g}else g=f[o>>2]|0;if(g|0)f[g+(U<<2)>>2]=-1;R=~U;g=f[Z>>2]|0;o=g+60|0;T=f[o>>2]|0;f[o>>2]=T+1;o=g+64|0;if(!(T+-1&T)){m=T<<3|4;n=f[g>>2]|0;g=f[o>>2]|0;F:do if(g){k=g;l=n+304|0;do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)))break F}while(0);i=Lc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Kc(n,g);g=0;break}do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;Ga=n+300|0;f[g>>2]=f[Ga>>2];f[Ga>>2]=g;g=0;break F}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{Ga=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Ga;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];Ga=n+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break F}i=n+296|0;g=f[i>>2]|0;if(!g){g=n+292|0;break}else{f[i>>2]=f[g>>2];Ga=n+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break F}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(n,m,0)|0}while(0);f[o>>2]=g}else g=f[o>>2]|0;if(g|0)f[g+(T<<2)>>2]=-1;Q=~T;g=f[Z>>2]|0;o=g+60|0;S=f[o>>2]|0;f[o>>2]=S+1;o=g+64|0;if(!(S+-1&S)){m=S<<3|4;n=f[g>>2]|0;g=f[o>>2]|0;G:do if(g){k=g;l=n+304|0;do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)))break G}while(0);i=Lc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Kc(n,g);g=0;break}do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;Ga=n+300|0;f[g>>2]=f[Ga>>2];f[Ga>>2]=g;g=0;break G}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{Ga=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Ga;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];Ga=n+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break G}i=n+296|0;g=f[i>>2]|0;if(!g){g=n+292|0;break}else{f[i>>2]=f[g>>2];Ga=n+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break G}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(n,m,0)|0}while(0);f[o>>2]=g}else g=f[o>>2]|0;if(g|0)f[g+(S<<2)>>2]=-1;O=~S;s=a+44|0;P=(f[s>>2]|0)+1|0;f[s>>2]=P;N=f[xa>>2]|0;L=N+12|0;M=N+13|0;g=b[M>>0]|0;H:do if((b[L>>0]|0)!=76){if(g<<24>>24!=82){La=1136;break}if((b[N+14>>0]|0)==87)La=1140;else La=1136}else{do if(g<<24>>24==87){if((b[N+14>>0]|0)!=82)break;if(f[N+8>>2]|0){La=1136;break H}}while(0);xo(a,c,D,P,R)}while(0);I:do if((La|0)==1136){g=N;do{i=f[g+32>>2]|0;if(f[i+4>>2]&131072|0){La=1140;break I}Ga=f[i+32>>2]|0;if((Ga|0)==42355|((Ga|0)==42350|((Ga|0)==42328|(Ga|0)==42338))){La=1140;break I}g=f[g+24>>2]|0}while((g|0)!=0);g=f[Ra>>2]|0;if(!g){do if(!(f[Ba>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);C=sl(a)|0;g=f[s>>2]|0}else{C=g;g=P}Ha=f[za>>2]|0;o=f[Ha+48>>2]|0;Ha=d[(f[Ha+24>>2]|0)+42>>1]|0;p=Ha<<16>>16;z=g+1|0;A=z+p|0;B=A+1|0;r=f[N+4>>2]|0;w=(b[N+14>>0]|0)==87?0:f[N+8>>2]|0;f[s>>2]=p+2+g;if(Ha<<16>>16>0){i=C+136|0;k=C+12|0;l=C+88|0;g=0;do{m=g+z|0;n=f[i>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(n|0)){f[i>>2]=n+1;Ha=f[l>>2]|0;b[Ha+(n*20|0)>>0]=90;d[Ha+(n*20|0)+2>>1]=0;f[Ha+(n*20|0)+4>>2]=o;f[Ha+(n*20|0)+8>>2]=g;f[Ha+(n*20|0)+12>>2]=m;f[Ha+(n*20|0)+16>>2]=0;b[Ha+(n*20|0)+1>>0]=0}else tl(C,90,o,g,m)|0;g=g+1|0}while((g|0)!=(p|0))}g=(r|0)!=0;u=(w|0)!=0;do if(g|u){if(g)x=f[r>>2]|0;else x=0;if(u)y=f[w>>2]|0;else y=0;do if(g){v=N+64|0;s=(f[v>>2]|0)+z|0;p=f[a>>2]|0;q=f[r>>2]|0;n=q+1|0;o=n*5|0;k=o+20|0;l=p+272|0;J:do if(f[l>>2]|0)if(!(b[p+81>>0]|0))La=1341;else{m=0;l=1}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){g=p+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];m=p+284|0;f[m>>2]=(f[m>>2]|0)+1;m=i;La=1342;break J}g=p+296|0;i=f[g>>2]|0;if(!i){g=p+292|0;break}else{f[g>>2]=f[i>>2];m=p+284|0;f[m>>2]=(f[m>>2]|0)+1;m=i;La=1342;break J}}else g=p+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;La=1341}while(0);if((La|0)==1341){m=Dc(p,k,0)|0;La=1342}do if((La|0)==1342)if(!m){g=p+81|0;if(b[g>>0]|0){m=0;l=1;break}if(b[p+82>>0]|0){m=0;l=1;break}b[g>>0]=1;if((f[p+180>>2]|0)>0)f[p+264>>2]=1;f[l>>2]=(f[l>>2]|0)+1;m=0;l=1;break}else{l=m+16|0;f[l>>2]=m+20+(n<<2);d[m+6>>1]=q;d[m+8>>1]=n;b[m+4>>0]=b[p+78>>0]|0;f[m+12>>2]=p;f[m>>2]=1;_A(m+24|0,0,o+-4|0)|0;if((q|0)<=0){l=0;break}i=r+4|0;k=0;while(1){g=Zk(a,f[i>>2]|0)|0;if(!g)g=f[(f[a>>2]|0)+8>>2]|0;f[m+20+(k<<2)>>2]=g;b[(f[l>>2]|0)+k>>0]=b[i+12>>0]|0;k=k+1|0;if((k|0)==(q|0)){l=0;break}else i=i+20|0}}while(0);o=N+56|0;g=f[o>>2]|0;p=C+136|0;i=f[p>>2]|0;n=C+12|0;if((f[(f[n>>2]|0)+48>>2]|0)>(i|0)){f[p>>2]=i+1;k=f[C+88>>2]|0;b[k+(i*20|0)>>0]=87;d[k+(i*20|0)+2>>1]=0;f[k+(i*20|0)+4>>2]=s;f[k+(i*20|0)+8>>2]=g;f[k+(i*20|0)+12>>2]=x;f[k+(i*20|0)+16>>2]=0;b[k+(i*20|0)+1>>0]=0;k=i}else k=tl(C,87,s,g,x)|0;g=f[C>>2]|0;K:do if(b[g+81>>0]|0){if(l|(f[g+480>>2]|0)!=0)break;Ha=(f[m>>2]|0)+-1|0;f[m>>2]=Ha;if(Ha|0)break;g=f[m+12>>2]|0;do if(g|0){if(f[g+480>>2]|0){Kc(g,m);break K}i=m;if((f[g+304>>2]|0)>>>0>i>>>0)break;if((f[g+308>>2]|0)>>>0<=i>>>0)break;Ha=g+300|0;f[m>>2]=f[Ha>>2];f[Ha>>2]=m;break K}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{Ha=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Ha;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}else{Ga=f[C+88>>2]|0;Ha=(f[p>>2]|0)+-1|0;b[Ga+(Ha*20|0)+1>>0]=-9;f[Ga+(Ha*20|0)+16>>2]=m}while(0);g=k+2|0;k=f[p>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(k|0)){f[p>>2]=k+1;Ha=f[C+88>>2]|0;b[Ha+(k*20|0)>>0]=16;d[Ha+(k*20|0)+2>>1]=0;f[Ha+(k*20|0)+4>>2]=g;f[Ha+(k*20|0)+8>>2]=0;f[Ha+(k*20|0)+12>>2]=g;f[Ha+(k*20|0)+16>>2]=0;b[Ha+(k*20|0)+1>>0]=0}else k=tl(C,16,g,0,g)|0;Co(a,N,1);if(!u)break;g=f[p>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(g|0)){f[p>>2]=g+1;W=f[C+88>>2]|0;b[W+(g*20|0)>>0]=11;W=W+(g*20|0)+1|0;X=W+19|0;do{b[W>>0]=0;W=W+1|0}while((W|0)<(X|0));l=g}else l=tl(C,11,0,0,0)|0;m=x+z+(f[v>>2]|0)|0;n=(f[o>>2]|0)+x|0;if(!k){La=1382;break}i=f[p>>2]|0;if(!(b[(f[C>>2]|0)+81>>0]|0))g=(f[C+88>>2]|0)+(((k|0)<0?i+-1|0:k)*20|0)|0;else g=72144;f[g+8>>2]=i;La=1382}else{if(!u){k=0;break}l=0;m=x+z+(f[N+64>>2]|0)|0;n=(f[N+56>>2]|0)+x|0;La=1382}while(0);do if((La|0)==1382){do if((b[L>>0]|0)==86){s=f[a>>2]|0;u=f[w>>2]|0;q=u+1|0;r=q*5|0;k=r+20|0;p=s+272|0;L:do if(f[p>>2]|0)if(!(b[s+81>>0]|0))La=1393;else{o=0;i=1}else{do if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0))){g=s+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];o=s+284|0;f[o>>2]=(f[o>>2]|0)+1;o=i;La=1394;break L}g=s+296|0;i=f[g>>2]|0;if(!i){g=s+292|0;break}else{f[g>>2]=f[i>>2];o=s+284|0;f[o>>2]=(f[o>>2]|0)+1;o=i;La=1394;break L}}else g=s+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;La=1393}while(0);if((La|0)==1393){o=Dc(s,k,0)|0;La=1394}do if((La|0)==1394)if(!o){g=s+81|0;if(b[g>>0]|0){o=0;i=1;break}if(b[s+82>>0]|0){o=0;i=1;break}b[g>>0]=1;if((f[s+180>>2]|0)>0)f[s+264>>2]=1;f[p>>2]=(f[p>>2]|0)+1;o=0;i=1;break}else{p=o+16|0;f[p>>2]=o+20+(q<<2);d[o+6>>1]=u;d[o+8>>1]=q;b[o+4>>0]=b[s+78>>0]|0;f[o+12>>2]=s;f[o>>2]=1;_A(o+24|0,0,r+-4|0)|0;if((u|0)<=0){i=0;break}i=w+4|0;k=0;while(1){g=Zk(a,f[i>>2]|0)|0;if(!g)g=f[(f[a>>2]|0)+8>>2]|0;f[o+20+(k<<2)>>2]=g;b[(f[p>>2]|0)+k>>0]=b[i+12>>0]|0;k=k+1|0;if((k|0)==(u|0)){i=0;break}else i=i+20|0}}while(0);p=C+136|0;g=f[p>>2]|0;q=C+12|0;if((f[(f[q>>2]|0)+48>>2]|0)>(g|0)){f[p>>2]=g+1;k=f[C+88>>2]|0;b[k+(g*20|0)>>0]=87;d[k+(g*20|0)+2>>1]=0;f[k+(g*20|0)+4>>2]=m;f[k+(g*20|0)+8>>2]=n;f[k+(g*20|0)+12>>2]=y;f[k+(g*20|0)+16>>2]=0;b[k+(g*20|0)+1>>0]=0;k=g}else k=tl(C,87,m,n,y)|0;g=f[C>>2]|0;M:do if(b[g+81>>0]|0){if(i|(f[g+480>>2]|0)!=0)break;Ha=(f[o>>2]|0)+-1|0;f[o>>2]=Ha;if(Ha|0)break;g=f[o+12>>2]|0;do if(g|0){if(f[g+480>>2]|0){Kc(g,o);break M}i=o;if((f[g+304>>2]|0)>>>0>i>>>0)break;if((f[g+308>>2]|0)>>>0<=i>>>0)break;Ha=g+300|0;f[o>>2]=f[Ha>>2];f[Ha>>2]=o;break M}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{Ha=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-Ha;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else{Ga=f[C+88>>2]|0;Ha=(f[p>>2]|0)+-1|0;b[Ga+(Ha*20|0)+1>>0]=-9;f[Ga+(Ha*20|0)+16>>2]=o}while(0);g=k+2|0;k=f[p>>2]|0;if((f[(f[q>>2]|0)+48>>2]|0)>(k|0)){f[p>>2]=k+1;Ha=f[C+88>>2]|0;b[Ha+(k*20|0)>>0]=16;d[Ha+(k*20|0)+2>>1]=0;f[Ha+(k*20|0)+4>>2]=g;f[Ha+(k*20|0)+8>>2]=0;f[Ha+(k*20|0)+12>>2]=g;f[Ha+(k*20|0)+16>>2]=0;b[Ha+(k*20|0)+1>>0]=0;break}else{k=tl(C,16,g,0,g)|0;break}}else k=0;while(0);Co(a,N,(b[M>>0]|0)==82&1);if(!l)break;i=f[C+136>>2]|0;if(!(b[(f[C>>2]|0)+81>>0]|0))g=(f[C+88>>2]|0)+(((l|0)<0?i+-1|0:l)*20|0)|0;else g=72144;f[g+8>>2]=i}while(0);m=N+36|0;i=f[m>>2]|0;o=C+136|0;g=f[o>>2]|0;l=g+3|0;p=C+12|0;if((f[(f[p>>2]|0)+48>>2]|0)>(g|0)){f[o>>2]=g+1;Ha=f[C+88>>2]|0;b[Ha+(g*20|0)>>0]=36;d[Ha+(g*20|0)+2>>1]=0;f[Ha+(g*20|0)+4>>2]=i;f[Ha+(g*20|0)+8>>2]=l;f[Ha+(g*20|0)+12>>2]=0;f[Ha+(g*20|0)+16>>2]=0;b[Ha+(g*20|0)+1>>0]=0}else tl(C,36,i,l,0)|0;g=f[o>>2]|0;if((f[(f[p>>2]|0)+48>>2]|0)>(g|0)){f[o>>2]=g+1;Ha=f[C+88>>2]|0;b[Ha+(g*20|0)>>0]=12;d[Ha+(g*20|0)+2>>1]=0;f[Ha+(g*20|0)+4>>2]=P;f[Ha+(g*20|0)+8>>2]=R;f[Ha+(g*20|0)+12>>2]=0;f[Ha+(g*20|0)+16>>2]=0;b[Ha+(g*20|0)+1>>0]=0}else tl(C,12,P,R,0)|0;i=f[m>>2]|0;g=f[o>>2]|0;l=g+-1|0;if((f[(f[p>>2]|0)+48>>2]|0)>(g|0)){f[o>>2]=g+1;Ha=f[C+88>>2]|0;b[Ha+(g*20|0)>>0]=5;d[Ha+(g*20|0)+2>>1]=0;f[Ha+(g*20|0)+4>>2]=i;f[Ha+(g*20|0)+8>>2]=l;f[Ha+(g*20|0)+12>>2]=0;f[Ha+(g*20|0)+16>>2]=0;b[Ha+(g*20|0)+1>>0]=0}else tl(C,5,i,l,0)|0;g=f[m>>2]|0;i=f[o>>2]|0;if((f[(f[p>>2]|0)+48>>2]|0)>(i|0)){f[o>>2]=i+1;Ha=f[C+88>>2]|0;b[Ha+(i*20|0)>>0]=-117;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=g;f[Ha+(i*20|0)+8>>2]=0;f[Ha+(i*20|0)+12>>2]=0;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else tl(C,139,g,0,0)|0;n=N+64|0;l=(f[n>>2]|0)+z|0;m=f[N+56>>2]|0;g=x+-1+y|0;i=f[o>>2]|0;if((f[(f[p>>2]|0)+48>>2]|0)>(i|0)){f[o>>2]=i+1;Ha=f[C+88>>2]|0;b[Ha+(i*20|0)>>0]=78;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=l;f[Ha+(i*20|0)+8>>2]=m;f[Ha+(i*20|0)+12>>2]=g;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else tl(C,78,l,m,g)|0;if(!k){g=n;n=o;m=p;break}i=f[o>>2]|0;if(!(b[(f[C>>2]|0)+81>>0]|0))g=(f[C+88>>2]|0)+(((k|0)<0?i+-1|0:k)*20|0)|0;else g=72144;f[g+8>>2]=i;g=n;n=o;m=p}else{g=N+64|0;n=C+136|0;m=C+12|0}while(0);Ao(a,N,-1,0,z,0);g=f[g>>2]|0;i=f[n>>2]|0;k=(f[(f[m>>2]|0)+48>>2]|0)>(i|0);do if((g|0)>0)if(k){f[n>>2]=i+1;Ha=f[C+88>>2]|0;b[Ha+(i*20|0)>>0]=102;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=z;f[Ha+(i*20|0)+8>>2]=g;f[Ha+(i*20|0)+12>>2]=A;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0;break}else{tl(C,102,z,g,A)|0;break}else{if(k){f[n>>2]=i+1;Ha=f[C+88>>2]|0;b[Ha+(i*20|0)>>0]=75;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=0;f[Ha+(i*20|0)+8>>2]=A;f[Ha+(i*20|0)+12>>2]=0;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else tl(C,75,0,A,0)|0;if(b[(f[C>>2]|0)+81>>0]|0)break;Ga=f[C+88>>2]|0;Ha=(f[n>>2]|0)+-1|0;b[Ga+(Ha*20|0)+1>>0]=0;f[Ga+(Ha*20|0)+16>>2]=72788}while(0);l=N+36|0;g=f[l>>2]|0;i=f[n>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(i|0)){f[n>>2]=i+1;Ha=f[C+88>>2]|0;b[Ha+(i*20|0)>>0]=121;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=g;f[Ha+(i*20|0)+8>>2]=B;f[Ha+(i*20|0)+12>>2]=0;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else tl(C,121,g,B,0)|0;g=f[l>>2]|0;i=f[n>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(i|0)){f[n>>2]=i+1;Ha=f[C+88>>2]|0;b[Ha+(i*20|0)>>0]=122;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=g;f[Ha+(i*20|0)+8>>2]=A;f[Ha+(i*20|0)+12>>2]=B;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else tl(C,122,g,A,B)|0;tn(D);Co(a,N,1);i=f[l>>2]|0;g=f[n>>2]|0;k=g+3|0;if((f[(f[m>>2]|0)+48>>2]|0)>(g|0)){f[n>>2]=g+1;Ha=f[C+88>>2]|0;b[Ha+(g*20|0)>>0]=36;d[Ha+(g*20|0)+2>>1]=0;f[Ha+(g*20|0)+4>>2]=i;f[Ha+(g*20|0)+8>>2]=k;f[Ha+(g*20|0)+12>>2]=0;f[Ha+(g*20|0)+16>>2]=0;b[Ha+(g*20|0)+1>>0]=0}else tl(C,36,i,k,0)|0;g=f[n>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(g|0)){f[n>>2]=g+1;Ha=f[C+88>>2]|0;b[Ha+(g*20|0)>>0]=12;d[Ha+(g*20|0)+2>>1]=0;f[Ha+(g*20|0)+4>>2]=P;f[Ha+(g*20|0)+8>>2]=R;f[Ha+(g*20|0)+12>>2]=0;f[Ha+(g*20|0)+16>>2]=0;b[Ha+(g*20|0)+1>>0]=0}else tl(C,12,P,R,0)|0;i=f[l>>2]|0;g=f[n>>2]|0;k=g+-1|0;if((f[(f[m>>2]|0)+48>>2]|0)>(g|0)){f[n>>2]=g+1;Ha=f[C+88>>2]|0;b[Ha+(g*20|0)>>0]=5;d[Ha+(g*20|0)+2>>1]=0;f[Ha+(g*20|0)+4>>2]=i;f[Ha+(g*20|0)+8>>2]=k;f[Ha+(g*20|0)+12>>2]=0;f[Ha+(g*20|0)+16>>2]=0;b[Ha+(g*20|0)+1>>0]=0;break}else{tl(C,5,i,k,0)|0;break}}while(0);if((La|0)==1140){g=f[Ra>>2]|0;if(!g){do if(!(f[Ba>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);K=sl(a)|0}else K=g;y=f[N+4>>2]|0;E=f[N+8>>2]|0;u=(E|0)!=0;do if(u){g=f[E>>2]|0;if((b[M>>0]|0)!=82){H=0;break}H=(b[N+14>>0]|0)==87}else{g=0;H=0}while(0);J=K+12|0;i=f[J>>2]|0;p=i+60|0;I=f[p>>2]|0;f[p>>2]=I+1;p=i+64|0;if(!(I+-1&I)){n=I<<3|4;o=f[i>>2]|0;i=f[p>>2]|0;N:do if(i){l=i;m=o+304|0;do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)))break N}while(0);k=Lc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Kc(o,i);i=0;break}do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;Ga=o+300|0;f[i>>2]=f[Ga>>2];f[Ga>>2]=i;i=0;break N}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{Ga=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Ga;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];Ga=o+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break N}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];Ga=o+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break N}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(I<<2)>>2]=-1;r=~I;F=(f[s>>2]|0)+1|0;G=F+g|0;f[s>>2]=G;i=f[J>>2]|0;p=i+60|0;q=f[p>>2]|0;f[p>>2]=q+1;p=i+64|0;if(!(q+-1&q)){n=q<<3|4;o=f[i>>2]|0;i=f[p>>2]|0;O:do if(i){l=i;m=o+304|0;do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)))break O}while(0);k=Lc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Kc(o,i);i=0;break}do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;Ga=o+300|0;f[i>>2]=f[Ga>>2];f[Ga>>2]=i;i=0;break O}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{Ga=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Ga;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];Ga=o+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break O}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];Ga=o+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break O}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(q<<2)>>2]=-1;B=a+40|0;A=f[B>>2]|0;f[B>>2]=A+1;B=(f[s>>2]|0)+1|0;f[s>>2]=B;yo(a,c,D,G,~q,Ha);D=K+136|0;i=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;W=f[K+88>>2]|0;b[W+(i*20|0)>>0]=11;W=W+(i*20|0)+1|0;X=W+19|0;do{b[W>>0]=0;W=W+1|0}while((W|0)<(X|0));C=i}else C=tl(K,11,0,0,0)|0;l=f[J>>2]|0;i=f[l+64>>2]|0;if(i|0)f[i+(q<<2)>>2]=f[D>>2];i=f[D>>2]|0;k=i+2|0;if((f[l+48>>2]|0)>(i|0)){f[D>>2]=i+1;Ga=f[K+88>>2]|0;b[Ga+(i*20|0)>>0]=17;d[Ga+(i*20|0)+2>>1]=0;f[Ga+(i*20|0)+4>>2]=0;f[Ga+(i*20|0)+8>>2]=k;f[Ga+(i*20|0)+12>>2]=0;f[Ga+(i*20|0)+16>>2]=0;b[Ga+(i*20|0)+1>>0]=0}else tl(K,17,0,k,0)|0;z=N+36|0;i=f[z>>2]|0;k=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;Ga=f[K+88>>2]|0;b[Ga+(k*20|0)>>0]=111;d[Ga+(k*20|0)+2>>1]=0;f[Ga+(k*20|0)+4>>2]=A;f[Ga+(k*20|0)+8>>2]=i;f[Ga+(k*20|0)+12>>2]=0;f[Ga+(k*20|0)+16>>2]=0;b[Ga+(k*20|0)+1>>0]=0}else tl(K,111,A,i,0)|0;x=zo(a,N)|0;i=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;Ga=f[K+88>>2]|0;b[Ga+(i*20|0)>>0]=70;d[Ga+(i*20|0)+2>>1]=0;f[Ga+(i*20|0)+4>>2]=0;f[Ga+(i*20|0)+8>>2]=B;f[Ga+(i*20|0)+12>>2]=0;f[Ga+(i*20|0)+16>>2]=0;b[Ga+(i*20|0)+1>>0]=0}else tl(K,70,0,B,0)|0;i=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;Ga=f[K+88>>2]|0;b[Ga+(i*20|0)>>0]=36;d[Ga+(i*20|0)+2>>1]=0;f[Ga+(i*20|0)+4>>2]=A;f[Ga+(i*20|0)+8>>2]=r;f[Ga+(i*20|0)+12>>2]=0;f[Ga+(i*20|0)+16>>2]=0;b[Ga+(i*20|0)+1>>0]=0}else tl(K,36,A,r,0)|0;i=f[z>>2]|0;k=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;Ga=f[K+88>>2]|0;b[Ga+(k*20|0)>>0]=36;d[Ga+(k*20|0)+2>>1]=0;f[Ga+(k*20|0)+4>>2]=i;f[Ga+(k*20|0)+8>>2]=r;f[Ga+(k*20|0)+12>>2]=0;f[Ga+(k*20|0)+16>>2]=0;b[Ga+(k*20|0)+1>>0]=0}else tl(K,36,i,r,0)|0;do if(H){i=f[D>>2]|0;Ao(a,N,A,0,x,f[Ha>>2]|0);k=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;Ga=f[K+88>>2]|0;b[Ga+(k*20|0)>>0]=5;d[Ga+(k*20|0)+2>>1]=0;f[Ga+(k*20|0)+4>>2]=A;f[Ga+(k*20|0)+8>>2]=i;f[Ga+(k*20|0)+12>>2]=0;f[Ga+(k*20|0)+16>>2]=0;b[Ga+(k*20|0)+1>>0]=0}else tl(K,5,A,i,0)|0;i=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;Ga=f[K+88>>2]|0;b[Ga+(i*20|0)>>0]=36;d[Ga+(i*20|0)+2>>1]=0;f[Ga+(i*20|0)+4>>2]=A;f[Ga+(i*20|0)+8>>2]=r;f[Ga+(i*20|0)+12>>2]=0;f[Ga+(i*20|0)+16>>2]=0;b[Ga+(i*20|0)+1>>0]=0;break}else{tl(K,36,A,r,0)|0;break}}while(0);w=f[D>>2]|0;do if(u){i=b[M>>0]|0;if((b[N+14>>0]|0)!=82)if(i<<24>>24==82)i=82;else break;v=i<<24>>24==82;do if((b[L>>0]|0)==86){i=f[N+64>>2]|0;if(!y){k=0;s=i}else{s=f[y>>2]|0;k=s;s=s+i|0}u=(f[N+56>>2]|0)+k|0;q=f[a>>2]|0;r=f[E>>2]|0;o=r+1|0;p=o*5|0;l=p+20|0;m=q+272|0;P:do if(f[m>>2]|0)if(!(b[q+81>>0]|0))La=1250;else{p=0;o=1}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){i=q+300|0;k=f[i>>2]|0;if(k|0){f[i>>2]=f[k>>2];n=q+284|0;f[n>>2]=(f[n>>2]|0)+1;n=k;La=1251;break P}i=q+296|0;k=f[i>>2]|0;if(!k){i=q+292|0;break}else{f[i>>2]=f[k>>2];n=q+284|0;f[n>>2]=(f[n>>2]|0)+1;n=k;La=1251;break P}}else i=q+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;La=1250}while(0);if((La|0)==1250){n=Dc(q,l,0)|0;La=1251}do if((La|0)==1251)if(!n){i=q+81|0;if(b[i>>0]|0){p=0;o=1;break}if(b[q+82>>0]|0){p=0;o=1;break}b[i>>0]=1;if((f[q+180>>2]|0)>0)f[q+264>>2]=1;f[m>>2]=(f[m>>2]|0)+1;p=0;o=1;break}else{m=n+16|0;f[m>>2]=n+20+(o<<2);d[n+6>>1]=r;d[n+8>>1]=o;b[n+4>>0]=b[q+78>>0]|0;f[n+12>>2]=q;f[n>>2]=1;_A(n+24|0,0,p+-4|0)|0;if((r|0)<=0){p=n;o=0;break}k=E+4|0;l=0;while(1){i=Zk(a,f[k>>2]|0)|0;if(!i)i=f[(f[a>>2]|0)+8>>2]|0;f[n+20+(l<<2)>>2]=i;b[(f[m>>2]|0)+l>>0]=b[k+12>>0]|0;l=l+1|0;if((l|0)==(r|0)){p=n;o=0;break}else k=k+20|0}}while(0);if((g|0)>0){k=K+88|0;i=0;do{l=i+s|0;m=i+F|0;n=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(n|0)){f[D>>2]=n+1;La=f[k>>2]|0;b[La+(n*20|0)>>0]=90;d[La+(n*20|0)+2>>1]=0;f[La+(n*20|0)+4>>2]=A;f[La+(n*20|0)+8>>2]=l;f[La+(n*20|0)+12>>2]=m;f[La+(n*20|0)+16>>2]=0;b[La+(n*20|0)+1>>0]=0}else tl(K,90,A,l,m)|0;i=i+1|0}while((i|0)!=(g|0))}i=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;La=f[K+88>>2]|0;b[La+(i*20|0)>>0]=87;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=F;f[La+(i*20|0)+8>>2]=u;f[La+(i*20|0)+12>>2]=g;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else i=tl(K,87,F,u,g)|0;k=f[K>>2]|0;Q:do if(b[k+81>>0]|0){if(o|(f[k+480>>2]|0)!=0)break;La=(f[p>>2]|0)+-1|0;f[p>>2]=La;if(La|0)break;k=f[p+12>>2]|0;do if(k|0){if(f[k+480>>2]|0){Kc(k,p);break Q}l=p;if((f[k+304>>2]|0)>>>0>l>>>0)break;if((f[k+308>>2]|0)>>>0<=l>>>0)break;La=k+300|0;f[p>>2]=f[La>>2];f[La>>2]=p;break Q}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{La=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-La;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}else{Ga=f[K+88>>2]|0;La=(f[D>>2]|0)+-1|0;b[Ga+(La*20|0)+1>>0]=-9;f[Ga+(La*20|0)+16>>2]=p}while(0);i=i+2|0;k=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;La=f[K+88>>2]|0;b[La+(k*20|0)>>0]=16;d[La+(k*20|0)+2>>1]=0;f[La+(k*20|0)+4>>2]=i;f[La+(k*20|0)+8>>2]=0;f[La+(k*20|0)+12>>2]=i;f[La+(k*20|0)+16>>2]=0;b[La+(k*20|0)+1>>0]=0}else k=tl(K,16,i,0,i)|0;g=g+-1|0;i=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;La=f[K+88>>2]|0;b[La+(i*20|0)>>0]=78;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=F;f[La+(i*20|0)+8>>2]=u;f[La+(i*20|0)+12>>2]=g;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0;g=k;break}else{tl(K,78,F,u,g)|0;g=k;break}}else g=0;while(0);Bo(a,N,B,P,R,v?x:0,v?f[Ha>>2]|0:0);if(!g)break;i=f[D>>2]|0;if(!(b[(f[K>>2]|0)+81>>0]|0))g=(f[K+88>>2]|0)+(((g|0)<0?i+-1|0:g)*20|0)|0;else g=72144;f[g+8>>2]=i}while(0);if(!H)Ao(a,N,A,0,x,f[Ha>>2]|0);g=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;La=f[K+88>>2]|0;b[La+(g*20|0)>>0]=83;d[La+(g*20|0)+2>>1]=0;f[La+(g*20|0)+4>>2]=B;f[La+(g*20|0)+8>>2]=1;f[La+(g*20|0)+12>>2]=0;f[La+(g*20|0)+16>>2]=0;b[La+(g*20|0)+1>>0]=0}else tl(K,83,B,1,0)|0;g=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;La=f[K+88>>2]|0;b[La+(g*20|0)>>0]=5;d[La+(g*20|0)+2>>1]=0;f[La+(g*20|0)+4>>2]=A;f[La+(g*20|0)+8>>2]=w;f[La+(g*20|0)+12>>2]=0;f[La+(g*20|0)+16>>2]=0;b[La+(g*20|0)+1>>0]=0}else tl(K,5,A,w,0)|0;Bo(a,N,B,P,R,0,0);k=f[J>>2]|0;g=f[k+64>>2]|0;if(g|0)f[g+(I<<2)>>2]=f[D>>2];g=f[z>>2]|0;i=f[D>>2]|0;if((f[k+48>>2]|0)>(i|0)){f[D>>2]=i+1;La=f[K+88>>2]|0;b[La+(i*20|0)>>0]=-117;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=g;f[La+(i*20|0)+8>>2]=0;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(K,139,g,0,0)|0;g=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;La=f[K+88>>2]|0;b[La+(g*20|0)>>0]=66;d[La+(g*20|0)+2>>1]=0;f[La+(g*20|0)+4>>2]=G;f[La+(g*20|0)+8>>2]=0;f[La+(g*20|0)+12>>2]=0;f[La+(g*20|0)+16>>2]=0;b[La+(g*20|0)+1>>0]=0}else tl(K,66,G,0,0)|0;i=f[D>>2]|0;if(!(b[(f[K>>2]|0)+81>>0]|0))g=(f[K+88>>2]|0)+(((C|0)<0?i+-1|0:C)*20|0)|0;else g=72144;f[g+8>>2]=i}k=Na+136|0;g=f[k>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(g|0)){f[k>>2]=g+1;La=f[Na+88>>2]|0;b[La+(g*20|0)>>0]=11;d[La+(g*20|0)+2>>1]=0;f[La+(g*20|0)+4>>2]=0;f[La+(g*20|0)+8>>2]=O;f[La+(g*20|0)+12>>2]=0;f[La+(g*20|0)+16>>2]=0;b[La+(g*20|0)+1>>0]=0}else tl(Na,11,0,O,0)|0;g=f[(f[Z>>2]|0)+64>>2]|0;if(g|0)f[g+(U<<2)>>2]=f[k>>2];f[Ma+28>>2]=0;oo(a,c,-1,Ma,Ia,e,Q,O);i=f[Z>>2]|0;g=f[i+64>>2]|0;if(g|0)f[g+(T<<2)>>2]=f[k>>2];g=f[k>>2]|0;if((f[i+48>>2]|0)>(g|0)){f[k>>2]=g+1;La=f[Na+88>>2]|0;b[La+(g*20|0)>>0]=66;d[La+(g*20|0)+2>>1]=0;f[La+(g*20|0)+4>>2]=P;f[La+(g*20|0)+8>>2]=0;f[La+(g*20|0)+12>>2]=0;f[La+(g*20|0)+16>>2]=0;b[La+(g*20|0)+1>>0]=0}else tl(Na,66,P,0,0)|0;g=f[(f[Z>>2]|0)+64>>2]|0;if(!g){g=0;La=2007;break}f[g+(S<<2)>>2]=f[k>>2];g=0;La=2007}else{A=(V|0)!=0;do if(A){i=f[c>>2]|0;g=f[i>>2]|0;if((g|0)>0){i=i+4|0;while(1){d[i+16+2>>1]=0;if((g|0)>1){i=i+20|0;g=g+-1|0}else break}}g=f[V>>2]|0;if((g|0)>0){i=V+4|0;while(1){d[i+16+2>>1]=0;if((g|0)>1){i=i+20|0;g=g+-1|0}else break}}g=c+6|0;if((d[g>>1]|0)<=66)break;d[g>>1]=66}else d[c+6>>1]=0;while(0);i=f[Ma>>2]|0;g=(i|0)==0;R:do if(k&g)S=1;else{if(k|g){S=0;break}g=f[V>>2]|0;if((g|0)!=(f[i>>2]|0)){S=0;break}if((g|0)<=0){S=1;break}g=0;while(1){if((b[V+4+(g*20|0)+12>>0]|0)!=(b[i+4+(g*20|0)+12>>0]|0)){S=0;break R}if(Ck(0,f[V+4+(g*20|0)>>2]|0,f[i+4+(g*20|0)>>2]|0,-1)|0){S=0;break R}g=g+1|0;if((g|0)>=(f[V>>2]|0)){S=1;break}}}while(0);g=f[Z>>2]|0;o=g+60|0;W=f[o>>2]|0;f[o>>2]=W+1;o=g+64|0;if(!(W+-1&W)){m=W<<3|4;n=f[g>>2]|0;g=f[o>>2]|0;S:do if(g){k=g;l=n+304|0;do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)))break S}while(0);i=Lc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Kc(n,g);g=0;break}do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;xa=n+300|0;f[g>>2]=f[xa>>2];f[xa>>2]=g;g=0;break S}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{xa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-xa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];xa=n+284|0;f[xa>>2]=(f[xa>>2]|0)+1;break S}i=n+296|0;g=f[i>>2]|0;if(!g){g=n+292|0;break}else{f[i>>2]=f[g>>2];xa=n+284|0;f[xa>>2]=(f[xa>>2]|0)+1;break S}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(n,m,0)|0}while(0);f[o>>2]=g}else g=f[o>>2]|0;if(g|0)f[g+(W<<2)>>2]=-1;U=~W;R=Da+12|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;f[R+16>>2]=0;f[Da>>2]=a;f[Da+4>>2]=wa;f[Da+8>>2]=Pa;R=a+44|0;f[Pa+16>>2]=(f[R>>2]|0)+1;if(A)g=f[V>>2]|0;else g=0;z=Pa+12|0;f[z>>2]=g;f[Pa+24>>2]=V;do if(Y|0){g=f[Y>>2]|0;if((g|0)<=0)break;m=Ha+4|0;n=Ha+8|0;o=Ha+12|0;p=Ha+16|0;q=Ha+24|0;k=Y+4|0;l=0;while(1){i=f[k>>2]|0;f[m>>2]=161;f[n>>2]=162;f[o>>2]=69;f[p>>2]=0;f[q>>2]=Da;if(i){oi(Ha,i)|0;g=f[Y>>2]|0}l=l+1|0;if((l|0)>=(g|0))break;else k=k+20|0}}while(0);m=f[Ma>>2]|0;do if(m|0){g=f[m>>2]|0;if((g|0)<=0)break;n=Ha+4|0;o=Ha+8|0;p=Ha+12|0;q=Ha+16|0;r=Ha+24|0;k=m+4|0;l=0;while(1){i=f[k>>2]|0;f[n>>2]=161;f[o>>2]=162;f[p>>2]=69;f[q>>2]=0;f[r>>2]=Da;if(i){oi(Ha,i)|0;g=f[m>>2]|0}l=l+1|0;if((l|0)>=(g|0))break;else k=k+20|0}}while(0);do if(X){if(!A){f[Ha+4>>2]=161;f[Ha+8>>2]=162;f[Ha+12>>2]=69;f[Ha+16>>2]=0;f[Ha+24>>2]=Da;oi(Ha,X)|0;break}g=Ha+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[Ha>>2]=a;f[Ha+4>>2]=163;f[Ha+24>>2]=c;g=f[u>>2]|0;if(g|0)oi(Ha,g)|0;G=f[va>>2]|0;f[Ha+4>>2]=161;f[Ha+8>>2]=162;f[Ha+12>>2]=69;f[Ha+16>>2]=0;f[Ha+24>>2]=Da;oi(Ha,X)|0}while(0);M=Pa+32|0;y=Pa+36|0;f[y>>2]=f[M>>2];do if(!(f[s>>2]|0)){if(f[u>>2]|0){x=0;g=0;break}if((f[Pa+44>>2]|0)!=1){x=0;g=0;break}g=f[f[Pa+40>>2]>>2]|0;o=f[g+20>>2]|0;do if(!o){g=0;i=0}else{if((f[o>>2]|0)!=1){g=0;i=0;break}i=f[g+8>>2]|0;n=b[i>>0]|0;g=(h[1232+(n&255)>>0]|0)+-109|0;n=n<<24>>24==0|(g|0)!=0;if(n)k=g;else{l=41255;m=i;do{m=m+1|0;l=l+1|0;xa=b[m>>0]|0;k=(h[1232+(xa&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(xa<<24>>24==0|(k|0)!=0))}if(k){if(!n){k=41259;do{i=i+1|0;k=k+1|0;xa=b[i>>0]|0;g=(h[1232+(xa&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(xa<<24>>24==0|(g|0)!=0))}if(!g){k=1;i=2}else{g=0;i=0;break}}else{k=0;i=1}g=Ik(Qa,o,0)|0;if(!g){g=0;break}b[g+16>>0]=k}while(0);x=i&255}else{x=0;g=0}while(0);T=Pa+44|0;m=f[T>>2]|0;if((m|0)>0){p=Da+24|0;q=Pa+40|0;r=Ha+4|0;s=Ha+8|0;u=Ha+12|0;v=Ha+16|0;w=Ha+24|0;o=0;i=d[p>>1]|0;do{i=i|8;d[p>>1]=i;n=f[(f[(f[q>>2]|0)+(o<<4)>>2]|0)+20>>2]|0;do if(n){k=f[n>>2]|0;if((k|0)<=0)break;l=n+4|0;m=0;i=k;while(1){k=f[l>>2]|0;f[r>>2]=161;f[s>>2]=162;f[u>>2]=69;f[v>>2]=0;f[w>>2]=Da;if(k){oi(Ha,k)|0;i=f[n>>2]|0}m=m+1|0;if((m|0)>=(i|0))break;else l=l+20|0}i=d[p>>1]|0;m=f[T>>2]|0}while(0);i=i&-9;d[p>>1]=i;o=o+1|0}while((o|0)<(m|0))}n=f[R>>2]|0;f[Pa+20>>2]=n;T:do if(!(b[Aa>>0]|0)){do if(A){C=a+40|0;o=f[C>>2]|0;f[C>>2]=o+1;P=Pa+4|0;f[P>>2]=o;o=f[a>>2]|0;q=f[V>>2]|0;m=(f[M>>2]|0)+1+q|0;n=m*5|0;l=n+20|0;p=o+272|0;U:do if(f[p>>2]|0)if(!(b[o+81>>0]|0))La=1589;else{F=0;p=1;E=0}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){i=o+300|0;k=f[i>>2]|0;if(k|0){f[i>>2]=f[k>>2];La=o+284|0;f[La>>2]=(f[La>>2]|0)+1;La=1590;break U}i=o+296|0;k=f[i>>2]|0;if(!k){i=o+292|0;break}else{f[i>>2]=f[k>>2];La=o+284|0;f[La>>2]=(f[La>>2]|0)+1;La=1590;break U}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;La=1589}while(0);if((La|0)==1589){k=Dc(o,l,0)|0;La=1590}do if((La|0)==1590){do if(!k){i=o+81|0;if(b[i>>0]|0){l=0;p=1;break}if(b[o+82>>0]|0){l=0;p=1;break}b[i>>0]=1;if((f[o+180>>2]|0)>0)f[o+264>>2]=1;f[p>>2]=(f[p>>2]|0)+1;l=0;p=1}else{f[k+16>>2]=k+20+(m<<2);d[k+6>>1]=q;d[k+8>>1]=m;b[k+4>>0]=b[o+78>>0]|0;f[k+12>>2]=o;f[k>>2]=1;_A(k+24|0,0,n+-4|0)|0;l=k;p=0}while(0);if(!((q|0)>0&(k|0)!=0)){F=l;E=k;break}o=k+16|0;m=V+4|0;n=0;while(1){i=Zk(a,f[m>>2]|0)|0;if(!i)i=f[(f[a>>2]|0)+8>>2]|0;f[k+20+(n<<2)>>2]=i;b[(f[o>>2]|0)+n>>0]=b[m+12>>0]|0;n=n+1|0;if((n|0)==(q|0)){F=l;E=k;break}else m=m+20|0}}while(0);l=f[P>>2]|0;i=f[z>>2]|0;Q=Na+136|0;k=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[Q>>2]=k+1;I=f[Na+88>>2]|0;b[I+(k*20|0)>>0]=114;d[I+(k*20|0)+2>>1]=0;f[I+(k*20|0)+4>>2]=l;f[I+(k*20|0)+8>>2]=i;f[I+(k*20|0)+12>>2]=0;f[I+(k*20|0)+16>>2]=0;b[I+(k*20|0)+1>>0]=0;I=k}else I=tl(Na,114,l,i,0)|0;i=f[Na>>2]|0;V:do if(b[i+81>>0]|0){if(p|(f[i+480>>2]|0)!=0)break;Ha=(f[F>>2]|0)+-1|0;f[F>>2]=Ha;if(Ha|0){p=0;break}i=f[F+12>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,F);p=0;break V}k=F;if((f[i+304>>2]|0)>>>0>k>>>0)break;if((f[i+308>>2]|0)>>>0<=k>>>0)break;p=i+300|0;f[F>>2]=f[p>>2];f[p>>2]=F;p=0;break V}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](F);p=0;break}else{p=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);p=0;break}}else{if((I|0)<0)i=(f[Q>>2]|0)+-1|0;else i=I;k=f[Na+88>>2]|0;l=k+(i*20|0)+1|0;if(b[l>>0]|0){ul(Na,k+(i*20|0)|0,F,-9);break}if(p){p=1;break}f[k+(i*20|0)+16>>2]=F;b[l>>0]=-9;p=0}while(0);N=f[R>>2]|0;O=N+1|0;H=N+2|0;N=N+3|0;f[R>>2]=N;i=f[Z>>2]|0;q=i+60|0;J=f[q>>2]|0;f[q>>2]=J+1;q=i+64|0;if(!(J+-1&J)){n=J<<3|4;o=f[i>>2]|0;i=f[q>>2]|0;W:do if(i){l=i;m=o+304|0;do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)))break W}while(0);k=Lc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Kc(o,i);i=0;break}do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;Ha=o+300|0;f[i>>2]=f[Ha>>2];f[Ha>>2]=i;i=0;break W}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{Ha=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Ha;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];Ha=o+284|0;f[Ha>>2]=(f[Ha>>2]|0)+1;break W}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];Ha=o+284|0;f[Ha>>2]=(f[Ha>>2]|0)+1;break W}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[q>>2]=i}else i=f[q>>2]|0;if(i|0)f[i+(J<<2)>>2]=-1;D=~J;L=(f[R>>2]|0)+1|0;f[R>>2]=L;i=f[Z>>2]|0;q=i+60|0;K=f[q>>2]|0;f[q>>2]=K+1;q=i+64|0;if(!(K+-1&K)){n=K<<3|4;o=f[i>>2]|0;i=f[q>>2]|0;X:do if(i){l=i;m=o+304|0;do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)))break X}while(0);k=Lc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Kc(o,i);i=0;break}do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;Ha=o+300|0;f[i>>2]=f[Ha>>2];f[Ha>>2]=i;i=0;break X}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{Ha=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Ha;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];Ha=o+284|0;f[Ha>>2]=(f[Ha>>2]|0)+1;break X}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];Ha=o+284|0;f[Ha>>2]=(f[Ha>>2]|0)+1;break X}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[q>>2]=i}else i=f[q>>2]|0;if(i|0)f[i+(K<<2)>>2]=-1;B=~K;i=f[R>>2]|0;z=i+1|0;k=f[V>>2]|0;Ha=k+i|0;A=Ha+1|0;f[R>>2]=Ha+k;k=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[Q>>2]=k+1;Ha=f[Na+88>>2]|0;b[Ha+(k*20|0)>>0]=70;d[Ha+(k*20|0)+2>>1]=0;f[Ha+(k*20|0)+4>>2]=0;f[Ha+(k*20|0)+8>>2]=H;f[Ha+(k*20|0)+12>>2]=0;f[Ha+(k*20|0)+16>>2]=0;b[Ha+(k*20|0)+1>>0]=0}else tl(Na,70,0,H,0)|0;i=(f[V>>2]|0)+i|0;k=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[Q>>2]=k+1;Ha=f[Na+88>>2]|0;b[Ha+(k*20|0)>>0]=73;d[Ha+(k*20|0)+2>>1]=0;f[Ha+(k*20|0)+4>>2]=0;f[Ha+(k*20|0)+8>>2]=z;f[Ha+(k*20|0)+12>>2]=i;f[Ha+(k*20|0)+16>>2]=0;b[Ha+(k*20|0)+1>>0]=0}else tl(Na,73,0,z,i)|0;i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;Ha=f[Na+88>>2]|0;b[Ha+(i*20|0)>>0]=12;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=L;f[Ha+(i*20|0)+8>>2]=B;f[Ha+(i*20|0)+12>>2]=0;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else tl(Na,12,L,B,0)|0;y=sn(a,wa,G,V,0,S?576:64,0)|0;if(!y)break T;if((f[V>>2]|0)==(b[y+47>>0]|0)){m=0;n=0;l=0}else{if(!(b[Ia>>0]|0))i=57431;else i=(f[Ga>>2]&1|0)==0?57422:57431;f[Fa>>2]=i;Km(a,0,57440,Fa);u=f[V>>2]|0;o=f[M>>2]|0;if((o|0)>0){m=f[Pa+28>>2]|0;k=u;i=u;l=0;while(1){n=(f[m+(l*24|0)+12>>2]|0)>=(k|0)&1;i=i+n|0;l=l+1|0;if((l|0)>=(o|0)){x=i;break}else k=k+n|0}}else x=u;w=(x|0)==1;do if(w){i=a+19|0;k=b[i>>0]|0;if(!(k<<24>>24)){v=(f[R>>2]|0)+1|0;f[R>>2]=v;break}else{v=k+-1<<24>>24;b[i>>0]=v;v=f[a+144+((v&255)<<2)>>2]|0;break}}else{i=a+32|0;k=f[i>>2]|0;l=a+28|0;m=f[l>>2]|0;if((m|0)<(x|0)){v=f[R>>2]|0;f[R>>2]=v+x;v=v+1|0;break}else{f[i>>2]=k+x;f[l>>2]=m-x;v=k;break}}while(0);s=f[Ra>>2]|0;if((u|0)>0){l=s+136|0;m=s+12|0;n=s+88|0;i=V+4|0;k=0;while(1){o=k+v|0;q=xl(a,f[i>>2]|0,o)|0;do if((q|0)!=(o|0)){r=f[l>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(r|0)){f[l>>2]=r+1;Ha=f[n>>2]|0;b[Ha+(r*20|0)>>0]=79;d[Ha+(r*20|0)+2>>1]=0;f[Ha+(r*20|0)+4>>2]=q;f[Ha+(r*20|0)+8>>2]=o;f[Ha+(r*20|0)+12>>2]=0;f[Ha+(r*20|0)+16>>2]=0;b[Ha+(r*20|0)+1>>0]=0;break}else{tl(s,79,q,o,0)|0;break}}while(0);k=k+1|0;if((k|0)==(u|0))break;else i=i+20|0}k=f[M>>2]|0}else k=o;if((k|0)>0){n=Pa+28|0;i=u;m=0;do{l=f[n>>2]|0;if((f[l+(m*24|0)+12>>2]|0)>=(i|0)){Am(Na,f[l+(m*24|0)>>2]|0,f[l+(m*24|0)+4>>2]|0,f[l+(m*24|0)+8>>2]|0,i+v|0);i=i+1|0;k=f[M>>2]|0}m=m+1|0}while((m|0)<(k|0))}m=a+19|0;i=b[m>>0]|0;if(!(i<<24>>24)){l=(f[R>>2]|0)+1|0;f[R>>2]=l}else{l=i+-1<<24>>24;b[m>>0]=l;l=f[a+144+((l&255)<<2)>>2]|0}i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;Ha=f[Na+88>>2]|0;b[Ha+(i*20|0)>>0]=102;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=v;f[Ha+(i*20|0)+8>>2]=x;f[Ha+(i*20|0)+12>>2]=l;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else tl(Na,102,v,x,l)|0;i=f[P>>2]|0;k=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[Q>>2]=k+1;Ha=f[Na+88>>2]|0;b[Ha+(k*20|0)>>0]=-124;d[Ha+(k*20|0)+2>>1]=0;f[Ha+(k*20|0)+4>>2]=i;f[Ha+(k*20|0)+8>>2]=l;f[Ha+(k*20|0)+12>>2]=0;f[Ha+(k*20|0)+16>>2]=0;b[Ha+(k*20|0)+1>>0]=0}else tl(Na,132,i,l,0)|0;do if(l|0){i=b[m>>0]|0;if((i&255)>=8)break;b[m>>0]=i+1<<24>>24;f[a+144+((i&255)<<2)>>2]=l}while(0);do if(w){if(!v)break;i=b[m>>0]|0;if((i&255)>=8)break;b[m>>0]=i+1<<24>>24;f[a+144+((i&255)<<2)>>2]=v}else{i=a+28|0;if((f[i>>2]|0)>=(x|0))break;f[i>>2]=x;f[a+32>>2]=v}while(0);tn(y);n=f[C>>2]|0;f[C>>2]=n+1;f[Pa+8>>2]=n;i=b[m>>0]|0;if(!(i<<24>>24)){l=(f[R>>2]|0)+1|0;f[R>>2]=l}else{l=i+-1<<24>>24;b[m>>0]=l;l=f[a+144+((l&255)<<2)>>2]|0}i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;Ha=f[Na+88>>2]|0;b[Ha+(i*20|0)>>0]=116;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=n;f[Ha+(i*20|0)+8>>2]=l;f[Ha+(i*20|0)+12>>2]=x;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else tl(Na,116,n,l,x)|0;i=f[P>>2]|0;k=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[Q>>2]=k+1;Ha=f[Na+88>>2]|0;b[Ha+(k*20|0)>>0]=34;d[Ha+(k*20|0)+2>>1]=0;f[Ha+(k*20|0)+4>>2]=i;f[Ha+(k*20|0)+8>>2]=U;f[Ha+(k*20|0)+12>>2]=0;f[Ha+(k*20|0)+16>>2]=0;b[Ha+(k*20|0)+1>>0]=0}else tl(Na,34,i,U,0)|0;b[Pa+1>>0]=1;m=1}Y:do if(S){if(d[ya>>1]&4){La=1752;break}do if(!m){if(b[y+48>>0]|0)break;u=f[Q>>2]|0;s=0;break Y}while(0);f[Ma>>2]=0;i=f[Ma+20>>2]|0;k=f[Na>>2]|0;if(b[k+81>>0]|0){La=1752;break}La=f[Na+88>>2]|0;Ga=La+(i*20|0)+1|0;Ha=La+(i*20|0)+16|0;qg(k,b[Ga>>0]|0,f[Ha>>2]|0);b[Ga>>0]=0;f[Ha>>2]=0;b[La+(i*20|0)>>0]=-85;La=1752}else La=1752;while(0);do if((La|0)==1752){k=f[Q>>2]|0;if(!m){u=k;s=0;break}i=f[P>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[Q>>2]=k+1;u=f[Na+88>>2]|0;b[u+(k*20|0)>>0]=127;d[u+(k*20|0)+2>>1]=0;f[u+(k*20|0)+4>>2]=i;f[u+(k*20|0)+8>>2]=l;f[u+(k*20|0)+12>>2]=n;f[u+(k*20|0)+16>>2]=0;b[u+(k*20|0)+1>>0]=0;u=k;s=1;break}else{tl(Na,127,i,l,n)|0;u=k;s=1;break}}while(0);k=f[V>>2]|0;if((k|0)>0){r=Na+88|0;q=0;do{Z:do if(s){i=q+A|0;k=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[Q>>2]=k+1;La=f[r>>2]|0;b[La+(k*20|0)>>0]=90;d[La+(k*20|0)+2>>1]=0;f[La+(k*20|0)+4>>2]=n;f[La+(k*20|0)+8>>2]=q;f[La+(k*20|0)+12>>2]=i;f[La+(k*20|0)+16>>2]=0;b[La+(k*20|0)+1>>0]=0;break}else{tl(Na,90,n,q,i)|0;break}}else{b[Pa>>0]=1;i=f[V+4+(q*20|0)>>2]|0;o=q+A|0;do if(i){if((b[i>>0]|0)!=-92){m=xl(a,i,o)|0;break}m=f[Ra>>2]|0;i=f[i+28>>2]|0;k=m+136|0;l=f[k>>2]|0;if((f[(f[m+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;La=f[m+88>>2]|0;b[La+(l*20|0)>>0]=78;d[La+(l*20|0)+2>>1]=0;f[La+(l*20|0)+4>>2]=i;f[La+(l*20|0)+8>>2]=o;f[La+(l*20|0)+12>>2]=0;f[La+(l*20|0)+16>>2]=0;b[La+(l*20|0)+1>>0]=0;break Z}else{tl(m,78,i,o,0)|0;break Z}}else m=xl(a,0,o)|0;while(0);if((m|0)==(o|0))break;i=f[Ra>>2]|0;if(!i)break;k=i+136|0;l=f[k>>2]|0;if((f[(f[i+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;La=f[i+88>>2]|0;b[La+(l*20|0)>>0]=79;d[La+(l*20|0)+2>>1]=0;f[La+(l*20|0)+4>>2]=m;f[La+(l*20|0)+8>>2]=o;f[La+(l*20|0)+12>>2]=0;f[La+(l*20|0)+16>>2]=0;b[La+(l*20|0)+1>>0]=0;break}else{tl(i,79,m,o,0)|0;break}}while(0);q=q+1|0;k=f[V>>2]|0}while((q|0)<(k|0))}if(E|0)f[E>>2]=(f[E>>2]|0)+1;i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=87;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=z;f[La+(i*20|0)+8>>2]=A;f[La+(i*20|0)+12>>2]=k;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else i=tl(Na,87,z,A,k)|0;k=f[Na>>2]|0;_:do if(b[k+81>>0]|0){if(p|(f[k+480>>2]|0)!=0)break;La=(f[F>>2]|0)+-1|0;f[F>>2]=La;if(La|0)break;i=f[F+12>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,F);break _}k=F;if((f[i+304>>2]|0)>>>0>k>>>0)break;if((f[i+308>>2]|0)>>>0<=k>>>0)break;La=i+300|0;f[F>>2]=f[La>>2];f[La>>2]=F;break _}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](F);break}else{La=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-La;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);break}}else{if((i|0)<0)i=(f[Q>>2]|0)+-1|0;k=f[Na+88>>2]|0;l=k+(i*20|0)+1|0;if(b[l>>0]|0){ul(Na,k+(i*20|0)|0,F,-9);break}if(p)break;f[k+(i*20|0)+16>>2]=F;b[l>>0]=-9}while(0);n=f[Q>>2]|0;i=n+1|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(n|0)){f[Q>>2]=i;La=f[Na+88>>2]|0;b[La+(n*20|0)>>0]=16;d[La+(n*20|0)+2>>1]=0;f[La+(n*20|0)+4>>2]=i;f[La+(n*20|0)+8>>2]=0;f[La+(n*20|0)+12>>2]=i;f[La+(n*20|0)+16>>2]=0;b[La+(n*20|0)+1>>0]=0}else tl(Na,16,i,0,i)|0;k=f[V>>2]|0;i=f[Ra>>2]|0;l=i+136|0;m=f[l>>2]|0;if((f[(f[i+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;La=f[i+88>>2]|0;b[La+(m*20|0)>>0]=77;d[La+(m*20|0)+2>>1]=0;f[La+(m*20|0)+4>>2]=A;f[La+(m*20|0)+8>>2]=z;f[La+(m*20|0)+12>>2]=k;f[La+(m*20|0)+16>>2]=0;b[La+(m*20|0)+1>>0]=0}else tl(i,77,A,z,k)|0;i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=12;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=N;f[La+(i*20|0)+8>>2]=D;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,12,N,D,0)|0;i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=47;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=H;f[La+(i*20|0)+8>>2]=U;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,47,H,U,0)|0;i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=12;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=L;f[La+(i*20|0)+8>>2]=B;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,12,L,B,0)|0;k=f[Q>>2]|0;if(!(b[(f[Na>>2]|0)+81>>0]|0))i=(f[Na+88>>2]|0)+(((n|0)<0?k+-1|0:n)*20|0)|0;else i=72144;f[i+8>>2]=k;Ho(a,O,Pa);i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=70;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=1;f[La+(i*20|0)+8>>2]=O;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,70,1,O,0)|0;do if(s){i=f[P>>2]|0;k=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[Q>>2]=k+1;La=f[Na+88>>2]|0;b[La+(k*20|0)>>0]=3;d[La+(k*20|0)+2>>1]=0;f[La+(k*20|0)+4>>2]=i;f[La+(k*20|0)+8>>2]=u;f[La+(k*20|0)+12>>2]=0;f[La+(k*20|0)+16>>2]=0;b[La+(k*20|0)+1>>0]=0;break}else{tl(Na,3,i,u,0)|0;break}}else{tn(y);i=f[Na>>2]|0;if(b[i+81>>0]|0)break;La=f[Na+88>>2]|0;Ga=La+(I*20|0)+1|0;Ha=La+(I*20|0)+16|0;qg(i,b[Ga>>0]|0,f[Ha>>2]|0);b[Ga>>0]=0;f[Ha>>2]=0;b[La+(I*20|0)>>0]=-85}while(0);i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=12;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=N;f[La+(i*20|0)+8>>2]=D;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,12,N,D,0)|0;i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=11;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=0;f[La+(i*20|0)+8>>2]=U;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,11,0,U,0)|0;u=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(u|0)){f[Q>>2]=u+1;La=f[Na+88>>2]|0;b[La+(u*20|0)>>0]=70;d[La+(u*20|0)+2>>1]=0;f[La+(u*20|0)+4>>2]=1;f[La+(u*20|0)+8>>2]=H;f[La+(u*20|0)+12>>2]=0;f[La+(u*20|0)+16>>2]=0;b[La+(u*20|0)+1>>0]=0}else tl(Na,70,1,H,0)|0;i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=66;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=N;f[La+(i*20|0)+8>>2]=0;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,66,N,0,0)|0;k=f[Z>>2]|0;i=f[k+64>>2]|0;if(i|0)f[i+(J<<2)>>2]=f[Q>>2];s=f[Q>>2]|0;i=s+2|0;if((f[k+48>>2]|0)>(s|0)){f[Q>>2]=s+1;La=f[Na+88>>2]|0;b[La+(s*20|0)>>0]=47;d[La+(s*20|0)+2>>1]=0;f[La+(s*20|0)+4>>2]=O;f[La+(s*20|0)+8>>2]=i;f[La+(s*20|0)+12>>2]=0;f[La+(s*20|0)+16>>2]=0;b[La+(s*20|0)+1>>0]=0}else tl(Na,47,O,i,0)|0;i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=66;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=N;f[La+(i*20|0)+8>>2]=0;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,66,N,0,0)|0;o=f[Ra>>2]|0;if((f[T>>2]|0)>0){p=o+136|0;q=o+12|0;r=o+88|0;m=f[Pa+40>>2]|0;n=0;while(1){i=f[(f[m>>2]|0)+20>>2]|0;l=f[m+8>>2]|0;if(!i)k=0;else k=f[i>>2]|0;i=f[p>>2]|0;if((f[(f[q>>2]|0)+48>>2]|0)>(i|0)){f[p>>2]=i+1;La=f[r>>2]|0;b[La+(i*20|0)>>0]=-98;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=l;f[La+(i*20|0)+8>>2]=k;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(o,158,l,k,0)|0;i=f[m+4>>2]|0;k=f[o>>2]|0;$:do if(b[k+81>>0]|0){if(!(f[i+4>>2]&16))break;do if(k|0){if(f[k+480>>2]|0){Kc(k,i);break $}l=i;if((f[k+304>>2]|0)>>>0>l>>>0)break;if((f[k+308>>2]|0)>>>0<=l>>>0)break;La=k+300|0;f[i>>2]=f[La>>2];f[La>>2]=i;break $}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{La=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-La;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}else{Ha=f[r>>2]|0;La=(f[p>>2]|0)+-1|0;b[Ha+(La*20|0)+1>>0]=-8;f[Ha+(La*20|0)+16>>2]=i}while(0);n=n+1|0;if((n|0)>=(f[T>>2]|0))break;else m=m+16|0}}i=s+1|0;zm(a,X,i,16);oo(a,c,-1,Ma,Ia,e,i,u);i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=66;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=N;f[La+(i*20|0)+8>>2]=0;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,66,N,0,0)|0;i=f[(f[Z>>2]|0)+64>>2]|0;if(i|0)f[i+(K<<2)>>2]=f[Q>>2];Io(a,Pa);i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=70;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=0;f[La+(i*20|0)+8>>2]=O;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,70,0,O,0)|0;i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=66;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=L;f[La+(i*20|0)+8>>2]=0;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0;break}else{tl(Na,66,L,0,0)|0;break}}else{z=Pa+40|0;l=f[z>>2]|0;do if(!(f[va>>2]|0)){k=f[c>>2]|0;if((f[k>>2]|0)!=1){La=1964;break}i=f[za>>2]|0;if((f[i>>2]|0)!=1){La=1964;break}if(f[i+28>>2]|0){La=1964;break}w=f[i+24>>2]|0;i=f[k+4>>2]|0;if(f[w+56>>2]|0){La=1964;break}if((m|0)==0|(b[i>>0]|0)!=-97){La=1964;break}if(!(f[(f[l+4>>2]|0)+4>>2]&256)){La=1964;break}if((w|0)==0?1:(f[i+4>>2]&16|0)!=0){La=1964;break}k=f[w+72>>2]|0;if(!k)u=-1e6;else{l=f[(f[a>>2]|0)+16>>2]|0;i=0;while(1)if((f[l+(i<<4)+12>>2]|0)==(k|0)){u=i;break}else i=i+1|0}r=a+40|0;v=f[r>>2]|0;f[r>>2]=v+1;r=w+28|0;s=f[r>>2]|0;m=f[Ba>>2]|0;m=(m|0)==0?a:m;i=m+84|0;k=f[i>>2]|0;l=1<>2]=k|l;if((u|0)!=1)break;q=f[m>>2]|0;i=q+16|0;if(f[(f[i>>2]|0)+20>>2]|0)break;if(b[m+195>>0]|0)break;k=cj(f[q>>2]|0,0,q,Ha,0,542)|0;if(k|0){ni(m,51535,Ca);f[m+12>>2]=k;break}Ha=f[Ha>>2]|0;f[(f[i>>2]|0)+20>>2]=Ha;i=f[q+92>>2]|0;m=f[Ha+4>>2]|0;f[m+4>>2]=f[Ha>>2];do if(!(d[m+22>>1]&2)){n=m+32|0;o=m+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((i+-512|0)>>>0<65025){if(i+-1&i|0)break;f[n>>2]=i;l=m+80|0;i=f[l>>2]|0;if(!i)break;k=i+-4|0;f[l>>2]=k;i=k;do if((f[18022]|0)>>>0<=i>>>0)if((f[18023]|0)>>>0>i>>>0){f[18188]=(f[18188]|0)+-1;f[k>>2]=f[18025];f[18025]=k;Ha=(f[18026]|0)+1|0;f[18026]=Ha;f[18027]=(Ha|0)<(f[18021]|0)&1;break}else{i=ib[f[37368>>2]&255](k)|0;La=1901;break}else{i=ib[f[37368>>2]&255](k)|0;La=1901}while(0);do if((La|0)==1901){f[18189]=(f[18189]|0)-i;if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{Ha=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-Ha;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);f[l>>2]=0}while(0);Ha=ih(f[m>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((Ha|0)!=7)break;i=q+81|0;do if(!(b[i>>0]|0)){if(b[q+82>>0]|0)break;b[i>>0]=1;if((f[q+180>>2]|0)>0)f[q+264>>2]=1;Ha=q+272|0;f[Ha>>2]=(f[Ha>>2]|0)+1}while(0);break aa}while(0)}while(0);nm(a,u,f[r>>2]|0,0,f[w>>2]|0);q=w+36|0;k=f[w+8>>2]|0;ba:do if(!(f[q>>2]&32)){i=0;La=1918}else{if(!k){k=s;m=0;p=0;o=1;break}i=k;while(1){La=i+55|0;if(((h[La>>0]|h[La+1>>0]<<8)&3)==2){La=1918;break ba}i=f[i+20>>2]|0;if(!i){i=0;La=1918;break}}}while(0);do if((La|0)==1918){if(k){m=w+46|0;do{Ha=k+55|0;do if(!((h[Ha>>0]|h[Ha+1>>0]<<8)&4)){l=d[k+48>>1]|0;if(l<<16>>16>=(d[m>>1]|0))break;if(f[k+36>>2]|0)break;if(i|0?l<<16>>16>=(d[i+48>>1]|0):0)break;i=k}while(0);k=f[k+20>>2]|0}while((k|0)!=0)}if(!i){k=s;m=0;p=0;o=1;break}k=f[i+44>>2]|0;m=om(a,i)|0;p=i;o=0}while(0);n=Na+136|0;i=f[n>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[n>>2]=i+1;Ha=f[Na+88>>2]|0;b[Ha+(i*20|0)>>0]=109;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=v;f[Ha+(i*20|0)+8>>2]=k;f[Ha+(i*20|0)+12>>2]=u;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else i=tl(Na,109,v,k,u)|0;if(!(b[(f[Na>>2]|0)+81>>0]|0)){Ha=f[Na+88>>2]|0;b[Ha+(i*20|0)+1>>0]=-3;f[Ha+(i*20|0)+16>>2]=1}ca:do if(m|0){i=f[Na>>2]|0;if(!(b[i+81>>0]|0)){i=(f[n>>2]|0)+-1|0;k=f[Na+88>>2]|0;l=k+(i*20|0)+1|0;if(!(b[l>>0]|0)){f[k+(i*20|0)+16>>2]=m;b[l>>0]=-9;break}else{ul(Na,k+(i*20|0)|0,m,-9);break}}if(f[i+480>>2]|0)break;Ha=(f[m>>2]|0)+-1|0;f[m>>2]=Ha;if(Ha|0)break;i=f[m+12>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,m);break ca}k=m;if((f[i+304>>2]|0)>>>0>k>>>0)break;if((f[i+308>>2]|0)>>>0<=k>>>0)break;Ha=i+300|0;f[m>>2]=f[Ha>>2];f[Ha>>2]=m;break ca}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{Ha=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Ha;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);i=f[(f[z>>2]|0)+8>>2]|0;k=f[n>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[n>>2]=k+1;Ha=f[Na+88>>2]|0;b[Ha+(k*20|0)>>0]=104;d[Ha+(k*20|0)+2>>1]=0;f[Ha+(k*20|0)+4>>2]=v;f[Ha+(k*20|0)+8>>2]=i;f[Ha+(k*20|0)+12>>2]=0;f[Ha+(k*20|0)+16>>2]=0;b[Ha+(k*20|0)+1>>0]=0}else tl(Na,104,v,i,0)|0;i=f[n>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[n>>2]=i+1;Ha=f[Na+88>>2]|0;b[Ha+(i*20|0)>>0]=117;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=v;f[Ha+(i*20|0)+8>>2]=0;f[Ha+(i*20|0)+12>>2]=0;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else tl(Na,117,v,0,0)|0;if((b[a+195>>0]|0)!=2)break;do if(o){i=f[w>>2]|0;l=72788;k=72788}else{if(f[q>>2]&32){Ha=p+55|0;i=f[w>>2]|0;if(((h[Ha>>0]|h[Ha+1>>0]<<8)&3)==2){l=72788;k=72788;break}}else i=f[w>>2]|0;l=57463;k=f[p>>2]|0}while(0);f[Ea>>2]=i;f[Ea+4>>2]=l;f[Ea+8>>2]=k;Km(a,0,57486,Ea)}else La=1964;while(0);do if((La|0)==1964){do if(f[y>>2]|0){da:do if((m|0)>0){i=0;do{if(f[(f[l+(i<<4)+4>>2]|0)+4>>2]&32|0)break da;i=i+1|0}while((i|0)<(m|0))}else i=0;while(0);if((i|0)!=(m|0)){l=0;break}l=n+1|0;f[R>>2]=l;i=Na+136|0;k=f[i>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;Ha=f[Na+88>>2]|0;b[Ha+(k*20|0)>>0]=70;d[Ha+(k*20|0)+2>>1]=0;f[Ha+(k*20|0)+4>>2]=0;f[Ha+(k*20|0)+8>>2]=l;f[Ha+(k*20|0)+12>>2]=0;f[Ha+(k*20|0)+16>>2]=0;b[Ha+(k*20|0)+1>>0]=0;break}else{tl(Na,70,0,l,0)|0;break}}else l=0;while(0);Io(a,Pa);m=sn(a,wa,G,g,0,x,0)|0;if(!m)break T;Ho(a,l,Pa);do if(l|0){i=Na+136|0;k=f[i>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;La=f[Na+88>>2]|0;b[La+(k*20|0)>>0]=70;d[La+(k*20|0)+2>>1]=0;f[La+(k*20|0)+4>>2]=1;f[La+(k*20|0)+8>>2]=l;f[La+(k*20|0)+12>>2]=0;f[La+(k*20|0)+16>>2]=0;b[La+(k*20|0)+1>>0]=0;break}else{tl(Na,70,1,l,0)|0;break}}while(0);do if((b[m+47>>0]|0)>0){i=f[m+36>>2]|0;k=Na+136|0;l=f[k>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;La=f[Na+88>>2]|0;b[La+(l*20|0)>>0]=11;d[La+(l*20|0)+2>>1]=0;f[La+(l*20|0)+4>>2]=0;f[La+(l*20|0)+8>>2]=i;f[La+(l*20|0)+12>>2]=0;f[La+(l*20|0)+16>>2]=0;b[La+(l*20|0)+1>>0]=0;break}else{tl(Na,11,0,i,0)|0;break}}while(0);tn(m);o=f[Ra>>2]|0;if((f[T>>2]|0)<=0)break;p=o+136|0;q=o+12|0;r=o+88|0;m=f[z>>2]|0;n=0;while(1){i=f[(f[m>>2]|0)+20>>2]|0;l=f[m+8>>2]|0;if(!i)k=0;else k=f[i>>2]|0;i=f[p>>2]|0;if((f[(f[q>>2]|0)+48>>2]|0)>(i|0)){f[p>>2]=i+1;La=f[r>>2]|0;b[La+(i*20|0)>>0]=-98;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=l;f[La+(i*20|0)+8>>2]=k;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(o,158,l,k,0)|0;i=f[m+4>>2]|0;k=f[o>>2]|0;ea:do if(b[k+81>>0]|0){if(!(f[i+4>>2]&16))break;do if(k|0){if(f[k+480>>2]|0){Kc(k,i);break ea}l=i;if((f[k+304>>2]|0)>>>0>l>>>0)break;if((f[k+308>>2]|0)>>>0<=l>>>0)break;La=k+300|0;f[i>>2]=f[La>>2];f[La>>2]=i;break ea}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{La=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-La;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}else{Ha=f[r>>2]|0;La=(f[p>>2]|0)+-1|0;b[Ha+(La*20|0)+1>>0]=-8;f[Ha+(La*20|0)+16>>2]=i}while(0);n=n+1|0;if((n|0)>=(f[T>>2]|0))break;else m=m+16|0}}while(0);f[Ma>>2]=0;zm(a,X,U,16);oo(a,c,-1,0,0,e,U,U)}while(0);i=f[(f[Z>>2]|0)+64>>2]|0;if(i|0)f[i+(W<<2)>>2]=f[Na+136>>2];La=2007;break B}while(0);i=1}while(0);if((La|0)==2007){if((b[Ia+1>>0]|0)==3){f[Ja>>2]=57422;Km(a,0,57440,Ja)}do if(f[Ma>>2]|0){q=Ma+4|0;f[Ka>>2]=(f[q>>2]|0)>0?57504:57262;Km(a,0,57440,Ka);D=f[Y>>2]|0;G=f[Ra>>2]|0;H=f[Ma+24>>2]|0;F=G+12|0;i=f[F>>2]|0;p=i+60|0;E=f[p>>2]|0;f[p>>2]=E+1;p=i+64|0;if(!(E+-1&E)){n=E<<3|4;o=f[i>>2]|0;i=f[p>>2]|0;fa:do if(i){l=i;m=o+304|0;do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)))break fa}while(0);k=Lc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Kc(o,i);i=0;break}do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;La=o+300|0;f[i>>2]=f[La>>2];f[La>>2]=i;i=0;break fa}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{La=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-La;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];La=o+284|0;f[La>>2]=(f[La>>2]|0)+1;break fa}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];La=o+284|0;f[La>>2]=(f[La>>2]|0)+1;break fa}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(E<<2)>>2]=-1;r=~E;o=f[Ma>>2]|0;B=b[e>>0]|0;v=e+4|0;y=f[v>>2]|0;w=f[c>>2]|0;p=Ma+16|0;i=f[p>>2]|0;do if(i|0){k=f[Ma+12>>2]|0;m=G+136|0;l=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;La=f[G+88>>2]|0;b[La+(l*20|0)>>0]=12;d[La+(l*20|0)+2>>1]=0;f[La+(l*20|0)+4>>2]=k;f[La+(l*20|0)+8>>2]=i;f[La+(l*20|0)+12>>2]=0;f[La+(l*20|0)+16>>2]=0;b[La+(l*20|0)+1>>0]=0}else tl(G,12,k,i,0)|0;i=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(i|0)){f[m>>2]=i+1;La=f[G+88>>2]|0;b[La+(i*20|0)>>0]=11;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=0;f[La+(i*20|0)+8>>2]=H;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(G,11,0,H,0)|0;i=f[(f[F>>2]|0)+64>>2]|0;if(!i)break;f[i+(~f[p>>2]<<2)>>2]=f[m>>2]}while(0);C=f[Ma+8>>2]|0;ga:do switch(B<<24>>24){case 9:case 10:case 13:{x=f[e+8>>2]|0;z=0;break}default:{k=a+19|0;i=b[k>>0]|0;if(!(i<<24>>24)){i=a+44|0;n=(f[i>>2]|0)+1|0;f[i>>2]=n;i=0}else{i=i+-1<<24>>24;b[k>>0]=i;n=f[a+144+((i&255)<<2)>>2]|0}if((D|0)==1)if(!(i<<24>>24)){z=a+44|0;x=(f[z>>2]|0)+1|0;f[z>>2]=x;z=n;break ga}else{x=i+-1<<24>>24;b[k>>0]=x;x=f[a+144+((x&255)<<2)>>2]|0;z=n;break ga}else{i=a+32|0;k=f[i>>2]|0;l=a+28|0;m=f[l>>2]|0;if((m|0)<(D|0)){z=a+44|0;x=f[z>>2]|0;f[z>>2]=x+D;x=x+1|0;z=n;break ga}else{f[i>>2]=k+D;f[l>>2]=m-D;x=k;z=n;break ga}}}}while(0);o=(f[o>>2]|0)-(f[q>>2]|0)|0;A=Ma+32|0;do if(!(b[A>>0]&1)){m=G+136|0;i=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(i|0)){f[m>>2]=i+1;La=f[G+88>>2]|0;b[La+(i*20|0)>>0]=35;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=C;f[La+(i*20|0)+8>>2]=H;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else i=tl(G,35,C,H,0)|0;k=f[c+16>>2]|0;if((k|0)<=0){k=1;s=C;break}l=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;s=f[G+88>>2]|0;b[s+(l*20|0)>>0]=47;d[s+(l*20|0)+2>>1]=0;f[s+(l*20|0)+4>>2]=k;f[s+(l*20|0)+8>>2]=r;f[s+(l*20|0)+12>>2]=1;f[s+(l*20|0)+16>>2]=0;b[s+(l*20|0)+1>>0]=0;k=1;s=C;break}else{tl(G,47,k,r,1)|0;k=1;s=C;break}}else{m=a+44|0;n=(f[m>>2]|0)+1|0;f[m>>2]=n;m=a+40|0;s=f[m>>2]|0;f[m>>2]=s+1;m=G+136|0;do if(f[p>>2]|0){i=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(i|0)){f[m>>2]=i+1;W=f[G+88>>2]|0;b[W+(i*20|0)>>0]=17;W=W+(i*20|0)+1|0;X=W+19|0;do{b[W>>0]=0;W=W+1|0}while((W|0)<(X|0));l=i;break}else{l=tl(G,17,0,0,0)|0;break}}else l=0;while(0);i=D+1+o|0;k=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;La=f[G+88>>2]|0;b[La+(k*20|0)>>0]=116;d[La+(k*20|0)+2>>1]=0;f[La+(k*20|0)+4>>2]=s;f[La+(k*20|0)+8>>2]=n;f[La+(k*20|0)+12>>2]=i;f[La+(k*20|0)+16>>2]=0;b[La+(k*20|0)+1>>0]=0}else tl(G,116,s,n,i)|0;i=f[m>>2]|0;if(l|0){if(!(b[(f[G>>2]|0)+81>>0]|0))k=(f[G+88>>2]|0)+(((l|0)<0?i+-1|0:l)*20|0)|0;else k=72144;f[k+8>>2]=i}if((f[(f[F>>2]|0)+48>>2]|0)>(i|0)){f[m>>2]=i+1;La=f[G+88>>2]|0;b[La+(i*20|0)>>0]=34;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=C;f[La+(i*20|0)+8>>2]=H;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else i=tl(G,34,C,H,0)|0;k=f[c+16>>2]|0;do if((k|0)>0){l=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;c=f[G+88>>2]|0;b[c+(l*20|0)>>0]=47;d[c+(l*20|0)+2>>1]=0;f[c+(l*20|0)+4>>2]=k;f[c+(l*20|0)+8>>2]=r;f[c+(l*20|0)+12>>2]=1;f[c+(l*20|0)+16>>2]=0;b[c+(l*20|0)+1>>0]=0;break}else{tl(G,47,k,r,1)|0;break}}while(0);k=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;c=f[G+88>>2]|0;b[c+(k*20|0)>>0]=127;d[c+(k*20|0)+2>>1]=0;f[c+(k*20|0)+4>>2]=C;f[c+(k*20|0)+8>>2]=n;f[c+(k*20|0)+12>>2]=s;f[c+(k*20|0)+16>>2]=0;b[c+(k*20|0)+1>>0]=0;k=0;break}else{tl(G,127,C,n,s)|0;k=0;break}}while(0);u=i+1|0;if((D|0)>0){i=0;k=o+-1+k|0;do{k=k+((d[w+4+(i*20|0)+16>>1]|0)==0&1)|0;i=i+1|0}while((i|0)!=(D|0));q=G+136|0;r=G+88|0;p=D;while(1){l=p;p=p+-1|0;i=d[w+4+(p*20|0)+16>>1]|0;m=i<<16>>16==0;i=m?k:(i&65535)+-1|0;n=p+x|0;o=f[q>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(o|0)){f[q>>2]=o+1;c=f[r>>2]|0;b[c+(o*20|0)>>0]=90;d[c+(o*20|0)+2>>1]=0;f[c+(o*20|0)+4>>2]=s;f[c+(o*20|0)+8>>2]=i;f[c+(o*20|0)+12>>2]=n;f[c+(o*20|0)+16>>2]=0;b[c+(o*20|0)+1>>0]=0}else tl(G,90,s,i,n)|0;if((l|0)<=1)break;else k=k+(m<<31>>31)|0}}ha:do switch(B<<24>>24){case 12:case 14:{k=G+136|0;i=f[k>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(i|0)){f[k>>2]=i+1;e=f[G+88>>2]|0;b[e+(i*20|0)>>0]=121;d[e+(i*20|0)+2>>1]=0;f[e+(i*20|0)+4>>2]=y;f[e+(i*20|0)+8>>2]=z;f[e+(i*20|0)+12>>2]=0;f[e+(i*20|0)+16>>2]=0;b[e+(i*20|0)+1>>0]=0}else tl(G,121,y,z,0)|0;i=f[k>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(i|0)){f[k>>2]=i+1;e=f[G+88>>2]|0;b[e+(i*20|0)>>0]=122;d[e+(i*20|0)+2>>1]=0;f[e+(i*20|0)+4>>2]=y;f[e+(i*20|0)+8>>2]=x;f[e+(i*20|0)+12>>2]=z;f[e+(i*20|0)+16>>2]=0;b[e+(i*20|0)+1>>0]=0}else tl(G,122,y,x,z)|0;i=f[k>>2]|0;if((i|0)<=0)break ha;d[(f[G+88>>2]|0)+((i+-1|0)*20|0)+2>>1]=8;break}case 11:{n=f[e+16>>2]|0;o=G+136|0;i=f[o>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(i|0)){f[o>>2]=i+1;e=f[G+88>>2]|0;b[e+(i*20|0)>>0]=102;d[e+(i*20|0)+2>>1]=0;f[e+(i*20|0)+4>>2]=x;f[e+(i*20|0)+8>>2]=D;f[e+(i*20|0)+12>>2]=z;f[e+(i*20|0)+16>>2]=0;b[e+(i*20|0)+1>>0]=0}else i=tl(G,102,x,D,z)|0;k=f[G>>2]|0;ia:do if(!(b[k+81>>0]|0)){if((i|0)<0)i=(f[o>>2]|0)+-1|0;k=f[G+88>>2]|0;l=k+(i*20|0)|0;do if((D|0)<=-1){m=k+(i*20|0)+1|0;if(b[m>>0]|0)break;if((D|0)==-3){f[k+(i*20|0)+16>>2]=n;b[m>>0]=-3;break ia}if(!n)break ia;f[k+(i*20|0)+16>>2]=n;b[m>>0]=D;if((D|0)!=-12)break ia;e=n+12|0;f[e>>2]=(f[e>>2]|0)+1;break ia}while(0);ul(G,l,n,D)}else{if((D|0)==-12)break;qg(k,D,n)}while(0);i=f[o>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(i|0)){f[o>>2]=i+1;e=f[G+88>>2]|0;b[e+(i*20|0)>>0]=-123;d[e+(i*20|0)+2>>1]=0;f[e+(i*20|0)+4>>2]=y;f[e+(i*20|0)+8>>2]=z;f[e+(i*20|0)+12>>2]=x;f[e+(i*20|0)+16>>2]=0;b[e+(i*20|0)+1>>0]=0}else i=tl(G,133,y,z,x)|0;if(b[(f[G>>2]|0)+81>>0]|0)break ha;e=f[G+88>>2]|0;b[e+(i*20|0)+1>>0]=-3;f[e+(i*20|0)+16>>2]=D;break}case 10:break;case 9:{i=f[e+8>>2]|0;k=G+136|0;l=f[k>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;e=f[G+88>>2]|0;b[e+(l*20|0)>>0]=81;d[e+(l*20|0)+2>>1]=0;f[e+(l*20|0)+4>>2]=i;f[e+(l*20|0)+8>>2]=D;f[e+(l*20|0)+12>>2]=0;f[e+(l*20|0)+16>>2]=0;b[e+(l*20|0)+1>>0]=0;break ha}else{tl(G,81,i,D,0)|0;break ha}}default:{i=f[v>>2]|0;k=G+136|0;l=f[k>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;e=f[G+88>>2]|0;b[e+(l*20|0)>>0]=14;d[e+(l*20|0)+2>>1]=0;f[e+(l*20|0)+4>>2]=i;f[e+(l*20|0)+8>>2]=0;f[e+(l*20|0)+12>>2]=0;f[e+(l*20|0)+16>>2]=0;b[e+(l*20|0)+1>>0]=0;break ha}else{tl(G,14,i,0,0)|0;break ha}}}while(0);do if(z|0){if(B<<24>>24!=11){k=a+19|0;i=b[k>>0]|0;if(x){if((i&255)>=8)break;e=i+1<<24>>24;b[k>>0]=e;f[a+144+((i&255)<<2)>>2]=x;i=e}if((i&255)>=8)break;b[k>>0]=i+1<<24>>24;f[a+144+((i&255)<<2)>>2]=z;break}do if((D|0)==1){if(!x)break;i=a+19|0;k=b[i>>0]|0;if((k&255)>=8)break;b[i>>0]=k+1<<24>>24;f[a+144+((k&255)<<2)>>2]=x}else{i=a+28|0;if((f[i>>2]|0)>=(D|0))break;f[i>>2]=D;f[a+32>>2]=x}while(0);i=a+19|0;k=b[i>>0]|0;if((k&255)>=8)break;b[i>>0]=k+1<<24>>24;f[a+144+((k&255)<<2)>>2]=z}while(0);l=f[F>>2]|0;i=f[l+64>>2]|0;m=G+136|0;if(i|0)f[i+(E<<2)>>2]=f[m>>2];k=f[m>>2]|0;i=(f[l+48>>2]|0)>(k|0);do if(!(b[A>>0]&1))if(i){f[m>>2]=k+1;e=f[G+88>>2]|0;b[e+(k*20|0)>>0]=5;d[e+(k*20|0)+2>>1]=0;f[e+(k*20|0)+4>>2]=C;f[e+(k*20|0)+8>>2]=u;f[e+(k*20|0)+12>>2]=0;f[e+(k*20|0)+16>>2]=0;b[e+(k*20|0)+1>>0]=0;break}else{tl(G,5,C,u,0)|0;break}else if(i){f[m>>2]=k+1;e=f[G+88>>2]|0;b[e+(k*20|0)>>0]=3;d[e+(k*20|0)+2>>1]=0;f[e+(k*20|0)+4>>2]=C;f[e+(k*20|0)+8>>2]=u;f[e+(k*20|0)+12>>2]=0;f[e+(k*20|0)+16>>2]=0;b[e+(k*20|0)+1>>0]=0;break}else{tl(G,3,C,u,0)|0;break}while(0);i=f[Ma+12>>2]|0;do if(i|0){k=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;e=f[G+88>>2]|0;b[e+(k*20|0)>>0]=66;d[e+(k*20|0)+2>>1]=0;f[e+(k*20|0)+4>>2]=i;f[e+(k*20|0)+8>>2]=0;f[e+(k*20|0)+12>>2]=0;f[e+(k*20|0)+16>>2]=0;b[e+(k*20|0)+1>>0]=0;break}else{tl(G,66,i,0,0)|0;break}}while(0);i=f[(f[F>>2]|0)+64>>2]|0;if(!i)break;f[i+(~H<<2)>>2]=f[m>>2]}while(0);i=f[(f[Z>>2]|0)+64>>2]|0;if(i|0)f[i+(_<<2)>>2]=f[Na+136>>2];i=(f[Oa>>2]|0)>0&1}if(!g){l=i;break a}jg(Qa,g);l=i;break a}else r=g;while(0);A=f[a>>2]|0;f[Ha>>2]=f[e>>2];f[Ha+4>>2]=f[e+4>>2];f[Ha+8>>2]=f[e+8>>2];f[Ha+12>>2]=f[e+12>>2];f[Ha+16>>2]=f[e+16>>2];f[Ha+20>>2]=f[e+20>>2];g=(f[r+48>>2]|0)==0;ja:do if(g?(ma=r+60|0,(f[ma>>2]|0)==0):0){g=f[Ra>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[A+76>>1]&8)==0:0)b[a+23>>0]=1;z=sl(a)|0}else z=g;if((b[Ha>>0]|0)==12){g=f[Ha+4>>2]|0;i=f[f[c>>2]>>2]|0;k=z+136|0;l=f[k>>2]|0;if((f[(f[z+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;Qa=f[z+88>>2]|0;b[Qa+(l*20|0)>>0]=113;d[Qa+(l*20|0)+2>>1]=0;f[Qa+(l*20|0)+4>>2]=g;f[Qa+(l*20|0)+8>>2]=i;f[Qa+(l*20|0)+12>>2]=0;f[Qa+(l*20|0)+16>>2]=0;b[Qa+(l*20|0)+1>>0]=0}else tl(z,113,g,i,0)|0;b[Ha>>0]=14}g=f[Ga>>2]|0;if(g&1024|0){m=(f[c+60>>2]|0)==0;k=m&1;g=c;i=1;while(1){l=f[g+52>>2]|0;if(!l)break;else{g=l;i=i+k|0}}f[ia>>2]=i;f[ia+4>>2]=(i|0)==1?72788:57313;Km(a,0,57315,ia);i=i&65535;if(!m){oo(a,g,-1,0,0,Ha,1,1);i=0;g=0;La=705;break}while(1){oo(a,g,-1,0,0,Ha,1,1);d[g+6>>1]=i;g=f[g+56>>2]|0;if(!g){i=0;g=0;La=705;break ja}}}do if(!(g&8192)){if(f[Y>>2]|0){l=qo(a,c,e)|0;break ja}if(!(f[r+52>>2]|0)){Km(a,1,57338,ga);Km(a,1,57353,ha)}o=c+4|0;switch(b[o>>0]|0){case 124:{n=c+12|0;i=r+12|0;f[i>>2]=f[n>>2];l=c+16|0;k=r+16|0;f[k>>2]=f[l>>2];Qa=c+60|0;f[ma>>2]=f[Qa>>2];g=Kl(a,r,Ha)|0;f[Qa>>2]=0;if(g|0){i=0;La=705;break ja}f[fa>>2]=0;i=f[i>>2]|0;f[n>>2]=i;f[l>>2]=f[k>>2];do if(i){o=z+136|0;g=f[o>>2]|0;p=z+12|0;if((f[(f[p>>2]|0)+48>>2]|0)>(g|0)){f[o>>2]=g+1;Qa=f[z+88>>2]|0;b[Qa+(g*20|0)>>0]=20;d[Qa+(g*20|0)+2>>1]=0;f[Qa+(g*20|0)+4>>2]=i;f[Qa+(g*20|0)+8>>2]=0;f[Qa+(g*20|0)+12>>2]=0;f[Qa+(g*20|0)+16>>2]=0;b[Qa+(g*20|0)+1>>0]=0}else g=tl(z,20,i,0,0)|0;m=f[l>>2]|0;if(!m){u=g;break}i=f[n>>2]|0;k=m+1|0;l=f[o>>2]|0;if((f[(f[p>>2]|0)+48>>2]|0)>(l|0)){f[o>>2]=l+1;u=f[z+88>>2]|0;b[u+(l*20|0)>>0]=-103;d[u+(l*20|0)+2>>1]=0;f[u+(l*20|0)+4>>2]=i;f[u+(l*20|0)+8>>2]=k;f[u+(l*20|0)+12>>2]=m;f[u+(l*20|0)+16>>2]=0;b[u+(l*20|0)+1>>0]=0;u=g;break}else{tl(z,153,i,k,m)|0;u=g;break}}else u=0;while(0);Km(a,1,49266,ka);g=Kl(a,c,Ha)|0;m=f[fa>>2]|0;f[fa>>2]=r;s=c+6|0;i=d[s>>1]|0;k=d[r+6>>1]|0;l=i<<16>>16;n=k<<16>>16;do if(i<<16>>16>16){if((l+49|0)<(n|0)){i=k;break}if((l+31|0)<(n|0)){i=n+1&65535;break}else{i=(h[22960+(n-l)>>0]|0)+n&65535;break}}else{if((n+49|0)<(l|0))break;if((n+31|0)<(l|0)){i=l+1&65535;break}else{i=(h[22960+(l-n)>>0]|0)+l&65535;break}}while(0);d[s>>1]=i;i=f[ma>>2]|0;do if(i|0){Qa=(Ak(f[i+12>>2]|0,Da)|0)!=0;i=f[Da>>2]|0;if(!(Qa&(i|0)>0))break;q=d[s>>1]|0;k=((i|0)<0)<<31>>31;r=i>>>0<8;do if(r){if(i>>>0<2){l=0;break}l=40;o=i;n=k;do{l=(l&65535)+65526|0;o=WA(o|0,n|0,1)|0;n=ba()|0}while(n>>>0<0|(n|0)==0&o>>>0<8);n=l&65535;l=o;La=404}else{if(i>>>0>255){l=40;p=i;n=k;do{l=(l&65535)+40|0;Qa=p;p=VA(p|0,n|0,4)|0;Pa=n;n=ba()|0}while(Pa>>>0>0|(Pa|0)==0&Qa>>>0>4095);o=l&65535;l=p}else{o=40;n=k;l=i}if(!(n>>>0>0|(n|0)==0&l>>>0>15)){n=o;La=404;break}do{o=(o&65535)+10&65535;Qa=l;l=VA(l|0,n|0,1)|0;Pa=n;n=ba()|0}while(Pa>>>0>0|(Pa|0)==0&Qa>>>0>31);n=o;La=404}while(0);if((La|0)==404)l=(n&65535)+65526+(j[7936+((l&7)<<1)>>1]|0)&65535;if(q<<16>>16<=l<<16>>16)break;do if(r){if(i>>>0<2){i=0;break}l=40;do{l=(l&65535)+65526|0;i=WA(i|0,k|0,1)|0;k=ba()|0}while(k>>>0<0|(k|0)==0&i>>>0<8);l=l&65535;La=419}else{if(i>>>0>255){l=40;do{l=(l&65535)+40|0;Qa=i;i=VA(i|0,k|0,4)|0;Pa=k;k=ba()|0}while(Pa>>>0>0|(Pa|0)==0&Qa>>>0>4095);l=l&65535}else l=40;if(!(k>>>0>0|(k|0)==0&i>>>0>15)){La=419;break}do{l=(l&65535)+10&65535;Qa=i;i=VA(i|0,k|0,1)|0;Pa=k;k=ba()|0}while(Pa>>>0>0|(Pa|0)==0&Qa>>>0>31);La=419}while(0);if((La|0)==419)i=(l&65535)+65526+(j[7936+((i&7)<<1)>>1]|0)&65535;d[s>>1]=i}while(0);if(u|0){k=f[z+136>>2]|0;if(!(b[(f[z>>2]|0)+81>>0]|0))i=(f[z+88>>2]|0)+(((u|0)<0?k+-1|0:u)*20|0)|0;else i=72144;f[i+8>>2]=k}break}case 123:case 125:{if((b[Ha>>0]|0)==1)w=f[Ha+4>>2]|0;else{i=a+40|0;k=f[i>>2]|0;f[i>>2]=k+1;i=z+136|0;g=f[i>>2]|0;if((f[(f[z+12>>2]|0)+48>>2]|0)>(g|0)){f[i>>2]=g+1;Qa=f[z+88>>2]|0;b[Qa+(g*20|0)>>0]=113;d[Qa+(g*20|0)+2>>1]=0;f[Qa+(g*20|0)+4>>2]=k;f[Qa+(g*20|0)+8>>2]=0;f[Qa+(g*20|0)+12>>2]=0;f[Qa+(g*20|0)+16>>2]=0;b[Qa+(g*20|0)+1>>0]=0}else g=tl(z,113,k,0,0)|0;f[c+24>>2]=g;g=c;while(1){i=f[g+56>>2]|0;if(!i)break;else g=i}w=g+8|0;f[w>>2]=f[w>>2]|32;w=k}b[Da>>0]=1;f[Da+4>>2]=w;f[Da+16>>2]=0;f[Da+8>>2]=0;f[Da+12>>2]=0;g=Kl(a,r,Da)|0;if(g|0){i=0;La=705;break ja}Qa=b[o>>0]|0;f[fa>>2]=0;p=c+60|0;q=f[p>>2]|0;f[p>>2]=0;b[Da>>0]=Qa<<24>>24==125?2:1;switch(Qa<<24>>24){case 124:{g=49266;break}case 126:{g=49256;break}case 125:{g=49249;break}default:g=49243}f[ja>>2]=g;Km(a,1,57372,ja);g=Kl(a,c,Da)|0;i=f[Y>>2]|0;if(i|0)jg(A,i);m=f[fa>>2]|0;f[fa>>2]=r;f[Y>>2]=0;if((b[o>>0]|0)==123){o=c+6|0;i=d[o>>1]|0;k=d[r+6>>1]|0;l=i<<16>>16;n=k<<16>>16;do if(i<<16>>16>16){if((l+49|0)<(n|0)){i=k;break}if((l+31|0)<(n|0)){i=n+1&65535;break}else{i=(h[22960+(n-l)>>0]|0)+n&65535;break}}else{if((n+49|0)<(l|0))break;if((n+31|0)<(l|0)){i=l+1&65535;break}else{i=(h[22960+(l-n)>>0]|0)+l&65535;break}}while(0);d[o>>1]=i}i=f[p>>2]|0;if(i|0)ig(A,i);f[p>>2]=q;f[c+12>>2]=0;f[c+16>>2]=0;do if((b[Ha>>0]|0)!=1){u=z+12|0;i=f[u>>2]|0;q=i+60|0;v=f[q>>2]|0;f[q>>2]=v+1;q=i+64|0;if(!(v+-1&v)){o=v<<3|4;p=f[i>>2]|0;i=f[q>>2]|0;ka:do if(i){l=i;n=p+304|0;do if((f[n>>2]|0)>>>0<=l>>>0){if((f[p+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0)))break ka}while(0);k=Lc(p,i,o,0)|0;if(k|0){i=k;break}if(f[p+480>>2]|0){Kc(p,i);i=0;break}do if((f[n>>2]|0)>>>0<=l>>>0){if((f[p+308>>2]|0)>>>0<=l>>>0)break;Qa=p+300|0;f[i>>2]=f[Qa>>2];f[Qa>>2]=i;i=0;break ka}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{Qa=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Qa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){k=p+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];Qa=p+284|0;f[Qa>>2]=(f[Qa>>2]|0)+1;break ka}k=p+296|0;i=f[k>>2]|0;if(!i){i=p+292|0;break}else{f[k>>2]=f[i>>2];Qa=p+284|0;f[Qa>>2]=(f[Qa>>2]|0)+1;break ka}}else i=p+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(p,o,0)|0}while(0);f[q>>2]=i}else i=f[q>>2]|0;if(i|0)f[i+(v<<2)>>2]=-1;r=~v;i=f[u>>2]|0;q=i+60|0;s=f[q>>2]|0;f[q>>2]=s+1;q=i+64|0;if(!(s+-1&s)){o=s<<3|4;p=f[i>>2]|0;i=f[q>>2]|0;la:do if(i){l=i;n=p+304|0;do if((f[n>>2]|0)>>>0<=l>>>0){if((f[p+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0)))break la}while(0);k=Lc(p,i,o,0)|0;if(k|0){i=k;break}if(f[p+480>>2]|0){Kc(p,i);i=0;break}do if((f[n>>2]|0)>>>0<=l>>>0){if((f[p+308>>2]|0)>>>0<=l>>>0)break;Qa=p+300|0;f[i>>2]=f[Qa>>2];f[Qa>>2]=i;i=0;break la}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{Qa=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Qa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){k=p+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];Qa=p+284|0;f[Qa>>2]=(f[Qa>>2]|0)+1;break la}k=p+296|0;i=f[k>>2]|0;if(!i){i=p+292|0;break}else{f[k>>2]=f[i>>2];Qa=p+284|0;f[Qa>>2]=(f[Qa>>2]|0)+1;break la}}else i=p+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(p,o,0)|0}while(0);f[q>>2]=i}else i=f[q>>2]|0;if(i|0)f[i+(s<<2)>>2]=-1;ro(a,c,r);n=z+136|0;i=f[n>>2]|0;if((f[(f[u>>2]|0)+48>>2]|0)>(i|0)){f[n>>2]=i+1;Qa=f[z+88>>2]|0;b[Qa+(i*20|0)>>0]=36;d[Qa+(i*20|0)+2>>1]=0;f[Qa+(i*20|0)+4>>2]=w;f[Qa+(i*20|0)+8>>2]=r;f[Qa+(i*20|0)+12>>2]=0;f[Qa+(i*20|0)+16>>2]=0;b[Qa+(i*20|0)+1>>0]=0}else tl(z,36,w,r,0)|0;l=f[n>>2]|0;oo(a,c,w,0,0,Ha,~s,r);k=f[u>>2]|0;i=f[k+64>>2]|0;if(i|0)f[i+(s<<2)>>2]=f[n>>2];i=f[n>>2]|0;if((f[k+48>>2]|0)>(i|0)){f[n>>2]=i+1;Qa=f[z+88>>2]|0;b[Qa+(i*20|0)>>0]=5;d[Qa+(i*20|0)+2>>1]=0;f[Qa+(i*20|0)+4>>2]=w;f[Qa+(i*20|0)+8>>2]=l;f[Qa+(i*20|0)+12>>2]=0;f[Qa+(i*20|0)+16>>2]=0;b[Qa+(i*20|0)+1>>0]=0}else tl(z,5,w,l,0)|0;k=f[u>>2]|0;i=f[k+64>>2]|0;if(i|0)f[i+(v<<2)>>2]=f[n>>2];i=f[n>>2]|0;if((f[k+48>>2]|0)>(i|0)){f[n>>2]=i+1;Qa=f[z+88>>2]|0;b[Qa+(i*20|0)>>0]=117;d[Qa+(i*20|0)+2>>1]=0;f[Qa+(i*20|0)+4>>2]=w;f[Qa+(i*20|0)+8>>2]=0;f[Qa+(i*20|0)+12>>2]=0;f[Qa+(i*20|0)+16>>2]=0;b[Qa+(i*20|0)+1>>0]=0;break}else{tl(z,117,w,0,0)|0;break}}while(0);break}default:{x=a+40|0;w=f[x>>2]|0;v=w+1|0;f[x>>2]=w+2;x=z+136|0;g=f[x>>2]|0;y=z+12|0;if((f[(f[y>>2]|0)+48>>2]|0)>(g|0)){f[x>>2]=g+1;Qa=f[z+88>>2]|0;b[Qa+(g*20|0)>>0]=113;d[Qa+(g*20|0)+2>>1]=0;f[Qa+(g*20|0)+4>>2]=w;f[Qa+(g*20|0)+8>>2]=0;f[Qa+(g*20|0)+12>>2]=0;f[Qa+(g*20|0)+16>>2]=0;b[Qa+(g*20|0)+1>>0]=0}else g=tl(z,113,w,0,0)|0;f[c+24>>2]=g;g=c;while(1){i=f[g+56>>2]|0;if(!i)break;else g=i}i=g+8|0;f[i>>2]=f[i>>2]|32;b[Da>>0]=1;i=Da+4|0;f[i>>2]=w;f[Da+16>>2]=0;f[Da+8>>2]=0;f[Da+12>>2]=0;g=Kl(a,r,Da)|0;if(g|0){i=0;La=705;break ja}g=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(g|0)){f[x>>2]=g+1;Qa=f[z+88>>2]|0;b[Qa+(g*20|0)>>0]=113;d[Qa+(g*20|0)+2>>1]=0;f[Qa+(g*20|0)+4>>2]=v;f[Qa+(g*20|0)+8>>2]=0;f[Qa+(g*20|0)+12>>2]=0;f[Qa+(g*20|0)+16>>2]=0;b[Qa+(g*20|0)+1>>0]=0}else g=tl(z,113,v,0,0)|0;f[c+28>>2]=g;f[fa>>2]=0;l=c+60|0;n=f[l>>2]|0;f[l>>2]=0;f[i>>2]=v;switch(b[o>>0]|0){case 124:{g=49266;break}case 126:{g=49256;break}case 125:{g=49249;break}default:g=49243}f[la>>2]=g;Km(a,1,57372,la);g=Kl(a,c,Da)|0;m=f[fa>>2]|0;f[fa>>2]=r;k=c+6|0;i=d[r+6>>1]|0;if((d[k>>1]|0)>i<<16>>16)d[k>>1]=i;i=f[l>>2]|0;if(i|0)ig(A,i);f[l>>2]=n;i=f[y>>2]|0;q=i+60|0;u=f[q>>2]|0;f[q>>2]=u+1;q=i+64|0;if(!(u+-1&u)){o=u<<3|4;p=f[i>>2]|0;i=f[q>>2]|0;ma:do if(i){l=i;n=p+304|0;do if((f[n>>2]|0)>>>0<=l>>>0){if((f[p+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0)))break ma}while(0);k=Lc(p,i,o,0)|0;if(k|0){i=k;break}if(f[p+480>>2]|0){Kc(p,i);i=0;break}do if((f[n>>2]|0)>>>0<=l>>>0){if((f[p+308>>2]|0)>>>0<=l>>>0)break;Qa=p+300|0;f[i>>2]=f[Qa>>2];f[Qa>>2]=i;i=0;break ma}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{Qa=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Qa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){k=p+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];Qa=p+284|0;f[Qa>>2]=(f[Qa>>2]|0)+1;break ma}k=p+296|0;i=f[k>>2]|0;if(!i){i=p+292|0;break}else{f[k>>2]=f[i>>2];Qa=p+284|0;f[Qa>>2]=(f[Qa>>2]|0)+1;break ma}}else i=p+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(p,o,0)|0}while(0);f[q>>2]=i}else i=f[q>>2]|0;if(i|0)f[i+(u<<2)>>2]=-1;r=~u;i=f[y>>2]|0;q=i+60|0;s=f[q>>2]|0;f[q>>2]=s+1;q=i+64|0;if(!(s+-1&s)){o=s<<3|4;p=f[i>>2]|0;i=f[q>>2]|0;na:do if(i){l=i;n=p+304|0;do if((f[n>>2]|0)>>>0<=l>>>0){if((f[p+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0)))break na}while(0);k=Lc(p,i,o,0)|0;if(k|0){i=k;break}if(f[p+480>>2]|0){Kc(p,i);i=0;break}do if((f[n>>2]|0)>>>0<=l>>>0){if((f[p+308>>2]|0)>>>0<=l>>>0)break;Qa=p+300|0;f[i>>2]=f[Qa>>2];f[Qa>>2]=i;i=0;break na}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{Qa=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Qa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){k=p+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];Qa=p+284|0;f[Qa>>2]=(f[Qa>>2]|0)+1;break na}k=p+296|0;i=f[k>>2]|0;if(!i){i=p+292|0;break}else{f[k>>2]=f[i>>2];Qa=p+284|0;f[Qa>>2]=(f[Qa>>2]|0)+1;break na}}else i=p+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(p,o,0)|0}while(0);f[q>>2]=i}else i=f[q>>2]|0;if(i|0)f[i+(s<<2)>>2]=-1;o=~s;ro(a,c,r);i=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(i|0)){f[x>>2]=i+1;Qa=f[z+88>>2]|0;b[Qa+(i*20|0)>>0]=36;d[Qa+(i*20|0)+2>>1]=0;f[Qa+(i*20|0)+4>>2]=w;f[Qa+(i*20|0)+8>>2]=r;f[Qa+(i*20|0)+12>>2]=0;f[Qa+(i*20|0)+16>>2]=0;b[Qa+(i*20|0)+1>>0]=0}else tl(z,36,w,r,0)|0;l=a+19|0;i=b[l>>0]|0;if(!(i<<24>>24)){Qa=a+44|0;k=(f[Qa>>2]|0)+1|0;f[Qa>>2]=k}else{k=i+-1<<24>>24;b[l>>0]=k;k=f[a+144+((k&255)<<2)>>2]|0}i=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(i|0)){f[x>>2]=i+1;n=f[z+88>>2]|0;b[n+(i*20|0)>>0]=-128;d[n+(i*20|0)+2>>1]=0;f[n+(i*20|0)+4>>2]=w;f[n+(i*20|0)+8>>2]=k;f[n+(i*20|0)+12>>2]=0;f[n+(i*20|0)+16>>2]=0;b[n+(i*20|0)+1>>0]=0;n=i}else n=tl(z,128,w,k,0)|0;i=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(i|0)){f[x>>2]=i+1;Qa=f[z+88>>2]|0;b[Qa+(i*20|0)>>0]=28;d[Qa+(i*20|0)+2>>1]=0;f[Qa+(i*20|0)+4>>2]=v;f[Qa+(i*20|0)+8>>2]=o;f[Qa+(i*20|0)+12>>2]=k;f[Qa+(i*20|0)+16>>2]=0;b[Qa+(i*20|0)+1>>0]=0}else i=tl(z,28,v,o,k)|0;if(!(b[(f[z>>2]|0)+81>>0]|0)){Qa=f[z+88>>2]|0;b[Qa+(i*20|0)+1>>0]=-3;f[Qa+(i*20|0)+16>>2]=0}do if(k|0){i=b[l>>0]|0;if((i&255)>=8)break;b[l>>0]=i+1<<24>>24;f[a+144+((i&255)<<2)>>2]=k}while(0);oo(a,c,w,0,0,Ha,o,r);k=f[y>>2]|0;i=f[k+64>>2]|0;if(i|0)f[i+(s<<2)>>2]=f[x>>2];i=f[x>>2]|0;if((f[k+48>>2]|0)>(i|0)){f[x>>2]=i+1;Qa=f[z+88>>2]|0;b[Qa+(i*20|0)>>0]=5;d[Qa+(i*20|0)+2>>1]=0;f[Qa+(i*20|0)+4>>2]=w;f[Qa+(i*20|0)+8>>2]=n;f[Qa+(i*20|0)+12>>2]=0;f[Qa+(i*20|0)+16>>2]=0;b[Qa+(i*20|0)+1>>0]=0}else tl(z,5,w,n,0)|0;k=f[y>>2]|0;i=f[k+64>>2]|0;if(i|0)f[i+(u<<2)>>2]=f[x>>2];i=f[x>>2]|0;if((f[k+48>>2]|0)>(i|0)){f[x>>2]=i+1;Qa=f[z+88>>2]|0;b[Qa+(i*20|0)>>0]=117;d[Qa+(i*20|0)+2>>1]=0;f[Qa+(i*20|0)+4>>2]=v;f[Qa+(i*20|0)+8>>2]=0;f[Qa+(i*20|0)+12>>2]=0;f[Qa+(i*20|0)+16>>2]=0;b[Qa+(i*20|0)+1>>0]=0}else tl(z,117,v,0,0)|0;i=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(i|0)){f[x>>2]=i+1;Qa=f[z+88>>2]|0;b[Qa+(i*20|0)>>0]=117;d[Qa+(i*20|0)+2>>1]=0;f[Qa+(i*20|0)+4>>2]=w;f[Qa+(i*20|0)+8>>2]=0;f[Qa+(i*20|0)+12>>2]=0;f[Qa+(i*20|0)+16>>2]=0;b[Qa+(i*20|0)+1>>0]=0}else tl(z,117,w,0,0)|0}}if(f[c+56>>2]|0)break;l=a+208|0;i=f[l>>2]|0;if(!i)i=0;else{k=f[Ra>>2]|0;if((i|0)<0)i=(f[k+136>>2]|0)+-1|0;if(!(b[(f[k>>2]|0)+81>>0]|0))i=(f[k+88>>2]|0)+(i*20|0)|0;else i=72144;i=f[i+8>>2]|0}f[l>>2]=i}else{po(a,c,Ha);g=0;m=0}while(0);if(f[Ga>>2]&32){w=f[f[c>>2]>>2]|0;n=w+1|0;o=n*5|0;l=o+20|0;p=A+272|0;oa:do if(f[p>>2]|0)if(!(b[A+81>>0]|0))La=655;else{i=m;g=7;La=705;break ja}else{do if(!(0<0|(0==0?(j[A+276>>1]|0)>>>0>>0:0))){i=A+300|0;k=f[i>>2]|0;if(k|0){f[i>>2]=f[k>>2];v=A+284|0;f[v>>2]=(f[v>>2]|0)+1;v=k;break oa}i=A+296|0;k=f[i>>2]|0;if(!k){i=A+292|0;break}else{f[i>>2]=f[k>>2];v=A+284|0;f[v>>2]=(f[v>>2]|0)+1;v=k;break oa}}else i=A+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;La=655}while(0);if((La|0)==655)v=Dc(A,l,0)|0;if(!v){i=A+81|0;do if(!(b[i>>0]|0)){if(b[A+82>>0]|0)break;b[i>>0]=1;if((f[A+180>>2]|0)>0)f[A+264>>2]=1;f[p>>2]=(f[p>>2]|0)+1}while(0);if(!v){i=m;g=7;La=705;break}else{u=0;s=1}}else{f[v+16>>2]=v+20+(n<<2);d[v+6>>1]=w;d[v+8>>1]=n;b[v+4>>0]=b[A+78>>0]|0;f[v+12>>2]=A;f[v>>2]=1;_A(v+24|0,0,o+-4|0)|0;u=v;s=0}if((w|0)>0){l=A+8|0;i=v+20|0;k=0;while(1){Qa=so(a,c,k)|0;f[i>>2]=Qa;if(!Qa)f[i>>2]=f[l>>2];k=k+1|0;if((k|0)==(w|0))break;else i=i+4|0}}p=z+88|0;q=u+12|0;r=u;o=c;do{n=o+24|0;l=f[n>>2]|0;i=(l|0)<0;do if(s){if(i)break;do if(!(b[(f[z>>2]|0)+81>>0]|0)){i=f[p>>2]|0;f[i+(l*20|0)+8>>2]=w;f[v>>2]=(f[v>>2]|0)+1;if(!(b[i+(l*20|0)+1>>0]|0))break;ul(z,i+(l*20|0)|0,u,-9)}else{f[18038]=w;f[v>>2]=(f[v>>2]|0)+1}while(0);f[n>>2]=-1;i=o+28|0;k=f[i>>2]|0;if((k|0)<0)break;do if(!(b[(f[z>>2]|0)+81>>0]|0)){l=f[p>>2]|0;f[l+(k*20|0)+8>>2]=w;f[v>>2]=(f[v>>2]|0)+1;if(!(b[l+(k*20|0)+1>>0]|0))break;ul(z,l+(k*20|0)|0,u,-9)}else{f[18038]=w;f[v>>2]=(f[v>>2]|0)+1}while(0);f[i>>2]=-1}else{if(i)break;i=f[z>>2]|0;pa:do if(!(b[i+81>>0]|0)){i=f[p>>2]|0;f[i+(l*20|0)+8>>2]=w;f[v>>2]=(f[v>>2]|0)+1;k=i+(l*20|0)+1|0;if(!(b[k>>0]|0)){f[i+(l*20|0)+16>>2]=u;b[k>>0]=-9;break}else{ul(z,i+(l*20|0)|0,u,-9);break}}else{f[18038]=w;f[v>>2]=(f[v>>2]|0)+1;if(f[i+480>>2]|0)break;Qa=(f[u>>2]|0)+-1|0;f[u>>2]=Qa;if(Qa|0)break;i=f[q>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,u);break pa}if((f[i+304>>2]|0)>>>0>r>>>0)break;if((f[i+308>>2]|0)>>>0<=r>>>0)break;Qa=i+300|0;f[u>>2]=f[Qa>>2];f[Qa>>2]=u;break pa}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{Qa=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-Qa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}}while(0);f[n>>2]=-1;n=o+28|0;l=f[n>>2]|0;if((l|0)<0)break;i=f[z>>2]|0;qa:do if(!(b[i+81>>0]|0)){i=f[p>>2]|0;f[i+(l*20|0)+8>>2]=w;f[v>>2]=(f[v>>2]|0)+1;k=i+(l*20|0)+1|0;if(!(b[k>>0]|0)){f[i+(l*20|0)+16>>2]=u;b[k>>0]=-9;break}else{ul(z,i+(l*20|0)|0,u,-9);break}}else{f[18038]=w;f[v>>2]=(f[v>>2]|0)+1;if(f[i+480>>2]|0)break;Qa=(f[u>>2]|0)+-1|0;f[u>>2]=Qa;if(Qa|0)break;i=f[q>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,u);break qa}if((f[i+304>>2]|0)>>>0>r>>>0)break;if((f[i+308>>2]|0)>>>0<=r>>>0)break;Qa=i+300|0;f[u>>2]=f[Qa>>2];f[Qa>>2]=u;break qa}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{Qa=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-Qa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}}while(0);f[n>>2]=-1}while(0);o=f[o+52>>2]|0}while((o|0)!=0);Qa=(f[v>>2]|0)+-1|0;f[v>>2]=Qa;if(Qa|0){i=m;La=705;break}i=f[v+12>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,u);i=m;La=705;break ja}k=v;if((f[i+304>>2]|0)>>>0>k>>>0)break;if((f[i+308>>2]|0)>>>0<=k>>>0)break;i=i+300|0;f[v>>2]=f[i>>2];f[i>>2]=v;i=m;La=705;break ja}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](u);i=m;La=705;break}else{i=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);i=m;La=705;break}}else{i=m;La=705}}else La=342;while(0);if((La|0)==342){i=g?57256:57262;switch(b[c+4>>0]|0){case 124:{g=49266;break}case 126:{g=49256;break}case 125:{g=49249;break}default:g=49243}f[ea>>2]=i;f[ea+4>>2]=g;ni(a,57271,ea);i=0;g=1;La=705}if((La|0)==705){f[e+8>>2]=f[Ha+8>>2];f[e+12>>2]=f[Ha+12>>2];if(!i)l=g;else{mg(A,i,1);l=g}}if(f[c+56>>2]|0){Ra=l;t=Sa;return Ra|0}k=a+208|0;g=f[k>>2]|0;if(!g)g=0;else{i=f[Ra>>2]|0;if((g|0)<0)g=(f[i+136>>2]|0)+-1|0;if(!(b[(f[i>>2]|0)+81>>0]|0))g=(f[i+88>>2]|0)+(g*20|0)|0;else g=72144;g=f[g+8>>2]|0}f[k>>2]=g;Ra=l;t=Sa;return Ra|0}else l=1;while(0);g=f[Pa+28>>2]|0;do if(g|0){if(Qa|0){if(f[Qa+480>>2]|0){Kc(Qa,g);break}e=g;if((f[Qa+304>>2]|0)>>>0<=e>>>0?(f[Qa+308>>2]|0)>>>0>e>>>0:0){e=Qa+300|0;f[g>>2]=f[e>>2];f[e>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{e=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[Pa+40>>2]|0;do if(g|0){if(Qa|0){if(f[Qa+480>>2]|0){Kc(Qa,g);break}e=g;if((f[Qa+304>>2]|0)>>>0<=e>>>0?(f[Qa+308>>2]|0)>>>0>e>>>0:0){e=Qa+300|0;f[g>>2]=f[e>>2];f[e>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{e=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);k=a+208|0;g=f[k>>2]|0;if(!g)g=0;else{i=f[Ra>>2]|0;if((g|0)<0)g=(f[i+136>>2]|0)+-1|0;if(!(b[(f[i>>2]|0)+81>>0]|0))g=(f[i+88>>2]|0)+(g*20|0)|0;else g=72144;g=f[g+8>>2]|0}f[k>>2]=g;Ra=l;t=Sa;return Ra|0}function Ll(a,c,e,g,h,i,k,l,m){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+96|0;q=u+80|0;s=u;p=f[a>>2]|0;a:do if(f[p+272>>2]|0)if(!(b[p+81>>0]|0))r=11;else n=0;else{do if((j[p+276>>1]|0)>=76){o=p+300|0;n=f[o>>2]|0;if(n|0){f[o>>2]=f[n>>2];p=p+284|0;f[p>>2]=(f[p>>2]|0)+1;break a}o=p+296|0;n=f[o>>2]|0;if(!n){n=p+292|0;break}else{f[o>>2]=f[n>>2];p=p+284|0;f[p>>2]=(f[p>>2]|0)+1;break a}}else n=p+288|0;while(0);f[n>>2]=(f[n>>2]|0)+1;r=11}while(0);if((r|0)==11)n=Dc(p,76,0)|0;o=(n|0)==0?s:n;if(!c){c=f[a>>2]|0;f[q>>2]=0;f[q+4>>2]=0;c=Dk(c,168,q,0)|0;c=ml(f[a>>2]|0,0,c)|0}f[o>>2]=c;b[o+4>>0]=127;f[o+8>>2]=l;f[o+12>>2]=0;f[o+16>>2]=0;q=a+100|0;l=(f[q>>2]|0)+1|0;f[q>>2]=l;f[o+20>>2]=l;f[o+24>>2]=-1;f[o+28>>2]=-1;d[o+6>>1]=0;if(!e){n=f[a>>2]|0;b:do if(!n){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](80)|0;r=38;break}e=ib[f[37372>>2]&255](80)|0;if((f[18194]|0)>>>0<80)f[18194]=80;n=71896;c=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&c>>>0>0){l=f[18187]|0;q=LA(c|0,n|0,e|0,((e|0)<0)<<31>>31|0)|0;p=ba()|0;f[17976]=((p|0)<0|(p|0)==0&q>>>0<=l>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(e){c=ib[f[37368>>2]&255](e)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0){f[18196]=c;r=39}else r=39}else e=0}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){e=0;break}}else{do if((j[n+276>>1]|0)>=80){c=n+300|0;e=f[c>>2]|0;if(e|0){f[c>>2]=f[e>>2];r=n+284|0;f[r>>2]=(f[r>>2]|0)+1;r=38;break b}c=n+296|0;e=f[c>>2]|0;if(!e){e=n+292|0;break}else{f[c>>2]=f[e>>2];r=n+284|0;f[r>>2]=(f[r>>2]|0)+1;r=38;break b}}else e=n+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(n,80,0)|0;r=38}while(0);if((r|0)==38)if(!e)e=0;else r=39;if((r|0)==39){c=e;n=c+80|0;do{b[c>>0]=0;c=c+1|0}while((c|0)<(n|0))}}f[o+32>>2]=e;f[o+36>>2]=g;f[o+40>>2]=h;f[o+44>>2]=i;f[o+48>>2]=k;f[o+52>>2]=0;f[o+56>>2]=0;f[o+60>>2]=m;f[o+64>>2]=0;f[o+68>>2]=0;f[o+72>>2]=0;e=f[a>>2]|0;if(!(b[e+81>>0]|0)){s=o;t=u;return s|0}mg(e,o,(o|0)!=(s|0)&1);s=0;t=u;return s|0}function Ml(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;v=t;t=t+48|0;s=v+32|0;u=v+16|0;r=v;p=v+36|0;f[p>>2]=c;f[p+4>>2]=d;f[p+8>>2]=e;a:do if(!c)g=0;else{o=0;g=0;n=c;b:while(1){m=f[n+4>>2]|0;if((m|0)<=0)break;c:do if((m|0)==7){j=f[n>>2]|0;if(!j)break b;i=b[j>>0]|0;d:do if(!(i<<24>>24)){i=23056;q=10}else{l=i&255;i=1232+l|0;do if((l|32|0)==110){i=b[j+1>>0]|0;if(!(i<<24>>24)){i=23057;q=10;break d}l=i&255;i=1232+l|0;if((l|32|0)==97){i=b[j+2>>0]|0;if(!(i<<24>>24)){i=23058;q=10;break d}l=i&255;i=1232+l|0;if((l|32|0)==116){i=b[j+3>>0]|0;if(!(i<<24>>24)){i=23059;q=10;break d}l=i&255;i=1232+l|0;if((l|32|0)==117){i=b[j+4>>0]|0;if(!(i<<24>>24)){i=23060;q=10;break d}l=i&255;i=1232+l|0;if((l|32|0)==114){i=b[j+5>>0]|0;if(!(i<<24>>24)){i=23061;q=10;break d}i=i&255;if((i|32|0)!=97){k=97;i=1232+i|0;break}i=b[j+6>>0]|0;if(!(i<<24>>24)){i=23062;q=10;break d}i=i&255;if((i|32|0)==108){i=0;break c}else{k=108;i=1232+i|0}}else k=114}else k=117}else k=116}else k=97}else k=110;while(0);j=h[i>>0]|0;i=k}while(0);if((q|0)==10){q=0;j=0;i=b[1232+(h[i>>0]|0)>>0]|0}if((j|0)==(i&255|0))i=0;else q=12}else q=12;while(0);e:do if((q|0)==12){q=0;l=(m|0)==4;if(l){j=f[n>>2]|0;if(!j)break b;i=b[j>>0]|0;do if(!(i<<24>>24)){i=23062;q=28}else{k=i&255;i=1232+k|0;if((k|32|0)==108){i=b[j+1>>0]|0;if(!(i<<24>>24)){i=23063;q=28;break}k=i&255;i=1232+k|0;if((k|32|0)==101){i=b[j+2>>0]|0;if(!(i<<24>>24)){i=23064;q=28;break}k=i&255;i=1232+k|0;if((k|32|0)==102){i=b[j+3>>0]|0;if(!(i<<24>>24)){i=23065;q=28;break}i=i&255;if((i|32|0)==116){i=1;break e}else{k=116;i=1232+i|0}}else k=102}else k=101}else k=108;j=h[i>>0]|0;i=k}while(0);if((q|0)==28){q=0;j=0;i=b[1232+(h[i>>0]|0)>>0]|0}if((j|0)==(i&255|0)){i=1;break}}else l=0;m=(m|0)==5;if(m){j=f[n>>2]|0;if(!j)break b;i=b[j>>0]|0;do if(!(i<<24>>24)){i=23066;q=37}else{k=i&255;i=1232+k|0;if((k|32|0)==111){i=b[j+1>>0]|0;if(!(i<<24>>24)){i=23067;q=37;break}k=i&255;i=1232+k|0;if((k|32|0)==117){i=b[j+2>>0]|0;if(!(i<<24>>24)){i=23068;q=37;break}k=i&255;i=1232+k|0;if((k|32|0)==116){i=b[j+3>>0]|0;if(!(i<<24>>24)){i=23069;q=37;break}k=i&255;i=1232+k|0;if((k|32|0)==101){i=b[j+4>>0]|0;if(!(i<<24>>24)){i=23070;q=37;break}i=i&255;if((i|32|0)==114){i=2;break e}else{k=114;i=1232+i|0}}else k=101}else k=116}else k=117}else k=111;j=h[i>>0]|0;i=k}while(0);if((q|0)==37){q=0;j=0;i=b[1232+(h[i>>0]|0)>>0]|0}if((j|0)==(i&255|0)){i=2;break}if(m){j=f[n>>2]|0;if(j){i=b[j>>0]|0;f:do if(!(i<<24>>24)){i=23070;q=45}else{m=i&255;i=1232+m|0;do if((m|32|0)==114){i=b[j+1>>0]|0;if(!(i<<24>>24)){i=23071;q=45;break f}i=i&255;if((i|32|0)!=105){k=105;i=1232+i|0;break}i=b[j+2>>0]|0;if(!(i<<24>>24)){i=23072;q=45;break f}i=i&255;if((i|32|0)!=103){k=103;i=1232+i|0;break}i=b[j+3>>0]|0;if(!(i<<24>>24)){i=23073;q=45;break f}i=i&255;if((i|32|0)!=104){k=104;i=1232+i|0;break}i=b[j+4>>0]|0;if(!(i<<24>>24)){i=23074;q=45;break f}i=i&255;if((i|32|0)==116){i=3;break e}else{k=116;i=1232+i|0}}else k=114;while(0);j=h[i>>0]|0;i=k}while(0);if((q|0)==45){q=0;j=0;i=b[1232+(h[i>>0]|0)>>0]|0}if((j|0)==(i&255|0)){i=3;break}else i=1}else i=1}else i=0;if(l){l=i;q=48}else l=i}else if(l){l=0;q=48}else break b;if((q|0)==48){q=0;j=f[n>>2]|0;if(j){i=b[j>>0]|0;do if(!(i<<24>>24)){i=23075;q=53}else{m=i&255;i=1232+m|0;if((m|32|0)==102){i=b[j+1>>0]|0;if(!(i<<24>>24)){i=23076;q=53;break}m=i&255;i=1232+m|0;if((m|32|0)==117){i=b[j+2>>0]|0;if(!(i<<24>>24)){i=23077;q=53;break}m=i&255;i=1232+m|0;if((m|32|0)==108){i=b[j+3>>0]|0;if(!(i<<24>>24)){i=23078;q=53;break}i=i&255;if((i|32|0)==108){i=4;break e}else{k=108;i=1232+i|0}}else k=108}else k=117}else k=102;j=h[i>>0]|0;i=k}while(0);if((q|0)==53){q=0;j=0;i=b[1232+(h[i>>0]|0)>>0]|0}if((j|0)==(i&255|0)){i=4;break}}}if(!l)break b;j=f[n>>2]|0;if(!j)break b;i=b[j>>0]|0;do if(!(i<<24>>24)){i=23079;q=61}else{m=i&255;i=1232+m|0;if((m|32|0)==105){i=b[j+1>>0]|0;if(!(i<<24>>24)){i=23080;q=61;break}m=i&255;i=1232+m|0;if((m|32|0)==110){i=b[j+2>>0]|0;if(!(i<<24>>24)){i=23081;q=61;break}m=i&255;i=1232+m|0;if((m|32|0)==110){i=b[j+3>>0]|0;if(!(i<<24>>24)){i=23082;q=61;break}m=i&255;i=1232+m|0;if((m|32|0)==101){i=b[j+4>>0]|0;if(!(i<<24>>24)){i=23083;q=61;break}i=i&255;if((i|32|0)==114){i=5;break e}else{k=114;i=1232+i|0}}else k=101}else k=110}else k=110}else k=105;j=h[i>>0]|0;i=k}while(0);if((q|0)==61){q=0;j=0;i=b[1232+(h[i>>0]|0)>>0]|0}if((j|0)!=(i&255|0)){if(!l)break b;j=f[n>>2]|0;if(!j)break b;i=b[j>>0]|0;g:do if(!(i<<24>>24)){i=23084;q=69}else{n=i&255;i=1232+n|0;do if((n|32|0)==99){i=b[j+1>>0]|0;if(!(i<<24>>24)){i=23085;q=69;break g}n=i&255;i=1232+n|0;if((n|32|0)==114){i=b[j+2>>0]|0;if(!(i<<24>>24)){i=23086;q=69;break g}i=i&255;if((i|32|0)!=111){k=111;i=1232+i|0;break}i=b[j+3>>0]|0;if(!(i<<24>>24)){i=23087;q=69;break g}i=i&255;if((i|32|0)!=115){k=115;i=1232+i|0;break}i=b[j+4>>0]|0;if(!(i<<24>>24)){i=23088;q=69;break g}i=i&255;if((i|32|0)==115){i=6;break e}else{k=115;i=1232+i|0}}else k=114}else k=99;while(0);j=h[i>>0]|0;i=k}while(0);if((q|0)==69){q=0;j=0;i=b[1232+(h[i>>0]|0)>>0]|0}if((j|0)==(i&255|0))i=6;else break b}else i=5}while(0);g=g|(h[23104+(i*3|0)+2>>0]|0);o=o+1|0;if(o>>>0>=3)break a;n=f[p+(o<<2)>>2]|0;if(!n)break a}g=g|64}while(0);if((g&33|0)!=33&(g&64|0)==0){if((g&32|0)==0|(g&24|0)==8){u=g;t=v;return u|0}ni(a,57161,s);u=1;t=v;return u|0}if(!e){f[u>>2]=c;f[u+4>>2]=d;f[u+8>>2]=41722;f[u+12>>2]=0;ni(a,57117,u);u=1;t=v;return u|0}else{f[r>>2]=c;f[r+4>>2]=d;f[r+8>>2]=41721;f[r+12>>2]=e;ni(a,57117,r);u=1;t=v;return u|0}return 0} -function fi(a,c,e,g,i,k,l,m,n,o){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;ma=t;t=t+144|0;r=ma+120|0;ga=ma;Z=ma+104|0;ja=ma+132|0;f[ja>>2]=0;if(b[a+46>>0]|0){e=8;t=ma;return e|0}la=a+43|0;if((b[la>>0]|0)==0?(p=f[a+4>>2]|0,p=lb[f[(f[p>>2]|0)+56>>2]&127](p,1,1,10)|0,p|0):0){e=p;t=ma;return e|0}ka=a+45|0;b[ka>>0]=1;a:do if(!e){p=0;fa=14}else{p=a+4|0;b:do if(!g){if(!(b[la>>0]|0)){q=f[p>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,0,1,10)|0;fa=12}}else while(1){if(b[la>>0]|0)break b;q=f[p>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,0,1,10)|0;if((q|0)!=5){fa=12;break b}if(!(ib[g&255](i)|0)){p=0;g=0;fa=14;break a}}while(0);if((fa|0)==12)switch(q|0){case 5:{p=0;g=0;fa=14;break a}case 0:break;default:{ia=e;break a}}b[a+44>>0]=1;p=e;fa=14}while(0);if((fa|0)==14){ia=p;q=Ih(a,ja)|0}c:do if(!q){ha=a+68|0;s=f[ha>>2]|0;aa=j[a+66>>1]|0;aa=aa<<16&65536|aa&65024;if(!((s|0)==0|(aa|0)==(l|0))){f[r>>2]=42469;f[r+4>>2]=61695;f[r+8>>2]=40460;Ac(11,40408,r);q=11;break}ea=a+32|0;S=f[f[ea>>2]>>2]|0;da=S+96|0;d:do if((f[da>>2]|0)>>>0>>0){_=a+72|0;$=f[_>>2]|0;ca=a+4|0;p=S+104|0;l=f[p>>2]|0;e:do if(s>>>0>l>>>0){f:do if(!g)if(!(b[la>>0]|0)){q=f[ca>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,4,1,10)|0;g=0}else{g=0;fa=28}else while(1){if(b[la>>0]|0){fa=28;break f}q=f[ca>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,4,1,10)|0;if((q|0)!=5)break f;if(!(ib[g&255](i)|0)){g=0;q=5;break e}}while(0);if((fa|0)==28){f[p>>2]=s;q=0;l=s;break}switch(q|0){case 5:{g=0;break e}case 0:break;default:break d}W=b[la>>0]|0;f[p>>2]=s;if(!(W<<24>>24)){q=f[ca>>2]|0;lb[f[(f[q>>2]|0)+56>>2]&127](q,4,1,9)|0;q=0;l=s}else{q=0;l=s}}else{q=0;l=s}while(0);p=S+108|0;r=f[p>>2]|0;g:do if(l>>>0>r>>>0){h:do if(!g)if(!(b[la>>0]|0)){q=f[ca>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,5,1,10)|0}else fa=161;else while(1){if(b[la>>0]|0){fa=161;break h}q=f[ca>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,5,1,10)|0;if((q|0)!=5)break h;if(!(ib[g&255](i)|0)){g=0;q=5;l=r;break g}}while(0);if((fa|0)==161){f[p>>2]=-1;q=0;break}switch(q|0){case 5:{g=0;l=r;break g}case 0:break;default:break d}W=b[la>>0]|0;f[p>>2]=-1;if(!(W<<24>>24)){q=f[ca>>2]|0;lb[f[(f[q>>2]|0)+56>>2]&127](q,5,1,9)|0;q=0}else q=0}while(0);p=S+112|0;r=f[p>>2]|0;i:do if(l>>>0>r>>>0){j:do if(!g)if(!(b[la>>0]|0)){q=f[ca>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,6,1,10)|0}else fa=173;else while(1){if(b[la>>0]|0){fa=173;break j}q=f[ca>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,6,1,10)|0;if((q|0)!=5)break j;if(!(ib[g&255](i)|0)){g=0;q=5;l=r;break i}}while(0);if((fa|0)==173){f[p>>2]=-1;q=0;break}switch(q|0){case 5:{g=0;l=r;break i}case 0:break;default:break d}W=b[la>>0]|0;f[p>>2]=-1;if(!(W<<24>>24)){q=f[ca>>2]|0;lb[f[(f[q>>2]|0)+56>>2]&127](q,6,1,9)|0;q=0}else q=0}while(0);p=S+116|0;r=f[p>>2]|0;k:do if(l>>>0>r>>>0){l:do if(!g)if(!(b[la>>0]|0)){q=f[ca>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,7,1,10)|0}else fa=185;else while(1){if(b[la>>0]|0){fa=185;break l}q=f[ca>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,7,1,10)|0;if((q|0)!=5)break l;if(!(ib[g&255](i)|0)){g=0;q=5;l=r;break k}}while(0);if((fa|0)==185){f[p>>2]=-1;q=0;break}switch(q|0){case 5:{g=0;l=r;break k}case 0:break;default:break d}W=b[la>>0]|0;f[p>>2]=-1;if(!(W<<24>>24)){q=f[ca>>2]|0;lb[f[(f[q>>2]|0)+56>>2]&127](q,7,1,9)|0;q=0}else q=0}while(0);m:do if((f[da>>2]|0)>>>0>>0){q=f[da>>2]|0;P=f[ha>>2]|0;Q=(P+33|0)>>>12;p=(P<<1)+28+(Q*20|0)|0;W=xd(p,((p|0)<0)<<31>>31)|0;if(!W){q=7;break c}_A(W|0,0,p|0)|0;R=W+4|0;f[R>>2]=Q+1;N=xd((P>>>0<4096?P:4096)<<1,0)|0;O=(N|0)==0;p=(q+34|0)>>>12;n:do if(p>>>0>Q>>>0|O)q=O?7:0;else{I=Z+4|0;J=a+24|0;K=Z+8|0;L=W+8|0;M=ga+4|0;while(1){if((f[J>>2]|0)>(p|0)?(T=f[(f[ea>>2]|0)+(p<<2)>>2]|0,f[I>>2]=T,(T|0)!=0):0)q=T;else{q=eh(a,p,I)|0;if(q|0)break;q=f[I>>2]|0}r=q+16384|0;f[Z>>2]=r;if(!p){q=q+136|0;f[I>>2]=q;s=0}else s=(p<<12)+-34|0;f[I>>2]=q;H=q;F=(p|0)==(Q|0)?P-s|0:r-H>>2;G=L+((f[R>>2]|0)*20|0)+(s<<1)|0;E=s+1|0;f[K>>2]=E;if((F|0)>0){r=0;do{d[G+(r<<1)>>1]=r;r=r+1|0}while((r|0)!=(F|0));w=ga;x=w+104|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));D=0;do{u=G+(D<<1)|0;if(!(D&1)){v=0;r=1;s=M}else{r=1;B=0;s=M;while(1){C=f[s>>2]|0;A=f[ga+(B<<3)>>2]|0;v=(r|0)>0;s=(A|0)>0;if(v|s){x=0;z=0;w=0;while(1){do if(s){s=C+(w<<1)|0;if(v?(U=u+(x<<1)|0,(f[q+(j[s>>1]<<2)>>2]|0)>>>0>=(f[q+(j[U>>1]<<2)>>2]|0)>>>0):0){s=U;fa=57;break}v=w+1|0}else{s=u+(x<<1)|0;fa=57}while(0);if((fa|0)==57){fa=0;v=w;x=x+1|0}w=d[s>>1]|0;s=f[q+((w&65535)<<2)>>2]|0;y=z+1|0;d[N+(z<<1)>>1]=w;if((v|0)<(A|0))w=v+((f[q+(j[C+(v<<1)>>1]<<2)>>2]|0)==(s|0)&1)|0;else w=v;v=(x|0)<(r|0);s=(w|0)<(A|0);if(!(v|s)){r=y;break}else z=y}}else r=0;YA(C|0,N|0,r<<1|0)|0;u=B+1|0;s=ga+(u<<3)+4|0;if(!(1<>2]=u;f[ga+(v<<3)>>2]=r;D=D+1|0}while((D|0)!=(F|0));s=v+1|0;if(s>>>0<13)fa=64;else q=r}else{w=ga;x=w+104|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));r=0;s=1;u=0;fa=64}if((fa|0)==64){fa=0;do{if(1<>2]|0;B=f[ga+(s<<3)>>2]|0;w=(r|0)>0;v=(B|0)>0;if(w|v){y=0;A=0;x=0;while(1){do if(v){v=C+(x<<1)|0;if(w?(V=u+(y<<1)|0,(f[q+(j[v>>1]<<2)>>2]|0)>>>0>=(f[q+(j[V>>1]<<2)>>2]|0)>>>0):0){v=V;fa=73;break}w=x+1|0}else{v=u+(y<<1)|0;fa=73}while(0);if((fa|0)==73){fa=0;w=x;y=y+1|0}D=d[v>>1]|0;v=f[q+((D&65535)<<2)>>2]|0;z=A+1|0;d[N+(A<<1)>>1]=D;if((w|0)<(B|0))x=w+((f[q+(j[C+(w<<1)>>1]<<2)>>2]|0)==(v|0)&1)|0;else x=w;w=(y|0)<(r|0);v=(x|0)<(B|0);if(!(w|v)){r=z;break}else A=z}}else r=0;YA(C|0,N|0,r<<1|0)|0;u=C}s=s+1|0}while((s|0)!=13);q=r}f[L+(p*20|0)+16>>2]=E;f[L+(p*20|0)+12>>2]=q;f[L+(p*20|0)+4>>2]=G;f[L+(p*20|0)+8>>2]=H;if(p>>>0>>0)p=p+1|0;else{q=0;break n}}}while(0);do if(!O)if(!(f[9328]|0)){ob[f[37360>>2]&127](N);break}else{V=ib[f[37368>>2]&255](N)|0;f[18187]=(f[18187]|0)-V;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](N);break}while(0);if(q|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](W);p=0;l=0;fa=129;break}else{p=ib[f[37368>>2]&255](W)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](W);p=0;l=0;fa=129;break}o:do if(!g){if(b[la>>0]|0)break;X=f[ca>>2]|0;X=lb[f[(f[X>>2]|0)+56>>2]&127](X,3,1,10)|0;fa=95}else while(1){if(b[la>>0]|0)break o;p=f[ca>>2]|0;p=lb[f[(f[p>>2]|0)+56>>2]&127](p,3,1,10)|0;if((p|0)!=5){X=p;fa=95;break o}if(!(ib[g&255](i)|0)){p=W;l=W;break m}}while(0);if((fa|0)==95?X|0:0){q=X;p=W;l=W;fa=129;break}G=f[da>>2]|0;f[S+128>>2]=l;F=a+8|0;p=f[F>>2]|0;H=k>>>2&3;I=(H|0)==0;if(!I?(Y=jb[f[(f[p>>2]|0)+20>>2]&255](p,H)|0,(Y|0)!=0):0)q=Y;else fa=98;p:do if((fa|0)==98){k=QA($|0,0,aa|0,0)|0;Y=ba()|0;q=ga;f[q>>2]=k;f[q+4>>2]=Y;q=f[ca>>2]|0;q=jb[f[(f[q>>2]|0)+24>>2]&255](q,Z)|0;if(q|0)break;Y=Z;X=f[Y+4>>2]|0;Z=ga;k=f[Z+4>>2]|0;do if((X|0)<(k|0)|((X|0)==(k|0)?(f[Y>>2]|0)>>>0<(f[Z>>2]|0)>>>0:0)){p=f[ca>>2]|0;q=f[p>>2]|0;if(!q)break;kb[f[q+40>>2]&127](p,5,ga)|0}while(0);D=c+264|0;E=aa|24;p=f[R>>2]|0;q:do if((p|0)>0){q=0;while(1){C=f[W>>2]|0;r=-1;B=p;while(1){A=B;B=B+-1|0;v=W+8+(B*20|0)|0;s=f[v>>2]|0;w=f[W+8+(B*20|0)+12>>2]|0;r:do if((s|0)<(w|0)){x=f[W+8+(B*20|0)+8>>2]|0;y=f[W+8+(B*20|0)+4>>2]|0;while(1){u=d[y+(s<<1)>>1]|0;z=f[x+((u&65535)<<2)>>2]|0;if(z>>>0>C>>>0)break;s=s+1|0;f[v>>2]=s;if((s|0)>=(w|0)){s=q;break r}}if(z>>>0>=r>>>0){s=q;break}s=(f[W+8+(B*20|0)+16>>2]|0)+(u&65535)|0;r=z}else s=q;while(0);if((A|0)<=1)break;else q=s}f[W>>2]=r;if((r|0)==-1)break q;if(f[D>>2]|0)break;if(!(s>>>0<=G>>>0|s>>>0>l>>>0|r>>>0>$>>>0)){Z=QA(s+-1|0,0,E|0,0)|0;Z=KA(Z|0,ba()|0,56,0)|0;q=ba()|0;Y=f[F>>2]|0;q=mb[f[(f[Y>>2]|0)+8>>2]&127](Y,m,aa,Z,q)|0;if(q|0)break p;Z=QA(r+-1|0,0,aa|0,0)|0;q=ba()|0;Y=f[ca>>2]|0;q=mb[f[(f[Y>>2]|0)+12>>2]&127](Y,m,aa,Z,q)|0;if(q|0)break p;p=f[R>>2]|0}if((p|0)>0)q=s;else{fa=105;break q}}q=(b[c+81>>0]|0)==0?9:7;break p}else fa=105;while(0);if((fa|0)==105)f[W>>2]=-1;do if((l|0)==(f[(f[f[ea>>2]>>2]|0)+16>>2]|0)){fa=QA(f[_>>2]|0,0,aa|0,0)|0;q=ba()|0;m=f[ca>>2]|0;q=kb[f[(f[m>>2]|0)+16>>2]&127](m,fa,q)|0;if(q|0)break p;p=f[ca>>2]|0;if(I)break;q=jb[f[(f[p>>2]|0)+20>>2]&255](p,H)|0;if(q|0)break p}while(0);f[da>>2]=l;q=0}while(0);if(b[la>>0]|0){p=W;l=W;fa=129;break}p=f[ca>>2]|0;lb[f[(f[p>>2]|0)+56>>2]&127](p,3,1,9)|0;p=W;l=W;fa=129}else{p=0;l=0;fa=129}while(0);if((fa|0)==129)if((q|0)!=5){v=l;fa=131;break}q=0;v=l;fa=131}else{q=0;p=0;v=0;fa=131}while(0);do if((fa|0)==131){if((ia|0)!=0&(q|0)==0)if((f[da>>2]|0)>>>0>=(f[ha>>2]|0)>>>0)if((ia|0)>1){zd(4,ga);u=a+4|0;s:do if(!g)if(!(b[la>>0]|0)){q=f[u>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,4,4,10)|0;fa=141}else fa=142;else while(1){if(b[la>>0]|0){fa=142;break s}q=f[u>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,4,4,10)|0;if((q|0)!=5){fa=141;break s}if(!(ib[g&255](i)|0)){q=5;break}}while(0);if((fa|0)==141)if(!q)fa=142;if((fa|0)==142){if((ia|0)==3){s=f[ga>>2]|0;g=f[ea>>2]|0;q=f[g>>2]|0;l=q+96|0;fa=a+84|0;ga=a+112|0;f[ga>>2]=(f[ga>>2]|0)+1;f[ha>>2]=0;ga=fa+1|0;w=fa+2|0;r=fa+3|0;x=(h[ga>>0]<<16|h[fa>>0]<<24|h[w>>0]<<8|h[r>>0])+1|0;b[fa>>0]=x>>>24;b[ga>>0]=x>>>16;b[w>>0]=x>>>8;b[r>>0]=x;f[a+88>>2]=s;g=f[g>>2]|0;r=a+52|0;b[a+64>>0]=1;f[r>>2]=3007e3;x=f[r+4>>2]|0;w=x+6014e3+(f[r+8>>2]|0)|0;x=x+3007e3+(f[r+12>>2]|0)+w|0;w=x+w|0;x=x+(f[r+20>>2]|0)+w|0;w=w+(f[r+24>>2]|0)+x|0;x=x+(f[r+28>>2]|0)+w|0;w=w+(f[r+32>>2]|0)+x|0;f[a+92>>2]=w;f[a+96>>2]=x+s+w;w=g+48|0;s=r;x=w+48|0;do{b[w>>0]=b[s>>0]|0;w=w+1|0;s=s+1|0}while((w|0)<(x|0));if((b[la>>0]|0)!=2){ga=f[u>>2]|0;ob[f[(f[ga>>2]|0)+60>>2]&127](ga)}w=g;s=r;x=w+48|0;do{b[w>>0]=b[s>>0]|0;w=w+1|0;s=s+1|0}while((w|0)<(x|0));f[l>>2]=0;f[q+128>>2]=0;f[q+104>>2]=0;f[q+108>>2]=-1;f[q+112>>2]=-1;f[q+116>>2]=-1;q=f[a+8>>2]|0;q=kb[f[(f[q>>2]|0)+16>>2]&127](q,0,0)|0}else q=0;if(!(b[la>>0]|0)){ga=f[u>>2]|0;lb[f[(f[ga>>2]|0)+56>>2]&127](ga,4,4,9)|0}}}else q=0;else q=5;if(p)if(!(f[9328]|0)){ob[f[37360>>2]&127](v);break}else{ga=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-ga;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);break}}while(0);switch(q|0){case 0:case 5:break;default:break c}if(n|0)f[n>>2]=f[ha>>2];if(o)f[o>>2]=f[(f[f[ea>>2]>>2]|0)+96>>2]}while(0);if(f[ja>>2]|0){w=a+52|0;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0))}p=a+44|0;if(b[p>>0]|0){if(!(b[la>>0]|0)){ja=f[a+4>>2]|0;lb[f[(f[ja>>2]|0)+56>>2]&127](ja,0,1,9)|0}b[p>>0]=0;f[a+104>>2]=0;b[a+47>>0]=0}if(!(b[la>>0]|0)){la=f[a+4>>2]|0;lb[f[(f[la>>2]|0)+56>>2]&127](la,1,1,9)|0}b[ka>>0]=0;e=(ia|0)==(e|0)|(q|0)!=0?q:5;t=ma;return e|0}function gi(a){a=a|0;var b=0,c=0;if(!a)return;if((f[a>>2]|0)>0){c=a+12|0;b=0;do{hi((f[c>>2]|0)+(b*56|0)|0);b=b+1|0}while((b|0)<(f[a>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function hi(a){a=a|0;var b=0,c=0;b=f[a+28>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+36>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);ii(f[a+48>>2]|0);b=a;a=b+56|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function ii(a){a=a|0;var b=0;if(!a)return;gi(f[a+4>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function ji(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=f[a+20>>2]|0;l=(c|0)==0;d=a+16|0;if((k|0)<=0){a=b;while(1){if(bl(a,43770)|0){h=0;a=18;break}if(!(al(c,f[(f[d>>2]|0)+16>>2]|0)|0))a=48842;else{h=0;a=18;break}}if((a|0)==18)return h|0}e=f[d>>2]|0;g=e+16|0;a:while(1){if(l){a=0;do{j=Sj((f[e+((a^a>>>0<2)<<4)+12>>2]|0)+8|0,b)|0;if(j|0){a=16;break a}a=a+1|0}while((a|0)<(k|0))}else{a=0;do{d=a^a>>>0<2;if((bl(c,f[e+(d<<4)>>2]|0)|0)==0?(i=Sj((f[e+(d<<4)+12>>2]|0)+8|0,b)|0,i|0):0){a=17;break a}a=a+1|0}while((a|0)<(k|0))}if(bl(b,43770)|0){h=0;a=18;break}if(!(al(c,f[g>>2]|0)|0))b=48842;else{h=0;a=18;break}}if((a|0)==16){l=j;return l|0}else if((a|0)==17){l=i;return l|0}else if((a|0)==18)return h|0;return 0}function ki(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;w=t;t=t+32|0;s=w+16|0;r=w+8|0;n=w;o=w+20|0;v=f[a>>2]|0;p=v+56|0;i=f[p>>2]|0;f[p>>2]=i+1;q=c+56|0;e=f[q>>2]|0;a:do if(e){g=f[c+64>>2]|0;if(g|0)do{if((f[g>>2]|0)==(v|0)){u=33;break a}g=f[g+24>>2]|0}while((g|0)!=0);m=f[f[c+60>>2]>>2]|0;j=f[v+348>>2]|0;if(!j){g=v+340|0;e=v+344|0}else{g=b[m>>0]|0;if(!(g<<24>>24))e=0;else{e=0;i=m;do{i=i+1|0;e=U(e+(h[1232+(g&255)>>0]|0)|0,-1640531535)|0;g=b[i>>0]|0}while(g<<24>>24!=0)}e=(e>>>0)%((f[v+336>>2]|0)>>>0)|0;g=j+(e<<3)|0;e=j+(e<<3)+4|0}g=f[g>>2]|0;b:do if(!g)e=72124;else{l=h[1232+(h[m>>0]|0)>>0]|0;while(1){e=f[e>>2]|0;g=g+-1|0;j=f[e+12>>2]|0;k=b[j>>0]|0;i=(h[1232+(k&255)>>0]|0)-l|0;if(!(k<<24>>24==0|(i|0)!=0)){k=m;do{j=j+1|0;k=k+1|0;x=b[j>>0]|0;i=(h[1232+(x&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(x<<24>>24==0|(i|0)!=0))}if(!i)break b;if(!g){e=72124;break}}}while(0);e=f[e+8>>2]|0;if(!e){f[n>>2]=m;ni(a,44732,n);f[p>>2]=(f[p>>2]|0)+-1;x=1;t=w;return x|0}f[o>>2]=0;g=si(v,c,e,f[(f[e>>2]|0)+8>>2]|0,o)|0;i=(g|0)==0;e=f[o>>2]|0;if(!i){f[r>>2]=e;ni(a,40840,r);f[a+12>>2]=g}do if(e|0){if(v|0){if(f[v+480>>2]|0){Kc(v,e);break}x=e;if((f[v+304>>2]|0)>>>0<=x>>>0?(f[v+308>>2]|0)>>>0>x>>>0:0){x=v+300|0;f[e>>2]=f[x>>2];f[x>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{x=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[p>>2]=(f[p>>2]|0)+-1;if(i){e=f[q>>2]|0;break}else{x=1;t=w;return x|0}}else u=33;while(0);if((u|0)==33)f[p>>2]=i;if(e|0){x=0;t=w;return x|0}p=c+42|0;e=d[p>>1]|0;if(e<<16>>16>0){x=0;t=w;return x|0}if(e<<16>>16<0){f[s>>2]=f[c>>2];ni(a,50264,s);x=1;t=w;return x|0}i=Hk(v,f[c+12>>2]|0,0)|0;if(!i)o=1;else{j=a+196|0;k=b[j>>0]|0;b[j>>0]=0;g=a+40|0;x=f[g>>2]|0;Tk(a,f[i+32>>2]|0);d[p>>1]=-1;l=v+272|0;f[l>>2]=(f[l>>2]|0)+1;s=v+312|0;r=f[s>>2]|0;f[s>>2]=0;e=Uk(a,i)|0;f[s>>2]=r;f[g>>2]=x;g=f[c+24>>2]|0;do if(!g)if(!e){d[p>>1]=0;e=1;break}else{x=e+42|0;d[p>>1]=d[x>>1]|0;u=e+4|0;f[c+4>>2]=f[u>>2];d[x>>1]=0;f[u>>2]=0;u=50;break}else{Vk(f[a>>2]|0,g,p,c+4|0);if(((b[v+81>>0]|0)==0?(f[a+36>>2]|0)==0:0)?(f[f[i>>2]>>2]|0)==(d[p>>1]|0):0)Wk(a,c,i);if(!e)e=0;else u=50}while(0);do if((u|0)==50){if(f[v+480>>2]|0){hg(v,e);e=0;break}u=e+32|0;x=(f[u>>2]|0)+-1|0;f[u>>2]=x;if(!x){hg(v,e);e=0}else e=0}while(0);mg(v,i,1);f[l>>2]=(f[l>>2]|0)+-1;b[j>>0]=k;o=e}x=(f[c+72>>2]|0)+78|0;d[x>>1]=d[x>>1]|2;if(!(b[v+81>>0]|0)){x=o;t=w;return x|0}n=c+4|0;e=f[n>>2]|0;do if(e|0){if((d[p>>1]|0)>0){j=v+480|0;k=v+304|0;l=v+308|0;m=v+300|0;i=0;while(1){g=f[e>>2]|0;do if(g|0){if(f[j>>2]|0){Kc(v,g);break}x=g;if((f[k>>2]|0)>>>0<=x>>>0?(f[l>>2]|0)>>>0>x>>>0:0){f[g>>2]=f[m>>2];f[m>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{x=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[e+4>>2]|0;if(g|0)ig(v,g);g=f[e+8>>2]|0;do if(g|0){if(f[j>>2]|0){Kc(v,g);break}x=g;if((f[k>>2]|0)>>>0<=x>>>0?(f[l>>2]|0)>>>0>x>>>0:0){f[g>>2]=f[m>>2];f[m>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{x=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);i=i+1|0;if((i|0)>=(d[p>>1]|0))break;else e=e+16|0}e=f[n>>2]|0}if(e|0){if(v|0){if(f[v+480>>2]|0){Kc(v,e);break}x=e;if((f[v+304>>2]|0)>>>0<=x>>>0?(f[v+308>>2]|0)>>>0>x>>>0:0){x=v+300|0;f[e>>2]=f[x>>2];f[x>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{x=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}}while(0);f[n>>2]=0;d[p>>1]=0;x=o;t=w;return x|0}function li(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0.0,qa=0;oa=t;t=t+240|0;s=oa+224|0;n=oa+216|0;q=oa+208|0;P=oa+200|0;N=oa+192|0;J=oa+184|0;I=oa+176|0;H=oa+160|0;G=oa+144|0;E=oa+136|0;D=oa+128|0;C=oa+120|0;A=oa+112|0;z=oa+104|0;x=oa+96|0;ia=oa+88|0;ha=oa+72|0;ja=oa+56|0;ga=oa+48|0;ea=oa+40|0;o=oa+32|0;L=oa;M=oa+228|0;e=f[a+24>>2]|0;na=f[e>>2]|0;a:do switch(b[c>>0]|0){case 55:case 56:case 52:case 53:case 48:case 54:case 57:{ma=371;break}case -99:{K=c+20|0;w=f[K>>2]|0;v=(w|0)==0;if(v)o=0;else o=f[w>>2]|0;g=f[na>>2]|0;i=b[g+78>>0]|0;u=f[c+8>>2]|0;if(!u)s=0;else s=(wz(u)|0)&1073741823;r=Rk(g,u,o,i,0)|0;if(r){n=(f[r+20>>2]|0)!=0&1;q=r+4|0;do if(f[q>>2]&1024|0){la=c+4|0;f[la>>2]=f[la>>2]|266240;if((o|0)!=2){f[c+28>>2]=(b[f[r+32>>2]>>0]|0)==117?8388608:125829120;break}g=f[w+24>>2]|0;p[L>>3]=-1.0;if((b[g>>0]|0)==-115){i=f[g+8>>2]|0;if(!i)g=0;else g=(wz(i)|0)&1073741823;jf(i,L,g,1)|0;pa=+p[L>>3];g=~~(pa*134217728.0);if(!(pa>1.0)){f[c+28>>2]=g;if((g|0)>=0)break}else ma=243}else ma=243;if((ma|0)==243)f[c+28>>2]=-1;ni(na,49745,x);la=e+20|0;f[la>>2]=(f[la>>2]|0)+1}while(0);o=r+32|0;g=f[o>>2]|0;i=f[na>>2]|0;b:do if(((b[i+165>>0]|0)==0?(b[na+196>>0]|0)==0:0)?(y=f[i+312>>2]|0,y|0):0){g=nb[y&127](f[i+316>>2]|0,31,0,g,0,f[na+236>>2]|0)|0;do if((g|0)!=1)if((g|2|0)==2)if(!g)break b;else break;else{ni(na,49831,A);g=1;ma=255;break}else{ni(na,49816,z);g=23;ma=255}while(0);if((ma|0)==255){f[na+12>>2]=g;f[C>>2]=f[o>>2];ni(na,49854,C);na=e+20|0;f[na>>2]=(f[na>>2]|0)+1}b[c>>0]=110;na=1;t=oa;return na|0}while(0);g=f[q>>2]|0;if(g&10240|0){la=c+4|0;f[la>>2]=f[la>>2]|524288}if((g&2048|0)==0?(B=j[e+24>>1]|0,(B&34|0)!=0):0){f[D>>2]=49935;f[D+4>>2]=(B&32|0)==0?((B&4|0)==0?49889:49917):49582;ni(na,49545,D);g=f[q>>2]|0}if(!(g&262144)){x=r;o=0;q=0}else{o=(b[na+18>>0]|0)==0&(f[9395]|0)==0;x=o?0:r;q=0}}else{x=Rk(f[na>>2]|0,u,-2,i,0)|0;q=(x|0)==0;o=q;q=(q^1)&1;n=0}c:do if((h[na+196>>0]|0)<2){if(((x|0)!=0?(f[x+24>>2]|0)==0:0)?(f[c+4>>2]&16777216|0)!=0:0){f[E>>2]=s;f[E+4>>2]=u;ni(na,49963,E);ma=283}else ma=269;do if((ma|0)==269){do if(n|0){i=d[e+24>>1]|0;g=f[x+4>>2]|0;if((i&1?(F=f[c+44>>2]|0,!((g&65536|0)!=0&(F|0)==0)):0)?!((i&16384)==0&(F|0)!=0):0)break;if((g&65536|0)==0?(f[c+44>>2]|0)==0:0){f[G>>2]=50036;f[G+4>>2]=s;f[G+8>>2]=u;ni(na,50007,G)}else{f[H>>2]=50046;f[H+4>>2]=s;f[H+8>>2]=u;ni(na,50007,H)}n=e+20|0;f[n>>2]=(f[n>>2]|0)+1;n=0;break c}while(0);if(o?(b[(f[na>>2]|0)+165>>0]|0)==0:0){f[I>>2]=s;f[I+4>>2]=u;ni(na,50053,I);ma=283;break}if(q|0){f[J>>2]=s;f[J+4>>2]=u;ni(na,50076,J);ma=283}}while(0);if((ma|0)==283){la=e+20|0;f[la>>2]=(f[la>>2]|0)+1}if(!n)n=0;else{n=e+24|0;d[n>>1]=((f[c+44>>2]|0)==0?65534:49151)&j[n>>1];n=1}}while(0);d:do if(!v?(m=f[w>>2]|0,(m|0)>0):0){g=w+4|0;while(1){i=f[g>>2]|0;if(i|0?oi(a,i)|0:0)break d;if((m|0)>1){m=m+-1|0;g=g+20|0}else break}}while(0);if(!n){na=1;t=oa;return na|0}r=c+44|0;g=f[r>>2]|0;if(!g){b[c>>0]=-97;m=c+38|0;b[m>>0]=0;e:do if(e|0){n=L+4|0;o=L+8|0;q=L+24|0;r=M+4|0;s=M+8|0;g=e;while(1){na=f[g+4>>2]|0;k=f[K>>2]|0;f[n>>2]=151;f[o>>2]=0;f[q>>2]=M;f[M>>2]=na;f[r>>2]=0;f[s>>2]=0;if(!k){ma=355;break}i=f[k>>2]|0;if((i|0)<=0){ma=355;break}k=k+4|0;while(1){l=f[k>>2]|0;if(l|0?oi(L,l)|0:0)break;if((i|0)>1){i=i+-1|0;k=k+20|0}else break}if((f[s>>2]|0)==0|(f[r>>2]|0)>0)break;b[m>>0]=(b[m>>0]|0)+1<<24>>24;g=f[g+12>>2]|0;if(!g)break e}na=g+24|0;d[na>>1]=f[x+4>>2]&4096|j[na>>1]|16}while(0);na=e+24|0;d[na>>1]=d[na>>1]|1;na=1;t=oa;return na|0}q=f[e+28>>2]|0;i=f[g+4>>2]|0;if((i|0)!=0?(l=f[i>>2]|0,(l|0)>0):0){g=i+4|0;while(1){i=f[g>>2]|0;if(i|0?oi(a,i)|0:0)break;if((l|0)>1){l=l+-1|0;g=g+20|0}else break}g=f[r>>2]|0}i=f[g+8>>2]|0;if((i|0)!=0?(k=f[i>>2]|0,(k|0)>0):0){g=i+4|0;while(1){i=f[g>>2]|0;if(i|0?oi(a,i)|0:0)break;if((k|0)>1){k=k+-1|0;g=g+20|0}else break}g=f[r>>2]|0}i=f[g+28>>2]|0;if(!i)o=g;else{oi(a,i)|0;o=f[r>>2]|0}g=f[q+72>>2]|0;l=f[o>>2]|0;f:do if((l|0)!=0?(O=o+12|0,(b[O>>0]|0)==0):0){g:do if(g|0){m=h[1232+(h[l>>0]|0)>>0]|0;n=g;while(1){i=f[n>>2]|0;c=b[i>>0]|0;g=(h[1232+(c&255)>>0]|0)-m|0;if(!(c<<24>>24==0|(g|0)!=0)){k=l;do{i=i+1|0;k=k+1|0;c=b[i>>0]|0;g=(h[1232+(c&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(c<<24>>24==0|(g|0)!=0))}if(!g)break;g=f[n+24>>2]|0;if(!g)break g;else n=g}g=Ik(f[na>>2]|0,f[n+4>>2]|0,0)|0;f[o+4>>2]=g;g=Ik(f[na>>2]|0,f[n+8>>2]|0,0)|0;f[o+8>>2]=g;g=f[n+16>>2]|0;if(!g)g=0;else g=Bk(f[na>>2]|0,g,0,0)|0;f[o+16>>2]=g;g=f[n+20>>2]|0;if(!g)g=0;else g=Bk(f[na>>2]|0,g,0,0)|0;f[o+20>>2]=g;b[o+13>>0]=b[n+13>>0]|0;b[o+14>>0]=b[n+14>>0]|0;b[O>>0]=b[n+12>>0]|0;ma=325;break f}while(0);f[N>>2]=l;ni(na,50121,N)}else ma=325;while(0);if((ma|0)==325){do if(f[x+4>>2]&65536|0){l=f[na>>2]|0;if(f[o+28>>2]|0){ni(na,50140,P);break}g=f[x+32>>2]|0;if((g|0)==42261|(g|0)==42311){k=o+16|0;g=f[k>>2]|0;if(g|0)ig(l,g);g=o+20|0;i=f[g>>2]|0;if(i|0)ig(l,i);f[g>>2]=0;f[k>>2]=0;b[o+12>>0]=76;b[o+13>>0]=87;b[o+14>>0]=82;break}if((g|0)==42301|((g|0)==42288|((g|0)==42272|(g|0)==42283))){k=o+16|0;g=f[k>>2]|0;if(g|0)ig(l,g);g=o+20|0;i=f[g>>2]|0;if(i|0)ig(l,i);f[g>>2]=0;f[k>>2]=0;b[o+12>>0]=86;b[o+13>>0]=87;b[o+14>>0]=82}}while(0);f[o+32>>2]=x}k=q+68|0;g=f[k>>2]|0;if(g){if(!(Fk(na,g,f[r>>2]|0)|0)){i=k;g=f[k>>2]|0;ma=345}}else{i=k;ma=345}if((ma|0)==345){f[(f[r>>2]|0)+24>>2]=g;f[i>>2]=f[r>>2]}na=e+24|0;d[na>>1]=d[na>>1]|16384;na=1;t=oa;return na|0}case 49:case 20:case 127:{i=c+4|0;if(f[i>>2]&2048|0){k=e+16|0;l=f[k>>2]|0;e=e+24|0;g=j[e>>1]|0;if(g&38|0){f[q>>2]=50203;f[q+4>>2]=(g&32|0)==0?((g&4|0)==0?49889:49917):49582;ni(na,49545,q)}yk(a,f[c+20>>2]|0)|0;if((l|0)!=(f[k>>2]|0)){f[i>>2]=f[i>>2]|32;d[e>>1]=d[e>>1]|64}}break}case -112:{e=j[e+24>>1]|0;if(e&38|0){f[n>>2]=50214;f[n+4>>2]=(e&32|0)==0?((e&4|0)==0?49889:49917):49582;ni(na,49545,n)}break}case -100:case 45:{e=f[c+16>>2]|0;if((b[e>>0]|0)==59){if((li(a,e)|0)==2){na=2;t=oa;return na|0}if((b[e>>0]|0)==-101){b[c+38>>0]=b[c>>0]|0;b[c>>0]=-93;na=0;t=oa;return na|0}else ma=371}else ma=371;break}case 59:{u=f[c+8>>2]|0;s=f[na>>2]|0;$=c+28|0;f[$>>2]=-1;v=0;w=0;k=0;x=na+196|0;_=na;ma=28;break}case -126:{l=f[c+12>>2]|0;n=e+24|0;if(d[n>>1]&32){f[o>>2]=49565;f[o+4>>2]=49582;ni(na,49545,o)}k=f[c+16>>2]|0;if((b[k>>0]|0)==59){w=0;m=k}else{w=f[l+8>>2]|0;m=f[k+16>>2]|0;l=f[k+12>>2]|0}v=f[l+8>>2]|0;u=f[m+8>>2]|0;x=na+196|0;h:do if((h[x>>0]|0)>1?(r=na+268|0,g=f[r>>2]|0,g|0):0){k=g;do{if((f[k>>2]|0)==(m|0)){ma=12;break}k=f[k+12>>2]|0}while((k|0)!=0);if((ma|0)==12){f[k>>2]=c;g=f[r>>2]|0}k=c+44|0;if(g|0){while(1){if((f[g>>2]|0)==(l|0))break;g=f[g+12>>2]|0;if(!g)break h}f[g>>2]=k}}while(0);s=f[na>>2]|0;r=c+28|0;f[r>>2]=-1;if((w|0)!=0?(d[n>>1]&6)==0:0){n=f[s+20>>2]|0;if((n|0)>0){q=f[s+16>>2]|0;o=h[1232+(h[w>>0]|0)>>0]|0;g=0;while(1){l=f[q+(g<<4)>>2]|0;ma=b[l>>0]|0;k=(h[1232+(ma&255)>>0]|0)-o|0;if(!(ma<<24>>24==0|(k|0)!=0)){m=w;do{l=l+1|0;m=m+1|0;ma=b[l>>0]|0;k=(h[1232+(ma&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(ma<<24>>24==0|(k|0)!=0))}if(!k)break;g=g+1|0;if((g|0)>=(n|0)){k=0;$=r;_=na;ma=28;break a}}k=f[q+(g<<4)+12>>2]|0;$=r;_=na;ma=28}else{k=0;$=r;_=na;ma=28}}else{w=0;k=0;$=r;_=na;ma=28}break}default:{}}while(0);if((ma|0)==28){X=(w|0)==0;Y=(v|0)!=0;U=Y&X;g=na+120|0;Q=(v|0)==0;aa=c+32|0;R=c+44|0;W=na+268|0;S=na+140|0;T=c+44|0;Z=c+4|0;N=c+1|0;O=na+132|0;P=na+136|0;q=e;o=0;V=0;n=158;m=0;y=-1;i:while(1){l=f[q+4>>2]|0;if(l){a=f[l>>2]|0;if((a|0)>0){L=l+8|0;M=0;r=0;while(1){K=f[L+16>>2]|0;l=f[L+20>>2]|0;if((l|0)!=0?(f[l+8>>2]&2048|0)!=0:0){A=f[l>>2]|0;B=f[A>>2]|0;if((B|0)>0){z=0;l=0;do{if(Pk(f[A+4+(z*20|0)+8>>2]|0,u,v,w)|0){d[aa>>1]=z;l=1;r=r+1|0;o=2;m=L}z=z+1|0}while((z|0)!=(B|0))}else l=0;if(Y&(l|0)==0)ma=40}else ma=40;j:do if((ma|0)==40){ma=0;if(!X?(f[K+72>>2]|0)!=(k|0):0)break;k:do if(!Q){z=f[L+12>>2]|0;B=(z|0)==0;if(B){z=f[K>>2]|0;J=b[z>>0]|0;l=(h[1232+(J&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0;if(!(J<<24>>24==0|(l|0)!=0)){A=v;do{z=z+1|0;A=A+1|0;J=b[z>>0]|0;l=(h[1232+(J&255)>>0]|0)-(h[1232+(h[A>>0]|0)>>0]|0)|0}while(!(J<<24>>24==0|(l|0)!=0))}}else{J=b[z>>0]|0;l=(h[1232+(J&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0;if(!(J<<24>>24==0|(l|0)!=0)){A=v;do{z=z+1|0;A=A+1|0;J=b[z>>0]|0;l=(h[1232+(J&255)>>0]|0)-(h[1232+(h[A>>0]|0)>>0]|0)|0}while(!(J<<24>>24==0|(l|0)!=0))}}if(l|0)break j;if(!(B|(h[x>>0]|0)<2)?(ca=f[W>>2]|0,ca|0):0){l=ca;while(1){if((f[l>>2]|0)==(R|0))break;l=f[l+12>>2]|0;if(!l)break k}f[l>>2]=0}}while(0);J=o+1|0;m=(o|0)==0?L:m;o=f[K+4>>2]|0;l=d[K+42>>1]|0;if(l<<16>>16>0){I=h[1232+(h[u>>0]|0)>>0]|0;F=L+36|0;G=L+48|0;H=l<<16>>16;l:do if((r|0)==1){l=0;while(1){A=f[o>>2]|0;E=b[A>>0]|0;z=(h[1232+(E&255)>>0]|0)-I|0;if(!(E<<24>>24==0|(z|0)!=0)){B=u;do{A=A+1|0;B=B+1|0;E=b[A>>0]|0;z=(h[1232+(E&255)>>0]|0)-(h[1232+(h[B>>0]|0)>>0]|0)|0}while(!(E<<24>>24==0|(z|0)!=0))}m:do if((z|0)==0?(b[F>>0]&4)==0:0){z=f[G>>2]|0;if(!z)break l;E=f[z+4>>2]|0;if((E|0)<=0)break l;D=f[z>>2]|0;C=0;while(1){A=f[D+(C<<3)>>2]|0;B=b[A>>0]|0;z=(h[1232+(B&255)>>0]|0)-I|0;if(!(B<<24>>24==0|(z|0)!=0)){B=u;do{A=A+1|0;B=B+1|0;qa=b[A>>0]|0;z=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[B>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(z|0)!=0))}C=C+1|0;if(!z)break m;if((C|0)>=(E|0))break l}}while(0);l=l+1|0;if((l|0)>=(H|0)){r=1;o=J;break j}else o=o+16|0}}else{B=o;l=0;while(1){z=f[B>>2]|0;qa=b[z>>0]|0;o=(h[1232+(qa&255)>>0]|0)-I|0;if(!(qa<<24>>24==0|(o|0)!=0)){A=u;do{z=z+1|0;A=A+1|0;qa=b[z>>0]|0;o=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[A>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(o|0)!=0))}if(!o)break l;l=l+1|0;if((l|0)>=(H|0)){o=J;break j}else B=B+16|0}}while(0);d[aa>>1]=(l|0)==(d[K+40>>1]|0)?-1:l&65535;r=r+1|0;o=J;m=L}else o=J}while(0);M=M+1|0;if((M|0)==(a|0))break;else L=L+72|0}}else r=0;if(!m){F=r;G=0}else{l=f[m+40>>2]|0;f[$>>2]=l;k=f[m+16>>2]|0;f[T>>2]=k;if(b[m+36>>0]&8)f[Z>>2]=f[Z>>2]|1048576;k=f[k+72>>2]|0;F=r;G=m;y=l}}else{F=0;G=m}do if(U&(o|0)==0){r=f[g>>2]|0;do if(r){A=b[S>>0]|0;z=b[v>>0]|0;l=z|32;if(A<<24>>24==117){if(l<<24>>24!=111){r=0;break}}else{if(l<<24>>24==110){l=v;m=49600;do{m=m+1|0;l=l+1|0;qa=b[m>>0]|0;o=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(o|0)!=0));if(!o){f[$>>2]=1;y=1;break}}if(!(A<<24>>24!=116&(z|32)<<24>>24==111)){r=0;break}}l=v;m=49604;do{m=m+1|0;l=l+1|0;qa=b[m>>0]|0;o=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(o|0)!=0));if(!o){f[$>>2]=0;y=0}else r=0}else r=0;while(0);z=d[q+24>>1]|0;if(((z&512)!=0?(da=f[q+8>>2]|0,(da|0)!=0):0)?(b[v>>0]|32)<<24>>24==101:0){l=v;m=49608;do{m=m+1|0;l=l+1|0;qa=b[m>>0]|0;o=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(o|0)!=0));if(!o){C=f[(f[da+20>>2]|0)+24>>2]|0;f[$>>2]=2;y=2}else C=r}else C=r;if(!C){E=n;D=0;n=F;m=(G|0)!=0;B=z;break}k=f[C+72>>2]|0;qa=d[C+42>>1]|0;B=qa<<16>>16;n:do if(qa<<16>>16>0){A=h[1232+(h[u>>0]|0)>>0]|0;m=0;z=f[C+4>>2]|0;while(1){o=f[z>>2]|0;qa=b[o>>0]|0;l=(h[1232+(qa&255)>>0]|0)-A|0;if(!(qa<<24>>24==0|(l|0)!=0)){r=u;do{o=o+1|0;r=r+1|0;qa=b[o>>0]|0;l=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[r>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(l|0)!=0))}if(!l)break;m=m+1|0;if((m|0)<(B|0))z=z+16|0;else break n}m=(m|0)==(d[C+40>>1]|0)?-1:m}else m=0;while(0);do if((m|0)>=(B|0)){A=b[u>>0]|0;z=h[1232+(A&255)>>0]|0;l=z+-95|0;A=A<<24>>24==0;if(!(A|(l|0)!=0)){o=49617;r=u;do{r=r+1|0;o=o+1|0;qa=b[r>>0]|0;l=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(l|0)!=0))}if(l|0){l=z+-114|0;if(!(A|(l|0)!=0)){o=49625;r=u;do{r=r+1|0;o=o+1|0;qa=b[r>>0]|0;l=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(l|0)!=0))}if(l|0){l=z+-111|0;if(!(A|(l|0)!=0)){o=49631;r=u;do{r=r+1|0;o=o+1|0;qa=b[r>>0]|0;l=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(l|0)!=0))}if(l|0)break}}m=(f[C+36>>2]&64|0)==0?-1:m}while(0);if((m|0)<(B|0)){o=F+1|0;if((y|0)==2)if((h[x>>0]|0)>1){d[aa>>1]=m;f[R>>2]=C;n=158;l=1;y=2;ma=142;break}else{y=(f[(f[q+8>>2]|0)+24>>2]|0)+m|0;f[$>>2]=y;f[Z>>2]=f[Z>>2]|4194304;n=164;l=1;ma=142;break}do if((m|0)>=0){l=(m|0)>31?-1:1<>2]=f[O>>2]|l;break}else{f[P>>2]=f[P>>2]|l;break}}else b[N>>0]=68;while(0);f[R>>2]=C;d[aa>>1]=m;n=77;l=1;ma=142}else{l=1;o=F;ma=142}}else{l=o;o=F;ma=142}while(0);do if((ma|0)==142){ma=0;m=(G|0)!=0;B=d[q+24>>1]|0;if(m&((l|0)==1&(o|0)==0))if(!(B&32)){z=b[u>>0]|0;r=h[1232+(z&255)>>0]|0;l=r+-95|0;z=z<<24>>24==0;if(!(z|(l|0)!=0)){m=49617;o=u;do{o=o+1|0;m=m+1|0;qa=b[o>>0]|0;l=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(l|0)!=0))}if(l|0){l=r+-114|0;if(!(z|(l|0)!=0)){m=49625;o=u;do{o=o+1|0;m=m+1|0;qa=b[o>>0]|0;l=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(l|0)!=0))}if(l|0){l=r+-111|0;if(!(z|(l|0)!=0)){m=49631;o=u;do{o=o+1|0;m=m+1|0;qa=b[o>>0]|0;l=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(l|0)!=0))}if(l|0){E=n;D=1;n=0;m=1;break}}}if(!(f[(f[G+16>>2]|0)+36>>2]&64)){ma=157;break i}else{E=n;D=1;n=0;m=1}}else{E=n;D=1;n=0;m=1}else{E=n;D=l;n=o}}while(0);l=(n|0)==0;if(Q&(l&(B&128)!=0)){C=f[q+8>>2]|0;r=f[C>>2]|0;if((r|0)>0){A=0;while(1){z=f[C+4+(A*20|0)+4>>2]|0;if(z|0){qa=b[z>>0]|0;l=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0;if(!(qa<<24>>24==0|(l|0)!=0)){n=u;o=z;do{o=o+1|0;n=n+1|0;qa=b[o>>0]|0;l=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(l|0)!=0))}if(!l){ma=166;break i}}l=A+1|0;if((l|0)<(r|0))A=l;else break}}}else if(!l){ma=197;break}q=f[q+12>>2]|0;if(!q){ma=185;break}else{o=D;V=V+1|0;n=E;m=G}}o:do if((ma|0)==157){d[aa>>1]=-1;b[N>>0]=68;o=1;m=1;ma=204}else if((ma|0)==166){m=f[C+4+(A*20|0)>>2]|0;if((B&1)==0?f[m+4>>2]&2|0:0){f[ea>>2]=z;ni(na,49635,ea);qa=2;t=oa;return qa|0}l=b[m>>0]|0;if(l<<24>>24==-92)l=b[m+38>>0]|0;switch(l<<24>>24){case -91:{fa=m+20|0;ma=174;break}case 127:{fa=f[m+20>>2]|0;ma=174;break}default:{}}if((ma|0)==174?(f[f[fa>>2]>>2]|0)!=1:0){ni(na,49666,ga);qa=2;t=oa;return qa|0}Nk(na,C,A,c,72788,V);if((h[x>>0]|0)>1?(i=f[W>>2]|0,(i|0)!=0):0){while(1){if((f[i>>2]|0)==(c|0))break;i=f[i+12>>2]|0;if(!i){m=q;break o}}f[i>>2]=0;m=q}else m=q}else if((ma|0)==185)if(Q){if(f[Z>>2]&64|0){b[c>>0]=106;f[R>>2]=0;qa=1;t=oa;return qa|0}l=f[c+8>>2]|0;r=b[l>>0]|0;q=h[1232+(r&255)>>0]|0;i=q+-116|0;r=r<<24>>24==0;if(!(r|(i|0)!=0)){n=49684;o=l;do{o=o+1|0;n=n+1|0;qa=b[o>>0]|0;i=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(i|0)!=0))}if(i|0){i=q+-102|0;if(!(r|(i|0)!=0)){n=49689;do{l=l+1|0;n=n+1|0;qa=b[l>>0]|0;i=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(i|0)!=0))}if(i|0){l=0;n=0;i=49717;ma=198;break}}b[c>>0]=-101;qa=1;t=oa;return qa|0}else{l=0;n=0;i=49717;ma=198}else if((ma|0)==197)if((n|0)==1){o=1;n=E;ma=204}else{l=q;i=49695;ma=198}while(0);if((ma|0)==198){do if(X)if(Y){f[ha>>2]=i;f[ha+4>>2]=v;f[ha+8>>2]=u;ni(na,42793,ha);break}else{f[ia>>2]=i;f[ia+4>>2]=u;ni(na,42803,ia);break}else{f[ja>>2]=i;f[ja+4>>2]=w;f[ja+8>>2]=v;f[ja+12>>2]=u;ni(na,49732,ja)}while(0);b[na+17>>0]=1;q=e+20|0;f[q>>2]=(f[q>>2]|0)+1;q=l;o=n;n=E;ma=204}if((ma|0)==204){qa=d[aa>>1]|0;l=qa<<16>>16;i=G+56|0;if(m&qa<<16>>16>-1){ia=WA(1,0,((l|0)<63?l:63)|0)|0;ja=ba()|0;ha=i;ja=f[ha+4>>2]|ja;qa=i;f[qa>>2]=f[ha>>2]|ia;f[qa+4>>2]=ja}i=c+12|0;l=f[i>>2]|0;if(l|0)ig(s,l);f[i>>2]=0;i=c+16|0;l=f[i>>2]|0;if(l|0)ig(s,l);f[i>>2]=0;b[c>>0]=n;f[Z>>2]=f[Z>>2]|8388608;if((o|0)==1)m=q;else{qa=2;t=oa;return qa|0}}p:do if((f[Z>>2]&4194304|0)==0?(la=f[m+4>>2]|0,ka=f[_>>2]|0,!((k|0)==0|(f[ka+312>>2]|0)==0)):0){i=f[ka+16>>2]|0;l=0;while(1)if((f[i+(l<<4)+12>>2]|0)==(k|0))break;else l=l+1|0;if((b[c>>0]|0)!=77){k=f[la>>2]|0;if((k|0)<=0)break;i=f[$>>2]|0;g=0;while(1){if((i|0)==(f[la+8+(g*72|0)+40>>2]|0))break;g=g+1|0;if((g|0)>=(k|0))break p}g=la+8+(g*72|0)+16|0}k=f[g>>2]|0;i=d[aa>>1]|0;g=i<<16>>16;if(k|0){if(i<<16>>16<=-1){g=d[k+40>>1]|0;if(g<<16>>16>-1){g=g<<16>>16;ma=225}else g=49625}else ma=225;if((ma|0)==225)g=f[(f[k+4>>2]|0)+(g<<4)>>2]|0;if((Qk(na,f[k>>2]|0,g,l)|0)==2)b[c>>0]=110}}while(0);qa=e+16|0;f[qa>>2]=(f[qa>>2]|0)+1;if((m|0)==(e|0)){qa=1;t=oa;return qa|0}do{e=f[e+12>>2]|0;qa=e+16|0;f[qa>>2]=(f[qa>>2]|0)+1}while((e|0)!=(m|0));e=1;t=oa;return e|0}else if((ma|0)==371?(b[(f[na>>2]|0)+81>>0]|0)==0:0){g=f[c+12>>2]|0;e=b[g>>0]|0;if(e<<24>>24==-92)e=b[g+38>>0]|0;switch(e<<24>>24){case -91:{e=g+20|0;ma=377;break}case 127:{e=f[g+20>>2]|0;ma=377;break}default:k=1}if((ma|0)==377)k=f[f[e>>2]>>2]|0;q:do if((b[c>>0]|0)==48){i=f[c+20>>2]|0;g=f[i+4>>2]|0;e=b[g>>0]|0;if(e<<24>>24==-92)e=b[g+38>>0]|0;switch(e<<24>>24){case -91:{e=g+20|0;ma=384;break}case 127:{e=f[g+20>>2]|0;ma=384;break}default:e=1}if((ma|0)==384)e=f[f[e>>2]>>2]|0;if((e|0)==(k|0)){g=f[i+24>>2]|0;e=b[g>>0]|0;if(e<<24>>24==-92)e=b[g+38>>0]|0;switch(e<<24>>24){case -91:{e=f[f[g+20>>2]>>2]|0;break q}case 127:{e=f[f[f[g+20>>2]>>2]>>2]|0;break q}default:{e=1;break q}}}}else{g=f[c+16>>2]|0;e=b[g>>0]|0;if(e<<24>>24==-92)e=b[g+38>>0]|0;switch(e<<24>>24){case -91:{e=f[f[g+20>>2]>>2]|0;break q}case 127:{e=f[f[f[g+20>>2]>>2]>>2]|0;break q}default:{e=1;break q}}}while(0);if((k|0)!=(e|0))ni(na,49666,s)}if(f[na+36>>2]|0){qa=2;t=oa;return qa|0}qa=(b[(f[na>>2]|0)+81>>0]|0)==0?0:2;t=oa;return qa|0}function mi(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0;Ra=t;t=t+224|0;Qa=Ra+104|0;Na=Ra+96|0;Ma=Ra+80|0;Ba=Ra+72|0;za=Ra+64|0;va=Ra+56|0;ua=Ra+48|0;ta=Ra+40|0;ya=Ra+32|0;xa=Ra+24|0;wa=Ra+16|0;sa=Ra+8|0;ra=Ra;Ga=Ra+184|0;Ha=Ra+152|0;Ia=Ra+144|0;ga=Ra+112|0;e=f[c+8>>2]|0;if(e&4|0){Qa=1;t=Ra;return Qa|0}ca=f[a+24>>2]|0;Pa=f[a>>2]|0;a=f[Pa>>2]|0;if(!(e&64)){cg(Pa,c,ca);if(f[Pa+36>>2]|0){Qa=2;t=Ra;return Qa|0}Qa=(b[a+81>>0]|0)==0?1:2;t=Ra;return Qa|0}Aa=c+52|0;ea=(f[Aa>>2]|0)!=0;O=ea&1;P=ga+28|0;Q=ga+24|0;R=Ga+4|0;S=Ga+8|0;T=Ga+12|0;U=Ga+24|0;V=ga+4|0;W=ga+12|0;X=Pa+236|0;Y=(ca|0)==0;Z=Ga+4|0;_=Ga+8|0;$=Ga+12|0;aa=Ga+24|0;ba=Pa+36|0;r=a+81|0;s=ga+20|0;u=Ga+4|0;v=Ga+8|0;w=Ga+12|0;x=Ga+24|0;y=ga+8|0;z=Ga+4|0;A=Ga+8|0;B=Ga+12|0;C=Ga+24|0;D=Ga+4|0;E=Ga+8|0;F=Ga+12|0;G=Ga+24|0;H=Ga+4|0;I=Ga+8|0;J=Ga+12|0;K=Ga+24|0;L=ga+4|0;M=Pa;N=Pa+204|0;p=c;q=0;a=e;a:while(1){o=p+8|0;f[o>>2]=a|4;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;f[L+16>>2]=0;f[L+20>>2]=0;f[ga>>2]=Pa;f[P>>2]=p;a=f[p+60>>2]|0;if(a){d[Q>>1]=0;f[Ga>>2]=M;f[R>>2]=146;f[S>>2]=147;f[T>>2]=0;f[U>>2]=ga;e=a+24|0;n=(f[N>>2]|0)+(f[e>>2]|0)|0;f[N>>2]=n;qa=f[(f[Pa>>2]|0)+120>>2]|0;if((qa|0)<(n|0)){H=9;break}oi(Ga,a)|0;g=f[Ga>>2]|0;n=g+204|0;f[n>>2]=(f[n>>2]|0)-(f[e>>2]|0);if(d[Q>>1]&16){n=a+4|0;f[n>>2]=f[n>>2]|2}if((f[s>>2]|0)>0){H=13;break}if((f[g+36>>2]|0)>=1){Oa=2;H=188;break}}n=p+32|0;e=f[n>>2]|0;if(f[o>>2]&65536|0){m=p+48|0;f[(f[e+28>>2]|0)+48>>2]=f[m>>2];f[m>>2]=0}a=e;b:do if((f[e>>2]|0)>0){if(Y){j=0;while(1){i=f[e+8+(j*72|0)+20>>2]|0;if(i){a=f[X>>2]|0;g=f[e+8+(j*72|0)+8>>2]|0;if(g|0)f[X>>2]=g;f[Z>>2]=146;f[_>>2]=147;f[$>>2]=0;f[Ga>>2]=Pa;f[aa>>2]=0;yk(Ga,i)|0;f[X>>2]=a;if(f[ba>>2]|0){Oa=2;H=188;break a}if(b[r>>0]|0){Oa=2;H=188;break a}a=e+8+(j*72|0)+37|0;b[a>>0]=b[a>>0]&-9;a=f[n>>2]|0;e=a}j=j+1|0;if((j|0)>=(f[e>>2]|0))break b}}k=0;j=e;while(1){i=f[j+8+(k*72|0)+20>>2]|0;if(!i)e=j;else{g=f[X>>2]|0;a=0;e=ca;do{a=(f[e+16>>2]|0)+a|0;e=f[e+12>>2]|0}while((e|0)!=0);e=f[j+8+(k*72|0)+8>>2]|0;if(e|0)f[X>>2]=e;f[Z>>2]=146;f[_>>2]=147;f[$>>2]=0;f[Ga>>2]=Pa;f[aa>>2]=ca;yk(Ga,i)|0;f[X>>2]=g;if(f[ba>>2]|0){Oa=2;H=188;break a}if(b[r>>0]|0){Oa=2;H=188;break a}e=ca;do{a=a-(f[e+16>>2]|0)|0;e=f[e+12>>2]|0}while((e|0)!=0);e=j+8+(k*72|0)+37|0;b[e>>0]=b[e>>0]&-9|((a|0)!=0&1)<<3&255;a=f[n>>2]|0;e=a}k=k+1|0;if((k|0)>=(f[e>>2]|0))break;else j=e}}while(0);d[Q>>1]=16385;f[V>>2]=a;f[W>>2]=ca;k=f[p>>2]|0;if((k|0)!=0?(f[k>>2]|0)>0:0){j=0;a=16385;do{g=f[k+4+(j*20|0)>>2]|0;if(g){e=a&65535;d[Q>>1]=e&61423;ha=f[ga>>2]|0;f[Ga>>2]=ha;f[u>>2]=146;f[v>>2]=147;f[w>>2]=0;f[x>>2]=ga;a=g+24|0;ia=ha;l=ia+204|0;m=(f[l>>2]|0)+(f[a>>2]|0)|0;f[l>>2]=m;ia=f[(f[ia>>2]|0)+120>>2]|0;if((ia|0)<(m|0)){H=46;break a}oi(Ga,g)|0;i=f[Ga>>2]|0;m=i+204|0;f[m>>2]=(f[m>>2]|0)-(f[a>>2]|0);a=d[Q>>1]|0;if(a&16){m=g+4|0;f[m>>2]=f[m>>2]|2}a=(e&4112|a&65535)&65535;d[Q>>1]=a;if((f[s>>2]|0)>0){H=50;break a}if((f[i+36>>2]|0)>=1){Oa=2;H=188;break a}}j=j+1|0}while((j|0)<(f[k>>2]|0))}else a=16385;e=a&-16385;d[Q>>1]=e;m=f[p+40>>2]|0;l=(m|0)!=0;if(!l?(da=e&65535,(da&16|0)==0):0){e=da&49150;d[Q>>1]=e}else f[o>>2]=f[o>>2]|(a&4096|8)&65535;i=f[p+44>>2]|0;g=(i|0)==0;if(!(l|g)){H=57;break}f[y>>2]=f[p>>2];a=e|128;d[Q>>1]=a;if(!g){e=a&65535;d[Q>>1]=e&61423;ja=f[ga>>2]|0;f[Ga>>2]=ja;f[z>>2]=146;f[A>>2]=147;f[B>>2]=0;f[C>>2]=ga;a=i+24|0;ka=ja;j=ka+204|0;k=(f[j>>2]|0)+(f[a>>2]|0)|0;f[j>>2]=k;ka=f[(f[ka>>2]|0)+120>>2]|0;if((ka|0)<(k|0)){H=61;break}oi(Ga,i)|0;g=f[Ga>>2]|0;k=g+204|0;f[k>>2]=(f[k>>2]|0)-(f[a>>2]|0);a=d[Q>>1]|0;if(a&16){k=i+4|0;f[k>>2]=f[k>>2]|2}a=(e&4112|a&65535)&65535;d[Q>>1]=a;if((f[s>>2]|0)>0){H=65;break}if((f[g+36>>2]|0)>=1){Oa=2;H=188;break}}g=f[p+36>>2]|0;if(g){e=a&65535;d[Q>>1]=e&61423;la=f[ga>>2]|0;f[Ga>>2]=la;f[D>>2]=146;f[E>>2]=147;f[F>>2]=0;f[G>>2]=ga;a=g+24|0;ma=la;j=ma+204|0;k=(f[j>>2]|0)+(f[a>>2]|0)|0;f[j>>2]=k;ma=f[(f[ma>>2]|0)+120>>2]|0;if((ma|0)<(k|0)){H=70;break}oi(Ga,g)|0;i=f[Ga>>2]|0;k=i+204|0;f[k>>2]=(f[k>>2]|0)-(f[a>>2]|0);a=d[Q>>1]|0;if(a&16){k=g+4|0;f[k>>2]=f[k>>2]|2}a=(e&4112|a&65535)&65535;d[Q>>1]=a;if((f[s>>2]|0)>0){H=74;break}if((f[i+36>>2]|0)>=1){Oa=2;H=188;break}}e=f[n>>2]|0;if((f[e>>2]|0)>0){k=0;do{if(((b[e+8+(k*72|0)+37>>0]&4)!=0?(fa=f[e+8+(k*72|0)+64>>2]|0,(fa|0)!=0):0)?(f[fa>>2]|0)>0:0){j=0;do{g=f[fa+4+(j*20|0)>>2]|0;if(g){e=a&65535;d[Q>>1]=e&61423;na=f[ga>>2]|0;f[Ga>>2]=na;f[H>>2]=146;f[I>>2]=147;f[J>>2]=0;f[K>>2]=ga;a=g+24|0;oa=na;Sa=oa+204|0;i=(f[Sa>>2]|0)+(f[a>>2]|0)|0;f[Sa>>2]=i;oa=f[(f[oa>>2]|0)+120>>2]|0;if((oa|0)<(i|0)){H=86;break a}oi(Ga,g)|0;i=f[Ga>>2]|0;Sa=i+204|0;f[Sa>>2]=(f[Sa>>2]|0)-(f[a>>2]|0);a=d[Q>>1]|0;if(a&16){Sa=g+4|0;f[Sa>>2]=f[Sa>>2]|2}a=(e&4112|a&65535)&65535;d[Q>>1]=a;if((f[s>>2]|0)>0){H=90;break a}if((f[i+36>>2]|0)>=1){Oa=2;H=188;break a}}j=j+1|0}while((j|0)<(f[fa>>2]|0))}k=k+1|0;e=f[n>>2]|0}while((k|0)<(f[e>>2]|0))}f[W>>2]=0;d[Q>>1]=a|16385;if(f[o>>2]&65536|0){Sa=(f[e+28>>2]|0)+48|0;f[p+48>>2]=f[Sa>>2];f[Sa>>2]=0}if(q>>>0>=O>>>0?zk(ga,p,f[p+48>>2]|0,49126)|0:0){Oa=2;H=188;break}if(b[r>>0]|0){Oa=2;H=188;break}d[Q>>1]=d[Q>>1]&-16385;if(l){if(zk(ga,p,m,49132)|0){Oa=2;H=188;break}if(b[r>>0]|0){Oa=2;H=188;break}g=f[m>>2]|0;if((g|0)>0){a=m+4|0;e=0;while(1){if(f[(f[a>>2]|0)+4>>2]&2|0){H=104;break a}e=e+1|0;if((e|0)>=(g|0))break;else a=a+20|0}}}pa=f[p+56>>2]|0;if(pa|0?(f[f[p>>2]>>2]|0)!=(f[f[pa>>2]>>2]|0):0){H=108;break}a=f[p+52>>2]|0;if(!a){H=117;break}p=a;q=q+1|0;a=f[a+8>>2]|0}switch(H|0){case 9:{f[ra>>2]=qa;ni(Pa,42710,ra);H=13;break}case 46:{f[sa>>2]=ia;ni(ha,42710,sa);H=50;break}case 57:{ni(Pa,49082,wa);Sa=2;t=Ra;return Sa|0}case 61:{f[xa>>2]=ka;ni(ja,42710,xa);H=65;break}case 70:{f[ya>>2]=ma;ni(la,42710,ya);H=74;break}case 86:{f[ta>>2]=oa;ni(na,42710,ta);H=90;break}case 104:{ni(Pa,49138,ua);Sa=2;t=Ra;return Sa|0}case 108:{if(f[pa+8>>2]&512|0){ni(Pa,49197,va);Sa=2;t=Ra;return Sa|0}switch(b[pa+4>>0]|0){case 124:{c=49266;break}case 126:{c=49256;break}case 125:{c=49249;break}default:c=49243}f[za>>2]=c;ni(Pa,49276,za);Sa=2;t=Ra;return Sa|0}case 117:{if(!ea){Sa=1;t=Ra;return Sa|0}G=f[c+48>>2]|0;if(!G){Sa=1;t=Ra;return Sa|0}F=f[Pa>>2]|0;e=f[G>>2]|0;if((e|0)>(f[F+116>>2]|0)){ni(Pa,49358,Ba);Sa=2;t=Ra;return Sa|0}if((e|0)>0){a=0;do{Sa=G+4+(a*20|0)+13|0;b[Sa>>0]=b[Sa>>0]&-2;a=a+1|0}while((a|0)!=(e|0))}f[c+56>>2]=0;a=f[Aa>>2]|0;if(a)while(1){f[a+56>>2]=c;c=f[a+52>>2]|0;if(!c){c=a;break}else{Sa=a;a=c;c=Sa}}q=G+4|0;r=Ga+4|0;s=F+81|0;u=Ha+12|0;v=Ha+4|0;w=Ha+8|0;x=Ha+24|0;y=Ha+20|0;z=Pa;A=Ga+4|0;B=Ga+8|0;C=Ga+12|0;D=Ga+24|0;E=Pa+204|0;a=e;c:while(1){p=f[c>>2]|0;if((a|0)<=0){Oa=1;H=188;break}o=c+32|0;n=q;m=0;Ea=0;while(1){f[Ia>>2]=-1;l=n+13|0;d:do if(!(b[l>>0]&1)){a=f[n>>2]|0;e:do if(!a)a=0;else while(1){e=f[a+4>>2]|0;if(!(e&4096))break e;if(!(e&262144))a=a+12|0;else a=(f[a+20>>2]|0)+4|0;a=f[a>>2]|0;if(!a){a=0;break}}while(0);f:do if(!(Ak(a,Ia)|0)){do if((b[a>>0]|0)==59?(Ja=f[a+8>>2]|0,Ka=f[p>>2]|0,(Ka|0)>0):0){j=0;while(1){g=f[p+4+(j*20|0)+4>>2]|0;if(g|0){Sa=b[g>>0]|0;e=(h[1232+(Sa&255)>>0]|0)-(h[1232+(h[Ja>>0]|0)>>0]|0)|0;if(!(Sa<<24>>24==0|(e|0)!=0)){i=Ja;do{g=g+1|0;i=i+1|0;Sa=b[g>>0]|0;e=(h[1232+(Sa&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(Sa<<24>>24==0|(e|0)!=0))}if(!e){H=152;break}}e=j+1|0;if((e|0)<(Ka|0))j=e;else{H=151;break}}if((H|0)==151){H=0;f[Ia>>2]=0;if(!a){La=0;break}else{H=153;break}}else if((H|0)==152){H=0;e=j+1|0;f[Ia>>2]=e;break f}}else H=150;while(0);if((H|0)==150){f[Ia>>2]=0;H=153}if((H|0)==153){H=0;La=Bk(F,a,0,0)|0}if(!(b[s>>0]|0)){k=f[c>>2]|0;f[u>>2]=0;f[u+4>>2]=0;f[u+8>>2]=0;f[u+12>>2]=0;f[u+16>>2]=0;f[Ha>>2]=Pa;f[v>>2]=f[o>>2];f[w>>2]=k;d[x>>1]=129;f[y>>2]=0;e=f[Pa>>2]|0;g=e+85|0;i=b[g>>0]|0;b[g>>0]=1;g:do if(!La){b[g>>0]=i;H=164}else{d[x>>1]=129;f[Ga>>2]=z;f[A>>2]=146;f[B>>2]=147;f[C>>2]=0;f[D>>2]=Ha;j=La+24|0;Sa=(f[E>>2]|0)+(f[j>>2]|0)|0;f[E>>2]=Sa;e=f[e+120>>2]|0;do if((e|0)>=(Sa|0)){oi(Ga,La)|0;e=f[Ga>>2]|0;Sa=e+204|0;f[Sa>>2]=(f[Sa>>2]|0)-(f[j>>2]|0);if(d[x>>1]&16){Sa=La+4|0;f[Sa>>2]=f[Sa>>2]|2}if((f[y>>2]|0)>0)break;Sa=(f[e+36>>2]|0)<1;b[g>>0]=i;if(Sa){H=164;break g}else{Da=0;break g}}else{f[Na>>2]=e;ni(Pa,42710,Na)}while(0);b[g>>0]=i;Da=0}while(0);h:do if((H|0)==164){H=0;if((f[k>>2]|0)<=0){Da=0;break}e=0;while(1){Sa=e;e=e+1|0;if((Ck(0,f[k+4+(Sa*20|0)>>2]|0,La,-1)|0)<2){Da=e;break h}if((e|0)>=(f[k>>2]|0)){Da=0;break}}}while(0);f[Ia>>2]=Da;e=Da}else e=0;if(La|0)ig(F,La);if((e|0)<=0){a=1;break d}}else{e=f[Ia>>2]|0;Fa=f[p>>2]|0;if((e|0)<1|(e|0)>(Fa|0)){H=140;break c}}while(0);f[Ga>>2]=0;f[r>>2]=0;j=Dk(F,143,Ga,0)|0;if(!j)break c;g=j+4|0;f[g>>2]=f[g>>2]|1024;f[j+8>>2]=e;g=f[n>>2]|0;if((g|0)==(a|0))g=n;else{while(1){i=f[g+12>>2]|0;if((b[i>>0]|0)==102)g=i;else break}g=g+12|0}f[g>>2]=j;if(a|0)ig(F,a);d[n+16>>1]=e;b[l>>0]=b[l>>0]|1;a=m}else a=m;while(0);e=Ea+1|0;Ca=f[G>>2]|0;if((e|0)<(Ca|0)){n=n+20|0;m=a;Ea=e}else break}c=f[c+56>>2]|0;if((a|0)!=0&(c|0)!=0)a=Ca;else{H=183;break}}if((H|0)==140){f[Ma>>2]=Ea+1;f[Ma+4>>2]=49126;f[Ma+8>>2]=Fa;ni(Pa,49392,Ma)}else if((H|0)==183){if((Ca|0)<=0){Sa=1;t=Ra;return Sa|0}c=0;while(1){Sa=c;c=c+1|0;if(!(b[G+4+(Sa*20|0)+13>>0]&1))break;if((c|0)>=(Ca|0)){Oa=1;H=188;break}}if((H|0)==188){t=Ra;return Oa|0}f[Qa>>2]=c;ni(Pa,49448,Qa);Sa=2;t=Ra;return Sa|0}else if((H|0)==188){t=Ra;return Oa|0}Sa=2;t=Ra;return Sa|0}case 188:{t=Ra;return Oa|0}}if((H|0)==13){Sa=2;t=Ra;return Sa|0}else if((H|0)==50){Sa=2;t=Ra;return Sa|0}else if((H|0)==65){Sa=2;t=Ra;return Sa|0}else if((H|0)==74){Sa=2;t=Ra;return Sa|0}else if((H|0)==90){Sa=2;t=Ra;return Sa|0}return 0}function ni(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=t;t=t+112|0;k=n+88|0;o=n;m=f[a>>2]|0;f[o>>2]=d;g=f[m+108>>2]|0;i=k+4|0;f[i>>2]=n+16;f[k>>2]=m;f[k+8>>2]=70;e=k+12|0;f[e>>2]=g;g=k+16|0;f[g>>2]=0;j=k+20|0;b[j>>0]=0;h=k+21|0;b[h>>0]=1;Bc(k,c,o);d=f[i>>2]|0;if(((d|0)!=0?(b[d+(f[g>>2]|0)>>0]=0,(f[e>>2]|0)!=0):0)?(b[h>>0]&4)==0:0)e=Cc(k)|0;else e=f[i>>2]|0;if(((b[j>>0]|0)==7?(l=m+81|0,(b[l>>0]|0)==0):0)?(b[m+82>>0]|0)==0:0){b[l>>0]=1;if((f[m+180>>2]|0)>0)f[m+264>>2]=1;o=m+272|0;f[o>>2]=(f[o>>2]|0)+1}if(!(b[m+85>>0]|0)){d=a+36|0;f[d>>2]=(f[d>>2]|0)+1;d=a+4|0;c=f[d>>2]|0;do if(c|0){if(f[m+480>>2]|0){Kc(m,c);break}o=c;if((f[m+304>>2]|0)>>>0<=o>>>0?(f[m+308>>2]|0)>>>0>o>>>0:0){o=m+300|0;f[c>>2]=f[o>>2];f[o>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);f[d>>2]=e;f[a+12>>2]=1;t=n;return}if(!e){t=n;return}if(f[m+480>>2]|0){Kc(m,e);t=n;return}o=e;if((f[m+304>>2]|0)>>>0<=o>>>0?(f[m+308>>2]|0)>>>0>o>>>0:0){o=m+300|0;f[e>>2]=f[o>>2];f[o>>2]=e;t=n;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);t=n;return}else{o=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);t=n;return}}function oi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;d=jb[f[e>>2]&255](a,c)|0;a:do if(!d){p=c;while(1){if(f[p+4>>2]&8404992|0){h=0;c=54;break}c=f[p+12>>2]|0;if(c|0?oi(a,c)|0:0){h=2;c=54;break}d=f[p+16>>2]|0;if(!d){c=9;break}c=jb[f[e>>2]&255](a,d)|0;if(!c)p=d;else{g=c;break a}}if((c|0)==9){k=p+4|0;b:do if(!(f[k>>2]&2048)){c=f[p+20>>2]|0;if(c|0?(j=f[c>>2]|0,(j|0)>0):0){e=c+4|0;c=j;while(1){d=f[e>>2]|0;if(d|0?oi(a,d)|0:0){h=2;break}if((c|0)>1){e=e+20|0;c=c+-1|0}else break b}return h|0}}else{d=f[p+20>>2]|0;if(d|0?(m=a+8|0,i=f[m>>2]|0,i|0):0){j=a+12|0;c=jb[i&255](a,d)|0;c:do if(!c){d:while(1){if(xk(a,d)|0){h=2;c=54;break}c=f[d+32>>2]|0;e=f[c>>2]|0;if((e|0)>0){i=c+8|0;while(1){c=f[i+20>>2]|0;if(c|0?yk(a,c)|0:0){h=2;c=54;break d}if((b[i+37>>0]&4?(n=f[i+64>>2]|0,n|0):0)?(o=f[n>>2]|0,(o|0)>0):0){c=n+4|0;g=o;while(1){h=f[c>>2]|0;if(h|0?oi(a,h)|0:0){h=2;c=54;break d}if((g|0)>1){c=c+20|0;g=g+-1|0}else break}}if((e|0)>1){i=i+72|0;e=e+-1|0}else break}}c=f[j>>2]|0;if(c|0)pb[c&127](a,d);d=f[d+52>>2]|0;if(!d)break b;c=jb[f[m>>2]&255](a,d)|0;if(c|0){l=c;break c}}if((c|0)==54)return h|0}else l=c;while(0);if(l&2|0){a=2;return a|0}}}while(0);if(!(f[k>>2]&16777216)){a=0;return a|0}g=f[p+44>>2]|0;c=f[g+4>>2]|0;e:do if(c|0?(q=f[c>>2]|0,(q|0)>0):0){e=c+4|0;c=q;while(1){d=f[e>>2]|0;if(d|0?oi(a,d)|0:0){h=2;break}if((c|0)>1){e=e+20|0;c=c+-1|0}else break e}return h|0}while(0);c=f[g+8>>2]|0;f:do if(c|0?(r=f[c>>2]|0,(r|0)>0):0){e=c+4|0;c=r;while(1){d=f[e>>2]|0;if(d|0?oi(a,d)|0:0){h=2;break}if((c|0)>1){e=e+20|0;c=c+-1|0}else break f}return h|0}while(0);c=f[g+28>>2]|0;if(c|0?oi(a,c)|0:0){a=2;return a|0}a=0;return a|0}else if((c|0)==54)return h|0}else g=d;while(0);a=g&2;return a|0}function pi(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=t;t=t+48|0;D=E+24|0;C=E+8|0;B=E;A=E+32|0;s=f[a>>2]|0;p=s+24|0;k=f[p>>2]|0;a:do if((k&8|0)==0?(b[s+165>>0]|0)==0:0){n=a+4|0;l=(k&1|0)==0;m=s+16|0;y=f[(f[m>>2]|0)+12>>2]|0;b[s+78>>0]=b[y+77>>0]|0;if(!((d[y+78>>1]&1)==0?(i=qi(s,0,n,0)|0,(i|0)!=0):0))w=5;b:do if((w|0)==5){i=f[s+20>>2]|0;if((i|0)>1)do{k=i;i=i+-1|0;if((d[(f[(f[m>>2]|0)+(i<<4)+12>>2]|0)+78>>1]&1)==0?(o=qi(s,i,n,0)|0,o|0):0){i=o;break b}}while((k|0)>2);if(l)f[p>>2]=f[p>>2]&-2;if(!(b[s+89>>0]|0))break a;f[p>>2]=f[p>>2]|8;break a}while(0);f[a+12>>2]=i;a=a+36|0;f[a>>2]=(f[a>>2]|0)+1;a=0;t=E;return a|0}while(0);i=ji(s,e,g)|0;if(i|0){a=i;t=E;return a|0}y=(c&1|0)==0?42758:42772;m=f[s+348>>2]|0;if(!m){k=s+340|0;i=s+344|0}else{k=b[e>>0]|0;if(!(k<<24>>24))i=0;else{i=0;l=e;do{l=l+1|0;i=U(i+(h[1232+(k&255)>>0]|0)|0,-1640531535)|0;k=b[l>>0]|0}while(k<<24>>24!=0)}i=(i>>>0)%((f[s+336>>2]|0)>>>0)|0;k=m+(i<<3)|0;i=m+(i<<3)+4|0}k=f[k>>2]|0;c:do if(!k)i=72124;else{o=h[1232+(h[e>>0]|0)>>0]|0;while(1){i=f[i>>2]|0;k=k+-1|0;m=f[i+12>>2]|0;v=b[m>>0]|0;l=(h[1232+(v&255)>>0]|0)-o|0;if(!(v<<24>>24==0|(l|0)!=0)){n=e;do{m=m+1|0;n=n+1|0;v=b[m>>0]|0;l=(h[1232+(v&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(v<<24>>24==0|(l|0)!=0))}if(!l)break c;if(!k){i=72124;break}}}while(0);l=f[i+8>>2]|0;d:do if(!((e|0)==0|(l|0)!=0)){i=b[e>>0]|0;do if(!(i<<24>>24)){i=42785;w=31}else{v=i&255;i=1232+v|0;if((v|32|0)==112){i=b[e+1>>0]|0;if(!(i<<24>>24)){i=42786;w=31;break}v=i&255;i=1232+v|0;if((v|32|0)==114){i=b[e+2>>0]|0;if(!(i<<24>>24)){i=42787;w=31;break}v=i&255;i=1232+v|0;if((v|32|0)==97){i=b[e+3>>0]|0;if(!(i<<24>>24)){i=42788;w=31;break}v=i&255;i=1232+v|0;if((v|32|0)==103){i=b[e+4>>0]|0;if(!(i<<24>>24)){i=42789;w=31;break}v=i&255;i=1232+v|0;if((v|32|0)==109){i=b[e+5>>0]|0;if(!(i<<24>>24)){i=42790;w=31;break}v=i&255;i=1232+v|0;if((v|32|0)==97){i=b[e+6>>0]|0;if(!(i<<24>>24)){i=42791;w=31;break}if(i<<24>>24==95)break;else{k=95;i=1232+(i&255)|0}}else k=97}else k=109}else k=103}else k=97}else k=114}else k=112;r=h[i>>0]|0;q=k;w=35}while(0);if((w|0)==31){r=0;q=b[1232+(h[i>>0]|0)>>0]|0;w=35}if((w|0)==35?(r|0)!=(q&255|0):0){z=l;w=48;break}p=e+7|0;v=b[p>>0]|0;q=h[1232+(v&255)>>0]|0;e:do if(!(v<<24>>24)){k=0;l=59;while(1){i=(k+l|0)/2|0;m=q-(h[1232+(h[f[6080+(i<<4)>>2]>>0]|0)>>0]|0)|0;if(!m)break e;v=(m|0)<0;k=v?k:i+1|0;l=v?i+-1|0:l;if((k|0)>(l|0))break d}}else{n=0;o=59;while(1){i=(n+o|0)/2|0;l=f[6080+(i<<4)>>2]|0;k=q-(h[1232+(h[l>>0]|0)>>0]|0)|0;if(!k){m=p;do{m=m+1|0;l=l+1|0;v=b[m>>0]|0;k=(h[1232+(v&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(v<<24>>24==0|(k|0)!=0));if(!k)break e}v=(k|0)<0;n=v?n:i+1|0;o=v?i+-1|0:o;if((n|0)>(o|0))break d}}while(0);if(b[6080+(i<<4)+5>>0]&48){z=ri(s,e,38052,6080+(i<<4)|0,0)|0;w=48}}else{z=l;w=48}while(0);f:do if((w|0)==48?z|0:0){s=f[z>>2]|0;f[A>>2]=0;u=f[a>>2]|0;v=z+16|0;i=f[v>>2]|0;g:do if(!i){r=f[s+4>>2]|0;if(!((r|0)!=0?(r|0)!=(f[s+8>>2]|0):0))w=52;h:do if((w|0)==52){q=(u|0)==0;i:do if(q){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](80)|0;w=75;break}i=ib[f[37372>>2]&255](80)|0;if((f[18194]|0)>>>0<80)f[18194]=80;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){r=f[18187]|0;p=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;o=ba()|0;f[17976]=((o|0)<0|(o|0)==0&p>>>0<=r>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(!k)break h;i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}else{if(f[u+272>>2]|0){if(b[u+81>>0]|0)break h}else{do if((j[u+276>>1]|0)>=80){k=u+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=75;break i}k=u+296|0;i=f[k>>2]|0;if(!i){i=u+292|0;break}else{f[k>>2]=f[i>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=75;break i}}else i=u+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(u,80,0)|0;w=75}while(0);if((w|0)==75)if(!i)break;else k=i;i=k;l=i+80|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(l|0));n=f[z+4>>2]|0;j:do if(!n)w=104;else{o=(wz(n)|0)+1|0;k:do if(q){r=KA(o|0,0,-1,-1)|0;p=ba()|0;do if(!(p>>>0>0|(p|0)==0&r>>>0>2147483390)){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](o)|0;w=102;break k}i=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){r=f[18187]|0;p=LA(l|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;m=ba()|0;f[17976]=((m|0)<0|(m|0)==0&p>>>0<=r>>>0)&1}l=ib[f[37356>>2]&255](i)|0;if(!l)break;i=ib[f[37368>>2]&255](l)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0<=(f[18196]|0)>>>0){p=l;break k}f[18196]=i;p=l;break k}while(0);f[k>>2]=0;break j}else{if(f[u+272>>2]|0){if(b[u+81>>0]|0){f[k>>2]=0;w=105;break j}}else{do if(!(0<0|(0==0?(j[u+276>>1]|0)>>>0>>0:0))){l=u+300|0;i=f[l>>2]|0;if(i|0){f[l>>2]=f[i>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=102;break k}l=u+296|0;i=f[l>>2]|0;if(!i){i=u+292|0;break}else{f[l>>2]=f[i>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=102;break k}}else i=u+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(u,o,0)|0;w=102}while(0);if((w|0)==102)if(!i){w=104;break}else p=i;YA(p|0,n|0,o|0)|0;f[k>>2]=p;f[v>>2]=k;f[k+32>>2]=1;f[k+72>>2]=f[(f[u+16>>2]|0)+12>>2];d[k+40>>1]=-1;n=(wz(p)|0)+1|0;l:do if(q){r=KA(n|0,0,-1,-1)|0;q=ba()|0;if(q>>>0>0|(q|0)==0&r>>>0>2147483390)i=0;else{if(!(f[9328]|0)){i=ib[f[37356>>2]&255](n)|0;w=137;break}i=ib[f[37372>>2]&255](n)|0;if((f[18194]|0)>>>0>>0)f[18194]=n;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){r=f[18187]|0;q=LA(l|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;o=ba()|0;f[17976]=((o|0)<0|(o|0)==0&q>>>0<=r>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){i=0;break}l=ib[f[37368>>2]&255](i)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0<=(f[18196]|0)>>>0){w=138;break}f[18196]=l;w=138}}else{if(f[u+272>>2]|0){if(b[u+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[u+276>>1]|0)>>>0>>0:0))){l=u+300|0;i=f[l>>2]|0;if(i|0){f[l>>2]=f[i>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=137;break l}l=u+296|0;i=f[l>>2]|0;if(!i){i=u+292|0;break}else{f[l>>2]=f[i>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=137;break l}}else i=u+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(u,n,0)|0;w=137}while(0);if((w|0)==137)if(!i)i=0;else w=138;if((w|0)==138)YA(i|0,p|0,n|0)|0;q=k+56|0;m=f[q>>2]|0;o=(m<<2)+8|0;r=k+60|0;l=f[r>>2]|0;p=((o|0)<0)<<31>>31;m:do if(!l){if(f[u+272>>2]|0){if(b[u+81>>0]|0){w=158;break}}else{do if(!(0

>>0|(0==(p|0)?(j[u+276>>1]|0)>>>0>>0:0))){m=u+300|0;l=f[m>>2]|0;if(l|0){f[m>>2]=f[l>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=156;break m}m=u+296|0;l=f[m>>2]|0;if(!l){l=u+292|0;break}else{f[m>>2]=f[l>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=156;break m}}else l=u+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1}l=Dc(u,o,p)|0;w=156}else{n=l;do if((f[u+304>>2]|0)>>>0<=n>>>0){if((f[u+308>>2]|0)>>>0<=n>>>0)break;if(!(0

>>0|(0==(p|0)?(j[u+276>>1]|0)>>>0>>0:0))){w=167;break m}l=Lc(u,l,o,p)|0;w=156;break m}while(0);l=Lc(u,l,o,p)|0;w=156}while(0);if((w|0)==156)if(!l)w=158;else{m=f[q>>2]|0;w=167}n:do if((w|0)==158){o:do if(i|0){if(f[u+480>>2]|0){Kc(u,i);break}l=i;do if((f[u+304>>2]|0)>>>0<=l>>>0){if((f[u+308>>2]|0)>>>0<=l>>>0)break;p=u+300|0;f[i>>2]=f[p>>2];f[p>>2]=i;break o}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{p=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);l=f[r>>2]|0;i=f[q>>2]|0;n=(i<<2)+8|0;o=((n|0)<0)<<31>>31;if(!l){if(f[u+272>>2]|0){if(b[u+81>>0]|0)break}else{do if(!(0>>0|(0==(o|0)?(j[u+276>>1]|0)>>>0>>0:0))){i=u+300|0;l=f[i>>2]|0;if(l|0){f[i>>2]=f[l>>2];x=u+284|0;f[x>>2]=(f[x>>2]|0)+1;x=l;w=185;break n}i=u+296|0;l=f[i>>2]|0;if(!l){i=u+292|0;break}else{f[i>>2]=f[l>>2];x=u+284|0;f[x>>2]=(f[x>>2]|0)+1;x=l;w=185;break n}}else i=u+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}x=Dc(u,n,o)|0;w=185}else w=180}else if((w|0)==167){x=m+1|0;f[q>>2]=x;f[l+(m<<2)>>2]=i;f[l+(x<<2)>>2]=0;f[r>>2]=l;n=(x<<2)+8|0;o=((n|0)<0)<<31>>31;i=x;w=180}while(0);p:do if((w|0)==180){m=l;do if((f[u+304>>2]|0)>>>0<=m>>>0){if((f[u+308>>2]|0)>>>0<=m>>>0)break;if(!(o>>>0>0|((o|0)==0?n>>>0>(j[u+276>>1]|0)>>>0:0))){w=187;break p}x=Lc(u,l,n,o)|0;w=185;break p}while(0);x=Lc(u,l,n,o)|0;w=185}while(0);if((w|0)==185?x|0:0){l=x;i=f[q>>2]|0;w=187}if((w|0)==187){x=i+1|0;f[q>>2]=x;f[l+(i<<2)>>2]=0;f[l+(x<<2)>>2]=0;f[r>>2]=l}m=f[k>>2]|0;q:do if(!m)p=0;else{n=(wz(m)|0)+1|0;r:do if(f[u+272>>2]|0)if(!(b[u+81>>0]|0))w=199;else{p=0;break q}else{do if(!(0<0|(0==0?(j[u+276>>1]|0)>>>0>>0:0))){l=u+300|0;i=f[l>>2]|0;if(i|0){f[l>>2]=f[i>>2];x=u+284|0;f[x>>2]=(f[x>>2]|0)+1;break r}l=u+296|0;i=f[l>>2]|0;if(!i){i=u+292|0;break}else{f[l>>2]=f[i>>2];x=u+284|0;f[x>>2]=(f[x>>2]|0)+1;break r}}else i=u+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;w=199}while(0);if((w|0)==199)i=Dc(u,n,0)|0;if(!i){p=0;break}YA(i|0,m|0,n|0)|0;p=i}while(0);l=f[q>>2]|0;n=(l<<2)+8|0;i=f[r>>2]|0;o=((n|0)<0)<<31>>31;s:do if(!i){if(f[u+272>>2]|0){if(b[u+81>>0]|0){w=221;break}}else{do if(!(0>>0|(0==(o|0)?(j[u+276>>1]|0)>>>0>>0:0))){l=u+300|0;i=f[l>>2]|0;if(i|0){f[l>>2]=f[i>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=219;break s}l=u+296|0;i=f[l>>2]|0;if(!i){i=u+292|0;break}else{f[l>>2]=f[i>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=219;break s}}else i=u+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(u,n,o)|0;w=219}else{m=i;do if((f[u+304>>2]|0)>>>0<=m>>>0){if((f[u+308>>2]|0)>>>0<=m>>>0)break;if(!(0>>0|(0==(o|0)?(j[u+276>>1]|0)>>>0>>0:0))){w=230;break s}i=Lc(u,i,n,o)|0;w=219;break s}while(0);i=Lc(u,i,n,o)|0;w=219}while(0);do if((w|0)==219){if(!i){w=221;break}l=f[q>>2]|0;w=230}while(0);t:do if((w|0)==221){if(!p)break;if(f[u+480>>2]|0){Kc(u,p);break}i=p;do if((f[u+304>>2]|0)>>>0<=i>>>0){if((f[u+308>>2]|0)>>>0<=i>>>0)break;x=u+300|0;f[p>>2]=f[x>>2];f[x>>2]=p;break t}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{x=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}else if((w|0)==230){x=l+1|0;f[q>>2]=x;f[i+(l<<2)>>2]=p;f[i+(x<<2)>>2]=0;f[r>>2]=i}while(0);if(!(si(u,k,z,f[s+8>>2]|0,A)|0)){i=f[v>>2]|0;break g}k=f[A>>2]|0;f[B>>2]=k;ni(a,40840,B);u:do if(k|0){if(f[u+480>>2]|0){Kc(u,k);break}i=k;do if((f[u+304>>2]|0)>>>0<=i>>>0){if((f[u+308>>2]|0)>>>0<=i>>>0)break;B=u+300|0;f[k>>2]=f[B>>2];f[B>>2]=k;break u}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{B=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);i=f[v>>2]|0;if(!i)break h;B=i+36|0;f[B>>2]=f[B>>2]|2;do if(!(f[u+480>>2]|0)){A=i+32|0;B=(f[A>>2]|0)+-1|0;f[A>>2]=B;if(B|0)break;hg(u,i)}else hg(u,i);while(0);f[v>>2]=0;break h}while(0);if((w|0)==104?(f[k>>2]=0,!q):0)w=105;if((w|0)==105){if(f[u+480>>2]|0){Kc(u,k);break}B=k;if((f[u+304>>2]|0)>>>0<=B>>>0?(f[u+308>>2]|0)>>>0>B>>>0:0){B=u+300|0;f[k>>2]=f[B>>2];f[B>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{B=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);break f}while(0);a=i;t=E;return a|0}while(0);if(c&2|0){a=0;t=E;return a|0}if(!g){f[D>>2]=y;f[D+4>>2]=e;ni(a,42803,D)}else{f[C>>2]=y;f[C+4>>2]=g;f[C+8>>2]=e;ni(a,42793,C)}b[a+17>>0]=1;a=0;t=E;return a|0}function qi(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=t;t=t+48|0;y=H+16|0;D=H;B=H+24|0;G=a+165|0;b[G>>0]=1;x=(c|0)==1?48842:43770;f[D>>2]=x;f[D+4>>2]=48861;f[D+8>>2]=48863;f[D+12>>2]=0;f[B>>2]=a;f[B+8>>2]=c;z=B+12|0;f[z>>2]=0;f[B+4>>2]=e;f[B+16>>2]=g;vj(B,3,D,0)|0;g=f[z>>2]|0;a:do if(!g){A=a+16|0;v=f[A>>2]|0;D=v+(c<<4)+4|0;g=f[D>>2]|0;if(!g){a=(f[v+28>>2]|0)+78|0;d[a>>1]=d[a>>1]|1;a=0;b[G>>0]=0;t=H;return a|0}l=f[g>>2]|0;m=f[g+4>>2]|0;k=m+4|0;f[k>>2]=l;b:do if(!(b[g+8>>0]|0)){m=Li(g,0,0)|0;switch(m|0){case 0:{l=f[D>>2]|0;m=f[l+4>>2]|0;C=1;k=m+4|0;l=f[l>>2]|0;break b}case 516:{l=44816;break}case 100:{l=44794;break}case 101:{l=44771;break}default:{i=m&255;if(i>>>0<29?(520028155>>>i&1|0)!=0:0)l=f[7984+(i<<2)>>2]|0;else l=44757}}i=f[e>>2]|0;do if(i|0){if(f[a+480>>2]|0){Kc(a,i);break}F=i;if((f[a+304>>2]|0)>>>0<=F>>>0?(f[a+308>>2]|0)>>>0>F>>>0:0){F=a+300|0;f[i>>2]=f[F>>2];f[F>>2]=i;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{F=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);c:do if(l){k=(wz(l)|0)+1|0;d:do if(f[a+272>>2]|0)if(!(b[a+81>>0]|0))E=32;else{i=0;break c}else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){g=a+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];F=a+284|0;f[F>>2]=(f[F>>2]|0)+1;break d}g=a+296|0;i=f[g>>2]|0;if(!i){i=a+292|0;break}else{f[g>>2]=f[i>>2];F=a+284|0;f[F>>2]=(f[F>>2]|0)+1;break d}}else i=a+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;E=32}while(0);if((E|0)==32)i=Dc(a,k,0)|0;if(i)YA(i|0,l|0,k|0)|0;else i=0}else i=0;while(0);f[e>>2]=i;i=m;break a}else C=0;while(0);f[k>>2]=l;u=f[(f[m+12>>2]|0)+56>>2]|0;p=b[u+40>>0]|0;q=b[u+41>>0]|0;r=b[u+42>>0]|0;s=b[u+43>>0]|0;f[k>>2]=l;o=h[u+45>>0]<<16|h[u+44>>0]<<24|h[u+46>>0]<<8|h[u+47>>0];f[k>>2]=l;n=h[u+49>>0]<<16|h[u+48>>0]<<24|h[u+50>>0]<<8|h[u+51>>0];f[k>>2]=l;k=h[u+59>>0]|0;u=h[u+57>>0]<<16|h[u+56>>0]<<24|h[u+58>>0]<<8|k;w=a+32|0;v=v+(c<<4)+12|0;g=f[v>>2]|0;do if((f[w>>2]&33554432|0)==0&0==0){f[g>>2]=(q&255)<<16|(p&255)<<24|(r&255)<<8|s&255;if(u){if(!c){k=k&3;k=(k|0)==0?1:k&255;b[a+78>>0]=k;E=66;break}k=b[a+78>>0]|0;if((u|0)==(k&255|0))E=66;else{i=f[e>>2]|0;do if(i|0){if(f[a+480>>2]|0){Kc(a,i);break}B=i;if((f[a+304>>2]|0)>>>0<=B>>>0?(f[a+308>>2]|0)>>>0>B>>>0:0){B=a+300|0;f[i>>2]=f[B>>2];f[B>>2]=i;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{B=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);e:do if(f[a+272>>2]|0)if(!(b[a+81>>0]|0))E=61;else i=0;else{do if((j[a+276>>1]|0)>=68){g=a+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];E=a+284|0;f[E>>2]=(f[E>>2]|0)+1;E=62;break e}g=a+296|0;i=f[g>>2]|0;if(!i){i=a+292|0;break}else{f[g>>2]=f[i>>2];E=a+284|0;f[E>>2]=(f[E>>2]|0)+1;E=62;break e}}else i=a+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;E=61}while(0);if((E|0)==61){i=Dc(a,68,0)|0;E=62}if((E|0)==62)if(!i)i=0;else{g=i;k=48935;l=g+68|0;do{b[g>>0]=b[k>>0]|0;g=g+1|0;k=k+1|0}while((g|0)<(l|0))}f[e>>2]=i;i=1}}else E=65}else{f[g>>2]=0;n=0;o=0;E=65}while(0);if((E|0)==65){k=(f[(f[A>>2]|0)+(c<<4)+12>>2]|0)+78|0;d[k>>1]=d[k>>1]|4;k=b[a+78>>0]|0;E=66}do if((E|0)==66){b[g+77>>0]=k;k=g+80|0;if(!(f[k>>2]|0)){g=(n|0)>-1?n:(n|0)==-2147483648?2147483647:0-n|0;g=(g|0)==0?-2e3:g;f[k>>2]=g;f[m+4>>2]=l;k=f[(f[m>>2]|0)+212>>2]|0;f[k+16>>2]=g;l=f[9361]|0;m=f[k+44>>2]|0;if((g|0)<=-1){s=QA(g|0,((g|0)<0)<<31>>31|0,-1024,-1)|0;u=ba()|0;g=(f[k+28>>2]|0)+(f[k+24>>2]|0)|0;g=OA(s|0,u|0,g|0,((g|0)<0)<<31>>31|0)|0;ba()|0}pb[l&127](m,g);g=f[v>>2]|0}k=o&255;g=g+76|0;b[g>>0]=k;if(k<<24>>24){if((k&255)>4){i=f[e>>2]|0;do if(i|0){if(f[a+480>>2]|0){Kc(a,i);break}B=i;if((f[a+304>>2]|0)>>>0<=B>>>0?(f[a+308>>2]|0)>>>0>B>>>0:0){B=a+300|0;f[i>>2]=f[B>>2];f[B>>2]=i;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{B=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);f:do if(f[a+272>>2]|0)if(!(b[a+81>>0]|0))E=92;else i=0;else{do if((j[a+276>>1]|0)>=24){g=a+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];E=a+284|0;f[E>>2]=(f[E>>2]|0)+1;E=93;break f}g=a+296|0;i=f[g>>2]|0;if(!i){i=a+292|0;break}else{f[g>>2]=f[i>>2];E=a+284|0;f[E>>2]=(f[E>>2]|0)+1;E=93;break f}}else i=a+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;E=92}while(0);if((E|0)==92){i=Dc(a,24,0)|0;E=93}if((E|0)==93)if(!i)i=0;else{g=i;k=49003;l=g+24|0;do{b[g>>0]=b[k>>0]|0;g=g+1|0;k=k+1|0}while((g|0)<(l|0))}f[e>>2]=i;i=1;break}}else b[g>>0]=1;if((c|0)==0&(o|0)>3){u=w;v=f[u+4>>2]|0;e=w;f[e>>2]=f[u>>2]&-3;f[e+4>>2]=v}f[y>>2]=f[(f[A>>2]|0)+(c<<4)>>2];f[y+4>>2]=x;g=Ig(a,49027,y)|0;e=a+312|0;y=f[e>>2]|0;f[e>>2]=0;k=uj(a,g,83,B,0)|0;f[e>>2]=y;k=(k|0)==0?f[z>>2]|0:k;do if(g|0){if(f[a+480>>2]|0){Kc(a,g);break}e=g;if((f[a+304>>2]|0)>>>0<=e>>>0?(f[a+308>>2]|0)>>>0>e>>>0:0){e=a+300|0;f[g>>2]=f[e>>2];f[e>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{e=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=(k|0)==0;if(g)wj(a,c)|0;if(!(b[a+81>>0]|0)){if(!g){i=k;E=112}}else{Vh(a);i=7;E=112}if((E|0)==112?(f[w>>2]&134217728|0)==0&0==0:0)break;i=(f[(f[A>>2]|0)+(c<<4)+12>>2]|0)+78|0;d[i>>1]=d[i>>1]|1;i=0}while(0);if((C|0)!=0?(F=f[D>>2]|0,f[(f[F+4>>2]|0)+4>>2]=f[F>>2],(Gg(F,0)|0)==0):0)Hg(F,0)|0}else i=g;while(0);g:do if((i|0)>=7){if((i|0)<3082)switch(i|0){case 7:break;default:break g}else switch(i|0){case 3082:break;default:break g}g=a+81|0;if((b[g>>0]|0)==0?(b[a+82>>0]|0)==0:0){b[g>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;e=a+272|0;f[e>>2]=(f[e>>2]|0)+1}}else{switch(i|0){case 0:break;default:break g}b[G>>0]=0;t=H;return i|0}while(0);if((c|0)>-1){e=f[a+16>>2]|0;c=(f[e+(c<<4)+12>>2]|0)+78|0;d[c>>1]=d[c>>1]|8;c=(f[e+28>>2]|0)+78|0;d[c>>1]=d[c>>1]|8;c=a+24|0;f[c>>2]=f[c>>2]&-9}if(f[a+56>>2]|0){a=i;b[G>>0]=0;t=H;return a|0}n=a+20|0;g=f[n>>2]|0;if((g|0)<=0){a=i;b[G>>0]=0;t=H;return a|0}m=a+16|0;l=0;do{k=f[(f[m>>2]|0)+(l<<4)+12>>2]|0;if(d[k+78>>1]&8){Wh(k);g=f[n>>2]|0}l=l+1|0}while((l|0)<(g|0));b[G>>0]=0;t=H;return i|0}function ri(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;if(c){h=(wz(c)|0)&1073741823;if((h+20|0)>>>0>2147483390)i=0;else{k=h;h=h+21|0;j=3}}else{k=0;h=21;j=3}do if((j|0)==3){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](h)|0;if(!i)break;else{j=i;h=i}}else{j=ib[f[37372>>2]&255](h)|0;if((f[18194]|0)>>>0>>0)f[18194]=h;i=71896;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){l=f[18187]|0;i=LA(h|0,i|0,j|0,((j|0)<0)<<31>>31|0)|0;h=ba()|0;f[17976]=((h|0)<0|(h|0)==0&i>>>0<=l>>>0)&1}i=ib[f[37356>>2]&255](j)|0;if(!i){i=0;break}h=ib[f[37368>>2]&255](i)|0;h=(f[18187]|0)+h|0;f[18187]=h;if(h>>>0>(f[18191]|0)>>>0)f[18191]=h;h=(f[18190]|0)+1|0;f[18190]=h;if(h>>>0>(f[18196]|0)>>>0)f[18196]=h;j=i;h=i}i=j+20|0;YA(i|0,c|0,k+1|0)|0;f[j+4>>2]=i;f[j>>2]=d;f[j+8>>2]=e;f[j+12>>2]=g;f[j+16>>2]=0;i=pg(a+336|0,i,j)|0;if(!i){l=h;return l|0}h=a+81|0;if((b[h>>0]|0)==0?(b[a+82>>0]|0)==0:0){b[h>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;l=a+272|0;f[l>>2]=(f[l>>2]|0)+1}if(f[a+480>>2]|0){Kc(a,i);l=0;return l|0}l=i;if((f[a+304>>2]|0)>>>0<=l>>>0?(f[a+308>>2]|0)>>>0>l>>>0:0){l=a+300|0;f[i>>2]=f[l>>2];f[l>>2]=i;l=0;return l|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);l=0;return l|0}else{l=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);l=0;return l|0}}while(0);h=a+81|0;if(b[h>>0]|0){l=i;return l|0}if(b[a+82>>0]|0){l=i;return l|0}b[h>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;l=a+272|0;f[l>>2]=(f[l>>2]|0)+1;l=i;return l|0}function si(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=t;t=t+48|0;y=E+24|0;x=E+16|0;w=E+8|0;l=E;q=E+32|0;v=E+28|0;p=c+60|0;s=f[p>>2]|0;r=f[c+56>>2]|0;f[v>>2]=0;u=a+352|0;k=f[u>>2]|0;a:do if(k|0){while(1){if((f[k+4>>2]|0)==(c|0))break;k=f[k+8>>2]|0;if(!k)break a}f[l>>2]=f[c>>2];a=Ig(a,42810,l)|0;f[i>>2]=a;a=6;t=E;return a|0}while(0);n=f[c>>2]|0;if(!n){a=7;t=E;return a|0}o=(wz(n)|0)+1|0;A=(a|0)==0;b:do if(A){z=KA(o|0,0,-1,-1)|0;m=ba()|0;if(m>>>0>0|(m|0)==0&z>>>0>2147483390){a=7;t=E;return a|0}if(!(f[9328]|0)){k=ib[f[37356>>2]&255](o)|0;B=31;break}k=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){z=f[18187]|0;m=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&m>>>0<=z>>>0)&1}l=ib[f[37356>>2]&255](k)|0;if(!l){a=7;t=E;return a|0}k=ib[f[37368>>2]&255](l)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;z=l}else z=l}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){a=7;t=E;return a|0}}else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){l=a+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];B=a+284|0;f[B>>2]=(f[B>>2]|0)+1;B=31;break b}l=a+296|0;k=f[l>>2]|0;if(!k){k=a+292|0;break}else{f[l>>2]=f[k>>2];B=a+284|0;f[B>>2]=(f[B>>2]|0)+1;B=31;break b}}else k=a+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(a,o,0)|0;B=31}while(0);if((B|0)==31)if(!k){a=7;t=E;return a|0}else z=k;YA(z|0,n|0,o|0)|0;if(!(f[9328]|0)){k=ib[f[37356>>2]&255](28)|0;if(!k)B=43;else n=k}else{k=ib[f[37372>>2]&255](28)|0;if((f[18194]|0)>>>0<28)f[18194]=28;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){o=f[18187]|0;n=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;m=ba()|0;f[17976]=((m|0)<0|(m|0)==0&n>>>0<=o>>>0)&1}l=ib[f[37356>>2]&255](k)|0;if(l){k=ib[f[37368>>2]&255](l)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;n=l}else n=l}else B=43}if((B|0)==43){k=a+81|0;if((b[k>>0]|0)==0?(b[a+82>>0]|0)==0:0){b[k>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;D=a+272|0;f[D>>2]=(f[D>>2]|0)+1}if(f[a+480>>2]|0){Kc(a,z);a=7;t=E;return a|0}D=z;if((f[a+304>>2]|0)>>>0<=D>>>0?(f[a+308>>2]|0)>>>0>D>>>0:0){a=a+300|0;f[z>>2]=f[a>>2];f[a>>2]=z;a=7;t=E;return a|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](z);a=7;t=E;return a|0}else{a=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);a=7;t=E;return a|0}}k=n+8|0;l=k+20|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0));f[n>>2]=a;f[n+4>>2]=e;l=f[c+72>>2]|0;m=f[a+16>>2]|0;if(!l)k=-1e6;else{k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0))break;else k=k+1|0}f[(f[p>>2]|0)+4>>2]=f[m+(k<<4)>>2];f[q+4>>2]=c;f[q>>2]=n;p=q+8|0;f[p>>2]=f[u>>2];l=q+12|0;f[l>>2]=0;f[u>>2]=q;m=n+8|0;k=nb[g&127](a,f[e+8>>2]|0,r,s,m,v)|0;f[u>>2]=f[p>>2];c:do switch(k|0){case 7:{l=a+81|0;if((b[l>>0]|0)==0?(b[a+82>>0]|0)==0:0){b[l>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;B=a+272|0;f[B>>2]=(f[B>>2]|0)+1;B=65}else B=65;break}case 0:{k=f[m>>2]|0;if(k){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[f[m>>2]>>2]=f[e>>2];k=n+12|0;f[k>>2]=1;if(!(f[l>>2]|0)){f[y>>2]=f[c>>2];l=Ig(a,42882,y)|0;f[i>>2]=l;l=f[n>>2]|0;D=(f[k>>2]|0)+-1|0;f[k>>2]=D;if(D|0){k=1;B=115;break c}k=f[m>>2]|0;if(k|0)ib[f[(f[k>>2]|0)+16>>2]&255](k)|0;if(l|0){if(f[l+480>>2]|0){Kc(l,n);k=1;B=115;break c}D=n;if((f[l+304>>2]|0)>>>0<=D>>>0?(f[l+308>>2]|0)>>>0>D>>>0:0){k=l+300|0;f[n>>2]=f[k>>2];f[k>>2]=n;k=1;B=115;break c}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);k=1;B=115;break c}else{k=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);k=1;B=115;break c}}e=c+64|0;f[n+24>>2]=f[e>>2];f[e>>2]=n;e=c+42|0;k=d[e>>1]|0;if(k<<16>>16>0){v=c+4|0;u=c+36|0;m=0;s=0;l=f[v>>2]|0;do{if(!(b[l+(s<<4)+15>>0]&4))g=72788;else{g=f[l+(s<<4)>>2]|0;g=g+(wz(g)|0)+1|0}q=(wz(g)|0)&1073741823;d:do if(!q)B=112;else{n=0;e:while(1){r=g+n|0;do if(r|0){c=h[r>>0]|0;o=1232+c|0;do if((c|32|0)==104){o=r+1|0;c=h[o>>0]|0;p=1232+c|0;if((c|32|0)==105){o=o+1|0;p=h[o>>0]|0;if((p|32|0)!=100){C=1232+p|0;D=100;B=101;break}o=o+1|0;p=h[o>>0]|0;if((p|32|0)!=100){C=1232+p|0;D=100;B=101;break}o=o+1|0;p=h[o>>0]|0;if((p|32|0)!=101){C=1232+p|0;D=101;B=101;break}o=h[o+1>>0]|0;if((o|32|0)!=110){C=1232+o|0;D=110;B=101}}else{C=p;D=105;B=101}}else{C=o;D=104;B=101}while(0);if((B|0)==101?(B=0,(D|0)!=(h[C>>0]|0)):0)break;if(n|0?(b[g+(n+-1)>>0]|0)!=32:0)break;o=b[g+(n+6)>>0]|0;switch(o<<24>>24){case 32:case 0:break e;default:{}}}while(0);n=n+1|0;if(n>>>0>=q>>>0){B=112;break d}}o=o<<24>>24==0?6:7;k=n+o|0;if(k>>>0<=q>>>0){m=q+1-o|0;l=n;while(1){b[g+l>>0]=b[g+k>>0]|0;k=l+1|0;if((k|0)==(m|0))break;else{l=k;k=k+o|0}}}if((n|0)!=0&(b[r>>0]|0)==0)b[g+(n+-1)>>0]=0;l=f[v>>2]|0;m=l+(s<<4)+15|0;b[m>>0]=b[m>>0]|2;m=-128;k=d[e>>1]|0}while(0);if((B|0)==112){B=0;f[u>>2]=f[u>>2]|m&255}s=s+1|0}while((s|0)<(k<<16>>16|0))}if(A)k=0;else{k=0;B=115}}else{k=0;B=115}break}default:B=65}while(0);do if((B|0)==65){l=f[v>>2]|0;do if(l){f[x>>2]=l;l=Ig(a,40840,x)|0;f[i>>2]=l;l=f[v>>2]|0;if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{D=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}else{f[w>>2]=z;D=Ig(a,42852,w)|0;f[i>>2]=D}while(0);if(f[a+480>>2]|0){Kc(a,n);B=115;break}D=n;if((f[a+304>>2]|0)>>>0<=D>>>0?(f[a+308>>2]|0)>>>0>D>>>0:0){B=a+300|0;f[n>>2]=f[B>>2];f[B>>2]=n;B=115;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);B=115;break}else{B=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);B=115;break}}while(0);if((B|0)==115){if(f[a+480>>2]|0){Kc(a,z);a=k;t=E;return a|0}D=z;if((f[a+304>>2]|0)>>>0<=D>>>0?(f[a+308>>2]|0)>>>0>D>>>0:0){a=a+300|0;f[z>>2]=f[a>>2];f[a>>2]=z;a=k;t=E;return a|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](z);a=k;t=E;return a|0}else{a=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);a=k;t=E;return a|0}return 0}function ti(a,c,e,g,i,j){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;z=t;t=t+256|0;x=z+224|0;e=z+216|0;o=z+208|0;g=z+200|0;v=z+232|0;w=z;p=v+4|0;f[p>>2]=w;f[v>>2]=0;q=v+8|0;f[q>>2]=200;r=v+12|0;s=v+16|0;u=v+21|0;f[r>>2]=0;f[r+4>>2]=0;d[r+8>>1]=0;f[s>>2]=14;l=w;m=47663;n=l+14|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));k=c+7|0;if(b[k>>0]|0){e=h[c+6>>0]|0;y=f[9824+(e<<2)>>2]|0;f[g>>2]=40;f[g+4>>2]=y;qf(v,47678,g);if((h[k>>0]|0)>1){g=1;do{e=e+1|0;y=f[9824+(e<<2)>>2]|0;f[o>>2]=44;f[o+4>>2]=y;qf(v,47678,o);g=g+1|0}while(g>>>0<(h[k>>0]|0)>>>0);y=g&255}else y=1}else{f[e>>2]=f[c>>2];qf(v,47685,e);y=1}k=c+5|0;e=b[k>>0]|0;if(!(e&32))o=0;else{e=f[s>>2]|0;g=e+11|0;if(g>>>0<(f[q>>2]|0)>>>0){f[s>>2]=g;l=(f[p>>2]|0)+e|0;m=47691;n=l+11|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0))}else Ec(v,47691,11);o=1;e=b[k>>0]|0}if((e&255)>63){e=f[s>>2]|0;g=e+14|0;if(g>>>0<(f[q>>2]|0)>>>0){f[s>>2]=g;l=(f[p>>2]|0)+e|0;m=47703;n=l+14|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0))}else Ec(v,47703,14);o=o+1|0}e=f[s>>2]|0;g=e+1|0;if(g>>>0<(f[q>>2]|0)>>>0){f[s>>2]=g;b[(f[p>>2]|0)+e>>0]=41}else Ec(v,43047,1);e=f[p>>2]|0;if((e|0?(b[e+(f[s>>2]|0)>>0]=0,f[r>>2]|0):0)?(b[u>>0]&4)==0:0)Cc(v)|0;e=wk(a,w)|0;if(e|0){c=Mj(a)|0;f[x>>2]=c;c=wd(40840,x)|0;f[j>>2]=c;c=e;a=0;f[i>>2]=a;t=z;return c|0}if(Mc()|0){c=7;a=0;f[i>>2]=a;t=z;return c|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](24)|0;if(!e){c=7;a=e;f[i>>2]=a;t=z;return c|0}else g=e}else{e=ib[f[37372>>2]&255](24)|0;if((f[18194]|0)>>>0<24)f[18194]=24;k=71896;g=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&g>>>0>0){j=f[18187]|0;x=LA(g|0,k|0,e|0,((e|0)<0)<<31>>31|0)|0;w=ba()|0;f[17976]=((w|0)<0|(w|0)==0&x>>>0<=j>>>0)&1}k=ib[f[37356>>2]&255](e)|0;if(!k){c=7;a=0;f[i>>2]=a;t=z;return c|0}e=ib[f[37368>>2]&255](k)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e;g=k;e=k};f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+16>>2]=c;f[g+12>>2]=a;b[g+21>>0]=y;b[g+20>>0]=o;c=0;a=e;f[i>>2]=a;t=z;return c|0}function ui(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;j=n;m=c+40|0;p[m>>3]=1.0;if(!(b[a+20>>0]|0)){t=n;return 0}d=f[c+4>>2]|0;f[j>>2]=0;l=j+4|0;f[l>>2]=0;g=f[c>>2]|0;if((g|0)>0){e=a+21|0;a=d;d=0;while(1){if((b[a+5>>0]|0?(b[a+4>>0]|0)==2:0)?(i=f[a>>2]|0,k=h[e>>0]|0,(i|0)>=(k|0)):0)f[j+(i-k<<2)>>2]=d+1;d=d+1|0;if((d|0)>=(g|0))break;else a=a+12|0}a=f[j>>2]|0;if(a|0){a=a+-1|0;d=f[c+16>>2]|0;f[d+(a<<3)>>2]=1;b[d+(a<<3)+4>>0]=1;l=f[l>>2]|0;a=l+-1|0;if(!l){t=n;return 0}p[m>>3]=20.0;m=c+48|0;f[m>>2]=20;f[m+4>>2]=0;f[d+(a<<3)>>2]=2;b[d+(a<<3)+4>>0]=1;t=n;return 0}}p[m>>3]=2147483647.0;m=c+48|0;f[m>>2]=2147483647;f[m+4>>2]=0;t=n;return 0}function vi(a){a=a|0;var b=0;if(!a)return 0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if(Mc()|0){b=7;return b|0}if(!(f[9328]|0)){c=ib[f[37356>>2]&255](24)|0;if(!c){b=7;return b|0}}else{e=ib[f[37372>>2]&255](24)|0;if((f[18194]|0)>>>0<24)f[18194]=24;d=71896;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){g=f[18187]|0;d=LA(c|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&d>>>0<=g>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(!c){g=7;return g|0}d=ib[f[37368>>2]&255](c)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d};f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c>>2]=a;f[b>>2]=c;g=0;return g|0}function xi(a){a=a|0;var b=0,c=0,d=0;b=a+4|0;Fi(f[b>>2]|0)|0;f[b>>2]=0;b=a+16|0;c=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[b>>2]=0;b=a+20|0;c=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[b>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{d=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function yi(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;z=t;t=t+64|0;v=z+24|0;r=z+16|0;q=z+8|0;l=z;s=z+32|0;u=f[a>>2]|0;w=a+4|0;Fi(f[w>>2]|0)|0;f[w>>2]=0;y=a+16|0;c=f[y>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{x=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[y>>2]=0;x=a+20|0;c=f[x>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{p=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[x>>2]=0;o=u+16|0;a:do if((g|0)>0){j=0;k=((h[(f[o>>2]|0)+5>>0]|0)>>>5&1^1)&255;b:while(1){c=f[i+(j<<2)>>2]|0;do if(c|0){e=d[c+8>>1]|0;if((e&514)==514?(b[c+10>>0]|0)==1:0)c=f[c+16>>2]|0;else{if(e&1)break;c=Ic(c,1)|0}if(c|0?(f[l>>2]=c,p=wd(40840,l)|0,f[y+(k<<2)>>2]=p,(p|0)==0):0){c=7;break b}}while(0);j=j+1|0;if((j|0)>=(g|0))break a;else k=k+1|0}t=z;return c|0}while(0);p=u+12|0;m=f[(f[p>>2]|0)+112>>2]|0;g=s+4|0;f[g>>2]=0;f[s>>2]=0;l=s+8|0;f[l>>2]=0;i=s+12|0;f[i>>2]=m;m=s+16|0;f[m>>2]=0;b[s+20>>0]=0;n=s+21|0;b[n>>0]=0;Ec(s,47647,7);c=f[x>>2]|0;if(c|0){f[q>>2]=c;qf(s,47655,q)}e=f[f[o>>2]>>2]|0;if(!e)c=0;else c=(wz(e)|0)&1073741823;j=f[m>>2]|0;k=j+c|0;if(k>>>0<(f[l>>2]|0)>>>0){if(c|0){f[m>>2]=k;YA((f[g>>2]|0)+j|0,e|0,c|0)|0}}else Ec(s,e,c);c=f[y>>2]|0;if(c|0){f[r>>2]=c;qf(s,47659,r)}c=f[g>>2]|0;if(((c|0)!=0?(b[c+(f[m>>2]|0)>>0]=0,(f[i>>2]|0)!=0):0)?(b[n>>0]&4)==0:0)c=Cc(s)|0;else c=f[g>>2]|0;if(!c){y=7;t=z;return y|0}e=Ki(f[p>>2]|0,c,-1,128,0,w,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{s=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}if(e|0){y=Mj(f[p>>2]|0)|0;f[v>>2]=y;y=wd(40840,v)|0;f[u+8>>2]=y;y=e;t=z;return y|0}a=a+8|0;u=a;u=KA(f[u>>2]|0,f[u+4>>2]|0,1,0)|0;v=ba()|0;f[a>>2]=u;f[a+4>>2]=v;if((Ei(f[w>>2]|0)|0)==100){y=0;t=z;return y|0}e=Fi(f[w>>2]|0)|0;f[w>>2]=0;Fi(0)|0;f[w>>2]=0;c=f[y>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[y>>2]=0;c=f[x>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{y=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[x>>2]=0;y=e;t=z;return y|0}function zi(a){a=a|0;var b=0,c=0,d=0;b=a+8|0;d=b;d=KA(f[d>>2]|0,f[d+4>>2]|0,1,0)|0;c=ba()|0;f[b>>2]=d;f[b+4>>2]=c;b=a+4|0;if((Ei(f[b>>2]|0)|0)==100){d=0;return d|0}d=Fi(f[b>>2]|0)|0;f[b>>2]=0;Gi(a);return d|0}function Ai(a){a=a|0;return (f[a+4>>2]|0)==0|0}function Bi(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0;g=h[(f[a>>2]|0)+21>>0]|0;if((g|0)<=(e|0)){if(($e(f[c>>2]|0,f[a+16+(e-g<<2)>>2]|0,-1,1,-1)|0)!=18)return 0;f[c+20>>2]=18;$e(f[c>>2]|0,41612,-1,1,0)|0;return 0}k=f[a+4>>2]|0;i=(k|0)==0;do if(i)l=37592;else{a=f[k+104>>2]|0;if(a|0?(j[k+140>>1]|0)>>>0>e>>>0:0){l=a+(e*40|0)|0;break}l=f[k>>2]|0;f[l+64>>2]=25;Bg(l,25);l=37592}while(0);a=l+8|0;g=j[a>>1]|0;if(g&2048|0)d[a>>1]=g&59391|4096;if(!i){g=f[k>>2]|0;e=k+40|0;a=f[e>>2]|0;if((a|0)==3082|(b[g+81>>0]|0)!=0){Di(g);a=7}else a=f[g+68>>2]&a;f[e>>2]=a}mf(c,l);return 0}function Ci(a,b){a=a|0;b=b|0;var c=0;c=a+8|0;a=f[c+4>>2]|0;f[b>>2]=f[c>>2];f[b+4>>2]=a;return 0}function Di(a){a=a|0;var c=0;c=a+81|0;if(b[c>>0]|0?(f[a+180>>2]|0)==0:0){b[c>>0]=0;f[a+264>>2]=0;c=a+272|0;f[c>>2]=(f[c>>2]|0)+-1}f[a+64>>2]=7;Bg(a,7);return}function Ei(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,U=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0.0;Ha=t;t=t+368|0;Ba=Ha+360|0;Aa=Ha+352|0;za=Ha+344|0;ya=Ha+336|0;xa=Ha+328|0;wa=Ha+320|0;va=Ha+312|0;ua=Ha+304|0;ta=Ha+296|0;sa=Ha+288|0;ra=Ha+280|0;qa=Ha+272|0;pa=Ha+264|0;Da=Ha+256|0;Ca=Ha+248|0;e=Ha+232|0;c=Ha+224|0;ga=Ha;ja=Ha+364|0;do if(!a)Ac(21,42973,Ha+216|0);else{Ga=f[a>>2]|0;if(!Ga){Ac(21,42928,c);break}ca=a+145|0;da=(h[ca>>0]|h[ca+1>>0]<<8)&-17;b[ca>>0]=da;b[ca+1>>0]=da>>8;da=a+20|0;ea=a+128|0;B=a+36|0;Fa=a+40|0;C=a+142|0;D=a+44|0;E=a+32|0;F=a+143|0;I=a+48|0;J=a+64|0;K=a+144|0;L=a+92|0;M=a+104|0;N=a+184|0;O=a+136|0;P=a+8|0;Q=a+4|0;R=a+204|0;S=a+156|0;U=a+176|0;W=a+116|0;X=a+88|0;Y=ga+4|0;Z=ga+8|0;_=ga+12|0;$=ga+16|0;aa=ga+21|0;ba=a+140|0;A=0;a:while(1){if((f[da>>2]|0)!=770837923){c=f[a>>2]|0;z=ea;y=f[z+4>>2]|0;if((y|0)>0|(y|0)==0&(f[z>>2]|0)>>>0>0)Hi(c,a);z=fg(a)|0;f[da>>2]=770837923;f[B>>2]=-1;f[Fa>>2]=0;b[C>>0]=2;f[D>>2]=0;f[E>>2]=1;b[F>>0]=-1;f[I>>2]=0;y=J;f[y>>2]=0;f[y+4>>2]=0;if((z|0)==3082|(b[c+81>>0]|0)!=0)Di(c)}z=f[a>>2]|0;if(b[z+81>>0]|0){Ea=13;break}c=f[B>>2]|0;if((c|0)<1)if(!((h[ca>>0]|h[ca+1>>0]<<8)&3))if((c|0)<0){e=z+168|0;if(!(f[e>>2]|0))f[z+264>>2]=0;if(!((f[z+204>>2]|0)==0?!(b[z+88>>0]&2):0))Ea=21;do if(((Ea|0)==21?(0,(b[z+165>>0]|0)==0):0)?f[N>>2]|0:0){c=f[z>>2]|0;if((f[c>>2]|0)>1?(oa=f[c+72>>2]|0,oa|0):0){jb[oa&255](c,ea)|0;break}jb[f[c+64>>2]&255](c,ga)|0;Ia=+p[ga>>3]*864.0e5;y=+H(Ia)>=1.0?(Ia>0.0?~~+V(+G(Ia/4294967296.0),4294967295.0)>>>0:~~+T((Ia-+(~~Ia>>>0))/4294967296.0)>>>0):0;Ea=ea;f[Ea>>2]=~~Ia>>>0;f[Ea+4>>2]=y}while(0);f[e>>2]=(f[e>>2]|0)+1;c=h[ca>>0]|h[ca+1>>0]<<8;if(!(c&256)){c=z+176|0;f[c>>2]=(f[c>>2]|0)+1;c=h[ca>>0]|h[ca+1>>0]<<8}if(c&512){Ea=z+172|0;f[Ea>>2]=(f[Ea>>2]|0)+1}f[B>>2]=0;Ea=32}else Ea=32;else{c=1;e=17;Ea=244}else Ea=32;do if((Ea|0)==32){Ea=0;c=(h[ca>>0]|h[ca+1>>0]<<8)&12;b:do if(!(c<<16>>16)){y=z+180|0;f[y>>2]=(f[y>>2]|0)+1;c=Ji(a)|0;f[y>>2]=(f[y>>2]|0)+-1;if((c|0)==100)c=100;else Ea=226}else{y=f[a>>2]|0;x=f[L>>2]|0;w=x+40|0;if(c<<16>>16==4)r=1;else r=0?1:(f[y+32>>2]&16777216|0)!=0;l=f[x+72>>2]|0;m=l+480|0;c=(l|0)==0;n=l+304|0;o=l+308|0;q=l+300|0;c:do if(f[m>>2]|0){if(!c){c=1;while(1){d:do if(f[x+(c*40|0)+24>>2]|0?(ia=f[x+(c*40|0)+20>>2]|0,ia|0):0){if(f[m>>2]|0){Kc(l,ia);break}e=ia;do if((f[n>>2]|0)>>>0<=e>>>0){if((f[o>>2]|0)>>>0<=e>>>0)break;f[ia>>2]=f[q>>2];f[q>>2]=ia;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](ia);break}else{v=ib[f[37368>>2]&255](ia)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ia);break}}while(0);c=c+1|0;if((c|0)==9)break c}}do if(f[x+64>>2]|0?(ha=f[x+60>>2]|0,ha|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](ha);break}else{v=ib[f[37368>>2]&255](ha)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ha);break}while(0);do if(f[x+104>>2]|0?(ka=f[x+100>>2]|0,ka|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](ka);break}else{v=ib[f[37368>>2]&255](ka)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ka);break}while(0);do if(f[x+144>>2]|0?(la=f[x+140>>2]|0,la|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](la);break}else{v=ib[f[37368>>2]&255](la)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](la);break}while(0);do if(f[x+184>>2]|0?(ma=f[x+180>>2]|0,ma|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](ma);break}else{v=ib[f[37368>>2]&255](ma)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ma);break}while(0);do if(f[x+224>>2]|0){c=f[x+220>>2]|0;if(!c)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{v=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);do if(f[x+264>>2]|0){c=f[x+260>>2]|0;if(!c)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{v=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);do if(f[x+304>>2]|0){c=f[x+300>>2]|0;if(!c)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{v=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);if(!(f[x+344>>2]|0))break;c=f[x+340>>2]|0;if(!c)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{v=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}else{if(c){c=1;while(1){e=x+(c*40|0)+8|0;if(!(d[e>>1]&9216)){g=x+(c*40|0)+24|0;if(f[g>>2]|0){i=f[x+(c*40|0)+20>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{v=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[g>>2]=0}}else ff(x+(c*40|0)|0);d[e>>1]=128;c=c+1|0;if((c|0)==9)break c}}c=1;do{e=x+(c*40|0)+8|0;if(!(d[e>>1]&9216)){g=x+(c*40|0)+24|0;if(f[g>>2]|0){i=f[x+(c*40|0)+20>>2]|0;e:do if(!(f[m>>2]|0)){k=i;do if((f[n>>2]|0)>>>0<=k>>>0){if((f[o>>2]|0)>>>0<=k>>>0)break;f[i>>2]=f[q>>2];f[q>>2]=i;break e}while(0);if(!i)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{v=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}else Kc(l,i);while(0);f[g>>2]=0}}else ff(x+(c*40|0)|0);d[e>>1]=128;c=c+1|0}while((c|0)!=9)}while(0);f[M>>2]=0;if((f[Fa>>2]|0)==7){c=y+81|0;if(b[c>>0]|0){c=1;Ea=226;break}if(b[y+82>>0]|0){c=1;Ea=226;break}b[c>>0]=1;if((f[y+180>>2]|0)>0)f[y+264>>2]=1;c=y+272|0;f[c>>2]=(f[c>>2]|0)+1;c=1;Ea=226;break}n=f[O>>2]|0;if(r){c=f[L>>2]|0;g=c+360|0;if(d[c+368>>1]&16){i=(f[c+372>>2]|0)>>>2;k=f[c+376>>2]|0;if(!i){q=n;i=0}else{c=n;e=0;do{c=(f[(f[k+(e<<2)>>2]|0)+4>>2]|0)+c|0;e=e+1|0}while((e|0)!=(i|0));q=c}}else{q=n;i=0;k=0}}else{g=0;q=n;i=0;k=0}e=f[B>>2]|0;c=e+1|0;f[B>>2]=c;f:do if((e|0)<(q|0)){s=g+16|0;u=g+8|0;v=g+12|0;g:do if(r){c=n;while(1){if((e|0)<(c|0))o=(f[X>>2]|0)+(e*20|0)|0;else{e=e-c|0;c=f[k>>2]|0;l=f[c+4>>2]|0;if((e|0)>=(l|0)){m=0;do{e=e-l|0;m=m+1|0;c=f[k+(m<<2)>>2]|0;l=f[c+4>>2]|0}while((e|0)>=(l|0))}o=(f[c>>2]|0)+(e*20|0)|0}do if((b[o+1>>0]|0)==-4){n=i+1|0;m=n<<2;h:do if((i|0)>0){l=f[o+16>>2]|0;c=0;do{if((f[k+(c<<2)>>2]|0)==(l|0))break h;c=c+1|0}while((c|0)<(i|0))}else c=0;while(0);if((c|0)!=(i|0)){m=q;break}r=df(g,m,(i|0)!=0&1)|0;f[Fa>>2]=r;if(r|0){c=1;Ea=226;break b}k=f[s>>2]|0;r=o+16|0;f[k+(i<<2)>>2]=f[r>>2];d[u>>1]=d[u>>1]|16;f[v>>2]=m;m=(f[(f[r>>2]|0)+4>>2]|0)+q|0;i=n}else m=q;while(0);c=h[ca>>0]|h[ca+1>>0]<<8;if(!(c&8))break g;switch(b[o>>0]|0){case -84:break g;case 61:{l=f[B>>2]|0;if((l|0)>1)break g;else e=l;break}default:e=f[B>>2]|0}f[B>>2]=e+1;if((e|0)>=(m|0))break f;q=m;c=f[O>>2]|0}}else{m=h[ca>>0]|h[ca+1>>0]<<8;if(!(m&8)){if((e|0)<(n|0)){o=(f[X>>2]|0)+(e*20|0)|0;c=m;break}e=e-n|0;c=f[k>>2]|0;g=f[c+4>>2]|0;if((e|0)>=(g|0)){i=0;do{e=e-g|0;i=i+1|0;c=f[k+(i<<2)>>2]|0;g=f[c+4>>2]|0}while((e|0)>=(g|0))}o=(f[c>>2]|0)+(e*20|0)|0;c=m;break}l=c;while(1){if((e|0)<(n|0))c=(f[X>>2]|0)+(e*20|0)|0;else{e=e-n|0;c=f[k>>2]|0;g=f[c+4>>2]|0;if((e|0)>=(g|0)){i=0;do{e=e-g|0;i=i+1|0;c=f[k+(i<<2)>>2]|0;g=f[c+4>>2]|0}while((e|0)>=(g|0))}c=(f[c>>2]|0)+(e*20|0)|0}switch(b[c>>0]|0){case -84:{o=c;c=m;break g}case 61:{if((l|0)>1){o=c;c=m;break g}break}default:{}}c=l+1|0;f[B>>2]=c;if((l|0)<(q|0)){e=l;l=c}else break f}}while(0);if(f[y+264>>2]|0){f[Fa>>2]=9;Fg(a,43013,Ca);c=1;Ea=226;break b}if((c&12)==4){d[x+48>>1]=4;q=w;f[q>>2]=e;f[q+4>>2]=((e|0)<0)<<31>>31;d[x+88>>1]=2562;q=f[7040+(h[o>>0]<<2)>>2]|0;f[x+96>>2]=q;q=(wz(q)|0)&1073741823;f[x+92>>2]=q;b[x+90>>0]=1;q=x+120|0}else q=w;d[q+8>>1]=4;e=f[o+4>>2]|0;n=q;f[n>>2]=e;f[n+4>>2]=((e|0)<0)<<31>>31;d[q+48>>1]=4;n=f[o+8>>2]|0;e=q+40|0;f[e>>2]=n;f[e+4>>2]=((n|0)<0)<<31>>31;d[q+88>>1]=4;e=f[o+12>>2]|0;n=q+80|0;f[n>>2]=e;f[n+4>>2]=((e|0)<0)<<31>>31;n=q+120|0;e=q+144|0;g=f[e>>2]|0;if((g|0)<100){if(df(n,100,0)|0){c=1;Ea=226;break b}c=q+136|0;i=q+128|0;m=c;c=f[c>>2]|0;g=f[e>>2]|0}else{c=f[q+140>>2]|0;m=q+136|0;f[m>>2]=c;i=q+128|0;d[i>>1]=d[i>>1]&13}d[i>>1]=514;f[Y>>2]=c;f[ga>>2]=0;f[Z>>2]=g;f[_>>2]=0;f[_+4>>2]=0;d[_+8>>1]=0;i:do switch(b[o+1>>0]|0){case -9:{i=f[o+16>>2]|0;k=i+6|0;f[Da>>2]=j[k>>1];qf(ga,43025,Da);if(d[k>>1]|0){l=i+16|0;g=0;do{e=f[i+20+(g<<2)>>2]|0;if(!e)e=72788;else e=f[e>>2]|0;y=(tz(e,43030)|0)==0;f[pa>>2]=(b[(f[l>>2]|0)+g>>0]|0)==0?72788:43039;f[pa+4>>2]=y?43037:e;qf(ga,43041,pa);g=g+1|0}while(g>>>0<(j[k>>1]|0)>>>0)}e=f[$>>2]|0;g=e+1|0;if(g>>>0<(f[Z>>2]|0)>>>0){f[$>>2]=g;b[(f[Y>>2]|0)+e>>0]=41;break i}else{Ec(ga,43047,1);break i}}case -2:{f[qa>>2]=f[f[o+16>>2]>>2];qf(ga,43049,qa);break}case -8:{x=f[o+16>>2]|0;y=b[x>>0]|0;f[ra>>2]=f[x+32>>2];f[ra+4>>2]=y;qf(ga,43057,ra);break}case -14:{w=f[o+16>>2]|0;x=f[w+4>>2]|0;y=sa;f[y>>2]=f[w>>2];f[y+4>>2]=x;qf(ga,41988,sa);break}case -3:{f[ta>>2]=f[o+16>>2];qf(ga,43064,ta);break}case -13:{p[ua>>3]=+p[f[o+16>>2]>>3];qf(ga,41982,ua);break}case -11:{e=f[o+16>>2]|0;g=j[e+8>>1]|0;if(g&2|0){c=f[e+16>>2]|0;break i}if(g&4|0){w=e;x=f[w+4>>2]|0;y=va;f[y>>2]=f[w>>2];f[y+4>>2]=x;qf(ga,41988,va);break i}if(!(g&8)){c=(g&1|0)==0?43067:40543;break i}else{p[wa>>3]=+p[e>>3];qf(ga,41982,wa);break i}}case -12:{f[xa>>2]=f[(f[o+16>>2]|0)+8>>2];qf(ga,43074,xa);break}case -15:{i=f[o+16>>2]|0;k=f[i>>2]|0;if((k|0)<1)i=0;else{e=1;while(1){f[ya>>2]=f[i+(e<<2)>>2];qf(ga,43082,ya);if((e|0)==(k|0))break;else e=e+1|0}i=f[$>>2]|0;g=f[Z>>2]|0}b[c>>0]=91;e=i+1|0;if(e>>>0>>0){f[$>>2]=e;b[(f[Y>>2]|0)+i>>0]=93;break i}else{Ec(ga,43086,1);break i}}case -4:{qf(ga,43088,za);break}case -5:case -17:{b[c>>0]=0;break}case -6:{f[Aa>>2]=f[f[o+16>>2]>>2];qf(ga,40840,Aa);break}default:{e=f[o+16>>2]|0;if(e|0){c=e;break i}b[c>>0]=0}}while(0);e=f[Y>>2]|0;do if(e|0){b[e+(f[$>>2]|0)>>0]=0;if(!(f[_>>2]|0))break;if(b[aa>>0]&4)break;Cc(ga)|0}while(0);if((c|0)==(f[m>>2]|0)){if(!c)c=0;else c=(wz(c)|0)&1073741823;f[q+132>>2]=c;b[q+130>>0]=1}else{f[q+132>>2]=0;$e(n,c,-1,1,0)|0}c=(h[ca>>0]|h[ca+1>>0]<<8)&12;if(c<<16>>16==4){if((f[q+184>>2]|0)<4){if(df(q+160|0,4,0)|0){c=1;Ea=226;break b}c=q+168|0;e=f[q+176>>2]|0}else{e=f[q+180>>2]|0;f[q+176>>2]=e;c=q+168|0;d[c>>1]=d[c>>1]&13}d[c>>1]=514;f[q+172>>2]=2;f[Ba>>2]=j[o+2>>1];vd(3,e,43096,Ba)|0;b[q+170>>0]=1;d[q+208>>1]=1;c=(h[ca>>0]|h[ca+1>>0]<<8)&12}d[ba>>1]=12-(c&65535);f[M>>2]=(f[L>>2]|0)+40;f[Fa>>2]=0;c=100;break b}while(0);f[Fa>>2]=0;c=101;Ea=226}while(0);do if((Ea|0)==226){Ea=0;y=ea;x=f[y+4>>2]|0;if((x|0)>0|(x|0)==0&(f[y>>2]|0)>>>0>0)Hi(z,a);if((c|0)==101)if(!(b[z+79>>0]|0))c=101;else{l=z+20|0;c=f[l>>2]|0;if((c|0)>0){m=z+16|0;n=z+236|0;o=z+240|0;k=0;e=0;do{i=f[m>>2]|0;g=f[i+(k<<4)+4>>2]|0;do if(((g|0)!=0?(fa=f[g+4>>2]|0,f[fa+4>>2]=f[g>>2],fa=f[(f[fa>>2]|0)+216>>2]|0,(fa|0)!=0):0)?(y=fa+12|0,na=f[y>>2]|0,f[y>>2]=0,(na|0)>0):0){g=f[n>>2]|0;if(!((e|0)==0&(g|0)!=0))break;e=lb[g&127](f[o>>2]|0,z,f[i+(k<<4)>>2]|0,na)|0;c=f[l>>2]|0}while(0);k=k+1|0}while((k|0)<(c|0));f[Fa>>2]=e;if(e|0){c=1;break}}else f[Fa>>2]=0;c=101}}while(0);f[z+64>>2]=c;e=f[a>>2]|0;g=f[Fa>>2]|0;if(!((g|0)==3082|(b[e+81>>0]|0)!=0))if((f[e+68>>2]&g|0)==7){e=7;Ea=244;break}else break;else{Di(e);e=7;Ea=244;break}}while(0);if((Ea|0)==244){Ea=0;f[Fa>>2]=e}if((c|1|0)!=101&(b[K>>0]|0)<0)c=ug(a)|0;c=f[z+68>>2]&c;if((c|0)!=17){Ea=320;break}s=A+1|0;if(A>>>0>=50){c=17;Ea=320;break}r=f[B>>2]|0;e=f[a>>2]|0;m=Ki(e,f[N>>2]|0,-1,h[K>>0]|0,a,ja,0)|0;switch(m|0){case 7:{Ea=250;break a}case 0:break;default:{Ea=279;break a}}q=f[ja>>2]|0;YA(ga|0,q|0,216)|0;YA(q|0,a|0,216)|0;YA(a|0,ga|0,216)|0;o=q+8|0;n=f[o>>2]|0;f[o>>2]=f[P>>2];f[P>>2]=n;n=q+4|0;A=f[n>>2]|0;f[n>>2]=f[Q>>2];f[Q>>2]=A;A=q+184|0;k=f[A>>2]|0;f[A>>2]=f[N>>2];f[N>>2]=k;f[R>>2]=f[q+204>>2];b[K>>0]=b[q+144>>0]|0;k=q+156|0;f[S>>2]=f[k>>2];f[S+4>>2]=f[k+4>>2];f[S+8>>2]=f[k+8>>2];f[S+12>>2]=f[k+12>>2];f[S+16>>2]=f[k+16>>2];f[S+20>>2]=f[k+20>>2];f[S+24>>2]=f[k+24>>2];f[U>>2]=(f[U>>2]|0)+1;k=q+16|0;if((d[k>>1]|0)>0){l=q+116|0;i=0;do{A=f[W>>2]|0;c=A+(i*40|0)|0;m=f[l>>2]|0;e=m+(i*40|0)|0;if(!((d[A+(i*40|0)+8>>1]&9216)==0?!(f[A+(i*40|0)+24>>2]|0):0))ff(c);g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));d[m+(i*40|0)+8>>1]=1;f[m+(i*40|0)+24>>2]=0;i=i+1|0}while((i|0)<(d[k>>1]|0))}f[q+40>>2]=0;i=q+20|0;c=f[i>>2]|0;if((c|0)<832317811)switch(c|0){case 770837923:{Ea=262;break}default:{}}else switch(c|0){case 832317811:{Ea=262;break}default:{}}if((Ea|0)==262){Ea=0;fg(q)|0}g=f[q>>2]|0;gg(g,q);e=f[n>>2]|0;c=f[o>>2]|0;if(!e)f[g+4>>2]=c;else{f[e+8>>2]=c;c=f[o>>2]|0}if(c|0)f[c+4>>2]=e;f[i>>2]=1443283912;f[q>>2]=0;do if(g){if(f[g+480>>2]|0){Kc(g,q);break}A=q;if((f[g+304>>2]|0)>>>0<=A>>>0?(f[g+308>>2]|0)>>>0>A>>>0:0){A=g+300|0;f[q>>2]=f[A>>2];f[A>>2]=q}else Ea=274}else Ea=274;while(0);do if((Ea|0)==274){Ea=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{A=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}while(0);c=f[a>>2]|0;A=ea;z=f[A+4>>2]|0;if((z|0)>0|(z|0)==0&(f[A>>2]|0)>>>0>0)Hi(c,a);A=fg(a)|0;f[da>>2]=770837923;f[B>>2]=-1;f[Fa>>2]=0;b[C>>0]=2;f[D>>2]=0;f[E>>2]=1;b[F>>0]=-1;f[I>>2]=0;z=J;f[z>>2]=0;f[z+4>>2]=0;if((A|0)==3082|(b[c+81>>0]|0)!=0)Di(c);if((r|0)>-1){A=h[ca>>0]|h[ca+1>>0]<<8|16;b[ca>>0]=A;b[ca+1>>0]=A>>8}A=s}if((Ea|0)==13){f[Fa>>2]=7;Ga=7;t=Ha;return Ga|0}else if((Ea|0)==250){c=e+81|0;if((b[c>>0]|0)==0?(b[e+82>>0]|0)==0:0){b[c>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;Da=e+272|0;f[Da>>2]=(f[Da>>2]|0)+1}m=7}else if((Ea|0)!=279)if((Ea|0)==320){t=Ha;return c|0}c=f[Ga+256>>2]|0;do if(c){e=d[c+8>>1]|0;if((e&514)==514?(b[c+10>>0]|0)==1:0){k=f[c+16>>2]|0;break}if(!(e&1))k=Ic(c,1)|0;else k=0}else k=0;while(0);l=a+108|0;c=f[l>>2]|0;do if(c|0){if(f[Ga+480>>2]|0){Kc(Ga,c);break}a=c;if((f[Ga+304>>2]|0)>>>0<=a>>>0?(f[Ga+308>>2]|0)>>>0>a>>>0:0){a=Ga+300|0;f[c>>2]=f[a>>2];f[a>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);i=Ga+81|0;if(b[i>>0]|0){f[l>>2]=0;f[Fa>>2]=7;Ga=7;t=Ha;return Ga|0}if(k){g=(wz(k)|0)+1|0;j:do if(!(f[Ga+272>>2]|0)){do if(!(0<0|(0==0?(j[Ga+276>>1]|0)>>>0>>0:0))){e=Ga+300|0;c=f[e>>2]|0;if(c|0){f[e>>2]=f[c>>2];a=Ga+284|0;f[a>>2]=(f[a>>2]|0)+1;break j}e=Ga+296|0;c=f[e>>2]|0;if(!c){c=Ga+292|0;break}else{f[e>>2]=f[c>>2];a=Ga+284|0;f[a>>2]=(f[a>>2]|0)+1;break j}}else c=Ga+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;Ea=306}else Ea=306;while(0);if((Ea|0)==306)c=Dc(Ga,g,0)|0;if(c)YA(c|0,k|0,g|0)|0;else c=0}else c=0;f[l>>2]=c;if((m|0)==3082|(b[i>>0]|0)!=0){Di(Ga);c=7}else c=f[Ga+68>>2]&m;f[Fa>>2]=c;Ga=c;t=Ha;return Ga|0}while(0);f[e>>2]=40433;f[e+4>>2]=81396;f[e+8>>2]=40460;Ac(21,40408,e);Ga=21;t=Ha;return Ga|0}function Fi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=t;t=t+32|0;c=l+8|0;if(!a){k=0;t=l;return k|0}k=f[a>>2]|0;if(!k){Ac(21,42928,l);f[c>>2]=40433;f[c+4>>2]=80816;f[c+8>>2]=40460;Ac(21,40408,c);k=21;t=l;return k|0}i=a+128|0;h=f[i+4>>2]|0;if((h|0)>0|(h|0)==0&(f[i>>2]|0)>>>0>0)Hi(k,a);i=a+20|0;c=f[i>>2]|0;if((c|0)<832317811)switch(c|0){case 770837923:{j=6;break}default:e=0}else switch(c|0){case 832317811:{j=6;break}default:e=0}if((j|0)==6)e=fg(a)|0;g=f[a>>2]|0;gg(g,a);h=f[a+4>>2]|0;d=a+8|0;c=f[d>>2]|0;if(!h)f[g+4>>2]=c;else{f[h+8>>2]=c;c=f[d>>2]|0}if(c|0)f[c+4>>2]=h;f[i>>2]=1443283912;f[a>>2]=0;do if(g){if(f[g+480>>2]|0){Kc(g,a);break}i=a;if((f[g+304>>2]|0)>>>0<=i>>>0?(f[g+308>>2]|0)>>>0>i>>>0:0){i=g+300|0;f[a>>2]=f[i>>2];f[i>>2]=a}else j=18}else j=18;while(0);do if((j|0)==18)if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{j=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}while(0);if((e|0)==3082|(b[k+81>>0]|0)!=0){Di(k);c=7}else c=f[k+68>>2]&e;Ii(k);k=c;t=l;return k|0}function Gi(a){a=a|0;var b=0,c=0,d=0;b=a+4|0;Fi(f[b>>2]|0)|0;f[b>>2]=0;b=a+16|0;c=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[b>>2]=0;a=a+20|0;b=f[a>>2]|0;if(!b){f[a>>2]=0;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);f[a>>2]=0;return}else{d=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);f[a>>2]=0;return}}function Hi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0.0;j=t;t=t+32|0;d=j+16|0;e=j+8|0;i=j;g=f[a>>2]|0;if((f[g>>2]|0)>1?(h=f[g+72>>2]|0,(h|0)!=0):0){jb[h&255](g,e)|0;d=f[e>>2]|0;e=f[e+4>>2]|0}else{jb[f[g+64>>2]&255](g,d)|0;k=+p[d>>3]*864.0e5;d=~~k>>>0;h=+H(k)>=1.0?(k>0.0?~~+V(+G(k/4294967296.0),4294967295.0)>>>0:~~+T((k-+(~~k>>>0))/4294967296.0)>>>0):0;f[e>>2]=d;f[e+4>>2]=h;e=h}h=c+128|0;g=h;d=LA(d|0,e|0,f[g>>2]|0,f[g+4>>2]|0)|0;d=QA(d|0,ba()|0,1e6,0)|0;e=ba()|0;g=i;f[g>>2]=d;f[g+4>>2]=e;g=f[a+204>>2]|0;if(g|0)rb[g&127](f[a+208>>2]|0,f[c+184>>2]|0,d,e);if(!(b[a+88>>0]&2)){i=h;c=i;f[c>>2]=0;i=i+4|0;f[i>>2]=0;t=j;return}lb[f[a+196>>2]&127](2,f[a+200>>2]|0,c,i)|0;i=h;c=i;f[c>>2]=0;i=i+4|0;f[i>>2]=0;t=j;return}function Ii(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=a+96|0;if((f[t>>2]|0)!=1691352191)return;l=a+4|0;if(f[l>>2]|0)return;p=a+20|0;g=f[p>>2]|0;a:do if((g|0)>0){e=f[a+16>>2]|0;c=0;while(1){r=f[e+(c<<4)+4>>2]|0;if(r|0?f[r+16>>2]|0:0)break;c=c+1|0;if((c|0)>=(g|0))break a}return}while(0);Eg(a,0);e=a+444|0;c=f[e>>2]|0;if(c|0){g=a+480|0;i=a+304|0;j=a+308|0;k=a+300|0;do{f[e>>2]=f[c+24>>2];do if(!(f[g>>2]|0)){r=c;if((f[i>>2]|0)>>>0<=r>>>0?(f[j>>2]|0)>>>0>r>>>0:0){f[c>>2]=f[k>>2];f[k>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{r=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}else Kc(a,c);while(0);c=f[e>>2]|0}while((c|0)!=0)}f[a+452>>2]=0;f[a+456>>2]=0;b[a+87>>0]=0;r=a+16|0;c=f[r>>2]|0;if((f[p>>2]|0)>0){i=0;do{e=c+(i<<4)+4|0;g=f[e>>2]|0;if(g|0?(bi(g),f[e>>2]=0,(i|0)!=1):0)f[c+(i<<4)+12>>2]=0;i=i+1|0;c=f[r>>2]|0}while((i|0)<(f[p>>2]|0))}c=f[c+28>>2]|0;if(c|0)Wh(c);m=a+360|0;e=f[m>>2]|0;f[m>>2]=0;if(e|0){c=f[l>>2]|0;if(c|0)do{m=c+145|0;l=(h[m>>0]|h[m+1>>0]<<8)&-4|1;b[m>>0]=l;b[m+1>>0]=l>>8;c=f[c+8>>2]|0}while((c|0)!=0);c=e;do{e=c;c=f[c+24>>2]|0;g=f[e>>2]|0;l=e+12|0;m=(f[l>>2]|0)+-1|0;f[l>>2]=m;do if(!m){i=f[e+8>>2]|0;if(i|0)ib[f[(f[i>>2]|0)+16>>2]&255](i)|0;if(g|0){if(f[g+480>>2]|0){Kc(g,e);break}m=e;if((f[g+304>>2]|0)>>>0<=m>>>0?(f[g+308>>2]|0)>>>0>m>>>0:0){m=g+300|0;f[e>>2]=f[m>>2];f[m>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{m=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0)}while((c|0)!=0)}if((f[p>>2]|0)>2){j=a+480|0;k=a+304|0;l=a+308|0;m=a+300|0;i=2;c=2;do{e=f[r>>2]|0;g=e+(i<<4)|0;if(!(f[e+(i<<4)+4>>2]|0)){e=f[g>>2]|0;do if(e|0){if(f[j>>2]|0){Kc(a,e);break}u=e;if((f[k>>2]|0)>>>0<=u>>>0?(f[l>>2]|0)>>>0>u>>>0:0){f[e>>2]=f[m>>2];f[m>>2]=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[g>>2]=0}else{if((c|0)<(i|0)){u=e+(c<<4)|0;f[u>>2]=f[g>>2];f[u+4>>2]=f[g+4>>2];f[u+8>>2]=f[g+8>>2];f[u+12>>2]=f[g+12>>2]}c=c+1|0}i=i+1|0}while((i|0)<(f[p>>2]|0));f[p>>2]=c;if((c|0)<3)q=64}else{f[p>>2]=2;q=64}if((q|0)==64?(n=f[r>>2]|0,o=a+412|0,(n|0)!=(o|0)):0){f[o>>2]=f[n>>2];f[o+4>>2]=f[n+4>>2];f[o+8>>2]=f[n+8>>2];f[o+12>>2]=f[n+12>>2];f[o+16>>2]=f[n+16>>2];f[o+20>>2]=f[n+20>>2];f[o+24>>2]=f[n+24>>2];f[o+28>>2]=f[n+28>>2];do if(n|0){if(f[a+480>>2]|0){Kc(a,n);break}u=n;if((f[a+304>>2]|0)>>>0<=u>>>0?(f[a+308>>2]|0)>>>0>u>>>0:0){u=a+300|0;f[n>>2]=f[u>>2];f[u>>2]=n;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{u=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[r>>2]=o}m=a+372|0;c=f[m>>2]|0;if(!c)c=0;else{i=a+480|0;j=a+304|0;k=a+308|0;l=a+300|0;do{g=f[c+8>>2]|0;do{e=f[g+36>>2]|0;do if(e|0?(u=(f[e>>2]|0)+-1|0,f[e>>2]=u,(u|0)==0):0){ob[f[e+4>>2]&127](f[e+8>>2]|0);if(f[i>>2]|0){Kc(a,e);break}u=e;if((f[j>>2]|0)>>>0<=u>>>0?(f[k>>2]|0)>>>0>u>>>0:0){f[e>>2]=f[l>>2];f[l>>2]=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);e=g;g=f[g+12>>2]|0;do if(e|0){if(f[i>>2]|0){Kc(a,e);break}u=e;if((f[j>>2]|0)>>>0<=u>>>0?(f[k>>2]|0)>>>0>u>>>0:0){f[e>>2]=f[l>>2];f[l>>2]=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0)}while((g|0)!=0);c=f[c>>2]|0}while((c|0)!=0);c=f[m>>2]|0}f[m>>2]=0;e=a+376|0;g=f[e>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{u=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[e>>2]=0;f[a+364>>2]=0;if(c|0)do{e=c;c=f[c>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}}while((c|0)!=0);f[a+368>>2]=0;m=a+388|0;c=f[m>>2]|0;if(!c)c=0;else{i=a+480|0;j=a+304|0;k=a+308|0;l=a+300|0;do{g=f[c+8>>2]|0;e=f[g+16>>2]|0;if(e|0)ob[e&127](f[g+8>>2]|0);e=f[g+36>>2]|0;if(e|0)ob[e&127](f[g+28>>2]|0);e=f[g+56>>2]|0;if(e|0)ob[e&127](f[g+48>>2]|0);b:do if(!(f[i>>2]|0)){e=g;do if((f[j>>2]|0)>>>0<=e>>>0){if((f[k>>2]|0)>>>0<=e>>>0)break;f[g>>2]=f[l>>2];f[l>>2]=g;break b}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{u=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}else Kc(a,g);while(0);c=f[c>>2]|0}while((c|0)!=0);c=f[m>>2]|0}f[m>>2]=0;e=a+392|0;g=f[e>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{u=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[e>>2]=0;f[a+380>>2]=0;if(c|0)do{e=c;c=f[c>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}}while((c|0)!=0);f[a+384>>2]=0;n=a+344|0;c=f[n>>2]|0;if(!c)c=0;else{j=a+480|0;k=a+304|0;l=a+308|0;m=a+300|0;do{i=f[c+8>>2]|0;e=f[i+12>>2]|0;if(e|0)ob[e&127](f[i+8>>2]|0);e=i+16|0;g=f[e>>2]|0;if(g|0){u=g+36|0;f[u>>2]=f[u>>2]|2;do if(!(f[j>>2]|0)){q=g+32|0;u=(f[q>>2]|0)+-1|0;f[q>>2]=u;if(u|0)break;hg(a,g)}else hg(a,g);while(0);f[e>>2]=0}c:do if(!(f[j>>2]|0)){e=i;do if((f[k>>2]|0)>>>0<=e>>>0){if((f[l>>2]|0)>>>0<=e>>>0)break;f[i>>2]=f[m>>2];f[m>>2]=i;break c}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{u=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}else Kc(a,i);while(0);c=f[c>>2]|0}while((c|0)!=0);c=f[n>>2]|0}f[n>>2]=0;e=a+348|0;g=f[e>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{u=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[e>>2]=0;f[a+336>>2]=0;if(c|0)do{e=c;c=f[c>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}}while((c|0)!=0);f[a+340>>2]=0;f[a+64>>2]=0;c=a+256|0;d:do if(f[c>>2]|0?(Bg(a,0),s=f[c>>2]|0,s|0):0){if(!((d[s+8>>1]&9216)==0?!(f[s+24>>2]|0):0))ff(s);c=f[s+32>>2]|0;do if(c|0){if(f[c+480>>2]|0){Kc(c,s);break d}e=s;if((f[c+304>>2]|0)>>>0>e>>>0)break;if((f[c+308>>2]|0)>>>0<=e>>>0)break;u=c+300|0;f[s>>2]=f[u>>2];f[u>>2]=s;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{u=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);f[t>>2]=-1254786768;c=f[(f[r>>2]|0)+28>>2]|0;e:do if(c|0){if(f[a+480>>2]|0){Kc(a,c);break}e=c;do if((f[a+304>>2]|0)>>>0<=e>>>0){if((f[a+308>>2]|0)>>>0<=e>>>0)break;u=a+300|0;f[c>>2]=f[u>>2];f[u>>2]=c;break e}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{u=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);f[t>>2]=-1623446221;do if(b[a+278>>0]|0){c=f[a+304>>2]|0;if(!c)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{u=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{u=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}} -function Nl(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0;V=t;t=t+112|0;F=V+32|0;D=V+24|0;x=V+16|0;w=V+8|0;o=V;E=V+80|0;P=V+76|0;Q=V+72|0;G=V+40|0;f[P>>2]=0;f[Q>>2]=0;T=f[a>>2]|0;a:do if((f[a+36>>2]|0)==0?(I=T+81|0,(b[I>>0]|0)==0):0){i=f[c+8>>2]|0;if(!i)g=c+12|0;else{k=f[T+16>>2]|0;g=0;while(1)if((f[k+(g<<4)+12>>2]|0)==(i|0))break;else g=g+1|0;g=k+(g<<4)|0}R=pi(a,0,f[c+16>>2]|0,f[g>>2]|0)|0;g=f[a>>2]|0;i=c+24|0;k=f[i>>2]|0;do if(k|0){if(g|0?f[g+480>>2]|0:0){hg(g,k);break}N=k+32|0;O=(f[N>>2]|0)+-1|0;f[N>>2]=O;if(!O)hg(g,k)}while(0);f[i>>2]=R;if(R){O=R+32|0;f[O>>2]=(f[O>>2]|0)+1;b:do if(b[c+45>>0]&2){m=f[c+72>>2]|0;g=f[R+8>>2]|0;c:do if(g|0){n=h[1232+(h[m>>0]|0)>>0]|0;while(1){k=f[g>>2]|0;O=b[k>>0]|0;i=(h[1232+(O&255)>>0]|0)-n|0;if(!(O<<24>>24==0|(i|0)!=0)){l=m;do{k=k+1|0;l=l+1|0;O=b[k>>0]|0;i=(h[1232+(O&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(O<<24>>24==0|(i|0)!=0))}if(!i)break;g=f[g+20>>2]|0;if(!g)break c}f[c+76>>2]=g;break b}while(0);f[o>>2]=m;f[o+4>>2]=0;ni(a,50588,o);b[a+17>>0]=1;g=0;break a}while(0);g=f[a>>2]|0;s=f[g+32>>2]|0;do if(!((s&262144|0)==0&0==0)?(q=f[(f[g+16>>2]|0)+28>>2]|0,(b[a+142>>0]|0)==0):0){p=f[R+72>>2]|0;if((p|0)!=(q|0)?(r=f[q+48>>2]|0,(r|0)!=0):0){o=R+68|0;n=r;g=0;do{m=f[n+8>>2]|0;if((f[m+24>>2]|0)==(p|0)){k=f[m+4>>2]|0;l=f[R>>2]|0;O=b[k>>0]|0;i=(h[1232+(O&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0;if(!(O<<24>>24==0|(i|0)!=0))do{k=k+1|0;l=l+1|0;O=b[k>>0]|0;i=(h[1232+(O&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(O<<24>>24==0|(i|0)!=0));if(!i){if(!g)g=f[o>>2]|0;f[m+32>>2]=g;g=m}}n=f[n>>2]|0}while((n|0)!=0);if(!g)S=40}else S=40;if((S|0)==40){g=f[R+68>>2]|0;if(!g){S=46;break}}i=0;k=g;do{if((b[k+8>>0]|0)==117)i=i|h[k+9>>0];k=f[k+32>>2]|0}while((k|0)!=0);if(i){i=(f[R+12>>2]|0)!=0;if(!g)S=48;else{J=g;y=1;g=1}}else S=46}else S=46;while(0);if((S|0)==46){i=(f[R+12>>2]|0)!=0;S=48}if((S|0)==48){if(!((s&16384|0)==0&0==0)){p=f[R>>2]|0;m=f[R+72>>2]|0;n=f[m+68>>2]|0;if(!n){k=m+60|0;g=m+64|0}else{k=b[p>>0]|0;if(!(k<<24>>24))g=0;else{g=0;l=p;do{l=l+1|0;g=U(g+(h[1232+(k&255)>>0]|0)|0,-1640531535)|0;k=b[l>>0]|0}while(k<<24>>24!=0)}g=(g>>>0)%((f[m+56>>2]|0)>>>0)|0;k=n+(g<<3)|0;g=n+(g<<3)+4|0}k=f[k>>2]|0;d:do if(!k)g=72124;else{o=h[1232+(h[p>>0]|0)>>0]|0;while(1){g=f[g>>2]|0;k=k+-1|0;m=f[g+12>>2]|0;O=b[m>>0]|0;l=(h[1232+(O&255)>>0]|0)-o|0;if(!(O<<24>>24==0|(l|0)!=0)){n=p;do{m=m+1|0;n=n+1|0;O=b[m>>0]|0;l=(h[1232+(O&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(O<<24>>24==0|(l|0)!=0))}if(!l)break d;if(!k){g=72124;break}}}while(0);if(!(f[g+8>>2]|0))g=(f[R+16>>2]|0)!=0&1;else g=1}else g=0;J=0;y=(g|0)!=0;g=0}v=y&1;if((ki(a,R)|0)==0?(fn(a,R,g)|0)==0:0){k=f[R+72>>2]|0;l=f[T+16>>2]|0;if(!k)A=-1e6;else{g=0;while(1)if((f[l+(g<<4)+12>>2]|0)==(k|0)){A=g;break}else g=g+1|0}m=f[R>>2]|0;g=f[l+(A<<4)>>2]|0;k=f[a>>2]|0;if(((b[k+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(u=f[k+312>>2]|0,(u|0)!=0):0){g=nb[u&127](f[k+316>>2]|0,9,m,0,g,f[a+236>>2]|0)|0;if((g|0)==1){ni(a,49816,w);f[a+12>>2]=23;g=0;break}if((g|2|0)!=2){ni(a,49831,x);f[a+12>>2]=1;g=0;break}}else g=0;x=a+40|0;K=f[x>>2]|0;B=K+1|0;f[x>>2]=B;f[c+48>>2]=K;z=R+8|0;k=f[z>>2]|0;if(!k)C=0;else{l=0;m=B;do{m=m+1|0;l=l+1|0;k=f[k+20>>2]|0}while((k|0)!=0);f[x>>2]=m;C=l}if(i){O=a+236|0;N=f[O>>2]|0;f[O>>2]=f[R>>2];O=a}else{N=0;O=0}w=a+8|0;k=f[w>>2]|0;if(!k){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;k=sl(a)|0;if(!k)g=0;else{M=k;S=88}}else{M=k;S=88}e:do if((S|0)==88){L=a+18|0;if(!(b[L>>0]|0)){H=M+145|0;u=h[H>>0]|h[H+1>>0]<<8|32;b[H>>0]=u;b[H+1>>0]=u>>8}H=a+116|0;u=f[H>>2]|0;u=(u|0)==0?a:u;k=u+84|0;l=f[k>>2]|0;s=1<>2]=l|s,(A|0)==1):0){r=f[u>>2]|0;k=r+16|0;if(f[(f[k>>2]|0)+20>>2]|0)break;if(b[u+195>>0]|0)break;l=cj(f[r>>2]|0,0,r,E,0,542)|0;if(l|0){ni(u,51535,D);f[u+12>>2]=l;break}D=f[E>>2]|0;f[(f[k>>2]|0)+20>>2]=D;k=f[r+92>>2]|0;n=f[D+4>>2]|0;f[n+4>>2]=f[D>>2];do if(!(d[n+22>>1]&2)){o=n+32|0;p=n+36|0;q=(f[o>>2]|0)-(f[p>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[o>>2]=k;m=n+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;D=(f[18026]|0)+1|0;f[18026]=D;f[18027]=(D|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;S=105;break}else{k=ib[f[37368>>2]&255](l)|0;S=105}while(0);do if((S|0)==105){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{D=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);D=ih(f[n>>2]|0,o,q)|0;f[p>>2]=(f[o>>2]|0)-(q&65535);if((D|0)!=7)break;k=r+81|0;do if(!(b[k>>0]|0)){if(b[r+82>>0]|0)break;b[k>>0]=1;if((f[r+180>>2]|0)>0)f[r+264>>2]=1;D=r+272|0;f[D>>2]=(f[D>>2]|0)+1}while(0);break f}while(0)}while(0);D=u+80|0;f[D>>2]=f[D>>2]|s;D=u+20|0;b[D>>0]=h[D>>0]|v;if(i){io(a,R,e,K);f[Q>>2]=K;f[P>>2]=K}D=G+8|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;f[G>>2]=a;f[G+4>>2]=c;g:do if(e){l=G+24|0;d[l>>1]=0;f[E>>2]=a;f[E+4>>2]=146;f[E+8>>2]=147;f[E+12>>2]=0;f[E+24>>2]=G;m=e+24|0;k=a+204|0;D=(f[k>>2]|0)+(f[m>>2]|0)|0;f[k>>2]=D;k=f[(f[a>>2]|0)+120>>2]|0;do if((k|0)>=(D|0)){oi(E,e)|0;k=f[E>>2]|0;F=k+204|0;f[F>>2]=(f[F>>2]|0)-(f[m>>2]|0);if(d[l>>1]&16){F=e+4|0;f[F>>2]=f[F>>2]|2}if((f[G+20>>2]|0)>0)break;if((f[k+36>>2]|0)<1)break g;else{g=0;break e}}else{f[F>>2]=k;ni(a,42710,F)}while(0);g=0;break e}while(0);do if(!(0==0?(f[T+32>>2]&128|0)==0:0)){if(b[L>>0]|0){F=0;break}if(f[a+120>>2]|0){F=0;break}l=a+44|0;k=(f[l>>2]|0)+1|0;f[l>>2]=k;l=M+136|0;m=f[l>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;F=f[M+88>>2]|0;b[F+(m*20|0)>>0]=70;d[F+(m*20|0)+2>>1]=0;f[F+(m*20|0)+4>>2]=0;f[F+(m*20|0)+8>>2]=k;f[F+(m*20|0)+12>>2]=0;f[F+(m*20|0)+16>>2]=0;b[F+(m*20|0)+1>>0]=0;F=k;break}else{tl(M,70,0,k,0)|0;F=k;break}}else F=0;while(0);do if(y|((e|0)!=0|(g|0)!=0))S=153;else{if(f[R+56>>2]|0){S=153;break}g=R+28|0;nm(a,A,f[g>>2]|0,1,f[R>>2]|0);do if(!(f[R+36>>2]&32)){i=f[g>>2]|0;k=(F|0)==0?-1:F;m=f[R>>2]|0;l=M+136|0;g=f[l>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(g|0)){f[l>>2]=g+1;R=f[M+88>>2]|0;b[R+(g*20|0)>>0]=-118;d[R+(g*20|0)+2>>1]=0;f[R+(g*20|0)+4>>2]=i;f[R+(g*20|0)+8>>2]=A;f[R+(g*20|0)+12>>2]=k;f[R+(g*20|0)+16>>2]=0;b[R+(g*20|0)+1>>0]=0}else g=tl(M,138,i,A,k)|0;if(b[(f[M>>2]|0)+81>>0]|0)break;if((g|0)<0)g=(f[l>>2]|0)+-1|0;i=f[M+88>>2]|0;k=i+(g*20|0)+1|0;if(b[k>>0]|0){ul(M,i+(g*20|0)|0,m,-1);break}if(!m)break;f[i+(g*20|0)+16>>2]=m;b[k>>0]=-1}while(0);g=f[z>>2]|0;if(!g){g=0;break}l=M+136|0;m=M+12|0;n=M+88|0;do{i=f[g+44>>2]|0;k=f[l>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;R=f[n>>2]|0;b[R+(k*20|0)>>0]=-118;d[R+(k*20|0)+2>>1]=0;f[R+(k*20|0)+4>>2]=i;f[R+(k*20|0)+8>>2]=A;f[R+(k*20|0)+12>>2]=0;f[R+(k*20|0)+16>>2]=0;b[R+(k*20|0)+1>>0]=0}else tl(M,138,i,A,0)|0;g=f[g+20>>2]|0}while((g|0)!=0);g=0}while(0);do if((S|0)==153){r=y|(d[G+24>>1]&64)!=0?1044:1052;h:do if(!(f[R+36>>2]&32)){g=a+44|0;l=(f[g>>2]|0)+1|0;f[g>>2]=l;g=M+136|0;k=f[g>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(k|0)){f[g>>2]=k+1;s=f[M+88>>2]|0;b[s+(k*20|0)>>0]=73;d[s+(k*20|0)+2>>1]=0;f[s+(k*20|0)+4>>2]=0;f[s+(k*20|0)+8>>2]=l;f[s+(k*20|0)+12>>2]=0;f[s+(k*20|0)+16>>2]=0;b[s+(k*20|0)+1>>0]=0;s=0;E=0;p=1;v=0;g=0;break}else{tl(M,73,0,l,0)|0;s=0;E=0;p=1;v=0;g=0;break}}else{g=f[z>>2]|0;i:do if(!g)g=0;else while(1){G=g+55|0;if(((h[G>>0]|h[G+1>>0]<<8)&3)==2)break i;g=f[g+20>>2]|0;if(!g){g=0;break}}while(0);p=d[g+50>>1]|0;o=a+44|0;k=f[o>>2]|0;q=k+1|0;m=p<<16>>16;f[o>>2]=k+m;o=f[x>>2]|0;f[x>>2]=o+1;k=M+136|0;l=f[k>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;G=f[M+88>>2]|0;b[G+(l*20|0)>>0]=113;d[G+(l*20|0)+2>>1]=0;f[G+(l*20|0)+4>>2]=o;f[G+(l*20|0)+8>>2]=m;f[G+(l*20|0)+12>>2]=0;f[G+(l*20|0)+16>>2]=0;b[G+(l*20|0)+1>>0]=0}else l=tl(M,113,o,m,0)|0;k=f[w>>2]|0;n=om(a,g)|0;if(!n){s=l;l=0;E=o;v=q;break}m=f[k>>2]|0;if(!(b[m+81>>0]|0)){E=f[k+88>>2]|0;s=(f[k+136>>2]|0)+-1|0;b[E+(s*20|0)+1>>0]=-9;f[E+(s*20|0)+16>>2]=n;s=l;l=0;E=o;v=q;break}if(f[m+480>>2]|0){s=l;l=0;E=o;v=q;break}G=(f[n>>2]|0)+-1|0;f[n>>2]=G;if(G|0){s=l;l=0;E=o;v=q;break}k=f[n+12>>2]|0;do if(k|0){if(f[k+480>>2]|0){Kc(k,n);s=l;l=0;E=o;v=q;break h}m=n;if((f[k+304>>2]|0)>>>0>m>>>0)break;if((f[k+308>>2]|0)>>>0<=m>>>0)break;s=k+300|0;f[n>>2]=f[s>>2];f[s>>2]=n;s=l;l=0;E=o;v=q;break h}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);s=l;l=0;E=o;v=q;break}else{s=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);s=l;l=0;E=o;v=q;break}}while(0);D=sn(a,c,e,0,0,r,B)|0;if(!D){g=0;break e}x=D+24|0;o=f[x>>2]|0;x=f[x+4>>2]|0;y=b[D+49>>0]|0;z=y<<24>>24==1;if(!z){G=f[H>>2]|0;b[((G|0)==0?a:G)+20>>0]=1}do if(F|0){k=M+136|0;m=f[k>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(m|0)){f[k>>2]=m+1;G=f[M+88>>2]|0;b[G+(m*20|0)>>0]=83;d[G+(m*20|0)+2>>1]=0;f[G+(m*20|0)+4>>2]=F;f[G+(m*20|0)+8>>2]=1;f[G+(m*20|0)+12>>2]=0;f[G+(m*20|0)+16>>2]=0;b[G+(m*20|0)+1>>0]=0;break}else{tl(M,83,F,1,0)|0;break}}while(0);B=(g|0)!=0;do if(!B){m=a+44|0;k=(f[m>>2]|0)+1|0;f[m>>2]=k;m=M+136|0;n=f[m>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;w=f[M+88>>2]|0;b[w+(n*20|0)>>0]=-127;d[w+(n*20|0)+2>>1]=0;f[w+(n*20|0)+4>>2]=K;f[w+(n*20|0)+8>>2]=k;f[w+(n*20|0)+12>>2]=0;f[w+(n*20|0)+16>>2]=0;b[w+(n*20|0)+1>>0]=0;w=k;break}else{tl(M,129,K,k,0)|0;w=k;break}}else{m=p<<16>>16;if(p<<16>>16<=0){w=v;break}n=g+4|0;k=0;do{Am(M,R,K,d[(f[n>>2]|0)+(k<<1)>>1]|0,k+v|0);k=k+1|0}while((k|0)!=(m|0));w=v}while(0);A=y<<24>>24!=0;j:do if(A){m=C+2|0;k:do if(f[T+272>>2]|0){if(!(b[I>>0]|0))S=203}else{do if(!(0<0|(0==0?(j[T+276>>1]|0)>>>0>>0:0))){k=T+300|0;g=f[k>>2]|0;if(g|0){f[k>>2]=f[g>>2];S=T+284|0;f[S>>2]=(f[S>>2]|0)+1;S=204;break k}k=T+296|0;g=f[k>>2]|0;if(!g){g=T+292|0;break}else{f[k>>2]=f[g>>2];S=T+284|0;f[S>>2]=(f[S>>2]|0)+1;S=204;break k}}else g=T+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;S=203}while(0);if((S|0)==203){g=Dc(T,m,0)|0;S=204}do if((S|0)==204){if(!g)break;I=C+1|0;_A(g|0,1,I|0)|0;b[g+I>>0]=0;if((o|0)>-1)b[g+(o-K)>>0]=0;if((x|0)>-1)b[g+(x-K)>>0]=0;do if(s|0){k=f[M>>2]|0;if(b[k+81>>0]|0)break;I=f[M+88>>2]|0;C=I+(s*20|0)+1|0;G=I+(s*20|0)+16|0;qg(k,b[C>>0]|0,f[G>>2]|0);b[C>>0]=0;f[G>>2]=0;b[I+(s*20|0)>>0]=-85}while(0);k=f[M+12>>2]|0;s=k+60|0;u=f[s>>2]|0;f[s>>2]=u+1;s=k+64|0;if(!(u+-1&u)){q=u<<3|4;r=f[k>>2]|0;k=f[s>>2]|0;l:do if(k){n=k;o=r+304|0;do if((f[o>>2]|0)>>>0<=n>>>0){if((f[r+308>>2]|0)>>>0<=n>>>0)break;if(!(0<0|(0==0?(j[r+276>>1]|0)>>>0>>0:0)))break l}while(0);m=Lc(r,k,q,0)|0;if(m|0){k=m;break}if(f[r+480>>2]|0){Kc(r,k);k=0;break}do if((f[o>>2]|0)>>>0<=n>>>0){if((f[r+308>>2]|0)>>>0<=n>>>0)break;I=r+300|0;f[k>>2]=f[I>>2];f[I>>2]=k;k=0;break l}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);k=0;break}else{I=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);k=0;break}}else{if(f[r+272>>2]|0){if(b[r+81>>0]|0){k=0;break}}else{do if(!(0<0|(0==0?(j[r+276>>1]|0)>>>0>>0:0))){m=r+300|0;k=f[m>>2]|0;if(k|0){f[m>>2]=f[k>>2];I=r+284|0;f[I>>2]=(f[I>>2]|0)+1;break l}m=r+296|0;k=f[m>>2]|0;if(!k){k=r+292|0;break}else{f[m>>2]=f[k>>2];I=r+284|0;f[I>>2]=(f[I>>2]|0)+1;break l}}else k=r+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(r,q,0)|0}while(0);f[s>>2]=k}else k=f[s>>2]|0;if(k|0)f[k+(u<<2)>>2]=-1;r=~u;break j}while(0);tn(D);g=0;break e}else{do if(!B){g=M+136|0;k=f[g>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(k|0)){f[g>>2]=k+1;g=f[M+88>>2]|0;b[g+(k*20|0)>>0]=-107;d[g+(k*20|0)+2>>1]=0;f[g+(k*20|0)+4>>2]=l;f[g+(k*20|0)+8>>2]=w;f[g+(k*20|0)+12>>2]=0;f[g+(k*20|0)+16>>2]=0;b[g+(k*20|0)+1>>0]=0;g=1;k=w;break}else{tl(M,149,l,w,0)|0;g=1;k=w;break}}else{u=a+44|0;k=(f[u>>2]|0)+1|0;f[u>>2]=k;u=p<<16>>16;q=Bm(f[a>>2]|0,g)|0;r=M+136|0;g=f[r>>2]|0;s=M+12|0;if((f[(f[s>>2]|0)+48>>2]|0)>(g|0)){f[r>>2]=g+1;I=f[M+88>>2]|0;b[I+(g*20|0)>>0]=102;d[I+(g*20|0)+2>>1]=0;f[I+(g*20|0)+4>>2]=v;f[I+(g*20|0)+8>>2]=u;f[I+(g*20|0)+12>>2]=k;f[I+(g*20|0)+16>>2]=0;b[I+(g*20|0)+1>>0]=0}else g=tl(M,102,v,u,k)|0;m=f[M>>2]|0;m:do if(!(b[m+81>>0]|0)){if((g|0)<0)g=(f[r>>2]|0)+-1|0;m=f[M+88>>2]|0;n=m+(g*20|0)|0;do if(p<<16>>16<=-1){o=m+(g*20|0)+1|0;if(b[o>>0]|0)break;if(p<<16>>16==-3){f[m+(g*20|0)+16>>2]=q;b[o>>0]=-3;break m}if(!q)break m;f[m+(g*20|0)+16>>2]=q;b[o>>0]=p;if(p<<16>>16!=-12)break m;I=q+12|0;f[I>>2]=(f[I>>2]|0)+1;break m}while(0);ul(M,n,q,u)}else{if(p<<16>>16==-12)break;qg(m,u,q)}while(0);g=f[r>>2]|0;if((f[(f[s>>2]|0)+48>>2]|0)>(g|0)){f[r>>2]=g+1;I=f[M+88>>2]|0;b[I+(g*20|0)>>0]=-123;d[I+(g*20|0)+2>>1]=0;f[I+(g*20|0)+4>>2]=E;f[I+(g*20|0)+8>>2]=k;f[I+(g*20|0)+12>>2]=v;f[I+(g*20|0)+16>>2]=0;b[I+(g*20|0)+1>>0]=0}else g=tl(M,133,E,k,v)|0;if(b[(f[M>>2]|0)+81>>0]|0){g=0;break}I=f[M+88>>2]|0;b[I+(g*20|0)+1>>0]=-3;f[I+(g*20|0)+16>>2]=u;g=0}while(0);tn(D);r=0;p=g;g=0;w=k}while(0);do if(!i){if(y<<24>>24!=2){_m(a,R,110,8,K,g,P,Q)|0;break}n=M+136|0;i=f[n>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(i|0)){f[n>>2]=i+1;k=f[M+88>>2]|0;b[k+(i*20|0)>>0]=17;k=k+(i*20|0)+1|0;m=k+19|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(m|0))}else i=tl(M,17,0,0,0)|0;_m(a,R,110,8,K,g,P,Q)|0;k=f[n>>2]|0;if(!(b[(f[M>>2]|0)+81>>0]|0))i=(f[M+88>>2]|0)+(((i|0)<0?k+-1|0:i)*20|0)|0;else i=72144;f[i+8>>2]=k}while(0);do if(!A){n=M+136|0;k=f[n>>2]|0;m=M+12|0;i=(f[(f[m>>2]|0)+48>>2]|0)>(k|0);if(!B)if(i){f[n>>2]=k+1;q=f[M+88>>2]|0;b[q+(k*20|0)>>0]=41;d[q+(k*20|0)+2>>1]=0;f[q+(k*20|0)+4>>2]=l;f[q+(k*20|0)+8>>2]=0;f[q+(k*20|0)+12>>2]=w;f[q+(k*20|0)+16>>2]=0;b[q+(k*20|0)+1>>0]=0;q=k;break}else{q=tl(M,41,l,0,w)|0;break}if(i){f[n>>2]=k+1;I=f[M+88>>2]|0;b[I+(k*20|0)>>0]=36;d[I+(k*20|0)+2>>1]=0;f[I+(k*20|0)+4>>2]=E;f[I+(k*20|0)+8>>2]=0;f[I+(k*20|0)+12>>2]=0;f[I+(k*20|0)+16>>2]=0;b[I+(k*20|0)+1>>0]=0}else k=tl(M,36,E,0,0)|0;l=f[n>>2]|0;i=(f[(f[m>>2]|0)+48>>2]|0)>(l|0);if(!(f[R+56>>2]|0))if(i){f[n>>2]=l+1;q=f[M+88>>2]|0;b[q+(l*20|0)>>0]=-128;d[q+(l*20|0)+2>>1]=0;f[q+(l*20|0)+4>>2]=E;f[q+(l*20|0)+8>>2]=w;f[q+(l*20|0)+12>>2]=0;f[q+(l*20|0)+16>>2]=0;b[q+(l*20|0)+1>>0]=0;q=k;break}else{tl(M,128,E,w,0)|0;q=k;break}else if(i){f[n>>2]=l+1;q=f[M+88>>2]|0;b[q+(l*20|0)>>0]=90;d[q+(l*20|0)+2>>1]=0;f[q+(l*20|0)+4>>2]=E;f[q+(l*20|0)+8>>2]=0;f[q+(l*20|0)+12>>2]=w;f[q+(l*20|0)+16>>2]=0;b[q+(l*20|0)+1>>0]=0;q=k;break}else{tl(M,90,E,0,w)|0;q=k;break}}else{if(f[R+56>>2]|0){q=0;break}k=f[P>>2]|0;if(!(b[g+(k-K)>>0]|0)){q=0;break}l=M+136|0;i=f[l>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;I=f[M+88>>2]|0;b[I+(i*20|0)>>0]=28;d[I+(i*20|0)+2>>1]=0;f[I+(i*20|0)+4>>2]=k;f[I+(i*20|0)+8>>2]=r;f[I+(i*20|0)+12>>2]=w;f[I+(i*20|0)+16>>2]=0;b[I+(i*20|0)+1>>0]=0}else i=tl(M,28,k,r,w)|0;if(b[(f[M>>2]|0)+81>>0]|0){q=0;break}q=f[M+88>>2]|0;b[q+(i*20|0)+1>>0]=-3;f[q+(i*20|0)+16>>2]=p<<16>>16;q=0}while(0);do if(!(f[R+56>>2]|0))bo(a,R,J,f[P>>2]|0,f[Q>>2]|0,w,p,(b[L>>0]|0)==0&1,11,y,x);else{i=f[R+64>>2]|0;n:do if(!i)p=0;else while(1){if((f[i>>2]|0)==(T|0)){p=i;break n}i=f[i+24>>2]|0;if(!i){p=0;break}}while(0);o=f[H>>2]|0;o=(o|0)==0?a:o;n=o+200|0;m=f[n>>2]|0;l=o+248|0;o:do if((m|0)>0){i=f[l>>2]|0;k=0;do{if((f[i+(k<<2)>>2]|0)==(R|0))break o;k=k+1|0}while((k|0)<(m|0));k=l;S=311}else{k=l;i=f[l>>2]|0;S=311}while(0);p:do if((S|0)==311){do if(!(Mc()|0)){S=(m<<2)+4|0;i=Nc(i,S,((S|0)<0)<<31>>31)|0;if(!i)break;f[k>>2]=i;S=f[n>>2]|0;f[n>>2]=S+1;f[i+(S<<2)>>2]=R;break p}while(0);i=f[o>>2]|0;k=i+81|0;if(b[k>>0]|0)break;if(b[i+82>>0]|0)break;b[k>>0]=1;if((f[i+180>>2]|0)>0)f[i+264>>2]=1;S=i+272|0;f[S>>2]=(f[S>>2]|0)+1}while(0);m=f[H>>2]|0;b[((m|0)==0?a:m)+21>>0]=1;m=M+136|0;do if(z){i=f[m>>2]|0;k=M+12|0;if((f[(f[k>>2]|0)+48>>2]|0)>(i|0)){f[m>>2]=i+1;S=f[M+88>>2]|0;b[S+(i*20|0)>>0]=117;d[S+(i*20|0)+2>>1]=0;f[S+(i*20|0)+4>>2]=K;f[S+(i*20|0)+8>>2]=0;f[S+(i*20|0)+12>>2]=0;f[S+(i*20|0)+16>>2]=0;b[S+(i*20|0)+1>>0]=0}else tl(M,117,K,0,0)|0;if(f[H>>2]|0)break;b[a+20>>0]=0}else k=M+12|0;while(0);i=f[m>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(i|0)){f[m>>2]=i+1;S=f[M+88>>2]|0;b[S+(i*20|0)>>0]=10;d[S+(i*20|0)+2>>1]=0;f[S+(i*20|0)+4>>2]=0;f[S+(i*20|0)+8>>2]=1;f[S+(i*20|0)+12>>2]=w;f[S+(i*20|0)+16>>2]=0;b[S+(i*20|0)+1>>0]=0}else i=tl(M,10,0,1,w)|0;do if(!(b[(f[M>>2]|0)+81>>0]|0)){if((i|0)<0)i=(f[m>>2]|0)+-1|0;k=f[M+88>>2]|0;l=k+(i*20|0)+1|0;if(b[l>>0]|0){ul(M,k+(i*20|0)|0,p,-12);break}if(!p)break;f[k+(i*20|0)+16>>2]=p;b[l>>0]=-12;S=p+12|0;f[S>>2]=(f[S>>2]|0)+1}while(0);i=f[m>>2]|0;if((i|0)<=0)break;d[(f[M+88>>2]|0)+((i+-1|0)*20|0)+2>>1]=2}while(0);if(A){i=f[(f[M+12>>2]|0)+64>>2]|0;if(i|0)f[i+(~r<<2)>>2]=f[M+136>>2];tn(D);break}if(B){i=q+1|0;k=M+136|0;l=f[k>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;S=f[M+88>>2]|0;b[S+(l*20|0)>>0]=5;d[S+(l*20|0)+2>>1]=0;f[S+(l*20|0)+4>>2]=E;f[S+(l*20|0)+8>>2]=i;f[S+(l*20|0)+12>>2]=0;f[S+(l*20|0)+16>>2]=0;b[S+(l*20|0)+1>>0]=0}else tl(M,5,E,i,0)|0;k=f[k>>2]|0;if(!(b[(f[M>>2]|0)+81>>0]|0))i=(f[M+88>>2]|0)+(((q|0)<0?k+-1|0:q)*20|0)|0;else i=72144;f[i+8>>2]=k;break}else{i=M+136|0;k=f[i>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;S=f[M+88>>2]|0;b[S+(k*20|0)>>0]=11;d[S+(k*20|0)+2>>1]=0;f[S+(k*20|0)+4>>2]=0;f[S+(k*20|0)+8>>2]=q;f[S+(k*20|0)+12>>2]=0;f[S+(k*20|0)+16>>2]=0;b[S+(k*20|0)+1>>0]=0}else tl(M,11,0,q,0)|0;k=f[i>>2]|0;if(!(b[(f[M>>2]|0)+81>>0]|0))i=(f[M+88>>2]|0)+(((q|0)<0?k+-1|0:q)*20|0)|0;else i=72144;f[i+8>>2]=k;break}}while(0);do if(!(b[L>>0]|0)){if(f[a+120>>2]|0)break;if(!(f[a+112>>2]|0))break;jn(a)}while(0);if(!F)break;i=M+136|0;k=f[i>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;a=f[M+88>>2]|0;b[a+(k*20|0)>>0]=81;d[a+(k*20|0)+2>>1]=0;f[a+(k*20|0)+4>>2]=F;f[a+(k*20|0)+8>>2]=1;f[a+(k*20|0)+12>>2]=0;f[a+(k*20|0)+16>>2]=0;b[a+(k*20|0)+1>>0]=0}else tl(M,81,F,1,0)|0;Mi(M,1);if(b[(f[M>>2]|0)+81>>0]|0)break;$e(f[M+100>>2]|0,57104,-1,1,0)|0}while(0);if(O)f[O+236>>2]=N}else g=0}else g=0}else g=0;while(0);ng(T,c);if(e|0)ig(T,e);if(!g){t=V;return}if(T|0){if(f[T+480>>2]|0){Kc(T,g);t=V;return}e=g;if((f[T+304>>2]|0)>>>0<=e>>>0?(f[T+308>>2]|0)>>>0>e>>>0:0){T=T+300|0;f[g>>2]=f[T>>2];f[T>>2]=g;t=V;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);t=V;return}else{T=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);t=V;return}}function Ol(a,c,e,g,i,k){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=t;t=t+128|0;fa=Da+48|0;$=Da+40|0;S=Da+32|0;W=Da+24|0;V=Da+16|0;T=Da+8|0;r=Da;ea=Da+88|0;ga=Da+56|0;za=Da+52|0;f[za>>2]=0;Ca=f[a>>2]|0;a:do if((f[a+36>>2]|0)==0?(z=Ca+81|0,(b[z>>0]|0)==0):0){m=f[c+8>>2]|0;if(!m)l=c+12|0;else{n=f[Ca+16>>2]|0;l=0;while(1)if((f[n+(l<<4)+12>>2]|0)==(m|0))break;else l=l+1|0;l=n+(l<<4)|0}Ba=pi(a,0,f[c+16>>2]|0,f[l>>2]|0)|0;l=f[a>>2]|0;m=c+24|0;n=f[m>>2]|0;do if(n|0){if(l|0?f[l+480>>2]|0:0){hg(l,n);break}xa=n+32|0;ya=(f[xa>>2]|0)+-1|0;f[xa>>2]=ya;if(!ya)hg(l,n)}while(0);f[m>>2]=Ba;if(Ba|0){ya=Ba+32|0;f[ya>>2]=(f[ya>>2]|0)+1;b:do if(b[c+45>>0]&2){p=f[c+72>>2]|0;l=f[Ba+8>>2]|0;c:do if(l|0){q=h[1232+(h[p>>0]|0)>>0]|0;while(1){n=f[l>>2]|0;ya=b[n>>0]|0;m=(h[1232+(ya&255)>>0]|0)-q|0;if(!(ya<<24>>24==0|(m|0)!=0)){o=p;do{n=n+1|0;o=o+1|0;ya=b[n>>0]|0;m=(h[1232+(ya&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(ya<<24>>24==0|(m|0)!=0))}if(!m)break;l=f[l+20>>2]|0;if(!l)break c}f[c+76>>2]=l;break b}while(0);f[r>>2]=p;f[r+4>>2]=0;ni(a,50588,r);b[a+17>>0]=1;break a}while(0);n=f[a>>2]|0;ya=Ba+72|0;s=f[ya>>2]|0;if(!s)_=-1e6;else{m=f[n+16>>2]|0;l=0;while(1)if((f[m+(l<<4)+12>>2]|0)==(s|0)){_=l;break}else l=l+1|0}do if(!(0==0?(f[n+32>>2]&262144|0)==0:0)?(u=f[(f[n+16>>2]|0)+28>>2]|0,(b[a+142>>0]|0)==0):0){if((s|0)!=(u|0)?(v=f[u+48>>2]|0,(v|0)!=0):0){r=Ba+68|0;q=v;l=0;do{p=f[q+8>>2]|0;if((f[p+24>>2]|0)==(s|0)){n=f[p+4>>2]|0;o=f[Ba>>2]|0;xa=b[n>>0]|0;m=(h[1232+(xa&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0;if(!(xa<<24>>24==0|(m|0)!=0))do{n=n+1|0;o=o+1|0;xa=b[n>>0]|0;m=(h[1232+(xa&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(xa<<24>>24==0|(m|0)!=0));if(!m){if(!l)l=f[r>>2]|0;f[p+32>>2]=l;l=p}}q=f[q>>2]|0}while((q|0)!=0);if(!l)Aa=43}else Aa=43;if((Aa|0)==43){l=f[Ba+68>>2]|0;if(!l){Aa=65;break}}if(!e){m=0;n=l;do{if((b[n+8>>0]|0)==118)m=m|h[n+9>>0];n=f[n+32>>2]|0}while((n|0)!=0)}else{m=0;y=l;do{d:do if((b[y+8>>0]|0)==118){n=f[y+16>>2]|0;e:do if(n|0){x=f[e>>2]|0;if((x|0)<=0)break d;w=f[n+4>>2]|0;if((w|0)<=0)break d;s=f[n>>2]|0;q=0;while(1){u=f[e+4+(q*20|0)+4>>2]|0;v=h[1232+(h[u>>0]|0)>>0]|0;r=0;do{o=f[s+(r<<3)>>2]|0;xa=b[o>>0]|0;n=(h[1232+(xa&255)>>0]|0)-v|0;if(!(xa<<24>>24==0|(n|0)!=0)){p=u;do{o=o+1|0;p=p+1|0;xa=b[o>>0]|0;n=(h[1232+(xa&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0}while(!(xa<<24>>24==0|(n|0)!=0))}if(!n)break e;r=r+1|0}while((r|0)<(w|0));q=q+1|0;if((q|0)>=(x|0))break d}}while(0);m=m|h[y+9>>0]}while(0);y=f[y+32>>2]|0}while((y|0)!=0)}if(!m)Aa=65}else Aa=65;while(0);if((Aa|0)==65){m=0;l=0}wa=(f[Ba+12>>2]|0)!=0;if((ki(a,Ba)|0)==0?(fn(a,Ba,m)|0)==0:0){ca=a+40|0;ia=f[ca>>2]|0;s=ia+1|0;f[ca>>2]=s;ja=Ba+36|0;aa=Ba+8|0;o=f[aa>>2]|0;f:do if(f[ja>>2]&32)if(!o){p=0;o=ia;n=0}else{n=o;while(1){Aa=n+55|0;if(((h[Aa>>0]|h[Aa+1>>0]<<8)&3)==2){Aa=73;break f}n=f[n+20>>2]|0;if(!n){n=0;Aa=73;break}}}else{n=0;Aa=73}while(0);if((Aa|0)==73)if(!o){p=0;o=ia}else{p=0;r=ia;q=s;do{r=(n|0)==(o|0)?q:r;q=q+1|0;p=p+1|0;o=f[o+20>>2]|0}while((o|0)!=0);f[ca>>2]=q;o=r}da=(k|0)!=0;if(da){o=f[k+28>>2]|0;s=f[k+32>>2]|0;f[ca>>2]=ia}Z=c+48|0;f[Z>>2]=o;xa=Ba+42|0;u=p+2+(p+(d[xa>>1]|0)<<2)|0;g:do if(f[Ca+272>>2]|0)if(!(b[z>>0]|0))Aa=89;else break a;else{do if(!(0<0|(0==0?(j[Ca+276>>1]|0)>>>0>>0:0))){q=Ca+300|0;r=f[q>>2]|0;if(r|0){f[q>>2]=f[r>>2];va=Ca+284|0;f[va>>2]=(f[va>>2]|0)+1;break g}q=Ca+296|0;r=f[q>>2]|0;if(!r){q=Ca+292|0;break}else{f[q>>2]=f[r>>2];va=Ca+284|0;f[va>>2]=(f[va>>2]|0)+1;break g}}else q=Ca+288|0;while(0);f[q>>2]=(f[q>>2]|0)+1;Aa=89}while(0);if((Aa|0)==89)r=Dc(Ca,u,0)|0;if(r|0){va=r+(d[xa>>1]<<2)|0;ha=va+(p<<2)|0;X=p+1|0;_A(ha|0,1,X|0)|0;b[ha+X>>0]=0;ua=d[xa>>1]|0;q=ua<<16>>16;if(ua<<16>>16>0)_A(r|0,-1,((q|0)>1?q:1)<<2|0)|0;Y=ga+12|0;f[Y>>2]=0;f[Y+4>>2]=0;f[Y+8>>2]=0;f[Y+12>>2]=0;f[Y+16>>2]=0;f[ga>>2]=a;f[ga+4>>2]=c;f[ga+8>>2]=k;Y=ga+24|0;d[Y>>1]=512;h:do if((f[e>>2]|0)>0){H=ea+4|0;I=ea+8|0;J=ea+12|0;K=ea+24|0;L=(n|0)==0;M=Ca+16|0;N=Ba+4|0;O=a+196|0;P=ga+20|0;Q=a+236|0;R=Ba+40|0;D=0;v=0;F=0;G=0;i:while(1){E=e+4+(G*20|0)|0;x=f[E>>2]|0;if(x){y=j[Y>>1]|0;d[Y>>1]=y&61423;q=f[ga>>2]|0;f[ea>>2]=q;f[H>>2]=146;f[I>>2]=147;f[J>>2]=0;f[K>>2]=ga;w=x+24|0;u=q;ta=u+204|0;ua=(f[ta>>2]|0)+(f[w>>2]|0)|0;f[ta>>2]=ua;u=f[(f[u>>2]|0)+120>>2]|0;if((u|0)<(ua|0)){Aa=98;break}oi(ea,x)|0;u=f[ea>>2]|0;q=u+204|0;f[q>>2]=(f[q>>2]|0)-(f[w>>2]|0);q=d[Y>>1]|0;if(q&16){ua=x+4|0;f[ua>>2]=f[ua>>2]|2}d[Y>>1]=y&4112|q&65535;if((f[P>>2]|0)>0)break;if((f[u+36>>2]|0)>=1){Aa=947;break h}}q=d[xa>>1]|0;j:do if(q<<16>>16>0){C=f[N>>2]|0;z=f[e+4+(G*20|0)+4>>2]|0;B=h[1232+(h[z>>0]|0)>>0]|0;y=q<<16>>16;A=0;while(1){x=f[C+(A<<4)>>2]|0;ua=b[x>>0]|0;q=(h[1232+(ua&255)>>0]|0)-B|0;if(!(ua<<24>>24==0|(q|0)!=0)){u=z;w=x;do{w=w+1|0;u=u+1|0;ua=b[w>>0]|0;q=(h[1232+(ua&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0}while(!(ua<<24>>24==0|(q|0)!=0))}if(!q)break;q=A+1|0;if((q|0)<(y|0))A=q;else{Aa=116;break j}}do if((A|0)==(d[R>>1]|0)){u=f[E>>2]|0;v=1;q=F}else{if(L){u=D;q=F;break}u=D;q=(b[C+(A<<4)+15>>0]&1)==0?F:1}while(0);f[r+(A<<2)>>2]=G;B=q;y=u;z=v}else{z=f[e+4+(G*20|0)+4>>2]|0;Aa=116}while(0);if((Aa|0)==116){Aa=0;if(!L){Aa=130;break}x=b[z>>0]|0;w=h[1232+(x&255)>>0]|0;q=w+-95|0;x=x<<24>>24==0;if(!(x|(q|0)!=0)){u=49617;v=z;do{v=v+1|0;u=u+1|0;ua=b[v>>0]|0;q=(h[1232+(ua&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0}while(!(ua<<24>>24==0|(q|0)!=0))}do if(q|0){q=w+-114|0;if(!(x|(q|0)!=0)){u=49625;v=z;do{v=v+1|0;u=u+1|0;ua=b[v>>0]|0;q=(h[1232+(ua&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0}while(!(ua<<24>>24==0|(q|0)!=0))}if(!q)break;q=w+-111|0;if(!(x|(q|0)!=0)){u=49631;v=z;do{v=v+1|0;u=u+1|0;ua=b[v>>0]|0;q=(h[1232+(ua&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0}while(!(ua<<24>>24==0|(q|0)!=0))}if(q|0){Aa=130;break i}}while(0);A=-1;B=F;y=f[E>>2]|0;z=1;x=49625}q=f[Ba>>2]|0;u=f[(f[M>>2]|0)+(_<<4)>>2]|0;v=f[a>>2]|0;do if(!(b[v+165>>0]|0)){if(b[O>>0]|0)break;w=f[v+312>>2]|0;if(!w)break;q=nb[w&127](f[v+316>>2]|0,23,q,x,u,f[Q>>2]|0)|0;if((q|0)==1){Aa=136;break i}if((q|2|0)!=2){Aa=138;break i}if((q|0)!=2)break;f[r+(A<<2)>>2]=-1}while(0);G=G+1|0;if((G|0)>=(f[e>>2]|0)){V=y;R=z;S=B;Aa=142;break h}else{D=y;v=z;F=B}}if((Aa|0)==98){f[T>>2]=u;ni(q,42710,T)}else if((Aa|0)==130){f[V>>2]=z;ni(a,57072,V);b[a+17>>0]=1;Aa=946;break}else if((Aa|0)==136){ni(a,49816,W);f[a+12>>2]=23;Aa=947;break}else if((Aa|0)==138){ni(a,49831,S);f[a+12>>2]=1;Aa=947;break}Aa=947}else{V=0;R=0;S=0;Aa=142}while(0);do if((Aa|0)==142){ta=(R&255)+(S&255)|0;pa=ta&255;K=Ba+56|0;sa=((f[K>>2]|0)!=0)<<31>>31;ua=c+64|0;f[ua>>2]=sa;f[ua+4>>2]=((sa|0)<0)<<31>>31;ta=ta&255;k:do if(0==0?(f[(f[a>>2]|0)+32>>2]&16384|0)==0:0)la=0;else{q=f[Ba+16>>2]|0;A=f[Ba>>2]|0;l:do if(!q)z=0;else{y=Ba+40|0;u=(A|0)==0;if(!ta){if(u){w=q;q=0;while(1){if(!(f[w+8>>2]|0)){la=2;break k}v=f[w+20>>2]|0;m:do if((v|0)>0){u=0;do{if((f[r+(f[w+36+(u<<3)>>2]<<2)>>2]|0)>-1){q=1;break m}u=u+1|0}while((u|0)<(v|0))}while(0);w=f[w+4>>2]|0;if(!w){z=q;break l}}}x=q;q=0;while(1){v=f[x+8>>2]|0;if(v|0){ua=b[A>>0]|0;u=(h[1232+(ua&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0;if(!(ua<<24>>24==0|(u|0)!=0)){w=A;do{w=w+1|0;v=v+1|0;ua=b[w>>0]|0;u=(h[1232+(ua&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0}while(!(ua<<24>>24==0|(u|0)!=0))}if(!u){la=2;break k}}v=f[x+20>>2]|0;n:do if((v|0)>0){u=0;do{if((f[r+(f[x+36+(u<<3)>>2]<<2)>>2]|0)>-1){q=1;break n}u=u+1|0}while((u|0)<(v|0))}while(0);x=f[x+4>>2]|0;if(!x){z=q;break l}}}if(u){u=0;while(1){if(!(f[q+8>>2]|0)){la=2;break k}w=f[q+20>>2]|0;o:do if((w|0)>0){v=0;do{x=f[q+36+(v<<3)>>2]|0;if((f[r+(x<<2)>>2]|0)>-1){u=1;break o}v=v+1|0;if((x|0)==(d[y>>1]|0)){u=1;break o}}while((v|0)<(w|0))}while(0);q=f[q+4>>2]|0;if(!q){z=u;break l}}}u=0;while(1){w=f[q+8>>2]|0;if(w|0){ua=b[A>>0]|0;v=(h[1232+(ua&255)>>0]|0)-(h[1232+(h[w>>0]|0)>>0]|0)|0;if(!(ua<<24>>24==0|(v|0)!=0)){x=A;do{x=x+1|0;w=w+1|0;ua=b[x>>0]|0;v=(h[1232+(ua&255)>>0]|0)-(h[1232+(h[w>>0]|0)>>0]|0)|0}while(!(ua<<24>>24==0|(v|0)!=0))}if(!v){la=2;break k}}w=f[q+20>>2]|0;p:do if((w|0)>0){v=0;do{x=f[q+36+(v<<3)>>2]|0;if((f[r+(x<<2)>>2]|0)>-1){u=1;break p}v=v+1|0;if((x|0)==(d[y>>1]|0)){u=1;break p}}while((v|0)<(w|0))}while(0);q=f[q+4>>2]|0;if(!q){z=u;break}}}while(0);w=f[ya>>2]|0;x=f[w+68>>2]|0;if(!x){u=w+60|0;q=w+64|0}else{u=b[A>>0]|0;if(!(u<<24>>24))q=0;else{q=0;v=A;do{v=v+1|0;q=U(q+(h[1232+(u&255)>>0]|0)|0,-1640531535)|0;u=b[v>>0]|0}while(u<<24>>24!=0)}q=(q>>>0)%((f[w+56>>2]|0)>>>0)|0;u=x+(q<<3)|0;q=x+(q<<3)+4|0}u=f[u>>2]|0;q:do if(!u)q=72124;else{y=h[1232+(h[A>>0]|0)>>0]|0;while(1){q=f[q>>2]|0;u=u+-1|0;w=f[q+12>>2]|0;ua=b[w>>0]|0;v=(h[1232+(ua&255)>>0]|0)-y|0;if(!(ua<<24>>24==0|(v|0)!=0)){x=A;do{w=w+1|0;x=x+1|0;ua=b[w>>0]|0;v=(h[1232+(ua&255)>>0]|0)-(h[1232+(h[x>>0]|0)>>0]|0)|0}while(!(ua<<24>>24==0|(v|0)!=0))}if(!v)break q;if(!u){q=72124;break}}}while(0);q=f[q+8>>2]|0;if(!q){la=z;break}u=q;q=z;while(1){if(qn(Ba,u,r,ta)|0)if(!(b[u+26>>0]|0))q=1;else{la=2;break k}u=f[u+12>>2]|0;if(!u){la=q;break}}}while(0);q=f[aa>>2]|0;do if(q|0){J=(ta|0)!=0|(la|0)>1;B=a+44|0;C=ea+20|0;D=ea+4|0;E=ea+24|0;F=R<<24>>24==0;G=ea+20|0;H=ea+4|0;I=ea+24|0;A=0;z=0;while(1){r:do if(J|(q|0)==(n|0))Aa=210;else{u=f[q+36>>2]|0;if(u|0){f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;f[ea+12>>2]=0;f[ea+16>>2]=0;f[ea+20>>2]=0;f[D>>2]=164;f[E>>2]=r;oi(ea,u)|0;u=b[C>>0]|0;v=u&-3;if(F){b[C>>0]=v;u=v}if(u<<24>>24){Aa=210;break}}w=q+50|0;if(!(d[w>>1]|0)){v=z;Aa=234;break}x=q+4|0;y=q+40|0;s:do if(F){v=0;while(1){u=d[(f[x>>2]|0)+(v<<1)>>1]|0;if(u<<16>>16>-1)u=(f[r+(u<<16>>16<<2)>>2]|0)>>>31^1;else{u=f[(f[y>>2]|0)+4+(v*20|0)>>2]|0;f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;f[ea+12>>2]=0;f[ea+16>>2]=0;f[ea+20>>2]=0;f[H>>2]=164;f[I>>2]=r;if(!u)u=0;else{oi(ea,u)|0;u=b[G>>0]|0}u=(u&-3)<<24>>24!=0&1}v=v+1|0;if(u|0)break s;if(v>>>0>=(j[w>>1]|0)>>>0){v=z;Aa=234;break r}}}else{v=0;while(1){u=d[(f[x>>2]|0)+(v<<1)>>1]|0;if(u<<16>>16>-1)u=(f[r+(u<<16>>16<<2)>>2]|0)>>>31^1;else{u=f[(f[y>>2]|0)+4+(v*20|0)>>2]|0;f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;f[ea+12>>2]=0;f[ea+16>>2]=0;f[ea+20>>2]=0;f[H>>2]=164;f[I>>2]=r;if(!u)u=0;else{oi(ea,u)|0;u=b[G>>0]|0}u=u<<24>>24!=0&1}v=v+1|0;if(u|0)break s;if(v>>>0>=(j[w>>1]|0)>>>0){v=z;Aa=234;break r}}}while(0);u=(f[B>>2]|0)+1|0;f[B>>2]=u+(j[q+52>>1]|0);switch(i|0){case 5:break;case 11:{if((b[q+54>>0]|0)!=5){v=z;Aa=232;break r}break}default:{v=z;Aa=232;break r}}v=1;Aa=232}while(0);if((Aa|0)==210){u=(f[B>>2]|0)+1|0;f[B>>2]=u+(j[q+52>>1]|0);v=z;Aa=232}do if((Aa|0)==232){Aa=0;if(!u){Aa=234;break}w=A+1|0}while(0);if((Aa|0)==234){Aa=0;w=A+1|0;b[ha+w>>0]=0;u=0}f[va+(A<<2)>>2]=u;q=f[q+20>>2]|0;if(!q)break;else{A=w;z=v}}f[za>>2]=v;if(!v)break;_A(ha|0,1,X|0)|0}while(0);qa=a+8|0;q=f[qa>>2]|0;if(!q){do if(!(f[a+116>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);q=sl(a)|0;if(!q){Aa=946;break}else oa=q}else oa=q;na=a+18|0;if(!(b[na>>0]|0)){ua=oa+145|0;sa=h[ua>>0]|h[ua+1>>0]<<8|32;b[ua>>0]=sa;b[ua+1>>0]=sa>>8}L=(l|0)!=0;ka=(la|0)!=0;B=(L|ka)&1;ua=a+116|0;D=f[ua>>2]|0;D=(D|0)==0?a:D;q=D+84|0;u=f[q>>2]|0;C=1<<_;t:do if(!(u&C)){f[q>>2]=u|C;if((_|0)!=1)break;A=f[D>>2]|0;q=A+16|0;if(f[(f[q>>2]|0)+20>>2]|0)break;if(b[D+195>>0]|0)break;u=cj(f[A>>2]|0,0,A,ea,0,542)|0;if(u|0){ni(D,51535,$);f[D+12>>2]=u;break}sa=f[ea>>2]|0;f[(f[q>>2]|0)+20>>2]=sa;q=f[A+92>>2]|0;w=f[sa+4>>2]|0;f[w+4>>2]=f[sa>>2];do if(!(d[w+22>>1]&2)){x=w+32|0;y=w+36|0;z=(f[x>>2]|0)-(f[y>>2]|0)|0;do if((q+-512|0)>>>0<65025){if(q+-1&q|0)break;f[x>>2]=q;v=w+80|0;q=f[v>>2]|0;if(!q)break;u=q+-4|0;f[v>>2]=u;q=u;do if((f[18022]|0)>>>0<=q>>>0)if((f[18023]|0)>>>0>q>>>0){f[18188]=(f[18188]|0)+-1;f[u>>2]=f[18025];f[18025]=u;sa=(f[18026]|0)+1|0;f[18026]=sa;f[18027]=(sa|0)<(f[18021]|0)&1;break}else{q=ib[f[37368>>2]&255](u)|0;Aa=260;break}else{q=ib[f[37368>>2]&255](u)|0;Aa=260}while(0);do if((Aa|0)==260){f[18189]=(f[18189]|0)-q;if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{sa=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}}while(0);f[v>>2]=0}while(0);sa=ih(f[w>>2]|0,x,z)|0;f[y>>2]=(f[x>>2]|0)-(z&65535);if((sa|0)!=7)break;q=A+81|0;do if(!(b[q>>0]|0)){if(b[A+82>>0]|0)break;b[q>>0]=1;if((f[A+180>>2]|0)>0)f[A+264>>2]=1;sa=A+272|0;f[sa>>2]=(f[sa>>2]|0)+1}while(0);break t}while(0)}while(0);sa=D+80|0;f[sa>>2]=f[sa>>2]|C;sa=D+20|0;b[sa>>0]=h[sa>>0]|B;if(!(f[K>>2]|0)){v=a+44|0;w=f[v>>2]|0;y=w+2|0;f[v>>2]=y;if(L|S<<24>>24!=0|ka){q=y+(d[xa>>1]|0)|0;f[v>>2]=q;z=w+3|0}else{z=0;q=y}u=q+1|0;if(L|(la|ta|0)!=0){f[v>>2]=u;A=u;x=q+2|0;q=u}else{A=y;x=u}f[v>>2]=q+(d[xa>>1]|0);H=w+1|0;ma=y;M=z}else{H=0;x=0;ma=0;M=0;A=0}if(wa){sa=a+236|0;ra=f[sa>>2]|0;f[sa>>2]=f[Ba>>2];io(a,Ba,g,o);sa=a}else{ra=0;sa=0}u:do if(!g)Aa=289;else{q=j[Y>>1]|0;w=q&4112;d[Y>>1]=q&61423;q=f[ga>>2]|0;f[ea>>2]=q;f[ea+4>>2]=146;f[ea+8>>2]=147;f[ea+12>>2]=0;f[ea+24>>2]=ga;v=g+24|0;u=q+204|0;$=(f[u>>2]|0)+(f[v>>2]|0)|0;f[u>>2]=$;u=f[(f[q>>2]|0)+120>>2]|0;do if((u|0)>=($|0)){oi(ea,g)|0;u=f[ea>>2]|0;q=u+204|0;f[q>>2]=(f[q>>2]|0)-(f[v>>2]|0);q=d[Y>>1]|0;if(q&16){fa=g+4|0;f[fa>>2]=f[fa>>2]|2}d[Y>>1]=w|q&65535;if((f[ga+20>>2]|0)>0)break;if((f[u+36>>2]|0)<1){Aa=289;break u}else break u}else{f[fa>>2]=u;ni(q,42710,fa)}while(0)}while(0);v:do if((Aa|0)==289){if(f[K>>2]|0){I=f[qa>>2]|0;m=f[a>>2]|0;l=f[Ba+64>>2]|0;w:do if(!l)E=0;else while(1){if((f[l>>2]|0)==(m|0)){E=l;break w}l=f[l+24>>2]|0;if(!l){E=0;break}}while(0);A=d[xa>>1]|0;C=(A<<16>>16)+2|0;z=f[Z>>2]|0;H=f[ca>>2]|0;f[ca>>2]=H+1;F=I+136|0;l=f[F>>2]|0;G=I+12|0;if((f[(f[G>>2]|0)+48>>2]|0)>(l|0)){f[F>>2]=l+1;s=f[I+88>>2]|0;b[s+(l*20|0)>>0]=113;d[s+(l*20|0)+2>>1]=0;f[s+(l*20|0)+4>>2]=H;f[s+(l*20|0)+8>>2]=C;f[s+(l*20|0)+12>>2]=0;f[s+(l*20|0)+16>>2]=0;b[s+(l*20|0)+1>>0]=0;s=l}else s=tl(I,113,H,C,0)|0;D=a+44|0;w=f[D>>2]|0;B=w+1|0;y=w+C|0;x=y+1|0;y=y+2|0;f[D>>2]=y;D=sn(a,c,g,0,0,4,0)|0;if(!D)break;if((d[xa>>1]|0)>0){u=w+3|0;v=I+88|0;q=0;do{l=f[r+(q<<2)>>2]|0;x:do if((l|0)>-1){l=f[e+4+(l*20|0)>>2]|0;p=q+u|0;do if(l){if((b[l>>0]|0)!=-92){o=xl(a,l,p)|0;break}o=f[qa>>2]|0;l=f[l+28>>2]|0;m=o+136|0;n=f[m>>2]|0;if((f[(f[o+12>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;za=f[o+88>>2]|0;b[za+(n*20|0)>>0]=78;d[za+(n*20|0)+2>>1]=0;f[za+(n*20|0)+4>>2]=l;f[za+(n*20|0)+8>>2]=p;f[za+(n*20|0)+12>>2]=0;f[za+(n*20|0)+16>>2]=0;b[za+(n*20|0)+1>>0]=0;break x}else{tl(o,78,l,p,0)|0;break x}}else o=xl(a,0,p)|0;while(0);if((o|0)==(p|0))break;l=f[qa>>2]|0;if(!l)break;m=l+136|0;n=f[m>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;za=f[l+88>>2]|0;b[za+(n*20|0)>>0]=79;d[za+(n*20|0)+2>>1]=0;f[za+(n*20|0)+4>>2]=o;f[za+(n*20|0)+8>>2]=p;f[za+(n*20|0)+12>>2]=0;f[za+(n*20|0)+16>>2]=0;b[za+(n*20|0)+1>>0]=0;break}else{tl(l,79,o,p,0)|0;break}}else{l=q+u|0;m=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(m|0)){f[F>>2]=m+1;za=f[v>>2]|0;b[za+(m*20|0)>>0]=-91;d[za+(m*20|0)+2>>1]=0;f[za+(m*20|0)+4>>2]=z;f[za+(m*20|0)+8>>2]=q;f[za+(m*20|0)+12>>2]=l;f[za+(m*20|0)+16>>2]=0;b[za+(m*20|0)+1>>0]=0}else tl(I,165,z,q,l)|0;l=f[F>>2]|0;if((l|0)<=0)break;d[(f[v>>2]|0)+((l+-1|0)*20|0)+2>>1]=1}while(0);q=q+1|0}while((q|0)<(d[xa>>1]|0))}do if(!(f[ja>>2]&32)){l=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(l|0)){f[F>>2]=l+1;za=f[I+88>>2]|0;b[za+(l*20|0)>>0]=-127;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=z;f[za+(l*20|0)+8>>2]=B;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else tl(I,129,z,B,0)|0;p=w+2|0;if(!V){l=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(l|0)){f[F>>2]=l+1;za=f[I+88>>2]|0;b[za+(l*20|0)>>0]=-127;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=z;f[za+(l*20|0)+8>>2]=p;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0;break}else{tl(I,129,z,p,0)|0;break}}if((b[V>>0]|0)==-92){o=f[qa>>2]|0;l=f[V+28>>2]|0;m=o+136|0;n=f[m>>2]|0;if((f[(f[o+12>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;za=f[o+88>>2]|0;b[za+(n*20|0)>>0]=78;d[za+(n*20|0)+2>>1]=0;f[za+(n*20|0)+4>>2]=l;f[za+(n*20|0)+8>>2]=p;f[za+(n*20|0)+12>>2]=0;f[za+(n*20|0)+16>>2]=0;b[za+(n*20|0)+1>>0]=0;break}else{tl(o,78,l,p,0)|0;break}}o=xl(a,V,p)|0;if((o|0)==(p|0))break;l=f[qa>>2]|0;if(!l)break;m=l+136|0;n=f[m>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;za=f[l+88>>2]|0;b[za+(n*20|0)>>0]=79;d[za+(n*20|0)+2>>1]=0;f[za+(n*20|0)+4>>2]=o;f[za+(n*20|0)+8>>2]=p;f[za+(n*20|0)+12>>2]=0;f[za+(n*20|0)+16>>2]=0;b[za+(n*20|0)+1>>0]=0;break}else{tl(l,79,o,p,0)|0;break}}else{l=aa;while(1){l=f[l>>2]|0;za=l+55|0;if(((h[za>>0]|h[za+1>>0]<<8)&3)==2)break;else l=l+20|0}l=d[f[l+4>>2]>>1]|0;m=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(m|0)){f[F>>2]=m+1;za=f[I+88>>2]|0;b[za+(m*20|0)>>0]=-91;d[za+(m*20|0)+2>>1]=0;f[za+(m*20|0)+4>>2]=z;f[za+(m*20|0)+8>>2]=l;f[za+(m*20|0)+12>>2]=B;f[za+(m*20|0)+16>>2]=0;b[za+(m*20|0)+1>>0]=0}else tl(I,165,z,l,B)|0;n=w+3+l|0;l=w+2|0;m=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(m|0)){f[F>>2]=m+1;za=f[I+88>>2]|0;b[za+(m*20|0)>>0]=79;d[za+(m*20|0)+2>>1]=0;f[za+(m*20|0)+4>>2]=n;f[za+(m*20|0)+8>>2]=l;f[za+(m*20|0)+12>>2]=0;f[za+(m*20|0)+16>>2]=0;b[za+(m*20|0)+1>>0]=0;break}else{tl(I,79,n,l,0)|0;break}}while(0);u=(b[D+49>>0]|0)==0;do if(!u){l=f[I>>2]|0;if(!(b[l+81>>0]|0)){za=f[I+88>>2]|0;xa=za+(s*20|0)+1|0;ya=za+(s*20|0)+16|0;qg(l,b[xa>>0]|0,f[ya>>2]|0);b[xa>>0]=0;f[ya>>2]=0;b[za+(s*20|0)>>0]=-85}l=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(l|0)){f[F>>2]=l+1;za=f[I+88>>2]|0;b[za+(l*20|0)>>0]=117;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=z;f[za+(l*20|0)+8>>2]=0;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0;break}else{tl(I,117,z,0,0)|0;break}}else{l=f[ua>>2]|0;b[((l|0)==0?a:l)+20>>0]=1;l=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(l|0)){f[F>>2]=l+1;za=f[I+88>>2]|0;b[za+(l*20|0)>>0]=102;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=B;f[za+(l*20|0)+8>>2]=C;f[za+(l*20|0)+12>>2]=x;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else tl(I,102,B,C,x)|0;l=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(l|0)){f[F>>2]=l+1;za=f[I+88>>2]|0;b[za+(l*20|0)>>0]=121;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=H;f[za+(l*20|0)+8>>2]=y;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else tl(I,121,H,y,0)|0;l=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(l|0)){f[F>>2]=l+1;za=f[I+88>>2]|0;b[za+(l*20|0)>>0]=122;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=H;f[za+(l*20|0)+8>>2]=x;f[za+(l*20|0)+12>>2]=y;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else tl(I,122,H,x,y)|0;tn(D);l=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(l|0)){f[F>>2]=l+1;za=f[I+88>>2]|0;b[za+(l*20|0)>>0]=36;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=H;f[za+(l*20|0)+8>>2]=0;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else l=tl(I,36,H,0,0)|0;if(A<<16>>16<=-2){s=l;break}n=I+88|0;m=0;do{o=m+B|0;p=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(p|0)){f[F>>2]=p+1;za=f[n>>2]|0;b[za+(p*20|0)>>0]=90;d[za+(p*20|0)+2>>1]=0;f[za+(p*20|0)+4>>2]=H;f[za+(p*20|0)+8>>2]=m;f[za+(p*20|0)+12>>2]=o;f[za+(p*20|0)+16>>2]=0;b[za+(p*20|0)+1>>0]=0}else tl(I,90,H,m,o)|0;m=m+1|0}while((m|0)<(C|0));s=l}while(0);q=f[ua>>2]|0;q=(q|0)==0?a:q;p=q+200|0;o=f[p>>2]|0;n=q+248|0;y:do if((o|0)>0){l=f[n>>2]|0;m=0;do{if((f[l+(m<<2)>>2]|0)==(Ba|0))break y;m=m+1|0}while((m|0)<(o|0));m=n;Aa=374}else{m=n;l=f[n>>2]|0;Aa=374}while(0);z:do if((Aa|0)==374){do if(!(Mc()|0)){Aa=(o<<2)+4|0;l=Nc(l,Aa,((Aa|0)<0)<<31>>31)|0;if(!l)break;f[m>>2]=l;Aa=f[p>>2]|0;f[p>>2]=Aa+1;f[l+(Aa<<2)>>2]=Ba;break z}while(0);l=f[q>>2]|0;m=l+81|0;if(b[m>>0]|0)break;if(b[l+82>>0]|0)break;b[m>>0]=1;if((f[l+180>>2]|0)>0)f[l+264>>2]=1;Ba=l+272|0;f[Ba>>2]=(f[Ba>>2]|0)+1}while(0);l=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(l|0)){f[F>>2]=l+1;Ba=f[I+88>>2]|0;b[Ba+(l*20|0)>>0]=10;d[Ba+(l*20|0)+2>>1]=0;f[Ba+(l*20|0)+4>>2]=0;f[Ba+(l*20|0)+8>>2]=C;f[Ba+(l*20|0)+12>>2]=B;f[Ba+(l*20|0)+16>>2]=0;b[Ba+(l*20|0)+1>>0]=0}else l=tl(I,10,0,C,B)|0;do if(!(b[(f[I>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[F>>2]|0)+-1|0;m=f[I+88>>2]|0;n=m+(l*20|0)+1|0;if(b[n>>0]|0){ul(I,m+(l*20|0)|0,E,-12);break}if(!E)break;f[m+(l*20|0)+16>>2]=E;b[n>>0]=-12;Ba=E+12|0;f[Ba>>2]=(f[Ba>>2]|0)+1}while(0);m=f[F>>2]|0;if((m|0)>0)d[(f[I+88>>2]|0)+((m+-1|0)*20|0)+2>>1]=(i|0)==11?2:i&65535;i=f[ua>>2]|0;b[((i|0)==0?a:i)+21>>0]=1;if(!u){tn(D);break}l=s+1|0;if((f[(f[G>>2]|0)+48>>2]|0)>(m|0)){f[F>>2]=m+1;a=f[I+88>>2]|0;b[a+(m*20|0)>>0]=5;d[a+(m*20|0)+2>>1]=0;f[a+(m*20|0)+4>>2]=H;f[a+(m*20|0)+8>>2]=l;f[a+(m*20|0)+12>>2]=0;f[a+(m*20|0)+16>>2]=0;b[a+(m*20|0)+1>>0]=0}else tl(I,5,H,l,0)|0;m=f[F>>2]|0;if(!(b[(f[I>>2]|0)+81>>0]|0))l=(f[I+88>>2]|0)+(((s|0)<0?m+-1|0:s)*20|0)|0;else l=72144;f[l+8>>2]=m;if((f[(f[G>>2]|0)+48>>2]|0)>(m|0)){f[F>>2]=m+1;a=f[I+88>>2]|0;b[a+(m*20|0)>>0]=117;d[a+(m*20|0)+2>>1]=0;f[a+(m*20|0)+4>>2]=H;f[a+(m*20|0)+8>>2]=0;f[a+(m*20|0)+12>>2]=0;f[a+(m*20|0)+16>>2]=0;b[a+(m*20|0)+1>>0]=0;break}else{tl(I,117,H,0,0)|0;break}}$=oa+12|0;q=f[$>>2]|0;B=q+60|0;_=f[B>>2]|0;f[B>>2]=_+1;B=q+64|0;if(!(_+-1&_)){y=_<<3|4;z=f[q>>2]|0;q=f[B>>2]|0;A:do if(q){v=q;w=z+304|0;do if((f[w>>2]|0)>>>0<=v>>>0){if((f[z+308>>2]|0)>>>0<=v>>>0)break;if(!(0<0|(0==0?(j[z+276>>1]|0)>>>0>>0:0)))break A}while(0);u=Lc(z,q,y,0)|0;if(u|0){q=u;break}if(f[z+480>>2]|0){Kc(z,q);q=0;break}do if((f[w>>2]|0)>>>0<=v>>>0){if((f[z+308>>2]|0)>>>0<=v>>>0)break;ga=z+300|0;f[q>>2]=f[ga>>2];f[ga>>2]=q;q=0;break A}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](q);q=0;break}else{ga=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-ga;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);q=0;break}}else{if(f[z+272>>2]|0){if(b[z+81>>0]|0){q=0;break}}else{do if(!(0<0|(0==0?(j[z+276>>1]|0)>>>0>>0:0))){u=z+300|0;q=f[u>>2]|0;if(q|0){f[u>>2]=f[q>>2];ga=z+284|0;f[ga>>2]=(f[ga>>2]|0)+1;break A}u=z+296|0;q=f[u>>2]|0;if(!q){q=z+292|0;break}else{f[u>>2]=f[q>>2];ga=z+284|0;f[ga>>2]=(f[ga>>2]|0)+1;break A}}else q=z+288|0;while(0);f[q>>2]=(f[q>>2]|0)+1}q=Dc(z,y,0)|0}while(0);f[B>>2]=q}else q=f[B>>2]|0;if(q|0)f[q+(_<<2)>>2]=-1;I=~_;do if(!(0==0?(f[Ca+32>>2]&128|0)==0:0)){if(f[a+120>>2]|0){Z=0;break}if(!((k|0)==0&(b[na>>0]|0)==0)){Z=0;break}u=a+44|0;q=(f[u>>2]|0)+1|0;f[u>>2]=q;u=oa+136|0;v=f[u>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(v|0)){f[u>>2]=v+1;Z=f[oa+88>>2]|0;b[Z+(v*20|0)>>0]=70;d[Z+(v*20|0)+2>>1]=0;f[Z+(v*20|0)+4>>2]=0;f[Z+(v*20|0)+8>>2]=q;f[Z+(v*20|0)+12>>2]=0;f[Z+(v*20|0)+16>>2]=0;b[Z+(v*20|0)+1>>0]=0;Z=q;break}else{tl(oa,70,0,q,0)|0;Z=q;break}}else Z=0;while(0);B:do if(!(f[ja>>2]&32)){q=oa+136|0;u=f[q>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(u|0)){f[q>>2]=u+1;G=f[oa+88>>2]|0;b[G+(u*20|0)>>0]=73;d[G+(u*20|0)+2>>1]=0;f[G+(u*20|0)+4>>2]=0;f[G+(u*20|0)+8>>2]=H;f[G+(u*20|0)+12>>2]=ma;f[G+(u*20|0)+16>>2]=0;b[G+(u*20|0)+1>>0]=0;G=0;E=0;F=0;q=0;Y=0;break}else{tl(oa,73,0,H,ma)|0;G=0;E=0;F=0;q=0;Y=0;break}}else{z=d[n+50>>1]|0;ga=a+44|0;u=f[ga>>2]|0;B=u+1|0;w=z<<16>>16;u=u+w|0;y=u+1|0;f[ga>>2]=y;if(k|0){G=y;E=z;F=B;q=0;Y=0;break}C=f[ca>>2]|0;f[ca>>2]=C+1;v=oa+136|0;q=f[v>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(q|0)){f[v>>2]=q+1;ga=f[oa+88>>2]|0;b[ga+(q*20|0)>>0]=73;d[ga+(q*20|0)+2>>1]=0;f[ga+(q*20|0)+4>>2]=0;f[ga+(q*20|0)+8>>2]=B;f[ga+(q*20|0)+12>>2]=u;f[ga+(q*20|0)+16>>2]=0;b[ga+(q*20|0)+1>>0]=0}else tl(oa,73,0,B,u)|0;q=f[v>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(q|0)){f[v>>2]=q+1;ga=f[oa+88>>2]|0;b[ga+(q*20|0)>>0]=113;d[ga+(q*20|0)+2>>1]=0;f[ga+(q*20|0)+4>>2]=C;f[ga+(q*20|0)+8>>2]=w;f[ga+(q*20|0)+12>>2]=0;f[ga+(q*20|0)+16>>2]=0;b[ga+(q*20|0)+1>>0]=0}else q=tl(oa,113,C,w,0)|0;u=f[qa>>2]|0;w=om(a,n)|0;if(!w){G=y;E=z;F=B;Y=C;break}v=f[u>>2]|0;if(!(b[v+81>>0]|0)){E=f[u+88>>2]|0;G=(f[u+136>>2]|0)+-1|0;b[E+(G*20|0)+1>>0]=-9;f[E+(G*20|0)+16>>2]=w;G=y;E=z;F=B;Y=C;break}if(f[v+480>>2]|0){G=y;E=z;F=B;Y=C;break}ga=(f[w>>2]|0)+-1|0;f[w>>2]=ga;if(ga|0){G=y;E=z;F=B;Y=C;break}u=f[w+12>>2]|0;do if(u|0){if(f[u+480>>2]|0){Kc(u,w);G=y;E=z;F=B;Y=C;break B}v=w;if((f[u+304>>2]|0)>>>0>v>>>0)break;if((f[u+308>>2]|0)>>>0<=v>>>0)break;G=u+300|0;f[w>>2]=f[G>>2];f[G>>2]=w;G=y;E=z;F=B;Y=C;break B}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](w);G=y;E=z;F=B;Y=C;break}else{G=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);G=y;E=z;F=B;Y=C;break}}while(0);do if(da){zm(a,g,I,16);X=0;W=1;y=0;z=0}else{u=sn(a,c,g,0,0,(f[za>>2]|0)!=0|(pa<<24>>24!=0|(ka|(L|(b[na>>0]|0)!=0)))?4100:4108,s)|0;if(!u)break v;z=u+24|0;y=f[z>>2]|0;z=f[z+4>>2]|0;v=b[u+49>>0]|0;w=v&255;if(v<<24>>24==1){X=u;W=1;break}ga=f[ua>>2]|0;b[((ga|0)==0?a:ga)+20>>0]=1;if(v<<24>>24!=2){X=u;W=w;break}if((z|0)<0|(o|0)==(z|0)){X=u;W=2;break}X=u;W=(b[ha+(z-ia)>>0]|0)==0?w:0}while(0);do if(!(f[ja>>2]&32)){u=oa+136|0;q=f[u>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(q|0)){f[u>>2]=q+1;ja=f[oa+88>>2]|0;b[ja+(q*20|0)>>0]=-127;d[ja+(q*20|0)+2>>1]=0;f[ja+(q*20|0)+4>>2]=o;f[ja+(q*20|0)+8>>2]=ma;f[ja+(q*20|0)+12>>2]=0;f[ja+(q*20|0)+16>>2]=0;b[ja+(q*20|0)+1>>0]=0}else tl(oa,129,o,ma,0)|0;if(W|0){O=0;N=G;break}q=f[u>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(q|0)){f[u>>2]=q+1;O=f[oa+88>>2]|0;b[O+(q*20|0)>>0]=-107;d[O+(q*20|0)+2>>1]=0;f[O+(q*20|0)+4>>2]=H;f[O+(q*20|0)+8>>2]=ma;f[O+(q*20|0)+12>>2]=0;f[O+(q*20|0)+16>>2]=0;b[O+(q*20|0)+1>>0]=0;O=0;N=G;break}else{tl(oa,149,H,ma,0)|0;O=0;N=G;break}}else{D=E<<16>>16;if(E<<16>>16>0){v=n+4|0;u=0;do{Am(oa,Ba,o,d[(f[v>>2]|0)+(u<<1)>>1]|0,u+F|0);u=u+1|0}while((u|0)!=(D|0))}if(W|0){if(!q){O=D;N=F;break}u=f[oa>>2]|0;if(b[u+81>>0]|0){O=D;N=F;break}O=f[oa+88>>2]|0;ja=O+(q*20|0)+1|0;N=O+(q*20|0)+16|0;qg(u,b[ja>>0]|0,f[N>>2]|0);b[ja>>0]=0;f[N>>2]=0;b[O+(q*20|0)>>0]=-85;O=D;N=F;break}B=Bm(Ca,n)|0;C=oa+136|0;q=f[C>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(q|0)){f[C>>2]=q+1;ja=f[oa+88>>2]|0;b[ja+(q*20|0)>>0]=102;d[ja+(q*20|0)+2>>1]=0;f[ja+(q*20|0)+4>>2]=F;f[ja+(q*20|0)+8>>2]=D;f[ja+(q*20|0)+12>>2]=G;f[ja+(q*20|0)+16>>2]=0;b[ja+(q*20|0)+1>>0]=0}else q=tl(oa,102,F,D,G)|0;u=f[oa>>2]|0;C:do if(!(b[u+81>>0]|0)){if((q|0)<0)q=(f[C>>2]|0)+-1|0;u=f[oa+88>>2]|0;v=u+(q*20|0)|0;do if(E<<16>>16<=-1){w=u+(q*20|0)+1|0;if(b[w>>0]|0)break;if(E<<16>>16==-3){f[u+(q*20|0)+16>>2]=B;b[w>>0]=-3;break C}if(!B)break C;f[u+(q*20|0)+16>>2]=B;b[w>>0]=E;if(E<<16>>16!=-12)break C;ja=B+12|0;f[ja>>2]=(f[ja>>2]|0)+1;break C}while(0);ul(oa,v,B,D)}else{if(E<<16>>16==-12)break;qg(u,D,B)}while(0);q=f[C>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(q|0)){f[C>>2]=q+1;ja=f[oa+88>>2]|0;b[ja+(q*20|0)>>0]=-123;d[ja+(q*20|0)+2>>1]=0;f[ja+(q*20|0)+4>>2]=Y;f[ja+(q*20|0)+8>>2]=G;f[ja+(q*20|0)+12>>2]=F;f[ja+(q*20|0)+16>>2]=0;b[ja+(q*20|0)+1>>0]=0}else q=tl(oa,133,Y,G,F)|0;if(b[(f[oa>>2]|0)+81>>0]|0){O=0;N=G;break}O=f[oa+88>>2]|0;b[O+(q*20|0)+1>>0]=-3;f[O+(q*20|0)+16>>2]=D;O=0;N=G}while(0);T=(k|0)==0;D:do if(T){q=(W|0)==2;if(!q)tn(X);E:do if(wa)Aa=526;else{do if(W|0){if((y|0)>-1)b[ha+(y-ia)>>0]=0;if((z|0)>-1)b[ha+(z-ia)>>0]=0;if(!q)break;if(p>>>0<=(z>>>31^1)>>>0)break;q=oa+136|0;p=f[q>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(p|0)){f[q>>2]=p+1;u=f[oa+88>>2]|0;b[u+(p*20|0)>>0]=17;u=u+(p*20|0)+1|0;v=u+19|0;do{b[u>>0]=0;u=u+1|0}while((u|0)<(v|0))}else p=tl(oa,17,0,0,0)|0;_m(a,Ba,110,0,ia,ha,0,0)|0;if(p|0){u=f[q>>2]|0;if(!(b[(f[oa>>2]|0)+81>>0]|0))p=(f[oa+88>>2]|0)+(((p|0)<0?u+-1|0:p)*20|0)|0;else p=72144;f[p+8>>2]=u}if((z|0)==(o|0)|(y|0)==(o|0)){Aa=536;break E}else{Aa=530;break E}}while(0);_m(a,Ba,110,0,ia,ha,0,0)|0;Aa=526}while(0);do if((Aa|0)==526){if(W|0){if((z|0)==(o|0)|(wa|(y|0)==(o|0))){Aa=535;break}q=oa+136|0;Aa=530;break}if(!n){u=oa+136|0;q=f[u>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(q|0)){f[u>>2]=q+1;k=f[oa+88>>2]|0;b[k+(q*20|0)>>0]=41;d[k+(q*20|0)+2>>1]=0;f[k+(q*20|0)+4>>2]=H;f[k+(q*20|0)+8>>2]=I;f[k+(q*20|0)+12>>2]=ma;f[k+(q*20|0)+16>>2]=0;b[k+(q*20|0)+1>>0]=0}else q=tl(oa,41,H,I,ma)|0;p=f[u>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(p|0)){f[u>>2]=p+1;Q=f[oa+88>>2]|0;b[Q+(p*20|0)>>0]=31;d[Q+(p*20|0)+2>>1]=0;f[Q+(p*20|0)+4>>2]=o;f[Q+(p*20|0)+8>>2]=q;f[Q+(p*20|0)+12>>2]=ma;f[Q+(p*20|0)+16>>2]=0;b[Q+(p*20|0)+1>>0]=0;Q=0;P=q;break D}else{tl(oa,31,o,q,ma)|0;Q=0;P=q;break D}}p=f[$>>2]|0;z=p+60|0;B=f[z>>2]|0;f[z>>2]=B+1;z=p+64|0;if(!(B+-1&B)){w=B<<3|4;y=f[p>>2]|0;p=f[z>>2]|0;F:do if(p){u=p;v=y+304|0;do if((f[v>>2]|0)>>>0<=u>>>0){if((f[y+308>>2]|0)>>>0<=u>>>0)break;if(!(0<0|(0==0?(j[y+276>>1]|0)>>>0>>0:0)))break F}while(0);q=Lc(y,p,w,0)|0;if(q|0){p=q;break}if(f[y+480>>2]|0){Kc(y,p);p=0;break}do if((f[v>>2]|0)>>>0<=u>>>0){if((f[y+308>>2]|0)>>>0<=u>>>0)break;k=y+300|0;f[p>>2]=f[k>>2];f[k>>2]=p;p=0;break F}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](p);p=0;break}else{k=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);p=0;break}}else{if(f[y+272>>2]|0){if(b[y+81>>0]|0){p=0;break}}else{do if(!(0<0|(0==0?(j[y+276>>1]|0)>>>0>>0:0))){q=y+300|0;p=f[q>>2]|0;if(p|0){f[q>>2]=f[p>>2];k=y+284|0;f[k>>2]=(f[k>>2]|0)+1;break F}q=y+296|0;p=f[q>>2]|0;if(!p){p=y+292|0;break}else{f[q>>2]=f[p>>2];k=y+284|0;f[k>>2]=(f[k>>2]|0)+1;break F}}else p=y+288|0;while(0);f[p>>2]=(f[p>>2]|0)+1}p=Dc(y,w,0)|0}while(0);f[z>>2]=p}else p=f[z>>2]|0;if(p|0)f[p+(B<<2)>>2]=-1;v=~B;u=oa+136|0;p=f[u>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(p|0)){f[u>>2]=p+1;k=f[oa+88>>2]|0;b[k+(p*20|0)>>0]=36;d[k+(p*20|0)+2>>1]=0;f[k+(p*20|0)+4>>2]=Y;f[k+(p*20|0)+8>>2]=I;f[k+(p*20|0)+12>>2]=0;f[k+(p*20|0)+16>>2]=0;b[k+(p*20|0)+1>>0]=0}else tl(oa,36,Y,I,0)|0;p=f[u>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(p|0)){f[u>>2]=p+1;q=f[oa+88>>2]|0;b[q+(p*20|0)>>0]=-128;d[q+(p*20|0)+2>>1]=0;f[q+(p*20|0)+4>>2]=Y;f[q+(p*20|0)+8>>2]=N;f[q+(p*20|0)+12>>2]=0;f[q+(p*20|0)+16>>2]=0;b[q+(p*20|0)+1>>0]=0;q=p}else q=tl(oa,128,Y,N,0)|0;p=f[u>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(p|0)){f[u>>2]=p+1;k=f[oa+88>>2]|0;b[k+(p*20|0)>>0]=28;d[k+(p*20|0)+2>>1]=0;f[k+(p*20|0)+4>>2]=o;f[k+(p*20|0)+8>>2]=v;f[k+(p*20|0)+12>>2]=N;f[k+(p*20|0)+16>>2]=0;b[k+(p*20|0)+1>>0]=0}else p=tl(oa,28,o,v,N)|0;if(b[(f[oa>>2]|0)+81>>0]|0){Q=q;P=v;break D}Q=f[oa+88>>2]|0;b[Q+(p*20|0)+1>>0]=-3;f[Q+(p*20|0)+16>>2]=0;Q=q;P=v;break D}while(0);do if((Aa|0)==530){p=f[q>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(p|0)){f[q>>2]=p+1;Aa=f[oa+88>>2]|0;b[Aa+(p*20|0)>>0]=28;d[Aa+(p*20|0)+2>>1]=0;f[Aa+(p*20|0)+4>>2]=o;f[Aa+(p*20|0)+8>>2]=I;f[Aa+(p*20|0)+12>>2]=N;f[Aa+(p*20|0)+16>>2]=0;b[Aa+(p*20|0)+1>>0]=0}else p=tl(oa,28,o,I,N)|0;if(b[(f[oa>>2]|0)+81>>0]|0){Aa=535;break}Aa=f[oa+88>>2]|0;b[Aa+(p*20|0)+1>>0]=-3;f[Aa+(p*20|0)+16>>2]=O;Aa=535}while(0);if((Aa|0)==535)if((W|0)==1)v=I;else Aa=536;if((Aa|0)==536){p=f[$>>2]|0;z=p+60|0;B=f[z>>2]|0;f[z>>2]=B+1;z=p+64|0;if(!(B+-1&B)){w=B<<3|4;y=f[p>>2]|0;p=f[z>>2]|0;G:do if(p){u=p;v=y+304|0;do if((f[v>>2]|0)>>>0<=u>>>0){if((f[y+308>>2]|0)>>>0<=u>>>0)break;if(!(0<0|(0==0?(j[y+276>>1]|0)>>>0>>0:0)))break G}while(0);q=Lc(y,p,w,0)|0;if(q|0){p=q;break}if(f[y+480>>2]|0){Kc(y,p);p=0;break}do if((f[v>>2]|0)>>>0<=u>>>0){if((f[y+308>>2]|0)>>>0<=u>>>0)break;k=y+300|0;f[p>>2]=f[k>>2];f[k>>2]=p;p=0;break G}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](p);p=0;break}else{k=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);p=0;break}}else{if(f[y+272>>2]|0){if(b[y+81>>0]|0){p=0;break}}else{do if(!(0<0|(0==0?(j[y+276>>1]|0)>>>0>>0:0))){q=y+300|0;p=f[q>>2]|0;if(p|0){f[q>>2]=f[p>>2];k=y+284|0;f[k>>2]=(f[k>>2]|0)+1;break G}q=y+296|0;p=f[q>>2]|0;if(!p){p=y+292|0;break}else{f[q>>2]=f[p>>2];k=y+284|0;f[k>>2]=(f[k>>2]|0)+1;break G}}else p=y+288|0;while(0);f[p>>2]=(f[p>>2]|0)+1}p=Dc(y,w,0)|0}while(0);f[z>>2]=p}else p=f[z>>2]|0;if(p|0)f[p+(B<<2)>>2]=-1;v=~B}p=(n|0)==0?ma:N;q=oa+136|0;u=f[q>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(u|0)){f[q>>2]=u+1;Q=f[oa+88>>2]|0;b[Q+(u*20|0)>>0]=50;d[Q+(u*20|0)+2>>1]=0;f[Q+(u*20|0)+4>>2]=p;f[Q+(u*20|0)+8>>2]=I;f[Q+(u*20|0)+12>>2]=0;f[Q+(u*20|0)+16>>2]=0;b[Q+(u*20|0)+1>>0]=0;Q=0;P=v;break}else{tl(oa,50,p,I,0)|0;Q=0;P=v;break}}else{Q=0;P=I}while(0);J=R<<24>>24==0;do if(!J){do if(V){if((b[V>>0]|0)!=-92){v=xl(a,V,A)|0;Aa=624;break}v=f[qa>>2]|0;p=f[V+28>>2]|0;q=v+136|0;u=f[q>>2]|0;if((f[(f[v+12>>2]|0)+48>>2]|0)>(u|0)){f[q>>2]=u+1;k=f[v+88>>2]|0;b[k+(u*20|0)>>0]=78;d[k+(u*20|0)+2>>1]=0;f[k+(u*20|0)+4>>2]=p;f[k+(u*20|0)+8>>2]=A;f[k+(u*20|0)+12>>2]=0;f[k+(u*20|0)+16>>2]=0;b[k+(u*20|0)+1>>0]=0;break}else{tl(v,78,p,A,0)|0;break}}else{v=xl(a,0,A)|0;Aa=624}while(0);do if((Aa|0)==624){if((v|0)==(A|0))break;p=f[qa>>2]|0;if(!p)break;q=p+136|0;u=f[q>>2]|0;if((f[(f[p+12>>2]|0)+48>>2]|0)>(u|0)){f[q>>2]=u+1;k=f[p+88>>2]|0;b[k+(u*20|0)>>0]=79;d[k+(u*20|0)+2>>1]=0;f[k+(u*20|0)+4>>2]=v;f[k+(u*20|0)+8>>2]=A;f[k+(u*20|0)+12>>2]=0;f[k+(u*20|0)+16>>2]=0;b[k+(u*20|0)+1>>0]=0;break}else{tl(p,79,v,A,0)|0;break}}while(0);p=oa+136|0;q=f[p>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(q|0)){f[p>>2]=q+1;k=f[oa+88>>2]|0;b[k+(q*20|0)>>0]=15;d[k+(q*20|0)+2>>1]=0;f[k+(q*20|0)+4>>2]=A;f[k+(q*20|0)+8>>2]=0;f[k+(q*20|0)+12>>2]=0;f[k+(q*20|0)+16>>2]=0;b[k+(q*20|0)+1>>0]=0;break}else{tl(oa,15,A,0,0)|0;break}}while(0);H:do if(L|(S<<24>>24!=0|ka)){if(ka)G=eo(a,Ba)|0;else G=0;I=(e|0)==0;K=I?117:118;H=(l|0)==0;I:do if(H)p=0;else{if(I){p=0;u=l;while(1){do if((K|0)==(h[u+8>>0]|0)){if(!(b[u+9>>0]&3))break;q=f[ua>>2]|0;q=f[((q|0)==0?a:q)+256>>2]|0;J:do if(!q)Aa=647;else while(1){if((f[q>>2]|0)==(u|0)?(f[q+12>>2]|0)==(i|0):0)break J;q=f[q+4>>2]|0;if(!q){Aa=647;break}}while(0);if((Aa|0)==647){Aa=0;q=ln(a,u,Ba,i)|0;if(!q)break}p=f[q+16>>2]|p}while(0);u=f[u+32>>2]|0;if(!u)break I}}p=0;F=l;do{K:do if((K|0)==(h[F+8>>0]|0)){if(!(b[F+9>>0]&3))break;q=f[F+16>>2]|0;L:do if(q|0){E=f[e>>2]|0;if((E|0)<=0)break K;D=f[q+4>>2]|0;if((D|0)<=0)break K;z=f[q>>2]|0;w=0;while(1){B=f[e+4+(w*20|0)+4>>2]|0;C=h[1232+(h[B>>0]|0)>>0]|0;y=0;do{u=f[z+(y<<3)>>2]|0;k=b[u>>0]|0;q=(h[1232+(k&255)>>0]|0)-C|0;if(!(k<<24>>24==0|(q|0)!=0)){v=B;do{u=u+1|0;v=v+1|0;k=b[u>>0]|0;q=(h[1232+(k&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(q|0)!=0))}if(!q)break L;y=y+1|0}while((y|0)<(D|0));w=w+1|0;if((w|0)>=(E|0))break K}}while(0);q=f[ua>>2]|0;q=f[((q|0)==0?a:q)+256>>2]|0;M:do if(!q)Aa=668;else while(1){if((f[q>>2]|0)==(F|0)?(f[q+12>>2]|0)==(i|0):0)break M;q=f[q+4>>2]|0;if(!q){Aa=668;break}}while(0);if((Aa|0)==668){Aa=0;q=ln(a,F,Ba,i)|0;if(!q)break}p=f[q+16>>2]|p}while(0);F=f[F+32>>2]|0}while((F|0)!=0)}while(0);q=p|G;N:do if((d[xa>>1]|0)>0){u=Ba+4|0;v=oa+136|0;w=oa+88|0;if((q|0)==-1){p=0;while(1){Am(oa,Ba,o,p,p+M|0);p=p+1|0;if((p|0)>=(d[xa>>1]|0))break N}}p=0;do{if(p>>>0<32?(1<>2]|0)+(p<<4)+15>>0]&1){Aa=679;break}y=p+M|0;z=f[v>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(z|0)){f[v>>2]=z+1;k=f[w>>2]|0;b[k+(z*20|0)>>0]=73;d[k+(z*20|0)+2>>1]=0;f[k+(z*20|0)+4>>2]=0;f[k+(z*20|0)+8>>2]=y;f[k+(z*20|0)+12>>2]=0;f[k+(z*20|0)+16>>2]=0;b[k+(z*20|0)+1>>0]=0;break}else{tl(oa,73,0,y,0)|0;break}}while(0);if((Aa|0)==679){Aa=0;Am(oa,Ba,o,p,p+M|0)}p=p+1|0}while((p|0)<(d[xa>>1]|0))}while(0);do if((n|0)==0&J){n=oa+136|0;p=f[n>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(p|0)){f[n>>2]=p+1;n=f[oa+88>>2]|0;b[n+(p*20|0)>>0]=78;d[n+(p*20|0)+2>>1]=0;f[n+(p*20|0)+4>>2]=ma;f[n+(p*20|0)+8>>2]=A;f[n+(p*20|0)+12>>2]=0;f[n+(p*20|0)+16>>2]=0;b[n+(p*20|0)+1>>0]=0;n=0;break}else{tl(oa,78,ma,A,0)|0;n=0;break}}while(0);if(H){p=0;G=1;break}if(I){p=0;u=l;while(1){do if((K|0)==(h[u+8>>0]|0)){if(!(b[u+9>>0]&1))break;q=f[ua>>2]|0;q=f[((q|0)==0?a:q)+256>>2]|0;O:do if(!q)Aa=699;else while(1){if((f[q>>2]|0)==(u|0)?(f[q+12>>2]|0)==(i|0):0)break O;q=f[q+4>>2]|0;if(!q){Aa=699;break}}while(0);if((Aa|0)==699){Aa=0;q=ln(a,u,Ba,i)|0;if(!q)break}p=f[q+20>>2]|p}while(0);u=f[u+32>>2]|0;if(!u){I=1;G=0;break H}}}p=0;F=l;while(1){P:do if((K|0)==(h[F+8>>0]|0)){if(!(b[F+9>>0]&1))break;q=f[F+16>>2]|0;Q:do if(q|0){E=f[e>>2]|0;if((E|0)<=0)break P;D=f[q+4>>2]|0;if((D|0)<=0)break P;z=f[q>>2]|0;w=0;while(1){B=f[e+4+(w*20|0)+4>>2]|0;C=h[1232+(h[B>>0]|0)>>0]|0;y=0;do{u=f[z+(y<<3)>>2]|0;k=b[u>>0]|0;q=(h[1232+(k&255)>>0]|0)-C|0;if(!(k<<24>>24==0|(q|0)!=0)){v=B;do{u=u+1|0;v=v+1|0;k=b[u>>0]|0;q=(h[1232+(k&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(q|0)!=0))}if(!q)break Q;y=y+1|0}while((y|0)<(D|0));w=w+1|0;if((w|0)>=(E|0))break P}}while(0);q=f[ua>>2]|0;q=f[((q|0)==0?a:q)+256>>2]|0;R:do if(!q)Aa=720;else while(1){if((f[q>>2]|0)==(F|0)?(f[q+12>>2]|0)==(i|0):0)break R;q=f[q+4>>2]|0;if(!q){Aa=720;break}}while(0);if((Aa|0)==720){Aa=0;q=ln(a,F,Ba,i)|0;if(!q)break}p=f[q+20>>2]|p}while(0);F=f[F+32>>2]|0;if(!F){I=0;G=0;break}}}else{p=0;I=(e|0)==0;G=1}while(0);if((d[xa>>1]|0)>0){C=Ba+40|0;D=oa+136|0;E=oa+88|0;m=m&1;B=(m|0)==0;z=0;do{S:do if((z|0)==(d[C>>1]|0)){q=z+x|0;u=f[D>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(u|0)){f[D>>2]=u+1;k=f[E>>2]|0;b[k+(u*20|0)>>0]=73;d[k+(u*20|0)+2>>1]=0;f[k+(u*20|0)+4>>2]=0;f[k+(u*20|0)+8>>2]=q;f[k+(u*20|0)+12>>2]=0;f[k+(u*20|0)+16>>2]=0;b[k+(u*20|0)+1>>0]=0;break}else{tl(oa,73,0,q,0)|0;break}}else{q=f[r+(z<<2)>>2]|0;if((q|0)<=-1){do if(!(B|z>>>0>31)){if(1<>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(u|0)){f[D>>2]=u+1;k=f[E>>2]|0;b[k+(u*20|0)>>0]=73;d[k+(u*20|0)+2>>1]=0;f[k+(u*20|0)+4>>2]=0;f[k+(u*20|0)+8>>2]=q;f[k+(u*20|0)+12>>2]=0;f[k+(u*20|0)+16>>2]=0;b[k+(u*20|0)+1>>0]=0;break S}else{tl(oa,73,0,q,0)|0;break S}}while(0);Am(oa,Ba,o,z,z+x|0);break}q=f[e+4+(q*20|0)>>2]|0;y=z+x|0;do if(q){if((b[q>>0]|0)!=-92){w=xl(a,q,y)|0;break}w=f[qa>>2]|0;q=f[q+28>>2]|0;u=w+136|0;v=f[u>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(v|0)){f[u>>2]=v+1;k=f[w+88>>2]|0;b[k+(v*20|0)>>0]=78;d[k+(v*20|0)+2>>1]=0;f[k+(v*20|0)+4>>2]=q;f[k+(v*20|0)+8>>2]=y;f[k+(v*20|0)+12>>2]=0;f[k+(v*20|0)+16>>2]=0;b[k+(v*20|0)+1>>0]=0;break S}else{tl(w,78,q,y,0)|0;break S}}else w=xl(a,0,y)|0;while(0);if((w|0)==(y|0))break;q=f[qa>>2]|0;if(!q)break;u=q+136|0;v=f[u>>2]|0;if((f[(f[q+12>>2]|0)+48>>2]|0)>(v|0)){f[u>>2]=v+1;k=f[q+88>>2]|0;b[k+(v*20|0)>>0]=79;d[k+(v*20|0)+2>>1]=0;f[k+(v*20|0)+4>>2]=w;f[k+(v*20|0)+8>>2]=y;f[k+(v*20|0)+12>>2]=0;f[k+(v*20|0)+16>>2]=0;b[k+(v*20|0)+1>>0]=0;break}else{tl(q,79,w,y,0)|0;break}}while(0);z=z+1|0}while((z|0)<(d[xa>>1]|0))}else m=m&1;do if(m|0){kn(oa,Ba,x);if(!G){E=a+23|0;F=a+44|0;D=l;do{T:do if((b[D+8>>0]|0)==118){if((b[D+9>>0]|0)!=1)break;m=f[D+16>>2]|0;U:do if(!(I|(m|0)==0)){C=f[e>>2]|0;if((C|0)<=0)break T;B=f[m+4>>2]|0;if((B|0)<=0)break T;w=f[m>>2]|0;u=0;while(1){y=f[e+4+(u*20|0)+4>>2]|0;z=h[1232+(h[y>>0]|0)>>0]|0;v=0;do{p=f[w+(v<<3)>>2]|0;k=b[p>>0]|0;m=(h[1232+(k&255)>>0]|0)-z|0;if(!(k<<24>>24==0|(m|0)!=0)){q=y;do{p=p+1|0;q=q+1|0;k=b[p>>0]|0;m=(h[1232+(k&255)>>0]|0)-(h[1232+(h[q>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(m|0)!=0))}if(!m)break U;v=v+1|0}while((v|0)<(B|0));u=u+1|0;if((u|0)>=(C|0))break T}}while(0);m=f[qa>>2]|0;if(!m){do if(!(f[ua>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[E>>0]=1}while(0);m=sl(a)|0}p=f[ua>>2]|0;p=f[((p|0)==0?a:p)+256>>2]|0;V:do if(!p)Aa=776;else while(1){if((f[p>>2]|0)==(D|0)?(f[p+12>>2]|0)==(i|0):0)break V;p=f[p+4>>2]|0;if(!p){Aa=776;break}}while(0);if((Aa|0)==776){Aa=0;p=ln(a,D,Ba,i)|0;if(!p)break}if(!(f[D>>2]|0))y=0;else{y=(f[a>>2]|0)+32|0;y=VA(f[y>>2]|0,f[y+4>>2]|0,13)|0;ba()|0;y=y&1^1}q=(f[F>>2]|0)+1|0;f[F>>2]=q;v=f[p+8>>2]|0;w=m+136|0;p=f[w>>2]|0;if((f[(f[m+12>>2]|0)+48>>2]|0)>(p|0)){f[w>>2]=p+1;k=f[m+88>>2]|0;b[k+(p*20|0)>>0]=45;d[k+(p*20|0)+2>>1]=0;f[k+(p*20|0)+4>>2]=ma;f[k+(p*20|0)+8>>2]=P;f[k+(p*20|0)+12>>2]=q;f[k+(p*20|0)+16>>2]=0;b[k+(p*20|0)+1>>0]=0}else p=tl(m,45,ma,P,q)|0;do if(!(b[(f[m>>2]|0)+81>>0]|0)){if((p|0)<0)p=(f[w>>2]|0)+-1|0;q=f[m+88>>2]|0;u=q+(p*20|0)+1|0;if(b[u>>0]|0){ul(m,q+(p*20|0)|0,v,-4);break}if(!v)break;f[q+(p*20|0)+16>>2]=v;b[u>>0]=-4}while(0);p=f[w>>2]|0;if((p|0)<=0)break;d[(f[m+88>>2]|0)+((p+-1|0)*20|0)+2>>1]=y}while(0);D=f[D+32>>2]|0}while((D|0)!=0)}p=oa+136|0;m=f[p>>2]|0;q=(f[(f[$>>2]|0)+48>>2]|0)>(m|0);do if(!n)if(q){f[p>>2]=m+1;k=f[oa+88>>2]|0;b[k+(m*20|0)>>0]=31;d[k+(m*20|0)+2>>1]=0;f[k+(m*20|0)+4>>2]=o;f[k+(m*20|0)+8>>2]=P;f[k+(m*20|0)+12>>2]=ma;f[k+(m*20|0)+16>>2]=0;b[k+(m*20|0)+1>>0]=0;break}else{tl(oa,31,o,P,ma)|0;break}else{if(q){f[p>>2]=m+1;k=f[oa+88>>2]|0;b[k+(m*20|0)>>0]=28;d[k+(m*20|0)+2>>1]=0;f[k+(m*20|0)+4>>2]=o;f[k+(m*20|0)+8>>2]=P;f[k+(m*20|0)+12>>2]=N;f[k+(m*20|0)+16>>2]=0;b[k+(m*20|0)+1>>0]=0}else m=tl(oa,28,o,P,N)|0;if(b[(f[oa>>2]|0)+81>>0]|0)break;k=f[oa+88>>2]|0;b[k+(m*20|0)+1>>0]=-3;f[k+(m*20|0)+16>>2]=O}while(0);m=d[xa>>1]|0;if(m<<16>>16<=0)break;q=Ba+40|0;p=0;do{do if((f[r+(p<<2)>>2]|0)<0){if((p|0)==(d[q>>1]|0))break;Am(oa,Ba,o,p,p+x|0);m=d[xa>>1]|0}while(0);p=p+1|0}while((p|0)<(m<<16>>16|0))}while(0);do if(!wa){mn(a,Ba,va,o,s,A,ma,pa,i&255,P,za,r,0);if(ka)nn(a,Ba,ma,0,r,ta);u=(ta|0)==0;v=(f[za>>2]|ta|0)==0;do if(v)q=0;else{p=oa+136|0;m=f[p>>2]|0;q=(f[(f[$>>2]|0)+48>>2]|0)>(m|0);if(!n)if(q){f[p>>2]=m+1;q=f[oa+88>>2]|0;b[q+(m*20|0)>>0]=31;d[q+(m*20|0)+2>>1]=0;f[q+(m*20|0)+4>>2]=o;f[q+(m*20|0)+8>>2]=0;f[q+(m*20|0)+12>>2]=ma;f[q+(m*20|0)+16>>2]=0;b[q+(m*20|0)+1>>0]=0;q=m;break}else{q=tl(oa,31,o,0,ma)|0;break}if(q){f[p>>2]=m+1;za=f[oa+88>>2]|0;b[za+(m*20|0)>>0]=28;d[za+(m*20|0)+2>>1]=0;f[za+(m*20|0)+4>>2]=o;f[za+(m*20|0)+8>>2]=0;f[za+(m*20|0)+12>>2]=N;f[za+(m*20|0)+16>>2]=0;b[za+(m*20|0)+1>>0]=0}else m=tl(oa,28,o,0,N)|0;if(b[(f[oa>>2]|0)+81>>0]|0){q=m;break}q=f[oa+88>>2]|0;b[q+(m*20|0)+1>>0]=-3;f[q+(m*20|0)+16>>2]=O;q=m}while(0);co(a,Ba,o,s,va,-1);do if(!(u&(la|0)<2)){m=oa+136|0;p=f[m>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(p|0)){f[m>>2]=p+1;za=f[oa+88>>2]|0;b[za+(p*20|0)>>0]=124;d[za+(p*20|0)+2>>1]=0;f[za+(p*20|0)+4>>2]=o;f[za+(p*20|0)+8>>2]=0;f[za+(p*20|0)+12>>2]=0;f[za+(p*20|0)+16>>2]=0;b[za+(p*20|0)+1>>0]=0;break}else{tl(oa,124,o,0,0)|0;break}}while(0);if(!v){p=f[oa+136>>2]|0;if(!(b[(f[oa>>2]|0)+81>>0]|0))m=(f[oa+88>>2]|0)+(((q|0)<0?p+-1|0:q)*20|0)|0;else m=72144;f[m+8>>2]=p}if(!ka){on(a,Ba,o,s,A,va,(W|0)==2?6:4,0,0);break}nn(a,Ba,0,A,r,ta);on(a,Ba,o,s,A,va,(W|0)==2?6:4,0,0);if(0==0?(f[(f[a>>2]|0)+32>>2]&16384|0)==0:0)break;v=f[Ba>>2]|0;q=f[ya>>2]|0;s=f[q+68>>2]|0;if(!s){o=q+60|0;m=q+64|0}else{o=b[v>>0]|0;if(!(o<<24>>24))m=0;else{m=0;p=v;do{p=p+1|0;m=U(m+(h[1232+(o&255)>>0]|0)|0,-1640531535)|0;o=b[p>>0]|0}while(o<<24>>24!=0)}m=(m>>>0)%((f[q+56>>2]|0)>>>0)|0;o=s+(m<<3)|0;m=s+(m<<3)+4|0}o=f[o>>2]|0;W:do if(!o)m=72124;else{u=h[1232+(h[v>>0]|0)>>0]|0;while(1){m=f[m>>2]|0;o=o+-1|0;q=f[m+12>>2]|0;za=b[q>>0]|0;p=(h[1232+(za&255)>>0]|0)-u|0;if(!(za<<24>>24==0|(p|0)!=0)){s=v;do{q=q+1|0;s=s+1|0;za=b[q>>0]|0;p=(h[1232+(za&255)>>0]|0)-(h[1232+(h[s>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(p|0)!=0))}if(!p)break W;if(!o){m=72124;break}}}while(0);m=f[m+8>>2]|0;if(!m)break;x=a+23|0;y=a+44|0;do{do if(qn(Ba,m,r,ta)|0){q=fo(a,Ba,m,e)|0;if(!q)break;o=f[qa>>2]|0;if(!o){do if(!(f[ua>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[x>>0]=1}while(0);o=sl(a)|0}p=f[ua>>2]|0;p=f[((p|0)==0?a:p)+256>>2]|0;X:do if(!p)Aa=857;else while(1){if((f[p>>2]|0)==(q|0)?(f[p+12>>2]|0)==2:0)break X;p=f[p+4>>2]|0;if(!p){Aa=857;break}}while(0);if((Aa|0)==857){Aa=0;p=ln(a,q,Ba,2)|0;if(!p)break}if(!(f[q>>2]|0))w=0;else{w=(f[a>>2]|0)+32|0;w=VA(f[w>>2]|0,f[w+4>>2]|0,13)|0;ba()|0;w=w&1^1}q=(f[y>>2]|0)+1|0;f[y>>2]=q;u=f[p+8>>2]|0;v=o+136|0;p=f[v>>2]|0;if((f[(f[o+12>>2]|0)+48>>2]|0)>(p|0)){f[v>>2]=p+1;za=f[o+88>>2]|0;b[za+(p*20|0)>>0]=45;d[za+(p*20|0)+2>>1]=0;f[za+(p*20|0)+4>>2]=ma;f[za+(p*20|0)+8>>2]=0;f[za+(p*20|0)+12>>2]=q;f[za+(p*20|0)+16>>2]=0;b[za+(p*20|0)+1>>0]=0}else p=tl(o,45,ma,0,q)|0;do if(!(b[(f[o>>2]|0)+81>>0]|0)){if((p|0)<0)p=(f[v>>2]|0)+-1|0;q=f[o+88>>2]|0;s=q+(p*20|0)+1|0;if(b[s>>0]|0){ul(o,q+(p*20|0)|0,u,-4);break}if(!u)break;f[q+(p*20|0)+16>>2]=u;b[s>>0]=-4}while(0);p=f[v>>2]|0;if((p|0)<=0)break;d[(f[o+88>>2]|0)+((p+-1|0)*20|0)+2>>1]=w}while(0);m=f[m+12>>2]|0}while((m|0)!=0)}while(0);B=(Z|0)!=0;do if(B){m=oa+136|0;o=f[m>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;za=f[oa+88>>2]|0;b[za+(o*20|0)>>0]=83;d[za+(o*20|0)+2>>1]=0;f[za+(o*20|0)+4>>2]=Z;f[za+(o*20|0)+8>>2]=1;f[za+(o*20|0)+12>>2]=0;f[za+(o*20|0)+16>>2]=0;b[za+(o*20|0)+1>>0]=0;break}else{tl(oa,83,Z,1,0)|0;break}}while(0);if(!G){z=a+23|0;A=a+44|0;do{Y:do if((b[l+8>>0]|0)==118){if((b[l+9>>0]|0)!=2)break;m=f[l+16>>2]|0;Z:do if(!(I|(m|0)==0)){y=f[e>>2]|0;if((y|0)<=0)break Y;x=f[m+4>>2]|0;if((x|0)<=0)break Y;u=f[m>>2]|0;q=0;while(1){v=f[e+4+(q*20|0)+4>>2]|0;w=h[1232+(h[v>>0]|0)>>0]|0;s=0;do{o=f[u+(s<<3)>>2]|0;za=b[o>>0]|0;m=(h[1232+(za&255)>>0]|0)-w|0;if(!(za<<24>>24==0|(m|0)!=0)){p=v;do{o=o+1|0;p=p+1|0;za=b[o>>0]|0;m=(h[1232+(za&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(m|0)!=0))}if(!m)break Z;s=s+1|0}while((s|0)<(x|0));q=q+1|0;if((q|0)>=(y|0))break Y}}while(0);m=f[qa>>2]|0;if(!m){do if(!(f[ua>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[z>>0]=1}while(0);m=sl(a)|0}o=f[ua>>2]|0;o=f[((o|0)==0?a:o)+256>>2]|0;_:do if(!o)Aa=903;else while(1){if((f[o>>2]|0)==(l|0)?(f[o+12>>2]|0)==(i|0):0)break _;o=f[o+4>>2]|0;if(!o){Aa=903;break}}while(0);if((Aa|0)==903){Aa=0;o=ln(a,l,Ba,i)|0;if(!o)break}if(!(f[l>>2]|0))v=0;else{v=(f[a>>2]|0)+32|0;v=VA(f[v>>2]|0,f[v+4>>2]|0,13)|0;ba()|0;v=v&1^1}p=(f[A>>2]|0)+1|0;f[A>>2]=p;s=f[o+8>>2]|0;u=m+136|0;o=f[u>>2]|0;if((f[(f[m+12>>2]|0)+48>>2]|0)>(o|0)){f[u>>2]=o+1;za=f[m+88>>2]|0;b[za+(o*20|0)>>0]=45;d[za+(o*20|0)+2>>1]=0;f[za+(o*20|0)+4>>2]=ma;f[za+(o*20|0)+8>>2]=P;f[za+(o*20|0)+12>>2]=p;f[za+(o*20|0)+16>>2]=0;b[za+(o*20|0)+1>>0]=0}else o=tl(m,45,ma,P,p)|0;do if(!(b[(f[m>>2]|0)+81>>0]|0)){if((o|0)<0)o=(f[u>>2]|0)+-1|0;p=f[m+88>>2]|0;q=p+(o*20|0)+1|0;if(b[q>>0]|0){ul(m,p+(o*20|0)|0,s,-4);break}if(!s)break;f[p+(o*20|0)+16>>2]=s;b[q>>0]=-4}while(0);o=f[u>>2]|0;if((o|0)<=0)break;d[(f[m+88>>2]|0)+((o+-1|0)*20|0)+2>>1]=v}while(0);l=f[l+32>>2]|0}while((l|0)!=0)}$:do switch(W|0){case 1:break;case 2:{l=f[(f[$>>2]|0)+64>>2]|0;if(l|0)f[l+(~P<<2)>>2]=f[oa+136>>2];tn(X);break}default:{if(!n){l=oa+136|0;m=f[l>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;i=f[oa+88>>2]|0;b[i+(m*20|0)>>0]=11;d[i+(m*20|0)+2>>1]=0;f[i+(m*20|0)+4>>2]=0;f[i+(m*20|0)+8>>2]=P;f[i+(m*20|0)+12>>2]=0;f[i+(m*20|0)+16>>2]=0;b[i+(m*20|0)+1>>0]=0;break $}else{tl(oa,11,0,P,0)|0;break $}}n=f[$>>2]|0;l=f[n+64>>2]|0;m=oa+136|0;if(l|0)f[l+(~P<<2)>>2]=f[m>>2];l=f[m>>2]|0;if((f[n+48>>2]|0)>(l|0)){f[m>>2]=l+1;i=f[oa+88>>2]|0;b[i+(l*20|0)>>0]=5;d[i+(l*20|0)+2>>1]=0;f[i+(l*20|0)+4>>2]=Y;f[i+(l*20|0)+8>>2]=Q;f[i+(l*20|0)+12>>2]=0;f[i+(l*20|0)+16>>2]=0;b[i+(l*20|0)+1>>0]=0;break $}else{tl(oa,5,Y,Q,0)|0;break $}}}while(0);l=f[(f[$>>2]|0)+64>>2]|0;if(l|0)f[l+(_<<2)>>2]=f[oa+136>>2];do if(!(b[na>>0]|0)){if(!(T&(f[a+120>>2]|0)==0))break;if(!(f[a+112>>2]|0))break;jn(a)}while(0);if(!B)break;l=oa+136|0;m=f[l>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;a=f[oa+88>>2]|0;b[a+(m*20|0)>>0]=81;d[a+(m*20|0)+2>>1]=0;f[a+(m*20|0)+4>>2]=Z;f[a+(m*20|0)+8>>2]=1;f[a+(m*20|0)+12>>2]=0;f[a+(m*20|0)+16>>2]=0;b[a+(m*20|0)+1>>0]=0}else tl(oa,81,Z,1,0)|0;Mi(oa,1);if(b[(f[oa>>2]|0)+81>>0]|0)break;$e(f[oa+100>>2]|0,57091,-1,1,0)|0}while(0);if(!sa){Aa=946;break}f[sa+236>>2]=ra;Aa=946}while(0);if((Aa|0)==946?Ca|0:0)Aa=947;do if((Aa|0)==947){if(f[Ca+480>>2]|0){Kc(Ca,r);break a}l=r;if((f[Ca+304>>2]|0)>>>0<=l>>>0){if((f[Ca+308>>2]|0)>>>0<=l>>>0)break;a=Ca+300|0;f[r>>2]=f[a>>2];f[a>>2]=r;break a}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{a=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}}}}while(0);ng(Ca,c);if(e|0)jg(Ca,e);if(!g){t=Da;return}ig(Ca,g);t=Da;return}function Pl(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+16|0;o=u+8|0;k=u;s=f[a>>2]|0;if(!c)p=0;else p=f[c>>2]|0;q=(e|0)==0;h=(g|0)==0;do if(q|h){if(!h)r=40}else{l=b[g>>0]|0;n=e+4|0;h=f[n>>2]|0;switch(l<<24>>24){case 127:break;case -92:{i=b[g+38>>0]|0;r=6;break}default:{i=l;r=6}}if((r|0)==6){switch(i<<24>>24){case -91:{i=g+20|0;r=9;break}case 127:{i=f[g+20>>2]|0;r=9;break}default:i=1}if((r|0)==9)i=f[f[i>>2]>>2]|0;if((h|0)!=(i|0)){f[k>>2]=h;f[k+4>>2]=i;ni(a,57042,k);r=40;break}}a:do if((h|0)>0){m=g+20|0;i=0;h=l;while(1){b:do switch(h<<24>>24){case 127:{l=f[a>>2]|0;c:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))r=25;else{h=0;break b}else{do if((j[l+276>>1]|0)>=48){k=l+300|0;h=f[k>>2]|0;if(h|0){f[k>>2]=f[h>>2];l=l+284|0;f[l>>2]=(f[l>>2]|0)+1;break c}k=l+296|0;h=f[k>>2]|0;if(!h){h=l+292|0;break}else{f[k>>2]=f[h>>2];l=l+284|0;f[l>>2]=(f[l>>2]|0)+1;break c}}else h=l+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1;r=25}while(0);if((r|0)==25){r=0;h=Dc(l,48,0)|0}if(!h)h=0;else{k=h;l=k+48|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[h>>0]=-90;d[h+34>>1]=-1;jl(h);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)<(f[h+24>>2]|0)){f[o>>2]=k;ni(a,42710,o)}d[h+32>>1]=i;f[h+12>>2]=g}break}case -91:{h=f[(f[m>>2]|0)+4+(i*20|0)>>2]|0;if(!h)h=0;else r=31;break}default:{h=g;r=31}}while(0);if((r|0)==31){r=0;h=Bk(f[a>>2]|0,h,0,0)|0}c=ml(f[a>>2]|0,c,h)|0;if(c|0){l=(f[e>>2]|0)+(i<<3)|0;f[c+4+(((f[c>>2]|0)+-1|0)*20|0)+4>>2]=f[l>>2];f[l>>2]=0}i=i+1|0;h=f[n>>2]|0;if((i|0)>=(h|0))break a;h=b[g>>0]|0}}while(0);if((b[s+81>>0]|0)==0?(c|0)!=0&(b[g>>0]|0)==127:0){p=f[c+4+(p*20|0)>>2]|0;f[p+16>>2]=g;f[p+28>>2]=h}else r=40}while(0);if((r|0)==40)ig(s,g);if(q){t=u;return c|0}a=e+4|0;h=f[e>>2]|0;d:do if((f[a>>2]|0)>0){k=s+480|0;l=s+304|0;m=s+308|0;n=s+300|0;if(!s){i=0;while(1){h=f[h+(i<<3)>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{r=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);i=i+1|0;h=f[e>>2]|0;if((i|0)>=(f[a>>2]|0))break d}}i=0;do{h=f[h+(i<<3)>>2]|0;do if(h|0){if(f[k>>2]|0){Kc(s,h);break}r=h;if((f[l>>2]|0)>>>0<=r>>>0?(f[m>>2]|0)>>>0>r>>>0:0){f[h>>2]=f[n>>2];f[n>>2]=h;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{r=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}}while(0);i=i+1|0;h=f[e>>2]|0}while((i|0)<(f[a>>2]|0))}while(0);e:do if(h){do if(s|0){i=s+480|0;if(!(f[i>>2]|0)){k=h;if((f[s+304>>2]|0)>>>0>k>>>0)break;if((f[s+308>>2]|0)>>>0<=k>>>0)break;r=s+300|0;f[h>>2]=f[r>>2];f[r>>2]=h}else Kc(s,h);h=i;r=74;break e}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](h);r=72;break}else{r=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);r=72;break}}else r=72;while(0);if((r|0)==72)if(s){h=s+480|0;r=74}if((r|0)==74){if(f[h>>2]|0){Kc(s,e);t=u;return c|0}r=e;if((f[s+304>>2]|0)>>>0<=r>>>0?(f[s+308>>2]|0)>>>0>r>>>0:0){s=s+300|0;f[e>>2]=f[s>>2];f[s>>2]=e;t=u;return c|0}}if(!e){t=u;return c|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);t=u;return c|0}else{s=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);t=u;return c|0}return 0} -function Ql(a,c,e,g,i,k){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;Ea=t;t=t+320|0;ka=Ea+216|0;da=Ea+208|0;aa=Ea+200|0;X=Ea+192|0;W=Ea+176|0;V=Ea+168|0;Q=Ea+152|0;O=Ea+144|0;N=Ea+136|0;C=Ea+128|0;y=Ea+120|0;u=Ea+112|0;s=Ea+104|0;q=Ea+96|0;ra=Ea+288|0;fa=Ea+256|0;ja=Ea;wa=Ea+252|0;va=Ea+248|0;S=Ea+224|0;f[wa>>2]=0;f[va>>2]=0;Da=f[a>>2]|0;T=a+36|0;do if((f[T>>2]|0)==0?($=Da+81|0,(b[$>>0]|0)==0):0){la=S+4|0;f[la>>2]=0;if(e)if((f[e+8>>2]&512|0)!=0?(f[e+52>>2]|0)==0:0){Ca=f[e>>2]|0;f[e>>2]=0;mg(Da,e,1);Ba=0}else{Ba=e;Ca=0}else{Ba=0;Ca=0}e=f[c+8>>2]|0;if(!e)l=c+12|0;else{m=f[(f[a>>2]|0)+16>>2]|0;l=0;while(1)if((f[m+(l<<4)+12>>2]|0)==(e|0))break;else l=l+1|0;l=m+(l<<4)|0}Aa=pi(a,0,f[c+16>>2]|0,f[l>>2]|0)|0;l=f[a>>2]|0;ca=c+24|0;e=f[ca>>2]|0;do if(e|0){if(l|0?f[l+480>>2]|0:0){hg(l,e);break}xa=e+32|0;ya=(f[xa>>2]|0)+-1|0;f[xa>>2]=ya;if(!ya)hg(l,e)}while(0);f[ca>>2]=Aa;a:do if(Aa){ya=Aa+32|0;f[ya>>2]=(f[ya>>2]|0)+1;b:do if(b[c+45>>0]&2){o=f[c+72>>2]|0;l=f[Aa+8>>2]|0;c:do if(l|0){p=h[1232+(h[o>>0]|0)>>0]|0;while(1){m=f[l>>2]|0;ya=b[m>>0]|0;e=(h[1232+(ya&255)>>0]|0)-p|0;if(!(ya<<24>>24==0|(e|0)!=0)){n=o;do{m=m+1|0;n=n+1|0;ya=b[m>>0]|0;e=(h[1232+(ya&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(ya<<24>>24==0|(e|0)!=0))}if(!e)break;l=f[l+20>>2]|0;if(!l)break c}f[c+76>>2]=l;break b}while(0);f[q>>2]=o;f[q+4>>2]=0;ni(a,50588,q);b[a+17>>0]=1;l=0;za=1020;break a}while(0);pa=Aa+72|0;e=f[pa>>2]|0;m=f[Da+16>>2]|0;if(!e)R=-1e6;else{l=0;while(1)if((f[m+(l<<4)+12>>2]|0)==(e|0)){R=l;break}else l=l+1|0}n=f[Aa>>2]|0;e=f[m+(R<<4)>>2]|0;l=f[a>>2]|0;if(((b[l+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(r=f[l+312>>2]|0,(r|0)!=0):0){l=nb[r&127](f[l+316>>2]|0,18,n,0,e,f[a+236>>2]|0)|0;if((l|0)==1){ni(a,49816,s);f[a+12>>2]=23;l=0;za=1020;break}if((l|2|0)!=2){ni(a,49831,u);f[a+12>>2]=1;l=0;za=1020;break}if(l|0){l=0;za=1020;break}l=f[a>>2]|0}P=Aa+36|0;na=(f[P>>2]|0)>>>5&1;do if(!(0==0?(f[l+32>>2]&262144|0)==0:0)?(v=f[(f[l+16>>2]|0)+28>>2]|0,(b[a+142>>0]|0)==0):0){r=f[pa>>2]|0;if((r|0)!=(v|0)?(w=f[v+48>>2]|0,(w|0)!=0):0){q=Aa+68|0;p=w;l=0;do{o=f[p+8>>2]|0;do if((f[o+24>>2]|0)==(r|0)){m=f[o+4>>2]|0;n=f[Aa>>2]|0;ya=b[m>>0]|0;e=(h[1232+(ya&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0;if(!(ya<<24>>24==0|(e|0)!=0))do{m=m+1|0;n=n+1|0;ya=b[m>>0]|0;e=(h[1232+(ya&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(ya<<24>>24==0|(e|0)!=0));if(e|0)break;if(!l)l=f[q>>2]|0;f[o+32>>2]=l;l=o}while(0);p=f[p>>2]|0}while((p|0)!=0);if(!l)za=56}else za=56;if((za|0)==56){l=f[Aa+68>>2]|0;if(!l){za=62;break}}e=0;m=l;do{if((b[m+8>>0]|0)==116)e=e|h[m+9>>0];m=f[m+32>>2]|0}while((m|0)!=0);if(e)u=l;else za=62}else za=62;while(0);if((za|0)==62){e=0;u=0}ma=(f[Aa+12>>2]|0)!=0;if((ki(a,Aa)|0)==0?(fn(a,Aa,e)|0)==0:0){ta=a+8|0;l=f[ta>>2]|0;if(!l){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;l=sl(a)|0;if(!l){l=0;za=1020;break}else ya=l}else ya=l;xa=a+18|0;if(!(b[xa>>0]|0)){ua=ya+145|0;sa=h[ua>>0]|h[ua+1>>0]<<8|32;b[ua>>0]=sa;b[ua+1>>0]=sa>>8}ua=(Ba|0)!=0;qa=(u|0)!=0;s=(ua|qa)&1;sa=a+116|0;w=f[sa>>2]|0;w=(w|0)==0?a:w;l=w+84|0;m=f[l>>2]|0;v=1<>2]=m|v,(R|0)==1):0)?(z=f[w>>2]|0,x=z+16|0,(f[(f[x>>2]|0)+20>>2]|0)==0):0){if(b[w+195>>0]|0)break;l=cj(f[z>>2]|0,0,z,ra,0,542)|0;if(l|0){ni(w,51535,y);f[w+12>>2]=l;break}oa=f[ra>>2]|0;f[(f[x>>2]|0)+20>>2]=oa;l=f[z+92>>2]|0;o=f[oa+4>>2]|0;f[o+4>>2]=f[oa>>2];do if(!(d[o+22>>1]&2)){p=o+32|0;q=o+36|0;r=(f[p>>2]|0)-(f[q>>2]|0)|0;do if((l+-512|0)>>>0<65025){if(l+-1&l|0)break;f[p>>2]=l;n=o+80|0;l=f[n>>2]|0;if(!l)break;m=l+-4|0;f[n>>2]=m;l=m;do if((f[18022]|0)>>>0<=l>>>0)if((f[18023]|0)>>>0>l>>>0){f[18188]=(f[18188]|0)+-1;f[m>>2]=f[18025];f[18025]=m;oa=(f[18026]|0)+1|0;f[18026]=oa;f[18027]=(oa|0)<(f[18021]|0)&1;break}else{l=ib[f[37368>>2]&255](m)|0;za=87;break}else{l=ib[f[37368>>2]&255](m)|0;za=87}while(0);do if((za|0)==87){f[18189]=(f[18189]|0)-l;if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{oa=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);f[n>>2]=0}while(0);oa=ih(f[o>>2]|0,p,r)|0;f[q>>2]=(f[p>>2]|0)-(r&65535);if((oa|0)!=7)break;l=z+81|0;do if(!(b[l>>0]|0)){if(b[z+82>>0]|0)break;b[l>>0]=1;if((f[z+180>>2]|0)>0)f[z+264>>2]=1;oa=z+272|0;f[oa>>2]=(f[oa>>2]|0)+1}while(0);break d}while(0)}while(0);oa=w+80|0;f[oa>>2]=f[oa>>2]|v;oa=w+20|0;b[oa>>0]=h[oa>>0]|s;oa=(g|0)==0;e:do if(oa?(E=f[a>>2]|0,(Ba|0)!=0):0){if(f[a+260>>2]|0){za=416;break}if(f[Ba+64>>2]|0){za=416;break}w=E+16|0;v=f[w>>2]|0;l=f[v+28>>2]|0;if(!(b[a+142>>0]|0)){s=f[pa>>2]|0;do if((s|0)!=(l|0)){l=f[l+48>>2]|0;if(!l)break;r=Aa+68|0;m=0;do{q=f[l+8>>2]|0;do if((f[q+24>>2]|0)==(s|0)){o=f[q+4>>2]|0;p=f[Aa>>2]|0;ia=b[o>>0]|0;n=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0;if(!(ia<<24>>24==0|(n|0)!=0))do{o=o+1|0;p=p+1|0;ia=b[o>>0]|0;n=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0}while(!(ia<<24>>24==0|(n|0)!=0));if(n|0)break;if(!m)m=f[r>>2]|0;f[q+32>>2]=m;m=q}while(0);l=f[l>>2]|0}while((l|0)!=0);if(m|0){za=416;break e}}while(0);if(f[Aa+68>>2]|0){za=416;break}}if(f[Aa+56>>2]|0){za=416;break}do if((i|0)==11){if((d[Aa+40>>1]|0)>-1?(A=b[Aa+48>>0]|0,A<<24>>24!=11):0){B=A&255;break}B=2}else B=i;while(0);n=f[Ba+32>>2]|0;if((f[n>>2]|0)!=1){za=416;break}if(f[n+28>>2]|0){za=416;break}if(f[Ba+36>>2]|0){za=416;break}if(f[Ba+48>>2]|0){za=416;break}if(f[Ba+40>>2]|0){za=416;break}if(f[Ba+60>>2]|0){za=416;break}if(f[Ba+52>>2]|0){za=416;break}if(f[Ba+8>>2]&1|0){za=416;break}l=f[Ba>>2]|0;if((f[l>>2]|0)!=1){za=416;break}if((b[f[l+4>>2]>>0]|0)!=-88){za=416;break}m=f[n+8>>2]|0;if(!m)l=n+12|0;else{l=0;while(1)if((f[v+(l<<4)+12>>2]|0)==(m|0))break;else l=l+1|0;l=v+(l<<4)|0}I=pi(a,0,f[n+16>>2]|0,f[l>>2]|0)|0;if((I|0)==0|(I|0)==(Aa|0)){za=416;break}M=I+36|0;if((f[M>>2]^f[P>>2])&32|0){za=416;break}if(f[I+56>>2]|0){za=416;break}if(f[I+12>>2]|0){za=416;break}l=d[Aa+42>>1]|0;if(l<<16>>16!=(d[I+42>>1]|0)){za=416;break}z=Aa+40|0;if((d[z>>1]|0)!=(d[I+40>>1]|0)){za=416;break}r=l<<16>>16;if(l<<16>>16>0){p=f[Aa+4>>2]|0;q=f[I+4>>2]|0;o=0;do{if((b[p+(o<<4)+13>>0]|0)!=(b[q+(o<<4)+13>>0]|0)){za=416;break e}m=f[p+(o<<4)+8>>2]|0;n=f[q+(o<<4)+8>>2]|0;do if(!m)l=((n|0)!=0)<<31>>31;else{if(!n){za=416;break e}ia=b[m>>0]|0;l=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0;if(ia<<24>>24==0|(l|0)!=0)break;do{m=m+1|0;n=n+1|0;ia=b[m>>0]|0;l=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(ia<<24>>24==0|(l|0)!=0))}while(0);if(l|0){za=416;break e}if(b[p+(o<<4)+12>>0]|0?(b[q+(o<<4)+12>>0]|0)==0:0){za=416;break e}do if(o|0){l=f[p+(o<<4)+4>>2]|0;m=(l|0)==0;n=f[q+(o<<4)+4>>2]|0;if(m^(n|0)==0){za=416;break e}if(m)break;if(tz(f[l+8>>2]|0,f[n+8>>2]|0)|0){za=416;break e}}while(0);o=o+1|0}while((o|0)<(r|0))}D=Aa+8|0;l=f[D>>2]|0;if(!l)m=0;else{o=I+8|0;m=0;do{m=(b[l+54>>0]|0)==0?m:1;n=f[o>>2]|0;if(!n){za=416;break e}while(1){if(gn(l,n)|0)break;n=f[n+20>>2]|0;if(!n){za=416;break e}}l=f[l+20>>2]|0}while((l|0)!=0)}n=f[Aa+24>>2]|0;do if(n|0){o=f[I+24>>2]|0;if(!o){za=416;break e}l=f[o>>2]|0;if((l|0)!=(f[n>>2]|0)){za=416;break e}if((l|0)<=0)break;l=0;do{if((b[o+4+(l*20|0)+12>>0]|0)!=(b[n+4+(l*20|0)+12>>0]|0)){za=416;break e}if(Ck(0,f[o+4+(l*20|0)>>2]|0,f[n+4+(l*20|0)>>2]|0,-1)|0){za=416;break e}l=l+1|0}while((l|0)<(f[o>>2]|0))}while(0);l=f[E+32>>2]|0;if((l&16384|0)==0&0==0){if(!((l&128|0)==0&0==0)){za=416;break}}else if(!((l&128|0)==0&0==0&(f[Aa+16>>2]|0)==0)){za=416;break}o=f[I+72>>2]|0;if(!o)K=-1e6;else{n=f[w>>2]|0;l=0;while(1)if((f[n+(l<<4)+12>>2]|0)==(o|0)){K=l;break}else l=l+1|0}l=f[ta>>2]|0;if(!l){do if(!(f[sa>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);L=sl(a)|0}else L=l;p=f[sa>>2]|0;p=(p|0)==0?a:p;l=p+84|0;n=f[l>>2]|0;o=1<>2]=n|o;if((K|0)!=1)break;v=f[p>>2]|0;l=v+16|0;if(f[(f[l>>2]|0)+20>>2]|0)break;if(b[p+195>>0]|0)break;n=cj(f[v>>2]|0,0,v,ra,0,542)|0;if(n|0){ni(p,51535,C);f[p+12>>2]=n;break}ia=f[ra>>2]|0;f[(f[l>>2]|0)+20>>2]=ia;l=f[v+92>>2]|0;p=f[ia+4>>2]|0;f[p+4>>2]=f[ia>>2];do if(!(d[p+22>>1]&2)){q=p+32|0;r=p+36|0;s=(f[q>>2]|0)-(f[r>>2]|0)|0;do if((l+-512|0)>>>0<65025){if(l+-1&l|0)break;f[q>>2]=l;o=p+80|0;l=f[o>>2]|0;if(!l)break;n=l+-4|0;f[o>>2]=n;l=n;do if((f[18022]|0)>>>0<=l>>>0)if((f[18023]|0)>>>0>l>>>0){f[18188]=(f[18188]|0)+-1;f[n>>2]=f[18025];f[18025]=n;ia=(f[18026]|0)+1|0;f[18026]=ia;f[18027]=(ia|0)<(f[18021]|0)&1;break}else{l=ib[f[37368>>2]&255](n)|0;za=202;break}else{l=ib[f[37368>>2]&255](n)|0;za=202}while(0);do if((za|0)==202){f[18189]=(f[18189]|0)-l;if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{ia=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-ia;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[o>>2]=0}while(0);ia=ih(f[p>>2]|0,q,s)|0;f[r>>2]=(f[q>>2]|0)-(s&65535);if((ia|0)!=7)break;l=v+81|0;do if(!(b[l>>0]|0)){if(b[v+82>>0]|0)break;b[l>>0]=1;if((f[v+180>>2]|0)>0)f[v+264>>2]=1;ia=v+272|0;f[ia>>2]=(f[ia>>2]|0)+1}while(0);break f}while(0)}while(0);y=a+40|0;G=f[y>>2]|0;J=G+1|0;f[y>>2]=G+2;y=hn(a,R,Aa)|0;H=a+19|0;l=b[H>>0]|0;do if(l<<24>>24){ia=l+-1<<24>>24;b[H>>0]=ia;n=f[a+144+((ia&255)<<2)>>2]|0;if(!(ia<<24>>24)){o=a+44|0;l=o;o=f[o>>2]|0;za=218;break}else{F=l+-2<<24>>24;b[H>>0]=F;F=f[a+144+((F&255)<<2)>>2]|0;break}}else{l=a+44|0;o=(f[l>>2]|0)+1|0;f[l>>2]=o;n=o;za=218}while(0);if((za|0)==218){F=o+1|0;f[l>>2]=F}vl(a,J,R,Aa,110);E=E+24|0;do if(!(f[E>>2]&4)){if((d[z>>1]|0)<0){if(!((B+-1|0)>>>0>1|((m|0)!=0|(f[D>>2]|0)!=0))){C=0;break}}else if(!((B+-1|0)>>>0>1|(m|0)!=0)){C=0;break}p=L+136|0;l=f[p>>2]|0;m=L+12|0;if((f[(f[m>>2]|0)+48>>2]|0)>(l|0)){f[p>>2]=l+1;ia=f[L+88>>2]|0;b[ia+(l*20|0)>>0]=36;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=J;f[ia+(l*20|0)+8>>2]=0;f[ia+(l*20|0)+12>>2]=0;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0}else l=tl(L,36,J,0,0)|0;o=f[p>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(o|0)){f[p>>2]=o+1;m=f[L+88>>2]|0;b[m+(o*20|0)>>0]=11;m=m+(o*20|0)+1|0;q=m+19|0;do{b[m>>0]=0;m=m+1|0}while((m|0)<(q|0))}else o=tl(L,11,0,0,0)|0;m=f[p>>2]|0;if(!(b[(f[L>>2]|0)+81>>0]|0))l=(f[L+88>>2]|0)+(((l|0)<0?m+-1|0:l)*20|0)|0;else l=72144;f[l+8>>2]=m;C=o}else C=0;while(0);do if(!(f[M>>2]&32)){vl(a,G,K,I,109);w=L+136|0;l=f[w>>2]|0;x=L+12|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;A=f[L+88>>2]|0;b[A+(l*20|0)>>0]=36;d[A+(l*20|0)+2>>1]=0;f[A+(l*20|0)+4>>2]=G;f[A+(l*20|0)+8>>2]=0;f[A+(l*20|0)+12>>2]=0;f[A+(l*20|0)+16>>2]=0;b[A+(l*20|0)+1>>0]=0;A=l}else A=tl(L,36,G,0,0)|0;do if((d[z>>1]|0)>-1){l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;q=f[L+88>>2]|0;b[q+(l*20|0)>>0]=-127;d[q+(l*20|0)+2>>1]=0;f[q+(l*20|0)+4>>2]=G;f[q+(l*20|0)+8>>2]=F;f[q+(l*20|0)+12>>2]=0;f[q+(l*20|0)+16>>2]=0;b[q+(l*20|0)+1>>0]=0;q=l}else q=tl(L,129,G,F,0)|0;l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;v=f[L+88>>2]|0;b[v+(l*20|0)>>0]=31;d[v+(l*20|0)+2>>1]=0;f[v+(l*20|0)+4>>2]=J;f[v+(l*20|0)+8>>2]=0;f[v+(l*20|0)+12>>2]=F;f[v+(l*20|0)+16>>2]=0;b[v+(l*20|0)+1>>0]=0;v=l}else v=tl(L,31,J,0,F)|0;l=d[z>>1]|0;o=f[a>>2]|0;m=f[Aa>>2]|0;if(l<<16>>16>-1){s=f[(f[Aa+4>>2]|0)+(l<<16>>16<<4)>>2]|0;f[N>>2]=m;f[N+4>>2]=s;m=1555;s=Ig(o,50225,N)|0}else{f[O>>2]=m;m=2579;s=Ig(o,56207,O)|0}l=f[ta>>2]|0;if(!l){do if(!(f[sa>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);r=sl(a)|0}else r=l;if((B|0)==2){ia=f[sa>>2]|0;b[((ia|0)==0?a:ia)+21>>0]=1}p=r+136|0;l=f[p>>2]|0;if((f[(f[r+12>>2]|0)+48>>2]|0)>(l|0)){f[p>>2]=l+1;ia=f[r+88>>2]|0;b[ia+(l*20|0)>>0]=69;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=m;f[ia+(l*20|0)+8>>2]=B;f[ia+(l*20|0)+12>>2]=0;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0}else l=tl(r,69,m,B,0)|0;m=f[r>>2]|0;g:do if(b[m+81>>0]|0){if(!s)break;do if(m|0){if(f[m+480>>2]|0){Kc(m,s);break g}l=s;if((f[m+304>>2]|0)>>>0>l>>>0)break;if((f[m+308>>2]|0)>>>0<=l>>>0)break;ia=m+300|0;f[s>>2]=f[ia>>2];f[ia>>2]=s;break g}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{ia=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-ia;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}else{if((l|0)<0)l=(f[p>>2]|0)+-1|0;m=f[r+88>>2]|0;o=m+(l*20|0)+1|0;if(b[o>>0]|0){ul(r,m+(l*20|0)|0,s,-7);break}if(!s)break;f[m+(l*20|0)+16>>2]=s;b[o>>0]=-7}while(0);l=f[p>>2]|0;if((l|0)>0)d[(f[r+88>>2]|0)+((l+-1|0)*20|0)+2>>1]=2;m=f[w>>2]|0;if(!(b[(f[L>>2]|0)+81>>0]|0))l=(f[L+88>>2]|0)+(((v|0)<0?m+-1|0:v)*20|0)|0;else l=72144;f[l+8>>2]=m;if((y|0)<=0)break;l=f[ta>>2]|0;m=l+136|0;o=f[m>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;ia=f[l+88>>2]|0;b[ia+(o*20|0)>>0]=-104;d[ia+(o*20|0)+2>>1]=0;f[ia+(o*20|0)+4>>2]=y;f[ia+(o*20|0)+8>>2]=F;f[ia+(o*20|0)+12>>2]=0;f[ia+(o*20|0)+16>>2]=0;b[ia+(o*20|0)+1>>0]=0;break}else{tl(l,152,y,F,0)|0;break}}else{l=f[w>>2]|0;m=(f[(f[x>>2]|0)+48>>2]|0)>(l|0);if(!(f[D>>2]|0))if(m){f[w>>2]=l+1;q=f[L+88>>2]|0;b[q+(l*20|0)>>0]=121;d[q+(l*20|0)+2>>1]=0;f[q+(l*20|0)+4>>2]=J;f[q+(l*20|0)+8>>2]=F;f[q+(l*20|0)+12>>2]=0;f[q+(l*20|0)+16>>2]=0;b[q+(l*20|0)+1>>0]=0;q=l;break}else{q=tl(L,121,J,F,0)|0;break}else if(m){f[w>>2]=l+1;q=f[L+88>>2]|0;b[q+(l*20|0)>>0]=-127;d[q+(l*20|0)+2>>1]=0;f[q+(l*20|0)+4>>2]=G;f[q+(l*20|0)+8>>2]=F;f[q+(l*20|0)+12>>2]=0;f[q+(l*20|0)+16>>2]=0;b[q+(l*20|0)+1>>0]=0;q=l;break}else{q=tl(L,129,G,F,0)|0;break}}while(0);l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;ia=f[L+88>>2]|0;b[ia+(l*20|0)>>0]=-128;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=G;f[ia+(l*20|0)+8>>2]=n;f[ia+(l*20|0)+12>>2]=1;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0}else tl(L,128,G,n,1)|0;do if(f[E>>2]&4){l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;p=f[L+88>>2]|0;b[p+(l*20|0)>>0]=-125;d[p+(l*20|0)+2>>1]=0;f[p+(l*20|0)+4>>2]=J;f[p+(l*20|0)+8>>2]=0;f[p+(l*20|0)+12>>2]=0;f[p+(l*20|0)+16>>2]=0;b[p+(l*20|0)+1>>0]=0;p=57;break}else{tl(L,131,J,0,0)|0;p=57;break}}else p=41;while(0);l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;ia=f[L+88>>2]|0;b[ia+(l*20|0)>>0]=122;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=J;f[ia+(l*20|0)+8>>2]=n;f[ia+(l*20|0)+12>>2]=F;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0}else l=tl(L,122,J,n,F)|0;do if(!(b[(f[L>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[w>>2]|0)+-1|0;m=f[L+88>>2]|0;o=m+(l*20|0)+1|0;if(!(b[o>>0]|0)){f[m+(l*20|0)+16>>2]=Aa;b[o>>0]=-6;break}else{ul(L,m+(l*20|0)|0,Aa,-6);break}}while(0);l=f[w>>2]|0;if((l|0)>0)d[(f[L+88>>2]|0)+((l+-1|0)*20|0)+2>>1]=p;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;ia=f[L+88>>2]|0;b[ia+(l*20|0)>>0]=5;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=G;f[ia+(l*20|0)+8>>2]=q;f[ia+(l*20|0)+12>>2]=0;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0}else tl(L,5,G,q,0)|0;l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;ia=f[L+88>>2]|0;b[ia+(l*20|0)>>0]=117;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=G;f[ia+(l*20|0)+8>>2]=0;f[ia+(l*20|0)+12>>2]=0;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0}else tl(L,117,G,0,0)|0;l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;ia=f[L+88>>2]|0;b[ia+(l*20|0)>>0]=117;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=J;f[ia+(l*20|0)+8>>2]=0;f[ia+(l*20|0)+12>>2]=0;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0;break}else{tl(L,117,J,0,0)|0;break}}else{nm(a,R,f[Aa+28>>2]|0,1,f[Aa>>2]|0);nm(a,K,f[I+28>>2]|0,0,f[I>>2]|0);A=0}while(0);l=f[D>>2]|0;if(l|0){w=I+8|0;x=L+136|0;y=L+12|0;z=L+88|0;v=l;do{l=w;while(1){p=f[l>>2]|0;if(!(gn(v,p)|0))l=p+20|0;else break}l=f[p+44>>2]|0;m=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(m|0)){f[x>>2]=m+1;ia=f[z>>2]|0;b[ia+(m*20|0)>>0]=109;d[ia+(m*20|0)+2>>1]=0;f[ia+(m*20|0)+4>>2]=G;f[ia+(m*20|0)+8>>2]=l;f[ia+(m*20|0)+12>>2]=K;f[ia+(m*20|0)+16>>2]=0;b[ia+(m*20|0)+1>>0]=0}else tl(L,109,G,l,K)|0;l=f[ta>>2]|0;o=om(a,p)|0;h:do if(o|0){m=f[l>>2]|0;if(!(b[m+81>>0]|0)){ha=f[l+88>>2]|0;ia=(f[l+136>>2]|0)+-1|0;b[ha+(ia*20|0)+1>>0]=-9;f[ha+(ia*20|0)+16>>2]=o;break}if(f[m+480>>2]|0)break;ia=(f[o>>2]|0)+-1|0;f[o>>2]=ia;if(ia|0)break;l=f[o+12>>2]|0;do if(l|0){if(f[l+480>>2]|0){Kc(l,o);break h}m=o;if((f[l+304>>2]|0)>>>0>m>>>0)break;if((f[l+308>>2]|0)>>>0<=m>>>0)break;ia=l+300|0;f[o>>2]=f[ia>>2];f[ia>>2]=o;break h}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ia=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ia;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);l=f[v+44>>2]|0;m=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(m|0)){f[x>>2]=m+1;ia=f[z>>2]|0;b[ia+(m*20|0)>>0]=110;d[ia+(m*20|0)+2>>1]=0;f[ia+(m*20|0)+4>>2]=J;f[ia+(m*20|0)+8>>2]=l;f[ia+(m*20|0)+12>>2]=R;f[ia+(m*20|0)+16>>2]=0;b[ia+(m*20|0)+1>>0]=0}else tl(L,110,J,l,R)|0;l=f[ta>>2]|0;o=om(a,v)|0;i:do if(o|0){m=f[l>>2]|0;if(!(b[m+81>>0]|0)){ha=f[l+88>>2]|0;ia=(f[l+136>>2]|0)+-1|0;b[ha+(ia*20|0)+1>>0]=-9;f[ha+(ia*20|0)+16>>2]=o;break}if(f[m+480>>2]|0)break;ia=(f[o>>2]|0)+-1|0;f[o>>2]=ia;if(ia|0)break;l=f[o+12>>2]|0;do if(l|0){if(f[l+480>>2]|0){Kc(l,o);break i}m=o;if((f[l+304>>2]|0)>>>0>m>>>0)break;if((f[l+308>>2]|0)>>>0<=m>>>0)break;ia=l+300|0;f[o>>2]=f[ia>>2];f[ia>>2]=o;break i}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ia=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ia;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);l=f[x>>2]|0;if((l|0)>0)d[(f[z>>2]|0)+((l+-1|0)*20|0)+2>>1]=1;if((f[(f[y>>2]|0)+48>>2]|0)>(l|0)){f[x>>2]=l+1;s=f[z>>2]|0;b[s+(l*20|0)>>0]=36;d[s+(l*20|0)+2>>1]=0;f[s+(l*20|0)+4>>2]=G;f[s+(l*20|0)+8>>2]=0;f[s+(l*20|0)+12>>2]=0;f[s+(l*20|0)+16>>2]=0;b[s+(l*20|0)+1>>0]=0;s=l}else s=tl(L,36,G,0,0)|0;l=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(l|0)){f[x>>2]=l+1;ia=f[z>>2]|0;b[ia+(l*20|0)>>0]=-128;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=G;f[ia+(l*20|0)+8>>2]=n;f[ia+(l*20|0)+12>>2]=1;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0}else tl(L,128,G,n,1)|0;do if(f[E>>2]&4){ia=d[p+52>>1]|0;r=ia&65535;j:do if(!(ia<<16>>16))l=0;else{q=f[p+32>>2]|0;l=0;do{m=f[q+(l<<2)>>2]|0;if(!m)break j;if((b[m>>0]|32)<<24>>24!=98)break j;o=43030;do{o=o+1|0;m=m+1|0;ia=b[o>>0]|0;p=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(ia<<24>>24==0|(p|0)!=0));if(p|0)break j;l=l+1|0}while(l>>>0>>0)}while(0);if((l|0)!=(r|0)){l=0;break}l=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(l|0)){f[x>>2]=l+1;ia=f[z>>2]|0;b[ia+(l*20|0)>>0]=-125;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=J;f[ia+(l*20|0)+8>>2]=0;f[ia+(l*20|0)+12>>2]=0;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0;l=16;break}else{tl(L,131,J,0,0)|0;l=16;break}}else l=0;while(0);if(f[M>>2]&32){ia=v+55|0;l=l|((h[ia>>0]|h[ia+1>>0]<<8)&3)==2}m=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(m|0)){f[x>>2]=m+1;ia=f[z>>2]|0;b[ia+(m*20|0)>>0]=-123;d[ia+(m*20|0)+2>>1]=0;f[ia+(m*20|0)+4>>2]=J;f[ia+(m*20|0)+8>>2]=n;f[ia+(m*20|0)+12>>2]=0;f[ia+(m*20|0)+16>>2]=0;b[ia+(m*20|0)+1>>0]=0}else tl(L,133,J,n,0)|0;m=f[x>>2]|0;if((m|0)>0)d[(f[z>>2]|0)+((m+-1|0)*20|0)+2>>1]=(l|8)&255;l=s+1|0;if((f[(f[y>>2]|0)+48>>2]|0)>(m|0)){f[x>>2]=m+1;ia=f[z>>2]|0;b[ia+(m*20|0)>>0]=5;d[ia+(m*20|0)+2>>1]=0;f[ia+(m*20|0)+4>>2]=G;f[ia+(m*20|0)+8>>2]=l;f[ia+(m*20|0)+12>>2]=0;f[ia+(m*20|0)+16>>2]=0;b[ia+(m*20|0)+1>>0]=0}else tl(L,5,G,l,0)|0;m=f[x>>2]|0;if(!(b[(f[L>>2]|0)+81>>0]|0))l=(f[z>>2]|0)+(((s|0)<0?m+-1|0:s)*20|0)|0;else l=72144;f[l+8>>2]=m;if((f[(f[y>>2]|0)+48>>2]|0)>(m|0)){f[x>>2]=m+1;ia=f[z>>2]|0;b[ia+(m*20|0)>>0]=117;d[ia+(m*20|0)+2>>1]=0;f[ia+(m*20|0)+4>>2]=G;f[ia+(m*20|0)+8>>2]=0;f[ia+(m*20|0)+12>>2]=0;f[ia+(m*20|0)+16>>2]=0;b[ia+(m*20|0)+1>>0]=0}else tl(L,117,G,0,0)|0;l=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(l|0)){f[x>>2]=l+1;ia=f[z>>2]|0;b[ia+(l*20|0)>>0]=117;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=J;f[ia+(l*20|0)+8>>2]=0;f[ia+(l*20|0)+12>>2]=0;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0}else tl(L,117,J,0,0)|0;v=f[v+20>>2]|0}while((v|0)!=0)}if(A|0){m=f[L+136>>2]|0;if(!(b[(f[L>>2]|0)+81>>0]|0))l=(f[L+88>>2]|0)+(((A|0)<0?m+-1|0:A)*20|0)|0;else l=72144;f[l+8>>2]=m}do if(F|0){l=b[H>>0]|0;if((l&255)>=8)break;b[H>>0]=l+1<<24>>24;f[a+144+((l&255)<<2)>>2]=F}while(0);do if(n|0){l=b[H>>0]|0;if((l&255)>=8)break;b[H>>0]=l+1<<24>>24;f[a+144+((l&255)<<2)>>2]=n}while(0);if(!C){n=0;l=0;break}if(f[a+112>>2]|0)jn(a);n=L+136|0;l=f[n>>2]|0;o=L+12|0;if((f[(f[o>>2]|0)+48>>2]|0)>(l|0)){f[n>>2]=l+1;m=f[L+88>>2]|0;b[m+(l*20|0)>>0]=69;m=m+(l*20|0)+1|0;q=m+19|0;do{b[m>>0]=0;m=m+1|0}while((m|0)<(q|0))}else tl(L,69,0,0,0)|0;m=f[n>>2]|0;if(!(b[(f[L>>2]|0)+81>>0]|0))l=(f[L+88>>2]|0)+(((C|0)<0?m+-1|0:C)*20|0)|0;else l=72144;f[l+8>>2]=m;if((f[(f[o>>2]|0)+48>>2]|0)>(m|0)){f[n>>2]=m+1;za=f[L+88>>2]|0;b[za+(m*20|0)>>0]=117;d[za+(m*20|0)+2>>1]=0;f[za+(m*20|0)+4>>2]=J;f[za+(m*20|0)+8>>2]=0;f[za+(m*20|0)+12>>2]=0;f[za+(m*20|0)+16>>2]=0;b[za+(m*20|0)+1>>0]=0;za=416;break}else{tl(L,117,J,0,0)|0;za=416;break}}else za=416;while(0);do if((za|0)==416){G=hn(a,R,Aa)|0;ia=a+44|0;ha=f[ia>>2]|0;ea=ha+1|0;ga=Aa+42|0;n=d[ga>>1]|0;E=n<<16>>16;F=ea+E|0;f[ia>>2]=F;Z=Aa+56|0;_=(f[Z>>2]|0)==0;F=F+((_^1)&1)|0;f[ia>>2]=F;ha=_?ea:ha+2|0;_=ha+1|0;m=((f[P>>2]|0)>>>7&1^1)&255;Y=(g|0)!=0;k:do if(Y){C=f[g+4>>2]|0;if((C|0)<=0){A=-1;break}D=f[g>>2]|0;l=0;do{f[D+(l<<3)+4>>2]=-1;l=l+1|0}while((l|0)!=(C|0));y=n<<16>>16>0;z=Aa+4|0;A=Aa+40|0;B=(na|0)!=0;n=-1;x=0;while(1){w=f[D+(x<<3)>>2]|0;l:do if(y){r=f[z>>2]|0;s=b[w>>0]|0;v=b[1232+(s&255)>>0]|0;m:do if(!(s<<24>>24)){l=0;do{if(v<<24>>24==(b[1232+(h[f[r+(l<<4)>>2]>>0]|0)>>0]|0))break m;l=l+1|0}while((l|0)<(E|0));o=v&255;l=o+-95|0;p=1;za=438;break l}else{l=0;while(1){o=f[r+(l<<4)>>2]|0;if(v<<24>>24==(b[1232+(h[o>>0]|0)>>0]|0)){p=w;do{p=p+1|0;o=o+1|0;P=b[p>>0]|0;q=(h[1232+(P&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(P<<24>>24==0|(q|0)!=0));if(!q)break m}l=l+1|0;if((l|0)>=(E|0)){l=v;m=s;za=435;break l}}}while(0);f[D+(x<<3)+4>>2]=l;n=(l|0)==(d[A>>1]|0)?x:n;m=(x|0)==(l|0)?m:0}else{m=b[w>>0]|0;l=b[1232+(m&255)>>0]|0;za=435}while(0);do if((za|0)==435){o=l&255;l=o+-95|0;p=m<<24>>24==0;if(p|(l|0)!=0){za=438;break}m=49617;n=w;do{n=n+1|0;m=m+1|0;za=b[n>>0]|0;l=(h[1232+(za&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(l|0)!=0));za=438}while(0);if((za|0)==438){za=0;do if(!l)l=1;else{l=o+-114|0;if(!(p|(l|0)!=0)){m=49625;n=w;do{n=n+1|0;m=m+1|0;P=b[n>>0]|0;l=(h[1232+(P&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(P<<24>>24==0|(l|0)!=0))}if(!l){l=1;break}l=o+-111|0;if(!(p|(l|0)!=0)){m=49631;n=w;do{n=n+1|0;m=m+1|0;P=b[n>>0]|0;l=(h[1232+(P&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(P<<24>>24==0|(l|0)!=0))}l=(l|0)==0&1}while(0);if(B|(l|0)==0)break;else{n=x;m=0}}x=x+1|0;if((x|0)>=(C|0)){A=n;break k}}f[Q>>2]=c;f[Q+4>>2]=0;f[Q+8>>2]=w;ni(a,56216,Q);b[a+17>>0]=1;l=0;za=1020;break a}else A=-1;while(0);n:do if(ua){n=F+1|0;f[ia>>2]=n;w=ya+136|0;o=f[w>>2]|0;l=o+1|0;x=ya+12|0;if((f[(f[x>>2]|0)+48>>2]|0)>(o|0)){f[w>>2]=l;V=f[ya+88>>2]|0;b[V+(o*20|0)>>0]=13;d[V+(o*20|0)+2>>1]=0;f[V+(o*20|0)+4>>2]=n;f[V+(o*20|0)+8>>2]=0;f[V+(o*20|0)+12>>2]=l;f[V+(o*20|0)+16>>2]=0;b[V+(o*20|0)+1>>0]=0}else tl(ya,13,n,0,l)|0;b[S>>0]=13;f[la>>2]=n;f[S+16>>2]=0;y=S+8|0;f[y>>2]=m<<24>>24==0?0:_;f[S+12>>2]=d[ga>>1];V=Kl(a,Ba,S)|0;y=f[y>>2]|0;if(V|0){l=0;za=1020;break a}if(b[$>>0]|0){l=0;za=1020;break a}if(f[T>>2]|0){l=0;za=1020;break a}l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;V=f[ya+88>>2]|0;b[V+(l*20|0)>>0]=67;d[V+(l*20|0)+2>>1]=0;f[V+(l*20|0)+4>>2]=n;f[V+(l*20|0)+8>>2]=0;f[V+(l*20|0)+12>>2]=0;f[V+(l*20|0)+16>>2]=0;b[V+(l*20|0)+1>>0]=0}else tl(ya,67,n,0,0)|0;m=f[x>>2]|0;b[m+19>>0]=0;f[m+28>>2]=0;m=f[w>>2]|0;if(!(b[(f[ya>>2]|0)+81>>0]|0))l=(f[ya+88>>2]|0)+(((o|0)<0?m+-1|0:o)*20|0)|0;else l=72144;f[l+8>>2]=m;v=f[f[Ba>>2]>>2]|0;o:do if(!qa){l=f[ta>>2]|0;if(!l){do if(!(f[sa>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);l=sl(a)|0}s=f[l+136>>2]|0;p:do if(!(f[Z>>2]|0))m=0;else{n=f[a>>2]|0;m=f[Aa+64>>2]|0;if(!m){m=0;break}while(1){if((f[m>>2]|0)==(n|0))break p;m=f[m+24>>2]|0;if(!m){m=0;break}}}while(0);if((s|0)<=1){S=y;T=0;F=0;J=v;break n}q=Aa+28|0;r=Aa+8|0;if(!(b[(f[l>>2]|0)+81>>0]|0)){o=f[l+88>>2]|0;n=1;while(1){q:do switch(b[o+(n*20|0)>>0]|0){case 109:{if((f[o+(n*20|0)+12>>2]|0)!=(R|0))break q;p=f[o+(n*20|0)+8>>2]|0;if((p|0)==(f[q>>2]|0))break o;l=f[r>>2]|0;if(!l)break q;do{if((p|0)==(f[l+44>>2]|0))break o;l=f[l+20>>2]|0}while((l|0)!=0);break}case -92:{if((f[o+(n*20|0)+16>>2]|0)==(m|0))break o;break}default:{}}while(0);n=n+1|0;if((n|0)>=(s|0)){S=y;T=0;F=0;J=v;break n}}}n=(f[18039]|0)==(R|0);l=(f[18040]|0)==(m|0);p=f[18038]|0;switch(b[72144]|0){case 109:break;case -92:if(l)break o;else{S=y;T=0;F=0;J=v;break n}default:{S=y;T=0;F=0;J=v;break n}}if(l){if(!n){S=y;T=0;F=0;J=v;break n}n=(p|0)==(f[q>>2]|0);m=1;while(1){if(n)break o;l=f[r>>2]|0;if(l|0)do{if((p|0)==(f[l+44>>2]|0))break o;l=f[l+20>>2]|0}while((l|0)!=0);m=m+1|0;if((m|0)>=(s|0)){S=y;T=0;F=0;J=v;break n}}}else{if(!n){S=y;T=0;F=0;J=v;break n}if((p|0)==(f[q>>2]|0))break;l=f[r>>2]|0;o=(l|0)==0;n=1;while(1){if(!o){m=l;do{if((p|0)==(f[m+44>>2]|0))break o;m=f[m+20>>2]|0}while((m|0)!=0)}n=n+1|0;if((n|0)>=(s|0)){S=y;T=0;F=0;J=v;break n}}}}while(0);q=a+40|0;r=f[q>>2]|0;f[q>>2]=r+1;q=a+19|0;m=b[q>>0]|0;do if(m<<24>>24){V=m+-1<<24>>24;b[q>>0]=V;l=f[a+144+((V&255)<<2)>>2]|0;if(!(V<<24>>24)){m=f[ia>>2]|0;za=508;break}else{p=m+-2<<24>>24;b[q>>0]=p;o=l;p=f[a+144+((p&255)<<2)>>2]|0;break}}else{m=(f[ia>>2]|0)+1|0;f[ia>>2]=m;l=m;za=508}while(0);if((za|0)==508){p=m+1|0;f[ia>>2]=p;o=l}l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;V=f[ya+88>>2]|0;b[V+(l*20|0)>>0]=113;d[V+(l*20|0)+2>>1]=0;f[V+(l*20|0)+4>>2]=r;f[V+(l*20|0)+8>>2]=v;f[V+(l*20|0)+12>>2]=0;f[V+(l*20|0)+16>>2]=0;b[V+(l*20|0)+1>>0]=0}else tl(ya,113,r,v,0)|0;l=f[la>>2]|0;m=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(m|0)){f[w>>2]=m+1;n=f[ya+88>>2]|0;b[n+(m*20|0)>>0]=14;d[n+(m*20|0)+2>>1]=0;f[n+(m*20|0)+4>>2]=l;f[n+(m*20|0)+8>>2]=0;f[n+(m*20|0)+12>>2]=0;f[n+(m*20|0)+16>>2]=0;b[n+(m*20|0)+1>>0]=0;n=m}else n=tl(ya,14,l,0,0)|0;l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;V=f[ya+88>>2]|0;b[V+(l*20|0)>>0]=102;d[V+(l*20|0)+2>>1]=0;f[V+(l*20|0)+4>>2]=y;f[V+(l*20|0)+8>>2]=v;f[V+(l*20|0)+12>>2]=o;f[V+(l*20|0)+16>>2]=0;b[V+(l*20|0)+1>>0]=0}else tl(ya,102,y,v,o)|0;l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;V=f[ya+88>>2]|0;b[V+(l*20|0)>>0]=121;d[V+(l*20|0)+2>>1]=0;f[V+(l*20|0)+4>>2]=r;f[V+(l*20|0)+8>>2]=p;f[V+(l*20|0)+12>>2]=0;f[V+(l*20|0)+16>>2]=0;b[V+(l*20|0)+1>>0]=0}else tl(ya,121,r,p,0)|0;l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;V=f[ya+88>>2]|0;b[V+(l*20|0)>>0]=122;d[V+(l*20|0)+2>>1]=0;f[V+(l*20|0)+4>>2]=r;f[V+(l*20|0)+8>>2]=o;f[V+(l*20|0)+12>>2]=p;f[V+(l*20|0)+16>>2]=0;b[V+(l*20|0)+1>>0]=0}else tl(ya,122,r,o,p)|0;l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;V=f[ya+88>>2]|0;b[V+(l*20|0)>>0]=11;d[V+(l*20|0)+2>>1]=0;f[V+(l*20|0)+4>>2]=0;f[V+(l*20|0)+8>>2]=n;f[V+(l*20|0)+12>>2]=0;f[V+(l*20|0)+16>>2]=0;b[V+(l*20|0)+1>>0]=0}else tl(ya,11,0,n,0)|0;m=f[w>>2]|0;if(!(b[(f[ya>>2]|0)+81>>0]|0))l=(f[ya+88>>2]|0)+(((n|0)<0?m+-1|0:n)*20|0)|0;else l=72144;f[l+8>>2]=m;do if(o|0){l=b[q>>0]|0;if((l&255)>=8)break;b[q>>0]=l+1<<24>>24;f[a+144+((l&255)<<2)>>2]=o}while(0);if(!p){S=y;T=r;F=1;J=v;break}l=b[q>>0]|0;if((l&255)>=8){S=y;T=r;F=1;J=v;break}b[q>>0]=l+1<<24>>24;f[a+144+((l&255)<<2)>>2]=p;S=y;T=r;F=1;J=v}else{T=fa+4|0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;f[T+16>>2]=0;f[T+20>>2]=0;f[T+24>>2]=0;f[fa>>2]=a;r:do if(!Ca)l=0;else{l=f[Ca>>2]|0;if((l|0)<=0)break;s=fa+24|0;v=ra+4|0;w=ra+8|0;x=ra+12|0;y=ra+24|0;z=fa+20|0;r=0;m=0;while(1){q=f[Ca+4+(r*20|0)>>2]|0;if(q){p=m&65535;d[s>>1]=p&61423;m=f[fa>>2]|0;f[ra>>2]=m;f[v>>2]=146;f[w>>2]=147;f[x>>2]=0;f[y>>2]=fa;o=q+24|0;n=m;S=n+204|0;T=(f[S>>2]|0)+(f[o>>2]|0)|0;f[S>>2]=T;n=f[(f[n>>2]|0)+120>>2]|0;if((n|0)<(T|0)){za=543;break}oi(ra,q)|0;n=f[ra>>2]|0;m=n+204|0;f[m>>2]=(f[m>>2]|0)-(f[o>>2]|0);m=d[s>>1]|0;if(m&16){T=q+4|0;f[T>>2]=f[T>>2]|2}m=(p&4112|m&65535)&65535;d[s>>1]=m;if((f[z>>2]|0)>0){za=547;break}if((f[n+36>>2]|0)>=1)break}r=r+1|0;if((r|0)>=(f[Ca>>2]|0))break r}if((za|0)==543){f[V>>2]=n;ni(m,42710,V);za=547}ng(Da,c);l=0;break a}while(0);S=0;T=-1;F=0;J=l}while(0);if(oa&(J|0)>0)R=d[Aa+40>>1]|0;else R=A;V=d[ga>>1]|0;o=V<<16>>16;if(V<<16>>16>0){n=f[Aa+4>>2]|0;l=0;m=0;do{l=l+((h[n+(m<<4)+15>>0]|0)>>>1&1)|0;m=m+1|0}while((m|0)!=(o|0))}else l=0;do if(oa&(J|0)!=0){l=o-l|0;if((J|0)==(l|0))break;f[W>>2]=c;f[W+4>>2]=0;f[W+8>>2]=l;f[W+12>>2]=J;ni(a,56248,W);l=0;za=1020;break a}while(0);do if(Y){l=f[g+4>>2]|0;if((J|0)==(l|0))break;f[X>>2]=J;f[X+4>>2]=l;ni(a,56300,X);l=0;za=1020;break a}while(0);P=Da+32|0;do if(!((f[P>>2]&128|0)==0&0==0)){if(b[xa>>0]|0){n=0;break}if(f[a+120>>2]|0){n=0;break}n=(f[ia>>2]|0)+1|0;f[ia>>2]=n;l=ya+136|0;m=f[l>>2]|0;if((f[(f[ya+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;X=f[ya+88>>2]|0;b[X+(m*20|0)>>0]=70;d[X+(m*20|0)+2>>1]=0;f[X+(m*20|0)+4>>2]=0;f[X+(m*20|0)+8>>2]=n;f[X+(m*20|0)+12>>2]=0;f[X+(m*20|0)+16>>2]=0;b[X+(m*20|0)+1>>0]=0;break}else{tl(ya,70,0,n,0)|0;break}}else n=0;while(0);do if(ma){Q=0;l=0}else{q=_m(a,Aa,110,0,-1,0,wa,va)|0;o=(q<<2)+4|0;s:do if(f[Da+272>>2]|0)if(!(b[$>>0]|0))za=579;else{l=0;za=1020;break a}else{do if(!(0<0|(0==0?(j[Da+276>>1]|0)>>>0>>0:0))){l=Da+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];$=Da+284|0;f[$>>2]=(f[$>>2]|0)+1;break s}l=Da+296|0;m=f[l>>2]|0;if(!m){l=Da+292|0;break}else{f[l>>2]=f[m>>2];$=Da+284|0;f[$>>2]=(f[$>>2]|0)+1;break s}}else l=Da+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;za=579}while(0);if((za|0)==579)m=Dc(Da,o,0)|0;if(!m){l=0;za=1020;break a}if((q|0)<=0){Q=m;l=m;break}l=Aa+8|0;o=0;p=f[ia>>2]|0;while(1){l=f[l>>2]|0;$=p+1|0;f[ia>>2]=$;f[m+(o<<2)>>2]=$;p=(f[ia>>2]|0)+(j[l+52>>1]|0)|0;f[ia>>2]=p;o=o+1|0;if((o|0)==(q|0)){Q=m;l=m;break}else l=l+20|0}}while(0);do if(k|0){v=f[wa>>2]|0;D=c+48|0;f[D>>2]=v;f[k+20>>2]=c;f[k+24>>2]=_;f[k+28>>2]=v;f[k+32>>2]=f[va>>2];v=f[k>>2]|0;if(!v)break;$=fa+8|0;f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;f[$+12>>2]=0;f[$+16>>2]=0;f[$+20>>2]=0;f[fa>>2]=a;f[fa+4>>2]=c;t:do if((f[v>>2]|0)>0){w=fa+24|0;x=ra+4|0;y=ra+8|0;z=ra+12|0;A=ra+24|0;B=fa+20|0;s=0;m=0;while(1){r=f[v+4+(s*20|0)>>2]|0;if(r){q=m&65535;d[w>>1]=q&61423;m=f[fa>>2]|0;f[ra>>2]=m;f[x>>2]=146;f[y>>2]=147;f[z>>2]=0;f[A>>2]=fa;p=r+24|0;o=m;X=o+204|0;$=(f[X>>2]|0)+(f[p>>2]|0)|0;f[X>>2]=$;o=f[(f[o>>2]|0)+120>>2]|0;if((o|0)<($|0)){za=592;break}oi(ra,r)|0;o=f[ra>>2]|0;m=o+204|0;f[m>>2]=(f[m>>2]|0)-(f[p>>2]|0);m=d[w>>1]|0;if(m&16){$=r+4|0;f[$>>2]=f[$>>2]|2}m=(q&4112|m&65535)&65535;d[w>>1]=m;if((f[B>>2]|0)>0)break;if((f[o+36>>2]|0)>=1)break t}s=s+1|0;if((s|0)>=(f[v>>2]|0)){za=598;break t}}if((za|0)==592){f[aa>>2]=o;ni(m,42710,aa)}}else{m=0;za=598}while(0);u:do if((za|0)==598){E=k+4|0;r=f[E>>2]|0;v:do if(r){s=fa+24|0;m=m&65535;q=m&4112;d[s>>1]=m&61423;m=f[fa>>2]|0;f[ra>>2]=m;f[ra+4>>2]=146;f[ra+8>>2]=147;f[ra+12>>2]=0;f[ra+24>>2]=fa;p=r+24|0;o=m+204|0;aa=(f[o>>2]|0)+(f[p>>2]|0)|0;f[o>>2]=aa;o=f[(f[m>>2]|0)+120>>2]|0;do if((o|0)>=(aa|0)){oi(ra,r)|0;o=f[ra>>2]|0;m=o+204|0;f[m>>2]=(f[m>>2]|0)-(f[p>>2]|0);m=d[s>>1]|0;if(m&16){da=r+4|0;f[da>>2]=f[da>>2]|2}d[s>>1]=q|m&65535;if((f[fa+20>>2]|0)>0)break;if((f[o+36>>2]|0)<1)break v;else break u}else{f[da>>2]=o;ni(m,42710,da)}while(0);break u}while(0);o=f[ca>>2]|0;C=f[k>>2]|0;B=f[D>>2]|0;do if(!(f[o+36>>2]&32)){if((f[C>>2]|0)!=1)break;m=f[C+4>>2]|0;if((b[m>>0]|0)!=-98)break;if((d[m+32>>1]|0)==-1)break u}while(0);m=ja;q=m+96|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(q|0));b[ja>>0]=102;z=ja+48|0;A=ja+12|0;f[A>>2]=z;b[z>>0]=-98;f[ja+76>>2]=B;m=f[o+8>>2]|0;w:do if(m|0){x=ja+8|0;y=ja+80|0;x:while(1){y:do if(b[m+54>>0]|0){p=f[C>>2]|0;q=m+50|0;o=d[q>>1]|0;if((p|0)!=(o&65535|0))break;r=f[m+36>>2]|0;if(r){o=f[E>>2]|0;if(!o)break;if(Ck(a,o,r,B)|0)break;o=d[q>>1]|0;p=o&65535}if(!(o<<16>>16))break x;s=m+32|0;v=m+4|0;w=m+40|0;r=0;while(1){f[x>>2]=f[(f[s>>2]|0)+(r<<2)>>2];o=d[(f[v>>2]|0)+(r<<1)>>1]|0;do if(o<<16>>16==-2){o=f[(f[w>>2]|0)+4+(r*20|0)>>2]|0;if((b[o>>0]|0)==102)break;f[A>>2]=o;o=ja}else{f[A>>2]=z;d[y>>1]=o;o=ja}while(0);q=0;while(1){if((Ck(a,f[C+4+(q*20|0)>>2]|0,o,B)|0)<2)break;q=q+1|0;if(q>>>0>=p>>>0)break y}r=r+1|0;if(r>>>0>=p>>>0)break x}}while(0);m=f[m+20>>2]|0;if(!m)break w}f[k+16>>2]=m;break u}while(0);ni(a,56325,ka)}while(0)}while(0);N=F<<24>>24!=0;do if(!N){if(!ua){O=0;M=0;L=ya+12|0;break}m=f[la>>2]|0;o=ya+136|0;p=f[o>>2]|0;q=ya+12|0;if((f[(f[q>>2]|0)+48>>2]|0)>(p|0)){f[o>>2]=p+1;O=f[ya+88>>2]|0;b[O+(p*20|0)>>0]=14;d[O+(p*20|0)+2>>1]=0;f[O+(p*20|0)+4>>2]=m;f[O+(p*20|0)+8>>2]=0;f[O+(p*20|0)+12>>2]=0;f[O+(p*20|0)+16>>2]=0;b[O+(p*20|0)+1>>0]=0;O=p;M=p;L=q;break}else{M=tl(ya,14,m,0,0)|0;O=M;L=q;break}}else{o=ya+136|0;m=f[o>>2]|0;p=ya+12|0;if((f[(f[p>>2]|0)+48>>2]|0)>(m|0)){f[o>>2]=m+1;la=f[ya+88>>2]|0;b[la+(m*20|0)>>0]=36;d[la+(m*20|0)+2>>1]=0;f[la+(m*20|0)+4>>2]=T;f[la+(m*20|0)+8>>2]=0;f[la+(m*20|0)+12>>2]=0;f[la+(m*20|0)+16>>2]=0;b[la+(m*20|0)+1>>0]=0}else m=tl(ya,36,T,0,0)|0;O=m;M=f[o>>2]|0;L=p}while(0);m=f[L>>2]|0;v=m+60|0;K=f[v>>2]|0;f[v>>2]=K+1;v=m+64|0;if(!(K+-1&K)){r=K<<3|4;s=f[m>>2]|0;m=f[v>>2]|0;z:do if(m){p=m;q=s+304|0;do if((f[q>>2]|0)>>>0<=p>>>0){if((f[s+308>>2]|0)>>>0<=p>>>0)break;if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0)))break z}while(0);o=Lc(s,m,r,0)|0;if(o|0){m=o;break}if(f[s+480>>2]|0){Kc(s,m);m=0;break}do if((f[q>>2]|0)>>>0<=p>>>0){if((f[s+308>>2]|0)>>>0<=p>>>0)break;la=s+300|0;f[m>>2]=f[la>>2];f[la>>2]=m;m=0;break z}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);m=0;break}else{la=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-la;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);m=0;break}}else{if(f[s+272>>2]|0){if(b[s+81>>0]|0){m=0;break}}else{do if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0))){o=s+300|0;m=f[o>>2]|0;if(m|0){f[o>>2]=f[m>>2];la=s+284|0;f[la>>2]=(f[la>>2]|0)+1;break z}o=s+296|0;m=f[o>>2]|0;if(!m){m=s+292|0;break}else{f[o>>2]=f[m>>2];la=s+284|0;f[la>>2]=(f[la>>2]|0)+1;break z}}else m=s+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1}m=Dc(s,r,0)|0}while(0);f[v>>2]=m}else m=f[v>>2]|0;if(m|0)f[m+(K<<2)>>2]=-1;I=~K;do if(e&1|0){la=d[ga>>1]|0;e=la<<16>>16;m=e+1|0;do if(!(la<<16>>16)){e=a+19|0;m=b[e>>0]|0;if(!(m<<24>>24)){E=(f[ia>>2]|0)+1|0;f[ia>>2]=E;break}else{E=m+-1<<24>>24;b[e>>0]=E;E=f[a+144+((E&255)<<2)>>2]|0;break}}else{o=a+32|0;p=f[o>>2]|0;q=a+28|0;r=f[q>>2]|0;if((r|0)>(e|0)){f[o>>2]=p+m;f[q>>2]=r-m;E=p;break}else{E=f[ia>>2]|0;f[ia>>2]=E+m;E=E+1|0;break}}while(0);do if((R|0)<0){e=ya+136|0;m=f[e>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;la=f[ya+88>>2]|0;b[la+(m*20|0)>>0]=70;d[la+(m*20|0)+2>>1]=0;f[la+(m*20|0)+4>>2]=-1;f[la+(m*20|0)+8>>2]=E;f[la+(m*20|0)+12>>2]=0;f[la+(m*20|0)+16>>2]=0;b[la+(m*20|0)+1>>0]=0;break}else{tl(ya,70,-1,E,0)|0;break}}else{A:do if(N){e=ya+136|0;m=f[e>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;la=f[ya+88>>2]|0;b[la+(m*20|0)>>0]=90;d[la+(m*20|0)+2>>1]=0;f[la+(m*20|0)+4>>2]=T;f[la+(m*20|0)+8>>2]=R;f[la+(m*20|0)+12>>2]=E;f[la+(m*20|0)+16>>2]=0;b[la+(m*20|0)+1>>0]=0;break}else{tl(ya,90,T,R,E)|0;break}}else{e=f[Ca+4+(R*20|0)>>2]|0;do if(e){if((b[e>>0]|0)!=-92){p=xl(a,e,E)|0;break}p=f[ta>>2]|0;e=f[e+28>>2]|0;m=p+136|0;o=f[m>>2]|0;if((f[(f[p+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;la=f[p+88>>2]|0;b[la+(o*20|0)>>0]=78;d[la+(o*20|0)+2>>1]=0;f[la+(o*20|0)+4>>2]=e;f[la+(o*20|0)+8>>2]=E;f[la+(o*20|0)+12>>2]=0;f[la+(o*20|0)+16>>2]=0;b[la+(o*20|0)+1>>0]=0;break A}else{tl(p,78,e,E,0)|0;break A}}else p=xl(a,0,E)|0;while(0);if((p|0)==(E|0))break;e=f[ta>>2]|0;if(!e)break;m=e+136|0;o=f[m>>2]|0;if((f[(f[e+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;la=f[e+88>>2]|0;b[la+(o*20|0)>>0]=79;d[la+(o*20|0)+2>>1]=0;f[la+(o*20|0)+4>>2]=p;f[la+(o*20|0)+8>>2]=E;f[la+(o*20|0)+12>>2]=0;f[la+(o*20|0)+16>>2]=0;b[la+(o*20|0)+1>>0]=0;break}else{tl(e,79,p,E,0)|0;break}}while(0);o=ya+136|0;e=f[o>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(e|0)){f[o>>2]=e+1;la=f[ya+88>>2]|0;b[la+(e*20|0)>>0]=51;d[la+(e*20|0)+2>>1]=0;f[la+(e*20|0)+4>>2]=E;f[la+(e*20|0)+8>>2]=0;f[la+(e*20|0)+12>>2]=0;f[la+(e*20|0)+16>>2]=0;b[la+(e*20|0)+1>>0]=0}else e=tl(ya,51,E,0,0)|0;m=f[o>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[o>>2]=m+1;la=f[ya+88>>2]|0;b[la+(m*20|0)>>0]=70;d[la+(m*20|0)+2>>1]=0;f[la+(m*20|0)+4>>2]=-1;f[la+(m*20|0)+8>>2]=E;f[la+(m*20|0)+12>>2]=0;f[la+(m*20|0)+16>>2]=0;b[la+(m*20|0)+1>>0]=0}else tl(ya,70,-1,E,0)|0;m=f[o>>2]|0;if(!(b[(f[ya>>2]|0)+81>>0]|0))e=(f[ya+88>>2]|0)+(((e|0)<0?m+-1|0:e)*20|0)|0;else e=72144;f[e+8>>2]=m;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[o>>2]=m+1;la=f[ya+88>>2]|0;b[la+(m*20|0)>>0]=15;d[la+(m*20|0)+2>>1]=0;f[la+(m*20|0)+4>>2]=E;f[la+(m*20|0)+8>>2]=0;f[la+(m*20|0)+12>>2]=0;f[la+(m*20|0)+16>>2]=0;b[la+(m*20|0)+1>>0]=0;break}else{tl(ya,15,E,0,0)|0;break}}while(0);e=d[ga>>1]|0;if(e<<16>>16>0){x=g+4|0;D=(Ca|0)!=0|N;y=oa&1;z=Aa+4|0;A=E+1|0;B=ya+136|0;C=ya+88|0;e=0;w=0;while(1){B:do if(Y){m=f[x>>2]|0;if((m|0)<=0){v=0;break}o=f[g>>2]|0;e=0;while(1){if((f[o+(e<<3)+4>>2]|0)==(w|0)){v=e;break B}e=e+1|0;if((e|0)>=(m|0)){v=e;break}}}else v=e;while(0);do if(D){if(Y?(v|0)>=(f[x>>2]|0):0){za=722;break}if(N){e=w+A|0;m=f[B>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[B>>2]=m+1;la=f[C>>2]|0;b[la+(m*20|0)>>0]=90;d[la+(m*20|0)+2>>1]=0;f[la+(m*20|0)+4>>2]=T;f[la+(m*20|0)+8>>2]=v;f[la+(m*20|0)+12>>2]=e;f[la+(m*20|0)+16>>2]=0;b[la+(m*20|0)+1>>0]=0;break}else{tl(ya,90,T,v,e)|0;break}}q=f[Ca+4+(v*20|0)>>2]|0;r=w+A|0;s=f[ta>>2]|0;do if(q){if((b[q>>0]|0)!=-92){p=xl(a,q,r)|0;za=744;break}e=f[q+28>>2]|0;m=s+136|0;o=f[m>>2]|0;if((f[(f[s+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;la=f[s+88>>2]|0;b[la+(o*20|0)>>0]=78;d[la+(o*20|0)+2>>1]=0;f[la+(o*20|0)+4>>2]=e;f[la+(o*20|0)+8>>2]=r;f[la+(o*20|0)+12>>2]=0;f[la+(o*20|0)+16>>2]=0;b[la+(o*20|0)+1>>0]=0;break}else{tl(s,78,e,r,0)|0;break}}else{p=xl(a,0,r)|0;za=744}while(0);do if((za|0)==744){za=0;if((p|0)==(r|0))break;e=f[ta>>2]|0;if(!e)break;m=e+136|0;o=f[m>>2]|0;if((f[(f[e+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;la=f[e+88>>2]|0;b[la+(o*20|0)>>0]=79;d[la+(o*20|0)+2>>1]=0;f[la+(o*20|0)+4>>2]=p;f[la+(o*20|0)+8>>2]=r;f[la+(o*20|0)+12>>2]=0;f[la+(o*20|0)+16>>2]=0;b[la+(o*20|0)+1>>0]=0;break}else{tl(e,79,p,r,0)|0;break}}while(0);e=(f[ia>>2]|0)+1|0;f[ia>>2]=e;m=s+136|0;o=f[m>>2]|0;if((f[(f[s+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;la=f[s+88>>2]|0;b[la+(o*20|0)>>0]=78;d[la+(o*20|0)+2>>1]=0;f[la+(o*20|0)+4>>2]=r;f[la+(o*20|0)+8>>2]=e;f[la+(o*20|0)+12>>2]=0;f[la+(o*20|0)+16>>2]=0;b[la+(o*20|0)+1>>0]=0}else tl(s,78,r,e,0)|0;b[q+38>>0]=b[q>>0]|0;b[q>>0]=-92;f[q+28>>2]=e;la=q+4|0;f[la>>2]=f[la>>2]&-4097}else za=722;while(0);C:do if((za|0)==722){za=0;e=f[(f[z>>2]|0)+(w<<4)+4>>2]|0;q=w+A|0;do if(e){if((b[e>>0]|0)!=-92){p=xl(a,e,q)|0;break}p=f[ta>>2]|0;e=f[e+28>>2]|0;m=p+136|0;o=f[m>>2]|0;if((f[(f[p+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;la=f[p+88>>2]|0;b[la+(o*20|0)>>0]=78;d[la+(o*20|0)+2>>1]=0;f[la+(o*20|0)+4>>2]=e;f[la+(o*20|0)+8>>2]=q;f[la+(o*20|0)+12>>2]=0;f[la+(o*20|0)+16>>2]=0;b[la+(o*20|0)+1>>0]=0;break C}else{tl(p,78,e,q,0)|0;break C}}else p=xl(a,0,q)|0;while(0);if((p|0)==(q|0))break;e=f[ta>>2]|0;if(!e)break;m=e+136|0;o=f[m>>2]|0;if((f[(f[e+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;la=f[e+88>>2]|0;b[la+(o*20|0)>>0]=79;d[la+(o*20|0)+2>>1]=0;f[la+(o*20|0)+4>>2]=p;f[la+(o*20|0)+8>>2]=q;f[la+(o*20|0)+12>>2]=0;f[la+(o*20|0)+16>>2]=0;b[la+(o*20|0)+1>>0]=0;break}else{tl(e,79,p,q,0)|0;break}}while(0);w=w+1|0;e=d[ga>>1]|0;if((w|0)>=(e<<16>>16|0))break;else e=v+y|0}}if(!ma){kn(ya,Aa,E+1|0);e=d[ga>>1]|0}m=e<<16>>16;x=E-m+-1|0;if(u){w=a+23|0;v=u;do{do if((b[v+8>>0]|0)==116){if((b[v+9>>0]|0)!=1)break;e=f[ta>>2]|0;if(!e){do if(!(f[sa>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[w>>0]=1}while(0);e=sl(a)|0}m=f[sa>>2]|0;m=f[((m|0)==0?a:m)+256>>2]|0;D:do if(!m)za=770;else while(1){if((f[m>>2]|0)==(v|0)?(f[m+12>>2]|0)==(i|0):0)break D;m=f[m+4>>2]|0;if(!m){za=770;break}}while(0);if((za|0)==770){za=0;m=ln(a,v,Aa,i)|0;if(!m)break}if(!(f[v>>2]|0))s=0;else{s=(f[a>>2]|0)+32|0;s=VA(f[s>>2]|0,f[s+4>>2]|0,13)|0;ba()|0;s=s&1^1}o=(f[ia>>2]|0)+1|0;f[ia>>2]=o;q=f[m+8>>2]|0;r=e+136|0;m=f[r>>2]|0;if((f[(f[e+12>>2]|0)+48>>2]|0)>(m|0)){f[r>>2]=m+1;la=f[e+88>>2]|0;b[la+(m*20|0)>>0]=45;d[la+(m*20|0)+2>>1]=0;f[la+(m*20|0)+4>>2]=x;f[la+(m*20|0)+8>>2]=I;f[la+(m*20|0)+12>>2]=o;f[la+(m*20|0)+16>>2]=0;b[la+(m*20|0)+1>>0]=0}else m=tl(e,45,x,I,o)|0;do if(!(b[(f[e>>2]|0)+81>>0]|0)){if((m|0)<0)m=(f[r>>2]|0)+-1|0;o=f[e+88>>2]|0;p=o+(m*20|0)+1|0;if(b[p>>0]|0){ul(e,o+(m*20|0)|0,q,-4);break}if(!q)break;f[o+(m*20|0)+16>>2]=q;b[p>>0]=-4}while(0);m=f[r>>2]|0;if((m|0)<=0)break;d[(f[e+88>>2]|0)+((m+-1|0)*20|0)+2>>1]=s}while(0);v=f[v+32>>2]|0}while((v|0)!=0);e=d[ga>>1]|0;m=e<<16>>16}o=m+1|0;if(e<<16>>16){e=a+28|0;if((f[e>>2]|0)>(m|0))break;f[e>>2]=o;f[a+32>>2]=E;break}if(!E)break;e=a+19|0;m=b[e>>0]|0;if((m&255)>=8)break;b[e>>0]=m+1<<24>>24;f[a+144+((m&255)<<2)>>2]=E}while(0);do if(!ma){do if(f[Z>>2]|0){e=ya+136|0;m=f[e>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;ma=f[ya+88>>2]|0;b[ma+(m*20|0)>>0]=73;d[ma+(m*20|0)+2>>1]=0;f[ma+(m*20|0)+4>>2]=0;f[ma+(m*20|0)+8>>2]=ea;f[ma+(m*20|0)+12>>2]=0;f[ma+(m*20|0)+16>>2]=0;b[ma+(m*20|0)+1>>0]=0;break}else{tl(ya,73,0,ea,0)|0;break}}while(0);E:do if((R|0)>-1){do if(N){e=ya+136|0;m=f[e>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;za=f[ya+88>>2]|0;b[za+(m*20|0)>>0]=90;d[za+(m*20|0)+2>>1]=0;f[za+(m*20|0)+4>>2]=T;f[za+(m*20|0)+8>>2]=R;f[za+(m*20|0)+12>>2]=ha;f[za+(m*20|0)+16>>2]=0;b[za+(m*20|0)+1>>0]=0;za=824;break}else{tl(ya,90,T,R,ha)|0;za=824;break}}else{if(ua){e=R+S|0;m=ya+136|0;o=f[m>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;za=f[ya+88>>2]|0;b[za+(o*20|0)>>0]=78;d[za+(o*20|0)+2>>1]=0;f[za+(o*20|0)+4>>2]=e;f[za+(o*20|0)+8>>2]=ha;f[za+(o*20|0)+12>>2]=0;f[za+(o*20|0)+16>>2]=0;b[za+(o*20|0)+1>>0]=0;za=824;break}else{tl(ya,78,e,ha,0)|0;za=824;break}}e=f[Ca+4+(R*20|0)>>2]|0;do if(e){if((b[e>>0]|0)!=-92){p=xl(a,e,ha)|0;za=814;break}p=f[ta>>2]|0;e=f[e+28>>2]|0;m=p+136|0;o=f[m>>2]|0;if((f[(f[p+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;na=f[p+88>>2]|0;b[na+(o*20|0)>>0]=78;d[na+(o*20|0)+2>>1]=0;f[na+(o*20|0)+4>>2]=e;f[na+(o*20|0)+8>>2]=ha;f[na+(o*20|0)+12>>2]=0;f[na+(o*20|0)+16>>2]=0;b[na+(o*20|0)+1>>0]=0;break}else{tl(p,78,e,ha,0)|0;break}}else{p=xl(a,0,ha)|0;za=814}while(0);do if((za|0)==814){if((p|0)==(ha|0))break;e=f[ta>>2]|0;if(!e)break;m=e+136|0;o=f[m>>2]|0;if((f[(f[e+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;na=f[e+88>>2]|0;b[na+(o*20|0)>>0]=79;d[na+(o*20|0)+2>>1]=0;f[na+(o*20|0)+4>>2]=p;f[na+(o*20|0)+8>>2]=ha;f[na+(o*20|0)+12>>2]=0;f[na+(o*20|0)+16>>2]=0;b[na+(o*20|0)+1>>0]=0;break}else{tl(e,79,p,ha,0)|0;break}}while(0);if(!(b[(f[ya>>2]|0)+81>>0]|0))e=(f[ya+88>>2]|0)+(((f[ya+136>>2]|0)+-1|0)*20|0)|0;else e=72144;if((b[e>>0]|0)!=73){za=824;break}if(f[Z>>2]|0){za=834;break}b[e>>0]=121;f[e+4>>2]=f[wa>>2];f[e+8>>2]=ha;f[e+12>>2]=G;H=1;break E}while(0);do if((za|0)==824){if(f[Z>>2]|0){za=834;break}e=ya+136|0;m=f[e>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;na=f[ya+88>>2]|0;b[na+(m*20|0)>>0]=51;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=ha;f[na+(m*20|0)+8>>2]=0;f[na+(m*20|0)+12>>2]=0;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0}else m=tl(ya,51,ha,0,0)|0;o=f[wa>>2]|0;p=f[e>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(p|0)){f[e>>2]=p+1;na=f[ya+88>>2]|0;b[na+(p*20|0)>>0]=121;d[na+(p*20|0)+2>>1]=0;f[na+(p*20|0)+4>>2]=o;f[na+(p*20|0)+8>>2]=ha;f[na+(p*20|0)+12>>2]=G;f[na+(p*20|0)+16>>2]=0;b[na+(p*20|0)+1>>0]=0}else tl(ya,121,o,ha,G)|0;o=f[e>>2]|0;if(!(b[(f[ya>>2]|0)+81>>0]|0))m=(f[ya+88>>2]|0)+(((m|0)<0?o+-1|0:m)*20|0)|0;else m=72144;f[m+8>>2]=o}while(0);do if((za|0)==834){e=ya+136|0;m=f[e>>2]|0;o=m+2|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;na=f[ya+88>>2]|0;b[na+(m*20|0)>>0]=50;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=ha;f[na+(m*20|0)+8>>2]=o;f[na+(m*20|0)+12>>2]=0;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0;break}else{tl(ya,50,ha,o,0)|0;break}}while(0);m=f[e>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;H=f[ya+88>>2]|0;b[H+(m*20|0)>>0]=15;d[H+(m*20|0)+2>>1]=0;f[H+(m*20|0)+4>>2]=ha;f[H+(m*20|0)+8>>2]=0;f[H+(m*20|0)+12>>2]=0;f[H+(m*20|0)+16>>2]=0;b[H+(m*20|0)+1>>0]=0;H=0;break}else{tl(ya,15,ha,0,0)|0;H=0;break}}else if(!(f[Z>>2]|na)){e=f[wa>>2]|0;m=ya+136|0;o=f[m>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;H=f[ya+88>>2]|0;b[H+(o*20|0)>>0]=121;d[H+(o*20|0)+2>>1]=0;f[H+(o*20|0)+4>>2]=e;f[H+(o*20|0)+8>>2]=ha;f[H+(o*20|0)+12>>2]=G;f[H+(o*20|0)+16>>2]=0;b[H+(o*20|0)+1>>0]=0;H=1;break}else{tl(ya,121,e,ha,G)|0;H=1;break}}else{e=ya+136|0;m=f[e>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;H=f[ya+88>>2]|0;b[H+(m*20|0)>>0]=73;d[H+(m*20|0)+2>>1]=0;f[H+(m*20|0)+4>>2]=0;f[H+(m*20|0)+8>>2]=ha;f[H+(m*20|0)+12>>2]=0;f[H+(m*20|0)+16>>2]=0;b[H+(m*20|0)+1>>0]=0;H=0;break}else{tl(ya,73,0,ha,0)|0;H=0;break}}while(0);do if((G|0)>0){e=f[ta>>2]|0;m=e+136|0;o=f[m>>2]|0;if((f[(f[e+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;na=f[e+88>>2]|0;b[na+(o*20|0)>>0]=-104;d[na+(o*20|0)+2>>1]=0;f[na+(o*20|0)+4>>2]=G;f[na+(o*20|0)+8>>2]=ha;f[na+(o*20|0)+12>>2]=0;f[na+(o*20|0)+16>>2]=0;b[na+(o*20|0)+1>>0]=0;break}else{tl(e,152,G,ha,0)|0;break}}while(0);if((d[ga>>1]|0)>0){D=Aa+40|0;E=ya+136|0;F=ya+88|0;G=Aa+4|0;v=(J|0)==0;w=a+23|0;x=g+4|0;y=ra+20|0;z=ra+4|0;A=ra+8|0;B=ra+24|0;C=(S|0)==(_|0);e=0;s=0;do{r=s+_|0;F:do if((s|0)==(d[D>>1]|0)){m=f[E>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[E>>2]=m+1;na=f[F>>2]|0;b[na+(m*20|0)>>0]=74;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=r;f[na+(m*20|0)+8>>2]=0;f[na+(m*20|0)+12>>2]=0;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0;break}else{tl(ya,74,r,0,0)|0;break}}else{G:do if(oa)if(!(b[(f[G>>2]|0)+(s<<4)+15>>0]&2)){m=s-e|0;za=865;break}else{e=e+1|0;break}else{o=f[x>>2]|0;if((o|0)<=0){m=0;za=865;break}p=f[g>>2]|0;m=0;while(1){if((f[p+(m<<3)+4>>2]|0)==(s|0)){za=865;break G}m=m+1|0;if((m|0)>=(o|0)){za=865;break}}}while(0);do if((za|0)==865){za=0;if(v|(m|0)<0)break;if(Y?(m|0)>=(f[x>>2]|0):0)break;if(N){o=f[E>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(o|0)){f[E>>2]=o+1;na=f[F>>2]|0;b[na+(o*20|0)>>0]=90;d[na+(o*20|0)+2>>1]=0;f[na+(o*20|0)+4>>2]=T;f[na+(o*20|0)+8>>2]=m;f[na+(o*20|0)+12>>2]=r;f[na+(o*20|0)+16>>2]=0;b[na+(o*20|0)+1>>0]=0;break F}else{tl(ya,90,T,m,r)|0;break F}}if(ua){if(C)break F;m=m+S|0;o=f[E>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(o|0)){f[E>>2]=o+1;na=f[F>>2]|0;b[na+(o*20|0)>>0]=79;d[na+(o*20|0)+2>>1]=0;f[na+(o*20|0)+4>>2]=m;f[na+(o*20|0)+8>>2]=r;f[na+(o*20|0)+12>>2]=0;f[na+(o*20|0)+16>>2]=0;b[na+(o*20|0)+1>>0]=0;break F}else{tl(ya,79,m,r,0)|0;break F}}m=f[Ca+4+(m*20|0)>>2]|0;do if(m){if((b[m>>0]|0)!=-92){q=xl(a,m,r)|0;break}q=f[ta>>2]|0;m=f[m+28>>2]|0;o=q+136|0;p=f[o>>2]|0;if((f[(f[q+12>>2]|0)+48>>2]|0)>(p|0)){f[o>>2]=p+1;na=f[q+88>>2]|0;b[na+(p*20|0)>>0]=78;d[na+(p*20|0)+2>>1]=0;f[na+(p*20|0)+4>>2]=m;f[na+(p*20|0)+8>>2]=r;f[na+(p*20|0)+12>>2]=0;f[na+(p*20|0)+16>>2]=0;b[na+(p*20|0)+1>>0]=0;break F}else{tl(q,78,m,r,0)|0;break F}}else q=xl(a,0,r)|0;while(0);if((q|0)==(r|0))break F;m=f[ta>>2]|0;if(!m)break F;o=m+136|0;p=f[o>>2]|0;if((f[(f[m+12>>2]|0)+48>>2]|0)>(p|0)){f[o>>2]=p+1;na=f[m+88>>2]|0;b[na+(p*20|0)>>0]=79;d[na+(p*20|0)+2>>1]=0;f[na+(p*20|0)+4>>2]=q;f[na+(p*20|0)+8>>2]=r;f[na+(p*20|0)+12>>2]=0;f[na+(p*20|0)+16>>2]=0;b[na+(p*20|0)+1>>0]=0;break F}else{tl(m,79,q,r,0)|0;break F}}while(0);m=f[(f[G>>2]|0)+(s<<4)+4>>2]|0;do if(!(b[w>>0]|0)){if(m|0){za=874;break}q=xl(a,0,r)|0}else{b[y>>0]=2;f[z>>2]=155;f[A>>2]=156;f[B>>2]=0;if(m){oi(ra,m)|0;if(!(b[y>>0]|0)){za=874;break}}Pm(a,m,r)|0;break F}while(0);do if((za|0)==874){za=0;if((b[m>>0]|0)!=-92){q=xl(a,m,r)|0;break}q=f[ta>>2]|0;m=f[m+28>>2]|0;o=q+136|0;p=f[o>>2]|0;if((f[(f[q+12>>2]|0)+48>>2]|0)>(p|0)){f[o>>2]=p+1;na=f[q+88>>2]|0;b[na+(p*20|0)>>0]=78;d[na+(p*20|0)+2>>1]=0;f[na+(p*20|0)+4>>2]=m;f[na+(p*20|0)+8>>2]=r;f[na+(p*20|0)+12>>2]=0;f[na+(p*20|0)+16>>2]=0;b[na+(p*20|0)+1>>0]=0;break F}else{tl(q,78,m,r,0)|0;break F}}while(0);if((q|0)==(r|0))break;m=f[ta>>2]|0;if(!m)break;o=m+136|0;p=f[o>>2]|0;if((f[(f[m+12>>2]|0)+48>>2]|0)>(p|0)){f[o>>2]=p+1;na=f[m+88>>2]|0;b[na+(p*20|0)>>0]=79;d[na+(p*20|0)+2>>1]=0;f[na+(p*20|0)+4>>2]=q;f[na+(p*20|0)+8>>2]=r;f[na+(p*20|0)+12>>2]=0;f[na+(p*20|0)+16>>2]=0;b[na+(p*20|0)+1>>0]=0;break}else{tl(m,79,q,r,0)|0;break}}while(0);s=s+1|0}while((s|0)<(d[ga>>1]|0))}if(!(f[Z>>2]|0)){mn(a,Aa,Q,f[wa>>2]|0,f[va>>2]|0,ea,0,R>>>31&255^1,i&255,I,ra,0,k);nn(a,Aa,0,ea,0,0);do if(!(f[ra>>2]|0))e=1;else{if(u|0){e=0;break}if((f[P>>2]&16384|0)==0&0==0){e=1;break}s=f[Aa>>2]|0;p=f[pa>>2]|0;q=f[p+68>>2]|0;if(!q){m=p+60|0;e=p+64|0}else{m=b[s>>0]|0;if(!(m<<24>>24))e=0;else{e=0;o=s;do{o=o+1|0;e=U(e+(h[1232+(m&255)>>0]|0)|0,-1640531535)|0;m=b[o>>0]|0}while(m<<24>>24!=0)}e=(e>>>0)%((f[p+56>>2]|0)>>>0)|0;m=q+(e<<3)|0;e=q+(e<<3)+4|0}m=f[m>>2]|0;H:do if(!m)e=72124;else{r=h[1232+(h[s>>0]|0)>>0]|0;while(1){e=f[e>>2]|0;m=m+-1|0;p=f[e+12>>2]|0;ra=b[p>>0]|0;o=(h[1232+(ra&255)>>0]|0)-r|0;if(!(ra<<24>>24==0|(o|0)!=0)){q=s;do{p=p+1|0;q=q+1|0;ra=b[p>>0]|0;o=(h[1232+(ra&255)>>0]|0)-(h[1232+(h[q>>0]|0)>>0]|0)|0}while(!(ra<<24>>24==0|(o|0)!=0))}if(!o)break H;if(!m){e=72124;break}}}while(0);e=(f[e+8>>2]|0)==0&1}while(0);on(a,Aa,f[wa>>2]|0,f[va>>2]|0,ea,Q,0,H,e);break}e=f[Aa+64>>2]|0;I:do if(!e)e=0;else while(1){if((f[e>>2]|0)==(Da|0))break I;e=f[e+24>>2]|0;if(!e){e=0;break}}while(0);s=f[sa>>2]|0;s=(s|0)==0?a:s;r=s+200|0;q=f[r>>2]|0;p=s+248|0;J:do if((q|0)>0){m=f[p>>2]|0;o=0;do{if((f[m+(o<<2)>>2]|0)==(Aa|0))break J;o=o+1|0}while((o|0)<(q|0));o=p;za=918}else{o=p;m=f[p>>2]|0;za=918}while(0);K:do if((za|0)==918){do if(!(Mc()|0)){wa=(q<<2)+4|0;m=Nc(m,wa,((wa|0)<0)<<31>>31)|0;if(!m)break;f[o>>2]=m;wa=f[r>>2]|0;f[r>>2]=wa+1;f[m+(wa<<2)>>2]=Aa;break K}while(0);m=f[s>>2]|0;o=m+81|0;if(b[o>>0]|0)break;if(b[m+82>>0]|0)break;b[o>>0]=1;if((f[m+180>>2]|0)>0)f[m+264>>2]=1;wa=m+272|0;f[wa>>2]=(f[wa>>2]|0)+1}while(0);o=(d[ga>>1]|0)+2|0;q=ya+136|0;m=f[q>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[q>>2]=m+1;wa=f[ya+88>>2]|0;b[wa+(m*20|0)>>0]=10;d[wa+(m*20|0)+2>>1]=0;f[wa+(m*20|0)+4>>2]=1;f[wa+(m*20|0)+8>>2]=o;f[wa+(m*20|0)+12>>2]=ea;f[wa+(m*20|0)+16>>2]=0;b[wa+(m*20|0)+1>>0]=0}else m=tl(ya,10,1,o,ea)|0;do if(!(b[(f[ya>>2]|0)+81>>0]|0)){if((m|0)<0)m=(f[q>>2]|0)+-1|0;o=f[ya+88>>2]|0;p=o+(m*20|0)+1|0;if(b[p>>0]|0){ul(ya,o+(m*20|0)|0,e,-12);break}if(!e)break;f[o+(m*20|0)+16>>2]=e;b[p>>0]=-12;wa=e+12|0;f[wa>>2]=(f[wa>>2]|0)+1}while(0);e=f[q>>2]|0;if((e|0)>0)d[(f[ya+88>>2]|0)+((e+-1|0)*20|0)+2>>1]=(i|0)==11?2:i&65535;wa=f[sa>>2]|0;b[((wa|0)==0?a:wa)+21>>0]=1}while(0);do if(n|0){e=ya+136|0;m=f[e>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;wa=f[ya+88>>2]|0;b[wa+(m*20|0)>>0]=83;d[wa+(m*20|0)+2>>1]=0;f[wa+(m*20|0)+4>>2]=n;f[wa+(m*20|0)+8>>2]=1;f[wa+(m*20|0)+12>>2]=0;f[wa+(m*20|0)+16>>2]=0;b[wa+(m*20|0)+1>>0]=0;break}else{tl(ya,83,n,1,0)|0;break}}while(0);if(qa){v=ha+-1-(d[ga>>1]|0)|0;w=a+23|0;do{do if((b[u+8>>0]|0)==116){if((b[u+9>>0]|0)!=2)break;e=f[ta>>2]|0;if(!e){do if(!(f[sa>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[w>>0]=1}while(0);e=sl(a)|0}m=f[sa>>2]|0;m=f[((m|0)==0?a:m)+256>>2]|0;L:do if(!m)za=975;else while(1){if((f[m>>2]|0)==(u|0)?(f[m+12>>2]|0)==(i|0):0)break L;m=f[m+4>>2]|0;if(!m){za=975;break}}while(0);if((za|0)==975){za=0;m=ln(a,u,Aa,i)|0;if(!m)break}if(!(f[u>>2]|0))s=0;else{s=(f[a>>2]|0)+32|0;s=VA(f[s>>2]|0,f[s+4>>2]|0,13)|0;ba()|0;s=s&1^1}o=(f[ia>>2]|0)+1|0;f[ia>>2]=o;q=f[m+8>>2]|0;r=e+136|0;m=f[r>>2]|0;if((f[(f[e+12>>2]|0)+48>>2]|0)>(m|0)){f[r>>2]=m+1;wa=f[e+88>>2]|0;b[wa+(m*20|0)>>0]=45;d[wa+(m*20|0)+2>>1]=0;f[wa+(m*20|0)+4>>2]=v;f[wa+(m*20|0)+8>>2]=I;f[wa+(m*20|0)+12>>2]=o;f[wa+(m*20|0)+16>>2]=0;b[wa+(m*20|0)+1>>0]=0}else m=tl(e,45,v,I,o)|0;do if(!(b[(f[e>>2]|0)+81>>0]|0)){if((m|0)<0)m=(f[r>>2]|0)+-1|0;o=f[e+88>>2]|0;p=o+(m*20|0)+1|0;if(b[p>>0]|0){ul(e,o+(m*20|0)|0,q,-4);break}if(!q)break;f[o+(m*20|0)+16>>2]=q;b[p>>0]=-4}while(0);m=f[r>>2]|0;if((m|0)<=0)break;d[(f[e+88>>2]|0)+((m+-1|0)*20|0)+2>>1]=s}while(0);u=f[u+32>>2]|0}while((u|0)!=0)}p=f[L>>2]|0;e=f[p+64>>2]|0;if(e|0)f[e+(K<<2)>>2]=f[ya+136>>2];if(!N){if(!ua)break;e=ya+136|0;m=f[e>>2]|0;if((f[p+48>>2]|0)>(m|0)){f[e>>2]=m+1;i=f[ya+88>>2]|0;b[i+(m*20|0)>>0]=11;d[i+(m*20|0)+2>>1]=0;f[i+(m*20|0)+4>>2]=0;f[i+(m*20|0)+8>>2]=M;f[i+(m*20|0)+12>>2]=0;f[i+(m*20|0)+16>>2]=0;b[i+(m*20|0)+1>>0]=0}else tl(ya,11,0,M,0)|0;m=f[e>>2]|0;if(!(b[(f[ya>>2]|0)+81>>0]|0))e=(f[ya+88>>2]|0)+(((O|0)<0?m+-1|0:O)*20|0)|0;else e=72144;f[e+8>>2]=m;break}o=ya+136|0;e=f[o>>2]|0;if((f[p+48>>2]|0)>(e|0)){f[o>>2]=e+1;i=f[ya+88>>2]|0;b[i+(e*20|0)>>0]=5;d[i+(e*20|0)+2>>1]=0;f[i+(e*20|0)+4>>2]=T;f[i+(e*20|0)+8>>2]=M;f[i+(e*20|0)+12>>2]=0;f[i+(e*20|0)+16>>2]=0;b[i+(e*20|0)+1>>0]=0}else tl(ya,5,T,M,0)|0;m=f[o>>2]|0;if(!(b[(f[ya>>2]|0)+81>>0]|0))e=(f[ya+88>>2]|0)+(((O|0)<0?m+-1|0:O)*20|0)|0;else e=72144;f[e+8>>2]=m;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[o>>2]=m+1;i=f[ya+88>>2]|0;b[i+(m*20|0)>>0]=117;d[i+(m*20|0)+2>>1]=0;f[i+(m*20|0)+4>>2]=T;f[i+(m*20|0)+8>>2]=0;f[i+(m*20|0)+12>>2]=0;f[i+(m*20|0)+16>>2]=0;b[i+(m*20|0)+1>>0]=0;break}else{tl(ya,117,T,0,0)|0;break}}while(0);do if(!(b[xa>>0]|0)){if(f[a+120>>2]|0)break;if(!(f[a+112>>2]|0))break;jn(a)}while(0);if(!n)za=1020;else{e=ya+136|0;m=f[e>>2]|0;if((f[(f[ya+12>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;a=f[ya+88>>2]|0;b[a+(m*20|0)>>0]=81;d[a+(m*20|0)+2>>1]=0;f[a+(m*20|0)+4>>2]=n;f[a+(m*20|0)+8>>2]=1;f[a+(m*20|0)+12>>2]=0;f[a+(m*20|0)+16>>2]=0;b[a+(m*20|0)+1>>0]=0}else tl(ya,81,n,1,0)|0;Mi(ya,1);if(b[(f[ya>>2]|0)+81>>0]|0){za=1020;break}$e(f[ya+100>>2]|0,56396,-1,1,0)|0;za=1020}}else{l=0;za=1020}}else{l=0;za=1020}while(0);if((za|0)==1020){ng(Da,c);if(!Ca){e=Ba;r=l;break}}jg(Da,Ca);e=Ba;r=l}else za=1019;while(0);if((za|0)==1019){ng(Da,c);r=0}do if(k|0){l=f[k>>2]|0;if(l|0)jg(Da,l);l=f[k+4>>2]|0;if(l|0)ig(Da,l);l=f[k+8>>2]|0;if(l|0)jg(Da,l);l=f[k+12>>2]|0;if(l|0)ig(Da,l);if(Da|0){if(f[Da+480>>2]|0){Kc(Da,k);break}c=k;if((f[Da+304>>2]|0)>>>0<=c>>>0?(f[Da+308>>2]|0)>>>0>c>>>0:0){c=Da+300|0;f[k>>2]=f[c>>2];f[c>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{c=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);if(e|0)mg(Da,e,1);do if(g|0){q=g+4|0;l=f[g>>2]|0;M:do if((f[q>>2]|0)>0){m=Da+480|0;n=Da+304|0;o=Da+308|0;p=Da+300|0;if(!Da){e=0;while(1){l=f[l+(e<<3)>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{k=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);e=e+1|0;l=f[g>>2]|0;if((e|0)>=(f[q>>2]|0))break M}}e=0;do{l=f[l+(e<<3)>>2]|0;do if(l|0){if(f[m>>2]|0){Kc(Da,l);break}k=l;if((f[n>>2]|0)>>>0<=k>>>0?(f[o>>2]|0)>>>0>k>>>0:0){f[l>>2]=f[p>>2];f[p>>2]=l;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{k=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);e=e+1|0;l=f[g>>2]|0}while((e|0)<(f[q>>2]|0))}while(0);N:do if(l){do if(Da|0){e=Da+480|0;if(!(f[e>>2]|0)){m=l;if((f[Da+304>>2]|0)>>>0>m>>>0)break;if((f[Da+308>>2]|0)>>>0<=m>>>0)break;k=Da+300|0;f[l>>2]=f[k>>2];f[k>>2]=l}else Kc(Da,l);l=e;za=1075;break N}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);za=1073;break}else{za=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-za;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);za=1073;break}}else za=1073;while(0);if((za|0)==1073)if(Da){l=Da+480|0;za=1075}if((za|0)==1075){if(f[l>>2]|0){Kc(Da,g);break}k=g;if((f[Da+304>>2]|0)>>>0<=k>>>0?(f[Da+308>>2]|0)>>>0>k>>>0:0){k=Da+300|0;f[g>>2]=f[k>>2];f[k>>2]=g;break}}if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{k=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);if(!r){t=Ea;return}if(Da|0){if(f[Da+480>>2]|0){Kc(Da,r);t=Ea;return}k=r;if((f[Da+304>>2]|0)>>>0<=k>>>0?(f[Da+308>>2]|0)>>>0>k>>>0:0){Da=Da+300|0;f[r>>2]=f[Da>>2];f[Da>>2]=r;t=Ea;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);t=Ea;return}else{Da=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-Da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);t=Ea;return}}function Rl(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0;p=f[a>>2]|0;if(!c){a:do if(!p){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](8)|0;o=25;break}c=ib[f[37372>>2]&255](8)|0;if((f[18194]|0)>>>0<8)f[18194]=8;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){n=f[18187]|0;m=LA(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&m>>>0<=n>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c){p=0;return p|0}e=ib[f[37368>>2]&255](c)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){p=0;return p|0}}else{do if((j[p+276>>1]|0)>=8){e=p+300|0;c=f[e>>2]|0;if(c|0){f[e>>2]=f[c>>2];o=p+284|0;f[o>>2]=(f[o>>2]|0)+1;o=25;break a}e=p+296|0;c=f[e>>2]|0;if(!c){c=p+292|0;break}else{f[e>>2]=f[c>>2];o=p+284|0;f[o>>2]=(f[o>>2]|0)+1;o=25;break a}}else c=p+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(p,8,0)|0;o=25}while(0);if((o|0)==25)if(!c){p=0;return p|0}n=c;m=n;b[m>>0]=0;b[m+1>>0]=0;b[m+2>>0]=0;b[m+3>>0]=0;n=n+4|0;b[n>>0]=0;b[n+1>>0]=0;b[n+2>>0]=0;b[n+3>>0]=0}m=f[c>>2]|0;n=c+4|0;g=f[n>>2]|0;b:do if(!(g+-1&g)){i=(g|0)==0;l=g<<4;k=i?8:l;l=i?0:((l|0)<0)<<31>>31;c:do if(!m){if(f[p+272>>2]|0){if(b[p+81>>0]|0)break}else{do if(!(l>>>0>0|((l|0)==0?k>>>0>(j[p+276>>1]|0)>>>0:0))){i=p+300|0;e=f[i>>2]|0;if(e|0){f[i>>2]=f[e>>2];o=p+284|0;f[o>>2]=(f[o>>2]|0)+1;o=45;break c}i=p+296|0;e=f[i>>2]|0;if(!e){e=p+292|0;break}else{f[i>>2]=f[e>>2];o=p+284|0;f[o>>2]=(f[o>>2]|0)+1;o=45;break c}}else e=p+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(p,k,l)|0;o=45}else{o=m;if((f[p+304>>2]|0)>>>0<=o>>>0?(f[p+308>>2]|0)>>>0>o>>>0:0){if(!(l>>>0>0|((l|0)==0?k>>>0>(j[p+276>>1]|0)>>>0:0))){e=m;o=48;break b}e=Lc(p,m,k,l)|0;o=45;break}e=Lc(p,m,k,l)|0;o=45}while(0);if((o|0)==45){if(e|0){o=48;break}g=f[n>>2]|0}f[c>>2]=m;e=m}else{e=m;o=48}while(0);if((o|0)==48){i=e+(g<<3)|0;m=i;b[m>>0]=0;b[m+1>>0]=0;b[m+2>>0]=0;b[m+3>>0]=0;i=i+4|0;b[i>>0]=0;b[i+1>>0]=0;b[i+2>>0]=0;b[i+3>>0]=0;i=(f[n>>2]|0)+1|0;f[n>>2]=i;f[c>>2]=e;if((g|0)<0)g=i;else{k=pl(p,d)|0;f[(f[c>>2]|0)+(g<<3)>>2]=k;if((k|0)==0|(h[a+196>>0]|0)<2){p=c;return p|0}i=f[a>>2]|0;d:do if(!i){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](16)|0;o=114;break}e=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;i=71896;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){p=f[18187]|0;n=LA(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;m=ba()|0;f[17976]=((m|0)<0|(m|0)==0&n>>>0<=p>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e){p=c;return p|0}g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}else{if(f[i+272>>2]|0){if(b[i+81>>0]|0){p=c;return p|0}}else{do if((j[i+276>>1]|0)>=16){g=i+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];o=i+284|0;f[o>>2]=(f[o>>2]|0)+1;o=114;break d}g=i+296|0;e=f[g>>2]|0;if(!e){e=i+292|0;break}else{f[g>>2]=f[e>>2];o=i+284|0;f[o>>2]=(f[o>>2]|0)+1;o=114;break d}}else e=i+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(i,16,0)|0;o=114}while(0);if((o|0)==114)if(!e){p=c;return p|0}g=e+4|0;i=g+12|0;do{b[g>>0]=0;g=g+1|0}while((g|0)<(i|0));f[e>>2]=k;o=d;d=f[o+4>>2]|0;p=e+4|0;f[p>>2]=f[o>>2];f[p+4>>2]=d;p=a+268|0;f[e+12>>2]=f[p>>2];f[p>>2]=e;p=c;return p|0}}e:do if((g|0)>0){i=p+480|0;k=p+304|0;l=p+308|0;m=p+300|0;if(!p){g=0;while(1){e=f[e+(g<<3)>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{d=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);g=g+1|0;e=f[c>>2]|0;if((g|0)>=(f[n>>2]|0))break e}}g=0;do{e=f[e+(g<<3)>>2]|0;do if(e|0){if(f[i>>2]|0){Kc(p,e);break}d=e;if((f[k>>2]|0)>>>0<=d>>>0?(f[l>>2]|0)>>>0>d>>>0:0){f[e>>2]=f[m>>2];f[m>>2]=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{d=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);g=g+1|0;e=f[c>>2]|0}while((g|0)<(f[n>>2]|0))}while(0);f:do if(e){do if(p|0){g=p+480|0;if(!(f[g>>2]|0)){i=e;if((f[p+304>>2]|0)>>>0>i>>>0)break;if((f[p+308>>2]|0)>>>0<=i>>>0)break;d=p+300|0;f[e>>2]=f[d>>2];f[d>>2]=e}else Kc(p,e);e=g;o=81;break f}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);o=79;break}else{o=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);o=79;break}}else o=79;while(0);if((o|0)==79)if(p){e=p+480|0;o=81}if((o|0)==81){if(f[e>>2]|0){Kc(p,c);p=0;return p|0}d=c;if((f[p+304>>2]|0)>>>0<=d>>>0?(f[p+308>>2]|0)>>>0>d>>>0:0){p=p+300|0;f[c>>2]=f[p>>2];f[p>>2]=c;p=0;return p|0}}if(!c){p=0;return p|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);p=0;return p|0}else{p=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);p=0;return p|0}return 0}function Sl(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;e=f[a>>2]|0;l=e+20|0;d=f[l>>2]|0;if((d|0)<=0)return;k=e+16|0;if(!c){e=0;do{if(f[(f[k>>2]|0)+(e<<4)+4>>2]|0){en(a,e);d=f[l>>2]|0}e=e+1|0}while((e|0)<(d|0));return}j=0;do{e=f[k>>2]|0;if(f[e+(j<<4)+4>>2]|0){g=f[e+(j<<4)>>2]|0;i=b[c>>0]|0;e=(h[1232+(i&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0;if(!(i<<24>>24==0|(e|0)!=0)){i=c;do{i=i+1|0;g=g+1|0;m=b[i>>0]|0;e=(h[1232+(m&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(m<<24>>24==0|(e|0)!=0))}if(!e){en(a,j);d=f[l>>2]|0}}j=j+1|0}while((j|0)<(d|0));return}function Tl(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+128|0;e=m+96|0;j=m+112|0;k=m;f[j>>2]=0;l=f[a>>2]|0;if(f[a+36>>2]|0){t=m;return}f[e>>2]=d;d=zg(l,c,e)|0;if(!d){t=m;return}c=a+18|0;b[c>>0]=(b[c>>0]|0)+1<<24>>24;e=a+184|0;g=k;h=e;i=g+88|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));g=e;i=g+88|0;do{b[g>>0]=0;g=g+1|0}while((g|0)<(i|0));bg(a,d,j)|0;Zh(l,f[j>>2]|0);Zh(l,d);g=e;h=k;i=g+88|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[c>>0]=(b[c>>0]|0)+-1<<24>>24;t=m;return}function Ul(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+32|0;l=m+8|0;i=m;g=f[a+8>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;g=sl(a)|0}k=a+19|0;h=b[k>>0]|0;if(!(h<<24>>24)){h=a+44|0;j=(f[h>>2]|0)+1|0;f[h>>2]=j}else{j=h+-1<<24>>24;b[k>>0]=j;j=f[a+144+((j&255)<<2)>>2]|0}if((c|0)<2)ni(a,56136,i);h=g+136|0;i=f[h>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(i|0)){f[h>>2]=i+1;h=f[g+88>>2]|0;b[h+(i*20|0)>>0]=-119;d[h+(i*20|0)+2>>1]=0;f[h+(i*20|0)+4>>2]=c;f[h+(i*20|0)+8>>2]=j;f[h+(i*20|0)+12>>2]=e;f[h+(i*20|0)+16>>2]=0;b[h+(i*20|0)+1>>0]=0}else tl(g,137,c,j,e)|0;i=f[a+116>>2]|0;b[((i|0)==0?a:i)+21>>0]=1;f[l>>2]=f[(f[(f[a>>2]|0)+16>>2]|0)+(e<<4)>>2];f[l+4>>2]=43770;f[l+8>>2]=c;f[l+12>>2]=j;f[l+16>>2]=j;Tl(a,56151,l);if(!j){t=m;return}g=b[k>>0]|0;if((g&255)>=8){t=m;return}b[k>>0]=g+1<<24>>24;f[a+144+((g&255)<<2)>>2]=j;t=m;return} -function el(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0;va=t;t=t+176|0;ua=va+160|0;qa=va+152|0;pa=va+144|0;oa=va+128|0;na=va+120|0;ma=va+112|0;la=va+104|0;T=va+96|0;S=va+88|0;R=va+80|0;Q=va+72|0;P=va+64|0;J=va+56|0;I=va+48|0;H=va+40|0;L=va+24|0;K=va+16|0;G=va+8|0;F=va;ja=va+168|0;ra=f[a>>2]|0;sa=f[ra>>2]|0;ta=c+8|0;e=f[ta>>2]|0;f[ta>>2]=e|64;ka=sa+81|0;if(b[ka>>0]|0){ua=2;t=va;return ua|0}if(e&64|0){ua=1;t=va;return ua|0}B=c+32|0;ha=f[B>>2]|0;ia=f[c>>2]|0;e=f[c+64>>2]|0;if(e|0){ga=ra+260|0;f[e+4>>2]=f[ga>>2];f[ga>>2]=e}Tk(ra,ha);ga=ha+8|0;a:do if((f[ha>>2]|0)>0){z=0;A=ga;b:while(1){y=A+37|0;q=b[y>>0]|0;do if(!(q&32)){v=f[a>>2]|0;s=f[v>>2]|0;w=v+260|0;e=f[w>>2]|0;x=A+4|0;c:do if((f[x>>2]|0)==0?(E=f[A+8>>2]|0,!((e|0)==0|(E|0)==0)):0){d:while(1){o=f[e>>2]|0;e:do if((o|0)>0){ea=b[E>>0]|0;p=b[1232+(ea&255)>>0]|0;if(!(ea<<24>>24)){g=0;while(1){i=e+8+(g<<4)|0;k=f[i>>2]|0;g=g+1|0;if(p<<24>>24==(b[1232+(h[k>>0]|0)>>0]|0)){m=i;i=k;break d}if((g|0)>=(o|0))break e}}l=0;do{m=e+8+(l<<4)|0;i=f[m>>2]|0;if(p<<24>>24==(b[1232+(h[i>>0]|0)>>0]|0)){g=i;k=E;do{k=k+1|0;g=g+1|0;ea=b[k>>0]|0;n=(h[1232+(ea&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(ea<<24>>24==0|(n|0)!=0));if(!n)break d}l=l+1|0}while((l|0)<(o|0))}while(0);e=f[e+4>>2]|0;if(!e)break c}u=m+12|0;g=f[u>>2]|0;if(g|0){fa=24;break b}if(q&4){fa=26;break b}l=(s|0)==0;f:do if(l){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](80)|0;fa=50;break}g=ib[f[37372>>2]&255](80)|0;if((f[18194]|0)>>>0<80)f[18194]=80;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){ea=f[18187]|0;da=LA(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;ca=ba()|0;f[17976]=((ca|0)<0|(ca|0)==0&da>>>0<=ea>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){fa=51;break b}i=ib[f[37368>>2]&255](g)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0<=(f[18196]|0)>>>0)break;f[18196]=i}else{if(f[s+272>>2]|0){if(b[s+81>>0]|0){fa=51;break b}}else{do if((j[s+276>>1]|0)>=80){i=s+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];fa=s+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=50;break f}i=s+296|0;g=f[i>>2]|0;if(!g){g=s+292|0;break}else{f[i>>2]=f[g>>2];fa=s+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=50;break f}}else g=s+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(s,80,0)|0;fa=50}while(0);if((fa|0)==50){fa=0;if(!g){fa=51;break b}}M=g;N=M+80|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[A+16>>2]=g;r=g+32|0;f[r>>2]=1;n=f[m>>2]|0;g:do if(!n)i=0;else{o=(wz(n)|0)+1|0;h:do if(l){ea=KA(o|0,0,-1,-1)|0;da=ba()|0;if(da>>>0>0|(da|0)==0&ea>>>0>2147483390){i=0;break g}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](o)|0;fa=77;break}i=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){ea=f[18187]|0;da=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;ca=ba()|0;f[17976]=((ca|0)<0|(ca|0)==0&da>>>0<=ea>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){i=0;break g}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}else{if(f[s+272>>2]|0){if(b[s+81>>0]|0){i=0;break g}}else{do if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0))){k=s+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];fa=s+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=77;break h}k=s+296|0;i=f[k>>2]|0;if(!i){i=s+292|0;break}else{f[k>>2]=f[i>>2];fa=s+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=77;break h}}else i=s+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(s,o,0)|0;fa=77}while(0);if((fa|0)==77){fa=0;if(!i){i=0;break}}YA(i|0,n|0,o|0)|0}while(0);f[g>>2]=i;d[g+40>>1]=-1;d[g+44>>1]=200;q=g+36|0;f[q>>2]=f[q>>2]|66;q=Hk(s,f[m+8>>2]|0,0)|0;f[A+20>>2]=q;if(b[s+81>>0]|0){e=2;fa=512;break b}p=((b[q+4>>0]|0)+-123&255)<2;if(p?(C=f[q+32>>2]|0,D=f[C>>2]|0,(D|0)>0):0){o=q+8|0;n=0;do{do if(!(f[C+8+(n*72|0)+4>>2]|0)){k=f[C+8+(n*72|0)+8>>2]|0;if(!k)break;l=f[m>>2]|0;ea=b[k>>0]|0;i=(h[1232+(ea&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0;if(!(ea<<24>>24==0|(i|0)!=0))do{k=k+1|0;l=l+1|0;ea=b[k>>0]|0;i=(h[1232+(ea&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(ea<<24>>24==0|(i|0)!=0));if(i|0)break;f[C+8+(n*72|0)+16>>2]=g;ea=C+8+(n*72|0)+37|0;b[ea>>0]=b[ea>>0]|32;f[r>>2]=(f[r>>2]|0)+1;f[o>>2]=f[o>>2]|8192}while(0);n=n+1|0}while((n|0)!=(D|0))}if((f[r>>2]|0)>>>0>2){fa=92;break b}f[u>>2]=50416;l=f[w>>2]|0;f[w>>2]=e;if(p){da=f[q+52>>2]|0;ea=da+64|0;f[ea>>2]=f[q+64>>2];yk(a,da)|0;f[ea>>2]=0}else yk(a,q)|0;f[w>>2]=e;e=q;while(1){i=f[e+52>>2]|0;if(!i)break;else e=i}e=f[e>>2]|0;k=f[m+4>>2]|0;do if(k){if(!e){e=k;break}e=f[e>>2]|0;i=f[k>>2]|0;if((e|0)==(i|0))e=k;else{fa=101;break b}}while(0);Vk(f[v>>2]|0,e,g+42|0,g+4|0);if(p){f[u>>2]=(f[q+8>>2]&8192|0)==0?50477:50515;yk(a,q)|0}f[u>>2]=0;f[w>>2]=l}while(0);l=A+16|0;e=f[l>>2]|0;if(!e){k=f[A+8>>2]|0;do if(!k){if(yk(a,f[A+20>>2]|0)|0){e=2;fa=512;break b}if(il(ra,A)|0){e=2;fa=512;break b}}else{i=f[A>>2]|0;if(!i)e=x;else{g=f[(f[ra>>2]|0)+16>>2]|0;e=0;while(1)if((f[g+(e<<4)+12>>2]|0)==(i|0))break;else e=e+1|0;e=g+(e<<4)|0}e=pi(ra,0,k,f[e>>2]|0)|0;f[l>>2]=e;if(!e){e=2;fa=512;break b}g=e+32|0;i=f[g>>2]|0;if(i>>>0>65534){fa=115;break b}f[g>>2]=i+1;if(!(f[e+56>>2]|0)){if(b[y>>0]&4){fa=118;break b}if(!(f[e+12>>2]|0))break}if(ki(ra,e)|0){e=2;fa=512;break b}ca=Hk(sa,f[e+12>>2]|0,0)|0;f[A+20>>2]=ca;ea=e+42|0;da=d[ea>>1]|0;d[ea>>1]=-1;yk(a,ca)|0;d[ea>>1]=da}while(0);e=f[l>>2]|0;if(!e)break}if(b[y>>0]&2){m=f[A+64>>2]|0;e=f[e+8>>2]|0;if(!e){fa=132;break b}l=h[1232+(h[m>>0]|0)>>0]|0;while(1){i=f[e>>2]|0;ea=b[i>>0]|0;g=(h[1232+(ea&255)>>0]|0)-l|0;if(!(ea<<24>>24==0|(g|0)!=0)){k=m;do{i=i+1|0;k=k+1|0;ea=b[i>>0]|0;g=(h[1232+(ea&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(ea<<24>>24==0|(g|0)!=0))}if(!g)break;e=f[e+20>>2]|0;if(!e){fa=132;break b}}f[A+68>>2]=e}}while(0);z=z+1|0;if((z|0)>=(f[ha>>2]|0))break a;else A=A+72|0}if((fa|0)==24){f[F>>2]=i;ni(v,g,F);ua=2;t=va;return ua|0}else if((fa|0)==26){f[G>>2]=E;ni(v,50350,G);ua=2;t=va;return ua|0}else if((fa|0)==51){f[A+16>>2]=0;ua=2;t=va;return ua|0}else if((fa|0)==92){f[K>>2]=f[m>>2];ni(v,50373,K);ua=2;t=va;return ua|0}else if((fa|0)==101){f[L>>2]=f[m>>2];f[L+4>>2]=e;f[L+8>>2]=i;ni(v,50439,L);f[w>>2]=l;ua=2;t=va;return ua|0}else if((fa|0)==115){f[H>>2]=f[e>>2];ni(ra,50549,H);f[l>>2]=0;ua=2;t=va;return ua|0}else if((fa|0)==118){f[I>>2]=f[A+8>>2];ni(ra,50350,I);ua=2;t=va;return ua|0}else if((fa|0)==132){f[J>>2]=m;f[J+4>>2]=0;ni(ra,50588,J);b[ra+17>>0]=1;ua=2;t=va;return ua|0}else if((fa|0)==512){t=va;return e|0}}while(0);if(b[ka>>0]|0){ua=2;t=va;return ua|0}E=f[B>>2]|0;i:do if((f[E>>2]|0)>1){F=c+36|0;a=0;C=E+8|0;D=E+80|0;j:while(1){B=f[D+16>>2]|0;if(!((B|0)==0|(f[C+16>>2]|0)==0)){ea=h[D+36>>0]|0;G=(ea&32|0)==0;A=D+44|0;if(ea&4){if(f[A>>2]|0){fa=142;break}g=D+48|0;if(f[g>>2]|0){fa=142;break}v=B+42|0;e=d[v>>1]|0;if(e<<16>>16>0){w=B+4|0;z=a+1|0;x=E+8+(z*72|0)+16|0;y=E+8+(z*72|0)+40|0;z=E+8+(z*72|0)+56|0;u=0;do{p=f[(f[w>>2]|0)+(u<<4)>>2]|0;r=0;k:while(1){s=E+8+(r*72|0)+16|0;i=f[s>>2]|0;k=d[i+42>>1]|0;if(k<<16>>16>0){n=f[i+4>>2]|0;o=h[1232+(h[p>>0]|0)>>0]|0;m=k<<16>>16;q=0;while(1){k=f[n+(q<<4)>>2]|0;ea=b[k>>0]|0;i=(h[1232+(ea&255)>>0]|0)-o|0;if(!(ea<<24>>24==0|(i|0)!=0)){l=p;do{k=k+1|0;l=l+1|0;ea=b[k>>0]|0;i=(h[1232+(ea&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(ea<<24>>24==0|(i|0)!=0))}if(!i){fa=154;break k}i=q+1|0;if((i|0)<(m|0))q=i;else break}}if(r>>>0>>0)r=r+1|0;else break}if((fa|0)==154){fa=0;p=f[ra>>2]|0;k=p+272|0;l:do if(f[k>>2]|0)if(!(b[p+81>>0]|0))fa=164;else{o=1;n=0}else{do if((j[p+276>>1]|0)>=48){e=p+300|0;i=f[e>>2]|0;if(i|0){f[e>>2]=f[i>>2];fa=p+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=165;break l}e=p+296|0;i=f[e>>2]|0;if(!i){e=p+292|0;break}else{f[e>>2]=f[i>>2];fa=p+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=165;break l}}else e=p+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;fa=164}while(0);if((fa|0)==164){i=Dc(p,48,0)|0;fa=165}do if((fa|0)==165){fa=0;if(i){M=i;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[i>>0]=-98;d[i+34>>1]=-1;f[i+24>>2]=1;ea=f[s>>2]|0;f[i+44>>2]=ea;f[i+28>>2]=f[E+8+(r*72|0)+40>>2];if((q|0)==(d[ea+40>>1]|0)){d[i+32>>1]=-1;o=0;n=i;break}else{d[i+32>>1]=q;ea=WA(1,0,(q>>>0<63?q:63)|0)|0;n=ba()|0;o=E+8+(r*72|0)+56|0;da=o;n=f[da+4>>2]|n;f[o>>2]=f[da>>2]|ea;f[o+4>>2]=n;o=0;n=i;break}}else{o=1;n=0}}while(0);m:do if(f[k>>2]|0)if(!(b[p+81>>0]|0))fa=179;else{m=1;i=0}else{do if((j[p+276>>1]|0)>=48){e=p+300|0;i=f[e>>2]|0;if(i|0){f[e>>2]=f[i>>2];fa=p+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=180;break m}e=p+296|0;i=f[e>>2]|0;if(!i){e=p+292|0;break}else{f[e>>2]=f[i>>2];fa=p+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=180;break m}}else e=p+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;fa=179}while(0);if((fa|0)==179){i=Dc(p,48,0)|0;fa=180}do if((fa|0)==180){if(!i){m=1;i=0;break}M=i;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[i>>0]=-98;d[i+34>>1]=-1;f[i+24>>2]=1;fa=f[x>>2]|0;f[i+44>>2]=fa;f[i+28>>2]=f[y>>2];if((u|0)==(d[fa+40>>1]|0)){d[i+32>>1]=-1;m=0;break}else{d[i+32>>1]=u;ea=WA(1,0,(u>>>0<63?u:63)|0)|0;fa=ba()|0;da=z;fa=f[da+4>>2]|fa;m=z;f[m>>2]=f[da>>2]|ea;f[m+4>>2]=fa;m=0;break}}while(0);l=f[ra>>2]|0;n:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))fa=194;else{e=l;fa=198}else{do if((j[l+276>>1]|0)>=48){k=l+300|0;e=f[k>>2]|0;if(e|0){f[k>>2]=f[e>>2];fa=l+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=195;break n}k=l+296|0;e=f[k>>2]|0;if(!e){e=l+292|0;break}else{f[k>>2]=f[e>>2];fa=l+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=195;break n}}else e=l+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;fa=194}while(0);if((fa|0)==194){e=Dc(l,48,0)|0;fa=195}do if((fa|0)==195){fa=0;if(!e){e=f[ra>>2]|0;fa=198;break}M=e;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[e>>0]=53;d[e+34>>1]=-1;if(m)k=0;else{f[e+16>>2]=i;k=f[i+4>>2]&2097412;f[e+4>>2]=k}if(!o){f[e+12>>2]=n;f[e+4>>2]=f[n+4>>2]&2097412|k}jl(e);k=f[(f[ra>>2]|0)+120>>2]|0;if((k|0)<(f[e+24>>2]|0)){f[Q>>2]=k;ni(ra,42710,Q)}if(G)break;ea=e+4|0;f[ea>>2]=f[ea>>2]|1;d[e+36>>1]=f[i+28>>2]}while(0);do if((fa|0)==198){fa=0;if(!o)ig(e,n);if(m){e=0;break}ig(e,i);e=0}while(0);e=kl(p,f[F>>2]|0,e)|0;f[F>>2]=e;e=d[v>>1]|0}u=u+1|0}while((u|0)<(e<<16>>16|0))}}else g=D+48|0;e=f[A>>2]|0;if(e|0){if(f[g>>2]|0){fa=213;break}if(!G){ll(e,f[D+40>>2]|0);e=f[A>>2]|0}ea=kl(f[ra>>2]|0,f[F>>2]|0,e)|0;f[F>>2]=ea;f[A>>2]=0}y=f[g>>2]|0;if(y|0?(O=y+4|0,(f[O>>2]|0)>0):0){z=B+42|0;u=B+4|0;x=a+1|0;v=E+8+(x*72|0)+16|0;w=E+8+(x*72|0)+40|0;x=E+8+(x*72|0)+56|0;s=0;do{o=f[(f[y>>2]|0)+(s<<3)>>2]|0;e=d[z>>1]|0;if(e<<16>>16<=0){fa=292;break j}l=f[u>>2]|0;p=h[1232+(h[o>>0]|0)>>0]|0;k=e<<16>>16;r=0;while(1){g=f[l+(r<<4)>>2]|0;ea=b[g>>0]|0;e=(h[1232+(ea&255)>>0]|0)-p|0;if(!(ea<<24>>24==0|(e|0)!=0)){i=o;do{g=g+1|0;i=i+1|0;ea=b[g>>0]|0;e=(h[1232+(ea&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(ea<<24>>24==0|(e|0)!=0))}if(!e)break;e=r+1|0;if((e|0)<(k|0))r=e;else{fa=292;break j}}n=0;o:while(1){q=E+8+(n*72|0)+16|0;e=f[q>>2]|0;g=d[e+42>>1]|0;if(g<<16>>16>0){l=f[e+4>>2]|0;k=g<<16>>16;m=0;while(1){g=f[l+(m<<4)>>2]|0;ea=b[g>>0]|0;e=(h[1232+(ea&255)>>0]|0)-p|0;if(!(ea<<24>>24==0|(e|0)!=0)){i=o;do{g=g+1|0;i=i+1|0;ea=b[g>>0]|0;e=(h[1232+(ea&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(ea<<24>>24==0|(e|0)!=0))}if(!e)break o;e=m+1|0;if((e|0)<(k|0))m=e;else break}}if(n>>>0>>0)n=n+1|0;else{fa=292;break j}}o=f[ra>>2]|0;i=o+272|0;p:do if(f[i>>2]|0)if(!(b[o+81>>0]|0))fa=246;else{n=1;m=0}else{do if((j[o+276>>1]|0)>=48){e=o+300|0;g=f[e>>2]|0;if(g|0){f[e>>2]=f[g>>2];fa=o+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=247;break p}e=o+296|0;g=f[e>>2]|0;if(!g){e=o+292|0;break}else{f[e>>2]=f[g>>2];fa=o+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=247;break p}}else e=o+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;fa=246}while(0);if((fa|0)==246){g=Dc(o,48,0)|0;fa=247}do if((fa|0)==247){fa=0;if(g){M=g;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[g>>0]=-98;d[g+34>>1]=-1;f[g+24>>2]=1;ea=f[q>>2]|0;f[g+44>>2]=ea;f[g+28>>2]=f[E+8+(n*72|0)+40>>2];if((m|0)==(d[ea+40>>1]|0)){d[g+32>>1]=-1;n=0;m=g;break}else{d[g+32>>1]=m;ea=WA(1,0,(m>>>0<63?m:63)|0)|0;m=ba()|0;n=E+8+(n*72|0)+56|0;da=n;m=f[da+4>>2]|m;f[n>>2]=f[da>>2]|ea;f[n+4>>2]=m;n=0;m=g;break}}else{n=1;m=0}}while(0);q:do if(f[i>>2]|0)if(!(b[o+81>>0]|0))fa=261;else{k=1;l=0}else{do if((j[o+276>>1]|0)>=48){e=o+300|0;g=f[e>>2]|0;if(g|0){f[e>>2]=f[g>>2];fa=o+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=262;break q}e=o+296|0;g=f[e>>2]|0;if(!g){e=o+292|0;break}else{f[e>>2]=f[g>>2];fa=o+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=262;break q}}else e=o+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;fa=261}while(0);if((fa|0)==261){g=Dc(o,48,0)|0;fa=262}do if((fa|0)==262)if(g){M=g;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[g>>0]=-98;d[g+34>>1]=-1;f[g+24>>2]=1;fa=f[v>>2]|0;f[g+44>>2]=fa;f[g+28>>2]=f[w>>2];if((r|0)==(d[fa+40>>1]|0)){d[g+32>>1]=-1;k=0;l=g;break}else{d[g+32>>1]=r;fa=WA(1,0,(r>>>0<63?r:63)|0)|0;l=ba()|0;ea=x;l=f[ea+4>>2]|l;k=x;f[k>>2]=f[ea>>2]|fa;f[k+4>>2]=l;k=0;l=g;break}}else{k=1;l=0}while(0);i=f[ra>>2]|0;r:do if(f[i+272>>2]|0)if(!(b[i+81>>0]|0))fa=276;else{e=i;fa=280}else{do if((j[i+276>>1]|0)>=48){g=i+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];fa=i+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=277;break r}g=i+296|0;e=f[g>>2]|0;if(!e){e=i+292|0;break}else{f[g>>2]=f[e>>2];fa=i+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=277;break r}}else e=i+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;fa=276}while(0);if((fa|0)==276){e=Dc(i,48,0)|0;fa=277}do if((fa|0)==277){fa=0;if(!e){e=f[ra>>2]|0;fa=280;break}M=e;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[e>>0]=53;d[e+34>>1]=-1;if(k)g=0;else{f[e+16>>2]=l;g=f[l+4>>2]&2097412;f[e+4>>2]=g}if(!n){f[e+12>>2]=m;f[e+4>>2]=f[m+4>>2]&2097412|g}jl(e);g=f[(f[ra>>2]|0)+120>>2]|0;if((g|0)<(f[e+24>>2]|0)){f[S>>2]=g;ni(ra,42710,S)}if(G)break;ea=e+4|0;f[ea>>2]=f[ea>>2]|1;d[e+36>>1]=f[l+28>>2]}while(0);do if((fa|0)==280){fa=0;if(!n)ig(e,m);if(k){e=0;break}ig(e,l);e=0}while(0);ea=kl(o,f[F>>2]|0,e)|0;f[F>>2]=ea;s=s+1|0}while((s|0)<(f[O>>2]|0))}}a=a+1|0;if((a|0)>=((f[E>>2]|0)+-1|0))break i;else{C=C+72|0;D=D+72|0}}if((fa|0)==142){f[P>>2]=0;ni(ra,50606,P);ua=2;t=va;return ua|0}else if((fa|0)==213){ni(ra,50656,R);ua=2;t=va;return ua|0}else if((fa|0)==292){f[T>>2]=o;ni(ra,50711,T);ua=2;t=va;return ua|0}}while(0);k=f[ia>>2]|0;s:do if((k|0)>0){i=0;e=0;t:while(1){g=f[ia+4+(i*20|0)>>2]|0;switch(b[g>>0]|0){case -88:break t;case -126:{if((b[f[g+16>>2]>>0]|0)==-88)break t;break}default:{}}e=f[g+4>>2]|e;i=i+1|0;if((i|0)>=(k|0)){fa=506;break s}}O=0==0?(f[(f[ra>>2]|0)+32>>2]&68|0)==4:0;P=ja+4|0;Q=ja+4|0;R=ja+4|0;S=(sa|0)==0;T=ra+196|0;U=sa+480|0;V=sa+304|0;W=ra+268|0;X=sa+308|0;Y=sa+300|0;Z=sa+272|0;_=sa+276|0;$=sa+288|0;aa=sa+296|0;ca=sa+284|0;da=sa+292|0;ea=sa+16|0;g=0;L=0;do{k=ia+4+(L*20|0)|0;i=f[k>>2]|0;e=f[i+4>>2]|e;switch(b[i>>0]|0){case -88:{K=0;fa=306;break}case -126:{if((b[f[i+16>>2]>>0]|0)==-88){K=f[(f[i+12>>2]|0)+8>>2]|0;fa=306}else fa=302;break}default:fa=302}do if((fa|0)==302){fa=0;g=ml(f[ra>>2]|0,g,i)|0;if(g|0){M=ia+4+(L*20|0)+4|0;K=(f[g>>2]|0)+-1|0;f[g+4+(K*20|0)+4>>2]=f[M>>2];N=ia+4+(L*20|0)+8|0;f[g+4+(K*20|0)+8>>2]=f[N>>2];f[M>>2]=0;f[N>>2]=0}f[k>>2]=0}else if((fa|0)==306){fa=0;if((f[ha>>2]|0)>0){I=(K|0)==0;J=(K|0)!=0;i=0;G=0;H=ga;while(1){n=f[H+16>>2]|0;l=f[H+20>>2]|0;k=f[H+12>>2]|0;if(!k)F=f[n>>2]|0;else F=k;if(b[ka>>0]|0)break;if((l|0)!=0?(f[l+8>>2]&2048|0)!=0:0){E=0;fa=322}else fa=313;do if((fa|0)==313){fa=0;if(!I){N=b[K>>0]|0;k=(h[1232+(N&255)>>0]|0)-(h[1232+(h[F>>0]|0)>>0]|0)|0;if(!(N<<24>>24==0|(k|0)!=0)){l=F;m=K;do{m=m+1|0;l=l+1|0;N=b[m>>0]|0;k=(h[1232+(N&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(N<<24>>24==0|(k|0)!=0))}if(k|0)break}l=f[n+72>>2]|0;if(!l){E=50775;l=0;fa=322}else{m=f[ea>>2]|0;k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0))break;else k=k+1|0;E=f[m+(k<<4)>>2]|0;l=0;fa=322}}while(0);if((fa|0)==322){fa=0;D=n+42|0;if((d[D>>1]|0)>0){w=n+4|0;x=(l|0)!=0;a=J&x;C=I&(G|0)!=0;y=H+36|0;z=H+48|0;A=(F|0)==0;B=(E|0)==0;v=0;do{r=f[w>>2]|0;u=f[r+(v<<4)>>2]|0;u:do if(a){m=f[(f[l>>2]|0)+4+(v*20|0)+8>>2]|0;k=0;v:while(1){switch(b[m+k>>0]|0){case 46:case 0:break v;default:{}}k=k+1|0}k=m+(k+1)|0;q=0;w:while(1){switch(b[k+q>>0]|0){case 46:case 0:break w;default:{}}q=q+1|0}x:do if(q|0){p=K;n=q;while(1){m=b[k>>0]|0;if(!(m<<24>>24)){fa=334;break}m=b[1232+(m&255)>>0]|0;o=b[1232+(h[p>>0]|0)>>0]|0;if(m<<24>>24!=o<<24>>24){fa=336;break}if((n|0)>1){k=k+1|0;p=p+1|0;n=n+-1|0}else break x}if((fa|0)==334){fa=0;m=0;k=b[1232+(h[p>>0]|0)>>0]|0}else if((fa|0)==336){fa=0;m=m&255;k=o}if((m|0)!=(k&255|0))break u}while(0);if(!(b[K+q>>0]|0))fa=340}else fa=340;while(0);y:do if((fa|0)==340){fa=0;if((f[ta>>2]&131072|0)==0?b[r+(v<<4)+15>>0]&2:0)break;do if(C){if(b[y>>0]&4){r=0;do{i=f[ha+8+(r*72|0)+16>>2]|0;k=d[i+42>>1]|0;if(k<<16>>16>0){p=f[i+4>>2]|0;q=h[1232+(h[u>>0]|0)>>0]|0;o=k<<16>>16;n=0;do{k=f[p+(n<<4)>>2]|0;N=b[k>>0]|0;i=(h[1232+(N&255)>>0]|0)-q|0;if(!(N<<24>>24==0|(i|0)!=0)){m=u;do{k=k+1|0;m=m+1|0;N=b[k>>0]|0;i=(h[1232+(N&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(N<<24>>24==0|(i|0)!=0))}if(!i){i=1;break y}n=n+1|0}while((n|0)<(o|0))}r=r+1|0}while(r>>>0>>0)}i=f[z>>2]|0;if(!i)break;q=f[i+4>>2]|0;if((q|0)<=0)break;o=f[i>>2]|0;p=h[1232+(h[u>>0]|0)>>0]|0;n=0;do{k=f[o+(n<<3)>>2]|0;N=b[k>>0]|0;i=(h[1232+(N&255)>>0]|0)-p|0;if(!(N<<24>>24==0|(i|0)!=0)){m=u;do{k=k+1|0;m=m+1|0;N=b[k>>0]|0;i=(h[1232+(N&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(N<<24>>24==0|(i|0)!=0))}if(!i){i=1;break y}n=n+1|0}while((n|0)<(q|0))}while(0);f[ja>>2]=u;if(!u)i=0;else i=(wz(u)|0)&1073741823;f[P>>2]=i;o=Dk(sa,59,ja,0)|0;if(!O?(f[ha>>2]|0)<=1:0){s=0;r=u;i=o}else fa=365;do if((fa|0)==365){f[ja>>2]=F;if(A)i=0;else i=(wz(F)|0)&1073741823;f[Q>>2]=i;n=Dk(sa,59,ja,0)|0;m=f[ra>>2]|0;z:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))fa=377;else{i=m;fa=381}else{do if((j[m+276>>1]|0)>=48){i=m+300|0;k=f[i>>2]|0;if(k|0){f[i>>2]=f[k>>2];fa=m+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=378;break z}i=m+296|0;k=f[i>>2]|0;if(!k){i=m+292|0;break}else{f[i>>2]=f[k>>2];fa=m+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=378;break z}}else i=m+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;fa=377}while(0);if((fa|0)==377){k=Dc(m,48,0)|0;fa=378}do if((fa|0)==378){fa=0;if(!k){i=f[ra>>2]|0;fa=381;break}M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=-126;d[k+34>>1]=-1;if(!o)i=0;else{f[k+16>>2]=o;i=f[o+4>>2]&2097412;f[k+4>>2]=i}if(n|0){f[k+12>>2]=n;f[k+4>>2]=i|f[n+4>>2]&2097412}jl(k);i=f[(f[ra>>2]|0)+120>>2]|0;if((i|0)>=(f[k+24>>2]|0)){o=0;break}f[la>>2]=i;ni(ra,42710,la);o=0}while(0);do if((fa|0)==381){fa=0;if(n|0)ig(i,n);if(!o){k=0;o=1;break}ig(i,o);k=0;o=1}while(0);A:do if(B)i=k;else{f[ja>>2]=E;p=(wz(E)|0)&1073741823;f[R>>2]=p;p=Dk(sa,59,ja,0)|0;n=f[ra>>2]|0;B:do if(f[n+272>>2]|0)if(!(b[n+81>>0]|0))fa=401;else i=n;else{do if((j[n+276>>1]|0)>=48){m=n+300|0;i=f[m>>2]|0;if(i|0){f[m>>2]=f[i>>2];fa=n+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=402;break B}m=n+296|0;i=f[m>>2]|0;if(!i){i=n+292|0;break}else{f[m>>2]=f[i>>2];fa=n+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=402;break B}}else i=n+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;fa=401}while(0);if((fa|0)==401){i=Dc(n,48,0)|0;fa=402}do if((fa|0)==402){fa=0;if(!i){i=f[ra>>2]|0;break}M=i;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[i>>0]=-126;d[i+34>>1]=-1;if(o)k=0;else{f[i+16>>2]=k;k=f[k+4>>2]&2097412;f[i+4>>2]=k}if(p|0){f[i+12>>2]=p;f[i+4>>2]=k|f[p+4>>2]&2097412}jl(i);k=f[(f[ra>>2]|0)+120>>2]|0;if((k|0)>=(f[i+24>>2]|0))break A;f[ma>>2]=k;ni(ra,42710,ma);break A}while(0);if(p|0)ig(i,p);if(o){i=0;break}ig(i,k);i=0}while(0);if(!O){s=0;r=u;break}f[na>>2]=F;f[na+4>>2]=u;r=Ig(sa,50225,na)|0;s=r}while(0);g=ml(f[ra>>2]|0,g,i)|0;q=r;i=(r|0)==0;if(i)p=0;else p=(wz(r)|0)&1073741823;do if(g|0){o=(f[g>>2]|0)+-1|0;n=f[ra>>2]|0;C:do if(i)n=0;else{m=p+1|0;D:do if(f[n+272>>2]|0)if(!(b[n+81>>0]|0))fa=430;else{n=0;break C}else{do if(!(0>0|(0==0?m>>>0>(j[n+276>>1]|0)>>>0:0))){k=n+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];N=n+284|0;f[N>>2]=(f[N>>2]|0)+1;break D}k=n+296|0;i=f[k>>2]|0;if(!i){i=n+292|0;break}else{f[k>>2]=f[i>>2];N=n+284|0;f[N>>2]=(f[N>>2]|0)+1;break D}}else i=n+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;fa=430}while(0);if((fa|0)==430){fa=0;i=Dc(n,m,0)|0}if(!i){n=0;break}YA(i|0,r|0,p|0)|0;b[i+p>>0]=0;n=i}while(0);f[g+4+(o*20|0)+4>>2]=n;E:do if((h[T>>0]|0)>1){m=f[ra>>2]|0;F:do if(!m){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](16)|0;fa=457;break}i=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;k=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&k>>>0>0){N=f[18187]|0;M=LA(k|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;u=ba()|0;f[17976]=((u|0)<0|(u|0)==0&M>>>0<=N>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i)break E;k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break E}else{do if((j[m+276>>1]|0)>=16){k=m+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];fa=m+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=457;break F}k=m+296|0;i=f[k>>2]|0;if(!i){i=m+292|0;break}else{f[k>>2]=f[i>>2];fa=m+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=457;break F}}else i=m+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(m,16,0)|0;fa=457}while(0);if((fa|0)==457){fa=0;if(!i)break}f[i>>2]=n;f[i+4>>2]=q;f[i+8>>2]=p;f[i+12>>2]=f[W>>2];f[W>>2]=i}while(0);if(!(f[ta>>2]&2048))break;p=(f[g>>2]|0)+-1|0;G:do if(x){n=f[(f[l>>2]|0)+4+(v*20|0)+8>>2]|0;if(!n){i=0;break}o=(wz(n)|0)+1|0;H:do if(S){N=KA(o|0,0,-1,-1)|0;M=ba()|0;if(M>>>0>0|(M|0)==0&N>>>0>2147483390){i=0;break G}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](o)|0;fa=484;break}i=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;m=71896;k=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&k>>>0>0){N=f[18187]|0;M=LA(k|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;u=ba()|0;f[17976]=((u|0)<0|(u|0)==0&M>>>0<=N>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){i=0;break G}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}else{if(f[Z>>2]|0){if(b[ka>>0]|0){i=0;break G}}else{do if(0<0|(0==0?(j[_>>1]|0)>>>0>>0:0))i=$;else{i=f[Y>>2]|0;if(i|0){f[Y>>2]=f[i>>2];f[ca>>2]=(f[ca>>2]|0)+1;fa=484;break H}i=f[aa>>2]|0;if(!i){i=da;break}f[aa>>2]=f[i>>2];f[ca>>2]=(f[ca>>2]|0)+1;fa=484;break H}while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(sa,o,0)|0;fa=484}while(0);if((fa|0)==484){fa=0;if(!i){i=0;break}}YA(i|0,n|0,o|0)|0}else{f[oa>>2]=E;f[oa+4>>2]=F;f[oa+8>>2]=r;i=Ig(sa,50777,oa)|0}while(0);f[g+4+(p*20|0)+8>>2]=i;N=g+4+(p*20|0)+13|0;b[N>>0]=b[N>>0]|2}while(0);if(!s){i=1;break}do if(!S){if(f[U>>2]|0){Kc(sa,s);i=1;break y}i=s;if((f[V>>2]|0)>>>0>i>>>0)break;if((f[X>>2]|0)>>>0<=i>>>0)break;f[s>>2]=f[Y>>2];f[Y>>2]=s;i=1;break y}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);i=1;break}else{i=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);i=1;break}}while(0);v=v+1|0}while((v|0)<(d[D>>1]|0))}}G=G+1|0;if((G|0)>=(f[ha>>2]|0))break;else H=H+72|0}if(i)break}if(!K){ni(ra,50804,qa);break}else{f[pa>>2]=K;ni(ra,50786,pa);break}}while(0);L=L+1|0}while((L|0)<(f[ia>>2]|0));jg(sa,ia);f[c>>2]=g}else{e=0;fa=506}while(0);if((fa|0)==506)g=f[c>>2]|0;if(!g){ua=0;t=va;return ua|0}if((f[g>>2]|0)>(f[sa+116>>2]|0)){ni(ra,50824,ua);ua=2;t=va;return ua|0}if(!(e&2097156)){ua=0;t=va;return ua|0}f[ta>>2]=f[ta>>2]|262144;ua=0;t=va;return ua|0}function fl(a,b){a=a|0;b=b|0;var c=0;c=(f[a>>2]|0)+260|0;if(!(f[c>>2]|0))return;if(f[b+52>>2]|0)return;a=b;while(1){b=f[a+56>>2]|0;if(!b)break;else a=b}a=f[a+64>>2]|0;if(!a)return;f[c>>2]=f[a+4>>2];return}function gl(a,b){a=a|0;b=b|0;return 0}function hl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=b+8|0;d=f[c>>2]|0;if(d&128|0)return;f[c>>2]=d|128;h=f[a>>2]|0;g=f[b+32>>2]|0;a=f[g>>2]|0;if((a|0)<=0)return;b=0;e=g+8|0;while(1){d=f[e+16>>2]|0;if((f[d+36>>2]&2|0)!=0?(i=f[e+20>>2]|0,(i|0)!=0):0){a=i;while(1){c=f[a+52>>2]|0;if(!c)break;else a=c}Wk(h,d,a);a=f[g>>2]|0}b=b+1|0;if((b|0)>=(a|0))break;else e=e+72|0}return}function il(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;l=o;e=f[c+20>>2]|0;i=f[a>>2]|0;a:do if(!i){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](80)|0;n=24;break}g=ib[f[37372>>2]&255](80)|0;if((f[18194]|0)>>>0<80)f[18194]=80;i=71896;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){m=f[18187]|0;k=LA(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;i=ba()|0;f[17976]=((i|0)<0|(i|0)==0&k>>>0<=m>>>0)&1}h=ib[f[37356>>2]&255](g)|0;if(h){g=ib[f[37368>>2]&255](h)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;m=h}else m=h}else n=25}else{if(f[i+272>>2]|0){if(b[i+81>>0]|0){n=25;break}}else{do if((j[i+276>>1]|0)>=80){h=i+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];n=i+284|0;f[n>>2]=(f[n>>2]|0)+1;n=24;break a}h=i+296|0;g=f[h>>2]|0;if(!g){g=i+292|0;break}else{f[h>>2]=f[g>>2];n=i+284|0;f[n>>2]=(f[n>>2]|0)+1;n=24;break a}}else g=i+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(i,80,0)|0;n=24}while(0);if((n|0)==24)if(!g)n=25;else m=g;if((n|0)==25){f[c+16>>2]=0;a=7;t=o;return a|0}g=m;h=g+80|0;do{b[g>>0]=0;g=g+1|0}while((g|0)<(h|0));f[c+16>>2]=m;f[m+32>>2]=1;k=f[c+12>>2]|0;i=f[a>>2]|0;b:do if(!k){f[l>>2]=f[e+20>>2];g=Ig(i,50857,l)|0}else{c=(wz(k)|0)+1|0;c:do if(!i){l=KA(c|0,0,-1,-1)|0;i=ba()|0;if(i>>>0>0|(i|0)==0&l>>>0>2147483390){g=0;break b}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](c)|0;n=51;break}g=ib[f[37372>>2]&255](c)|0;if((f[18194]|0)>>>0>>0)f[18194]=c;i=71896;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){l=f[18187]|0;i=LA(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;h=ba()|0;f[17976]=((h|0)<0|(h|0)==0&i>>>0<=l>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break b}h=ib[f[37368>>2]&255](g)|0;h=(f[18187]|0)+h|0;f[18187]=h;if(h>>>0>(f[18191]|0)>>>0)f[18191]=h;h=(f[18190]|0)+1|0;f[18190]=h;if(h>>>0>(f[18196]|0)>>>0)f[18196]=h}else{if(f[i+272>>2]|0){if(b[i+81>>0]|0){g=0;break b}}else{do if(!(0<0|(0==0?(j[i+276>>1]|0)>>>0>>0:0))){h=i+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];n=i+284|0;f[n>>2]=(f[n>>2]|0)+1;n=51;break c}h=i+296|0;g=f[h>>2]|0;if(!g){g=i+292|0;break}else{f[h>>2]=f[g>>2];n=i+284|0;f[n>>2]=(f[n>>2]|0)+1;n=51;break c}}else g=i+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(i,c,0)|0;n=51}while(0);if((n|0)==51)if(!g){g=0;break}YA(g|0,k|0,c|0)|0}while(0);f[m>>2]=g;while(1){g=f[e+52>>2]|0;if(!g)break;else e=g}Vk(f[a>>2]|0,f[e>>2]|0,m+42|0,m+4|0);d[m+40>>1]=-1;d[m+44>>1]=200;a=m+36|0;f[a>>2]=f[a>>2]|2;a=0;t=o;return a|0}function jl(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=f[a+12>>2]|0;if(!b)b=0;else{b=f[b+24>>2]|0;b=(b|0)>0?b:0}c=f[a+16>>2]|0;if(c){k=f[c+24>>2]|0;b=(k|0)>(b|0)?k:b}j=a+4|0;k=f[j>>2]|0;c=a+20|0;if(!(k&2048)){h=f[c>>2]|0;if(!h){m=b;m=m+1|0;a=a+24|0;f[a>>2]=m;return}i=f[h>>2]|0;g=(i|0)>0;if(g){e=0;d=i;while(1){c=f[h+4+(e*20|0)>>2]|0;if(!c)c=d;else{m=f[c+24>>2]|0;c=(m|0)>(b|0);b=c?m:b;c=c?i:d}e=e+1|0;if((e|0)>=(c|0))break;else d=c}if(g){c=0;d=0;do{c=f[(f[h+4+(d*20|0)>>2]|0)+4>>2]|c;d=d+1|0}while((d|0)!=(i|0));c=c&2097412}else c=0}else c=0;f[j>>2]=c|k;m=b;m=m+1|0;a=a+24|0;f[a>>2]=m;return}c=f[c>>2]|0;if(!c){m=b;m=m+1|0;a=a+24|0;f[a>>2]=m;return}do{d=f[c+36>>2]|0;if(d){k=f[d+24>>2]|0;b=(k|0)>(b|0)?k:b}d=f[c+44>>2]|0;if(d){k=f[d+24>>2]|0;b=(k|0)>(b|0)?k:b}d=f[c+60>>2]|0;if(d){k=f[d+24>>2]|0;b=(k|0)>(b|0)?k:b}h=f[c>>2]|0;if((h|0)!=0?(i=f[h>>2]|0,(i|0)>0):0){g=0;e=i;while(1){d=f[h+4+(g*20|0)>>2]|0;if(!d)d=e;else{k=f[d+24>>2]|0;d=(k|0)>(b|0);b=d?k:b;d=d?i:e}g=g+1|0;if((g|0)>=(d|0))break;else e=d}}h=f[c+40>>2]|0;if((h|0)!=0?(l=f[h>>2]|0,(l|0)>0):0){g=0;e=l;while(1){d=f[h+4+(g*20|0)>>2]|0;if(!d)d=e;else{k=f[d+24>>2]|0;d=(k|0)>(b|0);b=d?k:b;d=d?l:e}g=g+1|0;if((g|0)>=(d|0))break;else e=d}}h=f[c+48>>2]|0;if((h|0)!=0?(m=f[h>>2]|0,(m|0)>0):0){g=0;e=m;while(1){d=f[h+4+(g*20|0)>>2]|0;if(!d)d=e;else{k=f[d+24>>2]|0;d=(k|0)>(b|0);b=d?k:b;d=d?m:e}g=g+1|0;if((g|0)>=(d|0))break;else e=d}}c=f[c+52>>2]|0}while((c|0)!=0);m=b+1|0;a=a+24|0;f[a>>2]=m;return}function kl(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0;m=t;t=t+16|0;g=m;if(!c){l=e;t=m;return l|0}if(!e){l=c;t=m;return l|0}f[g>>2]=0;l=c+4|0;if((f[l>>2]&1|0)==0?(Ak(c,g)|0)!=0:0)if(!(f[g>>2]|0)){ig(a,c);ig(a,e)}else i=7;else i=7;do if((i|0)==7){f[g>>2]=0;k=e+4|0;if((f[k>>2]&1|0)==0?(Ak(e,g)|0)!=0:0){if(!(f[g>>2]|0)){ig(a,c);ig(a,e);break}}else i=9;a:do if(f[a+272>>2]|0){if(!(b[a+81>>0]|0))i=24}else{do if((j[a+276>>1]|0)>=48){g=a+300|0;h=f[g>>2]|0;if(h|0){f[g>>2]=f[h>>2];i=a+284|0;f[i>>2]=(f[i>>2]|0)+1;i=25;break a}g=a+296|0;h=f[g>>2]|0;if(!h){g=a+292|0;break}else{f[g>>2]=f[h>>2];i=a+284|0;f[i>>2]=(f[i>>2]|0)+1;i=25;break a}}else g=a+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;i=24}while(0);if((i|0)==24){h=Dc(a,48,0)|0;i=25}if((i|0)==25?h|0:0){g=h;i=g+48|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));b[h>>0]=44;d[h+34>>1]=-1;f[h+24>>2]=1;f[h+16>>2]=e;k=f[k>>2]&2097412;e=h+4|0;f[e>>2]=k;f[h+12>>2]=c;f[e>>2]=k|f[l>>2]&2097412;jl(h);l=h;t=m;return l|0}ig(a,c);ig(a,e);l=0;t=m;return l|0}while(0);l=Dk(a,143,10016,0)|0;t=m;return l|0}function ll(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0;if(!a)return;j=c&65535;do{g=a+4|0;f[g>>2]=f[g>>2]|1;d[a+36>>1]=j;if(((b[a>>0]|0)==-99?(h=a+20|0,i=f[h>>2]|0,i|0):0)?(f[i>>2]|0)>0:0){e=0;g=i;do{ll(f[g+4+(e*20|0)>>2]|0,c);e=e+1|0;g=f[h>>2]|0}while((e|0)<(f[g>>2]|0))}ll(f[a+12>>2]|0,c);a=f[a+16>>2]|0}while((a|0)!=0);return}function ml(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;a:do if(!c){b:do if(f[a+272>>2]|0)if(!(b[a+81>>0]|0))g=12;else{c=0;break a}else{do if((j[a+276>>1]|0)>=24){e=a+300|0;c=f[e>>2]|0;if(c|0){f[e>>2]=f[c>>2];e=a+284|0;f[e>>2]=(f[e>>2]|0)+1;break b}e=a+296|0;c=f[e>>2]|0;if(!c){c=a+292|0;break}else{f[e>>2]=f[c>>2];e=a+284|0;f[e>>2]=(f[e>>2]|0)+1;break b}}else c=a+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;g=12}while(0);if((g|0)==12)c=Dc(a,24,0)|0;if(c){f[c>>2]=0;g=20}}else{e=f[c>>2]|0;if(!(e+-1&e)){e=e*40|4;h=c;if(((f[a+304>>2]|0)>>>0<=h>>>0?(f[a+308>>2]|0)>>>0>h>>>0:0)?!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0)):0){g=20;break}e=Lc(a,c,e,0)|0;if(e){c=e;g=20}}else g=20}while(0);if((g|0)==20){h=f[c>>2]|0;f[c>>2]=h+1;g=c+4+(h*20|0)+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[c+4+(h*20|0)>>2]=d;h=c;return h|0}if(d|0)ig(a,d);if(!c){h=0;return h|0}jg(a,c);h=0;return h|0}function nl(a,c,d,e,g,i,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;s=t;t=t+16|0;m=s;r=f[a>>2]|0;do if(!c){c=(k|0)!=0;if(c|(l|0)!=0){f[m>>2]=c?50869:50872;ni(a,50878,m);break}else{q=ol(r,0,d,e)|0;n=6;break}}else{q=ol(r,c,d,e)|0;n=6}while(0);if((n|0)==6?q|0:0){o=(f[q>>2]|0)+-1|0;a:do if((h[a+196>>0]|0)>1?(p=f[q+8+(o*72|0)+8>>2]|0,p|0):0){if(!((e|0)!=0?(f[e>>2]|0)!=0:0))e=d;d=f[a>>2]|0;b:do if(!d){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](16)|0;n=35;break}c=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;d=71896;m=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&m>>>0>0){u=f[18187]|0;d=LA(m|0,d|0,c|0,((c|0)<0)<<31>>31|0)|0;m=ba()|0;f[17976]=((m|0)<0|(m|0)==0&d>>>0<=u>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c)break a;m=ib[f[37368>>2]&255](c)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0>(f[18196]|0)>>>0)f[18196]=m}else{if(f[d+272>>2]|0){if(b[d+81>>0]|0)break a}else{do if((j[d+276>>1]|0)>=16){m=d+300|0;c=f[m>>2]|0;if(c|0){f[m>>2]=f[c>>2];n=d+284|0;f[n>>2]=(f[n>>2]|0)+1;n=35;break b}m=d+296|0;c=f[m>>2]|0;if(!c){c=d+292|0;break}else{f[m>>2]=f[c>>2];n=d+284|0;f[n>>2]=(f[n>>2]|0)+1;n=35;break b}}else c=d+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(d,16,0)|0;n=35}while(0);if((n|0)==35)if(!c)break;m=c+4|0;d=m+12|0;do{b[m>>0]=0;m=m+1|0}while((m|0)<(d|0));f[c>>2]=p;n=e;p=f[n+4>>2]|0;u=c+4|0;f[u>>2]=f[n>>2];f[u+4>>2]=p;u=a+268|0;f[c+12>>2]=f[u>>2];f[u>>2]=c}while(0);if(f[g+4>>2]|0){u=pl(r,g)|0;f[q+8+(o*72|0)+12>>2]=u}f[q+8+(o*72|0)+20>>2]=i;f[q+8+(o*72|0)+44>>2]=k;f[q+8+(o*72|0)+48>>2]=l;u=q;t=s;return u|0}if(k|0)ig(r,k);do if(l|0){a=l+4|0;c=f[l>>2]|0;c:do if((f[a>>2]|0)>0){d=r+480|0;e=r+304|0;n=r+308|0;o=r+300|0;if(!r){m=0;while(1){c=f[c+(m<<3)>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{u=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);m=m+1|0;c=f[l>>2]|0;if((m|0)>=(f[a>>2]|0))break c}}m=0;do{c=f[c+(m<<3)>>2]|0;do if(c|0){if(f[d>>2]|0){Kc(r,c);break}u=c;if((f[e>>2]|0)>>>0<=u>>>0?(f[n>>2]|0)>>>0>u>>>0:0){f[c>>2]=f[o>>2];f[o>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{u=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);m=m+1|0;c=f[l>>2]|0}while((m|0)<(f[a>>2]|0))}while(0);d:do if(c){do if(r|0){m=r+480|0;if(!(f[m>>2]|0)){d=c;if((f[r+304>>2]|0)>>>0>d>>>0)break;if((f[r+308>>2]|0)>>>0<=d>>>0)break;u=r+300|0;f[c>>2]=f[u>>2];f[u>>2]=c}else Kc(r,c);c=m;n=75;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);n=73;break}else{n=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);n=73;break}}else n=73;while(0);if((n|0)==73)if(r){c=r+480|0;n=75}if((n|0)==75){if(f[c>>2]|0){Kc(r,l);break}u=l;if((f[r+304>>2]|0)>>>0<=u>>>0?(f[r+308>>2]|0)>>>0>u>>>0:0){u=r+300|0;f[l>>2]=f[u>>2];f[u>>2]=l;break}}if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{u=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);if(!i){u=0;t=s;return u|0}mg(r,i,1);u=0;t=s;return u|0}function ol(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0;do if(!c){a:do if(f[a+272>>2]|0)if(!(b[a+81>>0]|0))k=12;else{e=0;return e|0}else{do if((j[a+276>>1]|0)>=80){g=a+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];g=a+284|0;f[g>>2]=(f[g>>2]|0)+1;g=c;break a}g=a+296|0;c=f[g>>2]|0;if(!c){g=a+292|0;break}else{f[g>>2]=f[c>>2];g=a+284|0;f[g>>2]=(f[g>>2]|0)+1;g=c;break a}}else g=a+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;k=12}while(0);if((k|0)==12)g=Dc(a,80,0)|0;if(!g){e=0;return e|0}else{f[g+4>>2]=1;f[g>>2]=1;i=g+8|0;k=i+72|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(k|0));c=g;g=g+48|0;k=30;break}}else{m=f[c>>2]|0;if((m+1|0)>>>0>(f[c+4>>2]|0)>>>0){h=((m<<1|1)*72|0)+8|0;l=c;i=a+304|0;g=f[i>>2]|0;if(!((g>>>0<=l>>>0?(f[a+308>>2]|0)>>>0>l>>>0:0)?!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0)):0)){g=Lc(a,c,h,0)|0;if(!g)break;c=g;g=f[i>>2]|0}l=c;if(g>>>0<=l>>>0?(f[a+308>>2]|0)>>>0>l>>>0:0)g=j[a+276>>1]|0;else g=ib[f[37368>>2]&255](c)|0;f[c+4>>2]=(((g+-80|0)>>>0)/72|0)+1;g=f[c>>2]|0;if((g|0)>(m|0)){do{i=c+8+(g*72|0)|0;g=g+-1|0;h=c+8+(g*72|0)|0;k=i+72|0;do{f[i>>2]=f[h>>2];i=i+4|0;h=h+4|0}while((i|0)<(k|0))}while((g|0)>(m|0));l=c;h=c;g=f[c>>2]|0}else{l=c;h=c}}else{l=c;h=c;g=m}f[h>>2]=g+1;i=l+8+(m*72|0)|0;k=i+72|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(k|0));c=l;g=l+8+(m*72|0)+40|0;k=30}while(0);if((k|0)==30)f[g>>2]=-1;if(b[a+81>>0]|0){ng(a,c);e=0;return e|0}g=(f[c>>2]|0)+-1|0;if(e|0?f[e>>2]|0:0){e=pl(a,e)|0;f[c+8+(g*72|0)+8>>2]=e;e=pl(a,d)|0;f[c+8+(g*72|0)+4>>2]=e;e=c;return e|0}e=pl(a,d)|0;f[c+8+(g*72|0)+8>>2]=e;f[c+8+(g*72|0)+4>>2]=0;e=c;return e|0}function pl(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0;if(!c){k=0;return k|0}k=f[c>>2]|0;h=f[c+4>>2]|0;if(!k){k=0;return k|0}e=KA(h|0,0,1,0)|0;g=ba()|0;a:do if(f[a+272>>2]|0)if(!(b[a+81>>0]|0))i=13;else{k=0;return k|0}else{do if(0<0|(0==0?h>>>0<(j[a+276>>1]|0)>>>0:0)){c=a+300|0;d=f[c>>2]|0;if(d|0){f[c>>2]=f[d>>2];a=a+284|0;f[a>>2]=(f[a>>2]|0)+1;a=d;break a}c=a+296|0;d=f[c>>2]|0;if(!d){c=a+292|0;break}else{f[c>>2]=f[d>>2];a=a+284|0;f[a>>2]=(f[a>>2]|0)+1;a=d;break a}}else c=a+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;i=13}while(0);if((i|0)==13)a=Dc(a,e,g)|0;if(!a){k=0;return k|0}YA(a|0,k|0,h|0)|0;b[a+h>>0]=0;c=b[a>>0]|0;if((b[5472+(c&255)>>0]|0)>=0){k=a;return k|0}g=c<<24>>24==91?93:c;e=0;c=1;while(1){d=b[a+c>>0]|0;if(d<<24>>24==g<<24>>24){c=c+1|0;d=a+e|0;if((b[a+c>>0]|0)!=g<<24>>24)break;b[d>>0]=g}else b[a+e>>0]=d;e=e+1|0;c=c+1|0}b[d>>0]=0;k=a;return k|0} - -// EMSCRIPTEN_END_FUNCS -var hb=[JQ,bB,cB,dB,eB,fB,gB,hB,iB,jB,kB,lB,mB,nB,oB,pB,qB,rB,sB,tB,uB,vB,wB,xB,yB,zB,AB,BB,CB,DB,EB,FB,GB,HB,IB,JB,KB,LB,MB,NB,OB,PB,QB,RB,SB,TB,UB,VB,WB,XB,YB,ZB,_B,$B,aC,bC,cC,dC,eC,fC,gC,hC,iC,jC,kC,vA,ud,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ];var ib=[KQ,mC,nC,oC,pC,qC,rC,sC,tC,uC,vC,wC,xC,yC,zC,AC,BC,CC,DC,EC,FC,GC,HC,IC,JC,KC,LC,MC,NC,OC,PC,QC,RC,SC,TC,UC,VC,WC,XC,YC,ZC,_C,$C,aD,bD,cD,dD,eD,fD,gD,hD,iD,jD,kD,lD,mD,nD,oD,pD,qD,rD,sD,tD,uD,vD,cp,fp,gp,hp,Sd,Wd,ad,kd,ld,Jz,tA,wA,Bd,Jd,Xg,vi,xi,zi,Ai,vx,wx,yx,Ax,Bx,Fx,Gx,Hx,Ix,Ox,lv,mv,ov,qv,rv,av,cv,ev,fv,Wu,Yu,Nu,Pu,Hu,Ju,Ps,Qs,Ss,Us,Vs,Zs,_s,$s,at,gt,zs,Bs,Ds,Es,Kr,Lr,Nr,Pr,Qr,Ur,Vr,Yr,Oq,Qq,Sq,Tq,fy,gy,ky,oy,ef,tk,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ];var jb=[LQ,xD,yD,zD,AD,BD,CD,DD,ED,FD,GD,HD,ID,JD,KD,LD,MD,ND,OD,PD,QD,RD,SD,TD,UD,VD,WD,XD,YD,ZD,_D,$D,aE,bE,cE,dE,eE,fE,gE,hE,iE,jE,kE,lE,mE,nE,oE,pE,qE,rE,sE,tE,uE,vE,wE,xE,yE,zE,AE,BE,CE,DE,EE,FE,GE,ep,Uc,Vc,Xc,Zc,_c,Rd,Ad,$c,ed,fd,gd,hd,id,od,Mz,Vz,Lz,Tz,qA,CA,td,Zz,_z,Kz,Cd,Dd,Ed,Kd,Ld,Md,$g,ah,ui,wi,Ci,ux,xx,Dx,Kx,Lx,Mx,Nx,kv,nv,tv,$u,bv,hv,Os,Rs,Xs,ct,dt,et,ft,ys,As,Gs,Jr,Mr,Sr,Wr,Xr,Nq,jr,Vq,Pq,hy,ly,my,ty,uc,vc,_o,$o,Wo,Xo,cl,dl,el,li,mi,gl,Qg,Qh,Sk,rk,Ok,Jl,jm,km,jo,ko,lo,uo,Do,Eo,Go,ao,zn,Nn,Mn,fj,ho,Lo,Hs,Is,zt,tt,ut,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ];var kb=[MQ,IE,JE,KE,LE,ME,NE,OE,PE,QE,RE,SE,TE,UE,VE,WE,XE,YE,ZE,_E,$E,aF,bF,cF,dF,eF,fF,gF,hF,iF,jF,kF,lF,mF,nF,oF,pF,qF,rF,sF,tF,uF,vF,wF,xF,yF,zF,AF,BF,CF,DF,EF,FF,GF,HF,IF,JF,KF,LF,MF,NF,OF,PF,QF,RF,Ud,Xd,Qc,Tc,Wc,Yc,dd,jd,sd,Az,Xz,Wz,uA,Sz,_g,Bi,Cx,sv,gv,Vu,Mu,Gu,Ws,Fs,Rr,Uq,iy,qy,sy,qk,pk,ok,an,Jt,gu,fu,Ft,Kt,Nt,Pt,Ew,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ];var lb=[NQ,TF,UF,VF,WF,XF,YF,ZF,_F,$F,aG,bG,cG,dG,eG,fG,gG,hG,iG,jG,kG,lG,mG,nG,oG,pG,qG,rG,sG,tG,uG,vG,wG,xG,yG,zG,AG,BG,CG,DG,EG,FG,GG,HG,IG,JG,KG,LG,MG,NG,OG,PG,QG,RG,SG,TG,UG,VG,WG,XG,YG,ZG,_G,$G,aH,Rc,Sc,md,qd,Ex,nw,qw,tw,Xu,Ou,Iu,Ys,Tr,py,ry,wy,th,uh,vj,Pj,$m,zq,Js,Ks,Yp,_p,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ];var mb=[OQ,cH,dH,eH,fH,gH,hH,iH,jH,kH,lH,mH,nH,oH,pH,qH,rH,sH,tH,uH,vH,wH,xH,yH,zH,AH,BH,CH,DH,EH,FH,GH,HH,IH,JH,KH,LH,MH,NH,OH,PH,QH,RH,SH,TH,UH,VH,WH,XH,YH,ZH,_H,$H,aI,bI,cI,dI,eI,fI,gI,hI,iI,jI,kI,lI,Pc,bd,cd,pd,Nd,Yg,Zg,yi,zx,Jx,pv,dv,Ts,bt,Cs,Or,Rq,jy,ny,uy,_n,wq,xq,yq,gs,hs,hx,gx,dx,ex,fx,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ];var nb=[PQ,nI,oI,pI,qI,rI,sI,tI,uI,vI,wI,xI,yI,zI,AI,BI,CI,DI,EI,FI,GI,HI,II,JI,KI,LI,MI,NI,OI,PI,QI,RI,SI,TI,UI,VI,WI,XI,YI,ZI,_I,$I,aJ,bJ,cJ,dJ,eJ,fJ,gJ,hJ,iJ,jJ,kJ,lJ,mJ,nJ,oJ,pJ,qJ,rJ,sJ,tJ,uJ,vJ,wJ,DA,ti,sx,tx,pw,sw,vw,iv,jv,_u,Zu,Qu,Ku,Ms,Ns,xs,Hr,Ir,Mq,$j,ak,bk,ww,Hw,Gw,cx,Py,Sy,Gy,zy,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ];var ob=[QQ,yJ,zJ,AJ,BJ,CJ,DJ,EJ,FJ,GJ,HJ,IJ,JJ,KJ,LJ,MJ,NJ,OJ,PJ,QJ,RJ,SJ,TJ,UJ,VJ,WJ,XJ,YJ,ZJ,_J,$J,aK,bK,cK,dK,eK,fK,gK,hK,iK,jK,kK,lK,mK,nK,oK,pK,qK,rK,sK,tK,uK,vK,wK,xK,yK,zK,AK,BK,CK,DK,EK,FK,GK,HK,dp,ip,Hf,Kf,Mf,Of,Qf,Sf,Uf,Vf,Xf,oe,pe,Oe,Qe,Re,Te,We,Xe,Td,$d,ae,nd,ow,rw,uw,lr,mr,or,pr,lc,mc,oc,pc,qc,rc,he,Dj,sk,Nj,sm,Wh,Aq,Hq,Er,zp,Ht,QQ,QQ,QQ,QQ,QQ,QQ,QQ,QQ,QQ,QQ,QQ,QQ,QQ,QQ,QQ,QQ];var pb=[RQ,JK,KK,LK,MK,NK,OK,PK,QK,RK,SK,TK,UK,VK,WK,XK,YK,ZK,_K,$K,aL,bL,cL,dL,eL,fL,gL,hL,iL,jL,kL,lL,mL,nL,oL,pL,qL,rL,sL,tL,uL,vL,wL,xL,yL,zL,AL,BL,CL,DL,EL,FL,GL,HL,IL,JL,KL,LL,ML,NL,OL,PL,QL,RL,SL,Vd,_d,fl,hl,Fo,Nv,Ov,Pv,Qv,Rv,Sv,Vv,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ];var qb=[SQ,UL,VL,WL,XL,YL,ZL,_L,$L,aM,bM,cM,dM,eM,fM,gM,hM,iM,jM,kM,lM,mM,nM,oM,pM,qM,rM,sM,tM,uM,vM,wM,xM,yM,zM,AM,BM,CM,DM,EM,FM,GM,HM,IM,JM,KM,LM,MM,NM,OM,PM,QM,RM,SM,TM,UM,VM,WM,XM,YM,ZM,_M,$M,aN,bN,Ab,Bb,Cb,Db,Eb,Fb,Gb,Hb,Ib,Jb,Kb,Lb,Mb,Nb,Ob,Pb,Qb,Rb,Sb,Tb,Ub,Vb,Wb,Xb,Yb,Zb,_b,$b,ac,bc,cc,dc,ec,fc,gc,hc,ic,jc,_f,$f,ag,Gf,If,Jf,Lf,Nf,Pf,Rf,Tf,Wf,sf,tf,uf,vf,wf,xf,yf,zf,ie,je,ke,le,me,ne,qe,re,se,te,ue,ve,we,xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,Je,Ke,Le,Me,Ne,Pe,Se,Ue,Ve,Ye,Ze,Yd,Rm,Qm,rm,qm,pm,Iw,Jw,Kw,Lw,sr,tr,ur,vr,wr,xr,yr,zr,Ar,Br,Cr,kr,nr,Bt,Ct,Dt,Et,xy,kc,nc,Rg,Sh,Rh,sq,Bq,Cq,Dq,Eq,Gq,Iq,Jq,Kq,Lq,Lv,Mv,Wv,Xv,Yv,ey,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ];var rb=[TQ,dN,eN,fN,gN,hN,iN,jN,kN,lN,mN,nN,oN,pN,qN,rN,sN,tN,uN,vN,wN,xN,yN,zN,AN,BN,CN,DN,EN,FN,GN,HN,IN,JN,KN,LN,MN,NN,ON,PN,QN,RN,SN,TN,UN,VN,WN,XN,YN,ZN,_N,$N,aO,bO,cO,dO,eO,fO,gO,hO,iO,jO,kO,lO,mO,Zd,vy,xc,zc,aw,cw,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ];var sb=[UQ,oO,pO,qO,rO,sO,tO,uO,vO,wO,xO,yO,zO,AO,BO,CO,DO,EO,FO,GO,HO,IO,JO,KO,LO,MO,NO,OO,PO,QO,RO,SO,TO,UO,VO,WO,XO,YO,ZO,_O,$O,aP,bP,cP,dP,eP,fP,gP,hP,iP,jP,kP,lP,mP,nP,oP,pP,qP,rP,sP,tP,uP,vP,wP,xP,Bw,Cw,Dw,Jv,Kv,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ];var tb=[VQ,zP,AP,BP,CP,DP,EP,FP,GP,HP,IP,JP,KP,LP,MP,NP,OP,PP,QP,RP,SP,TP,UP,VP,WP,XP,YP,ZP,_P,$P,aQ,bQ,cQ,dQ,eQ,fQ,gQ,hQ,iQ,jQ,kQ,lQ,mQ,nQ,oQ,pQ,qQ,rQ,sQ,tQ,uQ,vQ,wQ,xQ,yQ,zQ,AQ,BQ,CQ,DQ,EQ,FQ,GQ,HQ,IQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ];return{_RegisterExtensionFunctions:zb,___divdi3:OA,___emscripten_environ_constructor:FA,___errno_location:mz,___muldi3:QA,___remdi3:RA,___udivdi3:SA,___uremdi3:TA,__get_daylight:HA,__get_environ:JA,__get_timezone:IA,__get_tzname:GA,_bitshift64Ashr:UA,_bitshift64Lshr:VA,_bitshift64Shl:WA,_emscripten_replace_memory:gb,_free:ez,_i64Add:KA,_i64Subtract:LA,_llvm_bswap_i32:XA,_malloc:dz,_memalign:jz,_memcpy:YA,_memmove:ZA,_memset:_A,_sbrk:$A,_sqlite3_bind_blob:Np,_sqlite3_bind_double:Pp,_sqlite3_bind_int:Qp,_sqlite3_bind_parameter_index:Up,_sqlite3_bind_text:Rp,_sqlite3_changes:hq,_sqlite3_clear_bindings:np,_sqlite3_close_v2:mq,_sqlite3_column_blob:Fp,_sqlite3_column_bytes:Gp,_sqlite3_column_double:Hp,_sqlite3_column_name:Mp,_sqlite3_column_text:Kp,_sqlite3_column_type:Lp,_sqlite3_create_function_v2:oq,_sqlite3_data_count:Ep,_sqlite3_errmsg:Mj,_sqlite3_exec:uj,_sqlite3_finalize:Fi,_sqlite3_free:he,_sqlite3_open:tq,_sqlite3_prepare_v2:bq,_sqlite3_reset:mp,_sqlite3_result_double:up,_sqlite3_result_null:yp,_sqlite3_result_text:Ap,_sqlite3_step:Ei,_sqlite3_value_blob:lf,_sqlite3_value_bytes:pp,_sqlite3_value_double:qp,_sqlite3_value_int:rp,_sqlite3_value_text:op,_sqlite3_value_type:tp,dynCall_i:aB,dynCall_ii:lC,dynCall_iii:wD,dynCall_iiii:HE,dynCall_iiiii:SF,dynCall_iiiiii:bH,dynCall_iiiiiii:mI,dynCall_vi:xJ,dynCall_vii:IK,dynCall_viii:TL,dynCall_viiii:cN,dynCall_viiiii:nO,dynCall_viiiiii:yP,establishStackSpace:xb,setThrew:yb,stackAlloc:ub,stackRestore:wb,stackSave:vb}}) - - -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=asm["_RegisterExtensionFunctions"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=asm["___emscripten_environ_constructor"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___remdi3=Module["___remdi3"]=asm["___remdi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var __get_daylight=Module["__get_daylight"]=asm["__get_daylight"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var __get_timezone=Module["__get_timezone"]=asm["__get_timezone"];var __get_tzname=Module["__get_tzname"]=asm["__get_tzname"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memalign=Module["_memalign"]=asm["_memalign"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=asm["_sqlite3_bind_blob"];var _sqlite3_bind_double=Module["_sqlite3_bind_double"]=asm["_sqlite3_bind_double"];var _sqlite3_bind_int=Module["_sqlite3_bind_int"]=asm["_sqlite3_bind_int"];var _sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=asm["_sqlite3_bind_parameter_index"];var _sqlite3_bind_text=Module["_sqlite3_bind_text"]=asm["_sqlite3_bind_text"];var _sqlite3_changes=Module["_sqlite3_changes"]=asm["_sqlite3_changes"];var _sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=asm["_sqlite3_clear_bindings"];var _sqlite3_close_v2=Module["_sqlite3_close_v2"]=asm["_sqlite3_close_v2"];var _sqlite3_column_blob=Module["_sqlite3_column_blob"]=asm["_sqlite3_column_blob"];var _sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=asm["_sqlite3_column_bytes"];var _sqlite3_column_double=Module["_sqlite3_column_double"]=asm["_sqlite3_column_double"];var _sqlite3_column_name=Module["_sqlite3_column_name"]=asm["_sqlite3_column_name"];var _sqlite3_column_text=Module["_sqlite3_column_text"]=asm["_sqlite3_column_text"];var _sqlite3_column_type=Module["_sqlite3_column_type"]=asm["_sqlite3_column_type"];var _sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=asm["_sqlite3_create_function_v2"];var _sqlite3_data_count=Module["_sqlite3_data_count"]=asm["_sqlite3_data_count"];var _sqlite3_errmsg=Module["_sqlite3_errmsg"]=asm["_sqlite3_errmsg"];var _sqlite3_exec=Module["_sqlite3_exec"]=asm["_sqlite3_exec"];var _sqlite3_finalize=Module["_sqlite3_finalize"]=asm["_sqlite3_finalize"];var _sqlite3_free=Module["_sqlite3_free"]=asm["_sqlite3_free"];var _sqlite3_open=Module["_sqlite3_open"]=asm["_sqlite3_open"];var _sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=asm["_sqlite3_prepare_v2"];var _sqlite3_reset=Module["_sqlite3_reset"]=asm["_sqlite3_reset"];var _sqlite3_result_double=Module["_sqlite3_result_double"]=asm["_sqlite3_result_double"];var _sqlite3_result_null=Module["_sqlite3_result_null"]=asm["_sqlite3_result_null"];var _sqlite3_result_text=Module["_sqlite3_result_text"]=asm["_sqlite3_result_text"];var _sqlite3_step=Module["_sqlite3_step"]=asm["_sqlite3_step"];var _sqlite3_value_blob=Module["_sqlite3_value_blob"]=asm["_sqlite3_value_blob"];var _sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=asm["_sqlite3_value_bytes"];var _sqlite3_value_double=Module["_sqlite3_value_double"]=asm["_sqlite3_value_double"];var _sqlite3_value_int=Module["_sqlite3_value_int"]=asm["_sqlite3_value_int"];var _sqlite3_value_text=Module["_sqlite3_value_text"]=asm["_sqlite3_value_text"];var _sqlite3_value_type=Module["_sqlite3_value_type"]=asm["_sqlite3_value_type"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;Module["cwrap"]=cwrap;Module["stackSave"]=stackSave;Module["stackRestore"]=stackRestore;Module["stackAlloc"]=stackAlloc;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();var Database,NULL,RegisterExtensionFunctions,SQLite,Statement,apiTemp,i,sqlite3_bind_blob,sqlite3_bind_double,sqlite3_bind_int,sqlite3_bind_parameter_index,sqlite3_bind_text,sqlite3_changes,sqlite3_clear_bindings,sqlite3_close_v2,sqlite3_column_blob,sqlite3_column_bytes,sqlite3_column_double,sqlite3_column_name,sqlite3_column_text,sqlite3_column_type,sqlite3_create_function_v2,sqlite3_data_count,sqlite3_errmsg,sqlite3_exec,sqlite3_finalize,sqlite3_free,sqlite3_open,sqlite3_prepare_v2,sqlite3_prepare_v2_sqlptr,sqlite3_reset,sqlite3_result_double,sqlite3_result_null,sqlite3_result_text,sqlite3_step,sqlite3_value_blob,sqlite3_value_bytes,sqlite3_value_double,sqlite3_value_int,sqlite3_value_text,sqlite3_value_type;apiTemp=stackAlloc(4);SQLite={};Statement=(function(){function Statement(stmt1,db){this.stmt=stmt1;this.db=db;this.pos=1;this.allocatedmem=[]}Statement.prototype["bind"]=(function(values){if(!this.stmt){throw"Statement closed"}this["reset"]();if(Array.isArray(values)){return this.bindFromArray(values)}else{return this.bindFromObject(values)}});Statement.prototype["step"]=(function(){var ret;if(!this.stmt){throw"Statement closed"}this.pos=1;switch(ret=sqlite3_step(this.stmt)){case SQLite.ROW:return true;case SQLite.DONE:return false;default:return this.db.handleError(ret)}});Statement.prototype.getNumber=(function(pos){if(pos==null){pos=this.pos++}return sqlite3_column_double(this.stmt,pos)});Statement.prototype.getString=(function(pos){if(pos==null){pos=this.pos++}return sqlite3_column_text(this.stmt,pos)});Statement.prototype.getBlob=(function(pos){var i,k,ptr,ref,result,size;if(pos==null){pos=this.pos++}size=sqlite3_column_bytes(this.stmt,pos);ptr=sqlite3_column_blob(this.stmt,pos);result=new Uint8Array(size);for(i=k=0,ref=size;0<=ref?kref;i=0<=ref?++k:--k){result[i]=HEAP8[ptr+i]}return result});Statement.prototype["get"]=(function(params){var field,k,ref,results1;if(params!=null){this["bind"](params)&&this["step"]()}results1=[];for(field=k=0,ref=sqlite3_data_count(this.stmt);0<=ref?kref;field=0<=ref?++k:--k){switch(sqlite3_column_type(this.stmt,field)){case SQLite.INTEGER:case SQLite.FLOAT:results1.push(this.getNumber(field));break;case SQLite.TEXT:results1.push(this.getString(field));break;case SQLite.BLOB:results1.push(this.getBlob(field));break;default:results1.push(null)}}return results1});Statement.prototype["getColumnNames"]=(function(){var i,k,ref,results1;results1=[];for(i=k=0,ref=sqlite3_data_count(this.stmt);0<=ref?kref;i=0<=ref?++k:--k){results1.push(sqlite3_column_name(this.stmt,i))}return results1});Statement.prototype["getAsObject"]=(function(params){var i,k,len,name,names,rowObject,values;values=this["get"](params);names=this["getColumnNames"]();rowObject={};for(i=k=0,len=names.length;k>>0);if(data!=null){FS.createDataFile("/",this.filename,data,true,true)}this.handleError(sqlite3_open(this.filename,apiTemp));this.db=getValue(apiTemp,"i32");RegisterExtensionFunctions(this.db);this.statements={}}Database.prototype["run"]=(function(sql,params){var stmt;if(!this.db){throw"Database closed"}if(params){stmt=this["prepare"](sql,params);stmt["step"]();stmt["free"]()}else{this.handleError(sqlite3_exec(this.db,sql,0,0,apiTemp))}return this});Database.prototype["exec"]=(function(sql){var curresult,nextSqlPtr,pStmt,pzTail,results,stack,stmt;if(!this.db){throw"Database closed"}stack=stackSave();nextSqlPtr=stackAlloc(sql.length<<2+1);writeStringToMemory(sql,nextSqlPtr);pzTail=stackAlloc(4);results=[];while(getValue(nextSqlPtr,"i8")!==NULL){setValue(apiTemp,0,"i32");setValue(pzTail,0,"i32");this.handleError(sqlite3_prepare_v2_sqlptr(this.db,nextSqlPtr,-1,apiTemp,pzTail));pStmt=getValue(apiTemp,"i32");nextSqlPtr=getValue(pzTail,"i32");if(pStmt===NULL){continue}stmt=new Statement(pStmt,this);curresult=null;while(stmt["step"]()){if(curresult===null){curresult={"columns":stmt["getColumnNames"](),"values":[]};results.push(curresult)}curresult["values"].push(stmt["get"]())}stmt["free"]()}stackRestore(stack);return results});Database.prototype["each"]=(function(sql,params,callback,done){var stmt;if(typeof params==="function"){done=callback;callback=params;params=void 0}stmt=this["prepare"](sql,params);while(stmt["step"]()){callback(stmt["getAsObject"]())}stmt["free"]();if(typeof done==="function"){return done()}});Database.prototype["prepare"]=(function(sql,params){var pStmt,stmt;setValue(apiTemp,0,"i32");this.handleError(sqlite3_prepare_v2(this.db,sql,-1,apiTemp,NULL));pStmt=getValue(apiTemp,"i32");if(pStmt===NULL){throw"Nothing to prepare"}stmt=new Statement(pStmt,this);if(params!=null){stmt.bind(params)}this.statements[pStmt]=stmt;return stmt});Database.prototype["export"]=(function(){var _,binaryDb,ref,stmt;ref=this.statements;for(_ in ref){stmt=ref[_];stmt["free"]()}this.handleError(sqlite3_close_v2(this.db));binaryDb=FS.readFile(this.filename,{encoding:"binary"});this.handleError(sqlite3_open(this.filename,apiTemp));this.db=getValue(apiTemp,"i32");return binaryDb});Database.prototype["close"]=(function(){var _,ref,stmt;ref=this.statements;for(_ in ref){stmt=ref[_];stmt["free"]()}this.handleError(sqlite3_close_v2(this.db));FS.unlink("/"+this.filename);return this.db=null});Database.prototype.handleError=(function(returnCode){var errmsg;if(returnCode===SQLite.OK){return null}else{errmsg=sqlite3_errmsg(this.db);throw new Error(errmsg)}});Database.prototype["getRowsModified"]=(function(){return sqlite3_changes(this.db)});Database.prototype["create_function"]=(function(name,func){var func_ptr,wrapped_func;wrapped_func=(function(cx,argc,argv){var arg,args,data_func,i,k,ref,result,value_ptr,value_type;args=[];for(i=k=0,ref=argc;0<=ref?kref;i=0<=ref?++k:--k){value_ptr=getValue(argv+4*i,"i32");value_type=sqlite3_value_type(value_ptr);data_func=(function(){switch(false){case value_type!==1:return sqlite3_value_int;case value_type!==2:return sqlite3_value_double;case value_type!==3:return sqlite3_value_text;case value_type!==4:return(function(ptr){var blob_arg,blob_ptr,j,l,ref1,size;size=sqlite3_value_bytes(ptr);blob_ptr=sqlite3_value_blob(ptr);blob_arg=new Uint8Array(size);for(j=l=0,ref1=size;0<=ref1?lref1;j=0<=ref1?++l:--l){blob_arg[j]=HEAP8[blob_ptr+j]}return blob_arg});default:return(function(ptr){return null})}})();arg=data_func(value_ptr);args.push(arg)}result=func.apply(null,args);if(!result){return sqlite3_result_null(cx)}else{switch(typeof result){case"number":return sqlite3_result_double(cx,result);case"string":return sqlite3_result_text(cx,result,-1,-1)}}});func_ptr=addFunction(wrapped_func);this.handleError(sqlite3_create_function_v2(this.db,name,func.length,SQLite.UTF8,0,func_ptr,0,0,0));return this});return Database})();sqlite3_open=Module["cwrap"]("sqlite3_open","number",["string","number"]);sqlite3_close_v2=Module["cwrap"]("sqlite3_close_v2","number",["number"]);sqlite3_exec=Module["cwrap"]("sqlite3_exec","number",["number","string","number","number","number"]);sqlite3_free=Module["cwrap"]("sqlite3_free","",["number"]);sqlite3_changes=Module["cwrap"]("sqlite3_changes","number",["number"]);sqlite3_prepare_v2=Module["cwrap"]("sqlite3_prepare_v2","number",["number","string","number","number","number"]);sqlite3_prepare_v2_sqlptr=Module["cwrap"]("sqlite3_prepare_v2","number",["number","number","number","number","number"]);sqlite3_bind_text=Module["cwrap"]("sqlite3_bind_text","number",["number","number","number","number","number"]);sqlite3_bind_blob=Module["cwrap"]("sqlite3_bind_blob","number",["number","number","number","number","number"]);sqlite3_bind_double=Module["cwrap"]("sqlite3_bind_double","number",["number","number","number"]);sqlite3_bind_int=Module["cwrap"]("sqlite3_bind_int","number",["number","number","number"]);sqlite3_bind_parameter_index=Module["cwrap"]("sqlite3_bind_parameter_index","number",["number","string"]);sqlite3_step=Module["cwrap"]("sqlite3_step","number",["number"]);sqlite3_errmsg=Module["cwrap"]("sqlite3_errmsg","string",["number"]);sqlite3_data_count=Module["cwrap"]("sqlite3_data_count","number",["number"]);sqlite3_column_double=Module["cwrap"]("sqlite3_column_double","number",["number","number"]);sqlite3_column_text=Module["cwrap"]("sqlite3_column_text","string",["number","number"]);sqlite3_column_blob=Module["cwrap"]("sqlite3_column_blob","number",["number","number"]);sqlite3_column_bytes=Module["cwrap"]("sqlite3_column_bytes","number",["number","number"]);sqlite3_column_type=Module["cwrap"]("sqlite3_column_type","number",["number","number"]);sqlite3_column_name=Module["cwrap"]("sqlite3_column_name","string",["number","number"]);sqlite3_reset=Module["cwrap"]("sqlite3_reset","number",["number"]);sqlite3_clear_bindings=Module["cwrap"]("sqlite3_clear_bindings","number",["number"]);sqlite3_finalize=Module["cwrap"]("sqlite3_finalize","number",["number"]);sqlite3_create_function_v2=Module["cwrap"]("sqlite3_create_function_v2","number",["number","string","number","number","number","number","number","number","number"]);sqlite3_value_type=Module["cwrap"]("sqlite3_value_type","number",["number"]);sqlite3_value_bytes=Module["cwrap"]("sqlite3_value_bytes","number",["number"]);sqlite3_value_text=Module["cwrap"]("sqlite3_value_text","string",["number"]);sqlite3_value_int=Module["cwrap"]("sqlite3_value_int","number",["number"]);sqlite3_value_blob=Module["cwrap"]("sqlite3_value_blob","number",["number"]);sqlite3_value_double=Module["cwrap"]("sqlite3_value_double","number",["number"]);sqlite3_result_double=Module["cwrap"]("sqlite3_result_double","",["number","number"]);sqlite3_result_null=Module["cwrap"]("sqlite3_result_null","",["number"]);sqlite3_result_text=Module["cwrap"]("sqlite3_result_text","",["number","string","number","number"]);RegisterExtensionFunctions=Module["cwrap"]("RegisterExtensionFunctions","number",["number"]);this["SQL"]={"Database":Database};for(i in this["SQL"]){Module[i]=this["SQL"][i]}NULL=0;SQLite.OK=0;SQLite.ERROR=1;SQLite.INTERNAL=2;SQLite.PERM=3;SQLite.ABORT=4;SQLite.BUSY=5;SQLite.LOCKED=6;SQLite.NOMEM=7;SQLite.READONLY=8;SQLite.INTERRUPT=9;SQLite.IOERR=10;SQLite.CORRUPT=11;SQLite.NOTFOUND=12;SQLite.FULL=13;SQLite.CANTOPEN=14;SQLite.PROTOCOL=15;SQLite.EMPTY=16;SQLite.SCHEMA=17;SQLite.TOOBIG=18;SQLite.CONSTRAINT=19;SQLite.MISMATCH=20;SQLite.MISUSE=21;SQLite.NOLFS=22;SQLite.AUTH=23;SQLite.FORMAT=24;SQLite.RANGE=25;SQLite.NOTADB=26;SQLite.NOTICE=27;SQLite.WARNING=28;SQLite.ROW=100;SQLite.DONE=101;SQLite.INTEGER=1;SQLite.FLOAT=2;SQLite.TEXT=3;SQLite.BLOB=4;SQLite.NULL=5;SQLite.UTF8=1 - - - - -return this['SQL']; -})(); -if (typeof module !== 'undefined') module.exports = SQL; -if (typeof define === 'function') define(SQL); +// We are modularizing this manually because the current modularize setting in Emscripten has some issues: +// https://github.com/kripken/emscripten/issues/5820 +// In addition, When you use emcc's modularization, it still expects to export a global object called `Module`, +// which is able to be used/called before the WASM is loaded. +// The modularization below exports a promise that loads and resolves to the actual sql.js module. +// That way, this module can't be used before the WASM is finished loading. + +// We are going to define a function that a user will call to start loading initializing our Sql.js library +// However, that function might be called multiple times, and on subsequent calls, we don't actually want it to instantiate a new instance of the Module +// Instead, we want to return the previously loaded module + +// TODO: Make this not declare a global if used in the browser +var initSqlJsPromise = undefined; + +var initSqlJs = function (moduleConfig) { + + if (initSqlJsPromise){ + return initSqlJsPromise; + } + // If we're here, we've never called this function before + initSqlJsPromise = new Promise((resolveModule, reject) => { + + // We are modularizing this manually because the current modularize setting in Emscripten has some issues: + // https://github.com/kripken/emscripten/issues/5820 + + // The way to affect the loading of emcc compiled modules is to create a variable called `Module` and add + // properties to it, like `preRun`, `postRun`, etc + // We are using that to get notified when the WASM has finished loading. + // Only then will we return our promise + + // If they passed in a moduleConfig object, use that + // Otherwise, initialize Module to the empty object + var Module = typeof moduleConfig !== 'undefined' ? moduleConfig : {}; + + // EMCC only allows for a single onAbort function (not an array of functions) + // So if the user defined their own onAbort function, we remember it and call it + var originalOnAbortFunction = Module['onAbort']; + Module['onAbort'] = function (errorThatCausedAbort) { + reject(new Error(errorThatCausedAbort)); + if (originalOnAbortFunction){ + originalOnAbortFunction(errorThatCausedAbort); + } + }; + + Module['postRun'] = Module['postRun'] || []; + Module['postRun'].push(function () { + // When Emscripted calls postRun, this promise resolves with the built Module + resolveModule(Module); + }); + + // There is a section of code in the emcc-generated code below that looks like this: + // (Note that this is lowercase `module`) + // if (typeof module !== 'undefined') { + // module['exports'] = Module; + // } + // When that runs, it's going to overwrite our own modularization export efforts in shell-post.js! + // The only way to tell emcc not to emit it is to pass the MODULARIZE=1 or MODULARIZE_INSTANCE=1 flags, + // but that carries with it additional unnecessary baggage/bugs we don't want either. + // So, we have three options: + // 1) We undefine `module` + // 2) We remember what `module['exports']` was at the beginning of this function and we restore it later + // 3) We write a script to remove those lines of code as part of the Make process. + // + // Since those are the only lines of code that care about module, we will undefine it. It's the most straightforward + // of the options, and has the side effect of reducing emcc's efforts to modify the module if its output were to change in the future. + // That's a nice side effect since we're handling the modularization efforts ourselves + module = undefined; + + // The emcc-generated code and shell-post.js code goes below, + // meaning that all of it runs inside of this promise. If anything throws an exception, our promise will abort + + +// The Module object: Our interface to the outside world. We import +// and export values on it. There are various ways Module can be used: +// 1. Not defined. We create it here +// 2. A function parameter, function(Module) { ..generated code.. } +// 3. pre-run appended it, var Module = {}; ..generated code.. +// 4. External script tag defines var Module. +// We need to check if Module already exists (e.g. case 3 above). +// Substitution will be replaced with actual code on later stage of the build, +// this way Closure Compiler will not mangle it (e.g. case 4. above). +// Note that if you want to run closure, and also to use Module +// after the generated code, you will need to define var Module = {}; +// before the code. Then that object will be used in the code, and you +// can continue to use Module afterwards as well. +var Module = typeof Module !== 'undefined' ? Module : {}; + + + +// --pre-jses are emitted after the Module integration code, so that they can +// refer to Module (if they choose; they can also define Module) + + +// Wait for preRun to run, and then finish our initialization +var runCompiledCode = (function() {// Generated by CoffeeScript 1.12.7 +var Database, NULL, RegisterExtensionFunctions, SQLite, Statement, apiTemp, custom_extensions, i, sqlite3_bind_blob, sqlite3_bind_double, sqlite3_bind_int, sqlite3_bind_parameter_index, sqlite3_bind_text, sqlite3_changes, sqlite3_clear_bindings, sqlite3_close_v2, sqlite3_column_blob, sqlite3_column_bytes, sqlite3_column_double, sqlite3_column_name, sqlite3_column_text, sqlite3_column_type, sqlite3_create_function_v2, sqlite3_data_count, sqlite3_errmsg, sqlite3_exec, sqlite3_finalize, sqlite3_free, sqlite3_open, sqlite3_prepare_v2, sqlite3_prepare_v2_sqlptr, sqlite3_reset, sqlite3_result_blob, sqlite3_result_double, sqlite3_result_error, sqlite3_result_int, sqlite3_result_int64, sqlite3_result_null, sqlite3_result_text, sqlite3_step, sqlite3_value_blob, sqlite3_value_bytes, sqlite3_value_double, sqlite3_value_int, sqlite3_value_text, sqlite3_value_type; + +apiTemp = stackAlloc(4); + +SQLite = {}; + + +/* Represents a prepared statement. + +Prepared statements allow you to have a template sql string, +that you can execute multiple times with different parameters. + +You can't instantiate this class directly, you have to use a [Database](Database.html) +object in order to create a statement. + +**Warning**: When you close a database (using db.close()), all its statements are +closed too and become unusable. + +@see Database.html#prepare-dynamic +@see https://en.wikipedia.org/wiki/Prepared_statement + */ + +Statement = (function() { + function Statement(stmt1, db) { + this.stmt = stmt1; + this.db = db; + this.pos = 1; + this.allocatedmem = []; + } + + + /* Bind values to the parameters, after having reseted the statement + + SQL statements can have parameters, named *'?', '?NNN', ':VVV', '@VVV', '$VVV'*, + where NNN is a number and VVV a string. + This function binds these parameters to the given values. + + *Warning*: ':', '@', and '$' are included in the parameters names + + ## Binding values to named parameters + @example Bind values to named parameters + var stmt = db.prepare("UPDATE test SET a=@newval WHERE id BETWEEN $mini AND $maxi"); + stmt.bind({$mini:10, $maxi:20, '@newval':5}); + - Create a statement that contains parameters like '$VVV', ':VVV', '@VVV' + - Call Statement.bind with an object as parameter + + ## Binding values to parameters + @example Bind values to anonymous parameters + var stmt = db.prepare("UPDATE test SET a=? WHERE id BETWEEN ? AND ?"); + stmt.bind([5, 10, 20]); + - Create a statement that contains parameters like '?', '?NNN' + - Call Statement.bind with an array as parameter + + ## Value types + Javascript type | SQLite type + --- | --- + number | REAL, INTEGER + boolean | INTEGER + string | TEXT + Array, Uint8Array | BLOB + null | NULL + @see http://www.sqlite.org/datatype3.html + + @see http://www.sqlite.org/lang_expr.html#varparam + @param values [Array,Object] The values to bind + @return [Boolean] true if it worked + @throw [String] SQLite Error + */ + + Statement.prototype['bind'] = function(values) { + if (!this.stmt) { + throw "Statement closed"; + } + this['reset'](); + if (Array.isArray(values)) { + return this.bindFromArray(values); + } else { + return this.bindFromObject(values); + } + }; + + + /* Execute the statement, fetching the the next line of result, + that can be retrieved with [Statement.get()](#get-dynamic) . + + @return [Boolean] true if a row of result available + @throw [String] SQLite Error + */ + + Statement.prototype['step'] = function() { + var ret; + if (!this.stmt) { + throw "Statement closed"; + } + this.pos = 1; + switch (ret = sqlite3_step(this.stmt)) { + case SQLite.ROW: + return true; + case SQLite.DONE: + return false; + default: + return this.db.handleError(ret); + } + }; + + Statement.prototype.getNumber = function(pos) { + if (pos == null) { + pos = this.pos++; + } + return sqlite3_column_double(this.stmt, pos); + }; + + Statement.prototype.getString = function(pos) { + if (pos == null) { + pos = this.pos++; + } + return sqlite3_column_text(this.stmt, pos); + }; + + Statement.prototype.getBlob = function(pos) { + var i, k, ptr, ref, result, size; + if (pos == null) { + pos = this.pos++; + } + size = sqlite3_column_bytes(this.stmt, pos); + ptr = sqlite3_column_blob(this.stmt, pos); + result = new Uint8Array(size); + for (i = k = 0, ref = size; 0 <= ref ? k < ref : k > ref; i = 0 <= ref ? ++k : --k) { + result[i] = HEAP8[ptr + i]; + } + return result; + }; + + + /* Get one row of results of a statement. + If the first parameter is not provided, step must have been called before get. + @param [Array,Object] Optional: If set, the values will be bound to the statement, and it will be executed + @return [Array] One row of result + + @example Print all the rows of the table test to the console + + var stmt = db.prepare("SELECT * FROM test"); + while (stmt.step()) console.log(stmt.get()); + */ + + Statement.prototype['get'] = function(params) { + var field, k, ref, results1; + if (params != null) { + this['bind'](params) && this['step'](); + } + results1 = []; + for (field = k = 0, ref = sqlite3_data_count(this.stmt); 0 <= ref ? k < ref : k > ref; field = 0 <= ref ? ++k : --k) { + switch (sqlite3_column_type(this.stmt, field)) { + case SQLite.INTEGER: + case SQLite.FLOAT: + results1.push(this.getNumber(field)); + break; + case SQLite.TEXT: + results1.push(this.getString(field)); + break; + case SQLite.BLOB: + results1.push(this.getBlob(field)); + break; + default: + results1.push(null); + } + } + return results1; + }; + + + /* Get the list of column names of a row of result of a statement. + @return [Array] The names of the columns + @example + + var stmt = db.prepare("SELECT 5 AS nbr, x'616200' AS data, NULL AS null_value;"); + stmt.step(); // Execute the statement + console.log(stmt.getColumnNames()); // Will print ['nbr','data','null_value'] + */ + + Statement.prototype['getColumnNames'] = function() { + var i, k, ref, results1; + results1 = []; + for (i = k = 0, ref = sqlite3_data_count(this.stmt); 0 <= ref ? k < ref : k > ref; i = 0 <= ref ? ++k : --k) { + results1.push(sqlite3_column_name(this.stmt, i)); + } + return results1; + }; + + + /* Get one row of result as a javascript object, associating column names with + their value in the current row. + @param [Array,Object] Optional: If set, the values will be bound to the statement, and it will be executed + @return [Object] The row of result + @see [Statement.get](#get-dynamic) + + @example + + var stmt = db.prepare("SELECT 5 AS nbr, x'616200' AS data, NULL AS null_value;"); + stmt.step(); // Execute the statement + console.log(stmt.getAsObject()); // Will print {nbr:5, data: Uint8Array([1,2,3]), null_value:null} + */ + + Statement.prototype['getAsObject'] = function(params) { + var i, k, len, name, names, rowObject, values; + values = this['get'](params); + names = this['getColumnNames'](); + rowObject = {}; + for (i = k = 0, len = names.length; k < len; i = ++k) { + name = names[i]; + rowObject[name] = values[i]; + } + return rowObject; + }; + + + /* Shorthand for bind + step + reset + Bind the values, execute the statement, ignoring the rows it returns, and resets it + @param [Array,Object] Value to bind to the statement + */ + + Statement.prototype['run'] = function(values) { + if (values != null) { + this['bind'](values); + } + this['step'](); + return this['reset'](); + }; + + Statement.prototype.bindString = function(string, pos) { + var bytes, strptr; + if (pos == null) { + pos = this.pos++; + } + bytes = intArrayFromString(string); + this.allocatedmem.push(strptr = allocate(bytes, 'i8', ALLOC_NORMAL)); + this.db.handleError(sqlite3_bind_text(this.stmt, pos, strptr, bytes.length - 1, 0)); + return true; + }; + + Statement.prototype.bindBlob = function(array, pos) { + var blobptr; + if (pos == null) { + pos = this.pos++; + } + this.allocatedmem.push(blobptr = allocate(array, 'i8', ALLOC_NORMAL)); + this.db.handleError(sqlite3_bind_blob(this.stmt, pos, blobptr, array.length, 0)); + return true; + }; + + Statement.prototype.bindNumber = function(num, pos) { + var bindfunc; + if (pos == null) { + pos = this.pos++; + } + bindfunc = num === (num | 0) ? sqlite3_bind_int : sqlite3_bind_double; + this.db.handleError(bindfunc(this.stmt, pos, num)); + return true; + }; + + Statement.prototype.bindNull = function(pos) { + if (pos == null) { + pos = this.pos++; + } + return sqlite3_bind_blob(this.stmt, pos, 0, 0, 0) === SQLite.OK; + }; + + Statement.prototype.bindValue = function(val, pos) { + if (pos == null) { + pos = this.pos++; + } + switch (typeof val) { + case "string": + return this.bindString(val, pos); + case "number": + case "boolean": + return this.bindNumber(val + 0, pos); + case "object": + if (val === null) { + return this.bindNull(pos); + } else if (val.length != null) { + return this.bindBlob(val, pos); + } else { + throw "Wrong API use : tried to bind a value of an unknown type (" + val + ")."; + } + } + }; + + + /* Bind names and values of an object to the named parameters of the statement + @param [Object] + @private + @nodoc + */ + + Statement.prototype.bindFromObject = function(valuesObj) { + var name, num, value; + for (name in valuesObj) { + value = valuesObj[name]; + num = sqlite3_bind_parameter_index(this.stmt, name); + if (num !== 0) { + this.bindValue(value, num); + } + } + return true; + }; + + + /* Bind values to numbered parameters + @param [Array] + @private + @nodoc + */ + + Statement.prototype.bindFromArray = function(values) { + var k, len, num, value; + for (num = k = 0, len = values.length; k < len; num = ++k) { + value = values[num]; + this.bindValue(value, num + 1); + } + return true; + }; + + + /* Reset a statement, so that it's parameters can be bound to new values + It also clears all previous bindings, freeing the memory used by bound parameters. + */ + + Statement.prototype['reset'] = function() { + this.freemem(); + return sqlite3_clear_bindings(this.stmt) === SQLite.OK && sqlite3_reset(this.stmt) === SQLite.OK; + }; + + + /* Free the memory allocated during parameter binding + */ + + Statement.prototype.freemem = function() { + var mem; + while (mem = this.allocatedmem.pop()) { + _free(mem); + } + return null; + }; + + + /* Free the memory used by the statement + @return [Boolean] true in case of success + */ + + Statement.prototype['free'] = function() { + var res; + this.freemem(); + res = sqlite3_finalize(this.stmt) === SQLite.OK; + delete this.db.statements[this.stmt]; + this.stmt = NULL; + return res; + }; + + return Statement; + +})(); + +Database = (function() { + function Database(data) { + this.filename = 'dbfile_' + (0xffffffff * Math.random() >>> 0); + if (data != null) { + FS.createDataFile('/', this.filename, data, true, true); + } + this.handleError(sqlite3_open(this.filename, apiTemp)); + this.db = getValue(apiTemp, 'i32'); + custom_extensions(this.db); + this.statements = {}; + this.functions = {}; + } + + + /* Execute an SQL query, ignoring the rows it returns. + + @param sql [String] a string containing some SQL text to execute + @param params [Array] (*optional*) When the SQL statement contains placeholders, you can pass them in here. They will be bound to the statement before it is executed. + + If you use the params argument, you **cannot** provide an sql string that contains several + queries (separated by ';') + + @example Insert values in a table + db.run("INSERT INTO test VALUES (:age, :name)", {':age':18, ':name':'John'}); + + @return [Database] The database object (useful for method chaining) + */ + + Database.prototype['run'] = function(sql, params) { + var stmt; + if (!this.db) { + throw "Database closed"; + } + if (params) { + stmt = this['prepare'](sql, params); + try { + stmt['step'](); + } finally { + stmt['free'](); + } + } else { + this.handleError(sqlite3_exec(this.db, sql, 0, 0, apiTemp)); + } + return this; + }; + + + /* Execute an SQL query, and returns the result. + + This is a wrapper against Database.prepare, Statement.step, Statement.get, + and Statement.free. + + The result is an array of result elements. There are as many result elements + as the number of statements in your sql string (statements are separated by a semicolon) + + Each result element is an object with two properties: + 'columns' : the name of the columns of the result (as returned by Statement.getColumnNames()) + 'values' : an array of rows. Each row is itself an array of values + + ## Example use + We have the following table, named *test* : + + | id | age | name | + |:--:|:---:|:------:| + | 1 | 1 | Ling | + | 2 | 18 | Paul | + | 3 | 3 | Markus | + + + We query it like that: + ```javascript + var db = new SQL.Database(); + var res = db.exec("SELECT id FROM test; SELECT age,name FROM test;"); + ``` + + `res` is now : + ```javascript + [ + {columns: ['id'], values:[[1],[2],[3]]}, + {columns: ['age','name'], values:[[1,'Ling'],[18,'Paul'],[3,'Markus']]} + ] + ``` + + @param sql [String] a string containing some SQL text to execute + @return [Array] An array of results. + */ + + Database.prototype['exec'] = function(sql) { + var curresult, nextSqlPtr, pStmt, pzTail, results, stack, stmt; + if (!this.db) { + throw "Database closed"; + } + stack = stackSave(); + try { + nextSqlPtr = allocateUTF8OnStack(sql); + pzTail = stackAlloc(4); + results = []; + while (getValue(nextSqlPtr, 'i8') !== NULL) { + setValue(apiTemp, 0, 'i32'); + setValue(pzTail, 0, 'i32'); + this.handleError(sqlite3_prepare_v2_sqlptr(this.db, nextSqlPtr, -1, apiTemp, pzTail)); + pStmt = getValue(apiTemp, 'i32'); + nextSqlPtr = getValue(pzTail, 'i32'); + if (pStmt === NULL) { + continue; + } + curresult = null; + stmt = new Statement(pStmt, this); + try { + while (stmt['step']()) { + if (curresult === null) { + curresult = { + 'columns': stmt['getColumnNames'](), + 'values': [] + }; + results.push(curresult); + } + curresult['values'].push(stmt['get']()); + } + } finally { + stmt['free'](); + } + } + return results; + } finally { + stackRestore(stack); + } + }; + + + /* Execute an sql statement, and call a callback for each row of result. + + **Currently** this method is synchronous, it will not return until the callback has + been called on every row of the result. But this might change. + + @param sql [String] A string of SQL text. Can contain placeholders that will be + bound to the parameters given as the second argument + @param params [Array] (*optional*) Parameters to bind + to the query + @param callback [Function(Object)] A function that will be called on each row of result + @param done [Function] A function that will be called when all rows have been retrieved + + @return [Database] The database object. Useful for method chaining + + @example Read values from a table + db.each("SELECT name,age FROM users WHERE age >= $majority", + {$majority:18}, + function(row){console.log(row.name + " is a grown-up.")} + ); + */ + + Database.prototype['each'] = function(sql, params, callback, done) { + var stmt; + if (typeof params === 'function') { + done = callback; + callback = params; + params = void 0; + } + stmt = this['prepare'](sql, params); + try { + while (stmt['step']()) { + callback(stmt['getAsObject']()); + } + } finally { + stmt['free'](); + } + if (typeof done === 'function') { + return done(); + } + }; + + + /* Prepare an SQL statement + @param sql [String] a string of SQL, that can contain placeholders ('?', ':VVV', ':AAA', '@AAA') + @param params [Array] (*optional*) values to bind to placeholders + @return [Statement] the resulting statement + @throw [String] SQLite error + */ + + Database.prototype['prepare'] = function(sql, params) { + var pStmt, stmt; + setValue(apiTemp, 0, 'i32'); + this.handleError(sqlite3_prepare_v2(this.db, sql, -1, apiTemp, NULL)); + pStmt = getValue(apiTemp, 'i32'); + if (pStmt === NULL) { + throw 'Nothing to prepare'; + } + stmt = new Statement(pStmt, this); + if (params != null) { + stmt.bind(params); + } + this.statements[pStmt] = stmt; + return stmt; + }; + + + /* Exports the contents of the database to a binary array + @return [Uint8Array] An array of bytes of the SQLite3 database file + */ + + Database.prototype['export'] = function() { + var _, binaryDb, func, ref, ref1, stmt; + ref = this.statements; + for (_ in ref) { + stmt = ref[_]; + stmt['free'](); + } + ref1 = this.functions; + for (_ in ref1) { + func = ref1[_]; + removeFunction(func); + } + this.functions = {}; + this.handleError(sqlite3_close_v2(this.db)); + binaryDb = FS.readFile(this.filename, { + encoding: 'binary' + }); + this.handleError(sqlite3_open(this.filename, apiTemp)); + this.db = getValue(apiTemp, 'i32'); + return binaryDb; + }; + + + /* Close the database, and all associated prepared statements. + + The memory associated to the database and all associated statements + will be freed. + + **Warning**: A statement belonging to a database that has been closed cannot + be used anymore. + + Databases **must** be closed, when you're finished with them, or the + memory consumption will grow forever + */ + + Database.prototype['close'] = function() { + var _, func, ref, ref1, stmt; + ref = this.statements; + for (_ in ref) { + stmt = ref[_]; + stmt['free'](); + } + ref1 = this.functions; + for (_ in ref1) { + func = ref1[_]; + removeFunction(func); + } + this.functions = {}; + this.handleError(sqlite3_close_v2(this.db)); + FS.unlink('/' + this.filename); + return this.db = null; + }; + + + /* Analyze a result code, return null if no error occured, and throw + an error with a descriptive message otherwise + @nodoc + */ + + Database.prototype.handleError = function(returnCode) { + var errmsg; + if (returnCode === SQLite.OK) { + return null; + } else { + errmsg = sqlite3_errmsg(this.db); + throw new Error(errmsg); + } + }; + + + /* Returns the number of rows modified, inserted or deleted by the + most recently completed INSERT, UPDATE or DELETE statement on the + database Executing any other type of SQL statement does not modify + the value returned by this function. + + @return [Number] the number of rows modified + */ + + Database.prototype['getRowsModified'] = function() { + return sqlite3_changes(this.db); + }; + + + /* Register a custom function with SQLite + @example Register a simple function + db.create_function("addOne", function(x) {return x+1;}) + db.exec("SELECT addOne(1)") // = 2 + + @param name [String] the name of the function as referenced in SQL statements. + @param func [Function] the actual function to be executed. + */ + + Database.prototype['create_function'] = function(name, func) { + var func_ptr, wrapped_func; + wrapped_func = function(cx, argc, argv) { + var arg, args, blobptr, data_func, error, i, k, ref, result, value_ptr, value_type; + args = []; + for (i = k = 0, ref = argc; 0 <= ref ? k < ref : k > ref; i = 0 <= ref ? ++k : --k) { + value_ptr = getValue(argv + (4 * i), 'i32'); + value_type = sqlite3_value_type(value_ptr); + data_func = (function() { + switch (false) { + case value_type !== 1: + return sqlite3_value_double; + case value_type !== 2: + return sqlite3_value_double; + case value_type !== 3: + return sqlite3_value_text; + case value_type !== 4: + return function(ptr) { + var blob_arg, blob_ptr, j, l, ref1, size; + size = sqlite3_value_bytes(ptr); + blob_ptr = sqlite3_value_blob(ptr); + blob_arg = new Uint8Array(size); + for (j = l = 0, ref1 = size; 0 <= ref1 ? l < ref1 : l > ref1; j = 0 <= ref1 ? ++l : --l) { + blob_arg[j] = HEAP8[blob_ptr + j]; + } + return blob_arg; + }; + default: + return function(ptr) { + return null; + }; + } + })(); + arg = data_func(value_ptr); + args.push(arg); + } + try { + result = func.apply(null, args); + } catch (error1) { + error = error1; + sqlite3_result_error(cx, error, -1); + return; + } + switch (typeof result) { + case 'boolean': + sqlite3_result_int(cx, result ? 1 : 0); + break; + case 'number': + sqlite3_result_double(cx, result); + break; + case 'string': + sqlite3_result_text(cx, result, -1, -1); + break; + case 'object': + if (result === null) { + sqlite3_result_null(cx); + } else if (result.length != null) { + blobptr = allocate(result, 'i8', ALLOC_NORMAL); + sqlite3_result_blob(cx, blobptr, result.length, -1); + _free(blobptr); + } else { + sqlite3_result_error(cx, "Wrong API use : tried to return a value of an unknown type (" + result + ").", -1); + } + break; + default: + sqlite3_result_null(cx); + } + }; + if (name in this.functions) { + removeFunction(this.functions[name]); + delete this.functions[name]; + } + func_ptr = addFunction(wrapped_func); + this.functions[name] = func_ptr; + this.handleError(sqlite3_create_function_v2(this.db, name, func.length, SQLite.UTF8, 0, func_ptr, 0, 0, 0)); + return this; + }; + + return Database; + +})(); + +sqlite3_open = Module['cwrap']('sqlite3_open', 'number', ['string', 'number']); + +sqlite3_close_v2 = Module['cwrap']('sqlite3_close_v2', 'number', ['number']); + +sqlite3_exec = Module['cwrap']('sqlite3_exec', 'number', ['number', 'string', 'number', 'number', 'number']); + +sqlite3_free = Module['cwrap']('sqlite3_free', '', ['number']); + +sqlite3_changes = Module['cwrap']('sqlite3_changes', 'number', ['number']); + +sqlite3_prepare_v2 = Module['cwrap']('sqlite3_prepare_v2', 'number', ['number', 'string', 'number', 'number', 'number']); + +sqlite3_prepare_v2_sqlptr = Module['cwrap']('sqlite3_prepare_v2', 'number', ['number', 'number', 'number', 'number', 'number']); + +sqlite3_bind_text = Module['cwrap']('sqlite3_bind_text', 'number', ['number', 'number', 'number', 'number', 'number']); + +sqlite3_bind_blob = Module['cwrap']('sqlite3_bind_blob', 'number', ['number', 'number', 'number', 'number', 'number']); + +sqlite3_bind_double = Module['cwrap']('sqlite3_bind_double', 'number', ['number', 'number', 'number']); + +sqlite3_bind_int = Module['cwrap']('sqlite3_bind_int', 'number', ['number', 'number', 'number']); + +sqlite3_bind_parameter_index = Module['cwrap']('sqlite3_bind_parameter_index', 'number', ['number', 'string']); + +sqlite3_step = Module['cwrap']('sqlite3_step', 'number', ['number']); + +sqlite3_errmsg = Module['cwrap']('sqlite3_errmsg', 'string', ['number']); + +sqlite3_data_count = Module['cwrap']('sqlite3_data_count', 'number', ['number']); + +sqlite3_column_double = Module['cwrap']('sqlite3_column_double', 'number', ['number', 'number']); + +sqlite3_column_text = Module['cwrap']('sqlite3_column_text', 'string', ['number', 'number']); + +sqlite3_column_blob = Module['cwrap']('sqlite3_column_blob', 'number', ['number', 'number']); + +sqlite3_column_bytes = Module['cwrap']('sqlite3_column_bytes', 'number', ['number', 'number']); + +sqlite3_column_type = Module['cwrap']('sqlite3_column_type', 'number', ['number', 'number']); + +sqlite3_column_name = Module['cwrap']('sqlite3_column_name', 'string', ['number', 'number']); + +sqlite3_reset = Module['cwrap']('sqlite3_reset', 'number', ['number']); + +sqlite3_clear_bindings = Module['cwrap']('sqlite3_clear_bindings', 'number', ['number']); + +sqlite3_finalize = Module['cwrap']('sqlite3_finalize', 'number', ['number']); + +sqlite3_create_function_v2 = Module['cwrap']('sqlite3_create_function_v2', 'number', ['number', 'string', 'number', 'number', 'number', 'number', 'number', 'number', 'number']); + +sqlite3_value_type = Module['cwrap']('sqlite3_value_type', 'number', ['number']); + +sqlite3_value_bytes = Module['cwrap']('sqlite3_value_bytes', 'number', ['number']); + +sqlite3_value_text = Module['cwrap']('sqlite3_value_text', 'string', ['number']); + +sqlite3_value_int = Module['cwrap']('sqlite3_value_int', 'number', ['number']); + +sqlite3_value_blob = Module['cwrap']('sqlite3_value_blob', 'number', ['number']); + +sqlite3_value_double = Module['cwrap']('sqlite3_value_double', 'number', ['number']); + +sqlite3_result_double = Module['cwrap']('sqlite3_result_double', '', ['number', 'number']); + +sqlite3_result_null = Module['cwrap']('sqlite3_result_null', '', ['number']); + +sqlite3_result_text = Module['cwrap']('sqlite3_result_text', '', ['number', 'string', 'number', 'number']); + +sqlite3_result_blob = Module['cwrap']('sqlite3_result_blob', '', ['number', 'number', 'number', 'number']); + +sqlite3_result_int = Module['cwrap']('sqlite3_result_int', '', ['number', 'number']); + +sqlite3_result_int64 = Module['cwrap']('sqlite3_result_int64', '', ['number', 'number']); + +sqlite3_result_error = Module['cwrap']('sqlite3_result_error', '', ['number', 'string', 'number']); + +RegisterExtensionFunctions = Module['cwrap']('RegisterExtensionFunctions', 'number', ['number']); + +custom_extensions = Module['cwrap']('custom_extensions', 'number', ['number']); + +this['SQL'] = { + 'Database': Database +}; + +for (i in this['SQL']) { + Module[i] = this['SQL'][i]; +} + +NULL = 0; + +SQLite.OK = 0; + +SQLite.ERROR = 1; + +SQLite.INTERNAL = 2; + +SQLite.PERM = 3; + +SQLite.ABORT = 4; + +SQLite.BUSY = 5; + +SQLite.LOCKED = 6; + +SQLite.NOMEM = 7; + +SQLite.READONLY = 8; + +SQLite.INTERRUPT = 9; + +SQLite.IOERR = 10; + +SQLite.CORRUPT = 11; + +SQLite.NOTFOUND = 12; + +SQLite.FULL = 13; + +SQLite.CANTOPEN = 14; + +SQLite.PROTOCOL = 15; + +SQLite.EMPTY = 16; + +SQLite.SCHEMA = 17; + +SQLite.TOOBIG = 18; + +SQLite.CONSTRAINT = 19; + +SQLite.MISMATCH = 20; + +SQLite.MISUSE = 21; + +SQLite.NOLFS = 22; + +SQLite.AUTH = 23; + +SQLite.FORMAT = 24; + +SQLite.RANGE = 25; + +SQLite.NOTADB = 26; + +SQLite.NOTICE = 27; + +SQLite.WARNING = 28; + +SQLite.ROW = 100; + +SQLite.DONE = 101; + +SQLite.INTEGER = 1; + +SQLite.FLOAT = 2; + +SQLite.TEXT = 3; + +SQLite.BLOB = 4; + +SQLite.NULL = 5; + +SQLite.UTF8 = 1; + +}).bind(this); + +Module['onRuntimeInitialized'] = runCompiledCode; + + + +// Sometimes an existing Module object exists with properties +// meant to overwrite the default module functionality. Here +// we collect those properties and reapply _after_ we configure +// the current environment's defaults to avoid having to be so +// defensive during initialization. +var moduleOverrides = {}; +var key; +for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +var arguments_ = []; +var thisProgram = './this.program'; +var quit_ = function(status, toThrow) { + throw toThrow; +}; + +// Determine the runtime environment we are in. You can customize this by +// setting the ENVIRONMENT setting at compile time (see settings.js). + +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; +ENVIRONMENT_IS_WEB = typeof window === 'object'; +ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; +// N.b. Electron.js environment is simultaneously a NODE-environment, but +// also a web environment. +ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string'; +ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; + +if (Module['ENVIRONMENT']) { + throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)'); +} + + + +// `/` should be present at the end if `scriptDirectory` is not empty +var scriptDirectory = ''; +function locateFile(path) { + if (Module['locateFile']) { + return Module['locateFile'](path, scriptDirectory); + } + return scriptDirectory + path; +} + +// Hooks that are implemented differently in different runtime environments. +var read_, + readAsync, + readBinary, + setWindowTitle; + +var nodeFS; +var nodePath; + +if (ENVIRONMENT_IS_NODE) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = require('path').dirname(scriptDirectory) + '/'; + } else { + scriptDirectory = __dirname + '/'; + } + + + + + read_ = function shell_read(filename, binary) { + var ret = tryParseAsDataURI(filename); + if (ret) { + return binary ? ret : ret.toString(); + } + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + return nodeFS['readFileSync'](filename, binary ? null : 'utf8'); + }; + + readBinary = function readBinary(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert(ret.buffer); + return ret; + }; + + + + + if (process['argv'].length > 1) { + thisProgram = process['argv'][1].replace(/\\/g, '/'); + } + + arguments_ = process['argv'].slice(2); + + if (typeof module !== 'undefined') { + module['exports'] = Module; + } + + + process['on']('unhandledRejection', abort); + + quit_ = function(status) { + process['exit'](status); + }; + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; + + + +} else +if (ENVIRONMENT_IS_SHELL) { + + + if (typeof read != 'undefined') { + read_ = function shell_read(f) { + var data = tryParseAsDataURI(f); + if (data) { + return intArrayToString(data); + } + return read(f); + }; + } + + readBinary = function readBinary(f) { + var data; + data = tryParseAsDataURI(f); + if (data) { + return data; + } + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + data = read(f, 'binary'); + assert(typeof data === 'object'); + return data; + }; + + if (typeof scriptArgs != 'undefined') { + arguments_ = scriptArgs; + } else if (typeof arguments != 'undefined') { + arguments_ = arguments; + } + + if (typeof quit === 'function') { + quit_ = function(status) { + quit(status); + }; + } + + if (typeof print !== 'undefined') { + // Prefer to use print/printErr where they exist, as they usually work better. + if (typeof console === 'undefined') console = /** @type{!Console} */({}); + console.log = /** @type{!function(this:Console, ...*): undefined} */ (print); + console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr !== 'undefined' ? printErr : print); + } + + +} else + +// Note that this includes Node.js workers when relevant (pthreads is enabled). +// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and +// ENVIRONMENT_IS_NODE. +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled + scriptDirectory = self.location.href; + } else if (document.currentScript) { // web + scriptDirectory = document.currentScript.src; + } + // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. + // otherwise, slice off the final part of the url to find the script directory. + // if scriptDirectory does not contain a slash, lastIndexOf will return -1, + // and scriptDirectory will correctly be replaced with an empty string. + if (scriptDirectory.indexOf('blob:') !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/')+1); + } else { + scriptDirectory = ''; + } + + + // Differentiate the Web Worker from the Node Worker case, as reading must + // be done differently. + { + + + + + read_ = function shell_read(url) { + try { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + } catch (err) { + var data = tryParseAsDataURI(url); + if (data) { + return intArrayToString(data); + } + throw err; + } + }; + + if (ENVIRONMENT_IS_WORKER) { + readBinary = function readBinary(url) { + try { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); + } catch (err) { + var data = tryParseAsDataURI(url); + if (data) { + return data; + } + throw err; + } + }; + } + + readAsync = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + onload(xhr.response); + return; + } + var data = tryParseAsDataURI(url); + if (data) { + onload(data.buffer); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + + + + } + + setWindowTitle = function(title) { document.title = title }; +} else +{ + throw new Error('environment detection error'); +} + + +// Set up the out() and err() hooks, which are how we can print to stdout or +// stderr, respectively. +var out = Module['print'] || console.log.bind(console); +var err = Module['printErr'] || console.warn.bind(console); + +// Merge back in the overrides +for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key]; + } +} +// Free the object hierarchy contained in the overrides, this lets the GC +// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. +moduleOverrides = null; + +// Emit code to handle expected values on the Module object. This applies Module.x +// to the proper local x. This has two benefits: first, we only emit it if it is +// expected to arrive, and second, by using a local everywhere else that can be +// minified. +if (Module['arguments']) arguments_ = Module['arguments'];if (!Object.getOwnPropertyDescriptor(Module, 'arguments')) Object.defineProperty(Module, 'arguments', { configurable: true, get: function() { abort('Module.arguments has been replaced with plain arguments_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); +if (Module['thisProgram']) thisProgram = Module['thisProgram'];if (!Object.getOwnPropertyDescriptor(Module, 'thisProgram')) Object.defineProperty(Module, 'thisProgram', { configurable: true, get: function() { abort('Module.thisProgram has been replaced with plain thisProgram (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); +if (Module['quit']) quit_ = Module['quit'];if (!Object.getOwnPropertyDescriptor(Module, 'quit')) Object.defineProperty(Module, 'quit', { configurable: true, get: function() { abort('Module.quit has been replaced with plain quit_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); + +// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message +// Assertions on removed incoming Module JS APIs. +assert(typeof Module['memoryInitializerPrefixURL'] === 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['pthreadMainPrefixURL'] === 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['cdInitializerPrefixURL'] === 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['filePackagePrefixURL'] === 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['read'] === 'undefined', 'Module.read option was removed (modify read_ in JS)'); +assert(typeof Module['readAsync'] === 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); +assert(typeof Module['readBinary'] === 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); +assert(typeof Module['setWindowTitle'] === 'undefined', 'Module.setWindowTitle option was removed (modify setWindowTitle in JS)'); +assert(typeof Module['TOTAL_MEMORY'] === 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); +if (!Object.getOwnPropertyDescriptor(Module, 'read')) Object.defineProperty(Module, 'read', { configurable: true, get: function() { abort('Module.read has been replaced with plain read_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); +if (!Object.getOwnPropertyDescriptor(Module, 'readAsync')) Object.defineProperty(Module, 'readAsync', { configurable: true, get: function() { abort('Module.readAsync has been replaced with plain readAsync (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); +if (!Object.getOwnPropertyDescriptor(Module, 'readBinary')) Object.defineProperty(Module, 'readBinary', { configurable: true, get: function() { abort('Module.readBinary has been replaced with plain readBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); +if (!Object.getOwnPropertyDescriptor(Module, 'setWindowTitle')) Object.defineProperty(Module, 'setWindowTitle', { configurable: true, get: function() { abort('Module.setWindowTitle has been replaced with plain setWindowTitle (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); +var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; +var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; +var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; +var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; + + + + + + +// {{PREAMBLE_ADDITIONS}} + +var STACK_ALIGN = 16; + +function dynamicAlloc(size) { + assert(DYNAMICTOP_PTR); + var ret = HEAP32[DYNAMICTOP_PTR>>2]; + var end = (ret + size + 15) & -16; + assert(end <= HEAP8.length, 'failure to dynamicAlloc - memory growth etc. is not supported there, call malloc/sbrk directly'); + HEAP32[DYNAMICTOP_PTR>>2] = end; + return ret; +} + +function alignMemory(size, factor) { + if (!factor) factor = STACK_ALIGN; // stack alignment (16-byte) by default + return Math.ceil(size / factor) * factor; +} + +function getNativeTypeSize(type) { + switch (type) { + case 'i1': case 'i8': return 1; + case 'i16': return 2; + case 'i32': return 4; + case 'i64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length-1] === '*') { + return 4; // A pointer + } else if (type[0] === 'i') { + var bits = Number(type.substr(1)); + assert(bits % 8 === 0, 'getNativeTypeSize invalid bits ' + bits + ', type ' + type); + return bits / 8; + } else { + return 0; + } + } + } +} + +function warnOnce(text) { + if (!warnOnce.shown) warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text); + } +} + + + + + +// Wraps a JS function as a wasm function with a given signature. +function convertJsFunctionToWasm(func, sig) { + return func; +} + +var freeTableIndexes = []; + +// Weak map of functions in the table to their indexes, created on first use. +var functionsInTableMap; + +// Add a wasm function to the table. +function addFunctionWasm(func, sig) { + var table = wasmTable; + + // Check if the function is already in the table, to ensure each function + // gets a unique index. First, create the map if this is the first use. + if (!functionsInTableMap) { + functionsInTableMap = new WeakMap(); + for (var i = 0; i < table.length; i++) { + var item = table.get(i); + // Ignore null values. + if (item) { + functionsInTableMap.set(item, i); + } + } + } + if (functionsInTableMap.has(func)) { + return functionsInTableMap.get(func); + } + + // It's not in the table, add it now. + + + var ret; + // Reuse a free index if there is one, otherwise grow. + if (freeTableIndexes.length) { + ret = freeTableIndexes.pop(); + } else { + ret = table.length; + // Grow the table + try { + table.grow(1); + } catch (err) { + if (!(err instanceof RangeError)) { + throw err; + } + throw 'Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.'; + } + } + + // Set the new value. + try { + // Attempting to call this with JS function will cause of table.set() to fail + table.set(ret, func); + } catch (err) { + if (!(err instanceof TypeError)) { + throw err; + } + assert(typeof sig !== 'undefined', 'Missing signature argument to addFunction'); + var wrapped = convertJsFunctionToWasm(func, sig); + table.set(ret, wrapped); + } + + functionsInTableMap.set(func, ret); + + return ret; +} + +function removeFunctionWasm(index) { + functionsInTableMap.delete(wasmTable.get(index)); + freeTableIndexes.push(index); +} + +// 'sig' parameter is required for the llvm backend but only when func is not +// already a WebAssembly function. +function addFunction(func, sig) { + assert(typeof func !== 'undefined'); + + return addFunctionWasm(func, sig); +} + +function removeFunction(index) { + removeFunctionWasm(index); +} + + + +var funcWrappers = {}; + +function getFuncWrapper(func, sig) { + if (!func) return; // on null pointer, return undefined + assert(sig); + if (!funcWrappers[sig]) { + funcWrappers[sig] = {}; + } + var sigCache = funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; +} + + + + + + + +function makeBigInt(low, high, unsigned) { + return unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0)); +} + +/** @param {Array=} args */ +function dynCall(sig, ptr, args) { + if (args && args.length) { + // j (64-bit integer) must be passed in as two numbers [low 32, high 32]. + assert(args.length === sig.substring(1).replace(/j/g, '--').length); + assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); + return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); + } else { + assert(sig.length == 1); + assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); + return Module['dynCall_' + sig].call(null, ptr); + } +} + +var tempRet0 = 0; + +var setTempRet0 = function(value) { + tempRet0 = value; +}; + +var getTempRet0 = function() { + return tempRet0; +}; + +function getCompilerSetting(name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for getCompilerSetting or emscripten_get_compiler_setting to work'; +} + +// The address globals begin at. Very low in memory, for code size and optimization opportunities. +// Above 0 is static memory, starting with globals. +// Then the stack. +// Then 'dynamic' memory for sbrk. +var GLOBAL_BASE = 1024; + + + + + +// === Preamble library stuff === + +// Documentation for the public APIs defined in this file must be updated in: +// site/source/docs/api_reference/preamble.js.rst +// A prebuilt local version of the documentation is available at: +// site/build/text/docs/api_reference/preamble.js.txt +// You can also build docs locally as HTML or other formats in site/ +// An online HTML version (which may be of a different version of Emscripten) +// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html + + +var wasmBinary;if (Module['wasmBinary']) wasmBinary = Module['wasmBinary'];if (!Object.getOwnPropertyDescriptor(Module, 'wasmBinary')) Object.defineProperty(Module, 'wasmBinary', { configurable: true, get: function() { abort('Module.wasmBinary has been replaced with plain wasmBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); +var noExitRuntime;if (Module['noExitRuntime']) noExitRuntime = Module['noExitRuntime'];if (!Object.getOwnPropertyDescriptor(Module, 'noExitRuntime')) Object.defineProperty(Module, 'noExitRuntime', { configurable: true, get: function() { abort('Module.noExitRuntime has been replaced with plain noExitRuntime (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); + + + + +// wasm2js.js - enough of a polyfill for the WebAssembly object so that we can load +// wasm2js code that way. + +// Emit "var WebAssembly" if definitely using wasm2js. Otherwise, in MAYBE_WASM2JS +// mode, we can't use a "var" since it would prevent normal wasm from working. +/** @suppress{const} */ +var +WebAssembly = { + // Note that we do not use closure quoting (this['buffer'], etc.) on these + // functions, as they are just meant for internal use. In other words, this is + // not a fully general polyfill. + Memory: function(opts) { + this.buffer = new ArrayBuffer(opts['initial'] * 65536); + this.grow = function(amount) { + var oldBuffer = this.buffer; + var ret = __growWasmMemory(amount); + assert(this.buffer !== oldBuffer); // the call should have updated us + return ret; + }; + }, + + // Table is not a normal constructor and instead returns the array object. + // That lets us use the length property automatically, which is simpler and + // smaller (but instanceof will not report that an instance of Table is an + // instance of this function). + Table: /** @constructor */ function(opts) { + var ret = new Array(opts['initial']); + ret.grow = function(by) { + ret.push(null); + }; + ret.set = function(i, func) { + ret[i] = func; + }; + ret.get = function(i) { + return ret[i]; + }; + return ret; + }, + + Module: function(binary) { + // TODO: use the binary and info somehow - right now the wasm2js output is embedded in + // the main JS + }, + + Instance: function(module, info) { + // TODO: use the module and info somehow - right now the wasm2js output is embedded in + // the main JS + // This will be replaced by the actual wasm2js code. + this.exports = ( +function instantiate(asmLibraryArg, wasmMemory, wasmTable) { + + + var scratchBuffer = new ArrayBuffer(16); + var i32ScratchView = new Int32Array(scratchBuffer); + var f32ScratchView = new Float32Array(scratchBuffer); + var f64ScratchView = new Float64Array(scratchBuffer); + + function wasm2js_scratch_load_i32(index) { + return i32ScratchView[index]; + } + + function wasm2js_scratch_store_i32(index, value) { + i32ScratchView[index] = value; + } + + function wasm2js_scratch_load_f64() { + return f64ScratchView[0]; + } + + function wasm2js_scratch_store_f64(value) { + f64ScratchView[0] = value; + } + +function asmFunc(global, env, buffer) { + var memory = env.memory; + var FUNCTION_TABLE = wasmTable; + var HEAP8 = new global.Int8Array(buffer); + var HEAP16 = new global.Int16Array(buffer); + var HEAP32 = new global.Int32Array(buffer); + var HEAPU8 = new global.Uint8Array(buffer); + var HEAPU16 = new global.Uint16Array(buffer); + var HEAPU32 = new global.Uint32Array(buffer); + var HEAPF32 = new global.Float32Array(buffer); + var HEAPF64 = new global.Float64Array(buffer); + var Math_imul = global.Math.imul; + var Math_fround = global.Math.fround; + var Math_abs = global.Math.abs; + var Math_clz32 = global.Math.clz32; + var Math_min = global.Math.min; + var Math_max = global.Math.max; + var Math_floor = global.Math.floor; + var Math_ceil = global.Math.ceil; + var Math_sqrt = global.Math.sqrt; + var abort = env.abort; + var nan = global.NaN; + var infinity = global.Infinity; + var fimport$0 = env.time; + var fimport$1 = env.gettimeofday; + var fimport$2 = env.sysconf; + var fimport$3 = env.utimes; + var fimport$4 = env.localtime; + var fimport$5 = env.__assert_fail; + var fimport$6 = env.__sys_fcntl64; + var fimport$7 = env.fd_close; + var fimport$8 = env.__sys_open; + var fimport$9 = env.__sys_mmap2; + var fimport$10 = env.__sys_munmap; + var fimport$11 = env.__sys_fchmod; + var fimport$12 = env.__sys_chmod; + var fimport$13 = env.__sys_fstat64; + var fimport$14 = env.__sys_stat64; + var fimport$15 = env.__sys_lstat64; + var fimport$16 = env.__sys_mkdir; + var fimport$17 = env.__sys_access; + var fimport$18 = env.__sys_fchown32; + var fimport$19 = env.__sys_chown32; + var fimport$20 = env.fd_sync; + var fimport$21 = env.__sys_ftruncate64; + var fimport$22 = env.__sys_getcwd; + var fimport$23 = env.__sys_geteuid32; + var fimport$24 = env.__sys_getpid; + var fimport$25 = env.__sys_read; + var fimport$26 = env.__sys_readlink; + var fimport$27 = env.__sys_rmdir; + var fimport$28 = env.nanosleep; + var fimport$29 = env.__sys_unlink; + var fimport$30 = env.fd_write; + var fimport$31 = env.environ_sizes_get; + var fimport$32 = env.environ_get; + var fimport$33 = env.fd_fdstat_get; + var fimport$34 = env.emscripten_resize_heap; + var fimport$35 = env.emscripten_memcpy_big; + var fimport$36 = env.setTempRet0; + var fimport$37 = env.fd_seek; + var global$0 = 5359344; + var global$1 = 116292; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; + var i64toi32_i32$HIGH_BITS = 0; + // EMSCRIPTEN_START_FUNCS +; + function $0() { + return 116304 | 0; + } + + function $1() { + $3256(); + } + + function $2($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $25_1 = 0, $29_1 = 0, $32_1 = 0, $50_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) >= (10 | 0) & 1 | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3(21538 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $25_1 = 24; + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1036 | 0) >> 0] | 0) << $25_1 | 0) >> $25_1 | 0)) { + break label$5 + } + $29_1 = $4() | 0; + break label$4; + } + $29_1 = $5() | 0; + } + $32_1 = 114016; + HEAP32[($6_1 + 8 | 0) >> 2] = $29_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($32_1 + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[(($32_1 + 40 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$6 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$6 + } + $50_1 = 114016; + HEAP32[(($50_1 + 40 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($50_1 + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $63_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $63_1 | 0; + } + + function $3($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = $6(21 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 61150 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $4() { + return HEAP32[(0 + 114596 | 0) >> 2] | 0 | 0; + } + + function $5() { + return HEAP32[(0 + 114104 | 0) >> 2] | 0 | 0; + } + + function $6($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $7_1 = 0, $8_1 = 0, $13_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $7_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $8_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($538() | 0) + 20 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 4 | 0) >> 2] = $8_1; + HEAP32[$5_1 >> 2] = $7_1; + $82($6_1 | 0, 4227 | 0, $5_1 | 0); + $13_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $13_1 | 0; + } + + function $7($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0, $19_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $14(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 300 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $14(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 304 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $14_1 = $14(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 308 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + $14_1 | 0; + $19_1 = $14(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 312 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + $19_1 | 0; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 284 | 0) >> 2] | 0) - (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0; + } + $38_1 = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 284 | 0) >> 2] | 0) - ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $38_1 | 0; + } + + function $8($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function $9($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0; + } + + function $10($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $17(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $19(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $11($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $28_1 = 0, $31_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 480 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + } + $28_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $31_1 = (HEAP32[($28_1 + 32 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($28_1 + 32 | 0) >> 2] = $31_1; + if (!($31_1 >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$3 + } + break label$1; + } + $20(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $12($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $44_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $21(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 144 | 0) >> 1] | 0) & 65535 | 0) << 0 | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $22(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + continue label$2; + }; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (381479589 | 0) & 1 | 0)) { + break label$3 + } + $44_1 = 16; + $21(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $44_1 | 0) >> $44_1 | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 192 | 0) >> 2] | 0 | 0); + } + $22(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $13($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $14($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $15($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $8_1 = FUNCTION_TABLE[HEAP32[(0 + 68492 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $16($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = FUNCTION_TABLE[HEAP32[(0 + 68412 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $17($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + $1139(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $19(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $1172(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + $1143(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + continue label$2; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $18($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1137(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $19($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0); + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $20($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if ((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 480 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + } + if (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + $474((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + $1029(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + continue label$2; + }; + } + $1168(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + $1169(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $1139(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $382(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + $1170(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 32 | 0; + return; + } + + function $21($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $35_1 = 0, $60_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 40) | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 480 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : while (1) { + label$4 : { + if (!(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$4 + } + $13(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + $35_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $35_1; + if ($35_1 >>> 0 < (HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + continue label$3 + } + break label$3; + }; + break label$1; + } + label$5 : while (1) { + label$6 : { + label$7 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0)) { + break label$7 + } + $227(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + break label$6; + } + label$8 : { + if (!(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$8 + } + $23(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + } + } + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 128; + $60_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $60_1; + if ($60_1 >>> 0 < (HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + continue label$5 + } + break label$5; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $22($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $30_1 = 0, $41_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5_1 >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 4 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$5_1 >> 2] | 0) >>> 0 >= (HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $30_1 = 24; + label$4 : { + if (!((((HEAPU8[((HEAP32[$5_1 >> 2] | 0) + 1 | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) <= (-7 | 0) & 1 | 0)) { + break label$4 + } + $41_1 = 24; + $370(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[$5_1 >> 2] | 0) + 1 | 0) >> 0] | 0) << $41_1 | 0) >> $41_1 | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + } + HEAP32[$5_1 >> 2] = (HEAP32[$5_1 >> 2] | 0) + -20 | 0; + continue label$3; + }; + } + $23(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $23($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 480 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $539(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 324 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + label$5 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 316 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 312 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 312 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + break label$1; + } + label$6 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 320 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 304 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 304 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + break label$1; + } + } + } + $42(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $24($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $25() | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[$3_1 >> 2] | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(0 + 114096 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$3; + } + label$6 : { + if ($3229(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + break label$3; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$4; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + $31_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $31_1 | 0; + } + + function $25() { + var $2_1 = 0, $91_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + if (!(HEAP32[(0 + 68576 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($2_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($2_1 + 8 | 0) >> 2] = 0; + label$3 : { + if (!(HEAP32[($2_1 + 8 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($2_1 + 12 | 0) >> 2] = HEAP32[($2_1 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[(0 + 68584 | 0) >> 2] = 1; + label$4 : { + if (HEAP32[(0 + 68588 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $2_1, wasm2js_i32$1 = $26() | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($2_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[(0 + 68588 | 0) >> 2] = 1; + label$6 : { + if ((HEAP32[(0 + 68600 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + HEAP32[(0 + 68600 | 0) >> 2] = 8; + label$7 : { + if (!((HEAPU8[(0 + 68372 | 0) >> 0] | 0) & 255 | 0)) { + break label$7 + } + if ((HEAP32[(0 + 68600 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + HEAP32[($2_1 + 8 | 0) >> 2] = 7; + } + } + } + label$8 : { + if (HEAP32[($2_1 + 8 | 0) >> 2] | 0) { + break label$8 + } + HEAP32[(0 + 68596 | 0) >> 2] = (HEAP32[(0 + 68596 | 0) >> 2] | 0) + 1 | 0; + } + label$9 : { + if (!(HEAP32[($2_1 + 8 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($2_1 + 12 | 0) >> 2] = HEAP32[($2_1 + 8 | 0) >> 2] | 0; + break label$1; + } + label$10 : { + if (HEAP32[(0 + 68576 | 0) >> 2] | 0) { + break label$10 + } + if (HEAP32[(0 + 68580 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[(0 + 68580 | 0) >> 2] = 1; + $3289(114412 | 0, 0 | 0, 92 | 0) | 0; + $27(); + label$11 : { + if (HEAP32[(0 + 68592 | 0) >> 2] | 0) { + break label$11 + } + (wasm2js_i32$0 = $2_1, wasm2js_i32$1 = $28() | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$12 : { + if (HEAP32[($2_1 + 8 | 0) >> 2] | 0) { + break label$12 + } + HEAP32[(0 + 68592 | 0) >> 2] = 1; + (wasm2js_i32$0 = $2_1, wasm2js_i32$1 = $29() | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$13 : { + if (HEAP32[($2_1 + 8 | 0) >> 2] | 0) { + break label$13 + } + $30(HEAP32[(0 + 68552 | 0) >> 2] | 0 | 0, HEAP32[(0 + 68556 | 0) >> 2] | 0 | 0, HEAP32[(0 + 68560 | 0) >> 2] | 0 | 0); + HEAP32[(0 + 68576 | 0) >> 2] = 1; + } + HEAP32[(0 + 68580 | 0) >> 2] = 0; + } + HEAP32[(0 + 68596 | 0) >> 2] = (HEAP32[(0 + 68596 | 0) >> 2] | 0) + -1 | 0; + label$14 : { + if (!((HEAP32[(0 + 68596 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[(0 + 68600 | 0) >> 2] = 0; + } + HEAP32[($2_1 + 12 | 0) >> 2] = HEAP32[($2_1 + 8 | 0) >> 2] | 0; + } + $91_1 = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + global$0 = $2_1 + 16 | 0; + return $91_1 | 0; + } + + function $26() { + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $2_1 = 0, $51_1 = 0, $52_1 = 0, $38_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + label$1 : { + if (!((HEAP32[(0 + 68400 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + $433(); + } + i64toi32_i32$0 = 0; + $51_1 = 0; + i64toi32_i32$1 = 0; + HEAP32[(i64toi32_i32$1 + 114128 | 0) >> 2] = $51_1; + HEAP32[(i64toi32_i32$1 + 114132 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 114120 | 0) >> 2] = $51_1; + HEAP32[(i64toi32_i32$1 + 114124 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 114112 | 0) >> 2] = $51_1; + HEAP32[(i64toi32_i32$1 + 114116 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 114104 | 0) >> 2] = $51_1; + HEAP32[(i64toi32_i32$1 + 114108 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(0 + 114104 | 0) >> 2] = 8; + label$2 : { + label$3 : { + if ((HEAP32[(0 + 68552 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[(0 + 68556 | 0) >> 2] | 0 | 0) < (512 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[(0 + 68560 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$2 + } + } + $38_1 = 0; + HEAP32[(0 + 68552 | 0) >> 2] = $38_1; + HEAP32[(0 + 68556 | 0) >> 2] = $38_1; + } + (wasm2js_i32$0 = $2_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68420 | 0) >> 2] | 0 | 0](HEAP32[(0 + 68428 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($2_1 + 12 | 0) >> 2] | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $52_1 = 0; + i64toi32_i32$1 = 0; + HEAP32[(i64toi32_i32$1 + 114128 | 0) >> 2] = $52_1; + HEAP32[(i64toi32_i32$1 + 114132 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 114120 | 0) >> 2] = $52_1; + HEAP32[(i64toi32_i32$1 + 114124 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 114112 | 0) >> 2] = $52_1; + HEAP32[(i64toi32_i32$1 + 114116 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 114104 | 0) >> 2] = $52_1; + HEAP32[(i64toi32_i32$1 + 114108 | 0) >> 2] = i64toi32_i32$0; + } + $48_1 = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + global$0 = $2_1 + 16 | 0; + return $48_1 | 0; + } + + function $27() { + $434(); + $435(); + $436(); + $437(69584 | 0, 63 | 0); + return; + } + + function $28() { + label$1 : { + if (!((HEAP32[(0 + 68476 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + $438(); + } + return FUNCTION_TABLE[HEAP32[(0 + 68476 | 0) >> 2] | 0 | 0](HEAP32[(0 + 68472 | 0) >> 2] | 0) | 0 | 0; + } + + function $29() { + var $2_1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + (wasm2js_i32$0 = $2_1, wasm2js_i32$1 = $38(10 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($2_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($2_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $42(HEAP32[($2_1 + 8 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $2_1, wasm2js_i32$1 = $90() | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $15_1 = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + global$0 = $2_1 + 16 | 0; + return $15_1 | 0; + } + + function $30($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $15_1 = 0, $24_1 = 0, $34_1 = 0, $41_1 = 0, $47_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!(HEAP32[(0 + 114564 | 0) >> 2] | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $15_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $15_1; + } + label$3 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) & -8 | 0; + HEAP32[(0 + 114576 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $24_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[(0 + 114604 | 0) >> 2] = $24_1; + HEAP32[(0 + 114580 | 0) >> 2] = $24_1; + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) > (90 | 0) & 1 | 0)) { + break label$5 + } + $34_1 = 10; + break label$4; + } + $34_1 = ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) / (10 | 0) | 0) + 1 | 0; + } + $41_1 = 0; + HEAP32[(0 + 114584 | 0) >> 2] = $34_1; + HEAP32[(0 + 114588 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[(0 + 114600 | 0) >> 2] = $41_1; + HEAP32[(0 + 114608 | 0) >> 2] = $41_1; + label$6 : { + label$7 : while (1) { + $47_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $47_1 + -1 | 0; + if (!$47_1) { + break label$6 + } + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = HEAP32[(0 + 114600 | 0) >> 2] | 0; + HEAP32[(0 + 114600 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0; + continue label$7; + }; + } + HEAP32[(0 + 114592 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + return; + } + + function $31($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $25() | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[$4_1 >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + break label$1; + } + $32(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + label$3 : { + label$4 : { + label$5 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + if (!((HEAP32[(0 + 114096 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[(0 + 114096 | 0) >> 2] | 0; + HEAP32[(0 + 114096 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$3; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[(0 + 114096 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[(0 + 114096 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $31_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $31_1 | 0; + } + + function $32($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $41_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[(0 + 114096 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(0 + 114096 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$3; + } + label$5 : { + if (!((HEAP32[(0 + 114096 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(0 + 114096 | 0) >> 2] | 0; + label$6 : while (1) { + $41_1 = 0; + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $41_1 = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!($41_1 & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$6; + } + break label$6; + }; + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + } + } + } + return; + } + + function $33($0_1) { + $0_1 = $0_1 | 0; + HEAP32[((global$0 - 16 | 0) + 12 | 0) >> 2] = $0_1; + return 0 | 0; + } + + function $34($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $3_1 = 0, i64toi32_i32$5 = 0, $42$hi = 0, $48$hi = 0, $52$hi = 0, $53$hi = 0, $56$hi = 0, $61$hi = 0, $67$hi = 0, $68$hi = 0, $71$hi = 0, $45$hi = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $50$hi = 0, $44_1 = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, $49_1 = 0, $58$hi = 0, $65$hi = 0, $50_1 = 0, $51_1 = 0, $53_1 = 0, $28_1 = 0, $54_1 = 0, $55_1 = 0, $56_1 = 0, $72$hi = 0, $73$hi = 0, $76$hi = 0, $57_1 = 0, $58_1 = 0, $59_1 = 0, $78$hi = 0, $79$hi = 0, $102_1 = 0, $118_1 = 0, $52_1 = 0, $138_1 = 0, $159_1 = 0, $22_1 = 0, $163_1 = 0, $167_1 = 0, $67_1 = 0, $188_1 = 0, $72_1 = 0, $205_1 = 0, $208_1 = 0, $233_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = i64toi32_i32$1, wasm2js_i32$1 = $25() | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0)) { + break label$2 + } + i64toi32_i32$0 = -1; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + i64toi32_i32$0 = 0; + $42$hi = i64toi32_i32$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 114112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 114116 | 0) >> 2] | 0; + $102_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $102_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $45$hi = i64toi32_i32$0; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $41_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $42_1 = 0 + } else { + $42_1 = 1 + } + $43_1 = $42_1; + } else { + $43_1 = 0 + } + $41_1 = $43_1; + } + label$3 : { + if (!($41_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $118_1 = i64toi32_i32$2; + i64toi32_i32$2 = i64toi32_i32$3; + HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] = $118_1; + HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + i64toi32_i32$0 = 0; + $48$hi = i64toi32_i32$0; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 114120 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 114124 | 0) >> 2] | 0; + $50$hi = i64toi32_i32$2; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $44_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $45_1 = 0 + } else { + $45_1 = 1 + } + $46_1 = $45_1; + } else { + $46_1 = 0 + } + $44_1 = $46_1; + } + label$4 : { + if (!($44_1 & 1 | 0)) { + break label$4 + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $52_1 = i64toi32_i32$3; + $52$hi = i64toi32_i32$2; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 114120 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 114124 | 0) >> 2] | 0; + $53$hi = i64toi32_i32$3; + i64toi32_i32$3 = $52$hi; + i64toi32_i32$3 = $53$hi; + i64toi32_i32$3 = $52$hi; + i64toi32_i32$3 = $53$hi; + $138_1 = i64toi32_i32$2; + i64toi32_i32$3 = $52$hi; + i64toi32_i32$1 = $52_1; + i64toi32_i32$2 = $53$hi; + i64toi32_i32$0 = $138_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$2 | 0)) { + $47_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0) { + $48_1 = 0 + } else { + $48_1 = 1 + } + $49_1 = $48_1; + } else { + $49_1 = 0 + } + $47_1 = $49_1; + } + label$5 : { + if ($47_1 & 1 | 0) { + break label$5 + } + i64toi32_i32$1 = 0; + $56$hi = i64toi32_i32$1; + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $58$hi = i64toi32_i32$3; + i64toi32_i32$3 = $56$hi; + i64toi32_i32$3 = $58$hi; + i64toi32_i32$3 = $56$hi; + i64toi32_i32$3 = $58$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$2 = 0; + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$4 + } + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 114120 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 114124 | 0) >> 2] | 0; + $159_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $159_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$3; + } + $22_1 = 0; + i64toi32_i32$3 = 0; + $61$hi = i64toi32_i32$3; + i64toi32_i32$2 = $3_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $163_1 = i64toi32_i32$3; + i64toi32_i32$3 = 0; + HEAP32[(i64toi32_i32$3 + 114112 | 0) >> 2] = $163_1; + HEAP32[(i64toi32_i32$3 + 114116 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $35(0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $167_1 = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$2; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $167_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $65$hi = i64toi32_i32$0; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$0 = $65$hi; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$0 = $65$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $61$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$3 | 0)) { + $50_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$1 >>> 0) { + $51_1 = 0 + } else { + $51_1 = 1 + } + $53_1 = $51_1; + } else { + $53_1 = 0 + } + $50_1 = $53_1; + } + $28_1 = $22_1; + label$6 : { + if (!($50_1 & 1 | 0)) { + break label$6 + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $67_1 = i64toi32_i32$2; + $67$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $68$hi = i64toi32_i32$2; + i64toi32_i32$2 = $67$hi; + i64toi32_i32$2 = $68$hi; + i64toi32_i32$2 = $67$hi; + i64toi32_i32$2 = $68$hi; + $188_1 = i64toi32_i32$0; + i64toi32_i32$2 = $67$hi; + i64toi32_i32$1 = $67_1; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$3 = $188_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $54_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 > i64toi32_i32$3 >>> 0) { + $55_1 = 0 + } else { + $55_1 = 1 + } + $56_1 = $55_1; + } else { + $56_1 = 0 + } + $54_1 = $56_1; + } + $28_1 = $54_1; + } + i64toi32_i32$1 = 0; + $71$hi = i64toi32_i32$1; + HEAP32[$3_1 >> 2] = $28_1 & 1 | 0; + HEAP32[(0 + 114128 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$1 = $36() | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $72_1 = i64toi32_i32$1; + $72$hi = i64toi32_i32$2; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $73$hi = i64toi32_i32$1; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $73$hi; + $205_1 = i64toi32_i32$2; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$3 = $72_1; + i64toi32_i32$2 = $73$hi; + i64toi32_i32$0 = $205_1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $208_1 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$3 = $3_1; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = $208_1; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $76$hi = i64toi32_i32$3; + i64toi32_i32$3 = $71$hi; + i64toi32_i32$3 = $76$hi; + i64toi32_i32$3 = $71$hi; + i64toi32_i32$3 = $76$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $71$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$5 | 0)) { + $57_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0) { + $58_1 = 0 + } else { + $58_1 = 1 + } + $59_1 = $58_1; + } else { + $59_1 = 0 + } + $57_1 = $59_1; + } + label$7 : { + if (!($57_1 & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $79$hi = i64toi32_i32$3; + i64toi32_i32$3 = $78$hi; + i64toi32_i32$3 = $79$hi; + i64toi32_i32$3 = $78$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$5 = 2147483647; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $33(i64toi32_i32$0 & i64toi32_i32$5 | 0 | 0) | 0; + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $233_1 = i64toi32_i32$1; + i64toi32_i32$1 = i64toi32_i32$3; + HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] = $233_1; + HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + global$0 = i64toi32_i32$3 + 48 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $35($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[(114016 + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $36() { + var $2_1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + $3_1 = 0; + $2($3_1 | 0, $2_1 + 8 | 0 | 0, $2_1 | 0, $3_1 | 0) | 0; + i64toi32_i32$0 = HEAP32[($2_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + global$0 = $2_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $37($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $3_1 = 0, $23$hi = 0, $29$hi = 0, $30$hi = 0, $33$hi = 0, $26$hi = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $24_1 = 0, $35$hi = 0, $59_1 = 0, $75_1 = 0, $29_1 = 0, $83_1 = 0, $104_1 = 0, $108_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = i64toi32_i32$1, wasm2js_i32$1 = $25() | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0)) { + break label$2 + } + i64toi32_i32$0 = -1; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + i64toi32_i32$0 = 0; + $23$hi = i64toi32_i32$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 114120 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 114124 | 0) >> 2] | 0; + $59_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $59_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$0; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $19_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $20_1 = 0 + } else { + $20_1 = 1 + } + $21_1 = $20_1; + } else { + $21_1 = 0 + } + $19_1 = $21_1; + } + label$3 : { + if (!($19_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $75_1 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + HEAP32[(i64toi32_i32$2 + 114120 | 0) >> 2] = $75_1; + HEAP32[(i64toi32_i32$2 + 114124 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$0; + $29$hi = i64toi32_i32$2; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 114112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 114116 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$0 = $30$hi; + $83_1 = i64toi32_i32$2; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$3 = $29_1; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$1 = $83_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$2 | 0)) { + $22_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $23_1 = 0 + } else { + $23_1 = 1 + } + $24_1 = $23_1; + } else { + $24_1 = 0 + } + $22_1 = $24_1; + } + label$4 : { + label$5 : { + if ($22_1 & 1 | 0) { + break label$5 + } + i64toi32_i32$3 = 0; + $33$hi = i64toi32_i32$3; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 114112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 114116 | 0) >> 2] | 0; + $35$hi = i64toi32_i32$0; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$0 = $35$hi; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$0 = $35$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $33$hi; + i64toi32_i32$2 = 0; + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$4 + } + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $104_1 = i64toi32_i32$1; + i64toi32_i32$1 = 0; + HEAP32[(i64toi32_i32$1 + 114112 | 0) >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 114116 | 0) >> 2] = i64toi32_i32$0; + } + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $108_1 = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$2; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $108_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + global$0 = i64toi32_i32$2 + 32 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $38($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $19_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!($25() | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$4 + } + $14_1 = 0; + break label$3; + } + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $14_1 = $39(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $14_1; + } + $19_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $19_1 | 0; + } + + function $39($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $24$hi = 0, $28$hi = 0, $26$hi = 0, $30$hi = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + $24$hi = i64toi32_i32$0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + label$3 : { + if (((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$3 + } + i64toi32_i32$2 = 0; + $28$hi = i64toi32_i32$2; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $28$hi; + i64toi32_i32$0 = 2147483392; + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + label$5 : { + if (!(HEAP32[(0 + 68368 | 0) >> 2] | 0)) { + break label$5 + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $40(i64toi32_i32$3 | 0, $3_1 + 4 | 0 | 0); + break label$4; + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68400 | 0) >> 2] | 0 | 0](i64toi32_i32$1) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + $21_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $21_1 | 0; + } + + function $40($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $63$hi = 0, $68$hi = 0, i64toi32_i32$6 = 0, $71$hi = 0, $74$hi = 0, $79$hi = 0, $82$hi = 0, $65$hi = 0, $30_1 = 0, $31_1 = 0, $32_1 = 0, $69$hi = 0, $70$hi = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $76$hi = 0, $80$hi = 0, $81$hi = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $122_1 = 0, $68_1 = 0, $69_1 = 0, $133_1 = 0, $169_1 = 0, $79_1 = 0, $80_1 = 0, $180_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $63$hi = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68416 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $46(5 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 114112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 114116 | 0) >> 2] | 0; + $65$hi = i64toi32_i32$1; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $30_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $31_1 = 0 + } else { + $31_1 = 1 + } + $32_1 = $31_1; + } else { + $32_1 = 0 + } + $30_1 = $32_1; + } + label$1 : { + label$2 : { + if (!($30_1 & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = $35(0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $122_1 = i64toi32_i32$2; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $122_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $68_1 = i64toi32_i32$1; + $68$hi = i64toi32_i32$2; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 114112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 114116 | 0) >> 2] | 0; + $69_1 = i64toi32_i32$2; + $69$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $70$hi = i64toi32_i32$1; + i64toi32_i32$1 = $69$hi; + i64toi32_i32$1 = $70$hi; + $133_1 = i64toi32_i32$2; + i64toi32_i32$1 = $69$hi; + i64toi32_i32$3 = $69_1; + i64toi32_i32$2 = $70$hi; + i64toi32_i32$0 = $133_1; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $71$hi = i64toi32_i32$5; + i64toi32_i32$5 = $68$hi; + i64toi32_i32$5 = $71$hi; + i64toi32_i32$5 = $68$hi; + i64toi32_i32$5 = $71$hi; + i64toi32_i32$5 = $68$hi; + i64toi32_i32$1 = $68_1; + i64toi32_i32$3 = $71$hi; + i64toi32_i32$0 = i64toi32_i32$4; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$3 | 0)) { + $33_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + $34_1 = 0 + } else { + $34_1 = 1 + } + $35_1 = $34_1; + } else { + $35_1 = 0 + } + $33_1 = $35_1; + } + label$3 : { + label$4 : { + if (!($33_1 & 1 | 0)) { + break label$4 + } + i64toi32_i32$1 = 0; + $74$hi = i64toi32_i32$1; + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + HEAP32[(0 + 114128 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $47(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 114120 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 114124 | 0) >> 2] | 0; + $76$hi = i64toi32_i32$5; + i64toi32_i32$5 = $74$hi; + i64toi32_i32$5 = $76$hi; + i64toi32_i32$5 = $74$hi; + i64toi32_i32$5 = $76$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$3 = 0; + label$5 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = $35(0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $169_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $169_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$3 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $79_1 = i64toi32_i32$5; + $79$hi = i64toi32_i32$0; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 114120 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 114124 | 0) >> 2] | 0; + $80_1 = i64toi32_i32$0; + $80$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $81$hi = i64toi32_i32$5; + i64toi32_i32$5 = $80$hi; + i64toi32_i32$5 = $81$hi; + $180_1 = i64toi32_i32$0; + i64toi32_i32$5 = $80$hi; + i64toi32_i32$3 = $80_1; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$1 = $180_1; + i64toi32_i32$2 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + $82$hi = i64toi32_i32$4; + i64toi32_i32$4 = $79$hi; + i64toi32_i32$4 = $82$hi; + i64toi32_i32$4 = $79$hi; + i64toi32_i32$4 = $82$hi; + i64toi32_i32$4 = $79$hi; + i64toi32_i32$5 = $79_1; + i64toi32_i32$3 = $82$hi; + i64toi32_i32$1 = i64toi32_i32$2; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$3 | 0)) { + $36_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + $37_1 = 0 + } else { + $37_1 = 1 + } + $38_1 = $37_1; + } else { + $38_1 = 0 + } + $36_1 = $38_1; + } + label$6 : { + if (!($36_1 & 1 | 0)) { + break label$6 + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = 0; + break label$1; + } + } + break label$3; + } + HEAP32[$4_1 >> 2] = 0; + HEAP32[(0 + 114128 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68400 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $16(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $48(0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + $48(9 | 0, 1 | 0); + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $41($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[$3_1 >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!($25() | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $39(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $7_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $42($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!(HEAP32[(0 + 68368 | 0) >> 2] | 0)) { + break label$3 + } + $43(0 | 0, $16(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0); + $43(9 | 0, 1 | 0); + FUNCTION_TABLE[HEAP32[(0 + 68404 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 12 | 0) >> 2] | 0); + break label$1; + } + FUNCTION_TABLE[HEAP32[(0 + 68404 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 12 | 0) >> 2] | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $43($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $10_1 = 114016 + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$10_1 >> 2] = (HEAP32[$10_1 >> 2] | 0) - (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + return; + } + + function $44($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!($25() | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + } + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $45(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $19_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $19_1 | 0; + } + + function $45($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $97$hi = 0, $101$hi = 0, $107$hi = 0, i64toi32_i32$6 = 0, $110$hi = 0, $113$hi = 0, $117$hi = 0, $120$hi = 0, $99$hi = 0, $103$hi = 0, $107_1 = 0, $108$hi = 0, $109$hi = 0, $32_1 = 0, $33_1 = 0, $34_1 = 0, $115$hi = 0, $35_1 = 0, $36_1 = 0, $37_1 = 0, $118$hi = 0, $119$hi = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $108_1 = 0, $259_1 = 0, $117_1 = 0, $118_1 = 0, $296_1 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $39(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$1 = 0; + $97$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $99$hi = i64toi32_i32$0; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$0 = $99$hi; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$0 = $99$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$3 = 0; + label$3 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$3 + } + $42(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$2 = 0; + $101$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $103$hi = i64toi32_i32$0; + i64toi32_i32$0 = $101$hi; + i64toi32_i32$0 = $103$hi; + i64toi32_i32$0 = $101$hi; + i64toi32_i32$0 = $103$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $101$hi; + i64toi32_i32$1 = 2147483392; + label$4 : { + if (!((i64toi32_i32$0 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $16(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68416 | 0) >> 2] | 0 | 0](i64toi32_i32$3) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + break label$5; + } + label$7 : { + label$8 : { + if (!(HEAP32[(0 + 68368 | 0) >> 2] | 0)) { + break label$8 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $46(5 | 0, i64toi32_i32$0 | 0); + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) - (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0; + label$9 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$3 = $35(0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $107_1 = i64toi32_i32$3; + $107$hi = i64toi32_i32$0; + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $107_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 114112 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 114116 | 0) >> 2] | 0; + $108_1 = i64toi32_i32$0; + $108$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$0 >> 31 | 0; + $109$hi = i64toi32_i32$3; + i64toi32_i32$3 = $108$hi; + i64toi32_i32$3 = $109$hi; + $259_1 = i64toi32_i32$0; + i64toi32_i32$3 = $108$hi; + i64toi32_i32$1 = $108_1; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$2 = $259_1; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + $110$hi = i64toi32_i32$5; + i64toi32_i32$5 = $107$hi; + i64toi32_i32$5 = $110$hi; + i64toi32_i32$5 = $107$hi; + i64toi32_i32$5 = $110$hi; + i64toi32_i32$5 = $107$hi; + i64toi32_i32$3 = $107_1; + i64toi32_i32$1 = $110$hi; + i64toi32_i32$2 = i64toi32_i32$4; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$1 | 0)) { + $32_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + $33_1 = 0 + } else { + $33_1 = 1 + } + $34_1 = $33_1; + } else { + $34_1 = 0 + } + $32_1 = $34_1; + } + if (!($32_1 & 1 | 0)) { + break label$9 + } + i64toi32_i32$3 = 0; + $113$hi = i64toi32_i32$3; + $47(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 114120 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 114124 | 0) >> 2] | 0; + $115$hi = i64toi32_i32$5; + i64toi32_i32$5 = $113$hi; + i64toi32_i32$5 = $115$hi; + i64toi32_i32$5 = $113$hi; + i64toi32_i32$5 = $115$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $113$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$3 | 0)) { + $35_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$1 >>> 0) { + $36_1 = 0 + } else { + $36_1 = 1 + } + $37_1 = $36_1; + } else { + $37_1 = 0 + } + $35_1 = $37_1; + } + label$10 : { + if (!($35_1 & 1 | 0)) { + break label$10 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $117_1 = i64toi32_i32$2; + $117$hi = i64toi32_i32$5; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 114120 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 114124 | 0) >> 2] | 0; + $118_1 = i64toi32_i32$5; + $118$hi = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $119$hi = i64toi32_i32$2; + i64toi32_i32$2 = $118$hi; + i64toi32_i32$2 = $119$hi; + $296_1 = i64toi32_i32$5; + i64toi32_i32$2 = $118$hi; + i64toi32_i32$1 = $118_1; + i64toi32_i32$5 = $119$hi; + i64toi32_i32$3 = $296_1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $120$hi = i64toi32_i32$4; + i64toi32_i32$4 = $117$hi; + i64toi32_i32$4 = $120$hi; + i64toi32_i32$4 = $117$hi; + i64toi32_i32$4 = $120$hi; + i64toi32_i32$4 = $117$hi; + i64toi32_i32$2 = $117_1; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$3 = i64toi32_i32$0; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$1 | 0)) { + $38_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $39_1 = 0 + } else { + $39_1 = 1 + } + $40_1 = $39_1; + } else { + $40_1 = 0 + } + $38_1 = $40_1; + } + if (!($38_1 & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68408 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 40 | 0) >> 2] | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $16(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $48(0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) - (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0 | 0); + } + break label$7; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68408 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 40 | 0) >> 2] | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $93_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $93_1 | 0; + } + + function $46($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 > (HEAP32[((114016 + 40 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[((114016 + 40 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + return; + } + + function $47($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $3_1 = 0, i64toi32_i32$2 = 0, $11$hi = 0, $13$hi = 0, $8_1 = 0, $9_1 = 0, $10_1 = 0, i64toi32_i32$3 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + $11$hi = i64toi32_i32$0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 114112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 114116 | 0) >> 2] | 0; + $13$hi = i64toi32_i32$1; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $8_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $9_1 = 0 + } else { + $9_1 = 1 + } + $10_1 = $9_1; + } else { + $10_1 = 0 + } + $8_1 = $10_1; + } + label$1 : { + label$2 : { + if (!($8_1 & 1 | 0)) { + break label$2 + } + break label$1; + } + $33(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $48($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $12_1 = 0, $30_1 = 0; + $4_1 = global$0 - 16 | 0; + $5_1 = 114016; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $12_1 = $5_1 + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$12_1 >> 2] = (HEAP32[$12_1 >> 2] | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + label$1 : { + if (!((HEAP32[($5_1 + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 > (HEAP32[(($5_1 + 40 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + $30_1 = 114016; + HEAP32[(($30_1 + 40 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($30_1 + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + return; + } + + function $49($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $9_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!($25() | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $45(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $9_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $50($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $76_1 = 0, $419_1 = 0, $420_1 = 0, $421_1 = 0, $6_1 = 0, $2295$hi = 0, $2310$hi = 0, $2325$hi = 0, $2339$hi = 0, $881_1 = 0, $1148_1 = 0, $2468$hi = 0, $15_1 = 0, $22_1 = 0, $24_1 = 0, $39_1 = 0, $42_1 = 0, $46_1 = 0, $62_1 = 0, $65_1 = 0, $69_1 = 0, $71_1 = 0, $80_1 = 0, $92_1 = 0, $96_1 = 0, $106_1 = 0, $110_1 = 0, $119_1 = 0, $123_1 = 0, $125_1 = 0, $131_1 = 0, $179_1 = 0, $201_1 = 0, $207_1 = 0, $209_1 = 0, $223_1 = 0, $227_1 = 0, $231_1 = 0, $235_1 = 0, $255_1 = 0, $276_1 = 0, $279_1 = 0, $283_1 = 0, $295_1 = 0, $311_1 = 0, $315_1 = 0, $342_1 = 0, $344_1 = 0, $348_1 = 0, $350_1 = 0, $374_1 = 0, $392_1 = 0, $434_1 = 0, $437_1 = 0, $442_1 = 0, $2297$hi = 0, $422_1 = 0, $423_1 = 0, $424_1 = 0, $2299$hi = 0, $2300$hi = 0, $2302$hi = 0, $2303$hi = 0, $484_1 = 0, $487_1 = 0, $492_1 = 0, $2312$hi = 0, $509_1 = 0, $526_1 = 0, $2314$hi = 0, $2315$hi = 0, $2317$hi = 0, $563_1 = 0, $2322$hi = 0, $2323$hi = 0, $2326$hi = 0, $2327$hi = 0, $2328$hi = 0, $2329$hi = 0, $2331$hi = 0, $605_1 = 0, $612_1 = 0, $2333$hi = 0, $2334$hi = 0, $630_1 = 0, $2336$hi = 0, $2337$hi = 0, $2341$hi = 0, $654_1 = 0, $667_1 = 0, $709_1 = 0, $729_1 = 0, $744_1 = 0, $745_1 = 0, $751_1 = 0, $780_1 = 0, $781_1 = 0, $2347$hi = 0, $2348$hi = 0, $2349_1 = 0, $2349$hi = 0, $2350$hi = 0, $2351$hi = 0, $2353$hi = 0, $2356$hi = 0, $2357$hi = 0, $425_1 = 0, $2358$hi = 0, $2359$hi = 0, $2361$hi = 0, $2362$hi = 0, $2363$hi = 0, $2364$hi = 0, $2365$hi = 0, $2366$hi = 0, $2367$hi = 0, $2369$hi = 0, $897_1 = 0, $2371$hi = 0, $2372$hi = 0, $2373$hi = 0, $2377$hi = 0, $2379$hi = 0, $2380$hi = 0, $2381_1 = 0, $2381$hi = 0, $2384$hi = 0, $2385$hi = 0, $2386$hi = 0, $2387$hi = 0, $2388$hi = 0, $2389$hi = 0, $2390$hi = 0, $2391$hi = 0, $925_1 = 0, $2392$hi = 0, $2393$hi = 0, $2394$hi = 0, $2395$hi = 0, $2398$hi = 0, $2399$hi = 0, $2400$hi = 0, $2401$hi = 0, $2402$hi = 0, $2403$hi = 0, $2404$hi = 0, $2405$hi = 0, $949_1 = 0, $2406$hi = 0, $2407$hi = 0, $2408$hi = 0, $2409$hi = 0, $2412$hi = 0, $2413$hi = 0, $2414$hi = 0, $2415$hi = 0, $2416$hi = 0, $2417$hi = 0, $2418$hi = 0, $2419$hi = 0, $975_1 = 0, $2420$hi = 0, $2421$hi = 0, $2422$hi = 0, $2423$hi = 0, $2426$hi = 0, $2427$hi = 0, $2428$hi = 0, $2432$hi = 0, $2433$hi = 0, $2434$hi = 0, $2435$hi = 0, $2436$hi = 0, $2437$hi = 0, $2438$hi = 0, $2439$hi = 0, $2442$hi = 0, $2443$hi = 0, $2444$hi = 0, $2445$hi = 0, $2446$hi = 0, $2447$hi = 0, $2448$hi = 0, $2449$hi = 0, $1026_1 = 0, $1029_1 = 0, $1032_1 = 0, $1044_1 = 0, $1068_1 = 0, $2452$hi = 0, $2453$hi = 0, $2454$hi = 0, $2458$hi = 0, $2459$hi = 0, $2460$hi = 0, $2461$hi = 0, $2462$hi = 0, $2463$hi = 0, $2464$hi = 0, $2465$hi = 0, $2469$hi = 0, $2470$hi = 0, $2471$hi = 0, $2472$hi = 0, $2473$hi = 0, $2474$hi = 0, $2477$hi = 0, $426_1 = 0, $427_1 = 0, $428_1 = 0, $1161_1 = 0, $1170_1 = 0, $1203_1 = 0, $1214_1 = 0, $1231_1 = 0, $1247_1 = 0, $1261_1 = 0, $1271_1 = 0, $1286_1 = 0, $1300_1 = 0, $1311_1 = 0, $1317_1 = 0, $1335_1 = 0, $1341_1 = 0, $1357_1 = 0, $1368_1 = 0, $1374_1 = 0, $1389_1 = 0, $1400_1 = 0, $1408_1 = 0, $1461_1 = 0, $1469_1 = 0, $1474_1 = 0, $1490_1 = 0, $1494_1 = 0, $1520_1 = 0, $1524_1 = 0, $1526_1 = 0, $1543_1 = 0, $1547_1 = 0, $1561_1 = 0, $1565_1 = 0, $1571_1 = 0, $1711_1 = 0, $1715_1 = 0, $1744_1 = 0, $1794_1 = 0, $1820_1 = 0, $1828_1 = 0, $1841_1 = 0, $1879_1 = 0, $1885_1 = 0, $1924_1 = 0, $1948_1 = 0, $1952_1 = 0, $1957_1 = 0, $1958_1 = 0, $1968_1 = 0, $1972_1 = 0, $1988_1 = 0, $2005_1 = 0, $2026_1 = 0, $2053_1 = 0, $2067_1 = 0, $2083_1 = 0, $2085_1 = 0, $2090_1 = 0, $2094_1 = 0, $2104_1 = 0, $2114_1 = 0, $2130_1 = 0, $2147_1 = 0, $2155_1 = 0, $2159_1 = 0, $2183_1 = 0, $2211_1 = 0, $2216_1 = 0, $2251_1 = 0, $2269_1 = 0, $3343_1 = 0, $3391 = 0, $3405 = 0, $3419 = 0, $450_1 = 0, $3438 = 0, $3451 = 0, $3477 = 0, $3525 = 0, $546_1 = 0, $2317_1 = 0, $3689$hi = 0, $429_1 = 0, $430_1 = 0, $431_1 = 0, $602_1 = 0, $609_1 = 0, $621_1 = 0, $432_1 = 0, $627_1 = 0, $433_1 = 0, $3886 = 0, $705_1 = 0, $706_1 = 0, $726_1 = 0, $748_1 = 0, $2343_1 = 0, $2343$hi = 0, $2344_1 = 0, $2344$hi = 0, $2345_1 = 0, $2345$hi = 0, $2346_1 = 0, $2346$hi = 0, $2347_1 = 0, $435_1 = 0, $4300 = 0, $859_1 = 0, $2353_1 = 0, $4416$hi = 0, $436_1 = 0, $4424 = 0, $2361_1 = 0, $438_1 = 0, $2365_1 = 0, $2366_1 = 0, $2367_1 = 0, $4503$hi = 0, $439_1 = 0, $2369_1 = 0, $4517$hi = 0, $440_1 = 0, $2371_1 = 0, $2372_1 = 0, $2373_1 = 0, $4547$hi = 0, $441_1 = 0, $2375_1 = 0, $2375$hi = 0, $2376_1 = 0, $2376$hi = 0, $2377_1 = 0, $4571$hi = 0, $443_1 = 0, $2379_1 = 0, $444_1 = 0, $2384_1 = 0, $2385_1 = 0, $2386_1 = 0, $445_1 = 0, $2390_1 = 0, $4628 = 0, $2392_1 = 0, $446_1 = 0, $2396_1 = 0, $2396$hi = 0, $2397_1 = 0, $2397$hi = 0, $2398_1 = 0, $2399_1 = 0, $2400_1 = 0, $447_1 = 0, $2404_1 = 0, $4706 = 0, $2406_1 = 0, $448_1 = 0, $2410_1 = 0, $2410$hi = 0, $2411_1 = 0, $2411$hi = 0, $2412_1 = 0, $2413_1 = 0, $2414_1 = 0, $449_1 = 0, $2418_1 = 0, $4787 = 0, $2420_1 = 0, $451_1 = 0, $2424_1 = 0, $2424$hi = 0, $2425_1 = 0, $2425$hi = 0, $2426_1 = 0, $2427_1 = 0, $2428_1 = 0, $4855$hi = 0, $452_1 = 0, $2430_1 = 0, $2430$hi = 0, $2431_1 = 0, $2431$hi = 0, $2432_1 = 0, $453_1 = 0, $2436_1 = 0, $454_1 = 0, $2440_1 = 0, $2440$hi = 0, $2441_1 = 0, $2441$hi = 0, $2442_1 = 0, $455_1 = 0, $2446_1 = 0, $456_1 = 0, $2450_1 = 0, $2450$hi = 0, $2451_1 = 0, $2451$hi = 0, $2452_1 = 0, $2453_1 = 0, $2454_1 = 0, $5076$hi = 0, $457_1 = 0, $2456_1 = 0, $2456$hi = 0, $2457_1 = 0, $2457$hi = 0, $2458_1 = 0, $458_1 = 0, $2462_1 = 0, $459_1 = 0, $2466_1 = 0, $2466$hi = 0, $2467_1 = 0, $2467$hi = 0, $2468_1 = 0, $5264 = 0, $5272 = 0, $1202_1 = 0, $1230_1 = 0, $1285_1 = 0, $1356_1 = 0, $1388_1 = 0, $1399_1 = 0, $1407_1 = 0, $1473_1 = 0, $1489_1 = 0, $1564_1 = 0, $1787_1 = 0, $1792_1 = 0, $2065_1 = 0, $2066_1 = 0, $2084_1 = 0, $2102_1 = 0, $2103_1 = 0, $2112_1 = 0, $2113_1 = 0, $2210_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 688 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 684 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 680 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 676 | 0) >> 2] = $2_1; + HEAP8[($5_1 + 643 | 0) >> 0] = 17; + HEAP32[($5_1 + 592 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 560 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 668 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$2 + } + $15_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $15_1 + 4 | 0; + HEAP32[($5_1 + 560 | 0) >> 2] = HEAP32[$15_1 >> 2] | 0; + HEAP8[($5_1 + 642 | 0) >> 0] = 1; + break label$1; + } + HEAP8[($5_1 + 642 | 0) >> 0] = 0; + } + label$3 : while (1) { + $22_1 = 24; + $24_1 = ((HEAPU8[(HEAP32[($5_1 + 680 | 0) >> 2] | 0) >> 0] | 0) << $22_1 | 0) >> $22_1 | 0; + HEAP32[($5_1 + 672 | 0) >> 2] = $24_1; + label$4 : { + label$5 : { + label$6 : { + if (!$24_1) { + break label$6 + } + label$7 : { + if (!((HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) != (37 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 668 | 0) >> 2] = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + label$8 : while (1) { + HEAP32[($5_1 + 680 | 0) >> 2] = (HEAP32[($5_1 + 680 | 0) >> 2] | 0) + 1 | 0; + $39_1 = 24; + $42_1 = 0; + label$9 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 680 | 0) >> 2] | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0)) { + break label$9 + } + $46_1 = 24; + $42_1 = (((HEAPU8[(HEAP32[($5_1 + 680 | 0) >> 2] | 0) >> 0] | 0) << $46_1 | 0) >> $46_1 | 0 | 0) != (37 | 0); + } + if ($42_1 & 1 | 0) { + continue label$8 + } + break label$8; + }; + $51(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 680 | 0) >> 2] | 0) - (HEAP32[($5_1 + 668 | 0) >> 2] | 0) | 0 | 0); + $62_1 = 24; + label$10 : { + if (((HEAPU8[(HEAP32[($5_1 + 680 | 0) >> 2] | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0) { + break label$10 + } + break label$6; + } + } + $65_1 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + HEAP32[($5_1 + 680 | 0) >> 2] = $65_1 + 1 | 0; + $69_1 = 24; + $71_1 = ((HEAPU8[($65_1 + 1 | 0) >> 0] | 0) << $69_1 | 0) >> $69_1 | 0; + HEAP32[($5_1 + 672 | 0) >> 2] = $71_1; + label$11 : { + if ($71_1) { + break label$11 + } + $51(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, 1046 | 0, 1 | 0); + break label$6; + } + $76_1 = 0; + HEAP8[($5_1 + 647 | 0) >> 0] = $76_1; + HEAP8[($5_1 + 648 | 0) >> 0] = $76_1; + HEAP8[($5_1 + 649 | 0) >> 0] = $76_1; + HEAP8[($5_1 + 644 | 0) >> 0] = $76_1; + HEAP8[($5_1 + 650 | 0) >> 0] = $76_1; + HEAP8[($5_1 + 651 | 0) >> 0] = $76_1; + HEAP8[($5_1 + 645 | 0) >> 0] = $76_1; + HEAP32[($5_1 + 652 | 0) >> 2] = 0; + HEAP8[($5_1 + 646 | 0) >> 0] = $76_1; + HEAP32[($5_1 + 664 | 0) >> 2] = -1; + label$12 : while (1) { + $80_1 = (HEAP32[($5_1 + 672 | 0) >> 2] | 0) + -32 | 0; + label$13 : { + label$14 : { + switch ($80_1 | 0) { + case 13: + HEAP8[($5_1 + 651 | 0) >> 0] = 1; + break label$13; + case 11: + HEAP8[($5_1 + 650 | 0) >> 0] = 43; + break label$13; + case 0: + HEAP8[($5_1 + 650 | 0) >> 0] = 32; + break label$13; + case 3: + HEAP8[($5_1 + 649 | 0) >> 0] = 1; + break label$13; + case 1: + HEAP8[($5_1 + 648 | 0) >> 0] = 1; + break label$13; + case 16: + HEAP8[($5_1 + 647 | 0) >> 0] = 1; + break label$13; + case 12: + HEAP8[($5_1 + 644 | 0) >> 0] = 44; + break label$13; + default: + HEAP8[($5_1 + 645 | 0) >> 0] = 1; + break label$13; + case 76: + HEAP8[($5_1 + 646 | 0) >> 0] = 1; + $92_1 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + HEAP32[($5_1 + 680 | 0) >> 2] = $92_1 + 1 | 0; + $96_1 = 24; + HEAP32[($5_1 + 672 | 0) >> 2] = ((HEAPU8[($92_1 + 1 | 0) >> 0] | 0) << $96_1 | 0) >> $96_1 | 0; + label$26 : { + if (!((HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) == (108 | 0) & 1 | 0)) { + break label$26 + } + $106_1 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + HEAP32[($5_1 + 680 | 0) >> 2] = $106_1 + 1 | 0; + $110_1 = 24; + HEAP32[($5_1 + 672 | 0) >> 2] = ((HEAPU8[($106_1 + 1 | 0) >> 0] | 0) << $110_1 | 0) >> $110_1 | 0; + HEAP8[($5_1 + 646 | 0) >> 0] = 2; + } + HEAP8[($5_1 + 645 | 0) >> 0] = 1; + break label$13; + case 17: + case 18: + case 19: + case 20: + case 21: + case 22: + case 23: + case 24: + case 25: + HEAP32[($5_1 + 476 | 0) >> 2] = (HEAP32[($5_1 + 672 | 0) >> 2] | 0) - 48 | 0; + label$27 : while (1) { + $119_1 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + HEAP32[($5_1 + 680 | 0) >> 2] = $119_1 + 1 | 0; + $123_1 = 24; + $125_1 = ((HEAPU8[($119_1 + 1 | 0) >> 0] | 0) << $123_1 | 0) >> $123_1 | 0; + HEAP32[($5_1 + 672 | 0) >> 2] = $125_1; + $131_1 = 0; + label$28 : { + if (!(($125_1 | 0) >= (48 | 0) & 1 | 0)) { + break label$28 + } + $131_1 = (HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) <= (57 | 0); + } + label$29 : { + if (!($131_1 & 1 | 0)) { + break label$29 + } + HEAP32[($5_1 + 476 | 0) >> 2] = (Math_imul(HEAP32[($5_1 + 476 | 0) >> 2] | 0, 10) + (HEAP32[($5_1 + 672 | 0) >> 2] | 0) | 0) - 48 | 0; + continue label$27; + } + break label$27; + }; + HEAP32[($5_1 + 652 | 0) >> 2] = (HEAP32[($5_1 + 476 | 0) >> 2] | 0) & 2147483647 | 0; + label$30 : { + label$31 : { + if (!((HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) != (46 | 0) & 1 | 0)) { + break label$31 + } + if (!((HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) != (108 | 0) & 1 | 0)) { + break label$31 + } + HEAP8[($5_1 + 645 | 0) >> 0] = 1; + break label$30; + } + HEAP32[($5_1 + 680 | 0) >> 2] = (HEAP32[($5_1 + 680 | 0) >> 2] | 0) + -1 | 0; + } + break label$13; + case 10: + label$32 : { + label$33 : { + if (!(((HEAPU8[($5_1 + 642 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$33 + } + i64toi32_i32$0 = $52(HEAP32[($5_1 + 560 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + HEAP32[($5_1 + 652 | 0) >> 2] = i64toi32_i32$0; + break label$32; + } + $179_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $179_1 + 4 | 0; + HEAP32[($5_1 + 652 | 0) >> 2] = HEAP32[$179_1 >> 2] | 0; + } + label$34 : { + if (!((HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$34 + } + HEAP8[($5_1 + 651 | 0) >> 0] = 1; + label$35 : { + label$36 : { + if (!((HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0) >= (-2147483647 | 0) & 1 | 0)) { + break label$36 + } + $201_1 = 0 - (HEAP32[($5_1 + 652 | 0) >> 2] | 0) | 0; + break label$35; + } + $201_1 = 0; + } + HEAP32[($5_1 + 652 | 0) >> 2] = $201_1; + } + $207_1 = 24; + $209_1 = ((HEAPU8[((HEAP32[($5_1 + 680 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $207_1 | 0) >> $207_1 | 0; + HEAP32[($5_1 + 672 | 0) >> 2] = $209_1; + label$37 : { + if (!(($209_1 | 0) != (46 | 0) & 1 | 0)) { + break label$37 + } + if (!((HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) != (108 | 0) & 1 | 0)) { + break label$37 + } + $223_1 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + HEAP32[($5_1 + 680 | 0) >> 2] = $223_1 + 1 | 0; + $227_1 = 24; + HEAP32[($5_1 + 672 | 0) >> 2] = ((HEAPU8[($223_1 + 1 | 0) >> 0] | 0) << $227_1 | 0) >> $227_1 | 0; + HEAP8[($5_1 + 645 | 0) >> 0] = 1; + } + break label$13; + case 14: + break label$14; + }; + } + $231_1 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + HEAP32[($5_1 + 680 | 0) >> 2] = $231_1 + 1 | 0; + $235_1 = 24; + HEAP32[($5_1 + 672 | 0) >> 2] = ((HEAPU8[($231_1 + 1 | 0) >> 0] | 0) << $235_1 | 0) >> $235_1 | 0; + label$38 : { + label$39 : { + if (!((HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) == (42 | 0) & 1 | 0)) { + break label$39 + } + label$40 : { + label$41 : { + if (!(((HEAPU8[($5_1 + 642 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$41 + } + i64toi32_i32$1 = $52(HEAP32[($5_1 + 560 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + HEAP32[($5_1 + 664 | 0) >> 2] = i64toi32_i32$1; + break label$40; + } + $255_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $255_1 + 4 | 0; + HEAP32[($5_1 + 664 | 0) >> 2] = HEAP32[$255_1 >> 2] | 0; + } + label$42 : { + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$42 + } + label$43 : { + label$44 : { + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) >= (-2147483647 | 0) & 1 | 0)) { + break label$44 + } + $276_1 = 0 - (HEAP32[($5_1 + 664 | 0) >> 2] | 0) | 0; + break label$43; + } + $276_1 = -1; + } + HEAP32[($5_1 + 664 | 0) >> 2] = $276_1; + } + $279_1 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + HEAP32[($5_1 + 680 | 0) >> 2] = $279_1 + 1 | 0; + $283_1 = 24; + HEAP32[($5_1 + 672 | 0) >> 2] = ((HEAPU8[($279_1 + 1 | 0) >> 0] | 0) << $283_1 | 0) >> $283_1 | 0; + break label$38; + } + HEAP32[($5_1 + 472 | 0) >> 2] = 0; + label$45 : while (1) { + $295_1 = 0; + label$46 : { + if (!((HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$46 + } + $295_1 = (HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) <= (57 | 0); + } + label$47 : { + if (!($295_1 & 1 | 0)) { + break label$47 + } + HEAP32[($5_1 + 472 | 0) >> 2] = (Math_imul(HEAP32[($5_1 + 472 | 0) >> 2] | 0, 10) + (HEAP32[($5_1 + 672 | 0) >> 2] | 0) | 0) - 48 | 0; + $311_1 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + HEAP32[($5_1 + 680 | 0) >> 2] = $311_1 + 1 | 0; + $315_1 = 24; + HEAP32[($5_1 + 672 | 0) >> 2] = ((HEAPU8[($311_1 + 1 | 0) >> 0] | 0) << $315_1 | 0) >> $315_1 | 0; + continue label$45; + } + break label$45; + }; + HEAP32[($5_1 + 664 | 0) >> 2] = (HEAP32[($5_1 + 472 | 0) >> 2] | 0) & 2147483647 | 0; + } + label$48 : { + label$49 : { + if (!((HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) == (108 | 0) & 1 | 0)) { + break label$49 + } + HEAP32[($5_1 + 680 | 0) >> 2] = (HEAP32[($5_1 + 680 | 0) >> 2] | 0) + -1 | 0; + break label$48; + } + HEAP8[($5_1 + 645 | 0) >> 0] = 1; + } + } + $342_1 = 0; + label$50 : { + if (((HEAPU8[($5_1 + 645 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$50 + } + $344_1 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + HEAP32[($5_1 + 680 | 0) >> 2] = $344_1 + 1 | 0; + $348_1 = 24; + $350_1 = ((HEAPU8[($344_1 + 1 | 0) >> 0] | 0) << $348_1 | 0) >> $348_1 | 0; + HEAP32[($5_1 + 672 | 0) >> 2] = $350_1; + $342_1 = ($350_1 | 0) != (0 | 0); + } + if ($342_1 & 1 | 0) { + continue label$12 + } + break label$12; + }; + HEAP32[($5_1 + 604 | 0) >> 2] = 1056; + HEAP8[($5_1 + 643 | 0) >> 0] = 17; + HEAP32[($5_1 + 656 | 0) >> 2] = 0; + label$51 : { + label$52 : while (1) { + if (!((HEAP32[($5_1 + 656 | 0) >> 2] | 0 | 0) < (23 | 0) & 1 | 0)) { + break label$51 + } + $374_1 = 24; + label$53 : { + if (!((HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) == (((HEAPU8[(1056 + Math_imul(HEAP32[($5_1 + 656 | 0) >> 2] | 0, 6) | 0) >> 0] | 0) << $374_1 | 0) >> $374_1 | 0 | 0) & 1 | 0)) { + break label$53 + } + HEAP32[($5_1 + 604 | 0) >> 2] = 1056 + Math_imul(HEAP32[($5_1 + 656 | 0) >> 2] | 0, 6) | 0; + HEAP8[($5_1 + 643 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 604 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0; + break label$51; + } + HEAP32[($5_1 + 656 | 0) >> 2] = (HEAP32[($5_1 + 656 | 0) >> 2] | 0) + 1 | 0; + continue label$52; + }; + } + $392_1 = HEAPU8[($5_1 + 643 | 0) >> 0] | 0; + label$54 : { + switch ($392_1 | 0) { + case 13: + HEAP8[($5_1 + 646 | 0) >> 0] = 1; + case 0: + case 15: + HEAP8[($5_1 + 644 | 0) >> 0] = 0; + case 16: + label$66 : { + label$67 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 604 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$67 + } + label$68 : { + label$69 : { + if (!(((HEAPU8[($5_1 + 642 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$69 + } + i64toi32_i32$0 = $52(HEAP32[($5_1 + 560 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $3343_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 464 | 0) >> 2] = $3343_1; + HEAP32[($5_1 + 468 | 0) >> 2] = i64toi32_i32$1; + break label$68; + } + label$70 : { + label$71 : { + if (!(((HEAPU8[($5_1 + 646 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$71 + } + label$72 : { + label$73 : { + if (!(((HEAPU8[($5_1 + 646 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$73 + } + $434_1 = ((HEAP32[($5_1 + 676 | 0) >> 2] | 0) + 7 | 0) & -8 | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $434_1 + 8 | 0; + i64toi32_i32$2 = $434_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3391 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 464 | 0) >> 2] = $3391; + HEAP32[($5_1 + 468 | 0) >> 2] = i64toi32_i32$0; + break label$72; + } + $437_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $437_1 + 4 | 0; + i64toi32_i32$1 = HEAP32[$437_1 >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $3405 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 464 | 0) >> 2] = $3405; + HEAP32[($5_1 + 468 | 0) >> 2] = i64toi32_i32$0; + } + break label$70; + } + $442_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $442_1 + 4 | 0; + i64toi32_i32$1 = HEAP32[$442_1 >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $3419 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 464 | 0) >> 2] = $3419; + HEAP32[($5_1 + 468 | 0) >> 2] = i64toi32_i32$0; + } + } + i64toi32_i32$0 = 0; + $2295$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 464 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 468 | 0) >> 2] | 0; + $2297$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2295$hi; + i64toi32_i32$1 = $2297$hi; + i64toi32_i32$1 = $2295$hi; + i64toi32_i32$1 = $2297$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $2295$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $422_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $423_1 = 0 + } else { + $423_1 = 1 + } + $424_1 = $423_1; + } else { + $424_1 = 0 + } + $422_1 = $424_1; + } + label$74 : { + label$75 : { + if (!($422_1 & 1 | 0)) { + break label$75 + } + $450_1 = 45; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 464 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 468 | 0) >> 2] | 0; + $2299$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $2300$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2299$hi; + i64toi32_i32$1 = $2300$hi; + i64toi32_i32$1 = $2299$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $2300$hi; + i64toi32_i32$0 = -1; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + $3438 = i64toi32_i32$3 ^ i64toi32_i32$0 | 0; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 632 | 0) >> 2] = $3438; + HEAP32[($5_1 + 636 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 632 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 636 | 0) >> 2] | 0; + $2302$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $2303$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2302$hi; + i64toi32_i32$3 = $2303$hi; + i64toi32_i32$3 = $2302$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $2303$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 632 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 636 | 0) >> 2] = i64toi32_i32$5; + HEAP8[($5_1 + 641 | 0) >> 0] = $450_1; + break label$74; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 464 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 468 | 0) >> 2] | 0; + $3451 = i64toi32_i32$5; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 632 | 0) >> 2] = $3451; + HEAP32[($5_1 + 636 | 0) >> 2] = i64toi32_i32$1; + HEAP8[($5_1 + 641 | 0) >> 0] = HEAPU8[($5_1 + 650 | 0) >> 0] | 0; + } + break label$66; + } + label$76 : { + label$77 : { + if (!(((HEAPU8[($5_1 + 642 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$77 + } + i64toi32_i32$1 = $52(HEAP32[($5_1 + 560 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $3477 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 632 | 0) >> 2] = $3477; + HEAP32[($5_1 + 636 | 0) >> 2] = i64toi32_i32$5; + break label$76; + } + label$78 : { + label$79 : { + if (!(((HEAPU8[($5_1 + 646 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$79 + } + label$80 : { + label$81 : { + if (!(((HEAPU8[($5_1 + 646 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$81 + } + $484_1 = ((HEAP32[($5_1 + 676 | 0) >> 2] | 0) + 7 | 0) & -8 | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $484_1 + 8 | 0; + i64toi32_i32$3 = $484_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $3525 = i64toi32_i32$5; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 632 | 0) >> 2] = $3525; + HEAP32[($5_1 + 636 | 0) >> 2] = i64toi32_i32$1; + break label$80; + } + $487_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $487_1 + 4 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 632 | 0) >> 2] = HEAP32[$487_1 >> 2] | 0; + HEAP32[($5_1 + 636 | 0) >> 2] = i64toi32_i32$1; + } + break label$78; + } + $492_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $492_1 + 4 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 632 | 0) >> 2] = HEAP32[$492_1 >> 2] | 0; + HEAP32[($5_1 + 636 | 0) >> 2] = i64toi32_i32$1; + } + } + HEAP8[($5_1 + 641 | 0) >> 0] = 0; + } + i64toi32_i32$1 = 0; + $2310$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 632 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 636 | 0) >> 2] | 0; + $2312$hi = i64toi32_i32$5; + i64toi32_i32$5 = $2310$hi; + i64toi32_i32$5 = $2312$hi; + i64toi32_i32$5 = $2310$hi; + i64toi32_i32$5 = $2312$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $2310$hi; + i64toi32_i32$0 = 0; + label$82 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$82 + } + HEAP8[($5_1 + 649 | 0) >> 0] = 0; + } + label$83 : { + if (!((HEAPU8[($5_1 + 647 | 0) >> 0] | 0) & 255 | 0)) { + break label$83 + } + $509_1 = 24; + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) < ((HEAP32[($5_1 + 652 | 0) >> 2] | 0) - ((((HEAPU8[($5_1 + 641 | 0) >> 0] | 0) << $509_1 | 0) >> $509_1 | 0 | 0) != (0 | 0) & 1 | 0) | 0 | 0) & 1 | 0)) { + break label$83 + } + $526_1 = 24; + HEAP32[($5_1 + 664 | 0) >> 2] = (HEAP32[($5_1 + 652 | 0) >> 2] | 0) - ((((HEAPU8[($5_1 + 641 | 0) >> 0] | 0) << $526_1 | 0) >> $526_1 | 0 | 0) != (0 | 0) & 1 | 0) | 0; + } + label$84 : { + label$85 : { + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) < (37 | 0) & 1 | 0)) { + break label$85 + } + HEAP32[($5_1 + 596 | 0) >> 2] = 70; + HEAP32[($5_1 + 600 | 0) >> 2] = $5_1 + 480 | 0; + break label$84; + } + $546_1 = 0; + i64toi32_i32$5 = HEAP32[($5_1 + 664 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$5 >> 31 | 0; + $2314$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $2315$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2314$hi; + i64toi32_i32$3 = $2315$hi; + i64toi32_i32$3 = $2314$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $2315$hi; + i64toi32_i32$1 = 10; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 456 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 460 | 0) >> 2] = i64toi32_i32$4; + label$86 : { + if (!(((HEAPU8[($5_1 + 644 | 0) >> 0] | 0) & 255 | 0 | 0) != ($546_1 & 255 | 0 | 0) & 1 | 0)) { + break label$86 + } + i64toi32_i32$0 = (HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) / (3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $2317_1 = i64toi32_i32$0; + $2317$hi = i64toi32_i32$4; + i64toi32_i32$3 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 456 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 460 | 0) >> 2] | 0; + $3689$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2317$hi; + i64toi32_i32$0 = $3689$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$4 = $2317$hi; + i64toi32_i32$1 = $2317_1; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 456 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 460 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 456 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 460 | 0) >> 2] | 0; + $563_1 = $53(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0; + HEAP32[($5_1 + 592 | 0) >> 2] = $563_1; + HEAP32[($5_1 + 600 | 0) >> 2] = $563_1; + label$87 : { + if (!((HEAP32[($5_1 + 600 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$87 + } + break label$6; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 456 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 460 | 0) >> 2] | 0; + HEAP32[($5_1 + 596 | 0) >> 2] = i64toi32_i32$3; + } + HEAP32[($5_1 + 668 | 0) >> 2] = (HEAP32[($5_1 + 600 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 596 | 0) >> 2] | 0) - 1 | 0) | 0; + label$88 : { + if (!(((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (15 | 0) & 1 | 0)) { + break label$88 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 632 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 636 | 0) >> 2] | 0; + $2322$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $2323$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2322$hi; + i64toi32_i32$3 = $2323$hi; + i64toi32_i32$3 = $2322$hi; + $429_1 = i64toi32_i32$2; + i64toi32_i32$2 = $2323$hi; + i64toi32_i32$2 = __wasm_i64_urem($429_1 | 0, i64toi32_i32$3 | 0, 10 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + HEAP32[($5_1 + 452 | 0) >> 2] = i64toi32_i32$2; + label$89 : { + label$90 : { + if ((HEAP32[($5_1 + 452 | 0) >> 2] | 0 | 0) >= (4 | 0) & 1 | 0) { + break label$90 + } + i64toi32_i32$3 = 0; + $2325$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 632 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 636 | 0) >> 2] | 0; + $2326$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $2327$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2326$hi; + i64toi32_i32$2 = $2327$hi; + i64toi32_i32$2 = $2326$hi; + $430_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2327$hi; + i64toi32_i32$3 = __wasm_i64_udiv($430_1 | 0, i64toi32_i32$2 | 0, 10 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $2328$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $2329$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2328$hi; + i64toi32_i32$2 = $2329$hi; + i64toi32_i32$2 = $2328$hi; + $431_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2329$hi; + i64toi32_i32$3 = __wasm_i64_urem($431_1 | 0, i64toi32_i32$2 | 0, 10 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $2331$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2325$hi; + i64toi32_i32$2 = $2331$hi; + i64toi32_i32$2 = $2325$hi; + i64toi32_i32$2 = $2331$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $2325$hi; + i64toi32_i32$1 = 1; + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$89 + } + } + HEAP32[($5_1 + 452 | 0) >> 2] = 0; + } + $602_1 = HEAPU8[((((HEAP32[($5_1 + 452 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) + 1194 | 0) >> 0] | 0; + $605_1 = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $605_1; + HEAP8[$605_1 >> 0] = $602_1; + $609_1 = HEAPU8[(((HEAP32[($5_1 + 452 | 0) >> 2] | 0) << 1 | 0) + 1194 | 0) >> 0] | 0; + $612_1 = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $612_1; + HEAP8[$612_1 >> 0] = $609_1; + } + HEAP32[($5_1 + 448 | 0) >> 2] = 1216 + ((HEAPU8[((HEAP32[($5_1 + 604 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP8[($5_1 + 447 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 604 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + label$91 : while (1) { + $621_1 = HEAP32[($5_1 + 448 | 0) >> 2] | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 632 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 636 | 0) >> 2] | 0; + $2333$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $2334$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2333$hi; + i64toi32_i32$2 = $2334$hi; + i64toi32_i32$2 = $2333$hi; + $432_1 = i64toi32_i32$0; + i64toi32_i32$0 = $2334$hi; + i64toi32_i32$0 = __wasm_i64_urem($432_1 | 0, i64toi32_i32$2 | 0, (HEAPU8[($5_1 + 447 | 0) >> 0] | 0) & 255 | 0 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $627_1 = HEAPU8[($621_1 + i64toi32_i32$0 | 0) >> 0] | 0; + $630_1 = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $630_1; + HEAP8[$630_1 >> 0] = $627_1; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 632 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 636 | 0) >> 2] | 0; + $2336$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2337$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2336$hi; + i64toi32_i32$0 = $2337$hi; + i64toi32_i32$0 = $2336$hi; + $433_1 = i64toi32_i32$2; + i64toi32_i32$2 = $2337$hi; + i64toi32_i32$2 = __wasm_i64_udiv($433_1 | 0, i64toi32_i32$0 | 0, (HEAPU8[($5_1 + 447 | 0) >> 0] | 0) & 255 | 0 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $3886 = i64toi32_i32$2; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 632 | 0) >> 2] = $3886; + HEAP32[($5_1 + 636 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2339$hi = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 632 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 636 | 0) >> 2] | 0; + $2341$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2339$hi; + i64toi32_i32$2 = $2341$hi; + i64toi32_i32$2 = $2339$hi; + i64toi32_i32$2 = $2341$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $2339$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0) { + continue label$91 + } + break label$91; + }; + HEAP32[($5_1 + 660 | 0) >> 2] = ((HEAP32[($5_1 + 600 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 596 | 0) >> 2] | 0) - 1 | 0) | 0) - (HEAP32[($5_1 + 668 | 0) >> 2] | 0) | 0; + label$92 : { + label$93 : while (1) { + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 660 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$92 + } + $654_1 = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $654_1; + HEAP8[$654_1 >> 0] = 48; + HEAP32[($5_1 + 660 | 0) >> 2] = (HEAP32[($5_1 + 660 | 0) >> 2] | 0) + 1 | 0; + continue label$93; + }; + } + label$94 : { + if (!(((HEAPU8[($5_1 + 644 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$94 + } + $667_1 = 0; + HEAP32[($5_1 + 440 | 0) >> 2] = ((HEAP32[($5_1 + 660 | 0) >> 2] | 0) - 1 | 0 | 0) / (3 | 0) | 0; + HEAP32[($5_1 + 436 | 0) >> 2] = (((HEAP32[($5_1 + 660 | 0) >> 2] | 0) - 1 | 0 | 0) % (3 | 0) | 0) + 1 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + ($667_1 - (HEAP32[($5_1 + 440 | 0) >> 2] | 0) | 0) | 0; + HEAP32[($5_1 + 656 | 0) >> 2] = $667_1; + label$95 : { + label$96 : while (1) { + if (!((HEAP32[($5_1 + 440 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$95 + } + HEAP8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + (HEAP32[($5_1 + 656 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 656 | 0) >> 2] | 0) + (HEAP32[($5_1 + 440 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0; + HEAP32[($5_1 + 436 | 0) >> 2] = (HEAP32[($5_1 + 436 | 0) >> 2] | 0) + -1 | 0; + label$97 : { + if (HEAP32[($5_1 + 436 | 0) >> 2] | 0) { + break label$97 + } + $705_1 = HEAPU8[($5_1 + 644 | 0) >> 0] | 0; + $706_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + $709_1 = (HEAP32[($5_1 + 656 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 656 | 0) >> 2] = $709_1; + HEAP8[($706_1 + $709_1 | 0) >> 0] = $705_1; + HEAP32[($5_1 + 440 | 0) >> 2] = (HEAP32[($5_1 + 440 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 436 | 0) >> 2] = 3; + } + HEAP32[($5_1 + 656 | 0) >> 2] = (HEAP32[($5_1 + 656 | 0) >> 2] | 0) + 1 | 0; + continue label$96; + }; + } + } + label$98 : { + if (!(((HEAPU8[($5_1 + 641 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$98 + } + $726_1 = HEAPU8[($5_1 + 641 | 0) >> 0] | 0; + $729_1 = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $729_1; + HEAP8[$729_1 >> 0] = $726_1; + } + label$99 : { + if (!((HEAPU8[($5_1 + 649 | 0) >> 0] | 0) & 255 | 0)) { + break label$99 + } + if (!((HEAPU8[((HEAP32[($5_1 + 604 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0)) { + break label$99 + } + HEAP32[($5_1 + 432 | 0) >> 2] = 1249 + ((HEAPU8[((HEAP32[($5_1 + 604 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) | 0; + label$100 : { + label$101 : while (1) { + $744_1 = HEAPU8[(HEAP32[($5_1 + 432 | 0) >> 2] | 0) >> 0] | 0; + HEAP8[($5_1 + 431 | 0) >> 0] = $744_1; + $745_1 = 24; + if (!(($744_1 << $745_1 | 0) >> $745_1 | 0)) { + break label$100 + } + $748_1 = HEAPU8[($5_1 + 431 | 0) >> 0] | 0; + $751_1 = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $751_1; + HEAP8[$751_1 >> 0] = $748_1; + HEAP32[($5_1 + 432 | 0) >> 2] = (HEAP32[($5_1 + 432 | 0) >> 2] | 0) + 1 | 0; + continue label$101; + }; + } + } + HEAP32[($5_1 + 660 | 0) >> 2] = ((HEAP32[($5_1 + 600 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 596 | 0) >> 2] | 0) - 1 | 0) | 0) - (HEAP32[($5_1 + 668 | 0) >> 2] | 0) | 0; + break label$4; + case 1: + case 2: + case 3: + label$102 : { + label$103 : { + if (!(((HEAPU8[($5_1 + 642 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$103 + } + $3266($5_1 + 272 | 0 | 0, +(+$54(HEAP32[($5_1 + 560 | 0) >> 2] | 0 | 0))); + i64toi32_i32$3 = $5_1 + 280 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $2343_1 = i64toi32_i32$1; + $2343$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 272 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 276 | 0) >> 2] | 0; + $2344_1 = i64toi32_i32$2; + $2344$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2343$hi; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 616 | 0) >> 2] = $2343_1; + HEAP32[($5_1 + 620 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $2344$hi; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 608 | 0) >> 2] = $2344_1; + HEAP32[($5_1 + 612 | 0) >> 2] = i64toi32_i32$1; + break label$102; + } + $780_1 = ((HEAP32[($5_1 + 676 | 0) >> 2] | 0) + 7 | 0) & -8 | 0; + $781_1 = 8; + HEAP32[($5_1 + 676 | 0) >> 2] = $780_1 + $781_1 | 0; + $3266($5_1 + 288 | 0 | 0, +(+HEAPF64[$780_1 >> 3])); + i64toi32_i32$3 = ($5_1 + 288 | 0) + $781_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $2345_1 = i64toi32_i32$1; + $2345$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 288 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 292 | 0) >> 2] | 0; + $2346_1 = i64toi32_i32$2; + $2346$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2345$hi; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 616 | 0) >> 2] = $2345_1; + HEAP32[($5_1 + 620 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $2346$hi; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 608 | 0) >> 2] = $2346_1; + HEAP32[($5_1 + 612 | 0) >> 2] = i64toi32_i32$1; + } + label$104 : { + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$104 + } + HEAP32[($5_1 + 664 | 0) >> 2] = 6; + } + label$105 : { + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) > (1e8 | 0) & 1 | 0)) { + break label$105 + } + HEAP32[($5_1 + 664 | 0) >> 2] = 1e8; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2347_1 = i64toi32_i32$1; + $2347$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2348$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $2349_1 = 0; + $2349$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2348$hi; + i64toi32_i32$1 = $2347$hi; + i64toi32_i32$1 = $2349$hi; + i64toi32_i32$1 = $2348$hi; + $435_1 = i64toi32_i32$2; + i64toi32_i32$2 = $2347$hi; + i64toi32_i32$3 = $2349$hi; + i64toi32_i32$0 = i64toi32_i32$3; + label$106 : { + label$107 : { + if (!(($3263($435_1 | 0, i64toi32_i32$1 | 0, $2347_1 | 0, i64toi32_i32$2 | 0, $2349_1 | 0, i64toi32_i32$3 | 0, $2349_1 | 0, i64toi32_i32$3 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$107 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2350$hi = i64toi32_i32$3; + i64toi32_i32$3 = -2147483648; + $2351$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2350$hi; + i64toi32_i32$3 = $2351$hi; + i64toi32_i32$3 = $2350$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $2351$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = i64toi32_i32$3 ^ i64toi32_i32$0 | 0; + $4300 = i64toi32_i32$2 ^ i64toi32_i32$1 | 0; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 616 | 0) >> 2] = $4300; + HEAP32[($5_1 + 620 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($5_1 + 641 | 0) >> 0] = 45; + break label$106; + } + HEAP8[($5_1 + 641 | 0) >> 0] = HEAPU8[($5_1 + 650 | 0) >> 0] | 0; + } + label$108 : { + if (!(((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$108 + } + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$108 + } + HEAP32[($5_1 + 664 | 0) >> 2] = (HEAP32[($5_1 + 664 | 0) >> 2] | 0) + -1 | 0; + } + HEAP32[($5_1 + 656 | 0) >> 2] = (HEAP32[($5_1 + 664 | 0) >> 2] | 0) & 4095 | 0; + HEAPF64[($5_1 + 568 | 0) >> 3] = +HEAPF64[(1264 + (((HEAP32[($5_1 + 656 | 0) >> 2] | 0 | 0) % (10 | 0) | 0) << 3 | 0) | 0) >> 3]; + label$109 : { + label$110 : while (1) { + if (!((HEAP32[($5_1 + 656 | 0) >> 2] | 0 | 0) >= (10 | 0) & 1 | 0)) { + break label$109 + } + HEAPF64[($5_1 + 568 | 0) >> 3] = +HEAPF64[($5_1 + 568 | 0) >> 3] * 1.0e-10; + HEAP32[($5_1 + 656 | 0) >> 2] = (HEAP32[($5_1 + 656 | 0) >> 2] | 0) - 10 | 0; + continue label$110; + }; + } + label$111 : { + if (!(((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$111 + } + $859_1 = 15; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2353_1 = i64toi32_i32$0; + $2353$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $4416$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2353$hi; + i64toi32_i32$0 = $4416$hi; + $436_1 = i64toi32_i32$2; + i64toi32_i32$2 = $2353$hi; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3276($436_1 | 0, i64toi32_i32$0 | 0, $2353_1 | 0, i64toi32_i32$2 | 0)), HEAPF64[(wasm2js_i32$0 + 416 | 0) >> 3] = wasm2js_f64$0; + i64toi32_i32$3 = $5_1 + 416 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $4424 = i64toi32_i32$2; + i64toi32_i32$2 = $5_1 + 408 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $4424; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 408 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 412 | 0) >> 2] | 0; + $2356$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $2357$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2356$hi; + i64toi32_i32$2 = $2357$hi; + i64toi32_i32$2 = $2356$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $2357$hi; + i64toi32_i32$1 = 52; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $425_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $425_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + $2358$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2359$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2358$hi; + i64toi32_i32$0 = $2359$hi; + i64toi32_i32$0 = $2358$hi; + i64toi32_i32$2 = $425_1; + i64toi32_i32$3 = $2359$hi; + i64toi32_i32$1 = 2047; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + HEAP32[($5_1 + 404 | 0) >> 2] = (i64toi32_i32$2 & i64toi32_i32$1 | 0) + -1023 | 0; + label$112 : { + if (!(((HEAP32[($5_1 + 664 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0) / (3 | 0) | 0) | 0 | 0) < ($859_1 | 0) & 1 | 0)) { + break label$112 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2361_1 = i64toi32_i32$3; + $2361$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2362$hi = i64toi32_i32$3; + i64toi32_i32$3 = 1070291424; + $2363$hi = i64toi32_i32$3; + i64toi32_i32$3 = -805306368; + $2364$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2362$hi; + i64toi32_i32$3 = $2361$hi; + i64toi32_i32$3 = $2364$hi; + i64toi32_i32$3 = $2363$hi; + i64toi32_i32$3 = $2362$hi; + $438_1 = i64toi32_i32$2; + i64toi32_i32$2 = $2361$hi; + i64toi32_i32$0 = $2364$hi; + i64toi32_i32$1 = $2363$hi; + $3273($5_1 + 256 | 0 | 0, $438_1 | 0, i64toi32_i32$3 | 0, $2361_1 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$0 | 0, 1595811444 | 0, i64toi32_i32$1 | 0); + $881_1 = 8; + i64toi32_i32$2 = ($5_1 + 256 | 0) + $881_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2365_1 = i64toi32_i32$1; + $2365$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 256 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 260 | 0) >> 2] | 0; + $2366_1 = i64toi32_i32$0; + $2366$hi = i64toi32_i32$1; + $3266($5_1 + 224 | 0 | 0, +(+HEAPF64[($5_1 + 568 | 0) >> 3])); + i64toi32_i32$2 = ($5_1 + 224 | 0) + $881_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2367_1 = i64toi32_i32$1; + $2367$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 228 | 0) >> 2] | 0; + $4503$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2367$hi; + i64toi32_i32$1 = $2366$hi; + i64toi32_i32$1 = $2365$hi; + i64toi32_i32$1 = $4503$hi; + $439_1 = i64toi32_i32$0; + i64toi32_i32$0 = $2367$hi; + i64toi32_i32$2 = $2366$hi; + i64toi32_i32$3 = $2365$hi; + $3261($5_1 + 240 | 0 | 0, $439_1 | 0, i64toi32_i32$1 | 0, $2367_1 | 0, i64toi32_i32$0 | 0, $2366_1 | 0, i64toi32_i32$2 | 0, $2365_1 | 0, i64toi32_i32$3 | 0); + i64toi32_i32$0 = ($5_1 + 240 | 0) + $881_1 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $2369_1 = i64toi32_i32$3; + $2369$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 240 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 244 | 0) >> 2] | 0; + $4517$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2369$hi; + i64toi32_i32$3 = $4517$hi; + $440_1 = i64toi32_i32$2; + i64toi32_i32$2 = $2369$hi; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3276($440_1 | 0, i64toi32_i32$3 | 0, $2369_1 | 0, i64toi32_i32$2 | 0)), HEAPF64[(wasm2js_i32$0 + 568 | 0) >> 3] = wasm2js_f64$0; + } + $3266($5_1 + 192 | 0 | 0, +(+HEAPF64[($5_1 + 568 | 0) >> 3])); + $897_1 = 8; + i64toi32_i32$0 = ($5_1 + 192 | 0) + $897_1 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $2371_1 = i64toi32_i32$2; + $2371$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 192 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 196 | 0) >> 2] | 0; + $2372_1 = i64toi32_i32$3; + $2372$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2373_1 = i64toi32_i32$2; + $2373$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $4547$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2373$hi; + i64toi32_i32$2 = $2372$hi; + i64toi32_i32$2 = $2371$hi; + i64toi32_i32$2 = $4547$hi; + $441_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2373$hi; + i64toi32_i32$0 = $2372$hi; + i64toi32_i32$1 = $2371$hi; + $3261($5_1 + 208 | 0 | 0, $441_1 | 0, i64toi32_i32$2 | 0, $2373_1 | 0, i64toi32_i32$3 | 0, $2372_1 | 0, i64toi32_i32$0 | 0, $2371_1 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$3 = ($5_1 + 208 | 0) + $897_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $2375_1 = i64toi32_i32$1; + $2375$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 208 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 212 | 0) >> 2] | 0; + $2376_1 = i64toi32_i32$0; + $2376$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2375$hi; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 616 | 0) >> 2] = $2375_1; + HEAP32[($5_1 + 620 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $2376$hi; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 608 | 0) >> 2] = $2376_1; + HEAP32[($5_1 + 612 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($5_1 + 588 | 0) >> 2] = 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2377_1 = i64toi32_i32$1; + $2377$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $4571$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2377$hi; + i64toi32_i32$1 = $4571$hi; + $443_1 = i64toi32_i32$0; + i64toi32_i32$0 = $2377$hi; + label$113 : { + if (!($55(+(+$3276($443_1 | 0, i64toi32_i32$1 | 0, $2377_1 | 0, i64toi32_i32$0 | 0))) | 0)) { + break label$113 + } + HEAP32[($5_1 + 668 | 0) >> 2] = 1344; + HEAP32[($5_1 + 660 | 0) >> 2] = 3; + break label$4; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2379_1 = i64toi32_i32$0; + $2379$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2380$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2381_1 = 0; + $2381$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2380$hi; + i64toi32_i32$0 = $2379$hi; + i64toi32_i32$0 = $2381$hi; + i64toi32_i32$0 = $2380$hi; + $444_1 = i64toi32_i32$1; + i64toi32_i32$1 = $2379$hi; + i64toi32_i32$3 = $2381$hi; + i64toi32_i32$2 = i64toi32_i32$3; + label$114 : { + if (!(($3264($444_1 | 0, i64toi32_i32$0 | 0, $2379_1 | 0, i64toi32_i32$1 | 0, $2381_1 | 0, i64toi32_i32$2 | 0, $2381_1 | 0, i64toi32_i32$2 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$114 + } + i64toi32_i32$2 = 1073676288; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 392 | 0) >> 2] = 0; + HEAP32[($5_1 + 396 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 384 | 0) >> 2] = 0; + HEAP32[($5_1 + 388 | 0) >> 2] = i64toi32_i32$2; + label$115 : while (1) { + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2384_1 = i64toi32_i32$2; + $2384$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2385_1 = i64toi32_i32$3; + $2385$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 392 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 396 | 0) >> 2] | 0; + $2386_1 = i64toi32_i32$2; + $2386$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 384 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + $2387$hi = i64toi32_i32$2; + i64toi32_i32$2 = 1095443610; + $2388$hi = i64toi32_i32$2; + i64toi32_i32$2 = -805306368; + $2389$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2387$hi; + i64toi32_i32$2 = $2386$hi; + i64toi32_i32$2 = $2389$hi; + i64toi32_i32$2 = $2388$hi; + i64toi32_i32$2 = $2387$hi; + $445_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2386$hi; + i64toi32_i32$1 = $2389$hi; + i64toi32_i32$0 = $2388$hi; + $3273($5_1 + 176 | 0 | 0, $445_1 | 0, i64toi32_i32$2 | 0, $2386_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$1 | 0, -765899721 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$3 = $5_1 + 184 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $2390_1 = i64toi32_i32$0; + $2390$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 180 | 0) >> 2] | 0; + $2391$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2385$hi; + i64toi32_i32$0 = $2384$hi; + i64toi32_i32$0 = $2391$hi; + $4628 = i64toi32_i32$1; + i64toi32_i32$0 = $2390$hi; + i64toi32_i32$0 = $2385$hi; + i64toi32_i32$1 = $2384$hi; + i64toi32_i32$3 = $2391$hi; + i64toi32_i32$2 = $2390$hi; + $925_1 = 0; + label$116 : { + if (!(($3264($2385_1 | 0, i64toi32_i32$0 | 0, $2384_1 | 0, i64toi32_i32$1 | 0, $4628 | 0, i64toi32_i32$3 | 0, $2390_1 | 0, i64toi32_i32$2 | 0) | 0 | 0) > (-1 | 0) & 1 | 0)) { + break label$116 + } + $925_1 = (HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) <= (350 | 0); + } + label$117 : { + if (!($925_1 & 1 | 0)) { + break label$117 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 392 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 396 | 0) >> 2] | 0; + $2392_1 = i64toi32_i32$2; + $2392$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 384 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + $2393$hi = i64toi32_i32$2; + i64toi32_i32$2 = 1095443610; + $2394$hi = i64toi32_i32$2; + i64toi32_i32$2 = -805306368; + $2395$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2393$hi; + i64toi32_i32$2 = $2392$hi; + i64toi32_i32$2 = $2395$hi; + i64toi32_i32$2 = $2394$hi; + i64toi32_i32$2 = $2393$hi; + $446_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2392$hi; + i64toi32_i32$1 = $2395$hi; + i64toi32_i32$0 = $2394$hi; + $3273($5_1 | 0, $446_1 | 0, i64toi32_i32$2 | 0, $2392_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$1 | 0, -765899721 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$3 = $5_1 + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $2396_1 = i64toi32_i32$0; + $2396$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $2397_1 = i64toi32_i32$1; + $2397$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2396$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 392 | 0) >> 2] = $2396_1; + HEAP32[($5_1 + 396 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2397$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 384 | 0) >> 2] = $2397_1; + HEAP32[($5_1 + 388 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 588 | 0) >> 2] = (HEAP32[($5_1 + 588 | 0) >> 2] | 0) + 100 | 0; + continue label$115; + } + break label$115; + }; + label$118 : while (1) { + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2398_1 = i64toi32_i32$0; + $2398$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2399_1 = i64toi32_i32$1; + $2399$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 392 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 396 | 0) >> 2] | 0; + $2400_1 = i64toi32_i32$0; + $2400$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 384 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + $2401$hi = i64toi32_i32$0; + i64toi32_i32$0 = 1075849733; + $2402$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2403$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2401$hi; + i64toi32_i32$0 = $2400$hi; + i64toi32_i32$0 = $2403$hi; + i64toi32_i32$0 = $2402$hi; + i64toi32_i32$0 = $2401$hi; + $447_1 = i64toi32_i32$1; + i64toi32_i32$1 = $2400$hi; + i64toi32_i32$3 = $2403$hi; + i64toi32_i32$2 = $2402$hi; + $3273($5_1 + 160 | 0 | 0, $447_1 | 0, i64toi32_i32$0 | 0, $2400_1 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$3 | 0, -234881024 | 0, i64toi32_i32$2 | 0); + i64toi32_i32$1 = $5_1 + 168 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $2404_1 = i64toi32_i32$2; + $2404$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 160 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $2405$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2399$hi; + i64toi32_i32$2 = $2398$hi; + i64toi32_i32$2 = $2405$hi; + $4706 = i64toi32_i32$3; + i64toi32_i32$2 = $2404$hi; + i64toi32_i32$2 = $2399$hi; + i64toi32_i32$3 = $2398$hi; + i64toi32_i32$1 = $2405$hi; + i64toi32_i32$0 = $2404$hi; + $949_1 = 0; + label$119 : { + if (!(($3264($2399_1 | 0, i64toi32_i32$2 | 0, $2398_1 | 0, i64toi32_i32$3 | 0, $4706 | 0, i64toi32_i32$1 | 0, $2404_1 | 0, i64toi32_i32$0 | 0) | 0 | 0) > (-1 | 0) & 1 | 0)) { + break label$119 + } + $949_1 = (HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) <= (350 | 0); + } + label$120 : { + if (!($949_1 & 1 | 0)) { + break label$120 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 392 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 396 | 0) >> 2] | 0; + $2406_1 = i64toi32_i32$0; + $2406$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 384 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + $2407$hi = i64toi32_i32$0; + i64toi32_i32$0 = 1075849733; + $2408$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2409$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2407$hi; + i64toi32_i32$0 = $2406$hi; + i64toi32_i32$0 = $2409$hi; + i64toi32_i32$0 = $2408$hi; + i64toi32_i32$0 = $2407$hi; + $448_1 = i64toi32_i32$1; + i64toi32_i32$1 = $2406$hi; + i64toi32_i32$3 = $2409$hi; + i64toi32_i32$2 = $2408$hi; + $3273($5_1 + 16 | 0 | 0, $448_1 | 0, i64toi32_i32$0 | 0, $2406_1 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$3 | 0, -234881024 | 0, i64toi32_i32$2 | 0); + i64toi32_i32$1 = $5_1 + 24 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $2410_1 = i64toi32_i32$2; + $2410$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $2411_1 = i64toi32_i32$3; + $2411$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2410$hi; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 392 | 0) >> 2] = $2410_1; + HEAP32[($5_1 + 396 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $2411$hi; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 384 | 0) >> 2] = $2411_1; + HEAP32[($5_1 + 388 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 588 | 0) >> 2] = (HEAP32[($5_1 + 588 | 0) >> 2] | 0) + 10 | 0; + continue label$118; + } + break label$118; + }; + label$121 : while (1) { + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2412_1 = i64toi32_i32$2; + $2412$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2413_1 = i64toi32_i32$3; + $2413$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 392 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 396 | 0) >> 2] | 0; + $2414_1 = i64toi32_i32$2; + $2414$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 384 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + $2415$hi = i64toi32_i32$2; + i64toi32_i32$2 = 1073889280; + $2416$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $2417$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2415$hi; + i64toi32_i32$2 = $2414$hi; + i64toi32_i32$2 = $2417$hi; + i64toi32_i32$2 = $2416$hi; + i64toi32_i32$2 = $2415$hi; + $449_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2414$hi; + i64toi32_i32$1 = $2417$hi; + i64toi32_i32$0 = $2416$hi; + $3273($5_1 + 144 | 0 | 0, $449_1 | 0, i64toi32_i32$2 | 0, $2414_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$3 = $5_1 + 152 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $2418_1 = i64toi32_i32$0; + $2418$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 144 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 148 | 0) >> 2] | 0; + $2419$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2413$hi; + i64toi32_i32$0 = $2412$hi; + i64toi32_i32$0 = $2419$hi; + $4787 = i64toi32_i32$1; + i64toi32_i32$0 = $2418$hi; + i64toi32_i32$0 = $2413$hi; + i64toi32_i32$1 = $2412$hi; + i64toi32_i32$3 = $2419$hi; + i64toi32_i32$2 = $2418$hi; + $975_1 = 0; + label$122 : { + if (!(($3264($2413_1 | 0, i64toi32_i32$0 | 0, $2412_1 | 0, i64toi32_i32$1 | 0, $4787 | 0, i64toi32_i32$3 | 0, $2418_1 | 0, i64toi32_i32$2 | 0) | 0 | 0) > (-1 | 0) & 1 | 0)) { + break label$122 + } + $975_1 = (HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) <= (350 | 0); + } + label$123 : { + if (!($975_1 & 1 | 0)) { + break label$123 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 392 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 396 | 0) >> 2] | 0; + $2420_1 = i64toi32_i32$2; + $2420$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 384 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + $2421$hi = i64toi32_i32$2; + i64toi32_i32$2 = 1073889280; + $2422$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $2423$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2421$hi; + i64toi32_i32$2 = $2420$hi; + i64toi32_i32$2 = $2423$hi; + i64toi32_i32$2 = $2422$hi; + i64toi32_i32$2 = $2421$hi; + $451_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2420$hi; + i64toi32_i32$1 = $2423$hi; + i64toi32_i32$0 = $2422$hi; + $3273($5_1 + 32 | 0 | 0, $451_1 | 0, i64toi32_i32$2 | 0, $2420_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$3 = $5_1 + 40 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $2424_1 = i64toi32_i32$0; + $2424$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $2425_1 = i64toi32_i32$1; + $2425$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2424$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 392 | 0) >> 2] = $2424_1; + HEAP32[($5_1 + 396 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2425$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 384 | 0) >> 2] = $2425_1; + HEAP32[($5_1 + 388 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 588 | 0) >> 2] = (HEAP32[($5_1 + 588 | 0) >> 2] | 0) + 1 | 0; + continue label$121; + } + break label$121; + }; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 392 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 396 | 0) >> 2] | 0; + $2426_1 = i64toi32_i32$0; + $2426$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 384 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + $2427_1 = i64toi32_i32$1; + $2427$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2428_1 = i64toi32_i32$0; + $2428$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $4855$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2428$hi; + i64toi32_i32$0 = $2427$hi; + i64toi32_i32$0 = $2426$hi; + i64toi32_i32$0 = $4855$hi; + $452_1 = i64toi32_i32$1; + i64toi32_i32$1 = $2428$hi; + i64toi32_i32$3 = $2427$hi; + i64toi32_i32$2 = $2426$hi; + $3265($5_1 + 128 | 0 | 0, $452_1 | 0, i64toi32_i32$0 | 0, $2428_1 | 0, i64toi32_i32$1 | 0, $2427_1 | 0, i64toi32_i32$3 | 0, $2426_1 | 0, i64toi32_i32$2 | 0); + i64toi32_i32$1 = $5_1 + 136 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $2430_1 = i64toi32_i32$2; + $2430$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + $2431_1 = i64toi32_i32$3; + $2431$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2430$hi; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 616 | 0) >> 2] = $2430_1; + HEAP32[($5_1 + 620 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $2431$hi; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 608 | 0) >> 2] = $2431_1; + HEAP32[($5_1 + 612 | 0) >> 2] = i64toi32_i32$2; + label$124 : { + label$125 : while (1) { + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2432_1 = i64toi32_i32$2; + $2432$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2433$hi = i64toi32_i32$2; + i64toi32_i32$2 = 1071929240; + $2434$hi = i64toi32_i32$2; + i64toi32_i32$2 = -1610612736; + $2435$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2433$hi; + i64toi32_i32$2 = $2432$hi; + i64toi32_i32$2 = $2435$hi; + i64toi32_i32$2 = $2434$hi; + i64toi32_i32$2 = $2433$hi; + $453_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2432$hi; + i64toi32_i32$1 = $2435$hi; + i64toi32_i32$0 = $2434$hi; + if (!(($3263($453_1 | 0, i64toi32_i32$2 | 0, $2432_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$1 | 0, -299693885 | 0, i64toi32_i32$0 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$124 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2436_1 = i64toi32_i32$0; + $2436$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2437$hi = i64toi32_i32$0; + i64toi32_i32$0 = 1075412344; + $2438$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2439$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2437$hi; + i64toi32_i32$0 = $2436$hi; + i64toi32_i32$0 = $2439$hi; + i64toi32_i32$0 = $2438$hi; + i64toi32_i32$0 = $2437$hi; + $454_1 = i64toi32_i32$1; + i64toi32_i32$1 = $2436$hi; + i64toi32_i32$3 = $2439$hi; + i64toi32_i32$2 = $2438$hi; + $3273($5_1 + 48 | 0 | 0, $454_1 | 0, i64toi32_i32$0 | 0, $2436_1 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$3 | 0, 1073741824 | 0, i64toi32_i32$2 | 0); + i64toi32_i32$1 = $5_1 + 56 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $2440_1 = i64toi32_i32$2; + $2440$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $2441_1 = i64toi32_i32$3; + $2441$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2440$hi; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 616 | 0) >> 2] = $2440_1; + HEAP32[($5_1 + 620 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $2441$hi; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 608 | 0) >> 2] = $2441_1; + HEAP32[($5_1 + 612 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 588 | 0) >> 2] = (HEAP32[($5_1 + 588 | 0) >> 2] | 0) - 8 | 0; + continue label$125; + }; + } + label$126 : { + label$127 : while (1) { + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2442_1 = i64toi32_i32$2; + $2442$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2443$hi = i64toi32_i32$2; + i64toi32_i32$2 = 1073676288; + $2444$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $2445$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2443$hi; + i64toi32_i32$2 = $2442$hi; + i64toi32_i32$2 = $2445$hi; + i64toi32_i32$2 = $2444$hi; + i64toi32_i32$2 = $2443$hi; + $455_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2442$hi; + i64toi32_i32$1 = $2445$hi; + i64toi32_i32$0 = $2444$hi; + if (!(($3263($455_1 | 0, i64toi32_i32$2 | 0, $2442_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$0 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$126 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2446_1 = i64toi32_i32$0; + $2446$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2447$hi = i64toi32_i32$0; + i64toi32_i32$0 = 1073889280; + $2448$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2449$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2447$hi; + i64toi32_i32$0 = $2446$hi; + i64toi32_i32$0 = $2449$hi; + i64toi32_i32$0 = $2448$hi; + i64toi32_i32$0 = $2447$hi; + $456_1 = i64toi32_i32$1; + i64toi32_i32$1 = $2446$hi; + i64toi32_i32$3 = $2449$hi; + i64toi32_i32$2 = $2448$hi; + $3273($5_1 + 64 | 0 | 0, $456_1 | 0, i64toi32_i32$0 | 0, $2446_1 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$2 | 0); + i64toi32_i32$1 = $5_1 + 72 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $2450_1 = i64toi32_i32$2; + $2450$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + $2451_1 = i64toi32_i32$3; + $2451$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2450$hi; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 616 | 0) >> 2] = $2450_1; + HEAP32[($5_1 + 620 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $2451$hi; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 608 | 0) >> 2] = $2451_1; + HEAP32[($5_1 + 612 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 588 | 0) >> 2] = (HEAP32[($5_1 + 588 | 0) >> 2] | 0) + -1 | 0; + continue label$127; + }; + } + label$128 : { + if (!((HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) > (350 | 0) & 1 | 0)) { + break label$128 + } + $1026_1 = 0; + $1029_1 = $5_1 + 480 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1029_1; + HEAP8[($5_1 + 480 | 0) >> 0] = HEAPU8[($5_1 + 641 | 0) >> 0] | 0; + $1032_1 = 24; + $419_1 = 0; + $420_1 = $1029_1 + ((((HEAPU8[($5_1 + 641 | 0) >> 0] | 0) << $1032_1 | 0) >> $1032_1 | 0 | 0) != ($1026_1 | 0) & 1 | 0) | 0; + $421_1 = HEAPU8[($419_1 + 1348 | 0) >> 0] | 0 | ((HEAPU8[($419_1 + 1349 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($419_1 + 1350 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($419_1 + 1351 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$420_1 >> 0] = $421_1; + HEAP8[($420_1 + 1 | 0) >> 0] = $421_1 >>> 8 | 0; + HEAP8[($420_1 + 2 | 0) >> 0] = $421_1 >>> 16 | 0; + HEAP8[($420_1 + 3 | 0) >> 0] = $421_1 >>> 24 | 0; + $1044_1 = 24; + HEAP32[($5_1 + 660 | 0) >> 2] = ((((HEAPU8[($5_1 + 641 | 0) >> 0] | 0) << $1044_1 | 0) >> $1044_1 | 0 | 0) != ($1026_1 | 0) & 1 | 0) + 3 | 0; + break label$4; + } + } + HEAP32[($5_1 + 668 | 0) >> 2] = $5_1 + 480 | 0; + label$129 : { + if (!(((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$129 + } + $3266($5_1 + 96 | 0 | 0, +(+HEAPF64[($5_1 + 568 | 0) >> 3])); + $1068_1 = 8; + i64toi32_i32$1 = ($5_1 + 96 | 0) + $1068_1 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $2452_1 = i64toi32_i32$2; + $2452$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $2453_1 = i64toi32_i32$3; + $2453$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2454_1 = i64toi32_i32$2; + $2454$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $5076$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2454$hi; + i64toi32_i32$2 = $2453$hi; + i64toi32_i32$2 = $2452$hi; + i64toi32_i32$2 = $5076$hi; + $457_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2454$hi; + i64toi32_i32$1 = $2453$hi; + i64toi32_i32$0 = $2452$hi; + $3261($5_1 + 112 | 0 | 0, $457_1 | 0, i64toi32_i32$2 | 0, $2454_1 | 0, i64toi32_i32$3 | 0, $2453_1 | 0, i64toi32_i32$1 | 0, $2452_1 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$3 = ($5_1 + 112 | 0) + $1068_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $2456_1 = i64toi32_i32$0; + $2456$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $2457_1 = i64toi32_i32$1; + $2457$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2456$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 616 | 0) >> 2] = $2456_1; + HEAP32[($5_1 + 620 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2457$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 608 | 0) >> 2] = $2457_1; + HEAP32[($5_1 + 612 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2458_1 = i64toi32_i32$0; + $2458$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2459$hi = i64toi32_i32$0; + i64toi32_i32$0 = 1073889280; + $2460$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2461$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2459$hi; + i64toi32_i32$0 = $2458$hi; + i64toi32_i32$0 = $2461$hi; + i64toi32_i32$0 = $2460$hi; + i64toi32_i32$0 = $2459$hi; + $458_1 = i64toi32_i32$1; + i64toi32_i32$1 = $2458$hi; + i64toi32_i32$3 = $2461$hi; + i64toi32_i32$2 = $2460$hi; + label$130 : { + if (!(($3264($458_1 | 0, i64toi32_i32$0 | 0, $2458_1 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$2 | 0) | 0 | 0) > (-1 | 0) & 1 | 0)) { + break label$130 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2462_1 = i64toi32_i32$2; + $2462$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2463$hi = i64toi32_i32$2; + i64toi32_i32$2 = 1073453465; + $2464$hi = i64toi32_i32$2; + i64toi32_i32$2 = -1610612736; + $2465$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2463$hi; + i64toi32_i32$2 = $2462$hi; + i64toi32_i32$2 = $2465$hi; + i64toi32_i32$2 = $2464$hi; + i64toi32_i32$2 = $2463$hi; + $459_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2462$hi; + i64toi32_i32$1 = $2465$hi; + i64toi32_i32$0 = $2464$hi; + $3273($5_1 + 80 | 0 | 0, $459_1 | 0, i64toi32_i32$2 | 0, $2462_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$1 | 0, -1717986919 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$3 = $5_1 + 88 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $2466_1 = i64toi32_i32$0; + $2466$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $2467_1 = i64toi32_i32$1; + $2467$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2466$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 616 | 0) >> 2] = $2466_1; + HEAP32[($5_1 + 620 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2467$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 608 | 0) >> 2] = $2467_1; + HEAP32[($5_1 + 612 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 588 | 0) >> 2] = (HEAP32[($5_1 + 588 | 0) >> 2] | 0) + 1 | 0; + } + } + label$131 : { + label$132 : { + if (!(((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$132 + } + HEAP8[($5_1 + 566 | 0) >> 0] = (((HEAPU8[($5_1 + 649 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0) & 1 | 0; + label$133 : { + label$134 : { + label$135 : { + if ((HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) < (-4 | 0) & 1 | 0) { + break label$135 + } + if (!((HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$134 + } + } + HEAP8[($5_1 + 643 | 0) >> 0] = 2; + break label$133; + } + HEAP32[($5_1 + 664 | 0) >> 2] = (HEAP32[($5_1 + 664 | 0) >> 2] | 0) - (HEAP32[($5_1 + 588 | 0) >> 2] | 0) | 0; + HEAP8[($5_1 + 643 | 0) >> 0] = 1; + } + break label$131; + } + HEAP8[($5_1 + 566 | 0) >> 0] = HEAPU8[($5_1 + 648 | 0) >> 0] | 0; + } + label$136 : { + label$137 : { + if (!(((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$137 + } + HEAP32[($5_1 + 584 | 0) >> 2] = 0; + break label$136; + } + HEAP32[($5_1 + 584 | 0) >> 2] = HEAP32[($5_1 + 588 | 0) >> 2] | 0; + } + label$138 : { + label$139 : { + if (!((HEAP32[($5_1 + 584 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$139 + } + $1148_1 = HEAP32[($5_1 + 584 | 0) >> 2] | 0; + break label$138; + } + $1148_1 = 0; + } + i64toi32_i32$0 = 0; + $2468_1 = 70; + $2468$hi = i64toi32_i32$0; + i64toi32_i32$1 = $1148_1; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2469$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($5_1 + 664 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2470$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2469$hi; + i64toi32_i32$0 = $2470$hi; + $5264 = i64toi32_i32$1; + i64toi32_i32$0 = $2469$hi; + i64toi32_i32$3 = $1148_1; + i64toi32_i32$1 = $2470$hi; + i64toi32_i32$2 = $5264; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $2471$hi = i64toi32_i32$5; + i64toi32_i32$3 = HEAP32[($5_1 + 652 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $2472$hi = i64toi32_i32$5; + i64toi32_i32$5 = $2471$hi; + i64toi32_i32$5 = $2472$hi; + $5272 = i64toi32_i32$3; + i64toi32_i32$5 = $2471$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$3 = $2472$hi; + i64toi32_i32$2 = $5272; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $2473$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $2474$hi = i64toi32_i32$4; + i64toi32_i32$4 = $2473$hi; + i64toi32_i32$4 = $2474$hi; + i64toi32_i32$4 = $2473$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$0 = $2474$hi; + i64toi32_i32$2 = 15; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 376 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($5_1 + 380 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$4 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 376 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 380 | 0) >> 2] | 0; + $2477$hi = i64toi32_i32$5; + i64toi32_i32$5 = $2468$hi; + i64toi32_i32$5 = $2477$hi; + i64toi32_i32$5 = $2468$hi; + i64toi32_i32$5 = $2477$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $2468$hi; + i64toi32_i32$2 = $2468_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$1 | 0)) { + $426_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$4 >>> 0 <= i64toi32_i32$2 >>> 0) { + $427_1 = 0 + } else { + $427_1 = 1 + } + $428_1 = $427_1; + } else { + $428_1 = 0 + } + $426_1 = $428_1; + } + label$140 : { + if (!($426_1 & 1 | 0)) { + break label$140 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 376 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 380 | 0) >> 2] | 0; + $1161_1 = $53(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($5_1 + 592 | 0) >> 2] = $1161_1; + HEAP32[($5_1 + 668 | 0) >> 2] = $1161_1; + label$141 : { + if (!((HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$141 + } + break label$6; + } + } + $1170_1 = 0; + HEAP32[($5_1 + 600 | 0) >> 2] = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 580 | 0) >> 2] = Math_imul((HEAPU8[($5_1 + 648 | 0) >> 0] | 0) & 255 | 0, 10) + 16 | 0; + HEAP8[($5_1 + 567 | 0) >> 0] = ((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) > ($1170_1 | 0) & 1 | 0 ? 1 : $1170_1) | ((HEAPU8[($5_1 + 649 | 0) >> 0] | 0) & 255 | 0) | 0 | ((HEAPU8[($5_1 + 648 | 0) >> 0] | 0) & 255 | 0) | 0; + label$142 : { + if (!(((HEAPU8[($5_1 + 641 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$142 + } + $1202_1 = HEAPU8[($5_1 + 641 | 0) >> 0] | 0; + $1203_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1203_1 + 1 | 0; + HEAP8[$1203_1 >> 0] = $1202_1; + } + label$143 : { + label$144 : { + if (!((HEAP32[($5_1 + 584 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$144 + } + $1214_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1214_1 + 1 | 0; + HEAP8[$1214_1 >> 0] = 48; + break label$143; + } + label$145 : { + label$146 : while (1) { + if (!((HEAP32[($5_1 + 584 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$145 + } + $1230_1 = $56($5_1 + 608 | 0 | 0, $5_1 + 580 | 0 | 0) | 0; + $1231_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1231_1 + 1 | 0; + HEAP8[$1231_1 >> 0] = $1230_1; + HEAP32[($5_1 + 584 | 0) >> 2] = (HEAP32[($5_1 + 584 | 0) >> 2] | 0) + -1 | 0; + continue label$146; + }; + } + } + label$147 : { + if (!(((HEAPU8[($5_1 + 567 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$147 + } + $1247_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1247_1 + 1 | 0; + HEAP8[$1247_1 >> 0] = 46; + } + HEAP32[($5_1 + 584 | 0) >> 2] = (HEAP32[($5_1 + 584 | 0) >> 2] | 0) + 1 | 0; + label$148 : { + label$149 : while (1) { + if (!((HEAP32[($5_1 + 584 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$148 + } + $1261_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1261_1 + 1 | 0; + HEAP8[$1261_1 >> 0] = 48; + HEAP32[($5_1 + 664 | 0) >> 2] = (HEAP32[($5_1 + 664 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 584 | 0) >> 2] = (HEAP32[($5_1 + 584 | 0) >> 2] | 0) + 1 | 0; + continue label$149; + }; + } + label$150 : { + label$151 : while (1) { + $1271_1 = HEAP32[($5_1 + 664 | 0) >> 2] | 0; + HEAP32[($5_1 + 664 | 0) >> 2] = $1271_1 + -1 | 0; + if (!(($1271_1 | 0) > (0 | 0) & 1 | 0)) { + break label$150 + } + $1285_1 = $56($5_1 + 608 | 0 | 0, $5_1 + 580 | 0 | 0) | 0; + $1286_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1286_1 + 1 | 0; + HEAP8[$1286_1 >> 0] = $1285_1; + continue label$151; + }; + } + label$152 : { + if (!((HEAPU8[($5_1 + 566 | 0) >> 0] | 0) & 255 | 0)) { + break label$152 + } + if (!((HEAPU8[($5_1 + 567 | 0) >> 0] | 0) & 255 | 0)) { + break label$152 + } + label$153 : { + label$154 : while (1) { + $1300_1 = 24; + if (!((((HEAPU8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0) >> 0] | 0) << $1300_1 | 0) >> $1300_1 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$153 + } + $1311_1 = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1311_1; + HEAP8[$1311_1 >> 0] = 0; + continue label$154; + }; + } + $1317_1 = 24; + label$155 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0) >> 0] | 0) << $1317_1 | 0) >> $1317_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$155 + } + label$156 : { + label$157 : { + if (!(((HEAPU8[($5_1 + 648 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$157 + } + $1335_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1335_1 + 1 | 0; + HEAP8[$1335_1 >> 0] = 48; + break label$156; + } + $1341_1 = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1341_1; + HEAP8[$1341_1 >> 0] = 0; + } + } + } + label$158 : { + if (!(((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$158 + } + $1356_1 = HEAPU8[(((HEAPU8[((HEAP32[($5_1 + 604 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) + 1216 | 0) >> 0] | 0; + $1357_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1357_1 + 1 | 0; + HEAP8[$1357_1 >> 0] = $1356_1; + label$159 : { + label$160 : { + if (!((HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$160 + } + $1368_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1368_1 + 1 | 0; + HEAP8[$1368_1 >> 0] = 45; + HEAP32[($5_1 + 588 | 0) >> 2] = 0 - (HEAP32[($5_1 + 588 | 0) >> 2] | 0) | 0; + break label$159; + } + $1374_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1374_1 + 1 | 0; + HEAP8[$1374_1 >> 0] = 43; + } + label$161 : { + if (!((HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) >= (100 | 0) & 1 | 0)) { + break label$161 + } + $1388_1 = ((HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) / (100 | 0) | 0) + 48 | 0; + $1389_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1389_1 + 1 | 0; + HEAP8[$1389_1 >> 0] = $1388_1; + HEAP32[($5_1 + 588 | 0) >> 2] = (HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) % (100 | 0) | 0; + } + $1399_1 = ((HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) / (10 | 0) | 0) + 48 | 0; + $1400_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1400_1 + 1 | 0; + HEAP8[$1400_1 >> 0] = $1399_1; + $1407_1 = ((HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) % (10 | 0) | 0) + 48 | 0; + $1408_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1408_1 + 1 | 0; + HEAP8[$1408_1 >> 0] = $1407_1; + } + HEAP8[(HEAP32[($5_1 + 668 | 0) >> 2] | 0) >> 0] = 0; + HEAP32[($5_1 + 660 | 0) >> 2] = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) - (HEAP32[($5_1 + 600 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = HEAP32[($5_1 + 600 | 0) >> 2] | 0; + label$162 : { + if (!((HEAPU8[($5_1 + 647 | 0) >> 0] | 0) & 255 | 0)) { + break label$162 + } + if (((HEAPU8[($5_1 + 651 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$162 + } + if (!((HEAP32[($5_1 + 660 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$162 + } + HEAP32[($5_1 + 368 | 0) >> 2] = (HEAP32[($5_1 + 652 | 0) >> 2] | 0) - (HEAP32[($5_1 + 660 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 372 | 0) >> 2] = HEAP32[($5_1 + 652 | 0) >> 2] | 0; + label$163 : { + label$164 : while (1) { + if (!((HEAP32[($5_1 + 372 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 368 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$163 + } + HEAP8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + (HEAP32[($5_1 + 372 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 372 | 0) >> 2] | 0) - (HEAP32[($5_1 + 368 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0; + HEAP32[($5_1 + 372 | 0) >> 2] = (HEAP32[($5_1 + 372 | 0) >> 2] | 0) + -1 | 0; + continue label$164; + }; + } + $1461_1 = 24; + HEAP32[($5_1 + 372 | 0) >> 2] = (((HEAPU8[($5_1 + 641 | 0) >> 0] | 0) << $1461_1 | 0) >> $1461_1 | 0 | 0) != (0 | 0) & 1 | 0; + label$165 : { + label$166 : while (1) { + $1469_1 = HEAP32[($5_1 + 368 | 0) >> 2] | 0; + HEAP32[($5_1 + 368 | 0) >> 2] = $1469_1 + -1 | 0; + if (!$1469_1) { + break label$165 + } + $1473_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + $1474_1 = HEAP32[($5_1 + 372 | 0) >> 2] | 0; + HEAP32[($5_1 + 372 | 0) >> 2] = $1474_1 + 1 | 0; + HEAP8[($1473_1 + $1474_1 | 0) >> 0] = 48; + continue label$166; + }; + } + HEAP32[($5_1 + 660 | 0) >> 2] = HEAP32[($5_1 + 652 | 0) >> 2] | 0; + } + break label$4; + case 4: + label$167 : { + if (((HEAPU8[($5_1 + 642 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$167 + } + $1489_1 = HEAP32[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $1490_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $1490_1 + 4 | 0; + HEAP32[(HEAP32[$1490_1 >> 2] | 0) >> 2] = $1489_1; + } + $1494_1 = 0; + HEAP32[($5_1 + 652 | 0) >> 2] = $1494_1; + HEAP32[($5_1 + 660 | 0) >> 2] = $1494_1; + break label$4; + case 7: + HEAP8[($5_1 + 480 | 0) >> 0] = 37; + HEAP32[($5_1 + 668 | 0) >> 2] = $5_1 + 480 | 0; + HEAP32[($5_1 + 660 | 0) >> 2] = 1; + break label$4; + case 8: + label$168 : { + label$169 : { + if (!(((HEAPU8[($5_1 + 642 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$169 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $57(HEAP32[($5_1 + 560 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 668 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 660 | 0) >> 2] = 1; + label$170 : { + label$171 : { + if (!((HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$171 + } + $1520_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1520_1 + 1 | 0; + $1524_1 = 24; + $1526_1 = ((HEAPU8[$1520_1 >> 0] | 0) << $1524_1 | 0) >> $1524_1 | 0; + HEAP32[($5_1 + 672 | 0) >> 2] = $1526_1; + HEAP8[($5_1 + 480 | 0) >> 0] = $1526_1; + label$172 : { + if (!(((HEAP32[($5_1 + 672 | 0) >> 2] | 0) & 192 | 0 | 0) == (192 | 0) & 1 | 0)) { + break label$172 + } + label$173 : while (1) { + $1543_1 = 0; + label$174 : { + if (!((HEAP32[($5_1 + 660 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$174 + } + $1547_1 = 24; + $1543_1 = ((((HEAPU8[(HEAP32[($5_1 + 668 | 0) >> 2] | 0) >> 0] | 0) << $1547_1 | 0) >> $1547_1 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$175 : { + if (!($1543_1 & 1 | 0)) { + break label$175 + } + $1561_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1561_1 + 1 | 0; + $1564_1 = HEAPU8[$1561_1 >> 0] | 0; + $1565_1 = HEAP32[($5_1 + 660 | 0) >> 2] | 0; + HEAP32[($5_1 + 660 | 0) >> 2] = $1565_1 + 1 | 0; + HEAP8[(($5_1 + 480 | 0) + $1565_1 | 0) >> 0] = $1564_1; + continue label$173; + } + break label$173; + }; + } + break label$170; + } + HEAP8[($5_1 + 480 | 0) >> 0] = 0; + } + break label$168; + } + $1571_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $1571_1 + 4 | 0; + HEAP32[($5_1 + 364 | 0) >> 2] = HEAP32[$1571_1 >> 2] | 0; + label$176 : { + label$177 : { + if (!((HEAP32[($5_1 + 364 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$177 + } + HEAP8[($5_1 + 480 | 0) >> 0] = (HEAP32[($5_1 + 364 | 0) >> 2] | 0) & 255 | 0; + HEAP32[($5_1 + 660 | 0) >> 2] = 1; + break label$176; + } + label$178 : { + label$179 : { + if (!((HEAP32[($5_1 + 364 | 0) >> 2] | 0) >>> 0 < 2048 >>> 0 & 1 | 0)) { + break label$179 + } + HEAP8[($5_1 + 480 | 0) >> 0] = ((((HEAP32[($5_1 + 364 | 0) >> 2] | 0) >>> 6 | 0) & 31 | 0) & 255 | 0) + 192 | 0; + HEAP8[($5_1 + 481 | 0) >> 0] = (((HEAP32[($5_1 + 364 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + HEAP32[($5_1 + 660 | 0) >> 2] = 2; + break label$178; + } + label$180 : { + label$181 : { + if (!((HEAP32[($5_1 + 364 | 0) >> 2] | 0) >>> 0 < 65536 >>> 0 & 1 | 0)) { + break label$181 + } + HEAP8[($5_1 + 480 | 0) >> 0] = ((((HEAP32[($5_1 + 364 | 0) >> 2] | 0) >>> 12 | 0) & 15 | 0) & 255 | 0) + 224 | 0; + HEAP8[($5_1 + 481 | 0) >> 0] = ((((HEAP32[($5_1 + 364 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + HEAP8[($5_1 + 482 | 0) >> 0] = (((HEAP32[($5_1 + 364 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + HEAP32[($5_1 + 660 | 0) >> 2] = 3; + break label$180; + } + HEAP8[($5_1 + 480 | 0) >> 0] = ((((HEAP32[($5_1 + 364 | 0) >> 2] | 0) >>> 18 | 0) & 7 | 0) & 255 | 0) + 240 | 0; + HEAP8[($5_1 + 481 | 0) >> 0] = ((((HEAP32[($5_1 + 364 | 0) >> 2] | 0) >>> 12 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + HEAP8[($5_1 + 482 | 0) >> 0] = ((((HEAP32[($5_1 + 364 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + HEAP8[($5_1 + 483 | 0) >> 0] = (((HEAP32[($5_1 + 364 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + HEAP32[($5_1 + 660 | 0) >> 2] = 4; + } + } + } + } + label$182 : { + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$182 + } + HEAP32[($5_1 + 652 | 0) >> 2] = (HEAP32[($5_1 + 652 | 0) >> 2] | 0) - ((HEAP32[($5_1 + 664 | 0) >> 2] | 0) - 1 | 0) | 0; + label$183 : { + if (!((HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$183 + } + if (((HEAPU8[($5_1 + 651 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$183 + } + $1711_1 = 24; + $58(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 652 | 0) >> 2] | 0) - 1 | 0 | 0, (32 << $1711_1 | 0) >> $1711_1 | 0 | 0); + HEAP32[($5_1 + 652 | 0) >> 2] = 0; + } + label$184 : { + label$185 : while (1) { + $1715_1 = HEAP32[($5_1 + 664 | 0) >> 2] | 0; + HEAP32[($5_1 + 664 | 0) >> 2] = $1715_1 + -1 | 0; + if (!(($1715_1 | 0) > (1 | 0) & 1 | 0)) { + break label$184 + } + $51(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, $5_1 + 480 | 0 | 0, HEAP32[($5_1 + 660 | 0) >> 2] | 0 | 0); + continue label$185; + }; + } + } + HEAP32[($5_1 + 668 | 0) >> 2] = $5_1 + 480 | 0; + HEAP8[($5_1 + 648 | 0) >> 0] = 1; + break label$5; + case 5: + case 6: + label$186 : { + label$187 : { + if (!(((HEAPU8[($5_1 + 642 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$187 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $57(HEAP32[($5_1 + 560 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 668 | 0) >> 2] = wasm2js_i32$1; + HEAP8[($5_1 + 643 | 0) >> 0] = 5; + break label$186; + } + $1744_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $1744_1 + 4 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = HEAP32[$1744_1 >> 2] | 0; + } + label$188 : { + label$189 : { + if (!((HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$189 + } + HEAP32[($5_1 + 668 | 0) >> 2] = 1352; + break label$188; + } + label$190 : { + if (!(((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$190 + } + label$191 : { + if (HEAP32[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) { + break label$191 + } + if (!(HEAP32[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$191 + } + if (HEAP32[($5_1 + 652 | 0) >> 2] | 0) { + break label$191 + } + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$191 + } + if ((HEAPU8[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) { + break label$191 + } + HEAP32[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + $1787_1 = $59(HEAP32[(HEAP32[($5_1 + 684 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 8 | 0) >> 2] = $1787_1; + $1792_1 = ($3303(HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0) | 0) & 2147483647 | 0; + HEAP32[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 16 | 0) >> 2] = $1792_1; + $1794_1 = HEAP32[($5_1 + 684 | 0) >> 2] | 0; + HEAP8[($1794_1 + 21 | 0) >> 0] = (HEAPU8[($1794_1 + 21 | 0) >> 0] | 0) & 255 | 0 | 4 | 0; + HEAP32[($5_1 + 660 | 0) >> 2] = 0; + break label$4; + } + HEAP32[($5_1 + 592 | 0) >> 2] = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + } + } + label$192 : { + label$193 : { + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$193 + } + label$194 : { + label$195 : { + if (!(((HEAPU8[($5_1 + 648 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$195 + } + HEAP32[($5_1 + 360 | 0) >> 2] = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + label$196 : while (1) { + $1820_1 = HEAP32[($5_1 + 664 | 0) >> 2] | 0; + HEAP32[($5_1 + 664 | 0) >> 2] = $1820_1 + -1 | 0; + $1828_1 = 0; + label$197 : { + if (!(($1820_1 | 0) > (0 | 0) & 1 | 0)) { + break label$197 + } + $1828_1 = ((HEAPU8[(HEAP32[($5_1 + 360 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + label$198 : { + if (!($1828_1 & 1 | 0)) { + break label$198 + } + $1841_1 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + HEAP32[($5_1 + 360 | 0) >> 2] = $1841_1 + 1 | 0; + label$199 : { + if (!(((HEAPU8[$1841_1 >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$199 + } + label$200 : { + label$201 : while (1) { + if (!((((HEAPU8[(HEAP32[($5_1 + 360 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$200 + } + HEAP32[($5_1 + 360 | 0) >> 2] = (HEAP32[($5_1 + 360 | 0) >> 2] | 0) + 1 | 0; + continue label$201; + }; + } + } + continue label$196; + } + break label$196; + }; + HEAP32[($5_1 + 660 | 0) >> 2] = (HEAP32[($5_1 + 360 | 0) >> 2] | 0) - (HEAP32[($5_1 + 668 | 0) >> 2] | 0) | 0; + break label$194; + } + HEAP32[($5_1 + 660 | 0) >> 2] = 0; + label$202 : while (1) { + $1879_1 = 0; + label$203 : { + if (!((HEAP32[($5_1 + 660 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$203 + } + $1885_1 = 24; + $1879_1 = (((HEAPU8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + (HEAP32[($5_1 + 660 | 0) >> 2] | 0) | 0) >> 0] | 0) << $1885_1 | 0) >> $1885_1 | 0 | 0) != (0 | 0); + } + label$204 : { + if (!($1879_1 & 1 | 0)) { + break label$204 + } + HEAP32[($5_1 + 660 | 0) >> 2] = (HEAP32[($5_1 + 660 | 0) >> 2] | 0) + 1 | 0; + continue label$202; + } + break label$202; + }; + } + break label$192; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($3303(HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0) | 0) & 2147483647 | 0), HEAP32[(wasm2js_i32$0 + 660 | 0) >> 2] = wasm2js_i32$1; + } + break label$5; + case 9: + case 10: + case 14: + HEAP8[($5_1 + 330 | 0) >> 0] = ((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (14 | 0) & 1 | 0 ? 34 : 39; + label$205 : { + label$206 : { + if (!(((HEAPU8[($5_1 + 642 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$206 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $57(HEAP32[($5_1 + 560 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 324 | 0) >> 2] = wasm2js_i32$1; + break label$205; + } + $1924_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $1924_1 + 4 | 0; + HEAP32[($5_1 + 324 | 0) >> 2] = HEAP32[$1924_1 >> 2] | 0; + } + HEAP32[($5_1 + 336 | 0) >> 2] = (HEAP32[($5_1 + 324 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0; + label$207 : { + if (!(HEAP32[($5_1 + 336 | 0) >> 2] | 0)) { + break label$207 + } + HEAP32[($5_1 + 324 | 0) >> 2] = ((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (10 | 0) & 1 | 0 ? 1353 : 1358; + } + $1948_1 = 0; + HEAP32[($5_1 + 344 | 0) >> 2] = HEAP32[($5_1 + 664 | 0) >> 2] | 0; + HEAP32[($5_1 + 340 | 0) >> 2] = $1948_1; + HEAP32[($5_1 + 352 | 0) >> 2] = $1948_1; + label$208 : while (1) { + $1952_1 = 0; + label$209 : { + if (!(HEAP32[($5_1 + 344 | 0) >> 2] | 0)) { + break label$209 + } + $1957_1 = HEAPU8[((HEAP32[($5_1 + 324 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($5_1 + 331 | 0) >> 0] = $1957_1; + $1958_1 = 24; + $1952_1 = (($1957_1 << $1958_1 | 0) >> $1958_1 | 0 | 0) != (0 | 0); + } + label$210 : { + if (!($1952_1 & 1 | 0)) { + break label$210 + } + $1968_1 = 24; + $1972_1 = 24; + label$211 : { + if (!((((HEAPU8[($5_1 + 331 | 0) >> 0] | 0) << $1968_1 | 0) >> $1968_1 | 0 | 0) == (((HEAPU8[($5_1 + 330 | 0) >> 0] | 0) << $1972_1 | 0) >> $1972_1 | 0 | 0) & 1 | 0)) { + break label$211 + } + HEAP32[($5_1 + 340 | 0) >> 2] = (HEAP32[($5_1 + 340 | 0) >> 2] | 0) + 1 | 0; + } + label$212 : { + if (!((HEAPU8[($5_1 + 648 | 0) >> 0] | 0) & 255 | 0)) { + break label$212 + } + $1988_1 = 24; + if (!(((((HEAPU8[($5_1 + 331 | 0) >> 0] | 0) << $1988_1 | 0) >> $1988_1 | 0) & 192 | 0 | 0) == (192 | 0) & 1 | 0)) { + break label$212 + } + label$213 : { + label$214 : while (1) { + $2005_1 = 24; + if (!(((((HEAPU8[((HEAP32[($5_1 + 324 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $2005_1 | 0) >> $2005_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$213 + } + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 1 | 0; + continue label$214; + }; + } + } + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 344 | 0) >> 2] = (HEAP32[($5_1 + 344 | 0) >> 2] | 0) + -1 | 0; + continue label$208; + } + break label$208; + }; + $2026_1 = 0; + label$215 : { + if (HEAP32[($5_1 + 336 | 0) >> 2] | 0) { + break label$215 + } + $2026_1 = ((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (10 | 0); + } + HEAP32[($5_1 + 332 | 0) >> 2] = $2026_1 & 1 | 0; + HEAP32[($5_1 + 340 | 0) >> 2] = (HEAP32[($5_1 + 340 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 3 | 0) | 0; + label$216 : { + label$217 : { + if (!((HEAP32[($5_1 + 340 | 0) >> 2] | 0 | 0) > (70 | 0) & 1 | 0)) { + break label$217 + } + i64toi32_i32$4 = HEAP32[($5_1 + 340 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$4 >> 31 | 0; + $2053_1 = $53(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($5_1 + 592 | 0) >> 2] = $2053_1; + HEAP32[($5_1 + 668 | 0) >> 2] = $2053_1; + label$218 : { + if (!((HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$218 + } + break label$6; + } + break label$216; + } + HEAP32[($5_1 + 668 | 0) >> 2] = $5_1 + 480 | 0; + } + HEAP32[($5_1 + 348 | 0) >> 2] = 0; + label$219 : { + if (!(HEAP32[($5_1 + 332 | 0) >> 2] | 0)) { + break label$219 + } + $2065_1 = HEAPU8[($5_1 + 330 | 0) >> 0] | 0; + $2066_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + $2067_1 = HEAP32[($5_1 + 348 | 0) >> 2] | 0; + HEAP32[($5_1 + 348 | 0) >> 2] = $2067_1 + 1 | 0; + HEAP8[($2066_1 + $2067_1 | 0) >> 0] = $2065_1; + } + HEAP32[($5_1 + 344 | 0) >> 2] = HEAP32[($5_1 + 352 | 0) >> 2] | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = 0; + label$220 : { + label$221 : while (1) { + if (!((HEAP32[($5_1 + 352 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 344 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$220 + } + $2083_1 = HEAPU8[((HEAP32[($5_1 + 324 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($5_1 + 331 | 0) >> 0] = $2083_1; + $2084_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + $2085_1 = HEAP32[($5_1 + 348 | 0) >> 2] | 0; + HEAP32[($5_1 + 348 | 0) >> 2] = $2085_1 + 1 | 0; + HEAP8[($2084_1 + $2085_1 | 0) >> 0] = $2083_1; + $2090_1 = 24; + $2094_1 = 24; + label$222 : { + if (!((((HEAPU8[($5_1 + 331 | 0) >> 0] | 0) << $2090_1 | 0) >> $2090_1 | 0 | 0) == (((HEAPU8[($5_1 + 330 | 0) >> 0] | 0) << $2094_1 | 0) >> $2094_1 | 0 | 0) & 1 | 0)) { + break label$222 + } + $2102_1 = HEAPU8[($5_1 + 331 | 0) >> 0] | 0; + $2103_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + $2104_1 = HEAP32[($5_1 + 348 | 0) >> 2] | 0; + HEAP32[($5_1 + 348 | 0) >> 2] = $2104_1 + 1 | 0; + HEAP8[($2103_1 + $2104_1 | 0) >> 0] = $2102_1; + } + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 1 | 0; + continue label$221; + }; + } + label$223 : { + if (!(HEAP32[($5_1 + 332 | 0) >> 2] | 0)) { + break label$223 + } + $2112_1 = HEAPU8[($5_1 + 330 | 0) >> 0] | 0; + $2113_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + $2114_1 = HEAP32[($5_1 + 348 | 0) >> 2] | 0; + HEAP32[($5_1 + 348 | 0) >> 2] = $2114_1 + 1 | 0; + HEAP8[($2113_1 + $2114_1 | 0) >> 0] = $2112_1; + } + HEAP8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + (HEAP32[($5_1 + 348 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($5_1 + 660 | 0) >> 2] = HEAP32[($5_1 + 348 | 0) >> 2] | 0; + break label$5; + case 11: + label$224 : { + if (((HEAPU8[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$224 + } + break label$6; + } + $2130_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $2130_1 + 4 | 0; + HEAP32[($5_1 + 320 | 0) >> 2] = HEAP32[$2130_1 >> 2] | 0; + label$225 : { + if (!((HEAP32[($5_1 + 320 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$225 + } + if (!(HEAP32[((HEAP32[($5_1 + 320 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$225 + } + $51(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 320 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 320 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + $2147_1 = 0; + HEAP32[($5_1 + 652 | 0) >> 2] = $2147_1; + HEAP32[($5_1 + 660 | 0) >> 2] = $2147_1; + break label$4; + case 12: + label$226 : { + if (((HEAPU8[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$226 + } + break label$6; + } + $2155_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $2155_1 + 4 | 0; + HEAP32[($5_1 + 316 | 0) >> 2] = HEAP32[$2155_1 >> 2] | 0; + $2159_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $2159_1 + 4 | 0; + HEAP32[($5_1 + 312 | 0) >> 2] = HEAP32[$2159_1 >> 2] | 0; + HEAP32[($5_1 + 308 | 0) >> 2] = ((HEAP32[($5_1 + 316 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 312 | 0) >> 2] | 0, 72) | 0; + label$227 : { + if (!((HEAP32[((HEAP32[($5_1 + 308 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$227 + } + $60(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 308 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $51(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, 1365 | 0, 1 | 0); + } + $2183_1 = 0; + $60(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 308 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 652 | 0) >> 2] = $2183_1; + HEAP32[($5_1 + 660 | 0) >> 2] = $2183_1; + break label$4; + default: + break label$54; + }; + } + } + global$0 = $5_1 + 688 | 0; + return; + } + label$228 : { + if (!((HEAPU8[($5_1 + 648 | 0) >> 0] | 0) & 255 | 0)) { + break label$228 + } + if (!((HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$228 + } + HEAP32[($5_1 + 356 | 0) >> 2] = (HEAP32[($5_1 + 660 | 0) >> 2] | 0) - 1 | 0; + label$229 : { + label$230 : while (1) { + if (!((HEAP32[($5_1 + 356 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$229 + } + $2210_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + $2211_1 = HEAP32[($5_1 + 356 | 0) >> 2] | 0; + HEAP32[($5_1 + 356 | 0) >> 2] = $2211_1 + -1 | 0; + $2216_1 = 24; + label$231 : { + if (!(((((HEAPU8[($2210_1 + $2211_1 | 0) >> 0] | 0) << $2216_1 | 0) >> $2216_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$231 + } + HEAP32[($5_1 + 652 | 0) >> 2] = (HEAP32[($5_1 + 652 | 0) >> 2] | 0) + 1 | 0; + } + continue label$230; + }; + } + } + } + HEAP32[($5_1 + 652 | 0) >> 2] = (HEAP32[($5_1 + 652 | 0) >> 2] | 0) - (HEAP32[($5_1 + 660 | 0) >> 2] | 0) | 0; + label$232 : { + label$233 : { + if (!((HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$233 + } + label$234 : { + if (((HEAPU8[($5_1 + 651 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$234 + } + $2251_1 = 24; + $58(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0, (32 << $2251_1 | 0) >> $2251_1 | 0 | 0); + } + $51(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 660 | 0) >> 2] | 0 | 0); + label$235 : { + if (!(((HEAPU8[($5_1 + 651 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$235 + } + $2269_1 = 24; + $58(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0, (32 << $2269_1 | 0) >> $2269_1 | 0 | 0); + } + break label$232; + } + $51(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 660 | 0) >> 2] | 0 | 0); + } + label$236 : { + if (!((HEAP32[($5_1 + 592 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$236 + } + $13(HEAP32[(HEAP32[($5_1 + 684 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 592 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 592 | 0) >> 2] = 0; + } + HEAP32[($5_1 + 680 | 0) >> 2] = (HEAP32[($5_1 + 680 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + + function $51($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $22_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $61(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + break label$1; + } + label$3 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$3 + } + $22_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($22_1 + 16 | 0) >> 2] = (HEAP32[($22_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0; + $3288((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0) | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $52($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15_1 = 0, $16_1 = 0, $14_1 = 0, $79_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + $14_1 = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $15_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $16_1 = HEAP32[($15_1 + 4 | 0) >> 2] | 0; + HEAP32[($15_1 + 4 | 0) >> 2] = $16_1 + 1 | 0; + i64toi32_i32$0 = $62(HEAP32[($14_1 + ($16_1 << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $79_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $79_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $53($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $51$hi = 0, $52$hi = 0, $55$hi = 0, $56$hi = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $52$hi = i64toi32_i32$1; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$3 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + label$3 : { + if (!($13_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $55$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $56$hi = i64toi32_i32$1; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $56$hi; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $16_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $17_1 = 0 + } else { + $17_1 = 1 + } + $18_1 = $17_1; + } else { + $18_1 = 0 + } + $16_1 = $18_1; + } + if (!($16_1 & 1 | 0)) { + break label$3 + } + $63(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 18 & 255 | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $64(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $63(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 7 & 255 | 0 | 0); + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + $48_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $48_1 | 0; + } + + function $54($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0, $17_1 = 0, $15_1 = 0, $28_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAPF64[($3_1 + 8 | 0) >> 3] = +(0 | 0); + break label$1; + } + $15_1 = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $16_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $17_1 = HEAP32[($16_1 + 4 | 0) >> 2] | 0; + HEAP32[($16_1 + 4 | 0) >> 2] = $17_1 + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_f64$0 = +$65(HEAP32[($15_1 + ($17_1 << 2 | 0) | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + } + $28_1 = +HEAPF64[($3_1 + 8 | 0) >> 3]; + global$0 = $3_1 + 16 | 0; + return +$28_1; + } + + function $55($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $3_1 = 0, $17$hi = 0, $24$hi = 0, $19$hi = 0, $20$hi = 0, $22$hi = 0, $12_1 = 0, $25$hi = 0, $26$hi = 0, $28$hi = 0, $44_1 = 0; + $3_1 = global$0 - 16 | 0; + i64toi32_i32$0 = 2146435072; + $17$hi = i64toi32_i32$0; + HEAPF64[($3_1 + 8 | 0) >> 3] = $0_1; + i64toi32_i32$2 = $3_1 + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $44_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[i64toi32_i32$0 >> 2] = $44_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $19$hi = i64toi32_i32$0; + i64toi32_i32$0 = 2146435072; + $20$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $22$hi = i64toi32_i32$1; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$3 = 0; + $12_1 = 0; + label$1 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $24$hi = i64toi32_i32$0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $25$hi = i64toi32_i32$1; + i64toi32_i32$1 = 1048575; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$2 = -1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $28$hi = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $24$hi; + i64toi32_i32$2 = 0; + $12_1 = (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | 0; + } + return $12_1 & 1 | 0 | 0; + } + + function $56($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $31_1 = 0, $14_1 = 0, $18_1 = 0, $46$hi = 0, $32_1 = 0, $50$hi = 0, $51$hi = 0, $52$hi = 0, $53$hi = 0, $54$hi = 0, $55$hi = 0, $56$hi = 0, $57$hi = 0, $41_1 = 0, $46_1 = 0, $103$hi = 0, $38_1 = 0, $48_1 = 0, $48$hi = 0, $49_1 = 0, $49$hi = 0, $50_1 = 0, $51_1 = 0, $52_1 = 0, $155_1 = 0, $54_1 = 0, $39_1 = 0, $58_1 = 0, $58$hi = 0, $59_1 = 0, $59$hi = 0, $43_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($4_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($4_1 + 79 | 0) >> 0] = 48; + break label$1; + } + $14_1 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + HEAP32[$14_1 >> 2] = (HEAP32[$14_1 >> 2] | 0) + -1 | 0; + $18_1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + $19_1 = 8; + i64toi32_i32$2 = $18_1 + $19_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $46_1 = i64toi32_i32$0; + $46$hi = i64toi32_i32$1; + i64toi32_i32$2 = $18_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $103$hi = i64toi32_i32$0; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$0 = $103$hi; + $38_1 = i64toi32_i32$1; + i64toi32_i32$1 = $46$hi; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3267($38_1 | 0, i64toi32_i32$0 | 0, $46_1 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + $3269($4_1 + 32 | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = ($4_1 + 32 | 0) + $19_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $48_1 = i64toi32_i32$1; + $48$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $49_1 = i64toi32_i32$0; + $49$hi = i64toi32_i32$1; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] = $48_1; + HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $49$hi; + HEAP32[(i64toi32_i32$0 + 48 | 0) >> 2] = $49_1; + HEAP32[(i64toi32_i32$0 + 52 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] = (HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] | 0) + 48 | 0; + $31_1 = HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] | 0; + $32_1 = $31_1 + $19_1 | 0; + i64toi32_i32$2 = $32_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $50_1 = i64toi32_i32$1; + $50$hi = i64toi32_i32$0; + i64toi32_i32$2 = $31_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $51_1 = i64toi32_i32$0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $52_1 = i64toi32_i32$1; + $52$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $53$hi = i64toi32_i32$1; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $53$hi; + $155_1 = i64toi32_i32$0; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$2 = $53$hi; + i64toi32_i32$3 = $52$hi; + $3275($4_1 + 16 | 0 | 0, $51_1 | 0, i64toi32_i32$1 | 0, $50_1 | 0, i64toi32_i32$0 | 0, $155_1 | 0, i64toi32_i32$2 | 0, $52_1 | 0, i64toi32_i32$3 | 0); + i64toi32_i32$0 = ($4_1 + 16 | 0) + $19_1 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $54_1 = i64toi32_i32$3; + $54$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $55$hi = i64toi32_i32$3; + i64toi32_i32$3 = 1073889280; + $56$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $57$hi = i64toi32_i32$3; + i64toi32_i32$3 = $55$hi; + i64toi32_i32$3 = $54$hi; + i64toi32_i32$3 = $57$hi; + i64toi32_i32$3 = $56$hi; + i64toi32_i32$3 = $55$hi; + $39_1 = i64toi32_i32$2; + i64toi32_i32$2 = $54$hi; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$1 = $56$hi; + $3273($4_1 | 0, $39_1 | 0, i64toi32_i32$3 | 0, $54_1 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$2 = $4_1 + $19_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $58_1 = i64toi32_i32$1; + $58$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $59_1 = i64toi32_i32$0; + $59$hi = i64toi32_i32$1; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$0 = $32_1; + HEAP32[i64toi32_i32$0 >> 2] = $58_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$0 = $31_1; + HEAP32[i64toi32_i32$0 >> 2] = $59_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP8[($4_1 + 79 | 0) >> 0] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + } + $41_1 = 24; + $43_1 = ((HEAPU8[($4_1 + 79 | 0) >> 0] | 0) << $41_1 | 0) >> $41_1 | 0; + global$0 = $4_1 + 80 | 0; + return $43_1 | 0; + } + + function $57($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0, $17_1 = 0, $15_1 = 0, $25_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $15_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $16_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $17_1 = HEAP32[($16_1 + 4 | 0) >> 2] | 0; + HEAP32[($16_1 + 4 | 0) >> 2] = $17_1 + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $66(HEAP32[($15_1 + ($17_1 << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $25_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $25_1 | 0; + } + + function $58($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $48$hi = 0, i64toi32_i32$2 = 0, $47$hi = 0, $45$hi = 0, $46$hi = 0, i64toi32_i32$4 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $20_1 = 0, $27_1 = 0, $38_1 = 0, $39_1 = 0, $75_1 = 0, $35_1 = 0, $37_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 7 | 0) >> 0] = $2_1; + i64toi32_i32$0 = 0; + $45$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $46$hi = i64toi32_i32$0; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $46$hi; + $75_1 = i64toi32_i32$1; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$3 = $75_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $47$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $48$hi = i64toi32_i32$5; + i64toi32_i32$5 = $47$hi; + i64toi32_i32$5 = $48$hi; + i64toi32_i32$5 = $47$hi; + i64toi32_i32$5 = $48$hi; + i64toi32_i32$5 = $47$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$3 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + if ((i64toi32_i32$5 | 0) > ($48$hi | 0)) { + $21_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + $22_1 = 0 + } else { + $22_1 = 1 + } + $23_1 = $22_1; + } else { + $23_1 = 0 + } + $21_1 = $23_1; + } + label$1 : { + label$2 : { + if (!($21_1 & 1 | 0)) { + break label$2 + } + $20_1 = $67(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $20_1; + if (!(($20_1 | 0) <= (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : while (1) { + $27_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $27_1 + -1 | 0; + if (!(($27_1 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $35_1 = HEAPU8[($5_1 + 7 | 0) >> 0] | 0; + $37_1 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $38_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $39_1 = HEAP32[($38_1 + 16 | 0) >> 2] | 0; + HEAP32[($38_1 + 16 | 0) >> 2] = $39_1 + 1 | 0; + HEAP8[($37_1 + $39_1 | 0) >> 0] = $35_1; + continue label$3; + }; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $59($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $45_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 324 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + label$4 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 316 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 128; + break label$1; + } + label$5 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 320 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 278 | 0) >> 1] | 0) & 65535 | 0; + break label$1; + } + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68412 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $45_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $45_1 | 0; + } + + function $60($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $51(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $68(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $61($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $67(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $3288((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $24_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($24_1 + 16 | 0) >> 2] = (HEAP32[($24_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $62($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $240(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + global$0 = $3_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $63($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 11 | 0) >> 0] = $1_1; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] = HEAPU8[($4_1 + 11 | 0) >> 0] | 0; + label$1 : { + if (!(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$1 + } + $69(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + label$2 : { + if (!(((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) == (18 | 0) & 1 | 0)) { + break label$2 + } + $264(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $64($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $365(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $39(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + $16_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $16_1 | 0; + } + + function $65($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0.0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = +$237(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return +$7_1; + } + + function $66($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $8_1 = $232(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $67($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $148$hi = 0, $149$hi = 0, $155$hi = 0, $156$hi = 0, $37_1 = 0, $143$hi = 0, $146$hi = 0, $147$hi = 0, $24_1 = 0, $25_1 = 0, $26_1 = 0, $152$hi = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $126_1 = 0, $143_1 = 0, $259$hi = 0, $302$hi = 0, $124_1 = 0, $139_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$3 + } + $63(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 18 & 255 | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0) - 1 | 0; + break label$1; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$5 + } + $37_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + } + $37_1 = 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = $37_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $143_1 = i64toi32_i32$1; + $143$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $259$hi = i64toi32_i32$1; + i64toi32_i32$1 = $143$hi; + i64toi32_i32$1 = $259$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $143$hi; + i64toi32_i32$3 = $143_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $4_1; + HEAP32[$4_1 >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $146$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $147$hi = i64toi32_i32$2; + i64toi32_i32$2 = $146$hi; + i64toi32_i32$2 = $147$hi; + i64toi32_i32$2 = $146$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $147$hi; + i64toi32_i32$3 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $148$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $149$hi = i64toi32_i32$4; + i64toi32_i32$4 = $148$hi; + i64toi32_i32$4 = $149$hi; + i64toi32_i32$4 = $148$hi; + i64toi32_i32$4 = $149$hi; + i64toi32_i32$4 = $148$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = $149$hi; + i64toi32_i32$3 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$1 | 0)) { + $24_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $25_1 = 0 + } else { + $25_1 = 1 + } + $26_1 = $25_1; + } else { + $26_1 = 0 + } + $24_1 = $26_1; + } + label$6 : { + if (!($24_1 & 1 | 0)) { + break label$6 + } + i64toi32_i32$2 = 0; + $152$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $302$hi = i64toi32_i32$4; + i64toi32_i32$4 = $152$hi; + i64toi32_i32$4 = $302$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $152$hi; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$3 = $4_1; + HEAP32[$4_1 >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$4 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $155$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $156$hi = i64toi32_i32$3; + i64toi32_i32$3 = $155$hi; + i64toi32_i32$3 = $156$hi; + i64toi32_i32$3 = $155$hi; + i64toi32_i32$3 = $156$hi; + i64toi32_i32$3 = $155$hi; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$0 = $156$hi; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$0 | 0)) { + $27_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$4 >>> 0 <= i64toi32_i32$1 >>> 0) { + $28_1 = 0 + } else { + $28_1 = 1 + } + $29_1 = $28_1; + } else { + $29_1 = 0 + } + $27_1 = $29_1; + } + label$7 : { + if (!($27_1 & 1 | 0)) { + break label$7 + } + $69(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + $63(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 18 & 255 | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$4 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = i64toi32_i32$4; + label$8 : { + label$9 : { + if (!((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$3 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $70(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$8; + } + i64toi32_i32$3 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $45(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + label$11 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + if (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$12 + } + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$12 + } + $3288(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + $124_1 = $59(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $124_1; + $126_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP8[($126_1 + 21 | 0) >> 0] = (HEAPU8[($126_1 + 21 | 0) >> 0] | 0) & 255 | 0 | 4 | 0; + break label$10; + } + $69(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + $63(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 7 & 255 | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + $139_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $139_1 | 0; + } + + function $68($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = ($3303(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0) & 1073741823 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $16_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $16_1 | 0; + } + + function $69($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $20_1 = 0, $14_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$1 + } + $13(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $14_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP8[($14_1 + 21 | 0) >> 0] = ((HEAPU8[($14_1 + 21 | 0) >> 0] | 0) & 255 | 0) & -5 | 0; + } + $20_1 = 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $20_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $20_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $20_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $70($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $58$hi = 0, $62$hi = 0, $63$hi = 0, $60$hi = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 324 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 316 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + i64toi32_i32$1 = 0; + $58$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $60$hi = i64toi32_i32$0; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$3 = 128; + label$6 : { + if (!((i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$1; + } + break label$4; + } + label$7 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 320 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $62$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $63$hi = i64toi32_i32$0; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$1 = (HEAPU16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 278 | 0) >> 1] | 0) & 65535 | 0; + label$8 : { + if (!((i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0 | 0) | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$1; + } + } + } + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $540(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $54_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $54_1 | 0; + } + + function $71($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (68632 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $72(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + } + $22_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $22_1 | 0; + } + + function $72($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$3 + } + if (((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $73(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + $36_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $36_1 | 0; + } + + function $73($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $26_1 = 0, i64toi32_i32$0 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $64(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 1 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $3288(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $26_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP8[($26_1 + 21 | 0) >> 0] = (HEAPU8[($26_1 + 21 | 0) >> 0] | 0) & 255 | 0 | 4 | 0; + break label$1; + } + $63(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 7 & 255 | 0 | 0); + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $38_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $38_1 | 0; + } + + function $74($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0; + break label$1; + } + $15_1 = 7; + } + return $15_1 | 0; + } + + function $75($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) { + break label$2 + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP8[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $76($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $25_1 = 0, $22_1 = 0, i64toi32_i32$0 = 0, $13_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41(24 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $13_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $22_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + break label$3; + } + $22_1 = 1e9; + } + $25_1 = 0; + $77($13_1 | 0, $25_1 | 0, $25_1 | 0, $25_1 | 0, $22_1 | 0); + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 68632; + } + $27_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $27_1 | 0; + } + + function $77($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0; + $7_1 = global$0 - 32 | 0; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + HEAP8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 0] = $8_1; + HEAP8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 21 | 0) >> 0] = $8_1; + return; + } + + function $78($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 116 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!($25() | 0)) { + break label$2 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 0; + break label$1; + } + $9_1 = $4_1 + 8 | 0; + $77($9_1 | 0, 0 | 0, $4_1 + 32 | 0 | 0, 70 | 0, 1e9 | 0); + $50($9_1 | 0, HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $72($9_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 124 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + } + $20_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + global$0 = $4_1 + 128 | 0; + return $20_1 | 0; + } + + function $79($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!($25() | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $78(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + $14_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $14_1 | 0; + } + + function $80($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $17_1 = 0, $26_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + $17_1 = 0; + $77($6_1 | 0, $17_1 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $17_1 | 0); + $50($6_1 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + $26_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $26_1 | 0; + } + + function $81($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $80(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $15_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $15_1 | 0; + } + + function $82($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[(0 + 68604 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $83(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $83($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, $9_1 = 0, $15_1 = 0; + $5_1 = global$0 - 256 | 0; + global$0 = $5_1; + $8_1 = $5_1 + 216 | 0; + $9_1 = 0; + HEAP32[($5_1 + 252 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 248 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 244 | 0) >> 2] = $2_1; + $77($8_1 | 0, $9_1 | 0, $5_1 | 0, 210 | 0, $9_1 | 0); + $50($8_1 | 0, HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0); + $15_1 = HEAP32[(0 + 68604 | 0) >> 2] | 0; + FUNCTION_TABLE[$15_1 | 0](HEAP32[(0 + 68608 | 0) >> 2] | 0, HEAP32[($5_1 + 252 | 0) >> 2] | 0, $72($8_1 | 0) | 0); + global$0 = $5_1 + 256 | 0; + return; + } + + function $84($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $50(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $85($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $33_1 = 0, $36_1 = 0, $68_1 = 0, $144_1 = 0, $149_1 = 0, $143_1 = 0; + $4_1 = global$0 - 288 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 284 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 280 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 272 | 0) >> 2] = HEAP32[($4_1 + 280 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!($25() | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if ((HEAP32[($4_1 + 284 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[($4_1 + 280 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP8[(0 + 114136 | 0) >> 0] = 0; + break label$1; + } + label$5 : { + if (((HEAPU8[(0 + 114136 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$5 + } + $33_1 = 0; + $36_1 = 0; + HEAP8[(0 + 114138 | 0) >> 0] = $36_1; + HEAP8[(0 + 114137 | 0) >> 0] = $36_1; + $86($24($33_1 | 0) | 0 | 0, 256 | 0, $4_1 | 0) | 0; + HEAP32[($4_1 + 268 | 0) >> 2] = $33_1; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 268 | 0) >> 2] | 0 | 0) < (256 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[((HEAP32[($4_1 + 268 | 0) >> 2] | 0) + 114139 | 0) >> 0] = HEAP32[($4_1 + 268 | 0) >> 2] | 0; + HEAP32[($4_1 + 268 | 0) >> 2] = (HEAP32[($4_1 + 268 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($4_1 + 268 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($4_1 + 268 | 0) >> 2] | 0 | 0) < (256 | 0) & 1 | 0)) { + break label$8 + } + $68_1 = 24; + HEAP8[(0 + 114138 | 0) >> 0] = ((HEAPU8[(0 + 114138 | 0) >> 0] | 0) & 255 | 0) + (((HEAPU8[((HEAP32[($4_1 + 268 | 0) >> 2] | 0) + 114139 | 0) >> 0] | 0) & 255 | 0) + (((HEAPU8[($4_1 + (HEAP32[($4_1 + 268 | 0) >> 2] | 0) | 0) >> 0] | 0) << $68_1 | 0) >> $68_1 | 0) | 0) | 0; + HEAP8[($4_1 + 279 | 0) >> 0] = HEAPU8[(((HEAPU8[(0 + 114138 | 0) >> 0] | 0) & 255 | 0) + 114139 | 0) >> 0] | 0; + HEAP8[(((HEAPU8[(0 + 114138 | 0) >> 0] | 0) & 255 | 0) + 114139 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 268 | 0) >> 2] | 0) + 114139 | 0) >> 0] | 0; + HEAP8[((HEAP32[($4_1 + 268 | 0) >> 2] | 0) + 114139 | 0) >> 0] = HEAPU8[($4_1 + 279 | 0) >> 0] | 0; + HEAP32[($4_1 + 268 | 0) >> 2] = (HEAP32[($4_1 + 268 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + HEAP8[(0 + 114136 | 0) >> 0] = 1; + } + label$10 : while (1) { + HEAP8[(0 + 114137 | 0) >> 0] = (HEAPU8[(0 + 114137 | 0) >> 0] | 0) + 1 | 0; + HEAP8[($4_1 + 279 | 0) >> 0] = HEAPU8[(((HEAPU8[(0 + 114137 | 0) >> 0] | 0) & 255 | 0) + 114139 | 0) >> 0] | 0; + HEAP8[(0 + 114138 | 0) >> 0] = ((HEAPU8[(0 + 114138 | 0) >> 0] | 0) & 255 | 0) + ((HEAPU8[($4_1 + 279 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP8[(((HEAPU8[(0 + 114137 | 0) >> 0] | 0) & 255 | 0) + 114139 | 0) >> 0] = HEAPU8[(((HEAPU8[(0 + 114138 | 0) >> 0] | 0) & 255 | 0) + 114139 | 0) >> 0] | 0; + HEAP8[(((HEAPU8[(0 + 114138 | 0) >> 0] | 0) & 255 | 0) + 114139 | 0) >> 0] = HEAPU8[($4_1 + 279 | 0) >> 0] | 0; + HEAP8[($4_1 + 279 | 0) >> 0] = ((HEAPU8[($4_1 + 279 | 0) >> 0] | 0) & 255 | 0) + ((HEAPU8[(((HEAPU8[(0 + 114137 | 0) >> 0] | 0) & 255 | 0) + 114139 | 0) >> 0] | 0) & 255 | 0) | 0; + $143_1 = HEAPU8[(((HEAPU8[($4_1 + 279 | 0) >> 0] | 0) & 255 | 0) + 114139 | 0) >> 0] | 0; + $144_1 = HEAP32[($4_1 + 272 | 0) >> 2] | 0; + HEAP32[($4_1 + 272 | 0) >> 2] = $144_1 + 1 | 0; + HEAP8[$144_1 >> 0] = $143_1; + $149_1 = (HEAP32[($4_1 + 284 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 284 | 0) >> 2] = $149_1; + if ($149_1) { + continue label$10 + } + break label$10; + }; + } + global$0 = $4_1 + 288 | 0; + return; + } + + function $86($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(HEAP32[(0 + 68628 | 0) >> 2] | 0)) { + break label$2 + } + $3289(HEAP32[$5_1 >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + label$3 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 4 | 0) >> 2] = 4; + } + $3288(HEAP32[$5_1 >> 2] | 0 | 0, 68628 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 8 | 0) >> 2] | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0, HEAP32[$5_1 >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $29_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $29_1 | 0; + } + + function $87($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $13_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != ($13_1 | 0) & 1 | 0 ? -1 : $13_1; + break label$1; + } + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $88(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $32_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $32_1 | 0; + } + + function $88($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$5 + } + break label$1; + } + break label$3; + } + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1376 | 0) >> 0] | 0) & 255 | 0) - ((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1376 | 0) >> 0] | 0) & 255 | 0) | 0; + label$6 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$6 + } + break label$1; + } + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $89($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $42_1 = 0, $14_1 = 0, $34_1 = 0, $82_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != ($14_1 | 0) & 1 | 0 ? -1 : $14_1; + break label$1; + } + label$3 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + label$4 : while (1) { + $34_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $34_1 + -1 | 0; + $42_1 = 0; + label$5 : { + if (!(($34_1 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + $42_1 = 0; + if (!((HEAPU8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$5 + } + $42_1 = ((HEAPU8[(((HEAPU8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[(((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0 | 0); + } + label$6 : { + if (!($42_1 & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$8 + } + $82_1 = 0; + break label$7; + } + $82_1 = ((HEAPU8[(((HEAPU8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0) - ((HEAPU8[(((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0) | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = $82_1; + } + return HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $90() { + var $2_1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + HEAP32[($2_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($2_1 + 12 | 0) >> 2] | 0) >>> 0 < 4 >>> 0 & 1 | 0)) { + break label$1 + } + $31(68656 + Math_imul(HEAP32[($2_1 + 12 | 0) >> 2] | 0, 88) | 0 | 0, (HEAP32[($2_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0 | 0) | 0; + HEAP32[($2_1 + 12 | 0) >> 2] = (HEAP32[($2_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[(0 + 114396 | 0) >> 2] = 8; + global$0 = $2_1 + 16 | 0; + return 0 | 0; + } + + function $91($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $312_1 = 0, $71_1 = 0, $9_1 = 0, $40_1 = 0, $31_1 = 0, $67_1 = 0, $228_1 = 0, $309_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 624 | 0; + global$0 = $7_1; + $9_1 = 0; + HEAP32[($7_1 + 616 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 612 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 608 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 604 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 600 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 596 | 0) >> 2] = HEAP32[($7_1 + 608 | 0) >> 2] | 0; + HEAP32[($7_1 + 592 | 0) >> 2] = -1; + HEAP32[($7_1 + 588 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 584 | 0) >> 2] = (HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 1048320 | 0; + HEAP32[($7_1 + 576 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 572 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 568 | 0) >> 2] = (HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 16 | 0; + HEAP32[($7_1 + 564 | 0) >> 2] = (HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 8 | 0; + HEAP32[($7_1 + 560 | 0) >> 2] = (HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 4 | 0; + HEAP32[($7_1 + 556 | 0) >> 2] = (HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 1 | 0; + HEAP32[($7_1 + 552 | 0) >> 2] = (HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 2 | 0; + $31_1 = 0; + label$1 : { + if (!(HEAP32[($7_1 + 560 | 0) >> 2] | 0)) { + break label$1 + } + $40_1 = 1; + label$2 : { + if ((HEAP32[($7_1 + 584 | 0) >> 2] | 0 | 0) == (16384 | 0) & 1 | 0) { + break label$2 + } + $40_1 = 1; + if ((HEAP32[($7_1 + 584 | 0) >> 2] | 0 | 0) == (2048 | 0) & 1 | 0) { + break label$2 + } + $40_1 = (HEAP32[($7_1 + 584 | 0) >> 2] | 0 | 0) == (524288 | 0); + } + $31_1 = $40_1; + } + HEAP32[($7_1 + 548 | 0) >> 2] = $31_1 & 1 | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 612 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[(0 + 114508 | 0) >> 2] | 0 | 0) != ($3248() | 0 | 0) & 1 | 0)) { + break label$3 + } + $67_1 = 0; + (wasm2js_i32$0 = 0, wasm2js_i32$1 = $3248() | 0), HEAP32[(wasm2js_i32$0 + 114508 | 0) >> 2] = wasm2js_i32$1; + $85($67_1 | 0, $67_1 | 0); + } + $71_1 = HEAP32[($7_1 + 596 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $312_1 = 0; + i64toi32_i32$1 = $71_1; + HEAP32[i64toi32_i32$1 >> 2] = $312_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $312_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $71_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $312_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $71_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $312_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $71_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $312_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $71_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $312_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$4 : { + label$5 : { + label$6 : { + if (!((HEAP32[($7_1 + 584 | 0) >> 2] | 0 | 0) == (256 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $92(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 604 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 592 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + break label$7; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $41(12 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if ((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + HEAP32[($7_1 + 620 | 0) >> 2] = 7; + break label$4; + } + } + HEAP32[((HEAP32[($7_1 + 596 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + break label$5; + } + label$10 : { + if ((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $93(HEAP32[((HEAP32[($7_1 + 616 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $7_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 576 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($7_1 + 576 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($7_1 + 620 | 0) >> 2] = HEAP32[($7_1 + 576 | 0) >> 2] | 0; + break label$4; + } + HEAP32[($7_1 + 28 | 0) >> 2] = $7_1 + 32 | 0; + } + } + label$12 : { + if (!(HEAP32[($7_1 + 556 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($7_1 + 588 | 0) >> 2] = HEAP32[($7_1 + 588 | 0) >> 2] | 0; + } + label$13 : { + if (!(HEAP32[($7_1 + 552 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[($7_1 + 588 | 0) >> 2] = HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 2 | 0; + } + label$14 : { + if (!(HEAP32[($7_1 + 560 | 0) >> 2] | 0)) { + break label$14 + } + HEAP32[($7_1 + 588 | 0) >> 2] = HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 64 | 0; + } + label$15 : { + if (!(HEAP32[($7_1 + 568 | 0) >> 2] | 0)) { + break label$15 + } + HEAP32[($7_1 + 588 | 0) >> 2] = HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 131200 | 0; + } + HEAP32[($7_1 + 588 | 0) >> 2] = HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 131072 | 0; + label$16 : { + label$17 : { + if (!((HEAP32[($7_1 + 592 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $94(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 604 | 0) >> 2] | 0 | 0, $7_1 + 20 | 0 | 0, $7_1 + 16 | 0 | 0, $7_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 576 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!(HEAP32[($7_1 + 576 | 0) >> 2] | 0)) { + break label$18 + } + HEAP32[($7_1 + 620 | 0) >> 2] = HEAP32[($7_1 + 576 | 0) >> 2] | 0; + break label$4; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $95(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 592 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + if (!((HEAP32[($7_1 + 592 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$19 + } + label$20 : { + label$21 : { + if (!(HEAP32[($7_1 + 548 | 0) >> 2] | 0)) { + break label$21 + } + if (!((HEAP32[($3169() | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$21 + } + if (!(FUNCTION_TABLE[HEAP32[(0 + 69052 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 28 | 0) >> 2] | 0, 0) | 0)) { + break label$21 + } + HEAP32[($7_1 + 576 | 0) >> 2] = 1544; + break label$20; + } + label$22 : { + if (!((HEAP32[($3169() | 0) >> 2] | 0 | 0) != (31 | 0) & 1 | 0)) { + break label$22 + } + if (!(HEAP32[($7_1 + 552 | 0) >> 2] | 0)) { + break label$22 + } + HEAP32[($7_1 + 604 | 0) >> 2] = (HEAP32[($7_1 + 604 | 0) >> 2] | 0) & -7 | 0; + HEAP32[($7_1 + 588 | 0) >> 2] = (HEAP32[($7_1 + 588 | 0) >> 2] | 0) & -67 | 0; + HEAP32[($7_1 + 604 | 0) >> 2] = HEAP32[($7_1 + 604 | 0) >> 2] | 0 | 1 | 0; + HEAP32[($7_1 + 588 | 0) >> 2] = HEAP32[($7_1 + 588 | 0) >> 2] | 0; + HEAP32[($7_1 + 556 | 0) >> 2] = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $95(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 592 | 0) >> 2] = wasm2js_i32$1; + } + } + } + label$23 : { + if (!((HEAP32[($7_1 + 592 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$23 + } + $228_1 = 39794; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $97($96($228_1 | 0) | 0 | 0, 3916 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, $228_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (HEAP32[($7_1 + 576 | 0) >> 2] | 0) { + break label$24 + } + HEAP32[($7_1 + 576 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + } + break label$16; + } + label$25 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$25 + } + if (!((HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 526336 | 0)) { + break label$25 + } + $98(HEAP32[($7_1 + 592 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + } + label$26 : { + if (!((HEAP32[($7_1 + 600 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[(HEAP32[($7_1 + 600 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 604 | 0) >> 2] | 0; + } + label$27 : { + if (!((HEAP32[((HEAP32[($7_1 + 596 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[(HEAP32[((HEAP32[($7_1 + 596 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 592 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($7_1 + 596 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 3 | 0; + } + label$28 : { + if (!(HEAP32[($7_1 + 564 | 0) >> 2] | 0)) { + break label$28 + } + FUNCTION_TABLE[HEAP32[(0 + 69220 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0; + } + label$29 : { + if (!(HEAP32[($7_1 + 564 | 0) >> 2] | 0)) { + break label$29 + } + HEAP32[($7_1 + 572 | 0) >> 2] = HEAP32[($7_1 + 572 | 0) >> 2] | 0 | 32 | 0; + } + label$30 : { + if (!(HEAP32[($7_1 + 556 | 0) >> 2] | 0)) { + break label$30 + } + HEAP32[($7_1 + 572 | 0) >> 2] = HEAP32[($7_1 + 572 | 0) >> 2] | 0 | 2 | 0; + } + HEAP32[($7_1 + 580 | 0) >> 2] = (HEAP32[($7_1 + 584 | 0) >> 2] | 0 | 0) != (256 | 0) & 1 | 0; + label$31 : { + if (!(HEAP32[($7_1 + 580 | 0) >> 2] | 0)) { + break label$31 + } + HEAP32[($7_1 + 572 | 0) >> 2] = HEAP32[($7_1 + 572 | 0) >> 2] | 0 | 128 | 0; + } + label$32 : { + if (!(HEAP32[($7_1 + 548 | 0) >> 2] | 0)) { + break label$32 + } + HEAP32[($7_1 + 572 | 0) >> 2] = HEAP32[($7_1 + 572 | 0) >> 2] | 0 | 8 | 0; + } + label$33 : { + if (!((HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 64 | 0)) { + break label$33 + } + HEAP32[($7_1 + 572 | 0) >> 2] = HEAP32[($7_1 + 572 | 0) >> 2] | 0 | 64 | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $99(HEAP32[($7_1 + 616 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 592 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 608 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 612 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 572 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 576 | 0) >> 2] = wasm2js_i32$1; + } + label$34 : { + if (!(HEAP32[($7_1 + 576 | 0) >> 2] | 0)) { + break label$34 + } + $42(HEAP32[((HEAP32[($7_1 + 596 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 620 | 0) >> 2] = HEAP32[($7_1 + 576 | 0) >> 2] | 0; + } + $309_1 = HEAP32[($7_1 + 620 | 0) >> 2] | 0; + global$0 = $7_1 + 624 | 0; + return $309_1 | 0; + } + + function $92($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $107$hi = 0, $108$hi = 0, $5_1 = 0, $36_1 = 0, $46_1 = 0, $77_1 = 0, $107_1 = 0, $198_1 = 0, $104_1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $5_1; + $548(); + label$1 : { + if (!((HEAP32[(0 + 114504 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + if (!((0 | 0) == (FUNCTION_TABLE[HEAP32[(0 + 69076 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 108 | 0) >> 2] | 0, $4_1 + 8 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(0 + 114504 | 0) >> 2] | 0; + label$2 : while (1) { + $36_1 = 0; + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $46_1 = 1; + label$4 : { + if ((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $107_1 = i64toi32_i32$0; + $107$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + $108$hi = i64toi32_i32$0; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$0 = $108$hi; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$0 = $108$hi; + $198_1 = i64toi32_i32$1; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$2 = $107_1; + i64toi32_i32$1 = $108$hi; + $46_1 = (i64toi32_i32$2 | 0) != ($198_1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0; + } + $36_1 = $46_1; + } + label$5 : { + if (!($36_1 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + continue label$2; + } + break label$2; + }; + label$6 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 104 | 0) >> 2] = (HEAP32[($4_1 + 104 | 0) >> 2] | 0) & 3 | 0; + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0; + label$7 : while (1) { + $77_1 = 0; + label$8 : { + if (!((HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $77_1 = (HEAP32[((HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0); + } + label$9 : { + if (!($77_1 & 1 | 0)) { + break label$9 + } + HEAP32[$4_1 >> 2] = (HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0) + 8 | 0; + continue label$7; + } + break label$7; + }; + HEAP32[($4_1 + 100 | 0) >> 2] = HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0; + label$10 : { + if (!((HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + } + } + $552(); + $104_1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $104_1 | 0; + } + + function $93($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, i64toi32_i32$0 = 0, $39_1 = 0, $43_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, i64toi32_i32$1 = 0, $126_1 = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $5_1; + HEAP8[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 0] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $590() | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 6410; + break label$1; + } + label$3 : while (1) { + $85(8 | 0, $4_1 + 32 | 0 | 0); + HEAP8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 56 | 0) >> 2] | 0) - 2 | 0) | 0) >> 0] = 0; + $26_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + $27_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $28_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + $126_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $126_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[$4_1 >> 2] = $28_1; + $81($26_1 | 0, $27_1 | 0, 4263 | 0, $4_1 | 0) | 0; + $39_1 = 24; + label$4 : { + label$5 : { + if (((HEAPU8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 56 | 0) >> 2] | 0) - 2 | 0) | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0) { + break label$5 + } + $43_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $43_1 + 1 | 0; + if (!(($43_1 | 0) > (10 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + break label$1; + } + if (!(FUNCTION_TABLE[HEAP32[(0 + 69052 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 52 | 0) >> 2] | 0, 0) | 0)) { + continue label$3 + } + break label$3; + }; + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + } + $58_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $58_1 | 0; + } + + function $94($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $52_1 = 0, $24_1 = 0, $38_1 = 0, $86_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 560 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 552 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 548 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 544 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 540 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 536 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 532 | 0) >> 2] = $8_1; + HEAP32[(HEAP32[($7_1 + 544 | 0) >> 2] | 0) >> 2] = $8_1; + HEAP32[(HEAP32[($7_1 + 540 | 0) >> 2] | 0) >> 2] = $8_1; + HEAP32[(HEAP32[($7_1 + 536 | 0) >> 2] | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 548 | 0) >> 2] | 0) & 526336 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($68(HEAP32[($7_1 + 552 | 0) >> 2] | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : while (1) { + $24_1 = 24; + if (!((((HEAPU8[((HEAP32[($7_1 + 552 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0 | 0) != (45 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : { + if (!(HEAP32[($7_1 + 12 | 0) >> 2] | 0)) { + break label$7 + } + $38_1 = 24; + if (!((((HEAPU8[((HEAP32[($7_1 + 552 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $38_1 | 0) >> $38_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[($7_1 + 556 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$5; + }; + } + $52_1 = $7_1 + 16 | 0; + $3288($52_1 | 0, HEAP32[($7_1 + 552 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP8[($52_1 + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $591($52_1 | 0, HEAP32[($7_1 + 544 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 540 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 532 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + label$8 : { + label$9 : { + if (!((HEAP32[($7_1 + 548 | 0) >> 2] | 0) & 8 | 0)) { + break label$9 + } + HEAP32[(HEAP32[($7_1 + 544 | 0) >> 2] | 0) >> 2] = 384; + break label$8; + } + label$10 : { + if (!((HEAP32[($7_1 + 548 | 0) >> 2] | 0) & 64 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $523(HEAP32[($7_1 + 552 | 0) >> 2] | 0 | 0, 4344 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $591(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 544 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 540 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 532 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + HEAP32[($7_1 + 556 | 0) >> 2] = HEAP32[($7_1 + 532 | 0) >> 2] | 0; + } + $86_1 = HEAP32[($7_1 + 556 | 0) >> 2] | 0; + global$0 = $7_1 + 560 | 0; + return $86_1 | 0; + } + + function $95($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $94$hi = 0, $8_1 = 0, $48_1 = 0, $96$hi = 0, $44_1 = 0, i64toi32_i32$2 = 0, $91_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 128 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 116 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(HEAP32[($5_1 + 116 | 0) >> 2] | 0)) { + break label$2 + } + $8_1 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + break label$1; + } + $8_1 = 420; + } + HEAP32[($5_1 + 108 | 0) >> 2] = $8_1; + label$3 : { + label$4 : while (1) { + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69028 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 124 | 0) >> 2] | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 524288 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[($3169() | 0) >> 2] | 0 | 0) == (27 | 0) & 1 | 0)) { + break label$6 + } + continue label$4; + } + break label$3; + } + label$7 : { + if (!((HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$7 + } + break label$3; + } + FUNCTION_TABLE[HEAP32[(0 + 69040 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 112 | 0) >> 2] | 0) | 0; + $44_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $44_1; + $82(28 | 0, 4126 | 0, $5_1 | 0); + $48_1 = 0; + HEAP32[($5_1 + 112 | 0) >> 2] = -1; + label$8 : { + if (!((FUNCTION_TABLE[HEAP32[(0 + 69028 | 0) >> 2] | 0 | 0](4169, $48_1, HEAP32[($5_1 + 116 | 0) >> 2] | 0) | 0 | 0) < ($48_1 | 0) & 1 | 0)) { + break label$8 + } + break label$3; + } + continue label$4; + }; + } + label$9 : { + if (!((HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!(HEAP32[($5_1 + 116 | 0) >> 2] | 0)) { + break label$10 + } + label$11 : { + if (FUNCTION_TABLE[HEAP32[(0 + 69088 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 112 | 0) >> 2] | 0, $5_1 + 16 | 0) | 0) { + break label$11 + } + i64toi32_i32$0 = 0; + $94$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + $96$hi = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $94$hi; + if (!(((i64toi32_i32$2 | 0) == (0 | 0) & ($96$hi | 0) == ($94$hi | 0) | 0) & 1 | 0)) { + break label$11 + } + if (!(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) & 511 | 0 | 0) != (HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + FUNCTION_TABLE[HEAP32[(0 + 69196 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 112 | 0) >> 2] | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0) | 0; + } + } + } + $91_1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + global$0 = $5_1 + 128 | 0; + return $91_1 | 0; + } + + function $96($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = $6(14 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 4210 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $97($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = HEAP32[($3169() | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3171(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 36 | 0) >> 2] = 1352; + } + $19_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $20_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + $21_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $22_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + $23_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $23_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $22_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $21_1; + HEAP32[$6_1 >> 2] = $20_1; + $82($19_1 | 0, 4179 | 0, $6_1 | 0); + $28_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $28_1 | 0; + } + + function $98($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(FUNCTION_TABLE[HEAP32[(0 + 69280 | 0) >> 2] | 0 | 0]() | 0)) { + break label$2 + } + $10_1 = 0; + break label$1; + } + $10_1 = FUNCTION_TABLE[HEAP32[(0 + 69268 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 12 | 0) >> 2] | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0; + } + global$0 = $5_1 + 16 | 0; + return $10_1 | 0; + } + + function $99($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $24_1 = 0, $30_1 = 0, $40_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $95_1 = 0, $96_1 = 0, $117_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP16[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 1] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) & 255 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0) & 64 | 0)) { + break label$2 + } + $24_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + break label$1; + } + $24_1 = 0; + } + label$3 : { + if (!($525($24_1 | 0, 4351 | 0, 1 | 0) | 0)) { + break label$3 + } + $30_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP16[($30_1 + 18 | 0) >> 1] = (HEAPU16[($30_1 + 18 | 0) >> 1] | 0) & 65535 | 0 | 16 | 0; + } + label$4 : { + if ($3229(HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 1680 | 0) | 0) { + break label$4 + } + $40_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP16[($40_1 + 18 | 0) >> 1] = (HEAPU16[($40_1 + 18 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + } + label$5 : { + label$6 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0) & 128 | 0)) { + break label$6 + } + HEAP32[($7_1 + 24 | 0) >> 2] = 4356; + break label$5; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 32 | 0) >> 2] | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + label$8 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (3732 | 0) & 1 | 0)) { + break label$8 + } + $548(); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $592(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$9 + } + $102(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 39295 | 0); + HEAP32[($7_1 + 40 | 0) >> 2] = -1; + } + $552(); + break label$7; + } + label$10 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (4432 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($3303(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0) + 6 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $41(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + label$12 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($7_1 + 16 | 0) >> 2] = 7; + break label$11; + } + $95_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + $96_1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + $81($95_1 | 0, $96_1 | 0, 4508 | 0, $7_1 | 0) | 0; + } + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + } + $555(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0); + label$13 : { + label$14 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$14 + } + label$15 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$15 + } + $102(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 39380 | 0); + } + break label$13; + } + HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + $546(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + } + $117_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $117_1 | 0; + } + + function $100($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $43_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((FUNCTION_TABLE[HEAP32[(0 + 69220 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!((HEAP32[($3169() | 0) >> 2] | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 5898; + break label$3; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $97(2570 | 0, 4026 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 39933 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69232 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 20 | 0) >> 2] | 0, $5_1 + 8 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$7 + } + $43_1 = 0; + label$8 : { + if (!($101(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $43_1 | 0, $43_1 | 0) | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $97(1290 | 0, 4516 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 39943 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $102(0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 39945 | 0); + break label$6; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $56_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $56_1 | 0; + } + + function $101($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3243(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $8_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $8_1 | 0; + } + + function $102($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $19_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!(FUNCTION_TABLE[HEAP32[(0 + 69040 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $19_1 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$2; + } + $19_1 = 0; + } + $97(4106 | 0, 3921 | 0, $19_1 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $103($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $55$hi = 0, $22_1 = 0, $33_1 = 0, $57$hi = 0, $14_1 = 0, $15_1 = 0, $16_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $50_1 = 0; + $6_1 = global$0 - 112 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (HEAP32[($6_1 + 100 | 0) >> 2] | 0) { + break label$2 + } + $22_1 = 0; + label$3 : { + if (!((0 | 0) == (FUNCTION_TABLE[HEAP32[(0 + 69076 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 104 | 0) >> 2] | 0, $6_1 + 8 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $33_1 = 1; + label$4 : { + if (!(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) & 61440 | 0 | 0) == (32768 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $55$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $57$hi = i64toi32_i32$1; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = $57$hi; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = $57$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $14_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $15_1 = 0 + } else { + $15_1 = 1 + } + $16_1 = $15_1; + } else { + $16_1 = 0 + } + $14_1 = $16_1; + } + $33_1 = $14_1; + } + $22_1 = $33_1; + } + HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] = $22_1 & 1 | 0; + break label$1; + } + $50_1 = (FUNCTION_TABLE[HEAP32[(0 + 69052 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 104 | 0) >> 2] | 0, 6) | 0 | 0) == (0 | 0) & 1 | 0; + HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] = $50_1; + } + global$0 = $6_1 + 112 | 0; + return 0 | 0; + } + + function $104($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $26_1 = 0, $86_1 = 0, $93_1 = 0, $111_1 = 0, $119_1 = 0, $181_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 144 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 132 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 128 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 124 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 116 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 112 | 0) >> 2] = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP32[($6_1 + 108 | 0) >> 2] = $7_1; + label$1 : while (1) { + HEAP32[($6_1 + 104 | 0) >> 2] = 0; + label$2 : { + label$3 : { + if (!(FUNCTION_TABLE[HEAP32[(0 + 69352 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 112 | 0) >> 2] | 0, $6_1 + 16 | 0) | 0)) { + break label$3 + } + label$4 : { + if (!((HEAP32[($3169() | 0) >> 2] | 0 | 0) != (44 | 0) & 1 | 0)) { + break label$4 + } + $26_1 = 40113; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $97($96($26_1 | 0) | 0 | 0, 4114 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, $26_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + } + break label$2; + } + HEAP32[($6_1 + 104 | 0) >> 2] = ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) & 61440 | 0 | 0) == (40960 | 0) & 1 | 0; + } + label$5 : { + if (!(HEAP32[($6_1 + 104 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($6_1 + 116 | 0) >> 2] = (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + 1 | 0; + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 124 | 0) >> 2] = 7; + } + break label$6; + } + label$9 : { + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) >= (100 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $96(40125 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + } + } + label$10 : { + if (HEAP32[($6_1 + 124 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69340 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 112 | 0) >> 2] | 0, HEAP32[($6_1 + 108 | 0) >> 2] | 0, (HEAP32[($6_1 + 132 | 0) >> 2] | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + label$12 : { + if (!((HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$12 + } + $86_1 = 40131; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $97($96($86_1 | 0) | 0 | 0, 4105 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, $86_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + $93_1 = 24; + label$13 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 108 | 0) >> 2] | 0) >> 0] | 0) << $93_1 | 0) >> $93_1 | 0 | 0) != (47 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $68(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$14 : while (1) { + $111_1 = 0; + label$15 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$15 + } + $119_1 = 24; + $111_1 = (((HEAPU8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $119_1 | 0) >> $119_1 | 0 | 0) != (47 | 0); + } + label$16 : { + if (!($111_1 & 1 | 0)) { + break label$16 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$14; + } + break label$14; + }; + label$17 : { + label$18 : { + if (!((((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) > (HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $96(40137 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + break label$17; + } + $3290((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $3288(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 120 | 0) >> 2] = (HEAP32[($6_1 + 120 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + } + } + HEAP8[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + (HEAP32[($6_1 + 120 | 0) >> 2] | 0) | 0) >> 0] = 0; + } + } + HEAP32[($6_1 + 112 | 0) >> 2] = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + } + label$19 : { + if (HEAP32[($6_1 + 124 | 0) >> 2] | 0) { + break label$19 + } + if (!((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $105(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + } + label$20 : { + label$21 : { + if (HEAP32[($6_1 + 104 | 0) >> 2] | 0) { + break label$21 + } + break label$20; + } + HEAP32[($6_1 + 112 | 0) >> 2] = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + if (!(HEAP32[($6_1 + 124 | 0) >> 2] | 0)) { + continue label$1 + } + } + break label$1; + }; + $42(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0); + label$22 : { + if (HEAP32[($6_1 + 124 | 0) >> 2] | 0) { + break label$22 + } + if (!(HEAP32[($6_1 + 116 | 0) >> 2] | 0)) { + break label$22 + } + HEAP32[($6_1 + 124 | 0) >> 2] = 512; + } + $181_1 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + global$0 = $6_1 + 144 | 0; + return $181_1 | 0; + } + + function $105($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $12_1 = 0, $34_1 = 0, $42_1 = 0, $71_1 = 0, $89_1 = 0, $99_1 = 0, $107_1 = 0, $115_1 = 0, $130_1 = 0, $152_1 = 0, $167_1 = 0, $182_1 = 0, $200_1 = 0, $215_1 = 0, $230_1 = 0, $269_1 = 0, $41_1 = 0, $65_1 = 0, $68_1 = 0, $87_1 = 0, $88_1 = 0, $268_1 = 0, $278_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $68(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + $12_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $12_1 | 0) >> $12_1 | 0 | 0) != (47 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((FUNCTION_TABLE[HEAP32[(0 + 69064 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 36 | 0) >> 2] | 0, (HEAP32[($5_1 + 32 | 0) >> 2] | 0) - 2 | 0) | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $34_1 = 40021; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $97($96($34_1 | 0) | 0 | 0, 3934 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, $34_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $68(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $41_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $42_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $42_1 + 1 | 0; + HEAP8[($41_1 + $42_1 | 0) >> 0] = 47; + } + label$4 : { + if (!((((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) > (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) >> 0] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $96(40030 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $65_1 = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0; + $68_1 = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $81($65_1 | 0, $68_1 | 0, 1976 | 0, $5_1 | 0) | 0; + $71_1 = 1; + HEAP32[($5_1 + 16 | 0) >> 2] = $71_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $71_1; + label$5 : { + label$6 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $87_1 = HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0; + $88_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $89_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $89_1 + 1 | 0; + HEAP8[($88_1 + $89_1 | 0) >> 0] = $87_1; + label$7 : while (1) { + $99_1 = 24; + $107_1 = 0; + label$8 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $99_1 | 0) >> $99_1 | 0 | 0) == (47 | 0) & 1 | 0)) { + break label$8 + } + $115_1 = 24; + $107_1 = (((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $115_1 | 0) >> $115_1 | 0 | 0) == (47 | 0); + } + label$9 : { + if (!($107_1 & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $130_1 = 0; + HEAP8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $130_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $130_1; + label$10 : { + label$11 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + $152_1 = 24; + label$12 : { + label$13 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $152_1 | 0) >> $152_1 | 0 | 0) == (47 | 0) & 1 | 0)) { + break label$13 + } + $167_1 = 24; + label$14 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $167_1 | 0) >> $167_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$14 + } + $182_1 = 24; + if (!((((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) << $182_1 | 0) >> $182_1 | 0 | 0) == (47 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + break label$12; + } + $200_1 = 24; + label$15 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $200_1 | 0) >> $200_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$15 + } + $215_1 = 24; + if (!((((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) << $215_1 | 0) >> $215_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$15 + } + $230_1 = 24; + if (!((((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 3 | 0) | 0) >> 0] | 0) << $230_1 | 0) >> $230_1 | 0 | 0) == (47 | 0) & 1 | 0)) { + break label$15 + } + if (!($601(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0) | 0)) { + break label$15 + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 2 | 0; + break label$12; + } + } + label$16 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + label$17 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$17 + } + $268_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $269_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $269_1 + 1 | 0; + HEAP8[($268_1 + $269_1 | 0) >> 0] = 47; + } + HEAP8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $278_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $278_1 | 0; + } + + function $106($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0, $12_1 = 0, $6_1 = 0, $23_1 = 0, $45_1 = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + $3289(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = 0, wasm2js_i32$1 = $3248() | 0), HEAP32[(wasm2js_i32$0 + 114508 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $95(4522 | 0, $6_1 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < ($6_1 | 0) & 1 | 0)) { + break label$2 + } + $23_1 = $5_1 + 8 | 0; + fimport$0($23_1 | 0) | 0; + $8_1 = $23_1; + $9_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $10_1 = HEAPU8[$8_1 >> 0] | 0 | ((HEAPU8[($8_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($8_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($8_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$9_1 >> 0] = $10_1; + HEAP8[($9_1 + 1 | 0) >> 0] = $10_1 >>> 8 | 0; + HEAP8[($9_1 + 2 | 0) >> 0] = $10_1 >>> 16 | 0; + HEAP8[($9_1 + 3 | 0) >> 0] = $10_1 >>> 24 | 0; + $11_1 = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0; + $12_1 = HEAP32[(0 + 114508 | 0) >> 2] | 0; + HEAP8[$11_1 >> 0] = $12_1; + HEAP8[($11_1 + 1 | 0) >> 0] = $12_1 >>> 8 | 0; + HEAP8[($11_1 + 2 | 0) >> 0] = $12_1 >>> 16 | 0; + HEAP8[($11_1 + 3 | 0) >> 0] = $12_1 >>> 24 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = 8; + break label$1; + } + label$3 : while (1) { + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69124 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 16 | 0) >> 2] | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $45_1 = 0; + label$4 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + $45_1 = (HEAP32[($3169() | 0) >> 2] | 0 | 0) == (27 | 0); + } + if ($45_1 & 1 | 0) { + continue label$3 + } + break label$3; + }; + $102(0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 40262 | 0); + } + $58_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $58_1 | 0; + } + + function $107($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 999999 | 0 | 0) / (1e6 | 0) | 0; + $3253(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $13_1 = Math_imul(HEAP32[($4_1 + 4 | 0) >> 2] | 0, 1e6); + global$0 = $4_1 + 16 | 0; + return $13_1 | 0; + } + + function $108($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $7_1 = HEAP32[($3169() | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $7_1 | 0; + } + + function $109($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $19$hi = 0, $20$hi = 0, $21$hi = 0, $22$hi = 0, $23$hi = 0, $24$hi = 0, $18_1 = 0, $64_1 = 0, $16_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $8_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $8_1; + fimport$1($4_1 + 8 | 0 | 0, $8_1 | 0) | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $19$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $20$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$0 = $19$hi; + $18_1 = i64toi32_i32$1; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$1 = __wasm_i64_mul($18_1 | 0, i64toi32_i32$0 | 0, 1e3 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $21$hi = i64toi32_i32$0; + i64toi32_i32$0 = 49096; + $22$hi = i64toi32_i32$0; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$0 = $22$hi; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$3 = 1045635584; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $23$hi = i64toi32_i32$5; + i64toi32_i32$2 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) / (1e3 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $24$hi = i64toi32_i32$5; + i64toi32_i32$5 = $23$hi; + i64toi32_i32$5 = $24$hi; + $64_1 = i64toi32_i32$2; + i64toi32_i32$5 = $23$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $24$hi; + i64toi32_i32$3 = $64_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + $16_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $16_1 | 0; + } + + function $110($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $14_1 = 0, $34_1 = 0, $75_1 = 0, $85_1 = 0, $107_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 12; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $14_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $14_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 < 29 >>> 0 & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((HEAP32[((69024 + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $34_1 = 69024; + HEAP32[(($34_1 + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] = HEAP32[(($34_1 + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 < 29 >>> 0 & 1 | 0)) { + break label$6 + } + label$8 : { + if ($3229(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(69024 + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) >> 2] | 0 | 0) | 0) { + break label$8 + } + label$9 : { + if (!((HEAP32[((69024 + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + $75_1 = 69024; + HEAP32[(($75_1 + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] = HEAP32[(($75_1 + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0; + } + $85_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $85_1; + label$10 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == ($85_1 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((69024 + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[((69024 + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$6; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + $107_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $107_1 | 0; + } + + function $111($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0) >>> 0 < 29 >>> 0 & 1 | 0)) { + break label$2 + } + label$4 : { + if ($3229(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[(69024 + Math_imul(HEAP32[$4_1 >> 2] | 0, 12) | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((69024 + Math_imul(HEAP32[$4_1 >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $31_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $31_1 | 0; + } + + function $112($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $64_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = -1; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$4_1 >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (28 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if ($3229(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[(69024 + Math_imul(HEAP32[$4_1 >> 2] | 0, 12) | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + break label$2; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + label$5 : { + label$6 : { + label$7 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (29 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if (!((HEAP32[((69024 + Math_imul(HEAP32[$4_1 >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(69024 + Math_imul(HEAP32[$4_1 >> 2] | 0, 12) | 0) >> 2] | 0; + break label$5; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $64_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $64_1 | 0; + } + + function $113($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $116(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $115(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + break label$1; + } + label$3 : { + label$4 : { + if ((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + $30_1 = $117(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 256 | 0) >> 2] = $30_1; + if (!(($30_1 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $119(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $120(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, 1 | 0); + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $114($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $39(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $3289(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + } + $15_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $15_1 | 0; + } + + function $115($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + } + $121(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $116($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (3082 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 255 | 0; + label$3 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (14 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (10 | 0) & 1 | 0)) { + break label$1 + } + } + $31_1 = $604(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] = $31_1; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $117($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $308(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 40 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + $17_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $17_1 | 0; + } + + function $118($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $27_1 = 0, $23_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 82 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 81 | 0) >> 0] = 1; + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 184 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $23_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = 1; + HEAP32[($23_1 + 264 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + } + $27_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($27_1 + 272 | 0) >> 2] = (HEAP32[($27_1 + 272 | 0) >> 2] | 0) + 1 | 0; + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 276 | 0) >> 1] = 0; + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0) + 12 | 0) >> 2] = 7; + } + } + return; + } + + function $119($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 128 | 0; + global$0 = $5_1; + $9_1 = $5_1 + 8 | 0; + HEAP32[($5_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 116 | 0) >> 2] = $2_1; + $77($9_1 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0, 70 | 0, HEAP32[((HEAP32[($5_1 + 124 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0); + HEAP8[($5_1 + 29 | 0) >> 0] = 1; + $50($9_1 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $72($9_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(((HEAPU8[($5_1 + 28 | 0) >> 0] | 0) & 255 | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$1 + } + $118(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0); + } + $30_1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + global$0 = $5_1 + 128 | 0; + return $30_1 | 0; + } + + function $120($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP8[($7_1 + 19 | 0) >> 0] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + label$1 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $256(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $121($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $605(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0); + } + $116(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $122($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $56_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = -1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0; + HEAP32[$4_1 >> 2] = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((0 | 0) == ($87(HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + break label$2; + } + label$5 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + if (!((0 | 0) == ($87(8749 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + break label$2; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + -1 | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + -16 | 0; + continue label$3; + }; + } + } + $56_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $56_1 | 0; + } + + function $123($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $25_1 = 0, $42_1 = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + if (((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 203 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + $25_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $492(HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, $25_1 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0, $25_1 | 0, 542 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$3 + } + $349(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 4535 | 0, 0 | 0); + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = 1; + break label$1; + } + $42_1 = 0; + HEAP32[((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$4 : { + if (!((7 | 0) == ($164(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, $42_1 | 0, $42_1 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + $118(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 28 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $58_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $58_1 | 0; + } + + function $124($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $37_1 = 0, $43_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $381(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + continue label$2; + }; + } + $13(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + $382(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0); + label$3 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $37_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($37_1 + 272 | 0) >> 2] = (HEAP32[($37_1 + 272 | 0) >> 2] | 0) - ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0) | 0; + label$4 : { + label$5 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 272 | 0) >> 2] | 0)) { + break label$5 + } + $43_1 = 0; + break label$4; + } + $43_1 = (HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 278 | 0) >> 1] | 0) & 65535 | 0; + } + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 276 | 0) >> 1] = $43_1; + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 0] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $125($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0; + break label$1; + } + $15_1 = 0; + } + return $15_1 | 0; + } + + function $126($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $5_1 = 0, $150_1 = 0, $489$hi = 0, $490$hi = 0, $498$hi = 0, $499$hi = 0, $19_1 = 0, $59_1 = 0, $91_1 = 0, $202_1 = 0, $486$hi = 0, $487$hi = 0, $342_1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $494_1 = 0, $494$hi = 0, $405_1 = 0, $52_1 = 0, $53_1 = 0, $54_1 = 0, $413_1 = 0, $502$hi = 0, $503$hi = 0, $504$hi = 0, $505$hi = 0, $508$hi = 0, $437_1 = 0, $449_1 = 0, $452_1 = 0, $460_1 = 0, $486_1 = 0, $1210_1 = 0, $1213_1 = 0, $489_1 = 0, $1336_1 = 0, $1371_1 = 0, $498_1 = 0, $1383_1 = 0, $412_1 = 0, $502_1 = 0, $1406_1 = 0, $508_1 = 0, $1460$hi = 0, $483_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 108 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $5_1; + $127(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + label$1 : { + if (!((HEAP32[(HEAP32[($4_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + } + HEAP32[($4_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$2 : { + if ($128(HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + $19_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $9(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $9(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 88 | 0) >> 2] = -1; + HEAP32[($4_1 + 84 | 0) >> 2] = $19_1; + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[($4_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($19_1 | 0) & 1 | 0)) { + break label$4 + } + if (!(((HEAPU8[((HEAP32[((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 116 | 0) >> 2] = 5; + break label$3; + } + HEAP32[($4_1 + 116 | 0) >> 2] = 0; + } + label$5 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$5 + } + if (!((0 | 0) == ($125(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + $59_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $129(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, $59_1 | 0, $59_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 84 | 0) >> 2] = 1; + } + label$6 : { + if (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$6 + } + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$6 + } + if (!(($130(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0) | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 116 | 0) >> 2] = 7; + } + label$7 : { + if (!((0 | 0) == (HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + if (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$7 + } + $91_1 = $129(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 2 | 0, (HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 8 | 0 | 0) | 0; + HEAP32[($4_1 + 116 | 0) >> 2] = $91_1; + if (!((0 | 0) == ($91_1 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $131(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $131(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $132($9(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((0 | 0) == (HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 116 | 0) >> 2] = 8; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $133(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 92 | 0) >> 2] = 0; + label$9 : while (1) { + label$10 : { + label$11 : { + if ((HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$11 + } + $150_1 = 0; + if (!((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + } + $150_1 = 0; + if (!((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($4_1 + 88 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$10 + } + $150_1 = (HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0; + } + label$12 : { + if (!($150_1 & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$13 : { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) != ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $134(HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, $4_1 + 76 | 0 | 0, 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$14 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $136(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, $135(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + $137(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + } + } + $202_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + HEAP32[($202_1 + 16 | 0) >> 2] = (HEAP32[($202_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = (HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + label$15 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$15 + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 32 | 0) >> 2] = ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + label$16 : { + label$17 : { + if (!((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >>> 0 > (HEAP32[($4_1 + 88 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$17 + } + HEAP32[($4_1 + 116 | 0) >> 2] = 101; + break label$16; + } + label$18 : { + if (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$18 + } + $138(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0); + } + } + } + label$19 : { + if (!((HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$19 + } + label$20 : { + if (HEAP32[($4_1 + 88 | 0) >> 2] | 0) { + break label$20 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $139(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 88 | 0) >> 2] = 1; + } + label$21 : { + label$22 : { + if (!(HEAP32[($4_1 + 116 | 0) >> 2] | 0)) { + break label$22 + } + if (!((HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$21 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $140(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 1 | 0, (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + label$23 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$23 + } + label$24 : { + if (!((HEAP32[(HEAP32[($4_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + $141(HEAP32[(HEAP32[($4_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$25 : { + if (!((HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$25 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $142(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + } + label$26 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$26 + } + label$27 : { + label$28 : { + if (!((HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0) / (HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = (((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + (HEAP32[($4_1 + 68 | 0) >> 2] | 0) | 0) - 1 | 0 | 0) / (HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) | 0; + label$29 : { + if (!((HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($4_1 + 72 | 0) >> 2] = (HEAP32[($4_1 + 72 | 0) >> 2] | 0) + -1 | 0; + } + break label$27; + } + HEAP32[($4_1 + 72 | 0) >> 2] = Math_imul(HEAP32[($4_1 + 88 | 0) >> 2] | 0, (HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) / (HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0) | 0); + } + label$30 : { + label$31 : { + if (!((HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$31 + } + i64toi32_i32$1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $486_1 = i64toi32_i32$1; + $486$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $487$hi = i64toi32_i32$0; + i64toi32_i32$0 = $486$hi; + i64toi32_i32$0 = $487$hi; + $1210_1 = i64toi32_i32$1; + i64toi32_i32$0 = $486$hi; + i64toi32_i32$1 = $487$hi; + i64toi32_i32$1 = __wasm_i64_mul($486_1 | 0, i64toi32_i32$0 | 0, $1210_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1213_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1213_1; + HEAP32[($4_1 + 60 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $143(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + $144(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, $4_1 + 44 | 0 | 0); + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + label$32 : while (1) { + $342_1 = 0; + label$33 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$33 + } + $342_1 = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($4_1 + 44 | 0) >> 2] | 0) >>> 0; + } + label$34 : { + if (!($342_1 & 1 | 0)) { + break label$34 + } + label$35 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$35 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $134(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, $4_1 + 20 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$36 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$36 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $145(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + $137(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$32; + } + break label$32; + }; + label$37 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$37 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $146(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$1 = (HEAP32[(0 + 69008 | 0) >> 2] | 0) + (HEAP32[($4_1 + 104 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $489_1 = i64toi32_i32$1; + $489$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $490$hi = i64toi32_i32$1; + i64toi32_i32$1 = $489$hi; + i64toi32_i32$1 = $490$hi; + i64toi32_i32$1 = $489$hi; + i64toi32_i32$1 = $490$hi; + $1336_1 = i64toi32_i32$0; + i64toi32_i32$1 = $489$hi; + i64toi32_i32$2 = $489_1; + i64toi32_i32$0 = $490$hi; + i64toi32_i32$3 = $1336_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $49_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $50_1 = 0 + } else { + $50_1 = 1 + } + $51_1 = $50_1; + } else { + $51_1 = 0 + } + $49_1 = $51_1; + } + label$38 : { + label$39 : { + if (!($49_1 & 1 | 0)) { + break label$39 + } + i64toi32_i32$1 = (HEAP32[(0 + 69008 | 0) >> 2] | 0) + (HEAP32[($4_1 + 104 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $494_1 = i64toi32_i32$1; + $494$hi = i64toi32_i32$2; + break label$38; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $494_1 = i64toi32_i32$2; + $494$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $494$hi; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $494_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = (HEAP32[(0 + 69008 | 0) >> 2] | 0) + (HEAP32[($4_1 + 108 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $1371_1 = i64toi32_i32$2; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $1371_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$1; + label$40 : while (1) { + $405_1 = 0; + label$41 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$41 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $498_1 = i64toi32_i32$1; + $498$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $499$hi = i64toi32_i32$1; + i64toi32_i32$1 = $498$hi; + i64toi32_i32$1 = $499$hi; + i64toi32_i32$1 = $498$hi; + i64toi32_i32$1 = $499$hi; + $1383_1 = i64toi32_i32$2; + i64toi32_i32$1 = $498$hi; + i64toi32_i32$3 = $498_1; + i64toi32_i32$2 = $499$hi; + i64toi32_i32$0 = $1383_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $52_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $53_1 = 0 + } else { + $53_1 = 1 + } + $54_1 = $53_1; + } else { + $54_1 = 0 + } + $52_1 = $54_1; + } + $405_1 = $52_1; + } + label$42 : { + if (!($405_1 & 1 | 0)) { + break label$42 + } + $412_1 = $4_1 + 16 | 0; + $413_1 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $413_1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $502_1 = i64toi32_i32$3; + $502$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $503$hi = i64toi32_i32$1; + i64toi32_i32$1 = $502$hi; + i64toi32_i32$1 = $503$hi; + $1406_1 = i64toi32_i32$3; + i64toi32_i32$1 = $502$hi; + i64toi32_i32$3 = $503$hi; + i64toi32_i32$3 = __wasm_i64_sdiv($502_1 | 0, i64toi32_i32$1 | 0, $1406_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $504$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $505$hi = i64toi32_i32$1; + i64toi32_i32$1 = $504$hi; + i64toi32_i32$1 = $505$hi; + i64toi32_i32$1 = $504$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $505$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$4; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $134(HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $412_1 | 0, $413_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$43 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$43 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $135(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $147(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + $137(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + i64toi32_i32$5 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$5 >> 31 | 0; + $508_1 = i64toi32_i32$5; + $508$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $1460$hi = i64toi32_i32$5; + i64toi32_i32$5 = $508$hi; + i64toi32_i32$5 = $1460$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $508$hi; + i64toi32_i32$2 = $508_1; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$4; + continue label$40; + } + break label$40; + }; + label$44 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$44 + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $148(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + label$45 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$45 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $149(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + break label$30; + } + $437_1 = 0; + $150(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $146(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, $437_1 | 0, $437_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + label$46 : { + if (!((0 | 0) == (HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$46 + } + $449_1 = 0; + $452_1 = $151(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $449_1 | 0) | 0; + HEAP32[($4_1 + 116 | 0) >> 2] = $452_1; + if (!(($449_1 | 0) == ($452_1 | 0) & 1 | 0)) { + break label$46 + } + HEAP32[($4_1 + 116 | 0) >> 2] = 101; + } + } + } + label$47 : { + if (!(HEAP32[($4_1 + 84 | 0) >> 2] | 0)) { + break label$47 + } + $460_1 = 0; + $152(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, $460_1 | 0) | 0; + $151(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, $460_1 | 0) | 0; + } + label$48 : { + if (!((HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) == (3082 | 0) & 1 | 0)) { + break label$48 + } + HEAP32[($4_1 + 116 | 0) >> 2] = 7; + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + } + label$49 : { + if (!((HEAP32[(HEAP32[($4_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$49 + } + } + $483_1 = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + global$0 = $4_1 + 128 | 0; + return $483_1 | 0; + } + + function $127($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + return; + } + + function $128($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = 0; + label$1 : { + if (!(HEAP32[($3_1 + 12 | 0) >> 2] | 0)) { + break label$1 + } + $6_1 = 0; + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$1 + } + $6_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (6 | 0); + } + return $6_1 & 1 | 0 | 0; + } + + function $129($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $342$hi = 0, i64toi32_i32$3 = 0, $208_1 = 0, $343$hi = 0, $344$hi = 0, $346$hi = 0, $42_1 = 0, $127_1 = 0, $135_1 = 0, $150_1 = 0, $153_1 = 0, $229_1 = 0, $278_1 = 0, $290_1 = 0, $331_1 = 0, $339_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + $127(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + label$3 : { + if (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + if (HEAP32[($5_1 + 40 | 0) >> 2] | 0) { + break label$2 + } + } + break label$1; + } + i64toi32_i32$0 = 0; + $342$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $343$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $344$hi = i64toi32_i32$1; + i64toi32_i32$1 = $343$hi; + i64toi32_i32$1 = $344$hi; + i64toi32_i32$1 = $343$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $344$hi; + i64toi32_i32$3 = 33554432; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $346$hi = i64toi32_i32$0; + i64toi32_i32$0 = $342$hi; + i64toi32_i32$0 = $346$hi; + i64toi32_i32$0 = $342$hi; + i64toi32_i32$0 = $346$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $342$hi; + i64toi32_i32$3 = 0; + label$4 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$4 + } + if (($153(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0) & 255 | 0) { + break label$4 + } + $42_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP16[($42_1 + 24 | 0) >> 1] = ((HEAPU16[($42_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -2 | 0; + } + label$5 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$5 + } + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 8; + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$6 : { + label$7 : { + label$8 : { + label$9 : { + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$9 + } + if (((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0) { + break label$8 + } + } + if (!(((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$7 + } + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) >> 2] | 0; + break label$6; + } + label$10 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + if (!((HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + break label$11; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$12; + }; + } + } + } + label$14 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 262; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $154(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 1 | 0, 1 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((0 | 0) != (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + break label$1; + } + $127_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP16[($127_1 + 24 | 0) >> 1] = ((HEAPU16[($127_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -17 | 0; + label$16 : { + if (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) { + break label$16 + } + $135_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP16[($135_1 + 24 | 0) >> 1] = (HEAPU16[($135_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 16 | 0; + } + label$17 : while (1) { + label$18 : while (1) { + $150_1 = 0; + label$19 : { + if (!((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$19 + } + $153_1 = $155(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $153_1; + $150_1 = (0 | 0) == ($153_1 | 0); + } + label$20 : { + if (!($150_1 & 1 | 0)) { + break label$20 + } + continue label$18; + } + break label$18; + }; + label$21 : { + if (HEAP32[($5_1 + 24 | 0) >> 2] | 0) { + break label$21 + } + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$21 + } + label$22 : { + label$23 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 8; + break label$22; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $157(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0 | 0, $156(HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + label$25 : { + if (HEAP32[($5_1 + 24 | 0) >> 2] | 0) { + break label$25 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $158(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + break label$24; + } + label$26 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (517 | 0) & 1 | 0)) { + break label$26 + } + if ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) { + break label$26 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 5; + } + } + } + } + label$27 : { + if (!(HEAP32[($5_1 + 24 | 0) >> 2] | 0)) { + break label$27 + } + $159(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0); + } + $208_1 = 0; + label$28 : { + if (!(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) & 255 | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$28 + } + $208_1 = 0; + if ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) { + break label$28 + } + $208_1 = ($160(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + if ($208_1 & 1 | 0) { + continue label$17 + } + break label$17; + }; + label$29 : { + if (HEAP32[($5_1 + 24 | 0) >> 2] | 0) { + break label$29 + } + label$30 : { + if ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) { + break label$30 + } + $229_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($229_1 + 44 | 0) >> 2] = (HEAP32[($229_1 + 44 | 0) >> 2] | 0) + 1 | 0; + label$31 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$31 + } + HEAP8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 0] = 1; + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 76 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 32 | 0; + } + } + HEAP8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 0] = HEAP32[($5_1 + 40 | 0) >> 2] | 0 ? 2 : 1; + label$32 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) > ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$32 + } + HEAP8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0; + } + label$33 : { + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$33 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 80 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $278_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP16[($278_1 + 24 | 0) >> 1] = ((HEAPU16[($278_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -65 | 0; + label$34 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$34 + } + $290_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP16[($290_1 + 24 | 0) >> 1] = (HEAPU16[($290_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 64 | 0; + } + label$35 : { + if (!((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != ($161((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 28 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$35 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$36 : { + if (HEAP32[($5_1 + 24 | 0) >> 2] | 0) { + break label$36 + } + $162((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 28 | 0 | 0, HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + } + } + } + } + } + label$37 : { + if (HEAP32[($5_1 + 24 | 0) >> 2] | 0) { + break label$37 + } + label$38 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$38 + } + $331_1 = $161((HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 40 | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = $331_1; + } + label$39 : { + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$39 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $163(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 456 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + } + $339_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $339_1 | 0; + } + + function $130($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $11_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $164(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $131(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0 | 0, $4_1 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $11_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $11_1 | 0; + } + + function $131($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0; + } + + function $132($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $133($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = $165(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $6_1 | 0; + } + + function $134($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $13_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $13_1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 12 | 0) >> 2] | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0, HEAP32[$6_1 >> 2] | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $13_1 | 0; + } + + function $135($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function $136($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $132$hi = 0, $133$hi = 0, $139$hi = 0, $24_1 = 0, $126$hi = 0, $127$hi = 0, $129$hi = 0, $130$hi = 0, $46_1 = 0, $48_1 = 0, $49_1 = 0, $50_1 = 0, $136$hi = 0, $137$hi = 0, $72_1 = 0, $78_1 = 0, $86_1 = 0, $140$hi = 0, $141$hi = 0, $143$hi = 0, $144$hi = 0, $147$hi = 0, $149$hi = 0, $223_1 = 0, $226_1 = 0, $129_1 = 0, $259_1 = 0, $132_1 = 0, $274_1 = 0, $136_1 = 0, $293_1 = 0, $93_1 = 0, $140_1 = 0, $381_1 = 0, $100_1 = 0, $143_1 = 0, $406_1 = 0, $149_1 = 0, $469$hi = 0, $123_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $9(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $131(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $131(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $24_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + break label$1; + } + $24_1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 48 | 0) >> 2] = $24_1; + i64toi32_i32$0 = 0; + $126$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $127$hi = i64toi32_i32$0; + i64toi32_i32$0 = $126$hi; + i64toi32_i32$0 = $127$hi; + $223_1 = i64toi32_i32$1; + i64toi32_i32$0 = $126$hi; + i64toi32_i32$1 = $127$hi; + i64toi32_i32$1 = __wasm_i64_mul(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, $223_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $226_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $226_1; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 36 | 0) >> 2] = 0; + label$3 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + if (!($166(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + HEAP32[($6_1 + 36 | 0) >> 2] = 8; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $129_1 = i64toi32_i32$0; + $129$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $130$hi = i64toi32_i32$1; + i64toi32_i32$1 = $129$hi; + i64toi32_i32$1 = $130$hi; + $259_1 = i64toi32_i32$0; + i64toi32_i32$1 = $129$hi; + i64toi32_i32$2 = $129_1; + i64toi32_i32$0 = $130$hi; + i64toi32_i32$3 = $259_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$5; + label$4 : while (1) { + $46_1 = 0; + label$5 : { + if (HEAP32[($6_1 + 36 | 0) >> 2] | 0) { + break label$5 + } + i64toi32_i32$1 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $132_1 = i64toi32_i32$5; + $132$hi = i64toi32_i32$2; + i64toi32_i32$1 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $133$hi = i64toi32_i32$5; + i64toi32_i32$5 = $132$hi; + i64toi32_i32$5 = $133$hi; + i64toi32_i32$5 = $132$hi; + i64toi32_i32$5 = $133$hi; + $274_1 = i64toi32_i32$2; + i64toi32_i32$5 = $132$hi; + i64toi32_i32$1 = $132_1; + i64toi32_i32$2 = $133$hi; + i64toi32_i32$3 = $274_1; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$2 | 0)) { + $48_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0) { + $49_1 = 0 + } else { + $49_1 = 1 + } + $50_1 = $49_1; + } else { + $50_1 = 0 + } + $48_1 = $50_1; + } + $46_1 = $48_1; + } + label$6 : { + if (!($46_1 & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $136_1 = i64toi32_i32$1; + $136$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$1 >> 31 | 0; + $137$hi = i64toi32_i32$5; + i64toi32_i32$5 = $136$hi; + i64toi32_i32$5 = $137$hi; + $293_1 = i64toi32_i32$1; + i64toi32_i32$5 = $136$hi; + i64toi32_i32$1 = $137$hi; + i64toi32_i32$1 = __wasm_i64_sdiv($136_1 | 0, i64toi32_i32$5 | 0, $293_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 16 | 0) >> 2] = i64toi32_i32$1 + 1 | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[((HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$7; + } + $72_1 = 0; + $78_1 = $134(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $6_1 + 20 | 0 | 0, $72_1 | 0) | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = $78_1; + label$9 : { + if (!(($72_1 | 0) == ($78_1 | 0) & 1 | 0)) { + break label$9 + } + $86_1 = $145(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = $86_1; + if (!((0 | 0) == ($86_1 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$5 = 0; + $139$hi = i64toi32_i32$5; + $93_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$3 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $140_1 = i64toi32_i32$5; + $140$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $141$hi = i64toi32_i32$1; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$1 = $141$hi; + $381_1 = i64toi32_i32$5; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$5 = $141$hi; + i64toi32_i32$5 = __wasm_i64_srem($140_1 | 0, i64toi32_i32$1 | 0, $381_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 12 | 0) >> 2] = $93_1 + i64toi32_i32$5 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $135(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $100_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $143_1 = i64toi32_i32$1; + $143$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$1 >> 31 | 0; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = $143$hi; + i64toi32_i32$5 = $144$hi; + $406_1 = i64toi32_i32$1; + i64toi32_i32$5 = $143$hi; + i64toi32_i32$1 = $144$hi; + i64toi32_i32$1 = __wasm_i64_srem($143_1 | 0, i64toi32_i32$5 | 0, $406_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 4 | 0) >> 2] = $100_1 + i64toi32_i32$1 | 0; + $3288(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $167(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP8[wasm2js_i32$0 >> 0] = wasm2js_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $147$hi = i64toi32_i32$1; + i64toi32_i32$1 = $139$hi; + i64toi32_i32$1 = $147$hi; + i64toi32_i32$1 = $139$hi; + i64toi32_i32$1 = $147$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $139$hi; + i64toi32_i32$2 = 0; + label$10 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$10 + } + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$10 + } + $162((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 28 | 0 | 0, $133(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0 | 0); + } + } + $137(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$1 >> 31 | 0; + $149_1 = i64toi32_i32$1; + $149$hi = i64toi32_i32$3; + i64toi32_i32$2 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $469$hi = i64toi32_i32$1; + i64toi32_i32$1 = $149$hi; + i64toi32_i32$1 = $469$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $149$hi; + i64toi32_i32$5 = $149_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$4; + continue label$4; + } + break label$4; + }; + $123_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $123_1 | 0; + } + + function $137($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $168(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $138($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $169($9(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = 1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $139($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $127(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $158(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $11_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $11_1 | 0; + } + + function $140($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $34_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + $162((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) + 36 | 0) | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + } + $34_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $34_1 | 0; + } + + function $141($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $38_1 = 0, $47_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $8(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$5 + } + $170(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + break label$4; + } + $38_1 = HEAP32[(((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP16[($38_1 + 78 | 0) >> 1] = (HEAPU16[($38_1 + 78 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + } + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $47_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($47_1 + 24 | 0) >> 2] = (HEAP32[($47_1 + 24 | 0) >> 2] | 0) & -18 | 0; + $171(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + label$6 : { + if (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$6 + } + $172(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $142($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0, $20_1 = 0, $26_1 = 0, $71_1 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $8_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP16[($8_1 + 24 | 0) >> 1] = ((HEAPU16[($8_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -33 | 0; + label$1 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$1 + } + $20_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP16[($20_1 + 24 | 0) >> 1] = (HEAPU16[($20_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 32 | 0; + } + $26_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $129(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $26_1 | 0, $26_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 255 | 0 | 0) & 1 | 0) { + break label$4 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $129(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 2 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$6 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 19 | 0) >> 0] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + } + } + } + } + $71_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP16[($71_1 + 24 | 0) >> 1] = ((HEAPU16[($71_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -33 | 0; + $77_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $77_1 | 0; + } + + function $143($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0; + } + + function $144($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + return; + } + + function $145($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $43_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $173(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if (!(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $174(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $175(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $43_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $43_1 | 0; + } + + function $146($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $44_1 = 0, $54_1 = 0, $147_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!($176(400 | 0) | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 10; + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$5 : { + label$6 : { + label$7 : { + if (!((0 | 0) == ($177(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + $178(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0); + break label$6; + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $44_1 = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $44_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $179(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == ($44_1 | 0) & 1 | 0)) { + break label$10 + } + $54_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $134(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 1 | 0, $5_1 + 4 | 0 | 0, $54_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = $54_1; + } + label$11 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $180(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $137(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + label$12 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$12 + } + $181(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0); + } + break label$8; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $182(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$13 + } + break label$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $183(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$14 + } + break label$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $184(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$15 + } + break label$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $179(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $185(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$16 + } + break label$5; + } + $181(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0); + label$17 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$17 + } + HEAP32[$5_1 >> 2] = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) - ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (((HEAP32[(0 + 69008 | 0) >> 2] | 0 | 0) / (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) & 1 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $186(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$18 + } + break label$5; + } + } + label$19 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$19 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $149(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + label$20 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$20 + } + if ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$20 + } + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] = 5; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $147_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $147_1 | 0; + } + + function $147($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $13_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0, i64toi32_i32$0, i64toi32_i32$1) | 0; + global$0 = $6_1 + 32 | 0; + return $13_1 | 0; + } + + function $148($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $19$hi = 0, $20$hi = 0, i64toi32_i32$3 = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $19_1 = 0, $54_1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $187(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $19_1 = i64toi32_i32$0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $20$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $20$hi; + $54_1 = i64toi32_i32$1; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$2 = $19_1; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$3 = $54_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + if (!($13_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $188(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $16_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $16_1 | 0; + } + + function $149($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $189(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, 21 | 0, HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (12 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + } + label$2 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + if (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $38_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $38_1 | 0; + } + + function $150($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + return; + } + + function $151($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $30_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $127(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $191(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$4 + } + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + } + $30_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($30_1 + 20 | 0) >> 2] = (HEAP32[($30_1 + 20 | 0) >> 2] | 0) + -1 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] = 1; + $192(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + $193(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $38_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $38_1 | 0; + } + + function $152($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $53_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $194(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + } + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $150(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $146(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $53_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $53_1 | 0; + } + + function $153($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 14 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $154($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $80_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 19 | 0) >> 0] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + if (!(((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 262; + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!(((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$7 + } + $80_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($80_1 + 24 | 0) >> 1] = (HEAPU16[($80_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 128 | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 262; + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$5; + }; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + return HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $155($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $18_1 = 0, $19_1 = 0, $292$hi = 0, i64toi32_i32$3 = 0, $26_1 = 0, $293$hi = 0, $294$hi = 0, $296$hi = 0, $72_1 = 0, $154_1 = 0, $209_1 = 0, $210_1 = 0, $219_1 = 0, $225_1 = 0, $289_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $781(HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($3_1 + 36 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $201(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, 1 | 0, $3_1 + 32 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($3_1 + 36 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + break label$1; + } + $26_1 = $161((HEAP32[((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 28 | 0 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $26_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $26_1; + $144(HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, $3_1 + 24 | 0 | 0); + label$4 : { + label$5 : { + if (!(HEAP32[($3_1 + 28 | 0) >> 2] | 0)) { + break label$5 + } + $18_1 = (HEAP32[((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 92 | 0; + $19_1 = (HEAP32[((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 24 | 0; + if (!((HEAPU8[$19_1 >> 0] | 0 | ((HEAPU8[($19_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($19_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($19_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0 | 0) != (HEAPU8[$18_1 >> 0] | 0 | ((HEAPU8[($18_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($18_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($18_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0 | 0))) { + break label$4 + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + } + i64toi32_i32$0 = 0; + $292$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $293$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $294$hi = i64toi32_i32$1; + i64toi32_i32$1 = $293$hi; + i64toi32_i32$1 = $294$hi; + i64toi32_i32$1 = $293$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $294$hi; + i64toi32_i32$3 = 33554432; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $296$hi = i64toi32_i32$0; + i64toi32_i32$0 = $292$hi; + i64toi32_i32$0 = $296$hi; + i64toi32_i32$0 = $292$hi; + i64toi32_i32$0 = $296$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $292$hi; + i64toi32_i32$3 = 0; + label$6 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + label$7 : { + label$8 : { + if (!((HEAP32[($3_1 + 28 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = 26; + label$9 : { + if (!($3228(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 4896 | 0, 16 | 0) | 0)) { + break label$9 + } + break label$7; + } + label$10 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$10 + } + $72_1 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + HEAP16[($72_1 + 24 | 0) >> 1] = (HEAPU16[($72_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + } + label$11 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$11 + } + break label$7; + } + label$12 : { + label$13 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$13 + } + if (((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$13 + } + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $782(HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, $3_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!(HEAP32[($3_1 + 36 | 0) >> 2] | 0)) { + break label$14 + } + break label$7; + } + label$15 : { + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$15 + } + $203(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 36 | 0) >> 2] = 26; + break label$12; + } + } + label$16 : { + if (!($3228((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 21 | 0 | 0, 4912 | 0, 3 | 0) | 0)) { + break label$16 + } + break label$7; + } + HEAP32[($3_1 + 16 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | (((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0; + label$17 : { + label$18 : { + if (((HEAP32[($3_1 + 16 | 0) >> 2] | 0) - 1 | 0) & (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0) { + break label$18 + } + if ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) >>> 0 > 65536 >>> 0 & 1 | 0) { + break label$18 + } + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0) >>> 0 <= 256 >>> 0 & 1 | 0)) { + break label$17 + } + } + break label$7; + } + $154_1 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + HEAP16[($154_1 + 24 | 0) >> 1] = (HEAPU16[($154_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) - ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) | 0; + label$19 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $203(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + $514(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $515(HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($3_1 + 16 | 0) >> 2] | 0) - (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + break label$1; + } + label$20 : { + if ($783(HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$20 + } + if (!((HEAP32[($3_1 + 28 | 0) >> 2] | 0) >>> 0 > (HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(67916 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$7; + } + label$21 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 < 480 >>> 0 & 1 | 0)) { + break label$21 + } + break label$7; + } + $209_1 = 1; + $210_1 = 0; + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $219_1 = $161((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 52 | 0 | 0) | 0 ? $209_1 : $210_1; + HEAP8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 17 | 0) >> 0] = $219_1; + $225_1 = $161((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 64 | 0 | 0) | 0 ? $209_1 : $210_1; + HEAP8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 0] = $225_1; + } + HEAP16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 26 | 0) >> 1] = (((((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 12 | 0) << 6 | 0) >>> 0) / (255 >>> 0) | 0) - 23 | 0; + HEAP16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 1] = (((((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 12 | 0) << 5 | 0) >>> 0) / (255 >>> 0) | 0) - 23 | 0; + HEAP16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 30 | 0) >> 1] = (HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 35 | 0; + HEAP16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 1] = (((((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 12 | 0) << 5 | 0) >>> 0) / (255 >>> 0) | 0) - 23 | 0; + label$22 : { + label$23 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0 | 0) > (127 | 0) & 1 | 0)) { + break label$23 + } + HEAP8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 21 | 0) >> 0] = 127; + break label$22; + } + HEAP8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 21 | 0) >> 0] = HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0; + } + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[($3_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $203(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + } + $289_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $289_1 | 0; + } + + function $156($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0 | 0; + } + + function $157($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$1; + } + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 21 | 0) >> 0] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + label$3 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0)) { + break label$6 + } + if (!($735(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $716(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $735(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $784(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $716(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$8 + } + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $715(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + label$9 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$9 + } + i64toi32_i32$0 = 0; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] = 2; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$0; + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $72_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $72_1 | 0; + } + + function $158($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $12_1 = 0, $13_1 = 0, $23_1 = 0, $26_1 = 0, $28_1 = 0, $63_1 = 0, $149_1 = 0, $153_1 = 0, $85_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($3_1 + 12 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $23_1 = 1; + $26_1 = 32; + $28_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4904 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4908 | 0) >> 2] | 0; + $149_1 = i64toi32_i32$0; + i64toi32_i32$0 = $28_1 + 8 | 0; + $12_1 = $149_1; + HEAP8[i64toi32_i32$0 >> 0] = $12_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $12_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $12_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $12_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4896 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4900 | 0) >> 2] | 0; + $153_1 = i64toi32_i32$1; + i64toi32_i32$1 = $28_1; + $13_1 = $153_1; + HEAP8[i64toi32_i32$1 >> 0] = $13_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $13_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $13_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $13_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] = ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 8 | 0) & 255 | 0; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 17 | 0) >> 0] = ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 16 | 0) & 255 | 0; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 18 | 0) >> 0] = $23_1; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 19 | 0) >> 0] = $23_1; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 0] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 21 | 0) >> 0] = 64; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 22 | 0) >> 0] = $26_1; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 23 | 0) >> 0] = $26_1; + $3289((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 24 | 0 | 0, 0 | 0, 76 | 0) | 0; + $785(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, 13 | 0); + $63_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP16[($63_1 + 24 | 0) >> 1] = (HEAPU16[($63_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0; + $162((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 52 | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0); + $162((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 64 | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0); + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] = 1; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 31 | 0) >> 0] = $23_1; + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $85_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $85_1 | 0; + } + + function $159($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + $203(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $160($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $9_1 = $629((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 400 | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $9_1 | 0; + } + + function $161($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return ((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0 | 0; + } + + function $162($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 24 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 16 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 8 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + return; + } + + function $163($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $786(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $21_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $21_1 | 0; + } + + function $164($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $70_1 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + HEAP32[$6_1 >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[$6_1 >> 2] | 0) + 22 | 0) >> 0] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[$6_1 >> 2] | 0) + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[$6_1 >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + label$1 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + } + label$2 : { + label$3 : { + if (!(((HEAPU16[((HEAP32[$6_1 >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$3 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 8; + break label$2; + } + label$4 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) >= (512 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) <= (65536 | 0) & 1 | 0)) { + break label$4 + } + if (((HEAP32[($6_1 + 20 | 0) >> 2] | 0) - 1 | 0) & (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) { + break label$4 + } + HEAP32[((HEAP32[$6_1 >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $514(HEAP32[$6_1 >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $515(HEAP32[(HEAP32[$6_1 >> 2] | 0) >> 2] | 0 | 0, (HEAP32[$6_1 >> 2] | 0) + 36 | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[$6_1 >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[((HEAP32[$6_1 >> 2] | 0) + 36 | 0) >> 2] | 0) - ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) & 65535 | 0) | 0; + label$5 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$5 + } + $70_1 = HEAP32[$6_1 >> 2] | 0; + HEAP16[($70_1 + 24 | 0) >> 1] = (HEAPU16[($70_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + $77_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $77_1 | 0; + } + + function $165($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0; + } + + function $166($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $167($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function $168($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$2 + } + $755(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + break label$1; + } + $751(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $169($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 88 | 0 | 0; + } + + function $170($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6_1 = 0, $9_1 = 0, $14_1 = 0, $20_1 = 0, $76_1 = 0, $80_1 = 0, $119_1 = 0, $129_1 = 0, $138_1 = 0, $148_1 = 0; + $3_1 = global$0 - 64 | 0; + global$0 = $3_1; + $6_1 = $3_1 + 24 | 0; + $9_1 = $3_1 + 40 | 0; + HEAP32[($3_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$2 = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $119_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1; + HEAP32[i64toi32_i32$0 >> 2] = $119_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $14_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $14_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $129_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1 + $14_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $129_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 40 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $138_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[i64toi32_i32$0 >> 2] = $138_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $20_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $20_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $148_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1 + $20_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $148_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $489((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 40 | 0 | 0); + $209((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 24 | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $10(0 | 0, HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + continue label$2; + }; + } + $209($3_1 + 24 | 0 | 0); + $489((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $11(0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + continue label$4; + }; + } + $209($3_1 + 40 | 0 | 0); + $209((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 56 | 0 | 0); + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] = 0; + label$5 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 78 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$5 + } + $76_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[($76_1 + 4 | 0) >> 2] = (HEAP32[($76_1 + 4 | 0) >> 2] | 0) + 1 | 0; + } + $80_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP16[($80_1 + 78 | 0) >> 1] = ((HEAPU16[($80_1 + 78 | 0) >> 1] | 0) & 65535 | 0) & -10 | 0; + global$0 = $3_1 + 64 | 0; + return; + } + + function $171($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 364 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 364 | 0) >> 2] = $13_1; + $395(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $13_1 | 0); + label$2 : while (1) { + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $841(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + continue label$2 + } + break label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $172($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $82_1 = 0, $84_1 = 0, $4_1 = 0, $44_1 = 0, $51_1 = 0, $85_1 = 0, $88_1 = 0, $91_1 = 0, $217_1 = 0, $227_1 = 0, $293_1 = 0, $303_1 = 0, $313_1 = 0, $323_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 2; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $13(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] = 0; + break label$3; + } + label$5 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $44_1 = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $217_1 = i64toi32_i32$0; + i64toi32_i32$0 = $44_1; + HEAP32[i64toi32_i32$0 >> 2] = $217_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $51_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $51_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $227_1 = i64toi32_i32$1; + i64toi32_i32$1 = $44_1 + $51_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $227_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) <= (2 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 412 | 0 | 0) & 1 | 0)) { + break label$6 + } + $82_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 412 | 0; + $84_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $84_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $293_1 = i64toi32_i32$0; + i64toi32_i32$0 = $82_1; + HEAP32[i64toi32_i32$0 >> 2] = $293_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $85_1 = 24; + i64toi32_i32$2 = i64toi32_i32$2 + $85_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $303_1 = i64toi32_i32$1; + i64toi32_i32$1 = $82_1 + $85_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $303_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $88_1 = 16; + i64toi32_i32$2 = $84_1 + $88_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $313_1 = i64toi32_i32$0; + i64toi32_i32$0 = $82_1 + $88_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $313_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $91_1 = 8; + i64toi32_i32$2 = $84_1 + $91_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $323_1 = i64toi32_i32$1; + i64toi32_i32$1 = $82_1 + $91_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $323_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $13(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 412 | 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $173($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!($650(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $651(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $9_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $9_1 | 0; + } + + function $174($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $12_1 = 0, $72_1 = 0, $130_1 = 0, $169_1 = 0, $179_1 = 0, $185_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = ((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) >>> 0) | 0; + $12_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP8[($12_1 + 20 | 0) >> 0] = (HEAPU8[($12_1 + 20 | 0) >> 0] | 0) & 255 | 0 | 4 | 0; + HEAP32[($3_1 + 32 | 0) >> 2] = (((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) - 1 | 0) & (((HEAP32[($3_1 + 12 | 0) >> 2] | 0) - 1 | 0) ^ -1 | 0) | 0) + 1 | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 > (HEAP32[($3_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = ((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) - (HEAP32[($3_1 + 32 | 0) >> 2] | 0) | 0) + 1 | 0; + break label$1; + } + label$3 : { + label$4 : { + if (!((((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0) - 1 | 0) >>> 0 > (HEAP32[($3_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 28 | 0) >> 2] = ((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[($3_1 + 32 | 0) >> 2] | 0) | 0; + break label$3; + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + } + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$5 : while (1) { + $72_1 = 0; + label$6 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $72_1 = (HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$7 : { + if (!($72_1 & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 32 | 0) >> 2] | 0) + (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0; + label$8 : { + label$9 : { + label$10 : { + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$10 + } + if ($519(HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$9 + } + } + label$11 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (((HEAP32[(0 + 69008 | 0) >> 2] | 0 | 0) / (HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $134(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, $3_1 + 4 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (HEAP32[($3_1 + 40 | 0) >> 2] | 0) { + break label$12 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $175(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$13 + } + HEAP32[($3_1 + 20 | 0) >> 2] = 1; + } + $168(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + } + } + break label$8; + } + $130_1 = $749(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $130_1; + label$14 : { + if (!(($130_1 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$15 + } + HEAP32[($3_1 + 20 | 0) >> 2] = 1; + } + $168(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + label$16 : { + if (HEAP32[($3_1 + 40 | 0) >> 2] | 0) { + break label$16 + } + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$16 + } + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $749(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 32 | 0) >> 2] | 0) + (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$19 : { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + $169_1 = HEAP32[$3_1 >> 2] | 0; + HEAP16[($169_1 + 28 | 0) >> 1] = (HEAPU16[($169_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + $168(HEAP32[$3_1 >> 2] | 0 | 0); + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + } + $179_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP8[($179_1 + 20 | 0) >> 0] = ((HEAPU8[($179_1 + 20 | 0) >> 0] | 0) & 255 | 0) & -5 | 0; + $185_1 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $185_1 | 0; + } + + function $175($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $58_1 = 0, $65_1 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $801(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[$3_1 >> 2] | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + break label$1; + } + } + $750(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if ($662(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $802(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[$3_1 >> 2] | 0)) { + break label$7 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + break label$1; + } + break label$5; + } + label$8 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$8 + } + $58_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($58_1 + 28 | 0) >> 1] = (HEAPU16[($58_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + } + } + } + $65_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($65_1 + 28 | 0) >> 1] = (HEAPU16[($65_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $173(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + label$10 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + } + $93_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $93_1 | 0; + } + + function $176($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(0 + 68612 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = FUNCTION_TABLE[HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + break label$1; + } + $16_1 = 0; + } + global$0 = $3_1 + 16 | 0; + return $16_1 | 0; + } + + function $177($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if ((HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ($759(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) | 0 | 0) >= (25 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $31_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $31_1 | 0; + } + + function $178($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = 1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + continue label$2; + }; + } + return; + } + + function $179($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $20_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + continue label$2; + }; + } + $20_1 = $754(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $20_1 | 0; + } + + function $180($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $14_1 = 0, $40_1 = 0, $88_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[$6_1 >> 2] = $6_1 + 24 | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + $14_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP32[(HEAP32[$6_1 >> 2] | 0) >> 2] = $14_1; + if (!(($14_1 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + HEAP32[$6_1 >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 16 | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$4; + }; + } + break label$1; + } + HEAP32[($6_1 + 8 | 0) >> 2] = 1; + } + $40_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($40_1 + 192 | 0) >> 2] = (HEAP32[($40_1 + 192 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$6 + } + $652(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $653(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$7 + } + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $654(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$9; + }; + } + } + $88_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $88_1 | 0; + } + + function $181($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : while (1) { + $6_1 = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $6_1; + if (!(($6_1 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $644(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + continue label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $182($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $134(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, $4_1 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $145(HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + $652(HEAP32[$4_1 >> 2] | 0 | 0); + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 0] = 1; + } + $137(HEAP32[$4_1 >> 2] | 0 | 0); + } + $37_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $37_1 | 0; + } + + function $183($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $194$hi = 0, $195$hi = 0, $5_1 = 0, $51_1 = 0, $82_1 = 0, $169$hi = 0, $170$hi = 0, $93_1 = 0, $172$hi = 0, $173$hi = 0, $174$hi = 0, $175$hi = 0, $105_1 = 0, $177$hi = 0, $178$hi = 0, $179$hi = 0, $180$hi = 0, $181$hi = 0, $182$hi = 0, $117_1 = 0, $184$hi = 0, $185$hi = 0, $186$hi = 0, $187$hi = 0, $188$hi = 0, $189$hi = 0, $130_1 = 0, $191$hi = 0, $145_1 = 0, $148_1 = 0, $63_1 = 0, $64_1 = 0, $65_1 = 0, $338_1 = 0, $344_1 = 0, $88_1 = 0, $90_1 = 0, $91_1 = 0, $92_1 = 0, $99_1 = 0, $101_1 = 0, $422_1 = 0, $111_1 = 0, $113_1 = 0, $456_1 = 0, $123_1 = 0, $124_1 = 0, $125_1 = 0, $127_1 = 0, $493_1 = 0, $137_1 = 0, $140_1 = 0, $191_1 = 0, $535$hi = 0, $194_1 = 0, $568_1 = 0, $163_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$3 + } + if (((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 19 | 0) >> 0] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!(((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + $51_1 = 24; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) << $51_1 | 0) >> $51_1 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$6 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = $656(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $338_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] = $338_1; + HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $344_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $344_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $82_1 = $664(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, ((HEAP32[(0 + 69008 | 0) >> 2] | 0 | 0) / (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $82_1; + label$7 : { + label$8 : { + if ((0 | 0) != ($82_1 | 0) & 1 | 0) { + break label$8 + } + $88_1 = 0; + $90_1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + $91_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $92_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $169$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $170$hi = i64toi32_i32$0; + i64toi32_i32$0 = $169$hi; + i64toi32_i32$0 = $170$hi; + i64toi32_i32$0 = $169$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $170$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $93_1 = $147($90_1 | 0, $91_1 | 0, $92_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $93_1; + if (($88_1 | 0) != ($93_1 | 0) & 1 | 0) { + break label$8 + } + $99_1 = 0; + $101_1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $172$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $173$hi = i64toi32_i32$2; + i64toi32_i32$2 = $172$hi; + i64toi32_i32$2 = $173$hi; + i64toi32_i32$2 = $172$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $173$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $174$hi = i64toi32_i32$4; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $175$hi = i64toi32_i32$4; + i64toi32_i32$4 = $174$hi; + i64toi32_i32$4 = $175$hi; + $422_1 = i64toi32_i32$0; + i64toi32_i32$4 = $174$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = $175$hi; + i64toi32_i32$3 = $422_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $105_1 = $664($101_1 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $105_1; + if (($99_1 | 0) != ($105_1 | 0) & 1 | 0) { + break label$8 + } + $111_1 = 0; + $113_1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$4 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $177$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $178$hi = i64toi32_i32$2; + i64toi32_i32$2 = $177$hi; + i64toi32_i32$2 = $178$hi; + i64toi32_i32$2 = $177$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $178$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $179$hi = i64toi32_i32$5; + i64toi32_i32$4 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$4 >> 31 | 0; + $180$hi = i64toi32_i32$5; + i64toi32_i32$5 = $179$hi; + i64toi32_i32$5 = $180$hi; + $456_1 = i64toi32_i32$4; + i64toi32_i32$5 = $179$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$4 = $180$hi; + i64toi32_i32$3 = $456_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $181$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $182$hi = i64toi32_i32$0; + i64toi32_i32$0 = $181$hi; + i64toi32_i32$0 = $182$hi; + i64toi32_i32$0 = $181$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$2 = $182$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $117_1 = $664($113_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $117_1; + if (($111_1 | 0) != ($117_1 | 0) & 1 | 0) { + break label$8 + } + $123_1 = 0; + $124_1 = 4815; + $125_1 = 8; + $127_1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $184$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $185$hi = i64toi32_i32$5; + i64toi32_i32$5 = $184$hi; + i64toi32_i32$5 = $185$hi; + i64toi32_i32$5 = $184$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $185$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $186$hi = i64toi32_i32$4; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $187$hi = i64toi32_i32$4; + i64toi32_i32$4 = $186$hi; + i64toi32_i32$4 = $187$hi; + $493_1 = i64toi32_i32$0; + i64toi32_i32$4 = $186$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$0 = $187$hi; + i64toi32_i32$3 = $493_1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $188$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $189$hi = i64toi32_i32$2; + i64toi32_i32$2 = $188$hi; + i64toi32_i32$2 = $189$hi; + i64toi32_i32$2 = $188$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$5 = $189$hi; + i64toi32_i32$3 = 8; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $130_1 = $147($127_1 | 0, $124_1 | 0, $125_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $130_1; + if (!(($123_1 | 0) != ($130_1 | 0) & 1 | 0)) { + break label$7 + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + break label$1; + } + $137_1 = 0; + $140_1 = $4_1 + 8 | 0; + i64toi32_i32$4 = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0; + i64toi32_i32$1 = i64toi32_i32$4 >> 31 | 0; + $191_1 = i64toi32_i32$4; + $191$hi = i64toi32_i32$1; + $145_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = $145_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $535$hi = i64toi32_i32$4; + i64toi32_i32$4 = $191$hi; + i64toi32_i32$4 = $535$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $191$hi; + i64toi32_i32$3 = $191_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$2 = $145_1; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$0; + $148_1 = $187(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, $140_1 | 0) | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $148_1; + label$9 : { + if (!(($137_1 | 0) == ($148_1 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$4 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $194_1 = i64toi32_i32$0; + $194$hi = i64toi32_i32$2; + i64toi32_i32$4 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 76 | 0) >> 2] | 0; + $195$hi = i64toi32_i32$0; + i64toi32_i32$0 = $194$hi; + i64toi32_i32$0 = $195$hi; + i64toi32_i32$0 = $194$hi; + i64toi32_i32$0 = $195$hi; + $568_1 = i64toi32_i32$2; + i64toi32_i32$0 = $194$hi; + i64toi32_i32$4 = $194_1; + i64toi32_i32$2 = $195$hi; + i64toi32_i32$3 = $568_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { + $63_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$4 >>> 0 <= i64toi32_i32$3 >>> 0) { + $64_1 = 0 + } else { + $64_1 = 1 + } + $65_1 = $64_1; + } else { + $65_1 = 0 + } + $63_1 = $65_1; + } + if (!($63_1 & 1 | 0)) { + break label$9 + } + i64toi32_i32$3 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $188(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + } + $163_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $163_1 | 0; + } + + function $184($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $11_1 = 0, $299_1 = 0, $314_1 = 0, $525_1 = 0, $570_1 = 0, $182_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $655(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 48 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $619(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((0 | 0) == ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) & 512 | 0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4815 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 4816 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 4817 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 4818 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4819 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 4820 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 4821 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 4822 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $299_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1 + 12 | 0; + $11_1 = $299_1; + HEAP8[i64toi32_i32$0 >> 0] = $11_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $11_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $11_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $11_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $162(i64toi32_i32$0 + 8 | 0 | 0, HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + i64toi32_i32$1 = $656(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $314_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $314_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, $4_1 + 24 | 0 | 0, 8 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$7 + } + if (!((0 | 0) == ($3228($4_1 + 24 | 0 | 0, 4815 | 0, 8 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, 4823 | 0, 1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + if (!(HEAP32[($4_1 + 48 | 0) >> 2] | 0)) { + break label$8 + } + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != (522 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + break label$1; + } + label$9 : { + if (!((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0)) { + break label$9 + } + if (!((0 | 0) == ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) & 1024 | 0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(HEAP32[($4_1 + 48 | 0) >> 2] | 0)) { + break label$10 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + break label$1; + } + } + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, $4_1 + 12 | 0 | 0, 12 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($4_1 + 48 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + break label$1; + } + } + label$12 : { + if (!((0 | 0) == ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) & 1024 | 0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | (((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0 ? 16 : 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($4_1 + 48 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + break label$1; + } + } + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $525_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 80 | 0) >> 2] = $525_1; + HEAP32[(i64toi32_i32$1 + 84 | 0) >> 2] = i64toi32_i32$0; + label$14 : { + if (!(HEAP32[($4_1 + 52 | 0) >> 2] | 0)) { + break label$14 + } + if (!((0 | 0) == ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) & 512 | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $657(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!(HEAP32[($4_1 + 48 | 0) >> 2] | 0)) { + break label$15 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + break label$1; + } + } + break label$4; + } + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $570_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 80 | 0) >> 2] = $570_1; + HEAP32[(i64toi32_i32$0 + 84 | 0) >> 2] = i64toi32_i32$1; + } + } + $658(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 0] = 4; + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + } + $182_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $182_1 | 0; + } + + function $185($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $21_1 = 0, $22_1 = 0, $5_1 = 0, $159$hi = 0, $160$hi = 0, $64_1 = 0, $162$hi = 0, $163$hi = 0, $128_1 = 0, $132_1 = 0, $145_1 = 0, $23_1 = 0, $284_1 = 0, $376_1 = 0, $379_1 = 0, $447_1 = 0, $457_1 = 0, $156_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $5_1; + label$1 : { + if ((HEAP32[(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $659(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($4_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + label$3 : { + if ((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + } + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $159$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $160$hi = i64toi32_i32$0; + i64toi32_i32$0 = $159$hi; + i64toi32_i32$0 = $160$hi; + i64toi32_i32$0 = $159$hi; + $23_1 = i64toi32_i32$1; + i64toi32_i32$1 = $160$hi; + i64toi32_i32$1 = __wasm_i64_mul($23_1 | 0, i64toi32_i32$0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $284_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $284_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + $615(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, 5 | 0, $4_1 + 24 | 0 | 0); + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + } + label$4 : while (1) { + $64_1 = 0; + label$5 : { + if (HEAP32[($4_1 + 36 | 0) >> 2] | 0) { + break label$5 + } + $64_1 = (HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$6 : { + if (!($64_1 & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + if (!((0 | 0) == (((HEAPU16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$0 = 0; + $162$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $163$hi = i64toi32_i32$0; + i64toi32_i32$0 = $162$hi; + i64toi32_i32$0 = $163$hi; + $376_1 = i64toi32_i32$1; + i64toi32_i32$0 = $162$hi; + i64toi32_i32$1 = $163$hi; + i64toi32_i32$1 = __wasm_i64_mul((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$0 | 0, $376_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $379_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $379_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$9 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$9 + } + $652(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$10 + } + $128_1 = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 104 | 0; + i64toi32_i32$2 = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $447_1 = i64toi32_i32$1; + i64toi32_i32$1 = $128_1; + $21_1 = $447_1; + HEAP8[i64toi32_i32$1 >> 0] = $21_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $21_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $21_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $21_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $132_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $132_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $457_1 = i64toi32_i32$0; + i64toi32_i32$0 = $128_1 + $132_1 | 0; + $22_1 = $457_1; + HEAP8[i64toi32_i32$0 >> 0] = $22_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $22_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $22_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $22_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + } + label$11 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + $145_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($145_1 + 192 | 0) >> 2] = (HEAP32[($145_1 + 192 | 0) >> 2] | 0) + 1 | 0; + $654(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$7; + } + } + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$4; + } + break label$4; + }; + $156_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $156_1 | 0; + } + + function $186($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $76$hi = 0, $77$hi = 0, $80$hi = 0, $81$hi = 0, $87$hi = 0, $88$hi = 0, $5_1 = 0, $73$hi = 0, $74$hi = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $85$hi = 0, $86$hi = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $91$hi = 0, $92$hi = 0, $39_1 = 0, $178_1 = 0, $76_1 = 0, $189_1 = 0, $80_1 = 0, $203_1 = 0, $85_1 = 0, $229_1 = 0, $236_1 = 0, $91_1 = 0, $273_1 = 0, $70_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) >= (4 | 0) & 1 | 0) { + break label$2 + } + if ((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, $4_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $73$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $74$hi = i64toi32_i32$0; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = $74$hi; + i64toi32_i32$0 = $73$hi; + $39_1 = i64toi32_i32$1; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$1 = __wasm_i64_mul($39_1 | 0, i64toi32_i32$0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $178_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $178_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$3 : { + if (HEAP32[($4_1 + 36 | 0) >> 2] | 0) { + break label$3 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $76_1 = i64toi32_i32$0; + $76$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $77$hi = i64toi32_i32$0; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $77$hi; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $77$hi; + $189_1 = i64toi32_i32$1; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$2 = $76_1; + i64toi32_i32$1 = $77$hi; + i64toi32_i32$3 = $189_1; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $80_1 = i64toi32_i32$2; + $80$hi = i64toi32_i32$0; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $81$hi = i64toi32_i32$2; + i64toi32_i32$2 = $80$hi; + i64toi32_i32$2 = $81$hi; + i64toi32_i32$2 = $80$hi; + i64toi32_i32$2 = $81$hi; + $203_1 = i64toi32_i32$0; + i64toi32_i32$2 = $80$hi; + i64toi32_i32$3 = $80_1; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$1 = $203_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $33_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $34_1 = 0 + } else { + $34_1 = 1 + } + $35_1 = $34_1; + } else { + $35_1 = 0 + } + $33_1 = $35_1; + } + label$4 : { + label$5 : { + if (!($33_1 & 1 | 0)) { + break label$5 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $188(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $85_1 = i64toi32_i32$2; + $85$hi = i64toi32_i32$3; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + $86$hi = i64toi32_i32$3; + i64toi32_i32$3 = $85$hi; + i64toi32_i32$3 = $86$hi; + $229_1 = i64toi32_i32$2; + i64toi32_i32$3 = $85$hi; + i64toi32_i32$1 = $85_1; + i64toi32_i32$2 = $86$hi; + i64toi32_i32$0 = $229_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $87$hi = i64toi32_i32$5; + i64toi32_i32$3 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $88$hi = i64toi32_i32$1; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$1 = $88$hi; + $236_1 = i64toi32_i32$5; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$5 = $88$hi; + i64toi32_i32$0 = $236_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$5 | 0)) { + $36_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$3 >>> 0 > i64toi32_i32$0 >>> 0) { + $37_1 = 0 + } else { + $37_1 = 1 + } + $38_1 = $37_1; + } else { + $38_1 = 0 + } + $36_1 = $38_1; + } + label$6 : { + if (!($36_1 & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0; + $3289(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $91_1 = i64toi32_i32$3; + $91$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $92$hi = i64toi32_i32$1; + i64toi32_i32$1 = $91$hi; + i64toi32_i32$1 = $92$hi; + $273_1 = i64toi32_i32$3; + i64toi32_i32$1 = $91$hi; + i64toi32_i32$0 = $91_1; + i64toi32_i32$3 = $92$hi; + i64toi32_i32$5 = $273_1; + i64toi32_i32$2 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$4 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$4 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + } + label$7 : { + if (HEAP32[($4_1 + 36 | 0) >> 2] | 0) { + break label$7 + } + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + } + } + } + $70_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $70_1 | 0; + } + + function $187($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $10_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $188($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $9_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0, i64toi32_i32$0, i64toi32_i32$1) | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $189($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 12; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 8 | 0) >> 2] | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0, HEAP32[$5_1 >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $22_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $22_1 | 0; + } + + function $190($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $12_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + break label$1; + } + $12_1 = 0; + } + global$0 = $4_1 + 16 | 0; + return $12_1 | 0; + } + + function $191($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, $50_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$1; + } + $10_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($10_1 + 100 | 0) >> 2] = (HEAP32[($10_1 + 100 | 0) >> 2] | 0) + 1 | 0; + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] = 1; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $726(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $639(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $50_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $50_1 | 0; + } + + function $192($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $521(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $193($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $37_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 19 | 0) >> 0] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 176 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$2 + } + $805(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] = 1; + break label$1; + } + label$3 : { + if (!((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + $806(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $37_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($37_1 + 44 | 0) >> 2] = (HEAP32[($37_1 + 44 | 0) >> 2] | 0) + -1 | 0; + label$4 : { + if (!((0 | 0) == (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] = 0; + } + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] = 0; + $159(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $194($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $70_1 = 0, $82_1 = 0, $115_1 = 0, $142_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + $807(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $165(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (($808(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0) | 0 | 0) == (HEAP32[$3_1 >> 2] | 0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[$3_1 >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$3 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(68667 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $809(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 > (HEAP32[$3_1 >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(68672 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$6 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[$3_1 >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + $70_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $198(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $70_1 | 0, $70_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + label$7 : while (1) { + $82_1 = 0; + label$8 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) >>> 0 > (HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + $82_1 = (HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$9 : { + if (!($82_1 & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $810(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + -1 | 0; + continue label$7; + } + break label$7; + }; + label$10 : { + label$11 : { + if ((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0) { + break label$11 + } + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$10 + } + } + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$10 + } + $115_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $162((HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 32 | 0 | 0, $115_1 | 0); + $162((HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 36 | 0 | 0, $115_1 | 0); + $162((HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 28 | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 19 | 0) >> 0] = 1; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + label$12 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$12 + } + $200(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $142_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $142_1 | 0; + } + + function $195($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $33_1 = 0, $59_1 = 0, $70_1 = 0, $98_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $127(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + label$3 : { + if (!((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + } + label$4 : { + if (!((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $33_1 = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($33_1 + 16 | 0) >> 2] = (HEAP32[($33_1 + 16 | 0) >> 2] | 0) + -1 | 0; + } + label$5 : { + if (!(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $169($9(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 44 | 0; + continue label$7; + }; + } + HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + } + $59_1 = 0; + $196(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $59_1 | 0, $59_1 | 0) | 0; + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$9 + } + $70_1 = 0; + break label$8; + } + $70_1 = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $70_1; + label$10 : { + if (!((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $115(HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $197(HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $42(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + } + $197(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + $98_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $98_1 | 0; + } + + function $196($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $12_1 = 0, $52_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 24 | 0) >> 2] | 0) { + break label$2 + } + $10_1 = 0; + $12_1 = $198(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $10_1 | 0, $10_1 | 0) | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $12_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $12_1; + label$3 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + } + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + } + label$4 : { + if (!(HEAP32[($5_1 + 24 | 0) >> 2] | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $199(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + } + label$6 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $200(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[$5_1 >> 2] | 0)) { + break label$7 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + } + label$8 : { + if ($201(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, $5_1 + 8 | 0 | 0, 0 | 0) | 0) { + break label$8 + } + $202(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $203(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] = 1; + $192(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + $193(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + $52_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $52_1 | 0; + } + + function $197($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) != (1691352191 | 0) & 1 | 0) { + break label$3 + } + if (!($204(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + } + break label$1; + } + $14_1 = 0; + $205(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, $14_1 | 0); + $206(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = $14_1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $207(HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + label$7 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + } + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$8 : { + if (!((HEAP32[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $170(HEAP32[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + } + $171(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + $172(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 376 | 0) >> 2] | 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$11 : while (1) { + $208(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $13(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + continue label$11 + } + break label$11; + }; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + continue label$10; + }; + } + $209((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 368 | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 392 | 0) >> 2] | 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$14 + } + label$16 : { + if (!((HEAP32[(((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 20 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + FUNCTION_TABLE[HEAP32[(((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 20 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[(((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 20 | 0) >> 2] | 0, 20) | 0) + 8 | 0) >> 2] | 0); + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + $13(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + continue label$13; + }; + } + $209((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 384 | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 348 | 0) >> 2] | 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $210(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0); + $211(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + continue label$18; + }; + } + $209((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 340 | 0 | 0); + $115(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0); + $212(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] = -1254786768; + $13(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] = -1623446221; + label$19 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 280 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$19 + } + $42(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 320 | 0) >> 2] | 0 | 0); + } + $42(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $198($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $57_1 = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if ((0 | 0) == (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + } + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$2; + }; + } + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $811(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + label$7 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $57_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP8[($57_1 + 1 | 0) >> 0] = ((HEAPU8[($57_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -33 | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $64_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $64_1 | 0; + } + + function $199($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $59_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + label$1 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + $127(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$5 + } + if (((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$5 + } + label$6 : { + label$7 : { + if (!((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$7 + } + if (!(((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$6 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $816(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$8 + } + $199(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + break label$2; + } + } + break label$4; + } + $836(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + HEAP8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] = 4; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + $817(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$3; + }; + } + } + $59_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $59_1 | 0; + } + + function $200($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $69_1 = 0, $104_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $727(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 2 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $726(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + } + break label$4; + } + label$7 : { + label$8 : { + label$9 : { + if (!((HEAP32[(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$8 + } + } + $69_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $726(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $69_1 | 0, $69_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$10 + } + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = 4; + HEAP8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] = 6; + $624(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + break label$7; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $728(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $639(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $104_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $104_1 | 0; + } + + function $201($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $21_1 = 0, $23_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $134(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, $6_1 + 4 | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + break label$1; + } + $21_1 = $791(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = $21_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $23_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $23_1 | 0; + } + + function $202($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + $144(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, $4_1 + 4 | 0 | 0); + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $203($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $794(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $204($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $43_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[$3_1 >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!($1848(HEAP32[$3_1 >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $43_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $43_1 | 0; + } + + function $205($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $12_1 = 0, $103_1 = 0, $78_1 = 0, $104$hi = 0, $105$hi = 0, $271_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + $449(); + $8(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + $12_1 = 0; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 1 | 0)) { + break label$1 + } + $12_1 = ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + HEAP32[($4_1 + 12 | 0) >> 2] = $12_1 & 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(($125(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + } + $196(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0 | 0) | 0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $458(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $450(); + label$6 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$6 + } + $395(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0); + $141(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$0 = 0; + $103_1 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 464 | 0) >> 2] = $103_1; + HEAP32[(i64toi32_i32$1 + 468 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 472 | 0) >> 2] = $103_1; + HEAP32[(i64toi32_i32$1 + 476 | 0) >> 2] = i64toi32_i32$0; + $78_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $78_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $104$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $105$hi = i64toi32_i32$1; + i64toi32_i32$1 = $104$hi; + i64toi32_i32$1 = $105$hi; + i64toi32_i32$1 = $104$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $105$hi; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $271_1 = i64toi32_i32$2 & -524289 | 0; + i64toi32_i32$2 = $78_1; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = $271_1; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$0; + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$8 + } + if (((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$7 + } + } + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0); + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $206($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $20_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 444 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 444 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 444 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $13(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + continue label$2; + }; + } + $20_1 = 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 456 | 0) >> 2] = $20_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 460 | 0) >> 2] = $20_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 87 | 0) >> 0] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $207($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $29_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $861(HEAP32[$3_1 >> 2] | 0 | 0) | 0; + } + continue label$2; + }; + } + $29_1 = 0; + $196(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $29_1 | 0, $29_1 | 0) | 0; + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + if (!($863(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + } + $612(HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0); + } + $13(0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0); + $514(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + } + label$8 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + } + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $208($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $14_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[$14_1 >> 2] = (HEAP32[$14_1 >> 2] | 0) + -1 | 0; + label$2 : { + if (HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) { + break label$2 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $209($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $4_1; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $4_1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $210($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $15_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($15_1 + 36 | 0) >> 2] = HEAP32[($15_1 + 36 | 0) >> 2] | 0 | 2 | 0; + $11(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $211($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0); + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $212($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + $227(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $23(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $213($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $35$hi = 0, $37$hi = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0, i64toi32_i32$3 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + break label$2; + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + label$4 : { + if (!($214(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $3(83345 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$0 = 0; + $35$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 136 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 140 | 0) >> 2] | 0; + $37$hi = i64toi32_i32$1; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $35$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $9_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $10_1 = 0 + } else { + $10_1 = 1 + } + $11_1 = $10_1; + } else { + $11_1 = 0 + } + $9_1 = $11_1; + } + label$5 : { + if (!($9_1 & 1 | 0)) { + break label$5 + } + $215(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $216(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $217(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $197(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $32_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $32_1 | 0; + } + + function $214($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $82(21 | 0, 4916 | 0, 0 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $17_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $17_1 | 0; + } + + function $215($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $29$hi = 0, $30$hi = 0, i64toi32_i32$3 = 0, $31$hi = 0, $32$hi = 0, $29_1 = 0, $62_1 = 0, $15_1 = 0, $68_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + $218(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0) | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$0; + $29$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 136 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 140 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$0 = $30$hi; + $62_1 = i64toi32_i32$1; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$2 = $29_1; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$3 = $62_1; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $31$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $32$hi = i64toi32_i32$5; + i64toi32_i32$5 = $31$hi; + i64toi32_i32$5 = $32$hi; + i64toi32_i32$5 = $31$hi; + $15_1 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$2 = $32$hi; + i64toi32_i32$2 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$5 | 0, 1e6 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $68_1 = i64toi32_i32$2; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $68_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$5; + label$1 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 88 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$1 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0 | 0](2, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0, $4_1 + 8 | 0) | 0; + } + i64toi32_i32$5 = 0; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 136 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$2 + 140 | 0) >> 2] = i64toi32_i32$5; + global$0 = $4_1 + 32 | 0; + return; + } + + function $216($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (770837923 | 0) & 1 | 0) { + break label$2 + } + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (832317811 | 0) & 1 | 0)) { + break label$1 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $219(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $220(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $24_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $24_1 | 0; + } + + function $217($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $221(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) | 0; + } + $17_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $17_1 | 0; + } + + function $218($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0.0, i64toi32_i32$1 = 0, $45_1 = 0.0, $10_1 = 0, $11_1 = 0, $40_1 = 0, $40$hi = 0, i64toi32_i32$2 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 28 | 0) >> 2] | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 28 | 0) >> 2] | 0, $4_1 + 8 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $45_1 = +HEAPF64[($4_1 + 8 | 0) >> 3] * 864.0e5; + label$3 : { + label$4 : { + if (!(Math_abs($45_1) < 9223372036854775808.0)) { + break label$4 + } + i64toi32_i32$0 = $45_1; + if (Math_abs(i64toi32_i32$0) >= 1.0) { + if (i64toi32_i32$0 > 0.0) { + $10_1 = ~~Math_min(Math_floor(i64toi32_i32$0 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $10_1 = ~~Math_ceil((i64toi32_i32$0 - +(~~i64toi32_i32$0 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $11_1 = $10_1; + } else { + $11_1 = 0 + } + i64toi32_i32$1 = $11_1; + $40_1 = ~~i64toi32_i32$0 >>> 0; + $40$hi = i64toi32_i32$1; + break label$3; + } + i64toi32_i32$1 = -2147483648; + $40_1 = 0; + $40$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $40$hi; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $40_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + } + $36_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $36_1 | 0; + } + + function $219($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $43_1 = 0, $58_1 = 0, $59_1 = 0, $61_1 = 0, $69_1 = 0, $93_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $224(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + } + $225(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + break label$3; + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + } + label$6 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 5 | 0) & 1 | 0) & 65535 | 0)) { + break label$6 + } + $43_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($43_1 + 150 | 0) >> 1] = (HEAPU16[($43_1 + 150 | 0) >> 1] | 0) & -4 | 0 | 1 | 0; + } + break label$1; + } + label$7 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$7 + } + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) & 3 | 0) & 65535 | 0)) { + break label$7 + } + $58_1 = 0; + $59_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $61_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $69_1 = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0) != ($58_1 | 0) & 1 | 0 ? 1976 : $58_1; + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0; + $113($59_1 | 0, $61_1 | 0, $69_1 | 0, $3_1 | 0); + } + } + label$8 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $13(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] = 0; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 120 | 0) >> 2] = 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1224384374; + $93_1 = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $93_1 | 0; + } + + function $220($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $12(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1443283912; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = 0; + $23(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $221($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $23_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (3082 | 0) & 1 | 0)) { + break label$2 + } + } + $16_1 = 7; + $324(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $115(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $16_1 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = $16_1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) | 0; + } + $23_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $23_1 | 0; + } + + function $222($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $30$hi = 0, $32$hi = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0, i64toi32_i32$3 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = 0; + $30$hi = i64toi32_i32$0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 136 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 140 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$1; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $9_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $10_1 = 0 + } else { + $10_1 = 1 + } + $11_1 = $10_1; + } else { + $11_1 = 0 + } + $9_1 = $11_1; + } + label$3 : { + if (!($9_1 & 1 | 0)) { + break label$3 + } + $215(HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $219(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $223(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $217(HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $27_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $27_1 | 0; + } + + function $223($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0; + $3_1 = global$0 - 16 | 0; + i64toi32_i32$0 = 0; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = 770837923; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = -1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = $4_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 146 | 0) >> 0] = 2; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 147 | 0) >> 0] = 255; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = $4_1; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function $224($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $58_1 = 0, $232_1 = 0, $404_1 = 0, $239_1 = 0, $405$hi = 0, $406$hi = 0, $241_1 = 0, $339_1 = 0, $351_1 = 0, $363_1 = 0, $391_1 = 0, $871_1 = 0, $401_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (770837923 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = 7; + } + $842(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 151 | 0) >> 0] | 0) & 1 | 0) & 65535 | 0)) { + break label$4 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + $843(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) & 255 | 0; + $58_1 = 1; + label$5 : { + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0) { + break label$5 + } + $58_1 = 1; + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (10 | 0) & 1 | 0) { + break label$5 + } + $58_1 = 1; + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0) { + break label$5 + } + $58_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (13 | 0); + } + HEAP32[($3_1 + 4 | 0) >> 2] = $58_1 & 1 | 0; + label$6 : { + if (!(HEAP32[($3_1 + 4 | 0) >> 2] | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0)) { + break label$8 + } + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (9 | 0) & 1 | 0)) { + break label$7 + } + } + label$9 : { + label$10 : { + label$11 : { + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0) { + break label$11 + } + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (13 | 0) & 1 | 0)) { + break label$10 + } + } + if (!((((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 6 | 0) & 1 | 0) & 65535 | 0)) { + break label$10 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 2; + break label$9; + } + $205(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 516 | 0); + $206(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 79 | 0) >> 0] = 1; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + } + } + } + label$12 : { + label$13 : { + if (!(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$13 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 146 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$12 + } + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$12 + } + } + $844(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + label$14 : { + label$15 : { + label$16 : { + if (!((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 336 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$16 + } + if ((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$15 + } + } + if (!((HEAPU8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0)) { + break label$15 + } + if (!((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 180 | 0) >> 2] | 0 | 0) == (((((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0 | 0) == (0 | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$15 + } + label$17 : { + label$18 : { + label$19 : { + if (!(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$19 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 146 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$18 + } + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$18 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $844(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + label$21 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$21 + } + label$22 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0)) { + break label$22 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 20 | 0) >> 2] = 787; + break label$20; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $845(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$23 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$23 + } + if (!((((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0)) { + break label$23 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 5; + break label$1; + } + label$24 : { + label$25 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$25 + } + $232_1 = 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $205(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, $232_1 | 0); + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = $232_1; + break label$24; + } + i64toi32_i32$0 = 0; + $404_1 = 0; + i64toi32_i32$1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 464 | 0) >> 2] = $404_1; + HEAP32[(i64toi32_i32$1 + 468 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 472 | 0) >> 2] = $404_1; + HEAP32[(i64toi32_i32$1 + 476 | 0) >> 2] = i64toi32_i32$0; + $239_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $239_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $405$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $406$hi = i64toi32_i32$1; + i64toi32_i32$1 = $405$hi; + i64toi32_i32$1 = $406$hi; + i64toi32_i32$1 = $405$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $406$hi; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $871_1 = i64toi32_i32$2 & -524289 | 0; + i64toi32_i32$2 = $239_1; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = $871_1; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$0; + $505(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + } + break label$17; + } + $241_1 = 0; + $205(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, $241_1 | 0); + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = $241_1; + } + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 460 | 0) >> 2] = 0; + break label$14; + } + label$26 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$26 + } + label$27 : { + label$28 : { + label$29 : { + if (!(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$29 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 146 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$28 + } + } + HEAP32[($3_1 + 8 | 0) >> 2] = 1; + break label$27; + } + label$30 : { + label$31 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 146 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 2; + break label$30; + } + $205(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 516 | 0); + $206(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 79 | 0) >> 0] = 1; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + } + } + } + } + label$32 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$32 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $846(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$33 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$33 + } + label$34 : { + label$35 : { + if (!(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$35 + } + if (!(((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) & 255 | 0 | 0) == (19 | 0) & 1 | 0)) { + break label$34 + } + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $13(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 124 | 0) >> 2] = 0; + } + $205(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 516 | 0); + $206(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 79 | 0) >> 0] = 1; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + } + } + label$36 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 4 | 0) & 1 | 0) & 65535 | 0)) { + break label$36 + } + label$37 : { + label$38 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$38 + } + $847(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + break label$37; + } + $847(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0); + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + } + } + label$39 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$39 + } + $339_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[($339_1 + 172 | 0) >> 2] = (HEAP32[($339_1 + 172 | 0) >> 2] | 0) + -1 | 0; + label$40 : { + if ((((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0) { + break label$40 + } + $351_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[($351_1 + 180 | 0) >> 2] = (HEAP32[($351_1 + 180 | 0) >> 2] | 0) + -1 | 0; + } + label$41 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 151 | 0) >> 0] | 0) & 1 | 0) & 65535 | 0)) { + break label$41 + } + $363_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[($363_1 + 176 | 0) >> 2] = (HEAP32[($363_1 + 176 | 0) >> 2] | 0) + -1 | 0; + } + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = 832317811; + label$42 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$42 + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = 7; + } + label$43 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$43 + } + } + $391_1 = 5; + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == ($391_1 | 0) & 1 | 0 ? $391_1 : 0; + } + $401_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $401_1 | 0; + } + + function $225($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $36_1 = 0, $17_1 = 0, $37_1 = 0, $29_1 = 0, $52_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP8[($17_1 + 82 | 0) >> 0] = (HEAPU8[($17_1 + 82 | 0) >> 0] | 0) + 1 | 0; + $449(); + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $29_1 = $117(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] = $29_1; + } + $36_1 = -1; + $120(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0, $36_1 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0, 1 | 0, $36_1 | 0); + $450(); + $37_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP8[($37_1 + 82 | 0) >> 0] = (HEAPU8[($37_1 + 82 | 0) >> 0] | 0) + $36_1 | 0; + break label$1; + } + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $605(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0); + } + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $52_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $52_1 | 0; + } + + function $226($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $9_1 = 0, $35_1 = 0, $41_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $4_1; + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + $9_1 = 16; + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[$3_1 >> 2] | 0) + 16 | 0) >> 1] | 0) << $9_1 | 0) >> $9_1 | 0 | 0) & 1 | 0)) { + break label$1 + } + $227((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 40) | 0 | 0); + HEAP16[(((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 40) | 0) + 8 | 0) >> 1] = 1; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$3 : { + if (!(HEAP32[((HEAP32[$3_1 >> 2] | 0) + 208 | 0) >> 2] | 0)) { + break label$3 + } + $35_1 = HEAP32[$3_1 >> 2] | 0; + HEAP16[($35_1 + 150 | 0) >> 1] = (HEAPU16[($35_1 + 150 | 0) >> 1] | 0) & -4 | 0 | 1 | 0; + } + $41_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $41_1 | 0; + } + + function $227($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0) { + break label$2 + } + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$1 + } + } + $228(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $228($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0)) { + break label$1 + } + $272(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + label$2 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$2 + } + $23(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $229($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $19_1 = 0, $23_1 = 0, $33_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$4 + } + $19_1 = $230(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0; + break label$3; + } + $19_1 = 0; + } + label$5 : { + if (!$19_1) { + break label$5 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $23_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP16[($23_1 + 8 | 0) >> 1] = (HEAPU16[($23_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 16 | 0; + label$6 : { + label$7 : { + if (!(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$7 + } + $33_1 = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$6; + } + $33_1 = 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $33_1; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $66(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $38_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $38_1 | 0; + } + + function $230($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $40_1 = 0, $43_1 = 0, $49_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = 1; + } + label$4 : { + if (!($231(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0) | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $3289((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0 | 0, 0 | 0, HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + $40_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($40_1 + 12 | 0) >> 2] = (HEAP32[($40_1 + 12 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) | 0; + $43_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($43_1 + 8 | 0) >> 1] = ((HEAPU16[($43_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -16897 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $49_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $49_1 | 0; + } + + function $231($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $38_1 = 0, $88_1 = 0, $127_1 = 0, $46_1 = 0, $77_1 = 0, $96_1 = 0, $133_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + if (!(HEAP32[$5_1 >> 2] | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $38_1 = $875(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $38_1; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = $38_1; + break label$3; + } + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $46_1 = $45(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $46_1; + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $42(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + HEAP32[$5_1 >> 2] = 0; + break label$1; + } + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + $23(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $77_1 = $64(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $77_1; + } + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + $88_1 = 0; + $262(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = $88_1; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = $88_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 7; + break label$7; + } + $96_1 = $59(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = $96_1; + label$9 : { + if (!(HEAP32[$5_1 >> 2] | 0)) { + break label$9 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $3288(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + label$10 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1024 | 0)) { + break label$10 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0); + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $127_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP16[($127_1 + 8 | 0) >> 1] = ((HEAPU16[($127_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -7169 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + $133_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $133_1 | 0; + } + + function $232($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 7 | 0) >> 0] = $1_1; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 514 | 0 | 0) == (514 | 0) & 1 | 0)) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$1; + } + label$4 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $245(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $51_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $51_1 | 0; + } + + function $233($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $8_1 = $234(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $234($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $57_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 7 | 0) >> 0] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!(((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$3 + } + label$4 : { + if (!(((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0) | 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (!(((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $235(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $57_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $57_1 | 0; + } + + function $235($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 11 | 0) >> 0] = $1_1; + label$1 : { + label$2 : { + if (!(($245(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$1; + } + $18_1 = 0; + } + global$0 = $4_1 + 16 | 0; + return $18_1 | 0; + } + + function $236($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $9_1 = 24; + $15_1 = $234(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, (((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0 ? 2 : 3) & 255 | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $15_1 | 0; + } + + function $237($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $33_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$2 + } + HEAPF64[($3_1 + 8 | 0) >> 3] = +HEAPF64[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 3]; + break label$1; + } + label$3 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 36 | 0)) { + break label$3 + } + i64toi32_i32$2 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + HEAPF64[($3_1 + 8 | 0) >> 3] = +(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0); + break label$1; + } + label$4 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_f64$0 = +$238(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + break label$1; + } + HEAPF64[($3_1 + 8 | 0) >> 3] = +(0 | 0); + } + $33_1 = +HEAPF64[($3_1 + 8 | 0) >> 3]; + global$0 = $3_1 + 16 | 0; + return +$33_1; + } + + function $238($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0.0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAPF64[$3_1 >> 3] = +(0 | 0); + $344(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + $17_1 = +HEAPF64[$3_1 >> 3]; + global$0 = $3_1 + 16 | 0; + return +$17_1; + } + + function $239($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $240(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + global$0 = $3_1 + 16 | 0; + return i64toi32_i32$0 | 0; + } + + function $240($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $64_1 = 0, $79_1 = 0, $106_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $0_1; + HEAP32[$3_1 >> 2] = (HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[$3_1 >> 2] | 0) & 36 | 0)) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $64_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $64_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + label$3 : { + if (!((HEAP32[$3_1 >> 2] | 0) & 8 | 0)) { + break label$3 + } + i64toi32_i32$1 = $241(+(+HEAPF64[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 3])) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $79_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $79_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + label$4 : { + if (!((HEAP32[$3_1 >> 2] | 0) & 18 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = $242(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $106_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $106_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $241($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$2 = 0.0, $23_1 = 0.0, $8_1 = 0, $9_1 = 0, $15_1 = 0, $15$hi = 0; + $3_1 = global$0 - 16 | 0; + HEAPF64[$3_1 >> 3] = $0_1; + label$1 : { + label$2 : { + if (!(+HEAPF64[$3_1 >> 3] <= -9223372036854775808.0 & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = -2147483648; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + label$3 : { + if (!(+HEAPF64[$3_1 >> 3] >= 9223372036854775808.0 & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 2147483647; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + $23_1 = +HEAPF64[$3_1 >> 3]; + label$4 : { + label$5 : { + if (!(Math_abs($23_1) < 9223372036854775808.0)) { + break label$5 + } + i64toi32_i32$2 = $23_1; + if (Math_abs(i64toi32_i32$2) >= 1.0) { + if (i64toi32_i32$2 > 0.0) { + $8_1 = ~~Math_min(Math_floor(i64toi32_i32$2 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $8_1 = ~~Math_ceil((i64toi32_i32$2 - +(~~i64toi32_i32$2 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $9_1 = $8_1; + } else { + $9_1 = 0 + } + i64toi32_i32$0 = $9_1; + $15_1 = ~~i64toi32_i32$2 >>> 0; + $15$hi = i64toi32_i32$0; + break label$4; + } + i64toi32_i32$0 = -2147483648; + $15_1 = 0; + $15$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $15$hi; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $15_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $242($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$1 = $3_1; + HEAP32[$3_1 >> 2] = 0; + HEAP32[($3_1 + 4 | 0) >> 2] = i64toi32_i32$0; + $530(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + i64toi32_i32$0 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $243($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 32768 | 0)) { + break label$2 + } + $15_1 = (HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0; + break label$1; + } + $15_1 = 0; + } + return $15_1 | 0; + } + + function $244($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $42_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 50111 | 0 | 0) == (33281 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[$4_1 >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0 | 0) == (112 | 0) & 1 | 0)) { + break label$2 + } + if ($3229(HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $42_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $42_1 | 0; + } + + function $245($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $23_1 = 0, $92_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 7 | 0) >> 0] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + label$6 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$6 + } + if ($230(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + break label$4; + } + if (!(0 & 1 | 0)) { + break label$4 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $23_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP16[($23_1 + 8 | 0) >> 1] = (HEAPU16[($23_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0; + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) != (((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0) & -9 | 0 | 0) & 1 | 0)) { + break label$7 + } + $328(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, ((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0) & -9 | 0 | 0) | 0; + } + label$8 : { + if (!(((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$8 + } + if (!((1 | 0) == ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!($251(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + } + $876(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$2; + } + $877(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0; + } + label$10 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) == (((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0) & -9 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $92_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $92_1 | 0; + } + + function $246($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $9_1 = 24; + $15_1 = $232(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, (((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0 ? 2 : 3) & 255 | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $15_1 | 0; + } + + function $247($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $8_1 = $232(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 2 & 255 | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $248($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU8[((((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 63 | 0) + 1696 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $249($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function $250($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $74_1 = 0, $23_1 = 0, $32_1 = 0, $34_1 = 0, $38_1 = 0, $41_1 = 0, $54_1 = 0, $60_1 = 0, $147_1 = 0, $167_1 = 0, $71_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $38(40 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $23_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $74_1 = 0; + i64toi32_i32$1 = $23_1; + HEAP32[i64toi32_i32$1 >> 2] = $74_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $74_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $23_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $74_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $23_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $74_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $23_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $74_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $32_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $147_1 = i64toi32_i32$0; + i64toi32_i32$0 = $32_1; + HEAP32[i64toi32_i32$0 >> 2] = $147_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $34_1 = 16; + HEAP32[(i64toi32_i32$0 + $34_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $34_1 | 0) >> 2] | 0; + $38_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $38_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $167_1 = i64toi32_i32$1; + i64toi32_i32$1 = $32_1 + $38_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $167_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $41_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP16[($41_1 + 8 | 0) >> 1] = ((HEAPU16[($41_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -1025 | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + label$4 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0)) { + break label$4 + } + $54_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP16[($54_1 + 8 | 0) >> 1] = ((HEAPU16[($54_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -3073 | 0; + $60_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP16[($60_1 + 8 | 0) >> 1] = (HEAPU16[($60_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 4096 | 0; + label$5 : { + if (!($251(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + $212(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + $71_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $71_1 | 0; + } + + function $251($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $38_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + label$5 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$5 + } + if ($230(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + break label$3; + } + if (!(0 & 1 | 0)) { + break label$3 + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = 7; + break label$1; + } + label$6 : { + label$7 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $252(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($3_1 + 4 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + break label$1; + } + } + } + $38_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($38_1 + 8 | 0) >> 1] = ((HEAPU16[($38_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -4097 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $44_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $44_1 | 0; + } + + function $252($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0, $33_1 = 0, $39_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!($231(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 3 | 0 | 0, 1 | 0) | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $13_1 = 0; + HEAP8[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) >> 0] = $13_1; + HEAP8[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = $13_1; + HEAP8[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] = $13_1; + $33_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($33_1 + 8 | 0) >> 1] = (HEAPU16[($33_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 512 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $39_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $39_1 | 0; + } + + function $253($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $212(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $254($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $255(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0); + global$0 = $6_1 + 16 | 0; + return; + } + + function $255($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP8[($7_1 + 19 | 0) >> 0] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + label$1 : { + if (!(($256(HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) == (18 | 0) & 1 | 0)) { + break label$1 + } + $257(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $256($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $66_1 = 0, $72_1 = 0, $81_1 = 0, $112_1 = 0, $145_1 = 0, $137_1 = 0, $172_1 = 0, $230_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP8[($7_1 + 31 | 0) >> 0] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP16[($7_1 + 14 | 0) >> 1] = 0; + label$1 : { + label$2 : { + if ((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + $262(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + break label$3; + } + HEAP32[($7_1 + 16 | 0) >> 2] = 1e9; + } + HEAP16[($7_1 + 14 | 0) >> 1] = (HEAPU8[($7_1 + 31 | 0) >> 0] | 0) & 255 | 0 ? 2 : 16; + label$5 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!(((HEAPU8[($7_1 + 31 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($3303(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0) & 2147483647 | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$6; + } + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + label$8 : while (1) { + $66_1 = 0; + label$9 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) <= (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $72_1 = 24; + $81_1 = 24; + $66_1 = (((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $72_1 | 0) >> $72_1 | 0 | (((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $81_1 | 0) >> $81_1 | 0) | 0 | 0) != (0 | 0); + } + label$10 : { + if (!($66_1 & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 2 | 0; + continue label$8; + } + break label$8; + }; + } + HEAP16[($7_1 + 14 | 0) >> 1] = (HEAPU16[($7_1 + 14 | 0) >> 1] | 0) & 65535 | 0 | 512 | 0; + } + label$11 : { + label$12 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + label$13 : { + if (!(((HEAPU16[($7_1 + 14 | 0) >> 1] | 0) & 65535 | 0) & 512 | 0)) { + break label$13 + } + $112_1 = 1; + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + (((HEAPU8[($7_1 + 31 | 0) >> 0] | 0) & 255 | 0 | 0) == ($112_1 | 0) & 1 | 0 ? $112_1 : 2) | 0; + } + label$14 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $264(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, 18 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $137_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + label$15 : { + label$16 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0) >>> 0 > 32 >>> 0 & 1 | 0)) { + break label$16 + } + $145_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + break label$15; + } + $145_1 = 32; + } + label$17 : { + if (!($265($137_1 | 0, $145_1 | 0) | 0)) { + break label$17 + } + HEAP32[($7_1 + 44 | 0) >> 2] = 7; + break label$1; + } + $3288(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$11; + } + $227(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $172_1 = $59(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] = $172_1; + break label$18; + } + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP16[($7_1 + 14 | 0) >> 1] = (HEAPU16[($7_1 + 14 | 0) >> 1] | 0) & 65535 | 0 | ((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0 ? 2048 : 1024) | 0; + } + } + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP16[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($7_1 + 14 | 0) >> 1] | 0; + label$20 : { + label$21 : { + if (!(((HEAPU8[($7_1 + 31 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP8[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[($7_1 + 31 | 0) >> 0] | 0; + break label$20; + } + HEAP8[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0; + } + label$22 : { + if (!(((HEAPU8[($7_1 + 31 | 0) >> 0] | 0) & 255 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$22 + } + if (!($266(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$22 + } + HEAP32[($7_1 + 44 | 0) >> 2] = 7; + break label$1; + } + label$23 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($7_1 + 44 | 0) >> 2] = 18; + break label$1; + } + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + } + $230_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $230_1 | 0; + } + + function $257($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = 18; + $256(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, 1760 | 0, -1 | 0, 1 & 255 | 0 | 0, 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $258($0_1, $1_1, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $22$hi = 0, $24$hi = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + i64toi32_i32$0 = 0; + $22$hi = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $24$hi = i64toi32_i32$1; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $22$hi; + label$1 : { + label$2 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 > 2147483647 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + $259(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + i64toi32_i32$2 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $255(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, 0 & 255 | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $259($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$4 + } + break label$3; + } + FUNCTION_TABLE[HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 12 | 0) >> 2] | 0); + } + } + label$5 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $257(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return 18 | 0; + } + + function $260($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = +$1_1; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAPF64[$4_1 >> 3] = $1_1; + $261(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, +(+HEAPF64[$4_1 >> 3])); + global$0 = $4_1 + 16 | 0; + return; + } + + function $261($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = +$1_1; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAPF64[$4_1 >> 3] = $1_1; + $262(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + label$1 : { + if ($55(+(+HEAPF64[$4_1 >> 3])) | 0) { + break label$1 + } + HEAPF64[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 3] = +HEAPF64[$4_1 >> 3]; + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 8; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $262($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0)) { + break label$2 + } + $272(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $263($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + $256(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, -1 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return; + } + + function $264($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0, $23_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + $14_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $14_1; + if (!(($14_1 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $23_1 = HEAP32[$4_1 >> 2] | 0; + HEAP32[($23_1 + 36 | 0) >> 2] = (HEAP32[($23_1 + 36 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $265($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $21_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $231(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $21_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP16[($21_1 + 8 | 0) >> 1] = ((HEAPU16[($21_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & 45 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $27_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $27_1 | 0; + } + + function $266($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $70_1 = 0, $71_1 = 0, $95_1 = 0, $103_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + HEAP8[($3_1 + 7 | 0) >> 0] = 0; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[($3_1 + 6 | 0) >> 0] = HEAPU8[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] | 0; + HEAP8[($3_1 + 5 | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + label$2 : { + if (!(((HEAPU8[($3_1 + 6 | 0) >> 0] | 0) & 255 | 0 | 0) == (254 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[($3_1 + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (255 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($3_1 + 7 | 0) >> 0] = 3; + } + label$3 : { + if (!(((HEAPU8[($3_1 + 6 | 0) >> 0] | 0) & 255 | 0 | 0) == (255 | 0) & 1 | 0)) { + break label$3 + } + if (!(((HEAPU8[($3_1 + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (254 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[($3_1 + 7 | 0) >> 0] = 2; + } + } + label$4 : { + if (!(((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $251(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + $70_1 = 0; + $71_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($71_1 + 12 | 0) >> 2] = (HEAP32[($71_1 + 12 | 0) >> 2] | 0) - 2 | 0; + $3290(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 2 | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) >> 0] = $70_1; + HEAP8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = $70_1; + $95_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($95_1 + 8 | 0) >> 1] = (HEAPU16[($95_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 512 | 0; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[($3_1 + 7 | 0) >> 0] | 0; + } + } + $103_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $103_1 | 0; + } + + function $267($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $268(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $268($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $51_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0)) { + break label$2 + } + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $269(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + break label$1; + } + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $51_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $51_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $269($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $29_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + $262(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $29_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + global$0 = $4_1 + 16 | 0; + return; + } + + function $270($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $268(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $271($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $262(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $272($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 8192 | 0)) { + break label$1 + } + $874(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + } + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1024 | 0)) { + break label$2 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0); + } + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $273($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $227(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + $274(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + global$0 = $6_1 + 32 | 0; + return; + } + + function $274($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $15_1 = 0, $33_1 = 0; + $6_1 = global$0 - 16 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $15_1 = 1352; + } + HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] = $15_1; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 34305; + HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 11 | 0) >> 0] = 112; + label$3 : { + label$4 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $33_1 = HEAP32[$6_1 >> 2] | 0; + break label$3; + } + $33_1 = 2; + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = $33_1; + return; + } + + function $275($0_1) { + $0_1 = $0_1 | 0; + HEAP32[((global$0 - 16 | 0) + 12 | 0) >> 2] = $0_1; + return; + } + + function $276($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 11 | 0) >> 0] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 255 | 0; + $11_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP16[($11_1 + 8 | 0) >> 1] = (HEAPU16[($11_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 32768 | 0; + return; + } + + function $277($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $255(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0); + global$0 = $6_1 + 16 | 0; + return; + } + + function $278($0_1, $1_1, $2_1, $2$hi, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $40$hi = 0, $21_1 = 0, $42$hi = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP8[($7_1 + 11 | 0) >> 0] = $4_1; + label$1 : { + if (!(((HEAPU8[($7_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$1 + } + $21_1 = 24; + HEAP8[($7_1 + 11 | 0) >> 0] = ((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $21_1 | 0) >> $21_1 | 0 ? 2 : 3; + } + i64toi32_i32$0 = 0; + $40$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $42$hi = i64toi32_i32$1; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $40$hi; + label$2 : { + label$3 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 > 2147483647 >>> 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + $259(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + break label$2; + } + i64toi32_i32$2 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $255(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, (HEAPU8[($7_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $279($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $255(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, 2 & 255 | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0); + global$0 = $6_1 + 16 | 0; + return; + } + + function $280($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $281(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $281($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13_1 = 0, $15_1 = 0, $19_1 = 0, $22_1 = 0, $46_1 = 0, $92_1 = 0, $112_1 = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0)) { + break label$1 + } + $272(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + $13_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $92_1 = i64toi32_i32$0; + i64toi32_i32$0 = $13_1; + HEAP32[i64toi32_i32$0 >> 2] = $92_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $15_1 = 16; + HEAP32[(i64toi32_i32$0 + $15_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $15_1 | 0) >> 2] | 0; + $19_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $19_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $112_1 = i64toi32_i32$1; + i64toi32_i32$1 = $13_1 + $19_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $112_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $22_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP16[($22_1 + 8 | 0) >> 1] = ((HEAPU16[($22_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -1025 | 0; + label$2 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0)) { + break label$2 + } + label$3 : { + if (!((0 | 0) == (((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2048 | 0 | 0) & 1 | 0)) { + break label$3 + } + $46_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP16[($46_1 + 8 | 0) >> 1] = (HEAPU16[($46_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 4096 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $251(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + $54_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $54_1 | 0; + } + + function $282($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $227(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 16400; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < ($5_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] = 1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $283($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $22$hi = 0, $23$hi = 0, $22_1 = 0, $56_1 = 0, $19_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $22_1 = i64toi32_i32$0; + $22$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $23$hi = i64toi32_i32$1; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $23$hi; + $56_1 = i64toi32_i32$0; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$2 = $22_1; + i64toi32_i32$0 = $23$hi; + label$1 : { + label$2 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 > $56_1 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 18; + break label$1; + } + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $282(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $19_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $19_1 | 0; + } + + function $284($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $7_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$1; + } + $7_1 = -1; + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = $7_1; + label$3 : { + if (!(((HEAPU16[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$3 + } + $256(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, $285(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, -1 | 0, 1 & 255 | 0 | 0, 0 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $285($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 41742; + $5_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (($5_1 | 0) == (100 | 0)) { + break label$4 + } + if (($5_1 | 0) == (101 | 0)) { + break label$3 + } + if (($5_1 | 0) != (516 | 0)) { + break label$2 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 41756; + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 41778; + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 41800; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) & 255 | 0; + label$5 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) < (29 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[(41120 + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(41120 + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + } + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $286($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $262(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = 7; + $118(HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $287($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $17_1 = 0, $23_1 = 0, $25_1 = 0, $61_1 = 0, $63_1 = 0, $57_1 = 0, $78_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!($288(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $3(83993 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 149 | 0) >> 0] = 0; + label$3 : while (1) { + $17_1 = $289(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $17_1; + $23_1 = 0; + label$4 : { + if (!(($17_1 | 0) == (17 | 0) & 1 | 0)) { + break label$4 + } + $25_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $25_1 + 1 | 0; + $23_1 = ($25_1 | 0) < (50 | 0); + } + label$5 : { + if (!($23_1 & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $290(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $13(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0); + label$7 : { + label$8 : { + if (((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$8 + } + $57_1 = $291(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 124 | 0) >> 2] = $57_1; + $61_1 = $217(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $61_1; + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] = $61_1; + break label$7; + } + $63_1 = 7; + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 124 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $63_1; + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] = $63_1; + } + break label$5; + } + $222(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0; + label$9 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 149 | 0) >> 0] = 1; + } + continue label$3; + } + break label$3; + }; + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $78_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $78_1 | 0; + } + + function $288($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $82(21 | 0, 5146 | 0, 0 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $214(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $17_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $17_1 | 0; + } + + function $289($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $218$hi = 0, $25_1 = 0, $94_1 = 0, $96_1 = 0, $105_1 = 0, $117_1 = 0, $133_1 = 0, $139_1 = 0, $220$hi = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $63_1 = 0, i64toi32_i32$3 = 0, $168_1 = 0, $215_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (770837923 | 0) & 1 | 0)) { + break label$1 + } + $222(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $25_1 = 7; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = $25_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $25_1; + break label$2; + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + if (!(((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) & 3 | 0) & 65535 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = 17; + HEAP32[($3_1 + 16 | 0) >> 2] = 1; + label$6 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 148 | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $225(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + break label$4; + } + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0) { + break label$8 + } + $63_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + HEAP32[($63_1 + 264 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + label$9 : { + label$10 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 88 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$10 + } + if (((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$10 + } + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $218(HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 136 | 0 | 0) | 0; + break label$9; + } + } + $94_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $96_1 = 1; + HEAP32[($94_1 + 172 | 0) >> 2] = (HEAP32[($94_1 + 172 | 0) >> 2] | 0) + $96_1 | 0; + label$11 : { + if ((((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 7 | 0) & $96_1 | 0) & 65535 | 0) { + break label$11 + } + $105_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($105_1 + 180 | 0) >> 2] = (HEAP32[($105_1 + 180 | 0) >> 2] | 0) + 1 | 0; + } + label$12 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 151 | 0) >> 0] | 0) & 1 | 0) & 65535 | 0)) { + break label$12 + } + $117_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($117_1 + 176 | 0) >> 2] = (HEAP32[($117_1 + 176 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] = 0; + } + label$13 : { + label$14 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 2 | 0) & 3 | 0) & 65535 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $292(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$13; + } + $133_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($133_1 + 184 | 0) >> 2] = (HEAP32[($133_1 + 184 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $293(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $139_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($139_1 + 184 | 0) >> 2] = (HEAP32[($139_1 + 184 | 0) >> 2] | 0) + -1 | 0; + } + label$15 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != (100 | 0) & 1 | 0)) { + break label$15 + } + i64toi32_i32$0 = 0; + $218$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 136 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 140 | 0) >> 2] | 0; + $220$hi = i64toi32_i32$1; + i64toi32_i32$1 = $218$hi; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$1 = $218$hi; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $218$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $18_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $18_1 = $20_1; + } + label$16 : { + if (!($18_1 & 1 | 0)) { + break label$16 + } + $215(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + } + label$17 : { + label$18 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$18 + } + if (!((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0)) { + break label$18 + } + $168_1 = $294(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = $168_1; + label$19 : { + if (!(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$19 + } + HEAP32[($3_1 + 16 | 0) >> 2] = 1; + } + break label$17; + } + label$20 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != (101 | 0) & 1 | 0)) { + break label$20 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 148 | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $225(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + } + HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + label$21 : { + if (!((7 | 0) == ($217(HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = 7; + label$22 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 148 | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$22 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + } + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) | 0; + } + $215_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $215_1 | 0; + } + + function $290($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $295(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $296(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $297(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 7 | 0) >> 0] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $298(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0, (HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $3_1 + 16 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$3 + } + $118(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + $299(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + $300(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $301(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + $216(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $39_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $39_1 | 0; + } + + function $291($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ($3303(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $64(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $3288(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $32_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $32_1 | 0; + } + + function $292($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $213$hi = 0, i64toi32_i32$3 = 0, $6_1 = 0, $26_1 = 0, $214$hi = 0, $215$hi = 0, $217$hi = 0, $59_1 = 0, $139_1 = 0, $140_1 = 0, $210_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $0_1; + $6_1 = 0; + HEAP32[($3_1 + 36 | 0) >> 2] = $6_1; + HEAP32[($3_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $6_1; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) + 40 | 0; + $26_1 = 1; + label$1 : { + if (((((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 2 | 0) & 3 | 0) & 65535 | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + i64toi32_i32$0 = 0; + $213$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $214$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $215$hi = i64toi32_i32$1; + i64toi32_i32$1 = $214$hi; + i64toi32_i32$1 = $215$hi; + i64toi32_i32$1 = $214$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $215$hi; + i64toi32_i32$3 = 16777216; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $217$hi = i64toi32_i32$0; + i64toi32_i32$0 = $213$hi; + i64toi32_i32$0 = $217$hi; + i64toi32_i32$0 = $213$hi; + i64toi32_i32$0 = $217$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $213$hi; + i64toi32_i32$3 = 0; + $26_1 = (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0; + } + HEAP32[($3_1 + 16 | 0) >> 2] = $26_1 & 1 | 0; + $21(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, 8 | 0); + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 120 | 0) >> 2] = 0; + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$3 + } + $118(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 44 | 0) >> 2] = 1; + break label$2; + } + label$4 : { + label$5 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($3_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) + 360 | 0; + break label$4; + } + HEAP32[($3_1 + 36 | 0) >> 2] = 0; + } + $59_1 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $883($59_1 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, ((((HEAPU16[($59_1 + 150 | 0) >> 1] | 0) >>> 2 | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0 | 0, (HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 36 | 0 | 0, $3_1 + 28 | 0 | 0, $3_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 28 | 0) >> 2] | 0, 20) | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!(HEAP32[($3_1 + 4 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = 9; + HEAP32[($3_1 + 24 | 0) >> 2] = 1; + $852(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, $285(HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0 | 0, 0 | 0); + break label$7; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $884(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$9 : { + label$10 : { + if (!(((((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 2 | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$0 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $268(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$0 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $268((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 40 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$0 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $268((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 80 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + $256((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 120 | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0, -1 | 0, 1 & 255 | 0 | 0, 3 | 0) | 0; + HEAP16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 144 | 0) >> 1] = 4; + break label$9; + } + $139_1 = -1; + $140_1 = 1; + i64toi32_i32$0 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $268(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + $256((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 40 | 0 | 0, $885((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0, $139_1 | 0, $140_1 & 255 | 0 | 0, 0 | 0) | 0; + i64toi32_i32$0 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $268((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 80 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$0 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $268((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 120 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$0 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $268((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 160 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$1 = 0; + $268((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 240 | 0 | 0, (HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0, i64toi32_i32$1 | 0); + $262((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 280 | 0 | 0); + $256((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 200 | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0, $139_1 | 0, $140_1 & 255 | 0 | 0, 3 | 0) | 0; + HEAP16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 144 | 0) >> 1] = 8; + } + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 120 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + label$11 : { + label$12 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = 7; + HEAP32[($3_1 + 24 | 0) >> 2] = 1; + break label$11; + } + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = 100; + } + } + } + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + } + $210_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $210_1 | 0; + } + + function $293($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$6 = 0, $5_1 = 0, $4719 = 0, $7272 = 0, $2195_1 = 0, $8317 = 0, $8461$hi = 0, $8650 = 0, $4721 = 0, $4753 = 0, $8653 = 0, $24_1 = 0, $8175$hi = 0, $8176$hi = 0, $8183$hi = 0, $8184$hi = 0, $862_1 = 0, $8201$hi = 0, $8205$hi = 0, $8209$hi = 0, $8216$hi = 0, $8220$hi = 0, $8229$hi = 0, $8235$hi = 0, $8252$hi = 0, $8256$hi = 0, $8260$hi = 0, $8270$hi = 0, $8274$hi = 0, $8283$hi = 0, $8302$hi = 0, $8303$hi = 0, $8306$hi = 0, $8307$hi = 0, $2236_1 = 0, $8328$hi = 0, $8329$hi = 0, $8332$hi = 0, $8333$hi = 0, $8336$hi = 0, $8340$hi = 0, $8346$hi = 0, $8355$hi = 0, $8361$hi = 0, $8362$hi = 0, $8369$hi = 0, $8376$hi = 0, $8383$hi = 0, $8390$hi = 0, $8404$hi = 0, $8422$hi = 0, $8423$hi = 0, $8428$hi = 0, $8429$hi = 0, $8433$hi = 0, $8449$hi = 0, $4046 = 0, $8460$hi = 0, $4182 = 0, $8482$hi = 0, $8487$hi = 0, $8495$hi = 0, $8499$hi = 0, $8502$hi = 0, $4903 = 0, $8525$hi = 0, $8536$hi = 0, $8541$hi = 0, $5999 = 0, $6080 = 0, $8561$hi = 0, $8576$hi = 0, $8580$hi = 0, $8584$hi = 0, $8588$hi = 0, $8592$hi = 0, $8593$hi = 0, $8597$hi = 0, $8604$hi = 0, $8609$hi = 0, $8619$hi = 0, $8623$hi = 0, $8630$hi = 0, $8637$hi = 0, $8644$hi = 0, $8647$hi = 0, $7323 = 0, $7478 = 0, $8164$hi = 0, $8165$hi = 0, $42_1 = 0, $166_1 = 0, $346_1 = 0, $354_1 = 0, $434_1 = 0, $508_1 = 0, $510_1 = 0, $514_1 = 0, $517_1 = 0, $523_1 = 0, $563_1 = 0, $589_1 = 0, $627_1 = 0, $629_1 = 0, $651_1 = 0, $593_1 = 0, $594_1 = 0, $595_1 = 0, $8189$hi = 0, $8190$hi = 0, $8192$hi = 0, $8193$hi = 0, $886_1 = 0, $941_1 = 0, $8203$hi = 0, $8207$hi = 0, $8211$hi = 0, $8213$hi = 0, $8218$hi = 0, $8222$hi = 0, $8225$hi = 0, $990_1 = 0, $8233$hi = 0, $8237$hi = 0, $8240$hi = 0, $8241$hi = 0, $8246$hi = 0, $8249$hi = 0, $8254$hi = 0, $8258$hi = 0, $596_1 = 0, $597_1 = 0, $598_1 = 0, $8262$hi = 0, $599_1 = 0, $600_1 = 0, $601_1 = 0, $8264$hi = 0, $8265$hi = 0, $8267 = 0, $8267$hi = 0, $8272$hi = 0, $602_1 = 0, $603_1 = 0, $604_1 = 0, $8276$hi = 0, $605_1 = 0, $606_1 = 0, $607_1 = 0, $1097_1 = 0, $8280$hi = 0, $608_1 = 0, $8284$hi = 0, $609_1 = 0, $8288$hi = 0, $610_1 = 0, $611_1 = 0, $612_1 = 0, $8290$hi = 0, $8291$hi = 0, $8292$hi = 0, $8293$hi = 0, $613_1 = 0, $8294$hi = 0, $8299$hi = 0, $1156_1 = 0, $1172_1 = 0, $1222_1 = 0, $1326_1 = 0, $614_1 = 0, $615_1 = 0, $616_1 = 0, $617_1 = 0, $618_1 = 0, $619_1 = 0, $1397_1 = 0, $1610_1 = 0, $1723_1 = 0, $1834_1 = 0, $8314$hi = 0, $8315$hi = 0, $1911_1 = 0, $1940_1 = 0, $2074_1 = 0, $2122_1 = 0, $2145_1 = 0, $8319$hi = 0, $8322$hi = 0, $8325$hi = 0, $8326$hi = 0, $2282_1 = 0, $2294_1 = 0, $2375_1 = 0, $2441_1 = 0, $2467_1 = 0, $2515_1 = 0, $2535_1 = 0, $2572_1 = 0, $2579_1 = 0, $8338$hi = 0, $620_1 = 0, $621_1 = 0, $622_1 = 0, $8342$hi = 0, $623_1 = 0, $624_1 = 0, $625_1 = 0, $2601_1 = 0, $2607_1 = 0, $2615_1 = 0, $2621_1 = 0, $2632_1 = 0, $2638_1 = 0, $8345 = 0, $2679_1 = 0, $2686_1 = 0, $2700_1 = 0, $2706_1 = 0, $8349$hi = 0, $626_1 = 0, $628_1 = 0, $630_1 = 0, $8351$hi = 0, $8352$hi = 0, $8357$hi = 0, $8359$hi = 0, $8360$hi = 0, $8366$hi = 0, $8367$hi = 0, $8371$hi = 0, $8373$hi = 0, $8374$hi = 0, $8378$hi = 0, $8380$hi = 0, $8381$hi = 0, $8385$hi = 0, $8387$hi = 0, $8388$hi = 0, $8392$hi = 0, $8394$hi = 0, $8395$hi = 0, $8397$hi = 0, $8398$hi = 0, $2809_1 = 0, $2815_1 = 0, $8401$hi = 0, $8402$hi = 0, $8406$hi = 0, $8408$hi = 0, $8411$hi = 0, $8417$hi = 0, $8418$hi = 0, $8420$hi = 0, $8421$hi = 0, $631_1 = 0, $632_1 = 0, $633_1 = 0, $8426$hi = 0, $8427$hi = 0, $634_1 = 0, $635_1 = 0, $636_1 = 0, $8436$hi = 0, $2958_1 = 0, $2979_1 = 0, $3002_1 = 0, $3020_1 = 0, $3117_1 = 0, $3141_1 = 0, $3199_1 = 0, $3221_1 = 0, $3232_1 = 0, $3262_1 = 0, $3328_1 = 0, $3348 = 0, $3365 = 0, $3421 = 0, $3432 = 0, $3452 = 0, $8450$hi = 0, $8451$hi = 0, $8453$hi = 0, $3532 = 0, $3612 = 0, $3671 = 0, $3697 = 0, $3740 = 0, $3806 = 0, $3823 = 0, $3852 = 0, $3869 = 0, $3903 = 0, $3917 = 0, $3918 = 0, $3932 = 0, $3993 = 0, $4020 = 0, $4078 = 0, $4092 = 0, $4136 = 0, $8462$hi = 0, $4157 = 0, $4183 = 0, $4289 = 0, $4360 = 0, $4390 = 0, $4586 = 0, $4593 = 0, $4646 = 0, $4664 = 0, $4722 = 0, $4725 = 0, $4728 = 0, $4731 = 0, $4735 = 0, $4752 = 0, $4791 = 0, $8483$hi = 0, $4807 = 0, $8490$hi = 0, $637_1 = 0, $638_1 = 0, $639_1 = 0, $4825 = 0, $8492$hi = 0, $8493$hi = 0, $8497$hi = 0, $4871 = 0, $8500$hi = 0, $8501$hi = 0, $640_1 = 0, $641_1 = 0, $642_1 = 0, $8505$hi = 0, $8506$hi = 0, $4885 = 0, $8509$hi = 0, $8510$hi = 0, $8512$hi = 0, $8513$hi = 0, $4896 = 0, $4902 = 0, $4909 = 0, $4948 = 0, $4968 = 0, $4977 = 0, $4984 = 0, $5007 = 0, $5019 = 0, $5073 = 0, $5093 = 0, $5115 = 0, $5116 = 0, $5131 = 0, $8528$hi = 0, $643_1 = 0, $644_1 = 0, $645_1 = 0, $5415 = 0, $5427 = 0, $5431 = 0, $5509 = 0, $5543 = 0, $5555 = 0, $5588 = 0, $5620 = 0, $5677 = 0, $8536 = 0, $8539$hi = 0, $646_1 = 0, $647_1 = 0, $648_1 = 0, $8543$hi = 0, $649_1 = 0, $650_1 = 0, $652_1 = 0, $5813 = 0, $5917 = 0, $5925 = 0, $8547$hi = 0, $5942 = 0, $5992 = 0, $6001 = 0, $6023 = 0, $6032 = 0, $6034 = 0, $6037 = 0, $8552$hi = 0, $6183 = 0, $6309 = 0, $6455 = 0, $6456 = 0, $6481 = 0, $6516 = 0, $8562$hi = 0, $8563$hi = 0, $8565$hi = 0, $8567$hi = 0, $6555 = 0, $8570$hi = 0, $6561 = 0, $8573$hi = 0, $6565 = 0, $8578$hi = 0, $8582$hi = 0, $8586$hi = 0, $8590$hi = 0, $653_1 = 0, $654_1 = 0, $655_1 = 0, $8599$hi = 0, $656_1 = 0, $657_1 = 0, $658_1 = 0, $8601$hi = 0, $6645 = 0, $8607$hi = 0, $659_1 = 0, $660_1 = 0, $661_1 = 0, $8611$hi = 0, $662_1 = 0, $663_1 = 0, $664_1 = 0, $8614 = 0, $8614$hi = 0, $8621$hi = 0, $8625$hi = 0, $665_1 = 0, $666_1 = 0, $667_1 = 0, $6690 = 0, $8627$hi = 0, $8628$hi = 0, $8632$hi = 0, $668_1 = 0, $669_1 = 0, $670_1 = 0, $6701 = 0, $8634$hi = 0, $8635$hi = 0, $8639$hi = 0, $6727 = 0, $6812 = 0, $6932 = 0, $6933 = 0, $7152 = 0, $7183 = 0, $8645$hi = 0, $8646$hi = 0, $7308 = 0, $7318 = 0, $7354 = 0, $7373 = 0, $7380 = 0, $8654$hi = 0, $8655$hi = 0, $7585 = 0, $8657$hi = 0, $8658$hi = 0, $7606 = 0, $8660$hi = 0, $8661$hi = 0, $7609 = 0, $7741 = 0, $7748 = 0, $7936 = 0, $7939 = 0, $8031 = 0, $8035 = 0, $8156 = 0, $8855 = 0, $8917 = 0, $9021 = 0, $221_1 = 0, $243_1 = 0, $245_1 = 0, $251_1 = 0, $253_1 = 0, $260_1 = 0, $261_1 = 0, $263_1 = 0, $9388 = 0, $9407 = 0, $312_1 = 0, $9887 = 0, $9907 = 0, $10586 = 0, $8183 = 0, $10599 = 0, $879_1 = 0, $883_1 = 0, $10882 = 0, $10888 = 0, $8213 = 0, $10973$hi = 0, $671_1 = 0, $10977 = 0, $8225 = 0, $11008$hi = 0, $672_1 = 0, $11012 = 0, $11018 = 0, $11122 = 0, $11128 = 0, $8240 = 0, $11160 = 0, $11290 = 0, $11296 = 0, $8246 = 0, $11322$hi = 0, $11326 = 0, $8249 = 0, $11346$hi = 0, $11350 = 0, $11400 = 0, $1093_1 = 0, $11454 = 0, $11466 = 0, $8280 = 0, $11486$hi = 0, $8283 = 0, $8284 = 0, $11495$hi = 0, $11515 = 0, $11522$hi = 0, $11526 = 0, $11538 = 0, $11544 = 0, $8299 = 0, $11591$hi = 0, $8302 = 0, $12066 = 0, $8306 = 0, $12086 = 0, $12437 = 0, $12915 = 0, $1802_1 = 0, $1835_1 = 0, $13097 = 0, $2084_1 = 0, $2090_1 = 0, $8319 = 0, $13922$hi = 0, $2264_1 = 0, $8322 = 0, $13972$hi = 0, $2279_1 = 0, $15029 = 0, $15048 = 0, $15052 = 0, $8361 = 0, $15082 = 0, $2778_1 = 0, $2783_1 = 0, $2788_1 = 0, $2793_1 = 0, $2798_1 = 0, $2830_1 = 0, $8408 = 0, $15407$hi = 0, $15419$hi = 0, $2883_1 = 0, $8417 = 0, $15540 = 0, $8420 = 0, $15549 = 0, $15561 = 0, $8426 = 0, $15581 = 0, $15593 = 0, $3015_1 = 0, $15828 = 0, $15863 = 0, $16039 = 0, $16047 = 0, $3165_1 = 0, $16551 = 0, $16559 = 0, $3449 = 0, $16974 = 0, $16982 = 0, $3591 = 0, $17164 = 0, $8460 = 0, $8461 = 0, $4163 = 0, $18443 = 0, $18602 = 0, $19505 = 0, $19515 = 0, $19525 = 0, $19535 = 0, $19545 = 0, $19572 = 0, $19592 = 0, $19640 = 0, $8482 = 0, $19787 = 0, $8499 = 0, $19959 = 0, $19989 = 0, $20061 = 0, $20113 = 0, $20220 = 0, $20481 = 0, $20882 = 0, $20981 = 0, $20987 = 0, $21174 = 0, $21516 = 0, $5573 = 0, $5579 = 0, $21895 = 0, $21928 = 0, $22270 = 0, $5909 = 0, $5911 = 0, $8547 = 0, $22391$hi = 0, $6056 = 0, $6063 = 0, $6064 = 0, $8552 = 0, $22959$hi = 0, $23610 = 0, $8567 = 0, $23843$hi = 0, $8570 = 0, $23865$hi = 0, $8573 = 0, $23881$hi = 0, $8592 = 0, $24051 = 0, $24065 = 0, $8601 = 0, $24105$hi = 0, $24152 = 0, $24203 = 0, $6850 = 0, $6918 = 0, $7071 = 0, $7126 = 0, $7130 = 0, $7140 = 0, $7141 = 0, $7143 = 0, $25446 = 0, $7248 = 0, $7530 = 0, $26328 = 0, $26391 = 0, $26616 = 0, $8664 = 0, $8665 = 0, $7879 = 0, $7954 = 0, $8109 = 0, $8119 = 0, $8124 = 0, $8126 = 0, $8159 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f64$0 = 0.0; + $3_1 = global$0 - 1968 | 0; + global$0 = $3_1; + $5_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 1964 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 1960 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + HEAP32[($3_1 + 1956 | 0) >> 2] = HEAP32[($3_1 + 1960 | 0) >> 2] | 0; + HEAP32[($3_1 + 1952 | 0) >> 2] = $5_1; + HEAP32[($3_1 + 1948 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 1964 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[($3_1 + 1947 | 0) >> 0] = 0; + HEAP8[($3_1 + 1946 | 0) >> 0] = HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0; + HEAP32[($3_1 + 1940 | 0) >> 2] = $5_1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1928 | 0) >> 2] = 0; + HEAP32[($3_1 + 1932 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 1924 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + HEAP32[($3_1 + 1920 | 0) >> 2] = $5_1; + HEAP32[($3_1 + 1916 | 0) >> 2] = $5_1; + HEAP32[($3_1 + 1912 | 0) >> 2] = $5_1; + HEAP32[($3_1 + 1908 | 0) >> 2] = $5_1; + $843(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$4 + } + break label$3; + } + $24_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] = $24_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 120 | 0) >> 2] = $24_1; + HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 408 | 0) >> 2] = $24_1; + HEAP32[($3_1 + 1904 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!(HEAP32[($3_1 + 1904 | 0) >> 2] | 0)) { + break label$6 + } + break label$5; + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0, 20) | 0; + label$7 : while (1) { + label$8 : { + label$9 : { + label$10 : { + label$11 : { + label$12 : { + label$13 : { + label$14 : { + if (!(1 & 1 | 0)) { + break label$14 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1928 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1932 | 0) >> 2] | 0; + $8164$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $8165$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8164$hi; + i64toi32_i32$1 = $8165$hi; + i64toi32_i32$1 = $8164$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $8165$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1928 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 1932 | 0) >> 2] = i64toi32_i32$5; + $42_1 = HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0; + label$15 : { + label$16 : { + label$17 : { + label$18 : { + label$19 : { + label$20 : { + label$21 : { + label$22 : { + label$23 : { + label$24 : { + label$25 : { + label$26 : { + label$27 : { + label$28 : { + label$29 : { + label$30 : { + label$31 : { + label$32 : { + label$33 : { + label$34 : { + label$35 : { + label$36 : { + label$37 : { + label$38 : { + label$39 : { + label$40 : { + label$41 : { + label$42 : { + label$43 : { + label$44 : { + label$45 : { + label$46 : { + label$47 : { + label$48 : { + label$49 : { + label$50 : { + label$51 : { + label$52 : { + label$53 : { + label$54 : { + label$55 : { + label$56 : { + label$57 : { + label$58 : { + label$59 : { + label$60 : { + label$61 : { + label$62 : { + label$63 : { + label$64 : { + label$65 : { + label$66 : { + label$67 : { + label$68 : { + label$69 : { + label$70 : { + label$71 : { + label$72 : { + label$73 : { + label$74 : { + label$75 : { + label$76 : { + label$77 : { + label$78 : { + label$79 : { + label$80 : { + label$81 : { + label$82 : { + label$83 : { + label$84 : { + label$85 : { + label$86 : { + label$87 : { + label$88 : { + label$89 : { + label$90 : { + label$91 : { + label$92 : { + label$93 : { + label$94 : { + label$95 : { + label$96 : { + label$97 : { + label$98 : { + label$99 : { + label$100 : { + label$101 : { + label$102 : { + switch ($42_1 | 0) { + case 11: + break label$10; + case 12: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + i64toi32_i32$2 = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $8855 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $8855; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + break label$11; + case 65: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul(i64toi32_i32$5, 20) | 0; + HEAP16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] = 128; + break label$8; + case 13: + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$5 = (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $8917 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $8917; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + label$158 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$158 + } + break label$11; + } + break label$8; + case 66: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1896 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul(i64toi32_i32$2, 20) | 0; + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1896 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + HEAP16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] = 128; + break label$8; + case 14: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + i64toi32_i32$1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1892 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $9021 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $9021; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1892 | 0) >> 2] | 0, 20) | 0; + break label$8; + case 67: + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$159 : { + if (((HEAPU16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$159 + } + break label$8; + } + case 68: + HEAP32[($3_1 + 1884 | 0) >> 2] = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + label$160 : { + if (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$160 + } + if (!((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$160 + } + HEAP32[($3_1 + 1888 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1888 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $166_1 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($166_1 + 204 | 0) >> 2] = (HEAP32[($166_1 + 204 | 0) >> 2] | 0) + -1 | 0; + $847(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $848(HEAP32[($3_1 + 1888 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1884 | 0) >> 2] = wasm2js_i32$1; + label$161 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$161 + } + HEAP32[($3_1 + 1884 | 0) >> 2] = (HEAP32[(((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1884 | 0) >> 2] | 0, 20) | 0) + 8 | 0) >> 2] | 0) - 1 | 0; + } + HEAP32[($3_1 + 1960 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + HEAP32[($3_1 + 1924 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1884 | 0) >> 2] | 0, 20) | 0; + break label$8; + } + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 146 | 0) >> 0] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($3_1 + 1884 | 0) >> 2] | 0; + label$162 : { + if (!(HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$162 + } + label$163 : { + label$164 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$164 + } + $221_1 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($3_1 + 64 | 0) >> 2] = HEAP32[(7520 + ((((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + $852($221_1 | 0, 7570 | 0, $3_1 + 64 | 0 | 0); + label$165 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$165 + } + $243_1 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + $245_1 = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0; + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 48 | 0) >> 2] = $245_1; + $251_1 = $351($243_1 | 0, 7591 | 0, $3_1 + 48 | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0) >> 2] = $251_1; + } + break label$163; + } + $253_1 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($3_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $852($253_1 | 0, 1976 | 0, $3_1 + 80 | 0 | 0); + } + $260_1 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $261_1 = HEAP32[($3_1 + 1884 | 0) >> 2] | 0; + $263_1 = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = $263_1; + HEAP32[($3_1 + 32 | 0) >> 2] = $261_1; + $82($260_1 | 0, 7598 | 0, $3_1 + 32 | 0 | 0); + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $224(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$166 : { + label$167 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$167 + } + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] = 5; + break label$166; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 ? 1 : 101; + } + break label$1; + case 69: + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$5 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $9388 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $9388; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + break label$8; + case 70: + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $9407 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $9407; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + break label$8; + case 150: + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 8; + HEAPF64[(HEAP32[($3_1 + 1908 | 0) >> 2] | 0) >> 3] = +HEAPF64[(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 3]; + break label$8; + case 115: + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + $312_1 = $68(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] = $312_1; + label$168 : { + if (!(((HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$168 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $256(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, -1 | 0, 1 & 255 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$169 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$169 + } + break label$13; + } + label$170 : { + if (!((0 | 0) != ($328(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$170 + } + break label$3; + } + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + $346_1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP16[($346_1 + 8 | 0) >> 1] = (HEAPU16[($346_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 2048 | 0; + $354_1 = 24; + label$171 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $354_1 | 0) >> $354_1 | 0 | 0) == (-7 | 0) & 1 | 0)) { + break label$171 + } + $13(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + } + HEAP8[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 1 | 0) >> 0] = 249; + HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + label$172 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$172 + } + break label$13; + } + HEAP8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] = 71; + case 71: + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 2562; + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[($3_1 + 1946 | 0) >> 0] | 0; + label$173 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$173 + } + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $8175$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $8176$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8175$hi; + i64toi32_i32$2 = $8176$hi; + i64toi32_i32$2 = $8175$hi; + i64toi32_i32$2 = $8176$hi; + i64toi32_i32$2 = $8175$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $8176$hi; + i64toi32_i32$3 = (HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + label$174 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$174 + } + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 2576; + } + } + break label$8; + case 72: + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 1880 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + $434_1 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 ? 257 : 1; + HEAP16[($3_1 + 1878 | 0) >> 1] = $434_1; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = $434_1; + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + label$175 : { + label$176 : while (1) { + if (!((HEAP32[($3_1 + 1880 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$175 + } + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 40 | 0; + $262(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($3_1 + 1878 | 0) >> 1] | 0; + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + HEAP32[($3_1 + 1880 | 0) >> 2] = (HEAP32[($3_1 + 1880 | 0) >> 2] | 0) + -1 | 0; + continue label$176; + }; + } + break label$8; + case 73: + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -192 | 0 | 1 | 0; + break label$8; + case 74: + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + $256(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, 0 | 0) | 0; + HEAP8[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[($3_1 + 1946 | 0) >> 0] | 0; + break label$8; + case 75: + HEAP32[($3_1 + 1872 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0, 40) | 0; + label$177 : { + if (!($887(HEAP32[($3_1 + 1872 | 0) >> 2] | 0 | 0) | 0)) { + break label$177 + } + break label$13; + } + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + label$178 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0)) { + break label$178 + } + $262(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0); + } + $508_1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1872 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $9887 = i64toi32_i32$1; + i64toi32_i32$1 = $508_1; + HEAP32[i64toi32_i32$1 >> 2] = $9887; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + $510_1 = 16; + HEAP32[(i64toi32_i32$1 + $510_1 | 0) >> 2] = HEAP32[(i64toi32_i32$3 + $510_1 | 0) >> 2] | 0; + $514_1 = 8; + i64toi32_i32$3 = i64toi32_i32$3 + $514_1 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $9907 = i64toi32_i32$2; + i64toi32_i32$2 = $508_1 + $514_1 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $9907; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + $517_1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP16[($517_1 + 8 | 0) >> 1] = ((HEAPU16[($517_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -5121 | 0; + $523_1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP16[($523_1 + 8 | 0) >> 1] = (HEAPU16[($523_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 2112 | 0; + break label$8; + case 76: + HEAP32[($3_1 + 1868 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 1864 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1860 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1864 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1860 | 0) >> 2] | 0, 40) | 0; + label$179 : while (1) { + $888(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0); + label$180 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4096 | 0)) { + break label$180 + } + if (!($251(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) | 0)) { + break label$180 + } + break label$3; + } + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 40 | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 40 | 0; + $563_1 = (HEAP32[($3_1 + 1868 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($3_1 + 1868 | 0) >> 2] = $563_1; + if ($563_1) { + continue label$179 + } + break label$179; + }; + break label$8; + case 77: + HEAP32[($3_1 + 1856 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + label$181 : while (1) { + $889(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, 4096 | 0); + label$182 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4096 | 0)) { + break label$182 + } + if (!($251(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) | 0)) { + break label$182 + } + break label$3; + } + $589_1 = HEAP32[($3_1 + 1856 | 0) >> 2] | 0; + HEAP32[($3_1 + 1856 | 0) >> 2] = $589_1 + -1 | 0; + label$183 : { + label$184 : { + if ($589_1) { + break label$184 + } + break label$183; + } + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 40 | 0; + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 40 | 0; + continue label$181; + } + break label$181; + }; + break label$8; + case 78: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + $889(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, 4096 | 0); + break label$8; + case 79: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $268(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0); + break label$8; + case 80: + $627_1 = 0; + $629_1 = $844(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, $627_1 | 0) | 0; + HEAP32[($3_1 + 1952 | 0) >> 2] = $629_1; + label$185 : { + if (!(($627_1 | 0) != ($629_1 | 0) & 1 | 0)) { + break label$185 + } + break label$2; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $846(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 2 | 0 | 1 | 0; + $651_1 = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 120 | 0) >> 2] = $651_1; + HEAP32[($3_1 + 1852 | 0) >> 2] = $651_1; + HEAP32[($3_1 + 1848 | 0) >> 2] = 0; + label$186 : { + label$187 : while (1) { + if (!((HEAP32[($3_1 + 1848 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$186 + } + label$188 : { + if (!(((HEAPU16[(((HEAP32[($3_1 + 1852 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1848 | 0) >> 2] | 0, 40) | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4096 | 0)) { + break label$188 + } + if (!($251((HEAP32[($3_1 + 1852 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1848 | 0) >> 2] | 0, 40) | 0 | 0) | 0)) { + break label$188 + } + break label$3; + } + $876((HEAP32[($3_1 + 1852 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1848 | 0) >> 2] | 0, 40) | 0 | 0) | 0; + HEAP32[($3_1 + 1848 | 0) >> 2] = (HEAP32[($3_1 + 1848 | 0) >> 2] | 0) + 1 | 0; + continue label$187; + }; + } + label$189 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$189 + } + break label$3; + } + label$190 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 88 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$190 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0 | 0](4, HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0, HEAP32[($3_1 + 1964 | 0) >> 2] | 0, 0) | 0; + } + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 36 | 0) >> 2] = (((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0) + 1 | 0; + HEAP32[($3_1 + 1952 | 0) >> 2] = 100; + break label$1; + case 110: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1916 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP16[($3_1 + 1838 | 0) >> 1] = HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; + label$191 : { + if (!(((HEAPU16[($3_1 + 1838 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) | 0) & 1 | 0)) { + break label$191 + } + $262(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0); + break label$8; + } + label$192 : { + label$193 : { + if (((HEAPU16[($3_1 + 1838 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0) { + break label$193 + } + label$194 : { + if (!($877(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0)) { + break label$194 + } + break label$3; + } + HEAP16[($3_1 + 1838 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -3 | 0; + break label$192; + } + label$195 : { + if (!(((HEAPU16[($3_1 + 1838 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$195 + } + label$196 : { + if (!($230(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0)) { + break label$196 + } + break label$3; + } + HEAP16[($3_1 + 1838 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -3 | 0; + } + } + HEAP16[($3_1 + 1836 | 0) >> 1] = HEAPU16[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; + label$197 : { + label$198 : { + if (((HEAPU16[($3_1 + 1836 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0) { + break label$198 + } + label$199 : { + if (!($877(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0)) { + break label$199 + } + break label$3; + } + HEAP16[($3_1 + 1836 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -3 | 0; + break label$197; + } + label$200 : { + if (!(((HEAPU16[($3_1 + 1836 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$200 + } + label$201 : { + if (!($230(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) | 0)) { + break label$201 + } + break label$3; + } + HEAP16[($3_1 + 1836 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -3 | 0; + } + } + i64toi32_i32$1 = (HEAP32[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $10586 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1840 | 0) >> 2] = $10586; + HEAP32[($3_1 + 1844 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1840 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1844 | 0) >> 2] | 0; + $8183 = i64toi32_i32$2; + $8183$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $8184$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8183$hi; + i64toi32_i32$1 = $8184$hi; + i64toi32_i32$1 = $8183$hi; + i64toi32_i32$1 = $8184$hi; + $10599 = i64toi32_i32$2; + i64toi32_i32$1 = $8183$hi; + i64toi32_i32$3 = $8183; + i64toi32_i32$2 = $8184$hi; + i64toi32_i32$5 = $10599; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $593_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$5 >>> 0) { + $594_1 = 0 + } else { + $594_1 = 1 + } + $595_1 = $594_1; + } else { + $595_1 = 0 + } + $593_1 = $595_1; + } + label$202 : { + if (!($593_1 & 1 | 0)) { + break label$202 + } + break label$13; + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1840 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1844 | 0) >> 2] | 0; + label$203 : { + if (!($231(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, i64toi32_i32$3 + 3 | 0 | 0, (HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) & 1 | 0 | 0) | 0)) { + break label$203 + } + break label$3; + } + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 2 | 0; + label$204 : { + if (!((HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$204 + } + $3288(HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP16[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($3_1 + 1836 | 0) >> 1] | 0; + } + $862_1 = 0; + $3288((HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0 | 0, HEAP32[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($3_1 + 1838 | 0) >> 1] | 0; + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1840 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1844 | 0) >> 2] | 0; + HEAP8[((HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + i64toi32_i32$1 | 0) >> 0] = $862_1; + $879_1 = HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1840 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1844 | 0) >> 2] | 0; + $8189$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $8190$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8189$hi; + i64toi32_i32$1 = $8190$hi; + i64toi32_i32$1 = $8189$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$3 = $8190$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + HEAP8[($879_1 + i64toi32_i32$0 | 0) >> 0] = $862_1; + $883_1 = HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1840 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1844 | 0) >> 2] | 0; + $8192$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $8193$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8192$hi; + i64toi32_i32$5 = $8193$hi; + i64toi32_i32$5 = $8192$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$4 = $8193$hi; + i64toi32_i32$2 = 2; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + HEAP8[($883_1 + i64toi32_i32$3 | 0) >> 0] = $862_1; + $886_1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP16[($886_1 + 8 | 0) >> 1] = (HEAPU16[($886_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 512 | 0; + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1840 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1844 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP8[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[($3_1 + 1946 | 0) >> 0] | 0; + break label$8; + case 105: + case 106: + case 107: + case 108: + case 109: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $890(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 1832 | 0) >> 1] = wasm2js_i32$1; + HEAP32[($3_1 + 1916 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $890(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 1830 | 0) >> 1] = wasm2js_i32$1; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP16[($3_1 + 1834 | 0) >> 1] = (HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$205 : { + label$206 : { + label$207 : { + label$208 : { + if (!((((HEAPU16[($3_1 + 1832 | 0) >> 1] | 0) & 65535 | 0) & ((HEAPU16[($3_1 + 1830 | 0) >> 1] | 0) & 65535 | 0) | 0) & 4 | 0)) { + break label$208 + } + i64toi32_i32$5 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $10882 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1816 | 0) >> 2] = $10882; + HEAP32[($3_1 + 1820 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$5 = HEAP32[($3_1 + 1916 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $10888 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 1808 | 0) >> 2] = $10888; + HEAP32[($3_1 + 1812 | 0) >> 2] = i64toi32_i32$1; + $941_1 = (HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) + -105 | 0; + label$209 : { + label$210 : { + switch ($941_1 | 0) { + case 0: + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + label$215 : { + if (!($891($3_1 + 1808 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0)) { + break label$215 + } + break label$207; + } + break label$209; + case 1: + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + label$216 : { + if (!($892($3_1 + 1808 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0)) { + break label$216 + } + break label$207; + } + break label$209; + case 2: + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + label$217 : { + if (!($893($3_1 + 1808 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0)) { + break label$217 + } + break label$207; + } + break label$209; + case 3: + i64toi32_i32$0 = 0; + $8201$hi = i64toi32_i32$0; + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + $8203$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8201$hi; + i64toi32_i32$1 = $8203$hi; + i64toi32_i32$1 = $8201$hi; + i64toi32_i32$1 = $8203$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $8201$hi; + i64toi32_i32$2 = 0; + label$218 : { + if (!(((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$218 + } + break label$205; + } + i64toi32_i32$5 = -1; + $8205$hi = i64toi32_i32$5; + i64toi32_i32$2 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + $8207$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8205$hi; + i64toi32_i32$1 = $8207$hi; + i64toi32_i32$1 = $8205$hi; + i64toi32_i32$1 = $8207$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $8205$hi; + i64toi32_i32$0 = -1; + label$219 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$219 + } + i64toi32_i32$2 = -2147483648; + $8209$hi = i64toi32_i32$2; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1808 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1812 | 0) >> 2] | 0; + $8211$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8209$hi; + i64toi32_i32$1 = $8211$hi; + i64toi32_i32$1 = $8209$hi; + i64toi32_i32$1 = $8211$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $8209$hi; + i64toi32_i32$5 = 0; + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$219 + } + break label$207; + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + $8213 = i64toi32_i32$0; + $8213$hi = i64toi32_i32$1; + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1808 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1812 | 0) >> 2] | 0; + $10973$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8213$hi; + i64toi32_i32$0 = $10973$hi; + $671_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8213$hi; + i64toi32_i32$1 = __wasm_i64_sdiv($671_1 | 0, i64toi32_i32$0 | 0, $8213 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $10977 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1808 | 0) >> 2] = $10977; + HEAP32[($3_1 + 1812 | 0) >> 2] = i64toi32_i32$0; + break label$209; + default: + break label$210; + }; + } + i64toi32_i32$0 = 0; + $8216$hi = i64toi32_i32$0; + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + $8218$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8216$hi; + i64toi32_i32$1 = $8218$hi; + i64toi32_i32$1 = $8216$hi; + i64toi32_i32$1 = $8218$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $8216$hi; + i64toi32_i32$2 = 0; + label$220 : { + if (!(((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$220 + } + break label$205; + } + i64toi32_i32$5 = -1; + $8220$hi = i64toi32_i32$5; + i64toi32_i32$2 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + $8222$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8220$hi; + i64toi32_i32$1 = $8222$hi; + i64toi32_i32$1 = $8220$hi; + i64toi32_i32$1 = $8222$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $8220$hi; + i64toi32_i32$0 = -1; + label$221 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$221 + } + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1816 | 0) >> 2] = 1; + HEAP32[($3_1 + 1820 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + $8225 = i64toi32_i32$2; + $8225$hi = i64toi32_i32$1; + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1808 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1812 | 0) >> 2] | 0; + $11008$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8225$hi; + i64toi32_i32$2 = $11008$hi; + $672_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8225$hi; + i64toi32_i32$1 = __wasm_i64_srem($672_1 | 0, i64toi32_i32$2 | 0, $8225 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $11012 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1808 | 0) >> 2] = $11012; + HEAP32[($3_1 + 1812 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1808 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1812 | 0) >> 2] | 0; + $11018 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $11018; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 4 | 0; + break label$206; + } + label$222 : { + if (!(((HEAPU16[($3_1 + 1834 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$222 + } + break label$205; + } + } + (wasm2js_i32$0 = $3_1, wasm2js_f64$0 = +$237(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 1800 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3_1, wasm2js_f64$0 = +$237(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 1792 | 0) >> 3] = wasm2js_f64$0; + $990_1 = (HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) + -105 | 0; + label$223 : { + label$224 : { + switch ($990_1 | 0) { + case 0: + HEAPF64[($3_1 + 1792 | 0) >> 3] = +HEAPF64[($3_1 + 1792 | 0) >> 3] + +HEAPF64[($3_1 + 1800 | 0) >> 3]; + break label$223; + case 1: + HEAPF64[($3_1 + 1792 | 0) >> 3] = +HEAPF64[($3_1 + 1792 | 0) >> 3] - +HEAPF64[($3_1 + 1800 | 0) >> 3]; + break label$223; + case 2: + HEAPF64[($3_1 + 1792 | 0) >> 3] = +HEAPF64[($3_1 + 1792 | 0) >> 3] * +HEAPF64[($3_1 + 1800 | 0) >> 3]; + break label$223; + case 3: + label$229 : { + if (!(+HEAPF64[($3_1 + 1800 | 0) >> 3] == +(0 | 0) & 1 | 0)) { + break label$229 + } + break label$205; + } + HEAPF64[($3_1 + 1792 | 0) >> 3] = +HEAPF64[($3_1 + 1792 | 0) >> 3] / +HEAPF64[($3_1 + 1800 | 0) >> 3]; + break label$223; + default: + break label$224; + }; + } + i64toi32_i32$1 = 0; + $8229$hi = i64toi32_i32$1; + i64toi32_i32$1 = $240(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $11122 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1816 | 0) >> 2] = $11122; + HEAP32[($3_1 + 1820 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $240(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $11128 = i64toi32_i32$2; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1808 | 0) >> 2] = $11128; + HEAP32[($3_1 + 1812 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + $8233$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8229$hi; + i64toi32_i32$2 = $8233$hi; + i64toi32_i32$2 = $8229$hi; + i64toi32_i32$2 = $8233$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $8229$hi; + i64toi32_i32$5 = 0; + label$230 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$230 + } + break label$205; + } + i64toi32_i32$0 = -1; + $8235$hi = i64toi32_i32$0; + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + $8237$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8235$hi; + i64toi32_i32$2 = $8237$hi; + i64toi32_i32$2 = $8235$hi; + i64toi32_i32$2 = $8237$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $8235$hi; + i64toi32_i32$1 = -1; + label$231 : { + if (!(((i64toi32_i32$5 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$231 + } + i64toi32_i32$5 = 0; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1816 | 0) >> 2] = 1; + HEAP32[($3_1 + 1820 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1808 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1812 | 0) >> 2] | 0; + $8240 = i64toi32_i32$5; + $8240$hi = i64toi32_i32$2; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + $8241$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8240$hi; + i64toi32_i32$5 = $8241$hi; + $11160 = i64toi32_i32$2; + i64toi32_i32$5 = $8240$hi; + i64toi32_i32$2 = $8241$hi; + i64toi32_i32$2 = __wasm_i64_srem($8240 | 0, i64toi32_i32$5 | 0, $11160 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$1 = 0; + HEAPF64[($3_1 + 1792 | 0) >> 3] = +(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$5 | 0); + } + label$232 : { + if (!($55(+(+HEAPF64[($3_1 + 1792 | 0) >> 3])) | 0)) { + break label$232 + } + break label$205; + } + HEAPF64[(HEAP32[($3_1 + 1908 | 0) >> 2] | 0) >> 3] = +HEAPF64[($3_1 + 1792 | 0) >> 3]; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 8 | 0; + } + break label$8; + } + $262(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0); + break label$8; + case 81: + label$233 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$233 + } + i64toi32_i32$5 = 0; + $268((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0 | 0, 0 | 0, i64toi32_i32$5 | 0); + } + break label$8; + case 101: + case 102: + case 103: + case 104: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1916 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$234 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) | 0) & 1 | 0)) { + break label$234 + } + $262(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0); + break label$8; + } + i64toi32_i32$5 = $240(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $11290 = i64toi32_i32$5; + i64toi32_i32$5 = $3_1; + HEAP32[($3_1 + 1784 | 0) >> 2] = $11290; + HEAP32[($3_1 + 1788 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $240(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $11296 = i64toi32_i32$2; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1768 | 0) >> 2] = $11296; + HEAP32[($3_1 + 1772 | 0) >> 2] = i64toi32_i32$5; + HEAP8[($3_1 + 1767 | 0) >> 0] = HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0; + label$235 : { + label$236 : { + if (!(((HEAPU8[($3_1 + 1767 | 0) >> 0] | 0) & 255 | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$236 + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8246 = i64toi32_i32$5; + $8246$hi = i64toi32_i32$2; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1784 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1788 | 0) >> 2] | 0; + $11322$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8246$hi; + i64toi32_i32$5 = $11322$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $8246$hi; + i64toi32_i32$0 = $8246; + i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2 | 0; + $11326 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1784 | 0) >> 2] = $11326; + HEAP32[($3_1 + 1788 | 0) >> 2] = i64toi32_i32$2; + break label$235; + } + label$237 : { + label$238 : { + if (!(((HEAPU8[($3_1 + 1767 | 0) >> 0] | 0) & 255 | 0 | 0) == (102 | 0) & 1 | 0)) { + break label$238 + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8249 = i64toi32_i32$2; + $8249$hi = i64toi32_i32$1; + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1784 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1788 | 0) >> 2] | 0; + $11346$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8249$hi; + i64toi32_i32$2 = $11346$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $8249$hi; + i64toi32_i32$0 = $8249; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $11350 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + i64toi32_i32$5 = $3_1; + HEAP32[($3_1 + 1784 | 0) >> 2] = $11350; + HEAP32[($3_1 + 1788 | 0) >> 2] = i64toi32_i32$1; + break label$237; + } + i64toi32_i32$1 = 0; + $8252$hi = i64toi32_i32$1; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8254$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8252$hi; + i64toi32_i32$5 = $8254$hi; + i64toi32_i32$5 = $8252$hi; + i64toi32_i32$5 = $8254$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $8252$hi; + i64toi32_i32$0 = 0; + label$239 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$239 + } + i64toi32_i32$2 = 0; + $8256$hi = i64toi32_i32$2; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8258$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8256$hi; + i64toi32_i32$5 = $8258$hi; + i64toi32_i32$5 = $8256$hi; + i64toi32_i32$5 = $8258$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $8256$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$2 | 0)) { + $596_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$1 >>> 0) { + $597_1 = 0 + } else { + $597_1 = 1 + } + $598_1 = $597_1; + } else { + $598_1 = 0 + } + $596_1 = $598_1; + } + label$240 : { + if (!($596_1 & 1 | 0)) { + break label$240 + } + i64toi32_i32$0 = -1; + $8260$hi = i64toi32_i32$0; + HEAP8[($3_1 + 1767 | 0) >> 0] = 207 - ((HEAPU8[($3_1 + 1767 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$1 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8262$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8260$hi; + i64toi32_i32$5 = $8262$hi; + i64toi32_i32$5 = $8260$hi; + i64toi32_i32$5 = $8262$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $8260$hi; + i64toi32_i32$2 = -64; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$0 | 0)) { + $599_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$2 >>> 0) { + $600_1 = 0 + } else { + $600_1 = 1 + } + $601_1 = $600_1; + } else { + $601_1 = 0 + } + $599_1 = $601_1; + } + label$241 : { + label$242 : { + if (!($599_1 & 1 | 0)) { + break label$242 + } + i64toi32_i32$1 = 0; + $8264$hi = i64toi32_i32$1; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8265$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8264$hi; + i64toi32_i32$5 = $8265$hi; + $11400 = i64toi32_i32$1; + i64toi32_i32$5 = $8264$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $8265$hi; + i64toi32_i32$0 = $11400; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + $8267 = i64toi32_i32$4; + $8267$hi = i64toi32_i32$3; + break label$241; + } + i64toi32_i32$3 = 0; + $8267 = 64; + $8267$hi = i64toi32_i32$3; + } + i64toi32_i32$3 = $8267$hi; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1768 | 0) >> 2] = $8267; + HEAP32[($3_1 + 1772 | 0) >> 2] = i64toi32_i32$3; + } + i64toi32_i32$3 = 0; + $8270$hi = i64toi32_i32$3; + i64toi32_i32$5 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8272$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8270$hi; + i64toi32_i32$2 = $8272$hi; + i64toi32_i32$2 = $8270$hi; + i64toi32_i32$2 = $8272$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$3 = $8270$hi; + i64toi32_i32$0 = 64; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$3 | 0)) { + $602_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + $603_1 = 0 + } else { + $603_1 = 1 + } + $604_1 = $603_1; + } else { + $604_1 = 0 + } + $602_1 = $604_1; + } + label$243 : { + label$244 : { + if (!($602_1 & 1 | 0)) { + break label$244 + } + $1093_1 = 1; + i64toi32_i32$5 = 0; + $8274$hi = i64toi32_i32$5; + i64toi32_i32$0 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1784 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1788 | 0) >> 2] | 0; + $8276$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8274$hi; + i64toi32_i32$2 = $8276$hi; + i64toi32_i32$2 = $8274$hi; + i64toi32_i32$2 = $8276$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $8274$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $605_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + $606_1 = 0 + } else { + $606_1 = 1 + } + $607_1 = $606_1; + } else { + $607_1 = 0 + } + $605_1 = $607_1; + } + $1097_1 = $1093_1; + label$245 : { + if ($605_1 & 1 | 0) { + break label$245 + } + $1097_1 = ((HEAPU8[($3_1 + 1767 | 0) >> 0] | 0) & 255 | 0 | 0) == (103 | 0); + } + i64toi32_i32$2 = $1097_1 & 1 | 0 ? 0 : -1; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $11454 = i64toi32_i32$2; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1784 | 0) >> 2] = $11454; + HEAP32[($3_1 + 1788 | 0) >> 2] = i64toi32_i32$0; + break label$243; + } + i64toi32_i32$3 = $3_1 + 1784 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $11466 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1 + 1776 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $11466; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + label$246 : { + label$247 : { + if (!(((HEAPU8[($3_1 + 1767 | 0) >> 0] | 0) & 255 | 0 | 0) == (103 | 0) & 1 | 0)) { + break label$247 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8280 = i64toi32_i32$2; + $8280$hi = i64toi32_i32$0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1776 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1780 | 0) >> 2] | 0; + $11486$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8280$hi; + i64toi32_i32$2 = $11486$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $8280$hi; + i64toi32_i32$5 = $8280; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + $608_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$1 | 0) | 0; + $608_1 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + } + i64toi32_i32$3 = $3_1; + HEAP32[($3_1 + 1776 | 0) >> 2] = $608_1; + HEAP32[($3_1 + 1780 | 0) >> 2] = i64toi32_i32$0; + break label$246; + } + i64toi32_i32$0 = 0; + $8283 = 0; + $8283$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8284 = i64toi32_i32$0; + $8284$hi = i64toi32_i32$3; + i64toi32_i32$2 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1776 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1780 | 0) >> 2] | 0; + $11495$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8284$hi; + i64toi32_i32$0 = $11495$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $8284$hi; + i64toi32_i32$5 = $8284; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $609_1 = i64toi32_i32$0 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$0 >>> i64toi32_i32$1 | 0; + $609_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$1 | 0) | 0; + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1776 | 0) >> 2] = $609_1; + HEAP32[($3_1 + 1780 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$0 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1784 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1788 | 0) >> 2] | 0; + $8288$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8283$hi; + i64toi32_i32$2 = $8288$hi; + i64toi32_i32$2 = $8283$hi; + i64toi32_i32$2 = $8288$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $8283$hi; + i64toi32_i32$5 = $8283; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$3 | 0)) { + $610_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$5 >>> 0) { + $611_1 = 0 + } else { + $611_1 = 1 + } + $612_1 = $611_1; + } else { + $612_1 = 0 + } + $610_1 = $612_1; + } + label$248 : { + if (!($610_1 & 1 | 0)) { + break label$248 + } + i64toi32_i32$0 = -1; + $8290$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $8291$hi = i64toi32_i32$0; + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8292$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8291$hi; + i64toi32_i32$2 = $8292$hi; + $11515 = i64toi32_i32$0; + i64toi32_i32$2 = $8291$hi; + i64toi32_i32$5 = 64; + i64toi32_i32$0 = $8292$hi; + i64toi32_i32$3 = $11515; + i64toi32_i32$1 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $8293$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8290$hi; + i64toi32_i32$4 = $8293$hi; + i64toi32_i32$4 = $8290$hi; + i64toi32_i32$2 = -1; + i64toi32_i32$5 = $8293$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$0 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + $613_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$0 | 0) | 0; + $613_1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + } + $8294$hi = i64toi32_i32$5; + i64toi32_i32$4 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1776 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1780 | 0) >> 2] | 0; + $11522$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8294$hi; + i64toi32_i32$2 = $11522$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$5 = $8294$hi; + i64toi32_i32$3 = $613_1; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + $11526 = i64toi32_i32$4 | i64toi32_i32$3 | 0; + i64toi32_i32$4 = $3_1; + HEAP32[($3_1 + 1776 | 0) >> 2] = $11526; + HEAP32[($3_1 + 1780 | 0) >> 2] = i64toi32_i32$5; + } + } + i64toi32_i32$2 = $3_1 + 1776 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $11538 = i64toi32_i32$5; + i64toi32_i32$5 = $3_1 + 1784 | 0; + HEAP32[i64toi32_i32$5 >> 2] = $11538; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$4; + } + } + } + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1784 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1788 | 0) >> 2] | 0; + $11544 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$4 >> 2] = $11544; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 4 | 0; + break label$8; + case 82: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + $894(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$4 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$4 >> 31 | 0; + $8299 = i64toi32_i32$4; + $8299$hi = i64toi32_i32$5; + $1156_1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$2 = $1156_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $11591$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8299$hi; + i64toi32_i32$4 = $11591$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $8299$hi; + i64toi32_i32$3 = $8299; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$2 = $1156_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$8; + case 15: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + label$249 : { + if (((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0) { + break label$249 + } + $1172_1 = 24; + $895(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, (67 << $1172_1 | 0) >> $1172_1 | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0); + label$250 : { + if (((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0) { + break label$250 + } + label$251 : { + if (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$251 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 20; + break label$2; + } + break label$11; + } + } + HEAP16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 4 | 0; + break label$8; + case 83: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + label$252 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 36 | 0)) { + break label$252 + } + $896(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0; + } + break label$8; + case 84: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + label$253 : { + label$254 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$254 + } + $1222_1 = $230(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0; + break label$253; + } + $1222_1 = 0; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = $1222_1; + label$255 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$255 + } + break label$2; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $897(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) & 255 | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$256 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$256 + } + break label$2; + } + break label$8; + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP16[($3_1 + 1752 | 0) >> 1] = HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; + HEAP16[($3_1 + 1750 | 0) >> 1] = HEAPU16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; + label$257 : { + label$258 : { + label$259 : { + if (!(((HEAPU16[($3_1 + 1752 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[($3_1 + 1750 | 0) >> 1] | 0) & 65535 | 0) | 0) & 1 | 0)) { + break label$259 + } + label$260 : { + label$261 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$261 + } + label$262 : { + label$263 : { + if (!((((HEAPU16[($3_1 + 1752 | 0) >> 1] | 0) & 65535 | 0) & ((HEAPU16[($3_1 + 1750 | 0) >> 1] | 0) & 65535 | 0) | 0) & 1 | 0)) { + break label$263 + } + if (((HEAPU16[($3_1 + 1750 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0) { + break label$263 + } + HEAP32[($3_1 + 1760 | 0) >> 2] = 0; + break label$262; + } + HEAP32[($3_1 + 1760 | 0) >> 2] = ((HEAPU16[($3_1 + 1750 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0 ? -1 : 1; + } + break label$260; + } + label$264 : { + label$265 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$265 + } + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1940 | 0) >> 2] = 1; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 1 | 0; + break label$264; + } + label$266 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$266 + } + break label$11; + } + } + break label$8; + } + break label$258; + } + HEAP8[($3_1 + 1755 | 0) >> 0] = ((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 71 | 0; + $1326_1 = 24; + label$267 : { + label$268 : { + if (!((((HEAPU8[($3_1 + 1755 | 0) >> 0] | 0) << $1326_1 | 0) >> $1326_1 | 0 | 0) >= (67 | 0) & 1 | 0)) { + break label$268 + } + label$269 : { + if (!(((HEAPU16[($3_1 + 1752 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[($3_1 + 1750 | 0) >> 1] | 0) & 65535 | 0) | 0) & 2 | 0)) { + break label$269 + } + label$270 : { + if (!((((HEAPU16[($3_1 + 1752 | 0) >> 1] | 0) & 65535 | 0) & 46 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$270 + } + $343(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, 0 | 0); + HEAP16[($3_1 + 1750 | 0) >> 1] = HEAPU16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; + } + label$271 : { + if (!((((HEAPU16[($3_1 + 1750 | 0) >> 1] | 0) & 65535 | 0) & 46 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$271 + } + $343(HEAP32[($3_1 + 1912 | 0) >> 2] | 0 | 0, 0 | 0); + } + } + label$272 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & ((HEAPU16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) | 0) & 4 | 0)) { + break label$272 + } + i64toi32_i32$4 = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $8302 = i64toi32_i32$1; + $8302$hi = i64toi32_i32$2; + i64toi32_i32$4 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $8303$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8302$hi; + i64toi32_i32$1 = $8303$hi; + i64toi32_i32$1 = $8302$hi; + i64toi32_i32$1 = $8303$hi; + $12066 = i64toi32_i32$2; + i64toi32_i32$1 = $8302$hi; + i64toi32_i32$4 = $8302; + i64toi32_i32$2 = $8303$hi; + i64toi32_i32$3 = $12066; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $614_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$4 >>> 0 <= i64toi32_i32$3 >>> 0) { + $615_1 = 0 + } else { + $615_1 = 1 + } + $616_1 = $615_1; + } else { + $616_1 = 0 + } + $614_1 = $616_1; + } + label$273 : { + if (!($614_1 & 1 | 0)) { + break label$273 + } + HEAP32[($3_1 + 1760 | 0) >> 2] = 1; + break label$257; + } + i64toi32_i32$3 = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $8306 = i64toi32_i32$4; + $8306$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $8307$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8306$hi; + i64toi32_i32$4 = $8307$hi; + i64toi32_i32$4 = $8306$hi; + i64toi32_i32$4 = $8307$hi; + $12086 = i64toi32_i32$1; + i64toi32_i32$4 = $8306$hi; + i64toi32_i32$3 = $8306; + i64toi32_i32$1 = $8307$hi; + i64toi32_i32$2 = $12086; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$1 | 0)) { + $617_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$2 >>> 0) { + $618_1 = 0 + } else { + $618_1 = 1 + } + $619_1 = $618_1; + } else { + $619_1 = 0 + } + $617_1 = $619_1; + } + label$274 : { + if (!($617_1 & 1 | 0)) { + break label$274 + } + HEAP32[($3_1 + 1760 | 0) >> 2] = -1; + break label$257; + } + HEAP32[($3_1 + 1760 | 0) >> 2] = 0; + break label$257; + } + break label$267; + } + $1397_1 = 24; + label$275 : { + if (!((((HEAPU8[($3_1 + 1755 | 0) >> 0] | 0) << $1397_1 | 0) >> $1397_1 | 0 | 0) == (66 | 0) & 1 | 0)) { + break label$275 + } + label$276 : { + if (((HEAPU16[($3_1 + 1752 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0) { + break label$276 + } + if (!(((HEAPU16[($3_1 + 1752 | 0) >> 1] | 0) & 65535 | 0) & 44 | 0)) { + break label$276 + } + $877(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0, 1 & 255 | 0 | 0) | 0; + HEAP16[($3_1 + 1752 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | (((HEAPU16[($3_1 + 1752 | 0) >> 1] | 0) & 65535 | 0) & 49599 | 0) | 0; + label$277 : { + if (!((HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 1912 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$277 + } + HEAP16[($3_1 + 1750 | 0) >> 1] = (HEAPU16[($3_1 + 1752 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0; + } + } + label$278 : { + if (((HEAPU16[($3_1 + 1750 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0) { + break label$278 + } + if (!(((HEAPU16[($3_1 + 1750 | 0) >> 1] | 0) & 65535 | 0) & 44 | 0)) { + break label$278 + } + $877(HEAP32[($3_1 + 1912 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0, 1 & 255 | 0 | 0) | 0; + HEAP16[($3_1 + 1750 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | (((HEAPU16[($3_1 + 1750 | 0) >> 1] | 0) & 65535 | 0) & 49599 | 0) | 0; + } + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $898(HEAP32[($3_1 + 1912 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1760 | 0) >> 2] = wasm2js_i32$1; + } + } + label$279 : { + label$280 : { + if (!((HEAP32[($3_1 + 1760 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$280 + } + HEAP32[($3_1 + 1756 | 0) >> 2] = (HEAPU8[((((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) - 52 | 0) + 7622 | 0) >> 0] | 0) & 255 | 0; + break label$279; + } + label$281 : { + label$282 : { + if (HEAP32[($3_1 + 1760 | 0) >> 2] | 0) { + break label$282 + } + HEAP32[($3_1 + 1756 | 0) >> 2] = (HEAPU8[((((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) - 52 | 0) + 7628 | 0) >> 0] | 0) & 255 | 0; + break label$281; + } + HEAP32[($3_1 + 1756 | 0) >> 2] = (HEAPU8[((((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) - 52 | 0) + 7634 | 0) >> 0] | 0) & 255 | 0; + } + } + HEAP16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($3_1 + 1750 | 0) >> 1] | 0; + HEAP16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($3_1 + 1752 | 0) >> 1] | 0; + label$283 : { + label$284 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$284 + } + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1940 | 0) >> 2] = HEAP32[($3_1 + 1760 | 0) >> 2] | 0; + label$285 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$285 + } + label$286 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (53 | 0) & 1 | 0 | 0) == (HEAP32[($3_1 + 1756 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$286 + } + break label$8; + } + } + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 4 | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1756 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$4 >> 31 | 0; + $12437 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$4 >> 2] = $12437; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$3; + break label$283; + } + label$287 : { + if (!(HEAP32[($3_1 + 1756 | 0) >> 2] | 0)) { + break label$287 + } + break label$11; + } + } + break label$8; + case 58: + label$288 : { + if (!(HEAP32[($3_1 + 1940 | 0) >> 2] | 0)) { + break label$288 + } + break label$11; + } + break label$8; + case 85: + break label$8; + case 86: + label$289 : { + label$290 : { + if (((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$290 + } + HEAP32[($3_1 + 1712 | 0) >> 2] = 0; + break label$289; + } + HEAP32[($3_1 + 1712 | 0) >> 2] = (HEAP32[(((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + -20 | 0) + 16 | 0) >> 2] | 0) + 4 | 0; + } + HEAP32[($3_1 + 1744 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 1728 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1736 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1732 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 1740 | 0) >> 2] = 0; + label$291 : { + label$292 : while (1) { + if (!((HEAP32[($3_1 + 1740 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 1744 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$291 + } + label$293 : { + label$294 : { + if (!((HEAP32[($3_1 + 1712 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$294 + } + $1610_1 = HEAP32[((HEAP32[($3_1 + 1712 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1740 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$293; + } + $1610_1 = HEAP32[($3_1 + 1740 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 1724 | 0) >> 2] = $1610_1; + HEAP32[($3_1 + 1720 | 0) >> 2] = HEAP32[(((HEAP32[($3_1 + 1728 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($3_1 + 1740 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1716 | 0) >> 2] = ((HEAPU8[((HEAP32[((HEAP32[($3_1 + 1728 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($3_1 + 1740 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $898((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul((HEAP32[($3_1 + 1736 | 0) >> 2] | 0) + (HEAP32[($3_1 + 1724 | 0) >> 2] | 0) | 0, 40) | 0 | 0, (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul((HEAP32[($3_1 + 1732 | 0) >> 2] | 0) + (HEAP32[($3_1 + 1724 | 0) >> 2] | 0) | 0, 40) | 0 | 0, HEAP32[($3_1 + 1720 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1940 | 0) >> 2] = wasm2js_i32$1; + label$295 : { + if (!(HEAP32[($3_1 + 1940 | 0) >> 2] | 0)) { + break label$295 + } + label$296 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($3_1 + 1728 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($3_1 + 1740 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$296 + } + label$297 : { + if (((HEAPU16[(((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul((HEAP32[($3_1 + 1736 | 0) >> 2] | 0) + (HEAP32[($3_1 + 1724 | 0) >> 2] | 0) | 0, 40) | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$297 + } + if (!(((HEAPU16[(((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul((HEAP32[($3_1 + 1732 | 0) >> 2] | 0) + (HEAP32[($3_1 + 1724 | 0) >> 2] | 0) | 0, 40) | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$296 + } + } + HEAP32[($3_1 + 1940 | 0) >> 2] = 0 - (HEAP32[($3_1 + 1940 | 0) >> 2] | 0) | 0; + } + label$298 : { + if (!(HEAP32[($3_1 + 1716 | 0) >> 2] | 0)) { + break label$298 + } + HEAP32[($3_1 + 1940 | 0) >> 2] = 0 - (HEAP32[($3_1 + 1940 | 0) >> 2] | 0) | 0; + } + break label$291; + } + HEAP32[($3_1 + 1740 | 0) >> 2] = (HEAP32[($3_1 + 1740 | 0) >> 2] | 0) + 1 | 0; + continue label$292; + }; + } + break label$8; + case 16: + label$299 : { + label$300 : { + if (!((HEAP32[($3_1 + 1940 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$300 + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + break label$299; + } + label$301 : { + label$302 : { + if (HEAP32[($3_1 + 1940 | 0) >> 2] | 0) { + break label$302 + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + break label$301; + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + } + } + break label$8; + case 43: + case 44: + $1723_1 = 2; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $899((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0 | 0, $1723_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1708 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $899((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0 | 0, $1723_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1704 | 0) >> 2] = wasm2js_i32$1; + label$303 : { + label$304 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$304 + } + HEAP32[($3_1 + 1708 | 0) >> 2] = (HEAPU8[((Math_imul(HEAP32[($3_1 + 1708 | 0) >> 2] | 0, 3) + (HEAP32[($3_1 + 1704 | 0) >> 2] | 0) | 0) + 7640 | 0) >> 0] | 0) & 255 | 0; + break label$303; + } + HEAP32[($3_1 + 1708 | 0) >> 2] = (HEAPU8[((Math_imul(HEAP32[($3_1 + 1708 | 0) >> 2] | 0, 3) + (HEAP32[($3_1 + 1704 | 0) >> 2] | 0) | 0) + 7649 | 0) >> 0] | 0) & 255 | 0; + } + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$305 : { + label$306 : { + if (!((HEAP32[($3_1 + 1708 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$306 + } + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 1 | 0; + break label$305; + } + i64toi32_i32$4 = HEAP32[($3_1 + 1708 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$4 >> 31 | 0; + $12915 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$4 >> 2] = $12915; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$3; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 4 | 0; + } + break label$8; + case 87: + $1802_1 = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$4 = ($899((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0) ^ (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$4 >> 31 | 0; + $268($1802_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$3 | 0); + break label$8; + case 19: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + label$307 : { + label$308 : { + if (((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$308 + } + $1834_1 = 0; + $1835_1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + i64toi32_i32$4 = (($899(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, $1834_1 | 0) | 0 | 0) != ($1834_1 | 0) ^ -1 | 0) & 1 | 0; + i64toi32_i32$3 = i64toi32_i32$4 >> 31 | 0; + $268($1835_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$3 | 0); + break label$307; + } + $262(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0); + } + break label$8; + case 112: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + $262(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0); + label$309 : { + if (((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$309 + } + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + i64toi32_i32$3 = $240(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $8314$hi = i64toi32_i32$4; + i64toi32_i32$4 = -1; + $8315$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8314$hi; + i64toi32_i32$4 = $8315$hi; + i64toi32_i32$4 = $8314$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $8315$hi; + i64toi32_i32$1 = -1; + i64toi32_i32$3 = i64toi32_i32$4 ^ i64toi32_i32$3 | 0; + $13097 = i64toi32_i32$2 ^ i64toi32_i32$1 | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $13097; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + } + break label$8; + case 17: + label$310 : { + label$311 : { + if (!((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$311 + } + HEAP32[($3_1 + 1700 | 0) >> 2] = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + label$312 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1700 | 0) >> 2] | 0) >>> 3 | 0) | 0) >> 0] | 0) & 255 | 0) & (1 << ((HEAP32[($3_1 + 1700 | 0) >> 2] | 0) & 7 | 0) | 0) | 0)) { + break label$312 + } + break label$11; + } + $1911_1 = (HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1700 | 0) >> 2] | 0) >>> 3 | 0) | 0; + HEAP8[$1911_1 >> 0] = (HEAPU8[$1911_1 >> 0] | 0) & 255 | 0 | (1 << ((HEAP32[($3_1 + 1700 | 0) >> 2] | 0) & 7 | 0) | 0) | 0; + break label$310; + } + label$313 : { + if (!((HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$313 + } + break label$11; + } + } + HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$8; + case 18: + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $899((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1696 | 0) >> 2] = wasm2js_i32$1; + label$314 : { + if (!(HEAP32[($3_1 + 1696 | 0) >> 2] | 0)) { + break label$314 + } + break label$11; + } + break label$8; + case 20: + $1940_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = (($899((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0 | 0, ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($1940_1 | 0) ^ -1 | 0) & 1 | 0 | 0) | 0 | 0) != ($1940_1 | 0) ^ -1 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 1692 | 0) >> 2] = wasm2js_i32$1; + label$315 : { + if (!(HEAP32[($3_1 + 1692 | 0) >> 2] | 0)) { + break label$315 + } + break label$11; + } + break label$8; + case 50: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + label$316 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$316 + } + break label$11; + } + break label$8; + case 51: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + label$317 : { + if (((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$317 + } + break label$11; + } + break label$8; + case 21: + label$318 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$318 + } + $262((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0 | 0); + break label$11; + } + break label$8; + case 89: + HEAP32[($3_1 + 1684 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1688 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $900($3_1 + 1684 | 0 | 0, $3_1 + 1688 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$319 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$319 + } + break label$2; + } + HEAP32[($3_1 + 1664 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1676 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + label$320 : { + label$321 : { + label$322 : { + label$323 : { + label$324 : { + label$325 : { + label$326 : { + label$327 : { + if (!((HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$327 + } + label$328 : { + label$329 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$329 + } + label$330 : { + label$331 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1684 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$331 + } + HEAP32[($3_1 + 1592 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, 40) | 0; + $2074_1 = HEAP32[((HEAP32[($3_1 + 1592 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 84 | 0) >> 2] = $2074_1; + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 80 | 0) >> 2] = $2074_1; + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1592 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$330; + } + $262(HEAP32[($3_1 + 1664 | 0) >> 2] | 0 | 0); + break label$321; + } + break label$328; + } + HEAP32[($3_1 + 1680 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $2084_1 = $821(HEAP32[($3_1 + 1680 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 80 | 0) >> 2] = $2084_1; + $2090_1 = $901(HEAP32[($3_1 + 1680 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 84 | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] = $2090_1; + label$332 : { + if (!((HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$332 + } + break label$13; + } + } + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$333 : { + label$334 : { + if (!(((HEAPU8[(HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$334 + } + HEAP32[(HEAP32[($3_1 + 1676 | 0) >> 2] | 0) >> 2] = (HEAPU8[(HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $2122_1 = 1; + break label$333; + } + $2122_1 = ($902(HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1676 | 0) >> 2] | 0 | 0) | 0) & 255 | 0; + } + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 48 | 0) >> 2] = $2122_1 & 255 | 0; + HEAP16[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 58 | 0) >> 1] = 0; + label$335 : { + label$336 : { + if (!((HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0) >>> 0 < (HEAP32[(HEAP32[($3_1 + 1676 | 0) >> 2] | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$336 + } + $2145_1 = 0; + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] = $2145_1; + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 84 | 0) >> 2] = $2145_1; + label$337 : { + label$338 : { + if ((HEAP32[(HEAP32[($3_1 + 1676 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > 98307 >>> 0 & 1 | 0) { + break label$338 + } + if (!((HEAP32[(HEAP32[($3_1 + 1676 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$337 + } + } + break label$320; + } + break label$335; + } + HEAP32[($3_1 + 1620 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + break label$326; + } + } + if (!(((HEAPU16[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 58 | 0) >> 1] | 0) & 65535 | 0) >>> 0 <= (HEAP32[($3_1 + 1688 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$323 + } + if (!((HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >>> 0 < (HEAP32[(HEAP32[($3_1 + 1676 | 0) >> 2] | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$325 + } + label$339 : { + label$340 : { + if (!((HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$340 + } + $2195_1 = $3_1 + 1624 | 0; + i64toi32_i32$3 = 0; + $8317 = 0; + i64toi32_i32$2 = $2195_1; + HEAP32[i64toi32_i32$2 >> 2] = $8317; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = i64toi32_i32$2 + 32 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $8317; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $2195_1 + 24 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $8317; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $2195_1 + 16 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $8317; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $2195_1 + 8 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $8317; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $903(HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($3_1 + 1676 | 0) >> 2] | 0) >> 2] | 0 | 0, $2195_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$341 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$341 + } + break label$2; + } + HEAP32[($3_1 + 1620 | 0) >> 2] = HEAP32[($3_1 + 1640 | 0) >> 2] | 0; + break label$339; + } + HEAP32[($3_1 + 1620 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + } + } + HEAP32[($3_1 + 1668 | 0) >> 2] = (HEAPU16[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 58 | 0) >> 1] | 0) & 65535 | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1600 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1676 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1668 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1604 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($3_1 + 1616 | 0) >> 2] = (HEAP32[($3_1 + 1620 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 1612 | 0) >> 2] = (HEAP32[($3_1 + 1620 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($3_1 + 1676 | 0) >> 2] | 0) >> 2] | 0) | 0; + label$342 : while (1) { + $2236_1 = (HEAPU8[(HEAP32[($3_1 + 1616 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($3_1 + 1596 | 0) >> 2] = $2236_1; + HEAP32[(((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 88 | 0) + ((HEAP32[($3_1 + 1668 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $2236_1; + label$343 : { + label$344 : { + if (!($2236_1 >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$344 + } + HEAP32[($3_1 + 1616 | 0) >> 2] = (HEAP32[($3_1 + 1616 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$3 = 0; + $8319 = ($904((HEAP32[($3_1 + 1596 | 0) >> 2] | 0) & 255 | 0 | 0) | 0) & 255 | 0; + $8319$hi = i64toi32_i32$3; + i64toi32_i32$4 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1600 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1604 | 0) >> 2] | 0; + $13922$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8319$hi; + i64toi32_i32$2 = $13922$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$3 = $8319$hi; + i64toi32_i32$1 = $8319; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$4 = $3_1; + HEAP32[($3_1 + 1600 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($3_1 + 1604 | 0) >> 2] = i64toi32_i32$0; + break label$343; + } + $2264_1 = ($902(HEAP32[($3_1 + 1616 | 0) >> 2] | 0 | 0, $3_1 + 1596 | 0 | 0) | 0) & 255 | 0; + HEAP32[($3_1 + 1616 | 0) >> 2] = (HEAP32[($3_1 + 1616 | 0) >> 2] | 0) + $2264_1 | 0; + HEAP32[(((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 88 | 0) + ((HEAP32[($3_1 + 1668 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($3_1 + 1596 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $8322 = $378(HEAP32[($3_1 + 1596 | 0) >> 2] | 0 | 0) | 0; + $8322$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1600 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1604 | 0) >> 2] | 0; + $13972$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8322$hi; + i64toi32_i32$4 = $13972$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $8322$hi; + i64toi32_i32$1 = $8322; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1600 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($3_1 + 1604 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$4 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1600 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1604 | 0) >> 2] | 0; + $8325$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $8326$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8325$hi; + i64toi32_i32$2 = $8326$hi; + i64toi32_i32$2 = $8325$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$5 = $8326$hi; + i64toi32_i32$1 = -1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $2279_1 = HEAP32[($3_1 + 1676 | 0) >> 2] | 0; + $2282_1 = (HEAP32[($3_1 + 1668 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 1668 | 0) >> 2] = $2282_1; + HEAP32[($2279_1 + ($2282_1 << 2 | 0) | 0) >> 2] = i64toi32_i32$4 & i64toi32_i32$1 | 0; + $2294_1 = 0; + label$345 : { + if (!((HEAP32[($3_1 + 1668 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($3_1 + 1688 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$345 + } + $2294_1 = (HEAP32[($3_1 + 1616 | 0) >> 2] | 0) >>> 0 < (HEAP32[($3_1 + 1612 | 0) >> 2] | 0) >>> 0; + } + if ($2294_1 & 1 | 0) { + continue label$342 + } + break label$342; + }; + label$346 : { + label$347 : { + label$348 : { + if (!((HEAP32[($3_1 + 1616 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($3_1 + 1612 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$348 + } + if ((HEAP32[($3_1 + 1616 | 0) >> 2] | 0) >>> 0 > (HEAP32[($3_1 + 1612 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$347 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1600 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1604 | 0) >> 2] | 0; + $8328$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $8329$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8328$hi; + i64toi32_i32$4 = $8329$hi; + i64toi32_i32$4 = $8328$hi; + i64toi32_i32$4 = $8329$hi; + i64toi32_i32$4 = $8328$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $8329$hi; + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + if (((i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$4 | 0) != (i64toi32_i32$5 | 0) | 0) & 1 | 0) { + break label$347 + } + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1600 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1604 | 0) >> 2] | 0; + $8332$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $8333$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8332$hi; + i64toi32_i32$4 = $8333$hi; + i64toi32_i32$4 = $8332$hi; + i64toi32_i32$4 = $8333$hi; + i64toi32_i32$4 = $8332$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $8333$hi; + i64toi32_i32$5 = HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + if (!((i64toi32_i32$4 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$5 >>> 0 | 0) | 0) & 1 | 0)) { + break label$346 + } + } + label$349 : { + label$350 : { + if (HEAP32[(HEAP32[($3_1 + 1676 | 0) >> 2] | 0) >> 2] | 0) { + break label$350 + } + HEAP32[($3_1 + 1668 | 0) >> 2] = 0; + HEAP32[($3_1 + 1616 | 0) >> 2] = HEAP32[($3_1 + 1612 | 0) >> 2] | 0; + break label$349; + } + label$351 : { + if (!((HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$351 + } + $227($3_1 + 1624 | 0 | 0); + } + break label$320; + } + } + HEAP16[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 58 | 0) >> 1] = HEAP32[($3_1 + 1668 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 48 | 0) >> 2] = (HEAP32[($3_1 + 1616 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1620 | 0) >> 2] | 0) | 0; + label$352 : { + if (!((HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$352 + } + $227($3_1 + 1624 | 0 | 0); + } + break label$324; + } + HEAP32[($3_1 + 1596 | 0) >> 2] = 0; + } + label$353 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 58 | 0) >> 1] | 0) & 65535 | 0) >>> 0 <= (HEAP32[($3_1 + 1688 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$353 + } + $2375_1 = 24; + label$354 : { + label$355 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $2375_1 | 0) >> $2375_1 | 0 | 0) == (-11 | 0) & 1 | 0)) { + break label$355 + } + $889(HEAP32[($3_1 + 1664 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 2048 | 0); + break label$354; + } + $262(HEAP32[($3_1 + 1664 | 0) >> 2] | 0 | 0); + } + break label$321; + } + break label$322; + } + HEAP32[($3_1 + 1596 | 0) >> 2] = HEAP32[(((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 88 | 0) + ((HEAP32[($3_1 + 1688 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + label$356 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0)) { + break label$356 + } + $262(HEAP32[($3_1 + 1664 | 0) >> 2] | 0 | 0); + } + label$357 : { + label$358 : { + if (!((HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($3_1 + 1676 | 0) >> 2] | 0) + (((HEAP32[($3_1 + 1688 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$358 + } + HEAP32[($3_1 + 1620 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 1676 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1688 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + label$359 : { + label$360 : { + if (!((HEAP32[($3_1 + 1596 | 0) >> 2] | 0) >>> 0 < 12 >>> 0 & 1 | 0)) { + break label$360 + } + $905(HEAP32[($3_1 + 1620 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1596 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1664 | 0) >> 2] | 0 | 0) | 0; + break label$359; + } + $2441_1 = ((HEAP32[($3_1 + 1596 | 0) >> 2] | 0) - 12 | 0) >>> 1 | 0; + HEAP32[($3_1 + 1672 | 0) >> 2] = $2441_1; + HEAP32[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 12 | 0) >> 2] = $2441_1; + HEAP8[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[($3_1 + 1946 | 0) >> 0] | 0; + label$361 : { + label$362 : { + if (!((HEAP32[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) < ((HEAP32[($3_1 + 1672 | 0) >> 2] | 0) + 2 | 0 | 0) & 1 | 0)) { + break label$362 + } + HEAP16[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + label$363 : { + if (!($231(HEAP32[($3_1 + 1664 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 1672 | 0) >> 2] | 0) + 2 | 0 | 0, 0 | 0) | 0)) { + break label$363 + } + break label$3; + } + break label$361; + } + HEAP32[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + $2467_1 = 0; + $3288(HEAP32[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1620 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1672 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($3_1 + 1672 | 0) >> 2] | 0) | 0) >> 0] = $2467_1; + HEAP8[((HEAP32[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1672 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = $2467_1; + HEAP16[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[(7658 + (((HEAP32[($3_1 + 1596 | 0) >> 2] | 0) & 1 | 0) << 1 | 0) | 0) >> 1] | 0; + } + break label$357; + } + HEAP8[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[($3_1 + 1946 | 0) >> 0] | 0; + label$364 : { + label$365 : { + label$366 : { + label$367 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 192 | 0)) { + break label$367 + } + label$368 : { + if (!((HEAP32[($3_1 + 1596 | 0) >> 2] | 0) >>> 0 >= 12 >>> 0 & 1 | 0)) { + break label$368 + } + if (!((HEAP32[($3_1 + 1596 | 0) >> 2] | 0) & 1 | 0)) { + break label$366 + } + } + if (((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0) { + break label$366 + } + } + $2515_1 = $378(HEAP32[($3_1 + 1596 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 1672 | 0) >> 2] = $2515_1; + if ($2515_1) { + break label$365 + } + } + $905(2e3 | 0, HEAP32[($3_1 + 1596 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1664 | 0) >> 2] | 0 | 0) | 0; + break label$364; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $906(HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1676 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1688 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1672 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1664 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$369 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$369 + } + break label$2; + } + $905(HEAP32[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1596 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1664 | 0) >> 2] | 0 | 0) | 0; + $2535_1 = HEAP32[($3_1 + 1664 | 0) >> 2] | 0; + HEAP16[($2535_1 + 8 | 0) >> 1] = ((HEAPU16[($2535_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -4097 | 0; + } + } + } + break label$8; + } + label$370 : { + if (!((HEAP32[((HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$370 + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(88437 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + break label$2; + case 90: + HEAP32[($3_1 + 1588 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + label$371 : while (1) { + $2572_1 = 24; + $895(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, ((HEAPU8[(HEAP32[($3_1 + 1588 | 0) >> 2] | 0) >> 0] | 0) << $2572_1 | 0) >> $2572_1 | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0); + $2579_1 = 24; + label$372 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 1588 | 0) >> 2] | 0) >> 0] | 0) << $2579_1 | 0) >> $2579_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$372 + } + if (!(((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0)) { + break label$372 + } + i64toi32_i32$1 = 32767; + $8336$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $8338$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8336$hi; + i64toi32_i32$4 = $8338$hi; + i64toi32_i32$4 = $8336$hi; + i64toi32_i32$4 = $8338$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $8336$hi; + i64toi32_i32$2 = -1; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$1 | 0)) { + $620_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$5 >>> 0 > i64toi32_i32$2 >>> 0) { + $621_1 = 0 + } else { + $621_1 = 1 + } + $622_1 = $621_1; + } else { + $622_1 = 0 + } + $620_1 = $622_1; + } + label$373 : { + label$374 : { + if (!($620_1 & 1 | 0)) { + break label$374 + } + i64toi32_i32$5 = -32768; + $8340$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $8342$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8340$hi; + i64toi32_i32$4 = $8342$hi; + i64toi32_i32$4 = $8340$hi; + i64toi32_i32$4 = $8342$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $8340$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$5 | 0)) { + $623_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + $624_1 = 0 + } else { + $624_1 = 1 + } + $625_1 = $624_1; + } else { + $625_1 = 0 + } + $623_1 = $625_1; + } + if (!($623_1 & 1 | 0)) { + break label$374 + } + $2601_1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + HEAP16[($2601_1 + 8 | 0) >> 1] = (HEAPU16[($2601_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 32 | 0; + $2607_1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + HEAP16[($2607_1 + 8 | 0) >> 1] = ((HEAPU16[($2607_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -5 | 0; + break label$373; + } + i64toi32_i32$1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + HEAPF64[(HEAP32[($3_1 + 1920 | 0) >> 2] | 0) >> 3] = +(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$4 | 0); + $2615_1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + HEAP16[($2615_1 + 8 | 0) >> 1] = (HEAPU16[($2615_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + $2621_1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + HEAP16[($2621_1 + 8 | 0) >> 1] = ((HEAPU16[($2621_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -5 | 0; + } + } + HEAP32[($3_1 + 1588 | 0) >> 2] = (HEAP32[($3_1 + 1588 | 0) >> 2] | 0) + 1 | 0; + $2632_1 = 24; + label$375 : { + label$376 : { + if (((HEAPU8[(HEAP32[($3_1 + 1588 | 0) >> 2] | 0) >> 0] | 0) << $2632_1 | 0) >> $2632_1 | 0) { + break label$376 + } + break label$375; + } + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 40 | 0; + continue label$371; + } + break label$371; + }; + break label$8; + case 91: + $2638_1 = 0; + i64toi32_i32$4 = 0; + $8345 = 0; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1576 | 0) >> 2] = $8345; + HEAP32[($3_1 + 1580 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 1572 | 0) >> 2] = $2638_1; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1552 | 0) >> 2] = $8345; + HEAP32[($3_1 + 1556 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 1532 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1528 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1540 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1532 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1532 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 1536 | 0) >> 2] = (HEAP32[($3_1 + 1540 | 0) >> 2] | 0) + Math_imul((HEAP32[($3_1 + 1532 | 0) >> 2] | 0) - 1 | 0, 40) | 0; + HEAP32[($3_1 + 1524 | 0) >> 2] = (HEAPU8[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 147 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$377 : { + if (!((HEAP32[($3_1 + 1528 | 0) >> 2] | 0 | 0) != ($2638_1 | 0) & 1 | 0)) { + break label$377 + } + HEAP32[($3_1 + 1584 | 0) >> 2] = HEAP32[($3_1 + 1540 | 0) >> 2] | 0; + label$378 : while (1) { + $2679_1 = 24; + $895(HEAP32[($3_1 + 1584 | 0) >> 2] | 0 | 0, ((HEAPU8[(HEAP32[($3_1 + 1528 | 0) >> 2] | 0) >> 0] | 0) << $2679_1 | 0) >> $2679_1 | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0); + $2686_1 = 24; + label$379 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 1528 | 0) >> 2] | 0) >> 0] | 0) << $2686_1 | 0) >> $2686_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$379 + } + if (!(((HEAPU16[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0)) { + break label$379 + } + $2700_1 = HEAP32[($3_1 + 1584 | 0) >> 2] | 0; + HEAP16[($2700_1 + 8 | 0) >> 1] = (HEAPU16[($2700_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 32 | 0; + $2706_1 = HEAP32[($3_1 + 1584 | 0) >> 2] | 0; + HEAP16[($2706_1 + 8 | 0) >> 1] = ((HEAPU16[($2706_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -5 | 0; + } + HEAP32[($3_1 + 1528 | 0) >> 2] = (HEAP32[($3_1 + 1528 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 1584 | 0) >> 2] = (HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 40 | 0; + if (((HEAPU8[(HEAP32[($3_1 + 1528 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + continue label$378 + } + break label$378; + }; + } + HEAP32[($3_1 + 1584 | 0) >> 2] = HEAP32[($3_1 + 1536 | 0) >> 2] | 0; + label$380 : while (1) { + label$381 : { + label$382 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$382 + } + label$383 : { + label$384 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$384 + } + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = 10; + break label$383; + } + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + } + HEAP32[($3_1 + 1572 | 0) >> 2] = (HEAP32[($3_1 + 1572 | 0) >> 2] | 0) + 1 | 0; + break label$381; + } + label$385 : { + label$386 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 36 | 0)) { + break label$386 + } + i64toi32_i32$4 = 0; + $8346$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[($3_1 + 1584 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $15029 = i64toi32_i32$4; + i64toi32_i32$4 = $3_1; + HEAP32[($3_1 + 1504 | 0) >> 2] = $15029; + HEAP32[($3_1 + 1508 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1504 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1508 | 0) >> 2] | 0; + $8349$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8346$hi; + i64toi32_i32$4 = $8349$hi; + i64toi32_i32$4 = $8346$hi; + i64toi32_i32$4 = $8349$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $8346$hi; + i64toi32_i32$5 = 0; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$2 | 0)) { + $626_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$5 >>> 0) { + $628_1 = 0 + } else { + $628_1 = 1 + } + $630_1 = $628_1; + } else { + $630_1 = 0 + } + $626_1 = $630_1; + } + label$387 : { + label$388 : { + if (!($626_1 & 1 | 0)) { + break label$388 + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1504 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1508 | 0) >> 2] | 0; + $8351$hi = i64toi32_i32$4; + i64toi32_i32$4 = -1; + $8352$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8351$hi; + i64toi32_i32$4 = $8352$hi; + i64toi32_i32$4 = $8351$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $8352$hi; + i64toi32_i32$2 = -1; + i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0; + $15048 = i64toi32_i32$5 ^ i64toi32_i32$2 | 0; + i64toi32_i32$5 = $3_1; + HEAP32[($3_1 + 1496 | 0) >> 2] = $15048; + HEAP32[($3_1 + 1500 | 0) >> 2] = i64toi32_i32$1; + break label$387; + } + i64toi32_i32$4 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1504 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1508 | 0) >> 2] | 0; + $15052 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1496 | 0) >> 2] = $15052; + HEAP32[($3_1 + 1500 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$5 = 0; + $8355$hi = i64toi32_i32$5; + HEAP32[($3_1 + 1572 | 0) >> 2] = (HEAP32[($3_1 + 1572 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$4 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1496 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1500 | 0) >> 2] | 0; + $8357$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8355$hi; + i64toi32_i32$1 = $8357$hi; + i64toi32_i32$1 = $8355$hi; + i64toi32_i32$1 = $8357$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$5 = $8355$hi; + i64toi32_i32$2 = 127; + label$389 : { + label$390 : { + if (!((i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$4 >>> 0 <= i64toi32_i32$2 >>> 0 | 0) | 0) & 1 | 0)) { + break label$390 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1504 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1508 | 0) >> 2] | 0; + $8359$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $8360$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8359$hi; + i64toi32_i32$1 = $8360$hi; + i64toi32_i32$1 = $8359$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $8360$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$4 = i64toi32_i32$1 & i64toi32_i32$4 | 0; + $8361 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $8361$hi = i64toi32_i32$4; + i64toi32_i32$1 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1504 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1508 | 0) >> 2] | 0; + $8362$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8361$hi; + i64toi32_i32$2 = $8362$hi; + i64toi32_i32$2 = $8361$hi; + i64toi32_i32$2 = $8362$hi; + $15082 = i64toi32_i32$4; + i64toi32_i32$2 = $8361$hi; + i64toi32_i32$1 = $8361; + i64toi32_i32$4 = $8362$hi; + i64toi32_i32$5 = $15082; + label$391 : { + label$392 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$392 + } + if (!((HEAP32[($3_1 + 1524 | 0) >> 2] | 0 | 0) >= (4 | 0) & 1 | 0)) { + break label$392 + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1496 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1500 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = i64toi32_i32$1 + 8 | 0; + break label$391; + } + $2778_1 = 1; + i64toi32_i32$5 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $8366$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $8367$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8366$hi; + i64toi32_i32$1 = $8367$hi; + i64toi32_i32$1 = $8366$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $8367$hi; + i64toi32_i32$4 = 1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + i64toi32_i32$5 = $3_1; + HEAP32[($3_1 + 1576 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 1580 | 0) >> 2] = i64toi32_i32$3; + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = $2778_1; + } + break label$389; + } + i64toi32_i32$3 = 0; + $8369$hi = i64toi32_i32$3; + i64toi32_i32$1 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1496 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1500 | 0) >> 2] | 0; + $8371$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8369$hi; + i64toi32_i32$5 = $8371$hi; + i64toi32_i32$5 = $8369$hi; + i64toi32_i32$5 = $8371$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $8369$hi; + i64toi32_i32$4 = 32767; + label$393 : { + label$394 : { + if (!((i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 <= i64toi32_i32$4 >>> 0 | 0) | 0) & 1 | 0)) { + break label$394 + } + $2783_1 = 2; + i64toi32_i32$4 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $8373$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $8374$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8373$hi; + i64toi32_i32$5 = $8374$hi; + i64toi32_i32$5 = $8373$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $8374$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$4 = $3_1; + HEAP32[($3_1 + 1576 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($3_1 + 1580 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = $2783_1; + break label$393; + } + i64toi32_i32$0 = 0; + $8376$hi = i64toi32_i32$0; + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1496 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1500 | 0) >> 2] | 0; + $8378$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8376$hi; + i64toi32_i32$4 = $8378$hi; + i64toi32_i32$4 = $8376$hi; + i64toi32_i32$4 = $8378$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $8376$hi; + i64toi32_i32$3 = 8388607; + label$395 : { + label$396 : { + if (!((i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$5 >>> 0 <= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$396 + } + $2788_1 = 3; + i64toi32_i32$3 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $8380$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $8381$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8380$hi; + i64toi32_i32$4 = $8381$hi; + i64toi32_i32$4 = $8380$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $8381$hi; + i64toi32_i32$0 = 3; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$3 = $3_1; + HEAP32[($3_1 + 1576 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 1580 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = $2788_1; + break label$395; + } + i64toi32_i32$2 = 0; + $8383$hi = i64toi32_i32$2; + i64toi32_i32$4 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1496 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1500 | 0) >> 2] | 0; + $8385$hi = i64toi32_i32$3; + i64toi32_i32$3 = $8383$hi; + i64toi32_i32$3 = $8385$hi; + i64toi32_i32$3 = $8383$hi; + i64toi32_i32$3 = $8385$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $8383$hi; + i64toi32_i32$0 = 2147483647; + label$397 : { + label$398 : { + if (!((i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$4 >>> 0 <= i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { + break label$398 + } + $2793_1 = 4; + i64toi32_i32$0 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $8387$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $8388$hi = i64toi32_i32$3; + i64toi32_i32$3 = $8387$hi; + i64toi32_i32$3 = $8388$hi; + i64toi32_i32$3 = $8387$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$4 = $8388$hi; + i64toi32_i32$2 = 4; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 1576 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($3_1 + 1580 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = $2793_1; + break label$397; + } + i64toi32_i32$1 = 32767; + $8390$hi = i64toi32_i32$1; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1496 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1500 | 0) >> 2] | 0; + $8392$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8390$hi; + i64toi32_i32$0 = $8392$hi; + i64toi32_i32$0 = $8390$hi; + i64toi32_i32$0 = $8392$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $8390$hi; + i64toi32_i32$2 = -1; + label$399 : { + label$400 : { + if (!((i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$3 >>> 0 <= i64toi32_i32$2 >>> 0 | 0) | 0) & 1 | 0)) { + break label$400 + } + $2798_1 = 5; + i64toi32_i32$2 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $8394$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $8395$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8394$hi; + i64toi32_i32$0 = $8395$hi; + i64toi32_i32$0 = $8394$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $8395$hi; + i64toi32_i32$1 = 6; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1576 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 1580 | 0) >> 2] = i64toi32_i32$5; + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = $2798_1; + break label$399; + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $8397$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $8398$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8397$hi; + i64toi32_i32$2 = $8398$hi; + i64toi32_i32$2 = $8397$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $8398$hi; + i64toi32_i32$1 = 8; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 1576 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($3_1 + 1580 | 0) >> 2] = i64toi32_i32$4; + label$401 : { + label$402 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$402 + } + i64toi32_i32$2 = HEAP32[($3_1 + 1584 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + HEAPF64[(HEAP32[($3_1 + 1584 | 0) >> 2] | 0) >> 3] = +(i64toi32_i32$4 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0); + $2809_1 = HEAP32[($3_1 + 1584 | 0) >> 2] | 0; + HEAP16[($2809_1 + 8 | 0) >> 1] = ((HEAPU16[($2809_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -33 | 0; + $2815_1 = HEAP32[($3_1 + 1584 | 0) >> 2] | 0; + HEAP16[($2815_1 + 8 | 0) >> 1] = (HEAPU16[($2815_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = 7; + break label$401; + } + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = 6; + } + } + } + } + } + } + break label$385; + } + label$403 : { + label$404 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$404 + } + $2830_1 = 7; + HEAP32[($3_1 + 1572 | 0) >> 2] = (HEAP32[($3_1 + 1572 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $8401$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $8402$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8401$hi; + i64toi32_i32$4 = $8402$hi; + i64toi32_i32$4 = $8401$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $8402$hi; + i64toi32_i32$1 = 8; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1576 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($3_1 + 1580 | 0) >> 2] = i64toi32_i32$3; + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = $2830_1; + break label$403; + } + HEAP32[($3_1 + 1520 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 1544 | 0) >> 2] = (((HEAP32[($3_1 + 1520 | 0) >> 2] | 0) << 1 | 0) + 12 | 0) + ((((HEAPU16[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0 | 0) != (0 | 0) & 1 | 0) | 0; + label$405 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$405 + } + i64toi32_i32$3 = 0; + $8404$hi = i64toi32_i32$3; + HEAP32[($3_1 + 1544 | 0) >> 2] = (HEAP32[($3_1 + 1544 | 0) >> 2] | 0) + ((HEAP32[(HEAP32[($3_1 + 1584 | 0) >> 2] | 0) >> 2] | 0) << 1 | 0) | 0; + i64toi32_i32$4 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $8406$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8404$hi; + i64toi32_i32$2 = $8406$hi; + i64toi32_i32$2 = $8404$hi; + i64toi32_i32$2 = $8406$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$3 = $8404$hi; + i64toi32_i32$1 = 0; + label$406 : { + label$407 : { + if (!(((i64toi32_i32$4 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$407 + } + label$408 : { + if (!($230(HEAP32[($3_1 + 1584 | 0) >> 2] | 0 | 0) | 0)) { + break label$408 + } + break label$3; + } + HEAP32[($3_1 + 1520 | 0) >> 2] = (HEAP32[($3_1 + 1520 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($3_1 + 1584 | 0) >> 2] | 0) >> 2] | 0) | 0; + break label$406; + } + i64toi32_i32$2 = HEAP32[(HEAP32[($3_1 + 1584 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 >> 31 | 0; + $8408 = i64toi32_i32$2; + $8408$hi = i64toi32_i32$4; + i64toi32_i32$1 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1552 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1556 | 0) >> 2] | 0; + $15407$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8408$hi; + i64toi32_i32$2 = $15407$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$4 = $8408$hi; + i64toi32_i32$3 = $8408; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1552 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 1556 | 0) >> 2] = i64toi32_i32$5; + } + } + i64toi32_i32$5 = 0; + $8411$hi = i64toi32_i32$5; + i64toi32_i32$2 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $15419$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8411$hi; + i64toi32_i32$1 = $15419$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $8411$hi; + i64toi32_i32$3 = HEAP32[($3_1 + 1520 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1576 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 1580 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2883_1 = $907(HEAP32[($3_1 + 1544 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($3_1 + 1572 | 0) >> 2] = (HEAP32[($3_1 + 1572 | 0) >> 2] | 0) + $2883_1 | 0; + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($3_1 + 1544 | 0) >> 2] | 0; + } + } + } + label$409 : { + label$410 : { + if (!((HEAP32[($3_1 + 1584 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 1540 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$410 + } + break label$409; + } + HEAP32[($3_1 + 1584 | 0) >> 2] = (HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + -40 | 0; + if (1 & 1 | 0) { + continue label$380 + } + } + break label$380; + }; + label$411 : { + label$412 : { + if (!((HEAP32[($3_1 + 1572 | 0) >> 2] | 0 | 0) <= (126 | 0) & 1 | 0)) { + break label$412 + } + HEAP32[($3_1 + 1572 | 0) >> 2] = (HEAP32[($3_1 + 1572 | 0) >> 2] | 0) + 1 | 0; + break label$411; + } + i64toi32_i32$2 = HEAP32[($3_1 + 1572 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $907(i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1548 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 1572 | 0) >> 2] = (HEAP32[($3_1 + 1572 | 0) >> 2] | 0) + (HEAP32[($3_1 + 1548 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1572 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + label$413 : { + if (!((HEAP32[($3_1 + 1548 | 0) >> 2] | 0 | 0) < ($907(i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0 | 0) & 1 | 0)) { + break label$413 + } + HEAP32[($3_1 + 1572 | 0) >> 2] = (HEAP32[($3_1 + 1572 | 0) >> 2] | 0) + 1 | 0; + } + } + i64toi32_i32$2 = HEAP32[($3_1 + 1572 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $8417 = i64toi32_i32$2; + $8417$hi = i64toi32_i32$0; + i64toi32_i32$1 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $8418$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8417$hi; + i64toi32_i32$2 = $8418$hi; + $15540 = i64toi32_i32$0; + i64toi32_i32$2 = $8417$hi; + i64toi32_i32$1 = $8417; + i64toi32_i32$0 = $8418$hi; + i64toi32_i32$3 = $15540; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1560 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($3_1 + 1564 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1560 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1564 | 0) >> 2] | 0; + $8420 = i64toi32_i32$4; + $8420$hi = i64toi32_i32$1; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1552 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1556 | 0) >> 2] | 0; + $8421$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8420$hi; + i64toi32_i32$4 = $8421$hi; + $15549 = i64toi32_i32$1; + i64toi32_i32$4 = $8420$hi; + i64toi32_i32$2 = $8420; + i64toi32_i32$1 = $8421$hi; + i64toi32_i32$3 = $15549; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $8422$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $8423$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8422$hi; + i64toi32_i32$5 = $8423$hi; + i64toi32_i32$5 = $8422$hi; + i64toi32_i32$5 = $8423$hi; + $15561 = i64toi32_i32$2; + i64toi32_i32$5 = $8422$hi; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$2 = $8423$hi; + i64toi32_i32$3 = $15561; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$2 | 0)) { + $631_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$4 >>> 0 > i64toi32_i32$3 >>> 0) { + $632_1 = 0 + } else { + $632_1 = 1 + } + $633_1 = $632_1; + } else { + $633_1 = 0 + } + $631_1 = $633_1; + } + label$414 : { + label$415 : { + if (!($631_1 & 1 | 0)) { + break label$415 + } + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + break label$414; + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1560 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1564 | 0) >> 2] | 0; + $8426 = i64toi32_i32$4; + $8426$hi = i64toi32_i32$5; + i64toi32_i32$3 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1552 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1556 | 0) >> 2] | 0; + $8427$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8426$hi; + i64toi32_i32$4 = $8427$hi; + $15581 = i64toi32_i32$5; + i64toi32_i32$4 = $8426$hi; + i64toi32_i32$3 = $8426; + i64toi32_i32$5 = $8427$hi; + i64toi32_i32$2 = $15581; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $8428$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$3 >> 31 | 0; + $8429$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8428$hi; + i64toi32_i32$0 = $8429$hi; + i64toi32_i32$0 = $8428$hi; + i64toi32_i32$0 = $8429$hi; + $15593 = i64toi32_i32$3; + i64toi32_i32$0 = $8428$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$3 = $8429$hi; + i64toi32_i32$2 = $15593; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$3 | 0)) { + $634_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$4 >>> 0 <= i64toi32_i32$2 >>> 0) { + $635_1 = 0 + } else { + $635_1 = 1 + } + $636_1 = $635_1; + } else { + $636_1 = 0 + } + $634_1 = $636_1; + } + label$416 : { + if (!($634_1 & 1 | 0)) { + break label$416 + } + break label$13; + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1560 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1564 | 0) >> 2] | 0; + label$417 : { + if (!($265(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0) | 0)) { + break label$417 + } + break label$3; + } + } + i64toi32_i32$0 = 0; + $8433$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1560 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1564 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 16; + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1552 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1556 | 0) >> 2] | 0; + $8436$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8433$hi; + i64toi32_i32$0 = $8436$hi; + i64toi32_i32$0 = $8433$hi; + i64toi32_i32$0 = $8436$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $8433$hi; + i64toi32_i32$3 = 0; + label$418 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$418 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1552 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1556 | 0) >> 2] | 0; + HEAP32[(HEAP32[($3_1 + 1908 | 0) >> 2] | 0) >> 2] = i64toi32_i32$2; + $2958_1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP16[($2958_1 + 8 | 0) >> 1] = (HEAPU16[($2958_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 16384 | 0; + } + HEAP32[($3_1 + 1516 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1512 | 0) >> 2] = (HEAP32[($3_1 + 1516 | 0) >> 2] | 0) + (HEAP32[($3_1 + 1572 | 0) >> 2] | 0) | 0; + label$419 : { + label$420 : { + if (!((HEAP32[($3_1 + 1572 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$420 + } + HEAP8[(HEAP32[($3_1 + 1516 | 0) >> 2] | 0) >> 0] = HEAP32[($3_1 + 1572 | 0) >> 2] | 0; + $2979_1 = 1; + break label$419; + } + i64toi32_i32$2 = HEAP32[($3_1 + 1572 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $2979_1 = $908(HEAP32[($3_1 + 1516 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0; + } + HEAP32[($3_1 + 1516 | 0) >> 2] = (HEAP32[($3_1 + 1516 | 0) >> 2] | 0) + ($2979_1 & 255 | 0) | 0; + HEAP32[($3_1 + 1584 | 0) >> 2] = HEAP32[($3_1 + 1540 | 0) >> 2] | 0; + label$421 : while (1) { + HEAP32[($3_1 + 1544 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$422 : { + label$423 : { + if (!((HEAP32[($3_1 + 1544 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$423 + } + HEAP8[(HEAP32[($3_1 + 1516 | 0) >> 2] | 0) >> 0] = HEAP32[($3_1 + 1544 | 0) >> 2] | 0; + $3002_1 = 1; + break label$422; + } + i64toi32_i32$0 = 0; + $3002_1 = $908(HEAP32[($3_1 + 1516 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1544 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + } + HEAP32[($3_1 + 1516 | 0) >> 2] = (HEAP32[($3_1 + 1516 | 0) >> 2] | 0) + ($3002_1 & 255 | 0) | 0; + $3015_1 = $909(HEAP32[($3_1 + 1512 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1584 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1544 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 1512 | 0) >> 2] = (HEAP32[($3_1 + 1512 | 0) >> 2] | 0) + $3015_1 | 0; + $3020_1 = (HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 40 | 0; + HEAP32[($3_1 + 1584 | 0) >> 2] = $3020_1; + if ($3020_1 >>> 0 <= (HEAP32[($3_1 + 1536 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + continue label$421 + } + break label$421; + }; + break label$8; + case 92: + HEAP32[($3_1 + 1484 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$424 : { + label$425 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$425 + } + i64toi32_i32$0 = $910(HEAP32[($3_1 + 1484 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $15828 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 1488 | 0) >> 2] = $15828; + HEAP32[($3_1 + 1492 | 0) >> 2] = i64toi32_i32$2; + break label$424; + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 1488 | 0) >> 2] = 0; + HEAP32[($3_1 + 1492 | 0) >> 2] = i64toi32_i32$2; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $911(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1484 | 0) >> 2] | 0 | 0, $3_1 + 1488 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$426 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$426 + } + break label$2; + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1488 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1492 | 0) >> 2] | 0; + $15863 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $15863; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$9; + case 0: + HEAP32[($3_1 + 1480 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1476 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$427 : { + label$428 : { + if (HEAP32[($3_1 + 1480 | 0) >> 2] | 0) { + break label$428 + } + label$429 : { + label$430 : { + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 180 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$430 + } + $852(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, 7662 | 0, 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = 5; + break label$429; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $68(HEAP32[($3_1 + 1476 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1472 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $873(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 460 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 456 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$431 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$431 + } + break label$2; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $365(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, ((HEAP32[($3_1 + 1472 | 0) >> 2] | 0) + 32 | 0) + 1 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1468 | 0) >> 2] = wasm2js_i32$1; + label$432 : { + if (!((HEAP32[($3_1 + 1468 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$432 + } + HEAP32[(HEAP32[($3_1 + 1468 | 0) >> 2] | 0) >> 2] = (HEAP32[($3_1 + 1468 | 0) >> 2] | 0) + 32 | 0; + $3288(HEAP32[(HEAP32[($3_1 + 1468 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1476 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 1472 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + label$433 : { + label$434 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$434 + } + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] = 0; + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 87 | 0) >> 0] = 1; + break label$433; + } + $3117_1 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($3117_1 + 456 | 0) >> 2] = (HEAP32[($3117_1 + 456 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[((HEAP32[($3_1 + 1468 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 444 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 444 | 0) >> 2] = HEAP32[($3_1 + 1468 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 464 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 468 | 0) >> 2] | 0; + $16039 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 1468 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $16039; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 472 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 476 | 0) >> 2] | 0; + $16047 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1468 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = $16047; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$0; + } + } + break label$427; + } + HEAP32[($3_1 + 1456 | 0) >> 2] = 0; + HEAP32[($3_1 + 1464 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 444 | 0) >> 2] | 0; + label$435 : while (1) { + $3141_1 = 0; + label$436 : { + if (!((HEAP32[($3_1 + 1464 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$436 + } + $3141_1 = ($88(HEAP32[(HEAP32[($3_1 + 1464 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1476 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + label$437 : { + if (!($3141_1 & 1 | 0)) { + break label$437 + } + HEAP32[($3_1 + 1456 | 0) >> 2] = (HEAP32[($3_1 + 1456 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 1464 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1464 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$435; + } + break label$435; + }; + label$438 : { + label$439 : { + if ((HEAP32[($3_1 + 1464 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$439 + } + $3165_1 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($3_1 + 96 | 0) >> 2] = HEAP32[($3_1 + 1476 | 0) >> 2] | 0; + $852($3165_1 | 0, 7713 | 0, $3_1 + 96 | 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = 1; + break label$438; + } + label$440 : { + label$441 : { + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 180 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$441 + } + if (!((HEAP32[($3_1 + 1480 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$441 + } + $852(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, 7735 | 0, 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = 5; + break label$440; + } + $3199_1 = 0; + label$442 : { + if (!((HEAP32[((HEAP32[($3_1 + 1464 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$442 + } + $3199_1 = ((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 87 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + HEAP32[($3_1 + 1448 | 0) >> 2] = $3199_1 & 1 | 0; + label$443 : { + label$444 : { + if (!(HEAP32[($3_1 + 1448 | 0) >> 2] | 0)) { + break label$444 + } + if (!((HEAP32[($3_1 + 1480 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$444 + } + $3221_1 = $844(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[($3_1 + 1952 | 0) >> 2] = $3221_1; + label$445 : { + if (!$3221_1) { + break label$445 + } + break label$1; + } + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] = 1; + label$446 : { + if (!(($224(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$446 + } + $3232_1 = 5; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 36 | 0) >> 2] = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] = 0; + HEAP32[($3_1 + 1952 | 0) >> 2] = $3232_1; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] = $3232_1; + break label$1; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$447 : { + label$448 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$448 + } + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] = 0; + break label$447; + } + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 87 | 0) >> 0] = 0; + } + break label$443; + } + HEAP32[($3_1 + 1456 | 0) >> 2] = ((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 456 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1456 | 0) >> 2] | 0) | 0) - 1 | 0; + label$449 : { + label$450 : { + if (!((HEAP32[($3_1 + 1480 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$450 + } + $3262_1 = 0; + HEAP32[($3_1 + 1444 | 0) >> 2] = ((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 1 | 0 | 0) != ($3262_1 | 0) & 1 | 0; + HEAP32[($3_1 + 1452 | 0) >> 2] = $3262_1; + label$451 : { + label$452 : while (1) { + if (!((HEAP32[($3_1 + 1452 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$451 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $199(HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1452 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, 516 | 0, (HEAP32[($3_1 + 1444 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$453 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$453 + } + break label$2; + } + HEAP32[($3_1 + 1452 | 0) >> 2] = (HEAP32[($3_1 + 1452 | 0) >> 2] | 0) + 1 | 0; + continue label$452; + }; + } + break label$449; + } + HEAP32[($3_1 + 1444 | 0) >> 2] = 0; + } + HEAP32[($3_1 + 1452 | 0) >> 2] = 0; + label$454 : { + label$455 : while (1) { + if (!((HEAP32[($3_1 + 1452 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$454 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $872(HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1452 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1480 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1456 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$456 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$456 + } + break label$2; + } + HEAP32[($3_1 + 1452 | 0) >> 2] = (HEAP32[($3_1 + 1452 | 0) >> 2] | 0) + 1 | 0; + continue label$455; + }; + } + label$457 : { + if (!(HEAP32[($3_1 + 1444 | 0) >> 2] | 0)) { + break label$457 + } + $395(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, 0 | 0); + $141(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0); + $3328_1 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($3328_1 + 24 | 0) >> 2] = HEAP32[($3328_1 + 24 | 0) >> 2] | 0 | 1 | 0; + } + } + label$458 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$458 + } + break label$2; + } + label$459 : { + label$460 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 444 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 1464 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$459 + } + HEAP32[($3_1 + 1460 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 444 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 444 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1460 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $13(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1460 | 0) >> 2] | 0 | 0); + $3348 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($3348 + 456 | 0) >> 2] = (HEAP32[($3348 + 456 | 0) >> 2] | 0) + -1 | 0; + continue label$460; + }; + } + label$461 : { + label$462 : { + if (!((HEAP32[($3_1 + 1480 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$462 + } + HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 444 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1464 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $13(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1464 | 0) >> 2] | 0 | 0); + label$463 : { + if (HEAP32[($3_1 + 1448 | 0) >> 2] | 0) { + break label$463 + } + $3365 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($3365 + 456 | 0) >> 2] = (HEAP32[($3365 + 456 | 0) >> 2] | 0) + -1 | 0; + } + break label$461; + } + i64toi32_i32$3 = HEAP32[($3_1 + 1464 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $16551 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 464 | 0) >> 2] = $16551; + HEAP32[(i64toi32_i32$0 + 468 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($3_1 + 1464 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $16559 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 472 | 0) >> 2] = $16559; + HEAP32[(i64toi32_i32$2 + 476 | 0) >> 2] = i64toi32_i32$0; + } + label$464 : { + label$465 : { + if (!(HEAP32[($3_1 + 1448 | 0) >> 2] | 0)) { + break label$465 + } + if (!((HEAP32[($3_1 + 1480 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$464 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $873(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1480 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1456 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$466 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$466 + } + break label$2; + } + } + } + } + } + label$467 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$467 + } + break label$2; + } + break label$8; + case 1: + HEAP32[($3_1 + 1440 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1436 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$468 : { + if (!((HEAP32[($3_1 + 1440 | 0) >> 2] | 0 | 0) != ((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$468 + } + label$469 : { + label$470 : { + if (!(HEAP32[($3_1 + 1436 | 0) >> 2] | 0)) { + break label$470 + } + $205(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, 516 | 0); + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] = 1; + break label$469; + } + label$471 : { + if (!(HEAP32[($3_1 + 1440 | 0) >> 2] | 0)) { + break label$471 + } + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 180 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$471 + } + $852(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, 7789 | 0, 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = 5; + break label$2; + } + $3421 = $844(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[($3_1 + 1952 | 0) >> 2] = $3421; + label$472 : { + if (!$3421) { + break label$472 + } + break label$1; + } + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] = HEAP32[($3_1 + 1440 | 0) >> 2] | 0; + } + label$473 : { + if (!(($224(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$473 + } + $3432 = 5; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 36 | 0) >> 2] = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] = 1 - (HEAP32[($3_1 + 1440 | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 1952 | 0) >> 2] = $3432; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] = $3432; + break label$1; + } + $206(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0); + label$474 : { + label$475 : { + if (HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$475 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 101; + break label$474; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 1; + } + break label$1; + } + $3449 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + label$476 : { + label$477 : { + if (HEAP32[($3_1 + 1440 | 0) >> 2] | 0) { + break label$477 + } + $3452 = 7844; + break label$476; + } + $3452 = HEAP32[($3_1 + 1436 | 0) >> 2] | 0 ? 7892 : 7935; + } + $852($3449 | 0, $3452 | 0, 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = 1; + break label$2; + case 2: + HEAP32[($3_1 + 1428 | 0) >> 2] = 0; + label$478 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$478 + } + i64toi32_i32$0 = 0; + $8449$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $8450$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $8451$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8450$hi; + i64toi32_i32$2 = $8451$hi; + i64toi32_i32$2 = $8450$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $8451$hi; + i64toi32_i32$4 = 1048576; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $8453$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8449$hi; + i64toi32_i32$0 = $8453$hi; + i64toi32_i32$0 = $8449$hi; + i64toi32_i32$0 = $8453$hi; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$4 | 0; + i64toi32_i32$3 = $8449$hi; + i64toi32_i32$4 = 0; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$4 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$478 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 8; + break label$2; + } + HEAP32[($3_1 + 1432 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$479 : { + if (!((HEAP32[($3_1 + 1432 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$479 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $129(HEAP32[($3_1 + 1432 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $3_1 + 1428 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$480 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$480 + } + label$481 : { + if (!(((HEAP32[($3_1 + 1952 | 0) >> 2] | 0) & 255 | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$481 + } + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 36 | 0) >> 2] = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($3_1 + 1952 | 0) >> 2] | 0; + break label$1; + } + break label$2; + } + label$482 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 6 | 0) & 1 | 0) & 65535 | 0)) { + break label$482 + } + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$482 + } + label$483 : { + if (!((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0)) { + break label$483 + } + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 176 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$482 + } + } + label$484 : { + if (HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) { + break label$484 + } + $3532 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($3532 + 460 | 0) >> 2] = (HEAP32[($3532 + 460 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 48 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 456 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 460 | 0) >> 2] | 0) | 0; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $873(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$485 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$485 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $912(HEAP32[($3_1 + 1432 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$4 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 464 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 468 | 0) >> 2] | 0; + $16974 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = $16974; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$4 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 472 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 476 | 0) >> 2] | 0; + $16982 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 80 | 0) >> 2] = $16982; + HEAP32[(i64toi32_i32$0 + 84 | 0) >> 2] = i64toi32_i32$2; + } + } + label$486 : { + if (!((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0)) { + break label$486 + } + label$487 : { + if ((HEAP32[($3_1 + 1428 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$487 + } + if (!((HEAP32[((HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$486 + } + } + $13(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0); + $3591 = $291(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, 7976 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0) >> 2] = $3591; + label$488 : { + if (!((HEAP32[(HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 1428 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$488 + } + $407(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + $3612 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP16[($3612 + 150 | 0) >> 1] = (HEAPU16[($3612 + 150 | 0) >> 1] | 0) & -4 | 0 | 1 | 0; + HEAP32[($3_1 + 1952 | 0) >> 2] = 17; + } + label$489 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$489 + } + break label$2; + } + break label$8; + case 93: + HEAP32[($3_1 + 1420 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1416 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $913(HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1420 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1416 | 0) >> 2] | 0 | 0, $3_1 + 1424 | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = HEAP32[($3_1 + 1424 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $17164 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $17164; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + break label$8; + case 94: + HEAP32[($3_1 + 1412 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $140(HEAP32[((HEAP32[($3_1 + 1412 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$490 : { + label$491 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$491 + } + HEAP32[(HEAP32[((HEAP32[($3_1 + 1412 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - ((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) | 0; + $3671 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($3671 + 24 | 0) >> 2] = HEAP32[($3671 + 24 | 0) >> 2] | 0 | 1 | 0; + break label$490; + } + label$492 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$492 + } + HEAP8[((HEAP32[((HEAP32[($3_1 + 1412 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 76 | 0) >> 0] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + } + label$493 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$493 + } + $395(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, 0 | 0); + $3697 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP16[($3697 + 150 | 0) >> 1] = (HEAPU16[($3697 + 150 | 0) >> 1] | 0) & -4 | 0; + } + label$494 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$494 + } + break label$2; + } + break label$8; + case 95: + HEAP32[($3_1 + 1384 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$495 : { + if (!((HEAP32[($3_1 + 1384 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$495 + } + if (!((HEAP32[((HEAP32[($3_1 + 1384 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$495 + } + break label$101; + } + break; + case 98: + break label$100; + case 96: + case 97: + break label$102; + case 62: + case 171: + break label$16; + case 63: + case 64: + break label$17; + case 170: + break label$18; + case 169: + break label$19; + case 10: + break label$20; + case 168: + break label$21; + case 61: + break label$22; + case 167: + break label$23; + case 9: + break label$24; + case 166: + break label$25; + case 165: + break label$26; + case 164: + break label$27; + case 163: + break label$28; + case 162: + break label$29; + case 161: + break label$30; + case 160: + break label$31; + case 159: + break label$32; + case 60: + break label$33; + case 8: + break label$34; + case 7: + break label$35; + case 6: + break label$36; + case 157: + case 158: + break label$37; + case 156: + break label$38; + case 154: + case 155: + break label$39; + case 59: + break label$40; + case 49: + break label$41; + case 153: + break label$42; + case 48: + break label$43; + case 152: + break label$44; + case 47: + break label$45; + case 151: + break label$46; + case 149: + break label$47; + case 46: + break label$48; + case 45: + break label$49; + case 42: + break label$50; + case 148: + break label$51; + case 147: + break label$52; + case 146: + break label$53; + case 145: + break label$54; + case 144: + break label$55; + case 143: + break label$56; + case 142: + break label$57; + case 141: + break label$58; + case 140: + break label$59; + case 139: + break label$60; + case 138: + break label$61; + case 137: + break label$62; + case 38: + case 39: + case 40: + case 41: + break label$63; + case 136: + break label$64; + case 134: + case 135: + break label$65; + case 133: + break label$66; + case 132: + break label$67; + case 131: + break label$68; + case 4: + case 5: + break label$70; + case 3: + break label$71; + case 37: + break label$72; + case 35: + case 36: + break label$73; + case 34: + break label$74; + case 33: + case 130: + break label$75; + case 129: + break label$76; + case 128: + break label$77; + case 127: + break label$78; + case 126: + break label$79; + case 125: + break label$80; + case 124: + break label$81; + case 123: + break label$82; + case 122: + break label$83; + case 121: + break label$84; + case 120: + break label$85; + case 32: + break label$87; + case 31: + break label$88; + case 28: + case 29: + case 30: + break label$89; + case 27: + break label$90; + case 26: + break label$91; + case 119: + break label$92; + case 118: + break label$93; + case 22: + case 23: + case 24: + case 25: + break label$94; + case 116: + break label$95; + case 114: + break label$96; + case 113: + break label$97; + case 111: + break label$98; + case 99: + case 100: + break label$99; + default: + break label$15; + }; + } + label$496 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) & 3 | 0) & 65535 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$496 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 516; + break label$2; + } + $3740 = 0; + HEAP32[($3_1 + 1408 | 0) >> 2] = $3740; + HEAP32[($3_1 + 1404 | 0) >> 2] = $3740; + HEAP32[($3_1 + 1400 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 1396 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 1380 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1396 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($3_1 + 1388 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1380 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$497 : { + label$498 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (97 | 0) & 1 | 0)) { + break label$498 + } + HEAP32[($3_1 + 1392 | 0) >> 2] = ((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0 | 4 | 0; + label$499 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($3_1 + 1380 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 76 | 0) >> 0] | 0) & 255 | 0 | 0) < ((HEAPU8[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 147 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$499 + } + HEAP8[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 147 | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($3_1 + 1380 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 76 | 0) >> 0] | 0; + } + break label$497; + } + HEAP32[($3_1 + 1392 | 0) >> 2] = 0; + } + label$500 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$500 + } + HEAP32[($3_1 + 1916 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1400 | 0) >> 2] | 0, 40) | 0; + $894(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1916 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1400 | 0) >> 2] = i64toi32_i32$2; + } + $3806 = 24; + label$501 : { + label$502 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $3806 | 0) >> $3806 | 0 | 0) == (-9 | 0) & 1 | 0)) { + break label$502 + } + HEAP32[($3_1 + 1404 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1408 | 0) >> 2] = (HEAPU16[((HEAP32[($3_1 + 1404 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0; + break label$501; + } + $3823 = 24; + label$503 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $3823 | 0) >> $3823 | 0 | 0) == (-3 | 0) & 1 | 0)) { + break label$503 + } + HEAP32[($3_1 + 1408 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $914(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1408 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1396 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1384 | 0) >> 2] = wasm2js_i32$1; + label$504 : { + if (!((HEAP32[($3_1 + 1384 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$504 + } + break label$3; + } + HEAP8[((HEAP32[($3_1 + 1384 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1; + $3852 = HEAP32[($3_1 + 1384 | 0) >> 2] | 0; + HEAP8[($3852 + 5 | 0) >> 0] = HEAPU8[($3852 + 5 | 0) >> 0] | 0 | 4 | 0; + HEAP32[((HEAP32[($3_1 + 1384 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($3_1 + 1400 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $915(HEAP32[($3_1 + 1388 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1400 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1392 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1404 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1384 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 1384 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($3_1 + 1404 | 0) >> 2] | 0; + $3869 = 24; + HEAP8[((HEAP32[($3_1 + 1384 | 0) >> 2] | 0) + 4 | 0) >> 0] = (((HEAPU8[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $3869 | 0) >> $3869 | 0 | 0) != (-9 | 0) & 1 | 0; + } + $916(HEAP32[((HEAP32[($3_1 + 1384 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 3 | 0 | 0); + label$505 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$505 + } + break label$2; + } + break label$8; + } + HEAP32[($3_1 + 1376 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $3903 = 16; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $914(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($3_1 + 1376 | 0) >> 2] | 0) + 56 | 0) >> 1] | 0) << $3903 | 0) >> $3903 | 0 | 0, -1 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1372 | 0) >> 2] = wasm2js_i32$1; + label$506 : { + if (!((HEAP32[($3_1 + 1372 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$506 + } + break label$3; + } + $3917 = 1; + HEAP8[((HEAP32[($3_1 + 1372 | 0) >> 2] | 0) + 2 | 0) >> 0] = $3917; + $3918 = HEAP32[($3_1 + 1372 | 0) >> 2] | 0; + HEAP8[($3918 + 5 | 0) >> 0] = HEAPU8[($3918 + 5 | 0) >> 0] | 0 | $3917 | 0; + HEAP32[((HEAP32[($3_1 + 1372 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1376 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 1372 | 0) >> 2] | 0) + 4 | 0) >> 0] = HEAPU8[((HEAP32[($3_1 + 1376 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0; + HEAP32[((HEAP32[($3_1 + 1372 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1376 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $3932 = HEAP32[($3_1 + 1372 | 0) >> 2] | 0; + HEAP8[($3932 + 5 | 0) >> 0] = (HEAPU8[($3932 + 5 | 0) >> 0] | 0) & -5 | 0 | ((HEAPU8[((HEAP32[($3_1 + 1376 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 4 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $915(HEAP32[((HEAP32[($3_1 + 1376 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1372 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[((HEAP32[($3_1 + 1372 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1372 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + break label$8; + } + label$507 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$507 + } + HEAP32[(((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0) + 12 | 0) >> 2] = 0; + HEAP32[(((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0) + 16 | 0) >> 2] = 1352; + } + HEAP32[($3_1 + 1368 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$508 : { + label$509 : { + if (!((HEAP32[($3_1 + 1368 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$509 + } + if (!((HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$509 + } + $3993 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1368 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 28 | 0) >> 2] = $3993; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $917(HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, $3993 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + break label$508; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $914(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, -1 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1368 | 0) >> 2] = wasm2js_i32$1; + label$510 : { + if (!((HEAP32[($3_1 + 1368 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$510 + } + break label$3; + } + $4020 = HEAP32[($3_1 + 1368 | 0) >> 2] | 0; + HEAP8[($4020 + 5 | 0) >> 0] = HEAPU8[($4020 + 5 | 0) >> 0] | 0 | 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $492(HEAP32[(HEAP32[($3_1 + 1948 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 5 | 0 | 0, 1054 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$511 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$511 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $129(HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 1 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + } + label$512 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$512 + } + $4046 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1364 | 0) >> 2] = $4046; + HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 44 | 0) >> 2] = $4046; + label$513 : { + label$514 : { + if (!(($4046 | 0) != (0 | 0) & 1 | 0)) { + break label$514 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $918(HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 52 | 0 | 0, (HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$515 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$515 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $915(HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[($3_1 + 1364 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + } + HEAP8[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 4 | 0) >> 0] = 0; + break label$513; + } + $4078 = 1; + HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 52 | 0) >> 2] = $4078; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $915(HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $4078 | 0, 4 | 0, 0 | 0, HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 4 | 0) >> 0] = 1; + } + } + $4092 = HEAP32[($3_1 + 1368 | 0) >> 2] | 0; + HEAP8[($4092 + 5 | 0) >> 0] = (HEAPU8[($4092 + 5 | 0) >> 0] | 0) & -5 | 0 | (((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0 | 0) != (8 | 0)) << 2 | 0) | 0; + } + label$516 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$516 + } + break label$2; + } + HEAP8[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1; + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $914(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, -1 | 0, 1 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1360 | 0) >> 2] = wasm2js_i32$1; + label$517 : { + if (!((HEAP32[($3_1 + 1360 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$517 + } + break label$3; + } + HEAP32[((HEAP32[($3_1 + 1360 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $919(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1360 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$518 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$518 + } + break label$2; + } + break label$8; + } + i64toi32_i32$0 = 0; + $8460 = 0; + $8460$hi = i64toi32_i32$0; + HEAP32[($3_1 + 1356 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $4136 = HEAP32[($3_1 + 1356 | 0) >> 2] | 0; + i64toi32_i32$4 = $4136; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] | 0; + $8461 = i64toi32_i32$0; + $8461$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $8462$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8461$hi; + i64toi32_i32$2 = $8462$hi; + i64toi32_i32$2 = $8461$hi; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$0 = $8462$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$4 = $4136; + HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $8461$hi; + i64toi32_i32$1 = $8460$hi; + i64toi32_i32$1 = $8461$hi; + i64toi32_i32$1 = $8460$hi; + i64toi32_i32$1 = $8461$hi; + i64toi32_i32$2 = $8461; + i64toi32_i32$4 = $8460$hi; + i64toi32_i32$3 = $8460; + label$519 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$519 + } + break label$11; + } + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $914(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, -1 | 0, 3 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1352 | 0) >> 2] = wasm2js_i32$1; + label$520 : { + if (!((HEAP32[($3_1 + 1352 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$520 + } + break label$3; + } + $4157 = 1; + HEAP8[((HEAP32[($3_1 + 1352 | 0) >> 2] | 0) + 2 | 0) >> 0] = $4157; + HEAP32[((HEAP32[($3_1 + 1352 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 1352 | 0) >> 2] | 0) + 4 | 0) >> 0] = $4157; + $4163 = $920() | 0; + HEAP32[((HEAP32[($3_1 + 1352 | 0) >> 2] | 0) + 40 | 0) >> 2] = $4163; + break label$8; + } + $859(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + break label$8; + } + $4182 = 0; + $4183 = 0; + HEAP32[($3_1 + 1340 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1344 | 0) >> 2] = (HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($3_1 + 1300 | 0) >> 2] = $4183; + HEAP8[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 2 | 0) >> 0] = $4182; + HEAP8[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 3 | 0) >> 0] = $4182; + HEAP32[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 28 | 0) >> 2] = $4183; + label$521 : { + label$522 : { + label$523 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != ($4182 & 255 | 0 | 0) & 1 | 0)) { + break label$523 + } + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP16[($3_1 + 1298 | 0) >> 1] = HEAPU16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; + label$524 : { + if (!((((HEAPU16[($3_1 + 1298 | 0) >> 1] | 0) & 65535 | 0) & 46 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$524 + } + $343(HEAP32[($3_1 + 1912 | 0) >> 2] | 0 | 0, 0 | 0); + } + i64toi32_i32$2 = $240(HEAP32[($3_1 + 1912 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $18443 = i64toi32_i32$2; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1304 | 0) >> 2] = $18443; + HEAP32[($3_1 + 1308 | 0) >> 2] = i64toi32_i32$1; + HEAP16[($3_1 + 1296 | 0) >> 1] = HEAPU16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; + HEAP16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($3_1 + 1298 | 0) >> 1] | 0; + label$525 : { + if (((HEAPU16[($3_1 + 1296 | 0) >> 1] | 0) & 65535 | 0) & 36 | 0) { + break label$525 + } + label$526 : { + if (((HEAPU16[($3_1 + 1296 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0) { + break label$526 + } + label$527 : { + label$528 : { + if (((HEAPU16[($3_1 + 1296 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$528 + } + if (!((HEAP32[($3_1 + 1344 | 0) >> 2] | 0 | 0) >= (24 | 0) & 1 | 0)) { + break label$527 + } + } + break label$11; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $921(HEAP32[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $3_1 + 1348 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$529 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$529 + } + break label$2; + } + break label$521; + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1304 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1308 | 0) >> 2] | 0; + i64toi32_i32$3 = 0; + label$530 : { + label$531 : { + if (!(+HEAPF64[(HEAP32[($3_1 + 1912 | 0) >> 2] | 0) >> 3] < +(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$2 | 0) & 1 | 0)) { + break label$531 + } + label$532 : { + if (!(((HEAP32[($3_1 + 1344 | 0) >> 2] | 0) & 1 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$532 + } + HEAP32[($3_1 + 1344 | 0) >> 2] = (HEAP32[($3_1 + 1344 | 0) >> 2] | 0) + -1 | 0; + } + break label$530; + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1304 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1308 | 0) >> 2] | 0; + i64toi32_i32$3 = 0; + label$533 : { + if (!(+HEAPF64[(HEAP32[($3_1 + 1912 | 0) >> 2] | 0) >> 3] > +(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0) & 1 | 0)) { + break label$533 + } + label$534 : { + if ((HEAP32[($3_1 + 1344 | 0) >> 2] | 0) & 1 | 0) { + break label$534 + } + HEAP32[($3_1 + 1344 | 0) >> 2] = (HEAP32[($3_1 + 1344 | 0) >> 2] | 0) + 1 | 0; + } + } + } + } + $4289 = 0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1304 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1308 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $922(HEAP32[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $4289 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, $4289 | 0, $3_1 + 1348 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1304 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1308 | 0) >> 2] | 0; + $18602 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1340 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] = $18602; + HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] = i64toi32_i32$1; + label$535 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$535 + } + break label$2; + } + break label$522; + } + label$536 : { + if (!($923(HEAP32[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0)) { + break label$536 + } + HEAP32[($3_1 + 1300 | 0) >> 2] = 1; + } + i64toi32_i32$1 = 0; + HEAP32[($3_1 + 1316 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1320 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP16[($3_1 + 1328 | 0) >> 1] = HEAP32[($3_1 + 1316 | 0) >> 2] | 0; + HEAP8[($3_1 + 1330 | 0) >> 0] = ((HEAP32[($3_1 + 1344 | 0) >> 2] | 0) - 22 | 0) & 1 | 0 ? -1 : 1; + HEAP32[($3_1 + 1324 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP8[($3_1 + 1334 | 0) >> 0] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $922(HEAP32[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $3_1 + 1320 | 0 | 0, 0 | 0, i64toi32_i32$1 | 0, 0 | 0, $3_1 + 1348 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$537 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$537 + } + break label$2; + } + label$538 : { + if (!(HEAP32[($3_1 + 1300 | 0) >> 2] | 0)) { + break label$538 + } + if ((HEAPU8[($3_1 + 1334 | 0) >> 0] | 0) & 255 | 0) { + break label$538 + } + break label$521; + } + } + label$539 : { + label$540 : { + if (!((HEAP32[($3_1 + 1344 | 0) >> 2] | 0 | 0) >= (24 | 0) & 1 | 0)) { + break label$540 + } + label$541 : { + label$542 : { + label$543 : { + if ((HEAP32[($3_1 + 1348 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$543 + } + if (HEAP32[($3_1 + 1348 | 0) >> 2] | 0) { + break label$542 + } + if (!((HEAP32[($3_1 + 1344 | 0) >> 2] | 0 | 0) == (25 | 0) & 1 | 0)) { + break label$542 + } + } + $4360 = 0; + HEAP32[($3_1 + 1348 | 0) >> 2] = $4360; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $924(HEAP32[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $4360 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$544 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$544 + } + label$545 : { + label$546 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$546 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 0; + HEAP32[($3_1 + 1348 | 0) >> 2] = 1; + break label$545; + } + break label$2; + } + } + break label$541; + } + HEAP32[($3_1 + 1348 | 0) >> 2] = 0; + } + break label$539; + } + label$547 : { + label$548 : { + label$549 : { + if ((HEAP32[($3_1 + 1348 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$549 + } + if (HEAP32[($3_1 + 1348 | 0) >> 2] | 0) { + break label$548 + } + if (!((HEAP32[($3_1 + 1344 | 0) >> 2] | 0 | 0) == (22 | 0) & 1 | 0)) { + break label$548 + } + } + $4390 = 0; + HEAP32[($3_1 + 1348 | 0) >> 2] = $4390; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $925(HEAP32[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $4390 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$550 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$550 + } + label$551 : { + label$552 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$552 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 0; + HEAP32[($3_1 + 1348 | 0) >> 2] = 1; + break label$551; + } + break label$2; + } + } + break label$547; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $926(HEAP32[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1348 | 0) >> 2] = wasm2js_i32$1; + } + } + } + label$553 : { + if (!(HEAP32[($3_1 + 1348 | 0) >> 2] | 0)) { + break label$553 + } + break label$11; + } + label$554 : { + if (!(HEAP32[($3_1 + 1300 | 0) >> 2] | 0)) { + break label$554 + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 20 | 0; + } + break label$8; + } + HEAP32[($3_1 + 1292 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$555 : { + if ($927(HEAP32[((HEAP32[($3_1 + 1292 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0) { + break label$555 + } + break label$8; + } + HEAP32[($3_1 + 1284 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1264 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1292 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP16[($3_1 + 1272 | 0) >> 1] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP8[($3_1 + 1274 | 0) >> 0] = 0; + HEAP32[($3_1 + 1268 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1288 | 0) >> 2] = 0; + label$556 : while (1) { + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $928(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1292 | 0) >> 2] | 0 | 0, $3_1 + 1264 | 0 | 0, $3_1 + 1288 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$557 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$557 + } + break label$2; + } + label$558 : { + if (!((HEAP32[($3_1 + 1288 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$558 + } + break label$12; + } + label$559 : { + if (HEAP32[($3_1 + 1288 | 0) >> 2] | 0) { + break label$559 + } + break label$11; + } + label$560 : { + label$561 : { + if (!((HEAP32[($3_1 + 1284 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$561 + } + break label$560; + } + HEAP32[($3_1 + 1284 | 0) >> 2] = (HEAP32[($3_1 + 1284 | 0) >> 2] | 0) + -1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $924(HEAP32[((HEAP32[($3_1 + 1292 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$562 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$562 + } + label$563 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$563 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 0; + break label$12; + } + break label$2; + } + continue label$556; + } + break label$556; + }; + break label$8; + } + HEAP32[($3_1 + 1260 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$564 : { + label$565 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1260 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$565 + } + HEAP16[((HEAP32[($3_1 + 1260 | 0) >> 2] | 0) + 6 | 0) >> 1] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$564; + } + label$566 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1260 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) > (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$566 + } + HEAP16[((HEAP32[($3_1 + 1260 | 0) >> 2] | 0) + 6 | 0) >> 1] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + } + break label$8; + } + label$567 : { + if ((HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$567 + } + break label$10; + } + break label$8; + } + HEAP32[($3_1 + 1256 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$568 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1256 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) >= (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$568 + } + break label$8; + } + } + HEAP32[($3_1 + 1240 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$569 : { + label$570 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$570 + } + HEAP32[($3_1 + 1208 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1240 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP16[($3_1 + 1216 | 0) >> 1] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1212 | 0) >> 2] = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + HEAP32[($3_1 + 1228 | 0) >> 2] = $3_1 + 1208 | 0; + HEAP32[($3_1 + 1232 | 0) >> 2] = 0; + break label$569; + } + label$571 : { + label$572 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$572 + } + $4586 = $230(HEAP32[($3_1 + 1912 | 0) >> 2] | 0 | 0) | 0; + break label$571; + } + $4586 = 0; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = $4586; + label$573 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$573 + } + break label$3; + } + $4593 = $929(HEAP32[((HEAP32[($3_1 + 1240 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 1228 | 0) >> 2] = $4593; + HEAP32[($3_1 + 1232 | 0) >> 2] = $4593; + label$574 : { + if (!((HEAP32[($3_1 + 1228 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$574 + } + break label$3; + } + $930(HEAP32[((HEAP32[($3_1 + 1240 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1228 | 0) >> 2] | 0 | 0); + } + HEAP8[((HEAP32[($3_1 + 1228 | 0) >> 2] | 0) + 10 | 0) >> 0] = 0; + HEAP32[($3_1 + 1248 | 0) >> 2] = 0; + label$575 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (28 | 0) & 1 | 0)) { + break label$575 + } + HEAP32[($3_1 + 1244 | 0) >> 2] = 0; + label$576 : { + label$577 : while (1) { + if (!((HEAP32[($3_1 + 1244 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($3_1 + 1228 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$576 + } + label$578 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($3_1 + 1228 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1244 | 0) >> 2] | 0, 40) | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$578 + } + HEAP32[($3_1 + 1248 | 0) >> 2] = 1; + break label$576; + } + HEAP32[($3_1 + 1244 | 0) >> 2] = (HEAP32[($3_1 + 1244 | 0) >> 2] | 0) + 1 | 0; + continue label$577; + }; + } + } + $4646 = 0; + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $922(HEAP32[((HEAP32[($3_1 + 1240 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1228 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0, $4646 | 0, $3_1 + 1236 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$579 : { + if (!((HEAP32[($3_1 + 1232 | 0) >> 2] | 0 | 0) != ($4646 | 0) & 1 | 0)) { + break label$579 + } + $23(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1232 | 0) >> 2] | 0 | 0); + } + label$580 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$580 + } + break label$2; + } + $4664 = 0; + HEAP32[((HEAP32[($3_1 + 1240 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($3_1 + 1236 | 0) >> 2] | 0; + HEAP32[($3_1 + 1252 | 0) >> 2] = (HEAP32[($3_1 + 1236 | 0) >> 2] | 0 | 0) == ($4664 | 0) & 1 | 0; + HEAP8[((HEAP32[($3_1 + 1240 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1 - (HEAP32[($3_1 + 1252 | 0) >> 2] | 0) | 0; + HEAP8[((HEAP32[($3_1 + 1240 | 0) >> 2] | 0) + 3 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 1240 | 0) >> 2] | 0) + 28 | 0) >> 2] = $4664; + label$581 : { + label$582 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (30 | 0) & 1 | 0)) { + break label$582 + } + label$583 : { + if (!(HEAP32[($3_1 + 1252 | 0) >> 2] | 0)) { + break label$583 + } + break label$11; + } + break label$581; + } + label$584 : { + label$585 : { + if (HEAP32[($3_1 + 1248 | 0) >> 2] | 0) { + break label$585 + } + if (HEAP32[($3_1 + 1252 | 0) >> 2] | 0) { + break label$584 + } + } + break label$11; + } + label$586 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (27 | 0) & 1 | 0)) { + break label$586 + } + HEAP16[((HEAP32[($3_1 + 1240 | 0) >> 2] | 0) + 6 | 0) >> 1] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + } + break label$8; + } + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$587 : { + if (((HEAPU16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 36 | 0) { + break label$587 + } + $4719 = $3_1 + 1144 | 0; + $4721 = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + i64toi32_i32$3 = $4721; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $19505 = i64toi32_i32$1; + i64toi32_i32$1 = $4719; + HEAP32[i64toi32_i32$1 >> 2] = $19505; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + $4722 = 32; + i64toi32_i32$3 = i64toi32_i32$3 + $4722 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $19515 = i64toi32_i32$2; + i64toi32_i32$2 = $4719 + $4722 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $19515; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + $4725 = 24; + i64toi32_i32$3 = $4721 + $4725 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $19525 = i64toi32_i32$1; + i64toi32_i32$1 = $4719 + $4725 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $19525; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + $4728 = 16; + i64toi32_i32$3 = $4721 + $4728 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $19535 = i64toi32_i32$2; + i64toi32_i32$2 = $4719 + $4728 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $19535; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + $4731 = 8; + i64toi32_i32$3 = $4721 + $4731 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $19545 = i64toi32_i32$1; + i64toi32_i32$1 = $4719 + $4731 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $19545; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + $4735 = 24; + $895($4719 | 0, (67 << $4735 | 0) >> $4735 | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0); + label$588 : { + if (((HEAPU16[($3_1 + 1152 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0) { + break label$588 + } + break label$11; + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1144 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1148 | 0) >> 2] | 0; + $19572 = i64toi32_i32$2; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1184 | 0) >> 2] = $19572; + HEAP32[($3_1 + 1188 | 0) >> 2] = i64toi32_i32$1; + break label$86; + } + } + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $19592 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1184 | 0) >> 2] = $19592; + HEAP32[($3_1 + 1188 | 0) >> 2] = i64toi32_i32$2; + } + $4752 = 0; + $4753 = 0; + HEAP32[($3_1 + 1204 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1200 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1204 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($3_1 + 1196 | 0) >> 2] = $4753; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1184 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1188 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $922(HEAP32[($3_1 + 1200 | 0) >> 2] | 0 | 0, $4753 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0, $4753 | 0, $3_1 + 1196 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1184 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1188 | 0) >> 2] | 0; + $19640 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 1204 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $19640; + HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$2; + HEAP8[((HEAP32[($3_1 + 1204 | 0) >> 2] | 0) + 2 | 0) >> 0] = $4752; + HEAP32[((HEAP32[($3_1 + 1204 | 0) >> 2] | 0) + 28 | 0) >> 2] = $4753; + HEAP8[((HEAP32[($3_1 + 1204 | 0) >> 2] | 0) + 3 | 0) >> 0] = $4752; + HEAP32[((HEAP32[($3_1 + 1204 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($3_1 + 1196 | 0) >> 2] | 0; + label$589 : { + if (!(HEAP32[($3_1 + 1196 | 0) >> 2] | 0)) { + break label$589 + } + label$590 : { + label$591 : { + if (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$591 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(90442 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + break label$590; + } + break label$11; + } + } + label$592 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$592 + } + break label$2; + } + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + $4791 = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + i64toi32_i32$3 = $4791; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $8482 = i64toi32_i32$2; + $8482$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $8483$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8482$hi; + i64toi32_i32$1 = $8483$hi; + i64toi32_i32$1 = $8482$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $8483$hi; + i64toi32_i32$4 = 1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$3 = $4791; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $8482$hi; + i64toi32_i32$3 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $8482; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$5; + break label$8; + } + i64toi32_i32$5 = 0; + i64toi32_i32$3 = $3_1; + HEAP32[($3_1 + 1136 | 0) >> 2] = 0; + HEAP32[($3_1 + 1140 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($3_1 + 1128 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 1132 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $4807 = 1; + label$593 : { + if ((((HEAPU8[((HEAP32[($3_1 + 1132 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) >>> $4807 | 0) & $4807 | 0) & 255 | 0) { + break label$593 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $921(HEAP32[((HEAP32[($3_1 + 1132 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $3_1 + 1128 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$594 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$594 + } + break label$2; + } + label$595 : { + label$596 : { + if (!(HEAP32[($3_1 + 1128 | 0) >> 2] | 0)) { + break label$596 + } + i64toi32_i32$5 = 0; + i64toi32_i32$3 = $3_1; + HEAP32[($3_1 + 1136 | 0) >> 2] = 1; + HEAP32[($3_1 + 1140 | 0) >> 2] = i64toi32_i32$5; + break label$595; + } + i64toi32_i32$5 = 2147483647; + $8487$hi = i64toi32_i32$5; + i64toi32_i32$5 = $820(HEAP32[((HEAP32[($3_1 + 1132 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $19787 = i64toi32_i32$5; + i64toi32_i32$5 = $3_1; + HEAP32[($3_1 + 1136 | 0) >> 2] = $19787; + HEAP32[($3_1 + 1140 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1136 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1140 | 0) >> 2] | 0; + $8490$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8487$hi; + i64toi32_i32$5 = $8490$hi; + i64toi32_i32$5 = $8487$hi; + i64toi32_i32$5 = $8490$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $8487$hi; + i64toi32_i32$4 = -1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$3 | 0)) { + $637_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + $638_1 = 0 + } else { + $638_1 = 1 + } + $639_1 = $638_1; + } else { + $639_1 = 0 + } + $637_1 = $639_1; + } + label$597 : { + label$598 : { + if (!($637_1 & 1 | 0)) { + break label$598 + } + $4825 = HEAP32[($3_1 + 1132 | 0) >> 2] | 0; + HEAP8[($4825 + 5 | 0) >> 0] = HEAPU8[($4825 + 5 | 0) >> 0] | 0 | 2 | 0; + break label$597; + } + i64toi32_i32$4 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1136 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1140 | 0) >> 2] | 0; + $8492$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $8493$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8492$hi; + i64toi32_i32$5 = $8493$hi; + i64toi32_i32$5 = $8492$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $8493$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$4 = $3_1; + HEAP32[($3_1 + 1136 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($3_1 + 1140 | 0) >> 2] = i64toi32_i32$0; + } + } + } + label$599 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$599 + } + label$600 : { + label$601 : { + if (!((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$601 + } + HEAP32[($3_1 + 1116 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0; + label$602 : { + label$603 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 1116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$602 + } + HEAP32[($3_1 + 1116 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$603; + }; + } + HEAP32[($3_1 + 1120 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + break label$600; + } + HEAP32[($3_1 + 1120 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + } + i64toi32_i32$0 = 2147483647; + $8495$hi = i64toi32_i32$0; + $894(HEAP32[($3_1 + 1120 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1120 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $8497$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8495$hi; + i64toi32_i32$4 = $8497$hi; + i64toi32_i32$4 = $8495$hi; + i64toi32_i32$4 = $8497$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $8495$hi; + i64toi32_i32$3 = -1; + label$604 : { + label$605 : { + if (((i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$4 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$605 + } + $4871 = 1; + if (!((((HEAPU8[((HEAP32[($3_1 + 1132 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) >>> $4871 | 0) & $4871 | 0) & 255 | 0)) { + break label$604 + } + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 13; + break label$2; + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1136 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1140 | 0) >> 2] | 0; + $8499 = i64toi32_i32$5; + $8499$hi = i64toi32_i32$4; + i64toi32_i32$3 = HEAP32[($3_1 + 1120 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $8500$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $8501$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8500$hi; + i64toi32_i32$5 = $8501$hi; + i64toi32_i32$5 = $8500$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$4 = $8501$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $8502$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8499$hi; + i64toi32_i32$2 = $8502$hi; + i64toi32_i32$2 = $8499$hi; + i64toi32_i32$2 = $8502$hi; + i64toi32_i32$2 = $8499$hi; + i64toi32_i32$5 = $8499; + i64toi32_i32$3 = $8502$hi; + i64toi32_i32$0 = i64toi32_i32$1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$3 | 0)) { + $640_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$0 >>> 0) { + $641_1 = 0 + } else { + $641_1 = 1 + } + $642_1 = $641_1; + } else { + $642_1 = 0 + } + $640_1 = $642_1; + } + label$606 : { + if (!($640_1 & 1 | 0)) { + break label$606 + } + i64toi32_i32$0 = HEAP32[($3_1 + 1120 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $8505$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $8506$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8505$hi; + i64toi32_i32$2 = $8506$hi; + i64toi32_i32$2 = $8505$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $8506$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 1136 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 1140 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1136 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1140 | 0) >> 2] | 0; + $19959 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 1120 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $19959; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + $4885 = 1; + label$607 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 1132 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) >>> $4885 | 0) & $4885 | 0) & 255 | 0)) { + break label$607 + } + HEAP32[($3_1 + 1124 | 0) >> 2] = 0; + label$608 : while (1) { + $85(8 | 0, $3_1 + 1136 | 0 | 0); + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1136 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1140 | 0) >> 2] | 0; + $8509$hi = i64toi32_i32$1; + i64toi32_i32$1 = 1073741823; + $8510$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8509$hi; + i64toi32_i32$1 = $8510$hi; + i64toi32_i32$1 = $8509$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $8510$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $19989 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1136 | 0) >> 2] = $19989; + HEAP32[($3_1 + 1140 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1136 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1140 | 0) >> 2] | 0; + $8512$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $8513$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8512$hi; + i64toi32_i32$2 = $8513$hi; + i64toi32_i32$2 = $8512$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $8513$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1136 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($3_1 + 1140 | 0) >> 2] = i64toi32_i32$4; + $4896 = 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1136 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1140 | 0) >> 2] | 0; + $4902 = $922(HEAP32[((HEAP32[($3_1 + 1132 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $4896 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0, $4896 | 0, $3_1 + 1128 | 0 | 0) | 0; + HEAP32[($3_1 + 1952 | 0) >> 2] = $4902; + $4903 = 0; + label$609 : { + if ($4902) { + break label$609 + } + $4903 = 0; + if (HEAP32[($3_1 + 1128 | 0) >> 2] | 0) { + break label$609 + } + $4909 = (HEAP32[($3_1 + 1124 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 1124 | 0) >> 2] = $4909; + $4903 = ($4909 | 0) < (100 | 0); + } + if ($4903 & 1 | 0) { + continue label$608 + } + break label$608; + }; + label$610 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$610 + } + break label$2; + } + label$611 : { + if (HEAP32[($3_1 + 1128 | 0) >> 2] | 0) { + break label$611 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 13; + break label$2; + } + } + HEAP8[((HEAP32[($3_1 + 1132 | 0) >> 2] | 0) + 3 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 1132 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1136 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1140 | 0) >> 2] | 0; + $20061 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $20061; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + break label$8; + } + HEAP32[($3_1 + 1112 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1104 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1108 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1108 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $20113 = i64toi32_i32$4; + i64toi32_i32$4 = $3_1; + HEAP32[($3_1 + 1056 | 0) >> 2] = $20113; + HEAP32[($3_1 + 1060 | 0) >> 2] = i64toi32_i32$1; + $4948 = 24; + label$612 : { + label$613 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $4948 | 0) >> $4948 | 0 | 0) == (-6 | 0) & 1 | 0)) { + break label$613 + } + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 228 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$613 + } + $4968 = 24; + HEAP32[($3_1 + 1096 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((((HEAPU8[((HEAP32[($3_1 + 1104 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $4968 | 0) >> $4968 | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1092 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$612; + } + $4977 = 0; + HEAP32[($3_1 + 1092 | 0) >> 2] = $4977; + HEAP32[($3_1 + 1096 | 0) >> 2] = $4977; + } + label$614 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$614 + } + $4984 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($4984 + 44 | 0) >> 2] = (HEAP32[($4984 + 44 | 0) >> 2] | 0) + 1 | 0; + } + label$615 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$615 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1056 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1060 | 0) >> 2] | 0; + $20220 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $20220; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$4; + } + HEAP32[($3_1 + 1064 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1112 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1076 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$616 : { + label$617 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$617 + } + $5007 = HEAP32[((HEAP32[($3_1 + 1104 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$616; + } + $5007 = 0; + } + HEAP32[($3_1 + 1100 | 0) >> 2] = $5007; + label$618 : { + label$619 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1112 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$619 + } + HEAP32[($3_1 + 1080 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 1112 | 0) >> 2] | 0) >> 2] | 0; + break label$618; + } + HEAP32[($3_1 + 1080 | 0) >> 2] = 0; + } + $5019 = 0; + HEAP32[($3_1 + 1048 | 0) >> 2] = $5019; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $931(HEAP32[((HEAP32[($3_1 + 1104 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $3_1 + 1048 | 0 | 0, ((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 10 | 0 | 0, HEAP32[($3_1 + 1100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($3_1 + 1104 | 0) >> 2] | 0) + 3 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 1104 | 0) >> 2] | 0) + 28 | 0) >> 2] = $5019; + label$620 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$620 + } + break label$2; + } + label$621 : { + if (!((HEAP32[($3_1 + 1092 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$621 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1056 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1060 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 228 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0, ((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0 ? 23 : 18, HEAP32[($3_1 + 1096 | 0) >> 2] | 0, HEAP32[(HEAP32[($3_1 + 1092 | 0) >> 2] | 0) >> 2] | 0, i64toi32_i32$4, i64toi32_i32$1); + } + break label$8; + } + HEAP32[($3_1 + 1032 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 1044 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $5073 = 24; + label$622 : { + label$623 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $5073 | 0) >> $5073 | 0 | 0) == (-6 | 0) & 1 | 0)) { + break label$623 + } + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 228 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$623 + } + $5093 = 24; + HEAP32[($3_1 + 1040 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((((HEAPU8[((HEAP32[($3_1 + 1044 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $5093 | 0) >> $5093 | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1036 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$624 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$624 + } + if (!((HEAPU8[((HEAP32[($3_1 + 1044 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0)) { + break label$624 + } + i64toi32_i32$1 = $820(HEAP32[((HEAP32[($3_1 + 1044 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $20481 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 1044 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $20481; + HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$4; + } + break label$622; + } + $5115 = 0; + HEAP32[($3_1 + 1040 | 0) >> 2] = $5115; + HEAP32[($3_1 + 1036 | 0) >> 2] = $5115; + } + $5116 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $932(HEAP32[((HEAP32[($3_1 + 1044 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 1044 | 0) >> 2] | 0) + 28 | 0) >> 2] = $5116; + HEAP32[((HEAP32[($3_1 + 1044 | 0) >> 2] | 0) + 32 | 0) >> 2] = $5116; + label$625 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$625 + } + break label$2; + } + label$626 : { + if (!((HEAP32[($3_1 + 1032 | 0) >> 2] | 0) & 1 | 0)) { + break label$626 + } + $5131 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($5131 + 44 | 0) >> 2] = (HEAP32[($5131 + 44 | 0) >> 2] | 0) + 1 | 0; + label$627 : { + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 228 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$627 + } + if ((HEAP32[((HEAP32[($3_1 + 1036 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$627 + } + i64toi32_i32$2 = HEAP32[($3_1 + 1044 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 228 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0, 9, HEAP32[($3_1 + 1040 | 0) >> 2] | 0, HEAP32[(HEAP32[($3_1 + 1036 | 0) >> 2] | 0) >> 2] | 0, i64toi32_i32$4, i64toi32_i32$1); + } + } + break label$8; + } + $847(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + break label$8; + } + HEAP32[($3_1 + 1028 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1020 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1024 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $933(HEAP32[($3_1 + 1028 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1912 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1020 | 0) >> 2] | 0 | 0, $3_1 + 1024 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$628 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$628 + } + break label$2; + } + label$629 : { + if (!(HEAP32[($3_1 + 1024 | 0) >> 2] | 0)) { + break label$629 + } + break label$11; + } + break label$8; + } + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1016 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $934(HEAP32[($3_1 + 1016 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$630 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$630 + } + break label$2; + } + HEAP32[((HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 1012 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1008 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1012 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $821(HEAP32[($3_1 + 1008 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1004 | 0) >> 2] = wasm2js_i32$1; + label$631 : { + if (!((HEAP32[($3_1 + 1004 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$631 + } + break label$13; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $903(HEAP32[($3_1 + 1008 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1004 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$632 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$632 + } + break label$2; + } + label$633 : { + if (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$633 + } + label$634 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4096 | 0)) { + break label$634 + } + if (!($251(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) | 0)) { + break label$634 + } + break label$3; + } + } + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 1e3 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$635 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1e3 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$635 + } + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + break label$8; + } + label$636 : { + label$637 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1e3 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$637 + } + i64toi32_i32$2 = HEAP32[($3_1 + 1e3 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + $20882 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 992 | 0) >> 2] = $20882; + HEAP32[($3_1 + 996 | 0) >> 2] = i64toi32_i32$4; + break label$636; + } + label$638 : { + label$639 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1e3 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$639 + } + HEAP32[($3_1 + 988 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($3_1 + 1e3 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 984 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 988 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 984 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 1e3 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0, $3_1 + 992 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + $870(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 988 | 0) >> 2] | 0 | 0); + label$640 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$640 + } + break label$2; + } + break label$638; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $935(HEAP32[($3_1 + 1e3 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$641 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$641 + } + break label$2; + } + label$642 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1e3 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$642 + } + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + break label$8; + } + i64toi32_i32$4 = $820(HEAP32[((HEAP32[($3_1 + 1e3 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $20981 = i64toi32_i32$4; + i64toi32_i32$4 = $3_1; + HEAP32[($3_1 + 992 | 0) >> 2] = $20981; + HEAP32[($3_1 + 996 | 0) >> 2] = i64toi32_i32$1; + } + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 992 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 996 | 0) >> 2] | 0; + $20987 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $20987; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + break label$8; + } + HEAP32[($3_1 + 980 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 980 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1; + HEAP32[((HEAP32[($3_1 + 980 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + label$643 : { + if ((HEAPU8[(HEAP32[($3_1 + 980 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$643 + } + $836(HEAP32[((HEAP32[($3_1 + 980 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + } + break label$8; + } + HEAP32[($3_1 + 976 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 972 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 976 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($3_1 + 968 | 0) >> 2] = 0; + label$644 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (130 | 0) & 1 | 0)) { + break label$644 + } + HEAP32[((HEAP32[($3_1 + 976 | 0) >> 2] | 0) + 32 | 0) >> 2] = -1; + label$645 : { + if (!($927(HEAP32[($3_1 + 972 | 0) >> 2] | 0 | 0) | 0)) { + break label$645 + } + break label$8; + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $921(HEAP32[($3_1 + 972 | 0) >> 2] | 0 | 0, $3_1 + 968 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($3_1 + 976 | 0) >> 2] | 0) + 2 | 0) >> 0] = HEAP32[($3_1 + 968 | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 976 | 0) >> 2] | 0) + 3 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 976 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + label$646 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$646 + } + break label$2; + } + label$647 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$647 + } + label$648 : { + if (!(HEAP32[($3_1 + 968 | 0) >> 2] | 0)) { + break label$648 + } + break label$11; + } + } + break label$8; + } + HEAP32[($3_1 + 964 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 960 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 964 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $936(HEAP32[($3_1 + 960 | 0) >> 2] | 0 | 0, $3_1 + 956 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$649 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$649 + } + break label$2; + } + label$650 : { + if (HEAP32[($3_1 + 956 | 0) >> 2] | 0) { + break label$650 + } + i64toi32_i32$4 = 0; + $8525$hi = i64toi32_i32$4; + i64toi32_i32$4 = $910(HEAP32[($3_1 + 960 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $21174 = i64toi32_i32$4; + i64toi32_i32$4 = $3_1; + HEAP32[($3_1 + 944 | 0) >> 2] = $21174; + HEAP32[($3_1 + 948 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 944 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 948 | 0) >> 2] | 0; + $8528$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8525$hi; + i64toi32_i32$4 = $8528$hi; + i64toi32_i32$4 = $8525$hi; + i64toi32_i32$4 = $8528$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $8525$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$1 | 0)) { + $643_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $644_1 = 0 + } else { + $644_1 = 1 + } + $645_1 = $644_1; + } else { + $645_1 = 0 + } + $643_1 = $645_1; + } + label$651 : { + if (!($643_1 & 1 | 0)) { + break label$651 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 944 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 948 | 0) >> 2] | 0; + $5415 = 16; + if (!(((($937(i64toi32_i32$2 | 0, i64toi32_i32$4 | 0) | 0) << $5415 | 0) >> $5415 | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$651 + } + HEAP32[($3_1 + 956 | 0) >> 2] = 1; + } + } + label$652 : { + if (!(HEAP32[($3_1 + 956 | 0) >> 2] | 0)) { + break label$652 + } + break label$11; + } + break label$8; + } + $5427 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($5427 + 168 | 0) >> 2] = (HEAP32[($5427 + 168 | 0) >> 2] | 0) + 1 | 0; + } + $5431 = 1; + HEAP32[($3_1 + 940 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 932 | 0) >> 2] = $5431; + label$653 : { + label$654 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 940 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == ($5431 | 0) & 1 | 0)) { + break label$654 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $938(HEAP32[($3_1 + 940 | 0) >> 2] | 0 | 0, $3_1 + 932 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + break label$653; + } + HEAP32[($3_1 + 936 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 940 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $936(HEAP32[($3_1 + 936 | 0) >> 2] | 0 | 0, $3_1 + 932 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($3_1 + 940 | 0) >> 2] | 0) + 3 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 940 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + } + label$655 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$655 + } + break label$2; + } + HEAP8[((HEAP32[($3_1 + 940 | 0) >> 2] | 0) + 2 | 0) >> 0] = HEAP32[($3_1 + 932 | 0) >> 2] | 0; + label$656 : { + if (!(HEAP32[($3_1 + 932 | 0) >> 2] | 0)) { + break label$656 + } + break label$11; + } + break label$8; + } + HEAP32[($3_1 + 928 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $939(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 928 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + break label$69; + } + HEAP32[($3_1 + 928 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 928 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[((HEAP32[($3_1 + 928 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + label$657 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$657 + } + HEAP8[((HEAP32[($3_1 + 928 | 0) >> 2] | 0) + 2 | 0) >> 0] = 0; + $5509 = ((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 160 | 0) + (((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) << 2 | 0) | 0; + HEAP32[$5509 >> 2] = (HEAP32[$5509 >> 2] | 0) + 1 | 0; + break label$10; + } + label$658 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) != (101 | 0) & 1 | 0)) { + break label$658 + } + break label$2; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 0; + HEAP8[((HEAP32[($3_1 + 928 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1; + break label$9; + } + HEAP32[($3_1 + 924 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1916 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + label$659 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$659 + } + $5543 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($5543 + 44 | 0) >> 2] = (HEAP32[($5543 + 44 | 0) >> 2] | 0) + 1 | 0; + } + label$660 : { + label$661 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$661 + } + $5555 = $230(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) | 0; + break label$660; + } + $5555 = 0; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = $5555; + label$662 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$662 + } + break label$2; + } + i64toi32_i32$2 = HEAP32[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 >> 31 | 0; + $21516 = i64toi32_i32$2; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 888 | 0) >> 2] = $21516; + HEAP32[($3_1 + 892 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 880 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 900 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP16[($3_1 + 904 | 0) >> 1] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $5573 = HEAP32[((HEAP32[($3_1 + 924 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $5579 = ((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 10 | 0; + label$663 : { + label$664 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$664 + } + $5588 = HEAP32[((HEAP32[($3_1 + 924 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$663; + } + $5588 = 0; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $931($5573 | 0, $3_1 + 880 | 0 | 0, $5579 | 0, $5588 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 924 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + label$665 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$665 + } + break label$2; + } + break label$8; + } + HEAP32[($3_1 + 876 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1916 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + label$666 : { + label$667 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$667 + } + $5620 = $230(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) | 0; + break label$666; + } + $5620 = 0; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = $5620; + label$668 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$668 + } + break label$2; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $940(HEAP32[($3_1 + 876 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$669 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$669 + } + break label$2; + } + break label$8; + } + i64toi32_i32$4 = 0; + HEAP32[($3_1 + 872 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 868 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 872 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($3_1 + 848 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 872 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP16[($3_1 + 856 | 0) >> 1] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP8[($3_1 + 858 | 0) >> 0] = 0; + HEAP32[($3_1 + 852 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $922(HEAP32[($3_1 + 868 | 0) >> 2] | 0 | 0, $3_1 + 848 | 0 | 0, 0 | 0, i64toi32_i32$4 | 0, 0 | 0, $3_1 + 864 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$670 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$670 + } + break label$2; + } + label$671 : { + label$672 : { + if (HEAP32[($3_1 + 864 | 0) >> 2] | 0) { + break label$672 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $932(HEAP32[($3_1 + 868 | 0) >> 2] | 0 | 0, 4 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$673 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$673 + } + break label$2; + } + break label$671; + } + label$674 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$674 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 779; + break label$2; + } + } + $5677 = 0; + HEAP32[((HEAP32[($3_1 + 872 | 0) >> 2] | 0) + 28 | 0) >> 2] = $5677; + HEAP32[((HEAP32[($3_1 + 872 | 0) >> 2] | 0) + 32 | 0) >> 2] = $5677; + break label$8; + } + HEAP32[($3_1 + 844 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $935(HEAP32[($3_1 + 844 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$675 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$675 + } + break label$2; + } + label$676 : { + label$677 : { + if (((HEAPU8[((HEAP32[($3_1 + 844 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$677 + } + i64toi32_i32$4 = 0; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 832 | 0) >> 2] = 0; + HEAP32[($3_1 + 836 | 0) >> 2] = i64toi32_i32$4; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $941(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 844 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $3_1 + 832 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$678 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$678 + } + break label$2; + } + label$679 : { + label$680 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (134 | 0) & 1 | 0)) { + break label$680 + } + HEAP32[($3_1 + 840 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 840 | 0) >> 2] | 0) + 2 | 0) >> 0] = 0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 832 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 836 | 0) >> 2] | 0; + $21895 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[($3_1 + 840 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$4 + 64 | 0) >> 2] = $21895; + HEAP32[(i64toi32_i32$4 + 68 | 0) >> 2] = i64toi32_i32$2; + HEAP8[((HEAP32[($3_1 + 840 | 0) >> 2] | 0) + 3 | 0) >> 0] = 1; + HEAP32[((HEAP32[($3_1 + 840 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 840 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($3_1 + 844 | 0) >> 2] | 0; + break label$679; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 832 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 836 | 0) >> 2] | 0; + $21928 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $21928; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$4; + } + break label$676; + } + $262((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0 | 0); + } + break label$8; + } + HEAP32[($3_1 + 828 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$681 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 828 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$681 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $942(HEAP32[($3_1 + 828 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$682 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$682 + } + break label$2; + } + } + break label$8; + } + HEAP32[($3_1 + 824 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 800 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 824 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP16[($3_1 + 808 | 0) >> 1] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$683 : { + label$684 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < (40 | 0) & 1 | 0)) { + break label$684 + } + HEAP8[($3_1 + 810 | 0) >> 0] = 255; + break label$683; + } + HEAP8[($3_1 + 810 | 0) >> 0] = 0; + } + i64toi32_i32$4 = 0; + $8536 = 0; + $8536$hi = i64toi32_i32$4; + HEAP32[($3_1 + 804 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 792 | 0) >> 2] = $8536; + HEAP32[($3_1 + 796 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 788 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 824 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = $3_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $821(HEAP32[($3_1 + 788 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 792 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 796 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$3 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 792 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 796 | 0) >> 2] | 0; + $8539$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8536$hi; + i64toi32_i32$2 = $8539$hi; + i64toi32_i32$2 = $8536$hi; + i64toi32_i32$2 = $8539$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$4 = $8536$hi; + i64toi32_i32$1 = $8536; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$4 | 0)) { + $646_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$3 >>> 0 > i64toi32_i32$1 >>> 0) { + $647_1 = 0 + } else { + $647_1 = 1 + } + $648_1 = $647_1; + } else { + $648_1 = 0 + } + $646_1 = $648_1; + } + label$685 : { + label$686 : { + if ($646_1 & 1 | 0) { + break label$686 + } + i64toi32_i32$3 = 0; + $8541$hi = i64toi32_i32$3; + i64toi32_i32$1 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 792 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 796 | 0) >> 2] | 0; + $8543$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8541$hi; + i64toi32_i32$2 = $8543$hi; + i64toi32_i32$2 = $8541$hi; + i64toi32_i32$2 = $8543$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $8541$hi; + i64toi32_i32$4 = 2147483647; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$3 | 0)) { + $649_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$4 >>> 0) { + $650_1 = 0 + } else { + $650_1 = 1 + } + $652_1 = $650_1; + } else { + $652_1 = 0 + } + $649_1 = $652_1; + } + if (!($649_1 & 1 | 0)) { + break label$685 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(91664 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + $5813 = $3_1 + 744 | 0; + $943($5813 | 0, HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, 0 & 65535 | 0 | 0); + i64toi32_i32$4 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 792 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 796 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $903(HEAP32[($3_1 + 788 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, $5813 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$687 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$687 + } + break label$2; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $944(HEAP32[($3_1 + 756 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 760 | 0) >> 2] | 0 | 0, $3_1 + 800 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 820 | 0) >> 2] = wasm2js_i32$1; + $227($3_1 + 744 | 0 | 0); + label$688 : { + label$689 : { + if (((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$689 + } + HEAP32[($3_1 + 820 | 0) >> 2] = 0 - (HEAP32[($3_1 + 820 | 0) >> 2] | 0) | 0; + break label$688; + } + HEAP32[($3_1 + 820 | 0) >> 2] = (HEAP32[($3_1 + 820 | 0) >> 2] | 0) + 1 | 0; + } + label$690 : { + if (!((HEAP32[($3_1 + 820 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$690 + } + break label$11; + } + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + label$691 : { + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 176 | 0) >> 2] | 0 | 0) > ((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$691 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 6; + HEAP8[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 146 | 0) >> 0] = 2; + break label$2; + } + HEAP32[($3_1 + 736 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 740 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $945(HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 736 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $3_1 + 740 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + i64toi32_i32$1 = HEAP32[($3_1 + 740 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $22270 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22270; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + label$692 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$692 + } + break label$2; + } + label$693 : { + if (!(HEAP32[($3_1 + 740 | 0) >> 2] | 0)) { + break label$693 + } + $946(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 736 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 740 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP8[($3_1 + 1947 | 0) >> 0] = (HEAP32[($3_1 + 736 | 0) >> 2] | 0) + 1 | 0; + } + break label$8; + } + HEAP32[($3_1 + 732 | 0) >> 2] = 0; + $5909 = HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + $5911 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$694 : { + label$695 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$695 + } + $5917 = $3_1 + 732 | 0; + break label$694; + } + $5917 = 0; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $917($5909 | 0, $5911 | 0, $5917 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$696 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$696 + } + $5925 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($5925 + 44 | 0) >> 2] = (HEAP32[($5925 + 44 | 0) >> 2] | 0) + (HEAP32[($3_1 + 732 | 0) >> 2] | 0) | 0; + label$697 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$697 + } + i64toi32_i32$1 = HEAP32[($3_1 + 732 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $8547 = i64toi32_i32$1; + $8547$hi = i64toi32_i32$2; + $5942 = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$4 = $5942; + i64toi32_i32$2 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $22391$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8547$hi; + i64toi32_i32$1 = $22391$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $8547$hi; + i64toi32_i32$3 = $8547; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$4 = $5942; + HEAP32[i64toi32_i32$4 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$5; + } + } + label$698 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$698 + } + break label$2; + } + break label$8; + } + HEAP32[($3_1 + 728 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$699 : { + label$700 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 728 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$700 + } + $862(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 728 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + break label$699; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $947(HEAP32[((HEAP32[($3_1 + 728 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$701 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$701 + } + break label$2; + } + } + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 724 | 0) >> 2] = 0; + HEAP32[($3_1 + 720 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $918(HEAP32[((HEAP32[($3_1 + 720 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $3_1 + 724 | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$702 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$702 + } + break label$2; + } + i64toi32_i32$5 = 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$4 >> 2] = HEAP32[($3_1 + 724 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$5; + break label$8; + } + $5992 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP8[($5992 + 90 | 0) >> 0] = (HEAPU8[($5992 + 90 | 0) >> 0] | 0) + 1 | 0; + $5999 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $400(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $5999 | 0, $5999 | 0, $5999 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + $6001 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP8[($6001 + 90 | 0) >> 0] = (HEAPU8[($6001 + 90 | 0) >> 0] | 0) + -1 | 0; + label$703 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$703 + } + break label$2; + } + break label$8; + } + HEAP32[($3_1 + 716 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$704 : { + label$705 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$705 + } + $170(HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 716 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0 | 0); + $6023 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($6023 + 24 | 0) >> 2] = (HEAP32[($6023 + 24 | 0) >> 2] | 0) & -17 | 0; + $6032 = 1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $504(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 716 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0 | 0, $6032 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + $6034 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($6034 + 24 | 0) >> 2] = HEAP32[($6034 + 24 | 0) >> 2] | 0 | $6032 | 0; + $6037 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP16[($6037 + 150 | 0) >> 1] = (HEAPU16[($6037 + 150 | 0) >> 1] | 0) & -4 | 0; + break label$704; + } + HEAP32[($3_1 + 712 | 0) >> 2] = 8004; + HEAP32[($3_1 + 680 | 0) >> 2] = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($3_1 + 688 | 0) >> 2] = HEAP32[($3_1 + 716 | 0) >> 2] | 0; + HEAP32[($3_1 + 684 | 0) >> 2] = (HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0; + HEAP32[($3_1 + 696 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $133(HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 716 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 704 | 0) >> 2] = wasm2js_i32$1; + $6056 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + $6063 = HEAP32[((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 716 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $6064 = HEAP32[($3_1 + 712 | 0) >> 2] | 0; + HEAP32[($3_1 + 120 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 116 | 0) >> 2] = $6064; + HEAP32[($3_1 + 112 | 0) >> 2] = $6063; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $351($6056 | 0, 8018 | 0, $3_1 + 112 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 708 | 0) >> 2] = wasm2js_i32$1; + label$706 : { + label$707 : { + if (!((HEAP32[($3_1 + 708 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$707 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 7; + break label$706; + } + $6080 = 0; + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 165 | 0) >> 0] = 1; + HEAP32[($3_1 + 692 | 0) >> 2] = $6080; + HEAP32[($3_1 + 700 | 0) >> 2] = $6080; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $400(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 708 | 0) >> 2] | 0 | 0, 4 | 0, $3_1 + 680 | 0 | 0, $6080 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$708 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$708 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = HEAP32[($3_1 + 692 | 0) >> 2] | 0; + } + label$709 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$709 + } + if (HEAP32[($3_1 + 700 | 0) >> 2] | 0) { + break label$709 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(91917 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + } + $23(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 708 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 165 | 0) >> 0] = 0; + } + } + label$710 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$710 + } + $141(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0); + label$711 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$711 + } + break label$3; + } + break label$2; + } + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $949(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$712 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$712 + } + break label$2; + } + break label$8; + } + $950(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + break label$8; + } + $951(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + break label$8; + } + $952(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + break label$8; + } + HEAP32[($3_1 + 676 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 672 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 660 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 660 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $953(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 672 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($3_1 + 676 | 0) >> 2] | 0 | 0, i64toi32_i32$5 + 1 | 0 | 0, $3_1 + 668 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 664 | 0) >> 2] = wasm2js_i32$1; + $262(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0); + label$713 : { + label$714 : { + if (HEAP32[($3_1 + 668 | 0) >> 2] | 0) { + break label$714 + } + break label$713; + } + label$715 : { + if (!((HEAP32[($3_1 + 664 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$715 + } + break label$3; + } + i64toi32_i32$5 = (HEAP32[($3_1 + 668 | 0) >> 2] | 0) - 1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $8552 = i64toi32_i32$5; + $8552$hi = i64toi32_i32$4; + $6183 = HEAP32[($3_1 + 660 | 0) >> 2] | 0; + i64toi32_i32$1 = $6183; + i64toi32_i32$4 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $22959$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8552$hi; + i64toi32_i32$5 = $22959$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$4 = $8552$hi; + i64toi32_i32$3 = $8552; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$5 - i64toi32_i32$0 | 0; + i64toi32_i32$1 = $6183; + HEAP32[i64toi32_i32$1 >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $256(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 664 | 0) >> 2] | 0 | 0, -1 | 0, 1 & 255 | 0 | 0, 3 | 0) | 0; + } + $328(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + break label$9; + } + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1916 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + label$716 : { + if (((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0) { + break label$716 + } + label$717 : { + if (!($954(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0)) { + break label$717 + } + break label$3; + } + } + i64toi32_i32$5 = HEAP32[($3_1 + 1916 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $955(HEAP32[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + break label$8; + } + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + label$718 : { + label$719 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$719 + } + if ($956(HEAP32[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 + 648 | 0 | 0) | 0) { + break label$718 + } + } + $262(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0); + break label$10; + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 648 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 652 | 0) >> 2] | 0; + $268((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$9; + } + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 644 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$720 : { + if (((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0) { + break label$720 + } + label$721 : { + if (!($954(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0)) { + break label$721 + } + break label$3; + } + } + label$722 : { + if (!(HEAP32[($3_1 + 644 | 0) >> 2] | 0)) { + break label$722 + } + i64toi32_i32$5 = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $957(HEAP32[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 644 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 640 | 0) >> 2] = wasm2js_i32$1; + label$723 : { + if (!(HEAP32[($3_1 + 640 | 0) >> 2] | 0)) { + break label$723 + } + break label$11; + } + } + label$724 : { + if (!((HEAP32[($3_1 + 644 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$724 + } + i64toi32_i32$5 = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $955(HEAP32[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + } + break label$8; + } + HEAP32[($3_1 + 612 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 628 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$725 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$725 + } + HEAP32[($3_1 + 608 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 616 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0; + label$726 : while (1) { + $6309 = 0; + label$727 : { + if (!((HEAP32[($3_1 + 616 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$727 + } + $6309 = (HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 608 | 0) >> 2] | 0 | 0); + } + label$728 : { + if (!($6309 & 1 | 0)) { + break label$728 + } + HEAP32[($3_1 + 616 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$726; + } + break label$726; + }; + label$729 : { + if (!((HEAP32[($3_1 + 616 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$729 + } + break label$8; + } + } + label$730 : { + if (!((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$730 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 1; + $852(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, 8061 | 0, 0 | 0); + break label$2; + } + label$731 : { + label$732 : { + if (((HEAPU16[((HEAP32[($3_1 + 628 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0) { + break label$732 + } + HEAP32[($3_1 + 636 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + label$733 : { + if (HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$733 + } + HEAP32[($3_1 + 636 | 0) >> 2] = (HEAP32[($3_1 + 636 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($3_1 + 632 | 0) >> 2] = ((Math_imul(HEAP32[($3_1 + 636 | 0) >> 2] | 0, 40) + 80 | 0) + ((HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) | 0) + (((HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 7 | 0 | 0) / (8 | 0) | 0) | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 632 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $308(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 616 | 0) >> 2] = wasm2js_i32$1; + label$734 : { + if ((HEAP32[($3_1 + 616 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$734 + } + break label$3; + } + $227(HEAP32[($3_1 + 628 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($3_1 + 628 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1040; + HEAP32[((HEAP32[($3_1 + 628 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($3_1 + 616 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 628 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 632 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 628 | 0) >> 2] | 0) + 36 | 0) >> 2] = 5; + HEAP32[(HEAP32[($3_1 + 616 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($3_1 + 636 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 48 | 0) >> 2] = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 620 | 0) >> 2] = ((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 624 | 0) >> 2] = (HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 80 | 0; + label$735 : { + label$736 : while (1) { + if (!((HEAP32[($3_1 + 624 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 620 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$735 + } + HEAP16[((HEAP32[($3_1 + 624 | 0) >> 2] | 0) + 8 | 0) >> 1] = 128; + HEAP32[((HEAP32[($3_1 + 624 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($3_1 + 624 | 0) >> 2] = (HEAP32[($3_1 + 624 | 0) >> 2] | 0) + 40 | 0; + continue label$736; + }; + } + break label$731; + } + HEAP32[($3_1 + 616 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 628 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + $6455 = 0; + $6456 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($6456 + 204 | 0) >> 2] = (HEAP32[($6456 + 204 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 44 | 0) >> 2] | 0; + $23610 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 616 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $23610; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 1964 | 0) >> 2] | 0) >> 2] | 0) + 100 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 216 | 0) >> 2] = $6455; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 44 | 0) >> 2] = $6455; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] = HEAP32[($3_1 + 616 | 0) >> 2] | 0; + $6481 = (HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 80 | 0; + HEAP32[($3_1 + 1924 | 0) >> 2] = $6481; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 88 | 0) >> 2] = $6481; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 28 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) & 65535 | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0, 40) | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) | 0; + $3289(HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 0 | 0, ((HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 7 | 0 | 0) / (8 | 0) | 0 | 0) | 0; + $6516 = HEAP32[(HEAP32[($3_1 + 612 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 1960 | 0) >> 2] = $6516; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] = $6516; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 108 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + -20 | 0; + break label$9; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 604 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0; + HEAP32[($3_1 + 600 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 604 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[(((HEAP32[((HEAP32[($3_1 + 604 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 604 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0) | 0, 40) | 0; + $889(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 600 | 0) >> 2] | 0 | 0, 4096 | 0); + break label$8; + } + i64toi32_i32$1 = 0; + $8561$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 36 | 0) >> 2] | 0; + $8562$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $8563$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8562$hi; + i64toi32_i32$0 = $8563$hi; + i64toi32_i32$0 = $8562$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $8563$hi; + i64toi32_i32$3 = 524288; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $8565$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8561$hi; + i64toi32_i32$1 = $8565$hi; + i64toi32_i32$1 = $8561$hi; + i64toi32_i32$1 = $8565$hi; + i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + i64toi32_i32$5 = $8561$hi; + i64toi32_i32$3 = 0; + label$737 : { + label$738 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$738 + } + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $8567 = i64toi32_i32$1; + $8567$hi = i64toi32_i32$0; + $6555 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$3 = $6555; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 472 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 476 | 0) >> 2] | 0; + $23843$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8567$hi; + i64toi32_i32$1 = $23843$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $8567$hi; + i64toi32_i32$5 = $8567; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$3 = $6555; + HEAP32[(i64toi32_i32$3 + 472 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 476 | 0) >> 2] = i64toi32_i32$2; + break label$737; + } + label$739 : { + label$740 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$740 + } + i64toi32_i32$3 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; + $8570 = i64toi32_i32$3; + $8570$hi = i64toi32_i32$2; + $6561 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$1 = $6561; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 464 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 468 | 0) >> 2] | 0; + $23865$hi = i64toi32_i32$3; + i64toi32_i32$3 = $8570$hi; + i64toi32_i32$3 = $23865$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $8570$hi; + i64toi32_i32$5 = $8570; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $6561; + HEAP32[(i64toi32_i32$1 + 464 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 468 | 0) >> 2] = i64toi32_i32$4; + break label$739; + } + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $8573 = i64toi32_i32$1; + $8573$hi = i64toi32_i32$4; + $6565 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + i64toi32_i32$3 = $6565; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 68 | 0) >> 2] | 0; + $23881$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8573$hi; + i64toi32_i32$1 = $23881$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$4 = $8573$hi; + i64toi32_i32$5 = $8573; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$3 = $6565; + HEAP32[(i64toi32_i32$3 + 64 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$3 + 68 | 0) >> 2] = i64toi32_i32$0; + } + } + break label$8; + } + label$741 : { + label$742 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$742 + } + i64toi32_i32$0 = 0; + $8576$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 464 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 468 | 0) >> 2] | 0; + $8578$hi = i64toi32_i32$3; + i64toi32_i32$3 = $8576$hi; + i64toi32_i32$3 = $8578$hi; + i64toi32_i32$3 = $8576$hi; + i64toi32_i32$3 = $8578$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $8576$hi; + i64toi32_i32$5 = 0; + label$743 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$743 + } + i64toi32_i32$1 = 0; + $8580$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 472 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 476 | 0) >> 2] | 0; + $8582$hi = i64toi32_i32$3; + i64toi32_i32$3 = $8580$hi; + i64toi32_i32$3 = $8582$hi; + i64toi32_i32$3 = $8580$hi; + i64toi32_i32$3 = $8582$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $8580$hi; + i64toi32_i32$0 = 0; + if (!(((i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$743 + } + break label$11; + } + break label$741; + } + i64toi32_i32$5 = 0; + $8584$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] | 0; + $8586$hi = i64toi32_i32$3; + i64toi32_i32$3 = $8584$hi; + i64toi32_i32$3 = $8586$hi; + i64toi32_i32$3 = $8584$hi; + i64toi32_i32$3 = $8586$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $8584$hi; + i64toi32_i32$1 = 0; + label$744 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$744 + } + i64toi32_i32$0 = 0; + $8588$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 472 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 476 | 0) >> 2] | 0; + $8590$hi = i64toi32_i32$3; + i64toi32_i32$3 = $8588$hi; + i64toi32_i32$3 = $8590$hi; + i64toi32_i32$3 = $8588$hi; + i64toi32_i32$3 = $8590$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $8588$hi; + i64toi32_i32$5 = 0; + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$744 + } + break label$11; + } + } + break label$8; + } + label$745 : { + label$746 : { + if (!((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$746 + } + HEAP32[($3_1 + 596 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0; + label$747 : { + label$748 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 596 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$747 + } + HEAP32[($3_1 + 596 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 596 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$748; + }; + } + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 596 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + break label$745; + } + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + } + $894(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 1916 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + $894(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $8592 = i64toi32_i32$1; + $8592$hi = i64toi32_i32$3; + i64toi32_i32$5 = HEAP32[($3_1 + 1916 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $8593$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8592$hi; + i64toi32_i32$1 = $8593$hi; + i64toi32_i32$1 = $8592$hi; + i64toi32_i32$1 = $8593$hi; + $24051 = i64toi32_i32$3; + i64toi32_i32$1 = $8592$hi; + i64toi32_i32$5 = $8592; + i64toi32_i32$3 = $8593$hi; + i64toi32_i32$0 = $24051; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$3 | 0)) { + $653_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$0 >>> 0) { + $654_1 = 0 + } else { + $654_1 = 1 + } + $655_1 = $654_1; + } else { + $655_1 = 0 + } + $653_1 = $655_1; + } + label$749 : { + if (!($653_1 & 1 | 0)) { + break label$749 + } + i64toi32_i32$0 = HEAP32[($3_1 + 1916 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $24065 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $24065; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$1; + } + break label$8; + } + i64toi32_i32$1 = 0; + $8597$hi = i64toi32_i32$1; + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $8599$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8597$hi; + i64toi32_i32$5 = $8599$hi; + i64toi32_i32$5 = $8597$hi; + i64toi32_i32$5 = $8599$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $8597$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$1 | 0)) { + $656_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $657_1 = 0 + } else { + $657_1 = 1 + } + $658_1 = $657_1; + } else { + $658_1 = 0 + } + $656_1 = $658_1; + } + label$750 : { + if (!($656_1 & 1 | 0)) { + break label$750 + } + i64toi32_i32$5 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$5 >> 31 | 0; + $8601 = i64toi32_i32$5; + $8601$hi = i64toi32_i32$0; + $6645 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$3 = $6645; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $24105$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8601$hi; + i64toi32_i32$5 = $24105$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $8601$hi; + i64toi32_i32$1 = $8601; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$2 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$5 - i64toi32_i32$2 | 0; + i64toi32_i32$3 = $6645; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + break label$11; + } + break label$8; + } + i64toi32_i32$2 = 0; + $8604$hi = i64toi32_i32$2; + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$5 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $24152 = i64toi32_i32$2; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 584 | 0) >> 2] = $24152; + HEAP32[($3_1 + 588 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$5 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 584 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 588 | 0) >> 2] | 0; + $8607$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8604$hi; + i64toi32_i32$2 = $8607$hi; + i64toi32_i32$2 = $8604$hi; + i64toi32_i32$2 = $8607$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$3 = $8604$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$3 | 0)) { + $659_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$5 >>> 0 > i64toi32_i32$1 >>> 0) { + $660_1 = 0 + } else { + $660_1 = 1 + } + $661_1 = $660_1; + } else { + $661_1 = 0 + } + $659_1 = $661_1; + } + label$751 : { + label$752 : { + label$753 : { + if ($659_1 & 1 | 0) { + break label$753 + } + i64toi32_i32$5 = 0; + $8609$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $8611$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8609$hi; + i64toi32_i32$2 = $8611$hi; + i64toi32_i32$2 = $8609$hi; + i64toi32_i32$2 = $8611$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $8609$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $662_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $663_1 = 0 + } else { + $663_1 = 1 + } + $664_1 = $663_1; + } else { + $664_1 = 0 + } + $662_1 = $664_1; + } + label$754 : { + label$755 : { + if (!($662_1 & 1 | 0)) { + break label$755 + } + i64toi32_i32$3 = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $8614 = i64toi32_i32$1; + $8614$hi = i64toi32_i32$2; + break label$754; + } + i64toi32_i32$2 = 0; + $8614 = 0; + $8614$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $8614$hi; + if (!($891($3_1 + 584 | 0 | 0, $8614 | 0, i64toi32_i32$2 | 0) | 0)) { + break label$752 + } + } + i64toi32_i32$2 = -1; + i64toi32_i32$1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + break label$751; + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 584 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 588 | 0) >> 2] | 0; + $24203 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $24203; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + } + break label$8; + } + i64toi32_i32$1 = 0; + $8619$hi = i64toi32_i32$1; + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $8621$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8619$hi; + i64toi32_i32$2 = $8621$hi; + i64toi32_i32$2 = $8619$hi; + i64toi32_i32$2 = $8621$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $8619$hi; + i64toi32_i32$5 = 0; + label$756 : { + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$756 + } + i64toi32_i32$3 = 0; + $8623$hi = i64toi32_i32$3; + i64toi32_i32$5 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $8625$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8623$hi; + i64toi32_i32$2 = $8625$hi; + i64toi32_i32$2 = $8623$hi; + i64toi32_i32$2 = $8625$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$3 = $8623$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$3 | 0)) { + $665_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$5 >>> 0 <= i64toi32_i32$1 >>> 0) { + $666_1 = 0 + } else { + $666_1 = 1 + } + $667_1 = $666_1; + } else { + $667_1 = 0 + } + $665_1 = $667_1; + } + label$757 : { + if (!($665_1 & 1 | 0)) { + break label$757 + } + $6690 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$1 = $6690; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $8627$hi = i64toi32_i32$2; + i64toi32_i32$2 = -1; + $8628$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8627$hi; + i64toi32_i32$2 = $8628$hi; + i64toi32_i32$2 = $8627$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $8628$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $6690; + HEAP32[i64toi32_i32$1 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + } + break label$11; + } + break label$8; + } + i64toi32_i32$4 = -2147483648; + $8630$hi = i64toi32_i32$4; + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $8632$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8630$hi; + i64toi32_i32$1 = $8632$hi; + i64toi32_i32$1 = $8630$hi; + i64toi32_i32$1 = $8632$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $8630$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$4 | 0)) { + $668_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $669_1 = 0 + } else { + $669_1 = 1 + } + $670_1 = $669_1; + } else { + $670_1 = 0 + } + $668_1 = $670_1; + } + label$758 : { + if (!($668_1 & 1 | 0)) { + break label$758 + } + $6701 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$3 = $6701; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $8634$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $8635$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8634$hi; + i64toi32_i32$1 = $8635$hi; + i64toi32_i32$1 = $8634$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $8635$hi; + i64toi32_i32$4 = -1; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$3 = $6701; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$0 = 0; + $8637$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $8639$hi = i64toi32_i32$3; + i64toi32_i32$3 = $8637$hi; + i64toi32_i32$3 = $8639$hi; + i64toi32_i32$3 = $8637$hi; + i64toi32_i32$3 = $8639$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $8637$hi; + i64toi32_i32$4 = 0; + label$759 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$4 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$759 + } + break label$11; + } + break label$8; + } + HEAP32[($3_1 + 580 | 0) >> 2] = (HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $365(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, ((HEAP32[($3_1 + 580 | 0) >> 2] | 0) << 2 | 0) + 68 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 576 | 0) >> 2] = wasm2js_i32$1; + label$760 : { + if (!((HEAP32[($3_1 + 576 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$760 + } + break label$3; + } + $6727 = 0; + HEAP32[((HEAP32[($3_1 + 576 | 0) >> 2] | 0) + 8 | 0) >> 2] = $6727; + HEAP32[(HEAP32[($3_1 + 576 | 0) >> 2] | 0) >> 2] = ((HEAP32[($3_1 + 576 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($3_1 + 580 | 0) >> 2] | 0) << 2 | 0) | 0; + $943(HEAP32[(HEAP32[($3_1 + 576 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + HEAP32[((HEAP32[($3_1 + 576 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 576 | 0) >> 2] | 0) + 16 | 0) >> 2] = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 576 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 576 | 0) >> 2] | 0) + 24 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 576 | 0) >> 2] | 0) + 20 | 0) >> 2] = $6727; + HEAP8[((HEAP32[($3_1 + 576 | 0) >> 2] | 0) + 25 | 0) >> 0] = HEAP32[($3_1 + 580 | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 1 | 0) >> 0] = 240; + HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($3_1 + 576 | 0) >> 2] | 0; + HEAP8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] = 156; + } + HEAP32[($3_1 + 568 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 564 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$761 : { + if (!((HEAP32[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 564 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$761 + } + HEAP32[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($3_1 + 564 | 0) >> 2] | 0; + HEAP32[($3_1 + 572 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + label$762 : { + label$763 : while (1) { + if (!((HEAP32[($3_1 + 572 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$762 + } + HEAP32[(((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($3_1 + 572 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[($3_1 + 572 | 0) >> 2] | 0) | 0, 40) | 0; + HEAP32[($3_1 + 572 | 0) >> 2] = (HEAP32[($3_1 + 572 | 0) >> 2] | 0) + -1 | 0; + continue label$763; + }; + } + } + $6812 = HEAP32[($3_1 + 564 | 0) >> 2] | 0; + HEAP32[($6812 + 12 | 0) >> 2] = (HEAP32[($6812 + 12 | 0) >> 2] | 0) + 1 | 0; + label$764 : { + label$765 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$765 + } + FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 568 | 0) >> 2] | 0, (HEAPU8[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0, (HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 28 | 0); + break label$764; + } + FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 568 | 0) >> 2] | 0, (HEAPU8[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0, (HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 28 | 0); + } + label$766 : { + if (!(HEAP32[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { + break label$766 + } + label$767 : { + if (!((HEAP32[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$767 + } + $6850 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($3_1 + 568 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + $852($6850 | 0, 1976 | 0, $3_1 + 128 | 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + label$768 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$768 + } + HEAP32[($3_1 + 572 | 0) >> 2] = HEAP32[(((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + -20 | 0) + 4 | 0) >> 2] | 0; + label$769 : { + if (!(HEAP32[($3_1 + 572 | 0) >> 2] | 0)) { + break label$769 + } + i64toi32_i32$1 = 0; + $268((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 572 | 0) >> 2] | 0, 40) | 0 | 0, 1 | 0, i64toi32_i32$1 | 0); + } + HEAP8[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 24 | 0) >> 0] = 0; + } + $227(HEAP32[(HEAP32[($3_1 + 568 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[(HEAP32[($3_1 + 568 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + HEAP32[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 20 | 0) >> 2] = 0; + label$770 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$770 + } + break label$2; + } + } + break label$8; + } + HEAP32[($3_1 + 560 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + label$771 : { + label$772 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$772 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $959(HEAP32[($3_1 + 560 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 560 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + break label$771; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $874(HEAP32[($3_1 + 560 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + } + label$773 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$773 + } + $6918 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $66(HEAP32[($3_1 + 560 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + $852($6918 | 0, 1976 | 0, $3_1 + 144 | 0 | 0); + break label$2; + } + $328(HEAP32[($3_1 + 560 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + label$774 : { + if (!($887(HEAP32[($3_1 + 560 | 0) >> 2] | 0 | 0) | 0)) { + break label$774 + } + break label$13; + } + break label$8; + } + $6932 = $3_1 + 544 | 0; + $6933 = -1; + HEAP32[($3_1 + 544 | 0) >> 2] = 0; + HEAP32[($3_1 + 552 | 0) >> 2] = $6933; + HEAP32[($3_1 + 548 | 0) >> 2] = $6933; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $480(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $6932 + 4 | 0 | 0, $6932 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$775 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$775 + } + label$776 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$776 + } + break label$2; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 0; + HEAP32[($3_1 + 544 | 0) >> 2] = 1; + } + HEAP32[($3_1 + 556 | 0) >> 2] = 0; + HEAP32[($3_1 + 540 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$777 : { + label$778 : while (1) { + if (!((HEAP32[($3_1 + 556 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$777 + } + i64toi32_i32$3 = HEAP32[(($3_1 + 544 | 0) + ((HEAP32[($3_1 + 556 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $268(HEAP32[($3_1 + 540 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0); + HEAP32[($3_1 + 556 | 0) >> 2] = (HEAP32[($3_1 + 556 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 540 | 0) >> 2] = (HEAP32[($3_1 + 540 | 0) >> 2] | 0) + 40 | 0; + continue label$778; + }; + } + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 528 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 536 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $9(HEAP32[($3_1 + 536 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 532 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $132(HEAP32[($3_1 + 532 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 524 | 0) >> 2] = wasm2js_i32$1; + label$779 : { + if (!((HEAP32[($3_1 + 528 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$779 + } + HEAP32[($3_1 + 528 | 0) >> 2] = HEAP32[($3_1 + 524 | 0) >> 2] | 0; + } + label$780 : { + if ($960(HEAP32[($3_1 + 532 | 0) >> 2] | 0 | 0) | 0) { + break label$780 + } + HEAP32[($3_1 + 528 | 0) >> 2] = HEAP32[($3_1 + 524 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $532(HEAP32[($3_1 + 532 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 520 | 0) >> 2] = wasm2js_i32$1; + label$781 : { + if (!((HEAP32[($3_1 + 528 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$781 + } + label$782 : { + if (!($68(HEAP32[($3_1 + 520 | 0) >> 2] | 0 | 0) | 0)) { + break label$782 + } + if ($792(HEAP32[($3_1 + 532 | 0) >> 2] | 0 | 0) | 0) { + break label$781 + } + } + HEAP32[($3_1 + 528 | 0) >> 2] = HEAP32[($3_1 + 524 | 0) >> 2] | 0; + } + label$783 : { + if (!((HEAP32[($3_1 + 528 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 524 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$783 + } + label$784 : { + if ((HEAP32[($3_1 + 524 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0) { + break label$784 + } + if (!((HEAP32[($3_1 + 528 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$783 + } + } + label$785 : { + label$786 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$786 + } + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 176 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$785 + } + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 1; + $7071 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($3_1 + 160 | 0) >> 2] = (HEAP32[($3_1 + 528 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0 ? 8150 : 8155; + $852($7071 | 0, 8098 | 0, $3_1 + 160 | 0 | 0); + break label$2; + } + label$787 : { + label$788 : { + if (!((HEAP32[($3_1 + 524 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$788 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $961(HEAP32[($3_1 + 532 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$789 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$789 + } + $962(HEAP32[($3_1 + 532 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 528 | 0) >> 2] | 0 | 0) | 0; + } + break label$787; + } + label$790 : { + if (!((HEAP32[($3_1 + 524 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$790 + } + $962(HEAP32[($3_1 + 532 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + } + } + label$791 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$791 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $142(HEAP32[($3_1 + 536 | 0) >> 2] | 0 | 0, ((HEAP32[($3_1 + 528 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0 ? 2 : 1) | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + } + } + label$792 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$792 + } + HEAP32[($3_1 + 528 | 0) >> 2] = HEAP32[($3_1 + 524 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $962(HEAP32[($3_1 + 532 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 528 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 528 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 2562; + $7126 = $963(HEAP32[($3_1 + 528 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] = $7126; + $7130 = $68(HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 12 | 0) >> 2] = $7130; + HEAP8[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 10 | 0) >> 0] = 1; + $328(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + label$793 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$793 + } + break label$2; + } + break label$8; + } + $7140 = (HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0; + $7141 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + $7143 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$794 : { + label$795 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$795 + } + $7152 = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + break label$794; + } + $7152 = 0; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $964($7140 | 0, $7141 | 0, $7143 | 0, $7152 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$796 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$796 + } + break label$2; + } + break label$8; + } + HEAP32[($3_1 + 516 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $965(HEAP32[($3_1 + 516 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$797 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$797 + } + label$798 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) != (101 | 0) & 1 | 0)) { + break label$798 + } + break label$2; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 0; + break label$11; + } + break label$8; + } + label$799 : { + label$800 : { + if (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$800 + } + $395(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + break label$799; + } + $7183 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP16[($7183 + 150 | 0) >> 1] = (HEAPU16[($7183 + 150 | 0) >> 1] | 0) & -4 | 0 | (((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) + 1 | 0) & 3 | 0) | 0; + } + break label$8; + } + HEAP32[($3_1 + 512 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $966(HEAP32[((HEAP32[($3_1 + 512 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + break label$8; + } + HEAP32[($3_1 + 508 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $967(HEAP32[((HEAP32[($3_1 + 508 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + break label$8; + } + HEAP8[($3_1 + 507 | 0) >> 0] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$801 : { + label$802 : { + if ((HEAPU8[($3_1 + 507 | 0) >> 0] | 0) & 255 | 0) { + break label$802 + } + i64toi32_i32$1 = 0; + $8644$hi = i64toi32_i32$1; + i64toi32_i32$4 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$4 + 36 | 0) >> 2] | 0; + $8645$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $8646$hi = i64toi32_i32$3; + i64toi32_i32$3 = $8645$hi; + i64toi32_i32$3 = $8646$hi; + i64toi32_i32$3 = $8645$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $8646$hi; + i64toi32_i32$0 = 1024; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $8647$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8644$hi; + i64toi32_i32$1 = $8647$hi; + i64toi32_i32$1 = $8644$hi; + i64toi32_i32$1 = $8647$hi; + $25446 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + i64toi32_i32$1 = $8644$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = $8647$hi; + i64toi32_i32$0 = $25446; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$801 + } + } + HEAP32[($3_1 + 500 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $968(HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 500 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 507 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$803 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$803 + } + label$804 : { + if (!(((HEAP32[($3_1 + 1952 | 0) >> 2] | 0) & 255 | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$804 + } + HEAP32[($3_1 + 496 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $7248 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($3_1 + 176 | 0) >> 2] = HEAP32[($3_1 + 496 | 0) >> 2] | 0; + $852($7248 | 0, 8162 | 0, $3_1 + 176 | 0 | 0); + } + break label$2; + } + } + break label$8; + } + HEAP32[($3_1 + 492 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $969(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 492 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$805 : { + if (!((HEAP32[($3_1 + 492 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$805 + } + $870(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 492 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + } + label$806 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$806 + } + break label$2; + } + break label$8; + } + $7272 = $3_1 + 448 | 0; + i64toi32_i32$3 = 0; + $8650 = 0; + i64toi32_i32$1 = $7272; + HEAP32[i64toi32_i32$1 >> 2] = $8650; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $8650; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $7272 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $8650; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $7272 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $8650; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $7272 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $8650; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($3_1 + 480 | 0) >> 2] = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $281($7272 | 0, (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $66($7272 | 0) | 0), HEAP32[(wasm2js_i32$0 + 444 | 0) >> 2] = wasm2js_i32$1; + label$807 : { + if (!((HEAP32[($3_1 + 444 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$807 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $970(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 444 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + } + $227($3_1 + 448 | 0 | 0); + label$808 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$808 + } + break label$2; + } + break label$8; + } + $7308 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($7308 + 188 | 0) >> 2] = (HEAP32[($7308 + 188 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $971(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + $7318 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($7318 + 188 | 0) >> 2] = (HEAP32[($7318 + 188 | 0) >> 2] | 0) + -1 | 0; + label$809 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$809 + } + break label$2; + } + break label$8; + } + $7323 = 0; + HEAP32[($3_1 + 440 | 0) >> 2] = $7323; + HEAP32[($3_1 + 436 | 0) >> 2] = $7323; + HEAP32[($3_1 + 432 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$810 : { + label$811 : { + if ((HEAP32[($3_1 + 432 | 0) >> 2] | 0 | 0) == ($7323 | 0) & 1 | 0) { + break label$811 + } + if (!((HEAP32[(HEAP32[($3_1 + 432 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$810 + } + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 6; + break label$2; + } + HEAP32[($3_1 + 428 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 432 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 428 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 432 | 0) >> 2] | 0, $3_1 + 436 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + $870(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 432 | 0) >> 2] | 0 | 0); + label$812 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$812 + } + break label$2; + } + $7354 = 0; + HEAP32[(HEAP32[($3_1 + 436 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 432 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $914(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $7354 | 0, -1 | 0, 2 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 440 | 0) >> 2] = wasm2js_i32$1; + label$813 : { + label$814 : { + if (!((HEAP32[($3_1 + 440 | 0) >> 2] | 0 | 0) != ($7354 | 0) & 1 | 0)) { + break label$814 + } + HEAP32[((HEAP32[($3_1 + 440 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($3_1 + 436 | 0) >> 2] | 0; + $7373 = HEAP32[($3_1 + 432 | 0) >> 2] | 0; + HEAP32[($7373 + 4 | 0) >> 2] = (HEAP32[($7373 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$813; + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 428 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 436 | 0) >> 2] | 0) | 0; + break label$3; + } + break label$8; + } + $7380 = 0; + HEAP32[($3_1 + 412 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 408 | 0) >> 2] = (HEAP32[($3_1 + 412 | 0) >> 2] | 0) + 40 | 0; + HEAP32[($3_1 + 396 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 404 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 396 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($3_1 + 400 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 404 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 416 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 400 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 408 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 424 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($3_1 + 412 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 420 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 392 | 0) >> 2] = $7380; + HEAP32[($3_1 + 384 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0; + HEAP32[($3_1 + 388 | 0) >> 2] = $7380; + label$815 : { + label$816 : while (1) { + if (!((HEAP32[($3_1 + 388 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 424 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$815 + } + HEAP32[((HEAP32[($3_1 + 384 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 388 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($3_1 + 408 | 0) >> 2] | 0) + Math_imul((HEAP32[($3_1 + 388 | 0) >> 2] | 0) + 1 | 0, 40) | 0; + HEAP32[($3_1 + 388 | 0) >> 2] = (HEAP32[($3_1 + 388 | 0) >> 2] | 0) + 1 | 0; + continue label$816; + }; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 416 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 404 | 0) >> 2] | 0, HEAP32[($3_1 + 420 | 0) >> 2] | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, HEAP32[($3_1 + 424 | 0) >> 2] | 0, HEAP32[($3_1 + 384 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + $870(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 400 | 0) >> 2] | 0 | 0); + label$817 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$817 + } + break label$2; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 416 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 404 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 392 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($3_1 + 396 | 0) >> 2] | 0) + 2 | 0) >> 0] = 0; + label$818 : { + if (!(HEAP32[($3_1 + 392 | 0) >> 2] | 0)) { + break label$818 + } + break label$11; + } + break label$8; + } + HEAP32[($3_1 + 332 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 372 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$819 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 332 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$819 + } + $262(HEAP32[($3_1 + 372 | 0) >> 2] | 0 | 0); + break label$8; + } + $7478 = $3_1 + 336 | 0; + HEAP32[($3_1 + 380 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($3_1 + 332 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 376 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 380 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$3 = 0; + $8653 = 0; + i64toi32_i32$1 = $7478; + HEAP32[i64toi32_i32$1 >> 2] = $8653; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $8653; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $7478 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $8653; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $7478 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $8653; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($3_1 + 336 | 0) >> 2] = HEAP32[($3_1 + 372 | 0) >> 2] | 0; + label$820 : { + label$821 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$821 + } + $262(HEAP32[($3_1 + 372 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($3_1 + 372 | 0) >> 2] | 0) + 8 | 0) >> 1] = 16385; + HEAP32[(HEAP32[($3_1 + 372 | 0) >> 2] | 0) >> 2] = 0; + break label$820; + } + HEAP16[((HEAP32[($3_1 + 372 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 372 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 1 | 0; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 376 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 332 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0, $3_1 + 336 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + $870(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 380 | 0) >> 2] | 0 | 0); + label$822 : { + if (!((HEAP32[($3_1 + 356 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$822 + } + $7530 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $66(HEAP32[($3_1 + 372 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_i32$1; + $852($7530 | 0, 1976 | 0, $3_1 + 192 | 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = HEAP32[($3_1 + 356 | 0) >> 2] | 0; + } + $328(HEAP32[($3_1 + 372 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + label$823 : { + if (!($887(HEAP32[($3_1 + 372 | 0) >> 2] | 0 | 0) | 0)) { + break label$823 + } + break label$13; + } + label$824 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$824 + } + break label$2; + } + break label$8; + } + HEAP32[($3_1 + 320 | 0) >> 2] = 0; + HEAP32[($3_1 + 316 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$825 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 316 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$825 + } + break label$8; + } + HEAP32[($3_1 + 328 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($3_1 + 316 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 324 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 328 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 324 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 316 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + $870(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 328 | 0) >> 2] | 0 | 0); + label$826 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$826 + } + break label$2; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 324 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 316 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 320 | 0) >> 2] = wasm2js_i32$1; + label$827 : { + if (HEAP32[($3_1 + 320 | 0) >> 2] | 0) { + break label$827 + } + break label$10; + } + break label$9; + } + i64toi32_i32$0 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $8654$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $8655$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8654$hi; + i64toi32_i32$1 = $8655$hi; + i64toi32_i32$1 = $8654$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $8655$hi; + i64toi32_i32$4 = 67108864; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + HEAP32[($3_1 + 304 | 0) >> 2] = i64toi32_i32$0 & i64toi32_i32$4 | 0; + $7585 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$1 = $7585; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $8657$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $8658$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8657$hi; + i64toi32_i32$0 = $8658$hi; + i64toi32_i32$0 = $8657$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $8658$hi; + i64toi32_i32$4 = 67108864; + i64toi32_i32$3 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $26328 = i64toi32_i32$1 | i64toi32_i32$4 | 0; + i64toi32_i32$1 = $7585; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $26328; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($3_1 + 312 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 308 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $328(HEAP32[($3_1 + 308 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$828 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$828 + } + break label$2; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($3_1 + 312 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 312 | 0) >> 2] | 0, HEAP32[((HEAP32[($3_1 + 308 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$829 : { + if (HEAP32[($3_1 + 304 | 0) >> 2] | 0) { + break label$829 + } + $7606 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$0 = $7606; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $8660$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $8661$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8660$hi; + i64toi32_i32$1 = $8661$hi; + i64toi32_i32$1 = $8660$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $8661$hi; + i64toi32_i32$4 = -67108865; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $26391 = i64toi32_i32$0 & i64toi32_i32$4 | 0; + i64toi32_i32$0 = $7606; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $26391; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$3; + } + $870(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 312 | 0) >> 2] | 0 | 0); + $7609 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP16[($7609 + 150 | 0) >> 1] = (HEAPU16[($7609 + 150 | 0) >> 1] | 0) & -4 | 0; + label$830 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$830 + } + break label$2; + } + break label$8; + } + label$831 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$831 + } + break label$3; + } + HEAP32[($3_1 + 300 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$832 : { + label$833 : { + if ((HEAP32[($3_1 + 300 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$833 + } + if (!((HEAP32[(HEAP32[($3_1 + 300 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$832 + } + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 6; + break label$2; + } + HEAP32[($3_1 + 296 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 300 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 292 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$834 : { + if (!((HEAP32[((HEAP32[($3_1 + 296 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$834 + } + HEAP8[($3_1 + 271 | 0) >> 0] = HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 86 | 0) >> 0] | 0; + HEAP32[($3_1 + 276 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0; + HEAP32[($3_1 + 272 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 288 | 0) >> 2] = 0; + label$835 : { + label$836 : while (1) { + if (!((HEAP32[($3_1 + 288 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 292 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$835 + } + HEAP32[((HEAP32[($3_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 288 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($3_1 + 272 | 0) >> 2] | 0; + HEAP32[($3_1 + 272 | 0) >> 2] = (HEAP32[($3_1 + 272 | 0) >> 2] | 0) + 40 | 0; + HEAP32[($3_1 + 288 | 0) >> 2] = (HEAP32[($3_1 + 288 | 0) >> 2] | 0) + 1 | 0; + continue label$836; + }; + } + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 86 | 0) >> 0] = HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 296 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 300 | 0) >> 2] | 0, HEAP32[($3_1 + 292 | 0) >> 2] | 0, HEAP32[($3_1 + 276 | 0) >> 2] | 0, $3_1 + 280 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 86 | 0) >> 0] = HEAPU8[($3_1 + 271 | 0) >> 0] | 0; + $870(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 300 | 0) >> 2] | 0 | 0); + label$837 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$837 + } + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$837 + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 280 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 284 | 0) >> 2] | 0; + $26616 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] = $26616; + HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] = i64toi32_i32$0; + } + label$838 : { + label$839 : { + if (!(((HEAP32[($3_1 + 1952 | 0) >> 2] | 0) & 255 | 0 | 0) == (19 | 0) & 1 | 0)) { + break label$839 + } + if (!((HEAPU8[((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0)) { + break label$839 + } + label$840 : { + label$841 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$841 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 0; + break label$840; + } + label$842 : { + label$843 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$843 + } + $7741 = 2; + break label$842; + } + $7741 = (HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + } + HEAP8[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 146 | 0) >> 0] = $7741; + } + break label$838; + } + $7748 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($7748 + 44 | 0) >> 2] = (HEAP32[($7748 + 44 | 0) >> 2] | 0) + 1 | 0; + } + label$844 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$844 + } + break label$2; + } + } + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + $8664 = $133(HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $8664; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 260 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 264 | 0) >> 2] = 0; + label$845 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$845 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $133(HEAP32[($3_1 + 260 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 264 | 0) >> 2] = wasm2js_i32$1; + label$846 : { + if (!((HEAP32[($3_1 + 264 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$846 + } + HEAP32[($3_1 + 264 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + } + i64toi32_i32$0 = 0; + $8665 = $972(HEAP32[($3_1 + 260 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 264 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $8665; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$8; + } + HEAP32[($3_1 + 252 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$847 : { + if (!((HEAP32[(HEAP32[($3_1 + 252 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$847 + } + HEAP32[((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[(HEAP32[($3_1 + 252 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[($3_1 + 256 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + label$848 : { + label$849 : while (1) { + if (!((HEAP32[($3_1 + 256 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$848 + } + HEAP32[(((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($3_1 + 256 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[($3_1 + 256 | 0) >> 2] | 0) | 0, 40) | 0; + HEAP32[($3_1 + 256 | 0) >> 2] = (HEAP32[($3_1 + 256 | 0) >> 2] | 0) + -1 | 0; + continue label$849; + }; + } + } + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 1 | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 252 | 0) >> 2] | 0, (HEAPU8[((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0, (HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 28 | 0); + label$850 : { + if (!(HEAP32[((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { + break label$850 + } + label$851 : { + if (!((HEAP32[((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$851 + } + $7879 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $66(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 208 | 0) >> 2] = wasm2js_i32$1; + $852($7879 | 0, 1976 | 0, $3_1 + 208 | 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + $851(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 216 | 0 | 0, HEAP32[((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 20 | 0) >> 2] = 0; + label$852 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$852 + } + break label$2; + } + } + label$853 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0)) { + break label$853 + } + $328(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + label$854 : { + if (!($887(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) | 0)) { + break label$854 + } + break label$13; + } + } + break label$8; + } + label$855 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 88 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$855 + } + if (((HEAPU8[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 149 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$855 + } + label$856 : { + label$857 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$857 + } + $7936 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$856; + } + $7936 = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0; + } + $7939 = $7936; + HEAP32[($3_1 + 244 | 0) >> 2] = $7939; + if (!(($7939 | 0) != (0 | 0) & 1 | 0)) { + break label$855 + } + label$858 : { + label$859 : { + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 184 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$859 + } + $7954 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($3_1 + 224 | 0) >> 2] = HEAP32[($3_1 + 244 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $351($7954 | 0, 8191 | 0, $3_1 + 224 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0 | 0](1, HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0, HEAP32[($3_1 + 1964 | 0) >> 2] | 0, HEAP32[($3_1 + 240 | 0) >> 2] | 0) | 0; + $13(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 240 | 0) >> 2] | 0 | 0); + break label$858; + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0 | 0](1, HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0, HEAP32[($3_1 + 1964 | 0) >> 2] | 0, HEAP32[($3_1 + 244 | 0) >> 2] | 0) | 0; + } + } + label$860 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) >= (HEAP32[(0 + 68620 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$860 + } + label$861 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (171 | 0) & 1 | 0)) { + break label$861 + } + break label$8; + } + HEAP32[($3_1 + 248 | 0) >> 2] = 1; + label$862 : { + label$863 : while (1) { + if (!((HEAP32[($3_1 + 248 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$862 + } + label$864 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 248 | 0) >> 2] | 0, 20) | 0) >> 0] | 0) & 255 | 0 | 0) == (17 | 0) & 1 | 0)) { + break label$864 + } + HEAP32[(((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 248 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] = 0; + } + HEAP32[($3_1 + 248 | 0) >> 2] = (HEAP32[($3_1 + 248 | 0) >> 2] | 0) + 1 | 0; + continue label$863; + }; + } + HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + } + $8031 = HEAP32[($3_1 + 1956 | 0) >> 2] | 0; + HEAP32[($8031 + 4 | 0) >> 2] = (HEAP32[($8031 + 4 | 0) >> 2] | 0) + 1 | 0; + $8035 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($8035 + 184 | 0) >> 2] = (HEAP32[($8035 + 184 | 0) >> 2] | 0) + 1 | 0; + break label$11; + } + break label$8; + } + break label$2; + } + $852(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, 1760 | 0, 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = 18; + break label$2; + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 20 | 0; + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + break label$8; + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + } + HEAP32[($3_1 + 1900 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0; + label$865 : { + if (!(HEAP32[($3_1 + 1900 | 0) >> 2] | 0)) { + break label$865 + } + break label$5; + } + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 20 | 0; + continue label$7; + }; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 9; + break label$2; + } + $118(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0); + $852(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, 8229 | 0, 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = 7; + } + label$866 : { + label$867 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$867 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 7; + break label$866; + } + label$868 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) == (8458 | 0) & 1 | 0)) { + break label$868 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(93753 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + } + } + label$869 : { + if (!((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$869 + } + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) != (3082 | 0) & 1 | 0)) { + break label$869 + } + $8109 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $285(HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $852($8109 | 0, 1976 | 0, $3_1 + 16 | 0 | 0); + } + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($3_1 + 1952 | 0) >> 2] | 0; + $116(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0); + $8119 = HEAP32[($3_1 + 1952 | 0) >> 2] | 0; + $8124 = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + $8126 = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $8126; + HEAP32[$3_1 >> 2] = $8124; + $82($8119 | 0, 8197 | 0, $3_1 | 0); + $224(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0) | 0; + label$870 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) == (3082 | 0) & 1 | 0)) { + break label$870 + } + $118(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 1; + label$871 : { + if (!(((HEAPU8[($3_1 + 1947 | 0) >> 0] | 0) & 255 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$871 + } + $407(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, ((HEAPU8[($3_1 + 1947 | 0) >> 0] | 0) & 255 | 0) - 1 | 0 | 0); + } + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1928 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1932 | 0) >> 2] | 0; + $8156 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($8156 + 176 | 0) >> 2] = (HEAP32[($8156 + 176 | 0) >> 2] | 0) + i64toi32_i32$0 | 0; + $8159 = HEAP32[($3_1 + 1952 | 0) >> 2] | 0; + global$0 = $3_1 + 1968 | 0; + return $8159 | 0; + } + + function $294($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $127(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $973($9(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 236 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 236 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0, HEAP32[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $64_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $64_1 | 0; + } + + function $295($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0; + break label$1; + } + $14_1 = 0; + } + return $14_1 | 0; + } + + function $296($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0; + } + + function $297($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 148 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $298($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $10_1 = 0, $40_1 = 0, $49_1 = 0, $53_1 = 0, $69_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 48 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 8 | 0) >> 2] = $10_1; + HEAP32[(HEAP32[($9_1 + 20 | 0) >> 2] | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + label$3 : { + if (!($401(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + if (!((HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $3(129574 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $8(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0); + label$4 : while (1) { + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $406(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $40_1 = 1; + label$5 : { + if ((HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) == (513 | 0) & 1 | 0) { + break label$5 + } + $49_1 = 0; + label$6 : { + if (!((HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) == (17 | 0) & 1 | 0)) { + break label$6 + } + $407(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, -1 | 0); + $53_1 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + HEAP32[($9_1 + 8 | 0) >> 2] = $53_1 + 1 | 0; + $49_1 = ($53_1 | 0) == (0 | 0); + } + $40_1 = $49_1; + } + if ($40_1 & 1 | 0) { + continue label$4 + } + break label$4; + }; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $217(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($9_1 + 40 | 0) >> 2] | 0) + 408 | 0) >> 2] = 0; + HEAP32[($9_1 + 44 | 0) >> 2] = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + } + $69_1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + global$0 = $9_1 + 48 | 0; + return $69_1 | 0; + } + + function $299($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $44_1 = 0, $7_1 = 0, $47_1 = 0, $48_1 = 0, $52_1 = 0, $55_1 = 0, $58_1 = 0, $189_1 = 0, $209_1 = 0, $219_1 = 0; + $4_1 = global$0 - 240 | 0; + global$0 = $4_1; + $7_1 = $4_1 + 8 | 0; + HEAP32[($4_1 + 236 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 232 | 0) >> 2] = $1_1; + $3288($7_1 | 0, HEAP32[($4_1 + 236 | 0) >> 2] | 0 | 0, 224 | 0) | 0; + $3288(HEAP32[($4_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 232 | 0) >> 2] | 0 | 0, 224 | 0) | 0; + $3288(HEAP32[($4_1 + 232 | 0) >> 2] | 0 | 0, $7_1 | 0, 224 | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 236 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 236 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 236 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 236 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 236 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 236 | 0) >> 2] | 0) + 188 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 188 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 208 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 236 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 148 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 236 | 0) >> 2] | 0) + 148 | 0) >> 0] | 0; + $44_1 = (HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 160 | 0; + $47_1 = (HEAP32[($4_1 + 236 | 0) >> 2] | 0) + 160 | 0; + i64toi32_i32$2 = $47_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $189_1 = i64toi32_i32$0; + i64toi32_i32$0 = $44_1; + HEAP32[i64toi32_i32$0 >> 2] = $189_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $48_1 = 24; + HEAP32[(i64toi32_i32$0 + $48_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $48_1 | 0) >> 2] | 0; + $52_1 = 16; + i64toi32_i32$2 = i64toi32_i32$2 + $52_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $209_1 = i64toi32_i32$1; + i64toi32_i32$1 = $44_1 + $52_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $209_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $55_1 = 8; + i64toi32_i32$2 = $47_1 + $55_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $219_1 = i64toi32_i32$0; + i64toi32_i32$0 = $44_1 + $55_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $219_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $58_1 = HEAP32[($4_1 + 232 | 0) >> 2] | 0; + HEAP32[($58_1 + 180 | 0) >> 2] = (HEAP32[($58_1 + 180 | 0) >> 2] | 0) + 1 | 0; + global$0 = $4_1 + 240 | 0; + return; + } + + function $300($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + $11_1 = 16; + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $11_1 | 0) >> $11_1 | 0 | 0) & 1 | 0)) { + break label$1 + } + $888((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 40) | 0 | 0, (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 40) | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $4_1 + 32 | 0; + return 0 | 0; + } + + function $301($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + return; + } + + function $302($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function $303($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0; + } + + function $304($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 8192 | 0) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $305(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + $18_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $18_1 | 0; + } + + function $305($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $37_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$2 + } + $262(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$1; + } + $265(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] = 8192; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $3289(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + } + $37_1 = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $37_1 | 0; + } + + function $306($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if ((HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $307($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if ((HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + } + break label$1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$2; + }; + } + label$5 : { + label$6 : { + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, 20 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if ((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + break label$6; + } + HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 216 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + label$10 : { + if (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = -1; + } + break label$7; + } + label$11 : { + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); + } + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + break label$5; + } + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + FUNCTION_TABLE[HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 20 | 0) >> 2] | 0); + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $308($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $64(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $3289(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + } + $17_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $17_1 | 0; + } + + function $309($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = (HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 144 | 0) >> 1] | 0) & 65535 | 0; + break label$1; + } + $16_1 = 0; + } + return $16_1 | 0; + } + + function $310($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 144 | 0) >> 1] | 0) & 65535 | 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $311($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $229($312(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $313(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $10_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $312($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $50_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $314() | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 144 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 40) | 0; + break label$3; + } + $115(HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, 25 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $314() | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + $50_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $50_1 | 0; + } + + function $313($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = $217(HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = $16_1; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $314() { + return 10464 | 0; + } + + function $315($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $233($312(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $313(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $10_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $316($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_f64$0 = +$65($312(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0)), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + $313(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $12_1 = +HEAPF64[$4_1 >> 3]; + global$0 = $4_1 + 16 | 0; + return +$12_1; + } + + function $317($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $239($312(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $313(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $10_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $318($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $32_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $62($312(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $32_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[$4_1 >> 2] = $32_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$1; + $313(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $319($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $66($312(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $313(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $10_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $320($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0, $20_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $312(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2048 | 0)) { + break label$1 + } + $14_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP16[($14_1 + 8 | 0) >> 1] = ((HEAPU16[($14_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -2049 | 0; + $20_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP16[($20_1 + 8 | 0) >> 1] = (HEAPU16[($20_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 4096 | 0; + } + $313(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $27_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $27_1 | 0; + } + + function $321($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $248($312(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $313(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $10_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $322($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $323(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $5_1 | 0, $5_1 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $323($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $59_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $309(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0; + label$2 : { + label$3 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $246((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 40) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 40) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[$6_1 >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + $324(HEAP32[$6_1 >> 2] | 0 | 0); + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + } + } + $59_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $59_1 | 0; + } + + function $324($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0, $22_1 = 0, $13_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$1 + } + if (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 184 | 0) >> 2] | 0) { + break label$1 + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 81 | 0) >> 0] = 0; + $13_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + HEAP32[($13_1 + 264 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $15_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($15_1 + 272 | 0) >> 2] = (HEAP32[($15_1 + 272 | 0) >> 2] | 0) + -1 | 0; + label$2 : { + label$3 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 272 | 0) >> 2] | 0)) { + break label$3 + } + $22_1 = 0; + break label$2; + } + $22_1 = (HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 278 | 0) >> 1] | 0) & 65535 | 0; + } + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 276 | 0) >> 1] = $22_1; + } + return; + } + + function $325($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $16_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + $16_1 = $326(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0) | 0; + global$0 = $7_1 + 32 | 0; + return $16_1 | 0; + } + + function $326($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $4_1; + HEAP8[($8_1 + 27 | 0) >> 0] = $5_1; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $327(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul((HEAP32[($8_1 + 40 | 0) >> 2] | 0) - 1 | 0, 40) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $256(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAPU8[($8_1 + 27 | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $328(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (!(HEAP32[($8_1 + 12 | 0) >> 2] | 0)) { + break label$5 + } + $115(HEAP32[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $217(HEAP32[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + break label$1; + } + label$6 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$6 + } + FUNCTION_TABLE[HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 36 | 0) >> 2] | 0); + } + } + $72_1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $72_1 | 0; + } + + function $327($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $44_1 = 0, $52_1 = 0, $82_1 = 0, $88_1 = 0, $74_1 = 0, $95_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!($288(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3(84570 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + if ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (770837923 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + } + $115(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, 21 | 0); + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0; + $82(21 | 0, 10504 | 0, $4_1 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3(84578 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$5 : { + label$6 : { + if ((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0) { + break label$6 + } + $44_1 = 16; + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) > (((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $44_1 | 0) >> $44_1 | 0 | 0) & 1 | 0)) { + break label$5 + } + } + $52_1 = 25; + $115(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, $52_1 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = $52_1; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 40) | 0; + $227(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + HEAP32[((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 64 | 0) >> 2] = 0; + label$7 : { + if (!(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0)) { + break label$7 + } + $74_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) >= (31 | 0) & 1 | 0)) { + break label$9 + } + $82_1 = -2147483648; + break label$8; + } + $82_1 = 1 << (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + } + if (!($74_1 & $82_1 | 0)) { + break label$7 + } + $88_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP16[($88_1 + 150 | 0) >> 1] = (HEAPU16[($88_1 + 150 | 0) >> 1] | 0) & -4 | 0 | 1 | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $95_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $95_1 | 0; + } + + function $328($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $878(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 4 | 0) >> 2] | 0) & 255 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + $28_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $28_1 | 0; + } + + function $329($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = +$2_1; + var $5_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAPF64[($5_1 + 16 | 0) >> 3] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $327(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + $261((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0, 40) | 0 | 0, +(+HEAPF64[($5_1 + 16 | 0) >> 3])); + } + $19_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $19_1 | 0; + } + + function $330($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $10_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $10_1 = $331(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $10_1 | 0; + } + + function $331($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $327(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $268((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0, 40) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + } + $19_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $19_1 | 0; + } + + function $332($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $327(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + } + $10_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $333($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $16_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + $16_1 = $326(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0) | 0; + global$0 = $7_1 + 32 | 0; + return $16_1 | 0; + } + + function $334($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $53_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $9_1 = ($248(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($9_1 | 0) { + case 0: + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $331(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[i64toi32_i32$2 >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$1; + case 1: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $329(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, +(+HEAPF64[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 3])) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$1; + case 3: + label$7 : { + label$8 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $335(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$7; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $325(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + break label$1; + case 2: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $326(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, -1 | 0, (HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$1; + default: + break label$2; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $332(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + $53_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $53_1 | 0; + } + + function $335($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $327(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + $282((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0, 40) | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + $20_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $20_1 | 0; + } + + function $336($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0, $17_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = 16; + $17_1 = ((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $14_1 | 0) >> $14_1 | 0; + break label$1; + } + $17_1 = 0; + } + return $17_1 | 0; + } + + function $337($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 2; + label$3 : while (1) { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$3 + } + break label$3; + }; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $338($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $9_1 = $339(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $68(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $339($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $340(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $26_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $26_1 | 0; + } + + function $340($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $32_1 = 0, $59_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 2; + label$3 : while (1) { + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0; + label$4 : { + if ($3234(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + $32_1 = 24; + if (((HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$3 + } + break label$3; + }; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $59_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $59_1 | 0; + } + + function $341($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $188_1 = 0, $245$hi = 0, i64toi32_i32$6 = 0, $9_1 = 0, $24_1 = 0, $38_1 = 0, $49_1 = 0, $60_1 = 0, $84_1 = 0, $108_1 = 0, $124_1 = 0, $168_1 = 0, $195_1 = 0, $199_1 = 0, $240$hi = 0, $241$hi = 0, $242$hi = 0, $243$hi = 0, $246$hi = 0, $247$hi = 0, $249$hi = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $251$hi = 0, $252$hi = 0, $42_1 = 0, $242_1 = 0, $669_1 = 0, $246_1 = 0, $702_1 = 0, $723_1 = 0, $236_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + $9_1 = 24; + label$1 : { + label$2 : { + label$3 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + break label$2; + } + $24_1 = 24; + label$4 : { + label$5 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0 | 0) == (43 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + break label$4; + } + $38_1 = 24; + label$6 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $38_1 | 0) >> $38_1 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$6 + } + $49_1 = 24; + label$7 : { + if ((((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $49_1 | 0) >> $49_1 | 0 | 0) == (120 | 0) & 1 | 0) { + break label$7 + } + $60_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $60_1 | 0) >> $60_1 | 0 | 0) == (88 | 0) & 1 | 0)) { + break label$6 + } + } + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$6 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 2 | 0; + label$8 : { + label$9 : while (1) { + $84_1 = 24; + if (!((((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $84_1 | 0) >> $84_1 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$10 : while (1) { + $108_1 = 0; + label$11 : { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$11 + } + $108_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (8 | 0); + } + label$12 : { + if (!($108_1 & 1 | 0)) { + break label$12 + } + $124_1 = 24; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) + (($529(((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $124_1 | 0) >> $124_1 | 0 | 0) | 0) & 255 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + } + break label$10; + }; + label$13 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) & -2147483648 | 0) { + break label$13 + } + if (((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0) { + break label$13 + } + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + } + } + label$14 : { + if (((HEAPU8[(((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$14 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$15 : { + label$16 : while (1) { + $168_1 = 24; + if (!((((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $168_1 | 0) >> $168_1 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$17 : while (1) { + $188_1 = 0; + label$18 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (11 | 0) & 1 | 0)) { + break label$18 + } + $195_1 = 24; + $199_1 = (((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $195_1 | 0) >> $195_1 | 0) - 48 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $199_1; + $188_1 = 0; + if (!(($199_1 | 0) >= (0 | 0) & 1 | 0)) { + break label$18 + } + $188_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) <= (9 | 0); + } + label$19 : { + if (!($188_1 & 1 | 0)) { + break label$19 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $240$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $241$hi = i64toi32_i32$1; + i64toi32_i32$1 = $240$hi; + i64toi32_i32$1 = $241$hi; + i64toi32_i32$1 = $240$hi; + $42_1 = i64toi32_i32$0; + i64toi32_i32$0 = $241$hi; + i64toi32_i32$0 = __wasm_i64_mul($42_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $242_1 = i64toi32_i32$0; + $242$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $243$hi = i64toi32_i32$1; + i64toi32_i32$1 = $242$hi; + i64toi32_i32$1 = $243$hi; + $669_1 = i64toi32_i32$0; + i64toi32_i32$1 = $242$hi; + i64toi32_i32$2 = $242_1; + i64toi32_i32$0 = $243$hi; + i64toi32_i32$3 = $669_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + } + break label$17; + }; + label$20 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) > (10 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$5 = 0; + $245$hi = i64toi32_i32$5; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $246_1 = i64toi32_i32$5; + $246$hi = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $247$hi = i64toi32_i32$2; + i64toi32_i32$2 = $246$hi; + i64toi32_i32$2 = $247$hi; + $702_1 = i64toi32_i32$5; + i64toi32_i32$2 = $246$hi; + i64toi32_i32$1 = $246_1; + i64toi32_i32$5 = $247$hi; + i64toi32_i32$3 = $702_1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $249$hi = i64toi32_i32$4; + i64toi32_i32$4 = $245$hi; + i64toi32_i32$4 = $249$hi; + i64toi32_i32$4 = $245$hi; + i64toi32_i32$4 = $249$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = $245$hi; + i64toi32_i32$3 = 2147483647; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$1 | 0)) { + $39_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $40_1 = 0 + } else { + $40_1 = 1 + } + $41_1 = $40_1; + } else { + $41_1 = 0 + } + $39_1 = $41_1; + } + label$21 : { + if (!($39_1 & 1 | 0)) { + break label$21 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$22 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$22 + } + i64toi32_i32$2 = 0; + $251$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $252$hi = i64toi32_i32$4; + i64toi32_i32$4 = $251$hi; + i64toi32_i32$4 = $252$hi; + $723_1 = i64toi32_i32$2; + i64toi32_i32$4 = $251$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = $252$hi; + i64toi32_i32$1 = $723_1; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0; + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$4 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + } + $236_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $236_1 | 0; + } + + function $342($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $248(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $343(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $248(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $18_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $18_1 | 0; + } + + function $343($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $35_1 = 0, $42_1 = 0, $50_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP8[($4_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $344(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + if (!($345(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[($4_1 + 16 | 0) >> 3]), HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + $35_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($35_1 + 8 | 0) >> 1] = (HEAPU16[($35_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + break label$3; + } + HEAPF64[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 3] = +HEAPF64[($4_1 + 16 | 0) >> 3]; + $42_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($42_1 + 8 | 0) >> 1] = (HEAPU16[($42_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + label$5 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$5 + } + $346(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + } + $50_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($50_1 + 8 | 0) >> 1] = ((HEAPU16[($50_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -3 | 0; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $344($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $8_1 = 0, $631$hi = 0, $640$hi = 0, $649$hi = 0, $653$hi = 0, $660$hi = 0, $42_1 = 0, $48_1 = 0, $88_1 = 0, $119_1 = 0, $134_1 = 0, $153_1 = 0, $632$hi = 0, $633$hi = 0, $634$hi = 0, $172_1 = 0, $635$hi = 0, $638$hi = 0, $124_1 = 0, $125_1 = 0, $126_1 = 0, $195_1 = 0, $228_1 = 0, $250_1 = 0, $642$hi = 0, $127_1 = 0, $128_1 = 0, $129_1 = 0, $644$hi = 0, $645$hi = 0, $646$hi = 0, $272_1 = 0, $647$hi = 0, $297_1 = 0, $308_1 = 0, $333_1 = 0, $348_1 = 0, $367_1 = 0, $396_1 = 0, $402_1 = 0, $417_1 = 0, $651$hi = 0, $457_1 = 0, $655$hi = 0, $130_1 = 0, $131_1 = 0, $132_1 = 0, $657$hi = 0, $658$hi = 0, $661$hi = 0, $662$hi = 0, $664$hi = 0, $666$hi = 0, $667$hi = 0, $669$hi = 0, $670$hi = 0, $672_1 = 0, $672$hi = 0, $523_1 = 0, $679$hi = 0, $680$hi = 0, $681$hi = 0, $682$hi = 0, $683$hi = 0, $530_1 = 0, $686$hi = 0, $687$hi = 0, $688$hi = 0, $689$hi = 0, $690$hi = 0, $559_1 = 0, $697$hi = 0, $698$hi = 0, $699$hi = 0, $700$hi = 0, $701$hi = 0, $570_1 = 0, $704$hi = 0, $705$hi = 0, $706$hi = 0, $707$hi = 0, $708$hi = 0, $631_1 = 0, $133_1 = 0, $634_1 = 0, $1101_1 = 0, $135_1 = 0, $646_1 = 0, $1317_1 = 0, $136_1 = 0, $1740_1 = 0, $137_1 = 0, $138_1 = 0, $1762_1 = 0, $1785_1 = 0, $676_1 = 0, $676$hi = 0, $1842_1 = 0, $679_1 = 0, $680_1 = 0, $681_1 = 0, $1881_1 = 0, $683_1 = 0, $1890$hi = 0, $139_1 = 0, $686_1 = 0, $687_1 = 0, $688_1 = 0, $1929_1 = 0, $690_1 = 0, $1941$hi = 0, $140_1 = 0, $694_1 = 0, $694$hi = 0, $1999_1 = 0, $697_1 = 0, $698_1 = 0, $699_1 = 0, $2041_1 = 0, $701_1 = 0, $2053$hi = 0, $141_1 = 0, $704_1 = 0, $705_1 = 0, $706_1 = 0, $2085_1 = 0, $708_1 = 0, $2097$hi = 0, $142_1 = 0, $627_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $6_1 = global$0 - 272 | 0; + global$0 = $6_1; + $7_1 = 0; + $8_1 = 1; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 264 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 260 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 256 | 0) >> 2] = $2_1; + HEAP8[($6_1 + 255 | 0) >> 0] = $3_1; + HEAP32[($6_1 + 240 | 0) >> 2] = $8_1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 232 | 0) >> 2] = 0; + HEAP32[($6_1 + 236 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 228 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 224 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 220 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 216 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 204 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 200 | 0) >> 2] = $8_1; + HEAPF64[(HEAP32[($6_1 + 260 | 0) >> 2] | 0) >> 3] = +($7_1 | 0); + label$1 : { + label$2 : { + if (HEAP32[($6_1 + 256 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($6_1 + 268 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if (!(((HEAPU8[($6_1 + 255 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 248 | 0) >> 2] = 1; + HEAP32[($6_1 + 244 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 256 | 0) >> 2] | 0) | 0; + break label$3; + } + HEAP32[($6_1 + 248 | 0) >> 2] = 2; + HEAP32[($6_1 + 256 | 0) >> 2] = (HEAP32[($6_1 + 256 | 0) >> 2] | 0) & -2 | 0; + HEAP32[($6_1 + 196 | 0) >> 2] = 3 - ((HEAPU8[($6_1 + 255 | 0) >> 0] | 0) & 255 | 0) | 0; + label$5 : while (1) { + $42_1 = 0; + label$6 : { + if (!((HEAP32[($6_1 + 196 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 256 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $48_1 = 24; + $42_1 = (((HEAPU8[((HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 196 | 0) >> 2] | 0) | 0) >> 0] | 0) << $48_1 | 0) >> $48_1 | 0 | 0) == (0 | 0); + } + label$7 : { + if (!($42_1 & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 196 | 0) >> 2] = (HEAP32[($6_1 + 196 | 0) >> 2] | 0) + 2 | 0; + continue label$5; + } + break label$5; + }; + label$8 : { + if (!((HEAP32[($6_1 + 196 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 256 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 200 | 0) >> 2] = -100; + } + HEAP32[($6_1 + 244 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 196 | 0) >> 2] | 0) ^ 1 | 0) | 0; + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (((HEAPU8[($6_1 + 255 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) | 0; + } + label$9 : while (1) { + $88_1 = 0; + label$10 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$10 + } + $88_1 = (((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 | 0) != (0 | 0); + } + label$11 : { + if (!($88_1 & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + continue label$9; + } + break label$9; + }; + label$12 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 268 | 0) >> 2] = 0; + break label$1; + } + $119_1 = 24; + label$13 : { + label$14 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $119_1 | 0) >> $119_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($6_1 + 240 | 0) >> 2] = -1; + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + break label$13; + } + $134_1 = 24; + label$15 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $134_1 | 0) >> $134_1 | 0 | 0) == (43 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + } + } + label$16 : while (1) { + $153_1 = 0; + label$17 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$17 + } + $153_1 = (((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0 | 0) != (0 | 0); + } + label$18 : { + if (!($153_1 & 1 | 0)) { + break label$18 + } + i64toi32_i32$0 = 214748364; + $631_1 = -858993461; + $631$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $632$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $633$hi = i64toi32_i32$1; + i64toi32_i32$1 = $632$hi; + i64toi32_i32$1 = $633$hi; + i64toi32_i32$1 = $632$hi; + $133_1 = i64toi32_i32$0; + i64toi32_i32$0 = $633$hi; + i64toi32_i32$0 = __wasm_i64_mul($133_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $634_1 = i64toi32_i32$0; + $634$hi = i64toi32_i32$1; + $172_1 = 24; + i64toi32_i32$0 = (((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $172_1 | 0) >> $172_1 | 0) - 48 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $635$hi = i64toi32_i32$1; + i64toi32_i32$1 = $634$hi; + i64toi32_i32$1 = $635$hi; + $1101_1 = i64toi32_i32$0; + i64toi32_i32$1 = $634$hi; + i64toi32_i32$2 = $634_1; + i64toi32_i32$0 = $635$hi; + i64toi32_i32$3 = $1101_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 232 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 236 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 204 | 0) >> 2] = (HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$1 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $638$hi = i64toi32_i32$2; + i64toi32_i32$2 = $631$hi; + i64toi32_i32$2 = $638$hi; + i64toi32_i32$2 = $631$hi; + i64toi32_i32$2 = $638$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $631$hi; + i64toi32_i32$3 = $631_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $124_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + $125_1 = 0 + } else { + $125_1 = 1 + } + $126_1 = $125_1; + } else { + $126_1 = 0 + } + $124_1 = $126_1; + } + label$19 : { + if (!($124_1 & 1 | 0)) { + break label$19 + } + label$20 : while (1) { + $195_1 = 0; + label$21 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$21 + } + $195_1 = (((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0 | 0) != (0 | 0); + } + label$22 : { + if (!($195_1 & 1 | 0)) { + break label$22 + } + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 228 | 0) >> 2] = (HEAP32[($6_1 + 228 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + } + break label$20; + }; + } + continue label$16; + } + break label$16; + }; + label$23 : { + label$24 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$24 + } + break label$23; + } + $228_1 = 24; + label$25 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $228_1 | 0) >> $228_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 200 | 0) >> 2] = (HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 1 | 0; + label$26 : while (1) { + $250_1 = 0; + label$27 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$27 + } + $250_1 = (((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0 | 0) != (0 | 0); + } + label$28 : { + if (!($250_1 & 1 | 0)) { + break label$28 + } + i64toi32_i32$1 = 214748364; + $640$hi = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $642$hi = i64toi32_i32$2; + i64toi32_i32$2 = $640$hi; + i64toi32_i32$2 = $642$hi; + i64toi32_i32$2 = $640$hi; + i64toi32_i32$2 = $642$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $640$hi; + i64toi32_i32$5 = -858993461; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $127_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$5 >>> 0) { + $128_1 = 0 + } else { + $128_1 = 1 + } + $129_1 = $128_1; + } else { + $129_1 = 0 + } + $127_1 = $129_1; + } + label$29 : { + if (!($127_1 & 1 | 0)) { + break label$29 + } + i64toi32_i32$5 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $644$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $645$hi = i64toi32_i32$2; + i64toi32_i32$2 = $644$hi; + i64toi32_i32$2 = $645$hi; + i64toi32_i32$2 = $644$hi; + $135_1 = i64toi32_i32$3; + i64toi32_i32$3 = $645$hi; + i64toi32_i32$3 = __wasm_i64_mul($135_1 | 0, i64toi32_i32$2 | 0, 10 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $646_1 = i64toi32_i32$3; + $646$hi = i64toi32_i32$2; + $272_1 = 24; + i64toi32_i32$3 = (((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $272_1 | 0) >> $272_1 | 0) - 48 | 0; + i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; + $647$hi = i64toi32_i32$2; + i64toi32_i32$2 = $646$hi; + i64toi32_i32$2 = $647$hi; + $1317_1 = i64toi32_i32$3; + i64toi32_i32$2 = $646$hi; + i64toi32_i32$5 = $646_1; + i64toi32_i32$3 = $647$hi; + i64toi32_i32$1 = $1317_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$5 = $6_1; + HEAP32[($6_1 + 232 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 236 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 228 | 0) >> 2] = (HEAP32[($6_1 + 228 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($6_1 + 204 | 0) >> 2] = (HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + continue label$26; + } + break label$26; + }; + } + label$30 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$30 + } + break label$23; + } + $297_1 = 24; + label$31 : { + label$32 : { + if ((((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $297_1 | 0) >> $297_1 | 0 | 0) == (101 | 0) & 1 | 0) { + break label$32 + } + $308_1 = 24; + if (!((((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $308_1 | 0) >> $308_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$31 + } + } + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 216 | 0) >> 2] = 0; + HEAP32[($6_1 + 200 | 0) >> 2] = (HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 1 | 0; + label$33 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$33 + } + break label$23; + } + $333_1 = 24; + label$34 : { + label$35 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $333_1 | 0) >> $333_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$35 + } + HEAP32[($6_1 + 224 | 0) >> 2] = -1; + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + break label$34; + } + $348_1 = 24; + label$36 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $348_1 | 0) >> $348_1 | 0 | 0) == (43 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + } + } + label$37 : while (1) { + $367_1 = 0; + label$38 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$38 + } + $367_1 = (((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0 | 0) != (0 | 0); + } + label$39 : { + if (!($367_1 & 1 | 0)) { + break label$39 + } + label$40 : { + label$41 : { + if (!((HEAP32[($6_1 + 220 | 0) >> 2] | 0 | 0) < (1e4 | 0) & 1 | 0)) { + break label$41 + } + $396_1 = 24; + $402_1 = Math_imul(HEAP32[($6_1 + 220 | 0) >> 2] | 0, 10) + ((((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $396_1 | 0) >> $396_1 | 0) - 48 | 0) | 0; + break label$40; + } + $402_1 = 1e4; + } + HEAP32[($6_1 + 220 | 0) >> 2] = $402_1; + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 216 | 0) >> 2] = 1; + continue label$37; + } + break label$37; + }; + } + label$42 : while (1) { + $417_1 = 0; + label$43 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$43 + } + $417_1 = (((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 | 0) != (0 | 0); + } + label$44 : { + if (!($417_1 & 1 | 0)) { + break label$44 + } + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + continue label$42; + } + break label$42; + }; + } + HEAP32[($6_1 + 220 | 0) >> 2] = Math_imul(HEAP32[($6_1 + 220 | 0) >> 2] | 0, HEAP32[($6_1 + 224 | 0) >> 2] | 0) + (HEAP32[($6_1 + 228 | 0) >> 2] | 0) | 0; + label$45 : { + label$46 : { + if (!((HEAP32[($6_1 + 220 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$46 + } + HEAP32[($6_1 + 224 | 0) >> 2] = -1; + HEAP32[($6_1 + 220 | 0) >> 2] = Math_imul(HEAP32[($6_1 + 220 | 0) >> 2] | 0, -1); + break label$45; + } + HEAP32[($6_1 + 224 | 0) >> 2] = 1; + } + i64toi32_i32$4 = 0; + $649$hi = i64toi32_i32$4; + i64toi32_i32$2 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $651$hi = i64toi32_i32$5; + i64toi32_i32$5 = $649$hi; + i64toi32_i32$5 = $651$hi; + i64toi32_i32$5 = $649$hi; + i64toi32_i32$5 = $651$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $649$hi; + i64toi32_i32$1 = 0; + label$47 : { + label$48 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$48 + } + $457_1 = 0; + HEAPF64[($6_1 + 208 | 0) >> 3] = (HEAP32[($6_1 + 240 | 0) >> 2] | 0 | 0) < ($457_1 | 0) & 1 | 0 ? -0.0 : +($457_1 | 0); + break label$47; + } + label$49 : { + label$50 : while (1) { + if (!((HEAP32[($6_1 + 220 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$49 + } + label$51 : { + label$52 : { + if (!((HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$52 + } + i64toi32_i32$2 = 214748364; + $653$hi = i64toi32_i32$2; + i64toi32_i32$1 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $655$hi = i64toi32_i32$5; + i64toi32_i32$5 = $653$hi; + i64toi32_i32$5 = $655$hi; + i64toi32_i32$5 = $653$hi; + i64toi32_i32$5 = $655$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $653$hi; + i64toi32_i32$4 = -858993460; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$2 | 0)) { + $130_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + $131_1 = 0 + } else { + $131_1 = 1 + } + $132_1 = $131_1; + } else { + $132_1 = 0 + } + $130_1 = $132_1; + } + label$53 : { + if (!($130_1 & 1 | 0)) { + break label$53 + } + break label$49; + } + i64toi32_i32$4 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $657$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $658$hi = i64toi32_i32$5; + i64toi32_i32$5 = $657$hi; + i64toi32_i32$5 = $658$hi; + i64toi32_i32$5 = $657$hi; + $136_1 = i64toi32_i32$1; + i64toi32_i32$1 = $658$hi; + i64toi32_i32$1 = __wasm_i64_mul($136_1 | 0, i64toi32_i32$5 | 0, 10 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $1740_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 232 | 0) >> 2] = $1740_1; + HEAP32[($6_1 + 236 | 0) >> 2] = i64toi32_i32$5; + break label$51; + } + i64toi32_i32$5 = 0; + $660$hi = i64toi32_i32$5; + i64toi32_i32$4 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $661$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $662$hi = i64toi32_i32$1; + i64toi32_i32$1 = $661$hi; + i64toi32_i32$1 = $662$hi; + i64toi32_i32$1 = $661$hi; + $137_1 = i64toi32_i32$5; + i64toi32_i32$5 = $662$hi; + i64toi32_i32$5 = __wasm_i64_srem($137_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $664$hi = i64toi32_i32$1; + i64toi32_i32$1 = $660$hi; + i64toi32_i32$1 = $664$hi; + i64toi32_i32$1 = $660$hi; + i64toi32_i32$1 = $664$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$5 = $660$hi; + i64toi32_i32$2 = 0; + label$54 : { + if (!(((i64toi32_i32$4 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$54 + } + break label$49; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $666$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $667$hi = i64toi32_i32$1; + i64toi32_i32$1 = $666$hi; + i64toi32_i32$1 = $667$hi; + i64toi32_i32$1 = $666$hi; + $138_1 = i64toi32_i32$4; + i64toi32_i32$4 = $667$hi; + i64toi32_i32$4 = __wasm_i64_sdiv($138_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1762_1 = i64toi32_i32$4; + i64toi32_i32$4 = $6_1; + HEAP32[($6_1 + 232 | 0) >> 2] = $1762_1; + HEAP32[($6_1 + 236 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($6_1 + 220 | 0) >> 2] = (HEAP32[($6_1 + 220 | 0) >> 2] | 0) + -1 | 0; + continue label$50; + }; + } + label$55 : { + label$56 : { + if (!((HEAP32[($6_1 + 240 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$56 + } + i64toi32_i32$1 = 0; + $669$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $670$hi = i64toi32_i32$4; + i64toi32_i32$4 = $669$hi; + i64toi32_i32$4 = $670$hi; + $1785_1 = i64toi32_i32$1; + i64toi32_i32$4 = $669$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $670$hi; + i64toi32_i32$5 = $1785_1; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + i64toi32_i32$0 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0; + $672_1 = i64toi32_i32$3; + $672$hi = i64toi32_i32$0; + break label$55; + } + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $672_1 = i64toi32_i32$0; + $672$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $672$hi; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 232 | 0) >> 2] = $672_1; + HEAP32[($6_1 + 236 | 0) >> 2] = i64toi32_i32$2; + label$57 : { + label$58 : { + if (HEAP32[($6_1 + 220 | 0) >> 2] | 0) { + break label$58 + } + i64toi32_i32$4 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + i64toi32_i32$4 = 0; + HEAPF64[($6_1 + 208 | 0) >> 3] = +(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0); + break label$57; + } + label$59 : { + label$60 : { + if (!((HEAP32[($6_1 + 220 | 0) >> 2] | 0 | 0) > (307 | 0) & 1 | 0)) { + break label$60 + } + label$61 : { + label$62 : { + if (!((HEAP32[($6_1 + 220 | 0) >> 2] | 0 | 0) < (342 | 0) & 1 | 0)) { + break label$62 + } + $881($6_1 + 64 | 0 | 0, (HEAP32[($6_1 + 220 | 0) >> 2] | 0) + -308 | 0 | 0); + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + $676_1 = i64toi32_i32$0; + $676$hi = i64toi32_i32$2; + i64toi32_i32$4 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + $1842_1 = i64toi32_i32$2; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 184 | 0) >> 2] = $1842_1; + HEAP32[($6_1 + 188 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $676$hi; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 176 | 0) >> 2] = $676_1; + HEAP32[($6_1 + 180 | 0) >> 2] = i64toi32_i32$0; + label$63 : { + label$64 : { + if (!((HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$64 + } + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $3268($6_1 + 16 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0); + $523_1 = 8; + i64toi32_i32$4 = ($6_1 + 16 | 0) + $523_1 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $679_1 = i64toi32_i32$2; + $679$hi = i64toi32_i32$0; + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $680_1 = i64toi32_i32$0; + $680$hi = i64toi32_i32$2; + i64toi32_i32$4 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 184 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 188 | 0) >> 2] | 0; + $681_1 = i64toi32_i32$2; + $681$hi = i64toi32_i32$0; + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + $682$hi = i64toi32_i32$2; + i64toi32_i32$2 = $680$hi; + i64toi32_i32$2 = $679$hi; + i64toi32_i32$2 = $682$hi; + $1881_1 = i64toi32_i32$0; + i64toi32_i32$2 = $681$hi; + i64toi32_i32$2 = $680$hi; + i64toi32_i32$0 = $679$hi; + i64toi32_i32$4 = $682$hi; + i64toi32_i32$5 = $681$hi; + $3265($6_1 | 0, $680_1 | 0, i64toi32_i32$2 | 0, $679_1 | 0, i64toi32_i32$0 | 0, $1881_1 | 0, i64toi32_i32$4 | 0, $681_1 | 0, i64toi32_i32$5 | 0); + i64toi32_i32$0 = $6_1 + $523_1 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $683_1 = i64toi32_i32$5; + $683$hi = i64toi32_i32$4; + i64toi32_i32$0 = $6_1; + i64toi32_i32$4 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $1890$hi = i64toi32_i32$5; + i64toi32_i32$5 = $683$hi; + i64toi32_i32$5 = $1890$hi; + $139_1 = i64toi32_i32$4; + i64toi32_i32$4 = $683$hi; + (wasm2js_i32$0 = $6_1, wasm2js_f64$0 = +$3276($139_1 | 0, i64toi32_i32$5 | 0, $683_1 | 0, i64toi32_i32$4 | 0)), HEAPF64[(wasm2js_i32$0 + 208 | 0) >> 3] = wasm2js_f64$0; + HEAPF64[($6_1 + 208 | 0) >> 3] = +HEAPF64[($6_1 + 208 | 0) >> 3] / 1.e+308; + break label$63; + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $3268($6_1 + 48 | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0); + $530_1 = 8; + i64toi32_i32$0 = ($6_1 + 48 | 0) + $530_1 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $686_1 = i64toi32_i32$5; + $686$hi = i64toi32_i32$4; + i64toi32_i32$0 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $687_1 = i64toi32_i32$4; + $687$hi = i64toi32_i32$5; + i64toi32_i32$0 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 184 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($6_1 + 188 | 0) >> 2] | 0; + $688_1 = i64toi32_i32$5; + $688$hi = i64toi32_i32$4; + i64toi32_i32$0 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + $689$hi = i64toi32_i32$5; + i64toi32_i32$5 = $687$hi; + i64toi32_i32$5 = $686$hi; + i64toi32_i32$5 = $689$hi; + $1929_1 = i64toi32_i32$4; + i64toi32_i32$5 = $688$hi; + i64toi32_i32$5 = $687$hi; + i64toi32_i32$4 = $686$hi; + i64toi32_i32$0 = $689$hi; + i64toi32_i32$2 = $688$hi; + $3273($6_1 + 32 | 0 | 0, $687_1 | 0, i64toi32_i32$5 | 0, $686_1 | 0, i64toi32_i32$4 | 0, $1929_1 | 0, i64toi32_i32$0 | 0, $688_1 | 0, i64toi32_i32$2 | 0); + i64toi32_i32$4 = ($6_1 + 32 | 0) + $530_1 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $690_1 = i64toi32_i32$2; + $690$hi = i64toi32_i32$0; + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $1941$hi = i64toi32_i32$2; + i64toi32_i32$2 = $690$hi; + i64toi32_i32$2 = $1941$hi; + $140_1 = i64toi32_i32$0; + i64toi32_i32$0 = $690$hi; + (wasm2js_i32$0 = $6_1, wasm2js_f64$0 = +$3276($140_1 | 0, i64toi32_i32$2 | 0, $690_1 | 0, i64toi32_i32$0 | 0)), HEAPF64[(wasm2js_i32$0 + 208 | 0) >> 3] = wasm2js_f64$0; + HEAPF64[($6_1 + 208 | 0) >> 3] = +HEAPF64[($6_1 + 208 | 0) >> 3] * 1.e+308; + } + break label$61; + } + label$65 : { + label$66 : { + if (!((HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$66 + } + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + i64toi32_i32$4 = 0; + HEAPF64[($6_1 + 208 | 0) >> 3] = +(0 | 0) * (+(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$2 | 0)); + break label$65; + } + i64toi32_i32$4 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + i64toi32_i32$4 = 0; + HEAPF64[($6_1 + 208 | 0) >> 3] = +Math_fround(Math_fround(+(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0)) * Math_fround(infinity)); + } + } + break label$59; + } + $881($6_1 + 144 | 0 | 0, HEAP32[($6_1 + 220 | 0) >> 2] | 0 | 0); + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 144 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 148 | 0) >> 2] | 0; + $694_1 = i64toi32_i32$0; + $694$hi = i64toi32_i32$2; + i64toi32_i32$4 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 156 | 0) >> 2] | 0; + $1999_1 = i64toi32_i32$2; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 168 | 0) >> 2] = $1999_1; + HEAP32[($6_1 + 172 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $694$hi; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 160 | 0) >> 2] = $694_1; + HEAP32[($6_1 + 164 | 0) >> 2] = i64toi32_i32$0; + label$67 : { + label$68 : { + if (!((HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$68 + } + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $3268($6_1 + 96 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0); + $559_1 = 8; + i64toi32_i32$4 = ($6_1 + 96 | 0) + $559_1 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $697_1 = i64toi32_i32$2; + $697$hi = i64toi32_i32$0; + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $698_1 = i64toi32_i32$0; + $698$hi = i64toi32_i32$2; + i64toi32_i32$4 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 172 | 0) >> 2] | 0; + $699_1 = i64toi32_i32$2; + $699$hi = i64toi32_i32$0; + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 160 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 164 | 0) >> 2] | 0; + $700$hi = i64toi32_i32$2; + i64toi32_i32$2 = $698$hi; + i64toi32_i32$2 = $697$hi; + i64toi32_i32$2 = $700$hi; + $2041_1 = i64toi32_i32$0; + i64toi32_i32$2 = $699$hi; + i64toi32_i32$2 = $698$hi; + i64toi32_i32$0 = $697$hi; + i64toi32_i32$4 = $700$hi; + i64toi32_i32$5 = $699$hi; + $3265($6_1 + 80 | 0 | 0, $698_1 | 0, i64toi32_i32$2 | 0, $697_1 | 0, i64toi32_i32$0 | 0, $2041_1 | 0, i64toi32_i32$4 | 0, $699_1 | 0, i64toi32_i32$5 | 0); + i64toi32_i32$0 = ($6_1 + 80 | 0) + $559_1 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $701_1 = i64toi32_i32$5; + $701$hi = i64toi32_i32$4; + i64toi32_i32$0 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + $2053$hi = i64toi32_i32$5; + i64toi32_i32$5 = $701$hi; + i64toi32_i32$5 = $2053$hi; + $141_1 = i64toi32_i32$4; + i64toi32_i32$4 = $701$hi; + (wasm2js_i32$0 = $6_1, wasm2js_f64$0 = +$3276($141_1 | 0, i64toi32_i32$5 | 0, $701_1 | 0, i64toi32_i32$4 | 0)), HEAPF64[(wasm2js_i32$0 + 208 | 0) >> 3] = wasm2js_f64$0; + break label$67; + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $3268($6_1 + 128 | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0); + $570_1 = 8; + i64toi32_i32$0 = ($6_1 + 128 | 0) + $570_1 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $704_1 = i64toi32_i32$5; + $704$hi = i64toi32_i32$4; + i64toi32_i32$0 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + $705_1 = i64toi32_i32$4; + $705$hi = i64toi32_i32$5; + i64toi32_i32$0 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($6_1 + 172 | 0) >> 2] | 0; + $706_1 = i64toi32_i32$5; + $706$hi = i64toi32_i32$4; + i64toi32_i32$0 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 160 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 164 | 0) >> 2] | 0; + $707$hi = i64toi32_i32$5; + i64toi32_i32$5 = $705$hi; + i64toi32_i32$5 = $704$hi; + i64toi32_i32$5 = $707$hi; + $2085_1 = i64toi32_i32$4; + i64toi32_i32$5 = $706$hi; + i64toi32_i32$5 = $705$hi; + i64toi32_i32$4 = $704$hi; + i64toi32_i32$0 = $707$hi; + i64toi32_i32$2 = $706$hi; + $3273($6_1 + 112 | 0 | 0, $705_1 | 0, i64toi32_i32$5 | 0, $704_1 | 0, i64toi32_i32$4 | 0, $2085_1 | 0, i64toi32_i32$0 | 0, $706_1 | 0, i64toi32_i32$2 | 0); + i64toi32_i32$4 = ($6_1 + 112 | 0) + $570_1 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $708_1 = i64toi32_i32$2; + $708$hi = i64toi32_i32$0; + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + $2097$hi = i64toi32_i32$2; + i64toi32_i32$2 = $708$hi; + i64toi32_i32$2 = $2097$hi; + $142_1 = i64toi32_i32$0; + i64toi32_i32$0 = $708$hi; + (wasm2js_i32$0 = $6_1, wasm2js_f64$0 = +$3276($142_1 | 0, i64toi32_i32$2 | 0, $708_1 | 0, i64toi32_i32$0 | 0)), HEAPF64[(wasm2js_i32$0 + 208 | 0) >> 3] = wasm2js_f64$0; + } + } + } + } + HEAPF64[(HEAP32[($6_1 + 260 | 0) >> 2] | 0) >> 3] = +HEAPF64[($6_1 + 208 | 0) >> 3]; + label$69 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 244 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$69 + } + if (!((HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$69 + } + if (!(HEAP32[($6_1 + 216 | 0) >> 2] | 0)) { + break label$69 + } + if (!((HEAP32[($6_1 + 200 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$69 + } + HEAP32[($6_1 + 268 | 0) >> 2] = HEAP32[($6_1 + 200 | 0) >> 2] | 0; + break label$1; + } + label$70 : { + if (!((HEAP32[($6_1 + 200 | 0) >> 2] | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$70 + } + label$71 : { + if ((HEAP32[($6_1 + 200 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0) { + break label$71 + } + if (!(HEAP32[($6_1 + 216 | 0) >> 2] | 0)) { + break label$70 + } + } + if (!((HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$70 + } + HEAP32[($6_1 + 268 | 0) >> 2] = -1; + break label$1; + } + HEAP32[($6_1 + 268 | 0) >> 2] = 0; + } + $627_1 = HEAP32[($6_1 + 268 | 0) >> 2] | 0; + global$0 = $6_1 + 272 | 0; + return $627_1 | 0; + } + + function $345($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = +$1_1; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0.0, $36_1 = 0.0, $12_1 = 0, $13_1 = 0, $31_1 = 0, $31$hi = 0, $82_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAPF64[($5_1 + 16 | 0) >> 3] = $1_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + $36_1 = +HEAPF64[($5_1 + 16 | 0) >> 3]; + label$1 : { + label$2 : { + if (!(Math_abs($36_1) < 9223372036854775808.0)) { + break label$2 + } + i64toi32_i32$0 = $36_1; + if (Math_abs(i64toi32_i32$0) >= 1.0) { + if (i64toi32_i32$0 > 0.0) { + $12_1 = ~~Math_min(Math_floor(i64toi32_i32$0 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $12_1 = ~~Math_ceil((i64toi32_i32$0 - +(~~i64toi32_i32$0 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $13_1 = $12_1; + } else { + $13_1 = 0 + } + i64toi32_i32$1 = $13_1; + $31_1 = ~~i64toi32_i32$0 >>> 0; + $31$hi = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = -2147483648; + $31_1 = 0; + $31$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $31$hi; + i64toi32_i32$2 = $5_1; + HEAP32[$5_1 >> 2] = $31_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!($1059(+(+HEAPF64[($5_1 + 16 | 0) >> 3]), i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $82_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $82_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$3; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (0 | 0) == ($530(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $27_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $27_1 | 0; + } + + function $346($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $29$hi = 0, $33$hi = 0, $31$hi = 0, $12_1 = 0, $13_1 = 0, $14_1 = 0, $35$hi = 0, $15_1 = 0, $16_1 = 0, $17_1 = 0, $55_1 = 0, $101_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $241(+(+HEAPF64[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 3])) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $55_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[i64toi32_i32$0 >> 2] = $55_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + label$1 : { + if (!(+HEAPF64[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 3] == +(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = -2147483648; + $29$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $31$hi = i64toi32_i32$1; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $31$hi; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $31$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $12_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $13_1 = 0 + } else { + $13_1 = 1 + } + $14_1 = $13_1; + } else { + $14_1 = 0 + } + $12_1 = $14_1; + } + if (!($12_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = 2147483647; + $33$hi = i64toi32_i32$2; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $35$hi = i64toi32_i32$1; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $33$hi; + i64toi32_i32$0 = -1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $15_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $16_1 = 0 + } else { + $16_1 = 1 + } + $17_1 = $16_1; + } else { + $17_1 = 0 + } + $15_1 = $17_1; + } + if (!($15_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $101_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $101_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP16[((HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 4 | 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $347($0_1, $1_1, $2_1, $3_1, $4_1, $4$hi, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $10_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $36_1 = 0, $474$hi = 0, $138_1 = 0, $161_1 = 0, $475$hi = 0, $476$hi = 0, $478$hi = 0, $249_1 = 0, $266_1 = 0, $362_1 = 0, $373_1 = 0, $381_1 = 0, $409_1 = 0, $415_1 = 0, $451_1 = 0, $473$hi = 0, $133_1 = 0, $171_1 = 0, $289_1 = 0, $300_1 = 0, $452_1 = 0, $453_1 = 0, $460_1 = 0, $470_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 464 | 0; + global$0 = $9_1; + i64toi32_i32$0 = 0; + $473$hi = i64toi32_i32$0; + $10_1 = 0; + HEAP32[($9_1 + 460 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 456 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 452 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 448 | 0) >> 2] = $3_1; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 440 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 444 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 436 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 432 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 428 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 420 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 416 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 408 | 0) >> 2] = $10_1; + HEAP32[(HEAP32[($9_1 + 432 | 0) >> 2] | 0) >> 2] = $10_1; + HEAP32[($9_1 + 436 | 0) >> 2] = (((HEAP32[($9_1 + 436 | 0) >> 2] | 0 | 0) != ($10_1 | 0) ^ -1 | 0) ^ -1 | 0) & 1 | 0; + i64toi32_i32$0 = $473$hi; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $308(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, 32 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 408 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : while (1) { + $3289($9_1 + 128 | 0 | 0, 0 | 0, 280 | 0) | 0; + label$3 : { + if ((HEAP32[($9_1 + 408 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + break label$1; + } + $36_1 = 0; + HEAP32[($9_1 + 128 | 0) >> 2] = HEAP32[($9_1 + 460 | 0) >> 2] | 0; + $13(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 416 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 416 | 0) >> 2] = $36_1; + $8(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $348($9_1 + 128 | 0 | 0, $36_1 | 0, HEAP32[($9_1 + 452 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 456 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 412 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($9_1 + 412 | 0) >> 2] | 0 | 0) != ($36_1 | 0) & 1 | 0)) { + break label$4 + } + if (!(HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($9_1 + 412 | 0) >> 2] = 0; + HEAP32[($9_1 + 80 | 0) >> 2] = HEAP32[($9_1 + 452 | 0) >> 2] | 0; + $349($9_1 + 128 | 0 | 0, 1783 | 0, $9_1 + 80 | 0 | 0); + } + label$5 : { + if (!((HEAP32[($9_1 + 412 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$5 + } + HEAP32[($9_1 + 412 | 0) >> 2] = 0; + HEAP32[($9_1 + 64 | 0) >> 2] = HEAP32[($9_1 + 452 | 0) >> 2] | 0; + $349($9_1 + 128 | 0 | 0, 1813 | 0, $9_1 + 64 | 0 | 0); + } + label$6 : { + if (!((HEAP32[($9_1 + 412 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($9_1 + 412 | 0) >> 2] = 0; + HEAP32[($9_1 + 48 | 0) >> 2] = HEAP32[($9_1 + 452 | 0) >> 2] | 0; + $349($9_1 + 128 | 0 | 0, 1849 | 0, $9_1 + 48 | 0 | 0); + } + label$7 : { + if ((HEAP32[($9_1 + 412 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + label$8 : { + if (!((HEAP32[($9_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $13(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 416 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 416 | 0) >> 2] = HEAP32[($9_1 + 132 | 0) >> 2] | 0; + HEAP32[($9_1 + 132 | 0) >> 2] = 0; + } + HEAP32[($9_1 + 420 | 0) >> 2] = 1; + break label$1; + } + HEAP32[((HEAP32[($9_1 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($9_1 + 412 | 0) >> 2] | 0; + $133_1 = HEAP32[((HEAP32[((HEAP32[($9_1 + 460 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (($350(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 408 | 0) >> 2] | 0) + 24 | 0) >> 2] = $133_1; + HEAP32[($9_1 + 424 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + $138_1 = 16; + if (!((HEAP32[($9_1 + 424 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $138_1 | 0) >> $138_1 | 0 | 0) & 1 | 0)) { + break label$9 + } + label$11 : { + if ($88(HEAP32[((HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($9_1 + 424 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 448 | 0) >> 2] | 0 | 0) | 0) { + break label$11 + } + break label$9; + } + HEAP32[($9_1 + 424 | 0) >> 2] = (HEAP32[($9_1 + 424 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + $161_1 = 16; + label$12 : { + if (!((HEAP32[($9_1 + 424 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $161_1 | 0) >> $161_1 | 0 | 0) & 1 | 0)) { + break label$12 + } + $13(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 416 | 0) >> 2] | 0 | 0); + $171_1 = HEAP32[($9_1 + 460 | 0) >> 2] | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = HEAP32[($9_1 + 448 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $351($171_1 | 0, 1870 | 0, $9_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 416 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 420 | 0) >> 2] = 1; + break label$1; + } + label$13 : { + if (!(HEAP32[($9_1 + 436 | 0) >> 2] | 0)) { + break label$13 + } + i64toi32_i32$0 = 0; + $474$hi = i64toi32_i32$0; + HEAP32[($9_1 + 124 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[($9_1 + 460 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $475$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $476$hi = i64toi32_i32$1; + i64toi32_i32$1 = $475$hi; + i64toi32_i32$1 = $476$hi; + i64toi32_i32$1 = $475$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $476$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $478$hi = i64toi32_i32$0; + i64toi32_i32$0 = $474$hi; + i64toi32_i32$0 = $478$hi; + i64toi32_i32$0 = $474$hi; + i64toi32_i32$0 = $478$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $474$hi; + i64toi32_i32$3 = 0; + label$14 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($9_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($9_1 + 112 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + label$19 : { + if (!((HEAP32[(((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($9_1 + 112 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($9_1 + 424 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($9_1 + 124 | 0) >> 2] = 1891; + } + HEAP32[($9_1 + 112 | 0) >> 2] = (HEAP32[($9_1 + 112 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + HEAP32[($9_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$16; + }; + } + } + HEAP32[($9_1 + 120 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($9_1 + 108 | 0) >> 2] = 0; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$22 + } + $249_1 = 16; + label$24 : { + label$25 : { + if ((((HEAPU16[((HEAP32[((HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 108 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $249_1 | 0) >> $249_1 | 0 | 0) == (HEAP32[($9_1 + 424 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$25 + } + $266_1 = 16; + if (!((((HEAPU16[((HEAP32[((HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 108 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $266_1 | 0) >> $266_1 | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$24 + } + } + HEAP32[($9_1 + 124 | 0) >> 2] = 1903; + } + HEAP32[($9_1 + 108 | 0) >> 2] = (HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + HEAP32[($9_1 + 120 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$21; + }; + } + label$26 : { + if (!((HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $13(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 416 | 0) >> 2] | 0 | 0); + $289_1 = HEAP32[($9_1 + 460 | 0) >> 2] | 0; + HEAP32[($9_1 + 32 | 0) >> 2] = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $351($289_1 | 0, 1911 | 0, $9_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 416 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 420 | 0) >> 2] = 1; + break label$1; + } + } + $300_1 = $352($9_1 + 128 | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 408 | 0) >> 2] | 0) + 16 | 0) >> 2] = $300_1; + label$27 : { + if (!((HEAP32[((HEAP32[($9_1 + 408 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($9_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 408 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $350(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + $353(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 436 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $355(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, 6 | 0, 1952 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + $356(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0); + label$28 : { + if ((HEAPU8[((HEAP32[($9_1 + 460 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$28 + } + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($9_1 + 436 | 0) >> 2] | 0; + $357(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[(HEAP32[($9_1 + 412 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0); + } + label$29 : { + if ((HEAPU8[((HEAP32[($9_1 + 460 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$29 + } + label$30 : { + if (!(HEAP32[($9_1 + 436 | 0) >> 2] | 0)) { + break label$30 + } + HEAP8[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 0] = 97; + } + $362_1 = 1; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 21 | 0) >> 0] = 253; + $373_1 = 16; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] = (((HEAPU16[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $373_1 | 0) >> $373_1 | 0) + 1 | 0; + $381_1 = 16; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 68 | 0) >> 2] = ((HEAPU16[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $381_1 | 0) >> $381_1 | 0; + HEAP16[($9_1 + 328 | 0) >> 1] = 0; + HEAP32[($9_1 + 172 | 0) >> 2] = $362_1; + HEAP32[($9_1 + 168 | 0) >> 2] = $362_1; + $358(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, $9_1 + 128 | 0 | 0); + } + } + HEAP16[((HEAP32[($9_1 + 408 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAP32[($9_1 + 424 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($9_1 + 460 | 0) >> 2] | 0; + label$31 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 460 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$31 + } + break label$1; + } + i64toi32_i32$3 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 440 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 444 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $359(HEAP32[($9_1 + 408 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, $9_1 + 416 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 420 | 0) >> 2] = wasm2js_i32$1; + $409_1 = (HEAP32[($9_1 + 428 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($9_1 + 428 | 0) >> 2] = $409_1; + $415_1 = 0; + label$32 : { + if (!(($409_1 | 0) < (50 | 0) & 1 | 0)) { + break label$32 + } + $415_1 = (HEAP32[($9_1 + 420 | 0) >> 2] | 0 | 0) == (17 | 0); + } + if ($415_1 & 1 | 0) { + continue label$2 + } + break label$2; + }; + } + label$33 : { + label$34 : { + if (HEAP32[($9_1 + 420 | 0) >> 2] | 0) { + break label$34 + } + if ((HEAPU8[((HEAP32[($9_1 + 460 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$34 + } + HEAP32[(HEAP32[($9_1 + 432 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 408 | 0) >> 2] | 0; + break label$33; + } + label$35 : { + if (!((HEAP32[($9_1 + 408 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$35 + } + if (!((HEAP32[((HEAP32[($9_1 + 408 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$35 + } + $216(HEAP32[((HEAP32[($9_1 + 408 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + } + $13(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 408 | 0) >> 2] | 0 | 0); + } + $451_1 = 0; + $452_1 = HEAP32[($9_1 + 460 | 0) >> 2] | 0; + $453_1 = HEAP32[($9_1 + 420 | 0) >> 2] | 0; + $460_1 = (HEAP32[($9_1 + 416 | 0) >> 2] | 0 | 0) != ($451_1 | 0) & 1 | 0 ? 1976 : $451_1; + HEAP32[$9_1 >> 2] = HEAP32[($9_1 + 416 | 0) >> 2] | 0; + $113($452_1 | 0, $453_1 | 0, $460_1 | 0, $9_1 | 0); + $13(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 416 | 0) >> 2] | 0 | 0); + $124($9_1 + 128 | 0 | 0); + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $217(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 420 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 420 | 0) >> 2] = wasm2js_i32$1; + $470_1 = HEAP32[($9_1 + 420 | 0) >> 2] | 0; + global$0 = $9_1 + 464 | 0; + return $470_1 | 0; + } + + function $348($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $101_1 = 0, $102_1 = 0, $103_1 = 0, $106_1 = 0, $107_1 = 0, $113_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 16 | 0) { + break label$2 + } + if (!((0 | 0) != ($360(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $361(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if ((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $362((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 340 | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + if ($89(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, 11615 | 0, 7 | 0) | 0) { + break label$6 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $363(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!($364(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + break label$1; + } + } + label$8 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0) & 2 | 0)) { + break label$8 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + break label$3; + } + label$9 : { + if (!(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$9 + } + if (!((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0)) { + break label$9 + } + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + } + } + label$10 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) & 1 | 0 ? 11623 : 11636; + label$11 : { + label$12 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $101_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $102_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $103_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $103_1; + HEAP32[$6_1 >> 2] = $102_1; + $349($101_1 | 0, 11650 | 0, $6_1 | 0); + break label$11; + } + $106_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $107_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $107_1; + $349($106_1 | 0, 11660 | 0, $6_1 + 16 | 0 | 0); + } + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + } + $113_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $113_1 | 0; + } + + function $349($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $119(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 85 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $13(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + break label$1; + } + $29_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($29_1 + 36 | 0) >> 2] = (HEAP32[($29_1 + 36 | 0) >> 2] | 0) + 1 | 0; + $13(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 268 | 0) >> 2] = 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $350($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = -32768; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!(1 & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + break label$2; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + return HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $351($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $13_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $119(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $13_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $13_1 | 0; + } + + function $352($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $35_1 = 0, i64toi32_i32$0 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $365(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 224 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $3289((HEAP32[$3_1 >> 2] | 0) + 104 | 0 | 0, 0 | 0, 120 | 0) | 0; + HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + } + $35_1 = 0; + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 4 | 0) >> 2] = $35_1; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 20 | 0) >> 2] = 381479589; + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + $366(HEAP32[$3_1 >> 2] | 0 | 0, 62 | 0, $35_1 | 0, 1 | 0) | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + } + $51_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $51_1 | 0; + } + + function $353($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $367(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if ((HEAPU8[((HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + HEAP32[$8_1 >> 2] = (HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 4 | 0) >> 2] | 0, 20) | 0; + HEAP8[((HEAP32[$8_1 >> 2] | 0) + 1 | 0) >> 0] = 253; + HEAP32[((HEAP32[$8_1 >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + } + $30_1 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + global$0 = $8_1 + 32 | 0; + return $30_1 | 0; + } + + function $354($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP16[($4_1 + 10 | 0) >> 1] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP16[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) - 1 | 0, 20) | 0) + 2 | 0) >> 1] = HEAPU16[($4_1 + 10 | 0) >> 1] | 0; + } + return; + } + + function $355($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $29_1 = 0, $42_1 = 0, $48_1 = 0, $64_1 = 0, $74_1 = 0, $82_1 = 0, $99_1 = 0, $103_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + if (!($368(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $29_1 = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0, 20) | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $29_1; + HEAP32[$6_1 >> 2] = $29_1; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 0] = HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0; + $42_1 = 24; + HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0; + $48_1 = 24; + HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $48_1 | 0) >> $48_1 | 0; + label$5 : { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 11248 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$5 + } + $64_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $64_1 | 0) >> $64_1 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + $74_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP32[($74_1 + 8 | 0) >> 2] = (HEAP32[($74_1 + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) | 0; + } + $82_1 = 24; + HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) << $82_1 | 0) >> $82_1 | 0; + HEAP8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = 0; + HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + HEAP16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 2 | 0) >> 1] = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 20 | 0; + continue label$4; + }; + } + $99_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($99_1 + 108 | 0) >> 2] = (HEAP32[($99_1 + 108 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + } + $103_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $103_1 | 0; + } + + function $356($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $8_1 = 0, $29_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($8_1 + 152 | 0) >> 2] = HEAP32[($8_1 + 152 | 0) >> 2] | 0 | ($5_1 << (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0) | 0; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + if (!($369(HEAP32[(((HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + $29_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($29_1 + 156 | 0) >> 2] = HEAP32[($29_1 + 156 | 0) >> 2] | 0 | (1 << (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $357($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $55_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (-12 | 0) & 1 | 0)) { + break label$3 + } + $370(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + break label$1; + } + label$4 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) - 1 | 0; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 20) | 0; + label$5 : { + label$6 : { + if ((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$6 + } + $55_1 = 24; + if (!(((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $55_1 | 0) >> $55_1 | 0)) { + break label$5 + } + } + $371(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + break label$1; + } + label$7 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (-3 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = 253; + break label$1; + } + label$8 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + label$9 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (-12 | 0) & 1 | 0)) { + break label$9 + } + $372(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $358($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $149_1 = 0, $150_1 = 0, $197_1 = 0, $280$hi = 0, $9_1 = 0, $60_1 = 0, $71_1 = 0, $99_1 = 0, $122_1 = 0, $133_1 = 0, $280_1 = 0, $151_1 = 0, $286$hi = 0, $184_1 = 0, $245_1 = 0, $416_1 = 0, $159_1 = 0, $165_1 = 0, $171_1 = 0, $177_1 = 0, $707_1 = 0, $204_1 = 0, $212_1 = 0, $220_1 = 0, $228_1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + $9_1 = 16; + HEAP32[($4_1 + 64 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 200 | 0) >> 1] | 0) << $9_1 | 0) >> $9_1 | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = (HEAP32[($4_1 + 60 | 0) >> 2] | 0) + (HEAP32[($4_1 + 56 | 0) >> 2] | 0) | 0; + label$1 : { + if (HEAP32[($4_1 + 56 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 60 | 0) >> 2] = (HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 48 | 0) >> 2] = (Math_imul(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0, 20) + 7 | 0) & -8 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + (HEAP32[($4_1 + 48 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = ((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) - (HEAP32[($4_1 + 48 | 0) >> 2] | 0) | 0) & -8 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $416_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $416_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$0; + $373(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, $4_1 + 52 | 0 | 0); + $60_1 = 0; + label$2 : { + if (!((HEAPU8[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + $60_1 = ((HEAPU8[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + $71_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP16[($71_1 + 150 | 0) >> 1] = (HEAPU16[($71_1 + 150 | 0) >> 1] | 0) & -65 | 0 | (($60_1 & 1 | 0) << 6 | 0) | 0; + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 203 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) < (10 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 10; + } + $99_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP16[($99_1 + 150 | 0) >> 1] = (HEAPU16[($99_1 + 150 | 0) >> 1] | 0) & -13 | 0 | (((HEAPU8[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 203 | 0) >> 0] | 0) & 3 | 0) << 2 | 0) | 0; + label$5 : { + label$6 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 203 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$6 + } + $374(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, 4 | 0); + HEAP32[($4_1 + 20 | 0) >> 2] = 8; + HEAP32[($4_1 + 16 | 0) >> 2] = 12; + break label$5; + } + $122_1 = 8; + $374(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, $122_1 | 0); + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $122_1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $133_1 = 0; + $375(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0 | 0, $133_1 | 0, HEAP32[(11440 + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $133_1 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + } + i64toi32_i32$0 = 0; + $280_1 = 0; + $280$hi = i64toi32_i32$0; + $149_1 = $4_1 + 24 | 0; + $150_1 = 0; + $151_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP16[($151_1 + 150 | 0) >> 1] = (HEAPU16[($151_1 + 150 | 0) >> 1] | 0) & -4 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $280_1; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $159_1 = $376($149_1 | 0, $150_1 | 0, Math_imul(HEAP32[($4_1 + 60 | 0) >> 2] | 0, 40) | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 88 | 0) >> 2] = $159_1; + i64toi32_i32$0 = 0; + $165_1 = $376($149_1 | 0, $150_1 | 0, Math_imul(HEAP32[($4_1 + 64 | 0) >> 2] | 0, 40) | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 100 | 0) >> 2] = $165_1; + i64toi32_i32$0 = 0; + $171_1 = $376($149_1 | 0, $150_1 | 0, (HEAP32[($4_1 + 52 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 92 | 0) >> 2] = $171_1; + i64toi32_i32$0 = 0; + $177_1 = $376($149_1 | 0, $150_1 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 96 | 0) >> 2] = $177_1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $286$hi = i64toi32_i32$1; + i64toi32_i32$1 = $280$hi; + i64toi32_i32$1 = $286$hi; + i64toi32_i32$1 = $280$hi; + i64toi32_i32$1 = $286$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $280$hi; + label$9 : { + if (!(((i64toi32_i32$2 | 0) != ($280_1 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $184_1 = $365(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 192 | 0) >> 2] = $184_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $184_1; + i64toi32_i32$1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $707_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $707_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$2; + label$10 : { + if (((HEAPU8[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$10 + } + $197_1 = $4_1 + 24 | 0; + i64toi32_i32$2 = 0; + $204_1 = $376($197_1 | 0, HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($4_1 + 60 | 0) >> 2] | 0, 40) | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 88 | 0) >> 2] = $204_1; + i64toi32_i32$2 = 0; + $212_1 = $376($197_1 | 0, HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($4_1 + 64 | 0) >> 2] | 0, 40) | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 100 | 0) >> 2] = $212_1; + i64toi32_i32$2 = 0; + $220_1 = $376($197_1 | 0, HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 52 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 92 | 0) >> 2] = $220_1; + i64toi32_i32$2 = 0; + $228_1 = $376($197_1 | 0, HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 96 | 0) >> 2] = $228_1; + } + } + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 128 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 220 | 0) >> 2] = 0; + label$11 : { + label$12 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$12 + } + $245_1 = 0; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 1] = 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 28 | 0) >> 2] = $245_1; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] = $245_1; + break label$11; + } + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 1] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + $377(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $377(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, 128 & 65535 | 0 | 0); + $3289(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + } + $223(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 80 | 0; + return; + } + + function $359($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $63_1 = 0, $77_1 = 0, $107_1 = 0, $199_1 = 0, $74_1 = 0, $117_1 = 0, $147_1 = 0, $468_1 = 0, $152_1 = 0, $162_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 60 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 52 | 0) >> 2] = 0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP16[((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) + 48 | 0) >> 1] = 4; + i64toi32_i32$0 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + $199_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $199_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] = 4; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $293(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $287(HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 58 | 0) >> 1] | 0) & 65535 | 0 | 0) > ((HEAPU16[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$5 + } + $63_1 = HEAP32[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 88 | 0) + (((HEAPU16[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) << 2 | 0) | 0) >> 2] | 0; + break label$4; + } + $63_1 = 0; + } + HEAP32[($5_1 + 40 | 0) >> 2] = $63_1; + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0) >>> 0 < 12 >>> 0 & 1 | 0)) { + break label$7 + } + $74_1 = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (HEAP32[($5_1 + 40 | 0) >> 2] | 0) { + break label$9 + } + $77_1 = 11577; + break label$8; + } + $77_1 = (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0 ? 11582 : 11587; + } + HEAP32[($5_1 + 32 | 0) >> 2] = $77_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($74_1 | 0, 11548 | 0, $5_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 56 | 0) >> 2] = 1; + $213(HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$6; + } + $107_1 = 16; + HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 88 | 0) + ((((HEAPU16[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) + (((HEAPU16[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 56 | 0) >> 1] | 0) << $107_1 | 0) >> $107_1 | 0) | 0) << 2 | 0) | 0) >> 2] | 0; + $117_1 = $378(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 76 | 0) >> 2] | 0) >> 2] = $117_1; + HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $379(HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + } + label$10 : { + label$11 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + break label$10; + } + label$12 : { + if (!((HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $213(HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + label$13 : { + label$14 : { + if (HEAP32[($5_1 + 56 | 0) >> 2] | 0) { + break label$14 + } + $147_1 = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + $468_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $468_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($147_1 | 0, 11595 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 56 | 0) >> 2] = 1; + break label$13; + } + $152_1 = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $380(HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($152_1 | 0, 1976 | 0, $5_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + } + } + HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $162_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + global$0 = $5_1 + 80 | 0; + return $162_1 | 0; + } + + function $360($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $25_1 = 0, $39_1 = 0, $43_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (((HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $501(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $25_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($25_1 + 36 | 0) >> 2] = (HEAP32[($25_1 + 36 | 0) >> 2] | 0) + 1 | 0; + break label$2; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 89 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + $39_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($39_1 + 24 | 0) >> 2] = HEAP32[($39_1 + 24 | 0) >> 2] | 0 | 16 | 0; + } + } + } + $43_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $43_1 | 0; + } + + function $361($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $222_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if ($88(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + break label$4; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$7 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if ($88(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 8749 | 0) | 0) { + break label$9 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + break label$8; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[(((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + if ($89(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 27544 | 0, 7 | 0) | 0) { + break label$10 + } + label$11 : { + label$12 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$12 + } + label$13 : { + label$14 : { + if (!($88((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 7 | 0 | 0, 61157 + 7 | 0 | 0) | 0)) { + break label$14 + } + if (!($88((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 7 | 0 | 0, 61176 + 7 | 0 | 0) | 0)) { + break label$14 + } + if ($88((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 7 | 0 | 0, 8004 + 7 | 0 | 0) | 0) { + break label$13 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 8 | 0 | 0, 8404 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$11; + } + label$15 : { + if ($88((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 7 | 0 | 0, 61176 + 7 | 0 | 0) | 0) { + break label$15 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[(((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 8 | 0 | 0, 8004 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + } + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = 2; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[(((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + break label$18; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + label$21 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$21 + } + if ($89(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 27544 | 0, 7 | 0) | 0) { + break label$21 + } + label$22 : { + label$23 : { + if ($88((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 7 | 0 | 0, 61176 + 7 | 0 | 0) | 0) { + break label$23 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0 | 0, 8004 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$22; + } + label$24 : { + if ($88((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 7 | 0 | 0, 61157 + 7 | 0 | 0) | 0) { + break label$24 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 8 | 0 | 0, 8404 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $222_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $222_1 | 0; + } + + function $362($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $9_1 = HEAP32[(($1124(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0) + 8 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $363($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1155((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 7 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (((HEAPU8[((HEAP32[$4_1 >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 48 | 0) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $412(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 11668 | 0, HEAP32[$4_1 >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $30_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $30_1 | 0; + } + + function $364($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, i64toi32_i32$0 = 0, $50_1 = 0, $97_1 = 0, $106_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $308(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, 80 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $50_1 = $291(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = $50_1; + label$5 : { + if (!((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $13(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 1] = 65535; + $1156(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $291(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0); + $1156(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0); + $1156(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $291(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1055(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $4_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + $97_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $349($97_1 | 0, 1976 | 0, $4_1 | 0); + $13(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + $210(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + } + $106_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $106_1 | 0; + } + + function $365($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $107$hi = 0, $108$hi = 0, $112$hi = 0, $14_1 = 0, $114$hi = 0, $36_1 = 0, $45_1 = 0, $52_1 = 0, $61_1 = 0, $68_1 = 0, $77_1 = 0, $84_1 = 0, $93_1 = 0, $98_1 = 0, $104_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $107$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $108$hi = i64toi32_i32$1; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $108$hi; + i64toi32_i32$3 = (HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 276 | 0) >> 1] | 0) & 65535 | 0; + label$1 : { + label$2 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 272 | 0) >> 2] | 0) { + break label$4 + } + $14_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($14_1 + 292 | 0) >> 2] = (HEAP32[($14_1 + 292 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $541(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$1 = 0; + $112$hi = i64toi32_i32$1; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $114$hi = i64toi32_i32$2; + i64toi32_i32$2 = $112$hi; + i64toi32_i32$2 = $114$hi; + i64toi32_i32$2 = $112$hi; + i64toi32_i32$2 = $114$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $112$hi; + i64toi32_i32$0 = 128; + label$6 : { + if (!((i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + $36_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 312 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $36_1; + label$7 : { + if (!(($36_1 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 312 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $45_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($45_1 + 288 | 0) >> 2] = (HEAP32[($45_1 + 288 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $52_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 308 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $52_1; + label$8 : { + if (!(($52_1 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 308 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $61_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($61_1 + 288 | 0) >> 2] = (HEAP32[($61_1 + 288 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + } + $68_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 304 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $68_1; + label$9 : { + if (!(($68_1 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 304 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $77_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($77_1 + 288 | 0) >> 2] = (HEAP32[($77_1 + 288 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $84_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 300 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $84_1; + label$10 : { + if (!(($84_1 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 300 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $93_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($93_1 + 288 | 0) >> 2] = (HEAP32[($93_1 + 288 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $98_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($98_1 + 296 | 0) >> 2] = (HEAP32[($98_1 + 296 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $541(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $104_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $104_1 | 0; + } + + function $366($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $12_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $12_1 = $367(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $12_1 | 0; + } + + function $367($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $27_1 = 0, $49_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) <= (HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1154(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $27_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[($27_1 + 108 | 0) >> 2] = (HEAP32[($27_1 + 108 | 0) >> 2] | 0) + 1 | 0; + HEAP32[$7_1 >> 2] = (HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 4 | 0) >> 2] | 0, 20) | 0; + HEAP8[(HEAP32[$7_1 >> 2] | 0) >> 0] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP16[((HEAP32[$7_1 >> 2] | 0) + 2 | 0) >> 1] = 0; + HEAP32[((HEAP32[$7_1 >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[$7_1 >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[$7_1 >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[$7_1 >> 2] | 0) + 16 | 0) >> 2] = 0; + HEAP8[((HEAP32[$7_1 >> 2] | 0) + 1 | 0) >> 0] = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + } + $49_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $49_1 | 0; + } + + function $368($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $64$hi = 0, $65$hi = 0, $58$hi = 0, $59$hi = 0, $23_1 = 0, $61_1 = 0, $61$hi = 0, $25_1 = 0, $27_1 = 0, $28_1 = 0, $68$hi = 0, $69$hi = 0, $46_1 = 0, $64_1 = 0, $121_1 = 0, $24_1 = 0, $26_1 = 0, $29_1 = 0, $37_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0)) { + break label$2 + } + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $58$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $59$hi = i64toi32_i32$0; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = $59$hi; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $23_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $23_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $61_1 = $23_1; + $61$hi = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = 0; + $61_1 = 51; + $61$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $61$hi; + i64toi32_i32$2 = $4_1; + HEAP32[$4_1 >> 2] = $61_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $64_1 = i64toi32_i32$1; + $64$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 128 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $65$hi = i64toi32_i32$2; + i64toi32_i32$2 = $64$hi; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$2 = $64$hi; + i64toi32_i32$2 = $65$hi; + $121_1 = i64toi32_i32$1; + i64toi32_i32$2 = $64$hi; + i64toi32_i32$0 = $64_1; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$3 = $121_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$1 | 0)) { + $25_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $27_1 = 0 + } else { + $27_1 = 1 + } + $28_1 = $27_1; + } else { + $28_1 = 0 + } + $25_1 = $28_1; + } + label$3 : { + label$4 : { + if (!($25_1 & 1 | 0)) { + break label$4 + } + $118(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$3; + } + $24_1 = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $26_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $68$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $69$hi = i64toi32_i32$2; + i64toi32_i32$2 = $68$hi; + i64toi32_i32$2 = $69$hi; + i64toi32_i32$2 = $68$hi; + $29_1 = i64toi32_i32$0; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$0 = __wasm_i64_mul($29_1 | 0, i64toi32_i32$2 | 0, 20 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $70($24_1 | 0, $26_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $37_1 = $59(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = $37_1; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 112 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >>> 0) / (20 >>> 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 104 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $46_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != ($46_1 | 0) & 1 | 0 ? $46_1 : 7; + } + $55_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $55_1 | 0; + } + + function $369($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $370($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $8_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 17 | 0; + label$1 : { + label$2 : { + switch ($8_1 | 0) { + case 1: + $837(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + break label$1; + case 0: + case 2: + case 3: + case 4: + case 10: + $13(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + break label$1; + case 8: + label$8 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 480 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + $838(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + break label$1; + case 9: + $839(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + break label$1; + case 6: + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 480 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + $212(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + break label$9; + } + $840(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + break label$1; + case 5: + break label$2; + default: + break label$1; + }; + } + label$11 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 480 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + $841(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $371($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $23_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $23_1 = 24; + $370(HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0 | 0, HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + } + label$2 : { + label$3 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + $357(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0); + break label$2; + } + label$4 : { + if (HEAP32[$6_1 >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $68(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + i64toi32_i32$1 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $55_1 = $1130(HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = $55_1; + HEAP8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = 249; + } + global$0 = $6_1 + 16 | 0; + return; + } + + function $372($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + return; + } + + function $373($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0, $15_1 = 0, $39_1 = 0, $43_1 = 0, $47_1 = 0, $51_1 = 0, $55_1 = 0, $118_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + $11_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($11_1 + 150 | 0) >> 1] = HEAPU16[($11_1 + 150 | 0) >> 1] | 0 | 128 | 0; + $15_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($15_1 + 150 | 0) >> 1] = (HEAPU16[($15_1 + 150 | 0) >> 1] | 0) & -257 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + label$1 : while (1) { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) <= (62 | 0) & 1 | 0)) { + break label$2 + } + $39_1 = HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0; + label$3 : { + label$4 : { + switch ($39_1 | 0) { + case 2: + label$12 : { + if (!(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$12 + } + $43_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($43_1 + 150 | 0) >> 1] = (HEAPU16[($43_1 + 150 | 0) >> 1] | 0) & -129 | 0; + } + case 0: + case 1: + $47_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($47_1 + 150 | 0) >> 1] = HEAPU16[($47_1 + 150 | 0) >> 1] | 0 | 256 | 0; + break label$3; + case 6: + case 7: + case 8: + $51_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($51_1 + 150 | 0) >> 1] = (HEAPU16[($51_1 + 150 | 0) >> 1] | 0) & 65407 | 0; + $55_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($55_1 + 150 | 0) >> 1] = HEAPU16[($55_1 + 150 | 0) >> 1] | 0 | 256 | 0; + break label$3; + case 3: + case 5: + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = 6; + HEAP8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] = 251; + break label$3; + case 4: + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = 7; + HEAP8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] = 251; + break label$3; + case 10: + label$13 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + break label$3; + case 9: + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + -20 | 0) + 4 | 0) >> 2] | 0; + label$14 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) > (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + break; + default: + break label$4; + }; + } + label$15 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) ^ -1 | 0) << 2 | 0) | 0) >> 2] | 0; + } + } + } + label$16 : { + label$17 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + break label$16; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + -20 | 0; + continue label$1; + } + break label$1; + }; + $118_1 = 0; + $13(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] = $118_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] = $118_1; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return; + } + + function $374($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $39_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 144 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$1 + } + $21(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 144 | 0) >> 1] | 0) & 65535 | 0) << 0 | 0 | 0); + $13(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 0 | 0; + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 144 | 0) >> 1] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $39_1 = $365(HEAP32[$4_1 >> 2] | 0 | 0, Math_imul(HEAP32[($4_1 + 4 | 0) >> 2] | 0, 40) | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] = $39_1; + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$2; + } + $377(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $375($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[$7_1 >> 2] = (HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + Math_imul((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 16 | 0) >> 2] | 0, (HEAPU16[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 144 | 0) >> 1] | 0) & 65535 | 0) | 0, 40) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $256(HEAP32[$7_1 >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0, 1 & 255 | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + } + $42_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $42_1 | 0; + } + + function $376($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $5_1 = 0, i64toi32_i32$0 = 0, $30$hi = 0, $31$hi = 0, $25$hi = 0, $26$hi = 0, $27$hi = 0, $28$hi = 0, $28_1 = 0, $29_1 = 0, $31_1 = 0, $34$hi = 0, $17_1 = 0, $38$hi = 0, $23_1 = 0, $72_1 = 0, $30_1 = 0, $82_1 = 0, $34_1 = 0, $95$hi = 0, $38_1 = 0, $121$hi = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[i64toi32_i32$1 >> 2] = $2_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!((HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $25$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$3 = 7; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $27$hi = i64toi32_i32$5; + i64toi32_i32$5 = -1; + $28$hi = i64toi32_i32$5; + i64toi32_i32$5 = $27$hi; + i64toi32_i32$5 = $28$hi; + i64toi32_i32$5 = $27$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $28$hi; + i64toi32_i32$3 = -8; + i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2 | 0; + $72_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[i64toi32_i32$1 >> 2] = $72_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $30_1 = i64toi32_i32$2; + $30$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + $31$hi = i64toi32_i32$2; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$2 = $31$hi; + $82_1 = i64toi32_i32$1; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$5 = $30_1; + i64toi32_i32$1 = $31$hi; + i64toi32_i32$3 = $82_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $28_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$5 >>> 0 > i64toi32_i32$3 >>> 0) { + $29_1 = 0 + } else { + $29_1 = 1 + } + $31_1 = $29_1; + } else { + $31_1 = 0 + } + $28_1 = $31_1; + } + label$2 : { + label$3 : { + if (!($28_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $34_1 = i64toi32_i32$5; + $34$hi = i64toi32_i32$2; + $17_1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + i64toi32_i32$3 = $17_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $95$hi = i64toi32_i32$5; + i64toi32_i32$5 = $34$hi; + i64toi32_i32$5 = $95$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $34$hi; + i64toi32_i32$1 = $34_1; + i64toi32_i32$0 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$4 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$3 = $17_1; + HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + i64toi32_i32$4 | 0; + break label$2; + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $38_1 = i64toi32_i32$3; + $38$hi = i64toi32_i32$4; + $23_1 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + i64toi32_i32$5 = $23_1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $121$hi = i64toi32_i32$3; + i64toi32_i32$3 = $38$hi; + i64toi32_i32$3 = $121$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$4 = $38$hi; + i64toi32_i32$1 = $38_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$5 = $23_1; + HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] = i64toi32_i32$0; + } + } + return HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $377($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $8_1 = 0; + $6_1 = global$0 - 16 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP16[($6_1 + 2 | 0) >> 1] = $3_1; + label$1 : { + label$2 : while (1) { + $8_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $8_1 + -1 | 0; + if (!(($8_1 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($6_1 + 2 | 0) >> 1] | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 40 | 0; + continue label$2; + }; + } + return; + } + + function $378($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 >= 128 >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - 12 | 0) >>> 1 | 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8256 | 0) >> 0] | 0) & 255 | 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $379($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP8[($5_1 + 1 | 0) >> 0] = (HEAPU8[($5_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 16 | 0; + HEAP8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 11 | 0) >> 0] = 1; + return; + } + + function $380($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $35_1 = 0, $49_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $285(7 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + if ($404(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $285($3(164331 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $285(7 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + label$6 : { + label$7 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0)) { + break label$7 + } + $35_1 = $66(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) | 0; + break label$6; + } + $35_1 = 0; + } + HEAP32[($3_1 + 4 | 0) >> 2] = $35_1; + label$8 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $285(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + $49_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $49_1 | 0; + } + + function $381($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $382($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1138(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $383($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $13(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $213(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + } + $21_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $21_1 | 0; + } + + function $384($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $12_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $12_1 = $386(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, 8 | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $12_1 | 0; + } + + function $385($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if ((HEAPU8[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $388(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $389(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $22_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $22_1 | 0; + } + + function $386($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $90$hi = 0, $91$hi = 0, $88$hi = 0, $89$hi = 0, i64toi32_i32$4 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $88_1 = 0, $174_1 = 0, $186_1 = 0, $85_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3(94204 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$5 + } + if ((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$5 + } + i64toi32_i32$1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $88_1 = i64toi32_i32$1; + $88$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $89$hi = i64toi32_i32$0; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$0 = $89$hi; + $174_1 = i64toi32_i32$1; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$2 = $88_1; + i64toi32_i32$1 = $89$hi; + i64toi32_i32$3 = $174_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $90$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $91$hi = i64toi32_i32$5; + i64toi32_i32$5 = $90$hi; + i64toi32_i32$5 = $91$hi; + i64toi32_i32$5 = $90$hi; + i64toi32_i32$5 = $91$hi; + $186_1 = i64toi32_i32$2; + i64toi32_i32$5 = $90$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $91$hi; + i64toi32_i32$3 = $186_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$2 | 0)) { + $20_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $21_1 = 0 + } else { + $21_1 = 1 + } + $22_1 = $21_1; + } else { + $22_1 = 0 + } + $20_1 = $22_1; + } + if (!($20_1 & 1 | 0)) { + break label$4 + } + } + HEAP32[($7_1 + 20 | 0) >> 2] = 1; + break label$3; + } + label$6 : { + label$7 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 4; + break label$6; + } + $387(HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$9 + } + $216(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$8; + } + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + } + } + } + $115(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $217(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + } + $85_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $85_1 | 0; + } + + function $387($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $127(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $388($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $167_1 = 0, i64toi32_i32$0 = 0, $312_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $823(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAP32[($7_1 + 52 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0) >>> 0 > ((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - ((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0) | 0) >>> 0 & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(69545 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($7_1 + 68 | 0) >> 2] | 0) >>> 0 < ((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + label$5 : { + if (!(((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0) >>> 0 > ((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 32 | 0) >> 2] = ((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $825((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 68 | 0) >> 2] = 0; + HEAP32[($7_1 + 60 | 0) >> 2] = (HEAP32[($7_1 + 60 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) - (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0; + break label$3; + } + HEAP32[($7_1 + 68 | 0) >> 2] = (HEAP32[($7_1 + 68 | 0) >> 2] | 0) - ((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0) | 0; + } + label$6 : { + if (HEAP32[($7_1 + 48 | 0) >> 2] | 0) { + break label$6 + } + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 4 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$8 + } + HEAP32[($7_1 + 20 | 0) >> 2] = (((((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) - ((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0) | 0) + (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0) - 1 | 0) >>> 0) / ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0) | 0; + label$9 : { + label$10 : { + if ((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$10 + } + if (!(((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0 | 0) > ($16(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $45(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 1 | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + } + $3289(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + $167_1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + HEAP8[($167_1 + 1 | 0) >> 0] = (HEAPU8[($167_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 4 | 0; + break label$7; + } + label$12 : { + if (!(HEAP32[((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((((HEAP32[($7_1 + 68 | 0) >> 2] | 0) >>> 0) / ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0) | 0) << 2 | 0) | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($7_1 + 44 | 0) >> 2] = ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) >>> 0) / ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) >>> 0) % ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0) | 0; + } + } + label$13 : { + label$14 : while (1) { + if (!(HEAP32[($7_1 + 24 | 0) >> 2] | 0)) { + break label$13 + } + label$15 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(69607 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + label$16 : { + label$17 : { + if (!((HEAP32[($7_1 + 68 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$17 + } + label$18 : { + label$19 : { + if (!(HEAP32[((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0)) { + break label$19 + } + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + break label$18; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $826(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, $7_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($7_1 + 68 | 0) >> 2] = (HEAP32[($7_1 + 68 | 0) >> 2] | 0) - (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0; + break label$16; + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + label$20 : { + if (!(((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0) >>> 0 > (HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$20 + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $134(HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, $7_1 + 8 | 0 | 0, (HEAP32[($7_1 + 56 | 0) >> 2] | 0 ? 0 : 2) | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (HEAP32[($7_1 + 48 | 0) >> 2] | 0) { + break label$21 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $135(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $825((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0) | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $137(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 68 | 0) >> 2] = 0; + } + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) - (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + label$22 : { + if (HEAP32[($7_1 + 64 | 0) >> 2] | 0) { + break label$22 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($7_1 + 60 | 0) >> 2] = (HEAP32[($7_1 + 60 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + } + label$23 : { + if (!(HEAP32[($7_1 + 48 | 0) >> 2] | 0)) { + break label$23 + } + break label$13; + } + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + } + label$24 : { + if (HEAP32[($7_1 + 48 | 0) >> 2] | 0) { + break label$24 + } + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$24 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(69692 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + } + $312_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $312_1 | 0; + } + + function $389($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $22_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 4; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $392(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$4 + } + $22_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + break label$3; + } + $22_1 = $388(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = $22_1; + } + $30_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $30_1 | 0; + } + + function $390($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $12_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $12_1 = $386(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, 9 | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $12_1 | 0; + } + + function $391($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $19_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = $392(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $19_1 = 0; + } + HEAP32[($6_1 + 8 | 0) >> 2] = $19_1; + label$3 : { + label$4 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + break label$3; + } + label$5 : { + if (!((HEAPU8[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$5 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 4; + break label$3; + } + $198(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + label$6 : { + if (((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 8; + break label$3; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $388(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $47_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $47_1 | 0; + } + + function $392($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $46_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[$3_1 >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] = 1; + label$3 : { + label$4 : { + if (!($176(410 | 0) | 0)) { + break label$4 + } + HEAP32[($3_1 + 4 | 0) >> 2] = 10; + break label$3; + } + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1005(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, 0 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + label$6 : { + if (!(HEAP32[$3_1 >> 2] | 0)) { + break label$6 + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + } + label$7 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$7 + } + if ((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$7 + } + HEAP8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] = 2; + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + $46_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $46_1 | 0; + } + + function $393($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $22_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $22_1 = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + } + $22_1 = 0; + } + return $22_1 | 0; + } + + function $394($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $42_1 = 0, $50_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3(94302 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 4; + break label$3; + } + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $359(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($4_1 + 28 | 0) >> 2] | 0)) { + break label$5 + } + $33_1 = 0; + $34_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $35_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $42_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != ($33_1 | 0) & 1 | 0 ? 1976 : $33_1; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + $113($34_1 | 0, $35_1 | 0, $42_1 | 0, $4_1 | 0); + $13(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $217(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + $50_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $50_1 | 0; + } + + function $395($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $15_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP16[($15_1 + 150 | 0) >> 1] = (HEAPU16[($15_1 + 150 | 0) >> 1] | 0) & -4 | 0 | (((HEAPU16[($4_1 + 8 | 0) >> 1] | 0) + 1 | 0) & 3 | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$2; + }; + } + return; + } + + function $396($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $9_1 = $397(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 1979 | 0, 91 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $397($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $295_1 = 0, $28_1 = 0, $34_1 = 0, $39_1 = 0, $57_1 = 0, $63_1 = 0, $68_1 = 0, $76_1 = 0, $142_1 = 0, $241_1 = 0, $247_1 = 0, $252_1 = 0, $336_1 = 0, $421_1 = 0, $427_1 = 0, $208_1 = 0, $497_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 48 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAPU8[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP8[($6_1 + 43 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + label$4 : { + label$5 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$5 + } + $28_1 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + HEAP32[($6_1 + 72 | 0) >> 2] = $28_1 + 1 | 0; + $34_1 = (HEAPU8[$28_1 >> 0] | 0) & 255 | 0; + break label$4; + } + $34_1 = $398($6_1 + 72 | 0 | 0) | 0; + } + $39_1 = $34_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $39_1; + if (!$39_1) { + break label$2 + } + label$6 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : while (1) { + label$8 : { + label$9 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$9 + } + $57_1 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + HEAP32[($6_1 + 72 | 0) >> 2] = $57_1 + 1 | 0; + $63_1 = (HEAPU8[$57_1 >> 0] | 0) & 255 | 0; + break label$8; + } + $63_1 = $398($6_1 + 72 | 0 | 0) | 0; + } + $68_1 = $63_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $68_1; + $76_1 = 1; + label$10 : { + if (($68_1 | 0) == (HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$10 + } + $76_1 = (HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!($76_1 & 1 | 0)) { + break label$11 + } + label$12 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + if ($398($6_1 + 68 | 0 | 0) | 0) { + break label$12 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 2; + break label$1; + } + continue label$7; + } + break label$7; + }; + label$13 : { + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$13 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + break label$1; + } + label$14 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + label$16 : { + if ((HEAPU8[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) { + break label$16 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $398($6_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$17 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 2; + break label$1; + } + break label$15; + } + label$18 : { + label$19 : while (1) { + if (!(((HEAPU8[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $397((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + -1 | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + break label$1; + } + $142_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = $142_1 + 1 | 0; + label$21 : { + if (!(((HEAPU8[$142_1 >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$21 + } + label$22 : { + label$23 : while (1) { + if (!((((HEAPU8[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + } + continue label$19; + }; + } + HEAP32[($6_1 + 76 | 0) >> 2] = 2; + break label$1; + } + } + label$24 : { + label$25 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0) >>> 0 <= 128 >>> 0 & 1 | 0)) { + break label$25 + } + label$26 : { + label$27 : { + if (!(((HEAPU8[($6_1 + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$27 + } + HEAP8[($6_1 + 29 | 0) >> 0] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) & ((((HEAPU8[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 32 | 0) ^ -1 | 0) | 0; + HEAP8[($6_1 + 30 | 0) >> 0] = HEAPU8[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0; + HEAP8[($6_1 + 31 | 0) >> 0] = 0; + break label$26; + } + HEAP8[($6_1 + 29 | 0) >> 0] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + HEAP8[($6_1 + 30 | 0) >> 0] = 0; + } + label$28 : { + label$29 : while (1) { + $208_1 = $3233(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, $6_1 + 29 | 0 | 0) | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + $208_1 | 0; + label$30 : { + if ((HEAPU8[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$30 + } + break label$28; + } + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $397(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$31 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + break label$1; + } + continue label$29; + }; + } + break label$24; + } + label$32 : while (1) { + label$33 : { + label$34 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$34 + } + $241_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = $241_1 + 1 | 0; + $247_1 = (HEAPU8[$241_1 >> 0] | 0) & 255 | 0; + break label$33; + } + $247_1 = $398($6_1 + 68 | 0 | 0) | 0; + } + $252_1 = $247_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $252_1; + label$35 : { + if (!$252_1) { + break label$35 + } + label$36 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$36 + } + continue label$32; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $397(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$37 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + break label$1; + } + continue label$32; + } + break label$32; + }; + } + HEAP32[($6_1 + 76 | 0) >> 2] = 2; + break label$1; + } + label$38 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$38 + } + label$39 : { + label$40 : { + if ((HEAPU8[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) { + break label$40 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $398($6_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$41 : { + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$41 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + break label$39; + } + $295_1 = 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $295_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $295_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $295_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $398($6_1 + 68 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$42 : { + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$42 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $398($6_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$43 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) == (94 | 0) & 1 | 0)) { + break label$43 + } + HEAP32[($6_1 + 8 | 0) >> 2] = 1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $398($6_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + label$44 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) == (93 | 0) & 1 | 0)) { + break label$44 + } + label$45 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (93 | 0) & 1 | 0)) { + break label$45 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $398($6_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + label$46 : while (1) { + $336_1 = 0; + label$47 : { + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$47 + } + $336_1 = (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) != (93 | 0); + } + label$48 : { + if (!($336_1 & 1 | 0)) { + break label$48 + } + label$49 : { + label$50 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$50 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (93 | 0) & 1 | 0)) { + break label$50 + } + if (!((HEAPU8[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$50 + } + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$50 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $398($6_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$51 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$51 + } + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($6_1 + 52 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$51 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + break label$49; + } + label$52 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$52 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $398($6_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + continue label$46; + } + break label$46; + }; + label$53 : { + label$54 : { + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$54 + } + if ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) ^ (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) { + break label$53 + } + } + HEAP32[($6_1 + 76 | 0) >> 2] = 1; + break label$1; + } + continue label$3; + } + } + label$55 : { + label$56 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$56 + } + $421_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = $421_1 + 1 | 0; + $427_1 = (HEAPU8[$421_1 >> 0] | 0) & 255 | 0; + break label$55; + } + $427_1 = $398($6_1 + 68 | 0 | 0) | 0; + } + HEAP32[($6_1 + 52 | 0) >> 2] = $427_1; + label$57 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$57 + } + continue label$3; + } + label$58 : { + if (!((HEAPU8[($6_1 + 43 | 0) >> 0] | 0) & 255 | 0)) { + break label$58 + } + if (!(((HEAPU8[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[(((HEAP32[($6_1 + 52 | 0) >> 2] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$58 + } + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$58 + } + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$58 + } + continue label$3; + } + label$59 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$59 + } + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$59 + } + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$59 + } + continue label$3; + } + break label$3; + }; + HEAP32[($6_1 + 76 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 76 | 0) >> 2] = (HEAPU8[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 ? 1 : 0; + } + $497_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $497_1 | 0; + } + + function $398($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0, $6_1 = 0, $40_1 = 0, $41_1 = 0, $39_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $6_1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[$5_1 >> 2] = $6_1 + 1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAPU8[$6_1 >> 0] | 0) & 255 | 0; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAPU8[(((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$2 : { + label$3 : while (1) { + if (!((((HEAPU8[(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$2 + } + $39_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 6 | 0; + $40_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $41_1 = HEAP32[$40_1 >> 2] | 0; + HEAP32[$40_1 >> 2] = $41_1 + 1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $39_1 + (((HEAPU8[$41_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$3; + }; + } + label$4 : { + label$5 : { + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$5 + } + if (((HEAP32[($3_1 + 8 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$5 + } + if (!(((HEAP32[($3_1 + 8 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($3_1 + 8 | 0) >> 2] = 65533; + } + } + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $399($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $10_1 = $397(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 1983 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $10_1 | 0; + } + + function $400($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $8_1 = 0, $45_1 = 0, $270$hi = 0, i64toi32_i32$3 = 0, $25_1 = 0, $29_1 = 0, $271$hi = 0, $272$hi = 0, $274$hi = 0, $192_1 = 0, $243_1 = 0, $255_1 = 0, $117_1 = 0, $150_1 = 0, $246_1 = 0, $267_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if ($401(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3(123967 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 52 | 0) >> 2] = 1352; + } + $115(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, 0 | 0); + label$4 : { + label$5 : while (1) { + $25_1 = 0; + label$6 : { + if (HEAP32[($7_1 + 36 | 0) >> 2] | 0) { + break label$6 + } + $29_1 = 24; + $25_1 = (((HEAPU8[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $29_1 | 0) >> $29_1 | 0 | 0) != (0 | 0); + } + label$7 : { + if (!($25_1 & 1 | 0)) { + break label$7 + } + $45_1 = 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $45_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $45_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $45_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $402(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, -1 | 0, $7_1 + 28 | 0 | 0, $7_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($7_1 + 36 | 0) >> 2] | 0)) { + break label$8 + } + continue label$5; + } + label$9 : { + if ((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + continue label$5; + } + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + label$10 : while (1) { + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $287(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + if ((100 | 0) == (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$12 + } + if (!((101 | 0) == (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$11 + } + i64toi32_i32$0 = 0; + $270$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $271$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $272$hi = i64toi32_i32$1; + i64toi32_i32$1 = $271$hi; + i64toi32_i32$1 = $272$hi; + i64toi32_i32$1 = $271$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $272$hi; + i64toi32_i32$3 = 256; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $274$hi = i64toi32_i32$0; + i64toi32_i32$0 = $270$hi; + i64toi32_i32$0 = $274$hi; + i64toi32_i32$0 = $270$hi; + i64toi32_i32$0 = $274$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $270$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$11 + } + } + label$13 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$13 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $309(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $64(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, (((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + break label$4; + } + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + $117_1 = $322(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $117_1; + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + HEAP32[($7_1 + 20 | 0) >> 2] = 1; + } + label$17 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $150_1 = $319(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $150_1; + label$20 : { + if ((HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$20 + } + if (!(($321(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$20 + } + $118(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0); + break label$4; + } + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + } + label$21 : { + if (!(FUNCTION_TABLE[HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 44 | 0) >> 2] | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0)) { + break label$21 + } + $192_1 = 4; + HEAP32[($7_1 + 36 | 0) >> 2] = $192_1; + $216(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + $115(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, $192_1 | 0); + break label$4; + } + } + label$22 : { + label$23 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (100 | 0) & 1 | 0)) { + break label$23 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $216(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + label$24 : { + label$25 : while (1) { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + break label$22; + } + continue label$10; + } + break label$10; + }; + $13(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 24 | 0) >> 2] = 0; + continue label$5; + } + break label$5; + }; + } + label$26 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $216(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + } + $13(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $217(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$27 : { + label$28 : { + if (!(HEAP32[($7_1 + 36 | 0) >> 2] | 0)) { + break label$28 + } + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + $243_1 = 0; + $246_1 = $291($243_1 | 0, $380(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] = $246_1; + label$29 : { + if (!((HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) == ($243_1 | 0) & 1 | 0)) { + break label$29 + } + $255_1 = 7; + HEAP32[($7_1 + 36 | 0) >> 2] = $255_1; + $115(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, $255_1 | 0); + } + break label$27; + } + label$30 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] = 0; + } + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + } + $267_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $267_1 | 0; + } + + function $401($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $27_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $403(1353 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (-1607883113 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (!($404(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + $403(14276 | 0); + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + } + $27_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $27_1 | 0; + } + + function $402($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $298(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, 128 | 0, 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $16_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $16_1 | 0; + } + + function $403($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $82(21 | 0, 14285 | 0, $3_1 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $404($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $30_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (1266094736 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (-1607883113 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (-264537850 | 0) & 1 | 0)) { + break label$2 + } + $403(41937 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + } + $30_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $30_1 | 0; + } + + function $405($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $298(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, $8_1 | 0, $8_1 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $15_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $15_1 | 0; + } + + function $406($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $12_1 = 0, $13_1 = 0, $28_1 = 0, $110_1 = 0, i64toi32_i32$1 = 0, $85_1 = 0, $86_1 = 0, i64toi32_i32$0 = 0, $236_1 = 0, $237_1 = 0, $259_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 368 | 0; + global$0 = $9_1; + $12_1 = $9_1 + 48 | 0; + $13_1 = 0; + HEAP32[($9_1 + 364 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 360 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 356 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 352 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 348 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 344 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 340 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 336 | 0) >> 2] = $13_1; + HEAP32[($9_1 + 332 | 0) >> 2] = $13_1; + $3289($12_1 | 0, 0 | 0, 152 | 0) | 0; + $3289($12_1 + 192 | 0 | 0, 0 | 0, 88 | 0) | 0; + HEAP32[($9_1 + 272 | 0) >> 2] = HEAP32[($9_1 + 348 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($9_1 + 352 | 0) >> 2] | 0) & 1 | 0)) { + break label$1 + } + HEAP8[($9_1 + 72 | 0) >> 0] = (HEAPU8[($9_1 + 72 | 0) >> 0] | 0) + 1 | 0; + $28_1 = HEAP32[($9_1 + 364 | 0) >> 2] | 0; + HEAP32[($28_1 + 272 | 0) >> 2] = (HEAP32[($28_1 + 272 | 0) >> 2] | 0) + 1 | 0; + HEAP16[((HEAP32[($9_1 + 364 | 0) >> 2] | 0) + 276 | 0) >> 1] = 0; + } + HEAP8[($9_1 + 73 | 0) >> 0] = ((HEAP32[($9_1 + 352 | 0) >> 2] | 0) & 4 | 0 | 0) != (0 | 0) & 1 | 0; + label$2 : { + label$3 : { + if (((HEAPU8[((HEAP32[($9_1 + 364 | 0) >> 2] | 0) + 89 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($9_1 + 328 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($9_1 + 328 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($9_1 + 364 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($9_1 + 44 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($9_1 + 364 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 328 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1129(HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 332 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($9_1 + 332 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($9_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9_1 + 364 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 328 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $85_1 = HEAP32[($9_1 + 364 | 0) >> 2] | 0; + $86_1 = HEAP32[($9_1 + 332 | 0) >> 2] | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + $113($85_1 | 0, $86_1 | 0, 8700 | 0, $9_1 + 16 | 0 | 0); + break label$2; + } + } + HEAP32[($9_1 + 328 | 0) >> 2] = (HEAP32[($9_1 + 328 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + $171(HEAP32[($9_1 + 364 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 48 | 0) >> 2] = HEAP32[($9_1 + 364 | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($9_1 + 356 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!(HEAP32[($9_1 + 356 | 0) >> 2] | 0)) { + break label$10 + } + $110_1 = 24; + if (!(((HEAPU8[((HEAP32[($9_1 + 360 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 356 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $110_1 | 0) >> $110_1 | 0)) { + break label$9 + } + } + HEAP32[($9_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 364 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + label$11 : { + if (!((HEAP32[($9_1 + 356 | 0) >> 2] | 0 | 0) > (HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $113(HEAP32[($9_1 + 364 | 0) >> 2] | 0 | 0, 18 | 0, 8730 | 0, 0 | 0); + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $217(HEAP32[($9_1 + 364 | 0) >> 2] | 0 | 0, 18 | 0) | 0), HEAP32[(wasm2js_i32$0 + 332 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + i64toi32_i32$1 = HEAP32[($9_1 + 356 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1130(HEAP32[($9_1 + 364 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 360 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + label$13 : { + if (!((HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + $415($9_1 + 48 | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, $9_1 + 336 | 0 | 0) | 0; + HEAP32[($9_1 + 276 | 0) >> 2] = (HEAP32[($9_1 + 360 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 276 | 0) >> 2] | 0) - (HEAP32[($9_1 + 36 | 0) >> 2] | 0) | 0) | 0; + $13(HEAP32[($9_1 + 364 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0); + break label$12; + } + HEAP32[($9_1 + 276 | 0) >> 2] = (HEAP32[($9_1 + 360 | 0) >> 2] | 0) + (HEAP32[($9_1 + 356 | 0) >> 2] | 0) | 0; + } + break label$8; + } + $415($9_1 + 48 | 0 | 0, HEAP32[($9_1 + 360 | 0) >> 2] | 0 | 0, $9_1 + 336 | 0 | 0) | 0; + } + label$14 : { + if (!((HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($9_1 + 60 | 0) >> 2] = 0; + } + label$15 : { + if (!(((HEAPU8[($9_1 + 65 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$15 + } + $1131($9_1 + 48 | 0 | 0); + } + label$16 : { + if (!((HEAP32[($9_1 + 340 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[(HEAP32[($9_1 + 340 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 276 | 0) >> 2] | 0; + } + label$17 : { + if ((HEAPU8[((HEAP32[($9_1 + 364 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0) { + break label$17 + } + $1132(HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 360 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 276 | 0) >> 2] | 0) - (HEAP32[($9_1 + 360 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($9_1 + 352 | 0) >> 2] | 0) & 255 | 0 | 0); + } + label$18 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 364 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($9_1 + 60 | 0) >> 2] = 7; + } + HEAP32[($9_1 + 332 | 0) >> 2] = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + label$19 : { + label$20 : { + if (!(HEAP32[($9_1 + 332 | 0) >> 2] | 0)) { + break label$20 + } + label$21 : { + if (!((HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + $216(HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) | 0; + } + break label$19; + } + HEAP32[(HEAP32[($9_1 + 344 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + } + label$22 : { + label$23 : { + if (!((HEAP32[($9_1 + 336 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + $236_1 = HEAP32[($9_1 + 364 | 0) >> 2] | 0; + $237_1 = HEAP32[($9_1 + 332 | 0) >> 2] | 0; + HEAP32[$9_1 >> 2] = HEAP32[($9_1 + 336 | 0) >> 2] | 0; + $113($236_1 | 0, $237_1 | 0, 1976 | 0, $9_1 | 0); + $13(HEAP32[($9_1 + 364 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 336 | 0) >> 2] | 0 | 0); + break label$22; + } + $115(HEAP32[($9_1 + 364 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 332 | 0) >> 2] | 0 | 0); + } + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($9_1 + 312 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($9_1 + 28 | 0) >> 2] = HEAP32[($9_1 + 312 | 0) >> 2] | 0; + HEAP32[($9_1 + 312 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $13(HEAP32[($9_1 + 364 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0); + continue label$25; + }; + } + } + $124($9_1 + 48 | 0 | 0); + $259_1 = HEAP32[($9_1 + 332 | 0) >> 2] | 0; + global$0 = $9_1 + 368 | 0; + return $259_1 | 0; + } + + function $407($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, $26_1 = 0, $32_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP16[($18_1 + 78 | 0) >> 1] = (HEAPU16[($18_1 + 78 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + $26_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP16[($26_1 + 78 | 0) >> 1] = (HEAPU16[($26_1 + 78 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + $32_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($32_1 + 24 | 0) >> 2] = (HEAP32[($32_1 + 24 | 0) >> 2] | 0) & -17 | 0; + } + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((((HEAPU16[((HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 78 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$5 + } + $170(HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $408($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $298(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 16 | 0) >> 2] | 0) & 15 | 0 | 128 | 0 | 0, 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $21_1 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + global$0 = $8_1 + 32 | 0; + return $21_1 | 0; + } + + function $409($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $22_1 = 0, $32_1 = 0; + $4_1 = global$0 - 32 | 0; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) >= ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = -1; + } + label$3 : while (1) { + $22_1 = 0; + label$4 : { + if (!((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + $22_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0; + } + label$5 : { + if (!($22_1 & 1 | 0)) { + break label$5 + } + $32_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $32_1 + 1 | 0; + label$6 : { + if (!(((HEAPU8[$32_1 >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : while (1) { + if (!((((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + return HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0; + } + + function $410($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $12_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $12_1 = $411(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $12_1 | 0; + } + + function $411($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + $412(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $217(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + FUNCTION_TABLE[HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 16 | 0) >> 2] | 0); + } + $27_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $27_1 | 0; + } + + function $412($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, $84_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + break label$2; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $68(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $39(((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 24 | 0) + 1 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $118(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 24 | 0; + $3288(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] = 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $474((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 340 | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $118(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + $13(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + break label$6; + } + $210(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + $211(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + } + $84_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $84_1 | 0; + } + + function $413($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $13_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + $13_1 = $411(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $7_1 + 32 | 0; + return $13_1 | 0; + } + + function $414($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $23_1 = 0, $89_1 = 0, $139_1 = 0, $140_1 = 0, $147_1 = 0, $171_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 336 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 328 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 324 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 316 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 308 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 320 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 328 | 0) >> 2] | 0) + 356 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($4_1 + 320 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$3 + } + if (!(HEAP32[((HEAP32[($4_1 + 320 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$2 + } + } + $115(HEAP32[($4_1 + 328 | 0) >> 2] | 0 | 0, 21 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3(140941 | 0) | 0), HEAP32[(wasm2js_i32$0 + 332 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $23_1 = $4_1 + 24 | 0; + HEAP32[($4_1 + 312 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 320 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $3289($23_1 | 0, 0 | 0, 280 | 0) | 0; + HEAP8[($4_1 + 228 | 0) >> 0] = 1; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 328 | 0) >> 2] | 0; + HEAP32[($4_1 + 160 | 0) >> 2] = 1; + label$4 : { + label$5 : { + if (!((0 | 0) == ($415($23_1 | 0, HEAP32[($4_1 + 324 | 0) >> 2] | 0 | 0, $4_1 + 308 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($4_1 + 256 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (((HEAPU8[((HEAP32[($4_1 + 328 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$5 + } + if ((HEAP32[((HEAP32[($4_1 + 256 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + if (HEAP32[((HEAP32[($4_1 + 256 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + if ((HEAP32[((HEAP32[($4_1 + 312 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 256 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 312 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 312 | 0) >> 2] | 0) + 42 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + $89_1 = HEAP32[($4_1 + 312 | 0) >> 2] | 0; + HEAP32[($89_1 + 36 | 0) >> 2] = HEAP32[($89_1 + 36 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 640 | 0) | 0; + HEAP16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] = 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[(HEAP32[((HEAP32[(HEAP32[($4_1 + 320 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!(((HEAPU16[(($416(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 316 | 0) >> 2] = 1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$8 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[((HEAP32[($4_1 + 312 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 312 | 0) >> 2] | 0; + } + } + HEAP32[((HEAP32[($4_1 + 320 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + break label$4; + } + $139_1 = 0; + $140_1 = HEAP32[($4_1 + 328 | 0) >> 2] | 0; + $147_1 = (HEAP32[($4_1 + 308 | 0) >> 2] | 0 | 0) != ($139_1 | 0) & 1 | 0 ? 1976 : $139_1; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 308 | 0) >> 2] | 0; + $113($140_1 | 0, 1 | 0, $147_1 | 0, $4_1 | 0); + $13(HEAP32[($4_1 + 328 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 308 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 316 | 0) >> 2] = 1; + } + HEAP8[($4_1 + 228 | 0) >> 0] = 0; + label$9 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $216(HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + $11(HEAP32[($4_1 + 328 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 256 | 0) >> 2] | 0 | 0); + $124($4_1 + 24 | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $217(HEAP32[($4_1 + 328 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 316 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 316 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 332 | 0) >> 2] = HEAP32[($4_1 + 316 | 0) >> 2] | 0; + } + $171_1 = HEAP32[($4_1 + 332 | 0) >> 2] | 0; + global$0 = $4_1 + 336 | 0; + return $171_1 | 0; + } + + function $415($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $72_1 = 0, i64toi32_i32$2 = 0, $237_1 = 0, $15_1 = 0, $121_1 = 0, $122_1 = 0, $131_1 = 0, $132_1 = 0, i64toi32_i32$1 = 0, $175_1 = 0, $182_1 = 0, $196_1 = 0, $198_1 = 0, $314_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 1312 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 1308 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 1304 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 1300 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 1296 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 1288 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 1280 | 0) >> 2] = -1; + HEAP32[($5_1 + 1276 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 1308 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 1272 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 1276 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 1276 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0) { + break label$1 + } + $15_1 = HEAP32[($5_1 + 1276 | 0) >> 2] | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = 0; + HEAP32[($15_1 + 264 | 0) >> 2] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 228 | 0) >> 2] = HEAP32[($5_1 + 1304 | 0) >> 2] | 0; + HEAP32[($5_1 + 1292 | 0) >> 2] = $5_1 + 56 | 0; + $417(HEAP32[($5_1 + 1292 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 1308 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 124 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 1276 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 1276 | 0) >> 2] | 0) + 232 | 0) >> 2] = HEAP32[($5_1 + 1308 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $418(HEAP32[($5_1 + 1304 | 0) >> 2] | 0 | 0, $5_1 + 1284 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1288 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 1272 | 0) >> 2] = (HEAP32[($5_1 + 1272 | 0) >> 2] | 0) - (HEAP32[($5_1 + 1288 | 0) >> 2] | 0) | 0; + label$4 : { + if (!((HEAP32[($5_1 + 1272 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 12 | 0) >> 2] = 18; + break label$2; + } + label$5 : { + if (!((HEAP32[($5_1 + 1284 | 0) >> 2] | 0 | 0) >= (161 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 1276 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0; + label$6 : { + if (!(HEAP32[($5_1 + 48 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 12 | 0) >> 2] = 9; + break label$2; + } + label$7 : { + if (!((HEAP32[($5_1 + 1284 | 0) >> 2] | 0 | 0) == (179 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 1304 | 0) >> 2] = (HEAP32[($5_1 + 1304 | 0) >> 2] | 0) + (HEAP32[($5_1 + 1288 | 0) >> 2] | 0) | 0; + continue label$3; + } + $72_1 = 24; + label$8 : { + label$9 : { + if (((HEAPU8[(HEAP32[($5_1 + 1304 | 0) >> 2] | 0) >> 0] | 0) << $72_1 | 0) >> $72_1 | 0) { + break label$9 + } + label$10 : { + label$11 : { + if (!((HEAP32[($5_1 + 1280 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 1284 | 0) >> 2] = 0; + break label$10; + } + label$12 : { + if (HEAP32[($5_1 + 1280 | 0) >> 2] | 0) { + break label$12 + } + break label$2; + } + HEAP32[($5_1 + 1284 | 0) >> 2] = 1; + } + HEAP32[($5_1 + 1288 | 0) >> 2] = 0; + break label$8; + } + label$13 : { + label$14 : { + if (!((HEAP32[($5_1 + 1284 | 0) >> 2] | 0 | 0) == (161 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $419((HEAP32[($5_1 + 1304 | 0) >> 2] | 0) + 6 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1284 | 0) >> 2] = wasm2js_i32$1; + break label$13; + } + label$15 : { + label$16 : { + if (!((HEAP32[($5_1 + 1284 | 0) >> 2] | 0 | 0) == (162 | 0) & 1 | 0)) { + break label$16 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $420((HEAP32[($5_1 + 1304 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($5_1 + 1280 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1284 | 0) >> 2] = wasm2js_i32$1; + break label$15; + } + label$17 : { + label$18 : { + if (!((HEAP32[($5_1 + 1284 | 0) >> 2] | 0 | 0) == (163 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $421((HEAP32[($5_1 + 1304 | 0) >> 2] | 0) + 6 | 0 | 0, HEAP32[($5_1 + 1280 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1284 | 0) >> 2] = wasm2js_i32$1; + break label$17; + } + $121_1 = HEAP32[($5_1 + 1308 | 0) >> 2] | 0; + $122_1 = HEAP32[($5_1 + 1288 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[($5_1 + 1304 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $122_1; + $349($121_1 | 0, 14364 | 0, $5_1 + 32 | 0 | 0); + break label$2; + } + } + } + } + } + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 192 | 0) >> 2] = HEAP32[($5_1 + 1304 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 196 | 0) >> 2] = HEAP32[($5_1 + 1288 | 0) >> 2] | 0; + $131_1 = HEAP32[($5_1 + 1292 | 0) >> 2] | 0; + $132_1 = HEAP32[($5_1 + 1284 | 0) >> 2] | 0; + i64toi32_i32$2 = (HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 192 | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[i64toi32_i32$2 >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + $422($131_1 | 0, $132_1 | 0, $5_1 + 24 | 0 | 0); + HEAP32[($5_1 + 1280 | 0) >> 2] = HEAP32[($5_1 + 1284 | 0) >> 2] | 0; + HEAP32[($5_1 + 1304 | 0) >> 2] = (HEAP32[($5_1 + 1304 | 0) >> 2] | 0) + (HEAP32[($5_1 + 1288 | 0) >> 2] | 0) | 0; + label$19 : { + if (!(HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$19 + } + break label$2; + } + continue label$3; + }; + } + $423(HEAP32[($5_1 + 1292 | 0) >> 2] | 0 | 0); + label$20 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 1276 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 12 | 0) >> 2] = 7; + } + label$21 : { + if (!(HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$21 + } + if (!((HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (101 | 0) & 1 | 0)) { + break label$21 + } + if (!((HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$21 + } + $175_1 = HEAP32[($5_1 + 1276 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $285(HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $182_1 = $351($175_1 | 0, 1976 | 0, $5_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 4 | 0) >> 2] = $182_1; + } + label$22 : { + if (!((HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[(HEAP32[($5_1 + 1300 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $196_1 = HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $198_1 = HEAP32[(HEAP32[($5_1 + 1300 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 228 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $198_1; + $82($196_1 | 0, 14391 | 0, $5_1 | 0); + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP32[($5_1 + 1296 | 0) >> 2] = (HEAP32[($5_1 + 1296 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 228 | 0) >> 2] = HEAP32[($5_1 + 1304 | 0) >> 2] | 0; + label$23 : { + if (!((HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + if (!((HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$23 + } + if ((HEAPU8[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$23 + } + $220(HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + label$24 : { + if ((HEAPU8[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$24 + } + $237_1 = 0; + $13(HEAP32[($5_1 + 1276 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 108 | 0) >> 2] = $237_1; + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 104 | 0) >> 2] = $237_1; + } + $42(HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0); + label$25 : { + if ((HEAPU8[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0) { + break label$25 + } + $11(HEAP32[($5_1 + 1276 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0); + } + label$26 : { + if (((HEAPU8[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$26 + } + $10(HEAP32[($5_1 + 1276 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0); + } + label$27 : { + if (!((HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 272 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$27 + } + $424(HEAP32[($5_1 + 1276 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 272 | 0) >> 2] | 0 | 0); + } + $13(HEAP32[($5_1 + 1276 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0); + label$28 : { + label$29 : while (1) { + if (!((HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 112 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + $23(HEAP32[($5_1 + 1276 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + continue label$29; + }; + } + label$30 : { + label$31 : while (1) { + if (!((HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 260 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + $11(HEAP32[($5_1 + 1276 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + continue label$31; + }; + } + HEAP32[((HEAP32[($5_1 + 1276 | 0) >> 2] | 0) + 232 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 124 | 0) >> 2] = 0; + $314_1 = HEAP32[($5_1 + 1296 | 0) >> 2] | 0; + global$0 = $5_1 + 1312 | 0; + return $314_1 | 0; + } + + function $416($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : while (1) { + $14_1 = 0; + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $4_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $14_1 = (((HEAPU8[($4_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($4_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) ^ -1 | 0; + } + label$3 : { + if (!($14_1 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $417($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0; + HEAP16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] = $5_1; + HEAP16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 1] = $5_1; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1208 | 0) >> 2] = ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) + 1188 | 0; + return; + } + + function $418($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $658_1 = 0, $9_1 = 0, $46_1 = 0, $47_1 = 0, $71_1 = 0, $121_1 = 0, $128_1 = 0, $166_1 = 0, $202_1 = 0, $275_1 = 0, $566_1 = 0, $573_1 = 0, $622_1 = 0, $657_1 = 0, $809_1 = 0, $866_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + $9_1 = HEAPU8[((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) + 10544 | 0) >> 0] | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($9_1 | 0) { + case 7: + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + label$31 : { + label$32 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$32; + }; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 179; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + case 11: + label$33 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 2; + label$34 : while (1) { + $46_1 = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $46_1; + $47_1 = 0; + label$35 : { + if (!$46_1) { + break label$35 + } + $47_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (10 | 0); + } + label$36 : { + if (!($47_1 & 1 | 0)) { + break label$36 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$34; + } + break label$34; + }; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 179; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 106; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 17: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 22; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 18: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 23; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 19: + $71_1 = 1; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = $71_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $71_1; + break label$1; + case 20: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 105; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 21: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 107; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 16: + label$37 : { + label$38 : { + if (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) != (42 | 0) & 1 | 0) { + break label$38 + } + if ((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) { + break label$37 + } + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 108; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 3; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0; + label$39 : while (1) { + label$40 : { + label$41 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (42 | 0) & 1 | 0) { + break label$41 + } + $121_1 = 0; + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (47 | 0) & 1 | 0)) { + break label$40 + } + } + $128_1 = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $128_1; + $121_1 = ($128_1 | 0) != (0 | 0); + } + label$42 : { + if (!($121_1 & 1 | 0)) { + break label$42 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$39; + } + break label$39; + }; + label$43 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$43 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 179; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + case 22: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 109; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 14: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 53; + HEAP32[($4_1 + 28 | 0) >> 2] = (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) == (61 | 0) & 1 | 0) + 1 | 0; + break label$1; + case 12: + $166_1 = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $166_1; + label$44 : { + if (!(($166_1 | 0) == (61 | 0) & 1 | 0)) { + break label$44 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 55; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$45 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (62 | 0) & 1 | 0)) { + break label$45 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 52; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$46 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (60 | 0) & 1 | 0)) { + break label$46 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 103; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 56; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 13: + $202_1 = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $202_1; + label$47 : { + if (!(($202_1 | 0) == (61 | 0) & 1 | 0)) { + break label$47 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 57; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$48 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (62 | 0) & 1 | 0)) { + break label$48 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 104; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 54; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 15: + label$49 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) != (61 | 0) & 1 | 0)) { + break label$49 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 180; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 52; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + case 10: + label$50 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) != (124 | 0) & 1 | 0)) { + break label$50 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 102; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 110; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + case 23: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 26; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 24: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 101; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 25: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 112; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 8: + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + label$51 : { + label$52 : while (1) { + $275_1 = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $275_1; + if (!$275_1) { + break label$51 + } + label$53 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$53 + } + label$54 : { + label$55 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$55 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + break label$54; + } + break label$51; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$52; + }; + } + label$56 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (39 | 0) & 1 | 0)) { + break label$56 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 115; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + break label$1; + } + label$57 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$57 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 59; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 180; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + case 26: + label$58 : { + if (((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$58 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 139; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + case 3: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 152; + label$59 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$59 + } + label$60 : { + if (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) == (120 | 0) & 1 | 0) { + break label$60 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) == (88 | 0) & 1 | 0)) { + break label$59 + } + } + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$59 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 3; + label$61 : { + label$62 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$61 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$62; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$63 : { + label$64 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$63 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$64; + }; + } + label$65 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$65 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + label$66 : { + label$67 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$66 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$67; + }; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 150; + } + label$68 : { + label$69 : { + if (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (101 | 0) & 1 | 0) { + break label$69 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$68 + } + } + label$70 : { + if (((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$70 + } + label$71 : { + if (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (43 | 0) & 1 | 0) { + break label$71 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$68 + } + } + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$68 + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 2 | 0; + label$72 : { + label$73 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$72 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$73; + }; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 150; + } + label$74 : { + label$75 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 70 | 0)) { + break label$74 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 180; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$75; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + case 9: + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$76 : while (1) { + $566_1 = 0; + label$77 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (93 | 0) & 1 | 0)) { + break label$77 + } + $573_1 = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $573_1; + $566_1 = ($573_1 | 0) != (0 | 0); + } + label$78 : { + if (!($566_1 & 1 | 0)) { + break label$78 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$76; + } + break label$76; + }; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (93 | 0) & 1 | 0 ? 59 : 180; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + case 6: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 153; + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + label$79 : { + label$80 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$79 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$80; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + case 4: + case 5: + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 153; + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + label$81 : { + label$82 : while (1) { + $622_1 = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $622_1; + if (!$622_1) { + break label$81 + } + label$83 : { + label$84 : { + if (!(((HEAPU8[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 70 | 0)) { + break label$84 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$83; + } + label$85 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (40 | 0) & 1 | 0)) { + break label$85 + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$85 + } + label$86 : while (1) { + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + $657_1 = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $657_1; + $658_1 = 0; + label$87 : { + if (!$657_1) { + break label$87 + } + $658_1 = 0; + if (((HEAPU8[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$87 + } + $658_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (41 | 0); + } + if ($658_1 & 1 | 0) { + continue label$86 + } + break label$86; + }; + label$88 : { + label$89 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (41 | 0) & 1 | 0)) { + break label$89 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + break label$88; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 180; + } + break label$81; + } + label$90 : { + label$91 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (58 | 0) & 1 | 0)) { + break label$91 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (58 | 0) & 1 | 0)) { + break label$91 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + break label$90; + } + break label$81; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$82; + }; + } + label$92 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$92 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 180; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + case 1: + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + label$93 : { + label$94 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 10544 | 0) >> 0] | 0) & 255 | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$93 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$94; + }; + } + label$95 : { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 70 | 0)) { + break label$95 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + break label$2; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 59; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $430(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + case 0: + label$96 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) == (39 | 0) & 1 | 0)) { + break label$96 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 151; + HEAP32[($4_1 + 16 | 0) >> 2] = 2; + label$97 : { + label$98 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$97 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$98; + }; + } + label$99 : { + label$100 : { + if (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (39 | 0) & 1 | 0) { + break label$100 + } + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) % (2 | 0) | 0)) { + break label$99 + } + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 180; + label$101 : while (1) { + $809_1 = 0; + label$102 : { + if (!((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0)) { + break label$102 + } + $809_1 = ((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (39 | 0); + } + label$103 : { + if (!($809_1 & 1 | 0)) { + break label$103 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$101; + } + break label$101; + }; + } + label$104 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$104 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + } + case 2: + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + break label$2; + case 28: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 180; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + default: + break label$3; + }; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 180; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$105 : { + label$106 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 70 | 0)) { + break label$105 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$106; + }; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 59; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $866_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $866_1 | 0; + } + + function $419($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1178($3_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (59 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 59; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1178($3_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (24 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 59; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 161; + } + $29_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $29_1 | 0; + } + + function $420($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (23 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1178($4_1 + 8 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if ((HEAP32[$4_1 >> 2] | 0 | 0) == (22 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (59 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 162; + break label$1; + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 59; + } + $32_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $32_1 | 0; + } + + function $421($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $24_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (23 | 0) & 1 | 0)) { + break label$2 + } + if (!(($1178($4_1 + 8 | 0 | 0) | 0 | 0) == (22 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 163; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 59; + } + $24_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $24_1 | 0; + } + + function $422($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $67_1 = 0, $28_1 = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $176_1 = 0, $48_1 = 0, $212_1 = 0, $266_1 = 0, $75_1 = 0, $76_1 = 0, $274_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP16[($5_1 + 46 | 0) >> 1] = HEAPU16[(HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0) >> 1] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1179((HEAP32[($5_1 + 56 | 0) >> 2] | 0) & 65535 | 0 | 0, (HEAPU16[($5_1 + 46 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 46 | 0) >> 1] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!(((HEAPU16[($5_1 + 46 | 0) >> 1] | 0) & 65535 | 0 | 0) >= (1191 | 0) & 1 | 0)) { + break label$5 + } + $28_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $33_1 = ((HEAPU16[($5_1 + 46 | 0) >> 1] | 0) & 65535 | 0) - 1191 | 0; + $34_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + $35_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $176_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $176_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1180($28_1 | 0, $33_1 | 0, $34_1 | 0, $5_1 + 8 | 0 | 0, $35_1 | 0) | 0), HEAP16[(wasm2js_i32$0 + 46 | 0) >> 1] = wasm2js_i32$1; + break label$4; + } + label$6 : { + if (!(((HEAPU16[($5_1 + 46 | 0) >> 1] | 0) & 65535 | 0 | 0) <= (1187 | 0) & 1 | 0)) { + break label$6 + } + $48_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $49_1 = HEAPU16[($5_1 + 46 | 0) >> 1] | 0; + $50_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $212_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $212_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + $51_1 = 65535; + $1181($48_1 | 0, $49_1 & $51_1 | 0 | 0, $50_1 & $51_1 | 0 | 0, $5_1 + 16 | 0 | 0); + break label$2; + } + label$7 : { + if (!(((HEAPU16[($5_1 + 46 | 0) >> 1] | 0) & 65535 | 0 | 0) == (1189 | 0) & 1 | 0)) { + break label$7 + } + $67_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[$67_1 >> 2] = (HEAP32[$67_1 >> 2] | 0) + -12 | 0; + $1182(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + break label$1; + } + i64toi32_i32$2 = $2_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $266_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1 + 48 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $266_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $75_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $76_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $274_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $274_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + $1183($75_1 | 0, $76_1 | 0, $5_1 + 24 | 0 | 0); + $1184(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 56 | 0) >> 2] | 0) & 65535 | 0 | 0, $5_1 + 48 | 0 | 0); + break label$2; + } + if ((HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >>> 0 & 1 | 0) { + continue label$3 + } + break label$3; + }; + } + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $423($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >>> 0 & 1 | 0)) { + break label$1 + } + $1185(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + continue label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $424($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$4_1 >> 2] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0; + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $1139(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $425($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU8[((((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 86 | 0) >> 0] | 0) & 255 | 0) - 1 | 0) + 2256 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $426($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $19_1 = 0, $21_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 356 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3(141417 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + $19_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + -1 | 0; + label$3 : { + label$4 : { + switch ($19_1 | 0) { + case 0: + $21_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $21_1 + 4 | 0; + HEAP8[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[$21_1 >> 2] | 0; + break label$3; + case 1: + HEAP8[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 17 | 0) >> 0] = 0; + break label$3; + case 2: + HEAP8[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 17 | 0) >> 0] = 2; + break label$3; + default: + break label$4; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3(141435 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + label$8 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$8 + } + $115(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + $40_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $40_1 | 0; + } + + function $427($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 512 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $428(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $428(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $21_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $21_1 | 0; + } + + function $428($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1173(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1173(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$3; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1173(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1173(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + } + } + $40_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $40_1 | 0; + } + + function $429($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 59; + $430(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $4_1 + 4 | 0 | 0) | 0; + $11_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $11_1 | 0; + } + + function $430($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $75_1 = 0, $82_1 = 0, $92_1 = 0, $99_1 = 0, $116_1 = 0, $121_1 = 0, $130_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = (((((HEAPU8[(((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) ^ Math_imul((HEAPU8[(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0, 3) | 0) ^ (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0 | 0) % (127 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 10800 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 3232 | 0) >> 0] | 0) & 255 | 0 | 0) != (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + HEAP32[($5_1 + 8 | 0) >> 2] = 2272 + ((HEAPU16[(2928 + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) | 0; + $75_1 = 24; + $82_1 = 24; + label$6 : { + if (!(((((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $75_1 | 0) >> $75_1 | 0) & -33 | 0 | 0) != (((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $82_1 | 0) >> $82_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + $92_1 = 24; + $99_1 = 24; + label$7 : { + if (!(((((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $92_1 | 0) >> $92_1 | 0) & -33 | 0 | 0) != (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $99_1 | 0) >> $99_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + break label$4; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 2; + label$8 : while (1) { + $116_1 = 0; + label$9 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $121_1 = 24; + $130_1 = 24; + $116_1 = ((((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $121_1 | 0) >> $121_1 | 0) & -33 | 0 | 0) == (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $130_1 | 0) >> $130_1 | 0 | 0); + } + label$10 : { + if (!($116_1 & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + } + break label$8; + }; + label$11 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + break label$4; + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 10928 | 0) >> 0] | 0) & 255 | 0; + break label$2; + } + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 11088 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + continue label$3; + }; + } + } + return HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0; + } + + function $431() { + return 1024 | 0; + } + + function $432() { + return 3034e3 | 0; + } + + function $433() { + var $2_1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + HEAP32[$2_1 >> 2] = 40892; + $439(4 | 0, $2_1 | 0) | 0; + global$0 = $2_1 + 16 | 0; + return; + } + + function $434() { + $437(72144 | 0, 3 | 0); + return; + } + + function $435() { + $437(72272 | 0, 15 | 0); + return; + } + + function $436() { + $437(72880 | 0, 8 | 0); + return; + } + + function $437($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $24_1 = 0, $53_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 40) | 0) + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $68(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $24_1 = 24; + HEAP32[($4_1 + 4 | 0) >> 2] = ((((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0 | 0) % (23 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $473(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 40) | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 40) | 0; + break label$3; + } + $53_1 = 114412; + HEAP32[(((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 40) | 0) + 12 | 0) >> 2] = 0; + HEAP32[(((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 40) | 0) + 36 | 0) >> 2] = HEAP32[($53_1 + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($53_1 + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 40) | 0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $438() { + var $2_1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + HEAP32[$2_1 >> 2] = 41e3; + $439(18 | 0, $2_1 | 0) | 0; + global$0 = $2_1 + 16 | 0; + return; + } + + function $439($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $108_1 = 0, $83_1 = 0, $82_1 = 0, $18_1 = 0, $36_1 = 0, $17_1 = 0, $218$hi = 0, $224$hi = 0, $229$hi = 0, $234$hi = 0, $235$hi = 0, $12_1 = 0, $14_1 = 0, $33_1 = 0, $44_1 = 0, $49_1 = 0, $54_1 = 0, $59_1 = 0, $64_1 = 0, $74_1 = 0, $79_1 = 0, $105_1 = 0, $111_1 = 0, $123_1 = 0, $128_1 = 0, $133_1 = 0, $138_1 = 0, $143_1 = 0, $148_1 = 0, $157_1 = 0, $164_1 = 0, $222$hi = 0, $72_1 = 0, $75_1 = 0, $76_1 = 0, $226$hi = 0, $77_1 = 0, $78_1 = 0, $80_1 = 0, $231$hi = 0, $81_1 = 0, $84_1 = 0, $85_1 = 0, $86_1 = 0, $87_1 = 0, $88_1 = 0, $181_1 = 0, $186_1 = 0, $281_1 = 0, $288_1 = 0, $295_1 = 0, $302_1 = 0, $330_1 = 0, $337_1 = 0, $344_1 = 0, $348_1 = 0, $73_1 = 0, $438_1 = 0, $452_1 = 0, $459_1 = 0, $466_1 = 0, $473_1 = 0, $480_1 = 0, $515_1 = 0, $522_1 = 0, $529_1 = 0, $536_1 = 0, $543_1 = 0, $547_1 = 0, $630_1 = 0, $647_1 = 0, $234_1 = 0, $694_1 = 0, $704_1 = 0, $708_1 = 0, $712_1 = 0, $195_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(HEAP32[(0 + 68576 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3(162243 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + $12_1 = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + -4 | 0; + label$3 : { + label$4 : { + switch ($12_1 | 0) { + case 0: + $14_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $14_1 + 4 | 0; + $17_1 = HEAP32[$14_1 >> 2] | 0; + i64toi32_i32$2 = $17_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $18_1 = 0; + $281_1 = i64toi32_i32$0; + i64toi32_i32$0 = $18_1; + HEAP32[(i64toi32_i32$0 + 68400 | 0) >> 2] = $281_1; + HEAP32[(i64toi32_i32$0 + 68404 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$2 + 24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $288_1 = i64toi32_i32$1; + i64toi32_i32$1 = $18_1; + HEAP32[(i64toi32_i32$1 + 68424 | 0) >> 2] = $288_1; + HEAP32[(i64toi32_i32$1 + 68428 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $17_1 + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $295_1 = i64toi32_i32$0; + i64toi32_i32$0 = $18_1; + HEAP32[(i64toi32_i32$0 + 68416 | 0) >> 2] = $295_1; + HEAP32[(i64toi32_i32$0 + 68420 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $17_1 + 8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $302_1 = i64toi32_i32$1; + i64toi32_i32$1 = $18_1; + HEAP32[(i64toi32_i32$1 + 68408 | 0) >> 2] = $302_1; + HEAP32[(i64toi32_i32$1 + 68412 | 0) >> 2] = i64toi32_i32$0; + break label$3; + case 1: + label$22 : { + if (!((HEAP32[(0 + 68400 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$22 + } + $433(); + } + $33_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $33_1 + 4 | 0; + $36_1 = HEAP32[$33_1 >> 2] | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68424 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68428 | 0) >> 2] | 0; + $330_1 = i64toi32_i32$0; + i64toi32_i32$0 = $36_1 + 24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $330_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68416 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68420 | 0) >> 2] | 0; + $337_1 = i64toi32_i32$1; + i64toi32_i32$1 = $36_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $337_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68408 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68412 | 0) >> 2] | 0; + $344_1 = i64toi32_i32$0; + i64toi32_i32$0 = $36_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $344_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68400 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68404 | 0) >> 2] | 0; + $348_1 = i64toi32_i32$1; + i64toi32_i32$1 = $36_1; + HEAP32[i64toi32_i32$1 >> 2] = $348_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$3; + case 5: + $44_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $44_1 + 4 | 0; + HEAP32[(0 + 68368 | 0) >> 2] = HEAP32[$44_1 >> 2] | 0; + break label$3; + case 23: + $49_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $49_1 + 4 | 0; + HEAP8[(0 + 68376 | 0) >> 0] = HEAP32[$49_1 >> 2] | 0; + break label$3; + case 3: + $54_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $54_1 + 4 | 0; + HEAP32[(0 + 68552 | 0) >> 2] = HEAP32[$54_1 >> 2] | 0; + $59_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $59_1 + 4 | 0; + HEAP32[(0 + 68556 | 0) >> 2] = HEAP32[$59_1 >> 2] | 0; + $64_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $64_1 + 4 | 0; + HEAP32[(0 + 68560 | 0) >> 2] = HEAP32[$64_1 >> 2] | 0; + break label$3; + case 20: + $73_1 = (($440() | 0) + ($441() | 0) | 0) + ($442() | 0) | 0; + $74_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $74_1 + 4 | 0; + HEAP32[(HEAP32[$74_1 >> 2] | 0) >> 2] = $73_1; + break label$3; + case 10: + break label$3; + case 11: + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + break label$3; + case 14: + $79_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $79_1 + 4 | 0; + $82_1 = HEAP32[$79_1 >> 2] | 0; + i64toi32_i32$2 = $82_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $83_1 = 0; + $438_1 = i64toi32_i32$0; + i64toi32_i32$0 = $83_1; + HEAP32[(i64toi32_i32$0 + 68468 | 0) >> 2] = $438_1; + HEAP32[(i64toi32_i32$0 + 68472 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 68516 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$2 + 40 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $452_1 = i64toi32_i32$1; + i64toi32_i32$1 = $83_1; + HEAP32[(i64toi32_i32$1 + 68508 | 0) >> 2] = $452_1; + HEAP32[(i64toi32_i32$1 + 68512 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $82_1 + 32 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $459_1 = i64toi32_i32$0; + i64toi32_i32$0 = $83_1; + HEAP32[(i64toi32_i32$0 + 68500 | 0) >> 2] = $459_1; + HEAP32[(i64toi32_i32$0 + 68504 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $82_1 + 24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $466_1 = i64toi32_i32$1; + i64toi32_i32$1 = $83_1; + HEAP32[(i64toi32_i32$1 + 68492 | 0) >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 68496 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $82_1 + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $473_1 = i64toi32_i32$0; + i64toi32_i32$0 = $83_1; + HEAP32[(i64toi32_i32$0 + 68484 | 0) >> 2] = $473_1; + HEAP32[(i64toi32_i32$0 + 68488 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $82_1 + 8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $480_1 = i64toi32_i32$1; + i64toi32_i32$1 = $83_1; + HEAP32[(i64toi32_i32$1 + 68476 | 0) >> 2] = $480_1; + HEAP32[(i64toi32_i32$1 + 68480 | 0) >> 2] = i64toi32_i32$0; + break label$3; + case 15: + label$23 : { + if (!((HEAP32[(0 + 68476 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$23 + } + $438(); + } + $105_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $105_1 + 4 | 0; + $108_1 = HEAP32[$105_1 >> 2] | 0; + $111_1 = 0; + HEAP32[($108_1 + 48 | 0) >> 2] = HEAP32[($111_1 + 68516 | 0) >> 2] | 0; + i64toi32_i32$2 = $111_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68508 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68512 | 0) >> 2] | 0; + $515_1 = i64toi32_i32$0; + i64toi32_i32$0 = $108_1 + 40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $515_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68500 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68504 | 0) >> 2] | 0; + $522_1 = i64toi32_i32$1; + i64toi32_i32$1 = $108_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $522_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68492 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68496 | 0) >> 2] | 0; + $529_1 = i64toi32_i32$0; + i64toi32_i32$0 = $108_1 + 24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $529_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68484 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68488 | 0) >> 2] | 0; + $536_1 = i64toi32_i32$1; + i64toi32_i32$1 = $108_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $536_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68476 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68480 | 0) >> 2] | 0; + $543_1 = i64toi32_i32$0; + i64toi32_i32$0 = $108_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $543_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68468 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68472 | 0) >> 2] | 0; + $547_1 = i64toi32_i32$1; + i64toi32_i32$1 = $108_1; + HEAP32[i64toi32_i32$1 >> 2] = $547_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$3; + case 9: + $123_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $123_1 + 4 | 0; + HEAP32[(0 + 68388 | 0) >> 2] = HEAP32[$123_1 >> 2] | 0; + $128_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $128_1 + 4 | 0; + HEAP32[(0 + 68392 | 0) >> 2] = HEAP32[$128_1 >> 2] | 0; + break label$3; + case 12: + $133_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $133_1 + 4 | 0; + HEAP32[(0 + 68604 | 0) >> 2] = HEAP32[$133_1 >> 2] | 0; + $138_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $138_1 + 4 | 0; + HEAP32[(0 + 68608 | 0) >> 2] = HEAP32[$138_1 >> 2] | 0; + break label$3; + case 13: + $143_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $143_1 + 4 | 0; + HEAP8[(0 + 68374 | 0) >> 0] = HEAP32[$143_1 >> 2] | 0; + break label$3; + case 16: + $148_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $148_1 + 4 | 0; + HEAP8[(0 + 68375 | 0) >> 0] = HEAP32[$148_1 >> 2] | 0; + break label$3; + case 18: + i64toi32_i32$0 = 0; + $218$hi = i64toi32_i32$0; + $157_1 = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 7 | 0) & -8 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $157_1 + 8 | 0; + i64toi32_i32$2 = $157_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $630_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $630_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + $164_1 = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 7 | 0) & -8 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $164_1 + 8 | 0; + i64toi32_i32$2 = $164_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $647_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $647_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $222$hi = i64toi32_i32$1; + i64toi32_i32$1 = $218$hi; + i64toi32_i32$1 = $222$hi; + i64toi32_i32$1 = $218$hi; + i64toi32_i32$1 = $222$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $218$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $72_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $75_1 = 0 + } else { + $75_1 = 1 + } + $76_1 = $75_1; + } else { + $76_1 = 0 + } + $72_1 = $76_1; + } + label$24 : { + label$25 : { + if ($72_1 & 1 | 0) { + break label$25 + } + i64toi32_i32$2 = 0; + $224$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $226$hi = i64toi32_i32$1; + i64toi32_i32$1 = $224$hi; + i64toi32_i32$1 = $226$hi; + i64toi32_i32$1 = $224$hi; + i64toi32_i32$1 = $226$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $224$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $77_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $78_1 = 0 + } else { + $78_1 = 1 + } + $80_1 = $78_1; + } else { + $80_1 = 0 + } + $77_1 = $80_1; + } + if (!($77_1 & 1 | 0)) { + break label$24 + } + } + i64toi32_i32$3 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$3; + } + i64toi32_i32$3 = 0; + $229$hi = i64toi32_i32$3; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $231$hi = i64toi32_i32$1; + i64toi32_i32$1 = $229$hi; + i64toi32_i32$1 = $231$hi; + i64toi32_i32$1 = $229$hi; + i64toi32_i32$1 = $231$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $229$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$3 | 0)) { + $81_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$2 >>> 0) { + $84_1 = 0 + } else { + $84_1 = 1 + } + $85_1 = $84_1; + } else { + $85_1 = 0 + } + $81_1 = $85_1; + } + label$26 : { + if (!($81_1 & 1 | 0)) { + break label$26 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $234_1 = i64toi32_i32$0; + $234$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $235$hi = i64toi32_i32$0; + i64toi32_i32$0 = $234$hi; + i64toi32_i32$0 = $235$hi; + i64toi32_i32$0 = $234$hi; + i64toi32_i32$0 = $235$hi; + $694_1 = i64toi32_i32$1; + i64toi32_i32$0 = $234$hi; + i64toi32_i32$2 = $234_1; + i64toi32_i32$1 = $235$hi; + i64toi32_i32$3 = $694_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $86_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $87_1 = 0 + } else { + $87_1 = 1 + } + $88_1 = $87_1; + } else { + $88_1 = 0 + } + $86_1 = $88_1; + } + label$27 : { + if (!($86_1 & 1 | 0)) { + break label$27 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $704_1 = i64toi32_i32$2; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $704_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $708_1 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + HEAP32[(i64toi32_i32$0 + 68544 | 0) >> 2] = $708_1; + HEAP32[(i64toi32_i32$0 + 68548 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $712_1 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + HEAP32[(i64toi32_i32$2 + 68536 | 0) >> 2] = $712_1; + HEAP32[(i64toi32_i32$2 + 68540 | 0) >> 2] = i64toi32_i32$0; + break label$3; + case 21: + $181_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $181_1 + 4 | 0; + HEAP32[(0 + 68572 | 0) >> 2] = HEAP32[$181_1 >> 2] | 0; + break label$3; + case 22: + $186_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $186_1 + 4 | 0; + HEAP32[(0 + 68396 | 0) >> 2] = HEAP32[$186_1 >> 2] | 0; + break label$3; + default: + break label$4; + }; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $195_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $195_1 | 0; + } + + function $440() { + return 88 | 0; + } + + function $441() { + return 40 | 0; + } + + function $442() { + return 32 | 0; + } + + function $443($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $8(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $9(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $444(HEAP32[$3_1 >> 2] | 0 | 0); + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $444($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $445(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $445($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + FUNCTION_TABLE[HEAP32[(0 + 68516 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $446($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $27_1 = 0, $28_1 = 0, $43_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + label$4 : { + if (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) & 3 | 0) { + break label$4 + } + if (!(((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$3 + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $27_1 = 0; + $28_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($28_1 + 196 | 0) >> 2] = (HEAP32[($28_1 + 196 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = $27_1; + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != ($27_1 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $173(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$7 + } + $43_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $180(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $43_1 | 0, $43_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$5; + } + label$8 : { + label$9 : { + if (((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0) { + break label$9 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$8 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $184(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $185(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + label$11 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$11 + } + $644(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $639(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $75_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $75_1 | 0; + } + + function $447($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $131$hi = 0, $132$hi = 0, $135$hi = 0, $8_1 = 0, $11_1 = 0, $17_1 = 0, $21_1 = 0, $25_1 = 0, $56_1 = 0, $60_1 = 0, $123$hi = 0, $78_1 = 0, $126$hi = 0, $127$hi = 0, $128$hi = 0, $87_1 = 0, $136$hi = 0, $137$hi = 0, $139$hi = 0, $291_1 = 0, $321$hi = 0, $325_1 = 0, $128_1 = 0, $349$hi = 0, $353_1 = 0, $131_1 = 0, $363_1 = 0, $119_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + $8_1 = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + -1e3 | 0; + label$1 : { + label$2 : { + switch ($8_1 | 0) { + case 0: + $11_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $11_1 + 4 | 0; + HEAP32[(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] = HEAP32[$11_1 >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + break label$1; + case 1: + $17_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $17_1 + 4 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[$17_1 >> 2] | 0; + $21_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $21_1 + 4 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[$21_1 >> 2] | 0; + $25_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $25_1 + 4 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[$25_1 >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $448(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + break label$1; + default: + break label$2; + }; + } + HEAP32[($5_1 + 32 | 0) >> 2] = 1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 < 16 >>> 0 & 1 | 0)) { + break label$5 + } + label$7 : { + if (!((HEAP32[(3392 + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $56_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $56_1 + 4 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[$56_1 >> 2] | 0; + $60_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $60_1 + 4 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[$60_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $291_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[$5_1 >> 2] = $291_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$1; + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$1 = 0; + $123$hi = i64toi32_i32$1; + $78_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = $78_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $321$hi = i64toi32_i32$0; + i64toi32_i32$0 = $123$hi; + i64toi32_i32$0 = $321$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $123$hi; + i64toi32_i32$3 = HEAP32[((3392 + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $325_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $78_1; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = $325_1; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$1; + break label$8; + } + label$10 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$10 + } + i64toi32_i32$1 = 0; + $126$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $127$hi = i64toi32_i32$1; + i64toi32_i32$1 = $126$hi; + i64toi32_i32$1 = $127$hi; + i64toi32_i32$1 = $126$hi; + i64toi32_i32$0 = HEAP32[((3392 + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $127$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + $128_1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0; + $128$hi = i64toi32_i32$2; + $87_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = $87_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $349$hi = i64toi32_i32$0; + i64toi32_i32$0 = $128$hi; + i64toi32_i32$0 = $349$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $128$hi; + i64toi32_i32$3 = $128_1; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $353_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $87_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $353_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$2; + } + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $131_1 = i64toi32_i32$2; + $131$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $132$hi = i64toi32_i32$2; + i64toi32_i32$2 = $131$hi; + i64toi32_i32$2 = $132$hi; + i64toi32_i32$2 = $131$hi; + i64toi32_i32$2 = $132$hi; + $363_1 = i64toi32_i32$1; + i64toi32_i32$2 = $131$hi; + i64toi32_i32$0 = $131_1; + i64toi32_i32$1 = $132$hi; + i64toi32_i32$3 = $363_1; + label$11 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$11 + } + $395(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0); + } + label$12 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$0 = 0; + $135$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $136$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $137$hi = i64toi32_i32$2; + i64toi32_i32$2 = $136$hi; + i64toi32_i32$2 = $137$hi; + i64toi32_i32$2 = $136$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $137$hi; + i64toi32_i32$1 = HEAP32[((3392 + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $139$hi = i64toi32_i32$0; + i64toi32_i32$0 = $135$hi; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$0 = $135$hi; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + i64toi32_i32$3 = $135$hi; + i64toi32_i32$1 = 0; + HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] = ((i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0; + } + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + break label$5; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + } + $119_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $119_1 | 0; + } + + function $448($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$6 = 0, $119_1 = 0, $154_1 = 0, $178_1 = 0, $194_1 = 0, $7_1 = 0, $214$hi = 0, $215$hi = 0, $53_1 = 0, $219$hi = 0, $220$hi = 0, $222$hi = 0, $223$hi = 0, $224$hi = 0, $225$hi = 0, $227$hi = 0, $228$hi = 0, $230$hi = 0, $231$hi = 0, $232$hi = 0, $233$hi = 0, $235$hi = 0, $236$hi = 0, $118_1 = 0, $214_1 = 0, $262_1 = 0, $265_1 = 0, $390_1 = 0, $219_1 = 0, $418_1 = 0, $222_1 = 0, $437_1 = 0, $227_1 = 0, $469_1 = 0, $230_1 = 0, $488_1 = 0, $235_1 = 0, $517_1 = 0, $211_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $214_1 = i64toi32_i32$1; + $214$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $215$hi = i64toi32_i32$0; + i64toi32_i32$0 = $214$hi; + i64toi32_i32$0 = $215$hi; + $262_1 = i64toi32_i32$1; + i64toi32_i32$0 = $214$hi; + i64toi32_i32$1 = $215$hi; + i64toi32_i32$1 = __wasm_i64_mul($214_1 | 0, i64toi32_i32$0 | 0, $262_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $265_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $265_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!(($7(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $7_1 | 0) | 0 | 0) > ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 5; + break label$1; + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 280 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $42(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 320 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) & -8 | 0; + label$4 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) <= (4 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 32 | 0) >> 2] = 0; + } + label$5 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + label$6 : { + label$7 : { + label$8 : { + if (!(HEAP32[($6_1 + 32 | 0) >> 2] | 0)) { + break label$8 + } + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$7 + } + } + $53_1 = 0; + HEAP32[($6_1 + 32 | 0) >> 2] = $53_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $53_1; + break label$6; + } + label$9 : { + label$10 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + $449(); + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $39(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $450(); + label$11 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + i64toi32_i32$0 = $16(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $390_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $390_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$1; + } + break label$9; + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + } + label$12 : { + label$13 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) >= (384 | 0) & 1 | 0)) { + break label$13 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $219_1 = i64toi32_i32$1; + $219$hi = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 384 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $220$hi = i64toi32_i32$0; + i64toi32_i32$0 = $219$hi; + i64toi32_i32$0 = $220$hi; + $418_1 = i64toi32_i32$1; + i64toi32_i32$0 = $219$hi; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$1 = __wasm_i64_sdiv($219_1 | 0, i64toi32_i32$0 | 0, $418_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $222_1 = i64toi32_i32$0; + $222$hi = i64toi32_i32$1; + i64toi32_i32$0 = Math_imul(HEAP32[($6_1 + 32 | 0) >> 2] | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0); + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $223$hi = i64toi32_i32$1; + i64toi32_i32$1 = $222$hi; + i64toi32_i32$1 = $223$hi; + $437_1 = i64toi32_i32$0; + i64toi32_i32$1 = $222$hi; + i64toi32_i32$2 = $222_1; + i64toi32_i32$0 = $223$hi; + i64toi32_i32$3 = $437_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $224$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $225$hi = i64toi32_i32$5; + i64toi32_i32$5 = $224$hi; + i64toi32_i32$5 = $225$hi; + i64toi32_i32$5 = $224$hi; + i64toi32_i32$2 = $225$hi; + i64toi32_i32$2 = __wasm_i64_sdiv(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, 128 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$2; + break label$12; + } + label$14 : { + label$15 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) >= (256 | 0) & 1 | 0)) { + break label$15 + } + i64toi32_i32$1 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $227_1 = i64toi32_i32$5; + $227$hi = i64toi32_i32$2; + i64toi32_i32$5 = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 128 | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $228$hi = i64toi32_i32$2; + i64toi32_i32$2 = $227$hi; + i64toi32_i32$2 = $228$hi; + $469_1 = i64toi32_i32$5; + i64toi32_i32$2 = $227$hi; + i64toi32_i32$5 = $228$hi; + i64toi32_i32$5 = __wasm_i64_sdiv($227_1 | 0, i64toi32_i32$2 | 0, $469_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $230_1 = i64toi32_i32$2; + $230$hi = i64toi32_i32$5; + i64toi32_i32$2 = Math_imul(HEAP32[($6_1 + 32 | 0) >> 2] | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0); + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $231$hi = i64toi32_i32$5; + i64toi32_i32$5 = $230$hi; + i64toi32_i32$5 = $231$hi; + $488_1 = i64toi32_i32$2; + i64toi32_i32$5 = $230$hi; + i64toi32_i32$1 = $230_1; + i64toi32_i32$2 = $231$hi; + i64toi32_i32$3 = $488_1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + $232$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $233$hi = i64toi32_i32$4; + i64toi32_i32$4 = $232$hi; + i64toi32_i32$4 = $233$hi; + i64toi32_i32$4 = $232$hi; + i64toi32_i32$1 = $233$hi; + i64toi32_i32$1 = __wasm_i64_sdiv(i64toi32_i32$0 | 0, i64toi32_i32$4 | 0, 128 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$1; + break label$14; + } + label$16 : { + label$17 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$17 + } + i64toi32_i32$5 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $235_1 = i64toi32_i32$4; + $235$hi = i64toi32_i32$1; + i64toi32_i32$4 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$4 >> 31 | 0; + $236$hi = i64toi32_i32$1; + i64toi32_i32$1 = $235$hi; + i64toi32_i32$1 = $236$hi; + $517_1 = i64toi32_i32$4; + i64toi32_i32$1 = $235$hi; + i64toi32_i32$4 = $236$hi; + i64toi32_i32$4 = __wasm_i64_sdiv($235_1 | 0, i64toi32_i32$1 | 0, $517_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + break label$16; + } + $118_1 = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $118_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $118_1; + } + } + } + $119_1 = 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 320 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 300 | 0) >> 2] = $119_1; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 304 | 0) >> 2] = $119_1; + HEAP16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 276 | 0) >> 1] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 278 | 0) >> 1] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != ($119_1 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[(HEAP32[$6_1 >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 300 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 300 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + HEAP32[$6_1 >> 2] = (HEAP32[$6_1 >> 2] | 0) + (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$21; + }; + } + $154_1 = 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 308 | 0) >> 2] = $154_1; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 312 | 0) >> 2] = $154_1; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 316 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $154_1; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[(HEAP32[$6_1 >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 308 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 308 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + HEAP32[$6_1 >> 2] = (HEAP32[$6_1 >> 2] | 0) + 128 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + $178_1 = 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 324 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 272 | 0) >> 2] = $178_1; + HEAP8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 280 | 0) >> 0] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == ($178_1 | 0) & 1 | 0 ? 1 : $178_1; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 284 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0; + break label$18; + } + $194_1 = 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 320 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 308 | 0) >> 2] = $194_1; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 312 | 0) >> 2] = $194_1; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 316 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 324 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 272 | 0) >> 2] = 1; + HEAP16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 276 | 0) >> 1] = 0; + HEAP8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 280 | 0) >> 0] = 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 284 | 0) >> 2] = $194_1; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $211_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $211_1 | 0; + } + + function $449() { + label$1 : { + if (!((HEAP32[(0 + 114616 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + FUNCTION_TABLE[HEAP32[(0 + 114616 | 0) >> 2] | 0 | 0](); + } + return; + } + + function $450() { + label$1 : { + if (!((HEAP32[(0 + 114620 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + FUNCTION_TABLE[HEAP32[(0 + 114620 | 0) >> 2] | 0 | 0](); + } + return; + } + + function $451($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $452($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $20_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[i64toi32_i32$1 >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $20_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $20_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$1; + return; + } + + function $453($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0; + } + + function $454($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0; + } + + function $455($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = $456(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $6_1 | 0; + } + + function $456($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if ($404(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3(163006 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$4 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0 | 0](8, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0, 0) | 0; + } + $457(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $458(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + label$5 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + if (!($204(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + $113(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 5 | 0, 41052 | 0, 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 5; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 96 | 0) >> 2] = 1691352191; + $197(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $44_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $44_1 | 0; + } + + function $457($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + $8(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$6 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$6 + } + $2004(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + continue label$5; + }; + } + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 348 | 0) >> 2] | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $2004(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + continue label$8; + }; + } + $171(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 32 | 0; + return; + } + + function $458($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $869(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 68 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $459($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = $456(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $6_1 | 0; + } + + function $460($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0; + $5_1 = global$0 - 16 | 0; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 400 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 404 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 408 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 452 | 0) >> 2] = $6_1; + return $6_1 | 0; + } + + function $461($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $460(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 10 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 452 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$1; + } + $17_1 = 0; + $460(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $17_1 | 0, $17_1 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $462($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $24_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 452 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((Math_imul((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0, 1e3) | 0) > (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $463(HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, 1e6 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + $24_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $24_1 | 0; + } + + function $463($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $9_1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $464($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $11_1 = 0, $20_1 = 0; + $10_1 = global$0 - 32 | 0; + global$0 = $10_1; + $11_1 = 0; + HEAP32[($10_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 8 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 4 | 0) >> 2] = $6_1; + HEAP32[$10_1 >> 2] = $7_1; + $20_1 = $465(HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$10_1 >> 2] | 0 | 0, $11_1 | 0, $11_1 | 0, $11_1 | 0) | 0; + global$0 = $10_1 + 32 | 0; + return $20_1 | 0; + } + + function $465($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1, $9_1, $10_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + $9_1 = $9_1 | 0; + $10_1 = $10_1 | 0; + var $13_1 = 0, $14_1 = 0, i64toi32_i32$0 = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $13_1 = global$0 - 64 | 0; + global$0 = $13_1; + $14_1 = 0; + HEAP32[($13_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($13_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($13_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($13_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($13_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($13_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($13_1 + 36 | 0) >> 2] = $6_1; + HEAP32[($13_1 + 32 | 0) >> 2] = $7_1; + HEAP32[($13_1 + 28 | 0) >> 2] = $8_1; + HEAP32[($13_1 + 24 | 0) >> 2] = $9_1; + HEAP32[($13_1 + 20 | 0) >> 2] = $10_1; + HEAP32[($13_1 + 16 | 0) >> 2] = 1; + HEAP32[($13_1 + 12 | 0) >> 2] = $14_1; + label$1 : { + label$2 : { + if (!((HEAP32[($13_1 + 20 | 0) >> 2] | 0 | 0) != ($14_1 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $39(12 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($13_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + $118(HEAP32[($13_1 + 60 | 0) >> 2] | 0 | 0); + FUNCTION_TABLE[HEAP32[($13_1 + 20 | 0) >> 2] | 0 | 0](HEAP32[($13_1 + 44 | 0) >> 2] | 0); + break label$1; + } + HEAP32[(HEAP32[($13_1 + 12 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($13_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($13_1 + 44 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $466(HEAP32[($13_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($13_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (HEAP32[(HEAP32[($13_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$4 + } + FUNCTION_TABLE[HEAP32[($13_1 + 20 | 0) >> 2] | 0 | 0](HEAP32[($13_1 + 44 | 0) >> 2] | 0); + $42(HEAP32[($13_1 + 12 | 0) >> 2] | 0 | 0); + } + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $217(HEAP32[($13_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $66_1 = HEAP32[($13_1 + 16 | 0) >> 2] | 0; + global$0 = $13_1 + 64 | 0; + return $66_1 | 0; + } + + function $466($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1, $9_1, $10_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + $9_1 = $9_1 | 0; + $10_1 = $10_1 | 0; + var $13_1 = 0, $35_1 = 0, $53_1 = 0, $87_1 = 0, $115_1 = 0, $191_1 = 0, $236_1 = 0, $257_1 = 0, $272_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $13_1 = global$0 - 64 | 0; + global$0 = $13_1; + HEAP32[($13_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($13_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($13_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($13_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($13_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($13_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($13_1 + 32 | 0) >> 2] = $6_1; + HEAP32[($13_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($13_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($13_1 + 20 | 0) >> 2] = $9_1; + HEAP32[($13_1 + 16 | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($13_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + label$4 : { + if (!((HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if ((HEAP32[($13_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + } + $35_1 = 0; + if (((HEAP32[($13_1 + 28 | 0) >> 2] | 0 | 0) == ($35_1 | 0) & 1 | 0 | 0) != ((HEAP32[($13_1 + 32 | 0) >> 2] | 0 | 0) == ($35_1 | 0) & 1 | 0 | 0) & 1 | 0) { + break label$3 + } + $53_1 = 0; + if (((HEAP32[($13_1 + 24 | 0) >> 2] | 0 | 0) == ($53_1 | 0) & 1 | 0 | 0) != ((HEAP32[($13_1 + 20 | 0) >> 2] | 0 | 0) == ($53_1 | 0) & 1 | 0 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[($13_1 + 48 | 0) >> 2] | 0 | 0) < (-1 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[($13_1 + 48 | 0) >> 2] | 0 | 0) > (127 | 0) & 1 | 0) { + break label$3 + } + $87_1 = $68(HEAP32[($13_1 + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($13_1 + 8 | 0) >> 2] = $87_1; + if (!((255 | 0) < ($87_1 | 0) & 1 | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $3(163633 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($13_1 + 4 | 0) >> 2] = (HEAP32[($13_1 + 44 | 0) >> 2] | 0) & 3672064 | 0; + HEAP32[($13_1 + 44 | 0) >> 2] = (HEAP32[($13_1 + 44 | 0) >> 2] | 0) & 7 | 0; + HEAP32[($13_1 + 4 | 0) >> 2] = (HEAP32[($13_1 + 4 | 0) >> 2] | 0) ^ 2097152 | 0; + label$5 : { + label$6 : { + if (!((HEAP32[($13_1 + 44 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$6 + } + $115_1 = 24; + HEAP32[($13_1 + 44 | 0) >> 2] = ((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $115_1 | 0) >> $115_1 | 0 ? 2 : 3; + break label$5; + } + label$7 : { + if (!((HEAP32[($13_1 + 44 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $466(HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 48 | 0) >> 2] | 0 | 0, (HEAP32[($13_1 + 4 | 0) >> 2] | 0 | 1 | 0) ^ 2097152 | 0 | 0, HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[$13_1 >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $466(HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 48 | 0) >> 2] | 0 | 0, (HEAP32[($13_1 + 4 | 0) >> 2] | 0 | 2 | 0) ^ 2097152 | 0 | 0, HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + label$9 : { + if (!(HEAP32[$13_1 >> 2] | 0)) { + break label$9 + } + HEAP32[($13_1 + 60 | 0) >> 2] = HEAP32[$13_1 >> 2] | 0; + break label$1; + } + HEAP32[($13_1 + 44 | 0) >> 2] = 3; + } + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $469(HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 48 | 0) >> 2] | 0 | 0, (HEAP32[($13_1 + 44 | 0) >> 2] | 0) & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($13_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (!(((HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 3 | 0 | 0) == (HEAP32[($13_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $191_1 = 24; + if (!((((HEAPU8[(HEAP32[($13_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $191_1 | 0) >> $191_1 | 0 | 0) == (HEAP32[($13_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if (!(HEAP32[((HEAP32[($13_1 + 56 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0)) { + break label$11 + } + $113(HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, 5 | 0, 41823 | 0, 0 | 0); + HEAP32[($13_1 + 60 | 0) >> 2] = 5; + break label$1; + } + $395(HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, 0 | 0); + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $469(HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 48 | 0) >> 2] | 0 | 0, (HEAP32[($13_1 + 44 | 0) >> 2] | 0) & 255 | 0 | 0, 1 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if ((HEAP32[($13_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + HEAP32[($13_1 + 60 | 0) >> 2] = 7; + break label$1; + } + $208(HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 12 | 0) >> 2] | 0 | 0); + label$13 : { + if (!((HEAP32[($13_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + $236_1 = HEAP32[($13_1 + 16 | 0) >> 2] | 0; + HEAP32[$236_1 >> 2] = (HEAP32[$236_1 >> 2] | 0) + 1 | 0; + } + HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($13_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 3 | 0 | (HEAP32[($13_1 + 4 | 0) >> 2] | 0) | 0; + label$14 : { + label$15 : { + if (!((HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $257_1 = HEAP32[($13_1 + 36 | 0) >> 2] | 0; + break label$14; + } + $257_1 = HEAP32[($13_1 + 32 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $257_1; + HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($13_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($13_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($13_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($13_1 + 40 | 0) >> 2] | 0; + HEAP8[(HEAP32[($13_1 + 12 | 0) >> 2] | 0) >> 0] = HEAP32[($13_1 + 48 | 0) >> 2] | 0; + HEAP32[($13_1 + 60 | 0) >> 2] = 0; + } + $272_1 = HEAP32[($13_1 + 60 | 0) >> 2] | 0; + global$0 = $13_1 + 64 | 0; + return $272_1 | 0; + } + + function $467($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, $12_1 = 0, $22_1 = 0; + $11_1 = global$0 - 48 | 0; + global$0 = $11_1; + $12_1 = 0; + HEAP32[($11_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 12 | 0) >> 2] = $8_1; + $22_1 = $465(HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 16 | 0) >> 2] | 0 | 0, $12_1 | 0, $12_1 | 0, HEAP32[($11_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $11_1 + 48 | 0; + return $22_1 | 0; + } + + function $468($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1, $9_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + $9_1 = $9_1 | 0; + var $12_1 = 0, $24_1 = 0; + $12_1 = global$0 - 48 | 0; + global$0 = $12_1; + HEAP32[($12_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($12_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($12_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($12_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($12_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($12_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($12_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($12_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($12_1 + 12 | 0) >> 2] = $8_1; + HEAP32[($12_1 + 8 | 0) >> 2] = $9_1; + $24_1 = $465(HEAP32[($12_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($12_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $12_1 + 48 | 0; + return $24_1 | 0; + } + + function $469($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $117_1 = 0, i64toi32_i32$0 = 0, $201_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP8[($7_1 + 47 | 0) >> 0] = $3_1; + HEAP8[($7_1 + 46 | 0) >> 0] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $8_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $68(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $362((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 368 | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $472(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 47 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + label$4 : { + if (((HEAPU8[($7_1 + 46 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$4 + } + label$5 : { + if ((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 2 | 0)) { + break label$4 + } + } + HEAP32[($7_1 + 32 | 0) >> 2] = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = (((HEAPU8[(((HEAPU8[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0) % (23 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $473(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $472(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 47 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$7; + }; + } + } + label$9 : { + label$10 : { + if (!((HEAPU8[($7_1 + 46 | 0) >> 0] | 0) & 255 | 0)) { + break label$10 + } + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$0 = 0; + $117_1 = $308(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 40 | 0) + 1 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = $117_1; + if (!(($117_1 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 40 | 0; + HEAP8[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 0] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAPU8[($7_1 + 47 | 0) >> 0] | 0) & 255 | 0; + $3288((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 40 | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$11 : { + label$12 : while (1) { + if (!(((HEAPU8[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP8[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 0] = HEAPU8[(((HEAPU8[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $474((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 368 | 0 | 0, HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + $13(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + $118(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$9; + } + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + label$14 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + if ((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$15 + } + if (!((HEAPU8[($7_1 + 46 | 0) >> 0] | 0) & 255 | 0)) { + break label$14 + } + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + break label$9; + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + } + $201_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $201_1 | 0; + } + + function $470($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $37_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($469(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + break label$1; + } + $37_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $467(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 11 | 0, $37_1 | 0, $37_1 | 0, 3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $44_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $44_1 | 0; + } + + function $471($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $302(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(41886 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 32 | 0; + return; + } + + function $472($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, $24_1 = 0, $37_1 = 0, $48_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 19 | 0) >> 0] = $2_1; + $8_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) != (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$3 + } + $24_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == ($24_1 | 0) & 1 | 0 ? $24_1 : 6; + break label$1; + } + $37_1 = 24; + label$4 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $37_1 | 0) >> $37_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + $48_1 = 24; + label$5 : { + label$6 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $48_1 | 0) >> $48_1 | 0 | 0) == (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 4; + break label$5; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + } + label$7 : { + label$8 : { + if (!(((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 3 | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 2 | 0; + break label$7; + } + label$9 : { + if (!((((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0) & (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) & 2 | 0)) { + break label$9 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + return HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $473($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $26_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[(114412 + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if ($88(HEAP32[((HEAP32[$4_1 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + break label$1; + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $26_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $26_1 | 0; + } + + function $474($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $59_1 = 0, $107_1 = 0, i64toi32_i32$0 = 0, $93_1 = 0, $112_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1124(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $1125(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + break label$3; + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + break label$1; + } + label$5 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $39(16 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $59_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($59_1 + 4 | 0) >> 2] = (HEAP32[($59_1 + 4 | 0) >> 2] | 0) + 1 | 0; + label$7 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 >= 10 >>> 0 & 1 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 > ((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) << 1 | 0) >>> 0 & 1 | 0)) { + break label$7 + } + label$8 : { + if (!($1126(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 1 | 0 | 0) | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (($1127(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0) >>> 0) % ((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + $93_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $107_1 = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + break label$9; + } + $107_1 = 0; + } + $1128($93_1 | 0, $107_1 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $112_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $112_1 | 0; + } + + function $475($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $477(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $15_1 = 0; + $477(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $15_1 | 0, $15_1 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $476($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + label$1 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) >= (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $449(); + $478(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $450(); + } + global$0 = $6_1 + 16 | 0; + return 0 | 0; + } + + function $477($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 236 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 240 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + return HEAP32[$5_1 >> 2] | 0 | 0; + } + + function $478($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $479(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $5_1 | 0, $5_1 | 0, $5_1 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $479($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $51_1 = 0, $65_1 = 0, $85_1 = 0, $88_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 16 | 0) >> 2] = 10; + label$1 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = -1; + } + label$2 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] = -1; + } + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($7_1 + 44 | 0) >> 2] = 21; + break label$3; + } + label$6 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $51_1 = 24; + if (!(((HEAPU8[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 0] | 0) << $51_1 | 0) >> $51_1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $122(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + label$8 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 1; + $65_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $113($65_1 | 0, 1 | 0, 3520 | 0, $7_1 | 0); + break label$7; + } + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 408 | 0) >> 2] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $480(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $115(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $217(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0) { + break label$9 + } + $85_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + HEAP32[($85_1 + 264 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + } + $88_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $88_1 | 0; + } + + function $480($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $18_1 = 0, $42_1 = 0, $68_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $8_1; + HEAP32[$7_1 >> 2] = $8_1; + HEAP32[($7_1 + 4 | 0) >> 2] = $8_1; + label$1 : while (1) { + $18_1 = 0; + label$2 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = (HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($18_1 & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if ((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (10 | 0) & 1 | 0)) { + break label$4 + } + } + $42_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $481(HEAP32[(((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 16 | 0) >> 2] = $42_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $42_1; + label$6 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[$7_1 >> 2] = 1; + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + } + } + HEAP32[($7_1 + 4 | 0) >> 2] = (HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$7 : { + label$8 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$8 + } + if (!(HEAP32[$7_1 >> 2] | 0)) { + break label$8 + } + $68_1 = 5; + break label$7; + } + $68_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + } + global$0 = $7_1 + 32 | 0; + return $68_1 | 0; + } + + function $481($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + label$1 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0); + label$2 : { + label$3 : { + if (!((HEAPU8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 6; + break label$2; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2005(HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + $30_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $30_1 | 0; + } + + function $482($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if ($404(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $3(164397 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) | 0; + } + $32_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $32_1 | 0; + } + + function $483($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) >= (12 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 108 | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[(3552 + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(3552 + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 108 | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + return HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $484($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $9_1 = $485(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 6 | 0, 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $485($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $68_1 = 0, $94_1 = 0, $67_1 = 0, $7_1 = 0, $72_1 = 0, $74_1 = 0, $113_1 = 0, $351$hi = 0, $352$hi = 0, $178_1 = 0, $270_1 = 0, $277_1 = 0, $537_1 = 0, $544_1 = 0, $551_1 = 0, $558_1 = 0, $565_1 = 0, $569_1 = 0, $587_1 = 0, $604_1 = 0, $179_1 = 0, $180_1 = 0, $187_1 = 0, $222_1 = 0, $249_1 = 0, $340_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $7_1; + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $25() | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + label$4 : { + if ((HEAPU8[(0 + 68372 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0) & 32768 | 0)) { + break label$6 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + break label$5; + } + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0) & 65536 | 0)) { + break label$8 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 1; + break label$7; + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAPU8[(0 + 68373 | 0) >> 0] | 0) & 255 | 0; + } + } + } + label$9 : { + label$10 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0) & 262144 | 0)) { + break label$10 + } + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) & -131073 | 0; + break label$9; + } + label$11 : { + if (!(HEAP32[(0 + 68568 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 131072 | 0; + } + } + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) & -655129 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $114(488 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + label$13 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + break label$12; + } + label$14 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$14 + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = 8; + label$15 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$15 + } + $42(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + break label$12; + } + label$16 : { + if (HEAP32[($6_1 + 16 | 0) >> 2] | 0) { + break label$16 + } + } + } + $67_1 = 1; + $68_1 = 0; + $72_1 = 2261; + $74_1 = 15; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] = 255; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = 2; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 96 | 0) >> 2] = -264537850; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 412 | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 272 | 0) >> 2] = 1; + HEAP16[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 276 | 0) >> 1] = 0; + $94_1 = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 108 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 3592 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 3596 | 0) >> 2] | 0; + $537_1 = i64toi32_i32$0; + i64toi32_i32$0 = $94_1 + 40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $537_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 3584 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 3588 | 0) >> 2] | 0; + $544_1 = i64toi32_i32$1; + i64toi32_i32$1 = $94_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $544_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 3576 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 3580 | 0) >> 2] | 0; + $551_1 = i64toi32_i32$0; + i64toi32_i32$0 = $94_1 + 24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $551_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 3568 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 3572 | 0) >> 2] | 0; + $558_1 = i64toi32_i32$1; + i64toi32_i32$1 = $94_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $558_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 3560 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 3564 | 0) >> 2] | 0; + $565_1 = i64toi32_i32$0; + i64toi32_i32$0 = $94_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $565_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 3552 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 3556 | 0) >> 2] | 0; + $569_1 = i64toi32_i32$1; + i64toi32_i32$1 = $94_1; + HEAP32[i64toi32_i32$1 >> 2] = $569_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 152 | 0) >> 2] = $68_1; + HEAP8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 79 | 0) >> 0] = $67_1; + HEAP8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 84 | 0) >> 0] = 255; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68536 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68540 | 0) >> 2] | 0; + $587_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 48 | 0) >> 2] = $587_1; + HEAP32[(i64toi32_i32$0 + 52 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 92 | 0) >> 2] = $68_1; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 156 | 0) >> 2] = 2147483647; + $113_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = $113_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $351$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $352$hi = i64toi32_i32$0; + i64toi32_i32$0 = $351$hi; + i64toi32_i32$0 = $352$hi; + i64toi32_i32$0 = $351$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $352$hi; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $604_1 = i64toi32_i32$2 | -536575776 | 0; + i64toi32_i32$2 = $113_1; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = $604_1; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$1; + $489((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 384 | 0 | 0); + $489((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 340 | 0 | 0); + $490(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $72_1 | 0, $67_1 & 255 | 0 | 0, $68_1 | 0, $74_1 | 0, $68_1 | 0) | 0; + $490(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $72_1 | 0, 3 & 255 | 0 | 0, $68_1 | 0, $74_1 | 0, $68_1 | 0) | 0; + $490(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $72_1 | 0, 2 & 255 | 0 | 0, $68_1 | 0, $74_1 | 0, $68_1 | 0) | 0; + $490(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 32387 | 0, $67_1 & 255 | 0 | 0, $68_1 | 0, 14 | 0, $68_1 | 0) | 0; + $490(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 41945 | 0, $67_1 & 255 | 0 | 0, $68_1 | 0, 13 | 0, $68_1 | 0) | 0; + label$17 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$17 + } + break label$12; + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if ((1 << ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) & 7 | 0) | 0) & 70 | 0) { + break label$19 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3(165100 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$18; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $491(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0, $6_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$20 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$20 + } + label$21 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$21 + } + $118(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + $178_1 = 0; + $179_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $180_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $187_1 = (HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != ($178_1 | 0) & 1 | 0 ? 1976 : $178_1; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + $113($179_1 | 0, $180_1 | 0, $187_1 | 0, $6_1 | 0); + $42(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + break label$12; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $492(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 256 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$22 + } + label$23 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (3082 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 7; + } + $115(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + break label$12; + } + $127(HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $222_1 = $493(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = $222_1; + label$24 : { + if (((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$24 + } + $494(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 77 | 0) >> 0] | 0) & 255 | 0 | 0); + } + $249_1 = $493(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] = $249_1; + HEAP32[(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] = 8749; + HEAP8[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 0] = 3; + HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = 3385; + HEAP8[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 24 | 0) >> 0] = 1; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 96 | 0) >> 2] = -1607883113; + label$25 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$25 + } + break label$12; + } + $270_1 = 0; + $115(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $270_1 | 0); + $495(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $482(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 4 | 0) >> 2] = $270_1; + label$26 : while (1) { + $277_1 = 0; + label$27 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$27 + } + $277_1 = (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) < (5 | 0); + } + label$28 : { + if (!($277_1 & 1 | 0)) { + break label$28 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(41952 + ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$26; + } + break label$26; + }; + label$29 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$29 + } + $496(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $482(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$30 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$30 + } + break label$12; + } + } + label$31 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$31 + } + $115(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + $448(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[(0 + 68388 | 0) >> 2] | 0 | 0, HEAP32[(0 + 68392 | 0) >> 2] | 0 | 0) | 0; + $475(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 1e3 | 0) | 0; + } + label$32 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$32 + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $482(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$33 : { + label$34 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$34 + } + $455(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + break label$33; + } + label$35 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$35 + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 96 | 0) >> 2] = 1266094736; + } + } + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $497(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) & 255 | 0; + } + $340_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $340_1 | 0; + } + + function $486($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $12_1 = 0, $33_1 = 0, $57_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (!(HEAP32[($7_1 + 24 | 0) >> 2] | 0)) { + break label$2 + } + $12_1 = ((HEAPU8[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (32 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + -1 | 0; + continue label$1; + } + break label$1; + }; + label$4 : while (1) { + $33_1 = 0; + label$5 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$5 + } + $33_1 = ((HEAPU8[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (32 | 0); + } + label$6 : { + if (!($33_1 & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + -1 | 0; + continue label$4; + } + break label$4; + }; + $57_1 = $488(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $7_1 + 32 | 0; + return $57_1 | 0; + } + + function $487($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $18_1 = 0, $8_1 = 0, $9_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + $8_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $9_1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + break label$1; + } + $18_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $89($8_1 | 0, $9_1 | 0, $18_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((0 | 0) == (HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) - (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0; + } + $32_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $32_1 | 0; + } + + function $488($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $16_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + break label$1; + } + $16_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 4 | 0) >> 2] = $16_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3228(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) - (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0; + } + $27_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $27_1 | 0; + } + + function $489($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $4_1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $4_1; + return; + } + + function $490($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $30_1 = 0, $50_1 = 0, $155_1 = 0, $171_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $1_1; + HEAP8[($8_1 + 35 | 0) >> 0] = $2_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAPU8[($8_1 + 35 | 0) >> 0] | 0) & 255 | 0; + label$1 : { + label$2 : { + if ((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0) { + break label$2 + } + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$1 + } + } + $30_1 = 24; + HEAP32[($8_1 + 12 | 0) >> 2] = ((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 ? 2 : 3; + } + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$4 + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $3(164454 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + $50_1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $498(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 12 | 0) >> 2] | 0) & 255 | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, $50_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) != ($50_1 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!(HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0)) { + break label$7 + } + $113(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, 5 | 0, 61082 | 0, 0 | 0); + HEAP32[($8_1 + 44 | 0) >> 2] = 5; + break label$3; + } + $395(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, 0 | 0); + label$8 : { + if (!((((HEAPU8[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) & -9 | 0 | 0) == (HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $362((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 384 | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 4 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[$8_1 >> 2] = (HEAP32[($8_1 + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 4 | 0) >> 2] | 0, 20) | 0; + label$11 : { + if (!(((HEAPU8[((HEAP32[$8_1 >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + if (!((HEAP32[((HEAP32[$8_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$8_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[$8_1 >> 2] | 0) + 8 | 0) >> 2] | 0); + } + HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] = 0; + } + HEAP32[($8_1 + 4 | 0) >> 2] = (HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $498(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 12 | 0) >> 2] | 0) & 255 | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($8_1 + 44 | 0) >> 2] = 7; + break label$3; + } + $155_1 = 0; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] = HEAP32[($8_1 + 12 | 0) >> 2] | 0 | (((HEAPU8[($8_1 + 35 | 0) >> 0] | 0) & 255 | 0) & 8 | 0) | 0; + $115(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, $155_1 | 0); + HEAP32[($8_1 + 44 | 0) >> 2] = $155_1; + } + $171_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $171_1 | 0; + } + + function $491($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $254_1 = 0, $73_1 = 0, $74_1 = 0, $75_1 = 0, $76_1 = 0, $519_1 = 0, $77_1 = 0, $78_1 = 0, $79_1 = 0, $80_1 = 0, $81_1 = 0, $376_1 = 0, $33_1 = 0, $53_1 = 0, $701$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $83_1 = 0, $94_1 = 0, $108_1 = 0, $111_1 = 0, $117_1 = 0, $164_1 = 0, $165_1 = 0, $168_1 = 0, $171_1 = 0, $185_1 = 0, $218_1 = 0, $223_1 = 0, $232_1 = 0, $237_1 = 0, $250_1 = 0, $251_1 = 0, $258_1 = 0, $270_1 = 0, $288_1 = 0, $299_1 = 0, $315_1 = 0, $318_1 = 0, $341_1 = 0, $351_1 = 0, $365_1 = 0, $373_1 = 0, $383_1 = 0, $398_1 = 0, $412_1 = 0, $422_1 = 0, $431_1 = 0, $448_1 = 0, $460_1 = 0, $473_1 = 0, $558_1 = 0, $784_1 = 0, $701_1 = 0, $836$hi = 0, $151_1 = 0, $156_1 = 0, $217_1 = 0, $231_1 = 0, $242_1 = 0, $421_1 = 0, $458_1 = 0, $459_1 = 0, $472_1 = 0, $605_1 = 0, $610_1 = 0, $622_1 = 0, $627_1 = 0, $673_1 = 0, $686_1 = 0, $697_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 176 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 168 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 164 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 160 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 156 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 152 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 148 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 144 | 0) >> 2] = 0; + HEAP32[($8_1 + 140 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 160 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 136 | 0) >> 2] = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $68(HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($8_1 + 140 | 0) >> 2] | 0) & 64 | 0) { + break label$5 + } + if (!((HEAPU8[(0 + 68374 | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + } + if (!((HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0) >= (5 | 0) & 1 | 0)) { + break label$4 + } + if ($3228(HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0, 35882 | 0, 5 | 0) | 0) { + break label$4 + } + $33_1 = 0; + HEAP32[($8_1 + 108 | 0) >> 2] = $33_1; + i64toi32_i32$1 = (HEAP32[($8_1 + 124 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $784_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 96 | 0) >> 2] = $784_1; + HEAP32[($8_1 + 100 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 140 | 0) >> 2] = HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 64 | 0; + HEAP32[($8_1 + 112 | 0) >> 2] = $33_1; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $53_1 = 24; + i64toi32_i32$1 = (((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0) >> 0] | 0) << $53_1 | 0) >> $53_1 | 0 | 0) == (38 | 0) & 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $701_1 = i64toi32_i32$1; + $701$hi = i64toi32_i32$0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 100 | 0) >> 2] | 0; + $836$hi = i64toi32_i32$1; + i64toi32_i32$1 = $701$hi; + i64toi32_i32$1 = $836$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $701$hi; + i64toi32_i32$3 = $701_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $8_1; + HEAP32[($8_1 + 96 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($8_1 + 100 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($8_1 + 112 | 0) >> 2] = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + i64toi32_i32$1 = $8_1; + i64toi32_i32$5 = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 100 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $41(i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if ((HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + HEAP32[($8_1 + 172 | 0) >> 2] = 7; + break label$1; + } + $73_1 = HEAP32[($8_1 + 132 | 0) >> 2] | 0; + $74_1 = 0; + HEAP8[$73_1 >> 0] = $74_1; + HEAP8[($73_1 + 1 | 0) >> 0] = $74_1 >>> 8 | 0; + HEAP8[($73_1 + 2 | 0) >> 0] = $74_1 >>> 16 | 0; + HEAP8[($73_1 + 3 | 0) >> 0] = $74_1 >>> 24 | 0; + HEAP32[($8_1 + 132 | 0) >> 2] = (HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($8_1 + 112 | 0) >> 2] = 5; + $83_1 = 24; + label$9 : { + if (!((((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) << $83_1 | 0) >> $83_1 | 0 | 0) == (47 | 0) & 1 | 0)) { + break label$9 + } + $94_1 = 24; + if (!((((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) << $94_1 | 0) >> $94_1 | 0 | 0) == (47 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($8_1 + 112 | 0) >> 2] = 7; + label$10 : while (1) { + $108_1 = 24; + $111_1 = 0; + label$11 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0) >> 0] | 0) << $108_1 | 0) >> $108_1 | 0)) { + break label$11 + } + $117_1 = 24; + $111_1 = (((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0) >> 0] | 0) << $117_1 | 0) >> $117_1 | 0 | 0) != (47 | 0); + } + label$12 : { + if (!($111_1 & 1 | 0)) { + break label$12 + } + HEAP32[($8_1 + 112 | 0) >> 2] = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + } + break label$10; + }; + label$13 : { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) != (7 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if ((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) != (16 | 0) & 1 | 0) { + break label$14 + } + if (!($3228(35888 | 0, (HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 7 | 0 | 0, 9 | 0) | 0)) { + break label$13 + } + } + $151_1 = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) - 7 | 0; + HEAP32[($8_1 + 4 | 0) >> 2] = (HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 7 | 0; + HEAP32[$8_1 >> 2] = $151_1; + $156_1 = $79(35898 | 0, $8_1 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 148 | 0) >> 2] | 0) >> 2] = $156_1; + HEAP32[($8_1 + 144 | 0) >> 2] = 1; + break label$2; + } + } + HEAP32[($8_1 + 116 | 0) >> 2] = 0; + label$15 : while (1) { + $164_1 = HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($8_1 + 131 | 0) >> 0] = $164_1; + $165_1 = 24; + $168_1 = 0; + label$16 : { + if (!(($164_1 << $165_1 | 0) >> $165_1 | 0)) { + break label$16 + } + $171_1 = 24; + $168_1 = (((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $171_1 | 0) >> $171_1 | 0 | 0) != (35 | 0); + } + label$17 : { + if (!($168_1 & 1 | 0)) { + break label$17 + } + HEAP32[($8_1 + 112 | 0) >> 2] = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 1 | 0; + $185_1 = 24; + label$18 : { + label$19 : { + if (!((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $185_1 | 0) >> $185_1 | 0 | 0) == (37 | 0) & 1 | 0)) { + break label$19 + } + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$19 + } + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$19 + } + $217_1 = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + $218_1 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + HEAP32[($8_1 + 112 | 0) >> 2] = $218_1 + 1 | 0; + $223_1 = 24; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = (($529(((HEAPU8[($217_1 + $218_1 | 0) >> 0] | 0) << $223_1 | 0) >> $223_1 | 0 | 0) | 0) & 255 | 0) << 4 | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $231_1 = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + $232_1 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + HEAP32[($8_1 + 112 | 0) >> 2] = $232_1 + 1 | 0; + $237_1 = 24; + $242_1 = ($529(((HEAPU8[($231_1 + $232_1 | 0) >> 0] | 0) << $237_1 | 0) >> $237_1 | 0 | 0) | 0) & 255 | 0; + HEAP32[($8_1 + 92 | 0) >> 2] = (HEAP32[($8_1 + 92 | 0) >> 2] | 0) + $242_1 | 0; + label$20 : { + if (HEAP32[($8_1 + 92 | 0) >> 2] | 0) { + break label$20 + } + label$21 : while (1) { + $250_1 = HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($8_1 + 131 | 0) >> 0] = $250_1; + $251_1 = 24; + $254_1 = 0; + label$22 : { + if (!(($250_1 << $251_1 | 0) >> $251_1 | 0)) { + break label$22 + } + $258_1 = 24; + $254_1 = 0; + if (!((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $258_1 | 0) >> $258_1 | 0 | 0) != (35 | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + if (HEAP32[($8_1 + 116 | 0) >> 2] | 0) { + break label$23 + } + $270_1 = 24; + $254_1 = 0; + if (!((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $270_1 | 0) >> $270_1 | 0 | 0) != (63 | 0) & 1 | 0)) { + break label$22 + } + } + label$24 : { + if ((HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0) { + break label$24 + } + $288_1 = 24; + $254_1 = 0; + if (!((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $288_1 | 0) >> $288_1 | 0 | 0) != (61 | 0) & 1 | 0)) { + break label$22 + } + $299_1 = 24; + $254_1 = 0; + if (!((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $299_1 | 0) >> $299_1 | 0 | 0) != (38 | 0) & 1 | 0)) { + break label$22 + } + } + $315_1 = 1; + label$25 : { + if ((HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0) { + break label$25 + } + $318_1 = 24; + $315_1 = (((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $318_1 | 0) >> $318_1 | 0 | 0) != (38 | 0); + } + $254_1 = $315_1; + } + label$26 : { + if (!($254_1 & 1 | 0)) { + break label$26 + } + HEAP32[($8_1 + 112 | 0) >> 2] = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 1 | 0; + continue label$21; + } + break label$21; + }; + continue label$15; + } + HEAP8[($8_1 + 131 | 0) >> 0] = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + break label$18; + } + label$27 : { + label$28 : { + if (!((HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$28 + } + $341_1 = 24; + label$29 : { + if ((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $341_1 | 0) >> $341_1 | 0 | 0) == (38 | 0) & 1 | 0) { + break label$29 + } + $351_1 = 24; + if (!((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $351_1 | 0) >> $351_1 | 0 | 0) == (61 | 0) & 1 | 0)) { + break label$28 + } + } + $365_1 = 24; + label$30 : { + if (((HEAPU8[((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 108 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $365_1 | 0) >> $365_1 | 0) { + break label$30 + } + label$31 : while (1) { + $373_1 = 24; + $376_1 = 0; + label$32 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0) >> 0] | 0) << $373_1 | 0) >> $373_1 | 0)) { + break label$32 + } + $383_1 = 24; + $376_1 = 0; + if (!((((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0) >> 0] | 0) << $383_1 | 0) >> $383_1 | 0 | 0) != (35 | 0) & 1 | 0)) { + break label$32 + } + $398_1 = 24; + $376_1 = (((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 112 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $398_1 | 0) >> $398_1 | 0 | 0) != (38 | 0); + } + label$33 : { + if (!($376_1 & 1 | 0)) { + break label$33 + } + HEAP32[($8_1 + 112 | 0) >> 2] = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 1 | 0; + continue label$31; + } + break label$31; + }; + continue label$15; + } + $412_1 = 24; + label$34 : { + label$35 : { + if (!((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $412_1 | 0) >> $412_1 | 0 | 0) == (38 | 0) & 1 | 0)) { + break label$35 + } + $421_1 = HEAP32[($8_1 + 132 | 0) >> 2] | 0; + $422_1 = HEAP32[($8_1 + 108 | 0) >> 2] | 0; + HEAP32[($8_1 + 108 | 0) >> 2] = $422_1 + 1 | 0; + HEAP8[($421_1 + $422_1 | 0) >> 0] = 0; + break label$34; + } + HEAP32[($8_1 + 116 | 0) >> 2] = 2; + } + HEAP8[($8_1 + 131 | 0) >> 0] = 0; + break label$27; + } + label$36 : { + label$37 : { + label$38 : { + if (HEAP32[($8_1 + 116 | 0) >> 2] | 0) { + break label$38 + } + $431_1 = 24; + if ((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $431_1 | 0) >> $431_1 | 0 | 0) == (63 | 0) & 1 | 0) { + break label$37 + } + } + if (!((HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$36 + } + $448_1 = 24; + if (!((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $448_1 | 0) >> $448_1 | 0 | 0) == (38 | 0) & 1 | 0)) { + break label$36 + } + } + HEAP8[($8_1 + 131 | 0) >> 0] = 0; + HEAP32[($8_1 + 116 | 0) >> 2] = 1; + } + } + } + $458_1 = HEAPU8[($8_1 + 131 | 0) >> 0] | 0; + $459_1 = HEAP32[($8_1 + 132 | 0) >> 2] | 0; + $460_1 = HEAP32[($8_1 + 108 | 0) >> 2] | 0; + HEAP32[($8_1 + 108 | 0) >> 2] = $460_1 + 1 | 0; + HEAP8[($459_1 + $460_1 | 0) >> 0] = $458_1; + continue label$15; + } + break label$15; + }; + label$39 : { + if (!((HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$39 + } + $472_1 = HEAP32[($8_1 + 132 | 0) >> 2] | 0; + $473_1 = HEAP32[($8_1 + 108 | 0) >> 2] | 0; + HEAP32[($8_1 + 108 | 0) >> 2] = $473_1 + 1 | 0; + HEAP8[($472_1 + $473_1 | 0) >> 0] = 0; + } + $75_1 = (HEAP32[($8_1 + 132 | 0) >> 2] | 0) + (HEAP32[($8_1 + 108 | 0) >> 2] | 0) | 0; + $76_1 = 0; + HEAP8[$75_1 >> 0] = $76_1; + HEAP8[($75_1 + 1 | 0) >> 0] = $76_1 >>> 8 | 0; + HEAP8[($75_1 + 2 | 0) >> 0] = $76_1 >>> 16 | 0; + HEAP8[($75_1 + 3 | 0) >> 0] = $76_1 >>> 24 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = (HEAP32[($8_1 + 132 | 0) >> 2] | 0) + (($68(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0) | 0) + 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + label$40 : { + label$41 : while (1) { + if (!(((HEAPU8[(HEAP32[($8_1 + 120 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$40 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $68(HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 84 | 0) >> 2] = (HEAP32[($8_1 + 120 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 88 | 0) >> 2] | 0) + 1 | 0) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $68(HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$42 : { + label$43 : { + if (!((HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$43 + } + if ($3228(35926 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, 3 | 0) | 0) { + break label$43 + } + HEAP32[($8_1 + 136 | 0) >> 2] = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + break label$42; + } + $519_1 = 0; + HEAP32[($8_1 + 76 | 0) >> 2] = $519_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $519_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $519_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $519_1; + label$44 : { + if (!((HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$44 + } + if ($3228(35930 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, 5 | 0) | 0) { + break label$44 + } + HEAP32[($8_1 + 68 | 0) >> 2] = 393216; + HEAP32[($8_1 + 76 | 0) >> 2] = 69504; + HEAP32[($8_1 + 64 | 0) >> 2] = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + HEAP32[($8_1 + 72 | 0) >> 2] = 35930; + } + label$45 : { + if (!((HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$45 + } + $77_1 = HEAP32[($8_1 + 120 | 0) >> 2] | 0; + if ((HEAPU8[$77_1 >> 0] | 0 | ((HEAPU8[($77_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($77_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($77_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0 | 0) != (1701080941 | 0)) { + break label$45 + } + HEAP32[($8_1 + 68 | 0) >> 2] = 135; + HEAP32[($8_1 + 76 | 0) >> 2] = 69536; + HEAP32[($8_1 + 64 | 0) >> 2] = (HEAP32[($8_1 + 68 | 0) >> 2] | 0) & (HEAP32[($8_1 + 140 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 72 | 0) >> 2] = 3927; + } + label$46 : { + if (!((HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$46 + } + $558_1 = 0; + HEAP32[($8_1 + 56 | 0) >> 2] = $558_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $558_1; + label$47 : { + label$48 : while (1) { + if (!((HEAP32[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$47 + } + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + label$49 : { + if (!((HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) == ($68(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$49 + } + if (!((0 | 0) == ($3228(HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$49 + } + HEAP32[($8_1 + 56 | 0) >> 2] = HEAP32[(((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0; + break label$47; + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$48; + }; + } + label$50 : { + if (HEAP32[($8_1 + 56 | 0) >> 2] | 0) { + break label$50 + } + $605_1 = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $605_1; + $610_1 = $79(35961 | 0, $8_1 + 16 | 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 148 | 0) >> 2] | 0) >> 2] = $610_1; + HEAP32[($8_1 + 144 | 0) >> 2] = 1; + break label$2; + } + label$51 : { + if (!(((HEAP32[($8_1 + 56 | 0) >> 2] | 0) & -129 | 0 | 0) > (HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$51 + } + $622_1 = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $622_1; + $627_1 = $79(35981 | 0, $8_1 + 32 | 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 148 | 0) >> 2] | 0) >> 2] = $627_1; + HEAP32[($8_1 + 144 | 0) >> 2] = 3; + break label$2; + } + HEAP32[($8_1 + 140 | 0) >> 2] = (HEAP32[($8_1 + 140 | 0) >> 2] | 0) & ((HEAP32[($8_1 + 68 | 0) >> 2] | 0) ^ -1 | 0) | 0 | (HEAP32[($8_1 + 56 | 0) >> 2] | 0) | 0; + } + } + HEAP32[($8_1 + 120 | 0) >> 2] = (HEAP32[($8_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 1 | 0) | 0; + continue label$41; + }; + } + break label$3; + } + i64toi32_i32$5 = (HEAP32[($8_1 + 124 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $41(i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + label$52 : { + if ((HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$52 + } + HEAP32[($8_1 + 172 | 0) >> 2] = 7; + break label$1; + } + $78_1 = HEAP32[($8_1 + 132 | 0) >> 2] | 0; + $79_1 = 0; + HEAP8[$78_1 >> 0] = $79_1; + HEAP8[($78_1 + 1 | 0) >> 0] = $79_1 >>> 8 | 0; + HEAP8[($78_1 + 2 | 0) >> 0] = $79_1 >>> 16 | 0; + HEAP8[($78_1 + 3 | 0) >> 0] = $79_1 >>> 24 | 0; + HEAP32[($8_1 + 132 | 0) >> 2] = (HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 4 | 0; + label$53 : { + if (!(HEAP32[($8_1 + 124 | 0) >> 2] | 0)) { + break label$53 + } + $3288(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0) | 0; + } + $80_1 = (HEAP32[($8_1 + 132 | 0) >> 2] | 0) + (HEAP32[($8_1 + 124 | 0) >> 2] | 0) | 0; + $81_1 = 0; + HEAP8[$80_1 >> 0] = $81_1; + HEAP8[($80_1 + 1 | 0) >> 0] = $81_1 >>> 8 | 0; + HEAP8[($80_1 + 2 | 0) >> 0] = $81_1 >>> 16 | 0; + HEAP8[($80_1 + 3 | 0) >> 0] = $81_1 >>> 24 | 0; + HEAP32[($8_1 + 140 | 0) >> 2] = (HEAP32[($8_1 + 140 | 0) >> 2] | 0) & -65 | 0; + } + $673_1 = $24(HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 156 | 0) >> 2] | 0) >> 2] = $673_1; + label$54 : { + if (!((HEAP32[(HEAP32[($8_1 + 156 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$54 + } + HEAP32[($8_1 + 48 | 0) >> 2] = HEAP32[($8_1 + 136 | 0) >> 2] | 0; + $686_1 = $79(36005 | 0, $8_1 + 48 | 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 148 | 0) >> 2] | 0) >> 2] = $686_1; + HEAP32[($8_1 + 144 | 0) >> 2] = 1; + } + } + label$55 : { + if (!(HEAP32[($8_1 + 144 | 0) >> 2] | 0)) { + break label$55 + } + $497(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 132 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($8_1 + 160 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 140 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 152 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 132 | 0) >> 2] | 0; + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + } + $697_1 = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + global$0 = $8_1 + 176 | 0; + return $697_1 | 0; + } + + function $492($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, $10_1 = 0, i64toi32_i32$1 = 0, $41_1 = 0, $525_1 = 0, $17_1 = 0, $21_1 = 0, $111_1 = 0, $157_1 = 0, $218_1 = 0, i64toi32_i32$2 = 0, $262_1 = 0, $285_1 = 0, $326_1 = 0, $335_1 = 0, $339_1 = 0, $340_1 = 0, $343_1 = 0, $345_1 = 0, $421_1 = 0, $465_1 = 0, $354_1 = 0, $359_1 = 0, $559_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 208 | 0; + global$0 = $8_1; + $10_1 = 0; + HEAP32[($8_1 + 200 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 196 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 192 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 188 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 184 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 180 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 176 | 0) >> 2] = $10_1; + HEAP32[($8_1 + 168 | 0) >> 2] = $10_1; + HEAP32[($8_1 + 164 | 0) >> 2] = $10_1; + $17_1 = 1; + label$1 : { + if ((HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0) == ($10_1 | 0) & 1 | 0) { + break label$1 + } + $21_1 = 24; + $17_1 = (((HEAPU8[(HEAP32[($8_1 + 196 | 0) >> 2] | 0) >> 0] | 0) << $21_1 | 0) >> $21_1 | 0 | 0) == (0 | 0); + } + HEAP32[($8_1 + 44 | 0) >> 2] = $17_1 & 1 | 0; + label$2 : { + label$3 : { + if (!((HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $41_1 = 1; + if (!($3229(HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0, 4605 | 0) | 0)) { + break label$2 + } + } + label$4 : { + if (!(HEAP32[($8_1 + 44 | 0) >> 2] | 0)) { + break label$4 + } + $41_1 = 1; + if ($156(HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + } + $41_1 = ((HEAP32[($8_1 + 180 | 0) >> 2] | 0) & 128 | 0 | 0) != (0 | 0); + } + HEAP32[($8_1 + 40 | 0) >> 2] = $41_1 & 1 | 0; + label$5 : { + if (!(HEAP32[($8_1 + 40 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($8_1 + 184 | 0) >> 2] = HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 2 | 0; + } + label$6 : { + if (!((HEAP32[($8_1 + 180 | 0) >> 2] | 0) & 256 | 0)) { + break label$6 + } + label$7 : { + if (HEAP32[($8_1 + 40 | 0) >> 2] | 0) { + break label$7 + } + if (!(HEAP32[($8_1 + 44 | 0) >> 2] | 0)) { + break label$6 + } + } + HEAP32[($8_1 + 180 | 0) >> 2] = (HEAP32[($8_1 + 180 | 0) >> 2] | 0) & -257 | 0 | 512 | 0; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $114(48 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if ((HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + HEAP32[($8_1 + 204 | 0) >> 2] = 7; + break label$8; + } + HEAP8[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 8 | 0) >> 0] = 0; + HEAP32[(HEAP32[($8_1 + 172 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 192 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 36 | 0) >> 2] = 1; + label$10 : { + if (HEAP32[($8_1 + 44 | 0) >> 2] | 0) { + break label$10 + } + label$11 : { + if (!(HEAP32[($8_1 + 40 | 0) >> 2] | 0)) { + break label$11 + } + if (!((HEAP32[($8_1 + 180 | 0) >> 2] | 0) & 64 | 0)) { + break label$10 + } + } + label$12 : { + if (!((HEAP32[($8_1 + 180 | 0) >> 2] | 0) & 131072 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = ($68(HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0; + label$13 : { + label$14 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) > (HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $111_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + break label$13; + } + $111_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + } + i64toi32_i32$1 = $111_1; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $39(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 9 | 0) >> 0] = 1; + label$15 : { + if ((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$15 + } + $42(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 204 | 0) >> 2] = 7; + break label$8; + } + label$16 : { + label$17 : { + if (!(HEAP32[($8_1 + 40 | 0) >> 2] | 0)) { + break label$17 + } + $3288(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) | 0; + break label$16; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $606(HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!(HEAP32[($8_1 + 164 | 0) >> 2] | 0)) { + break label$18 + } + label$19 : { + label$20 : { + if (!((HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0) == (512 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($8_1 + 164 | 0) >> 2] = 0; + break label$19; + } + $42(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0); + $42(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 204 | 0) >> 2] = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + break label$8; + } + } + } + HEAP32[($8_1 + 176 | 0) >> 2] = HEAP32[(0 + 114612 | 0) >> 2] | 0; + label$21 : { + label$22 : while (1) { + if (!((HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + $157_1 = 0; + label$23 : { + if (!(($157_1 | 0) == ($3229(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, $532(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0, $157_1 | 0) | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$23 + } + if (!(($508(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 192 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($8_1 + 192 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$26 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + if (!((HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + $42(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0); + $42(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 204 | 0) >> 2] = 19; + break label$8; + } + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + -1 | 0; + continue label$25; + }; + } + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + $218_1 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + HEAP32[($218_1 + 68 | 0) >> 2] = (HEAP32[($218_1 + 68 | 0) >> 2] | 0) + 1 | 0; + break label$21; + } + HEAP32[($8_1 + 176 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + continue label$22; + }; + } + $42(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0); + } + } + label$27 : { + label$28 : { + if (!((HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$28 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $114(88 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (!((HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($8_1 + 164 | 0) >> 2] = 7; + break label$27; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $608(HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0, 84 | 0, HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$30 : { + if (HEAP32[($8_1 + 164 | 0) >> 2] | 0) { + break label$30 + } + i64toi32_i32$2 = HEAP32[($8_1 + 192 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $609(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $610(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0, 100 | 0, $8_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + } + label$31 : { + if (!(HEAP32[($8_1 + 164 | 0) >> 2] | 0)) { + break label$31 + } + break label$27; + } + $262_1 = 0; + HEAP8[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[($8_1 + 184 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 192 | 0) >> 2] | 0; + $611(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0, 17 | 0, HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 8 | 0) >> 2] = $262_1; + HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 12 | 0) >> 2] = $262_1; + label$32 : { + if (!((($153(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$32 + } + $285_1 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + HEAP16[($285_1 + 24 | 0) >> 1] = (HEAPU16[($285_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + } + HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 36 | 0) >> 2] = ((HEAPU8[($8_1 + 64 | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | (((HEAPU8[($8_1 + 65 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0; + label$33 : { + label$34 : { + label$35 : { + if ((HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0 < 512 >>> 0 & 1 | 0) { + break label$35 + } + if ((HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0 > 65536 >>> 0 & 1 | 0) { + break label$35 + } + if (!(((HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) - 1 | 0) & (HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) | 0)) { + break label$34 + } + } + $326_1 = 0; + HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 36 | 0) >> 2] = $326_1; + label$36 : { + if (!((HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0) != ($326_1 | 0) & 1 | 0)) { + break label$36 + } + if (HEAP32[($8_1 + 40 | 0) >> 2] | 0) { + break label$36 + } + $335_1 = 0; + HEAP8[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 17 | 0) >> 0] = $335_1; + HEAP8[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 18 | 0) >> 0] = $335_1; + } + HEAP8[($8_1 + 163 | 0) >> 0] = 0; + break label$33; + } + $339_1 = 1; + $340_1 = 0; + $343_1 = $8_1 + 48 | 0; + HEAP8[($8_1 + 163 | 0) >> 0] = HEAPU8[($8_1 + 68 | 0) >> 0] | 0; + $345_1 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + HEAP16[($345_1 + 24 | 0) >> 1] = (HEAPU16[($345_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0; + $354_1 = $161($343_1 + 52 | 0 | 0) | 0 ? $339_1 : $340_1; + HEAP8[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 17 | 0) >> 0] = $354_1; + $359_1 = $161($343_1 + 64 | 0 | 0) | 0 ? $339_1 : $340_1; + HEAP8[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 18 | 0) >> 0] = $359_1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $515(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAPU8[($8_1 + 163 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$37 : { + if (!(HEAP32[($8_1 + 164 | 0) >> 2] | 0)) { + break label$37 + } + break label$27; + } + HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) - ((HEAPU8[($8_1 + 163 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 68 | 0) >> 2] = 1; + label$38 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$38 + } + HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[(0 + 114612 | 0) >> 2] | 0; + HEAP32[(0 + 114612 | 0) >> 2] = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + } + } + label$39 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$39 + } + HEAP32[($8_1 + 16 | 0) >> 2] = 0; + label$40 : { + label$41 : while (1) { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 192 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$40 + } + $421_1 = HEAP32[(((HEAP32[((HEAP32[($8_1 + 192 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = $421_1; + label$42 : { + if (!(($421_1 | 0) != (0 | 0) & 1 | 0)) { + break label$42 + } + if (!((HEAPU8[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0)) { + break label$42 + } + label$43 : { + label$44 : while (1) { + if (!((HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$43 + } + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + continue label$44; + }; + } + label$45 : { + label$46 : { + if (!((HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$46 + } + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + break label$45; + } + label$47 : while (1) { + $465_1 = 0; + label$48 : { + if (!((HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$48 + } + $465_1 = (HEAP32[((HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0; + } + label$49 : { + if (!($465_1 & 1 | 0)) { + break label$49 + } + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$47; + } + break label$47; + }; + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + label$50 : { + if (!((HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$50 + } + HEAP32[((HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + } + break label$40; + } + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$41; + }; + } + } + HEAP32[(HEAP32[($8_1 + 188 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + } + label$51 : { + label$52 : { + if (!(HEAP32[($8_1 + 164 | 0) >> 2] | 0)) { + break label$52 + } + label$53 : { + if (!((HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$53 + } + if (!((HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$53 + } + $612(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + $42(HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0); + $42(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($8_1 + 188 | 0) >> 2] | 0) >> 2] = 0; + break label$51; + } + $525_1 = 0; + label$54 : { + if (!(($613(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, $525_1 | 0, $525_1 | 0) | 0 | 0) == ($525_1 | 0) & 1 | 0)) { + break label$54 + } + $614(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, -2e3 | 0) | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $143(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$55 : { + if (!((HEAP32[(HEAP32[($8_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$55 + } + $615(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, 30 | 0, (HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 4 | 0 | 0); + } + } + label$56 : { + if (!((HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$56 + } + } + HEAP32[($8_1 + 204 | 0) >> 2] = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + } + $559_1 = HEAP32[($8_1 + 204 | 0) >> 2] | 0; + global$0 = $8_1 + 208 | 0; + return $559_1 | 0; + } + + function $493($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $50_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $613(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 84 | 0, 18 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $308(0 | 0, 84 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + label$4 : { + if ((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + $118(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + break label$3; + } + label$5 : { + if (!((0 | 0) == ((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 76 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $489((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0 | 0); + $489((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0 | 0); + $489((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 40 | 0 | 0); + $489((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 56 | 0 | 0); + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 77 | 0) >> 0] = 1; + } + } + $50_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $50_1 | 0; + } + + function $494($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 11 | 0) >> 0] = $1_1; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 78 | 0) >> 0] = HEAPU8[($4_1 + 11 | 0) >> 0] | 0; + $13_1 = $498(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0, 2261 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $13_1; + global$0 = $4_1 + 16 | 0; + return; + } + + function $495($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $470(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 41972 | 0, 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$1 + } + $118(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $496($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $18_1 = 0, $26_1 = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = 1; + label$1 : { + label$2 : { + if (HEAP32[(0 + 114400 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$3 : while (1) { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$4 : { + label$5 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 0 >= (HEAP32[(0 + 114400 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + $18_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $18_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $18_1; + break label$4; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[(0 + 114404 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + $26_1 = 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $26_1; + label$6 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != ($26_1 | 0) & 1 | 0)) { + break label$6 + } + $39_1 = FUNCTION_TABLE[HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 28 | 0) >> 2] | 0, $3_1 + 8 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $39_1; + if (!$39_1) { + break label$6 + } + $40_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + $41_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $113($40_1 | 0, $41_1 | 0, 61043 | 0, $3_1 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + } + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $497($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $522(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $42((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -4 | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $498($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP8[($6_1 + 27 | 0) >> 0] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1123(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + Math_imul(((HEAPU8[($6_1 + 27 | 0) >> 0] | 0) & 255 | 0) - 1 | 0, 20) | 0; + } + break label$1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $36_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $36_1 | 0; + } + + function $499($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $500($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, $12_1 = 0, $130_1 = 0, $56_1 = 0, $86_1 = 0, $103_1 = 0, $118_1 = 0, $157_1 = 0, $166_1 = 0, $258_1 = 0, $249_1 = 0, $250_1 = 0, $259_1 = 0, $260_1 = 0, $267_1 = 0, $274_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11_1 = global$0 - 112 | 0; + global$0 = $11_1; + $12_1 = 0; + HEAP32[($11_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 92 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 88 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 84 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 80 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 76 | 0) >> 2] = $8_1; + HEAP32[($11_1 + 68 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 64 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 60 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 56 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 52 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 48 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 44 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 40 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 36 | 0) >> 2] = $12_1; + $8(HEAP32[($11_1 + 108 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $501(HEAP32[($11_1 + 108 | 0) >> 2] | 0 | 0, $11_1 + 68 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(($12_1 | 0) != (HEAP32[($11_1 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $361(HEAP32[($11_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($11_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($11_1 + 64 | 0) >> 2] = 0; + break label$1; + } + label$5 : { + label$6 : { + if (!((HEAP32[($11_1 + 96 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + break label$5; + } + HEAP32[($11_1 + 56 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + $56_1 = 16; + if (!((HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($11_1 + 64 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $56_1 | 0) >> $56_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($11_1 + 60 | 0) >> 2] = (HEAP32[((HEAP32[($11_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($11_1 + 56 | 0) >> 2] | 0, 20) | 0; + label$9 : { + if (!((0 | 0) == ($88(HEAP32[(HEAP32[($11_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 96 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + break label$7; + } + HEAP32[($11_1 + 56 | 0) >> 2] = (HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + $86_1 = 16; + label$10 : { + if (!((HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($11_1 + 64 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $86_1 | 0) >> $86_1 | 0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + label$12 : { + if ((HEAP32[((HEAP32[($11_1 + 64 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$12 + } + if (!($502(HEAP32[($11_1 + 96 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + $103_1 = 16; + HEAP32[($11_1 + 56 | 0) >> 2] = ((HEAPU16[((HEAP32[($11_1 + 64 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $103_1 | 0) >> $103_1 | 0; + label$13 : { + label$14 : { + if (!((HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$14 + } + $118_1 = (HEAP32[((HEAP32[($11_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($11_1 + 56 | 0) >> 2] | 0, 20) | 0; + break label$13; + } + $118_1 = 0; + } + HEAP32[($11_1 + 60 | 0) >> 2] = $118_1; + break label$11; + } + HEAP32[($11_1 + 64 | 0) >> 2] = 0; + break label$1; + } + } + } + label$15 : { + label$16 : { + if (!((HEAP32[($11_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $130_1 = 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $503(HEAP32[($11_1 + 60 | 0) >> 2] | 0 | 0, $130_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($11_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($11_1 + 44 | 0) >> 2] = ((HEAPU8[((HEAP32[($11_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != ($130_1 | 0) & 1 | 0; + HEAP32[($11_1 + 40 | 0) >> 2] = (((HEAPU16[((HEAP32[($11_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0 | 0) != ($130_1 | 0) & 1 | 0; + $157_1 = 16; + $166_1 = 0; + label$17 : { + if (!((((HEAPU16[((HEAP32[($11_1 + 64 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $157_1 | 0) >> $157_1 | 0 | 0) == (HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + $166_1 = ((HEAP32[((HEAP32[($11_1 + 64 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 8 | 0 | 0) != (0 | 0); + } + HEAP32[($11_1 + 36 | 0) >> 2] = $166_1 & 1 | 0; + break label$15; + } + HEAP32[($11_1 + 52 | 0) >> 2] = 3600; + HEAP32[($11_1 + 40 | 0) >> 2] = 1; + } + label$18 : { + if ((HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$18 + } + HEAP32[($11_1 + 48 | 0) >> 2] = 2261; + } + } + label$19 : { + if (!((HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[(HEAP32[($11_1 + 92 | 0) >> 2] | 0) >> 2] = HEAP32[($11_1 + 52 | 0) >> 2] | 0; + } + label$20 : { + if (!((HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[(HEAP32[($11_1 + 88 | 0) >> 2] | 0) >> 2] = HEAP32[($11_1 + 48 | 0) >> 2] | 0; + } + label$21 : { + if (!((HEAP32[($11_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[(HEAP32[($11_1 + 84 | 0) >> 2] | 0) >> 2] = HEAP32[($11_1 + 44 | 0) >> 2] | 0; + } + label$22 : { + if (!((HEAP32[($11_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[(HEAP32[($11_1 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($11_1 + 40 | 0) >> 2] | 0; + } + label$23 : { + if (!((HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[(HEAP32[($11_1 + 76 | 0) >> 2] | 0) >> 2] = HEAP32[($11_1 + 36 | 0) >> 2] | 0; + } + label$24 : { + if (!((0 | 0) == (HEAP32[($11_1 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + if ((HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$24 + } + $13(HEAP32[($11_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0); + $249_1 = HEAP32[($11_1 + 108 | 0) >> 2] | 0; + $250_1 = HEAP32[($11_1 + 100 | 0) >> 2] | 0; + HEAP32[($11_1 + 20 | 0) >> 2] = HEAP32[($11_1 + 96 | 0) >> 2] | 0; + HEAP32[($11_1 + 16 | 0) >> 2] = $250_1; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $351($249_1 | 0, 3608 | 0, $11_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11_1 + 72 | 0) >> 2] = 1; + } + $258_1 = 0; + $259_1 = HEAP32[($11_1 + 108 | 0) >> 2] | 0; + $260_1 = HEAP32[($11_1 + 72 | 0) >> 2] | 0; + $267_1 = (HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0) != ($258_1 | 0) & 1 | 0 ? 1976 : $258_1; + HEAP32[$11_1 >> 2] = HEAP32[($11_1 + 68 | 0) >> 2] | 0; + $113($259_1 | 0, $260_1 | 0, $267_1 | 0, $11_1 | 0); + $13(HEAP32[($11_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $217(HEAP32[($11_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + $274_1 = HEAP32[($11_1 + 72 | 0) >> 2] | 0; + global$0 = $11_1 + 112 | 0; + return $274_1 | 0; + } + + function $501($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $36_1 = 0, $84_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 8 | 0) >> 2] = (((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 1 | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0; + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 78 | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 77 | 0) >> 0] | 0; + label$1 : { + label$2 : { + if ((((HEAPU16[((HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 78 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0 | 0) == (1 | 0) & 1 | 0) { + break label$2 + } + $36_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $504(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $36_1 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $36_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if ((((HEAPU16[((HEAP32[(((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 78 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0 | 0) == (1 | 0) & 1 | 0) { + break label$6 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $504(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + -1 | 0; + continue label$5; + }; + } + label$8 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$8 + } + $505(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $84_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $84_1 | 0; + } + + function $502($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 61190 | 0) | 0) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 28572 | 0) | 0) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 61198 | 0) | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $17_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $17_1 | 0; + } + + function $503($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + ($3303(HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $20_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $20_1 | 0; + } + + function $504($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $8_1 = 0, $298$hi = 0, $308$hi = 0, $35_1 = 0, $42_1 = 0, $64_1 = 0, $75_1 = 0, $299$hi = 0, $300$hi = 0, $302$hi = 0, $304_1 = 0, $207_1 = 0, $305$hi = 0, $306$hi = 0, $223_1 = 0, $309$hi = 0, $310$hi = 0, $312$hi = 0, $266_1 = 0, $784_1 = 0, $211_1 = 0, $218_1 = 0, $295_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 160 | 0; + global$0 = $6_1; + $8_1 = 0; + HEAP32[($6_1 + 156 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 152 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 148 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 144 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 64 | 0 | -65 | 0; + HEAP8[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 165 | 0) >> 0] = 1; + HEAP32[($6_1 + 96 | 0) >> 2] = 8398; + $35_1 = (HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 8404 : 8004; + HEAP32[($6_1 + 28 | 0) >> 2] = $35_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $35_1; + HEAP32[($6_1 + 104 | 0) >> 2] = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + HEAP32[($6_1 + 108 | 0) >> 2] = 8423; + HEAP32[($6_1 + 112 | 0) >> 2] = 8425; + HEAP32[($6_1 + 116 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 156 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[($6_1 + 152 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[($6_1 + 148 | 0) >> 2] | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[($6_1 + 144 | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $8_1; + $948($6_1 + 32 | 0 | 0, 5 | 0, $6_1 + 96 | 0 | 0, $8_1 | 0) | 0; + $42_1 = HEAP32[($6_1 + 156 | 0) >> 2] | 0; + HEAP32[($42_1 + 24 | 0) >> 2] = (HEAP32[($42_1 + 24 | 0) >> 2] | 0) & (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 44 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($6_1 + 132 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 152 | 0) >> 2] | 0) << 4 | 0) | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $64_1 = HEAP32[((HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP16[($64_1 + 78 | 0) >> 1] = (HEAPU16[($64_1 + 78 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + HEAP32[($6_1 + 140 | 0) >> 2] = 0; + break label$1; + } + $127(HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + label$4 : { + label$5 : { + if ($125(HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + $75_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $129(HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $75_1 | 0, $75_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($6_1 + 140 | 0) >> 2] | 0)) { + break label$6 + } + $1021(HEAP32[($6_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, $285(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) | 0 | 0); + break label$4; + } + HEAP32[($6_1 + 24 | 0) >> 2] = 1; + } + HEAP32[($6_1 + 136 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0) < (5 | 0) & 1 | 0)) { + break label$7 + } + $913(HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 1 | 0 | 0, ($6_1 + 64 | 0) + ((HEAP32[($6_1 + 136 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); + HEAP32[($6_1 + 136 | 0) >> 2] = (HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + i64toi32_i32$0 = 0; + $298$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($6_1 + 156 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $299$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $300$hi = i64toi32_i32$1; + i64toi32_i32$1 = $299$hi; + i64toi32_i32$1 = $300$hi; + i64toi32_i32$1 = $299$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $300$hi; + i64toi32_i32$3 = 33554432; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $302$hi = i64toi32_i32$0; + i64toi32_i32$0 = $298$hi; + i64toi32_i32$0 = $302$hi; + i64toi32_i32$0 = $298$hi; + i64toi32_i32$0 = $302$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $298$hi; + i64toi32_i32$3 = 0; + label$9 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$1 = 0; + $304_1 = 0; + i64toi32_i32$0 = $6_1 + 64 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $304_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = 0; + i64toi32_i32$0 = i64toi32_i32$0 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $304_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[(HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + label$10 : { + if (!(HEAP32[($6_1 + 80 | 0) >> 2] | 0)) { + break label$10 + } + label$11 : { + label$12 : { + if (HEAP32[($6_1 + 152 | 0) >> 2] | 0) { + break label$12 + } + if ((HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 64 | 0) { + break label$12 + } + HEAP8[($6_1 + 19 | 0) >> 0] = ((HEAP32[($6_1 + 80 | 0) >> 2] | 0) & 255 | 0) & 3 | 0; + label$13 : { + if ((HEAPU8[($6_1 + 19 | 0) >> 0] | 0) & 255 | 0) { + break label$13 + } + HEAP8[($6_1 + 19 | 0) >> 0] = 1; + } + $494(HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, (HEAPU8[($6_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0); + break label$11; + } + label$14 : { + if (!(((HEAP32[($6_1 + 80 | 0) >> 2] | 0) & 3 | 0 | 0) != ((HEAPU8[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + $1021(HEAP32[($6_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, 8497 | 0); + HEAP32[($6_1 + 140 | 0) >> 2] = 1; + break label$4; + } + } + } + HEAP8[((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 77 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0; + label$15 : { + if (HEAP32[((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) { + break label$15 + } + HEAP32[((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] = -2e3; + $614(HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) | 0; + } + HEAP8[((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 76 | 0) >> 0] = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + label$16 : { + if ((HEAPU8[((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 76 | 0) >> 0] | 0) & 255 | 0) { + break label$16 + } + HEAP8[((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 76 | 0) >> 0] = 1; + } + label$17 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 76 | 0) >> 0] | 0) & 255 | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$17 + } + $1021(HEAP32[($6_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, 8565 | 0); + HEAP32[($6_1 + 140 | 0) >> 2] = 1; + break label$4; + } + label$18 : { + if (HEAP32[($6_1 + 152 | 0) >> 2] | 0) { + break label$18 + } + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) >= (4 | 0) & 1 | 0)) { + break label$18 + } + $207_1 = HEAP32[($6_1 + 156 | 0) >> 2] | 0; + i64toi32_i32$3 = $207_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $305$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $306$hi = i64toi32_i32$0; + i64toi32_i32$0 = $305$hi; + i64toi32_i32$0 = $306$hi; + i64toi32_i32$0 = $305$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $306$hi; + i64toi32_i32$2 = -3; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $784_1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $207_1; + HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] = $784_1; + HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] = i64toi32_i32$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $133(HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + $211_1 = HEAP32[($6_1 + 156 | 0) >> 2] | 0; + $218_1 = HEAP32[((HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 152 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $218_1; + $223_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $351($211_1 | 0, 8589 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 328 | 0) >> 2] = $223_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $400(HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 4 | 0, $6_1 + 32 | 0 | 0, $223_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 328 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + label$19 : { + if (HEAP32[($6_1 + 140 | 0) >> 2] | 0) { + break label$19 + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + } + $13(HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + label$20 : { + if (HEAP32[($6_1 + 140 | 0) >> 2] | 0) { + break label$20 + } + $949(HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0) | 0; + } + label$21 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($6_1 + 140 | 0) >> 2] = 7; + $141(HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0); + } + label$22 : { + label$23 : { + if (!(HEAP32[($6_1 + 140 | 0) >> 2] | 0)) { + break label$23 + } + i64toi32_i32$1 = 0; + $308$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($6_1 + 156 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $309$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $310$hi = i64toi32_i32$3; + i64toi32_i32$3 = $309$hi; + i64toi32_i32$3 = $310$hi; + i64toi32_i32$3 = $309$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $310$hi; + i64toi32_i32$2 = 134217728; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $312$hi = i64toi32_i32$1; + i64toi32_i32$1 = $308$hi; + i64toi32_i32$1 = $312$hi; + i64toi32_i32$1 = $308$hi; + i64toi32_i32$1 = $312$hi; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + i64toi32_i32$0 = $308$hi; + i64toi32_i32$2 = 0; + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$22 + } + } + $266_1 = HEAP32[(((HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 152 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP16[($266_1 + 78 | 0) >> 1] = (HEAPU16[($266_1 + 78 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + HEAP32[($6_1 + 140 | 0) >> 2] = 0; + } + } + label$24 : { + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$24 + } + $1022(HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + } + } + label$25 : { + if (!(HEAP32[($6_1 + 140 | 0) >> 2] | 0)) { + break label$25 + } + label$26 : { + label$27 : { + if ((HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0) { + break label$27 + } + if (!((HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) == (3082 | 0) & 1 | 0)) { + break label$26 + } + } + $118(HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0); + } + $407(HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0); + } + HEAP8[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 165 | 0) >> 0] = 0; + $295_1 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + global$0 = $6_1 + 160 | 0; + return $295_1 | 0; + } + + function $505($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) & -2 | 0; + return; + } + + function $506($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $92_1 = 0, $42_1 = 0, $53_1 = 0, $64_1 = 0, $77_1 = 0, $104_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $507(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $127(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $9(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $143(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$2; + } + label$4 : { + label$5 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (27 | 0) & 1 | 0)) { + break label$5 + } + $42_1 = $508(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $42_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (28 | 0) & 1 | 0)) { + break label$7 + } + $53_1 = $509(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $53_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$6; + } + label$8 : { + label$9 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (35 | 0) & 1 | 0)) { + break label$9 + } + $64_1 = $510(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $64_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$8; + } + label$10 : { + label$11 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (38 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + $77_1 = $511(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $77_1; + label$12 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$12 + } + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) <= (255 | 0) & 1 | 0)) { + break label$12 + } + $92_1 = 0; + $164(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $92_1 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $92_1 | 0) | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$10; + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 408 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $189(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 408 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + } + } + } + } + } + $104_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $104_1 | 0; + } + + function $507($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $26_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = $122(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $15_1 = 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = $15_1; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + $26_1 = 0; + break label$3; + } + $26_1 = HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + } + global$0 = $4_1 + 16 | 0; + return $26_1 | 0; + } + + function $508($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0; + } + + function $509($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = $512(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $15_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + } + global$0 = $3_1 + 16 | 0; + return $15_1 | 0; + } + + function $510($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0; + } + + function $511($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $127(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAPU8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $513(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) > (HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $20_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + break label$1; + } + $20_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + global$0 = $3_1 + 16 | 0; + return $20_1 | 0; + } + + function $512($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function $513($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $514($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($13_1 + 84 | 0) >> 2] = (HEAP32[($13_1 + 84 | 0) >> 2] | 0) + -4 | 0; + $623(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] = 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $515($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $113$hi = 0, $27_1 = 0, $110$hi = 0, $111$hi = 0, i64toi32_i32$2 = 0, $112$hi = 0, $114$hi = 0, $115$hi = 0, $99_1 = 0, $105_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) { + break label$1 + } + } + if ($630(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) | 0) { + break label$1 + } + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $27_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $27_1; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$3 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) > ($27_1 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $631((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 7; + break label$5; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + $19_1 = 0; + HEAP8[i64toi32_i32$1 >> 0] = $19_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $19_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $19_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $19_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + } + } + label$7 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$7 + } + $632(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $633(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + label$9 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$9 + } + $623(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 208 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $110$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $111$hi = i64toi32_i32$1; + i64toi32_i32$1 = $110$hi; + i64toi32_i32$1 = $111$hi; + i64toi32_i32$1 = $110$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $111$hi; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $112$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $113$hi = i64toi32_i32$5; + i64toi32_i32$5 = $112$hi; + i64toi32_i32$5 = $113$hi; + i64toi32_i32$5 = $112$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $113$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) + $113$hi | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + $114$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $115$hi = i64toi32_i32$4; + i64toi32_i32$4 = $114$hi; + i64toi32_i32$4 = $115$hi; + i64toi32_i32$4 = $114$hi; + i64toi32_i32$1 = $115$hi; + i64toi32_i32$1 = __wasm_i64_sdiv(i64toi32_i32$0 | 0, i64toi32_i32$4 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 152 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$8; + } + $623(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + } + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + label$10 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$10 + } + label$11 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$11 + } + $99_1 = 16; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU16[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 142 | 0) >> 1] | 0) << $99_1 | 0) >> $99_1 | 0; + } + HEAP16[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 142 | 0) >> 1] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $627(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + } + $105_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $105_1 | 0; + } + + function $516($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, $14_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $114(512 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + $14_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $14_1 | 0; + } + + function $517($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $25_1 = 0, $110_1 = 0, $115_1 = 0, $180_1 = 0, $242_1 = 0, $60_1 = 0, i64toi32_i32$0 = 0, $232_1 = 0, $254_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + -1 | 0; + label$3 : while (1) { + $25_1 = 0; + label$4 : { + if (!((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > 4e3 >>> 0 & 1 | 0)) { + break label$4 + } + $25_1 = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$5 : { + if (!($25_1 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0) | 0; + label$6 : { + if (!((HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + $60_1 = $516(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $60_1; + label$7 : { + if (!((HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + label$8 : { + if (!((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0 <= 4e3 >>> 0 & 1 | 0)) { + break label$8 + } + $110_1 = ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 3 | 0) | 0; + HEAP8[$110_1 >> 0] = (HEAPU8[$110_1 >> 0] | 0) & 255 | 0 | (1 << ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 7 | 0) | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $115_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $115_1 + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (($115_1 << 0 | 0) >>> 0) % (125 >>> 0) | 0; + label$9 : { + label$10 : { + label$11 : { + if (HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) { + break label$11 + } + label$12 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 < 124 >>> 0 & 1 | 0)) { + break label$12 + } + break label$9; + } + break label$10; + } + label$13 : while (1) { + label$14 : { + if (!((HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + label$15 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0 >= 125 >>> 0 & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + } + if (HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) { + continue label$13 + } + break label$13; + }; + } + label$16 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 >= 62 >>> 0 & 1 | 0)) { + break label$16 + } + $180_1 = 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $64($180_1 | 0, 500 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$17 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == ($180_1 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + $3288(HEAP32[$4_1 >> 2] | 0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0 | 0, 500 | 0) | 0; + $3289((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0 | 0, 0 | 0, 500 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = ((((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 125 | 0) - 1 | 0) >>> 0) / (125 >>> 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $517(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 < 125 >>> 0 & 1 | 0)) { + break label$18 + } + label$20 : { + if (!(HEAP32[((HEAP32[$4_1 >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0)) { + break label$20 + } + $232_1 = $517(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0 | $232_1 | 0; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + $13(0 | 0, HEAP32[$4_1 >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + break label$1; + } + } + $242_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($242_1 + 4 | 0) >> 2] = (HEAP32[($242_1 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $254_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $254_1 | 0; + } + + function $518($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $62_1 = 0, $67_1 = 0, $119_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + -1 | 0; + label$3 : { + label$4 : while (1) { + if (!(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$5 : { + if ((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + break label$1; + } + continue label$4; + }; + } + label$6 : { + if (!((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) >>> 0 <= 4e3 >>> 0 & 1 | 0)) { + break label$6 + } + $62_1 = ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 3 | 0) | 0; + HEAP8[$62_1 >> 0] = ((HEAPU8[$62_1 >> 0] | 0) & 255 | 0) & ((1 << ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) & 7 | 0) | 0) ^ -1 | 0) | 0; + break label$1; + } + $67_1 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $3288(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0 | 0, 500 | 0) | 0; + $3289((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0 | 0, 0 | 0, 500 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = $67_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $67_1; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 < 125 >>> 0 & 1 | 0)) { + break label$7 + } + label$9 : { + if (!(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0)) { + break label$9 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 4 | 0) >> 2] = ((((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) - 1 | 0) << 0 | 0) >>> 0) % (125 >>> 0) | 0; + $119_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($119_1 + 4 | 0) >> 2] = (HEAP32[($119_1 + 4 | 0) >> 2] | 0) + 1 | 0; + label$10 : { + label$11 : while (1) { + if (!(HEAP32[(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0)) { + break label$10 + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + label$12 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0) >>> 0 >= 125 >>> 0 & 1 | 0)) { + break label$12 + } + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + } + continue label$11; + }; + } + HEAP32[(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $519($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $13_1 = 0; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = ($662(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + global$0 = $4_1 + 16 | 0; + return $13_1 & 1 | 0 | 0; + } + + function $520($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0; + } + + function $521($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 < 125 >>> 0 & 1 | 0)) { + break label$4 + } + $521(HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $522($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, $9_1 = 0, $18_1 = 0, $26_1 = 0, $34_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : while (1) { + $9_1 = 24; + $12_1 = 1; + label$2 : { + if (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -1 | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0) { + break label$2 + } + $18_1 = 24; + $12_1 = 1; + if (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -2 | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0) { + break label$2 + } + $26_1 = 24; + $12_1 = 1; + if (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -3 | 0) >> 0] | 0) << $26_1 | 0) >> $26_1 | 0) { + break label$2 + } + $34_1 = 24; + $12_1 = (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -4 | 0) >> 0] | 0) << $34_1 | 0) >> $34_1 | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$1; + } + break label$1; + }; + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $523($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $25_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $522(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $524(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $25_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $25_1 | 0; + } + + function $524($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0, $27_1 = 0, $35_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + $8_1 = ($68(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + $8_1 | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3229(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $27_1 = ($68(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + $27_1 | 0; + label$4 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$1; + } + $35_1 = ($68(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + $35_1 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $39_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $39_1 | 0; + } + + function $525($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $523(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$2 + } + $29_1 = ($526(HEAP32[$5_1 >> 2] | 0 | 0, (HEAP32[($5_1 + 4 | 0) >> 2] | 0) & 255 | 0 | 0) | 0) & 255 | 0; + break label$1; + } + $29_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + global$0 = $5_1 + 16 | 0; + return $29_1 | 0; + } + + function $526($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $20_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 11 | 0) >> 0] = $1_1; + $20_1 = ((($527(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, (HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) | 0) & 255 | 0 | 0) != (0 | 0) & 1 | 0) & 255 | 0; + global$0 = $4_1 + 16 | 0; + return $20_1 | 0; + } + + function $527($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $65_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 19 | 0) >> 0] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1135(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 31 | 0) >> 0] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $68(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (8 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 35153 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + if ($89(35120 + ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 35145 | 0) >> 0] | 0) & 255 | 0) | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + label$6 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 35161 | 0) >> 0] | 0) & 255 | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$5 + } + } + HEAP8[($5_1 + 31 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 35161 | 0) >> 0] | 0; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP8[($5_1 + 31 | 0) >> 0] = HEAPU8[($5_1 + 19 | 0) >> 0] | 0; + } + $65_1 = (HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0; + global$0 = $5_1 + 32 | 0; + return $65_1 | 0; + } + + function $528($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $19_1 = 0, $30_1 = 0, $44_1 = 0, $118$hi = 0, $119$hi = 0, $22_1 = 0, $120$hi = 0, $71_1 = 0, $121$hi = 0, $89_1 = 0, $92_1 = 0, $302_1 = 0, $114_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + $8_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = 24; + label$3 : { + if ((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) == (120 | 0) & 1 | 0) { + break label$3 + } + $30_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) == (88 | 0) & 1 | 0)) { + break label$2 + } + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 4 | 0) >> 2] = 2; + label$4 : { + label$5 : while (1) { + $44_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $44_1 | 0) >> $44_1 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$6 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $118$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $119$hi = i64toi32_i32$1; + i64toi32_i32$1 = $118$hi; + i64toi32_i32$1 = $119$hi; + i64toi32_i32$1 = $118$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $22_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $22_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $120$hi = i64toi32_i32$0; + $71_1 = 24; + i64toi32_i32$0 = 0; + $121$hi = i64toi32_i32$0; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$0 = $121$hi; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$1 = $22_1; + i64toi32_i32$2 = $121$hi; + i64toi32_i32$3 = ($529(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) >> 0] | 0) << $71_1 | 0) >> $71_1 | 0 | 0) | 0) & 255 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$5; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + i64toi32_i32$0 = $4_1 + 8 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $302_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $302_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$1; + $89_1 = 24; + $92_1 = 0; + label$8 : { + if (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) >> 0] | 0) << $89_1 | 0) >> $89_1 | 0) { + break label$8 + } + $92_1 = ((HEAP32[$4_1 >> 2] | 0) - (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0 | 0) <= (16 | 0); + } + HEAP32[($4_1 + 28 | 0) >> 2] = $92_1 & 1 | 0 ? 0 : 2; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $530(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $68(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0, 1 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $114_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $114_1 | 0; + } + + function $529($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + Math_imul(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 6 | 0) & 1 | 0, 9) | 0; + return ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) & 15 | 0) & 255 | 0 | 0; + } + + function $530($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $175_1 = 0, i64toi32_i32$6 = 0, $316$hi = 0, $38_1 = 0, $44_1 = 0, $83_1 = 0, $113_1 = 0, $128_1 = 0, $148_1 = 0, $152_1 = 0, $182_1 = 0, $184_1 = 0, $309$hi = 0, $310$hi = 0, $311$hi = 0, $312$hi = 0, $313$hi = 0, $314$hi = 0, $318$hi = 0, $320$hi = 0, $321$hi = 0, $323$hi = 0, $324$hi = 0, $277_1 = 0, $327$hi = 0, $328$hi = 0, $302_1 = 0, $46_1 = 0, $311_1 = 0, $736_1 = 0, $773_1 = 0, $781_1 = 0, $792_1 = 0, $968_1 = 0, $305_1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $8_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + HEAP8[($6_1 + 47 | 0) >> 0] = $3_1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = 0; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 48 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[($6_1 + 47 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 40 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 40 | 0) >> 2] = 2; + HEAP32[($6_1 + 48 | 0) >> 2] = (HEAP32[($6_1 + 48 | 0) >> 2] | 0) & -2 | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = 3 - ((HEAPU8[($6_1 + 47 | 0) >> 0] | 0) & 255 | 0) | 0; + label$3 : while (1) { + $38_1 = 0; + label$4 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $44_1 = 24; + $38_1 = (((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) << $44_1 | 0) >> $44_1 | 0 | 0) == (0 | 0); + } + label$5 : { + if (!($38_1 & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 2 | 0; + continue label$3; + } + break label$3; + }; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) ^ 1 | 0) | 0; + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (((HEAPU8[($6_1 + 47 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) | 0; + } + label$6 : while (1) { + $83_1 = 0; + label$7 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + $83_1 = (((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 | 0) != (0 | 0); + } + label$8 : { + if (!($83_1 & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0; + continue label$6; + } + break label$6; + }; + label$9 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$9 + } + $113_1 = 24; + label$10 : { + label$11 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $113_1 | 0) >> $113_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0; + break label$10; + } + $128_1 = 24; + label$12 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $128_1 | 0) >> $128_1 | 0 | 0) == (43 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0; + } + } + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + label$13 : while (1) { + $148_1 = 0; + label$14 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$14 + } + $152_1 = 24; + $148_1 = (((HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $152_1 | 0) >> $152_1 | 0 | 0) == (48 | 0); + } + label$15 : { + if (!($148_1 & 1 | 0)) { + break label$15 + } + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0; + continue label$13; + } + break label$13; + }; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + label$16 : while (1) { + $175_1 = 0; + label$17 : { + if (!(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >>> 0 < (HEAP32[($6_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$17 + } + $182_1 = 24; + $184_1 = ((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) << $182_1 | 0) >> $182_1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = $184_1; + $175_1 = 0; + if (!(($184_1 | 0) >= (48 | 0) & 1 | 0)) { + break label$17 + } + $175_1 = (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) <= (57 | 0); + } + label$18 : { + if (!($175_1 & 1 | 0)) { + break label$18 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $309$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $310$hi = i64toi32_i32$1; + i64toi32_i32$1 = $309$hi; + i64toi32_i32$1 = $310$hi; + i64toi32_i32$1 = $309$hi; + $46_1 = i64toi32_i32$0; + i64toi32_i32$0 = $310$hi; + i64toi32_i32$0 = __wasm_i64_mul($46_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $311_1 = i64toi32_i32$0; + $311$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $312$hi = i64toi32_i32$1; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$1 = $312$hi; + $736_1 = i64toi32_i32$0; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$2 = $311_1; + i64toi32_i32$0 = $312$hi; + i64toi32_i32$3 = $736_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $313$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $314$hi = i64toi32_i32$5; + i64toi32_i32$5 = $313$hi; + i64toi32_i32$5 = $314$hi; + i64toi32_i32$5 = $313$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $314$hi; + i64toi32_i32$3 = 48; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0; + continue label$16; + } + break label$16; + }; + i64toi32_i32$4 = 2147483647; + $316$hi = i64toi32_i32$4; + i64toi32_i32$5 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $318$hi = i64toi32_i32$1; + i64toi32_i32$1 = $316$hi; + i64toi32_i32$1 = $318$hi; + i64toi32_i32$1 = $316$hi; + i64toi32_i32$1 = $318$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$4 = $316$hi; + i64toi32_i32$3 = -1; + label$19 : { + label$20 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$4 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$4 | 0) & i64toi32_i32$5 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$20 + } + i64toi32_i32$5 = -2147483648; + $320$hi = i64toi32_i32$5; + i64toi32_i32$5 = 2147483647; + $321$hi = i64toi32_i32$5; + i64toi32_i32$5 = $320$hi; + i64toi32_i32$5 = $321$hi; + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$5 = $320$hi; + i64toi32_i32$1 = $321$hi; + i64toi32_i32$4 = i64toi32_i32$2 ? 0 : -1; + i64toi32_i32$3 = i64toi32_i32$2 ? i64toi32_i32$5 : i64toi32_i32$1; + $773_1 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$4 >> 2] = $773_1; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$3; + break label$19; + } + label$21 : { + label$22 : { + if (!(HEAP32[($6_1 + 28 | 0) >> 2] | 0)) { + break label$22 + } + i64toi32_i32$3 = 0; + $323$hi = i64toi32_i32$3; + i64toi32_i32$2 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $324$hi = i64toi32_i32$4; + i64toi32_i32$4 = $323$hi; + i64toi32_i32$4 = $324$hi; + $781_1 = i64toi32_i32$3; + i64toi32_i32$4 = $323$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = $324$hi; + i64toi32_i32$5 = $781_1; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$21; + } + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $792_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $792_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$23 : { + label$24 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$24 + } + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($6_1 + 12 | 0) >> 2] = -1; + break label$23; + } + label$25 : { + label$26 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$26 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + break label$25; + } + label$27 : { + if (!(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >>> 0 < (HEAP32[($6_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$27 + } + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + label$28 : { + label$29 : while (1) { + label$30 : { + if (((HEAPU8[(((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[$6_1 >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$30 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + break label$28; + } + HEAP32[$6_1 >> 2] = (HEAP32[$6_1 >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0; + if (((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[$6_1 >> 2] | 0) | 0) >>> 0 < (HEAP32[($6_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + continue label$29 + } + break label$29; + }; + } + } + } + } + label$31 : { + label$32 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 19) | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + break label$31; + } + label$33 : { + label$34 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) > (Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 19) | 0) & 1 | 0)) { + break label$34 + } + $277_1 = 1; + break label$33; + } + $277_1 = $882(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($6_1 + 20 | 0) >> 2] = $277_1; + label$35 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$35 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + break label$31; + } + i64toi32_i32$2 = -2147483648; + $327$hi = i64toi32_i32$2; + i64toi32_i32$2 = 2147483647; + $328$hi = i64toi32_i32$2; + i64toi32_i32$2 = $327$hi; + i64toi32_i32$2 = $328$hi; + i64toi32_i32$3 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $327$hi; + i64toi32_i32$0 = $328$hi; + i64toi32_i32$5 = i64toi32_i32$3 ? 0 : -1; + i64toi32_i32$4 = i64toi32_i32$3 ? i64toi32_i32$2 : i64toi32_i32$0; + $968_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $968_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$4; + label$36 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 2; + break label$31; + } + label$37 : { + label$38 : { + if (!(HEAP32[($6_1 + 28 | 0) >> 2] | 0)) { + break label$38 + } + $302_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + break label$37; + } + $302_1 = 3; + } + HEAP32[($6_1 + 60 | 0) >> 2] = $302_1; + } + $305_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $305_1 | 0; + } + + function $531($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $8_1 = $532(HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, 1 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $532($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + if (!((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + $13_1 = 4614 + 4 | 0; + break label$1; + } + $13_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0; + } + return $13_1 | 0; + } + + function $533($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (((HEAPU16[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function $534($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $535($3_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if ($89(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 3636 | 0, 7 | 0) | 0) { + break label$1 + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 7 | 0; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $68(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$2 : { + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if ($89(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + if ($536((HEAPU8[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) | 0) { + break label$5 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 1; + break label$2; + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $51_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $51_1 | 0; + } + + function $535($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = 13; + return 61216 | 0; + } + + function $536($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP8[($3_1 + 15 | 0) >> 0] = $0_1; + return (((HEAPU8[(((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 70 | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function $537($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $535($3_1 + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[$3_1 >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $29_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $29_1 | 0; + } + + function $538() { + return 3644 | 0; + } + + function $539($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $7_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $7_1 = $59(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $9_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 480 | 0) >> 2] | 0; + HEAP32[$9_1 >> 2] = (HEAP32[$9_1 >> 2] | 0) + $7_1 | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $540($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + if ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + label$2 : { + label$3 : { + if (!($542(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $3288(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $543(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + $13(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + break label$2; + } + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $45(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + $118(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + } + } + } + $40_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $40_1 | 0; + } + + function $541($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $14_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $39(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + $118(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + $14_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $14_1 | 0; + } + + function $542($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $14_1 = 0; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 320 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + $14_1 = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 324 | 0) >> 2] | 0) >>> 0; + } + return $14_1 & 1 | 0 | 0; + } + + function $543($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 316 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $17_1 = (HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 278 | 0) >> 1] | 0) & 65535 | 0; + break label$1; + } + $17_1 = 128; + } + return $17_1 | 0; + } + + function $544($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return 3732 | 0; + } + + function $545($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $546(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + $547(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0; + $548(); + label$1 : { + if (!(HEAP32[((HEAP32[$3_1 >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$1 + } + $549(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + } + $550(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $551(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $552(); + $16_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $16_1 | 0; + } + + function $546($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 160 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 156 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 156 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69088 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 156 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, $3_1 + 64 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($3_1 + 60 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 156 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $82(28 | 0, 3808 | 0, $3_1 | 0); + break label$1; + } + label$4 : { + if (HEAP32[($3_1 + 80 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 156 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $82(28 | 0, 3832 | 0, $3_1 + 16 | 0 | 0); + break label$1; + } + label$5 : { + if (!((HEAP32[($3_1 + 80 | 0) >> 2] | 0) >>> 0 > 1 >>> 0 & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 156 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $82(28 | 0, 3861 | 0, $3_1 + 32 | 0 | 0); + break label$1; + } + if (!($570(HEAP32[($3_1 + 156 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + HEAP32[($3_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 156 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $82(28 | 0, 3888 | 0, $3_1 + 48 | 0 | 0); + } + global$0 = $3_1 + 160 | 0; + return; + } + + function $547($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $565(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $548() { + return; + } + + function $549($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = -1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + return; + } + + function $550($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($13_1 + 36 | 0) >> 2] = (HEAP32[($13_1 + 36 | 0) >> 2] | 0) + -1 | 0; + label$2 : { + if (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $586(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + break label$3; + } + HEAP32[(0 + 114504 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + } + label$5 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + } + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $551($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, $38_1 = 0, $22_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + $102(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 35730 | 0); + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = -1; + } + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $22_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $38_1 = 0; + i64toi32_i32$1 = $22_1; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $552() { + return; + } + + function $553($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $28_1 = 0, i64toi32_i32$1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $554(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) == (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + $28_1 = HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (($28_1 | 0) == (29 | 0)) { + break label$5 + } + if (($28_1 | 0) == (60 | 0)) { + break label$5 + } + if (($28_1 | 0) != (68 | 0)) { + break label$4 + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 8458; + break label$1; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 266; + break label$1; + } + $555(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0); + $3289((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[$6_1 >> 2] | 0) | 0 | 0, 0 | 0, (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[$6_1 >> 2] | 0) | 0 | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 522; + } + $47_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $47_1 | 0; + } + + function $554($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $83$hi = 0, i64toi32_i32$5 = 0, $87$hi = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $89$hi = 0, i64toi32_i32$4 = 0, $118_1 = 0, $89_1 = 0, $235$hi = 0, $80_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + i64toi32_i32$0 = 0; + $83$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = $3249(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $118_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $118_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $87$hi = i64toi32_i32$1; + i64toi32_i32$1 = $83$hi; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$1 = $83$hi; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $83$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $19_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $20_1 = 0 + } else { + $20_1 = 1 + } + $21_1 = $20_1; + } else { + $21_1 = 0 + } + $19_1 = $21_1; + } + label$3 : { + if (!($19_1 & 1 | 0)) { + break label$3 + } + $555(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = -1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69124 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[($3169() | 0) >> 2] | 0 | 0) == (27 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 1; + break label$6; + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + $555(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + break label$4; + } + label$9 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) - (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $89_1 = i64toi32_i32$1; + $89$hi = i64toi32_i32$2; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $235$hi = i64toi32_i32$1; + i64toi32_i32$1 = $89$hi; + i64toi32_i32$1 = $235$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $89$hi; + i64toi32_i32$0 = $89_1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0; + } + } + if ((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + continue label$2 + } + } + break label$2; + }; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0; + } + $80_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $80_1 | 0; + } + + function $555($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + return; + } + + function $556($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $13_1 = 0, $20_1 = 0, $68$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $68_1 = 0, $148$hi = 0, $64_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = 0; + label$1 : while (1) { + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $13_1 = $557(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$6_1 >> 2] = $13_1; + $20_1 = 0; + label$2 : { + if (!(($13_1 | 0) < (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $20_1 = (HEAP32[$6_1 >> 2] | 0 | 0) > (0 | 0); + } + label$3 : { + if (!($20_1 & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[$6_1 >> 2] | 0) | 0; + i64toi32_i32$0 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $68_1 = i64toi32_i32$0; + $68$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $148$hi = i64toi32_i32$0; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$0 = $148$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$3 = $68_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[$6_1 >> 2] | 0) | 0; + continue label$1; + } + break label$1; + }; + label$4 : { + label$5 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[$6_1 >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (51 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 778; + break label$4; + } + $555(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = 13; + break label$4; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $64_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $64_1 | 0; + } + + function $557($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $14_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $14_1 = $578(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0 | 0) | 0; + global$0 = $6_1 + 32 | 0; + return $14_1 | 0; + } + + function $558($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $40$hi = 0, $41$hi = 0, $42$hi = 0, $43$hi = 0, $44$hi = 0, $45$hi = 0, $46$hi = 0, $47$hi = 0, $40_1 = 0, $87_1 = 0, $100_1 = 0, $46_1 = 0, $110_1 = 0, $113_1 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $40_1 = i64toi32_i32$0; + $40$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $41$hi = i64toi32_i32$1; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $41$hi; + $87_1 = i64toi32_i32$0; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$3 = $87_1; + i64toi32_i32$4 = $40_1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $42$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $43$hi = i64toi32_i32$5; + i64toi32_i32$5 = $42$hi; + i64toi32_i32$5 = $43$hi; + i64toi32_i32$5 = $42$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) + $43$hi | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + $44$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $45$hi = i64toi32_i32$4; + i64toi32_i32$4 = $44$hi; + i64toi32_i32$4 = $45$hi; + $100_1 = i64toi32_i32$1; + i64toi32_i32$4 = $44$hi; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$1 = __wasm_i64_sdiv(i64toi32_i32$0 | 0, i64toi32_i32$4 | 0, $100_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $46_1 = i64toi32_i32$1; + $46$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $47$hi = i64toi32_i32$4; + i64toi32_i32$4 = $46$hi; + i64toi32_i32$4 = $47$hi; + $110_1 = i64toi32_i32$1; + i64toi32_i32$4 = $46$hi; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = __wasm_i64_mul($46_1 | 0, i64toi32_i32$4 | 0, $110_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $113_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $113_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$4; + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $559(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$3 + } + $555(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $97(1546 | 0, 3952 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, 37437 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $37_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $37_1 | 0; + } + + function $559($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $17_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : while (1) { + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69100 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 28 | 0) >> 2] | 0, i64toi32_i32$0, i64toi32_i32$1) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $17_1 = 0; + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = (HEAP32[($3169() | 0) >> 2] | 0 | 0) == (27 | 0); + } + if ($17_1 & 1 | 0) { + continue label$1 + } + break label$1; + }; + $27_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $27_1 | 0; + } + + function $560($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $47_1 = 0, $52_1 = 0, $59_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 16 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 15 | 0 | 0) == (3 | 0) & 1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $101(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$2 + } + $555(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $97(1034 | 0, 4252 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, 37392 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69232 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, $4_1) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$5 + } + $47_1 = 0; + $101(HEAP32[$4_1 >> 2] | 0 | 0, $47_1 | 0, $47_1 | 0) | 0; + $102(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, 37406 | 0); + break label$4; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + } + $52_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP16[($52_1 + 18 | 0) >> 1] = ((HEAPU16[($52_1 + 18 | 0) >> 1] | 0) & 65535 | 0) & -9 | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $59_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $59_1 | 0; + } + + function $561($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $28$hi = 0, $31$hi = 0, $77_1 = 0, $25_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69088 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, $4_1 + 8 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 96 | 0) >> 2] | 0)) { + break label$2 + } + $555(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 108 | 0) >> 2] = 1802; + break label$1; + } + i64toi32_i32$0 = 0; + $28$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $77_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $77_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $31$hi = i64toi32_i32$0; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + label$3 : { + if (!(((i64toi32_i32$2 | 0) == (1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + } + HEAP32[($4_1 + 108 | 0) >> 2] = 0; + } + $25_1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $25_1 | 0; + } + + function $562($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5_1 = 0, $80_1 = 0, $84_1 = 0, $117_1 = 0, $192_1 = 0, $262_1 = 0, $514_1 = 0, $271$hi = 0, $577_1 = 0, $273$hi = 0, $609_1 = 0, $275$hi = 0, $721_1 = 0, $277$hi = 0, $733_1 = 0, $266_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) >= (HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 255 | 0 | 0) >= (3 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($4_1 + 48 | 0) >> 2] = 5; + break label$3; + } + label$6 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0) { + break label$7 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = 1; + $80_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($80_1 + 20 | 0) >> 2] = (HEAP32[($80_1 + 20 | 0) >> 2] | 0) + 1 | 0; + $84_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($84_1 + 24 | 0) >> 2] = (HEAP32[($84_1 + 24 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($4_1 + 10 | 0) >> 1] = 0; + label$8 : { + label$9 : { + if ((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$9 + } + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$8 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$8 + } + } + $117_1 = 1; + HEAP16[($4_1 + 8 | 0) >> 1] = (HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == ($117_1 | 0) & 1 | 0 ? 0 : $117_1; + i64toi32_i32$1 = HEAP32[(0 + 69008 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $514_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $514_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$10 : { + if (!($563(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0)) { + break label$10 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = HEAP32[($3169() | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $564(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 3850 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$11 + } + $555(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + break label$3; + } + } + label$12 : { + label$13 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$13 + } + i64toi32_i32$0 = 0; + $271$hi = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[(0 + 69008 | 0) >> 2] | 0) + 2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $577_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $577_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $271$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 510; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$14 : { + if (!($563(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0)) { + break label$14 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = HEAP32[($3169() | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $564(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 3850 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$0 = 0; + $273$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(0 + 69008 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $609_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $609_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $273$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($4_1 + 8 | 0) >> 1] = 2; + label$15 : { + if (!($563(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0)) { + break label$15 + } + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$15 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = HEAP32[($3169() | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 48 | 0) >> 2] = 2058; + } + label$16 : { + if (!(HEAP32[($4_1 + 48 | 0) >> 2] | 0)) { + break label$16 + } + label$17 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$17 + } + $555(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + break label$3; + } + HEAP8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = 1; + $192_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($192_1 + 24 | 0) >> 2] = (HEAP32[($192_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + break label$12; + } + label$18 : { + label$19 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$19 + } + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($4_1 + 48 | 0) >> 2] = 5; + break label$18; + } + HEAP16[($4_1 + 8 | 0) >> 1] = 1; + label$20 : { + label$21 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$21 + } + i64toi32_i32$0 = 0; + $275$hi = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[(0 + 69008 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $721_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $721_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $275$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$20; + } + i64toi32_i32$0 = 0; + $277$hi = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[(0 + 69008 | 0) >> 2] | 0) + 2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $733_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $733_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $277$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 510; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + label$22 : { + if (!($563(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0)) { + break label$22 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = HEAP32[($3169() | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $564(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 3850 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$23 + } + $555(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + } + } + } + label$24 : { + label$25 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$25 + } + HEAP8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 0] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + break label$24; + } + label$26 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$26 + } + $262_1 = 3; + HEAP8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = $262_1; + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 0] = $262_1; + } + } + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + } + $266_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $266_1 | 0; + } + + function $563($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $48_1 = 0, $66$hi = 0, $122_1 = 0, $31_1 = 0, $33_1 = 0, $54_1 = 0, $56_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) & 3 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if ((HEAPU8[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 29 | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + i64toi32_i32$0 = 0; + $66$hi = i64toi32_i32$0; + HEAP16[($4_1 + 26 | 0) >> 1] = 0; + i64toi32_i32$1 = (HEAP32[(0 + 69008 | 0) >> 2] | 0) + 2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $122_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $122_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = 510; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($4_1 + 24 | 0) >> 1] = 1; + $31_1 = HEAP32[(0 + 69112 | 0) >> 2] | 0; + $33_1 = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $4_1 + 24 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[$31_1 | 0]($33_1, 13, $4_1) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + break label$1; + } + HEAP8[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 29 | 0) >> 0] = 1; + $48_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($48_1 + 24 | 0) >> 2] = (HEAP32[($48_1 + 24 | 0) >> 2] | 0) + 1 | 0; + break label$4; + } + HEAP32[($4_1 + 64 | 0) >> 2] = 0; + } + break label$2; + } + $54_1 = HEAP32[(0 + 69112 | 0) >> 2] | 0; + $56_1 = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[$54_1 | 0]($56_1, 13, $4_1 + 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + } + $63_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $63_1 | 0; + } + + function $564($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (($5_1 | 0) == (2 | 0)) { + break label$4 + } + if (($5_1 | 0) == (6 | 0)) { + break label$4 + } + if (($5_1 | 0) == (10 | 0)) { + break label$4 + } + if (($5_1 | 0) == (27 | 0)) { + break label$4 + } + if (($5_1 | 0) == (46 | 0)) { + break label$4 + } + if (($5_1 | 0) == (63 | 0)) { + break label$3 + } + if (($5_1 | 0) != (73 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 5; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 3; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $565($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $41_1 = 0, $70_1 = 0, $110_1 = 0, $85_1 = 0, $92_1 = 0, $106$hi = 0, $201_1 = 0, $108$hi = 0, $234_1 = 0, $103_1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) <= (HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = 0; + $106$hi = i64toi32_i32$0; + $41_1 = 0; + HEAP16[($5_1 + 8 | 0) >> 1] = $41_1; + HEAP16[($5_1 + 10 | 0) >> 1] = $41_1; + i64toi32_i32$1 = (HEAP32[(0 + 69008 | 0) >> 2] | 0) + 2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $201_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $201_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $106$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 510; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$6 : { + if (!($563(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0)) { + break label$6 + } + HEAP32[($5_1 + 4 | 0) >> 2] = 2314; + $555(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + break label$3; + } + } + i64toi32_i32$0 = 0; + $108$hi = i64toi32_i32$0; + HEAP16[($5_1 + 8 | 0) >> 1] = 2; + HEAP16[($5_1 + 10 | 0) >> 1] = 0; + i64toi32_i32$1 = HEAP32[(0 + 69008 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $234_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $234_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $108$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 2; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$7 : { + label$8 : { + if ($563(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0) { + break label$8 + } + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 0] = 1; + break label$7; + } + HEAP32[($5_1 + 4 | 0) >> 2] = 2058; + $555(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + break label$3; + } + } + label$9 : { + if (HEAP32[($5_1 + 52 | 0) >> 2] | 0) { + break label$9 + } + $70_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($70_1 + 20 | 0) >> 2] = (HEAP32[($70_1 + 20 | 0) >> 2] | 0) + -1 | 0; + label$10 : { + if (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) { + break label$10 + } + i64toi32_i32$0 = 0; + $110_1 = 0; + HEAP16[($5_1 + 8 | 0) >> 1] = 2; + HEAP16[($5_1 + 10 | 0) >> 1] = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $110_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $110_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$11 : { + label$12 : { + if ($563(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0) { + break label$12 + } + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 0] = 0; + break label$11; + } + $85_1 = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = 2058; + $555(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 0] = $85_1; + HEAP8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = $85_1; + } + } + $92_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($92_1 + 24 | 0) >> 2] = (HEAP32[($92_1 + 24 | 0) >> 2] | 0) + -1 | 0; + label$13 : { + if (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) { + break label$13 + } + $586(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + } + } + } + label$14 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$14 + } + HEAP8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + $103_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $103_1 | 0; + } + + function $566($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6_1 = 0, $52_1 = 0, $66$hi = 0, $139_1 = 0, $39_1 = 0, $41_1 = 0, $63_1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $6_1 = 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 255 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 48 | 0) >> 2] = 1; + } + label$2 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$2 + } + if (((HEAPU8[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 29 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + $66$hi = i64toi32_i32$0; + HEAP16[($4_1 + 10 | 0) >> 1] = 0; + i64toi32_i32$1 = (HEAP32[(0 + 69008 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $139_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $139_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($4_1 + 8 | 0) >> 1] = 1; + $39_1 = HEAP32[(0 + 69112 | 0) >> 2] | 0; + $41_1 = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $4_1 + 8 | 0; + label$3 : { + label$4 : { + if (!(FUNCTION_TABLE[$39_1 | 0]($41_1, 12, $4_1) | 0)) { + break label$4 + } + HEAP32[($4_1 + 52 | 0) >> 2] = 3594; + $555(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + break label$3; + } + $52_1 = 16; + label$5 : { + if (!((((HEAPU16[($4_1 + 8 | 0) >> 1] | 0) << $52_1 | 0) >> $52_1 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 48 | 0) >> 2] = 1; + } + } + } + HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + $63_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $63_1 | 0; + } + + function $567($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $9_1 = 0, i64toi32_i32$2 = 0, $45_1 = 0, $69_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $9_1 = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($9_1 | 0) { + case 0: + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + case 3: + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + case 5: + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + case 4: + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $568(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + break label$1; + case 9: + $569(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 4 & 255 | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + case 12: + $569(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 16 & 255 | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + case 11: + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $45_1 = $79(1976 | 0, $5_1 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = $45_1; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + case 15: + i64toi32_i32$0 = HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $93(HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + case 19: + $69_1 = $570(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = $69_1; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + default: + break label$2; + }; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 12; + } + $72_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $72_1 | 0; + } + + function $568($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$6 = 0, $76$hi = 0, $77$hi = 0, $89$hi = 0, $94$hi = 0, $97$hi = 0, $98$hi = 0, $67$hi = 0, $68$hi = 0, $69$hi = 0, $70$hi = 0, $71$hi = 0, $72$hi = 0, $73$hi = 0, $74$hi = 0, $63_1 = 0, $65_1 = 0, $66_1 = 0, $80$hi = 0, $81$hi = 0, $82$hi = 0, $83$hi = 0, $84$hi = 0, $85$hi = 0, $86$hi = 0, $87$hi = 0, $90$hi = 0, $91$hi = 0, $92$hi = 0, $93$hi = 0, $68_1 = 0, $69_1 = 0, $70_1 = 0, $71_1 = 0, $72_1 = 0, $74_1 = 0, $101$hi = 0, $102$hi = 0, $50_1 = 0, $105$hi = 0, $67_1 = 0, $159_1 = 0, $172_1 = 0, $73_1 = 0, $182_1 = 0, $185_1 = 0, $76_1 = 0, $193_1 = 0, $80_1 = 0, $214_1 = 0, $82_1 = 0, $222_1 = 0, $84_1 = 0, $230_1 = 0, $89_1 = 0, $90_1 = 0, $247_1 = 0, $97_1 = 0, $269_1 = 0, $105_1 = 0, $315$hi = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 120 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 112 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 116 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[(i64toi32_i32$1 + 120 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(FUNCTION_TABLE[HEAP32[(0 + 69088 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, $4_1 + 16 | 0) | 0)) { + break label$3 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 1802; + break label$1; + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + $67_1 = i64toi32_i32$0; + $67$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $68$hi = i64toi32_i32$1; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$1 = $68$hi; + $159_1 = i64toi32_i32$0; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$2 = $67_1; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$3 = $159_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $69$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $70$hi = i64toi32_i32$5; + i64toi32_i32$5 = $69$hi; + i64toi32_i32$5 = $70$hi; + i64toi32_i32$5 = $69$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $70$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + $71$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $72$hi = i64toi32_i32$4; + i64toi32_i32$4 = $71$hi; + i64toi32_i32$4 = $72$hi; + $172_1 = i64toi32_i32$1; + i64toi32_i32$4 = $71$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = __wasm_i64_sdiv(i64toi32_i32$0 | 0, i64toi32_i32$4 | 0, $172_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $73_1 = i64toi32_i32$1; + $73$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $74$hi = i64toi32_i32$4; + i64toi32_i32$4 = $73$hi; + i64toi32_i32$4 = $74$hi; + $182_1 = i64toi32_i32$1; + i64toi32_i32$4 = $73$hi; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$1 = __wasm_i64_mul($73_1 | 0, i64toi32_i32$4 | 0, $182_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $185_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 104 | 0) >> 2] = $185_1; + HEAP32[(i64toi32_i32$1 + 108 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 108 | 0) >> 2] | 0; + $76_1 = i64toi32_i32$4; + $76$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 56 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 60 | 0) >> 2] | 0; + $77$hi = i64toi32_i32$4; + i64toi32_i32$4 = $76$hi; + i64toi32_i32$4 = $77$hi; + i64toi32_i32$4 = $76$hi; + i64toi32_i32$4 = $77$hi; + $193_1 = i64toi32_i32$1; + i64toi32_i32$4 = $76$hi; + i64toi32_i32$5 = $76_1; + i64toi32_i32$1 = $77$hi; + i64toi32_i32$3 = $193_1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$1 | 0)) { + $63_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$5 >>> 0 <= i64toi32_i32$3 >>> 0) { + $65_1 = 0 + } else { + $65_1 = 1 + } + $66_1 = $65_1; + } else { + $66_1 = 0 + } + $63_1 = $66_1; + } + label$4 : { + if (!($63_1 & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + i64toi32_i32$3 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $80_1 = i64toi32_i32$5; + $80$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $81$hi = i64toi32_i32$4; + i64toi32_i32$4 = $80$hi; + i64toi32_i32$4 = $81$hi; + $214_1 = i64toi32_i32$5; + i64toi32_i32$4 = $80$hi; + i64toi32_i32$5 = $81$hi; + i64toi32_i32$5 = __wasm_i64_sdiv($80_1 | 0, i64toi32_i32$4 | 0, $214_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $82_1 = i64toi32_i32$5; + $82$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $83$hi = i64toi32_i32$4; + i64toi32_i32$4 = $82$hi; + i64toi32_i32$4 = $83$hi; + $222_1 = i64toi32_i32$5; + i64toi32_i32$4 = $82$hi; + i64toi32_i32$5 = $83$hi; + i64toi32_i32$5 = __wasm_i64_mul($82_1 | 0, i64toi32_i32$4 | 0, $222_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $84_1 = i64toi32_i32$5; + $84$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $85$hi = i64toi32_i32$4; + i64toi32_i32$4 = $84$hi; + i64toi32_i32$4 = $85$hi; + $230_1 = i64toi32_i32$5; + i64toi32_i32$4 = $84$hi; + i64toi32_i32$3 = $84_1; + i64toi32_i32$5 = $85$hi; + i64toi32_i32$1 = $230_1; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $86$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $87$hi = i64toi32_i32$0; + i64toi32_i32$0 = $86$hi; + i64toi32_i32$0 = $87$hi; + i64toi32_i32$0 = $86$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$3 = $87$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$5 = i64toi32_i32$4 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$2 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 - i64toi32_i32$2 | 0; + i64toi32_i32$4 = $4_1; + HEAP32[i64toi32_i32$4 >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$2; + label$5 : { + label$6 : while (1) { + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $89_1 = i64toi32_i32$2; + $89$hi = i64toi32_i32$4; + i64toi32_i32$0 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + $90_1 = i64toi32_i32$4; + $90$hi = i64toi32_i32$2; + i64toi32_i32$4 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $91$hi = i64toi32_i32$2; + i64toi32_i32$2 = $90$hi; + i64toi32_i32$2 = $91$hi; + $247_1 = i64toi32_i32$4; + i64toi32_i32$2 = $90$hi; + i64toi32_i32$0 = $90_1; + i64toi32_i32$4 = $91$hi; + i64toi32_i32$1 = $247_1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $92$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $93$hi = i64toi32_i32$5; + i64toi32_i32$5 = $92$hi; + i64toi32_i32$5 = $93$hi; + i64toi32_i32$5 = $92$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$0 = $93$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + $94$hi = i64toi32_i32$3; + i64toi32_i32$3 = $89$hi; + i64toi32_i32$3 = $94$hi; + i64toi32_i32$3 = $89$hi; + i64toi32_i32$3 = $94$hi; + i64toi32_i32$3 = $89$hi; + i64toi32_i32$5 = $89_1; + i64toi32_i32$2 = $94$hi; + i64toi32_i32$1 = i64toi32_i32$4; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$2 | 0)) { + $68_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$1 >>> 0) { + $69_1 = 0 + } else { + $69_1 = 1 + } + $70_1 = $69_1; + } else { + $70_1 = 0 + } + $68_1 = $70_1; + } + if (!($68_1 & 1 | 0)) { + break label$5 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $97_1 = i64toi32_i32$5; + $97$hi = i64toi32_i32$3; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + $98$hi = i64toi32_i32$5; + i64toi32_i32$5 = $97$hi; + i64toi32_i32$5 = $98$hi; + i64toi32_i32$5 = $97$hi; + i64toi32_i32$5 = $98$hi; + $269_1 = i64toi32_i32$3; + i64toi32_i32$5 = $97$hi; + i64toi32_i32$1 = $97_1; + i64toi32_i32$3 = $98$hi; + i64toi32_i32$2 = $269_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$3 | 0)) { + $71_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + $72_1 = 0 + } else { + $72_1 = 1 + } + $74_1 = $72_1; + } else { + $74_1 = 0 + } + $71_1 = $74_1; + } + label$7 : { + if (!($71_1 & 1 | 0)) { + break label$7 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + $101$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $102$hi = i64toi32_i32$5; + i64toi32_i32$5 = $101$hi; + i64toi32_i32$5 = $102$hi; + i64toi32_i32$5 = $101$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $102$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$2 = $4_1; + HEAP32[$4_1 >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$4; + } + $50_1 = 1; + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = i64toi32_i32$5, wasm2js_i32$1 = $557(HEAP32[(i64toi32_i32$5 + 120 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$2 | 0, 1352 | 0, $50_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0 | 0) != ($50_1 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 778; + break label$1; + } + i64toi32_i32$4 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $105_1 = i64toi32_i32$4; + $105$hi = i64toi32_i32$2; + i64toi32_i32$5 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $315$hi = i64toi32_i32$4; + i64toi32_i32$4 = $105$hi; + i64toi32_i32$4 = $315$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $105$hi; + i64toi32_i32$3 = $105_1; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$5 = $4_1; + HEAP32[i64toi32_i32$5 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$0; + continue label$6; + }; + } + } + } + HEAP32[($4_1 + 124 | 0) >> 2] = 0; + } + $64_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + global$0 = $4_1 + 128 | 0; + return $64_1 | 0; + } + + function $569($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $36_1 = 0, $44_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($5_1 + 11 | 0) >> 0] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = (((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) & ((HEAPU8[($5_1 + 11 | 0) >> 0] | 0) & 255 | 0) | 0 | 0) != (0 | 0) & 1 | 0; + break label$1; + } + label$3 : { + label$4 : { + if (HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0) { + break label$4 + } + $36_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($36_1 + 18 | 0) >> 1] = ((HEAPU16[($36_1 + 18 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[($5_1 + 11 | 0) >> 0] | 0) & 255 | 0) ^ -1 | 0) | 0; + break label$3; + } + $44_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($44_1 + 18 | 0) >> 1] = (HEAPU16[($44_1 + 18 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU8[($5_1 + 11 | 0) >> 0] | 0) & 255 | 0) | 0; + } + } + return; + } + + function $570($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $31$hi = 0, $32$hi = 0, $13_1 = 0, $21_1 = 0, $31_1 = 0, $81_1 = 0; + $3_1 = global$0 - 96 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 92 | 0) >> 2] = $0_1; + $13_1 = 0; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $21_1 = 1; + label$2 : { + if (FUNCTION_TABLE[HEAP32[(0 + 69076 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 92 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, $3_1) | 0) { + break label$2 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 84 | 0) >> 2] | 0; + $31_1 = i64toi32_i32$0; + $31$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[((HEAP32[($3_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$0; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $32$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $32$hi; + $81_1 = i64toi32_i32$1; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$2 = $31_1; + i64toi32_i32$1 = $32$hi; + $21_1 = (i64toi32_i32$2 | 0) != ($81_1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0; + } + $13_1 = $21_1; + } + global$0 = $3_1 + 96 | 0; + return $13_1 & 1 | 0 | 0; + } + + function $571($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $572(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $7_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $572($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$2 + } + $12_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($12_1 + 48 | 0) >> 2] = HEAP32[($12_1 + 48 | 0) >> 2] | 0 | 4096 | 0; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = 4096; + } + return; + } + + function $573($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $572(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $7_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $574($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $276$hi = 0, $277$hi = 0, $8_1 = 0, i64toi32_i32$3 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $280$hi = 0, $281$hi = 0, $97_1 = 0, $168_1 = 0, $284$hi = 0, $285$hi = 0, $241_1 = 0, $276_1 = 0, $482_1 = 0, $30_1 = 0, $171_1 = 0, $172_1 = 0, $177_1 = 0, $179_1 = 0, $31_1 = 0, $273_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 176 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 168 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 164 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 160 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 156 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 152 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 148 | 0) >> 2] = HEAP32[($7_1 + 168 | 0) >> 2] | 0; + HEAP32[($7_1 + 136 | 0) >> 2] = $8_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $575() | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $576(HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($7_1 + 136 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($7_1 + 172 | 0) >> 2] = HEAP32[($7_1 + 136 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($7_1 + 144 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 140 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 144 | 0) >> 2] | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $577(HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($7_1 + 136 | 0) >> 2] | 0)) { + break label$6 + } + break label$4; + } + HEAP8[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 23 | 0) >> 0] = 0; + } + HEAP32[($7_1 + 128 | 0) >> 2] = Math_imul(((HEAP32[($7_1 + 164 | 0) >> 2] | 0) + (HEAP32[($7_1 + 132 | 0) >> 2] | 0) | 0 | 0) / (HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0) | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0); + label$7 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) < (HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($7_1 + 120 | 0) >> 2] = Math_imul(HEAP32[($7_1 + 128 | 0) >> 2] | 0, HEAP32[($7_1 + 160 | 0) >> 2] | 0); + HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + label$8 : { + if (!((HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!(FUNCTION_TABLE[HEAP32[(0 + 69088 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, $7_1 + 32 | 0) | 0)) { + break label$9 + } + HEAP32[($7_1 + 136 | 0) >> 2] = 4874; + break label$4; + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $276_1 = i64toi32_i32$0; + $276$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($7_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $277$hi = i64toi32_i32$1; + i64toi32_i32$1 = $276$hi; + i64toi32_i32$1 = $277$hi; + i64toi32_i32$1 = $276$hi; + i64toi32_i32$1 = $277$hi; + $482_1 = i64toi32_i32$0; + i64toi32_i32$1 = $276$hi; + i64toi32_i32$2 = $276_1; + i64toi32_i32$0 = $277$hi; + i64toi32_i32$3 = $482_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $27_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $28_1 = 0 + } else { + $28_1 = 1 + } + $29_1 = $28_1; + } else { + $29_1 = 0 + } + $27_1 = $29_1; + } + label$10 : { + if (!($27_1 & 1 | 0)) { + break label$10 + } + label$11 : { + if (HEAP32[($7_1 + 156 | 0) >> 2] | 0) { + break label$11 + } + break label$4; + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $280$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $281$hi = i64toi32_i32$1; + i64toi32_i32$1 = $280$hi; + i64toi32_i32$1 = $281$hi; + i64toi32_i32$1 = $280$hi; + $30_1 = i64toi32_i32$2; + i64toi32_i32$2 = $281$hi; + i64toi32_i32$2 = __wasm_i64_sdiv($30_1 | 0, i64toi32_i32$1 | 0, 4096 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$2; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) < ((HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0) / (4096 | 0) | 0 | 0) & 1 | 0)) { + break label$12 + } + $97_1 = 1; + HEAP32[($7_1 + 24 | 0) >> 2] = 0; + i64toi32_i32$2 = (((HEAP32[($7_1 + 28 | 0) >> 2] | 0) << 12 | 0) + 4096 | 0) - 1 | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + label$14 : { + if (!(($578(HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0, 1352 | 0, $97_1 | 0, $7_1 + 24 | 0 | 0) | 0 | 0) != ($97_1 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $97(4874 | 0, 3987 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, 38397 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $44(HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 128 | 0) >> 2] | 0) << 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if ((HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$15 + } + HEAP32[($7_1 + 136 | 0) >> 2] = 3082; + break label$4; + } + HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($7_1 + 124 | 0) >> 2] | 0; + label$16 : { + label$17 : while (1) { + if (!(((HEAPU16[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) < (HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($7_1 + 16 | 0) >> 2] = Math_imul(HEAP32[($7_1 + 160 | 0) >> 2] | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0); + label$18 : { + label$19 : { + if (!((HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$19 + } + $168_1 = 1; + $171_1 = HEAP32[(0 + 69292 | 0) >> 2] | 0; + $172_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + $177_1 = (HEAPU8[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0 ? $168_1 : 3; + $179_1 = HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $284$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $285$hi = i64toi32_i32$1; + i64toi32_i32$1 = $284$hi; + i64toi32_i32$1 = $285$hi; + i64toi32_i32$1 = $284$hi; + $31_1 = i64toi32_i32$2; + i64toi32_i32$2 = $285$hi; + i64toi32_i32$2 = __wasm_i64_mul($31_1 | 0, i64toi32_i32$1 | 0, (HEAPU16[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[$171_1 | 0](0, $172_1, $177_1, $168_1, $179_1, i64toi32_i32$2, i64toi32_i32$1) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $97(5386 | 0, 4074 | 0, HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 38424 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + break label$18; + } + i64toi32_i32$2 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $41(i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($7_1 + 136 | 0) >> 2] = 7; + break label$4; + } + $3289(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[((HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 160 | 0) >> 2] | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + $241_1 = HEAP32[($7_1 + 140 | 0) >> 2] | 0; + HEAP16[($241_1 + 20 | 0) >> 1] = ((HEAPU16[($241_1 + 20 | 0) >> 1] | 0) & 65535 | 0) + (HEAP32[($7_1 + 132 | 0) >> 2] | 0) | 0; + continue label$17; + }; + } + } + } + label$24 : { + label$25 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) > (HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[(HEAP32[($7_1 + 152 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 164 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$24; + } + HEAP32[(HEAP32[($7_1 + 152 | 0) >> 2] | 0) >> 2] = 0; + } + label$26 : { + if (!((HEAPU8[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0)) { + break label$26 + } + if (HEAP32[($7_1 + 136 | 0) >> 2] | 0) { + break label$26 + } + HEAP32[($7_1 + 136 | 0) >> 2] = 8; + } + HEAP32[($7_1 + 172 | 0) >> 2] = HEAP32[($7_1 + 136 | 0) >> 2] | 0; + } + $273_1 = HEAP32[($7_1 + 172 | 0) >> 2] | 0; + global$0 = $7_1 + 176 | 0; + return $273_1 | 0; + } + + function $575() { + var $2_1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + HEAP32[($2_1 + 8 | 0) >> 2] = 32768; + (wasm2js_i32$0 = $2_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69328 | 0) >> 2] | 0 | 0]() | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($2_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($2_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($2_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($2_1 + 12 | 0) >> 2] = (HEAP32[($2_1 + 4 | 0) >> 2] | 0 | 0) / (HEAP32[($2_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + $18_1 = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + global$0 = $2_1 + 16 | 0; + return $18_1 | 0; + } + + function $576($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $184_1 = 0, $62_1 = 0, $101_1 = 0, $142_1 = 0, $165_1 = 0, $64_1 = 0, $65_1 = 0, $116_1 = 0, $132_1 = 0, $180_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 128 | 0; + global$0 = $3_1; + $4_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 116 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 108 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41(16 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0) == ($4_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 124 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$0 = 0; + $184_1 = 0; + i64toi32_i32$1 = HEAP32[($3_1 + 116 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $184_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $184_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $548(); + HEAP32[($3_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 112 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$5 : { + if (!(FUNCTION_TABLE[HEAP32[(0 + 69088 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, $3_1 + 8 | 0) | 0)) { + break label$5 + } + HEAP32[($3_1 + 108 | 0) >> 2] = 1802; + break label$3; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = ($3303(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0) + 6 | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41((HEAP32[($3_1 + 96 | 0) >> 2] | 0) + 68 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($3_1 + 112 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 108 | 0) >> 2] = 7; + break label$3; + } + $3289(HEAP32[($3_1 + 112 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($3_1 + 96 | 0) >> 2] | 0) + 68 | 0 | 0) | 0; + $62_1 = (HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 68 | 0; + HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 8 | 0) >> 2] = $62_1; + HEAP32[($3_1 + 100 | 0) >> 2] = $62_1; + $64_1 = HEAP32[($3_1 + 96 | 0) >> 2] | 0; + $65_1 = HEAP32[($3_1 + 100 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $81($64_1 | 0, $65_1 | 0, 4324 | 0, $3_1 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] = -1; + HEAP32[((HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($3_1 + 112 | 0) >> 2] | 0; + HEAP32[(HEAP32[($3_1 + 112 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$7 : { + if (!(((HEAPU8[(0 + 68372 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 4 | 0) >> 2] = 8; + label$8 : { + if (!((HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 108 | 0) >> 2] = 7; + break label$3; + } + } + label$9 : { + if ((HEAPU8[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 29 | 0) >> 0] | 0) & 255 | 0) { + break label$9 + } + $101_1 = 0; + label$10 : { + if (!(($101_1 | 0) == ($525(HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, 4331 | 0, $101_1 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + $116_1 = $95(HEAP32[($3_1 + 100 | 0) >> 2] | 0 | 0, 131138 | 0, (HEAP32[($3_1 + 20 | 0) >> 2] | 0) & 511 | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] = $116_1; + } + label$11 : { + if (!((HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$11 + } + $132_1 = $95(HEAP32[($3_1 + 100 | 0) >> 2] | 0 | 0, 131072 | 0, (HEAP32[($3_1 + 20 | 0) >> 2] | 0) & 511 | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] = $132_1; + label$12 : { + if (!((HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$12 + } + $142_1 = 38253; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $97($96($142_1 | 0) | 0 | 0, 3916 | 0, HEAP32[($3_1 + 100 | 0) >> 2] | 0 | 0, $142_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP8[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 22 | 0) >> 0] = 1; + } + $98(HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $577(HEAP32[($3_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($3_1 + 108 | 0) >> 2] | 0)) { + break label$13 + } + if (!((HEAP32[($3_1 + 108 | 0) >> 2] | 0 | 0) != (1288 | 0) & 1 | 0)) { + break label$13 + } + break label$3; + } + } + } + HEAP32[(HEAP32[($3_1 + 116 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 112 | 0) >> 2] | 0; + $165_1 = HEAP32[($3_1 + 112 | 0) >> 2] | 0; + HEAP32[($165_1 + 28 | 0) >> 2] = (HEAP32[($165_1 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($3_1 + 116 | 0) >> 2] | 0; + $552(); + HEAP32[((HEAP32[($3_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($3_1 + 116 | 0) >> 2] | 0; + HEAP32[($3_1 + 124 | 0) >> 2] = HEAP32[($3_1 + 108 | 0) >> 2] | 0; + break label$1; + } + $583(HEAP32[($3_1 + 120 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0); + $552(); + HEAP32[($3_1 + 124 | 0) >> 2] = HEAP32[($3_1 + 108 | 0) >> 2] | 0; + } + $180_1 = HEAP32[($3_1 + 124 | 0) >> 2] | 0; + global$0 = $3_1 + 128 | 0; + return $180_1 | 0; + } + + function $577($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $19_1 = 0, $40_1 = 0, $56_1 = 0, $74$hi = 0, $9_1 = 0, $11_1 = 0, $71_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $74$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP16[($4_1 + 10 | 0) >> 1] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 128; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $74$hi; + HEAP32[($4_1 + 24 | 0) >> 2] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($4_1 + 8 | 0) >> 1] = 1; + $9_1 = HEAP32[(0 + 69112 | 0) >> 2] | 0; + $11_1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $4_1 + 8 | 0; + label$1 : { + label$2 : { + if (!(FUNCTION_TABLE[$9_1 | 0]($11_1, 12, $4_1) | 0)) { + break label$2 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 3850; + break label$1; + } + $19_1 = 16; + label$3 : { + label$4 : { + if (!((((HEAPU16[($4_1 + 8 | 0) >> 1] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 23 | 0) >> 0] = 1; + HEAP32[($4_1 + 4 | 0) >> 2] = 1288; + break label$5; + } + $40_1 = 1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $580(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $40_1 | 0, 128 | 0, $40_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$7 + } + i64toi32_i32$0 = 0; + if (!($559(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 3 | 0, i64toi32_i32$0 | 0) | 0)) { + break label$7 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $97(4618 | 0, 3952 | 0, HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 38128 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + break label$3; + } + $56_1 = 16; + label$8 : { + if (!((((HEAPU16[($4_1 + 8 | 0) >> 1] | 0) << $56_1 | 0) >> $56_1 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 5; + } + } + } + label$9 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$9 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $580(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0, 128 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $71_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $71_1 | 0; + } + + function $578($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $55$hi = 0, $59$hi = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $32_1 = 0, $94_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $50_1 = 0, $52_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 16 | 0) >> 2] = 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) & 131071 | 0; + label$1 : { + label$2 : while (1) { + i64toi32_i32$0 = 0; + $55$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = $3249(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $94_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $94_1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $59$hi = i64toi32_i32$1; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $17_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $18_1 = 0 + } else { + $18_1 = 1 + } + $19_1 = $18_1; + } else { + $19_1 = 0 + } + $17_1 = $19_1; + } + label$3 : { + if (!($17_1 & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 16 | 0) >> 2] = -1; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69160 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 44 | 0) >> 2] | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $32_1 = 0; + label$4 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + $32_1 = (HEAP32[($3169() | 0) >> 2] | 0 | 0) == (27 | 0); + } + if ($32_1 & 1 | 0) { + continue label$2 + } + break label$2; + }; + } + label$5 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + $50_1 = HEAP32[($3169() | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] = $50_1; + } + $52_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $52_1 | 0; + } + + function $579($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $51_1 = 0, $106_1 = 0, $116_1 = 0, $126_1 = 0, $172_1 = 0, $181_1 = 0, $225_1 = 0, $249_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 1; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 36 | 0; + HEAP16[($6_1 + 30 | 0) >> 1] = ($7_1 << ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0) | 0) - ($7_1 << (HEAP32[($6_1 + 56 | 0) >> 2] | 0) | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) | 0) & ((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) | 0)) { + break label$3 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 1; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + $51_1 = 1; + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) > ((((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & ($51_1 << (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) | 0 ? $51_1 : 0) | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$7 : { + label$8 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $580(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 2 | 0, (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 120 | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($6_1 + 32 | 0) >> 2] | 0) { + break label$9 + } + $3289((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, 0 | 0, (HEAP32[($6_1 + 52 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + } + break label$7; + } + label$10 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & (1 << (HEAP32[($6_1 + 56 | 0) >> 2] | 0) | 0) | 0)) { + break label$10 + } + $106_1 = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$106_1 >> 2] = (HEAP32[$106_1 >> 2] | 0) + -1 | 0; + } + } + label$11 : { + if (HEAP32[($6_1 + 32 | 0) >> 2] | 0) { + break label$11 + } + $116_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP16[($116_1 + 12 | 0) >> 1] = ((HEAPU16[($116_1 + 12 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) ^ -1 | 0) | 0; + $126_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP16[($126_1 + 10 | 0) >> 1] = ((HEAPU16[($126_1 + 10 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) ^ -1 | 0) | 0; + } + } + break label$1; + } + label$12 : { + label$13 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0) & 4 | 0)) { + break label$13 + } + label$14 : { + if (((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & ((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) | 0) { + break label$14 + } + label$15 : { + label$16 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($6_1 + 32 | 0) >> 2] = 5; + break label$15; + } + label$17 : { + if (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) { + break label$17 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $580(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 120 | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + } + label$18 : { + if (HEAP32[($6_1 + 32 | 0) >> 2] | 0) { + break label$18 + } + $172_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP16[($172_1 + 10 | 0) >> 1] = (HEAPU16[($172_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) | 0; + $181_1 = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$181_1 >> 2] = (HEAP32[$181_1 >> 2] | 0) + 1 | 0; + } + } + break label$12; + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$19 + } + label$21 : { + if (((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & (1 << (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) | 0) { + break label$21 + } + if (!(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0)) { + break label$21 + } + HEAP32[($6_1 + 32 | 0) >> 2] = 5; + break label$19; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + label$22 : { + if (HEAP32[($6_1 + 32 | 0) >> 2] | 0) { + break label$22 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $580(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 1 | 0, (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 120 | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (HEAP32[($6_1 + 32 | 0) >> 2] | 0) { + break label$23 + } + $225_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP16[($225_1 + 12 | 0) >> 1] = (HEAPU16[($225_1 + 12 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + } + } + } + } + $249_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $249_1 | 0; + } + + function $580($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $7_1 = 0, $94_1 = 0, $101_1 = 0, $25_1 = 0, $27_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= ($7_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP16[($6_1 + 24 | 0) >> 1] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + HEAP16[($6_1 + 26 | 0) >> 1] = 0; + i64toi32_i32$1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $94_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $94_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $101_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $101_1; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$0; + $25_1 = HEAP32[(0 + 69112 | 0) >> 2] | 0; + $27_1 = HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $6_1 + 24 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[$25_1 | 0]($27_1, 13, $6_1) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 5; + } + } + $40_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $40_1 | 0; + } + + function $581($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $548(); + $552(); + global$0 = $3_1 + 16 | 0; + return; + } + + function $582($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $39_1 = 0, $60_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0; + continue label$4; + }; + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $42(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] = 0; + $548(); + $39_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($39_1 + 28 | 0) >> 2] = (HEAP32[($39_1 + 28 | 0) >> 2] | 0) + -1 | 0; + label$5 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + FUNCTION_TABLE[HEAP32[(0 + 69220 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + } + $583(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + $552(); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $60_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $60_1 | 0; + } + + function $583($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $575() | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$3_1 >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$5 + } + FUNCTION_TABLE[HEAP32[(0 + 69304 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[$3_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + break label$4; + } + $42(HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[$3_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + HEAP32[$3_1 >> 2] = (HEAP32[$3_1 >> 2] | 0) + (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0; + continue label$3; + }; + } + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + $102(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 38071 | 0); + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = -1; + } + HEAP32[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $584($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, i64toi32_i32$0 = 0; + $6_1 = global$0 - 32 | 0; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + HEAP32[($6_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] = $7_1; + return $7_1 | 0; + } + + function $585($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + return 0 | 0; + } + + function $586($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $102(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, 34946 | 0); + $42(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $587($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $7_1 = 0, $9_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $7_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $9_1 = $3174($6_1 | 0, $7_1 | 0, $5_1 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $9_1 | 0; + } + + function $588($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $69_1 = 0, $24_1 = 0, $32_1 = 0, $59_1 = 0, $91_1 = 0, $97_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 560 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 552 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 548 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 540 | 0) >> 2] = -1; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 552 | 0) >> 2] | 0; + $81(512 | 0, $4_1 + 16 | 0 | 0, 1976 | 0, $4_1 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3303($4_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 544 | 0) >> 2] = wasm2js_i32$1; + label$1 : while (1) { + $24_1 = 0; + label$2 : { + if (!((HEAP32[($4_1 + 544 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $32_1 = 24; + $24_1 = (((HEAPU8[(($4_1 + 16 | 0) + (HEAP32[($4_1 + 544 | 0) >> 2] | 0) | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0 | 0) != (47 | 0); + } + label$3 : { + if (!($24_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 544 | 0) >> 2] = (HEAP32[($4_1 + 544 | 0) >> 2] | 0) + -1 | 0; + continue label$1; + } + break label$1; + }; + label$4 : { + label$5 : { + if (!((HEAP32[($4_1 + 544 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[(($4_1 + 16 | 0) + (HEAP32[($4_1 + 544 | 0) >> 2] | 0) | 0) >> 0] = 0; + break label$4; + } + $59_1 = 24; + label$6 : { + if (!((((HEAPU8[($4_1 + 16 | 0) >> 0] | 0) << $59_1 | 0) >> $59_1 | 0 | 0) != (47 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[($4_1 + 16 | 0) >> 0] = 46; + } + HEAP8[($4_1 + 17 | 0) >> 0] = 0; + } + $69_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $95($4_1 + 16 | 0 | 0, $69_1 | 0, $69_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 540 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($4_1 + 540 | 0) >> 2] | 0 | 0) >= ($69_1 | 0) & 1 | 0)) { + break label$7 + } + } + HEAP32[(HEAP32[($4_1 + 548 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 540 | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 540 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 556 | 0) >> 2] = 0; + break label$8; + } + $91_1 = 37351; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $97($96($91_1 | 0) | 0 | 0, 4033 | 0, $4_1 + 16 | 0 | 0, $91_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 556 | 0) >> 2] = wasm2js_i32$1; + } + $97_1 = HEAP32[($4_1 + 556 | 0) >> 2] | 0; + global$0 = $4_1 + 560 | 0; + return $97_1 | 0; + } + + function $589() { + return fimport$2(30 | 0) | 0 | 0; + } + + function $590() { + var $2_1 = 0, $3_1 = 0, $64_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2_1 = global$0 - 112 | 0; + global$0 = $2_1; + $3_1 = 0; + HEAP32[($2_1 + 104 | 0) >> 2] = $3_1; + HEAP32[($2_1 + 12 | 0) >> 2] = HEAP32[(0 + 114408 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[(0 + 69376 | 0) >> 2] | 0 | 0) != ($3_1 | 0) & 1 | 0) { + break label$1 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = $3258(4303 | 0) | 0), HEAP32[(wasm2js_i32$0 + 69376 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if ((HEAP32[(0 + 69380 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = $3258(4317 | 0) | 0), HEAP32[(wasm2js_i32$0 + 69380 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + label$4 : while (1) { + label$5 : { + if (!((HEAP32[($2_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (FUNCTION_TABLE[HEAP32[(0 + 69076 | 0) >> 2] | 0 | 0](HEAP32[($2_1 + 12 | 0) >> 2] | 0, $2_1 + 16 | 0) | 0) { + break label$5 + } + if (!(((HEAP32[($2_1 + 28 | 0) >> 2] | 0) & 61440 | 0 | 0) == (16384 | 0) & 1 | 0)) { + break label$5 + } + if (FUNCTION_TABLE[HEAP32[(0 + 69052 | 0) >> 2] | 0 | 0](HEAP32[($2_1 + 12 | 0) >> 2] | 0, 3) | 0) { + break label$5 + } + HEAP32[($2_1 + 108 | 0) >> 2] = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + break label$3; + } + label$6 : { + label$7 : { + if (!((HEAP32[($2_1 + 104 | 0) >> 2] | 0) >>> 0 >= 6 >>> 0 & 1 | 0)) { + break label$7 + } + break label$6; + } + $64_1 = HEAP32[($2_1 + 104 | 0) >> 2] | 0; + HEAP32[($2_1 + 104 | 0) >> 2] = $64_1 + 1 | 0; + HEAP32[($2_1 + 12 | 0) >> 2] = HEAP32[(69376 + ($64_1 << 2 | 0) | 0) >> 2] | 0; + continue label$4; + } + break label$4; + }; + HEAP32[($2_1 + 108 | 0) >> 2] = 0; + } + $72_1 = HEAP32[($2_1 + 108 | 0) >> 2] | 0; + global$0 = $2_1 + 112 | 0; + return $72_1 | 0; + } + + function $591($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $29_1 = 0; + $6_1 = global$0 - 112 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!(($7_1 | 0) == (FUNCTION_TABLE[HEAP32[(0 + 69076 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 108 | 0) >> 2] | 0, $6_1 + 8 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) & 511 | 0; + HEAP32[(HEAP32[($6_1 + 100 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($6_1 + 4 | 0) >> 2] = 1802; + } + $29_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + global$0 = $6_1 + 112 | 0; + return $29_1 | 0; + } + + function $592($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $151_1 = 0, $81_1 = 0, $148_1 = 0, $45_1 = 0, $94_1 = 0, $95_1 = 0, $119_1 = 0, $138_1 = 0, $232_1 = 0, $351_1 = 0, $361_1 = 0, $145_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 144 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 136 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 132 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 124 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69088 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 124 | 0) >> 2] | 0, $4_1 + 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 128 | 0) >> 2] | 0)) { + break label$2 + } + $555(HEAP32[($4_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (61 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 140 | 0) >> 2] = 22; + break label$1; + } + HEAP32[($4_1 + 140 | 0) >> 2] = 10; + break label$1; + } + i64toi32_i32$0 = 0; + $148_1 = 0; + i64toi32_i32$1 = $4_1 + 104 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $148_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $148_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 104 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + $232_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 112 | 0) >> 2] = $232_1; + HEAP32[($4_1 + 116 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(0 + 114504 | 0) >> 2] | 0; + label$4 : while (1) { + $45_1 = 0; + label$5 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $45_1 = ($3228($4_1 + 104 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0 | 0) != (0 | 0); + } + label$6 : { + if (!($45_1 & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + continue label$4; + } + break label$4; + }; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(56 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 140 | 0) >> 2] = 7; + break label$1; + } + $81_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + $151_1 = 0; + i64toi32_i32$0 = $81_1; + HEAP32[i64toi32_i32$0 >> 2] = $151_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = i64toi32_i32$0 + 48 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $151_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $81_1 + 40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $151_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $81_1 + 32 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $151_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $81_1 + 24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $151_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $81_1 + 16 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $151_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $81_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $151_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $94_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1 + 104 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $351_1 = i64toi32_i32$1; + i64toi32_i32$1 = $94_1; + HEAP32[i64toi32_i32$1 >> 2] = $351_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $95_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $95_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $361_1 = i64toi32_i32$0; + i64toi32_i32$0 = $94_1 + $95_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $361_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$10 : { + if (!(((HEAPU8[(0 + 68372 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 8; + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + $42(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 140 | 0) >> 2] = 7; + break label$1; + } + } + $119_1 = 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = 1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[(0 + 114504 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = $119_1; + label$12 : { + if (!((HEAP32[(0 + 114504 | 0) >> 2] | 0 | 0) != ($119_1 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[((HEAP32[(0 + 114504 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + HEAP32[(0 + 114504 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$7; + } + $138_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($138_1 + 36 | 0) >> 2] = (HEAP32[($138_1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[(HEAP32[($4_1 + 132 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 140 | 0) >> 2] = 0; + } + $145_1 = HEAP32[($4_1 + 140 | 0) >> 2] | 0; + global$0 = $4_1 + 144 | 0; + return $145_1 | 0; + } + + function $593($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = $551(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $5_1 | 0; + } + + function $594($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return 0 | 0; + } + + function $595($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return 0 | 0; + } + + function $596($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = $5_1; + return $5_1 | 0; + } + + function $597($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $598(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + $10_1 = $551(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $10_1 | 0; + } + + function $598($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $57_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69256 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = HEAP32[($3169() | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + break label$5; + } + HEAP32[($4_1 + 8 | 0) >> 2] = 2058; + $555(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $57_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $57_1 | 0; + } + + function $599($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $18_1 = 0, $60_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) > ($5_1 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = 0; + HEAP8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + fimport$3(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $18_1 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $18_1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69244 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0, 511) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = HEAP32[($3169() | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((20 | 0) == (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 5; + break label$4; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $564(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 3850 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$6 + } + $555(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + $60_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $60_1 | 0; + } + + function $600($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[(0 + 69052 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0, $5_1) | 0 | 0) == ($5_1 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + $19_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $19_1 | 0; + } + + function $601($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $26_1 = 0, $34_1 = 0, $51_1 = 0, $75_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) - 1 | 0; + label$3 : while (1) { + $26_1 = 0; + label$4 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + $34_1 = 24; + $26_1 = (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $34_1 | 0) >> $34_1 | 0 | 0) != (47 | 0); + } + label$5 : { + if (!($26_1 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$3; + } + break label$3; + }; + $51_1 = 24; + label$6 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $51_1 | 0) >> $51_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) - 2 | 0 | 0) & 1 | 0)) { + break label$6 + } + $75_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $75_1 | 0) >> $75_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $602($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return 4356 | 0; + } + + function $603($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return 4432 | 0; + } + + function $604($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, $17_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $12_1 = 0; + $17_1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 12 | 0) >> 2] | 0, $12_1, $12_1) | 0; + break label$1; + } + $17_1 = 0; + } + global$0 = $3_1 + 16 | 0; + return $17_1 | 0; + } + + function $605($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $262(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $606($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $15_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + HEAP8[(HEAP32[$6_1 >> 2] | 0) >> 0] = 0; + $15_1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 12 | 0) >> 2] | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0, HEAP32[$6_1 >> 2] | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $15_1 | 0; + } + + function $607($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $167(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] = 0; + label$2 : { + if (!(($625(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$2 + } + $626(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $608($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$0 = 0, $10_1 = 0, i64toi32_i32$1 = 0, $25_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $30_1 = 0, $31_1 = 0, $32_1 = 0, $436_1 = 0, $42_1 = 0, $45_1 = 0, $67_1 = 0, $70_1 = 0, $114_1 = 0, $354_1 = 0, $357_1 = 0, $418_1 = 0, $128_1 = 0, $134_1 = 0, $1228_1 = 0, $405_1 = 0, $524_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 112 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 92 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 84 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 72 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 68 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 60 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 56 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 48 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 44 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 40 | 0) >> 2] = ((HEAP32[($9_1 + 88 | 0) >> 2] | 0) & 1 | 0 | 0) == ($10_1 | 0) & 1 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $616() | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 32 | 0) >> 2] = 4096; + HEAP32[($9_1 + 28 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 24 | 0) >> 2] = 1; + HEAP32[($9_1 + 20 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = (($617(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0) | 0) + 7 | 0) & -8 | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($9_1 + 100 | 0) >> 2] | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + if (!((HEAP32[($9_1 + 88 | 0) >> 2] | 0) & 2 | 0)) { + break label$2 + } + HEAP32[($9_1 + 60 | 0) >> 2] = 1; + label$3 : { + if (!((HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $42_1 = 24; + if (!(((HEAPU8[(HEAP32[($9_1 + 96 | 0) >> 2] | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0)) { + break label$3 + } + $45_1 = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $291($45_1 | 0, HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) == ($45_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($9_1 + 108 | 0) >> 2] = 7; + break label$1; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $68(HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 96 | 0) >> 2] = 0; + } + } + label$5 : { + if (!((HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $67_1 = 24; + if (!(((HEAPU8[(HEAP32[($9_1 + 96 | 0) >> 2] | 0) >> 0] | 0) << $67_1 | 0) >> $67_1 | 0)) { + break label$5 + } + $70_1 = 0; + HEAP32[($9_1 + 44 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$1 = (HEAP32[($9_1 + 44 | 0) >> 2] | 0) << 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $64($70_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) == ($70_1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($9_1 + 108 | 0) >> 2] = 7; + break label$1; + } + HEAP8[(HEAP32[($9_1 + 48 | 0) >> 2] | 0) >> 0] = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $606(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($9_1 + 68 | 0) >> 2] | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0) == (512 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + label$10 : { + if (!((HEAP32[($9_1 + 84 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$10 + } + HEAP32[($9_1 + 68 | 0) >> 2] = 1550; + break label$9; + } + HEAP32[($9_1 + 68 | 0) >> 2] = 0; + } + } + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $68(HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $114_1 = (HEAP32[($9_1 + 96 | 0) >> 2] | 0) + (($68(HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0) | 0) + 1 | 0) | 0; + HEAP32[($9_1 + 28 | 0) >> 2] = $114_1; + HEAP32[($9_1 + 16 | 0) >> 2] = $114_1; + label$11 : { + label$12 : while (1) { + if (!(((HEAPU8[(HEAP32[($9_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + $128_1 = ($3303(HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = (HEAP32[($9_1 + 16 | 0) >> 2] | 0) + $128_1 | 0; + $134_1 = ($3303(HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = (HEAP32[($9_1 + 16 | 0) >> 2] | 0) + $134_1 | 0; + HEAP32[($9_1 + 20 | 0) >> 2] = (HEAP32[($9_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP32[($9_1 + 24 | 0) >> 2] = ((HEAP32[($9_1 + 16 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[($9_1 + 28 | 0) >> 2] | 0) | 0; + label$13 : { + if (HEAP32[($9_1 + 68 | 0) >> 2] | 0) { + break label$13 + } + if (!(((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 8 | 0 | 0) > (HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $96(56654 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + } + label$14 : { + if (!(HEAP32[($9_1 + 68 | 0) >> 2] | 0)) { + break label$14 + } + $13(0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 108 | 0) >> 2] = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + break label$1; + } + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $114((((((((((((((((((HEAP32[($9_1 + 36 | 0) >> 2] | 0) + 7 | 0) & -8 | 0) + 224 | 0) + (((HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 7 | 0) & -8 | 0) | 0) + ((HEAP32[($9_1 + 52 | 0) >> 2] | 0) << 1 | 0) | 0) + 4 | 0) + 4 | 0) + (HEAP32[($9_1 + 44 | 0) >> 2] | 0) | 0) + 1 | 0) + (HEAP32[($9_1 + 24 | 0) >> 2] | 0) | 0) + (HEAP32[($9_1 + 44 | 0) >> 2] | 0) | 0) + 8 | 0) + 1 | 0) + (HEAP32[($9_1 + 44 | 0) >> 2] | 0) | 0) + 4 | 0) + 1 | 0) + 3 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if ((HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$15 + } + $13(0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 108 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($9_1 + 72 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 224 | 0; + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 212 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + (((HEAP32[($9_1 + 36 | 0) >> 2] | 0) + 7 | 0) & -8 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 7 | 0) & -8 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + (HEAP32[($9_1 + 52 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + (HEAP32[($9_1 + 52 | 0) >> 2] | 0) | 0; + $26_1 = $9_1 + 72 | 0; + $27_1 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $28_1 = HEAPU8[$26_1 >> 0] | 0 | ((HEAPU8[($26_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($26_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($26_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$27_1 >> 0] = $28_1; + HEAP8[($27_1 + 1 | 0) >> 0] = $28_1 >>> 8 | 0; + HEAP8[($27_1 + 2 | 0) >> 0] = $28_1 >>> 16 | 0; + HEAP8[($27_1 + 3 | 0) >> 0] = $28_1 >>> 24 | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 4 | 0; + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 168 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + label$16 : { + if (!((HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$16 + } + $3288(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 1 | 0) | 0; + label$17 : { + label$18 : { + if (!((HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + $3288(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + (HEAP32[($9_1 + 24 | 0) >> 2] | 0) | 0; + break label$17; + } + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 1 | 0; + } + } + label$19 : { + label$20 : { + if (!((HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 172 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $3288(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + (HEAP32[($9_1 + 44 | 0) >> 2] | 0) | 0; + $25_1 = 0; + i64toi32_i32$0 = HEAPU8[($25_1 + 4622 | 0) >> 0] | 0 | ((HEAPU8[($25_1 + 4623 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($25_1 + 4624 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($25_1 + 4625 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[($25_1 + 4626 | 0) >> 0] | 0 | ((HEAPU8[($25_1 + 4627 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($25_1 + 4628 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($25_1 + 4629 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $1228_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $29_1 = $1228_1; + HEAP8[i64toi32_i32$0 >> 0] = $29_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $29_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $29_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $29_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 9 | 0; + break label$19; + } + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 172 | 0) >> 2] = 0; + } + label$21 : { + label$22 : { + if (!((HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 220 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $3288(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + (HEAP32[($9_1 + 44 | 0) >> 2] | 0) | 0; + $30_1 = 0; + $31_1 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $32_1 = HEAPU8[($30_1 + 4631 | 0) >> 0] | 0 | ((HEAPU8[($30_1 + 4632 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($30_1 + 4633 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($30_1 + 4634 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$31_1 >> 0] = $32_1; + HEAP8[($31_1 + 1 | 0) >> 0] = $32_1 >>> 8 | 0; + HEAP8[($31_1 + 2 | 0) >> 0] = $32_1 >>> 16 | 0; + HEAP8[($31_1 + 3 | 0) >> 0] = $32_1 >>> 24 | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 5 | 0; + break label$21; + } + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 220 | 0) >> 2] = 0; + } + label$23 : { + if (!(HEAP32[($9_1 + 44 | 0) >> 2] | 0)) { + break label$23 + } + $13(0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0); + } + HEAP32[(HEAP32[($9_1 + 72 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 104 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 144 | 0) >> 2] = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + label$24 : { + label$25 : { + label$26 : { + if (!((HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $354_1 = 24; + if (!(((HEAPU8[(HEAP32[($9_1 + 96 | 0) >> 2] | 0) >> 0] | 0) << $354_1 | 0) >> $354_1 | 0)) { + break label$26 + } + $357_1 = 0; + HEAP32[($9_1 + 12 | 0) >> 2] = $357_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $618(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 84 | 0) >> 2] | 0 | 0, $9_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 56 | 0) >> 2] = ((HEAP32[($9_1 + 12 | 0) >> 2] | 0) & 1 | 0 | 0) != ($357_1 | 0) & 1 | 0; + label$27 : { + if (HEAP32[($9_1 + 68 | 0) >> 2] | 0) { + break label$27 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $619(HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$28 : { + if (HEAP32[($9_1 + 56 | 0) >> 2] | 0) { + break label$28 + } + $620(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0); + label$29 : { + if (!((HEAP32[($9_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$29 + } + label$30 : { + label$31 : { + if (!((HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0) >>> 0 > 8192 >>> 0 & 1 | 0)) { + break label$31 + } + HEAP32[($9_1 + 32 | 0) >> 2] = 8192; + break label$30; + } + HEAP32[($9_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0; + } + } + } + $405_1 = $525(HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0 | 0, 4636 | 0, 0 | 0) | 0; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 13 | 0) >> 0] = $405_1; + label$32 : { + label$33 : { + if ((HEAP32[($9_1 + 8 | 0) >> 2] | 0) & 8192 | 0) { + break label$33 + } + if (!($525(HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0 | 0, 4643 | 0, 0 | 0) | 0)) { + break label$32 + } + } + HEAP32[($9_1 + 84 | 0) >> 2] = HEAP32[($9_1 + 84 | 0) >> 2] | 0 | 1 | 0; + break label$25; + } + } + break label$24; + } + } + $418_1 = 1; + HEAP32[($9_1 + 64 | 0) >> 2] = 1; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 0] = $418_1; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 17 | 0) >> 0] = 4; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 13 | 0) >> 0] = $418_1; + HEAP32[($9_1 + 56 | 0) >> 2] = (HEAP32[($9_1 + 84 | 0) >> 2] | 0) & 1 | 0; + } + label$34 : { + if (HEAP32[($9_1 + 68 | 0) >> 2] | 0) { + break label$34 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $515(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, $9_1 + 32 | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + } + label$35 : { + if (HEAP32[($9_1 + 68 | 0) >> 2] | 0) { + break label$35 + } + $436_1 = 0; + HEAP32[($9_1 + 92 | 0) >> 2] = ((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 7 | 0) & -8 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $621(HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0, ((HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0) != ($436_1 | 0) ^ -1 | 0) & 1 | 0 | 0, (((HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0) != ($436_1 | 0) ^ -1 | 0) & 1 | 0 ? 19 : $436_1) | 0, HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + } + label$36 : { + if (!(HEAP32[($9_1 + 68 | 0) >> 2] | 0)) { + break label$36 + } + $622(HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + $623(HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0 | 0); + $42(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 108 | 0) >> 2] = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + break label$1; + } + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 6 | 0) >> 0] = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 156 | 0) >> 2] = 1073741823; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 0] = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 4 | 0) >> 0] = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAPU8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 15 | 0) >> 0] = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 14 | 0) >> 0] = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 7 | 0) >> 0] = HEAPU8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0; + label$37 : { + label$38 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$38 + } + break label$37; + } + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 0] = 1; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 9 | 0) >> 0] = 0; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 10 | 0) >> 0] = 2; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 11 | 0) >> 0] = 10; + } + i64toi32_i32$1 = -1; + HEAP16[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 140 | 0) >> 1] = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 160 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$0 + 164 | 0) >> 2] = i64toi32_i32$1; + $620(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0); + label$39 : { + label$40 : { + if (HEAP32[($9_1 + 40 | 0) >> 2] | 0) { + break label$40 + } + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 5 | 0) >> 0] = 2; + break label$39; + } + label$41 : { + if (!(HEAP32[($9_1 + 60 | 0) >> 2] | 0)) { + break label$41 + } + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 5 | 0) >> 0] = 4; + } + } + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 200 | 0) >> 2] = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + $624(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($9_1 + 100 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + HEAP32[($9_1 + 108 | 0) >> 2] = 0; + } + $524_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + global$0 = $9_1 + 112 | 0; + return $524_1 | 0; + } + + function $609($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $24_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $24_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 128 | 0) >> 2] = $24_1; + HEAP32[(i64toi32_i32$0 + 132 | 0) >> 2] = i64toi32_i32$1; + $627(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $610($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, i64toi32_i32$0 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = $6_1; + $3289(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + label$1 : { + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) == (522 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$5_1 >> 2] = 0; + } + } + $31_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $31_1 | 0; + } + + function $611($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 176 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 180 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 176 | 0; + $615(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, 15 | 0, HEAP32[$5_1 >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $612($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $78$hi = 0, i64toi32_i32$3 = 0, $81$hi = 0, $5_1 = 0, $79$hi = 0, $80$hi = 0, $130_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0; + $449(); + $634(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] = 0; + HEAP32[$4_1 >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $78$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $79$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $80$hi = i64toi32_i32$1; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$3 = 2048; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $81$hi = i64toi32_i32$0; + i64toi32_i32$0 = $78$hi; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$0 = $78$hi; + i64toi32_i32$0 = $81$hi; + $130_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $78$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = $81$hi; + i64toi32_i32$3 = $130_1; + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$1 + } + if (!((0 | 0) == ($635(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + $636(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] = 0; + $632(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $637(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + break label$2; + } + label$4 : { + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $639(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $638(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + } + $640(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + $450(); + $622(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + $622(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + $623(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + $641(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0); + $42(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $613($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $21_1 = 0, $26_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + label$1 : { + if ((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $21_1 = $308(0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 52 | 0) >> 2] = $21_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + $26_1 = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 52 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $26_1 | 0; + } + + function $614($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $642(HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $615($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 12 | 0) >> 2] | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $616() { + return 48 | 0; + } + + function $617($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (72 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + $14_1 = 72; + } + return $14_1 | 0; + } + + function $618($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 28 | 0) >> 2] | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) & 17334143 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $18_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $18_1 | 0; + } + + function $619($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $8_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $620($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if (!(($619(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0) & 4096 | 0)) { + break label$2 + } + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 148 | 0) >> 2] = 512; + break label$1; + } + $17_1 = $643(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 148 | 0) >> 2] = $17_1; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $621($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $40_1 = 0, $12_1 = 0, $9_1 = 0, $37_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + $9_1 = 1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + $12_1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $40_1 = 0; + i64toi32_i32$1 = $12_1; + HEAP32[i64toi32_i32$1 >> 2] = $40_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $40_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $40_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $40_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $40_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $40_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = $9_1; + HEAP32[((HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 0] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 33 | 0) >> 0] = 2; + HEAP32[((HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = 100; + HEAP32[((HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $9_1; + $37_1 = $633(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $37_1 | 0; + } + + function $622($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $623($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $645(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $624($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] = 20; + break label$1; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] = 21; + } + return; + } + + function $625($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = $753(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $5_1 | 0; + } + + function $626($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $107$hi = 0, i64toi32_i32$3 = 0, $108$hi = 0, $109$hi = 0, $111$hi = 0, $104_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) | 0; + label$1 : { + label$2 : { + if (!($761(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(66738 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 26 | 0) >> 1] = (HEAP32[((HEAP32[$3_1 >> 2] | 0) + 36 | 0) >> 2] | 0) - 1 | 0; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 0] = 0; + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 18 | 0) >> 1] = (((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) + ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] = ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0) + 8 | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (HEAP32[((HEAP32[$3_1 >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 68 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 1] = ((HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) | 0; + label$3 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) >>> 0 > ((((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 36 | 0) >> 2] | 0) - 8 | 0) >>> 0) / (6 >>> 0) | 0) >>> 0 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(66752 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$0 = 0; + $107$hi = i64toi32_i32$0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = -1; + HEAP8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] = 1; + i64toi32_i32$2 = HEAP32[((HEAP32[$3_1 >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $108$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $109$hi = i64toi32_i32$1; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$1 = $109$hi; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$3 = 2097152; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $111$hi = i64toi32_i32$0; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$0 = $111$hi; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$0 = $111$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $107$hi; + i64toi32_i32$3 = 0; + label$4 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $762(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $104_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $104_1 | 0; + } + + function $627($0_1) { + $0_1 = $0_1 | 0; + HEAP32[((global$0 - 16 | 0) + 12 | 0) >> 2] = $0_1; + return; + } + + function $628($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $13_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0, i64toi32_i32$0, i64toi32_i32$1) | 0; + global$0 = $6_1 + 32 | 0; + return $13_1 | 0; + } + + function $629($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $31_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = -1; + break label$4; + } + $31_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($31_1 + 8 | 0) >> 2] = (HEAP32[($31_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + $36_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $36_1 | 0; + } + + function $630($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0; + } + + function $631($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = $770(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $5_1 | 0; + } + + function $632($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 100 | 0) >> 2] = (HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 1 | 0; + $178(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0); + $758(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $633($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $29_1 = 0, $49_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68484 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 4 | 0) >> 2] | 0, (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 40 | 0, (HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $29_1 = HEAP32[(0 + 68488 | 0) >> 2] | 0; + FUNCTION_TABLE[$29_1 | 0](HEAP32[$4_1 >> 2] | 0, $649(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0); + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + FUNCTION_TABLE[HEAP32[(0 + 68512 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0); + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $49_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $49_1 | 0; + } + + function $634($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $635($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $189(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, 20 | 0, $3_1 + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) == (12 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[$3_1 >> 2] = 0; + break label$4; + } + label$6 : { + if (HEAP32[$3_1 >> 2] | 0) { + break label$6 + } + if (!(HEAP32[($3_1 + 4 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[$3_1 >> 2] = 1032; + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + } + $38_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $38_1 | 0; + } + + function $636($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $38_1 = 0, $80$hi = 0, $8_1 = 0, $15_1 = 0, $26_1 = 0, $82$hi = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, i64toi32_i32$3 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $8_1; + label$1 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != ($8_1 | 0) & 1 | 0)) { + break label$1 + } + $15_1 = 0; + HEAP32[($7_1 + 4 | 0) >> 2] = $15_1; + label$2 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != ($15_1 | 0) & 1 | 0)) { + break label$2 + } + $26_1 = $717(HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 4 | 0) | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = $26_1; + if (!((0 | 0) == ($26_1 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if ((HEAPU8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + HEAP8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 43 | 0) >> 0] = 1; + } + $38_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $771(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, $38_1 | 0, $38_1 | 0, $38_1 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, $38_1 | 0, $38_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[$7_1 >> 2] = -1; + $615(HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 10 | 0, $7_1 | 0); + label$5 : { + label$6 : { + if (!((HEAP32[$7_1 >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 4 | 0) >> 2] = 1; + break label$5; + } + i64toi32_i32$0 = 0; + $80$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $82$hi = i64toi32_i32$1; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $17_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $18_1 = 0 + } else { + $18_1 = 1 + } + $19_1 = $18_1; + } else { + $19_1 = 0 + } + $17_1 = $19_1; + } + label$7 : { + if (!($17_1 & 1 | 0)) { + break label$7 + } + i64toi32_i32$2 = 0; + $681(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$2 | 0); + } + } + } + } + $707(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + $622(HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + label$8 : { + if (!(HEAP32[($7_1 + 4 | 0) >> 2] | 0)) { + break label$8 + } + $449(); + $732(HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $450(); + } + $42(HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + $42(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + } + $77_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $77_1 | 0; + } + + function $637($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $42_1 = 0, $92_1 = 0, $96_1 = 0, i64toi32_i32$0 = 0, $117_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $521(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] = $4_1; + $729(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$2 + } + $710(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] = 0; + break label$1; + } + label$3 : { + if (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $42_1 = $619(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0; + break label$4; + } + $42_1 = 0; + } + HEAP32[($3_1 + 4 | 0) >> 2] = $42_1; + label$6 : { + label$7 : { + if ((0 | 0) == ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) & 2048 | 0 | 0) & 1 | 0) { + break label$7 + } + if (!((1 | 0) != (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 5 | 0 | 0) & 1 | 0)) { + break label$6 + } + } + $622(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $736(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$8 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$8 + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 17 | 0) >> 0] = 5; + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] = 0; + } + } + label$9 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$9 + } + label$10 : { + label$11 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$11 + } + $92_1 = 0; + $632(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 0] = $92_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] = $92_1; + break label$10; + } + $96_1 = 0; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] = (HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($96_1 | 0) & 1 | 0 ? $96_1 : 1; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + $624(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$0 = 0; + $117_1 = 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = $117_1; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 80 | 0) >> 2] = $117_1; + HEAP32[(i64toi32_i32$1 + 84 | 0) >> 2] = i64toi32_i32$0; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 19 | 0) >> 0] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $638($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + if (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $26_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $26_1 | 0; + } + + function $639($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $27_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 255 | 0; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (13 | 0) & 1 | 0) { + break label$2 + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (10 | 0) & 1 | 0)) { + break label$1 + } + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] = 6; + $624(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + $27_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $27_1 | 0; + } + + function $640($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $39_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (6 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$3 + } + $449(); + $200(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $450(); + break label$2; + } + label$4 : { + if (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$4 + } + $39_1 = 0; + $726(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $39_1 | 0, $39_1 | 0) | 0; + } + } + } + $637(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $641($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + FUNCTION_TABLE[HEAP32[(0 + 68512 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $642($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $780(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $643($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $648(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (32 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 512; + break label$1; + } + label$3 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) > (65536 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 65536; + } + } + $22_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $22_1 | 0; + } + + function $644($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0, $14_1 = 0, $22_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $660(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0); + $8_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($8_1 + 28 | 0) >> 1] = ((HEAPU16[($8_1 + 28 | 0) >> 1] | 0) & 65535 | 0) & -15 | 0; + $14_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($14_1 + 28 | 0) >> 1] = (HEAPU16[($14_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + $22_1 = 16; + label$1 : { + if (((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 30 | 0) >> 1] | 0) << $22_1 | 0) >> $22_1 | 0) { + break label$1 + } + $661(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $645($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 >= (HEAP32[(0 + 114588 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[(0 + 114592 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + $27_1 = 1; + $43($27_1 | 0, $27_1 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[(0 + 114600 | 0) >> 2] | 0; + HEAP32[(0 + 114600 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[(0 + 114604 | 0) >> 2] = (HEAP32[(0 + 114604 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(0 + 114608 | 0) >> 2] = (HEAP32[(0 + 114604 | 0) >> 2] | 0 | 0) < (HEAP32[(0 + 114584 | 0) >> 2] | 0 | 0) & 1 | 0; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $16(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $43(2 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $646($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 16 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] = 0; + return HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0; + } + + function $647($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $40_1 = 0, $45_1 = 0, $72_1 = 0, $149_1 = 0, $169_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (HEAP32[($6_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(57396 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $718(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $719(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$5 + } + break label$3; + } + label$6 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 24 | 0) >> 2] = 7; + break label$3; + } + } + $40_1 = 0; + $45_1 = $720(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $45_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $45_1; + HEAP8[($6_1 + 19 | 0) >> 0] = ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) & 1 | 0 | 0) != ($40_1 | 0) & 1 | 0; + label$7 : { + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != ($40_1 | 0) & 1 | 0)) { + break label$7 + } + if (((HEAPU8[($6_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$7 + } + $72_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($72_1 + 184 | 0) >> 2] = (HEAP32[($72_1 + 184 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$8 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (((HEAP32[(0 + 69008 | 0) >> 2] | 0 | 0) / (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(57428 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + label$9 : { + label$10 : { + label$11 : { + if (!((HEAP32[(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + if ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$11 + } + if (!((HEAPU8[($6_1 + 19 | 0) >> 0] | 0) & 255 | 0)) { + break label$10 + } + } + label$12 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 156 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 24 | 0) >> 2] = 13; + break label$3; + } + label$13 : { + if (!(((HEAPU8[($6_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$13 + } + $449(); + label$14 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$14 + } + $517(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + } + $665(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + $450(); + } + $3289(HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0) | 0; + break label$9; + } + $149_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($149_1 + 188 | 0) >> 2] = (HEAP32[($149_1 + 188 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $721(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$15 + } + break label$3; + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$16 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $722(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + $723(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + } + $169_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $169_1 | 0; + } + + function $648($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = FUNCTION_TABLE[HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + break label$1; + } + $17_1 = 4096; + } + global$0 = $3_1 + 16 | 0; + return $17_1 | 0; + } + + function $649($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $3_1 = 0, $25$hi = 0, $26$hi = 0, $27$hi = 0, $28$hi = 0, $10_1 = 0, $27_1 = 0, $81_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $25$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $26$hi = i64toi32_i32$0; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = $25$hi; + $10_1 = i64toi32_i32$1; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = __wasm_i64_mul($10_1 | 0, i64toi32_i32$0 | 0, -1024 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $27_1 = i64toi32_i32$1; + $27$hi = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $28$hi = i64toi32_i32$0; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$0 = $28$hi; + $81_1 = i64toi32_i32$1; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = __wasm_i64_sdiv($27_1 | 0, i64toi32_i32$0 | 0, $81_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $650($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $46_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 48) | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + if (!((0 | 0) == ($662(HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $46_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $46_1 | 0; + } + + function $651($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $55$hi = 0, $56$hi = 0, i64toi32_i32$2 = 0, $59$hi = 0, $60$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $44_1 = 0, $127_1 = 0, $130_1 = 0, $38_1 = 0, $39_1 = 0, $41_1 = 0, $52_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $663(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $55$hi = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $56$hi = i64toi32_i32$0; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$0 = $56$hi; + $127_1 = i64toi32_i32$1; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$1 = __wasm_i64_mul(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, $127_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $130_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $130_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $664(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$3 + } + $38_1 = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + $39_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $41_1 = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $59$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $60$hi = i64toi32_i32$0; + i64toi32_i32$0 = $59$hi; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$0 = $59$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $147($38_1 | 0, $39_1 | 0, $41_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + } + } + label$4 : { + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$4 + } + $44_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($44_1 + 52 | 0) >> 2] = (HEAP32[($44_1 + 52 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $665(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + $52_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $52_1 | 0; + } + + function $652($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = ($161((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 104 | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $162((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $162((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 92 | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $162((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 96 | 0 | 0, 3034e3 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $653($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, $71_1 = 0, $36_1 = 0, $9_1 = 0, $466$hi = 0, $467$hi = 0, $470$hi = 0, $471$hi = 0, $478$hi = 0, $487$hi = 0, $488$hi = 0, $24_1 = 0, $41_1 = 0, $73_1 = 0, $96_1 = 0, $440$hi = 0, $441$hi = 0, $442$hi = 0, $443$hi = 0, $445$hi = 0, $446$hi = 0, $447$hi = 0, $448$hi = 0, $449$hi = 0, $450$hi = 0, $214_1 = 0, $233_1 = 0, $454$hi = 0, $247_1 = 0, $457$hi = 0, $458$hi = 0, $459$hi = 0, $460$hi = 0, $461$hi = 0, $462$hi = 0, $463$hi = 0, $464$hi = 0, $85_1 = 0, $86_1 = 0, $87_1 = 0, $475$hi = 0, $480$hi = 0, $88_1 = 0, $89_1 = 0, $90_1 = 0, $483$hi = 0, $484$hi = 0, $485$hi = 0, $486$hi = 0, $91_1 = 0, $92_1 = 0, $93_1 = 0, $491$hi = 0, $492$hi = 0, $493$hi = 0, $494$hi = 0, $364_1 = 0, $391_1 = 0, $423_1 = 0, $437$hi = 0, $660_1 = 0, $824_1 = 0, $921_1 = 0, $454_1 = 0, $1070$hi = 0, $457_1 = 0, $1167_1 = 0, $1178_1 = 0, $463_1 = 0, $1186_1 = 0, $1189_1 = 0, $466_1 = 0, $1197_1 = 0, $470_1 = 0, $1211_1 = 0, $475_1 = 0, $1250$hi = 0, $1310_1 = 0, $1336_1 = 0, $1348_1 = 0, $1380_1 = 0, $434_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 176 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 168 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 164 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 160 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 156 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 152 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 148 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 132 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 128 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 84 | 0) >> 2] = $9_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $675(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!($3228((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 52 | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0, 48 | 0) | 0)) { + break label$1 + } + HEAP32[($8_1 + 84 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 1 | 0; + } + $24_1 = $676(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 144 | 0) >> 2] = $24_1; + label$2 : { + label$3 : { + if (!((0 | 0) != ($24_1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + break label$2; + } + HEAP32[($8_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + label$4 : { + if (HEAP32[($8_1 + 140 | 0) >> 2] | 0) { + break label$4 + } + $36_1 = $8_1 + 48 | 0; + $41_1 = 24; + $162($36_1 | 0, (((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $41_1 | 0) >> $41_1 | 0 | 0) == (0 | 0) & 1 | 0 | 931071618 | 0 | 0); + $162($36_1 + 4 | 0 | 0, 3007e3 | 0); + $162($36_1 + 8 | 0 | 0, HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0); + $162($36_1 + 12 | 0 | 0, HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0); + label$5 : { + if (HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0) { + break label$5 + } + $85(8 | 0, ((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 52 | 0) + 32 | 0 | 0); + } + i64toi32_i32$0 = 0; + $437$hi = i64toi32_i32$0; + $71_1 = $8_1 + 48 | 0; + $73_1 = 0; + i64toi32_i32$2 = ((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 52 | 0) + 32 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $660_1 = i64toi32_i32$0; + i64toi32_i32$0 = $71_1 + 16 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $660_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $677(1 | 0, $71_1 | 0, 24 | 0, $73_1 | 0, $8_1 + 40 | 0 | 0); + $162($71_1 + 24 | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0); + $162($71_1 + 28 | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + $96_1 = 24; + HEAP8[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 65 | 0) >> 0] = (((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $96_1 | 0) >> $96_1 | 0 | 0) == ($73_1 | 0) & 1 | 0; + HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 80 | 0) >> 2] = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 47 | 0) >> 0] = 1; + i64toi32_i32$1 = $437$hi; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $71_1 | 0, 32 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($8_1 + 144 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + break label$2; + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 48 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 148 | 0) >> 2] | 0) >> 2 | 0) & 3 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($8_1 + 144 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + break label$2; + } + } + } + i64toi32_i32$1 = 0; + HEAP32[($8_1 + 88 | 0) >> 2] = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + HEAP32[($8_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $8_1; + HEAP32[($8_1 + 96 | 0) >> 2] = 0; + HEAP32[($8_1 + 100 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($8_1 + 104 | 0) >> 2] = HEAP32[($8_1 + 148 | 0) >> 2] | 0; + HEAP32[($8_1 + 108 | 0) >> 2] = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + $440$hi = i64toi32_i32$1; + i64toi32_i32$0 = (HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $441$hi = i64toi32_i32$1; + i64toi32_i32$1 = $440$hi; + i64toi32_i32$1 = $441$hi; + $824_1 = i64toi32_i32$0; + i64toi32_i32$1 = $440$hi; + i64toi32_i32$0 = $441$hi; + i64toi32_i32$0 = __wasm_i64_mul(((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 1 | 0) - 1 | 0 | 0, i64toi32_i32$1 | 0, $824_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $442$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $443$hi = i64toi32_i32$1; + i64toi32_i32$1 = $442$hi; + i64toi32_i32$1 = $443$hi; + i64toi32_i32$1 = $442$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $443$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $8_1; + HEAP32[($8_1 + 112 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($8_1 + 116 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($8_1 + 124 | 0) >> 2] = (HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 24 | 0; + HEAP32[($8_1 + 136 | 0) >> 2] = HEAP32[($8_1 + 160 | 0) >> 2] | 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + label$11 : { + label$12 : { + if (!(HEAP32[($8_1 + 84 | 0) >> 2] | 0)) { + break label$12 + } + label$13 : { + if ((HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$13 + } + if (HEAP32[($8_1 + 152 | 0) >> 2] | 0) { + break label$12 + } + } + HEAP32[($8_1 + 32 | 0) >> 2] = 0; + $678(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, $8_1 + 32 | 0 | 0) | 0; + label$14 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($8_1 + 84 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$14 + } + i64toi32_i32$5 = 0; + $445$hi = i64toi32_i32$5; + i64toi32_i32$2 = (HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $446$hi = i64toi32_i32$5; + i64toi32_i32$5 = $445$hi; + i64toi32_i32$5 = $446$hi; + $921_1 = i64toi32_i32$2; + i64toi32_i32$5 = $445$hi; + i64toi32_i32$2 = $446$hi; + i64toi32_i32$2 = __wasm_i64_mul((HEAP32[($8_1 + 32 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$5 | 0, $921_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $447$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $448$hi = i64toi32_i32$5; + i64toi32_i32$5 = $447$hi; + i64toi32_i32$5 = $448$hi; + i64toi32_i32$5 = $447$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $448$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $449$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $450$hi = i64toi32_i32$4; + i64toi32_i32$4 = $449$hi; + i64toi32_i32$4 = $450$hi; + i64toi32_i32$4 = $449$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$1 = $450$hi; + i64toi32_i32$3 = 24; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$5 = $8_1; + HEAP32[($8_1 + 24 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($8_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$15 : { + label$16 : { + if (!(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0)) { + break label$16 + } + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$15 + } + } + HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 104 | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$4 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!(HEAP32[($8_1 + 144 | 0) >> 2] | 0)) { + break label$17 + } + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + break label$2; + } + $214_1 = HEAP32[($8_1 + 136 | 0) >> 2] | 0; + HEAP16[($214_1 + 28 | 0) >> 1] = ((HEAPU16[($214_1 + 28 | 0) >> 1] | 0) & 65535 | 0) & -65 | 0; + break label$11; + } + } + HEAP32[($8_1 + 140 | 0) >> 2] = (HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 1 | 0; + label$18 : { + label$19 : { + if (!(HEAP32[($8_1 + 152 | 0) >> 2] | 0)) { + break label$19 + } + if (!((HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$19 + } + $233_1 = HEAP32[($8_1 + 156 | 0) >> 2] | 0; + break label$18; + } + $233_1 = 0; + } + HEAP32[($8_1 + 36 | 0) >> 2] = $233_1; + i64toi32_i32$4 = $8_1; + i64toi32_i32$5 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 116 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $679($8_1 + 88 | 0 | 0, HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!(HEAP32[($8_1 + 144 | 0) >> 2] | 0)) { + break label$20 + } + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + break label$2; + } + HEAP32[($8_1 + 132 | 0) >> 2] = HEAP32[($8_1 + 136 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$5 >> 31 | 0; + $454_1 = i64toi32_i32$5; + $454$hi = i64toi32_i32$0; + i64toi32_i32$4 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($8_1 + 116 | 0) >> 2] | 0; + $1070$hi = i64toi32_i32$5; + i64toi32_i32$5 = $454$hi; + i64toi32_i32$5 = $1070$hi; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$0 = $454$hi; + i64toi32_i32$3 = $454_1; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$4 = $8_1; + HEAP32[($8_1 + 112 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($8_1 + 116 | 0) >> 2] = i64toi32_i32$2; + $247_1 = HEAP32[($8_1 + 136 | 0) >> 2] | 0; + HEAP16[($247_1 + 28 | 0) >> 1] = (HEAPU16[($247_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 64 | 0; + } + HEAP32[($8_1 + 136 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$10; + }; + } + label$21 : { + if (!(HEAP32[($8_1 + 152 | 0) >> 2] | 0)) { + break label$21 + } + if (!(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0)) { + break label$21 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $680(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!(HEAP32[($8_1 + 144 | 0) >> 2] | 0)) { + break label$22 + } + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + break label$2; + } + } + label$23 : { + if (!(HEAP32[($8_1 + 152 | 0) >> 2] | 0)) { + break label$23 + } + if (!((HEAP32[($8_1 + 148 | 0) >> 2] | 0) & 3 | 0)) { + break label$23 + } + HEAP32[($8_1 + 16 | 0) >> 2] = 1; + label$24 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 49 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$24 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $643(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$5 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($8_1 + 116 | 0) >> 2] | 0; + $457_1 = i64toi32_i32$2; + $457$hi = i64toi32_i32$4; + i64toi32_i32$2 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 >> 31 | 0; + $458$hi = i64toi32_i32$4; + i64toi32_i32$4 = $457$hi; + i64toi32_i32$4 = $458$hi; + $1167_1 = i64toi32_i32$2; + i64toi32_i32$4 = $457$hi; + i64toi32_i32$5 = $457_1; + i64toi32_i32$2 = $458$hi; + i64toi32_i32$3 = $1167_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $459$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $460$hi = i64toi32_i32$1; + i64toi32_i32$1 = $459$hi; + i64toi32_i32$1 = $460$hi; + i64toi32_i32$1 = $459$hi; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$5 = $460$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = i64toi32_i32$4 - i64toi32_i32$3 | 0; + i64toi32_i32$0 = (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$0 | 0; + $461$hi = i64toi32_i32$0; + i64toi32_i32$4 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$4 >> 31 | 0; + $462$hi = i64toi32_i32$0; + i64toi32_i32$0 = $461$hi; + i64toi32_i32$0 = $462$hi; + $1178_1 = i64toi32_i32$4; + i64toi32_i32$0 = $461$hi; + i64toi32_i32$4 = $462$hi; + i64toi32_i32$4 = __wasm_i64_sdiv(i64toi32_i32$2 | 0, i64toi32_i32$0 | 0, $1178_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $463_1 = i64toi32_i32$4; + $463$hi = i64toi32_i32$0; + i64toi32_i32$4 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$4 >> 31 | 0; + $464$hi = i64toi32_i32$0; + i64toi32_i32$0 = $463$hi; + i64toi32_i32$0 = $464$hi; + $1186_1 = i64toi32_i32$4; + i64toi32_i32$0 = $463$hi; + i64toi32_i32$4 = $464$hi; + i64toi32_i32$4 = __wasm_i64_mul($463_1 | 0, i64toi32_i32$0 | 0, $1186_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1189_1 = i64toi32_i32$4; + i64toi32_i32$4 = $8_1; + HEAP32[($8_1 + 96 | 0) >> 2] = $1189_1; + HEAP32[($8_1 + 100 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($8_1 + 100 | 0) >> 2] | 0; + $466_1 = i64toi32_i32$0; + $466$hi = i64toi32_i32$4; + i64toi32_i32$1 = $8_1; + i64toi32_i32$4 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 116 | 0) >> 2] | 0; + $467$hi = i64toi32_i32$0; + i64toi32_i32$0 = $466$hi; + i64toi32_i32$0 = $467$hi; + i64toi32_i32$0 = $466$hi; + i64toi32_i32$0 = $467$hi; + $1197_1 = i64toi32_i32$4; + i64toi32_i32$0 = $466$hi; + i64toi32_i32$1 = $466_1; + i64toi32_i32$4 = $467$hi; + i64toi32_i32$3 = $1197_1; + HEAP32[($8_1 + 16 | 0) >> 2] = ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0; + label$25 : { + label$26 : while (1) { + i64toi32_i32$3 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 116 | 0) >> 2] | 0; + $470_1 = i64toi32_i32$1; + $470$hi = i64toi32_i32$0; + i64toi32_i32$3 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 100 | 0) >> 2] | 0; + $471$hi = i64toi32_i32$1; + i64toi32_i32$1 = $470$hi; + i64toi32_i32$1 = $471$hi; + i64toi32_i32$1 = $470$hi; + i64toi32_i32$1 = $471$hi; + $1211_1 = i64toi32_i32$0; + i64toi32_i32$1 = $470$hi; + i64toi32_i32$3 = $470_1; + i64toi32_i32$0 = $471$hi; + i64toi32_i32$4 = $1211_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $85_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$4 >>> 0) { + $86_1 = 0 + } else { + $86_1 = 1 + } + $87_1 = $86_1; + } else { + $87_1 = 0 + } + $85_1 = $87_1; + } + if (!($85_1 & 1 | 0)) { + break label$25 + } + i64toi32_i32$4 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 116 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $679($8_1 + 88 | 0 | 0, HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 156 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$27 : { + if (!(HEAP32[($8_1 + 144 | 0) >> 2] | 0)) { + break label$27 + } + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + break label$2; + } + i64toi32_i32$3 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $475_1 = i64toi32_i32$3; + $475$hi = i64toi32_i32$1; + i64toi32_i32$4 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 116 | 0) >> 2] | 0; + $1250$hi = i64toi32_i32$3; + i64toi32_i32$3 = $475$hi; + i64toi32_i32$3 = $1250$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $475$hi; + i64toi32_i32$0 = $475_1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$4 = $8_1; + HEAP32[($8_1 + 112 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($8_1 + 116 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($8_1 + 128 | 0) >> 2] = (HEAP32[($8_1 + 128 | 0) >> 2] | 0) + 1 | 0; + continue label$26; + }; + } + } + label$28 : { + if (!(HEAP32[($8_1 + 16 | 0) >> 2] | 0)) { + break label$28 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $190(HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 148 | 0) >> 2] | 0) & 3 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + } + } + label$29 : { + if (!(HEAP32[($8_1 + 152 | 0) >> 2] | 0)) { + break label$29 + } + if (!((HEAPU8[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 47 | 0) >> 0] | 0) & 255 | 0)) { + break label$29 + } + i64toi32_i32$2 = 0; + $478$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $480$hi = i64toi32_i32$4; + i64toi32_i32$4 = $478$hi; + i64toi32_i32$4 = $480$hi; + i64toi32_i32$4 = $478$hi; + i64toi32_i32$4 = $480$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $478$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$2 | 0)) { + $88_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + $89_1 = 0 + } else { + $89_1 = 1 + } + $90_1 = $89_1; + } else { + $90_1 = 0 + } + $88_1 = $90_1; + } + if (!($88_1 & 1 | 0)) { + break label$29 + } + i64toi32_i32$0 = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $1310_1 = i64toi32_i32$3; + i64toi32_i32$3 = $8_1; + HEAP32[$8_1 >> 2] = $1310_1; + HEAP32[($8_1 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $483$hi = i64toi32_i32$4; + i64toi32_i32$3 = (HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$4 = i64toi32_i32$3 >> 31 | 0; + $484$hi = i64toi32_i32$4; + i64toi32_i32$4 = $483$hi; + i64toi32_i32$4 = $484$hi; + $1336_1 = i64toi32_i32$3; + i64toi32_i32$4 = $483$hi; + i64toi32_i32$3 = $484$hi; + i64toi32_i32$3 = __wasm_i64_mul((((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + (HEAP32[($8_1 + 128 | 0) >> 2] | 0) | 0) + 1 | 0) - 1 | 0 | 0, i64toi32_i32$4 | 0, $1336_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $485$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $486$hi = i64toi32_i32$4; + i64toi32_i32$4 = $485$hi; + i64toi32_i32$4 = $486$hi; + i64toi32_i32$4 = $485$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $486$hi; + i64toi32_i32$2 = 32; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $487$hi = i64toi32_i32$5; + i64toi32_i32$4 = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] | 0; + $488$hi = i64toi32_i32$0; + i64toi32_i32$0 = $487$hi; + i64toi32_i32$0 = $488$hi; + i64toi32_i32$0 = $487$hi; + i64toi32_i32$0 = $488$hi; + $1348_1 = i64toi32_i32$5; + i64toi32_i32$0 = $487$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$5 = $488$hi; + i64toi32_i32$2 = $1348_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$5 | 0)) { + $91_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$4 >>> 0 <= i64toi32_i32$2 >>> 0) { + $92_1 = 0 + } else { + $92_1 = 1 + } + $93_1 = $92_1; + } else { + $93_1 = 0 + } + $91_1 = $93_1; + } + label$30 : { + if (!($91_1 & 1 | 0)) { + break label$30 + } + i64toi32_i32$4 = 0; + $491$hi = i64toi32_i32$4; + i64toi32_i32$0 = (HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $492$hi = i64toi32_i32$4; + i64toi32_i32$4 = $491$hi; + i64toi32_i32$4 = $492$hi; + $1380_1 = i64toi32_i32$0; + i64toi32_i32$4 = $491$hi; + i64toi32_i32$0 = $492$hi; + i64toi32_i32$0 = __wasm_i64_mul((((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + (HEAP32[($8_1 + 128 | 0) >> 2] | 0) | 0) + 1 | 0) - 1 | 0 | 0, i64toi32_i32$4 | 0, $1380_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $493$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $494$hi = i64toi32_i32$4; + i64toi32_i32$4 = $493$hi; + i64toi32_i32$4 = $494$hi; + i64toi32_i32$4 = $493$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $494$hi; + i64toi32_i32$5 = 32; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$2 = $8_1; + HEAP32[$8_1 >> 2] = i64toi32_i32$3; + HEAP32[($8_1 + 4 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$4 = $8_1; + i64toi32_i32$1 = HEAP32[$8_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + $681(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0); + HEAP8[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 47 | 0) >> 0] = 0; + } + HEAP32[($8_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[($8_1 + 136 | 0) >> 2] = HEAP32[($8_1 + 160 | 0) >> 2] | 0; + label$31 : while (1) { + $364_1 = 0; + label$32 : { + if (!((HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$32 + } + $364_1 = (HEAP32[($8_1 + 144 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$33 : { + if (!($364_1 & 1 | 0)) { + break label$33 + } + label$34 : { + label$35 : { + if (((HEAPU16[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0) { + break label$35 + } + break label$34; + } + HEAP32[($8_1 + 140 | 0) >> 2] = (HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $682(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($8_1 + 136 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$31; + } + break label$31; + }; + label$36 : while (1) { + $391_1 = 0; + label$37 : { + if (HEAP32[($8_1 + 144 | 0) >> 2] | 0) { + break label$37 + } + $391_1 = (HEAP32[($8_1 + 128 | 0) >> 2] | 0 | 0) > (0 | 0); + } + label$38 : { + if (!($391_1 & 1 | 0)) { + break label$38 + } + HEAP32[($8_1 + 140 | 0) >> 2] = (HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 128 | 0) >> 2] = (HEAP32[($8_1 + 128 | 0) >> 2] | 0) + -1 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $682(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + continue label$36; + } + break label$36; + }; + label$39 : { + if (HEAP32[($8_1 + 144 | 0) >> 2] | 0) { + break label$39 + } + HEAP16[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 66 | 0) >> 1] = (HEAP32[($8_1 + 164 | 0) >> 2] | 0) & 65280 | 0 | ((HEAP32[($8_1 + 164 | 0) >> 2] | 0) >> 16 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($8_1 + 140 | 0) >> 2] | 0; + label$40 : { + if (!(HEAP32[($8_1 + 152 | 0) >> 2] | 0)) { + break label$40 + } + $423_1 = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + HEAP32[($423_1 + 60 | 0) >> 2] = (HEAP32[($423_1 + 60 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($8_1 + 156 | 0) >> 2] | 0; + } + label$41 : { + if (!(HEAP32[($8_1 + 152 | 0) >> 2] | 0)) { + break label$41 + } + $683(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 140 | 0) >> 2] | 0; + } + } + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + } + $434_1 = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + global$0 = $8_1 + 176 | 0; + return $434_1 | 0; + } + + function $654($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $684(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $655($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $23_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + $7_1 = 0; + label$2 : { + if (!(($7_1 | 0) == ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $715(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + } + $23_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $23_1 | 0; + } + + function $656($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $3_1 = 0, $14$hi = 0, $14_1 = 0, $17$hi = 0, $19$hi = 0, $20$hi = 0, $21$hi = 0, $22$hi = 0, $23$hi = 0, $24$hi = 0, $25$hi = 0, $26$hi = 0, $42_1 = 0, $84_1 = 0; + $3_1 = global$0 - 32 | 0; + i64toi32_i32$0 = 0; + $14_1 = 0; + $14$hi = i64toi32_i32$0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $14_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $42_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $42_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $17$hi = i64toi32_i32$0; + i64toi32_i32$0 = $14$hi; + i64toi32_i32$0 = $17$hi; + i64toi32_i32$0 = $14$hi; + i64toi32_i32$0 = $17$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$3 = $14_1; + label$1 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $19$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $20$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $20$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $21$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $22$hi = i64toi32_i32$5; + i64toi32_i32$5 = $21$hi; + i64toi32_i32$5 = $22$hi; + i64toi32_i32$5 = $21$hi; + i64toi32_i32$3 = $22$hi; + i64toi32_i32$3 = __wasm_i64_sdiv(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $23$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $24$hi = i64toi32_i32$5; + i64toi32_i32$5 = $23$hi; + i64toi32_i32$5 = $24$hi; + i64toi32_i32$5 = $23$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $24$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $25$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $26$hi = i64toi32_i32$4; + i64toi32_i32$4 = $25$hi; + i64toi32_i32$4 = $26$hi; + i64toi32_i32$4 = $25$hi; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = __wasm_i64_mul(i64toi32_i32$2 | 0, i64toi32_i32$4 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $84_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $84_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$4; + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$4 | 0; + } + + function $657($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $138$hi = 0, i64toi32_i32$5 = 0, $140$hi = 0, $143_1 = 0, $113_1 = 0, $147$hi = 0, $131_1 = 0, i64toi32_i32$4 = 0, $252_1 = 0, $312_1 = 0, $446$hi = 0, $135_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $138$hi = i64toi32_i32$0; + i64toi32_i32$2 = (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $138$hi; + i64toi32_i32$3 = 0; + label$4 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$3 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $252_1 = i64toi32_i32$2; + i64toi32_i32$2 = (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 48) | 0; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = $252_1; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + i64toi32_i32$1 = $656(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $143_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = $143_1; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 80 | 0) >> 2] = $143_1; + HEAP32[(i64toi32_i32$1 + 84 | 0) >> 2] = i64toi32_i32$2; + label$5 : { + label$6 : { + label$7 : { + if ((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0) { + break label$7 + } + if (((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0) { + break label$7 + } + if (!(($619(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0) & 512 | 0)) { + break label$6 + } + } + i64toi32_i32$3 = 0; + i64toi32_i32$2 = HEAPU8[(i64toi32_i32$3 + 4815 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 4816 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 4817 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 4818 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$3 + 4819 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 4820 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 4821 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 4822 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $312_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $18_1 = $312_1; + HEAP8[i64toi32_i32$2 >> 0] = $18_1; + HEAP8[(i64toi32_i32$2 + 1 | 0) >> 0] = $18_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$2 + 2 | 0) >> 0] = $18_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$2 + 3 | 0) >> 0] = $18_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$2 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$2 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$2 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$2 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $162((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0 | 0, -1 | 0); + break label$5; + } + i64toi32_i32$1 = 0; + i64toi32_i32$2 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $19_1 = 0; + HEAP8[i64toi32_i32$2 >> 0] = $19_1; + HEAP8[(i64toi32_i32$2 + 1 | 0) >> 0] = $19_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$2 + 2 | 0) >> 0] = $19_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$2 + 3 | 0) >> 0] = $19_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$2 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$2 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$2 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$2 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $20_1 = i64toi32_i32$2 + 8 | 0; + $21_1 = 0; + HEAP8[$20_1 >> 0] = $21_1; + HEAP8[($20_1 + 1 | 0) >> 0] = $21_1 >>> 8 | 0; + HEAP8[($20_1 + 2 | 0) >> 0] = $21_1 >>> 16 | 0; + HEAP8[($20_1 + 3 | 0) >> 0] = $21_1 >>> 24 | 0; + } + $85(4 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 48 | 0 | 0); + $162((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + $162((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 16 | 0 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $162((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0); + $162((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0); + $3289((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 28 | 0 | 0, 0 | 0, (HEAP32[($3_1 + 16 | 0) >> 2] | 0) - 28 | 0 | 0) | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + label$8 : while (1) { + $113_1 = 0; + label$9 : { + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$9 + } + $113_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0) >>> 0; + } + label$10 : { + if (!($113_1 & 1 | 0)) { + break label$10 + } + i64toi32_i32$3 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = 0; + $147$hi = i64toi32_i32$2; + $131_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$3 = $131_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $446$hi = i64toi32_i32$1; + i64toi32_i32$1 = $147$hi; + i64toi32_i32$1 = $446$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $147$hi; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$3 = $131_1; + HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0; + continue label$8; + } + break label$8; + }; + $135_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $135_1 | 0; + } + + function $658($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($13_1 + 28 | 0) >> 1] = ((HEAPU16[($13_1 + 28 | 0) >> 1] | 0) & 65535 | 0) & -9 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + return; + } + + function $659($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 30 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $618(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $15_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $15_1 | 0; + } + + function $660($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $68_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 11 | 0) >> 0] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + if (!(((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + break label$3; + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$5; + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 33 | 0) >> 0] = 2; + } + } + } + label$8 : { + if (!(((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$8 + } + $68_1 = 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = $68_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != ($68_1 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$9; + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$11 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 33 | 0) >> 0] = 1; + } + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$12 : { + if ((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + if (!((0 | 0) == (((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + } + return; + } + + function $661($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + FUNCTION_TABLE[HEAP32[(0 + 68500 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0, HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0, 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $662($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $73_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 >= (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : while (1) { + if (!(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$5 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + continue label$4; + }; + } + label$6 : { + if (!((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0 <= 4e3 >>> 0 & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = (((HEAPU8[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 3 | 0) | 0) >> 0] | 0) & 255 | 0) & (1 << ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 7 | 0) | 0) | 0 | 0) != (0 | 0) & 1 | 0; + break label$1; + } + $73_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $73_1 + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (($73_1 << 0 | 0) >>> 0) % (125 >>> 0) | 0; + label$7 : { + label$8 : while (1) { + if (!(HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0)) { + break label$7 + } + label$9 : { + if (!((HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >>> 0) % (125 >>> 0) | 0; + continue label$8; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $663($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + if ((HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = 8222; + HEAP32[$3_1 >> 2] = HEAP32[(0 + 68396 | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + } + HEAP32[$3_1 >> 2] = -1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $666(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, 8222 | 0, HEAP32[$3_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $39_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $39_1 | 0; + } + + function $664($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $9_1 = 0, i64toi32_i32$1 = 0, $12_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $9_1 = $5_1 + 8 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + $162($9_1 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $12_1 = $147(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $9_1 | 0, 4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + global$0 = $5_1 + 32 | 0; + return $12_1 | 0; + } + + function $665($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $31_1 = 0, $37_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 48) | 0; + label$3 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + $31_1 = $517(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | $31_1 | 0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $37_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $37_1 | 0; + } + + function $666($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + $3289(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0, 72 | 0) | 0; + label$1 : { + label$2 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $618(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + break label$3; + } + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1020; + } + HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] = 4656; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + } + $41_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $41_1 | 0; + } + + function $667($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $668(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $668($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $669($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $132$hi = 0, $133$hi = 0, $136$hi = 0, $137$hi = 0, $140$hi = 0, $147$hi = 0, $148$hi = 0, $96_1 = 0, $130$hi = 0, $131$hi = 0, $50_1 = 0, $51_1 = 0, $52_1 = 0, $142$hi = 0, $34_1 = 0, $145$hi = 0, $146$hi = 0, $53_1 = 0, $54_1 = 0, $55_1 = 0, $151$hi = 0, $154$hi = 0, $155$hi = 0, $68_1 = 0, $100_1 = 0, $157$hi = 0, $158$hi = 0, $160_1 = 0, $160$hi = 0, $130_1 = 0, $196_1 = 0, $205_1 = 0, $136_1 = 0, $223_1 = 0, $145_1 = 0, $272_1 = 0, $279_1 = 0, $151_1 = 0, $297$hi = 0, $154_1 = 0, $324_1 = 0, $157_1 = 0, $479_1 = 0, $127_1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $130_1 = i64toi32_i32$1; + $130$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $131$hi = i64toi32_i32$1; + i64toi32_i32$1 = $130$hi; + i64toi32_i32$1 = $131$hi; + $196_1 = i64toi32_i32$0; + i64toi32_i32$1 = $130$hi; + i64toi32_i32$2 = $130_1; + i64toi32_i32$0 = $131$hi; + i64toi32_i32$3 = $196_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $132$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $133$hi = i64toi32_i32$2; + i64toi32_i32$2 = $132$hi; + i64toi32_i32$2 = $133$hi; + i64toi32_i32$2 = $132$hi; + i64toi32_i32$2 = $133$hi; + $205_1 = i64toi32_i32$5; + i64toi32_i32$2 = $132$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$5 = $133$hi; + i64toi32_i32$3 = $205_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $50_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $51_1 = 0 + } else { + $51_1 = 1 + } + $52_1 = $51_1; + } else { + $52_1 = 0 + } + $50_1 = $52_1; + } + label$1 : { + label$2 : { + if (!($50_1 & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 522; + break label$1; + } + i64toi32_i32$3 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $136_1 = i64toi32_i32$1; + $136$hi = i64toi32_i32$2; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $137$hi = i64toi32_i32$1; + i64toi32_i32$1 = $136$hi; + i64toi32_i32$1 = $137$hi; + i64toi32_i32$1 = $136$hi; + i64toi32_i32$1 = $137$hi; + $223_1 = i64toi32_i32$2; + i64toi32_i32$1 = $136$hi; + i64toi32_i32$3 = $136_1; + i64toi32_i32$2 = $137$hi; + i64toi32_i32$5 = $223_1; + label$3 : { + label$4 : { + label$5 : { + if (((i64toi32_i32$3 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0) { + break label$5 + } + i64toi32_i32$3 = 0; + $140$hi = i64toi32_i32$3; + i64toi32_i32$5 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $142$hi = i64toi32_i32$1; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$1 = $142$hi; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$1 = $142$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$3 = $140$hi; + i64toi32_i32$2 = 0; + if (!(((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$4 + } + } + i64toi32_i32$5 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$6 : while (1) { + $34_1 = 0; + label$7 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $145_1 = i64toi32_i32$5; + $145$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $146$hi = i64toi32_i32$1; + i64toi32_i32$1 = $145$hi; + i64toi32_i32$1 = $146$hi; + $272_1 = i64toi32_i32$5; + i64toi32_i32$1 = $145$hi; + i64toi32_i32$2 = $145_1; + i64toi32_i32$5 = $146$hi; + i64toi32_i32$3 = $272_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $147$hi = i64toi32_i32$4; + i64toi32_i32$1 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $148$hi = i64toi32_i32$2; + i64toi32_i32$2 = $147$hi; + i64toi32_i32$2 = $148$hi; + i64toi32_i32$2 = $147$hi; + i64toi32_i32$2 = $148$hi; + $279_1 = i64toi32_i32$4; + i64toi32_i32$2 = $147$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$4 = $148$hi; + i64toi32_i32$3 = $279_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$4 | 0)) { + $53_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$1 >>> 0 > i64toi32_i32$3 >>> 0) { + $54_1 = 0 + } else { + $54_1 = 1 + } + $55_1 = $54_1; + } else { + $55_1 = 0 + } + $53_1 = $55_1; + } + $34_1 = $53_1; + } + label$8 : { + if (!($34_1 & 1 | 0)) { + break label$8 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $151_1 = i64toi32_i32$2; + $151$hi = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $297$hi = i64toi32_i32$2; + i64toi32_i32$2 = $151$hi; + i64toi32_i32$2 = $297$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$4 = $151_1; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + continue label$6; + } + break label$6; + }; + break label$3; + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $154_1 = i64toi32_i32$0; + $154$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$0 >> 31 | 0; + $155$hi = i64toi32_i32$3; + i64toi32_i32$3 = $154$hi; + i64toi32_i32$3 = $155$hi; + $324_1 = i64toi32_i32$0; + i64toi32_i32$3 = $154$hi; + i64toi32_i32$0 = $155$hi; + i64toi32_i32$0 = __wasm_i64_srem($154_1 | 0, i64toi32_i32$3 | 0, $324_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 24 | 0) >> 2] = i64toi32_i32$0; + label$9 : while (1) { + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0; + label$10 : { + label$11 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < ((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$11 + } + $68_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + break label$10; + } + $68_1 = (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0; + } + HEAP32[$6_1 >> 2] = $68_1; + $3288(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) + (HEAP32[$6_1 >> 2] | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) - (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + $96_1 = 0; + label$12 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$12 + } + $100_1 = HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = $100_1; + $96_1 = 0; + if (!(($100_1 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $96_1 = (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) > (0 | 0); + } + if ($96_1 & 1 | 0) { + continue label$9 + } + break label$9; + }; + label$13 : { + label$14 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $157_1 = i64toi32_i32$3; + $157$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$3 >> 31 | 0; + $158$hi = i64toi32_i32$0; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$0 = $158$hi; + $479_1 = i64toi32_i32$3; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$2 = $157_1; + i64toi32_i32$3 = $158$hi; + i64toi32_i32$4 = $479_1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $160_1 = i64toi32_i32$1; + $160$hi = i64toi32_i32$5; + break label$13; + } + i64toi32_i32$5 = 0; + $160_1 = 0; + $160$hi = i64toi32_i32$5; + } + i64toi32_i32$5 = $160$hi; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] = $160_1; + HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] = i64toi32_i32$5; + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + } + $127_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $127_1 | 0; + } + + function $670($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $122$hi = 0, $123$hi = 0, $120$hi = 0, $121$hi = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $127$hi = 0, $128$hi = 0, $59_1 = 0, $81_1 = 0, $130$hi = 0, $111_1 = 0, $133$hi = 0, $134$hi = 0, $120_1 = 0, $183_1 = 0, $195_1 = 0, $127_1 = 0, $260_1 = 0, $130_1 = 0, $414$hi = 0, $133_1 = 0, $427_1 = 0, $117_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $120_1 = i64toi32_i32$1; + $120$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $121$hi = i64toi32_i32$1; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$1 = $121$hi; + $183_1 = i64toi32_i32$0; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$2 = $120_1; + i64toi32_i32$0 = $121$hi; + i64toi32_i32$3 = $183_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $122$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $123$hi = i64toi32_i32$5; + i64toi32_i32$5 = $122$hi; + i64toi32_i32$5 = $123$hi; + i64toi32_i32$5 = $122$hi; + i64toi32_i32$5 = $123$hi; + $195_1 = i64toi32_i32$2; + i64toi32_i32$5 = $122$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $123$hi; + i64toi32_i32$3 = $195_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$2 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $35_1 = 0 + } else { + $35_1 = 1 + } + $36_1 = $35_1; + } else { + $36_1 = 0 + } + $34_1 = $36_1; + } + if (!($34_1 & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $671(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$3 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $147(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + break label$1; + } + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $127_1 = i64toi32_i32$5; + $127$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $128$hi = i64toi32_i32$1; + i64toi32_i32$1 = $127$hi; + i64toi32_i32$1 = $128$hi; + $260_1 = i64toi32_i32$5; + i64toi32_i32$1 = $127$hi; + i64toi32_i32$5 = $128$hi; + i64toi32_i32$5 = __wasm_i64_srem($127_1 | 0, i64toi32_i32$1 | 0, $260_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 16 | 0) >> 2] = i64toi32_i32$5; + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) < ((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + $59_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + break label$6; + } + $59_1 = (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0; + } + HEAP32[($6_1 + 12 | 0) >> 2] = $59_1; + label$8 : { + if (HEAP32[($6_1 + 16 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 8 | 0) + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if ((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 3082; + break label$1; + } + $81_1 = 0; + HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] = $81_1; + label$10 : { + label$11 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != ($81_1 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + break label$10; + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + $3288(((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 4 | 0) + (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) - (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $130_1 = i64toi32_i32$5; + $130$hi = i64toi32_i32$1; + $111_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$3 = $111_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $414$hi = i64toi32_i32$5; + i64toi32_i32$5 = $130$hi; + i64toi32_i32$5 = $414$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $130$hi; + i64toi32_i32$2 = $130_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$3 = $111_1; + HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] = i64toi32_i32$4; + continue label$5; + }; + } + i64toi32_i32$3 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 >> 31 | 0; + $133_1 = i64toi32_i32$3; + $133$hi = i64toi32_i32$4; + i64toi32_i32$5 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $134$hi = i64toi32_i32$3; + i64toi32_i32$3 = $133$hi; + i64toi32_i32$3 = $134$hi; + $427_1 = i64toi32_i32$4; + i64toi32_i32$3 = $133$hi; + i64toi32_i32$5 = $133_1; + i64toi32_i32$4 = $134$hi; + i64toi32_i32$2 = $427_1; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + } + $117_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $117_1 | 0; + } + + function $671($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $63$hi = 0, $64$hi = 0, $61$hi = 0, $62$hi = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $67$hi = 0, $68$hi = 0, $71$hi = 0, $61_1 = 0, $150_1 = 0, $157_1 = 0, $67_1 = 0, $169_1 = 0, $71_1 = 0, $204$hi = 0, $57_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 112 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 100 | 0) >> 2] = HEAP32[($3_1 + 108 | 0) >> 2] | 0; + $3288($3_1 + 24 | 0 | 0, HEAP32[($3_1 + 108 | 0) >> 2] | 0 | 0, 72 | 0) | 0; + $3289(HEAP32[($3_1 + 108 | 0) >> 2] | 0 | 0, 0 | 0, 72 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $618(HEAP32[($3_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 80 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 104 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $61_1 = i64toi32_i32$0; + $61$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $62$hi = i64toi32_i32$1; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $62$hi; + $150_1 = i64toi32_i32$0; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$2 = $61_1; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$3 = $150_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $63$hi = i64toi32_i32$5; + i64toi32_i32$1 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + $64$hi = i64toi32_i32$2; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$2 = $64$hi; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$2 = $64$hi; + $157_1 = i64toi32_i32$5; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$5 = $64$hi; + i64toi32_i32$3 = $157_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $23_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $24_1 = 0 + } else { + $24_1 = 1 + } + $25_1 = $24_1; + } else { + $25_1 = 0 + } + $23_1 = $25_1; + } + label$4 : { + if (!($23_1 & 1 | 0)) { + break label$4 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + $67_1 = i64toi32_i32$1; + $67$hi = i64toi32_i32$2; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $68$hi = i64toi32_i32$1; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$1 = $68$hi; + $169_1 = i64toi32_i32$2; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$3 = $67_1; + i64toi32_i32$2 = $68$hi; + i64toi32_i32$5 = $169_1; + i64toi32_i32$0 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + i64toi32_i32$4 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$4 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $147(HEAP32[($3_1 + 100 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($3_1 + 104 | 0) >> 2] | 0)) { + break label$5 + } + break label$2; + } + i64toi32_i32$4 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$4 >> 31 | 0; + $71_1 = i64toi32_i32$4; + $71$hi = i64toi32_i32$3; + i64toi32_i32$1 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $204$hi = i64toi32_i32$4; + i64toi32_i32$4 = $71$hi; + i64toi32_i32$4 = $204$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $71$hi; + i64toi32_i32$5 = $71_1; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + continue label$3; + }; + } + label$6 : { + if (HEAP32[($3_1 + 104 | 0) >> 2] | 0) { + break label$6 + } + $668($3_1 + 24 | 0 | 0); + } + } + label$7 : { + if (!(HEAP32[($3_1 + 104 | 0) >> 2] | 0)) { + break label$7 + } + $622(HEAP32[($3_1 + 100 | 0) >> 2] | 0 | 0); + $3288(HEAP32[($3_1 + 108 | 0) >> 2] | 0 | 0, $3_1 + 24 | 0 | 0, 72 | 0) | 0; + } + $57_1 = HEAP32[($3_1 + 104 | 0) >> 2] | 0; + global$0 = $3_1 + 112 | 0; + return $57_1 | 0; + } + + function $672($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $19$hi = 0, $9_1 = 0, $21$hi = 0, $23_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $19$hi = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $21$hi = i64toi32_i32$1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = $21$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = $21$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + label$1 : { + if (!(((i64toi32_i32$2 | 0) == (0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = 0; + $23_1 = 0; + $9_1 = 0; + $668(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $9_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = $9_1; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $23_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = $9_1; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $23_1; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$2; + } + global$0 = $4_1 + 32 | 0; + return 0 | 0; + } + + function $673($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return 0 | 0; + } + + function $674($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $29_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $29_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return 0 | 0; + } + + function $675($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0 | 0; + } + + function $676($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $20_1 = 0, $7_1 = 0, $27_1 = 0, $51_1 = 0, $48_1 = 0, $61_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + $7_1 = 16; + label$1 : { + label$2 : { + if (((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $7_1 | 0) >> $7_1 | 0) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $685(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$3 + } + $20_1 = 4; + $85($20_1 | 0, $3_1 + 8 | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $686(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $20_1 | 0, $20_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$5 + } + $27_1 = 4; + $687(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $688(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $27_1 | 0, $27_1 | 0); + break label$4; + } + label$6 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + } + } + $689(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 3 | 0); + HEAP16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 1] = 65535; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + label$7 : while (1) { + $48_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + $51_1 = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $51_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $690($48_1 | 0, $3_1 + 4 | 0 | 0, 1 | 0, $51_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + if ((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { + continue label$7 + } + break label$7; + }; + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $61_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $61_1 | 0; + } + + function $677($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $23_1 = 0, $25_1 = 0, $33_1 = 0; + $7_1 = global$0 - 48 | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + $23_1 = 0; + HEAP32[($7_1 + 20 | 0) >> 2] = $23_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $23_1; + } + label$3 : { + label$4 : { + if (!(HEAP32[($7_1 + 44 | 0) >> 2] | 0)) { + break label$4 + } + label$5 : while (1) { + $25_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $25_1 + 4 | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + ((HEAP32[$25_1 >> 2] | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0) | 0; + $33_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $33_1 + 4 | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + ((HEAP32[$33_1 >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0) | 0; + if ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + continue label$5 + } + break label$5; + }; + break label$3; + } + label$6 : while (1) { + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (((((((HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0) & 255 | 0) << 24 | 0) + (((HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0) & 65280 | 0) << 8 | 0) | 0) + (((HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0) & 16711680 | 0) >>> 8 | 0) | 0) + (((HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0) & -16777216 | 0) >>> 24 | 0) | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0) | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (((((((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 255 | 0) << 24 | 0) + (((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 65280 | 0) << 8 | 0) | 0) + (((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16711680 | 0) >>> 8 | 0) | 0) + (((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & -16777216 | 0) >>> 24 | 0) | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0) | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0; + if ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + continue label$6 + } + break label$6; + }; + } + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + return; + } + + function $678($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $12_1 = 0, $19_1 = 0, $52_1 = 0, $84_1 = 0, $98_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!(HEAP32[($5_1 + 56 | 0) >> 2] | 0)) { + break label$3 + } + $12_1 = 16; + if (((HEAPU16[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $12_1 | 0) >> $12_1 | 0) { + break label$2 + } + if ((HEAPU8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 50 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + } + $19_1 = 0; + HEAP32[(HEAP32[($5_1 + 64 | 0) >> 2] | 0) >> 2] = $19_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $19_1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $691(HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $691(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $692(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 8192; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $693(HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : while (1) { + HEAP16[($5_1 + 14 | 0) >> 1] = HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $52_1 = (HEAPU16[($5_1 + 14 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $52_1; + if (!$52_1) { + break label$7 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 40 | 0) >> 2] | 0) | 0; + label$9 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($5_1 + 56 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$9 + } + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$9 + } + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + $84_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $84_1 + -1 | 0; + label$10 : { + if ($84_1) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(62722 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $695(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + continue label$8; + }; + } + label$11 : { + if (!(HEAP32[($5_1 + 60 | 0) >> 2] | 0)) { + break label$11 + } + break label$4; + } + HEAP32[($5_1 + 52 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + -1 | 0; + continue label$5; + }; + } + HEAP32[(HEAP32[($5_1 + 64 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = 0; + } + $98_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + global$0 = $5_1 + 80 | 0; + return $98_1 | 0; + } + + function $679($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, $31$hi = 0, $32$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $21_1 = 0, $22_1 = 0, $24_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $696(HEAP32[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, $6_1 | 0); + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $697(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, $6_1 | 0, 24 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + $21_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $22_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + $24_1 = HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $31$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $32$hi = i64toi32_i32$0; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $32$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$3 = 24; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $697($21_1 | 0, $22_1 | 0, $24_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + $27_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $27_1 | 0; + } + + function $680($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $5_1 = 0, $110$hi = 0, $111$hi = 0, $112$hi = 0, $113$hi = 0, $114$hi = 0, $115$hi = 0, $57_1 = 0, $118$hi = 0, $119$hi = 0, $120$hi = 0, $121$hi = 0, $85_1 = 0, $203_1 = 0, $45_1 = 0, $50_1 = 0, $294_1 = 0, $106_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $38((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 76 | 0) >> 2] = 7; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 24; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + break label$3; + } + i64toi32_i32$0 = 0; + $110$hi = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $111$hi = i64toi32_i32$0; + i64toi32_i32$0 = $110$hi; + i64toi32_i32$0 = $111$hi; + $203_1 = i64toi32_i32$1; + i64toi32_i32$0 = $110$hi; + i64toi32_i32$1 = $111$hi; + i64toi32_i32$1 = __wasm_i64_mul(((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) - 1 | 0) - 1 | 0 | 0, i64toi32_i32$0 | 0, $203_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $112$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $113$hi = i64toi32_i32$0; + i64toi32_i32$0 = $112$hi; + i64toi32_i32$0 = $113$hi; + i64toi32_i32$0 = $112$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $113$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $114$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $115$hi = i64toi32_i32$5; + i64toi32_i32$5 = $114$hi; + i64toi32_i32$5 = $115$hi; + i64toi32_i32$5 = $114$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $115$hi; + i64toi32_i32$3 = 16; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$4; + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, 8 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + $45_1 = $161(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 76 | 0) >> 2] = $45_1; + $50_1 = $161((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 80 | 0) >> 2] = $50_1; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 104 | 0) >> 2] = 0; + label$5 : while (1) { + $57_1 = 0; + label$6 : { + if (HEAP32[($4_1 + 60 | 0) >> 2] | 0) { + break label$6 + } + $57_1 = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($4_1 + 68 | 0) >> 2] | 0) >>> 0; + } + label$7 : { + if (!($57_1 & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = 0; + $118$hi = i64toi32_i32$0; + i64toi32_i32$4 = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$0 = i64toi32_i32$4 >> 31 | 0; + $119$hi = i64toi32_i32$0; + i64toi32_i32$0 = $118$hi; + i64toi32_i32$0 = $119$hi; + $294_1 = i64toi32_i32$4; + i64toi32_i32$0 = $118$hi; + i64toi32_i32$4 = $119$hi; + i64toi32_i32$4 = __wasm_i64_mul((HEAP32[($4_1 + 28 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$0 | 0, $294_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $120$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $121$hi = i64toi32_i32$0; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$0 = $121$hi; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$4 = $121$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 24 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($4_1 + 60 | 0) >> 2] | 0) { + break label$8 + } + $85_1 = $4_1 + 32 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $161(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $161((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $696(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0 | 0, $85_1 | 0); + i64toi32_i32$0 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $85_1 | 0, 24 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + $42(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + } + $106_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $106_1 | 0; + } + + function $681($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $25$hi = 0, $26$hi = 0, i64toi32_i32$3 = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $25_1 = 0, $62_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + $449(); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $25_1 = i64toi32_i32$0; + $25$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$0; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $26$hi; + $62_1 = i64toi32_i32$1; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$2 = $25_1; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$3 = $62_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + if (!($13_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $188(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $450(); + label$2 : { + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$2 + } + $19_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + $82($19_1 | 0, 4789 | 0, $4_1 | 0); + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $682($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $60_1 = 0, $77_1 = 0, $81_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $692(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, $691(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0, $5_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 44 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) - (HEAP32[($5_1 + 40 | 0) >> 2] | 0) | 0; + label$3 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 16384 | 0) - ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) | 0; + $3289((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + label$4 : { + if (!(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0)) { + break label$4 + } + $698(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $693(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : while (1) { + if (!(((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$5 + } + $60_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $60_1 + -1 | 0; + label$7 : { + if ($60_1) { + break label$7 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(60721 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $695(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + continue label$6; + }; + } + HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + $77_1 = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 1 | 0) | 0; + HEAP16[($5_1 + 14 | 0) >> 1] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP16[$77_1 >> 1] = HEAPU16[($5_1 + 14 | 0) >> 1] | 0; + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + } + $81_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $81_1 | 0; + } + + function $683($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $3_1 = 0, $23_1 = 0, $43_1 = 0, $26_1 = 0, $46_1 = 0, $32_1 = 0, $34_1 = 0, $35_1 = 0, $37_1 = 0, $38_1 = 0, $40_1 = 0, $41_1 = 0, $42_1 = 0, $44_1 = 0, $45_1 = 0, $48_1 = 0, $49_1 = 0, $5_1 = 0, $27_1 = 0, $30_1 = 0, $33_1 = 0, $36_1 = 0, $39_1 = 0, $47_1 = 0, $50_1 = 0, $53_1 = 0, $56_1 = 0, $59_1 = 0, $130_1 = 0, $140_1 = 0, $150_1 = 0, $160_1 = 0, $170_1 = 0, $180_1 = 0, $194_1 = 0, $204_1 = 0, $214_1 = 0, $224_1 = 0, $234_1 = 0, $244_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $5_1 = 40; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $675(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 4 | 0) >> 2] = $5_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 0] = 1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = 3007e3; + $677(1 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0 | 0, $5_1 | 0, 0 | 0, ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) + 40 | 0 | 0); + $23_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0; + $26_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0; + i64toi32_i32$2 = $26_1; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $130_1 = i64toi32_i32$0; + i64toi32_i32$0 = $23_1; + $32_1 = $130_1; + HEAP8[i64toi32_i32$0 >> 0] = $32_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $32_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $32_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $32_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $27_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $27_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $140_1 = i64toi32_i32$1; + i64toi32_i32$1 = $23_1 + $27_1 | 0; + $34_1 = $140_1; + HEAP8[i64toi32_i32$1 >> 0] = $34_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $34_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $34_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $34_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $30_1 = 32; + i64toi32_i32$2 = $26_1 + $30_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $150_1 = i64toi32_i32$0; + i64toi32_i32$0 = $23_1 + $30_1 | 0; + $35_1 = $150_1; + HEAP8[i64toi32_i32$0 >> 0] = $35_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $35_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $35_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $35_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $33_1 = 24; + i64toi32_i32$2 = $26_1 + $33_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $160_1 = i64toi32_i32$1; + i64toi32_i32$1 = $23_1 + $33_1 | 0; + $37_1 = $160_1; + HEAP8[i64toi32_i32$1 >> 0] = $37_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $37_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $37_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $37_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $36_1 = 16; + i64toi32_i32$2 = $26_1 + $36_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $170_1 = i64toi32_i32$0; + i64toi32_i32$0 = $23_1 + $36_1 | 0; + $38_1 = $170_1; + HEAP8[i64toi32_i32$0 >> 0] = $38_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $38_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $38_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $38_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $39_1 = 8; + i64toi32_i32$2 = $26_1 + $39_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $180_1 = i64toi32_i32$1; + i64toi32_i32$1 = $23_1 + $39_1 | 0; + $40_1 = $180_1; + HEAP8[i64toi32_i32$1 >> 0] = $40_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $40_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $40_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $40_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $699(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $43_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $46_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0; + i64toi32_i32$2 = $46_1; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $194_1 = i64toi32_i32$0; + i64toi32_i32$0 = $43_1; + $41_1 = $194_1; + HEAP8[i64toi32_i32$0 >> 0] = $41_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $41_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $41_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $41_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $47_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $47_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $204_1 = i64toi32_i32$1; + i64toi32_i32$1 = $43_1 + $47_1 | 0; + $42_1 = $204_1; + HEAP8[i64toi32_i32$1 >> 0] = $42_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $42_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $42_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $42_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $50_1 = 32; + i64toi32_i32$2 = $46_1 + $50_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $214_1 = i64toi32_i32$0; + i64toi32_i32$0 = $43_1 + $50_1 | 0; + $44_1 = $214_1; + HEAP8[i64toi32_i32$0 >> 0] = $44_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $44_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $44_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $44_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $53_1 = 24; + i64toi32_i32$2 = $46_1 + $53_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $224_1 = i64toi32_i32$1; + i64toi32_i32$1 = $43_1 + $53_1 | 0; + $45_1 = $224_1; + HEAP8[i64toi32_i32$1 >> 0] = $45_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $45_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $45_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $45_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $56_1 = 16; + i64toi32_i32$2 = $46_1 + $56_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $234_1 = i64toi32_i32$0; + i64toi32_i32$0 = $43_1 + $56_1 | 0; + $48_1 = $234_1; + HEAP8[i64toi32_i32$0 >> 0] = $48_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $48_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $48_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $48_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $59_1 = 8; + i64toi32_i32$2 = $46_1 + $59_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $244_1 = i64toi32_i32$1; + i64toi32_i32$1 = $43_1 + $59_1 | 0; + $49_1 = $244_1; + HEAP8[i64toi32_i32$1 >> 0] = $49_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $49_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $49_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $49_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $684($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : while (1) { + label$2 : { + if ($128(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $136(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[$5_1 >> 2] | 0)) { + break label$3 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + } + } + $27_1 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $27_1; + if (($27_1 | 0) != (0 | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + global$0 = $5_1 + 16 | 0; + return; + } + + function $685($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0) + 96 | 0 | 0; + } + + function $686($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $700(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 10 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $24_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $24_1 | 0; + } + + function $687($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $17_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $6_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $685(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) + 32 | 0; + $17_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($17_1 + 112 | 0) >> 2] = (HEAP32[($17_1 + 112 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] = $6_1; + $162(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, ($161(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0); + HEAP32[((((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) + 32 | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $683(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + $36_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $6_1; + HEAP32[$36_1 >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 2; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (5 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $688($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $700(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 9 | 0) | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $689($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $700(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0, 5 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $690($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $71_1 = 0, $143_1 = 0, $262_1 = 0, $217_1 = 0, $302_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 32 | 0) >> 2] = 1; + label$3 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) > (100 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 15; + break label$1; + } + label$4 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) >= (10 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 32 | 0) >> 2] = Math_imul(Math_imul((HEAP32[($6_1 + 60 | 0) >> 2] | 0) - 9 | 0, (HEAP32[($6_1 + 60 | 0) >> 2] | 0) - 9 | 0), 39); + } + $463(HEAP32[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + label$5 : { + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + if ((HEAPU8[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 50 | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $701(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if (!((HEAP32[(HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 40 | 0) >> 2] = -1; + break label$8; + } + $71_1 = $702(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $71_1; + label$10 : { + label$11 : { + if (!((0 | 0) == ($71_1 | 0) & 1 | 0)) { + break label$11 + } + $689(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, 2 | 0); + HEAP32[($6_1 + 40 | 0) >> 2] = -1; + break label$10; + } + label$12 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 40 | 0) >> 2] = 261; + } + } + } + } + label$13 : { + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + break label$1; + } + label$14 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 50 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $703(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $685(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$15 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $702(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, 3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $699(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0); + label$16 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$16 + } + label$17 : { + if (!($3228($675(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 52 | 0 | 0, 48 | 0) | 0)) { + break label$17 + } + $689(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, 3 | 0); + HEAP32[($6_1 + 76 | 0) >> 2] = -1; + break label$1; + } + HEAP16[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 1] = 0; + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + break label$1; + } + label$18 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + break label$1; + } + } + $143_1 = 0; + HEAP32[($6_1 + 52 | 0) >> 2] = $143_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $143_1; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (5 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + label$21 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($6_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$21 + } + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$21 + } + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + label$22 : { + if (((HEAPU8[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0) & 2 | 0) { + break label$22 + } + label$23 : { + if ((HEAP32[($6_1 + 52 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$23 + } + if (HEAP32[($6_1 + 48 | 0) >> 2] | 0) { + break label$22 + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (5 | 0) & 1 | 0)) { + break label$24 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $686(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 3 | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$26 + } + $217_1 = ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[$217_1 >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $688(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 3 | 0 | 0, 1 | 0); + break label$24; + } + label$27 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + } + label$28 : { + if (HEAP32[($6_1 + 48 | 0) >> 2] | 0) { + break label$28 + } + HEAP32[($6_1 + 76 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0 ? -1 : 1288; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $702(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 48 | 0) >> 2] | 0) + 3 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$29 + } + label$30 : { + label$31 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$31 + } + $262_1 = -1; + break label$30; + } + $262_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 76 | 0) >> 2] = $262_1; + break label$1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 100 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + $699(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$32 : { + label$33 : { + if ((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$33 + } + if (!($3228($675(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 52 | 0 | 0, 48 | 0) | 0)) { + break label$32 + } + } + $689(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 48 | 0) >> 2] | 0) + 3 | 0 | 0); + HEAP32[($6_1 + 76 | 0) >> 2] = -1; + break label$1; + } + HEAP16[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 1] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + } + $302_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $302_1 | 0; + } + + function $691($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = ((((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4096 | 0) - 4062 | 0) - 1 | 0) >>> 12 | 0; + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $692($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $704(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[$5_1 >> 2] | 0) { + break label$1 + } + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16384 | 0; + label$2 : { + label$3 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 136 | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + break label$2; + } + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = (((HEAP32[($5_1 + 8 | 0) >> 2] | 0) - 1 | 0) << 12 | 0) + 4062 | 0; + } + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + -4 | 0; + } + $39_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $39_1 | 0; + } + + function $693($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return Math_imul(HEAP32[($3_1 + 12 | 0) >> 2] | 0, 383) & 8191 | 0 | 0; + } + + function $694($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = $6(11 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 4769 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $695($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) & 8191 | 0 | 0; + } + + function $696($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $10_1 = 0, $11_1 = 0, $12_1 = 0, $37_1 = 0, $140_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 4 | 0) >> 2] = ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 52 | 0) + 24 | 0; + $162(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0); + $162((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) { + break label$2 + } + $10_1 = ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 52 | 0) + 32 | 0; + i64toi32_i32$0 = HEAPU8[$10_1 >> 0] | 0 | ((HEAPU8[($10_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($10_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($10_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[($10_1 + 4 | 0) >> 0] | 0 | ((HEAPU8[($10_1 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($10_1 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($10_1 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $140_1 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 8 | 0; + $12_1 = $140_1; + HEAP8[i64toi32_i32$0 >> 0] = $12_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $12_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $12_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $12_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $37_1 = 24; + HEAP32[($7_1 + 8 | 0) >> 2] = ((HEAPU8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 65 | 0) >> 0] | 0) & 255 | 0 | 0) == ((((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $37_1 | 0) >> $37_1 | 0 | 0) == (0 | 0) & 1 | 0 | 0) & 1 | 0; + $677(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 8 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + $677(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + $162((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 16 | 0 | 0, HEAP32[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + $162((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$1; + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 8 | 0; + $11_1 = 0; + HEAP8[i64toi32_i32$0 >> 0] = $11_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $11_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $11_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $11_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + i64toi32_i32$0 = i64toi32_i32$0 + 8 | 0; + HEAP8[i64toi32_i32$0 >> 0] = $11_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $11_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $11_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $11_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $697($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, $53$hi = 0, $54$hi = 0, $59$hi = 0, $60$hi = 0, $31_1 = 0, $32_1 = 0, $33_1 = 0, $57$hi = 0, $58$hi = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $63$hi = 0, $64$hi = 0, $67$hi = 0, $53_1 = 0, $93_1 = 0, $57_1 = 0, $108_1 = 0, $117_1 = 0, $63_1 = 0, $131_1 = 0, $67_1 = 0, $169$hi = 0, $50_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $53_1 = i64toi32_i32$0; + $53$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $54$hi = i64toi32_i32$0; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$0 = $54$hi; + $93_1 = i64toi32_i32$1; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$2 = $53_1; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$3 = $93_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $31_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $32_1 = 0 + } else { + $32_1 = 1 + } + $33_1 = $32_1; + } else { + $33_1 = 0 + } + $31_1 = $33_1; + } + label$1 : { + label$2 : { + if (!($31_1 & 1 | 0)) { + break label$2 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $57_1 = i64toi32_i32$2; + $57$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $58$hi = i64toi32_i32$0; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $58$hi; + $108_1 = i64toi32_i32$2; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$3 = $57_1; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$1 = $108_1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $59$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $60$hi = i64toi32_i32$3; + i64toi32_i32$3 = $59$hi; + i64toi32_i32$3 = $60$hi; + i64toi32_i32$3 = $59$hi; + i64toi32_i32$3 = $60$hi; + $117_1 = i64toi32_i32$5; + i64toi32_i32$3 = $59$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$5 = $60$hi; + i64toi32_i32$1 = $117_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$5 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) { + $35_1 = 0 + } else { + $35_1 = 1 + } + $36_1 = $35_1; + } else { + $36_1 = 0 + } + $34_1 = $36_1; + } + if (!($34_1 & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $63_1 = i64toi32_i32$0; + $63$hi = i64toi32_i32$3; + i64toi32_i32$1 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $64$hi = i64toi32_i32$0; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$0 = $64$hi; + $131_1 = i64toi32_i32$3; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$1 = $63_1; + i64toi32_i32$3 = $64$hi; + i64toi32_i32$5 = $131_1; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$4 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$4 | 0; + HEAP32[$6_1 >> 2] = i64toi32_i32$2; + i64toi32_i32$0 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($6_1 + 4 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$4 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$4 >> 31 | 0; + $67_1 = i64toi32_i32$4; + $67$hi = i64toi32_i32$1; + i64toi32_i32$0 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $169$hi = i64toi32_i32$4; + i64toi32_i32$4 = $67$hi; + i64toi32_i32$4 = $169$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$5 = $67_1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[$6_1 >> 2] | 0) | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[$6_1 >> 2] | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) & 3 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$5 + } + if (!(HEAP32[($6_1 + 4 | 0) >> 2] | 0)) { + break label$4 + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$1; + } + } + i64toi32_i32$4 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + } + $50_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $50_1 | 0; + } + + function $698($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $692(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, $691(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) | 0 | 0, $3_1 + 16 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[$3_1 >> 2] | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) - (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (8192 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) > (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP16[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = 0; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) - ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + (((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) | 0; + $3289((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + (((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0 | 0, 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $699($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$1 + } + $711(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $700($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $14_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $14_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 12 | 0) >> 2] | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0, HEAP32[$6_1 >> 2] | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $14_1 | 0; + } + + function $701($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $36_1 = 0, $50_1 = 0, $52_1 = 0, $66_1 = 0, $69_1 = 0, $75_1 = 0, $82_1 = 0, $139_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $704(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, $4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (1288 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 50 | 0) >> 0] = 1; + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 43 | 0) >> 0] = 2; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 1; + break label$4; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + } + break label$2; + } + } + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $36_1 = $705(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0; + break label$6; + } + $36_1 = 1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = $36_1; + label$8 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$8 + } + label$9 : { + label$10 : { + if ((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 50 | 0) >> 0] | 0) & 255 | 0) { + break label$10 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$10 + } + $50_1 = 0; + $52_1 = $702(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $50_1 | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $52_1; + label$11 : { + if (!(($50_1 | 0) == ($52_1 | 0) & 1 | 0)) { + break label$11 + } + $689(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0); + HEAP32[($4_1 + 16 | 0) >> 2] = 264; + } + break label$9; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0; + label$12 : { + label$13 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$13 + } + $66_1 = 0; + $69_1 = $686(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $66_1 | 0, 1 | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $69_1; + if (!(($66_1 | 0) == ($69_1 | 0) & 1 | 0)) { + break label$12 + } + } + $75_1 = 0; + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 0] = 1; + $82_1 = $704(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $75_1 | 0, $4_1 + 8 | 0 | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $82_1; + label$14 : { + if (!(($75_1 | 0) == ($82_1 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $705(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$15 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $706(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 1; + } + } + label$16 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$16 + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 0] = 0; + $688(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0); + } + } + } + } + label$17 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$17 + } + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (3007e3 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $96(61988 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$18 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 50 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + label$19 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$19 + } + $707(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0); + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 50 | 0) >> 0] = 0; + label$20 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (522 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($4_1 + 16 | 0) >> 2] = -1; + } + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 43 | 0) >> 0] = 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $139_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $139_1 | 0; + } + + function $702($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $23_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $700(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0, 6 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + $23_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $23_1 | 0; + } + + function $703($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, $51_1 = 0, $53_1 = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, $49_1 = 0, $50_1 = 0, $212$hi = 0, $227$hi = 0, $228$hi = 0, $19_1 = 0, $43_1 = 0, $54_1 = 0, $57_1 = 0, $60_1 = 0, $63_1 = 0, $66_1 = 0, $214$hi = 0, $52_1 = 0, $55_1 = 0, $56_1 = 0, $217$hi = 0, $220$hi = 0, $221$hi = 0, $222$hi = 0, $223$hi = 0, $225$hi = 0, $226$hi = 0, $58_1 = 0, $59_1 = 0, $61_1 = 0, $232$hi = 0, $338_1 = 0, $348_1 = 0, $358_1 = 0, $368_1 = 0, $378_1 = 0, $388_1 = 0, $217_1 = 0, $466$hi = 0, $554_1 = 0, $225_1 = 0, $569_1 = 0, $576_1 = 0, $232_1 = 0, $638$hi = 0, $203_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $702(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, 3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 28 | 0) >> 2] | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = -1; + } + break label$1; + } + $19_1 = 0; + HEAP16[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 40 | 0) >> 1] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $708(HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $19_1 | 0, 32768 | 0, $19_1 | 0, $4_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (1288 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$6 + } + $43_1 = -1; + break label$5; + } + $43_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = $43_1; + break label$1; + } + $51_1 = (HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 52 | 0; + $53_1 = $675(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = $53_1; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $338_1 = i64toi32_i32$0; + i64toi32_i32$0 = $51_1; + $45_1 = $338_1; + HEAP8[i64toi32_i32$0 >> 0] = $45_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $45_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $45_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $45_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $54_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $54_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $348_1 = i64toi32_i32$1; + i64toi32_i32$1 = $51_1 + $54_1 | 0; + $46_1 = $348_1; + HEAP8[i64toi32_i32$1 >> 0] = $46_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $46_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $46_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $46_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $57_1 = 32; + i64toi32_i32$2 = $53_1 + $57_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $358_1 = i64toi32_i32$0; + i64toi32_i32$0 = $51_1 + $57_1 | 0; + $47_1 = $358_1; + HEAP8[i64toi32_i32$0 >> 0] = $47_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $47_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $47_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $47_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $60_1 = 24; + i64toi32_i32$2 = $53_1 + $60_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $368_1 = i64toi32_i32$1; + i64toi32_i32$1 = $51_1 + $60_1 | 0; + $48_1 = $368_1; + HEAP8[i64toi32_i32$1 >> 0] = $48_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $48_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $48_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $48_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $63_1 = 16; + i64toi32_i32$2 = $53_1 + $63_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $378_1 = i64toi32_i32$0; + i64toi32_i32$0 = $51_1 + $63_1 | 0; + $49_1 = $378_1; + HEAP8[i64toi32_i32$0 >> 0] = $49_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $49_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $49_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $49_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $66_1 = 8; + i64toi32_i32$2 = $53_1 + $66_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $388_1 = i64toi32_i32$1; + i64toi32_i32$1 = $51_1 + $66_1 | 0; + $50_1 = $388_1; + HEAP8[i64toi32_i32$1 >> 0] = $50_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $50_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $50_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $50_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $4_1 + 96 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($4_1 + 28 | 0) >> 2] | 0)) { + break label$7 + } + break label$1; + } + i64toi32_i32$0 = 0; + $212$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + $214$hi = i64toi32_i32$1; + i64toi32_i32$1 = $212$hi; + i64toi32_i32$1 = $214$hi; + i64toi32_i32$1 = $212$hi; + i64toi32_i32$1 = $214$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $212$hi; + i64toi32_i32$3 = 32; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $52_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $55_1 = 0 + } else { + $55_1 = 1 + } + $56_1 = $55_1; + } else { + $56_1 = 0 + } + $52_1 = $56_1; + } + label$8 : { + if (!($52_1 & 1 | 0)) { + break label$8 + } + HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 ? -1 : 0; + break label$1; + } + i64toi32_i32$2 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0, 32 | 0, 0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($4_1 + 28 | 0) >> 2] | 0)) { + break label$9 + } + break label$1; + } + i64toi32_i32$3 = ($4_1 + 48 | 0) + 16 | 0; + i64toi32_i32$2 = HEAPU8[i64toi32_i32$3 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$3 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $217_1 = i64toi32_i32$2; + $217$hi = i64toi32_i32$1; + i64toi32_i32$3 = ((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 52 | 0) + 32 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$3 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$2 = HEAPU8[(i64toi32_i32$3 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $466$hi = i64toi32_i32$2; + i64toi32_i32$2 = $217$hi; + i64toi32_i32$2 = $466$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $217$hi; + i64toi32_i32$0 = $217_1; + label$10 : { + if (!((i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | 0)) { + break label$10 + } + HEAP32[($4_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[($4_1 + 40 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 66 | 0) >> 1] | 0) & 65535 | 0) + 24 | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 24 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + i64toi32_i32$3 = 0; + $220$hi = i64toi32_i32$3; + i64toi32_i32$2 = ((HEAPU16[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 66 | 0) >> 1] | 0) & 65535 | 0) + 24 | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + $221$hi = i64toi32_i32$3; + i64toi32_i32$3 = $220$hi; + i64toi32_i32$3 = $221$hi; + $554_1 = i64toi32_i32$2; + i64toi32_i32$3 = $220$hi; + i64toi32_i32$2 = $221$hi; + i64toi32_i32$2 = __wasm_i64_mul(((HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) + 1 | 0) - 1 | 0 | 0, i64toi32_i32$3 | 0, $554_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $222$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $223$hi = i64toi32_i32$3; + i64toi32_i32$3 = $222$hi; + i64toi32_i32$3 = $223$hi; + i64toi32_i32$3 = $222$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $223$hi; + i64toi32_i32$1 = 32; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 88 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 92 | 0) >> 2] = i64toi32_i32$5; + label$12 : { + label$13 : while (1) { + i64toi32_i32$3 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + $225_1 = i64toi32_i32$5; + $225$hi = i64toi32_i32$0; + i64toi32_i32$5 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$5 >> 31 | 0; + $226$hi = i64toi32_i32$0; + i64toi32_i32$0 = $225$hi; + i64toi32_i32$0 = $226$hi; + $569_1 = i64toi32_i32$5; + i64toi32_i32$0 = $225$hi; + i64toi32_i32$3 = $225_1; + i64toi32_i32$5 = $226$hi; + i64toi32_i32$1 = $569_1; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $227$hi = i64toi32_i32$4; + i64toi32_i32$0 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + $228$hi = i64toi32_i32$3; + i64toi32_i32$3 = $227$hi; + i64toi32_i32$3 = $228$hi; + i64toi32_i32$3 = $227$hi; + i64toi32_i32$3 = $228$hi; + $576_1 = i64toi32_i32$4; + i64toi32_i32$3 = $227$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$4 = $228$hi; + i64toi32_i32$1 = $576_1; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$4 | 0)) { + $58_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$0 >>> 0 > i64toi32_i32$1 >>> 0) { + $59_1 = 0 + } else { + $59_1 = 1 + } + $61_1 = $59_1; + } else { + $61_1 = 0 + } + $58_1 = $61_1; + } + if (!($58_1 & 1 | 0)) { + break label$12 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!(HEAP32[($4_1 + 28 | 0) >> 2] | 0)) { + break label$14 + } + break label$12; + } + label$15 : { + if ($709(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0, $4_1 + 12 | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0) { + break label$15 + } + break label$12; + } + label$16 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$16 + } + HEAP32[($4_1 + 28 | 0) >> 2] = -1; + break label$12; + } + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$0 >> 31 | 0; + $232_1 = i64toi32_i32$0; + $232$hi = i64toi32_i32$3; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + $638$hi = i64toi32_i32$0; + i64toi32_i32$0 = $232$hi; + i64toi32_i32$0 = $638$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $232$hi; + i64toi32_i32$4 = $232_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 88 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 92 | 0) >> 2] = i64toi32_i32$2; + continue label$13; + }; + } + HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 80 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + } + $42(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0); + label$17 : { + if (!(HEAP32[($4_1 + 28 | 0) >> 2] | 0)) { + break label$17 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $42(HEAP32[((HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + HEAP8[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 50 | 0) >> 0] = 0; + $710(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] = 1; + } + $203_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $203_1 | 0; + } + + function $704($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $21_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + $21_1 = HEAP32[((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = $21_1; + if (!(($21_1 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $712(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + $33_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $33_1 | 0; + } + + function $705($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $7_1 = 0, $10_1 = 0, $94_1 = 0, $13_1 = 0, $32_1 = 0, $89_1 = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $52_1 = 0, $53_1 = 0, $54_1 = 0, $55_1 = 0, $56_1 = 0, $57_1 = 0, $14_1 = 0, $17_1 = 0, $20_1 = 0, $23_1 = 0, $26_1 = 0, $33_1 = 0, $36_1 = 0, $39_1 = 0, $42_1 = 0, $45_1 = 0, $95_1 = 0, $98_1 = 0, $101_1 = 0, $104_1 = 0, $107_1 = 0, $176_1 = 0, $186_1 = 0, $196_1 = 0, $206_1 = 0, $216_1 = 0, $226_1 = 0, $238_1 = 0, $248_1 = 0, $258_1 = 0, $268_1 = 0, $278_1 = 0, $288_1 = 0, $378_1 = 0, $388_1 = 0, $398_1 = 0, $408_1 = 0, $418_1 = 0, $428_1 = 0, $127_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + $7_1 = $4_1 + 8 | 0; + $10_1 = $4_1 + 56 | 0; + HEAP32[($4_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 116 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $675(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $13_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $13_1; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $176_1 = i64toi32_i32$0; + i64toi32_i32$0 = $10_1; + $46_1 = $176_1; + HEAP8[i64toi32_i32$0 >> 0] = $46_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $46_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $46_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $46_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $14_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $14_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $186_1 = i64toi32_i32$1; + i64toi32_i32$1 = $10_1 + $14_1 | 0; + $47_1 = $186_1; + HEAP8[i64toi32_i32$1 >> 0] = $47_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $47_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $47_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $47_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $17_1 = 32; + i64toi32_i32$2 = $13_1 + $17_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $196_1 = i64toi32_i32$0; + i64toi32_i32$0 = $10_1 + $17_1 | 0; + $48_1 = $196_1; + HEAP8[i64toi32_i32$0 >> 0] = $48_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $48_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $48_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $48_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $20_1 = 24; + i64toi32_i32$2 = $13_1 + $20_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $206_1 = i64toi32_i32$1; + i64toi32_i32$1 = $10_1 + $20_1 | 0; + $49_1 = $206_1; + HEAP8[i64toi32_i32$1 >> 0] = $49_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $49_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $49_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $49_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $23_1 = 16; + i64toi32_i32$2 = $13_1 + $23_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $216_1 = i64toi32_i32$0; + i64toi32_i32$0 = $10_1 + $23_1 | 0; + $50_1 = $216_1; + HEAP8[i64toi32_i32$0 >> 0] = $50_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $50_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $50_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $50_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $26_1 = 8; + i64toi32_i32$2 = $13_1 + $26_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $226_1 = i64toi32_i32$1; + i64toi32_i32$1 = $10_1 + $26_1 | 0; + $51_1 = $226_1; + HEAP8[i64toi32_i32$1 >> 0] = $51_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $51_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $51_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $51_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $699(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0); + $32_1 = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 48 | 0; + i64toi32_i32$2 = $32_1; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $238_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + $52_1 = $238_1; + HEAP8[i64toi32_i32$0 >> 0] = $52_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $52_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $52_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $52_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $33_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $33_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $248_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + $33_1 | 0; + $53_1 = $248_1; + HEAP8[i64toi32_i32$1 >> 0] = $53_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $53_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $53_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $53_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $36_1 = 32; + i64toi32_i32$2 = $32_1 + $36_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $258_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + $36_1 | 0; + $54_1 = $258_1; + HEAP8[i64toi32_i32$0 >> 0] = $54_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $54_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $54_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $54_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $39_1 = 24; + i64toi32_i32$2 = $32_1 + $39_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $268_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + $39_1 | 0; + $55_1 = $268_1; + HEAP8[i64toi32_i32$1 >> 0] = $55_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $55_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $55_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $55_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $42_1 = 16; + i64toi32_i32$2 = $32_1 + $42_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $278_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + $42_1 | 0; + $56_1 = $278_1; + HEAP8[i64toi32_i32$0 >> 0] = $56_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $56_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $56_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $56_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $45_1 = 8; + i64toi32_i32$2 = $32_1 + $45_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $288_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + $45_1 | 0; + $57_1 = $288_1; + HEAP8[i64toi32_i32$1 >> 0] = $57_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $57_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $57_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $57_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + label$1 : { + label$2 : { + if (!($3228($10_1 | 0, $7_1 | 0, 48 | 0) | 0)) { + break label$2 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if ((HEAPU8[($4_1 + 68 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 1; + break label$1; + } + $677(1 | 0, $4_1 + 56 | 0 | 0, 40 | 0, 0 | 0, $4_1 + 108 | 0 | 0); + label$4 : { + label$5 : { + if ((HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($4_1 + 124 | 0) >> 2] = 1; + break label$1; + } + label$6 : { + if (!($3228((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 52 | 0 | 0, $4_1 + 56 | 0 | 0, 48 | 0) | 0)) { + break label$6 + } + $89_1 = $4_1 + 56 | 0; + HEAP32[(HEAP32[($4_1 + 116 | 0) >> 2] | 0) >> 2] = 1; + $94_1 = (HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 52 | 0; + i64toi32_i32$2 = $89_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $378_1 = i64toi32_i32$0; + i64toi32_i32$0 = $94_1; + HEAP32[i64toi32_i32$0 >> 2] = $378_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $95_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $95_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $388_1 = i64toi32_i32$1; + i64toi32_i32$1 = $94_1 + $95_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $388_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $98_1 = 32; + i64toi32_i32$2 = $89_1 + $98_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $398_1 = i64toi32_i32$0; + i64toi32_i32$0 = $94_1 + $98_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $398_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $101_1 = 24; + i64toi32_i32$2 = $89_1 + $101_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $408_1 = i64toi32_i32$1; + i64toi32_i32$1 = $94_1 + $101_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $408_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $104_1 = 16; + i64toi32_i32$2 = $89_1 + $104_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $418_1 = i64toi32_i32$0; + i64toi32_i32$0 = $94_1 + $104_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $418_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $107_1 = 8; + i64toi32_i32$2 = $89_1 + $107_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $428_1 = i64toi32_i32$1; + i64toi32_i32$1 = $94_1 + $107_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $428_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 36 | 0) >> 2] = (((HEAPU16[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 66 | 0) >> 1] | 0) & 65535 | 0) & 65024 | 0) + ((((HEAPU16[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 66 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) << 16 | 0) | 0; + } + HEAP32[($4_1 + 124 | 0) >> 2] = 0; + } + $127_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + global$0 = $4_1 + 128 | 0; + return $127_1 | 0; + } + + function $706($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $436_1 = 0, $26_1 = 0, $90_1 = 0, $437$hi = 0, $439$hi = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $48_1 = 0, $56_1 = 0, $92_1 = 0, $116_1 = 0, $444$hi = 0, $445$hi = 0, $446$hi = 0, $447$hi = 0, $218_1 = 0, $227_1 = 0, $449$hi = 0, $450$hi = 0, $451$hi = 0, $452$hi = 0, $350_1 = 0, $101_1 = 0, $692_1 = 0, $864_1 = 0, $1014_1 = 0, $421_1 = 0, $432_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 176 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 168 | 0) >> 2] = $0_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1 + 144 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 140 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 45 | 0) >> 0] | 0) & 255 | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $686(HEAP32[($3_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 140 | 0) >> 2] | 0 | 0, 3 - (HEAP32[($3_1 + 140 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($3_1 + 164 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($3_1 + 172 | 0) >> 2] = HEAP32[($3_1 + 164 | 0) >> 2] | 0; + break label$1; + } + $26_1 = (HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 52 | 0; + i64toi32_i32$0 = 0; + $436_1 = 0; + i64toi32_i32$1 = $26_1; + HEAP32[i64toi32_i32$1 >> 2] = $436_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $436_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $26_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $436_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $26_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $436_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $26_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $436_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $26_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $436_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $3_1 + 152 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!(HEAP32[($3_1 + 164 | 0) >> 2] | 0)) { + break label$4 + } + break label$3; + } + i64toi32_i32$0 = 0; + $437$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 156 | 0) >> 2] | 0; + $439$hi = i64toi32_i32$1; + i64toi32_i32$1 = $437$hi; + i64toi32_i32$1 = $439$hi; + i64toi32_i32$1 = $437$hi; + i64toi32_i32$1 = $439$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $437$hi; + i64toi32_i32$3 = 32; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $35_1 = 0 + } else { + $35_1 = 1 + } + $36_1 = $35_1; + } else { + $36_1 = 0 + } + $34_1 = $36_1; + } + label$5 : { + label$6 : { + if (!($34_1 & 1 | 0)) { + break label$6 + } + i64toi32_i32$2 = 0; + $48_1 = 0; + HEAP32[($3_1 + 92 | 0) >> 2] = $48_1; + HEAP32[($3_1 + 88 | 0) >> 2] = $48_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $3_1 + 96 | 0 | 0, 32 | 0, 0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($3_1 + 164 | 0) >> 2] | 0)) { + break label$7 + } + break label$3; + } + $56_1 = $3_1 + 96 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161($56_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161($56_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if (((HEAP32[($3_1 + 72 | 0) >> 2] | 0) & -2 | 0 | 0) != (931071618 | 0) & 1 | 0) { + break label$9 + } + if ((HEAP32[($3_1 + 76 | 0) >> 2] | 0) & ((HEAP32[($3_1 + 76 | 0) >> 2] | 0) - 1 | 0) | 0) { + break label$9 + } + if ((HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0) > (65536 | 0) & 1 | 0) { + break label$9 + } + if (!((HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0) < (512 | 0) & 1 | 0)) { + break label$8 + } + } + break label$5; + } + $90_1 = $3_1 + 96 | 0; + $92_1 = 0; + HEAP8[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 65 | 0) >> 0] = (HEAP32[($3_1 + 72 | 0) >> 2] | 0) & 1 | 0; + HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($3_1 + 76 | 0) >> 2] | 0; + $101_1 = $161($90_1 + 12 | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 112 | 0) >> 2] = $101_1; + i64toi32_i32$3 = $90_1 + 16 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $692_1 = i64toi32_i32$2; + i64toi32_i32$2 = ((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 52 | 0) + 32 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $692_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + $116_1 = 24; + $677(((HEAPU8[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 65 | 0) >> 0] | 0) & 255 | 0 | 0) == ((((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $116_1 | 0) >> $116_1 | 0 | 0) == ($92_1 | 0) & 1 | 0 | 0) & 1 | 0 | 0, $90_1 | 0, 24 | 0, $92_1 | 0, ((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 52 | 0) + 24 | 0 | 0); + label$10 : { + label$11 : { + if ((HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) != ($161($90_1 + 24 | 0 | 0) | 0 | 0) & 1 | 0) { + break label$11 + } + if (!((HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) != ($161(($3_1 + 96 | 0) + 28 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + } + break label$5; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161(($3_1 + 96 | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) != (3007e3 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $96(60854 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + HEAP32[($3_1 + 84 | 0) >> 2] = (HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 32768 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if ((HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$13 + } + HEAP32[($3_1 + 164 | 0) >> 2] = 7; + break label$3; + } + HEAP32[($3_1 + 80 | 0) >> 2] = (HEAP32[($3_1 + 88 | 0) >> 2] | 0) + 24 | 0; + HEAP32[($3_1 + 92 | 0) >> 2] = (HEAP32[($3_1 + 80 | 0) >> 2] | 0) + (HEAP32[($3_1 + 76 | 0) >> 2] | 0) | 0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 156 | 0) >> 2] | 0; + $444$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $445$hi = i64toi32_i32$2; + i64toi32_i32$2 = $444$hi; + i64toi32_i32$2 = $445$hi; + i64toi32_i32$2 = $444$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $445$hi; + i64toi32_i32$0 = 32; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $446$hi = i64toi32_i32$5; + i64toi32_i32$3 = HEAP32[($3_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $447$hi = i64toi32_i32$5; + i64toi32_i32$5 = $446$hi; + i64toi32_i32$5 = $447$hi; + $864_1 = i64toi32_i32$3; + i64toi32_i32$5 = $446$hi; + i64toi32_i32$3 = $447$hi; + i64toi32_i32$3 = __wasm_i64_sdiv(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, $864_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + HEAP32[($3_1 + 56 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($3_1 + 60 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($3_1 + 60 | 0) >> 2] | 0) >>> 0 <= ($691(HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0)) { + break label$14 + } + label$16 : { + label$17 : { + if (!((HEAP32[($3_1 + 56 | 0) >> 2] | 0) >>> 0 < (((HEAP32[($3_1 + 60 | 0) >> 2] | 0) << 12 | 0) + 4062 | 0) >>> 0 & 1 | 0)) { + break label$17 + } + $218_1 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + break label$16; + } + $218_1 = ((HEAP32[($3_1 + 60 | 0) >> 2] | 0) << 12 | 0) + 4062 | 0; + } + HEAP32[($3_1 + 44 | 0) >> 2] = $218_1; + label$18 : { + label$19 : { + if (HEAP32[($3_1 + 60 | 0) >> 2] | 0) { + break label$19 + } + $227_1 = 0; + break label$18; + } + $227_1 = (((HEAP32[($3_1 + 60 | 0) >> 2] | 0) - 1 | 0) << 12 | 0) + 4062 | 0; + } + HEAP32[($3_1 + 40 | 0) >> 2] = $227_1 + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $704(HEAP32[($3_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, $3_1 + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!(HEAP32[($3_1 + 164 | 0) >> 2] | 0)) { + break label$20 + } + break label$14; + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 60 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($3_1 + 92 | 0) >> 2] | 0; + HEAP32[($3_1 + 48 | 0) >> 2] = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + label$21 : { + label$22 : while (1) { + if (!((HEAP32[($3_1 + 48 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($3_1 + 44 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$21 + } + i64toi32_i32$5 = 0; + $449$hi = i64toi32_i32$5; + i64toi32_i32$3 = (HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $450$hi = i64toi32_i32$5; + i64toi32_i32$5 = $449$hi; + i64toi32_i32$5 = $450$hi; + $1014_1 = i64toi32_i32$3; + i64toi32_i32$5 = $449$hi; + i64toi32_i32$3 = $450$hi; + i64toi32_i32$3 = __wasm_i64_mul((HEAP32[($3_1 + 48 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$5 | 0, $1014_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $451$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $452$hi = i64toi32_i32$5; + i64toi32_i32$5 = $451$hi; + i64toi32_i32$5 = $452$hi; + i64toi32_i32$5 = $451$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $452$hi; + i64toi32_i32$0 = 32; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 28 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$5 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 84 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!(HEAP32[($3_1 + 164 | 0) >> 2] | 0)) { + break label$23 + } + break label$21; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $709(HEAP32[($3_1 + 168 | 0) >> 2] | 0 | 0, $3_1 + 20 | 0 | 0, $3_1 + 16 | 0 | 0, HEAP32[($3_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (HEAP32[($3_1 + 64 | 0) >> 2] | 0) { + break label$24 + } + break label$21; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $682(HEAP32[($3_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + if (!(HEAP32[($3_1 + 164 | 0) >> 2] | 0)) { + break label$25 + } + break label$21; + } + label$26 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$26 + } + HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP16[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 66 | 0) >> 1] = (HEAP32[($3_1 + 76 | 0) >> 2] | 0) & 65280 | 0 | ((HEAP32[($3_1 + 76 | 0) >> 2] | 0) >> 16 | 0) | 0; + HEAP32[($3_1 + 144 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + HEAP32[($3_1 + 148 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 48 | 0) >> 2] = (HEAP32[($3_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$22; + }; + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 60 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[($3_1 + 60 | 0) >> 2] | 0 ? 0 : 136; + HEAP32[($3_1 + 32 | 0) >> 2] = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) >>> 2 | 0; + $3288((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, (HEAP32[($3_1 + 92 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, 32768 - (HEAP32[($3_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0; + label$27 : { + if (!((HEAP32[($3_1 + 48 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($3_1 + 44 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$27 + } + break label$14; + } + HEAP32[($3_1 + 60 | 0) >> 2] = (HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + $42(HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0); + } + } + label$28 : { + if (HEAP32[($3_1 + 164 | 0) >> 2] | 0) { + break label$28 + } + $350_1 = 0; + HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[($3_1 + 144 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 80 | 0) >> 2] = HEAP32[($3_1 + 148 | 0) >> 2] | 0; + $683(HEAP32[($3_1 + 168 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $685(HEAP32[($3_1 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = $350_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $350_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 1; + label$29 : { + label$30 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (5 | 0) & 1 | 0)) { + break label$29 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $686(HEAP32[($3_1 + 168 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 3 | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$31 : { + label$32 : { + if (HEAP32[($3_1 + 164 | 0) >> 2] | 0) { + break label$32 + } + label$33 : { + label$34 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$34 + } + if (!(HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0)) { + break label$34 + } + HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + break label$33; + } + HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + } + $688(HEAP32[($3_1 + 168 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 3 | 0 | 0, 1 | 0); + break label$31; + } + label$35 : { + if (!((HEAP32[($3_1 + 164 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$35 + } + break label$3; + } + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$30; + }; + } + label$36 : { + if (!(HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0)) { + break label$36 + } + $421_1 = HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = $421_1; + $82(283 | 0, 4732 | 0, $3_1 | 0); + } + } + } + $688(HEAP32[($3_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 140 | 0) >> 2] | 0 | 0, 3 - (HEAP32[($3_1 + 140 | 0) >> 2] | 0) | 0 | 0); + HEAP32[($3_1 + 172 | 0) >> 2] = HEAP32[($3_1 + 164 | 0) >> 2] | 0; + } + $432_1 = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + global$0 = $3_1 + 176 | 0; + return $432_1 | 0; + } + + function $707($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0) { + break label$2 + } + if (!((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 50 | 0) >> 0] | 0) & 255 | 0)) { + break label$1 + } + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $42(HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$5 + } + $713(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $708($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $16_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + $16_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 28 | 0) >> 2] | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + global$0 = $7_1 + 32 | 0; + return $16_1 | 0; + } + + function $709($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $92$hi = 0, $35_1 = 0, $92_1 = 0, $136$hi = 0, $87_1 = 0, $89_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 16 | 0) >> 2] = ((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 52 | 0) + 24 | 0; + i64toi32_i32$2 = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $92_1 = i64toi32_i32$0; + $92$hi = i64toi32_i32$1; + i64toi32_i32$2 = ((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 52 | 0) + 32 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $136$hi = i64toi32_i32$0; + i64toi32_i32$0 = $92$hi; + i64toi32_i32$0 = $136$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $92$hi; + label$1 : { + label$2 : { + if (!((i64toi32_i32$2 | 0) != ($92_1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0)) { + break label$2 + } + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($7_1 + 12 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $35_1 = 24; + HEAP32[($7_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 65 | 0) >> 0] | 0) & 255 | 0 | 0) == ((((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $35_1 | 0) >> $35_1 | 0 | 0) == (0 | 0) & 1 | 0 | 0) & 1 | 0; + $677(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, 8 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + $677(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + label$4 : { + label$5 : { + if ((HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($161((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 16 | 0 | 0) | 0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != ($161((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 20 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $87_1 = $161((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] = $87_1; + HEAP32[($7_1 + 44 | 0) >> 2] = 1; + } + $89_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $89_1 | 0; + } + + function $710($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0, $20_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $714(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $8_1 = 16; + label$1 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + $20_1 = 16; + $689(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, (((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $20_1 | 0) >> $20_1 | 0) + 3 | 0 | 0); + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] = 65535; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $711($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 12 | 0) >> 2] | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $712($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $122_1 = 0, $66_1 = 0, $144_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0) << 2 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $45(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 7; + break label$1; + } + $3289((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, 0 | 0, (((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0) << 2 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$1 = 0; + $66_1 = $114(32768 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $66_1; + label$6 : { + if ((HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + } + break label$4; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $708(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, 32768 | 0, (HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$8 + } + label$9 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + if (!($176(600 | 0) | 0)) { + break label$9 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + } + break label$7; + } + label$10 : { + if (!(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) & 255 | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$10 + } + $122_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP8[($122_1 + 46 | 0) >> 0] = (HEAPU8[($122_1 + 46 | 0) >> 0] | 0) & 255 | 0 | 2 | 0; + label$11 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + } + } + } + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + $144_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $144_1 | 0; + } + + function $713($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $10_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $714($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $14_1 = 0; + $15_1 = 0; + $688(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $15_1 | 0, 1 | 0); + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 0] = $14_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = $15_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 47 | 0) >> 0] = $14_1; + } + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $715($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : while (1) { + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $716(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $16_1 = 0; + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = (FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 176 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 180 | 0) >> 2] | 0) | 0 | 0) != (0 | 0); + } + if ($16_1 & 1 | 0) { + continue label$1 + } + break label$1; + }; + $29_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $29_1 | 0; + } + + function $716($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0, $57_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) < (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$1 + } + } + label$3 : { + label$4 : { + if (!((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + $31_1 = 0; + break label$3; + } + $31_1 = $717(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = $31_1; + label$5 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + if (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (5 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$5 + } + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 17 | 0) >> 0] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + } + $57_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $57_1 | 0; + } + + function $717($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $10_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $718($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) & ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 33 | 0) >> 0] | 0) & 255 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68496 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $19_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $19_1 | 0; + } + + function $719($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $36_1 = 0, $40_1 = 0, $43_1 = 0, $79_1 = 0, $83_1 = 0, $117_1 = 0, $124_1 = 0, $134_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 33 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!(($15(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : while (1) { + $36_1 = 0; + label$5 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $40_1 = 16; + $43_1 = 1; + label$6 : { + if (((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 30 | 0) >> 1] | 0) << $40_1 | 0) >> $40_1 | 0) { + break label$6 + } + $43_1 = (((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0 | 0) != (0 | 0); + } + $36_1 = $43_1; + } + label$7 : { + if (!($36_1 & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$4; + } + break label$4; + }; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + label$8 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$9 : while (1) { + $79_1 = 0; + label$10 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $83_1 = 16; + $79_1 = (((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 30 | 0) >> 1] | 0) << $83_1 | 0) >> $83_1 | 0 | 0) != (0 | 0); + } + label$11 : { + if (!($79_1 & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$9; + } + break label$9; + }; + } + label$12 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$13 + } + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + break label$1; + } + } + } + $117_1 = 0; + $124_1 = FUNCTION_TABLE[HEAP32[(0 + 68496 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0, 2) | 0; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = $124_1; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) == ($117_1 | 0) & 1 | 0 ? 7 : $117_1; + } + $134_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $134_1 | 0; + } + + function $720($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $20_1 = 0, $22_1 = 0, $24_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $724(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $20_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $22_1 = 1; + HEAP32[($20_1 + 12 | 0) >> 2] = (HEAP32[($20_1 + 12 | 0) >> 2] | 0) + $22_1 | 0; + $24_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($24_1 + 30 | 0) >> 1] = (HEAPU16[($24_1 + 30 | 0) >> 1] | 0) + $22_1 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $28_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $28_1 | 0; + } + + function $721($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $16_1 = 0, $17_1 = 0, $4_1 = 0, $85$hi = 0, $86$hi = 0, $89_1 = 0, $76_1 = 0, $78_1 = 0, $192_1 = 0, $195_1 = 0, $280_1 = 0, $290_1 = 0, $82_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 32 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $678(HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, $3_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($3_1 + 32 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + break label$1; + } + } + label$4 : { + label$5 : { + if (!(HEAP32[($3_1 + 28 | 0) >> 2] | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $725(HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + i64toi32_i32$0 = 0; + $85$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $86$hi = i64toi32_i32$0; + i64toi32_i32$0 = $85$hi; + i64toi32_i32$0 = $86$hi; + $192_1 = i64toi32_i32$1; + i64toi32_i32$0 = $85$hi; + i64toi32_i32$1 = $86$hi; + i64toi32_i32$1 = __wasm_i64_mul((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$0 | 0, $192_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $195_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $195_1; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) == (522 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 32 | 0) >> 2] = 0; + } + } + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if (!(HEAP32[($3_1 + 32 | 0) >> 2] | 0)) { + break label$9 + } + i64toi32_i32$1 = -1; + $89_1 = -1; + i64toi32_i32$0 = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 104 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $89_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = i64toi32_i32$0 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $89_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$8; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 24 | 0; + $76_1 = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 104 | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $280_1 = i64toi32_i32$1; + i64toi32_i32$1 = $76_1; + $16_1 = $280_1; + HEAP8[i64toi32_i32$1 >> 0] = $16_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $16_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $16_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $16_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $78_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $78_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $290_1 = i64toi32_i32$0; + i64toi32_i32$0 = $76_1 + $78_1 | 0; + $17_1 = $290_1; + HEAP8[i64toi32_i32$0 >> 0] = $17_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $17_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $17_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $17_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + } + } + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + } + $82_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $82_1 | 0; + } + + function $722($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$1 + } + $660(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0); + } + $16_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($16_1 + 12 | 0) >> 2] = (HEAP32[($16_1 + 12 | 0) >> 2] | 0) + -1 | 0; + FUNCTION_TABLE[HEAP32[(0 + 68500 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0, HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0, 1); + global$0 = $3_1 + 16 | 0; + return; + } + + function $723($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if ($630(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) | 0) { + break label$1 + } + $640(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $724($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $9_1 = 0, $38_1 = 0, $11_1 = 0, $35_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $11_1 = (HEAP32[$5_1 >> 2] | 0) + 16 | 0; + i64toi32_i32$0 = 0; + $38_1 = 0; + i64toi32_i32$1 = $11_1; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $11_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[$5_1 >> 2] | 0) + 40 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0; + $9_1 = 0; + HEAP8[i64toi32_i32$1 >> 0] = $9_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $9_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $9_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $9_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 28 | 0) >> 1] = 1; + $35_1 = $720(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $35_1 | 0; + } + + function $725($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $50$hi = 0, $45$hi = 0, $46$hi = 0, $47$hi = 0, $48$hi = 0, i64toi32_i32$2 = 0, $49$hi = 0, $39_1 = 0, $110_1 = 0, $29_1 = 0, $30_1 = 0, $42_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAPU16[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 66 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) & 65024 | 0) + (((HEAP32[($6_1 + 12 | 0) >> 2] | 0) & 1 | 0) << 16 | 0) | 0; + i64toi32_i32$0 = 0; + $45$hi = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $46$hi = i64toi32_i32$0; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $46$hi; + $110_1 = i64toi32_i32$1; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = __wasm_i64_mul((HEAP32[($6_1 + 24 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$0 | 0, $110_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $47$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $48$hi = i64toi32_i32$0; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $49$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $50$hi = i64toi32_i32$5; + i64toi32_i32$5 = $49$hi; + i64toi32_i32$5 = $50$hi; + i64toi32_i32$5 = $49$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$3 = 24; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + $50$hi | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $6_1; + HEAP32[$6_1 >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$4; + $29_1 = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $30_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $39_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $39_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + i64toi32_i32$5 = $6_1; + i64toi32_i32$4 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $42_1 = $628($29_1 | 0, $30_1 | 0, $39_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0) | 0; + global$0 = $6_1 + 32 | 0; + return $42_1 | 0; + } + + function $726($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $238$hi = 0, $7_1 = 0, $240$hi = 0, $101_1 = 0, $139_1 = 0, $232_1 = 0, $99_1 = 0, $235_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $729(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + label$3 : { + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!($730(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + $622(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + break label$4; + } + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = 0; + $238$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $240$hi = i64toi32_i32$1; + i64toi32_i32$1 = $238$hi; + i64toi32_i32$1 = $240$hi; + i64toi32_i32$1 = $238$hi; + i64toi32_i32$1 = $240$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $238$hi; + label$8 : { + label$9 : { + if (!(((i64toi32_i32$2 | 0) == (0 | 0) & (i64toi32_i32$1 | 0) == ($238$hi | 0) | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + break label$8; + } + i64toi32_i32$2 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $188(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$10 + } + if (!((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + i64toi32_i32$2 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$2; + break label$6; + } + label$11 : { + label$12 : { + label$13 : { + if (((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0) { + break label$13 + } + if (!((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0)) { + break label$12 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$12 + } + } + $99_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $101_1 = 1; + label$14 : { + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$14 + } + $101_1 = ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + i64toi32_i32$2 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $731($99_1 | 0, $101_1 & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$2; + break label$11; + } + HEAP32[($5_1 + 4 | 0) >> 2] = (((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0) & 1 | 0; + $622(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + label$15 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$15 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $732(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + } + $139_1 = 0; + $521(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] = $139_1; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = $139_1; + label$16 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$16 + } + label$17 : { + label$18 : { + label$19 : { + if ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0) & 255 | 0) { + break label$19 + } + if (!($177(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$18 + } + } + $181(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0); + break label$17; + } + $733(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0); + } + $734(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + label$20 : { + label$21 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $714(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + break label$20; + } + label$22 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$22 + } + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$22 + } + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $186(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + label$23 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$23 + } + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$23 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $189(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, 22 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (12 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + } + label$25 : { + if (((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$25 + } + label$26 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + if (!($735(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { + break label$25 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $736(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] = 1; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 19 | 0) >> 0] = 0; + label$27 : { + label$28 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$28 + } + $232_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + break label$27; + } + $232_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = $232_1; + } + $235_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $235_1 | 0; + } + + function $727($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $18_1 = 0, $93_1 = 0, i64toi32_i32$0 = 0, $106_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = 1; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == ($18_1 | 0) & 1 | 0 ? 0 : $18_1) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $521(HEAP32[(((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 48) | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!($730(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $188(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + } + break label$4; + } + label$8 : { + label$9 : { + if ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + } + label$10 : { + label$11 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$11 + } + $93_1 = 0; + break label$10; + } + $93_1 = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 8 | 0) >> 2] | 0) - 1 | 0, 48) | 0; + } + HEAP32[($5_1 + 4 | 0) >> 2] = $93_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $737(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + } + $106_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $106_1 | 0; + } + + function $728($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $38_1 = 0, $39_1 = 0, $8_1 = 0, i64toi32_i32$6 = 0, $242$hi = 0, $243$hi = 0, $251$hi = 0, $252$hi = 0, $32_1 = 0, $235$hi = 0, $236$hi = 0, $237$hi = 0, $238$hi = 0, $240$hi = 0, $241$hi = 0, $246$hi = 0, $247$hi = 0, $248$hi = 0, $249$hi = 0, $122_1 = 0, $195_1 = 0, $199_1 = 0, $211_1 = 0, $450_1 = 0, $483_1 = 0, $246_1 = 0, $497_1 = 0, $510_1 = 0, $623_1 = 0, $224_1 = 0, $230_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + $8_1 = 0; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $8_1; + HEAP32[($4_1 + 36 | 0) >> 2] = 1; + HEAP32[($4_1 + 32 | 0) >> 2] = $8_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, $4_1 + 56 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 40 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $738(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$3 + } + $32_1 = 24; + if (!(((HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $739(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0, $4_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + label$4 : { + label$5 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$5 + } + if (HEAP32[($4_1 + 36 | 0) >> 2] | 0) { + break label$4 + } + } + break label$1; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + label$6 : while (1) { + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $740(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $4_1 + 52 | 0 | 0, $4_1 + 44 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($4_1 + 40 | 0) >> 2] | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 40 | 0) >> 2] = 0; + } + break label$1; + } + label$9 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $235$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $236$hi = i64toi32_i32$0; + i64toi32_i32$0 = $235$hi; + i64toi32_i32$0 = $236$hi; + i64toi32_i32$0 = $235$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $236$hi; + i64toi32_i32$3 = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $237$hi = i64toi32_i32$5; + i64toi32_i32$2 = (HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $238$hi = i64toi32_i32$5; + i64toi32_i32$5 = $237$hi; + i64toi32_i32$5 = $238$hi; + $450_1 = i64toi32_i32$2; + i64toi32_i32$5 = $237$hi; + i64toi32_i32$2 = $238$hi; + i64toi32_i32$2 = __wasm_i64_sdiv(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, $450_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$2; + } + label$10 : { + if (HEAP32[($4_1 + 52 | 0) >> 2] | 0) { + break label$10 + } + if (HEAP32[($4_1 + 72 | 0) >> 2] | 0) { + break label$10 + } + i64toi32_i32$0 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 84 | 0) >> 2] | 0; + $240$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $241$hi = i64toi32_i32$2; + i64toi32_i32$2 = $240$hi; + i64toi32_i32$2 = $241$hi; + i64toi32_i32$2 = $240$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $241$hi; + i64toi32_i32$3 = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $242$hi = i64toi32_i32$4; + i64toi32_i32$2 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $243$hi = i64toi32_i32$0; + i64toi32_i32$0 = $242$hi; + i64toi32_i32$0 = $243$hi; + i64toi32_i32$0 = $242$hi; + i64toi32_i32$0 = $243$hi; + $483_1 = i64toi32_i32$4; + i64toi32_i32$0 = $242$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$4 = $243$hi; + i64toi32_i32$3 = $483_1; + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $246_1 = i64toi32_i32$2; + $246$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $247$hi = i64toi32_i32$2; + i64toi32_i32$2 = $246$hi; + i64toi32_i32$2 = $247$hi; + $497_1 = i64toi32_i32$0; + i64toi32_i32$2 = $246$hi; + i64toi32_i32$3 = $246_1; + i64toi32_i32$0 = $247$hi; + i64toi32_i32$4 = $497_1; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + $248$hi = i64toi32_i32$1; + i64toi32_i32$3 = (HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $249$hi = i64toi32_i32$1; + i64toi32_i32$1 = $248$hi; + i64toi32_i32$1 = $249$hi; + $510_1 = i64toi32_i32$3; + i64toi32_i32$1 = $248$hi; + i64toi32_i32$3 = $249$hi; + i64toi32_i32$3 = __wasm_i64_sdiv(i64toi32_i32$5 | 0, i64toi32_i32$1 | 0, $510_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$3; + } + i64toi32_i32$2 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $251$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $252$hi = i64toi32_i32$3; + i64toi32_i32$3 = $251$hi; + i64toi32_i32$3 = $252$hi; + i64toi32_i32$3 = $251$hi; + i64toi32_i32$3 = $252$hi; + i64toi32_i32$3 = $251$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $252$hi; + i64toi32_i32$4 = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0; + label$11 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$4 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $186(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($4_1 + 40 | 0) >> 2] | 0)) { + break label$12 + } + break label$1; + } + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 52 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$13 + } + label$15 : { + if (!(HEAP32[($4_1 + 28 | 0) >> 2] | 0)) { + break label$15 + } + $632(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $122_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $741(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 72 | 0 | 0, $122_1 | 0, 1 | 0, $122_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + label$17 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$17 + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + break label$16; + } + label$18 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$18 + } + i64toi32_i32$4 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $623_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = $623_1; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$3; + break label$13; + } + label$19 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (522 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($4_1 + 40 | 0) >> 2] = 0; + break label$1; + } + break label$1; + } + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + continue label$6; + }; + } + label$20 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$20 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $515(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, $4_1 + 20 | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + HEAP8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0; + label$21 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$21 + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0) + 4 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $738(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$22 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$22 + } + label$23 : { + if (((HEAPU8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) >= (4 | 0) & 1 | 0) { + break label$23 + } + if ((HEAPU8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$22 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $149(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$24 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$24 + } + $195_1 = 0; + $199_1 = 24; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $726(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, (((HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $199_1 | 0) >> $199_1 | 0 | 0) != ($195_1 | 0) & 1 | 0 | 0, $195_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$25 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$25 + } + $211_1 = 24; + if (!(((HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $211_1 | 0) >> $211_1 | 0)) { + break label$25 + } + if (!(HEAP32[($4_1 + 36 | 0) >> 2] | 0)) { + break label$25 + } + $38_1 = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + -4 | 0; + $39_1 = 0; + HEAP8[$38_1 >> 0] = $39_1; + HEAP8[($38_1 + 1 | 0) >> 0] = $39_1 >>> 8 | 0; + HEAP8[($38_1 + 2 | 0) >> 0] = $39_1 >>> 16 | 0; + HEAP8[($38_1 + 3 | 0) >> 0] = $39_1 >>> 24 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $742(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$26 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$26 + } + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$26 + } + $224_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $224_1; + $82(539 | 0, 4824 | 0, $4_1 | 0); + } + $620(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + $230_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $230_1 | 0; + } + + function $729($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $38_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $521(HEAP32[(((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 48) | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!($730(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + } + $622(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0); + } + $38_1 = 0; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 92 | 0) >> 2] = $38_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] = $38_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = $38_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $730($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4656 | 0) & 1 | 0 | 0; + } + + function $731($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $61$hi = 0, $66$hi = 0, $72$hi = 0, $76$hi = 0, $77$hi = 0, $63$hi = 0, $68$hi = 0, $74$hi = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $24_1 = 0, $111_1 = 0, $76_1 = 0, $221_1 = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $61$hi = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $63$hi = i64toi32_i32$1; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$3 = 0; + label$1 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 160 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 164 | 0) >> 2] | 0; + $111_1 = i64toi32_i32$2; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $111_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + label$2 : { + label$3 : { + label$4 : { + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$1 = 0; + $66$hi = i64toi32_i32$1; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $68$hi = i64toi32_i32$2; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$2 = $68$hi; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$2 = $68$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $66$hi; + i64toi32_i32$0 = 0; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$3 + } + } + i64toi32_i32$3 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $188(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + i64toi32_i32$3 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, 4864 | 0, 28 | 0, 0 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$5 + } + if (((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$3 = 0; + $72$hi = i64toi32_i32$3; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $74$hi = i64toi32_i32$2; + i64toi32_i32$2 = $72$hi; + i64toi32_i32$2 = $74$hi; + i64toi32_i32$2 = $72$hi; + i64toi32_i32$2 = $74$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $72$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$3 | 0)) { + $19_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$1 >>> 0) { + $20_1 = 0 + } else { + $20_1 = 1 + } + $21_1 = $20_1; + } else { + $21_1 = 0 + } + $19_1 = $21_1; + } + if (!($19_1 & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$7 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $76_1 = i64toi32_i32$0; + $76$hi = i64toi32_i32$2; + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $77$hi = i64toi32_i32$0; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $77$hi; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $77$hi; + $221_1 = i64toi32_i32$2; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$1 = $76_1; + i64toi32_i32$2 = $77$hi; + i64toi32_i32$3 = $221_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { + $22_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $23_1 = 0 + } else { + $23_1 = 1 + } + $24_1 = $23_1; + } else { + $24_1 = 0 + } + $22_1 = $24_1; + } + if (!($22_1 & 1 | 0)) { + break label$7 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $188(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + } + } + $58_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $58_1 | 0; + } + + function $732($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $11_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $11_1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 12 | 0) >> 2] | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $11_1 | 0; + } + + function $733($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($13_1 + 28 | 0) >> 1] = ((HEAPU16[($13_1 + 28 | 0) >> 1] | 0) & 65535 | 0) & -13 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + return; + } + + function $734($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 > (HEAP32[($4_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + $644(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + continue label$3; + }; + } + label$5 : { + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$5 + } + if (!(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$5 + } + $37_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68496 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0, 1, $37_1) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != ($37_1 | 0) & 1 | 0)) { + break label$6 + } + $3289(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = 1; + } + } + FUNCTION_TABLE[HEAP32[(0 + 68508 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0); + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $735($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $46_1 = 0, $62_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + label$4 : { + if (!((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] = 0; + $15_1 = 16; + label$5 : { + if (!($702(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $15_1 | 0) >> $15_1 | 0) + 3 | 0 | 0) | 0)) { + break label$5 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] = 1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0) & 1 | 0; + break label$3; + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + } + break label$1; + } + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$7 + } + $46_1 = 16; + $689(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $46_1 | 0) >> $46_1 | 0) + 3 | 0 | 0); + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] = 1; + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + break label$6; + } + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0) & 1 | 0; + } + } + $62_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $62_1 | 0; + } + + function $736($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $19_1 = 0, $40_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + $19_1 = 0; + break label$2; + } + $19_1 = $760(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = $19_1; + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 17 | 0) >> 0] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0; + $40_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $40_1 | 0; + } + + function $737($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, $5_1 = 0, $216$hi = 0, $225$hi = 0, $226$hi = 0, $230$hi = 0, $231$hi = 0, $237$hi = 0, $238$hi = 0, $132_1 = 0, $246$hi = 0, $247$hi = 0, $32_1 = 0, $218$hi = 0, $221_1 = 0, $221$hi = 0, $82_1 = 0, $54_1 = 0, $55_1 = 0, $56_1 = 0, $88_1 = 0, $98_1 = 0, $57_1 = 0, $58_1 = 0, $59_1 = 0, $104_1 = 0, $235$hi = 0, $236$hi = 0, $241$hi = 0, $242$hi = 0, $243$hi = 0, $244$hi = 0, $60_1 = 0, $61_1 = 0, $62_1 = 0, $146_1 = 0, $250$hi = 0, $251$hi = 0, $189_1 = 0, $371_1 = 0, $429_1 = 0, $225_1 = 0, $443_1 = 0, $230_1 = 0, $486_1 = 0, $541_1 = 0, $241_1 = 0, $555_1 = 0, $568_1 = 0, $246_1 = 0, $604_1 = 0, $667_1 = 0, $670_1 = 0, $758_1 = 0, $212_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $516(HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 7; + break label$1; + } + } + label$4 : { + label$5 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $32_1 = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + break label$4; + } + $32_1 = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] = $32_1; + HEAP8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0; + label$6 : { + if ((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $743(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $371_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $371_1; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$1; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + if ((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + i64toi32_i32$1 = 0; + $216$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $218$hi = i64toi32_i32$0; + i64toi32_i32$0 = $216$hi; + i64toi32_i32$0 = $218$hi; + i64toi32_i32$0 = $216$hi; + i64toi32_i32$0 = $218$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $216$hi; + i64toi32_i32$3 = 0; + label$9 : { + label$10 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$3 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $221_1 = i64toi32_i32$2; + $221$hi = i64toi32_i32$0; + break label$9; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $221_1 = i64toi32_i32$0; + $221$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $221$hi; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $221_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $429_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = $429_1; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$0; + label$11 : while (1) { + $82_1 = 0; + label$12 : { + if (HEAP32[($4_1 + 28 | 0) >> 2] | 0) { + break label$12 + } + i64toi32_i32$3 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $225_1 = i64toi32_i32$0; + $225$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $226$hi = i64toi32_i32$0; + i64toi32_i32$0 = $225$hi; + i64toi32_i32$0 = $226$hi; + i64toi32_i32$0 = $225$hi; + i64toi32_i32$0 = $226$hi; + $443_1 = i64toi32_i32$2; + i64toi32_i32$0 = $225$hi; + i64toi32_i32$3 = $225_1; + i64toi32_i32$2 = $226$hi; + i64toi32_i32$1 = $443_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$2 | 0)) { + $54_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $55_1 = 0 + } else { + $55_1 = 1 + } + $56_1 = $55_1; + } else { + $56_1 = 0 + } + $54_1 = $56_1; + } + $82_1 = $54_1; + } + label$13 : { + if (!($82_1 & 1 | 0)) { + break label$13 + } + $88_1 = 1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $741(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 72 | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $88_1 | 0, $88_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + continue label$11; + } + break label$11; + }; + break label$7; + } + i64toi32_i32$3 = 0; + i64toi32_i32$0 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] = i64toi32_i32$3; + } + label$14 : while (1) { + $98_1 = 0; + label$15 : { + if (HEAP32[($4_1 + 28 | 0) >> 2] | 0) { + break label$15 + } + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] | 0; + $230_1 = i64toi32_i32$3; + $230$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $231$hi = i64toi32_i32$3; + i64toi32_i32$3 = $230$hi; + i64toi32_i32$3 = $231$hi; + i64toi32_i32$3 = $230$hi; + i64toi32_i32$3 = $231$hi; + $486_1 = i64toi32_i32$0; + i64toi32_i32$3 = $230$hi; + i64toi32_i32$1 = $230_1; + i64toi32_i32$0 = $231$hi; + i64toi32_i32$2 = $486_1; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$0 | 0)) { + $57_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$2 >>> 0) { + $58_1 = 0 + } else { + $58_1 = 1 + } + $59_1 = $58_1; + } else { + $59_1 = 0 + } + $57_1 = $59_1; + } + $98_1 = $57_1; + } + label$16 : { + if (!($98_1 & 1 | 0)) { + break label$16 + } + $104_1 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $104_1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $740(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, $104_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$3 | 0, $4_1 + 16 | 0 | 0, $4_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$17 + } + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 84 | 0) >> 2] | 0; + $235$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $236$hi = i64toi32_i32$1; + i64toi32_i32$1 = $235$hi; + i64toi32_i32$1 = $236$hi; + i64toi32_i32$1 = $235$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $236$hi; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $237$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] | 0; + $238$hi = i64toi32_i32$2; + i64toi32_i32$2 = $237$hi; + i64toi32_i32$2 = $238$hi; + i64toi32_i32$2 = $237$hi; + i64toi32_i32$2 = $238$hi; + $541_1 = i64toi32_i32$5; + i64toi32_i32$2 = $237$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$5 = $238$hi; + i64toi32_i32$0 = $541_1; + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$17 + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $241_1 = i64toi32_i32$1; + $241$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] | 0; + $242$hi = i64toi32_i32$1; + i64toi32_i32$1 = $241$hi; + i64toi32_i32$1 = $242$hi; + $555_1 = i64toi32_i32$2; + i64toi32_i32$1 = $241$hi; + i64toi32_i32$0 = $241_1; + i64toi32_i32$2 = $242$hi; + i64toi32_i32$5 = $555_1; + i64toi32_i32$3 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$4 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$4 | 0; + $243$hi = i64toi32_i32$4; + i64toi32_i32$0 = (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $244$hi = i64toi32_i32$4; + i64toi32_i32$4 = $243$hi; + i64toi32_i32$4 = $244$hi; + $568_1 = i64toi32_i32$0; + i64toi32_i32$4 = $243$hi; + i64toi32_i32$0 = $244$hi; + i64toi32_i32$0 = __wasm_i64_sdiv(i64toi32_i32$3 | 0, i64toi32_i32$4 | 0, $568_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + HEAP32[($4_1 + 16 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$18 : while (1) { + $132_1 = 0; + label$19 : { + if (HEAP32[($4_1 + 28 | 0) >> 2] | 0) { + break label$19 + } + $132_1 = 0; + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$19 + } + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] | 0; + $246_1 = i64toi32_i32$4; + $246$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $247$hi = i64toi32_i32$4; + i64toi32_i32$4 = $246$hi; + i64toi32_i32$4 = $247$hi; + i64toi32_i32$4 = $246$hi; + i64toi32_i32$4 = $247$hi; + $604_1 = i64toi32_i32$0; + i64toi32_i32$4 = $246$hi; + i64toi32_i32$1 = $246_1; + i64toi32_i32$0 = $247$hi; + i64toi32_i32$5 = $604_1; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$0 | 0)) { + $60_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$5 >>> 0) { + $61_1 = 0 + } else { + $61_1 = 1 + } + $62_1 = $61_1; + } else { + $62_1 = 0 + } + $60_1 = $62_1; + } + $132_1 = $60_1; + } + label$20 : { + if (!($132_1 & 1 | 0)) { + break label$20 + } + $146_1 = 1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $741(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 72 | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $146_1 | 0, $146_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + } + break label$18; + }; + continue label$14; + } + break label$14; + }; + label$21 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + i64toi32_i32$1 = 0; + $250$hi = i64toi32_i32$1; + i64toi32_i32$4 = (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$1 = i64toi32_i32$4 >> 31 | 0; + $251$hi = i64toi32_i32$1; + i64toi32_i32$1 = $250$hi; + i64toi32_i32$1 = $251$hi; + $667_1 = i64toi32_i32$4; + i64toi32_i32$1 = $250$hi; + i64toi32_i32$4 = $251$hi; + i64toi32_i32$4 = __wasm_i64_mul(HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, $667_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $670_1 = i64toi32_i32$4; + i64toi32_i32$4 = $4_1; + HEAP32[$4_1 >> 2] = $670_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$1; + label$22 : { + if (!((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $744(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$23 : while (1) { + $189_1 = 0; + label$24 : { + if (HEAP32[($4_1 + 28 | 0) >> 2] | 0) { + break label$24 + } + $189_1 = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0; + } + label$25 : { + if (!($189_1 & 1 | 0)) { + break label$25 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $741(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, $4_1 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + } + break label$23; + }; + } + $521(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + label$26 : { + if (HEAP32[($4_1 + 28 | 0) >> 2] | 0) { + break label$26 + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $758_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = $758_1; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$4; + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + $212_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $212_1 | 0; + } + + function $738($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$6 = 0, $117$hi = 0, $124$hi = 0, $127$hi = 0, $13_1 = 0, $119$hi = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $121$hi = 0, $122$hi = 0, $27_1 = 0, $125$hi = 0, $126$hi = 0, $40_1 = 0, $41_1 = 0, $42_1 = 0, $130$hi = 0, $131$hi = 0, $51_1 = 0, $133$hi = 0, $134$hi = 0, $61_1 = 0, $136$hi = 0, $137$hi = 0, $138$hi = 0, $139$hi = 0, $140$hi = 0, $141$hi = 0, $75_1 = 0, $94_1 = 0, $105_1 = 0, $114_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP8[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 0] = 0; + $13_1 = $187(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $13_1; + label$1 : { + label$2 : { + label$3 : { + if ((0 | 0) != ($13_1 | 0) & 1 | 0) { + break label$3 + } + i64toi32_i32$0 = 0; + $117$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $119$hi = i64toi32_i32$1; + i64toi32_i32$1 = $117$hi; + i64toi32_i32$1 = $119$hi; + i64toi32_i32$1 = $117$hi; + i64toi32_i32$1 = $119$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $117$hi; + i64toi32_i32$3 = 16; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $37_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $38_1 = 0 + } else { + $38_1 = 1 + } + $39_1 = $38_1; + } else { + $39_1 = 0 + } + $37_1 = $39_1; + } + if ($37_1 & 1 | 0) { + break label$3 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $121$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $122$hi = i64toi32_i32$1; + i64toi32_i32$1 = $121$hi; + i64toi32_i32$1 = $122$hi; + i64toi32_i32$1 = $121$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $122$hi; + i64toi32_i32$0 = 16; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $27_1 = $747(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, $5_1 + 24 | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $27_1; + if ((0 | 0) != ($27_1 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$3 + } + i64toi32_i32$5 = 0; + $124$hi = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $125$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $126$hi = i64toi32_i32$3; + i64toi32_i32$3 = $125$hi; + i64toi32_i32$3 = $126$hi; + i64toi32_i32$3 = $125$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $126$hi; + i64toi32_i32$0 = 16; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + $127$hi = i64toi32_i32$4; + i64toi32_i32$4 = $124$hi; + i64toi32_i32$4 = $127$hi; + i64toi32_i32$4 = $124$hi; + i64toi32_i32$4 = $127$hi; + i64toi32_i32$4 = $124$hi; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = $127$hi; + i64toi32_i32$0 = i64toi32_i32$2; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$1 | 0)) { + $40_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $41_1 = 0 + } else { + $41_1 = 1 + } + $42_1 = $41_1; + } else { + $42_1 = 0 + } + $40_1 = $42_1; + } + if ($40_1 & 1 | 0) { + break label$3 + } + if (!(HEAP32[($5_1 + 24 | 0) >> 2] | 0)) { + break label$3 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $130$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $131$hi = i64toi32_i32$4; + i64toi32_i32$4 = $130$hi; + i64toi32_i32$4 = $131$hi; + i64toi32_i32$4 = $130$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $131$hi; + i64toi32_i32$1 = 12; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$2 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 - i64toi32_i32$2 | 0; + $51_1 = $747(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0, $5_1 + 12 | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $51_1; + if ((0 | 0) != ($51_1 | 0) & 1 | 0) { + break label$3 + } + i64toi32_i32$4 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $133$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $134$hi = i64toi32_i32$0; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $134$hi; + i64toi32_i32$1 = 8; + i64toi32_i32$3 = i64toi32_i32$4 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $61_1 = $628(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, $5_1 | 0, 8 | 0, i64toi32_i32$3 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $61_1; + if ((0 | 0) != ($61_1 | 0) & 1 | 0) { + break label$3 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAPU8[$5_1 >> 0] | 0 | ((HEAPU8[($5_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($5_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($5_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$4 = HEAPU8[($5_1 + 4 | 0) >> 0] | 0 | ((HEAPU8[($5_1 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($5_1 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($5_1 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $136$hi = i64toi32_i32$4; + i64toi32_i32$4 = -681336544; + $137$hi = i64toi32_i32$4; + i64toi32_i32$4 = $136$hi; + i64toi32_i32$4 = $137$hi; + i64toi32_i32$4 = $136$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $137$hi; + i64toi32_i32$1 = -117058087; + if ((i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$4 | 0) != (i64toi32_i32$5 | 0) | 0) { + break label$3 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $138$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $139$hi = i64toi32_i32$4; + i64toi32_i32$4 = $138$hi; + i64toi32_i32$4 = $139$hi; + i64toi32_i32$4 = $138$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$5 = 16; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$4 - i64toi32_i32$3 | 0; + $140$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $141$hi = i64toi32_i32$3; + i64toi32_i32$3 = $140$hi; + i64toi32_i32$3 = $141$hi; + i64toi32_i32$3 = $140$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$1 = $141$hi; + i64toi32_i32$5 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$2 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$3 - i64toi32_i32$2 | 0; + $75_1 = $628(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $75_1; + if (!((0 | 0) != ($75_1 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + $94_1 = 24; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) - (((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $94_1 | 0) >> $94_1 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$6 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + } + $105_1 = 0; + HEAP8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) >> 0] = $105_1; + HEAP8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = $105_1; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $114_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $114_1 | 0; + } + + function $739($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $13_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $13_1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 12 | 0) >> 2] | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0, HEAP32[$6_1 >> 2] | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $13_1 | 0; + } + + function $740($0_1, $1_1, $2_1, $2$hi, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $159$hi = 0, $160$hi = 0, $164$hi = 0, $165$hi = 0, $180$hi = 0, $157$hi = 0, $158$hi = 0, $59_1 = 0, $61_1 = 0, $63_1 = 0, $169$hi = 0, $170$hi = 0, $171$hi = 0, $172$hi = 0, $42_1 = 0, $174$hi = 0, $175$hi = 0, $54_1 = 0, $177$hi = 0, $178$hi = 0, $64_1 = 0, $182$hi = 0, $184$hi = 0, $185$hi = 0, $79_1 = 0, $187$hi = 0, $188$hi = 0, $91_1 = 0, $190$hi = 0, $151_1 = 0, $215_1 = 0, $235_1 = 0, $249_1 = 0, $164_1 = 0, $262_1 = 0, $38_1 = 0, $40_1 = 0, $48_1 = 0, $50_1 = 0, $60_1 = 0, $62_1 = 0, $75_1 = 0, $76_1 = 0, $78_1 = 0, $85_1 = 0, $88_1 = 0, $90_1 = 0, $572$hi = 0, $153_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 36 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $4_1; + i64toi32_i32$0 = $656(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $215_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] = $215_1; + HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $157$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $158$hi = i64toi32_i32$0; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$0 = $158$hi; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $158$hi; + i64toi32_i32$3 = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $159$hi = i64toi32_i32$5; + i64toi32_i32$0 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + $160$hi = i64toi32_i32$2; + i64toi32_i32$2 = $159$hi; + i64toi32_i32$2 = $160$hi; + i64toi32_i32$2 = $159$hi; + i64toi32_i32$2 = $160$hi; + $235_1 = i64toi32_i32$5; + i64toi32_i32$2 = $159$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$5 = $160$hi; + i64toi32_i32$3 = $235_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $59_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $61_1 = 0 + } else { + $61_1 = 1 + } + $63_1 = $61_1; + } else { + $63_1 = 0 + } + $59_1 = $63_1; + } + label$1 : { + label$2 : { + if (!($59_1 & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 101; + break label$1; + } + i64toi32_i32$3 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $249_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $249_1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$2; + label$3 : { + label$4 : { + if (HEAP32[($7_1 + 52 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $164_1 = i64toi32_i32$2; + $164$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 84 | 0) >> 2] | 0; + $165$hi = i64toi32_i32$2; + i64toi32_i32$2 = $164$hi; + i64toi32_i32$2 = $165$hi; + i64toi32_i32$2 = $164$hi; + i64toi32_i32$2 = $165$hi; + $262_1 = i64toi32_i32$0; + i64toi32_i32$2 = $164$hi; + i64toi32_i32$3 = $164_1; + i64toi32_i32$0 = $165$hi; + i64toi32_i32$5 = $262_1; + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$3 + } + } + i64toi32_i32$5 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, $7_1 + 20 | 0 | 0, 8 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($7_1 + 28 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$5 = $7_1 + 20 | 0; + i64toi32_i32$2 = HEAPU8[i64toi32_i32$5 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$5 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$5 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$5 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$3 = HEAPU8[(i64toi32_i32$5 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$5 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$5 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$5 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $169$hi = i64toi32_i32$3; + i64toi32_i32$3 = -681336544; + $170$hi = i64toi32_i32$3; + i64toi32_i32$3 = $169$hi; + i64toi32_i32$3 = $170$hi; + i64toi32_i32$3 = $169$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $170$hi; + i64toi32_i32$0 = -117058087; + label$6 : { + if (!((i64toi32_i32$5 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | 0)) { + break label$6 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 101; + break label$1; + } + } + $38_1 = 0; + $40_1 = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $171$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $172$hi = i64toi32_i32$3; + i64toi32_i32$3 = $171$hi; + i64toi32_i32$3 = $172$hi; + i64toi32_i32$3 = $171$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $172$hi; + i64toi32_i32$2 = 8; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $42_1 = $747($40_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $42_1; + label$7 : { + label$8 : { + if (($38_1 | 0) != ($42_1 | 0) & 1 | 0) { + break label$8 + } + $48_1 = 0; + $50_1 = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$3 = $7_1; + i64toi32_i32$4 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $174$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $175$hi = i64toi32_i32$0; + i64toi32_i32$0 = $174$hi; + i64toi32_i32$0 = $175$hi; + i64toi32_i32$0 = $174$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$4 = $175$hi; + i64toi32_i32$2 = 12; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $54_1 = $747($50_1 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0, (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 48 | 0 | 0) | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $54_1; + if (($48_1 | 0) != ($54_1 | 0) & 1 | 0) { + break label$8 + } + $60_1 = 0; + $62_1 = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $177$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $178$hi = i64toi32_i32$3; + i64toi32_i32$3 = $177$hi; + i64toi32_i32$3 = $178$hi; + i64toi32_i32$3 = $177$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $178$hi; + i64toi32_i32$2 = 16; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $64_1 = $747($62_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $64_1; + if (!(($60_1 | 0) != ($64_1 | 0) & 1 | 0)) { + break label$7 + } + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$5 = 0; + $180$hi = i64toi32_i32$5; + i64toi32_i32$3 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $182$hi = i64toi32_i32$0; + i64toi32_i32$0 = $180$hi; + i64toi32_i32$0 = $182$hi; + i64toi32_i32$0 = $180$hi; + i64toi32_i32$0 = $182$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $180$hi; + i64toi32_i32$2 = 0; + label$9 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$9 + } + $75_1 = 0; + $76_1 = $7_1; + $78_1 = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $184$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $185$hi = i64toi32_i32$0; + i64toi32_i32$0 = $184$hi; + i64toi32_i32$0 = $185$hi; + i64toi32_i32$0 = $184$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $185$hi; + i64toi32_i32$5 = 20; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $79_1 = $747($78_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0, $76_1 | 0) | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $79_1; + label$10 : { + label$11 : { + if (($75_1 | 0) != ($79_1 | 0) & 1 | 0) { + break label$11 + } + $85_1 = 0; + $88_1 = $7_1 + 4 | 0; + $90_1 = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = $7_1; + i64toi32_i32$4 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $187$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $188$hi = i64toi32_i32$2; + i64toi32_i32$2 = $187$hi; + i64toi32_i32$2 = $188$hi; + i64toi32_i32$2 = $187$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$4 = $188$hi; + i64toi32_i32$5 = 24; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $91_1 = $747($90_1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0, $88_1 | 0) | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $91_1; + if (!(($85_1 | 0) != ($91_1 | 0) & 1 | 0)) { + break label$10 + } + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + break label$1; + } + label$12 : { + if (HEAP32[($7_1 + 4 | 0) >> 2] | 0) { + break label$12 + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + } + label$13 : { + label$14 : { + if ((HEAP32[($7_1 + 4 | 0) >> 2] | 0) >>> 0 < 512 >>> 0 & 1 | 0) { + break label$14 + } + if ((HEAP32[$7_1 >> 2] | 0) >>> 0 < 32 >>> 0 & 1 | 0) { + break label$14 + } + if ((HEAP32[($7_1 + 4 | 0) >> 2] | 0) >>> 0 > 65536 >>> 0 & 1 | 0) { + break label$14 + } + if ((HEAP32[$7_1 >> 2] | 0) >>> 0 > 65536 >>> 0 & 1 | 0) { + break label$14 + } + if (((HEAP32[($7_1 + 4 | 0) >> 2] | 0) - 1 | 0) & (HEAP32[($7_1 + 4 | 0) >> 2] | 0) | 0) { + break label$14 + } + if (!(((HEAP32[$7_1 >> 2] | 0) - 1 | 0) & (HEAP32[$7_1 >> 2] | 0) | 0)) { + break label$13 + } + } + HEAP32[($7_1 + 60 | 0) >> 2] = 101; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $515(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, $7_1 + 4 | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 148 | 0) >> 2] = HEAP32[$7_1 >> 2] | 0; + } + i64toi32_i32$1 = 0; + $190$hi = i64toi32_i32$1; + $151_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $151_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $572$hi = i64toi32_i32$0; + i64toi32_i32$0 = $190$hi; + i64toi32_i32$0 = $572$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $190$hi; + i64toi32_i32$5 = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + i64toi32_i32$2 = $151_1; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + } + $153_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $153_1 | 0; + } + + function $741($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $43_1 = 0, $44_1 = 0, $310$hi = 0, $311$hi = 0, $13_1 = 0, $301$hi = 0, $302$hi = 0, $304$hi = 0, $42_1 = 0, $307$hi = 0, $308$hi = 0, $99_1 = 0, $110_1 = 0, $145_1 = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $160_1 = 0, $314$hi = 0, $315$hi = 0, $245_1 = 0, $254_1 = 0, $288_1 = 0, $292_1 = 0, $25_1 = 0, $26_1 = 0, $28_1 = 0, $304_1 = 0, $434$hi = 0, $310_1 = 0, $676_1 = 0, $779_1 = 0, $782_1 = 0, $977_1 = 0, $987_1 = 0, $297_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($7_1 + 60 | 0) >> 2] | 0)) { + break label$2 + } + $13_1 = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + break label$1; + } + $13_1 = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 32 | 0) >> 2] = $13_1; + i64toi32_i32$2 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $747(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $7_1 + 44 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!(HEAP32[($7_1 + 52 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + break label$3; + } + $25_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + $26_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $28_1 = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $301$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $302$hi = i64toi32_i32$0; + i64toi32_i32$0 = $301$hi; + i64toi32_i32$0 = $302$hi; + i64toi32_i32$0 = $301$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $302$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $628($25_1 | 0, $26_1 | 0, $28_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($7_1 + 52 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + break label$3; + } + i64toi32_i32$2 = ((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 60 | 0) >> 2] | 0) << 2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $304_1 = i64toi32_i32$2; + $304$hi = i64toi32_i32$5; + $42_1 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = $42_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $434$hi = i64toi32_i32$2; + i64toi32_i32$2 = $304$hi; + i64toi32_i32$2 = $434$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $304$hi; + i64toi32_i32$3 = $304_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $42_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + label$6 : { + label$7 : { + if (!(HEAP32[($7_1 + 44 | 0) >> 2] | 0)) { + break label$7 + } + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) == (((HEAP32[(0 + 69008 | 0) >> 2] | 0 | 0) / (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[($7_1 + 76 | 0) >> 2] = 101; + break label$3; + } + label$8 : { + label$9 : { + if ((HEAP32[($7_1 + 44 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$9 + } + if (!($519(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$3; + } + label$10 : { + if (!(HEAP32[($7_1 + 60 | 0) >> 2] | 0)) { + break label$10 + } + i64toi32_i32$2 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $307$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $308$hi = i64toi32_i32$0; + i64toi32_i32$0 = $307$hi; + i64toi32_i32$0 = $308$hi; + i64toi32_i32$0 = $307$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $308$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$1 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$1 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $747(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0, $7_1 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($7_1 + 52 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + break label$3; + } + label$12 : { + if (HEAP32[($7_1 + 56 | 0) >> 2] | 0) { + break label$12 + } + if (!(($748(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 101; + break label$3; + } + } + label$13 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + $99_1 = $517(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = $99_1; + if (!$99_1) { + break label$13 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + break label$3; + } + label$14 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$14 + } + $110_1 = 16; + if (!((((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 142 | 0) >> 1] | 0) << $110_1 | 0) >> $110_1 | 0 | 0) != ((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 142 | 0) >> 1] = (HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0; + } + label$15 : { + label$16 : { + if (!((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($7_1 + 48 | 0) >> 2] = 0; + break label$15; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $749(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + label$17 : { + label$18 : { + if (!(HEAP32[($7_1 + 60 | 0) >> 2] | 0)) { + break label$18 + } + $145_1 = 1; + label$19 : { + if ((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0) { + break label$19 + } + i64toi32_i32$0 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $310_1 = i64toi32_i32$1; + $310$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 84 | 0) >> 2] | 0; + $311$hi = i64toi32_i32$1; + i64toi32_i32$1 = $310$hi; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$1 = $310$hi; + i64toi32_i32$1 = $311$hi; + $676_1 = i64toi32_i32$2; + i64toi32_i32$1 = $310$hi; + i64toi32_i32$0 = $310_1; + i64toi32_i32$2 = $311$hi; + i64toi32_i32$3 = $676_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $45_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 > i64toi32_i32$3 >>> 0) { + $46_1 = 0 + } else { + $46_1 = 1 + } + $47_1 = $46_1; + } else { + $47_1 = 0 + } + $45_1 = $47_1; + } + $145_1 = $45_1; + } + HEAP32[($7_1 + 28 | 0) >> 2] = $145_1 & 1 | 0; + break label$17; + } + $160_1 = 1; + label$20 : { + if ((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$20 + } + $160_1 = (0 | 0) == (((HEAPU16[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0 | 0); + } + HEAP32[($7_1 + 28 | 0) >> 2] = $160_1 & 1 | 0; + } + label$21 : { + label$22 : { + if (!((HEAP32[(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + if (((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) >= (4 | 0) & 1 | 0) { + break label$23 + } + if ((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$22 + } + } + if (!(HEAP32[($7_1 + 28 | 0) >> 2] | 0)) { + break label$22 + } + i64toi32_i32$0 = 0; + $314$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $315$hi = i64toi32_i32$0; + i64toi32_i32$0 = $314$hi; + i64toi32_i32$0 = $315$hi; + $779_1 = i64toi32_i32$1; + i64toi32_i32$0 = $314$hi; + i64toi32_i32$1 = $315$hi; + i64toi32_i32$1 = __wasm_i64_mul((HEAP32[($7_1 + 44 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$0 | 0, $779_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $782_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $782_1; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$3 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$24 + } + HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + } + label$25 : { + if (!((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + $654(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + } + break label$21; + } + label$26 : { + if (HEAP32[($7_1 + 60 | 0) >> 2] | 0) { + break label$26 + } + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$26 + } + $245_1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + HEAP8[($245_1 + 20 | 0) >> 0] = (HEAPU8[($245_1 + 20 | 0) >> 0] | 0) & 255 | 0 | 2 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $134(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $7_1 + 48 | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + $254_1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + HEAP8[($254_1 + 20 | 0) >> 0] = ((HEAPU8[($254_1 + 20 | 0) >> 0] | 0) & 255 | 0) & -3 | 0; + label$27 : { + if (!(HEAP32[($7_1 + 52 | 0) >> 2] | 0)) { + break label$27 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + break label$3; + } + $750(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + } + } + label$28 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $3288(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 48 | 0) >> 2] | 0); + label$29 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$29 + } + $288_1 = (HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 104 | 0; + i64toi32_i32$3 = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$3 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$3 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $977_1 = i64toi32_i32$1; + i64toi32_i32$1 = $288_1; + $43_1 = $977_1; + HEAP8[i64toi32_i32$1 >> 0] = $43_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $43_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $43_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $43_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $292_1 = 8; + i64toi32_i32$3 = i64toi32_i32$3 + $292_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$3 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$3 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $987_1 = i64toi32_i32$0; + i64toi32_i32$0 = $288_1 + $292_1 | 0; + $44_1 = $987_1; + HEAP8[i64toi32_i32$0 >> 0] = $44_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $44_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $44_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $44_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + } + $751(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + } + $297_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $297_1 | 0; + } + + function $742($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $54_1 = 0, $5_1 = 0, $167$hi = 0, $168$hi = 0, $22_1 = 0, $151$hi = 0, $152$hi = 0, $153$hi = 0, $154$hi = 0, $155$hi = 0, $156$hi = 0, $159$hi = 0, $160$hi = 0, $70_1 = 0, $164$hi = 0, $165$hi = 0, $37_1 = 0, $38_1 = 0, $40_1 = 0, $111_1 = 0, $114_1 = 0, $39_1 = 0, $285_1 = 0, $158_1 = 0, $158$hi = 0, $62_1 = 0, $74_1 = 0, $167_1 = 0, $407_1 = 0, $129_1 = 0, $147_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $5_1; + i64toi32_i32$1 = (HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $114(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 64 | 0) >> 2] = 7; + HEAP32[($4_1 + 56 | 0) >> 2] = 0; + break label$1; + } + $22_1 = 16385; + HEAP32[($4_1 + 20 | 0) >> 2] = $22_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $618(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, $22_1 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 60 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + } + label$3 : { + label$4 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$4 + } + break label$3; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $187(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, $4_1 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$5 + } + break label$3; + } + $39_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $151$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $152$hi = i64toi32_i32$1; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$1 = $152$hi; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $152$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $153$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $154$hi = i64toi32_i32$5; + i64toi32_i32$5 = $153$hi; + i64toi32_i32$5 = $154$hi; + $285_1 = i64toi32_i32$2; + i64toi32_i32$5 = $153$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $285_1; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $155$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $156$hi = i64toi32_i32$4; + i64toi32_i32$4 = $155$hi; + i64toi32_i32$4 = $156$hi; + i64toi32_i32$4 = $155$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$1 = $156$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $39(i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if ((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != ($39_1 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($4_1 + 64 | 0) >> 2] = 7; + break label$3; + } + i64toi32_i32$0 = 0; + $158_1 = 0; + $158$hi = i64toi32_i32$0; + $54_1 = 0; + HEAP8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 3 | 0) >> 0] = $54_1; + HEAP8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 2 | 0) >> 0] = $54_1; + HEAP8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] = $54_1; + HEAP8[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 0] = $54_1; + HEAP32[($4_1 + 52 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0; + $62_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$4 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $159$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $160$hi = i64toi32_i32$5; + i64toi32_i32$5 = $159$hi; + i64toi32_i32$5 = $160$hi; + i64toi32_i32$5 = $159$hi; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$0 = $160$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + HEAP32[($4_1 + 32 | 0) >> 2] = $62_1 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$4 = $158$hi; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $628(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, $158_1 | 0, i64toi32_i32$4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$7 + } + break label$3; + } + $70_1 = 0; + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + i64toi32_i32$4 | 0) >> 0] = $70_1; + $74_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$5 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $164$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $165$hi = i64toi32_i32$4; + i64toi32_i32$4 = $164$hi; + i64toi32_i32$4 = $165$hi; + i64toi32_i32$4 = $164$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $165$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + HEAP8[($74_1 + i64toi32_i32$0 | 0) >> 0] = $70_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + label$8 : { + label$9 : while (1) { + i64toi32_i32$5 = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) - (HEAP32[($4_1 + 52 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $167_1 = i64toi32_i32$5; + $167$hi = i64toi32_i32$1; + i64toi32_i32$4 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $168$hi = i64toi32_i32$5; + i64toi32_i32$5 = $167$hi; + i64toi32_i32$5 = $168$hi; + i64toi32_i32$5 = $167$hi; + i64toi32_i32$5 = $168$hi; + $407_1 = i64toi32_i32$1; + i64toi32_i32$5 = $167$hi; + i64toi32_i32$4 = $167_1; + i64toi32_i32$1 = $168$hi; + i64toi32_i32$3 = $407_1; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$1 | 0)) { + $37_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$4 >>> 0 >= i64toi32_i32$3 >>> 0) { + $38_1 = 0 + } else { + $38_1 = 1 + } + $40_1 = $38_1; + } else { + $40_1 = 0 + } + $37_1 = $40_1; + } + if (!($37_1 & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $739(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$10 + } + break label$3; + } + label$11 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 16385; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $618(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$12 + } + break label$3; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $738(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + $622(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0); + label$13 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$13 + } + break label$3; + } + $111_1 = 24; + $114_1 = 0; + label$14 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $111_1 | 0) >> $111_1 | 0)) { + break label$14 + } + $114_1 = ($3229(HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) | 0 | 0) == (0 | 0); + } + HEAP32[($4_1 + 12 | 0) >> 2] = $114_1 & 1 | 0; + label$15 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$15 + } + break label$3; + } + } + $129_1 = ($68(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + $129_1 | 0; + continue label$9; + }; + } + $622(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $732(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + label$16 : { + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $622(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + $42(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + } + $147_1 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $147_1 | 0; + } + + function $743($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $23_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $746(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, 22 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $179(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : while (1) { + $23_1 = 0; + label$2 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $23_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($23_1 & 1 | 0)) { + break label$3 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $745(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + continue label$1; + } + break label$1; + }; + $39_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $39_1 | 0; + } + + function $744($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $39_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + } + label$2 : { + if (!((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $698(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + $39_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $39_1 | 0; + } + + function $745($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $34_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $749(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(($753(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + $722(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $721(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0); + } + $168(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + } + $178(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0); + $34_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $34_1 | 0; + } + + function $746($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5_1 = 0, $21_1 = 0, $23_1 = 0, $25_1 = 0, $26_1 = 0, $28_1 = 0, $29_1 = 0, $31_1 = 0, $32_1 = 0, $24_1 = 0, $27_1 = 0, $30_1 = 0, $33_1 = 0, $36_1 = 0, $45_1 = 0, $130_1 = 0, $140_1 = 0, $150_1 = 0, $160_1 = 0, $170_1 = 0, $180_1 = 0, $54_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + $21_1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0; + $23_1 = $675(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = $23_1; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $130_1 = i64toi32_i32$0; + i64toi32_i32$0 = $21_1; + $25_1 = $130_1; + HEAP8[i64toi32_i32$0 >> 0] = $25_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $25_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $25_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $25_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $24_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $24_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $140_1 = i64toi32_i32$1; + i64toi32_i32$1 = $21_1 + $24_1 | 0; + $26_1 = $140_1; + HEAP8[i64toi32_i32$1 >> 0] = $26_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $26_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $26_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $26_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $27_1 = 32; + i64toi32_i32$2 = $23_1 + $27_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $150_1 = i64toi32_i32$0; + i64toi32_i32$0 = $21_1 + $27_1 | 0; + $28_1 = $150_1; + HEAP8[i64toi32_i32$0 >> 0] = $28_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $28_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $28_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $28_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $30_1 = 24; + i64toi32_i32$2 = $23_1 + $30_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $160_1 = i64toi32_i32$1; + i64toi32_i32$1 = $21_1 + $30_1 | 0; + $29_1 = $160_1; + HEAP8[i64toi32_i32$1 >> 0] = $29_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $29_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $29_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $29_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $33_1 = 16; + i64toi32_i32$2 = $23_1 + $33_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $170_1 = i64toi32_i32$0; + i64toi32_i32$0 = $21_1 + $33_1 | 0; + $31_1 = $170_1; + HEAP8[i64toi32_i32$0 >> 0] = $31_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $31_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $31_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $31_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $36_1 = 8; + i64toi32_i32$2 = $23_1 + $36_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $180_1 = i64toi32_i32$1; + i64toi32_i32$1 = $21_1 + $36_1 | 0; + $32_1 = $180_1; + HEAP8[i64toi32_i32$1 >> 0] = $32_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $32_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $32_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $32_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) + 1 | 0; + label$2 : while (1) { + $45_1 = 0; + label$3 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$3 + } + $45_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0; + } + label$4 : { + if (!($45_1 & 1 | 0)) { + break label$4 + } + $54_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[$54_1 | 0](HEAP32[($5_1 + 20 | 0) >> 2] | 0, $752(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + label$5 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $698(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + } + } + $72_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $72_1 | 0; + } + + function $747($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $16_1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $628(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0, 4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + $16_1 = $161($5_1 + 8 | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = $16_1; + } + $18_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $18_1 | 0; + } + + function $748($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) - 200 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) - 200 | 0; + continue label$2; + }; + } + return HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $749($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $718(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $720(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $22_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $22_1 | 0; + } + + function $750($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, $23_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 17 | 0)) { + break label$1 + } + $10_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($10_1 + 28 | 0) >> 1] = ((HEAPU16[($10_1 + 28 | 0) >> 1] | 0) & 65535 | 0) & -17 | 0; + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$2 + } + $23_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($23_1 + 28 | 0) >> 1] = ((HEAPU16[($23_1 + 28 | 0) >> 1] | 0) & 65535 | 0) ^ 3 | 0; + $660(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 2 & 255 | 0 | 0); + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $751($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0, $7_1 = 0, $9_1 = 0, $11_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $7_1 = -1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + $7_1 | 0; + $9_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $11_1 = (HEAPU16[($9_1 + 30 | 0) >> 1] | 0) + $7_1 | 0; + HEAP16[($9_1 + 30 | 0) >> 1] = $11_1; + $12_1 = 16; + label$1 : { + if (($11_1 << $12_1 | 0) >> $12_1 | 0) { + break label$1 + } + label$2 : { + label$3 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$3 + } + $661(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + break label$2; + } + $660(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 3 & 255 | 0 | 0); + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $752($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $691(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0) + ((((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 34 | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + (((((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 1 | 0) - 4062 | 0) & 4095 | 0) << 2 | 0) | 0) >> 2] | 0; + } + $38_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $38_1 | 0; + } + + function $753($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = 16; + return ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 30 | 0) >> 1] | 0) << $6_1 | 0) >> $6_1 | 0 | 0; + } + + function $754($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0, $53_1 = 0, $77_1 = 0, $129_1 = 0, $84_1 = 0, $142_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 160 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 156 | 0) >> 2] = $0_1; + $3289($3_1 + 16 | 0 | 0, 0 | 0, 128 | 0) | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 156 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 156 | 0) >> 2] | 0; + HEAP32[($3_1 + 156 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $16_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $16_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (31 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((HEAP32[(($3_1 + 16 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(($3_1 + 16 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + break label$3; + } + $53_1 = $3_1 + 16 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $757(HEAP32[($53_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($53_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$6 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (31 | 0) & 1 | 0)) { + break label$6 + } + $77_1 = $3_1 + 16 | 0; + $84_1 = $757(HEAP32[($77_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($77_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $84_1; + } + continue label$2; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = 1; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (32 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + label$10 : { + if (!((HEAP32[(($3_1 + 16 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + break label$9; + } + label$11 : { + label$12 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $129_1 = $757(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(($3_1 + 16 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + break label$11; + } + $129_1 = HEAP32[(($3_1 + 16 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $129_1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + $142_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 160 | 0; + return $142_1 | 0; + } + + function $755($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6_1 = 0, $29$hi = 0, $30$hi = 0, $16_1 = 0, $90_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $6_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 120 | 0) >> 2] = (HEAP32[($6_1 + 120 | 0) >> 2] | 0) + -1 | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 136 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $16_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $29$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$0 = $30$hi; + $90_1 = i64toi32_i32$1; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = __wasm_i64_mul((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$0 | 0, $90_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $756($16_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $756($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + return 0 | 0; + } + + function $757($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 64 | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $4_1 + 16 | 0; + label$1 : { + label$2 : while (1) { + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + break label$1; + } + break label$3; + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + break label$1; + } + } + continue label$2; + }; + } + return HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0; + } + + function $758($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $734(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $759($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $32$hi = 0, $33$hi = 0, $34$hi = 0, $35$hi = 0, $27_1 = 0, $11_1 = 0, $34_1 = 0, $101_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $649(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + continue label$2; + }; + } + label$3 : { + label$4 : { + if (!(HEAP32[$3_1 >> 2] | 0)) { + break label$4 + } + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $32$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $33$hi = i64toi32_i32$0; + i64toi32_i32$0 = $32$hi; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$0 = $32$hi; + $11_1 = i64toi32_i32$1; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = __wasm_i64_mul($11_1 | 0, i64toi32_i32$0 | 0, 100 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $34_1 = i64toi32_i32$1; + $34$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $35$hi = i64toi32_i32$0; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$0 = $35$hi; + $101_1 = i64toi32_i32$1; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = __wasm_i64_sdiv($34_1 | 0, i64toi32_i32$0 | 0, $101_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $27_1 = i64toi32_i32$1; + break label$3; + } + $27_1 = 0; + } + global$0 = $3_1 + 16 | 0; + return $27_1 | 0; + } + + function $760($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $10_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $761($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $68_1 = 0, $84_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 3 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) & -9 | 0; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] = 4 - (((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 76 | 0) >> 2] = 23; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1; + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 3 | 0) >> 0] = 1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] = 24; + break label$4; + } + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 3 | 0) >> 0] = 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 76 | 0) >> 2] = 26; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] = 25; + } + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 14 | 0) >> 1] = HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 30 | 0) >> 1] | 0; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 1] = HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 32 | 0) >> 1] | 0; + break label$2; + } + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$7 + } + $68_1 = 0; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] = $68_1; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 3 | 0) >> 0] = $68_1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] = 27; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 14 | 0) >> 1] = HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 26 | 0) >> 1] | 0; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 1] = HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 28 | 0) >> 1] | 0; + break label$6; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66588 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 11 | 0) >> 0] = HEAPU8[((HEAP32[$4_1 >> 2] | 0) + 21 | 0) >> 0] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $84_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $84_1 | 0; + } + + function $762($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $114_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 36 | 0) >> 2] = ((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) + (((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($3_1 + 32 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) - 4 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0; + label$1 : { + if (((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + HEAP32[($3_1 + 32 | 0) >> 2] = (HEAP32[($3_1 + 32 | 0) >> 2] | 0) + -1 | 0; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + label$2 : { + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) << 1 | 0) | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) << 1 | 0) | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$5 : { + label$6 : { + if ((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(66701 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 40 | 0) >> 2] | 0, (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + (HEAP32[($3_1 + 20 | 0) >> 2] | 0) | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(66706 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($3_1 + 44 | 0) >> 2] = 0; + } + $114_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $114_1 | 0; + } + + function $763($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0, $51_1 = 0, $77_1 = 0, $85_1 = 0, $30_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 >= 128 >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 127 | 0; + label$2 : while (1) { + $30_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 7 | 0; + $31_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $31_1 + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $30_1 | (((HEAPU8[($31_1 + 1 | 0) >> 0] | 0) & 255 | 0) & 127 | 0) | 0; + $51_1 = 0; + label$3 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (128 | 0) & 1 | 0)) { + break label$3 + } + $51_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0; + } + if ($51_1 & 1 | 0) { + continue label$2 + } + break label$2; + }; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 9 | 0; + label$5 : while (1) { + $77_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $77_1 + 1 | 0; + $85_1 = 0; + label$6 : { + if (!(((HEAPU8[$77_1 >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$6 + } + $85_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0; + } + label$7 : { + if (!($85_1 & 1 | 0)) { + break label$7 + } + continue label$5; + } + break label$5; + }; + } + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 <= ((HEAPU16[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) | 0; + label$10 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 < 4 >>> 0 & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 4; + } + break label$8; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + ((((HEAP32[($4_1 + 12 | 0) >> 2] | 0) - (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0) >>> 0) % (((HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 4 | 0) >>> 0) | 0) | 0; + label$11 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 > ((HEAPU16[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) & 65535 | 0) + 4 | 0) | 0; + } + return (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 65535 | 0 | 0; + } + + function $764($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $146$hi = 0, $27_1 = 0, $47_1 = 0, $149$hi = 0, $151$hi = 0, $152$hi = 0, $154$hi = 0, $155$hi = 0, $32_1 = 0, $156$hi = 0, $70_1 = 0, $157$hi = 0, $159$hi = 0, $160$hi = 0, $33_1 = 0, $161$hi = 0, $95_1 = 0, $162$hi = 0, $26_1 = 0, $316_1 = 0, $69_1 = 0, $341_1 = 0, $344_1 = 0, $399_1 = 0, $412_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$1 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0) >>> 0 >= 128 >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) & 127 | 0; + label$2 : while (1) { + $26_1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 7 | 0; + $27_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $27_1 + 1 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $26_1 | (((HEAPU8[($27_1 + 1 | 0) >> 0] | 0) & 255 | 0) & 127 | 0) | 0; + $47_1 = 0; + label$3 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (128 | 0) & 1 | 0)) { + break label$3 + } + $47_1 = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0; + } + if ($47_1 & 1 | 0) { + continue label$2 + } + break label$2; + }; + } + i64toi32_i32$0 = 0; + $146$hi = i64toi32_i32$0; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $149$hi = i64toi32_i32$1; + i64toi32_i32$1 = $146$hi; + i64toi32_i32$1 = $149$hi; + i64toi32_i32$1 = $146$hi; + i64toi32_i32$1 = $149$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $146$hi; + i64toi32_i32$3 = 128; + label$4 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 7 | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $151$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $152$hi = i64toi32_i32$1; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$1 = $152$hi; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $152$hi; + i64toi32_i32$0 = 127; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $316_1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $316_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$2; + label$5 : { + label$6 : while (1) { + $69_1 = 128; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $154$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $155$hi = i64toi32_i32$3; + i64toi32_i32$3 = $154$hi; + i64toi32_i32$3 = $155$hi; + i64toi32_i32$3 = $154$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $155$hi; + i64toi32_i32$0 = 7; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $32_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $32_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $156$hi = i64toi32_i32$2; + $70_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $70_1 + 1 | 0; + i64toi32_i32$1 = ((HEAPU8[($70_1 + 1 | 0) >> 0] | 0) & 255 | 0) & 127 | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $157$hi = i64toi32_i32$2; + i64toi32_i32$2 = $156$hi; + i64toi32_i32$2 = $157$hi; + $341_1 = i64toi32_i32$1; + i64toi32_i32$2 = $156$hi; + i64toi32_i32$3 = $32_1; + i64toi32_i32$1 = $157$hi; + i64toi32_i32$0 = $341_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $344_1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $344_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$1; + label$7 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < ($69_1 | 0) & 1 | 0)) { + break label$7 + } + break label$5; + } + label$8 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $159$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $160$hi = i64toi32_i32$3; + i64toi32_i32$3 = $159$hi; + i64toi32_i32$3 = $160$hi; + i64toi32_i32$3 = $159$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $160$hi; + i64toi32_i32$0 = 8; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $33_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $33_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $161$hi = i64toi32_i32$1; + $95_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $95_1 + 1 | 0; + i64toi32_i32$1 = 0; + $162$hi = i64toi32_i32$1; + i64toi32_i32$1 = $161$hi; + i64toi32_i32$1 = $162$hi; + i64toi32_i32$1 = $161$hi; + i64toi32_i32$3 = $33_1; + i64toi32_i32$2 = $162$hi; + i64toi32_i32$0 = (HEAPU8[($95_1 + 1 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $399_1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $399_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$2; + break label$5; + } + continue label$6; + }; + } + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $412_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $412_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0) >>> 0 <= ((HEAPU16[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$10 + } + HEAP16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 18 | 0) >> 1] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 32 | 0) >> 2] | 0) - (HEAP32[($5_1 + 40 | 0) >> 2] | 0) | 0) & 65535 | 0) | 0; + label$11 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$11 + } + HEAP16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 18 | 0) >> 1] = 4; + } + HEAP16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 1] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$9; + } + $768(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $765($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $16_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $16_1 = (($769((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0) & 255 | 0) + 4 | 0; + HEAP16[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 18 | 0) >> 1] = $16_1; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = $6_1; + HEAP16[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 1] = 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = $6_1; + global$0 = $5_1 + 16 | 0; + return; + } + + function $766($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0, $20_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0; + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 9 | 0; + label$1 : while (1) { + $12_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $12_1 + 1 | 0; + $20_1 = 0; + label$2 : { + if (!(((HEAPU8[$12_1 >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$2 + } + $20_1 = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 < (HEAP32[$4_1 >> 2] | 0) >>> 0; + } + label$3 : { + if (!($20_1 & 1 | 0)) { + break label$3 + } + continue label$1; + } + break label$1; + }; + return ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0) & 65535 | 0 | 0; + } + + function $767($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $32_1 = 0, $52_1 = 0, i64toi32_i32$1 = 0, $31_1 = 0, i64toi32_i32$0 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$1 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 >= 128 >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 127 | 0; + label$2 : while (1) { + $31_1 = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 7 | 0; + $32_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $32_1 + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $31_1 | (((HEAPU8[($32_1 + 1 | 0) >> 0] | 0) & 255 | 0) & 127 | 0) | 0; + $52_1 = 0; + label$3 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (128 | 0) & 1 | 0)) { + break label$3 + } + $52_1 = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0; + } + if ($52_1 & 1 | 0) { + continue label$2 + } + break label$2; + }; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 <= ((HEAPU16[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$5 + } + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 1] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) & 65535 | 0) | 0; + label$6 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$6 + } + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 1] = 4; + } + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 1] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$4; + } + $768(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $768($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAPU16[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAPU16[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >>> 0) % (((HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 4 | 0) >>> 0) | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 1] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 1] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + } + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 1] = ((((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) & 65535 | 0) + 4 | 0; + return; + } + + function $769($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $25_1 = 0, $315$hi = 0, $316$hi = 0, $40_1 = 0, $317$hi = 0, $318$hi = 0, $320$hi = 0, $321$hi = 0, $41_1 = 0, $322$hi = 0, $323$hi = 0, $325$hi = 0, $326$hi = 0, $42_1 = 0, $327$hi = 0, $328$hi = 0, $330$hi = 0, $331$hi = 0, $43_1 = 0, $332$hi = 0, $333$hi = 0, $335$hi = 0, $336$hi = 0, $44_1 = 0, $337$hi = 0, $338$hi = 0, $137_1 = 0, $686_1 = 0, $173_1 = 0, $788_1 = 0, $206_1 = 0, $881_1 = 0, $245_1 = 0, $974_1 = 0, $263_1 = 0, $1089_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + $8_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = (HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = 1; + break label$1; + } + $25_1 = 24; + label$3 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $25_1 | 0) >> $25_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = (((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 127 | 0) << 7 | 0 | ((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = 2; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 14 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 2 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$4 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 128 | 0) { + break label$4 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 127 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = 3; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$5 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 128 | 0) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = 4; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$6 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 128 | 0) { + break label$6 + } + $137_1 = 5; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 18 | 0; + i64toi32_i32$0 = 0; + $315$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $316$hi = i64toi32_i32$0; + i64toi32_i32$0 = $315$hi; + i64toi32_i32$0 = $316$hi; + i64toi32_i32$0 = $315$hi; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = $316$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $40_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $40_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $317$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $318$hi = i64toi32_i32$1; + i64toi32_i32$1 = $317$hi; + i64toi32_i32$1 = $318$hi; + i64toi32_i32$1 = $317$hi; + i64toi32_i32$0 = $40_1; + i64toi32_i32$2 = $318$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $686_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $686_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP8[($4_1 + 31 | 0) >> 0] = $137_1; + break label$1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$7 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 128 | 0) { + break label$7 + } + $173_1 = 6; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 18 | 0; + i64toi32_i32$2 = 0; + $320$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $321$hi = i64toi32_i32$2; + i64toi32_i32$2 = $320$hi; + i64toi32_i32$2 = $321$hi; + i64toi32_i32$2 = $320$hi; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $321$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $41_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $41_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $322$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $323$hi = i64toi32_i32$0; + i64toi32_i32$0 = $322$hi; + i64toi32_i32$0 = $323$hi; + i64toi32_i32$0 = $322$hi; + i64toi32_i32$2 = $41_1; + i64toi32_i32$1 = $323$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $788_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $788_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP8[($4_1 + 31 | 0) >> 0] = $173_1; + break label$1; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$8 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 128 | 0) { + break label$8 + } + $206_1 = 7; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & -266354561 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 11 | 0; + i64toi32_i32$1 = 0; + $325$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $326$hi = i64toi32_i32$1; + i64toi32_i32$1 = $325$hi; + i64toi32_i32$1 = $326$hi; + i64toi32_i32$1 = $325$hi; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $326$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $42_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $42_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $327$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $328$hi = i64toi32_i32$2; + i64toi32_i32$2 = $327$hi; + i64toi32_i32$2 = $328$hi; + i64toi32_i32$2 = $327$hi; + i64toi32_i32$1 = $42_1; + i64toi32_i32$0 = $328$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $881_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $881_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = $206_1; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$9 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 128 | 0) { + break label$9 + } + $245_1 = 8; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & -266354561 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 4 | 0; + i64toi32_i32$0 = 0; + $330$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $331$hi = i64toi32_i32$0; + i64toi32_i32$0 = $330$hi; + i64toi32_i32$0 = $331$hi; + i64toi32_i32$0 = $330$hi; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = $331$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $43_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $43_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $332$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $333$hi = i64toi32_i32$1; + i64toi32_i32$1 = $332$hi; + i64toi32_i32$1 = $333$hi; + i64toi32_i32$1 = $332$hi; + i64toi32_i32$0 = $43_1; + i64toi32_i32$2 = $333$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $974_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $974_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP8[($4_1 + 31 | 0) >> 0] = $245_1; + break label$1; + } + $263_1 = 9; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 15 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 8 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + -4 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 127 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 3 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = 0; + $335$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $336$hi = i64toi32_i32$2; + i64toi32_i32$2 = $335$hi; + i64toi32_i32$2 = $336$hi; + i64toi32_i32$2 = $335$hi; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $336$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $44_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $44_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $337$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $338$hi = i64toi32_i32$0; + i64toi32_i32$0 = $337$hi; + i64toi32_i32$0 = $338$hi; + i64toi32_i32$0 = $337$hi; + i64toi32_i32$2 = $44_1; + i64toi32_i32$1 = $338$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $1089_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $1089_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP8[($4_1 + 31 | 0) >> 0] = $263_1; + } + return (HEAPU8[($4_1 + 31 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $770($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $22_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $67_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) <= (HEAP32[(0 + 114576 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(0 + 114600 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $22_1 = 1; + HEAP32[(0 + 114600 | 0) >> 2] = HEAP32[(HEAP32[(0 + 114600 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(0 + 114604 | 0) >> 2] = (HEAP32[(0 + 114604 | 0) >> 2] | 0) + -1 | 0; + HEAP32[(0 + 114608 | 0) >> 2] = (HEAP32[(0 + 114604 | 0) >> 2] | 0 | 0) < (HEAP32[(0 + 114584 | 0) >> 2] | 0 | 0) & 1 | 0; + $46(7 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $48($22_1 | 0, $22_1 | 0); + } + } + label$3 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $39(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $16(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $46(7 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $48(2 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + } + } + $67_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $67_1 | 0; + } + + function $771($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1, $9_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + $9_1 = $9_1 | 0; + var $12_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $166_1 = 0, $124_1 = 0, $50_1 = 0, $27_1 = 0, $147_1 = 0, $159_1 = 0, $119_1 = 0, $162_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $12_1 = global$0 - 64 | 0; + global$0 = $12_1; + HEAP32[($12_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($12_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($12_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($12_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($12_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($12_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($12_1 + 32 | 0) >> 2] = $6_1; + HEAP32[($12_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($12_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($12_1 + 20 | 0) >> 2] = $9_1; + HEAP32[($12_1 + 12 | 0) >> 2] = 0; + HEAP32[($12_1 + 8 | 0) >> 2] = HEAP32[($12_1 + 48 | 0) >> 2] | 0; + HEAP32[($12_1 + 4 | 0) >> 2] = HEAP32[($12_1 + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($12_1 + 60 | 0) >> 2] = 8; + break label$1; + } + $27_1 = 1; + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $686(HEAP32[($12_1 + 56 | 0) >> 2] | 0 | 0, $27_1 | 0, $27_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($12_1 + 16 | 0) >> 2] | 0) { + break label$3 + } + HEAP8[((HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 45 | 0) >> 0] = 1; + label$4 : { + if (!(HEAP32[($12_1 + 48 | 0) >> 2] | 0)) { + break label$4 + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $772(HEAP32[($12_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 40 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (HEAP32[($12_1 + 16 | 0) >> 2] | 0) { + break label$6 + } + HEAP8[((HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 44 | 0) >> 0] = 1; + break label$5; + } + label$7 : { + if (!((HEAP32[($12_1 + 16 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$7 + } + $50_1 = 0; + HEAP32[($12_1 + 8 | 0) >> 2] = $50_1; + HEAP32[($12_1 + 4 | 0) >> 2] = $50_1; + HEAP32[($12_1 + 16 | 0) >> 2] = $50_1; + } + } + } + } + label$8 : { + if (HEAP32[($12_1 + 16 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $701(HEAP32[($12_1 + 56 | 0) >> 2] | 0 | 0, $12_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($12_1 + 12 | 0) >> 2] | 0)) { + break label$9 + } + if (!((HEAP32[(HEAP32[(HEAP32[((HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$0 = 0; + $756(HEAP32[((HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0, 0 | 0) | 0; + } + } + label$10 : { + if (HEAP32[($12_1 + 16 | 0) >> 2] | 0) { + break label$10 + } + label$11 : { + label$12 : { + if (!(HEAP32[((HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0)) { + break label$12 + } + if (!(($773(HEAP32[($12_1 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($12_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $694(63441 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $774(HEAP32[($12_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$13 : { + label$14 : { + if (!(HEAP32[($12_1 + 16 | 0) >> 2] | 0)) { + break label$14 + } + if (!((HEAP32[($12_1 + 16 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$13 + } + } + label$15 : { + if (!((HEAP32[($12_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[(HEAP32[($12_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + } + label$16 : { + if (!((HEAP32[($12_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $119_1 = HEAP32[($685(HEAP32[($12_1 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + HEAP32[(HEAP32[($12_1 + 20 | 0) >> 2] | 0) >> 2] = $119_1; + } + } + } + label$17 : { + if (!(HEAP32[($12_1 + 12 | 0) >> 2] | 0)) { + break label$17 + } + $124_1 = (HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 52 | 0; + i64toi32_i32$0 = 0; + $166_1 = 0; + i64toi32_i32$1 = $124_1; + HEAP32[i64toi32_i32$1 >> 2] = $166_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $166_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $124_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $166_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $124_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $166_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $124_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $166_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $124_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $166_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + $714(HEAP32[($12_1 + 56 | 0) >> 2] | 0 | 0) | 0; + label$18 : { + if (!(((HEAPU8[((HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 45 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + $147_1 = 1; + $688(HEAP32[($12_1 + 56 | 0) >> 2] | 0 | 0, $147_1 | 0, $147_1 | 0); + HEAP8[((HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 45 | 0) >> 0] = 0; + } + label$19 : { + label$20 : { + if (HEAP32[($12_1 + 16 | 0) >> 2] | 0) { + break label$20 + } + if (!((HEAP32[($12_1 + 48 | 0) >> 2] | 0 | 0) != (HEAP32[($12_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + $159_1 = 5; + break label$19; + } + $159_1 = HEAP32[($12_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($12_1 + 60 | 0) >> 2] = $159_1; + } + $162_1 = HEAP32[($12_1 + 60 | 0) >> 2] | 0; + global$0 = $12_1 + 64 | 0; + return $162_1 | 0; + } + + function $772($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $20_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + label$1 : while (1) { + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $686(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $20_1 = 0; + label$2 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $20_1 = 0; + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + $20_1 = (FUNCTION_TABLE[HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0 | 0) != (0 | 0); + } + if ($20_1 & 1 | 0) { + continue label$1 + } + break label$1; + }; + $39_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $39_1 | 0; + } + + function $773($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 66 | 0) >> 1] | 0) & 65535 | 0) & 65024 | 0) + ((((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 66 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) << 16 | 0) | 0 | 0; + } + + function $774($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $10_1 = 0, $343$hi = 0, $344$hi = 0, $353$hi = 0, $354$hi = 0, $313_1 = 0, $69_1 = 0, $125_1 = 0, $340$hi = 0, $341$hi = 0, $57_1 = 0, $58_1 = 0, $59_1 = 0, $347$hi = 0, $348$hi = 0, $349$hi = 0, $350$hi = 0, $351$hi = 0, $352$hi = 0, $60_1 = 0, $61_1 = 0, $62_1 = 0, $175_1 = 0, $357$hi = 0, $358$hi = 0, $359$hi = 0, $360$hi = 0, $361$hi = 0, $362$hi = 0, $365$hi = 0, $366$hi = 0, $369$hi = 0, $370$hi = 0, $334_1 = 0, $79_1 = 0, $695_1 = 0, $698_1 = 0, $343_1 = 0, $726_1 = 0, $751_1 = 0, $754_1 = 0, $761_1 = 0, $893_1 = 0, $938_1 = 0, $941_1 = 0, $1005_1 = 0, $1008_1 = 0, $280_1 = 0, $337_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 144 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 132 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 128 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 124 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 120 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 116 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 112 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 104 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 100 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 96 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $773(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $685(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($9_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[($9_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[($9_1 + 84 | 0) >> 2] = 1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($9_1 + 84 | 0) >> 2] | 0 | 0) < (5 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($9_1 + 72 | 0) >> 2] = HEAP32[(((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 84 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[($9_1 + 92 | 0) >> 2] | 0) >>> 0 > (HEAP32[($9_1 + 76 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $772(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 3 | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (HEAP32[($9_1 + 112 | 0) >> 2] | 0) { + break label$7 + } + label$8 : { + label$9 : { + if (!((HEAP32[($9_1 + 84 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$9 + } + $69_1 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + break label$8; + } + $69_1 = -1; + } + HEAP32[($9_1 + 68 | 0) >> 2] = $69_1; + $79_1 = ((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 84 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($9_1 + 64 | 0) >> 2] = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[$79_1 >> 2] = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + $688(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 3 | 0 | 0, 1 | 0); + break label$6; + } + label$10 : { + label$11 : { + if (!((HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($9_1 + 92 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + HEAP32[($9_1 + 128 | 0) >> 2] = 0; + break label$10; + } + break label$1; + } + } + } + HEAP32[($9_1 + 84 | 0) >> 2] = (HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$12 : { + if (!((HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] | 0) >>> 0 < (HEAP32[($9_1 + 92 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $775(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0, $9_1 + 104 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + } + label$13 : { + if (!((HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + $125_1 = $772(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0, 3 | 0, 1 | 0) | 0; + HEAP32[($9_1 + 112 | 0) >> 2] = $125_1; + if ($125_1) { + break label$13 + } + HEAP32[($9_1 + 60 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, ((HEAP32[($9_1 + 120 | 0) >> 2] | 0) >> 2 | 0) & 3 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (HEAP32[($9_1 + 112 | 0) >> 2] | 0) { + break label$14 + } + i64toi32_i32$0 = 0; + $340$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $341$hi = i64toi32_i32$0; + i64toi32_i32$0 = $340$hi; + i64toi32_i32$0 = $341$hi; + $695_1 = i64toi32_i32$1; + i64toi32_i32$0 = $340$hi; + i64toi32_i32$1 = $341$hi; + i64toi32_i32$1 = __wasm_i64_mul(HEAP32[($9_1 + 88 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, $695_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $698_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 48 | 0) >> 2] = $698_1; + HEAP32[($9_1 + 52 | 0) >> 2] = i64toi32_i32$0; + $189(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 39 | 0, 0 | 0) | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $9_1 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (HEAP32[($9_1 + 112 | 0) >> 2] | 0) { + break label$15 + } + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + $343_1 = i64toi32_i32$0; + $343$hi = i64toi32_i32$1; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 52 | 0) >> 2] | 0; + $344$hi = i64toi32_i32$0; + i64toi32_i32$0 = $343$hi; + i64toi32_i32$0 = $344$hi; + i64toi32_i32$0 = $343$hi; + i64toi32_i32$0 = $344$hi; + $726_1 = i64toi32_i32$1; + i64toi32_i32$0 = $343$hi; + i64toi32_i32$2 = $343_1; + i64toi32_i32$1 = $344$hi; + i64toi32_i32$3 = $726_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $57_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $58_1 = 0 + } else { + $58_1 = 1 + } + $59_1 = $58_1; + } else { + $59_1 = 0 + } + $57_1 = $59_1; + } + if (!($57_1 & 1 | 0)) { + break label$15 + } + i64toi32_i32$3 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + $347$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $348$hi = i64toi32_i32$0; + i64toi32_i32$0 = $347$hi; + i64toi32_i32$0 = $348$hi; + i64toi32_i32$0 = $347$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $348$hi; + i64toi32_i32$1 = 65536; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $349$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $350$hi = i64toi32_i32$5; + i64toi32_i32$3 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $351$hi = i64toi32_i32$5; + i64toi32_i32$5 = $350$hi; + i64toi32_i32$5 = $351$hi; + $751_1 = i64toi32_i32$3; + i64toi32_i32$5 = $350$hi; + i64toi32_i32$3 = $351$hi; + i64toi32_i32$3 = __wasm_i64_mul(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, $751_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $352$hi = i64toi32_i32$5; + i64toi32_i32$5 = $349$hi; + i64toi32_i32$5 = $352$hi; + $754_1 = i64toi32_i32$3; + i64toi32_i32$5 = $349$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$3 = $352$hi; + i64toi32_i32$1 = $754_1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $353$hi = i64toi32_i32$4; + i64toi32_i32$5 = $9_1; + i64toi32_i32$4 = HEAP32[($9_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 52 | 0) >> 2] | 0; + $354$hi = i64toi32_i32$0; + i64toi32_i32$0 = $353$hi; + i64toi32_i32$0 = $354$hi; + i64toi32_i32$0 = $353$hi; + i64toi32_i32$0 = $354$hi; + $761_1 = i64toi32_i32$4; + i64toi32_i32$0 = $353$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$4 = $354$hi; + i64toi32_i32$1 = $761_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$4 | 0)) { + $60_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$1 >>> 0) { + $61_1 = 0 + } else { + $61_1 = 1 + } + $62_1 = $61_1; + } else { + $62_1 = 0 + } + $60_1 = $62_1; + } + label$16 : { + label$17 : { + if (!($60_1 & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $694(61639 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + break label$16; + } + $615(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 5 | 0, $9_1 + 48 | 0 | 0); + } + } + } + label$18 : while (1) { + $175_1 = 0; + label$19 : { + if (HEAP32[($9_1 + 112 | 0) >> 2] | 0) { + break label$19 + } + $175_1 = (0 | 0) == ($776(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, $9_1 + 100 | 0 | 0, $9_1 + 96 | 0 | 0) | 0 | 0); + } + label$20 : { + if (!($175_1 & 1 | 0)) { + break label$20 + } + HEAP32[($9_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 136 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0; + label$21 : { + if (!(HEAP32[($9_1 + 28 | 0) >> 2] | 0)) { + break label$21 + } + HEAP32[($9_1 + 112 | 0) >> 2] = (HEAPU8[((HEAP32[($9_1 + 136 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 ? 7 : 9; + break label$20; + } + label$22 : { + label$23 : { + if ((HEAP32[($9_1 + 96 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($9_1 + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$23 + } + if ((HEAP32[($9_1 + 96 | 0) >> 2] | 0) >>> 0 > (HEAP32[($9_1 + 92 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$23 + } + if (!((HEAP32[($9_1 + 100 | 0) >> 2] | 0) >>> 0 > (HEAP32[($9_1 + 88 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$22 + } + } + continue label$18; + } + i64toi32_i32$5 = 0; + $357$hi = i64toi32_i32$5; + i64toi32_i32$0 = (HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $358$hi = i64toi32_i32$5; + i64toi32_i32$5 = $357$hi; + i64toi32_i32$5 = $358$hi; + $893_1 = i64toi32_i32$0; + i64toi32_i32$5 = $357$hi; + i64toi32_i32$0 = $358$hi; + i64toi32_i32$0 = __wasm_i64_mul((HEAP32[($9_1 + 96 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$5 | 0, $893_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $359$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $360$hi = i64toi32_i32$5; + i64toi32_i32$5 = $359$hi; + i64toi32_i32$5 = $360$hi; + i64toi32_i32$5 = $359$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $360$hi; + i64toi32_i32$4 = 32; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $361$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $362$hi = i64toi32_i32$2; + i64toi32_i32$2 = $361$hi; + i64toi32_i32$2 = $362$hi; + i64toi32_i32$2 = $361$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$1 = $362$hi; + i64toi32_i32$4 = 24; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + i64toi32_i32$5 = $9_1; + HEAP32[($9_1 + 32 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 36 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!(HEAP32[($9_1 + 112 | 0) >> 2] | 0)) { + break label$24 + } + break label$20; + } + i64toi32_i32$5 = 0; + $365$hi = i64toi32_i32$5; + i64toi32_i32$3 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $366$hi = i64toi32_i32$5; + i64toi32_i32$5 = $365$hi; + i64toi32_i32$5 = $366$hi; + $938_1 = i64toi32_i32$3; + i64toi32_i32$5 = $365$hi; + i64toi32_i32$3 = $366$hi; + i64toi32_i32$3 = __wasm_i64_mul((HEAP32[($9_1 + 100 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$5 | 0, $938_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $941_1 = i64toi32_i32$3; + i64toi32_i32$3 = $9_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $941_1; + HEAP32[($9_1 + 36 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$2 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + if (!(HEAP32[($9_1 + 112 | 0) >> 2] | 0)) { + break label$25 + } + break label$20; + } + continue label$18; + } + break label$18; + }; + $189(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 37 | 0, 0 | 0) | 0; + label$26 : { + if (HEAP32[($9_1 + 112 | 0) >> 2] | 0) { + break label$26 + } + label$27 : { + if (!((HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0) == (HEAP32[(($675(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0) | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + i64toi32_i32$3 = 0; + $369$hi = i64toi32_i32$3; + i64toi32_i32$5 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$5 >> 31 | 0; + $370$hi = i64toi32_i32$3; + i64toi32_i32$3 = $369$hi; + i64toi32_i32$3 = $370$hi; + $1005_1 = i64toi32_i32$5; + i64toi32_i32$3 = $369$hi; + i64toi32_i32$5 = $370$hi; + i64toi32_i32$5 = __wasm_i64_mul(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, $1005_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $1008_1 = i64toi32_i32$5; + i64toi32_i32$5 = $9_1; + HEAP32[($9_1 + 16 | 0) >> 2] = $1008_1; + HEAP32[($9_1 + 20 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $188(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$28 : { + if (HEAP32[($9_1 + 112 | 0) >> 2] | 0) { + break label$28 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($9_1 + 120 | 0) >> 2] | 0) >> 2 | 0) & 3 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + } + } + label$29 : { + if (HEAP32[($9_1 + 112 | 0) >> 2] | 0) { + break label$29 + } + $280_1 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + HEAP32[($9_1 + 12 | 0) >> 2] = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + HEAP32[$280_1 >> 2] = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + } + } + $688(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0, 3 | 0, 1 | 0); + } + label$30 : { + if (!((HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($9_1 + 112 | 0) >> 2] = 0; + } + } + label$31 : { + if (HEAP32[($9_1 + 112 | 0) >> 2] | 0) { + break label$31 + } + if (!(HEAP32[($9_1 + 132 | 0) >> 2] | 0)) { + break label$31 + } + label$32 : { + label$33 : { + if (!((HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$33 + } + HEAP32[($9_1 + 112 | 0) >> 2] = 5; + break label$32; + } + label$34 : { + if (!((HEAP32[($9_1 + 132 | 0) >> 2] | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$34 + } + $313_1 = 4; + $85($313_1 | 0, $9_1 + 8 | 0 | 0); + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $772(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0, $313_1 | 0, $313_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$35 : { + if (HEAP32[($9_1 + 112 | 0) >> 2] | 0) { + break label$35 + } + label$36 : { + if (!((HEAP32[($9_1 + 132 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$36 + } + i64toi32_i32$5 = 0; + $687(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $188(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + } + $334_1 = 4; + $688(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0, $334_1 | 0, $334_1 | 0); + } + } + } + } + } + $777(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0); + $337_1 = HEAP32[($9_1 + 112 | 0) >> 2] | 0; + global$0 = $9_1 + 144 | 0; + return $337_1 | 0; + } + + function $775($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6_1 = 0, $46_1 = 0, $67_1 = 0, $183_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($691(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = (Math_imul((HEAP32[($5_1 + 56 | 0) >> 2] | 0) - 1 | 0, 20) + 28 | 0) + ((HEAP32[($5_1 + 52 | 0) >> 2] | 0) << 1 | 0) | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($5_1 + 76 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $3289(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0) >>> 0 > 4096 >>> 0 & 1 | 0)) { + break label$4 + } + $46_1 = 4096; + break label$3; + } + $46_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41($46_1 << 1 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $691((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$6 : while (1) { + $67_1 = 0; + label$7 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$7 + } + $67_1 = (HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!($67_1 & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $692(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0; + label$10 : { + label$11 : { + if (!(((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0 | 0) == (HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0; + break label$10; + } + HEAP32[($5_1 + 8 | 0) >> 2] = ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 2 | 0; + } + HEAP32[($5_1 + 4 | 0) >> 2] = (((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 20) | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 1 | 0) | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP16[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + $778(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0); + HEAP32[((((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 36 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[((((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 36 | 0) >> 2] | 0, 20) | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 36 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 36 | 0) >> 2] | 0, 20) | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 36 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + $42(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0); + label$14 : { + if (!(HEAP32[($5_1 + 28 | 0) >> 2] | 0)) { + break label$14 + } + $777(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($5_1 + 64 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + $183_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + global$0 = $5_1 + 80 | 0; + return $183_1 | 0; + } + + function $776($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $81_1 = 0, $89_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = -1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 4 | 0) >> 2] = ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 20) | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) << 2 | 0) | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[$5_1 >> 2] | 0) >>> 0 > (HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[$5_1 >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) | 0; + } + break label$3; + } + $81_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[$81_1 >> 2] = (HEAP32[$81_1 >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + }; + } + $89_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = $89_1; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = $89_1; + return (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0 | 0; + } + + function $777($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $778($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $58_1 = 0; + $6_1 = global$0 - 160 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 156 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 152 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 148 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 144 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 144 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 136 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 132 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 124 | 0) >> 2] = $7_1; + $3289($6_1 + 16 | 0 | 0, 0 | 0, 104 | 0) | 0; + HEAP32[($6_1 + 128 | 0) >> 2] = $7_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 136 | 0) >> 2] = 1; + HEAP32[($6_1 + 132 | 0) >> 2] = (HEAP32[($6_1 + 148 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 128 | 0) >> 2] | 0) << 1 | 0) | 0; + HEAP32[($6_1 + 124 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 128 | 0) >> 2] | 0) & (1 << (HEAP32[($6_1 + 124 | 0) >> 2] | 0) | 0) | 0)) { + break label$3 + } + HEAP32[($6_1 + 12 | 0) >> 2] = ($6_1 + 16 | 0) + ((HEAP32[($6_1 + 124 | 0) >> 2] | 0) << 3 | 0) | 0; + $779(HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 + 132 | 0 | 0, $6_1 + 136 | 0 | 0, HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 124 | 0) >> 2] = (HEAP32[($6_1 + 124 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $58_1 = $6_1 + 16 | 0; + HEAP32[(($58_1 + ((HEAP32[($6_1 + 124 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + HEAP32[($58_1 + ((HEAP32[($6_1 + 124 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP32[($6_1 + 128 | 0) >> 2] = (HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($6_1 + 124 | 0) >> 2] = (HEAP32[($6_1 + 124 | 0) >> 2] | 0) + 1 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 124 | 0) >> 2] | 0) >>> 0 < 13 >>> 0 & 1 | 0)) { + break label$5 + } + label$7 : { + if (!((HEAP32[($6_1 + 140 | 0) >> 2] | 0) & (1 << (HEAP32[($6_1 + 124 | 0) >> 2] | 0) | 0) | 0)) { + break label$7 + } + HEAP32[($6_1 + 8 | 0) >> 2] = ($6_1 + 16 | 0) + ((HEAP32[($6_1 + 124 | 0) >> 2] | 0) << 3 | 0) | 0; + $779(HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 + 132 | 0 | 0, $6_1 + 136 | 0 | 0, HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 124 | 0) >> 2] = (HEAP32[($6_1 + 124 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[(HEAP32[($6_1 + 144 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + global$0 = $6_1 + 160 | 0; + return; + } + + function $779($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $9_1 = 0, $22_1 = 0, $77_1 = 0, $85_1 = 0, $102_1 = 0, $76_1 = 0, $84_1 = 0, $100_1 = 0, $101_1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 48 | 0) >> 2] | 0) >> 2] | 0; + label$1 : while (1) { + $22_1 = 1; + label$2 : { + if ((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$2 + } + $22_1 = (HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($22_1 & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if ((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) >= (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 32 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + } + $76_1 = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + $77_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $77_1 + 1 | 0; + HEAP16[($8_1 + 18 | 0) >> 1] = HEAPU16[($76_1 + ($77_1 << 1 | 0) | 0) >> 1] | 0; + break label$4; + } + $84_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $85_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $85_1 + 1 | 0; + HEAP16[($8_1 + 18 | 0) >> 1] = HEAPU16[($84_1 + ($85_1 << 1 | 0) | 0) >> 1] | 0; + } + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + (((HEAPU16[($8_1 + 18 | 0) >> 1] | 0) & 65535 | 0) << 2 | 0) | 0) >> 2] | 0; + $100_1 = HEAPU16[($8_1 + 18 | 0) >> 1] | 0; + $101_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + $102_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $102_1 + 1 | 0; + HEAP16[($101_1 + ($102_1 << 1 | 0) | 0) >> 1] = $100_1; + label$7 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + continue label$1; + } + break label$1; + }; + HEAP32[(HEAP32[($8_1 + 48 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $3288(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 28 | 0) >> 2] | 0) << 1 | 0 | 0) | 0; + global$0 = $8_1 + 64 | 0; + return; + } + + function $780($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $8_1 = HEAP32[(0 + 68488 | 0) >> 2] | 0; + FUNCTION_TABLE[$8_1 | 0](HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0, $649(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $781($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $16_1 = 0, $105_1 = 0, $207_1 = 0, $200_1 = 0, $203_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0) { + break label$2 + } + if ((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + $16_1 = 1; + HEAP32[($3_1 + 36 | 0) >> 2] = $16_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $715(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, $16_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($3_1 + 40 | 0) >> 2] | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $787(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, $3_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (!(HEAP32[($3_1 + 40 | 0) >> 2] | 0)) { + break label$5 + } + break label$1; + } + label$6 : { + if (!(HEAP32[($3_1 + 36 | 0) >> 2] | 0)) { + break label$6 + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 14 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 40 | 0) >> 2] = 776; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $716(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, 4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($3_1 + 40 | 0) >> 2] | 0)) { + break label$8 + } + break label$1; + } + label$9 : { + if ((HEAP32[(HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + HEAP32[($3_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $739(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0, 0 | 0, $3_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($3_1 + 40 | 0) >> 2] | 0) { + break label$10 + } + if (!(HEAP32[($3_1 + 28 | 0) >> 2] | 0)) { + break label$10 + } + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = 2050; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $618(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $3_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (HEAP32[($3_1 + 40 | 0) >> 2] | 0) { + break label$11 + } + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $96(57183 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $622(HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + } + } + label$12 : { + label$13 : { + if (!((HEAP32[(HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $638(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (HEAP32[($3_1 + 40 | 0) >> 2] | 0) { + break label$14 + } + $105_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $728(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, (((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != ($105_1 & 255 | 0 | 0) ^ -1 | 0) & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = $105_1; + } + break label$12; + } + label$15 : { + if (((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$15 + } + $736(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + } + label$16 : { + if (!(HEAP32[($3_1 + 40 | 0) >> 2] | 0)) { + break label$16 + } + $639(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + } + label$17 : { + if (((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$17 + } + if (!((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0)) { + break label$17 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, $3_1 | 0, 16 | 0, 24 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!(HEAP32[($3_1 + 40 | 0) >> 2] | 0)) { + break label$18 + } + label$19 : { + if (!((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) != (522 | 0) & 1 | 0)) { + break label$19 + } + break label$1; + } + i64toi32_i32$0 = 0; + $207_1 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[$3_1 >> 2] = $207_1; + HEAP32[($3_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $3_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $207_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + label$20 : { + if (!($3228((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 104 | 0 | 0, $3_1 | 0, 16 | 0) | 0)) { + break label$20 + } + $632(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $788(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$21 : { + if (!((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $789(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$22 : { + if ((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$22 + } + if ((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$22 + } + if (HEAP32[($3_1 + 40 | 0) >> 2] | 0) { + break label$22 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $790(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + } + label$23 : { + label$24 : { + if (!(HEAP32[($3_1 + 40 | 0) >> 2] | 0)) { + break label$24 + } + $637(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + break label$23; + } + $200_1 = 1; + HEAP8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = $200_1; + HEAP8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 23 | 0) >> 0] = $200_1; + } + $203_1 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $203_1 | 0; + } + + function $782($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + label$2 : { + label$3 : { + if (((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + label$4 : { + if ($792(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 14; + break label$1; + } + $622(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $793(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$5 + } + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 5 | 0) >> 0] = 5; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] = 0; + } + break label$2; + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = 1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + $39_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $39_1 | 0; + } + + function $783($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $8$hi = 0, i64toi32_i32$3 = 0, $3_1 = 0, $9$hi = 0, $10$hi = 0, $12$hi = 0; + $3_1 = global$0 - 16 | 0; + i64toi32_i32$0 = 0; + $8$hi = i64toi32_i32$0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $10$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$1 = $10$hi; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $10$hi; + i64toi32_i32$3 = 268435457; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $12$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8$hi; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$0 = $8$hi; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$3 = 1; + return ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0 | 0; + } + + function $784($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 8; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $686(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($3_1 + 4 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 0] = 1; + label$4 : { + if (!($3228((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 52 | 0 | 0, $675(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, 48 | 0) | 0)) { + break label$4 + } + $688(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0); + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 0] = 0; + HEAP32[($3_1 + 4 | 0) >> 2] = 517; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + $37_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $37_1 | 0; + } + + function $785($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $6_1 = 0, $31_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP8[($4_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0; + label$1 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 12 | 0)) { + break label$1 + } + $3289((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + ((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0) | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - ((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0) | 0 | 0) | 0; + } + $31_1 = 0; + HEAP8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + ((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0) | 0) >> 0] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP16[($4_1 + 12 | 0) >> 1] = ((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 8 | 0 ? 8 : 12) | 0; + $5_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0) + 1 | 0) | 0; + $6_1 = 0; + HEAP8[$5_1 >> 0] = $6_1; + HEAP8[($5_1 + 1 | 0) >> 0] = $6_1 >>> 8 | 0; + HEAP8[($5_1 + 2 | 0) >> 0] = $6_1 >>> 16 | 0; + HEAP8[($5_1 + 3 | 0) >> 0] = $6_1 >>> 24 | 0; + HEAP8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0) + 7 | 0) | 0) >> 0] = $31_1; + HEAP8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0) + 5 | 0) | 0) >> 0] = (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 8 | 0; + HEAP8[(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0) + 5 | 0) | 0) + 1 | 0) >> 0] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - ((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) & 65535 | 0) | 0) & 65535 | 0; + $761(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP16[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 18 | 0) >> 1] = HEAPU16[($4_1 + 12 | 0) >> 1] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + ((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 0] = $31_1; + HEAP16[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 26 | 0) >> 1] = (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) - 1 | 0; + HEAP16[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 1] = 0; + HEAP8[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 0] = 1; + global$0 = $4_1 + 32 | 0; + return; + } + + function $786($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $134$hi = 0, $5_1 = 0, $136$hi = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $296_1 = 0, $87_1 = 0, $130_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $45(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 48) | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + $3289((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 48) | 0 | 0, 0 | 0, Math_imul((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0, 48) | 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 92 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 48) | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + $134$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $136$hi = i64toi32_i32$1; + i64toi32_i32$1 = $134$hi; + i64toi32_i32$1 = $136$hi; + i64toi32_i32$1 = $134$hi; + i64toi32_i32$1 = $136$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + if (!($13_1 & 1 | 0)) { + break label$6 + } + i64toi32_i32$3 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $296_1 = i64toi32_i32$2; + i64toi32_i32$2 = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 48) | 0; + HEAP32[i64toi32_i32$2 >> 2] = $296_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$5; + } + i64toi32_i32$1 = 0; + i64toi32_i32$2 = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 48) | 0; + HEAP32[i64toi32_i32$2 >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[(((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 48) | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $87_1 = $516(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 48) | 0) + 16 | 0) >> 2] = $87_1; + label$7 : { + if ((HEAP32[(((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 48) | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $800(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 48) | 0) + 28 | 0 | 0); + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 96 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $130_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $130_1 | 0; + } + + function $787($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, i64toi32_i32$0 = 0, $121_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + HEAP32[($4_1 + 24 | 0) >> 2] = (((HEAP32[(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($5_1 | 0) ^ -1 | 0) ^ -1 | 0) & 1 | 0; + HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] = $5_1; + label$1 : { + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $739(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0, 0 | 0, $4_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($4_1 + 32 | 0) >> 2] | 0) { + break label$2 + } + if (!(HEAP32[($4_1 + 28 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $795(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, $4_1 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($4_1 + 32 | 0) >> 2] | 0) { + break label$3 + } + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $790(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($4_1 + 32 | 0) >> 2] | 0) { + break label$4 + } + label$5 : { + label$6 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$6 + } + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$6 + } + $449(); + label$7 : { + if ($716(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 2 | 0) | 0) { + break label$7 + } + $732(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + label$8 : { + if (((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$8 + } + $736(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + } + $450(); + break label$5; + } + label$9 : { + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 2049; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $618(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $4_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + label$11 : { + if (HEAP32[($4_1 + 32 | 0) >> 2] | 0) { + break label$11 + } + i64toi32_i32$0 = 0; + HEAP8[($4_1 + 11 | 0) >> 0] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, $4_1 + 11 | 0 | 0, 1 | 0, 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == (522 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + } + label$13 : { + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$13 + } + $622(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] = ((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0) & 1 | 0; + break label$10; + } + label$14 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == (14 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] = 1; + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + } + } + } + } + } + } + $121_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $121_1 | 0; + } + + function $788($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $739(HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0, 0 | 0, $3_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $790(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + label$7 : { + label$8 : { + if (HEAP32[($3_1 + 12 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $732(HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$7; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $782(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + break label$4; + } + label$9 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] = 0; + } + } + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $56_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $56_1 | 0; + } + + function $789($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + $710(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $796(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, $3_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + if (!(HEAP32[($3_1 + 4 | 0) >> 2] | 0)) { + break label$1 + } + } + $632(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + $16_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $16_1 | 0; + } + + function $790($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $50$hi = 0, $51$hi = 0, $52$hi = 0, $53$hi = 0, $54$hi = 0, $55$hi = 0, $50_1 = 0, $126_1 = 0, $139_1 = 0, $46_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $797(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$2 + } + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $50_1 = i64toi32_i32$0; + $50$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $51$hi; + $126_1 = i64toi32_i32$0; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$3 = $126_1; + i64toi32_i32$4 = $50_1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $52$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $53$hi = i64toi32_i32$5; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$5 = $53$hi; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) + $53$hi | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + $54$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $55$hi = i64toi32_i32$4; + i64toi32_i32$4 = $54$hi; + i64toi32_i32$4 = $55$hi; + $139_1 = i64toi32_i32$1; + i64toi32_i32$4 = $54$hi; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = __wasm_i64_sdiv(i64toi32_i32$0 | 0, i64toi32_i32$4 | 0, $139_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + HEAP32[($4_1 + 16 | 0) >> 2] = i64toi32_i32$1; + } + label$4 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 156 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 156 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $46_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $46_1 | 0; + } + + function $791($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $20_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $167(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $20_1 = $135(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 56 | 0) >> 2] = $20_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 9 | 0) >> 0] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 100 : 0; + } + $36_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $36_1 | 0; + } + + function $792($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $23_1 = 0, $33_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $23_1 = 1; + label$3 : { + if ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + $33_1 = 0; + label$4 : { + if (!((HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$4 + } + $33_1 = (HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0); + } + $23_1 = $33_1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $23_1 & 1 | 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $793($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $34_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $798(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 164 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $799(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[(i64toi32_i32$2 + 160 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $627(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $34_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $34_1 | 0; + } + + function $794($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $751(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $723(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $795($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $10_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $796($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0, $7_1 = 0, $8_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = 0; + label$1 : while (1) { + $7_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $8_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $11_1 = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + HEAP32[$4_1 >> 2] = $11_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $690($7_1 | 0, $8_1 | 0, 0 | 0, $11_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + if ((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + $20_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $20_1 | 0; + } + + function $797($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = 16; + if (!((((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $14_1 | 0) >> $14_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $798($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $716(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + $736(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + $10_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $10_1 | 0; + } + + function $799($0_1, $1_1, $2_1, $3_1, $4_1, $4$hi, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, $9_1 = 0, i64toi32_i32$1 = 0, $30_1 = 0, $169_1 = 0, $82_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $3_1; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 28 | 0) >> 2] = $5_1; + HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] = $9_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $114((HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 120 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) != ($9_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($8_1 + 60 | 0) >> 2] = 7; + break label$1; + } + $30_1 = 1; + HEAP32[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 120 | 0; + HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + HEAP16[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 1] = 65535; + i64toi32_i32$0 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $169_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $169_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 108 | 0) >> 2] = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 0] = $30_1; + HEAP8[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 49 | 0) >> 0] = $30_1; + HEAP8[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 43 | 0) >> 0] = HEAP32[($8_1 + 44 | 0) >> 2] | 0 ? 2 : 0; + HEAP32[($8_1 + 16 | 0) >> 2] = 524294; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $618(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, $8_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($8_1 + 24 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0) & 1 | 0)) { + break label$3 + } + HEAP8[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 46 | 0) >> 0] = 1; + } + label$4 : { + label$5 : { + if (!(HEAP32[($8_1 + 24 | 0) >> 2] | 0)) { + break label$5 + } + $707(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0); + $622(HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0); + break label$4; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $619(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0) & 1024 | 0)) { + break label$6 + } + HEAP8[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 0] = 0; + } + label$7 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0) & 4096 | 0)) { + break label$7 + } + HEAP8[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 49 | 0) >> 0] = 0; + } + HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + } + $82_1 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $82_1 | 0; + } + + function $800($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + return; + } + + function $801($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $115_1 = 0, $32_1 = 0, $112_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$3 + } + $32_1 = $516(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] = $32_1; + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 7; + break label$1; + } + label$5 : { + if ((HEAP32[(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$7 + } + $803(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + break label$6; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 6; + label$8 : { + label$9 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 4104 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(0 + 68396 | 0) >> 2] | 0; + break label$8; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 2048 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $804(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $635(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $666(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + } + } + label$11 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$11 + } + i64toi32_i32$0 = 0; + $115_1 = 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + i64toi32_i32$1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = $115_1; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAP8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 19 | 0) >> 0] = 0; + i64toi32_i32$1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 80 | 0) >> 2] = $115_1; + HEAP32[(i64toi32_i32$1 + 84 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $657(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + } + label$12 : { + label$13 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$13 + } + $521(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] = 0; + break label$12; + } + HEAP8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] = 3; + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $112_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $112_1 | 0; + } + + function $802($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $69$hi = 0, $70$hi = 0, $72$hi = 0, $73$hi = 0, $74$hi = 0, $75$hi = 0, $77$hi = 0, $47_1 = 0, $48_1 = 0, $98_1 = 0, $26_1 = 0, $27_1 = 0, $29_1 = 0, $34_1 = 0, $72_1 = 0, $194_1 = 0, $77_1 = 0, $229$hi = 0, $60_1 = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $98_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[$3_1 >> 2] = $98_1; + HEAP32[($3_1 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $748(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $12_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP16[($12_1 + 28 | 0) >> 1] = (HEAPU16[($12_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $664(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + break label$1; + } + $26_1 = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + $27_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $29_1 = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $69$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $70$hi = i64toi32_i32$1; + i64toi32_i32$1 = $69$hi; + i64toi32_i32$1 = $70$hi; + i64toi32_i32$1 = $69$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $147($26_1 | 0, $27_1 | 0, $29_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + break label$1; + } + $34_1 = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = $3_1; + i64toi32_i32$5 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $72_1 = i64toi32_i32$5; + $72$hi = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $73$hi = i64toi32_i32$2; + i64toi32_i32$2 = $72$hi; + i64toi32_i32$2 = $73$hi; + $194_1 = i64toi32_i32$5; + i64toi32_i32$2 = $72$hi; + i64toi32_i32$1 = $72_1; + i64toi32_i32$5 = $73$hi; + i64toi32_i32$3 = $194_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $74$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $75$hi = i64toi32_i32$4; + i64toi32_i32$4 = $74$hi; + i64toi32_i32$4 = $75$hi; + i64toi32_i32$4 = $74$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = $75$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $664($34_1 | 0, i64toi32_i32$5 | 0, i64toi32_i32$0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$2 = (HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $77_1 = i64toi32_i32$2; + $77$hi = i64toi32_i32$0; + $47_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = $47_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 76 | 0) >> 2] | 0; + $229$hi = i64toi32_i32$2; + i64toi32_i32$2 = $77$hi; + i64toi32_i32$2 = $229$hi; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$0 = $77$hi; + i64toi32_i32$3 = $77_1; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$4 = $47_1; + HEAP32[(i64toi32_i32$4 + 72 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$4 + 76 | 0) >> 2] = i64toi32_i32$5; + $48_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($48_1 + 44 | 0) >> 2] = (HEAP32[($48_1 + 44 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $517(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $60_1 = $665(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0 | $60_1 | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + } + $64_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $64_1 | 0; + } + + function $803($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $666($4_1 | 0, $4_1 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0, -1 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $804($0_1) { + $0_1 = $0_1 | 0; + HEAP32[((global$0 - 16 | 0) + 12 | 0) >> 2] = $0_1; + return 0 | 0; + } + + function $805($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] = 0; + $16_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($16_1 + 24 | 0) >> 1] = ((HEAPU16[($16_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -193 | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 0] = 1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$3; + }; + } + } + return; + } + + function $806($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $52_1 = 0, $66_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 76 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[$3_1 >> 2] | 0) + 12 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$5 + } + $42(HEAP32[$3_1 >> 2] | 0 | 0); + } + break label$3; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[$3_1 >> 2] | 0) + 12 | 0; + } + continue label$2; + }; + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] = 0; + $52_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($52_1 + 24 | 0) >> 1] = ((HEAPU16[($52_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -193 | 0; + break label$6; + } + label$8 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$8 + } + $66_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($66_1 + 24 | 0) >> 1] = ((HEAPU16[($66_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -129 | 0; + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $807($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP8[($13_1 + 1 | 0) >> 0] = ((HEAPU8[($13_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -5 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$2; + }; + } + return; + } + + function $808($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 2 >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 0) / (5 >>> 0) | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 2 | 0) >>> 0) / ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 2 | 0; + label$3 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $809($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $65_1 = 0, $83_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 0) / (5 >>> 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (((((HEAP32[($5_1 + 20 | 0) >> 2] | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) + ($808(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0) | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >>> 0) / ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 8 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) - (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + label$1 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0 > ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0) >>> 0 & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 < ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0) >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + } + label$2 : while (1) { + $65_1 = 1; + label$3 : { + if (($808(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + $65_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0); + } + label$4 : { + if (!($65_1 & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + } + break label$2; + }; + $83_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $83_1 | 0; + } + + function $810($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $87_1 = 0, $113_1 = 0, $152_1 = 0, $168_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (($808(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$2 + } + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) != ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 101; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $812(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, $6_1 + 35 | 0 | 0, $6_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (!(((HEAPU8[($6_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(68504 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$6 : { + label$7 : { + if (!(((HEAPU8[($6_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (HEAP32[($6_1 + 44 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $813(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, $6_1 + 20 | 0 | 0, $6_1 + 24 | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + $814(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + break label$6; + } + $87_1 = 0; + HEAP8[($6_1 + 11 | 0) >> 0] = 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $87_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $201(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0, $87_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$10 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + label$11 : { + if (HEAP32[($6_1 + 44 | 0) >> 2] | 0) { + break label$11 + } + HEAP8[($6_1 + 11 | 0) >> 0] = 2; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + } + label$12 : while (1) { + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $813(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, $6_1 | 0, $6_1 + 16 | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($6_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$13 + } + $814(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + $814(HEAP32[$6_1 >> 2] | 0 | 0); + $113_1 = 0; + label$14 : { + if (!(HEAP32[($6_1 + 44 | 0) >> 2] | 0)) { + break label$14 + } + $113_1 = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) >>> 0 > (HEAP32[($6_1 + 52 | 0) >> 2] | 0) >>> 0; + } + if ($113_1 & 1 | 0) { + continue label$12 + } + break label$12; + }; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $815(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($6_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $814(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + label$15 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$15 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + } + } + label$16 : { + if (HEAP32[($6_1 + 44 | 0) >> 2] | 0) { + break label$16 + } + label$17 : while (1) { + HEAP32[($6_1 + 48 | 0) >> 2] = (HEAP32[($6_1 + 48 | 0) >> 2] | 0) + -1 | 0; + $152_1 = 1; + label$18 : { + if ((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0) { + break label$18 + } + $152_1 = ($808(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + } + if ($152_1 & 1 | 0) { + continue label$17 + } + break label$17; + }; + HEAP8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 19 | 0) >> 0] = 1; + HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + } + $168_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $168_1 | 0; + } + + function $811($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : while (1) { + label$3 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if ((0 | 0) == (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + } + label$5 : { + label$6 : { + label$7 : { + if (!((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$7 + } + if (!(((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$6 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $816(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((0 | 0) != (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + break label$5; + } + $817(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + continue label$2 + } + break label$2; + }; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $63_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $63_1 | 0; + } + + function $812($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $56_1 = 0, $82_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $808(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $134(HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, $6_1 + 24 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $135(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 12 | 0) >> 2] = Math_imul(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) - (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) - 1 | 0, 5); + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + $137(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(65794 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP8[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0; + label$4 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $56_1 = $161((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = $56_1; + } + $137(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + label$5 : { + label$6 : { + if (((HEAPU8[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < (1 | 0) & 1 | 0) { + break label$6 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$5 + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(65802 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $82_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $82_1 | 0; + } + + function $813($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $15_1 = 0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $8_1 = 0, $116_1 = 0, $485_1 = 0, $533_1 = 0, $550_1 = 0, $568_1 = 0, $601_1 = 0, $619_1 = 0, $653_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 112 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $3_1; + HEAP8[($7_1 + 91 | 0) >> 0] = $4_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $165(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($7_1 + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(70670 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + label$5 : { + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$5 + } + HEAP8[($7_1 + 55 | 0) >> 0] = 0; + HEAP32[($7_1 + 48 | 0) >> 2] = 0; + label$6 : { + label$7 : { + if (!(((HEAPU8[($7_1 + 91 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[($7_1 + 92 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($7_1 + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $812(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0, $7_1 + 47 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + break label$1; + } + label$10 : { + if (!(((HEAPU8[($7_1 + 47 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$10 + } + HEAP8[($7_1 + 55 | 0) >> 0] = 1; + } + } + break label$6; + } + label$11 : { + if (!(((HEAPU8[($7_1 + 91 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$11 + } + HEAP8[($7_1 + 55 | 0) >> 0] = 1; + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + break label$1; + } + $162((HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($7_1 + 76 | 0) >> 2] | 0) - 1 | 0 | 0); + label$13 : while (1) { + HEAP32[($7_1 + 64 | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161(HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + break label$14; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + label$16 : { + label$17 : { + label$18 : { + if ((HEAP32[($7_1 + 56 | 0) >> 2] | 0) >>> 0 > (HEAP32[($7_1 + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$18 + } + $116_1 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = $116_1 + 1 | 0; + if (!($116_1 >>> 0 > (HEAP32[($7_1 + 76 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$17 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(70726 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + break label$16; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $827(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, $7_1 + 68 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + label$19 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$19 + } + HEAP32[($7_1 + 68 | 0) >> 2] = 0; + break label$3; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + label$21 : { + if (HEAP32[($7_1 + 72 | 0) >> 2] | 0) { + break label$21 + } + if (((HEAPU8[($7_1 + 55 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$21 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$22 + } + break label$3; + } + HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + $15_1 = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $16_1 = (HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 32 | 0; + $17_1 = HEAPU8[$15_1 >> 0] | 0 | ((HEAPU8[($15_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($15_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($15_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$16_1 >> 0] = $17_1; + HEAP8[($16_1 + 1 | 0) >> 0] = $17_1 >>> 8 | 0; + HEAP8[($16_1 + 2 | 0) >> 0] = $17_1 >>> 16 | 0; + HEAP8[($16_1 + 3 | 0) >> 0] = $17_1 >>> 24 | 0; + HEAP32[(HEAP32[($7_1 + 100 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = 0; + break label$20; + } + label$23 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0) >>> 0 > (((HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 2 | 0) - 2 | 0) >>> 0 & 1 | 0)) { + break label$23 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(70755 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + label$24 : { + label$25 : { + if (!((HEAPU8[($7_1 + 55 | 0) >> 0] | 0) & 255 | 0)) { + break label$25 + } + label$26 : { + if ((HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$26 + } + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 92 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$25 + } + if (!(((HEAPU8[($7_1 + 91 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$25 + } + } + HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 100 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP8[($7_1 + 55 | 0) >> 0] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$27 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$27 + } + break label$3; + } + label$28 : { + label$29 : { + if (HEAP32[($7_1 + 72 | 0) >> 2] | 0) { + break label$29 + } + label$30 : { + label$31 : { + if ((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$31 + } + $18_1 = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $19_1 = (HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 32 | 0; + $20_1 = HEAPU8[$18_1 >> 0] | 0 | ((HEAPU8[($18_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($18_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($18_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$19_1 >> 0] = $20_1; + HEAP8[($19_1 + 1 | 0) >> 0] = $20_1 >>> 8 | 0; + HEAP8[($19_1 + 2 | 0) >> 0] = $20_1 >>> 16 | 0; + HEAP8[($19_1 + 3 | 0) >> 0] = $20_1 >>> 24 | 0; + break label$30; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$32 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$32 + } + break label$3; + } + $21_1 = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $22_1 = HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $23_1 = HEAPU8[$21_1 >> 0] | 0 | ((HEAPU8[($21_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($21_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($21_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$22_1 >> 0] = $23_1; + HEAP8[($22_1 + 1 | 0) >> 0] = $23_1 >>> 8 | 0; + HEAP8[($22_1 + 2 | 0) >> 0] = $23_1 >>> 16 | 0; + HEAP8[($22_1 + 3 | 0) >> 0] = $23_1 >>> 24 | 0; + } + break label$28; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$33 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0) >>> 0 > (HEAP32[($7_1 + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$33 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(70789 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $827(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $7_1 + 40 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$34 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$34 + } + break label$3; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$35 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$35 + } + $814(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + break label$3; + } + $24_1 = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $25_1 = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $26_1 = HEAPU8[$24_1 >> 0] | 0 | ((HEAPU8[($24_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($24_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($24_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$25_1 >> 0] = $26_1; + HEAP8[($25_1 + 1 | 0) >> 0] = $26_1 >>> 8 | 0; + HEAP8[($25_1 + 2 | 0) >> 0] = $26_1 >>> 16 | 0; + HEAP8[($25_1 + 3 | 0) >> 0] = $26_1 >>> 24 | 0; + $162((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 72 | 0) >> 2] | 0) - 1 | 0 | 0); + $3288((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 12 | 0 | 0, ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) - 1 | 0) << 2 | 0 | 0) | 0; + $814(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + label$36 : { + label$37 : { + if ((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$37 + } + $162((HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 32 | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + break label$36; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$38 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$38 + } + break label$3; + } + $162(HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($7_1 + 68 | 0) >> 2] = 0; + break label$24; + } + label$39 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$39 + } + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + label$40 : { + label$41 : { + if (!((HEAP32[($7_1 + 92 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$41 + } + HEAP32[($7_1 + 32 | 0) >> 2] = 0; + label$42 : { + label$43 : { + if (!(((HEAPU8[($7_1 + 91 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$43 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + label$44 : { + label$45 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 72 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$44 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) + 8 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$46 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($7_1 + 92 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$46 + } + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + break label$44; + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$45; + }; + } + break label$42; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $828(($161((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 8 | 0 | 0) | 0) - (HEAP32[($7_1 + 92 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 20 | 0) >> 2] = 1; + label$47 : { + label$48 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 72 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$47 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $828(($161((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) + 8 | 0) | 0 | 0) | 0) - (HEAP32[($7_1 + 92 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$49 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$49 + } + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$48; + }; + } + } + break label$40; + } + HEAP32[($7_1 + 32 | 0) >> 2] = 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << 2 | 0) + 8 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$50 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0 > (HEAP32[($7_1 + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$50 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(70854 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + label$51 : { + label$52 : { + if (!(((HEAPU8[($7_1 + 55 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$52 + } + if ((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$52 + } + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 92 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$51 + } + if (!(((HEAPU8[($7_1 + 91 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$51 + } + } + HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$53 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$53 + } + break label$3; + } + label$54 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0) >>> 0 < ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) - 1 | 0) >>> 0 & 1 | 0)) { + break label$54 + } + $27_1 = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 72 | 0) >> 2] | 0) << 2 | 0) + 4 | 0) | 0; + $28_1 = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << 2 | 0) + 8 | 0) | 0; + $29_1 = HEAPU8[$27_1 >> 0] | 0 | ((HEAPU8[($27_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($27_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($27_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$28_1 >> 0] = $29_1; + HEAP8[($28_1 + 1 | 0) >> 0] = $29_1 >>> 8 | 0; + HEAP8[($28_1 + 2 | 0) >> 0] = $29_1 >>> 16 | 0; + HEAP8[($28_1 + 3 | 0) >> 0] = $29_1 >>> 24 | 0; + } + $485_1 = 0; + $162((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 72 | 0) >> 2] | 0) - 1 | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = (($829(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != ($485_1 | 0) ^ -1 | 0) & 1 | 0 ? 1 : $485_1), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $827(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$55 : { + if (HEAP32[($7_1 + 80 | 0) >> 2] | 0) { + break label$55 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[(HEAP32[($7_1 + 100 | 0) >> 2] | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$56 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$56 + } + $814(HEAP32[(HEAP32[($7_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($7_1 + 100 | 0) >> 2] | 0) >> 2] = 0; + } + } + HEAP8[($7_1 + 55 | 0) >> 0] = 0; + } + } + } + } + $814(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 64 | 0) >> 2] = 0; + if (((HEAPU8[($7_1 + 55 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + continue label$13 + } + break label$13; + }; + break label$4; + } + $533_1 = 0; + HEAP32[($7_1 + 4 | 0) >> 2] = ($533_1 | 0) == ((HEAPU8[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0 ? 1 : $533_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$57 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$57 + } + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + break label$1; + } + $550_1 = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + HEAP32[($550_1 + 48 | 0) >> 2] = (HEAP32[($550_1 + 48 | 0) >> 2] | 0) + 1 | 0; + label$58 : { + if (!((HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$58 + } + $568_1 = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + HEAP32[($568_1 + 48 | 0) >> 2] = (HEAP32[($568_1 + 48 | 0) >> 2] | 0) + 1 | 0; + } + label$59 : { + if (!((HEAPU8[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0)) { + break label$59 + } + if (!(($808(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$59 + } + HEAP32[$7_1 >> 2] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $827(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, $7_1 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$60 : { + if (HEAP32[($7_1 + 80 | 0) >> 2] | 0) { + break label$60 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[$7_1 >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + $814(HEAP32[$7_1 >> 2] | 0 | 0); + } + label$61 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$61 + } + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + break label$1; + } + $601_1 = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + HEAP32[($601_1 + 48 | 0) >> 2] = (HEAP32[($601_1 + 48 | 0) >> 2] | 0) + 1 | 0; + label$62 : { + if (!((HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$62 + } + $619_1 = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + HEAP32[($619_1 + 48 | 0) >> 2] = (HEAP32[($619_1 + 48 | 0) >> 2] | 0) + 1 | 0; + } + } + $162((HEAP32[((HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 28 | 0 | 0, HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $827(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$63 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$63 + } + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[(HEAP32[($7_1 + 100 | 0) >> 2] | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$64 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$64 + } + $814(HEAP32[(HEAP32[($7_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($7_1 + 100 | 0) >> 2] | 0) >> 2] = 0; + } + } + } + $814(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + $814(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + } + $653_1 = HEAP32[($7_1 + 108 | 0) >> 2] | 0; + global$0 = $7_1 + 112 | 0; + return $653_1 | 0; + } + + function $814($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $819(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $815($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $112_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $1_1; + HEAP8[($8_1 + 35 | 0) >> 0] = $2_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0) >>> 0 < 3 >>> 0 & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $694(68406 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $830(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($8_1 + 4 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + label$4 : { + label$5 : { + label$6 : { + if (((HEAPU8[($8_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) == (5 | 0) & 1 | 0) { + break label$6 + } + if (!(((HEAPU8[($8_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $831(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($8_1 + 4 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + break label$1; + } + break label$4; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $161(HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[$8_1 >> 2] | 0)) { + break label$8 + } + $832(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[$8_1 >> 2] | 0 | 0, 4 & 255 | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, $8_1 + 4 | 0 | 0); + label$9 : { + if (!(HEAP32[($8_1 + 4 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + break label$1; + } + } + } + label$10 : { + if (!(((HEAPU8[($8_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $201(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, $8_1 + 16 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($8_1 + 4 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($8_1 + 4 | 0) >> 2] | 0)) { + break label$12 + } + $814(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $833(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $814(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0); + label$13 : { + if (HEAP32[($8_1 + 4 | 0) >> 2] | 0) { + break label$13 + } + $832(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, $8_1 + 4 | 0 | 0); + } + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + } + $112_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $112_1 | 0; + } + + function $816($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $31_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 64 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 2835; + break label$1; + } + label$3 : { + label$4 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] = 0; + break label$3; + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $818(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + $817(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] = 3; + } + $31_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP8[($31_1 + 1 | 0) >> 0] = ((HEAPU8[($31_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -15 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + $38_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $38_1 | 0; + } + + function $817($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $19_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = 24; + label$1 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + $19_1 = 24; + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) & 1 | 0)) { + break label$2 + } + $819(HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 120 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $819(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 0] = 255; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $818($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, $3_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, $16_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $55$hi = 0, $56$hi = 0, $57$hi = 0, $58$hi = 0, $97_1 = 0, $17_1 = 0, $54_1 = 0, $50_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 69 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = $820(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $97_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] = $97_1; + HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + $17_1 = 0; + i64toi32_i32$1 = 0; + $54_1 = $821(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] = $54_1; + HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $55$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $56$hi = i64toi32_i32$0; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$3 = 9; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $57$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $58$hi = i64toi32_i32$5; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$5 = $58$hi; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$3 = 8; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $39(i64toi32_i32$1 | 0, i64toi32_i32$4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != ($17_1 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$5 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $822(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$4 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$5 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 56 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 60 | 0) >> 2] | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + i64toi32_i32$0 | 0; + $16_1 = 0; + HEAP8[i64toi32_i32$0 >> 0] = $16_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $16_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $16_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $16_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$4; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$4 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$4 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$4 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 16 | 0) >> 0] = 0; + i64toi32_i32$0 = i64toi32_i32$0 + 8 | 0; + HEAP8[i64toi32_i32$0 >> 0] = $16_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $16_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $16_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $16_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$4; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$4 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$4 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$4 >>> 24 | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + break label$5; + } + $42(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + } + break label$3; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 7; + } + } + $50_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $50_1 | 0; + } + + function $819($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $168(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $820($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $823(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $821($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $823(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $6_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $6_1 | 0; + } + + function $822($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $12_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $12_1 = $388(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $12_1 | 0; + } + + function $823($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0) { + break label$2 + } + $8_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP8[($8_1 + 1 | 0) >> 0] = (HEAPU8[($8_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 2 | 0; + $824(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0 | 0); + break label$1; + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $824($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 12 | 0) >> 2] | 0, (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $825($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + label$3 : { + if (!(HEAP32[($7_1 + 12 | 0) >> 2] | 0)) { + break label$3 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($7_1 + 4 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $3288(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0; + break label$2; + } + $3288(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + } + $20_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $20_1 | 0; + } + + function $826($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $8_1 = 0, $31_1 = 0, $90_1 = 0, $125_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $8_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $8_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + label$2 : while (1) { + $31_1 = 1; + label$3 : { + if (($808(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + $31_1 = (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0); + } + label$4 : { + if (!($31_1 & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + label$5 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0) >>> 0 <= ($165(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $812(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $6_1 + 11 | 0 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + if (!(((HEAPU8[($6_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 101; + } + } + } + label$7 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$7 + } + $90_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $201(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $6_1 + 24 | 0 | 0, ((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == ($90_1 | 0) & 1 | 0 ? 2 : $90_1) | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + break label$9; + } + $814(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + label$11 : { + label$12 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$12 + } + $125_1 = 0; + break label$11; + } + $125_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + global$0 = $6_1 + 48 | 0; + return $125_1 | 0; + } + + function $827($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $35_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $201(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + if (!(($625(HEAP32[((HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$4 + } + $814(HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(66994 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP8[(HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0) >> 0] = 0; + break label$2; + } + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + $35_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $35_1 | 0; + } + + function $828($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (-2147483648 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 2147483647; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0 - (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $829($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $25_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + $15_1 = 0; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $25_1 = 1; + label$2 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 > ($520(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0) { + break label$2 + } + $25_1 = ($662(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + $15_1 = $25_1; + } + global$0 = $4_1 + 16 | 0; + return $15_1 & 1 | 0 | 0; + } + + function $830($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $30_1 = 0, $47_1 = 0, $65_1 = 0, $83_1 = 0, $145_1 = 0, $154_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $145(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + break label$1; + } + } + label$4 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$4 + } + $30_1 = $173(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $30_1; + if (!((0 | 0) != ($30_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$5 + } + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + } + $47_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP16[($47_1 + 28 | 0) >> 1] = ((HEAPU16[($47_1 + 28 | 0) >> 1] | 0) & 65535 | 0) & -9 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $749(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $65_1 = 16; + label$7 : { + if (!((((HEAPU16[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 30 | 0) >> 1] | 0) << $65_1 | 0) >> $65_1 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$7 + } + $168(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(59042 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $83_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP16[($83_1 + 28 | 0) >> 1] = (HEAPU16[($83_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | (((HEAPU16[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0) | 0; + label$8 : { + label$9 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + $834(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0 | 0); + break label$8; + } + $722(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $834(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + $750(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + label$10 : { + if (!((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0)) { + break label$10 + } + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $834(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + $168(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$11 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $134(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$12 + } + label$13 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$13 + } + $518(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + break label$1; + } + $145_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP16[($145_1 + 28 | 0) >> 1] = (HEAPU16[($145_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + $750(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + $168(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $154_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $154_1 | 0; + } + + function $831($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0, $120_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + $13_1 = 0; + break label$1; + } + $13_1 = $626(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($3_1 + 28 | 0) >> 2] = $13_1; + label$3 : { + label$4 : { + if (!(HEAP32[($3_1 + 28 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + break label$3; + } + HEAP32[($3_1 + 32 | 0) >> 2] = (HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 36 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 36 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + $835(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, $3_1 + 28 | 0 | 0); + label$7 : { + if (((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$7 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $832(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 5 & 255 | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $3_1 + 28 | 0 | 0); + } + HEAP32[($3_1 + 36 | 0) >> 2] = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$8 : { + if (((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$8 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $832(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 5 & 255 | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $3_1 + 28 | 0 | 0); + } + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + } + $120_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $120_1 | 0; + } + + function $832($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $31_1 = 0, $83_1 = 0, $12_1 = 0, $35_1 = 0, $52_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP8[($7_1 + 39 | 0) >> 0] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!(HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (HEAP32[($7_1 + 40 | 0) >> 2] | 0) { + break label$3 + } + $12_1 = $694(65731 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = $12_1; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $808(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $134(HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, $7_1 + 24 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + break label$1; + } + $31_1 = 24; + label$5 : { + label$6 : { + if (!(((HEAPU8[($167(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0) >> 0] | 0) << $31_1 | 0) >> $31_1 | 0)) { + break label$6 + } + $35_1 = $694(65744 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = $35_1; + break label$5; + } + HEAP32[($7_1 + 12 | 0) >> 2] = Math_imul(((HEAP32[($7_1 + 40 | 0) >> 2] | 0) - (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0) - 1 | 0, 5); + label$7 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$7 + } + $52_1 = $694(65749 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = $52_1; + break label$5; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $135(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if (((HEAPU8[($7_1 + 39 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + break label$9 + } + if (!(($161((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0 | 0) | 0 | 0) != (HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + } + $83_1 = $145(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = $83_1; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = $83_1; + label$10 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$10 + } + HEAP8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[($7_1 + 39 | 0) >> 0] | 0; + $162((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + } + } + } + $137(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 48 | 0; + return; + } + + function $833($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $35_1 = 0, $203_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + HEAP8[($6_1 + 47 | 0) >> 0] = $3_1; + label$1 : { + label$2 : { + label$3 : { + if (!(((HEAPU8[($6_1 + 47 | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (!(($161(HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(68334 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $162(HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$2; + } + label$5 : { + label$6 : { + if (!((HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$6 + } + $35_1 = 0; + break label$5; + } + $35_1 = $626(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($6_1 + 32 | 0) >> 2] = $35_1; + label$7 : { + if (!(HEAP32[($6_1 + 32 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAPU16[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + label$10 : { + label$11 : { + if (!(((HEAPU8[($6_1 + 47 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$11 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 56 | 0) >> 2] | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0, $6_1); + label$12 : { + if (!(((HEAPU16[($6_1 + 16 | 0) >> 1] | 0) & 65535 | 0) >>> 0 < (HEAP32[($6_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$12 + } + label$13 : { + if (!(((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAPU16[($6_1 + 18 | 0) >> 1] | 0) & 65535 | 0) | 0) >>> 0 > ((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (HEAP32[((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0) >>> 0 & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(68353 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$14 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) == ($161(((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAPU16[($6_1 + 18 | 0) >> 1] | 0) & 65535 | 0) | 0) + -4 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$14 + } + $162(((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAPU16[($6_1 + 18 | 0) >> 1] | 0) & 65535 | 0) | 0) + -4 | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$8; + } + } + break label$10; + } + label$15 : { + if (!(($161(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + $162(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$8; + } + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$16 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + label$18 : { + if (((HEAPU8[($6_1 + 47 | 0) >> 0] | 0) & 255 | 0 | 0) != (5 | 0) & 1 | 0) { + break label$18 + } + if (!(($161((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0) | 0 | 0) != (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(68371 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $162((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + } + $203_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $203_1 | 0; + } + + function $834($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(0 + 68504 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0, HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0); + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$1 + } + if (!(((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$1 + } + $660(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 3 & 255 | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $835($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $46_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 44 | 0) >> 2] | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0, $6_1 + 8 | 0); + if (!(((HEAPU16[($6_1 + 24 | 0) >> 1] | 0) & 65535 | 0) >>> 0 < (HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >>> 0 < ((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + ((HEAPU16[($6_1 + 24 | 0) >> 1] | 0) & 65535 | 0) | 0) >>> 0 & 1 | 0)) { + break label$3 + } + $46_1 = $694(66116 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $46_1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) & 65535 | 0) - 4 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $832(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, 3 & 255 | 0 | 0, HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $836($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + HEAP8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] = 1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $837($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $839(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $838($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $11_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[$11_1 >> 2] = (HEAP32[$11_1 >> 2] | 0) + -1 | 0; + label$2 : { + if (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$2 + } + $23(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $839($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16 | 0)) { + break label$1 + } + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $840($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$1 + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $841($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $6_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + if (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $211(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + label$2 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0; + } + $13(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $842($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $24_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$3; + }; + } + $24_1 = 0; + $848(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 196 | 0) >> 2] = $24_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] = $24_1; + } + $849(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $21(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + label$5 : { + label$6 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 200 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $850(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + continue label$6; + }; + } + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $851(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0 | 0, -1 | 0, 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $843($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 156 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$3 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$4 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 156 | 0) >> 2] | 0) & (1 << (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0) | 0)) { + break label$4 + } + if (!((HEAP32[(((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $127(HEAP32[(((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $844($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $30$hi = 0, $36$hi = 0, $31$hi = 0, $32$hi = 0, i64toi32_i32$4 = 0, $34$hi = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $38$hi = 0, $22_1 = 0, $23_1 = 0, $24_1 = 0, $30_1 = 0, $31_1 = 0, $68_1 = 0, $27_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $30_1 = 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 464 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 468 | 0) >> 2] | 0; + $31_1 = i64toi32_i32$0; + $31$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 472 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 476 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$0; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $32$hi; + $68_1 = i64toi32_i32$1; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$2 = $31_1; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$3 = $68_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $34$hi = i64toi32_i32$5; + i64toi32_i32$5 = $30$hi; + i64toi32_i32$5 = $34$hi; + i64toi32_i32$5 = $30$hi; + i64toi32_i32$5 = $34$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$3 = $30_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$2 | 0)) { + $19_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $20_1 = 0 + } else { + $20_1 = 1 + } + $21_1 = $20_1; + } else { + $21_1 = 0 + } + $19_1 = $21_1; + } + if ($19_1 & 1 | 0) { + break label$3 + } + } + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + $36$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 64 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 68 | 0) >> 2] | 0; + $38$hi = i64toi32_i32$5; + i64toi32_i32$5 = $36$hi; + i64toi32_i32$5 = $38$hi; + i64toi32_i32$5 = $36$hi; + i64toi32_i32$5 = $38$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$0 | 0)) { + $22_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$2 >>> 0) { + $23_1 = 0 + } else { + $23_1 = 1 + } + $24_1 = $23_1; + } else { + $24_1 = 0 + } + $22_1 = $24_1; + } + if (!($22_1 & 1 | 0)) { + break label$2 + } + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = 787; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 146 | 0) >> 0] = 2; + $852(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 4961 | 0, 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $27_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $27_1 | 0; + } + + function $845($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5_1 = 0, $173_1 = 0, i64toi32_i32$5 = 0, $11_1 = 0, $36_1 = 0, $108_1 = 0, $141_1 = 0, $184_1 = 0, $257_1 = 0, $453$hi = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $352_1 = 0, $370_1 = 0, $182_1 = 0, $183_1 = 0, $235_1 = 0, $240_1 = 0, $314_1 = 0, $315_1 = 0, $319_1 = 0, $453_1 = 0, $1157$hi = 0, $448_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 176 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 168 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 164 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 156 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 152 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 148 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $853(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 164 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 160 | 0) >> 2] = $5_1; + label$1 : while (1) { + $11_1 = 0; + label$2 : { + if (HEAP32[($4_1 + 152 | 0) >> 2] | 0) { + break label$2 + } + $11_1 = (HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($11_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 144 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$4 : { + if (!(($125(HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + $36_1 = 1; + HEAP32[($4_1 + 148 | 0) >> 2] = $36_1; + $127(HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $9(HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(((HEAPU8[(((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != ($36_1 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAPU8[(($132(HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) | 0) + 4991 | 0) >> 0] | 0) & 255 | 0)) { + break label$5 + } + if ($166(HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + HEAP32[($4_1 + 156 | 0) >> 2] = (HEAP32[($4_1 + 156 | 0) >> 2] | 0) + 1 | 0; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $655(HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 160 | 0) >> 2] = (HEAP32[($4_1 + 160 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$6 : { + label$7 : { + if (!(HEAP32[($4_1 + 152 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($4_1 + 172 | 0) >> 2] = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + break label$6; + } + label$8 : { + if (!(HEAP32[($4_1 + 148 | 0) >> 2] | 0)) { + break label$8 + } + if (!((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($4_1 + 152 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($4_1 + 172 | 0) >> 2] = 531; + break label$6; + } + } + label$10 : { + label$11 : { + label$12 : { + if ((0 | 0) == ($68($531(HEAP32[((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0) & 1 | 0) { + break label$12 + } + if (!((HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$11 + } + } + HEAP32[($4_1 + 160 | 0) >> 2] = 0; + label$13 : while (1) { + $108_1 = 0; + label$14 : { + if (HEAP32[($4_1 + 152 | 0) >> 2] | 0) { + break label$14 + } + $108_1 = (HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + label$15 : { + if (!($108_1 & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 136 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$16 : { + if (!((HEAP32[($4_1 + 136 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $152(HEAP32[($4_1 + 136 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 160 | 0) >> 2] = (HEAP32[($4_1 + 160 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + } + break label$13; + }; + HEAP32[($4_1 + 160 | 0) >> 2] = 0; + label$17 : while (1) { + $141_1 = 0; + label$18 : { + if (HEAP32[($4_1 + 152 | 0) >> 2] | 0) { + break label$18 + } + $141_1 = (HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + label$19 : { + if (!($141_1 & 1 | 0)) { + break label$19 + } + HEAP32[($4_1 + 132 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$20 : { + if (!((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $151(HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 160 | 0) >> 2] = (HEAP32[($4_1 + 160 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + } + break label$17; + }; + label$21 : { + if (HEAP32[($4_1 + 152 | 0) >> 2] | 0) { + break label$21 + } + $854(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0) | 0; + } + break label$10; + } + $173_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 128 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 168 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 124 | 0) >> 2] = $173_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $531(HEAP32[((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 116 | 0) >> 2] = $173_1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 104 | 0) >> 2] = 0; + HEAP32[($4_1 + 108 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 96 | 0) >> 2] = $173_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $68(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $182_1 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + $183_1 = HEAP32[($4_1 + 120 | 0) >> 2] | 0; + $184_1 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $184_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $183_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $184_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $351($182_1 | 0, 4997 | 0, $4_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!((HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($4_1 + 172 | 0) >> 2] = 7; + break label$6; + } + HEAP32[($4_1 + 124 | 0) >> 2] = (HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0; + label$23 : { + label$24 : while (1) { + label$25 : { + if (!(HEAP32[($4_1 + 96 | 0) >> 2] | 0)) { + break label$25 + } + label$26 : { + if (!((HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) > (100 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + $82(13 | 0, 5009 | 0, $4_1 | 0); + $732(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + break label$23; + } + label$27 : { + if (!((HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + $82(13 | 0, 5023 | 0, $4_1 + 32 | 0 | 0); + } + } + HEAP32[($4_1 + 96 | 0) >> 2] = (HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 1 | 0; + $85(4 | 0, $4_1 + 88 | 0 | 0); + $235_1 = (HEAP32[($4_1 + 124 | 0) >> 2] | 0) + (HEAP32[($4_1 + 92 | 0) >> 2] | 0) | 0; + $240_1 = ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) >>> 8 | 0) & 16777215 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 88 | 0) >> 2] | 0) & 255 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $240_1; + $81(13 | 0, $235_1 | 0, 5038 | 0, $4_1 + 16 | 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $739(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, 0 | 0, $4_1 + 100 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + $257_1 = 0; + label$28 : { + if (HEAP32[($4_1 + 152 | 0) >> 2] | 0) { + break label$28 + } + $257_1 = (HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0); + } + if ($257_1 & 1 | 0) { + continue label$24 + } + break label$24; + }; + } + label$29 : { + if (HEAP32[($4_1 + 152 | 0) >> 2] | 0) { + break label$29 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $855(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, $4_1 + 116 | 0 | 0, 16406 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + } + label$30 : { + if (!(HEAP32[($4_1 + 152 | 0) >> 2] | 0)) { + break label$30 + } + $13(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 124 | 0) >> 2] | 0) + -4 | 0 | 0); + HEAP32[($4_1 + 172 | 0) >> 2] = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + break label$6; + } + HEAP32[($4_1 + 160 | 0) >> 2] = 0; + label$31 : { + label$32 : while (1) { + if (!((HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$33 : { + label$34 : { + if (!(($125(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$34 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $856(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$35 : { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$35 + } + break label$33; + } + $314_1 = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + $315_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + $319_1 = ($68(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $147($314_1 | 0, $315_1 | 0, $319_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = ($68(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $453_1 = i64toi32_i32$0; + $453$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + $1157$hi = i64toi32_i32$0; + i64toi32_i32$0 = $453$hi; + i64toi32_i32$0 = $1157$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $453$hi; + i64toi32_i32$3 = $453_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 104 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 108 | 0) >> 2] = i64toi32_i32$5; + label$36 : { + if (!(HEAP32[($4_1 + 152 | 0) >> 2] | 0)) { + break label$36 + } + $857(HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0); + $732(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $13(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 124 | 0) >> 2] | 0) + -4 | 0 | 0); + HEAP32[($4_1 + 172 | 0) >> 2] = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + break label$6; + } + } + } + HEAP32[($4_1 + 160 | 0) >> 2] = (HEAP32[($4_1 + 160 | 0) >> 2] | 0) + 1 | 0; + continue label$32; + }; + } + label$37 : { + if (!((0 | 0) == (($619(HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) | 0) & 1024 | 0 | 0) & 1 | 0)) { + break label$37 + } + $352_1 = $190(HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + HEAP32[($4_1 + 152 | 0) >> 2] = $352_1; + if (!((0 | 0) != ($352_1 | 0) & 1 | 0)) { + break label$37 + } + $857(HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0); + $732(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $13(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 124 | 0) >> 2] | 0) + -4 | 0 | 0); + HEAP32[($4_1 + 172 | 0) >> 2] = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + break label$6; + } + HEAP32[($4_1 + 160 | 0) >> 2] = 0; + label$38 : while (1) { + $370_1 = 0; + label$39 : { + if (HEAP32[($4_1 + 152 | 0) >> 2] | 0) { + break label$39 + } + $370_1 = (HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + label$40 : { + if (!($370_1 & 1 | 0)) { + break label$40 + } + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$41 : { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$41 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $152(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 160 | 0) >> 2] = (HEAP32[($4_1 + 160 | 0) >> 2] | 0) + 1 | 0; + continue label$38; + } + break label$38; + }; + $857(HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0); + label$42 : { + if (!(HEAP32[($4_1 + 152 | 0) >> 2] | 0)) { + break label$42 + } + $13(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 124 | 0) >> 2] | 0) + -4 | 0 | 0); + HEAP32[($4_1 + 172 | 0) >> 2] = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + break label$6; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $732(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + $13(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 124 | 0) >> 2] | 0) + -4 | 0 | 0); + HEAP32[($4_1 + 124 | 0) >> 2] = 0; + label$43 : { + if (!(HEAP32[($4_1 + 152 | 0) >> 2] | 0)) { + break label$43 + } + HEAP32[($4_1 + 172 | 0) >> 2] = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + break label$6; + } + $449(); + HEAP32[($4_1 + 160 | 0) >> 2] = 0; + label$44 : { + label$45 : while (1) { + if (!((HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$44 + } + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$46 : { + if (!((HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$46 + } + $151(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + HEAP32[($4_1 + 160 | 0) >> 2] = (HEAP32[($4_1 + 160 | 0) >> 2] | 0) + 1 | 0; + continue label$45; + }; + } + $450(); + $854(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($4_1 + 172 | 0) >> 2] = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + } + $448_1 = HEAP32[($4_1 + 172 | 0) >> 2] | 0; + global$0 = $4_1 + 176 | 0; + return $448_1 | 0; + } + + function $846($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 460 | 0) >> 2] | 0)) { + break label$2 + } + if (!(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $858(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $14_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $14_1 | 0; + } + + function $847($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $8_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($8_1 + 104 | 0) >> 2] = (HEAP32[($8_1 + 104 | 0) >> 2] | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + return; + } + + function $848($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $124_1 = 0, $47_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $849(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 104 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 96 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $124_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $124_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 100 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + $851(HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 216 | 0 | 0, -1 | 0, $4_1 | 0); + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 216 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = $4_1; + $47_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $47_1 | 0; + } + + function $849($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $859(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $850($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0; + HEAP32[$3_1 >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $859(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$3_1 >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $21(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + $851(HEAP32[(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0 | 0, -1 | 0, 0 | 0); + $13(HEAP32[(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $851($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + if ((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (31 | 0) & 1 | 0) { + break label$5 + } + if ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) & (1 << (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) | 0) { + break label$4 + } + } + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); + } + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $13(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + break label$3; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0; + } + continue label$2; + }; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $852($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $17_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + $13(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $17_1 = $119(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] = $17_1; + global$0 = $5_1 + 16 | 0; + return; + } + + function $853($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $11_1 = 0, $38_1 = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 360 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + label$1 : while (1) { + $11_1 = 0; + label$2 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$2 + } + $11_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 336 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($11_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $38_1 = HEAP32[((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $38_1; + if (!(($38_1 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $870(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 360 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $54_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $54_1 | 0; + } + + function $854($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $869(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 64 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $855($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + i64toi32_i32$1 = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $114(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $618(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$4 + } + $42(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + break label$3; + } + HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + } + break label$1; + } + HEAP32[($7_1 + 8 | 0) >> 2] = 7; + } + $30_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $30_1 | 0; + } + + function $856($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = $871(HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $857($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $622(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $858($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5_1 = 0, $20_1 = 0, $56_1 = 0, $287_1 = 0, $295_1 = 0, $89_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $20_1 = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $20_1; + HEAP32[$4_1 >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != ($20_1 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $872(HEAP32[$4_1 >> 2] | 0 | 0, 2 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $872(HEAP32[$4_1 >> 2] | 0 | 0, 1 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $56_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($56_1 + 460 | 0) >> 2] = (HEAP32[($56_1 + 460 | 0) >> 2] | 0) + -1 | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + label$7 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$7 + } + label$8 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $873(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$9 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$9 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $873(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + label$10 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $287_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 464 | 0) >> 2] = $287_1; + HEAP32[(i64toi32_i32$0 + 468 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 84 | 0) >> 2] | 0; + $295_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 472 | 0) >> 2] = $295_1; + HEAP32[(i64toi32_i32$1 + 476 | 0) >> 2] = i64toi32_i32$0; + } + $89_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $89_1 | 0; + } + + function $859($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, $42_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $13_1 = HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0; + label$3 : { + switch ($13_1 | 0) { + case 1: + $860(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + break label$1; + case 0: + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 1 | 0) & 255 | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $207(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + } + break label$6; + } + $861(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + } + break label$1; + case 2: + break label$3; + default: + break label$1; + }; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + $42_1 = HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($42_1 + 4 | 0) >> 2] = (HEAP32[($42_1 + 4 | 0) >> 2] | 0) + -1 | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$4_1 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $860($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $862(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $861($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $127(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + break label$2; + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + label$6 : { + if (!((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + break label$4; + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[$3_1 >> 2] | 0) + 24 | 0) >> 2] | 0; + if ((HEAP32[$3_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + continue label$5 + } + break label$5; + }; + } + } + $817(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $159(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $862($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $44_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $864(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 59 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$4_1 >> 2] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) + Math_imul(HEAP32[($4_1 + 4 | 0) >> 2] | 0, 72) | 0; + $865(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0); + HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $866(0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + } + $44_1 = 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] = $44_1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = $44_1; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 0] = 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] = $44_1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $44_1; + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] = $44_1; + global$0 = $4_1 + 16 | 0; + return; + } + + function $863($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $5_1 = 0, $37_1 = 0; + $3_1 = global$0 - 16 | 0; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $4_1; + $5_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 68 | 0) >> 2] = (HEAP32[($5_1 + 68 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) <= ($4_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[(0 + 114612 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(0 + 114612 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + break label$2; + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(0 + 114612 | 0) >> 2] | 0; + label$4 : while (1) { + $37_1 = 0; + label$5 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $37_1 = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (!($37_1 & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + continue label$4; + } + break label$4; + }; + label$7 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + } + } + HEAP32[($3_1 + 4 | 0) >> 2] = 1; + } + return HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $864($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $867((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 56) | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $865($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $866($5_1 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + $857(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + } + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $857(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + } + $3289(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, 72 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $866($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + continue label$2; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $867($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, $38_1 = 0, $22_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $756(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + } + $868(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + $22_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $38_1 = 0; + i64toi32_i32$1 = $22_1; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $868($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $864(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $869($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 360 | 0) >> 2] = $13_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $13_1; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 336 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + FUNCTION_TABLE[HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + } + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = 0; + $841(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $13(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 336 | 0) >> 2] = 0; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $870($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $22_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $13(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0); + $22_1 = $291(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] = $22_1; + $42(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $871($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0; + } + + function $872($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $33_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + label$1 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + $33_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $198(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $33_1 | 0, $33_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $727(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$4 + } + label$5 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + if (!(((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $158(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $202(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + } + $63_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $63_1 | 0; + } + + function $873($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $17_1 = 0, $54_1 = 0, $90_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + label$1 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$2 : while (1) { + $17_1 = 0; + label$3 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$3 + } + $17_1 = (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 336 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($17_1 & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$5 + } + $372(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $54_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$6 : { + label$7 : { + switch ($54_1 | 0) { + case 0: + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + break label$6; + case 2: + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + break label$6; + default: + break label$7; + }; + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0; + } + label$10 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[$5_1 >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $841(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + } + $90_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $90_1 | 0; + } + + function $874($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $60_1 = 0, $43_1 = 0, $8_1 = 0, $59_1 = 0, $44_1 = 0, $47_1 = 0, $50_1 = 0, $53_1 = 0, $173_1 = 0, $183_1 = 0, $193_1 = 0, $203_1 = 0, $213_1 = 0, $56_1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + $8_1 = $4_1 + 40 | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + $59_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $59_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $59_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $59_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $59_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $60_1 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($4_1 + 8 | 0) >> 1] = 1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($8_1); + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $23(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + $43_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $173_1 = i64toi32_i32$0; + i64toi32_i32$0 = $43_1; + HEAP32[i64toi32_i32$0 >> 2] = $173_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $44_1 = 32; + i64toi32_i32$2 = $4_1 + $44_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $183_1 = i64toi32_i32$1; + i64toi32_i32$1 = $43_1 + $44_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $183_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $47_1 = 24; + i64toi32_i32$2 = $4_1 + $47_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $193_1 = i64toi32_i32$0; + i64toi32_i32$0 = $43_1 + $47_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $193_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $50_1 = 16; + i64toi32_i32$2 = $4_1 + $50_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $203_1 = i64toi32_i32$1; + i64toi32_i32$1 = $43_1 + $50_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $203_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $53_1 = 8; + i64toi32_i32$2 = $4_1 + $53_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $213_1 = i64toi32_i32$0; + i64toi32_i32$0 = $43_1 + $53_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $213_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $56_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $56_1 | 0; + } + + function $875($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $70(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + $13(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + $18_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $18_1 | 0; + } + + function $876($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 514 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $252(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $19_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $19_1 | 0; + } + + function $877($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $25_1 = 0, $39_1 = 0, $22_1 = 0, $50_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 32; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($5_1 + 7 | 0) >> 0] = $1_1; + HEAP8[($5_1 + 6 | 0) >> 0] = $2_1; + HEAP32[$5_1 >> 2] = $6_1; + label$1 : { + label$2 : { + if (!($265(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0)) { + break label$2 + } + HEAP8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $879(32 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $22_1 = ($3303(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0) & 1073741823 | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = $22_1; + HEAP8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] = 1; + $25_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP16[($25_1 + 8 | 0) >> 1] = (HEAPU16[($25_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 514 | 0; + label$3 : { + if (!(((HEAPU8[($5_1 + 6 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $39_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP16[($39_1 + 8 | 0) >> 1] = ((HEAPU16[($39_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -45 | 0; + } + $328(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + $50_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $50_1 | 0; + } + + function $878($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $52_1 = 0, $66_1 = 0, $879$hi = 0, $880$hi = 0, $103_1 = 0, $881$hi = 0, $882$hi = 0, $884$hi = 0, $885$hi = 0, $104_1 = 0, $886$hi = 0, $887$hi = 0, $121_1 = 0, $147_1 = 0, $164_1 = 0, $209_1 = 0, $217_1 = 0, $233_1 = 0, $245_1 = 0, $251_1 = 0, $261_1 = 0, $272_1 = 0, $298_1 = 0, $315_1 = 0, $362_1 = 0, $368_1 = 0, $380_1 = 0, $396_1 = 0, $406_1 = 0, $412_1 = 0, $420_1 = 0, $441_1 = 0, $447_1 = 0, $477_1 = 0, $483_1 = 0, $520_1 = 0, $539_1 = 0, $549_1 = 0, $568_1 = 0, $580_1 = 0, $590_1 = 0, $602_1 = 0, $614_1 = 0, $626_1 = 0, $636_1 = 0, $647_1 = 0, $655_1 = 0, $683_1 = 0, $691_1 = 0, $726_1 = 0, $745_1 = 0, $755_1 = 0, $774_1 = 0, $786_1 = 0, $796_1 = 0, $808_1 = 0, $820_1 = 0, $832_1 = 0, $842_1 = 0, $51_1 = 0, $163_1 = 0, $208_1 = 0, $216_1 = 0, $232_1 = 0, $244_1 = 0, $250_1 = 0, $260_1 = 0, $314_1 = 0, $361_1 = 0, $367_1 = 0, $379_1 = 0, $395_1 = 0, $405_1 = 0, $411_1 = 0, $519_1 = 0, $538_1 = 0, $548_1 = 0, $567_1 = 0, $579_1 = 0, $589_1 = 0, $601_1 = 0, $613_1 = 0, $625_1 = 0, $635_1 = 0, $725_1 = 0, $744_1 = 0, $754_1 = 0, $773_1 = 0, $785_1 = 0, $795_1 = 0, $807_1 = 0, $819_1 = 0, $831_1 = 0, $841_1 = 0, $873_1 = 0, $876_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 55 | 0) >> 0] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$3 + } + if (!(((HEAPU8[($4_1 + 55 | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $251(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & -2 | 0) | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + HEAP8[($4_1 + 19 | 0) >> 0] = HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0; + HEAP8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + $51_1 = HEAPU8[($4_1 + 19 | 0) >> 0] | 0; + $52_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $52_1 + 1 | 0; + HEAP8[$52_1 >> 0] = $51_1; + continue label$6; + }; + } + HEAP8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[($4_1 + 55 | 0) >> 0] | 0; + break label$2; + } + label$7 : { + label$8 : { + if (!(((HEAPU8[($4_1 + 55 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + $66_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($66_1 + 12 | 0) >> 2] = (HEAP32[($66_1 + 12 | 0) >> 2] | 0) & -2 | 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $879$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $880$hi = i64toi32_i32$0; + i64toi32_i32$0 = $879$hi; + i64toi32_i32$0 = $880$hi; + i64toi32_i32$0 = $879$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $880$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $103_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $103_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $881$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $882$hi = i64toi32_i32$1; + i64toi32_i32$1 = $881$hi; + i64toi32_i32$1 = $882$hi; + i64toi32_i32$1 = $881$hi; + i64toi32_i32$0 = $103_1; + i64toi32_i32$2 = $882$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$5; + break label$7; + } + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $884$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $885$hi = i64toi32_i32$5; + i64toi32_i32$5 = $884$hi; + i64toi32_i32$5 = $885$hi; + i64toi32_i32$5 = $884$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $885$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $104_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $104_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $886$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $887$hi = i64toi32_i32$0; + i64toi32_i32$0 = $886$hi; + i64toi32_i32$0 = $887$hi; + i64toi32_i32$0 = $886$hi; + i64toi32_i32$5 = $104_1; + i64toi32_i32$1 = $887$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$4; + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $64(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if ((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + label$10 : { + label$11 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!(((HEAPU8[($4_1 + 55 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$14 + } + $121_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $121_1 + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAPU8[$121_1 >> 0] | 0) & 255 | 0; + label$16 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAPU8[(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$17 : while (1) { + $147_1 = 0; + label$18 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $147_1 = (((HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$19 : { + if (!($147_1 & 1 | 0)) { + break label$19 + } + $163_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 6 | 0; + $164_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $164_1 + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $163_1 + (((HEAPU8[$164_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$17; + } + break label$17; + }; + label$20 : { + label$21 : { + if ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$21 + } + if (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$21 + } + if (!(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$20 + } + } + HEAP32[($4_1 + 20 | 0) >> 2] = 65533; + } + } + label$22 : { + label$23 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 <= 65535 >>> 0 & 1 | 0)) { + break label$23 + } + $208_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $209_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $209_1 + 1 | 0; + HEAP8[$209_1 >> 0] = $208_1; + $216_1 = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 8 | 0) & 255 | 0; + $217_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $217_1 + 1 | 0; + HEAP8[$217_1 >> 0] = $216_1; + break label$22; + } + $232_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 10 | 0) & 63 | 0) + ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 65536 | 0) >>> 10 | 0) & 192 | 0) | 0; + $233_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $233_1 + 1 | 0; + HEAP8[$233_1 >> 0] = $232_1; + $244_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 65536 | 0) >>> 18 | 0) & 3 | 0) + 216 | 0; + $245_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $245_1 + 1 | 0; + HEAP8[$245_1 >> 0] = $244_1; + $250_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $251_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $251_1 + 1 | 0; + HEAP8[$251_1 >> 0] = $250_1; + $260_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 8 | 0) & 3 | 0) + 220 | 0; + $261_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $261_1 + 1 | 0; + HEAP8[$261_1 >> 0] = $260_1; + } + continue label$15; + }; + } + break label$12; + } + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$24 + } + $272_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $272_1 + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAPU8[$272_1 >> 0] | 0) & 255 | 0; + label$26 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$26 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAPU8[(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$27 : while (1) { + $298_1 = 0; + label$28 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + $298_1 = (((HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$29 : { + if (!($298_1 & 1 | 0)) { + break label$29 + } + $314_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 6 | 0; + $315_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $315_1 + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $314_1 + (((HEAPU8[$315_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$27; + } + break label$27; + }; + label$30 : { + label$31 : { + if ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$31 + } + if (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$31 + } + if (!(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$30 + } + } + HEAP32[($4_1 + 20 | 0) >> 2] = 65533; + } + } + label$32 : { + label$33 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 <= 65535 >>> 0 & 1 | 0)) { + break label$33 + } + $361_1 = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 8 | 0) & 255 | 0; + $362_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $362_1 + 1 | 0; + HEAP8[$362_1 >> 0] = $361_1; + $367_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $368_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $368_1 + 1 | 0; + HEAP8[$368_1 >> 0] = $367_1; + break label$32; + } + $379_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 65536 | 0) >>> 18 | 0) & 3 | 0) + 216 | 0; + $380_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $380_1 + 1 | 0; + HEAP8[$380_1 >> 0] = $379_1; + $395_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 10 | 0) & 63 | 0) + ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 65536 | 0) >>> 10 | 0) & 192 | 0) | 0; + $396_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $396_1 + 1 | 0; + HEAP8[$396_1 >> 0] = $395_1; + $405_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 8 | 0) & 3 | 0) + 220 | 0; + $406_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $406_1 + 1 | 0; + HEAP8[$406_1 >> 0] = $405_1; + $411_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $412_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $412_1 + 1 | 0; + HEAP8[$412_1 >> 0] = $411_1; + } + continue label$25; + }; + } + } + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) - (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0; + $420_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $420_1 + 1 | 0; + HEAP8[$420_1 >> 0] = 0; + break label$10; + } + label$34 : { + label$35 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$35 + } + label$36 : { + label$37 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$36 + } + $441_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $441_1 + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAPU8[$441_1 >> 0] | 0) & 255 | 0; + $447_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $447_1 + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (((HEAPU8[$447_1 >> 0] | 0) & 255 | 0) << 8 | 0) | 0; + label$38 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 >= 55296 >>> 0 & 1 | 0)) { + break label$38 + } + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 57344 >>> 0 & 1 | 0)) { + break label$38 + } + label$39 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$39 + } + $477_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $477_1 + 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAPU8[$477_1 >> 0] | 0) & 255 | 0; + $483_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $483_1 + 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (((HEAPU8[$483_1 >> 0] | 0) & 255 | 0) << 8 | 0) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (((HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 1023 | 0) + (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 63 | 0) << 10 | 0) | 0) + ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 960 | 0) + 64 | 0) << 10 | 0) | 0; + } + } + label$40 : { + label$41 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$41 + } + $519_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $520_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $520_1 + 1 | 0; + HEAP8[$520_1 >> 0] = $519_1; + break label$40; + } + label$42 : { + label$43 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 2048 >>> 0 & 1 | 0)) { + break label$43 + } + $538_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 31 | 0) & 255 | 0) + 192 | 0; + $539_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $539_1 + 1 | 0; + HEAP8[$539_1 >> 0] = $538_1; + $548_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $549_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $549_1 + 1 | 0; + HEAP8[$549_1 >> 0] = $548_1; + break label$42; + } + label$44 : { + label$45 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 65536 >>> 0 & 1 | 0)) { + break label$45 + } + $567_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 15 | 0) & 255 | 0) + 224 | 0; + $568_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $568_1 + 1 | 0; + HEAP8[$568_1 >> 0] = $567_1; + $579_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $580_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $580_1 + 1 | 0; + HEAP8[$580_1 >> 0] = $579_1; + $589_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $590_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $590_1 + 1 | 0; + HEAP8[$590_1 >> 0] = $589_1; + break label$44; + } + $601_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 18 | 0) & 7 | 0) & 255 | 0) + 240 | 0; + $602_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $602_1 + 1 | 0; + HEAP8[$602_1 >> 0] = $601_1; + $613_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $614_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $614_1 + 1 | 0; + HEAP8[$614_1 >> 0] = $613_1; + $625_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $626_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $626_1 + 1 | 0; + HEAP8[$626_1 >> 0] = $625_1; + $635_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $636_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $636_1 + 1 | 0; + HEAP8[$636_1 >> 0] = $635_1; + } + } + } + continue label$37; + }; + } + break label$34; + } + label$46 : { + label$47 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$46 + } + $647_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $647_1 + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAPU8[$647_1 >> 0] | 0) & 255 | 0) << 8 | 0; + $655_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $655_1 + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + ((HEAPU8[$655_1 >> 0] | 0) & 255 | 0) | 0; + label$48 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 >= 55296 >>> 0 & 1 | 0)) { + break label$48 + } + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 57344 >>> 0 & 1 | 0)) { + break label$48 + } + label$49 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$49 + } + $683_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $683_1 + 1 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAPU8[$683_1 >> 0] | 0) & 255 | 0) << 8 | 0; + $691_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $691_1 + 1 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + ((HEAPU8[$691_1 >> 0] | 0) & 255 | 0) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (((HEAP32[($4_1 + 4 | 0) >> 2] | 0) & 1023 | 0) + (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 63 | 0) << 10 | 0) | 0) + ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 960 | 0) + 64 | 0) << 10 | 0) | 0; + } + } + label$50 : { + label$51 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$51 + } + $725_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $726_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $726_1 + 1 | 0; + HEAP8[$726_1 >> 0] = $725_1; + break label$50; + } + label$52 : { + label$53 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 2048 >>> 0 & 1 | 0)) { + break label$53 + } + $744_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 31 | 0) & 255 | 0) + 192 | 0; + $745_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $745_1 + 1 | 0; + HEAP8[$745_1 >> 0] = $744_1; + $754_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $755_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $755_1 + 1 | 0; + HEAP8[$755_1 >> 0] = $754_1; + break label$52; + } + label$54 : { + label$55 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 65536 >>> 0 & 1 | 0)) { + break label$55 + } + $773_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 15 | 0) & 255 | 0) + 224 | 0; + $774_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $774_1 + 1 | 0; + HEAP8[$774_1 >> 0] = $773_1; + $785_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $786_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $786_1 + 1 | 0; + HEAP8[$786_1 >> 0] = $785_1; + $795_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $796_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $796_1 + 1 | 0; + HEAP8[$796_1 >> 0] = $795_1; + break label$54; + } + $807_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 18 | 0) & 7 | 0) & 255 | 0) + 240 | 0; + $808_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $808_1 + 1 | 0; + HEAP8[$808_1 >> 0] = $807_1; + $819_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $820_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $820_1 + 1 | 0; + HEAP8[$820_1 >> 0] = $819_1; + $831_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $832_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $832_1 + 1 | 0; + HEAP8[$832_1 >> 0] = $831_1; + $841_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $842_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $842_1 + 1 | 0; + HEAP8[$842_1 >> 0] = $841_1; + } + } + } + continue label$47; + }; + } + } + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) - (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0; + } + HEAP8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 32831 | 0 | 514 | 0; + $227(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[($4_1 + 55 | 0) >> 0] | 0; + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $873_1 = $59(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] = $873_1; + } + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + } + $876_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $876_1 | 0; + } + + function $879($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $17_1 = 0, $40_1 = 0.0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0)) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $880(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + break label$1; + } + $17_1 = 0; + $77($5_1 + 8 | 0 | 0, $17_1 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $17_1 | 0); + label$3 : { + label$4 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + $40_1 = +(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0); + break label$3; + } + $40_1 = +HEAPF64[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 3]; + } + HEAPF64[$5_1 >> 3] = $40_1; + $84($5_1 + 8 | 0 | 0, 5120 | 0, $5_1 | 0); + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) >> 0] = 0; + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $880($0_1, $0$hi, $1_1) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $4_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $42$hi = 0, $46$hi = 0, $65$hi = 0, $69$hi = 0, $44$hi = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $48$hi = 0, $51_1 = 0, $51$hi = 0, $52$hi = 0, $53$hi = 0, $57$hi = 0, $58$hi = 0, $59$hi = 0, $60$hi = 0, $15_1 = 0, $62$hi = 0, $63$hi = 0, $67$hi = 0, $71$hi = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $27_1 = 0, $110_1 = 0, $119_1 = 0, $13_1 = 0, $40_1 = 0, $41_1 = 0, $153_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $42$hi = i64toi32_i32$0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = $1_1; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] | 0; + $44$hi = i64toi32_i32$1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $35_1 = 0 + } else { + $35_1 = 1 + } + $36_1 = $35_1; + } else { + $36_1 = 0 + } + $34_1 = $36_1; + } + label$1 : { + label$2 : { + if (!($34_1 & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = -2147483648; + $46$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $46$hi; + i64toi32_i32$0 = 0; + label$3 : { + label$4 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$3 = -2147483648; + $51_1 = 0; + $51$hi = i64toi32_i32$3; + break label$3; + } + i64toi32_i32$3 = 0; + $52$hi = i64toi32_i32$3; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $53$hi = i64toi32_i32$1; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $53$hi; + $110_1 = i64toi32_i32$3; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = $53$hi; + i64toi32_i32$2 = $110_1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$2 | 0; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $51_1 = i64toi32_i32$4; + $51$hi = i64toi32_i32$5; + } + i64toi32_i32$5 = $51$hi; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $51_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$5; + break label$1; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] | 0; + $119_1 = i64toi32_i32$5; + i64toi32_i32$5 = i64toi32_i32$1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $119_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 20; + HEAP8[($4_1 + 21 | 0) >> 0] = 0; + label$5 : while (1) { + $13_1 = $4_1; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $57$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $58$hi = i64toi32_i32$5; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$5 = $58$hi; + i64toi32_i32$5 = $57$hi; + $40_1 = i64toi32_i32$0; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = __wasm_i64_urem($40_1 | 0, i64toi32_i32$5 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $59$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $60$hi = i64toi32_i32$5; + i64toi32_i32$5 = $59$hi; + i64toi32_i32$5 = $60$hi; + i64toi32_i32$5 = $59$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$2 = 48; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $15_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $15_1 + -1 | 0; + HEAP8[($13_1 + $15_1 | 0) >> 0] = i64toi32_i32$3; + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 28 | 0) >> 2] | 0; + $62$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $63$hi = i64toi32_i32$1; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $62$hi; + $41_1 = i64toi32_i32$4; + i64toi32_i32$4 = $63$hi; + i64toi32_i32$4 = __wasm_i64_udiv($41_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $153_1 = i64toi32_i32$4; + i64toi32_i32$4 = i64toi32_i32$5; + HEAP32[(i64toi32_i32$5 + 24 | 0) >> 2] = $153_1; + HEAP32[(i64toi32_i32$5 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $65$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 24 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 28 | 0) >> 2] | 0; + $67$hi = i64toi32_i32$4; + i64toi32_i32$4 = $65$hi; + i64toi32_i32$4 = $67$hi; + i64toi32_i32$4 = $65$hi; + i64toi32_i32$4 = $67$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$2 = 0; + if (((i64toi32_i32$5 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$4 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0) { + continue label$5 + } + break label$5; + }; + i64toi32_i32$5 = 0; + $69$hi = i64toi32_i32$5; + i64toi32_i32$2 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $71$hi = i64toi32_i32$4; + i64toi32_i32$4 = $69$hi; + i64toi32_i32$4 = $71$hi; + i64toi32_i32$4 = $69$hi; + i64toi32_i32$4 = $71$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $69$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$5 | 0)) { + $37_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$1 >>> 0) { + $38_1 = 0 + } else { + $38_1 = 1 + } + $39_1 = $38_1; + } else { + $39_1 = 0 + } + $37_1 = $39_1; + } + label$6 : { + if (!($37_1 & 1 | 0)) { + break label$6 + } + $27_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $27_1 + -1 | 0; + HEAP8[($4_1 + $27_1 | 0) >> 0] = 45; + } + $3288(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, $4_1 + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0) | 0 | 0, 21 - (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0 | 0) | 0; + global$0 = $4_1 + 48 | 0; + return; + } + + function $881($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $4_1 = 0, $29$hi = 0, $21_1 = 0, $23$hi = 0, $24$hi = 0, $25$hi = 0, $29_1 = 0, $30_1 = 0, $99$hi = 0, $21$hi = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $69$hi = 0, $34_1 = 0, $27_1 = 0, $27$hi = 0, $28_1 = 0, $28$hi = 0, $31_1 = 0, $31$hi = 0, $32_1 = 0, $32$hi = 0, $33_1 = 0, $33$hi = 0, $119_1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 1073889280; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $21_1 = 0; + $21$hi = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = $21_1; + HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 1073676288; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $21$hi; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $21_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + label$1 : while (1) { + label$2 : { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $23_1 = i64toi32_i32$0; + $23$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $24_1 = i64toi32_i32$1; + $24$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $25_1 = i64toi32_i32$0; + $25$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $69$hi = i64toi32_i32$0; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$0 = $69$hi; + $34_1 = i64toi32_i32$1; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$2 = $24$hi; + i64toi32_i32$3 = $23$hi; + $3273($4_1 + 16 | 0 | 0, $34_1 | 0, i64toi32_i32$0 | 0, $25_1 | 0, i64toi32_i32$1 | 0, $24_1 | 0, i64toi32_i32$2 | 0, $23_1 | 0, i64toi32_i32$3 | 0); + i64toi32_i32$1 = $4_1 + 24 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $27_1 = i64toi32_i32$3; + $27$hi = i64toi32_i32$2; + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $28_1 = i64toi32_i32$2; + $28$hi = i64toi32_i32$3; + i64toi32_i32$3 = $27$hi; + i64toi32_i32$2 = i64toi32_i32$1; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $27_1; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$3 = $28$hi; + i64toi32_i32$2 = i64toi32_i32$1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $28_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$3; + } + HEAP32[($4_1 + 76 | 0) >> 2] = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 1 | 0; + label$3 : { + label$4 : { + if (HEAP32[($4_1 + 76 | 0) >> 2] | 0) { + break label$4 + } + break label$3; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$3; + $29$hi = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] | 0; + $30_1 = i64toi32_i32$2; + $99$hi = i64toi32_i32$3; + i64toi32_i32$3 = $29$hi; + i64toi32_i32$3 = $99$hi; + i64toi32_i32$3 = $29$hi; + i64toi32_i32$3 = $99$hi; + i64toi32_i32$2 = $29$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$0 = i64toi32_i32$2; + $3273($4_1 | 0, $30_1 | 0, i64toi32_i32$1 | 0, $29_1 | 0, i64toi32_i32$0 | 0, $30_1 | 0, i64toi32_i32$1 | 0, $29_1 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$2 = $4_1 + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $31_1 = i64toi32_i32$0; + $31$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32_1 = i64toi32_i32$1; + $32$hi = i64toi32_i32$0; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$1 = i64toi32_i32$2; + HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] = $31_1; + HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $32$hi; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = $32_1; + HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] = i64toi32_i32$0; + continue label$1; + } + break label$1; + }; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $33_1 = i64toi32_i32$0; + $33$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $119_1 = i64toi32_i32$1; + i64toi32_i32$1 = $0_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $119_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $33$hi; + HEAP32[i64toi32_i32$1 >> 2] = $33_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + global$0 = i64toi32_i32$2 + 80 | 0; + return; + } + + function $882($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $9_1 = 0, $24_1 = 0, $31_1 = 0, $47_1 = 0; + $4_1 = global$0 - 32 | 0; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 12 | 0) >> 2] = 5127; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : while (1) { + $9_1 = 0; + label$2 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + $9_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (18 | 0); + } + label$3 : { + if (!($9_1 & 1 | 0)) { + break label$3 + } + $24_1 = 24; + $31_1 = 24; + HEAP32[($4_1 + 20 | 0) >> 2] = Math_imul((((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0) - (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) << $31_1 | 0) >> $31_1 | 0) | 0, 10); + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$4 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + $47_1 = 24; + HEAP32[($4_1 + 20 | 0) >> 2] = (((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 24 | 0) >> 2] | 0, 18) | 0) >> 0] | 0) << $47_1 | 0) >> $47_1 | 0) - 56 | 0; + } + return HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0; + } + + function $883($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $9_1 = 0, $52_1 = 0, $126_1 = 0, $197_1 = 0, $183_1 = 0, $195_1 = 0, $196_1 = 0, $267_1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) != ($9_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$2 + } + HEAP32[($8_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >>> 2 | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 24 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + (HEAP32[((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + } + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 48 | 0) >> 2] | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + $52_1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = $52_1 + 1 | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = $52_1; + label$7 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + HEAP32[($8_1 + 20 | 0) >> 2] = 101; + break label$5; + } + label$8 : { + label$9 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + break label$8; + } + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) - (HEAP32[((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = (HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0; + } + label$12 : { + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $126_1 = 24; + if (!((((HEAPU8[(((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 24 | 0) >> 2] | 0, 20) | 0) + 1 | 0) >> 0] | 0) << $126_1 | 0) >> $126_1 | 0 | 0) == (-4 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($8_1 + 4 | 0) >> 2] = ((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 1 | 0) << 2 | 0; + HEAP32[$8_1 >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[$8_1 >> 2] | 0 | 0) < (HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + label$15 : { + if (!((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + ((HEAP32[$8_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[(((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 24 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + break label$13; + } + HEAP32[$8_1 >> 2] = (HEAP32[$8_1 >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + label$16 : { + if (!((HEAP32[$8_1 >> 2] | 0 | 0) == (HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $183_1 = $231(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] = $183_1; + label$17 : { + if (!(HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$17 + } + HEAP32[($8_1 + 20 | 0) >> 2] = 1; + break label$5; + } + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $195_1 = HEAP32[(((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 24 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 2] | 0; + $196_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $197_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $197_1 + 1 | 0; + HEAP32[($196_1 + ($197_1 << 2 | 0) | 0) >> 2] = $195_1; + HEAP16[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 16 | 0; + HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) << 2 | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + (HEAP32[((HEAP32[(((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 24 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + } + } + label$18 : { + if (HEAP32[($8_1 + 52 | 0) >> 2] | 0) { + break label$18 + } + break label$5; + } + label$19 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 24 | 0) >> 2] | 0, 20) | 0) >> 0] | 0) & 255 | 0 | 0) == (175 | 0) & 1 | 0)) { + break label$19 + } + break label$5; + } + label$20 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 24 | 0) >> 2] | 0, 20) | 0) >> 0] | 0) & 255 | 0 | 0) == (62 | 0) & 1 | 0)) { + break label$20 + } + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$20 + } + break label$5; + } + continue label$6; + }; + } + HEAP32[(HEAP32[($8_1 + 48 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + $267_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $267_1 | 0; + } + + function $884($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $12_1 = 0, $53_1 = 0, $61_1 = 0, $119_1 = 0, $134_1 = 0, $72_1 = 0, $82_1 = 0, $99_1 = 0, $116_1 = 0, $131_1 = 0, $592_1 = 0, $675_1 = 0, $235_1 = 0, $281_1 = 0; + $4_1 = global$0 - 272 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 268 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 264 | 0) >> 2] = $1_1; + $5_1 = 0; + HEAP32[($4_1 + 260 | 0) >> 2] = $5_1; + $77($4_1 + 232 | 0 | 0, $5_1 | 0, $5_1 | 0, $5_1 | 0, 1e9 | 0); + $12_1 = (HEAP8[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) + 17 | 0; + label$1 : { + label$2 : { + switch ($12_1 | 0) { + case 8: + HEAP32[($4_1 + 224 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 224 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0; + $84($4_1 + 232 | 0 | 0, 5186 | 0, $4_1 + 16 | 0 | 0); + HEAP32[($4_1 + 228 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($4_1 + 228 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($4_1 + 224 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 220 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 224 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($4_1 + 228 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!((HEAP32[($4_1 + 220 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + $53_1 = HEAP32[(HEAP32[($4_1 + 220 | 0) >> 2] | 0) >> 2] | 0; + break label$18; + } + $53_1 = 1352; + } + HEAP32[($4_1 + 216 | 0) >> 2] = $53_1; + label$20 : { + if ($3229(HEAP32[($4_1 + 216 | 0) >> 2] | 0 | 0, 5191 | 0) | 0) { + break label$20 + } + HEAP32[($4_1 + 216 | 0) >> 2] = 5198; + } + $61_1 = 1352; + $72_1 = ((HEAPU8[((HEAP32[((HEAP32[($4_1 + 224 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 228 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 1 | 0 ? 5208 : $61_1; + $82_1 = ((HEAPU8[((HEAP32[((HEAP32[($4_1 + 224 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 228 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 2 | 0 ? 5210 : $61_1; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 216 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $82_1; + HEAP32[$4_1 >> 2] = $72_1; + $84($4_1 + 232 | 0 | 0, 5200 | 0, $4_1 | 0); + HEAP32[($4_1 + 228 | 0) >> 2] = (HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + $51($4_1 + 232 | 0 | 0, 5213 | 0, 1 | 0); + break label$1; + case 15: + HEAP32[($4_1 + 212 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $99_1 = HEAP32[(HEAP32[($4_1 + 212 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[(5216 + (((HEAPU8[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $99_1; + $84($4_1 + 232 | 0 | 0, 5246 | 0, $4_1 + 32 | 0 | 0); + break label$1; + case 9: + HEAP32[($4_1 + 208 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $116_1 = HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $119_1 = 24; + HEAP32[($4_1 + 52 | 0) >> 2] = ((HEAPU8[(HEAP32[($4_1 + 208 | 0) >> 2] | 0) >> 0] | 0) << $119_1 | 0) >> $119_1 | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $116_1; + $84($4_1 + 232 | 0 | 0, 5255 | 0, $4_1 + 48 | 0 | 0); + break label$1; + case 1: + HEAP32[($4_1 + 204 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $131_1 = HEAP32[((HEAP32[($4_1 + 204 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $134_1 = 24; + HEAP32[($4_1 + 68 | 0) >> 2] = ((HEAPU8[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 0] | 0) << $134_1 | 0) >> $134_1 | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = $131_1; + $84($4_1 + 232 | 0 | 0, 5255 | 0, $4_1 + 64 | 0 | 0); + break label$1; + case 3: + i64toi32_i32$2 = HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $592_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 80 | 0) >> 2] = $592_1; + HEAP32[($4_1 + 84 | 0) >> 2] = i64toi32_i32$1; + $84($4_1 + 232 | 0 | 0, 5262 | 0, $4_1 + 80 | 0 | 0); + break label$1; + case 14: + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $84($4_1 + 232 | 0 | 0, 5267 | 0, $4_1 + 96 | 0 | 0); + break label$1; + case 4: + HEAPF64[($4_1 + 112 | 0) >> 3] = +HEAPF64[(HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 3]; + $84($4_1 + 232 | 0 | 0, 5270 | 0, $4_1 + 112 | 0 | 0); + break label$1; + case 6: + HEAP32[($4_1 + 200 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$21 : { + label$22 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$22 + } + HEAP32[($4_1 + 260 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$21; + } + label$23 : { + label$24 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 36 | 0)) { + break label$24 + } + i64toi32_i32$2 = HEAP32[($4_1 + 200 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $675_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 128 | 0) >> 2] = $675_1; + HEAP32[($4_1 + 132 | 0) >> 2] = i64toi32_i32$0; + $84($4_1 + 232 | 0 | 0, 5262 | 0, $4_1 + 128 | 0 | 0); + break label$23; + } + label$25 : { + label$26 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$26 + } + HEAPF64[($4_1 + 144 | 0) >> 3] = +HEAPF64[(HEAP32[($4_1 + 200 | 0) >> 2] | 0) >> 3]; + $84($4_1 + 232 | 0 | 0, 5270 | 0, $4_1 + 144 | 0 | 0); + break label$25; + } + label$27 : { + label$28 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($4_1 + 260 | 0) >> 2] = 1353; + break label$27; + } + HEAP32[($4_1 + 260 | 0) >> 2] = 5276; + } + } + } + } + break label$1; + case 5: + HEAP32[($4_1 + 196 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 160 | 0) >> 2] = HEAP32[($4_1 + 196 | 0) >> 2] | 0; + $84($4_1 + 232 | 0 | 0, 5283 | 0, $4_1 + 160 | 0 | 0); + break label$1; + case 2: + HEAP32[($4_1 + 188 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 184 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 188 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 192 | 0) >> 2] = 1; + label$29 : { + label$30 : while (1) { + if (!((HEAP32[($4_1 + 192 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($4_1 + 184 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$29 + } + $235_1 = (HEAP32[($4_1 + 192 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 91 : 44; + HEAP32[($4_1 + 180 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 188 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 192 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 176 | 0) >> 2] = $235_1; + $84($4_1 + 232 | 0 | 0, 5291 | 0, $4_1 + 176 | 0 | 0); + HEAP32[($4_1 + 192 | 0) >> 2] = (HEAP32[($4_1 + 192 | 0) >> 2] | 0) + 1 | 0; + continue label$30; + }; + } + $51($4_1 + 232 | 0 | 0, 5296 | 0, 1 | 0); + break label$1; + case 13: + HEAP32[($4_1 + 260 | 0) >> 2] = 5298; + break label$1; + case 0: + case 12: + break label$1; + case 11: + HEAP32[($4_1 + 260 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + default: + break label$2; + }; + } + HEAP32[($4_1 + 260 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + label$31 : { + if (!((HEAP32[($4_1 + 260 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$31 + } + $60($4_1 + 232 | 0 | 0, HEAP32[($4_1 + 260 | 0) >> 2] | 0 | 0); + } + label$32 : { + if (!(((HEAPU8[($4_1 + 252 | 0) >> 0] | 0) & 255 | 0) & 7 | 0)) { + break label$32 + } + $118(HEAP32[($4_1 + 268 | 0) >> 2] | 0 | 0); + } + $281_1 = $72($4_1 + 232 | 0 | 0) | 0; + global$0 = $4_1 + 272 | 0; + return $281_1 | 0; + } + + function $885($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[(5312 + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0; + } + + function $886($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $23_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $974(HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP16[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 1] = 4; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + $23_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $23_1 | 0; + } + + function $887($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0)) { + break label$2 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$3 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$3 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) & 1 | 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $888($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $8_1 = 0, $9_1 = 0, $10_1 = 0, $13_1 = 0, $16_1 = 0, $19_1 = 0, $50_1 = 0, $60_1 = 0, $70_1 = 0, $80_1 = 0, $90_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $227(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $8_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $9_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $50_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1; + HEAP32[i64toi32_i32$0 >> 2] = $50_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $10_1 = 32; + i64toi32_i32$2 = i64toi32_i32$2 + $10_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $60_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1 + $10_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $13_1 = 24; + i64toi32_i32$2 = $9_1 + $13_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $70_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1 + $13_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $70_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $16_1 = 16; + i64toi32_i32$2 = $9_1 + $16_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $80_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1 + $16_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $80_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $19_1 = 8; + i64toi32_i32$2 = $9_1 + $19_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $90_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1 + $19_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $90_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $889($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15_1 = 0, $17_1 = 0, $21_1 = 0, $30_1 = 0, $37_1 = 0, $85_1 = 0, $105_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0)) { + break label$2 + } + $975(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + break label$1; + } + $15_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $85_1 = i64toi32_i32$0; + i64toi32_i32$0 = $15_1; + HEAP32[i64toi32_i32$0 >> 2] = $85_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $17_1 = 16; + HEAP32[(i64toi32_i32$0 + $17_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $17_1 | 0) >> 2] | 0; + $21_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $21_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $105_1 = i64toi32_i32$1; + i64toi32_i32$1 = $15_1 + $21_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $105_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + if (((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2048 | 0) { + break label$1 + } + $30_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($30_1 + 8 | 0) >> 1] = ((HEAPU16[($30_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -7169 | 0; + $37_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($37_1 + 8 | 0) >> 1] = (HEAPU16[($37_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $890($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 44 | 0)) { + break label$2 + } + HEAP16[($3_1 + 14 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 44 | 0; + break label$1; + } + label$3 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $976(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 14 | 0) >> 1] = wasm2js_i32$1; + break label$1; + } + HEAP16[($3_1 + 14 | 0) >> 1] = 0; + } + $27_1 = (HEAPU16[($3_1 + 14 | 0) >> 1] | 0) & 65535 | 0; + global$0 = $3_1 + 16 | 0; + return $27_1 | 0; + } + + function $891($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $4_1 = 0, $26$hi = 0, $31$hi = 0, i64toi32_i32$6 = 0, $37$hi = 0, $38$hi = 0, $41$hi = 0, $49$hi = 0, $52$hi = 0, $29$hi = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $33$hi = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, $35$hi = 0, $36$hi = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, $43$hi = 0, $50_1 = 0, $51_1 = 0, $52_1 = 0, $45$hi = 0, $46$hi = 0, $47$hi = 0, $48$hi = 0, $50$hi = 0, $51$hi = 0, $53_1 = 0, $54_1 = 0, $56_1 = 0, $55$hi = 0, $24_1 = 0, $71_1 = 0, $99_1 = 0, $106_1 = 0, $45_1 = 0, $49_1 = 0, $23_1 = 0, $55_1 = 0, $158$hi = 0; + $4_1 = global$0 - 32 | 0; + i64toi32_i32$0 = 0; + $26$hi = i64toi32_i32$0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $71_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $71_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $29$hi = i64toi32_i32$0; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $39_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $40_1 = 0 + } else { + $40_1 = 1 + } + $41_1 = $40_1; + } else { + $41_1 = 0 + } + $39_1 = $41_1; + } + label$1 : { + label$2 : { + label$3 : { + if (!($39_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = 0; + $31$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $33$hi = i64toi32_i32$0; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { + $42_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $43_1 = 0 + } else { + $43_1 = 1 + } + $44_1 = $43_1; + } else { + $44_1 = 0 + } + $42_1 = $44_1; + } + label$4 : { + if (!($42_1 & 1 | 0)) { + break label$4 + } + i64toi32_i32$3 = 2147483647; + $35$hi = i64toi32_i32$3; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $36$hi = i64toi32_i32$0; + i64toi32_i32$0 = $35$hi; + i64toi32_i32$0 = $36$hi; + $99_1 = i64toi32_i32$3; + i64toi32_i32$0 = $35$hi; + i64toi32_i32$1 = -1; + i64toi32_i32$3 = $36$hi; + i64toi32_i32$2 = $99_1; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $37$hi = i64toi32_i32$5; + i64toi32_i32$0 = $4_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $38$hi = i64toi32_i32$1; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$1 = $38$hi; + $106_1 = i64toi32_i32$5; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$5 = $38$hi; + i64toi32_i32$2 = $106_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$5 | 0)) { + $46_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$2 >>> 0) { + $47_1 = 0 + } else { + $47_1 = 1 + } + $48_1 = $47_1; + } else { + $48_1 = 0 + } + $46_1 = $48_1; + } + if (!($46_1 & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + break label$2; + } + i64toi32_i32$0 = 0; + $41$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $43$hi = i64toi32_i32$1; + i64toi32_i32$1 = $41$hi; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$1 = $41$hi; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$5 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $50_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$5 >>> 0) { + $51_1 = 0 + } else { + $51_1 = 1 + } + $52_1 = $51_1; + } else { + $52_1 = 0 + } + $50_1 = $52_1; + } + label$5 : { + if (!($50_1 & 1 | 0)) { + break label$5 + } + i64toi32_i32$2 = 0; + $45_1 = 0; + $45$hi = i64toi32_i32$2; + i64toi32_i32$5 = $4_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + $46$hi = i64toi32_i32$1; + i64toi32_i32$1 = 2147483647; + $47$hi = i64toi32_i32$1; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $47$hi; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $48$hi = i64toi32_i32$4; + i64toi32_i32$4 = $45$hi; + i64toi32_i32$4 = $48$hi; + i64toi32_i32$4 = $45$hi; + i64toi32_i32$1 = $45_1; + i64toi32_i32$5 = $48$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$4 - i64toi32_i32$3 | 0; + $49_1 = i64toi32_i32$2; + $49$hi = i64toi32_i32$3; + i64toi32_i32$4 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $50$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$3 = $51$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $52$hi = i64toi32_i32$2; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$2 = $52$hi; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$2 = $52$hi; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$1 = $49_1; + i64toi32_i32$4 = $52$hi; + i64toi32_i32$0 = i64toi32_i32$5; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$4 | 0)) { + $53_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0) { + $54_1 = 0 + } else { + $54_1 = 1 + } + $56_1 = $54_1; + } else { + $56_1 = 0 + } + $53_1 = $56_1; + } + if (!($53_1 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + } + $23_1 = 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $55_1 = i64toi32_i32$1; + $55$hi = i64toi32_i32$2; + $24_1 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = $24_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $158$hi = i64toi32_i32$1; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = $158$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$4 = $55_1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $24_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$3; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 28 | 0) >> 2] = $23_1; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $892($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $4_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $20$hi = 0, $24$hi = 0, i64toi32_i32$6 = 0, $22$hi = 0, $26$hi = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $28$hi = 0, $14_1 = 0, $31$hi = 0, $32$hi = 0, $28_1 = 0, $77$hi = 0, $89_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + i64toi32_i32$0 = -2147483648; + $20$hi = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[i64toi32_i32$1 >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $22$hi = i64toi32_i32$1; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = 0; + $24$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $24$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $23_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + $24_1 = 0 + } else { + $24_1 = 1 + } + $25_1 = $24_1; + } else { + $25_1 = 0 + } + $23_1 = $25_1; + } + label$3 : { + if (!($23_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $28_1 = i64toi32_i32$3; + $28$hi = i64toi32_i32$1; + $14_1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $14_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $77$hi = i64toi32_i32$3; + i64toi32_i32$3 = $28$hi; + i64toi32_i32$3 = $77$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$2 = $28_1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + i64toi32_i32$0 = $14_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$5 = 0; + $31$hi = i64toi32_i32$5; + i64toi32_i32$3 = $4_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$0; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $32$hi; + $89_1 = i64toi32_i32$5; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = $32$hi; + i64toi32_i32$2 = $89_1; + i64toi32_i32$1 = i64toi32_i32$3 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$4 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $891(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $17_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $17_1 | 0; + } + + function $893($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $4_1 = 0, i64toi32_i32$5 = 0, $89$hi = 0, $45$hi = 0, $51$hi = 0, $53$hi = 0, $57$hi = 0, $59$hi = 0, $62$hi = 0, $66$hi = 0, $71$hi = 0, $73$hi = 0, $76$hi = 0, $80$hi = 0, $84$hi = 0, i64toi32_i32$6 = 0, $91$hi = 0, $94$hi = 0, $48$hi = 0, $62_1 = 0, $63_1 = 0, $64_1 = 0, $50$hi = 0, $52$hi = 0, $65_1 = 0, $66_1 = 0, $67_1 = 0, $56$hi = 0, $58$hi = 0, $68_1 = 0, $69_1 = 0, $70_1 = 0, $64$hi = 0, $72_1 = 0, $73_1 = 0, $74_1 = 0, $68$hi = 0, $75_1 = 0, $76_1 = 0, $77_1 = 0, $70$hi = 0, $72$hi = 0, $78_1 = 0, $79_1 = 0, $80_1 = 0, $78$hi = 0, $81_1 = 0, $82_1 = 0, $83_1 = 0, $82$hi = 0, $86$hi = 0, $88$hi = 0, $89_1 = 0, $90$hi = 0, $92$hi = 0, $93$hi = 0, $84_1 = 0, $85_1 = 0, $86_1 = 0, $97$hi = 0, $98$hi = 0, $113_1 = 0, $51_1 = 0, $131_1 = 0, $136_1 = 0, $57_1 = 0, $150_1 = 0, $155_1 = 0, $71_1 = 0, $193_1 = 0, $198_1 = 0, $250_1 = 0, $91_1 = 0, $255_1 = 0, $263_1 = 0, $97_1 = 0, $277_1 = 0, $282_1 = 0; + $4_1 = global$0 - 32 | 0; + i64toi32_i32$0 = 0; + $45$hi = i64toi32_i32$0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $113_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $113_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $48$hi = i64toi32_i32$0; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $62_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $63_1 = 0 + } else { + $63_1 = 1 + } + $64_1 = $63_1; + } else { + $64_1 = 0 + } + $62_1 = $64_1; + } + label$1 : { + label$2 : { + label$3 : { + if (!($62_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = 2147483647; + $50$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $51_1 = i64toi32_i32$2; + $51$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $52$hi = i64toi32_i32$2; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$2 = $52$hi; + $131_1 = i64toi32_i32$0; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$0 = __wasm_i64_sdiv(-1 | 0, i64toi32_i32$2 | 0, $131_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $53$hi = i64toi32_i32$2; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$2 = $53$hi; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$2 = $53$hi; + $136_1 = i64toi32_i32$0; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$3 = $51_1; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$1 = $136_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $65_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $66_1 = 0 + } else { + $66_1 = 1 + } + $67_1 = $66_1; + } else { + $67_1 = 0 + } + $65_1 = $67_1; + } + label$4 : { + if (!($65_1 & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$3 = -2147483648; + $56$hi = i64toi32_i32$3; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $57_1 = i64toi32_i32$3; + $57$hi = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $58$hi = i64toi32_i32$3; + i64toi32_i32$3 = $56$hi; + i64toi32_i32$3 = $58$hi; + $150_1 = i64toi32_i32$2; + i64toi32_i32$3 = $56$hi; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$2 = __wasm_i64_sdiv(0 | 0, i64toi32_i32$3 | 0, $150_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $59$hi = i64toi32_i32$3; + i64toi32_i32$3 = $57$hi; + i64toi32_i32$3 = $59$hi; + i64toi32_i32$3 = $57$hi; + i64toi32_i32$3 = $59$hi; + $155_1 = i64toi32_i32$2; + i64toi32_i32$3 = $57$hi; + i64toi32_i32$1 = $57_1; + i64toi32_i32$2 = $59$hi; + i64toi32_i32$0 = $155_1; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$2 | 0)) { + $68_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$0 >>> 0) { + $69_1 = 0 + } else { + $69_1 = 1 + } + $70_1 = $69_1; + } else { + $70_1 = 0 + } + $68_1 = $70_1; + } + label$5 : { + if (!($68_1 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + break label$2; + } + i64toi32_i32$1 = 0; + $62$hi = i64toi32_i32$1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $64$hi = i64toi32_i32$3; + i64toi32_i32$3 = $62$hi; + i64toi32_i32$3 = $64$hi; + i64toi32_i32$3 = $62$hi; + i64toi32_i32$3 = $64$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$1 | 0)) { + $72_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$2 >>> 0) { + $73_1 = 0 + } else { + $73_1 = 1 + } + $74_1 = $73_1; + } else { + $74_1 = 0 + } + $72_1 = $74_1; + } + label$6 : { + if (!($72_1 & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + $66$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $68$hi = i64toi32_i32$3; + i64toi32_i32$3 = $66$hi; + i64toi32_i32$3 = $68$hi; + i64toi32_i32$3 = $66$hi; + i64toi32_i32$3 = $68$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$0 | 0)) { + $75_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$1 >>> 0) { + $76_1 = 0 + } else { + $76_1 = 1 + } + $77_1 = $76_1; + } else { + $77_1 = 0 + } + $75_1 = $77_1; + } + label$7 : { + label$8 : { + if (!($75_1 & 1 | 0)) { + break label$8 + } + i64toi32_i32$2 = -2147483648; + $70$hi = i64toi32_i32$2; + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $71_1 = i64toi32_i32$2; + $71$hi = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $72$hi = i64toi32_i32$2; + i64toi32_i32$2 = $70$hi; + i64toi32_i32$2 = $72$hi; + $193_1 = i64toi32_i32$3; + i64toi32_i32$2 = $70$hi; + i64toi32_i32$3 = $72$hi; + i64toi32_i32$3 = __wasm_i64_sdiv(0 | 0, i64toi32_i32$2 | 0, $193_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $73$hi = i64toi32_i32$2; + i64toi32_i32$2 = $71$hi; + i64toi32_i32$2 = $73$hi; + i64toi32_i32$2 = $71$hi; + i64toi32_i32$2 = $73$hi; + $198_1 = i64toi32_i32$3; + i64toi32_i32$2 = $71$hi; + i64toi32_i32$1 = $71_1; + i64toi32_i32$3 = $73$hi; + i64toi32_i32$0 = $198_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$3 | 0)) { + $78_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$0 >>> 0) { + $79_1 = 0 + } else { + $79_1 = 1 + } + $80_1 = $79_1; + } else { + $80_1 = 0 + } + $78_1 = $80_1; + } + label$9 : { + if (!($78_1 & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + break label$7; + } + i64toi32_i32$1 = 0; + $76$hi = i64toi32_i32$1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$2; + i64toi32_i32$2 = $76$hi; + i64toi32_i32$2 = $78$hi; + i64toi32_i32$2 = $76$hi; + i64toi32_i32$2 = $78$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $76$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $81_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$3 >>> 0) { + $82_1 = 0 + } else { + $82_1 = 1 + } + $83_1 = $82_1; + } else { + $83_1 = 0 + } + $81_1 = $83_1; + } + label$10 : { + if (!($81_1 & 1 | 0)) { + break label$10 + } + i64toi32_i32$0 = -2147483648; + $80$hi = i64toi32_i32$0; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $82$hi = i64toi32_i32$2; + i64toi32_i32$2 = $80$hi; + i64toi32_i32$2 = $82$hi; + i64toi32_i32$2 = $80$hi; + i64toi32_i32$2 = $82$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$1 = 0; + label$11 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$3 = -2147483648; + $84$hi = i64toi32_i32$3; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $86$hi = i64toi32_i32$2; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$2 = $86$hi; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$2 = $86$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $84$hi; + i64toi32_i32$0 = 0; + label$12 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$1 = 2147483647; + $88$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $89_1 = 0; + $89$hi = i64toi32_i32$1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $90$hi = i64toi32_i32$2; + i64toi32_i32$2 = $89$hi; + i64toi32_i32$2 = $90$hi; + $250_1 = i64toi32_i32$1; + i64toi32_i32$2 = $89$hi; + i64toi32_i32$0 = $89_1; + i64toi32_i32$1 = $90$hi; + i64toi32_i32$3 = $250_1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $91_1 = i64toi32_i32$4; + $91$hi = i64toi32_i32$5; + i64toi32_i32$2 = $4_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $92$hi = i64toi32_i32$0; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$0 = $92$hi; + $255_1 = i64toi32_i32$5; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$2 = $89_1; + i64toi32_i32$5 = $92$hi; + i64toi32_i32$3 = $255_1; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$4 | 0; + $93$hi = i64toi32_i32$4; + i64toi32_i32$4 = $88$hi; + i64toi32_i32$4 = $93$hi; + i64toi32_i32$4 = $88$hi; + i64toi32_i32$2 = $93$hi; + i64toi32_i32$2 = __wasm_i64_sdiv(-1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $94$hi = i64toi32_i32$4; + i64toi32_i32$4 = $91$hi; + i64toi32_i32$4 = $94$hi; + i64toi32_i32$4 = $91$hi; + i64toi32_i32$4 = $94$hi; + $263_1 = i64toi32_i32$2; + i64toi32_i32$4 = $91$hi; + i64toi32_i32$0 = $91_1; + i64toi32_i32$2 = $94$hi; + i64toi32_i32$3 = $263_1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$2 | 0)) { + $84_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $85_1 = 0 + } else { + $85_1 = 1 + } + $86_1 = $85_1; + } else { + $86_1 = 0 + } + $84_1 = $86_1; + } + label$13 : { + if (!($84_1 & 1 | 0)) { + break label$13 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + } + } + } + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $97_1 = i64toi32_i32$0; + $97$hi = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $98$hi = i64toi32_i32$0; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$0 = $98$hi; + $277_1 = i64toi32_i32$4; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$4 = $98$hi; + i64toi32_i32$4 = __wasm_i64_mul($97_1 | 0, i64toi32_i32$0 | 0, $277_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $282_1 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$4 >> 2] = $282_1; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $894($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $33_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $240(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $33_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $33_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 4 | 0; + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $895($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, $39_1 = 0, $72_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($5_1 + 11 | 0) >> 0] = $1_1; + HEAP8[($5_1 + 10 | 0) >> 0] = $2_1; + $8_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[($5_1 + 11 | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) >= (67 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0) { + break label$5 + } + label$6 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$6 + } + $343(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0); + } + break label$4; + } + $346(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + } + break label$1; + } + $39_1 = 24; + label$7 : { + if (!((((HEAPU8[($5_1 + 11 | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0 | 0) == (66 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!((0 | 0) == (((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 44 | 0)) { + break label$9 + } + $877(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 10 | 0) >> 0] | 0) & 255 | 0 | 0, 1 & 255 | 0 | 0) | 0; + } + } + $72_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($72_1 + 8 | 0) >> 1] = ((HEAPU16[($72_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -45 | 0; + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $896($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $18_1 = 0.0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $18_1 = +$237(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAPF64[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 3] = $18_1; + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 8 | 0; + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $897($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $15_1 = 0, $45_1 = 0, $63_1 = 0, $74_1 = 0, $86_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($5_1 + 7 | 0) >> 0] = $1_1; + HEAP8[($5_1 + 6 | 0) >> 0] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $15_1 = (HEAPU8[($5_1 + 7 | 0) >> 0] | 0) + -65 | 0; + label$3 : { + label$4 : { + switch ($15_1 | 0) { + case 0: + label$9 : { + label$10 : { + if (((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0) { + break label$10 + } + $977(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 66 & 255 | 0 | 0, (HEAPU8[($5_1 + 6 | 0) >> 0] | 0) & 255 | 0 | 0); + label$11 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$11 + } + HEAP16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 16 | 0; + } + break label$9; + } + $45_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP16[($45_1 + 8 | 0) >> 1] = ((HEAPU16[($45_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -49584 | 0; + } + break label$3; + case 2: + $978(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$3; + case 3: + $894(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$3; + case 4: + $896(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$3; + default: + break label$4; + }; + } + $63_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP16[($63_1 + 8 | 0) >> 1] = (HEAPU16[($63_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | ((((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0) >> 3 | 0) | 0; + $977(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 66 & 255 | 0 | 0, (HEAPU8[($5_1 + 6 | 0) >> 0] | 0) & 255 | 0 | 0); + $74_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP16[($74_1 + 8 | 0) >> 1] = ((HEAPU16[($74_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -16445 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $328(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 6 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + $86_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $86_1 | 0; + } + + function $898($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $134$hi = 0, $135$hi = 0, $138$hi = 0, $139$hi = 0, $143$hi = 0, $144$hi = 0, $147$hi = 0, $148$hi = 0, $25_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $30_1 = 0, $31_1 = 0, $32_1 = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $134_1 = 0, $248_1 = 0, $138_1 = 0, $268_1 = 0, $143_1 = 0, $374_1 = 0, $147_1 = 0, $394_1 = 0, $131_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAPU16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAPU16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0 | (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 1 | 0) - ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 1 | 0) | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0) & 44 | 0)) { + break label$3 + } + label$4 : { + if (!(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) & 36 | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $134_1 = i64toi32_i32$0; + $134$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $135$hi = i64toi32_i32$0; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$0 = $135$hi; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$0 = $135$hi; + $248_1 = i64toi32_i32$1; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$2 = $134_1; + i64toi32_i32$1 = $135$hi; + i64toi32_i32$3 = $248_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $25_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $26_1 = 0 + } else { + $26_1 = 1 + } + $27_1 = $26_1; + } else { + $27_1 = 0 + } + $25_1 = $27_1; + } + label$5 : { + if (!($25_1 & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = -1; + break label$1; + } + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $138_1 = i64toi32_i32$2; + $138$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $139$hi = i64toi32_i32$2; + i64toi32_i32$2 = $138$hi; + i64toi32_i32$2 = $139$hi; + i64toi32_i32$2 = $138$hi; + i64toi32_i32$2 = $139$hi; + $268_1 = i64toi32_i32$0; + i64toi32_i32$2 = $138$hi; + i64toi32_i32$3 = $138_1; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$1 = $268_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $28_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $29_1 = 0 + } else { + $29_1 = 1 + } + $30_1 = $29_1; + } else { + $30_1 = 0 + } + $28_1 = $30_1; + } + label$6 : { + if (!($28_1 & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$7 : { + if (!(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) & 8 | 0)) { + break label$7 + } + label$8 : { + if (!(+HEAPF64[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 3] < +HEAPF64[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 3] & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 28 | 0) >> 2] = -1; + break label$1; + } + label$9 : { + if (!(+HEAPF64[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 3] > +HEAPF64[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 3] & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$10 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 36 | 0)) { + break label$10 + } + label$11 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 8 | 0)) { + break label$11 + } + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $979(i64toi32_i32$3 | 0, i64toi32_i32$2 | 0, +(+HEAPF64[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 3])) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$12 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 36 | 0)) { + break label$12 + } + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $143_1 = i64toi32_i32$2; + $143$hi = i64toi32_i32$3; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $144$hi = i64toi32_i32$2; + i64toi32_i32$2 = $143$hi; + i64toi32_i32$2 = $144$hi; + i64toi32_i32$2 = $143$hi; + i64toi32_i32$2 = $144$hi; + $374_1 = i64toi32_i32$3; + i64toi32_i32$2 = $143$hi; + i64toi32_i32$1 = $143_1; + i64toi32_i32$3 = $144$hi; + i64toi32_i32$0 = $374_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$3 | 0)) { + $31_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$0 >>> 0) { + $32_1 = 0 + } else { + $32_1 = 1 + } + $33_1 = $32_1; + } else { + $33_1 = 0 + } + $31_1 = $33_1; + } + label$13 : { + if (!($31_1 & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 28 | 0) >> 2] = -1; + break label$1; + } + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $147_1 = i64toi32_i32$1; + $147$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $148$hi = i64toi32_i32$1; + i64toi32_i32$1 = $147$hi; + i64toi32_i32$1 = $148$hi; + i64toi32_i32$1 = $147$hi; + i64toi32_i32$1 = $148$hi; + $394_1 = i64toi32_i32$2; + i64toi32_i32$1 = $147$hi; + i64toi32_i32$0 = $147_1; + i64toi32_i32$2 = $148$hi; + i64toi32_i32$3 = $394_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $35_1 = 0 + } else { + $35_1 = 1 + } + $36_1 = $35_1; + } else { + $36_1 = 0 + } + $34_1 = $36_1; + } + label$14 : { + if (!($34_1 & 1 | 0)) { + break label$14 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = -1; + break label$1; + } + label$15 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 8 | 0)) { + break label$15 + } + label$16 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 36 | 0)) { + break label$16 + } + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = 0 - ($979(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, +(+HEAPF64[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 3])) | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$17 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0) & 2 | 0)) { + break label$17 + } + label$18 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 2 | 0) { + break label$18 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$19 : { + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 2 | 0) { + break label$19 + } + HEAP32[($5_1 + 28 | 0) >> 2] = -1; + break label$1; + } + label$20 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $980(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $981(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $131_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $131_1 | 0; + } + + function $899($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $30$hi = 0, i64toi32_i32$2 = 0, $32$hi = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 36 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$1; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $30$hi; + HEAP32[($4_1 + 12 | 0) >> 2] = ((i64toi32_i32$2 | 0) != (0 | 0) | (i64toi32_i32$1 | 0) != ($30$hi | 0) | 0) & 1 | 0; + break label$1; + } + label$3 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = +$237(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != +(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $27_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $27_1 | 0; + } + + function $900($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $35_1 = 0, $67_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $35_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (((HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $35_1; + if (!($35_1 >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$3 + } + if (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $942(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$4 : { + if (!($982(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $983(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $67_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $67_1 | 0; + } + + function $901($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $7_1 = $984(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $7_1 | 0; + } + + function $902($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $81$hi = 0, $82$hi = 0, $79$hi = 0, $80$hi = 0, $81_1 = 0, $245_1 = 0, $76_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) & 128 | 0) { + break label$2 + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 127 | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 7 | 0; + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0 | (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0; + HEAP8[($4_1 + 47 | 0) >> 0] = 2; + break label$1; + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$3 : { + if ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 128 | 0) { + break label$3 + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) & 127 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) << 7 | 0; + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0 | (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0; + HEAP8[($4_1 + 47 | 0) >> 0] = 3; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $769((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + -2 | 0 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $79$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $80$hi = i64toi32_i32$1; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $81_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $81$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $82$hi = i64toi32_i32$2; + i64toi32_i32$2 = $81$hi; + i64toi32_i32$2 = $82$hi; + i64toi32_i32$2 = $81$hi; + i64toi32_i32$2 = $82$hi; + $245_1 = i64toi32_i32$0; + i64toi32_i32$2 = $81$hi; + i64toi32_i32$1 = $81_1; + i64toi32_i32$0 = $82$hi; + i64toi32_i32$3 = $245_1; + label$4 : { + label$5 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = -1; + break label$4; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = i64toi32_i32$1; + } + HEAP8[($4_1 + 47 | 0) >> 0] = HEAPU8[($4_1 + 15 | 0) >> 0] | 0; + } + $76_1 = (HEAPU8[($4_1 + 47 | 0) >> 0] | 0) & 255 | 0; + global$0 = $4_1 + 48 | 0; + return $76_1 | 0; + } + + function $903($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0, $11_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $9_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $9_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $9_1; + $11_1 = $901(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = $11_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4112; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $906(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $29_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $29_1 | 0; + } + + function $904($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP8[($3_1 + 15 | 0) >> 0] = $0_1; + return (HEAPU8[(((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) & 255 | 0) + 8256 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $905($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $6_1 = 0, $8_1 = 0, $19_1 = 0, $28_1 = 0, $45_1 = 0, $69_1 = 0, $178$hi = 0, $126_1 = 0, $179$hi = 0, $180$hi = 0, $29_1 = 0, $181$hi = 0, $232_1 = 0, $268_1 = 0, $317_1 = 0, $379_1 = 0, $96_1 = 0, $97_1 = 0, $178_1 = 0, $171_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($6_1 | 0) { + case 10: + $8_1 = 0; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 1] = 16385; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = $8_1; + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = $8_1; + break label$2; + case 0: + case 11: + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 1] = 1; + break label$2; + case 1: + $19_1 = 24; + i64toi32_i32$1 = ((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $232_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $232_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 1] = 4; + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + break label$1; + case 2: + $28_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $268_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $268_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 1] = 4; + HEAP32[($5_1 + 12 | 0) >> 2] = 2; + break label$1; + case 3: + $45_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $45_1 | 0) >> $45_1 | 0) << 16 | 0 | (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $317_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $317_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 1] = 4; + HEAP32[($5_1 + 12 | 0) >> 2] = 3; + break label$1; + case 4: + $69_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $69_1 | 0) >> $69_1 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $379_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $379_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 1] = 4; + HEAP32[($5_1 + 12 | 0) >> 2] = 4; + break label$1; + case 5: + $96_1 = 6; + $97_1 = 4; + i64toi32_i32$0 = 0; + $178_1 = ((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) | 0; + $178$hi = i64toi32_i32$0; + $126_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $126_1 | 0) >> $126_1 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $179$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $180$hi = i64toi32_i32$0; + i64toi32_i32$0 = $179$hi; + i64toi32_i32$0 = $180$hi; + i64toi32_i32$0 = $179$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $180$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $29_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $29_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $181$hi = i64toi32_i32$1; + i64toi32_i32$1 = $178$hi; + i64toi32_i32$1 = $181$hi; + i64toi32_i32$1 = $178$hi; + i64toi32_i32$0 = $178_1; + i64toi32_i32$2 = $181$hi; + i64toi32_i32$3 = $29_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 1] = $97_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $96_1; + break label$1; + case 6: + case 7: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $985(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + case 8: + case 9: + i64toi32_i32$5 = 0; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) - 8 | 0; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 1] = 4; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + break label$1; + default: + break label$3; + }; + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) - 12 | 0) >>> 1 | 0; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[(8384 + (((HEAP32[($5_1 + 4 | 0) >> 2] | 0) & 1 | 0) << 1 | 0) | 0) >> 1] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + $171_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $171_1 | 0; + } + + function $906($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, $52$hi = 0, i64toi32_i32$0 = 0, $51$hi = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $24_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + i64toi32_i32$0 = $986(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $51$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $52$hi = i64toi32_i32$1; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$3 = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0; + if ((i64toi32_i32$1 | 0) < ($52$hi | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + label$1 : { + label$2 : { + if (!($13_1 & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(77261 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $24_1 = $265(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $24_1; + label$3 : { + if (!((0 | 0) == ($24_1 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $822(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + HEAP8[((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 16; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + break label$4; + } + $227(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + $48_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $48_1 | 0; + } + + function $907($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$0 = 0, $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $12$hi = 0, i64toi32_i32$3 = 0, $13$hi = 0, $14$hi = 0, i64toi32_i32$2 = 0, $14_1 = 0, $15_1 = 0, $16$hi = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 4 | 0) >> 2] = 1; + label$1 : { + label$2 : while (1) { + i64toi32_i32$0 = 0; + $12_1 = 0; + $12$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $13$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $14$hi = i64toi32_i32$1; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $14$hi; + i64toi32_i32$3 = 7; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $14_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $14_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $15_1 = $14_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $15_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + $16$hi = i64toi32_i32$0; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$1 = $15_1; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$3 = $12_1; + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != ($12$hi | 0) | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $908($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4_1 = 0, i64toi32_i32$4 = 0, $24$hi = 0, $31$hi = 0, $26$hi = 0, $28$hi = 0, $29$hi = 0, $33$hi = 0, $35$hi = 0, $36$hi = 0, $25_1 = 0, $37$hi = 0, $38$hi = 0, $39$hi = 0, $40$hi = 0, $42$hi = 0, $43$hi = 0, $14_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $24$hi = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[i64toi32_i32$1 >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$3 = 127; + label$1 : { + label$2 : { + if (!((i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $29$hi = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $29$hi; + i64toi32_i32$0 = 127; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + HEAP8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] = i64toi32_i32$3 & i64toi32_i32$0 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$2 = 0; + $31$hi = i64toi32_i32$2; + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $33$hi = i64toi32_i32$3; + i64toi32_i32$3 = $31$hi; + i64toi32_i32$3 = $33$hi; + i64toi32_i32$3 = $31$hi; + i64toi32_i32$3 = $33$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$0 = 16383; + label$3 : { + if (!((i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + $14_1 = 2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $35$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $36$hi = i64toi32_i32$3; + i64toi32_i32$3 = $35$hi; + i64toi32_i32$3 = $36$hi; + i64toi32_i32$3 = $35$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$2 = 7; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $25_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + $25_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $37$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $38$hi = i64toi32_i32$1; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$3 = $25_1; + i64toi32_i32$0 = $38$hi; + i64toi32_i32$2 = 127; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $39$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $40$hi = i64toi32_i32$0; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$0 = $40$hi; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $40$hi; + i64toi32_i32$2 = 128; + i64toi32_i32$3 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + HEAP8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $42$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $43$hi = i64toi32_i32$1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $43$hi; + i64toi32_i32$2 = 127; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = i64toi32_i32$0 & i64toi32_i32$2 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $14_1; + break label$1; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = i64toi32_i32$1, wasm2js_i32$1 = $987(HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $21_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $21_1 | 0; + } + + function $909($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $35_1 = 0, $71$hi = 0, $72$hi = 0, $40_1 = 0, $74$hi = 0, $75$hi = 0, $19_1 = 0, $133_1 = 0, $139_1 = 0, $37_1 = 0, $66_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 <= 7 >>> 0 & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $133_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1 + 16 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $133_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$3; + } + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $139_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $139_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + } + $35_1 = (HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8256 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $35_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $35_1; + label$5 : while (1) { + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $71$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$3 = 255; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $37_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $40_1 = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $40_1; + HEAP8[($37_1 + $40_1 | 0) >> 0] = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $74$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $75$hi = i64toi32_i32$2; + i64toi32_i32$2 = $74$hi; + i64toi32_i32$2 = $75$hi; + i64toi32_i32$2 = $74$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$3 = 8; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $19_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $19_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $19_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + continue label$5 + } + break label$5; + }; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + label$6 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 >= 12 >>> 0 & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$7 + } + $3288(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $66_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $66_1 | 0; + } + + function $910($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $3_1 = 0, $24_1 = 0, $51$hi = 0, $152$hi = 0, $9_1 = 0, $156_1 = 0, $167_1 = 0; + $3_1 = global$0 - 32 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAPU8[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + i64toi32_i32$0 = -1; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + label$3 : { + if ((HEAPU8[((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + i64toi32_i32$0 = -1; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = (HEAPU16[((HEAP32[((HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = 0; + label$4 : { + label$5 : while (1) { + $24_1 = 24; + if (!(((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) < (((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $51$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $152$hi = i64toi32_i32$1; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $152$hi; + $9_1 = i64toi32_i32$0; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$0 = __wasm_i64_mul($9_1 | 0, i64toi32_i32$1 | 0, (HEAPU16[((HEAP32[(((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 120 | 0) + (((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $156_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $156_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = (HEAPU8[(i64toi32_i32$0 + 7 | 0) >> 0] | 0) + 1 | 0; + continue label$5; + }; + } + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $167_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $167_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$0 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $911($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, $19_1 = 0, $155$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $64_1 = 0, $85_1 = 0, $265$hi = 0, $304_1 = 0, $150_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $988(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$3 : while (1) { + $19_1 = 0; + label$4 : { + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0; + $19_1 = (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0; + } + label$5 : { + if (!($19_1 & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$6 : { + label$7 : { + if ((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) { + break label$7 + } + if (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$6 + } + } + i64toi32_i32$0 = 0; + $155$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $265$hi = i64toi32_i32$1; + i64toi32_i32$1 = $155$hi; + i64toi32_i32$1 = $265$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $155$hi; + i64toi32_i32$3 = (HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$5; + } + label$8 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : while (1) { + $64_1 = 24; + label$10 : { + if (((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $64_1 | 0) >> $64_1 | 0) { + break label$10 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $304_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $304_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $988(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $989(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0); + if (((HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0 | 0) >= ((HEAPU16[((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) { + continue label$9 + } + break label$9; + }; + $85_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP16[($85_1 + 70 | 0) >> 1] = (HEAPU16[($85_1 + 70 | 0) >> 1] | 0) + 1 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0; + label$11 : { + label$12 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == ((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $990(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $161((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $990(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $161((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + continue label$3; + } + break label$3; + }; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + $150_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $150_1 | 0; + } + + function $912($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $163(HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $12_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $12_1 | 0; + } + + function $913($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $18_1 = 0, $32_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (15 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = $510(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = $18_1 + (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + break label$1; + } + $32_1 = $161((HEAP32[((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 2 | 0) + 36 | 0) | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = $32_1; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $914($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $152_1 = 0, $111_1 = 0, $24_1 = 0, $38_1 = 0, $75_1 = 0, $104_1 = 0, $33_1 = 0, $149_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP8[($7_1 + 15 | 0) >> 0] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $24_1 = (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) - (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0, 40) | 0; + break label$1; + } + $24_1 = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 8 | 0) >> 2] = $24_1; + HEAP32[$7_1 >> 2] = 0; + $33_1 = ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 3 | 0) + 96 | 0; + label$3 : { + label$4 : { + if ((HEAPU8[($7_1 + 15 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + $38_1 = $991() | 0; + break label$3; + } + $38_1 = 0; + } + HEAP32[($7_1 + 4 | 0) >> 2] = $33_1 + $38_1 | 0; + label$5 : { + if (!((HEAP32[((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[((HEAP32[((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + $75_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP8[($75_1 + 5 | 0) >> 0] = (HEAPU8[($75_1 + 5 | 0) >> 0] | 0) & -2 | 0; + } + $859(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + } + label$7 : { + if (!((0 | 0) == ($265(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + $104_1 = HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = $104_1; + HEAP32[((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $104_1; + $111_1 = HEAP32[$7_1 >> 2] | 0; + i64toi32_i32$0 = 0; + $152_1 = 0; + i64toi32_i32$1 = $111_1; + HEAP32[i64toi32_i32$1 >> 2] = $152_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $152_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $111_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $152_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $111_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $152_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[(HEAP32[$7_1 >> 2] | 0) >> 0] = HEAPU8[($7_1 + 15 | 0) >> 0] | 0; + HEAP8[((HEAP32[$7_1 >> 2] | 0) + 1 | 0) >> 0] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP16[((HEAP32[$7_1 >> 2] | 0) + 56 | 0) >> 1] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[$7_1 >> 2] | 0) + 72 | 0) >> 2] = ((HEAP32[$7_1 >> 2] | 0) + 88 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0; + label$8 : { + if ((HEAPU8[($7_1 + 15 | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + HEAP32[((HEAP32[$7_1 >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 3 | 0) + 96 | 0) | 0; + $992(HEAP32[((HEAP32[$7_1 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + } + } + $149_1 = HEAP32[$7_1 >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $149_1 | 0; + } + + function $915($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $993(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $994(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $30_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $30_1 | 0; + } + + function $916($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + return; + } + + function $917($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, i64toi32_i32$0 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $198(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(($6_1 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $995(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0, 1 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $996(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $27_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $27_1 | 0; + } + + function $918($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $11_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $127(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $997(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $11_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $11_1 | 0; + } + + function $919($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $188$hi = 0, $199$hi = 0, $6_1 = 0, $40_1 = 0, $56_1 = 0, $191$hi = 0, $29_1 = 0, $30_1 = 0, $31_1 = 0, $193$hi = 0, $194$hi = 0, $196$hi = 0, $197$hi = 0, $201$hi = 0, $32_1 = 0, $33_1 = 0, $34_1 = 0, $204_1 = 0, $204$hi = 0, $125_1 = 0, $456_1 = 0, $35_1 = 0, $475_1 = 0, $196_1 = 0, $484_1 = 0, $487_1 = 0, $138_1 = 0, $184_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 32 | 0) >> 2] = ((((HEAPU16[((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0) << 2 | 0) + 24 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 136; + i64toi32_i32$1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $308(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $40_1 = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $40_1; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] = $40_1; + $3288(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + label$3 : { + if (!(HEAP32[($5_1 + 56 | 0) >> 2] | 0)) { + break label$3 + } + HEAP16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 6 | 0) >> 1] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + } + $127(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + $56_1 = $131(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = $56_1; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = $56_1; + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 59 | 0) >> 0] = 1; + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 58 | 0) >> 0] = 255; + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 57 | 0) >> 0] = ((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 59 | 0) >> 0] | 0) & 255 | 0 | 0) > (1 | 0) & 1 | 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 59 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 72) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$6 : { + if ($156(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + i64toi32_i32$0 = 0; + $188$hi = i64toi32_i32$0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(0 + 68572 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] = Math_imul(HEAP32[($5_1 + 4 | 0) >> 2] | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0); + i64toi32_i32$1 = HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $456_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $456_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $191$hi = i64toi32_i32$1; + i64toi32_i32$1 = $188$hi; + i64toi32_i32$1 = $191$hi; + i64toi32_i32$1 = $188$hi; + i64toi32_i32$1 = $191$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $188$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $29_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $30_1 = 0 + } else { + $30_1 = 1 + } + $31_1 = $30_1; + } else { + $31_1 = 0 + } + $29_1 = $31_1; + } + label$7 : { + label$8 : { + if (!($29_1 & 1 | 0)) { + break label$8 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $193$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $194$hi = i64toi32_i32$1; + i64toi32_i32$1 = $193$hi; + i64toi32_i32$1 = $194$hi; + i64toi32_i32$1 = $193$hi; + $35_1 = i64toi32_i32$2; + i64toi32_i32$2 = $194$hi; + i64toi32_i32$2 = __wasm_i64_mul($35_1 | 0, i64toi32_i32$1 | 0, -1024 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $475_1 = i64toi32_i32$2; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $475_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + break label$7; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $196_1 = i64toi32_i32$1; + $196$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $197$hi = i64toi32_i32$2; + i64toi32_i32$2 = $196$hi; + i64toi32_i32$2 = $197$hi; + $484_1 = i64toi32_i32$1; + i64toi32_i32$2 = $196$hi; + i64toi32_i32$1 = $197$hi; + i64toi32_i32$1 = __wasm_i64_mul($196_1 | 0, i64toi32_i32$2 | 0, $484_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $487_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $487_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$2 = 0; + $199$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $201$hi = i64toi32_i32$1; + i64toi32_i32$1 = $199$hi; + i64toi32_i32$1 = $201$hi; + i64toi32_i32$1 = $199$hi; + i64toi32_i32$1 = $201$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $199$hi; + i64toi32_i32$0 = 536870912; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $32_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $33_1 = 0 + } else { + $33_1 = 1 + } + $34_1 = $33_1; + } else { + $34_1 = 0 + } + $32_1 = $34_1; + } + label$9 : { + label$10 : { + if (!($32_1 & 1 | 0)) { + break label$10 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $204_1 = i64toi32_i32$3; + $204$hi = i64toi32_i32$1; + break label$9; + } + i64toi32_i32$1 = 0; + $204_1 = 536870912; + $204$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $204$hi; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $204_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + label$11 : { + label$12 : { + if (!((HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) > (i64toi32_i32$1 | 0) & 1 | 0)) { + break label$12 + } + $125_1 = HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + break label$11; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $125_1 = i64toi32_i32$3; + } + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = $125_1; + label$13 : { + if ((HEAPU8[(0 + 68376 | 0) >> 0] | 0) & 255 | 0) { + break label$13 + } + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $138_1 = $39(i64toi32_i32$3 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = $138_1; + label$14 : { + if ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$14 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 7; + } + } + } + label$15 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) < (13 | 0) & 1 | 0)) { + break label$15 + } + label$16 : { + if ((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$16 + } + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + } + if (((HEAPU8[(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 2 | 0) { + break label$15 + } + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 0] = 3; + } + } + $184_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $184_1 | 0; + } + + function $920() { + return 114624 | 0; + } + + function $921($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $21_1 = 0, $31_1 = 0, $37_1 = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((0 | 0) == ((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$2 + } + $21_1 = 0; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = $21_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $21_1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $988(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$4 + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $998(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$6 + } + $31_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[($31_1 + 1 | 0) >> 0] = (HEAPU8[($31_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 8 | 0; + break label$5; + } + $37_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[($37_1 + 1 | 0) >> 0] = ((HEAPU8[($37_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -9 | 0; + } + break label$3; + } + label$7 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = 1; + HEAP32[$4_1 >> 2] = 0; + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + $54_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $54_1 | 0; + } + + function $922($0_1, $1_1, $2_1, $2$hi, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $50_1 = 0, $526$hi = 0, $527$hi = 0, $530$hi = 0, $531$hi = 0, $536$hi = 0, $537$hi = 0, $540$hi = 0, $541$hi = 0, $544$hi = 0, $545$hi = 0, $548$hi = 0, $549$hi = 0, $29_1 = 0, $51_1 = 0, $52_1 = 0, $53_1 = 0, $534$hi = 0, $535$hi = 0, i64toi32_i32$4 = 0, $48_1 = 0, $94_1 = 0, $156_1 = 0, $54_1 = 0, $55_1 = 0, $56_1 = 0, $57_1 = 0, $58_1 = 0, $59_1 = 0, $222_1 = 0, $224_1 = 0, $303_1 = 0, $373_1 = 0, $60_1 = 0, $61_1 = 0, $388_1 = 0, $422_1 = 0, $526_1 = 0, $612_1 = 0, $530_1 = 0, $634_1 = 0, $671_1 = 0, $540_1 = 0, $704_1 = 0, $544_1 = 0, $972_1 = 0, $548_1 = 0, $1009_1 = 0, $1083_1 = 0, $523_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 96 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 68 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAPU8[(HEAP32[($7_1 + 88 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $526_1 = i64toi32_i32$0; + $526$hi = i64toi32_i32$1; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $527$hi = i64toi32_i32$0; + i64toi32_i32$0 = $526$hi; + i64toi32_i32$0 = $527$hi; + i64toi32_i32$0 = $526$hi; + i64toi32_i32$0 = $527$hi; + $612_1 = i64toi32_i32$1; + i64toi32_i32$0 = $526$hi; + i64toi32_i32$2 = $526_1; + i64toi32_i32$1 = $527$hi; + i64toi32_i32$3 = $612_1; + label$3 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$3 + } + $29_1 = 0; + HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] = $29_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $29_1; + break label$1; + } + i64toi32_i32$3 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $530_1 = i64toi32_i32$2; + $530$hi = i64toi32_i32$0; + i64toi32_i32$3 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $531$hi = i64toi32_i32$2; + i64toi32_i32$2 = $530$hi; + i64toi32_i32$2 = $531$hi; + i64toi32_i32$2 = $530$hi; + i64toi32_i32$2 = $531$hi; + $634_1 = i64toi32_i32$0; + i64toi32_i32$2 = $530$hi; + i64toi32_i32$3 = $530_1; + i64toi32_i32$0 = $531$hi; + i64toi32_i32$1 = $634_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $51_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $52_1 = 0 + } else { + $52_1 = 1 + } + $53_1 = $52_1; + } else { + $53_1 = 0 + } + $51_1 = $53_1; + } + label$4 : { + if (!($51_1 & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$5 + } + HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] = -1; + HEAP32[($7_1 + 92 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$1 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $534$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $535$hi = i64toi32_i32$2; + i64toi32_i32$2 = $534$hi; + i64toi32_i32$2 = $535$hi; + i64toi32_i32$2 = $534$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $535$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $536$hi = i64toi32_i32$5; + i64toi32_i32$2 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $537$hi = i64toi32_i32$1; + i64toi32_i32$1 = $536$hi; + i64toi32_i32$1 = $537$hi; + i64toi32_i32$1 = $536$hi; + i64toi32_i32$1 = $537$hi; + $671_1 = i64toi32_i32$5; + i64toi32_i32$1 = $536$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$5 = $537$hi; + i64toi32_i32$0 = $671_1; + label$6 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$6 + } + $48_1 = 0; + HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] = $48_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $924(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $48_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (HEAP32[($7_1 + 60 | 0) >> 2] | 0) { + break label$8 + } + $823(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $540_1 = i64toi32_i32$2; + $540$hi = i64toi32_i32$1; + i64toi32_i32$0 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $541$hi = i64toi32_i32$2; + i64toi32_i32$2 = $540$hi; + i64toi32_i32$2 = $541$hi; + i64toi32_i32$2 = $540$hi; + i64toi32_i32$2 = $541$hi; + $704_1 = i64toi32_i32$1; + i64toi32_i32$2 = $540$hi; + i64toi32_i32$0 = $540_1; + i64toi32_i32$1 = $541$hi; + i64toi32_i32$5 = $704_1; + label$9 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($7_1 + 92 | 0) >> 2] = 0; + break label$1; + } + break label$7; + } + label$10 : { + label$11 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$10; + } + HEAP32[($7_1 + 92 | 0) >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + break label$1; + } + } + } + } + } + label$12 : { + label$13 : { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $999(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 11 | 0) >> 0] = 0; + break label$12; + } + HEAP32[($7_1 + 56 | 0) >> 2] = 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $988(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!(HEAP32[($7_1 + 60 | 0) >> 2] | 0)) { + break label$14 + } + label$15 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] = -1; + HEAP32[($7_1 + 92 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 92 | 0) >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + break label$1; + } + label$16 : { + label$17 : while (1) { + $94_1 = 0; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = $94_1; + HEAP32[($7_1 + 48 | 0) >> 2] = ((HEAPU16[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) >> (1 - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0) | 0; + HEAP16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 70 | 0) >> 1] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + label$18 : { + label$19 : { + label$20 : { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) == ($94_1 | 0) & 1 | 0)) { + break label$20 + } + label$21 : while (1) { + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 44 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 44 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + label$22 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + label$24 : while (1) { + $156_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $156_1 + 1 | 0; + if (!((128 | 0) <= ((HEAPU8[$156_1 >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$23 + } + label$25 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$25 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(70248 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + continue label$24; + }; + } + } + $769(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, $7_1 + 16 | 0 | 0) | 0; + i64toi32_i32$5 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $544_1 = i64toi32_i32$0; + $544$hi = i64toi32_i32$2; + i64toi32_i32$5 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $545$hi = i64toi32_i32$0; + i64toi32_i32$0 = $544$hi; + i64toi32_i32$0 = $545$hi; + i64toi32_i32$0 = $544$hi; + i64toi32_i32$0 = $545$hi; + $972_1 = i64toi32_i32$2; + i64toi32_i32$0 = $544$hi; + i64toi32_i32$5 = $544_1; + i64toi32_i32$2 = $545$hi; + i64toi32_i32$1 = $972_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$2 | 0)) { + $54_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$1 >>> 0) { + $55_1 = 0 + } else { + $55_1 = 1 + } + $56_1 = $55_1; + } else { + $56_1 = 0 + } + $54_1 = $56_1; + } + label$26 : { + label$27 : { + label$28 : { + if (!($54_1 & 1 | 0)) { + break label$28 + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 1 | 0; + label$29 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($7_1 + 40 | 0) >> 2] = -1; + break label$26; + } + break label$27; + } + i64toi32_i32$1 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $548_1 = i64toi32_i32$5; + $548$hi = i64toi32_i32$0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $549$hi = i64toi32_i32$5; + i64toi32_i32$5 = $548$hi; + i64toi32_i32$5 = $549$hi; + i64toi32_i32$5 = $548$hi; + i64toi32_i32$5 = $549$hi; + $1009_1 = i64toi32_i32$0; + i64toi32_i32$5 = $548$hi; + i64toi32_i32$1 = $548_1; + i64toi32_i32$0 = $549$hi; + i64toi32_i32$2 = $1009_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$0 | 0)) { + $57_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$2 >>> 0) { + $58_1 = 0 + } else { + $58_1 = 1 + } + $59_1 = $58_1; + } else { + $59_1 = 0 + } + $57_1 = $59_1; + } + label$30 : { + label$31 : { + if (!($57_1 & 1 | 0)) { + break label$31 + } + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) - 1 | 0; + label$32 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($7_1 + 40 | 0) >> 2] = 1; + break label$26; + } + break label$30; + } + HEAP16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 70 | 0) >> 1] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + label$33 : { + if (((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$33 + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + break label$18; + } + $222_1 = 0; + $224_1 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + HEAP8[($224_1 + 1 | 0) >> 0] = (HEAPU8[($224_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 2 | 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $1083_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1083_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$5; + HEAP16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 50 | 0) >> 1] = 0; + HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] = $222_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $222_1; + break label$1; + } + } + HEAP32[($7_1 + 44 | 0) >> 2] = ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) >> 1 | 0; + continue label$21; + } + break label$21; + }; + break label$19; + } + label$34 : while (1) { + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 44 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 44 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAPU8[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$35 : { + label$36 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) <= ((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$36 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 12 | 0) >> 2] | 0, (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + break label$35; + } + label$37 : { + label$38 : { + if (((HEAPU8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 128 | 0) { + break label$38 + } + $303_1 = (((HEAP32[($7_1 + 12 | 0) >> 2] | 0) & 127 | 0) << 7 | 0) + ((HEAPU8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = $303_1; + if (!(($303_1 | 0) <= ((HEAPU16[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$38 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 12 | 0) >> 2] | 0, (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 2 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + break label$37; + } + HEAP32[($7_1 + 4 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + (0 - ((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0) | 0; + HEAP32[$7_1 >> 2] = 18; + FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 32 | 0) >> 2] | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0, (HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 32 | 0); + i64toi32_i32$2 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$5; + label$39 : { + label$40 : { + if ((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0) { + break label$40 + } + if (!((((HEAP32[($7_1 + 12 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 0) | 0) >>> 0 > (HEAP32[((HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$39 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(70323 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$16; + } + i64toi32_i32$5 = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 18 | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $39(i64toi32_i32$5 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$41 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$41 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 7; + break label$16; + } + $373_1 = 0; + HEAP16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 70 | 0) >> 1] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $388(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $373_1 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, $373_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + $50_1 = 0; + HEAP8[i64toi32_i32$5 >> 0] = $50_1; + HEAP8[(i64toi32_i32$5 + 1 | 0) >> 0] = $50_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$5 + 2 | 0) >> 0] = $50_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$5 + 3 | 0) >> 0] = $50_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$5 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$5 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$5 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$5 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $60_1 = i64toi32_i32$5 + 16 | 0; + $61_1 = 0; + HEAP8[$60_1 >> 0] = $61_1; + HEAP8[($60_1 + 1 | 0) >> 0] = $61_1 >>> 8 | 0; + i64toi32_i32$5 = i64toi32_i32$5 + 8 | 0; + HEAP8[i64toi32_i32$5 >> 0] = $50_1; + HEAP8[(i64toi32_i32$5 + 1 | 0) >> 0] = $50_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$5 + 2 | 0) >> 0] = $50_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$5 + 3 | 0) >> 0] = $50_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$5 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$5 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$5 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$5 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $388_1 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + HEAP8[($388_1 + 1 | 0) >> 0] = ((HEAPU8[($388_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -5 | 0; + label$42 : { + if (!(HEAP32[($7_1 + 60 | 0) >> 2] | 0)) { + break label$42 + } + $42(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0); + break label$16; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1000(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0); + } + } + label$43 : { + label$44 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$44 + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 1 | 0; + break label$43; + } + label$45 : { + label$46 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$46 + } + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) - 1 | 0; + break label$45; + } + $422_1 = 0; + HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] = $422_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $422_1; + HEAP16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 70 | 0) >> 1] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + label$47 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$47 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(70355 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + } + break label$16; + } + } + label$48 : { + label$49 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$49 + } + break label$48; + } + HEAP32[($7_1 + 44 | 0) >> 2] = ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) >> 1 | 0; + continue label$34; + } + break label$34; + }; + } + label$50 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$50 + } + HEAP16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 70 | 0) >> 1] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$16; + } + } + label$51 : { + label$52 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) >= ((HEAPU16[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$52 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$51; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + HEAP16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 70 | 0) >> 1] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $990(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$53 : { + label$54 : { + if (!(HEAP32[($7_1 + 60 | 0) >> 2] | 0)) { + break label$54 + } + break label$53; + } + continue label$17; + } + break label$17; + }; + } + HEAP16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 50 | 0) >> 1] = 0; + HEAP32[($7_1 + 92 | 0) >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + } + $523_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + global$0 = $7_1 + 96 | 0; + return $523_1 | 0; + } + + function $923($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) & (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function $924($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, $21_1 = 0, $24_1 = 0, $36_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 50 | 0) >> 1] = 0; + $7_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[($7_1 + 1 | 0) >> 0] = ((HEAPU8[($7_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -7 | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1001(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + $21_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $24_1 = (HEAPU16[($21_1 + 70 | 0) >> 1] | 0) + 1 | 0; + HEAP16[($21_1 + 70 | 0) >> 1] = $24_1; + label$3 : { + if (!(($24_1 & 65535 | 0 | 0) >= ((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$3 + } + $36_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP16[($36_1 + 70 | 0) >> 1] = (HEAPU16[($36_1 + 70 | 0) >> 1] | 0) + -1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1001(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1002(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $55_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $55_1 | 0; + } + + function $925($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $29_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + $6_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[($6_1 + 1 | 0) >> 0] = ((HEAPU8[($6_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -15 | 0; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 50 | 0) >> 1] = 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if (!((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0)) { + break label$3 + } + if ((HEAPU8[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1003(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $29_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP16[($29_1 + 70 | 0) >> 1] = (HEAPU16[($29_1 + 70 | 0) >> 1] | 0) + -1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $33_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $33_1 | 0; + } + + function $926($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (0 | 0) != ((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0 | 0; + } + + function $927($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return ((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0) & 1 | 0 | 0; + } + + function $928($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $42$hi = 0, $47$hi = 0, $42_1 = 0, $45$hi = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $49$hi = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $32_1 = 0, $37_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + i64toi32_i32$0 = 0; + $42_1 = 0; + $42$hi = i64toi32_i32$0; + HEAP32[($6_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $3_1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $42_1; + HEAP32[($6_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $821(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 52 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $45$hi = i64toi32_i32$1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$3 = $42_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $17_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $18_1 = 0 + } else { + $18_1 = 1 + } + $19_1 = $18_1; + } else { + $19_1 = 0 + } + $17_1 = $19_1; + } + label$1 : { + label$2 : { + label$3 : { + if ($17_1 & 1 | 0) { + break label$3 + } + i64toi32_i32$2 = 0; + $47$hi = i64toi32_i32$2; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $49$hi = i64toi32_i32$1; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $47$hi; + i64toi32_i32$0 = 2147483647; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $20_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $21_1 = 0 + } else { + $21_1 = 1 + } + $22_1 = $21_1; + } else { + $22_1 = 0 + } + $20_1 = $22_1; + } + if (!($20_1 & 1 | 0)) { + break label$2 + } + } + HEAP32[(HEAP32[($6_1 + 60 | 0) >> 2] | 0) >> 2] = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(82987 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $943($6_1 | 0, HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, 0 & 65535 | 0 | 0); + i64toi32_i32$0 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $903(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($6_1 + 44 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + break label$1; + } + $32_1 = 0; + $37_1 = $944(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, $32_1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 60 | 0) >> 2] | 0) >> 2] = $37_1; + $227($6_1 | 0); + HEAP32[($6_1 + 76 | 0) >> 2] = $32_1; + } + $39_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $39_1 | 0; + } + + function $929($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[$3_1 >> 2] = Math_imul(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0, 40) + 16 | 0; + i64toi32_i32$1 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $64(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0; + HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + $41_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $41_1 | 0; + } + + function $930($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $27_1 = 0, $48_1 = 0, $76_1 = 0, $98_1 = 0, $113_1 = 0, $105_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 10 | 0) >> 0] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAPU8[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $27_1 = 1; + break label$1; + } + $27_1 = ($902(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0) | 0) & 255 | 0; + } + HEAP32[($6_1 + 20 | 0) >> 2] = $27_1 & 255 | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP16[($6_1 + 18 | 0) >> 1] = 0; + label$3 : while (1) { + $48_1 = 0; + label$4 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + $48_1 = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0; + } + label$5 : { + if (!($48_1 & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + $76_1 = 1; + break label$6; + } + $76_1 = ($902((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0 | 0, $6_1 + 4 | 0 | 0) | 0) & 255 | 0; + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ($76_1 & 255 | 0) | 0; + HEAP8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $98_1 = 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = $98_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = $98_1; + $105_1 = $905((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $105_1 | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 40 | 0; + $113_1 = (HEAPU16[($6_1 + 18 | 0) >> 1] | 0) + 1 | 0; + HEAP16[($6_1 + 18 | 0) >> 1] = $113_1; + label$8 : { + if (!(($113_1 & 65535 | 0 | 0) >= ((HEAPU16[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$5; + } + continue label$3; + } + break label$3; + }; + label$9 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0) >>> 0 > (HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$9 + } + if (!((HEAPU16[($6_1 + 18 | 0) >> 1] | 0) & 65535 | 0)) { + break label$9 + } + $262((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + -40 | 0 | 0); + } + HEAP16[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($6_1 + 18 | 0) >> 1] | 0; + global$0 = $6_1 + 48 | 0; + return; + } + + function $931($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, $118_1 = 0, $29_1 = 0, $30_1 = 0, $31_1 = 0, $448$hi = 0, $449$hi = 0, $455$hi = 0, $456$hi = 0, $8_1 = 0, $82_1 = 0, $260_1 = 0, $363_1 = 0, $366_1 = 0, $369_1 = 0, $377_1 = 0, $397_1 = 0, $448_1 = 0, $604_1 = 0, $455_1 = 0, $833_1 = 0, $423_1 = 0, $1451_1 = 0, $444_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 144 | 0; + global$0 = $6_1; + $8_1 = 0; + HEAP32[($6_1 + 136 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 132 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 128 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 124 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 116 | 0) >> 2] = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + HEAP32[($6_1 + 112 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 88 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 136 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 32 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $198(HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($6_1 + 120 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + break label$1; + } + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$2 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $995(HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, 0 | 0); + label$7 : { + label$8 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$8 + } + i64toi32_i32$2 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $448_1 = i64toi32_i32$1; + $448$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $449$hi = i64toi32_i32$1; + i64toi32_i32$1 = $448$hi; + i64toi32_i32$1 = $449$hi; + i64toi32_i32$1 = $448$hi; + i64toi32_i32$1 = $449$hi; + $604_1 = i64toi32_i32$0; + i64toi32_i32$1 = $448$hi; + i64toi32_i32$2 = $448_1; + i64toi32_i32$0 = $449$hi; + i64toi32_i32$3 = $604_1; + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!((HEAPU16[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0)) { + break label$9 + } + if (!((HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1004(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + break label$7; + } + label$10 : { + if (HEAP32[($6_1 + 116 | 0) >> 2] | 0) { + break label$10 + } + $82_1 = 0; + i64toi32_i32$3 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $922(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $82_1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0, (HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) != ($82_1 | 0) & 1 | 0 | 0, $6_1 + 116 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($6_1 + 120 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + break label$1; + } + } + } + break label$5; + } + label$12 : { + if (HEAP32[($6_1 + 116 | 0) >> 2] | 0) { + break label$12 + } + if ((HEAP32[($6_1 + 128 | 0) >> 2] | 0) & 2 | 0) { + break label$12 + } + label$13 : { + label$14 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$14 + } + i64toi32_i32$1 = 0; + $118_1 = 0; + HEAP32[($6_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP16[($6_1 + 80 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0; + HEAP8[($6_1 + 82 | 0) >> 0] = $118_1; + HEAP8[($6_1 + 83 | 0) >> 0] = $118_1; + HEAP8[($6_1 + 84 | 0) >> 0] = $118_1; + HEAP8[($6_1 + 85 | 0) >> 0] = $118_1; + HEAP8[($6_1 + 86 | 0) >> 0] = $118_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $922(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $6_1 + 72 | 0 | 0, 0 | 0, i64toi32_i32$1 | 0, (HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0, $6_1 + 116 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + break label$13; + } + i64toi32_i32$3 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1005(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 132 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, (HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0, $6_1 + 116 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + } + label$15 : { + if (!(HEAP32[($6_1 + 120 | 0) >> 2] | 0)) { + break label$15 + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + break label$1; + } + } + label$16 : { + if (HEAP32[($6_1 + 116 | 0) >> 2] | 0) { + break label$16 + } + $823(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0); + i64toi32_i32$3 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $455_1 = i64toi32_i32$2; + $455$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $456$hi = i64toi32_i32$2; + i64toi32_i32$2 = $455$hi; + i64toi32_i32$2 = $456$hi; + i64toi32_i32$2 = $455$hi; + i64toi32_i32$2 = $456$hi; + $833_1 = i64toi32_i32$1; + i64toi32_i32$2 = $455$hi; + i64toi32_i32$3 = $455_1; + i64toi32_i32$1 = $456$hi; + i64toi32_i32$0 = $833_1; + label$17 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 132 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($6_1 + 64 | 0) >> 2] = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1004(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + } + HEAP32[($6_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$18 : { + if (!((HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$18 + } + label$19 : { + label$20 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 136 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(73514 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + break label$19; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1006(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + } + label$21 : { + if (!(HEAP32[($6_1 + 120 | 0) >> 2] | 0)) { + break label$21 + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($6_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1007(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, $6_1 + 112 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + label$23 : { + if (!(HEAP32[($6_1 + 120 | 0) >> 2] | 0)) { + break label$23 + } + break label$22; + } + HEAP32[($6_1 + 108 | 0) >> 2] = (HEAPU16[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0; + label$24 : { + label$25 : { + if (HEAP32[($6_1 + 116 | 0) >> 2] | 0) { + break label$25 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (!(HEAP32[($6_1 + 120 | 0) >> 2] | 0)) { + break label$26 + } + break label$22; + } + HEAP32[($6_1 + 92 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 108 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 108 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + label$27 : { + if (((HEAPU8[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$27 + } + $29_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $30_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + $31_1 = HEAPU8[$29_1 >> 0] | 0 | ((HEAPU8[($29_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($29_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($29_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$30_1 >> 0] = $31_1; + HEAP8[($30_1 + 1 | 0) >> 0] = $31_1 >>> 8 | 0; + HEAP8[($30_1 + 2 | 0) >> 0] = $31_1 >>> 16 | 0; + HEAP8[($30_1 + 3 | 0) >> 0] = $31_1 >>> 24 | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1008(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + $260_1 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP8[($260_1 + 1 | 0) >> 0] = ((HEAPU8[($260_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -5 | 0; + label$28 : { + if (!(((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) & 65535 | 0 | 0) == (HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + if (!(((HEAPU16[($6_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) == (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + label$29 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$29 + } + if (!((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$28 + } + } + label$30 : { + if (!((HEAP32[($6_1 + 92 | 0) >> 2] | 0) >>> 0 < (((HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) | 0) + 10 | 0) >>> 0 & 1 | 0)) { + break label$30 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(73560 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$31 : { + if (!(((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 112 | 0) >> 2] | 0) | 0) >>> 0 > (HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$31 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(73563 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $3288(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 140 | 0) >> 2] = 0; + break label$1; + } + $1009(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, (HEAPU16[($6_1 + 26 | 0) >> 1] | 0) & 65535 | 0 | 0, $6_1 + 120 | 0 | 0); + label$32 : { + if (!(HEAP32[($6_1 + 120 | 0) >> 2] | 0)) { + break label$32 + } + break label$22; + } + break label$24; + } + label$33 : { + label$34 : { + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$34 + } + if (!(((HEAPU16[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$34 + } + $363_1 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + $366_1 = (HEAPU16[($363_1 + 70 | 0) >> 1] | 0) + 1 | 0; + HEAP16[($363_1 + 70 | 0) >> 1] = $366_1; + HEAP32[($6_1 + 108 | 0) >> 2] = $366_1 & 65535 | 0; + $369_1 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP8[($369_1 + 1 | 0) >> 0] = ((HEAPU8[($369_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -3 | 0; + break label$33; + } + } + } + $377_1 = 0; + $1010(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, $377_1 | 0, $377_1 | 0, $6_1 + 120 | 0 | 0); + HEAP16[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 50 | 0) >> 1] = 0; + label$35 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$35 + } + $397_1 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP8[($397_1 + 1 | 0) >> 0] = ((HEAPU8[($397_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -3 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1011(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 12 | 0) >> 0] = 0; + HEAP8[(HEAP32[($6_1 + 136 | 0) >> 2] | 0) >> 0] = 1; + label$36 : { + if (!((HEAP32[($6_1 + 128 | 0) >> 2] | 0) & 2 | 0)) { + break label$36 + } + if (HEAP32[($6_1 + 120 | 0) >> 2] | 0) { + break label$36 + } + $817(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0); + label$37 : { + if (!((HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$37 + } + i64toi32_i32$0 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $423_1 = $39(i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 2] = $423_1; + label$38 : { + label$39 : { + if (!((HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$39 + } + HEAP32[($6_1 + 120 | 0) >> 2] = 7; + break label$38; + } + i64toi32_i32$0 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $3288(HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 132 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0) | 0; + } + } + HEAP8[(HEAP32[($6_1 + 136 | 0) >> 2] | 0) >> 0] = 3; + i64toi32_i32$0 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $1451_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] = $1451_1; + HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] = i64toi32_i32$3; + } + } + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + } + $444_1 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + global$0 = $6_1 + 144 | 0; + return $444_1 | 0; + } + + function $932($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $369_1 = 0, $32_1 = 0, i64toi32_i32$2 = 0, $224_1 = 0, $343_1 = 0, $354_1 = 0, $360_1 = 0, $372_1 = 0, $375_1 = 0, $387_1 = 0, i64toi32_i32$1 = 0, $445_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 96 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 88 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 87 | 0) >> 0] = $1_1; + HEAP32[($4_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + HEAP8[($4_1 + 27 | 0) >> 0] = ((HEAPU8[($4_1 + 87 | 0) >> 0] | 0) & 255 | 0) & 2 | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $392(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + break label$1; + } + } + $32_1 = 24; + HEAP32[($4_1 + 56 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 60 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 60 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + if (!($1006(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + HEAP32[($4_1 + 92 | 0) >> 2] = 11; + break label$1; + } + label$5 : { + if (!(((HEAPU8[($4_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + label$8 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + if ((((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (($763(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) | 0) & 65535 | 0) | 0) + 2 | 0 | 0) > ((((HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) << 1 | 0) >>> 0) / (3 >>> 0) | 0 | 0) & 1 | 0) { + break label$8 + } + if (!(((HEAPU16[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $818(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + break label$1; + } + break label$6; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + } + label$10 : { + if (((HEAPU8[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$10 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $925(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + break label$1; + } + } + label$12 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 32 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $198(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + break label$1; + } + } + label$14 : { + if (!((HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + i64toi32_i32$2 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $995(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, 0 | 0); + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$15 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1008(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, $4_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + $1009(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, (HEAPU16[($4_1 + 50 | 0) >> 1] | 0) & 65535 | 0 | 0, $4_1 + 72 | 0 | 0); + label$16 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$16 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + break label$1; + } + label$17 : { + if (((HEAPU8[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$17 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$18 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1006(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$19 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + break label$1; + } + } + $224_1 = 24; + label$20 : { + label$21 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) < ((((HEAPU8[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $224_1 | 0) >> $224_1 | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[(((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 120 | 0) + (((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$20; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + label$22 : { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0) >>> 0 < ((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 4 | 0) >>> 0 & 1 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(73761 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 20 | 0) >> 2] | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (HEAP32[($4_1 + 72 | 0) >> 2] | 0) { + break label$23 + } + $1010(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + -4 | 0 | 0, (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $4_1 + 72 | 0 | 0); + } + $1009(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, $4_1 + 72 | 0 | 0); + label$24 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$24 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + break label$1; + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1011(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + if (HEAP32[($4_1 + 72 | 0) >> 2] | 0) { + break label$25 + } + $343_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $343_1 | 0) >> $343_1 | 0 | 0) > (HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + $819(HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0); + $354_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP8[($354_1 + 68 | 0) >> 0] = (HEAPU8[($354_1 + 68 | 0) >> 0] | 0) + -1 | 0; + label$26 : { + label$27 : while (1) { + $360_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $360_1 | 0) >> $360_1 | 0 | 0) > (HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + $369_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + $372_1 = HEAPU8[($369_1 + 68 | 0) >> 0] | 0; + HEAP8[($369_1 + 68 | 0) >> 0] = $372_1 + -1 | 0; + $375_1 = 24; + $814(HEAP32[(($369_1 + 120 | 0) + ((($372_1 << $375_1 | 0) >> $375_1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + continue label$27; + }; + } + $387_1 = 24; + HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 116 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 120 | 0) + ((((HEAPU8[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $387_1 | 0) >> $387_1 | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1011(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + } + label$28 : { + if (HEAP32[($4_1 + 72 | 0) >> 2] | 0) { + break label$28 + } + label$29 : { + label$30 : { + if (!(HEAP32[($4_1 + 28 | 0) >> 2] | 0)) { + break label$30 + } + HEAP8[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 0] = 2; + label$31 : { + label$32 : { + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) >= ((HEAPU16[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] = -1; + HEAP16[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 70 | 0) >> 1] = ((HEAPU16[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + break label$31; + } + HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + } + break label$29; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $988(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$33 : { + if (!(((HEAPU8[($4_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$33 + } + $817(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0); + HEAP8[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 0] = 3; + } + label$34 : { + if (!((HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$34 + } + HEAP32[($4_1 + 72 | 0) >> 2] = 0; + } + } + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + } + $445_1 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + global$0 = $4_1 + 96 | 0; + return $445_1 | 0; + } + + function $933($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $22_1 = 0, $73_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $22_1 = $929(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] = $22_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $22_1; + label$3 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 7; + break label$1; + } + HEAP16[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1012(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $6_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $930(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 12 | 0) >> 2] | 0, 40) | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = -1; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $73_1 = $1000(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = $73_1; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $75_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $75_1 | 0; + } + + function $934($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1012(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!($265(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 16 | 0; + $3288(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $32_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $32_1 | 0; + } + + function $935($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!($982(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $983(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $10_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $10_1 | 0; + } + + function $936($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $988(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1002(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = 1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + } + } + $22_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $22_1 | 0; + } + + function $937($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $3_1 = 0, i64toi32_i32$4 = 0, $59$hi = 0, $63$hi = 0, $67$hi = 0, $74$hi = 0, $81$hi = 0, $61$hi = 0, $65$hi = 0, $69$hi = 0, $16_1 = 0, $71$hi = 0, $72$hi = 0, $32_1 = 0, $76$hi = 0, $25_1 = 0, $78$hi = 0, $79$hi = 0, $33_1 = 0, $83$hi = 0, $34_1 = 0, $85$hi = 0, $86$hi = 0, $35_1 = 0, $88$hi = 0, $89$hi = 0, $45_1 = 0, $49_1 = 0, $56_1 = 0; + $3_1 = global$0 - 32 | 0; + i64toi32_i32$0 = 0; + $59$hi = i64toi32_i32$0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP16[(i64toi32_i32$1 + 14 | 0) >> 1] = 40; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $61$hi = i64toi32_i32$1; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $59$hi; + i64toi32_i32$3 = 8; + label$1 : { + label$2 : { + label$3 : { + if (!((i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = 0; + $63$hi = i64toi32_i32$2; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $65$hi = i64toi32_i32$1; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$0 = 2; + label$4 : { + if (!((i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP16[($3_1 + 30 | 0) >> 1] = 0; + break label$1; + } + label$5 : { + label$6 : while (1) { + i64toi32_i32$3 = 0; + $67$hi = i64toi32_i32$3; + i64toi32_i32$0 = $3_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $69$hi = i64toi32_i32$1; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$1 = $69$hi; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$1 = $69$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $67$hi; + i64toi32_i32$2 = 8; + if (!((i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + $16_1 = 16; + HEAP16[($3_1 + 14 | 0) >> 1] = (((HEAPU16[($3_1 + 14 | 0) >> 1] | 0) << $16_1 | 0) >> $16_1 | 0) - 10 | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $71$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $32_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $32_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + i64toi32_i32$2 = $3_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = $32_1; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$0; + continue label$6; + }; + } + break label$2; + } + label$7 : { + label$8 : while (1) { + i64toi32_i32$0 = 0; + $74$hi = i64toi32_i32$0; + i64toi32_i32$1 = $3_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $76$hi = i64toi32_i32$2; + i64toi32_i32$2 = $74$hi; + i64toi32_i32$2 = $76$hi; + i64toi32_i32$2 = $74$hi; + i64toi32_i32$2 = $76$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $74$hi; + i64toi32_i32$3 = 255; + if (!((i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$7 + } + $25_1 = 16; + HEAP16[($3_1 + 14 | 0) >> 1] = (((HEAPU16[($3_1 + 14 | 0) >> 1] | 0) << $25_1 | 0) >> $25_1 | 0) + 40 | 0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $79$hi = i64toi32_i32$2; + i64toi32_i32$2 = $78$hi; + i64toi32_i32$2 = $79$hi; + i64toi32_i32$2 = $78$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$0 = 4; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $33_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $33_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$3 = $3_1; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = $33_1; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$1; + continue label$8; + }; + } + label$9 : { + label$10 : while (1) { + i64toi32_i32$1 = 0; + $81$hi = i64toi32_i32$1; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $83$hi = i64toi32_i32$3; + i64toi32_i32$3 = $81$hi; + i64toi32_i32$3 = $83$hi; + i64toi32_i32$3 = $81$hi; + i64toi32_i32$3 = $83$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$0 = 15; + if (!((i64toi32_i32$3 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { + break label$9 + } + $34_1 = 16; + HEAP16[($3_1 + 14 | 0) >> 1] = (((HEAPU16[($3_1 + 14 | 0) >> 1] | 0) << $34_1 | 0) >> $34_1 | 0) + 10 | 0; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $85$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $86$hi = i64toi32_i32$3; + i64toi32_i32$3 = $85$hi; + i64toi32_i32$3 = $86$hi; + i64toi32_i32$3 = $85$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $86$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $35_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + $35_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$0 = $3_1; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $35_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$2; + continue label$10; + }; + } + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $88$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $89$hi = i64toi32_i32$0; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $89$hi; + i64toi32_i32$1 = 7; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $45_1 = 16; + $49_1 = 16; + HEAP16[($3_1 + 30 | 0) >> 1] = ((((HEAPU16[(69408 + ((i64toi32_i32$3 & i64toi32_i32$1 | 0) << 1 | 0) | 0) >> 1] | 0) << $45_1 | 0) >> $45_1 | 0) + (((HEAPU16[($3_1 + 14 | 0) >> 1] | 0) << $49_1 | 0) >> $49_1 | 0) | 0) - 10 | 0; + } + $56_1 = 16; + return ((HEAPU16[($3_1 + 30 | 0) >> 1] | 0) << $56_1 | 0) >> $56_1 | 0 | 0; + } + + function $938($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1013((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 64 | 0 | 0, (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1014(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$5 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1015(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + $41_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $41_1 | 0; + } + + function $939($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $27_1 = 0, $43_1 = 0, $53_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1016(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $4_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$3 + } + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 101; + } + break label$1; + } + $27_1 = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = $27_1; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == ($27_1 | 0) & 1 | 0)) { + break label$4 + } + $866(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + $43_1 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != ($43_1 | 0) & 1 | 0 ? $43_1 : 101; + } + $53_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $53_1 | 0; + } + + function $940($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $305$hi = 0, $306$hi = 0, $312$hi = 0, $313$hi = 0, $317$hi = 0, $318$hi = 0, $48_1 = 0, $64_1 = 0, $96_1 = 0, $119_1 = 0, $130_1 = 0, $141_1 = 0, $147_1 = 0, $302$hi = 0, $303$hi = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $309$hi = 0, $310$hi = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $255_1 = 0, $180_1 = 0, $181_1 = 0, $305_1 = 0, $736_1 = 0, $312_1 = 0, $762_1 = 0, $777_1 = 0, $317_1 = 0, $788_1 = 0, $801_1 = 0, $298_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAPU8[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + label$1 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) >= (128 | 0) & 1 | 0)) { + break label$1 + } + $902((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 1 | 0 | 0, $4_1 + 24 | 0 | 0) | 0; + } + label$2 : { + label$3 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < (10 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (7 | 0) & 1 | 0)) { + break label$3 + } + $48_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP8[($48_1 + 60 | 0) >> 0] = ((HEAPU8[($48_1 + 60 | 0) >> 0] | 0) & 255 | 0) & 1 | 0; + break label$2; + } + label$4 : { + label$5 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) > (10 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 1 | 0)) { + break label$5 + } + $64_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP8[($64_1 + 60 | 0) >> 0] = ((HEAPU8[($64_1 + 60 | 0) >> 0] | 0) & 255 | 0) & 2 | 0; + break label$4; + } + HEAP8[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 60 | 0) >> 0] = 0; + } + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ($907(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $96_1 = 0; + label$9 : { + if (!(HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0)) { + break label$9 + } + $96_1 = ((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 36 | 0) >> 2] = $96_1 & 1 | 0; + break label$7; + } + $119_1 = 1; + label$10 : { + if ((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$10 + } + $130_1 = 0; + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) > (HEAP32[(HEAP32[($4_1 + 48 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $130_1 = ($1017() | 0 | 0) != (0 | 0); + } + $119_1 = $130_1; + } + HEAP32[($4_1 + 36 | 0) >> 2] = $119_1 & 1 | 0; + } + label$12 : { + if (!(HEAP32[($4_1 + 36 | 0) >> 2] | 0)) { + break label$12 + } + $141_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1014(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] = $141_1; + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 48 | 0) >> 2] = $141_1; + } + } + $147_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP32[($147_1 + 44 | 0) >> 2] = (HEAP32[($147_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0; + label$13 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + label$14 : { + label$15 : { + label$16 : { + if (!((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0; + label$17 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + $180_1 = 0; + $181_1 = -1; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $302$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $303$hi = i64toi32_i32$0; + i64toi32_i32$0 = $302$hi; + i64toi32_i32$0 = $303$hi; + i64toi32_i32$0 = $302$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $303$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $37_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $37_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $37_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 4 | 0) >> 2] = $181_1; + label$18 : { + if (!((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != ($180_1 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + } + label$19 : { + label$20 : while (1) { + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $305_1 = i64toi32_i32$1; + $305$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $306$hi = i64toi32_i32$2; + i64toi32_i32$2 = $305$hi; + i64toi32_i32$2 = $306$hi; + i64toi32_i32$2 = $305$hi; + i64toi32_i32$2 = $306$hi; + $736_1 = i64toi32_i32$1; + i64toi32_i32$2 = $305$hi; + i64toi32_i32$0 = $305_1; + i64toi32_i32$1 = $306$hi; + i64toi32_i32$3 = $736_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $38_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$3 >>> 0) { + $39_1 = 0 + } else { + $39_1 = 1 + } + $40_1 = $39_1; + } else { + $40_1 = 0 + } + $38_1 = $40_1; + } + if (!($38_1 & 1 | 0)) { + break label$19 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $309$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $310$hi = i64toi32_i32$2; + i64toi32_i32$2 = $309$hi; + i64toi32_i32$2 = $310$hi; + i64toi32_i32$2 = $309$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $310$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + $41_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $41_1 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + } + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $41_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + continue label$20; + }; + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $312_1 = i64toi32_i32$0; + $312$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$0 >> 31 | 0; + $313$hi = i64toi32_i32$3; + i64toi32_i32$3 = $312$hi; + i64toi32_i32$3 = $313$hi; + i64toi32_i32$3 = $312$hi; + i64toi32_i32$3 = $313$hi; + $762_1 = i64toi32_i32$0; + i64toi32_i32$3 = $312$hi; + i64toi32_i32$2 = $312_1; + i64toi32_i32$0 = $313$hi; + i64toi32_i32$1 = $762_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$0 | 0)) { + $42_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$1 >>> 0) { + $43_1 = 0 + } else { + $43_1 = 1 + } + $44_1 = $43_1; + } else { + $44_1 = 0 + } + $42_1 = $44_1; + } + label$21 : { + if (!($42_1 & 1 | 0)) { + break label$21 + } + i64toi32_i32$3 = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; + $777_1 = i64toi32_i32$3; + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $777_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $317_1 = i64toi32_i32$2; + $317$hi = i64toi32_i32$3; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + $318$hi = i64toi32_i32$3; + i64toi32_i32$3 = $317$hi; + i64toi32_i32$3 = $318$hi; + i64toi32_i32$3 = $317$hi; + i64toi32_i32$3 = $318$hi; + $788_1 = i64toi32_i32$2; + i64toi32_i32$3 = $317$hi; + i64toi32_i32$1 = $317_1; + i64toi32_i32$2 = $318$hi; + i64toi32_i32$0 = $788_1; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$2 | 0)) { + $45_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$0 >>> 0) { + $46_1 = 0 + } else { + $46_1 = 1 + } + $47_1 = $46_1; + } else { + $47_1 = 0 + } + $45_1 = $47_1; + } + label$22 : { + if (!($45_1 & 1 | 0)) { + break label$22 + } + i64toi32_i32$3 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $801_1 = i64toi32_i32$3; + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $801_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $45(HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$23 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 7; + break label$14; + } + label$24 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0; + } + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 52 | 0) >> 2] = i64toi32_i32$3; + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) | 0; + $255_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP32[($255_1 + 48 | 0) >> 2] = (HEAP32[($255_1 + 48 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 7 | 0) & -8 | 0) | 0; + label$25 : { + if (!((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + } + break label$15; + } + i64toi32_i32$3 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $39(i64toi32_i32$3 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 7; + break label$14; + } + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + } + $3288((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + } + $298_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $298_1 | 0; + } + + function $941($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8_1 = 0, $381_1 = 0, $126_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 128 | 0; + global$0 = $5_1; + $8_1 = $5_1 + 48 | 0; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $2_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 104 | 0) >> 2] = 0; + HEAP32[($5_1 + 108 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $821(HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 108 | 0) >> 2] = i64toi32_i32$0; + $943($8_1 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, 0 & 65535 | 0 | 0); + i64toi32_i32$0 = HEAP32[($5_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $903(HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, $8_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($5_1 + 100 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 124 | 0) >> 2] = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 96 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$3 : { + if (!((HEAP32[($5_1 + 96 | 0) >> 2] | 0) >>> 0 >= 128 >>> 0 & 1 | 0)) { + break label$3 + } + $902(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, $5_1 + 96 | 0 | 0) | 0; + } + label$4 : { + label$5 : { + label$6 : { + if ((HEAP32[($5_1 + 96 | 0) >> 2] | 0) >>> 0 < 3 >>> 0 & 1 | 0) { + break label$6 + } + if (!((HEAP32[($5_1 + 96 | 0) >> 2] | 0) >>> 0 > (HEAP32[($5_1 + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + } + break label$4; + } + HEAP32[($5_1 + 92 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 96 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0; + label$7 : { + if (!((HEAP32[($5_1 + 92 | 0) >> 2] | 0) >>> 0 >= 128 >>> 0 & 1 | 0)) { + break label$7 + } + $902((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 96 | 0) >> 2] | 0) - 1 | 0) | 0 | 0, $5_1 + 92 | 0 | 0) | 0; + } + label$8 : { + label$9 : { + if ((HEAP32[($5_1 + 92 | 0) >> 2] | 0) >>> 0 < 1 >>> 0 & 1 | 0) { + break label$9 + } + if ((HEAP32[($5_1 + 92 | 0) >> 2] | 0) >>> 0 > 9 >>> 0 & 1 | 0) { + break label$9 + } + if (!((HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$8 + } + } + break label$4; + } + HEAP32[($5_1 + 88 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 8256 | 0) >> 0] | 0) & 255 | 0; + label$10 : { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0) >>> 0 < ((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + (HEAP32[($5_1 + 88 | 0) >> 2] | 0) | 0) >>> 0 & 1 | 0)) { + break label$10 + } + break label$4; + } + $905((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 60 | 0) >> 2] | 0) - (HEAP32[($5_1 + 88 | 0) >> 2] | 0) | 0) | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $381_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $381_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $227($5_1 + 48 | 0 | 0); + HEAP32[($5_1 + 124 | 0) >> 2] = 0; + break label$1; + } + $227($5_1 + 48 | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(82954 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + } + $126_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + global$0 = $5_1 + 128 | 0; + return $126_1 | 0; + } + + function $942($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, i64toi32_i32$2 = 0, $17_1 = 0, i64toi32_i32$1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $922(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $4_1 | 0, HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, $4_1 | 0, $3_1 + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[$3_1 >> 2] | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + break label$1; + } + label$3 : { + if (!(HEAP32[($3_1 + 4 | 0) >> 2] | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(81498 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $17_1 = 0; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 3 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = $17_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $17_1; + } + $21_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $21_1 | 0; + } + + function $943($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP16[($5_1 + 6 | 0) >> 1] = $2_1; + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($5_1 + 6 | 0) >> 1] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + return; + } + + function $944($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $527$hi = 0, $528$hi = 0, $531$hi = 0, $532$hi = 0, $27_1 = 0, $69_1 = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $246_1 = 0, $307_1 = 0, $402_1 = 0, $449_1 = 0, $505_1 = 0, $518_1 = 0, $91_1 = 0, $828_1 = 0, $834_1 = 0, $527_1 = 0, $842_1 = 0, $531_1 = 0, $858_1 = 0, $258_1 = 0, $375_1 = 0, $447_1 = 0, $489_1 = 0, $494_1 = 0, $521_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 144 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 136 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 132 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 128 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 124 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 104 | 0) >> 2] = 0; + HEAP32[($6_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 92 | 0) >> 2] = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 124 | 0) >> 2] | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + $27_1 = 1; + break label$3; + } + $27_1 = ($902((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + 1 | 0 | 0, $6_1 + 44 | 0 | 0) | 0) & 255 | 0; + } + HEAP32[($6_1 + 108 | 0) >> 2] = ($27_1 & 255 | 0) + 1 | 0; + HEAP32[($6_1 + 112 | 0) >> 2] = (HEAPU8[(HEAP32[($6_1 + 92 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = (HEAP32[($6_1 + 112 | 0) >> 2] | 0) + ($378(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 116 | 0) >> 2] = 1; + HEAP32[($6_1 + 100 | 0) >> 2] = (HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 40 | 0; + break label$1; + } + label$5 : { + label$6 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 92 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 112 | 0) >> 2] = (HEAPU8[(HEAP32[($6_1 + 92 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $69_1 = 1; + break label$5; + } + $69_1 = ($902(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, $6_1 + 112 | 0 | 0) | 0) & 255 | 0; + } + HEAP32[($6_1 + 108 | 0) >> 2] = $69_1 & 255 | 0; + HEAP32[($6_1 + 120 | 0) >> 2] = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + HEAP32[($6_1 + 116 | 0) >> 2] = 0; + } + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 120 | 0) >> 2] | 0) >>> 0 > (HEAP32[($6_1 + 136 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + $91_1 = $694(82497 | 0) | 0; + HEAP8[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 11 | 0) >> 0] = $91_1; + HEAP32[($6_1 + 140 | 0) >> 2] = 0; + break label$7; + } + label$9 : while (1) { + label$10 : { + label$11 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 36 | 0)) { + break label$11 + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 108 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + label$12 : { + label$13 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 >= 10 >>> 0 & 1 | 0)) { + break label$13 + } + HEAP32[($6_1 + 104 | 0) >> 2] = 1; + break label$12; + } + label$14 : { + label$15 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$15 + } + HEAP32[($6_1 + 104 | 0) >> 2] = -1; + break label$14; + } + label$16 : { + label$17 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$17 + } + $905((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 120 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $6_1 + 48 | 0 | 0) | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = 0 - ($979(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, +(+HEAPF64[($6_1 + 48 | 0) >> 3])) | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + break label$16; + } + i64toi32_i32$1 = $1018(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 120 | 0) >> 2] | 0) | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $828_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $828_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $834_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $834_1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $527_1 = i64toi32_i32$1; + $527$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $528$hi = i64toi32_i32$1; + i64toi32_i32$1 = $527$hi; + i64toi32_i32$1 = $528$hi; + i64toi32_i32$1 = $527$hi; + i64toi32_i32$1 = $528$hi; + $842_1 = i64toi32_i32$0; + i64toi32_i32$1 = $527$hi; + i64toi32_i32$2 = $527_1; + i64toi32_i32$0 = $528$hi; + i64toi32_i32$3 = $842_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $35_1 = 0 + } else { + $35_1 = 1 + } + $36_1 = $35_1; + } else { + $36_1 = 0 + } + $34_1 = $36_1; + } + label$18 : { + label$19 : { + if (!($34_1 & 1 | 0)) { + break label$19 + } + HEAP32[($6_1 + 104 | 0) >> 2] = -1; + break label$18; + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $531_1 = i64toi32_i32$2; + $531$hi = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $532$hi = i64toi32_i32$2; + i64toi32_i32$2 = $531$hi; + i64toi32_i32$2 = $532$hi; + i64toi32_i32$2 = $531$hi; + i64toi32_i32$2 = $532$hi; + $858_1 = i64toi32_i32$1; + i64toi32_i32$2 = $531$hi; + i64toi32_i32$3 = $531_1; + i64toi32_i32$1 = $532$hi; + i64toi32_i32$0 = $858_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$1 | 0)) { + $37_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $38_1 = 0 + } else { + $38_1 = 1 + } + $39_1 = $38_1; + } else { + $39_1 = 0 + } + $37_1 = $39_1; + } + label$20 : { + if (!($37_1 & 1 | 0)) { + break label$20 + } + HEAP32[($6_1 + 104 | 0) >> 2] = 1; + } + } + } + } + } + break label$10; + } + label$21 : { + label$22 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$22 + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 108 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + label$23 : { + label$24 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 >= 10 >>> 0 & 1 | 0)) { + break label$24 + } + HEAP32[($6_1 + 104 | 0) >> 2] = 1; + break label$23; + } + label$25 : { + label$26 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$26 + } + HEAP32[($6_1 + 104 | 0) >> 2] = -1; + break label$25; + } + $905((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 120 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $6_1 + 48 | 0 | 0) | 0; + label$27 : { + label$28 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$28 + } + label$29 : { + label$30 : { + if (!(+HEAPF64[($6_1 + 48 | 0) >> 3] < +HEAPF64[(HEAP32[($6_1 + 100 | 0) >> 2] | 0) >> 3] & 1 | 0)) { + break label$30 + } + HEAP32[($6_1 + 104 | 0) >> 2] = -1; + break label$29; + } + label$31 : { + if (!(+HEAPF64[($6_1 + 48 | 0) >> 3] > +HEAPF64[(HEAP32[($6_1 + 100 | 0) >> 2] | 0) >> 3] & 1 | 0)) { + break label$31 + } + HEAP32[($6_1 + 104 | 0) >> 2] = 1; + } + } + break label$27; + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $979(i64toi32_i32$3 | 0, i64toi32_i32$2 | 0, +(+HEAPF64[(HEAP32[($6_1 + 100 | 0) >> 2] | 0) >> 3])) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + } + } + } + break label$21; + } + label$32 : { + label$33 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$33 + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 108 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + label$34 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 >= 128 >>> 0 & 1 | 0)) { + break label$34 + } + $902((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 108 | 0) >> 2] | 0) | 0 | 0, $6_1 + 40 | 0 | 0) | 0; + } + label$35 : { + label$36 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 < 12 >>> 0 & 1 | 0)) { + break label$36 + } + HEAP32[($6_1 + 104 | 0) >> 2] = -1; + break label$35; + } + label$37 : { + label$38 : { + if ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) & 1 | 0) { + break label$38 + } + HEAP32[($6_1 + 104 | 0) >> 2] = 1; + break label$37; + } + HEAP32[($6_1 + 60 | 0) >> 2] = ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) - 12 | 0) >>> 1 | 0; + label$39 : { + label$40 : { + if (((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0) >>> 0 > (HEAP32[($6_1 + 136 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$40 + } + $246_1 = HEAP32[(HEAP32[($6_1 + 128 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 96 | 0) >> 2] = $246_1; + if (!(((HEAPU16[($246_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) <= (HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$39 + } + } + $258_1 = $694(82574 | 0) | 0; + HEAP8[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 11 | 0) >> 0] = $258_1; + HEAP32[($6_1 + 140 | 0) >> 2] = 0; + break label$7; + } + label$41 : { + label$42 : { + if (!((HEAP32[(((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($6_1 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$42 + } + HEAP8[($6_1 + 58 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0; + HEAP32[($6_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP16[($6_1 + 56 | 0) >> 1] = 2; + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 120 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $980($6_1 + 48 | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($6_1 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 11 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + break label$41; + } + label$43 : { + label$44 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$44 + } + $307_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + break label$43; + } + $307_1 = HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 20 | 0) >> 2] = $307_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3228((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 120 | 0) >> 2] | 0) | 0 | 0, HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$45 : { + if (HEAP32[($6_1 + 104 | 0) >> 2] | 0) { + break label$45 + } + HEAP32[($6_1 + 104 | 0) >> 2] = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + } + } + } + } + break label$32; + } + label$46 : { + label$47 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$47 + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 108 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + label$48 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 >= 128 >>> 0 & 1 | 0)) { + break label$48 + } + $902((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 108 | 0) >> 2] | 0) | 0 | 0, $6_1 + 40 | 0 | 0) | 0; + } + label$49 : { + label$50 : { + label$51 : { + if ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 < 12 >>> 0 & 1 | 0) { + break label$51 + } + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0) & 1 | 0)) { + break label$50 + } + } + HEAP32[($6_1 + 104 | 0) >> 2] = -1; + break label$49; + } + HEAP32[($6_1 + 16 | 0) >> 2] = ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) - 12 | 0) >>> 1 | 0; + label$52 : { + if (!(((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0) >>> 0 > (HEAP32[($6_1 + 136 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$52 + } + $375_1 = $694(82604 | 0) | 0; + HEAP8[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 11 | 0) >> 0] = $375_1; + HEAP32[($6_1 + 140 | 0) >> 2] = 0; + break label$7; + } + label$53 : { + label$54 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$54 + } + label$55 : { + label$56 : { + if ($1019((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 120 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$56 + } + HEAP32[($6_1 + 104 | 0) >> 2] = 1; + break label$55; + } + HEAP32[($6_1 + 104 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[(HEAP32[($6_1 + 100 | 0) >> 2] | 0) >> 2] | 0) | 0; + } + break label$53; + } + label$57 : { + label$58 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$58 + } + $402_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + break label$57; + } + $402_1 = HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 12 | 0) >> 2] = $402_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3228((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 120 | 0) >> 2] | 0) | 0 | 0, HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$59 : { + if (HEAP32[($6_1 + 104 | 0) >> 2] | 0) { + break label$59 + } + HEAP32[($6_1 + 104 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + } + } + } + break label$46; + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 108 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + HEAP32[($6_1 + 104 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + } + } + } + } + label$60 : { + if (!(HEAP32[($6_1 + 104 | 0) >> 2] | 0)) { + break label$60 + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAPU8[((HEAP32[((HEAP32[(HEAP32[($6_1 + 128 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 116 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + label$61 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$61 + } + label$62 : { + label$63 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) & 2 | 0)) { + break label$63 + } + $447_1 = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) & 1 | 0; + $449_1 = 1; + label$64 : { + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$64 + } + $449_1 = (((HEAPU16[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0 | 0) != (0 | 0); + } + if (!(($447_1 | 0) != ($449_1 & 1 | 0 | 0) & 1 | 0)) { + break label$62 + } + } + HEAP32[($6_1 + 104 | 0) >> 2] = 0 - (HEAP32[($6_1 + 104 | 0) >> 2] | 0) | 0; + } + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[($6_1 + 104 | 0) >> 2] | 0; + break label$7; + } + HEAP32[($6_1 + 116 | 0) >> 2] = (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + 1 | 0; + label$65 : { + label$66 : { + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) == ((HEAPU16[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$66 + } + break label$65; + } + HEAP32[($6_1 + 100 | 0) >> 2] = (HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 40 | 0; + $489_1 = $378(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 120 | 0) >> 2] = (HEAP32[($6_1 + 120 | 0) >> 2] | 0) + $489_1 | 0; + i64toi32_i32$2 = 0; + $494_1 = $907(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[($6_1 + 108 | 0) >> 2] = (HEAP32[($6_1 + 108 | 0) >> 2] | 0) + $494_1 | 0; + $505_1 = 0; + label$67 : { + if (!((HEAP32[($6_1 + 108 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 112 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$67 + } + $505_1 = (HEAP32[($6_1 + 120 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($6_1 + 136 | 0) >> 2] | 0) >>> 0; + } + if ($505_1 & 1 | 0) { + continue label$9 + } + } + break label$9; + }; + HEAP8[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 14 | 0) >> 0] = 1; + $518_1 = 24; + HEAP32[($6_1 + 140 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) << $518_1 | 0) >> $518_1 | 0; + } + $521_1 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + global$0 = $6_1 + 144 | 0; + return $521_1 | 0; + } + + function $945($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $11_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $127(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1020(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $11_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $11_1 | 0; + } + + function $946($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 48 | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 24 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + continue label$5; + }; + } + return; + } + + function $947($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $9_1 = $917(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $9_1 | 0; + } + + function $948($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $101_1 = 0, $13_1 = 0, $17_1 = 0, $106_1 = 0, $194_1 = 0, $263_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $13_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($13_1 + 24 | 0) >> 2] = HEAP32[($13_1 + 24 | 0) >> 2] | 0 | 64 | 0; + $17_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($17_1 + 20 | 0) >> 2] = (HEAP32[($17_1 + 20 | 0) >> 2] | 0) + 1 | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $1023(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $1023(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0); + break label$4; + } + label$6 : { + label$7 : { + if ($89(HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 8623 | 0, 7 | 0) | 0) { + break label$7 + } + HEAP8[($6_1 + 11 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 164 | 0) >> 0] | 0; + HEAP8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 164 | 0) >> 0] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!($1024(HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 160 | 0 | 0) | 0)) { + break label$9 + } + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 160 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$8 + } + } + label$10 : { + if (!(((HEAPU8[(0 + 68377 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + $1023(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 8631 | 0); + } + } + $101_1 = 0; + $106_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP8[($106_1 + 166 | 0) >> 0] = (HEAPU8[($106_1 + 166 | 0) >> 0] | 0) & -2 | 0; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 168 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $101_1; + $406(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, -1 | 0, $101_1 | 0, $101_1 | 0, $6_1 + 4 | 0 | 0, $101_1 | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 164 | 0) >> 0] = HEAPU8[($6_1 + 11 | 0) >> 0] | 0; + label$11 : { + if (!(($101_1 | 0) != (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 166 | 0) >> 0] | 0) & 1 | 0) & 255 | 0)) { + break label$13 + } + break label$12; + } + label$14 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + } + label$15 : { + label$16 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$16 + } + $118(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + break label$15; + } + label$17 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (9 | 0) & 1 | 0)) { + break label$17 + } + if (!(((HEAP32[($6_1 + 12 | 0) >> 2] | 0) & 255 | 0 | 0) != (6 | 0) & 1 | 0)) { + break label$17 + } + $1023(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $380(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0); + } + } + } + } + $213(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0; + break label$6; + } + label$18 : { + label$19 : { + label$20 : { + if ((HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$20 + } + if (!((HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + $194_1 = 24; + if (!(((HEAPU8[(HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] | 0) << $194_1 | 0) >> $194_1 | 0)) { + break label$19 + } + } + $1023(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0); + break label$18; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1025(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$21 : { + label$22 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$22 + } + $1023(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 8648 | 0); + break label$21; + } + label$23 : { + label$24 : { + if (!($1024(HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[$6_1 >> 2] | 0) + 44 | 0 | 0) | 0)) { + break label$24 + } + if ((HEAP32[((HEAP32[$6_1 >> 2] | 0) + 44 | 0) >> 2] | 0) >>> 0 < 2 >>> 0 & 1 | 0) { + break label$24 + } + if ((HEAP32[((HEAP32[$6_1 >> 2] | 0) + 44 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$24 + } + if (!($1026(HEAP32[$6_1 >> 2] | 0 | 0) | 0)) { + break label$23 + } + } + label$25 : { + if (!(((HEAPU8[(0 + 68377 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$25 + } + $1023(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 8631 | 0); + } + } + } + } + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $263_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $263_1 | 0; + } + + function $949($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $24_1 = 0, $7_1 = 0, $8_1 = 0, $65_1 = 0, $117_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $24_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($24_1 + 36 | 0) >> 2] = (HEAP32[($24_1 + 36 | 0) >> 2] | 0) & -17 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $6_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $7_1 = (HEAPU8[($6_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($6_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & -129 | 0; + HEAP8[($6_1 + 55 | 0) >> 0] = $7_1; + HEAP8[($6_1 + 56 | 0) >> 0] = $7_1 >>> 8 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$5 : { + if (!(($361(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 8754 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $65_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $351($65_1 | 0, 8767 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 7; + break label$6; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $400(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 28 | 0, $4_1 + 32 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $13(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $8_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + label$10 : { + if ((((HEAPU8[($8_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($8_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0) { + break label$10 + } + $1028(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + continue label$9; + }; + } + label$11 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$11 + } + $118(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0); + } + $117_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $117_1 | 0; + } + + function $950($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $474((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $11(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + $21_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($21_1 + 24 | 0) >> 2] = HEAP32[($21_1 + 24 | 0) >> 2] | 0 | 1 | 0; + global$0 = $5_1 + 32 | 0; + return; + } + + function $951($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $49_1 = 0, $81_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[(((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 24 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $474(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + break label$2; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : while (1) { + $49_1 = 0; + label$5 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $49_1 = (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (!($49_1 & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$4; + } + break label$4; + }; + label$7 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + } + $1029(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + $81_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($81_1 + 24 | 0) >> 2] = HEAP32[($81_1 + 24 | 0) >> 2] | 0 | 1 | 0; + global$0 = $5_1 + 32 | 0; + return; + } + + function $952($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[(((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 40 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $474(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1030(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 68 | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$4; + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 32 | 0; + continue label$5; + }; + } + } + } + $10(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + $72_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($72_1 + 24 | 0) >> 2] = HEAP32[($72_1 + 24 | 0) >> 2] | 0 | 1 | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $953($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $27_1 = 0, $17_1 = 0, $121_1 = 0, $182_1 = 0, $356$hi = 0, $357$hi = 0, $191_1 = 0, $263_1 = 0, $391_1 = 0, $163_1 = 0, $762_1 = 0, $903_1 = 0, $351_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 288 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 284 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 280 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 276 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 272 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 268 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 264 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 180 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 280 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $391_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1; + HEAP32[($8_1 + 168 | 0) >> 2] = $391_1; + HEAP32[($8_1 + 172 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + HEAP32[($8_1 + 56 | 0) >> 2] = 1; + label$1 : { + if (HEAP32[(HEAP32[($8_1 + 276 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + $17_1 = 1; + HEAP32[($8_1 + 60 | 0) >> 2] = $17_1; + label$2 : { + if (!((HEAP32[((HEAP32[($8_1 + 276 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != ($17_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 56 | 0) >> 2] = 0; + } + } + $27_1 = 0; + $127(HEAP32[($8_1 + 280 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 252 | 0) >> 2] = HEAP32[($8_1 + 284 | 0) >> 2] | 0; + HEAP32[($8_1 + 184 | 0) >> 2] = HEAP32[($8_1 + 180 | 0) >> 2] | 0; + HEAP32[($8_1 + 188 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 180 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $165(HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 196 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 200 | 0) >> 2] = HEAP32[($8_1 + 268 | 0) >> 2] | 0; + HEAP32[($8_1 + 204 | 0) >> 2] = $27_1; + HEAP32[($8_1 + 208 | 0) >> 2] = $27_1; + HEAP32[($8_1 + 212 | 0) >> 2] = $27_1; + HEAP32[($8_1 + 216 | 0) >> 2] = $27_1; + HEAP32[($8_1 + 220 | 0) >> 2] = $27_1; + HEAP32[($8_1 + 192 | 0) >> 2] = $27_1; + HEAP32[($8_1 + 248 | 0) >> 2] = $27_1; + $77(($8_1 + 184 | 0) + 40 | 0 | 0, $27_1 | 0, $8_1 + 64 | 0 | 0, 100 | 0, 1e9 | 0); + HEAP8[($8_1 + 245 | 0) >> 0] = 1; + label$3 : { + label$4 : { + if (HEAP32[($8_1 + 196 | 0) >> 2] | 0) { + break label$4 + } + break label$3; + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $114(((HEAP32[($8_1 + 196 | 0) >> 2] | 0) >>> 3 | 0) + 1 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($8_1 + 208 | 0) >> 2] = 1; + break label$3; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $631(HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 248 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($8_1 + 248 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($8_1 + 208 | 0) >> 2] = 1; + break label$3; + } + HEAP32[($8_1 + 260 | 0) >> 2] = (((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0; + label$7 : { + if (!((HEAP32[($8_1 + 260 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($8_1 + 196 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + $1031($8_1 + 184 | 0 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!(HEAP32[($8_1 + 56 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($8_1 + 212 | 0) >> 2] = 8852; + $1032($8_1 + 184 | 0 | 0, 1 | 0, $161((HEAP32[((HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 32 | 0 | 0) | 0 | 0, $161((HEAP32[((HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 36 | 0 | 0) | 0 | 0); + HEAP32[($8_1 + 212 | 0) >> 2] = 0; + } + label$9 : { + if (HEAP32[($8_1 + 60 | 0) >> 2] | 0) { + break label$9 + } + label$10 : { + label$11 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + $121_1 = 0; + HEAP32[($8_1 + 52 | 0) >> 2] = $121_1; + HEAP32[($8_1 + 260 | 0) >> 2] = $121_1; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 272 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + label$14 : { + if (!((HEAP32[($8_1 + 52 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($8_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$14 + } + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($8_1 + 260 | 0) >> 2] = (HEAP32[($8_1 + 260 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + $163_1 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $163_1; + $1033($8_1 + 184 | 0 | 0, 8868 | 0, $8_1 + 32 | 0 | 0); + } + break label$10; + } + label$16 : { + if (!($161((HEAP32[((HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 64 | 0 | 0) | 0)) { + break label$16 + } + $1033($8_1 + 184 | 0 | 0, 8913 | 0, 0 | 0); + } + } + } + $182_1 = HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $182_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $356$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $357$hi = i64toi32_i32$0; + i64toi32_i32$0 = $356$hi; + i64toi32_i32$0 = $357$hi; + i64toi32_i32$0 = $356$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $357$hi; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $762_1 = i64toi32_i32$2 & -2097153 | 0; + i64toi32_i32$2 = $182_1; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = $762_1; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($8_1 + 260 | 0) >> 2] = 0; + label$17 : while (1) { + $191_1 = 0; + label$18 : { + if (!((HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 272 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $191_1 = (HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$19 : { + if (!($191_1 & 1 | 0)) { + break label$19 + } + label$20 : { + label$21 : { + if (HEAP32[((HEAP32[($8_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) { + break label$21 + } + break label$20; + } + label$22 : { + if (!((HEAPU8[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0)) { + break label$22 + } + if (!((HEAP32[((HEAP32[($8_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 > 1 >>> 0 & 1 | 0)) { + break label$22 + } + if (HEAP32[($8_1 + 60 | 0) >> 2] | 0) { + break label$22 + } + $1034($8_1 + 184 | 0 | 0, HEAP32[((HEAP32[($8_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, 0 | 0); + } + i64toi32_i32$1 = 2147483647; + $1035($8_1 + 184 | 0 | 0, HEAP32[((HEAP32[($8_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $8_1 + 40 | 0 | 0, -1 | 0, i64toi32_i32$1 | 0) | 0; + } + HEAP32[($8_1 + 260 | 0) >> 2] = (HEAP32[($8_1 + 260 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + } + break label$17; + }; + i64toi32_i32$0 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + $903_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $903_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$2; + label$23 : { + if (HEAP32[($8_1 + 60 | 0) >> 2] | 0) { + break label$23 + } + HEAP32[($8_1 + 260 | 0) >> 2] = 1; + label$24 : while (1) { + $263_1 = 0; + label$25 : { + if (!((HEAP32[($8_1 + 260 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($8_1 + 196 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$25 + } + $263_1 = (HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$26 : { + if (!($263_1 & 1 | 0)) { + break label$26 + } + label$27 : { + if ($1036($8_1 + 184 | 0 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) | 0) { + break label$27 + } + label$28 : { + if (($808(HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$28 + } + if (((HEAPU8[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$27 + } + } + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[($8_1 + 260 | 0) >> 2] | 0; + $1033($8_1 + 184 | 0 | 0, 8968 | 0, $8_1 + 16 | 0 | 0); + } + label$29 : { + if (!($1036($8_1 + 184 | 0 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) | 0)) { + break label$29 + } + if (!(($808(HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + if (!((HEAPU8[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0)) { + break label$29 + } + HEAP32[$8_1 >> 2] = HEAP32[($8_1 + 260 | 0) >> 2] | 0; + $1033($8_1 + 184 | 0 | 0, 8990 | 0, $8_1 | 0); + } + HEAP32[($8_1 + 260 | 0) >> 2] = (HEAP32[($8_1 + 260 | 0) >> 2] | 0) + 1 | 0; + continue label$24; + } + break label$24; + }; + } + } + $623(HEAP32[($8_1 + 248 | 0) >> 2] | 0 | 0); + $42(HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0); + label$30 : { + if (!(HEAP32[($8_1 + 208 | 0) >> 2] | 0)) { + break label$30 + } + $69(($8_1 + 184 | 0) + 40 | 0 | 0); + HEAP32[($8_1 + 204 | 0) >> 2] = (HEAP32[($8_1 + 204 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[(HEAP32[($8_1 + 264 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 204 | 0) >> 2] | 0; + label$31 : { + if (HEAP32[($8_1 + 204 | 0) >> 2] | 0) { + break label$31 + } + $69(($8_1 + 184 | 0) + 40 | 0 | 0); + } + $351_1 = $72(($8_1 + 184 | 0) + 40 | 0 | 0) | 0; + global$0 = $8_1 + 288 | 0; + return $351_1 | 0; + } + + function $954($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $227(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1037(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1040; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] = 29; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $24_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $24_1 | 0; + } + + function $955($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $44$hi = 0, $45$hi = 0, $14_1 = 0, $15_1 = 0, $16_1 = 0, $17_1 = 0, $29_1 = 0, $80_1 = 0, $44_1 = 0, $112_1 = 0, i64toi32_i32$3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1039(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $14_1 = 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $80_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $80_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $14_1; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != ($14_1 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $44_1 = i64toi32_i32$1; + $44$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $45$hi = i64toi32_i32$1; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $45$hi; + $112_1 = i64toi32_i32$0; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$2 = $44_1; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$3 = $112_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $15_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $16_1 = 0 + } else { + $16_1 = 1 + } + $17_1 = $16_1; + } else { + $17_1 = 0 + } + $15_1 = $17_1; + } + label$5 : { + if (!($15_1 & 1 | 0)) { + break label$5 + } + $29_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($29_1 + 26 | 0) >> 1] = ((HEAPU16[($29_1 + 26 | 0) >> 1] | 0) & 65535 | 0) & -2 | 0; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$3; + } + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $956($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $21_1 = 0, i64toi32_i32$2 = 0, $19_1 = 0, i64toi32_i32$1 = 0, $133_1 = 0, $53_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + if (((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0) { + break label$1 + } + label$2 : { + if (((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$2 + } + $19_1 = $1040(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $19_1; + } + $21_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP16[($21_1 + 26 | 0) >> 1] = (HEAPU16[($21_1 + 26 | 0) >> 1] | 0) & 65535 | 0 | 3 | 0; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $133_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $133_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $1041(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$3; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $53_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $53_1 | 0; + } + + function $957($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $144$hi = 0, $145$hi = 0, $148$hi = 0, $149$hi = 0, $81_1 = 0, $95_1 = 0, $98_1 = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $55_1 = 0, $93_1 = 0, $144_1 = 0, $423_1 = 0, $148_1 = 0, $445_1 = 0, $140_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0; + label$3 : { + if (((HEAPU16[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1040(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + $55_1 = $1042(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = $55_1; + break label$4; + } + $1043(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0, $5_1 + 4 | 0 | 0); + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1044(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$5; + }; + } + label$7 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + $81_1 = $1039(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $81_1; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = $81_1; + label$8 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + $93_1 = $1042(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = $93_1; + } + } + $95_1 = 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] = $95_1; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = $95_1; + $98_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP16[($98_1 + 26 | 0) >> 1] = (HEAPU16[($98_1 + 26 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + } + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$9 : { + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $144_1 = i64toi32_i32$0; + $144$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $145$hi = i64toi32_i32$0; + i64toi32_i32$0 = $144$hi; + i64toi32_i32$0 = $145$hi; + i64toi32_i32$0 = $144$hi; + i64toi32_i32$0 = $145$hi; + $423_1 = i64toi32_i32$1; + i64toi32_i32$0 = $144$hi; + i64toi32_i32$2 = $144_1; + i64toi32_i32$1 = $145$hi; + i64toi32_i32$3 = $423_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $23_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $24_1 = 0 + } else { + $24_1 = 1 + } + $25_1 = $24_1; + } else { + $25_1 = 0 + } + $23_1 = $25_1; + } + label$14 : { + label$15 : { + if (!($23_1 & 1 | 0)) { + break label$15 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$14; + } + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $148_1 = i64toi32_i32$2; + $148$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $149$hi = i64toi32_i32$2; + i64toi32_i32$2 = $148$hi; + i64toi32_i32$2 = $149$hi; + i64toi32_i32$2 = $148$hi; + i64toi32_i32$2 = $149$hi; + $445_1 = i64toi32_i32$0; + i64toi32_i32$2 = $148$hi; + i64toi32_i32$3 = $148_1; + i64toi32_i32$0 = $149$hi; + i64toi32_i32$1 = $445_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $26_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $27_1 = 0 + } else { + $27_1 = 1 + } + $28_1 = $27_1; + } else { + $28_1 = 0 + } + $26_1 = $28_1; + } + label$16 : { + label$17 : { + if (!($26_1 & 1 | 0)) { + break label$17 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$16; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$9; + } + } + continue label$13; + }; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$11; + }; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $140_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $140_1 | 0; + } + + function $958($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 200 | 0) >> 2] | 0; + HEAP32[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 200 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + return; + } + + function $959($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $22_1 = 0, $19_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + $22_1 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $22_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $262(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($5_1); + $19_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $19_1 | 0; + } + + function $960($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $31$hi = 0, $33$hi = 0, $8_1 = 0, $9_1 = 0, $10_1 = 0, i64toi32_i32$3 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + $31$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $33$hi = i64toi32_i32$1; + i64toi32_i32$1 = $31$hi; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $31$hi; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $8_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $9_1 = 0 + } else { + $9_1 = 1 + } + $10_1 = $9_1; + } else { + $10_1 = 0 + } + $8_1 = $10_1; + } + if (!($8_1 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $961($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $69_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + if ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0) { + break label$1 + } + HEAP32[$4_1 >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $716(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $739(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0, 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + if (!(HEAP32[$4_1 >> 2] | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $793(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + label$4 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $798(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $636(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] = 0; + $627(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + label$6 : { + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$6 + } + if (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$6 + } + $736(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + } + } + $69_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $69_1 | 0; + } + + function $962($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $137_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP8[($4_1 + 23 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAPU8[($4_1 + 23 | 0) >> 0] | 0) & 255 | 0; + } + } + label$3 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != ((HEAPU8[($4_1 + 23 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$5 + } + if (!((((HEAPU8[($4_1 + 23 | 0) >> 0] | 0) & 255 | 0) & 5 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 1 | 0) { + break label$5 + } + $622(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$7 + } + $732(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + break label$6; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0; + label$8 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $781(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$9 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $716(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$10 + } + $732(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + label$11 : { + label$12 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$12 + } + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$12 + } + $736(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + break label$11; + } + label$13 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$13 + } + $637(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + } + } + break label$4; + } + label$14 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$14 + } + $622(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + } + } + $137_1 = (HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0; + global$0 = $4_1 + 32 | 0; + return $137_1 | 0; + } + + function $963($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[(9632 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $964($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $388$hi = 0, $176_1 = 0, $8_1 = 0, $57_1 = 0, $61_1 = 0, $76_1 = 0, $381$hi = 0, $382$hi = 0, $77_1 = 0, $81_1 = 0, $384$hi = 0, $385$hi = 0, $390$hi = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $150_1 = 0, $221_1 = 0, $231_1 = 0, $234_1 = 0, $265_1 = 0, $347_1 = 0, $370_1 = 0, $531_1 = 0, $564_1 = 0, $582_1 = 0, $102_1 = 0, $103_1 = 0, $218_1 = 0, $240_1 = 0, $241_1 = 0, $248_1 = 0, $249_1 = 0, $258_1 = 0, $259_1 = 0, $270_1 = 0, $271_1 = 0, $1216_1 = 0, $377_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 192 | 0; + global$0 = $6_1; + $8_1 = 0; + HEAP32[($6_1 + 184 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 180 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 176 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 172 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 168 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 124 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + $1021(HEAP32[($6_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 180 | 0) >> 2] | 0 | 0, 9695 | 0); + HEAP32[($6_1 + 188 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$3 + } + $1021(HEAP32[($6_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 180 | 0) >> 2] | 0 | 0, 9735 | 0); + HEAP32[($6_1 + 188 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 132 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!(($248(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0) | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$6 + } + $1021(HEAP32[($6_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 180 | 0) >> 2] | 0 | 0, 9778 | 0); + HEAP32[($6_1 + 188 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + $57_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + HEAP32[($57_1 + 60 | 0) >> 2] = (HEAP32[($57_1 + 60 | 0) >> 2] | 0) & -2 | 0; + $61_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + HEAP32[($61_1 + 60 | 0) >> 2] = HEAP32[($61_1 + 60 | 0) >> 2] | 0 | 6 | 0; + break label$4; + } + HEAP32[($6_1 + 104 | 0) >> 2] = 1352; + } + i64toi32_i32$2 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $531_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 144 | 0) >> 2] = $531_1; + HEAP32[($6_1 + 148 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 156 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0; + HEAP32[($6_1 + 136 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + HEAP8[($6_1 + 131 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 88 | 0) >> 0] | 0; + $76_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + i64toi32_i32$2 = $76_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $381$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $382$hi = i64toi32_i32$0; + i64toi32_i32$0 = $381$hi; + i64toi32_i32$0 = $382$hi; + i64toi32_i32$0 = $381$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $382$hi; + i64toi32_i32$3 = 513; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $564_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $76_1; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = $564_1; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$1; + $77_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + HEAP32[($77_1 + 24 | 0) >> 2] = HEAP32[($77_1 + 24 | 0) >> 2] | 0 | 6 | 0; + $81_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + i64toi32_i32$0 = $81_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $384$hi = i64toi32_i32$2; + i64toi32_i32$2 = -2; + $385$hi = i64toi32_i32$2; + i64toi32_i32$2 = $384$hi; + i64toi32_i32$2 = $385$hi; + i64toi32_i32$2 = $384$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $385$hi; + i64toi32_i32$3 = -268455937; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $582_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $81_1; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $582_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 88 | 0) >> 0] = 0; + HEAP32[($6_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 176 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 164 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 176 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $166($9(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $102_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + $103_1 = HEAP32[($6_1 + 184 | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[($6_1 + 104 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1045($102_1 | 0, $103_1 | 0, 9796 | 0, $6_1 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$8 + } + break label$7; + } + HEAP32[($6_1 + 124 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 112 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($6_1 + 160 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$9 : { + if (!((HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $143($9(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 88 | 0) >> 2] = 0; + HEAP32[($6_1 + 92 | 0) >> 2] = i64toi32_i32$1; + label$10 : { + if (!((HEAP32[(HEAP32[($6_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if ($187(HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, $6_1 + 88 | 0 | 0) | 0) { + break label$11 + } + i64toi32_i32$1 = 0; + $388$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $390$hi = i64toi32_i32$0; + i64toi32_i32$0 = $388$hi; + i64toi32_i32$0 = $390$hi; + i64toi32_i32$0 = $388$hi; + i64toi32_i32$0 = $390$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $388$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $45_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $46_1 = 0 + } else { + $46_1 = 1 + } + $47_1 = $46_1; + } else { + $47_1 = 0 + } + $45_1 = $47_1; + } + if (!($45_1 & 1 | 0)) { + break label$10 + } + } + HEAP32[($6_1 + 168 | 0) >> 2] = 1; + $1021(HEAP32[($6_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 180 | 0) >> 2] | 0 | 0, 9819 | 0); + break label$7; + } + $150_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + HEAP32[($150_1 + 24 | 0) >> 2] = HEAP32[($150_1 + 24 | 0) >> 2] | 0 | 8 | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $511(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + $614(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(((HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 176 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) | 0; + $1046(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0, $1046(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0; + $1047(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0, 33 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1048(HEAP32[($6_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 184 | 0) >> 2] | 0 | 0, 9846 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$12 + } + break label$7; + } + $176_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $129(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0) == ($176_1 | 0) & 1 | 0 ? 2 : $176_1) | 0, $176_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$13 + } + break label$7; + } + label$14 : { + if (!(($132($9(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 92 | 0) >> 2] = 0; + } + label$15 : { + label$16 : { + if ($164(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0, $131(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, 0 | 0) | 0) { + break label$16 + } + label$17 : { + if (HEAP32[($6_1 + 120 | 0) >> 2] | 0) { + break label$17 + } + if ($164(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, 0 | 0) | 0) { + break label$16 + } + } + if (!((HEAPU8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$15 + } + } + HEAP32[($6_1 + 168 | 0) >> 2] = 7; + break label$7; + } + $218_1 = HEAP32[($6_1 + 160 | 0) >> 2] | 0; + $221_1 = 24; + label$18 : { + label$19 : { + if (!((((HEAPU8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 84 | 0) >> 0] | 0) << $221_1 | 0) >> $221_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$19 + } + $231_1 = 24; + $234_1 = ((HEAPU8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 84 | 0) >> 0] | 0) << $231_1 | 0) >> $231_1 | 0; + break label$18; + } + $234_1 = $1049(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0) | 0; + } + $1050($218_1 | 0, $234_1 | 0) | 0; + HEAP8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 164 | 0) >> 0] = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + $240_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + $241_1 = HEAP32[($6_1 + 184 | 0) >> 2] | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1045($240_1 | 0, $241_1 | 0, 9852 | 0, $6_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$20 + } + break label$7; + } + $248_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + $249_1 = HEAP32[($6_1 + 184 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1045($248_1 | 0, $249_1 | 0, 9960 | 0, $6_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$21 + } + break label$7; + } + HEAP8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 164 | 0) >> 0] = 0; + $258_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + $259_1 = HEAP32[($6_1 + 184 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1045($258_1 | 0, $259_1 | 0, 10014 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + $265_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + HEAP32[($265_1 + 24 | 0) >> 2] = (HEAP32[($265_1 + 24 | 0) >> 2] | 0) & -5 | 0; + label$22 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$22 + } + break label$7; + } + $270_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + $271_1 = HEAP32[($6_1 + 184 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1045($270_1 | 0, $271_1 | 0, 10165 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$23 + } + break label$7; + } + HEAP32[($6_1 + 80 | 0) >> 2] = 0; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) < (10 | 0) & 1 | 0)) { + break label$24 + } + $913(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 10295 | 0) >> 0] | 0) & 255 | 0 | 0, $6_1 + 84 | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $140(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 10295 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + ((HEAPU8[(((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 1 | 0) + 10295 | 0) >> 0] | 0) & 255 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$26 + } + break label$7; + } + HEAP32[($6_1 + 80 | 0) >> 2] = (HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 2 | 0; + continue label$25; + }; + } + label$27 : { + if (!((HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$27 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1051(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + } + label$28 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$28 + } + break label$7; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1022(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$29 + } + break label$7; + } + label$30 : { + if (!((HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$30 + } + $1050(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0, $1049(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + } + label$31 : { + if (!((HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$31 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $164(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0, $131(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + } + } + $347_1 = 0; + HEAP8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 164 | 0) >> 0] = 0; + HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($6_1 + 156 | 0) >> 2] | 0; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 144 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 148 | 0) >> 2] | 0; + $1216_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = $1216_1; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 100 | 0) >> 2] = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 104 | 0) >> 2] = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 88 | 0) >> 0] = HEAPU8[($6_1 + 131 | 0) >> 0] | 0; + $164(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0, -1 | 0, $347_1 | 0, 1 | 0) | 0; + HEAP8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 79 | 0) >> 0] = 1; + label$32 : { + if (!((HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0) != ($347_1 | 0) & 1 | 0)) { + break label$32 + } + $370_1 = 0; + $207(HEAP32[((HEAP32[($6_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] = $370_1; + HEAP32[((HEAP32[($6_1 + 124 | 0) >> 2] | 0) + 12 | 0) >> 2] = $370_1; + } + $141(HEAP32[($6_1 + 180 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 188 | 0) >> 2] = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + } + $377_1 = HEAP32[($6_1 + 188 | 0) >> 2] | 0; + global$0 = $6_1 + 192 | 0; + return $377_1 | 0; + } + + function $965($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $53_1 = 0, $76_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($3_1 + 24 | 0) >> 2] = 101; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $165(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $809(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$5 + } + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($3_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(68619 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + label$6 : { + label$7 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$7 + } + $53_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $198(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $53_1 | 0, $53_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$8 + } + $807(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $810(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$9 : { + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$9 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $162((HEAP32[((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 28 | 0 | 0, HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + } + break label$6; + } + HEAP32[($3_1 + 24 | 0) >> 2] = 101; + } + } + } + $76_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $76_1 | 0; + } + + function $966($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP8[($4_1 + 1 | 0) >> 0] = (HEAPU8[($4_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 64 | 0; + return; + } + + function $967($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP8[($4_1 + 1 | 0) >> 0] = ((HEAPU8[($4_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -65 | 0; + return; + } + + function $968($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 23 | 0) >> 0] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[($5_1 + 15 | 0) >> 0] = ((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) & 255 | 0) + 1 | 0; + $127(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $154(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1052(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + $36_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $36_1 | 0; + } + + function $969($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $103_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 336 | 0) >> 2] | 0 | 0) > ($5_1 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 6; + break label$1; + } + label$3 : { + if ((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 336 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1053(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 460 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 456 | 0) >> 2] | 0) | 0; + $1054(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + label$10 : { + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$10 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $103_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $103_1 | 0; + } + + function $970($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $50_1 = 0, $53_1 = 0, $81_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $361(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $362((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 340 | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + $50_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + $53_1 = $351($50_1 | 0, 10313 | 0, $6_1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $53_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1055(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$4 + } + if (!(($1056(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1053(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$5 + } + $1054(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, $1056(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0); + } + } + $81_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $81_1 | 0; + } + + function $971($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $70_1 = 0, $79_1 = 0, $86_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $361(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((HEAP32[((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 6; + break label$1; + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$4; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1057(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[(HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[(HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + $70_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($70_1 + 32 | 0) >> 2] = (HEAP32[($70_1 + 32 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[$5_1 >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$7 + } + $79_1 = 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = $79_1; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] = $79_1; + $841(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + $11(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $86_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $86_1 | 0; + } + + function $972($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $127(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1058(HEAP32[(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $11_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $11_1 | 0; + } + + function $973($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = $1153(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $6_1 | 0; + } + + function $974($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $262(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + $7_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $975($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $272(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $889(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $976($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $180_1 = 0, $227_1 = 0, $74_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$2 + } + $230(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $344(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$5 + } + if (!(($530(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $180_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $180_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP16[($3_1 + 30 | 0) >> 1] = 4; + break label$3; + } + HEAP16[($3_1 + 30 | 0) >> 1] = 8; + break label$3; + } + label$6 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$6 + } + if ($530(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0) { + break label$6 + } + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $227_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $227_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($3_1 + 30 | 0) >> 1] = 4; + break label$3; + } + HEAP16[($3_1 + 30 | 0) >> 1] = 8; + } + $74_1 = (HEAPU16[($3_1 + 30 | 0) >> 1] | 0) & 65535 | 0; + global$0 = $3_1 + 32 | 0; + return $74_1 | 0; + } + + function $977($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($5_1 + 11 | 0) >> 0] = $1_1; + HEAP8[($5_1 + 10 | 0) >> 0] = $2_1; + $9_1 = 24; + $895(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, ((HEAPU8[($5_1 + 11 | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0 | 0, (HEAPU8[($5_1 + 10 | 0) >> 0] | 0) & 255 | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $978($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0.0, $83_1 = 0.0, $12_1 = 0, $13_1 = 0, $78_1 = 0, $78$hi = 0, $80_1 = 0, i64toi32_i32$2 = 0, $69_1 = 0, $82_1 = 0.0, $207_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 45 | 0) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $344(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$6 + } + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + } + if (($530(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) <= (1 | 0) & 1 | 0) { + break label$4 + } + } + $82_1 = +HEAPF64[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 3]; + $83_1 = +HEAPF64[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 3]; + label$7 : { + label$8 : { + if (!(Math_abs($83_1) < 9223372036854775808.0)) { + break label$8 + } + i64toi32_i32$0 = $83_1; + if (Math_abs(i64toi32_i32$0) >= 1.0) { + if (i64toi32_i32$0 > 0.0) { + $12_1 = ~~Math_min(Math_floor(i64toi32_i32$0 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $12_1 = ~~Math_ceil((i64toi32_i32$0 - +(~~i64toi32_i32$0 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $13_1 = $12_1; + } else { + $13_1 = 0 + } + i64toi32_i32$1 = $13_1; + $78_1 = ~~i64toi32_i32$0 >>> 0; + $78$hi = i64toi32_i32$1; + break label$7; + } + i64toi32_i32$1 = -2147483648; + $78_1 = 0; + $78$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $78$hi; + $80_1 = $78_1; + i64toi32_i32$2 = $3_1; + HEAP32[$3_1 >> 2] = $80_1; + HEAP32[($3_1 + 4 | 0) >> 2] = i64toi32_i32$1; + if (!($1059(+$82_1, $80_1 | 0, i64toi32_i32$1 | 0) | 0)) { + break label$3 + } + } + i64toi32_i32$1 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $207_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $207_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 4 | 0; + break label$2; + } + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 8 | 0; + } + } + $69_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($69_1 + 8 | 0) >> 1] = ((HEAPU16[($69_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -16403 | 0; + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $979($0_1, $0$hi, $1_1) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + $1_1 = +$1_1; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $37$hi = 0, $38$hi = 0, $39$hi = 0, $40$hi = 0, $41$hi = 0, $42$hi = 0, $43$hi = 0, $44$hi = 0, $35_1 = 0, $35$hi = 0, $36_1 = 0, $36$hi = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $100_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $130_1 = 0, $31_1 = 0; + $4_1 = global$0 - 96 | 0; + global$0 = $4_1; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 80 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 84 | 0) >> 2] = i64toi32_i32$0; + HEAPF64[($4_1 + 72 | 0) >> 3] = $1_1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 84 | 0) >> 2] | 0; + $3268($4_1 + 32 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + $7_1 = 8; + i64toi32_i32$2 = ($4_1 + 32 | 0) + $7_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $35_1 = i64toi32_i32$1; + $35$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $36_1 = i64toi32_i32$0; + $36$hi = i64toi32_i32$1; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $35_1; + HEAP32[($4_1 + 60 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $36_1; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $37_1 = i64toi32_i32$1; + $37$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $38_1 = i64toi32_i32$0; + $38$hi = i64toi32_i32$1; + $3266($4_1 + 16 | 0 | 0, +(+HEAPF64[($4_1 + 72 | 0) >> 3])); + i64toi32_i32$2 = ($4_1 + 16 | 0) + $7_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $39_1 = i64toi32_i32$1; + $39$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $40$hi = i64toi32_i32$1; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$1 = $40$hi; + $100_1 = i64toi32_i32$0; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$2 = $40$hi; + i64toi32_i32$3 = $39$hi; + label$1 : { + label$2 : { + if (!(($3263($38_1 | 0, i64toi32_i32$1 | 0, $37_1 | 0, i64toi32_i32$0 | 0, $100_1 | 0, i64toi32_i32$2 | 0, $39_1 | 0, i64toi32_i32$3 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 92 | 0) >> 2] = -1; + break label$1; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $41_1 = i64toi32_i32$3; + $41$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $42_1 = i64toi32_i32$2; + $42$hi = i64toi32_i32$3; + $3266($4_1 | 0, +(+HEAPF64[($4_1 + 72 | 0) >> 3])); + i64toi32_i32$0 = $4_1 + 8 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $43_1 = i64toi32_i32$3; + $43$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $44$hi = i64toi32_i32$3; + i64toi32_i32$3 = $42$hi; + i64toi32_i32$3 = $41$hi; + i64toi32_i32$3 = $44$hi; + $130_1 = i64toi32_i32$2; + i64toi32_i32$3 = $43$hi; + i64toi32_i32$3 = $42$hi; + i64toi32_i32$2 = $41$hi; + i64toi32_i32$0 = $44$hi; + i64toi32_i32$1 = $43$hi; + label$3 : { + if (!(($3264($42_1 | 0, i64toi32_i32$3 | 0, $41_1 | 0, i64toi32_i32$2 | 0, $130_1 | 0, i64toi32_i32$0 | 0, $43_1 | 0, i64toi32_i32$1 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 92 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 92 | 0) >> 2] = 0; + } + $31_1 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + global$0 = $4_1 + 96 | 0; + return $31_1 | 0; + } + + function $980($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $97_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 112 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $37_1 = $6_1 + 40 | 0; + $38_1 = 4096; + $39_1 = 1; + $943($37_1 | 0, HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, $39_1 & 65535 | 0 | 0); + $943($6_1 | 0, HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, $39_1 & 65535 | 0 | 0); + $889($37_1 | 0, HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, $38_1 | 0); + $889($6_1 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, $38_1 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $232($37_1 | 0, (HEAPU8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $232($6_1 | 0, (HEAPU8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + } + label$6 : { + if (!((HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[(HEAP32[($6_1 + 92 | 0) >> 2] | 0) >> 0] = 7; + } + HEAP32[($6_1 + 88 | 0) >> 2] = 0; + break label$3; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0, HEAP32[($6_1 + 80 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + } + $227($6_1 + 40 | 0 | 0); + $227($6_1 | 0); + HEAP32[($6_1 + 108 | 0) >> 2] = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + } + $97_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + global$0 = $6_1 + 112 | 0; + return $97_1 | 0; + } + + function $981($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $74_1 = 0, $63_1 = 0, $65_1 = 0, $83_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) | 0) & 16384 | 0)) { + break label$2 + } + label$3 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) | 0) & 16384 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0) | 0; + break label$1; + } + label$4 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$4 + } + label$5 : { + if ($1019(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + break label$1; + } + label$6 : { + if ($1019(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - (HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0) | 0; + break label$1; + } + $63_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $65_1 = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $74_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$7; + } + $74_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3228($63_1 | 0, $65_1 | 0, $74_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + } + $83_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $83_1 | 0; + } + + function $982($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (0 | 0) != ((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0 | 0; + } + + function $983($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1060(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + label$1 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1; + } + $15_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $15_1 | 0; + } + + function $984($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $34_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) > ((HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((0 | 0) > ((HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $34_1 = 0; + break label$2; + } + $34_1 = (HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = $34_1; + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + return HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0; + } + + function $985($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $5_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, $94$hi = 0, $101$hi = 0, $88$hi = 0, $89$hi = 0, $26_1 = 0, $90$hi = 0, $91$hi = 0, $96$hi = 0, $97$hi = 0, $99$hi = 0, $77_1 = 0, $102$hi = 0, $103$hi = 0, $105$hi = 0, $6_1 = 0, $248_1 = 0, $262_1 = 0; + $5_1 = global$0 - 32 | 0; + $6_1 = 6; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = ((HEAPU8[(HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = ((HEAPU8[((HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $88$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $89$hi = i64toi32_i32$1; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$1 = $89$hi; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $26_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $26_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $90$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $91$hi = i64toi32_i32$0; + i64toi32_i32$0 = $90$hi; + i64toi32_i32$0 = $91$hi; + i64toi32_i32$0 = $90$hi; + i64toi32_i32$1 = $26_1; + i64toi32_i32$2 = $91$hi; + i64toi32_i32$3 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = $5_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$5; + label$1 : { + label$2 : { + if (!((HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $248_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $248_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP16[((HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + break label$1; + } + i64toi32_i32$1 = 2146435072; + $94$hi = i64toi32_i32$1; + i64toi32_i32$0 = $5_1 + 8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $262_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $262_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $96$hi = i64toi32_i32$1; + i64toi32_i32$1 = 2146435072; + $97$hi = i64toi32_i32$1; + i64toi32_i32$1 = $96$hi; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$1 = $96$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $97$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + $99$hi = i64toi32_i32$5; + i64toi32_i32$5 = $94$hi; + i64toi32_i32$5 = $99$hi; + i64toi32_i32$5 = $94$hi; + i64toi32_i32$5 = $99$hi; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$3 = 0; + $77_1 = 0; + label$3 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = 0; + $101$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $102$hi = i64toi32_i32$5; + i64toi32_i32$5 = 1048575; + $103$hi = i64toi32_i32$5; + i64toi32_i32$5 = $102$hi; + i64toi32_i32$5 = $103$hi; + i64toi32_i32$5 = $102$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $103$hi; + i64toi32_i32$0 = -1; + i64toi32_i32$1 = i64toi32_i32$5 & i64toi32_i32$1 | 0; + $105$hi = i64toi32_i32$1; + i64toi32_i32$1 = $101$hi; + i64toi32_i32$1 = $105$hi; + i64toi32_i32$1 = $101$hi; + i64toi32_i32$1 = $105$hi; + i64toi32_i32$5 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + i64toi32_i32$3 = $101$hi; + i64toi32_i32$0 = 0; + $77_1 = (i64toi32_i32$5 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0; + } + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] = $77_1 & 1 | 0 ? 1 : 8; + } + return 8 | 0; + } + + function $986($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, $3_1 = 0, i64toi32_i32$1 = 0, $12$hi = 0, $13$hi = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = 0; + $12$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $13$hi = i64toi32_i32$0; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = __wasm_i64_mul(HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $987($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $71$hi = 0, $97$hi = 0, $72$hi = 0, $73$hi = 0, $75$hi = 0, $78$hi = 0, $79$hi = 0, $32_1 = 0, $81$hi = 0, $82$hi = 0, $83$hi = 0, $84$hi = 0, $86$hi = 0, $87$hi = 0, $33_1 = 0, $89$hi = 0, $90$hi = 0, $91$hi = 0, $92$hi = 0, $31_1 = 0, $94$hi = 0, $95$hi = 0, $34_1 = 0, $99$hi = 0, $8_1 = 0; + $4_1 = global$0 - 48 | 0; + i64toi32_i32$0 = 0; + $71$hi = i64toi32_i32$0; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = -16777216; + $73$hi = i64toi32_i32$1; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $75$hi = i64toi32_i32$0; + i64toi32_i32$0 = $71$hi; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$0 = $71$hi; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $71$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$2 + } + $8_1 = 7; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 0] = i64toi32_i32$1; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $79$hi = i64toi32_i32$1; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $79$hi; + i64toi32_i32$2 = 8; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $32_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $32_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $32_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = $8_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $81$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $82$hi = i64toi32_i32$3; + i64toi32_i32$3 = $81$hi; + i64toi32_i32$3 = $82$hi; + i64toi32_i32$3 = $81$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $82$hi; + i64toi32_i32$2 = 127; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + $83$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $84$hi = i64toi32_i32$0; + i64toi32_i32$0 = $83$hi; + i64toi32_i32$0 = $84$hi; + i64toi32_i32$0 = $83$hi; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$2 = 128; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] = i64toi32_i32$3 | i64toi32_i32$2 | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $86$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $87$hi = i64toi32_i32$3; + i64toi32_i32$3 = $86$hi; + i64toi32_i32$3 = $87$hi; + i64toi32_i32$3 = $86$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$2 = 7; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $33_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + $33_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $33_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = (HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0) + -1 | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 44 | 0) >> 2] = 9; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$5 : while (1) { + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $89$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $90$hi = i64toi32_i32$0; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$0 = $90$hi; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $90$hi; + i64toi32_i32$2 = 127; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $91$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $92$hi = i64toi32_i32$1; + i64toi32_i32$1 = $91$hi; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$1 = $91$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $92$hi; + i64toi32_i32$2 = 128; + i64toi32_i32$3 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + $31_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $31_1 + 1 | 0; + HEAP8[(($4_1 + 10 | 0) + $31_1 | 0) >> 0] = i64toi32_i32$0 | i64toi32_i32$2 | 0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $94$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $95$hi = i64toi32_i32$0; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$0 = $95$hi; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $95$hi; + i64toi32_i32$2 = 7; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $34_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $34_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $97$hi = i64toi32_i32$3; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $99$hi = i64toi32_i32$1; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$1 = $99$hi; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$1 = $99$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $97$hi; + i64toi32_i32$2 = 0; + if (((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0) { + continue label$5 + } + break label$5; + }; + HEAP8[($4_1 + 10 | 0) >> 0] = ((HEAPU8[($4_1 + 10 | 0) >> 0] | 0) & 255 | 0) & 127 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[(($4_1 + 10 | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0; + } + + function $988($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $7_1 = 0, $28_1 = 0, $31_1 = 0, $44_1 = 0, $132_1 = 0, $135_1 = 0, $193_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $4_1; + $7_1 = 24; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0 | 0) >= ($4_1 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $819(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0); + label$6 : { + label$7 : while (1) { + $28_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + $31_1 = (HEAPU8[($28_1 + 68 | 0) >> 0] | 0) + -1 | 0; + HEAP8[($28_1 + 68 | 0) >> 0] = $31_1; + if (!(($31_1 & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + $44_1 = 24; + $819(HEAP32[(((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 120 | 0) + ((((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $44_1 | 0) >> $44_1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + continue label$7; + }; + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0; + break label$2; + } + break label$3; + } + label$8 : { + if (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) { + break label$8 + } + HEAP8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] = 1; + HEAP32[($3_1 + 28 | 0) >> 2] = 16; + break label$1; + } + label$9 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + $836(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1061(HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0 | 0, 0 | 0, (HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$11 + } + HEAP8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] = 1; + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 0] = 0; + HEAP8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 69 | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0; + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$12 : { + label$13 : { + if (!((HEAPU8[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$13 + } + if (!(((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0 | 0) != ((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$12 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(69970 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + $132_1 = 0; + HEAP16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 70 | 0) >> 1] = $132_1; + HEAP16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 50 | 0) >> 1] = $132_1; + $135_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP8[($135_1 + 1 | 0) >> 0] = ((HEAPU8[($135_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -15 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] = 0; + break label$14; + } + label$16 : { + label$17 : { + if (((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$17 + } + label$18 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(69983 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $990(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$16; + } + HEAP8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] = 1; + HEAP32[($3_1 + 16 | 0) >> 2] = 16; + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + } + $193_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $193_1 | 0; + } + + function $989($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, $22_1 = 0, $8_1 = 0, $27_1 = 0, $28_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 50 | 0) >> 1] = 0; + $8_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP8[($8_1 + 1 | 0) >> 0] = (HEAPU8[($8_1 + 1 | 0) >> 0] | 0) & 249 | 0; + $12_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($12_1 + 70 | 0) >> 1] = HEAPU16[((((HEAP8[($12_1 + 68 | 0) >> 0] | 0) << 1 | 0) + $12_1 | 0) + 70 | 0) >> 1] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + $22_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $27_1 = (HEAPU8[($22_1 + 68 | 0) >> 0] | 0) + -1 | 0; + HEAP8[($22_1 + 68 | 0) >> 0] = $27_1; + $28_1 = 24; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] = HEAP32[(($22_1 + 120 | 0) + ((($27_1 << $28_1 | 0) >> $28_1 | 0) << 2 | 0) | 0) >> 2] | 0; + $819(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $990($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $28_1 = 0, $36_1 = 0, $10_1 = 0, $23_1 = 0, $24_1 = 0, $31_1 = 0, $45_1 = 0, $59_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $10_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) >= (19 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(69832 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $23_1 = 0; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 50 | 0) >> 1] = $23_1; + $24_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[($24_1 + 1 | 0) >> 0] = (HEAPU8[($24_1 + 1 | 0) >> 0] | 0) & 249 | 0; + $28_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $31_1 = 1; + HEAP16[(($28_1 + ((HEAP8[($28_1 + 68 | 0) >> 0] | 0) << $31_1 | 0) | 0) + 72 | 0) >> 1] = HEAPU16[($28_1 + 70 | 0) >> 1] | 0; + $36_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[(($36_1 + ((HEAP8[($36_1 + 68 | 0) >> 0] | 0) << 2 | 0) | 0) + 120 | 0) >> 2] = HEAP32[($36_1 + 116 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 70 | 0) >> 1] = $23_1; + $45_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[($45_1 + 68 | 0) >> 0] = (HEAPU8[($45_1 + 68 | 0) >> 0] | 0) + $31_1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1061(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 116 | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $59_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $59_1 | 0; + } + + function $991() { + return 200 | 0; + } + + function $992($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, $10_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = 0; + $10_1 = 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $10_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $10_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function $993($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + $127(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $994(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $15_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $15_1 | 0; + } + + function $994($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $40_1 = 0, $76_1 = 0, $82_1 = 0, $98_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$2 + } + $1062(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + label$3 : { + if (!((HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 7; + break label$1; + } + } + label$4 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0) >>> 0 <= 1 >>> 0 & 1 | 0)) { + break label$4 + } + label$5 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0) >>> 0 < 1 >>> 0 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(69138 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$6 : { + if ($165(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + } + } + $40_1 = 0; + HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 68 | 0) >> 0] = 255; + HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 112 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + HEAP8[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAP32[($7_1 + 16 | 0) >> 2] | 0 ? 1 : $40_1; + HEAP8[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] = HEAP32[($7_1 + 16 | 0) >> 2] | 0 ? $40_1 : 2; + HEAP32[$7_1 >> 2] = HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[$7_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + if (!((HEAP32[((HEAP32[$7_1 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $76_1 = HEAP32[$7_1 >> 2] | 0; + HEAP8[($76_1 + 1 | 0) >> 0] = (HEAPU8[($76_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 32 | 0; + $82_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP8[($82_1 + 1 | 0) >> 0] = (HEAPU8[($82_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 32 | 0; + } + HEAP32[$7_1 >> 2] = HEAP32[((HEAP32[$7_1 >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$8; + }; + } + HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP8[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 0] = 1; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + } + $98_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $98_1 | 0; + } + + function $995($0_1, $1_1, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $48$hi = 0, $49$hi = 0, $48_1 = 0, $140_1 = 0; + $6_1 = global$0 - 32 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if ((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + break label$1; + } + HEAP8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 11 | 0) >> 0] = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 16 | 0)) { + break label$4 + } + HEAP8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 11 | 0) >> 0] = 1; + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $48_1 = i64toi32_i32$0; + $48$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $49$hi = i64toi32_i32$0; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = $49$hi; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = $49$hi; + $140_1 = i64toi32_i32$1; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$2 = $48_1; + i64toi32_i32$1 = $49$hi; + if (!(((i64toi32_i32$2 | 0) == ($140_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$5 + } + } + HEAP8[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 0] = 1; + } + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$3; + }; + } + return; + } + + function $996($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $20_1 = 0, $142_1 = 0, $152_1 = 0, $167_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0) >>> 0 > ($165(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(74007 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $20_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1061(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, $6_1 + 40 | 0 | 0, $20_1 | 0, $20_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(74012 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + HEAP8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0) >> 0] = 1; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + label$8 : { + if (((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $996(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, $161(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0 | 0, 1 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$9 + } + break label$4; + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1008(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$10 + } + break label$4; + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + label$11 : { + label$12 : { + if (((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$12 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $996(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, $161((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) | 0 | 0) | 0 | 0, 1 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$13 + } + break label$4; + } + break label$11; + } + label$14 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + $142_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[$142_1 >> 2] = (HEAP32[$142_1 >> 2] | 0) + ((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) | 0; + } + } + label$15 : { + label$16 : { + if (!(HEAP32[($6_1 + 48 | 0) >> 2] | 0)) { + break label$16 + } + $1063(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $6_1 + 36 | 0 | 0); + break label$15; + } + $152_1 = $145(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = $152_1; + label$17 : { + if ($152_1) { + break label$17 + } + $785(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 8 | 0 | 0); + } + } + } + HEAP8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0) >> 0] = 0; + $814(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + $167_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $167_1 | 0; + } + + function $997($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $86_1 = 0, $47_1 = 0, $207_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $807(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + $913(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, 4 | 0, $5_1 + 36 | 0 | 0); + label$4 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0) >>> 0 > ($165(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(73869 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($5_1 + 36 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0; + label$5 : while (1) { + $47_1 = 1; + label$6 : { + if ((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == ($808(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0) { + break label$6 + } + $47_1 = (HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0); + } + label$7 : { + if (!($47_1 & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 36 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $813(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $5_1 + 20 | 0 | 0, $5_1 + 24 | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + label$9 : { + label$10 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $86_1 = 0; + HEAP8[($5_1 + 19 | 0) >> 0] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $86_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $198(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $86_1 | 0, $86_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $814(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + label$11 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $201(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 40 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $812(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 19 | 0 | 0, $5_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + label$14 : { + if (((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0) { + break label$14 + } + if (!(((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$13 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(73917 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + label$15 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$15 + } + $814(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $815(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $814(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + label$16 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$16 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $201(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 40 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$17 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$18 + } + $814(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + break label$9; + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + $832(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, 0 | 0, $5_1 + 32 | 0 | 0); + label$19 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$19 + } + $814(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $140(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$20 + } + $814(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $813(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $5_1 + 40 | 0 | 0, $5_1 + 36 | 0 | 0, 1 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$21 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + } + label$22 : { + label$23 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 13; + break label$22; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 10; + } + $785(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + $137(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + } + $207_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $207_1 | 0; + } + + function $998($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $7_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + label$3 : while (1) { + $7_1 = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $7_1; + if (!((((HEAPU8[($7_1 + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 70 | 0) >> 1] = HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $990(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + break label$1; + } + continue label$3; + }; + } + HEAP16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 70 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $44_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $44_1 | 0; + } + + function $999($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) <= (13 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAPU16[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0; + label$3 : { + label$4 : { + if (!(((HEAPU8[(HEAP32[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(((HEAPU8[(HEAP32[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$5 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 30; + break label$1; + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 0] = 1; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 13 | 0) >> 0] = 255; + break label$3; + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 0] = 255; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 13 | 0) >> 0] = 1; + } + label$6 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) & 4 | 0)) { + break label$6 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 31; + break label$1; + } + label$7 : { + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) & 57 | 0) { + break label$7 + } + if (!((HEAP32[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 32; + break label$1; + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = 30; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1000($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $10_1 = $944(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $10_1 | 0; + } + + function $1001($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $20_1 = 0, $60_1 = 0, $63_1 = 0, $117_1 = 0, $166_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$4 + } + $20_1 = $392(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0; + break label$3; + } + $20_1 = 0; + } + HEAP32[($3_1 + 20 | 0) >> 2] = $20_1; + label$5 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + label$6 : { + if (!((1 | 0) == ((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 101; + break label$1; + } + label$7 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] = 0; + label$8 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + $60_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + $63_1 = (HEAPU16[($60_1 + 70 | 0) >> 1] | 0) + 1 | 0; + HEAP16[($60_1 + 70 | 0) >> 1] = $63_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $63_1 & 65535 | 0; + label$9 : { + label$10 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + if (!($176(412 | 0) | 0)) { + break label$9 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(70480 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$11 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) >= ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + if (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$12 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $990(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $161((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1002(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$14 : while (1) { + $117_1 = 24; + label$15 : { + if (((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $117_1 | 0) >> $117_1 | 0) { + break label$15 + } + HEAP8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] = 1; + HEAP32[($3_1 + 28 | 0) >> 2] = 101; + break label$1; + } + $989(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + if (((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0 | 0) >= ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) { + continue label$14 + } + break label$14; + }; + label$16 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$16 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $924(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$17 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1002(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $166_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $166_1 | 0; + } + + function $1002($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $10_1 = 0, $61_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : while (1) { + $7_1 = 0; + label$2 : { + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + $10_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = $10_1; + $7_1 = ((HEAPU8[($10_1 + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0; + } + label$3 : { + if (!($7_1 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[$3_1 >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 64 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 64 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $990(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + continue label$1; + } + break label$1; + }; + $61_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $61_1 | 0; + } + + function $1003($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $20_1 = 0, $115_1 = 0, $122_1 = 0, $147_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$4 + } + $20_1 = $392(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0; + break label$3; + } + $20_1 = 0; + } + HEAP32[($3_1 + 20 | 0) >> 2] = $20_1; + label$5 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + label$6 : { + if (!((1 | 0) == ((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 101; + break label$1; + } + label$7 : { + if (!((2 | 0) == ((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] = 0; + label$8 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (((HEAPU8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$10 + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $990(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $161((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $998(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$9; + } + label$12 : { + label$13 : while (1) { + if ((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0) { + break label$12 + } + $115_1 = 24; + label$14 : { + if (((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $115_1 | 0) >> $115_1 | 0) { + break label$14 + } + HEAP8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] = 1; + HEAP32[($3_1 + 28 | 0) >> 2] = 101; + break label$1; + } + $989(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + continue label$13; + }; + } + $122_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP16[($122_1 + 70 | 0) >> 1] = (HEAPU16[($122_1 + 70 | 0) >> 1] | 0) + -1 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$15 : { + label$16 : { + if (!((HEAPU8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0)) { + break label$16 + } + if (((HEAPU8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$16 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $925(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$15; + } + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $147_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $147_1 | 0; + } + + function $1004($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $139_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0) | 0) >>> 0 > (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 0 < ((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) | 0) >>> 0 & 1 | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(73299 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1072(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0, (HEAPU16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0 | 0) == (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 4 | 0; + label$6 : while (1) { + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $201(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $4_1 + 20 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + break label$1; + } + label$8 : { + label$9 : { + if (!(($625(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(73318 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + break label$8; + } + label$10 : { + label$11 : { + if (!(((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0) >>> 0 < (HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $161(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$10; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) - (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1072(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + $137(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + label$12 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + if ((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$6 + } + break label$6; + }; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $139_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $139_1 | 0; + } + + function $1005($0_1, $1_1, $2_1, $2$hi, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $68_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 20 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $929(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 44 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$0 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $930(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0); + label$6 : { + label$7 : { + if (!((HEAPU16[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0)) { + break label$7 + } + if (!(((HEAPU16[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) > ((HEAPU16[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$6 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(65548 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + break label$3; + } + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + } + i64toi32_i32$1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $922(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $13(HEAP32[((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + $68_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $68_1 | 0; + } + + function $1006($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $212_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP8[($3_1 + 35 | 0) >> 0] = HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = (((((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (((HEAPU8[($3_1 + 35 | 0) >> 0] | 0) & 255 | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (((HEAPU8[($3_1 + 35 | 0) >> 0] | 0) & 255 | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) - 1 | 0) & 65535 | 0) + 1 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = ((((HEAPU8[($3_1 + 35 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) + ((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0) + (((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) - 4 | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (((HEAPU8[($3_1 + 35 | 0) >> 0] | 0) & 255 | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (((HEAPU8[($3_1 + 35 | 0) >> 0] | 0) & 255 | 0) + 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (((HEAPU8[($3_1 + 35 | 0) >> 0] | 0) & 255 | 0) + 7 | 0) | 0) >> 0] | 0) & 255 | 0) + (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(66639 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$4 : while (1) { + label$5 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) > (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(66644 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (HEAP32[($3_1 + 36 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (HEAP32[($3_1 + 36 | 0) >> 2] | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[$3_1 >> 2] = ((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 2 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + (HEAP32[$3_1 >> 2] | 0) | 0; + label$6 : { + label$7 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) >>> 0 <= (((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + (HEAP32[$3_1 >> 2] | 0) | 0) + 3 | 0) >>> 0 & 1 | 0)) { + break label$7 + } + break label$6; + } + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + continue label$4; + } + break label$4; + }; + label$8 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(66654 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$9 : { + if (!(((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + (HEAP32[$3_1 >> 2] | 0) | 0) >>> 0 > (HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(66658 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + label$10 : { + label$11 : { + if ((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$11 + } + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(66670 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) - (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0) & 65535 | 0; + HEAP32[($3_1 + 44 | 0) >> 2] = 0; + } + $212_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $212_1 | 0; + } + + function $1007($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $42_1 = 0, $77_1 = 0, $152_1 = 0, $248_1 = 0, $58_1 = 0, $316_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 72 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$4 + } + HEAP8[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + $42_1 = 1; + break label$3; + } + i64toi32_i32$1 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $42_1 = $908((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ($42_1 & 255 | 0) | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $58_1 = $908((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $58_1 | 0; + break label$1; + } + i64toi32_i32$2 = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 72 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 64 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 80 | 0) >> 2] | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$6 + } + HEAP8[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + $77_1 = 1; + break label$5; + } + i64toi32_i32$1 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $77_1 = $908((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ($77_1 & 255 | 0) | 0; + } + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) <= ((HEAPU16[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 60 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 72 | 0) >> 2] | 0) | 0; + label$9 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 4; + } + HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $3288(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) | 0; + $3289((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 64 | 0) >> 2] | 0) | 0 | 0, 0 | 0, (HEAP32[($6_1 + 72 | 0) >> 2] | 0) - (HEAP32[($6_1 + 64 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + break label$7; + } + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAPU16[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((((HEAP32[($6_1 + 72 | 0) >> 2] | 0) - (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0) >>> 0) % (((HEAP32[((HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 4 | 0) >>> 0) | 0) | 0; + label$10 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) > ((HEAPU16[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + } + $152_1 = 0; + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] = ((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) + 4 | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0) | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $152_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $152_1; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + label$11 : while (1) { + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + label$12 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) > (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + } + label$13 : { + label$14 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) >= (HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $3288(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0; + break label$13; + } + label$15 : { + label$16 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + $3288(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0; + break label$15; + } + $3289(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($6_1 + 72 | 0) >> 2] = (HEAP32[($6_1 + 72 | 0) >> 2] | 0) - (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0; + label$17 : { + label$18 : { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$18 + } + break label$17; + } + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) - (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = (HEAP32[($6_1 + 48 | 0) >> 2] | 0) - (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0; + label$19 : { + if (HEAP32[($6_1 + 48 | 0) >> 2] | 0) { + break label$19 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + label$20 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$20 + } + label$21 : while (1) { + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + $248_1 = 1; + label$22 : { + if (($808(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$22 + } + $248_1 = (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0); + } + if ($248_1 & 1 | 0) { + continue label$21 + } + break label$21; + }; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $813(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, $6_1 + 20 | 0 | 0, $6_1 + 28 | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!((HEAPU8[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0)) { + break label$23 + } + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$23 + } + HEAP8[($6_1 + 15 | 0) >> 0] = HEAP32[($6_1 + 16 | 0) >> 2] | 0 ? 4 : 3; + $832(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, (HEAPU8[($6_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $6_1 + 56 | 0 | 0); + label$24 : { + if (!(HEAP32[($6_1 + 56 | 0) >> 2] | 0)) { + break label$24 + } + $814(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + } + label$25 : { + if (!(HEAP32[($6_1 + 56 | 0) >> 2] | 0)) { + break label$25 + } + $814(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 92 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + break label$7; + } + $162(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0); + $814(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $162(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, 0 | 0); + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 4 | 0; + } + continue label$11; + } + break label$11; + }; + $814(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + } + $316_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + global$0 = $6_1 + 96 | 0; + return $316_1 | 0; + } + + function $1008($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $66_1 = 0, $70_1 = 0, $109_1 = 0, $143_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 40 | 0) >> 2] | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0); + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!(((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) | 0) >>> 0 > (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(71132 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $161(((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) | 0) + -4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 4 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (((((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - ((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) - 1 | 0) >>> 0) / ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0) | 0; + label$4 : { + label$5 : while (1) { + $66_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $66_1 + -1 | 0; + if (!$66_1) { + break label$4 + } + $70_1 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $70_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $70_1; + label$6 : { + label$7 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0 < 2 >>> 0 & 1 | 0) { + break label$7 + } + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0 > ($165(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0)) { + break label$6 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(71149 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$8 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $826(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $5_1 + 4 | 0 | 0, $5_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$1; + } + } + label$10 : { + label$11 : { + label$12 : { + if ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + $109_1 = $1064(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $109_1; + if (!(($109_1 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + } + if (!(($625(HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(71169 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$10; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1065(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$13 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + $137(HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + } + label$14 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$14 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + continue label$5; + }; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $143_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $143_1 | 0; + } + + function $1009($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $8_1 = 0, $9_1 = 0, $57_1 = 0, $141_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 1 | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = ((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0; + label$3 : { + if (!(((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0) >>> 0 > (HEAP32[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + $44_1 = $694(71405 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $44_1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1073(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 28 | 0) >> 2] | 0) & 65535 | 0 | 0, (HEAP32[($6_1 + 36 | 0) >> 2] | 0) & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + break label$1; + } + $57_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP16[($57_1 + 24 | 0) >> 1] = (HEAPU16[($57_1 + 24 | 0) >> 1] | 0) + -1 | 0; + label$5 : { + if ((HEAPU16[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) { + break label$5 + } + $8_1 = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0; + $9_1 = 0; + HEAP8[$8_1 >> 0] = $9_1; + HEAP8[($8_1 + 1 | 0) >> 0] = $9_1 >>> 8 | 0; + HEAP8[($8_1 + 2 | 0) >> 0] = $9_1 >>> 16 | 0; + HEAP8[($8_1 + 3 | 0) >> 0] = $9_1 >>> 24 | 0; + HEAP8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 7 | 0) | 0) >> 0] = 0; + HEAP8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] = (HEAP32[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 8 | 0; + HEAP8[(((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] = HEAP32[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] = (((HEAP32[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - ((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) | 0) - ((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0) - 8 | 0; + break label$1; + } + $3290(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 2 | 0 | 0, (((HEAPU16[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) - (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) << 1 | 0 | 0) | 0; + HEAP8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0) | 0) >> 0] = ((HEAPU16[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) >> 8 | 0; + HEAP8[(((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0) | 0) + 1 | 0) >> 0] = HEAPU16[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0; + $141_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[($141_1 + 20 | 0) >> 2] = (HEAP32[($141_1 + 20 | 0) >> 2] | 0) + 2 | 0; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $1010($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $110_1 = 0, $39_1 = 0, $40_1 = 0, $83_1 = 0, $113_1 = 0, $127_1 = 0, $135_1 = 0, $137_1 = 0, $145_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 48 | 0; + global$0 = $9_1; + HEAP32[($9_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAPU8[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if (!(((HEAP32[($9_1 + 32 | 0) >> 2] | 0) + 2 | 0 | 0) > (HEAP32[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + } + label$4 : { + if (!((HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $3288(HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 36 | 0) >> 2] = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + } + label$5 : { + if (!(HEAP32[($9_1 + 24 | 0) >> 2] | 0)) { + break label$5 + } + $162(HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0); + } + $39_1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + $40_1 = HEAPU8[($39_1 + 12 | 0) >> 0] | 0; + HEAP8[($39_1 + 12 | 0) >> 0] = $40_1 + 1 | 0; + HEAP32[($9_1 + 12 | 0) >> 2] = $40_1 & 255 | 0; + HEAP32[(((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($9_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + HEAP16[(((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($9_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[$9_1 >> 2] | 0)) { + break label$6 + } + HEAP32[(HEAP32[($9_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[$9_1 >> 2] | 0; + break label$1; + } + HEAP32[($9_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1074(HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, $9_1 + 16 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[$9_1 >> 2] | 0)) { + break label$7 + } + HEAP32[(HEAP32[($9_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[$9_1 >> 2] | 0; + break label$1; + } + $83_1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + HEAP32[($83_1 + 20 | 0) >> 2] = (HEAP32[($83_1 + 20 | 0) >> 2] | 0) - (((HEAP32[($9_1 + 32 | 0) >> 2] | 0) + 2 | 0) & 65535 | 0) | 0; + label$8 : { + label$9 : { + if (!(HEAP32[($9_1 + 24 | 0) >> 2] | 0)) { + break label$9 + } + $3288((HEAP32[($9_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 16 | 0) >> 2] | 0) + 4 | 0) | 0 | 0, (HEAP32[($9_1 + 36 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($9_1 + 32 | 0) >> 2] | 0) - 4 | 0 | 0) | 0; + $162((HEAP32[($9_1 + 8 | 0) >> 2] | 0) + (HEAP32[($9_1 + 16 | 0) >> 2] | 0) | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0); + break label$8; + } + $3288((HEAP32[($9_1 + 8 | 0) >> 2] | 0) + (HEAP32[($9_1 + 16 | 0) >> 2] | 0) | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + $110_1 = 1; + HEAP32[($9_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 40 | 0) >> 2] | 0) << $110_1 | 0) | 0; + $113_1 = HEAP32[($9_1 + 4 | 0) >> 2] | 0; + $3290($113_1 + 2 | 0 | 0, $113_1 | 0, ((HEAPU16[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) - (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0) << $110_1 | 0 | 0) | 0; + HEAP8[(HEAP32[($9_1 + 4 | 0) >> 2] | 0) >> 0] = (HEAP32[($9_1 + 16 | 0) >> 2] | 0) >>> 8 | 0; + HEAP8[((HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + $127_1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + HEAP16[($127_1 + 24 | 0) >> 1] = (HEAPU16[($127_1 + 24 | 0) >> 1] | 0) + $110_1 | 0; + $135_1 = (HEAP32[($9_1 + 8 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) + 4 | 0) | 0; + $137_1 = (HEAPU8[$135_1 >> 0] | 0) + $110_1 | 0; + HEAP8[$135_1 >> 0] = $137_1; + label$10 : { + if ($137_1 & 255 | 0) { + break label$10 + } + $145_1 = (HEAP32[($9_1 + 8 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) + 3 | 0) | 0; + HEAP8[$145_1 >> 0] = (HEAPU8[$145_1 >> 0] | 0) + 1 | 0; + } + label$11 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + $835(HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0); + } + } + global$0 = $9_1 + 48 | 0; + return; + } + + function $1011($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $38_1 = 0, $40_1 = 0, $46_1 = 0, $55_1 = 0, $186_1 = 0, $195_1 = 0, $212_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 64 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 52 | 0) >> 2] = (((HEAP32[((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) << 1 | 0) >>> 0) / (3 >>> 0) | 0; + HEAP32[($3_1 + 32 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + if (!($1006(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if ((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) <= (HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + $38_1 = 24; + $40_1 = ((HEAPU8[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $38_1 | 0) >> $38_1 | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $40_1; + label$5 : { + label$6 : { + if ($40_1) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + $46_1 = $1075(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 56 | 0) >> 2] = $46_1; + if ($46_1) { + break label$8 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1076(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, ((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 120 | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$9 + } + $55_1 = 0; + HEAP8[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 68 | 0) >> 0] = 1; + HEAP16[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 70 | 0) >> 1] = $55_1; + HEAP16[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 72 | 0) >> 1] = $55_1; + HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 120 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 116 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0; + } + break label$7; + } + break label$1; + } + break label$5; + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 120 | 0) + (((HEAP32[($3_1 + 28 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAPU16[(((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 72 | 0) + (((HEAP32[($3_1 + 28 | 0) >> 2] | 0) - 1 | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$10 + } + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1006(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$11 + } + label$12 : { + label$13 : { + if (!((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0)) { + break label$13 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$13 + } + if (!(((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0 | 0) == ((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$13 + } + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$13 + } + if (!(((HEAPU16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) == (HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1077(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $3_1 + 39 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + break label$12; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $631(HEAP32[((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1078(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 | 0, ((HEAPU8[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + $623(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 32 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + } + HEAP8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] = 0; + $814(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + $186_1 = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + HEAP8[($186_1 + 68 | 0) >> 0] = (HEAPU8[($186_1 + 68 | 0) >> 0] | 0) + -1 | 0; + $195_1 = 24; + HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 116 | 0) >> 2] = HEAP32[(((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 120 | 0) + ((((HEAPU8[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $195_1 | 0) >> $195_1 | 0) << 2 | 0) | 0) >> 2] | 0; + } + if (!(HEAP32[($3_1 + 56 | 0) >> 2] | 0)) { + continue label$2 + } + break label$2; + }; + } + label$15 : { + if (!((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $623(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + } + $212_1 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + global$0 = $3_1 + 64 | 0; + return $212_1 | 0; + } + + function $1012($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$4_1 >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 56) | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + 8 | 0; + } + return HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $1013($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $51_1 = 0, $70_1 = 0, $95_1 = 0, $135_1 = 0, $16_1 = 0, $155_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 304 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 296 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 292 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1091(HEAP32[($4_1 + 296 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 280 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 280 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 300 | 0) >> 2] = HEAP32[($4_1 + 280 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 284 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 292 | 0) >> 2] | 0) >> 2] | 0; + $16_1 = $1092(HEAP32[((HEAP32[($4_1 + 296 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 296 | 0) >> 2] | 0) + 32 | 0) >> 2] = $16_1; + $3289($4_1 + 16 | 0 | 0, 0 | 0, 256 | 0) | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 284 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 292 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 284 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 292 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$7; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 292 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 284 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + } + break label$5; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 284 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + $51_1 = 0; + HEAP32[((HEAP32[($4_1 + 284 | 0) >> 2] | 0) + 4 | 0) >> 2] = $51_1; + HEAP32[($4_1 + 288 | 0) >> 2] = $51_1; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[(($4_1 + 16 | 0) + ((HEAP32[($4_1 + 288 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $70_1 = $4_1 + 16 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1093(HEAP32[($4_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($70_1 + ((HEAP32[($4_1 + 288 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 284 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($70_1 + ((HEAP32[($4_1 + 288 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($4_1 + 288 | 0) >> 2] = (HEAP32[($4_1 + 288 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + HEAP32[(($4_1 + 16 | 0) + ((HEAP32[($4_1 + 288 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 284 | 0) >> 2] | 0; + HEAP32[($4_1 + 284 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + continue label$4; + }; + } + $95_1 = 0; + HEAP32[($4_1 + 284 | 0) >> 2] = $95_1; + HEAP32[($4_1 + 288 | 0) >> 2] = $95_1; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($4_1 + 288 | 0) >> 2] | 0 | 0) < (64 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + label$14 : { + if (!((HEAP32[(($4_1 + 16 | 0) + ((HEAP32[($4_1 + 288 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + break label$13; + } + label$15 : { + label$16 : { + if (!((HEAP32[($4_1 + 284 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $135_1 = $1093(HEAP32[($4_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[(($4_1 + 16 | 0) + ((HEAP32[($4_1 + 288 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + break label$15; + } + $135_1 = HEAP32[(($4_1 + 16 | 0) + ((HEAP32[($4_1 + 288 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($4_1 + 284 | 0) >> 2] = $135_1; + } + HEAP32[($4_1 + 288 | 0) >> 2] = (HEAP32[($4_1 + 288 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP32[(HEAP32[($4_1 + 292 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 284 | 0) >> 2] | 0; + HEAP32[($4_1 + 300 | 0) >> 2] = (HEAPU8[((HEAP32[((HEAP32[($4_1 + 296 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0; + } + $155_1 = HEAP32[($4_1 + 300 | 0) >> 2] | 0; + global$0 = $4_1 + 304 | 0; + return $155_1 | 0; + } + + function $1014($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 0] = 1; + $12_1 = $1094((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $12_1 | 0; + } + + function $1015($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0; + HEAP32[$3_1 >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1095(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + $12_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1096(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0, $12_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + HEAP32[$3_1 >> 2] = $12_1; + } + label$2 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $864(HEAP32[$3_1 >> 2] | 0 | 0); + } + $20_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $20_1 | 0; + } + + function $1016($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $183_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1116((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 32 | 0) >> 2] | 0, 56) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul((HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 65534 | 0, 56) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 1 | 0, 56) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = ((HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 1; + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 8 | 0) >> 2] = -1; + break label$6; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 28 | 0) >> 2] | 0, $4_1 + 12 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + } + label$8 : { + label$9 : { + label$10 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$10 + } + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$9 + } + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$9 + } + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0 | 0) / (56 | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 24 | 0) >> 2] | 0) ^ 1 | 0) << 2 | 0) | 0) >> 2] | 0, 56) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$8; + } + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0 | 0) / (56 | 0) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 24 | 0) >> 2] | 0) ^ 1 | 0) << 2 | 0) | 0) >> 2] | 0, 56) | 0; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) / (2 | 0) | 0; + continue label$3; + }; + } + HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] = (HEAP32[(((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 56) | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0; + } + label$12 : { + label$13 : { + if (HEAP32[($4_1 + 36 | 0) >> 2] | 0) { + break label$13 + } + $183_1 = (HEAPU8[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0; + break label$12; + } + $183_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + global$0 = $4_1 + 48 | 0; + return $183_1 | 0; + } + + function $1017() { + var $2_1 = 0; + $2_1 = global$0 - 16 | 0; + HEAP32[($2_1 + 12 | 0) >> 2] = HEAP32[(0 + 114128 | 0) >> 2] | 0; + return HEAP32[($2_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1018($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $5_1 = 0, $9_1 = 0, $14_1 = 0, $27_1 = 0, $171$hi = 0, $100_1 = 0, $172$hi = 0, $173$hi = 0, $29_1 = 0, $174$hi = 0, $177$hi = 0, $178$hi = 0, $30_1 = 0, $179$hi = 0, $180$hi = 0, $212_1 = 0, $240_1 = 0, $281_1 = 0, $336_1 = 0, $171_1 = 0, $529_1 = 0, $533_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($5_1 | 0) { + case 0: + case 1: + $9_1 = 24; + i64toi32_i32$1 = ((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $212_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $212_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$1; + case 2: + $14_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $14_1 | 0) >> $14_1 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $240_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $240_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$1; + case 3: + $27_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $27_1 | 0) >> $27_1 | 0) << 16 | 0 | (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $281_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $281_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$1; + case 4: + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $336_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $336_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$1; + case 5: + i64toi32_i32$0 = 0; + $171_1 = ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) | 0; + $171$hi = i64toi32_i32$0; + $100_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $100_1 | 0) >> $100_1 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $172$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $173$hi = i64toi32_i32$0; + i64toi32_i32$0 = $172$hi; + i64toi32_i32$0 = $173$hi; + i64toi32_i32$0 = $172$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $173$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $29_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $29_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $174$hi = i64toi32_i32$1; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$1 = $174$hi; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$0 = $171_1; + i64toi32_i32$2 = $174$hi; + i64toi32_i32$3 = $29_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$5; + break label$1; + case 6: + i64toi32_i32$5 = 0; + i64toi32_i32$0 = $4_1; + HEAP32[$4_1 >> 2] = ((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $177$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $178$hi = i64toi32_i32$0; + i64toi32_i32$0 = $177$hi; + i64toi32_i32$0 = $178$hi; + i64toi32_i32$0 = $177$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $178$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $30_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$2 | 0) | 0; + $30_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $179$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $180$hi = i64toi32_i32$5; + i64toi32_i32$5 = $179$hi; + i64toi32_i32$5 = $180$hi; + i64toi32_i32$5 = $179$hi; + i64toi32_i32$0 = $30_1; + i64toi32_i32$1 = $180$hi; + i64toi32_i32$3 = ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + $529_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + HEAP32[$4_1 >> 2] = $529_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$5 = $4_1; + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $533_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $533_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$1; + default: + break label$2; + }; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 8 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $1019($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1020($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $77_1 = 0, $93_1 = 0, $120_1 = 0, $144_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0) >>> 0 > ($165(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(74116 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $201(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 24 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($5_1 + 28 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $917(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($5_1 + 28 | 0) >> 2] | 0)) { + break label$4 + } + $814(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = 0; + label$5 : { + label$6 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + $913(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 4 | 0, $5_1 + 16 | 0 | 0); + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $1063(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $5_1 + 28 | 0 | 0); + $814(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + label$9 : { + if (!(HEAP32[($5_1 + 28 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + break label$7; + } + $814(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $201(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(HEAP32[($5_1 + 28 | 0) >> 2] | 0)) { + break label$10 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + $77_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $815(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, $77_1 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $77_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $814(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + label$11 : { + if (!(HEAP32[($5_1 + 28 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + $93_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $93_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $201(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0, $93_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $1063(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $5_1 + 28 | 0 | 0); + $814(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + label$12 : { + if (!(HEAP32[($5_1 + 28 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + -1 | 0; + label$13 : while (1) { + $120_1 = 1; + label$14 : { + if ((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0) { + break label$14 + } + $120_1 = ($808(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + label$15 : { + if (!($120_1 & 1 | 0)) { + break label$15 + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + -1 | 0; + continue label$13; + } + break label$13; + }; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $140(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + $1063(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $5_1 + 28 | 0 | 0); + $814(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + $144_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $144_1 | 0; + } + + function $1021($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $11_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $13(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + $11_1 = $291(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = $11_1; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1022($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $127(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $152(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $151(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $12_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $12_1 | 0; + } + + function $1023($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $86$hi = 0, i64toi32_i32$3 = 0, $87$hi = 0, $88$hi = 0, $90$hi = 0, $70_1 = 0, $36_1 = 0, $45_1 = 0, $55_1 = 0, $73_1 = 0, $74_1 = 0, $82_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = 7; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) & 1 | 0)) { + break label$6 + } + $36_1 = $291(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = $36_1; + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + break label$5; + } + i64toi32_i32$0 = 0; + $86$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $87$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $88$hi = i64toi32_i32$1; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $90$hi = i64toi32_i32$0; + i64toi32_i32$0 = $86$hi; + i64toi32_i32$0 = $90$hi; + i64toi32_i32$0 = $86$hi; + i64toi32_i32$0 = $90$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $86$hi; + i64toi32_i32$3 = 0; + label$7 : { + label$8 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$8 + } + $45_1 = $694(128876 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = $45_1; + break label$7; + } + label$9 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 40 | 0) >> 2] = 5232; + } + $55_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($55_1 | 0, 8661 | 0, $5_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $70_1 = 24; + if (!(((HEAPU8[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 0] | 0) << $70_1 | 0) >> $70_1 | 0)) { + break label$10 + } + $73_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + $74_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $74_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($73_1 | 0, 8692 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $82_1 = $694(128883 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = $82_1; + } + } + } + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1024($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $47$hi = 0, $48$hi = 0, $49$hi = 0, $50$hi = 0, $21_1 = 0, $51$hi = 0, $52$hi = 0, $53$hi = 0, $56$hi = 0, $27_1 = 0, $37_1 = 0, $40_1 = 0, $47_1 = 0, $23_1 = 0, $50_1 = 0, $116_1 = 0; + $4_1 = global$0 - 32 | 0; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$2 + } + i64toi32_i32$0 = 1; + $47_1 = 0; + $47$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $49$hi = i64toi32_i32$1; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $48$hi; + $23_1 = i64toi32_i32$0; + i64toi32_i32$0 = $49$hi; + i64toi32_i32$0 = __wasm_i64_mul($23_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $50_1 = i64toi32_i32$0; + $50$hi = i64toi32_i32$1; + $21_1 = 24; + i64toi32_i32$0 = ((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $21_1 | 0) >> $21_1 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $51$hi; + $116_1 = i64toi32_i32$0; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$3 = $116_1; + i64toi32_i32$4 = $50_1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $52$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $53$hi = i64toi32_i32$5; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$5 = $53$hi; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$3 = 48; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) + $53$hi | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $56$hi = i64toi32_i32$1; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$4 = $47$hi; + i64toi32_i32$3 = $47_1; + label$4 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$4 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$4 | 0) & i64toi32_i32$5 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + $27_1 = 0; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = $27_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $27_1; + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$5 : { + label$6 : { + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$6 + } + $37_1 = 24; + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $37_1 | 0) >> $37_1 | 0)) { + break label$5 + } + } + $40_1 = 0; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = $40_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $40_1; + break label$1; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $1025($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $25_1 = 0, $61_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$4 + } + $25_1 = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) ^ 1 | 0; + break label$3; + } + $25_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 8 | 0) >> 2] = $25_1; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if ($1133(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + break label$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + break label$1; + } + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $61_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $61_1 | 0; + } + + function $1026($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1027($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0, $92_1 = 0, $12_1 = 0, $109_1 = 0, $126_1 = 0, $131_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 128 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 112 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 108 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 104 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[(HEAP32[($6_1 + 112 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($6_1 + 124 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $361(HEAP32[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 112 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 100 | 0) >> 2] = 0; + break label$5; + } + label$7 : { + label$8 : { + if ($87(HEAP32[(HEAP32[($6_1 + 112 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $416(HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + break label$7; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1025(HEAP32[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($6_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!((HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($6_1 + 88 | 0) >> 2] = 0; + HEAP32[($6_1 + 84 | 0) >> 2] = (HEAPU16[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) + 1 | 0; + $9_1 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $11_1 = (HEAPU8[($9_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($9_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 65531 | 0; + HEAP8[($9_1 + 55 | 0) >> 0] = $11_1; + HEAP8[($9_1 + 56 | 0) >> 0] = $11_1 >>> 8 | 0; + $92_1 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $1134(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($92_1 + 8 | 0) >> 2] | 0 | 0, $92_1 | 0); + $10_1 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $12_1 = HEAPU8[($10_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($10_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 128 | 0; + HEAP8[($10_1 + 55 | 0) >> 0] = $12_1; + HEAP8[($10_1 + 56 | 0) >> 0] = $12_1 >>> 8 | 0; + label$11 : { + if (!((HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP16[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 46 | 0) >> 1] = HEAPU16[(HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 1] | 0; + $109_1 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + HEAP32[($109_1 + 36 | 0) >> 2] = HEAP32[($109_1 + 36 | 0) >> 2] | 0 | 16 | 0; + } + break label$9; + } + HEAP16[($6_1 + 56 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0; + $1134(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, 1 | 0, 0 | 0, (HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 46 | 0 | 0, $6_1 + 8 | 0 | 0); + HEAP16[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 48 | 0) >> 1] = HEAPU16[($6_1 + 56 | 0) >> 1] | 0; + $126_1 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + HEAP32[($126_1 + 36 | 0) >> 2] = HEAP32[($126_1 + 36 | 0) >> 2] | 0 | 16 | 0; + } + HEAP32[($6_1 + 124 | 0) >> 2] = 0; + } + $131_1 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + global$0 = $6_1 + 128 | 0; + return $131_1 | 0; + } + + function $1028($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0, $28_1 = 0, $36_1 = 0, $48_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((5 | 0) < ((HEAPU16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = 5; + break label$1; + } + $17_1 = (HEAPU16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + } + HEAP32[($3_1 + 16 | 0) >> 2] = $17_1; + HEAP16[($3_1 + 22 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 46 | 0) >> 1] | 0; + $28_1 = 16; + label$3 : { + if (!((((HEAPU16[($3_1 + 22 | 0) >> 1] | 0) << $28_1 | 0) >> $28_1 | 0 | 0) < (99 | 0) & 1 | 0)) { + break label$3 + } + $36_1 = 99; + HEAP16[($3_1 + 22 | 0) >> 1] = $36_1; + HEAP16[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 46 | 0) >> 1] = $36_1; + } + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $48_1 = 16; + HEAP16[($3_1 + 22 | 0) >> 1] = (((HEAPU16[($3_1 + 22 | 0) >> 1] | 0) << $48_1 | 0) >> $48_1 | 0) - 10 | 0; + } + HEAP16[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 1] = HEAPU16[($3_1 + 22 | 0) >> 1] | 0; + $3288((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 2 | 0 | 0, 8842 | 0, (HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 1 | 0 | 0) | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 1 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) <= ((HEAPU16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = 23; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$7 : { + if (!((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$7 + } + HEAP16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] = 0; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $1029($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $3_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $1136(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $3_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : { + if (!((((HEAPU8[($3_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($3_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 4 | 0) & 1 | 0) & 65535 | 0)) { + break label$1 + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1030($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $10_1 = $362((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $10_1 | 0; + } + + function $1031($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $15_1 = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 3 | 0) | 0; + HEAP8[$15_1 >> 0] = (HEAPU8[$15_1 >> 0] | 0) & 255 | 0 | (1 << ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 7 | 0) | 0) | 0; + return; + } + + function $1032($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $12_1 = 0, $36_1 = 0, $78_1 = 0, $161_1 = 0, $163_1 = 0, $166_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (!(HEAP32[($6_1 + 68 | 0) >> 2] | 0)) { + break label$2 + } + $12_1 = (HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + label$4 : { + if (!($1145(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + break label$3; + } + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + -1 | 0; + label$5 : { + if (!($134(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, $6_1 + 48 | 0 | 0, 0 | 0) | 0)) { + break label$5 + } + $36_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + $1033($36_1 | 0, 9024 | 0, $6_1 + 16 | 0 | 0); + break label$3; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $135(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!(HEAP32[($6_1 + 72 | 0) >> 2] | 0)) { + break label$7 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + $1034(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, 2 & 255 | 0 | 0, 0 | 0); + } + label$9 : { + label$10 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 > (((HEAP32[((HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 2 | 0) - 2 | 0) >>> 0 & 1 | 0)) { + break label$10 + } + $78_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + $1033($78_1 | 0, 9046 | 0, $6_1 + 32 | 0 | 0); + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + -1 | 0; + break label$9; + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 60 | 0) >> 2] | 0) << 2 | 0) + 8 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$13 + } + $1034(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 2 & 255 | 0 | 0, 0 | 0); + } + $1145(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) - (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0; + } + break label$6; + } + label$14 : { + if (!((HEAPU8[((HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0)) { + break label$14 + } + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + $1034(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, 4 & 255 | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0); + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + $137(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + continue label$1; + } + break label$1; + }; + label$15 : { + if (!(HEAP32[($6_1 + 64 | 0) >> 2] | 0)) { + break label$15 + } + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + $161_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + $163_1 = HEAP32[($6_1 + 72 | 0) >> 2] | 0 ? 9111 : 9116; + $166_1 = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) - (HEAP32[($6_1 + 64 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $166_1; + HEAP32[$6_1 >> 2] = $163_1; + $1033($161_1 | 0, 9085 | 0, $6_1 | 0); + } + global$0 = $6_1 + 80 | 0; + return; + } + + function $1033($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $11_1 = 0, $15_1 = 0, $36_1 = 0, $38_1 = 0, $40_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + $11_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($11_1 + 16 | 0) >> 2] = (HEAP32[($11_1 + 16 | 0) >> 2] | 0) + -1 | 0; + $15_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($15_1 + 20 | 0) >> 2] = (HEAP32[($15_1 + 20 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$3 : { + if (!(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$3 + } + $51((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0 | 0, 9185 | 0, 1 | 0); + } + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $36_1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0; + $38_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $40_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $40_1; + $84($36_1 | 0, $38_1 | 0, $5_1 | 0); + } + $50((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 0] | 0) & 255 | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = 1; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1034($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $34_1 = 0, $55_1 = 0, $56_1 = 0, $59_1 = 0, $60_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP8[($6_1 + 55 | 0) >> 0] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $812(HEAP32[(HEAP32[($6_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, $6_1 + 43 | 0 | 0, $6_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 44 | 0) >> 2] | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if ((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == (3082 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] = 1; + } + $34_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $1033($34_1 | 0, 9187 | 0, $6_1 | 0); + break label$1; + } + label$5 : { + if (((HEAPU8[($6_1 + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[($6_1 + 55 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + } + $55_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $56_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $59_1 = (HEAPU8[($6_1 + 55 | 0) >> 0] | 0) & 255 | 0; + $60_1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + $63_1 = (HEAPU8[($6_1 + 43 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $63_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $60_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $59_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $56_1; + $1033($55_1 | 0, 9216 | 0, $6_1 + 16 | 0 | 0); + } + global$0 = $6_1 + 64 | 0; + return; + } + + function $1035($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $644$hi = 0, $645$hi = 0, $648$hi = 0, $649$hi = 0, $9_1 = 0, $37_1 = 0, $46_1 = 0, $53_1 = 0, $186_1 = 0, $40_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, $45_1 = 0, $38_1 = 0, $47_1 = 0, $54_1 = 0, $228_1 = 0, $229_1 = 0, $230_1 = 0, $644_1 = 0, $1263_1 = 0, $648_1 = 0, $1276_1 = 0, $280_1 = 0, $1288_1 = 0, $1298_1 = 0, $1537_1 = 0, $568_1 = 0, $571_1 = 0, $613_1 = 0, $614_1 = 0, $622_1 = 0, $640_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 288 | 0; + global$0 = $6_1; + $8_1 = 0; + $9_1 = 1; + HEAP32[($6_1 + 280 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 276 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 272 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 264 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 268 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 260 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 248 | 0) >> 2] = -1; + HEAP32[($6_1 + 220 | 0) >> 2] = $9_1; + HEAP32[($6_1 + 216 | 0) >> 2] = $9_1; + HEAP32[($6_1 + 184 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 176 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 172 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 164 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP8[($6_1 + 163 | 0) >> 0] = 0; + HEAP32[($6_1 + 200 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 280 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 192 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (HEAP32[($6_1 + 276 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($6_1 + 284 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!($1145(HEAP32[($6_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 276 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + HEAP32[($6_1 + 284 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 28 | 0) >> 2] = 9270; + HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($6_1 + 276 | 0) >> 2] | 0; + $37_1 = $201(HEAP32[($6_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 276 | 0) >> 2] | 0 | 0, $6_1 + 260 | 0 | 0, 0 | 0) | 0; + HEAP32[($6_1 + 252 | 0) >> 2] = $37_1; + label$4 : { + label$5 : { + if (!$37_1) { + break label$5 + } + $38_1 = HEAP32[($6_1 + 280 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 252 | 0) >> 2] | 0; + $1033($38_1 | 0, 9280 | 0, $6_1 | 0); + break label$4; + } + HEAP8[($6_1 + 163 | 0) >> 0] = HEAPU8[(HEAP32[($6_1 + 260 | 0) >> 2] | 0) >> 0] | 0; + HEAP8[(HEAP32[($6_1 + 260 | 0) >> 2] | 0) >> 0] = 0; + $46_1 = $626(HEAP32[($6_1 + 260 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 252 | 0) >> 2] = $46_1; + label$6 : { + if (!$46_1) { + break label$6 + } + $47_1 = HEAP32[($6_1 + 280 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 252 | 0) >> 2] | 0; + $1033($47_1 | 0, 9318 | 0, $6_1 + 16 | 0 | 0); + break label$4; + } + $53_1 = $1006(HEAP32[($6_1 + 260 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 252 | 0) >> 2] = $53_1; + label$7 : { + if (!$53_1) { + break label$7 + } + $54_1 = HEAP32[($6_1 + 280 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 252 | 0) >> 2] | 0; + $1033($54_1 | 0, 9356 | 0, $6_1 + 32 | 0 | 0); + break label$4; + } + HEAP32[($6_1 + 212 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($6_1 + 232 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0; + HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 28 | 0) >> 2] = 9378; + HEAP32[($6_1 + 188 | 0) >> 2] = (((((HEAPU8[((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) - 1 | 0) & 65535 | 0) + 1 | 0; + HEAP32[($6_1 + 224 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 3 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 3 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($6_1 + 228 | 0) >> 2] = ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 12 | 0) - (((HEAPU8[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0; + HEAP32[($6_1 + 204 | 0) >> 2] = (HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 228 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 224 | 0) >> 2] | 0) - 1 | 0) << 1 | 0) | 0) | 0; + label$8 : { + label$9 : { + if (((HEAPU8[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$9 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 8 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 28 | 0) >> 2] = 9404; + $1034(HEAP32[($6_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 240 | 0) >> 2] | 0 | 0, 5 & 255 | 0 | 0, HEAP32[($6_1 + 276 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 264 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 268 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1035(HEAP32[($6_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 240 | 0) >> 2] | 0 | 0, $6_1 + 264 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 248 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 216 | 0) >> 2] = 0; + break label$8; + } + HEAP32[($6_1 + 184 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 184 | 0) >> 2] | 0) >> 2] = 0; + } + HEAP32[($6_1 + 256 | 0) >> 2] = (HEAP32[($6_1 + 224 | 0) >> 2] | 0) - 1 | 0; + label$11 : while (1) { + $186_1 = 0; + label$12 : { + if (!((HEAP32[($6_1 + 256 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$12 + } + $186_1 = (HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$13 : { + if (!($186_1 & 1 | 0)) { + break label$13 + } + HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($6_1 + 256 | 0) >> 2] | 0; + HEAP32[($6_1 + 196 | 0) >> 2] = ((HEAPU8[(HEAP32[($6_1 + 204 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($6_1 + 204 | 0) >> 2] = (HEAP32[($6_1 + 204 | 0) >> 2] | 0) + -2 | 0; + label$14 : { + label$15 : { + label$16 : { + if ((HEAP32[($6_1 + 196 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 188 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$16 + } + if (!((HEAP32[($6_1 + 196 | 0) >> 2] | 0) >>> 0 > ((HEAP32[($6_1 + 192 | 0) >> 2] | 0) - 4 | 0) >>> 0 & 1 | 0)) { + break label$15 + } + } + $228_1 = HEAP32[($6_1 + 280 | 0) >> 2] | 0; + $229_1 = HEAP32[($6_1 + 196 | 0) >> 2] | 0; + $230_1 = HEAP32[($6_1 + 188 | 0) >> 2] | 0; + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAP32[($6_1 + 192 | 0) >> 2] | 0) - 4 | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = $230_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $229_1; + $1033($228_1 | 0, 9432 | 0, $6_1 + 48 | 0 | 0); + HEAP32[($6_1 + 220 | 0) >> 2] = 0; + break label$14; + } + HEAP32[($6_1 + 208 | 0) >> 2] = (HEAP32[($6_1 + 212 | 0) >> 2] | 0) + (HEAP32[($6_1 + 196 | 0) >> 2] | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 260 | 0) >> 2] | 0, HEAP32[($6_1 + 208 | 0) >> 2] | 0, $6_1 + 136 | 0); + label$17 : { + if (!(((HEAP32[($6_1 + 196 | 0) >> 2] | 0) + ((HEAPU16[($6_1 + 154 | 0) >> 1] | 0) & 65535 | 0) | 0) >>> 0 > (HEAP32[($6_1 + 192 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$17 + } + $1033(HEAP32[($6_1 + 280 | 0) >> 2] | 0 | 0, 9462 | 0, 0 | 0); + HEAP32[($6_1 + 220 | 0) >> 2] = 0; + break label$14; + } + label$18 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + label$19 : { + label$20 : { + label$21 : { + if (!(HEAP32[($6_1 + 216 | 0) >> 2] | 0)) { + break label$21 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + $644_1 = i64toi32_i32$1; + $644$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 264 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 268 | 0) >> 2] | 0; + $645$hi = i64toi32_i32$1; + i64toi32_i32$1 = $644$hi; + i64toi32_i32$1 = $645$hi; + i64toi32_i32$1 = $644$hi; + i64toi32_i32$1 = $645$hi; + $1263_1 = i64toi32_i32$0; + i64toi32_i32$1 = $644$hi; + i64toi32_i32$2 = $644_1; + i64toi32_i32$0 = $645$hi; + i64toi32_i32$3 = $1263_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $40_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $41_1 = 0 + } else { + $41_1 = 1 + } + $42_1 = $41_1; + } else { + $42_1 = 0 + } + $40_1 = $42_1; + } + if ($40_1 & 1 | 0) { + break label$20 + } + break label$19; + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + $648_1 = i64toi32_i32$2; + $648$hi = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 264 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 268 | 0) >> 2] | 0; + $649$hi = i64toi32_i32$2; + i64toi32_i32$2 = $648$hi; + i64toi32_i32$2 = $649$hi; + i64toi32_i32$2 = $648$hi; + i64toi32_i32$2 = $649$hi; + $1276_1 = i64toi32_i32$1; + i64toi32_i32$2 = $648$hi; + i64toi32_i32$3 = $648_1; + i64toi32_i32$1 = $649$hi; + i64toi32_i32$0 = $1276_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$1 | 0)) { + $43_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + $44_1 = 0 + } else { + $44_1 = 1 + } + $45_1 = $44_1; + } else { + $45_1 = 0 + } + $43_1 = $45_1; + } + if (!($43_1 & 1 | 0)) { + break label$19 + } + } + $280_1 = HEAP32[($6_1 + 280 | 0) >> 2] | 0; + i64toi32_i32$0 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + $1288_1 = i64toi32_i32$3; + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $1288_1; + HEAP32[($6_1 + 68 | 0) >> 2] = i64toi32_i32$2; + $1033($280_1 | 0, 9486 | 0, $6_1 + 64 | 0 | 0); + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + $1298_1 = i64toi32_i32$2; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 264 | 0) >> 2] = $1298_1; + HEAP32[($6_1 + 268 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($6_1 + 216 | 0) >> 2] = 0; + } + label$22 : { + if (!((HEAP32[($6_1 + 148 | 0) >> 2] | 0) >>> 0 > ((HEAPU16[($6_1 + 152 | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$22 + } + HEAP32[($6_1 + 132 | 0) >> 2] = (((((HEAP32[($6_1 + 148 | 0) >> 2] | 0) - ((HEAPU16[($6_1 + 152 | 0) >> 1] | 0) & 65535 | 0) | 0) + (HEAP32[($6_1 + 192 | 0) >> 2] | 0) | 0) - 5 | 0) >>> 0) / (((HEAP32[($6_1 + 192 | 0) >> 2] | 0) - 4 | 0) >>> 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161((HEAP32[($6_1 + 208 | 0) >> 2] | 0) + (((HEAPU16[($6_1 + 154 | 0) >> 1] | 0) & 65535 | 0) - 4 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$23 + } + $1034(HEAP32[($6_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0, 3 & 255 | 0 | 0, HEAP32[($6_1 + 276 | 0) >> 2] | 0 | 0); + } + $1032(HEAP32[($6_1 + 280 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0); + } + label$24 : { + label$25 : { + if (((HEAPU8[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$25 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161(HEAP32[($6_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$26 + } + $1034(HEAP32[($6_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 240 | 0) >> 2] | 0 | 0, 5 & 255 | 0 | 0, HEAP32[($6_1 + 276 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 264 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 268 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1035(HEAP32[($6_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 240 | 0) >> 2] | 0 | 0, $6_1 + 264 | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 244 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 216 | 0) >> 2] = 0; + label$27 : { + if (!((HEAP32[($6_1 + 244 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 248 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + $1033(HEAP32[($6_1 + 280 | 0) >> 2] | 0 | 0, 9510 | 0, 0 | 0); + HEAP32[($6_1 + 248 | 0) >> 2] = HEAP32[($6_1 + 244 | 0) >> 2] | 0; + } + break label$24; + } + $1146(HEAP32[($6_1 + 184 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 196 | 0) >> 2] | 0) << 16 | 0 | (((HEAP32[($6_1 + 196 | 0) >> 2] | 0) + ((HEAPU16[($6_1 + 154 | 0) >> 1] | 0) & 65535 | 0) | 0) - 1 | 0) | 0 | 0); + } + } + HEAP32[($6_1 + 256 | 0) >> 2] = (HEAP32[($6_1 + 256 | 0) >> 2] | 0) + -1 | 0; + continue label$11; + } + break label$11; + }; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 264 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 268 | 0) >> 2] | 0; + $1537_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($6_1 + 272 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $1537_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + label$28 : { + if (!(HEAP32[($6_1 + 220 | 0) >> 2] | 0)) { + break label$28 + } + if (!((HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$28 + } + label$29 : { + if (((HEAPU8[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$29 + } + HEAP32[($6_1 + 184 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 184 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($6_1 + 256 | 0) >> 2] = (HEAP32[($6_1 + 224 | 0) >> 2] | 0) - 1 | 0; + label$30 : { + label$31 : while (1) { + if (!((HEAP32[($6_1 + 256 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($6_1 + 196 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 228 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 256 | 0) >> 2] | 0) << 1 | 0) | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 228 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 256 | 0) >> 2] | 0) << 1 | 0) | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 260 | 0) >> 2] | 0, (HEAP32[($6_1 + 212 | 0) >> 2] | 0) + (HEAP32[($6_1 + 196 | 0) >> 2] | 0) | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + $1146(HEAP32[($6_1 + 184 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 196 | 0) >> 2] | 0) << 16 | 0 | (((HEAP32[($6_1 + 196 | 0) >> 2] | 0) + (HEAP32[($6_1 + 124 | 0) >> 2] | 0) | 0) - 1 | 0) | 0 | 0); + HEAP32[($6_1 + 256 | 0) >> 2] = (HEAP32[($6_1 + 256 | 0) >> 2] | 0) + -1 | 0; + continue label$31; + }; + } + } + HEAP32[($6_1 + 256 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$32 : { + label$33 : while (1) { + if (!((HEAP32[($6_1 + 256 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($6_1 + 120 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 256 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 256 | 0) >> 2] | 0) + 2 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + $1146(HEAP32[($6_1 + 184 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 256 | 0) >> 2] | 0) << 16 | 0 | (((HEAP32[($6_1 + 256 | 0) >> 2] | 0) + (HEAP32[($6_1 + 120 | 0) >> 2] | 0) | 0) - 1 | 0) | 0 | 0); + HEAP32[($6_1 + 116 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + (HEAP32[($6_1 + 256 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + (HEAP32[($6_1 + 256 | 0) >> 2] | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($6_1 + 256 | 0) >> 2] = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + continue label$33; + }; + } + HEAP32[($6_1 + 236 | 0) >> 2] = 0; + HEAP32[($6_1 + 176 | 0) >> 2] = (HEAP32[($6_1 + 188 | 0) >> 2] | 0) - 1 | 0; + label$34 : { + label$35 : while (1) { + if (!($1147(HEAP32[($6_1 + 184 | 0) >> 2] | 0 | 0, $6_1 + 180 | 0 | 0) | 0)) { + break label$34 + } + label$36 : { + if (!(((HEAP32[($6_1 + 176 | 0) >> 2] | 0) & 65535 | 0) >>> 0 >= ((HEAP32[($6_1 + 180 | 0) >> 2] | 0) >>> 16 | 0) >>> 0 & 1 | 0)) { + break label$36 + } + $568_1 = HEAP32[($6_1 + 280 | 0) >> 2] | 0; + $571_1 = (HEAP32[($6_1 + 180 | 0) >> 2] | 0) >>> 16 | 0; + HEAP32[($6_1 + 100 | 0) >> 2] = HEAP32[($6_1 + 276 | 0) >> 2] | 0; + HEAP32[($6_1 + 96 | 0) >> 2] = $571_1; + $1033($568_1 | 0, 9535 | 0, $6_1 + 96 | 0 | 0); + break label$34; + } + HEAP32[($6_1 + 236 | 0) >> 2] = (HEAP32[($6_1 + 236 | 0) >> 2] | 0) + ((((HEAP32[($6_1 + 180 | 0) >> 2] | 0) >>> 16 | 0) - ((HEAP32[($6_1 + 176 | 0) >> 2] | 0) & 65535 | 0) | 0) - 1 | 0) | 0; + HEAP32[($6_1 + 176 | 0) >> 2] = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + continue label$35; + }; + } + HEAP32[($6_1 + 236 | 0) >> 2] = (HEAP32[($6_1 + 236 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 192 | 0) >> 2] | 0) - ((HEAP32[($6_1 + 176 | 0) >> 2] | 0) & 65535 | 0) | 0) - 1 | 0) | 0; + label$37 : { + if (HEAP32[(HEAP32[($6_1 + 184 | 0) >> 2] | 0) >> 2] | 0) { + break label$37 + } + if (!((HEAP32[($6_1 + 236 | 0) >> 2] | 0 | 0) != ((HEAPU8[((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 7 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$37 + } + $613_1 = HEAP32[($6_1 + 280 | 0) >> 2] | 0; + $614_1 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $622_1 = (HEAPU8[((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 7 | 0) | 0) >> 0] | 0) & 255 | 0; + HEAP32[($6_1 + 88 | 0) >> 2] = HEAP32[($6_1 + 276 | 0) >> 2] | 0; + HEAP32[($6_1 + 84 | 0) >> 2] = $622_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $614_1; + $1033($613_1 | 0, 9572 | 0, $6_1 + 80 | 0 | 0); + } + } + } + label$38 : { + if (HEAP32[($6_1 + 220 | 0) >> 2] | 0) { + break label$38 + } + HEAP8[(HEAP32[($6_1 + 260 | 0) >> 2] | 0) >> 0] = HEAPU8[($6_1 + 163 | 0) >> 0] | 0; + } + $814(HEAP32[($6_1 + 260 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($6_1 + 172 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($6_1 + 164 | 0) >> 2] | 0; + HEAP32[($6_1 + 284 | 0) >> 2] = (HEAP32[($6_1 + 248 | 0) >> 2] | 0) + 1 | 0; + } + $640_1 = HEAP32[($6_1 + 284 | 0) >> 2] | 0; + global$0 = $6_1 + 288 | 0; + return $640_1 | 0; + } + + function $1036($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return ((HEAPU8[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 3 | 0) | 0) >> 0] | 0) & 255 | 0) & (1 << ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 7 | 0) | 0) | 0 | 0; + } + + function $1037($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0, i64toi32_i32$0 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $365(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 32 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $59(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] = $13_1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $13_1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = $13_1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $13_1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0; + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 1] = ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) - 32 | 0) >>> 4 | 0; + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 26 | 0) >> 1] = 1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = $13_1; + } + $36_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $36_1 | 0; + } + + function $1038($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $1041(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $13(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1039($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $30_1 = 0, $34_1 = 0, $35_1 = 0, i64toi32_i32$0 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $365(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 1016 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0; + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 1] = 63; + } + $30_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($30_1 + 24 | 0) >> 1] = (HEAPU16[($30_1 + 24 | 0) >> 1] | 0) + -1 | 0; + $34_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $35_1 = HEAP32[($34_1 + 16 | 0) >> 2] | 0; + HEAP32[($34_1 + 16 | 0) >> 2] = $35_1 + 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $35_1; + } + $38_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $38_1 | 0; + } + + function $1040($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0, $89_1 = 0, $100_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 176 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 172 | 0) >> 2] = $0_1; + $3289($3_1 | 0, 0 | 0, 160 | 0) | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 172 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $14_1 = 0; + HEAP32[($3_1 + 164 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 8 | 0) >> 2] = $14_1; + HEAP32[($3_1 + 168 | 0) >> 2] = $14_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + ((HEAP32[($3_1 + 168 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1044(HEAP32[($3_1 + ((HEAP32[($3_1 + 168 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 172 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + ((HEAP32[($3_1 + 168 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($3_1 + 168 | 0) >> 2] = (HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($3_1 + ((HEAP32[($3_1 + 168 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + HEAP32[($3_1 + 172 | 0) >> 2] = HEAP32[($3_1 + 164 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[($3_1 + 172 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + HEAP32[($3_1 + 168 | 0) >> 2] = 1; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($3_1 + 168 | 0) >> 2] | 0) >>> 0 < 40 >>> 0 & 1 | 0)) { + break label$5 + } + label$7 : { + label$8 : { + if (!((HEAP32[($3_1 + ((HEAP32[($3_1 + 168 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[($3_1 + 172 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $89_1 = $1044(HEAP32[($3_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + ((HEAP32[($3_1 + 168 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + break label$9; + } + $89_1 = HEAP32[($3_1 + ((HEAP32[($3_1 + 168 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($3_1 + 172 | 0) >> 2] = $89_1; + } + HEAP32[($3_1 + 168 | 0) >> 2] = (HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $100_1 = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + global$0 = $3_1 + 176 | 0; + return $100_1 | 0; + } + + function $1041($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $21_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + $13(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + continue label$2; + }; + } + $21_1 = 0; + HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] = $21_1; + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 1] = 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $21_1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = $21_1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $21_1; + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 26 | 0) >> 1] = 1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $1042($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0, $28_1 = 0, $33_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $5_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = $5_1; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = $5_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + $28_1 = $1148($3_1 + 12 | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = $28_1; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $33_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $33_1 | 0; + } + + function $1043($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $1043(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $5_1 | 0); + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $1043(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + break label$3; + } + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1044($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $45$hi = 0, $46$hi = 0, $49$hi = 0, $50$hi = 0, $17_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $18_1 = 0, $32_1 = 0, $45_1 = 0, $78_1 = 0, $49_1 = 0, $96_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $4_1 + 8 | 0; + label$1 : { + label$2 : while (1) { + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $45_1 = i64toi32_i32$0; + $45$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $46$hi = i64toi32_i32$0; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $46$hi; + $78_1 = i64toi32_i32$1; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$2 = $45_1; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$3 = $78_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $17_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $17_1 = $20_1; + } + label$3 : { + label$4 : { + if (!($17_1 & 1 | 0)) { + break label$4 + } + i64toi32_i32$3 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $49_1 = i64toi32_i32$2; + $49$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $50$hi = i64toi32_i32$2; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$2 = $50$hi; + $96_1 = i64toi32_i32$0; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$3 = $49_1; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$1 = $96_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $21_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $22_1 = 0 + } else { + $22_1 = 1 + } + $23_1 = $22_1; + } else { + $23_1 = 0 + } + $21_1 = $23_1; + } + label$5 : { + if (!($21_1 & 1 | 0)) { + break label$5 + } + $18_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = $18_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $18_1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + break label$1; + } + break label$3; + } + $32_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = $32_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $32_1; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + break label$1; + } + } + continue label$2; + }; + } + return HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0; + } + + function $1045($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $119(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 7; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1048(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $13(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + } + $29_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $29_1 | 0; + } + + function $1046($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1149(HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $12_1 = HEAP32[$4_1 >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $12_1 | 0; + } + + function $1047($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $1150(HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $1048($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $18_1 = 0, $24_1 = 0, $61_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $402(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0, $5_1 + 12 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + label$4 : while (1) { + $18_1 = $287(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $18_1; + if (!((100 | 0) == ($18_1 | 0) & 1 | 0)) { + break label$3 + } + $24_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $319(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $24_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != ($24_1 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!($3234(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 10305 | 0, 3 | 0) | 0)) { + break label$6 + } + if ($3234(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 10309 | 0, 3 | 0) | 0) { + break label$5 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1048(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$7 + } + break label$3; + } + } + continue label$4; + }; + } + label$8 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + } + label$9 : { + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$9 + } + $1021(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $380(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0); + } + $213(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + $61_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $61_1 | 0; + } + + function $1049($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0, $35_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $127(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + $17_1 = 0; + break label$1; + } + $17_1 = (((HEAPU8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0) & 1 | 0 ? 1 : 2; + } + HEAP32[($3_1 + 8 | 0) >> 2] = $17_1; + $35_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $35_1 | 0; + } + + function $1050($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $32_1 = 0, $33_1 = 0, $50_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP8[($4_1 + 15 | 0) >> 0] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $127(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$2 + } + if (!((((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0 ? 1 : 0) | 0) != ((HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 8; + break label$1; + } + $32_1 = 1; + $33_1 = 0; + HEAP8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 17 | 0) >> 0] = (HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0 ? $32_1 : $33_1; + HEAP8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 0] = ((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0 ? $32_1 : $33_1; + } + $50_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $50_1 | 0; + } + + function $1051($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $41_1 = 0, $75_1 = 0, $72$hi = 0, $73$hi = 0, $61_1 = 0, $12_1 = 0, $135_1 = 0, $69_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + $127(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + $127(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $143($9(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($4_1 + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = $131(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $72$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $73$hi = i64toi32_i32$0; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = $72$hi; + $12_1 = i64toi32_i32$1; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$1 = __wasm_i64_mul($12_1 | 0, i64toi32_i32$0 | 0, $133(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) | 0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $135_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $135_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $189(HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, 11 | 0, $4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) == (12 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 68 | 0) >> 2] = 0; + } + label$4 : { + if (!(HEAP32[($4_1 + 68 | 0) >> 2] | 0)) { + break label$4 + } + break label$1; + } + } + $41_1 = $4_1 + 16 | 0; + i64toi32_i32$0 = 0; + $75_1 = 0; + i64toi32_i32$1 = $41_1; + HEAP32[i64toi32_i32$1 >> 2] = $75_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $75_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $41_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $75_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $41_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $75_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $41_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $75_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $41_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $75_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = 1; + $126($41_1 | 0, 2147483647 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $195($41_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (HEAP32[($4_1 + 68 | 0) >> 2] | 0) { + break label$6 + } + $61_1 = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP16[($61_1 + 24 | 0) >> 1] = ((HEAPU16[($61_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -3 | 0; + break label$5; + } + $1151($9(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0); + } + } + $69_1 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $69_1 | 0; + } + + function $1052($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 19 | 0) >> 0] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + label$4 : { + label$5 : { + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $114(16 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + break label$4; + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + label$7 : { + if (!(((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) > ((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] = HEAPU8[($5_1 + 19 | 0) >> 0] | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $77_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $77_1 | 0; + } + + function $1053($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $41$hi = 0, $42$hi = 0, i64toi32_i32$4 = 0, $43$hi = 0, $44$hi = 0, $15_1 = 0, $47_1 = 0, $9_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = 5; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 336 | 0) >> 2] | 0 | 0) % (5 | 0) | 0) { + break label$2 + } + $9_1 = 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 336 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $41$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $42$hi = i64toi32_i32$0; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$3 = 5; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $43$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $44$hi = i64toi32_i32$5; + i64toi32_i32$5 = $43$hi; + i64toi32_i32$5 = $44$hi; + i64toi32_i32$5 = $43$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $44$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + $15_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $15_1 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + } + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $15_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$5 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $70(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != ($9_1 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$0 = 0; + $47_1 = 0; + i64toi32_i32$2 = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 336 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[i64toi32_i32$2 >> 2] = $47_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = 0; + i64toi32_i32$2 = i64toi32_i32$2 + 8 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $47_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 360 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $38_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $38_1 | 0; + } + + function $1054($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0, $9_1 = 0, $5_1 = 0, $7_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $7_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0; + $8_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $9_1 = HEAP32[($8_1 + 336 | 0) >> 2] | 0; + HEAP32[($8_1 + 336 | 0) >> 2] = $9_1 + 1 | 0; + HEAP32[($7_1 + ($9_1 << 2 | 0) | 0) >> 2] = $5_1; + $372(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1055($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, $155_1 = 0, $163_1 = 0, $190_1 = 0, $198_1 = 0, $236_1 = 0, $250_1 = 0, $260_1 = 0, $286_1 = 0, $318_1 = 0, $340_1 = 0, $349_1 = 0, $30_1 = 0, $34_1 = 0, $128_1 = 0, $133_1 = 0, $135_1 = 0, $140_1 = 0, $170_1 = 0, $171_1 = 0, $176_1 = 0, $358_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 160 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 152 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 148 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 144 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 140 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 136 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[($7_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($7_1 + 100 | 0) >> 2] = 0; + HEAP32[($7_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 356 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $30_1 = HEAP32[($7_1 + 152 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[(HEAP32[($7_1 + 148 | 0) >> 2] | 0) >> 2] | 0; + $34_1 = $351($30_1 | 0, 10332 | 0, $7_1 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $34_1; + HEAP32[($7_1 + 156 | 0) >> 2] = 6; + break label$1; + } + HEAP32[($7_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$3; + }; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $291(HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 148 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($7_1 + 156 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $114(28 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if ((HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + $118(HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0); + $13(HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 156 | 0) >> 2] = 7; + break label$1; + } + HEAP32[(HEAP32[($7_1 + 116 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 152 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 144 | 0) >> 2] | 0; + HEAP8[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $350(HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 92 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 124 | 0) >> 2] = HEAP32[($7_1 + 148 | 0) >> 2] | 0; + HEAP32[($7_1 + 120 | 0) >> 2] = HEAP32[($7_1 + 116 | 0) >> 2] | 0; + HEAP32[($7_1 + 128 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 356 | 0) >> 2] | 0; + HEAP32[($7_1 + 132 | 0) >> 2] = 0; + HEAP32[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 356 | 0) >> 2] = $7_1 + 120 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 152 | 0) >> 2] | 0, HEAP32[((HEAP32[($7_1 + 144 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0, HEAP32[($7_1 + 108 | 0) >> 2] | 0, (HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 8 | 0, $7_1 + 100 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 356 | 0) >> 2] = HEAP32[($7_1 + 128 | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$7 + } + $118(HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0); + } + label$8 : { + label$9 : { + if (!((0 | 0) != (HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + label$11 : { + if (!((HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + $128_1 = HEAP32[($7_1 + 152 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + $133_1 = $351($128_1 | 0, 10374 | 0, $7_1 + 16 | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $133_1; + break label$10; + } + $135_1 = HEAP32[($7_1 + 152 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 100 | 0) >> 2] | 0; + $140_1 = $351($135_1 | 0, 1976 | 0, $7_1 + 32 | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $140_1; + $42(HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0); + } + $13(HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0); + break label$8; + } + label$12 : { + if (!((HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $155_1 = HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + HEAP32[$155_1 >> 2] = 0; + HEAP32[($155_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($155_1 + 8 | 0) >> 2] = 0; + HEAP32[(HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 144 | 0) >> 2] | 0) >> 2] | 0; + $163_1 = HEAP32[($7_1 + 144 | 0) >> 2] | 0; + HEAP32[($163_1 + 8 | 0) >> 2] = (HEAP32[($163_1 + 8 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + label$13 : { + label$14 : { + if (HEAP32[($7_1 + 132 | 0) >> 2] | 0) { + break label$14 + } + HEAP32[($7_1 + 84 | 0) >> 2] = 10404; + $170_1 = HEAP32[($7_1 + 152 | 0) >> 2] | 0; + $171_1 = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 148 | 0) >> 2] | 0) >> 2] | 0; + $176_1 = $351($170_1 | 0, $171_1 | 0, $7_1 + 48 | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $176_1; + $841(HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 112 | 0) >> 2] = 1; + break label$13; + } + HEAP16[($7_1 + 78 | 0) >> 1] = 0; + HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($7_1 + 116 | 0) >> 2] | 0; + HEAP32[($7_1 + 80 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + $190_1 = 16; + if (!((HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $190_1 | 0) >> $190_1 | 0 | 0) & 1 | 0)) { + break label$15 + } + $198_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $503((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 80 | 0) >> 2] | 0, 20) | 0 | 0, 1352 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 64 | 0) >> 2] = $198_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $68(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 64 | 0) >> 2] = $198_1; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + label$19 : { + if (!((0 | 0) == ($89(10450 | 0, (HEAP32[($7_1 + 72 | 0) >> 2] | 0) + (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0 | 0, 6 | 0) | 0 | 0) & 1 | 0)) { + break label$19 + } + label$20 : { + if (!(HEAP32[($7_1 + 64 | 0) >> 2] | 0)) { + break label$20 + } + $236_1 = 24; + if (!((((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 64 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $236_1 | 0) >> $236_1 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$19 + } + } + $250_1 = 24; + label$21 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 6 | 0) | 0) >> 0] | 0) << $250_1 | 0) >> $250_1 | 0)) { + break label$21 + } + $260_1 = 24; + if (!((((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 6 | 0) | 0) >> 0] | 0) << $260_1 | 0) >> $260_1 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$19 + } + } + break label$17; + } + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + label$22 : { + label$23 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + $286_1 = 24; + HEAP32[($7_1 + 56 | 0) >> 2] = (((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 6 | 0) | 0) >> 0] | 0) << $286_1 | 0) >> $286_1 | 0 ? 1 : 0) + 6 | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + label$24 : { + label$25 : while (1) { + if (!(((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + (HEAP32[($7_1 + 56 | 0) >> 2] | 0) | 0 | 0) <= (HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + HEAP8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + (HEAP32[($7_1 + 60 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + (HEAP32[($7_1 + 56 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = (HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + $318_1 = 24; + label$26 : { + if (((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0) >> 0] | 0) << $318_1 | 0) >> $318_1 | 0) { + break label$26 + } + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$26 + } + HEAP8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 64 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] = 0; + } + $340_1 = (HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 80 | 0) >> 2] | 0, 20) | 0; + HEAP16[($340_1 + 16 | 0) >> 1] = (HEAPU16[($340_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0; + HEAP16[($7_1 + 78 | 0) >> 1] = 1024; + break label$22; + } + $349_1 = HEAP32[($7_1 + 148 | 0) >> 2] | 0; + HEAP32[($349_1 + 36 | 0) >> 2] = HEAP32[($349_1 + 36 | 0) >> 2] | 0 | ((HEAPU16[($7_1 + 78 | 0) >> 1] | 0) & 65535 | 0) | 0; + } + HEAP32[($7_1 + 80 | 0) >> 2] = (HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + } + } + } + $13(HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 156 | 0) >> 2] = HEAP32[($7_1 + 112 | 0) >> 2] | 0; + } + $358_1 = HEAP32[($7_1 + 156 | 0) >> 2] | 0; + global$0 = $7_1 + 160 | 0; + return $358_1 | 0; + } + + function $1056($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + label$1 : while (1) { + $15_1 = 0; + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = (HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($15_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + return HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $1057($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 32 | 0; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + break label$3; + } + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 364 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 364 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + continue label$2; + }; + } + return HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0; + } + + function $1058($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 156 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + return HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 156 | 0) >> 2] | 0 | 0; + } + + function $1059($0_1, $1_1, $1$hi) { + $0_1 = +$0_1; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $4_1 = 0, $19_1 = 0, $32$hi = 0, $36$hi = 0, $10_1 = 0, $30$hi = 0, $34$hi = 0, $18_1 = 0, $21_1 = 0, $22_1 = 0, $38$hi = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $30_1 = 0, $81$hi = 0, $20_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAPF64[($4_1 + 24 | 0) >> 3] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + HEAPF64[($4_1 + 8 | 0) >> 3] = +(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0); + $10_1 = 1; + label$1 : { + if (+HEAPF64[($4_1 + 24 | 0) >> 3] == +(0 | 0) & 1 | 0) { + break label$1 + } + i64toi32_i32$2 = $4_1 + 8 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $30_1 = i64toi32_i32$1; + $30$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1 + 24 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $81$hi = i64toi32_i32$1; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$3 = $30_1; + $19_1 = 0; + label$2 : { + if ((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) { + break label$2 + } + $20_1 = 0; + i64toi32_i32$2 = -524288; + $32$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $34$hi = i64toi32_i32$1; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $32$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $18_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + $21_1 = 0 + } else { + $21_1 = 1 + } + $22_1 = $21_1; + } else { + $22_1 = 0 + } + $18_1 = $22_1; + } + $19_1 = $20_1; + if (!($18_1 & 1 | 0)) { + break label$2 + } + i64toi32_i32$3 = 524288; + $36$hi = i64toi32_i32$3; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $38$hi = i64toi32_i32$1; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $36$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$3 | 0)) { + $23_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$2 >>> 0) { + $24_1 = 0 + } else { + $24_1 = 1 + } + $25_1 = $24_1; + } else { + $25_1 = 0 + } + $23_1 = $25_1; + } + $19_1 = $23_1; + } + $10_1 = $19_1; + } + return $10_1 & 1 | 0 | 0; + } + + function $1060($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $33_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = $392(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $17_1 = 0; + } + HEAP32[$4_1 >> 2] = $17_1; + label$3 : { + label$4 : { + if (!(HEAP32[$4_1 >> 2] | 0)) { + break label$4 + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = 1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$6 + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = 1; + break label$5; + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $33_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $33_1 | 0; + } + + function $1061($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $84_1 = 0, $93_1 = 0, $26_1 = 0, $102_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0) >>> 0 > ($165(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(66907 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $134(HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, $7_1 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($7_1 + 4 | 0) >> 2] | 0)) { + break label$4 + } + break label$2; + } + $26_1 = $167(HEAP32[$7_1 >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] = $26_1; + label$5 : { + label$6 : { + if ((HEAPU8[(HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + $791(HEAP32[$7_1 >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $626(HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($7_1 + 4 | 0) >> 2] | 0)) { + break label$7 + } + break label$5; + } + } + label$8 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (((HEAPU16[((HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) < (1 | 0) & 1 | 0) { + break label$9 + } + if (!(((HEAPU8[((HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 69 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(66928 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $814(HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$10 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $84_1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP8[($84_1 + 68 | 0) >> 0] = (HEAPU8[($84_1 + 68 | 0) >> 0] | 0) + -1 | 0; + $93_1 = 24; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 120 | 0) + ((((HEAPU8[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $93_1 | 0) >> $93_1 | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + } + $102_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $102_1 | 0; + } + + function $1062($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0, $6_1 = 0, $7_1 = 0, $26_1 = 0, $15_1 = 0, i64toi32_i32$0 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + $15_1 = $631(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] = $15_1; + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $5_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0; + $6_1 = 0; + HEAP8[$5_1 >> 0] = $6_1; + HEAP8[($5_1 + 1 | 0) >> 0] = $6_1 >>> 8 | 0; + HEAP8[($5_1 + 2 | 0) >> 0] = $6_1 >>> 16 | 0; + HEAP8[($5_1 + 3 | 0) >> 0] = $6_1 >>> 24 | 0; + $7_1 = i64toi32_i32$0; + HEAP8[($5_1 + 4 | 0) >> 0] = $7_1; + HEAP8[($5_1 + 5 | 0) >> 0] = $7_1 >>> 8 | 0; + HEAP8[($5_1 + 6 | 0) >> 0] = $7_1 >>> 16 | 0; + HEAP8[($5_1 + 7 | 0) >> 0] = $7_1 >>> 24 | 0; + $26_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($26_1 + 84 | 0) >> 2] = (HEAP32[($26_1 + 84 | 0) >> 2] | 0) + 4 | 0; + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1063($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + $12_1 = $1065(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = $12_1; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1064($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $749(HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $791(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $21_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $21_1 | 0; + } + + function $1065($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $74_1 = 0, $77_1 = 0, $204_1 = 0, $210_1 = 0, $245_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 < 2 >>> 0 & 1 | 0) { + break label$3 + } + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(70981 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $1066(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + break label$4; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1064(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$7 + } + break label$6; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $162((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0 | 0); + label$8 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0)) { + break label$8 + } + label$9 : { + label$10 : { + label$11 : { + if ((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$11 + } + $74_1 = $201(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0, 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $74_1; + if ($74_1) { + break label$10 + } + } + $77_1 = $145(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $77_1; + if (!$77_1) { + break label$9 + } + } + break label$6; + } + $3289(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + } + label$12 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$12 + } + $832(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 2 & 255 | 0 | 0, 0 | 0, $5_1 + 12 | 0 | 0); + label$13 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$13 + } + break label$6; + } + } + label$14 : { + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$14 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0 > ($165(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(71028 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$6; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $201(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $5_1 + 28 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$16 + } + break label$6; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0) >>> 0 > (((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 2 | 0) - 2 | 0) >>> 0 & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(71039 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$6; + } + label$18 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0) >>> 0 < (((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 2 | 0) - 8 | 0) >>> 0 & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$19 + } + $162((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0 | 0); + $162((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 2 | 0) + 8 | 0) | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0); + label$20 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + if (((HEAPU16[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0) { + break label$20 + } + $1067(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1068(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$6; + } + } + label$21 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$21 + } + $204_1 = 0; + $210_1 = $201(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0, $204_1 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $210_1; + if (!(($204_1 | 0) != ($210_1 | 0) & 1 | 0)) { + break label$21 + } + break label$6; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$22 + } + break label$6; + } + $162(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + $162((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0); + $162((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 32 | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0); + } + label$23 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + HEAP8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] = 0; + } + $814(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + $814(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $245_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $245_1 | 0; + } + + function $1066($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $1069(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1067($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $24_1 = 0, $30_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + if (((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$1 + } + if (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) { + break label$1 + } + $24_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($24_1 + 28 | 0) >> 1] = (HEAPU16[($24_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 16 | 0; + $30_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($30_1 + 28 | 0) >> 1] = ((HEAPU16[($30_1 + 28 | 0) >> 1] | 0) & 65535 | 0) & -5 | 0; + } + return; + } + + function $1068($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $16_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + if ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0) { + break label$1 + } + $16_1 = $516(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] = $16_1; + label$2 : { + if ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 7; + } + } + label$3 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 <= ($520(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $517(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $40_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $40_1 | 0; + } + + function $1069($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $9_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($4_1 + 30 | 0) >> 1] = (HEAPU16[($4_1 + 30 | 0) >> 1] | 0) + 1 | 0; + $9_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($9_1 + 12 | 0) >> 2] = (HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 1 | 0; + return; + } + + function $1070($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $242$hi = 0, $243$hi = 0, $246$hi = 0, $247$hi = 0, $6_1 = 0, $13_1 = 0, $17_1 = 0, $22_1 = 0, $35_1 = 0, $227$hi = 0, $108_1 = 0, $228$hi = 0, $229$hi = 0, $44_1 = 0, $230$hi = 0, $233$hi = 0, $234$hi = 0, $45_1 = 0, $235$hi = 0, $236$hi = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, $186_1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $194_1 = 0, $215_1 = 0, $298_1 = 0, $326_1 = 0, $367_1 = 0, $422_1 = 0, $227_1 = 0, $615_1 = 0, $619_1 = 0, $655_1 = 0, $242_1 = 0, $663_1 = 0, $246_1 = 0, $689_1 = 0, $220_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $6_1 + ((HEAPU8[$6_1 >> 0] | 0) & 63 | 0) | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAPU8[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + $13_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($13_1 | 0) { + case 1: + $17_1 = 24; + i64toi32_i32$1 = ((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) << $17_1 | 0) >> $17_1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $298_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $298_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$2; + case 2: + $22_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) << $22_1 | 0) >> $22_1 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $326_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $326_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$2; + case 3: + $35_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) << $35_1 | 0) >> $35_1 | 0) << 16 | 0 | (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $367_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $367_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$2; + case 4: + HEAP32[($5_1 + 32 | 0) >> 2] = ((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $422_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $422_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$2; + case 5: + i64toi32_i32$0 = 0; + $227_1 = ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) | 0; + $227$hi = i64toi32_i32$0; + $108_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) << $108_1 | 0) >> $108_1 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $228$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $229$hi = i64toi32_i32$0; + i64toi32_i32$0 = $228$hi; + i64toi32_i32$0 = $229$hi; + i64toi32_i32$0 = $228$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $229$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $44_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $44_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $230$hi = i64toi32_i32$1; + i64toi32_i32$1 = $227$hi; + i64toi32_i32$1 = $230$hi; + i64toi32_i32$1 = $227$hi; + i64toi32_i32$0 = $227_1; + i64toi32_i32$2 = $230$hi; + i64toi32_i32$3 = $44_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$5; + break label$2; + case 6: + i64toi32_i32$5 = 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = ((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $233$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $234$hi = i64toi32_i32$0; + i64toi32_i32$0 = $233$hi; + i64toi32_i32$0 = $234$hi; + i64toi32_i32$0 = $233$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $234$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $45_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$2 | 0) | 0; + $45_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $235$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $236$hi = i64toi32_i32$5; + i64toi32_i32$5 = $235$hi; + i64toi32_i32$5 = $236$hi; + i64toi32_i32$5 = $235$hi; + i64toi32_i32$0 = $45_1; + i64toi32_i32$1 = $236$hi; + i64toi32_i32$3 = ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + $615_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $615_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$5 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $619_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $619_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$2; + case 8: + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$2; + case 9: + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = 1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$2; + case 0: + case 7: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1000(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + default: + break label$3; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1000(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$5 = HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $655_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $655_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$5 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $242_1 = i64toi32_i32$1; + $242$hi = i64toi32_i32$0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $243$hi = i64toi32_i32$1; + i64toi32_i32$1 = $242$hi; + i64toi32_i32$1 = $243$hi; + i64toi32_i32$1 = $242$hi; + i64toi32_i32$1 = $243$hi; + $663_1 = i64toi32_i32$0; + i64toi32_i32$1 = $242$hi; + i64toi32_i32$5 = $242_1; + i64toi32_i32$0 = $243$hi; + i64toi32_i32$3 = $663_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $46_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$5 >>> 0 <= i64toi32_i32$3 >>> 0) { + $47_1 = 0 + } else { + $47_1 = 1 + } + $48_1 = $47_1; + } else { + $48_1 = 0 + } + $46_1 = $48_1; + } + label$13 : { + label$14 : { + if (!($46_1 & 1 | 0)) { + break label$14 + } + $186_1 = 24; + HEAP32[($5_1 + 36 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) << $186_1 | 0) >> $186_1 | 0; + break label$13; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $246_1 = i64toi32_i32$5; + $246$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $247$hi = i64toi32_i32$5; + i64toi32_i32$5 = $246$hi; + i64toi32_i32$5 = $247$hi; + i64toi32_i32$5 = $246$hi; + i64toi32_i32$5 = $247$hi; + $689_1 = i64toi32_i32$1; + i64toi32_i32$5 = $246$hi; + i64toi32_i32$3 = $246_1; + i64toi32_i32$1 = $247$hi; + i64toi32_i32$0 = $689_1; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$1 | 0)) { + $49_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $50_1 = 0 + } else { + $50_1 = 1 + } + $51_1 = $50_1; + } else { + $51_1 = 0 + } + $49_1 = $51_1; + } + label$15 : { + label$16 : { + if (!($49_1 & 1 | 0)) { + break label$16 + } + $194_1 = 24; + HEAP32[($5_1 + 36 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $194_1 | 0) >> $194_1 | 0; + break label$15; + } + label$17 : { + label$18 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $944(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$17; + } + $215_1 = 24; + HEAP32[($5_1 + 36 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) << $215_1 | 0) >> $215_1 | 0; + HEAP8[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 14 | 0) >> 0] = 1; + } + } + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + } + $220_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $220_1 | 0; + } + + function $1071($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $33_1 = 0, $41_1 = 0, $78_1 = 0, $98_1 = 0, $110_1 = 0, $137_1 = 0, $150_1 = 0, $155_1 = 0, $64_1 = 0, $159_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + label$1 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) >= (128 | 0) & 1 | 0)) { + break label$1 + } + $902((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0 | 0, $5_1 + 24 | 0 | 0) | 0; + } + label$2 : { + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (12 | 0) & 1 | 0)) { + break label$4 + } + $33_1 = 24; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) << $33_1 | 0) >> $33_1 | 0; + break label$3; + } + label$5 : { + label$6 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) & 1 | 0) { + break label$6 + } + $41_1 = 24; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $41_1 | 0) >> $41_1 | 0; + break label$5; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 12 | 0 | 0) / (2 | 0) | 0; + label$7 : { + if (!(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $64_1 = $694(82799 | 0) | 0; + HEAP8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 11 | 0) >> 0] = $64_1; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$2; + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $78_1 = HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$8; + } + $78_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = $78_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3228((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$11 + } + $98_1 = 24; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $98_1 | 0) >> $98_1 | 0; + break label$10; + } + label$12 : { + label$13 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$13 + } + $110_1 = 24; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) << $110_1 | 0) >> $110_1 | 0; + break label$12; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) - (HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + label$14 : { + label$15 : { + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$15 + } + label$16 : { + label$17 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $944(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$16; + } + $137_1 = 24; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) << $137_1 | 0) >> $137_1 | 0; + HEAP8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 14 | 0) >> 0] = 1; + } + break label$14; + } + label$18 : { + label$19 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$19 + } + $150_1 = 24; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $150_1 | 0) >> $150_1 | 0; + break label$18; + } + $155_1 = 24; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) << $155_1 | 0) >> $155_1 | 0; + } + } + } + } + } + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + $159_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $159_1 | 0; + } + + function $1072($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $28_1 = 0, $105_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 16 | 0) >> 2] = 0; + label$4 : while (1) { + $28_1 = 0; + label$5 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $28_1 = ((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + label$6 : { + if (!($28_1 & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + label$7 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($7_1 + 12 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $3289((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0 | 0, 0 | 0, (HEAP32[($7_1 + 24 | 0) >> 2] | 0) - (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0 | 0) | 0; + } + break label$2; + } + label$9 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1072(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($7_1 + 24 | 0) >> 2] | 0) - (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$10 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + } + label$11 : { + if (!($3228(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($7_1 + 4 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $3290(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + } + $105_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $105_1 | 0; + } + + function $1073($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $61_1 = 0, $304_1 = 0, $481_1 = 0, $484_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP16[($5_1 + 38 | 0) >> 1] = $1_1; + HEAP16[($5_1 + 36 | 0) >> 1] = $2_1; + HEAP8[($5_1 + 30 | 0) >> 0] = 0; + HEAP16[($5_1 + 28 | 0) >> 1] = HEAPU16[($5_1 + 36 | 0) >> 1] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0) + ((HEAPU16[($5_1 + 36 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP8[($5_1 + 31 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0; + HEAP16[($5_1 + 34 | 0) >> 1] = ((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 1 | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + HEAP16[($5_1 + 32 | 0) >> 1] = 0; + break label$2; + } + label$4 : { + label$5 : while (1) { + $61_1 = ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP16[($5_1 + 32 | 0) >> 1] = $61_1; + if (!(($61_1 & 65535 | 0 | 0) < ((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!(((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0 | 0) < (((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) + 4 | 0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if ((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) { + break label$7 + } + break label$4; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66467 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP16[($5_1 + 34 | 0) >> 1] = HEAPU16[($5_1 + 32 | 0) >> 1] | 0; + continue label$5; + }; + } + label$8 : { + if (!(((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) >>> 0 > ((HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 4 | 0) >>> 0 & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66472 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$9 : { + if (!((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0)) { + break label$9 + } + if (!(((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 3 | 0) >>> 0 >= ((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$9 + } + HEAP8[($5_1 + 30 | 0) >> 0] = ((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) - (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0; + label$10 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 0 > ((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66484 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) + (((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) + 2 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) + 2 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0; + label$11 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66487 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP16[($5_1 + 36 | 0) >> 1] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) - ((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP16[($5_1 + 32 | 0) >> 1] = ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + } + label$12 : { + if (!(((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0 | 0) > (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) + (((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) + 2 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) + 2 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0; + label$13 : { + if (!(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 3 | 0 | 0) >= ((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) > ((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66500 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP8[($5_1 + 30 | 0) >> 0] = ((HEAPU8[($5_1 + 30 | 0) >> 0] | 0) & 255 | 0) + (((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0) - (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) | 0; + HEAP16[($5_1 + 36 | 0) >> 1] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) - ((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP16[($5_1 + 38 | 0) >> 1] = HEAPU16[($5_1 + 34 | 0) >> 1] | 0; + } + } + label$15 : { + if (!(((HEAPU8[($5_1 + 30 | 0) >> 0] | 0) & 255 | 0 | 0) > ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 7 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66506 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $304_1 = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 7 | 0) | 0; + HEAP8[$304_1 >> 0] = ((HEAPU8[$304_1 >> 0] | 0) & 255 | 0) - ((HEAPU8[($5_1 + 30 | 0) >> 0] | 0) & 255 | 0) | 0; + } + HEAP16[($5_1 + 26 | 0) >> 1] = ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$16 : { + label$17 : { + if (!(((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0 | 0) <= ((HEAPU16[($5_1 + 26 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$17 + } + label$18 : { + if (!(((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0 | 0) < ((HEAPU16[($5_1 + 26 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66514 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$19 : { + if (!(((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0 | 0) != (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$19 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66515 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 1 | 0) | 0) >> 0] = ((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) >> 8 | 0; + HEAP8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 1 | 0) | 0) + 1 | 0) >> 0] = HEAPU16[($5_1 + 32 | 0) >> 1] | 0; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 5 | 0) | 0) >> 0] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 8 | 0; + HEAP8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 5 | 0) | 0) + 1 | 0) >> 0] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$16; + } + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) | 0) >> 0] = ((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0) >> 8 | 0; + HEAP8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) | 0) + 1 | 0) >> 0] = HEAPU16[($5_1 + 38 | 0) >> 1] | 0; + } + label$20 : { + if (!(((HEAPU16[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 12 | 0)) { + break label$20 + } + $3289((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0, 0 | 0, (HEAPU16[($5_1 + 36 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + } + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0) | 0) >> 0] = ((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) >> 8 | 0; + HEAP8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0) | 0) + 1 | 0) >> 0] = HEAPU16[($5_1 + 32 | 0) >> 1] | 0; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0) + 2 | 0) | 0) >> 0] = ((HEAPU16[($5_1 + 36 | 0) >> 1] | 0) & 65535 | 0) >> 8 | 0; + HEAP8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0) + 2 | 0) | 0) + 1 | 0) >> 0] = HEAPU16[($5_1 + 36 | 0) >> 1] | 0; + $481_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($481_1 + 20 | 0) >> 2] = (HEAP32[($481_1 + 20 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 28 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $484_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $484_1 | 0; + } + + function $1074($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $103_1 = 0, $142_1 = 0, $129_1 = 0, $198_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAPU16[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) + (((HEAPU16[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (65536 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 20 | 0) >> 2] = 65536; + break label$3; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66371 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + label$5 : { + label$6 : { + if ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + if (!((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0)) { + break label$5 + } + } + if (!(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 2 | 0 | 0) <= (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1079(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $103_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $103_1; + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = $103_1; + label$8 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66389 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$9 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + break label$1; + } + } + label$10 : { + if (!((((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 2 | 0) + (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $129_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + label$11 : { + label$12 : { + if (!((4 | 0) < ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 2 | 0) | 0 | 0) & 1 | 0)) { + break label$12 + } + $142_1 = 4; + break label$11; + } + $142_1 = (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 2 | 0) | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1080($129_1 | 0, $142_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (((((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) - 1 | 0) & 65535 | 0) + 1 | 0; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) - (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 8 | 0; + HEAP8[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $198_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $198_1 | 0; + } + + function $1075($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + if ((HEAPU8[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(73102 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $39_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $39_1 | 0; + } + + function $1076($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $12_1 = 0, $102_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + $12_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $813(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $4_1 + 12 | 0 | 0, $4_1 + 8 | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $12_1 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $1082(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0); + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != ($12_1 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $832(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 5 & 255 | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0); + } + } + label$3 : { + label$4 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + $814(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$3; + } + $3288((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0 | 0, ((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) << 1 | 0 | 0) | 0; + $3288((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0 | 0, ((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) << 2 | 0 | 0) | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0; + $785(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, ((HEAPU8[(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & -9 | 0 | 0); + $162((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $102_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $102_1 | 0; + } + + function $1077($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $29_1 = 0, $152_1 = 0, $160_1 = 0, $173_1 = 0, $176_1 = 0, $177_1 = 0, $184_1 = 0, $221_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 112 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAPU16[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(72024 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $813(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, $5_1 + 88 | 0 | 0, $5_1 + 80 | 0 | 0, 0 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($5_1 + 84 | 0) >> 2] | 0) { + break label$3 + } + $29_1 = 1; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 100 | 0) >> 2] | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0) | 0), HEAP16[(wasm2js_i32$0 + 70 | 0) >> 1] = wasm2js_i32$1; + $785(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, 13 | 0); + HEAP32[$5_1 >> 2] = $29_1; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $5_1 + 72 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $5_1 + 70 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = 2; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1083($5_1 | 0, 0 | 0, $29_1 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($5_1 + 84 | 0) >> 2] | 0)) { + break label$4 + } + $814(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 108 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] = (((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - ((HEAPU16[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) | 0) - 2 | 0) - ((HEAPU16[($5_1 + 70 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$5 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $832(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, 5 & 255 | 0 | 0, HEAP32[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $5_1 + 84 | 0 | 0); + label$6 : { + if (!(((HEAPU16[($5_1 + 70 | 0) >> 1] | 0) & 65535 | 0 | 0) > ((HEAPU16[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$6 + } + $835(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, $5_1 + 84 | 0 | 0); + } + } + HEAP32[($5_1 + 72 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 9 | 0; + label$7 : while (1) { + $152_1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $152_1 + 1 | 0; + $160_1 = 0; + label$8 : { + if (!(((HEAPU8[$152_1 >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$8 + } + $160_1 = (HEAP32[($5_1 + 72 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 64 | 0) >> 2] | 0) >>> 0; + } + label$9 : { + if (!($160_1 & 1 | 0)) { + break label$9 + } + continue label$7; + } + break label$7; + }; + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 9 | 0; + label$10 : while (1) { + $173_1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $173_1 + 1 | 0; + $176_1 = HEAPU8[$173_1 >> 0] | 0; + $177_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $177_1 + 1 | 0; + HEAP8[$177_1 >> 0] = $176_1; + $184_1 = 0; + label$11 : { + if (!(($176_1 & 255 | 0) & 128 | 0)) { + break label$11 + } + $184_1 = (HEAP32[($5_1 + 72 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 64 | 0) >> 2] | 0) >>> 0; + } + label$12 : { + if (!($184_1 & 1 | 0)) { + break label$12 + } + continue label$10; + } + break label$10; + }; + label$13 : { + if (HEAP32[($5_1 + 84 | 0) >> 2] | 0) { + break label$13 + } + $1010(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 76 | 0) >> 2] | 0) - (HEAP32[($5_1 + 96 | 0) >> 2] | 0) | 0 | 0, 0 | 0, HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $5_1 + 84 | 0 | 0); + } + $162((HEAP32[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0); + $814(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 108 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + } + $221_1 = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + global$0 = $5_1 + 112 | 0; + return $221_1 | 0; + } + + function $1078($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $63_1 = 0, $64_1 = 0, i64toi32_i32$1 = 0, $65_1 = 0, $66_1 = 0, $67_1 = 0, $68_1 = 0, $69_1 = 0, $70_1 = 0, $71_1 = 0, $72_1 = 0, $73_1 = 0, $213_1 = 0, $247_1 = 0, $363_1 = 0, i64toi32_i32$0 = 0, $791_1 = 0, $1865_1 = 0, $135_1 = 0, $188_1 = 0, $414_1 = 0, $790_1 = 0, $798_1 = 0, $807_1 = 0, $825_1 = 0, $859_1 = 0, $887_1 = 0, $959_1 = 0, $1075_1 = 0, $1122_1 = 0, $1128_1 = 0, $1188_1 = 0, $1194_1 = 0, $1239_1 = 0, $1284_1 = 0, $1315_1 = 0, $1442_1 = 0, $1478_1 = 0, $1514_1 = 0, $1522_1 = 0, $1541_1 = 0, $1615_1 = 0, $1627_1 = 0, $1656_1 = 0, $1699_1 = 0, $1722_1 = 0, $1766_1 = 0, $1825_1 = 0, $1866_1 = 0, $1914_1 = 0, $1964_1 = 0, $2204_1 = 0, $2254_1 = 0, $2283_1 = 0, $2288_1 = 0, $2338_1 = 0, $2375_1 = 0, $2409_1 = 0, $2454_1 = 0, $236_1 = 0, $311_1 = 0, $789_1 = 0, $955_1 = 0, $1267_1 = 0, $1461_1 = 0, $1538_1 = 0, $2494_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 544 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 536 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 532 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 528 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 524 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 520 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 512 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 508 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 484 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 464 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 460 | 0) >> 2] = $8_1; + $63_1 = $7_1 + 307 | 0; + $64_1 = 0; + HEAP8[$63_1 >> 0] = $64_1; + HEAP8[($63_1 + 1 | 0) >> 0] = $64_1 >>> 8 | 0; + HEAP8[($63_1 + 2 | 0) >> 0] = $64_1 >>> 16 | 0; + HEAP8[($63_1 + 3 | 0) >> 0] = $64_1 >>> 24 | 0; + HEAP8[($63_1 + 4 | 0) >> 0] = $64_1; + HEAP32[($7_1 + 160 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 168 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 516 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[($7_1 + 528 | 0) >> 2] | 0 | 0) != ($8_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($7_1 + 540 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($7_1 + 500 | 0) >> 2] = ((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) + ((HEAPU16[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 488 | 0) >> 2] = 0; + break label$3; + } + label$5 : { + label$6 : { + if (HEAP32[($7_1 + 532 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($7_1 + 488 | 0) >> 2] = 0; + break label$5; + } + label$7 : { + label$8 : { + if (!((HEAP32[($7_1 + 532 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 488 | 0) >> 2] = ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) - 2 | 0) + (HEAP32[($7_1 + 520 | 0) >> 2] | 0) | 0; + break label$7; + } + HEAP32[($7_1 + 488 | 0) >> 2] = (HEAP32[($7_1 + 532 | 0) >> 2] | 0) - 1 | 0; + } + } + HEAP32[($7_1 + 500 | 0) >> 2] = 2 - (HEAP32[($7_1 + 520 | 0) >> 2] | 0) | 0; + } + HEAP32[($7_1 + 504 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + label$9 : { + label$10 : { + if (!((((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + (HEAP32[($7_1 + 488 | 0) >> 2] | 0) | 0) - ((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0 | 0) == ((HEAPU16[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 412 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0; + break label$9; + } + HEAP32[($7_1 + 412 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + (HEAP32[($7_1 + 488 | 0) >> 2] | 0) | 0) - ((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + (HEAP32[($7_1 + 488 | 0) >> 2] | 0) | 0) - ((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161(HEAP32[($7_1 + 412 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 312 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + label$12 : while (1) { + $135_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1061(HEAP32[($7_1 + 516 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 312 | 0) >> 2] | 0 | 0, ($7_1 + 444 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, $135_1 | 0, $135_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($7_1 + 484 | 0) >> 2] | 0)) { + break label$13 + } + $3289($7_1 + 444 | 0 | 0, 0 | 0, ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0) << 2 | 0 | 0) | 0; + break label$11; + } + label$14 : { + if (!((HEAP32[((HEAP32[(($7_1 + 444 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1006(HEAP32[(($7_1 + 444 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!(HEAP32[($7_1 + 484 | 0) >> 2] | 0)) { + break label$15 + } + $3289($7_1 + 444 | 0 | 0, 0 | 0, (HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + break label$11; + } + } + $188_1 = HEAP32[($7_1 + 500 | 0) >> 2] | 0; + HEAP32[($7_1 + 500 | 0) >> 2] = $188_1 + -1 | 0; + label$16 : { + label$17 : { + if ($188_1) { + break label$17 + } + break label$16; + } + label$18 : { + label$19 : { + if (!((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0)) { + break label$19 + } + if (!(((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + (HEAP32[($7_1 + 488 | 0) >> 2] | 0) | 0 | 0) == ((HEAPU16[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$19 + } + $213_1 = $7_1 + 404 | 0; + HEAP32[($213_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161(HEAP32[($213_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 312 | 0) >> 2] = wasm2js_i32$1; + $236_1 = (FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 536 | 0) >> 2] | 0, HEAP32[($213_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0) & 65535 | 0; + HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $236_1; + HEAP8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 12 | 0) >> 0] = 0; + break label$18; + } + $247_1 = $7_1 + 404 | 0; + HEAP32[($247_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + (HEAP32[($7_1 + 488 | 0) >> 2] | 0) | 0) - ((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + (HEAP32[($7_1 + 488 | 0) >> 2] | 0) | 0) - ((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161(HEAP32[($247_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 312 | 0) >> 2] = wasm2js_i32$1; + $311_1 = (FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 536 | 0) >> 2] | 0, HEAP32[($247_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0) & 65535 | 0; + HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $311_1; + label$20 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 516 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 12 | 0)) { + break label$20 + } + HEAP32[($7_1 + 156 | 0) >> 2] = (HEAP32[(($7_1 + 404 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0; + label$21 : { + if (!(((HEAP32[($7_1 + 156 | 0) >> 2] | 0) + (HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($7_1 + 516 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(72381 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + $3289($7_1 + 444 | 0 | 0, 0 | 0, ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0) << 2 | 0 | 0) | 0; + break label$11; + } + $363_1 = $7_1 + 404 | 0; + $3288((HEAP32[($7_1 + 528 | 0) >> 2] | 0) + (HEAP32[($7_1 + 156 | 0) >> 2] | 0) | 0 | 0, HEAP32[($363_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[($363_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($7_1 + 528 | 0) >> 2] | 0) + ((HEAP32[($363_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0) | 0; + } + $1009(HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + (HEAP32[($7_1 + 488 | 0) >> 2] | 0) | 0) - ((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0 | 0, HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $7_1 + 484 | 0 | 0); + } + continue label$12; + } + break label$12; + }; + $414_1 = 0; + HEAP32[($7_1 + 512 | 0) >> 2] = Math_imul(HEAP32[($7_1 + 504 | 0) >> 2] | 0, ((((HEAP32[((HEAP32[($7_1 + 516 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) - 8 | 0) >>> 0) / (6 >>> 0) | 0) + 4 | 0); + HEAP32[($7_1 + 512 | 0) >> 2] = ((HEAP32[($7_1 + 512 | 0) >> 2] | 0) + 3 | 0) & -4 | 0; + HEAP32[($7_1 + 456 | 0) >> 2] = (((HEAP32[($7_1 + 512 | 0) >> 2] | 0) << 2 | 0) + ((HEAP32[($7_1 + 512 | 0) >> 2] | 0) << 1 | 0) | 0) + (HEAP32[((HEAP32[($7_1 + 516 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 456 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $64($414_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!((HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0) == ($414_1 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($7_1 + 484 | 0) >> 2] = 7; + break label$11; + } + HEAP32[($7_1 + 172 | 0) >> 2] = (HEAP32[($7_1 + 168 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 512 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($7_1 + 316 | 0) >> 2] = (HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 512 | 0) >> 2] | 0) << 1 | 0) | 0; + HEAP32[($7_1 + 164 | 0) >> 2] = HEAP32[($7_1 + 444 | 0) >> 2] | 0; + HEAP16[($7_1 + 482 | 0) >> 1] = ((HEAPU8[((HEAP32[($7_1 + 164 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) << 2 | 0; + HEAP32[($7_1 + 476 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 164 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($7_1 + 500 | 0) >> 2] = 0; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 504 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($7_1 + 152 | 0) >> 2] = HEAP32[(($7_1 + 444 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 148 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($7_1 + 144 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP16[($7_1 + 142 | 0) >> 1] = HEAPU16[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0; + HEAP32[($7_1 + 136 | 0) >> 2] = (HEAP32[($7_1 + 144 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$25 : { + if (!(((HEAPU8[(HEAP32[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[(HEAP32[((HEAP32[($7_1 + 444 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$25 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(72448 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + $3289((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 1 | 0) | 0 | 0, 0 | 0, ((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0) << 1 | 0 | 0) | 0; + label$26 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$26 + } + label$27 : { + if (!((HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$27 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(72472 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + HEAP32[($7_1 + 148 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($7_1 + 496 | 0) >> 2] = 0; + label$28 : { + label$29 : while (1) { + if (!((HEAP32[($7_1 + 496 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($7_1 + 144 | 0) >> 2] | 0) + (((HEAPU16[($7_1 + 142 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + HEAP32[($7_1 + 136 | 0) >> 2] = (HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 2 | 0; + HEAP32[($7_1 + 160 | 0) >> 2] = (HEAP32[($7_1 + 160 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 496 | 0) >> 2] = (HEAP32[($7_1 + 496 | 0) >> 2] | 0) + 1 | 0; + continue label$29; + }; + } + HEAP32[($7_1 + 492 | 0) >> 2] = 0; + label$30 : { + label$31 : while (1) { + if (!((HEAP32[($7_1 + 492 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 492 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 160 | 0) >> 2] = (HEAP32[($7_1 + 160 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 492 | 0) >> 2] = (HEAP32[($7_1 + 492 | 0) >> 2] | 0) + 1 | 0; + continue label$31; + }; + } + } + HEAP32[($7_1 + 132 | 0) >> 2] = ((HEAP32[($7_1 + 144 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) | 0) + (((HEAPU16[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0; + label$32 : { + label$33 : while (1) { + if (!((HEAP32[($7_1 + 136 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 132 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$32 + } + HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($7_1 + 144 | 0) >> 2] | 0) + (((HEAPU16[($7_1 + 142 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + HEAP32[($7_1 + 136 | 0) >> 2] = (HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 2 | 0; + HEAP32[($7_1 + 160 | 0) >> 2] = (HEAP32[($7_1 + 160 | 0) >> 2] | 0) + 1 | 0; + continue label$33; + }; + } + HEAP32[(($7_1 + 352 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + label$34 : { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < ((HEAP32[($7_1 + 504 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$34 + } + if (HEAP32[($7_1 + 476 | 0) >> 2] | 0) { + break label$34 + } + HEAP16[($7_1 + 130 | 0) >> 1] = HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAPU16[($7_1 + 130 | 0) >> 1] | 0; + HEAP32[($7_1 + 124 | 0) >> 2] = (HEAP32[($7_1 + 316 | 0) >> 2] | 0) + (HEAP32[($7_1 + 464 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 464 | 0) >> 2] = (HEAP32[($7_1 + 464 | 0) >> 2] | 0) + ((HEAPU16[($7_1 + 130 | 0) >> 1] | 0) & 65535 | 0) | 0; + $3288(HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[(($7_1 + 404 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, (HEAPU16[($7_1 + 130 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($7_1 + 124 | 0) >> 2] | 0) + ((HEAPU16[($7_1 + 482 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = ((HEAPU16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) - ((HEAPU16[($7_1 + 482 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$35 : { + label$36 : { + if (((HEAPU8[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$36 + } + $65_1 = (HEAP32[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 8 | 0; + $66_1 = HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $67_1 = HEAPU8[$65_1 >> 0] | 0 | ((HEAPU8[($65_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($65_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($65_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$66_1 >> 0] = $67_1; + HEAP8[($66_1 + 1 | 0) >> 0] = $67_1 >>> 8 | 0; + HEAP8[($66_1 + 2 | 0) >> 0] = $67_1 >>> 16 | 0; + HEAP8[($66_1 + 3 | 0) >> 0] = $67_1 >>> 24 | 0; + break label$35; + } + label$37 : { + label$38 : while (1) { + if (!(((HEAPU16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$37 + } + $789_1 = HEAP32[($7_1 + 316 | 0) >> 2] | 0; + $790_1 = HEAP32[($7_1 + 464 | 0) >> 2] | 0; + $791_1 = 1; + HEAP32[($7_1 + 464 | 0) >> 2] = $790_1 + $791_1 | 0; + HEAP8[($789_1 + $790_1 | 0) >> 0] = 0; + $798_1 = (HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << $791_1 | 0) | 0; + HEAP16[$798_1 >> 1] = (HEAPU16[$798_1 >> 1] | 0) + $791_1 | 0; + continue label$38; + }; + } + } + HEAP32[($7_1 + 160 | 0) >> 2] = (HEAP32[($7_1 + 160 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$24; + }; + } + $807_1 = 0; + HEAP32[($7_1 + 472 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 516 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 12 | 0) + ((HEAPU16[($7_1 + 482 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP32[($7_1 + 492 | 0) >> 2] = $807_1; + HEAP32[($7_1 + 500 | 0) >> 2] = $807_1; + label$39 : { + label$40 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 504 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$39 + } + $825_1 = $7_1 + 160 | 0; + HEAP32[($7_1 + 120 | 0) >> 2] = HEAP32[(($7_1 + 444 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(($825_1 + 16 | 0) + ((HEAP32[($7_1 + 492 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[(($825_1 + 40 | 0) + ((HEAP32[($7_1 + 492 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(($7_1 + 352 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$41 : { + if (!(HEAP32[($7_1 + 492 | 0) >> 2] | 0)) { + break label$41 + } + $859_1 = $7_1 + 160 | 0; + if (!((HEAP32[(($859_1 + 40 | 0) + ((HEAP32[($7_1 + 492 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[(($859_1 + 40 | 0) + (((HEAP32[($7_1 + 492 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$41 + } + HEAP32[($7_1 + 492 | 0) >> 2] = (HEAP32[($7_1 + 492 | 0) >> 2] | 0) + -1 | 0; + } + label$42 : { + if (HEAP32[($7_1 + 476 | 0) >> 2] | 0) { + break label$42 + } + $887_1 = $7_1 + 160 | 0; + HEAP32[($7_1 + 492 | 0) >> 2] = (HEAP32[($7_1 + 492 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(($887_1 + 16 | 0) + ((HEAP32[($7_1 + 492 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[(($887_1 + 40 | 0) + ((HEAP32[($7_1 + 492 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[(($7_1 + 352 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($7_1 + 472 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 496 | 0) >> 2] = 0; + label$43 : { + label$44 : while (1) { + if (!((HEAP32[($7_1 + 496 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$43 + } + $955_1 = ((FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 120 | 0) >> 2] | 0, HEAP32[(((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 496 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0) & 65535 | 0) + 2 | 0; + $959_1 = ($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$959_1 >> 2] = (HEAP32[$959_1 >> 2] | 0) + $955_1 | 0; + HEAP32[($7_1 + 496 | 0) >> 2] = (HEAP32[($7_1 + 496 | 0) >> 2] | 0) + 1 | 0; + continue label$44; + }; + } + HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(($7_1 + 352 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 492 | 0) >> 2] = (HEAP32[($7_1 + 492 | 0) >> 2] | 0) + 1 | 0; + continue label$40; + }; + } + HEAP32[($7_1 + 492 | 0) >> 2] = HEAP32[($7_1 + 504 | 0) >> 2] | 0; + HEAP32[($7_1 + 500 | 0) >> 2] = 0; + label$45 : { + label$46 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 492 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$45 + } + label$47 : { + label$48 : while (1) { + if (!((HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 472 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$47 + } + label$49 : { + if (!(((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0 | 0) >= (HEAP32[($7_1 + 492 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$49 + } + HEAP32[($7_1 + 492 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 2 | 0; + label$50 : { + if (!((HEAP32[($7_1 + 492 | 0) >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$50 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(72573 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + HEAP32[(($7_1 + 320 | 0) + (((HEAP32[($7_1 + 492 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[(($7_1 + 384 | 0) + (((HEAP32[($7_1 + 492 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = (($1084($7_1 + 160 | 0 | 0, (HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) - 1 | 0 | 0) | 0) & 65535 | 0) + 2 | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + $1075_1 = ($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$1075_1 >> 2] = (HEAP32[$1075_1 >> 2] | 0) - (HEAP32[($7_1 + 116 | 0) >> 2] | 0) | 0; + label$51 : { + if (HEAP32[($7_1 + 476 | 0) >> 2] | 0) { + break label$51 + } + label$52 : { + label$53 : { + if (!((HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$53 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = (($1084($7_1 + 160 | 0 | 0, HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) & 65535 | 0) + 2 | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + break label$52; + } + HEAP32[($7_1 + 116 | 0) >> 2] = 0; + } + } + $1122_1 = ($7_1 + 320 | 0) + (((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0; + HEAP32[$1122_1 >> 2] = (HEAP32[$1122_1 >> 2] | 0) + (HEAP32[($7_1 + 116 | 0) >> 2] | 0) | 0; + $1128_1 = ($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$1128_1 >> 2] = (HEAP32[$1128_1 >> 2] | 0) + -1 | 0; + continue label$48; + }; + } + label$54 : { + label$55 : while (1) { + if (!((HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$54 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = (($1084($7_1 + 160 | 0 | 0, HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) & 65535 | 0) + 2 | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$56 : { + if (!(((HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + (HEAP32[($7_1 + 116 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($7_1 + 472 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$56 + } + break label$54; + } + $1188_1 = ($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$1188_1 >> 2] = (HEAP32[$1188_1 >> 2] | 0) + (HEAP32[($7_1 + 116 | 0) >> 2] | 0) | 0; + $1194_1 = ($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$1194_1 >> 2] = (HEAP32[$1194_1 >> 2] | 0) + 1 | 0; + label$57 : { + if (HEAP32[($7_1 + 476 | 0) >> 2] | 0) { + break label$57 + } + label$58 : { + label$59 : { + if (!((HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$59 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = (($1084($7_1 + 160 | 0 | 0, HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) & 65535 | 0) + 2 | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + break label$58; + } + HEAP32[($7_1 + 116 | 0) >> 2] = 0; + } + } + $1239_1 = ($7_1 + 320 | 0) + (((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0; + HEAP32[$1239_1 >> 2] = (HEAP32[$1239_1 >> 2] | 0) - (HEAP32[($7_1 + 116 | 0) >> 2] | 0) | 0; + continue label$55; + }; + } + label$60 : { + label$61 : { + if (!((HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$61 + } + HEAP32[($7_1 + 492 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + break label$60; + } + $1267_1 = HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$62 : { + label$63 : { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$63 + } + $1284_1 = HEAP32[(($7_1 + 384 | 0) + (((HEAP32[($7_1 + 500 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + break label$62; + } + $1284_1 = 0; + } + label$64 : { + if (!(($1267_1 | 0) <= ($1284_1 | 0) & 1 | 0)) { + break label$64 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(72606 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$46; + }; + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 492 | 0) >> 2] | 0) - 1 | 0; + label$65 : { + label$66 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$65 + } + $1315_1 = $7_1 + 320 | 0; + HEAP32[($7_1 + 112 | 0) >> 2] = HEAP32[($1315_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($1315_1 + (((HEAP32[($7_1 + 500 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 104 | 0) >> 2] = (HEAP32[(($7_1 + 384 | 0) + (((HEAP32[($7_1 + 500 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0) - 1 | 0; + HEAP32[($7_1 + 100 | 0) >> 2] = ((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[($7_1 + 476 | 0) >> 2] | 0) | 0; + $1084($7_1 + 160 | 0 | 0, HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0) | 0; + label$67 : { + label$68 : while (1) { + $1084($7_1 + 160 | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) | 0; + label$69 : { + if (!(HEAP32[($7_1 + 112 | 0) >> 2] | 0)) { + break label$69 + } + label$70 : { + if (HEAP32[($7_1 + 520 | 0) >> 2] | 0) { + break label$70 + } + if (!((((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 100 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) | 0) + 2 | 0 | 0) > ((HEAP32[($7_1 + 108 | 0) >> 2] | 0) - (((HEAPU16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 104 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) == ((HEAP32[($7_1 + 492 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0 ? 0 : 2) | 0) | 0 | 0) & 1 | 0)) { + break label$69 + } + } + break label$67; + } + HEAP32[($7_1 + 112 | 0) >> 2] = (HEAP32[($7_1 + 112 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 100 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) + 2 | 0) | 0; + HEAP32[($7_1 + 108 | 0) >> 2] = (HEAP32[($7_1 + 108 | 0) >> 2] | 0) - (((HEAPU16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 104 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) + 2 | 0) | 0; + HEAP32[(($7_1 + 384 | 0) + (((HEAP32[($7_1 + 500 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + HEAP32[($7_1 + 104 | 0) >> 2] = (HEAP32[($7_1 + 104 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($7_1 + 100 | 0) >> 2] = (HEAP32[($7_1 + 100 | 0) >> 2] | 0) + -1 | 0; + if ((HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + continue label$68 + } + break label$68; + }; + } + $1442_1 = $7_1 + 320 | 0; + HEAP32[($1442_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 112 | 0) >> 2] | 0; + HEAP32[($1442_1 + (((HEAP32[($7_1 + 500 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 108 | 0) >> 2] | 0; + $1461_1 = HEAP32[(($7_1 + 384 | 0) + (((HEAP32[($7_1 + 500 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + label$71 : { + label$72 : { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$72 + } + $1478_1 = HEAP32[(($7_1 + 384 | 0) + (((HEAP32[($7_1 + 500 | 0) >> 2] | 0) - 2 | 0) << 2 | 0) | 0) >> 2] | 0; + break label$71; + } + $1478_1 = 0; + } + label$73 : { + if (!(($1461_1 | 0) <= ($1478_1 | 0) & 1 | 0)) { + break label$73 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(72648 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + -1 | 0; + continue label$66; + }; + } + HEAP32[($7_1 + 468 | 0) >> 2] = (HEAPU8[(HEAP32[((HEAP32[($7_1 + 444 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($7_1 + 500 | 0) >> 2] = 0; + label$74 : { + label$75 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 492 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$74 + } + label$76 : { + label$77 : { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 504 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$77 + } + $1514_1 = $7_1 + 444 | 0; + $1522_1 = HEAP32[($1514_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(($7_1 + 416 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $1522_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $1522_1; + HEAP32[($1514_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 508 | 0) >> 2] = (HEAP32[($7_1 + 508 | 0) >> 2] | 0) + 1 | 0; + label$78 : { + if (!(HEAP32[($7_1 + 484 | 0) >> 2] | 0)) { + break label$78 + } + break label$11; + } + break label$76; + } + $1538_1 = HEAP32[($7_1 + 516 | 0) >> 2] | 0; + label$79 : { + label$80 : { + if (!(HEAP32[($7_1 + 520 | 0) >> 2] | 0)) { + break label$80 + } + $1541_1 = 1; + break label$79; + } + $1541_1 = HEAP32[($7_1 + 312 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $813($1538_1 | 0, $7_1 + 96 | 0 | 0, $7_1 + 312 | 0 | 0, $1541_1 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + label$81 : { + if (!(HEAP32[($7_1 + 484 | 0) >> 2] | 0)) { + break label$81 + } + break label$11; + } + $785(HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 468 | 0) >> 2] | 0 | 0); + HEAP32[(($7_1 + 416 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + HEAP32[($7_1 + 508 | 0) >> 2] = (HEAP32[($7_1 + 508 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(($7_1 + 352 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + label$82 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 516 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$82 + } + $832(HEAP32[($7_1 + 516 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 5 & 255 | 0 | 0, HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $7_1 + 484 | 0 | 0); + label$83 : { + if (!(HEAP32[($7_1 + 484 | 0) >> 2] | 0)) { + break label$83 + } + break label$11; + } + } + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$75; + }; + } + HEAP32[($7_1 + 500 | 0) >> 2] = 0; + label$84 : { + label$85 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$84 + } + $1615_1 = $7_1 + 416 | 0; + $1627_1 = HEAP32[((HEAP32[($1615_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[(($7_1 + 272 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $1627_1; + HEAP32[(($7_1 + 240 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $1627_1; + HEAP16[(($7_1 + 230 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($1615_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0; + HEAP32[($7_1 + 496 | 0) >> 2] = 0; + label$86 : { + label$87 : while (1) { + if (!((HEAP32[($7_1 + 496 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$86 + } + $1656_1 = $7_1 + 272 | 0; + label$88 : { + if (!((HEAP32[($1656_1 + ((HEAP32[($7_1 + 496 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($1656_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$88 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(72722 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + HEAP32[($7_1 + 496 | 0) >> 2] = (HEAP32[($7_1 + 496 | 0) >> 2] | 0) + 1 | 0; + continue label$87; + }; + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$85; + }; + } + HEAP32[($7_1 + 500 | 0) >> 2] = 0; + label$89 : { + label$90 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$89 + } + HEAP32[($7_1 + 92 | 0) >> 2] = 0; + HEAP32[($7_1 + 496 | 0) >> 2] = 1; + label$91 : { + label$92 : while (1) { + if (!((HEAP32[($7_1 + 496 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$91 + } + $1699_1 = $7_1 + 240 | 0; + label$93 : { + if (!((HEAP32[($1699_1 + ((HEAP32[($7_1 + 496 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 < (HEAP32[($1699_1 + ((HEAP32[($7_1 + 92 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$93 + } + HEAP32[($7_1 + 92 | 0) >> 2] = HEAP32[($7_1 + 496 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 496 | 0) >> 2] = (HEAP32[($7_1 + 496 | 0) >> 2] | 0) + 1 | 0; + continue label$92; + }; + } + $1722_1 = $7_1 + 240 | 0; + HEAP32[($7_1 + 312 | 0) >> 2] = HEAP32[($1722_1 + ((HEAP32[($7_1 + 92 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($1722_1 + ((HEAP32[($7_1 + 92 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + label$94 : { + if (!((HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$94 + } + label$95 : { + if (!((HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$95 + } + $1085(HEAP32[((HEAP32[(($7_1 + 416 | 0) + ((HEAP32[($7_1 + 92 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($7_1 + 516 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($7_1 + 92 | 0) >> 2] | 0) | 0) + 1 | 0 | 0, 0 & 65535 | 0 | 0); + } + $1766_1 = $7_1 + 416 | 0; + $1085(HEAP32[((HEAP32[($1766_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 312 | 0) >> 2] | 0 | 0, (HEAPU16[(($7_1 + 230 | 0) + ((HEAP32[($7_1 + 92 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0); + HEAP32[((HEAP32[($1766_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 312 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$90; + }; + } + $162(HEAP32[($7_1 + 412 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(($7_1 + 416 | 0) + (((HEAP32[($7_1 + 508 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + label$96 : { + if ((HEAP32[($7_1 + 468 | 0) >> 2] | 0) & 8 | 0) { + break label$96 + } + if (!((HEAP32[($7_1 + 504 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$96 + } + label$97 : { + label$98 : { + if (!((HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 504 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$98 + } + $1825_1 = $7_1 + 416 | 0; + break label$97; + } + $1825_1 = $7_1 + 444 | 0; + } + HEAP32[($7_1 + 88 | 0) >> 2] = HEAP32[($1825_1 + (((HEAP32[($7_1 + 504 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + $68_1 = (HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 8 | 0; + $69_1 = (HEAP32[((HEAP32[(($7_1 + 416 | 0) + (((HEAP32[($7_1 + 508 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 8 | 0; + $70_1 = HEAPU8[$68_1 >> 0] | 0 | ((HEAPU8[($68_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($68_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($68_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$69_1 >> 0] = $70_1; + HEAP8[($69_1 + 1 | 0) >> 0] = $70_1 >>> 8 | 0; + HEAP8[($69_1 + 2 | 0) >> 0] = $70_1 >>> 16 | 0; + HEAP8[($69_1 + 3 | 0) >> 0] = $70_1 >>> 24 | 0; + } + label$99 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 516 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$99 + } + $1865_1 = 0; + $1866_1 = HEAP32[($7_1 + 416 | 0) >> 2] | 0; + HEAP32[($7_1 + 84 | 0) >> 2] = $1866_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $1866_1; + HEAP32[($7_1 + 76 | 0) >> 2] = ((HEAPU16[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) + ((HEAPU8[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $1865_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1865_1; + HEAP32[($7_1 + 500 | 0) >> 2] = $1865_1; + label$100 : { + label$101 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$100 + } + HEAP32[($7_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$102 : { + label$103 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$102 + } + HEAP32[($7_1 + 68 | 0) >> 2] = (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 1 | 0; + label$104 : { + label$105 : { + if (!((HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$105 + } + $1914_1 = HEAP32[(($7_1 + 416 | 0) + ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$104; + } + $1914_1 = HEAP32[(($7_1 + 444 | 0) + ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($7_1 + 84 | 0) >> 2] = $1914_1; + HEAP32[($7_1 + 76 | 0) >> 2] = (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) + ((HEAPU8[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0) + (((HEAP32[($7_1 + 476 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0) | 0) | 0; + continue label$103; + }; + } + label$106 : { + label$107 : { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) == (HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$107 + } + $1964_1 = (HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $1964_1; + HEAP32[($7_1 + 80 | 0) >> 2] = HEAP32[(($7_1 + 416 | 0) + ($1964_1 << 2 | 0) | 0) >> 2] | 0; + label$108 : { + if (HEAP32[($7_1 + 476 | 0) >> 2] | 0) { + break label$108 + } + break label$106; + } + } + label$109 : { + label$110 : { + if ((HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) >= (HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$110 + } + if ((HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[(($7_1 + 272 | 0) + ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$110 + } + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$110 + } + if ((HEAP32[($7_1 + 64 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$109 + } + } + label$111 : { + if (((HEAPU16[($7_1 + 482 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0) { + break label$111 + } + $832(HEAP32[($7_1 + 516 | 0) >> 2] | 0 | 0, $161(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) | 0 | 0, 5 & 255 | 0 | 0, HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $7_1 + 484 | 0 | 0); + } + label$112 : { + if (!((($1084($7_1 + 160 | 0 | 0, HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) | 0) & 65535 | 0 | 0) > ((HEAPU16[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$112 + } + $835(HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, $7_1 + 484 | 0 | 0); + } + label$113 : { + if (!(HEAP32[($7_1 + 484 | 0) >> 2] | 0)) { + break label$113 + } + break label$11; + } + } + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$101; + }; + } + } + HEAP32[($7_1 + 500 | 0) >> 2] = 0; + label$114 : { + label$115 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < ((HEAP32[($7_1 + 508 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$114 + } + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[(($7_1 + 416 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 496 | 0) >> 2] = HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 496 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = ((HEAPU16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 496 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) + ((HEAPU16[($7_1 + 482 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = (HEAP32[($7_1 + 528 | 0) >> 2] | 0) + (HEAP32[($7_1 + 460 | 0) >> 2] | 0) | 0; + label$116 : { + label$117 : { + if (((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$117 + } + $71_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + $72_1 = (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 8 | 0; + $73_1 = HEAPU8[$71_1 >> 0] | 0 | ((HEAPU8[($71_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($71_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($71_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$72_1 >> 0] = $73_1; + HEAP8[($72_1 + 1 | 0) >> 0] = $73_1 >>> 8 | 0; + HEAP8[($72_1 + 2 | 0) >> 0] = $73_1 >>> 16 | 0; + HEAP8[($72_1 + 3 | 0) >> 0] = $73_1 >>> 24 | 0; + break label$116; + } + label$118 : { + label$119 : { + if (!(HEAP32[($7_1 + 476 | 0) >> 2] | 0)) { + break label$119 + } + HEAP32[($7_1 + 496 | 0) >> 2] = (HEAP32[($7_1 + 496 | 0) >> 2] | 0) + -1 | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 48 | 0) >> 2] | 0, HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 496 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, $7_1 + 24 | 0); + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($908((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 4 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0) + 4 | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 56 | 0) >> 2] = 0; + break label$118; + } + HEAP32[($7_1 + 60 | 0) >> 2] = (HEAP32[($7_1 + 60 | 0) >> 2] | 0) + -4 | 0; + label$120 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 496 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$120 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 536 | 0) >> 2] | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + } + } + HEAP32[($7_1 + 460 | 0) >> 2] = (HEAP32[($7_1 + 460 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0; + $1010(HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 488 | 0) >> 2] | 0) + (HEAP32[($7_1 + 500 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $7_1 + 484 | 0 | 0); + label$121 : { + if (!(HEAP32[($7_1 + 484 | 0) >> 2] | 0)) { + break label$121 + } + break label$11; + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$115; + }; + } + HEAP32[($7_1 + 500 | 0) >> 2] = 1 - (HEAP32[($7_1 + 508 | 0) >> 2] | 0) | 0; + label$122 : { + label$123 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$122 + } + label$124 : { + label$125 : { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$125 + } + $2204_1 = 0 - (HEAP32[($7_1 + 500 | 0) >> 2] | 0) | 0; + break label$124; + } + $2204_1 = HEAP32[($7_1 + 500 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 20 | 0) >> 2] = $2204_1; + label$126 : { + label$127 : { + if (!(((HEAPU8[(($7_1 + 307 | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$127 + } + break label$126; + } + label$128 : { + label$129 : { + if ((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$129 + } + if (!((HEAP32[(($7_1 + 352 | 0) + (((HEAP32[($7_1 + 20 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (HEAP32[(($7_1 + 384 | 0) + (((HEAP32[($7_1 + 20 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$128 + } + } + label$130 : { + label$131 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$131 + } + $2254_1 = 0; + HEAP32[($7_1 + 12 | 0) >> 2] = $2254_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2254_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 384 | 0) >> 2] | 0; + break label$130; + } + label$132 : { + label$133 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 504 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$133 + } + $2283_1 = (HEAP32[(($7_1 + 352 | 0) + (((HEAP32[($7_1 + 20 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0) + (((HEAP32[($7_1 + 476 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0) | 0; + break label$132; + } + $2283_1 = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + } + $2288_1 = $7_1 + 384 | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = $2283_1; + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($2288_1 + (((HEAP32[($7_1 + 20 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0) + (((HEAP32[($7_1 + 476 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0) | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($2288_1 + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) - (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1086(HEAP32[(($7_1 + 416 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, $7_1 + 160 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + label$134 : { + if (!(HEAP32[($7_1 + 484 | 0) >> 2] | 0)) { + break label$134 + } + break label$11; + } + $2338_1 = ($7_1 + 307 | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0; + HEAP8[$2338_1 >> 0] = (HEAPU8[$2338_1 >> 0] | 0) + 1 | 0; + HEAP32[((HEAP32[(($7_1 + 416 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($7_1 + 472 | 0) >> 2] | 0) - (HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + } + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$123; + }; + } + label$135 : { + label$136 : { + if (!(HEAP32[($7_1 + 524 | 0) >> 2] | 0)) { + break label$136 + } + if ((HEAPU16[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) { + break label$136 + } + if (!(((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) <= (HEAP32[((HEAP32[($7_1 + 416 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$136 + } + $2375_1 = $7_1 + 484 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1080(HEAP32[($7_1 + 416 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + $1082(HEAP32[($7_1 + 416 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0, $2375_1 | 0); + $1063(HEAP32[($7_1 + 416 | 0) >> 2] | 0 | 0, $2375_1 | 0); + break label$135; + } + label$137 : { + if (!((HEAPU8[((HEAP32[($7_1 + 516 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0)) { + break label$137 + } + if (((HEAPU16[($7_1 + 482 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0) { + break label$137 + } + HEAP32[($7_1 + 500 | 0) >> 2] = 0; + label$138 : { + label$139 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$138 + } + $2409_1 = $7_1 + 416 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($2409_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $832(HEAP32[($7_1 + 516 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, 5 & 255 | 0 | 0, HEAP32[((HEAP32[($2409_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $7_1 + 484 | 0 | 0); + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$139; + }; + } + } + } + HEAP32[($7_1 + 500 | 0) >> 2] = HEAP32[($7_1 + 508 | 0) >> 2] | 0; + label$140 : { + label$141 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 504 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$140 + } + $1063(HEAP32[(($7_1 + 444 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $7_1 + 484 | 0 | 0); + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$141; + }; + } + } + $2454_1 = 0; + $13($2454_1 | 0, HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 500 | 0) >> 2] = $2454_1; + label$142 : { + label$143 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 504 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$142 + } + $814(HEAP32[(($7_1 + 444 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$143; + }; + } + HEAP32[($7_1 + 500 | 0) >> 2] = 0; + label$144 : { + label$145 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$144 + } + $814(HEAP32[(($7_1 + 416 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$145; + }; + } + HEAP32[($7_1 + 540 | 0) >> 2] = HEAP32[($7_1 + 484 | 0) >> 2] | 0; + } + $2494_1 = HEAP32[($7_1 + 540 | 0) >> 2] | 0; + global$0 = $7_1 + 544 | 0; + return $2494_1 | 0; + } + + function $1079($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $64_1 = 0, $10_1 = 0, $11_1 = 0, $12_1 = 0, $106_1 = 0, $122_1 = 0, $170_1 = 0, $185_1 = 0, $188_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 4 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 2 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + $64_1 = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) - (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $64_1; + label$4 : { + if (!(($64_1 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 7 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) > (57 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $10_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0; + $11_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0; + $12_1 = HEAPU8[$10_1 >> 0] | 0 | ((HEAPU8[($10_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$11_1 >> 0] = $12_1; + HEAP8[($11_1 + 1 | 0) >> 0] = $12_1 >>> 8 | 0; + $106_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 7 | 0) | 0; + HEAP8[$106_1 >> 0] = ((HEAPU8[$106_1 >> 0] | 0) & 255 | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 255 | 0) | 0; + break label$5; + } + label$8 : { + if (!(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $122_1 = $694(66303 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = $122_1; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 8 | 0; + HEAP8[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 2 | 0) | 0) + 1 | 0) >> 0] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) | 0; + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$9 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) <= ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$10 + } + $170_1 = $694(66317 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = $170_1; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + continue label$3; + }; + } + label$11 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) > (((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0) - 4 | 0 | 0) & 1 | 0)) { + break label$11 + } + $185_1 = $694(66324 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = $185_1; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $188_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $188_1 | 0; + } + + function $1080($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, $487_1 = 0, $519_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + $7_1 = HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = $7_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $7_1; + HEAP32[($4_1 + 88 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 68 | 0) >> 2] | 0) << 1 | 0) | 0; + HEAP32[($4_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 7 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) <= (HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 44 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$4 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) > ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) - 4 | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66174 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$5 : { + if (!(HEAP32[($4_1 + 44 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($4_1 + 40 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$6 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) > ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) - 4 | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66177 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$7 : { + label$8 : { + if ((0 | 0) == (HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$8 + } + if ((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (HEAP32[($4_1 + 40 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$7 + } + if ((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$7 + } + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 68 | 0) >> 2] | 0) << 1 | 0) | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 2 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$9 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66185 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$10 : { + label$11 : { + if (!(HEAP32[($4_1 + 40 | 0) >> 2] | 0)) { + break label$11 + } + label$12 : { + if (!(((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66188 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 2 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$13 : { + if (!(((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66190 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $3290((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) | 0 | 0, (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) | 0 | 0, (HEAP32[($4_1 + 40 | 0) >> 2] | 0) - ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) | 0 | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0; + break label$10; + } + label$14 : { + if (!(((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66194 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + HEAP32[($4_1 + 72 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0; + $3290((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (HEAP32[($4_1 + 72 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 44 | 0) >> 2] | 0) - (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (HEAP32[($4_1 + 76 | 0) >> 2] | 0) | 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 92 | 0) >> 2] = ((HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$17 : { + label$18 : { + if (!((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] = ((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >> 8 | 0; + HEAP8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0) >> 0] = (HEAP32[($4_1 + 92 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0; + break label$17; + } + label$19 : { + if (!((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] = ((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 8 | 0; + HEAP8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0) >> 0] = (HEAP32[($4_1 + 92 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0; + } + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 2 | 0; + continue label$16; + }; + } + break label$2; + } + } + } + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 80 | 0) >> 2] | 0) - 4 | 0; + HEAP32[($4_1 + 96 | 0) >> 2] = 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 96 | 0) >> 2] | 0) << 1 | 0) | 0) | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = ((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$22 : { + label$23 : { + if ((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$23 + } + if (!((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) > (HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66222 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 104 | 0) >> 2] | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + (HEAP32[($4_1 + 92 | 0) >> 2] | 0) | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 72 | 0) >> 2] = (HEAP32[($4_1 + 72 | 0) >> 2] | 0) - (HEAP32[($4_1 + 84 | 0) >> 2] | 0) | 0; + label$24 : { + label$25 : { + if ((HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$25 + } + if (!(((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + (HEAP32[($4_1 + 84 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66228 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] = (HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 8 | 0; + HEAP8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + label$26 : { + label$27 : { + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$27 + } + label$28 : { + if (!((HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + break label$26; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1081(HEAP32[(HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + $3288((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0 | 0, ((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + (HEAP32[($4_1 + 84 | 0) >> 2] | 0) | 0) - (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + } + $3288((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (HEAP32[($4_1 + 72 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + (HEAP32[($4_1 + 92 | 0) >> 2] | 0) | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($4_1 + 96 | 0) >> 2] = (HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 1 | 0; + continue label$21; + }; + } + HEAP8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 7 | 0) | 0) >> 0] = 0; + } + label$29 : { + if (!(((((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 7 | 0) | 0) >> 0] | 0) & 255 | 0) + (HEAP32[($4_1 + 72 | 0) >> 2] | 0) | 0) - (HEAP32[($4_1 + 52 | 0) >> 2] | 0) | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66249 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $487_1 = 0; + HEAP8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] = (HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 8 | 0; + HEAP8[(((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = $487_1; + HEAP8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] = $487_1; + $3289((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (HEAP32[($4_1 + 52 | 0) >> 2] | 0) | 0 | 0, 0 | 0, (HEAP32[($4_1 + 72 | 0) >> 2] | 0) - (HEAP32[($4_1 + 52 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($4_1 + 108 | 0) >> 2] = 0; + } + $519_1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $519_1 | 0; + } + + function $1081($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0 | 0; + } + + function $1082($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $96_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 100 : 0; + HEAP32[($5_1 + 8 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + $3288((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0, (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0) | 0; + $3288((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) + (((HEAPU16[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0 | 0) | 0; + HEAP8[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 0] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $626(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1006(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + $96_1 = $831(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = $96_1; + } + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1083($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $238_1 = 0, $81_1 = 0, $293_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + (HEAP32[($6_1 + 48 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (HEAP32[($6_1 + 64 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1081(HEAP32[(HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 36 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$1 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 > (HEAP32[($6_1 + 48 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 36 | 0) >> 2] = 0; + } + $3288((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 48 | 0) >> 2] | 0) - (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$2 : while (1) { + $81_1 = 0; + label$3 : { + if (!((HEAP32[(((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 40 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) <= (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $81_1 = (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (6 | 0); + } + label$4 : { + if (!($81_1 & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP16[($6_1 + 6 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 52 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 44 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + label$9 : { + if (!(((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + ((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) & 65535 | 0) | 0) >>> 0 > (HEAP32[($6_1 + 44 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(71706 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) - (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0) | 0; + break label$7; + } + label$10 : { + if (!(((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + ((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) & 65535 | 0) | 0) >>> 0 > (HEAP32[($6_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$10 + } + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(71711 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (0 - ((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) & 65535 | 0) | 0) | 0; + HEAP8[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 0] = ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) - (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0) >> 8 | 0; + HEAP8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) - (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 2 | 0; + label$11 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(71717 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + $3288(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU16[($6_1 + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + label$12 : { + label$13 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) >= (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + break label$12; + } + label$14 : { + if (!((HEAP32[(((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 40 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) <= (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + continue label$6; + } + break label$6; + }; + $238_1 = 0; + HEAP16[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 1] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 0] = $238_1; + HEAP8[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = $238_1; + HEAP8[(((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 1 | 0) | 0) + 1 | 0) >> 0] = $238_1; + HEAP8[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 3 | 0) | 0) >> 0] = ((HEAPU16[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) >> 8 | 0; + HEAP8[(((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 3 | 0) | 0) + 1 | 0) >> 0] = HEAPU16[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0; + HEAP8[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] = ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) - (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0) >> 8 | 0; + HEAP8[(((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) - (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0; + HEAP8[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 7 | 0) | 0) >> 0] = $238_1; + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + } + $293_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $293_1 | 0; + } + + function $1084($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP16[($4_1 + 14 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1087(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 14 | 0) >> 1] = wasm2js_i32$1; + } + $32_1 = (HEAPU16[($4_1 + 14 | 0) >> 1] | 0) & 65535 | 0; + global$0 = $4_1 + 16 | 0; + return $32_1 | 0; + } + + function $1085($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP16[($5_1 + 6 | 0) >> 1] = $2_1; + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] = HEAPU16[($5_1 + 6 | 0) >> 1] | 0; + $834(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1086($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $143_1 = 0, $324_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 60 | 0) >> 2] | 0) << 1 | 0) | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) | 0) + ((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 60 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1088(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 64 | 0) >> 2] | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(71912 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $3290(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0 | 0, (HEAP32[($7_1 + 40 | 0) >> 2] | 0) << 1 | 0 | 0) | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) - (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0; + } + label$4 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1088(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 24 | 0) >> 2] | 0) - (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) - (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((((((HEAPU8[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) - 1 | 0) & 65535 | 0) + 1 | 0) | 0; + label$5 : { + label$6 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 44 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + break label$5; + } + label$7 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) < ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) - (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + $143_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + break label$8; + } + $143_1 = (HEAP32[($7_1 + 68 | 0) >> 2] | 0) - (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0; + } + HEAP32[($7_1 + 8 | 0) >> 2] = $143_1; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + $3290((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 40 | 0) >> 2] | 0) << 1 | 0 | 0) | 0; + label$10 : { + if (!($1089(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $7_1 + 36 | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0)) { + break label$10 + } + break label$5; + } + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + (HEAP32[($7_1 + 8 | 0) >> 2] | 0) | 0; + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($7_1 + 4 | 0) >> 2] = ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + ((HEAPU16[(((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) | 0) - (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0; + label$13 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$13 + } + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 4 | 0) >> 2] | 0) << 1 | 0) | 0; + label$14 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $3290((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 2 | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 40 | 0) >> 2] | 0) - (HEAP32[($7_1 + 4 | 0) >> 2] | 0) | 0) << 1 | 0 | 0) | 0; + } + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 1 | 0; + $1084(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 4 | 0) >> 2] | 0) + (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0 | 0) | 0; + label$15 : { + if (!($1089(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $7_1 + 36 | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 4 | 0) >> 2] | 0) + (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0 | 0, 1 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0)) { + break label$15 + } + break label$5; + } + } + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 40 | 0) >> 2] | 0) << 1 | 0) | 0; + label$16 : { + if (!($1089(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $7_1 + 36 | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 40 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($7_1 + 60 | 0) >> 2] | 0) - (HEAP32[($7_1 + 40 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0)) { + break label$16 + } + break label$5; + } + HEAP16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 1] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + HEAP8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 0] = 0; + HEAP8[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 3 | 0) | 0) >> 0] = ((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) >> 8 | 0; + HEAP8[(((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 3 | 0) | 0) + 1 | 0) >> 0] = HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0; + HEAP8[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] = ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) - (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0) >> 8 | 0; + HEAP8[(((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) - (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + $1090(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1083(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + } + $324_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $324_1 | 0; + } + + function $1087($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $32_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $17_1 = FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + HEAP16[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = $17_1; + $32_1 = (HEAPU16[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; + global$0 = $4_1 + 16 | 0; + return $32_1 | 0; + } + + function $1088($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $133_1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (HEAP32[((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + ((((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) + ((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + (HEAP32[($6_1 + 48 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAPU16[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $1073(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) & 65535 | 0 | 0, (HEAP32[($6_1 + 12 | 0) >> 2] | 0) & 65535 | 0 | 0) | 0; + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + label$8 : { + if (!(((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0) >>> 0 > (HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + break label$1; + } + break label$5; + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$9 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $1073(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) & 65535 | 0 | 0, (HEAP32[($6_1 + 12 | 0) >> 2] | 0) & 65535 | 0 | 0) | 0; + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + } + $133_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $133_1 | 0; + } + + function $1089($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $42_1 = 0, $85_1 = 0, $197_1 = 0; + $9_1 = global$0 - 80 | 0; + global$0 = $9_1; + HEAP32[($9_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 52 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 48 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 44 | 0) >> 2] = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + HEAP32[($9_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($9_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 64 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($9_1 + 32 | 0) >> 2] = (HEAP32[($9_1 + 56 | 0) >> 2] | 0) + (HEAP32[($9_1 + 52 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) <= (HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($9_1 + 76 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($9_1 + 28 | 0) >> 2] = 0; + label$3 : while (1) { + $42_1 = 0; + label$4 : { + if (!((HEAP32[(((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 40 | 0) + ((HEAP32[($9_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) <= (HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $42_1 = (HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) < (6 | 0); + } + label$5 : { + if (!($42_1 & 1 | 0)) { + break label$5 + } + HEAP32[($9_1 + 28 | 0) >> 2] = (HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + HEAP32[($9_1 + 24 | 0) >> 2] = HEAP32[(((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($9_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$6 : while (1) { + HEAP32[($9_1 + 20 | 0) >> 2] = (HEAPU16[((HEAP32[((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 44 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; + label$7 : { + label$8 : { + label$9 : { + if ((HEAPU8[((HEAP32[($9_1 + 40 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) { + break label$9 + } + if (!((HEAPU8[((HEAP32[($9_1 + 40 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + } + $85_1 = $1079(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0, $9_1 + 16 | 0 | 0) | 0; + HEAP32[($9_1 + 12 | 0) >> 2] = $85_1; + if (!(($85_1 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + } + label$10 : { + if (!(((HEAP32[($9_1 + 36 | 0) >> 2] | 0) - (HEAP32[($9_1 + 68 | 0) >> 2] | 0) | 0 | 0) < (HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($9_1 + 76 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($9_1 + 36 | 0) >> 2] = (HEAP32[($9_1 + 36 | 0) >> 2] | 0) + (0 - (HEAP32[($9_1 + 20 | 0) >> 2] | 0) | 0) | 0; + HEAP32[($9_1 + 12 | 0) >> 2] = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + } + label$11 : { + if (!(((HEAP32[((HEAP32[((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + (HEAP32[($9_1 + 20 | 0) >> 2] | 0) | 0) >>> 0 > (HEAP32[($9_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + if (!((HEAP32[((HEAP32[((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 < (HEAP32[($9_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + $694(71803 | 0) | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = 1; + break label$1; + } + $3290(HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP8[(HEAP32[($9_1 + 60 | 0) >> 2] | 0) >> 0] = ((HEAP32[($9_1 + 12 | 0) >> 2] | 0) - (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0) >> 8 | 0; + HEAP8[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 1 | 0) >> 0] = (HEAP32[($9_1 + 12 | 0) >> 2] | 0) - (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 60 | 0) >> 2] = (HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 2 | 0; + HEAP32[($9_1 + 44 | 0) >> 2] = (HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 1 | 0; + label$12 : { + label$13 : { + if (!((HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) >= (HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + break label$12; + } + label$14 : { + if (!((HEAP32[(((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 40 | 0) + ((HEAP32[($9_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) <= (HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($9_1 + 28 | 0) >> 2] = (HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($9_1 + 24 | 0) >> 2] = HEAP32[(((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($9_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + continue label$6; + } + break label$6; + }; + HEAP32[(HEAP32[($9_1 + 64 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = 0; + } + $197_1 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + global$0 = $9_1 + 80 | 0; + return $197_1 | 0; + } + + function $1090($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $34_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if ((HEAPU16[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) { + break label$4 + } + $34_1 = FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + HEAP16[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = $34_1; + break label$3; + } + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + }; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1091($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0, $36_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = $929(HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = $16_1; + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 7; + break label$1; + } + HEAP16[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0; + HEAP8[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 11 | 0) >> 0] = 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $36_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $36_1 | 0; + } + + function $1092($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 33; + break label$1; + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 34; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 35; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1093($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $50_1 = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $5_1 + 16 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $6_1; + label$1 : { + label$2 : while (1) { + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 28 | 0) >> 2] | 0, $5_1 + 8 | 0, (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0, HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$1; + } + break label$3; + } + $50_1 = 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $50_1; + label$6 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == ($50_1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + break label$1; + } + } + continue label$2; + }; + } + $66_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $66_1 | 0; + } + + function $1094($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $101_1 = 0, $8_1 = 0, $5_1 = 0, $40_1 = 0, i64toi32_i32$2 = 0, $48_1 = 0, $67_1 = 0, $98_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + $8_1 = $4_1 + 8 | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $5_1; + i64toi32_i32$0 = 0; + $101_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $101_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $101_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $101_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $101_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $101_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1101(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0, (HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$2 + } + } + label$3 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1013(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$4 + } + $40_1 = $4_1 + 8 | 0; + HEAP32[$4_1 >> 2] = 0; + i64toi32_i32$2 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $1102(HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $40_1 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + $48_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($48_1 + 28 | 0) >> 2] = (HEAP32[($48_1 + 28 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $1103($40_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $67_1 = $4_1 + 8 | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $1103($67_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + $1104($67_1 | 0, (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + $42(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + continue label$6; + }; + } + HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1105($4_1 + 8 | 0 | 0, ((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 40 | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + $98_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $98_1 | 0; + } + + function $1095($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $8_1 = 0, $49_1 = 0, $69_1 = 0, $93_1 = 0, $108_1 = 0, i64toi32_i32$0 = 0, $106_1 = 0, $107_1 = 0, $128_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $5_1; + label$1 : while (1) { + $8_1 = 0; + label$2 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$2 + } + $8_1 = (HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 59 | 0) >> 0] | 0) & 255 | 0 | 0); + } + label$3 : { + if (!($8_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = ((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 64 | 0) + Math_imul(HEAP32[($4_1 + 44 | 0) >> 2] | 0, 72) | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1106(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) <= (16 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1107(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, $4_1 + 24 | 0 | 0, $4_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + $49_1 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $49_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1108(16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) == ($49_1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 48 | 0) >> 2] = 7; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$7 : while (1) { + $69_1 = 0; + label$8 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $69_1 = (HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$9 : { + if (!($69_1 & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$10 : { + label$11 : { + if (!(((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$11 + } + $93_1 = (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + break label$10; + } + $93_1 = 16; + } + HEAP32[($4_1 + 8 | 0) >> 2] = $93_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1107(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $4_1 + 24 | 0 | 0, $4_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$12 + } + $106_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + $107_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + $108_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $108_1 + 1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1109($106_1 | 0, $107_1 | 0, $108_1 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0; + continue label$7; + } + break label$7; + }; + } + label$13 : { + label$14 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$14 + } + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + break label$13; + } + $864(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$15 : { + if (!(HEAP32[($4_1 + 48 | 0) >> 2] | 0)) { + break label$15 + } + $864(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 52 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $128_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $128_1 | 0; + } + + function $1096($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $52_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1110((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 56) | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + $1111(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + continue label$6; + }; + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAPU8[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0; + } + $52_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $52_1 | 0; + } + + function $1097($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $38_1 = 0, $62_1 = 0, $179_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAPU8[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAPU8[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + ((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAPU8[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $38_1 = 0; + HEAP8[($8_1 + 11 | 0) >> 0] = HEAPU8[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8388 | 0) >> 0] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = $38_1; + HEAP32[($8_1 + 4 | 0) >> 2] = $38_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) < ((HEAPU8[($8_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $62_1 = ((HEAPU8[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + (HEAP32[($8_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) - ((HEAPU8[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + (HEAP32[($8_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = $62_1; + label$5 : { + if (!$62_1) { + break label$5 + } + label$6 : { + if (!((((HEAPU8[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) ^ ((HEAPU8[(HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0) & 128 | 0)) { + break label$6 + } + HEAP32[($8_1 + 12 | 0) >> 2] = ((HEAPU8[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0 ? -1 : 1; + } + break label$3; + } + HEAP32[($8_1 + 4 | 0) >> 2] = (HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$7 : { + label$8 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) > (7 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) > (7 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) - (HEAP32[($8_1 + 24 | 0) >> 2] | 0) | 0; + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) > (7 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($8_1 + 12 | 0) >> 2] = 1; + break label$9; + } + label$11 : { + label$12 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) > (7 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($8_1 + 12 | 0) >> 2] = -1; + break label$11; + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) - (HEAP32[($8_1 + 24 | 0) >> 2] | 0) | 0; + } + } + label$13 : { + label$14 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$15 + } + HEAP32[($8_1 + 12 | 0) >> 2] = -1; + } + break label$13; + } + label$16 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$16 + } + HEAP32[($8_1 + 12 | 0) >> 2] = 1; + } + } + } + } + label$17 : { + label$18 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$18 + } + label$19 : { + if (!(((HEAPU16[((HEAP32[((HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$19 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1100(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$17; + } + label$20 : { + if (!(((HEAPU8[(HEAP32[((HEAP32[((HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($8_1 + 12 | 0) >> 2] = Math_imul(HEAP32[($8_1 + 12 | 0) >> 2] | 0, -1); + } + } + $179_1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $179_1 | 0; + } + + function $1098($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $67_1 = 0, $57_1 = 0, $58_1 = 0, $115_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + ((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAPU8[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + label$1 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) >= (128 | 0) & 1 | 0)) { + break label$1 + } + $902((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0 | 0, $8_1 + 20 | 0 | 0) | 0; + } + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAPU8[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + label$2 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) >= (128 | 0) & 1 | 0)) { + break label$2 + } + $902((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 1 | 0 | 0, $8_1 + 16 | 0 | 0) | 0; + } + $57_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $58_1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $67_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + break label$3; + } + $67_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $3228($57_1 | 0, $58_1 | 0, ($67_1 - 13 | 0 | 0) / (2 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) - (HEAP32[($8_1 + 16 | 0) >> 2] | 0) | 0; + } + label$6 : { + label$7 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$7 + } + label$8 : { + if (!(((HEAPU16[((HEAP32[((HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1100(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$6; + } + label$9 : { + if (!(((HEAPU8[(HEAP32[((HEAP32[((HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($8_1 + 12 | 0) >> 2] = Math_imul(HEAP32[($8_1 + 12 | 0) >> 2] | 0, -1); + } + } + $115_1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $115_1 | 0; + } + + function $1099($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $24_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + if (HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + $930(HEAP32[((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] = 1; + } + $24_1 = $1000(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $24_1 | 0; + } + + function $1100($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $25_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + if (HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + $930(HEAP32[((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] = 1; + } + $25_1 = $944(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $25_1 | 0; + } + + function $1101($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $30$hi = 0, $30_1 = 0, $32$hi = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!($176(202 | 0) | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 3338; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $855(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 4126 | 0, $5_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + i64toi32_i32$0 = 0; + $30_1 = 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $30_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + $615(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, 18 | 0, $5_1 | 0); + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$1; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$3 = $30_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + label$4 : { + if (!($13_1 & 1 | 0)) { + break label$4 + } + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + $27_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $27_1 | 0; + } + + function $1102($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $6_1 = 0, i64toi32_i32$2 = 0, $45_1 = 0, $8_1 = 0, i64toi32_i32$5 = 0, $47$hi = 0, $48$hi = 0, $50$hi = 0, $51$hi = 0, i64toi32_i32$3 = 0, $19_1 = 0, $47_1 = 0, $126_1 = 0, $50_1 = 0, $148_1 = 0, $153_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $3_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + $8_1 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $45_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $45_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $45_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $45_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $45_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $45_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $19_1 = $39(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $19_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $47_1 = i64toi32_i32$0; + $47$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $48$hi; + $126_1 = i64toi32_i32$0; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = __wasm_i64_srem($47_1 | 0, i64toi32_i32$1 | 0, $126_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $50_1 = i64toi32_i32$1; + $50$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $51$hi = i64toi32_i32$0; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$0 = $51$hi; + $148_1 = i64toi32_i32$1; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$2 = $50_1; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$3 = $148_1; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $153_1 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] = $153_1; + HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] = i64toi32_i32$5; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1103($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $7_1 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $7_1 = $4_1 + 2 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $908($7_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $1104(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $7_1 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 32 | 0; + return; + } + + function $1104($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $15_1 = 0, $54_1 = 0, $66_1 = 0, $96$hi = 0, $97$hi = 0, $99$hi = 0, $90_1 = 0, $68_1 = 0, $73_1 = 0, $78_1 = 0, $96_1 = 0, $282_1 = 0, $83_1 = 0, $99_1 = 0, $312$hi = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + label$1 : while (1) { + $15_1 = 0; + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = (HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($15_1 & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) > ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + } + $3288((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) - (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $54_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($54_1 + 16 | 0) >> 2] = (HEAP32[($54_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $66_1 = 0; + $68_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $73_1 = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + $78_1 = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $96_1 = i64toi32_i32$0; + $96$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $97$hi = i64toi32_i32$1; + i64toi32_i32$1 = $96$hi; + i64toi32_i32$1 = $97$hi; + $282_1 = i64toi32_i32$0; + i64toi32_i32$1 = $96$hi; + i64toi32_i32$2 = $96_1; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$3 = $282_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $83_1 = $147($68_1 | 0, $73_1 | 0, $78_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = $83_1; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = $66_1; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = $66_1; + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $99_1 = i64toi32_i32$2; + $99$hi = i64toi32_i32$5; + $90_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = $90_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $312$hi = i64toi32_i32$2; + i64toi32_i32$2 = $99$hi; + i64toi32_i32$2 = $312$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $99$hi; + i64toi32_i32$3 = $99_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $90_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$4; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + continue label$1; + } + break label$1; + }; + global$0 = $5_1 + 32 | 0; + return; + } + + function $1105($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $69_1 = 0, $51_1 = 0, $63$hi = 0, $64$hi = 0, $66$hi = 0, $67$hi = 0, $25_1 = 0, $30_1 = 0, $35_1 = 0, $63_1 = 0, $154_1 = 0, $40_1 = 0, $66_1 = 0, $177_1 = 0, $60_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $25_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $30_1 = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + $35_1 = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $63_1 = i64toi32_i32$0; + $63$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $64$hi = i64toi32_i32$1; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $64$hi; + $154_1 = i64toi32_i32$0; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$2 = $63_1; + i64toi32_i32$0 = $64$hi; + i64toi32_i32$3 = $154_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $40_1 = $147($25_1 | 0, $30_1 | 0, $35_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = $40_1; + } + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $66_1 = i64toi32_i32$5; + $66$hi = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $67$hi = i64toi32_i32$2; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$2 = $67$hi; + $177_1 = i64toi32_i32$5; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$1 = $66_1; + i64toi32_i32$5 = $67$hi; + i64toi32_i32$3 = $177_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + $42(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $51_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = 0; + $69_1 = 0; + i64toi32_i32$1 = $51_1; + HEAP32[i64toi32_i32$1 >> 2] = $69_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $69_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$1 = $51_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $69_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$1 = $51_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $69_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$1 = $51_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $69_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + $60_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $60_1 | 0; + } + + function $1106($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $15$hi = 0, $16$hi = 0, $13_1 = 0, $14_1 = 0, $16_1 = 0, $19$hi = 0, $20$hi = 0, $17_1 = 0, $15_1 = 0, $42_1 = 0; + $3_1 = global$0 - 16 | 0; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + i64toi32_i32$1 = $3_1; + HEAP32[i64toi32_i32$1 >> 2] = 16; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : while (1) { + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $15_1 = i64toi32_i32$0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $16$hi = i64toi32_i32$1; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$1 = $16$hi; + $42_1 = i64toi32_i32$0; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$2 = $15_1; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$3 = $42_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $16_1 = $14_1; + } else { + $16_1 = 0 + } + $13_1 = $16_1; + } + if (!($13_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $20$hi = i64toi32_i32$1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $20$hi; + i64toi32_i32$0 = 4; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + $17_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $17_1 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + } + i64toi32_i32$3 = $3_1; + HEAP32[$3_1 >> 2] = $17_1; + HEAP32[($3_1 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $1107($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $7_1 = 0, $10_1 = 0, $28_1 = 0, $87_1 = 0, $189_1 = 0, $213_1 = 0, $61_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + i64toi32_i32$2 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $87_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $87_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 24 | 0) >> 2] = $7_1; + $10_1 = $1108(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $10_1; + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = $10_1; + label$1 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 24 | 0) >> 2] = 7; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + label$2 : while (1) { + $28_1 = 0; + label$3 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $28_1 = (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$4 : { + if (!($28_1 & 1 | 0)) { + break label$4 + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 28 | 0) >> 2] | 0, 56) | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1112(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 40 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $189_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $189_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + label$5 : { + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$5 + } + $864(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = 0; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $213_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $213_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $61_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $61_1 | 0; + } + + function $1108($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $23_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $50_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 2; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0; + continue label$2; + }; + } + HEAP32[($3_1 + 4 | 0) >> 2] = Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 60) + 16 | 0; + label$3 : { + label$4 : { + if (!($176(100 | 0) | 0)) { + break label$4 + } + $23_1 = 0; + break label$3; + } + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $23_1 = $114(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + } + HEAP32[$3_1 >> 2] = $23_1; + label$5 : { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[$3_1 >> 2] | 0) + 16 | 0; + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[((HEAP32[$3_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 56) | 0; + } + $50_1 = HEAP32[$3_1 >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $50_1 | 0; + } + + function $1109($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $39_1 = 0, $104_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + $8_1 = 1; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 40 | 0) >> 2] = 0; + HEAP32[($7_1 + 36 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1113(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $7_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 32 | 0) >> 2] = $8_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 4 | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($7_1 + 32 | 0) >> 2] = 1; + label$3 : while (1) { + $39_1 = 0; + label$4 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $39_1 = (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$5 : { + if (!($39_1 & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 20 | 0) >> 2] = ((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) / (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) % (16 | 0) | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 20 | 0) >> 2] | 0, 56) | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1108(16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 40 | 0) >> 2] = 7; + break label$7; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1113(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + } + label$9 : { + if (HEAP32[($7_1 + 40 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) / (16 | 0) | 0; + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + label$10 : { + label$11 : { + if (HEAP32[($7_1 + 40 | 0) >> 2] | 0) { + break label$11 + } + HEAP32[(((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) % (16 | 0) | 0, 56) | 0) + 48 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + break label$10; + } + $868(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0); + } + $104_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $104_1 | 0; + } + + function $1110($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1122(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + $17_1 = HEAP32[$4_1 >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $17_1 | 0; + } + + function $1111($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $76_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) >= ((HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) / (2 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 36 | 0) >> 2] = ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) - ((HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) / (2 | 0) | 0) | 0) << 1 | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + break label$1; + } + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 56) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 32 | 0) >> 2] | 0, 56) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + break label$5; + } + $76_1 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $76_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 16 | 0) >> 2] | 0, $4_1 + 12 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) <= ($76_1 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + break label$7; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + } + } + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return; + } + + function $1112($0_1, $1_1, $2_1, $2$hi, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $29$hi = 0, $30$hi = 0, $32$hi = 0, $20_1 = 0, $29_1 = 0, $88_1 = 0, $32_1 = 0, $100$hi = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1114(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1115(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, $7_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$1; + $29$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$1; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $30$hi; + $88_1 = i64toi32_i32$0; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$2 = $29_1; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$3 = $88_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $32_1 = i64toi32_i32$5; + $32$hi = i64toi32_i32$2; + $20_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = $20_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $100$hi = i64toi32_i32$5; + i64toi32_i32$5 = $32$hi; + i64toi32_i32$5 = $100$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $32$hi; + i64toi32_i32$3 = $32_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $20_1; + HEAP32[i64toi32_i32$1 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + } + label$2 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1116(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $24_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $24_1 | 0; + } + + function $1113($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $10_1 = 0, $12_1 = 0, $45_1 = 0, $63$hi = 0, $56_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $63_1 = 0, $182$hi = 0, $59_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!($176(100 | 0) | 0)) { + break label$2 + } + $10_1 = 0; + break label$1; + } + i64toi32_i32$0 = 0; + $10_1 = $114(64 | 0, i64toi32_i32$0 | 0) | 0; + } + $12_1 = $10_1; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $12_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $12_1; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!(((HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 9 | 0 | 0) > ((HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) / (2 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + $45_1 = (HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 9 | 0; + break label$5; + } + $45_1 = (HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) / (2 | 0) | 0; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $45_1; + i64toi32_i32$1 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $63_1 = i64toi32_i32$1; + $63$hi = i64toi32_i32$0; + $56_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $56_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + $182$hi = i64toi32_i32$1; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $182$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$3 = $63_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $56_1; + HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] = i64toi32_i32$5; + break label$3; + } + $864(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = 7; + } + $59_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $59_1 | 0; + } + + function $1114($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $113$hi = 0, $114$hi = 0, $107$hi = 0, $108$hi = 0, $111$hi = 0, $112$hi = 0, $31_1 = 0, $32_1 = 0, $33_1 = 0, $117$hi = 0, $118$hi = 0, $177_1 = 0, $185_1 = 0, $107_1 = 0, $244_1 = 0, $64_1 = 0, $111_1 = 0, $323_1 = 0, $332_1 = 0, $117_1 = 0, $348_1 = 0, $101_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!($176(201 | 0) | 0)) { + break label$2 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 266; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + $756(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0, HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $177_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $177_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $185_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $185_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1117(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 44 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $107_1 = i64toi32_i32$0; + $107$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $108$hi = i64toi32_i32$1; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$1 = $108$hi; + $244_1 = i64toi32_i32$0; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$0 = $108$hi; + i64toi32_i32$0 = __wasm_i64_srem($107_1 | 0, i64toi32_i32$1 | 0, $244_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $64_1 = $39(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] = $64_1; + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 7; + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + label$7 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$7 + } + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $111_1 = i64toi32_i32$1; + $111$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $112$hi = i64toi32_i32$0; + i64toi32_i32$0 = $111$hi; + i64toi32_i32$0 = $112$hi; + $323_1 = i64toi32_i32$1; + i64toi32_i32$0 = $111$hi; + i64toi32_i32$2 = $111_1; + i64toi32_i32$1 = $112$hi; + i64toi32_i32$3 = $323_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $113$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $114$hi = i64toi32_i32$2; + i64toi32_i32$2 = $113$hi; + i64toi32_i32$2 = $114$hi; + i64toi32_i32$2 = $113$hi; + i64toi32_i32$2 = $114$hi; + $332_1 = i64toi32_i32$5; + i64toi32_i32$2 = $113$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$5 = $114$hi; + i64toi32_i32$3 = $332_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $31_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $32_1 = 0 + } else { + $32_1 = 1 + } + $33_1 = $32_1; + } else { + $33_1 = 0 + } + $31_1 = $33_1; + } + label$8 : { + if (!($31_1 & 1 | 0)) { + break label$8 + } + i64toi32_i32$3 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $117_1 = i64toi32_i32$0; + $117$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $118$hi = i64toi32_i32$0; + i64toi32_i32$0 = $117$hi; + i64toi32_i32$0 = $118$hi; + $348_1 = i64toi32_i32$2; + i64toi32_i32$0 = $117$hi; + i64toi32_i32$3 = $117_1; + i64toi32_i32$2 = $118$hi; + i64toi32_i32$5 = $348_1; + i64toi32_i32$1 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + i64toi32_i32$4 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$4 | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + $101_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $101_1 | 0; + } + + function $1115($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $83$hi = 0, $22_1 = 0, $86$hi = 0, $87$hi = 0, $89$hi = 0, $47_1 = 0, $62_1 = 0, $83_1 = 0, $142$hi = 0, $86_1 = 0, $159_1 = 0, $89_1 = 0, $211$hi = 0, $61_1 = 0, $79_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + $83_1 = ($769((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + i64toi32_i32$0 | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0) & 255 | 0; + $83$hi = i64toi32_i32$1; + $22_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = $22_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $142$hi = i64toi32_i32$0; + i64toi32_i32$0 = $83$hi; + i64toi32_i32$0 = $142$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $83$hi; + i64toi32_i32$3 = $83_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $22_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + break label$2; + } + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $86_1 = i64toi32_i32$5; + $86$hi = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $87$hi = i64toi32_i32$2; + i64toi32_i32$2 = $86$hi; + i64toi32_i32$2 = $87$hi; + $159_1 = i64toi32_i32$5; + i64toi32_i32$2 = $86$hi; + i64toi32_i32$5 = $87$hi; + i64toi32_i32$5 = __wasm_i64_srem($86_1 | 0, i64toi32_i32$2 | 0, $159_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + HEAP32[($4_1 + 32 | 0) >> 2] = i64toi32_i32$5; + label$4 : { + label$5 : { + if (!(HEAP32[($4_1 + 32 | 0) >> 2] | 0)) { + break label$5 + } + if (!(((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0 | 0) >= (9 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$2 = 0; + $89_1 = ($769((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0) & 255 | 0; + $89$hi = i64toi32_i32$2; + $47_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = $47_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $211$hi = i64toi32_i32$5; + i64toi32_i32$5 = $89$hi; + i64toi32_i32$5 = $211$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $89$hi; + i64toi32_i32$3 = $89_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $47_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + break label$4; + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$6 : while (1) { + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1118(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, 1 | 0, $4_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $61_1 = HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0; + $62_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $62_1 + 1 | 0; + HEAP8[(($4_1 + 16 | 0) + ($62_1 & 15 | 0) | 0) >> 0] = $61_1; + if (((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0) { + continue label$6 + } + break label$6; + }; + $769($4_1 + 16 | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $79_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $79_1 | 0; + } + + function $1116($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $57$hi = 0, $58$hi = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $57_1 = 0, $86_1 = 0, $53_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $57_1 = i64toi32_i32$0; + $57$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $58$hi = i64toi32_i32$0; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $58$hi; + $86_1 = i64toi32_i32$1; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$2 = $57_1; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$3 = $86_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $11_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $12_1 = 0 + } else { + $12_1 = 1 + } + $13_1 = $12_1; + } else { + $13_1 = 0 + } + $11_1 = $13_1; + } + label$1 : { + label$2 : { + if (!($11_1 & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = 1; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1119(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + if (HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$3 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1114(HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 32 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$3_1 >> 2] = 0; + } + } + label$5 : { + if (!(HEAP32[$3_1 >> 2] | 0)) { + break label$5 + } + $867(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + } + label$6 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1115(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$7 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1118(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $53_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $53_1 | 0; + } + + function $1117($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $35$hi = 0, $36$hi = 0, $14_1 = 0, $15_1 = 0, $16_1 = 0, $35_1 = 0, $72_1 = 0, $39$hi = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $35_1 = i64toi32_i32$0; + $35$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 156 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $36$hi = i64toi32_i32$1; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $36$hi; + $72_1 = i64toi32_i32$0; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$2 = $35_1; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$3 = $72_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $14_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $15_1 = 0 + } else { + $15_1 = 1 + } + $16_1 = $15_1; + } else { + $16_1 = 0 + } + $14_1 = $16_1; + } + label$1 : { + if (!($14_1 & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = 0; + $39$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = $39$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1120(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + $32_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $32_1 | 0; + } + + function $1118($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$6 = 0, $174$hi = 0, $175$hi = 0, $185$hi = 0, $188$hi = 0, $197$hi = 0, $198$hi = 0, $166$hi = 0, $23_1 = 0, $169$hi = 0, $170$hi = 0, $172$hi = 0, $173$hi = 0, $55_1 = 0, $56_1 = 0, $57_1 = 0, $178$hi = 0, $179$hi = 0, $182$hi = 0, $70_1 = 0, $186$hi = 0, $187$hi = 0, $58_1 = 0, $59_1 = 0, $60_1 = 0, $61_1 = 0, $192_1 = 0, $192$hi = 0, $193$hi = 0, $194$hi = 0, $62_1 = 0, $63_1 = 0, $64_1 = 0, $65_1 = 0, $201$hi = 0, $202$hi = 0, $66_1 = 0, $206$hi = 0, $117_1 = 0, $14_1 = 0, $166_1 = 0, $260$hi = 0, $169_1 = 0, $279_1 = 0, $172_1 = 0, $297_1 = 0, $309_1 = 0, $178_1 = 0, $331_1 = 0, $182_1 = 0, $413$hi = 0, $185_1 = 0, $197_1 = 0, $479_1 = 0, $206_1 = 0, $559$hi = 0, $162_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = 0; + i64toi32_i32$2 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + i64toi32_i32$0 | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $166_1 = i64toi32_i32$0; + $166$hi = i64toi32_i32$1; + $23_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $23_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $260$hi = i64toi32_i32$0; + i64toi32_i32$0 = $166$hi; + i64toi32_i32$0 = $260$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $166$hi; + i64toi32_i32$3 = $166_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $23_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 60 | 0) >> 2] = $14_1; + break label$1; + } + i64toi32_i32$0 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $169_1 = i64toi32_i32$5; + $169$hi = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $170$hi = i64toi32_i32$2; + i64toi32_i32$2 = $169$hi; + i64toi32_i32$2 = $170$hi; + $279_1 = i64toi32_i32$5; + i64toi32_i32$2 = $169$hi; + i64toi32_i32$5 = $170$hi; + i64toi32_i32$5 = __wasm_i64_srem($169_1 | 0, i64toi32_i32$2 | 0, $279_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$5; + label$3 : { + if (HEAP32[($5_1 + 44 | 0) >> 2] | 0) { + break label$3 + } + i64toi32_i32$0 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $172_1 = i64toi32_i32$2; + $172$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $173$hi = i64toi32_i32$2; + i64toi32_i32$2 = $172$hi; + i64toi32_i32$2 = $173$hi; + $297_1 = i64toi32_i32$5; + i64toi32_i32$2 = $172$hi; + i64toi32_i32$0 = $172_1; + i64toi32_i32$5 = $173$hi; + i64toi32_i32$3 = $297_1; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $174$hi = i64toi32_i32$4; + i64toi32_i32$0 = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $175$hi = i64toi32_i32$4; + i64toi32_i32$4 = $174$hi; + i64toi32_i32$4 = $175$hi; + i64toi32_i32$4 = $174$hi; + i64toi32_i32$4 = $175$hi; + $309_1 = i64toi32_i32$0; + i64toi32_i32$4 = $174$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = $175$hi; + i64toi32_i32$3 = $309_1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$0 | 0)) { + $55_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $56_1 = 0 + } else { + $56_1 = 1 + } + $57_1 = $56_1; + } else { + $57_1 = 0 + } + $55_1 = $57_1; + } + label$4 : { + label$5 : { + if (!($55_1 & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$4; + } + i64toi32_i32$3 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $178_1 = i64toi32_i32$2; + $178$hi = i64toi32_i32$4; + i64toi32_i32$3 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $179$hi = i64toi32_i32$2; + i64toi32_i32$2 = $178$hi; + i64toi32_i32$2 = $179$hi; + $331_1 = i64toi32_i32$4; + i64toi32_i32$2 = $178$hi; + i64toi32_i32$3 = $178_1; + i64toi32_i32$4 = $179$hi; + i64toi32_i32$0 = $331_1; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$2 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$1 >> 31 | 0; + $182_1 = i64toi32_i32$1; + $182$hi = i64toi32_i32$3; + $70_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $70_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $413$hi = i64toi32_i32$1; + i64toi32_i32$1 = $182$hi; + i64toi32_i32$1 = $413$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $182$hi; + i64toi32_i32$0 = $182_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $70_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + break label$7; + } + label$9 : { + if (!((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$5 = 0; + $185_1 = 128; + $185$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $186$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $187$hi = i64toi32_i32$5; + i64toi32_i32$5 = $186$hi; + i64toi32_i32$5 = $187$hi; + i64toi32_i32$5 = $186$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $187$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$3 | 0; + $58_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $58_1 = i64toi32_i32$1 << i64toi32_i32$3 | 0; + } + $188$hi = i64toi32_i32$2; + i64toi32_i32$2 = $185$hi; + i64toi32_i32$2 = $188$hi; + i64toi32_i32$2 = $185$hi; + i64toi32_i32$2 = $188$hi; + i64toi32_i32$2 = $185$hi; + i64toi32_i32$5 = $185_1; + i64toi32_i32$1 = $188$hi; + i64toi32_i32$0 = $58_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$1 | 0)) { + $59_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$5 >>> 0 <= i64toi32_i32$0 >>> 0) { + $60_1 = 0 + } else { + $60_1 = 1 + } + $61_1 = $60_1; + } else { + $61_1 = 0 + } + $59_1 = $61_1; + } + label$10 : { + label$11 : { + if (!($59_1 & 1 | 0)) { + break label$11 + } + i64toi32_i32$5 = 0; + $192_1 = 128; + $192$hi = i64toi32_i32$5; + break label$10; + } + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $193$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $194$hi = i64toi32_i32$5; + i64toi32_i32$5 = $193$hi; + i64toi32_i32$5 = $194$hi; + i64toi32_i32$5 = $193$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $194$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$3 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$3 | 0; + $62_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $62_1 = i64toi32_i32$0 << i64toi32_i32$3 | 0; + } + $192_1 = $62_1; + $192$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $192$hi; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $192_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$2; + label$12 : { + label$13 : while (1) { + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $197_1 = i64toi32_i32$0; + $197$hi = i64toi32_i32$2; + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $198$hi = i64toi32_i32$0; + i64toi32_i32$0 = $197$hi; + i64toi32_i32$0 = $198$hi; + i64toi32_i32$0 = $197$hi; + i64toi32_i32$0 = $198$hi; + $479_1 = i64toi32_i32$2; + i64toi32_i32$0 = $197$hi; + i64toi32_i32$5 = $197_1; + i64toi32_i32$2 = $198$hi; + i64toi32_i32$1 = $479_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { + $63_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$5 >>> 0 <= i64toi32_i32$1 >>> 0) { + $64_1 = 0 + } else { + $64_1 = 1 + } + $65_1 = $64_1; + } else { + $65_1 = 0 + } + $63_1 = $65_1; + } + if (!($63_1 & 1 | 0)) { + break label$12 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $201$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $202$hi = i64toi32_i32$0; + i64toi32_i32$0 = $201$hi; + i64toi32_i32$0 = $202$hi; + i64toi32_i32$0 = $201$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $202$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$3 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$1 << i64toi32_i32$3 | 0; + $66_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$3 | 0) | 0; + $66_1 = i64toi32_i32$1 << i64toi32_i32$3 | 0; + } + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $66_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$5; + continue label$13; + }; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $45(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$14 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + $3288(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$1 >> 31 | 0; + $206_1 = i64toi32_i32$1; + $206$hi = i64toi32_i32$5; + $117_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = $117_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $559$hi = i64toi32_i32$1; + i64toi32_i32$1 = $206$hi; + i64toi32_i32$1 = $559$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $206$hi; + i64toi32_i32$2 = $206_1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $117_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$3; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) - (HEAP32[($5_1 + 40 | 0) >> 2] | 0) | 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + label$17 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1118(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $5_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$18 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $3288((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 52 | 0) >> 2] | 0) - (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0) | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) - (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0; + continue label$16; + }; + } + HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + } + $162_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $162_1 | 0; + } + + function $1119($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $3_1 = 0, i64toi32_i32$1 = 0, $30$hi = 0, $31$hi = 0, $9_1 = 0, $15_1 = 0, $65_1 = 0, $75_1 = 0, $30_1 = 0, $87_1 = 0, $25_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1121(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $9_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0; + i64toi32_i32$2 = ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $65_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1; + HEAP32[i64toi32_i32$0 >> 2] = $65_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $15_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $15_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $75_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1 + $15_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $75_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $30_1 = i64toi32_i32$0; + $30$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $31$hi = i64toi32_i32$0; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$0 = $31$hi; + $87_1 = i64toi32_i32$1; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$2 = $30_1; + i64toi32_i32$1 = $31$hi; + label$1 : { + if (!(((i64toi32_i32$2 | 0) == ($87_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + } + $25_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $25_1 | 0; + } + + function $1120($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, i64toi32_i32$0 = 0; + $6_1 = global$0 - 32 | 0; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + HEAP32[($6_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] = $7_1; + return $7_1 | 0; + } + + function $1121($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $92$hi = 0, $95$hi = 0, $84$hi = 0, $85$hi = 0, $87$hi = 0, $88$hi = 0, $89$hi = 0, $91$hi = 0, $93$hi = 0, $94$hi = 0, $30_1 = 0, $31_1 = 0, $32_1 = 0, $61_1 = 0, $117_1 = 0, $24_1 = 0, $84_1 = 0, $191_1 = 0, $87_1 = 0, $217_1 = 0, $230_1 = 0, $92_1 = 0, $93_1 = 0, $242_1 = 0, $79_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 112 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 104 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[($3_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $117_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 88 | 0) >> 2] = $117_1; + HEAP32[($3_1 + 92 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 84 | 0) >> 2] = ((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 32 | 0) + 16 | 0; + HEAP32[($3_1 + 80 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 92 | 0) >> 2] | 0; + $1102(HEAP32[(HEAP32[($3_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0, $3_1 + 32 | 0 | 0, HEAP32[((HEAP32[((HEAP32[($3_1 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + label$1 : { + label$2 : while (1) { + if (HEAP32[($3_1 + 104 | 0) >> 2] | 0) { + break label$1 + } + $24_1 = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 56) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + $84_1 = i64toi32_i32$0; + $84$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $85$hi = i64toi32_i32$1; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$1 = $85$hi; + $191_1 = i64toi32_i32$0; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$2 = $84_1; + i64toi32_i32$0 = $85$hi; + i64toi32_i32$3 = $191_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$5; + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == ($24_1 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $87_1 = i64toi32_i32$5; + $87$hi = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $88$hi = i64toi32_i32$2; + i64toi32_i32$2 = $87$hi; + i64toi32_i32$2 = $88$hi; + $217_1 = i64toi32_i32$5; + i64toi32_i32$2 = $87$hi; + i64toi32_i32$1 = $87_1; + i64toi32_i32$5 = $88$hi; + i64toi32_i32$3 = $217_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $89$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + i64toi32_i32$1 = $907(i64toi32_i32$1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $91$hi = i64toi32_i32$4; + i64toi32_i32$4 = $89$hi; + i64toi32_i32$4 = $91$hi; + $230_1 = i64toi32_i32$1; + i64toi32_i32$4 = $89$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = $91$hi; + i64toi32_i32$3 = $230_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $92_1 = i64toi32_i32$5; + $92$hi = i64toi32_i32$0; + i64toi32_i32$4 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 92 | 0) >> 2] | 0; + $93_1 = i64toi32_i32$0; + $93$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $94$hi = i64toi32_i32$2; + i64toi32_i32$2 = $93$hi; + i64toi32_i32$2 = $94$hi; + $242_1 = i64toi32_i32$0; + i64toi32_i32$2 = $93$hi; + i64toi32_i32$4 = $93_1; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$3 = $242_1; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $95$hi = i64toi32_i32$5; + i64toi32_i32$5 = $92$hi; + i64toi32_i32$5 = $95$hi; + i64toi32_i32$5 = $92$hi; + i64toi32_i32$5 = $95$hi; + i64toi32_i32$5 = $92$hi; + i64toi32_i32$2 = $92_1; + i64toi32_i32$4 = $95$hi; + i64toi32_i32$3 = i64toi32_i32$1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$4 | 0)) { + $30_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $31_1 = 0 + } else { + $31_1 = 1 + } + $32_1 = $31_1; + } else { + $32_1 = 0 + } + $30_1 = $32_1; + } + label$4 : { + if (!($30_1 & 1 | 0)) { + break label$4 + } + break label$1; + } + $61_1 = $3_1 + 32 | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $1103($61_1 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0); + $1104($61_1 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1016(HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $3_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + continue label$2; + }; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1105($3_1 + 32 | 0 | 0, (HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($3_1 + 104 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($3_1 + 104 | 0) >> 2] = HEAP32[($3_1 + 100 | 0) >> 2] | 0; + } + $79_1 = HEAP32[($3_1 + 104 | 0) >> 2] | 0; + global$0 = $3_1 + 112 | 0; + return $79_1 | 0; + } + + function $1122($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $54$hi = 0, $44_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $51$hi = 0, $164_1 = 0, $54_1 = 0, $174$hi = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1096(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $51$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1101(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] = i64toi32_i32$1; + } + label$3 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + $164_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $164_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $54_1 = i64toi32_i32$1; + $54$hi = i64toi32_i32$0; + $44_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = $44_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + $174$hi = i64toi32_i32$1; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$1 = $174$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$3 = $54_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $44_1; + HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] = i64toi32_i32$5; + } + } + label$4 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1116(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $48_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $48_1 | 0; + } + + function $1123($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $36_1 = 0, i64toi32_i32$0 = 0, $76_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 384 | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($68(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $308(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $36_1 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $36_1; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 60 | 0; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] = 1; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 60 | 0; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 0] = 2; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 60 | 0; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 0] = 3; + $3288(HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $474((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 384 | 0 | 0, HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != ($36_1 | 0) & 1 | 0)) { + break label$3 + } + $118(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + $13(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + } + } + } + $76_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $76_1 | 0; + } + + function $1124($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $43_1 = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (($1127(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0) >>> 0) % ((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$5_1 >> 2] = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + label$4 : { + label$5 : { + label$6 : while (1) { + $43_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $43_1 + -1 | 0; + if (!$43_1) { + break label$5 + } + label$7 : { + if ($88(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$4; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + continue label$6; + }; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 114628; + } + $54_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $54_1 | 0; + } + + function $1125($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $58_1 = 0, $63_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + } + label$3 : { + if (!((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[$5_1 >> 2] = (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0; + label$5 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + } + $58_1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[$58_1 >> 2] = (HEAP32[$58_1 >> 2] | 0) + -1 | 0; + } + $42(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $63_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($63_1 + 4 | 0) >> 2] = (HEAP32[($63_1 + 4 | 0) >> 2] | 0) + -1 | 0; + label$6 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$6 + } + $209(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1126($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $45_1 = 0, i64toi32_i32$0 = 0, $78_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + if (!(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0) >>> 0 > 1024 >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 128; + } + label$2 : { + label$3 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$2; + } + $449(); + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $39((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $450(); + label$4 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$2; + } + $42(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + $45_1 = ($16(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0) >>> 3 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $45_1; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = $45_1; + $3289(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (($1127(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0) >>> 0) % ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $1128(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + continue label$6; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + $78_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $78_1 | 0; + } + + function $1127($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + $5_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $5_1 + 1 | 0; + $8_1 = HEAPU8[$5_1 >> 0] | 0; + HEAP8[($3_1 + 7 | 0) >> 0] = $8_1; + if (!($8_1 & 255 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + ((HEAPU8[(((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, -1640531535); + continue label$2; + }; + } + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $1128($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $17_1 = 0, $20_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0)) { + break label$4 + } + $17_1 = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$3; + } + $17_1 = 0; + } + HEAP32[$5_1 >> 2] = $17_1; + $20_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[$20_1 >> 2] = (HEAP32[$20_1 >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP32[$5_1 >> 2] = 0; + } + label$5 : { + label$6 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$7; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$5; + } + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$9 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + return; + } + + function $1129($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $127(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $154(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, 1 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $11_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $11_1 | 0; + } + + function $1130($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $35$hi = 0, $36$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $15_1 = 0, $13_1 = 0, $32_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $13_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $35$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $36$hi = i64toi32_i32$1; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $15_1 = $365($13_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + break label$1; + } + $15_1 = 0; + } + HEAP32[($5_1 + 12 | 0) >> 2] = $15_1; + label$3 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $3288(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + i64toi32_i32$2 | 0) >> 0] = 0; + } + $32_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $32_1 | 0; + } + + function $1131($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $15_1 = 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $15_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == ($15_1 | 0) & 1 | 0)) { + break label$4 + } + break label$3; + } + label$5 : { + if ($125(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + $32_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $129(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, $32_1 | 0, $32_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if ((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0) { + break label$7 + } + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) == (3082 | 0) & 1 | 0)) { + break label$6 + } + } + $118(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$8 + } + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 1; + } + $913(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0, $3_1 + 12 | 0 | 0); + label$9 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[(HEAP32[(((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $407(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = 17; + } + label$10 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$10 + } + $1022(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $1132($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $28_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP8[($6_1 + 3 | 0) >> 0] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 148 | 0) >> 0] = HEAPU8[($6_1 + 3 | 0) >> 0] | 0; + label$3 : { + if (((HEAPU8[($6_1 + 3 | 0) >> 0] | 0) & 255 | 0) & 128 | 0) { + break label$3 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 208 | 0) >> 2] = 0; + } + i64toi32_i32$1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $28_1 = $1130(HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 188 | 0) >> 2] = $28_1; + } + global$0 = $6_1 + 16 | 0; + return; + } + + function $1133($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0, $19_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $16_1 = 1; + label$1 : { + if (!($88(HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + $19_1 = 0; + label$2 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + $19_1 = ($88(8749 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (0 | 0); + } + $16_1 = $19_1; + } + global$0 = $5_1 + 16 | 0; + return $16_1 & 1 | 0 | 0; + } + + function $1134($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, i64toi32_i32$0 = 0, $13_1 = 0, $16_1 = 0, $30_1 = 0, $32_1 = 0, $38_1 = 0, $68_1 = 0, $24_1 = 0, $25_1 = 0, $26_1 = 0, i64toi32_i32$1 = 0, $27_1 = 0, $136_1 = 0, $139_1 = 0, $143_1 = 0, $158_1 = 0, $60_1 = 0, $124_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = 0; + label$1 : while (1) { + $13_1 = 24; + $16_1 = 0; + label$2 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $13_1 | 0) >> $13_1 | 0)) { + break label$2 + } + $16_1 = (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($16_1 & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + label$4 : while (1) { + $30_1 = 24; + $32_1 = ((HEAPU8[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = $32_1; + $38_1 = 0; + label$5 : { + if (!(($32_1 | 0) >= (48 | 0) & 1 | 0)) { + break label$5 + } + $38_1 = (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) <= (57 | 0); + } + label$6 : { + if (!($38_1 & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 12 | 0) >> 2] = (Math_imul(HEAP32[($7_1 + 12 | 0) >> 2] | 0, 10) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0) - 48 | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + i64toi32_i32$0 = 0; + $60_1 = $937(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP16[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = $60_1; + $68_1 = 24; + label$7 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $68_1 | 0) >> $68_1 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $20_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $24_1 = (HEAPU8[($20_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($20_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 65531 | 0; + HEAP8[($20_1 + 55 | 0) >> 0] = $24_1; + HEAP8[($20_1 + 56 | 0) >> 0] = $24_1 >>> 8 | 0; + $21_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $25_1 = (HEAPU8[($21_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($21_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & -65 | 0; + HEAP8[($21_1 + 55 | 0) >> 0] = $25_1; + HEAP8[($21_1 + 56 | 0) >> 0] = $25_1 >>> 8 | 0; + label$8 : { + label$9 : while (1) { + if (!(((HEAPU8[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + label$10 : { + label$11 : { + if ($396(8808 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0) { + break label$11 + } + $22_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $26_1 = HEAPU8[($22_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($22_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 4 | 0; + HEAP8[($22_1 + 55 | 0) >> 0] = $26_1; + HEAP8[($22_1 + 56 | 0) >> 0] = $26_1 >>> 8 | 0; + break label$10; + } + label$12 : { + label$13 : { + if ($396(8819 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0) { + break label$13 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1135((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 3 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($7_1 + 8 | 0) >> 2] = 2; + } + i64toi32_i32$1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $124_1 = $937(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP16[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 1] = $124_1; + break label$12; + } + label$15 : { + if ($396(8829 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0) { + break label$15 + } + $23_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $27_1 = HEAPU8[($23_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($23_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 64 | 0; + HEAP8[($23_1 + 55 | 0) >> 0] = $27_1; + HEAP8[($23_1 + 56 | 0) >> 0] = $27_1 >>> 8 | 0; + } + } + } + label$16 : while (1) { + $136_1 = 24; + $139_1 = 0; + label$17 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $136_1 | 0) >> $136_1 | 0)) { + break label$17 + } + $143_1 = 24; + $139_1 = (((HEAPU8[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $143_1 | 0) >> $143_1 | 0 | 0) != (32 | 0); + } + label$18 : { + if (!($139_1 & 1 | 0)) { + break label$18 + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + } + break label$16; + }; + label$19 : { + label$20 : while (1) { + $158_1 = 24; + if (!((((HEAPU8[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $158_1 | 0) >> $158_1 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + continue label$9; + }; + } + global$0 = $7_1 + 48 | 0; + return; + } + + function $1135($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + $341(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0) | 0; + $9_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $9_1 | 0; + } + + function $1136($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return; + } + + function $1137($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8404992 | 0) { + break label$1 + } + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (175 | 0) & 1 | 0)) { + break label$2 + } + $1137(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $1137(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$6 + } + $1139(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + break label$5; + } + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$7 + } + $1140(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + } + } + } + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 65536 | 0)) { + break label$8 + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + } + label$9 : { + if ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 134217728 | 0) { + break label$9 + } + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1138($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $22_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0; + label$1 : while (1) { + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 16 | 0; + $22_1 = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $22_1; + if (($22_1 | 0) > (0 | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1139($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1141(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1140($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1142(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1141($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $382(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $1143(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + $18(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + $382(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $18(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + $382(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + $18(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $1144(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $424(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + label$5 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$5 + } + $23(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = 1; + continue label$2; + }; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1142($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + } + return; + } + + function $1143($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $53_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + label$6 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + $53_1 = 1; + label$7 : { + if (!((((HEAPU8[((HEAP32[$4_1 >> 2] | 0) + 37 | 0) >> 0] | 0) >>> $53_1 | 0) & $53_1 | 0) & 255 | 0)) { + break label$7 + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!((((HEAPU8[((HEAP32[$4_1 >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0)) { + break label$8 + } + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + $11(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + label$9 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $1139(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + label$10 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $19(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 72 | 0; + continue label$4; + }; + } + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1144($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $1140(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1145($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0, $21_1 = 0, $35_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$3 + } + if (HEAP32[($4_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + } + $14_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $1033($14_1 | 0, 9137 | 0, $4_1 | 0); + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if (!($1036(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + $21_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $1033($21_1 | 0, 9160 | 0, $4_1 + 16 | 0 | 0); + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0; + label$5 : { + if (!(HEAP32[($4_1 + 32 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + $1031(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $35_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $35_1 | 0; + } + + function $1146($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $8_1 = 0, $19_1 = 0, $25_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $8_1 = (HEAP32[$5_1 >> 2] | 0) + 1 | 0; + HEAP32[$5_1 >> 2] = $8_1; + HEAP32[$4_1 >> 2] = $8_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : while (1) { + $19_1 = (HEAP32[$4_1 >> 2] | 0) >>> 1 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $19_1; + $25_1 = 0; + label$2 : { + if (!($19_1 >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$2 + } + $25_1 = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0; + } + label$3 : { + if (!($25_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + return; + } + + function $1147($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $25_1 = 0, $31_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + $6_1 = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if ($6_1) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + $25_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[$25_1 >> 2] = (HEAP32[$25_1 >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + label$3 : { + label$4 : while (1) { + $31_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $31_1; + if (!($31_1 >>> 0 <= (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + break label$3; + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $1148($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $47_1 = 0, $45_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1148(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $45_1 = $1148(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = $45_1; + break label$3; + } + $47_1 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = $47_1; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = $47_1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $56_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $56_1 | 0; + } + + function $1149($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $1152(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $1150($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $23_1 = 0, $24_1 = 0, $18_1 = 0, $91_1 = 0, $109_1 = 0, $118_1 = 0, $124_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 7 | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] = 1; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] = $18_1; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 9 | 0) >> 0] = $18_1; + break label$1; + } + $23_1 = 1; + $24_1 = 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == ($23_1 | 0) & 1 | 0 ? $23_1 : $24_1; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 >= 3 >>> 0 & 1 | 0 ? $23_1 : $24_1; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 9 | 0) >> 0] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0 ? $23_1 : $24_1; + } + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] = 0; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 8 | 0)) { + break label$6 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] = 3; + break label$5; + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] = 2; + } + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 11 | 0) >> 0] = ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) << 2 | 0; + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + $91_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP8[($91_1 + 11 | 0) >> 0] = (HEAPU8[($91_1 + 11 | 0) >> 0] | 0) & 255 | 0 | ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0; + } + label$8 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 16 | 0)) { + break label$8 + } + if (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$8 + } + $109_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP8[($109_1 + 11 | 0) >> 0] = (HEAPU8[($109_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 12 | 0; + } + label$9 : { + label$10 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 32 | 0)) { + break label$10 + } + $118_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP8[($118_1 + 20 | 0) >> 0] = ((HEAPU8[($118_1 + 20 | 0) >> 0] | 0) & 255 | 0) & -2 | 0; + break label$9; + } + $124_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP8[($124_1 + 20 | 0) >> 0] = (HEAPU8[($124_1 + 20 | 0) >> 0] | 0) & 255 | 0 | 1 | 0; + } + return; + } + + function $1151($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + $632(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1152($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $39$hi = 0, $40$hi = 0, $41$hi = 0, $42$hi = 0, $12_1 = 0, $41_1 = 0, $92_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $39$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $40$hi = i64toi32_i32$0; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$0 = $40$hi; + i64toi32_i32$0 = $39$hi; + $12_1 = i64toi32_i32$1; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = __wasm_i64_mul($12_1 | 0, i64toi32_i32$0 | 0, -1024 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $41_1 = i64toi32_i32$1; + $41$hi = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $42$hi = i64toi32_i32$0; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$0 = $42$hi; + $92_1 = i64toi32_i32$1; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = __wasm_i64_sdiv($41_1 | 0, i64toi32_i32$0 | 0, $92_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + HEAP32[($4_1 + 8 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $649(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + $36_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $36_1 | 0; + } + + function $1153($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + } + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $1154($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!($368(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, 1 | 0) | 0)) { + break label$2 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $367(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $18_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $18_1 | 0; + } + + function $1155($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $5_1 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 63; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) <= (HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 16 | 0) >> 2] = ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $87(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(11776 + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($3_1 + 12 | 0) >> 2] | 0) { + break label$3 + } + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) - 1 | 0; + break label$4; + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + continue label$2; + }; + } + label$6 : { + label$7 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $48_1 = 0; + break label$6; + } + $48_1 = 11776 + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0; + } + global$0 = $3_1 + 32 | 0; + return $48_1 | 0; + } + + function $1156($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $44_1 = 0, $45_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 2 | 0) << 2 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!(((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 3 | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + $349($26_1 | 0, 14253 | 0, $5_1 | 0); + } + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $70(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $13(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0); + break label$2; + } + $44_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $45_1 = HEAP32[($44_1 + 56 | 0) >> 2] | 0; + HEAP32[($44_1 + 56 | 0) >> 2] = $45_1 + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $45_1; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1157($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, $9_1 = 0, i64toi32_i32$0 = 0, $138_1 = 0, $12_1 = 0, $36_1 = 0, $97_1 = 0, $113_1 = 0, $38_1 = 0, $131_1 = 0, $135_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 320 | 0; + global$0 = $8_1; + $9_1 = 0; + $12_1 = $8_1 + 248 | 0; + HEAP32[($8_1 + 316 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 312 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 308 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 304 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 300 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 296 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 292 | 0) >> 2] = HEAP32[($8_1 + 312 | 0) >> 2] | 0; + HEAP32[($8_1 + 288 | 0) >> 2] = $9_1; + HEAP8[($8_1 + 275 | 0) >> 0] = 40; + $77($12_1 | 0, $9_1 | 0, $8_1 + 48 | 0 | 0, 200 | 0, $9_1 | 0); + $60($12_1 | 0, 13748 | 0); + HEAP32[($8_1 + 280 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 276 | 0) >> 2] = (HEAPU8[((HEAP32[($8_1 + 292 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($8_1 + 280 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($8_1 + 292 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $36_1 = 24; + $38_1 = ((HEAPU8[($8_1 + 275 | 0) >> 0] | 0) << $36_1 | 0) >> $36_1 | 0; + HEAP32[($8_1 + 4 | 0) >> 2] = HEAP32[(13776 + ((HEAP32[($8_1 + 276 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[$8_1 >> 2] = $38_1; + $84($8_1 + 248 | 0 | 0, 13763 | 0, $8_1 | 0); + HEAP8[($8_1 + 275 | 0) >> 0] = 44; + HEAP32[($8_1 + 280 | 0) >> 2] = (HEAP32[($8_1 + 280 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 276 | 0) >> 2] = (HEAP32[($8_1 + 276 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$3 : { + if (HEAP32[($8_1 + 280 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 292 | 0) >> 2] | 0) >> 2] | 0; + $84($8_1 + 248 | 0 | 0, 13980 | 0, $8_1 + 32 | 0 | 0); + HEAP32[($8_1 + 280 | 0) >> 2] = (HEAP32[($8_1 + 280 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($8_1 + 276 | 0) >> 2] = 0; + label$4 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 292 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 32 | 0)) { + break label$4 + } + $60($8_1 + 248 | 0 | 0, 13986 | 0); + HEAP32[($8_1 + 276 | 0) >> 2] = (HEAP32[($8_1 + 276 | 0) >> 2] | 0) + 1 | 0; + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 292 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 192 | 0)) { + break label$5 + } + $60($8_1 + 248 | 0 | 0, 13998 | 0); + HEAP32[($8_1 + 276 | 0) >> 2] = (HEAP32[($8_1 + 276 | 0) >> 2] | 0) + 1 | 0; + } + $97_1 = $8_1 + 248 | 0; + $51($97_1 | 0, 5213 | 0, 1 | 0); + $72($97_1 | 0) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $414(HEAP32[($8_1 + 316 | 0) >> 2] | 0 | 0, $8_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 284 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (HEAP32[($8_1 + 284 | 0) >> 2] | 0) { + break label$7 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $38(24 | 0) | 0), HEAP32[(wasm2js_i32$0 + 288 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if (!((HEAP32[($8_1 + 288 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($8_1 + 284 | 0) >> 2] = 7; + break label$8; + } + $113_1 = HEAP32[($8_1 + 288 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $138_1 = 0; + i64toi32_i32$1 = $113_1; + HEAP32[i64toi32_i32$1 >> 2] = $138_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $138_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $113_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $138_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($8_1 + 288 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($8_1 + 292 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 288 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 316 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 288 | 0) >> 2] | 0) + 21 | 0) >> 0] = HEAP32[($8_1 + 280 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 288 | 0) >> 2] | 0) + 20 | 0) >> 0] = HEAP32[($8_1 + 276 | 0) >> 2] | 0; + } + break label$6; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $380(HEAP32[($8_1 + 316 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $131_1 = $79(1976 | 0, $8_1 + 16 | 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 296 | 0) >> 2] | 0) >> 2] = $131_1; + } + HEAP32[(HEAP32[($8_1 + 300 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 288 | 0) >> 2] | 0; + $135_1 = HEAP32[($8_1 + 284 | 0) >> 2] | 0; + global$0 = $8_1 + 320 | 0; + return $135_1 | 0; + } + + function $1158($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $12_1 = 0, i64toi32_i32$0 = 0; + $4_1 = global$0 - 48 | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAPF64[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 3] = 1.0; + label$1 : { + label$2 : { + if ((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $12_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $12_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $12_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $12_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + label$6 : { + if ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + break label$5; + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$7 + } + break label$5; + } + label$8 : { + if (!((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$5; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) - ((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[(($4_1 + 12 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0; + continue label$4; + }; + } + label$9 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$9 + } + i64toi32_i32$0 = 0; + HEAPF64[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 3] = 2147483647.0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 2147483647; + HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = 1; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 1; + label$10 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = 0; + HEAPF64[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 3] = 20.0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 20; + HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) - 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = 2; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 1; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0; + } + + function $1159($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $1160($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $28_1 = 0, $16_1 = 0, $25_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $38(24 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $16_1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = 0; + $28_1 = 0; + i64toi32_i32$1 = $16_1; + HEAP32[i64toi32_i32$1 >> 2] = $28_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $28_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $28_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $25_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $25_1 | 0; + } + + function $1161($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $1162(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $1162($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$1 + } + $42(HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1163($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $74_1 = 0, $8_1 = 0, $77_1 = 0, $45_1 = 0, $146_1 = 0, $151_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 144 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 136 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 132 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 128 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 124 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 120 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 116 | 0) >> 2] = HEAP32[($7_1 + 136 | 0) >> 2] | 0; + HEAP32[($7_1 + 112 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] | 0; + $1162(HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 100 | 0) >> 2] = ((HEAPU8[((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 32 | 0 ? $8_1 : 1; + HEAP32[($7_1 + 104 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[$7_1 >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + $45_1 = $79(1976 | 0, $7_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($7_1 + 100 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $45_1; + label$5 : { + if (!((HEAP32[(((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($7_1 + 100 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 140 | 0) >> 2] = 7; + break label$1; + } + } + HEAP32[($7_1 + 104 | 0) >> 2] = (HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 100 | 0) >> 2] = (HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $74_1 = 0; + $77_1 = $7_1 + 72 | 0; + $77($77_1 | 0, $74_1 | 0, $74_1 | 0, $74_1 | 0, HEAP32[((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0); + $60($77_1 | 0, 14237 | 0); + label$6 : { + if (!((HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != ($74_1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $84($7_1 + 72 | 0 | 0, 14245 | 0, $7_1 + 48 | 0 | 0); + } + $60($7_1 + 72 | 0 | 0, HEAP32[(HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] | 0 | 0); + label$7 : { + if (!((HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $84($7_1 + 72 | 0 | 0, 14249 | 0, $7_1 + 32 | 0 | 0); + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $72($7_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 140 | 0) >> 2] = 7; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $402(HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, -1 | 0, (HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + label$9 : { + if (!(HEAP32[($7_1 + 108 | 0) >> 2] | 0)) { + break label$9 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $380(HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $146_1 = $79(1976 | 0, $7_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 8 | 0) >> 2] = $146_1; + HEAP32[($7_1 + 140 | 0) >> 2] = HEAP32[($7_1 + 108 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1164(HEAP32[($7_1 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + } + $151_1 = HEAP32[($7_1 + 140 | 0) >> 2] | 0; + global$0 = $7_1 + 144 | 0; + return $151_1 | 0; + } + + function $1164($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $7_1 = 0, $25$hi = 0, $26$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $4_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 100; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + $7_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $25$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $26$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $7_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$5; + label$1 : { + if (!(($4_1 | 0) != ($287(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $213(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + $1162(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + $22_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $22_1 | 0; + } + + function $1165($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + return (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0 | 0; + } + + function $1166($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $24_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $280(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $320(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0); + break label$1; + } + $24_1 = -1; + $277(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 16 | 0) + (((HEAP32[($5_1 + 20 | 0) >> 2] | 0) - ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $24_1 | 0, $24_1 | 0); + } + global$0 = $5_1 + 32 | 0; + return 0 | 0; + } + + function $1167($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $29_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $29_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return 0 | 0; + } + + function $1168($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $53_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 480 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$5; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $53_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$7; + } + $53_1 = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 8 | 0) >> 2] = $53_1; + $474((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 56 | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + label$9 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + } + $1171(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $1171(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $13(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1169($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, $17_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $7_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $7_1; + label$1 : { + if (!(($7_1 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + $17_1 = 16; + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $17_1 | 0) >> $17_1 | 0 | 0) & 1 | 0)) { + break label$2 + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0); + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 20 | 0; + continue label$3; + }; + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1170($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 480 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + } + $1057(0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$6 + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1171($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + $1139(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1172($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0); + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1173($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $63_1 = 0, $212_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$3 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (173 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0; + } + label$4 : { + label$5 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (166 | 0) & 1 | 0) { + break label$5 + } + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (164 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (77 | 0) & 1 | 0)) { + break label$4 + } + } + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $63_1 = 16; + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $63_1 | 0) >> $63_1 | 0; + label$6 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 20) | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $498(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + break label$1; + } + label$7 : { + label$8 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (36 | 0) & 1 | 0) { + break label$8 + } + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (171 | 0) & 1 | 0)) { + break label$7 + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + } + label$9 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (174 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$2; + } + label$10 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1174(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0 | 0, 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$11 : { + label$12 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0)) { + break label$12 + } + label$13 : { + label$14 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0)) { + break label$14 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$13; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$15 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + if (((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$15 + } + if ((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0) { + break label$15 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + label$18 : { + if (!((HEAP32[((HEAP32[(((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0)) { + break label$18 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + break label$16; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + break label$11; + } + break label$1; + } + continue label$2; + }; + } + label$19 : { + if (!($1175(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) | 0)) { + break label$19 + } + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + } + $212_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $212_1 | 0; + } + + function $1174($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $77_1 = 0, $82_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP8[($6_1 + 27 | 0) >> 0] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $498(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($6_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if ((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + } + $1176(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($6_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $498(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($6_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if ((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + if (!($1177(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + } + label$5 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $77_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + $349($77_1 | 0, 14330 | 0, $6_1 | 0); + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = 257; + } + $82_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $82_1 | 0; + } + + function $1175($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1174(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $41_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $41_1 | 0; + } + + function $1176($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $41_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $291(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + break label$1; + } + FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0); + $13(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 248 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $41_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $117(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $120(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, $41_1 | 0); + $55_1 = 24; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $232(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $55_1 | 0) >> $55_1 | 0 ? 2 : 3) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != ($41_1 | 0) & 1 | 0)) { + break label$4 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 248 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0, (HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0); + } + $212(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1177($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15_1 = 0, $30_1 = 0, $31_1 = 0, $33_1 = 0, $37_1 = 0, $118_1 = 0, $138_1 = 0, $45_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $498(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 14361 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $15_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($15_1 | 0) & 1 | 0)) { + break label$4 + } + $30_1 = 0; + $31_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $118_1 = i64toi32_i32$0; + i64toi32_i32$0 = $31_1; + HEAP32[i64toi32_i32$0 >> 2] = $118_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $33_1 = 16; + HEAP32[(i64toi32_i32$0 + $33_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $33_1 | 0) >> 2] | 0; + $37_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $37_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $138_1 = i64toi32_i32$1; + i64toi32_i32$1 = $31_1 + $37_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $138_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = $30_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $30_1; + break label$1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + $45_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $45_1 | 0; + } + + function $1178($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, $66_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : while (1) { + $10_1 = $418(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, $3_1 + 4 | 0 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + $10_1 | 0; + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (179 | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + label$2 : { + label$3 : { + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (59 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (115 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (116 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (161 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (162 | 0) & 1 | 0) { + break label$3 + } + if (!(($1186(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (59 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($3_1 + 4 | 0) >> 2] = 59; + } + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $66_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $66_1 | 0; + } + + function $1179($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP16[($4_1 + 28 | 0) >> 1] = $0_1; + HEAP16[($4_1 + 26 | 0) >> 1] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[($4_1 + 26 | 0) >> 1] | 0) & 65535 | 0 | 0) > (552 | 0) & 1 | 0)) { + break label$2 + } + HEAP16[($4_1 + 30 | 0) >> 1] = HEAPU16[($4_1 + 26 | 0) >> 1] | 0; + break label$1; + } + label$3 : while (1) { + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAPU16[(14784 + (((HEAPU16[($4_1 + 26 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + ((HEAPU16[($4_1 + 28 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$4 : { + label$5 : { + if (!(((HEAPU16[(15904 + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) != ((HEAPU16[($4_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP16[($4_1 + 18 | 0) >> 1] = HEAPU16[(14416 + (((HEAPU16[($4_1 + 28 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0; + label$6 : { + if (!((HEAPU16[($4_1 + 18 | 0) >> 1] | 0) & 65535 | 0)) { + break label$6 + } + HEAP16[($4_1 + 28 | 0) >> 1] = HEAPU16[($4_1 + 18 | 0) >> 1] | 0; + break label$4; + } + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - ((HEAPU16[($4_1 + 28 | 0) >> 1] | 0) & 65535 | 0) | 0) + 100 | 0; + label$7 : { + if (!(((HEAPU16[(15904 + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$7 + } + if (!(((HEAPU16[($4_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP16[($4_1 + 30 | 0) >> 1] = HEAPU16[(20192 + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + break label$1; + } + HEAP16[($4_1 + 30 | 0) >> 1] = HEAPU16[(24128 + (((HEAPU16[($4_1 + 26 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0; + break label$1; + } + HEAP16[($4_1 + 30 | 0) >> 1] = HEAPU16[(20192 + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + break label$1; + } + if (1 & 1 | 0) { + continue label$3 + } + break label$3; + }; + } + return (HEAPU16[($4_1 + 30 | 0) >> 1] | 0) & 65535 | 0 | 0; + } + + function $1180($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $674_1 = 0, $2799_1 = 0, $318_1 = 0, $1287_1 = 0, $468_1 = 0, $848_1 = 0, $837_1 = 0, $572_1 = 0, $1196_1 = 0, $1853_1 = 0, $1277_1 = 0, $1448_1 = 0, $1672_1 = 0, $1951_1 = 0, $1952_1 = 0, $2086_1 = 0, $2220_1 = 0, $2548_1 = 0, $3021_1 = 0, $3484 = 0, $3845 = 0, $12_1 = 0, $26_1 = 0, $67_1 = 0, $110_1 = 0, $157_1 = 0, $387_1 = 0, $394_1 = 0, $575_1 = 0, $707_1 = 0, $712_1 = 0, $866_1 = 0, $957_1 = 0, $1121_1 = 0, $1229_1 = 0, $1267_1 = 0, $1268_1 = 0, $1272_1 = 0, $1320_1 = 0, $1324_1 = 0, $1392_1 = 0, $1413_1 = 0, $1480_1 = 0, $1654_1 = 0, $1802_1 = 0, $1838_1 = 0, $1903_1 = 0, $1904_1 = 0, $2035_1 = 0, $2161_1 = 0, $2196_1 = 0, $2212_1 = 0, $2261_1 = 0, $2305_1 = 0, $2309_1 = 0, $2318_1 = 0, $2369_1 = 0, $2373_1 = 0, $2382_1 = 0, $2440_1 = 0, $2650_1 = 0, $2694_1 = 0, $2749_1 = 0, $2831_1 = 0, $2869_1 = 0, $2871_1 = 0, $2881_1 = 0, $2921_1 = 0, $3148_1 = 0, $3285_1 = 0, $3561 = 0, $3572 = 0, $3797 = 0, $3831 = 0, $4055 = 0, $142_1 = 0, $144_1 = 0, $4542 = 0, $4556 = 0, $278_1 = 0, $4707 = 0, $5328 = 0, $5335 = 0, $5339 = 0, $774_1 = 0, $810_1 = 0, $844_1 = 0, $905_1 = 0, $949_1 = 0, $978_1 = 0, $6219 = 0, $1067_1 = 0, $1108_1 = 0, $1142_1 = 0, $1213_1 = 0, $1316_1 = 0, $1397_1 = 0, $1409_1 = 0, $1425_1 = 0, $1443_1 = 0, $1455_1 = 0, $1473_1 = 0, $1487_1 = 0, $1503_1 = 0, $1523_1 = 0, $7326 = 0, $1573_1 = 0, $1593_1 = 0, $1626_1 = 0, $1638_1 = 0, $1650_1 = 0, $1698_1 = 0, $1725_1 = 0, $1750_1 = 0, $1779_1 = 0, $1834_1 = 0, $1849_1 = 0, $1856_1 = 0, $1875_1 = 0, $1884_1 = 0, $1893_1 = 0, $8065 = 0, $1900_1 = 0, $2009_1 = 0, $2013_1 = 0, $8332 = 0, $2019_1 = 0, $2055_1 = 0, $8422 = 0, $2062_1 = 0, $8457 = 0, $2078_1 = 0, $2089_1 = 0, $2114_1 = 0, $2128_1 = 0, $2233_1 = 0, $2274_1 = 0, $2291_1 = 0, $8945 = 0, $2340_1 = 0, $2352_1 = 0, $2411_1 = 0, $2423_1 = 0, $2454_1 = 0, $2465_1 = 0, $2478_1 = 0, $2498_1 = 0, $2519_1 = 0, $2542_1 = 0, $2566_1 = 0, $2598_1 = 0, $2627_1 = 0, $2675_1 = 0, $2690_1 = 0, $2701_1 = 0, $2744_1 = 0, $2751_1 = 0, $2771_1 = 0, $2795_1 = 0, $2823_1 = 0, $2843_1 = 0, $2864_1 = 0, $2888_1 = 0, $2957_1 = 0, $2968_1 = 0, $2978_1 = 0, $2989_1 = 0, $3003_1 = 0, $3011_1 = 0, $3108_1 = 0, $3125_1 = 0, $10961 = 0, $10973 = 0, $11110 = 0, $3487 = 0, $3515 = 0, $3677 = 0, $3699 = 0, $3747 = 0, $3772 = 0, $3805 = 0, $3852 = 0, $12250 = 0, $12259 = 0, $12289 = 0, $12323 = 0, $4013 = 0, $4033 = 0, $4086 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 288 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 280 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 276 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 272 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 268 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 256 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 280 | 0) >> 2] | 0) >> 2] | 0; + $12_1 = 24; + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[($7_1 + 276 | 0) >> 2] | 0) + 25248 | 0) >> 0] | 0) << $12_1 | 0) >> $12_1 | 0) { + break label$2 + } + label$3 : { + if (!((HEAP32[(HEAP32[($7_1 + 280 | 0) >> 2] | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($7_1 + 280 | 0) >> 2] | 0) + 1208 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + $1187(HEAP32[($7_1 + 280 | 0) >> 2] | 0 | 0); + HEAP16[($7_1 + 286 | 0) >> 1] = 0; + break label$1; + } + } + $26_1 = HEAP32[($7_1 + 276 | 0) >> 2] | 0; + label$4 : { + label$5 : { + switch ($26_1 | 0) { + case 0: + HEAP8[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 203 | 0) >> 0] = 1; + break label$4; + case 1: + HEAP8[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 203 | 0) >> 0] = 2; + break label$4; + case 2: + $1188(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0); + break label$4; + case 3: + $1189(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 4: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 7; + break label$4; + case 5: + case 6: + case 7: + case 306: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + break label$4; + case 8: + case 9: + $1190(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, (HEAPU16[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0); + break label$4; + case 10: + $1191(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 11: + $1191(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 1 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 12: + $1191(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 2 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 13: + $67_1 = 0; + $1192(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, $67_1 | 0, $67_1 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 14: + $1193(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0); + break label$4; + case 15: + case 18: + case 21: + case 45: + case 60: + case 70: + case 79: + case 96: + case 232: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + case 16: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = 1; + break label$4; + case 17: + case 46: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + break label$4; + case 19: + $1194(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 255 | 0 | 0, 0 | 0); + break label$4; + case 20: + $110_1 = 0; + $1194(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $110_1 | 0, $110_1 | 0, 0 & 255 | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $1139(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 22: + label$295 : { + label$296 : { + if (!((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$296 + } + if ($89(HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 14175 | 0, 5 | 0) | 0) { + break label$296 + } + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 640; + break label$295; + } + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 0; + $142_1 = HEAP32[($7_1 + 268 | 0) >> 2] | 0; + $144_1 = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = $144_1; + $349($142_1 | 0, 25633 | 0, $7_1 | 0); + } + break label$4; + case 23: + $1195(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 24: + case 63: + case 102: + $157_1 = 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 20 | 0) >> 2] = $157_1; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = $157_1; + break label$4; + case 25: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 8 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) - (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0) | 0; + break label$4; + case 26: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 8 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) - (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0) | 0; + break label$4; + case 27: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) | 0) | 0; + break label$4; + case 28: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + break label$4; + case 29: + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $4542 = i64toi32_i32$0; + i64toi32_i32$0 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 12 | 0) + 4 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $4542; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$4; + case 30: + case 65: + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $4556 = i64toi32_i32$1; + i64toi32_i32$1 = (HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 72 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $4556; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$4; + case 31: + $1196(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) + (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] | 0) | 0 | 0); + break label$4; + case 32: + $1196(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 33: + $1196(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) + (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] | 0) | 0 | 0); + break label$4; + case 34: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 170 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + $1196(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) + (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] | 0) | 0 | 0); + break label$4; + case 35: + $278_1 = HEAP32[($7_1 + 268 | 0) >> 2] | 0; + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $4707 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4707; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1198($278_1 | 0, 115 | 0, $7_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 232 | 0) >> 2] = wasm2js_i32$1; + label$297 : { + if (!((HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$297 + } + $1199(HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0) | 0; + } + $1196(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0); + break label$4; + case 36: + $1200(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 37: + $1201(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 38: + $318_1 = 0; + $1202(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $318_1 | 0, $318_1 | 0, $318_1 | 0, $318_1 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $318_1 | 0, $318_1 | 0, $318_1 | 0, $318_1 | 0, 1 & 255 | 0 | 0); + break label$4; + case 39: + $1203(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 40: + $1204(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 41: + $1205(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 42: + $1206(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 43: + $1207(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0); + break label$4; + case 44: + $1207(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 47: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + case 48: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) & ((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) ^ -1 | 0) | 0 | (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + break label$4; + case 49: + $387_1 = 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $387_1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] = $387_1; + break label$4; + case 50: + $394_1 = 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $394_1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 8 | 0) >> 2] = $394_1; + break label$4; + case 51: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 8 | 0) >> 2] = 255; + break label$4; + case 52: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 8 | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 8 | 0) >> 2] = 65280; + break label$4; + case 53: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 8; + break label$4; + case 54: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 9; + break label$4; + case 55: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 10; + break label$4; + case 56: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 7; + break label$4; + case 57: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 0; + break label$4; + case 58: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = 0; + break label$4; + case 59: + case 74: + case 162: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 61: + case 78: + case 204: + case 207: + case 233: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 1; + break label$4; + case 62: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 0; + break label$4; + case 64: + HEAP32[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 76 | 0) >> 2] = 0; + break label$4; + case 66: + $1201(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0); + break label$4; + case 67: + $468_1 = 0; + $1202(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $468_1 | 0, $468_1 | 0, $468_1 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $468_1 | 0, $468_1 | 0, $468_1 | 0, $468_1 | 0, 1 & 255 | 0 | 0); + break label$4; + case 68: + $1203(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 69: + $1204(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + $1205(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 71: + case 73: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 11; + break label$4; + case 72: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 75: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 4; + break label$4; + case 76: + case 163: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 5; + break label$4; + case 77: + $1208(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 80: + $1209(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 81: + $1208(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 82: + $572_1 = $7_1 + 200 | 0; + $575_1 = 0; + HEAP32[($572_1 + 24 | 0) >> 2] = HEAP32[($575_1 + 25684 | 0) >> 2] | 0; + i64toi32_i32$2 = $575_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 25676 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 25680 | 0) >> 2] | 0; + $5328 = i64toi32_i32$1; + i64toi32_i32$1 = $572_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $5328; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 25668 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 25672 | 0) >> 2] | 0; + $5335 = i64toi32_i32$0; + i64toi32_i32$0 = $572_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $5335; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 25660 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 25664 | 0) >> 2] | 0; + $5339 = i64toi32_i32$1; + i64toi32_i32$1 = $572_1; + HEAP32[i64toi32_i32$1 >> 2] = $5339; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $1210(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + $1139(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 83: + HEAP32[($7_1 + 196 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$298 : { + label$299 : { + if (!((HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$299 + } + HEAP32[((HEAP32[($7_1 + 196 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + $1211(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0); + break label$298; + } + $424(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 196 | 0) >> 2] | 0; + break label$4; + case 84: + HEAP32[($7_1 + 192 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$300 : { + label$301 : { + if (!((HEAP32[($7_1 + 192 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$301 + } + HEAP32[((HEAP32[($7_1 + 192 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + $1211(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 192 | 0) >> 2] | 0 | 0); + break label$300; + } + $424(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 192 | 0) >> 2] | 0; + break label$4; + case 85: + HEAP32[($7_1 + 188 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$302 : { + if (!((HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$302 + } + $1211(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0); + } + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 188 | 0) >> 2] | 0; + break label$4; + case 86: + HEAP32[($7_1 + 184 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 180 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0; + label$303 : { + if (!((HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$303 + } + if (!((HEAP32[((HEAP32[($7_1 + 184 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$303 + } + $674_1 = 0; + HEAP32[($7_1 + 172 | 0) >> 2] = $674_1; + $1211(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1212(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $674_1 | 0, $674_1 | 0, $674_1 | 0, $7_1 + 168 | 0 | 0, HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, $674_1 | 0, $674_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1213(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $674_1 | 0, HEAP32[($7_1 + 176 | 0) >> 2] | 0 | 0, $674_1 | 0, $674_1 | 0, $674_1 | 0, $674_1 | 0, $674_1 | 0, $674_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + } + label$304 : { + label$305 : { + if (!((HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$305 + } + HEAP8[(HEAP32[($7_1 + 184 | 0) >> 2] | 0) >> 0] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 184 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($7_1 + 180 | 0) >> 2] | 0; + label$306 : { + if (!((HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$306 + } + $707_1 = HEAP32[($7_1 + 180 | 0) >> 2] | 0; + HEAP32[($707_1 + 4 | 0) >> 2] = (HEAP32[($707_1 + 4 | 0) >> 2] | 0) & -1025 | 0; + } + $712_1 = HEAP32[($7_1 + 184 | 0) >> 2] | 0; + HEAP32[($712_1 + 4 | 0) >> 2] = (HEAP32[($712_1 + 4 | 0) >> 2] | 0) & -1025 | 0; + label$307 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) != (133 | 0) & 1 | 0)) { + break label$307 + } + HEAP8[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 22 | 0) >> 0] = 1; + } + break label$304; + } + $1139(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0); + } + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 184 | 0) >> 2] | 0; + break label$4; + case 87: + case 89: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + break label$4; + case 88: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 133; + break label$4; + case 90: + $774_1 = $1213(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0) >> 2] = $774_1; + break label$4; + case 91: + $810_1 = $1213(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -108 | 0) + 4 | 0) >> 2] = $810_1; + label$308 : { + label$309 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -108 | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$309 + } + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -108 | 0) + 4 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0; + break label$308; + } + $1144(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0); + } + break label$4; + case 92: + $837_1 = 0; + $844_1 = $1213(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, $837_1 | 0, $837_1 | 0, $837_1 | 0, $837_1 | 0, $837_1 | 0, 512 | 0, $837_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $844_1; + break label$4; + case 93: + $848_1 = 0; + HEAP32[($7_1 + 160 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1213(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, $848_1 | 0, $848_1 | 0, $848_1 | 0, $848_1 | 0, $848_1 | 0, 1536 | 0, $848_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$310 : { + if (!((HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0) != ($848_1 | 0) & 1 | 0)) { + break label$310 + } + $866_1 = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + HEAP32[($866_1 + 4 | 0) >> 2] = (HEAP32[($866_1 + 4 | 0) >> 2] | 0) & -1025 | 0; + } + label$311 : { + label$312 : { + if (!((HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$312 + } + HEAP8[(HEAP32[($7_1 + 164 | 0) >> 2] | 0) >> 0] = 133; + HEAP32[((HEAP32[($7_1 + 164 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 164 | 0) >> 2] | 0; + break label$311; + } + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + } + break label$4; + case 94: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + break label$4; + case 95: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 2; + break label$4; + case 97: + case 130: + case 140: + case 220: + case 223: + case 228: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + case 98: + $905_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $905_1; + label$313 : { + if (!((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$313 + } + $1215(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, 1 | 0); + } + $1216(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 99: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1217(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, 177 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + $949_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $949_1; + break label$4; + case 100: + $957_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 177 | 0, $957_1 | 0, $957_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, 59 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + $978_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $978_1; + break label$4; + case 101: + case 112: + case 244: + case 245: + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $6219 = i64toi32_i32$0; + i64toi32_i32$0 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $6219; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$4; + case 103: + case 106: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + case 104: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $1219(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 105: + label$314 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$314 + } + if (!((HEAP32[(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$314 + } + HEAP8[((((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0, 72) | 0) + 36 | 0) >> 0] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + break label$4; + case 107: + $1067_1 = $1212(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] = $1067_1; + $1220(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0); + break label$4; + case 108: + $1108_1 = $1212(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0) >> 2] = $1108_1; + $1221(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 109: + $1121_1 = 0; + $1142_1 = $1212(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, $1121_1 | 0, $1121_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] = $1142_1; + break label$4; + case 110: + label$315 : { + label$316 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$316 + } + if (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 8 | 0) >> 2] | 0) { + break label$316 + } + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$316 + } + if (!((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$316 + } + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0; + break label$315; + } + label$317 : { + label$318 : { + if (!((HEAP32[(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$318 + } + $1196_1 = 0; + $1213_1 = $1212(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, $1196_1 | 0, $1196_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, $1196_1 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] = $1213_1; + label$319 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0) != ($1196_1 | 0) & 1 | 0)) { + break label$319 + } + $1229_1 = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -68 | 0) >> 2] | 0; + HEAP32[($7_1 + 140 | 0) >> 2] = (Math_imul(HEAP32[$1229_1 >> 2] | 0, 72) + $1229_1 | 0) + -64 | 0; + HEAP32[($7_1 + 136 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -44 | 0) >> 2] | 0) + 8 | 0; + HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$320 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0)) { + break label$320 + } + HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 64 | 0) >> 2] = 0; + $1267_1 = 37; + $1268_1 = (HEAP32[($7_1 + 136 | 0) >> 2] | 0) + $1267_1 | 0; + HEAP8[$1268_1 >> 0] = (HEAPU8[$1268_1 >> 0] | 0) & 251 | 0; + $1272_1 = HEAP32[($7_1 + 140 | 0) >> 2] | 0; + HEAP8[($1272_1 + 37 | 0) >> 0] = HEAPU8[($1272_1 + $1267_1 | 0) >> 0] | 0 | 4 | 0; + } + $1277_1 = 0; + HEAP32[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] = $1277_1; + HEAP32[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 8 | 0) >> 2] = $1277_1; + HEAP32[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] = $1277_1; + } + $1143(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$317; + } + $1287_1 = 0; + $1219(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1213(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $1287_1 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, $1287_1 | 0, $1287_1 | 0, $1287_1 | 0, $1287_1 | 0, 2048 | 0, $1287_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + $1316_1 = $1212(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, $1287_1 | 0, $1287_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] = $1316_1; + } + } + break label$4; + case 111: + case 125: + $1320_1 = 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = $1320_1; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 20 | 0) >> 2] = $1320_1; + break label$4; + case 113: + $1324_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1222(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $1324_1 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, $1324_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + label$321 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$321 + } + if (!((HEAP32[($7_1 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$321 + } + $1223(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 240 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + } + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 114: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1222(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + label$322 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$322 + } + if (!((HEAP32[($7_1 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$322 + } + $1223(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 240 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + } + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 115: + $1392_1 = 0; + $1397_1 = $1222(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $1392_1 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, $1392_1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = $1397_1; + break label$4; + case 116: + $1409_1 = $1222(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $1409_1; + break label$4; + case 117: + $1413_1 = 0; + $1425_1 = $1222(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $1413_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $1425_1; + label$323 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0) != ($1413_1 | 0) & 1 | 0)) { + break label$323 + } + $1443_1 = $1224(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = $1443_1; + } + break label$4; + case 118: + $1448_1 = 0; + $1455_1 = $1222(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $1448_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, $1448_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $1455_1; + label$324 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) != ($1448_1 | 0) & 1 | 0)) { + break label$324 + } + $1473_1 = $1224(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = $1473_1; + } + break label$4; + case 119: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + break label$4; + case 120: + $1480_1 = 0; + $1487_1 = $1225(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, $1480_1 | 0, $1480_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $1487_1; + break label$4; + case 121: + $1503_1 = $1225(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $1503_1; + break label$4; + case 122: + $1523_1 = $1225(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $1523_1; + break label$4; + case 123: + case 143: + case 150: + case 216: + case 237: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 124: + case 142: + case 144: + case 149: + case 217: + case 219: + case 238: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + case 126: + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $7326 = i64toi32_i32$1; + i64toi32_i32$1 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $7326; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$4; + case 127: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] = 1; + break label$4; + case 128: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 129: + case 164: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + case 131: + case 141: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 132: + $1573_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $1573_1; + $1226(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 133: + $1593_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $1593_1; + $1226(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 134: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + break label$4; + case 135: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + break label$4; + case 136: + case 139: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = -1; + break label$4; + case 137: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 0; + break label$4; + case 138: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 1; + break label$4; + case 145: + $1626_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 146 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $1626_1; + break label$4; + case 146: + $1638_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 146 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $1638_1; + break label$4; + case 147: + $1650_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 146 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $1650_1; + break label$4; + case 148: + $1654_1 = 0; + $1220(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0); + $1227(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $1654_1 | 0, $1654_1 | 0); + break label$4; + case 151: + $1672_1 = 0; + $1220(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0); + $1228(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, 25688 | 0); + $1698_1 = $1229(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] = $1698_1; + $1230(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, $1672_1 | 0, $1672_1 | 0, $1672_1 | 0); + break label$4; + case 152: + $1725_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $1725_1; + $1215(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, 1 | 0); + break label$4; + case 153: + $1750_1 = $1231(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] = $1750_1; + break label$4; + case 154: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + $1215(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 240 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, 1 | 0); + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 155: + $1779_1 = $1231(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $1779_1; + break label$4; + case 156: + $1232(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 157: + $1802_1 = 0; + $1232(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, $1802_1 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, $1802_1 | 0); + break label$4; + case 158: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + case 159: + $1834_1 = $1233(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -120 | 0) + 4 | 0) >> 2] = $1834_1; + break label$4; + case 160: + $1838_1 = 0; + $1849_1 = $1233(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, $1838_1 | 0, $1838_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] = $1849_1; + break label$4; + case 161: + $1853_1 = 0; + $1856_1 = $1233(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, $1853_1 | 0, $1853_1 | 0, $1853_1 | 0, $1853_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $1856_1; + break label$4; + case 165: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 166: + $1875_1 = $1234(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $1875_1; + break label$4; + case 167: + $1884_1 = $1234(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = $1884_1; + break label$4; + case 168: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 169: + case 170: + $1893_1 = HEAP32[($7_1 + 268 | 0) >> 2] | 0; + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $8065 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $8065; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$1; + $1900_1 = $1198($1893_1 | 0, 59 | 0, $7_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = $1900_1; + break label$4; + case 171: + $1903_1 = 59; + $1904_1 = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, $1903_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, $1904_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, $1903_1 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, $1904_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + label$325 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$325 + } + $1223(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + $1223(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 172: + $1951_1 = 59; + $1952_1 = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, $1951_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, $1952_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, $1951_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, $1952_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, $1951_1 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, $1952_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$326 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$326 + } + $1223(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + $1223(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 173: + case 174: + $2009_1 = HEAP32[($7_1 + 268 | 0) >> 2] | 0; + $2013_1 = (HEAPU16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $8332 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $8332; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$0; + $2019_1 = $1198($2009_1 | 0, $2013_1 | 0, $7_1 + 24 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = $2019_1; + break label$4; + case 175: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, 152 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 176: + $2035_1 = 24; + label$327 : { + label$328 : { + label$329 : { + if (!((((HEAPU8[(HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 0] | 0) << $2035_1 | 0) >> $2035_1 | 0 | 0) == (35 | 0) & 1 | 0)) { + break label$329 + } + if (((HEAPU8[(((HEAPU8[((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$328 + } + } + HEAP32[($7_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $2055_1 = HEAP32[($7_1 + 268 | 0) >> 2] | 0; + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $8422 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $8422; + HEAP32[($7_1 + 44 | 0) >> 2] = i64toi32_i32$1; + $2062_1 = $1198($2055_1 | 0, 153 | 0, $7_1 + 40 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = $2062_1; + $1235(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0); + break label$327; + } + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $8457 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + 96 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $8457; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$330 : { + label$331 : { + if ((HEAPU8[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$331 + } + $2078_1 = HEAP32[($7_1 + 268 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $7_1 + 96 | 0; + $349($2078_1 | 0, 25697 | 0, $7_1 + 32 | 0 | 0); + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + break label$330; + } + $2086_1 = 0; + $2089_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 173 | 0, $2086_1 | 0, $2086_1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = $2089_1; + label$332 : { + if (!((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != ($2086_1 | 0) & 1 | 0)) { + break label$332 + } + $341((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 28 | 0 | 0) | 0; + } + } + } + break label$4; + case 177: + $2114_1 = $1236(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, 1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $2114_1; + break label$4; + case 178: + $2128_1 = $1218(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, 36 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, 1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] = $2128_1; + $1237(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0); + break label$4; + case 179: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1238(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 180: + $2161_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1238(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $2161_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, $2161_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 181: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1238(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + $1239(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 240 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 182: + $2196_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1238(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $2196_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, $2196_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + $1239(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 240 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 183: + $2212_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1238(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $2212_1 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, $2212_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 184: + $2220_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $2233_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 174 | 0, $2220_1 | 0, $2220_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2233_1; + label$333 : { + label$334 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0) != ($2220_1 | 0) & 1 | 0)) { + break label$334 + } + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + label$335 : { + if (!(HEAP32[(HEAP32[($7_1 + 92 | 0) >> 2] | 0) >> 2] | 0)) { + break label$335 + } + $2261_1 = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0; + HEAP32[($2261_1 + 4 | 0) >> 2] = HEAP32[($2261_1 + 4 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2097412 | 0) | 0; + } + break label$333; + } + $382(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0); + } + break label$4; + case 185: + $2274_1 = $1240(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $2274_1; + break label$4; + case 186: + case 187: + case 188: + case 189: + case 190: + case 191: + case 192: + $2291_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, (HEAPU16[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $2291_1; + break label$4; + case 193: + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $8945 = i64toi32_i32$0; + i64toi32_i32$0 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $8945; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $2305_1 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0; + HEAP32[($2305_1 + 8 | 0) >> 2] = HEAP32[($2305_1 + 8 | 0) >> 2] | 0 | -2147483648 | 0; + break label$4; + case 194: + $2309_1 = 0; + HEAP32[($7_1 + 84 | 0) >> 2] = (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] | 0) & -2147483648 | 0; + $2318_1 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0; + HEAP32[($2318_1 + 8 | 0) >> 2] = (HEAP32[($2318_1 + 8 | 0) >> 2] | 0) & 2147483647 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $2309_1 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + $2340_1 = $1238(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, $2309_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $2340_1; + label$336 : { + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$336 + } + $2352_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $2352_1; + } + label$337 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$337 + } + $2369_1 = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0; + HEAP32[($2369_1 + 4 | 0) >> 2] = HEAP32[($2369_1 + 4 | 0) >> 2] | 0 | 128 | 0; + } + break label$4; + case 195: + $2373_1 = 0; + HEAP32[($7_1 + 76 | 0) >> 2] = (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 8 | 0) >> 2] | 0) & -2147483648 | 0; + $2382_1 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0; + HEAP32[($2382_1 + 8 | 0) >> 2] = (HEAP32[($2382_1 + 8 | 0) >> 2] | 0) & 2147483647 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $2373_1 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + $2411_1 = $1238(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, $2373_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2411_1; + label$338 : { + if (!(HEAP32[($7_1 + 76 | 0) >> 2] | 0)) { + break label$338 + } + $2423_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2423_1; + } + label$339 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$339 + } + $2440_1 = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0; + HEAP32[($2440_1 + 4 | 0) >> 2] = HEAP32[($2440_1 + 4 | 0) >> 2] | 0 | 128 | 0; + } + break label$4; + case 196: + $2454_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $2454_1; + break label$4; + case 197: + $2465_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 51 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $2465_1; + break label$4; + case 198: + $2478_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 45 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $2478_1; + $1241(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, 50 | 0); + break label$4; + case 199: + $2498_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 168 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $2498_1; + $1241(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, 51 | 0); + break label$4; + case 200: + case 201: + $2519_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, (HEAPU16[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $2519_1; + break label$4; + case 202: + $2542_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, (((HEAPU16[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) == (105 | 0) & 1 | 0 ? 171 : 170) | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $2542_1; + break label$4; + case 203: + case 206: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + break label$4; + case 205: + $2548_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $2548_1 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + $2566_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 48 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, $2548_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2566_1; + label$340 : { + label$341 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0) != ($2548_1 | 0) & 1 | 0)) { + break label$341 + } + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + break label$340; + } + $382(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0); + } + label$342 : { + if (!(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0)) { + break label$342 + } + $2598_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2598_1; + } + break label$4; + case 208: + label$343 : { + label$344 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$344 + } + $1242(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0); + $2627_1 = $1217(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, 152 | 0, (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 ? 8423 : 25721) | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2627_1; + break label$343; + } + label$345 : { + label$346 : { + if (!((HEAP32[(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$346 + } + if (!($1243(HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$346 + } + $2650_1 = 0; + HEAP32[($7_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = $2650_1; + $382(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 171 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, $2650_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + $2675_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2675_1; + label$347 : { + if (!(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0)) { + break label$347 + } + $2690_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2690_1; + } + break label$345; + } + $2694_1 = 0; + $2701_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 49 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, $2694_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2701_1; + label$348 : { + label$349 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0) != ($2694_1 | 0) & 1 | 0)) { + break label$349 + } + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + $1244(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$348; + } + $382(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + } + label$350 : { + if (!(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0)) { + break label$350 + } + $2744_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2744_1; + } + } + } + break label$4; + case 209: + $2749_1 = 0; + $2751_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 136 | 0, $2749_1 | 0, $2749_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $2751_1; + $1245(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 210: + $2771_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 49 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2771_1; + $1245(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + label$351 : { + if (!(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0)) { + break label$351 + } + $2795_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2795_1; + } + break label$4; + case 211: + $2799_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1222(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $2799_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1213(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $2799_1 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, $2799_1 | 0, $2799_1 | 0, $2799_1 | 0, $2799_1 | 0, $2799_1 | 0, $2799_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$352 : { + if (!((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != ($2799_1 | 0) & 1 | 0)) { + break label$352 + } + $2823_1 = HEAP32[($7_1 + 268 | 0) >> 2] | 0; + label$353 : { + label$354 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$354 + } + $2831_1 = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + break label$353; + } + $2831_1 = 0; + } + $1221($2823_1 | 0, $2831_1 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + $2843_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 49 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2843_1; + $1245(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0); + label$355 : { + if (!(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0)) { + break label$355 + } + $2864_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2864_1; + } + break label$4; + case 212: + $2869_1 = 0; + $2871_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 20 | 0, $2869_1 | 0, $2869_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $2871_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $2871_1; + $1245(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 213: + $2881_1 = 0; + $2888_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 154 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, $2881_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2888_1; + label$356 : { + label$357 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0) != ($2881_1 | 0) & 1 | 0)) { + break label$357 + } + label$358 : { + label$359 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$359 + } + $2921_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + break label$358; + } + $2921_1 = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = $2921_1; + $1244(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$356; + } + $382(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0); + $18(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + } + break label$4; + case 214: + $2957_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2957_1; + $2968_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2968_1; + break label$4; + case 215: + $2978_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $2978_1; + $2989_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $2989_1; + break label$4; + case 218: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 221: + $3003_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $3003_1; + break label$4; + case 222: + $3011_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = $3011_1; + break label$4; + case 224: + case 229: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 225: + $3021_1 = 0; + $1202(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0 | 0, $1222(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $3021_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, $3021_1 | 0) | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -120 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -132 | 0) + 4 | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $3021_1 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0); + label$360 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$360 + } + if (!((HEAP32[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 236 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$360 + } + $1223(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 236 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0) | 0; + } + break label$4; + case 226: + case 268: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 2; + break label$4; + case 227: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + case 230: + $3108_1 = $1246(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $3108_1; + break label$4; + case 231: + $3125_1 = $1246(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $3125_1; + break label$4; + case 234: + $1247(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 235: + $1248(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 236: + $1248(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 239: + $3148_1 = 0; + $1249(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, $3148_1 | 0, $3148_1 | 0); + break label$4; + case 240: + $1249(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0); + break label$4; + case 241: + $1249(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, 0 | 0); + break label$4; + case 242: + $1249(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, 1 | 0); + break label$4; + case 243: + $1249(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, 1 | 0); + break label$4; + case 246: + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0) | 0) + (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + $1250(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, $7_1 + 48 | 0 | 0); + break label$4; + case 247: + $1251(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -120 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0) >> 2] | 0 | 0); + $3285_1 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -120 | 0) + 4 | 0; + label$361 : { + label$362 : { + if (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 8 | 0) >> 2] | 0) { + break label$362 + } + i64toi32_i32$2 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $10961 = i64toi32_i32$1; + i64toi32_i32$1 = $3285_1; + HEAP32[i64toi32_i32$1 >> 2] = $10961; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$361; + } + i64toi32_i32$2 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $10973 = i64toi32_i32$0; + i64toi32_i32$0 = $3285_1; + HEAP32[i64toi32_i32$0 >> 2] = $10973; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + break label$4; + case 248: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + break label$4; + case 249: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 65; + break label$4; + case 250: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 33; + break label$4; + case 251: + case 252: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + break label$4; + case 253: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = 127; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 254: + case 273: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + case 255: + case 274: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 256: + HEAP32[((HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 257: + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 258: + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $11110 = i64toi32_i32$1; + i64toi32_i32$1 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $11110; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $349(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 25723 | 0, 0 | 0); + break label$4; + case 259: + $349(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 25818 | 0, 0 | 0); + break label$4; + case 260: + $349(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 25902 | 0, 0 | 0); + break label$4; + case 261: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1252(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] | 0) & 255 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 262: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1253(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0) & 255 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 263: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1254(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 264: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1255(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 265: + $3484 = 0; + $3487 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 71 | 0, $3484 | 0, $3484 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $3487; + label$363 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0) != ($3484 | 0) & 1 | 0)) { + break label$363 + } + HEAP8[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = 4; + } + break label$4; + case 266: + $3515 = $1218(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, 71 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, 1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] = $3515; + label$364 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$364 + } + HEAP8[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0; + } + break label$4; + case 267: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + break label$4; + case 269: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 3; + break label$4; + case 270: + $1256(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 271: + $1257(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 272: + $1258(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 275: + $3561 = 0; + $1259(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $3561 | 0, $3561 | 0); + break label$4; + case 276: + $1259(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 277: + $3572 = 0; + $1260(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $3572 | 0, $3572 | 0); + break label$4; + case 278: + $1260(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 279: + $1261(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 280: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 192 | 0) >> 2] | 0) - (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) | 0) + (HEAP32[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0) | 0; + $1262(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0); + break label$4; + case 281: + $1193(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0); + $1263(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 282: + $1264(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 283: + $1265(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0); + break label$4; + case 284: + $1265(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 285: + $1266(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 286: + $1267(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0); + break label$4; + case 287: + case 288: + case 289: + $1268(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 290: + case 291: + $1269(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0); + break label$4; + case 292: + $3677 = $1270(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] = $3677; + break label$4; + case 293: + $3699 = $1270(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] = $3699; + break label$4; + case 294: + HEAP32[($7_1 + 240 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 295: + $1271(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 240 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 296: + label$365 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$365 + } + i64toi32_i32$0 = 0; + $3747 = $1130(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) >> 2] = $3747; + } + HEAP32[($7_1 + 240 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 297: + $3772 = $1272(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $3772; + break label$4; + case 298: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1272(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 299: + $3797 = 0; + $3805 = $1272(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $3797 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, $3797 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $3805; + break label$4; + case 300: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1272(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 301: + case 320: + HEAP32[($7_1 + 240 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 302: + $3831 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1272(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $3831 | 0, $3831 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 303: + $3845 = 0; + $3852 = $1273(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $3845 | 0, 90 | 0, $3845 | 0, 85 | 0, $3845 | 0, 0 & 255 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = $3852; + break label$4; + case 304: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1273(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] | 0 | 0, 85 | 0, 0 | 0, (HEAPU8[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 305: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1273(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 307: + case 309: + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $12250 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + 240 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $12250; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $12259 = i64toi32_i32$1; + i64toi32_i32$1 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $12259; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$4; + case 308: + case 310: + case 312: + HEAP32[($7_1 + 240 | 0) >> 2] = (HEAPU16[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($7_1 + 244 | 0) >> 2] = 0; + i64toi32_i32$2 = $7_1 + 240 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $12289 = i64toi32_i32$0; + i64toi32_i32$0 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $12289; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$4; + case 311: + HEAP32[($7_1 + 240 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($7_1 + 244 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $7_1 + 240 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $12323 = i64toi32_i32$1; + i64toi32_i32$1 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $12323; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$4; + case 313: + HEAP8[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 0] = 0; + break label$4; + case 314: + HEAP8[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 0] = HEAPU8[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0; + break label$4; + case 315: + case 316: + HEAP8[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 0] = HEAPU16[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 2 | 0) >> 1] | 0; + break label$4; + case 317: + HEAP8[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 0] = HEAPU16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + break label$4; + case 318: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 319: + HEAP32[((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 240 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 321: + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $308(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, 100 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + label$366 : { + label$367 : { + if (!((HEAP32[($7_1 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$367 + } + HEAP8[((HEAP32[($7_1 + 240 | 0) >> 2] | 0) + 16 | 0) >> 0] = 163; + HEAP32[((HEAP32[($7_1 + 240 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$366; + } + $18(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 322: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 323: + i64toi32_i32$0 = 0; + $4013 = $308(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, 100 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $4013; + label$368 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$368 + } + i64toi32_i32$0 = 0; + $4033 = $1130(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) >> 2] = $4033; + } + break label$4; + case 324: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + default: + break label$5; + }; + } + } + HEAP32[($7_1 + 264 | 0) >> 2] = (HEAPU16[(26e3 + ((HEAP32[($7_1 + 276 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; + $4055 = 24; + HEAP32[($7_1 + 252 | 0) >> 2] = ((HEAPU8[((HEAP32[($7_1 + 276 | 0) >> 2] | 0) + 25248 | 0) >> 0] | 0) << $4055 | 0) >> $4055 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1274((HEAPU16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 252 | 0) >> 2] | 0, 12) | 0) >> 1] | 0) & 65535 | 0 | 0, (HEAP32[($7_1 + 264 | 0) >> 2] | 0) & 65535 | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 262 | 0) >> 1] = wasm2js_i32$1; + HEAP32[($7_1 + 256 | 0) >> 2] = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + Math_imul((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 1 | 0, 12) | 0; + HEAP32[(HEAP32[($7_1 + 280 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 256 | 0) >> 2] | 0; + HEAP16[(HEAP32[($7_1 + 256 | 0) >> 2] | 0) >> 1] = HEAPU16[($7_1 + 262 | 0) >> 1] | 0; + HEAP16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 2 | 0) >> 1] = HEAP32[($7_1 + 264 | 0) >> 2] | 0; + HEAP16[($7_1 + 286 | 0) >> 1] = HEAPU16[($7_1 + 262 | 0) >> 1] | 0; + } + $4086 = (HEAPU16[($7_1 + 286 | 0) >> 1] | 0) & 65535 | 0; + global$0 = $7_1 + 288 | 0; + return $4086 | 0; + } + + function $1181($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $7_1 = 0, $20_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $152_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP16[($6_1 + 10 | 0) >> 1] = $1_1; + HEAP16[($6_1 + 8 | 0) >> 1] = $2_1; + $7_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = (HEAP32[$7_1 >> 2] | 0) + 12 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1208 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $20_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[$20_1 >> 2] = (HEAP32[$20_1 >> 2] | 0) + -12 | 0; + $1187(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + break label$1; + } + label$3 : { + if (!(((HEAPU16[($6_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 0) > (552 | 0) & 1 | 0)) { + break label$3 + } + HEAP16[($6_1 + 10 | 0) >> 1] = ((HEAPU16[($6_1 + 10 | 0) >> 1] | 0) & 65535 | 0) + 388 | 0; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP16[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 1] = HEAPU16[($6_1 + 10 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 2 | 0) >> 1] = HEAPU16[($6_1 + 8 | 0) >> 1] | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $152_1 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $152_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + global$0 = $6_1 + 16 | 0; + return; + } + + function $1182($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + return; + } + + function $1183($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $18_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[$2_1 >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $2_1; + $349($18_1 | 0, 25697 | 0, $5_1 | 0); + break label$1; + } + $349(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 39680 | 0, 0 | 0); + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1184($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP16[($5_1 + 10 | 0) >> 1] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $10_1 = (HEAPU16[($5_1 + 10 | 0) >> 1] | 0) + -200 | 0; + label$1 : { + label$2 : { + switch ($10_1 | 0) { + case 0: + case 34: + case 35: + case 47: + $1139(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 11: + case 12: + case 41: + case 43: + case 55: + case 71: + case 73: + case 76: + case 83: + case 88: + case 102: + $18(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 16: + case 26: + case 27: + case 39: + case 42: + case 44: + case 48: + case 49: + case 57: + case 62: + case 70: + case 72: + case 101: + $382(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 33: + case 40: + case 51: + case 52: + case 58: + $1143(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 36: + $424(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 46: + case 97: + $1144(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 56: + case 59: + case 64: + $19(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 66: + case 98: + case 99: + case 100: + case 103: + $1140(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 79: + case 84: + $17(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 81: + $19(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$1; + case 105: + case 106: + case 107: + $18(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$1; + default: + break label$2; + }; + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1185($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $5_1 = HEAP32[$4_1 >> 2] | 0; + HEAP32[$4_1 >> 2] = $5_1 + -12 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $5_1; + $1184(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1186($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU16[(14416 + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0; + } + + function $1187($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >>> 0 & 1 | 0)) { + break label$1 + } + $1185(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + continue label$2; + }; + } + $349(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 26770 | 0, 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $1188($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $122_1 = 0, $51_1 = 0, $138_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if ((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + if (!(HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$3 + } + } + label$5 : { + if (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + } + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1275(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $1276(HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, 68 | 0) | 0; + label$7 : { + if ((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$7 + } + label$8 : { + if (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0) { + break label$8 + } + if (!((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + } + $51_1 = 0; + $1277(HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, $51_1 | 0); + HEAP32[($3_1 + 32 | 0) >> 2] = $51_1; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + label$11 : { + label$12 : { + if (((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0) & (1 << (HEAP32[($3_1 + 32 | 0) >> 2] | 0) | 0) | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + break label$11; + } + $356(HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 32 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + $353(HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) & (1 << (HEAP32[($3_1 + 32 | 0) >> 2] | 0) | 0) | 0 | 0) != (0 | 0) & 1 | 0 | 0, HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + label$13 : { + if ((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0) { + break label$13 + } + $354(HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + } + } + HEAP32[($3_1 + 32 | 0) >> 2] = (HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $122_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1056(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, 163 | 0, $122_1 | 0, $122_1 | 0, $122_1 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, -12 | 0) | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + $138_1 = 0; + HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 208 | 0) >> 2] = $138_1; + $1279(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + $1280(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + label$16 : { + if (!((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != ($138_1 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 23 | 0) >> 0] = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($3_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + label$19 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$19 + } + $1281(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + } + $1282(HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + } + label$20 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + if (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$20 + } + if (((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$20 + } + $358(HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = 101; + break label$1; + } + HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + } + global$0 = $3_1 + 48 | 0; + return; + } + + function $1189($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $7_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!($1283(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 22 | 0, 9846 | 0, $7_1 | 0, $7_1 | 0) | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + break label$1; + } + label$4 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (7 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + if (!($533(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 2; + break label$9; + } + HEAP32[($4_1 + 8 | 0) >> 2] = 1; + } + } + $366(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $356(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + } + $1276(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1190($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $6_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (12 | 0) & 1 | 0; + label$1 : { + label$2 : { + if (!($1283(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 22 | 0, (HEAP32[$4_1 >> 2] | 0 ? 27339 : 27348) | 0, $6_1 | 0, $6_1 | 0) | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $29_1 = 1; + $366(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $29_1 | 0, $29_1 | 0, HEAP32[$4_1 >> 2] | 0 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1191($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1224(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if (!($1283(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[(27356 + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { + break label$2 + } + } + $13(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + break label$1; + } + $40_1 = 0; + $1278(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $40_1 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $40_1 | 0, $40_1 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, -7 | 0) | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1192($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $369$hi = 0, $293_1 = 0, $298_1 = 0, i64toi32_i32$3 = 0, $344_1 = 0, $221_1 = 0, $271_1 = 0, $283_1 = 0, $285_1 = 0, $290_1 = 0, $295_1 = 0, $300_1 = 0, $303_1 = 0, $370$hi = 0, $371$hi = 0, $373$hi = 0, $575_1 = 0, $190_1 = 0, $205_1 = 0, $339_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 112 | 0; + global$0 = $9_1; + HEAP32[($9_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 92 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 84 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 76 | 0) >> 2] = 0; + HEAP32[($9_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAPU8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 160 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($9_1 + 64 | 0) >> 2] = (HEAPU8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 164 | 0) >> 0] | 0) & 255 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $291(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, ((HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 8404 : 8004) | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 60 | 0) >> 2] = HEAP32[($9_1 + 104 | 0) >> 2] | 0; + break label$2; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1284(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0, $9_1 + 60 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + label$5 : { + if (!(HEAP32[($9_1 + 96 | 0) >> 2] | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[($9_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$5 + } + $349(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, 27376 | 0, 0 | 0); + break label$1; + } + label$6 : { + if (!(HEAP32[($9_1 + 96 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($9_1 + 64 | 0) >> 2] = 1; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1224(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$7 + } + $1223(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0) | 0; + } + } + i64toi32_i32$2 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $575_1 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 184 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $575_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$8 : { + if (!((HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + break label$1; + } + label$9 : { + label$10 : { + if (!($1285(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 92 | 0) >> 2] | 0 ? 27417 : 8398) | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) | 0)) { + break label$10 + } + break label$9; + } + label$11 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 164 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($9_1 + 96 | 0) >> 2] = 1; + } + HEAP32[($9_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 64 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$12 : { + if (!($1283(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, 18 | 0, ((HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 8404 : 8004) | 0, 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + break label$9; + } + label$13 : { + if (HEAP32[($9_1 + 88 | 0) >> 2] | 0) { + break label$13 + } + if (!($1283(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, (HEAPU8[(((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 92 | 0) >> 2] | 0) << 1 | 0) | 0) + 27422 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) | 0)) { + break label$13 + } + break label$9; + } + label$14 : { + if ((HEAPU8[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0) { + break label$14 + } + HEAP32[($9_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 64 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$15 : { + if (!((0 | 0) != ($360(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$15 + } + break label$9; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $361(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!((HEAP32[($9_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + label$18 : { + if (HEAP32[($9_1 + 84 | 0) >> 2] | 0) { + break label$18 + } + $190_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + HEAP32[$9_1 >> 2] = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $349($190_1 | 0, 27426 | 0, $9_1 | 0); + break label$17; + } + $1286(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0); + } + break label$9; + } + label$19 : { + if (!(($1025(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + $205_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $349($205_1 | 0, 27450 | 0, $9_1 + 16 | 0 | 0); + break label$9; + } + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $308(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, 80 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($9_1 + 80 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 12 | 0) >> 2] = 7; + $221_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + HEAP32[($221_1 + 36 | 0) >> 2] = (HEAP32[($221_1 + 36 | 0) >> 2] | 0) + 1 | 0; + break label$9; + } + HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + HEAP16[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 40 | 0) >> 1] = 65535; + HEAP32[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 64 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + HEAP16[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 46 | 0) >> 1] = 200; + HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 232 | 0) >> 2] = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + label$21 : { + if (((HEAPU8[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$21 + } + if ($3229(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, 27485 | 0) | 0) { + break label$21 + } + HEAP32[((HEAP32[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + } + label$22 : { + if (((HEAPU8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$22 + } + $271_1 = $1275(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 68 | 0) >> 2] = $271_1; + if (!(($271_1 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + $1287(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0); + label$23 : { + if (!(HEAP32[($9_1 + 88 | 0) >> 2] | 0)) { + break label$23 + } + $1276(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 163 | 0) | 0; + } + $283_1 = 94; + $285_1 = 2; + i64toi32_i32$1 = 0; + $369$hi = i64toi32_i32$1; + $290_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + $293_1 = (HEAP32[($290_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($290_1 + 44 | 0) >> 2] = $293_1; + HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 88 | 0) >> 2] = $293_1; + HEAP32[($9_1 + 40 | 0) >> 2] = $293_1; + $295_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + $298_1 = (HEAP32[($295_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($295_1 + 44 | 0) >> 2] = $298_1; + HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 92 | 0) >> 2] = $298_1; + HEAP32[($9_1 + 36 | 0) >> 2] = $298_1; + $300_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + $303_1 = (HEAP32[($300_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($300_1 + 44 | 0) >> 2] = $303_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $303_1; + $367(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 93 | 0, HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, $285_1 | 0) | 0; + $356(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1288(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 18 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $370$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $371$hi = i64toi32_i32$0; + i64toi32_i32$0 = $370$hi; + i64toi32_i32$0 = $371$hi; + i64toi32_i32$0 = $370$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $371$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $373$hi = i64toi32_i32$1; + i64toi32_i32$1 = $369$hi; + i64toi32_i32$1 = $373$hi; + i64toi32_i32$1 = $369$hi; + i64toi32_i32$1 = $373$hi; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $369$hi; + i64toi32_i32$3 = 0; + HEAP32[($9_1 + 44 | 0) >> 2] = ((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0 ? 1 : 4; + $367(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, $283_1 | 0, HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, $285_1 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, $283_1 | 0, HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 5 | 0, (HEAPU8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + $1277(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0); + label$24 : { + label$25 : { + label$26 : { + if (HEAP32[($9_1 + 92 | 0) >> 2] | 0) { + break label$26 + } + if (!(HEAP32[($9_1 + 88 | 0) >> 2] | 0)) { + break label$25 + } + } + $366(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) | 0; + break label$24; + } + $339_1 = $367(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 140 | 0, HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 132 | 0) >> 2] = $339_1; + } + $344_1 = 0; + $1289(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0); + $366(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 121 | 0, $344_1 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) | 0; + $1278(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 74 | 0, 6 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, $344_1 | 0, 27501 | 0, -1 | 0) | 0; + $367(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 122 | 0, $344_1 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 8 & 65535 | 0 | 0); + $1276(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 116 | 0) | 0; + } + break label$1; + } + $13(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0); + } + global$0 = $9_1 + 112 | 0; + return; + } + + function $1193($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $11_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $7_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP8[($7_1 + 24 | 0) >> 0] = (HEAPU8[($7_1 + 24 | 0) >> 0] | 0) + 1 | 0; + $11_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($11_1 + 272 | 0) >> 2] = (HEAP32[($11_1 + 272 | 0) >> 2] | 0) + 1 | 0; + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 276 | 0) >> 1] = 0; + return; + } + + function $1194($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $323_1 = 0, $44_1 = 0, $79_1 = 0, $103_1 = 0, $138_1 = 0, $142_1 = 0, $176_1 = 0, $229_1 = 0, $256_1 = 0, $259_1 = 0, $260_1 = 0, $263_1 = 0, $264_1 = 0, $267_1 = 0, $290_1 = 0, $302_1 = 0, $307_1 = 0, $370_1 = 0, $382_1 = 0, $495_1 = 0, $497_1 = 0, $99_1 = 0, $180_1 = 0, $394_1 = 0, $395_1 = 0, $396_1 = 0, $403_1 = 0, $410_1 = 0, $411_1 = 0, $413_1 = 0, $415_1 = 0, $417_1 = 0, $418_1 = 0, $453_1 = 0, $459_1 = 0, $460_1 = 0, $461_1 = 0, $527_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 256 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 252 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 248 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 244 | 0) >> 2] = $2_1; + HEAP8[($7_1 + 243 | 0) >> 0] = $3_1; + HEAP32[($7_1 + 236 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 228 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 252 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 244 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($7_1 + 232 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if (!((HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + if (!($1290(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 232 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + $44_1 = HEAP32[($7_1 + 232 | 0) >> 2] | 0; + HEAP32[($44_1 + 36 | 0) >> 2] = HEAP32[($44_1 + 36 | 0) >> 2] | 0 | 4096 | 0; + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 228 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $349(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0, 1352 | 0, 0 | 0); + break label$1; + } + HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 228 | 0) >> 2] | 0) + 160 | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + $79_1 = HEAP32[($7_1 + 232 | 0) >> 2] | 0; + HEAP32[($79_1 + 36 | 0) >> 2] = HEAP32[($79_1 + 36 | 0) >> 2] | 0 | 1 | 0; + } + } + label$8 : { + if (!(((HEAPU8[($7_1 + 243 | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$8 + } + label$9 : { + if (!((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 8 | 0)) { + break label$9 + } + $349(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0, 27594 | 0, 0 | 0); + break label$1; + } + label$10 : { + if ((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 4 | 0) { + break label$10 + } + $99_1 = HEAP32[($7_1 + 252 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[(HEAP32[($7_1 + 232 | 0) >> 2] | 0) >> 2] | 0; + $349($99_1 | 0, 27644 | 0, $7_1 | 0); + break label$1; + } + $103_1 = HEAP32[($7_1 + 232 | 0) >> 2] | 0; + HEAP32[($103_1 + 36 | 0) >> 2] = HEAP32[($103_1 + 36 | 0) >> 2] | 0 | 640 | 0; + $1291(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $350(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $1292(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0, 4 | 0, 0 | 0, HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + label$12 : { + label$13 : { + if (!(HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$13 + } + $382(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + break label$12; + } + } + } + label$14 : { + if (!((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$14 + } + $138_1 = 0; + HEAP32[($7_1 + 212 | 0) >> 2] = $138_1; + HEAP32[($7_1 + 216 | 0) >> 2] = $138_1; + label$15 : { + label$16 : while (1) { + $142_1 = 16; + if (!((HEAP32[($7_1 + 216 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $142_1 | 0) >> $142_1 | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($7_1 + 208 | 0) >> 2] = (HEAPU16[(((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 216 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0; + label$17 : { + label$18 : { + if (!((HEAP32[($7_1 + 208 | 0) >> 2] | 0) & 96 | 0)) { + break label$18 + } + HEAP32[($7_1 + 204 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 216 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0; + label$19 : { + if (!($1292(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0, 8 | 0, HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { + break label$19 + } + $176_1 = 0; + $18(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0); + $180_1 = $1218(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0, 119 | 0, $176_1 | 0, $176_1 | 0) | 0; + HEAP32[(((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 216 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] = $180_1; + } + break label$17; + } + HEAP32[($7_1 + 212 | 0) >> 2] = (HEAP32[($7_1 + 212 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($7_1 + 216 | 0) >> 2] = (HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + label$20 : { + if (HEAP32[($7_1 + 212 | 0) >> 2] | 0) { + break label$20 + } + $349(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0, 27676 | 0, 0 | 0); + break label$1; + } + } + $1293(HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 220 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$21 : { + label$22 : while (1) { + if (!((HEAP32[($7_1 + 220 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + $1294(HEAP32[($7_1 + 220 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 220 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 220 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$22; + }; + } + label$23 : { + if (((HEAPU8[((HEAP32[($7_1 + 228 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$23 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1275(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 196 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$24 + } + break label$1; + } + $229_1 = 0; + $1288(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, 116 | 0, $229_1 | 0) | 0; + label$25 : { + label$26 : { + if (!((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == ($229_1 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($7_1 + 192 | 0) >> 2] = 8398; + HEAP32[($7_1 + 188 | 0) >> 2] = 27720; + break label$25; + } + HEAP32[($7_1 + 192 | 0) >> 2] = 27417; + HEAP32[($7_1 + 188 | 0) >> 2] = 27726; + } + label$27 : { + if (!((HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$27 + } + $256_1 = HEAP32[($7_1 + 252 | 0) >> 2] | 0; + $259_1 = (HEAP32[($256_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($256_1 + 44 | 0) >> 2] = $259_1; + HEAP32[($7_1 + 148 | 0) >> 2] = $259_1; + $260_1 = HEAP32[($7_1 + 252 | 0) >> 2] | 0; + $263_1 = (HEAP32[($260_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($260_1 + 44 | 0) >> 2] = $263_1; + HEAP32[($7_1 + 140 | 0) >> 2] = $263_1; + $264_1 = HEAP32[($7_1 + 252 | 0) >> 2] | 0; + $267_1 = (HEAP32[($264_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($264_1 + 44 | 0) >> 2] = $267_1; + HEAP32[($7_1 + 136 | 0) >> 2] = $267_1; + $1295(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0); + $367(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, 97 | 0, 1 | 0, HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 224 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, 16 & 65535 | 0 | 0); + HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 40 | 0) >> 2] = 2; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($1296(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, 13 | 0, HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0) | 0; + label$28 : { + if (!(HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$28 + } + break label$1; + } + $290_1 = 24; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1297(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, (65 << $290_1 | 0) >> $290_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (!((HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$29 + } + break label$1; + } + $302_1 = $7_1 + 152 | 0; + $307_1 = HEAPU16[((HEAP32[($7_1 + 128 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + HEAP16[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 44 | 0) >> 1] = $307_1; + HEAP16[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 42 | 0) >> 1] = $307_1; + HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 128 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP16[((HEAP32[($7_1 + 128 | 0) >> 2] | 0) + 42 | 0) >> 1] = 0; + HEAP32[((HEAP32[($7_1 + 128 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + $11(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0); + $1298($302_1 | 0, 13 | 0, HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0); + $1210(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, $302_1 | 0) | 0; + label$30 : { + if (!(HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$30 + } + break label$1; + } + $323_1 = 1; + $1299(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 144 | 0) >> 2] | 0) - 1 | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0) | 0; + $1300(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0, 0 | 0); + $366(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, 121 | 0, $323_1 | 0, HEAP32[($7_1 + 136 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, 122 | 0, $323_1 | 0, HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 136 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, 116 | 0, $323_1 | 0) | 0; + } + label$31 : { + label$32 : { + if (!((HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$32 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1301(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + break label$31; + } + label$33 : { + label$34 : { + if (!((HEAPU8[($7_1 + 243 | 0) >> 0] | 0) & 255 | 0)) { + break label$34 + } + $370_1 = (HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 192 | 0; + break label$33; + } + $370_1 = HEAP32[($7_1 + 244 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 124 | 0) >> 2] = $370_1; + HEAP32[($7_1 + 200 | 0) >> 2] = (HEAP32[(HEAP32[($7_1 + 124 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 184 | 0) >> 2] | 0) | 0; + $382_1 = 24; + label$35 : { + if (!((((HEAPU8[(HEAP32[(HEAP32[($7_1 + 124 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) << $382_1 | 0) >> $382_1 | 0 | 0) != (59 | 0) & 1 | 0)) { + break label$35 + } + HEAP32[($7_1 + 200 | 0) >> 2] = (HEAP32[($7_1 + 200 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + } + $394_1 = HEAP32[($7_1 + 228 | 0) >> 2] | 0; + $395_1 = HEAP32[($7_1 + 188 | 0) >> 2] | 0; + $396_1 = HEAP32[($7_1 + 200 | 0) >> 2] | 0; + HEAP32[($7_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 184 | 0) >> 2] | 0; + HEAP32[($7_1 + 84 | 0) >> 2] = $396_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $395_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $351($394_1 | 0, 27731 | 0, $7_1 + 80 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + } + $403_1 = HEAP32[($7_1 + 252 | 0) >> 2] | 0; + $410_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 228 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 224 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $411_1 = HEAP32[($7_1 + 192 | 0) >> 2] | 0; + $413_1 = HEAP32[(HEAP32[($7_1 + 232 | 0) >> 2] | 0) >> 2] | 0; + $415_1 = HEAP32[(HEAP32[($7_1 + 232 | 0) >> 2] | 0) >> 2] | 0; + $417_1 = HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0; + $418_1 = HEAP32[($7_1 + 184 | 0) >> 2] | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = $418_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $417_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $415_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $413_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $411_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $410_1; + $1302($403_1 | 0, 27746 | 0, $7_1 + 48 | 0 | 0); + $13(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0); + $1303(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 224 | 0) >> 2] | 0 | 0); + label$36 : { + if (!((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 8 | 0)) { + break label$36 + } + HEAP32[($7_1 + 120 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 228 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 224 | 0) >> 2] | 0) << 4 | 0) | 0; + label$37 : { + if (!((HEAP32[((HEAP32[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$37 + } + $453_1 = HEAP32[($7_1 + 252 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + $1302($453_1 | 0, 27844 | 0, $7_1 + 32 | 0 | 0); + } + } + $459_1 = HEAP32[($7_1 + 196 | 0) >> 2] | 0; + $460_1 = HEAP32[($7_1 + 224 | 0) >> 2] | 0; + $461_1 = HEAP32[($7_1 + 228 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 232 | 0) >> 2] | 0) >> 2] | 0; + $1304($459_1 | 0, $460_1 | 0, $351($461_1 | 0, 27886 | 0, $7_1 + 16 | 0 | 0) | 0 | 0); + } + if (!(((HEAPU8[((HEAP32[($7_1 + 228 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($7_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $474((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[(HEAP32[($7_1 + 232 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$38 : { + if (!((HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$38 + } + $118(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0); + break label$1; + } + $495_1 = 0; + HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 232 | 0) >> 2] = $495_1; + $497_1 = HEAP32[($7_1 + 228 | 0) >> 2] | 0; + HEAP32[($497_1 + 24 | 0) >> 2] = HEAP32[($497_1 + 24 | 0) >> 2] | 0 | 1 | 0; + label$39 : { + if ((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($495_1 | 0) & 1 | 0) { + break label$39 + } + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 184 | 0) >> 2] | 0; + label$40 : { + if (!((HEAP32[(HEAP32[($7_1 + 248 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$40 + } + HEAP32[($7_1 + 248 | 0) >> 2] = HEAP32[($7_1 + 244 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 104 | 0) >> 2] = (HEAP32[(HEAP32[($7_1 + 248 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[($7_1 + 108 | 0) >> 2] | 0) | 0; + $527_1 = ($409(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) | 0) + 13 | 0; + HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 52 | 0) >> 2] = $527_1; + } + } + global$0 = $7_1 + 256 | 0; + return; + } + + function $1195($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $10_1 = 0, $18_1 = 0, $79_1 = 0, $108_1 = 0, $119_1 = 0, $142_1 = 0, $205_1 = 0, $186_1 = 0, $193_1 = 0, $195_1 = 0, $197_1 = 0, $30_1 = 0, $96_1 = 0, $157_1 = 0, $184_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + $10_1 = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + if (!(($10_1 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $18_1 = 16; + label$3 : { + if (!(((((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $18_1 | 0) >> $18_1 | 0) + 1 | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $30_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0; + $349($30_1 | 0, 14253 | 0, $5_1 | 0); + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $64(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$5 + } + $1223(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0; + } + $3288(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) >> 0] = 0; + $1305(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + $79_1 = 16; + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $79_1 | 0) >> $79_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if ($87(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0) | 0) { + break label$8 + } + $96_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $349($96_1 | 0, 30186 | 0, $5_1 + 16 | 0 | 0); + $13(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + $108_1 = 16; + label$9 : { + if ((((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $108_1 | 0) >> $108_1 | 0) & 7 | 0) { + break label$9 + } + $119_1 = 16; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $70(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, Math_imul((((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $119_1 | 0) >> $119_1 | 0) + 8 | 0, 20) | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + $13(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + $142_1 = 16; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $142_1 | 0) >> $142_1 | 0, 20) | 0; + i64toi32_i32$0 = 0; + $205_1 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $205_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $205_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $157_1 = $1306(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 15 | 0) >> 0] = $157_1; + label$11 : { + label$12 : { + if (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$12 + } + HEAP8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 13 | 0) >> 0] = 65; + HEAP8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 14 | 0) >> 0] = 1; + break label$11; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + ($68(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $3288(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) >> 0] = 0; + $1305(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0); + $184_1 = $1307(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 13 | 0) >> 0] = $184_1; + $186_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP16[($186_1 + 16 | 0) >> 1] = (HEAPU16[($186_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + } + $193_1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + $195_1 = 1; + HEAP16[($193_1 + 42 | 0) >> 1] = (HEAPU16[($193_1 + 42 | 0) >> 1] | 0) + $195_1 | 0; + $197_1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + HEAP16[($197_1 + 44 | 0) >> 1] = (HEAPU16[($197_1 + 44 | 0) >> 1] | 0) + $195_1 | 0; + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 76 | 0) >> 2] = 0; + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $1196($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, $67_1 = 0, i64toi32_i32$0 = 0, $113_1 = 0, $23_1 = 0, $39_1 = 0, $52_1 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $23_1 = 0; + label$2 : { + if (!((HEAPU8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + $23_1 = ((HEAPU8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 164 | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0); + } + HEAP32[($6_1 + 64 | 0) >> 2] = $23_1 & 1 | 0; + $39_1 = 16; + HEAP32[($6_1 + 72 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul((((HEAPU16[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $39_1 | 0) >> $39_1 | 0) - 1 | 0, 20) | 0; + label$3 : { + label$4 : { + if ($1308(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 64 | 0) >> 2] | 0) & 255 | 0 | 0) | 0) { + break label$4 + } + $52_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + $349($52_1 | 0, 30212 | 0, $6_1 | 0); + break label$3; + } + label$5 : { + label$6 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$6 + } + $349(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, 30257 | 0, 0 | 0); + break label$5; + } + $67_1 = $6_1 + 8 | 0; + $18(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = 0; + $113_1 = 0; + i64toi32_i32$1 = $67_1; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $67_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $67_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $67_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $67_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($6_1 + 8 | 0) >> 0] = 178; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1309(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = 4096; + $93_1 = $1310(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, $67_1 | 0, 1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] = $93_1; + $13(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + } + } + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$7 + } + $1311(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0); + } + $18(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0); + global$0 = $6_1 + 96 | 0; + return; + } + + function $1197($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $55_1 = 0, $18_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $365(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, 52 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $55_1 = 0; + i64toi32_i32$1 = $18_1; + HEAP32[i64toi32_i32$1 >> 2] = $55_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $55_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $18_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $55_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $18_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $55_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $18_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $55_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $18_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $55_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) & 255 | 0; + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 34 | 0) >> 1] = 65535; + $1237(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + $1312(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $18(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + $18(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + } + $51_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $51_1 | 0; + } + + function $1198($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $24_1 = 0, $22_1 = 0, i64toi32_i32$0 = 0, $79_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAP32[($2_1 + 4 | 0) >> 2] | 0) + 52 | 0) + 1 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $22_1 = 0; + $24_1 = 0; + HEAP8[(HEAP32[$5_1 >> 2] | 0) >> 0] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 1 | 0) >> 0] = $22_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = 8388608; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 34 | 0) >> 1] = 65535; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 2] = $24_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = $24_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 20 | 0) >> 2] = $24_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 40 | 0) >> 2] = $24_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 44 | 0) >> 2] = $24_1; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 2 | 0) >> 0] = $22_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 28 | 0) >> 2] = $24_1; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 32 | 0) >> 1] = 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[$5_1 >> 2] | 0) + 52 | 0; + $3288(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[$2_1 >> 2] | 0 | 0, HEAP32[($2_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[($2_1 + 4 | 0) >> 2] | 0) | 0) >> 0] = $22_1; + label$3 : { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$3 + } + $1313(HEAP32[$5_1 >> 2] | 0 | 0); + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] = 1; + label$4 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1223(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, $2_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + } + $79_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $79_1 | 0; + } + + function $1199($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, $15_1 = 0, $19_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 67108864 | 0) { + break label$2 + } + $10_1 = $1314(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $10_1; + if (!$10_1) { + break label$2 + } + HEAP8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] = 167; + $15_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($15_1 + 4 | 0) >> 2] = HEAP32[($15_1 + 4 | 0) >> 2] | 0 | (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $19_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $19_1 | 0; + } + + function $1200($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0, $17_1 = 0, $29_1 = 0, $39_1 = 0, $61_1 = 0, $66_1 = 0, $9_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + $17_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $17_1 | 0) >> $17_1 | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + $29_1 = 16; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul((((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $29_1 | 0) >> $29_1 | 0) - 1 | 0, 20) | 0; + HEAP8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 0] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $39_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($39_1 + 36 | 0) >> 2] = HEAP32[($39_1 + 36 | 0) >> 2] | 0 | 2048 | 0; + if (!(((HEAPU16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $61_1 = 16; + $66_1 = 16; + label$6 : { + if (!((((HEAPU16[(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 1] | 0) << $61_1 | 0) >> $61_1 | 0 | 0) == ((((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $66_1 | 0) >> $66_1 | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$6 + } + $8_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $9_1 = HEAPU8[($8_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($8_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 8 | 0; + HEAP8[($8_1 + 55 | 0) >> 0] = $9_1; + HEAP8[($8_1 + 56 | 0) >> 0] = $9_1 >>> 8 | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$5; + }; + } + } + return; + } + + function $1201($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $197_1 = 0, $8_1 = 0, $27_1 = 0, $40_1 = 0, $89_1 = 0, $179_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 32 | 0) >> 2] = -1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 4 | 0)) { + break label$3 + } + $22_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + $349($22_1 | 0, 30298 | 0, $7_1 | 0); + break label$1; + } + $27_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($27_1 + 36 | 0) >> 2] = HEAP32[($27_1 + 36 | 0) >> 2] | 0 | 4 | 0; + label$4 : { + label$5 : { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $40_1 = 16; + HEAP32[($7_1 + 32 | 0) >> 2] = (((HEAPU16[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $40_1 | 0) >> $40_1 | 0) - 1 | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 32 | 0) >> 2] | 0, 20) | 0; + $1315(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 24 | 0) >> 2] = 1; + break label$4; + } + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1316(HEAP32[(((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $1317(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + label$8 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (59 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + $89_1 = 16; + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $89_1 | 0) >> $89_1 | 0 | 0) & 1 | 0)) { + break label$9 + } + label$11 : { + if ($88(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 32 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0) | 0) { + break label$11 + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 32 | 0) >> 2] | 0, 20) | 0; + $1315(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + break label$9; + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + } + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + label$12 : { + label$13 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$13 + } + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + if ($88($503(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, 1352 | 0) | 0 | 0, 3600 | 0) | 0) { + break label$13 + } + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1316(HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $1318(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 40 | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + } + HEAP16[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 1] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP8[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 50 | 0) >> 0] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + $179_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($179_1 + 36 | 0) >> 2] = HEAP32[($179_1 + 36 | 0) >> 2] | 0 | ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) << 3 | 0) | 0; + label$15 : { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP8[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 202 | 0) >> 0] = HEAPU8[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0; + } + $1319(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0; + break label$12; + } + label$16 : { + label$17 : { + if (!(HEAP32[($7_1 + 48 | 0) >> 2] | 0)) { + break label$17 + } + $349(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, 30339 | 0, 0 | 0); + break label$16; + } + $197_1 = 0; + $1202(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, $197_1 | 0, $197_1 | 0, $197_1 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, $197_1 | 0, $197_1 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $197_1 | 0, 2 & 255 | 0 | 0); + HEAP32[($7_1 + 56 | 0) >> 2] = $197_1; + } + } + } + $382(HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 64 | 0; + return; + } + + function $1202($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1, $9_1, $10_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + $9_1 = $9_1 | 0; + $10_1 = $10_1 | 0; + var $13_1 = 0, $14_1 = 0, $66_1 = 0, $67_1 = 0, $68_1 = 0, $69_1 = 0, $70_1 = 0, $71_1 = 0, $72_1 = 0, $73_1 = 0, $391_1 = 0, $115_1 = 0, $122_1 = 0, $271_1 = 0, $338_1 = 0, $369_1 = 0, $395_1 = 0, $400_1 = 0, $408_1 = 0, $484_1 = 0, $501_1 = 0, $520_1 = 0, $536_1 = 0, $74_1 = 0, $75_1 = 0, $565_1 = 0, $76_1 = 0, $672_1 = 0, $683_1 = 0, $77_1 = 0, $78_1 = 0, $840_1 = 0, $851_1 = 0, $928_1 = 0, $79_1 = 0, $944_1 = 0, $955_1 = 0, $966_1 = 0, $970_1 = 0, $80_1 = 0, $1033_1 = 0, $1043_1 = 0, $81_1 = 0, $1221_1 = 0, $1237_1 = 0, $1240_1 = 0, $1284_1 = 0, $1411_1 = 0, $1430_1 = 0, $1436_1 = 0, $155_1 = 0, $200_1 = 0, $280_1 = 0, $297_1 = 0, $319_1 = 0, $321_1 = 0, $465_1 = 0, $1114_1 = 0, $1203_1 = 0, $1257_1 = 0, $1297_1 = 0, $1299_1 = 0, $1300_1 = 0, $1308_1 = 0, $1315_1 = 0, $1317_1 = 0, $1319_1 = 0, $1320_1 = 0, $1341_1 = 0, $1342_1 = 0, $1343_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $13_1 = global$0 - 400 | 0; + global$0 = $13_1; + $14_1 = 0; + HEAP32[($13_1 + 396 | 0) >> 2] = $0_1; + HEAP32[($13_1 + 392 | 0) >> 2] = $1_1; + HEAP32[($13_1 + 388 | 0) >> 2] = $2_1; + HEAP32[($13_1 + 384 | 0) >> 2] = $3_1; + HEAP32[($13_1 + 380 | 0) >> 2] = $4_1; + HEAP32[($13_1 + 376 | 0) >> 2] = $5_1; + HEAP32[($13_1 + 372 | 0) >> 2] = $6_1; + HEAP32[($13_1 + 368 | 0) >> 2] = $7_1; + HEAP32[($13_1 + 364 | 0) >> 2] = $8_1; + HEAP32[($13_1 + 360 | 0) >> 2] = $9_1; + HEAP8[($13_1 + 359 | 0) >> 0] = $10_1; + HEAP32[($13_1 + 352 | 0) >> 2] = $14_1; + HEAP32[($13_1 + 348 | 0) >> 2] = $14_1; + HEAP32[($13_1 + 344 | 0) >> 2] = $14_1; + HEAP32[($13_1 + 296 | 0) >> 2] = HEAP32[(HEAP32[($13_1 + 396 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($13_1 + 284 | 0) >> 2] = $14_1; + HEAP32[($13_1 + 276 | 0) >> 2] = $14_1; + HEAP32[($13_1 + 268 | 0) >> 2] = $14_1; + HEAP32[($13_1 + 264 | 0) >> 2] = $14_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAPU8[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + if (!(((HEAPU8[($13_1 + 359 | 0) >> 0] | 0) & 255 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + label$5 : { + if (!((0 | 0) != ($360(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + label$6 : { + if (!($1319(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 380 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + break label$1; + } + label$7 : { + label$8 : { + if (!((HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1284(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 392 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 388 | 0) >> 2] | 0 | 0, $13_1 + 284 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 288 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($13_1 + 288 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$9 + } + break label$1; + } + label$10 : { + if (((HEAPU8[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$10 + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1320(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 352 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (HEAP32[((HEAP32[($13_1 + 388 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$11 + } + if (!((HEAP32[($13_1 + 352 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($13_1 + 288 | 0) >> 2] = 1; + } + } + $115_1 = $13_1 + 304 | 0; + $1321($115_1 | 0, HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 288 | 0) >> 2] | 0 | 0, 30486 | 0, HEAP32[($13_1 + 284 | 0) >> 2] | 0 | 0); + label$12 : { + if (!($1322($115_1 | 0, HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + } + $122_1 = 0; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1323(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, $122_1 | 0, (HEAP32[($13_1 + 384 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 352 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!((HEAP32[($13_1 + 352 | 0) >> 2] | 0 | 0) == ($122_1 | 0) & 1 | 0)) { + break label$13 + } + break label$1; + } + label$14 : { + if (!((HEAP32[($13_1 + 288 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[(((HEAP32[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 288 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $155_1 = HEAP32[($13_1 + 396 | 0) >> 2] | 0; + HEAP32[$13_1 >> 2] = HEAP32[(HEAP32[($13_1 + 352 | 0) >> 2] | 0) >> 2] | 0; + $349($155_1 | 0, 30492 | 0, $13_1 | 0); + break label$1; + } + label$15 : { + if (!((HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $416(HEAP32[($13_1 + 352 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 264 | 0) >> 2] = wasm2js_i32$1; + } + break label$7; + } + HEAP32[($13_1 + 352 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + label$16 : { + if ((HEAP32[($13_1 + 352 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$16 + } + break label$1; + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $350(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 288 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($13_1 + 292 | 0) >> 2] = (HEAP32[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 288 | 0) >> 2] | 0) << 4 | 0) | 0; + label$17 : { + if ($89(HEAP32[(HEAP32[($13_1 + 352 | 0) >> 2] | 0) >> 2] | 0 | 0, 27544 | 0, 7 | 0) | 0) { + break label$17 + } + if ((HEAPU8[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0) { + break label$17 + } + if (!((HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + $200_1 = HEAP32[($13_1 + 396 | 0) >> 2] | 0; + HEAP32[($13_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($13_1 + 352 | 0) >> 2] | 0) >> 2] | 0; + $349($200_1 | 0, 30542 | 0, $13_1 + 16 | 0 | 0); + break label$1; + } + label$18 : { + if (!((HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + $349(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, 30570 | 0, 0 | 0); + break label$1; + } + label$19 : { + if (!(HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$19 + } + $349(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, 30595 | 0, 0 | 0); + break label$1; + } + label$20 : { + label$21 : { + if (!((HEAP32[($13_1 + 284 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1224(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 284 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 344 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!((HEAP32[($13_1 + 344 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$22 + } + break label$1; + } + label$23 : { + if (!((0 | 0) != ($1285(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 344 | 0) >> 2] | 0 | 0, 30486 | 0, HEAP32[(HEAP32[($13_1 + 352 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$23 + } + break label$1; + } + label$24 : { + if (((HEAPU8[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$24 + } + label$25 : { + if (((HEAPU8[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$25 + } + $271_1 = 0; + label$26 : { + if (!(($361(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 344 | 0) >> 2] | 0 | 0, $271_1 | 0) | 0 | 0) != ($271_1 | 0) & 1 | 0)) { + break label$26 + } + $280_1 = HEAP32[($13_1 + 396 | 0) >> 2] | 0; + HEAP32[($13_1 + 128 | 0) >> 2] = HEAP32[($13_1 + 344 | 0) >> 2] | 0; + $349($280_1 | 0, 30629 | 0, $13_1 + 128 | 0 | 0); + break label$1; + } + } + label$27 : { + if (!(($1025(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 344 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($13_1 + 292 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$27 + } + label$28 : { + label$29 : { + if (HEAP32[($13_1 + 360 | 0) >> 2] | 0) { + break label$29 + } + $297_1 = HEAP32[($13_1 + 396 | 0) >> 2] | 0; + HEAP32[($13_1 + 112 | 0) >> 2] = HEAP32[($13_1 + 344 | 0) >> 2] | 0; + $349($297_1 | 0, 30663 | 0, $13_1 + 112 | 0 | 0); + break label$28; + } + $1286(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 288 | 0) >> 2] | 0 | 0); + } + break label$1; + } + } + break label$20; + } + HEAP32[($13_1 + 256 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($13_1 + 260 | 0) >> 2] = 1; + label$30 : { + label$31 : while (1) { + if (!((HEAP32[($13_1 + 256 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($13_1 + 256 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 256 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($13_1 + 260 | 0) >> 2] = (HEAP32[($13_1 + 260 | 0) >> 2] | 0) + 1 | 0; + continue label$31; + }; + } + $319_1 = HEAP32[($13_1 + 296 | 0) >> 2] | 0; + $321_1 = HEAP32[(HEAP32[($13_1 + 352 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($13_1 + 148 | 0) >> 2] = HEAP32[($13_1 + 260 | 0) >> 2] | 0; + HEAP32[($13_1 + 144 | 0) >> 2] = $321_1; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $351($319_1 | 0, 30687 | 0, $13_1 + 144 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 344 | 0) >> 2] = wasm2js_i32$1; + label$32 : { + if (!((HEAP32[($13_1 + 344 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$32 + } + break label$1; + } + label$33 : { + if (!((HEAPU8[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0)) { + break label$33 + } + $338_1 = HEAP32[($13_1 + 344 | 0) >> 2] | 0; + HEAP8[($338_1 + 7 | 0) >> 0] = (HEAPU8[($338_1 + 7 | 0) >> 0] | 0) + 1 | 0; + } + } + label$34 : { + if (((HEAPU8[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$34 + } + HEAP32[($13_1 + 252 | 0) >> 2] = HEAP32[(HEAP32[($13_1 + 292 | 0) >> 2] | 0) >> 2] | 0; + label$35 : { + if (!($1283(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, 18 | 0, ((HEAP32[($13_1 + 288 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 8404 : 8004) | 0, 0 | 0, HEAP32[($13_1 + 252 | 0) >> 2] | 0 | 0) | 0)) { + break label$35 + } + break label$1; + } + $369_1 = 1; + HEAP32[($13_1 + 336 | 0) >> 2] = $369_1; + label$36 : { + if (!((HEAP32[($13_1 + 288 | 0) >> 2] | 0 | 0) == ($369_1 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[($13_1 + 336 | 0) >> 2] = 3; + } + label$37 : { + if (!($1283(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 336 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 344 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($13_1 + 352 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 252 | 0) >> 2] | 0 | 0) | 0)) { + break label$37 + } + break label$1; + } + } + label$38 : { + label$39 : { + if (!((HEAP32[($13_1 + 380 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$39 + } + $391_1 = 0; + $395_1 = $13_1 + 240 | 0; + $400_1 = 16; + HEAP32[($13_1 + 236 | 0) >> 2] = (HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul((((HEAPU16[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $400_1 | 0) >> $400_1 | 0) - 1 | 0, 20) | 0; + $408_1 = HEAP32[($13_1 + 236 | 0) >> 2] | 0; + HEAP16[($408_1 + 16 | 0) >> 1] = (HEAPU16[($408_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + $1324($395_1 | 0, HEAP32[(HEAP32[($13_1 + 236 | 0) >> 2] | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1214(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, $391_1 | 0, $1218(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, 59 | 0, $395_1 | 0, $391_1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 380 | 0) >> 2] = wasm2js_i32$1; + label$40 : { + if (!((HEAP32[($13_1 + 380 | 0) >> 2] | 0 | 0) == ($391_1 | 0) & 1 | 0)) { + break label$40 + } + break label$1; + } + $1226(HEAP32[($13_1 + 380 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 364 | 0) >> 2] | 0 | 0, -1 | 0); + break label$38; + } + $1228(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 380 | 0) >> 2] | 0 | 0, 30486 | 0); + label$41 : { + if (!(HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$41 + } + break label$1; + } + } + HEAP32[($13_1 + 336 | 0) >> 2] = 0; + label$42 : { + label$43 : while (1) { + if (!((HEAP32[($13_1 + 336 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($13_1 + 380 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$42 + } + HEAP32[($13_1 + 232 | 0) >> 2] = HEAP32[(((HEAP32[($13_1 + 380 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($13_1 + 336 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$44 : { + if (!(((HEAPU8[(HEAP32[($13_1 + 232 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$44 + } + $465_1 = ($68(HEAP32[((HEAP32[($13_1 + 232 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($13_1 + 276 | 0) >> 2] = (HEAP32[($13_1 + 276 | 0) >> 2] | 0) + $465_1 | 0; + } + HEAP32[($13_1 + 336 | 0) >> 2] = (HEAP32[($13_1 + 336 | 0) >> 2] | 0) + 1 | 0; + continue label$43; + }; + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $68(HEAP32[($13_1 + 344 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 340 | 0) >> 2] = wasm2js_i32$1; + label$45 : { + label$46 : { + if (!((HEAP32[($13_1 + 264 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$46 + } + $484_1 = (HEAPU16[((HEAP32[($13_1 + 264 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + break label$45; + } + $484_1 = 1; + } + HEAP32[($13_1 + 272 | 0) >> 2] = $484_1; + $501_1 = 16; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1325(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, (((HEAP32[(HEAP32[($13_1 + 380 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($13_1 + 272 | 0) >> 2] | 0) | 0) << $501_1 | 0) >> $501_1 | 0 | 0, ((HEAP32[($13_1 + 340 | 0) >> 2] | 0) + (HEAP32[($13_1 + 276 | 0) >> 2] | 0) | 0) + 1 | 0 | 0, $13_1 + 268 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 348 | 0) >> 2] = wasm2js_i32$1; + label$47 : { + if (!(((HEAPU8[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$47 + } + break label$1; + } + HEAP32[(HEAP32[($13_1 + 348 | 0) >> 2] | 0) >> 2] = HEAP32[($13_1 + 268 | 0) >> 2] | 0; + $520_1 = 1; + HEAP32[($13_1 + 268 | 0) >> 2] = ((HEAP32[($13_1 + 340 | 0) >> 2] | 0) + (HEAP32[($13_1 + 268 | 0) >> 2] | 0) | 0) + $520_1 | 0; + $3288(HEAP32[(HEAP32[($13_1 + 348 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 344 | 0) >> 2] | 0 | 0, (HEAP32[($13_1 + 340 | 0) >> 2] | 0) + $520_1 | 0 | 0) | 0; + HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($13_1 + 352 | 0) >> 2] | 0; + HEAP8[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 54 | 0) >> 0] = HEAP32[($13_1 + 376 | 0) >> 2] | 0; + $66_1 = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + $536_1 = 3; + $74_1 = (HEAPU8[($66_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($66_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 65527 | 0 | (((HEAP32[($13_1 + 376 | 0) >> 2] | 0 | 0) != (0 | 0)) << $536_1 | 0) | 0; + HEAP8[($66_1 + 55 | 0) >> 0] = $74_1; + HEAP8[($66_1 + 56 | 0) >> 0] = $74_1 >>> 8 | 0; + $67_1 = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + $75_1 = (HEAPU8[($67_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($67_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & -4 | 0 | ((HEAPU8[($13_1 + 359 | 0) >> 0] | 0) & $536_1 | 0) | 0; + HEAP8[($67_1 + 55 | 0) >> 0] = $75_1; + HEAP8[($67_1 + 56 | 0) >> 0] = $75_1 >>> 8 | 0; + HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 288 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP16[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 50 | 0) >> 1] = HEAP32[(HEAP32[($13_1 + 380 | 0) >> 2] | 0) >> 2] | 0; + label$48 : { + if (!((HEAP32[($13_1 + 368 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$48 + } + $565_1 = 0; + $1292(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 352 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($13_1 + 368 | 0) >> 2] | 0 | 0, $565_1 | 0) | 0; + HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($13_1 + 368 | 0) >> 2] | 0; + HEAP32[($13_1 + 368 | 0) >> 2] = $565_1; + } + label$49 : { + label$50 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($13_1 + 292 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 76 | 0) >> 0] | 0) & 255 | 0 | 0) >= (4 | 0) & 1 | 0)) { + break label$50 + } + HEAP32[($13_1 + 300 | 0) >> 2] = -1; + break label$49; + } + HEAP32[($13_1 + 300 | 0) >> 2] = 0; + } + HEAP32[($13_1 + 280 | 0) >> 2] = (HEAP32[($13_1 + 380 | 0) >> 2] | 0) + 4 | 0; + label$51 : { + if (!(((HEAPU8[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$51 + } + HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($13_1 + 380 | 0) >> 2] | 0; + HEAP32[($13_1 + 380 | 0) >> 2] = 0; + } + HEAP32[($13_1 + 336 | 0) >> 2] = 0; + label$52 : { + label$53 : while (1) { + if (!((HEAP32[($13_1 + 336 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$52 + } + $1317(HEAP32[(HEAP32[($13_1 + 280 | 0) >> 2] | 0) >> 2] | 0 | 0); + $1292(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 352 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[(HEAP32[($13_1 + 280 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0) | 0; + label$54 : { + if (!(HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$54 + } + break label$1; + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1316(HEAP32[(HEAP32[($13_1 + 280 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_i32$1; + label$55 : { + label$56 : { + if (!(((HEAPU8[(HEAP32[($13_1 + 228 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$56 + } + label$57 : { + if (!((HEAP32[($13_1 + 352 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$57 + } + $349(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, 30710 | 0, 0 | 0); + break label$1; + } + label$58 : { + if (!((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$58 + } + HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($13_1 + 380 | 0) >> 2] | 0; + HEAP32[($13_1 + 380 | 0) >> 2] = 0; + } + HEAP32[($13_1 + 332 | 0) >> 2] = -2; + HEAP16[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 336 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = 65534; + $68_1 = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + $76_1 = (HEAPU8[($68_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($68_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & -9 | 0; + HEAP8[($68_1 + 55 | 0) >> 0] = $76_1; + HEAP8[($68_1 + 56 | 0) >> 0] = $76_1 >>> 8 | 0; + break label$55; + } + $672_1 = 16; + HEAP32[($13_1 + 332 | 0) >> 2] = ((HEAPU16[((HEAP32[($13_1 + 228 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $672_1 | 0) >> $672_1 | 0; + label$59 : { + label$60 : { + if (!((HEAP32[($13_1 + 332 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$60 + } + $683_1 = 16; + HEAP32[($13_1 + 332 | 0) >> 2] = ((HEAPU16[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $683_1 | 0) >> $683_1 | 0; + break label$59; + } + label$61 : { + if ((HEAPU8[(((HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($13_1 + 332 | 0) >> 2] | 0, 20) | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$61 + } + $69_1 = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + $77_1 = (HEAPU8[($69_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($69_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & -9 | 0; + HEAP8[($69_1 + 55 | 0) >> 0] = $77_1; + HEAP8[($69_1 + 56 | 0) >> 0] = $77_1 >>> 8 | 0; + } + label$62 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($13_1 + 332 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$62 + } + $70_1 = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + $78_1 = HEAPU8[($70_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($70_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 1024 | 0; + HEAP8[($70_1 + 55 | 0) >> 0] = $78_1; + HEAP8[($70_1 + 56 | 0) >> 0] = $78_1 >>> 8 | 0; + } + } + HEAP16[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 336 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[($13_1 + 332 | 0) >> 2] | 0; + } + HEAP32[($13_1 + 220 | 0) >> 2] = 0; + label$63 : { + label$64 : { + if (!(((HEAPU8[(HEAP32[(HEAP32[($13_1 + 280 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$64 + } + HEAP32[($13_1 + 220 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($13_1 + 280 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = ($68(HEAP32[($13_1 + 220 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 216 | 0) >> 2] = wasm2js_i32$1; + $3288(HEAP32[($13_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 220 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 216 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($13_1 + 220 | 0) >> 2] = HEAP32[($13_1 + 268 | 0) >> 2] | 0; + HEAP32[($13_1 + 268 | 0) >> 2] = (HEAP32[($13_1 + 268 | 0) >> 2] | 0) + (HEAP32[($13_1 + 216 | 0) >> 2] | 0) | 0; + HEAP32[($13_1 + 276 | 0) >> 2] = (HEAP32[($13_1 + 276 | 0) >> 2] | 0) - (HEAP32[($13_1 + 216 | 0) >> 2] | 0) | 0; + break label$63; + } + label$65 : { + if (!((HEAP32[($13_1 + 332 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$65 + } + HEAP32[($13_1 + 220 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($13_1 + 332 | 0) >> 2] | 0, 20) | 0) + 8 | 0) >> 2] | 0; + } + } + label$66 : { + if ((HEAP32[($13_1 + 220 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$66 + } + HEAP32[($13_1 + 220 | 0) >> 2] = 2261; + } + label$67 : { + if (((HEAPU8[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$67 + } + if (($1326(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 220 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0) { + break label$67 + } + break label$1; + } + HEAP32[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 336 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($13_1 + 220 | 0) >> 2] | 0; + HEAP32[($13_1 + 224 | 0) >> 2] = ((HEAPU8[((HEAP32[($13_1 + 280 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) & (HEAP32[($13_1 + 300 | 0) >> 2] | 0) | 0; + HEAP8[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($13_1 + 336 | 0) >> 2] | 0) | 0) >> 0] = HEAP32[($13_1 + 224 | 0) >> 2] | 0; + HEAP32[($13_1 + 336 | 0) >> 2] = (HEAP32[($13_1 + 336 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($13_1 + 280 | 0) >> 2] = (HEAP32[($13_1 + 280 | 0) >> 2] | 0) + 16 | 0; + continue label$53; + }; + } + label$68 : { + label$69 : { + if (!((HEAP32[($13_1 + 264 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$69 + } + HEAP32[($13_1 + 332 | 0) >> 2] = 0; + label$70 : { + label$71 : while (1) { + if (!((HEAP32[($13_1 + 332 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($13_1 + 264 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$70 + } + $840_1 = 16; + HEAP32[($13_1 + 212 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($13_1 + 264 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 332 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $840_1 | 0) >> $840_1 | 0; + label$72 : { + label$73 : { + if (!($1327(HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($13_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 332 | 0) >> 2] | 0 | 0) | 0)) { + break label$73 + } + $851_1 = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + HEAP16[($851_1 + 52 | 0) >> 1] = (HEAPU16[($851_1 + 52 | 0) >> 1] | 0) + -1 | 0; + break label$72; + } + HEAP16[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 336 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[($13_1 + 212 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 336 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($13_1 + 264 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 332 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP8[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($13_1 + 336 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($13_1 + 264 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($13_1 + 332 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP32[($13_1 + 336 | 0) >> 2] = (HEAP32[($13_1 + 336 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($13_1 + 332 | 0) >> 2] = (HEAP32[($13_1 + 332 | 0) >> 2] | 0) + 1 | 0; + continue label$71; + }; + } + break label$68; + } + HEAP16[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 336 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = 65535; + HEAP32[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 336 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 2261; + } + $1028(HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0); + label$74 : { + if (!((HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$74 + } + $1294(HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0); + } + $1328(HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0); + label$75 : { + if (!((HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$75 + } + $928_1 = 16; + if (!(((HEAPU16[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) >= (((HEAPU16[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $928_1 | 0) >> $928_1 | 0 | 0) & 1 | 0)) { + break label$75 + } + $71_1 = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + $79_1 = HEAPU8[($71_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($71_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 32 | 0; + HEAP8[($71_1 + 55 | 0) >> 0] = $79_1; + HEAP8[($71_1 + 56 | 0) >> 0] = $79_1 >>> 8 | 0; + HEAP32[($13_1 + 332 | 0) >> 2] = 0; + label$76 : { + label$77 : while (1) { + $944_1 = 16; + if (!((HEAP32[($13_1 + 332 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $944_1 | 0) >> $944_1 | 0 | 0) & 1 | 0)) { + break label$76 + } + $955_1 = 16; + label$78 : { + label$79 : { + if (!((HEAP32[($13_1 + 332 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $955_1 | 0) >> $955_1 | 0 | 0) & 1 | 0)) { + break label$79 + } + break label$78; + } + $966_1 = 16; + $970_1 = 16; + label$80 : { + if (!(((($1329(HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0, ((HEAP32[($13_1 + 332 | 0) >> 2] | 0) << $966_1 | 0) >> $966_1 | 0 | 0) | 0) << $970_1 | 0) >> $970_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$80 + } + break label$78; + } + $72_1 = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + $80_1 = (HEAPU8[($72_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($72_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & -33 | 0; + HEAP8[($72_1 + 55 | 0) >> 0] = $80_1; + HEAP8[($72_1 + 56 | 0) >> 0] = $80_1 >>> 8 | 0; + break label$76; + } + HEAP32[($13_1 + 332 | 0) >> 2] = (HEAP32[($13_1 + 332 | 0) >> 2] | 0) + 1 | 0; + continue label$77; + }; + } + } + label$81 : { + if (!((HEAP32[($13_1 + 352 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$81 + } + HEAP32[($13_1 + 208 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$82 : { + label$83 : while (1) { + if (!((HEAP32[($13_1 + 208 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$82 + } + label$84 : { + label$85 : { + if (!(((HEAPU16[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) != ((HEAPU16[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$85 + } + break label$84; + } + HEAP32[($13_1 + 204 | 0) >> 2] = 0; + label$86 : { + label$87 : while (1) { + if (!((HEAP32[($13_1 + 204 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$86 + } + $1033_1 = 16; + $1043_1 = 16; + label$88 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 204 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $1033_1 | 0) >> $1033_1 | 0 | 0) != (((HEAPU16[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 204 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $1043_1 | 0) >> $1043_1 | 0 | 0) & 1 | 0)) { + break label$88 + } + break label$86; + } + HEAP32[($13_1 + 200 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 204 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($13_1 + 196 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 204 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$89 : { + if (!($88(HEAP32[($13_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 196 | 0) >> 2] | 0 | 0) | 0)) { + break label$89 + } + break label$86; + } + HEAP32[($13_1 + 204 | 0) >> 2] = (HEAP32[($13_1 + 204 | 0) >> 2] | 0) + 1 | 0; + continue label$87; + }; + } + label$90 : { + if (!((HEAP32[($13_1 + 204 | 0) >> 2] | 0 | 0) == ((HEAPU16[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$90 + } + label$91 : { + if (!(((HEAPU8[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$91 + } + label$92 : { + if (((HEAPU8[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) == (11 | 0) & 1 | 0) { + break label$92 + } + if (((HEAPU8[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) == (11 | 0) & 1 | 0) { + break label$92 + } + $1114_1 = HEAP32[($13_1 + 396 | 0) >> 2] | 0; + HEAP32[($13_1 + 32 | 0) >> 2] = 0; + $349($1114_1 | 0, 30771 | 0, $13_1 + 32 | 0 | 0); + } + label$93 : { + if (!(((HEAPU8[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$93 + } + HEAP8[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 54 | 0) >> 0] = HEAPU8[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0; + } + } + label$94 : { + if (!(((HEAPU8[($13_1 + 359 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$94 + } + $73_1 = HEAP32[($13_1 + 208 | 0) >> 2] | 0; + $81_1 = (HEAPU8[($73_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($73_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & -4 | 0 | ((HEAPU8[($13_1 + 359 | 0) >> 0] | 0) & 3 | 0) | 0; + HEAP8[($73_1 + 55 | 0) >> 0] = $81_1; + HEAP8[($73_1 + 56 | 0) >> 0] = $81_1 >>> 8 | 0; + } + label$95 : { + if (!(((HEAPU8[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$95 + } + HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 236 | 0) >> 2] | 0; + HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 236 | 0) >> 2] = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + HEAP32[($13_1 + 348 | 0) >> 2] = 0; + } + break label$1; + } + } + HEAP32[($13_1 + 208 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$83; + }; + } + } + label$96 : { + if (((HEAPU8[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$96 + } + label$97 : { + label$98 : { + if (!(((HEAPU8[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$98 + } + label$99 : { + if (!((HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$99 + } + HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 160 | 0) >> 2] | 0; + label$100 : { + if (!($1026(HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0) | 0)) { + break label$100 + } + $349(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, 8631 | 0, 0 | 0); + $1203_1 = $694(114811 | 0) | 0; + HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 12 | 0) >> 2] = $1203_1; + break label$1; + } + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $474((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[(HEAP32[($13_1 + 348 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_i32$1; + label$101 : { + if (!((HEAP32[($13_1 + 192 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$101 + } + $118(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0); + break label$1; + } + $1221_1 = HEAP32[($13_1 + 296 | 0) >> 2] | 0; + HEAP32[($1221_1 + 24 | 0) >> 2] = HEAP32[($1221_1 + 24 | 0) >> 2] | 0 | 1 | 0; + break label$97; + } + label$102 : { + label$103 : { + if (!((HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$103 + } + if (!((HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$102 + } + } + $1237_1 = HEAP32[($13_1 + 396 | 0) >> 2] | 0; + $1240_1 = (HEAP32[($1237_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1237_1 + 44 | 0) >> 2] = $1240_1; + HEAP32[($13_1 + 180 | 0) >> 2] = $1240_1; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1275(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + label$104 : { + if (!((HEAP32[($13_1 + 188 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$104 + } + break label$1; + } + $1287(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($13_1 + 288 | 0) >> 2] | 0 | 0); + $1257_1 = $1276(HEAP32[($13_1 + 188 | 0) >> 2] | 0 | 0, 174 | 0) | 0; + HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 44 | 0) >> 2] = $1257_1; + $367(HEAP32[($13_1 + 188 | 0) >> 2] | 0 | 0, 140 | 0, HEAP32[($13_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 180 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + label$105 : { + label$106 : { + if (!((HEAP32[($13_1 + 372 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$106 + } + HEAP32[($13_1 + 176 | 0) >> 2] = ((HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 192 | 0) >> 2] | 0) - (HEAP32[(HEAP32[($13_1 + 284 | 0) >> 2] | 0) >> 2] | 0) | 0) + (HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0) | 0; + $1284_1 = 24; + label$107 : { + if (!((((HEAPU8[((HEAP32[(HEAP32[($13_1 + 284 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($13_1 + 176 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $1284_1 | 0) >> $1284_1 | 0 | 0) == (59 | 0) & 1 | 0)) { + break label$107 + } + HEAP32[($13_1 + 176 | 0) >> 2] = (HEAP32[($13_1 + 176 | 0) >> 2] | 0) + -1 | 0; + } + $1297_1 = HEAP32[($13_1 + 296 | 0) >> 2] | 0; + $1299_1 = HEAP32[($13_1 + 376 | 0) >> 2] | 0 ? 30833 : 1352; + $1300_1 = HEAP32[($13_1 + 176 | 0) >> 2] | 0; + HEAP32[($13_1 + 104 | 0) >> 2] = HEAP32[(HEAP32[($13_1 + 284 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($13_1 + 100 | 0) >> 2] = $1300_1; + HEAP32[($13_1 + 96 | 0) >> 2] = $1299_1; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $351($1297_1 | 0, 30813 | 0, $13_1 + 96 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + break label$105; + } + HEAP32[($13_1 + 184 | 0) >> 2] = 0; + } + $1308_1 = HEAP32[($13_1 + 396 | 0) >> 2] | 0; + $1315_1 = HEAP32[((HEAP32[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 288 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $1317_1 = HEAP32[(HEAP32[($13_1 + 348 | 0) >> 2] | 0) >> 2] | 0; + $1319_1 = HEAP32[(HEAP32[($13_1 + 352 | 0) >> 2] | 0) >> 2] | 0; + $1320_1 = HEAP32[($13_1 + 180 | 0) >> 2] | 0; + HEAP32[($13_1 + 80 | 0) >> 2] = HEAP32[($13_1 + 184 | 0) >> 2] | 0; + HEAP32[($13_1 + 76 | 0) >> 2] = $1320_1; + HEAP32[($13_1 + 72 | 0) >> 2] = $1319_1; + HEAP32[($13_1 + 68 | 0) >> 2] = $1317_1; + HEAP32[($13_1 + 64 | 0) >> 2] = $1315_1; + $1302($1308_1 | 0, 30841 | 0, $13_1 + 64 | 0 | 0); + $13(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 184 | 0) >> 2] | 0 | 0); + label$108 : { + if (!((HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$108 + } + $1330(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 180 | 0) >> 2] | 0 | 0); + $1303(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 288 | 0) >> 2] | 0 | 0); + $1341_1 = HEAP32[($13_1 + 188 | 0) >> 2] | 0; + $1342_1 = HEAP32[($13_1 + 288 | 0) >> 2] | 0; + $1343_1 = HEAP32[($13_1 + 296 | 0) >> 2] | 0; + HEAP32[($13_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($13_1 + 348 | 0) >> 2] | 0) >> 2] | 0; + $1304($1341_1 | 0, $1342_1 | 0, $351($1343_1 | 0, 30900 | 0, $13_1 + 48 | 0 | 0) | 0 | 0); + $366(HEAP32[($13_1 + 188 | 0) >> 2] | 0 | 0, 159 | 0, 0 | 0, 1 | 0) | 0; + } + $1277(HEAP32[($13_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + } + } + } + label$109 : { + label$110 : { + label$111 : { + if ((HEAPU8[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0) { + break label$111 + } + if (!((HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$110 + } + } + HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + HEAP32[($13_1 + 348 | 0) >> 2] = 0; + break label$109; + } + label$112 : { + if (!(((HEAPU8[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$112 + } + HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 236 | 0) >> 2] = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + HEAP32[($13_1 + 348 | 0) >> 2] = 0; + } + } + } + label$113 : { + if (!((HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$113 + } + $1029(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0); + } + label$114 : { + if (!((HEAP32[($13_1 + 352 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$114 + } + HEAP32[($13_1 + 172 | 0) >> 2] = (HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($13_1 + 172 | 0) >> 2] = (HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 8 | 0; + label$115 : { + label$116 : while (1) { + $1411_1 = HEAP32[(HEAP32[($13_1 + 172 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($13_1 + 168 | 0) >> 2] = $1411_1; + if (!(($1411_1 | 0) != (0 | 0) & 1 | 0)) { + break label$115 + } + label$117 : { + label$118 : { + if (!(((HEAPU8[((HEAP32[($13_1 + 168 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$118 + } + break label$117; + } + label$119 : while (1) { + $1430_1 = HEAP32[((HEAP32[($13_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($13_1 + 164 | 0) >> 2] = $1430_1; + $1436_1 = 0; + label$120 : { + if (!(($1430_1 | 0) != (0 | 0) & 1 | 0)) { + break label$120 + } + $1436_1 = ((HEAPU8[((HEAP32[($13_1 + 164 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) != (5 | 0); + } + label$121 : { + if (!($1436_1 & 1 | 0)) { + break label$121 + } + HEAP32[(HEAP32[($13_1 + 172 | 0) >> 2] | 0) >> 2] = HEAP32[($13_1 + 164 | 0) >> 2] | 0; + HEAP32[((HEAP32[($13_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 164 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($13_1 + 164 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($13_1 + 168 | 0) >> 2] | 0; + HEAP32[($13_1 + 172 | 0) >> 2] = (HEAP32[($13_1 + 164 | 0) >> 2] | 0) + 20 | 0; + continue label$119; + } + break label$119; + }; + break label$115; + } + HEAP32[($13_1 + 172 | 0) >> 2] = (HEAP32[($13_1 + 168 | 0) >> 2] | 0) + 20 | 0; + continue label$116; + }; + } + } + $18(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 368 | 0) >> 2] | 0 | 0); + $382(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 380 | 0) >> 2] | 0 | 0); + $1143(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0); + $13(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 344 | 0) >> 2] | 0 | 0); + global$0 = $13_1 + 400 | 0; + return; + } + + function $1203($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $43_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0) { + break label$2 + } + if ($533(HEAP32[(((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 164 | 0) >> 0] | 0) & 255 | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + $43_1 = $1214(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = $43_1; + label$3 : { + label$4 : { + if (!(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0)) { + break label$4 + } + $1215(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 72 | 0 | 0, 1 | 0); + break label$3; + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + label$5 : { + label$6 : while (1) { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$7 : { + label$8 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + -1 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + -1 | 0; + continue label$8; + }; + } + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[$6_1 >> 2] | 0) | 0; + $1215(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, $6_1 | 0, 1 | 0); + } + break label$1; + } + $18(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1204($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $39_1 = 0, i64toi32_i32$1 = 0, $207_1 = 0, $225_1 = 0, $263_1 = 0, $65_1 = 0, $72_1 = 0, $135_1 = 0, i64toi32_i32$0 = 0, $271_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 96 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $39_1 = 16; + HEAP32[($7_1 + 40 | 0) >> 2] = (((HEAPU16[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $39_1 | 0) >> $39_1 | 0) - 1 | 0; + label$6 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$6 + } + break label$1; + } + label$7 : { + if (!((HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[(HEAP32[($7_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$7 + } + $65_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + $72_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 40 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = $72_1; + $349($65_1 | 0, 31011 | 0, $7_1 | 0); + break label$1; + } + HEAP32[($7_1 + 48 | 0) >> 2] = 1; + break label$4; + } + label$8 : { + if (!((HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[(HEAP32[($7_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[(HEAP32[($7_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $349(HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0, 31074 | 0, 0 | 0); + break label$1; + } + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + } + HEAP32[($7_1 + 56 | 0) >> 2] = (((((HEAP32[($7_1 + 48 | 0) >> 2] | 0) - 1 | 0) << 3 | 0) + 44 | 0) + (HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + 1 | 0; + label$9 : { + if (!((HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($7_1 + 52 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($7_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $135_1 = ($68(HEAP32[((((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + $135_1 | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + } + i64toi32_i32$1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $308(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + break label$1; + } + HEAP32[(HEAP32[($7_1 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + label$13 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$13 + } + $1223(HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) | 0; + } + $3288(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) >> 0] = 0; + $1305(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$15 + } + $207_1 = 16; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] = (((HEAPU16[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $207_1 | 0) >> $207_1 | 0) - 1 | 0; + break label$14; + } + HEAP32[($7_1 + 52 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + $225_1 = 16; + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $225_1 | 0) >> $225_1 | 0 | 0) & 1 | 0)) { + break label$18 + } + label$20 : { + if ($88(HEAP32[((HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 36 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$20 + } + HEAP32[(((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + break label$18; + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + $263_1 = 16; + label$21 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) >= (((HEAPU16[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $263_1 | 0) >> $263_1 | 0 | 0) & 1 | 0)) { + break label$21 + } + $271_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[((((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + $349($271_1 | 0, 31168 | 0, $7_1 + 16 | 0 | 0); + break label$1; + } + label$22 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$22 + } + $1318(HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 3 | 0) | 0 | 0, HEAP32[((((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + } + label$23 : { + if (!((HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($7_1 + 52 | 0) >> 2] = 0; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $68(HEAP32[((((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + label$26 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$26 + } + $1318(HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0); + } + $3288(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + } + HEAP8[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 0] = 0; + HEAP8[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 25 | 0) >> 0] = (HEAP32[($7_1 + 76 | 0) >> 2] | 0) & 255 | 0; + HEAP8[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 26 | 0) >> 0] = ((HEAP32[($7_1 + 76 | 0) >> 2] | 0) >> 8 | 0) & 255 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $474((HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 56 | 0 | 0, HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$27 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + $118(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0); + break label$1; + } + label$28 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = 0; + } + $13(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + $382(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0); + $382(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 96 | 0; + return; + } + + function $1205($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $7_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + label$3 : { + if (($7_1 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + $15_1 = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $15_1; + if (!(($15_1 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + HEAP8[((HEAP32[$4_1 >> 2] | 0) + 24 | 0) >> 0] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + return; + } + + function $1206($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, $26_1 = 0, $78_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + $7_1 = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + label$3 : { + if (($7_1 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + $26_1 = 16; + HEAP32[($4_1 + 16 | 0) >> 2] = (((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $26_1 | 0) >> $26_1 | 0) - 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1224(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + break label$1; + } + label$5 : { + if (!(($1326(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $13(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 20) | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[(((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 20) | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $78_1 = 16; + label$8 : { + if (!((((HEAPU16[(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 1] | 0) << $78_1 | 0) >> $78_1 | 0 | 0) == (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 20) | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$7; + }; + } + break label$1; + } + $13(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1207($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $21_1 = 0, $92_1 = 0, $99_1 = 0, $107_1 = 0, $121_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP8[($5_1 + 19 | 0) >> 0] = 32; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $21_1 = 16; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul((((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $21_1 | 0) >> $21_1 | 0) - 1 | 0, 20) | 0; + label$3 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + $349(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 31214 | 0, 0 | 0); + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + label$6 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$8 + } + if ($89(31257 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, 7 | 0) | 0) { + break label$8 + } + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$10 + } + if ($89(31265 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, 6 | 0) | 0) { + break label$10 + } + HEAP8[($5_1 + 19 | 0) >> 0] = 64; + break label$9; + } + break label$4; + } + } + } + label$11 : { + if (!(((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$11 + } + $92_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($92_1 + 44 | 0) >> 1] = (HEAPU16[($92_1 + 44 | 0) >> 1] | 0) + -1 | 0; + } + $99_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP16[($99_1 + 16 | 0) >> 1] = (HEAPU16[($99_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0) | 0; + $107_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($107_1 + 36 | 0) >> 2] = HEAP32[($107_1 + 36 | 0) >> 2] | 0 | ((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0) | 0; + label$12 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$12 + } + $1315(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + break label$1; + } + $121_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $349($121_1 | 0, 31272 | 0, $5_1 | 0); + } + $18(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 32 | 0; + return; + } + + function $1208($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $22_1 = 0, $33_1 = 0, $58_1 = 0, $124_1 = 0, $137_1 = 0, $152_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!($360(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if (!(HEAP32[($6_1 + 80 | 0) >> 2] | 0)) { + break label$4 + } + $22_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP8[($22_1 + 85 | 0) >> 0] = (HEAPU8[($22_1 + 85 | 0) >> 0] | 0) + 1 | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1323(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($6_1 + 80 | 0) >> 2] | 0)) { + break label$5 + } + $33_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP8[($33_1 + 85 | 0) >> 0] = (HEAPU8[($33_1 + 85 | 0) >> 0] | 0) + -1 | 0; + } + label$6 : { + if (!((HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!(HEAP32[($6_1 + 80 | 0) >> 2] | 0)) { + break label$7 + } + $1331(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $350(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$8 + } + if (!($1332(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + break label$1; + } + $58_1 = 0; + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 8404 : 8004; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 64 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = $58_1; + label$9 : { + if (!($1283(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, 9 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, $58_1 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + break label$1; + } + label$10 : { + label$11 : { + if (!(HEAP32[($6_1 + 84 | 0) >> 2] | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 15; + break label$12; + } + HEAP32[($6_1 + 60 | 0) >> 2] = 17; + } + break label$10; + } + label$14 : { + label$15 : { + if (!(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$15 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 30; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = HEAP32[((HEAP32[(($1056(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + break label$14; + } + label$16 : { + label$17 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 13; + break label$16; + } + HEAP32[($6_1 + 60 | 0) >> 2] = 11; + } + } + } + label$18 : { + if (!($1283(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0)) { + break label$18 + } + break label$1; + } + label$19 : { + if (!($1283(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, 9 | 0, HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0)) { + break label$19 + } + break label$1; + } + label$20 : { + if (!($1333(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0)) { + break label$20 + } + $124_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + $349($124_1 | 0, 31303 | 0, $6_1 | 0); + break label$1; + } + label$21 : { + if (!(HEAP32[($6_1 + 84 | 0) >> 2] | 0)) { + break label$21 + } + if (!((HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$21 + } + $137_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + $349($137_1 | 0, 31331 | 0, $6_1 + 16 | 0 | 0); + break label$1; + } + label$22 : { + if (HEAP32[($6_1 + 84 | 0) >> 2] | 0) { + break label$22 + } + if (!((HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + $152_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + $349($152_1 | 0, 31365 | 0, $6_1 + 32 | 0 | 0); + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1275(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + $1287(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0); + label$24 : { + if (HEAP32[($6_1 + 84 | 0) >> 2] | 0) { + break label$24 + } + $1334(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, 14130 | 0, HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0); + $1335(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0); + } + $1336(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0); + } + } + $1143(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0); + global$0 = $6_1 + 96 | 0; + return; + } + + function $1209($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, i64toi32_i32$0 = 0, $11_1 = 0, $16_1 = 0, $27_1 = 0, $46_1 = 0, $64_1 = 0, i64toi32_i32$2 = 0, $109_1 = 0, $143_1 = 0, $83_1 = 0, $89_1 = 0, i64toi32_i32$1 = 0, $406_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 96 | 0; + global$0 = $10_1; + $11_1 = 0; + HEAP32[($10_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 68 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 64 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 12 | 0) >> 2] = $11_1; + HEAP32[($10_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + $16_1 = 16; + label$1 : { + label$2 : { + if (!((((HEAPU16[((HEAP32[($10_1 + 92 | 0) >> 2] | 0) + 200 | 0) >> 1] | 0) << $16_1 | 0) >> $16_1 | 0 | 0) > ($11_1 | 0) & 1 | 0)) { + break label$2 + } + $349(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 31697 | 0, 0 | 0); + break label$1; + } + $27_1 = 0; + $1192(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, 1 | 0, $27_1 | 0, HEAP32[($10_1 + 64 | 0) >> 2] | 0 | 0); + HEAP32[($10_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 92 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if ((HEAP32[($10_1 + 60 | 0) >> 2] | 0 | 0) == ($27_1 | 0) & 1 | 0) { + break label$4 + } + if (!(HEAP32[((HEAP32[($10_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$3 + } + } + break label$1; + } + $46_1 = $10_1 + 16 | 0; + $1284(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, $10_1 + 12 | 0 | 0) | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $350(HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $1321($46_1 | 0, HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0, 27417 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0); + label$5 : { + if (!($1337($46_1 | 0, HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + break label$1; + } + $64_1 = HEAP32[($10_1 + 72 | 0) >> 2] | 0; + HEAP32[($64_1 + 4 | 0) >> 2] = HEAP32[($64_1 + 4 | 0) >> 2] | 0 | 2097152 | 0; + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[($10_1 + 92 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($10_1 + 72 | 0) >> 2] | 0; + HEAP32[($10_1 + 72 | 0) >> 2] = 0; + break label$6; + } + $83_1 = $1338(HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] = $83_1; + } + $89_1 = $1339(HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] = $89_1; + label$8 : { + if (!(((HEAPU8[((HEAP32[($10_1 + 4 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$1; + } + i64toi32_i32$2 = (HEAP32[($10_1 + 92 | 0) >> 2] | 0) + 192 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $406_1 = i64toi32_i32$0; + i64toi32_i32$0 = $10_1 + 40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $406_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $109_1 = 24; + label$9 : { + if (!((((HEAPU8[(HEAP32[($10_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $109_1 | 0) >> $109_1 | 0 | 0) != (59 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($10_1 + 40 | 0) >> 2] = (HEAP32[($10_1 + 40 | 0) >> 2] | 0) + (HEAP32[($10_1 + 44 | 0) >> 2] | 0) | 0; + } + HEAP32[($10_1 + 44 | 0) >> 2] = 0; + HEAP32[($10_1 + 56 | 0) >> 2] = (HEAP32[($10_1 + 40 | 0) >> 2] | 0) - (HEAP32[(HEAP32[($10_1 + 88 | 0) >> 2] | 0) >> 2] | 0) | 0; + HEAP32[($10_1 + 52 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + label$10 : { + label$11 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($10_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 56 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($10_1 + 56 | 0) >> 2] = (HEAP32[($10_1 + 56 | 0) >> 2] | 0) + -1 | 0; + continue label$11; + }; + } + $143_1 = 0; + HEAP32[($10_1 + 40 | 0) >> 2] = (HEAP32[($10_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 56 | 0) >> 2] | 0) - 1 | 0) | 0; + HEAP32[($10_1 + 44 | 0) >> 2] = 1; + $1194(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, $143_1 | 0, $10_1 + 40 | 0 | 0, 0 & 255 | 0 | 0, $143_1 | 0); + } + $1139(HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0); + label$12 : { + if (!(((HEAPU8[((HEAP32[($10_1 + 92 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$12 + } + $1340(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0); + } + $382(HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0); + global$0 = $10_1 + 96 | 0; + return; + } + + function $1210($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $1228_1 = 0, $1965_1 = 0, $6_1 = 0, $147_1 = 0, $746_1 = 0, $937_1 = 0, $1971_1 = 0, $1592_1 = 0, $26_1 = 0, $1966$hi = 0, $461_1 = 0, $512_1 = 0, $1068_1 = 0, $1467_1 = 0, $1856_1 = 0, $1899_1 = 0, $45_1 = 0, $49_1 = 0, $119_1 = 0, $144_1 = 0, $178_1 = 0, $216_1 = 0, $235_1 = 0, $249_1 = 0, $1968$hi = 0, $411_1 = 0, $463_1 = 0, $465_1 = 0, $472_1 = 0, $493_1 = 0, $509_1 = 0, $510_1 = 0, $513_1 = 0, $601_1 = 0, $650_1 = 0, $656_1 = 0, $658_1 = 0, $670_1 = 0, $677_1 = 0, $678_1 = 0, $748_1 = 0, $749_1 = 0, $771_1 = 0, $802_1 = 0, $816_1 = 0, $821_1 = 0, $890_1 = 0, $898_1 = 0, $901_1 = 0, $989_1 = 0, $1099_1 = 0, $1105_1 = 0, $1235_1 = 0, $1236_1 = 0, $1252_1 = 0, $1255_1 = 0, $1256_1 = 0, $1259_1 = 0, $1260_1 = 0, $1263_1 = 0, $1266_1 = 0, $1269_1 = 0, $1278_1 = 0, $1287_1 = 0, $1335_1 = 0, $1371_1 = 0, $1389_1 = 0, $1416_1 = 0, $1435_1 = 0, $1466_1 = 0, $1540_1 = 0, $1593_1 = 0, $1655_1 = 0, $1662_1 = 0, $1668_1 = 0, $1669_1 = 0, $100_1 = 0, $1718_1 = 0, $1723_1 = 0, $1748_1 = 0, $1753_1 = 0, $1850_1 = 0, $1853_1 = 0, $109_1 = 0, $246_1 = 0, $251_1 = 0, $253_1 = 0, $410_1 = 0, $479_1 = 0, $561_1 = 0, $600_1 = 0, $830_1 = 0, $1331_1 = 0, $1962_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 496 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 488 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 484 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 480 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 456 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 436 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 432 | 0) >> 2] = 1; + HEAP32[($5_1 + 364 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 368 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 488 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 464 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0) { + break label$3 + } + if ((HEAPU8[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if (!(HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + } + HEAP32[($5_1 + 492 | 0) >> 2] = 1; + break label$1; + } + $26_1 = 0; + label$4 : { + if (!($1283(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, 21 | 0, $26_1 | 0, $26_1 | 0, $26_1 | 0) | 0)) { + break label$4 + } + HEAP32[($5_1 + 492 | 0) >> 2] = 1; + break label$1; + } + label$5 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 480 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) <= (6 | 0) & 1 | 0)) { + break label$5 + } + $382(HEAP32[($5_1 + 368 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + $45_1 = HEAP32[($5_1 + 484 | 0) >> 2] | 0; + HEAP32[($45_1 + 4 | 0) >> 2] = (HEAP32[($45_1 + 4 | 0) >> 2] | 0) & -2 | 0; + $49_1 = HEAP32[($5_1 + 484 | 0) >> 2] | 0; + HEAP32[($49_1 + 4 | 0) >> 2] = HEAP32[($49_1 + 4 | 0) >> 2] | 0 | 4194304 | 0; + } + $1341(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, 0 | 0); + label$6 : { + label$7 : { + label$8 : { + if (HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$8 + } + if (!((HEAPU8[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$7 + } + } + break label$6; + } + label$9 : { + if (!((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8388608 | 0)) { + break label$9 + } + HEAP32[($5_1 + 356 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($5_1 + 476 | 0) >> 2] = 1; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($5_1 + 476 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 352 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 476 | 0) >> 2] | 0, 72) | 0; + label$12 : { + if (!((HEAP32[((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$12 + } + $109_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + label$13 : { + label$14 : { + if (!((HEAP32[((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + $119_1 = HEAP32[((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$13; + } + $119_1 = HEAP32[(HEAP32[((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] | 0; + } + HEAP32[$5_1 >> 2] = $119_1; + $349($109_1 | 0, 31733 | 0, $5_1 | 0); + break label$6; + } + HEAP32[($5_1 + 476 | 0) >> 2] = (HEAP32[($5_1 + 476 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + } + label$15 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 480 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$15 + } + $1342(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1343(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 432 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!(HEAP32[($5_1 + 432 | 0) >> 2] | 0)) { + break label$16 + } + break label$6; + } + $144_1 = 0; + $147_1 = $5_1 + 376 | 0; + HEAP32[($5_1 + 452 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 460 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0 | 0) != ($144_1 | 0) & 1 | 0; + i64toi32_i32$0 = 0; + $1965_1 = 0; + i64toi32_i32$1 = $147_1; + HEAP32[i64toi32_i32$1 >> 2] = $1965_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1965_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $147_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1965_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $147_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1965_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $147_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1965_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 376 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($5_1 + 476 | 0) >> 2] = $144_1; + label$17 : while (1) { + $178_1 = 0; + label$18 : { + if ((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$18 + } + $178_1 = (HEAP32[($5_1 + 476 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 452 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$19 : { + if (!($178_1 & 1 | 0)) { + break label$19 + } + HEAP32[($5_1 + 348 | 0) >> 2] = ((HEAP32[($5_1 + 452 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 476 | 0) >> 2] | 0, 72) | 0; + HEAP32[($5_1 + 344 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 340 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$20 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$20 + } + if (!($1344(HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$20 + } + if (((HEAPU16[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 8192 | 0) { + break label$20 + } + $216_1 = HEAP32[($5_1 + 348 | 0) >> 2] | 0; + HEAP8[($216_1 + 36 | 0) >> 0] = ((HEAPU8[($216_1 + 36 | 0) >> 0] | 0) & 255 | 0) & -41 | 0; + $1345(HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + } + label$21 : { + label$22 : { + if (!((HEAP32[($5_1 + 344 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$22 + } + break label$21; + } + $235_1 = 16; + label$23 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $235_1 | 0) >> $235_1 | 0 | 0) != (HEAP32[(HEAP32[((HEAP32[($5_1 + 344 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + $246_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $249_1 = 16; + $251_1 = ((HEAPU16[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $249_1 | 0) >> $249_1 | 0; + $253_1 = HEAP32[(HEAP32[($5_1 + 340 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 344 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $253_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $251_1; + $349($246_1 | 0, 31787 | 0, $5_1 + 16 | 0 | 0); + break label$6; + } + label$24 : { + if (!((HEAP32[((HEAP32[($5_1 + 344 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0)) { + break label$24 + } + break label$21; + } + label$25 : { + if (!((HEAP32[((HEAP32[($5_1 + 344 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + if (HEAP32[($5_1 + 476 | 0) >> 2] | 0) { + break label$25 + } + if (!((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 262144 | 0)) { + break label$25 + } + label$26 : { + if ((HEAP32[(HEAP32[($5_1 + 452 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$26 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 452 | 0) >> 2] | 0) + 116 | 0) >> 0] | 0) & 255 | 0) & 10 | 0)) { + break label$25 + } + } + break label$21; + } + label$27 : { + if (!($1346(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 476 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 460 | 0) >> 2] | 0 | 0) | 0)) { + break label$27 + } + label$28 : { + if (!(HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$28 + } + break label$6; + } + HEAP32[($5_1 + 476 | 0) >> 2] = -1; + } + HEAP32[($5_1 + 452 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$29 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$29 + } + break label$6; + } + label$30 : { + if (((HEAPU8[(HEAP32[($5_1 + 480 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) <= (8 | 0) & 1 | 0) { + break label$30 + } + HEAP32[($5_1 + 376 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + } + } + HEAP32[($5_1 + 476 | 0) >> 2] = (HEAP32[($5_1 + 476 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + } + break label$17; + }; + label$31 : { + if (!((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$31 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1347(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 480 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 432 | 0) >> 2] = wasm2js_i32$1; + label$32 : { + if (!((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$32 + } + $1348(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 492 | 0) >> 2] = HEAP32[($5_1 + 432 | 0) >> 2] | 0; + break label$1; + } + label$33 : { + label$34 : { + if (!((HEAP32[(HEAP32[($5_1 + 452 | 0) >> 2] | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$34 + } + if (((HEAPU16[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 32768 | 0) { + break label$34 + } + if (!($1349(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0) | 0)) { + break label$34 + } + break label$33; + } + } + HEAP32[($5_1 + 476 | 0) >> 2] = 0; + label$35 : { + label$36 : while (1) { + if (!((HEAP32[($5_1 + 476 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 452 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$35 + } + i64toi32_i32$0 = 0; + $1966$hi = i64toi32_i32$0; + HEAP32[($5_1 + 336 | 0) >> 2] = ((HEAP32[($5_1 + 452 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 476 | 0) >> 2] | 0, 72) | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 336 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $1968$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1966$hi; + i64toi32_i32$1 = $1968$hi; + i64toi32_i32$1 = $1966$hi; + i64toi32_i32$1 = $1968$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $1966$hi; + label$37 : { + if (!(((i64toi32_i32$2 | 0) == (0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$37 + } + if (!((HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$37 + } + $1283(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 1352 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($5_1 + 300 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$38 : { + label$39 : { + if (!((HEAP32[($5_1 + 300 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$39 + } + break label$38; + } + $410_1 = $1350(HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0) | 0; + $411_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + HEAP32[($411_1 + 212 | 0) >> 2] = (HEAP32[($411_1 + 212 | 0) >> 2] | 0) + $410_1 | 0; + label$40 : { + label$41 : { + if (((HEAPU16[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 4096 | 0) { + break label$41 + } + if (!($1351(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 300 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, (((HEAPU8[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 32 | 0 | 0) != (0 | 0) & 1 | 0 | 0) | 0)) { + break label$41 + } + break label$40; + } + } + HEAP32[($5_1 + 296 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$42 : { + label$43 : { + if (HEAP32[($5_1 + 476 | 0) >> 2] | 0) { + break label$43 + } + label$44 : { + if ((HEAP32[(HEAP32[($5_1 + 452 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$44 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 452 | 0) >> 2] | 0) + 116 | 0) >> 0] | 0) & 255 | 0) & 10 | 0)) { + break label$43 + } + } + $461_1 = 1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($1296(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0) | 0) + $461_1 | 0), HEAP32[(wasm2js_i32$0 + 292 | 0) >> 2] = wasm2js_i32$1; + $463_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $465_1 = (HEAP32[($463_1 + 44 | 0) >> 2] | 0) + $461_1 | 0; + HEAP32[($463_1 + 44 | 0) >> 2] = $465_1; + HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 28 | 0) >> 2] = $465_1; + $472_1 = 13; + $367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, $472_1 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 292 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 292 | 0) >> 2] | 0; + $1298($5_1 + 304 | 0 | 0, $472_1 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $479_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $1352($479_1 | 0, $461_1 | 0, 31827 | 0, $5_1 + 32 | 0 | 0); + $1210(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 300 | 0) >> 2] | 0 | 0, $5_1 + 304 | 0 | 0) | 0; + HEAP16[((HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 46 | 0) >> 1] = HEAPU16[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + $493_1 = HEAP32[($5_1 + 336 | 0) >> 2] | 0; + HEAP8[($493_1 + 37 | 0) >> 0] = HEAPU8[($493_1 + 37 | 0) >> 0] | 0 | 16 | 0; + HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5_1 + 316 | 0) >> 2] | 0; + $1299(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 292 | 0) >> 2] | 0) - 1 | 0 | 0); + $1353(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0); + break label$42; + } + $509_1 = 0; + HEAP32[($5_1 + 284 | 0) >> 2] = $509_1; + $510_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $512_1 = 1; + $513_1 = (HEAP32[($510_1 + 44 | 0) >> 2] | 0) + $512_1 | 0; + HEAP32[($510_1 + 44 | 0) >> 2] = $513_1; + HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 28 | 0) >> 2] = $513_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 69 | 0, $509_1 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 288 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($5_1 + 288 | 0) >> 2] | 0) + $512_1 | 0; + label$45 : { + label$46 : { + if ((((HEAPU8[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 3 | 0) & $512_1 | 0) & 255 | 0) { + break label$46 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1276(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 284 | 0) >> 2] = wasm2js_i32$1; + break label$45; + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1354(HEAP32[($5_1 + 452 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 336 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 276 | 0) >> 2] = wasm2js_i32$1; + label$47 : { + label$48 : { + if (!((HEAP32[($5_1 + 276 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$48 + } + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 98 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 276 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP16[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 2 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($5_1 + 276 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + break label$47; + } + $1298($5_1 + 304 | 0 | 0, 12 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $561_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $1352($561_1 | 0, 1 | 0, 31841 | 0, $5_1 + 48 | 0 | 0); + $1210(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 300 | 0) >> 2] | 0 | 0, $5_1 + 304 | 0 | 0) | 0; + } + HEAP16[((HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 46 | 0) >> 1] = HEAPU16[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + label$49 : { + if (!(HEAP32[($5_1 + 284 | 0) >> 2] | 0)) { + break label$49 + } + $1277(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 284 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1288(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 65 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 280 | 0) >> 2] = wasm2js_i32$1; + $1355(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 280 | 0) >> 2] | 0 | 0); + $1353(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0); + } + label$50 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$50 + } + break label$6; + } + $600_1 = $1350(HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0) | 0; + $601_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + HEAP32[($601_1 + 212 | 0) >> 2] = (HEAP32[($601_1 + 212 | 0) >> 2] | 0) - $600_1 | 0; + HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[($5_1 + 296 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 476 | 0) >> 2] = (HEAP32[($5_1 + 476 | 0) >> 2] | 0) + 1 | 0; + continue label$36; + }; + } + HEAP32[($5_1 + 456 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 448 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 444 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 440 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP8[($5_1 + 416 | 0) >> 0] = ((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0 | 0) != (0 | 0) & 1 | 0; + label$51 : { + if (!(((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 9 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$51 + } + if ($1356(HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 456 | 0) >> 2] | 0 | 0, -1 | 0) | 0) { + break label$51 + } + if (!((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$51 + } + $650_1 = HEAP32[($5_1 + 484 | 0) >> 2] | 0; + HEAP32[($650_1 + 4 | 0) >> 2] = (HEAP32[($650_1 + 4 | 0) >> 2] | 0) & -2 | 0; + $656_1 = $1339(HEAP32[($5_1 + 368 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 456 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 40 | 0) >> 2] = $656_1; + HEAP32[($5_1 + 444 | 0) >> 2] = $656_1; + $658_1 = HEAP32[($5_1 + 484 | 0) >> 2] | 0; + HEAP32[($658_1 + 4 | 0) >> 2] = HEAP32[($658_1 + 4 | 0) >> 2] | 0 | 8 | 0; + } + label$52 : { + label$53 : { + if (!((HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$53 + } + $670_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1357(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, $670_1 | 0, HEAP32[(HEAP32[($5_1 + 456 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 272 | 0) >> 2] = wasm2js_i32$1; + $677_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $678_1 = HEAP32[($677_1 + 40 | 0) >> 2] | 0; + HEAP32[($677_1 + 40 | 0) >> 2] = $678_1 + 1 | 0; + HEAP32[($5_1 + 384 | 0) >> 2] = $678_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1278(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($5_1 + 384 | 0) >> 2] | 0 | 0, ((HEAP32[(HEAP32[($5_1 + 376 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0) + (HEAP32[(HEAP32[($5_1 + 456 | 0) >> 2] | 0) >> 2] | 0) | 0 | 0, $670_1 | 0, HEAP32[($5_1 + 272 | 0) >> 2] | 0 | 0, -9 | 0) | 0), HEAP32[(wasm2js_i32$0 + 396 | 0) >> 2] = wasm2js_i32$1; + break label$52; + } + HEAP32[($5_1 + 396 | 0) >> 2] = -1; + } + label$54 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 480 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (12 | 0) & 1 | 0)) { + break label$54 + } + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[((HEAP32[($5_1 + 480 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 456 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_i32$1; + label$55 : { + if ((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16384 | 0) { + break label$55 + } + HEAP16[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 2 | 0) >> 1] = 320; + } + $1359(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 372 | 0) >> 2] | 0 | 0); + label$56 : { + if (HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$56 + } + if (!((HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$56 + } + $1360(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 111 & 255 | 0 | 0); + HEAP8[($5_1 + 408 | 0) >> 0] = (HEAPU8[($5_1 + 408 | 0) >> 0] | 0) & 255 | 0 | 1 | 0; + } + label$57 : { + label$58 : { + if (!((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$58 + } + $746_1 = 0; + $748_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $749_1 = HEAP32[($748_1 + 40 | 0) >> 2] | 0; + HEAP32[($748_1 + 40 | 0) >> 2] = $749_1 + 1 | 0; + HEAP32[($5_1 + 420 | 0) >> 2] = $749_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1278(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($5_1 + 420 | 0) >> 2] | 0 | 0, $746_1 | 0, $746_1 | 0, $1357(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, $746_1 | 0, $746_1 | 0) | 0 | 0, -9 | 0) | 0), HEAP32[(wasm2js_i32$0 + 424 | 0) >> 2] = wasm2js_i32$1; + $354(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 8 & 65535 | 0 | 0); + HEAP8[($5_1 + 417 | 0) >> 0] = 3; + break label$57; + } + HEAP8[($5_1 + 417 | 0) >> 0] = 0; + } + label$59 : { + label$60 : { + if (HEAP32[($5_1 + 460 | 0) >> 2] | 0) { + break label$60 + } + if (!((HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$60 + } + $771_1 = 0; + HEAP16[($5_1 + 270 | 0) >> 1] = ((HEAPU8[($5_1 + 416 | 0) >> 0] | 0) & 255 | 0 ? 256 : $771_1) | ((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16384 | 0) | 0; + HEAP32[($5_1 + 264 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + label$61 : { + if (!((HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0) != ($771_1 | 0) & 1 | 0)) { + break label$61 + } + $1361(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0); + } + $802_1 = 16; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1362(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 452 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 448 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, (HEAPU16[($5_1 + 270 | 0) >> 1] | 0) & 65535 | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $802_1 | 0) >> $802_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 468 | 0) >> 2] = wasm2js_i32$1; + label$62 : { + if (!((HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$62 + } + break label$6; + } + $816_1 = 16; + $821_1 = 16; + label$63 : { + if (!(((($1363(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0) << $816_1 | 0) >> $816_1 | 0 | 0) < (((HEAPU16[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $821_1 | 0) >> $821_1 | 0 | 0) & 1 | 0)) { + break label$63 + } + $830_1 = $1363(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0; + HEAP16[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 2 | 0) >> 1] = $830_1; + } + label$64 : { + if (!((HEAPU8[($5_1 + 416 | 0) >> 0] | 0) & 255 | 0)) { + break label$64 + } + if (!($1364(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0)) { + break label$64 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1364(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 417 | 0) >> 0] = wasm2js_i32$1; + } + label$65 : { + if (!((HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$65 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1365(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 380 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1366(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 404 | 0) >> 2] = wasm2js_i32$1; + label$66 : { + if (!((HEAP32[($5_1 + 380 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($5_1 + 376 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$66 + } + HEAP32[($5_1 + 376 | 0) >> 2] = 0; + } + } + label$67 : { + if (!((HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$67 + } + if (!((HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$67 + } + $1367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0) | 0; + } + label$68 : { + label$69 : { + if (!((HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$69 + } + $890_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 260 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 256 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 252 | 0) >> 2] = wasm2js_i32$1; + $898_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $901_1 = (HEAP32[($898_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($898_1 + 44 | 0) >> 2] = $901_1; + HEAP32[($5_1 + 248 | 0) >> 2] = $901_1; + $1368(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 11 | 0, $890_1 | 0, HEAP32[($5_1 + 252 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 404 | 0) >> 2] = $890_1; + $1370(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, -1 | 0, $5_1 + 376 | 0 | 0, $5_1 + 416 | 0 | 0, HEAP32[($5_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 252 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 256 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 65 | 0, HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 252 | 0) >> 2] | 0 | 0); + break label$68; + } + $1370(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, -1 | 0, $5_1 + 376 | 0 | 0, $5_1 + 416 | 0 | 0, HEAP32[($5_1 + 480 | 0) >> 2] | 0 | 0, $1371(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0 | 0, $1372(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0 | 0); + $1373(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0); + } + break label$59; + } + $937_1 = 0; + HEAP32[($5_1 + 188 | 0) >> 2] = $937_1; + HEAP32[($5_1 + 184 | 0) >> 2] = $937_1; + HEAP32[($5_1 + 180 | 0) >> 2] = $937_1; + label$70 : { + label$71 : { + if (!((HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0) != ($937_1 | 0) & 1 | 0)) { + break label$71 + } + HEAP32[($5_1 + 176 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 172 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0; + label$72 : { + label$73 : while (1) { + if (!((HEAP32[($5_1 + 176 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$72 + } + HEAP16[((HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 14 | 0) >> 1] = 0; + HEAP32[($5_1 + 176 | 0) >> 2] = (HEAP32[($5_1 + 176 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 172 | 0) >> 2] = (HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 16 | 0; + continue label$73; + }; + } + HEAP32[($5_1 + 176 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 172 | 0) >> 2] = (HEAP32[($5_1 + 444 | 0) >> 2] | 0) + 4 | 0; + label$74 : { + label$75 : while (1) { + if (!((HEAP32[($5_1 + 176 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$74 + } + HEAP16[((HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 14 | 0) >> 1] = 0; + HEAP32[($5_1 + 176 | 0) >> 2] = (HEAP32[($5_1 + 176 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 172 | 0) >> 2] = (HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 16 | 0; + continue label$75; + }; + } + $989_1 = 16; + label$76 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $989_1 | 0) >> $989_1 | 0 | 0) > (66 | 0) & 1 | 0)) { + break label$76 + } + HEAP16[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 2 | 0) >> 1] = 66; + } + label$77 : { + if (!((HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$77 + } + if (!((HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($5_1 + 376 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$77 + } + HEAP32[($5_1 + 168 | 0) >> 2] = 0; + label$78 : { + label$79 : while (1) { + if (!((HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$78 + } + HEAP8[($5_1 + 167 | 0) >> 0] = ((HEAPU8[((((HEAP32[($5_1 + 376 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 168 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0) & 255 | 0) & 1 | 0; + HEAP8[((((HEAP32[($5_1 + 444 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 168 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] = HEAPU8[($5_1 + 167 | 0) >> 0] | 0; + HEAP32[($5_1 + 168 | 0) >> 2] = (HEAP32[($5_1 + 168 | 0) >> 2] | 0) + 1 | 0; + continue label$79; + }; + } + label$80 : { + if ($1356(HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, -1 | 0) | 0) { + break label$80 + } + HEAP32[($5_1 + 180 | 0) >> 2] = 1; + } + } + break label$70; + } + HEAP16[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 2 | 0) >> 1] = 0; + } + i64toi32_i32$2 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $308(HEAP32[($5_1 + 368 | 0) >> 2] | 0 | 0, 56 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 436 | 0) >> 2] = wasm2js_i32$1; + label$81 : { + if (!((HEAP32[($5_1 + 436 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$81 + } + break label$6; + } + $1068_1 = $5_1 + 216 | 0; + HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 128 | 0) >> 2] = HEAP32[($5_1 + 436 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + $1971_1 = 0; + i64toi32_i32$1 = $1068_1; + HEAP32[i64toi32_i32$1 >> 2] = $1971_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1971_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $1068_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1971_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $1068_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1971_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 216 | 0) >> 2] = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + HEAP32[($5_1 + 220 | 0) >> 2] = HEAP32[($5_1 + 452 | 0) >> 2] | 0; + HEAP32[($5_1 + 224 | 0) >> 2] = HEAP32[($5_1 + 436 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + label$82 : { + label$83 : { + if (!((HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$83 + } + $1099_1 = HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0; + break label$82; + } + $1099_1 = 0; + } + $1105_1 = $5_1 + 216 | 0; + HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 12 | 0) >> 2] = $1099_1; + HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 444 | 0) >> 2] | 0; + $1374($1105_1 | 0, HEAP32[($5_1 + 456 | 0) >> 2] | 0 | 0); + $1374($1105_1 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0); + label$84 : { + if (!((HEAP32[($5_1 + 440 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$84 + } + label$85 : { + if (!((HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$85 + } + $1375(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 448 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + } + $1376($5_1 + 216 | 0 | 0, HEAP32[($5_1 + 440 | 0) >> 2] | 0 | 0); + } + HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$86 : { + label$87 : { + if (!((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$87 + } + if (!((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$87 + } + if (!((HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$87 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1377(HEAP32[($5_1 + 368 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, $5_1 + 364 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 363 | 0) >> 0] = wasm2js_i32$1; + break label$86; + } + HEAP8[($5_1 + 363 | 0) >> 0] = 0; + } + HEAP32[($5_1 + 476 | 0) >> 2] = 0; + label$88 : { + label$89 : while (1) { + if (!((HEAP32[($5_1 + 476 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$88 + } + HEAP32[($5_1 + 160 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 476 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($5_1 + 240 | 0) >> 2] = HEAP32[($5_1 + 240 | 0) >> 2] | 0 | 131072 | 0; + $1374($5_1 + 216 | 0 | 0, HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + label$90 : { + if (!((HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$90 + } + $1376($5_1 + 216 | 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 240 | 0) >> 2] = (HEAP32[($5_1 + 240 | 0) >> 2] | 0) & -131073 | 0; + HEAP32[($5_1 + 476 | 0) >> 2] = (HEAP32[($5_1 + 476 | 0) >> 2] | 0) + 1 | 0; + continue label$89; + }; + } + HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$91 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$91 + } + break label$6; + } + label$92 : { + label$93 : { + if (!((HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$93 + } + $1228_1 = 0; + $1235_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $1236_1 = HEAP32[($1235_1 + 40 | 0) >> 2] | 0; + HEAP32[($1235_1 + 40 | 0) >> 2] = $1236_1 + 1 | 0; + HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 4 | 0) >> 2] = $1236_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1357(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0, $1228_1 | 0, HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1278(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 111 | 0, HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $1228_1 | 0, HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, -9 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + $1252_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $1255_1 = (HEAP32[($1252_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1252_1 + 44 | 0) >> 2] = $1255_1; + HEAP32[($5_1 + 204 | 0) >> 2] = $1255_1; + $1256_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $1259_1 = (HEAP32[($1256_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1256_1 + 44 | 0) >> 2] = $1259_1; + HEAP32[($5_1 + 200 | 0) >> 2] = $1259_1; + $1260_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $1263_1 = (HEAP32[($1260_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1260_1 + 44 | 0) >> 2] = $1263_1; + HEAP32[($5_1 + 144 | 0) >> 2] = $1263_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + $1266_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $1269_1 = (HEAP32[($1266_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1266_1 + 44 | 0) >> 2] = $1269_1; + HEAP32[($5_1 + 124 | 0) >> 2] = $1269_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 212 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $1278_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + HEAP32[($1278_1 + 44 | 0) >> 2] = (HEAP32[($1278_1 + 44 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 208 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $1287_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + HEAP32[($1287_1 + 44 | 0) >> 2] = (HEAP32[($1287_1 + 44 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0) | 0; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 69 | 0, $1228_1 | 0, HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 72 | 0, $1228_1 | 0, HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0) | 0) - 1 | 0 | 0) | 0; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1362(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 452 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 448 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0, $1228_1 | 0, ((HEAP32[($5_1 + 180 | 0) >> 2] | 0 ? 512 : $1228_1) | 64 | 0) & 65535 | 0 | 0, $1228_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 468 | 0) >> 2] = wasm2js_i32$1; + label$94 : { + if (!((HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) == ($1228_1 | 0) & 1 | 0)) { + break label$94 + } + break label$6; + } + label$95 : { + label$96 : { + if (!(($1365(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$96 + } + HEAP32[($5_1 + 196 | 0) >> 2] = 0; + break label$95; + } + $1331_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $1335_1 = 0; + label$97 : { + if (!((HEAPU8[($5_1 + 416 | 0) >> 0] | 0) & 255 | 0)) { + break label$97 + } + $1335_1 = ((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0 | 0) == (0 | 0); + } + $1378($1331_1 | 0, ($1335_1 & 1 | 0 ? 31856 : 31865) | 0); + HEAP32[($5_1 + 196 | 0) >> 2] = 1; + HEAP32[($5_1 + 108 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 112 | 0) >> 2] = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + HEAP32[($5_1 + 472 | 0) >> 2] = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + HEAP32[($5_1 + 476 | 0) >> 2] = 0; + label$98 : { + label$99 : while (1) { + if (!((HEAP32[($5_1 + 476 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$98 + } + $1371_1 = 16; + label$100 : { + if (!((((HEAPU16[(((HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 476 | 0) >> 2] | 0, 20) | 0) + 18 | 0) >> 1] | 0) << $1371_1 | 0) >> $1371_1 | 0 | 0) >= (HEAP32[($5_1 + 472 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$100 + } + HEAP32[($5_1 + 112 | 0) >> 2] = (HEAP32[($5_1 + 112 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 472 | 0) >> 2] = (HEAP32[($5_1 + 472 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($5_1 + 476 | 0) >> 2] = (HEAP32[($5_1 + 476 | 0) >> 2] | 0) + 1 | 0; + continue label$99; + }; + } + $1389_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1379(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + $1380(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $1389_1 | 0, 0 & 255 | 0 | 0) | 0; + HEAP32[($5_1 + 472 | 0) >> 2] = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + HEAP32[($5_1 + 476 | 0) >> 2] = $1389_1; + label$101 : { + label$102 : while (1) { + if (!((HEAP32[($5_1 + 476 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$101 + } + HEAP32[($5_1 + 104 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 476 | 0) >> 2] | 0, 20) | 0; + $1416_1 = 16; + label$103 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $1416_1 | 0) >> $1416_1 | 0 | 0) >= (HEAP32[($5_1 + 472 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$103 + } + HEAP32[($5_1 + 100 | 0) >> 2] = (HEAP32[($5_1 + 472 | 0) >> 2] | 0) + (HEAP32[($5_1 + 120 | 0) >> 2] | 0) | 0; + $1435_1 = 16; + $1381(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $1435_1 | 0) >> $1435_1 | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 472 | 0) >> 2] = (HEAP32[($5_1 + 472 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($5_1 + 476 | 0) >> 2] = (HEAP32[($5_1 + 476 | 0) >> 2] | 0) + 1 | 0; + continue label$102; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 132 | 0, HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0) | 0; + $1383(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0); + $1384(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0); + $1373(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0); + $1466_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $1467_1 = HEAP32[($1466_1 + 40 | 0) >> 2] | 0; + HEAP32[($1466_1 + 40 | 0) >> 2] = $1467_1 + 1 | 0; + HEAP32[($5_1 + 188 | 0) >> 2] = $1467_1; + HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 8 | 0) >> 2] = $1467_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 114 | 0, HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 35 | 0, HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 1 | 0) >> 0] = 1; + } + label$104 : { + if (!(HEAP32[($5_1 + 180 | 0) >> 2] | 0)) { + break label$104 + } + if (((HEAPU16[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0) { + break label$104 + } + label$105 : { + if (HEAP32[($5_1 + 196 | 0) >> 2] | 0) { + break label$105 + } + if (!($1385(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0)) { + break label$104 + } + } + HEAP32[($5_1 + 376 | 0) >> 2] = 0; + $1367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0) | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1296(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + label$106 : { + if (!(HEAP32[($5_1 + 196 | 0) >> 2] | 0)) { + break label$106 + } + $367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 126 | 0, HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($5_1 + 472 | 0) >> 2] = 0; + label$107 : { + label$108 : while (1) { + if (!((HEAP32[($5_1 + 472 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$107 + } + label$109 : { + label$110 : { + if (!(HEAP32[($5_1 + 196 | 0) >> 2] | 0)) { + break label$110 + } + $367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 472 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 208 | 0) >> 2] | 0) + (HEAP32[($5_1 + 472 | 0) >> 2] | 0) | 0 | 0) | 0; + break label$109; + } + HEAP8[(HEAP32[($5_1 + 436 | 0) >> 2] | 0) >> 0] = 1; + $1281(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 444 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 472 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 208 | 0) >> 2] | 0) + (HEAP32[($5_1 + 472 | 0) >> 2] | 0) | 0 | 0); + } + HEAP32[($5_1 + 472 | 0) >> 2] = (HEAP32[($5_1 + 472 | 0) >> 2] | 0) + 1 | 0; + continue label$108; + }; + } + $1540_1 = 12; + $1278(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 86 | 0, HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0 | 0, $1386(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) | 0 | 0, -9 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1296(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 16 | 0, (HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 1 | 0 | 0, 0 | 0, (HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $1387(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, $1540_1 | 0, HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 48 | 0, HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, $1540_1 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0); + $1388(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 436 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 69 | 0, 1 | 0, HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0) | 0; + label$111 : { + label$112 : { + if (!(HEAP32[($5_1 + 196 | 0) >> 2] | 0)) { + break label$112 + } + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 3 | 0, HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0) | 0; + break label$111; + } + $1373(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0); + $1367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 132 | 0) >> 2] | 0 | 0) | 0; + } + $1592_1 = 65; + $1593_1 = 69; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1296(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, $1593_1 | 0, 1 | 0, HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) | 0; + $1288(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, $1592_1 | 0, HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1296(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 48 | 0, HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 2 | 0 | 0) | 0; + $1288(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, $1592_1 | 0, HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0) | 0; + $1389(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 436 | 0) >> 2] | 0 | 0); + $1390(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 440 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 1 | 0 | 0, 16 | 0); + $1370(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, -1 | 0, $5_1 + 376 | 0 | 0, $5_1 + 416 | 0 | 0, HEAP32[($5_1 + 480 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, $1592_1 | 0, HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0); + $1391(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 436 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, $1593_1 | 0, 0 | 0, HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0) | 0; + $1288(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, $1592_1 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) | 0; + break label$92; + } + $1655_1 = $1392(HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 436 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 96 | 0) >> 2] = $1655_1; + label$113 : { + label$114 : { + if (!(($1655_1 | 0) != (0 | 0) & 1 | 0)) { + break label$114 + } + $1662_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($5_1 + 488 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $1668_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $1669_1 = HEAP32[($1668_1 + 40 | 0) >> 2] | 0; + HEAP32[($1668_1 + 40 | 0) >> 2] = $1669_1 + 1 | 0; + HEAP32[($5_1 + 88 | 0) >> 2] = $1669_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $1662_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $1662_1; + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $1286(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0); + $1393(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, HEAP32[(HEAP32[($5_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0); + label$115 : { + if (!((HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$115 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $416(HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + } + label$116 : { + if (((HEAPU8[((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 45 | 0) >> 0] | 0) & 1 | 0) & 255 | 0) { + break label$116 + } + HEAP32[($5_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$117 : { + label$118 : while (1) { + if (!((HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$117 + } + $100_1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + label$119 : { + if ((((HEAPU8[($100_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($100_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 2 | 0) & 1 | 0) & 65535 | 0) { + break label$119 + } + $1718_1 = 16; + $1723_1 = 16; + if (!((((HEAPU16[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $1718_1 | 0) >> $1718_1 | 0 | 0) < (((HEAPU16[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $1723_1 | 0) >> $1723_1 | 0 | 0) & 1 | 0)) { + break label$119 + } + if (!((HEAP32[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$119 + } + label$120 : { + if (!((HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$120 + } + $1748_1 = 16; + $1753_1 = 16; + if (!((((HEAPU16[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $1748_1 | 0) >> $1748_1 | 0 | 0) < (((HEAPU16[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $1753_1 | 0) >> $1753_1 | 0 | 0) & 1 | 0)) { + break label$119 + } + } + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$118; + }; + } + } + label$121 : { + if (!((HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$121 + } + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1394(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + $353(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 96 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + label$122 : { + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$122 + } + $357(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, -9 | 0); + } + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 92 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + $1288(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 116 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) | 0; + $1395(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + break label$113; + } + HEAP32[($5_1 + 68 | 0) >> 2] = 0; + label$123 : { + if (!(HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$123 + } + HEAP32[($5_1 + 476 | 0) >> 2] = 0; + label$124 : { + label$125 : while (1) { + if (!((HEAP32[($5_1 + 476 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$124 + } + label$126 : { + label$127 : { + if (!((HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 476 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$127 + } + break label$126; + } + label$128 : { + if (!((HEAP32[((HEAP32[(((HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 476 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0)) { + break label$128 + } + break label$124; + } + } + HEAP32[($5_1 + 476 | 0) >> 2] = (HEAP32[($5_1 + 476 | 0) >> 2] | 0) + 1 | 0; + continue label$125; + }; + } + label$129 : { + if (!((HEAP32[($5_1 + 476 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$129 + } + $1850_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $1853_1 = (HEAP32[($1850_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1850_1 + 44 | 0) >> 2] = $1853_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $1853_1; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) | 0; + } + } + $1856_1 = 0; + $1391(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 436 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1362(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 452 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 448 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 364 | 0) >> 2] | 0 | 0, $1856_1 | 0, ((HEAPU8[($5_1 + 363 | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0, $1856_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 468 | 0) >> 2] = wasm2js_i32$1; + label$130 : { + if (!((HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) == ($1856_1 | 0) & 1 | 0)) { + break label$130 + } + break label$6; + } + $1388(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 436 | 0) >> 2] | 0 | 0); + label$131 : { + if (!(HEAP32[($5_1 + 68 | 0) >> 2] | 0)) { + break label$131 + } + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 69 | 0, 1 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1366(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$132 : { + if (!((HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) != ($1371(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$132 + } + $1282(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0; + } + $1373(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0); + $1389(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 436 | 0) >> 2] | 0 | 0); + } + $1899_1 = 0; + HEAP32[($5_1 + 376 | 0) >> 2] = $1899_1; + $1390(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 440 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, 16 | 0); + $1370(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, -1 | 0, $1899_1 | 0, $1899_1 | 0, HEAP32[($5_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0); + } + $1369(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0); + } + label$133 : { + if (!(((HEAPU8[($5_1 + 417 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$133 + } + $1378(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, 31856 | 0); + } + label$134 : { + if (!((HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$134 + } + $1378(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 380 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0 ? 31874 : 31897) | 0); + $1396(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, $5_1 + 376 | 0 | 0, HEAP32[(HEAP32[($5_1 + 456 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 480 | 0) >> 2] | 0 | 0); + } + $1369(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 372 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 432 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0; + } + $382(HEAP32[($5_1 + 368 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 364 | 0) >> 2] | 0 | 0); + $1348(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 492 | 0) >> 2] = HEAP32[($5_1 + 432 | 0) >> 2] | 0; + } + $1962_1 = HEAP32[($5_1 + 492 | 0) >> 2] | 0; + global$0 = $5_1 + 496 | 0; + return $1962_1 | 0; + } + + function $1211($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, $24_1 = 0, $41_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $13_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $13_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $24_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($24_1 + 4 | 0) >> 2] = HEAP32[($24_1 + 4 | 0) >> 2] | 0 | 256 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$4 : { + if ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1024 | 0) { + break label$4 + } + $41_1 = HEAP32[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 124 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $41_1; + if (!(($41_1 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $349(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 33257 | 0, 0 | 0); + } + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1212($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $102_1 = 0, $37_1 = 0, $113_1 = 0, $129_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 64 | 0; + global$0 = $10_1; + HEAP32[($10_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 32 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + label$4 : { + if ((HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + } + $37_1 = HEAP32[($10_1 + 56 | 0) >> 2] | 0; + HEAP32[$10_1 >> 2] = (HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 33327 : 33330; + $349($37_1 | 0, 33291 | 0, $10_1 | 0); + break label$2; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1222(HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$2; + } + HEAP32[($10_1 + 24 | 0) >> 2] = ((HEAP32[($10_1 + 52 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[(HEAP32[($10_1 + 52 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0, 72) | 0; + label$6 : { + if (!(((HEAPU8[((HEAP32[($10_1 + 56 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[(HEAP32[($10_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $102_1 = HEAP32[($10_1 + 44 | 0) >> 2] | 0; + break label$7; + } + $102_1 = HEAP32[($10_1 + 48 | 0) >> 2] | 0; + } + HEAP32[($10_1 + 16 | 0) >> 2] = $102_1; + $1223(HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + label$9 : { + if (!(HEAP32[((HEAP32[($10_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$9 + } + $113_1 = $1224(HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = $113_1; + } + HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($10_1 + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($10_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($10_1 + 28 | 0) >> 2] | 0; + HEAP32[($10_1 + 60 | 0) >> 2] = HEAP32[($10_1 + 52 | 0) >> 2] | 0; + break label$1; + } + $18(HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0); + $19(HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0); + $1139(HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($10_1 + 60 | 0) >> 2] = 0; + } + $129_1 = HEAP32[($10_1 + 60 | 0) >> 2] | 0; + global$0 = $10_1 + 64 | 0; + return $129_1 | 0; + } + + function $1213($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, $68_1 = 0, i64toi32_i32$0 = 0, $39_1 = 0, $15_1 = 0, $32_1 = 0, $41_1 = 0, $50_1 = 0, $53_1 = 0, $109_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11_1 = global$0 - 128 | 0; + global$0 = $11_1; + i64toi32_i32$0 = 0; + HEAP32[($11_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 112 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 108 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 104 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 100 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 96 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 92 | 0) >> 2] = $8_1; + $15_1 = $365(HEAP32[(HEAP32[($11_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0, 76 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($11_1 + 88 | 0) >> 2] = $15_1; + HEAP32[($11_1 + 84 | 0) >> 2] = $15_1; + label$1 : { + if (!((HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($11_1 + 88 | 0) >> 2] = $11_1 + 8 | 0; + } + label$2 : { + if (!((HEAP32[($11_1 + 120 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $32_1 = 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $1214(HEAP32[($11_1 + 124 | 0) >> 2] | 0 | 0, $32_1 | 0, $1217(HEAP32[(HEAP32[($11_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0, 177 | 0, $32_1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + } + $39_1 = 0; + $41_1 = -1; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($11_1 + 120 | 0) >> 2] | 0; + HEAP8[(HEAP32[($11_1 + 88 | 0) >> 2] | 0) >> 0] = 136; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($11_1 + 96 | 0) >> 2] | 0; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] = $39_1; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] = $39_1; + $50_1 = HEAP32[($11_1 + 124 | 0) >> 2] | 0; + $53_1 = (HEAP32[($50_1 + 100 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($50_1 + 100 | 0) >> 2] = $53_1; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] = $53_1; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] = $41_1; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 24 | 0) >> 2] = $41_1; + HEAP16[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 2 | 0) >> 1] = 0; + label$3 : { + if (!((HEAP32[($11_1 + 116 | 0) >> 2] | 0 | 0) == ($39_1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $308(HEAP32[(HEAP32[($11_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0, 80 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + $68_1 = 0; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($11_1 + 116 | 0) >> 2] | 0; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($11_1 + 112 | 0) >> 2] | 0; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($11_1 + 108 | 0) >> 2] | 0; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($11_1 + 104 | 0) >> 2] | 0; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($11_1 + 100 | 0) >> 2] | 0; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 52 | 0) >> 2] = $68_1; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 56 | 0) >> 2] = $68_1; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($11_1 + 92 | 0) >> 2] | 0; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 64 | 0) >> 2] = $68_1; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 68 | 0) >> 2] = $68_1; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 72 | 0) >> 2] = $68_1; + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($11_1 + 124 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $1141(HEAP32[(HEAP32[($11_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0) != ($11_1 + 8 | 0 | 0) & 1 | 0 | 0); + HEAP32[($11_1 + 84 | 0) >> 2] = 0; + break label$4; + } + } + $109_1 = HEAP32[($11_1 + 84 | 0) >> 2] | 0; + global$0 = $11_1 + 128 | 0; + return $109_1 | 0; + } + + function $1214($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $75$hi = 0, $76$hi = 0, $25_1 = 0, $77$hi = 0, $78$hi = 0, $79$hi = 0, $80$hi = 0, $26_1 = 0, $81$hi = 0, $82$hi = 0, $50_1 = 0, $51_1 = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $49_1 = 0, $71_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 20 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$2; + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + break label$3; + } + label$6 : { + if ((HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) & ((HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) | 0) { + break label$6 + } + $33_1 = 0; + $34_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $35_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $75$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $76$hi = i64toi32_i32$0; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $76$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $25_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $25_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $77$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $78$hi = i64toi32_i32$1; + i64toi32_i32$1 = $77$hi; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$1 = $77$hi; + i64toi32_i32$0 = $25_1; + i64toi32_i32$2 = $78$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $79$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $80$hi = i64toi32_i32$5; + i64toi32_i32$5 = $79$hi; + i64toi32_i32$5 = $80$hi; + i64toi32_i32$5 = $79$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $26_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $26_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $81$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $82$hi = i64toi32_i32$0; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$0 = $82$hi; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$5 = $26_1; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$3 = 20; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $70($34_1 | 0, $35_1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == ($33_1 | 0) & 1 | 0)) { + break label$7 + } + break label$2; + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + } + $49_1 = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0; + $50_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $51_1 = HEAP32[$50_1 >> 2] | 0; + HEAP32[$50_1 >> 2] = $51_1 + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $49_1 + ($51_1 << 4 | 0) | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0; + HEAP32[i64toi32_i32$5 >> 2] = 0; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] = 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$1; + } + $18(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + $382(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $71_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $71_1 | 0; + } + + function $1215($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $31_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 12 | 0) >> 2] = ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) + (((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0; + i64toi32_i32$0 = 0; + $31_1 = $1130(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $31_1; + label$2 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$2 + } + $1305(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + label$3 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$3 + } + $1223(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + } + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1216($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $39_1 = 0, $37_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 8 | 0) >> 2] = ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) + (((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0; + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $37_1 = $1309(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = $37_1; + $39_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP8[($39_1 + 9 | 0) >> 0] = (HEAPU8[($39_1 + 9 | 0) >> 0] | 0) & -4 | 0 | 1 | 0; + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1217($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $68(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $15_1 = $1218(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0, 0 | 0) | 0; + global$0 = $5_1 + 32 | 0; + return $15_1 | 0; + } + + function $1218($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $125_1 = 0, $54_1 = 0, $7_1 = 0, $84_1 = 0, $121_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $7_1; + label$1 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if ((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (152 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if ($341(HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 + 4 | 0 | 0) | 0) { + break label$2 + } + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0; + } + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $365(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 52 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $54_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $125_1 = 0; + i64toi32_i32$1 = $54_1; + HEAP32[i64toi32_i32$1 >> 2] = $125_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $125_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $54_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $125_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $54_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $125_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $54_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $125_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $54_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $125_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 34 | 0) >> 1] = 65535; + label$5 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$7 + } + $84_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[($84_1 + 4 | 0) >> 2] = HEAP32[($84_1 + 4 | 0) >> 2] | 0 | ((HEAP32[($6_1 + 4 | 0) >> 2] | 0 ? 268435456 : 536870912) | 8389632 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$6; + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 52 | 0; + label$8 : { + if (!(HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$8 + } + $3288(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + } + HEAP8[((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) >> 0] = 0; + label$9 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$9 + } + if (!(((HEAPU8[(((HEAPU8[(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$9 + } + $1313(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + } + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = 1; + } + $121_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $121_1 | 0; + } + + function $1219($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[((((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 72) | 0) + 36 | 0) >> 0] = HEAPU8[((((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - 1 | 0, 72) | 0) + 36 | 0) >> 0] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + -1 | 0; + continue label$3; + }; + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 0] = 0; + } + return; + } + + function $1220($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $47_1 = 0, $58_1 = 0, $56_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[$5_1 >> 2] = ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0, 72) | 0; + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + if ((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + $47_1 = HEAP32[$5_1 >> 2] | 0; + HEAP8[($47_1 + 37 | 0) >> 0] = HEAPU8[($47_1 + 37 | 0) >> 0] | 0 | 1 | 0; + break label$2; + } + $56_1 = $1224(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 64 | 0) >> 2] = $56_1; + $58_1 = HEAP32[$5_1 >> 2] | 0; + HEAP8[($58_1 + 37 | 0) >> 0] = HEAPU8[($58_1 + 37 | 0) >> 0] | 0 | 2 | 0; + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1221($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $13_1 = 0, $22_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $13_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = (Math_imul(HEAP32[$13_1 >> 2] | 0, 72) + $13_1 | 0) + -64 | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $22_1 = HEAP32[$5_1 >> 2] | 0; + HEAP8[($22_1 + 37 | 0) >> 0] = HEAPU8[($22_1 + 37 | 0) >> 0] | 0 | 4 | 0; + break label$1; + } + $382(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1222($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $28_1 = 0, i64toi32_i32$0 = 0, $89_1 = 0, $93_1 = 0, $98_1 = 0, $102_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $365(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, 80 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $28_1 = 1; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = $28_1; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = $28_1; + $3289((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0 | 0, 0 | 0, 72 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] = -1; + break label$2; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1397(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $1143(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + } + HEAP32[($6_1 + 8 | 0) >> 2] = ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0, 72) | 0; + label$6 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + } + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $89_1 = $1224(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $89_1; + $93_1 = $1224(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = $93_1; + break label$7; + } + $98_1 = $1224(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $98_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + $102_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $102_1 | 0; + } + + function $1223($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $107_1 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $308(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, 16 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $107_1 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[$5_1 >> 2] | 0) + 4 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $107_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 276 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 276 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + } + } + $37_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $37_1 | 0; + } + + function $1224($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1130(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $1305(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + } + $21_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $21_1 | 0; + } + + function $1225($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $19_1 = 0, $130_1 = 0, $131_1 = 0, $132_1 = 0, $133_1 = 0, $153_1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $7_1; + label$1 : while (1) { + $19_1 = 0; + label$2 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = (HEAP32[(($6_1 + 32 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($19_1 & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(($6_1 + 32 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (7 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == ((HEAPU8[((33392 + Math_imul(HEAP32[($6_1 + 20 | 0) >> 2] | 0, 3) | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + if ($89(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, 33344 + ((HEAPU8[(33392 + Math_imul(HEAP32[($6_1 + 20 | 0) >> 2] | 0, 3) | 0) >> 0] | 0) & 255 | 0) | 0 | 0, HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0 | ((HEAPU8[((33392 + Math_imul(HEAP32[($6_1 + 20 | 0) >> 2] | 0, 3) | 0) + 2 | 0) >> 0] | 0) & 255 | 0) | 0; + break label$4; + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$7 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) >= (7 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 64 | 0; + break label$3; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$8 : { + label$9 : { + label$10 : { + if (((HEAP32[($6_1 + 44 | 0) >> 2] | 0) & 33 | 0 | 0) == (33 | 0) & 1 | 0) { + break label$10 + } + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0) & 64 | 0)) { + break label$9 + } + } + HEAP32[($6_1 + 16 | 0) >> 2] = 33413; + label$11 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + $130_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $131_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $132_1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $133_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $133_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $132_1; + HEAP32[$6_1 >> 2] = $131_1; + $349($130_1 | 0, 33415 | 0, $6_1 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$8; + } + label$12 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0) & 32 | 0)) { + break label$12 + } + if (!(((HEAP32[($6_1 + 44 | 0) >> 2] | 0) & 24 | 0 | 0) != (8 | 0) & 1 | 0)) { + break label$12 + } + $349(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, 33459 | 0, 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + } + } + $153_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $153_1 | 0; + } + + function $1226($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $40_1 = 0, $51_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[$5_1 >> 2] = ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) + (((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0; + label$3 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + } + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 0] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$1 + } + $40_1 = HEAP32[$5_1 >> 2] | 0; + HEAP8[($40_1 + 9 | 0) >> 0] = HEAPU8[($40_1 + 9 | 0) >> 0] | 0 | 32 | 0; + label$4 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $51_1 = HEAP32[$5_1 >> 2] | 0; + HEAP8[($51_1 + 8 | 0) >> 0] = (HEAPU8[($51_1 + 8 | 0) >> 0] | 0) & 255 | 0 | 2 | 0; + } + } + return; + } + + function $1227($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $11_1 = 0, i64toi32_i32$2 = 0, $32_1 = 0, $159_1 = 0, $705_1 = 0, $51_1 = 0, $102_1 = 0, $706$hi = 0, i64toi32_i32$3 = 0, $308_1 = 0, $685_1 = 0, $50_1 = 0, $65_1 = 0, $101_1 = 0, $115_1 = 0, $149_1 = 0, $156_1 = 0, $707$hi = 0, $708$hi = 0, $710$hi = 0, $194_1 = 0, $197_1 = 0, $230_1 = 0, $271_1 = 0, $273_1 = 0, $276_1 = 0, $289_1 = 0, $292_1 = 0, $295_1 = 0, $296_1 = 0, $302_1 = 0, $358_1 = 0, $376_1 = 0, $387_1 = 0, $390_1 = 0, $463_1 = 0, $466_1 = 0, $470_1 = 0, $479_1 = 0, $487_1 = 0, $548_1 = 0, $639_1 = 0, $687_1 = 0, $224_1 = 0, $226_1 = 0, $227_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 208 | 0; + global$0 = $7_1; + $11_1 = 0; + HEAP32[($7_1 + 204 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 200 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 196 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 192 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 188 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 160 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 156 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $11_1; + HEAP16[($7_1 + 66 | 0) >> 1] = 1; + HEAP32[($7_1 + 52 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $11_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1 + 136 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 148 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 204 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAPU8[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + } + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1320(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 200 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + $32_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1398(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, 126 | 0, $32_1 | 0, $32_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($32_1 | 0) & 1 | 0; + $50_1 = 1; + label$5 : { + if ((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != ($32_1 | 0) & 1 | 0) { + break label$5 + } + $51_1 = 0; + $50_1 = ($1399(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, $51_1 | 0, $51_1 | 0) | 0 | 0) != ($51_1 | 0); + } + HEAP32[($7_1 + 32 | 0) >> 2] = $50_1 & 1 | 0; + label$6 : { + if (!($1332(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + break label$1; + } + $65_1 = 0; + label$7 : { + if (!($1400(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != ($65_1 | 0) & 1 | 0 ? 1 : $65_1) | 0) | 0)) { + break label$7 + } + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $350(HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1283(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, 9 | 0, HEAP32[(HEAP32[($7_1 + 180 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 100 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + break label$1; + } + $101_1 = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + $102_1 = HEAP32[($101_1 + 40 | 0) >> 2] | 0; + HEAP32[($101_1 + 40 | 0) >> 2] = $102_1 + 1 | 0; + HEAP32[((HEAP32[($7_1 + 200 | 0) >> 2] | 0) + 48 | 0) >> 2] = $102_1; + HEAP32[($7_1 + 164 | 0) >> 2] = $102_1; + HEAP32[($7_1 + 152 | 0) >> 2] = 0; + HEAP32[($7_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $115_1 = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + HEAP32[($115_1 + 40 | 0) >> 2] = (HEAP32[($115_1 + 40 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 152 | 0) >> 2] = (HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + label$11 : { + if (!(HEAP32[($7_1 + 28 | 0) >> 2] | 0)) { + break label$11 + } + $1401(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, $7_1 + 136 | 0 | 0, HEAP32[(HEAP32[($7_1 + 180 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1275(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + break label$1; + } + label$13 : { + if ((HEAPU8[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$13 + } + $1402(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0); + } + $1287(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0); + label$14 : { + if (!(HEAP32[($7_1 + 28 | 0) >> 2] | 0)) { + break label$14 + } + $149_1 = 0; + $1403(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0); + $156_1 = HEAP32[($7_1 + 164 | 0) >> 2] | 0; + HEAP32[($7_1 + 156 | 0) >> 2] = $156_1; + HEAP32[($7_1 + 160 | 0) >> 2] = $156_1; + HEAP32[($7_1 + 192 | 0) >> 2] = $149_1; + HEAP32[($7_1 + 188 | 0) >> 2] = $149_1; + } + $159_1 = $7_1 + 104 | 0; + i64toi32_i32$0 = 0; + $705_1 = 0; + i64toi32_i32$1 = $159_1; + HEAP32[i64toi32_i32$1 >> 2] = $705_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $705_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $159_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $705_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $159_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $705_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 104 | 0) >> 2] = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 200 | 0) >> 2] | 0; + label$15 : { + if (!($1404($159_1 | 0, HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0) | 0)) { + break label$15 + } + break label$1; + } + i64toi32_i32$0 = 0; + $706$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($7_1 + 148 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $707$hi = i64toi32_i32$1; + i64toi32_i32$1 = 1; + $708$hi = i64toi32_i32$1; + i64toi32_i32$1 = $707$hi; + i64toi32_i32$1 = $708$hi; + i64toi32_i32$1 = $707$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $708$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $710$hi = i64toi32_i32$0; + i64toi32_i32$0 = $706$hi; + i64toi32_i32$0 = $710$hi; + i64toi32_i32$0 = $706$hi; + i64toi32_i32$0 = $710$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $706$hi; + i64toi32_i32$3 = 0; + label$16 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$16 + } + if (((HEAPU8[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$16 + } + if ((HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$16 + } + $194_1 = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + $197_1 = (HEAP32[($194_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($194_1 + 44 | 0) >> 2] = $197_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $197_1; + $366(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) | 0; + } + label$17 : { + label$18 : { + if (HEAP32[($7_1 + 92 | 0) >> 2] | 0) { + break label$18 + } + if (!((HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$18 + } + if (HEAP32[($7_1 + 32 | 0) >> 2] | 0) { + break label$18 + } + if (HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$18 + } + $1393(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, HEAP32[(HEAP32[($7_1 + 180 | 0) >> 2] | 0) >> 2] | 0 | 0); + label$19 : { + if ((HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$19 + } + $224_1 = HEAP32[($7_1 + 184 | 0) >> 2] | 0; + $226_1 = HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $227_1 = HEAP32[($7_1 + 100 | 0) >> 2] | 0; + label$20 : { + label$21 : { + if (!(HEAP32[($7_1 + 96 | 0) >> 2] | 0)) { + break label$21 + } + $230_1 = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + break label$20; + } + $230_1 = -1; + } + $1278($224_1 | 0, 138 | 0, $226_1 | 0, $227_1 | 0, $230_1 | 0, HEAP32[(HEAP32[($7_1 + 180 | 0) >> 2] | 0) >> 2] | 0 | 0, -1 | 0) | 0; + } + HEAP32[($7_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + $366(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 138 | 0, HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$23; + }; + } + break label$17; + } + HEAP16[($7_1 + 22 | 0) >> 1] = 20; + label$24 : { + if (!((HEAP32[($7_1 + 128 | 0) >> 2] | 0) & 64 | 0)) { + break label$24 + } + HEAP32[($7_1 + 32 | 0) >> 2] = 1; + } + HEAP16[($7_1 + 22 | 0) >> 1] = (HEAPU16[($7_1 + 22 | 0) >> 1] | 0) & 65535 | 0 | (HEAP32[($7_1 + 32 | 0) >> 2] | 0 ? 0 : 8) | 0; + label$25 : { + label$26 : { + if ((HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$26 + } + $271_1 = 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $271_1; + HEAP16[($7_1 + 66 | 0) >> 1] = 1; + $273_1 = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + $276_1 = (HEAP32[($273_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($273_1 + 44 | 0) >> 2] = $276_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $276_1; + $366(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 72 | 0, $271_1 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) | 0; + break label$25; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $416(HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP16[($7_1 + 66 | 0) >> 1] = HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $289_1 = 16; + $292_1 = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + HEAP32[($292_1 + 44 | 0) >> 2] = (HEAP32[($292_1 + 44 | 0) >> 2] | 0) + (((HEAPU16[($7_1 + 66 | 0) >> 1] | 0) << $289_1 | 0) >> $289_1 | 0) | 0; + $295_1 = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + $296_1 = HEAP32[($295_1 + 40 | 0) >> 2] | 0; + HEAP32[($295_1 + 40 | 0) >> 2] = $296_1 + 1 | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = $296_1; + $302_1 = 16; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, ((HEAPU16[($7_1 + 66 | 0) >> 1] | 0) << $302_1 | 0) >> $302_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $1405(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0); + } + $308_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1362(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, $308_1 | 0, $308_1 | 0, (HEAPU16[($7_1 + 22 | 0) >> 1] | 0) & 65535 | 0 | 0, (HEAP32[($7_1 + 164 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + label$27 : { + if (!((HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0) == ($308_1 | 0) & 1 | 0)) { + break label$27 + } + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1406(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0, $7_1 + 80 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + label$28 : { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$28 + } + $1407(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0); + } + label$29 : { + if (!($1408(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0) | 0)) { + break label$29 + } + $1288(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 136 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0) | 0; + } + label$30 : { + if (!(HEAP32[($7_1 + 96 | 0) >> 2] | 0)) { + break label$30 + } + $366(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + label$31 : { + label$32 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($7_1 + 176 | 0) >> 2] = 0; + label$33 : { + label$34 : while (1) { + $358_1 = 16; + if (!((HEAP32[($7_1 + 176 | 0) >> 2] | 0 | 0) < (((HEAPU16[($7_1 + 66 | 0) >> 1] | 0) << $358_1 | 0) >> $358_1 | 0 | 0) & 1 | 0)) { + break label$33 + } + $376_1 = 16; + $1381(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 176 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $376_1 | 0) >> $376_1 | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + (HEAP32[($7_1 + 176 | 0) >> 2] | 0) | 0 | 0); + HEAP32[($7_1 + 176 | 0) >> 2] = (HEAP32[($7_1 + 176 | 0) >> 2] | 0) + 1 | 0; + continue label$34; + }; + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + break label$31; + } + $387_1 = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + $390_1 = (HEAP32[($387_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($387_1 + 44 | 0) >> 2] = $390_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $390_1; + $1381(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0); + } + label$35 : { + label$36 : { + if (!(HEAP32[($7_1 + 88 | 0) >> 2] | 0)) { + break label$36 + } + HEAP16[($7_1 + 58 | 0) >> 1] = HEAPU16[($7_1 + 66 | 0) >> 1] | 0; + i64toi32_i32$0 = (HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 2 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $365(HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$37 : { + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$37 + } + $1373(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0); + break label$1; + } + $3289(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, 1 | 0, (HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP8[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = 0; + label$38 : { + if (!((HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$38 + } + HEAP8[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 80 | 0) >> 2] | 0) - (HEAP32[($7_1 + 164 | 0) >> 2] | 0) | 0) | 0) >> 0] = 0; + } + label$39 : { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$39 + } + HEAP8[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 84 | 0) >> 2] | 0) - (HEAP32[($7_1 + 164 | 0) >> 2] | 0) | 0) | 0) >> 0] = 0; + } + label$40 : { + if (!(HEAP32[($7_1 + 36 | 0) >> 2] | 0)) { + break label$40 + } + $1367(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$35; + } + label$41 : { + label$42 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$42 + } + $463_1 = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + $466_1 = (HEAP32[($463_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($463_1 + 44 | 0) >> 2] = $466_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $466_1; + HEAP16[($7_1 + 58 | 0) >> 1] = 0; + $470_1 = 16; + $479_1 = 16; + $1278(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, ((HEAPU16[($7_1 + 66 | 0) >> 1] | 0) << $470_1 | 0) >> $470_1 | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, $1409(HEAP32[(HEAP32[($7_1 + 204 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) | 0 | 0, ((HEAPU16[($7_1 + 66 | 0) >> 1] | 0) << $479_1 | 0) >> $479_1 | 0 | 0) | 0; + $487_1 = 16; + $353(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, ((HEAPU16[($7_1 + 66 | 0) >> 1] | 0) << $487_1 | 0) >> $487_1 | 0 | 0) | 0; + break label$41; + } + HEAP16[($7_1 + 58 | 0) >> 1] = 1; + $366(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 148 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0; + } + $1373(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0); + } + label$43 : { + if (HEAP32[($7_1 + 28 | 0) >> 2] | 0) { + break label$43 + } + HEAP32[($7_1 + 16 | 0) >> 2] = 0; + label$44 : { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$44 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1276(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $1410(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, 97 | 0, 8 & 255 | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, $7_1 + 160 | 0 | 0, $7_1 + 156 | 0 | 0) | 0; + label$45 : { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$45 + } + $1411(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + } + } + label$46 : { + label$47 : { + if (!(HEAP32[($7_1 + 88 | 0) >> 2] | 0)) { + break label$47 + } + label$48 : { + if (HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$48 + } + if (!((HEAPU8[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) - (HEAP32[($7_1 + 164 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0) & 255 | 0)) { + break label$48 + } + $548_1 = 16; + $353(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, ((HEAPU16[($7_1 + 58 | 0) >> 1] | 0) << $548_1 | 0) >> $548_1 | 0 | 0) | 0; + } + break label$46; + } + label$49 : { + label$50 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$50 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$51 : { + label$52 : { + if (!(HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$52 + } + $367(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0; + break label$51; + } + $366(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 127 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0; + } + break label$49; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $367(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 42 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + } + label$53 : { + label$54 : { + if (!(HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$54 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1056(HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $1412(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0); + $1295(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0); + label$55 : { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$55 + } + $1288(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 116 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0) | 0; + label$56 : { + if (!((HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$56 + } + HEAP8[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 20 | 0) >> 0] = 0; + } + } + $1278(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 10 | 0, 0 | 0, 1 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, -12 | 0) | 0; + $354(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 2 & 65535 | 0 | 0); + break label$53; + } + HEAP32[($7_1 + 8 | 0) >> 2] = ((HEAPU8[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0) & 1 | 0; + $639_1 = 16; + $1413(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, ((HEAPU16[($7_1 + 58 | 0) >> 1] | 0) << $639_1 | 0) >> $639_1 | 0 | 0, (HEAP32[($7_1 + 8 | 0) >> 2] | 0) & 255 | 0 | 0, 11 & 255 | 0 | 0, (HEAP32[($7_1 + 88 | 0) >> 2] | 0) & 255 | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0); + } + label$57 : { + label$58 : { + if (!(HEAP32[($7_1 + 88 | 0) >> 2] | 0)) { + break label$58 + } + $1369(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0); + $1373(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0); + break label$57; + } + label$59 : { + label$60 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$60 + } + $366(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + break label$59; + } + $1282(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + } + } + } + label$61 : { + if ((HEAPU8[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$61 + } + if (!((HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$61 + } + $1414(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0); + } + label$62 : { + if (!(HEAP32[($7_1 + 96 | 0) >> 2] | 0)) { + break label$62 + } + $685_1 = 0; + $687_1 = 1; + $366(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0, $687_1 | 0) | 0; + $374(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, $687_1 | 0); + $375(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, $685_1 | 0, $685_1 | 0, 33514 | 0, $685_1 | 0) | 0; + } + } + $1415($7_1 + 136 | 0 | 0); + $1143(HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 200 | 0) >> 2] | 0 | 0); + $18(HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0); + $13(HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 208 | 0; + return; + } + + function $1228($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $24_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $24_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $349($24_1 | 0, 33700 | 0, $5_1 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1229($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $45_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1397(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $1143(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + break label$2; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + $3288(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + 72 | 0 | 0, (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0 | 0, Math_imul(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0, 72) | 0) | 0; + $13(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + } + $45_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $45_1 | 0; + } + + function $1230($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, i64toi32_i32$0 = 0, $14_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $1962_1 = 0, $78_1 = 0, $213_1 = 0, $704_1 = 0, $1966$hi = 0, $1015_1 = 0, $1853_1 = 0, $1939_1 = 0, $67_1 = 0, $77_1 = 0, $89_1 = 0, $112_1 = 0, $140_1 = 0, $166_1 = 0, $192_1 = 0, $232_1 = 0, $258_1 = 0, $285_1 = 0, $356_1 = 0, $414_1 = 0, $466_1 = 0, $470_1 = 0, $1963$hi = 0, $1964$hi = 0, $575_1 = 0, $578_1 = 0, $583_1 = 0, $586_1 = 0, $605_1 = 0, $608_1 = 0, $613_1 = 0, $654_1 = 0, $657_1 = 0, $683_1 = 0, $701_1 = 0, $722_1 = 0, $725_1 = 0, $739_1 = 0, $742_1 = 0, $749_1 = 0, $752_1 = 0, $764_1 = 0, $788_1 = 0, $1967$hi = 0, $1968$hi = 0, $1970$hi = 0, $820_1 = 0, $823_1 = 0, $832_1 = 0, $837_1 = 0, $838_1 = 0, $856_1 = 0, $865_1 = 0, $868_1 = 0, $872_1 = 0, $875_1 = 0, $878_1 = 0, $886_1 = 0, $894_1 = 0, $897_1 = 0, $902_1 = 0, $903_1 = 0, $918_1 = 0, $966_1 = 0, $977_1 = 0, $1086_1 = 0, $1089_1 = 0, $1105_1 = 0, $1123_1 = 0, $1137_1 = 0, $1146_1 = 0, $1154_1 = 0, $1162_1 = 0, $1217_1 = 0, $1236_1 = 0, $1286_1 = 0, $1319_1 = 0, $1343_1 = 0, $1417_1 = 0, $1420_1 = 0, $1433_1 = 0, $1453_1 = 0, $1457_1 = 0, $1510_1 = 0, $1521_1 = 0, $1532_1 = 0, $1586_1 = 0, $1589_1 = 0, $1591_1 = 0, $1695_1 = 0, $1743_1 = 0, $1854_1 = 0, $1941_1 = 0, $333_1 = 0, $391_1 = 0, $404_1 = 0, $406_1 = 0, $3124_1 = 0, $676_1 = 0, $890_1 = 0, $1278_1 = 0, $1427_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 336 | 0; + global$0 = $10_1; + $14_1 = 0; + HEAP32[($10_1 + 332 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 328 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 324 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 320 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 316 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 312 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 308 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 304 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 284 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 280 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 240 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 236 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 224 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 220 | 0) >> 2] = -1; + HEAP32[($10_1 + 132 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 128 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 116 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 112 | 0) >> 2] = $14_1; + HEAP16[($10_1 + 110 | 0) >> 1] = 0; + HEAP32[($10_1 + 104 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 100 | 0) >> 2] = 1; + HEAP32[($10_1 + 96 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 92 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 88 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 84 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 80 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 76 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 72 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 68 | 0) >> 2] = $14_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $10_1 + 208 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($10_1 + 244 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 332 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (HEAP32[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAPU8[((HEAP32[($10_1 + 244 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + } + break label$1; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1320(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 328 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 288 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($10_1 + 332 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1398(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, 127 | 0, HEAP32[($10_1 + 324 | 0) >> 2] | 0 | 0, $10_1 + 140 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 148 | 0) >> 2] = (HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + label$5 : { + label$6 : { + if (!((HEAP32[(HEAP32[($10_1 + 328 | 0) >> 2] | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$6 + } + $67_1 = HEAP32[(HEAP32[($10_1 + 324 | 0) >> 2] | 0) >> 2] | 0; + break label$5; + } + $67_1 = 0; + } + HEAP32[($10_1 + 96 | 0) >> 2] = $67_1; + label$7 : { + if (!($1332(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + break label$1; + } + label$8 : { + if (!($1400(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + break label$1; + } + $77_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $78_1 = HEAP32[($77_1 + 40 | 0) >> 2] | 0; + HEAP32[($77_1 + 40 | 0) >> 2] = $78_1 + 1 | 0; + HEAP32[($10_1 + 252 | 0) >> 2] = $78_1; + HEAP32[($10_1 + 256 | 0) >> 2] = $78_1; + HEAP32[($10_1 + 248 | 0) >> 2] = (HEAP32[($10_1 + 252 | 0) >> 2] | 0) + 1 | 0; + label$9 : { + label$10 : { + if ((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$10 + } + $89_1 = 0; + break label$9; + } + $89_1 = $416(HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($10_1 + 268 | 0) >> 2] = $89_1; + HEAP32[($10_1 + 264 | 0) >> 2] = 0; + HEAP32[($10_1 + 272 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($10_1 + 272 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) == (HEAP32[($10_1 + 272 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($10_1 + 252 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + } + $112_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[($112_1 + 40 | 0) >> 2] = (HEAP32[($112_1 + 40 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($10_1 + 272 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 272 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($10_1 + 264 | 0) >> 2] = (HEAP32[($10_1 + 264 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + label$14 : { + if (!((HEAP32[($10_1 + 304 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($10_1 + 252 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 304 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($10_1 + 248 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 304 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($10_1 + 256 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($10_1 + 328 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($10_1 + 252 | 0) >> 2] | 0; + $140_1 = 16; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $365(HEAP32[($10_1 + 244 | 0) >> 2] | 0 | 0, (((((((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $140_1 | 0) >> $140_1 | 0) + (HEAP32[($10_1 + 264 | 0) >> 2] | 0) | 0) + 1 | 0) << 2 | 0) + (HEAP32[($10_1 + 264 | 0) >> 2] | 0) | 0) + 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$15 + } + break label$1; + } + $166_1 = 16; + HEAP32[($10_1 + 240 | 0) >> 2] = (HEAP32[($10_1 + 236 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $166_1 | 0) >> $166_1 | 0) << 2 | 0) | 0; + HEAP32[($10_1 + 232 | 0) >> 2] = ((HEAP32[($10_1 + 240 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 264 | 0) >> 2] | 0) << 2 | 0) | 0) + 4 | 0; + $3289(HEAP32[($10_1 + 232 | 0) >> 2] | 0 | 0, 1 | 0, (HEAP32[($10_1 + 264 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP8[((HEAP32[($10_1 + 232 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 264 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = 0; + HEAP32[($10_1 + 300 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + $192_1 = 16; + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $192_1 | 0) >> $192_1 | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[((HEAP32[($10_1 + 236 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + HEAP32[($10_1 + 300 | 0) >> 2] = (HEAP32[($10_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + $213_1 = $10_1 + 176 | 0; + i64toi32_i32$0 = 0; + $1962_1 = 0; + i64toi32_i32$1 = $213_1; + HEAP32[i64toi32_i32$1 >> 2] = $1962_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1962_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $213_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1962_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $213_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1962_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($10_1 + 176 | 0) >> 2] = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[($10_1 + 180 | 0) >> 2] = HEAP32[($10_1 + 328 | 0) >> 2] | 0; + HEAP32[($10_1 + 184 | 0) >> 2] = HEAP32[($10_1 + 304 | 0) >> 2] | 0; + HEAP32[($10_1 + 200 | 0) >> 2] = 512; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1275(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 276 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!((HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$18 + } + break label$1; + } + $232_1 = 0; + HEAP8[($10_1 + 231 | 0) >> 0] = $232_1; + HEAP8[($10_1 + 230 | 0) >> 0] = $232_1; + HEAP32[($10_1 + 300 | 0) >> 2] = 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($10_1 + 324 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + label$21 : { + if (HEAP32[($10_1 + 96 | 0) >> 2] | 0) { + break label$21 + } + if (!($1404($10_1 + 176 | 0 | 0, HEAP32[(((HEAP32[($10_1 + 324 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$21 + } + break label$1; + } + HEAP32[($10_1 + 296 | 0) >> 2] = 0; + label$22 : { + label$23 : while (1) { + $258_1 = 16; + if (!((HEAP32[($10_1 + 296 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $258_1 | 0) >> $258_1 | 0 | 0) & 1 | 0)) { + break label$22 + } + label$24 : { + if ($88(HEAP32[((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 296 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($10_1 + 324 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$24 + } + $285_1 = 16; + label$25 : { + label$26 : { + if (!((HEAP32[($10_1 + 296 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $285_1 | 0) >> $285_1 | 0 | 0) & 1 | 0)) { + break label$26 + } + HEAP8[($10_1 + 230 | 0) >> 0] = 1; + HEAP32[($10_1 + 224 | 0) >> 2] = HEAP32[(((HEAP32[($10_1 + 324 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($10_1 + 220 | 0) >> 2] = HEAP32[($10_1 + 300 | 0) >> 2] | 0; + break label$25; + } + label$27 : { + label$28 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + if (!(((HEAPU16[(((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 296 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$28 + } + HEAP8[($10_1 + 231 | 0) >> 0] = 1; + break label$27; + } + label$29 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 296 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$29 + } + $333_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[($10_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 296 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + $349($333_1 | 0, 33723 | 0, $10_1 + 16 | 0 | 0); + break label$1; + } + } + } + HEAP32[((HEAP32[($10_1 + 236 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 296 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($10_1 + 300 | 0) >> 2] | 0; + break label$22; + } + HEAP32[($10_1 + 296 | 0) >> 2] = (HEAP32[($10_1 + 296 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + $356_1 = 16; + label$30 : { + if (!((HEAP32[($10_1 + 296 | 0) >> 2] | 0 | 0) >= (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $356_1 | 0) >> $356_1 | 0 | 0) & 1 | 0)) { + break label$30 + } + label$31 : { + label$32 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$32 + } + if (!($502(HEAP32[((((HEAP32[($10_1 + 324 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$32 + } + HEAP32[($10_1 + 296 | 0) >> 2] = -1; + HEAP8[($10_1 + 230 | 0) >> 0] = 1; + HEAP32[($10_1 + 224 | 0) >> 2] = HEAP32[(((HEAP32[($10_1 + 324 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($10_1 + 220 | 0) >> 2] = HEAP32[($10_1 + 300 | 0) >> 2] | 0; + break label$31; + } + $391_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[$10_1 >> 2] = HEAP32[((((HEAP32[($10_1 + 324 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + $349($391_1 | 0, 33759 | 0, $10_1 | 0); + HEAP8[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + break label$1; + } + } + $404_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $406_1 = HEAP32[(HEAP32[($10_1 + 288 | 0) >> 2] | 0) >> 2] | 0; + label$33 : { + label$34 : { + if (!((HEAP32[($10_1 + 296 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$34 + } + $414_1 = 28572; + break label$33; + } + $414_1 = HEAP32[((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 296 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1283($404_1 | 0, 23 | 0, $406_1 | 0, $414_1 | 0, HEAP32[((HEAP32[((HEAP32[($10_1 + 244 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 172 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$35 : { + if (!((HEAP32[($10_1 + 64 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$35 + } + break label$1; + } + label$36 : { + if (!((HEAP32[($10_1 + 64 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[((HEAP32[($10_1 + 236 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 296 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + } + HEAP32[($10_1 + 300 | 0) >> 2] = (HEAP32[($10_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + HEAP8[($10_1 + 229 | 0) >> 0] = ((HEAPU8[($10_1 + 230 | 0) >> 0] | 0) & 255 | 0) + ((HEAPU8[($10_1 + 231 | 0) >> 0] | 0) & 255 | 0) | 0; + label$37 : { + if (!((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$37 + } + label$38 : while (1) { + $466_1 = 0; + HEAP32[($10_1 + 60 | 0) >> 2] = $466_1; + HEAP32[($10_1 + 300 | 0) >> 2] = $466_1; + label$39 : { + label$40 : while (1) { + $470_1 = 16; + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $470_1 | 0) >> $470_1 | 0 | 0) & 1 | 0)) { + break label$39 + } + label$41 : { + label$42 : { + if (!((HEAP32[((HEAP32[($10_1 + 236 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$42 + } + break label$41; + } + label$43 : { + if (((HEAPU16[(((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 300 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0) { + break label$43 + } + break label$41; + } + label$44 : { + if (!($1416(HEAP32[(((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 300 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0, (HEAPU8[($10_1 + 230 | 0) >> 0] | 0) & 255 | 0 | 0) | 0)) { + break label$44 + } + HEAP32[((HEAP32[($10_1 + 236 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 99999; + HEAP32[($10_1 + 60 | 0) >> 2] = 1; + } + } + HEAP32[($10_1 + 300 | 0) >> 2] = (HEAP32[($10_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$40; + }; + } + if (HEAP32[($10_1 + 60 | 0) >> 2] | 0) { + continue label$38 + } + break label$38; + }; + } + i64toi32_i32$0 = -1; + $1963$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $1964$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1963$hi; + i64toi32_i32$0 = $1964$hi; + i64toi32_i32$4 = HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = $1963$hi; + i64toi32_i32$1 = $1964$hi; + i64toi32_i32$3 = i64toi32_i32$4 ? -1 : 0; + i64toi32_i32$2 = i64toi32_i32$4 ? i64toi32_i32$0 : i64toi32_i32$1; + $3124_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($10_1 + 328 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 64 | 0) >> 2] = $3124_1; + HEAP32[(i64toi32_i32$3 + 68 | 0) >> 2] = i64toi32_i32$2; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1399(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0, (HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$45 : { + if (!((HEAP32[($10_1 + 316 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$45 + } + HEAP32[($10_1 + 104 | 0) >> 2] = 1; + } + HEAP32[($10_1 + 260 | 0) >> 2] = 0; + HEAP32[($10_1 + 272 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$46 : { + label$47 : while (1) { + if (!((HEAP32[($10_1 + 272 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$46 + } + label$48 : { + label$49 : { + label$50 : { + if ((HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0) { + break label$50 + } + if ((HEAP32[($10_1 + 164 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0) { + break label$50 + } + if ((HEAP32[($10_1 + 272 | 0) >> 2] | 0 | 0) == (HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$50 + } + if (!($1417(HEAP32[($10_1 + 272 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0, (HEAPU8[($10_1 + 230 | 0) >> 0] | 0) & 255 | 0 | 0) | 0)) { + break label$49 + } + } + $575_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $578_1 = (HEAP32[($575_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($575_1 + 44 | 0) >> 2] = $578_1; + HEAP32[($10_1 + 56 | 0) >> 2] = $578_1; + $583_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[($583_1 + 44 | 0) >> 2] = (HEAP32[($583_1 + 44 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($10_1 + 272 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0) | 0; + break label$48; + } + $586_1 = 0; + HEAP32[($10_1 + 56 | 0) >> 2] = $586_1; + HEAP32[($10_1 + 300 | 0) >> 2] = $586_1; + label$51 : { + label$52 : while (1) { + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($10_1 + 272 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$51 + } + label$53 : { + if (!($1418(HEAP32[($10_1 + 272 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0, (HEAPU8[($10_1 + 230 | 0) >> 0] | 0) & 255 | 0 | 0) | 0)) { + break label$53 + } + $605_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $608_1 = (HEAP32[($605_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($605_1 + 44 | 0) >> 2] = $608_1; + HEAP32[($10_1 + 56 | 0) >> 2] = $608_1; + $613_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[($613_1 + 44 | 0) >> 2] = (HEAP32[($613_1 + 44 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($10_1 + 272 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$54 : { + if (!((HEAP32[($10_1 + 316 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$54 + } + if (!(((HEAPU8[((HEAP32[($10_1 + 272 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$54 + } + HEAP32[($10_1 + 104 | 0) >> 2] = 1; + } + break label$51; + } + HEAP32[($10_1 + 300 | 0) >> 2] = (HEAP32[($10_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$52; + }; + } + } + label$55 : { + if (HEAP32[($10_1 + 56 | 0) >> 2] | 0) { + break label$55 + } + HEAP8[((HEAP32[($10_1 + 232 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 260 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = 0; + } + HEAP32[((HEAP32[($10_1 + 240 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($10_1 + 56 | 0) >> 2] | 0; + HEAP32[($10_1 + 272 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 272 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($10_1 + 260 | 0) >> 2] = (HEAP32[($10_1 + 260 | 0) >> 2] | 0) + 1 | 0; + continue label$47; + }; + } + $654_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $657_1 = (HEAP32[($654_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($654_1 + 44 | 0) >> 2] = $657_1; + HEAP32[((HEAP32[($10_1 + 240 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $657_1; + label$56 : { + if (!(HEAP32[($10_1 + 104 | 0) >> 2] | 0)) { + break label$56 + } + $3289(HEAP32[($10_1 + 232 | 0) >> 2] | 0 | 0, 1 | 0, (HEAP32[($10_1 + 264 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + } + label$57 : { + if ((HEAPU8[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$57 + } + $1402(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0); + } + $676_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $683_1 = 1; + label$58 : { + if ((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$58 + } + $683_1 = (HEAP32[($10_1 + 164 | 0) >> 2] | 0 | 0) != (0 | 0); + } + $1287($676_1 | 0, $683_1 & 1 | 0 | 0, HEAP32[($10_1 + 172 | 0) >> 2] | 0 | 0); + label$59 : { + if (HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$59 + } + HEAP32[($10_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 240 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $701_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $704_1 = (HEAP32[($701_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($701_1 + 44 | 0) >> 2] = $704_1; + HEAP32[($10_1 + 84 | 0) >> 2] = $704_1; + HEAP32[($10_1 + 88 | 0) >> 2] = $704_1; + label$60 : { + label$61 : { + if ((HEAPU8[($10_1 + 231 | 0) >> 0] | 0) & 255 | 0) { + break label$61 + } + if ((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$61 + } + if (!(HEAP32[($10_1 + 164 | 0) >> 2] | 0)) { + break label$60 + } + } + HEAP32[($10_1 + 76 | 0) >> 2] = (HEAP32[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $722_1 = 16; + $725_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[($725_1 + 44 | 0) >> 2] = (HEAP32[($725_1 + 44 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $722_1 | 0) >> $722_1 | 0) | 0; + } + label$62 : { + label$63 : { + if ((HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0) { + break label$63 + } + if ((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$63 + } + if (!(HEAP32[($10_1 + 164 | 0) >> 2] | 0)) { + break label$62 + } + } + $739_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $742_1 = (HEAP32[($739_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($739_1 + 44 | 0) >> 2] = $742_1; + HEAP32[($10_1 + 84 | 0) >> 2] = $742_1; + } + HEAP32[($10_1 + 80 | 0) >> 2] = (HEAP32[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $749_1 = 16; + $752_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[($752_1 + 44 | 0) >> 2] = (HEAP32[($752_1 + 44 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $749_1 | 0) >> $749_1 | 0) | 0; + } + label$64 : { + if (!(HEAP32[($10_1 + 148 | 0) >> 2] | 0)) { + break label$64 + } + $1401(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, $10_1 + 208 | 0 | 0, HEAP32[(HEAP32[($10_1 + 288 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$65 : { + if (HEAP32[($10_1 + 96 | 0) >> 2] | 0) { + break label$65 + } + if (!(HEAP32[($10_1 + 148 | 0) >> 2] | 0)) { + break label$65 + } + $764_1 = 0; + $1403(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 320 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 312 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0); + HEAP32[($10_1 + 312 | 0) >> 2] = $764_1; + HEAP32[($10_1 + 308 | 0) >> 2] = $764_1; + } + label$66 : { + if (HEAP32[($10_1 + 96 | 0) >> 2] | 0) { + break label$66 + } + if (!($1404($10_1 + 176 | 0 | 0, HEAP32[($10_1 + 320 | 0) >> 2] | 0 | 0) | 0)) { + break label$66 + } + break label$1; + } + label$67 : { + if (!(HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$67 + } + $1419(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 328 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 324 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 320 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 316 | 0) >> 2] | 0 | 0); + break label$1; + } + i64toi32_i32$2 = 0; + $1966$hi = i64toi32_i32$2; + $788_1 = $1358(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($10_1 + 160 | 0) >> 2] = $788_1; + HEAP32[($10_1 + 156 | 0) >> 2] = $788_1; + i64toi32_i32$4 = HEAP32[($10_1 + 244 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$4 + 36 | 0) >> 2] | 0; + $1967$hi = i64toi32_i32$3; + i64toi32_i32$3 = 1; + $1968$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1967$hi; + i64toi32_i32$3 = $1968$hi; + i64toi32_i32$3 = $1967$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $1968$hi; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $1970$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1966$hi; + i64toi32_i32$2 = $1970$hi; + i64toi32_i32$2 = $1966$hi; + i64toi32_i32$2 = $1970$hi; + i64toi32_i32$3 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + i64toi32_i32$4 = $1966$hi; + i64toi32_i32$0 = 0; + label$68 : { + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$68 + } + if ((HEAP32[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$68 + } + if (((HEAPU8[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$68 + } + if (!((HEAP32[($10_1 + 304 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$68 + } + $820_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $823_1 = (HEAP32[($820_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($820_1 + 44 | 0) >> 2] = $823_1; + HEAP32[($10_1 + 92 | 0) >> 2] = $823_1; + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0) | 0; + } + label$69 : { + label$70 : { + if (HEAP32[($10_1 + 96 | 0) >> 2] | 0) { + break label$70 + } + if ((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$70 + } + $832_1 = 0; + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 72 | 0, $832_1 | 0, HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0; + $837_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $838_1 = HEAP32[($837_1 + 40 | 0) >> 2] | 0; + HEAP32[($837_1 + 40 | 0) >> 2] = $838_1 + 1 | 0; + HEAP32[($10_1 + 132 | 0) >> 2] = $838_1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, $832_1 | 0, HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + break label$69; + } + label$71 : { + label$72 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$72 + } + $856_1 = (HEAPU16[((HEAP32[($10_1 + 268 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + break label$71; + } + $856_1 = 0; + } + HEAP16[($10_1 + 110 | 0) >> 1] = $856_1; + HEAP32[($10_1 + 112 | 0) >> 2] = (HEAP32[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $865_1 = 16; + $868_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[($868_1 + 44 | 0) >> 2] = (HEAP32[($868_1 + 44 | 0) >> 2] | 0) + (((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $865_1 | 0) >> $865_1 | 0) | 0; + $872_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[($872_1 + 44 | 0) >> 2] = (HEAP32[($872_1 + 44 | 0) >> 2] | 0) + (HEAP32[($10_1 + 96 | 0) >> 2] | 0) | 0; + $875_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $878_1 = (HEAP32[($875_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($875_1 + 44 | 0) >> 2] = $878_1; + HEAP32[($10_1 + 68 | 0) >> 2] = $878_1; + label$73 : { + if (!((HEAP32[($10_1 + 304 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$73 + } + $886_1 = 16; + $890_1 = (((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $886_1 | 0) >> $886_1 | 0) + (HEAP32[($10_1 + 96 | 0) >> 2] | 0) | 0; + label$74 : { + label$75 : { + if (!(HEAP32[($10_1 + 148 | 0) >> 2] | 0)) { + break label$75 + } + $894_1 = 16; + $897_1 = ((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $894_1 | 0) >> $894_1 | 0; + break label$74; + } + $897_1 = 0; + } + HEAP32[($10_1 + 52 | 0) >> 2] = $890_1 + $897_1 | 0; + $902_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $903_1 = HEAP32[($902_1 + 40 | 0) >> 2] | 0; + HEAP32[($902_1 + 40 | 0) >> 2] = $903_1 + 1 | 0; + HEAP32[($10_1 + 132 | 0) >> 2] = $903_1; + label$76 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$76 + } + $918_1 = 16; + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0, ((HEAP32[($10_1 + 112 | 0) >> 2] | 0) + (((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $918_1 | 0) >> $918_1 | 0) | 0) - 1 | 0 | 0) | 0; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$77 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$77 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1394(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$78 : { + if (!((HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$78 + } + HEAP16[((HEAP32[($10_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAP32[($10_1 + 52 | 0) >> 2] | 0; + $1420(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0, -9 | 0); + } + } + label$79 : { + if (!(HEAP32[($10_1 + 96 | 0) >> 2] | 0)) { + break label$79 + } + $1421(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 324 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 328 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 320 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 312 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 308 | 0) >> 2] | 0 | 0); + label$80 : { + if (!(HEAP32[($10_1 + 148 | 0) >> 2] | 0)) { + break label$80 + } + HEAP32[($10_1 + 252 | 0) >> 2] = HEAP32[($10_1 + 132 | 0) >> 2] | 0; + } + } + } + } + label$81 : { + label$82 : { + if (!(HEAP32[($10_1 + 96 | 0) >> 2] | 0)) { + break label$82 + } + $1407(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0); + HEAP32[($10_1 + 168 | 0) >> 2] = 0; + $966_1 = 16; + HEAP32[($10_1 + 128 | 0) >> 2] = ((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $966_1 | 0) >> $966_1 | 0; + HEAP32[($10_1 + 68 | 0) >> 2] = HEAP32[($10_1 + 112 | 0) >> 2] | 0; + break label$81; + } + label$83 : { + label$84 : { + if (!((HEAP32[($10_1 + 304 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$84 + } + $977_1 = 0; + HEAP32[($10_1 + 280 | 0) >> 2] = $977_1; + HEAP32[($10_1 + 168 | 0) >> 2] = 1; + $1390(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 320 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 160 | 0) >> 2] | 0 | 0, 16 | 0); + HEAP32[($10_1 + 100 | 0) >> 2] = $977_1; + break label$83; + } + HEAP32[($10_1 + 152 | 0) >> 2] = 4; + label$85 : { + if (((HEAPU8[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$85 + } + if ((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$85 + } + if (HEAP32[($10_1 + 164 | 0) >> 2] | 0) { + break label$85 + } + if (((HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$85 + } + if (HEAP32[($10_1 + 104 | 0) >> 2] | 0) { + break label$85 + } + HEAP32[($10_1 + 152 | 0) >> 2] = HEAP32[($10_1 + 152 | 0) >> 2] | 0 | 8 | 0; + } + $1015_1 = 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1362(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 328 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 320 | 0) >> 2] | 0 | 0, $1015_1 | 0, $1015_1 | 0, (HEAP32[($10_1 + 152 | 0) >> 2] | 0) & 65535 | 0 | 0, HEAP32[($10_1 + 248 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 280 | 0) >> 2] = wasm2js_i32$1; + label$86 : { + if (!((HEAP32[($10_1 + 280 | 0) >> 2] | 0 | 0) == ($1015_1 | 0) & 1 | 0)) { + break label$86 + } + break label$1; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1406(HEAP32[($10_1 + 280 | 0) >> 2] | 0 | 0, $10_1 + 120 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1408(HEAP32[($10_1 + 280 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$87 : { + if (!((HEAP32[($10_1 + 168 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$87 + } + $1407(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0); + label$88 : { + if (!((HEAP32[($10_1 + 168 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$88 + } + HEAP32[($10_1 + 44 | 0) >> 2] = HEAP32[($10_1 + 124 | 0) >> 2] | 0; + label$89 : { + if (!((HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$89 + } + if (!((HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0) != (HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$89 + } + if (!((HEAPU8[((HEAP32[($10_1 + 232 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 44 | 0) >> 2] | 0) - (HEAP32[($10_1 + 256 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0) & 255 | 0)) { + break label$89 + } + HEAP32[($10_1 + 168 | 0) >> 2] = 0; + } + } + } + } + label$90 : { + label$91 : { + if ((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$91 + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0; + label$92 : { + label$93 : { + if (HEAP32[($10_1 + 168 | 0) >> 2] | 0) { + break label$93 + } + $1086_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $1089_1 = (HEAP32[($1086_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1086_1 + 44 | 0) >> 2] = $1089_1; + HEAP32[((HEAP32[($10_1 + 240 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $1089_1; + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0; + break label$92; + } + label$94 : { + if (!(HEAP32[($10_1 + 116 | 0) >> 2] | 0)) { + break label$94 + } + $1367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 116 | 0) >> 2] | 0 | 0) | 0; + } + } + break label$90; + } + HEAP32[($10_1 + 300 | 0) >> 2] = 0; + label$95 : { + label$96 : while (1) { + $1105_1 = 16; + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < (((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $1105_1 | 0) >> $1105_1 | 0 | 0) & 1 | 0)) { + break label$95 + } + $1123_1 = 16; + $1381(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[((HEAP32[($10_1 + 268 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $1123_1 | 0) >> $1123_1 | 0 | 0, (HEAP32[($10_1 + 112 | 0) >> 2] | 0) + (HEAP32[($10_1 + 300 | 0) >> 2] | 0) | 0 | 0); + HEAP32[($10_1 + 300 | 0) >> 2] = (HEAP32[($10_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$96; + }; + } + label$97 : { + label$98 : { + if (!(HEAP32[($10_1 + 168 | 0) >> 2] | 0)) { + break label$98 + } + label$99 : { + if (!(HEAP32[($10_1 + 116 | 0) >> 2] | 0)) { + break label$99 + } + $1367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 116 | 0) >> 2] | 0 | 0) | 0; + } + $1137_1 = 16; + HEAP32[($10_1 + 128 | 0) >> 2] = ((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $1137_1 | 0) >> $1137_1 | 0; + HEAP32[($10_1 + 68 | 0) >> 2] = HEAP32[($10_1 + 112 | 0) >> 2] | 0; + break label$97; + } + $1146_1 = 16; + $1154_1 = 16; + $1278(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0, ((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $1146_1 | 0) >> $1146_1 | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, $1409(HEAP32[($10_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) | 0 | 0, ((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $1154_1 | 0) >> $1154_1 | 0 | 0) | 0; + $1162_1 = 16; + $353(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0, ((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $1162_1 | 0) >> $1162_1 | 0 | 0) | 0; + } + } + } + label$100 : { + if (!((HEAP32[($10_1 + 304 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$100 + } + label$101 : { + if (HEAP32[($10_1 + 96 | 0) >> 2] | 0) { + break label$101 + } + if (!((HEAP32[($10_1 + 168 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$101 + } + $1373(HEAP32[($10_1 + 280 | 0) >> 2] | 0 | 0); + } + label$102 : { + if (HEAP32[($10_1 + 148 | 0) >> 2] | 0) { + break label$102 + } + HEAP32[($10_1 + 40 | 0) >> 2] = 0; + label$103 : { + if (!(HEAP32[($10_1 + 168 | 0) >> 2] | 0)) { + break label$103 + } + label$104 : { + if (!((HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$104 + } + HEAP8[((HEAP32[($10_1 + 232 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 120 | 0) >> 2] | 0) - (HEAP32[($10_1 + 256 | 0) >> 2] | 0) | 0) | 0) >> 0] = 0; + } + label$105 : { + if (!((HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$105 + } + HEAP8[((HEAP32[($10_1 + 232 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 124 | 0) >> 2] | 0) - (HEAP32[($10_1 + 256 | 0) >> 2] | 0) | 0) | 0) >> 0] = 0; + } + } + label$106 : { + if (!((HEAP32[($10_1 + 168 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$106 + } + $1217_1 = 0; + if (!(((HEAP32[($10_1 + 264 | 0) >> 2] | 0) - ((HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0) >= ($1217_1 | 0) & 1 | 0) | 0 | 0) > ($1217_1 | 0) & 1 | 0)) { + break label$106 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1276(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + $1236_1 = 0; + $1410(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, 97 | 0, 0 & 255 | 0 | 0, HEAP32[($10_1 + 256 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 232 | 0) >> 2] | 0 | 0, $1236_1 | 0, $1236_1 | 0) | 0; + label$107 : { + if (!(HEAP32[($10_1 + 40 | 0) >> 2] | 0)) { + break label$107 + } + $1411(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0); + } + } + label$108 : { + label$109 : { + if (!(HEAP32[($10_1 + 168 | 0) >> 2] | 0)) { + break label$109 + } + label$110 : { + if (HEAP32[($10_1 + 148 | 0) >> 2] | 0) { + break label$110 + } + if (!((HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0) != (HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$110 + } + if (!((HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0) != (HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$110 + } + $353(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 128 | 0) >> 2] | 0 | 0) | 0; + } + label$111 : { + if (!((HEAP32[($10_1 + 168 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$111 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1358(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + } + $1278_1 = HEAP32[($10_1 + 276 | 0) >> 2] | 0; + label$112 : { + label$113 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$113 + } + $1286_1 = HEAP32[($10_1 + 68 | 0) >> 2] | 0; + break label$112; + } + $1286_1 = HEAP32[($10_1 + 88 | 0) >> 2] | 0; + } + $366($1278_1 | 0, 50 | 0, $1286_1 | 0, HEAP32[($10_1 + 160 | 0) >> 2] | 0 | 0) | 0; + break label$108; + } + label$114 : { + label$115 : { + label$116 : { + if ((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$116 + } + if (!(HEAP32[($10_1 + 96 | 0) >> 2] | 0)) { + break label$115 + } + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1358(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 160 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1296(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 284 | 0) >> 2] = wasm2js_i32$1; + label$117 : { + label$118 : { + if (!(HEAP32[($10_1 + 96 | 0) >> 2] | 0)) { + break label$118 + } + label$119 : { + if (HEAP32[($10_1 + 148 | 0) >> 2] | 0) { + break label$119 + } + label$120 : { + label$121 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$121 + } + HEAP32[($10_1 + 300 | 0) >> 2] = 0; + label$122 : { + label$123 : while (1) { + $1319_1 = 16; + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < (((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $1319_1 | 0) >> $1319_1 | 0 | 0) & 1 | 0)) { + break label$122 + } + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 112 | 0) >> 2] | 0) + (HEAP32[($10_1 + 300 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($10_1 + 300 | 0) >> 2] = (HEAP32[($10_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$123; + }; + } + $1343_1 = 16; + $353(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0, ((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $1343_1 | 0) >> $1343_1 | 0 | 0) | 0; + break label$120; + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0; + } + } + break label$117; + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 127 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + break label$114; + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 160 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1358(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 284 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0; + } + } + } + label$124 : { + if (!(((HEAPU8[($10_1 + 230 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$124 + } + label$125 : { + label$126 : { + if (HEAP32[($10_1 + 96 | 0) >> 2] | 0) { + break label$126 + } + $1281(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0); + break label$125; + } + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 220 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0) | 0; + } + $1288(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 15 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0) | 0; + } + label$127 : { + label$128 : { + if ((HEAPU8[($10_1 + 231 | 0) >> 0] | 0) & 255 | 0) { + break label$128 + } + if (HEAP32[($10_1 + 164 | 0) >> 2] | 0) { + break label$128 + } + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$127 + } + } + label$129 : { + label$130 : { + if (!(HEAP32[($10_1 + 164 | 0) >> 2] | 0)) { + break label$130 + } + $1417_1 = $1422(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0) | 0; + break label$129; + } + $1417_1 = 0; + } + $1420_1 = 0; + HEAP32[($10_1 + 36 | 0) >> 2] = $1417_1; + $1427_1 = $1423(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 324 | 0) >> 2] | 0 | 0, $1420_1 | 0, 3 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 316 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($10_1 + 36 | 0) >> 2] = HEAP32[($10_1 + 36 | 0) >> 2] | 0 | $1427_1 | 0; + HEAP32[($10_1 + 300 | 0) >> 2] = $1420_1; + label$131 : { + label$132 : while (1) { + $1433_1 = 16; + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1433_1 | 0) >> $1433_1 | 0 | 0) & 1 | 0)) { + break label$131 + } + HEAP32[($10_1 + 32 | 0) >> 2] = (HEAPU16[(((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 300 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0; + $1453_1 = 16; + $1457_1 = 16; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = ((($1424(HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << $1453_1 | 0) >> $1453_1 | 0 | 0) | 0) << $1457_1 | 0) >> $1457_1 | 0) + (HEAP32[($10_1 + 76 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 292 | 0) >> 2] = wasm2js_i32$1; + label$133 : { + label$134 : { + label$135 : { + if ((HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { + break label$135 + } + label$136 : { + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < (32 | 0) & 1 | 0)) { + break label$136 + } + if ((HEAP32[($10_1 + 36 | 0) >> 2] | 0) & (1 << (HEAP32[($10_1 + 300 | 0) >> 2] | 0) | 0) | 0) { + break label$135 + } + } + if (!((HEAP32[($10_1 + 32 | 0) >> 2] | 0) & 1 | 0)) { + break label$134 + } + } + $1381(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 292 | 0) >> 2] | 0 | 0); + break label$133; + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($10_1 + 292 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($10_1 + 300 | 0) >> 2] = (HEAP32[($10_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$132; + }; + } + label$137 : { + if ((HEAPU8[($10_1 + 230 | 0) >> 0] | 0) & 255 | 0) { + break label$137 + } + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$137 + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 77 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0) | 0; + } + } + $1510_1 = 1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1423(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 324 | 0) >> 2] | 0 | 0, $1510_1 | 0, $1510_1 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 316 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 300 | 0) >> 2] = 0; + HEAP32[($10_1 + 292 | 0) >> 2] = HEAP32[($10_1 + 80 | 0) >> 2] | 0; + label$138 : { + label$139 : while (1) { + $1521_1 = 16; + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1521_1 | 0) >> $1521_1 | 0 | 0) & 1 | 0)) { + break label$138 + } + $1532_1 = 16; + label$140 : { + label$141 : { + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $1532_1 | 0) >> $1532_1 | 0 | 0) & 1 | 0)) { + break label$141 + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($10_1 + 292 | 0) >> 2] | 0 | 0) | 0; + break label$140; + } + label$142 : { + label$143 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 300 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$143 + } + label$144 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 300 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$144 + } + HEAP32[($10_1 + 292 | 0) >> 2] = (HEAP32[($10_1 + 292 | 0) >> 2] | 0) + -1 | 0; + } + break label$142; + } + HEAP32[($10_1 + 296 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 236 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$145 : { + label$146 : { + if (!((HEAP32[($10_1 + 296 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$146 + } + label$147 : { + label$148 : { + if (!(HEAP32[($10_1 + 96 | 0) >> 2] | 0)) { + break label$148 + } + label$149 : { + label$150 : { + if (!(HEAP32[($10_1 + 148 | 0) >> 2] | 0)) { + break label$150 + } + $1586_1 = 16; + $1589_1 = ((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1586_1 | 0) >> $1586_1 | 0; + break label$149; + } + $1591_1 = 16; + $1589_1 = ((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $1591_1 | 0) >> $1591_1 | 0; + } + HEAP32[($10_1 + 28 | 0) >> 2] = $1589_1; + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 28 | 0) >> 2] | 0) + (HEAP32[($10_1 + 296 | 0) >> 2] | 0) | 0 | 0, HEAP32[($10_1 + 292 | 0) >> 2] | 0 | 0) | 0; + break label$147; + } + $1281(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($10_1 + 324 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 296 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 292 | 0) >> 2] | 0 | 0); + } + break label$145; + } + label$151 : { + label$152 : { + label$153 : { + if ((0 | 0) == ((HEAP32[($10_1 + 140 | 0) >> 2] | 0) & 1 | 0 | 0) & 1 | 0) { + break label$153 + } + if ((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) > (31 | 0) & 1 | 0) { + break label$153 + } + if (!((HEAP32[($10_1 + 136 | 0) >> 2] | 0) & (1 << (HEAP32[($10_1 + 300 | 0) >> 2] | 0) | 0) | 0)) { + break label$152 + } + } + $1381(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 292 | 0) >> 2] | 0 | 0); + HEAP32[($10_1 + 100 | 0) >> 2] = 0; + break label$151; + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($10_1 + 292 | 0) >> 2] | 0 | 0) | 0; + } + } + } + } + HEAP32[($10_1 + 300 | 0) >> 2] = (HEAP32[($10_1 + 300 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($10_1 + 292 | 0) >> 2] = (HEAP32[($10_1 + 292 | 0) >> 2] | 0) + 1 | 0; + continue label$139; + }; + } + label$154 : { + if (!((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$154 + } + $1425(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0); + } + label$155 : { + if (!((HEAP32[($10_1 + 140 | 0) >> 2] | 0) & 1 | 0)) { + break label$155 + } + $1300(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0); + $1426(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0, 127 | 0, HEAP32[($10_1 + 324 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 316 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0); + label$156 : { + if (HEAP32[($10_1 + 148 | 0) >> 2] | 0) { + break label$156 + } + label$157 : { + label$158 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$158 + } + $353(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 128 | 0) >> 2] | 0 | 0) | 0; + break label$157; + } + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($10_1 + 300 | 0) >> 2] = 0; + HEAP32[($10_1 + 292 | 0) >> 2] = HEAP32[($10_1 + 80 | 0) >> 2] | 0; + label$159 : { + label$160 : while (1) { + $1695_1 = 16; + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1695_1 | 0) >> $1695_1 | 0 | 0) & 1 | 0)) { + break label$159 + } + label$161 : { + label$162 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 300 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$162 + } + label$163 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 300 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$163 + } + HEAP32[($10_1 + 292 | 0) >> 2] = (HEAP32[($10_1 + 292 | 0) >> 2] | 0) + -1 | 0; + } + break label$161; + } + label$164 : { + if (!((HEAP32[((HEAP32[($10_1 + 236 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$164 + } + $1743_1 = 16; + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) != (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $1743_1 | 0) >> $1743_1 | 0 | 0) & 1 | 0)) { + break label$164 + } + $1381(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 292 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($10_1 + 300 | 0) >> 2] = (HEAP32[($10_1 + 300 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($10_1 + 292 | 0) >> 2] = (HEAP32[($10_1 + 292 | 0) >> 2] | 0) + 1 | 0; + continue label$160; + }; + } + label$165 : { + if (!((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$165 + } + $1425(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0); + } + } + } + label$166 : { + if (HEAP32[($10_1 + 148 | 0) >> 2] | 0) { + break label$166 + } + $1427(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 240 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, (HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAP32[($10_1 + 316 | 0) >> 2] | 0) & 255 | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, $10_1 + 104 | 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0, 0 | 0); + label$167 : { + label$168 : { + if (HEAP32[($10_1 + 104 | 0) >> 2] | 0) { + break label$168 + } + if (!((HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0)) { + break label$167 + } + } + label$169 : { + label$170 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$170 + } + $353(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 128 | 0) >> 2] | 0 | 0) | 0; + break label$169; + } + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0; + } + } + label$171 : { + if (!(HEAP32[($10_1 + 164 | 0) >> 2] | 0)) { + break label$171 + } + $1428(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0, (HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0 | 0); + } + $1429(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 240 | 0) >> 2] | 0 | 0, -1 | 0); + label$172 : { + if (!(HEAP32[($10_1 + 100 | 0) >> 2] | 0)) { + break label$172 + } + $1288(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 136 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0) | 0; + } + label$173 : { + label$174 : { + if ((HEAP32[($10_1 + 164 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0) { + break label$174 + } + if (!((HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0)) { + break label$173 + } + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 123 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + label$175 : { + if (!(HEAP32[($10_1 + 164 | 0) >> 2] | 0)) { + break label$175 + } + $1428(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0, (HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0 | 0); + } + $1853_1 = 0; + $1854_1 = 2; + $1430(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 240 | 0) >> 2] | 0 | 0, ((HEAP32[($10_1 + 168 | 0) >> 2] | 0 | 0) == ($1854_1 | 0) & 1 | 0 ? $1854_1 : $1853_1) | 4 | 0 | 0, $1853_1 | 0, $1853_1 | 0); + label$176 : { + if (!(HEAP32[($10_1 + 164 | 0) >> 2] | 0)) { + break label$176 + } + $1431(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 324 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0, (HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0 | 0); + } + } + label$177 : { + if (!(HEAP32[($10_1 + 92 | 0) >> 2] | 0)) { + break label$177 + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + $1426(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0, 127 | 0, HEAP32[($10_1 + 324 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 316 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0); + label$178 : { + label$179 : { + if (!((HEAP32[($10_1 + 168 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$179 + } + break label$178; + } + label$180 : { + label$181 : { + if (!((HEAP32[($10_1 + 168 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$181 + } + $1369(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0); + $1373(HEAP32[($10_1 + 280 | 0) >> 2] | 0 | 0); + break label$180; + } + $1369(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0); + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 284 | 0) >> 2] | 0 | 0) | 0; + } + } + $1369(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 160 | 0) >> 2] | 0 | 0); + label$182 : { + if ((HEAPU8[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$182 + } + if (!((HEAP32[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$182 + } + if (!((HEAP32[($10_1 + 304 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$182 + } + $1414(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0); + } + label$183 : { + if (!(HEAP32[($10_1 + 92 | 0) >> 2] | 0)) { + break label$183 + } + $1939_1 = 0; + $1941_1 = 1; + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, $1941_1 | 0) | 0; + $374(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, $1941_1 | 0); + $375(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, $1939_1 | 0, $1939_1 | 0, 33778 | 0, $1939_1 | 0) | 0; + } + } + $1415($10_1 + 208 | 0 | 0); + $13(HEAP32[($10_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0); + $1143(HEAP32[($10_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 328 | 0) >> 2] | 0 | 0); + $382(HEAP32[($10_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 324 | 0) >> 2] | 0 | 0); + $18(HEAP32[($10_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 320 | 0) >> 2] | 0 | 0); + global$0 = $10_1 + 336 | 0; + return; + } + + function $1231($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $18_1 = 0, $48_1 = 0, $46_1 = 0, $54_1 = 0, $56_1 = 0, $165_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + } + $18_1 = 0; + } + HEAP32[($6_1 + 16 | 0) >> 2] = $18_1; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + break label$3; + } + label$5 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$3; + } + label$6 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (136 | 0) & 1 | 0)) { + break label$6 + } + $46_1 = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $48_1 = $1432(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $48_1; + if (!(($46_1 | 0) != ($48_1 | 0) & 1 | 0)) { + break label$6 + } + $54_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $56_1 = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $56_1; + $349($54_1 | 0, 26935 | 0, $6_1 | 0); + break label$3; + } + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1433(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + label$10 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + break label$9; + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1214(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[((((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) + (((HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = 0; + } + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + label$12 : { + if (((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$12 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$12 + } + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + } + $1242(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + $19(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + $165_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $165_1 | 0; + } + + function $1232($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $9_1 = 0, i64toi32_i32$2 = 0, $1300_1 = 0, $1446_1 = 0, $72_1 = 0, $472_1 = 0, $1447$hi = 0, i64toi32_i32$3 = 0, $1424_1 = 0, $10_1 = 0, $20_1 = 0, $39_1 = 0, $128_1 = 0, $158_1 = 0, $161_1 = 0, $166_1 = 0, $174_1 = 0, $178_1 = 0, $229_1 = 0, $270_1 = 0, $305_1 = 0, $360_1 = 0, $362_1 = 0, $365_1 = 0, $378_1 = 0, $386_1 = 0, $435_1 = 0, $436_1 = 0, $511_1 = 0, $555_1 = 0, $591_1 = 0, $605_1 = 0, $1448$hi = 0, $1449$hi = 0, $1451$hi = 0, $661_1 = 0, $664_1 = 0, $668_1 = 0, $707_1 = 0, $710_1 = 0, $720_1 = 0, $728_1 = 0, $731_1 = 0, $814_1 = 0, $827_1 = 0, $832_1 = 0, $843_1 = 0, $862_1 = 0, $916_1 = 0, $1024_1 = 0, $1087_1 = 0, $1116_1 = 0, $1128_1 = 0, $1278_1 = 0, $1293_1 = 0, $1327_1 = 0, $1373_1 = 0, $1426_1 = 0, $121_1 = 0, $290_1 = 0, $332_1 = 0, $333_1 = 0, $601_1 = 0, $602_1 = 0, $609_1 = 0, $630_1 = 0, $631_1 = 0, $746_1 = 0, $1285_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 336 | 0; + global$0 = $8_1; + $9_1 = 0; + $10_1 = 0; + HEAP32[($8_1 + 332 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 328 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 324 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 320 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 316 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 312 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 280 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 276 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 272 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 268 | 0) >> 2] = -1; + HEAP32[($8_1 + 260 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 256 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 252 | 0) >> 2] = $9_1; + HEAP8[($8_1 + 219 | 0) >> 0] = $10_1; + HEAP8[($8_1 + 218 | 0) >> 0] = $10_1; + HEAP32[($8_1 + 212 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 204 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 200 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 196 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 180 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 308 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 332 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (HEAP32[((HEAP32[($8_1 + 332 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAPU8[((HEAP32[($8_1 + 308 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + } + break label$1; + } + $20_1 = 0; + HEAP32[($8_1 + 228 | 0) >> 2] = $20_1; + label$4 : { + if (!((HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0) != ($20_1 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($8_1 + 324 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 512 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($8_1 + 324 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $39_1 = 0; + HEAP32[($8_1 + 212 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 324 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 324 | 0) >> 2] | 0) + 28 | 0) >> 2] = $39_1; + $1139(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 324 | 0) >> 2] = $39_1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1320(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 328 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 304 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $350(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!($1283(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, 18 | 0, HEAP32[(HEAP32[($8_1 + 304 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[((HEAP32[($8_1 + 308 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 220 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + break label$1; + } + $72_1 = 0; + HEAP8[($8_1 + 217 | 0) >> 0] = (((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0 | 0) == ($72_1 | 0) ^ -1 | 0) & 1 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1398(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, 125 | 0, $72_1 | 0, $8_1 + 168 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 176 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($72_1 | 0) & 1 | 0; + label$7 : { + if (!($1332(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + break label$1; + } + label$8 : { + if (!($1400(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1275(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 292 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + break label$1; + } + label$10 : { + if ((HEAPU8[((HEAP32[($8_1 + 332 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$10 + } + $1402(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0); + } + $121_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + $128_1 = 1; + label$11 : { + if ((HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$11 + } + $128_1 = (HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0) != (0 | 0); + } + $1287($121_1 | 0, $128_1 & 1 | 0 | 0, HEAP32[($8_1 + 220 | 0) >> 2] | 0 | 0); + label$12 : { + label$13 : { + if (!((HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + if (!($1434(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 316 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 220 | 0) >> 2] | 0 | 0) | 0)) { + break label$13 + } + break label$12; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1435(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 220 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 200 | 0) >> 2] = wasm2js_i32$1; + $158_1 = (HEAP32[((HEAP32[($8_1 + 332 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 192 | 0) >> 2] = $158_1; + HEAP32[($8_1 + 188 | 0) >> 2] = $158_1; + $161_1 = 16; + $166_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + HEAP32[($166_1 + 44 | 0) >> 2] = (HEAP32[($166_1 + 44 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $161_1 | 0) >> $161_1 | 0) + 1 | 0) | 0; + label$14 : { + if (!(HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$14 + } + HEAP32[($8_1 + 188 | 0) >> 2] = (HEAP32[($8_1 + 188 | 0) >> 2] | 0) + 1 | 0; + $174_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + HEAP32[($174_1 + 44 | 0) >> 2] = (HEAP32[($174_1 + 44 | 0) >> 2] | 0) + 1 | 0; + } + $178_1 = 0; + HEAP32[($8_1 + 184 | 0) >> 2] = (HEAP32[($8_1 + 188 | 0) >> 2] | 0) + 1 | 0; + HEAP8[($8_1 + 216 | 0) >> 0] = ((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1088 | 0 | 0) == ($178_1 | 0) & 1 | 0; + label$15 : { + if (!((HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0) != ($178_1 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($8_1 + 300 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($8_1 + 300 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 320 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[(((HEAP32[(HEAP32[($8_1 + 320 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($8_1 + 300 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] = -1; + HEAP32[($8_1 + 300 | 0) >> 2] = (HEAP32[($8_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + HEAP32[($8_1 + 300 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($8_1 + 300 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 320 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($8_1 + 296 | 0) >> 2] = 0; + label$20 : { + label$21 : while (1) { + $229_1 = 16; + if (!((HEAP32[($8_1 + 296 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $229_1 | 0) >> $229_1 | 0 | 0) & 1 | 0)) { + break label$20 + } + label$22 : { + if ($88(HEAP32[((HEAP32[(HEAP32[($8_1 + 320 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($8_1 + 300 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 296 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0) | 0) { + break label$22 + } + HEAP32[(((HEAP32[(HEAP32[($8_1 + 320 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($8_1 + 300 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 296 | 0) >> 2] | 0; + label$23 : { + if (!((HEAP32[($8_1 + 300 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 296 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + HEAP8[($8_1 + 216 | 0) >> 0] = 0; + } + $270_1 = 16; + label$24 : { + if (!((HEAP32[($8_1 + 296 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $270_1 | 0) >> $270_1 | 0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($8_1 + 268 | 0) >> 2] = HEAP32[($8_1 + 300 | 0) >> 2] | 0; + } + label$25 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 296 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$25 + } + $290_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + HEAP32[$8_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 296 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + $349($290_1 | 0, 33800 | 0, $8_1 | 0); + break label$1; + } + break label$20; + } + HEAP32[($8_1 + 296 | 0) >> 2] = (HEAP32[($8_1 + 296 | 0) >> 2] | 0) + 1 | 0; + continue label$21; + }; + } + $305_1 = 16; + label$26 : { + if (!((HEAP32[($8_1 + 296 | 0) >> 2] | 0 | 0) >= (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $305_1 | 0) >> $305_1 | 0 | 0) & 1 | 0)) { + break label$26 + } + label$27 : { + label$28 : { + if (!($502(HEAP32[((HEAP32[(HEAP32[($8_1 + 320 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($8_1 + 300 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$28 + } + if (((HEAPU8[($8_1 + 217 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$28 + } + HEAP32[($8_1 + 268 | 0) >> 2] = HEAP32[($8_1 + 300 | 0) >> 2] | 0; + HEAP8[($8_1 + 216 | 0) >> 0] = 0; + break label$27; + } + $332_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + $333_1 = HEAP32[($8_1 + 328 | 0) >> 2] | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($8_1 + 320 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($8_1 + 300 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $333_1; + $349($332_1 | 0, 33841 | 0, $8_1 + 16 | 0 | 0); + HEAP8[((HEAP32[($8_1 + 332 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + break label$1; + } + } + HEAP32[($8_1 + 300 | 0) >> 2] = (HEAP32[($8_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + } + label$29 : { + label$30 : { + if (!((HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$30 + } + $360_1 = 13; + $362_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + $365_1 = (HEAP32[($362_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($362_1 + 44 | 0) >> 2] = $365_1; + HEAP32[($8_1 + 164 | 0) >> 2] = $365_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = ($1296(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, $360_1 | 0, HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0) | 0; + $1298($8_1 + 224 | 0 | 0, $360_1 | 0, HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0); + label$31 : { + label$32 : { + if (!((HEAPU8[($8_1 + 216 | 0) >> 0] | 0) & 255 | 0)) { + break label$32 + } + $378_1 = HEAP32[($8_1 + 184 | 0) >> 2] | 0; + break label$31; + } + $378_1 = 0; + } + HEAP32[($8_1 + 236 | 0) >> 2] = $378_1; + $386_1 = 16; + HEAP32[($8_1 + 240 | 0) >> 2] = ((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $386_1 | 0) >> $386_1 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1210(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0, $8_1 + 224 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 204 | 0) >> 2] = HEAP32[($8_1 + 236 | 0) >> 2] | 0; + label$33 : { + label$34 : { + if (HEAP32[($8_1 + 156 | 0) >> 2] | 0) { + break label$34 + } + if ((HEAPU8[((HEAP32[($8_1 + 308 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$34 + } + if (!(HEAP32[((HEAP32[($8_1 + 332 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$33 + } + } + break label$1; + } + $1299(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 160 | 0) >> 2] | 0) - 1 | 0 | 0); + HEAP32[($8_1 + 284 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($8_1 + 324 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + label$35 : { + label$36 : { + if ((HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$36 + } + if (!($1436(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 220 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0) | 0)) { + break label$35 + } + } + HEAP8[($8_1 + 219 | 0) >> 0] = 1; + } + label$37 : { + if (!(((HEAPU8[($8_1 + 219 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$37 + } + $435_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + $436_1 = HEAP32[($435_1 + 40 | 0) >> 2] | 0; + HEAP32[($435_1 + 40 | 0) >> 2] = $436_1 + 1 | 0; + HEAP32[($8_1 + 260 | 0) >> 2] = $436_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1382(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1382(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 284 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[($8_1 + 228 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 152 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 148 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 148 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 144 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 144 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 152 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 148 | 0) >> 2] | 0 | 0); + } + break label$29; + } + $472_1 = $8_1 + 112 | 0; + i64toi32_i32$0 = 0; + $1446_1 = 0; + i64toi32_i32$1 = $472_1; + HEAP32[i64toi32_i32$1 >> 2] = $1446_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1446_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $472_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1446_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $472_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1446_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 112 | 0) >> 2] = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + HEAP32[($8_1 + 260 | 0) >> 2] = -1; + label$38 : { + label$39 : { + if (!((HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$39 + } + HEAP32[($8_1 + 284 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 212 | 0) >> 2] | 0) >> 2] | 0; + label$40 : { + if (!($1437($8_1 + 112 | 0 | 0, HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0) | 0)) { + break label$40 + } + break label$1; + } + break label$38; + } + HEAP32[($8_1 + 284 | 0) >> 2] = 0; + } + } + label$41 : { + if (!((HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$41 + } + if (!((HEAP32[($8_1 + 284 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$41 + } + $511_1 = 16; + HEAP32[($8_1 + 268 | 0) >> 2] = ((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $511_1 | 0) >> $511_1 | 0; + label$42 : { + if (!((HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$42 + } + if (!((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$42 + } + HEAP32[($8_1 + 300 | 0) >> 2] = (HEAP32[($8_1 + 268 | 0) >> 2] | 0) - 1 | 0; + label$43 : { + label$44 : while (1) { + if (!((HEAP32[($8_1 + 300 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$43 + } + label$45 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 300 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$45 + } + HEAP32[($8_1 + 268 | 0) >> 2] = (HEAP32[($8_1 + 268 | 0) >> 2] | 0) + -1 | 0; + } + HEAP32[($8_1 + 300 | 0) >> 2] = (HEAP32[($8_1 + 300 | 0) >> 2] | 0) + -1 | 0; + continue label$44; + }; + } + } + } + HEAP32[($8_1 + 300 | 0) >> 2] = 0; + label$46 : { + label$47 : while (1) { + $555_1 = 16; + if (!((HEAP32[($8_1 + 300 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $555_1 | 0) >> $555_1 | 0 | 0) & 1 | 0)) { + break label$46 + } + label$48 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 300 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 98 | 0)) { + break label$48 + } + HEAP32[($8_1 + 280 | 0) >> 2] = (HEAP32[($8_1 + 280 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($8_1 + 300 | 0) >> 2] = (HEAP32[($8_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$47; + }; + } + label$49 : { + if (!((HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$49 + } + if (!(HEAP32[($8_1 + 284 | 0) >> 2] | 0)) { + break label$49 + } + $591_1 = 16; + if (!((HEAP32[($8_1 + 284 | 0) >> 2] | 0 | 0) != ((((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $591_1 | 0) >> $591_1 | 0) - (HEAP32[($8_1 + 280 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$49 + } + $601_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + $602_1 = HEAP32[($8_1 + 328 | 0) >> 2] | 0; + $605_1 = 16; + $609_1 = (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $605_1 | 0) >> $605_1 | 0) - (HEAP32[($8_1 + 280 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 284 | 0) >> 2] | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = $609_1; + HEAP32[($8_1 + 36 | 0) >> 2] = 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $602_1; + $349($601_1 | 0, 33873 | 0, $8_1 + 32 | 0 | 0); + break label$1; + } + label$50 : { + if (!((HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$50 + } + if (!((HEAP32[($8_1 + 284 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($8_1 + 320 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$50 + } + $630_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + $631_1 = HEAP32[($8_1 + 284 | 0) >> 2] | 0; + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 320 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($8_1 + 48 | 0) >> 2] = $631_1; + $349($630_1 | 0, 33925 | 0, $8_1 + 48 | 0 | 0); + break label$1; + } + i64toi32_i32$0 = 0; + $1447$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($8_1 + 308 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $1448$hi = i64toi32_i32$1; + i64toi32_i32$1 = 1; + $1449$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1448$hi; + i64toi32_i32$1 = $1449$hi; + i64toi32_i32$1 = $1448$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $1449$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $1451$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1447$hi; + i64toi32_i32$0 = $1451$hi; + i64toi32_i32$0 = $1447$hi; + i64toi32_i32$0 = $1451$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $1447$hi; + i64toi32_i32$3 = 0; + label$51 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$51 + } + if (((HEAPU8[((HEAP32[($8_1 + 332 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$51 + } + if ((HEAP32[((HEAP32[($8_1 + 332 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$51 + } + $661_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + $664_1 = (HEAP32[($661_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($661_1 + 44 | 0) >> 2] = $664_1; + HEAP32[($8_1 + 196 | 0) >> 2] = $664_1; + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0) | 0; + } + label$52 : { + if (HEAP32[($8_1 + 176 | 0) >> 2] | 0) { + break label$52 + } + $668_1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1410(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, 97 | 0, 0 & 255 | 0 | 0, -1 | 0, $668_1 | 0, $8_1 + 276 | 0 | 0, $8_1 + 272 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $365(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 2 | 0) << 2 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + label$53 : { + if (!((HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0) == ($668_1 | 0) & 1 | 0)) { + break label$53 + } + break label$1; + } + HEAP32[($8_1 + 300 | 0) >> 2] = 0; + HEAP32[($8_1 + 288 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$54 : { + label$55 : while (1) { + if (!((HEAP32[($8_1 + 300 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$54 + } + $707_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + $710_1 = (HEAP32[($707_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($707_1 + 44 | 0) >> 2] = $710_1; + HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 300 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $710_1; + $720_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + HEAP32[($720_1 + 44 | 0) >> 2] = (HEAP32[($720_1 + 44 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($8_1 + 288 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP32[($8_1 + 288 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 288 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($8_1 + 300 | 0) >> 2] = (HEAP32[($8_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$55; + }; + } + $728_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + $731_1 = (HEAP32[($728_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($728_1 + 44 | 0) >> 2] = $731_1; + HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 300 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $731_1; + } + label$56 : { + if (!((HEAP32[($8_1 + 312 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$56 + } + label$57 : { + if (!(HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$57 + } + $746_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + HEAP32[($8_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 304 | 0) >> 2] | 0) >> 2] | 0; + $349($746_1 | 0, 33950 | 0, $8_1 + 64 | 0 | 0); + break label$1; + } + label$58 : { + if (!((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$58 + } + $349(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, 33996 | 0, 0 | 0); + break label$1; + } + label$59 : { + if (!($1319(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($8_1 + 312 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0)) { + break label$59 + } + break label$1; + } + HEAP32[((HEAP32[($8_1 + 328 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($8_1 + 276 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 312 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($8_1 + 328 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 312 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($8_1 + 184 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 312 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($8_1 + 276 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 312 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($8_1 + 272 | 0) >> 2] | 0; + label$60 : { + if (!((HEAP32[(HEAP32[($8_1 + 312 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$60 + } + $1438(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 328 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 312 | 0) >> 2] | 0 | 0) | 0; + } + } + label$61 : { + label$62 : { + if (!(((HEAPU8[($8_1 + 219 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$62 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 256 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1296(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 252 | 0) >> 2] = wasm2js_i32$1; + break label$61; + } + label$63 : { + if (!((HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$63 + } + $814_1 = $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[($8_1 + 228 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 252 | 0) >> 2] = $814_1; + HEAP32[($8_1 + 256 | 0) >> 2] = $814_1; + label$64 : { + if (!((HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$64 + } + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 77 | 0, (HEAP32[($8_1 + 204 | 0) >> 2] | 0) + (HEAP32[($8_1 + 268 | 0) >> 2] | 0) | 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) | 0; + } + } + } + $827_1 = 0; + HEAP32[($8_1 + 280 | 0) >> 2] = $827_1; + HEAP32[($8_1 + 208 | 0) >> 2] = HEAP32[($8_1 + 184 | 0) >> 2] | 0; + HEAP32[($8_1 + 300 | 0) >> 2] = $827_1; + label$65 : { + label$66 : while (1) { + $832_1 = 16; + if (!((HEAP32[($8_1 + 300 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $832_1 | 0) >> $832_1 | 0 | 0) & 1 | 0)) { + break label$65 + } + $843_1 = 16; + label$67 : { + label$68 : { + if (!((HEAP32[($8_1 + 300 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $843_1 | 0) >> $843_1 | 0 | 0) & 1 | 0)) { + break label$68 + } + $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 73 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) | 0; + break label$67; + } + $862_1 = (HEAPU16[(((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 300 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($8_1 + 100 | 0) >> 2] = $862_1; + label$69 : { + if (!($862_1 & 98 | 0)) { + break label$69 + } + HEAP32[($8_1 + 280 | 0) >> 2] = (HEAP32[($8_1 + 280 | 0) >> 2] | 0) + 1 | 0; + label$70 : { + if (!((HEAP32[($8_1 + 100 | 0) >> 2] | 0) & 32 | 0)) { + break label$70 + } + HEAP32[($8_1 + 208 | 0) >> 2] = (HEAP32[($8_1 + 208 | 0) >> 2] | 0) + -1 | 0; + break label$67; + } + label$71 : { + if (!((HEAP32[($8_1 + 100 | 0) >> 2] | 0) & 64 | 0)) { + break label$71 + } + label$72 : { + if (!((HEAP32[($8_1 + 168 | 0) >> 2] | 0) & 1 | 0)) { + break label$72 + } + $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 73 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) | 0; + } + break label$67; + } + label$73 : { + if (!((HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$73 + } + $1439(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 300 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0); + break label$67; + } + } + label$74 : { + label$75 : { + if (!((HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$75 + } + HEAP32[($8_1 + 296 | 0) >> 2] = 0; + label$76 : while (1) { + $916_1 = 0; + label$77 : { + if (!((HEAP32[($8_1 + 296 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 320 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$77 + } + $916_1 = (HEAP32[(((HEAP32[(HEAP32[($8_1 + 320 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($8_1 + 296 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 300 | 0) >> 2] | 0 | 0); + } + label$78 : { + if (!($916_1 & 1 | 0)) { + break label$78 + } + HEAP32[($8_1 + 296 | 0) >> 2] = (HEAP32[($8_1 + 296 | 0) >> 2] | 0) + 1 | 0; + continue label$76; + } + break label$76; + }; + label$79 : { + if (!((HEAP32[($8_1 + 296 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($8_1 + 320 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$79 + } + $1439(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 300 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0); + break label$67; + } + HEAP32[($8_1 + 104 | 0) >> 2] = HEAP32[($8_1 + 296 | 0) >> 2] | 0; + break label$74; + } + label$80 : { + if (HEAP32[($8_1 + 284 | 0) >> 2] | 0) { + break label$80 + } + $1439(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 300 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0); + break label$67; + } + HEAP32[($8_1 + 104 | 0) >> 2] = (HEAP32[($8_1 + 300 | 0) >> 2] | 0) - (HEAP32[($8_1 + 280 | 0) >> 2] | 0) | 0; + } + label$81 : { + label$82 : { + if (!(((HEAPU8[($8_1 + 219 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$82 + } + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) | 0; + break label$81; + } + label$83 : { + label$84 : { + if (!((HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$84 + } + label$85 : { + if (!((HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$85 + } + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 78 | 0, (HEAP32[($8_1 + 204 | 0) >> 2] | 0) + (HEAP32[($8_1 + 104 | 0) >> 2] | 0) | 0 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) | 0; + } + break label$83; + } + $1281(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($8_1 + 212 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 104 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0); + } + } + } + HEAP32[($8_1 + 300 | 0) >> 2] = (HEAP32[($8_1 + 300 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 208 | 0) >> 2] = (HEAP32[($8_1 + 208 | 0) >> 2] | 0) + 1 | 0; + continue label$66; + }; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1358(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 264 | 0) >> 2] = wasm2js_i32$1; + label$86 : { + if (!((HEAP32[($8_1 + 168 | 0) >> 2] | 0) & 1 | 0)) { + break label$86 + } + $1024_1 = 16; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1379(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1024_1 | 0) >> $1024_1 | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$87 : { + label$88 : { + if (!((HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$88 + } + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 69 | 0, -1 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) | 0; + break label$87; + } + label$89 : { + label$90 : { + if (!(((HEAPU8[($8_1 + 219 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$90 + } + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) | 0; + break label$89; + } + $1281(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($8_1 + 212 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 268 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 51 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 69 | 0, -1 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 15 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) | 0; + } + $1087_1 = 16; + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 77 | 0, (HEAP32[($8_1 + 188 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 1 | 0 | 0, (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 44 | 0) >> 1] | 0) << $1087_1 | 0) >> $1087_1 | 0) - 1 | 0 | 0) | 0; + label$91 : { + if (!((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$91 + } + $1425(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0); + } + label$92 : { + if (HEAP32[($8_1 + 176 | 0) >> 2] | 0) { + break label$92 + } + $1300(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 1 | 0 | 0); + } + $1116_1 = 16; + $1426(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, 125 | 0, 0 | 0, 1 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 96 | 0) >> 2] | 0) - (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1116_1 | 0) >> $1116_1 | 0) | 0) - 1 | 0 | 0, HEAP32[($8_1 + 316 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0); + $1128_1 = 16; + $1384(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1128_1 | 0) >> $1128_1 | 0) + 1 | 0 | 0); + } + label$93 : { + if (HEAP32[($8_1 + 176 | 0) >> 2] | 0) { + break label$93 + } + label$94 : { + if (!(HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$94 + } + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0) | 0; + } + label$95 : { + label$96 : { + if (!((HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$96 + } + label$97 : { + label$98 : { + if (!(((HEAPU8[($8_1 + 219 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$98 + } + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) | 0; + break label$97; + } + label$99 : { + label$100 : { + if (!((HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$100 + } + break label$99; + } + HEAP32[($8_1 + 88 | 0) >> 2] = HEAP32[(((HEAP32[($8_1 + 212 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 268 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$101 : { + label$102 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (119 | 0) & 1 | 0)) { + break label$102 + } + if (HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$102 + } + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($8_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) | 0; + HEAP8[($8_1 + 218 | 0) >> 0] = 1; + break label$101; + } + $1281(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($8_1 + 212 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 268 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0); + } + } + } + label$103 : { + if (((HEAPU8[($8_1 + 218 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$103 + } + label$104 : { + label$105 : { + if (HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$105 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 51 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($8_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0); + break label$104; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1296(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 84 | 0) >> 2] | 0) + 2 | 0 | 0) | 0; + } + $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 15 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) | 0; + } + break label$95; + } + label$106 : { + label$107 : { + label$108 : { + if (HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$108 + } + if (!((HEAPU8[($8_1 + 217 | 0) >> 0] | 0) & 255 | 0)) { + break label$107 + } + } + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) | 0; + break label$106; + } + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($8_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) | 0; + HEAP8[($8_1 + 218 | 0) >> 0] = 1; + } + } + $1440(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0); + label$109 : { + if (!((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$109 + } + $1425(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 188 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0); + } + label$110 : { + label$111 : { + if (!(HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$111 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1056(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + $1412(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0); + $1278_1 = 16; + $1278(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 10 | 0, 1 | 0, (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1278_1 | 0) >> $1278_1 | 0) + 2 | 0 | 0, HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0, -12 | 0) | 0; + $1285_1 = HEAP32[($8_1 + 292 | 0) >> 2] | 0; + label$112 : { + label$113 : { + if (!((HEAP32[($8_1 + 316 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$113 + } + $1293_1 = 2; + break label$112; + } + $1293_1 = HEAP32[($8_1 + 316 | 0) >> 2] | 0; + } + $354($1285_1 | 0, $1293_1 & 65535 | 0 | 0); + $1295(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0); + break label$110; + } + $1300_1 = 0; + $1427(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 272 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0, $1300_1 | 0, ((HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0) >= ($1300_1 | 0) & 1 | 0) & 255 | 0 | 0, (HEAP32[($8_1 + 316 | 0) >> 2] | 0) & 255 | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0, $8_1 + 76 | 0 | 0, $1300_1 | 0, HEAP32[($8_1 + 312 | 0) >> 2] | 0 | 0); + $1428(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, $1300_1 | 0, HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0, $1300_1 | 0, $1300_1 | 0); + $1327_1 = 1; + label$114 : { + if (!(HEAP32[($8_1 + 76 | 0) >> 2] | 0)) { + break label$114 + } + $1327_1 = ($1441(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) ^ -1 | 0; + } + HEAP32[($8_1 + 72 | 0) >> 2] = $1327_1 & 1 | 0; + $1430(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 272 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0, 0 | 0, (HEAPU8[($8_1 + 218 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0); + } + } + label$115 : { + if (!(HEAP32[($8_1 + 196 | 0) >> 2] | 0)) { + break label$115 + } + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + label$116 : { + if (!((HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$116 + } + $1373_1 = 16; + $1426(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, 125 | 0, 0 | 0, 2 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 184 | 0) >> 2] | 0) - 2 | 0) - (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1373_1 | 0) >> $1373_1 | 0) | 0 | 0, HEAP32[($8_1 + 316 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0); + } + $1369(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0); + label$117 : { + label$118 : { + if (!(((HEAPU8[($8_1 + 219 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$118 + } + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 252 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 256 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 116 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) | 0; + break label$117; + } + label$119 : { + if (!((HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$119 + } + $1282(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 252 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 256 | 0) >> 2] | 0 | 0); + } + } + } + label$120 : { + if ((HEAPU8[((HEAP32[($8_1 + 332 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$120 + } + if (!((HEAP32[((HEAP32[($8_1 + 332 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$120 + } + $1414(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0); + } + label$121 : { + if (!(HEAP32[($8_1 + 196 | 0) >> 2] | 0)) { + break label$121 + } + $1424_1 = 0; + $1426_1 = 1; + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0, $1426_1 | 0) | 0; + $374(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, $1426_1 | 0); + $375(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, $1424_1 | 0, $1424_1 | 0, 34017 | 0, $1424_1 | 0) | 0; + } + } + $1143(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 328 | 0) >> 2] | 0 | 0); + $382(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0); + $1172(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 312 | 0) >> 2] | 0 | 0); + $1139(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0); + $19(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0); + $13(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0); + global$0 = $8_1 + 336 | 0; + return; + } + + function $1233($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + i64toi32_i32$0 = 0; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $64(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, 36 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $382(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + $18(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + $382(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + $18(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + } + $37_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $37_1 | 0; + } + + function $1234($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $36_1 = 0, $50_1 = 0, $89_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $308(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 8 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + $36_1 = $1442(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, 8 | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0 | 0, $5_1 + 8 | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $36_1; + label$4 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + $19(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $50_1 = $1224(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $50_1; + label$5 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $1223(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + $89_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $89_1 | 0; + } + + function $1235($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $167$hi = 0, $171$hi = 0, $172$hi = 0, $19_1 = 0, $22_1 = 0, $25_1 = 0, $30_1 = 0, $48_1 = 0, $169$hi = 0, $31_1 = 0, $32_1 = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $89_1 = 0, $94_1 = 0, $104_1 = 0, $112_1 = 0, $128_1 = 0, $132_1 = 0, $135_1 = 0, $143_1 = 0, $151_1 = 0, $284_1 = 0, $171_1 = 0, $346_1 = 0, $83_1 = 0, $146_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $19_1 = 24; + label$3 : { + label$4 : { + if (((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0) { + break label$4 + } + $22_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $25_1 = (HEAPU16[($22_1 + 200 | 0) >> 1] | 0) + 1 | 0; + HEAP16[($22_1 + 200 | 0) >> 1] = $25_1; + HEAP16[($5_1 + 26 | 0) >> 1] = $25_1; + break label$3; + } + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + $30_1 = 24; + label$5 : { + label$6 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) == (63 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$8 + } + $48_1 = 24; + i64toi32_i32$1 = (((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $48_1 | 0) >> $48_1 | 0) - 48 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $284_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $284_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 4 | 0) >> 2] = 1; + break label$7; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (0 | 0) == ($530((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0 | 0, $5_1 + 8 | 0 | 0, (HEAP32[($5_1 + 36 | 0) >> 2] | 0) - 1 | 0 | 0, 1 & 255 | 0 | 0) | 0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$9 : { + label$10 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$10 + } + i64toi32_i32$0 = 0; + $167$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $169$hi = i64toi32_i32$1; + i64toi32_i32$1 = $167$hi; + i64toi32_i32$1 = $169$hi; + i64toi32_i32$1 = $167$hi; + i64toi32_i32$1 = $169$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $167$hi; + i64toi32_i32$3 = 1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $31_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $32_1 = 0 + } else { + $32_1 = 1 + } + $33_1 = $32_1; + } else { + $33_1 = 0 + } + $31_1 = $33_1; + } + if ($31_1 & 1 | 0) { + break label$10 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $171_1 = i64toi32_i32$2; + $171$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $172$hi = i64toi32_i32$1; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$1 = $172$hi; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$1 = $172$hi; + $346_1 = i64toi32_i32$2; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$3 = $171_1; + i64toi32_i32$2 = $172$hi; + i64toi32_i32$0 = $346_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $35_1 = 0 + } else { + $35_1 = 1 + } + $36_1 = $35_1; + } else { + $36_1 = 0 + } + $34_1 = $36_1; + } + if (!($34_1 & 1 | 0)) { + break label$9 + } + } + $83_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0; + $349($83_1 | 0, 34102 | 0, $5_1 | 0); + break label$1; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($5_1 + 26 | 0) >> 1] = i64toi32_i32$3; + $89_1 = 16; + $94_1 = 16; + label$11 : { + label$12 : { + if (!((((HEAPU16[($5_1 + 26 | 0) >> 1] | 0) << $89_1 | 0) >> $89_1 | 0 | 0) > (((HEAPU16[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 200 | 0) >> 1] | 0) << $94_1 | 0) >> $94_1 | 0 | 0) & 1 | 0)) { + break label$12 + } + $104_1 = 16; + HEAP16[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 200 | 0) >> 1] = ((HEAPU16[($5_1 + 26 | 0) >> 1] | 0) << $104_1 | 0) >> $104_1 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + break label$11; + } + $112_1 = 16; + label$13 : { + if (!(($337(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0, ((HEAPU16[($5_1 + 26 | 0) >> 1] | 0) << $112_1 | 0) >> $112_1 | 0 | 0) | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + } + } + break label$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $340(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 26 | 0) >> 1] = wasm2js_i32$1; + $128_1 = 16; + label$14 : { + if (((HEAPU16[($5_1 + 26 | 0) >> 1] | 0) << $128_1 | 0) >> $128_1 | 0) { + break label$14 + } + $132_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $135_1 = (HEAPU16[($132_1 + 200 | 0) >> 1] | 0) + 1 | 0; + HEAP16[($132_1 + 200 | 0) >> 1] = $135_1; + HEAP16[($5_1 + 26 | 0) >> 1] = $135_1; + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + } + } + label$15 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$15 + } + $143_1 = 16; + $146_1 = $1443(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, ((HEAPU16[($5_1 + 26 | 0) >> 1] | 0) << $143_1 | 0) >> $143_1 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 220 | 0) >> 2] = $146_1; + } + } + HEAP16[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 1] = HEAPU16[($5_1 + 26 | 0) >> 1] | 0; + $151_1 = 16; + if (!((((HEAPU16[($5_1 + 26 | 0) >> 1] | 0) << $151_1 | 0) >> $151_1 | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $349(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 34145 | 0, 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1236($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $30_1 = 0, $35_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, 111 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $30_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[($30_1 + 4 | 0) >> 2] = HEAP32[($30_1 + 4 | 0) >> 2] | 0 | 4352 | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + } + } + $35_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $35_1 | 0; + } + + function $1237($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $31_1 = 0, $47_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $18(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0); + $18(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0); + break label$1; + } + label$3 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + $31_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($31_1 + 4 | 0) >> 2] = HEAP32[($31_1 + 4 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[$6_1 >> 2] | 0) + 4 | 0) >> 2] | 0) & 2097412 | 0) | 0; + } + label$4 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $47_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($47_1 + 4 | 0) >> 2] = HEAP32[($47_1 + 4 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2097412 | 0) | 0; + } + $1444(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 16 | 0; + return; + } + + function $1238($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $47_1 = 0, $59_1 = 0, $41_1 = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1218(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, 169 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $382(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $41_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + $349($41_1 | 0, 34168 | 0, $6_1 | 0); + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $47_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($47_1 + 4 | 0) >> 2] = HEAP32[($47_1 + 4 | 0) >> 2] | 0 | 4 | 0; + $1244(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + label$4 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + $59_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($59_1 + 4 | 0) >> 2] = HEAP32[($59_1 + 4 | 0) >> 2] | 0 | 2 | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + $64_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $64_1 | 0; + } + + function $1239($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $15_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $15_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($15_1 + 4 | 0) >> 2] = HEAP32[($15_1 + 4 | 0) >> 2] | 0 | 16777216 | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2 | 0)) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (163 | 0) & 1 | 0)) { + break label$3 + } + $349(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 34202 | 0, 0 | 0); + } + break label$1; + } + $1140(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1240($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $67_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$1; + } + label$4 : { + label$5 : { + if (((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 536870913 | 0 | 0) == (536870912 | 0) & 1 | 0) { + break label$5 + } + if (!(((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 536870913 | 0 | 0) == (536870912 | 0) & 1 | 0)) { + break label$4 + } + } + if (((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$4 + } + $18(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + $18(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1217(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 152 | 0, 25721 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 44 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $67_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $67_1 | 0; + } + + function $1241($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (119 | 0) & 1 | 0)) { + break label$1 + } + if (((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$1 + } + HEAP8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + $18(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1242($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$2 + } + $1311(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + $1137(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1243($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = $1445(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $1244($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + $1444(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $1312(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1245($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $15_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $15_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($15_1 + 4 | 0) >> 2] = HEAP32[($15_1 + 4 | 0) >> 2] | 0 | 2099200 | 0; + $1244(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + $1139(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1246($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $25_1 = 0, $27_1 = 0, $35_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($7_1 + 16 | 0) >> 2] | 0) { + break label$2 + } + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$1 + } + } + if ((HEAPU8[((HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + $25_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $27_1 = HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = $27_1; + $349($25_1 | 0, 34249 | 0, $7_1 | 0); + } + $1215(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, 1 | 0); + $35_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $35_1 | 0; + } + + function $1247($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $126_1 = 0, $10_1 = 0, $40_1 = 0, $41_1 = 0, $55_1 = 0, $112_1 = 0, $119_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 96 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((0 | 0) != ($360(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1025(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (HEAP32[($5_1 + 84 | 0) >> 2] | 0) { + break label$6 + } + $40_1 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + $41_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + HEAP32[$5_1 >> 2] = $41_1; + $349($40_1 | 0, 34287 | 0, $5_1 | 0); + break label$5; + } + $1331(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + HEAP8[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + break label$1; + } + $10_1 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + label$7 : { + if (!(((HEAPU8[($10_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($10_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0)) { + break label$7 + } + $55_1 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + $349($55_1 | 0, 34305 | 0, $5_1 + 16 | 0 | 0); + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $350(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 64 | 0) >> 2] = 10; + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 68 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = (HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 8404 : 8004; + label$8 : { + if (!($1283(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 9 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + break label$1; + } + label$9 : { + if (!(HEAP32[($5_1 + 68 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($5_1 + 64 | 0) >> 2] = 12; + } + label$10 : { + if (!($1283(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0)) { + break label$10 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $1287(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + $112_1 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + $119_1 = HEAP32[((HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 68 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 80 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $119_1; + $1302($112_1 | 0, 34378 | 0, $5_1 + 32 | 0 | 0); + $126_1 = 0; + $1334(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, 14134 | 0, HEAP32[(HEAP32[($5_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0); + $1303(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + $1446(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + $1278(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, 145 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, $126_1 | 0, $126_1 | 0, HEAP32[(HEAP32[($5_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0, $126_1 | 0) | 0; + } + } + $1143(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 96 | 0; + return; + } + + function $1248($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $52_1 = 0, $6_1 = 0, $45_1 = 0, $56_1 = 0, $59_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1284(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $5_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + } + label$6 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$6 + } + $45_1 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $45_1; + label$7 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != ($45_1 | 0) & 1 | 0)) { + break label$7 + } + $52_1 = 0; + if ($1292(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $52_1 | 0, $52_1 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $52_1 | 0) | 0) { + break label$7 + } + $56_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $59_1 = (HEAP32[($56_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($56_1 + 44 | 0) >> 2] = $59_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $59_1; + $1281(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + $366(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 8 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $356(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + } + $18(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 32 | 0; + return; + } + + function $1249($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $2576_1 = 0, $8_1 = 0, $583_1 = 0, $1249_1 = 0, $2575_1 = 0, $94_1 = 0, $3303$hi = 0, $3308$hi = 0, $3315$hi = 0, $3322$hi = 0, $3332$hi = 0, $3349$hi = 0, $3363$hi = 0, $3373$hi = 0, $3377$hi = 0, $3381$hi = 0, $3385$hi = 0, $1778_1 = 0, $2037_1 = 0, $2276_1 = 0, $2328_1 = 0, $3391$hi = 0, $2574_1 = 0, $2743_1 = 0, $2950_1 = 0, $3176_1 = 0, $3403$hi = 0, $3409$hi = 0, $3413$hi = 0, $3414$hi = 0, $3420$hi = 0, $3428$hi = 0, $81_1 = 0, $102_1 = 0, $129_1 = 0, $176_1 = 0, $196_1 = 0, $203_1 = 0, $276_1 = 0, $279_1 = 0, $3305$hi = 0, $234_1 = 0, $235_1 = 0, $236_1 = 0, $3310$hi = 0, $237_1 = 0, $238_1 = 0, $239_1 = 0, $394_1 = 0, $3316$hi = 0, $3317$hi = 0, $3319$hi = 0, $483_1 = 0, $3324$hi = 0, $240_1 = 0, $241_1 = 0, $242_1 = 0, $3333$hi = 0, $3334$hi = 0, $3336$hi = 0, $638_1 = 0, $673_1 = 0, $3339$hi = 0, $3340$hi = 0, $674_1 = 0, $3342$hi = 0, $3343$hi = 0, $686_1 = 0, $3350$hi = 0, $3351$hi = 0, $3353$hi = 0, $3357$hi = 0, $3358$hi = 0, $845_1 = 0, $3360$hi = 0, $857_1 = 0, $3364$hi = 0, $3365$hi = 0, $3366$hi = 0, $858_1 = 0, $3370$hi = 0, $887_1 = 0, $899_1 = 0, $3375$hi = 0, $956_1 = 0, $964_1 = 0, $974_1 = 0, $987_1 = 0, $3379$hi = 0, $1027_1 = 0, $3383$hi = 0, $1133_1 = 0, $1137_1 = 0, $1146_1 = 0, $1150_1 = 0, $3387$hi = 0, $1243_1 = 0, $1343_1 = 0, $1354_1 = 0, $1570_1 = 0, $1574_1 = 0, $1577_1 = 0, $1578_1 = 0, $1581_1 = 0, $1604_1 = 0, $1652_1 = 0, $1666_1 = 0, $1706_1 = 0, $1824_1 = 0, $1956_1 = 0, $2017_1 = 0, $2149_1 = 0, $2160_1 = 0, $2198_1 = 0, $2216_1 = 0, $2238_1 = 0, $2244_1 = 0, $2278_1 = 0, $2324_1 = 0, $2382_1 = 0, $2394_1 = 0, $2405_1 = 0, $2462_1 = 0, $3392$hi = 0, $3393$hi = 0, $3395$hi = 0, $2544_1 = 0, $2583_1 = 0, $2647_1 = 0, $2741_1 = 0, $2777_1 = 0, $2789_1 = 0, $2857_1 = 0, $2862_1 = 0, $2940_1 = 0, $2943_1 = 0, $2964_1 = 0, $2967_1 = 0, $2987_1 = 0, $2988_1 = 0, $3016_1 = 0, $3035_1 = 0, $3036_1 = 0, $3046_1 = 0, $3092_1 = 0, $243_1 = 0, $3143_1 = 0, $3166_1 = 0, $3407$hi = 0, $244_1 = 0, $245_1 = 0, $246_1 = 0, $3411$hi = 0, $247_1 = 0, $248_1 = 0, $249_1 = 0, $3422$hi = 0, $250_1 = 0, $251_1 = 0, $252_1 = 0, $3424$hi = 0, $3425$hi = 0, $3430$hi = 0, $253_1 = 0, $254_1 = 0, $255_1 = 0, $3432$hi = 0, $3433$hi = 0, $62_1 = 0, $125_1 = 0, $205_1 = 0, $4563 = 0, $513_1 = 0, $632_1 = 0, $4950 = 0, $4959 = 0, $3350 = 0, $5282 = 0, $5302 = 0, $5317 = 0, $3360 = 0, $5346$hi = 0, $5350 = 0, $3366 = 0, $5360$hi = 0, $5364 = 0, $992_1 = 0, $997_1 = 0, $1000_1 = 0, $1002_1 = 0, $1004_1 = 0, $1009_1 = 0, $1030_1 = 0, $1130_1 = 0, $1131_1 = 0, $1135_1 = 0, $1166_1 = 0, $1173_1 = 0, $1180_1 = 0, $6202 = 0, $1247_1 = 0, $1248_1 = 0, $1250_1 = 0, $1252_1 = 0, $1261_1 = 0, $1304_1 = 0, $1305_1 = 0, $1312_1 = 0, $1342_1 = 0, $1425_1 = 0, $1443_1 = 0, $1508_1 = 0, $1509_1 = 0, $1510_1 = 0, $1512_1 = 0, $1526_1 = 0, $1534_1 = 0, $1539_1 = 0, $1544_1 = 0, $1908_1 = 0, $1911_1 = 0, $1913_1 = 0, $2002_1 = 0, $2003_1 = 0, $2157_1 = 0, $2194_1 = 0, $2195_1 = 0, $2212_1 = 0, $2213_1 = 0, $2261_1 = 0, $2262_1 = 0, $2447_1 = 0, $2449_1 = 0, $2536_1 = 0, $2798_1 = 0, $2886_1 = 0, $2921_1 = 0, $3006_1 = 0, $3146_1 = 0, $3153_1 = 0, $3213_1 = 0, $10505 = 0, $3413 = 0, $10536 = 0, $3235_1 = 0, $3256_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 1040 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 1036 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 1032 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 1028 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 1024 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 1020 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 1016 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 1012 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 1008 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 964 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 1036 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1275(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 956 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $1447(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 2; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1284(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1032 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1028 | 0) >> 2] | 0 | 0, $7_1 + 1004 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 972 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($7_1 + 960 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 972 | 0) >> 2] | 0) << 4 | 0) | 0; + label$4 : { + if (!((HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + if (!($123(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1224(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1004 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1016 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($7_1 + 1016 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + break label$1; + } + label$6 : { + label$7 : { + if (!(HEAP32[($7_1 + 1020 | 0) >> 2] | 0)) { + break label$7 + } + $62_1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + HEAP32[($7_1 + 320 | 0) >> 2] = HEAP32[($7_1 + 1024 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $351($62_1 | 0, 34438 | 0, $7_1 + 320 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1012 | 0) >> 2] = wasm2js_i32$1; + break label$6; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1224(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1024 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1012 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($7_1 + 1028 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$9 + } + $81_1 = HEAP32[(HEAP32[($7_1 + 960 | 0) >> 2] | 0) >> 2] | 0; + break label$8; + } + $81_1 = 0; + } + HEAP32[($7_1 + 1008 | 0) >> 2] = $81_1; + label$10 : { + label$11 : { + if (!($1283(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[($7_1 + 1016 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + break label$10; + } + $94_1 = 0; + HEAP32[($7_1 + 976 | 0) >> 2] = $94_1; + HEAP32[($7_1 + 980 | 0) >> 2] = HEAP32[($7_1 + 1016 | 0) >> 2] | 0; + HEAP32[($7_1 + 984 | 0) >> 2] = HEAP32[($7_1 + 1012 | 0) >> 2] | 0; + HEAP32[($7_1 + 988 | 0) >> 2] = $94_1; + HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 408 | 0) >> 2] = $94_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $506(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0, 14 | 0, $7_1 + 976 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 968 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (HEAP32[($7_1 + 968 | 0) >> 2] | 0) { + break label$12 + } + $102_1 = 0; + $374(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 1 | 0); + $375(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, $102_1 | 0, $102_1 | 0, HEAP32[($7_1 + 976 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + $1448(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 976 | 0) >> 2] | 0 | 0); + $42(HEAP32[($7_1 + 976 | 0) >> 2] | 0 | 0); + break label$10; + } + label$13 : { + if (!((HEAP32[($7_1 + 968 | 0) >> 2] | 0 | 0) != (12 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!((HEAP32[($7_1 + 976 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + $125_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[($7_1 + 976 | 0) >> 2] | 0; + $349($125_1 | 0, 1976 | 0, $7_1 | 0); + $42(HEAP32[($7_1 + 976 | 0) >> 2] | 0 | 0); + } + $129_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + HEAP32[($129_1 + 36 | 0) >> 2] = (HEAP32[($129_1 + 36 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 968 | 0) >> 2] | 0; + break label$10; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1155(HEAP32[($7_1 + 1016 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 952 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($7_1 + 952 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$15 + } + break label$10; + } + label$16 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 952 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + if (!($360(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0)) { + break label$17 + } + break label$10; + } + } + label$18 : { + if (((HEAPU8[((HEAP32[($7_1 + 952 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 2 | 0) { + break label$18 + } + label$19 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 952 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$19 + } + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$18 + } + } + $1449(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 952 | 0) >> 2] | 0 | 0); + } + $176_1 = (HEAPU8[((HEAP32[($7_1 + 952 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) + -1 | 0; + label$20 : { + label$21 : { + switch ($176_1 | 0) { + case 30: + HEAP32[($7_1 + 948 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$60 : { + label$61 : { + if ((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$61 + } + label$62 : { + label$63 : { + if (!((HEAP32[($7_1 + 948 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$63 + } + $196_1 = $131(HEAP32[($7_1 + 948 | 0) >> 2] | 0 | 0) | 0; + break label$62; + } + $196_1 = 0; + } + HEAP32[($7_1 + 944 | 0) >> 2] = $196_1; + i64toi32_i32$1 = HEAP32[($7_1 + 944 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$60; + } + $203_1 = 0; + $205_1 = $1135(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 92 | 0) >> 2] = $205_1; + label$64 : { + if (!((7 | 0) == ($164(HEAP32[($7_1 + 948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, $203_1 | 0, $203_1 | 0) | 0 | 0) & 1 | 0)) { + break label$64 + } + $118(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0); + } + } + break label$20; + case 32: + HEAP32[($7_1 + 940 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 936 | 0) >> 2] = -1; + label$65 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$65 + } + label$66 : { + label$67 : { + if ($87(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, 34442 | 0) | 0) { + break label$67 + } + HEAP32[($7_1 + 936 | 0) >> 2] = 2; + break label$66; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($526(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0) | 0) & 255 | 0), HEAP32[(wasm2js_i32$0 + 936 | 0) >> 2] = wasm2js_i32$1; + } + } + label$68 : { + if (HEAP32[((HEAP32[($7_1 + 1028 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$68 + } + if (!((HEAP32[($7_1 + 936 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$68 + } + HEAP32[($7_1 + 932 | 0) >> 2] = 0; + label$69 : { + label$70 : while (1) { + if (!((HEAP32[($7_1 + 932 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$69 + } + $1451(HEAP32[(((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 932 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 936 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 932 | 0) >> 2] = (HEAP32[($7_1 + 932 | 0) >> 2] | 0) + 1 | 0; + continue label$70; + }; + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1451(HEAP32[($7_1 + 940 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 936 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 936 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 936 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$20; + case 26: + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 920 | 0) >> 2] = 0; + HEAP32[($7_1 + 924 | 0) >> 2] = i64toi32_i32$0; + $1286(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0); + $276_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + $279_1 = (HEAP32[($276_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($276_1 + 44 | 0) >> 2] = $279_1; + HEAP32[($7_1 + 928 | 0) >> 2] = $279_1; + label$71 : { + label$72 : { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($7_1 + 1016 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0 | 0) == (112 | 0) & 1 | 0)) { + break label$72 + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 169 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 928 | 0) >> 2] | 0 | 0) | 0; + break label$71; + } + label$73 : { + label$74 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$74 + } + if ($528(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $7_1 + 920 | 0 | 0) | 0) { + break label$74 + } + i64toi32_i32$0 = 0; + $3303$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 924 | 0) >> 2] | 0; + $3305$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3303$hi; + i64toi32_i32$1 = $3305$hi; + i64toi32_i32$1 = $3303$hi; + i64toi32_i32$1 = $3305$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $3303$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $234_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $235_1 = 0 + } else { + $235_1 = 1 + } + $236_1 = $235_1; + } else { + $236_1 = 0 + } + $234_1 = $236_1; + } + label$75 : { + label$76 : { + if (!($234_1 & 1 | 0)) { + break label$76 + } + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 920 | 0) >> 2] = 0; + HEAP32[($7_1 + 924 | 0) >> 2] = i64toi32_i32$2; + break label$75; + } + i64toi32_i32$2 = 0; + $3308$hi = i64toi32_i32$2; + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 924 | 0) >> 2] | 0; + $3310$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3308$hi; + i64toi32_i32$1 = $3310$hi; + i64toi32_i32$1 = $3308$hi; + i64toi32_i32$1 = $3310$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $3308$hi; + i64toi32_i32$0 = -2; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $237_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $238_1 = 0 + } else { + $238_1 = 1 + } + $239_1 = $238_1; + } else { + $239_1 = 0 + } + $237_1 = $239_1; + } + label$77 : { + if (!($237_1 & 1 | 0)) { + break label$77 + } + i64toi32_i32$3 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 920 | 0) >> 2] = -2; + HEAP32[($7_1 + 924 | 0) >> 2] = i64toi32_i32$3; + } + } + break label$73; + } + i64toi32_i32$3 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 920 | 0) >> 2] = 0; + HEAP32[($7_1 + 924 | 0) >> 2] = i64toi32_i32$3; + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 924 | 0) >> 2] | 0; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 170 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 928 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0) | 0; + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[($7_1 + 928 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + break label$20; + case 25: + HEAP32[($7_1 + 916 | 0) >> 2] = 34447; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1452(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 912 | 0) >> 2] = wasm2js_i32$1; + label$78 : { + label$79 : { + if (HEAP32[((HEAP32[($7_1 + 1028 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$79 + } + if (!((HEAP32[($7_1 + 912 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$79 + } + HEAP32[($7_1 + 912 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 83 | 0) >> 0] | 0) & 255 | 0; + break label$78; + } + label$80 : { + if (HEAP32[((HEAP32[($7_1 + 1028 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$80 + } + HEAP32[($7_1 + 904 | 0) >> 2] = 2; + label$81 : { + label$82 : while (1) { + if (!((HEAP32[($7_1 + 904 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$81 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $9(HEAP32[(((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 904 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 908 | 0) >> 2] = wasm2js_i32$1; + $1453(HEAP32[($7_1 + 908 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 912 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 904 | 0) >> 2] = (HEAP32[($7_1 + 904 | 0) >> 2] | 0) + 1 | 0; + continue label$82; + }; + } + HEAP8[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 83 | 0) >> 0] = HEAP32[($7_1 + 912 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $9(HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 908 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1453(HEAP32[($7_1 + 908 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 912 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 912 | 0) >> 2] = wasm2js_i32$1; + } + label$83 : { + if (!((HEAP32[($7_1 + 912 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$83 + } + HEAP32[($7_1 + 916 | 0) >> 2] = 34454; + } + $1448(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 916 | 0) >> 2] | 0 | 0); + break label$20; + case 22: + label$84 : { + label$85 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$85 + } + HEAP32[($7_1 + 900 | 0) >> 2] = -1; + break label$84; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $68(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 888 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 900 | 0) >> 2] = 0; + label$86 : { + label$87 : while (1) { + $394_1 = $963(HEAP32[($7_1 + 900 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 892 | 0) >> 2] = $394_1; + if (!(($394_1 | 0) != (0 | 0) & 1 | 0)) { + break label$86 + } + label$88 : { + if ($89(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 892 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 888 | 0) >> 2] | 0 | 0) | 0) { + break label$88 + } + break label$86; + } + HEAP32[($7_1 + 900 | 0) >> 2] = (HEAP32[($7_1 + 900 | 0) >> 2] | 0) + 1 | 0; + continue label$87; + }; + } + label$89 : { + if ((HEAP32[($7_1 + 892 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$89 + } + HEAP32[($7_1 + 900 | 0) >> 2] = -1; + } + label$90 : { + if (!((HEAP32[($7_1 + 900 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$90 + } + i64toi32_i32$1 = 0; + $3315$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $3316$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $3317$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3316$hi; + i64toi32_i32$3 = $3317$hi; + i64toi32_i32$3 = $3316$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $3317$hi; + i64toi32_i32$2 = 268435456; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $3319$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3315$hi; + i64toi32_i32$1 = $3319$hi; + i64toi32_i32$1 = $3315$hi; + i64toi32_i32$1 = $3319$hi; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + i64toi32_i32$0 = $3315$hi; + i64toi32_i32$2 = 0; + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$90 + } + HEAP32[($7_1 + 900 | 0) >> 2] = -1; + } + } + label$91 : { + if (!((HEAP32[($7_1 + 900 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$91 + } + if (HEAP32[((HEAP32[($7_1 + 1028 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$91 + } + HEAP32[($7_1 + 972 | 0) >> 2] = 0; + HEAP32[((HEAP32[($7_1 + 1028 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + } + HEAP32[($7_1 + 896 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0; + label$92 : { + label$93 : while (1) { + if (!((HEAP32[($7_1 + 896 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$92 + } + label$94 : { + if (!((HEAP32[(((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 896 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$94 + } + label$95 : { + if ((HEAP32[($7_1 + 896 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$95 + } + if (HEAP32[((HEAP32[($7_1 + 1028 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$94 + } + } + $356(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 896 | 0) >> 2] | 0 | 0); + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 7 | 0, HEAP32[($7_1 + 896 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($7_1 + 900 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($7_1 + 896 | 0) >> 2] = (HEAP32[($7_1 + 896 | 0) >> 2] | 0) + -1 | 0; + continue label$93; + }; + } + $483_1 = 1; + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 80 | 0, $483_1 | 0, $483_1 | 0) | 0; + break label$20; + case 23: + i64toi32_i32$3 = -1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $9(HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 884 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 872 | 0) >> 2] = -2; + HEAP32[($7_1 + 876 | 0) >> 2] = i64toi32_i32$3; + label$96 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$96 + } + i64toi32_i32$3 = -1; + $3322$hi = i64toi32_i32$3; + $528(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $7_1 + 872 | 0 | 0) | 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 872 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 876 | 0) >> 2] | 0; + $3324$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3322$hi; + i64toi32_i32$1 = $3324$hi; + i64toi32_i32$1 = $3322$hi; + i64toi32_i32$1 = $3324$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $3322$hi; + i64toi32_i32$0 = -1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$3 | 0)) { + $240_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$0 >>> 0) { + $241_1 = 0 + } else { + $241_1 = 1 + } + $242_1 = $241_1; + } else { + $242_1 = 0 + } + $240_1 = $242_1; + } + label$97 : { + if (!($240_1 & 1 | 0)) { + break label$97 + } + i64toi32_i32$2 = -1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 872 | 0) >> 2] = -1; + HEAP32[($7_1 + 876 | 0) >> 2] = i64toi32_i32$2; + } + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 872 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 876 | 0) >> 2] | 0; + i64toi32_i32$1 = $1454(HEAP32[($7_1 + 884 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $4563 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 872 | 0) >> 2] = $4563; + HEAP32[($7_1 + 876 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 872 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 876 | 0) >> 2] | 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0); + break label$20; + case 2: + HEAP32[($7_1 + 868 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$98 : { + label$99 : { + if ((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$99 + } + $513_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + i64toi32_i32$2 = $1049(HEAP32[($7_1 + 868 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $1450($513_1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0); + break label$98; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1455(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 864 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 84 | 0) >> 0] = HEAP32[($7_1 + 864 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1050(HEAP32[($7_1 + 868 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 864 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 968 | 0) >> 2] = wasm2js_i32$1; + label$100 : { + if (HEAP32[($7_1 + 968 | 0) >> 2] | 0) { + break label$100 + } + label$101 : { + if ((HEAP32[($7_1 + 864 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$101 + } + if (!((HEAP32[($7_1 + 864 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$100 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 856 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $355(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 5 | 0, 34464 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 860 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 860 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 972 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 860 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($7_1 + 972 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 860 | 0) >> 2] | 0) + 48 | 0) >> 2] = (HEAP32[($7_1 + 856 | 0) >> 2] | 0) + 4 | 0; + HEAP32[((HEAP32[($7_1 + 860 | 0) >> 2] | 0) + 84 | 0) >> 2] = HEAP32[($7_1 + 972 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 860 | 0) >> 2] | 0) + 92 | 0) >> 2] = (HEAP32[($7_1 + 864 | 0) >> 2] | 0) - 1 | 0; + $356(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0); + } + } + break label$20; + case 18: + label$102 : { + label$103 : { + if ((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$103 + } + if (!($341(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $7_1 + 852 | 0 | 0) | 0)) { + break label$103 + } + if (!((HEAP32[($7_1 + 852 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$102 + } + } + HEAP32[($7_1 + 852 | 0) >> 2] = 2147483647; + } + $583_1 = 1; + $1287(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0); + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 69 | 0, HEAP32[($7_1 + 852 | 0) >> 2] | 0 | 0, $583_1 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 60 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 848 | 0) >> 2] = wasm2js_i32$1; + $1288(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 80 | 0, $583_1 | 0) | 0; + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 82 | 0, $583_1 | 0, -1 | 0) | 0; + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 48 | 0, $583_1 | 0, HEAP32[($7_1 + 848 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 848 | 0) >> 2] | 0 | 0); + break label$20; + case 5: + label$104 : { + label$105 : { + if ((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$105 + } + i64toi32_i32$2 = HEAP32[((HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0); + break label$104; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1135(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 844 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] = HEAP32[($7_1 + 844 | 0) >> 2] | 0; + $614(HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) | 0; + } + break label$20; + case 6: + label$106 : { + label$107 : { + if ((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$107 + } + i64toi32_i32$1 = 0; + $3332$hi = i64toi32_i32$1; + $632_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $3333$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $3334$hi = i64toi32_i32$2; + i64toi32_i32$2 = $3333$hi; + i64toi32_i32$2 = $3334$hi; + i64toi32_i32$2 = $3333$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $3334$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $3336$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3332$hi; + i64toi32_i32$1 = $3336$hi; + i64toi32_i32$1 = $3332$hi; + i64toi32_i32$1 = $3336$hi; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $3332$hi; + i64toi32_i32$3 = 0; + label$108 : { + label$109 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$109 + } + $638_1 = 0; + break label$108; + } + $638_1 = $1046(HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + i64toi32_i32$1 = $638_1; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $1450($632_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0); + break label$106; + } + HEAP32[($7_1 + 840 | 0) >> 2] = 1; + label$110 : { + if (!($341(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $7_1 + 840 | 0 | 0) | 0)) { + break label$110 + } + $1046(HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 840 | 0) >> 2] | 0 | 0) | 0; + } + label$111 : { + label$112 : { + if (!((($526(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 840 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) & 255 | 0 | 0) | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$112 + } + $673_1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + i64toi32_i32$3 = $673_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $3339$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $3340$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3339$hi; + i64toi32_i32$1 = $3340$hi; + i64toi32_i32$1 = $3339$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $3340$hi; + i64toi32_i32$0 = 32; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $4950 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = $673_1; + HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] = $4950; + HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] = i64toi32_i32$2; + break label$111; + } + $674_1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + i64toi32_i32$1 = $674_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $3342$hi = i64toi32_i32$3; + i64toi32_i32$3 = -1; + $3343$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3342$hi; + i64toi32_i32$3 = $3343$hi; + i64toi32_i32$3 = $3342$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $3343$hi; + i64toi32_i32$0 = -33; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $4959 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + i64toi32_i32$1 = $674_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $4959; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$2; + } + $1456(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0); + } + break label$20; + case 27: + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 832 | 0) >> 2] = 0; + HEAP32[($7_1 + 836 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($7_1 + 968 | 0) >> 2] = 0; + label$113 : { + label$114 : { + if (HEAP32[($7_1 + 968 | 0) >> 2] | 0) { + break label$114 + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 832 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 836 | 0) >> 2] | 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0); + break label$113; + } + label$115 : { + if (!((HEAP32[($7_1 + 968 | 0) >> 2] | 0 | 0) != (12 | 0) & 1 | 0)) { + break label$115 + } + $686_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + HEAP32[($686_1 + 36 | 0) >> 2] = (HEAP32[($686_1 + 36 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 968 | 0) >> 2] | 0; + } + } + break label$20; + case 37: + label$116 : { + label$117 : { + if ((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$117 + } + i64toi32_i32$1 = 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 80 | 0) >> 0] | 0) & 255 | 0 | 0, i64toi32_i32$1 | 0); + break label$116; + } + $1457(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0; + } + break label$20; + case 38: + label$118 : { + label$119 : { + if ((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$119 + } + $1448(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[(0 + 114408 | 0) >> 2] | 0 | 0); + break label$118; + } + label$120 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 1012 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$120 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $739(HEAP32[(HEAP32[($7_1 + 964 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, 1 | 0, $7_1 + 828 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 968 | 0) >> 2] = wasm2js_i32$1; + label$121 : { + label$122 : { + if (HEAP32[($7_1 + 968 | 0) >> 2] | 0) { + break label$122 + } + if (HEAP32[($7_1 + 828 | 0) >> 2] | 0) { + break label$121 + } + } + $349(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, 34484 | 0, 0 | 0); + break label$10; + } + } + label$123 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 80 | 0) >> 0] | 0) & 255 | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$123 + } + $1458(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0; + } + $42(HEAP32[(0 + 114408 | 0) >> 2] | 0 | 0); + label$124 : { + label$125 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 1012 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$125 + } + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 1012 | 0) >> 2] | 0; + (wasm2js_i32$0 = 0, wasm2js_i32$1 = $79(1976 | 0, $7_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 114408 | 0) >> 2] = wasm2js_i32$1; + break label$124; + } + HEAP32[(0 + 114408 | 0) >> 2] = 0; + } + } + break label$20; + case 35: + label$126 : { + label$127 : { + if ((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$127 + } + i64toi32_i32$2 = ((HEAPU8[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0); + break label$126; + } + label$128 : { + label$129 : { + if (((HEAPU8[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$129 + } + $349(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, 34509 | 0, 0 | 0); + break label$128; + } + label$130 : { + if (!((HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$130 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ((($527(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, 0 | 0, 1 & 255 | 0 | 0) | 0) & 255 | 0) + 1 | 0) & 7 | 0), HEAP32[(wasm2js_i32$0 + 824 | 0) >> 2] = wasm2js_i32$1; + label$131 : { + if (HEAP32[($7_1 + 824 | 0) >> 2] | 0) { + break label$131 + } + HEAP32[($7_1 + 824 | 0) >> 2] = 1; + } + HEAP8[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 8 | 0) >> 0] = HEAP32[($7_1 + 824 | 0) >> 2] | 0; + HEAP8[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 9 | 0) >> 0] = 1; + $1456(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0); + } + } + } + break label$20; + case 3: + label$132 : { + label$133 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$133 + } + i64toi32_i32$1 = 0; + $3349$hi = i64toi32_i32$1; + $1449(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 952 | 0) >> 2] | 0 | 0); + i64toi32_i32$3 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $3350 = i64toi32_i32$1; + $3350$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($7_1 + 952 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $3351$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3350$hi; + i64toi32_i32$1 = $3351$hi; + $5282 = i64toi32_i32$2; + i64toi32_i32$1 = $3350$hi; + i64toi32_i32$3 = $3350; + i64toi32_i32$2 = $3351$hi; + i64toi32_i32$0 = $5282; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $3353$hi = i64toi32_i32$2; + i64toi32_i32$2 = $3349$hi; + i64toi32_i32$2 = $3353$hi; + i64toi32_i32$2 = $3349$hi; + i64toi32_i32$2 = $3353$hi; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + i64toi32_i32$3 = $3349$hi; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = ((i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0); + break label$132; + } + i64toi32_i32$0 = HEAP32[($7_1 + 952 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $5302 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 816 | 0) >> 2] = $5302; + HEAP32[($7_1 + 820 | 0) >> 2] = i64toi32_i32$2; + label$134 : { + if ((HEAPU8[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0) { + break label$134 + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 820 | 0) >> 2] | 0; + $3357$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $3358$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3357$hi; + i64toi32_i32$1 = $3358$hi; + i64toi32_i32$1 = $3357$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $3358$hi; + i64toi32_i32$3 = -16385; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $5317 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 816 | 0) >> 2] = $5317; + HEAP32[($7_1 + 820 | 0) >> 2] = i64toi32_i32$2; + } + $845_1 = 0; + label$135 : { + label$136 : { + if (!((($526(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $845_1 & 255 | 0 | 0) | 0) & 255 | 0 | 0) != ($845_1 & 255 | 0 | 0) & 1 | 0)) { + break label$136 + } + i64toi32_i32$1 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 816 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 820 | 0) >> 2] | 0; + $3360 = i64toi32_i32$2; + $3360$hi = i64toi32_i32$0; + $857_1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + i64toi32_i32$1 = $857_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $5346$hi = i64toi32_i32$2; + i64toi32_i32$2 = $3360$hi; + i64toi32_i32$2 = $5346$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $3360$hi; + i64toi32_i32$3 = $3360; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $5350 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = $857_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $5350; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + break label$135; + } + i64toi32_i32$0 = 0; + $3363$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 820 | 0) >> 2] | 0; + $3364$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $3365$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3364$hi; + i64toi32_i32$1 = $3365$hi; + i64toi32_i32$1 = $3364$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $3365$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$1 ^ i64toi32_i32$0 | 0; + $3366 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + $3366$hi = i64toi32_i32$0; + $858_1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + i64toi32_i32$1 = $858_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $5360$hi = i64toi32_i32$2; + i64toi32_i32$2 = $3366$hi; + i64toi32_i32$2 = $5360$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $3366$hi; + i64toi32_i32$3 = $3366; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $5364 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $858_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $5364; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 820 | 0) >> 2] | 0; + $3370$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3363$hi; + i64toi32_i32$1 = $3370$hi; + i64toi32_i32$1 = $3363$hi; + i64toi32_i32$1 = $3370$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $3363$hi; + i64toi32_i32$3 = 524288; + label$137 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$137 + } + i64toi32_i32$2 = 0; + i64toi32_i32$1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 472 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 476 | 0) >> 2] = i64toi32_i32$2; + } + } + $1276(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 159 | 0) | 0; + $1456(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0); + } + break label$20; + case 36: + label$138 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$138 + } + $1331(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $348(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 812 | 0) >> 2] = wasm2js_i32$1; + label$139 : { + if (!((HEAP32[($7_1 + 812 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$139 + } + $887_1 = 0; + HEAP32[($7_1 + 800 | 0) >> 2] = $887_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $416(HEAP32[($7_1 + 812 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 792 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 7; + $1332(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 812 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 808 | 0) >> 2] = $887_1; + HEAP32[($7_1 + 796 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 812 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$140 : { + label$141 : while (1) { + $899_1 = 16; + if (!((HEAP32[($7_1 + 808 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 812 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $899_1 | 0) >> $899_1 | 0 | 0) & 1 | 0)) { + break label$140 + } + HEAP32[($7_1 + 788 | 0) >> 2] = 0; + label$142 : { + label$143 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 796 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 98 | 0)) { + break label$143 + } + i64toi32_i32$2 = 0; + $3373$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($7_1 + 952 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $3375$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3373$hi; + i64toi32_i32$1 = $3375$hi; + i64toi32_i32$1 = $3373$hi; + i64toi32_i32$1 = $3375$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $3373$hi; + i64toi32_i32$0 = 0; + label$144 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$144 + } + HEAP32[($7_1 + 800 | 0) >> 2] = (HEAP32[($7_1 + 800 | 0) >> 2] | 0) + 1 | 0; + break label$142; + } + label$145 : { + label$146 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 796 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$146 + } + HEAP32[($7_1 + 788 | 0) >> 2] = 2; + break label$145; + } + label$147 : { + label$148 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 796 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0)) { + break label$148 + } + HEAP32[($7_1 + 788 | 0) >> 2] = 3; + break label$147; + } + HEAP32[($7_1 + 788 | 0) >> 2] = 1; + } + } + } + label$149 : { + label$150 : { + if (((HEAPU16[((HEAP32[($7_1 + 796 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$150 + } + HEAP32[($7_1 + 804 | 0) >> 2] = 0; + break label$149; + } + label$151 : { + label$152 : { + if (!((HEAP32[($7_1 + 792 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$152 + } + HEAP32[($7_1 + 804 | 0) >> 2] = 1; + break label$151; + } + HEAP32[($7_1 + 804 | 0) >> 2] = 1; + label$153 : while (1) { + $956_1 = 16; + $964_1 = 0; + label$154 : { + if (!((HEAP32[($7_1 + 804 | 0) >> 2] | 0 | 0) <= (((HEAPU16[((HEAP32[($7_1 + 812 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $956_1 | 0) >> $956_1 | 0 | 0) & 1 | 0)) { + break label$154 + } + $974_1 = 16; + $964_1 = (((HEAPU16[((HEAP32[((HEAP32[($7_1 + 792 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 804 | 0) >> 2] | 0) - 1 | 0) << 1 | 0) | 0) >> 1] | 0) << $974_1 | 0) >> $974_1 | 0 | 0) != (HEAP32[($7_1 + 808 | 0) >> 2] | 0 | 0); + } + label$155 : { + if (!($964_1 & 1 | 0)) { + break label$155 + } + HEAP32[($7_1 + 804 | 0) >> 2] = (HEAP32[($7_1 + 804 | 0) >> 2] | 0) + 1 | 0; + continue label$153; + } + break label$153; + }; + } + } + $987_1 = 0; + i64toi32_i32$3 = 0; + $3377$hi = i64toi32_i32$3; + $992_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 952 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $3379$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3377$hi; + i64toi32_i32$1 = $3379$hi; + i64toi32_i32$1 = $3377$hi; + i64toi32_i32$1 = $3379$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $3377$hi; + i64toi32_i32$2 = 0; + $997_1 = ((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0 ? 34562 : 34570; + $1000_1 = (HEAP32[($7_1 + 808 | 0) >> 2] | 0) - (HEAP32[($7_1 + 800 | 0) >> 2] | 0) | 0; + $1002_1 = HEAP32[(HEAP32[($7_1 + 796 | 0) >> 2] | 0) >> 2] | 0; + $1004_1 = $503(HEAP32[($7_1 + 796 | 0) >> 2] | 0 | 0, 1352 | 0) | 0; + $1009_1 = (HEAPU8[((HEAP32[($7_1 + 796 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 ? 1 : $987_1; + label$156 : { + label$157 : { + if (!((HEAP32[((HEAP32[($7_1 + 796 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != ($987_1 | 0) & 1 | 0)) { + break label$157 + } + if (!((HEAP32[($7_1 + 788 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$157 + } + $1027_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 796 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$156; + } + $1027_1 = 0; + } + $1030_1 = HEAP32[($7_1 + 804 | 0) >> 2] | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[($7_1 + 788 | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = $1030_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $1027_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $1009_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1004_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1002_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $1000_1; + $1459($992_1 | 0, 1 | 0, $997_1 | 0, $7_1 + 32 | 0 | 0); + } + HEAP32[($7_1 + 808 | 0) >> 2] = (HEAP32[($7_1 + 808 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 796 | 0) >> 2] = (HEAP32[($7_1 + 796 | 0) >> 2] | 0) + 20 | 0; + continue label$141; + }; + } + } + } + break label$20; + case 19: + label$158 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$158 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1025(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 784 | 0) >> 2] = wasm2js_i32$1; + label$159 : { + if (!((HEAP32[($7_1 + 784 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$159 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $348(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 780 | 0) >> 2] = wasm2js_i32$1; + label$160 : { + if (!((HEAP32[($7_1 + 780 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$160 + } + if (!((HEAP32[((HEAP32[($7_1 + 780 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$160 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $416(HEAP32[($7_1 + 780 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 784 | 0) >> 2] = wasm2js_i32$1; + } + } + label$161 : { + if (!((HEAP32[($7_1 + 784 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$161 + } + i64toi32_i32$0 = 0; + $3381$hi = i64toi32_i32$0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $350(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 784 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 776 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = HEAP32[($7_1 + 952 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $3383$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3381$hi; + i64toi32_i32$1 = $3383$hi; + i64toi32_i32$1 = $3381$hi; + i64toi32_i32$1 = $3383$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $3381$hi; + i64toi32_i32$3 = 0; + label$162 : { + label$163 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$163 + } + HEAP32[($7_1 + 768 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 784 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 6; + break label$162; + } + HEAP32[($7_1 + 768 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 784 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 3; + } + HEAP32[($7_1 + 780 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 784 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $1286(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 776 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 772 | 0) >> 2] = 0; + label$164 : { + label$165 : while (1) { + if (!((HEAP32[($7_1 + 772 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 768 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$164 + } + HEAP16[($7_1 + 766 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($7_1 + 784 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 772 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $1130_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + $1131_1 = HEAP32[($7_1 + 772 | 0) >> 2] | 0; + $1133_1 = 16; + $1135_1 = ((HEAPU16[($7_1 + 766 | 0) >> 1] | 0) << $1133_1 | 0) >> $1133_1 | 0; + $1137_1 = 16; + label$166 : { + label$167 : { + if (!((((HEAPU16[($7_1 + 766 | 0) >> 1] | 0) << $1137_1 | 0) >> $1137_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$167 + } + $1146_1 = 0; + break label$166; + } + $1150_1 = 16; + $1146_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 780 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($7_1 + 766 | 0) >> 1] | 0) << $1150_1 | 0) >> $1150_1 | 0, 20) | 0) >> 2] | 0; + } + HEAP32[($7_1 + 88 | 0) >> 2] = $1146_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $1135_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $1131_1; + $1459($1130_1 | 0, 1 | 0, 34577 | 0, $7_1 + 80 | 0 | 0); + i64toi32_i32$2 = 0; + $3385$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($7_1 + 952 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $3387$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3385$hi; + i64toi32_i32$1 = $3387$hi; + i64toi32_i32$1 = $3385$hi; + i64toi32_i32$1 = $3387$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $3385$hi; + i64toi32_i32$0 = 0; + label$168 : { + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$168 + } + $1166_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + $1173_1 = (HEAPU8[((HEAP32[((HEAP32[($7_1 + 784 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($7_1 + 772 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + $1180_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 784 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 772 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = (HEAP32[($7_1 + 772 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($7_1 + 784 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = $1180_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $1173_1; + $1459($1166_1 | 0, 4 | 0, 34582 | 0, $7_1 + 64 | 0 | 0); + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 80 | 0, 1 | 0, HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 772 | 0) >> 2] = (HEAP32[($7_1 + 772 | 0) >> 2] | 0) + 1 | 0; + continue label$165; + }; + } + } + } + break label$20; + case 20: + label$169 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$169 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $361(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_i32$1; + label$170 : { + if (!((HEAP32[($7_1 + 756 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$170 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $350(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 756 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 748 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 5; + $1286(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 748 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 760 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 756 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 752 | 0) >> 2] = 0; + label$171 : { + label$172 : while (1) { + if (!((HEAP32[($7_1 + 760 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$171 + } + $1243_1 = 0; + HEAP32[($7_1 + 744 | 0) >> 2] = HEAP32[($1243_1 + 34600 | 0) >> 2] | 0; + i64toi32_i32$0 = $1243_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 34592 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 34596 | 0) >> 2] | 0; + $6202 = i64toi32_i32$3; + i64toi32_i32$3 = $7_1; + HEAP32[($7_1 + 736 | 0) >> 2] = $6202; + HEAP32[($7_1 + 740 | 0) >> 2] = i64toi32_i32$1; + $1247_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + $1248_1 = HEAP32[($7_1 + 752 | 0) >> 2] | 0; + $1249_1 = HEAP32[($7_1 + 760 | 0) >> 2] | 0; + $1250_1 = HEAP32[$1249_1 >> 2] | 0; + $1252_1 = (HEAPU8[($1249_1 + 54 | 0) >> 0] | 0 | 0) != (i64toi32_i32$0 | 0); + $1261_1 = HEAP32[(($7_1 + 736 | 0) + ((((HEAPU8[($1249_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($1249_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 112 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 760 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + HEAP32[($7_1 + 108 | 0) >> 2] = $1261_1; + HEAP32[($7_1 + 104 | 0) >> 2] = $1252_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $1250_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $1248_1; + $1459($1247_1 | 0, 1 | 0, 34604 | 0, $7_1 + 96 | 0 | 0); + HEAP32[($7_1 + 760 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 760 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 752 | 0) >> 2] = (HEAP32[($7_1 + 752 | 0) >> 2] | 0) + 1 | 0; + continue label$172; + }; + } + } + } + break label$20; + case 11: + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 3; + HEAP32[($7_1 + 732 | 0) >> 2] = 0; + label$173 : { + label$174 : while (1) { + if (!((HEAP32[($7_1 + 732 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$173 + } + label$175 : { + label$176 : { + if (!((HEAP32[(((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 732 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$176 + } + break label$175; + } + $1304_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + $1305_1 = HEAP32[($7_1 + 732 | 0) >> 2] | 0; + $1312_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 732 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $531(HEAP32[(((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 732 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 132 | 0) >> 2] = $1312_1; + HEAP32[($7_1 + 128 | 0) >> 2] = $1305_1; + $1459($1304_1 | 0, 1 | 0, 34610 | 0, $7_1 + 128 | 0 | 0); + } + HEAP32[($7_1 + 732 | 0) >> 2] = (HEAP32[($7_1 + 732 | 0) >> 2] | 0) + 1 | 0; + continue label$174; + }; + } + break label$20; + case 8: + HEAP32[($7_1 + 728 | 0) >> 2] = 0; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 2; + HEAP32[($7_1 + 724 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 392 | 0) >> 2] | 0; + label$177 : { + label$178 : while (1) { + if (!((HEAP32[($7_1 + 724 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$177 + } + HEAP32[($7_1 + 720 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 724 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1342_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + $1343_1 = HEAP32[($7_1 + 728 | 0) >> 2] | 0; + HEAP32[($7_1 + 728 | 0) >> 2] = $1343_1 + 1 | 0; + HEAP32[($7_1 + 148 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 720 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 144 | 0) >> 2] = $1343_1; + $1459($1342_1 | 0, 1 | 0, 34614 | 0, $7_1 + 144 | 0 | 0); + HEAP32[($7_1 + 724 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 724 | 0) >> 2] | 0) >> 2] | 0; + continue label$178; + }; + } + break label$20; + case 16: + $1354_1 = 0; + HEAP32[($7_1 + 704 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 32 | 0 | 0) != ($1354_1 | 0) & 1 | 0; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 6; + HEAP32[($7_1 + 716 | 0) >> 2] = $1354_1; + label$179 : { + label$180 : while (1) { + if (!((HEAP32[($7_1 + 716 | 0) >> 2] | 0 | 0) < (23 | 0) & 1 | 0)) { + break label$179 + } + HEAP32[($7_1 + 708 | 0) >> 2] = HEAP32[(114412 + ((HEAP32[($7_1 + 716 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$181 : { + label$182 : while (1) { + if (!((HEAP32[($7_1 + 708 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$181 + } + $1460(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 708 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($7_1 + 704 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 708 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 708 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$182; + }; + } + HEAP32[($7_1 + 716 | 0) >> 2] = (HEAP32[($7_1 + 716 | 0) >> 2] | 0) + 1 | 0; + continue label$180; + }; + } + HEAP32[($7_1 + 712 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 376 | 0) >> 2] | 0; + label$183 : { + label$184 : while (1) { + if (!((HEAP32[($7_1 + 712 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$183 + } + HEAP32[($7_1 + 708 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 712 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1460(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 708 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 704 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 712 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 712 | 0) >> 2] | 0) >> 2] | 0; + continue label$184; + }; + } + break label$20; + case 28: + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 1; + HEAP32[($7_1 + 700 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 348 | 0) >> 2] | 0; + label$185 : { + label$186 : while (1) { + if (!((HEAP32[($7_1 + 700 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$185 + } + HEAP32[($7_1 + 696 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 700 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1425_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + HEAP32[($7_1 + 160 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 696 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $1459($1425_1 | 0, 1 | 0, 34617 | 0, $7_1 + 160 | 0 | 0); + HEAP32[($7_1 + 700 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 700 | 0) >> 2] | 0) >> 2] | 0; + continue label$186; + }; + } + break label$20; + case 31: + HEAP32[($7_1 + 692 | 0) >> 2] = 0; + label$187 : { + label$188 : while (1) { + if (!((HEAP32[($7_1 + 692 | 0) >> 2] | 0 | 0) < (64 | 0) & 1 | 0)) { + break label$187 + } + $1443_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + HEAP32[($7_1 + 176 | 0) >> 2] = HEAP32[(11776 + ((HEAP32[($7_1 + 692 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $1459($1443_1 | 0, 1 | 0, 34617 | 0, $7_1 + 176 | 0 | 0); + HEAP32[($7_1 + 692 | 0) >> 2] = (HEAP32[($7_1 + 692 | 0) >> 2] | 0) + 1 | 0; + continue label$188; + }; + } + break label$20; + case 15: + label$189 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$189 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $361(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 684 | 0) >> 2] = wasm2js_i32$1; + label$190 : { + if (!((HEAP32[($7_1 + 684 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$190 + } + HEAP32[($7_1 + 688 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 684 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$191 : { + if (!((HEAP32[($7_1 + 688 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$191 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $350(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 684 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 680 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 676 | 0) >> 2] = 0; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 8; + $1286(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 680 | 0) >> 2] | 0 | 0); + label$192 : { + label$193 : while (1) { + if (!((HEAP32[($7_1 + 688 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$192 + } + HEAP32[($7_1 + 672 | 0) >> 2] = 0; + label$194 : { + label$195 : while (1) { + if (!((HEAP32[($7_1 + 672 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 688 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$194 + } + $1508_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + $1509_1 = HEAP32[($7_1 + 676 | 0) >> 2] | 0; + $1510_1 = HEAP32[($7_1 + 672 | 0) >> 2] | 0; + $1512_1 = HEAP32[((HEAP32[($7_1 + 688 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1526_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 684 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[(((HEAP32[($7_1 + 688 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 672 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + $1534_1 = HEAP32[((((HEAP32[($7_1 + 688 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 672 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0; + $1539_1 = $1461((HEAPU8[((HEAP32[($7_1 + 688 | 0) >> 2] | 0) + 26 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + $1544_1 = $1461((HEAPU8[((HEAP32[($7_1 + 688 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + HEAP32[($7_1 + 220 | 0) >> 2] = 34628; + HEAP32[($7_1 + 216 | 0) >> 2] = $1544_1; + HEAP32[($7_1 + 212 | 0) >> 2] = $1539_1; + HEAP32[($7_1 + 208 | 0) >> 2] = $1534_1; + HEAP32[($7_1 + 204 | 0) >> 2] = $1526_1; + HEAP32[($7_1 + 200 | 0) >> 2] = $1512_1; + HEAP32[($7_1 + 196 | 0) >> 2] = $1510_1; + HEAP32[($7_1 + 192 | 0) >> 2] = $1509_1; + $1459($1508_1 | 0, 1 | 0, 34619 | 0, $7_1 + 192 | 0 | 0); + HEAP32[($7_1 + 672 | 0) >> 2] = (HEAP32[($7_1 + 672 | 0) >> 2] | 0) + 1 | 0; + continue label$195; + }; + } + HEAP32[($7_1 + 676 | 0) >> 2] = (HEAP32[($7_1 + 676 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 688 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 688 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$193; + }; + } + } + } + } + break label$20; + case 14: + HEAP32[($7_1 + 636 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $1570_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + HEAP32[($1570_1 + 44 | 0) >> 2] = (HEAP32[($1570_1 + 44 | 0) >> 2] | 0) + 4 | 0; + $1574_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + $1577_1 = (HEAP32[($1574_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1574_1 + 44 | 0) >> 2] = $1577_1; + HEAP32[($7_1 + 632 | 0) >> 2] = $1577_1; + $1578_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + $1581_1 = (HEAP32[($1578_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1578_1 + 44 | 0) >> 2] = $1581_1; + HEAP32[($7_1 + 628 | 0) >> 2] = $1581_1; + HEAP32[($7_1 + 644 | 0) >> 2] = HEAP32[((HEAP32[(((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 972 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$196 : { + label$197 : while (1) { + if (!((HEAP32[($7_1 + 644 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$196 + } + label$198 : { + label$199 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$199 + } + $1604_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $348(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, $1604_1 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 664 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 644 | 0) >> 2] = $1604_1; + break label$198; + } + HEAP32[($7_1 + 664 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 644 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 644 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 644 | 0) >> 2] | 0) >> 2] | 0; + } + label$200 : { + label$201 : { + if ((HEAP32[($7_1 + 664 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$201 + } + if (!((HEAP32[((HEAP32[($7_1 + 664 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$200 + } + } + continue label$197; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $350(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 664 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 972 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 1008 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 972 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $1286(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0); + $1393(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 664 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, HEAP32[(HEAP32[($7_1 + 664 | 0) >> 2] | 0) >> 2] | 0 | 0); + $1652_1 = 16; + label$202 : { + if (!(((((HEAPU16[((HEAP32[($7_1 + 664 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1652_1 | 0) >> $1652_1 | 0) + (HEAP32[($7_1 + 628 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$202 + } + $1666_1 = 16; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = (((HEAPU16[((HEAP32[($7_1 + 664 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1666_1 | 0) >> $1666_1 | 0) + (HEAP32[($7_1 + 628 | 0) >> 2] | 0) | 0; + } + $1462(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 664 | 0) >> 2] | 0 | 0, 96 | 0); + $1463(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 636 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 664 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 652 | 0) >> 2] = 1; + HEAP32[($7_1 + 668 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 664 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$203 : { + label$204 : while (1) { + if (!((HEAP32[($7_1 + 668 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$203 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $361(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 668 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 660 | 0) >> 2] = wasm2js_i32$1; + label$205 : { + label$206 : { + if (!((HEAP32[($7_1 + 660 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$206 + } + break label$205; + } + $1706_1 = 0; + HEAP32[($7_1 + 656 | 0) >> 2] = $1706_1; + $1393(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 660 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, HEAP32[(HEAP32[($7_1 + 660 | 0) >> 2] | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1464(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 660 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 668 | 0) >> 2] | 0 | 0, $7_1 + 656 | 0 | 0, $1706_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 640 | 0) >> 2] = wasm2js_i32$1; + label$207 : { + label$208 : { + if (HEAP32[($7_1 + 640 | 0) >> 2] | 0) { + break label$208 + } + label$209 : { + label$210 : { + if (!((HEAP32[($7_1 + 656 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$210 + } + $1462(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 652 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 660 | 0) >> 2] | 0 | 0, 96 | 0); + break label$209; + } + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 96 | 0, HEAP32[($7_1 + 652 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 656 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) | 0; + $1405(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 656 | 0) >> 2] | 0 | 0); + } + break label$207; + } + HEAP32[($7_1 + 644 | 0) >> 2] = 0; + break label$203; + } + } + HEAP32[($7_1 + 652 | 0) >> 2] = (HEAP32[($7_1 + 652 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 668 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 668 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$204; + }; + } + label$211 : { + if (!((HEAP32[($7_1 + 668 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$211 + } + break label$196; + } + label$212 : { + if (!((HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 652 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$212 + } + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($7_1 + 652 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 37 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 624 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 652 | 0) >> 2] = 1; + HEAP32[($7_1 + 668 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 664 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$213 : { + label$214 : while (1) { + if (!((HEAP32[($7_1 + 668 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$213 + } + $1778_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $361(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 668 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 660 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 656 | 0) >> 2] = $1778_1; + HEAP32[($7_1 + 616 | 0) >> 2] = $1778_1; + label$215 : { + if (!((HEAP32[($7_1 + 660 | 0) >> 2] | 0 | 0) != ($1778_1 | 0) & 1 | 0)) { + break label$215 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1464(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 660 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 668 | 0) >> 2] | 0 | 0, $7_1 + 656 | 0 | 0, $7_1 + 616 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 640 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 620 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 648 | 0) >> 2] = 0; + label$216 : { + label$217 : while (1) { + if (!((HEAP32[($7_1 + 648 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 668 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$216 + } + label$218 : { + label$219 : { + if (!((HEAP32[($7_1 + 616 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$219 + } + $1824_1 = HEAP32[((HEAP32[($7_1 + 616 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 648 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$218; + } + $1824_1 = HEAP32[(((HEAP32[($7_1 + 668 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 648 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + } + HEAP32[($7_1 + 612 | 0) >> 2] = $1824_1; + $1381(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 664 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 612 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 628 | 0) >> 2] | 0) + (HEAP32[($7_1 + 648 | 0) >> 2] | 0) | 0 | 0); + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 50 | 0, (HEAP32[($7_1 + 628 | 0) >> 2] | 0) + (HEAP32[($7_1 + 648 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 620 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 648 | 0) >> 2] = (HEAP32[($7_1 + 648 | 0) >> 2] | 0) + 1 | 0; + continue label$217; + }; + } + label$220 : { + label$221 : { + if (!((HEAP32[($7_1 + 656 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$221 + } + $1278(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($7_1 + 628 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 668 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 632 | 0) >> 2] | 0 | 0, $1409(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 656 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[((HEAP32[($7_1 + 668 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 30 | 0, HEAP32[($7_1 + 652 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 620 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 632 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + break label$220; + } + label$222 : { + if (!((HEAP32[($7_1 + 660 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$222 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($1296(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) | 0) + 2 | 0), HEAP32[(wasm2js_i32$0 + 608 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 31 | 0, HEAP32[($7_1 + 652 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 608 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 628 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 620 | 0) >> 2] | 0 | 0) | 0; + } + } + label$223 : { + label$224 : { + if ((HEAP32[((HEAP32[($7_1 + 664 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$224 + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 128 | 0, 0 | 0, (HEAP32[($7_1 + 636 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + break label$223; + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, (HEAP32[($7_1 + 636 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + } + $1908_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + $1911_1 = (HEAP32[($7_1 + 636 | 0) >> 2] | 0) + 2 | 0; + $1913_1 = HEAP32[((HEAP32[($7_1 + 668 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 228 | 0) >> 2] = (HEAP32[($7_1 + 652 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($7_1 + 224 | 0) >> 2] = $1913_1; + $1459($1908_1 | 0, $1911_1 | 0, 34633 | 0, $7_1 + 224 | 0 | 0); + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[($7_1 + 636 | 0) >> 2] | 0 | 0, 4 | 0) | 0; + $1369(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 620 | 0) >> 2] | 0 | 0); + $13(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 616 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 652 | 0) >> 2] = (HEAP32[($7_1 + 652 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 668 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 668 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$214; + }; + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 5 | 0, 0 | 0, (HEAP32[($7_1 + 624 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 624 | 0) >> 2] | 0 | 0); + continue label$197; + }; + } + break label$20; + case 7: + label$225 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$225 + } + $1465(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, ($526(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0) | 0) & 255 | 0 | 0); + } + break label$20; + case 21: + $1956_1 = 0; + HEAP32[($7_1 + 588 | 0) >> 2] = $1956_1; + HEAP32[($7_1 + 584 | 0) >> 2] = ((HEAPU8[(((HEAPU8[(HEAP32[($7_1 + 1016 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0 | 0) == (113 | 0) & 1 | 0; + label$226 : { + if (!((HEAP32[(HEAP32[($7_1 + 1028 | 0) >> 2] | 0) >> 2] | 0 | 0) == ($1956_1 | 0) & 1 | 0)) { + break label$226 + } + HEAP32[($7_1 + 972 | 0) >> 2] = -1; + } + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 6; + HEAP32[($7_1 + 592 | 0) >> 2] = 100; + label$227 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$227 + } + label$228 : { + label$229 : { + if (!($341(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $7_1 + 592 | 0 | 0) | 0)) { + break label$229 + } + label$230 : { + if (!((HEAP32[($7_1 + 592 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$230 + } + HEAP32[($7_1 + 592 | 0) >> 2] = 100; + } + break label$228; + } + $2002_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + $2003_1 = HEAP32[($7_1 + 1012 | 0) >> 2] | 0; + label$231 : { + label$232 : { + if (!((HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$232 + } + $2017_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 972 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + break label$231; + } + $2017_1 = 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $348($2002_1 | 0, 0 | 0, $2003_1 | 0, $2017_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 588 | 0) >> 2] = wasm2js_i32$1; + } + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 69 | 0, (HEAP32[($7_1 + 592 | 0) >> 2] | 0) - 1 | 0 | 0, 1 | 0) | 0; + HEAP32[($7_1 + 604 | 0) >> 2] = 0; + label$233 : { + label$234 : while (1) { + if (!((HEAP32[($7_1 + 604 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$233 + } + $2037_1 = 0; + HEAP32[($7_1 + 568 | 0) >> 2] = $2037_1; + HEAP32[($7_1 + 564 | 0) >> 2] = $2037_1; + label$235 : { + label$236 : { + if (!((HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) >= ($2037_1 | 0) & 1 | 0)) { + break label$236 + } + if (!((HEAP32[($7_1 + 604 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$236 + } + break label$235; + } + $1286(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 604 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 576 | 0) >> 2] = (HEAP32[(((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 604 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($7_1 + 568 | 0) >> 2] = 0; + HEAP32[($7_1 + 580 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 576 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$237 : { + label$238 : while (1) { + if (!((HEAP32[($7_1 + 580 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$237 + } + HEAP32[($7_1 + 560 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 580 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$239 : { + label$240 : { + if (!((HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$240 + } + if (!((HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 560 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$240 + } + break label$239; + } + label$241 : { + if ((HEAP32[((HEAP32[($7_1 + 560 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$241 + } + HEAP32[($7_1 + 568 | 0) >> 2] = (HEAP32[($7_1 + 568 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($7_1 + 552 | 0) >> 2] = 0; + HEAP32[($7_1 + 556 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 560 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$242 : { + label$243 : while (1) { + if (!((HEAP32[($7_1 + 556 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$242 + } + HEAP32[($7_1 + 568 | 0) >> 2] = (HEAP32[($7_1 + 568 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 556 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 556 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 552 | 0) >> 2] = (HEAP32[($7_1 + 552 | 0) >> 2] | 0) + 1 | 0; + continue label$243; + }; + } + label$244 : { + if (!((HEAP32[($7_1 + 552 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 564 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$244 + } + HEAP32[($7_1 + 564 | 0) >> 2] = HEAP32[($7_1 + 552 | 0) >> 2] | 0; + } + } + HEAP32[($7_1 + 580 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 580 | 0) >> 2] | 0) >> 2] | 0; + continue label$238; + }; + } + label$245 : { + if (HEAP32[($7_1 + 568 | 0) >> 2] | 0) { + break label$245 + } + break label$235; + } + label$246 : { + if (!((HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$246 + } + HEAP32[($7_1 + 568 | 0) >> 2] = (HEAP32[($7_1 + 568 | 0) >> 2] | 0) + 1 | 0; + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $365(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 568 | 0) >> 2] | 0) + 1 | 0) << 2 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 572 | 0) >> 2] = wasm2js_i32$1; + label$247 : { + if (!((HEAP32[($7_1 + 572 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$247 + } + break label$233; + } + $2149_1 = 0; + HEAP32[($7_1 + 568 | 0) >> 2] = $2149_1; + label$248 : { + if (!((HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0) != ($2149_1 | 0) & 1 | 0)) { + break label$248 + } + $2157_1 = HEAP32[($7_1 + 572 | 0) >> 2] | 0; + $2160_1 = (HEAP32[($7_1 + 568 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 568 | 0) >> 2] = $2160_1; + HEAP32[($2157_1 + ($2160_1 << 2 | 0) | 0) >> 2] = 0; + } + HEAP32[($7_1 + 580 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 576 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$249 : { + label$250 : while (1) { + if (!((HEAP32[($7_1 + 580 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$249 + } + HEAP32[($7_1 + 548 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 580 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$251 : { + label$252 : { + if (!((HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$252 + } + if (!((HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 548 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$252 + } + break label$251; + } + label$253 : { + if ((HEAP32[((HEAP32[($7_1 + 548 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$253 + } + $2194_1 = HEAP32[((HEAP32[($7_1 + 548 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $2195_1 = HEAP32[($7_1 + 572 | 0) >> 2] | 0; + $2198_1 = (HEAP32[($7_1 + 568 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 568 | 0) >> 2] = $2198_1; + HEAP32[($2195_1 + ($2198_1 << 2 | 0) | 0) >> 2] = $2194_1; + } + HEAP32[($7_1 + 544 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 548 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$254 : { + label$255 : while (1) { + if (!((HEAP32[($7_1 + 544 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$254 + } + $2212_1 = HEAP32[((HEAP32[($7_1 + 544 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $2213_1 = HEAP32[($7_1 + 572 | 0) >> 2] | 0; + $2216_1 = (HEAP32[($7_1 + 568 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 568 | 0) >> 2] = $2216_1; + HEAP32[($2213_1 + ($2216_1 << 2 | 0) | 0) >> 2] = $2212_1; + HEAP32[($7_1 + 544 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 544 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$255; + }; + } + } + HEAP32[($7_1 + 580 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 580 | 0) >> 2] | 0) >> 2] | 0; + continue label$250; + }; + } + HEAP32[(HEAP32[($7_1 + 572 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 568 | 0) >> 2] | 0; + label$256 : { + label$257 : { + if (!((HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) > ((HEAP32[($7_1 + 564 | 0) >> 2] | 0) + 8 | 0 | 0) & 1 | 0)) { + break label$257 + } + $2238_1 = HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + break label$256; + } + $2238_1 = (HEAP32[($7_1 + 564 | 0) >> 2] | 0) + 8 | 0; + } + $2244_1 = 2; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = $2238_1; + $1353(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0); + $1278(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 147 | 0, $2244_1 | 0, HEAP32[($7_1 + 568 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($7_1 + 572 | 0) >> 2] | 0 | 0, -15 | 0) | 0; + $354(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 255 | 0) & 65535 | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 50 | 0, $2244_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 596 | 0) >> 2] = wasm2js_i32$1; + $2261_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + $2262_1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + HEAP32[($7_1 + 272 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 604 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $2276_1 = 3; + $2278_1 = 0; + $1278($2261_1 | 0, 115 | 0, $2278_1 | 0, $2276_1 | 0, $2278_1 | 0, $351($2262_1 | 0, 34637 | 0, $7_1 + 272 | 0 | 0) | 0 | 0, -7 | 0) | 0; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 110 | 0, 2 | 0, $2276_1 | 0, $2276_1 | 0) | 0; + $1466(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 596 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 580 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 576 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$258 : { + label$259 : while (1) { + if (!((HEAP32[($7_1 + 580 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$258 + } + HEAP32[($7_1 + 540 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 580 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 528 | 0) >> 2] = 0; + HEAP32[($7_1 + 512 | 0) >> 2] = -1; + label$260 : { + label$261 : { + if (!((HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >>> 0 < 1 >>> 0 & 1 | 0)) { + break label$261 + } + break label$260; + } + label$262 : { + if (!((HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$262 + } + if (!((HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 540 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$262 + } + break label$260; + } + label$263 : { + label$264 : { + if ((HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$264 + } + $2324_1 = 0; + break label$263; + } + $2324_1 = $416(HEAP32[($7_1 + 540 | 0) >> 2] | 0 | 0) | 0; + } + $2328_1 = 0; + HEAP32[($7_1 + 532 | 0) >> 2] = $2324_1; + $1410(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 540 | 0) >> 2] | 0 | 0, 96 | 0, 0 & 255 | 0 | 0, 1 | 0, $2328_1 | 0, $7_1 + 520 | 0 | 0, $7_1 + 516 | 0 | 0) | 0; + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 69 | 0, $2328_1 | 0, 7 | 0) | 0; + HEAP32[($7_1 + 600 | 0) >> 2] = $2328_1; + HEAP32[($7_1 + 536 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$265 : { + label$266 : while (1) { + if (!((HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$265 + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, (HEAP32[($7_1 + 600 | 0) >> 2] | 0) + 8 | 0 | 0) | 0; + HEAP32[($7_1 + 536 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 600 | 0) >> 2] = (HEAP32[($7_1 + 600 | 0) >> 2] | 0) + 1 | 0; + continue label$266; + }; + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($7_1 + 520 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 82 | 0, 7 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 524 | 0) >> 2] = wasm2js_i32$1; + label$267 : { + if (HEAP32[($7_1 + 584 | 0) >> 2] | 0) { + break label$267 + } + $2382_1 = 16; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 520 | 0) >> 2] | 0 | 0, (((HEAPU16[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 44 | 0) >> 1] | 0) << $2382_1 | 0) >> $2382_1 | 0) - 1 | 0 | 0, 3 | 0) | 0; + $354(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 128 & 65535 | 0 | 0); + } + HEAP32[($7_1 + 600 | 0) >> 2] = 0; + label$268 : { + label$269 : while (1) { + $2394_1 = 16; + if (!((HEAP32[($7_1 + 600 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $2394_1 | 0) >> $2394_1 | 0 | 0) & 1 | 0)) { + break label$268 + } + $2405_1 = 16; + label$270 : { + label$271 : { + if (!((HEAP32[($7_1 + 600 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $2405_1 | 0) >> $2405_1 | 0 | 0) & 1 | 0)) { + break label$271 + } + break label$270; + } + label$272 : { + if ((HEAPU8[(((HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 600 | 0) >> 2] | 0, 20) | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$272 + } + break label$270; + } + $1381(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 540 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 520 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 600 | 0) >> 2] | 0 | 0, 3 | 0); + label$273 : { + if (!(((HEAPU8[($1467(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, -1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$273 + } + $354(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 128 & 65535 | 0 | 0); + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 51 | 0, 3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 504 | 0) >> 2] = wasm2js_i32$1; + $2447_1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + $2449_1 = HEAP32[(HEAP32[($7_1 + 540 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 244 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 600 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + HEAP32[($7_1 + 240 | 0) >> 2] = $2449_1; + $2462_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $351($2447_1 | 0, 34661 | 0, $7_1 + 240 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 508 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 115 | 0, $2462_1 | 0, 3 | 0, $2462_1 | 0, HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0, -7 | 0) | 0; + $1466(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 504 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 600 | 0) >> 2] = (HEAP32[($7_1 + 600 | 0) >> 2] | 0) + 1 | 0; + continue label$269; + }; + } + label$274 : { + if (!((HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$274 + } + i64toi32_i32$1 = 0; + $3391$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $3392$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $3393$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3392$hi; + i64toi32_i32$3 = $3393$hi; + i64toi32_i32$3 = $3392$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $3393$hi; + i64toi32_i32$2 = 512; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $3395$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3391$hi; + i64toi32_i32$1 = $3395$hi; + i64toi32_i32$1 = $3391$hi; + i64toi32_i32$1 = $3395$hi; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + i64toi32_i32$0 = $3391$hi; + i64toi32_i32$2 = 0; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$274 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1339(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 500 | 0) >> 2] = wasm2js_i32$1; + label$275 : { + if ((HEAPU8[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$275 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 496 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 492 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 52 | 0) >> 2] = (HEAP32[($7_1 + 520 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 484 | 0) >> 2] = (HEAP32[(HEAP32[($7_1 + 500 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0; + label$276 : { + label$277 : while (1) { + if (!((HEAP32[($7_1 + 484 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$276 + } + $1390(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 484 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 496 | 0) >> 2] | 0 | 0, 0 | 0); + HEAP32[($7_1 + 484 | 0) >> 2] = (HEAP32[($7_1 + 484 | 0) >> 2] | 0) + -1 | 0; + continue label$277; + }; + } + $1468(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 492 | 0) >> 2] | 0 | 0, 16 | 0); + $1369(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 496 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + $2536_1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + HEAP32[($7_1 + 256 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 540 | 0) >> 2] | 0) >> 2] | 0; + $2544_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $351($2536_1 | 0, 34681 | 0, $7_1 + 256 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 488 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 115 | 0, $2544_1 | 0, 3 | 0, $2544_1 | 0, HEAP32[($7_1 + 488 | 0) >> 2] | 0 | 0, -7 | 0) | 0; + $1466(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 492 | 0) >> 2] | 0 | 0); + } + $382(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0); + } + label$278 : { + if (HEAP32[($7_1 + 584 | 0) >> 2] | 0) { + break label$278 + } + HEAP32[($7_1 + 600 | 0) >> 2] = 0; + HEAP32[($7_1 + 536 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$279 : { + label$280 : while (1) { + if (!((HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$279 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 464 | 0) >> 2] = wasm2js_i32$1; + label$281 : { + label$282 : { + if (!((HEAP32[($7_1 + 532 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$282 + } + break label$281; + } + $2574_1 = 110; + $2575_1 = 4; + $2576_1 = 3; + $2583_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1469(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 520 | 0) >> 2] | 0 | 0, $2583_1 | 0, $2583_1 | 0, $7_1 + 476 | 0 | 0, HEAP32[($7_1 + 528 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 512 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 512 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 528 | 0) >> 2] = HEAP32[($7_1 + 536 | 0) >> 2] | 0; + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 82 | 0, (HEAP32[($7_1 + 600 | 0) >> 2] | 0) + 8 | 0 | 0, 1 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $353(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 30 | 0, (HEAP32[($7_1 + 516 | 0) >> 2] | 0) + (HEAP32[($7_1 + 600 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 512 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 480 | 0) >> 2] = wasm2js_i32$1; + $1463(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, $2576_1 | 0, 34711 | 0) | 0; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, $2574_1 | 0, 7 | 0, $2576_1 | 0, $2576_1 | 0) | 0; + $1463(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, $2575_1 | 0, 34716 | 0) | 0; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, $2574_1 | 0, $2575_1 | 0, $2576_1 | 0, $2576_1 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1463(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, $2575_1 | 0, HEAP32[(HEAP32[($7_1 + 536 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 468 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, $2574_1 | 0, $2575_1 | 0, $2576_1 | 0, $2576_1 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1466(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 472 | 0) >> 2] = wasm2js_i32$1; + $1277(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 480 | 0) >> 2] | 0 | 0); + label$283 : { + if (!((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$283 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 460 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 452 | 0) >> 2] = 0; + label$284 : { + label$285 : while (1) { + if (!((HEAP32[($7_1 + 452 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$284 + } + $2647_1 = 16; + HEAP32[($7_1 + 448 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 452 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $2647_1 | 0) >> $2647_1 | 0; + label$286 : { + label$287 : { + if (!((HEAP32[($7_1 + 448 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$287 + } + if (!((HEAPU8[(((HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 448 | 0) >> 2] | 0, 20) | 0) + 12 | 0) >> 0] | 0) & 255 | 0)) { + break label$287 + } + break label$286; + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 50 | 0, (HEAP32[($7_1 + 512 | 0) >> 2] | 0) + (HEAP32[($7_1 + 452 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 460 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($7_1 + 452 | 0) >> 2] = (HEAP32[($7_1 + 452 | 0) >> 2] | 0) + 1 | 0; + continue label$285; + }; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 5 | 0, (HEAP32[($7_1 + 516 | 0) >> 2] | 0) + (HEAP32[($7_1 + 600 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 456 | 0) >> 2] = wasm2js_i32$1; + $1282(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 460 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 456 | 0) >> 2] | 0 | 0); + $353(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 39 | 0, (HEAP32[($7_1 + 516 | 0) >> 2] | 0) + (HEAP32[($7_1 + 600 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 512 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + $1463(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 3 | 0, 34737 | 0) | 0; + $1282(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 468 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 460 | 0) >> 2] | 0 | 0); + } + $1277(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 472 | 0) >> 2] | 0 | 0); + $1470(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 476 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 536 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 600 | 0) >> 2] = (HEAP32[($7_1 + 600 | 0) >> 2] | 0) + 1 | 0; + continue label$280; + }; + } + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($7_1 + 520 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 524 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 524 | 0) >> 2] | 0) - 1 | 0 | 0); + label$288 : { + if (HEAP32[($7_1 + 584 | 0) >> 2] | 0) { + break label$288 + } + $1463(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 2 | 0, 34764 | 0) | 0; + HEAP32[($7_1 + 600 | 0) >> 2] = 0; + HEAP32[($7_1 + 536 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$289 : { + label$290 : while (1) { + if (!((HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$289 + } + label$291 : { + label$292 : { + if (!((HEAP32[($7_1 + 532 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$292 + } + break label$291; + } + $2741_1 = 4; + $2743_1 = 3; + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 92 | 0, (HEAP32[($7_1 + 516 | 0) >> 2] | 0) + (HEAP32[($7_1 + 600 | 0) >> 2] | 0) | 0 | 0, $2743_1 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 53 | 0, (HEAP32[($7_1 + 600 | 0) >> 2] | 0) + 8 | 0 | 0, 0 | 0, $2743_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 596 | 0) >> 2] = wasm2js_i32$1; + $354(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 144 & 65535 | 0 | 0); + $1463(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, $2741_1 | 0, HEAP32[(HEAP32[($7_1 + 536 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 110 | 0, $2741_1 | 0, 2 | 0, $2743_1 | 0) | 0; + $1466(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 596 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 536 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 600 | 0) >> 2] = (HEAP32[($7_1 + 600 | 0) >> 2] | 0) + 1 | 0; + continue label$290; + }; + } + } + } + HEAP32[($7_1 + 580 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 580 | 0) >> 2] | 0) >> 2] | 0; + continue label$259; + }; + } + } + HEAP32[($7_1 + 604 | 0) >> 2] = (HEAP32[($7_1 + 604 | 0) >> 2] | 0) + 1 | 0; + continue label$234; + }; + } + $2777_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $355(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 7 | 0, 34800 | 0, $2777_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 444 | 0) >> 2] = wasm2js_i32$1; + label$293 : { + if (!((HEAP32[($7_1 + 444 | 0) >> 2] | 0 | 0) != ($2777_1 | 0) & 1 | 0)) { + break label$293 + } + $2789_1 = 255; + HEAP32[((HEAP32[($7_1 + 444 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1 - (HEAP32[($7_1 + 592 | 0) >> 2] | 0) | 0; + HEAP8[((HEAP32[($7_1 + 444 | 0) >> 2] | 0) + 41 | 0) >> 0] = $2789_1; + HEAP32[((HEAP32[($7_1 + 444 | 0) >> 2] | 0) + 56 | 0) >> 2] = 34828; + HEAP8[((HEAP32[($7_1 + 444 | 0) >> 2] | 0) + 101 | 0) >> 0] = $2789_1; + $2798_1 = $285(11 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 444 | 0) >> 2] | 0) + 116 | 0) >> 2] = $2798_1; + } + $1471(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 0 | 0, ($1296(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) | 0) - 2 | 0 | 0); + break label$20; + case 13: + label$294 : { + label$295 : { + if ((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$295 + } + label$296 : { + if (!($360(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0)) { + break label$296 + } + break label$10; + } + $1448(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[(34832 + (((HEAPU8[((HEAP32[(HEAP32[($7_1 + 1036 | 0) >> 2] | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0) << 3 | 0) | 0) >> 2] | 0 | 0); + break label$294; + } + label$297 : { + if ((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 64 | 0) { + break label$297 + } + HEAP32[($7_1 + 440 | 0) >> 2] = 34832; + label$298 : { + label$299 : while (1) { + if (!((HEAP32[(HEAP32[($7_1 + 440 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$298 + } + label$300 : { + if (!((0 | 0) == ($88(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 440 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$300 + } + label$301 : { + label$302 : { + if (!((HEAPU8[((HEAP32[($7_1 + 440 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0)) { + break label$302 + } + $2857_1 = (HEAPU8[((HEAP32[($7_1 + 440 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0; + break label$301; + } + $2862_1 = 24; + $2857_1 = ((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $2862_1 | 0) >> $2862_1 | 0 ? 2 : 3; + } + HEAP8[($7_1 + 439 | 0) >> 0] = $2857_1; + HEAP8[((HEAP32[((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 77 | 0) >> 0] = HEAPU8[($7_1 + 439 | 0) >> 0] | 0; + $494(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 439 | 0) >> 0] | 0) & 255 | 0 | 0); + break label$298; + } + HEAP32[($7_1 + 440 | 0) >> 2] = (HEAP32[($7_1 + 440 | 0) >> 2] | 0) + 8 | 0; + continue label$299; + }; + } + label$303 : { + if ((HEAP32[(HEAP32[($7_1 + 440 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$303 + } + $2886_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + HEAP32[($7_1 + 288 | 0) >> 2] = HEAP32[($7_1 + 1012 | 0) >> 2] | 0; + $349($2886_1 | 0, 34962 | 0, $7_1 + 288 | 0 | 0); + } + } + } + break label$20; + case 1: + i64toi32_i32$2 = HEAP32[($7_1 + 952 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + HEAP32[($7_1 + 432 | 0) >> 2] = i64toi32_i32$3; + $356(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0); + label$304 : { + label$305 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$305 + } + if (((HEAPU8[((HEAP32[($7_1 + 952 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 8 | 0) { + break label$305 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $355(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 2 | 0, 34987 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 428 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 428 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 972 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 428 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($7_1 + 972 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 428 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($7_1 + 432 | 0) >> 2] | 0; + $2921_1 = $1135(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 428 | 0) >> 2] | 0) + 32 | 0) >> 2] = $2921_1; + HEAP16[((HEAP32[($7_1 + 428 | 0) >> 2] | 0) + 22 | 0) >> 1] = 1; + break label$304; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $355(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 3 | 0, 34995 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 424 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 424 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 972 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 424 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($7_1 + 972 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 424 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($7_1 + 432 | 0) >> 2] | 0; + $1472(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0); + } + break label$20; + case 9: + HEAP32[($7_1 + 420 | 0) >> 2] = 0; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 1; + label$306 : { + label$307 : while (1) { + $2940_1 = HEAP32[($7_1 + 420 | 0) >> 2] | 0; + HEAP32[($7_1 + 420 | 0) >> 2] = $2940_1 + 1 | 0; + $2943_1 = $537($2940_1 | 0) | 0; + HEAP32[($7_1 + 416 | 0) >> 2] = $2943_1; + if (!(($2943_1 | 0) != (0 | 0) & 1 | 0)) { + break label$306 + } + $2950_1 = 1; + $1463(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, $2950_1 | 0, HEAP32[($7_1 + 416 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 80 | 0, $2950_1 | 0, $2950_1 | 0) | 0; + continue label$307; + }; + } + $1472(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0); + break label$20; + case 41: + label$308 : { + label$309 : { + if (!((HEAP32[(HEAP32[($7_1 + 1028 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$309 + } + $2964_1 = HEAP32[($7_1 + 972 | 0) >> 2] | 0; + break label$308; + } + $2964_1 = 10; + } + $2967_1 = 0; + HEAP32[($7_1 + 412 | 0) >> 2] = $2964_1; + HEAP32[($7_1 + 408 | 0) >> 2] = $2967_1; + label$310 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != ($2967_1 | 0) & 1 | 0)) { + break label$310 + } + label$311 : { + label$312 : { + if ($88(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, 35007 | 0) | 0) { + break label$312 + } + HEAP32[($7_1 + 408 | 0) >> 2] = 1; + break label$311; + } + label$313 : { + label$314 : { + if ($88(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, 35012 | 0) | 0) { + break label$314 + } + HEAP32[($7_1 + 408 | 0) >> 2] = 2; + break label$313; + } + label$315 : { + if ($88(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, 9675 | 0) | 0) { + break label$315 + } + HEAP32[($7_1 + 408 | 0) >> 2] = 3; + } + } + } + } + $2987_1 = 1; + $2988_1 = 3; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = $2988_1; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 6 | 0, HEAP32[($7_1 + 412 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 408 | 0) >> 2] | 0 | 0, $2987_1 | 0) | 0; + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 80 | 0, $2987_1 | 0, $2988_1 | 0) | 0; + break label$20; + case 40: + label$316 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$316 + } + $475(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, $1135(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + } + $3006_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + label$317 : { + label$318 : { + if (!((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 236 | 0) >> 2] | 0 | 0) == (12 | 0) & 1 | 0)) { + break label$318 + } + $3016_1 = HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0; + break label$317; + } + $3016_1 = 0; + } + i64toi32_i32$3 = $3016_1; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $1450($3006_1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0); + break label$20; + case 33: + $443(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0) | 0; + break label$20; + case 29: + label$319 : { + label$320 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$320 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1135(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_i32$1; + label$321 : { + if ((HEAP32[($7_1 + 372 | 0) >> 2] | 0) & 2 | 0) { + break label$321 + } + break label$20; + } + break label$319; + } + HEAP32[($7_1 + 372 | 0) >> 2] = 65534; + } + $3035_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + $3036_1 = HEAP32[($3035_1 + 40 | 0) >> 2] | 0; + HEAP32[($3035_1 + 40 | 0) >> 2] = $3036_1 + 1 | 0; + HEAP32[($7_1 + 400 | 0) >> 2] = $3036_1; + label$322 : { + label$323 : { + if (!((HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$323 + } + $3046_1 = HEAP32[($7_1 + 972 | 0) >> 2] | 0; + break label$322; + } + $3046_1 = (HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0; + } + HEAP32[($7_1 + 404 | 0) >> 2] = $3046_1; + label$324 : { + label$325 : while (1) { + if (!((HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) <= (HEAP32[($7_1 + 404 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$324 + } + label$326 : { + label$327 : { + if (!((HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$327 + } + break label$326; + } + $1286(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 392 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 972 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP32[($7_1 + 396 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 392 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$328 : { + label$329 : while (1) { + if (!((HEAP32[($7_1 + 396 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$328 + } + HEAP32[($7_1 + 388 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 396 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$330 : { + label$331 : { + if ((HEAP32[((HEAP32[($7_1 + 388 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 256 | 0) { + break label$331 + } + break label$330; + } + $3092_1 = 16; + HEAP16[($7_1 + 382 | 0) >> 1] = (((HEAPU16[((HEAP32[($7_1 + 388 | 0) >> 2] | 0) + 46 | 0) >> 1] | 0) << $3092_1 | 0) >> $3092_1 | 0) + 46 | 0; + HEAP32[($7_1 + 384 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 388 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$332 : { + label$333 : while (1) { + if (!((HEAP32[($7_1 + 384 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$332 + } + $243_1 = HEAP32[($7_1 + 384 | 0) >> 2] | 0; + label$334 : { + if ((((HEAPU8[($243_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($243_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0) { + break label$334 + } + HEAP16[($7_1 + 382 | 0) >> 1] = 0; + break label$332; + } + HEAP32[($7_1 + 384 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 384 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$333; + }; + } + label$335 : { + if (!(((HEAPU16[($7_1 + 382 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$335 + } + $1462(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 400 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 388 | 0) >> 2] | 0 | 0, 96 | 0); + $3143_1 = 16; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 34 | 0, HEAP32[($7_1 + 400 | 0) >> 2] | 0 | 0, (($1296(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) | 0) + 2 | 0) + ((HEAP32[($7_1 + 372 | 0) >> 2] | 0) & 1 | 0) | 0 | 0, ((HEAPU16[($7_1 + 382 | 0) >> 1] | 0) << $3143_1 | 0) >> $3143_1 | 0 | 0) | 0; + } + $3146_1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + $3153_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 972 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 308 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 388 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 304 | 0) >> 2] = $3153_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $351($3146_1 | 0, 35020 | 0, $7_1 + 304 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_i32$1; + label$336 : { + label$337 : { + if (!((HEAP32[($7_1 + 372 | 0) >> 2] | 0) & 1 | 0)) { + break label$337 + } + $3166_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 368 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 115 | 0, $3166_1 | 0, HEAP32[($7_1 + 368 | 0) >> 2] | 0 | 0, $3166_1 | 0, HEAP32[($7_1 + 376 | 0) >> 2] | 0 | 0, -7 | 0) | 0; + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[($7_1 + 368 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + break label$336; + } + $3176_1 = 0; + $1278(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 141 | 0, $3176_1 | 0, $3176_1 | 0, $3176_1 | 0, HEAP32[($7_1 + 376 | 0) >> 2] | 0 | 0, -7 | 0) | 0; + } + } + HEAP32[($7_1 + 396 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 396 | 0) >> 2] | 0) >> 2] | 0; + continue label$329; + }; + } + } + HEAP32[($7_1 + 972 | 0) >> 2] = (HEAP32[($7_1 + 972 | 0) >> 2] | 0) + 1 | 0; + continue label$325; + }; + } + $1276(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 159 | 0) | 0; + break label$20; + default: + label$338 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$338 + } + $461(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, $1135(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + } + i64toi32_i32$3 = HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 452 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0); + break label$20; + case 34: + label$339 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$339 + } + if ($528(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $7_1 + 360 | 0 | 0) | 0) { + break label$339 + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 364 | 0) >> 2] | 0; + i64toi32_i32$3 = $34(i64toi32_i32$1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + } + i64toi32_i32$1 = -1; + $3213_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + i64toi32_i32$1 = $34(-1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $1450($3213_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$3 | 0); + break label$20; + case 17: + label$340 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$340 + } + if ($528(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $7_1 + 352 | 0 | 0) | 0) { + break label$340 + } + i64toi32_i32$3 = 0; + $3403$hi = i64toi32_i32$3; + i64toi32_i32$3 = -1; + i64toi32_i32$3 = $37(-1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $10505 = i64toi32_i32$3; + i64toi32_i32$3 = $7_1; + HEAP32[($7_1 + 344 | 0) >> 2] = $10505; + HEAP32[($7_1 + 348 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 352 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 356 | 0) >> 2] | 0; + $3407$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3403$hi; + i64toi32_i32$3 = $3407$hi; + i64toi32_i32$3 = $3403$hi; + i64toi32_i32$3 = $3407$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $3403$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$1 | 0)) { + $244_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$0 >>> 0) { + $245_1 = 0 + } else { + $245_1 = 1 + } + $246_1 = $245_1; + } else { + $246_1 = 0 + } + $244_1 = $246_1; + } + label$341 : { + if (!($244_1 & 1 | 0)) { + break label$341 + } + i64toi32_i32$2 = 0; + $3409$hi = i64toi32_i32$2; + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 344 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 348 | 0) >> 2] | 0; + $3411$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3409$hi; + i64toi32_i32$3 = $3411$hi; + i64toi32_i32$3 = $3409$hi; + i64toi32_i32$3 = $3411$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $3409$hi; + i64toi32_i32$1 = 0; + label$342 : { + if (((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0) { + break label$342 + } + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 344 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 348 | 0) >> 2] | 0; + $3413 = i64toi32_i32$0; + $3413$hi = i64toi32_i32$3; + i64toi32_i32$1 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 352 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 356 | 0) >> 2] | 0; + $3414$hi = i64toi32_i32$0; + i64toi32_i32$0 = $3413$hi; + i64toi32_i32$0 = $3414$hi; + i64toi32_i32$0 = $3413$hi; + i64toi32_i32$0 = $3414$hi; + $10536 = i64toi32_i32$3; + i64toi32_i32$0 = $3413$hi; + i64toi32_i32$1 = $3413; + i64toi32_i32$3 = $3414$hi; + i64toi32_i32$2 = $10536; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$3 | 0)) { + $247_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$2 >>> 0) { + $248_1 = 0 + } else { + $248_1 = 1 + } + $249_1 = $248_1; + } else { + $249_1 = 0 + } + $247_1 = $249_1; + } + if (!($247_1 & 1 | 0)) { + break label$341 + } + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 352 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 356 | 0) >> 2] | 0; + i64toi32_i32$0 = $37(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + } + } + i64toi32_i32$1 = -1; + $3235_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + i64toi32_i32$1 = $37(-1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1450($3235_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$20; + case 39: + label$343 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$343 + } + if ($528(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $7_1 + 336 | 0 | 0) | 0) { + break label$343 + } + i64toi32_i32$0 = 0; + $3420$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 336 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 340 | 0) >> 2] | 0; + $3422$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3420$hi; + i64toi32_i32$1 = $3422$hi; + i64toi32_i32$1 = $3420$hi; + i64toi32_i32$1 = $3422$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $3420$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $250_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $251_1 = 0 + } else { + $251_1 = 1 + } + $252_1 = $251_1; + } else { + $252_1 = 0 + } + $250_1 = $252_1; + } + if (!($250_1 & 1 | 0)) { + break label$343 + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 336 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 340 | 0) >> 2] | 0; + $3424$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $3425$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3424$hi; + i64toi32_i32$1 = $3425$hi; + i64toi32_i32$1 = $3424$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $3425$hi; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $483(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, 11 | 0, i64toi32_i32$3 & i64toi32_i32$0 | 0 | 0) | 0; + } + $3256_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + i64toi32_i32$3 = $483(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, 11 | 0, -1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; + $1450($3256_1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0); + break label$20; + case 0: + break label$21; + }; + } + label$344 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$344 + } + if ($528(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $7_1 + 328 | 0 | 0) | 0) { + break label$344 + } + i64toi32_i32$2 = 0; + $3428$hi = i64toi32_i32$2; + i64toi32_i32$1 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 328 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 332 | 0) >> 2] | 0; + $3430$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3428$hi; + i64toi32_i32$3 = $3430$hi; + i64toi32_i32$3 = $3428$hi; + i64toi32_i32$3 = $3430$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $3428$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$2 | 0)) { + $253_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + $254_1 = 0 + } else { + $254_1 = 1 + } + $255_1 = $254_1; + } else { + $255_1 = 0 + } + $253_1 = $255_1; + } + if (!($253_1 & 1 | 0)) { + break label$344 + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 328 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 332 | 0) >> 2] | 0; + $3432$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $3433$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3432$hi; + i64toi32_i32$3 = $3433$hi; + i64toi32_i32$3 = $3432$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $3433$hi; + i64toi32_i32$2 = 2147483647; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 448 | 0) >> 2] = i64toi32_i32$0 & i64toi32_i32$2 | 0; + } + i64toi32_i32$0 = HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 448 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + } + label$345 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 952 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$345 + } + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$345 + } + } + } + $13(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1016 | 0) >> 2] | 0 | 0); + $13(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 1040 | 0; + return; + } + + function $1250($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $43_1 = 0, $47_1 = 0, i64toi32_i32$0 = 0, $103_1 = 0, $110_1 = 0, $111_1 = 0, $113_1 = 0, $120_1 = 0, $121_1 = 0, $122_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 112 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0; + HEAP32[($5_1 + 88 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + 240 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : { + if (HEAP32[((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$3 + } + if ((HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + } + break label$1; + } + HEAP32[($5_1 + 92 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 96 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($5_1 + 108 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 104 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + HEAP32[($5_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + continue label$5; + }; + } + $43_1 = $5_1 + 64 | 0; + $47_1 = $5_1 + 48 | 0; + $1324($47_1 | 0, HEAP32[(HEAP32[($5_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0); + $1321($43_1 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 3377 | 0, $47_1 | 0); + label$6 : { + label$7 : { + if ($1473($43_1 | 0, HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + if (!($1474($5_1 + 64 | 0 | 0, HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + } + break label$1; + } + label$8 : { + label$9 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + 240 | 0) >> 2] = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + HEAP32[($5_1 + 96 | 0) >> 2] = 0; + break label$8; + } + label$10 : { + if (((HEAPU8[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + break label$1; + } + $1287(HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1130(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $103_1 = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + $110_1 = HEAP32[((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 60 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $111_1 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + $113_1 = HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $113_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $111_1; + HEAP32[$5_1 >> 2] = $110_1; + $1302($103_1 | 0, 35331 | 0, $5_1 | 0); + $13(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + $1303(HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + $120_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $121_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $122_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + $1304($120_1 | 0, $121_1 | 0, $351($122_1 | 0, 35406 | 0, $5_1 + 16 | 0 | 0) | 0 | 0); + } + } + label$12 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[(((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 60 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 40 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $474(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + label$14 : { + if (!((HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + $118(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + break label$13; + } + label$15 : { + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + } + } + } + } + $10(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0); + $17(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 112 | 0; + return; + } + + function $1251($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1, $9_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + $9_1 = $9_1 | 0; + var $12_1 = 0, $13_1 = 0, $110_1 = 0, $267_1 = 0, $318_1 = 0, $387_1 = 0, $176_1 = 0, $209_1 = 0, $216_1 = 0, $217_1 = 0, $235_1 = 0, $236_1 = 0, i64toi32_i32$0 = 0, $327_1 = 0, $370_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $12_1 = global$0 - 144 | 0; + global$0 = $12_1; + $13_1 = 0; + HEAP32[($12_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($12_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($12_1 + 132 | 0) >> 2] = $2_1; + HEAP32[($12_1 + 128 | 0) >> 2] = $3_1; + HEAP32[($12_1 + 124 | 0) >> 2] = $4_1; + HEAP32[($12_1 + 120 | 0) >> 2] = $5_1; + HEAP32[($12_1 + 116 | 0) >> 2] = $6_1; + HEAP32[($12_1 + 112 | 0) >> 2] = $7_1; + HEAP32[($12_1 + 108 | 0) >> 2] = $8_1; + HEAP32[($12_1 + 104 | 0) >> 2] = $9_1; + HEAP32[($12_1 + 100 | 0) >> 2] = $13_1; + HEAP32[($12_1 + 92 | 0) >> 2] = $13_1; + HEAP32[($12_1 + 88 | 0) >> 2] = HEAP32[(HEAP32[($12_1 + 140 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!(HEAP32[($12_1 + 108 | 0) >> 2] | 0)) { + break label$3 + } + label$4 : { + if (!((HEAP32[((HEAP32[($12_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$4 + } + $349(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, 35435 | 0, 0 | 0); + break label$1; + } + HEAP32[($12_1 + 84 | 0) >> 2] = 1; + HEAP32[($12_1 + 80 | 0) >> 2] = HEAP32[($12_1 + 136 | 0) >> 2] | 0; + break label$2; + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $1284(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 132 | 0) >> 2] | 0 | 0, $12_1 + 80 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($12_1 + 84 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + } + label$6 : { + label$7 : { + if (!((HEAP32[($12_1 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAPU8[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$6 + } + } + break label$1; + } + label$8 : { + if (!((HEAPU8[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + if (!((HEAP32[($12_1 + 84 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$8 + } + $13(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($12_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($12_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $1320(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if ((HEAPU8[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0) { + break label$9 + } + if (HEAP32[((HEAP32[($12_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$9 + } + if (!((HEAP32[($12_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + if (!((HEAP32[((HEAP32[($12_1 + 96 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($12_1 + 84 | 0) >> 2] = 1; + } + label$10 : { + if (!(((HEAPU8[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + break label$1; + } + $110_1 = $12_1 + 56 | 0; + $1321($110_1 | 0, HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 84 | 0) >> 2] | 0 | 0, 3377 | 0, HEAP32[($12_1 + 80 | 0) >> 2] | 0 | 0); + label$11 : { + if (!($1322($110_1 | 0, HEAP32[($12_1 + 116 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + break label$1; + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $1320(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + label$13 : { + if ((HEAP32[($12_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$13 + } + break label$12; + } + label$14 : { + if (!(HEAP32[((HEAP32[($12_1 + 96 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$14 + } + $349(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, 35481 | 0, 0 | 0); + break label$12; + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $1224(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($12_1 + 92 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$15 + } + break label$1; + } + label$16 : { + if (!($1285(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 92 | 0) >> 2] | 0 | 0, 3377 | 0, HEAP32[(HEAP32[($12_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0)) { + break label$16 + } + break label$1; + } + label$17 : { + if (((HEAPU8[((HEAP32[($12_1 + 140 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$17 + } + label$18 : { + if (!(($362((HEAP32[(((HEAP32[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($12_1 + 84 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 40 | 0 | 0, HEAP32[($12_1 + 92 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + label$19 : { + label$20 : { + if (HEAP32[($12_1 + 104 | 0) >> 2] | 0) { + break label$20 + } + $176_1 = HEAP32[($12_1 + 140 | 0) >> 2] | 0; + HEAP32[($12_1 + 32 | 0) >> 2] = HEAP32[($12_1 + 80 | 0) >> 2] | 0; + $349($176_1 | 0, 35522 | 0, $12_1 + 32 | 0 | 0); + break label$19; + } + $1286(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 84 | 0) >> 2] | 0 | 0); + } + break label$1; + } + } + label$21 : { + if ($89(HEAP32[(HEAP32[($12_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0, 27544 | 0, 7 | 0) | 0) { + break label$21 + } + $349(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, 35548 | 0, 0 | 0); + break label$1; + } + label$22 : { + if (!((HEAP32[((HEAP32[($12_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + if (!((HEAP32[($12_1 + 128 | 0) >> 2] | 0 | 0) != (65 | 0) & 1 | 0)) { + break label$22 + } + $209_1 = HEAP32[($12_1 + 140 | 0) >> 2] | 0; + $216_1 = (HEAP32[($12_1 + 128 | 0) >> 2] | 0 | 0) == (33 | 0) & 1 | 0 ? 35623 : 35630; + $217_1 = HEAP32[($12_1 + 116 | 0) >> 2] | 0; + HEAP32[($12_1 + 8 | 0) >> 2] = 0; + HEAP32[($12_1 + 4 | 0) >> 2] = $217_1; + HEAP32[$12_1 >> 2] = $216_1; + $349($209_1 | 0, 35586 | 0, $12_1 | 0); + break label$12; + } + label$23 : { + if ((HEAP32[((HEAP32[($12_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$23 + } + if (!((HEAP32[($12_1 + 128 | 0) >> 2] | 0 | 0) == (65 | 0) & 1 | 0)) { + break label$23 + } + $235_1 = HEAP32[($12_1 + 140 | 0) >> 2] | 0; + $236_1 = HEAP32[($12_1 + 116 | 0) >> 2] | 0; + HEAP32[($12_1 + 20 | 0) >> 2] = 0; + HEAP32[($12_1 + 16 | 0) >> 2] = $236_1; + $349($235_1 | 0, 35636 | 0, $12_1 + 16 | 0 | 0); + break label$12; + } + label$24 : { + if (((HEAPU8[((HEAP32[($12_1 + 140 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$24 + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $350(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($12_1 + 96 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($12_1 + 48 | 0) >> 2] = 7; + HEAP32[($12_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($12_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$25 : { + label$26 : { + if (!(HEAP32[($12_1 + 108 | 0) >> 2] | 0)) { + break label$26 + } + $267_1 = HEAP32[((HEAP32[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$25; + } + $267_1 = HEAP32[($12_1 + 44 | 0) >> 2] | 0; + } + HEAP32[($12_1 + 40 | 0) >> 2] = $267_1; + label$27 : { + label$28 : { + if ((HEAP32[($12_1 + 52 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$28 + } + if (!(HEAP32[($12_1 + 108 | 0) >> 2] | 0)) { + break label$27 + } + } + HEAP32[($12_1 + 48 | 0) >> 2] = 5; + } + label$29 : { + if (!($1283(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($12_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$29 + } + break label$1; + } + label$30 : { + if (!($1283(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, 18 | 0, ((HEAP32[($12_1 + 52 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 8404 : 8004) | 0, 0 | 0, HEAP32[($12_1 + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$30 + } + break label$1; + } + } + label$31 : { + if (!((HEAP32[($12_1 + 128 | 0) >> 2] | 0 | 0) == (65 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($12_1 + 128 | 0) >> 2] = 33; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $308(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, 36 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$32 : { + if (!((HEAP32[($12_1 + 100 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$32 + } + break label$1; + } + $318_1 = 2; + HEAP32[(HEAP32[($12_1 + 100 | 0) >> 2] | 0) >> 2] = HEAP32[($12_1 + 92 | 0) >> 2] | 0; + HEAP32[($12_1 + 92 | 0) >> 2] = 0; + $327_1 = $291(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($12_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($12_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] = $327_1; + HEAP32[((HEAP32[($12_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($12_1 + 84 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($12_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($12_1 + 96 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP8[((HEAP32[($12_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 0] = HEAP32[($12_1 + 124 | 0) >> 2] | 0; + HEAP8[((HEAP32[($12_1 + 100 | 0) >> 2] | 0) + 9 | 0) >> 0] = (HEAP32[($12_1 + 128 | 0) >> 2] | 0 | 0) == (33 | 0) & 1 | 0 ? 1 : $318_1; + label$33 : { + label$34 : { + if (!(((HEAPU8[((HEAP32[($12_1 + 140 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= ($318_1 | 0) & 1 | 0)) { + break label$34 + } + $1318(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($12_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($12_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($12_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($12_1 + 112 | 0) >> 2] | 0; + HEAP32[($12_1 + 112 | 0) >> 2] = 0; + break label$33; + } + $370_1 = $1310(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 112 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[((HEAP32[($12_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] = $370_1; + } + HEAP32[((HEAP32[($12_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($12_1 + 120 | 0) >> 2] | 0; + HEAP32[($12_1 + 120 | 0) >> 2] = 0; + HEAP32[((HEAP32[($12_1 + 140 | 0) >> 2] | 0) + 240 | 0) >> 2] = HEAP32[($12_1 + 100 | 0) >> 2] | 0; + break label$1; + } + label$35 : { + if (!(((HEAPU8[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 164 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$35 + } + $387_1 = HEAP32[($12_1 + 88 | 0) >> 2] | 0; + HEAP8[($387_1 + 166 | 0) >> 0] = HEAPU8[($387_1 + 166 | 0) >> 0] | 0 | 1 | 0; + } + } + $13(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 92 | 0) >> 2] | 0 | 0); + $1143(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 116 | 0) >> 2] | 0 | 0); + $19(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 120 | 0) >> 2] | 0 | 0); + $18(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 112 | 0) >> 2] | 0 | 0); + label$36 : { + label$37 : { + if ((HEAP32[((HEAP32[($12_1 + 140 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$37 + } + $10(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 100 | 0) >> 2] | 0 | 0); + break label$36; + } + } + global$0 = $12_1 + 144 | 0; + return; + } + + function $1252($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $38_1 = 0, $45_1 = 0, $48_1 = 0, $52_1 = 0, $56_1 = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 48 | 0; + global$0 = $10_1; + HEAP32[($10_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 28 | 0) >> 2] = $4_1; + HEAP8[($10_1 + 27 | 0) >> 0] = $5_1; + HEAP32[($10_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1475(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, 127 & 255 | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($10_1 + 44 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$3 + } + $38_1 = 0; + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($10_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($10_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($10_1 + 36 | 0) >> 2] | 0; + HEAP32[($10_1 + 32 | 0) >> 2] = $38_1; + HEAP32[($10_1 + 28 | 0) >> 2] = $38_1; + HEAP32[($10_1 + 36 | 0) >> 2] = $38_1; + break label$2; + } + $45_1 = 1; + $48_1 = $1339(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0, $45_1 | 0) | 0; + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = $48_1; + $52_1 = $1310(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0, $45_1 | 0) | 0; + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $52_1; + $56_1 = $1476(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0, $45_1 | 0) | 0; + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = $56_1; + } + HEAP8[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAPU8[($10_1 + 27 | 0) >> 0] | 0; + } + $382(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0); + $18(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0); + $1143(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0); + $66_1 = HEAP32[($10_1 + 8 | 0) >> 2] | 0; + global$0 = $10_1 + 48 | 0; + return $66_1 | 0; + } + + function $1253($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $44_1 = 0, $68_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 48 | 0; + global$0 = $10_1; + HEAP32[($10_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 32 | 0) >> 2] = $3_1; + HEAP8[($10_1 + 31 | 0) >> 0] = $4_1; + HEAP32[($10_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1475(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, 125 & 255 | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($10_1 + 44 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($10_1 + 32 | 0) >> 2] | 0; + HEAP32[($10_1 + 32 | 0) >> 2] = 0; + break label$3; + } + $44_1 = $1338(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $44_1; + } + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($10_1 + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($10_1 + 24 | 0) >> 2] | 0; + HEAP8[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAPU8[($10_1 + 31 | 0) >> 0] | 0; + label$5 : { + if (!((HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $1319(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($10_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + } + break label$1; + } + $19(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0); + $1172(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0); + } + $1139(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0); + $68_1 = HEAP32[($10_1 + 8 | 0) >> 2] | 0; + global$0 = $10_1 + 48 | 0; + return $68_1 | 0; + } + + function $1254($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $41_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1475(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 126 & 255 | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + break label$2; + } + $41_1 = $1310(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = $41_1; + } + HEAP8[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = 11; + } + $18(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + $47_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $47_1 | 0; + } + + function $1255($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $28_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 48 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $1139(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP8[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 0] = 136; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = 11; + $28_1 = $1477(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] = $28_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + $31_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $31_1 | 0; + } + + function $1256($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $50_1 = 0, $93_1 = 0, $94_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((0 | 0) != ($360(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$7 + } + $50_1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) ^ 1 | 0; + break label$6; + } + $50_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 12 | 0) >> 2] = $50_1; + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + if ($1133(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0) { + break label$9 + } + break label$8; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[(((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 40 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + break label$4; + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$11 : { + if ((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$11 + } + label$12 : { + label$13 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$13 + } + $93_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $94_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + HEAP32[$5_1 >> 2] = $94_1; + $349($93_1 | 0, 35682 | 0, $5_1 | 0); + break label$12; + } + $1331(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + HEAP8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + break label$1; + } + $1478(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0); + } + $1143(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 48 | 0; + return; + } + + function $1257($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $1479(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0, 35704 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0); + global$0 = $6_1 + 16 | 0; + return; + } + + function $1258($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $7_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $1479(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 25 | 0, 36024 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $7_1 | 0, $7_1 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1259($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((0 | 0) != ($360(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $1480(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0); + break label$1; + } + label$4 : { + label$5 : { + if ((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1224(HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$6 : { + if ((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + break label$1; + } + $51_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $498(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, $51_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != ($51_1 | 0) & 1 | 0)) { + break label$7 + } + $1480(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0); + $13(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0); + break label$1; + } + $13(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1284(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$8 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1224(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + break label$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $361(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $1481(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0); + $13(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1025(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $13(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + label$11 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $1287(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $1330(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0); + break label$1; + } + $349(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 36147 | 0, 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1260($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $49_1 = 0, $80_1 = 0, $97_1 = 0, $107_1 = 0, $111_1 = 0, $128_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((0 | 0) != ($360(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + break label$7; + } + $1482(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + break label$3; + } + label$9 : { + label$10 : { + if (HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$10 + } + $49_1 = $1483(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $49_1; + if (!(($49_1 | 0) >= (0 | 0) & 1 | 0)) { + break label$10 + } + $1482(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$9; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1284(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$13 + } + $80_1 = HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + break label$12; + } + $80_1 = 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = $80_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1224(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + $97_1 = $1025(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $97_1; + label$15 : { + label$16 : { + if (!(($97_1 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $1484(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + break label$15; + } + $107_1 = 0; + $111_1 = $348(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $107_1 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $111_1; + label$17 : { + if (!(($111_1 | 0) != ($107_1 | 0) & 1 | 0)) { + break label$17 + } + $1484(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0); + } + } + $13(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + } + } + } + if ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 90 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + $128_1 = $1275(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$5_1 >> 2] = $128_1; + if (!(($128_1 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1276(HEAP32[$5_1 >> 2] | 0 | 0, 159 | 0) | 0; + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1261($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $21_1 = 0, $46_1 = 0, $242_1 = 0, $244_1 = 0, $247_1 = 0, $83_1 = 0, $114_1 = 0, $162_1 = 0, $163_1 = 0, $164_1 = 0, $165_1 = 0, $166_1 = 0, $172_1 = 0, $181_1 = 0, $182_1 = 0, $183_1 = 0, $184_1 = 0, $185_1 = 0, $186_1 = 0, $205_1 = 0, $206_1 = 0, $207_1 = 0, $220_1 = 0, $221_1 = 0, $222_1 = 0, $223_1 = 0, $224_1 = 0, $225_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 192 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 188 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 184 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 180 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 164 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 160 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 188 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 144 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $21_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1323(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, $21_1 | 0, (HEAP32[($5_1 + 184 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0) != ($21_1 | 0) & 1 | 0) { + break label$3 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($5_1 + 188 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 168 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 172 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 176 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $46_1 = HEAP32[($5_1 + 160 | 0) >> 2] | 0; + HEAP32[($46_1 + 24 | 0) >> 2] = HEAP32[($46_1 + 24 | 0) >> 2] | 0 | 2 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1224(HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if ((HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + break label$1; + } + label$5 : { + label$6 : { + if (($361(HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + if (($1025(HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + if (!($1485(HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + } + $83_1 = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $349($83_1 | 0, 36468 | 0, $5_1 | 0); + break label$1; + } + label$7 : { + if (!((0 | 0) != ($1486(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + break label$1; + } + label$8 : { + if (!((0 | 0) != ($1285(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0, 8398 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$1; + } + label$9 : { + if (!((HEAP32[((HEAP32[($5_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $114_1 = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 168 | 0) >> 2] | 0) >> 2] | 0; + $349($114_1 | 0, 36527 | 0, $5_1 + 16 | 0 | 0); + break label$1; + } + label$10 : { + if (!($1283(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, 26 | 0, HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 168 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { + break label$10 + } + break label$1; + } + label$11 : { + if (!($1332(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + break label$1; + } + label$12 : { + if (!(HEAP32[((HEAP32[($5_1 + 168 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$12 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1056(HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!((HEAP32[((HEAP32[(HEAP32[((HEAP32[($5_1 + 144 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 144 | 0) >> 2] = 0; + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + break label$1; + } + $1295(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 152 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 168 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $409(HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + $162_1 = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + $163_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + $164_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + $165_1 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + $166_1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $172_1 = (HEAP32[($5_1 + 176 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0; + HEAP32[($5_1 + 100 | 0) >> 2] = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + HEAP32[($5_1 + 96 | 0) >> 2] = $172_1; + HEAP32[($5_1 + 92 | 0) >> 2] = $166_1; + HEAP32[($5_1 + 88 | 0) >> 2] = $165_1; + HEAP32[($5_1 + 84 | 0) >> 2] = $164_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $163_1; + $1302($162_1 | 0, 36554 | 0, $5_1 + 80 | 0 | 0); + $181_1 = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + $182_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + $183_1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $184_1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $185_1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $186_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + HEAP32[($5_1 + 132 | 0) >> 2] = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + HEAP32[($5_1 + 128 | 0) >> 2] = $186_1; + HEAP32[($5_1 + 124 | 0) >> 2] = $185_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $184_1; + HEAP32[($5_1 + 116 | 0) >> 2] = $183_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $182_1; + $1302($181_1 | 0, 36738 | 0, $5_1 + 112 | 0 | 0); + label$15 : { + if (!(($361(HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, 27485 | 0, HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $205_1 = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + $206_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + $207_1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 168 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 68 | 0) >> 2] = $207_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $206_1; + $1302($205_1 | 0, 37043 | 0, $5_1 + 64 | 0 | 0); + } + label$16 : { + if (!((HEAP32[($5_1 + 176 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$16 + } + $220_1 = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + $221_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + $222_1 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + $223_1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $224_1 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + $225_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = $225_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $224_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $223_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $222_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $221_1; + $1302($220_1 | 0, 37101 | 0, $5_1 + 32 | 0 | 0); + } + label$17 : { + if (!((HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + $242_1 = 0; + $244_1 = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + $247_1 = (HEAP32[($244_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($244_1 + 44 | 0) >> 2] = $247_1; + HEAP32[($5_1 + 136 | 0) >> 2] = $247_1; + $1463(HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0) | 0; + $1278(HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0, 168 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, $242_1 | 0, $242_1 | 0, HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0, -12 | 0) | 0; + } + $1487(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 176 | 0) >> 2] | 0 | 0); + $1488(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 176 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 | 0); + } + $1143(HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0); + $13(HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 140 | 0) >> 2] | 0; + global$0 = $5_1 + 192 | 0; + return; + } + + function $1262($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $306$hi = 0, i64toi32_i32$3 = 0, $36_1 = 0, $307$hi = 0, $308$hi = 0, $310$hi = 0, $211_1 = 0, $216_1 = 0, $224_1 = 0, $243_1 = 0, $246_1 = 0, $277_1 = 0, $250_1 = 0, $251_1 = 0, $253_1 = 0, $254_1 = 0, $258_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 96 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (HEAP32[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAPU8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + } + break label$1; + } + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $350(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 76 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0; + $36_1 = 16; + HEAP32[($4_1 + 60 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul((((HEAPU16[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $36_1 | 0) >> $36_1 | 0) - 1 | 0, 20) | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $361(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!($1283(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, 26 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { + break label$4 + } + break label$1; + } + label$5 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$5 + } + $349(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, 37716 | 0, 0 | 0); + break label$1; + } + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $349(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, 37748 | 0, 0 | 0); + break label$1; + } + label$7 : { + label$8 : { + if (((HEAPU16[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0) { + break label$8 + } + label$9 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + if (!(((HEAPU8[(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (119 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 56 | 0) >> 2] = 0; + } + i64toi32_i32$0 = 0; + $306$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $307$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $308$hi = i64toi32_i32$1; + i64toi32_i32$1 = $307$hi; + i64toi32_i32$1 = $308$hi; + i64toi32_i32$1 = $307$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $308$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $310$hi = i64toi32_i32$0; + i64toi32_i32$0 = $306$hi; + i64toi32_i32$0 = $310$hi; + i64toi32_i32$0 = $306$hi; + i64toi32_i32$0 = $310$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $306$hi; + i64toi32_i32$3 = 0; + label$10 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $1489(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, 37775 | 0); + } + label$11 : { + if (!((HEAPU8[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + if ((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$11 + } + $1489(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, 37834 | 0); + } + label$12 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 40 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1490(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, 65 & 255 | 0 | 0, $4_1 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($4_1 + 36 | 0) >> 2] | 0)) { + break label$13 + } + break label$1; + } + label$14 : { + if ((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$14 + } + $1489(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, 37887 | 0); + } + $212(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0); + } + break label$7; + } + label$15 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0)) { + break label$15 + } + $1489(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, 37933 | 0); + } + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1130(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$17 : while (1) { + $211_1 = 0; + label$18 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 > (HEAP32[($4_1 + 64 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$18 + } + $216_1 = 24; + $224_1 = 1; + label$19 : { + if ((((HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $216_1 | 0) >> $216_1 | 0 | 0) == (59 | 0) & 1 | 0) { + break label$19 + } + $224_1 = (((HEAPU8[(((HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 | 0) != (0 | 0); + } + $211_1 = $224_1; + } + label$20 : { + if (!($211_1 & 1 | 0)) { + break label$20 + } + $243_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $243_1 + -1 | 0; + HEAP8[$243_1 >> 0] = 0; + continue label$17; + } + break label$17; + }; + $246_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP32[($246_1 + 24 | 0) >> 2] = HEAP32[($246_1 + 24 | 0) >> 2] | 0 | 2 | 0; + $250_1 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + $251_1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + $253_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $254_1 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + $258_1 = (HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $258_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $254_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $253_1; + HEAP32[$4_1 >> 2] = $251_1; + $1302($250_1 | 0, 37960 | 0, $4_1 | 0); + $13(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + $277_1 = 2; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1382(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, 93 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $277_1 | 0) | 0; + $356(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + $366(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, -2 | 0) | 0; + $366(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, 48 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0) | 0; + $367(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, 94 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, $277_1 | 0, 3 | 0) | 0; + $1383(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0); + } + $1487(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 96 | 0; + return; + } + + function $1263($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $17_1 = 0, $77_1 = 0, $124_1 = 0, $132_1 = 0, $140_1 = 0, $93_1 = 0, $95_1 = 0, $99_1 = 0, $150_1 = 0, $154_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $17_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1323(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $17_1 | 0, (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) != ($17_1 | 0) & 1 | 0) { + break label$3 + } + break label$1; + } + label$4 : { + if (!(HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$4 + } + $349(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 38118 | 0, 0 | 0); + break label$1; + } + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $349(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 38152 | 0, 0 | 0); + break label$1; + } + label$6 : { + if (!((0 | 0) != ($1486(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + break label$1; + } + i64toi32_i32$0 = 0; + $1295(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $350(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $308(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, 80 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if ((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + break label$1; + } + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 232 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + HEAP16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + $77_1 = 16; + HEAP32[($4_1 + 20 | 0) >> 2] = ((((((HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $77_1 | 0) >> $77_1 | 0) - 1 | 0 | 0) / (8 | 0) | 0) << 3 | 0) + 8 | 0; + i64toi32_i32$0 = 0; + $93_1 = $308(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 20) | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = $93_1; + $95_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + $99_1 = $351($95_1 | 0, 38182 | 0, $4_1 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = $99_1; + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + if ((HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + } + break label$1; + } + $124_1 = 16; + $3288(HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, Math_imul(((HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $124_1 | 0) >> $124_1 | 0, 20) | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + $132_1 = 16; + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $132_1 | 0) >> $132_1 | 0 | 0) & 1 | 0)) { + break label$10 + } + $140_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 24 | 0) >> 2] | 0, 20) | 0; + $150_1 = $291(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = $150_1; + $154_1 = $1306(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 15 | 0) >> 0] = $154_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $140_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $140_1; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + } + $1143(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 48 | 0; + return; + } + + function $1264($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $71_1 = 0, $100_1 = 0, $108_1 = 0, $133_1 = 0, $134_1 = 0, $135_1 = 0, $137_1 = 0, $138_1 = 0, $139_1 = 0, $140_1 = 0, $146_1 = 0, $160_1 = 0, $161_1 = 0, $163_1 = 0, $164_1 = 0, $165_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 128 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 112 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 108 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 124 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 96 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1323(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, $7_1 | 0, (HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((0 | 0) != ($1486(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if (!((0 | 0) != ($1491(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $350(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 84 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$5 : { + if (!($1283(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, 26 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { + break label$5 + } + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1224(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if ((HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + break label$1; + } + HEAP32[($6_1 + 100 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + $71_1 = 16; + if (!((HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $71_1 | 0) >> $71_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + if (!((0 | 0) == ($88(HEAP32[((HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 100 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + break label$7; + } + HEAP32[($6_1 + 100 | 0) >> 2] = (HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + $100_1 = 16; + label$10 : { + if (!((HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $100_1 | 0) >> $100_1 | 0 | 0) & 1 | 0)) { + break label$10 + } + $108_1 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + $349($108_1 | 0, 1870 | 0, $6_1 | 0); + break label$1; + } + $1295(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1224(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if ((HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$11 + } + break label$1; + } + HEAP32[($6_1 + 80 | 0) >> 2] = ((HEAPU8[(((HEAPU8[(HEAP32[(HEAP32[($6_1 + 112 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 128 | 0; + $133_1 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + $134_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + $135_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + $137_1 = HEAP32[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + $138_1 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $139_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $140_1 = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + $146_1 = (HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $146_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $140_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $139_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $138_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $137_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $135_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $134_1; + $1302($133_1 | 0, 38201 | 0, $6_1 + 16 | 0 | 0); + $160_1 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + $161_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + $163_1 = HEAP32[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + $164_1 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $165_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $165_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $164_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $163_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $161_1; + $1302($160_1 | 0, 38419 | 0, $6_1 + 48 | 0 | 0); + $1487(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0); + $1488(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 | 0); + } + $1143(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0); + $13(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0); + $13(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0); + global$0 = $6_1 + 128 | 0; + return; + } + + function $1265($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $104_1 = 0, $107_1 = 0, $54_1 = 0, $64_1 = 0, $71_1 = 0, $73_1 = 0, $75_1 = 0, $76_1 = 0, $90_1 = 0, $92_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $1492(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 248 | 0) >> 2] = 0; + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if (((HEAPU8[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$4 + } + $1295(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0); + label$5 : { + if (!((HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 188 | 0) >> 2] = ((HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 184 | 0) >> 2] | 0) | 0) + (HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + } + $54_1 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 184 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $351($54_1 | 0, 38597 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $350(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + $64_1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + $71_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 84 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $73_1 = HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0; + $75_1 = HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0; + $76_1 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $76_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $75_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $73_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $71_1; + $1302($64_1 | 0, 38621 | 0, $4_1 + 16 | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + $1303(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0); + $1276(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, 159 | 0) | 0; + $90_1 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + $92_1 = HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $92_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $351($90_1 | 0, 38720 | 0, $4_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + $1304(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0); + $104_1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + $107_1 = (HEAP32[($104_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($104_1 + 44 | 0) >> 2] = $107_1; + HEAP32[($4_1 + 80 | 0) >> 2] = $107_1; + $1463(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, 164 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $474((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $118(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 232 | 0) >> 2] = 0; + } + global$0 = $4_1 + 112 | 0; + return; + } + + function $1266($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + $1192(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, $8_1 | 0, $8_1 | 0, 1 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $22_1 = 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $1156(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, $1224(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0); + $1156(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, $22_1 | 0); + $1156(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, $291(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0); + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 188 | 0) >> 2] = ((HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) - (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 184 | 0) >> 2] | 0) | 0; + if (!((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != ($22_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $350(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $1283(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[$7_1 >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $1267($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $1492(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 248 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 252 | 0) >> 2] = $4_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $1268($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 248 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = ((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) - (HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) | 0; + } + return; + } + + function $1269($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 7 | 0) >> 0] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 268 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 268 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + label$2 : { + if (!(((HEAPU8[($5_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 272 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + } + return; + } + + function $1270($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $125_1 = 0, $47_1 = 0, $129_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1224(HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if ($88(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + $47_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + $349($47_1 | 0, 38739 | 0, $7_1 | 0); + } + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + label$5 : { + label$6 : { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = ((HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0) << 4 | 0) + 24 | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $70(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $308(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 24 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + label$8 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + $382(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + $1139(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0); + $13(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + break label$7; + } + HEAP32[((((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[((((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[((((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] = 0; + $125_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[$125_1 >> 2] = (HEAP32[$125_1 >> 2] | 0) + 1 | 0; + } + $129_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $129_1 | 0; + } + + function $1271($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $28_1 = 0, $71_1 = 0, $66_1 = 0, $67_1 = 0, $75_1 = 0, $88_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1493(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $28_1 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $28_1; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != ($28_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 38769; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 38786; + break label$5; + } + label$7 : { + if ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0) { + break label$7 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 38802; + } + } + } + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $66_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $67_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $67_1; + $349($66_1 | 0, 38822 | 0, $5_1 | 0); + break label$8; + } + $71_1 = 0; + $75_1 = $1339(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $71_1 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $75_1; + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($71_1 | 0) & 1 | 0)) { + break label$10 + } + $88_1 = $1339(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = $88_1; + } + $13(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + } + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1272($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, $33_1 = 0, $41_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + $33_1 = $1130(HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $33_1; + } + break label$1; + } + $382(HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + $382(HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + } + $41_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $41_1 | 0; + } + + function $1273($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $10_1 = 0, i64toi32_i32$0 = 0, $85_1 = 0, $89_1 = 0, $99_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 48 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 20 | 0) >> 2] = $5_1; + HEAP8[($9_1 + 19 | 0) >> 0] = $6_1; + HEAP32[($9_1 + 12 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 8 | 0) >> 2] = $10_1; + label$1 : { + if (HEAP32[($9_1 + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($9_1 + 8 | 0) >> 2] = 1; + HEAP32[($9_1 + 36 | 0) >> 2] = 89; + } + label$2 : { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + if (!((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) == (85 | 0) & 1 | 0)) { + break label$6 + } + if ((HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0) == (88 | 0) & 1 | 0) { + break label$5 + } + } + if (!((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) == (86 | 0) & 1 | 0)) { + break label$4 + } + if ((HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0) == (88 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0) == (85 | 0) & 1 | 0)) { + break label$4 + } + } + $349(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, 38855 | 0, 0 | 0); + break label$3; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $308(HEAP32[(HEAP32[($9_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, 100 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$3; + } + HEAP8[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 17 | 0) >> 0] = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + label$8 : { + if ((HEAPU8[($9_1 + 19 | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + if (!(((HEAPU16[((HEAP32[(HEAP32[($9_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$8 + } + HEAP8[($9_1 + 19 | 0) >> 0] = 66; + } + HEAP8[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] = HEAPU8[($9_1 + 19 | 0) >> 0] | 0; + HEAP8[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 19 | 0) >> 0] = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + $85_1 = $1494(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = $85_1; + $89_1 = $1494(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = $89_1; + HEAP32[($9_1 + 44 | 0) >> 2] = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + break label$2; + } + $18(HEAP32[(HEAP32[($9_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0); + $18(HEAP32[(HEAP32[($9_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 44 | 0) >> 2] = 0; + } + $99_1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + global$0 = $9_1 + 48 | 0; + return $99_1 | 0; + } + + function $1274($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP16[($4_1 + 14 | 0) >> 1] = $0_1; + HEAP16[($4_1 + 12 | 0) >> 1] = $1_1; + $14_1 = 16; + HEAP32[($4_1 + 8 | 0) >> 2] = ((HEAPU16[(38896 + (((HEAPU16[($4_1 + 14 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0) << $14_1 | 0) >> $14_1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + ((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) & 65535 | 0) | 0; + return (HEAPU16[(20192 + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0; + } + + function $1275($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + if (((HEAPU16[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0) { + break label$3 + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 23 | 0) >> 0] = 1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $352(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $33_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $33_1 | 0; + } + + function $1276($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $367(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $5_1 | 0, $5_1 | 0, $5_1 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $1277($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $1495(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1278($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 32 | 0; + global$0 = $9_1; + HEAP32[($9_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 8 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 4 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $367(HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $357(HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[$9_1 >> 2] | 0 | 0, HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0); + $20_1 = HEAP32[$9_1 >> 2] | 0; + global$0 = $9_1 + 32 | 0; + return $20_1 | 0; + } + + function $1279($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + $1278(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, 162 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $1280($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $17_1 = 0; + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $1462(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, $17_1 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, 96 | 0); + $1463(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) - 1 | 0 | 0, HEAP32[(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $355(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 12 | 0, 26800 | 0, $17_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == ($17_1 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 64 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) - 1 | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 62 | 0) >> 1] = 16; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 88 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 112 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 124 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 148 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 144 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 208 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$4 : { + if (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] = 1; + } + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $1281($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1496(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2097152 | 0)) { + break label$4 + } + HEAP8[($5_1 + 15 | 0) >> 0] = 77; + break label$3; + } + HEAP8[($5_1 + 15 | 0) >> 0] = 78; + } + $366(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1282($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $6_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $9_1 = $367(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 11 | 0, $6_1 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $1283($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $62_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAPU8[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if (!((HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if (!((HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 332 | 0) >> 2] | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0, HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[$7_1 >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$6 + } + $349(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, 27301 | 0, 0 | 0); + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = 23; + break label$5; + } + label$7 : { + if (!(HEAP32[$7_1 >> 2] | 0)) { + break label$7 + } + if (!((HEAP32[$7_1 >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[$7_1 >> 2] = 1; + $1578(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[$7_1 >> 2] | 0; + } + $62_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $62_1 | 0; + } + + function $1284($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $43_1 = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$3 + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + $349(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 27507 | 0, 0 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1483(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + $43_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $349($43_1 | 0, 27524 | 0, $6_1 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = -1; + break label$1; + } + break label$2; + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 164 | 0) >> 0] | 0) & 255 | 0; + HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + $54_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $54_1 | 0; + } + + function $1285($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $15_1 = 0, $79_1 = 0, $84_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ($783(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$3 + } + $15_1 = 1; + if ((((HEAPU8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 166 | 0) >> 0] | 0) >>> $15_1 | 0) & $15_1 | 0) & 255 | 0) { + break label$3 + } + if (((HEAPU8[(0 + 68377 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if ($87(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + if ($87(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + if (!($87(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + } + $349(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 1352 | 0, 0 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + break label$4; + } + label$8 : { + label$9 : { + label$10 : { + if ((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$10 + } + if ((0 | 0) == ($89(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 27544 | 0, 7 | 0) | 0 | 0) & 1 | 0) { + break label$9 + } + } + if (!($1579(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + if (!($1290(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + } + $79_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $349($79_1 | 0, 27552 | 0, $6_1 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $84_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $84_1 | 0; + } + + function $1286($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$1; + } + $15_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + $1565($15_1 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1287($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0, $24_1 = 0, $28_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$1; + } + $16_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + HEAP32[$5_1 >> 2] = $16_1; + $1565(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + $24_1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[($24_1 + 80 | 0) >> 2] = HEAP32[($24_1 + 80 | 0) >> 2] | 0 | (1 << (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0) | 0; + $28_1 = HEAP32[$5_1 >> 2] | 0; + HEAP8[($28_1 + 20 | 0) >> 0] = (HEAPU8[($28_1 + 20 | 0) >> 0] | 0) & 255 | 0 | (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1288($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $10_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $10_1 = $367(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $6_1 | 0, $6_1 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $10_1 | 0; + } + + function $1289($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $7_1 = 1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $1393(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $7_1 | 0, 1 & 255 | 0 | 0, 8004 | 0); + $353(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 97 | 0, 0 | 0, $7_1 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 5 | 0) | 0; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = 1; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1290($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3238(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 95 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $16_1 = 0; + HEAP8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $361(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $16_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] = 95; + label$3 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == ($16_1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1485(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $38_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $38_1 | 0; + } + + function $1291($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $114_1 = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $72_1 = 0, $13_1 = 0, $22_1 = 0, $51_1 = 0, $64_1 = 0, $76_1 = 0, $81_1 = 0, $137_1 = 0, $155_1 = 0, $190_1 = 0, $26_1 = 0, $209_1 = 0, $27_1 = 0, $220_1 = 0, $28_1 = 0, $268_1 = 0, $29_1 = 0, $374_1 = 0, $378_1 = 0, $419_1 = 0, $187_1 = 0, $189_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $13_1 = 1; + label$1 : { + if ((((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 166 | 0) >> 0] | 0) >>> $13_1 | 0) & $13_1 | 0) & 255 | 0) { + break label$1 + } + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + $22_1 = 16; + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $22_1 | 0) >> $22_1 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[(((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 20) | 0) + 12 | 0) >> 0] = 2; + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $51_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($51_1 + 36 | 0) >> 2] = HEAP32[($51_1 + 36 | 0) >> 2] | 0 | 2048 | 0; + } + label$5 : { + if (!(HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 132 | 0) >> 2] | 0)) { + break label$5 + } + $1471(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 132 | 0) >> 2] | 0 | 0, 2 | 0); + } + $64_1 = 16; + label$6 : { + label$7 : { + label$8 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $64_1 | 0) >> $64_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$8 + } + $72_1 = 0; + $76_1 = $4_1 + 8 | 0; + $81_1 = 16; + $1324($76_1 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $81_1 | 0) >> $81_1 | 0, 20) | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1214(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, $72_1 | 0, $1218(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 59 | 0, $76_1 | 0, $72_1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == ($72_1 | 0) & 1 | 0)) { + break label$9 + } + break label$6; + } + label$10 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$10 + } + $1318(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 40 | 0 | 0); + } + $114_1 = 0; + HEAP8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 202 | 0) >> 0] | 0; + HEAP16[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 1] = 65535; + $1202(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, $114_1 | 0, $114_1 | 0, $114_1 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 50 | 0) >> 0] | 0) & 255 | 0 | 0, $114_1 | 0, $114_1 | 0, $114_1 | 0, $114_1 | 0, 2 & 255 | 0 | 0); + label$11 : { + label$12 : { + if ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + if (!(HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$11 + } + } + break label$6; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $416(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + break label$7; + } + $137_1 = 1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $416(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 32 | 0) >> 2] = $137_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $137_1; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$13 + } + label$15 : { + label$16 : { + if (!($1327(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$16 + } + $155_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP16[($155_1 + 52 | 0) >> 1] = (HEAPU16[($155_1 + 52 | 0) >> 1] | 0) + -1 | 0; + break label$15; + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP8[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0) >> 0] | 0; + $187_1 = HEAPU16[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $189_1 = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $190_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $190_1 + 1 | 0; + HEAP16[($189_1 + ($190_1 << 1 | 0) | 0) >> 1] = $187_1; + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + HEAP16[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 50 | 0) >> 1] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + } + $23_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + $26_1 = HEAPU8[($23_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($23_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 32 | 0; + HEAP8[($23_1 + 55 | 0) >> 0] = $26_1; + HEAP8[($23_1 + 56 | 0) >> 0] = $26_1 >>> 8 | 0; + $209_1 = 1; + label$17 : { + if ((((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 166 | 0) >> 0] | 0) >>> $209_1 | 0) & $209_1 | 0) & 255 | 0) { + break label$17 + } + $24_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + $27_1 = HEAPU8[($24_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($24_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 8 | 0; + HEAP8[($24_1 + 55 | 0) >> 0] = $27_1; + HEAP8[($24_1 + 56 | 0) >> 0] = $27_1 >>> 8 | 0; + } + $220_1 = HEAPU16[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0; + HEAP16[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 52 | 0) >> 1] = $220_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $220_1 & 65535 | 0; + label$18 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + if (!((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$18 + } + $1360(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, 11 & 255 | 0 | 0); + } + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + $28_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + label$21 : { + label$22 : { + if (!((((HEAPU8[($28_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($28_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$22 + } + break label$21; + } + $268_1 = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $268_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $268_1; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + label$25 : { + if ($1327(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0) { + break label$25 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$24; + }; + } + label$26 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$26 + } + HEAP16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 52 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0; + break label$21; + } + label$27 : { + if (!($1580(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0 | 0) | 0)) { + break label$27 + } + break label$6; + } + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + label$28 : { + label$29 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + label$30 : { + if ($1327(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0) { + break label$30 + } + HEAP16[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$31 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$31 + } + $25_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $29_1 = HEAPU8[($25_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($25_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 512 | 0; + HEAP8[($25_1 + 55 | 0) >> 0] = $29_1; + HEAP8[($25_1 + 56 | 0) >> 0] = $29_1 >>> 8 | 0; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$29; + }; + } + } + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$20; + }; + } + $374_1 = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $374_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $374_1; + label$32 : { + label$33 : while (1) { + $378_1 = 16; + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $378_1 | 0) >> $378_1 | 0 | 0) & 1 | 0)) { + break label$32 + } + label$34 : { + if ($1581(HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0) { + break label$34 + } + if (((HEAPU16[(((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$34 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$33; + }; + } + label$35 : { + if (!($1580(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 40 | 0) >> 2] | 0) | 0 | 0) | 0)) { + break label$35 + } + break label$6; + } + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + label$36 : { + label$37 : while (1) { + $419_1 = 16; + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $419_1 | 0) >> $419_1 | 0 | 0) & 1 | 0)) { + break label$36 + } + label$38 : { + if ($1581(HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0) { + break label$38 + } + if (((HEAPU16[(((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$38 + } + HEAP16[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 2261; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$37; + }; + } + $1328(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 64 | 0; + return; + } + + function $1292($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $77_1 = 0, $14_1 = 0, $59_1 = 0, $74_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 144 | 0; + global$0 = $7_1; + $14_1 = $7_1 + 8 | 0; + HEAP32[($7_1 + 136 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 132 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 128 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 124 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 120 | 0) >> 2] = $4_1; + i64toi32_i32$0 = 0; + $77_1 = 0; + i64toi32_i32$1 = $14_1; + HEAP32[i64toi32_i32$1 >> 2] = $77_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $77_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $14_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $77_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $14_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $77_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $3289($7_1 + 40 | 0 | 0, 0 | 0, 80 | 0) | 0; + label$1 : { + if (!((HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($7_1 + 40 | 0) >> 2] = 1; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 132 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 64 | 0) >> 2] = HEAP32[($7_1 + 132 | 0) >> 2] | 0; + HEAP32[($7_1 + 88 | 0) >> 2] = -1; + label$2 : { + if (!((HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[((HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 128 | 0) >> 2] = HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 262144 | 0; + } + } + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 136 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = $7_1 + 40 | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 65536 | 0; + $59_1 = $1404($7_1 + 8 | 0 | 0, HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = $59_1; + label$3 : { + label$4 : { + if (!$59_1) { + break label$4 + } + HEAP32[($7_1 + 140 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + break label$3; + } + label$5 : { + if (!((HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1437($7_1 + 8 | 0 | 0, HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($7_1 + 140 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + } + $74_1 = HEAP32[($7_1 + 140 | 0) >> 2] | 0; + global$0 = $7_1 + 144 | 0; + return $74_1 | 0; + } + + function $1293($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $34_1 = 0, i64toi32_i32$0 = 0, $49_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + $7_1 = 16; + HEAP32[$3_1 >> 2] = ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $7_1 | 0) >> $7_1 | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 14 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[$3_1 >> 2] = (HEAP32[$3_1 >> 2] | 0) + -1 | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 20 | 0; + continue label$2; + }; + } + $34_1 = 16; + label$3 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $34_1 | 0) >> $34_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + i64toi32_i32$0 = 0; + $49_1 = $937((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 1] = $49_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $1294($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $27_1 = 0, $36_1 = 0, $45_1 = 0, i64toi32_i32$0 = 0, $64_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP16[($3_1 + 14 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $27_1 = 16; + label$3 : { + label$4 : { + if (!((((HEAPU16[($3_1 + 14 | 0) >> 1] | 0) << $27_1 | 0) >> $27_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + $36_1 = 1; + break label$3; + } + $45_1 = 16; + $36_1 = (HEAPU8[(((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $45_1 | 0) >> $45_1 | 0, 20) | 0) + 14 | 0) >> 0] | 0) & 255 | 0; + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + $36_1 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + i64toi32_i32$0 = 0; + $64_1 = $937((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 1] = $64_1; + global$0 = $3_1 + 32 | 0; + return; + } + + function $1295($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$1; + } + $14_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = $14_1; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 21 | 0) >> 0] = 1; + return; + } + + function $1296($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0; + } + + function $1297($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $80$hi = 0, $81$hi = 0, $11_1 = 0, $83$hi = 0, $84$hi = 0, $59_1 = 0, $110_1 = 0, $119_1 = 0, $128_1 = 0, $141_1 = 0, $76_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 19 | 0) >> 0] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $110_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[$5_1 >> 2] = $110_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$1; + $10_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $10_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $80$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $81$hi = i64toi32_i32$0; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$3 = -5; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $119_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $10_1; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = $119_1; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$1; + $11_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $11_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $83$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $84$hi = i64toi32_i32$2; + i64toi32_i32$2 = $83$hi; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$2 = $83$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$3 = 64; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $128_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $11_1; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $128_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + $1341(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0); + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $141_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $141_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : while (1) { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$4; + }; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $308(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 80 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = 0; + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 46 | 0) >> 1] = 200; + $1582(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 42 | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + $59_1 = 24; + $1583(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, ((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) << $59_1 | 0) >> $59_1 | 0 | 0); + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] = 65535; + label$6 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + $11(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $76_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $76_1 | 0; + } + + function $1298($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0; + $5_1 = global$0 - 16 | 0; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $6_1; + return; + } + + function $1299($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $1288(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 66 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 19 | 0) >> 0] = 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $1300($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $15_1 = 0, $20_1 = 0, i64toi32_i32$1 = 0, $34_1 = 0, $38_1 = 0, $65_1 = 0, $74_1 = 0, $86_1 = 0, $92_1 = 0, i64toi32_i32$0 = 0, $63_1 = 0, $64_1 = 0, $73_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $296(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $20_1 = 16; + i64toi32_i32$1 = (((HEAPU16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $20_1 | 0) >> $20_1 | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $64($15_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != ($15_1 | 0) & 1 | 0) { + break label$3 + } + $118(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + break label$1; + } + $34_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $34_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $34_1; + label$4 : { + label$5 : while (1) { + $38_1 = 16; + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $38_1 | 0) >> $38_1 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (((HEAPU16[(((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$6 + } + $63_1 = HEAPU8[(((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 20) | 0) + 13 | 0) >> 0] | 0; + $64_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $65_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $65_1 + 1 | 0; + HEAP8[($64_1 + $65_1 | 0) >> 0] = $63_1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$7 : while (1) { + $73_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $74_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $74_1 + -1 | 0; + HEAP8[($73_1 + $74_1 | 0) >> 0] = 0; + $86_1 = 0; + label$8 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$8 + } + $92_1 = 24; + $86_1 = (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $92_1 | 0) >> $92_1 | 0 | 0) <= (65 | 0); + } + if ($86_1 & 1 | 0) { + continue label$7 + } + break label$7; + }; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($3303(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) & 1073741823 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$1 + } + label$9 : { + label$10 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$10 + } + $1278(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 90 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + break label$9; + } + $357(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1301($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $11_1 = 0, $50_1 = 0, $53_1 = 0, i64toi32_i32$1 = 0, $88_1 = 0, $97_1 = 0, $129_1 = 0, $23_1 = 0, $35_1 = 0, i64toi32_i32$0 = 0, $87_1 = 0, $120_1 = 0, $156_1 = 0, $159_1 = 0, $163_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + $11_1 = 16; + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $11_1 | 0) >> $11_1 | 0 | 0) & 1 | 0)) { + break label$1 + } + $23_1 = ($1584(HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) + 5 | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + $23_1 | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0; + continue label$2; + }; + } + $35_1 = $1584(HEAP32[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + $35_1 | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) < (50 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 32 | 0) >> 2] = 1352; + HEAP32[($4_1 + 28 | 0) >> 2] = 30108; + HEAP32[($4_1 + 24 | 0) >> 2] = 5213; + break label$3; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 30110; + HEAP32[($4_1 + 28 | 0) >> 2] = 30114; + HEAP32[($4_1 + 24 | 0) >> 2] = 30119; + } + $50_1 = 0; + $53_1 = 16; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (Math_imul(((HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $53_1 | 0) >> $53_1 | 0, 6) + 35 | 0) | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $64($50_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) == ($50_1 | 0) & 1 | 0)) { + break label$6 + } + $118(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + break label$5; + } + $81(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, 30122 | 0, 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $68(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $1585(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, $4_1 + 44 | 0 | 0, HEAP32[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0); + $87_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $88_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $88_1 + 1 | 0; + HEAP8[($87_1 + $88_1 | 0) >> 0] = 40; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + $97_1 = 16; + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $97_1 | 0) >> $97_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + $81((HEAP32[($4_1 + 40 | 0) >> 2] | 0) - (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $120_1 = $68((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + $120_1 | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $1585(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, $4_1 + 44 | 0 | 0, HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0); + $129_1 = 24; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(30144 + (((((HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $129_1 | 0) >> $129_1 | 0) - 65 | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $68(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $3288((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0; + continue label$8; + }; + } + $156_1 = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) - (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0; + $159_1 = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $81($156_1 | 0, $159_1 | 0, 1976 | 0, $4_1 | 0) | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + $163_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $163_1 | 0; + } + + function $1302($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $46_1 = 0, $48_1 = 0, $37_1 = 0, $41_1 = 0, $62_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 112 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 92 | 0) >> 2] = 0; + HEAP32[($5_1 + 88 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($5_1 + 100 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $119(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (((HEAPU8[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$4 + } + HEAP32[((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + 12 | 0) >> 2] = 18; + } + $37_1 = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + HEAP32[($37_1 + 36 | 0) >> 2] = (HEAP32[($37_1 + 36 | 0) >> 2] | 0) + 1 | 0; + break label$1; + } + $41_1 = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + HEAP8[($41_1 + 18 | 0) >> 0] = (HEAPU8[($41_1 + 18 | 0) >> 0] | 0) + 1 | 0; + $46_1 = 192; + $48_1 = 88; + $3288($5_1 | 0, (HEAP32[($5_1 + 108 | 0) >> 2] | 0) + $46_1 | 0 | 0, $48_1 | 0) | 0; + $3289((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + $46_1 | 0 | 0, 0 | 0, $48_1 | 0) | 0; + $415(HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0, $5_1 + 92 | 0 | 0) | 0; + $13(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0); + $13(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0); + $3288((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + $46_1 | 0 | 0, $5_1 | 0, $48_1 | 0) | 0; + $62_1 = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + HEAP8[($62_1 + 18 | 0) >> 0] = (HEAPU8[($62_1 + 18 | 0) >> 0] | 0) + -1 | 0; + } + global$0 = $5_1 + 112 | 0; + return; + } + + function $1303($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $367(HEAP32[$4_1 >> 2] | 0 | 0, 94 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0, (HEAP32[(HEAP32[(((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $1304($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $1278(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 142 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $6_1 | 0, $6_1 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, -7 | 0) | 0; + HEAP32[$5_1 >> 2] = $6_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) < (HEAP32[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $356(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0); + HEAP32[$5_1 >> 2] = (HEAP32[$5_1 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $1295(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1305($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $23_1 = 0, $38_1 = 0, $42_1 = 0, $56_1 = 0, $60_1 = 0, $70_1 = 0, $82_1 = 0, $68_1 = 0, $69_1 = 0, $80_1 = 0, $81_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP8[($3_1 + 11 | 0) >> 0] = HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0; + label$3 : { + if (((HEAPU8[(((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 128 | 0) { + break label$3 + } + break label$1; + } + $23_1 = 24; + label$4 : { + if (!((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0 | 0) == (91 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($3_1 + 11 | 0) >> 0] = 93; + } + HEAP32[($3_1 + 4 | 0) >> 2] = 1; + HEAP32[$3_1 >> 2] = 0; + label$5 : { + label$6 : while (1) { + $38_1 = 24; + $42_1 = 24; + label$7 : { + label$8 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $38_1 | 0) >> $38_1 | 0 | 0) == (((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0 | 0) & 1 | 0)) { + break label$8 + } + $56_1 = 24; + $60_1 = 24; + label$9 : { + label$10 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $56_1 | 0) >> $56_1 | 0 | 0) == (((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $60_1 | 0) >> $60_1 | 0 | 0) & 1 | 0)) { + break label$10 + } + $68_1 = HEAPU8[($3_1 + 11 | 0) >> 0] | 0; + $69_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $70_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[$3_1 >> 2] = $70_1 + 1 | 0; + HEAP8[($69_1 + $70_1 | 0) >> 0] = $68_1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$9; + } + break label$5; + } + break label$7; + } + $80_1 = HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0; + $81_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $82_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[$3_1 >> 2] = $82_1 + 1 | 0; + HEAP8[($81_1 + $82_1 | 0) >> 0] = $80_1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[$3_1 >> 2] | 0) | 0) >> 0] = 0; + } + return; + } + + function $1306($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($3_1 + 7 | 0) >> 0] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($3_1 + 15 | 0) >> 0] = 0; + break label$1; + } + label$3 : { + label$4 : while (1) { + if (!(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[($3_1 + 7 | 0) >> 0] = ((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0) + ((HEAPU8[(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP8[($3_1 + 15 | 0) >> 0] = HEAPU8[($3_1 + 7 | 0) >> 0] | 0; + } + return (HEAPU8[($3_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $1307($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $23_1 = 0, $68_1 = 0, $78_1 = 0, $90_1 = 0, $108_1 = 0, $126_1 = 0, $144_1 = 0, $173_1 = 0, $231_1 = 0, $233_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP8[($4_1 + 19 | 0) >> 0] = 67; + HEAP32[($4_1 + 12 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!(((HEAPU8[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $23_1 = 24; + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 8 | 0) + ((HEAPU8[(((((HEAPU8[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1667785074 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($4_1 + 19 | 0) >> 0] = 66; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1668050786 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[($4_1 + 19 | 0) >> 0] = 66; + break label$5; + } + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1952807028 | 0) & 1 | 0)) { + break label$8 + } + HEAP8[($4_1 + 19 | 0) >> 0] = 66; + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1651273570 | 0) & 1 | 0)) { + break label$10 + } + $68_1 = 24; + label$11 : { + if ((((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $68_1 | 0) >> $68_1 | 0 | 0) == (67 | 0) & 1 | 0) { + break label$11 + } + $78_1 = 24; + if (!((((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $78_1 | 0) >> $78_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$10 + } + } + HEAP8[($4_1 + 19 | 0) >> 0] = 65; + $90_1 = 24; + label$12 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $90_1 | 0) >> $90_1 | 0 | 0) == (40 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + break label$9; + } + label$13 : { + label$14 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1919246700 | 0) & 1 | 0)) { + break label$14 + } + $108_1 = 24; + if (!((((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $108_1 | 0) >> $108_1 | 0 | 0) == (67 | 0) & 1 | 0)) { + break label$14 + } + HEAP8[($4_1 + 19 | 0) >> 0] = 69; + break label$13; + } + label$15 : { + label$16 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1718382433 | 0) & 1 | 0)) { + break label$16 + } + $126_1 = 24; + if (!((((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $126_1 | 0) >> $126_1 | 0 | 0) == (67 | 0) & 1 | 0)) { + break label$16 + } + HEAP8[($4_1 + 19 | 0) >> 0] = 69; + break label$15; + } + label$17 : { + label$18 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1685026146 | 0) & 1 | 0)) { + break label$18 + } + $144_1 = 24; + if (!((((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $144_1 | 0) >> $144_1 | 0 | 0) == (67 | 0) & 1 | 0)) { + break label$18 + } + HEAP8[($4_1 + 19 | 0) >> 0] = 69; + break label$17; + } + label$19 : { + if (!(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 16777215 | 0 | 0) == (6909556 | 0) & 1 | 0)) { + break label$19 + } + HEAP8[($4_1 + 19 | 0) >> 0] = 68; + break label$1; + } + } + } + } + } + } + } + } + continue label$2; + }; + } + label$20 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + $173_1 = 24; + label$21 : { + if (!((((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $173_1 | 0) >> $173_1 | 0 | 0) < (67 | 0) & 1 | 0)) { + break label$21 + } + label$22 : { + label$23 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + label$24 : { + label$25 : while (1) { + if (!(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$24 + } + label$26 : { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$26 + } + $341(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0; + break label$24; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + break label$22; + } + HEAP32[($4_1 + 8 | 0) >> 2] = 16; + } + } + HEAP32[($4_1 + 8 | 0) >> 2] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) / (4 | 0) | 0) + 1 | 0; + label$27 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (255 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 255; + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 14 | 0) >> 0] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + $231_1 = 24; + $233_1 = ((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $231_1 | 0) >> $231_1 | 0; + global$0 = $4_1 + 32 | 0; + return $233_1 | 0; + } + + function $1308($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 11 | 0) >> 0] = $1_1; + $12_1 = $1445(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, ((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0) + 4 | 0 | 0, 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $12_1 | 0; + } + + function $1309($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $29_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $57_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : while (1) { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[$5_1 >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) - (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0; + label$3 : while (1) { + $29_1 = 0; + label$4 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + $29_1 = (((HEAPU8[(((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + ((HEAP32[$5_1 >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 | 0) != (0 | 0); + } + label$5 : { + if (!($29_1 & 1 | 0)) { + break label$5 + } + HEAP32[$5_1 >> 2] = (HEAP32[$5_1 >> 2] | 0) + -1 | 0; + continue label$3; + } + break label$3; + }; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $57_1 = $1130(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $57_1 | 0; + } + + function $1310($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $18_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = $1537(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + break label$1; + } + $18_1 = 0; + } + global$0 = $5_1 + 16 | 0; + return $18_1 | 0; + } + + function $1311($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $7_1 = 0, i64toi32_i32$0 = 0, $27_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $7_1 = $4_1 + 8 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP8[($4_1 + 39 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0; + i64toi32_i32$0 = 0; + $27_1 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $27_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $27_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $27_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 37; + HEAP32[($4_1 + 16 | 0) >> 2] = 36; + HEAP8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 204 | 0) >> 0] = 3; + $1547($7_1 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 204 | 0) >> 0] = HEAPU8[($4_1 + 39 | 0) >> 0] | 0; + global$0 = $4_1 + 48 | 0; + return; + } + + function $1312($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $20_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 120 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + $349($16_1 | 0, 30060 | 0, $4_1 | 0); + HEAP32[($4_1 + 20 | 0) >> 2] = 1; + } + $20_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $20_1 | 0; + } + + function $1313($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, $19_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $10_1 = 24; + $19_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($19_1 + 4 | 0) >> 2] = HEAP32[($19_1 + 4 | 0) >> 2] | 0 | ((((HEAPU8[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) == (34 | 0) & 1 | 0 ? 67108928 : 67108864) | 0; + $1305(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1314($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 29454 | 0) | 0) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 268435456; + break label$1; + } + label$3 : { + if ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 29459 | 0) | 0) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 536870912; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $13_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $13_1 | 0; + } + + function $1315($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP16[($5_1 + 16 | 0) >> 1] = (HEAPU16[($5_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + label$1 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$1 + } + $349(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 30395 | 0, 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1316($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $12_1 = ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4096 | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1317($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] = 59; + break label$1; + } + label$3 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$3 + } + if (!(((HEAPU8[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 0] = 59; + } + } + return; + } + + function $1318($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 276 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + return; + } + + function $1319($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $48_1 = 0, $44_1 = 0, $68_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((((HEAPU8[(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) + 13 | 0) >> 0] | 0) >>> 5 | 0) & 1 | 0) & 255 | 0)) { + break label$5 + } + HEAP8[($4_1 + 15 | 0) >> 0] = HEAPU8[((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0; + $44_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $48_1 = 1; + label$6 : { + if (!((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0)) { + break label$6 + } + $48_1 = ((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0); + } + HEAP32[$4_1 >> 2] = $48_1 & 1 | 0 ? 30475 : 30481; + $349($44_1 | 0, 30447 | 0, $4_1 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $68_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $68_1 | 0; + } + + function $1320($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $24_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1323(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $5_1 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $11(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + label$1 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + $24_1 = HEAP32[$4_1 >> 2] | 0; + HEAP32[($24_1 + 32 | 0) >> 2] = (HEAP32[($24_1 + 32 | 0) >> 2] | 0) + 1 | 0; + } + label$2 : { + if (!($1628(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + HEAP32[$4_1 >> 2] = 0; + } + $32_1 = HEAP32[$4_1 >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $32_1 | 0; + } + + function $1321($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0; + $7_1 = global$0 - 32 | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 0] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0; + return; + } + + function $1322($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $72_1 = 0, $55_1 = 0, $57_1 = 0, $59_1 = 0, $110_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $122(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 8 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if ((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != ($122(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + $55_1 = HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + $57_1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $59_1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $59_1; + HEAP32[$4_1 >> 2] = $57_1; + $349($55_1 | 0, 30927 | 0, $4_1 | 0); + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + $13(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $72_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP8[($72_1 + 37 | 0) >> 0] = HEAPU8[($72_1 + 37 | 0) >> 0] | 0 | 64 | 0; + } + label$7 : { + if (!($1337(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + label$8 : { + if (!($1474(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + label$9 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0)) { + break label$9 + } + if (!($1645(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 72 | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $110_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $110_1 | 0; + } + + function $1323($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $34_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + $34_1 = $348(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 32 | 0; + return $34_1 | 0; + } + + function $1324($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $8_1 = $68(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $8_1; + global$0 = $4_1 + 16 | 0; + return; + } + + function $1325($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $9_1 = 0, $21_1 = 0, $29_1 = 0, $36_1 = 0, i64toi32_i32$1 = 0, $65_1 = 0, $79_1 = 0, $91_1 = 0, $103_1 = 0, i64toi32_i32$0 = 0, $113_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP16[($6_1 + 26 | 0) >> 1] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + $9_1 = 16; + $21_1 = 16; + $29_1 = 16; + $36_1 = 16; + HEAP32[($6_1 + 8 | 0) >> 2] = (((((((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $9_1 | 0) >> $9_1 | 0) << 2 | 0) + 7 | 0) & -8 | 0) + 72 | 0) + (((((((((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $21_1 | 0) >> $21_1 | 0) + 1 | 0) << 1 | 0) + ((((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $29_1 | 0) >> $29_1 | 0) << 1 | 0) | 0) + ((((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $36_1 | 0) >> $36_1 | 0) << 0 | 0) | 0) + 7 | 0) & -8 | 0) | 0; + i64toi32_i32$1 = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 72 | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $65_1 = 16; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + ((((((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $65_1 | 0) >> $65_1 | 0) << 2 | 0) + 7 | 0) & -8 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $79_1 = 16; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + (((((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $79_1 | 0) >> $79_1 | 0) + 1 | 0) << 1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $91_1 = 16; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + ((((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $91_1 | 0) >> $91_1 | 0) << 1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 1] = HEAPU16[($6_1 + 26 | 0) >> 1] | 0; + $103_1 = 16; + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 50 | 0) >> 1] = (((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $103_1 | 0) >> $103_1 | 0) - 1 | 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0; + } + $113_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $113_1 | 0; + } + + function $1326($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[($4_1 + 19 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0; + HEAP8[($4_1 + 18 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $498(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 18 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (((HEAPU8[($4_1 + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1174(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $51_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $51_1 | 0; + } + + function $1327($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $15_1 = 0, $32_1 = 0, $61_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + $15_1 = 16; + HEAP32[($6_1 + 4 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $15_1 | 0) >> $15_1 | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $32_1 = 16; + label$4 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $32_1 | 0) >> $32_1 | 0 | 0) == (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + if ($88(HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $61_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $61_1 | 0; + } + + function $1328($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $27_1 = 0, $61$hi = 0, $62$hi = 0, $16_1 = 0, $63$hi = 0, $66$hi = 0, $67$hi = 0, $184$hi = 0, $188_1 = 0, $204_1 = 0; + $3_1 = global$0 - 32 | 0; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = ((HEAPU16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + $27_1 = 16; + HEAP32[($3_1 + 4 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $27_1 | 0) >> $27_1 | 0; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + if (((HEAPU16[(((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 4 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$3 + } + label$4 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (63 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $61$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $62$hi = i64toi32_i32$0; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$3 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $16_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $16_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $63$hi = i64toi32_i32$1; + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $184$hi = i64toi32_i32$2; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$2 = $184$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$3 = $16_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $188_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $188_1; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$1; + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + }; + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $66$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $67$hi = i64toi32_i32$0; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0; + $204_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] = $204_1; + HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] = i64toi32_i32$1; + return; + } + + function $1329($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $27_1 = 0, $41_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP16[($4_1 + 6 | 0) >> 1] = $1_1; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = 16; + $27_1 = 16; + label$4 : { + if (!((((HEAPU16[($4_1 + 6 | 0) >> 1] | 0) << $17_1 | 0) >> $17_1 | 0 | 0) == (((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $27_1 | 0) >> $27_1 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP16[($4_1 + 14 | 0) >> 1] = HEAP32[$4_1 >> 2] | 0; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP16[($4_1 + 14 | 0) >> 1] = 65535; + } + $41_1 = 16; + return ((HEAPU16[($4_1 + 14 | 0) >> 1] | 0) << $41_1 | 0) >> $41_1 | 0 | 0; + } + + function $1330($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $63_1 = 0, $125_1 = 0, $191_1 = 0, $10_1 = 0, $11_1 = 0, $14_1 = 0, $15_1 = 0, $76_1 = 0, $77_1 = 0, $13_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $10_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + $11_1 = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + HEAP32[($10_1 + 40 | 0) >> 2] = $11_1 + 1 | 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $11_1; + $14_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + $15_1 = HEAP32[($14_1 + 40 | 0) >> 2] | 0; + HEAP32[($14_1 + 40 | 0) >> 2] = $15_1 + 1 | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = $15_1; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $350(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!($1283(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, 27 | 0, HEAP32[(HEAP32[($5_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + break label$1; + } + $1393(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, HEAP32[(HEAP32[($5_1 + 64 | 0) >> 2] | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + break label$4; + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + } + $63_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1394(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $76_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + $77_1 = HEAP32[($76_1 + 40 | 0) >> 2] | 0; + HEAP32[($76_1 + 40 | 0) >> 2] = $77_1 + 1 | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = $77_1; + $1278(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 111 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, $63_1 | 0, (HEAPU16[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0, $1386(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, -9 | 0) | 0; + $1462(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, 96 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $63_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $1407(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + $1469(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $63_1 | 0, $5_1 + 36 | 0 | 0, $63_1 | 0, $63_1 | 0) | 0; + $366(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 132 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $1470(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $1277(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + label$6 : { + if (!((HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) < ($63_1 | 0) & 1 | 0)) { + break label$6 + } + $366(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 138 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + $125_1 = 0; + $1278(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 97 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, -9 | 0) | 0; + $354(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, (((HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) >= ($125_1 | 0) & 1 | 0 ? 16 : $125_1) | 1 | 0) & 65535 | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 35 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, $125_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!((HEAPU8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1282(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1296(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $353(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 125 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + $1646(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + break label$7; + } + $1295(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1296(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + $367(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 126 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0; + $13_1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + label$9 : { + if ((((HEAPU8[($13_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($13_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 9 | 0) & 1 | 0) & 65535 | 0) { + break label$9 + } + $1288(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 130 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0; + } + $191_1 = 116; + $366(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 16 & 65535 | 0 | 0); + $1383(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 3 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, $191_1 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0; + $1288(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, $191_1 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0; + $1288(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, $191_1 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $5_1 + 80 | 0; + return; + } + + function $1331($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((0 | 0) == ($88(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + } + $1286(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1332($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0, $15_1 = 0, $27_1 = 0, $39_1 = 0, $52_1 = 0, $63_1 = 0, $77_1 = 0, $87_1 = 0, $131_1 = 0, $146_1 = 0, $166_1 = 0, $173_1 = 0, $187_1 = 0, $47_1 = 0, $209_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + $8_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1634(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $15_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($15_1 + 56 | 0) >> 2] = (HEAP32[($15_1 + 56 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (!(HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $27_1 = 16; + label$4 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $27_1 | 0) >> $27_1 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $39_1 = 16; + label$5 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $39_1 | 0) >> $39_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + $47_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + $349($47_1 | 0, 29500 | 0, $4_1 | 0); + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + $52_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1338(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $52_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != ($52_1 | 0) & 1 | 0)) { + break label$7 + } + $63_1 = 0; + HEAP8[($4_1 + 7 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0; + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 204 | 0) >> 0] = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $1624(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] = 65535; + $77_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($77_1 + 272 | 0) >> 2] = (HEAP32[($77_1 + 272 | 0) >> 2] | 0) + 1 | 0; + HEAP16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 276 | 0) >> 1] = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 328 | 0) >> 2] = $63_1; + $87_1 = 24; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1297(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, (64 << $87_1 | 0) >> $87_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 328 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == ($63_1 | 0) & 1 | 0)) { + break label$9 + } + HEAP16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + break label$8; + } + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $1582(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0 | 0, (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + label$12 : { + if ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + if (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$12 + } + $131_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $131_1 | 0) >> $131_1 | 0 | 0) == (HEAP32[(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $146_1 = 24; + $1583(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, (64 << $146_1 | 0) >> $146_1 | 0 | 0); + } + break label$10; + } + HEAP16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 42 | 0) >> 1] = 0; + HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + } + } + HEAP16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 44 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + $11(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0); + $1139(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + $166_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($166_1 + 272 | 0) >> 2] = (HEAP32[($166_1 + 272 | 0) >> 2] | 0) + -1 | 0; + label$13 : { + label$14 : { + if (!(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 272 | 0) >> 2] | 0)) { + break label$14 + } + $173_1 = 0; + break label$13; + } + $173_1 = (HEAPU16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 278 | 0) >> 1] | 0) & 65535 | 0; + } + HEAP16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 276 | 0) >> 1] = $173_1; + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 204 | 0) >> 0] = HEAPU8[($4_1 + 7 | 0) >> 0] | 0; + break label$6; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + } + $187_1 = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP16[($187_1 + 78 | 0) >> 1] = (HEAPU16[($187_1 + 78 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0; + label$15 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$15 + } + $1169(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] = 0; + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + } + $209_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $209_1 | 0; + } + + function $1333($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $35_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ($89(HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, 27544 | 0, 7 | 0) | 0) { + break label$2 + } + label$3 : { + if ($89((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 7 | 0 | 0, 3941 | 0, 4 | 0) | 0) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if ($89((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 7 | 0 | 0, 28289 | 0, 10 | 0) | 0) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 4096 | 0)) { + break label$5 + } + if (!($1579(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $35_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $35_1 | 0; + } + + function $1334($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $47_1 = 0, $48_1 = 0, $49_1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 72 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = 1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) <= (4 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $81(24 | 0, $6_1 + 32 | 0 | 0, 31397 | 0, $6_1 + 16 | 0 | 0) | 0; + label$3 : { + if (!(($361(HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $47_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + $48_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $49_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $49_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $6_1 + 32 | 0; + HEAP32[$6_1 >> 2] = $48_1; + $1302($47_1 | 0, 31411 | 0, $6_1 | 0); + } + HEAP32[($6_1 + 60 | 0) >> 2] = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $6_1 + 80 | 0; + return; + } + + function $1335($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $57_1 = 0, $91$hi = 0, $97$hi = 0, $103$hi = 0, $92$hi = 0, $93$hi = 0, $95$hi = 0, $14_1 = 0, $98$hi = 0, $99$hi = 0, $101$hi = 0, $104$hi = 0, $105$hi = 0, $107$hi = 0, $71_1 = 0, $81_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + $91$hi = i64toi32_i32$0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $92$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $93$hi = i64toi32_i32$1; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$1 = $93$hi; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $93$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $95$hi = i64toi32_i32$0; + i64toi32_i32$0 = $91$hi; + i64toi32_i32$0 = $95$hi; + i64toi32_i32$0 = $91$hi; + i64toi32_i32$0 = $95$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $91$hi; + i64toi32_i32$3 = 0; + label$1 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$1 + } + if (HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$1 + } + $14_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $14_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!(($1650(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) == ($14_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + label$6 : { + if ((HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + i64toi32_i32$1 = 0; + $97$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $98$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $99$hi = i64toi32_i32$0; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$0 = $99$hi; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $99$hi; + i64toi32_i32$2 = 524288; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $101$hi = i64toi32_i32$1; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$1 = $101$hi; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$1 = $101$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $97$hi; + i64toi32_i32$2 = 0; + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$5 + } + } + break label$3; + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$4; + }; + } + label$7 : { + if ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 47 | 0, 1 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + i64toi32_i32$0 = 0; + $103$hi = i64toi32_i32$0; + $57_1 = 0; + HEAP8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 150 | 0) >> 0] = 1; + $1227(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $1476(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $57_1 | 0) | 0 | 0, $57_1 | 0, $57_1 | 0, $57_1 | 0); + HEAP8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 150 | 0) >> 0] = 0; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $104$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $105$hi = i64toi32_i32$1; + i64toi32_i32$1 = $104$hi; + i64toi32_i32$1 = $105$hi; + i64toi32_i32$1 = $104$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $105$hi; + i64toi32_i32$3 = 524288; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $107$hi = i64toi32_i32$0; + i64toi32_i32$0 = $103$hi; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$0 = $103$hi; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $103$hi; + i64toi32_i32$3 = 0; + label$8 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$8 + } + $71_1 = 0; + $366(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 47 | 0, $71_1 | 0, ($1296(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0) | 0; + $81_1 = 24; + $1522(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 787 | 0, 2 | 0, $71_1 | 0, (255 << $81_1 | 0) >> $81_1 | 0 | 0, 4 & 255 | 0 | 0); + } + label$9 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$9 + } + $1369(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1336($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $64_1 = 0, $71_1 = 0, $42_1 = 0, $44_1 = 0, $50_1 = 0, $52_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1275(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $1287(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0); + label$1 : { + if (!(HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$1 + } + $1276(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 163 | 0) | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1651(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $1478(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + continue label$3; + }; + } + label$4 : { + if (!((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 8 | 0)) { + break label$4 + } + $42_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $44_1 = HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $44_1; + $1302($42_1 | 0, 31441 | 0, $6_1 + 16 | 0 | 0); + } + $50_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $52_1 = HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $52_1; + $1302($50_1 | 0, 31486 | 0, $6_1 | 0); + label$5 : { + if (HEAP32[($6_1 + 48 | 0) >> 2] | 0) { + break label$5 + } + if (HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$5 + } + $1652(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (!(HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$6 + } + $64_1 = 0; + $1278(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 165 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, $64_1 | 0, $64_1 | 0, HEAP32[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0, $64_1 | 0) | 0; + $1295(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0); + } + $71_1 = 0; + $1278(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 144 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, $71_1 | 0, $71_1 | 0, HEAP32[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0, $71_1 | 0) | 0; + $1303(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0); + $1653(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0); + global$0 = $6_1 + 64 | 0; + return; + } + + function $1337($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $83_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!($1645(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$5 : { + if (!($1322(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$6 : { + if (!($1474(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$7 : { + if (!($1645(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$8 : { + if (!($1474(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$9 : { + if (!($1645(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$10 : { + if (!($1474(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0)) { + break label$10 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[$4_1 >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + label$14 : { + if (!($1337(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$4_1 >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$14 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $83_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $83_1 | 0; + } + + function $1338($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $27_1 = 0, $9_1 = 0, $28_1 = 0, i64toi32_i32$0 = 0, $33_1 = 0, $39_1 = 0, $45_1 = 0, $51_1 = 0, $57_1 = 0, $63_1 = 0, $75_1 = 0, $92_1 = 0, $98_1 = 0, $123_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $9_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $9_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $9_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $5_1 + 16 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 76 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + $27_1 = 0; + $28_1 = -1; + $33_1 = $1339(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 28 | 0) >> 2] = $33_1; + $39_1 = $1476(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 32 | 0) >> 2] = $39_1; + $45_1 = $1310(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 36 | 0) >> 2] = $45_1; + $51_1 = $1339(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 40 | 0) >> 2] = $51_1; + $57_1 = $1310(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 44 | 0) >> 2] = $57_1; + $63_1 = $1339(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 48 | 0) >> 2] = $63_1; + HEAP8[(HEAP32[$5_1 >> 2] | 0) >> 0] = HEAPU8[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 0] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 52 | 0) >> 2] = $27_1; + $75_1 = $1310(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 60 | 0) >> 2] = $75_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] = $27_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = $27_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & -33 | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 20 | 0) >> 2] = $28_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] = $28_1; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 2 | 0) >> 1] = HEAPU16[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + $92_1 = $1571(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 64 | 0) >> 2] = $92_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 68 | 0) >> 2] = $27_1; + $98_1 = $1572(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 72 | 0) >> 2] = $98_1; + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != ($27_1 | 0) & 1 | 0)) { + break label$4 + } + if ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + $1573(HEAP32[$5_1 >> 2] | 0 | 0); + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[$5_1 >> 2] | 0) + 52 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$2; + }; + } + $123_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $123_1 | 0; + } + + function $1339($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, i64toi32_i32$1 = 0, $72_1 = 0, $80_1 = 0, $84_1 = 0, $100_1 = 0, $105_1 = 0, $111_1 = 0, $120_1 = 0, $15_1 = 0, i64toi32_i32$0 = 0, $52_1 = 0, $91_1 = 0, $144_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $15_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = $59(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365($15_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + $52_1 = $1310(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = $52_1; + label$6 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!(((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (175 | 0) & 1 | 0)) { + break label$6 + } + $72_1 = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $72_1; + if (!(($72_1 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $80_1 = 16; + label$7 : { + label$8 : { + if (((HEAPU16[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $80_1 | 0) >> $80_1 | 0) { + break label$8 + } + $84_1 = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = $84_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $84_1; + break label$7; + } + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + } + $91_1 = $291(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $91_1; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0; + $100_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP8[($100_1 + 9 | 0) >> 0] = (HEAPU8[($100_1 + 9 | 0) >> 0] | 0) & 252 | 0 | ((HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 3 | 0) | 0; + $105_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP8[($105_1 + 9 | 0) >> 0] = (HEAPU8[($105_1 + 9 | 0) >> 0] | 0) & 251 | 0; + $111_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP8[($111_1 + 9 | 0) >> 0] = (HEAPU8[($111_1 + 9 | 0) >> 0] | 0) & 223 | 0 | ((HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 32 | 0) | 0; + $120_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP8[($120_1 + 9 | 0) >> 0] = (HEAPU8[($120_1 + 9 | 0) >> 0] | 0) & -17 | 0 | ((HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 16 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0; + continue label$5; + }; + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + $144_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $144_1 | 0; + } + + function $1340($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $15_1 = 0, i64toi32_i32$0 = 0, $61_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $15_1 = $4_1 + 8 | 0; + i64toi32_i32$0 = 0; + $61_1 = 0; + i64toi32_i32$1 = $15_1; + HEAP32[i64toi32_i32$1 >> 2] = $61_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $61_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $15_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $61_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 37; + $1550($15_1 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (((HEAPU8[(((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 4 | 0) | 0) + 13 | 0) >> 0] | 0) & 3 | 0) & 255 | 0) { + break label$4 + } + $1318(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $4_1 + 48 | 0; + return; + } + + function $1341($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 128 | 0)) { + break label$3 + } + break label$1; + } + $1609(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + label$4 : { + label$5 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$5 + } + if (!((HEAPU8[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + } + break label$1; + } + $1593(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + label$6 : { + label$7 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$7 + } + if (!((HEAPU8[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$6 + } + } + break label$1; + } + $1610(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1342($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $228$hi = 0, $228_1 = 0, $229$hi = 0, $230$hi = 0, $232$hi = 0, $234$hi = 0, $235$hi = 0, $237$hi = 0, $54_1 = 0, $136_1 = 0, $149_1 = 0, $209_1 = 0, $169_1 = 0, $171_1 = 0, $201_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 96 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 203 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + label$5 : while (1) { + if (!((HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$5; + }; + } + i64toi32_i32$0 = 0; + $228_1 = 0; + $228$hi = i64toi32_i32$0; + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 16 | 0) >> 0] = 1; + i64toi32_i32$2 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $229$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $230$hi = i64toi32_i32$1; + i64toi32_i32$1 = $229$hi; + i64toi32_i32$1 = $230$hi; + i64toi32_i32$1 = $229$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $230$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $232$hi = i64toi32_i32$0; + i64toi32_i32$0 = $228$hi; + i64toi32_i32$0 = $232$hi; + i64toi32_i32$0 = $228$hi; + i64toi32_i32$0 = $232$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $228$hi; + i64toi32_i32$3 = $228_1; + HEAP32[($4_1 + 60 | 0) >> 2] = ((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $234$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $235$hi = i64toi32_i32$0; + i64toi32_i32$0 = $234$hi; + i64toi32_i32$0 = $235$hi; + i64toi32_i32$0 = $234$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $235$hi; + i64toi32_i32$2 = 64; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $237$hi = i64toi32_i32$1; + i64toi32_i32$1 = $228$hi; + i64toi32_i32$1 = $237$hi; + i64toi32_i32$1 = $228$hi; + i64toi32_i32$1 = $237$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $228$hi; + i64toi32_i32$2 = $228_1; + $54_1 = 1; + label$6 : { + if (((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != ($228$hi | 0) | 0) & 1 | 0) { + break label$6 + } + $54_1 = (HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0); + } + HEAP32[($4_1 + 56 | 0) >> 2] = $54_1 & 1 | 0; + $374(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 80 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!((HEAP32[((((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (((HEAPU8[(((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 4 | 0) | 0) + 13 | 0) >> 0] | 0) & 3 | 0) & 255 | 0) { + break label$10 + } + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + $375(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + break label$9; + } + label$11 : { + label$12 : { + if (!(HEAP32[($4_1 + 56 | 0) >> 2] | 0)) { + break label$12 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$12 + } + $136_1 = 16; + HEAP32[($4_1 + 40 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $136_1 | 0) >> $136_1 | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$13 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$13 + } + $149_1 = 16; + HEAP32[($4_1 + 40 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $149_1 | 0) >> $149_1 | 0; + } + label$14 : { + label$15 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 14175; + break label$14; + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 40 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + } + label$16 : { + label$17 : { + if (!(HEAP32[($4_1 + 60 | 0) >> 2] | 0)) { + break label$17 + } + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + $169_1 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + $171_1 = HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $171_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $351($169_1 | 0, 28578 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $375(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + break label$16; + } + $375(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + } + break label$11; + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$19 + } + $201_1 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 1 | 0; + $209_1 = $351($201_1 | 0, 29437 | 0, $4_1 + 16 | 0 | 0) | 0; + break label$18; + } + $209_1 = $291(HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($4_1 + 32 | 0) >> 2] = $209_1; + $375(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + } + HEAP32[($4_1 + 80 | 0) >> 2] = (HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + $1654(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 96 | 0; + return; + } + + function $1343($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $53_1 = 0, $276_1 = 0, i64toi32_i32$0 = 0, $25_1 = 0, $328_1 = 0, $377_1 = 0, $5_1 = 0, $54_1 = 0, $57_1 = 0, $64_1 = 0, $68_1 = 0, $126_1 = 0, $127_1 = 0, $128_1 = 0, $132_1 = 0, $156_1 = 0, $159_1 = 0, $204_1 = 0, $219_1 = 0, $247_1 = 0, $250_1 = 0, $252_1 = 0, $255_1 = 0, $303_1 = 0, $309_1 = 0, $316_1 = 0, $335_1 = 0, $286_1 = 0, $373_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 112 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1048576 | 0) { + break label$2 + } + $25_1 = 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 104 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 100 | 0) >> 2] = $25_1; + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 80 | 0) >> 2] = $25_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $25_1; + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $308(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, 80 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) == ($25_1 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $264(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, 7 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $53_1 = 0; + $54_1 = 1; + $57_1 = $4_1 + 32 | 0; + $1655($57_1 | 0, HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0); + $1549($57_1 | 0, HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 32 | 0) >> 2] = $53_1; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 36 | 0) >> 2] = $53_1; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 40 | 0) >> 2] = $53_1; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 44 | 0) >> 2] = $53_1; + $64_1 = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + HEAP32[($64_1 + 4 | 0) >> 2] = (HEAP32[($64_1 + 4 | 0) >> 2] | 0) & -9 | 0; + $68_1 = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + HEAP32[($68_1 + 4 | 0) >> 2] = HEAP32[($68_1 + 4 | 0) >> 2] | 0 | 1048576 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1656(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, $53_1 | 0, HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $54_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1656(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $54_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) != ($53_1 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] | 0 | 0) <= (HEAP32[(HEAP32[($4_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 80 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] | 0; + label$5 : { + if ($1356(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, -1 | 0) | 0) { + break label$5 + } + $382(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($4_1 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + } + $126_1 = $4_1 + 76 | 0; + $127_1 = HEAP32[($4_1 + 120 | 0) >> 2] | 0; + $128_1 = HEAP32[($127_1 + 40 | 0) >> 2] | 0; + HEAP32[($127_1 + 40 | 0) >> 2] = $128_1 + 1 | 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 2] = $128_1; + $132_1 = HEAP32[($4_1 + 120 | 0) >> 2] | 0; + HEAP32[($132_1 + 40 | 0) >> 2] = (HEAP32[($132_1 + 40 | 0) >> 2] | 0) + 3 | 0; + $1657(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, $126_1 | 0); + $1657(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, $126_1 | 0); + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $156_1 = HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + break label$6; + } + $156_1 = 0; + } + $159_1 = 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 76 | 0) >> 2] = $156_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1656(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $159_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1656(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $159_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1048576 | 0)) { + break label$11 + } + $1657(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, $4_1 + 76 | 0 | 0); + label$12 : { + label$13 : { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + $204_1 = HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + break label$12; + } + $204_1 = 0; + } + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 80 | 0) >> 2] = $204_1; + HEAP8[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 96 | 0) >> 0] = 1; + break label$10; + } + label$14 : { + label$15 : { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $219_1 = HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + break label$14; + } + $219_1 = 0; + } + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 80 | 0) >> 2] = $219_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1656(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + } + label$16 : { + if (!((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1310(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1214(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + } + $247_1 = HEAP32[($4_1 + 120 | 0) >> 2] | 0; + $250_1 = (HEAP32[($247_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($247_1 + 44 | 0) >> 2] = $250_1; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 52 | 0) >> 2] = $250_1; + $252_1 = HEAP32[($4_1 + 120 | 0) >> 2] | 0; + $255_1 = (HEAP32[($252_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($252_1 + 44 | 0) >> 2] = $255_1; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] = $255_1; + $366(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$9; + }; + } + label$17 : { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1214(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, 0 | 0, $1217(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, 152 | 0, 25721 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + } + $276_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1213(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, $276_1 | 0, $276_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + $286_1 = $1222(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, $276_1 | 0, $276_1 | 0, $276_1 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 32 | 0) >> 2] = $286_1; + label$18 : { + label$19 : { + if (!((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != ($276_1 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + $1624(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + $303_1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[($303_1 + 4 | 0) >> 2] = HEAP32[($303_1 + 4 | 0) >> 2] | 0 | 64 | 0; + $309_1 = 24; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1297(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0, (64 << $309_1 | 0) >> $309_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $316_1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[($316_1 + 4 | 0) >> 2] = HEAP32[($316_1 + 4 | 0) >> 2] | 0 | ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) & 8 | 0) | 0; + label$20 : { + label$21 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($4_1 + 112 | 0) >> 2] = 7; + break label$20; + } + $328_1 = $4_1 + 32 | 0; + $3288(HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 80 | 0) | 0; + $335_1 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + HEAP32[($335_1 + 36 | 0) >> 2] = HEAP32[($335_1 + 36 | 0) >> 2] | 0 | 2 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $377_1 = 0; + i64toi32_i32$1 = $328_1; + HEAP32[i64toi32_i32$1 >> 2] = $377_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $377_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $328_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $377_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 36 | 0) >> 2] = 40; + HEAP32[($4_1 + 40 | 0) >> 2] = 39; + HEAP32[($4_1 + 44 | 0) >> 2] = 38; + $1549($328_1 | 0, HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) | 0; + } + break label$18; + } + $1139(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0); + } + label$22 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($4_1 + 112 | 0) >> 2] = 7; + } + $13(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0); + } + label$23 : { + if (!(HEAP32[($4_1 + 112 | 0) >> 2] | 0)) { + break label$23 + } + label$24 : { + if (HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$24 + } + $264(HEAP32[(HEAP32[($4_1 + 120 | 0) >> 2] | 0) >> 2] | 0 | 0, 7 | 0) | 0; + } + } + HEAP32[($4_1 + 124 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + } + $373_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + global$0 = $4_1 + 128 | 0; + return $373_1 | 0; + } + + function $1344($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $48_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1527(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (51 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$3; + } + label$5 : { + label$6 : while (1) { + if (!(((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (!($1344(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$6; + }; + } + } + $48_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 41; + HEAP32[($4_1 + 16 | 0) >> 2] = $48_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $48_1; + HEAP16[($4_1 + 28 | 0) >> 1] = 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $1547($4_1 + 8 | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAPU16[($4_1 + 28 | 0) >> 1] | 0) & 65535 | 0; + } + $55_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $55_1 | 0; + } + + function $1345($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $25_1 = 0, $34_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$4 + } + $25_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 1] | 0) << $25_1 | 0) >> $25_1 | 0 | 0) == (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + } + $34_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($34_1 + 4 | 0) >> 2] = (HEAP32[($34_1 + 4 | 0) >> 2] | 0) & -2 | 0; + } + label$5 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (169 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $1345(HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + $1345(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1346($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $342_1 = 0, $400_1 = 0, $481_1 = 0, $326_1 = 0, $194_1 = 0, $402_1 = 0, $443_1 = 0, $451_1 = 0, $619_1 = 0, $675_1 = 0, $718_1 = 0, $651_1 = 0, $723_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 176 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 168 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 164 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 160 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 156 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 152 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 168 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0; + HEAP32[($6_1 + 124 | 0) >> 2] = -1; + HEAP32[($6_1 + 120 | 0) >> 2] = 0; + HEAP32[($6_1 + 104 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 168 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 136 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 108 | 0) >> 2] = ((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 160 | 0) >> 2] | 0, 72) | 0; + HEAP32[($6_1 + 128 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 144 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if ((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 132 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$7 : { + if (!((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$8 : { + if (HEAP32[(HEAP32[($6_1 + 132 | 0) >> 2] | 0) >> 2] | 0) { + break label$8 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$9 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$10 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if ((HEAP32[(HEAP32[($6_1 + 136 | 0) >> 2] | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0) { + break label$11 + } + if (!(HEAP32[($6_1 + 156 | 0) >> 2] | 0)) { + break label$10 + } + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$12 : { + if (!((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$13 : { + if (!(HEAP32[($6_1 + 156 | 0) >> 2] | 0)) { + break label$13 + } + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$14 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$15 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + if (!((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$16 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0)) { + break label$16 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$17 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 32 | 0)) { + break label$17 + } + $194_1 = 1; + HEAP32[($6_1 + 120 | 0) >> 2] = $194_1; + label$18 : { + label$19 : { + if ((HEAP32[(HEAP32[($6_1 + 132 | 0) >> 2] | 0) >> 2] | 0 | 0) > ($194_1 | 0) & 1 | 0) { + break label$19 + } + if (HEAP32[($6_1 + 156 | 0) >> 2] | 0) { + break label$19 + } + if (HEAP32[((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$19 + } + if (!((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$18 + } + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + } + label$20 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + label$21 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$22 : { + label$23 : { + if (HEAP32[($6_1 + 156 | 0) >> 2] | 0) { + break label$23 + } + if ((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0) { + break label$23 + } + if (!((HEAP32[(HEAP32[($6_1 + 136 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$22 + } + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[($6_1 + 144 | 0) >> 2] | 0; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + label$26 : { + label$27 : { + if ((HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 9 | 0) { + break label$27 + } + label$28 : { + if (!((HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + if (((HEAPU8[(HEAP32[($6_1 + 140 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (133 | 0) & 1 | 0) { + break label$27 + } + } + if ((HEAP32[(HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0) { + break label$27 + } + if (!((HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$25; + }; + } + label$29 : { + if (!((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($6_1 + 68 | 0) >> 2] = 0; + label$30 : { + label$31 : while (1) { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$30 + } + label$32 : { + if ((HEAPU16[((((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 68 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) { + break label$32 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$31; + }; + } + } + } + $326_1 = 0; + HEAP32[((HEAP32[($6_1 + 168 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1283(HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0, 21 | 0, $326_1 | 0, $326_1 | 0, $326_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 168 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[($6_1 + 152 | 0) >> 2] | 0; + HEAP32[($6_1 + 144 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + label$33 : { + label$34 : while (1) { + if (!((HEAP32[($6_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$33 + } + $342_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 48 | 0) >> 2] = $342_1; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 32 | 0) >> 2] = $342_1; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 52 | 0) >> 2] = $342_1; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 60 | 0) >> 2] = $342_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1338(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0, $342_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP8[(HEAP32[($6_1 + 164 | 0) >> 2] | 0) >> 0] = 133; + label$35 : { + label$36 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) == ($342_1 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + break label$35; + } + HEAP32[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + label$37 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($6_1 + 164 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + } + label$38 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$38 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 144 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$34; + }; + } + $400_1 = 0; + $402_1 = HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 140 | 0) >> 2] = $402_1; + HEAP32[($6_1 + 144 | 0) >> 2] = $402_1; + $13(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $13(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $13(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] = $400_1; + HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] = $400_1; + HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 12 | 0) >> 2] = $400_1; + HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 20 | 0) >> 2] = $400_1; + label$39 : { + if (!((HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != ($400_1 | 0) & 1 | 0)) { + break label$39 + } + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$40 : { + label$41 : { + if (!((HEAP32[((HEAP32[($6_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$41 + } + label$42 : { + label$43 : { + if (!((HEAP32[((HEAP32[($6_1 + 168 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$43 + } + $443_1 = HEAP32[((HEAP32[($6_1 + 168 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$42; + } + $443_1 = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 44 | 0) >> 2] = $443_1; + HEAP32[((HEAP32[($6_1 + 48 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 260 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + break label$40; + } + $451_1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + HEAP32[($451_1 + 32 | 0) >> 2] = (HEAP32[($451_1 + 32 | 0) >> 2] | 0) + -1 | 0; + } + HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + } + HEAP32[($6_1 + 148 | 0) >> 2] = HEAP32[($6_1 + 164 | 0) >> 2] | 0; + label$44 : { + label$45 : while (1) { + if (!((HEAP32[($6_1 + 148 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$44 + } + HEAP8[($6_1 + 39 | 0) >> 0] = 0; + HEAP32[($6_1 + 132 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 132 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 136 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$46 : { + label$47 : { + if (!((HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$47 + } + HEAP8[($6_1 + 39 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0; + break label$46; + } + $481_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1222(HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0, $481_1 | 0, $481_1 | 0, $481_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + label$48 : { + if (!((HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0) == ($481_1 | 0) & 1 | 0)) { + break label$48 + } + break label$44; + } + HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + } + label$49 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$49 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1397(HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 40 | 0) >> 2] | 0) - 1 | 0 | 0, (HEAP32[($6_1 + 160 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + label$50 : { + if (!((HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$50 + } + break label$44; + } + HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 116 | 0) >> 2] = 0; + label$51 : { + label$52 : while (1) { + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$51 + } + $19(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[($6_1 + 116 | 0) >> 2] | 0) + (HEAP32[($6_1 + 160 | 0) >> 2] | 0) | 0, 72) | 0) + 48 | 0) >> 2] | 0 | 0); + $3288(((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[($6_1 + 116 | 0) >> 2] | 0) + (HEAP32[($6_1 + 160 | 0) >> 2] | 0) | 0, 72) | 0 | 0, ((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 116 | 0) >> 2] | 0, 72) | 0 | 0, 72 | 0) | 0; + HEAP32[($6_1 + 124 | 0) >> 2] = HEAP32[((((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 116 | 0) >> 2] | 0, 72) | 0) + 40 | 0) >> 2] | 0; + $3289(((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 116 | 0) >> 2] | 0, 72) | 0 | 0, 0 | 0, 72 | 0) | 0; + HEAP32[($6_1 + 116 | 0) >> 2] = (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + 1 | 0; + continue label$52; + }; + } + HEAP8[((((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 160 | 0) >> 2] | 0, 72) | 0) + 36 | 0) >> 0] = HEAPU8[($6_1 + 39 | 0) >> 0] | 0; + label$53 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$53 + } + if ((HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4194304 | 0) { + break label$53 + } + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 116 | 0) >> 2] = 0; + label$54 : { + label$55 : while (1) { + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$54 + } + HEAP16[((((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 116 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 1] = 0; + HEAP32[($6_1 + 116 | 0) >> 2] = (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + 1 | 0; + continue label$55; + }; + } + HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + } + $619_1 = 0; + HEAP32[($6_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 36 | 0) >> 2] = $619_1; + label$56 : { + if (!((HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0) > ($619_1 | 0) & 1 | 0)) { + break label$56 + } + $1636(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0); + } + label$57 : { + if (!((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$57 + } + label$58 : { + label$59 : { + if (!((HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$59 + } + $651_1 = $1197(HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0, 44 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 36 | 0) >> 2] = $651_1; + break label$58; + } + HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + } + } + label$60 : { + if ((HEAPU8[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$60 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $1661($6_1 + 8 | 0 | 0, HEAP32[($6_1 + 148 | 0) >> 2] | 0 | 0, 0 | 0); + } + $675_1 = HEAP32[($6_1 + 148 | 0) >> 2] | 0; + HEAP32[($675_1 + 4 | 0) >> 2] = HEAP32[($675_1 + 4 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0) | 0; + label$61 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$61 + } + HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] = 0; + } + HEAP32[($6_1 + 116 | 0) >> 2] = 0; + label$62 : { + label$63 : while (1) { + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$62 + } + $1662(HEAP32[($6_1 + 148 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[($6_1 + 116 | 0) >> 2] | 0) + (HEAP32[($6_1 + 160 | 0) >> 2] | 0) | 0, 72) | 0 | 0); + HEAP32[($6_1 + 116 | 0) >> 2] = (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + 1 | 0; + continue label$63; + }; + } + HEAP32[($6_1 + 148 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($6_1 + 144 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$45; + }; + } + $718_1 = $6_1 + 72 | 0; + $1655($718_1 | 0, HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0); + $1549($718_1 | 0, HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) | 0; + $1139(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 172 | 0) >> 2] = 1; + } + $723_1 = HEAP32[($6_1 + 172 | 0) >> 2] | 0; + global$0 = $6_1 + 176 | 0; + return $723_1 | 0; + } + + function $1347($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $494_1 = 0, $6_1 = 0, $9_1 = 0, $376_1 = 0, $437_1 = 0, $14_1 = 0, $15_1 = 0, $19_1 = 0, $22_1 = 0, $137_1 = 0, $139_1 = 0, $203_1 = 0, $206_1 = 0, $234_1 = 0, $240_1 = 0, $269_1 = 0, $270_1 = 0, $279_1 = 0, $285_1 = 0, $304_1 = 0, $346_1 = 0, $349_1 = 0, $354_1 = 0, $410_1 = 0, $414_1 = 0, $415_1 = 0, $418_1 = 0, $419_1 = 0, $428_1 = 0, $471_1 = 0, $476_1 = 0, $493_1 = 0, $707_1 = 0, $727_1 = 0, $737_1 = 0, $43_1 = 0, $51_1 = 0, $209_1 = 0, $250_1 = 0, $310_1 = 0, $352_1 = 0, $449_1 = 0, $585_1 = 0, $663_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 256 | 0; + global$0 = $5_1; + $6_1 = 0; + $9_1 = $5_1 + 200 | 0; + HEAP32[($5_1 + 248 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 244 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 240 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 236 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 196 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 192 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 248 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 232 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $14_1 = HEAP32[($5_1 + 240 | 0) >> 2] | 0; + i64toi32_i32$2 = $14_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $707_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1; + HEAP32[i64toi32_i32$0 >> 2] = $707_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $15_1 = 24; + HEAP32[(i64toi32_i32$0 + $15_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $15_1 | 0) >> 2] | 0; + $19_1 = 16; + i64toi32_i32$2 = i64toi32_i32$2 + $19_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $727_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1 + $19_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $727_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $22_1 = 8; + i64toi32_i32$2 = $14_1 + $22_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $737_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1 + $22_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $737_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if ((HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + } + $43_1 = HEAP32[($5_1 + 248 | 0) >> 2] | 0; + $51_1 = (HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 31897 : 31984; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1616((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$5_1 >> 2] = $51_1; + $349($43_1 | 0, 31942 | 0, $5_1 | 0); + HEAP32[($5_1 + 236 | 0) >> 2] = 1; + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(((HEAPU8[($5_1 + 200 | 0) >> 0] | 0) & 255 | 0 | 0) == (12 | 0) & 1 | 0)) { + break label$5 + } + $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP8[($5_1 + 200 | 0) >> 0] = 14; + } + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1024 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1663(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, $5_1 + 200 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($5_1 + 236 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$7 + } + break label$2; + } + HEAP32[($5_1 + 236 | 0) >> 2] = 0; + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0)) { + break label$9 + } + if (!($1664(HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + $1665(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, $5_1 + 200 | 0 | 0); + break label$8; + } + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1666(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 240 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 252 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$11 : { + if (!((HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + $1352(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, 1 | 0, 31990 | 0, 0 | 0); + $1352(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, 1 | 0, 32005 | 0, 0 | 0); + } + $137_1 = (HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) + -132 | 0; + label$12 : { + label$13 : { + switch ($137_1 | 0) { + case 1: + $139_1 = 0; + HEAP32[($5_1 + 188 | 0) >> 2] = $139_1; + HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1210(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, $5_1 + 200 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] = $139_1; + label$16 : { + if (!(HEAP32[($5_1 + 236 | 0) >> 2] | 0)) { + break label$16 + } + break label$2; + } + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$17 : { + if (!(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$17 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1288(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$18 + } + $367(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 153 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + } + $1352(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, 1 | 0, 29932 | 0, 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1210(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, $5_1 + 200 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 196 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + $203_1 = 16; + $206_1 = 16; + $209_1 = $1667(((HEAPU16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $203_1 | 0) >> $203_1 | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $206_1 | 0) >> $206_1 | 0 | 0) | 0; + HEAP16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 2 | 0) >> 1] = $209_1; + label$19 : { + if (!((HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + if (!($1612(HEAP32[((HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 184 | 0 | 0) | 0)) { + break label$19 + } + if (!((HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$19 + } + $234_1 = 16; + i64toi32_i32$0 = HEAP32[($5_1 + 184 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $240_1 = 16; + if (!((((HEAPU16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $234_1 | 0) >> $234_1 | 0 | 0) > ((($937(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0) << $240_1 | 0) >> $240_1 | 0 | 0) & 1 | 0)) { + break label$19 + } + i64toi32_i32$0 = HEAP32[($5_1 + 184 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $250_1 = $937(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 2 | 0) >> 1] = $250_1; + } + label$20 : { + if (!(HEAP32[($5_1 + 188 | 0) >> 2] | 0)) { + break label$20 + } + $1277(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0); + } + break label$12; + case 0: + case 2: + HEAP8[($5_1 + 179 | 0) >> 0] = 0; + HEAP32[($5_1 + 172 | 0) >> 2] = 1; + label$21 : { + label$22 : { + if (!(((HEAPU8[($5_1 + 200 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($5_1 + 180 | 0) >> 2] = HEAP32[($5_1 + 204 | 0) >> 2] | 0; + break label$21; + } + $269_1 = HEAP32[($5_1 + 248 | 0) >> 2] | 0; + $270_1 = HEAP32[($269_1 + 40 | 0) >> 2] | 0; + HEAP32[($269_1 + 40 | 0) >> 2] = $270_1 + 1 | 0; + HEAP32[($5_1 + 180 | 0) >> 2] = $270_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $279_1 = $1632(HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($279_1 + 4 | 0) >> 2] = HEAP32[($279_1 + 4 | 0) >> 2] | 0 | 32 | 0; + } + $285_1 = $5_1 + 136 | 0; + $1298($285_1 | 0, HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1210(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, $285_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!(HEAP32[($5_1 + 236 | 0) >> 2] | 0)) { + break label$23 + } + break label$2; + } + label$24 : { + label$25 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (134 | 0) & 1 | 0)) { + break label$25 + } + HEAP8[($5_1 + 179 | 0) >> 0] = 2; + break label$24; + } + HEAP8[($5_1 + 179 | 0) >> 0] = 1; + } + $304_1 = 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] = $304_1; + HEAP32[($5_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] = $304_1; + HEAP8[($5_1 + 136 | 0) >> 0] = HEAPU8[($5_1 + 179 | 0) >> 0] | 0; + $310_1 = HEAP32[($5_1 + 248 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1616((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $1352($310_1 | 0, 1 | 0, 32024 | 0, $5_1 + 32 | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1210(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, $5_1 + 136 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 196 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + label$26 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (132 | 0) & 1 | 0)) { + break label$26 + } + $346_1 = 16; + $349_1 = 16; + $352_1 = $1667(((HEAPU16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $346_1 | 0) >> $346_1 | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $349_1 | 0) >> $349_1 | 0 | 0) | 0; + HEAP16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 2 | 0) >> 1] = $352_1; + } + $354_1 = 0; + $18(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 8 | 0) >> 2] = $354_1; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] = $354_1; + label$27 : { + if (!(((HEAPU8[($5_1 + 200 | 0) >> 0] | 0) & 255 | 0 | 0) != (HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + if ((HEAPU8[((HEAP32[($5_1 + 192 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$27 + } + $376_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + $1359(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1296(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + $1370(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, $376_1 | 0, $376_1 | 0, $5_1 + 200 | 0 | 0, HEAP32[($5_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 132 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 116 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, $376_1 | 0) | 0; + } + break label$12; + default: + break label$13; + }; + } + $410_1 = $5_1 + 64 | 0; + $414_1 = HEAP32[($5_1 + 248 | 0) >> 2] | 0; + $415_1 = HEAP32[($414_1 + 40 | 0) >> 2] | 0; + HEAP32[($414_1 + 40 | 0) >> 2] = $415_1 + 1 | 0; + HEAP32[($5_1 + 120 | 0) >> 2] = $415_1; + $418_1 = HEAP32[($5_1 + 248 | 0) >> 2] | 0; + $419_1 = HEAP32[($418_1 + 40 | 0) >> 2] | 0; + HEAP32[($418_1 + 40 | 0) >> 2] = $419_1 + 1 | 0; + HEAP32[($5_1 + 116 | 0) >> 2] = $419_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + $428_1 = $1632(HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($428_1 + 4 | 0) >> 2] = HEAP32[($428_1 + 4 | 0) >> 2] | 0 | 32 | 0; + $1298($410_1 | 0, 1 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1210(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, $410_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + label$28 : { + if (!(HEAP32[($5_1 + 236 | 0) >> 2] | 0)) { + break label$28 + } + break label$2; + } + $437_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0, $437_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] = $437_1; + HEAP32[($5_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] = $437_1; + HEAP32[($5_1 + 68 | 0) >> 2] = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $449_1 = HEAP32[($5_1 + 248 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1616((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $1352($449_1 | 0, 1 | 0, 32024 | 0, $5_1 + 16 | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1210(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, $5_1 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 196 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + $471_1 = 16; + $476_1 = 16; + label$29 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $471_1 | 0) >> $471_1 | 0 | 0) > (((HEAPU16[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $476_1 | 0) >> $476_1 | 0 | 0) & 1 | 0)) { + break label$29 + } + HEAP16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 2 | 0) >> 1] = HEAPU16[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + } + $18(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + label$30 : { + if (!(HEAP32[($5_1 + 236 | 0) >> 2] | 0)) { + break label$30 + } + break label$12; + } + $493_1 = 116; + $494_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + $1359(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 127 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + $353(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $494_1 | 0) | 0; + $1383(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + $1370(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $494_1 | 0, $494_1 | 0, $5_1 + 200 | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, $493_1 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0, $494_1 | 0) | 0; + $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, $493_1 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $494_1 | 0) | 0; + } + label$31 : { + if (!((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$31 + } + $1348(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0); + } + } + label$32 : { + if (!(HEAP32[((HEAP32[($5_1 + 248 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$32 + } + break label$2; + } + label$33 : { + if (!((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0)) { + break label$33 + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1497(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$34 : { + if ((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$34 + } + HEAP32[($5_1 + 236 | 0) >> 2] = 7; + break label$2; + } + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 20 | 0; + label$35 : { + label$36 : while (1) { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$35 + } + $585_1 = $1668(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] = $585_1; + label$37 : { + if (!((0 | 0) == (HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 192 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 56 | 0) >> 2] = (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0; + continue label$36; + }; + } + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[($5_1 + 244 | 0) >> 2] | 0; + label$38 : { + label$39 : while (1) { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$38 + } + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + label$40 : { + label$41 : while (1) { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$40 + } + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$42 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$42 + } + break label$40; + } + $1495(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + $357(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $1386(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0, -9 | 0); + HEAP32[(((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + HEAP32[($5_1 + 56 | 0) >> 2] = (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$41; + }; + } + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$39; + }; + } + $838(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0); + } + } + HEAP32[((HEAP32[($5_1 + 240 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 212 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 240 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 216 | 0) >> 2] | 0; + $1139(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 252 | 0) >> 2] = HEAP32[($5_1 + 236 | 0) >> 2] | 0; + } + $663_1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + global$0 = $5_1 + 256 | 0; + return $663_1 | 0; + } + + function $1348($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = $1669(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] = $5_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $1349($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $10_1 = 0, $16_1 = 0, i64toi32_i32$0 = 0, $43_1 = 0, $20_1 = 0, $40_1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + label$1 : while (1) { + $10_1 = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $10_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $10_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $10_1; + $1670($4_1 + 40 | 0 | 0, HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + label$2 : { + if (!(HEAP32[($4_1 + 44 | 0) >> 2] | 0)) { + break label$2 + } + $16_1 = $4_1 + 8 | 0; + $20_1 = 0; + i64toi32_i32$0 = 0; + $43_1 = 0; + i64toi32_i32$1 = $16_1; + HEAP32[i64toi32_i32$1 >> 2] = $43_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $43_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $43_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 43; + HEAP32[($4_1 + 16 | 0) >> 2] = 42; + HEAP32[($4_1 + 20 | 0) >> 2] = $20_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $20_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $4_1 + 40 | 0; + $1547($16_1 | 0, HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + $13(HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + (HEAP32[($4_1 + 48 | 0) >> 2] | 0) | 0; + } + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + continue label$1 + } + break label$1; + }; + $40_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $40_1 | 0; + } + + function $1350($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + $1672(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0); + $9_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $9_1 | 0; + } + + function $1351($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $83_1 = 0, $99_1 = 0, $125_1 = 0, $65_1 = 0, $147_1 = 0, $153_1 = 0, $158_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0)) { + break label$3 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$5; + }; + } + label$7 : { + if (!((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + label$8 : { + label$9 : while (1) { + if (!(((HEAPU8[(HEAP32[($7_1 + 48 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$8 + } + $65_1 = $1351(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + $65_1 | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$9; + }; + } + label$10 : { + if (!(HEAP32[($7_1 + 40 | 0) >> 2] | 0)) { + break label$10 + } + label$11 : { + if (!(((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $83_1 = 16; + if (!((((HEAPU16[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 1] | 0) << $83_1 | 0) >> $83_1 | 0 | 0) != (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + label$12 : { + if (!((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$12 + } + $99_1 = 16; + if (!((((HEAPU16[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 1] | 0) << $99_1 | 0) >> $99_1 | 0 | 0) != (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + label$13 : { + if (!($1673(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$13 + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + $125_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1310(HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, $125_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $1345(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, -1 | 0); + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = $125_1; + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1674($7_1 + 8 | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + label$17 : { + if (!((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0)) { + break label$17 + } + $147_1 = $1240(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] = $147_1; + break label$16; + } + $153_1 = $1240(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] = $153_1; + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$15; + }; + } + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + } + $158_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $158_1 | 0; + } + + function $1352($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP8[($6_1 + 27 | 0) >> 0] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 203 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $119(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + $1278(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 175 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, -7 | 0) | 0; + label$2 : { + if (!(((HEAPU8[($6_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 216 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1353($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 19 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + return; + } + + function $1354($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $99_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + label$6 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 4 | 0) & 1 | 0) & 255 | 0)) { + break label$6 + } + break label$4; + } + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$4; + } + label$8 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$4; + } + label$9 : { + if (!($87(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + break label$4; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$10 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + break label$4; + } + label$11 : { + label$12 : { + if ($1529(0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, -1 | 0) | 0) { + break label$12 + } + if (!($1529(0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$11 + } + } + break label$4; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 72 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $99_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $99_1 | 0; + } + + function $1355($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $1467(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $6_1), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1356($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $101_1 = 0, $107_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$5 : { + if (!((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[(((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$8 : { + if (!(((HEAPU8[((((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + $101_1 = $1529(0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $101_1; + label$9 : { + if (!$101_1) { + break label$9 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $107_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $107_1 | 0; + } + + function $1357($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $44_1 = 0, $68_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1497(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 28 | 0) >> 2] | 0) - (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 36 | 0) >> 2] | 0) << 4 | 0) | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $44_1 = $1675(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) + (((HEAP32[($6_1 + 12 | 0) >> 2] | 0) - (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = $44_1; + HEAP8[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) - (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0) | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0; + continue label$3; + }; + } + } + $68_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $68_1 | 0; + } + + function $1358($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $7_1 = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $7_1; + return $7_1 | 0; + } + + function $1359($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, $24_1 = 0, i64toi32_i32$0 = 0, $93_1 = 0, $6_1 = 0, $21_1 = 0, $47_1 = 0, $53_1 = 0, $65_1 = 0, $90_1 = 0, $95_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $21_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $24_1 = (HEAP32[($21_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($21_1 + 44 | 0) >> 2] = $24_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $24_1; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $24_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!($1612(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 4 | 0 | 0) | 0)) { + break label$4 + } + $366(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 69 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + label$5 : { + label$6 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$6 + } + $1282(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + break label$5; + } + label$7 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$7 + } + $47_1 = 16; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $53_1 = 16; + if (!((((HEAPU16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $47_1 | 0) >> $47_1 | 0 | 0) > ((($937(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) << $53_1 | 0) >> $53_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $63_1 = $937(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 2 | 0) >> 1] = $63_1; + $65_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($65_1 + 4 | 0) >> 2] = HEAP32[($65_1 + 4 | 0) >> 2] | 0 | 16384 | 0; + } + } + break label$3; + } + $1281(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 15 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + } + label$8 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $90_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $93_1 = (HEAP32[($90_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($90_1 + 44 | 0) >> 2] = $93_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $93_1; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = $93_1; + $95_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($95_1 + 44 | 0) >> 2] = (HEAP32[($95_1 + 44 | 0) >> 2] | 0) + 1 | 0; + $1281(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 15 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 153 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1360($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 7 | 0) >> 0] = $2_1; + $6_1 = HEAPU8[($5_1 + 7 | 0) >> 0] | 0; + (wasm2js_i32$0 = $1467(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $6_1), HEAP8[wasm2js_i32$0 >> 0] = wasm2js_i32$1; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1361($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $146_1 = 0, $60_1 = 0, $75_1 = 0, $78_1 = 0, $93_1 = 0, $96_1 = 0, $99_1 = 0, $101_1 = 0, $104_1 = 0, $106_1 = 0, $107_1 = 0, $153_1 = 0, $154_1 = 0, $163_1 = 0, $178_1 = 0, $226_1 = 0, $227_1 = 0, $231_1 = 0, $257_1 = 0, $258_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $6_1 = 98; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $6_1 | 0, (HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $6_1 | 0, (HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 2 | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $6_1 | 0, (HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 3 | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 68 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $60_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($60_1 + 44 | 0) >> 2] = (HEAP32[($60_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + $367(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) - 1 | 0 | 0) | 0; + } + $75_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $78_1 = (HEAP32[($75_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($75_1 + 44 | 0) >> 2] = $78_1; + HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 84 | 0) >> 2] = $78_1; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 69 | 0, 1 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) | 0; + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $93_1 = 69; + $96_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $99_1 = (HEAP32[($96_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($96_1 + 44 | 0) >> 2] = $99_1; + HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 88 | 0) >> 2] = $99_1; + $101_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $104_1 = (HEAP32[($101_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($101_1 + 44 | 0) >> 2] = $104_1; + HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 92 | 0) >> 2] = $104_1; + $106_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $107_1 = HEAP32[($106_1 + 40 | 0) >> 2] | 0; + HEAP32[($106_1 + 40 | 0) >> 2] = $107_1 + 1 | 0; + HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 60 | 0) >> 2] = $107_1; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $93_1 | 0, 1 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $93_1 | 0, 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 98 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + break label$2; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + label$4 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4096 | 0)) { + break label$6 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (90 | 0) & 1 | 0)) { + break label$6 + } + $146_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1357(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $146_1 | 0, $146_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $153_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $154_1 = HEAP32[($153_1 + 40 | 0) >> 2] | 0; + HEAP32[($153_1 + 40 | 0) >> 2] = $154_1 + 1 | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] = $154_1; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $163_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($163_1 + 44 | 0) >> 2] = (HEAP32[($163_1 + 44 | 0) >> 2] | 0) + 3 | 0; + label$7 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != ($146_1 | 0) & 1 | 0)) { + break label$7 + } + $178_1 = 24; + if (!((((HEAPU8[((HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $178_1 | 0) >> $178_1 | 0 | 0) == (105 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] = 1; + } + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + $1420(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, -9 | 0); + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + break label$5; + } + label$8 : { + label$9 : { + label$10 : { + if ((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (32240 | 0) & 1 | 0) { + break label$10 + } + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (32250 | 0) & 1 | 0)) { + break label$9 + } + } + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $226_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $227_1 = HEAP32[($226_1 + 40 | 0) >> 2] | 0; + HEAP32[($226_1 + 40 | 0) >> 2] = $227_1 + 1 | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] = $227_1; + $231_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($231_1 + 44 | 0) >> 2] = (HEAP32[($231_1 + 44 | 0) >> 2] | 0) + 2 | 0; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 98 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + break label$8; + } + label$11 : { + label$12 : { + if ((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (28807 | 0) & 1 | 0) { + break label$12 + } + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (28812 | 0) & 1 | 0)) { + break label$11 + } + } + $257_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $258_1 = HEAP32[($257_1 + 40 | 0) >> 2] | 0; + HEAP32[($257_1 + 40 | 0) >> 2] = $258_1 + 1 | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] = $258_1; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 98 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + } + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$4; + }; + } + global$0 = $4_1 + 48 | 0; + return; + } + + function $1362($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $1058_1 = 0, i64toi32_i32$4 = 0, $83_1 = 0, $84_1 = 0, $1056_1 = 0, $135_1 = 0, $1059$hi = 0, $1063$hi = 0, $1075$hi = 0, $1081$hi = 0, $1092$hi = 0, $1099$hi = 0, $13_1 = 0, $71_1 = 0, $107_1 = 0, $123_1 = 0, $196_1 = 0, $220_1 = 0, $1061$hi = 0, $277_1 = 0, $307_1 = 0, $334_1 = 0, $358_1 = 0, $363_1 = 0, $1064$hi = 0, $1065$hi = 0, $1067$hi = 0, $1072$hi = 0, $1076$hi = 0, $1077$hi = 0, $1079$hi = 0, $1082$hi = 0, $1083$hi = 0, $1085$hi = 0, $508_1 = 0, $1087$hi = 0, $1088$hi = 0, $1089$hi = 0, $1093$hi = 0, $1094$hi = 0, $1096$hi = 0, $543_1 = 0, $591_1 = 0, $603_1 = 0, $607_1 = 0, $726_1 = 0, $769_1 = 0, $1101$hi = 0, $1103$hi = 0, $1104$hi = 0, $85_1 = 0, $86_1 = 0, $855_1 = 0, $880_1 = 0, $881_1 = 0, $61_1 = 0, $2008_1 = 0, $1072_1 = 0, $2030$hi = 0, $2034_1 = 0, $1076_1 = 0, $2133_1 = 0, $1082_1 = 0, $2190_1 = 0, $1089_1 = 0, $2269$hi = 0, $2273_1 = 0, $1093_1 = 0, $2303_1 = 0, $2818_1 = 0, $948_1 = 0, $1015_1 = 0, $3361 = 0, $1037_1 = 0, $1053_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 224 | 0; + global$0 = $9_1; + $13_1 = $9_1 + 136 | 0; + HEAP32[($9_1 + 216 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 212 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 208 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 204 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 200 | 0) >> 2] = $4_1; + HEAP16[($9_1 + 198 | 0) >> 1] = $5_1; + HEAP32[($9_1 + 192 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 176 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 216 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP8[($9_1 + 111 | 0) >> 0] = 0; + HEAP32[($9_1 + 116 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 216 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $1056_1 = 0; + i64toi32_i32$1 = $13_1; + HEAP32[i64toi32_i32$1 >> 2] = $1056_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1056_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $13_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1056_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!((HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[(HEAP32[($9_1 + 204 | 0) >> 2] | 0) >> 2] | 0 | 0) >= (64 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($9_1 + 204 | 0) >> 2] = 0; + } + HEAP32[($9_1 + 144 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + label$2 : { + if (!(((HEAPU16[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$2 + } + HEAP16[($9_1 + 198 | 0) >> 1] = ((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & -257 | 0; + } + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[($9_1 + 212 | 0) >> 2] | 0) >> 2] | 0 | 0) > (64 | 0) & 1 | 0)) { + break label$4 + } + $61_1 = HEAP32[($9_1 + 216 | 0) >> 2] | 0; + HEAP32[$9_1 >> 2] = 64; + $349($61_1 | 0, 32262 | 0, $9_1 | 0); + HEAP32[($9_1 + 220 | 0) >> 2] = 0; + break label$3; + } + label$5 : { + label$6 : { + if (!(((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$6 + } + $71_1 = 1; + break label$5; + } + $71_1 = HEAP32[(HEAP32[($9_1 + 212 | 0) >> 2] | 0) >> 2] | 0; + } + HEAP32[($9_1 + 184 | 0) >> 2] = $71_1; + HEAP32[($9_1 + 188 | 0) >> 2] = ((Math_imul((HEAP32[($9_1 + 184 | 0) >> 2] | 0) - 1 | 0, 88) + 840 | 0) + 7 | 0) & -8 | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $365(HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 188 | 0) >> 2] | 0) + 72 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + $13(HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 180 | 0) >> 2] = 0; + break label$7; + } + $107_1 = -1; + HEAP32[(HEAP32[($9_1 + 180 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 216 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($9_1 + 212 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($9_1 + 208 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($9_1 + 200 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 24 | 0) >> 2] = $107_1; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 20 | 0) >> 2] = $107_1; + HEAP8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 44 | 0) >> 0] = HEAP32[($9_1 + 184 | 0) >> 2] | 0; + $123_1 = $1358(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 28 | 0) >> 2] = $123_1; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 32 | 0) >> 2] = $123_1; + HEAP16[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 40 | 0) >> 1] = HEAPU16[($9_1 + 198 | 0) >> 1] | 0; + HEAP16[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 42 | 0) >> 1] = HEAP32[($9_1 + 192 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 216 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0; + $135_1 = (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 45 | 0; + i64toi32_i32$0 = 0; + $1058_1 = 0; + i64toi32_i32$1 = $135_1; + HEAP8[i64toi32_i32$1 >> 0] = $1058_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $1058_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $1058_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $1058_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $83_1 = i64toi32_i32$1 + 31 | 0; + $84_1 = 0; + HEAP8[$83_1 >> 0] = $84_1; + HEAP8[($83_1 + 1 | 0) >> 0] = $84_1 >>> 8 | 0; + HEAP8[($83_1 + 2 | 0) >> 0] = $84_1 >>> 16 | 0; + HEAP8[($83_1 + 3 | 0) >> 0] = $84_1 >>> 24 | 0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP8[i64toi32_i32$1 >> 0] = $1058_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $1058_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $1058_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $1058_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + i64toi32_i32$1 = $135_1 + 16 | 0; + HEAP8[i64toi32_i32$1 >> 0] = $1058_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $1058_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $1058_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $1058_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + i64toi32_i32$1 = $135_1 + 8 | 0; + HEAP8[i64toi32_i32$1 >> 0] = $1058_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $1058_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $1058_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $1058_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $3289((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 752 | 0 | 0, 0 | 0, Math_imul(HEAP32[($9_1 + 184 | 0) >> 2] | 0, 88) + 72 | 0 | 0) | 0; + HEAP32[($9_1 + 132 | 0) >> 2] = (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 488 | 0; + HEAP32[($9_1 + 136 | 0) >> 2] = HEAP32[($9_1 + 180 | 0) >> 2] | 0; + HEAP32[($9_1 + 140 | 0) >> 2] = (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 80 | 0; + HEAP32[($9_1 + 148 | 0) >> 2] = (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + (HEAP32[($9_1 + 188 | 0) >> 2] | 0) | 0; + $1676(HEAP32[($9_1 + 148 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($9_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + $1677((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 80 | 0 | 0, HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0); + $1678((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 80 | 0 | 0, HEAP32[($9_1 + 208 | 0) >> 2] | 0 | 0, 44 & 255 | 0 | 0); + label$9 : { + label$10 : { + if (HEAP32[($9_1 + 184 | 0) >> 2] | 0) { + break label$10 + } + label$11 : { + if (!((HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 45 | 0) >> 0] = HEAP32[(HEAP32[($9_1 + 204 | 0) >> 2] | 0) >> 2] | 0; + } + label$12 : { + if (!(((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$12 + } + HEAP8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 47 | 0) >> 0] = 1; + } + $196_1 = 0; + $1352(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, $196_1 | 0, 32290 | 0, $196_1 | 0); + break label$9; + } + HEAP32[($9_1 + 120 | 0) >> 2] = 0; + label$13 : while (1) { + $1679(HEAP32[($9_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($9_1 + 120 | 0) >> 2] | 0, 72) | 0) + 40 | 0) >> 2] | 0 | 0); + $1680(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($9_1 + 120 | 0) >> 2] | 0, 72) | 0 | 0, (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 80 | 0 | 0); + $220_1 = (HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($9_1 + 120 | 0) >> 2] = $220_1; + if (($220_1 | 0) < (HEAP32[(HEAP32[($9_1 + 212 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$13 + } + break label$13; + }; + } + $1681(HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 80 | 0 | 0); + label$14 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + break label$7; + } + HEAP32[($9_1 + 120 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($9_1 + 104 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($9_1 + 120 | 0) >> 2] | 0, 48) | 0; + label$17 : { + label$18 : { + if (!(((HEAPU16[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$18 + } + break label$17; + } + i64toi32_i32$0 = 0; + $1059$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($9_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $1061$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1059$hi; + i64toi32_i32$1 = $1061$hi; + i64toi32_i32$1 = $1059$hi; + i64toi32_i32$1 = $1061$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $1059$hi; + i64toi32_i32$3 = 0; + label$19 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$19 + } + label$20 : { + if (!(HEAP32[($9_1 + 184 | 0) >> 2] | 0)) { + break label$20 + } + if (!($1682(HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0)) { + break label$19 + } + } + $1390(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, 16 | 0); + $277_1 = HEAP32[($9_1 + 104 | 0) >> 2] | 0; + HEAP16[($277_1 + 10 | 0) >> 1] = (HEAPU16[($277_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + } + } + HEAP32[($9_1 + 120 | 0) >> 2] = (HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + label$21 : { + if (!(((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$21 + } + label$22 : { + label$23 : { + if (!($1683(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 80 | 0 | 0, HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0) | 0)) { + break label$23 + } + HEAP8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 47 | 0) >> 0] = 1; + break label$22; + } + label$24 : { + if (!((HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$24 + } + $307_1 = HEAP32[($9_1 + 180 | 0) >> 2] | 0; + HEAP16[($307_1 + 40 | 0) >> 1] = (HEAPU16[($307_1 + 40 | 0) >> 1] | 0) & 65535 | 0 | 128 | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($9_1 + 200 | 0) >> 2] | 0; + } + } + } + label$25 : { + label$26 : { + if ((HEAP32[($9_1 + 184 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0) { + break label$26 + } + if ($1684($9_1 + 136 | 0 | 0) | 0) { + break label$25 + } + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1685($9_1 + 136 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$27 : { + if (!(HEAP32[($9_1 + 112 | 0) >> 2] | 0)) { + break label$27 + } + break label$7; + } + $334_1 = 16; + $1686(HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0, (0 << $334_1 | 0) >> $334_1 | 0 | 0) | 0; + label$28 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$28 + } + break label$7; + } + label$29 : { + if (!((HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$29 + } + $358_1 = 16; + $363_1 = 16; + $1686(HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0, (((((HEAPU16[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) << $358_1 | 0) >> $358_1 | 0) + 1 | 0) << $363_1 | 0) >> $363_1 | 0 | 0) | 0; + label$30 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$30 + } + break label$7; + } + } + } + label$31 : { + if (!((HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$31 + } + i64toi32_i32$2 = 0; + $1063$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($9_1 + 116 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $1064$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1065$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1064$hi; + i64toi32_i32$1 = $1065$hi; + i64toi32_i32$1 = $1064$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $1065$hi; + i64toi32_i32$0 = 4096; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $1067$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1063$hi; + i64toi32_i32$2 = $1067$hi; + i64toi32_i32$2 = $1063$hi; + i64toi32_i32$2 = $1067$hi; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + i64toi32_i32$3 = $1063$hi; + i64toi32_i32$0 = 0; + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$31 + } + i64toi32_i32$1 = -1; + i64toi32_i32$2 = HEAP32[($9_1 + 180 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$1; + } + label$32 : { + label$33 : { + if (HEAP32[((HEAP32[($9_1 + 216 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$33 + } + if (!((HEAPU8[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$32 + } + } + break label$7; + } + i64toi32_i32$1 = -1; + i64toi32_i32$2 = $9_1; + HEAP32[($9_1 + 168 | 0) >> 2] = -1; + HEAP32[($9_1 + 172 | 0) >> 2] = i64toi32_i32$1; + label$34 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$34 + } + if (!((HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$34 + } + if (((HEAPU16[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0) { + break label$34 + } + i64toi32_i32$1 = $1687(HEAP32[($9_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $2008_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $2008_1; + HEAP32[($9_1 + 92 | 0) >> 2] = i64toi32_i32$2; + label$35 : { + if (!((HEAP32[($9_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$35 + } + i64toi32_i32$2 = $1687(HEAP32[($9_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 144 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1072_1 = i64toi32_i32$2; + $1072$hi = i64toi32_i32$1; + i64toi32_i32$0 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + $2030$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1072$hi; + i64toi32_i32$2 = $2030$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $1072$hi; + i64toi32_i32$3 = $1072_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $2034_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $9_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $2034_1; + HEAP32[($9_1 + 92 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($9_1 + 100 | 0) >> 2] = ((HEAPU8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + label$36 : { + label$37 : while (1) { + if (!((HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0) >= (1 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[($9_1 + 124 | 0) >> 2] = HEAP32[((((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 752 | 0) + Math_imul(HEAP32[($9_1 + 100 | 0) >> 2] | 0, 88) | 0) + 72 | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = ((HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0, 72) | 0; + label$38 : { + label$39 : { + if (((HEAPU8[((HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0) { + break label$39 + } + break label$38; + } + label$40 : { + if (((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0) { + break label$40 + } + if ((HEAP32[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 4096 | 0) { + break label$40 + } + break label$38; + } + i64toi32_i32$1 = 0; + $1075$hi = i64toi32_i32$1; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + $1076_1 = i64toi32_i32$1; + $1076$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $1077$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1076$hi; + i64toi32_i32$1 = $1077$hi; + $2133_1 = i64toi32_i32$0; + i64toi32_i32$1 = $1076$hi; + i64toi32_i32$2 = $1076_1; + i64toi32_i32$0 = $1077$hi; + i64toi32_i32$3 = $2133_1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $1079$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1075$hi; + i64toi32_i32$0 = $1079$hi; + i64toi32_i32$0 = $1075$hi; + i64toi32_i32$0 = $1079$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $1075$hi; + i64toi32_i32$3 = 0; + label$41 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$41 + } + break label$38; + } + HEAP32[($9_1 + 80 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 48) | 0; + HEAP32[($9_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$42 : { + label$43 : while (1) { + if (!((HEAP32[($9_1 + 84 | 0) >> 2] | 0) >>> 0 < (HEAP32[($9_1 + 80 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$42 + } + i64toi32_i32$1 = 0; + $1081$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $1082_1 = i64toi32_i32$1; + $1082$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $1083$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1082$hi; + i64toi32_i32$1 = $1083$hi; + $2190_1 = i64toi32_i32$0; + i64toi32_i32$1 = $1082$hi; + i64toi32_i32$3 = $1082_1; + i64toi32_i32$0 = $1083$hi; + i64toi32_i32$2 = $2190_1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $1085$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1081$hi; + i64toi32_i32$0 = $1085$hi; + i64toi32_i32$0 = $1081$hi; + i64toi32_i32$0 = $1085$hi; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $1081$hi; + i64toi32_i32$2 = 0; + label$44 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$44 + } + label$45 : { + label$46 : { + if (!((HEAP32[((HEAP32[(HEAP32[($9_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$46 + } + $508_1 = 16; + if (!((((HEAPU16[((HEAP32[(HEAP32[($9_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 36 | 0) >> 1] | 0) << $508_1 | 0) >> $508_1 | 0 | 0) != (HEAP32[((HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$45 + } + } + break label$42; + } + } + HEAP32[($9_1 + 84 | 0) >> 2] = (HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 48 | 0; + continue label$43; + }; + } + label$47 : { + if (!((HEAP32[($9_1 + 84 | 0) >> 2] | 0) >>> 0 < (HEAP32[($9_1 + 80 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$47 + } + break label$38; + } + i64toi32_i32$2 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $1087$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $1088$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1087$hi; + i64toi32_i32$0 = $1088$hi; + i64toi32_i32$0 = $1087$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $1088$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0; + $1089_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + $1089$hi = i64toi32_i32$1; + i64toi32_i32$0 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 172 | 0) >> 2] | 0; + $2269$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1089$hi; + i64toi32_i32$2 = $2269$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $1089$hi; + i64toi32_i32$3 = $1089_1; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $2273_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $9_1; + HEAP32[($9_1 + 168 | 0) >> 2] = $2273_1; + HEAP32[($9_1 + 172 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($9_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$48 : { + label$49 : while (1) { + if (!((HEAP32[($9_1 + 84 | 0) >> 2] | 0) >>> 0 < (HEAP32[($9_1 + 80 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$48 + } + i64toi32_i32$1 = 0; + $1092$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $1093_1 = i64toi32_i32$1; + $1093$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $1094$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1093$hi; + i64toi32_i32$1 = $1094$hi; + $2303_1 = i64toi32_i32$0; + i64toi32_i32$1 = $1093$hi; + i64toi32_i32$2 = $1093_1; + i64toi32_i32$0 = $1094$hi; + i64toi32_i32$3 = $2303_1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $1096$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1092$hi; + i64toi32_i32$0 = $1096$hi; + i64toi32_i32$0 = $1092$hi; + i64toi32_i32$0 = $1096$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $1092$hi; + i64toi32_i32$3 = 0; + label$50 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$50 + } + $543_1 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + HEAP16[($543_1 + 10 | 0) >> 1] = (HEAPU16[($543_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + } + HEAP32[($9_1 + 84 | 0) >> 2] = (HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 48 | 0; + continue label$49; + }; + } + label$51 : { + if (!((HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0) != (((HEAPU8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$51 + } + HEAP32[($9_1 + 72 | 0) >> 2] = Math_imul((((HEAPU8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0) - 1 | 0) - (HEAP32[($9_1 + 100 | 0) >> 2] | 0) | 0, 88); + $3290(((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 752 | 0) + Math_imul(HEAP32[($9_1 + 100 | 0) >> 2] | 0, 88) | 0 | 0, ((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 752 | 0) + Math_imul((HEAP32[($9_1 + 100 | 0) >> 2] | 0) + 1 | 0, 88) | 0 | 0, HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) | 0; + } + $591_1 = HEAP32[($9_1 + 180 | 0) >> 2] | 0; + HEAP8[($591_1 + 44 | 0) >> 0] = (HEAPU8[($591_1 + 44 | 0) >> 0] | 0) + -1 | 0; + HEAP32[($9_1 + 184 | 0) >> 2] = (HEAP32[($9_1 + 184 | 0) >> 2] | 0) + -1 | 0; + } + HEAP32[($9_1 + 100 | 0) >> 2] = (HEAP32[($9_1 + 100 | 0) >> 2] | 0) + -1 | 0; + continue label$37; + }; + } + } + $603_1 = 16; + $607_1 = HEAP32[(HEAP32[($9_1 + 180 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($607_1 + 136 | 0) >> 2] = (HEAP32[($607_1 + 136 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) << $603_1 | 0) >> $603_1 | 0) | 0; + label$52 : { + if (!(((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0)) { + break label$52 + } + HEAP32[($9_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 824 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($9_1 + 64 | 0) >> 2] = ((HEAP32[($9_1 + 68 | 0) >> 2] | 0) & 4096 | 0 | 0) != (0 | 0) & 1 | 0; + label$53 : { + label$54 : { + if (HEAP32[($9_1 + 64 | 0) >> 2] | 0) { + break label$54 + } + if (!((0 | 0) != (((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0 | 0) & 1 | 0)) { + break label$53 + } + if (HEAP32[((HEAP32[((HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$53 + } + if ((0 | 0) == ((HEAP32[($9_1 + 68 | 0) >> 2] | 0) & 8192 | 0 | 0) & 1 | 0) { + break label$54 + } + if (!(((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$53 + } + } + HEAP8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 46 | 0) >> 0] = HEAP32[($9_1 + 64 | 0) >> 2] | 0 ? 1 : 2; + label$55 : { + if ((HEAP32[((HEAP32[((HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$55 + } + if (!((HEAP32[($9_1 + 68 | 0) >> 2] | 0) & 64 | 0)) { + break label$55 + } + label$56 : { + if (!(((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$56 + } + HEAP8[($9_1 + 111 | 0) >> 0] = 8; + } + HEAP32[((HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 824 | 0) >> 2] | 0) + 36 | 0) >> 2] = (HEAP32[($9_1 + 68 | 0) >> 2] | 0) & -65 | 0; + } + } + } + HEAP32[($9_1 + 120 | 0) >> 2] = 0; + HEAP32[($9_1 + 128 | 0) >> 2] = (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 752 | 0; + label$57 : { + label$58 : while (1) { + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$57 + } + HEAP32[($9_1 + 52 | 0) >> 2] = ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0, 72) | 0; + HEAP32[($9_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $350(HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 124 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + label$59 : { + label$60 : { + label$61 : { + if ((HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 2 | 0) { + break label$61 + } + if (!((HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$60 + } + } + break label$59; + } + label$62 : { + label$63 : { + if (!((HEAP32[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1024 | 0)) { + break label$63 + } + $726_1 = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1056(HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $1278(HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0, 166 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, $726_1 | 0, $726_1 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, -12 | 0) | 0; + break label$62; + } + label$64 : { + label$65 : { + if (!(HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$65 + } + break label$64; + } + label$66 : { + label$67 : { + if ((HEAP32[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 64 | 0) { + break label$67 + } + if (((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$67 + } + HEAP32[($9_1 + 40 | 0) >> 2] = 96; + label$68 : { + if (!((HEAPU8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0)) { + break label$68 + } + HEAP32[($9_1 + 40 | 0) >> 2] = 97; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + } + $1462(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0); + label$69 : { + if ((HEAPU8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0) { + break label$69 + } + $769_1 = 16; + if (!((((HEAPU16[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $769_1 | 0) >> $769_1 | 0 | 0) < (64 | 0) & 1 | 0)) { + break label$69 + } + if ((HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 224 | 0) { + break label$69 + } + i64toi32_i32$3 = HEAP32[($9_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 60 | 0) >> 2] | 0; + $2818_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $2818_1; + HEAP32[($9_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 28 | 0) >> 2] = 0; + label$70 : { + label$71 : while (1) { + i64toi32_i32$0 = 0; + $1099$hi = i64toi32_i32$0; + i64toi32_i32$3 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + $1101$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1099$hi; + i64toi32_i32$1 = $1101$hi; + i64toi32_i32$1 = $1099$hi; + i64toi32_i32$1 = $1101$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $1099$hi; + i64toi32_i32$2 = 0; + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$70 + } + i64toi32_i32$2 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + $1103$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1104$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1103$hi; + i64toi32_i32$1 = $1104$hi; + i64toi32_i32$1 = $1103$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $1104$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $85_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $85_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$2 = $9_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $85_1; + HEAP32[($9_1 + 36 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($9_1 + 28 | 0) >> 2] = (HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$71; + }; + } + $357(HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, -3 | 0); + } + $354(HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0, ((HEAPU8[($9_1 + 111 | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0); + break label$66; + } + $1393(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, HEAP32[(HEAP32[($9_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + } + } + } + label$72 : { + if (!((HEAP32[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 512 | 0)) { + break label$72 + } + HEAP32[($9_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = 96; + label$73 : { + label$74 : { + if (!((HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$74 + } + $86_1 = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + if (!((((HEAPU8[($86_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($86_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$74 + } + if (!(((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$74 + } + HEAP32[($9_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = 0; + break label$73; + } + label$75 : { + label$76 : { + if (!((HEAPU8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0)) { + break label$76 + } + HEAP32[($9_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($9_1 + 20 | 0) >> 2] = HEAP32[($9_1 + 192 | 0) >> 2] | 0; + label$77 : while (1) { + $855_1 = 0; + label$78 : { + if (!((HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$78 + } + $855_1 = (HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0); + } + label$79 : { + if (!($855_1 & 1 | 0)) { + break label$79 + } + HEAP32[($9_1 + 20 | 0) >> 2] = (HEAP32[($9_1 + 20 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($9_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$77; + } + break label$77; + }; + HEAP32[($9_1 + 16 | 0) >> 2] = 97; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + break label$75; + } + label$80 : { + label$81 : { + if (!(HEAP32[($9_1 + 192 | 0) >> 2] | 0)) { + break label$81 + } + if (!(((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$81 + } + HEAP32[($9_1 + 20 | 0) >> 2] = HEAP32[($9_1 + 192 | 0) >> 2] | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = 95; + break label$80; + } + $880_1 = HEAP32[($9_1 + 216 | 0) >> 2] | 0; + $881_1 = HEAP32[($880_1 + 40 | 0) >> 2] | 0; + HEAP32[($880_1 + 40 | 0) >> 2] = $881_1 + 1 | 0; + HEAP32[($9_1 + 20 | 0) >> 2] = $881_1; + } + } + } + HEAP32[((HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + label$82 : { + if (!(HEAP32[($9_1 + 16 | 0) >> 2] | 0)) { + break label$82 + } + $367(HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) | 0; + $1405(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0); + label$83 : { + if (!((HEAP32[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 15 | 0)) { + break label$83 + } + if ((HEAP32[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 32770 | 0) { + break label$83 + } + if ((HEAP32[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 524288 | 0) { + break label$83 + } + if ((HEAP32[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1048576 | 0) { + break label$83 + } + if (((HEAPU16[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$83 + } + if (!(((HEAPU8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 47 | 0) >> 0] | 0) & 255 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$83 + } + $354(HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0, 2 & 65535 | 0 | 0); + } + } + } + label$84 : { + if (!((HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$84 + } + $1286(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0); + } + HEAP32[($9_1 + 120 | 0) >> 2] = (HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($9_1 + 128 | 0) >> 2] = (HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 88 | 0; + continue label$58; + }; + } + $948_1 = $1296(HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 52 | 0) >> 2] = $948_1; + label$85 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$85 + } + break label$7; + } + HEAP32[($9_1 + 120 | 0) >> 2] = 0; + label$86 : { + label$87 : while (1) { + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$86 + } + HEAP32[($9_1 + 128 | 0) >> 2] = ((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 752 | 0) + Math_imul(HEAP32[($9_1 + 120 | 0) >> 2] | 0, 88) | 0; + HEAP32[($9_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$88 : { + if (!((HEAP32[((HEAP32[((HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 16384 | 0)) { + break label$88 + } + i64toi32_i32$1 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 172 | 0) >> 2] | 0; + $1688(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 80 | 0 | 0, ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0, 72) | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0, HEAP32[($9_1 + 128 | 0) >> 2] | 0 | 0); + label$89 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$89 + } + break label$7; + } + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1689(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 128 | 0) >> 2] | 0 | 0, (HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $1015_1 = $1296(HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 32 | 0) >> 2] = $1015_1; + i64toi32_i32$1 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 172 | 0) >> 2] | 0; + i64toi32_i32$3 = $1690(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 128 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $3361 = i64toi32_i32$3; + i64toi32_i32$3 = $9_1; + HEAP32[($9_1 + 168 | 0) >> 2] = $3361; + HEAP32[($9_1 + 172 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$90 : { + if ((HEAP32[($9_1 + 4 | 0) >> 2] | 0) & 8192 | 0) { + break label$90 + } + if (((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$90 + } + } + HEAP32[($9_1 + 120 | 0) >> 2] = (HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$87; + }; + } + $1037_1 = $1296(HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 56 | 0) >> 2] = $1037_1; + HEAP32[($9_1 + 220 | 0) >> 2] = HEAP32[($9_1 + 180 | 0) >> 2] | 0; + break label$3; + } + label$91 : { + if (!((HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$91 + } + HEAP32[((HEAP32[($9_1 + 216 | 0) >> 2] | 0) + 136 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $1691(HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0); + } + HEAP32[($9_1 + 220 | 0) >> 2] = 0; + } + $1053_1 = HEAP32[($9_1 + 220 | 0) >> 2] | 0; + global$0 = $9_1 + 224 | 0; + return $1053_1 | 0; + } + + function $1363($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = 16; + return ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) << $6_1 | 0) >> $6_1 | 0 | 0; + } + + function $1364($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 47 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $1365($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = 24; + return ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 45 | 0) >> 0] | 0) << $6_1 | 0) >> $6_1 | 0 | 0; + } + + function $1366($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ((((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 752 | 0) + Math_imul(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0) - 1 | 0, 88) | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1367($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0, $39_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 4 | 0) >> 2] | 0, 20) | 0; + $31_1 = 24; + $370(HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[$4_1 >> 2] | 0) + 1 | 0) >> 0] | 0) << $31_1 | 0) >> $31_1 | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[$4_1 >> 2] | 0) + 1 | 0) >> 0] = 0; + HEAP32[((HEAP32[$4_1 >> 2] | 0) + 16 | 0) >> 2] = 0; + HEAP8[(HEAP32[$4_1 >> 2] | 0) >> 0] = 174; + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + } + $39_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $39_1 | 0; + } + + function $1368($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, $25_1 = 0, i64toi32_i32$0 = 0, $939_1 = 0, $891_1 = 0, $497_1 = 0, $574_1 = 0, $410_1 = 0, $577_1 = 0, $665_1 = 0, $703_1 = 0, $724_1 = 0, $831_1 = 0, $854_1 = 0, $864_1 = 0, $872_1 = 0, $894_1 = 0, $16_1 = 0, $21_1 = 0, $39_1 = 0, $41_1 = 0, $61_1 = 0, $113_1 = 0, $116_1 = 0, $119_1 = 0, $120_1 = 0, $123_1 = 0, $143_1 = 0, $146_1 = 0, $167_1 = 0, $170_1 = 0, $190_1 = 0, $215_1 = 0, $223_1 = 0, $231_1 = 0, $239_1 = 0, $278_1 = 0, $290_1 = 0, $293_1 = 0, $414_1 = 0, $483_1 = 0, $484_1 = 0, $553_1 = 0, $596_1 = 0, $598_1 = 0, $623_1 = 0, $652_1 = 0, $701_1 = 0, $722_1 = 0, $773_1 = 0, $802_1 = 0, $818_1 = 0, $830_1 = 0, $851_1 = 0, $862_1 = 0, $871_1 = 0, $876_1 = 0, $896_1 = 0, $921_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 240 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 236 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 232 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 228 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 224 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 220 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 216 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[($7_1 + 212 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1275(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 208 | 0) >> 2] = wasm2js_i32$1; + $16_1 = 48; + HEAP32[($7_1 + 200 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + $16_1 | 0) >> 2] | 0; + $21_1 = 24; + HEAP32[($7_1 + 196 | 0) >> 2] = HEAP16[((HEAP32[((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + $21_1 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + $25_1 = 0; + HEAP32[($7_1 + 184 | 0) >> 2] = $25_1; + HEAP32[($7_1 + 180 | 0) >> 2] = $25_1; + HEAP32[($7_1 + 160 | 0) >> 2] = $25_1; + HEAP32[($7_1 + 156 | 0) >> 2] = $25_1; + HEAP32[($7_1 + 152 | 0) >> 2] = $25_1; + HEAP32[($7_1 + 88 | 0) >> 2] = $25_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $25_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(($7_1 + 96 | 0) + $16_1 | 0) >> 2] = $25_1; + i64toi32_i32$0 = 0; + $939_1 = 0; + i64toi32_i32$1 = $7_1 + 136 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $939_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 128 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $939_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = ($7_1 + 96 | 0) + $21_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $939_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $39_1 = $7_1 + 112 | 0; + i64toi32_i32$1 = $39_1; + HEAP32[i64toi32_i32$1 >> 2] = $939_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $41_1 = $7_1 + 104 | 0; + i64toi32_i32$1 = $41_1; + HEAP32[i64toi32_i32$1 >> 2] = $939_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $939_1; + HEAP32[($7_1 + 100 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 96 | 0) >> 2] = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($7_1 + 100 | 0) >> 2] = HEAP32[($7_1 + 216 | 0) >> 2] | 0; + HEAP32[$41_1 >> 2] = HEAP32[($7_1 + 208 | 0) >> 2] | 0; + HEAP32[$39_1 >> 2] = HEAP32[($7_1 + 224 | 0) >> 2] | 0; + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 220 | 0) >> 2] | 0; + HEAP32[($7_1 + 132 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($7_1 + 204 | 0) >> 2] = (HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 124 | 0) >> 2] = (HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 2 | 0; + HEAP32[($7_1 + 140 | 0) >> 2] = (HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 3 | 0; + $61_1 = (HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) + -86 | 0; + label$1 : { + label$2 : { + switch ($61_1 | 0) { + case 0: + label$5 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (89 | 0) & 1 | 0)) { + break label$5 + } + if (!($1692(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($7_1 + 120 | 0) >> 2] = 1; + } + break label$1; + case 4: + label$6 : { + if ($1693(HEAP32[($7_1 + 216 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + label$7 : { + label$8 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) == (88 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (89 | 0) & 1 | 0)) { + break label$9 + } + if (!($1692(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + HEAP32[($7_1 + 120 | 0) >> 2] = 3; + } + break label$7; + } + HEAP32[($7_1 + 120 | 0) >> 2] = 1; + } + } + break label$1; + default: + break label$2; + }; + } + HEAP32[($7_1 + 120 | 0) >> 2] = 2; + } + HEAP32[($7_1 + 172 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 236 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $113_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($113_1 + 44 | 0) >> 2] = (HEAP32[($113_1 + 44 | 0) >> 2] | 0) + (HEAP32[($7_1 + 196 | 0) >> 2] | 0) | 0; + $116_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + $119_1 = (HEAP32[($116_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($116_1 + 44 | 0) >> 2] = $119_1; + HEAP32[($7_1 + 168 | 0) >> 2] = $119_1; + $120_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + $123_1 = (HEAP32[($120_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($120_1 + 44 | 0) >> 2] = $123_1; + HEAP32[($7_1 + 164 | 0) >> 2] = $123_1; + label$10 : { + label$11 : { + if (((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (88 | 0) & 1 | 0) { + break label$11 + } + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (86 | 0) & 1 | 0)) { + break label$10 + } + } + $143_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + $146_1 = (HEAP32[($143_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($143_1 + 44 | 0) >> 2] = $146_1; + HEAP32[($7_1 + 88 | 0) >> 2] = $146_1; + } + label$12 : { + label$13 : { + if (((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) == (88 | 0) & 1 | 0) { + break label$13 + } + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) == (86 | 0) & 1 | 0)) { + break label$12 + } + } + $167_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + $170_1 = (HEAP32[($167_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($167_1 + 44 | 0) >> 2] = $170_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $170_1; + } + label$14 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (76 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + label$16 : { + if (!((HEAP32[($7_1 + 212 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $190_1 = HEAP32[(HEAP32[($7_1 + 212 | 0) >> 2] | 0) >> 2] | 0; + break label$15; + } + $190_1 = 0; + } + HEAP32[($7_1 + 80 | 0) >> 2] = $190_1; + HEAP32[($7_1 + 160 | 0) >> 2] = (HEAP32[($7_1 + 172 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) | 0; + label$17 : { + if (!((HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($7_1 + 160 | 0) >> 2] = (HEAP32[($7_1 + 160 | 0) >> 2] | 0) + (HEAP32[(HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0) | 0; + } + HEAP32[($7_1 + 156 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 236 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $215_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($215_1 + 44 | 0) >> 2] = (HEAP32[($215_1 + 44 | 0) >> 2] | 0) + (HEAP32[($7_1 + 80 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 128 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 236 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $223_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($223_1 + 44 | 0) >> 2] = (HEAP32[($223_1 + 44 | 0) >> 2] | 0) + (HEAP32[($7_1 + 80 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 136 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 236 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $231_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($231_1 + 44 | 0) >> 2] = (HEAP32[($231_1 + 44 | 0) >> 2] | 0) + (HEAP32[($7_1 + 80 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 144 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 236 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $239_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($239_1 + 44 | 0) >> 2] = (HEAP32[($239_1 + 44 | 0) >> 2] | 0) + (HEAP32[($7_1 + 80 | 0) >> 2] | 0) | 0; + } + HEAP32[($7_1 + 192 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($7_1 + 192 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 192 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 172 | 0) >> 2] | 0) + (HEAP32[($7_1 + 192 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($7_1 + 192 | 0) >> 2] = (HEAP32[($7_1 + 192 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0) | 0; + label$20 : { + if (!((HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + $278_1 = 0; + HEAP32[($7_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 172 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1357(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, $278_1 | 0, $278_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + $290_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + $293_1 = (HEAP32[($290_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($290_1 + 44 | 0) >> 2] = $293_1; + HEAP32[($7_1 + 152 | 0) >> 2] = $293_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 86 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + $1420(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, -9 | 0); + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 16 | 0, (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 2 | 0 | 0, (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 2 | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 77 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + } + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 52 | 0, HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1694(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 216 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (!(HEAP32[($7_1 + 88 | 0) >> 2] | 0)) { + break label$21 + } + $1281(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0); + $1695(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, (((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0 ? 3 : 0) + 0 | 0 | 0); + } + label$22 : { + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$22 + } + $1281(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0); + $1695(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, (((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0 ? 3 : 0) + 1 | 0 | 0); + } + label$23 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (89 | 0) & 1 | 0)) { + break label$23 + } + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$23 + } + if (!(HEAP32[($7_1 + 88 | 0) >> 2] | 0)) { + break label$23 + } + $410_1 = 0; + $414_1 = $7_1 + 96 | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = ((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (86 | 0) & 1 | 0 ? 57 : 55; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $410_1 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + $1696($414_1 | 0, $410_1 | 0); + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + $1697($414_1 | 0); + $1288(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 11 | 0, $410_1 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0); + } + label$24 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (86 | 0) & 1 | 0)) { + break label$24 + } + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (89 | 0) & 1 | 0)) { + break label$24 + } + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$24 + } + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 106 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) | 0; + } + label$25 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (90 | 0) & 1 | 0)) { + break label$25 + } + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + $483_1 = 37; + $484_1 = 1; + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $483_1 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0, $484_1 | 0) | 0; + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $483_1 | 0, HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0, $484_1 | 0) | 0; + label$26 : { + if (!(HEAP32[($7_1 + 156 | 0) >> 2] | 0)) { + break label$26 + } + if (!((HEAP32[($7_1 + 212 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $497_1 = 77; + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $497_1 | 0, HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($7_1 + 212 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $497_1 | 0, HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($7_1 + 212 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $497_1 | 0, HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 136 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($7_1 + 212 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $497_1 | 0, HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($7_1 + 212 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + } + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0); + label$27 : { + if (!(HEAP32[($7_1 + 156 | 0) >> 2] | 0)) { + break label$27 + } + $1698(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0); + } + label$28 : { + label$29 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (86 | 0) & 1 | 0)) { + break label$29 + } + $553_1 = 0; + $1699($7_1 + 96 | 0 | 0, 3 | 0, $553_1 | 0, $553_1 | 0) | 0; + label$30 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (90 | 0) & 1 | 0)) { + break label$30 + } + label$31 : { + label$32 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$32 + } + $574_1 = 0; + $577_1 = $7_1 + 96 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $1700($577_1 | 0, 57 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + $1699($577_1 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $574_1 | 0) | 0; + $1699($577_1 | 0, 1 | 0, $574_1 | 0, $574_1 | 0) | 0; + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 11 | 0, $574_1 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + break label$31; + } + $596_1 = $7_1 + 96 | 0; + $598_1 = 0; + $1699($596_1 | 0, 1 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, $598_1 | 0) | 0; + $1699($596_1 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $598_1 | 0) | 0; + } + } + break label$28; + } + label$33 : { + label$34 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) == (88 | 0) & 1 | 0)) { + break label$34 + } + $623_1 = 0; + label$35 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (88 | 0) & 1 | 0)) { + break label$35 + } + $623_1 = ((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0); + } + HEAP32[($7_1 + 40 | 0) >> 2] = $623_1 & 1 | 0; + $1699($7_1 + 96 | 0 | 0, 3 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + label$36 : { + if (!(HEAP32[($7_1 + 40 | 0) >> 2] | 0)) { + break label$36 + } + $1699($7_1 + 96 | 0 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + $652_1 = 0; + $1699($7_1 + 96 | 0 | 0, 1 | 0, $652_1 | 0, $652_1 | 0) | 0; + label$37 : { + if (HEAP32[($7_1 + 40 | 0) >> 2] | 0) { + break label$37 + } + $1699($7_1 + 96 | 0 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + break label$33; + } + $665_1 = 0; + HEAP32[($7_1 + 36 | 0) >> 2] = $665_1; + $1699($7_1 + 96 | 0 | 0, 3 | 0, $665_1 | 0, $665_1 | 0) | 0; + label$38 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (90 | 0) & 1 | 0)) { + break label$38 + } + label$39 : { + label$40 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$40 + } + HEAP32[($7_1 + 32 | 0) >> 2] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$41 : { + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$41 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $1700($7_1 + 96 | 0 | 0, 57 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + } + $701_1 = $7_1 + 96 | 0; + $703_1 = 0; + $1699($701_1 | 0, 1 | 0, $703_1 | 0, $703_1 | 0) | 0; + $1699($701_1 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $703_1 | 0) | 0; + label$42 : { + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$42 + } + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + } + break label$39; + } + label$43 : { + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$43 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 48 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + $722_1 = $7_1 + 96 | 0; + $724_1 = 0; + $1699($722_1 | 0, 1 | 0, $724_1 | 0, $724_1 | 0) | 0; + $1699($722_1 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $724_1 | 0) | 0; + label$44 : { + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$44 + } + $1277(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + } + } + } + } + } + $1369(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0); + $1373(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0); + label$45 : { + if (!((HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$45 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + $1277(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; + label$46 : { + label$47 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) == (88 | 0) & 1 | 0)) { + break label$47 + } + $773_1 = 0; + label$48 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (88 | 0) & 1 | 0)) { + break label$48 + } + $773_1 = ((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0); + } + HEAP32[($7_1 + 28 | 0) >> 2] = $773_1 & 1 | 0; + $1699($7_1 + 96 | 0 | 0, 3 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + label$49 : { + if (!(HEAP32[($7_1 + 28 | 0) >> 2] | 0)) { + break label$49 + } + $1699($7_1 + 96 | 0 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + $802_1 = 0; + $1699($7_1 + 96 | 0 | 0, 1 | 0, $802_1 | 0, $802_1 | 0) | 0; + break label$46; + } + label$50 : { + label$51 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (86 | 0) & 1 | 0)) { + break label$51 + } + $818_1 = 0; + $1699($7_1 + 96 | 0 | 0, 3 | 0, $818_1 | 0, $818_1 | 0) | 0; + label$52 : { + label$53 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$53 + } + $830_1 = $7_1 + 96 | 0; + $831_1 = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1699($830_1 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $831_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1699($830_1 | 0, $831_1 | 0, 0 | 0, $831_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$52; + } + label$54 : { + label$55 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) == (90 | 0) & 1 | 0)) { + break label$55 + } + $851_1 = $7_1 + 96 | 0; + $854_1 = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1699($851_1 | 0, $854_1 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $854_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1699($851_1 | 0, 2 | 0, 0 | 0, $854_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$54; + } + $862_1 = $7_1 + 96 | 0; + $864_1 = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1699($862_1 | 0, $864_1 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, $864_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1699($862_1 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $864_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + $871_1 = 11; + $872_1 = 0; + $876_1 = 1; + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $871_1 | 0, $872_1 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1699($7_1 + 96 | 0 | 0, $876_1 | 0, $872_1 | 0, $876_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $871_1 | 0, $872_1 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + break label$50; + } + $891_1 = 0; + $894_1 = $7_1 + 96 | 0; + $896_1 = 1; + $1699($894_1 | 0, 3 | 0, $891_1 | 0, $891_1 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1699($894_1 | 0, $896_1 | 0, $891_1 | 0, $896_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $1699($894_1 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $891_1 | 0) | 0; + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 11 | 0, $891_1 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0); + } + } + $1277(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 176 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0) | 0; + label$56 : { + if (!((HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$56 + } + label$57 : { + if (!(HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0)) { + break label$57 + } + $921_1 = 69; + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $921_1 | 0, 1 | 0, HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $921_1 | 0, 0 | 0, HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) | 0; + } + $1355(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, $1296(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0) | 0 | 0); + $1288(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 65 | 0, HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $7_1 + 240 | 0; + return; + } + + function $1369($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) ^ -1 | 0; + label$1 : { + label$2 : { + if (!(((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + $1536(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0); + break label$1; + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1370($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $536_1 = 0, $11_1 = 0, $30_1 = 0, $86_1 = 0, $95_1 = 0, $110_1 = 0, $117_1 = 0, $221_1 = 0, $310_1 = 0, $312_1 = 0, $320_1 = 0, $423_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 160 | 0; + global$0 = $10_1; + $11_1 = 0; + HEAP32[($10_1 + 156 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 152 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 148 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 144 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 140 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 136 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 132 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 128 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 124 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 156 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($10_1 + 112 | 0) >> 2] = (HEAPU8[(HEAP32[($10_1 + 136 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($10_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($10_1 + 100 | 0) >> 2] = $11_1; + label$1 : { + label$2 : { + if (!((HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0) != ($11_1 | 0) & 1 | 0)) { + break label$2 + } + $30_1 = (HEAPU8[((HEAP32[($10_1 + 140 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + break label$1; + } + $30_1 = 0; + } + HEAP32[($10_1 + 116 | 0) >> 2] = $30_1; + label$3 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[(HEAP32[($10_1 + 144 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($10_1 + 144 | 0) >> 2] = 0; + } + label$4 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + if (HEAP32[($10_1 + 116 | 0) >> 2] | 0) { + break label$4 + } + $1701(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 152 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0); + } + HEAP32[($10_1 + 104 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($10_1 + 152 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$6 + } + label$7 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($10_1 + 100 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($10_1 + 144 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + label$8 : { + if (((HEAPU8[((HEAP32[($10_1 + 144 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$8 + } + HEAP32[($10_1 + 100 | 0) >> 2] = (HEAP32[($10_1 + 100 | 0) >> 2] | 0) + 1 | 0; + } + $86_1 = HEAP32[($10_1 + 156 | 0) >> 2] | 0; + HEAP32[($86_1 + 44 | 0) >> 2] = (HEAP32[($86_1 + 44 | 0) >> 2] | 0) + (HEAP32[($10_1 + 100 | 0) >> 2] | 0) | 0; + } + HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[((HEAP32[($10_1 + 156 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $95_1 = HEAP32[($10_1 + 156 | 0) >> 2] | 0; + HEAP32[($95_1 + 44 | 0) >> 2] = (HEAP32[($95_1 + 44 | 0) >> 2] | 0) + (HEAP32[($10_1 + 104 | 0) >> 2] | 0) | 0; + break label$5; + } + label$9 : { + if (!(((HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[($10_1 + 104 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($10_1 + 156 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $110_1 = HEAP32[($10_1 + 156 | 0) >> 2] | 0; + HEAP32[($110_1 + 44 | 0) >> 2] = (HEAP32[($110_1 + 44 | 0) >> 2] | 0) + (HEAP32[($10_1 + 104 | 0) >> 2] | 0) | 0; + } + } + HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($10_1 + 104 | 0) >> 2] | 0; + $117_1 = HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($10_1 + 84 | 0) >> 2] = $117_1; + HEAP32[($10_1 + 80 | 0) >> 2] = $117_1; + label$10 : { + label$11 : { + if (!((HEAP32[($10_1 + 148 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($10_1 + 120 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($10_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 84 | 0) >> 2] | 0) + (HEAP32[($10_1 + 120 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($10_1 + 120 | 0) >> 2] = (HEAP32[($10_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + break label$10; + } + label$14 : { + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + label$16 : { + label$17 : { + if ((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) == (10 | 0) & 1 | 0) { + break label$17 + } + if ((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0) { + break label$17 + } + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) == (13 | 0) & 1 | 0)) { + break label$16 + } + } + HEAP8[($10_1 + 79 | 0) >> 0] = 1; + break label$15; + } + HEAP8[($10_1 + 79 | 0) >> 0] = 0; + } + label$18 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + if (HEAP32[($10_1 + 116 | 0) >> 2] | 0) { + break label$18 + } + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) != (12 | 0) & 1 | 0)) { + break label$18 + } + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) != (14 | 0) & 1 | 0)) { + break label$18 + } + HEAP8[($10_1 + 79 | 0) >> 0] = (HEAPU8[($10_1 + 79 | 0) >> 0] | 0) & 255 | 0 | 12 | 0; + HEAP32[($10_1 + 120 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[(HEAP32[($10_1 + 144 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $221_1 = (HEAPU16[((((HEAP32[(HEAP32[($10_1 + 144 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 120 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($10_1 + 68 | 0) >> 2] = $221_1; + label$21 : { + if (!(($221_1 | 0) > (0 | 0) & 1 | 0)) { + break label$21 + } + HEAP16[((((HEAP32[((HEAP32[($10_1 + 152 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + (((HEAP32[($10_1 + 68 | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0) + 12 | 0) >> 1] = ((HEAP32[($10_1 + 120 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[((HEAP32[($10_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + } + HEAP32[($10_1 + 120 | 0) >> 2] = (HEAP32[($10_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + HEAP32[($10_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 152 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($10_1 + 120 | 0) >> 2] = 0; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($10_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + label$24 : { + if (!(((HEAPU16[((((HEAP32[($10_1 + 72 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 120 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($10_1 + 104 | 0) >> 2] = (HEAP32[($10_1 + 104 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($10_1 + 80 | 0) >> 2] = 0; + } + HEAP32[($10_1 + 120 | 0) >> 2] = (HEAP32[($10_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + } + HEAP32[($10_1 + 88 | 0) >> 2] = HEAP32[($10_1 + 84 | 0) >> 2] | 0; + HEAP8[($10_1 + 92 | 0) >> 0] = HEAPU8[($10_1 + 79 | 0) >> 0] | 0; + label$25 : { + label$26 : { + if (!(HEAP32[((HEAP32[($10_1 + 152 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$26 + } + if (!(((HEAPU8[($10_1 + 79 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$26 + } + if (!((HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[((HEAP32[($10_1 + 144 | 0) >> 2] | 0) + 36 | 0) >> 2] = $10_1 + 88 | 0; + HEAP32[($10_1 + 80 | 0) >> 2] = 0; + break label$25; + } + $1702(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 152 | 0) >> 2] | 0 | 0, $10_1 + 88 | 0 | 0); + } + } + } + label$27 : { + if (!(HEAP32[($10_1 + 116 | 0) >> 2] | 0)) { + break label$27 + } + $310_1 = (HEAPU8[((HEAP32[($10_1 + 140 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) + -1 | 0; + label$28 : { + label$29 : { + switch ($310_1 | 0) { + case 1: + $312_1 = 0; + HEAP32[($10_1 + 56 | 0) >> 2] = (HEAP32[((HEAP32[($10_1 + 156 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $320_1 = HEAP32[($10_1 + 156 | 0) >> 2] | 0; + HEAP32[($320_1 + 44 | 0) >> 2] = (HEAP32[($320_1 + 44 | 0) >> 2] | 0) + (HEAP32[($10_1 + 104 | 0) >> 2] | 0) | 0; + $1367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1467(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + HEAP8[(HEAP32[($10_1 + 64 | 0) >> 2] | 0) >> 0] = 72; + HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($10_1 + 56 | 0) >> 2] | 0; + HEAP32[($10_1 + 64 | 0) >> 2] = $312_1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = ($1296(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0) | 0) + (HEAP32[($10_1 + 104 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 120 | 0) >> 2] = $312_1; + label$32 : { + label$33 : while (1) { + if (!((HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$32 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1173(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($10_1 + 152 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 120 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$34 : { + label$35 : { + if (!((HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0) < ((HEAP32[($10_1 + 104 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$35 + } + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 52 | 0, (HEAP32[($10_1 + 84 | 0) >> 2] | 0) + (HEAP32[($10_1 + 120 | 0) >> 2] | 0) | 0 | 0, HEAP32[($10_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 56 | 0) >> 2] | 0) + (HEAP32[($10_1 + 120 | 0) >> 2] | 0) | 0 | 0) | 0; + break label$34; + } + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 53 | 0, (HEAP32[($10_1 + 84 | 0) >> 2] | 0) + (HEAP32[($10_1 + 120 | 0) >> 2] | 0) | 0 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 56 | 0) >> 2] | 0) + (HEAP32[($10_1 + 120 | 0) >> 2] | 0) | 0 | 0) | 0; + } + $357(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, -2 | 0); + $354(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 128 & 65535 | 0 | 0); + HEAP32[($10_1 + 120 | 0) >> 2] = (HEAP32[($10_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$33; + }; + } + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 77 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 104 | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + break label$28; + case 0: + $1367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + break label$28; + default: + break label$29; + }; + } + $1703(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0); + } + label$36 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$36 + } + $1701(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 152 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0); + } + } + $423_1 = (HEAP32[($10_1 + 112 | 0) >> 2] | 0) + -1 | 0; + label$37 : { + label$38 : { + switch ($423_1 | 0) { + case 0: + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1382(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) | 0; + $1383(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0); + break label$37; + case 1: + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 133 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) | 0; + break label$37; + case 4: + case 7: + case 11: + case 13: + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1379(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 100 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 44 | 0) >> 2] | 0) + (HEAP32[($10_1 + 100 | 0) >> 2] | 0) | 0 | 0) | 0; + label$48 : { + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$48 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = ($1296(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0) | 0) + 4 | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $353(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 30 | 0, (HEAP32[($10_1 + 108 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $353(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 131 | 0, (HEAP32[($10_1 + 108 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) | 0; + } + label$49 : { + label$50 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$50 + } + $1704(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 152 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 44 | 0) >> 2] | 0) + (HEAP32[($10_1 + 100 | 0) >> 2] | 0) | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0); + break label$49; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1382(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 8 & 65535 | 0 | 0); + $1383(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0); + } + $1384(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 100 | 0) >> 2] | 0) + 1 | 0 | 0); + break label$37; + case 14: + label$51 : { + label$52 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$52 + } + $1704(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0); + break label$51; + } + $536_1 = 0; + HEAP32[($10_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1382(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 128 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 91 | 0, (HEAP32[($10_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) < ($536_1 | 0) & 1 | 0) | 0 | 0, (HEAP32[($10_1 + 104 | 0) >> 2] | 0) - ((HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) < ($536_1 | 0) & 1 | 0) | 0 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0) | 0; + label$53 : { + label$54 : { + if (!((HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) < ($536_1 | 0) & 1 | 0)) { + break label$54 + } + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0) | 0; + break label$53; + } + $353(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + } + break label$37; + case 10: + label$55 : { + label$56 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$56 + } + $1704(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0); + break label$55; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1382(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) | 0; + $1383(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0); + } + break label$37; + case 2: + $366(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 69 | 0, 1 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0) | 0; + break label$37; + case 9: + label$57 : { + label$58 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$58 + } + $1704(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0); + break label$57; + } + } + break label$37; + case 8: + case 12: + label$59 : { + label$60 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$60 + } + $1704(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0); + break label$59; + } + label$61 : { + label$62 : { + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) == (13 | 0) & 1 | 0)) { + break label$62 + } + $1288(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + break label$61; + } + $366(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) | 0; + } + } + break label$37; + case 5: + case 6: + HEAP32[($10_1 + 4 | 0) >> 2] = 0; + HEAP32[$10_1 >> 2] = HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($10_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[$10_1 >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1382(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1379(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 8 | 0) >> 2] = ((HEAP32[($10_1 + 12 | 0) >> 2] | 0) + (HEAP32[($10_1 + 20 | 0) >> 2] | 0) | 0) + 1 | 0; + label$63 : { + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$63 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $353(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 30 | 0, (HEAP32[($10_1 + 108 | 0) >> 2] | 0) + 1 | 0 | 0, 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0) | 0; + label$64 : { + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$64 + } + $366(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 131 | 0, (HEAP32[($10_1 + 108 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 16 & 65535 | 0 | 0); + } + HEAP32[($10_1 + 120 | 0) >> 2] = 0; + label$65 : { + label$66 : while (1) { + if (!((HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$65 + } + $366(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 78 | 0, ((HEAP32[($10_1 + 84 | 0) >> 2] | 0) + ((HEAPU16[((((HEAP32[$10_1 >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 120 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) | 0) - 1 | 0 | 0, (HEAP32[($10_1 + 12 | 0) >> 2] | 0) + (HEAP32[($10_1 + 120 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($10_1 + 120 | 0) >> 2] = (HEAP32[($10_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$66; + }; + } + $366(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 120 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 12 | 0) >> 2] | 0) + (HEAP32[($10_1 + 20 | 0) >> 2] | 0) | 0 | 0) | 0; + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 2 | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 2 | 0 | 0) | 0; + label$67 : { + if (!(HEAP32[($10_1 + 4 | 0) >> 2] | 0)) { + break label$67 + } + $1277(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0); + } + $1383(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0); + $1384(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 2 | 0 | 0); + break label$37; + default: + break label$38; + }; + } + } + label$68 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$68 + } + if (!(HEAP32[((HEAP32[($10_1 + 152 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$68 + } + $366(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 59 | 0, HEAP32[((HEAP32[($10_1 + 152 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 128 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $10_1 + 160 | 0; + return; + } + + function $1371($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0; + } + + function $1372($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0; + } + + function $1373($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $629_1 = 0, $632_1 = 0, $76_1 = 0, $88_1 = 0, $102_1 = 0, $142_1 = 0, $261_1 = 0, $539_1 = 0, $544_1 = 0, $548_1 = 0, $554_1 = 0, $558_1 = 0, $602_1 = 0, $633_1 = 0, $637_1 = 0, $640_1 = 0, $643_1 = 0, $646_1 = 0, $649_1 = 0, $2042_1 = 0, $2062_1 = 0, $2072_1 = 0, $2082_1 = 0, $2092_1 = 0, $2102_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 128 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 120 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 124 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 96 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1296(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 112 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 112 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 108 | 0) >> 2] = ((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 752 | 0) + Math_imul(HEAP32[($3_1 + 112 | 0) >> 2] | 0, 88) | 0; + HEAP32[($3_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 53 | 0) >> 0] | 0) & 255 | 0 | 0) != (174 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 84 | 0) >> 2] = 0; + label$5 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 47 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($3_1 + 112 | 0) >> 2] | 0 | 0) == (((HEAPU8[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 512 | 0)) { + break label$5 + } + $76_1 = HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($3_1 + 80 | 0) >> 2] = $76_1; + if (!((((HEAPU8[($76_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($76_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0)) { + break label$5 + } + $88_1 = (HEAPU16[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 30 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($3_1 + 76 | 0) >> 2] = $88_1; + if (!(($88_1 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + $102_1 = 16; + if (!((((HEAPU16[((HEAP32[((HEAP32[($3_1 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 76 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $102_1 | 0) >> $102_1 | 0 | 0) >= (36 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 72 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 68 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $367(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 72 | 0) >> 2] | 0) + (HEAP32[($3_1 + 68 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($3_1 + 68 | 0) >> 2] = (HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + $142_1 = HEAP32[($3_1 + 120 | 0) >> 2] | 0; + HEAP32[($142_1 + 44 | 0) >> 2] = (HEAP32[($142_1 + 44 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP32[($3_1 + 64 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 53 | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0 ? 22 : 25; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $353(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 11 | 0, 1 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0; + } + $1369(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + $367(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 53 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + $354(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 55 | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0); + label$8 : { + if (!(HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$8 + } + $1369(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $366(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 59 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + } + label$9 : { + if (!(HEAP32[($3_1 + 84 | 0) >> 2] | 0)) { + break label$9 + } + $1277(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 84 | 0) >> 2] | 0 | 0); + } + break label$3; + } + $1369(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + label$10 : { + if (!((HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 2048 | 0)) { + break label$10 + } + if (!((HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$10 + } + $1369(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[($3_1 + 60 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) + Math_imul((HEAP32[($3_1 + 56 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$11 + } + $1277(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0 | 0); + label$13 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (174 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!(HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$14 + } + $261_1 = 0; + label$15 : { + if ((HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1024 | 0) { + break label$15 + } + $261_1 = ((HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 262144 | 0 | 0) != (0 | 0); + } + HEAP32[($3_1 + 52 | 0) >> 2] = $261_1 & 1 | 0; + label$16 : { + if (!(HEAP32[(HEAP32[($3_1 + 108 | 0) >> 2] | 0) >> 2] | 0)) { + break label$16 + } + $366(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 26 | 0, HEAP32[(HEAP32[($3_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, (($1296(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0) | 0) + 2 | 0) + (HEAP32[($3_1 + 52 | 0) >> 2] | 0) | 0 | 0) | 0; + } + label$17 : { + if (!(HEAP32[($3_1 + 52 | 0) >> 2] | 0)) { + break label$17 + } + $353(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 27 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + } + $366(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[(HEAP32[($3_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + } + $1277(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0 | 0); + HEAP32[($3_1 + 56 | 0) >> 2] = (HEAP32[($3_1 + 56 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($3_1 + 60 | 0) >> 2] = (HEAP32[($3_1 + 60 | 0) >> 2] | 0) + -20 | 0; + continue label$12; + }; + } + } + $1369(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + label$18 : { + if (!(HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { + break label$18 + } + $1282(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 2 | 0 | 0); + } + label$19 : { + if (!(HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0)) { + break label$19 + } + $366(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 59 | 0, (HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) >>> 1 | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + } + label$20 : { + if (!(HEAP32[(HEAP32[($3_1 + 108 | 0) >> 2] | 0) >> 2] | 0)) { + break label$20 + } + HEAP32[($3_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1288(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 48 | 0, HEAP32[(HEAP32[($3_1 + 108 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if ((HEAP32[($3_1 + 48 | 0) >> 2] | 0) & 64 | 0) { + break label$21 + } + $1288(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 129 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + } + label$22 : { + label$23 : { + if ((HEAP32[($3_1 + 48 | 0) >> 2] | 0) & 512 | 0) { + break label$23 + } + if (!((HEAP32[($3_1 + 48 | 0) >> 2] | 0) & 8192 | 0)) { + break label$22 + } + if (!((HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + } + $1288(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 129 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + } + label$24 : { + label$25 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 53 | 0) >> 0] | 0) & 255 | 0 | 0) == (65 | 0) & 1 | 0)) { + break label$25 + } + $366(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0; + break label$24; + } + $1282(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0; + } + $1277(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 112 | 0) >> 2] = (HEAP32[($3_1 + 112 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + }; + } + $1369(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 112 | 0) >> 2] = 0; + HEAP32[($3_1 + 108 | 0) >> 2] = (HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 752 | 0; + label$26 : { + label$27 : while (1) { + if (!((HEAP32[($3_1 + 112 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = ((HEAP32[($3_1 + 100 | 0) >> 2] | 0) + Math_imul(HEAPU8[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0, 72) | 0) + 8 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + label$28 : { + label$29 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 4 | 0) & 1 | 0) & 255 | 0)) { + break label$29 + } + $1705(HEAP32[($3_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, 0 | 0); + break label$28; + } + label$30 : { + label$31 : { + if (!((HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 576 | 0)) { + break label$31 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$30; + } + label$32 : { + if (!((HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 8192 | 0)) { + break label$32 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + } + } + label$33 : { + if (!((HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$33 + } + if (((HEAPU8[((HEAP32[($3_1 + 96 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$33 + } + label$34 : { + label$35 : { + label$36 : { + if (!((HEAPU8[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0)) { + break label$36 + } + if (!((HEAP32[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$35 + } + } + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[($3_1 + 92 | 0) >> 2] | 0; + break label$34; + } + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 44 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1467(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 32 | 0) >> 2] = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + Math_imul((HEAP32[($3_1 + 40 | 0) >> 2] | 0) - (HEAP32[($3_1 + 44 | 0) >> 2] | 0) | 0, 20) | 0; + label$37 : while (1) { + label$38 : { + label$39 : { + if (!((HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$39 + } + break label$38; + } + label$40 : { + label$41 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$41 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$42 : { + label$43 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$43 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $416(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $539_1 = 16; + HEAP32[($3_1 + 16 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $539_1 | 0) >> $539_1 | 0; + break label$42; + } + $544_1 = 16; + $548_1 = 16; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = (($1706(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << $544_1 | 0) >> $544_1 | 0 | 0) | 0) << $548_1 | 0) >> $548_1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $554_1 = 16; + $558_1 = 16; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = (($1329(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << $554_1 | 0) >> $554_1 | 0 | 0) | 0) << $558_1 | 0) >> $558_1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$44 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$44 + } + HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + break label$40; + } + label$45 : { + label$46 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$46 + } + HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP8[(HEAP32[($3_1 + 36 | 0) >> 2] | 0) >> 0] = 135; + break label$45; + } + label$47 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (21 | 0) & 1 | 0)) { + break label$47 + } + HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + } + } + } + $602_1 = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 20 | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = $602_1; + if ($602_1 >>> 0 < (HEAP32[($3_1 + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + continue label$37 + } + break label$37; + }; + } + } + HEAP32[($3_1 + 112 | 0) >> 2] = (HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 108 | 0) >> 2] = (HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 88 | 0; + continue label$27; + }; + } + label$48 : { + label$49 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$48 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $629_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $632_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$2 = $632_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2042_1 = i64toi32_i32$0; + i64toi32_i32$0 = $629_1; + HEAP32[i64toi32_i32$0 >> 2] = $2042_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $633_1 = 48; + HEAP32[(i64toi32_i32$0 + $633_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $633_1 | 0) >> 2] | 0; + $637_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $637_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2062_1 = i64toi32_i32$1; + i64toi32_i32$1 = $629_1 + $637_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $2062_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $640_1 = 32; + i64toi32_i32$2 = $632_1 + $640_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2072_1 = i64toi32_i32$0; + i64toi32_i32$0 = $629_1 + $640_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2072_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $643_1 = 24; + i64toi32_i32$2 = $632_1 + $643_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2082_1 = i64toi32_i32$1; + i64toi32_i32$1 = $629_1 + $643_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $2082_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $646_1 = 16; + i64toi32_i32$2 = $632_1 + $646_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2092_1 = i64toi32_i32$0; + i64toi32_i32$0 = $629_1 + $646_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2092_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $649_1 = 8; + i64toi32_i32$2 = $632_1 + $649_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2102_1 = i64toi32_i32$1; + i64toi32_i32$1 = $629_1 + $649_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $2102_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $13(HEAP32[($3_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + continue label$49; + }; + } + HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 136 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $1691(HEAP32[($3_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 124 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 128 | 0; + return; + } + + function $1374($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0; + HEAP32[$4_1 >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $1376(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0; + continue label$3; + }; + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1375($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $7_1 = 0, i64toi32_i32$0 = 0, $22_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $7_1 = $4_1 + 8 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + $22_1 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 44; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + $1547($7_1 | 0, HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 48 | 0; + return; + } + + function $1376($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $8_1 = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = 45; + HEAP32[($4_1 + 16 | 0) >> 2] = 39; + HEAP32[($4_1 + 20 | 0) >> 2] = 38; + HEAP32[($4_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $8_1; + $1547($4_1 + 8 | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 48 | 0; + return; + } + + function $1377($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $45_1 = 0, $48_1 = 0, $61_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP8[($5_1 + 15 | 0) >> 0] = 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$2 + } + } + HEAP8[($5_1 + 47 | 0) >> 0] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if ($88(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 33134 | 0) | 0) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + label$6 : { + if (!($1534(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + HEAP8[($5_1 + 15 | 0) >> 0] = 2; + } + break label$4; + } + label$7 : { + label$8 : { + if ($88(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 33138 | 0) | 0) { + break label$8 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 2; + HEAP8[($5_1 + 15 | 0) >> 0] = 1; + break label$7; + } + HEAP8[($5_1 + 47 | 0) >> 0] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + } + $45_1 = 0; + $48_1 = $1339(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $45_1 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $48_1; + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = $48_1; + label$9 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != ($45_1 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 0] = HEAPU8[($5_1 + 15 | 0) >> 0] | 0; + } + HEAP8[($5_1 + 47 | 0) >> 0] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + $61_1 = (HEAPU8[($5_1 + 47 | 0) >> 0] | 0) & 255 | 0; + global$0 = $5_1 + 48 | 0; + return $61_1 | 0; + } + + function $1378($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $1352($5_1 | 0, 0 | 0, 33142 | 0, $4_1 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1379($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $26_1 = 0, $30_1 = 0, $38_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1382(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) <= (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $26_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($26_1 + 32 | 0) >> 2] = (HEAP32[($26_1 + 32 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + $30_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($30_1 + 28 | 0) >> 2] = (HEAP32[($30_1 + 28 | 0) >> 2] | 0) - (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + break label$3; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $38_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($38_1 + 44 | 0) >> 2] = (HEAP32[($38_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $42_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $42_1 | 0; + } + + function $1380($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $57_1 = 0, $125_1 = 0, $166_1 = 0, $184_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP8[($7_1 + 47 | 0) >> 0] = $4_1; + HEAP8[($7_1 + 27 | 0) >> 0] = ((HEAPU8[($7_1 + 47 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 ? 77 : 78; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (((HEAPU8[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + HEAP8[($7_1 + 47 | 0) >> 0] = ((HEAPU8[($7_1 + 47 | 0) >> 0] | 0) & 255 | 0) & -3 | 0; + } + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!(((HEAPU8[($7_1 + 47 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$5 + } + $57_1 = (HEAPU16[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $57_1; + if (!(($57_1 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!(((HEAPU8[($7_1 + 47 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$7 + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + -1 | 0; + break label$6; + } + $366(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0, ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) - 1 | 0 | 0, (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0; + } + break label$4; + } + label$8 : { + label$9 : { + if (!(((HEAPU8[($7_1 + 47 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$9 + } + if (!($1509(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + $1510(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0; + break label$8; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1496(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + label$12 : { + if (!(((HEAPU8[($7_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0) == (77 | 0) & 1 | 0)) { + break label$12 + } + $125_1 = $1467(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = $125_1; + if (!(((HEAPU8[$125_1 >> 0] | 0) & 255 | 0 | 0) == (77 | 0) & 1 | 0)) { + break label$12 + } + if (!((((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) == (HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + if (!((((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) == ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$12 + } + if ((HEAPU16[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) { + break label$12 + } + $166_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP32[($166_1 + 12 | 0) >> 2] = (HEAP32[($166_1 + 12 | 0) >> 2] | 0) + 1 | 0; + break label$11; + } + $366(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0; + } + } + } + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 16 | 0; + continue label$3; + }; + } + $184_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $184_1 | 0; + } + + function $1381($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $30_1 = 0, $51_1 = 0, $71_1 = 0, $86_1 = 0, $100_1 = 0, $104_1 = 0, $110_1 = 0, $114_1 = 0, $65_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $367(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + label$3 : { + label$4 : { + if ((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$4 + } + $30_1 = 16; + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) & 1 | 0)) { + break label$3 + } + } + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + label$5 : { + label$6 : { + if (!(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 167; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + break label$5; + } + $51_1 = (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 32 | 0) >> 2] | 0, 20) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = $51_1; + label$7 : { + if (!(((HEAPU16[($51_1 + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1539(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$9 + } + $65_1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + $349($65_1 | 0, 26856 | 0, $7_1 | 0); + break label$8; + } + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $71_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP16[($71_1 + 16 | 0) >> 1] = (HEAPU16[($71_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 256 | 0; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0; + $1499(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + $86_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP16[($86_1 + 16 | 0) >> 1] = ((HEAPU16[($86_1 + 16 | 0) >> 1] | 0) & 65535 | 0) & -257 | 0; + } + break label$1; + } + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$11 + } + $100_1 = 16; + $104_1 = 16; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = (($1329($416(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0 | 0, ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << $100_1 | 0) >> $100_1 | 0 | 0) | 0) << $104_1 | 0) >> $104_1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 20 | 0) >> 2] = 89; + break label$10; + } + $110_1 = 16; + $114_1 = 16; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = (($1424(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << $110_1 | 0) >> $110_1 | 0 | 0) | 0) << $114_1 | 0) >> $114_1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 20 | 0) >> 2] = 89; + } + } + $367(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $1540(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 48 | 0; + return; + } + + function $1382($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, $8_1 = 0, $11_1 = 0, $17_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + $8_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $11_1 = (HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 44 | 0) >> 2] = $11_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $11_1; + break label$1; + } + $12_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $17_1 = (HEAPU8[($12_1 + 19 | 0) >> 0] | 0) + -1 | 0; + HEAP8[($12_1 + 19 | 0) >> 0] = $17_1; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[(($12_1 + 152 | 0) + (($17_1 & 255 | 0) << 2 | 0) | 0) >> 2] | 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1383($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $20_1 = 0, $16_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0 | 0) < (8 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $17_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $20_1 = HEAPU8[($17_1 + 19 | 0) >> 0] | 0; + HEAP8[($17_1 + 19 | 0) >> 0] = $20_1 + 1 | 0; + HEAP32[(($17_1 + 152 | 0) + (($20_1 & 255 | 0) << 2 | 0) | 0) >> 2] = $16_1; + } + } + return; + } + + function $1384($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + $1383(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1385($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 0] | 0) >>> 3 | 0) & 1 | 0) & 255 | 0 | 0; + } + + function $1386($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $11_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[$11_1 >> 2] = (HEAP32[$11_1 >> 2] | 0) + 1 | 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1387($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $367(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 76 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0) | 0; + global$0 = $6_1 + 16 | 0; + return; + } + + function $1388($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $43_1 = 0, $46_1 = 0, $76_1 = 0, $99_1 = 0, $111_1 = 0, $143_1 = 0, $146_1 = 0, $148_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $6_1; + HEAP8[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 0] = 1; + HEAP32[($5_1 + 60 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 36 | 0) >> 2] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$3 + } + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$4 : { + if (!(HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0)) { + break label$4 + } + if (!(HEAP32[($5_1 + 72 | 0) >> 2] | 0)) { + break label$4 + } + label$5 : { + if (HEAP32[($5_1 + 56 | 0) >> 2] | 0) { + break label$5 + } + $43_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + $46_1 = (HEAP32[($43_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($43_1 + 44 | 0) >> 2] = $46_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $46_1; + } + $366(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, 77 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $1390(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, 16 | 0); + } + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1379(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $1380(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0, 1 & 255 | 0 | 0) | 0; + break label$6; + } + $76_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $76_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $76_1; + } + label$8 : { + if (!((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$9 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + $1703(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0); + } + label$10 : { + if (!((HEAP32[((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0)) { + break label$10 + } + $99_1 = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $99_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $99_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0; + label$11 : while (1) { + $111_1 = 0; + label$12 : { + if ((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + $111_1 = (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + } + label$13 : { + if (!($111_1 & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1173(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 16 | 0; + continue label$11; + } + break label$11; + }; + label$14 : { + if ((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$14 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 76 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + label$15 : { + if (HEAP32[($5_1 + 56 | 0) >> 2] | 0) { + break label$15 + } + if (!(HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$15 + } + $143_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + $146_1 = (HEAP32[($143_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($143_1 + 44 | 0) >> 2] = $146_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $146_1; + } + $148_1 = 0; + $1278(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, 81 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, $148_1 | 0, $148_1 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, -2 | 0) | 0; + } + $367(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, 155 | 0, 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + $1420(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, -8 | 0); + $354(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) & 255 | 0) & 65535 | 0 | 0); + $1384(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + label$16 : { + if (!(HEAP32[($5_1 + 36 | 0) >> 2] | 0)) { + break label$16 + } + $1369(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 60 | 0) >> 2] = (HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 16 | 0; + continue label$2; + }; + } + label$17 : { + if (HEAP32[($5_1 + 56 | 0) >> 2] | 0) { + break label$17 + } + if (!(HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$17 + } + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + } + label$18 : { + if (!(HEAP32[($5_1 + 56 | 0) >> 2] | 0)) { + break label$18 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1288(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, 18 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $1281(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 60 | 0) >> 2] = (HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 20 | 0; + continue label$20; + }; + } + HEAP8[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 0] = 0; + label$21 : { + if (!(HEAP32[($5_1 + 52 | 0) >> 2] | 0)) { + break label$21 + } + $1411(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 80 | 0; + return; + } + + function $1389($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $33_1 = 0, $22_1 = 0, $24_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $22_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $24_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $33_1 = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + break label$3; + } + $33_1 = 0; + } + $366($22_1 | 0, 158 | 0, $24_1 | 0, $33_1 | 0) | 0; + $1420(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, -8 | 0); + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0; + continue label$2; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1390($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0) ^ 1 | 0; + $30_1 = (HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0) + -19 | 0; + label$4 : { + label$5 : { + label$6 : { + switch ($30_1 | 0) { + case 24: + case 25: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1538(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + label$16 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $1390(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$15; + } + label$17 : { + label$18 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$18 + } + $1390(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + $1390(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$17; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1358(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $1468(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 48 | 0) >> 2] | 0) ^ 16 | 0 | 0); + $1390(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + } + } + break label$4; + case 0: + $1468(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$4; + case 153: + HEAP32[($6_1 + 12 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) == (168 | 0) & 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1502(HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + label$20 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) ^ (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0)) { + break label$20 + } + $1390(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 12 | 0) >> 2] | 0 ? 0 : 16) | 0); + break label$19; + } + $1468(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 12 | 0) >> 2] | 0 ? 0 : 16) | 0); + } + break label$4; + case 26: + case 149: + HEAP32[($6_1 + 40 | 0) >> 2] = ((HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (45 | 0) & 1 | 0 ? 52 : 53; + HEAP32[($6_1 + 48 | 0) >> 2] = 128; + case 33: + case 34: + case 35: + case 36: + case 37: + case 38: + label$21 : { + if (!($1505(HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$21 + } + break label$5; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1507(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1507(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $1508(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 512 | 0 | 0) != (0 | 0) & 1 | 0 | 0) | 0; + break label$4; + case 31: + case 32: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1507(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0; + break label$4; + case 29: + $1518(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, 46 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$4; + case 30: + label$22 : { + label$23 : { + if (!(HEAP32[($6_1 + 48 | 0) >> 2] | 0)) { + break label$23 + } + $1517(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0); + break label$22; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1358(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $1517(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0); + } + break label$4; + default: + break label$6; + }; + } + } + label$24 : { + label$25 : { + if (!(((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 536870913 | 0 | 0) == (536870912 | 0) & 1 | 0)) { + break label$25 + } + $1282(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0; + break label$24; + } + label$26 : { + label$27 : { + if (!(((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 268435457 | 0 | 0) == (268435456 | 0) & 1 | 0)) { + break label$27 + } + break label$26; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1507(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, $6_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0) | 0; + } + } + } + $1383(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 64 | 0; + return; + } + + function $1391($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $70_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAPU8[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + } + break label$1; + } + $20_1 = 0; + $367(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 72 | 0, $20_1 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $20_1; + label$5 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$7 : { + label$8 : { + label$9 : { + if ((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$9 + } + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$8 + } + } + $349(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 33165 | 0, 0 | 0); + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = -1; + break label$7; + } + $70_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1357(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $70_1 | 0, $70_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $1278(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $70_1 | 0, $70_1 | 0, HEAP32[$4_1 >> 2] | 0 | 0, -9 | 0) | 0; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0; + continue label$5; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1392($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$4 : { + if (!(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$5 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (165 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$6 : { + if (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$7 : { + if ((HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777218 | 0)) { + break label$8 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $1393($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $34_1 = 0, $73_1 = 0, i64toi32_i32$1 = 0, $112_1 = 0, $113_1 = 0, i64toi32_i32$0 = 0, $101_1 = 0, $111_1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP8[($7_1 + 35 | 0) >> 0] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if ($369(HEAP32[(((HEAP32[((HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 40 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$3 + } + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $34_1 = HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$4; + } + $34_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 24 | 0) >> 2] = $34_1; + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0; + label$8 : { + if (!((HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $73_1 = 1; + label$9 : { + if ((HEAPU8[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) { + break label$9 + } + $73_1 = ((HEAPU8[($7_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + HEAP8[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] = $73_1 & 1 | 0; + break label$1; + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($7_1 + 16 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + 1 | 0) << 4 | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $101_1 = $875(HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] = $101_1; + label$10 : { + if (!((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $111_1 = HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + $112_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + $113_1 = HEAP32[($112_1 + 104 | 0) >> 2] | 0; + HEAP32[($112_1 + 104 | 0) >> 2] = $113_1 + 1 | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = $111_1 + ($113_1 << 4 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP8[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] = HEAPU8[($7_1 + 35 | 0) >> 0] | 0; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 104 | 0) >> 2] = 0; + $118(HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 48 | 0; + return; + } + + function $1394($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $6_1 = 0, $66_1 = 0, $7_1 = 0, $109_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $6_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((((HEAPU8[($6_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($6_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 3 | 0) & 1 | 0) & 65535 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1497(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1497(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (2261 | 0) & 1 | 0)) { + break label$9 + } + $66_1 = 0; + break label$8; + } + $66_1 = $1326(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0) | 0; + } + HEAP32[(((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $66_1; + HEAP8[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + label$10 : { + if (!(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$10 + } + label$11 : { + if (((HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 1 | 0) & 65535 | 0) { + break label$11 + } + $5_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $7_1 = HEAPU8[($5_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($5_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 256 | 0; + HEAP8[($5_1 + 55 | 0) >> 0] = $7_1; + HEAP8[($5_1 + 56 | 0) >> 0] = $7_1 >>> 8 | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = 513; + } + $838(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + $109_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $109_1 | 0; + } + + function $1395($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $24_1 = 0, $30_1 = 0, $10_1 = 0, $57_1 = 0, $49_1 = 0, $51_1 = 0, $53_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 203 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$1 + } + $24_1 = 0; + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $30_1 = 1; + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$3 + } + $10_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $30_1 = (((HEAPU8[($10_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($10_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) ^ -1 | 0; + } + $24_1 = $30_1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = $24_1 & 1 | 0; + $49_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $51_1 = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + $53_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0 ? 33234 : 1352; + label$4 : { + label$5 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$5 + } + $57_1 = HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + break label$4; + } + $57_1 = 1352; + } + HEAP32[($5_1 + 8 | 0) >> 2] = $57_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $53_1; + HEAP32[$5_1 >> 2] = $51_1; + $1352($49_1 | 0, 0 | 0, 33216 | 0, $5_1 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1396($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $268_1 = 0, $8_1 = 0, $99_1 = 0, $102_1 = 0, $103_1 = 0, $104_1 = 0, $217_1 = 0, $232_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 112 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 72 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 100 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = (HEAPU8[(HEAP32[($7_1 + 92 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0; + label$1 : { + if (!(HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0)) { + break label$1 + } + $366(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$2 : { + label$3 : { + label$4 : { + if ((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0) { + break label$4 + } + if ((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (13 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (10 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($7_1 + 48 | 0) >> 2] = 0; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$2; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + label$7 : { + if ((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (12 | 0) & 1 | 0) { + break label$7 + } + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (14 | 0) & 1 | 0)) { + break label$6 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 96 | 0) >> 2] = 0; + break label$5; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1379(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + label$8 : { + label$9 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$9 + } + $99_1 = HEAP32[($7_1 + 108 | 0) >> 2] | 0; + $102_1 = (HEAP32[($99_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($99_1 + 44 | 0) >> 2] = $102_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $102_1; + $103_1 = HEAP32[($7_1 + 108 | 0) >> 2] | 0; + $104_1 = HEAP32[($103_1 + 40 | 0) >> 2] | 0; + HEAP32[($103_1 + 40 | 0) >> 2] = $104_1 + 1 | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = $104_1; + label$10 : { + if (!(HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0)) { + break label$10 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1276(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + } + $367(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 114 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, (((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 1 | 0) + (HEAP32[($7_1 + 96 | 0) >> 2] | 0) | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0) | 0; + label$11 : { + if (!(HEAP32[($7_1 + 72 | 0) >> 2] | 0)) { + break label$11 + } + $1277(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($366(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 35 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + $1701(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0); + $367(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 126 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$8; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($366(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 36 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + $1701(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = 1; + } + HEAP32[($7_1 + 32 | 0) >> 2] = 0; + HEAP32[($7_1 + 44 | 0) >> 2] = ((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0) - 1 | 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + label$14 : { + if ((HEAPU16[(((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) { + break label$14 + } + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 96 | 0) >> 2] | 0) - 1 | 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$15 + } + label$17 : { + label$18 : { + if (!(((HEAPU16[(((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($7_1 + 12 | 0) >> 2] = ((HEAPU16[(((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + break label$17; + } + $217_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = $217_1 + -1 | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = $217_1; + } + $367(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + -1 | 0; + continue label$16; + }; + } + $232_1 = (HEAP32[($7_1 + 60 | 0) >> 2] | 0) + -10 | 0; + label$19 : { + label$20 : { + switch ($232_1 | 0) { + case 2: + case 4: + $367(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 8 & 65535 | 0 | 0); + break label$19; + case 1: + $1278(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) | 0; + break label$19; + case 0: + break label$19; + case 5: + $268_1 = 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 91 | 0, (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) < ($268_1 | 0) & 1 | 0) | 0 | 0, (HEAP32[($7_1 + 96 | 0) >> 2] | 0) - ((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) < ($268_1 | 0) & 1 | 0) | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0; + label$25 : { + label$26 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) < ($268_1 | 0) & 1 | 0)) { + break label$26 + } + $367(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0; + break label$25; + } + $353(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + break label$19; + default: + break label$20; + }; + } + label$27 : { + label$28 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$28 + } + $366(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) | 0; + break label$27; + } + $1288(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + } + } + label$29 : { + if (!(HEAP32[($7_1 + 48 | 0) >> 2] | 0)) { + break label$29 + } + label$30 : { + label$31 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$31 + } + $1384(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0); + break label$30; + } + $1383(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0); + } + $1383(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + } + $1369(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0); + label$32 : { + label$33 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$33 + } + $366(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 3 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) | 0; + break label$32; + } + $366(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) | 0; + } + label$34 : { + if (!(HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$34 + } + $1288(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 65 | 0, HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + $1369(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 112 | 0; + return; + } + + function $1397($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $132$hi = 0, $127$hi = 0, $128$hi = 0, $31_1 = 0, $129$hi = 0, $130$hi = 0, $134$hi = 0, $32_1 = 0, $33_1 = 0, $34_1 = 0, $137$hi = 0, $138$hi = 0, $139$hi = 0, $140$hi = 0, $141$hi = 0, $142$hi = 0, $88_1 = 0, $18_1 = 0, $197_1 = 0, $35_1 = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, $124_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0) >>> 0 > (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $18_1 = 200; + i64toi32_i32$1 = HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $127$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $128$hi = i64toi32_i32$0; + i64toi32_i32$0 = $127$hi; + i64toi32_i32$0 = $128$hi; + i64toi32_i32$0 = $127$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $128$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $31_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $31_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $129$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $130$hi = i64toi32_i32$1; + i64toi32_i32$1 = $129$hi; + i64toi32_i32$1 = $130$hi; + $197_1 = i64toi32_i32$2; + i64toi32_i32$1 = $129$hi; + i64toi32_i32$0 = $31_1; + i64toi32_i32$2 = $130$hi; + i64toi32_i32$3 = $197_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + if (!(((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0 | 0) >= ($18_1 | 0) & 1 | 0)) { + break label$3 + } + $35_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = 200; + $349($35_1 | 0, 31906 | 0, $6_1 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$5 = 0; + $132$hi = i64toi32_i32$5; + i64toi32_i32$1 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $134$hi = i64toi32_i32$0; + i64toi32_i32$0 = $132$hi; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$0 = $132$hi; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $132$hi; + i64toi32_i32$3 = 200; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$5 | 0)) { + $32_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $33_1 = 0 + } else { + $33_1 = 1 + } + $34_1 = $33_1; + } else { + $34_1 = 0 + } + $32_1 = $34_1; + } + label$4 : { + if (!($32_1 & 1 | 0)) { + break label$4 + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = 200; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + $42_1 = 0; + $43_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $44_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $137$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $138$hi = i64toi32_i32$0; + i64toi32_i32$0 = $137$hi; + i64toi32_i32$0 = $138$hi; + i64toi32_i32$0 = $137$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$2 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + i64toi32_i32$4 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$4 | 0; + $139$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $140$hi = i64toi32_i32$4; + i64toi32_i32$4 = $139$hi; + i64toi32_i32$4 = $140$hi; + i64toi32_i32$4 = $139$hi; + i64toi32_i32$3 = $140$hi; + i64toi32_i32$3 = __wasm_i64_mul(i64toi32_i32$2 | 0, i64toi32_i32$4 | 0, 72 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $141$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $142$hi = i64toi32_i32$4; + i64toi32_i32$4 = $141$hi; + i64toi32_i32$4 = $142$hi; + i64toi32_i32$4 = $141$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $142$hi; + i64toi32_i32$5 = 80; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $70($43_1 | 0, $44_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == ($42_1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = i64toi32_i32$2; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $3288(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0, 72) | 0 | 0, ((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 72) | 0 | 0, 72 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + -1 | 0; + continue label$7; + }; + } + $88_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[$88_1 >> 2] = (HEAP32[$88_1 >> 2] | 0) + (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0; + $3289(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 28 | 0) >> 2] | 0, 72) | 0 | 0, 0 | 0, Math_imul(HEAP32[($6_1 + 32 | 0) >> 2] | 0, 72) | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[((((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 72) | 0) + 40 | 0) >> 2] = -1; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + $124_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $124_1 | 0; + } + + function $1398($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $63$hi = 0, i64toi32_i32$3 = 0, $8_1 = 0, $64$hi = 0, $65$hi = 0, $67$hi = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + i64toi32_i32$0 = 0; + $63$hi = i64toi32_i32$0; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 4 | 0) >> 2] = $8_1; + i64toi32_i32$2 = HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $64$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $65$hi = i64toi32_i32$1; + i64toi32_i32$1 = $64$hi; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$1 = $64$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $65$hi; + i64toi32_i32$3 = 262144; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $67$hi = i64toi32_i32$0; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$3 = 0; + label$1 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1651(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[$7_1 >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$7_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!(((HEAPU8[((HEAP32[$7_1 >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!($1814(HEAP32[((HEAP32[$7_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0 | ((HEAPU8[((HEAP32[$7_1 >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) | 0; + } + HEAP32[$7_1 >> 2] = HEAP32[((HEAP32[$7_1 >> 2] | 0) + 32 | 0) >> 2] | 0; + continue label$3; + }; + } + label$5 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + } + label$6 : { + label$7 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$7 + } + $58_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + break label$6; + } + $58_1 = 0; + } + global$0 = $7_1 + 32 | 0; + return $58_1 | 0; + } + + function $1399($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $94$hi = 0, i64toi32_i32$3 = 0, $95$hi = 0, $96$hi = 0, $98$hi = 0, $29_1 = 0, $91_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + i64toi32_i32$0 = 0; + $94$hi = i64toi32_i32$0; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $95$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $96$hi = i64toi32_i32$1; + i64toi32_i32$1 = $95$hi; + i64toi32_i32$1 = $96$hi; + i64toi32_i32$1 = $95$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $96$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $98$hi = i64toi32_i32$0; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $94$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if ((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + $29_1 = 1; + label$5 : { + if (($1650(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + $29_1 = (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0); + } + HEAP32[($6_1 + 8 | 0) >> 2] = $29_1 & 1 | 0; + break label$3; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if (!((0 | 0) == ($87(HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$9 : { + if (!($1815(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + HEAP32[($6_1 + 8 | 0) >> 2] = 1; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$7; + }; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1650(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + label$12 : { + if (!($1816(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + label$13 : { + if (!((HEAPU8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 26 | 0) >> 0] | 0) & 255 | 0)) { + break label$13 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($6_1 + 8 | 0) >> 2] = 1; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$11; + }; + } + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + $91_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $91_1 | 0; + } + + function $1400($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0, $23_1 = 0, $31_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!($1817(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + $9_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + $349($9_1 | 0, 33527 | 0, $5_1 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (HEAP32[($5_1 + 32 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $23_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + $349($23_1 | 0, 33556 | 0, $5_1 + 16 | 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $31_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $31_1 | 0; + } + + function $1401($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + return; + } + + function $1402($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($4_1 + 150 | 0) >> 1] = HEAPU16[($4_1 + 150 | 0) >> 1] | 0 | 16 | 0; + return; + } + + function $1403($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $9_1 = 0, $46_1 = 0, $44_1 = 0, $30_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $350(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 72 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1310(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0, $9_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1222(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, $9_1 | 0, $9_1 | 0, $9_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) != ($9_1 | 0) & 1 | 0)) { + break label$1 + } + $30_1 = $291(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($8_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = $30_1; + $40_1 = $291(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = $40_1; + } + $44_1 = $8_1 + 24 | 0; + $46_1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1213(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, $46_1 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0, $46_1 | 0, $46_1 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, 131072 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $1298($44_1 | 0, 12 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0); + $1210(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, $44_1 | 0) | 0; + $1139(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0); + global$0 = $8_1 + 80 | 0; + return; + } + + function $1404($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $20_1 = 0, $29_1 = 0, $43_1 = 0, $50_1 = 0, $54_1 = 0, $64_1 = 0, $74_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 36880 | 0; + $20_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($20_1 + 24 | 0) >> 2] = (HEAP32[($20_1 + 24 | 0) >> 2] | 0) & -36881 | 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 48; + HEAP32[($4_1 + 8 | 0) >> 2] = 47; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + $29_1 = HEAP32[$4_1 >> 2] | 0; + HEAP32[($29_1 + 212 | 0) >> 2] = (HEAP32[($29_1 + 212 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + label$3 : { + if (!($1312(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + $1547($4_1 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0; + $43_1 = HEAP32[$4_1 >> 2] | 0; + HEAP32[($43_1 + 212 | 0) >> 2] = (HEAP32[($43_1 + 212 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + $50_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($50_1 + 4 | 0) >> 2] = HEAP32[($50_1 + 4 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 32784 | 0) | 0; + $54_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($54_1 + 24 | 0) >> 2] = HEAP32[($54_1 + 24 | 0) >> 2] | 0 | (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0; + $64_1 = 1; + label$4 : { + if ((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$4 + } + $64_1 = (HEAP32[((HEAP32[$4_1 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) > (0 | 0); + } + HEAP32[($4_1 + 44 | 0) >> 2] = $64_1 & 1 | 0; + } + $74_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $74_1 | 0; + } + + function $1405($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1394(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1420(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, -9 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1406($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $32_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$2 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $32_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return (HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $1407($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$1; + } + $14_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = $14_1; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] = 1; + return; + } + + function $1408($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 0] | 0) & 1 | 0) & 255 | 0 | 0; + } + + function $1409($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, i64toi32_i32$1 = 0, $54_1 = 0, $65_1 = 0, $74_1 = 0, $95_1 = 0, $106_1 = 0, i64toi32_i32$0 = 0, $23_1 = 0, $130_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + $13_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $23_1 = $64($13_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = $23_1; + label$3 : { + if ((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != ($13_1 | 0) & 1 | 0) { + break label$3 + } + $118(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP16[($4_1 + 10 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $54_1 = 16; + label$6 : { + label$7 : { + if (!((((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $54_1 | 0) >> $54_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$7 + } + $65_1 = 16; + HEAP8[($4_1 + 9 | 0) >> 0] = HEAPU8[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $65_1 | 0) >> $65_1 | 0, 20) | 0) + 13 | 0) >> 0] | 0; + break label$6; + } + $74_1 = 16; + label$8 : { + label$9 : { + if (!((((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $74_1 | 0) >> $74_1 | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[($4_1 + 9 | 0) >> 0] = 68; + break label$8; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1543(HEAP32[(((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 9 | 0) >> 0] = wasm2js_i32$1; + } + } + $95_1 = 24; + label$10 : { + if (!((((HEAPU8[($4_1 + 9 | 0) >> 0] | 0) << $95_1 | 0) >> $95_1 | 0 | 0) < (65 | 0) & 1 | 0)) { + break label$10 + } + HEAP8[($4_1 + 9 | 0) >> 0] = 65; + } + $106_1 = 24; + label$11 : { + if (!((((HEAPU8[($4_1 + 9 | 0) >> 0] | 0) << $106_1 | 0) >> $106_1 | 0 | 0) > (67 | 0) & 1 | 0)) { + break label$11 + } + HEAP8[($4_1 + 9 | 0) >> 0] = 67; + } + HEAP8[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[($4_1 + 9 | 0) >> 0] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP8[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + $130_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $130_1 | 0; + } + + function $1410($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $31_1 = 0, $97_1 = 0, $12_1 = 0, $170_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 64 | 0; + global$0 = $10_1; + HEAP32[($10_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 48 | 0) >> 2] = $2_1; + HEAP8[($10_1 + 47 | 0) >> 0] = $3_1; + HEAP32[($10_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 32 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 28 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($10_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($10_1 + 60 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($10_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 52 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($10_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + } + $31_1 = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + HEAP32[($10_1 + 40 | 0) >> 2] = $31_1 + 1 | 0; + HEAP32[($10_1 + 16 | 0) >> 2] = $31_1; + label$4 : { + if (!((HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($10_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($10_1 + 16 | 0) >> 2] | 0; + } + label$5 : { + label$6 : { + if ((HEAP32[((HEAP32[($10_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$6 + } + label$7 : { + if ((HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$7 + } + if (!((HEAPU8[(HEAP32[($10_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$6 + } + } + $1462(HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0); + break label$5; + } + $1393(HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, ((HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0) == (97 | 0) & 1 | 0) & 255 | 0 | 0, HEAP32[(HEAP32[($10_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!((HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[(HEAP32[($10_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + } + HEAP32[($10_1 + 24 | 0) >> 2] = 0; + HEAP32[($10_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $97_1 = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + HEAP32[($10_1 + 40 | 0) >> 2] = $97_1 + 1 | 0; + HEAP32[($10_1 + 4 | 0) >> 2] = $97_1; + $12_1 = HEAP32[($10_1 + 12 | 0) >> 2] | 0; + label$11 : { + if (!((((HEAPU8[($12_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($12_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[((HEAP32[($10_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$11 + } + label$12 : { + if (!((HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[(HEAP32[($10_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($10_1 + 4 | 0) >> 2] | 0; + } + HEAP8[($10_1 + 47 | 0) >> 0] = 0; + } + label$13 : { + label$14 : { + if ((HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$14 + } + if (!((HEAPU8[((HEAP32[($10_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0)) { + break label$13 + } + } + $367(HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0) | 0; + $1405(HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0); + $354(HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0, ((HEAPU8[($10_1 + 47 | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0); + } + HEAP32[($10_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($10_1 + 24 | 0) >> 2] = (HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + label$15 : { + if (!((HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($10_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[((HEAP32[($10_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + } + HEAP32[($10_1 + 60 | 0) >> 2] = HEAP32[($10_1 + 24 | 0) >> 2] | 0; + } + $170_1 = HEAP32[($10_1 + 60 | 0) >> 2] | 0; + global$0 = $10_1 + 64 | 0; + return $170_1 | 0; + } + + function $1411($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($15_1 + 108 | 0) >> 2] = (HEAP32[($15_1 + 108 | 0) >> 2] | 0) + -1 | 0; + break label$1; + } + $1495(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1412($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, i64toi32_i32$1 = 0, $66_1 = 0, $67_1 = 0, i64toi32_i32$0 = 0, $63_1 = 0, $65_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$1; + } + $15_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = $15_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$3 : { + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + break label$3; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0) + 1 | 0) << 2 | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $45(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 256 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $63_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $65_1 = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0; + $66_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $67_1 = HEAP32[($66_1 + 208 | 0) >> 2] | 0; + HEAP32[($66_1 + 208 | 0) >> 2] = $67_1 + 1 | 0; + HEAP32[($65_1 + ($67_1 << 2 | 0) | 0) >> 2] = $63_1; + break label$3; + } + $118(HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1413($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1, $9_1, $10_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + $9_1 = $9_1 | 0; + $10_1 = $10_1 | 0; + var $13_1 = 0, $256_1 = 0, $51_1 = 0, $167_1 = 0, $37_1 = 0, $40_1 = 0, $72_1 = 0, $77_1 = 0, $86_1 = 0, $115_1 = 0, $119_1 = 0, $164_1 = 0, $181_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $13_1 = global$0 - 80 | 0; + global$0 = $13_1; + HEAP32[($13_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($13_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($13_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($13_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($13_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($13_1 + 56 | 0) >> 2] = $5_1; + HEAP16[($13_1 + 54 | 0) >> 1] = $6_1; + HEAP8[($13_1 + 53 | 0) >> 0] = $7_1; + HEAP8[($13_1 + 52 | 0) >> 0] = $8_1; + HEAP8[($13_1 + 51 | 0) >> 0] = $9_1; + HEAP32[($13_1 + 44 | 0) >> 2] = $10_1; + HEAP32[($13_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($13_1 + 36 | 0) >> 2] = 0; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1358(HEAP32[($13_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP8[($13_1 + 31 | 0) >> 0] = (HEAP32[((HEAP32[($13_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0 ? 29 : 32; + label$1 : { + if ((HEAPU8[($13_1 + 51 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + $37_1 = 16; + $353(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, (HEAPU8[($13_1 + 31 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($13_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, ((HEAPU16[($13_1 + 54 | 0) >> 1] | 0) << $37_1 | 0) >> $37_1 | 0 | 0) | 0; + } + $40_1 = 0; + label$2 : { + label$3 : { + if ($1399(HEAP32[($13_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, $40_1 | 0, $40_1 | 0) | 0) { + break label$3 + } + if (!((HEAP32[($13_1 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + } + $51_1 = 0; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1423(HEAP32[($13_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 68 | 0) >> 2] | 0 | 0, $51_1 | 0, $51_1 | 0, 3 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, (HEAPU8[($13_1 + 52 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $63_1 = $1422(HEAP32[($13_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($13_1 + 24 | 0) >> 2] = HEAP32[($13_1 + 24 | 0) >> 2] | 0 | $63_1 | 0; + HEAP32[($13_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($13_1 + 76 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $72_1 = 16; + $77_1 = HEAP32[($13_1 + 76 | 0) >> 2] | 0; + HEAP32[($77_1 + 44 | 0) >> 2] = (HEAP32[($77_1 + 44 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($13_1 + 72 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $72_1 | 0) >> $72_1 | 0) + 1 | 0) | 0; + $366(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, 77 | 0, HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($13_1 + 20 | 0) >> 2] = $51_1; + label$4 : { + label$5 : while (1) { + $86_1 = 16; + if (!((HEAP32[($13_1 + 20 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($13_1 + 72 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $86_1 | 0) >> $86_1 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : { + if ((HEAP32[($13_1 + 24 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { + break label$7 + } + if (!((HEAP32[($13_1 + 20 | 0) >> 2] | 0 | 0) <= (31 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[($13_1 + 24 | 0) >> 2] | 0) & (1 << (HEAP32[($13_1 + 20 | 0) >> 2] | 0) | 0) | 0)) { + break label$6 + } + } + $115_1 = 16; + $119_1 = 16; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = (($1424(HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, ((HEAP32[($13_1 + 20 | 0) >> 2] | 0) << $115_1 | 0) >> $115_1 | 0 | 0) | 0) << $119_1 | 0) >> $119_1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $1381(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 20 | 0) >> 2] | 0 | 0, ((HEAP32[($13_1 + 36 | 0) >> 2] | 0) + (HEAP32[($13_1 + 12 | 0) >> 2] | 0) | 0) + 1 | 0 | 0); + } + HEAP32[($13_1 + 20 | 0) >> 2] = (HEAP32[($13_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1296(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $1426(HEAP32[($13_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 68 | 0) >> 2] | 0 | 0, 126 | 0, 0 | 0, 1 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0, (HEAPU8[($13_1 + 52 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($13_1 + 32 | 0) >> 2] | 0 | 0); + label$8 : { + if (!((HEAP32[($13_1 + 16 | 0) >> 2] | 0 | 0) < ($1296(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + $164_1 = 16; + $353(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, (HEAPU8[($13_1 + 31 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($13_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, ((HEAPU16[($13_1 + 54 | 0) >> 1] | 0) << $164_1 | 0) >> $164_1 | 0 | 0) | 0; + HEAP32[($13_1 + 44 | 0) >> 2] = -1; + } + $167_1 = 0; + $1428(HEAP32[($13_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0, $167_1 | 0, $167_1 | 0, $167_1 | 0); + } + label$9 : { + if (!((HEAP32[((HEAP32[($13_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + $181_1 = 0; + HEAP8[($13_1 + 11 | 0) >> 0] = 0; + $1429(HEAP32[($13_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 60 | 0) >> 2] | 0 | 0, $181_1 | 0, HEAP32[($13_1 + 44 | 0) >> 2] | 0 | 0); + $366(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, 123 | 0, HEAP32[($13_1 + 64 | 0) >> 2] | 0 | 0, ((HEAPU8[($13_1 + 53 | 0) >> 0] | 0) & 255 | 0 ? 1 : $181_1) | 0) | 0; + label$10 : { + label$11 : { + if (!((HEAPU8[((HEAP32[($13_1 + 76 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + if (!((0 | 0) == ($87(HEAP32[(HEAP32[($13_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0, 8754 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + } + $1420(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, -6 | 0); + } + label$12 : { + if (!((HEAPU8[($13_1 + 51 | 0) >> 0] | 0) & 255 | 0)) { + break label$12 + } + $354(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, 4 & 65535 | 0 | 0); + } + label$13 : { + if (!((HEAP32[($13_1 + 44 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$13 + } + if (!((HEAP32[($13_1 + 44 | 0) >> 2] | 0 | 0) != (HEAP32[($13_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + $1288(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, 123 | 0, HEAP32[($13_1 + 44 | 0) >> 2] | 0 | 0) | 0; + } + label$14 : { + if (!(((HEAPU8[($13_1 + 51 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$14 + } + HEAP8[($13_1 + 11 | 0) >> 0] = (HEAPU8[($13_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 2 | 0; + } + $354(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, ((HEAPU8[($13_1 + 11 | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0); + } + $256_1 = 0; + $1431(HEAP32[($13_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, $256_1 | 0, HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0, $256_1 | 0, $256_1 | 0); + $1426(HEAP32[($13_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 68 | 0) >> 2] | 0 | 0, 126 | 0, $256_1 | 0, 2 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0, (HEAPU8[($13_1 + 52 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($13_1 + 32 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 32 | 0) >> 2] | 0 | 0); + global$0 = $13_1 + 80 | 0; + return; + } + + function $1414($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1818(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1415($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + } + return; + } + + function $1416($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, $8_1 = 0, i64toi32_i32$0 = 0, $37_1 = 0, $34_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $8_1 = $5_1 + 8 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + $37_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($5_1 + 28 | 0) >> 1] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 49; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $1547($8_1 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0; + label$1 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP16[($5_1 + 28 | 0) >> 1] = ((HEAPU16[($5_1 + 28 | 0) >> 1] | 0) & 65535 | 0) & -3 | 0; + } + $34_1 = ((HEAPU16[($5_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 | 0) & 1 | 0; + global$0 = $5_1 + 48 | 0; + return $34_1 | 0; + } + + function $1417($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1416(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $20_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $20_1 | 0; + } + + function $1418($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $16_1 = 0, $27_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP16[($6_1 + 10 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $16_1 = 16; + label$1 : { + label$2 : { + if (!((((HEAPU16[($6_1 + 10 | 0) >> 1] | 0) << $16_1 | 0) >> $16_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + $27_1 = 16; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + ((((HEAPU16[($6_1 + 10 | 0) >> 1] | 0) << $27_1 | 0) >> $27_1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1416(HEAP32[(((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $51_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $51_1 | 0; + } + + function $1419($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $182_1 = 0, $173_1 = 0, $23_1 = 0, $30_1 = 0, $31_1 = 0, $43_1 = 0, $70_1 = 0, $81_1 = 0, $100_1 = 0, $114_1 = 0, $118_1 = 0, $125_1 = 0, $184_1 = 0, $187_1 = 0, $188_1 = 0, $191_1 = 0, $208_1 = 0, $299_1 = 0, $308_1 = 0, $391_1 = 0, $383_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 128 | 0; + global$0 = $10_1; + HEAP32[($10_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 112 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 108 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 104 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 100 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 96 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($10_1 + 80 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 124 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1056(HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 72 | 0) >> 2] = 0; + $23_1 = 16; + HEAP32[($10_1 + 68 | 0) >> 2] = (((HEAPU16[((HEAP32[($10_1 + 116 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $23_1 | 0) >> $23_1 | 0) + 2 | 0; + HEAP32[($10_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + $30_1 = HEAP32[($10_1 + 124 | 0) >> 2] | 0; + $31_1 = HEAP32[($30_1 + 40 | 0) >> 2] | 0; + HEAP32[($30_1 + 40 | 0) >> 2] = $31_1 + 1 | 0; + HEAP32[($10_1 + 88 | 0) >> 2] = $31_1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $366(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 64 | 0) >> 2] = (HEAP32[((HEAP32[($10_1 + 124 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $43_1 = HEAP32[($10_1 + 124 | 0) >> 2] | 0; + HEAP32[($43_1 + 44 | 0) >> 2] = (HEAP32[($43_1 + 44 | 0) >> 2] | 0) + (HEAP32[($10_1 + 68 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[(HEAP32[($10_1 + 120 | 0) >> 2] | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($10_1 + 32 | 0) >> 2] = 0; + label$4 : { + label$5 : { + if ((HEAP32[((HEAP32[($10_1 + 116 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$5 + } + label$6 : { + label$7 : { + if (!((HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1310(HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$6; + } + $70_1 = 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1197(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 75 | 0, $70_1 | 0, $70_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + break label$4; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $416(HEAP32[($10_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP16[($10_1 + 22 | 0) >> 1] = HEAPU16[(HEAP32[((HEAP32[($10_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 1] | 0; + $81_1 = 16; + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($10_1 + 104 | 0) >> 2] | 0) + ((((HEAPU16[($10_1 + 22 | 0) >> 1] | 0) << $81_1 | 0) >> $81_1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + $100_1 = 16; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1310(HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($10_1 + 112 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[((HEAP32[($10_1 + 104 | 0) >> 2] | 0) + ((((HEAPU16[($10_1 + 22 | 0) >> 1] | 0) << $100_1 | 0) >> $100_1 | 0) << 2 | 0) | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$8; + } + $114_1 = 16; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1835(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, ((HEAPU16[($10_1 + 22 | 0) >> 1] | 0) << $114_1 | 0) >> $114_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + } + $118_1 = 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1214(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, $118_1 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 84 | 0) >> 2] = $118_1; + label$10 : { + label$11 : while (1) { + $125_1 = 16; + if (!((HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($10_1 + 116 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $125_1 | 0) >> $125_1 | 0 | 0) & 1 | 0)) { + break label$10 + } + label$12 : { + label$13 : { + if (!((HEAP32[((HEAP32[($10_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 84 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1214(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, $1310(HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($10_1 + 112 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[((HEAP32[($10_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 84 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + break label$12; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1214(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, $1835(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($10_1 + 84 | 0) >> 2] = (HEAP32[($10_1 + 84 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + $173_1 = 0; + $1421(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0, $173_1 | 0, $173_1 | 0); + $382(HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($10_1 + 40 | 0) >> 2] = $173_1; + break label$2; + } + $182_1 = 0; + $184_1 = HEAP32[($10_1 + 124 | 0) >> 2] | 0; + $187_1 = (HEAP32[($184_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($184_1 + 44 | 0) >> 2] = $187_1; + HEAP32[($10_1 + 60 | 0) >> 2] = $187_1; + $188_1 = HEAP32[($10_1 + 124 | 0) >> 2] | 0; + $191_1 = (HEAP32[($188_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($188_1 + 44 | 0) >> 2] = $191_1; + HEAP32[($10_1 + 56 | 0) >> 2] = $191_1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1362(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0, $182_1 | 0, $182_1 | 0, 4 & 65535 | 0 | 0, $182_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0) == ($182_1 | 0) & 1 | 0)) { + break label$14 + } + break label$1; + } + HEAP32[($10_1 + 84 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + $208_1 = 16; + if (!((HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($10_1 + 116 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $208_1 | 0) >> $208_1 | 0 | 0) & 1 | 0)) { + break label$15 + } + label$17 : { + label$18 : { + if (!((HEAP32[((HEAP32[($10_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 84 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$18 + } + $1281(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($10_1 + 112 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[((HEAP32[($10_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 84 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, ((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 2 | 0) + (HEAP32[($10_1 + 84 | 0) >> 2] | 0) | 0 | 0); + break label$17; + } + $367(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 167 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, ((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 2 | 0) + (HEAP32[($10_1 + 84 | 0) >> 2] | 0) | 0 | 0) | 0; + $354(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + } + HEAP32[($10_1 + 84 | 0) >> 2] = (HEAP32[($10_1 + 84 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + label$19 : { + label$20 : { + if ((HEAP32[((HEAP32[($10_1 + 116 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$20 + } + $366(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 64 | 0) >> 2] | 0 | 0) | 0; + label$21 : { + label$22 : { + if (!((HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + $1281(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 1 | 0 | 0); + break label$21; + } + $366(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + } + break label$19; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $416(HEAP32[($10_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP16[($10_1 + 14 | 0) >> 1] = HEAPU16[(HEAP32[((HEAP32[($10_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 1] | 0; + $299_1 = 16; + $367(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 167 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, ((HEAPU16[($10_1 + 14 | 0) >> 1] | 0) << $299_1 | 0) >> $299_1 | 0 | 0, HEAP32[($10_1 + 64 | 0) >> 2] | 0 | 0) | 0; + $308_1 = 16; + $366(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 78 | 0, ((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 2 | 0) + (((HEAPU16[($10_1 + 14 | 0) >> 1] | 0) << $308_1 | 0) >> $308_1 | 0) | 0 | 0, (HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1406(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, $10_1 + 44 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + label$24 : { + if (!(HEAP32[($10_1 + 40 | 0) >> 2] | 0)) { + break label$24 + } + $1367(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0) | 0; + $1288(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 116 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0) | 0; + break label$23; + } + $1407(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0); + $367(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($10_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 60 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0) | 0; + } + } + label$25 : { + if (HEAP32[($10_1 + 40 | 0) >> 2] | 0) { + break label$25 + } + label$26 : { + if (!((HEAP32[(HEAP32[($10_1 + 120 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$26 + } + $1373(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1288(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 84 | 0) >> 2] = 0; + label$27 : { + label$28 : while (1) { + if (!((HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0) < (HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + $367(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 64 | 0) >> 2] | 0) + (HEAP32[($10_1 + 84 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($10_1 + 84 | 0) >> 2] = (HEAP32[($10_1 + 84 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + } + $1412(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 116 | 0) >> 2] | 0 | 0); + $1278(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 10 | 0, 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0, -12 | 0) | 0; + $383_1 = HEAP32[($10_1 + 92 | 0) >> 2] | 0; + label$29 : { + label$30 : { + if (!((HEAP32[($10_1 + 96 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$30 + } + $391_1 = 2; + break label$29; + } + $391_1 = HEAP32[($10_1 + 96 | 0) >> 2] | 0; + } + $354($383_1 | 0, $391_1 & 65535 | 0 | 0); + $1295(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0); + label$31 : { + if (HEAP32[($10_1 + 40 | 0) >> 2] | 0) { + break label$31 + } + $366(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 36 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $1277(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0); + $366(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 116 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + break label$1; + } + $1373(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0); + } + global$0 = $10_1 + 128 | 0; + return; + } + + function $1420($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $370(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[$5_1 >> 2] = (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 1 | 0) >> 0] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1421($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $11_1 = 0, $109_1 = 0, $32_1 = 0, $63_1 = 0, $91_1 = 0, $153_1 = 0, $178_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 112 | 0; + global$0 = $10_1; + $11_1 = 0; + HEAP32[($10_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 92 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 88 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 84 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 80 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 44 | 0) >> 2] = $11_1; + HEAP32[($10_1 + 40 | 0) >> 2] = $11_1; + HEAP32[($10_1 + 36 | 0) >> 2] = $11_1; + HEAP32[($10_1 + 32 | 0) >> 2] = $11_1; + HEAP32[($10_1 + 28 | 0) >> 2] = $11_1; + HEAP32[($10_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($10_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 92 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1476(HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, $11_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1310(HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, $11_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) != ($11_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($10_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] = -1; + $32_1 = HEAP32[((HEAP32[($10_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($32_1 + 32 | 0) >> 2] = (HEAP32[($32_1 + 32 | 0) >> 2] | 0) + -1 | 0; + HEAP32[((HEAP32[($10_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + } + label$2 : { + label$3 : { + if (!((HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($10_1 + 76 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($10_1 + 100 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$4 + } + $63_1 = 16; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1835(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[((HEAP32[($10_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 76 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $63_1 | 0) >> $63_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1214(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 76 | 0) >> 2] = (HEAP32[($10_1 + 76 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($10_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 ? 14 : 15; + break label$2; + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($10_1 + 76 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + $91_1 = 16; + if (!((HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $91_1 | 0) >> $91_1 | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1214(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, $1835(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 76 | 0) >> 2] = (HEAP32[($10_1 + 76 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + HEAP32[($10_1 + 8 | 0) >> 2] = 14; + break label$6; + } + $109_1 = 0; + HEAP32[($10_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 ? 14 : 15; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1214(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, $109_1 | 0, $1197(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, 75 | 0, $109_1 | 0, $109_1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + } + label$10 : { + if (!((HEAP32[($10_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($10_1 + 76 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($10_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1214(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, $1310(HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($10_1 + 96 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 76 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 76 | 0) >> 2] = (HEAP32[($10_1 + 76 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + } + $153_1 = 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1213(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0, $153_1 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0, 8519680 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $1298($10_1 + 48 | 0 | 0, HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0); + label$13 : { + label$14 : { + if (!((HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0) != ($153_1 | 0) & 1 | 0)) { + break label$14 + } + $178_1 = (HEAPU16[((HEAP32[($10_1 + 100 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + break label$13; + } + $178_1 = -1; + } + HEAP32[($10_1 + 56 | 0) >> 2] = $178_1; + $1210(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, $10_1 + 48 | 0 | 0) | 0; + $1139(HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0); + global$0 = $10_1 + 112 | 0; + return; + } + + function $1422($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $137$hi = 0, i64toi32_i32$3 = 0, $72_1 = 0, $138$hi = 0, $139$hi = 0, $141$hi = 0, $44_1 = 0, $104_1 = 0, $113_1 = 0, $122_1 = 0, $134_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $137$hi = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $138$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $139$hi = i64toi32_i32$1; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$1 = $139$hi; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $141$hi = i64toi32_i32$0; + i64toi32_i32$0 = $137$hi; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$0 = $137$hi; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $137$hi; + i64toi32_i32$3 = 0; + label$1 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : { + if (!((HEAP32[(((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) > (31 | 0) & 1 | 0)) { + break label$7 + } + $44_1 = -1; + break label$6; + } + $44_1 = 1 << (HEAP32[(((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0) | 0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0 | $44_1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$3; + }; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1650(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $72_1 = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $72_1; + $1464(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0, $72_1 | 0) | 0; + label$10 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != ($72_1 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$11 + } + $104_1 = 16; + label$13 : { + label$14 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $104_1 | 0) >> $104_1 | 0 | 0) > (31 | 0) & 1 | 0)) { + break label$14 + } + $113_1 = -1; + break label$13; + } + $122_1 = 16; + $113_1 = 1 << (((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $122_1 | 0) >> $122_1 | 0) | 0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0 | $113_1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$9; + }; + } + } + $134_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $134_1 | 0; + } + + function $1423($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $10_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 48 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 16 | 0) >> 2] = (HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) != ($10_1 | 0) & 1 | 0 ? 127 : 126; + HEAP32[($9_1 + 12 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 8 | 0) >> 2] = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($9_1 + 28 | 0) >> 2] | 0) & ((HEAPU8[((HEAP32[($9_1 + 8 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) | 0)) { + break label$3 + } + if (!($1814(HEAP32[((HEAP32[($9_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1819(HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($9_1 + 12 | 0) >> 2] = HEAP32[($9_1 + 12 | 0) >> 2] | 0 | (HEAP32[(((HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($9_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + } + } + HEAP32[($9_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + continue label$2; + }; + } + $72_1 = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + global$0 = $9_1 + 48 | 0; + return $72_1 | 0; + } + + function $1424($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0, $24_1 = 0, $62_1 = 0, $68_1 = 0, $74_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP16[($4_1 + 22 | 0) >> 1] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 32 | 0)) { + break label$3 + } + $11_1 = 16; + if (!((((HEAPU16[($4_1 + 22 | 0) >> 1] | 0) << $11_1 | 0) >> $11_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP16[($4_1 + 30 | 0) >> 1] = HEAPU16[($4_1 + 22 | 0) >> 1] | 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP16[($4_1 + 14 | 0) >> 1] = 0; + label$4 : { + label$5 : while (1) { + $24_1 = 16; + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (((HEAPU16[($4_1 + 22 | 0) >> 1] | 0) << $24_1 | 0) >> $24_1 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (((HEAPU16[(((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$6 + } + HEAP16[($4_1 + 14 | 0) >> 1] = (HEAPU16[($4_1 + 14 | 0) >> 1] | 0) + 1 | 0; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$7 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$7 + } + $62_1 = 16; + $68_1 = 16; + HEAP16[($4_1 + 30 | 0) >> 1] = ((((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 1] | 0) << $62_1 | 0) >> $62_1 | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) - (((HEAPU16[($4_1 + 14 | 0) >> 1] | 0) << $68_1 | 0) >> $68_1 | 0) | 0; + break label$1; + } + HEAP16[($4_1 + 30 | 0) >> 1] = HEAPU16[($4_1 + 14 | 0) >> 1] | 0; + } + $74_1 = 16; + return ((HEAPU16[($4_1 + 30 | 0) >> 1] | 0) << $74_1 | 0) >> $74_1 | 0 | 0; + } + + function $1425($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $111_1 = 0, $117_1 = 0, $18_1 = 0, $27_1 = 0, $78_1 = 0, $102_1 = 0, $121_1 = 0, $145_1 = 0, $153_1 = 0, $168_1 = 0, $172_1 = 0, $180_1 = 0, $197_1 = 0, $213_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 96 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 84 | 0) >> 2] = $2_1; + $1300(HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + label$1 : { + if (!((HEAP32[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 64 | 0)) { + break label$1 + } + $18_1 = $1467(HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $18_1; + if (!(((HEAPU8[$18_1 >> 0] | 0) & 255 | 0 | 0) == (90 | 0) & 1 | 0)) { + break label$1 + } + $27_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $27_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $27_1; + label$2 : { + label$3 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 32 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$5 + } + break label$4; + } + label$6 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 32 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0)) { + break label$6 + } + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0) >> 0] = 64; + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + HEAP32[($5_1 + 80 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + $78_1 = 16; + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $78_1 | 0) >> $78_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 80 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$9 + } + $102_1 = (HEAP32[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 80 | 0) >> 2] | 0, 20) | 0; + HEAP16[($102_1 + 16 | 0) >> 1] = (HEAPU16[($102_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 128 | 0; + } + HEAP32[($5_1 + 80 | 0) >> 2] = (HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + $111_1 = 0; + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = 50; + HEAP32[($5_1 + 56 | 0) >> 2] = $111_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $111_1; + HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 52 | 0) >> 2] = $111_1 - (HEAP32[($5_1 + 88 | 0) >> 2] | 0) | 0; + label$10 : while (1) { + $117_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $117_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $117_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $117_1; + label$11 : { + label$12 : while (1) { + $121_1 = 16; + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $121_1 | 0) >> $121_1 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 80 | 0) >> 2] | 0, 20) | 0; + label$13 : { + label$14 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$14 + } + $145_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP16[($145_1 + 16 | 0) >> 1] = (HEAPU16[($145_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 256 | 0; + HEAP16[($5_1 + 68 | 0) >> 1] = 0; + $1547($5_1 + 48 | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + $153_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP16[($153_1 + 16 | 0) >> 1] = ((HEAPU16[($153_1 + 16 | 0) >> 1] | 0) & 65535 | 0) & -257 | 0; + label$15 : { + if (!(((HEAPU16[($5_1 + 68 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$15 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$13; + } + HEAP32[($5_1 + 40 | 0) >> 2] = 1; + $168_1 = 16; + $172_1 = 16; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ((($1424(HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 80 | 0) >> 2] | 0) << $168_1 | 0) >> $168_1 | 0 | 0) | 0) << $172_1 | 0) >> $172_1 | 0) + (HEAP32[($5_1 + 88 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $1499(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + $180_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP16[($180_1 + 16 | 0) >> 1] = ((HEAPU16[($180_1 + 16 | 0) >> 1] | 0) & 65535 | 0) & -129 | 0; + } + } + HEAP32[($5_1 + 80 | 0) >> 2] = (HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + $197_1 = 0; + label$16 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $197_1 = (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0); + } + if ($197_1 & 1 | 0) { + continue label$10 + } + break label$10; + }; + label$17 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + $213_1 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + $349($213_1 | 0, 26856 | 0, $5_1 | 0); + } + HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + global$0 = $5_1 + 96 | 0; + return; + } + + function $1426($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0; + $11_1 = global$0 - 48 | 0; + global$0 = $11_1; + HEAP32[($11_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 12 | 0) >> 2] = $8_1; + HEAP32[($11_1 + 8 | 0) >> 2] = HEAP32[($11_1 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($11_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($11_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($11_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($11_1 + 8 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + if (!($1814(HEAP32[((HEAP32[($11_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + $1820(HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($11_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($11_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $11_1 + 48 | 0; + return; + } + + function $1427($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1, $9_1, $10_1, $11_1, $12_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + $9_1 = $9_1 | 0; + $10_1 = $10_1 | 0; + $11_1 = $11_1 | 0; + $12_1 = $12_1 | 0; + var $15_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $16_1 = 0, $49_1 = 0, $1446$hi = 0, $1452$hi = 0, $1458$hi = 0, $398_1 = 0, $410_1 = 0, $420_1 = 0, $686_1 = 0, $1464$hi = 0, $1467$hi = 0, $908_1 = 0, $1470$hi = 0, $1473$hi = 0, $30_1 = 0, $72_1 = 0, $159_1 = 0, $1447$hi = 0, $1448$hi = 0, $1450$hi = 0, $253_1 = 0, $348_1 = 0, $379_1 = 0, $1453$hi = 0, $1454$hi = 0, $1456$hi = 0, $392_1 = 0, $1459$hi = 0, $1460$hi = 0, $1462$hi = 0, $409_1 = 0, $427_1 = 0, $430_1 = 0, $551_1 = 0, $572_1 = 0, $733_1 = 0, $742_1 = 0, $772_1 = 0, $790_1 = 0, $794_1 = 0, $1465$hi = 0, $1466$hi = 0, $1471$hi = 0, $1472$hi = 0, $958_1 = 0, $1026_1 = 0, $1030_1 = 0, $85_1 = 0, $1070_1 = 0, $1100_1 = 0, $1121_1 = 0, $1125_1 = 0, $1148_1 = 0, $1184_1 = 0, $1204_1 = 0, $1261_1 = 0, $1265_1 = 0, $1269_1 = 0, $1292_1 = 0, $1301_1 = 0, $1313_1 = 0, $1427_1 = 0, $175_1 = 0, $177_1 = 0, $3446 = 0, $3482 = 0, $4230 = 0, $4250 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $15_1 = global$0 - 288 | 0; + global$0 = $15_1; + $16_1 = 0; + HEAP32[($15_1 + 284 | 0) >> 2] = $0_1; + HEAP32[($15_1 + 280 | 0) >> 2] = $1_1; + HEAP32[($15_1 + 276 | 0) >> 2] = $2_1; + HEAP32[($15_1 + 272 | 0) >> 2] = $3_1; + HEAP32[($15_1 + 268 | 0) >> 2] = $4_1; + HEAP32[($15_1 + 264 | 0) >> 2] = $5_1; + HEAP32[($15_1 + 260 | 0) >> 2] = $6_1; + HEAP8[($15_1 + 259 | 0) >> 0] = $7_1; + HEAP8[($15_1 + 258 | 0) >> 0] = $8_1; + HEAP32[($15_1 + 252 | 0) >> 2] = $9_1; + HEAP32[($15_1 + 248 | 0) >> 2] = $10_1; + HEAP32[($15_1 + 244 | 0) >> 2] = $11_1; + HEAP32[($15_1 + 240 | 0) >> 2] = $12_1; + HEAP32[($15_1 + 228 | 0) >> 2] = $16_1; + HEAP32[($15_1 + 204 | 0) >> 2] = $16_1; + HEAP32[($15_1 + 196 | 0) >> 2] = $16_1; + HEAP8[($15_1 + 194 | 0) >> 0] = 0; + HEAP32[($15_1 + 188 | 0) >> 2] = $16_1; + HEAP32[($15_1 + 184 | 0) >> 2] = $16_1; + HEAP32[($15_1 + 180 | 0) >> 2] = $16_1; + HEAP32[($15_1 + 176 | 0) >> 2] = $16_1; + HEAP32[($15_1 + 168 | 0) >> 2] = $16_1; + HEAP32[($15_1 + 164 | 0) >> 2] = $16_1; + HEAP32[($15_1 + 156 | 0) >> 2] = $16_1; + HEAP8[($15_1 + 195 | 0) >> 0] = (HEAP32[($15_1 + 260 | 0) >> 2] | 0 | 0) != ($16_1 | 0) & 1 | 0; + HEAP32[($15_1 + 224 | 0) >> 2] = HEAP32[(HEAP32[($15_1 + 284 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($15_1 + 236 | 0) >> 2] = HEAP32[((HEAP32[($15_1 + 284 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $30_1 = 16; + HEAP32[($15_1 + 212 | 0) >> 2] = ((HEAPU16[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $30_1 | 0) >> $30_1 | 0; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$2 + } + HEAP32[($15_1 + 228 | 0) >> 2] = 0; + HEAP32[($15_1 + 200 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $416(HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15_1 + 200 | 0) >> 2] = (HEAPU16[((HEAP32[($15_1 + 228 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + } + label$3 : { + if (!((HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 2048 | 0)) { + break label$3 + } + $49_1 = 0; + HEAP32[($15_1 + 152 | 0) >> 2] = $49_1; + HEAP32[($15_1 + 148 | 0) >> 2] = $49_1; + HEAP32[($15_1 + 144 | 0) >> 2] = $49_1; + label$4 : while (1) { + HEAP32[($15_1 + 220 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($15_1 + 220 | 0) >> 2] | 0 | 0) < (HEAP32[($15_1 + 212 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($15_1 + 136 | 0) >> 2] = (HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($15_1 + 220 | 0) >> 2] | 0, 20) | 0; + HEAP32[($15_1 + 208 | 0) >> 2] = (HEAPU8[((HEAP32[($15_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0; + label$7 : { + label$8 : { + if (HEAP32[($15_1 + 208 | 0) >> 2] | 0) { + break label$8 + } + break label$7; + } + $72_1 = 16; + label$9 : { + if (!((HEAP32[($15_1 + 220 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $72_1 | 0) >> $72_1 | 0 | 0) & 1 | 0)) { + break label$9 + } + break label$7; + } + HEAP32[($15_1 + 132 | 0) >> 2] = ((HEAPU16[((HEAP32[($15_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0; + label$10 : { + if (!(HEAP32[($15_1 + 132 | 0) >> 2] | 0)) { + break label$10 + } + if (HEAP32[($15_1 + 152 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[($15_1 + 144 | 0) >> 2] = (HEAP32[($15_1 + 144 | 0) >> 2] | 0) + 1 | 0; + break label$7; + } + label$11 : { + if (!((HEAP32[($15_1 + 244 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[((HEAP32[($15_1 + 244 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 220 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$11 + } + if (HEAP32[($15_1 + 132 | 0) >> 2] | 0) { + break label$11 + } + break label$7; + } + label$12 : { + label$13 : { + if (!(((HEAPU8[($15_1 + 258 | 0) >> 0] | 0) & 255 | 0 | 0) != (11 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($15_1 + 208 | 0) >> 2] = (HEAPU8[($15_1 + 258 | 0) >> 0] | 0) & 255 | 0; + break label$12; + } + label$14 : { + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($15_1 + 208 | 0) >> 2] = 2; + } + } + label$15 : { + label$16 : { + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + label$18 : { + label$19 : { + if (HEAP32[($15_1 + 152 | 0) >> 2] | 0) { + break label$19 + } + if (!((HEAP32[((HEAP32[($15_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$18 + } + } + HEAP32[($15_1 + 208 | 0) >> 2] = 2; + break label$17; + } + } + break label$15; + } + label$20 : { + if (!(HEAP32[($15_1 + 152 | 0) >> 2] | 0)) { + break label$20 + } + if (HEAP32[($15_1 + 132 | 0) >> 2] | 0) { + break label$20 + } + break label$7; + } + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = (($1424(HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, HEAP16[($15_1 + 220 | 0) >> 1] | 0 | 0) | 0) + (HEAP32[($15_1 + 264 | 0) >> 2] | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + $159_1 = (HEAP32[($15_1 + 208 | 0) >> 2] | 0) + -1 | 0; + label$21 : { + label$22 : { + switch ($159_1 | 0) { + case 4: + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1288(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 51 | 0, HEAP32[($15_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15_1 + 148 | 0) >> 2] = (HEAP32[($15_1 + 148 | 0) >> 2] | 0) + 1 | 0; + $1523(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($15_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 140 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 128 | 0) >> 2] | 0 | 0); + break label$21; + case 1: + $1295(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0); + case 0: + case 2: + $175_1 = HEAP32[($15_1 + 224 | 0) >> 2] | 0; + $177_1 = HEAP32[(HEAP32[($15_1 + 280 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($15_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($15_1 + 136 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$15_1 >> 2] = $177_1; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $351($175_1 | 0, 28578 | 0, $15_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 67 | 0, 1299 | 0, HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 140 | 0) >> 2] | 0 | 0) | 0; + $1420(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 124 | 0) >> 2] | 0 | 0, -7 | 0); + $354(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + break label$21; + default: + break label$22; + }; + } + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($15_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 252 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($15_1 + 220 | 0) >> 2] = (HEAP32[($15_1 + 220 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$26 : { + label$27 : { + if (HEAP32[($15_1 + 144 | 0) >> 2] | 0) { + break label$27 + } + if (HEAP32[($15_1 + 148 | 0) >> 2] | 0) { + break label$27 + } + break label$26; + } + label$28 : { + if (!(HEAP32[($15_1 + 152 | 0) >> 2] | 0)) { + break label$28 + } + break label$26; + } + HEAP32[($15_1 + 152 | 0) >> 2] = 1; + label$29 : { + if (!((HEAP32[($15_1 + 148 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$29 + } + if (!((HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$29 + } + $1425(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 264 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0); + } + continue label$4; + } + break label$4; + }; + } + label$30 : { + if (!((HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$30 + } + i64toi32_i32$0 = 0; + $1446$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($15_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $1447$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1448$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1447$hi; + i64toi32_i32$1 = $1448$hi; + i64toi32_i32$1 = $1447$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $1448$hi; + i64toi32_i32$3 = 512; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $1450$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1446$hi; + i64toi32_i32$0 = $1450$hi; + i64toi32_i32$0 = $1446$hi; + i64toi32_i32$0 = $1450$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $1446$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($15_1 + 120 | 0) >> 2] = HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($15_1 + 284 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0 - ((HEAP32[($15_1 + 264 | 0) >> 2] | 0) + 1 | 0) | 0; + label$31 : { + label$32 : { + if (!(((HEAPU8[($15_1 + 258 | 0) >> 0] | 0) & 255 | 0 | 0) != (11 | 0) & 1 | 0)) { + break label$32 + } + $253_1 = (HEAPU8[($15_1 + 258 | 0) >> 0] | 0) & 255 | 0; + break label$31; + } + $253_1 = 2; + } + HEAP32[($15_1 + 208 | 0) >> 2] = $253_1; + HEAP32[($15_1 + 220 | 0) >> 2] = 0; + label$33 : { + label$34 : while (1) { + if (!((HEAP32[($15_1 + 220 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($15_1 + 120 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[($15_1 + 108 | 0) >> 2] = HEAP32[(((HEAP32[($15_1 + 120 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($15_1 + 220 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$35 : { + label$36 : { + if (!((HEAP32[($15_1 + 244 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$36 + } + if ($1416(HEAP32[($15_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 244 | 0) >> 2] | 0 | 0, (HEAPU8[($15_1 + 259 | 0) >> 0] | 0) & 255 | 0 | 0) | 0) { + break label$36 + } + break label$35; + } + label$37 : { + if ((HEAPU8[($15_1 + 194 | 0) >> 0] | 0) & 255 | 0) { + break label$37 + } + $1300(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 264 | 0) >> 2] | 0) + 1 | 0 | 0); + HEAP8[($15_1 + 194 | 0) >> 0] = 1; + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1358(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1310(HEAP32[($15_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 108 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$38 : { + if (((HEAPU8[((HEAP32[($15_1 + 224 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$38 + } + $1468(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 116 | 0) >> 2] | 0 | 0, 16 | 0); + } + $18(HEAP32[($15_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 112 | 0) >> 2] | 0 | 0); + label$39 : { + label$40 : { + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$40 + } + $1282(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 252 | 0) >> 2] | 0 | 0) | 0; + break label$39; + } + HEAP32[($15_1 + 104 | 0) >> 2] = HEAP32[((((HEAP32[($15_1 + 120 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($15_1 + 220 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$41 : { + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$41 + } + HEAP32[($15_1 + 208 | 0) >> 2] = 2; + } + $348_1 = 24; + $1522(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, 275 | 0, HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 104 | 0) >> 2] | 0 | 0, (0 << $348_1 | 0) >> $348_1 | 0 | 0, 3 & 255 | 0 | 0); + } + $1369(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 116 | 0) >> 2] | 0 | 0); + } + HEAP32[($15_1 + 220 | 0) >> 2] = (HEAP32[($15_1 + 220 | 0) >> 2] | 0) + 1 | 0; + continue label$34; + }; + } + HEAP32[((HEAP32[($15_1 + 284 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + } + label$42 : { + if (!((HEAP32[($15_1 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$42 + } + label$43 : { + label$44 : { + if (!((HEAP32[(HEAP32[($15_1 + 240 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$44 + } + HEAP8[($15_1 + 258 | 0) >> 0] = 4; + HEAP32[($15_1 + 240 | 0) >> 2] = 0; + break label$43; + } + $379_1 = HEAP32[((HEAP32[($15_1 + 240 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($15_1 + 196 | 0) >> 2] = $379_1; + label$45 : { + if (!(($379_1 | 0) != (0 | 0) & 1 | 0)) { + break label$45 + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1276(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 11 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + } + } + } + i64toi32_i32$1 = 0; + $1452$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($15_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $1453$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $1454$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1453$hi; + i64toi32_i32$0 = $1454$hi; + i64toi32_i32$0 = $1453$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $1454$hi; + i64toi32_i32$2 = 24576; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $1456$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1452$hi; + i64toi32_i32$1 = $1456$hi; + i64toi32_i32$1 = $1452$hi; + i64toi32_i32$1 = $1456$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $1452$hi; + i64toi32_i32$2 = 0; + label$46 : { + label$47 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$47 + } + $392_1 = 0; + HEAP32[($15_1 + 160 | 0) >> 2] = $392_1; + HEAP32[($15_1 + 172 | 0) >> 2] = $392_1; + break label$46; + } + i64toi32_i32$0 = 0; + $1458$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($15_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $1459$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1460$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1459$hi; + i64toi32_i32$1 = $1460$hi; + i64toi32_i32$1 = $1459$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $1460$hi; + i64toi32_i32$3 = 8192; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $1462$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1458$hi; + i64toi32_i32$0 = $1462$hi; + i64toi32_i32$0 = $1458$hi; + i64toi32_i32$0 = $1462$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $1458$hi; + i64toi32_i32$3 = 0; + label$48 : { + label$49 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$49 + } + $398_1 = 0; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1398(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, 126 | 0, $398_1 | 0, $398_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_i32$1; + $409_1 = 1; + label$50 : { + if ((HEAP32[($15_1 + 160 | 0) >> 2] | 0 | 0) != ($398_1 | 0) & 1 | 0) { + break label$50 + } + $410_1 = 0; + $409_1 = ($1399(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, $410_1 | 0, $410_1 | 0) | 0 | 0) != ($410_1 | 0); + } + HEAP32[($15_1 + 172 | 0) >> 2] = $409_1 & 1 | 0; + break label$48; + } + $420_1 = 0; + HEAP32[($15_1 + 160 | 0) >> 2] = $420_1; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1399(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, $420_1 | 0, $420_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + } + label$51 : { + if (!(HEAP32[($15_1 + 172 | 0) >> 2] | 0)) { + break label$51 + } + $427_1 = HEAP32[($15_1 + 284 | 0) >> 2] | 0; + $430_1 = (HEAP32[($427_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($427_1 + 44 | 0) >> 2] = $430_1; + HEAP32[($15_1 + 172 | 0) >> 2] = $430_1; + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($15_1 + 172 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1358(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15_1 + 168 | 0) >> 2] = HEAP32[($15_1 + 164 | 0) >> 2] | 0; + } + } + label$52 : { + if (!((HEAPU8[($15_1 + 259 | 0) >> 0] | 0) & 255 | 0)) { + break label$52 + } + if (!((HEAP32[($15_1 + 228 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$52 + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1358(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15_1 + 208 | 0) >> 2] = (HEAPU8[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 50 | 0) >> 0] | 0) & 255 | 0; + label$53 : { + label$54 : { + if (!(((HEAPU8[($15_1 + 258 | 0) >> 0] | 0) & 255 | 0 | 0) != (11 | 0) & 1 | 0)) { + break label$54 + } + HEAP32[($15_1 + 208 | 0) >> 2] = (HEAPU8[($15_1 + 258 | 0) >> 0] | 0) & 255 | 0; + break label$53; + } + label$55 : { + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$55 + } + HEAP32[($15_1 + 208 | 0) >> 2] = 2; + } + } + label$56 : { + if (!((HEAP32[($15_1 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$56 + } + if (!((HEAP32[((HEAP32[($15_1 + 240 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$56 + } + label$57 : { + label$58 : { + if (!((HEAP32[((HEAP32[($15_1 + 240 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$58 + } + HEAP32[($15_1 + 208 | 0) >> 2] = 4; + break label$57; + } + HEAP32[($15_1 + 208 | 0) >> 2] = 6; + } + } + label$59 : { + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$59 + } + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) != ((HEAPU8[($15_1 + 258 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$59 + } + if (!((HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$59 + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = ($1276(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 11 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + } + label$60 : { + if (!(((HEAPU8[($15_1 + 195 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$60 + } + $367(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[($15_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 260 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 144 & 65535 | 0 | 0); + } + $367(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[($15_1 + 272 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 264 | 0) >> 2] | 0 | 0) | 0; + $551_1 = (HEAP32[($15_1 + 208 | 0) >> 2] | 0) + -1 | 0; + label$61 : { + label$62 : { + switch ($551_1 | 0) { + default: + HEAP32[($15_1 + 208 | 0) >> 2] = 2; + case 0: + case 1: + case 2: + $1837(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0); + break label$61; + case 4: + label$67 : { + label$68 : { + if (!(HEAP32[($15_1 + 172 | 0) >> 2] | 0)) { + break label$68 + } + $1407(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0); + $572_1 = 16; + $1413(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 272 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 264 | 0) >> 2] | 0 | 0, (1 << $572_1 | 0) >> $572_1 | 0 | 0, 0 & 255 | 0 | 0, 5 & 255 | 0 | 0, 1 & 255 | 0 | 0, -1 | 0); + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[($15_1 + 172 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[($15_1 + 156 | 0) >> 2] = (HEAP32[($15_1 + 156 | 0) >> 2] | 0) + 1 | 0; + break label$67; + } + label$69 : { + if (!((HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$69 + } + $1407(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0); + $1429(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 272 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, -1 | 0); + } + } + HEAP32[($15_1 + 204 | 0) >> 2] = 1; + break label$61; + case 5: + $1838(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 240 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($15_1 + 272 | 0) >> 2] | 0 | 0); + break; + case 3: + break label$62; + }; + } + $1282(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 252 | 0) >> 2] | 0 | 0) | 0; + } + $1369(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 100 | 0) >> 2] | 0 | 0); + label$70 : { + if (!(HEAP32[($15_1 + 180 | 0) >> 2] | 0)) { + break label$70 + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1276(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 11 | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; + $1277(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 180 | 0) >> 2] | 0) - 1 | 0 | 0); + } + } + HEAP32[($15_1 + 216 | 0) >> 2] = 0; + HEAP32[($15_1 + 232 | 0) >> 2] = HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$71 : { + label$72 : while (1) { + if (!((HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$71 + } + label$73 : { + label$74 : { + if (HEAP32[((HEAP32[($15_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 216 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) { + break label$74 + } + break label$73; + } + label$75 : { + label$76 : { + if (!((HEAP32[($15_1 + 196 | 0) >> 2] | 0 | 0) == (HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$76 + } + HEAP32[($15_1 + 84 | 0) >> 2] = (HEAP32[($15_1 + 184 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1282(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + $1277(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 184 | 0) >> 2] | 0 | 0); + break label$75; + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1358(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + label$77 : { + if ((HEAPU8[($15_1 + 194 | 0) >> 0] | 0) & 255 | 0) { + break label$77 + } + label$78 : { + if ((HEAP32[($15_1 + 196 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$78 + } + if (!((HEAP32[($15_1 + 196 | 0) >> 2] | 0 | 0) == (HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$77 + } + } + $1300(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 264 | 0) >> 2] | 0) + 1 | 0 | 0); + HEAP8[($15_1 + 194 | 0) >> 0] = 1; + } + HEAP32[($15_1 + 88 | 0) >> 2] = (HEAP32[($15_1 + 268 | 0) >> 2] | 0) + (HEAP32[($15_1 + 216 | 0) >> 2] | 0) | 0; + label$79 : { + if (!((HEAP32[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$79 + } + $686_1 = 0; + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 72 | 0, $686_1 | 0, HEAP32[((HEAP32[($15_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 216 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($15_1 + 284 | 0) >> 2] | 0) + 52 | 0) >> 2] = $686_1 - ((HEAP32[($15_1 + 264 | 0) >> 2] | 0) + 1 | 0) | 0; + $1647(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 84 | 0) >> 2] | 0 | 0, 16 | 0); + HEAP32[((HEAP32[($15_1 + 284 | 0) >> 2] | 0) + 52 | 0) >> 2] = $686_1; + } + HEAP32[($15_1 + 96 | 0) >> 2] = (HEAP32[((HEAP32[($15_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 216 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 1 | 0; + HEAP32[($15_1 + 220 | 0) >> 2] = 0; + label$80 : { + label$81 : while (1) { + if (!((HEAP32[($15_1 + 220 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$80 + } + $733_1 = 16; + HEAP32[($15_1 + 76 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 220 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $733_1 | 0) >> $733_1 | 0; + label$82 : { + label$83 : { + if (!((HEAP32[($15_1 + 76 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$83 + } + $742_1 = 0; + HEAP32[((HEAP32[($15_1 + 284 | 0) >> 2] | 0) + 52 | 0) >> 2] = $742_1 - ((HEAP32[($15_1 + 264 | 0) >> 2] | 0) + 1 | 0) | 0; + $1523(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($15_1 + 220 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 96 | 0) >> 2] | 0) + (HEAP32[($15_1 + 220 | 0) >> 2] | 0) | 0 | 0); + HEAP32[((HEAP32[($15_1 + 284 | 0) >> 2] | 0) + 52 | 0) >> 2] = $742_1; + break label$82; + } + label$84 : { + label$85 : { + label$86 : { + if ((HEAP32[($15_1 + 76 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { + break label$86 + } + $772_1 = 16; + if (!((HEAP32[($15_1 + 76 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $772_1 | 0) >> $772_1 | 0 | 0) & 1 | 0)) { + break label$85 + } + } + HEAP32[($15_1 + 72 | 0) >> 2] = HEAP32[($15_1 + 264 | 0) >> 2] | 0; + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 79 | 0, HEAP32[($15_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 96 | 0) >> 2] | 0) + (HEAP32[($15_1 + 220 | 0) >> 2] | 0) | 0 | 0) | 0; + break label$84; + } + $790_1 = 16; + $794_1 = 16; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = (((($1424(HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, ((HEAP32[($15_1 + 76 | 0) >> 2] | 0) << $790_1 | 0) >> $790_1 | 0 | 0) | 0) << $794_1 | 0) >> $794_1 | 0) + (HEAP32[($15_1 + 264 | 0) >> 2] | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 78 | 0, HEAP32[($15_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 96 | 0) >> 2] | 0) + (HEAP32[($15_1 + 220 | 0) >> 2] | 0) | 0 | 0) | 0; + } + } + HEAP32[($15_1 + 220 | 0) >> 2] = (HEAP32[($15_1 + 220 | 0) >> 2] | 0) + 1 | 0; + continue label$81; + }; + } + $367(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($15_1 + 96 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[((HEAP32[($15_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 216 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + label$87 : { + if (!((HEAPU8[($15_1 + 195 | 0) >> 0] | 0) & 255 | 0)) { + break label$87 + } + if (!((HEAP32[($15_1 + 228 | 0) >> 2] | 0 | 0) == (HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$87 + } + if ((HEAPU8[($15_1 + 259 | 0) >> 0] | 0) & 255 | 0) { + break label$87 + } + $1369(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 84 | 0) >> 2] | 0 | 0); + break label$73; + } + HEAP32[($15_1 + 208 | 0) >> 2] = (HEAPU8[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0; + label$88 : { + if (HEAP32[($15_1 + 208 | 0) >> 2] | 0) { + break label$88 + } + $1369(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 84 | 0) >> 2] | 0 | 0); + break label$73; + } + label$89 : { + label$90 : { + if (!(((HEAPU8[($15_1 + 258 | 0) >> 0] | 0) & 255 | 0 | 0) != (11 | 0) & 1 | 0)) { + break label$90 + } + HEAP32[($15_1 + 208 | 0) >> 2] = (HEAPU8[($15_1 + 258 | 0) >> 0] | 0) & 255 | 0; + break label$89; + } + label$91 : { + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$91 + } + HEAP32[($15_1 + 208 | 0) >> 2] = 2; + } + } + label$92 : { + if (!((HEAP32[($15_1 + 196 | 0) >> 2] | 0 | 0) == (HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$92 + } + label$93 : { + label$94 : { + if (!((HEAP32[((HEAP32[($15_1 + 240 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$94 + } + HEAP32[($15_1 + 208 | 0) >> 2] = 4; + break label$93; + } + HEAP32[($15_1 + 208 | 0) >> 2] = 6; + } + } + label$95 : { + if (HEAP32[($15_1 + 216 | 0) >> 2] | 0) { + break label$95 + } + if (!((HEAP32[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$95 + } + if (!((HEAP32[($15_1 + 228 | 0) >> 2] | 0 | 0) == (HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$95 + } + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$95 + } + i64toi32_i32$1 = 0; + $1464$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($15_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $1465$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $1466$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1465$hi; + i64toi32_i32$0 = $1466$hi; + i64toi32_i32$0 = $1465$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $1466$hi; + i64toi32_i32$2 = 8192; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $1467$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1464$hi; + i64toi32_i32$1 = $1467$hi; + i64toi32_i32$1 = $1464$hi; + i64toi32_i32$1 = $1467$hi; + $3446 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$1 = $1464$hi; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = $1467$hi; + i64toi32_i32$2 = $3446; + label$96 : { + if (((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0) { + break label$96 + } + $908_1 = 0; + if (!(($908_1 | 0) == ($1398(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, 126 | 0, $908_1 | 0, $908_1 | 0) | 0 | 0) & 1 | 0)) { + break label$95 + } + } + i64toi32_i32$0 = 0; + $1470$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($15_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $1471$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1472$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1471$hi; + i64toi32_i32$1 = $1472$hi; + i64toi32_i32$1 = $1471$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $1472$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $1473$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1470$hi; + i64toi32_i32$0 = $1473$hi; + i64toi32_i32$0 = $1470$hi; + i64toi32_i32$0 = $1473$hi; + $3482 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $1470$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = $1473$hi; + i64toi32_i32$3 = $3482; + label$97 : { + if (((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0) { + break label$97 + } + if (!((0 | 0) == (HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$95 + } + if (!((0 | 0) == ($1650(HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$95 + } + } + $1369(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 84 | 0) >> 2] | 0 | 0); + break label$73; + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $353(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 28 | 0, HEAP32[($15_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 96 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$98 : { + label$99 : { + if (!((HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) == (HEAP32[($15_1 + 228 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$99 + } + $958_1 = HEAP32[($15_1 + 96 | 0) >> 2] | 0; + break label$98; + } + $958_1 = $1379(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 200 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($15_1 + 92 | 0) >> 2] = $958_1; + label$100 : { + label$101 : { + if ((HEAPU8[($15_1 + 195 | 0) >> 0] | 0) & 255 | 0) { + break label$101 + } + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$100 + } + } + label$102 : { + label$103 : { + if ((HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$103 + } + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 135 | 0, HEAP32[($15_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 92 | 0) >> 2] | 0 | 0) | 0; + label$104 : { + if (!(((HEAPU8[($15_1 + 195 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$104 + } + $367(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[($15_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 260 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 144 & 65535 | 0 | 0); + } + break label$102; + } + label$105 : { + if (!((HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) != (HEAP32[($15_1 + 228 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$105 + } + HEAP32[($15_1 + 220 | 0) >> 2] = 0; + label$106 : { + label$107 : while (1) { + if (!((HEAP32[($15_1 + 220 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($15_1 + 228 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$106 + } + $1026_1 = 16; + $1030_1 = 16; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = (($1329(HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[((HEAP32[($15_1 + 228 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 220 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $1026_1 | 0) >> $1026_1 | 0 | 0) | 0) << $1030_1 | 0) >> $1030_1 | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($15_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 68 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 92 | 0) >> 2] | 0) + (HEAP32[($15_1 + 220 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($15_1 + 220 | 0) >> 2] = (HEAP32[($15_1 + 220 | 0) >> 2] | 0) + 1 | 0; + continue label$107; + }; + } + } + label$108 : { + if (!(((HEAPU8[($15_1 + 195 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$108 + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = ($1296(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0) | 0) + (HEAPU16[((HEAP32[($15_1 + 228 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15_1 + 60 | 0) >> 2] = 52; + $85_1 = HEAP32[($15_1 + 232 | 0) >> 2] | 0; + label$109 : { + label$110 : { + if (!((((HEAPU8[($85_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($85_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$110 + } + $1070_1 = HEAP32[($15_1 + 96 | 0) >> 2] | 0; + break label$109; + } + $1070_1 = HEAP32[($15_1 + 92 | 0) >> 2] | 0; + } + HEAP32[($15_1 + 56 | 0) >> 2] = $1070_1; + HEAP32[($15_1 + 220 | 0) >> 2] = 0; + label$111 : { + label$112 : while (1) { + if (!((HEAP32[($15_1 + 220 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($15_1 + 228 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$111 + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1326(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($15_1 + 228 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 220 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + $1100_1 = 16; + HEAP32[($15_1 + 68 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($15_1 + 228 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 220 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $1100_1 | 0) >> $1100_1 | 0; + label$113 : { + if (!((HEAP32[($15_1 + 220 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($15_1 + 228 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$113 + } + HEAP32[($15_1 + 64 | 0) >> 2] = HEAP32[($15_1 + 84 | 0) >> 2] | 0; + HEAP32[($15_1 + 60 | 0) >> 2] = 53; + } + $1121_1 = 16; + $1125_1 = 16; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = (($1424(HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, ((HEAP32[($15_1 + 68 | 0) >> 2] | 0) << $1121_1 | 0) >> $1121_1 | 0 | 0) | 0) << $1125_1 | 0) >> $1125_1 | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 60 | 0) >> 2] | 0 | 0, ((HEAP32[($15_1 + 260 | 0) >> 2] | 0) + 1 | 0) + (HEAP32[($15_1 + 68 | 0) >> 2] | 0) | 0 | 0, HEAP32[($15_1 + 64 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 56 | 0) >> 2] | 0) + (HEAP32[($15_1 + 220 | 0) >> 2] | 0) | 0 | 0, HEAP32[($15_1 + 52 | 0) >> 2] | 0 | 0, -2 | 0) | 0; + $354(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 144 & 65535 | 0 | 0); + HEAP32[($15_1 + 220 | 0) >> 2] = (HEAP32[($15_1 + 220 | 0) >> 2] | 0) + 1 | 0; + continue label$112; + }; + } + } + } + } + $1148_1 = (HEAP32[($15_1 + 208 | 0) >> 2] | 0) + -1 | 0; + label$114 : { + label$115 : { + switch ($1148_1 | 0) { + case 0: + case 1: + case 2: + $1646(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0); + break label$114; + case 5: + $1838(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 240 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 268 | 0) >> 2] | 0) + (HEAP32[($15_1 + 216 | 0) >> 2] | 0) | 0 | 0); + case 3: + $1282(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 252 | 0) >> 2] | 0 | 0) | 0; + break label$114; + default: + break label$115; + }; + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = ($1296(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0) | 0) - (HEAP32[($15_1 + 80 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$119 : { + if (!(HEAP32[($15_1 + 172 | 0) >> 2] | 0)) { + break label$119 + } + $1407(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0); + HEAP32[($15_1 + 156 | 0) >> 2] = (HEAP32[($15_1 + 156 | 0) >> 2] | 0) + 1 | 0; + } + label$120 : { + if (!((HEAP32[($15_1 + 160 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$120 + } + if (!((HEAPU8[($15_1 + 195 | 0) >> 0] | 0) & 255 | 0)) { + break label$120 + } + $1288(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 160 | 0, HEAP32[($15_1 + 272 | 0) >> 2] | 0 | 0) | 0; + } + $1184_1 = 0; + $1204_1 = 16; + $1413(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 272 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 92 | 0) >> 2] | 0 | 0, ((HEAP32[($15_1 + 200 | 0) >> 2] | 0) << $1204_1 | 0) >> $1204_1 | 0 | 0, 0 & 255 | 0 | 0, 5 & 255 | 0 | 0, ((HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) == (HEAP32[($15_1 + 228 | 0) >> 2] | 0 | 0) & 1 | 0 ? 1 : $1184_1) & 255 | 0 | 0, HEAP32[($15_1 + 88 | 0) >> 2] | 0 | 0); + label$121 : { + if (!((HEAP32[($15_1 + 160 | 0) >> 2] | 0 | 0) != ($1184_1 | 0) & 1 | 0)) { + break label$121 + } + if (!((HEAPU8[($15_1 + 195 | 0) >> 0] | 0) & 255 | 0)) { + break label$121 + } + $1288(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 161 | 0, HEAP32[($15_1 + 272 | 0) >> 2] | 0 | 0) | 0; + } + label$122 : { + if (!(HEAP32[($15_1 + 172 | 0) >> 2] | 0)) { + break label$122 + } + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[($15_1 + 172 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1276(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 11 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $1369(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 164 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1358(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$123 : { + if (!((HEAP32[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$123 + } + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 50 | 0, (HEAP32[($15_1 + 96 | 0) >> 2] | 0) - 1 | 0 | 0, HEAP32[($15_1 + 164 | 0) >> 2] | 0 | 0) | 0; + } + label$124 : { + label$125 : while (1) { + if (!((HEAP32[($15_1 + 48 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$124 + } + $1261_1 = $15_1 + 24 | 0; + i64toi32_i32$3 = $1467(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 80 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $4230 = i64toi32_i32$1; + i64toi32_i32$1 = $1261_1; + HEAP32[i64toi32_i32$1 >> 2] = $4230; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $1265_1 = 16; + HEAP32[(i64toi32_i32$1 + $1265_1 | 0) >> 2] = HEAP32[(i64toi32_i32$3 + $1265_1 | 0) >> 2] | 0; + $1269_1 = 8; + i64toi32_i32$3 = i64toi32_i32$3 + $1269_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $4250 = i64toi32_i32$0; + i64toi32_i32$0 = $1261_1 + $1269_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $4250; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$126 : { + if (!(((HEAPU8[($15_1 + 24 | 0) >> 0] | 0) & 255 | 0 | 0) != (135 | 0) & 1 | 0)) { + break label$126 + } + label$127 : { + label$128 : { + if (!(((HEAPU8[(((HEAPU8[($15_1 + 24 | 0) >> 0] | 0) & 255 | 0) + 11248 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$128 + } + HEAP32[($15_1 + 20 | 0) >> 2] = HEAP32[($15_1 + 164 | 0) >> 2] | 0; + break label$127; + } + HEAP32[($15_1 + 20 | 0) >> 2] = HEAP32[($15_1 + 32 | 0) >> 2] | 0; + } + $1292_1 = 24; + label$129 : { + label$130 : { + if (!((((HEAPU8[($15_1 + 25 | 0) >> 0] | 0) << $1292_1 | 0) >> $1292_1 | 0 | 0) == (-3 | 0) & 1 | 0)) { + break label$130 + } + $1301_1 = HEAP32[($15_1 + 40 | 0) >> 2] | 0; + break label$129; + } + $1301_1 = HEAP32[($15_1 + 40 | 0) >> 2] | 0; + } + HEAP32[($15_1 + 16 | 0) >> 2] = $1301_1; + $1313_1 = 24; + $1278(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, (HEAPU8[($15_1 + 24 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($15_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 16 | 0) >> 2] | 0 | 0, ((HEAPU8[($15_1 + 25 | 0) >> 0] | 0) << $1313_1 | 0) >> $1313_1 | 0 | 0) | 0; + $354(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, (HEAPU16[($15_1 + 26 | 0) >> 1] | 0) & 65535 | 0 | 0); + } + HEAP32[($15_1 + 48 | 0) >> 2] = (HEAP32[($15_1 + 48 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($15_1 + 80 | 0) >> 2] = (HEAP32[($15_1 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$125; + }; + } + $1646(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 44 | 0) >> 2] | 0 | 0); + } + HEAP32[($15_1 + 204 | 0) >> 2] = 1; + } + label$131 : { + label$132 : { + if (!((HEAP32[($15_1 + 196 | 0) >> 2] | 0 | 0) == (HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$132 + } + $1282(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 184 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $1277(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 188 | 0) >> 2] | 0 | 0); + break label$131; + } + $1369(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 84 | 0) >> 2] | 0 | 0); + } + label$133 : { + if (!((HEAP32[($15_1 + 92 | 0) >> 2] | 0 | 0) != (HEAP32[($15_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$133 + } + $1384(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 200 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($15_1 + 232 | 0) >> 2] = HEAP32[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($15_1 + 216 | 0) >> 2] = (HEAP32[($15_1 + 216 | 0) >> 2] | 0) + 1 | 0; + continue label$72; + }; + } + label$134 : { + if (!(HEAP32[($15_1 + 180 | 0) >> 2] | 0)) { + break label$134 + } + $1282(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 180 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 176 | 0) >> 2] | 0 | 0); + } + label$135 : { + if (!(HEAP32[($15_1 + 156 | 0) >> 2] | 0)) { + break label$135 + } + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[($15_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 164 | 0) >> 2] | 0 | 0) | 0; + label$136 : { + label$137 : { + if ((HEAP32[($15_1 + 228 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$137 + } + label$138 : { + if (!(((HEAPU8[($15_1 + 195 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$138 + } + $367(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[($15_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 260 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 144 & 65535 | 0 | 0); + } + $367(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[($15_1 + 272 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 264 | 0) >> 2] | 0 | 0) | 0; + $1837(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0); + break label$136; + } + $1282(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 168 | 0) >> 2] | 0 | 0) | 0; + } + $1369(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 164 | 0) >> 2] | 0 | 0); + } + label$139 : { + if ((HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$139 + } + HEAP32[($15_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($15_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 216 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $1427_1 = 16; + $367(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 91 | 0, (HEAP32[($15_1 + 264 | 0) >> 2] | 0) + 1 | 0 | 0, ((HEAPU16[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 44 | 0) >> 1] | 0) << $1427_1 | 0) >> $1427_1 | 0 | 0, HEAP32[($15_1 + 12 | 0) >> 2] | 0 | 0) | 0; + label$140 : { + if (((HEAPU8[($15_1 + 194 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$140 + } + $1300(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, 0 | 0); + } + } + HEAP32[(HEAP32[($15_1 + 248 | 0) >> 2] | 0) >> 2] = HEAP32[($15_1 + 204 | 0) >> 2] | 0; + global$0 = $15_1 + 288 | 0; + return; + } + + function $1428($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $39_1 = 0, $366_1 = 0, $462$hi = 0, $307_1 = 0, $468$hi = 0, $463$hi = 0, $464$hi = 0, $466$hi = 0, $136_1 = 0, $140_1 = 0, $190_1 = 0, $228_1 = 0, $231_1 = 0, $234_1 = 0, $267_1 = 0, $469$hi = 0, $470$hi = 0, $472$hi = 0, $386_1 = 0, $390_1 = 0, $391_1 = 0, $214_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 128 | 0; + global$0 = $8_1; + i64toi32_i32$0 = 0; + $462$hi = i64toi32_i32$0; + HEAP32[($8_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 112 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 108 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 104 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 100 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 124 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 84 | 0) >> 2] = (HEAPU8[((HEAP32[($8_1 + 124 | 0) >> 2] | 0) + 150 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 100 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $463$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $464$hi = i64toi32_i32$1; + i64toi32_i32$1 = $463$hi; + i64toi32_i32$1 = $464$hi; + i64toi32_i32$1 = $463$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $464$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $466$hi = i64toi32_i32$0; + i64toi32_i32$0 = $462$hi; + i64toi32_i32$0 = $466$hi; + i64toi32_i32$0 = $462$hi; + i64toi32_i32$0 = $466$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $462$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $350(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 120 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 92 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($8_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 120 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $39_1 = 0; + HEAP32[($8_1 + 76 | 0) >> 2] = $39_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $39_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $39_1; + label$5 : { + label$6 : { + if (!((HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) != ($39_1 | 0) & 1 | 0)) { + break label$6 + } + if (!($87(HEAP32[(HEAP32[($8_1 + 120 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + if ($1815(HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + break label$5; + } + label$7 : { + label$8 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 124 | 0) >> 2] | 0) + 150 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $361(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + break label$7; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $348(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + label$9 : { + label$10 : { + if (!((HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (!($1464(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, $8_1 + 76 | 0 | 0, $8_1 + 72 | 0 | 0) | 0)) { + break label$9 + } + } + label$11 : { + label$12 : { + if (!(HEAP32[($8_1 + 84 | 0) >> 2] | 0)) { + break label$12 + } + if (!((HEAPU8[((HEAP32[($8_1 + 100 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + } + break label$1; + } + label$13 : { + if (!((HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1275(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = (($1296(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) | 0) + (HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[(((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + $136_1 = 16; + $140_1 = 16; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = (((($1424(HEAP32[(HEAP32[($8_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 44 | 0) >> 2] | 0) << $136_1 | 0) >> $136_1 | 0 | 0) | 0) << $140_1 | 0) >> $140_1 | 0) + (HEAP32[($8_1 + 116 | 0) >> 2] | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + $366(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, 151 | 0, (HEAPU8[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0, -1 | 0) | 0; + } + break label$5; + } + label$16 : { + label$17 : { + if (!((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($8_1 + 68 | 0) >> 2] = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + break label$16; + } + HEAP32[($8_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 68 | 0) >> 2] = $8_1 + 64 | 0; + } + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $190_1 = 16; + label$20 : { + if (!((HEAP32[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($8_1 + 120 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $190_1 | 0) >> $190_1 | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + } + label$21 : { + if (!((HEAP32[((HEAP32[($8_1 + 100 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + $214_1 = HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$22 : { + label$23 : { + if (!((HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + $228_1 = 16; + $231_1 = ((HEAPU16[((HEAP32[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $228_1 | 0) >> $228_1 | 0; + break label$22; + } + $234_1 = 16; + $231_1 = ((HEAPU16[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $234_1 | 0) >> $234_1 | 0; + } + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[($214_1 + Math_imul($231_1, 20) | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1607(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($8_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0; + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + $1393(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, HEAP32[(HEAP32[($8_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0); + $267_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($267_1 + 40 | 0) >> 2] = (HEAP32[($267_1 + 40 | 0) >> 2] | 0) + 1 | 0; + label$24 : { + if (!(HEAP32[($8_1 + 116 | 0) >> 2] | 0)) { + break label$24 + } + $1821(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0); + } + label$25 : { + if (!(HEAP32[($8_1 + 112 | 0) >> 2] | 0)) { + break label$25 + } + if ($1822(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) | 0) { + break label$25 + } + $1821(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0); + } + $13(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0); + } + HEAP32[($8_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$4; + }; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1650(HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$26 : while (1) { + if (!((HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $307_1 = 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $307_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $307_1; + label$27 : { + label$28 : { + if (!((HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) != ($307_1 | 0) & 1 | 0)) { + break label$28 + } + if ($1816(HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) | 0) { + break label$28 + } + break label$27; + } + label$29 : { + if (((HEAPU8[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$29 + } + i64toi32_i32$1 = 0; + $468$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($8_1 + 100 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $469$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $470$hi = i64toi32_i32$0; + i64toi32_i32$0 = $469$hi; + i64toi32_i32$0 = $470$hi; + i64toi32_i32$0 = $469$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $470$hi; + i64toi32_i32$2 = 524288; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $472$hi = i64toi32_i32$1; + i64toi32_i32$1 = $468$hi; + i64toi32_i32$1 = $472$hi; + i64toi32_i32$1 = $468$hi; + i64toi32_i32$1 = $472$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $468$hi; + i64toi32_i32$2 = 0; + if (((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0) { + break label$29 + } + if ((HEAP32[((HEAP32[($8_1 + 124 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$29 + } + if (((HEAPU8[((HEAP32[($8_1 + 124 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$29 + } + break label$27; + } + label$30 : { + if (!($1464(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, $8_1 + 28 | 0 | 0, $8_1 + 20 | 0 | 0) | 0)) { + break label$30 + } + label$31 : { + label$32 : { + if (!(HEAP32[($8_1 + 84 | 0) >> 2] | 0)) { + break label$32 + } + if (!((HEAPU8[((HEAP32[($8_1 + 100 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$31 + } + } + break label$1; + } + break label$27; + } + $366_1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1222(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, $366_1 | 0, $366_1 | 0, $366_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$33 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) != ($366_1 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 8 | 0; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 96 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($8_1 + 96 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + $386_1 = HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($386_1 + 32 | 0) >> 2] = (HEAP32[($386_1 + 32 | 0) >> 2] | 0) + 1 | 0; + $390_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + $391_1 = HEAP32[($390_1 + 40 | 0) >> 2] | 0; + HEAP32[($390_1 + 40 | 0) >> 2] = $391_1 + 1 | 0; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] = $391_1; + label$34 : { + if (!(HEAP32[($8_1 + 112 | 0) >> 2] | 0)) { + break label$34 + } + $1823(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0, -1 | 0); + } + label$35 : { + if (!(HEAP32[($8_1 + 116 | 0) >> 2] | 0)) { + break label$35 + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAPU8[(((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 25 | 0) + ((HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) | 0) >> 0] | 0) & 255 | 0; + $1823(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0, 1 | 0); + label$36 : { + if (((HEAPU8[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$36 + } + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) != (10 | 0) & 1 | 0)) { + break label$36 + } + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) != (8 | 0) & 1 | 0)) { + break label$36 + } + $1295(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0); + } + } + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + $1143(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + } + $13(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0); + } + HEAP32[($8_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$26; + }; + } + global$0 = $8_1 + 128 | 0; + return; + } + + function $1429($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $18_1 = 0, $66_1 = 0, $13_1 = 0, $87_1 = 0, $71_1 = 0, $74_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 32 | 0) >> 2] = -1; + HEAP32[($8_1 + 20 | 0) >> 2] = 0; + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$2 + } + $18_1 = 0; + break label$1; + } + $18_1 = $416(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($8_1 + 12 | 0) >> 2] = $18_1; + HEAP32[($8_1 + 36 | 0) >> 2] = 0; + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + label$6 : { + if (!((HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) { + break label$6 + } + break label$5; + } + label$7 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + break label$5; + } + label$8 : { + if (!(((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + (HEAP32[($8_1 + 36 | 0) >> 2] | 0) | 0 | 0) == (HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$5; + } + $66_1 = 1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1469(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, $66_1 | 0, $8_1 + 28 | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $71_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + $74_1 = (HEAP32[($8_1 + 48 | 0) >> 2] | 0) + (HEAP32[($8_1 + 36 | 0) >> 2] | 0) | 0; + $75_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + $13_1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!((((HEAPU8[($13_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($13_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 3 | 0) & $66_1 | 0) & 65535 | 0)) { + break label$10 + } + $87_1 = (HEAPU16[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + break label$9; + } + $87_1 = (HEAPU16[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0; + } + $367($71_1 | 0, 133 | 0, $74_1 | 0, $75_1 | 0, $87_1 | 0) | 0; + $354(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + $1470(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$4; + }; + } + global$0 = $8_1 + 64 | 0; + return; + } + + function $1430($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, $18_1 = 0, $85_1 = 0, $91_1 = 0, $92_1 = 0, $19_1 = 0, $105_1 = 0, $141_1 = 0, $83_1 = 0, $86_1 = 0, $93_1 = 0; + $11_1 = global$0 - 64 | 0; + global$0 = $11_1; + HEAP32[($11_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 36 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 32 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 28 | 0) >> 2] = $8_1; + HEAP32[($11_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($11_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($11_1 + 12 | 0) >> 2] = 0; + HEAP32[($11_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($11_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) { + break label$4 + } + break label$3; + } + label$5 : { + if (!((HEAP32[((HEAP32[($11_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $366(HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($11_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, ($1296(HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0) | 0; + } + HEAP8[($11_1 + 19 | 0) >> 0] = ((HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0)) << 4 | 0; + $18_1 = HEAP32[($11_1 + 20 | 0) >> 2] | 0; + label$6 : { + if (!((((HEAPU8[($18_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($18_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$6 + } + HEAP8[($11_1 + 19 | 0) >> 0] = (HEAPU8[($11_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 1 | 0; + HEAP8[($11_1 + 19 | 0) >> 0] = (HEAPU8[($11_1 + 19 | 0) >> 0] | 0) & 255 | 0 | ((HEAP32[($11_1 + 36 | 0) >> 2] | 0) & 2 | 0) | 0; + } + $83_1 = HEAP32[($11_1 + 24 | 0) >> 2] | 0; + $85_1 = HEAP32[($11_1 + 12 | 0) >> 2] | 0; + $86_1 = (HEAP32[($11_1 + 48 | 0) >> 2] | 0) + $85_1 | 0; + $91_1 = HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + ($85_1 << 2 | 0) | 0) >> 2] | 0; + $92_1 = 1; + $93_1 = $91_1 + $92_1 | 0; + $19_1 = HEAP32[($11_1 + 20 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((((HEAPU8[($19_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($19_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 3 | 0) & $92_1 | 0) & 65535 | 0)) { + break label$8 + } + $105_1 = (HEAPU16[((HEAP32[($11_1 + 20 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + break label$7; + } + $105_1 = (HEAPU16[((HEAP32[($11_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0; + } + $353($83_1 | 0, 131 | 0, $86_1 | 0, $91_1 | 0, $93_1 | 0, $105_1 | 0) | 0; + $354(HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, ((HEAPU8[($11_1 + 19 | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0); + } + HEAP32[($11_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($11_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($11_1 + 12 | 0) >> 2] = (HEAP32[($11_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$10 + } + break label$9; + } + label$11 : { + label$12 : { + if (!(((HEAPU8[((HEAP32[($11_1 + 60 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP8[($11_1 + 19 | 0) >> 0] = 0; + break label$11; + } + HEAP8[($11_1 + 19 | 0) >> 0] = 1; + label$13 : { + label$14 : { + if (!(HEAP32[($11_1 + 36 | 0) >> 2] | 0)) { + break label$14 + } + $141_1 = HEAP32[($11_1 + 36 | 0) >> 2] | 0; + break label$13; + } + $141_1 = 32; + } + HEAP8[($11_1 + 19 | 0) >> 0] = (HEAPU8[($11_1 + 19 | 0) >> 0] | 0) & 255 | 0 | $141_1 | 0; + } + label$15 : { + if (!(HEAP32[($11_1 + 32 | 0) >> 2] | 0)) { + break label$15 + } + HEAP8[($11_1 + 19 | 0) >> 0] = (HEAPU8[($11_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 8 | 0; + } + label$16 : { + if (!(HEAP32[($11_1 + 28 | 0) >> 2] | 0)) { + break label$16 + } + HEAP8[($11_1 + 19 | 0) >> 0] = (HEAPU8[($11_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 16 | 0; + } + $367(HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($11_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) | 0; + label$17 : { + if (((HEAPU8[((HEAP32[($11_1 + 60 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$17 + } + $1420(HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0, -6 | 0); + } + $354(HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, ((HEAPU8[($11_1 + 19 | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0); + } + global$0 = $11_1 + 64 | 0; + return; + } + + function $1431($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $57$hi = 0, i64toi32_i32$3 = 0, $58$hi = 0, $59$hi = 0, $61$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + i64toi32_i32$0 = 0; + $57$hi = i64toi32_i32$0; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + i64toi32_i32$2 = HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $58$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $59$hi = i64toi32_i32$1; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $59$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $61$hi = i64toi32_i32$0; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $57$hi; + i64toi32_i32$3 = 0; + label$1 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1650(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if ((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + if (!($1816(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1824(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[$8_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $1820(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[$8_1 >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, 2 | 0, 0 | 0); + } + } + HEAP32[($8_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$3; + }; + } + } + global$0 = $8_1 + 32 | 0; + return; + } + + function $1432($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($3_1 + 7 | 0) >> 0] = HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0; + label$1 : { + if (!(((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) == (173 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[($3_1 + 7 | 0) >> 0] = HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0; + } + label$2 : { + label$3 : { + if (!(((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) == (174 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0; + break label$2; + } + label$4 : { + if (!(((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + break label$2; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1433($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0, $57_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 175 | 0, $16_1 | 0, $16_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != ($16_1 | 0) & 1 | 0)) { + break label$3 + } + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 32 | 0) >> 1] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + break label$1; + } + label$4 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (174 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $1318(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + $57_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $57_1 | 0; + } + + function $1434($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $861_1 = 0, $874$hi = 0, $880$hi = 0, $58_1 = 0, $171_1 = 0, $205_1 = 0, $244_1 = 0, $249_1 = 0, $260_1 = 0, $265_1 = 0, $278_1 = 0, $332_1 = 0, $337_1 = 0, $380_1 = 0, $875$hi = 0, $876$hi = 0, $878$hi = 0, $881$hi = 0, $882$hi = 0, $884$hi = 0, $520_1 = 0, $521_1 = 0, $524_1 = 0, $525_1 = 0, $547_1 = 0, $592_1 = 0, $604_1 = 0, $662_1 = 0, $663_1 = 0, $43_1 = 0, $820_1 = 0, $821_1 = 0, $871_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 128 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 112 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 108 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 104 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 100 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if ((HEAP32[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$5 : { + if (!(($1651(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$6 : { + if (!(HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$7 : { + if (!((HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$7 + } + $58_1 = 16; + label$8 : { + if (!((((HEAPU16[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $58_1 | 0) >> $58_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 108 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 50 | 0) >> 0] | 0) & 255 | 0; + } + label$9 : { + if (!((HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($7_1 + 108 | 0) >> 2] = 2; + } + } + label$10 : { + if (!((HEAP32[(HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$11 : { + if (!((HEAP32[((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$12 : { + if (!((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$13 : { + if (!((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$14 : { + if (!((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$15 : { + if (!((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$16 : { + if (!((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$17 : { + if (!((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$18 : { + if (!((HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$19 : { + if (!(((HEAPU8[(HEAP32[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (177 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + $171_1 = 0; + HEAP32[($7_1 + 80 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 8 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1323(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, $171_1 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) == ($171_1 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$21 : { + if (!((HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + if (!((HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + $205_1 = 0; + label$22 : { + if (!((((HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0 | 0) == ($205_1 | 0) & 1 | 0 | 0) != (((HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0 | 0) == ($205_1 | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$23 : { + if (!(HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$23 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$24 : { + if (!((HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + $244_1 = 16; + $249_1 = 16; + label$25 : { + if (!((((HEAPU16[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $244_1 | 0) >> $244_1 | 0 | 0) != (((HEAPU16[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $249_1 | 0) >> $249_1 | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + $260_1 = 16; + $265_1 = 16; + label$26 : { + if (!((((HEAPU16[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $260_1 | 0) >> $260_1 | 0 | 0) != (((HEAPU16[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $265_1 | 0) >> $265_1 | 0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + label$27 : { + label$28 : while (1) { + $278_1 = 16; + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $278_1 | 0) >> $278_1 | 0 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 76 | 0) >> 2] | 0, 20) | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 76 | 0) >> 2] | 0, 20) | 0; + label$29 : { + if (!((((HEAPU16[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0 | 0) != (((HEAPU16[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$30 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$30 + } + label$31 : { + if (!($1529(0 | 0, HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$31 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + } + $332_1 = 24; + $337_1 = 24; + label$32 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $332_1 | 0) >> $332_1 | 0 | 0) != (((HEAPU8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $337_1 | 0) >> $337_1 | 0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$33 : { + if (!($87(HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$33 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$34 : { + if (!((HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0)) { + break label$34 + } + if (((HEAPU8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$34 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$35 : { + if (((HEAPU16[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0) { + break label$35 + } + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$35 + } + $380_1 = 0; + label$36 : { + label$37 : { + if (((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == ($380_1 | 0) & 1 | 0 | 0) != ((HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == ($380_1 | 0) & 1 | 0 | 0) & 1 | 0) { + break label$37 + } + if (!((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$36 + } + if (!($3229(HEAP32[((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$36 + } + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + } + HEAP32[($7_1 + 76 | 0) >> 2] = (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$38 : { + label$39 : while (1) { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$38 + } + label$40 : { + if (!((HEAPU8[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$40 + } + HEAP32[($7_1 + 36 | 0) >> 2] = 1; + } + HEAP32[($7_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$41 : { + label$42 : while (1) { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$41 + } + label$43 : { + if (!($1839(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) | 0)) { + break label$43 + } + break label$41; + } + HEAP32[($7_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$42; + }; + } + label$44 : { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$44 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$45 : { + if (!((HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$45 + } + if (!((HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$45 + } + if ($176(411 | 0) | 0) { + break label$45 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$39; + }; + } + label$46 : { + if (!((HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$46 + } + if (!($1356(HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$46 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = 0; + $874$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($7_1 + 100 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $875$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $876$hi = i64toi32_i32$1; + i64toi32_i32$1 = $875$hi; + i64toi32_i32$1 = $876$hi; + i64toi32_i32$1 = $875$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $876$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $878$hi = i64toi32_i32$0; + i64toi32_i32$0 = $874$hi; + i64toi32_i32$0 = $878$hi; + i64toi32_i32$0 = $874$hi; + i64toi32_i32$0 = $878$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $874$hi; + i64toi32_i32$3 = 0; + label$47 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$47 + } + if (!((HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$47 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$1 = 0; + $880$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($7_1 + 100 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $881$hi = i64toi32_i32$0; + i64toi32_i32$0 = 1; + $882$hi = i64toi32_i32$0; + i64toi32_i32$0 = $881$hi; + i64toi32_i32$0 = $882$hi; + i64toi32_i32$0 = $881$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $882$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $884$hi = i64toi32_i32$1; + i64toi32_i32$1 = $880$hi; + i64toi32_i32$1 = $884$hi; + i64toi32_i32$1 = $880$hi; + i64toi32_i32$1 = $884$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $880$hi; + i64toi32_i32$2 = 0; + label$48 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$48 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $350(HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1275(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $1286(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0); + $520_1 = HEAP32[($7_1 + 120 | 0) >> 2] | 0; + $521_1 = HEAP32[($520_1 + 40 | 0) >> 2] | 0; + HEAP32[($520_1 + 40 | 0) >> 2] = $521_1 + 1 | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = $521_1; + $524_1 = HEAP32[($7_1 + 120 | 0) >> 2] | 0; + $525_1 = HEAP32[($524_1 + 40 | 0) >> 2] | 0; + HEAP32[($524_1 + 40 | 0) >> 2] = $525_1 + 1 | 0; + HEAP32[($7_1 + 64 | 0) >> 2] = $525_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1435(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $1462(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0, 97 | 0); + label$49 : { + if ((HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 4 | 0) { + break label$49 + } + $547_1 = 16; + label$50 : { + label$51 : { + if (!((((HEAPU16[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $547_1 | 0) >> $547_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$51 + } + if ((HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$50 + } + } + if (HEAP32[($7_1 + 36 | 0) >> 2] | 0) { + break label$50 + } + if (!((HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$49 + } + if (!((HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$49 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1276(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 11 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + $1277(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0); + } + label$52 : { + label$53 : { + if ((HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$53 + } + $592_1 = 0; + $1462(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0, 96 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, $592_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $604_1 = 16; + label$54 : { + label$55 : { + if (!((((HEAPU16[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $604_1 | 0) >> $604_1 | 0 | 0) >= ($592_1 | 0) & 1 | 0)) { + break label$55 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $367(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + $1837(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0); + $1440(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + break label$54; + } + label$56 : { + label$57 : { + if (!((HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$57 + } + if ((HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 8 | 0) { + break label$57 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$56; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + } + } + label$58 : { + label$59 : { + if (!((HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 4 | 0)) { + break label$59 + } + $1288(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 130 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) | 0; + HEAP8[($7_1 + 19 | 0) >> 0] = 24; + break label$58; + } + HEAP8[($7_1 + 19 | 0) >> 0] = 41; + } + $662_1 = 116; + $663_1 = 0; + $367(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 127 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + $1278(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0, -6 | 0) | 0; + $354(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, ((HEAPU8[($7_1 + 19 | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0); + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $662_1 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, $663_1 | 0) | 0; + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $662_1 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, $663_1 | 0) | 0; + break label$52; + } + $1393(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, HEAP32[(HEAP32[($7_1 + 116 | 0) >> 2] | 0) >> 2] | 0 | 0); + $1393(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, HEAP32[(HEAP32[($7_1 + 92 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$60 : { + label$61 : while (1) { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$60 + } + HEAP8[($7_1 + 18 | 0) >> 0] = 0; + HEAP32[($7_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$62 : { + label$63 : while (1) { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$62 + } + label$64 : { + if (!($1839(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) | 0)) { + break label$64 + } + break label$62; + } + HEAP32[($7_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$63; + }; + } + $367(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 96 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) | 0; + $1405(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0); + $367(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 97 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) | 0; + $1405(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0); + $354(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$65 : { + label$66 : { + if (!((HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 4 | 0)) { + break label$66 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + label$67 : { + label$68 : while (1) { + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$67 + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 76 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$69 : { + if (!($87(2261 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$69 + } + break label$67; + } + HEAP32[($7_1 + 76 | 0) >> 2] = (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 1 | 0; + continue label$68; + }; + } + label$70 : { + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) == ((HEAPU16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$70 + } + HEAP8[($7_1 + 18 | 0) >> 0] = 16; + $1288(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 130 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) | 0; + } + break label$65; + } + label$71 : { + if (!((HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$71 + } + $43_1 = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + if (!((((HEAPU8[($43_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($43_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$71 + } + HEAP8[($7_1 + 18 | 0) >> 0] = (HEAPU8[($7_1 + 18 | 0) >> 0] | 0) & 255 | 0 | 1 | 0; + } + } + $820_1 = 116; + $821_1 = 0; + $367(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 127 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, ((HEAPU8[($7_1 + 18 | 0) >> 0] | 0) & 255 | 0 | 8 | 0) & 65535 | 0 | 0); + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0); + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $820_1 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, $821_1 | 0) | 0; + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $820_1 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, $821_1 | 0) | 0; + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$61; + }; + } + label$72 : { + if (!(HEAP32[($7_1 + 48 | 0) >> 2] | 0)) { + break label$72 + } + $1277(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + } + $1383(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + label$73 : { + if (!(HEAP32[($7_1 + 52 | 0) >> 2] | 0)) { + break label$73 + } + $861_1 = 0; + $1414(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0); + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 68 | 0, $861_1 | 0, $861_1 | 0) | 0; + $1277(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0); + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 116 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, $861_1 | 0) | 0; + HEAP32[($7_1 + 124 | 0) >> 2] = $861_1; + break label$1; + } + HEAP32[($7_1 + 124 | 0) >> 2] = 1; + } + $871_1 = HEAP32[($7_1 + 124 | 0) >> 2] | 0; + global$0 = $7_1 + 128 | 0; + return $871_1 | 0; + } + + function $1435($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $26_1 = 0, $54_1 = 0, $64_1 = 0, $79_1 = 0, $118_1 = 0, $122_1 = 0, $125_1 = 0, $127_1 = 0, i64toi32_i32$0 = 0, $134_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 8 | 0)) { + break label$2 + } + if ((HEAP32[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 4 | 0) { + break label$2 + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $26_1 = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$3; + } + $26_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 8 | 0) >> 2] = $26_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[(((HEAP32[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if ((HEAP32[$5_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$6 + } + if ((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$6 + } + if (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$6 + } + $54_1 = 16; + if (!((((HEAPU16[((HEAP32[$5_1 >> 2] | 0) + 42 | 0) >> 1] | 0) << $54_1 | 0) >> $54_1 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$5 + } + } + $64_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($64_1 + 36 | 0) >> 2] = (HEAP32[($64_1 + 36 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = 523; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + label$7 : while (1) { + $79_1 = 0; + label$8 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $79_1 = (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + label$9 : { + if (!($79_1 & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + continue label$7; + } + break label$7; + }; + label$10 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, 16 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 112 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $118_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($118_1 + 44 | 0) >> 2] = (HEAP32[($118_1 + 44 | 0) >> 2] | 0) + 1 | 0; + $122_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $125_1 = (HEAP32[($122_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($122_1 + 44 | 0) >> 2] = $125_1; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = $125_1; + $127_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($127_1 + 44 | 0) >> 2] = (HEAP32[($127_1 + 44 | 0) >> 2] | 0) + 2 | 0; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $134_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $134_1 | 0; + } + + function $1436($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0, $102_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1296(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$2 + } + $16_1 = $1056(HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $16_1 = 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = $16_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 1; + label$3 : { + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1467(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (96 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$3; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + label$10 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$3; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$9; + }; + } + } + label$11 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (166 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$3; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $102_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $102_1 | 0; + } + + function $1437($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $13_1 = 0, $23_1 = 0, $52_1 = 0, $66_1 = 0, $77_1 = 0, $86_1 = 0, $112_1 = 0, $115_1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + break label$1; + } + $13_1 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = 48; + HEAP32[($4_1 + 24 | 0) >> 2] = 47; + HEAP32[($4_1 + 28 | 0) >> 2] = $13_1; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 36880 | 0; + $23_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($23_1 + 24 | 0) >> 2] = (HEAP32[($23_1 + 24 | 0) >> 2] | 0) & -36881 | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $13_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 48 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + break label$5; + } + $52_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($52_1 + 212 | 0) >> 2] = (HEAP32[($52_1 + 212 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + label$7 : { + if (!($1312(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 2; + break label$1; + } + $1547($4_1 + 16 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $66_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($66_1 + 212 | 0) >> 2] = (HEAP32[($66_1 + 212 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 36880 | 0)) { + break label$8 + } + $77_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($77_1 + 4 | 0) >> 2] = HEAP32[($77_1 + 4 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 32784 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 36880 | 0) | 0; + $86_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($86_1 + 24 | 0) >> 2] = (HEAP32[($86_1 + 24 | 0) >> 2] | 0) & -36881 | 0; + } + label$9 : { + label$10 : { + if ((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$10 + } + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + } + HEAP32[($4_1 + 60 | 0) >> 2] = 2; + break label$1; + } + } + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $112_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($112_1 + 24 | 0) >> 2] = HEAP32[($112_1 + 24 | 0) >> 2] | 0 | (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + } + $115_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $115_1 | 0; + } + + function $1438($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, $8_1 = 0, i64toi32_i32$0 = 0, $257_1 = 0, $50_1 = 0, $62_1 = 0, $74_1 = 0, $156_1 = 0, $189_1 = 0, $254_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 192 | 0; + global$0 = $5_1; + $8_1 = $5_1 + 120 | 0; + HEAP32[($5_1 + 184 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 180 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 176 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + $257_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $257_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $257_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $257_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $257_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 120 | 0) >> 2] = HEAP32[($5_1 + 184 | 0) >> 2] | 0; + HEAP32[($5_1 + 124 | 0) >> 2] = HEAP32[($5_1 + 180 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1437($8_1 | 0, HEAP32[(HEAP32[($5_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($5_1 + 168 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 188 | 0) >> 2] = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1404($5_1 + 120 | 0 | 0, HEAP32[((HEAP32[($5_1 + 176 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($5_1 + 168 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 188 | 0) >> 2] = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 172 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 156 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 176 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 164 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + label$4 : { + if ((HEAP32[((HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$4 + } + if (!((HEAP32[(HEAP32[($5_1 + 156 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + $50_1 = HEAP32[((HEAP32[($5_1 + 156 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 152 | 0) >> 2] = $50_1; + if (!(((HEAPU8[$50_1 >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$4 + } + $62_1 = 16; + if (!((((HEAPU16[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 188 | 0) >> 2] = 0; + break label$1; + } + $74_1 = $5_1 + 16 | 0; + $3289($74_1 | 0, 0 | 0, 104 | 0) | 0; + HEAP8[($5_1 + 16 | 0) >> 0] = 111; + HEAP32[($5_1 + 28 | 0) >> 2] = $74_1 + 52 | 0; + HEAP8[($5_1 + 68 | 0) >> 0] = 164; + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($5_1 + 160 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + label$8 : { + if ((HEAPU8[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + break label$7; + } + label$9 : { + if (!((HEAP32[(HEAP32[($5_1 + 156 | 0) >> 2] | 0) >> 2] | 0 | 0) != ((HEAPU16[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$9 + } + break label$7; + } + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if (!((HEAP32[((HEAP32[($5_1 + 176 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + break label$7; + } + label$12 : { + if (!($1529(HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 176 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + break label$7; + } + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAPU16[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $156_1 = 16; + label$15 : { + label$16 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $156_1 | 0) >> $156_1 | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[$5_1 >> 2] = HEAP32[(((HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$17 : { + if (!(((HEAPU8[(HEAP32[$5_1 >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (111 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[$5_1 >> 2] = $5_1 + 16 | 0; + } + break label$15; + } + $189_1 = $5_1 + 16 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $189_1 + 52 | 0; + HEAP16[($5_1 + 100 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + HEAP32[$5_1 >> 2] = $189_1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + label$20 : { + if (!(($1529(HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 156 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0) | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$20 + } + break label$18; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + label$21 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + break label$13; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + label$22 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + break label$7; + } + HEAP32[((HEAP32[($5_1 + 176 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 160 | 0) >> 2] | 0; + HEAP32[($5_1 + 188 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 160 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$6; + }; + } + $349(HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0, 34031 | 0, 0 | 0); + HEAP32[($5_1 + 188 | 0) >> 2] = 1; + } + $254_1 = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + global$0 = $5_1 + 192 | 0; + return $254_1 | 0; + } + + function $1439($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + if (!($1509(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + $1510(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $1523(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1440($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $366(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 152 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1441($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function $1442($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, $50$hi = 0, $9_1 = 0, $59$hi = 0, $52$hi = 0, $53$hi = 0, $54$hi = 0, $55$hi = 0, $57$hi = 0, $61$hi = 0, $64_1 = 0, $64$hi = 0, $65$hi = 0, $66$hi = 0, $39_1 = 0, $69$hi = 0, $70$hi = 0, $72$hi = 0, $73$hi = 0, $42_1 = 0, $52_1 = 0, $111_1 = 0, $19_1 = 0, $20_1 = 0, $69_1 = 0, $157_1 = 0, $35_1 = 0, $72_1 = 0, $203_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + i64toi32_i32$0 = 0; + $50$hi = i64toi32_i32$0; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + $9_1 = HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] = $9_1; + i64toi32_i32$1 = $9_1; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $52_1 = i64toi32_i32$0; + $52$hi = i64toi32_i32$1; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $53$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $54$hi = i64toi32_i32$0; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $55$hi = i64toi32_i32$5; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$5 = $55$hi; + $111_1 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$0 = $52_1; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$3 = $111_1; + i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2 | 0; + $57$hi = i64toi32_i32$2; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$2 = $57$hi; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$2 = $57$hi; + i64toi32_i32$5 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$5 = 0; + $59$hi = i64toi32_i32$5; + i64toi32_i32$3 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $61$hi = i64toi32_i32$2; + i64toi32_i32$2 = $59$hi; + i64toi32_i32$2 = $61$hi; + i64toi32_i32$2 = $59$hi; + i64toi32_i32$2 = $61$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $59$hi; + i64toi32_i32$0 = 0; + label$3 : { + label$4 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$3 = 0; + $64_1 = 1; + $64$hi = i64toi32_i32$3; + break label$3; + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $65$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $66$hi = i64toi32_i32$2; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $66$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + $39_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$1 | 0) | 0; + $39_1 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + } + $64_1 = $39_1; + $64$hi = i64toi32_i32$3; + } + i64toi32_i32$3 = $64$hi; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $64_1; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$3; + $19_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + $20_1 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $69_1 = i64toi32_i32$3; + $69$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$3 >> 31 | 0; + $70$hi = i64toi32_i32$0; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$0 = $70$hi; + $157_1 = i64toi32_i32$3; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$3 = $70$hi; + i64toi32_i32$3 = __wasm_i64_mul($69_1 | 0, i64toi32_i32$0 | 0, $157_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $70($19_1 | 0, $20_1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] = -1; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + $35_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $72_1 = i64toi32_i32$0; + $72$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$0 >> 31 | 0; + $73$hi = i64toi32_i32$3; + i64toi32_i32$3 = $72$hi; + i64toi32_i32$3 = $73$hi; + $203_1 = i64toi32_i32$0; + i64toi32_i32$3 = $72$hi; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = __wasm_i64_mul($72_1 | 0, i64toi32_i32$3 | 0, $203_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $3289($35_1 + i64toi32_i32$0 | 0 | 0, 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) | 0; + $42_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[$42_1 >> 2] = (HEAP32[$42_1 >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + } + $47_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $47_1 | 0; + } + + function $1443($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $107$hi = 0, $104$hi = 0, $105$hi = 0, $24_1 = 0, $107_1 = 0, $110$hi = 0, $112$hi = 0, $113$hi = 0, $25_1 = 0, $41_1 = 0, $206_1 = 0, $44_1 = 0, $45_1 = 0, $101_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = ((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) / (4 | 0) | 0) + 3 | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!(((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + } + label$4 : { + label$5 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$1 = HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $104$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $105$hi = i64toi32_i32$0; + i64toi32_i32$0 = $104$hi; + i64toi32_i32$0 = $105$hi; + i64toi32_i32$0 = $104$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $105$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $24_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $24_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $107_1 = $24_1; + $107$hi = i64toi32_i32$1; + break label$4; + } + i64toi32_i32$1 = 0; + $107_1 = 10; + $107$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $107$hi; + $41_1 = 0; + i64toi32_i32$2 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $110$hi = i64toi32_i32$1; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$1 = $110$hi; + $206_1 = i64toi32_i32$2; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$0 = $107_1; + i64toi32_i32$2 = $110$hi; + i64toi32_i32$3 = $206_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$5; + $44_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + $45_1 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $112$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $113$hi = i64toi32_i32$0; + i64toi32_i32$0 = $112$hi; + i64toi32_i32$0 = $113$hi; + i64toi32_i32$0 = $112$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $113$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $25_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$2 | 0) | 0; + $25_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $70($44_1 | 0, $45_1 | 0, $25_1 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == ($41_1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + break label$1; + } + label$7 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 2; + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] = i64toi32_i32$5; + } + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0; + $3288(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 44 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + } + $101_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $101_1 | 0; + } + + function $1444($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, $39_1 = 0, $38_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $6_1 = $3_1 + 8 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + $1718(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6_1 | 0); + $1718(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $6_1 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$2 + } + $1672(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0); + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $1719(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0); + $38_1 = ($1840(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0) & 2097412 | 0; + $39_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($39_1 + 4 | 0) >> 2] = HEAP32[($39_1 + 4 | 0) >> 2] | 0 | $38_1 | 0; + } + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $1445($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP16[($5_1 + 28 | 0) >> 1] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 52; + HEAP32[($5_1 + 16 | 0) >> 2] = 51; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $1547($5_1 + 8 | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $16_1 = (HEAPU16[($5_1 + 28 | 0) >> 1] | 0) & 65535 | 0; + global$0 = $5_1 + 48 | 0; + return $16_1 | 0; + } + + function $1446($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $26_1 = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$1 + } + $349(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 31615 | 0, 0 | 0); + } + $367(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 137 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0; + $1295(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + $26_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $34_1 = HEAP32[((HEAP32[((HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $35_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $36_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $36_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $35_1; + HEAP32[$5_1 >> 2] = $34_1; + $1302($26_1 | 0, 31630 | 0, $5_1 | 0); + $1383(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 48 | 0; + return; + } + + function $1447($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($4_1 + 150 | 0) >> 1] = HEAPU16[($4_1 + 150 | 0) >> 1] | 0 | 32 | 0; + return; + } + + function $1448($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = 1; + $1463(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $13_1 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 80 | 0, $13_1 | 0, $13_1 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1449($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $20_1 = 0, $12_1 = 0, $38_1 = 0, $7_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP8[($4_1 + 23 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0; + $7_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAPU8[($4_1 + 23 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + $12_1 = 1; + break label$1; + } + $12_1 = (HEAPU8[($4_1 + 23 | 0) >> 0] | 0) & 255 | 0; + } + $374($7_1 | 0, $12_1 | 0); + label$3 : { + label$4 : { + if ((HEAPU8[($4_1 + 23 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + $20_1 = 0; + $375(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $20_1 | 0, $20_1 | 0, HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, $20_1 | 0) | 0; + break label$3; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < ((HEAPU8[($4_1 + 23 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $38_1 = 0; + $375(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, $38_1 | 0, HEAP32[(13776 + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $38_1 | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1450($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, $6_1 = 0, $8_1 = 0, i64toi32_i32$0 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $6_1 = 1; + $8_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + $1524(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 70 | 0, $8_1 | 0, $6_1 | 0, $8_1 | 0, $4_1 | 0, -14 | 0) | 0; + $366(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 80 | 0, $6_1 | 0, $6_1 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $1451($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $22_1 = 0, $32_1 = 0, $47_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $127(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + $22_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP16[($22_1 + 24 | 0) >> 1] = ((HEAPU16[($22_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -13 | 0; + $32_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP16[($32_1 + 24 | 0) >> 1] = (HEAPU16[($32_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0; + } + HEAP32[$4_1 >> 2] = (((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 12 | 0 | 0) / (4 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + $47_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $47_1 | 0; + } + + function $1452($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $32_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((0 | 0) == ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 34454 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if (!((0 | 0) == ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 34447 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = -1; + } + $32_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $32_1 | 0; + } + + function $1453($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $30_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + if (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + if ($1841(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) | 0) { + break label$1 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + $30_1 = (HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0; + global$0 = $4_1 + 16 | 0; + return $30_1 | 0; + } + + function $1454($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $14$hi = 0, $16$hi = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $47_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + i64toi32_i32$0 = -1; + $14$hi = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[i64toi32_i32$1 >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $16$hi = i64toi32_i32$1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $14$hi; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $11_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $12_1 = 0 + } else { + $12_1 = 1 + } + $13_1 = $12_1; + } else { + $13_1 = 0 + } + $11_1 = $13_1; + } + label$1 : { + if (!($11_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $47_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 160 | 0) >> 2] = $47_1; + HEAP32[(i64toi32_i32$2 + 164 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $1842(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0); + } + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 160 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 164 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$2 | 0; + } + + function $1455($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $51_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((0 | 0) == ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 35038 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((0 | 0) == ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 35007 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if (!((0 | 0) == ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 35043 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 2; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1135(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) <= (2 | 0) & 1 | 0)) { + break label$6 + } + $51_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + break label$5; + } + $51_1 = 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $51_1 & 255 | 0; + } + $56_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $56_1 | 0; + } + + function $1456($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $48$hi = 0, $49$hi = 0, $50$hi = 0, $51$hi = 0, $142_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + $19_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $19_1 + -1 | 0; + if (!(($19_1 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $48$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $49$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $50$hi = i64toi32_i32$1; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$3 = 56; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $51$hi = i64toi32_i32$0; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = $51$hi; + $142_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$1 = (HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$3 = $142_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $1047(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | i64toi32_i32$3 | 0 | 0) | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0; + continue label$3; + }; + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1457($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1843(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!($1458(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 0] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $26_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $26_1 | 0; + } + + function $1458($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $41_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!($125(HEAP32[((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + } + $349(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 35055 | 0, 0 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + $207(HEAP32[((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = 0; + $141(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $41_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $41_1 | 0; + } + + function $1459($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $28_1 = 0, $14_1 = 0, $15_1 = 0, $20_1 = 0, $31_1 = 0, $49_1 = 0, $59_1 = 0, $58_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + $14_1 = HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($6_1 + 11 | 0) >> 0] = $14_1; + $15_1 = 24; + if (!(($14_1 << $15_1 | 0) >> $15_1 | 0)) { + break label$2 + } + $20_1 = 24; + label$4 : { + label$5 : { + if (!((((HEAPU8[($6_1 + 11 | 0) >> 0] | 0) << $20_1 | 0) >> $20_1 | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$5 + } + $28_1 = 0; + $31_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $31_1 + 4 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[$31_1 >> 2] | 0; + $1278(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) == ($28_1 | 0) & 1 | 0 ? 72 : 115) | 0, $28_1 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0 | 0, $28_1 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, $28_1 | 0) | 0; + break label$4; + } + $49_1 = 24; + label$6 : { + label$7 : { + if (!((((HEAPU8[($6_1 + 11 | 0) >> 0] | 0) << $49_1 | 0) >> $49_1 | 0 | 0) == (105 | 0) & 1 | 0)) { + break label$7 + } + $58_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $59_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $59_1 + 4 | 0; + $366($58_1 | 0, 69 | 0, HEAP32[$59_1 >> 2] | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0 | 0) | 0; + break label$6; + } + break label$1; + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $366(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1460($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $62_1 = 0, $47_1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $59_1 = 0, $64_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + break label$3; + } + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 262144 | 0)) { + break label$5 + } + if (HEAP32[($6_1 + 32 | 0) >> 2] | 0) { + break label$5 + } + break label$3; + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 35190; + break label$6; + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 35192; + break label$8; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 34617; + } + } + $47_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $49_1 = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $50_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $51_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $59_1 = HEAP32[(69488 + (((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 3 | 0) << 2 | 0) | 0) >> 2] | 0; + $62_1 = 24; + $64_1 = ((HEAPU8[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 3934208 | 0) ^ 2097152 | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $64_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $59_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $51_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $50_1; + HEAP32[$6_1 >> 2] = $49_1; + $1459($47_1 | 0, 1 | 0, 35194 | 0, $6_1 | 0); + } + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $1461($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP8[($3_1 + 15 | 0) >> 0] = $0_1; + $6_1 = (HEAPU8[($3_1 + 15 | 0) >> 0] | 0) + -7 | 0; + label$1 : { + label$2 : { + switch ($6_1 | 0) { + case 1: + HEAP32[($3_1 + 8 | 0) >> 2] = 35201; + break label$1; + case 2: + HEAP32[($3_1 + 8 | 0) >> 2] = 35210; + break label$1; + case 3: + HEAP32[($3_1 + 8 | 0) >> 2] = 35222; + break label$1; + case 0: + HEAP32[($3_1 + 8 | 0) >> 2] = 35230; + break label$1; + default: + break label$2; + }; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 35239; + } + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $1462($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1393(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (97 | 0) & 1 | 0 ? 1 : 0) & 255 | 0 | 0, HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$2 + } + $40_1 = 16; + $353(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 1] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) | 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $416(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0; + $1405(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $1463($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $11_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $11_1 = $1278(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 115 | 0, $7_1 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $7_1 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $7_1 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $11_1 | 0; + } + + function $1464($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $9_1 = 0, $23_1 = 0, $43_1 = 0, $16_1 = 0, $175_1 = 0, $187_1 = 0, $214_1 = 0, i64toi32_i32$0 = 0, $297_1 = 0, $300_1 = 0, $311_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + $9_1 = 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + $23_1 = 16; + label$4 : { + if (!((((HEAPU16[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $23_1 | 0) >> $23_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if ((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + $43_1 = 16; + label$6 : { + if ($88(HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $43_1 | 0) >> $43_1 | 0, 20) | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + } + break label$2; + } + label$7 : { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $365(HEAP32[(HEAP32[($7_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 44 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if ((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 1; + break label$1; + } + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + } + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + label$11 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) == (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAPU8[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + if (!((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + $16_1 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + label$14 : { + if (!((((HEAPU8[($16_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($16_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + } + break label$9; + } + break label$12; + } + HEAP32[($7_1 + 32 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP16[($7_1 + 26 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $175_1 = 16; + label$20 : { + if (!((((HEAPU16[($7_1 + 26 | 0) >> 1] | 0) << $175_1 | 0) >> $175_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$20 + } + break label$18; + } + $187_1 = 16; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($7_1 + 26 | 0) >> 1] | 0) << $187_1 | 0) >> $187_1 | 0, 20) | 0) + 8 | 0) >> 2] | 0; + label$21 : { + if ((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$21 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 2261; + } + label$22 : { + if (!($88(HEAP32[((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$22 + } + break label$18; + } + $214_1 = 16; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($7_1 + 26 | 0) >> 1] | 0) << $214_1 | 0) >> $214_1 | 0, 20) | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + label$25 : { + if ($88(HEAP32[((((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$25 + } + label$26 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + } + break label$23; + } + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$24; + }; + } + label$27 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + break label$18; + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + label$28 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + break label$9; + } + } + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$10; + }; + } + label$29 : { + if ((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$29 + } + label$30 : { + if (((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 150 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$30 + } + $297_1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + $300_1 = HEAP32[(HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = $300_1; + $349($297_1 | 0, 33608 | 0, $7_1 | 0); + } + $13(HEAP32[(HEAP32[($7_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 76 | 0) >> 2] = 1; + break label$1; + } + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + } + $311_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $311_1 | 0; + } + + function $1465($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $10_1 = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $16_1 = 0, $28_1 = 0, $37_1 = 0, $22_1 = 0, $31_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 35249; + HEAP32[$4_1 >> 2] = 12; + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = 1983; + HEAP32[$4_1 >> 2] = 4; + } + $10_1 = 32437; + $11_1 = 3; + $12_1 = 1; + $13_1 = 0; + $14_1 = 2; + $15_1 = 1; + $16_1 = 53; + $17_1 = 0; + $466(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $10_1 | 0, $14_1 | 0, $15_1 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $16_1 | 0, $17_1 | 0, $17_1 | 0, $17_1 | 0, $17_1 | 0, $17_1 | 0) | 0; + $466(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $10_1 | 0, $11_1 | 0, $15_1 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $16_1 | 0, $17_1 | 0, $17_1 | 0, $17_1 | 0, $17_1 | 0, $17_1 | 0) | 0; + $22_1 = HEAP32[$4_1 >> 2] | 0; + $28_1 = $469(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $10_1 | 0, $14_1 | 0, $12_1 & 255 | 0 | 0, $13_1 & 255 | 0 | 0) | 0; + HEAP32[($28_1 + 4 | 0) >> 2] = HEAP32[($28_1 + 4 | 0) >> 2] | 0 | $22_1 | 0; + $31_1 = HEAP32[$4_1 >> 2] | 0; + $37_1 = $469(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $10_1 | 0, $11_1 | 0, $12_1 & 255 | 0 | 0, $13_1 & 255 | 0 | 0) | 0; + HEAP32[($37_1 + 4 | 0) >> 2] = HEAP32[($37_1 + 4 | 0) >> 2] | 0 | $31_1 | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $1466($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $6_1 = 1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $366(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 80 | 0, 3 | 0, $6_1 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $367(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 48 | 0, $6_1 | 0, ($1296(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $1276(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 68 | 0) | 0; + $17_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $17_1 | 0; + } + + function $1467($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) - 1 | 0; + } + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 114644; + break label$2; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 4 | 0) >> 2] | 0, 20) | 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1468($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $27_1 = 0, $180_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($6_1 + 40 | 0) >> 2] = HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0; + $27_1 = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + -19 | 0; + label$4 : { + label$5 : { + label$6 : { + switch ($27_1 | 0) { + case 24: + case 25: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1538(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + label$16 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $1468(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$15; + } + label$17 : { + label$18 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1358(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $1390(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 48 | 0) >> 2] | 0) ^ 16 | 0 | 0); + $1468(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + break label$17; + } + $1468(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + $1468(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + } + } + break label$4; + case 0: + $1390(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$4; + case 153: + HEAP32[($6_1 + 12 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) == (168 | 0) & 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1502(HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + label$20 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) ^ (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0)) { + break label$20 + } + $1468(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 12 | 0) >> 2] | 0 ? 16 : 0) | 0); + break label$19; + } + $1390(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 12 | 0) >> 2] | 0 ? 16 : 0) | 0); + } + break label$4; + case 26: + case 149: + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (45 | 0) & 1 | 0 ? 53 : 52; + HEAP32[($6_1 + 48 | 0) >> 2] = 128; + case 33: + case 34: + case 35: + case 36: + case 37: + case 38: + label$21 : { + if (!($1505(HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$21 + } + break label$5; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1507(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1507(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $1508(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 512 | 0 | 0) != (0 | 0) & 1 | 0 | 0) | 0; + break label$4; + case 31: + case 32: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1507(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0; + break label$4; + case 29: + $1518(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, 54 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$4; + case 30: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1358(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + label$23 : { + if (!(HEAP32[($6_1 + 48 | 0) >> 2] | 0)) { + break label$23 + } + $180_1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + break label$22; + } + $180_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + } + HEAP32[$6_1 >> 2] = $180_1; + $1517(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0); + $1282(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0); + break label$4; + default: + break label$6; + }; + } + } + label$24 : { + label$25 : { + if (!(((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 268435457 | 0 | 0) == (268435456 | 0) & 1 | 0)) { + break label$25 + } + $1282(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0; + break label$24; + } + label$26 : { + label$27 : { + if (!(((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 536870913 | 0 | 0) == (536870912 | 0) & 1 | 0)) { + break label$27 + } + break label$26; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1507(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, $6_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 18 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0) | 0; + } + } + } + $1383(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 64 | 0; + return; + } + + function $1469($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $28_1 = 0, $16_1 = 0, $58_1 = 0, $112_1 = 0, $122_1 = 0, $138_1 = 0, $31_1 = 0, $169_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 48 | 0; + global$0 = $10_1; + HEAP32[($10_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($10_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $28_1 = 0; + $31_1 = $1358(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($10_1 + 24 | 0) >> 2] | 0) >> 2] = $31_1; + HEAP32[((HEAP32[($10_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 2] = (HEAP32[($10_1 + 36 | 0) >> 2] | 0) + 1 | 0; + $1647(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($10_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, 16 | 0); + HEAP32[((HEAP32[($10_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 2] = $28_1; + HEAP32[($10_1 + 20 | 0) >> 2] = $28_1; + break label$2; + } + HEAP32[(HEAP32[($10_1 + 24 | 0) >> 2] | 0) >> 2] = 0; + } + } + label$4 : { + label$5 : { + if (!(HEAP32[($10_1 + 28 | 0) >> 2] | 0)) { + break label$5 + } + $16_1 = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + if (!((((HEAPU8[($16_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($16_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 3 | 0) & 1 | 0) & 65535 | 0)) { + break label$5 + } + $58_1 = (HEAPU16[((HEAP32[($10_1 + 40 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + break label$4; + } + $58_1 = (HEAPU16[((HEAP32[($10_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0; + } + HEAP32[$10_1 >> 2] = $58_1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1379(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[$10_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if ((HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$7 + } + if (!((HEAP32[((HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[($10_1 + 20 | 0) >> 2] = 0; + } + HEAP32[($10_1 + 8 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[$10_1 >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + label$10 : { + label$11 : { + if (!((HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $112_1 = 16; + $122_1 = 16; + if (!((((HEAPU16[((HEAP32[((HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $112_1 | 0) >> $112_1 | 0 | 0) == (((HEAPU16[((HEAP32[((HEAP32[($10_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $122_1 | 0) >> $122_1 | 0 | 0) & 1 | 0)) { + break label$11 + } + $138_1 = 16; + if (!((((HEAPU16[((HEAP32[((HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $138_1 | 0) >> $138_1 | 0 | 0) != (-2 | 0) & 1 | 0)) { + break label$11 + } + break label$10; + } + $1648(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 4 | 0) >> 2] | 0) + (HEAP32[($10_1 + 8 | 0) >> 2] | 0) | 0 | 0); + $1649(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, 83 & 255 | 0 | 0) | 0; + } + HEAP32[($10_1 + 8 | 0) >> 2] = (HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$12 : { + if (!(HEAP32[($10_1 + 32 | 0) >> 2] | 0)) { + break label$12 + } + $367(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$10_1 >> 2] | 0 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + $1384(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$10_1 >> 2] | 0 | 0); + $169_1 = HEAP32[($10_1 + 4 | 0) >> 2] | 0; + global$0 = $10_1 + 48 | 0; + return $169_1 | 0; + } + + function $1470($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + $1369(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1471($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $1467(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $6_1), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1472($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($4_1 + 150 | 0) >> 1] = (HEAPU16[($4_1 + 150 | 0) >> 1] | 0) & -33 | 0; + return; + } + + function $1473($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $70_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!($1337(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$5 : { + if (!($1474(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$6 : { + if (!($1645(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!($1322(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$9 : { + label$10 : { + if ($1645(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0) | 0) { + break label$10 + } + if ($1474(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$10 + } + if ($1645(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$10 + } + if (!($1474(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $70_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $70_1 | 0; + } + + function $1474($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $22_1 = 0, $51_1 = 0, $82_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$4 + } + $22_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($22_1 + 4 | 0) >> 2] = HEAP32[($22_1 + 4 | 0) >> 2] | 0 | 1073741824 | 0; + } + label$5 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (153 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] = 119; + break label$6; + } + $51_1 = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $349($51_1 | 0, 30973 | 0, $4_1 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8404992 | 0)) { + break label$8 + } + break label$2; + } + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$10 + } + label$11 : { + if (!($1337(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + break label$9; + } + label$12 : { + if (!($1645(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + } + label$13 : { + if (!($1474(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$13 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $82_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $82_1 | 0; + } + + function $1475($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, $43_1 = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP8[($7_1 + 27 | 0) >> 0] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $308(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 48 | 0) + 1 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$7_1 >> 2] = (HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 48 | 0; + $3288(HEAP32[$7_1 >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + $1305(HEAP32[$7_1 >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[$7_1 >> 2] | 0; + HEAP8[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 0] = HEAPU8[($7_1 + 27 | 0) >> 0] | 0; + $43_1 = $1477(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] = $43_1; + label$2 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$2 + } + $1223(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0; + } + } + $58_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $58_1 | 0; + } + + function $1476($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $28_1 = 0, $47_1 = 0, $60_1 = 0, $63_1 = 0, $104_1 = 0, $135_1 = 0, $143_1 = 0, i64toi32_i32$2 = 0, $76_1 = 0, $81_1 = 0, $86_1 = 0, $112_1 = 0, $131_1 = 0, $151_1 = 0, $157_1 = 0, $162_1 = 0, $553_1 = 0, $170_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + $28_1 = Math_imul((HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0, 72); + break label$3; + } + $28_1 = 0; + } + HEAP32[($5_1 + 20 | 0) >> 2] = $28_1 + 80 | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $47_1 = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = $47_1; + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = $47_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $60_1 = 72; + $63_1 = 8; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, $60_1) | 0) + $63_1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, $60_1) | 0) + $63_1 | 0; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $76_1 = $291(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = $76_1; + $81_1 = $291(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = $81_1; + $86_1 = $291(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = $86_1; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $104_1 = 1; + label$8 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> $104_1 | 0) & $104_1 | 0) & 255 | 0)) { + break label$8 + } + $112_1 = $291(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 64 | 0) >> 2] = $112_1; + } + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + label$9 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0)) { + break label$9 + } + $131_1 = $1339(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 64 | 0) >> 2] = $131_1; + } + $135_1 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = $135_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $135_1; + label$10 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $143_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($143_1 + 32 | 0) >> 2] = (HEAP32[($143_1 + 32 | 0) >> 2] | 0) + 1 | 0; + } + $151_1 = $1338(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = $151_1; + $157_1 = $1310(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] = $157_1; + $162_1 = $1574(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] = $162_1; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $553_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] = $553_1; + HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + $170_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $170_1 | 0; + } + + function $1477($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1309(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] = 32; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + $48_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $48_1 | 0; + } + + function $1478($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $80_1 = 0, $21_1 = 0, $62_1 = 0, $68_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1030(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $21_1 = 1; + HEAP32[($4_1 + 20 | 0) >> 2] = 16; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == ($21_1 | 0) & 1 | 0 ? 8404 : 8004; + label$3 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == ($21_1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 14; + } + label$4 : { + label$5 : { + if ($1283(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + if (!($1283(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 9 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + } + break label$1; + } + } + $62_1 = $1275(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $62_1; + if (!(($62_1 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $68_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $75_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $75_1; + $1302($68_1 | 0, 31553 | 0, $4_1 | 0); + $80_1 = 0; + $1303(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + $1278(HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, 146 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $80_1 | 0, $80_1 | 0, HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, $80_1 | 0) | 0; + } + global$0 = $4_1 + 48 | 0; + return; + } + + function $1479($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$1 = 0, $17_1 = 0, i64toi32_i32$0 = 0, $142_1 = 0, $26_1 = 0, $37_1 = 0, $48_1 = 0, $74_1 = 0, $107_1 = 0, $114_1 = 0, $123_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 80 | 0; + global$0 = $9_1; + HEAP32[($9_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 56 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 52 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + $17_1 = $9_1 + 16 | 0; + i64toi32_i32$0 = 0; + $142_1 = 0; + i64toi32_i32$1 = $17_1; + HEAP32[i64toi32_i32$1 >> 2] = $142_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $142_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $17_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $142_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $17_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $142_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 16 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $26_1 = $1846($17_1 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 48 | 0) >> 2] = $26_1; + label$3 : { + label$4 : { + if ((0 | 0) != ($26_1 | 0) & 1 | 0) { + break label$4 + } + $37_1 = $1846($9_1 + 16 | 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 48 | 0) >> 2] = $37_1; + if ((0 | 0) != ($37_1 | 0) & 1 | 0) { + break label$4 + } + $48_1 = $1846($9_1 + 16 | 0 | 0, HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 48 | 0) >> 2] = $48_1; + if (!((0 | 0) != ($48_1 | 0) & 1 | 0)) { + break label$3 + } + } + break label$1; + } + label$5 : { + if (!((HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!(((HEAPU8[(HEAP32[($9_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[$9_1 >> 2] = HEAP32[((HEAP32[($9_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$6; + } + HEAP32[$9_1 >> 2] = 0; + } + $74_1 = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1283(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[$9_1 >> 2] | 0 | 0, $74_1 | 0, $74_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($9_1 + 48 | 0) >> 2] | 0)) { + break label$8 + } + break label$1; + } + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1275(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1379(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, 4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $1281(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0); + $1281(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 1 | 0 | 0); + $1281(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 2 | 0 | 0); + label$9 : { + if (!((HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $107_1 = 0; + $114_1 = 24; + $123_1 = 24; + $1514(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, $107_1 | 0, ((HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 3 | 0) - (((HEAPU8[(HEAP32[($9_1 + 68 | 0) >> 2] | 0) >> 0] | 0) << $114_1 | 0) >> $114_1 | 0) | 0 | 0, (HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 3 | 0 | 0, ((HEAPU8[(HEAP32[($9_1 + 68 | 0) >> 2] | 0) >> 0] | 0) << $123_1 | 0) >> $123_1 | 0 | 0, HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, $107_1 | 0) | 0; + $1288(HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0, 159 | 0, (HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) == (24 | 0) & 1 | 0 | 0) | 0; + } + } + $18(HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0); + $18(HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0); + $18(HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0); + global$0 = $9_1 + 80 | 0; + return; + } + + function $1480($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1481(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0; + continue label$2; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1481($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if ((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + if (!($1849(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $1287(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $1330(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0); + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$3; + }; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1482($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $19_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + $1287(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $5_1 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $19_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($19_1 + 40 | 0) >> 2] = (HEAP32[($19_1 + 40 | 0) >> 2] | 0) + 3 | 0; + $1850(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $5_1 | 0, $5_1 | 0); + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1851(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + continue label$2; + }; + } + $1852(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 48 | 0; + return; + } + + function $1483($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1224(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $122(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0); + $13_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $13_1 | 0; + } + + function $1484($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $1287(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $6_1 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $16_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($16_1 + 40 | 0) >> 2] = (HEAP32[($16_1 + 40 | 0) >> 2] | 0) + 3 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$2 + } + $1850(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, 14134 | 0); + break label$1; + } + $1850(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, 14130 | 0); + } + $1851(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $1852(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 32 | 0; + return; + } + + function $1485($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $23_1 = 0, $76_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $68(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!($89(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $23_1 = 24; + label$4 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0 | 0) != (95 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 340 | 0 | 0, HEAP32[(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$6 : { + if (!((HEAP32[(HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$7 : { + if (!((HEAP32[((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0](((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) + 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $76_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $76_1 | 0; + } + + function $1486($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $23_1 = 0, $29_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((0 | 0) == ($89(HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, 27544 | 0, 7 | 0) | 0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 4096 | 0)) { + break label$2 + } + if (!($1579(HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + } + $23_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + $349($23_1 | 0, 37355 | 0, $4_1 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $29_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $29_1 | 0; + } + + function $1487($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1303(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $1304(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0); + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$2 + } + $1304(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 1 | 0, 0 | 0); + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1488($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $7_1 = 0, $8_1 = 0, $14_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $7_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $8_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $7_1; + $1302($6_1 | 0, 37383 | 0, $5_1 + 16 | 0 | 0); + label$1 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$1 + } + $14_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $1302($14_1 | 0, 37550 | 0, $5_1 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1489($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $8_1 = 0, $9_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + $7_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $8_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + $9_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $9_1; + HEAP32[$6_1 >> 2] = $8_1; + $1302($7_1 | 0, 38080 | 0, $6_1 | 0); + global$0 = $6_1 + 32 | 0; + return; + } + + function $1490($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $26_1 = 0; + $7_1 = global$0 - 16 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $1_1; + HEAP8[($7_1 + 7 | 0) >> 0] = $2_1; + HEAP8[($7_1 + 6 | 0) >> 0] = $3_1; + HEAP32[$7_1 >> 2] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $26_1 = $1541(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAPU8[($7_1 + 6 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[$7_1 >> 2] | 0 | 0, 0 | 0) | 0; + break label$1; + } + $26_1 = 0; + } + global$0 = $7_1 + 16 | 0; + return $26_1 | 0; + } + + function $1491($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $24_1 = 0, $25_1 = 0, $31_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 27417; + } + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 38550; + } + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $24_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $25_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $25_1; + $349($24_1 | 0, 38564 | 0, $4_1 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$3; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $31_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $31_1 | 0; + } + + function $1492($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 248 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 248 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $1156(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0, $1130(HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1493($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $27_1 = 0, $30_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if ($88(HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0) { + break label$3 + } + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$2; + }; + } + label$4 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $27_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $349($27_1 | 0, 28944 | 0, $5_1 | 0); + } + $30_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $30_1 | 0; + } + + function $1494($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $26_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((0 | 0) == ($1243(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$2 + } + $1311(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + $26_1 = 0; + $18(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, 119 | 0, $26_1 | 0, $26_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $33_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $33_1 | 0; + } + + function $1495($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $1467(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $6_1), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1496($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, $1157_1 = 0, i64toi32_i32$0 = 0, $1340_1 = 0, $6_1 = 0, $913_1 = 0, $1119_1 = 0, $1302_1 = 0, $24_1 = 0, $33_1 = 0, $69_1 = 0, $75_1 = 0, $88_1 = 0, $95_1 = 0, $130_1 = 0, $134_1 = 0, $139_1 = 0, $183_1 = 0, $204_1 = 0, $208_1 = 0, $231_1 = 0, $246_1 = 0, $256_1 = 0, $283_1 = 0, $303_1 = 0, $369_1 = 0, $376_1 = 0, $385_1 = 0, $420_1 = 0, $604_1 = 0, $636_1 = 0, $646_1 = 0, $666_1 = 0, $673_1 = 0, $706_1 = 0, $824_1 = 0, $956_1 = 0, $983_1 = 0, $1001_1 = 0, $1006_1 = 0, $1029_1 = 0, $1042_1 = 0, $1049_1 = 0, $1059_1 = 0, $1063_1 = 0, $1084_1 = 0, $1132_1 = 0, $1281_1 = 0, $1293_1 = 0, $1307_1 = 0, $1322_1 = 0, $1327_1 = 0, $226_1 = 0, $656_1 = 0, $736_1 = 0, $974_1 = 0, $980_1 = 0, $989_1 = 0, $991_1 = 0, $1337_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 416 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 408 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 404 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 400 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 396 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 388 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + HEAP32[($5_1 + 384 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 380 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 316 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + label$7 : while (1) { + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 392 | 0) >> 2] = 119; + break label$8; + } + HEAP32[($5_1 + 392 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 404 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + } + $24_1 = (HEAP32[($5_1 + 392 | 0) >> 2] | 0) + -19 | 0; + label$10 : { + switch ($24_1 | 0) { + case 147: + HEAP32[($5_1 + 312 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $33_1 = 16; + HEAP32[($5_1 + 308 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 312 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 34 | 0) >> 1] | 0) << $33_1 | 0) >> $33_1 | 0, 20) | 0; + label$36 : { + if (((HEAPU8[(HEAP32[($5_1 + 312 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$36 + } + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 308 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$1; + } + label$37 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 312 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[($5_1 + 304 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 308 | 0) >> 2] | 0) >> 2] | 0; + $69_1 = 16; + $367(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[((HEAP32[($5_1 + 312 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 308 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $69_1 | 0) >> $69_1 | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + $75_1 = 16; + label$38 : { + label$39 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 308 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $75_1 | 0) >> $75_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$39 + } + break label$38; + } + $88_1 = 16; + $95_1 = 24; + label$40 : { + if (!((((HEAPU8[(((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[($5_1 + 308 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $88_1 | 0) >> $88_1 | 0, 20) | 0) + 13 | 0) >> 0] | 0) << $95_1 | 0) >> $95_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$40 + } + $1288(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 83 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + } + case 145: + HEAP32[($5_1 + 300 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$41 : { + if (!((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0)) { + break label$41 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1496(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 296 | 0) >> 2] = wasm2js_i32$1; + label$42 : { + label$43 : { + if (!((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$43 + } + $130_1 = 16; + $134_1 = 24; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (($1498(HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $130_1 | 0) >> $130_1 | 0 | 0) | 0) << $134_1 | 0) >> $134_1 | 0), HEAP32[(wasm2js_i32$0 + 292 | 0) >> 2] = wasm2js_i32$1; + break label$42; + } + $139_1 = 24; + HEAP32[($5_1 + 292 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $139_1 | 0) >> $139_1 | 0; + } + label$44 : { + if (!((HEAP32[($5_1 + 292 | 0) >> 2] | 0 | 0) > (65 | 0) & 1 | 0)) { + break label$44 + } + $1278(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 90 | 0, HEAP32[($5_1 + 296 | 0) >> 2] | 0 | 0, 1 | 0, 0 | 0, 26848 + (((HEAP32[($5_1 + 292 | 0) >> 2] | 0) - 66 | 0) << 1 | 0) | 0 | 0, -1 | 0) | 0; + } + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 296 | 0) >> 2] | 0; + break label$1; + } + label$45 : { + if (!((HEAP32[($5_1 + 300 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$45 + } + label$46 : { + if (!((HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$46 + } + HEAP32[($5_1 + 284 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $183_1 = 16; + HEAP32[($5_1 + 276 | 0) >> 2] = ((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $183_1 | 0) >> $183_1 | 0; + label$47 : { + if (!((HEAP32[($5_1 + 276 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$47 + } + HEAP32[($5_1 + 412 | 0) >> 2] = -1 - (HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) | 0; + break label$1; + } + HEAP32[($5_1 + 288 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 284 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 276 | 0) >> 2] | 0, 20) | 0; + $204_1 = 16; + $208_1 = 16; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ((($1424(HEAP32[($5_1 + 284 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 276 | 0) >> 2] | 0) << $204_1 | 0) >> $204_1 | 0 | 0) | 0) << $208_1 | 0) >> $208_1 | 0) - (HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 280 | 0) >> 2] = wasm2js_i32$1; + label$48 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 288 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$48 + } + label$49 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 288 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$49 + } + $226_1 = HEAP32[($5_1 + 408 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[(HEAP32[($5_1 + 288 | 0) >> 2] | 0) >> 2] | 0; + $349($226_1 | 0, 26856 | 0, $5_1 | 0); + HEAP32[($5_1 + 412 | 0) >> 2] = 0; + break label$1; + } + $231_1 = HEAP32[($5_1 + 288 | 0) >> 2] | 0; + HEAP16[($231_1 + 16 | 0) >> 1] = (HEAPU16[($231_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 256 | 0; + label$50 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 288 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$50 + } + $1499(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 280 | 0) >> 2] | 0 | 0); + } + $246_1 = HEAP32[($5_1 + 288 | 0) >> 2] | 0; + HEAP16[($246_1 + 16 | 0) >> 1] = ((HEAPU16[($246_1 + 16 | 0) >> 1] | 0) & 65535 | 0) & -385 | 0; + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 280 | 0) >> 2] | 0; + break label$1; + } + $256_1 = 24; + label$51 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 288 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $256_1 | 0) >> $256_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$51 + } + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 78 | 0, HEAP32[($5_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + $1288(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 83 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 280 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 300 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) - 1 | 0; + } + $283_1 = 16; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1500(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $283_1 | 0) >> $283_1 | 0 | 0, HEAP32[($5_1 + 300 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 296 | 0) >> 2] = wasm2js_i32$1; + label$52 : { + if (!((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$52 + } + $303_1 = 24; + if (!((((HEAPU8[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $303_1 | 0) >> $303_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$52 + } + $1288(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 83 | 0, HEAP32[($5_1 + 296 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 296 | 0) >> 2] | 0; + break label$1; + case 133: + $1501(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + case 148: + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 69 | 0, $1502(HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + case 131: + $1503(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + case 96: + $1463(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + default: + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + case 132: + HEAP32[($5_1 + 268 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 2 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($68(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 272 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1504($296(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 272 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 264 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 74 | 0, (HEAP32[($5_1 + 272 | 0) >> 2] | 0 | 0) / (2 | 0) | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, -7 | 0) | 0; + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + case 134: + $369_1 = 16; + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 75 | 0, ((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $369_1 | 0) >> $369_1 | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + $376_1 = 24; + label$53 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $376_1 | 0) >> $376_1 | 0)) { + break label$53 + } + $385_1 = 16; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $337(HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $385_1 | 0) >> $385_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 260 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0) >> 2] = 0; + $1420(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0, -1 | 0); + } + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + case 154: + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + break label$1; + case 17: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1496(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 388 | 0) >> 2] = wasm2js_i32$1; + label$54 : { + if (!((HEAP32[($5_1 + 388 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$54 + } + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 78 | 0, HEAP32[($5_1 + 388 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 388 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + } + $420_1 = 24; + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 84 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0, (($1307(HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0) << $420_1 | 0) >> $420_1 | 0 | 0) | 0; + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + break label$1; + case 26: + case 149: + HEAP32[($5_1 + 392 | 0) >> 2] = (HEAP32[($5_1 + 392 | 0) >> 2] | 0 | 0) == (45 | 0) & 1 | 0 ? 53 : 52; + HEAP32[($5_1 + 316 | 0) >> 2] = 128; + case 33: + case 34: + case 35: + case 36: + case 37: + case 38: + HEAP32[($5_1 + 256 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$55 : { + label$56 : { + if (!($1505(HEAP32[($5_1 + 256 | 0) >> 2] | 0 | 0) | 0)) { + break label$56 + } + $1506(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 392 | 0) >> 2] | 0) & 255 | 0 | 0, (HEAP32[($5_1 + 316 | 0) >> 2] | 0) & 255 | 0 | 0); + break label$55; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 256 | 0) >> 2] | 0 | 0, $5_1 + 384 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $5_1 + 380 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_i32$1; + $1508(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 256 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 392 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 372 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 388 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 316 | 0) >> 2] | 0 | 32 | 0 | 0, ((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 512 | 0 | 0) != (0 | 0) & 1 | 0 | 0) | 0; + } + break label$2; + case 24: + case 25: + case 82: + case 83: + case 84: + case 85: + case 86: + case 87: + case 88: + case 89: + case 90: + case 91: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 384 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $5_1 + 380 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 392 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 372 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + break label$2; + case 151: + HEAP32[($5_1 + 252 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$57 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 252 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (152 | 0) & 1 | 0)) { + break label$57 + } + $1501(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 252 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + } + label$58 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 252 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (150 | 0) & 1 | 0)) { + break label$58 + } + $1503(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + } + HEAP8[($5_1 + 320 | 0) >> 0] = 152; + HEAP32[($5_1 + 324 | 0) >> 2] = 17408; + HEAP32[($5_1 + 328 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, $5_1 + 320 | 0 | 0, $5_1 + 384 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 380 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 106 | 0, HEAP32[($5_1 + 372 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + break label$2; + case 0: + case 93: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 384 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 392 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 388 | 0) >> 2] | 0 | 0) | 0; + break label$2; + case 153: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 384 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1502(HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 248 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 244 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) == (45 | 0) & 1 | 0; + $353(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 87 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 388 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0 | 0, (HEAP32[($5_1 + 248 | 0) >> 2] | 0) ^ (HEAP32[($5_1 + 244 | 0) >> 2] | 0) | 0 | 0) | 0; + break label$2; + case 31: + case 32: + $604_1 = 69; + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, $604_1 | 0, 1 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 384 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1288(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 392 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, $604_1 | 0, 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 240 | 0) >> 2] | 0 | 0); + break label$2; + case 146: + HEAP32[($5_1 + 236 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$59 : { + label$60 : { + label$61 : { + if ((HEAP32[($5_1 + 236 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$61 + } + $636_1 = 16; + if ((((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 34 | 0) >> 1] | 0) << $636_1 | 0) >> $636_1 | 0 | 0) < (0 | 0) & 1 | 0) { + break label$61 + } + $646_1 = 16; + if (!((((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 34 | 0) >> 1] | 0) << $646_1 | 0) >> $646_1 | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 236 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$60 + } + } + $656_1 = HEAP32[($5_1 + 408 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $349($656_1 | 0, 26886 | 0, $5_1 + 16 | 0 | 0); + break label$59; + } + $666_1 = 16; + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($5_1 + 236 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 34 | 0) >> 1] | 0) << $666_1 | 0) >> $666_1 | 0) << 4 | 0) | 0) + 8 | 0) >> 2] | 0; + break label$1; + } + break label$2; + case 150: + $673_1 = 0; + HEAP32[($5_1 + 216 | 0) >> 2] = $673_1; + HEAP32[($5_1 + 208 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 408 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[($5_1 + 207 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 208 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0; + HEAP32[($5_1 + 200 | 0) >> 2] = $673_1; + label$62 : { + if (!((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$62 + } + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + break label$1; + } + label$63 : { + if (!((HEAPU8[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0)) { + break label$63 + } + if (!($1509(HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0) | 0)) { + break label$63 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1510(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 412 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($5_1 + 232 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$64 : { + label$65 : { + if (!((HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$65 + } + $706_1 = HEAP32[(HEAP32[($5_1 + 232 | 0) >> 2] | 0) >> 2] | 0; + break label$64; + } + $706_1 = 0; + } + HEAP32[($5_1 + 228 | 0) >> 2] = $706_1; + HEAP32[($5_1 + 220 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $469(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 207 | 0) >> 0] | 0) & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_i32$1; + label$66 : { + label$67 : { + if ((HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$67 + } + if (!((HEAP32[((HEAP32[($5_1 + 224 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$66 + } + } + $736_1 = HEAP32[($5_1 + 408 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 220 | 0) >> 2] | 0; + $349($736_1 | 0, 26912 | 0, $5_1 + 32 | 0 | 0); + break label$2; + } + label$68 : { + if (!((HEAP32[((HEAP32[($5_1 + 224 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4194304 | 0)) { + break label$68 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1511(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 224 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 412 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$69 : { + if (!((HEAP32[((HEAP32[($5_1 + 224 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2621440 | 0)) { + break label$69 + } + $1512(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 212 | 0) >> 2] = 0; + label$70 : { + label$71 : while (1) { + if (!((HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$70 + } + label$72 : { + if (!((HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0) < (32 | 0) & 1 | 0)) { + break label$72 + } + if (!($1243(HEAP32[(((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 212 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$72 + } + HEAP32[($5_1 + 216 | 0) >> 2] = HEAP32[($5_1 + 216 | 0) >> 2] | 0 | (1 << (HEAP32[($5_1 + 212 | 0) >> 2] | 0) | 0) | 0; + } + label$73 : { + if (!((HEAP32[((HEAP32[($5_1 + 224 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0)) { + break label$73 + } + if ((HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$73 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1173(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 212 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 200 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($5_1 + 212 | 0) >> 2] = (HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 1 | 0; + continue label$71; + }; + } + label$74 : { + label$75 : { + if (!((HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$75 + } + label$76 : { + label$77 : { + if (!(HEAP32[($5_1 + 216 | 0) >> 2] | 0)) { + break label$77 + } + HEAP32[($5_1 + 376 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $824_1 = HEAP32[($5_1 + 408 | 0) >> 2] | 0; + HEAP32[($824_1 + 44 | 0) >> 2] = (HEAP32[($824_1 + 44 | 0) >> 2] | 0) + (HEAP32[($5_1 + 228 | 0) >> 2] | 0) | 0; + break label$76; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1379(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_i32$1; + } + label$78 : { + if (!((HEAP32[((HEAP32[($5_1 + 224 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 192 | 0)) { + break label$78 + } + HEAP8[($5_1 + 199 | 0) >> 0] = HEAPU8[(HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 0] | 0; + label$79 : { + label$80 : { + if (((HEAPU8[($5_1 + 199 | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0) { + break label$80 + } + if (!(((HEAPU8[($5_1 + 199 | 0) >> 0] | 0) & 255 | 0 | 0) == (166 | 0) & 1 | 0)) { + break label$79 + } + } + HEAP8[((HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 2 | 0) >> 0] = (HEAP32[((HEAP32[($5_1 + 224 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 192 | 0; + } + } + $1380(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, 0 | 0, 3 & 255 | 0 | 0) | 0; + break label$74; + } + HEAP32[($5_1 + 376 | 0) >> 2] = 0; + } + label$81 : { + label$82 : { + if (!((HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$82 + } + if (!((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 128 | 0)) { + break label$82 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1513(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_i32$1; + break label$81; + } + label$83 : { + if (!((HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$83 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1513(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_i32$1; + } + } + label$84 : { + if (!((HEAP32[((HEAP32[($5_1 + 224 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0)) { + break label$84 + } + label$85 : { + if ((HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$85 + } + HEAP32[($5_1 + 200 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 208 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $913_1 = 0; + $1278(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 81 | 0, $913_1 | 0, $913_1 | 0, $913_1 | 0, HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0, -2 | 0) | 0; + } + $1514(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + label$86 : { + if (!(HEAP32[($5_1 + 228 | 0) >> 2] | 0)) { + break label$86 + } + label$87 : { + label$88 : { + if (HEAP32[($5_1 + 216 | 0) >> 2] | 0) { + break label$88 + } + $1384(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0); + break label$87; + } + } + } + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + case 1: + case 117: + label$89 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($5_1 + 408 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$89 + } + HEAP32[($5_1 + 412 | 0) >> 2] = 0; + break label$1; + } + label$90 : { + label$91 : { + if (!((HEAP32[($5_1 + 392 | 0) >> 2] | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$91 + } + $956_1 = HEAP32[(HEAP32[((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 192 | 0) >> 2] = $956_1; + if (!(($956_1 | 0) != (1 | 0) & 1 | 0)) { + break label$91 + } + $1515(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, 1 | 0); + break label$90; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1516(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 412 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + break label$2; + case 156: + label$92 : { + if (HEAP32[((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$92 + } + $974_1 = $1516(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = $974_1; + } + label$93 : { + if (!(HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0)) { + break label$93 + } + $980_1 = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $983_1 = $1432(HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 188 | 0) >> 2] = $983_1; + if (!(($980_1 | 0) != ($983_1 | 0) & 1 | 0)) { + break label$93 + } + $989_1 = HEAP32[($5_1 + 408 | 0) >> 2] | 0; + $991_1 = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = $991_1; + $349($989_1 | 0, 26935 | 0, $5_1 + 48 | 0 | 0); + } + $1001_1 = 16; + HEAP32[($5_1 + 412 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $1001_1 | 0) >> $1001_1 | 0) | 0; + break label$1; + case 30: + $1006_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 72 | 0, $1006_1 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + $1517(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 69 | 0, 1 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0, $1006_1 | 0) | 0; + $1369(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + case 29: + $1029_1 = 0; + $1518(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0, $1029_1 | 0, $1029_1 | 0); + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + case 92: + case 152: + case 159: + HEAP32[($5_1 + 404 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$7; + case 58: + break label$10; + case 52: + break label$3; + case 135: + break label$4; + case 157: + break label$5; + case 155: + break label$6; + }; + } + break label$7; + }; + HEAP32[($5_1 + 176 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $1042_1 = 16; + HEAP32[($5_1 + 172 | 0) >> 2] = ((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $1042_1 | 0) >> $1042_1 | 0; + $1049_1 = 16; + $1059_1 = 16; + $1063_1 = 16; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (Math_imul(HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0, (((HEAPU16[((HEAP32[($5_1 + 176 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1049_1 | 0) >> $1049_1 | 0) + 1 | 0) + 1 | 0) + ((($1424(HEAP32[($5_1 + 176 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 172 | 0) >> 2] | 0) << $1059_1 | 0) >> $1059_1 | 0 | 0) | 0) << $1063_1 | 0) >> $1063_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 149 | 0, HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + label$94 : { + if (!((HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$94 + } + $1084_1 = 24; + if (!((((HEAPU8[(((HEAP32[((HEAP32[($5_1 + 176 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 172 | 0) >> 2] | 0, 20) | 0) + 13 | 0) >> 0] | 0) << $1084_1 | 0) >> $1084_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$94 + } + $1288(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 83 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + } + break label$2; + } + $349(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, 26965 | 0, 0 | 0); + break label$2; + } + HEAP8[($5_1 + 163 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1288(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 21 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 23 | 0) >> 0] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1496(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 388 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 23 | 0) >> 0] = HEAPU8[($5_1 + 163 | 0) >> 0] | 0; + $1277(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0); + $1471(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 388 | 0) >> 2] | 0 | 0); + break label$2; + } + $1119_1 = 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $1119_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $1119_1; + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 408 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 136 | 0) >> 2] = (HEAP32[($5_1 + 140 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($5_1 + 148 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 140 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + $1132_1 = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $1132_1; + label$95 : { + if (!(($1132_1 | 0) != ($1119_1 | 0) & 1 | 0)) { + break label$95 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$96 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$96 + } + $18(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + break label$2; + } + $1157_1 = $5_1 + 80 | 0; + $1520(HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, $1519(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, $5_1 + 384 | 0 | 0) | 0 | 0); + i64toi32_i32$0 = 0; + $1340_1 = 0; + i64toi32_i32$1 = $1157_1; + HEAP32[i64toi32_i32$1 >> 2] = $1340_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1340_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $1157_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1340_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $1157_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1340_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $1157_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1340_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $1157_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1340_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($5_1 + 80 | 0) >> 0] = 53; + HEAP32[($5_1 + 92 | 0) >> 2] = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $1157_1; + HEAP32[($5_1 + 384 | 0) >> 2] = 0; + } + HEAP32[($5_1 + 144 | 0) >> 2] = 0; + label$97 : { + label$98 : while (1) { + if (!((HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0) < ((HEAP32[($5_1 + 148 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$97 + } + label$99 : { + label$100 : { + if (!((HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$100 + } + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 144 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + break label$99; + } + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 144 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + $1390(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0, 16 | 0); + $1281(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 144 | 0) >> 2] | 0) + 1 | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0); + $1282(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 144 | 0) >> 2] = (HEAP32[($5_1 + 144 | 0) >> 2] | 0) + 2 | 0; + continue label$98; + }; + } + label$101 : { + label$102 : { + if (!((HEAP32[($5_1 + 148 | 0) >> 2] | 0) & 1 | 0)) { + break label$102 + } + $1281(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 140 | 0) >> 2] | 0) + 4 | 0) + (((HEAP32[($5_1 + 148 | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0); + break label$101; + } + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + } + $18(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + $1521(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0); + break label$2; + } + label$103 : { + if ((HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$103 + } + if (((HEAPU8[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$103 + } + $349(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, 26983 | 0, 0 | 0); + HEAP32[($5_1 + 412 | 0) >> 2] = 0; + break label$1; + } + $1281_1 = 24; + label$104 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $1281_1 | 0) >> $1281_1 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$104 + } + $1295(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0); + } + $1293_1 = 24; + label$105 : { + label$106 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $1293_1 | 0) >> $1293_1 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$106 + } + $1302_1 = 0; + $1278(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 68 | 0, $1302_1 | 0, 4 | 0, $1302_1 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $1302_1 | 0) | 0; + break label$105; + } + $1307_1 = 0; + $1322_1 = 24; + $1327_1 = 24; + $1522(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 1811 : 1) | 0, ((HEAPU8[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $1322_1 | 0) >> $1322_1 | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, ($1307_1 << $1327_1 | 0) >> $1327_1 | 0 | 0, $1307_1 & 255 | 0 | 0); + } + } + $1383(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 384 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 380 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + } + $1337_1 = HEAP32[($5_1 + 412 | 0) >> 2] | 0; + global$0 = $5_1 + 416 | 0; + return $1337_1 | 0; + } + + function $1497($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = Math_imul((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0, 5) - 4 | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) + (((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) << 2 | 0) | 0; + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 6 | 0) >> 1] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0; + HEAP8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = 1; + $3289((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0 | 0, 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $118(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + } + $55_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $55_1 | 0; + } + + function $1498($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $19_1 = 0, $22_1 = 0, $25_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = 24; + $22_1 = ((HEAPU8[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 20) | 0) + 13 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0; + break label$1; + } + $22_1 = 68; + } + $25_1 = 24; + return ($22_1 << $25_1 | 0) >> $25_1 | 0 | 0; + } + + function $1499($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $33_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $367(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 21 | 0, (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) - 1 | 0 | 0, 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + } + $1523(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + $33_1 = 24; + label$3 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $33_1 | 0) >> $33_1 | 0 | 0) >= (66 | 0) & 1 | 0)) { + break label$3 + } + $42_1 = 1; + $1278(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 90 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $42_1 | 0, 0 | 0, (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 13 | 0 | 0, $42_1 | 0) | 0; + } + label$4 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$4 + } + $1277(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1500($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP8[($8_1 + 11 | 0) >> 0] = $5_1; + $1381(HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0); + label$1 : { + if (!(((HEAPU8[($8_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1467(HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$2 + } + HEAP16[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 2 | 0) >> 1] = (HEAPU8[($8_1 + 11 | 0) >> 0] | 0) & 255 | 0; + } + } + $42_1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + global$0 = $8_1 + 32 | 0; + return $42_1 | 0; + } + + function $1501($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $82$hi = 0, $84$hi = 0, $87_1 = 0, $87$hi = 0, $88$hi = 0, $89$hi = 0, $73_1 = 0, $55_1 = 0, $57_1 = 0, $264_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1024 | 0)) { + break label$2 + } + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($6_1 + 40 | 0) >> 2] = 0 - (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0; + } + $366(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 69 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $528(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, $6_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$7 + } + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$6 + } + } + if ((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$6 + } + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$5 + } + i64toi32_i32$0 = -2147483648; + $82$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $84$hi = i64toi32_i32$1; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $82$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$5 + } + } + label$8 : { + label$9 : { + if ($89(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 27038 | 0, 2 | 0) | 0) { + break label$9 + } + $55_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $57_1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0 ? 5208 : 1352; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $57_1; + $349($55_1 | 0, 27041 | 0, $6_1 | 0); + break label$8; + } + $1503(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + } + break label$4; + } + label$10 : { + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$10 + } + label$11 : { + label$12 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$2 = -2147483648; + $87_1 = 0; + $87$hi = i64toi32_i32$2; + break label$11; + } + i64toi32_i32$2 = 0; + $88$hi = i64toi32_i32$2; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $89$hi = i64toi32_i32$1; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$1 = $89$hi; + $264_1 = i64toi32_i32$2; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = $89$hi; + i64toi32_i32$0 = $264_1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $87_1 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + $87$hi = i64toi32_i32$5; + } + i64toi32_i32$5 = $87$hi; + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $87_1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$5; + } + $73_1 = 0; + $1524(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 70 | 0, $73_1 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, $73_1 | 0, $6_1 + 24 | 0 | 0, -14 | 0) | 0; + } + } + global$0 = $6_1 + 64 | 0; + return; + } + + function $1502($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1316(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $10_1 = 24; + $17_1 = (((HEAPU8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) == (0 | 0) & 1 | 0; + global$0 = $3_1 + 16 | 0; + return $17_1 | 0; + } + + function $1503($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $25_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $344(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0, $68(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0, 1 & 255 | 0 | 0) | 0; + label$2 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$2 + } + HEAPF64[($6_1 + 8 | 0) >> 3] = -+HEAPF64[($6_1 + 8 | 0) >> 3]; + } + $25_1 = 0; + $1524(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 150 | 0, $25_1 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $25_1 | 0, $6_1 + 8 | 0 | 0, -13 | 0) | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1504($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, $36_1 = 0, $50_1 = 0, i64toi32_i32$0 = 0, $56_1 = 0, $71_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$1 = ((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) / (2 | 0) | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $36_1 = 24; + $50_1 = 24; + $56_1 = (($529(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $36_1 | 0) >> $36_1 | 0 | 0) | 0) & 255 | 0) << 4 | 0 | (($529(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $50_1 | 0) >> $50_1 | 0 | 0) | 0) & 255 | 0) | 0; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) / (2 | 0) | 0) | 0) >> 0] = $56_1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 2 | 0; + continue label$3; + }; + } + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) / (2 | 0) | 0) | 0) >> 0] = 0; + } + $71_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $71_1 | 0; + } + + function $1505($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $11_1 = ($1432(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) > (1 | 0) & 1 | 0; + global$0 = $3_1 + 16 | 0; + return $11_1 | 0; + } + + function $1506($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $89_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $2_1; + HEAP8[($7_1 + 67 | 0) >> 0] = $3_1; + HEAP8[($7_1 + 66 | 0) >> 0] = $4_1; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1432(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 40 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $8_1; + HEAP8[($7_1 + 35 | 0) >> 0] = HEAPU8[($7_1 + 67 | 0) >> 0] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 24 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 512 | 0 | 0) != ($8_1 | 0) & 1 | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) != ($1432(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $349(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, 26965 | 0, 0 | 0); + break label$1; + } + HEAP8[($7_1 + 66 | 0) >> 0] = (HEAPU8[($7_1 + 66 | 0) >> 0] | 0) & 255 | 0 | 32 | 0; + label$4 : { + if (!(((HEAPU8[($7_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) == (55 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($7_1 + 35 | 0) >> 0] = 56; + } + label$5 : { + if (!(((HEAPU8[($7_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) == (57 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[($7_1 + 35 | 0) >> 0] = 54; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1525(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1525(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!(1 & 1 | 0)) { + break label$6 + } + $89_1 = 0; + HEAP32[($7_1 + 20 | 0) >> 2] = $89_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $89_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1526(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, $7_1 + 12 | 0 | 0, $7_1 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1526(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $7_1 + 8 | 0 | 0, $7_1 + 16 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $1508(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$7_1 >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 66 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $1383(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + label$8 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) == ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$6; + } + label$9 : { + label$10 : { + if (!(((HEAPU8[($7_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) == (53 | 0) & 1 | 0)) { + break label$10 + } + $366(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP8[($7_1 + 66 | 0) >> 0] = (HEAPU8[($7_1 + 66 | 0) >> 0] | 0) & 255 | 0 | 8 | 0; + break label$9; + } + label$11 : { + label$12 : { + if (!(((HEAPU8[($7_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) == (52 | 0) & 1 | 0)) { + break label$12 + } + $366(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, 18 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP8[($7_1 + 66 | 0) >> 0] = (HEAPU8[($7_1 + 66 | 0) >> 0] | 0) & 255 | 0 | 8 | 0; + break label$11; + } + $366(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, 58 | 0, 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + label$13 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) == ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) - 2 | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP8[($7_1 + 35 | 0) >> 0] = HEAPU8[($7_1 + 67 | 0) >> 0] | 0; + } + } + } + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + $1369(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 80 | 0; + return; + } + + function $1507($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1527(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (173 | 0) & 1 | 0)) { + break label$2 + } + if (!($1509(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1510(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1496(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$3; + } + $1383(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + } + } + $56_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $56_1 | 0; + } + + function $1508($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11_1 = global$0 - 64 | 0; + global$0 = $11_1; + HEAP32[($11_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 32 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 24 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($11_1 + 60 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if (!(HEAP32[($11_1 + 24 | 0) >> 2] | 0)) { + break label$4 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $428(HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $428(HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = ($1528(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0) | 0) & 255 | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $1278(HEAP32[((HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 12 | 0) >> 2] | 0 | 0, -2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $354(HEAP32[((HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, ((HEAP32[($11_1 + 20 | 0) >> 2] | 0) & 255 | 0) & 65535 | 0 | 0); + HEAP32[($11_1 + 60 | 0) >> 2] = HEAP32[($11_1 + 16 | 0) >> 2] | 0; + } + $47_1 = HEAP32[($11_1 + 60 | 0) >> 2] | 0; + global$0 = $11_1 + 64 | 0; + return $47_1 | 0; + } + + function $1509($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = $1445(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 2 | 0, 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $1510($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $56_1 = 0, $71_1 = 0, $95_1 = 0, $98_1 = 0, $121_1 = 0, $129_1 = 0, $144_1 = 0, $147_1 = 0, $153_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) >>> 3 | 0) & 1 | 0) & 255 | 0)) { + break label$5 + } + if ($1529(0 | 0, HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, -1 | 0) | 0) { + break label$5 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + -1 | 0; + continue label$4; + }; + } + } + $56_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $56_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != ($56_1 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4 | 0)) { + break label$7 + } + $71_1 = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1276(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 23 | 0) >> 0] = $71_1; + label$8 : { + if (((HEAPU8[((HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != ($71_1 & 255 | 0 | 0) & 1 | 0) { + break label$8 + } + label$9 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$9 + } + $95_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $98_1 = (HEAP32[($95_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($95_1 + 44 | 0) >> 2] = $98_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $98_1; + } + $1281(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0); + } + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 23 | 0) >> 0] = 1; + $18(HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + break label$6; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1214(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $121_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (((HEAP32[$121_1 >> 2] | 0) << 4 | 0) + $121_1 | 0) + -12 | 0; + $129_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP8[($129_1 + 9 | 0) >> 0] = (HEAPU8[($129_1 + 9 | 0) >> 0] | 0) & -9 | 0 | (((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 28 | 0) & 8 | 0) | 0; + label$11 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$11 + } + $144_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $147_1 = (HEAP32[($144_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($144_1 + 44 | 0) >> 2] = $147_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $147_1; + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + } + $153_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $153_1 | 0; + } + + function $1511($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, $49_1 = 0, i64toi32_i32$0 = 0, $121_1 = 0, $11_1 = 0, $118_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 84 | 0) >> 2] | 0) >> 2] | 0; + $11_1 = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($11_1 | 0) { + case 0: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1358(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + $1281(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 60 | 0) >> 2] = 1; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $366(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, 51 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) | 0; + $1281(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 60 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 60 | 0) >> 2] = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + $1521(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0); + break label$2; + case 5: + $49_1 = $6_1 + 8 | 0; + i64toi32_i32$0 = 0; + $121_1 = 0; + i64toi32_i32$1 = $49_1; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $49_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $49_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $49_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $49_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($6_1 + 8 | 0) >> 0] = 154; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1496(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, $49_1 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + break label$1; + default: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1496(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$2; + case 3: + $366(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, 69 | 0, $1529(0 | 0, HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, -1 | 0) | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0; + break label$2; + case 2: + $366(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, 69 | 0, $1530(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, -1 | 0) | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0; + break label$2; + case 1: + break label$3; + }; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$11 : { + label$12 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$12 + } + $366(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, 69 | 0, $1344(HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0; + break label$11; + } + $366(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($6_1 + 92 | 0) >> 2] = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + } + $118_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + global$0 = $6_1 + 96 | 0; + return $118_1 | 0; + } + + function $1512($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $25$hi = 0, i64toi32_i32$3 = 0, $26$hi = 0, $27$hi = 0, $29$hi = 0, $19_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1073741824 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if ((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 524288 | 0) { + break label$3 + } + i64toi32_i32$0 = 0; + $25$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $27$hi = i64toi32_i32$1; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$3 = 128; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $29$hi = i64toi32_i32$0; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $25$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$2 + } + } + $19_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $349($19_1 | 0, 27067 | 0, $5_1 | 0); + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1513($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $87_1 = 0, $7_1 = 0, $88_1 = 0, $89_1 = 0, $92_1 = 0, $95_1 = 0, $98_1 = 0, $119_1 = 0, $336_1 = 0, $346_1 = 0, $356_1 = 0, $366_1 = 0, $376_1 = 0, $124_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $7_1; + HEAP32[$6_1 >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = HEAP32[(($1056(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 20 | 0) >> 2] | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, $6_1 + 12 | 0, $6_1 + 8 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[$6_1 >> 2] | 0) { + break label$7 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, (($68(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) | 0) + 40 | 0) + 1 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + $87_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $88_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = $88_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $336_1 = i64toi32_i32$0; + i64toi32_i32$0 = $87_1; + HEAP32[i64toi32_i32$0 >> 2] = $336_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $89_1 = 32; + i64toi32_i32$2 = i64toi32_i32$2 + $89_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $346_1 = i64toi32_i32$1; + i64toi32_i32$1 = $87_1 + $89_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $346_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $92_1 = 24; + i64toi32_i32$2 = $88_1 + $92_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $356_1 = i64toi32_i32$0; + i64toi32_i32$0 = $87_1 + $92_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $356_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $95_1 = 16; + i64toi32_i32$2 = $88_1 + $95_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $366_1 = i64toi32_i32$1; + i64toi32_i32$1 = $87_1 + $95_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $366_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $98_1 = 8; + i64toi32_i32$2 = $88_1 + $98_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $376_1 = i64toi32_i32$0; + i64toi32_i32$0 = $87_1 + $98_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $376_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 40 | 0; + $3288((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 40 | 0 | 0, HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, ($68(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + $119_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP32[($119_1 + 4 | 0) >> 2] = HEAP32[($119_1 + 4 | 0) >> 2] | 0 | 16 | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + } + $124_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $124_1 | 0; + } + + function $1514($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $38_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $47_1 = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 48 | 0; + global$0 = $9_1; + HEAP32[($9_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($9_1 + 8 | 0) >> 2] = (((HEAP32[($9_1 + 24 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) + 32 | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $365(HEAP32[(HEAP32[($9_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$9_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $839(HEAP32[(HEAP32[($9_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $38_1 = 0; + HEAP32[(HEAP32[$9_1 >> 2] | 0) >> 2] = $38_1; + HEAP32[((HEAP32[$9_1 >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[$9_1 >> 2] | 0) + 12 | 0) >> 2] = $38_1; + HEAP32[((HEAP32[$9_1 >> 2] | 0) + 20 | 0) >> 2] = $38_1; + HEAP8[((HEAP32[$9_1 >> 2] | 0) + 25 | 0) >> 0] = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + $47_1 = $1296(HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$9_1 >> 2] | 0) + 16 | 0) >> 2] = $47_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1278(HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 16 | 0) >> 2] | 0 ? 63 : 64) | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[$9_1 >> 2] | 0 | 0, -16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $354(HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0, ((HEAP32[($9_1 + 16 | 0) >> 2] | 0) & 46 | 0) & 65535 | 0 | 0); + HEAP32[($9_1 + 44 | 0) >> 2] = HEAP32[($9_1 + 4 | 0) >> 2] | 0; + } + $64_1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + global$0 = $9_1 + 48 | 0; + return $64_1 | 0; + } + + function $1515($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 27086; + $9_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $10_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $11_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $11_1; + $349($9_1 | 0, $10_1 | 0, $5_1 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1516($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $36_1 = 0, $40_1 = 0, $43_1 = 0, $76_1 = 0, $89_1 = 0, $178_1 = 0, $18_1 = 0, $50_1 = 0, $56_1 = 0, $58_1 = 0, $167_1 = 0, $198_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 96 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 80 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0) { + break label$2 + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 33554432 | 0)) { + break label$3 + } + $18_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $1352($18_1 | 0, 0 | 0, 27130 | 0, $4_1 + 16 | 0 | 0); + $366(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + break label$1; + } + $36_1 = HEAP32[($4_1 + 84 | 0) >> 2] | 0; + HEAP32[($36_1 + 4 | 0) >> 2] = HEAP32[($36_1 + 4 | 0) >> 2] | 0 | 33554432 | 0; + $40_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + $43_1 = (HEAP32[($40_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($40_1 + 44 | 0) >> 2] = $43_1; + HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 48 | 0) >> 2] = $43_1; + $50_1 = ($366(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 44 | 0) >> 2] = $50_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1276(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + $56_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + $58_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0 ? 1352 : 27169; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $58_1; + $1352($56_1 | 0, 1 | 0, 27148 | 0, $4_1 | 0); + label$4 : { + label$5 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$5 + } + $76_1 = HEAP32[(HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + break label$4; + } + $76_1 = 1; + } + HEAP32[($4_1 + 36 | 0) >> 2] = $76_1; + $1298($4_1 + 40 | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0 | 0); + $89_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($89_1 + 44 | 0) >> 2] = (HEAP32[($89_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0; + label$6 : { + label$7 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[($4_1 + 40 | 0) >> 0] = 10; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $367(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0) - 1 | 0 | 0) | 0; + break label$6; + } + HEAP8[($4_1 + 40 | 0) >> 0] = 3; + $366(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0; + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1217(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 152 | 0, 25721 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0) >> 0] = 67; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1197(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, 52 | 0, $1310(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + $18(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + break label$8; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1217(HEAP32[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, 152 | 0, 8423 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $167_1 = $1197(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, 146 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] = $167_1; + } + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + label$11 : { + if (!($1210(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, $4_1 + 40 | 0 | 0) | 0)) { + break label$11 + } + HEAP32[($4_1 + 92 | 0) >> 2] = 0; + break label$1; + } + $178_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = $178_1; + HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] = $178_1; + label$12 : { + if (!(HEAP32[($4_1 + 80 | 0) >> 2] | 0)) { + break label$12 + } + $1277(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 65 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + $1355(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) - 1 | 0 | 0, ($1296(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0) - 1 | 0 | 0); + $1353(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + } + $198_1 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + global$0 = $4_1 + 96 | 0; + return $198_1 | 0; + } + + function $1517($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $53_1 = 0, $83_1 = 0, $242_1 = 0, $267_1 = 0, $297_1 = 0, i64toi32_i32$0 = 0, $43_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 144 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 132 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 128 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 124 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $7_1; + HEAP8[($6_1 + 59 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0; + HEAP32[($6_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!($1531(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1532(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1432(HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[(HEAP32[($6_1 + 140 | 0) >> 2] | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($6_1 + 96 | 0) >> 2] | 0, 5) + 1 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($6_1 + 140 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + break label$3; + } + HEAP32[($6_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $43_1 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + $44_1 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $53_1 = 0; + break label$5; + } + $53_1 = $6_1 + 124 | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1533($43_1 | 0, $44_1 | 0, 3 | 0, $53_1 | 0, HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, $6_1 + 60 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 23 | 0) >> 0] = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1519(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, $6_1 + 92 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 23 | 0) >> 0] = HEAPU8[($6_1 + 59 | 0) >> 0] | 0; + HEAP32[($6_1 + 84 | 0) >> 2] = 0; + label$7 : while (1) { + $83_1 = 0; + label$8 : { + if (!((HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $83_1 = (HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 84 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0); + } + label$9 : { + if (!($83_1 & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 84 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + label$10 : { + label$11 : { + if (!((HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 116 | 0) >> 2] = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + break label$10; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1379(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 84 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $367(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 77 | 0, (HEAP32[($6_1 + 112 | 0) >> 2] | 0) + (HEAP32[($6_1 + 84 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 84 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0 | 0, 0 | 0) | 0; + HEAP32[($6_1 + 84 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + } + label$14 : { + label$15 : { + if (!((HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1173(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1358(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 32 | 0) >> 2] = 0; + label$16 : { + if (!((HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1382(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 101 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1507(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, $6_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + if (!(HEAP32[($6_1 + 32 | 0) >> 2] | 0)) { + break label$19 + } + if (!($1534(HEAP32[(((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$19 + } + $367(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 101 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + $1383(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + label$20 : { + label$21 : { + label$22 : { + if ((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < ((HEAP32[(HEAP32[($6_1 + 52 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0) { + break label$22 + } + if (!((HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0 ? 53 : 51; + $1278(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, -2 | 0) | 0; + $242_1 = 24; + $354(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, (((HEAPU8[(HEAP32[($6_1 + 100 | 0) >> 2] | 0) >> 0] | 0) << $242_1 | 0) >> $242_1 | 0) & 65535 | 0 | 0); + break label$20; + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0 ? 52 : 50; + $1278(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, -2 | 0) | 0; + $267_1 = 24; + $354(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, (((HEAPU8[(HEAP32[($6_1 + 100 | 0) >> 2] | 0) >> 0] | 0) << $267_1 | 0) >> $267_1 | 0 | 16 | 0) & 65535 | 0 | 0); + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + label$23 : { + if (!(HEAP32[($6_1 + 32 | 0) >> 2] | 0)) { + break label$23 + } + $366(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0; + } + $1369(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + break label$14; + } + label$24 : { + label$25 : { + if (!((HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($6_1 + 80 | 0) >> 2] = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + break label$24; + } + $297_1 = $1358(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 76 | 0) >> 2] = $297_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $297_1; + } + label$26 : { + if (!(HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$26 + } + break label$14; + } + HEAP32[($6_1 + 84 | 0) >> 2] = 0; + label$27 : { + label$28 : while (1) { + if (!((HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1535(HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (!($1534(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$29 + } + $366(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 50 | 0, (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + (HEAP32[($6_1 + 84 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($6_1 + 84 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + label$30 : { + label$31 : { + if (!((HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$31 + } + $367(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 31 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1276(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 11 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + break label$30; + } + $1278(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 90 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) | 0; + label$32 : { + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$32 + } + $353(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) | 0; + break label$14; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $353(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 30 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + } + label$33 : { + if (!(HEAP32[($6_1 + 124 | 0) >> 2] | 0)) { + break label$33 + } + if (!((HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$33 + } + $366(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 51 | 0, HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0; + } + label$34 : { + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$34 + } + $1282(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0; + } + label$35 : { + if (!(HEAP32[($6_1 + 76 | 0) >> 2] | 0)) { + break label$35 + } + $1369(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $366(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$36 : { + label$37 : { + if (!((HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$37 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1358(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + break label$36; + } + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 84 | 0) >> 2] = 0; + label$38 : { + label$39 : while (1) { + if (!((HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$38 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1382(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1535(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1173(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $1278(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 52 | 0, (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + (HEAP32[($6_1 + 84 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, -2 | 0) | 0; + $1383(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 84 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 1 | 0; + continue label$39; + }; + } + $366(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) | 0; + label$40 : { + if (!((HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$40 + } + $1369(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0); + $366(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $366(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0; + } + $1277(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0); + } + label$41 : { + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$41 + } + $1383(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0); + } + } + $13(HEAP32[(HEAP32[($6_1 + 140 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0); + $13(HEAP32[(HEAP32[($6_1 + 140 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 144 | 0; + return; + } + + function $1518($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var i64toi32_i32$1 = 0, $7_1 = 0, i64toi32_i32$0 = 0, $120_1 = 0, $121_1 = 0, $122_1 = 0, $11_1 = 0, $14_1 = 0, $17_1 = 0, $8_1 = 0, $108_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 208 | 0; + global$0 = $7_1; + $8_1 = 0; + $11_1 = $7_1 + 136 | 0; + $14_1 = $7_1 + 24 | 0; + $17_1 = $7_1 + 80 | 0; + HEAP32[($7_1 + 204 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 200 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 196 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 192 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 188 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 204 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $120_1 = 0; + i64toi32_i32$1 = $17_1; + HEAP32[i64toi32_i32$1 >> 2] = $120_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $120_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $17_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $120_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $17_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $120_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $17_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $120_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $17_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $120_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $121_1 = 0; + i64toi32_i32$1 = $14_1; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $14_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $14_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $14_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $14_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $122_1 = 0; + i64toi32_i32$1 = $11_1; + HEAP32[i64toi32_i32$1 >> 2] = $122_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $122_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $11_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $122_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $11_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $122_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $11_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $122_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $11_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $122_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1310(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 200 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $8_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if ((HEAPU8[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + HEAP8[($7_1 + 136 | 0) >> 0] = 44; + HEAP32[($7_1 + 148 | 0) >> 2] = $7_1 + 80 | 0; + HEAP32[($7_1 + 152 | 0) >> 2] = $7_1 + 24 | 0; + HEAP8[($7_1 + 80 | 0) >> 0] = 57; + HEAP32[($7_1 + 92 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 200 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP8[($7_1 + 24 | 0) >> 0] = 55; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 200 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $1520(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, $1519(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, $7_1 + 20 | 0 | 0) | 0 | 0); + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 192 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + FUNCTION_TABLE[HEAP32[($7_1 + 192 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 204 | 0) >> 2] | 0, $7_1 + 136 | 0, HEAP32[($7_1 + 196 | 0) >> 2] | 0, HEAP32[($7_1 + 188 | 0) >> 2] | 0); + break label$2; + } + $108_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($108_1 + 4 | 0) >> 2] = HEAP32[($108_1 + 4 | 0) >> 2] | 0 | 1 | 0; + $1496(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, $7_1 + 136 | 0 | 0, HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0) | 0; + } + $1383(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + } + $18(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 208 | 0; + return; + } + + function $1519($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $40_1 = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1432(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + label$3 : { + label$4 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1516(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $40_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($40_1 + 44 | 0) >> 2] = (HEAP32[($40_1 + 44 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $1439(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0 | 0); + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + } + } + $66_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $66_1 | 0; + } + + function $1520($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1527(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 2 | 0) >> 0] = HEAPU8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] | 0; + HEAP8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] = 173; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $21_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($21_1 + 4 | 0) >> 2] = (HEAP32[($21_1 + 4 | 0) >> 2] | 0) & -4097 | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1521($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU8[($1467(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (77 | 0) & 1 | 0)) { + break label$1 + } + $354(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1522($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP8[($8_1 + 15 | 0) >> 0] = $4_1; + HEAP8[($8_1 + 14 | 0) >> 0] = $5_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1275(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$1 + } + $1295(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0); + } + $26_1 = 24; + $1278(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, 68 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, ((HEAPU8[($8_1 + 15 | 0) >> 0] | 0) << $26_1 | 0) >> $26_1 | 0 | 0) | 0; + $354(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, ((HEAPU8[($8_1 + 14 | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0); + global$0 = $8_1 + 32 | 0; + return; + } + + function $1523($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (((HEAPU8[((HEAP32[$5_1 >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + $1281(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + $18(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1524($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$0 = 0, $12_1 = 0, i64toi32_i32$1 = 0, $13_1 = 0, $81_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 32 | 0; + global$0 = $9_1; + i64toi32_i32$0 = 0; + HEAP32[($9_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 8 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 4 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $365($296(HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, 8 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$9_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $12_1 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAPU8[$12_1 >> 0] | 0 | ((HEAPU8[($12_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($12_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($12_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[($12_1 + 4 | 0) >> 0] | 0 | ((HEAPU8[($12_1 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($12_1 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($12_1 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $81_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[$9_1 >> 2] | 0; + $13_1 = $81_1; + HEAP8[i64toi32_i32$0 >> 0] = $13_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $13_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $13_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $13_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + } + $29_1 = $1278(HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$9_1 >> 2] | 0 | 0, HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $9_1 + 32 | 0; + return $29_1 | 0; + } + + function $1525($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1516(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $19_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $19_1 | 0; + } + + function $1526($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $22_1 = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 4 | 0) >> 2] = $5_1; + HEAP8[($8_1 + 3 | 0) >> 0] = HEAPU8[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 0] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[($8_1 + 3 | 0) >> 0] | 0) & 255 | 0 | 0) == (173 | 0) & 1 | 0)) { + break label$2 + } + $22_1 = $1535(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 8 | 0) >> 2] | 0) >> 2] = $22_1; + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($8_1 + 16 | 0) >> 2] | 0) | 0; + break label$1; + } + label$3 : { + if (!(((HEAPU8[($8_1 + 3 | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($8_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAP32[($8_1 + 12 | 0) >> 2] | 0) + (HEAP32[($8_1 + 16 | 0) >> 2] | 0) | 0; + break label$1; + } + HEAP32[(HEAP32[($8_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1507(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($8_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $66_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + global$0 = $8_1 + 32 | 0; + return $66_1 | 0; + } + + function $1527($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $12_1 = ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 266240 | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 262144 | 0)) { + break label$5 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + continue label$1; + } + break label$1; + }; + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1528($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1543(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 3 | 0) >> 0] = wasm2js_i32$1; + $10_1 = 24; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($1544(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, ((HEAPU8[($5_1 + 3 | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) | 0) & 255 | 0 | ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) & 255 | 0) | 0), HEAP8[(wasm2js_i32$0 + 3 | 0) >> 0] = wasm2js_i32$1; + $22_1 = (HEAPU8[($5_1 + 3 | 0) >> 0] | 0) & 255 | 0; + global$0 = $5_1 + 16 | 0; + return $22_1 | 0; + } + + function $1529($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $203_1 = 0, $353_1 = 0, $358_1 = 0, $420_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0 ? 0 : 2; + break label$1; + } + label$4 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (153 | 0) & 1 | 0)) { + break label$4 + } + if (!($1554(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + label$5 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) & 1024 | 0)) { + break label$5 + } + label$6 : { + if (!(((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) & 1024 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$7 : { + label$8 : { + if (((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + break label$8 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (71 | 0) & 1 | 0)) { + break label$7 + } + } + label$9 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$9 + } + if (!(($1529(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$10 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$10 + } + if (!(($1529(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$11 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$11 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (166 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + label$14 : { + if (((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (169 | 0) & 1 | 0) { + break label$14 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (165 | 0) & 1 | 0)) { + break label$13 + } + } + label$15 : { + if (!($88(HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$15 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + $203_1 = 0; + label$16 : { + if (!((((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0 | 0) != ($203_1 | 0) & 1 | 0 | 0) != (((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0 | 0) != ($203_1 | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$17 : { + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$17 + } + label$18 : { + if (!($1555(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, 1 | 0) | 0)) { + break label$18 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + } + break label$12; + } + label$19 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (119 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$20 : { + label$21 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$21 + } + label$22 : { + if (!($87(HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$22 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + break label$20; + } + label$23 : { + if (!((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + if (!($3229(HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$23 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + } + } + } + label$24 : { + if (!(((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 514 | 0 | 0) != ((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 514 | 0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$25 : { + if ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) & 16384 | 0) { + break label$25 + } + label$26 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) & 2048 | 0)) { + break label$26 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$27 : { + if ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) & 8 | 0) { + break label$27 + } + if (!($1529(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$27 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$28 : { + if (!($1529(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$28 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$29 : { + if (!($1356(HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$29 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$30 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (115 | 0) & 1 | 0)) { + break label$30 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (167 | 0) & 1 | 0)) { + break label$30 + } + if ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) & 8192 | 0) { + break label$30 + } + $353_1 = 16; + $358_1 = 16; + label$31 : { + if (!((((HEAPU16[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $353_1 | 0) >> $353_1 | 0 | 0) != (((HEAPU16[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $358_1 | 0) >> $358_1 | 0 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$32 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$32 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (172 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$33 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (49 | 0) & 1 | 0)) { + break label$33 + } + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$33 + } + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $420_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $420_1 | 0; + } + + function $1530($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $55_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if ($1529(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (43 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if ($1530(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + if (!($1530(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$5 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (51 | 0) & 1 | 0)) { + break label$5 + } + if (!($1558(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { + break label$5 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $55_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $55_1 | 0; + } + + function $1531($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1432(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$3 + } + label$4 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (HEAP32[(HEAP32[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $1515(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + break label$2; + } + label$5 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$5 + } + $1560(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $41_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $41_1 | 0; + } + + function $1532($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, i64toi32_i32$1 = 0, $62_1 = 0, i64toi32_i32$0 = 0, $65_1 = 0, $80_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1432(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$2 + } + $15_1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + break label$1; + } + $15_1 = 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = $15_1; + i64toi32_i32$1 = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $64(HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1535(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1543(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $62_1 = 24; + $65_1 = $1544(HEAP32[(((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, ((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) | 0; + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] = $65_1; + break label$6; + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[($4_1 + 15 | 0) >> 0] | 0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0) >> 0] = 0; + } + $80_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $80_1 | 0; + } + + function $1533($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, $9_1 = 0, $518$hi = 0, $531$hi = 0, $535$hi = 0, $460_1 = 0, $10_1 = 0, $11_1 = 0, $71_1 = 0, $112_1 = 0, $146_1 = 0, $161_1 = 0, $175_1 = 0, $179_1 = 0, $201_1 = 0, $302_1 = 0, $307_1 = 0, $519$hi = 0, $520$hi = 0, $52_1 = 0, $522$hi = 0, $523$hi = 0, $525$hi = 0, $527$hi = 0, $530$hi = 0, $532$hi = 0, $53_1 = 0, $533$hi = 0, $534$hi = 0, $401_1 = 0, $404_1 = 0, $457_1 = 0, $129_1 = 0, $518_1 = 0, $522_1 = 0, $1274_1 = 0, $527_1 = 0, $1290$hi = 0, $1294_1 = 0, $531_1 = 0, $371_1 = 0, $514_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 176 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 172 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 168 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 164 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 160 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 156 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 152 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 144 | 0) >> 2] = $9_1; + $10_1 = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + $11_1 = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + HEAP32[($10_1 + 40 | 0) >> 2] = $11_1 + 1 | 0; + HEAP32[($8_1 + 140 | 0) >> 2] = $11_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1275(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 136 | 0) >> 2] = ((HEAP32[($8_1 + 164 | 0) >> 2] | 0) & 4 | 0 | 0) != ($9_1 | 0) & 1 | 0; + label$1 : { + if (!((HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0) != ($9_1 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$1 + } + HEAP32[($8_1 + 124 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 128 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($8_1 + 128 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($8_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!($1534(HEAP32[(((HEAP32[($8_1 + 124 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 128 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + break label$2; + } + HEAP32[($8_1 + 128 | 0) >> 2] = (HEAP32[($8_1 + 128 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$5 : { + if (!((HEAP32[($8_1 + 128 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($8_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($8_1 + 160 | 0) >> 2] = 0; + } + } + label$6 : { + if (HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$6 + } + $71_1 = $1561(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 148 | 0) >> 2] = $71_1; + if (!(($71_1 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($8_1 + 120 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 172 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 104 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $350(HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + $1286(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0); + $1393(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, HEAP32[(HEAP32[($8_1 + 116 | 0) >> 2] | 0) >> 2] | 0 | 0); + label$7 : { + label$8 : { + if (!((HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + $112_1 = 16; + if (!((((HEAPU16[((HEAP32[((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $112_1 | 0) >> $112_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1276(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + $1462(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0, 96 | 0); + HEAP32[($8_1 + 144 | 0) >> 2] = 1; + $129_1 = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + HEAP32[$8_1 >> 2] = HEAP32[(HEAP32[($8_1 + 116 | 0) >> 2] | 0) >> 2] | 0; + $1352($129_1 | 0, 0 | 0, 27181 | 0, $8_1 | 0); + $1277(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0); + break label$7; + } + HEAP32[($8_1 + 92 | 0) >> 2] = 1; + HEAP32[($8_1 + 88 | 0) >> 2] = 0; + label$9 : while (1) { + $146_1 = 0; + label$10 : { + if (!((HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $146_1 = (HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$11 : { + if (!($146_1 & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1535(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + $161_1 = 4; + HEAP32[($8_1 + 80 | 0) >> 2] = HEAP16[((HEAP32[(((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 88 | 0) >> 2] | 0) << $161_1 | 0) | 0) + $161_1 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1498(HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 79 | 0) >> 0] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1544(HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0, HEAP8[($8_1 + 79 | 0) >> 0] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 78 | 0) >> 0] = wasm2js_i32$1; + $175_1 = (HEAP8[($8_1 + 78 | 0) >> 0] | 0) + -65 | 0; + label$12 : { + label$13 : { + switch ($175_1 | 0) { + case 0: + break label$12; + case 1: + break label$12; + default: + break label$13; + }; + } + $179_1 = 24; + HEAP32[($8_1 + 92 | 0) >> 2] = (((HEAPU8[($8_1 + 79 | 0) >> 0] | 0) << $179_1 | 0) >> $179_1 | 0 | 0) >= (67 | 0) & 1 | 0; + } + HEAP32[($8_1 + 88 | 0) >> 2] = (HEAP32[($8_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + label$16 : { + if (!(HEAP32[($8_1 + 92 | 0) >> 2] | 0)) { + break label$16 + } + HEAP32[($8_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$17 : while (1) { + $201_1 = 0; + label$18 : { + if (!((HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + $201_1 = (HEAP32[($8_1 + 144 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$19 : { + if (!($201_1 & 1 | 0)) { + break label$19 + } + label$20 : { + label$21 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) < (HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + break label$20; + } + label$22 : { + if (!((HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + break label$20; + } + label$23 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) >= (63 | 0) & 1 | 0)) { + break label$23 + } + break label$20; + } + label$24 : { + if (!(HEAP32[($8_1 + 136 | 0) >> 2] | 0)) { + break label$24 + } + label$25 : { + label$26 : { + if (((HEAPU16[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) > (HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$26 + } + if (!(((HEAPU16[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) > (HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + if ((HEAPU8[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0) { + break label$25 + } + } + break label$20; + } + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 64 | 0) >> 2] = 0; + HEAP32[($8_1 + 68 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 88 | 0) >> 2] = 0; + label$27 : { + label$28 : while (1) { + if (!((HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1535(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 48 | 0) >> 2] = HEAP32[(((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 88 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $428(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 40 | 0) >> 2] = 0; + label$29 : { + label$30 : while (1) { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + $302_1 = 16; + $307_1 = 16; + label$31 : { + label$32 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 40 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $302_1 | 0) >> $302_1 | 0 | 0) != (((HEAPU16[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $307_1 | 0) >> $307_1 | 0 | 0) & 1 | 0)) { + break label$32 + } + break label$31; + } + label$33 : { + if (!((HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$33 + } + if (!($88(HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$33 + } + break label$31; + } + break label$29; + } + HEAP32[($8_1 + 40 | 0) >> 2] = (HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$30; + }; + } + label$34 : { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$34 + } + break label$27; + } + i64toi32_i32$0 = 0; + $518_1 = 0; + $518$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $519$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $520$hi = i64toi32_i32$0; + i64toi32_i32$0 = $519$hi; + i64toi32_i32$0 = $520$hi; + i64toi32_i32$0 = $519$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = $520$hi; + i64toi32_i32$3 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $52_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $52_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + i64toi32_i32$2 = $8_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $52_1; + HEAP32[($8_1 + 60 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + $522_1 = i64toi32_i32$1; + $522$hi = i64toi32_i32$2; + i64toi32_i32$0 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + $523$hi = i64toi32_i32$1; + i64toi32_i32$1 = $522$hi; + i64toi32_i32$1 = $523$hi; + $1274_1 = i64toi32_i32$2; + i64toi32_i32$1 = $522$hi; + i64toi32_i32$0 = $522_1; + i64toi32_i32$2 = $523$hi; + i64toi32_i32$3 = $1274_1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $525$hi = i64toi32_i32$2; + i64toi32_i32$2 = $518$hi; + i64toi32_i32$2 = $525$hi; + i64toi32_i32$2 = $518$hi; + i64toi32_i32$2 = $525$hi; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $518$hi; + i64toi32_i32$3 = $518_1; + label$35 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$35 + } + break label$27; + } + i64toi32_i32$3 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + $527_1 = i64toi32_i32$1; + $527$hi = i64toi32_i32$2; + i64toi32_i32$3 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + $1290$hi = i64toi32_i32$1; + i64toi32_i32$1 = $527$hi; + i64toi32_i32$1 = $1290$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $527$hi; + i64toi32_i32$0 = $527_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $1294_1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = $8_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $1294_1; + HEAP32[($8_1 + 68 | 0) >> 2] = i64toi32_i32$2; + label$36 : { + if (!((HEAP32[($8_1 + 156 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[((HEAP32[($8_1 + 156 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 88 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 88 | 0) >> 2] = (HEAP32[($8_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + i64toi32_i32$2 = 0; + $530$hi = i64toi32_i32$2; + i64toi32_i32$1 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + $531_1 = i64toi32_i32$2; + $531$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $532$hi = i64toi32_i32$3; + i64toi32_i32$3 = $530$hi; + i64toi32_i32$3 = $532$hi; + i64toi32_i32$3 = $530$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$2 = $532$hi; + i64toi32_i32$0 = HEAP32[($8_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $53_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $53_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $533$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $534$hi = i64toi32_i32$2; + i64toi32_i32$2 = $533$hi; + i64toi32_i32$2 = $534$hi; + i64toi32_i32$2 = $533$hi; + i64toi32_i32$3 = $53_1; + i64toi32_i32$1 = $534$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $535$hi = i64toi32_i32$5; + i64toi32_i32$5 = $531$hi; + i64toi32_i32$5 = $535$hi; + i64toi32_i32$5 = $531$hi; + i64toi32_i32$5 = $535$hi; + i64toi32_i32$5 = $531$hi; + i64toi32_i32$2 = $531_1; + i64toi32_i32$3 = $535$hi; + i64toi32_i32$0 = i64toi32_i32$4; + label$37 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$37 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1276(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $371_1 = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 96 | 0) >> 2] | 0) >> 2] | 0; + $1352($371_1 | 0, 0 | 0, 27228 | 0, $8_1 + 16 | 0 | 0); + $367(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, 96 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) | 0; + $1405(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 144 | 0) >> 2] = ((HEAPU8[(HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 3 | 0; + label$38 : { + if (!((HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$38 + } + $401_1 = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + $404_1 = (HEAP32[($401_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($401_1 + 44 | 0) >> 2] = $404_1; + HEAP32[(HEAP32[($8_1 + 160 | 0) >> 2] | 0) >> 2] = $404_1; + label$39 : { + if (!((HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$39 + } + $1562(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($8_1 + 160 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + } + $1277(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($8_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$17; + } + break label$17; + }; + } + } + } + label$40 : { + if (HEAP32[($8_1 + 144 | 0) >> 2] | 0) { + break label$40 + } + if (!((HEAP32[($8_1 + 164 | 0) >> 2] | 0) & 1 | 0)) { + break label$40 + } + if ((HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0) { + break label$40 + } + label$41 : { + if (!($1563(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0)) { + break label$41 + } + if (!((HEAP32[(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) <= (2 | 0) & 1 | 0)) { + break label$40 + } + } + HEAP32[($8_1 + 144 | 0) >> 2] = 5; + } + label$42 : { + if (HEAP32[($8_1 + 144 | 0) >> 2] | 0) { + break label$42 + } + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = 0; + HEAP32[($8_1 + 144 | 0) >> 2] = 2; + label$43 : { + label$44 : { + if (!((HEAP32[($8_1 + 164 | 0) >> 2] | 0) & 4 | 0)) { + break label$44 + } + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 136 | 0) >> 2] = 0; + break label$43; + } + label$45 : { + if (!((HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$45 + } + $457_1 = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + $460_1 = (HEAP32[($457_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($457_1 + 44 | 0) >> 2] = $460_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $460_1; + HEAP32[(HEAP32[($8_1 + 160 | 0) >> 2] | 0) >> 2] = $460_1; + } + } + $1564(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0); + label$46 : { + if (!(HEAP32[($8_1 + 28 | 0) >> 2] | 0)) { + break label$46 + } + $1562(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0); + } + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 136 | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + } + label$47 : { + if (!((HEAP32[($8_1 + 156 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$47 + } + if (!((HEAP32[($8_1 + 144 | 0) >> 2] | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$47 + } + if (!((HEAP32[($8_1 + 144 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$47 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1432(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 24 | 0) >> 2] = 0; + label$48 : { + label$49 : while (1) { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$48 + } + HEAP32[((HEAP32[($8_1 + 156 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$49; + }; + } + } + HEAP32[(HEAP32[($8_1 + 152 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 140 | 0) >> 2] | 0; + $514_1 = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + global$0 = $8_1 + 176 | 0; + return $514_1 | 0; + } + + function $1534($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $52_1 = 0, $74_1 = 0, $15_1 = 0, $44_1 = 0, $66_1 = 0, $91_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : while (1) { + $15_1 = 1; + label$2 : { + if (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (171 | 0) & 1 | 0) { + break label$2 + } + $15_1 = ((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (170 | 0); + } + label$3 : { + if (!($15_1 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + HEAP8[($3_1 + 7 | 0) >> 0] = HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0; + label$4 : { + if (!(((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) == (173 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($3_1 + 7 | 0) >> 0] = HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0; + } + $44_1 = (HEAPU8[($3_1 + 7 | 0) >> 0] | 0) + -115 | 0; + label$5 : { + label$6 : { + switch ($44_1 | 0) { + case 0: + case 35: + case 36: + case 37: + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$5; + case 49: + $52_1 = 1; + label$9 : { + if ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1048576 | 0) { + break label$9 + } + $52_1 = 1; + if ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$9 + } + $66_1 = 16; + $74_1 = 0; + label$10 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $66_1 | 0) >> $66_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$10 + } + $74_1 = 0; + if (!((HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $91_1 = 16; + $74_1 = ((HEAPU8[(((HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $91_1 | 0) >> $91_1 | 0, 20) | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + $52_1 = $74_1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $52_1 & 1 | 0; + break label$5; + default: + break label$6; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1535($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $47_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!($1505(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0) { + break label$4 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + $47_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $47_1 | 0; + } + + function $1536($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $19_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = 10 - (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = 0; + $19_1 = $875(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, (HEAP32[$5_1 >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] = $19_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1537($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, $79_1 = 0, $86_1 = 0, $90_1 = 0, $97_1 = 0, $161_1 = 0, $181_1 = 0, $18_1 = 0, i64toi32_i32$0 = 0, $124_1 = 0, $130_1 = 0, $138_1 = 0, $193_1 = 0, $225_1 = 0, $231_1 = 0, $233_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 134217728; + break label$1; + } + $18_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = $1566(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $365($18_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1567(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) & 4095 | 0; + label$4 : { + label$5 : { + if ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1024 | 0) { + break label$5 + } + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = ($68(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + } + label$6 : { + label$7 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$7 + } + $3288(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + break label$6; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1568(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $3288(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0; + label$8 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0) >>> 0 < 52 >>> 0 & 1 | 0)) { + break label$8 + } + $3289((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0 | 0, 0 | 0, 52 - (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0 | 0) | 0; + } + } + $79_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($79_1 + 4 | 0) >> 2] = (HEAP32[($79_1 + 4 | 0) >> 2] | 0) & -134307841 | 0; + $86_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($86_1 + 4 | 0) >> 2] = HEAP32[($86_1 + 4 | 0) >> 2] | 0 | ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) & 24576 | 0) | 0; + $90_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($90_1 + 4 | 0) >> 2] = HEAP32[($90_1 + 4 | 0) >> 2] | 0 | (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0; + label$9 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$9 + } + } + label$10 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$10 + } + $97_1 = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = $97_1; + HEAP32[$6_1 >> 2] = $97_1; + $3288(HEAP32[$6_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + label$11 : { + if (!((0 | 0) == ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) & 8404992 | 0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$13 + } + $124_1 = $1338(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = $124_1; + break label$12; + } + $130_1 = $1339(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = $130_1; + } + } + label$14 : { + label$15 : { + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16801792 | 0)) { + break label$15 + } + $138_1 = $1569(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $138_1 | 0; + label$16 : { + if ((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8404992 | 0) { + break label$16 + } + label$17 : { + label$18 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + $161_1 = $1537(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 1 | 0, $6_1 + 24 | 0 | 0) | 0; + break label$17; + } + $161_1 = 0; + } + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = $161_1; + label$19 : { + label$20 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + $181_1 = $1537(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 1 | 0, $6_1 + 24 | 0 | 0) | 0; + break label$19; + } + $181_1 = 0; + } + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = $181_1; + } + label$21 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$21 + } + $193_1 = $1570(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] = $193_1; + } + label$22 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + } + break label$14; + } + label$23 : { + if ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8404992 | 0) { + break label$23 + } + label$24 : { + label$25 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (175 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$24; + } + $225_1 = $1310(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = $225_1; + } + $231_1 = $1310(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = $231_1; + } + } + } + $233_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $233_1 | 0; + } + + function $1538($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $61_1 = 0, $95_1 = 0, $98_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0) { + break label$2 + } + if (!(((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (43 | 0) & 1 | 0)) { + break label$1 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1538(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1538(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + label$5 : { + if (((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 268435457 | 0 | 0) == (268435456 | 0) & 1 | 0) { + break label$5 + } + if (!(((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 536870913 | 0 | 0) == (536870912 | 0) & 1 | 0)) { + break label$4 + } + } + label$6 : { + label$7 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$7 + } + $61_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + break label$6; + } + $61_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $61_1; + break label$3; + } + label$8 : { + label$9 : { + if (((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 268435457 | 0 | 0) == (268435456 | 0) & 1 | 0) { + break label$9 + } + if (!(((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 536870913 | 0 | 0) == (536870912 | 0) & 1 | 0)) { + break label$8 + } + } + label$10 : { + label$11 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$11 + } + $95_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + break label$10; + } + $95_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $95_1; + } + } + } + $98_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $98_1 | 0; + } + + function $1539($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0; + } + + function $1540($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $15_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + if ((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + $15_1 = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $15_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = HEAPU8[(($296(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0) + 78 | 0) >> 0] | 0), HEAP8[(wasm2js_i32$0 + 11 | 0) >> 0] = wasm2js_i32$1; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 20 | 0) >> 2] | 0, 20) | 0; + $1490($296(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($6_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAPU8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) & 255 | 0 | 0, $6_1 + 12 | 0 | 0) | 0; + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != ($15_1 | 0) & 1 | 0)) { + break label$2 + } + $1420(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, -11 | 0); + } + } + $56_1 = 24; + label$3 : { + if (!((((HEAPU8[(((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 20 | 0) >> 2] | 0, 20) | 0) + 13 | 0) >> 0] | 0) << $56_1 | 0) >> $56_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$3 + } + if (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$3 + } + $1288(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 83 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1541($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $9_1 = 0, $422$hi = 0, $17_1 = 0, $23_1 = 0, $52_1 = 0, $75_1 = 0, $419$hi = 0, $420$hi = 0, $233_1 = 0, $424$hi = 0, $426$hi = 0, $427$hi = 0, $398_1 = 0, $163_1 = 0, $419_1 = 0, $766_1 = 0, $169_1 = 0, $170_1 = 0, $1055_1 = 0, $1060_1 = 0, $1252_1 = 0, $416_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $1_1; + HEAP8[($8_1 + 51 | 0) >> 0] = $2_1; + HEAP8[($8_1 + 50 | 0) >> 0] = $3_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 24 | 0) >> 2] = 1; + HEAP32[($8_1 + 20 | 0) >> 2] = 1352; + HEAP32[($8_1 + 16 | 0) >> 2] = $9_1; + label$1 : while (1) { + $17_1 = (HEAPU8[(HEAP32[($8_1 + 52 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $17_1; + $23_1 = 1; + label$2 : { + if (($17_1 | 0) == (171 | 0) & 1 | 0) { + break label$2 + } + $23_1 = (HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (178 | 0); + } + label$3 : { + if (!($23_1 & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + label$4 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (173 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAPU8[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0; + } + label$5 : { + label$6 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (36 | 0) & 1 | 0)) { + break label$6 + } + $52_1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1307(HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $52_1 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1541(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 51 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAPU8[($8_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($52_1 | 0) & 1 | 0)) { + break label$7 + } + $75_1 = 1; + $897(HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0, $75_1 & 255 | 0 | 0) | 0; + $977(HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 50 | 0) >> 0] | 0) & 255 | 0 | 0, $75_1 & 255 | 0 | 0); + } + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + break label$5; + } + label$8 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (170 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (((HEAPU8[(HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (152 | 0) & 1 | 0) { + break label$9 + } + if (!(((HEAPU8[(HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (150 | 0) & 1 | 0)) { + break label$8 + } + } + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAPU8[(HEAP32[($8_1 + 52 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = -1; + HEAP32[($8_1 + 20 | 0) >> 2] = 5208; + } + label$10 : { + label$11 : { + label$12 : { + label$13 : { + if ((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (115 | 0) & 1 | 0) { + break label$13 + } + if ((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (150 | 0) & 1 | 0) { + break label$13 + } + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (152 | 0) & 1 | 0)) { + break label$12 + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1542(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + break label$10; + } + label$15 : { + label$16 : { + if (!((HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1024 | 0)) { + break label$16 + } + $163_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $419_1 = i64toi32_i32$1; + $419$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $420$hi = i64toi32_i32$0; + i64toi32_i32$0 = $419$hi; + i64toi32_i32$0 = $420$hi; + $766_1 = i64toi32_i32$1; + i64toi32_i32$0 = $419$hi; + i64toi32_i32$1 = $420$hi; + i64toi32_i32$1 = __wasm_i64_mul($419_1 | 0, i64toi32_i32$0 | 0, $766_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $268($163_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$15; + } + $169_1 = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + $170_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP32[($8_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$8_1 >> 2] = $170_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $351($169_1 | 0, 27033 | 0, $8_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$17 + } + break label$10; + } + $120(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, 1 | 0); + } + label$18 : { + label$19 : { + label$20 : { + if ((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (152 | 0) & 1 | 0) { + break label$20 + } + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (150 | 0) & 1 | 0)) { + break label$19 + } + } + if (!(((HEAPU8[($8_1 + 50 | 0) >> 0] | 0) & 255 | 0 | 0) == (65 | 0) & 1 | 0)) { + break label$19 + } + $977(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, 67 & 255 | 0 | 0, 1 & 255 | 0 | 0); + break label$18; + } + $977(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 50 | 0) >> 0] | 0) & 255 | 0 | 0, 1 & 255 | 0 | 0); + } + label$21 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 44 | 0)) { + break label$21 + } + $233_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP16[($233_1 + 8 | 0) >> 1] = ((HEAPU16[($233_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -3 | 0; + } + label$22 : { + if (!(((HEAPU8[($8_1 + 51 | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $328(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 51 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + break label$11; + } + label$23 : { + label$24 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (170 | 0) & 1 | 0)) { + break label$24 + } + label$25 : { + if (!((0 | 0) == ($1541(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 51 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAPU8[($8_1 + 50 | 0) >> 0] | 0) & 255 | 0 | 0, $8_1 + 28 | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$25 + } + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + $978(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0; + label$26 : { + label$27 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$27 + } + HEAPF64[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 3] = -+HEAPF64[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 3]; + break label$26; + } + i64toi32_i32$0 = -2147483648; + $422$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $424$hi = i64toi32_i32$1; + i64toi32_i32$1 = $422$hi; + i64toi32_i32$1 = $424$hi; + i64toi32_i32$1 = $422$hi; + i64toi32_i32$1 = $424$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $422$hi; + i64toi32_i32$3 = 0; + label$28 : { + label$29 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$29 + } + HEAPF64[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 3] = 9223372036854775808.0; + HEAP16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 8 | 0; + break label$28; + } + i64toi32_i32$2 = 0; + $426$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $427$hi = i64toi32_i32$1; + i64toi32_i32$1 = $426$hi; + i64toi32_i32$1 = $427$hi; + $1055_1 = i64toi32_i32$2; + i64toi32_i32$1 = $426$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = $427$hi; + i64toi32_i32$0 = $1055_1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $1060_1 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $1060_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$5; + } + } + $977(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 50 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAPU8[($8_1 + 51 | 0) >> 0] | 0) & 255 | 0 | 0); + } + break label$23; + } + label$30 : { + label$31 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (119 | 0) & 1 | 0)) { + break label$31 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1542(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$32 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$32 + } + break label$10; + } + $262(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0); + break label$30; + } + label$33 : { + label$34 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (151 | 0) & 1 | 0)) { + break label$34 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1542(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$35 : { + if ((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$35 + } + break label$10; + } + HEAP32[($8_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 2 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = ($68(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $256(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, $1504(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) / (2 | 0) | 0 | 0, 0 & 255 | 0 | 0, 1 | 0) | 0; + break label$33; + } + label$36 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (167 | 0) & 1 | 0)) { + break label$36 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1542(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$37 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$37 + } + HEAP16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + $398_1 = 24; + i64toi32_i32$3 = (((HEAPU8[((HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) << $398_1 | 0) >> $398_1 | 0 | 0) == (0 | 0) & 1 | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $1252_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $1252_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$5; + } + } + } + } + } + } + HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + break label$5; + } + $118(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0); + $13(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0); + $212(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 60 | 0) >> 2] = 7; + } + $416_1 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $416_1 | 0; + } + + function $1542($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $6_1 = $117(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $6_1 | 0; + } + + function $1543($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $74_1 = 0, $93_1 = 0, $115_1 = 0, $117_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 135168 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1543(HEAP32[((HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + break label$3; + } + label$5 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (173 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0; + } + label$6 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (36 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1307(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + break label$3; + } + label$7 : { + label$8 : { + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (166 | 0) & 1 | 0) { + break label$8 + } + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$7 + } + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $74_1 = 16; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1498(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $74_1 | 0) >> $74_1 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + break label$3; + } + label$9 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (175 | 0) & 1 | 0)) { + break label$9 + } + $93_1 = 16; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1543(HEAP32[(((HEAP32[((HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $93_1 | 0) >> $93_1 | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + break label$3; + } + label$10 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (174 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1543(HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + break label$3; + } + HEAP8[($3_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + } + $115_1 = 24; + $117_1 = ((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $115_1 | 0) >> $115_1 | 0; + global$0 = $3_1 + 16 | 0; + return $117_1 | 0; + } + + function $1544($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $19_1 = 0, $29_1 = 0, $39_1 = 0, $51_1 = 0, $60_1 = 0, $63_1 = 0, $65_1 = 0, $72_1 = 0, $74_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 7 | 0) >> 0] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1543(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 6 | 0) >> 0] = wasm2js_i32$1; + $9_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[($4_1 + 6 | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0 | 0) > (64 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = 24; + if (!((((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) > (64 | 0) & 1 | 0)) { + break label$2 + } + $29_1 = 24; + label$3 : { + label$4 : { + if ((((HEAPU8[($4_1 + 6 | 0) >> 0] | 0) << $29_1 | 0) >> $29_1 | 0 | 0) >= (67 | 0) & 1 | 0) { + break label$4 + } + $39_1 = 24; + if (!((((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0 | 0) >= (67 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP8[($4_1 + 15 | 0) >> 0] = 67; + break label$1; + } + HEAP8[($4_1 + 15 | 0) >> 0] = 65; + break label$1; + } + $51_1 = 24; + label$5 : { + label$6 : { + if (!((((HEAPU8[($4_1 + 6 | 0) >> 0] | 0) << $51_1 | 0) >> $51_1 | 0 | 0) <= (64 | 0) & 1 | 0)) { + break label$6 + } + $60_1 = 24; + $63_1 = ((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $60_1 | 0) >> $60_1 | 0; + break label$5; + } + $65_1 = 24; + $63_1 = ((HEAPU8[($4_1 + 6 | 0) >> 0] | 0) << $65_1 | 0) >> $65_1 | 0; + } + HEAP8[($4_1 + 15 | 0) >> 0] = $63_1 | 64 | 0; + } + $72_1 = 24; + $74_1 = ((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) << $72_1 | 0) >> $72_1 | 0; + global$0 = $4_1 + 16 | 0; + return $74_1 | 0; + } + + function $1545($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 1] = 0; + return 2 | 0; + } + + function $1546($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $23_1 = 0, $68_1 = 0, $143_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$2 + } + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + $23_1 = HEAPU8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] | 0; + label$3 : { + label$4 : { + label$5 : { + label$6 : { + label$7 : { + if (($23_1 | 0) == (59 | 0)) { + break label$7 + } + if (($23_1 | 0) == (139 | 0)) { + break label$5 + } + if (($23_1 | 0) == (153 | 0)) { + break label$4 + } + if (($23_1 + -164 | 0) >>> 0 < 3 >>> 0) { + break label$6 + } + label$8 : { + if (($23_1 | 0) == (169 | 0)) { + break label$8 + } + if (($23_1 | 0) == (173 | 0)) { + break label$5 + } + if (($23_1 | 0) == (176 | 0)) { + break label$5 + } + break label$3; + } + label$9 : { + label$10 : { + if (((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) >= (4 | 0) & 1 | 0) { + break label$10 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 524288 | 0)) { + break label$9 + } + } + if ((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0) { + break label$9 + } + label$11 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$11 + } + $68_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($68_1 + 4 | 0) >> 2] = HEAP32[($68_1 + 4 | 0) >> 2] | 0 | 1073741824 | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + label$12 : { + if (!($1199(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + } + label$13 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0)) { + break label$13 + } + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$14 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + } + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + label$15 : { + label$16 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$16 + } + HEAP8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] = 119; + break label$15; + } + label$17 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$17 + } + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $143_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $143_1 | 0; + } + + function $1547($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = $1548(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $15_1 = 0; + } + global$0 = $4_1 + 16 | 0; + return $15_1 | 0; + } + + function $1548($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $73_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : while (1) { + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 8 | 0) >> 2] | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[$4_1 >> 2] | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) & 2 | 0; + break label$1; + } + if ((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8404992 | 0) { + break label$2 + } + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!($1548(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$8 + } + label$9 : { + if (!($1549(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + break label$7; + } + label$10 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if (!($1550(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + } + label$12 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$12 + } + label$13 : { + if (!($1551(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$13 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + } + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $73_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $73_1 | 0; + } + + function $1549($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $60_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$4 : while (1) { + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 8 | 0) >> 2] | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[$4_1 >> 2] | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) & 2 | 0; + break label$1; + } + label$6 : { + label$7 : { + if ($1552(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + if (!($1553(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 8 | 0) >> 2] | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0); + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + if ((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + continue label$4 + } + break label$4; + }; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $60_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $60_1 | 0; + } + + function $1550($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $36_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!($1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0; + continue label$4; + }; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $36_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $36_1 | 0; + } + + function $1551($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $46_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1550(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1550(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $46_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $46_1 | 0; + } + + function $1552($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $60_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!($1550(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$3 : { + if (!($1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$4 : { + if (!($1550(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$5 : { + if (!($1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$6 : { + if (!($1550(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$7 : { + if (!($1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$8 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1551(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $60_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $60_1 | 0; + } + + function $1553($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $61_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!($1549(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$6 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0)) { + break label$6 + } + if (!($1550(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 72 | 0; + continue label$4; + }; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $61_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $61_1 | 0; + } + + function $1554($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $29_1 = 0, $56_1 = 0, $67_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $6_1; + $1490(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, 65 & 255 | 0 | 0, $5_1 + 4 | 0 | 0) | 0; + label$1 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + $29_1 = 16; + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAPU16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $29_1 | 0) >> $29_1 | 0; + $1556(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1557(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 65 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(($248(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$3 + } + $66(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + $56_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($56_1 | 0) == ($898(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $56_1 | 0) | 0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $212(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + $212(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + $67_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $67_1 | 0; + } + + function $1555($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $99_1 = 0, $106_1 = 0, $115_1 = 0, $118_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$6 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$8 : { + if (!($1529(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$8 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$9 : { + if (!($1529(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$9 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + $99_1 = $1356(HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $99_1; + label$10 : { + if (!$99_1) { + break label$10 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + break label$1; + } + $106_1 = $1356(HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $106_1; + label$11 : { + if (!$106_1) { + break label$11 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + break label$1; + } + label$12 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$12 + } + $115_1 = $1529(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $115_1; + label$13 : { + if (!$115_1) { + break label$13 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $118_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $118_1 | 0; + } + + function $1556($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0, $21_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) >= (32 | 0) & 1 | 0)) { + break label$2 + } + $12_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($12_1 + 208 | 0) >> 2] = HEAP32[($12_1 + 208 | 0) >> 2] | 0 | -2147483648 | 0; + break label$1; + } + $21_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($21_1 + 208 | 0) >> 2] = HEAP32[($21_1 + 208 | 0) >> 2] | 0 | (1 << ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) | 0; + } + return; + } + + function $1557($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 19 | 0) >> 0] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 20 | 0) >> 2] | 0) - 1 | 0, 40) | 0; + label$3 : { + if (!((0 | 0) == (((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $117(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $281(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $977(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0, 1 & 255 | 0 | 0); + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $54_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $54_1 | 0; + } + + function $1558($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $26_1 = 0, $111_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if ($1529(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + HEAP32[($7_1 + 28 | 0) >> 2] = ((HEAPU8[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (119 | 0) & 1 | 0; + break label$1; + } + $26_1 = (HEAPU8[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 0] | 0) + -19 | 0; + label$3 : { + switch ($26_1 | 0) { + case 30: + label$11 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$11 + } + if (!((HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$11 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1558(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + case 29: + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$12 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$13 : { + label$14 : { + if ($1558(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0) { + break label$14 + } + if (!($1558(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0)) { + break label$13 + } + } + HEAP32[($7_1 + 28 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1558(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + case 33: + case 34: + case 35: + case 36: + case 37: + case 38: + case 83: + case 84: + case 85: + case 86: + case 87: + case 91: + HEAP32[($7_1 + 8 | 0) >> 2] = 1; + case 82: + case 88: + case 89: + case 90: + label$15 : { + if (!($1558(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$15 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 1; + break label$1; + } + case 92: + case 151: + case 152: + case 159: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1558(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + case 153: + label$16 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$16 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$17 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (45 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1558(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + case 0: + case 93: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1558(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + default: + break label$3; + }; + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + } + $111_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $111_1 | 0; + } + + function $1559($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, $112_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + $13_1 = (HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) + -43 | 0; + label$3 : { + switch ($13_1 | 0) { + case 0: + case 2: + case 6: + case 7: + case 8: + case 111: + case 125: + case 126: + case 129: + case 131: + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 121: + label$9 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 1] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 1: + label$10 : { + if ((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0) { + break label$10 + } + $1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + label$11 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 1] = 0; + $1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 5: + label$12 : { + if (!(($1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$13 : { + label$14 : { + label$15 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$15 + } + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + if (HEAP32[((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$14 + } + } + if (!(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$13 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + if (!(HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$13 + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + break; + default: + break label$3; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $112_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $112_1 | 0; + } + + function $1560($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$2 + } + $1515(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, 1 | 0); + break label$1; + } + $349(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 26965 | 0, 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1561($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 32 | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0)) { + break label$3 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$5 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 9 | 0)) { + break label$5 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$8 : { + if (!((HEAP32[(HEAP32[($3_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$10 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$10 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[$3_1 >> 2] = HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$13 : { + if (!(((HEAPU8[(HEAP32[$3_1 >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + return HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $1562($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $8_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $366(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 69 | 0, $8_1 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1288(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $367(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $8_1 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 128 & 65535 | 0 | 0); + $1277(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1563($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1243(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $12_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $12_1 | 0; + } + + function $1564($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $237_1 = 0, $6_1 = 0, $50_1 = 0, $54_1 = 0, $57_1 = 0, $112_1 = 0, $176_1 = 0, $187_1 = 0, $232_1 = 0, $26_1 = 0, $64_1 = 0, $95_1 = 0, $97_1 = 0, $151_1 = 0, $206_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 128 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 100 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0) { + break label$2 + } + if (HEAP32[((HEAP32[($5_1 + 124 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 33554432 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1276(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$4 + } + $26_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $1352($26_1 | 0, 0 | 0, 27259 | 0, $5_1 + 16 | 0 | 0); + } + $366(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 98 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0); + break label$1; + } + $50_1 = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + HEAP32[($50_1 + 4 | 0) >> 2] = HEAP32[($50_1 + 4 | 0) >> 2] | 0 | 33554432 | 0; + $54_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + $57_1 = (HEAP32[($54_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($54_1 + 44 | 0) >> 2] = $57_1; + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] = $57_1; + $64_1 = ($366(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 44 | 0) >> 2] = $64_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1276(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($5_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1432(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1497(HEAP32[(HEAP32[($5_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$6 + } + HEAP32[($5_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $95_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + $97_1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0 ? 1352 : 27169; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $97_1; + $1352($95_1 | 0, 1 | 0, 27282 | 0, $5_1 | 0); + label$7 : { + if (!((HEAP32[(HEAP32[($5_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $112_1 = $5_1 + 56 | 0; + $1298($112_1 | 0, 11 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1532(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + label$8 : { + if (!($1210(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, $112_1 | 0) | 0)) { + break label$8 + } + $13(HEAP32[(HEAP32[($5_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + $838(HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0); + break label$1; + } + $13(HEAP32[(HEAP32[($5_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 52 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1535(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $151_1 = $428(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 52 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $151_1; + HEAP32[($5_1 + 52 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + } + break label$5; + } + label$11 : { + if (!((HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1543(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 47 | 0) >> 0] = wasm2js_i32$1; + $176_1 = 24; + label$12 : { + label$13 : { + if (!((((HEAPU8[($5_1 + 47 | 0) >> 0] | 0) << $176_1 | 0) >> $176_1 | 0 | 0) <= (64 | 0) & 1 | 0)) { + break label$13 + } + HEAP8[($5_1 + 47 | 0) >> 0] = 65; + break label$12; + } + $187_1 = 24; + label$14 : { + if (!((((HEAPU8[($5_1 + 47 | 0) >> 0] | 0) << $187_1 | 0) >> $187_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$14 + } + HEAP8[($5_1 + 47 | 0) >> 0] = 67; + } + } + label$15 : { + if (!((HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $206_1 = $1173(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 2] = $206_1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + label$18 : { + if (!(HEAP32[($5_1 + 112 | 0) >> 2] | 0)) { + break label$18 + } + if ($1243(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0) { + break label$18 + } + $1367(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) | 0; + $232_1 = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + HEAP32[($232_1 + 4 | 0) >> 2] = (HEAP32[($232_1 + 4 | 0) >> 2] | 0) & -33554433 | 0; + HEAP32[($5_1 + 112 | 0) >> 2] = 0; + } + $237_1 = 1; + $1281(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + $1278(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $237_1 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $5_1 + 47 | 0 | 0, $237_1 | 0) | 0; + $353(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $237_1 | 0) | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 16 | 0; + continue label$17; + }; + } + $1383(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + } + label$19 : { + if (!((HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + $357(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0, -9 | 0); + } + if (!(HEAP32[($5_1 + 112 | 0) >> 2] | 0)) { + break label$1 + } + $1277(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 65 | 0, HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + $1355(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) - 1 | 0 | 0, ($1296(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) | 0) - 1 | 0 | 0); + $1353(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 128 | 0; + return; + } + + function $1565($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $20_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0) & (1 << (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0) | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + $17_1 = 1; + $20_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($20_1 + 84 | 0) >> 2] = HEAP32[($20_1 + 84 | 0) >> 2] | 0 | ($17_1 << (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0) | 0; + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == ($17_1 | 0) & 1 | 0)) { + break label$2 + } + $123(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1566($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $26_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1569(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 1 | 0)) { + break label$2 + } + $26_1 = ($1566(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) + ($1566(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + $26_1 | 0; + } + } + $29_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $29_1 | 0; + } + + function $1567($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((0 | 0) == (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + if (((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (175 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 4 | 0) >> 2] = 52; + break label$1; + } + label$4 : { + label$5 : { + label$6 : { + if ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + } + HEAP32[($4_1 + 4 | 0) >> 2] = 8220; + break label$4; + } + HEAP32[($4_1 + 4 | 0) >> 2] = 16396; + } + } + return HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $1568($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16384 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 12; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 28; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 52; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1569($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $28_1 = 0, $35_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ($1567(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) & 4095 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1024 | 0) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $28_1 = (($3303(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0) & 1073741823 | 0) + 1 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + $28_1 | 0; + } + $35_1 = ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 7 | 0) & -8 | 0; + global$0 = $4_1 + 16 | 0; + return $35_1 | 0; + } + + function $1570($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $22_1 = 0, $6_1 = 0, i64toi32_i32$0 = 0, $26_1 = 0, $31_1 = 0, $36_1 = 0, $44_1 = 0, $49_1 = 0, $81_1 = 0, $86_1 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = $6_1; + label$1 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $308(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 100 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $22_1 = 0; + $26_1 = $291(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = $26_1; + $31_1 = $291(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = $31_1; + $36_1 = $1310(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $22_1 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 40 | 0) >> 2] = $36_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $44_1 = $1339(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $22_1 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] = $44_1; + $49_1 = $1339(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $22_1 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = $49_1; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 18 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 17 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 20 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 56 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 52 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 80 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 96 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 96 | 0) >> 0] | 0; + $81_1 = $1310(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, $22_1 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] = $81_1; + $86_1 = $1310(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, $22_1 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 28 | 0) >> 2] = $86_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 19 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0; + } + } + $93_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $93_1 | 0; + } + + function $1571($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $5_1 = 0, i64toi32_i32$1 = 0, $42_1 = 0, $52_1 = 0, $69_1 = 0, $86_1 = 0, $97_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = (((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) << 4 | 0) + 24 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $308(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $42_1 = 0; + $52_1 = $1338(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] | 0 | 0, $42_1 | 0) | 0; + HEAP32[((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] = $52_1; + $69_1 = $1339(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, $42_1 | 0) | 0; + HEAP32[((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] = $69_1; + $86_1 = $291(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = $86_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + } + } + $97_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $97_1 | 0; + } + + function $1572($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $20_1 = 0, $35_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $4_1 + 16 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $17_1 = 0; + $20_1 = $1570(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $17_1 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = $20_1; + label$3 : { + if (!((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == ($17_1 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 36 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$2; + }; + } + $35_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $35_1 | 0; + } + + function $1573($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $5_1 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 56; + HEAP32[($3_1 + 8 | 0) >> 2] = 55; + HEAP32[($3_1 + 12 | 0) >> 2] = $5_1; + HEAP32[$3_1 >> 2] = $5_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + $1549($3_1 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 32 | 0; + return; + } + + function $1574($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $33_1 = 0, $69_1 = 0, $78_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $365(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 8 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $33_1 = $365(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 3 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] = $33_1; + label$4 : { + if (!((HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $23(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + $69_1 = $291(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = $69_1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $78_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $78_1 | 0; + } + + function $1575($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0 ? 0 : 1) | 0; + } + + function $1576($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (169 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $1577(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $1577($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $20_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if ((0 | 0) == (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$2 + } + $20_1 = 0; + if (!(($20_1 | 0) == ($1555($20_1 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $20_1 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0; + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1578($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $349(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 27316 | 0, 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $1579($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$2 = 0, $21$hi = 0, i64toi32_i32$3 = 0, $22$hi = 0, $23$hi = 0, $25$hi = 0; + $3_1 = global$0 - 16 | 0; + i64toi32_i32$0 = 0; + $21$hi = i64toi32_i32$0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $22$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $23$hi = i64toi32_i32$1; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$3 = 268435456; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $25$hi = i64toi32_i32$0; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $21$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 356 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + if (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 184 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1580($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $49_1 = 0, $13_1 = 0, $37_1 = 0, i64toi32_i32$1 = 0, $34_1 = 0, $46_1 = 0, $59_1 = 0, $70_1 = 0, $14_1 = 0, i64toi32_i32$0 = 0, $81_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) >= (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 9); + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $308(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + break label$1; + } + $34_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $37_1 = 2; + $3288(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($34_1 + 32 | 0) >> 2] | 0 | 0, (HEAPU16[($34_1 + 52 | 0) >> 1] | 0) << $37_1 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << $37_1 | 0) | 0; + $46_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $49_1 = 1; + $3288(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($46_1 + 8 | 0) >> 2] | 0 | 0, ((HEAPU16[($46_1 + 50 | 0) >> 1] | 0) << $49_1 | 0) + $37_1 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << $49_1 | 0) | 0; + $59_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $3288(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($59_1 + 4 | 0) >> 2] | 0 | 0, (HEAPU16[($59_1 + 52 | 0) >> 1] | 0) << $49_1 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << $49_1 | 0) | 0; + $70_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $3288(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($70_1 + 28 | 0) >> 2] | 0 | 0, HEAPU16[($70_1 + 52 | 0) >> 1] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 1] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $13_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $14_1 = HEAPU8[($13_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($13_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 16 | 0; + HEAP8[($13_1 + 55 | 0) >> 0] = $14_1; + HEAP8[($13_1 + 56 | 0) >> 0] = $14_1 >>> 8 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $81_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $81_1 | 0; + } + + function $1581($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $16_1 = 0, $20_1 = 0, $15_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + label$1 : { + label$2 : { + label$3 : while (1) { + $7_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $7_1 + -1 | 0; + if (!(($7_1 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = HEAP32[$5_1 >> 2] | 0; + $16_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $16_1 + 2 | 0; + $20_1 = 16; + label$4 : { + if (!(($15_1 | 0) == (((HEAPU16[$16_1 >> 1] | 0) << $20_1 | 0) >> $20_1 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + break label$1; + } + continue label$3; + }; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1582($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $35_1 = 0, $50_1 = 0, $72_1 = 0, $107_1 = 0, $133_1 = 0, $142_1 = 0, $153_1 = 0, $170_1 = 0, $222_1 = 0, $255_1 = 0, $282_1 = 0, $296_1 = 0, i64toi32_i32$0 = 0, $205_1 = 0, $291_1 = 0, $292_1 = 0, $293_1 = 0, $314_1 = 0, $380_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 112 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 88 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + $489($6_1 + 40 | 0 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 100 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($6_1 + 64 | 0) >> 2] | 0, 20) | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) > (32767 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 64 | 0) >> 2] = 32767; + } + break label$1; + } + $35_1 = 0; + HEAP32[($6_1 + 64 | 0) >> 2] = $35_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $35_1; + } + HEAP16[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 1] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 92 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + HEAP32[($6_1 + 84 | 0) >> 2] = 0; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + label$4 : while (1) { + $50_1 = 0; + label$5 : { + if (!((HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $50_1 = ((HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0; + } + label$6 : { + if (!($50_1 & 1 | 0)) { + break label$6 + } + $72_1 = HEAP32[((((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 84 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $72_1; + label$7 : { + label$8 : { + if (!(($72_1 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + if (((HEAPU8[(((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 84 | 0) >> 2] | 0) << 4 | 0) | 0) + 13 | 0) >> 0] | 0) & 3 | 0) & 255 | 0) { + break label$8 + } + break label$7; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1527(HEAP32[(((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 84 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$9 : while (1) { + $107_1 = 0; + label$10 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $107_1 = ((HEAPU8[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (139 | 0); + } + label$11 : { + if (!($107_1 & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$9; + } + break label$9; + }; + label$12 : { + label$13 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$13 + } + $133_1 = HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = $133_1; + if (!(($133_1 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + $142_1 = 16; + HEAP32[($6_1 + 28 | 0) >> 2] = ((HEAPU16[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $142_1 | 0) >> $142_1 | 0; + label$14 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$14 + } + $153_1 = 16; + HEAP32[($6_1 + 28 | 0) >> 2] = ((HEAPU16[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $153_1 | 0) >> $153_1 | 0; + } + label$15 : { + label$16 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$16 + } + $170_1 = HEAP32[((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 28 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + break label$15; + } + $170_1 = 14175; + } + HEAP32[($6_1 + 60 | 0) >> 2] = $170_1; + break label$12; + } + label$17 : { + label$18 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (59 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$17; + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[((((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 84 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + } + } + } + label$19 : { + label$20 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + if ($1314(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0) { + break label$20 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $291(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$19; + } + $205_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $351($205_1 | 0, 29437 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + label$21 : while (1) { + $222_1 = 0; + label$22 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + $222_1 = ($362($6_1 + 40 | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + label$23 : { + if (!($222_1 & 1 | 0)) { + break label$23 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $68(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($6_1 + 80 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) - 1 | 0; + label$25 : while (1) { + $255_1 = 0; + label$26 : { + if (!((HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$26 + } + $255_1 = (((HEAPU8[(((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + (HEAP32[($6_1 + 80 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0 | 0) != (0 | 0); + } + label$27 : { + if (!($255_1 & 1 | 0)) { + break label$27 + } + HEAP32[($6_1 + 80 | 0) >> 2] = (HEAP32[($6_1 + 80 | 0) >> 2] | 0) + -1 | 0; + continue label$25; + } + break label$25; + }; + $282_1 = 24; + label$28 : { + if (!((((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + (HEAP32[($6_1 + 80 | 0) >> 2] | 0) | 0) >> 0] | 0) << $282_1 | 0) >> $282_1 | 0 | 0) == (58 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + } + } + $291_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + $292_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $293_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $296_1 = (HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 76 | 0) >> 2] = $296_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $296_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $293_1; + HEAP32[$6_1 >> 2] = $292_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $351($291_1 | 0, 29446 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (!((HEAP32[($6_1 + 76 | 0) >> 2] | 0) >>> 0 > 3 >>> 0 & 1 | 0)) { + break label$29 + } + $85(4 | 0, $6_1 + 76 | 0 | 0); + } + continue label$21; + } + break label$21; + }; + HEAP32[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $314_1 = $1306(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 15 | 0) >> 0] = $314_1; + label$30 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$30 + } + if (!(($474($6_1 + 40 | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$30 + } + $118(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 84 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 20 | 0; + continue label$4; + } + break label$4; + }; + $209($6_1 + 40 | 0 | 0); + label$31 : { + label$32 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($6_1 + 80 | 0) >> 2] = 0; + label$33 : { + label$34 : while (1) { + if (!((HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$33 + } + $13(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 80 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 80 | 0) >> 2] = (HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$34; + }; + } + $13(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 92 | 0) >> 2] | 0) >> 2] = 0; + HEAP16[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 1] = 0; + HEAP32[($6_1 + 108 | 0) >> 2] = 7; + break label$31; + } + HEAP32[($6_1 + 108 | 0) >> 2] = 0; + } + $380_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + global$0 = $6_1 + 112 | 0; + return $380_1 | 0; + } + + function $1583($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $155_1 = 0, $22_1 = 0, $40_1 = 0, $103_1 = 0, $112_1 = 0, $61_1 = 0, $84_1 = 0, $143_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $2_1; + HEAP8[($6_1 + 83 | 0) >> 0] = $3_1; + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $22_1 = $6_1 + 40 | 0; + i64toi32_i32$0 = 0; + $155_1 = 0; + i64toi32_i32$1 = $22_1; + HEAP32[i64toi32_i32$1 >> 2] = $155_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $155_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $155_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $155_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + $40_1 = 16; + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1638($6_1 + 40 | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $61_1 = $1543(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 13 | 0) >> 0] = $61_1; + label$5 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $68(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $68(HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) + 2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $84_1 = $875(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = $84_1; + label$6 : { + if (!((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $3288((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $103_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP16[($103_1 + 16 | 0) >> 1] = (HEAPU16[($103_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + } + } + $112_1 = 24; + label$7 : { + if (!((((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $112_1 | 0) >> $112_1 | 0 | 0) <= (64 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 13 | 0) >> 0] = HEAPU8[($6_1 + 83 | 0) >> 0] | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1173(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + $143_1 = $291(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = $143_1; + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0; + continue label$4; + }; + } + HEAP16[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 48 | 0) >> 1] = 1; + } + global$0 = $6_1 + 96 | 0; + return; + } + + function $1584($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $18_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!(((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = 24; + label$3 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 2 | 0 | 0; + } + + function $1585($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $58_1 = 0, $87_1 = 0, $110_1 = 0, $127_1 = 0, $137_1 = 0, $86_1 = 0, $108_1 = 0, $109_1 = 0, $126_1 = 0, $136_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (((HEAPU8[(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 6 | 0) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (95 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $58_1 = 1; + label$4 : { + if (((HEAPU8[(((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$4 + } + $58_1 = 1; + if (($429(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (59 | 0) & 1 | 0) { + break label$4 + } + $58_1 = 1; + if ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + $58_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0); + } + HEAP32[($5_1 + 4 | 0) >> 2] = $58_1 & 1 | 0; + label$5 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$5 + } + $86_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $87_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $87_1 + 1 | 0; + HEAP8[($86_1 + $87_1 | 0) >> 0] = 34; + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + $108_1 = HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0; + $109_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $110_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $110_1 + 1 | 0; + HEAP8[($109_1 + $110_1 | 0) >> 0] = $108_1; + label$8 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$8 + } + $126_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $127_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $127_1 + 1 | 0; + HEAP8[($126_1 + $127_1 | 0) >> 0] = 34; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + label$9 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$9 + } + $136_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $137_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $137_1 + 1 | 0; + HEAP8[($136_1 + $137_1 | 0) >> 0] = 34; + } + HEAP8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return; + } + + function $1586($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $59_1 = 0, i64toi32_i32$0 = 0, $466_1 = 0, $26_1 = 0, $41_1 = 0, $60_1 = 0, $177_1 = 0, $220_1 = 0, $463_1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4 | 0)) { + break label$2 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + if ((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 64 | 0) { + break label$3 + } + $1341(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0); + $26_1 = 1; + label$4 : { + if (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$4 + } + $26_1 = ((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + HEAP32[($4_1 + 108 | 0) >> 2] = $26_1 & 1 | 0 ? 2 : 1; + break label$1; + } + $41_1 = 0; + HEAP32[($4_1 + 60 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != ($41_1 | 0) & 1 | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $41_1; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $59_1 = $4_1 + 64 | 0; + $60_1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[($60_1 + 4 | 0) >> 2] = HEAP32[($60_1 + 4 | 0) >> 2] | 0 | 4 | 0; + i64toi32_i32$0 = 0; + $466_1 = 0; + i64toi32_i32$1 = $59_1; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $59_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $59_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + label$7 : { + if (!($1404($59_1 | 0, HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 65536 | 0)) { + break label$8 + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + } + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 28 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 48 | 0) >> 2] | 0, 72) | 0; + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + if ((HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4 | 0) { + break label$11 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$13; + }; + } + label$14 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $1593(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + label$15 : { + label$16 : { + if (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$16 + } + if (!((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$15 + } + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$18; + }; + } + $177_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP8[($177_1 + 37 | 0) >> 0] = (HEAPU8[($177_1 + 37 | 0) >> 0] | 0) & -9 | 0 | (((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0)) << 3 | 0) | 0; + } + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + HEAP32[($4_1 + 88 | 0) >> 2] = 16385; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + label$19 : { + if (!($1437($4_1 + 64 | 0 | 0, HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$19 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 88 | 0) >> 2] = (HEAP32[($4_1 + 88 | 0) >> 2] | 0) & -16385 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$20 : { + label$21 : { + label$22 : { + if ((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$22 + } + if (!((HEAP32[($4_1 + 88 | 0) >> 2] | 0) & 16 | 0)) { + break label$21 + } + } + $220_1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[($220_1 + 4 | 0) >> 2] = HEAP32[($220_1 + 4 | 0) >> 2] | 0 | ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) & 4096 | 0 | 8 | 0) | 0; + break label$20; + } + HEAP32[($4_1 + 88 | 0) >> 2] = (HEAP32[($4_1 + 88 | 0) >> 2] | 0) & -2 | 0; + } + label$23 : { + if (!((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + if ((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$23 + } + $349(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, 28963 | 0, 0 | 0); + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 88 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 128 | 0; + label$24 : { + if (!($1404($4_1 + 64 | 0 | 0, HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$24 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + label$25 : { + if (!($1404($4_1 + 64 | 0 | 0, HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$25 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + label$26 : { + label$27 : while (1) { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 48 | 0) >> 2] | 0, 72) | 0) + 8 | 0; + label$28 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0)) { + break label$28 + } + if (!($1437($4_1 + 64 | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0)) { + break label$28 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$27; + }; + } + HEAP32[($4_1 + 76 | 0) >> 2] = 0; + HEAP32[($4_1 + 88 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 16385 | 0; + label$29 : { + if (!((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 65536 | 0)) { + break label$29 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + } + label$30 : { + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) <= (HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$30 + } + if (!($1594($4_1 + 64 | 0 | 0, HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, 29007 | 0) | 0)) { + break label$30 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + label$31 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 88 | 0) >> 2] = (HEAP32[($4_1 + 88 | 0) >> 2] | 0) & -16385 | 0; + label$32 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$32 + } + label$33 : { + label$34 : { + if ($1594($4_1 + 64 | 0 | 0, HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 29013 | 0) | 0) { + break label$34 + } + if (!((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$33 + } + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0; + label$35 : { + label$36 : while (1) { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$35 + } + label$37 : { + if (!((HEAP32[((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16 | 0)) { + break label$37 + } + $349(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, 29019 | 0, 0 | 0); + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0; + continue label$36; + }; + } + } + label$38 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$38 + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + label$39 : { + label$40 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$39 + } + label$41 : { + label$42 : { + if ($1437($4_1 + 64 | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$42 + } + if (!($1437($4_1 + 64 | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$41 + } + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$40; + }; + } + } + label$43 : { + if (!((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$43 + } + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[(HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$43 + } + $1595(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$44 : { + if (!(HEAP32[($4_1 + 60 | 0) >> 2] | 0)) { + break label$44 + } + if (!($1596(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$44 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 108 | 0) >> 2] = 1; + } + $463_1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $463_1 | 0; + } + + function $1587($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $118_1 = 0, $12_1 = 0, $28_1 = 0, $43_1 = 0, $115_1 = 0, $143_1 = 0, $201_1 = 0, $226_1 = 0, $236_1 = 0, $247_1 = 0, $266_1 = 0, $277_1 = 0, $302_1 = 0, $380_1 = 0, $434_1 = 0, $450_1 = 0, $461_1 = 0, $476_1 = 0, $482_1 = 0, $496_1 = 0, $536_1 = 0, $552_1 = 0, $577_1 = 0, $591_1 = 0, $617_1 = 0, $621_1 = 0, $650_1 = 0, $654_1 = 0, $778_1 = 0, $214_1 = 0, $260_1 = 0, $376_1 = 0, $377_1 = 0, $426_1 = 0, $427_1 = 0, $428_1 = 0, $444_1 = 0, $445_1 = 0, $455_1 = 0, $456_1 = 0, $470_1 = 0, $471_1 = 0, $527_1 = 0, $794_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 224 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 216 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 212 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 208 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 216 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 204 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 208 | 0) >> 2] | 0) >> 2] | 0; + $12_1 = (HEAPU8[(HEAP32[($4_1 + 212 | 0) >> 2] | 0) >> 0] | 0) + -20 | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($12_1 | 0) { + case 55: + HEAP32[($4_1 + 200 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 196 | 0) >> 2] = (HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 8 | 0; + HEAP8[(HEAP32[($4_1 + 212 | 0) >> 2] | 0) >> 0] = 164; + HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $28_1 = HEAP32[($4_1 + 212 | 0) >> 2] | 0; + HEAP16[($28_1 + 32 | 0) >> 1] = (HEAPU16[($28_1 + 32 | 0) >> 1] | 0) + -1 | 0; + HEAP8[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 1 | 0) >> 0] = 68; + break label$2; + case 39: + case 119: + label$11 : { + label$12 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 212 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (59 | 0) & 1 | 0)) { + break label$12 + } + $43_1 = 0; + HEAP32[($4_1 + 184 | 0) >> 2] = $43_1; + HEAP32[($4_1 + 188 | 0) >> 2] = $43_1; + HEAP32[($4_1 + 192 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$11; + } + HEAP32[($4_1 + 176 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$13 : { + if (!((HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 40 | 0)) { + break label$13 + } + $1588(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 208 | 0) >> 2] | 0 | 0, 27920 | 0, 0 | 0); + } + HEAP32[($4_1 + 180 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 180 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (59 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 184 | 0) >> 2] = 0; + break label$14; + } + HEAP32[($4_1 + 184 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 176 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 176 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 180 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 180 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 180 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 188 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 176 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 192 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 180 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$16 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 204 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$16 + } + $1318(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 180 | 0) >> 2] | 0 | 0); + $1318(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 44 | 0 | 0, HEAP32[($4_1 + 176 | 0) >> 2] | 0 | 0); + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1589(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_i32$1; + break label$1; + case 149: + HEAP32[($4_1 + 172 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$17 : { + label$18 : { + if (!((HEAP32[($4_1 + 172 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + $115_1 = HEAP32[(HEAP32[($4_1 + 172 | 0) >> 2] | 0) >> 2] | 0; + break label$17; + } + $115_1 = 0; + } + $118_1 = 0; + HEAP32[($4_1 + 168 | 0) >> 2] = $115_1; + HEAP32[($4_1 + 164 | 0) >> 2] = $118_1; + HEAP32[($4_1 + 160 | 0) >> 2] = $118_1; + HEAP32[($4_1 + 156 | 0) >> 2] = $118_1; + HEAP8[($4_1 + 143 | 0) >> 0] = HEAPU8[((HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0) + 78 | 0) >> 0] | 0; + HEAP32[($4_1 + 136 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 16385 | 0; + label$19 : { + label$20 : { + if (!((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$20 + } + if (!(((HEAPU8[((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (163 | 0) & 1 | 0)) { + break label$20 + } + $143_1 = HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + break label$19; + } + $143_1 = 0; + } + HEAP32[($4_1 + 132 | 0) >> 2] = $143_1; + HEAP32[($4_1 + 148 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $68(HEAP32[($4_1 + 148 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $469(HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 143 | 0) >> 0] | 0) & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + label$22 : { + if (!((HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $469(HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 148 | 0) >> 2] | 0 | 0, -2 | 0, (HEAPU8[($4_1 + 143 | 0) >> 0] | 0) & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + label$24 : { + if (!((HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($4_1 + 164 | 0) >> 2] = 1; + break label$23; + } + HEAP32[($4_1 + 160 | 0) >> 2] = 1; + } + break label$21; + } + HEAP32[($4_1 + 156 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + label$25 : { + if (!((HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1024 | 0)) { + break label$25 + } + $201_1 = HEAP32[($4_1 + 212 | 0) >> 2] | 0; + HEAP32[($201_1 + 4 | 0) >> 2] = HEAP32[($201_1 + 4 | 0) >> 2] | 0 | 262144 | 0; + label$26 : { + label$27 : { + if (!((HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$27 + } + $214_1 = $1590(HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 28 | 0) >> 2] = $214_1; + label$28 : { + if (!((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$28 + } + $349(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, 27937 | 0, 0 | 0); + $226_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($226_1 + 20 | 0) >> 2] = (HEAP32[($226_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + break label$26; + } + $236_1 = 24; + HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 28 | 0) >> 2] = (((HEAPU8[(HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 0] | 0) << $236_1 | 0) >> $236_1 | 0 | 0) == (117 | 0) & 1 | 0 ? 8388608 : 125829120; + } + } + $247_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1283(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, 31 | 0, $247_1 | 0, HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, $247_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (!(HEAP32[($4_1 + 128 | 0) >> 2] | 0)) { + break label$29 + } + label$30 : { + if (!((HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$30 + } + $260_1 = HEAP32[($4_1 + 204 | 0) >> 2] | 0; + HEAP32[($4_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $349($260_1 | 0, 28008 | 0, $4_1 + 80 | 0 | 0); + $266_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($266_1 + 20 | 0) >> 2] = (HEAP32[($266_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + HEAP8[(HEAP32[($4_1 + 212 | 0) >> 2] | 0) >> 0] = 119; + HEAP32[($4_1 + 220 | 0) >> 2] = 1; + break label$1; + } + label$31 : { + if (!((HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 10240 | 0)) { + break label$31 + } + $277_1 = HEAP32[($4_1 + 212 | 0) >> 2] | 0; + HEAP32[($277_1 + 4 | 0) >> 2] = HEAP32[($277_1 + 4 | 0) >> 2] | 0 | 524288 | 0; + } + label$32 : { + label$33 : { + if ((HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0) { + break label$33 + } + label$34 : { + if (!((HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 42 | 0)) { + break label$34 + } + $1588(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 208 | 0) >> 2] | 0 | 0, 28043 | 0, 0 | 0); + } + break label$32; + } + HEAP8[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 2 | 0) >> 0] = (HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 46 | 0; + label$35 : { + if (!((HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 262144 | 0)) { + break label$35 + } + $302_1 = HEAP32[($4_1 + 212 | 0) >> 2] | 0; + HEAP32[($302_1 + 4 | 0) >> 2] = HEAP32[($302_1 + 4 | 0) >> 2] | 0 | 1073741824 | 0; + } + } + label$36 : { + label$37 : { + if (!((HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 262144 | 0)) { + break label$37 + } + if ((HEAPU8[((HEAP32[($4_1 + 204 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$37 + } + if ((HEAP32[((HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 32 | 0) { + break label$37 + } + HEAP32[($4_1 + 164 | 0) >> 2] = 1; + HEAP32[($4_1 + 144 | 0) >> 2] = 0; + break label$36; + } + label$38 : { + if (!((HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2621440 | 0)) { + break label$38 + } + if (((HEAPU8[((HEAP32[($4_1 + 204 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$38 + } + $1512(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0); + } + } + } + label$39 : { + label$40 : { + if (!((0 | 0) == (((HEAPU8[((HEAP32[($4_1 + 204 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$40 + } + label$41 : { + label$42 : { + if (!((HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$42 + } + if (!((HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$42 + } + if (!((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$42 + } + $376_1 = HEAP32[($4_1 + 204 | 0) >> 2] | 0; + $377_1 = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 148 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $377_1; + $349($376_1 | 0, 28071 | 0, $4_1 | 0); + $380_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($380_1 + 20 | 0) >> 2] = (HEAP32[($380_1 + 20 | 0) >> 2] | 0) + 1 | 0; + break label$41; + } + label$43 : { + label$44 : { + label$45 : { + label$46 : { + if (!(HEAP32[($4_1 + 156 | 0) >> 2] | 0)) { + break label$46 + } + if (!((HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 1 | 0)) { + break label$45 + } + } + label$47 : { + if (!(HEAP32[($4_1 + 156 | 0) >> 2] | 0)) { + break label$47 + } + if (!((HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 65536 | 0)) { + break label$47 + } + if (!((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$45 + } + } + if (!(HEAP32[($4_1 + 156 | 0) >> 2] | 0)) { + break label$44 + } + if (!((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$44 + } + if ((HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 16384 | 0) { + break label$44 + } + } + label$48 : { + label$49 : { + label$50 : { + if ((HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 65536 | 0) { + break label$50 + } + if (!((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$49 + } + } + HEAP32[($4_1 + 124 | 0) >> 2] = 28115; + break label$48; + } + HEAP32[($4_1 + 124 | 0) >> 2] = 28122; + } + $426_1 = HEAP32[($4_1 + 204 | 0) >> 2] | 0; + $427_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + $428_1 = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 148 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $428_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $427_1; + $349($426_1 | 0, 28132 | 0, $4_1 + 16 | 0 | 0); + $434_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($434_1 + 20 | 0) >> 2] = (HEAP32[($434_1 + 20 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 156 | 0) >> 2] = 0; + break label$43; + } + label$51 : { + label$52 : { + if (!(HEAP32[($4_1 + 164 | 0) >> 2] | 0)) { + break label$52 + } + if ((HEAPU8[((HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0) { + break label$52 + } + $444_1 = HEAP32[($4_1 + 204 | 0) >> 2] | 0; + $445_1 = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[($4_1 + 148 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $445_1; + $349($444_1 | 0, 28161 | 0, $4_1 + 32 | 0 | 0); + $450_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($450_1 + 20 | 0) >> 2] = (HEAP32[($450_1 + 20 | 0) >> 2] | 0) + 1 | 0; + break label$51; + } + label$53 : { + label$54 : { + if (!(HEAP32[($4_1 + 160 | 0) >> 2] | 0)) { + break label$54 + } + $455_1 = HEAP32[($4_1 + 204 | 0) >> 2] | 0; + $456_1 = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[($4_1 + 148 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $456_1; + $349($455_1 | 0, 28184 | 0, $4_1 + 48 | 0 | 0); + $461_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($461_1 + 20 | 0) >> 2] = (HEAP32[($461_1 + 20 | 0) >> 2] | 0) + 1 | 0; + break label$53; + } + label$55 : { + if (HEAP32[($4_1 + 156 | 0) >> 2] | 0) { + break label$55 + } + if (!((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$55 + } + $470_1 = HEAP32[($4_1 + 204 | 0) >> 2] | 0; + $471_1 = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[($4_1 + 148 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = $471_1; + $349($470_1 | 0, 28229 | 0, $4_1 + 64 | 0 | 0); + $476_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($476_1 + 20 | 0) >> 2] = (HEAP32[($476_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + } + } + } + } + label$56 : { + if (!(HEAP32[($4_1 + 156 | 0) >> 2] | 0)) { + break label$56 + } + $482_1 = 0; + $496_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($496_1 + 24 | 0) >> 2] = (HEAP32[($496_1 + 24 | 0) >> 2] | 0) & (((((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) != ($482_1 | 0) ^ -1 | 0) & 1 | 0 ? 1 : $482_1) | 16384 | 0) ^ -1 | 0) | 0; + } + break label$39; + } + label$57 : { + if (!((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$57 + } + HEAP32[($4_1 + 156 | 0) >> 2] = 1; + } + } + $1550(HEAP32[($4_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 172 | 0) >> 2] | 0 | 0) | 0; + label$58 : { + if (!(HEAP32[($4_1 + 156 | 0) >> 2] | 0)) { + break label$58 + } + label$59 : { + label$60 : { + if (!((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$60 + } + HEAP32[($4_1 + 120 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$61 : { + if (((HEAPU8[((HEAP32[($4_1 + 204 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$61 + } + $527_1 = HEAP32[($4_1 + 204 | 0) >> 2] | 0; + label$62 : { + label$63 : { + if (!((HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$63 + } + $536_1 = HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + break label$62; + } + $536_1 = 0; + } + $1591($527_1 | 0, $536_1 | 0, HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0); + } + $1550(HEAP32[($4_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + $1550(HEAP32[($4_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + $1547(HEAP32[($4_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + $1577(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0); + $552_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($552_1 + 24 | 0) >> 2] = HEAP32[($552_1 + 24 | 0) >> 2] | 0 | 32768 | 0; + break label$59; + } + HEAP32[($4_1 + 116 | 0) >> 2] = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP8[(HEAP32[($4_1 + 212 | 0) >> 2] | 0) >> 0] = 165; + HEAP8[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 2 | 0) >> 0] = 0; + label$64 : { + if (!((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$64 + } + $1547(HEAP32[($4_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + } + label$65 : while (1) { + $577_1 = 0; + label$66 : { + if (!((HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$66 + } + $577_1 = ($1592(HEAP32[($4_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) ^ -1 | 0; + } + label$67 : { + if (!($577_1 & 1 | 0)) { + break label$67 + } + $591_1 = HEAP32[($4_1 + 212 | 0) >> 2] | 0; + HEAP8[($591_1 + 2 | 0) >> 0] = (HEAPU8[($591_1 + 2 | 0) >> 0] | 0) + 1 | 0; + HEAP32[($4_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$65; + } + break label$65; + }; + label$68 : { + if (!((HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$68 + } + if (!((HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$68 + } + $617_1 = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + HEAP32[($617_1 + 24 | 0) >> 2] = HEAP32[($617_1 + 24 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4096 | 0 | 16 | 0) | 0; + } + } + $621_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($621_1 + 24 | 0) >> 2] = HEAP32[($621_1 + 24 | 0) >> 2] | 0 | (HEAP32[($4_1 + 136 | 0) >> 2] | 0) | 0; + } + HEAP32[($4_1 + 220 | 0) >> 2] = 1; + break label$1; + case 0: + case 116: + case 29: + label$69 : { + if (!((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$69 + } + HEAP32[($4_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$70 : { + if (!((HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 46 | 0)) { + break label$70 + } + $1588(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 208 | 0) >> 2] | 0 | 0, 28278 | 0, HEAP32[($4_1 + 212 | 0) >> 2] | 0 | 0); + } + $1549(HEAP32[($4_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + label$71 : { + if (!((HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$71 + } + $650_1 = HEAP32[($4_1 + 212 | 0) >> 2] | 0; + HEAP32[($650_1 + 4 | 0) >> 2] = HEAP32[($650_1 + 4 | 0) >> 2] | 0 | 32 | 0; + $654_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($654_1 + 24 | 0) >> 2] = HEAP32[($654_1 + 24 | 0) >> 2] | 0 | 64 | 0; + } + } + break label$2; + case 133: + label$72 : { + if (!((HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 46 | 0)) { + break label$72 + } + $1588(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 208 | 0) >> 2] | 0 | 0, 28289 | 0, HEAP32[($4_1 + 212 | 0) >> 2] | 0 | 0); + } + break label$2; + case 25: + case 148: + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1527(HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$73 : { + if (!((HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$73 + } + label$74 : { + if (((HEAPU8[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (59 | 0) & 1 | 0) { + break label$74 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (167 | 0) & 1 | 0)) { + break label$73 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1587(HEAP32[($4_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$75 : { + if (!((HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$75 + } + HEAP32[($4_1 + 220 | 0) >> 2] = 2; + break label$1; + } + label$76 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (167 | 0) & 1 | 0)) { + break label$76 + } + HEAP8[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 2 | 0) >> 0] = HEAPU8[(HEAP32[($4_1 + 212 | 0) >> 2] | 0) >> 0] | 0; + HEAP8[(HEAP32[($4_1 + 212 | 0) >> 2] | 0) >> 0] = 172; + HEAP32[($4_1 + 220 | 0) >> 2] = 0; + break label$1; + } + } + break; + case 28: + case 32: + case 33: + case 34: + case 35: + case 36: + case 37: + break label$3; + default: + break label$2; + }; + } + label$77 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$77 + } + break label$2; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1432(HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$78 : { + label$79 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 212 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$79 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1432(HEAP32[((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$80 : { + if (!((HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$80 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1432(HEAP32[((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + } + break label$78; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1432(HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + } + label$81 : { + if (!((HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$81 + } + $349(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, 26965 | 0, 0 | 0); + } + } + $778_1 = 1; + label$82 : { + if (HEAP32[((HEAP32[($4_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$82 + } + $778_1 = ((HEAPU8[((HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + HEAP32[($4_1 + 220 | 0) >> 2] = $778_1 & 1 | 0 ? 2 : 0; + } + $794_1 = HEAP32[($4_1 + 220 | 0) >> 2] | 0; + global$0 = $4_1 + 224 | 0; + return $794_1 | 0; + } + + function $1588($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $23_1 = 0, $24_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = 28300; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 32 | 0)) { + break label$2 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 28328; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 4 | 0)) { + break label$4 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 28346; + break label$3; + } + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 8 | 0)) { + break label$5 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 28364; + } + } + } + $23_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $24_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $24_1; + $349($23_1 | 0, 28382 | 0, $6_1 | 0); + label$6 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] = 119; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1589($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $9_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $108_1 = 0, $182_1 = 0, $213_1 = 0, $230_1 = 0, $278_1 = 0, $287_1 = 0, $289_1 = 0, $325_1 = 0, $347_1 = 0, $428_1 = 0, $455_1 = 0, $473_1 = 0, $491_1 = 0, $531_1 = 0, $535_1 = 0, $540_1 = 0, $563_1 = 0, $568_1 = 0, $579_1 = 0, $584_1 = 0, $648_1 = 0, $834_1 = 0, $841_1 = 0, $907$hi = 0, $857_1 = 0, $858_1 = 0, $869_1 = 0, $889_1 = 0, $538_1 = 0, $684_1 = 0, $703_1 = 0, $804_1 = 0, $805_1 = 0, $806_1 = 0, $807_1 = 0, $819_1 = 0, $820_1 = 0, $821_1 = 0, $826_1 = 0, $827_1 = 0, $907_1 = 0, $2719$hi = 0, $2723_1 = 0, $904_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 224 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 216 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 212 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 208 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 204 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 200 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 196 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 184 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 180 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 176 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 216 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 164 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 160 | 0) >> 2] = HEAP32[($8_1 + 200 | 0) >> 2] | 0; + HEAP32[($8_1 + 156 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 152 | 0) >> 2] = 164; + HEAP32[($8_1 + 148 | 0) >> 2] = $9_1; + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 28 | 0) >> 2] = -1; + label$1 : { + if (!((HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0) != ($9_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 6 | 0)) { + break label$3 + } + HEAP32[($8_1 + 212 | 0) >> 2] = 0; + break label$2; + } + HEAP32[($8_1 + 192 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if ($88(HEAP32[((HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 192 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + HEAP32[($8_1 + 156 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 192 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + break label$4; + } + HEAP32[($8_1 + 192 | 0) >> 2] = (HEAP32[($8_1 + 192 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$7 : { + if (!((HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + if ($88(8749 | 0, HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + HEAP32[($8_1 + 156 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($8_1 + 212 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] | 0; + } + } + } + label$8 : { + label$9 : { + label$10 : while (1) { + HEAP32[($8_1 + 136 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$11 : { + if (!((HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($8_1 + 192 | 0) >> 2] = 0; + HEAP32[($8_1 + 168 | 0) >> 2] = (HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 8 | 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($8_1 + 136 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($8_1 + 148 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (!((HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + if (!((HEAP32[((HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$15 + } + $108_1 = 0; + HEAP32[($8_1 + 128 | 0) >> 2] = $108_1; + HEAP32[($8_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 188 | 0) >> 2] = $108_1; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($8_1 + 140 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + label$18 : { + if (!($1597(((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 188 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0) | 0)) { + break label$18 + } + HEAP32[($8_1 + 184 | 0) >> 2] = (HEAP32[($8_1 + 184 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 180 | 0) >> 2] = 2; + HEAP32[($8_1 + 164 | 0) >> 2] = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + HEAP16[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 32 | 0) >> 1] = HEAP32[($8_1 + 188 | 0) >> 2] | 0; + HEAP32[($8_1 + 128 | 0) >> 2] = 1; + } + HEAP32[($8_1 + 188 | 0) >> 2] = (HEAP32[($8_1 + 188 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + label$19 : { + label$20 : { + if (HEAP32[($8_1 + 128 | 0) >> 2] | 0) { + break label$20 + } + if (!((HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$19 + } + } + break label$14; + } + } + label$21 : { + if (!((HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + if (!((HEAP32[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 156 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + break label$14; + } + label$22 : { + if (!((HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + label$24 : { + if (!((HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + $182_1 = HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$23; + } + $182_1 = HEAP32[(HEAP32[($8_1 + 148 | 0) >> 2] | 0) >> 2] | 0; + } + HEAP32[($8_1 + 124 | 0) >> 2] = $182_1; + label$25 : { + if (!($88(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) | 0)) { + break label$25 + } + break label$14; + } + label$26 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 216 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$26 + } + if (!((HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $1318(HEAP32[($8_1 + 216 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 44 | 0 | 0); + } + } + $213_1 = HEAP32[($8_1 + 180 | 0) >> 2] | 0; + HEAP32[($8_1 + 180 | 0) >> 2] = $213_1 + 1 | 0; + label$27 : { + if (!((0 | 0) == ($213_1 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($8_1 + 164 | 0) >> 2] = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1306(HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 135 | 0) >> 0] = wasm2js_i32$1; + HEAP32[($8_1 + 188 | 0) >> 2] = 0; + HEAP32[($8_1 + 144 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$28 : { + label$29 : while (1) { + $230_1 = 16; + if (!((HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $230_1 | 0) >> $230_1 | 0 | 0) & 1 | 0)) { + break label$28 + } + label$30 : { + label$31 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 144 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[($8_1 + 135 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$31 + } + if ($88(HEAP32[(HEAP32[($8_1 + 144 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) | 0) { + break label$31 + } + label$32 : { + if (!((HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$32 + } + label$33 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$33 + } + break label$30; + } + label$34 : { + if (!($1598(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) | 0)) { + break label$34 + } + break label$30; + } + } + HEAP32[($8_1 + 184 | 0) >> 2] = (HEAP32[($8_1 + 184 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 164 | 0) >> 2] = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + $278_1 = 16; + label$35 : { + label$36 : { + if (!((HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $278_1 | 0) >> $278_1 | 0 | 0) & 1 | 0)) { + break label$36 + } + $287_1 = -1; + break label$35; + } + $289_1 = 16; + $287_1 = ((HEAP32[($8_1 + 188 | 0) >> 2] | 0) << $289_1 | 0) >> $289_1 | 0; + } + HEAP16[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 32 | 0) >> 1] = $287_1; + break label$28; + } + } + HEAP32[($8_1 + 188 | 0) >> 2] = (HEAP32[($8_1 + 188 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 144 | 0) >> 2] = (HEAP32[($8_1 + 144 | 0) >> 2] | 0) + 20 | 0; + continue label$29; + }; + } + } + HEAP32[($8_1 + 192 | 0) >> 2] = (HEAP32[($8_1 + 192 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 168 | 0) >> 2] = (HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 72 | 0; + continue label$13; + }; + } + label$37 : { + if (!((HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$38 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$38 + } + $325_1 = HEAP32[($8_1 + 196 | 0) >> 2] | 0; + HEAP32[($325_1 + 4 | 0) >> 2] = HEAP32[($325_1 + 4 | 0) >> 2] | 0 | 1048576 | 0; + } + HEAP32[($8_1 + 156 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + } + } + label$39 : { + if (!((HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$39 + } + if (!((HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$39 + } + if (HEAP32[($8_1 + 180 | 0) >> 2] | 0) { + break label$39 + } + $347_1 = 0; + HEAP32[($8_1 + 148 | 0) >> 2] = $347_1; + label$40 : { + if (!((HEAP32[((HEAP32[($8_1 + 216 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) != ($347_1 | 0) & 1 | 0)) { + break label$40 + } + HEAP32[($8_1 + 120 | 0) >> 2] = (HEAPU8[((HEAP32[($8_1 + 216 | 0) >> 2] | 0) + 148 | 0) >> 0] | 0) & 255 | 0; + label$41 : { + label$42 : { + if (!((HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0) != (126 | 0) & 1 | 0)) { + break label$42 + } + if ($88(28402 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) | 0) { + break label$42 + } + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 28 | 0) >> 2] = 1; + HEAP32[($8_1 + 148 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 216 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0; + break label$41; + } + label$43 : { + if (!((HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0) != (125 | 0) & 1 | 0)) { + break label$43 + } + if ($88(28406 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) | 0) { + break label$43 + } + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + HEAP32[($8_1 + 148 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 216 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0; + } + } + } + label$44 : { + if (!((HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 512 | 0)) { + break label$44 + } + HEAP32[($8_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$45 : { + if (!((HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$45 + } + if ($88(28410 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) | 0) { + break label$45 + } + HEAP32[($8_1 + 148 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 28 | 0) >> 2] = 2; + } + } + label$46 : { + if (!((HEAP32[($8_1 + 148 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$46 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1306(HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 111 | 0) >> 0] = wasm2js_i32$1; + HEAP32[($8_1 + 156 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[($8_1 + 180 | 0) >> 2] = (HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 112 | 0) >> 2] = 0; + HEAP32[($8_1 + 144 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$47 : { + label$48 : while (1) { + $428_1 = 16; + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $428_1 | 0) >> $428_1 | 0 | 0) & 1 | 0)) { + break label$47 + } + label$49 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 144 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[($8_1 + 111 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$49 + } + if ($88(HEAP32[(HEAP32[($8_1 + 144 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) | 0) { + break label$49 + } + $455_1 = 16; + label$50 : { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $455_1 | 0) >> $455_1 | 0 | 0) & 1 | 0)) { + break label$50 + } + HEAP32[($8_1 + 112 | 0) >> 2] = -1; + } + break label$47; + } + HEAP32[($8_1 + 112 | 0) >> 2] = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 144 | 0) >> 2] = (HEAP32[($8_1 + 144 | 0) >> 2] | 0) + 20 | 0; + continue label$48; + }; + } + $473_1 = 16; + label$51 : { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) >= (((HEAPU16[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $473_1 | 0) >> $473_1 | 0 | 0) & 1 | 0)) { + break label$51 + } + if (!($502(HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) | 0)) { + break label$51 + } + if ((HEAP32[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 512 | 0) { + break label$51 + } + HEAP32[($8_1 + 112 | 0) >> 2] = -1; + } + $491_1 = 16; + label$52 : { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $491_1 | 0) >> $491_1 | 0 | 0) & 1 | 0)) { + break label$52 + } + HEAP32[($8_1 + 184 | 0) >> 2] = (HEAP32[($8_1 + 184 | 0) >> 2] | 0) + 1 | 0; + label$53 : { + label$54 : { + if (!((HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$54 + } + label$55 : { + label$56 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 216 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$56 + } + HEAP16[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 32 | 0) >> 1] = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($8_1 + 148 | 0) >> 2] | 0; + HEAP32[($8_1 + 152 | 0) >> 2] = 164; + break label$55; + } + $531_1 = 16; + $535_1 = 16; + $538_1 = (HEAP32[((HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((($1424(HEAP32[($8_1 + 148 | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 112 | 0) >> 2] | 0) << $531_1 | 0) >> $531_1 | 0 | 0) | 0) << $535_1 | 0) >> $535_1 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 28 | 0) >> 2] = $538_1; + HEAP32[($8_1 + 152 | 0) >> 2] = 173; + $540_1 = HEAP32[($8_1 + 196 | 0) >> 2] | 0; + HEAP32[($540_1 + 4 | 0) >> 2] = HEAP32[($540_1 + 4 | 0) >> 2] | 0 | 4194304 | 0; + } + break label$53; + } + label$57 : { + label$58 : { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$58 + } + HEAP8[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 1 | 0) >> 0] = 68; + break label$57; + } + label$59 : { + label$60 : { + if (HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$60 + } + label$61 : { + label$62 : { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) >= (32 | 0) & 1 | 0)) { + break label$62 + } + $563_1 = -1; + break label$61; + } + $563_1 = 1 << (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0; + } + $568_1 = HEAP32[($8_1 + 216 | 0) >> 2] | 0; + HEAP32[($568_1 + 140 | 0) >> 2] = HEAP32[($568_1 + 140 | 0) >> 2] | 0 | $563_1 | 0; + break label$59; + } + label$63 : { + label$64 : { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) >= (32 | 0) & 1 | 0)) { + break label$64 + } + $579_1 = -1; + break label$63; + } + $579_1 = 1 << (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0; + } + $584_1 = HEAP32[($8_1 + 216 | 0) >> 2] | 0; + HEAP32[($584_1 + 144 | 0) >> 2] = HEAP32[($584_1 + 144 | 0) >> 2] | 0 | $579_1 | 0; + } + } + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($8_1 + 148 | 0) >> 2] | 0; + HEAP16[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 32 | 0) >> 1] = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + HEAP32[($8_1 + 152 | 0) >> 2] = 77; + } + } + } + } + label$65 : { + if (HEAP32[($8_1 + 184 | 0) >> 2] | 0) { + break label$65 + } + if (!((HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$65 + } + if (!((HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$65 + } + if ((HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 40 | 0) { + break label$65 + } + if (!($502(HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) | 0)) { + break label$65 + } + if ((HEAP32[((HEAP32[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 512 | 0) { + break label$65 + } + HEAP32[($8_1 + 184 | 0) >> 2] = 1; + HEAP16[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 32 | 0) >> 1] = 65535; + HEAP8[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 1 | 0) >> 0] = 68; + } + label$66 : { + if (!((HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 128 | 0)) { + break label$66 + } + if (HEAP32[($8_1 + 184 | 0) >> 2] | 0) { + break label$66 + } + if (!((HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$66 + } + HEAP32[($8_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($8_1 + 188 | 0) >> 2] = 0; + label$67 : { + label$68 : while (1) { + if (!((HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($8_1 + 140 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$67 + } + $648_1 = 4; + HEAP32[($8_1 + 104 | 0) >> 2] = HEAP32[(((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 188 | 0) >> 2] | 0) << $648_1 | 0) | 0) + 8 | 0) >> 2] | 0; + label$69 : { + if (((HEAPU8[(((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 188 | 0) >> 2] | 0) << $648_1 | 0) | 0) + 13 | 0) >> 0] | 0) & 3 | 0) & 255 | 0) { + break label$69 + } + if ($87(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) | 0) { + break label$69 + } + HEAP32[($8_1 + 100 | 0) >> 2] = HEAP32[(((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 188 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$70 : { + if ((HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 1 | 0) { + break label$70 + } + if (!((HEAP32[((HEAP32[($8_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16 | 0)) { + break label$70 + } + $684_1 = HEAP32[($8_1 + 216 | 0) >> 2] | 0; + HEAP32[$8_1 >> 2] = HEAP32[($8_1 + 104 | 0) >> 2] | 0; + $349($684_1 | 0, 28419 | 0, $8_1 | 0); + HEAP32[($8_1 + 220 | 0) >> 2] = 2; + break label$8; + } + label$71 : { + if (!((HEAP32[((HEAP32[($8_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32768 | 0)) { + break label$71 + } + label$72 : { + if (!((HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 16384 | 0)) { + break label$72 + } + if (!((HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$71 + } + } + $703_1 = HEAP32[($8_1 + 216 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[($8_1 + 104 | 0) >> 2] | 0; + $349($703_1 | 0, 28450 | 0, $8_1 + 16 | 0 | 0); + HEAP32[($8_1 + 220 | 0) >> 2] = 2; + break label$8; + } + label$73 : { + if (!(($1432(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$73 + } + $349(HEAP32[($8_1 + 216 | 0) >> 2] | 0 | 0, 26965 | 0, 0 | 0); + HEAP32[($8_1 + 220 | 0) >> 2] = 2; + break label$8; + } + $1599(HEAP32[($8_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0, 1352 | 0, HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 184 | 0) >> 2] = 1; + HEAP32[($8_1 + 164 | 0) >> 2] = 0; + label$74 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 216 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$74 + } + $1318(HEAP32[($8_1 + 216 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0); + } + break label$9; + } + HEAP32[($8_1 + 188 | 0) >> 2] = (HEAP32[($8_1 + 188 | 0) >> 2] | 0) + 1 | 0; + continue label$68; + }; + } + } + label$75 : { + label$76 : { + if (!(HEAP32[($8_1 + 184 | 0) >> 2] | 0)) { + break label$76 + } + break label$75; + } + HEAP32[($8_1 + 200 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($8_1 + 176 | 0) >> 2] = (HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 1 | 0; + if ((HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + continue label$10 + } + } + break label$10; + }; + label$77 : { + if (HEAP32[($8_1 + 184 | 0) >> 2] | 0) { + break label$77 + } + if (!((HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$77 + } + label$78 : { + if (!((HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 64 | 0)) { + break label$78 + } + if (!($1600(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0) | 0)) { + break label$78 + } + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[($8_1 + 204 | 0) >> 2] | 0; + $82(28 | 0, 28487 | 0, $8_1 + 32 | 0 | 0); + HEAP8[(HEAP32[($8_1 + 196 | 0) >> 2] | 0) >> 0] = 115; + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + HEAP32[($8_1 + 220 | 0) >> 2] = 1; + break label$8; + } + label$79 : { + if (!($1199(HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0) | 0)) { + break label$79 + } + HEAP32[($8_1 + 220 | 0) >> 2] = 1; + break label$8; + } + } + label$80 : { + if (!((HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$80 + } + HEAP32[($8_1 + 96 | 0) >> 2] = HEAP32[($8_1 + 184 | 0) >> 2] | 0 ? 28537 : 28522; + label$81 : { + label$82 : { + if (!((HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$82 + } + $804_1 = HEAP32[($8_1 + 216 | 0) >> 2] | 0; + $805_1 = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + $806_1 = HEAP32[($8_1 + 212 | 0) >> 2] | 0; + $807_1 = HEAP32[($8_1 + 208 | 0) >> 2] | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[($8_1 + 204 | 0) >> 2] | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = $807_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $806_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $805_1; + $349($804_1 | 0, 28559 | 0, $8_1 + 48 | 0 | 0); + break label$81; + } + label$83 : { + label$84 : { + if (!((HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$84 + } + $819_1 = HEAP32[($8_1 + 216 | 0) >> 2] | 0; + $820_1 = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + $821_1 = HEAP32[($8_1 + 208 | 0) >> 2] | 0; + HEAP32[($8_1 + 72 | 0) >> 2] = HEAP32[($8_1 + 204 | 0) >> 2] | 0; + HEAP32[($8_1 + 68 | 0) >> 2] = $821_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $820_1; + $349($819_1 | 0, 11650 | 0, $8_1 + 64 | 0 | 0); + break label$83; + } + $826_1 = HEAP32[($8_1 + 216 | 0) >> 2] | 0; + $827_1 = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + HEAP32[($8_1 + 84 | 0) >> 2] = HEAP32[($8_1 + 204 | 0) >> 2] | 0; + HEAP32[($8_1 + 80 | 0) >> 2] = $827_1; + $349($826_1 | 0, 11660 | 0, $8_1 + 80 | 0 | 0); + } + } + HEAP8[((HEAP32[($8_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + $834_1 = HEAP32[($8_1 + 160 | 0) >> 2] | 0; + HEAP32[($834_1 + 20 | 0) >> 2] = (HEAP32[($834_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + $841_1 = 16; + label$85 : { + if (!((((HEAPU16[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $841_1 | 0) >> $841_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$85 + } + if (!((HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$85 + } + i64toi32_i32$0 = $1601(HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $907_1 = i64toi32_i32$0; + $907$hi = i64toi32_i32$1; + $857_1 = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + i64toi32_i32$2 = $857_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $2719$hi = i64toi32_i32$0; + i64toi32_i32$0 = $907$hi; + i64toi32_i32$0 = $2719$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $907$hi; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $2723_1 = i64toi32_i32$2 | $907_1 | 0; + i64toi32_i32$2 = $857_1; + HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] = $2723_1; + HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] = i64toi32_i32$1; + } + $858_1 = 0; + $18(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 12 | 0) >> 2] = $858_1; + $18(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 16 | 0) >> 2] = $858_1; + HEAP8[(HEAP32[($8_1 + 196 | 0) >> 2] | 0) >> 0] = HEAP32[($8_1 + 152 | 0) >> 2] | 0; + $869_1 = HEAP32[($8_1 + 196 | 0) >> 2] | 0; + HEAP32[($869_1 + 4 | 0) >> 2] = HEAP32[($869_1 + 4 | 0) >> 2] | 0 | 8388608 | 0; + } + label$86 : { + if (!((HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$86 + } + label$87 : { + if ((HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4194304 | 0) { + break label$87 + } + $1602(HEAP32[($8_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + label$88 : { + label$89 : while (1) { + $889_1 = HEAP32[($8_1 + 160 | 0) >> 2] | 0; + HEAP32[($889_1 + 16 | 0) >> 2] = (HEAP32[($889_1 + 16 | 0) >> 2] | 0) + 1 | 0; + label$90 : { + if (!((HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$90 + } + break label$88; + } + HEAP32[($8_1 + 160 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 160 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$89; + }; + } + HEAP32[($8_1 + 220 | 0) >> 2] = 1; + break label$8; + } + HEAP32[($8_1 + 220 | 0) >> 2] = 2; + } + $904_1 = HEAP32[($8_1 + 220 | 0) >> 2] | 0; + global$0 = $8_1 + 224 | 0; + return $904_1 | 0; + } + + function $1590($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $42_1 = 0.0, $31_1 = 0, $34_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAPF64[$3_1 >> 3] = -1.0; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (150 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = -1; + break label$1; + } + $344(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $3_1 | 0, $68(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0 | 0, 1 & 255 | 0 | 0) | 0; + label$3 : { + if (!(+HEAPF64[$3_1 >> 3] > 1.0 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = -1; + break label$1; + } + $42_1 = +HEAPF64[$3_1 >> 3] * 134217728.0; + label$4 : { + label$5 : { + if (!(Math_abs($42_1) < 2147483648.0)) { + break label$5 + } + $31_1 = ~~$42_1; + break label$4; + } + $31_1 = -2147483648; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $31_1; + } + $34_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $34_1 | 0; + } + + function $1591($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $31_1 = 0, $166_1 = 0, $167_1 = 0, $36_1 = 0, $42_1 = 0, $48_1 = 0, $54_1 = 0, $207_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 176 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 172 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 168 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 164 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 160 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[(HEAP32[($6_1 + 164 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if ((HEAPU8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1493(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 164 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + $31_1 = 0; + $36_1 = $1339(HEAP32[(HEAP32[($6_1 + 172 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $31_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 8 | 0) >> 2] = $36_1; + $42_1 = $1339(HEAP32[(HEAP32[($6_1 + 172 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $31_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 12 | 0) >> 2] = $42_1; + $48_1 = $1310(HEAP32[(HEAP32[($6_1 + 172 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, $31_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 24 | 0) >> 2] = $48_1; + $54_1 = $1310(HEAP32[(HEAP32[($6_1 + 172 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, $31_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 28 | 0) >> 2] = $54_1; + HEAP8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 17 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0; + HEAP8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0; + HEAP8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0; + HEAP8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 20 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0; + break label$2; + } + $1271(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0); + } + label$5 : { + label$6 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if ((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + if (!((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + } + label$8 : { + if ((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$8 + } + if (!((HEAP32[(HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$6 + } + } + $349(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, 28617 | 0, 0 | 0); + break label$5; + } + label$9 : { + if (!((HEAP32[((HEAP32[($6_1 + 160 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 65536 | 0)) { + break label$9 + } + HEAP32[($6_1 + 152 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 172 | 0) >> 2] | 0) >> 2] | 0; + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $349(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, 28688 | 0, 0 | 0); + break label$10; + } + $3288($6_1 + 16 | 0 | 0, 28816 | 0, 128 | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (8 | 0) & 1 | 0)) { + break label$12 + } + label$14 : { + if (!((HEAP32[((HEAP32[($6_1 + 160 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (HEAP32[(($6_1 + 16 | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $166_1 = $6_1 + 16 | 0; + $167_1 = 0; + $18(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + $18(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 24 | 0) >> 2] = $167_1; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 28 | 0) >> 2] = $167_1; + HEAP8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[(($166_1 + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 17 | 0) >> 0] = HEAP32[(($166_1 + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAP32[(($166_1 + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 20 | 0) >> 0] = 0; + label$15 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (86 | 0) & 1 | 0)) { + break label$15 + } + $207_1 = $1217(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, 152 | 0, 8423 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 24 | 0) >> 2] = $207_1; + } + break label$12; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + } + } + } + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($6_1 + 160 | 0) >> 2] | 0; + } + global$0 = $6_1 + 176 | 0; + return; + } + + function $1592($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $70_1 = 0, $13_1 = 0, $32_1 = 0, $38_1 = 0, $59_1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $13_1 = $4_1 + 24 | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + $70_1 = 0; + i64toi32_i32$1 = $13_1; + HEAP32[i64toi32_i32$1 >> 2] = $70_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $70_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $13_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $70_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = 58; + HEAP32[($4_1 + 32 | 0) >> 2] = 57; + HEAP32[($4_1 + 48 | 0) >> 2] = $4_1 + 8 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!(HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0)) { + break label$2 + } + $32_1 = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + break label$1; + } + $32_1 = 2147483647; + } + $38_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $32_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $38_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $38_1; + $1550($4_1 + 24 | 0 | 0, HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$3 + } + $1547($4_1 + 24 | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + } + $59_1 = 1; + label$4 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$4 + } + $59_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0); + } + global$0 = $4_1 + 64 | 0; + return $59_1 & 1 | 0 | 0; + } + + function $1593($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 48; + HEAP32[($5_1 + 16 | 0) >> 2] = 47; + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $1549($5_1 + 8 | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 48 | 0; + return; + } + + function $1594($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $46_1 = 0, $145_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 48 | 0) >> 2] | 0) + 4 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1527(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + break label$5; + } + $46_1 = 24; + label$7 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 0] | 0) << $46_1 | 0) >> $46_1 | 0 | 0) != (71 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1611(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP16[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 1] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + break label$5; + } + } + label$9 : { + if (!($1612(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0) | 0)) { + break label$9 + } + label$10 : { + label$11 : { + if ((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0) { + break label$11 + } + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) > (65535 | 0) & 1 | 0)) { + break label$10 + } + } + $1613(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 60 | 0) >> 2] = 1; + break label$1; + } + HEAP16[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 1] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + break label$5; + } + HEAP16[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 1] = 0; + label$12 : { + if (!($1404(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 36 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + label$15 : { + if ($1529(0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 36 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, -1 | 0) | 0) { + break label$15 + } + $1614(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 1] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 16 | 0; + continue label$4; + }; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1615(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + } + $145_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $145_1 | 0; + } + + function $1595($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 512 | 0)) { + break label$2 + } + $349(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 29804 | 0, 0 | 0); + break label$1; + } + $12_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1616((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $349($12_1 | 0, 29850 | 0, $4_1 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1596($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $42_1 = 0, $44_1 = 0, $77_1 = 0, $86_1 = 0, $210_1 = 0, $221_1 = 0, $258_1 = 0, $294_1 = 0, $304_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = 1; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $349(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, 29965 | 0, 0 | 0); + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $42_1 = 4; + $44_1 = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 48 | 0) >> 2] | 0) << $42_1 | 0) | 0; + HEAP8[(($44_1 + $42_1 | 0) + 9 | 0) >> 0] = (HEAPU8[($44_1 + 13 | 0) >> 0] | 0) & -5 | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$7; + }; + } + label$8 : while (1) { + $77_1 = 0; + label$9 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $77_1 = (HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$10 : { + if (!($77_1 & 1 | 0)) { + break label$10 + } + $86_1 = 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $86_1; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $86_1; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 24 | 0) >> 2] = -1; + label$13 : { + label$14 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0)) { + break label$14 + } + break label$13; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1527(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$15 + } + break label$13; + } + label$16 : { + label$17 : { + if (!($1612(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $4_1 + 24 | 0 | 0) | 0)) { + break label$17 + } + label$18 : { + label$19 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0) { + break label$19 + } + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + } + $1613(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, 29007 | 0, (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + break label$1; + } + break label$16; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1611(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$20 + } + label$21 : { + label$22 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + break label$21; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1310(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$23 : { + if (((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$23 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1617(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$24 : { + if (((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$24 + } + $18(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + } + } + } + label$25 : { + label$26 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$26 + } + label$27 : { + if (((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$27 + } + $210_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1217(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, 152 | 0, $210_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$28 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == ($210_1 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + break label$1; + } + $221_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($221_1 + 4 | 0) >> 2] = HEAP32[($221_1 + 4 | 0) >> 2] | 0 | 1024 | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$29 : { + label$30 : { + if (!((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$29; + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$31 : { + label$32 : while (1) { + if (!(((HEAPU8[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$32; + }; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + $18(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 1] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + } + $258_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP8[($258_1 + 9 | 0) >> 0] = HEAPU8[($258_1 + 9 | 0) >> 0] | 0 | 4 | 0; + break label$25; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 1; + } + } + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0; + continue label$12; + }; + } + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + continue label$8; + } + break label$8; + }; + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + label$33 : { + label$34 : while (1) { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$33 + } + label$35 : { + if ((((HEAPU8[(((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 48 | 0) >> 2] | 0) << 4 | 0) | 0) + 13 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0) { + break label$35 + } + $294_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + $349($294_1 | 0, 29999 | 0, $4_1 | 0); + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$34; + }; + } + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + } + $304_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $304_1 | 0; + } + + function $1597($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $28_1 = 0, $31_1 = 0, $37_1 = 0, $64_1 = 0, $79_1 = 0, $82_1 = 0, $88_1 = 0, $115_1 = 0, $136_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 3 | 0) & 255 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + label$3 : while (1) { + $28_1 = 24; + $31_1 = 0; + label$4 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0)) { + break label$4 + } + $37_1 = 24; + $31_1 = (((HEAPU8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $37_1 | 0) >> $37_1 | 0 | 0) != (46 | 0); + } + label$5 : { + if (!($31_1 & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + label$6 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if ($89(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + $64_1 = 24; + if (!(((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $64_1 | 0) >> $64_1 | 0)) { + break label$6 + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + label$8 : while (1) { + $79_1 = 24; + $82_1 = 0; + label$9 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $79_1 | 0) >> $79_1 | 0)) { + break label$9 + } + $88_1 = 24; + $82_1 = (((HEAPU8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $88_1 | 0) >> $88_1 | 0 | 0) != (46 | 0); + } + label$10 : { + if (!($82_1 & 1 | 0)) { + break label$10 + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + } + break label$8; + }; + label$11 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + if ($89(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$12 + } + $115_1 = 24; + if (!(((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $115_1 | 0) >> $115_1 | 0)) { + break label$11 + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) | 0; + label$13 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + if (!($88(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$13 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + } + $136_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $136_1 | 0; + } + + function $1598($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $35_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$4_1 >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if ($88(HEAP32[((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $35_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $35_1 | 0; + } + + function $1599($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $63_1 = 0, $64_1 = 0, $9_1 = 0, $32_1 = 0, $57_1 = 0, $65_1 = 0, $69_1 = 0, $72_1 = 0, $75_1 = 0, $78_1 = 0, $81_1 = 0, $101_1 = 0, $122_1 = 0, $275_1 = 0, $295_1 = 0, $305_1 = 0, $315_1 = 0, $325_1 = 0, $335_1 = 0, $99_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[(((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1310(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, $9_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) != ($9_1 | 0) & 1 | 0)) { + break label$1 + } + $32_1 = 24; + label$2 : { + if (!((((HEAPU8[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0 | 0) != (71 | 0) & 1 | 0)) { + break label$2 + } + $1605(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1606(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $57_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($57_1 + 4 | 0) >> 2] = HEAP32[($57_1 + 4 | 0) >> 2] | 0 | 134217728 | 0; + $18(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0); + $63_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + $64_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $64_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $275_1 = i64toi32_i32$0; + i64toi32_i32$0 = $63_1; + HEAP32[i64toi32_i32$0 >> 2] = $275_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $65_1 = 48; + HEAP32[(i64toi32_i32$0 + $65_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $65_1 | 0) >> 2] | 0; + $69_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $69_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $295_1 = i64toi32_i32$1; + i64toi32_i32$1 = $63_1 + $69_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $295_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $72_1 = 32; + i64toi32_i32$2 = $64_1 + $72_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $305_1 = i64toi32_i32$0; + i64toi32_i32$0 = $63_1 + $72_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $305_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $75_1 = 24; + i64toi32_i32$2 = $64_1 + $75_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $315_1 = i64toi32_i32$1; + i64toi32_i32$1 = $63_1 + $75_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $315_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $78_1 = 16; + i64toi32_i32$2 = $64_1 + $78_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $325_1 = i64toi32_i32$0; + i64toi32_i32$0 = $63_1 + $78_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $325_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $81_1 = 8; + i64toi32_i32$2 = $64_1 + $81_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $335_1 = i64toi32_i32$1; + i64toi32_i32$1 = $63_1 + $81_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $335_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$4 : { + if ((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1024 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $99_1 = $291(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = $99_1; + $101_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($101_1 + 4 | 0) >> 2] = HEAP32[($101_1 + 4 | 0) >> 2] | 0 | 65536 | 0; + } + label$5 : { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + break label$6; + } + } + } + $13(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0); + } + $122_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($122_1 + 4 | 0) >> 2] = HEAP32[($122_1 + 4 | 0) >> 2] | 0 | 4194304 | 0; + global$0 = $8_1 + 48 | 0; + return; + } + + function $1600($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $4_1 = 0, i64toi32_i32$3 = 0, $38$hi = 0, $44$hi = 0, $50$hi = 0, $39$hi = 0, $40$hi = 0, $42$hi = 0, $45$hi = 0, $46$hi = 0, $48$hi = 0, $51$hi = 0, $52$hi = 0, $54$hi = 0, $35_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 65536 | 0)) { + break label$3 + } + label$4 : { + if (!($783(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $38$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $39$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $40$hi = i64toi32_i32$1; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $40$hi; + i64toi32_i32$3 = 1073741824; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $42$hi = i64toi32_i32$0; + i64toi32_i32$0 = $38$hi; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$0 = $38$hi; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $38$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$1 = 0; + $44$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $45$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $46$hi = i64toi32_i32$0; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$2 = 536870912; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $44$hi; + i64toi32_i32$2 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = ((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0; + break label$1; + } + i64toi32_i32$0 = 0; + $50$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $52$hi = i64toi32_i32$1; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$3 = 1073741824; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $54$hi = i64toi32_i32$0; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$3 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = ((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0; + } + $35_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $35_1 | 0; + } + + function $1601($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $6_1 = 0, $29_1 = 0, $54_1 = 0, $54$hi = 0, $55$hi = 0, $39_1 = 0, $56$hi = 0, $19_1 = 0, $57$hi = 0, $58$hi = 0, $61$hi = 0, $62$hi = 0, $20_1 = 0; + $3_1 = global$0 - 32 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $0_1; + $6_1 = 16; + HEAP32[($3_1 + 16 | 0) >> 2] = ((HEAPU16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $6_1 | 0) >> $6_1 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$2 + } + if (!(((HEAPU16[(((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 16 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$2 + } + $29_1 = 16; + label$3 : { + label$4 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $29_1 | 0) >> $29_1 | 0 | 0) >= (64 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = -1; + $54_1 = -1; + $54$hi = i64toi32_i32$0; + break label$3; + } + i64toi32_i32$0 = 0; + $55$hi = i64toi32_i32$0; + $39_1 = 16; + i64toi32_i32$0 = 0; + $56$hi = i64toi32_i32$0; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$3 = ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $39_1 | 0) >> $39_1 | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $19_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $57$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $58$hi = i64toi32_i32$1; + i64toi32_i32$1 = $57$hi; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$1 = $57$hi; + i64toi32_i32$0 = $19_1; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $54_1 = i64toi32_i32$4; + $54$hi = i64toi32_i32$5; + } + i64toi32_i32$5 = $54$hi; + i64toi32_i32$0 = $3_1; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $54_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$5; + break label$1; + } + label$5 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) >= (64 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 16 | 0) >> 2] = 63; + } + i64toi32_i32$5 = 0; + $61$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $62$hi = i64toi32_i32$5; + i64toi32_i32$5 = $61$hi; + i64toi32_i32$5 = $62$hi; + i64toi32_i32$5 = $61$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$3 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $20_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $20_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $20_1; + HEAP32[($3_1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $1602($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $78_1 = 0, $104_1 = 0, $116_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (77 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0; + break label$4; + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 72) | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 72) | 0) + 16 | 0) >> 2] | 0; + break label$6; + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + $78_1 = 16; + HEAP32[($6_1 + 8 | 0) >> 2] = ((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $78_1 | 0) >> $78_1 | 0; + label$9 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + break label$1; + } + label$10 : { + label$11 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 8 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + break label$10; + } + $104_1 = 16; + label$12 : { + label$13 : { + if (!((((HEAPU16[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $104_1 | 0) >> $104_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$13 + } + $116_1 = 16; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $116_1 | 0) >> $116_1 | 0, 20) | 0) >> 2] | 0; + break label$12; + } + HEAP32[($6_1 + 20 | 0) >> 2] = 28572; + } + } + if (!((2 | 0) == ($1607(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 0] = 119; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $1603($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (2147483647 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!(HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + } + return 0 | 0; + } + + function $1604($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $38_1 = 0, $74_1 = 0, $87_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0) { + break label$2 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (166 | 0) & 1 | 0)) { + break label$1 + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $38_1 = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + break label$3; + } + $38_1 = 0; + } + HEAP32[($4_1 + 8 | 0) >> 2] = $38_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 72) | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + break label$5; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $74_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($74_1 + 8 | 0) >> 2] = (HEAP32[($74_1 + 8 | 0) >> 2] | 0) + 1 | 0; + break label$8; + } + label$10 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $87_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($87_1 + 12 | 0) >> 2] = (HEAP32[($87_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + } + } + return 0 | 0; + } + + function $1605($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $14_1 = 0, i64toi32_i32$0 = 0, $27_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $14_1 = $4_1 + 8 | 0; + i64toi32_i32$0 = 0; + $27_1 = 0; + i64toi32_i32$1 = $14_1; + HEAP32[i64toi32_i32$1 >> 2] = $27_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $27_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $14_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $27_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = 59; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + $1547($14_1 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $4_1 + 48 | 0; + return; + } + + function $1606($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, $13_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $8_1 = $5_1 + 8 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + $1324($8_1 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + $13_1 = $1236(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $8_1 | 0, 0 | 0) | 0; + global$0 = $5_1 + 32 | 0; + return $13_1 | 0; + } + + function $1607($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $45_1 = 0, $60_1 = 0, $66_1 = 0, $81_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 60 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 332 | 0) >> 2] | 0, 20, HEAP32[($6_1 + 68 | 0) >> 2] | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + $45_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = $45_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(28578 | 0, $6_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if ((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (2 | 0) & 1 | 0) { + break label$6 + } + if (!(HEAP32[($6_1 + 60 | 0) >> 2] | 0)) { + break label$5 + } + } + $60_1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $60_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(28584 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + $66_1 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $349($66_1 | 0, 28590 | 0, $6_1 | 0); + HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] = 23; + break label$3; + } + label$7 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$7 + } + if (!(HEAP32[($6_1 + 48 | 0) >> 2] | 0)) { + break label$7 + } + $1578(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + } + $81_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $81_1 | 0; + } + + function $1608($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (165 | 0) & 1 | 0)) { + break label$1 + } + $17_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[($17_1 + 2 | 0) >> 0] = ((HEAPU8[($17_1 + 2 | 0) >> 0] | 0) & 255 | 0) + (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + } + return 0 | 0; + } + + function $1609($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = 60; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 61; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + $1549($4_1 + 8 | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 63; + HEAP32[($4_1 + 20 | 0) >> 2] = 62; + HEAP16[($4_1 + 28 | 0) >> 1] = 0; + $1549($4_1 + 8 | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 48 | 0; + return; + } + + function $1610($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 42; + HEAP32[($4_1 + 20 | 0) >> 2] = 64; + HEAP32[($4_1 + 12 | 0) >> 2] = 60; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $1549($4_1 + 8 | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 48 | 0; + return; + } + + function $1611($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $56_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (59 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (((HEAPU8[(((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 13 | 0) >> 0] | 0) & 3 | 0) & 255 | 0) { + break label$5 + } + if ($87(HEAP32[((((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $56_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $56_1 | 0; + } + + function $1612($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $24_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1024 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + $24_1 = (HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) + -170 | 0; + label$4 : { + label$5 : { + switch ($24_1 | 0) { + case 1: + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1612(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$4; + case 0: + label$8 : { + if (!($1612(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $4_1 + 12 | 0 | 0) | 0)) { + break label$8 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 0 - (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + } + break label$4; + default: + break label$5; + }; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $42_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $42_1 | 0; + } + + function $1613($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $8_1 = 0, $9_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + $7_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $8_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $9_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $9_1; + HEAP32[$6_1 >> 2] = $8_1; + $349($7_1 | 0, 29717 | 0, $6_1 | 0); + global$0 = $6_1 + 32 | 0; + return; + } + + function $1614($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $15_1 = 0, i64toi32_i32$0 = 0, $28_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $15_1 = $4_1 + 8 | 0; + i64toi32_i32$0 = 0; + $28_1 = 0; + i64toi32_i32$1 = $15_1; + HEAP32[i64toi32_i32$1 >> 2] = $28_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $28_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $15_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $28_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = 65; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $1547($15_1 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $4_1 + 48 | 0; + return; + } + + function $1615($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $41_1 = 0, $107_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if ((HEAPU8[((HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if (!((HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $41_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $349($41_1 | 0, 29773 | 0, $6_1 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) > (HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $1613(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + $1599(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0 | 0, HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0); + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0; + continue label$6; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $107_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $107_1 | 0; + } + + function $1616($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -133 | 0; + label$1 : { + label$2 : { + switch ($6_1 | 0) { + case 0: + HEAP32[($3_1 + 8 | 0) >> 2] = 29932; + break label$1; + case 2: + HEAP32[($3_1 + 8 | 0) >> 2] = 29942; + break label$1; + case 1: + HEAP32[($3_1 + 8 | 0) >> 2] = 29952; + break label$1; + default: + break label$2; + }; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 29959; + } + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $1617($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $85_1 = 0, $11_1 = 0, $82_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + $11_1 = $5_1 + 24 | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $85_1 = 0; + i64toi32_i32$1 = $11_1; + HEAP32[i64toi32_i32$1 >> 2] = $85_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $85_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $11_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $85_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $11_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $85_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = 129; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[($5_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 85 | 0) >> 0] | 0; + label$1 : { + if (((HEAPU8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$1 + } + HEAP8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 85 | 0) >> 0] = 1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1404($5_1 + 24 | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 85 | 0) >> 0] = HEAPU8[($5_1 + 15 | 0) >> 0] | 0; + label$2 : { + label$3 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 76 | 0) >> 2] = 0; + break label$2; + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!(($1529(0 | 0, HEAP32[(((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 60 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, -1 | 0) | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 1 | 0; + break label$2; + } + HEAP32[($5_1 + 60 | 0) >> 2] = (HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($5_1 + 76 | 0) >> 2] = 0; + } + $82_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + global$0 = $5_1 + 80 | 0; + return $82_1 | 0; + } + + function $1618($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return 0 | 0; + } + + function $1619($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $140_1 = 0, $128_1 = 0, i64toi32_i32$0 = 0, $32_1 = 0, $44_1 = 0, $162_1 = 0, $166_1 = 0, $151_1 = 0, $174_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + label$4 : while (1) { + $32_1 = 0; + label$5 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $44_1 = 1; + label$6 : { + if (((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (133 | 0) & 1 | 0) { + break label$6 + } + $44_1 = ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0); + } + $32_1 = $44_1; + } + label$7 : { + if (!($32_1 & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$4; + } + break label$4; + }; + label$8 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 4 | 0; + label$9 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[(HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$10 + } + label$12 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0)) { + break label$12 + } + break label$10; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + -1 | 0; + continue label$11; + }; + } + label$13 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $308(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 76 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 2; + break label$1; + } + $128_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[$4_1 >> 2] = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1212(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $128_1 | 0, $128_1 | 0, $128_1 | 0, $4_1 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $128_1 | 0, $128_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == ($128_1 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 2; + break label$1; + } + $140_1 = 0; + $3288(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, 76 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $151_1 = $1214(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $140_1 | 0, $1217(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 177 | 0, $140_1 | 0) | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] = $151_1; + HEAP8[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 0] = 136; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] = $140_1; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] = $140_1; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] = $140_1; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] = $140_1; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 2] = $140_1; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 56 | 0) >> 2] = $140_1; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 64 | 0) >> 2] = $140_1; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 72 | 0) >> 2] = $140_1; + $162_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($162_1 + 4 | 0) >> 2] = (HEAP32[($162_1 + 4 | 0) >> 2] | 0) & -257 | 0; + $166_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($166_1 + 4 | 0) >> 2] = HEAP32[($166_1 + 4 | 0) >> 2] | 0 | 65536 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] = $140_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $140_1; + } + $174_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $174_1 | 0; + } + + function $1620($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = HEAP32[(($1632(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 268 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0; + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1621($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $417_1 = 0, $841$hi = 0, $847$hi = 0, $13_1 = 0, $43_1 = 0, $46_1 = 0, $110_1 = 0, $113_1 = 0, $137_1 = 0, $842$hi = 0, $843$hi = 0, $845$hi = 0, $848$hi = 0, $849$hi = 0, $851$hi = 0, $336_1 = 0, $421_1 = 0, $434_1 = 0, $437_1 = 0, $458_1 = 0, $483_1 = 0, $519_1 = 0, $547_1 = 0, $554_1 = 0, $583_1 = 0, $630_1 = 0, $696_1 = 0, $699_1 = 0, $768_1 = 0, $833_1 = 0, $130_1 = 0, $175_1 = 0, $215_1 = 0, $227_1 = 0, $687_1 = 0, $688_1 = 0, $757_1 = 0, $759_1 = 0, $760_1 = 0, $761_1 = 0, $766_1 = 0, $793_1 = 0, $838_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 240 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 232 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 228 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 224 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 232 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 196 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 224 | 0) >> 2] | 0) >> 2] | 0; + HEAP16[($4_1 + 182 | 0) >> 1] = HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 176 | 0) >> 2] = 0; + $13_1 = HEAP32[($4_1 + 228 | 0) >> 2] | 0; + HEAP32[($13_1 + 4 | 0) >> 2] = HEAP32[($13_1 + 4 | 0) >> 2] | 0 | 64 | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + label$3 : { + if (!(((HEAPU16[($4_1 + 182 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0)) { + break label$3 + } + HEAP32[($4_1 + 236 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$4 + } + $43_1 = HEAP32[($4_1 + 224 | 0) >> 2] | 0; + $46_1 = (HEAP32[($43_1 + 100 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($43_1 + 100 | 0) >> 2] = $46_1; + HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 16 | 0) >> 2] = $46_1; + } + HEAP32[($4_1 + 208 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 204 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $1269(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0); + $1624(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 208 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 220 | 0) >> 2] = 0; + HEAP32[($4_1 + 200 | 0) >> 2] = (HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 8 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 220 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 208 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + break label$7; + } + label$9 : { + if (!($1625(HEAP32[($4_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 200 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + break label$10; + } + label$12 : { + label$13 : { + if (!((HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($4_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$14 : { + if (!($1549(HEAP32[($4_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0) | 0)) { + break label$14 + } + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + label$15 : { + if (!($1626(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 200 | 0) >> 2] | 0 | 0) | 0)) { + break label$15 + } + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + break label$12; + } + $110_1 = 0; + $113_1 = $1323(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, $110_1 | 0, HEAP32[($4_1 + 200 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 172 | 0) >> 2] = $113_1; + HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 16 | 0) >> 2] = $113_1; + label$16 : { + if (!((HEAP32[($4_1 + 172 | 0) >> 2] | 0 | 0) == ($110_1 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + label$17 : { + if (!((HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >>> 0 >= 65535 >>> 0 & 1 | 0)) { + break label$17 + } + $130_1 = HEAP32[($4_1 + 224 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 172 | 0) >> 2] | 0) >> 2] | 0; + $349($130_1 | 0, 29078 | 0, $4_1 | 0); + HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + $137_1 = HEAP32[($4_1 + 172 | 0) >> 2] | 0; + HEAP32[($137_1 + 32 | 0) >> 2] = (HEAP32[($137_1 + 32 | 0) >> 2] | 0) + 1 | 0; + label$18 : { + if (HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$18 + } + if (!($1627(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 200 | 0) >> 2] | 0 | 0) | 0)) { + break label$18 + } + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + label$19 : { + label$20 : { + if (HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$20 + } + if (!((HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + } + HEAP8[($4_1 + 165 | 0) >> 0] = HEAPU16[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0; + label$21 : { + if (!($1332(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 172 | 0) >> 2] | 0 | 0) | 0)) { + break label$21 + } + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + label$22 : { + if (!((HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + i64toi32_i32$0 = 0; + $841$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 196 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $842$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $843$hi = i64toi32_i32$1; + i64toi32_i32$1 = $842$hi; + i64toi32_i32$1 = $843$hi; + i64toi32_i32$1 = $842$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $843$hi; + i64toi32_i32$3 = -2147483648; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $845$hi = i64toi32_i32$0; + i64toi32_i32$0 = $841$hi; + i64toi32_i32$0 = $845$hi; + i64toi32_i32$0 = $841$hi; + i64toi32_i32$0 = $845$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $841$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$22 + } + $175_1 = HEAP32[($4_1 + 224 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 172 | 0) >> 2] | 0) >> 2] | 0; + $349($175_1 | 0, 29117 | 0, $4_1 + 32 | 0 | 0); + } + label$23 : { + if (!(HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$23 + } + if (!((((HEAPU8[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 6 | 0) & 1 | 0) & 255 | 0)) { + break label$23 + } + if (!((HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + i64toi32_i32$1 = 0; + $847$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($4_1 + 196 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $848$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $849$hi = i64toi32_i32$0; + i64toi32_i32$0 = $848$hi; + i64toi32_i32$0 = $849$hi; + i64toi32_i32$0 = $848$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $849$hi; + i64toi32_i32$2 = 128; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $851$hi = i64toi32_i32$1; + i64toi32_i32$1 = $847$hi; + i64toi32_i32$1 = $851$hi; + i64toi32_i32$1 = $847$hi; + i64toi32_i32$1 = $851$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $847$hi; + i64toi32_i32$2 = 0; + if (!(((HEAPU8[((HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) > (((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$23 + } + $215_1 = HEAP32[($4_1 + 224 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 172 | 0) >> 2] | 0) >> 2] | 0; + $349($215_1 | 0, 29148 | 0, $4_1 + 16 | 0 | 0); + } + $227_1 = $1338(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 20 | 0) >> 2] = $227_1; + HEAP16[($4_1 + 166 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + HEAP16[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 42 | 0) >> 1] = 65535; + HEAP16[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 20 | 0) >> 1] = 1; + $1549(HEAP32[($4_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP16[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 20 | 0) >> 1] = (HEAPU8[($4_1 + 165 | 0) >> 0] | 0) & 255 | 0; + HEAP16[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 42 | 0) >> 1] = HEAPU16[($4_1 + 166 | 0) >> 1] | 0; + } + } + } + label$24 : { + if (!($1628(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 200 | 0) >> 2] | 0 | 0) | 0)) { + break label$24 + } + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + } + HEAP32[($4_1 + 220 | 0) >> 2] = (HEAP32[($4_1 + 220 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 200 | 0) >> 2] = (HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 72 | 0; + continue label$6; + }; + } + label$25 : { + label$26 : { + if (HEAP32[((HEAP32[($4_1 + 224 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$26 + } + if ((HEAPU8[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$26 + } + if (!($1629(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 228 | 0) >> 2] | 0 | 0) | 0)) { + break label$25 + } + } + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 212 | 0) >> 2] = 0; + label$27 : { + label$28 : while (1) { + if (!((HEAP32[($4_1 + 212 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($4_1 + 192 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 204 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 212 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$29 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 192 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (177 | 0) & 1 | 0)) { + break label$29 + } + break label$27; + } + label$30 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 192 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (139 | 0) & 1 | 0)) { + break label$30 + } + if (!(((HEAPU8[(HEAP32[((HEAP32[($4_1 + 192 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (177 | 0) & 1 | 0)) { + break label$30 + } + break label$27; + } + HEAP32[($4_1 + 176 | 0) >> 2] = HEAP32[($4_1 + 176 | 0) >> 2] | 0 | (HEAP32[((HEAP32[($4_1 + 192 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 212 | 0) >> 2] = (HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + label$31 : { + if (!((HEAP32[($4_1 + 212 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($4_1 + 160 | 0) >> 2] = (HEAP32[($4_1 + 204 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($4_1 + 156 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[(HEAP32[($4_1 + 224 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 152 | 0) >> 2] = i64toi32_i32$0; + $336_1 = 0; + label$32 : { + if (!((HEAP32[($4_1 + 152 | 0) >> 2] | 0) & 4 | 0)) { + break label$32 + } + $336_1 = ((HEAP32[($4_1 + 152 | 0) >> 2] | 0) & 64 | 0 | 0) == (0 | 0); + } + HEAP32[($4_1 + 148 | 0) >> 2] = $336_1 & 1 | 0; + HEAP32[($4_1 + 212 | 0) >> 2] = 0; + label$33 : { + label$34 : while (1) { + if (!((HEAP32[($4_1 + 212 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[($4_1 + 192 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 160 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 212 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 176 | 0) >> 2] = HEAP32[($4_1 + 176 | 0) >> 2] | 0 | (HEAP32[((HEAP32[($4_1 + 192 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 188 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 192 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$35 : { + label$36 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 192 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (177 | 0) & 1 | 0)) { + break label$36 + } + label$37 : { + if (((HEAPU8[(HEAP32[($4_1 + 192 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (139 | 0) & 1 | 0) { + break label$37 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 188 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (177 | 0) & 1 | 0)) { + break label$36 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1214(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 160 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 212 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + label$38 : { + if (!((HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$38 + } + $417_1 = 4; + $421_1 = HEAP32[($4_1 + 156 | 0) >> 2] | 0; + HEAP32[((((HEAP32[$421_1 >> 2] | 0) << $417_1 | 0) + $421_1 | 0) + -8 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 160 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 212 | 0) >> 2] | 0) << $417_1 | 0) | 0) + 4 | 0) >> 2] | 0; + $434_1 = HEAP32[($4_1 + 156 | 0) >> 2] | 0; + $437_1 = ((HEAP32[$434_1 >> 2] | 0) << $417_1 | 0) + $434_1 | 0; + HEAP8[(($437_1 + -12 | 0) + 9 | 0) >> 0] = (HEAPU8[($437_1 + -3 | 0) >> 0] | 0) & -4 | 0 | ((HEAPU8[(((HEAP32[($4_1 + 160 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 212 | 0) >> 2] | 0) << $417_1 | 0) | 0) + 9 | 0) >> 0] | 0) & 3 | 0) | 0; + HEAP32[(((HEAP32[($4_1 + 160 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 212 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] = 0; + } + HEAP32[((HEAP32[($4_1 + 160 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 212 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = 0; + break label$35; + } + $458_1 = 0; + HEAP32[($4_1 + 144 | 0) >> 2] = $458_1; + HEAP32[($4_1 + 140 | 0) >> 2] = $458_1; + label$39 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 192 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (139 | 0) & 1 | 0)) { + break label$39 + } + HEAP32[($4_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 192 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 220 | 0) >> 2] = 0; + HEAP32[($4_1 + 200 | 0) >> 2] = (HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 8 | 0; + label$40 : { + label$41 : while (1) { + if (!((HEAP32[($4_1 + 220 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 208 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$40 + } + $483_1 = 0; + HEAP32[($4_1 + 136 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 132 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 128 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 124 | 0) >> 2] = $483_1; + label$42 : { + if (!((HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) == ($483_1 | 0) & 1 | 0)) { + break label$42 + } + HEAP32[($4_1 + 128 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 136 | 0) >> 2] | 0) >> 2] | 0; + } + label$43 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$43 + } + break label$40; + } + label$44 : { + label$45 : { + label$46 : { + if ((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$46 + } + if ((HEAP32[((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0) { + break label$45 + } + } + $519_1 = 0; + HEAP32[($4_1 + 132 | 0) >> 2] = $519_1; + label$47 : { + if (!((HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) != ($519_1 | 0) & 1 | 0)) { + break label$47 + } + if (!($88(HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) | 0)) { + break label$47 + } + break label$44; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $350(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 136 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + label$48 : { + label$49 : { + if (!((HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$49 + } + $547_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 120 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + break label$48; + } + $547_1 = 29181; + } + HEAP32[($4_1 + 124 | 0) >> 2] = $547_1; + } + HEAP32[($4_1 + 216 | 0) >> 2] = 0; + label$50 : { + label$51 : while (1) { + $554_1 = 16; + if (!((HEAP32[($4_1 + 216 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 136 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $554_1 | 0) >> $554_1 | 0 | 0) & 1 | 0)) { + break label$50 + } + HEAP32[($4_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 216 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + label$52 : { + label$53 : { + if (!((HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$53 + } + if (!((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$53 + } + $583_1 = 0; + if ($1597(((HEAP32[((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 216 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, $583_1 | 0, HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0, $583_1 | 0) | 0) { + break label$53 + } + break label$52; + } + label$54 : { + if ((HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 131072 | 0) { + break label$54 + } + if (!(((HEAPU16[(((HEAP32[((HEAP32[($4_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 216 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$54 + } + break label$52; + } + HEAP32[($4_1 + 144 | 0) >> 2] = 1; + label$55 : { + if (!((HEAP32[($4_1 + 220 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$55 + } + if (!((HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$55 + } + label$56 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$56 + } + $630_1 = 0; + if (!($1630(HEAP32[($4_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 220 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0, $630_1 | 0, $630_1 | 0, 1 | 0) | 0)) { + break label$56 + } + break label$52; + } + label$57 : { + if (!(($1631(HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$57 + } + break label$52; + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1217(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0, 59 | 0, HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 112 | 0) >> 2] = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + HEAP32[($4_1 + 108 | 0) >> 2] = 0; + label$58 : { + label$59 : { + label$60 : { + if (HEAP32[($4_1 + 148 | 0) >> 2] | 0) { + break label$60 + } + if (!((HEAP32[(HEAP32[($4_1 + 208 | 0) >> 2] | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$59 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1217(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0, 59 | 0, HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1197(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + label$61 : { + if (!((HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$61 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1217(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0, 59 | 0, HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1197(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 184 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + } + label$62 : { + if (!(HEAP32[($4_1 + 148 | 0) >> 2] | 0)) { + break label$62 + } + $687_1 = HEAP32[($4_1 + 196 | 0) >> 2] | 0; + $688_1 = HEAP32[($4_1 + 128 | 0) >> 2] | 0; + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + HEAP32[($4_1 + 80 | 0) >> 2] = $688_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $351($687_1 | 0, 28578 | 0, $4_1 + 80 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + } + break label$58; + } + HEAP32[($4_1 + 184 | 0) >> 2] = HEAP32[($4_1 + 188 | 0) >> 2] | 0; + } + $696_1 = 0; + $699_1 = $4_1 + 96 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1214(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 184 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + $1324($699_1 | 0, HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0); + $1215(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0, $699_1 | 0, $696_1 | 0); + label$63 : { + if (!((HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) != ($696_1 | 0) & 1 | 0)) { + break label$63 + } + if (!((HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$63 + } + if (((HEAPU8[((HEAP32[($4_1 + 224 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$63 + } + HEAP32[($4_1 + 88 | 0) >> 2] = ((HEAP32[($4_1 + 156 | 0) >> 2] | 0) + 4 | 0) + (((HEAP32[(HEAP32[($4_1 + 156 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0; + $13(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + label$64 : { + label$65 : { + if (!((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$65 + } + $757_1 = $291(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 216 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] = $757_1; + break label$64; + } + $759_1 = HEAP32[($4_1 + 196 | 0) >> 2] | 0; + $760_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + $761_1 = HEAP32[($4_1 + 128 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $761_1; + HEAP32[($4_1 + 64 | 0) >> 2] = $760_1; + $766_1 = $351($759_1 | 0, 29183 | 0, $4_1 + 64 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] = $766_1; + } + $768_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP8[($768_1 + 9 | 0) >> 0] = (HEAPU8[($768_1 + 9 | 0) >> 0] | 0) & -4 | 0 | 2 | 0; + } + $13(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 216 | 0) >> 2] = (HEAP32[($4_1 + 216 | 0) >> 2] | 0) + 1 | 0; + continue label$51; + }; + } + } + HEAP32[($4_1 + 220 | 0) >> 2] = (HEAP32[($4_1 + 220 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 200 | 0) >> 2] = (HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 72 | 0; + continue label$41; + }; + } + label$66 : { + if (HEAP32[($4_1 + 144 | 0) >> 2] | 0) { + break label$66 + } + label$67 : { + label$68 : { + if (!((HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$68 + } + $793_1 = HEAP32[($4_1 + 224 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[($4_1 + 140 | 0) >> 2] | 0; + $349($793_1 | 0, 29192 | 0, $4_1 + 48 | 0 | 0); + break label$67; + } + $349(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, 29210 | 0, 0 | 0); + } + } + } + HEAP32[($4_1 + 212 | 0) >> 2] = (HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 1 | 0; + continue label$34; + }; + } + $382(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($4_1 + 156 | 0) >> 2] | 0; + } + label$69 : { + if (!((HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$69 + } + label$70 : { + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$70 + } + $349(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, 29230 | 0, 0 | 0); + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + label$71 : { + if (!((HEAP32[($4_1 + 176 | 0) >> 2] | 0) & 2097156 | 0)) { + break label$71 + } + $833_1 = HEAP32[($4_1 + 228 | 0) >> 2] | 0; + HEAP32[($833_1 + 4 | 0) >> 2] = HEAP32[($833_1 + 4 | 0) >> 2] | 0 | 262144 | 0; + } + } + HEAP32[($4_1 + 236 | 0) >> 2] = 0; + } + $838_1 = HEAP32[($4_1 + 236 | 0) >> 2] | 0; + global$0 = $4_1 + 240 | 0; + return $838_1 | 0; + } + + function $1622($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, $58_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 128 | 0)) { + break label$2 + } + break label$1; + } + $10_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($10_1 + 4 | 0) >> 2] = HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 128 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0; + label$3 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 2 | 0)) { + break label$4 + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : while (1) { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$7; + }; + } + $58_1 = 24; + $1583(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, (64 << $58_1 | 0) >> $58_1 | 0 | 0); + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 72 | 0; + continue label$3; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1623($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return 0 | 0; + } + + function $1624($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $33_1 = 0, $34_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + $33_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $34_1 = HEAP32[($33_1 + 40 | 0) >> 2] | 0; + HEAP32[($33_1 + 40 | 0) >> 2] = $34_1 + 1 | 0; + HEAP32[((HEAP32[$4_1 >> 2] | 0) + 40 | 0) >> 2] = $34_1; + label$6 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $1624(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 72 | 0; + continue label$3; + }; + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1625($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $47_1 = 0, $69_1 = 0, $91_1 = 0, $101_1 = 0, $115_1 = 0, $177_1 = 0, $181_1 = 0, $199_1 = 0, $209_1 = 0, $210_1 = 0, $35_1 = 0, $37_1 = 0, i64toi32_i32$0 = 0, $65_1 = 0, $76_1 = 0, $191_1 = 0, $283_1 = 0, $285_1 = 0, $287_1 = 0, $323_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 112 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 112 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1633(HEAP32[((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 268 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0, $4_1 + 100 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 68 | 0) >> 2] = -1; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $35_1 = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + $37_1 = HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + $349($35_1 | 0, $37_1 | 0, $4_1 | 0); + HEAP32[($4_1 + 124 | 0) >> 2] = 1; + break label$1; + } + label$5 : { + if (!($1627(HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$0 = 0; + $47_1 = $308(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, 80 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($4_1 + 96 | 0) >> 2] = $47_1; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] = $47_1; + label$6 : { + if (!((HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 2; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + $65_1 = $291(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 96 | 0) >> 2] | 0) >> 2] = $65_1; + HEAP16[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 40 | 0) >> 1] = 65535; + HEAP16[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 46 | 0) >> 1] = 200; + $69_1 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + HEAP32[($69_1 + 36 | 0) >> 2] = HEAP32[($69_1 + 36 | 0) >> 2] | 0 | 514 | 0; + $76_1 = $1338(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 20 | 0) >> 2] = $76_1; + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 7; + break label$1; + } + $91_1 = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 88 | 0) >> 2] = $91_1; + HEAP32[($4_1 + 80 | 0) >> 2] = $91_1; + $101_1 = 1; + label$8 : { + if (((HEAPU8[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (133 | 0) & 1 | 0) { + break label$8 + } + $101_1 = ((HEAPU8[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (132 | 0); + } + HEAP32[($4_1 + 76 | 0) >> 2] = $101_1 & 1 | 0; + label$9 : while (1) { + $115_1 = 0; + label$10 : { + if (!(HEAP32[($4_1 + 76 | 0) >> 2] | 0)) { + break label$10 + } + $115_1 = ((HEAPU8[(HEAP32[($4_1 + 80 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0); + } + label$11 : { + if (!($115_1 & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 56 | 0) >> 2] = ((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 64 | 0) >> 2] | 0, 72) | 0; + label$14 : { + if (!((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + if (!((0 | 0) == ($88(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + $177_1 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + HEAP32[($177_1 + 32 | 0) >> 2] = (HEAP32[($177_1 + 32 | 0) >> 2] | 0) + 1 | 0; + $181_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP8[($181_1 + 37 | 0) >> 0] = HEAPU8[($181_1 + 37 | 0) >> 0] | 0 | 32 | 0; + label$15 : { + if (!((HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0)) { + break label$15 + } + $191_1 = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + $349($191_1 | 0, 29261 | 0, $4_1 + 16 | 0 | 0); + HEAP32[($4_1 + 124 | 0) >> 2] = 1; + break label$1; + } + $199_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + HEAP32[($199_1 + 4 | 0) >> 2] = HEAP32[($199_1 + 4 | 0) >> 2] | 0 | 8192 | 0; + label$16 : { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$16 + } + $209_1 = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + $210_1 = HEAP32[($209_1 + 40 | 0) >> 2] | 0; + HEAP32[($209_1 + 40 | 0) >> 2] = $210_1 + 1 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $210_1; + } + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + label$17 : { + if ((HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0) { + break label$17 + } + break label$11; + } + HEAP32[($4_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$9; + } + break label$9; + }; + HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] = 29304; + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 268 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 268 | 0) >> 2] = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!((HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0)) { + break label$19 + } + HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + $1549(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 64 | 0) >> 2] = 0; + break label$18; + } + $1549(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 268 | 0) >> 2] = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$21; + }; + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$22 : { + if (!((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + if (!((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + if (!((HEAP32[(HEAP32[($4_1 + 92 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[(HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + $283_1 = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + $285_1 = HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + $287_1 = HEAP32[(HEAP32[($4_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = $287_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $285_1; + $349($283_1 | 0, 29327 | 0, $4_1 + 32 | 0 | 0); + HEAP32[((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 268 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 124 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + $1582(HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 42 | 0 | 0, (HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + label$24 : { + if (!(HEAP32[($4_1 + 76 | 0) >> 2] | 0)) { + break label$24 + } + label$25 : { + label$26 : { + if (!((HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0)) { + break label$26 + } + HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] = 29365; + break label$25; + } + HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] = 29399; + } + $1549(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + HEAP32[((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 268 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 124 | 0) >> 2] = 0; + } + $323_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + global$0 = $4_1 + 128 | 0; + return $323_1 | 0; + } + + function $1626($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, $67_1 = 0, i64toi32_i32$0 = 0, $33_1 = 0, $36_1 = 0, $40_1 = 0, $74_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $10_1 = $308(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, 80 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $10_1; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $33_1 = $291(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = $33_1; + break label$3; + } + $36_1 = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $40_1 = $351($36_1 | 0, 29465 | 0, $4_1 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = $40_1; + } + label$5 : { + label$6 : while (1) { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$6; + }; + } + $1582(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 42 | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] = 65535; + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 46 | 0) >> 1] = 200; + $67_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($67_1 + 36 | 0) >> 2] = HEAP32[($67_1 + 36 | 0) >> 2] | 0 | 2 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 ? 1 : 0; + } + $74_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $74_1 | 0; + } + + function $1627($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $21_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0)) { + break label$2 + } + $15_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $349($15_1 | 0, 29477 | 0, $4_1 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $21_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $21_1 | 0; + } + + function $1628($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $36_1 = 0, $57_1 = 0, $58_1 = 0, $67_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = 1; + if (!((((HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> $17_1 | 0) & $17_1 | 0) & 255 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : while (1) { + $36_1 = 0; + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $36_1 = ($88(HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + label$5 : { + if (!($36_1 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + label$6 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + $57_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $58_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = $58_1; + $349($57_1 | 0, 29530 | 0, $4_1 | 0); + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $67_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $67_1 | 0; + } + + function $1629($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $83_1 = 0, $75_1 = 0, $176_1 = 0, $228_1 = 0, $259_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 96 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 72 | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) < ((HEAP32[(HEAP32[($4_1 + 80 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$4 : { + label$5 : { + label$6 : { + if ((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + } + break label$4; + } + HEAP32[($4_1 + 56 | 0) >> 2] = (((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 32 | 0 | 0) != (0 | 0) & 1 | 0; + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if ((HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + if (!((HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + } + $75_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = 0; + $349($75_1 | 0, 29548 | 0, $4_1 | 0); + HEAP32[($4_1 + 92 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 72 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + $83_1 = 16; + if (!((HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $83_1 | 0) >> $83_1 | 0 | 0) & 1 | 0)) { + break label$10 + } + label$12 : { + label$13 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 72 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$13 + } + break label$12; + } + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 72 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + label$14 : { + if (!($1630(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0, $4_1 + 44 | 0 | 0, 1 | 0) | 0)) { + break label$14 + } + $1635(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 36 | 0 | 0); + } + } + HEAP32[($4_1 + 72 | 0) >> 2] = (HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + } + label$15 : { + if (!((HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + if (!((HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $349(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, 29598 | 0, 0 | 0); + HEAP32[($4_1 + 92 | 0) >> 2] = 1; + break label$1; + } + label$16 : { + if (!((HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + if (!(HEAP32[($4_1 + 56 | 0) >> 2] | 0)) { + break label$17 + } + $1636(HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + } + $176_1 = $1240(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 36 | 0) >> 2] = $176_1; + HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + } + label$18 : { + if (!((HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($4_1 + 72 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1637(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + label$22 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$22 + } + if ($1630(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, $4_1 + 32 | 0 | 0, $4_1 + 28 | 0 | 0, 0 | 0) | 0) { + break label$21 + } + } + $228_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $349($228_1 | 0, 29653 | 0, $4_1 + 16 | 0 | 0); + HEAP32[($4_1 + 92 | 0) >> 2] = 1; + break label$1; + } + $1635(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 36 | 0 | 0); + HEAP32[($4_1 + 72 | 0) >> 2] = (HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + } + } + HEAP32[($4_1 + 76 | 0) >> 2] = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 72 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 72 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 92 | 0) >> 2] = 0; + } + $259_1 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + global$0 = $4_1 + 96 | 0; + return $259_1 | 0; + } + + function $1630($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1637(HEAP32[((((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($8_1 + 16 | 0) >> 2] | 0, 72) | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(HEAP32[($8_1 + 20 | 0) >> 2] | 0)) { + break label$5 + } + if ((((HEAPU16[(((HEAP32[((HEAP32[((((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($8_1 + 16 | 0) >> 2] | 0, 72) | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 12 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + } + label$6 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($8_1 + 44 | 0) >> 2] = 0; + } + $75_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $75_1 | 0; + } + + function $1631($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $36_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = -1; + break label$1; + } + HEAP32[$4_1 >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if ($88(HEAP32[((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = -1; + } + $36_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $36_1 | 0; + } + + function $1632($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + continue label$2; + }; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1633($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0, $64_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $16_1; + if (!(($16_1 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if ($88(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0; + break label$1; + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$4; + }; + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $64_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $64_1 | 0; + } + + function $1634($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $37_1 = 0, $55_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!(HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$3 + } + if (!(($1056(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $362((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 340 | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if ((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0; + $37_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + $349($37_1 | 0, 10313 | 0, $4_1 + 16 | 0 | 0); + HEAP32[($4_1 + 36 | 0) >> 2] = 1; + break label$4; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1055(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $4_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($4_1 + 36 | 0) >> 2] | 0)) { + break label$6 + } + $55_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $349($55_1 | 0, 1976 | 0, $4_1 | 0); + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + $13(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + $63_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $63_1 | 0; + } + + function $1635($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $36_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 48 | 0; + global$0 = $10_1; + HEAP32[($10_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1639(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1639(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1197(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$10_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!(HEAP32[($10_1 + 20 | 0) >> 2] | 0)) { + break label$1 + } + $36_1 = HEAP32[$10_1 >> 2] | 0; + HEAP32[($36_1 + 4 | 0) >> 2] = HEAP32[($36_1 + 4 | 0) >> 2] | 0 | 1 | 0; + HEAP16[((HEAP32[$10_1 >> 2] | 0) + 36 | 0) >> 1] = HEAP32[((HEAP32[($10_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + } + $47_1 = $1240(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($10_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[$10_1 >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($10_1 + 16 | 0) >> 2] | 0) >> 2] = $47_1; + global$0 = $10_1 + 48 | 0; + return; + } + + function $1636($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($13_1 + 4 | 0) >> 2] = HEAP32[($13_1 + 4 | 0) >> 2] | 0 | 1 | 0; + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 1] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$3 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (169 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $1636(HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + $1636(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1637($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, $45_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1306(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + $13_1 = 16; + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $13_1 | 0) >> $13_1 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + if ($88(HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = -1; + } + $45_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $45_1 | 0; + } + + function $1638($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, $12_1 = 0, $15_1 = 0, $26_1 = 0, $49_1 = 0, $175_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 100 | 0) >> 2] = 0; + $7_1 = HEAPU8[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 0] | 0; + label$1 : { + label$2 : { + if (($7_1 | 0) == (136 | 0)) { + break label$2 + } + if (($7_1 | 0) != (164 | 0)) { + break label$1 + } + $12_1 = 0; + HEAP32[($4_1 + 92 | 0) >> 2] = $12_1; + HEAP32[($4_1 + 88 | 0) >> 2] = $12_1; + $15_1 = 16; + HEAP32[($4_1 + 84 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $15_1 | 0) >> $15_1 | 0; + label$3 : while (1) { + $26_1 = 0; + label$4 : { + if (!((HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $26_1 = (HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0; + } + label$5 : { + if (!($26_1 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 96 | 0) >> 2] = 0; + label$6 : while (1) { + $49_1 = 0; + label$7 : { + if (!((HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $49_1 = (HEAP32[((((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 96 | 0) >> 2] | 0, 72) | 0) + 40 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!($49_1 & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 96 | 0) >> 2] = (HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + label$9 : { + label$10 : { + if (!((HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[((((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 96 | 0) >> 2] | 0, 72) | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 88 | 0) >> 2] = HEAP32[((((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 96 | 0) >> 2] | 0, 72) | 0) + 20 | 0) >> 2] | 0; + break label$9; + } + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + continue label$3; + } + break label$3; + }; + label$11 : { + if (!((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + break label$1; + } + label$12 : { + label$13 : { + if (!((HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 84 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1638($4_1 + 48 | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + } + break label$12; + } + label$15 : { + label$16 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 100 | 0) >> 2] = 3600; + break label$15; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $503((HEAP32[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 84 | 0) >> 2] | 0, 20) | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + } + } + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1638($4_1 + 8 | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + } + $175_1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $175_1 | 0; + } + + function $1639($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $7_1 = 0, $25_1 = 0, $33_1 = 0, $64_1 = 0, $96_1 = 0, $96$hi = 0, $97$hi = 0, $74_1 = 0, $98$hi = 0, $30_1 = 0, $99$hi = 0, $100$hi = 0, $87_1 = 0, $103$hi = 0, $104$hi = 0, $31_1 = 0, $105$hi = 0, $91_1 = 0, $313$hi = 0, $317_1 = 0, $92_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1218(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 164 | 0, $7_1 | 0, $7_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 8 | 0) >> 2] = ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 20 | 0) >> 2] | 0, 72) | 0; + $25_1 = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = $25_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $25_1; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $33_1 = 16; + label$2 : { + label$3 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $33_1 | 0) >> $33_1 | 0 | 0) == (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 1] = 65535; + break label$2; + } + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 1] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$5 + } + if (!(((HEAPU16[(((HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$5 + } + $64_1 = 16; + label$6 : { + label$7 : { + if (!((((HEAPU16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $64_1 | 0) >> $64_1 | 0 | 0) >= (64 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = -1; + $96_1 = -1; + $96$hi = i64toi32_i32$0; + break label$6; + } + i64toi32_i32$0 = 0; + $97$hi = i64toi32_i32$0; + $74_1 = 16; + i64toi32_i32$0 = 0; + $98$hi = i64toi32_i32$0; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = $98$hi; + i64toi32_i32$3 = ((HEAPU16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $74_1 | 0) >> $74_1 | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $30_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $30_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $99$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $100$hi = i64toi32_i32$1; + i64toi32_i32$1 = $99$hi; + i64toi32_i32$1 = $100$hi; + i64toi32_i32$1 = $99$hi; + i64toi32_i32$0 = $30_1; + i64toi32_i32$2 = $100$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $96_1 = i64toi32_i32$4; + $96$hi = i64toi32_i32$5; + } + i64toi32_i32$5 = $96$hi; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] = $96_1; + HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] = i64toi32_i32$5; + break label$4; + } + label$8 : { + label$9 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) >= (64 | 0) & 1 | 0)) { + break label$9 + } + $87_1 = 63; + break label$8; + } + $87_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + i64toi32_i32$5 = 0; + $103$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $104$hi = i64toi32_i32$5; + i64toi32_i32$5 = $103$hi; + i64toi32_i32$5 = $104$hi; + i64toi32_i32$5 = $103$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$0 = $104$hi; + i64toi32_i32$3 = $87_1; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $31_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $31_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $105$hi = i64toi32_i32$0; + $91_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = $91_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 60 | 0) >> 2] | 0; + $313$hi = i64toi32_i32$1; + i64toi32_i32$1 = $105$hi; + i64toi32_i32$1 = $313$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $105$hi; + i64toi32_i32$3 = $31_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $317_1 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + i64toi32_i32$5 = $91_1; + HEAP32[(i64toi32_i32$5 + 56 | 0) >> 2] = $317_1; + HEAP32[(i64toi32_i32$5 + 60 | 0) >> 2] = i64toi32_i32$0; + } + } + } + $92_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $92_1 | 0; + } + + function $1640($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $1142(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $1641($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $128_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2097152 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (!((HEAP32[((((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (((HEAPU8[(((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 13 | 0) >> 0] | 0) & 3 | 0) & 255 | 0) { + break label$7 + } + $1318(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $1318(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 72) | 0) + 8 | 0) >> 2] | 0 | 0); + label$11 : { + if (!($1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 72) | 0) + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + $1643(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 72) | 0) + 48 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + } + $1644(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $128_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $128_1 | 0; + } + + function $1642($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $1318(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $5_1 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return $5_1 | 0; + } + + function $1643($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $1318(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1644($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $25_1 = 0, i64toi32_i32$0 = 0, $61_1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $25_1 = $4_1 + 8 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 48 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $61_1 = 0; + i64toi32_i32$1 = $25_1; + HEAP32[i64toi32_i32$1 >> 2] = $61_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $61_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $25_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $61_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $25_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $61_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + $1341(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $25_1 | 0); + $1549(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $1340(HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 48 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $4_1 + 64 | 0; + return; + } + + function $1645($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $37_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!($1474(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $37_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $37_1 | 0; + } + + function $1646($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $64_1 = 0, $49_1 = 0, $8_1 = 0, $96_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $77($5_1 + 16 | 0 | 0, HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 | 0, $6_1 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$5_1 >> 2] = HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0; + $84($5_1 + 16 | 0 | 0, 30997 | 0, $5_1 | 0); + break label$1; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$3 + } + $49_1 = 16; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 44 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $49_1 | 0) >> $49_1 | 0, 20) | 0) >> 2] | 0; + label$5 : { + if (!(HEAP32[($5_1 + 44 | 0) >> 2] | 0)) { + break label$5 + } + $51($5_1 + 16 | 0 | 0, 31008 | 0, 2 | 0); + } + $64_1 = $5_1 + 16 | 0; + $60($64_1 | 0, HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + $51($64_1 | 0, 1365 | 0, 1 | 0); + $60($64_1 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $72($5_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $8_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $96_1 = 24; + $1522(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, ((((HEAPU8[($8_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($8_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0 ? 1555 : 2067) | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, (249 << $96_1 | 0) >> $96_1 | 0 | 0, 2 & 255 | 0 | 0); + global$0 = $5_1 + 64 | 0; + return; + } + + function $1647($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1310(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if ((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + $1390(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + } + $18(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $6_1 + 32 | 0; + return; + } + + function $1648($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $17_1 = 0, $48_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP16[($7_1 + 10 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $17_1 = 16; + label$1 : { + label$2 : { + if (!((((HEAPU16[($7_1 + 10 | 0) >> 1] | 0) << $17_1 | 0) >> $17_1 | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + $1523(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + break label$1; + } + $48_1 = 16; + $1381(HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, ((HEAPU16[($7_1 + 10 | 0) >> 1] | 0) << $48_1 | 0) >> $48_1 | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $1649($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 7 | 0) >> 0] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) - 1 | 0, 20) | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1367(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $40_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $40_1 | 0; + } + + function $1650($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $10_1 = $362((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 56 | 0 | 0, HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $10_1 | 0; + } + + function $1651($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $68_1 = 0, $84_1 = 0, $88_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + if (!((0 | 0) == ($88(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $68_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$7; + } + $68_1 = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] = $68_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + continue label$5; + }; + } + } + label$9 : { + label$10 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $84_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$9; + } + $84_1 = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = $84_1; + } + $88_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $88_1 | 0; + } + + function $1652($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$1 : while (1) { + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$3 + } + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$6 : { + label$7 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$7 + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 > (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$5; + }; + } + label$8 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$8 + } + global$0 = $4_1 + 32 | 0; + return; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $1446(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0); + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + continue label$1; + }; + } + + function $1653($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $62_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ((((HEAPU16[((HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 78 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0 | 0) == (2 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $1169(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0); + HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP16[((HEAP32[$4_1 >> 2] | 0) + 42 | 0) >> 1] = 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + continue label$4; + }; + } + $62_1 = HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP16[($62_1 + 78 | 0) >> 1] = ((HEAPU16[($62_1 + 78 | 0) >> 1] | 0) & 65535 | 0) & -3 | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1654($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + return; + } + + function $1655($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, $19_1 = 0, $7_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $7_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $19_1 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $19_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $19_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $19_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 66; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 42; + return; + } + + function $1656($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $23_1 = 0, $70_1 = 0, $106_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + label$1 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $23_1 = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + break label$2; + } + $23_1 = 0; + } + HEAP32[($6_1 + 24 | 0) >> 2] = $23_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1310(HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($6_1 + 32 | 0) >> 2] | 0)) { + break label$6 + } + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4096 | 0)) { + break label$7 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$8; + }; + } + label$9 : { + if (!($1612(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0) | 0)) { + break label$9 + } + HEAP8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] = 119; + $70_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[($70_1 + 4 | 0) >> 2] = (HEAP32[($70_1 + 4 | 0) >> 2] | 0) & -805307393 | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1214(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP8[((((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) + (((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0) << 4 | 0) | 0) + 8 | 0) >> 0] = HEAPU8[((((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + $106_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $106_1 | 0; + } + + function $1657($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $11_1 = 0, $38_1 = 0, $39_1 = 0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + $11_1 = $8_1 + 24 | 0; + HEAP32[($8_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $5_1; + i64toi32_i32$0 = 0; + $38_1 = 0; + i64toi32_i32$1 = $11_1; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $11_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $39_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[$8_1 >> 2] = $39_1; + HEAP32[($8_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 16 | 0) >> 2] = 0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $39_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$8_1 >> 2] = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[($8_1 + 4 | 0) >> 2] = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = 68; + HEAP32[($8_1 + 32 | 0) >> 2] = 67; + HEAP32[($8_1 + 48 | 0) >> 2] = $8_1; + $1550($11_1 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + global$0 = $8_1 + 80 | 0; + return; + } + + function $1658($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + -1 | 0; + return; + } + + function $1659($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $6_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + return 0 | 0; + } + + function $1660($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $26_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (165 | 0) & 1 | 0)) { + break label$1 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[($26_1 + 2 | 0) >> 0] = (HEAPU8[($26_1 + 2 | 0) >> 0] | 0) + 1 | 0; + } + return 0 | 0; + } + + function $1661($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $49_1 = 0, $70_1 = 0, $73_1 = 0, $25_1 = 0, $30_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + label$3 : while (1) { + $1712(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $1712(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $1712(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + $25_1 = $1674(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = $25_1; + $30_1 = $1674(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] = $30_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + $49_1 = 1; + $1661(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $49_1 | 0); + label$6 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 2 | 0) & $49_1 | 0) & 255 | 0)) { + break label$6 + } + $1712(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 72 | 0; + continue label$5; + }; + } + $70_1 = 0; + label$7 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$7 + } + $73_1 = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $73_1; + $70_1 = ($73_1 | 0) != (0 | 0); + } + if ($70_1 & 1 | 0) { + continue label$3 + } + break label$3; + }; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1662($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, $15_1 = 0, $31_1 = 0, $30$hi = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $15_1 = $4_1 + 8 | 0; + i64toi32_i32$0 = 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $31_1 = 0; + i64toi32_i32$1 = $15_1; + HEAP32[i64toi32_i32$1 >> 2] = $31_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $31_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $15_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $31_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = 69; + HEAP32[($4_1 + 16 | 0) >> 2] = 42; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] = i64toi32_i32$0; + $1549($15_1 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $4_1 + 48 | 0; + return; + } + + function $1663($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $62_1 = 0, $63_1 = 0, $43_1 = 0, $44_1 = 0, $73_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + HEAP32[($5_1 + 24 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0; + label$1 : { + label$2 : while (1) { + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 44 | 0) >> 2] = -1; + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0; + if (1 & 1 | 0) { + continue label$2 + } + } + break label$2; + }; + $43_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $44_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 1352 : 32068; + HEAP32[$5_1 >> 2] = $44_1; + $1352($43_1 | 0, 0 | 0, 32045 | 0, $5_1 | 0); + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $62_1 = 0; + $63_1 = 1; + $1370(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, -1 | 0, $62_1 | 0, $62_1 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, $63_1 | 0, $63_1 | 0); + label$8 : { + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$8 + } + break label$6; + } + HEAP16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 2 | 0) >> 1] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + continue label$7; + }; + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + $73_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $73_1 | 0; + } + + function $1664($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $12_1 = ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + return (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function $1665($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $31_1 = 0, $6_1 = 0, $28_1 = 0, $84_1 = 0, $85_1 = 0, $107_1 = 0, $108_1 = 0, $128_1 = 0, $131_1 = 0, $168_1 = 0, $243_1 = 0, $166_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 128 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 108 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 80 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 64 | 0) >> 2] = 8; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$2 + } + $349(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, 32070 | 0, 0 | 0); + break label$1; + } + $28_1 = 0; + label$3 : { + if (!($1283(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, 33 | 0, $28_1 | 0, $28_1 | 0, $28_1 | 0) | 0)) { + break label$3 + } + break label$1; + } + $31_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 2 | 0) >> 1] = 320; + $1359(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 60 | 0) >> 2] = $31_1; + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] = $31_1; + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] = $31_1; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $31_1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 112 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((((HEAPU8[(((HEAP32[($5_1 + 112 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 28 | 0) >> 2] | 0, 72) | 0) + 45 | 0) >> 0] | 0) >>> 5 | 0) & 1 | 0) & 255 | 0)) { + break label$6 + } + HEAP32[($5_1 + 80 | 0) >> 2] = HEAP32[((((HEAP32[($5_1 + 112 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 28 | 0) >> 2] | 0, 72) | 0) + 40 | 0) >> 2] | 0; + break label$4; + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $84_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + $85_1 = HEAP32[($84_1 + 40 | 0) >> 2] | 0; + HEAP32[($84_1 + 40 | 0) >> 2] = $85_1 + 1 | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $85_1; + label$7 : { + label$8 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 120 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (132 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 6 : 5; + $107_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + $108_1 = HEAP32[($107_1 + 40 | 0) >> 2] | 0; + HEAP32[($107_1 + 40 | 0) >> 2] = $108_1 + 1 | 0; + HEAP32[($5_1 + 68 | 0) >> 2] = $108_1; + break label$7; + } + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 7 : 8; + } + $1298($5_1 + 32 | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0); + $128_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + $131_1 = (HEAP32[($128_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($128_1 + 44 | 0) >> 2] = $131_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $131_1; + $367(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 114 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) | 0; + label$9 : { + label$10 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1714(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 2 | 0 | 0, 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, -9 | 0) | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$9; + } + $366(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) | 0; + } + label$11 : { + if (!(HEAP32[($5_1 + 68 | 0) >> 2] | 0)) { + break label$11 + } + $166_1 = $366(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] = $166_1; + $168_1 = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + HEAP32[($168_1 + 4 | 0) >> 2] = HEAP32[($168_1 + 4 | 0) >> 2] | 0 | 32 | 0; + } + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + label$12 : { + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + label$15 : { + if (!((HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0)) { + break label$15 + } + $349(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, 32119 | 0, 0 | 0); + break label$12; + } + HEAP8[(HEAP32[($5_1 + 96 | 0) >> 2] | 0) >> 0] = 133; + label$16 : { + if ((HEAP32[((HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0) { + break label$16 + } + break label$13; + } + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$14; + }; + } + HEAP32[($5_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 56 | 0) >> 2] = 0; + $1352(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, 1 | 0, 32161 | 0, 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1210(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + label$17 : { + if (!(HEAP32[($5_1 + 24 | 0) >> 2] | 0)) { + break label$17 + } + break label$12; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $1288(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 129 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) | 0; + label$18 : { + label$19 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + $367(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0; + break label$18; + } + $366(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 127 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0; + } + $243_1 = 0; + $1288(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 123 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + $1701(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + $1370(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, $243_1 | 0, $243_1 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0); + label$20 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$20 + } + $366(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 59 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) | 0; + } + $1369(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + $1352(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, 1 | 0, 32167 | 0, 0 | 0); + $1210(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $1282(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0); + } + $382(HEAP32[(HEAP32[($5_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + } + global$0 = $5_1 + 128 | 0; + return; + } + + function $1666($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $567_1 = 0, $245_1 = 0, $574_1 = 0, $7_1 = 0, $38_1 = 0, $83_1 = 0, $95_1 = 0, $104_1 = 0, $116_1 = 0, $191_1 = 0, $204_1 = 0, $277_1 = 0, $280_1 = 0, $281_1 = 0, $284_1 = 0, $292_1 = 0, $296_1 = 0, $301_1 = 0, $305_1 = 0, $314_1 = 0, $317_1 = 0, $318_1 = 0, $321_1 = 0, $322_1 = 0, $325_1 = 0, $326_1 = 0, $329_1 = 0, $356_1 = 0, $448_1 = 0, $465_1 = 0, $468_1 = 0, $483_1 = 0, $488_1 = 0, $112_1 = 0, $115_1 = 0, i64toi32_i32$0 = 0, $182_1 = 0, $230_1 = 0, $285_1 = 0, $332_1 = 0, $471_1 = 0, $629_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 240 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 232 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 228 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 224 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 232 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 208 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 52 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 228 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($5_1 + 212 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) != (133 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 220 | 0) >> 2] = 1; + label$3 : while (1) { + $38_1 = 0; + label$4 : { + if ((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + $38_1 = (HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0) <= (HEAP32[(HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$5 : { + if (!($38_1 & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 216 | 0) >> 2] = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 216 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) == (HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$6; + } + HEAP32[($5_1 + 216 | 0) >> 2] = (HEAP32[($5_1 + 216 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0; + continue label$7; + }; + } + label$9 : { + if (!((HEAP32[($5_1 + 216 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $83_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1217(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 152 | 0, $83_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == ($83_1 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 236 | 0) >> 2] = 7; + break label$1; + } + $95_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($95_1 + 4 | 0) >> 2] = HEAP32[($95_1 + 4 | 0) >> 2] | 0 | 1024 | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 220 | 0) >> 2] | 0; + $104_1 = $1214(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $104_1; + HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 48 | 0) >> 2] = $104_1; + label$11 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $112_1 = HEAP32[($5_1 + 220 | 0) >> 2] | 0; + $115_1 = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0; + $116_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $116_1 + 1 | 0; + HEAP16[(($115_1 + ($116_1 << 4 | 0) | 0) + 12 | 0) >> 1] = $112_1; + } + } + HEAP32[($5_1 + 220 | 0) >> 2] = (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + label$13 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 220 | 0) >> 2] = 1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 220 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = ((HEAPU16[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + HEAP32[($5_1 + 220 | 0) >> 2] = (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 16 | 0; + continue label$15; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1714(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$12; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $182_1 = $1339(HEAP32[(HEAP32[($5_1 + 232 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 48 | 0) >> 2] = $182_1; + label$16 : { + label$17 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (133 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($5_1 + 76 | 0) >> 2] = 0; + break label$16; + } + $191_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $204_1 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + HEAP32[($204_1 + 44 | 0) >> 2] = (HEAP32[($204_1 + 44 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0; + $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 69 | 0, $191_1 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1497(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) != ($191_1 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($5_1 + 220 | 0) >> 2] = 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $230_1 = $1668(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 220 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $230_1; + HEAP8[((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 220 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($5_1 + 220 | 0) >> 2] = (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + } + } + $245_1 = 0; + HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 52 | 0) >> 2] = $245_1; + HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 56 | 0) >> 2] = $245_1; + $1615(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, 29007 | 0) | 0; + label$21 : { + if (!((HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == ($245_1 | 0) & 1 | 0)) { + break label$21 + } + $1615(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, 29007 | 0) | 0; + } + $1359(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + label$22 : { + label$23 : { + if (!(HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$23 + } + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (133 | 0) & 1 | 0)) { + break label$23 + } + $277_1 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + $280_1 = (HEAP32[($277_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($277_1 + 44 | 0) >> 2] = $280_1; + HEAP32[($5_1 + 84 | 0) >> 2] = $280_1; + $281_1 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + $284_1 = (HEAP32[($281_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($281_1 + 44 | 0) >> 2] = $284_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $284_1; + $285_1 = HEAP32[($5_1 + 208 | 0) >> 2] | 0; + label$24 : { + label$25 : { + if (!(HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$25 + } + $292_1 = (HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0; + break label$24; + } + $292_1 = HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $296_1 = 77; + $366($285_1 | 0, $296_1 | 0, $292_1 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, $296_1 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) | 0; + break label$22; + } + $301_1 = 0; + HEAP32[($5_1 + 80 | 0) >> 2] = $301_1; + HEAP32[($5_1 + 84 | 0) >> 2] = $301_1; + } + $305_1 = 13; + $18(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 60 | 0) >> 2] = 0; + $314_1 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + $317_1 = (HEAP32[($314_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($314_1 + 44 | 0) >> 2] = $317_1; + HEAP32[($5_1 + 140 | 0) >> 2] = $317_1; + $318_1 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + $321_1 = (HEAP32[($318_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($318_1 + 44 | 0) >> 2] = $321_1; + HEAP32[($5_1 + 136 | 0) >> 2] = $321_1; + $322_1 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + $325_1 = (HEAP32[($322_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($322_1 + 44 | 0) >> 2] = $325_1; + HEAP32[($5_1 + 124 | 0) >> 2] = $325_1; + $326_1 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + $329_1 = (HEAP32[($326_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($326_1 + 44 | 0) >> 2] = $329_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $329_1; + $1298($5_1 + 176 | 0 | 0, $305_1 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0); + $1298($5_1 + 144 | 0 | 0, $305_1 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0); + $332_1 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1616((HEAPU8[(HEAP32[($5_1 + 228 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $1352($332_1 | 0, 1 | 0, 32182 | 0, $5_1 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($1296(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $367(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 13 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 132 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $1352(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, 1 | 0, 32193 | 0, 0 | 0); + $356_1 = 0; + $1210(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0, $5_1 + 176 | 0 | 0) | 0; + $1299(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($1296(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $367(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 13 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, $356_1 | 0, HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 12 | 0) >> 2] = $356_1; + $1352(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, 1 | 0, 32198 | 0, 0 | 0); + $1210(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, $5_1 + 144 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + $1299(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1715(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, $5_1 + 176 | 0 | 0, HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + label$27 : { + if ((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (133 | 0) & 1 | 0) { + break label$27 + } + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (132 | 0) & 1 | 0)) { + break label$26 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1715(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, $5_1 + 144 | 0 | 0, HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + } + $838(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + label$28 : { + label$29 : { + label$30 : { + if ((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (134 | 0) & 1 | 0) { + break label$30 + } + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (135 | 0) & 1 | 0)) { + break label$29 + } + } + $448_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 108 | 0) >> 2] = $448_1; + HEAP32[($5_1 + 104 | 0) >> 2] = $448_1; + break label$28; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + $1282(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) | 0; + $465_1 = 16; + $468_1 = 16; + $471_1 = $1667(((HEAPU16[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $465_1 | 0) >> $465_1 | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $468_1 | 0) >> $468_1 | 0 | 0) | 0; + HEAP16[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 2 | 0) >> 1] = $471_1; + } + label$31 : { + label$32 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (135 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($5_1 + 100 | 0) >> 2] = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + $483_1 = 16; + $488_1 = 16; + label$33 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $483_1 | 0) >> $483_1 | 0 | 0) > (((HEAPU16[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $488_1 | 0) >> $488_1 | 0 | 0) & 1 | 0)) { + break label$33 + } + HEAP16[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 2 | 0) >> 1] = HEAPU16[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + } + break label$31; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0; + label$34 : { + label$35 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (133 | 0) & 1 | 0)) { + break label$35 + } + HEAP32[($5_1 + 92 | 0) >> 2] = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + break label$34; + } + label$36 : { + label$37 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (135 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[($5_1 + 92 | 0) >> 2] = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + HEAP32[($5_1 + 96 | 0) >> 2] = (HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 1 | 0; + break label$36; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $1282(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0; + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1296(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + label$38 : { + label$39 : { + if ((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (133 | 0) & 1 | 0) { + break label$39 + } + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (132 | 0) & 1 | 0)) { + break label$38 + } + } + $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) | 0; + } + $567_1 = 0; + $574_1 = 14; + $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, $574_1 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, $574_1 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, $574_1 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0); + $1278(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 85 | 0, $567_1 | 0, $567_1 | 0, $567_1 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, -15 | 0) | 0; + $1278(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 86 | 0, HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, -9 | 0) | 0; + $354(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + $367(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 16 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + label$40 : { + if (!((HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != ($567_1 | 0) & 1 | 0)) { + break label$40 + } + $1139(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0); + } + HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($5_1 + 212 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($5_1 + 228 | 0) >> 2] | 0; + $1348(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 236 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + } + $629_1 = HEAP32[($5_1 + 236 | 0) >> 2] | 0; + global$0 = $5_1 + 240 | 0; + return $629_1 | 0; + } + + function $1667($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $10_1 = 0, $19_1 = 0, $23_1 = 0, $35_1 = 0, $39_1 = 0, $50_1 = 0, $56_1 = 0, $60_1 = 0, $64_1 = 0, $73_1 = 0, $77_1 = 0, $89_1 = 0, $93_1 = 0, $104_1 = 0, $110_1 = 0, $114_1 = 0, $118_1 = 0, $127_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP16[($4_1 + 12 | 0) >> 1] = $0_1; + HEAP16[($4_1 + 10 | 0) >> 1] = $1_1; + $6_1 = 16; + $10_1 = 16; + label$1 : { + label$2 : { + if (!((((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) << $6_1 | 0) >> $6_1 | 0 | 0) >= (((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = 16; + $23_1 = 16; + label$3 : { + if (!((((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) > ((((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $23_1 | 0) >> $23_1 | 0) + 49 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP16[($4_1 + 14 | 0) >> 1] = HEAPU16[($4_1 + 12 | 0) >> 1] | 0; + break label$1; + } + $35_1 = 16; + $39_1 = 16; + label$4 : { + if (!((((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) << $35_1 | 0) >> $35_1 | 0 | 0) > ((((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $39_1 | 0) >> $39_1 | 0) + 31 | 0 | 0) & 1 | 0)) { + break label$4 + } + $50_1 = 16; + HEAP16[($4_1 + 14 | 0) >> 1] = (((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) << $50_1 | 0) >> $50_1 | 0) + 1 | 0; + break label$1; + } + $56_1 = 16; + $60_1 = 16; + $64_1 = 16; + HEAP16[($4_1 + 14 | 0) >> 1] = (((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) << $56_1 | 0) >> $56_1 | 0) + ((HEAPU8[(((((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) << $60_1 | 0) >> $60_1 | 0) - (((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $64_1 | 0) >> $64_1 | 0) | 0) + 32208 | 0) >> 0] | 0) & 255 | 0) | 0; + break label$1; + } + $73_1 = 16; + $77_1 = 16; + label$5 : { + if (!((((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $73_1 | 0) >> $73_1 | 0 | 0) > ((((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) << $77_1 | 0) >> $77_1 | 0) + 49 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP16[($4_1 + 14 | 0) >> 1] = HEAPU16[($4_1 + 10 | 0) >> 1] | 0; + break label$1; + } + $89_1 = 16; + $93_1 = 16; + label$6 : { + if (!((((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $89_1 | 0) >> $89_1 | 0 | 0) > ((((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) << $93_1 | 0) >> $93_1 | 0) + 31 | 0 | 0) & 1 | 0)) { + break label$6 + } + $104_1 = 16; + HEAP16[($4_1 + 14 | 0) >> 1] = (((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $104_1 | 0) >> $104_1 | 0) + 1 | 0; + break label$1; + } + $110_1 = 16; + $114_1 = 16; + $118_1 = 16; + HEAP16[($4_1 + 14 | 0) >> 1] = (((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $110_1 | 0) >> $110_1 | 0) + ((HEAPU8[(((((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $114_1 | 0) >> $114_1 | 0) - (((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) << $118_1 | 0) >> $118_1 | 0) | 0) + 32208 | 0) >> 0] | 0) & 255 | 0) | 0; + } + $127_1 = 16; + return ((HEAPU16[($4_1 + 14 | 0) >> 1] | 0) << $127_1 | 0) >> $127_1 | 0 | 0; + } + + function $1668($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1668(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[$5_1 >> 2] = 0; + } + label$3 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1173(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + $47_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $47_1 | 0; + } + + function $1669($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1467(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $14_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $14_1 | 0; + } + + function $1670($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$4 + } + $1670(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $1670(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + break label$1; + } + label$5 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (53 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$6 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$6 + } + if (!($1243(HEAP32[$4_1 >> 2] | 0 | 0) | 0)) { + break label$6 + } + $1716(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + if (!(((HEAPU8[(HEAP32[$4_1 >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$1 + } + if (!($1243(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + $1716(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1671($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $59_1 = 0, $64_1 = 0, $73_1 = 0, $77_1 = 0, $81_1 = 0, $99_1 = 0, $105_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 9 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2] | 0; + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + break label$6; + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$6; + } + $59_1 = 16; + $64_1 = 16; + label$9 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $59_1 | 0) >> $59_1 | 0 | 0) != (((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $64_1 | 0) >> $64_1 | 0 | 0) & 1 | 0)) { + break label$9 + } + break label$6; + } + $73_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($73_1 + 8 | 0) >> 2] = (HEAP32[($73_1 + 8 | 0) >> 2] | 0) + 1 | 0; + $77_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($77_1 + 4 | 0) >> 2] = (HEAP32[($77_1 + 4 | 0) >> 2] | 0) & -8388609 | 0; + $81_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($81_1 + 4 | 0) >> 2] = HEAP32[($81_1 + 4 | 0) >> 2] | 0 | 8 | 0; + $99_1 = $1310(HEAP32[(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = $99_1; + break label$4; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + $105_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $105_1 | 0; + } + + function $1672($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1718(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $1718(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $1718(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $1719(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $1719(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $1719(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1673($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $1445(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 3 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $1674($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $103_1 = 0, i64toi32_i32$0 = 0, $273_1 = 0, $19_1 = 0, $58_1 = 0, $74_1 = 0, $122_1 = 0, $134_1 = 0, $152_1 = 0, $201_1 = 0, $205_1 = 0, $191_1 = 0, $192_1 = 0, $234_1 = 0, $239_1 = 0, $261_1 = 0, $270_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 96 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 84 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 92 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$3 + } + $19_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 36 | 0) >> 1] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP16[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 36 | 0) >> 1] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + if ((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0) { + break label$5 + } + $58_1 = 16; + label$6 : { + label$7 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $58_1 | 0) >> $58_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 0] = 119; + break label$6; + } + $74_1 = 16; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) + ((((HEAPU16[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $74_1 | 0) >> $74_1 | 0) << 4 | 0) | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!($1505(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + $1560(HEAP32[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + break label$8; + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + label$10 : { + if (!(HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$10 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$10 + } + $103_1 = $4_1 + 24 | 0; + i64toi32_i32$0 = 0; + $273_1 = 0; + i64toi32_i32$1 = $103_1; + HEAP32[i64toi32_i32$1 >> 2] = $273_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $273_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $103_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $273_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $103_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $273_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $103_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $273_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $103_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $273_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 24 | 0) >> 0] = 176; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 131072; + HEAP32[($4_1 + 76 | 0) >> 2] = $103_1; + } + $122_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1310(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, $122_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) != ($122_1 | 0) & 1 | 0)) { + break label$11 + } + if (!(HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$11 + } + $134_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + HEAP32[($134_1 + 4 | 0) >> 2] = HEAP32[($134_1 + 4 | 0) >> 2] | 0 | 1048576 | 0; + } + label$12 : { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$12 + } + $152_1 = 16; + $1636(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 36 | 0) >> 1] | 0) << $152_1 | 0) >> $152_1 | 0 | 0); + } + $18(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + label$13 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$14 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (111 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1173(HEAP32[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $191_1 = HEAP32[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + $192_1 = HEAP32[($4_1 + 84 | 0) >> 2] | 0; + label$15 : { + label$16 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $201_1 = HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + break label$15; + } + $201_1 = 5191; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1606($191_1 | 0, $192_1 | 0, $201_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + $205_1 = HEAP32[($4_1 + 84 | 0) >> 2] | 0; + HEAP32[($205_1 + 4 | 0) >> 2] = (HEAP32[($205_1 + 4 | 0) >> 2] | 0) & -257 | 0; + } + } + } + break label$4; + } + label$17 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (176 | 0) & 1 | 0)) { + break label$17 + } + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $234_1 = $1674(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] = $234_1; + $239_1 = $1674(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 2] = $239_1; + label$18 : { + label$19 : { + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$19 + } + $1661(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, 1 | 0); + break label$18; + } + $1712(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + label$20 : { + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$20 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $261_1 = $1674(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = $261_1; + $1712(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $1712(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 84 | 0) >> 2] | 0; + } + $270_1 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + global$0 = $4_1 + 96 | 0; + return $270_1 | 0; + } + + function $1675($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1173(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $18_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $18_1 | 0; + } + + function $1676($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0; + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] = 0; + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 1] = 3; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = 0; + return; + } + + function $1677($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0; + $4_1 = global$0 - 16 | 0; + $6_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 9 | 0) >> 0] = 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 8; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0; + return; + } + + function $1678($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 7 | 0) >> 0] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1527(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] = HEAPU8[($5_1 + 7 | 0) >> 0] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!(((HEAPU8[(HEAP32[$5_1 >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[($5_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $1720(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 & 65535 | 0 | 0) | 0; + break label$1; + } + $1678(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0); + $1678(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1679($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $10_1 = 0, $5_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $8_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0; + $9_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $10_1 = HEAP32[($9_1 + 4 | 0) >> 2] | 0; + HEAP32[($9_1 + 4 | 0) >> 2] = $10_1 + 1 | 0; + HEAP32[($8_1 + ($10_1 << 2 | 0) | 0) >> 2] = $5_1; + return; + } + + function $1680($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $86_1 = 0, $27_1 = 0, $40_1 = 0, $48_1 = 0, $73_1 = 0, $99_1 = 0, $103_1 = 0, $81_1 = 0, $83_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if ((((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0) { + break label$2 + } + break label$1; + } + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + $27_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $27_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $27_1; + label$4 : while (1) { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$5 : while (1) { + $40_1 = 16; + $48_1 = 0; + label$6 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + $48_1 = (((HEAPU16[(((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0 | 0) == (0 | 0); + } + label$7 : { + if (!($48_1 & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + $73_1 = 16; + label$8 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) >= (((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $73_1 | 0) >> $73_1 | 0 | 0) & 1 | 0)) { + break label$8 + } + $81_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $83_1 = HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $83_1; + $349($81_1 | 0, 32308 | 0, $5_1 | 0); + break label$1; + } + $86_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, 164 | 0, $86_1 | 0, $86_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == ($86_1 | 0) & 1 | 0)) { + break label$9 + } + break label$1; + } + $99_1 = 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $103_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $103_1 + 1 | 0; + HEAP16[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 1] = $103_1; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 171 | 0, $1310(HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, $99_1 | 0) | 0 | 0, $99_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$10 + } + $1636(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + } + $1720(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1681($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + $1721(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1682($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $21_1 = 0, $18_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = 0; + $21_1 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[$3_1 >> 2] = $21_1; + HEAP32[($3_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = $3_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $21_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $3_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $21_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($3_1 + 20 | 0) >> 1] = 1; + HEAP32[($3_1 + 4 | 0) >> 2] = 70; + HEAP32[($3_1 + 8 | 0) >> 2] = 51; + $1547($3_1 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $18_1 = (HEAPU16[($3_1 + 20 | 0) >> 1] | 0) & 65535 | 0; + global$0 = $3_1 + 32 | 0; + return $18_1 | 0; + } + + function $1683($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $66_1 = 0, i64toi32_i32$0 = 0, $146_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1527(HEAP32[(((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + break label$5; + } + label$7 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $66_1 = 16; + if (!((((HEAPU16[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $66_1 | 0) >> $66_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + label$10 : { + label$11 : { + if ((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0) { + break label$11 + } + break label$10; + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$0 = -1; + label$14 : { + if (!((0 | 0) == ($1723(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0, i64toi32_i32$0 | 0, 2 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + if (!(($1724(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$15 + } + break label$12; + } + label$16 : { + if ($1725(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$16 + } + break label$12; + } + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + label$17 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == ((HEAPU16[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$9; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $146_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $146_1 | 0; + } + + function $1684($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $32_1 = 0, $216$hi = 0, i64toi32_i32$3 = 0, $26_1 = 0, $55_1 = 0, $18_1 = 0, $19_1 = 0, $217$hi = 0, $218$hi = 0, $220$hi = 0, $165_1 = 0, $182_1 = 0, $217_1 = 0, $566_1 = 0, $211_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$2 + } + HEAP32[($3_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$3 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($3_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $26_1 = 1; + label$4 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> $26_1 | 0) & $26_1 | 0) & 255 | 0)) { + break label$4 + } + HEAP32[($3_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $32_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 80 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] = $32_1; + HEAP16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1723(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0, 0 | 0, i64toi32_i32$0 | 0, 130 | 0, $32_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != ($32_1 | 0) & 1 | 0)) { + break label$6 + } + $55_1 = 1; + HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] = 4353; + HEAP32[(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 1] = $55_1; + HEAP16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 1] = $55_1; + HEAP16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 1] = 33; + break label$5; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + label$10 : { + label$11 : { + if (!((HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + if ((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$11 + } + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$10 + } + } + break label$9; + } + $18_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = (((HEAPU8[($18_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($18_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 3 | 0) & 1 | 0) & 65535 | 0 ? 130 : 2; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1723(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0, HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + break label$12; + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + label$15 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != ((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$15 + } + break label$9; + } + HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] = 4609; + $19_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + label$16 : { + label$17 : { + if ((((HEAPU8[($19_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($19_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 5 | 0) & 1 | 0) & 65535 | 0) { + break label$17 + } + i64toi32_i32$0 = 0; + $216$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $217_1 = i64toi32_i32$0; + $217$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + $218$hi = i64toi32_i32$0; + i64toi32_i32$0 = $217$hi; + i64toi32_i32$0 = $218$hi; + $566_1 = i64toi32_i32$1; + i64toi32_i32$0 = $217$hi; + i64toi32_i32$2 = $217_1; + i64toi32_i32$1 = $218$hi; + i64toi32_i32$3 = $566_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $220$hi = i64toi32_i32$1; + i64toi32_i32$1 = $216$hi; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$1 = $216$hi; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $216$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$16 + } + } + $165_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($165_1 + 36 | 0) >> 2] = HEAP32[($165_1 + 36 | 0) >> 2] | 0 | 64 | 0; + } + HEAP16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 1] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 1] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 1] = 39; + break label$7; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$8; + }; + } + } + label$18 : { + if (!(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$18 + } + $182_1 = 1; + i64toi32_i32$0 = 0; + HEAP16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 22 | 0) >> 1] = $182_1; + HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 824 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 756 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP16[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 50 | 0) >> 1] = $182_1; + label$19 : { + if (!((HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + HEAP8[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 45 | 0) >> 0] = HEAP32[(HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; + } + label$20 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$20 + } + HEAP8[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 47 | 0) >> 0] = 1; + } + HEAP32[($3_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 44 | 0) >> 2] = 0; + } + $211_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $211_1 | 0; + } + + function $1685($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $130$hi = 0, $4_1 = 0, $125_1 = 0, $39_1 = 0, $132$hi = 0, $134$hi = 0, $137$hi = 0, $138$hi = 0, $140$hi = 0, $141$hi = 0, $142$hi = 0, $266_1 = 0, $282_1 = 0, $134_1 = 0, $351$hi = 0, $355_1 = 0, $137_1 = 0, $371_1 = 0, $140_1 = 0, $406_1 = 0, $142_1 = 0, $416$hi = 0, $420_1 = 0, $122_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 80 | 0; + global$0 = $3_1; + $4_1 = 0; + i64toi32_i32$0 = 0; + $125_1 = 0; + HEAP32[($3_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 64 | 0) >> 2] = $125_1; + HEAP32[($3_1 + 68 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 56 | 0) >> 2] = $125_1; + HEAP32[($3_1 + 60 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 40 | 0) >> 2] = ((HEAP32[($3_1 + 48 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0, 72) | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($3_1 + 72 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 32 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $1676(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] = 2e4; + HEAP32[($3_1 + 52 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 44 | 0) >> 2] = (HEAP32[($3_1 + 48 | 0) >> 2] | 0) + 8 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 44 | 0) >> 2] | 0) >>> 0 < (HEAP32[($3_1 + 40 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + $39_1 = HEAP32[($3_1 + 76 | 0) >> 2] | 0; + HEAP32[($39_1 + 24 | 0) >> 2] = (HEAP32[($39_1 + 24 | 0) >> 2] | 0) + 1e3 | 0; + i64toi32_i32$0 = $1726((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 488 | 0 | 0, HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $266_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $266_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 10 | 0)) { + break label$4 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + $282_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 64 | 0) >> 2] = $282_1; + HEAP32[($3_1 + 68 | 0) >> 2] = i64toi32_i32$0; + break label$3; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 64 | 0) >> 2] = 0; + HEAP32[($3_1 + 68 | 0) >> 2] = i64toi32_i32$0; + } + label$5 : { + label$6 : { + if (!(HEAP32[((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 72 | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[($3_1 + 40 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = 0; + $130$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $132$hi = i64toi32_i32$1; + i64toi32_i32$1 = $130$hi; + i64toi32_i32$1 = $132$hi; + i64toi32_i32$1 = $130$hi; + i64toi32_i32$1 = $132$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $130$hi; + i64toi32_i32$3 = 0; + label$9 : { + label$10 : { + if (((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$10 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 10 | 0)) { + break label$9 + } + } + i64toi32_i32$2 = $1726((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 488 | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $134_1 = i64toi32_i32$2; + $134$hi = i64toi32_i32$1; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $351$hi = i64toi32_i32$2; + i64toi32_i32$2 = $134$hi; + i64toi32_i32$2 = $351$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $134$hi; + i64toi32_i32$0 = $134_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $355_1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $355_1; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0; + continue label$8; + }; + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + $137_1 = i64toi32_i32$1; + $137$hi = i64toi32_i32$3; + i64toi32_i32$2 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $138$hi = i64toi32_i32$1; + i64toi32_i32$1 = $137$hi; + i64toi32_i32$1 = $138$hi; + $371_1 = i64toi32_i32$3; + i64toi32_i32$1 = $137$hi; + i64toi32_i32$3 = $138$hi; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1727(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, $137_1 | 0, i64toi32_i32$1 | 0, $371_1 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1728(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + if (HEAP32[($3_1 + 32 | 0) >> 2] | 0) { + break label$11 + } + if (!((HEAPU8[((HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + $140_1 = i64toi32_i32$1; + $140$hi = i64toi32_i32$3; + i64toi32_i32$2 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $141$hi = i64toi32_i32$1; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$1 = $141$hi; + $406_1 = i64toi32_i32$3; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$3 = $141$hi; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1729(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, $140_1 | 0, i64toi32_i32$1 | 0, $406_1 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$2 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $142_1 = i64toi32_i32$3; + $142$hi = i64toi32_i32$1; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + $416$hi = i64toi32_i32$3; + i64toi32_i32$3 = $142$hi; + i64toi32_i32$3 = $416$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $142$hi; + i64toi32_i32$0 = $142_1; + i64toi32_i32$1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + $420_1 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 56 | 0) >> 2] = $420_1; + HEAP32[($3_1 + 60 | 0) >> 2] = i64toi32_i32$1; + label$12 : { + label$13 : { + if (HEAP32[($3_1 + 32 | 0) >> 2] | 0) { + break label$13 + } + if (!((HEAPU8[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$12 + } + } + label$14 : { + label$15 : { + if (!((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$15 + } + $82(28 | 0, 32449 | 0, 0 | 0); + HEAP32[($3_1 + 32 | 0) >> 2] = 0; + break label$14; + } + break label$1; + } + } + HEAP32[($3_1 + 52 | 0) >> 2] = (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 44 | 0) >> 2] = (HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 72 | 0; + continue label$2; + }; + } + $1730(HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + $122_1 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + global$0 = $3_1 + 80 | 0; + return $122_1 | 0; + } + + function $1686($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $1010_1 = 0, $83_1 = 0, $1011$hi = 0, $1019$hi = 0, $1029$hi = 0, $1030$hi = 0, $6_1 = 0, $7_1 = 0, $23_1 = 0, $44_1 = 0, $136_1 = 0, $150_1 = 0, $162_1 = 0, $1011_1 = 0, $1012$hi = 0, $1013$hi = 0, $1014$hi = 0, $1015$hi = 0, $1017$hi = 0, $1020$hi = 0, $1021$hi = 0, $1023$hi = 0, $199_1 = 0, $212_1 = 0, $217_1 = 0, $221_1 = 0, $224_1 = 0, $231_1 = 0, $234_1 = 0, $240_1 = 0, $245_1 = 0, $1025$hi = 0, $1026$hi = 0, $252_1 = 0, $279_1 = 0, $288_1 = 0, $299_1 = 0, $306_1 = 0, $313_1 = 0, $316_1 = 0, $322_1 = 0, $331_1 = 0, $338_1 = 0, $341_1 = 0, $345_1 = 0, $352_1 = 0, $372_1 = 0, $376_1 = 0, $403_1 = 0, $407_1 = 0, $416_1 = 0, $420_1 = 0, $429_1 = 0, $433_1 = 0, $448_1 = 0, $459_1 = 0, $463_1 = 0, $473_1 = 0, $477_1 = 0, $487_1 = 0, $491_1 = 0, $501_1 = 0, $505_1 = 0, $515_1 = 0, $519_1 = 0, $1033$hi = 0, $1034$hi = 0, $578_1 = 0, $582_1 = 0, $592_1 = 0, $596_1 = 0, $606_1 = 0, $610_1 = 0, $662_1 = 0, $671_1 = 0, $708_1 = 0, $746_1 = 0, $774_1 = 0, $789_1 = 0, $808_1 = 0, $829_1 = 0, $893_1 = 0, $905_1 = 0, $914_1 = 0, $928_1 = 0, $940_1 = 0, $983_1 = 0, $995_1 = 0, $1012_1 = 0, $1448_1 = 0, $1020_1 = 0, $1469_1 = 0, $1025_1 = 0, $1611_1 = 0, $1614_1 = 0, $1674_1 = 0, $319_1 = 0, $1029_1 = 0, $1873_1 = 0, $1033_1 = 0, $2210_1 = 0, $2215_1 = 0, $2221_1 = 0, $2870_1 = 0, $3039_1 = 0, $3225_1 = 0, $1006_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 176 | 0; + global$0 = $4_1; + $6_1 = 0; + $7_1 = 0; + HEAP32[($4_1 + 168 | 0) >> 2] = $0_1; + HEAP16[($4_1 + 166 | 0) >> 1] = $1_1; + HEAP32[($4_1 + 132 | 0) >> 2] = $6_1; + HEAP16[($4_1 + 126 | 0) >> 1] = $7_1; + HEAP16[($4_1 + 124 | 0) >> 1] = $7_1; + HEAP32[($4_1 + 88 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 152 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 168 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 148 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 152 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 156 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$2 + } + $23_1 = 1; + break label$1; + } + $23_1 = (HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0 ? 5 : 10; + } + HEAP32[($4_1 + 160 | 0) >> 2] = $23_1; + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + $44_1 = 16; + if (((HEAPU16[($4_1 + 166 | 0) >> 1] | 0) << $44_1 | 0) >> $44_1 | 0) { + break label$4 + } + } + HEAP32[($4_1 + 128 | 0) >> 2] = 0; + break label$3; + } + HEAP32[($4_1 + 128 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; + } + HEAP32[($4_1 + 80 | 0) >> 2] = Math_imul(((HEAP32[($4_1 + 156 | 0) >> 2] | 0) << 2 | 0) + 32 | 0, HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 1 | 0; + HEAP32[($4_1 + 80 | 0) >> 2] = (HEAP32[($4_1 + 80 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 128 | 0) >> 2] | 0) << 1 | 0) | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $365(HEAP32[($4_1 + 148 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 172 | 0) >> 2] = 7; + break label$6; + } + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[($4_1 + 84 | 0) >> 2] | 0; + HEAP32[($4_1 + 112 | 0) >> 2] = (HEAP32[($4_1 + 108 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 5 | 0) | 0; + $83_1 = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $1010_1 = 0; + i64toi32_i32$1 = $83_1; + HEAP32[i64toi32_i32$1 >> 2] = $1010_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1010_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $83_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1010_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $83_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1010_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 92 | 0) >> 2] = (HEAP32[($4_1 + 112 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 5 | 0) | 0; + HEAP32[($4_1 + 140 | 0) >> 2] = (HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 1 | 0; + HEAP32[($4_1 + 104 | 0) >> 2] = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + HEAP32[($4_1 + 140 | 0) >> 2] = (HEAP32[($4_1 + 140 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 104 | 0) >> 2] = (HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 32 | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = (HEAP32[($4_1 + 92 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 156 | 0) >> 2] | 0) << 2 | 0) | 0; + continue label$9; + }; + } + label$10 : { + if (!(HEAP32[($4_1 + 128 | 0) >> 2] | 0)) { + break label$10 + } + HEAP32[($4_1 + 88 | 0) >> 2] = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + $3289(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($4_1 + 128 | 0) >> 2] | 0) << 1 | 0 | 0) | 0; + } + label$11 : { + label$12 : { + if (!((HEAP32[((HEAP32[($4_1 + 152 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0) >>> 0 < 48 >>> 0 & 1 | 0)) { + break label$12 + } + $136_1 = HEAP32[((HEAP32[($4_1 + 152 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0; + break label$11; + } + $136_1 = 48; + } + HEAP16[((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 16 | 0) >> 1] = $136_1; + HEAP32[($4_1 + 116 | 0) >> 2] = 1; + label$13 : { + if (!(HEAP32[($4_1 + 128 | 0) >> 2] | 0)) { + break label$13 + } + label$14 : { + label$15 : { + if (!((HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$15 + } + $150_1 = -1; + break label$14; + } + $150_1 = HEAP32[($4_1 + 128 | 0) >> 2] | 0; + } + HEAP8[((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 22 | 0) >> 0] = $150_1; + } + HEAP32[($4_1 + 144 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $162_1 = 0; + HEAP32[($4_1 + 120 | 0) >> 2] = $162_1; + HEAP32[($4_1 + 140 | 0) >> 2] = $162_1; + HEAP32[($4_1 + 104 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + i64toi32_i32$0 = 0; + $1011_1 = 0; + $1011$hi = i64toi32_i32$0; + HEAP8[($4_1 + 73 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1011_1; + HEAP32[($4_1 + 60 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1012_1 = i64toi32_i32$0; + $1012$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1013$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $1014$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1013$hi; + i64toi32_i32$0 = $1014$hi; + i64toi32_i32$0 = $1013$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $1014$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0; + $1015$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1012$hi; + i64toi32_i32$1 = $1015$hi; + $1448_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$1 = $1012$hi; + i64toi32_i32$0 = $1012_1; + i64toi32_i32$2 = $1015$hi; + i64toi32_i32$3 = $1448_1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $1017$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1011$hi; + i64toi32_i32$2 = $1017$hi; + i64toi32_i32$2 = $1011$hi; + i64toi32_i32$2 = $1017$hi; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $1011$hi; + i64toi32_i32$3 = $1011_1; + label$22 : { + label$23 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$23 + } + break label$22; + } + i64toi32_i32$1 = 0; + $1019$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $1020_1 = i64toi32_i32$1; + $1020$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $1021$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1020$hi; + i64toi32_i32$1 = $1021$hi; + $1469_1 = i64toi32_i32$2; + i64toi32_i32$1 = $1020$hi; + i64toi32_i32$3 = $1020_1; + i64toi32_i32$2 = $1021$hi; + i64toi32_i32$0 = $1469_1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $1023$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1019$hi; + i64toi32_i32$2 = $1023$hi; + i64toi32_i32$2 = $1019$hi; + i64toi32_i32$2 = $1023$hi; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + i64toi32_i32$3 = $1019$hi; + i64toi32_i32$0 = 0; + label$24 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$24 + } + break label$22; + } + label$25 : { + if (!((HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 16384 | 0)) { + break label$25 + } + $199_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $199_1 | 0) >> $199_1 | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$25 + } + break label$22; + } + $212_1 = 16; + $217_1 = 16; + $221_1 = 16; + $224_1 = 16; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1667(((HEAPU16[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $221_1 | 0) >> $221_1 | 0 | 0, (((((HEAPU16[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $212_1 | 0) >> $212_1 | 0) + (((HEAPU16[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $217_1 | 0) >> $217_1 | 0) | 0) << $224_1 | 0) >> $224_1 | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 74 | 0) >> 1] = wasm2js_i32$1; + $231_1 = 16; + $234_1 = 16; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1667(((HEAPU16[($4_1 + 74 | 0) >> 1] | 0) << $231_1 | 0) >> $231_1 | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $234_1 | 0) >> $234_1 | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 74 | 0) >> 1] = wasm2js_i32$1; + $240_1 = 16; + $245_1 = 16; + HEAP16[($4_1 + 78 | 0) >> 1] = (((HEAPU16[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $240_1 | 0) >> $240_1 | 0) + (((HEAPU16[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $245_1 | 0) >> $245_1 | 0) | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $1025_1 = i64toi32_i32$1; + $1025$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $1026$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1025$hi; + i64toi32_i32$1 = $1026$hi; + $1611_1 = i64toi32_i32$2; + i64toi32_i32$1 = $1025$hi; + i64toi32_i32$0 = $1025_1; + i64toi32_i32$2 = $1026$hi; + i64toi32_i32$3 = $1611_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $1614_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 64 | 0) >> 2] = $1614_1; + HEAP32[($4_1 + 68 | 0) >> 2] = i64toi32_i32$2; + $252_1 = 24; + label$26 : { + label$27 : { + if (!((((HEAPU8[($4_1 + 73 | 0) >> 0] | 0) << $252_1 | 0) >> $252_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$27 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1731(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0 | 0, (HEAP32[($4_1 + 144 | 0) >> 2] | 0) & 65535 | 0 | 0, HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, $4_1 + 56 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 73 | 0) >> 0] = wasm2js_i32$1; + break label$26; + } + i64toi32_i32$1 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $1674_1 = i64toi32_i32$2; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1674_1; + HEAP32[($4_1 + 60 | 0) >> 2] = i64toi32_i32$0; + } + $279_1 = 24; + label$28 : { + label$29 : { + if (!((((HEAPU8[($4_1 + 73 | 0) >> 0] | 0) << $279_1 | 0) >> $279_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$29 + } + $288_1 = 24; + if (!((((HEAPU8[($4_1 + 73 | 0) >> 0] | 0) << $288_1 | 0) >> $288_1 | 0 | 0) < (HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + $299_1 = 24; + $306_1 = 16; + label$30 : { + if (((HEAPU16[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + ((((HEAPU8[($4_1 + 73 | 0) >> 0] | 0) << $299_1 | 0) >> $299_1 | 0) << 1 | 0) | 0) >> 1] | 0) << $306_1 | 0) >> $306_1 | 0) { + break label$30 + } + $313_1 = 24; + $316_1 = 16; + $319_1 = $1732(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, ((HEAPU16[($4_1 + 166 | 0) >> 1] | 0) << $316_1 | 0) >> $316_1 | 0 | 0, HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, ((HEAPU8[($4_1 + 73 | 0) >> 0] | 0) << $313_1 | 0) >> $313_1 | 0 | 0) | 0; + $322_1 = 24; + HEAP16[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + ((((HEAPU8[($4_1 + 73 | 0) >> 0] | 0) << $322_1 | 0) >> $322_1 | 0) << 1 | 0) | 0) >> 1] = $319_1; + } + $331_1 = 24; + $338_1 = 16; + $341_1 = 16; + $345_1 = 16; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ((($1667(((HEAPU16[($4_1 + 74 | 0) >> 1] | 0) << $338_1 | 0) >> $338_1 | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + ((((HEAPU8[($4_1 + 73 | 0) >> 0] | 0) << $331_1 | 0) >> $331_1 | 0) << 1 | 0) | 0) >> 1] | 0) << $341_1 | 0) >> $341_1 | 0 | 0) | 0) << $345_1 | 0) >> $345_1 | 0) + 5 | 0), HEAP16[(wasm2js_i32$0 + 76 | 0) >> 1] = wasm2js_i32$1; + break label$28; + } + HEAP16[($4_1 + 76 | 0) >> 1] = HEAPU16[($4_1 + 74 | 0) >> 1] | 0; + $352_1 = 16; + HEAP16[($4_1 + 74 | 0) >> 1] = (((HEAPU16[($4_1 + 74 | 0) >> 1] | 0) << $352_1 | 0) >> $352_1 | 0) - 2 | 0; + } + HEAP32[($4_1 + 136 | 0) >> 2] = 0; + HEAP32[($4_1 + 100 | 0) >> 2] = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + label$31 : { + label$32 : while (1) { + if (!((HEAP32[($4_1 + 136 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$31 + } + i64toi32_i32$1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $1029_1 = i64toi32_i32$0; + $1029$hi = i64toi32_i32$2; + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + $1030$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1029$hi; + i64toi32_i32$0 = $1030$hi; + i64toi32_i32$0 = $1029$hi; + i64toi32_i32$0 = $1030$hi; + $1873_1 = i64toi32_i32$2; + i64toi32_i32$0 = $1029$hi; + i64toi32_i32$1 = $1029_1; + i64toi32_i32$2 = $1030$hi; + i64toi32_i32$3 = $1873_1; + label$33 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$33 + } + $372_1 = 24; + $376_1 = 24; + if (((((HEAPU8[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) << $372_1 | 0) >> $372_1 | 0) ^ (((HEAPU8[($4_1 + 73 | 0) >> 0] | 0) << $376_1 | 0) >> $376_1 | 0) | 0) & 128 | 0) { + break label$33 + } + break label$31; + } + HEAP32[($4_1 + 136 | 0) >> 2] = (HEAP32[($4_1 + 136 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 100 | 0) >> 2] = (HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0; + continue label$32; + }; + } + label$34 : { + label$35 : { + if (!((HEAP32[($4_1 + 136 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$35 + } + label$36 : { + if (!((HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$36 + } + $403_1 = 16; + $407_1 = 16; + label$37 : { + if ((((HEAPU16[($4_1 + 76 | 0) >> 1] | 0) << $403_1 | 0) >> $403_1 | 0 | 0) > (((HEAPU16[($4_1 + 126 | 0) >> 1] | 0) << $407_1 | 0) >> $407_1 | 0 | 0) & 1 | 0) { + break label$37 + } + $416_1 = 16; + $420_1 = 16; + if (!((((HEAPU16[($4_1 + 76 | 0) >> 1] | 0) << $416_1 | 0) >> $416_1 | 0 | 0) == (((HEAPU16[($4_1 + 126 | 0) >> 1] | 0) << $420_1 | 0) >> $420_1 | 0 | 0) & 1 | 0)) { + break label$36 + } + $429_1 = 16; + $433_1 = 16; + if (!((((HEAPU16[($4_1 + 74 | 0) >> 1] | 0) << $429_1 | 0) >> $429_1 | 0 | 0) >= (((HEAPU16[($4_1 + 124 | 0) >> 1] | 0) << $433_1 | 0) >> $433_1 | 0 | 0) & 1 | 0)) { + break label$36 + } + } + break label$22; + } + label$38 : { + label$39 : { + if (!((HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$39 + } + $448_1 = HEAP32[($4_1 + 120 | 0) >> 2] | 0; + HEAP32[($4_1 + 120 | 0) >> 2] = $448_1 + 1 | 0; + HEAP32[($4_1 + 136 | 0) >> 2] = $448_1; + break label$38; + } + HEAP32[($4_1 + 136 | 0) >> 2] = HEAP32[($4_1 + 132 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 100 | 0) >> 2] = (HEAP32[($4_1 + 108 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 136 | 0) >> 2] | 0) << 5 | 0) | 0; + break label$34; + } + $459_1 = 16; + $463_1 = 16; + label$40 : { + label$41 : { + if ((((HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $459_1 | 0) >> $459_1 | 0 | 0) < (((HEAPU16[($4_1 + 76 | 0) >> 1] | 0) << $463_1 | 0) >> $463_1 | 0 | 0) & 1 | 0) { + break label$41 + } + $473_1 = 16; + $477_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $473_1 | 0) >> $473_1 | 0 | 0) == (((HEAPU16[($4_1 + 76 | 0) >> 1] | 0) << $477_1 | 0) >> $477_1 | 0 | 0) & 1 | 0)) { + break label$40 + } + $487_1 = 16; + $491_1 = 16; + if ((((HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $487_1 | 0) >> $487_1 | 0 | 0) < (((HEAPU16[($4_1 + 78 | 0) >> 1] | 0) << $491_1 | 0) >> $491_1 | 0 | 0) & 1 | 0) { + break label$41 + } + $501_1 = 16; + $505_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $501_1 | 0) >> $501_1 | 0 | 0) == (((HEAPU16[($4_1 + 78 | 0) >> 1] | 0) << $505_1 | 0) >> $505_1 | 0 | 0) & 1 | 0)) { + break label$40 + } + $515_1 = 16; + $519_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $515_1 | 0) >> $515_1 | 0 | 0) <= (((HEAPU16[($4_1 + 74 | 0) >> 1] | 0) << $519_1 | 0) >> $519_1 | 0 | 0) & 1 | 0)) { + break label$40 + } + } + break label$22; + } + } + i64toi32_i32$3 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $1033_1 = i64toi32_i32$1; + $1033$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $1034$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1033$hi; + i64toi32_i32$1 = $1034$hi; + $2210_1 = i64toi32_i32$0; + i64toi32_i32$1 = $1033$hi; + i64toi32_i32$3 = $1033_1; + i64toi32_i32$0 = $1034$hi; + i64toi32_i32$2 = $2210_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $2215_1 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $2215_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $2221_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $2221_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$3; + HEAP16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 1] = HEAPU16[($4_1 + 78 | 0) >> 1] | 0; + HEAP16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 18 | 0) >> 1] = HEAPU16[($4_1 + 76 | 0) >> 1] | 0; + HEAP16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 1] = HEAPU16[($4_1 + 74 | 0) >> 1] | 0; + HEAP8[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 22 | 0) >> 0] = HEAPU8[($4_1 + 73 | 0) >> 0] | 0; + $3288(HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 144 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 144 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + label$42 : { + if (!((HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$42 + } + HEAP32[($4_1 + 132 | 0) >> 2] = 0; + HEAP16[($4_1 + 126 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0; + HEAP16[($4_1 + 124 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0; + HEAP32[($4_1 + 136 | 0) >> 2] = 1; + HEAP32[($4_1 + 100 | 0) >> 2] = (HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 32 | 0; + label$43 : { + label$44 : while (1) { + if (!((HEAP32[($4_1 + 136 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$43 + } + $578_1 = 16; + $582_1 = 16; + label$45 : { + label$46 : { + if ((((HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $578_1 | 0) >> $578_1 | 0 | 0) > (((HEAPU16[($4_1 + 126 | 0) >> 1] | 0) << $582_1 | 0) >> $582_1 | 0 | 0) & 1 | 0) { + break label$46 + } + $592_1 = 16; + $596_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $592_1 | 0) >> $592_1 | 0 | 0) == (((HEAPU16[($4_1 + 126 | 0) >> 1] | 0) << $596_1 | 0) >> $596_1 | 0 | 0) & 1 | 0)) { + break label$45 + } + $606_1 = 16; + $610_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $606_1 | 0) >> $606_1 | 0 | 0) > (((HEAPU16[($4_1 + 124 | 0) >> 1] | 0) << $610_1 | 0) >> $610_1 | 0 | 0) & 1 | 0)) { + break label$45 + } + } + HEAP16[($4_1 + 126 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0; + HEAP16[($4_1 + 124 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0; + HEAP32[($4_1 + 132 | 0) >> 2] = HEAP32[($4_1 + 136 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 136 | 0) >> 2] = (HEAP32[($4_1 + 136 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 100 | 0) >> 2] = (HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0; + continue label$44; + }; + } + } + } + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$21; + }; + } + HEAP32[($4_1 + 140 | 0) >> 2] = (HEAP32[($4_1 + 140 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 104 | 0) >> 2] = (HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 32 | 0; + continue label$19; + }; + } + HEAP32[($4_1 + 104 | 0) >> 2] = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + HEAP32[($4_1 + 112 | 0) >> 2] = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + HEAP32[($4_1 + 116 | 0) >> 2] = HEAP32[($4_1 + 120 | 0) >> 2] | 0; + HEAP32[($4_1 + 144 | 0) >> 2] = (HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + label$47 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$47 + } + $349(HEAP32[($4_1 + 152 | 0) >> 2] | 0 | 0, 32510 | 0, 0 | 0); + $23(HEAP32[($4_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 172 | 0) >> 2] = 1; + break label$6; + } + HEAP32[($4_1 + 104 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + HEAP32[($4_1 + 140 | 0) >> 2] = 1; + label$48 : { + label$49 : while (1) { + if (!((HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$48 + } + $662_1 = 16; + $671_1 = 16; + label$50 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $662_1 | 0) >> $662_1 | 0 | 0) > (((HEAPU16[(((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 140 | 0) >> 2] | 0) << 5 | 0) | 0) + 18 | 0) >> 1] | 0) << $671_1 | 0) >> $671_1 | 0 | 0) & 1 | 0)) { + break label$50 + } + HEAP32[($4_1 + 104 | 0) >> 2] = (HEAP32[($4_1 + 112 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 140 | 0) >> 2] | 0) << 5 | 0) | 0; + } + HEAP32[($4_1 + 140 | 0) >> 2] = (HEAP32[($4_1 + 140 | 0) >> 2] | 0) + 1 | 0; + continue label$49; + }; + } + HEAP32[($4_1 + 144 | 0) >> 2] = 0; + label$51 : { + label$52 : while (1) { + if (!((HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$51 + } + HEAP32[($4_1 + 52 | 0) >> 2] = ((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 752 | 0) + Math_imul(HEAP32[($4_1 + 144 | 0) >> 2] | 0, 88) | 0; + $708_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 144 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 96 | 0) >> 2] = $708_1; + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 72 | 0) >> 2] = $708_1; + HEAP8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 52 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0; + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0, 72) | 0) + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 144 | 0) >> 2] = (HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 1 | 0; + continue label$52; + }; + } + label$53 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$53 + } + if (((HEAPU16[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0) { + break label$53 + } + if ((HEAPU8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 47 | 0) >> 0] | 0) & 255 | 0) { + break label$53 + } + $746_1 = 16; + if (!(((HEAPU16[($4_1 + 166 | 0) >> 1] | 0) << $746_1 | 0) >> $746_1 | 0)) { + break label$53 + } + $774_1 = 24; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (($1731(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, 128 & 65535 | 0 | 0, ((HEAP32[($4_1 + 156 | 0) >> 2] | 0) - 1 | 0) & 65535 | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 156 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $4_1 + 40 | 0 | 0) | 0) << $774_1 | 0) >> $774_1 | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$54 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$54 + } + HEAP8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 47 | 0) >> 0] = 2; + } + } + $789_1 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + HEAP8[($789_1 + 48 | 0) >> 0] = (HEAPU8[($789_1 + 48 | 0) >> 0] | 0) & -5 | 0; + label$55 : { + if (!((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$55 + } + label$56 : { + label$57 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$57 + } + $808_1 = 24; + label$58 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) << $808_1 | 0) >> $808_1 | 0 | 0) == (HEAP32[(HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$58 + } + HEAP8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 47 | 0) >> 0] = 2; + } + break label$56; + } + HEAP8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 45 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $2870_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] = $2870_1; + HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] = i64toi32_i32$0; + $829_1 = 24; + label$59 : { + label$60 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 45 | 0) >> 0] | 0) << $829_1 | 0) >> $829_1 | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$60 + } + HEAP8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 45 | 0) >> 0] = 0; + label$61 : { + if (!((HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$61 + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 156 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$62 : { + if ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 4096 | 0) { + break label$62 + } + if (!(((HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 260 | 0 | 0) != (260 | 0) & 1 | 0)) { + break label$62 + } + i64toi32_i32$0 = 0; + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + $893_1 = 24; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (($1731(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, 2048 & 65535 | 0 | 0, ((HEAP32[($4_1 + 156 | 0) >> 2] | 0) - 1 | 0) & 65535 | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 156 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $4_1 + 24 | 0 | 0) | 0) << $893_1 | 0) >> $893_1 | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$63 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$63 + } + $905_1 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + HEAP8[($905_1 + 48 | 0) >> 0] = HEAPU8[($905_1 + 48 | 0) >> 0] | 0 | 4 | 0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $3039_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] = $3039_1; + HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] = i64toi32_i32$3; + } + } + } + break label$59; + } + label$64 : { + if (!(HEAP32[($4_1 + 156 | 0) >> 2] | 0)) { + break label$64 + } + $914_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 45 | 0) >> 0] | 0) << $914_1 | 0) >> $914_1 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$64 + } + if (!(((HEAPU16[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 3 | 0)) { + break label$64 + } + $928_1 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + HEAP8[($928_1 + 48 | 0) >> 0] = HEAPU8[($928_1 + 48 | 0) >> 0] | 0 | 4 | 0; + } + } + } + label$65 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 512 | 0)) { + break label$65 + } + $940_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 45 | 0) >> 0] | 0) << $940_1 | 0) >> $940_1 | 0 | 0) == (HEAP32[(HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$65 + } + if (!((HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$65 + } + i64toi32_i32$3 = 0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$3; + $983_1 = 24; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (($1731(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, 0 & 65535 | 0 | 0, ((HEAP32[($4_1 + 156 | 0) >> 2] | 0) - 1 | 0) & 65535 | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 156 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0) << $983_1 | 0) >> $983_1 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$66 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$66 + } + $995_1 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + HEAP8[($995_1 + 48 | 0) >> 0] = HEAPU8[($995_1 + 48 | 0) >> 0] | 0 | 8 | 0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $3225_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] = $3225_1; + HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] = i64toi32_i32$0; + } + } + } + HEAP16[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 50 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0; + $23(HEAP32[($4_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 172 | 0) >> 2] = 0; + } + $1006_1 = HEAP32[($4_1 + 172 | 0) >> 2] | 0; + global$0 = $4_1 + 176 | 0; + return $1006_1 | 0; + } + + function $1687($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $36$hi = 0, $36_1 = 0, $103$hi = 0, $107_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = $1733(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $36_1 = i64toi32_i32$0; + $36$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $103$hi = i64toi32_i32$0; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$0 = $103$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $107_1 = i64toi32_i32$2 | $36_1 | 0; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $107_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$2; + return i64toi32_i32$1 | 0; + } + + function $1688($0_1, $1_1, $2_1, $3_1, $3$hi, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $419_1 = 0, $8_1 = 0, $340_1 = 0, $498$hi = 0, $509$hi = 0, $525$hi = 0, $533$hi = 0, $542$hi = 0, $547$hi = 0, $556$hi = 0, $564$hi = 0, $384_1 = 0, $500$hi = 0, $504_1 = 0, $504$hi = 0, $505$hi = 0, $506$hi = 0, $98_1 = 0, $510$hi = 0, $511$hi = 0, $513$hi = 0, $111_1 = 0, $515$hi = 0, $122_1 = 0, $518$hi = 0, $519$hi = 0, $520$hi = 0, $521$hi = 0, $522$hi = 0, $523$hi = 0, $129_1 = 0, $138_1 = 0, $141_1 = 0, $526$hi = 0, $527$hi = 0, $528$hi = 0, $99_1 = 0, $529$hi = 0, $531$hi = 0, $534$hi = 0, $535$hi = 0, $537$hi = 0, $170_1 = 0, $179_1 = 0, $188_1 = 0, $542_1 = 0, $543$hi = 0, $544$hi = 0, $100_1 = 0, $548$hi = 0, $549$hi = 0, $551$hi = 0, $553$hi = 0, $253_1 = 0, $557$hi = 0, $558$hi = 0, $559$hi = 0, $101_1 = 0, $560$hi = 0, $562$hi = 0, $565$hi = 0, $566$hi = 0, $568$hi = 0, $309_1 = 0, $351_1 = 0, $352_1 = 0, $415_1 = 0, $462_1 = 0, $469_1 = 0, $497$hi = 0, $87_1 = 0, $510_1 = 0, $818_1 = 0, $108_1 = 0, $110_1 = 0, $515_1 = 0, $872$hi = 0, $876_1 = 0, $518_1 = 0, $911_1 = 0, $914_1 = 0, $525_1 = 0, $527_1 = 0, $548_1 = 0, $1169_1 = 0, $553_1 = 0, $1191$hi = 0, $1195_1 = 0, $556_1 = 0, $558_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 176 | 0; + global$0 = $7_1; + i64toi32_i32$0 = 0; + $497$hi = i64toi32_i32$0; + $8_1 = 0; + HEAP32[($7_1 + 172 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 168 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 164 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 152 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 156 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 148 | 0) >> 2] = $4_1; + HEAP8[($7_1 + 71 | 0) >> 0] = 0; + HEAP32[($7_1 + 64 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 128 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1276(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 144 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 120 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 164 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 136 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 48) | 0; + HEAP32[($7_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = $497$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 80 | 0) >> 2] = 0; + HEAP32[($7_1 + 84 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 140 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 136 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $498$hi = i64toi32_i32$0; + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 140 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $500$hi = i64toi32_i32$1; + i64toi32_i32$1 = $498$hi; + i64toi32_i32$1 = $500$hi; + i64toi32_i32$1 = $498$hi; + i64toi32_i32$1 = $500$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $498$hi; + i64toi32_i32$3 = 0; + label$4 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$4 + } + if (((HEAPU16[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0) { + break label$4 + } + if ((HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0) { + break label$4 + } + if (!($1673(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 164 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1240(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, $1310(HEAP32[(HEAP32[($7_1 + 172 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 156 | 0) >> 2] | 0; + label$5 : { + if (!($1734(HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0)) { + break label$5 + } + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$6 : { + label$7 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) >= (64 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$1 = -2147483648; + $504_1 = 0; + $504$hi = i64toi32_i32$1; + break label$6; + } + i64toi32_i32$1 = 0; + $505$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $506$hi = i64toi32_i32$1; + i64toi32_i32$1 = $505$hi; + i64toi32_i32$1 = $506$hi; + i64toi32_i32$1 = $505$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = $506$hi; + i64toi32_i32$0 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + $98_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $98_1 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + } + $504_1 = $98_1; + $504$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $504$hi; + i64toi32_i32$3 = $7_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $504_1; + HEAP32[($7_1 + 36 | 0) >> 2] = i64toi32_i32$2; + label$8 : { + if (((HEAPU8[($7_1 + 71 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$8 + } + $87_1 = HEAP32[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 40 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = $87_1; + $82(284 | 0, 32528 | 0, $7_1 | 0); + HEAP8[($7_1 + 71 | 0) >> 0] = 1; + } + i64toi32_i32$2 = 0; + $509$hi = i64toi32_i32$2; + i64toi32_i32$1 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + $510_1 = i64toi32_i32$2; + $510$hi = i64toi32_i32$3; + i64toi32_i32$1 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $511$hi = i64toi32_i32$2; + i64toi32_i32$2 = $510$hi; + i64toi32_i32$2 = $511$hi; + $818_1 = i64toi32_i32$3; + i64toi32_i32$2 = $510$hi; + i64toi32_i32$1 = $510_1; + i64toi32_i32$3 = $511$hi; + i64toi32_i32$0 = $818_1; + i64toi32_i32$3 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $513$hi = i64toi32_i32$3; + i64toi32_i32$3 = $509$hi; + i64toi32_i32$3 = $513$hi; + i64toi32_i32$3 = $509$hi; + i64toi32_i32$3 = $513$hi; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + i64toi32_i32$1 = $509$hi; + i64toi32_i32$0 = 0; + label$9 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!($1735(HEAP32[(HEAP32[($7_1 + 172 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 144 | 0) >> 2] | 0) + 1 | 0 | 0) | 0)) { + break label$10 + } + break label$1; + } + $108_1 = HEAP32[($7_1 + 140 | 0) >> 2] | 0; + $110_1 = HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + $111_1 = HEAP32[($7_1 + 144 | 0) >> 2] | 0; + HEAP32[($7_1 + 144 | 0) >> 2] = $111_1 + 1 | 0; + HEAP32[($110_1 + ($111_1 << 2 | 0) | 0) >> 2] = $108_1; + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $515_1 = i64toi32_i32$2; + $515$hi = i64toi32_i32$3; + i64toi32_i32$0 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + $872$hi = i64toi32_i32$2; + i64toi32_i32$2 = $515$hi; + i64toi32_i32$2 = $872$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $515$hi; + i64toi32_i32$1 = $515_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $876_1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $876_1; + HEAP32[($7_1 + 84 | 0) >> 2] = i64toi32_i32$3; + } + } + HEAP32[($7_1 + 140 | 0) >> 2] = (HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 48 | 0; + continue label$3; + }; + } + $122_1 = HEAP32[($7_1 + 144 | 0) >> 2] | 0; + HEAP16[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 1] = $122_1; + HEAP16[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 24 | 0) >> 1] = $122_1; + HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] = 16961; + i64toi32_i32$2 = HEAP32[($7_1 + 164 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $518_1 = i64toi32_i32$3; + $518$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + $519$hi = i64toi32_i32$3; + i64toi32_i32$3 = -1; + $520$hi = i64toi32_i32$3; + i64toi32_i32$3 = $519$hi; + i64toi32_i32$3 = $520$hi; + i64toi32_i32$3 = $519$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $520$hi; + i64toi32_i32$1 = -1; + i64toi32_i32$0 = i64toi32_i32$3 ^ i64toi32_i32$0 | 0; + $521$hi = i64toi32_i32$0; + i64toi32_i32$0 = -2147483648; + $522$hi = i64toi32_i32$0; + i64toi32_i32$0 = $521$hi; + i64toi32_i32$0 = $522$hi; + i64toi32_i32$0 = $521$hi; + i64toi32_i32$3 = i64toi32_i32$2 ^ i64toi32_i32$1 | 0; + i64toi32_i32$2 = $522$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $523$hi = i64toi32_i32$2; + i64toi32_i32$2 = $518$hi; + i64toi32_i32$2 = $523$hi; + $911_1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + i64toi32_i32$2 = $518$hi; + i64toi32_i32$0 = $518_1; + i64toi32_i32$3 = $523$hi; + i64toi32_i32$1 = $911_1; + i64toi32_i32$3 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $914_1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $914_1; + HEAP32[($7_1 + 76 | 0) >> 2] = i64toi32_i32$3; + $129_1 = 16; + label$11 : { + label$12 : { + if (!((63 | 0) < (((HEAPU16[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $129_1 | 0) >> $129_1 | 0 | 0) & 1 | 0)) { + break label$12 + } + $138_1 = 63; + break label$11; + } + $141_1 = 16; + $138_1 = ((HEAPU16[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $141_1 | 0) >> $141_1 | 0; + } + HEAP32[($7_1 + 100 | 0) >> 2] = $138_1; + HEAP32[($7_1 + 104 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + i64toi32_i32$3 = 0; + $525_1 = 0; + $525$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $526$hi = i64toi32_i32$3; + i64toi32_i32$2 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $527_1 = i64toi32_i32$3; + $527$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $528$hi = i64toi32_i32$0; + i64toi32_i32$0 = $526$hi; + i64toi32_i32$0 = $528$hi; + i64toi32_i32$0 = $526$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$3 = $528$hi; + i64toi32_i32$1 = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $99_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $99_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $529$hi = i64toi32_i32$3; + i64toi32_i32$3 = $527$hi; + i64toi32_i32$3 = $529$hi; + i64toi32_i32$3 = $527$hi; + i64toi32_i32$0 = $527_1; + i64toi32_i32$2 = $529$hi; + i64toi32_i32$1 = $99_1; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $531$hi = i64toi32_i32$2; + i64toi32_i32$2 = $525$hi; + i64toi32_i32$2 = $531$hi; + i64toi32_i32$2 = $525$hi; + i64toi32_i32$2 = $531$hi; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = $525$hi; + i64toi32_i32$1 = $525_1; + label$15 : { + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($7_1 + 144 | 0) >> 2] = (HEAP32[($7_1 + 144 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($7_1 + 104 | 0) >> 2] = (HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + i64toi32_i32$3 = 0; + $533$hi = i64toi32_i32$3; + i64toi32_i32$1 = HEAP32[($7_1 + 164 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; + $534$hi = i64toi32_i32$2; + i64toi32_i32$2 = -2147483648; + $535$hi = i64toi32_i32$2; + i64toi32_i32$2 = $534$hi; + i64toi32_i32$2 = $535$hi; + i64toi32_i32$2 = $534$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $535$hi; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $537$hi = i64toi32_i32$3; + i64toi32_i32$3 = $533$hi; + i64toi32_i32$3 = $537$hi; + i64toi32_i32$3 = $533$hi; + i64toi32_i32$3 = $537$hi; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + i64toi32_i32$1 = $533$hi; + i64toi32_i32$0 = 0; + label$16 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$16 + } + $170_1 = 16; + HEAP32[($7_1 + 144 | 0) >> 2] = (HEAP32[($7_1 + 144 | 0) >> 2] | 0) + (((((HEAPU16[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $170_1 | 0) >> $170_1 | 0) - 64 | 0) + 1 | 0) | 0; + } + $179_1 = 0; + $188_1 = 16; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1325(HEAP32[(HEAP32[($7_1 + 172 | 0) >> 2] | 0) >> 2] | 0 | 0, (((HEAP32[($7_1 + 144 | 0) >> 2] | 0) + 1 | 0) << $188_1 | 0) >> $188_1 | 0 | 0, $179_1 | 0, $7_1 + 88 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!((HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0) == ($179_1 | 0) & 1 | 0)) { + break label$17 + } + break label$1; + } + i64toi32_i32$2 = 0; + HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($7_1 + 132 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 132 | 0) >> 2] | 0) >> 2] = 32554; + HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 120 | 0) >> 2] | 0; + HEAP32[($7_1 + 108 | 0) >> 2] = 0; + i64toi32_i32$3 = $7_1; + HEAP32[($7_1 + 80 | 0) >> 2] = 0; + HEAP32[($7_1 + 84 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($7_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($7_1 + 140 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 136 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$18 + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 156 | 0) >> 2] | 0; + label$20 : { + if (!($1734(HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0)) { + break label$20 + } + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$21 : { + label$22 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) >= (64 | 0) & 1 | 0)) { + break label$22 + } + i64toi32_i32$3 = -2147483648; + $542_1 = 0; + $542$hi = i64toi32_i32$3; + break label$21; + } + i64toi32_i32$3 = 0; + $543$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $544$hi = i64toi32_i32$3; + i64toi32_i32$3 = $543$hi; + i64toi32_i32$3 = $544$hi; + i64toi32_i32$3 = $543$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$2 = $544$hi; + i64toi32_i32$1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $100_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $100_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $542_1 = $100_1; + $542$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $542$hi; + i64toi32_i32$2 = 0; + $547$hi = i64toi32_i32$2; + i64toi32_i32$2 = $542$hi; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $542_1; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + $548_1 = i64toi32_i32$2; + $548$hi = i64toi32_i32$0; + i64toi32_i32$3 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $549$hi = i64toi32_i32$2; + i64toi32_i32$2 = $548$hi; + i64toi32_i32$2 = $549$hi; + $1169_1 = i64toi32_i32$0; + i64toi32_i32$2 = $548$hi; + i64toi32_i32$3 = $548_1; + i64toi32_i32$0 = $549$hi; + i64toi32_i32$1 = $1169_1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $551$hi = i64toi32_i32$0; + i64toi32_i32$0 = $547$hi; + i64toi32_i32$0 = $551$hi; + i64toi32_i32$0 = $547$hi; + i64toi32_i32$0 = $551$hi; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + i64toi32_i32$3 = $547$hi; + i64toi32_i32$1 = 0; + label$23 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 140 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $553_1 = i64toi32_i32$2; + $553$hi = i64toi32_i32$0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + $1191$hi = i64toi32_i32$2; + i64toi32_i32$2 = $553$hi; + i64toi32_i32$2 = $1191$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $553$hi; + i64toi32_i32$3 = $553_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $1195_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $1195_1; + HEAP32[($7_1 + 84 | 0) >> 2] = i64toi32_i32$0; + HEAP16[((HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 108 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $427(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + label$25 : { + if (!((HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + $253_1 = HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] | 0; + break label$24; + } + $253_1 = 2261; + } + HEAP32[((HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 108 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $253_1; + HEAP32[($7_1 + 108 | 0) >> 2] = (HEAP32[($7_1 + 108 | 0) >> 2] | 0) + 1 | 0; + } + } + HEAP32[($7_1 + 140 | 0) >> 2] = (HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 48 | 0; + continue label$19; + }; + } + HEAP32[($7_1 + 104 | 0) >> 2] = 0; + label$26 : { + label$27 : while (1) { + if (!((HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + i64toi32_i32$0 = 0; + $556_1 = 0; + $556$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $557$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $558_1 = i64toi32_i32$0; + $558$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $559$hi = i64toi32_i32$1; + i64toi32_i32$1 = $557$hi; + i64toi32_i32$1 = $559$hi; + i64toi32_i32$1 = $557$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$0 = $559$hi; + i64toi32_i32$3 = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $101_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $101_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $560$hi = i64toi32_i32$0; + i64toi32_i32$0 = $558$hi; + i64toi32_i32$0 = $560$hi; + i64toi32_i32$0 = $558$hi; + i64toi32_i32$1 = $558_1; + i64toi32_i32$2 = $560$hi; + i64toi32_i32$3 = $101_1; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $562$hi = i64toi32_i32$2; + i64toi32_i32$2 = $556$hi; + i64toi32_i32$2 = $562$hi; + i64toi32_i32$2 = $556$hi; + i64toi32_i32$2 = $562$hi; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $556$hi; + i64toi32_i32$3 = $556_1; + label$28 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$28 + } + HEAP16[((HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 108 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 108 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 2261; + HEAP32[($7_1 + 108 | 0) >> 2] = (HEAP32[($7_1 + 108 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($7_1 + 104 | 0) >> 2] = (HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 1 | 0; + continue label$27; + }; + } + i64toi32_i32$0 = 0; + $564$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($7_1 + 164 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 60 | 0) >> 2] | 0; + $565$hi = i64toi32_i32$2; + i64toi32_i32$2 = -2147483648; + $566$hi = i64toi32_i32$2; + i64toi32_i32$2 = $565$hi; + i64toi32_i32$2 = $566$hi; + i64toi32_i32$2 = $565$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $566$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $568$hi = i64toi32_i32$0; + i64toi32_i32$0 = $564$hi; + i64toi32_i32$0 = $568$hi; + i64toi32_i32$0 = $564$hi; + i64toi32_i32$0 = $568$hi; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + i64toi32_i32$3 = $564$hi; + i64toi32_i32$1 = 0; + label$29 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($7_1 + 104 | 0) >> 2] = 63; + label$30 : { + label$31 : while (1) { + $309_1 = 16; + if (!((HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $309_1 | 0) >> $309_1 | 0 | 0) & 1 | 0)) { + break label$30 + } + HEAP16[((HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 108 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 108 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 2261; + HEAP32[($7_1 + 108 | 0) >> 2] = (HEAP32[($7_1 + 108 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 104 | 0) >> 2] = (HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 1 | 0; + continue label$31; + }; + } + } + $340_1 = 1; + HEAP16[((HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 108 | 0) >> 2] | 0) << $340_1 | 0) | 0) >> 1] = 65535; + HEAP32[((HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 108 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 2261; + $351_1 = HEAP32[($7_1 + 172 | 0) >> 2] | 0; + $352_1 = HEAP32[($351_1 + 40 | 0) >> 2] | 0; + HEAP32[($351_1 + 40 | 0) >> 2] = $352_1 + $340_1 | 0; + HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 8 | 0) >> 2] = $352_1; + $366(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 99 | 0, HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 144 | 0) >> 2] | 0) + $340_1 | 0 | 0) | 0; + $1405(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 56 | 0) >> 2] = ((HEAP32[((HEAP32[(HEAP32[($7_1 + 168 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAPU8[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0, 72) | 0) + 8 | 0; + label$32 : { + label$33 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 4 | 0) & $340_1 | 0) & 255 | 0)) { + break label$33 + } + $384_1 = 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 69 | 0, $384_1 | 0, $384_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 13 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, $384_1 | 0, HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + break label$32; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + label$34 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$34 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + $1390(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, 16 | 0); + $415_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + HEAP32[($415_1 + 36 | 0) >> 2] = HEAP32[($415_1 + 36 | 0) >> 2] | 0 | 131072 | 0; + } + $419_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1469(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0, $419_1 | 0, $419_1 | 0, $419_1 | 0, $419_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 16 & 65535 | 0 | 0); + label$35 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) != ($419_1 | 0) & 1 | 0)) { + break label$35 + } + $1369(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0); + } + label$36 : { + label$37 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 4 | 0) & 1 | 0) & 255 | 0)) { + break label$37 + } + $1495(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + (HEAP32[($7_1 + 108 | 0) >> 2] | 0) | 0 | 0); + $462_1 = HEAP32[($7_1 + 148 | 0) >> 2] | 0; + $1705(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($462_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[($462_1 + 8 | 0) >> 2] | 0 | 0); + $1282(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0) | 0; + $469_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP8[($469_1 + 37 | 0) >> 0] = (HEAPU8[($469_1 + 37 | 0) >> 0] | 0) & -17 | 0; + break label$36; + } + $366(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $354(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 3 & 65535 | 0 | 0); + } + $1277(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0); + } + $18(HEAP32[(HEAP32[($7_1 + 172 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 176 | 0; + return; + } + + function $1689($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $60_1 = 0, $7_1 = 0, $17_1 = 0, $88_1 = 0, $12_1 = 0, $188_1 = 0, $232_1 = 0, $255_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 288 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 280 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 276 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 272 | 0) >> 2] = $2_1; + HEAP16[($6_1 + 270 | 0) >> 1] = $3_1; + HEAP32[($6_1 + 264 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$1; + } + $17_1 = HEAP32[($6_1 + 280 | 0) >> 2] | 0; + } + label$3 : { + label$4 : { + if (!(((HEAPU8[($17_1 + 203 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 260 | 0) >> 2] = ((HEAP32[($6_1 + 276 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($6_1 + 272 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0, 72) | 0; + HEAP32[($6_1 + 256 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 252 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 280 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 244 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 272 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[($6_1 + 240 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 244 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if ((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 8192 | 0) { + break label$6 + } + if (!(((HEAPU16[($6_1 + 270 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$5 + } + } + HEAP32[($6_1 + 284 | 0) >> 2] = 0; + break label$3; + } + $60_1 = 1; + label$7 : { + if ((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 48 | 0) { + break label$7 + } + label$8 : { + if ((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 1024 | 0) { + break label$8 + } + $60_1 = 1; + if (((HEAPU16[((HEAP32[($6_1 + 244 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) > (0 | 0) & 1 | 0) { + break label$7 + } + } + $60_1 = (((HEAPU16[($6_1 + 270 | 0) >> 1] | 0) & 65535 | 0) & 3 | 0 | 0) != (0 | 0); + } + $88_1 = $6_1 + 208 | 0; + HEAP32[($6_1 + 248 | 0) >> 2] = $60_1 & 1 | 0; + $77($88_1 | 0, HEAP32[($6_1 + 252 | 0) >> 2] | 0 | 0, $6_1 + 96 | 0 | 0, 100 | 0, 1e9 | 0); + $60($88_1 | 0, (HEAP32[($6_1 + 248 | 0) >> 2] | 0 ? 32565 : 32572) | 0); + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $84($6_1 + 208 | 0 | 0, 32577 | 0, $6_1 + 64 | 0 | 0); + break label$9; + } + HEAP32[($6_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $84($6_1 + 208 | 0 | 0, 32590 | 0, $6_1 + 80 | 0 | 0); + } + label$11 : { + if (!((HEAP32[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $84($6_1 + 208 | 0 | 0, 32600 | 0, $6_1 + 48 | 0 | 0); + } + label$12 : { + label$13 : { + if ((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 1280 | 0) { + break label$13 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + HEAP32[($6_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 244 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (!((HEAP32[((HEAP32[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$15 + } + $12_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + if (!((((HEAPU8[($12_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($12_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$15 + } + label$16 : { + if (!(HEAP32[($6_1 + 248 | 0) >> 2] | 0)) { + break label$16 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 32607; + } + break label$14; + } + label$17 : { + label$18 : { + if (!((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 131072 | 0)) { + break label$18 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 32619; + break label$17; + } + label$19 : { + label$20 : { + if (!((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 16384 | 0)) { + break label$20 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 32652; + break label$19; + } + label$21 : { + label$22 : { + if (!((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 64 | 0)) { + break label$22 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 32677; + break label$21; + } + HEAP32[($6_1 + 92 | 0) >> 2] = 32695; + } + } + } + } + label$23 : { + if (!((HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + $51($6_1 + 208 | 0 | 0, 32704 | 0, 7 | 0); + $188_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[(HEAP32[($6_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + $84($6_1 + 208 | 0 | 0, $188_1 | 0, $6_1 | 0); + $1736($6_1 + 208 | 0 | 0, HEAP32[($6_1 + 244 | 0) >> 2] | 0 | 0); + } + break label$12; + } + label$24 : { + label$25 : { + if (!((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 256 | 0)) { + break label$25 + } + if (!((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 15 | 0)) { + break label$25 + } + label$26 : { + label$27 : { + if (!((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 5 | 0)) { + break label$27 + } + HEAP32[($6_1 + 84 | 0) >> 2] = 32712; + break label$26; + } + label$28 : { + label$29 : { + if (!(((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 48 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($6_1 + 84 | 0) >> 2] = 32714; + break label$28; + } + label$30 : { + label$31 : { + if (!((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 32 | 0)) { + break label$31 + } + HEAP32[($6_1 + 84 | 0) >> 2] = 32728; + break label$30; + } + HEAP32[($6_1 + 84 | 0) >> 2] = 32730; + } + } + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + $84($6_1 + 208 | 0 | 0, 32732 | 0, $6_1 + 16 | 0 | 0); + break label$24; + } + label$32 : { + if (!((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 1024 | 0)) { + break label$32 + } + $232_1 = HEAP32[((HEAP32[($6_1 + 244 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 244 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = $232_1; + $84($6_1 + 208 | 0 | 0, 32770 | 0, $6_1 + 32 | 0 | 0); + } + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $72($6_1 + 208 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1278(HEAP32[($6_1 + 256 | 0) >> 2] | 0 | 0, 175 | 0, $1296(HEAP32[($6_1 + 256 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 236 | 0) >> 2] | 0 | 0, -7 | 0) | 0), HEAP32[(wasm2js_i32$0 + 264 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($6_1 + 284 | 0) >> 2] = HEAP32[($6_1 + 264 | 0) >> 2] | 0; + } + $255_1 = HEAP32[($6_1 + 284 | 0) >> 2] | 0; + global$0 = $6_1 + 288 | 0; + return $255_1 | 0; + } + + function $1690($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $5$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $5$hi = $5$hi | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $2291_1 = 0, $658_1 = 0, i64toi32_i32$4 = 0, $1523_1 = 0, $2294_1 = 0, $9_1 = 0, $442_1 = 0, $137_1 = 0, $138_1 = 0, $139_1 = 0, $40_1 = 0, $340_1 = 0, $2386$hi = 0, $832_1 = 0, $1801_1 = 0, $2394$hi = 0, $2407$hi = 0, $2376$hi = 0, $2377$hi = 0, $2378$hi = 0, $2379$hi = 0, $2381$hi = 0, $2382$hi = 0, $140_1 = 0, $2383$hi = 0, $2384$hi = 0, $44_1 = 0, $63_1 = 0, $66_1 = 0, $80_1 = 0, $199_1 = 0, $203_1 = 0, $350_1 = 0, $357_1 = 0, $395_1 = 0, $398_1 = 0, $2387$hi = 0, $2388$hi = 0, $2390$hi = 0, $428_1 = 0, $450_1 = 0, $463_1 = 0, $496_1 = 0, $564_1 = 0, $567_1 = 0, $639_1 = 0, $642_1 = 0, $659_1 = 0, $679_1 = 0, $697_1 = 0, $709_1 = 0, $727_1 = 0, $739_1 = 0, $741_1 = 0, $744_1 = 0, $752_1 = 0, $772_1 = 0, $792_1 = 0, $829_1 = 0, $928_1 = 0, $940_1 = 0, $962_1 = 0, $984_1 = 0, $1075_1 = 0, $1159_1 = 0, $1289_1 = 0, $1379_1 = 0, $1439_1 = 0, $1443_1 = 0, $1524_1 = 0, $1525_1 = 0, $1528_1 = 0, $1531_1 = 0, $1639_1 = 0, $1642_1 = 0, $1648_1 = 0, $1649_1 = 0, $1660_1 = 0, $1663_1 = 0, $1783_1 = 0, $1842_1 = 0, $1885_1 = 0, $1941_1 = 0, $141_1 = 0, $1986_1 = 0, $2395$hi = 0, $2396$hi = 0, $2398$hi = 0, $2106_1 = 0, $2183_1 = 0, $2246_1 = 0, $2295_1 = 0, $2299_1 = 0, $2302_1 = 0, $2305_1 = 0, $2308_1 = 0, $2311_1 = 0, $2408$hi = 0, $2409$hi = 0, $2411$hi = 0, $2361_1 = 0, $2376_1 = 0, $2501_1 = 0, $2506_1 = 0, $130_1 = 0, $247_1 = 0, $2387_1 = 0, $3392 = 0, $449_1 = 0, $462_1 = 0, $678_1 = 0, $708_1 = 0, $750_1 = 0, $841_1 = 0, $1305_1 = 0, $5936 = 0, $1795_1 = 0, $2069_1 = 0, $2395_1 = 0, $7100 = 0, $7505 = 0, $7525 = 0, $7535 = 0, $7545 = 0, $7555 = 0, $7565 = 0, $2330_1 = 0, $2408_1 = 0, $7664 = 0, $7719 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 496 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 484 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 480 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 476 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 472 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 468 | 0) >> 2] = $4_1; + i64toi32_i32$0 = $5$hi; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 456 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 460 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 400 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 396 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 392 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 428 | 0) >> 2] = (HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 80 | 0; + HEAP32[($8_1 + 420 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 484 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 432 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[($8_1 + 416 | 0) >> 2] = ((HEAP32[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0, 72) | 0; + HEAP32[($8_1 + 444 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 416 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 456 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 460 | 0) >> 2] | 0; + $2376_1 = i64toi32_i32$0; + $2376$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1726((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 488 | 0 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $2377$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $2378$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2377$hi; + i64toi32_i32$0 = $2378$hi; + i64toi32_i32$0 = $2377$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $2378$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0; + $2379$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2376$hi; + i64toi32_i32$1 = $2379$hi; + $2501_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$1 = $2376$hi; + i64toi32_i32$0 = $2376_1; + i64toi32_i32$2 = $2379$hi; + i64toi32_i32$3 = $2501_1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $2506_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 468 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 80 | 0) >> 2] = $2506_1; + HEAP32[(i64toi32_i32$0 + 84 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($8_1 + 476 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] | 0; + $2381$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2382$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2381$hi; + i64toi32_i32$0 = $2382$hi; + i64toi32_i32$0 = $2381$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $2382$hi; + i64toi32_i32$3 = HEAP32[($8_1 + 472 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $140_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $140_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + $2383$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $2384$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2383$hi; + i64toi32_i32$2 = $2384$hi; + i64toi32_i32$2 = $2383$hi; + i64toi32_i32$0 = $140_1; + i64toi32_i32$1 = $2384$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + HEAP32[($8_1 + 436 | 0) >> 2] = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $40_1 = $1358(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 16 | 0) >> 2] = $40_1; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 12 | 0) >> 2] = $40_1; + HEAP32[($8_1 + 412 | 0) >> 2] = $40_1; + $44_1 = $1358(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 24 | 0) >> 2] = $44_1; + HEAP32[($8_1 + 404 | 0) >> 2] = $44_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0 | 0) > ($9_1 | 0) & 1 | 0)) { + break label$1 + } + if (!(((HEAPU8[((HEAP32[($8_1 + 416 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$1 + } + $63_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $66_1 = (HEAP32[($63_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($63_1 + 44 | 0) >> 2] = $66_1; + HEAP32[(HEAP32[($8_1 + 468 | 0) >> 2] | 0) >> 2] = $66_1; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[(HEAP32[($8_1 + 468 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($8_1 + 452 | 0) >> 2] = HEAP32[($8_1 + 472 | 0) >> 2] | 0; + label$2 : while (1) { + $80_1 = 0; + label$3 : { + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + $80_1 = (HEAP32[(((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 752 | 0) + Math_imul(HEAP32[($8_1 + 452 | 0) >> 2] | 0, 88) | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$4 : { + if (!($80_1 & 1 | 0)) { + break label$4 + } + HEAP32[($8_1 + 452 | 0) >> 2] = (HEAP32[($8_1 + 452 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + } + break label$2; + }; + HEAP32[($8_1 + 408 | 0) >> 2] = HEAP32[(((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 452 | 0) >> 2] | 0, 88) | 0) + 764 | 0) >> 2] | 0; + label$5 : { + label$6 : { + label$7 : { + if (!((((HEAPU8[((HEAP32[($8_1 + 416 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 4 | 0) & 1 | 0) & 255 | 0)) { + break label$7 + } + HEAP32[($8_1 + 384 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 416 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $367(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 13 | 0, HEAP32[($8_1 + 384 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($8_1 + 416 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + $130_1 = $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[($8_1 + 384 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 412 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 60 | 0) >> 2] = $130_1; + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = 11; + break label$6; + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1024 | 0)) { + break label$9 + } + HEAP32[($8_1 + 372 | 0) >> 2] = (HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1379(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 372 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 380 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 376 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 372 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($8_1 + 364 | 0) >> 2] = ((HEAP32[($8_1 + 380 | 0) >> 2] | 0) + (HEAP32[($8_1 + 452 | 0) >> 2] | 0) | 0) + 2 | 0; + HEAP32[($8_1 + 424 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 452 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$12 : { + label$13 : { + if (!((HEAP32[($8_1 + 424 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + break label$12; + } + label$14 : { + label$15 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$15 + } + $1737(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 424 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 436 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 364 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 376 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$14; + } + HEAP32[($8_1 + 360 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($8_1 + 424 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $1738(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 360 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 364 | 0) >> 2] | 0 | 0, 1 | 0); + } + } + HEAP32[($8_1 + 452 | 0) >> 2] = (HEAP32[($8_1 + 452 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + $199_1 = 0; + $203_1 = 69; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, $203_1 | 0, HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 380 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, $203_1 | 0, HEAP32[($8_1 + 372 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 380 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $1278(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 9 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 380 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 255 | 0 ? -7 : -1) | 0) | 0; + HEAP8[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 28 | 0) >> 0] = $199_1; + label$16 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 420 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != ($199_1 & 255 | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + } + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8_1 + 444 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = (HEAPU8[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0 ? 174 : 61; + $247_1 = $1296(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 60 | 0) >> 2] = $247_1; + HEAP32[($8_1 + 368 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = (HEAP32[($8_1 + 372 | 0) >> 2] | 0) - 1 | 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($8_1 + 424 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 452 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$19 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($8_1 + 368 | 0) >> 2] = (HEAP32[($8_1 + 368 | 0) >> 2] | 0) + -1 | 0; + } + label$20 : { + label$21 : { + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$21 + } + if (!((((HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 30 | 0) >> 1] | 0) & 65535 | 0) >> (HEAP32[($8_1 + 452 | 0) >> 2] | 0) | 0) & 1 | 0)) { + break label$21 + } + $1739(HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 424 | 0) >> 2] | 0 | 0); + break label$20; + } + label$22 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$22 + } + if (!(($1432(HEAP32[((HEAP32[(HEAP32[($8_1 + 424 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + if (((HEAPU8[((HEAP32[($8_1 + 420 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$23 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1467(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 368 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 348 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, (HEAPU8[(HEAP32[($8_1 + 348 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[((HEAP32[($8_1 + 348 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 348 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 348 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + $340_1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1197(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, 53 | 0, $340_1 | 0, $340_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 356 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($8_1 + 356 | 0) >> 2] | 0 | 0) != ($340_1 | 0) & 1 | 0)) { + break label$24 + } + $350_1 = 0; + HEAP32[((HEAP32[($8_1 + 356 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($8_1 + 424 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $357_1 = $1217(HEAP32[($8_1 + 420 | 0) >> 2] | 0 | 0, 173 | 0, $350_1 | 0) | 0; + HEAP32[($8_1 + 352 | 0) >> 2] = $357_1; + HEAP32[((HEAP32[($8_1 + 356 | 0) >> 2] | 0) + 16 | 0) >> 2] = $357_1; + label$25 : { + if (!((HEAP32[($8_1 + 352 | 0) >> 2] | 0 | 0) != ($350_1 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[((HEAP32[($8_1 + 352 | 0) >> 2] | 0) + 28 | 0) >> 2] = ((HEAP32[($8_1 + 380 | 0) >> 2] | 0) + (HEAP32[($8_1 + 452 | 0) >> 2] | 0) | 0) + 2 | 0; + $1390(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 356 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 16 | 0); + } + HEAP32[((HEAP32[($8_1 + 356 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + $18(HEAP32[($8_1 + 420 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 356 | 0) >> 2] | 0 | 0); + } + } + } + HEAP32[($8_1 + 452 | 0) >> 2] = (HEAP32[($8_1 + 452 | 0) >> 2] | 0) + -1 | 0; + continue label$18; + }; + } + break label$8; + } + label$26 : { + label$27 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 256 | 0)) { + break label$27 + } + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 5 | 0)) { + break label$27 + } + HEAP32[($8_1 + 424 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] | 0; + $395_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $398_1 = (HEAP32[($395_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($395_1 + 44 | 0) >> 2] = $398_1; + HEAP32[($8_1 + 396 | 0) >> 2] = $398_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1737(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 424 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 436 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 396 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 400 | 0) >> 2] = wasm2js_i32$1; + label$28 : { + if (!((HEAP32[($8_1 + 400 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 396 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + $1383(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 396 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$1 = 0; + $2386$hi = i64toi32_i32$1; + HEAP32[($8_1 + 440 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $367(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 31 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 440 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 400 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = 174; + i64toi32_i32$2 = HEAP32[($8_1 + 424 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $2387_1 = i64toi32_i32$1; + $2387$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($8_1 + 468 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 84 | 0) >> 2] | 0; + $2388$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2387$hi; + i64toi32_i32$1 = $2388$hi; + $3392 = i64toi32_i32$0; + i64toi32_i32$1 = $2387$hi; + i64toi32_i32$2 = $2387_1; + i64toi32_i32$0 = $2388$hi; + i64toi32_i32$3 = $3392; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $2390$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2386$hi; + i64toi32_i32$0 = $2390$hi; + i64toi32_i32$0 = $2386$hi; + i64toi32_i32$0 = $2390$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $2386$hi; + i64toi32_i32$3 = 0; + label$29 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$29 + } + $428_1 = HEAP32[($8_1 + 424 | 0) >> 2] | 0; + HEAP16[($428_1 + 10 | 0) >> 1] = (HEAPU16[($428_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + } + break label$26; + } + label$30 : { + label$31 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 256 | 0)) { + break label$31 + } + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 2 | 0)) { + break label$31 + } + $442_1 = 0; + HEAP32[($8_1 + 344 | 0) >> 2] = 174; + HEAP32[($8_1 + 336 | 0) >> 2] = $442_1; + HEAP32[($8_1 + 452 | 0) >> 2] = $442_1; + HEAP32[($8_1 + 328 | 0) >> 2] = $442_1; + HEAP32[($8_1 + 332 | 0) >> 2] = $442_1; + label$32 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 32 | 0)) { + break label$32 + } + $449_1 = HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + $450_1 = HEAP32[($8_1 + 452 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = $450_1 + 1 | 0; + HEAP32[($8_1 + 332 | 0) >> 2] = HEAP32[($449_1 + ($450_1 << 2 | 0) | 0) >> 2] | 0; + } + label$33 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 16 | 0)) { + break label$33 + } + $462_1 = HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + $463_1 = HEAP32[($8_1 + 452 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = $463_1 + 1 | 0; + HEAP32[($8_1 + 328 | 0) >> 2] = HEAP32[($462_1 + ($463_1 << 2 | 0) | 0) >> 2] | 0; + } + label$34 : { + if (!(HEAP32[($8_1 + 436 | 0) >> 2] | 0)) { + break label$34 + } + HEAP32[($8_1 + 424 | 0) >> 2] = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + HEAP32[($8_1 + 332 | 0) >> 2] = HEAP32[($8_1 + 328 | 0) >> 2] | 0; + HEAP32[($8_1 + 328 | 0) >> 2] = HEAP32[($8_1 + 424 | 0) >> 2] | 0; + } + label$35 : { + label$36 : { + if (!((HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$36 + } + $137_1 = 0; + $138_1 = $8_1 + 308 | 0; + $139_1 = HEAPU8[($137_1 + 32828 | 0) >> 0] | 0 | ((HEAPU8[($137_1 + 32829 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($137_1 + 32830 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($137_1 + 32831 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$138_1 >> 0] = $139_1; + HEAP8[($138_1 + 1 | 0) >> 0] = $139_1 >>> 8 | 0; + HEAP8[($138_1 + 2 | 0) >> 0] = $139_1 >>> 16 | 0; + HEAP8[($138_1 + 3 | 0) >> 0] = $139_1 >>> 24 | 0; + HEAP32[($8_1 + 324 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 332 | 0) >> 2] | 0) >> 2] | 0; + label$37 : { + label$38 : { + if (!($1505(HEAP32[((HEAP32[($8_1 + 324 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$38 + } + $496_1 = $1382(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 316 | 0) >> 2] = $496_1; + HEAP32[($8_1 + 320 | 0) >> 2] = $496_1; + $1738(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 324 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0, 1 | 0); + HEAP32[($8_1 + 312 | 0) >> 2] = (HEAPU8[(($8_1 + 308 | 0) + (((((HEAPU8[(HEAP32[($8_1 + 324 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) - 54 | 0) - 1 | 0) & 3 | 0 | 1 | 0) | 0) >> 0] | 0) & 255 | 0; + break label$37; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1507(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 324 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $8_1 + 316 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 320 | 0) >> 2] = wasm2js_i32$1; + $1739(HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 312 | 0) >> 2] = (HEAPU8[(($8_1 + 308 | 0) + (((HEAPU8[(HEAP32[($8_1 + 324 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) - 54 | 0) | 0) >> 0] | 0) & 255 | 0; + } + $367(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 312 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 412 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0) | 0; + $1383(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 316 | 0) >> 2] | 0 | 0); + break label$35; + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 436 | 0) >> 2] | 0 ? 33 : 37) | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 408 | 0) >> 2] | 0 | 0) | 0; + } + label$39 : { + if (!((HEAP32[($8_1 + 328 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$39 + } + HEAP32[($8_1 + 304 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 328 | 0) >> 2] | 0) >> 2] | 0; + $564_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $567_1 = (HEAP32[($564_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($564_1 + 44 | 0) >> 2] = $567_1; + HEAP32[($8_1 + 336 | 0) >> 2] = $567_1; + $1738(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 336 | 0) >> 2] | 0 | 0, 1 | 0); + label$40 : { + label$41 : { + if (!((0 | 0) == ($1505(HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$41 + } + label$42 : { + if (((HEAPU8[(HEAP32[($8_1 + 304 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (56 | 0) & 1 | 0) { + break label$42 + } + if (!(((HEAPU8[(HEAP32[($8_1 + 304 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (54 | 0) & 1 | 0)) { + break label$41 + } + } + HEAP32[($8_1 + 344 | 0) >> 2] = HEAP32[($8_1 + 436 | 0) >> 2] | 0 ? 55 : 57; + break label$40; + } + HEAP32[($8_1 + 344 | 0) >> 2] = HEAP32[($8_1 + 436 | 0) >> 2] | 0 ? 56 : 54; + } + label$43 : { + if (!((0 | 0) == ($1505(HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$43 + } + $1739(HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 328 | 0) >> 2] | 0 | 0); + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1296(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 340 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = HEAP32[($8_1 + 436 | 0) >> 2] | 0 ? 4 : 5; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8_1 + 444 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($8_1 + 340 | 0) >> 2] | 0; + label$44 : { + if (!((HEAP32[($8_1 + 344 | 0) >> 2] | 0 | 0) != (174 | 0) & 1 | 0)) { + break label$44 + } + $639_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $642_1 = (HEAP32[($639_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($639_1 + 44 | 0) >> 2] = $642_1; + HEAP32[($8_1 + 400 | 0) >> 2] = $642_1; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 400 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 344 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 336 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 412 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 400 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 83 & 65535 | 0 | 0); + } + break label$30; + } + label$45 : { + label$46 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 512 | 0)) { + break label$46 + } + $658_1 = 0; + $659_1 = 0; + HEAP16[($8_1 + 302 | 0) >> 1] = HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0; + HEAP16[($8_1 + 300 | 0) >> 1] = HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0; + HEAP16[($8_1 + 298 | 0) >> 1] = HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0; + HEAP32[($8_1 + 288 | 0) >> 2] = $658_1; + HEAP32[($8_1 + 284 | 0) >> 2] = $658_1; + HEAP32[($8_1 + 260 | 0) >> 2] = $658_1; + HEAP32[($8_1 + 248 | 0) >> 2] = $658_1; + HEAP8[($8_1 + 247 | 0) >> 0] = $659_1; + HEAP8[($8_1 + 246 | 0) >> 0] = $659_1; + HEAP32[($8_1 + 236 | 0) >> 2] = $658_1; + HEAP32[($8_1 + 232 | 0) >> 2] = $658_1; + HEAP32[($8_1 + 392 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($8_1 + 264 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = (HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0; + label$47 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 32 | 0)) { + break label$47 + } + $678_1 = HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + $679_1 = HEAP32[($8_1 + 452 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = $679_1 + 1 | 0; + HEAP32[($8_1 + 288 | 0) >> 2] = HEAP32[($678_1 + ($679_1 << 2 | 0) | 0) >> 2] | 0; + label$48 : { + label$49 : { + if (!((HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) > ((HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$49 + } + $697_1 = HEAP32[($8_1 + 260 | 0) >> 2] | 0; + break label$48; + } + $697_1 = (HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0; + } + HEAP32[($8_1 + 260 | 0) >> 2] = $697_1; + } + label$50 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 16 | 0)) { + break label$50 + } + $708_1 = HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + $709_1 = HEAP32[($8_1 + 452 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = $709_1 + 1 | 0; + HEAP32[($8_1 + 284 | 0) >> 2] = HEAP32[($708_1 + ($709_1 << 2 | 0) | 0) >> 2] | 0; + label$51 : { + label$52 : { + if (!((HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) > ((HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$52 + } + $727_1 = HEAP32[($8_1 + 260 | 0) >> 2] | 0; + break label$51; + } + $727_1 = (HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0; + } + HEAP32[($8_1 + 260 | 0) >> 2] = $727_1; + label$53 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 284 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$53 + } + $739_1 = 1; + $741_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $744_1 = (HEAP32[($741_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($741_1 + 44 | 0) >> 2] = $744_1; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 44 | 0) >> 2] = $744_1; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 69 | 0, $739_1 | 0, HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + $750_1 = $1296(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 48 | 0) >> 2] = $750_1; + $752_1 = HEAP32[($8_1 + 468 | 0) >> 2] | 0; + HEAP32[($752_1 + 44 | 0) >> 2] = (HEAP32[($752_1 + 44 | 0) >> 2] | 0) << 1 | 0; + $772_1 = HEAP32[($8_1 + 468 | 0) >> 2] | 0; + HEAP32[($772_1 + 44 | 0) >> 2] = HEAP32[($772_1 + 44 | 0) >> 2] | 0 | ((HEAP32[($8_1 + 436 | 0) >> 2] | 0) ^ (((HEAPU8[((HEAP32[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == ($739_1 | 0) & 1 | 0) | 0) | 0; + } + label$54 : { + if (!((HEAP32[($8_1 + 288 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$54 + } + $792_1 = 16; + HEAP32[($8_1 + 452 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0) << $792_1 | 0) >> $792_1 | 0; + label$55 : { + label$56 : { + label$57 : { + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$57 + } + if (!((HEAPU8[(((HEAP32[((HEAP32[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 452 | 0) >> 2] | 0, 20) | 0) + 12 | 0) >> 0] | 0) & 255 | 0)) { + break label$56 + } + } + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$55 + } + } + HEAP8[($8_1 + 247 | 0) >> 0] = 1; + } + } + } + label$58 : { + if ((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 48 | 0) { + break label$58 + } + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 524288 | 0)) { + break label$58 + } + HEAP32[($8_1 + 260 | 0) >> 2] = 1; + HEAP8[($8_1 + 247 | 0) >> 0] = 1; + $829_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $832_1 = (HEAP32[($829_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($829_1 + 44 | 0) >> 2] = $832_1; + HEAP32[($8_1 + 236 | 0) >> 2] = $832_1; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 36 | 0) >> 2] = $832_1; + label$59 : { + if (!(HEAP32[(HEAP32[($8_1 + 468 | 0) >> 2] | 0) >> 2] | 0)) { + break label$59 + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($8_1 + 236 | 0) >> 2] | 0 | 0) | 0; + } + $841_1 = $1358(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 40 | 0) >> 2] = $841_1; + } + label$60 : { + label$61 : { + label$62 : { + if (!(((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0 | 0) < ((HEAPU16[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$62 + } + if ((HEAP32[($8_1 + 436 | 0) >> 2] | 0 | 0) == (((HEAPU8[((HEAP32[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0) & 1 | 0 | 0) & 1 | 0) { + break label$61 + } + } + if (!(HEAP32[($8_1 + 436 | 0) >> 2] | 0)) { + break label$60 + } + if (!(((HEAPU16[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) == ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$60 + } + } + HEAP32[($8_1 + 228 | 0) >> 2] = HEAP32[($8_1 + 284 | 0) >> 2] | 0; + HEAP32[($8_1 + 284 | 0) >> 2] = HEAP32[($8_1 + 288 | 0) >> 2] | 0; + HEAP32[($8_1 + 288 | 0) >> 2] = HEAP32[($8_1 + 228 | 0) >> 2] | 0; + HEAP8[($8_1 + 227 | 0) >> 0] = HEAPU8[($8_1 + 247 | 0) >> 0] | 0; + HEAP8[($8_1 + 247 | 0) >> 0] = HEAPU8[($8_1 + 246 | 0) >> 0] | 0; + HEAP8[($8_1 + 246 | 0) >> 0] = HEAPU8[($8_1 + 227 | 0) >> 0] | 0; + HEAP8[($8_1 + 226 | 0) >> 0] = HEAPU16[($8_1 + 300 | 0) >> 1] | 0; + HEAP16[($8_1 + 300 | 0) >> 1] = HEAPU16[($8_1 + 298 | 0) >> 1] | 0; + HEAP16[($8_1 + 298 | 0) >> 1] = (HEAPU8[($8_1 + 226 | 0) >> 0] | 0) & 255 | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1740(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 436 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0, $8_1 + 252 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 292 | 0) >> 2] = wasm2js_i32$1; + label$63 : { + if (!((HEAP32[($8_1 + 252 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$63 + } + if (!((HEAPU16[($8_1 + 298 | 0) >> 1] | 0) & 65535 | 0)) { + break label$63 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $291(HEAP32[($8_1 + 420 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 252 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 248 | 0) >> 2] = wasm2js_i32$1; + } + label$64 : { + label$65 : { + if (!(HEAP32[($8_1 + 236 | 0) >> 2] | 0)) { + break label$65 + } + $928_1 = HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$64; + } + $928_1 = HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 440 | 0) >> 2] = $928_1; + $940_1 = 1; + label$66 : { + if (!((HEAP32[($8_1 + 288 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$66 + } + $940_1 = (((HEAPU16[((HEAP32[($8_1 + 288 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 40 | 0 | 0) != (0 | 0); + } + HEAP32[($8_1 + 280 | 0) >> 2] = $940_1 & 1 | 0; + $962_1 = 1; + label$67 : { + if (!((HEAP32[($8_1 + 284 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$67 + } + $962_1 = (((HEAPU16[((HEAP32[($8_1 + 284 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 40 | 0 | 0) != (0 | 0); + } + HEAP32[($8_1 + 276 | 0) >> 2] = $962_1 & 1 | 0; + $984_1 = 1; + label$68 : { + if ((HEAP32[($8_1 + 288 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$68 + } + $984_1 = ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0 | 0) > (0 | 0); + } + HEAP32[($8_1 + 272 | 0) >> 2] = $984_1 & 1 | 0; + HEAP32[($8_1 + 268 | 0) >> 2] = (HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0; + label$69 : { + label$70 : { + if (!((HEAP32[($8_1 + 288 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$70 + } + HEAP32[($8_1 + 220 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($8_1 + 288 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $1738(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 220 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 292 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0, (HEAPU16[($8_1 + 300 | 0) >> 1] | 0) & 65535 | 0 | 0); + $1741(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 288 | 0) >> 2] | 0 | 0); + label$71 : { + if (((HEAPU16[((HEAP32[($8_1 + 288 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 0 | 0) { + break label$71 + } + if (!($1534(HEAP32[($8_1 + 220 | 0) >> 2] | 0 | 0) | 0)) { + break label$71 + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 50 | 0, (HEAP32[($8_1 + 292 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0, HEAP32[($8_1 + 440 | 0) >> 2] | 0 | 0) | 0; + } + label$72 : { + if (!((HEAP32[($8_1 + 252 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$72 + } + $1742(HEAP32[($8_1 + 220 | 0) >> 2] | 0 | 0, (HEAPU16[($8_1 + 300 | 0) >> 1] | 0) & 65535 | 0 | 0, (HEAP32[($8_1 + 252 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0); + } + HEAP32[($8_1 + 268 | 0) >> 2] = (HEAP32[($8_1 + 268 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 300 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$73 : { + label$74 : { + if ($1505(HEAP32[($8_1 + 220 | 0) >> 2] | 0 | 0) | 0) { + break label$74 + } + $1739(HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 288 | 0) >> 2] | 0 | 0); + break label$73; + } + HEAP32[($8_1 + 280 | 0) >> 2] = 1; + } + HEAP8[($8_1 + 247 | 0) >> 0] = 0; + break label$69; + } + label$75 : { + label$76 : { + if (!(((HEAPU8[($8_1 + 247 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$76 + } + $1075_1 = 0; + HEAP32[($8_1 + 280 | 0) >> 2] = $1075_1; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 72 | 0, $1075_1 | 0, (HEAP32[($8_1 + 292 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0) | 0; + HEAP32[($8_1 + 272 | 0) >> 2] = 1; + HEAP32[($8_1 + 268 | 0) >> 2] = (HEAP32[($8_1 + 268 | 0) >> 2] | 0) + 1 | 0; + break label$75; + } + label$77 : { + if (!(HEAP32[($8_1 + 236 | 0) >> 2] | 0)) { + break label$77 + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, (HEAP32[($8_1 + 292 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0) | 0; + HEAP32[($8_1 + 272 | 0) >> 2] = 1; + HEAP32[($8_1 + 268 | 0) >> 2] = (HEAP32[($8_1 + 268 | 0) >> 2] | 0) + 1 | 0; + } + } + } + $1743(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 268 | 0) >> 2] | 0) - ((HEAPU8[($8_1 + 247 | 0) >> 0] | 0) & 255 | 0) | 0 | 0, HEAP32[($8_1 + 252 | 0) >> 2] | 0 | 0); + label$78 : { + label$79 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) & 65535 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$79 + } + if (!((HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0) == ((HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$79 + } + break label$78; + } + label$80 : { + if (!(HEAP32[($8_1 + 236 | 0) >> 2] | 0)) { + break label$80 + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 69 | 0, 1 | 0, HEAP32[($8_1 + 236 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($8_1 + 256 | 0) >> 2] = (HEAPU8[(((((HEAP32[($8_1 + 272 | 0) >> 2] | 0) << 2 | 0) + ((HEAP32[($8_1 + 280 | 0) >> 2] | 0) << 1 | 0) | 0) + (HEAP32[($8_1 + 436 | 0) >> 2] | 0) | 0) + 32832 | 0) >> 0] | 0) & 255 | 0; + label$81 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1048576 | 0)) { + break label$81 + } + if (!((HEAP32[($8_1 + 256 | 0) >> 2] | 0 | 0) == (24 | 0) & 1 | 0)) { + break label$81 + } + $1159_1 = 16; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 118 | 0, ((((HEAPU16[(HEAP32[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 1] | 0) << $1159_1 | 0) >> $1159_1 | 0) + 9 | 0 | 0) / (10 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 232 | 0) >> 2] = wasm2js_i32$1; + } + $353(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 256 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 440 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0) | 0; + label$82 : { + if (!(HEAP32[($8_1 + 236 | 0) >> 2] | 0)) { + break label$82 + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, ($1296(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0) | 0; + HEAP32[($8_1 + 256 | 0) >> 2] = (HEAPU8[((((((HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0) << 2 | 0) + 2 | 0) + (HEAP32[($8_1 + 436 | 0) >> 2] | 0) | 0) + 32832 | 0) >> 0] | 0) & 255 | 0; + $353(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 256 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 440 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 268 | 0) >> 2] | 0) - (HEAP32[($8_1 + 280 | 0) >> 2] | 0) | 0 | 0) | 0; + } + } + HEAP32[($8_1 + 268 | 0) >> 2] = (HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0; + label$83 : { + label$84 : { + if (!((HEAP32[($8_1 + 284 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$84 + } + HEAP32[($8_1 + 216 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($8_1 + 284 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $1738(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 216 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 292 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0, (HEAPU16[($8_1 + 298 | 0) >> 1] | 0) & 65535 | 0 | 0); + $1741(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 284 | 0) >> 2] | 0 | 0); + label$85 : { + if (((HEAPU16[((HEAP32[($8_1 + 284 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 0 | 0) { + break label$85 + } + if (!($1534(HEAP32[($8_1 + 216 | 0) >> 2] | 0 | 0) | 0)) { + break label$85 + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 50 | 0, (HEAP32[($8_1 + 292 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0, HEAP32[($8_1 + 440 | 0) >> 2] | 0 | 0) | 0; + } + label$86 : { + label$87 : { + if (!((HEAP32[($8_1 + 248 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$87 + } + $1742(HEAP32[($8_1 + 216 | 0) >> 2] | 0 | 0, (HEAPU16[($8_1 + 298 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($8_1 + 248 | 0) >> 2] | 0 | 0); + $1743(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 292 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0, (HEAPU16[($8_1 + 298 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($8_1 + 248 | 0) >> 2] | 0 | 0); + break label$86; + } + } + HEAP32[($8_1 + 268 | 0) >> 2] = (HEAP32[($8_1 + 268 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 298 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$88 : { + label$89 : { + if ($1505(HEAP32[($8_1 + 216 | 0) >> 2] | 0 | 0) | 0) { + break label$89 + } + $1739(HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 284 | 0) >> 2] | 0 | 0); + break label$88; + } + HEAP32[($8_1 + 276 | 0) >> 2] = 1; + } + break label$83; + } + label$90 : { + if (!(((HEAPU8[($8_1 + 246 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$90 + } + label$91 : { + if (HEAP32[($8_1 + 236 | 0) >> 2] | 0) { + break label$91 + } + $1289_1 = 0; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 72 | 0, $1289_1 | 0, (HEAP32[($8_1 + 292 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0) | 0; + HEAP32[($8_1 + 276 | 0) >> 2] = $1289_1; + } + HEAP32[($8_1 + 268 | 0) >> 2] = (HEAP32[($8_1 + 268 | 0) >> 2] | 0) + 1 | 0; + } + } + $13(HEAP32[($8_1 + 420 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 252 | 0) >> 2] | 0 | 0); + $13(HEAP32[($8_1 + 420 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 248 | 0) >> 2] | 0 | 0); + $1305_1 = $1296(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 60 | 0) >> 2] = $1305_1; + label$92 : { + if (!(HEAP32[($8_1 + 268 | 0) >> 2] | 0)) { + break label$92 + } + label$93 : { + if (!(HEAP32[($8_1 + 236 | 0) >> 2] | 0)) { + break label$93 + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[($8_1 + 236 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0) | 0) + 3 | 0 | 0) | 0; + } + HEAP32[($8_1 + 256 | 0) >> 2] = (HEAPU8[((((HEAP32[($8_1 + 436 | 0) >> 2] | 0) << 1 | 0) + (HEAP32[($8_1 + 276 | 0) >> 2] | 0) | 0) + 32840 | 0) >> 0] | 0) & 255 | 0; + $353(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 256 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 440 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0) | 0; + label$94 : { + if (!(HEAP32[($8_1 + 232 | 0) >> 2] | 0)) { + break label$94 + } + $1277(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 232 | 0) >> 2] | 0 | 0); + } + } + label$95 : { + if (!(HEAP32[($8_1 + 236 | 0) >> 2] | 0)) { + break label$95 + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 18 | 0, HEAP32[($8_1 + 236 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0) | 0; + HEAP32[($8_1 + 256 | 0) >> 2] = (HEAPU8[((((HEAP32[($8_1 + 436 | 0) >> 2] | 0) << 1 | 0) + ((HEAPU8[($8_1 + 247 | 0) >> 0] | 0) & 255 | 0) | 0) + 32840 | 0) >> 0] | 0) & 255 | 0; + $353(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 256 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 440 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 268 | 0) >> 2] | 0) + ((HEAPU8[($8_1 + 247 | 0) >> 0] | 0) & 255 | 0) | 0 | 0) | 0; + } + label$96 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 262144 | 0)) { + break label$96 + } + $367(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 119 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0, (HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0 | 0, (HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + } + $1379_1 = 0; + label$97 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 64 | 0)) { + break label$97 + } + $1379_1 = (((HEAPU16[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0 | 0) == (0 | 0); + } + HEAP32[($8_1 + 240 | 0) >> 2] = $1379_1 & 1 | 0; + label$98 : { + label$99 : { + if (!(HEAP32[($8_1 + 240 | 0) >> 2] | 0)) { + break label$99 + } + break label$98; + } + label$100 : { + label$101 : { + if ((HEAP32[((HEAP32[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$101 + } + $1744(HEAP32[($8_1 + 476 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 392 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0); + break label$100; + } + label$102 : { + if (!((HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$102 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $416(HEAP32[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 212 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1379(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($8_1 + 212 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 400 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 452 | 0) >> 2] = 0; + label$103 : { + label$104 : while (1) { + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($8_1 + 212 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$103 + } + $1439_1 = 16; + $1443_1 = 16; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = (($1329(HEAP32[($8_1 + 392 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[((HEAP32[($8_1 + 212 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 452 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $1439_1 | 0) >> $1439_1 | 0 | 0) | 0) << $1443_1 | 0) >> $1443_1 | 0), HEAP32[(wasm2js_i32$0 + 448 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 448 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 400 | 0) >> 2] | 0) + (HEAP32[($8_1 + 452 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = (HEAP32[($8_1 + 452 | 0) >> 2] | 0) + 1 | 0; + continue label$104; + }; + } + $353(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 404 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 400 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($8_1 + 212 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + } + } + } + label$105 : { + label$106 : { + if (HEAP32[(HEAP32[($8_1 + 468 | 0) >> 2] | 0) >> 2] | 0) { + break label$106 + } + label$107 : { + if (((HEAPU16[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$107 + } + $1745(HEAP32[($8_1 + 392 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 476 | 0) >> 2] | 0 | 0); + } + label$108 : { + if (!((HEAP32[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$108 + } + $1746(HEAP32[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 428 | 0) >> 2] | 0 | 0); + } + break label$105; + } + } + label$109 : { + label$110 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 4096 | 0)) { + break label$110 + } + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = 174; + break label$109; + } + label$111 : { + label$112 : { + if (!(HEAP32[($8_1 + 436 | 0) >> 2] | 0)) { + break label$112 + } + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = 4; + break label$111; + } + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = 5; + } + } + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8_1 + 264 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 54 | 0) >> 0] = (HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 65536 | 0 ? 1 : 0; + label$113 : { + label$114 : { + if ((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 15 | 0) { + break label$114 + } + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 55 | 0) >> 0] = 1; + break label$113; + } + } + label$115 : { + if (!(HEAP32[($8_1 + 240 | 0) >> 2] | 0)) { + break label$115 + } + HEAP32[($8_1 + 392 | 0) >> 2] = 0; + } + break label$45; + } + label$116 : { + label$117 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 8192 | 0)) { + break label$117 + } + $1523_1 = 0; + HEAP32[($8_1 + 200 | 0) >> 2] = $1523_1; + $1524_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $1525_1 = HEAP32[($1524_1 + 40 | 0) >> 2] | 0; + HEAP32[($1524_1 + 40 | 0) >> 2] = $1525_1 + 1 | 0; + HEAP32[($8_1 + 196 | 0) >> 2] = $1525_1; + $1528_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $1531_1 = (HEAP32[($1528_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1528_1 + 44 | 0) >> 2] = $1531_1; + HEAP32[($8_1 + 192 | 0) >> 2] = $1531_1; + HEAP32[($8_1 + 188 | 0) >> 2] = $1523_1; + HEAP32[($8_1 + 184 | 0) >> 2] = $1523_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1358(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 172 | 0) >> 2] = $1523_1; + HEAP32[($8_1 + 164 | 0) >> 2] = $1523_1; + HEAP32[($8_1 + 160 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 416 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 424 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 208 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = 65; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8_1 + 192 | 0) >> 2] | 0; + label$118 : { + label$119 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$119 + } + HEAP32[($8_1 + 156 | 0) >> 2] = (((HEAPU8[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0) - (HEAP32[($8_1 + 472 | 0) >> 2] | 0) | 0) - 1 | 0; + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $64(HEAP32[($8_1 + 420 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($8_1 + 156 | 0) >> 2] | 0, 72) + 80 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 204 | 0) >> 2] = wasm2js_i32$1; + label$120 : { + if (!((HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$120 + } + i64toi32_i32$3 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 456 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 460 | 0) >> 2] | 0; + $5936 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 488 | 0) >> 2] = $5936; + HEAP32[($8_1 + 492 | 0) >> 2] = i64toi32_i32$0; + break label$5; + } + HEAP32[((HEAP32[($8_1 + 204 | 0) >> 2] | 0) + 4 | 0) >> 2] = ((HEAP32[($8_1 + 156 | 0) >> 2] | 0) + 1 | 0) & 255 | 0; + HEAP32[(HEAP32[($8_1 + 204 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 204 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $3288((HEAP32[($8_1 + 204 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($8_1 + 416 | 0) >> 2] | 0 | 0, 72 | 0) | 0; + HEAP32[($8_1 + 152 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($8_1 + 448 | 0) >> 2] = 1; + label$121 : { + label$122 : while (1) { + if (!((HEAP32[($8_1 + 448 | 0) >> 2] | 0 | 0) <= (HEAP32[($8_1 + 156 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$121 + } + $3288(((HEAP32[($8_1 + 204 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($8_1 + 448 | 0) >> 2] | 0, 72) | 0 | 0, (HEAP32[($8_1 + 152 | 0) >> 2] | 0) + Math_imul((HEAPU8[(((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 448 | 0) >> 2] | 0, 88) | 0) + 52 | 0) >> 0] | 0) & 255 | 0, 72) | 0 | 0, 72 | 0) | 0; + HEAP32[($8_1 + 448 | 0) >> 2] = (HEAP32[($8_1 + 448 | 0) >> 2] | 0) + 1 | 0; + continue label$122; + }; + } + break label$118; + } + HEAP32[($8_1 + 204 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + label$123 : { + if (((HEAPU16[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0) { + break label$123 + } + label$124 : { + label$125 : { + if ((HEAP32[((HEAP32[($8_1 + 160 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$125 + } + $1639_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $1642_1 = (HEAP32[($1639_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1639_1 + 44 | 0) >> 2] = $1642_1; + HEAP32[($8_1 + 188 | 0) >> 2] = $1642_1; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) | 0; + break label$124; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $416(HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + $1648_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $1649_1 = HEAP32[($1648_1 + 40 | 0) >> 2] | 0; + HEAP32[($1648_1 + 40 | 0) >> 2] = $1649_1 + 1 | 0; + HEAP32[($8_1 + 188 | 0) >> 2] = $1649_1; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + $1405(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 148 | 0) >> 2] | 0 | 0); + } + $1660_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $1663_1 = (HEAP32[($1660_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1660_1 + 44 | 0) >> 2] = $1663_1; + HEAP32[($8_1 + 184 | 0) >> 2] = $1663_1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; + label$126 : { + if (!((HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$126 + } + HEAP32[($8_1 + 144 | 0) >> 2] = 0; + label$127 : { + label$128 : while (1) { + if (!((HEAP32[($8_1 + 144 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$127 + } + HEAP32[($8_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 144 | 0) >> 2] | 0, 48) | 0) >> 2] | 0; + label$129 : { + label$130 : { + if (!(((HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 144 | 0) >> 2] | 0, 48) | 0 | 0) == (HEAP32[($8_1 + 424 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$130 + } + break label$129; + } + label$131 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 144 | 0) >> 2] | 0, 48) | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 6 | 0)) { + break label$131 + } + break label$129; + } + label$132 : { + if (((HEAPU16[(((HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 144 | 0) >> 2] | 0, 48) | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 8191 | 0) { + break label$132 + } + break label$129; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1310(HEAP32[($8_1 + 420 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1240(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($8_1 + 144 | 0) >> 2] = (HEAP32[($8_1 + 144 | 0) >> 2] | 0) + 1 | 0; + continue label$128; + }; + } + label$133 : { + if (!((HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$133 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1197(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, 65580 | 0, 0 | 0, HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + } + } + $1352(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, 1 | 0, 32844 | 0, 0 | 0); + HEAP32[($8_1 + 168 | 0) >> 2] = 0; + label$134 : { + label$135 : while (1) { + if (!((HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 208 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$134 + } + HEAP32[($8_1 + 136 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 208 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 168 | 0) >> 2] | 0, 48) | 0; + label$136 : { + label$137 : { + if ((HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$137 + } + if (!(((HEAPU16[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 1024 | 0)) { + break label$136 + } + } + $1783_1 = 0; + HEAP32[($8_1 + 128 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 136 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $1783_1; + label$138 : { + if (!((HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0) != ($1783_1 | 0) & 1 | 0)) { + break label$138 + } + HEAP32[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 128 | 0) >> 2] | 0; + HEAP32[($8_1 + 128 | 0) >> 2] = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + } + $1795_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + HEAP32[$8_1 >> 2] = (HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 1 | 0; + $1352($1795_1 | 0, 1 | 0, 32859 | 0, $8_1 | 0); + $1801_1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1362(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 128 | 0) >> 2] | 0 | 0, $1801_1 | 0, $1801_1 | 0, 32 & 65535 | 0 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + label$139 : { + if (!((HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0) != ($1801_1 | 0) & 1 | 0)) { + break label$139 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1689(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 752 | 0 | 0, 0 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$140 : { + if (((HEAPU16[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0) { + break label$140 + } + label$141 : { + label$142 : { + if (!((HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($8_1 + 208 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$142 + } + $1842_1 = -1; + break label$141; + } + $1842_1 = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 112 | 0) >> 2] = $1842_1; + label$143 : { + label$144 : { + if ((HEAP32[((HEAP32[($8_1 + 160 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$144 + } + $1381(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $353(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 45 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + break label$143; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $416(HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 104 | 0) >> 2] = (HEAPU16[((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1379(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 100 | 0) >> 2] = 0; + label$145 : { + label$146 : while (1) { + if (!((HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$145 + } + $1885_1 = 16; + HEAP32[($8_1 + 92 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 100 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $1885_1 | 0) >> $1885_1 | 0; + $1381(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 96 | 0) >> 2] | 0) + (HEAP32[($8_1 + 100 | 0) >> 2] | 0) | 0 | 0); + HEAP32[($8_1 + 100 | 0) >> 2] = (HEAP32[($8_1 + 100 | 0) >> 2] | 0) + 1 | 0; + continue label$146; + }; + } + label$147 : { + if (!(HEAP32[($8_1 + 112 | 0) >> 2] | 0)) { + break label$147 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $353(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 30 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + } + label$148 : { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$148 + } + $367(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) | 0; + label$149 : { + if (!(HEAP32[($8_1 + 112 | 0) >> 2] | 0)) { + break label$149 + } + $354(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 16 & 65535 | 0 | 0); + } + } + $1384(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + } + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0) | 0; + label$150 : { + if (!(HEAP32[($8_1 + 124 | 0) >> 2] | 0)) { + break label$150 + } + $1277(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0); + } + $1941_1 = 1; + label$151 : { + if (!((((HEAPU8[((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 48 | 0) >> 0] | 0) >>> $1941_1 | 0) & $1941_1 | 0) & 255 | 0)) { + break label$151 + } + HEAP32[($8_1 + 172 | 0) >> 2] = 1; + } + HEAP32[($8_1 + 120 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 824 | 0) >> 2] | 0; + label$152 : { + label$153 : { + if (!((HEAP32[((HEAP32[($8_1 + 120 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 512 | 0)) { + break label$153 + } + label$154 : { + if (!(HEAP32[($8_1 + 168 | 0) >> 2] | 0)) { + break label$154 + } + if (!((HEAP32[((HEAP32[($8_1 + 120 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$153 + } + } + label$155 : { + if (!((HEAP32[((HEAP32[($8_1 + 160 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$155 + } + $141_1 = HEAP32[((HEAP32[($8_1 + 120 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + if ((((HEAPU8[($141_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($141_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0) { + break label$153 + } + } + HEAP32[($8_1 + 200 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 120 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$152; + } + HEAP32[($8_1 + 200 | 0) >> 2] = 0; + } + label$156 : { + if (!($1408(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0) | 0)) { + break label$156 + } + $1986_1 = HEAP32[($8_1 + 476 | 0) >> 2] | 0; + HEAP8[($1986_1 + 48 | 0) >> 0] = HEAPU8[($1986_1 + 48 | 0) >> 0] | 0 | 1 | 0; + } + $1373(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0); + $1348(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($8_1 + 168 | 0) >> 2] = (HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 1 | 0; + continue label$135; + }; + } + $1348(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($8_1 + 200 | 0) >> 2] | 0; + label$157 : { + if (!((HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$157 + } + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($8_1 + 196 | 0) >> 2] | 0; + } + label$158 : { + if (!((HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$158 + } + HEAP32[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + $18(HEAP32[($8_1 + 420 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0); + } + $1355(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0, $1296(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0) | 0 | 0); + $1282(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0); + label$159 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$159 + } + $13(HEAP32[($8_1 + 420 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0); + } + label$160 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$160 + } + $1739(HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 424 | 0) >> 2] | 0 | 0); + } + break label$116; + } + label$161 : { + label$162 : { + if (!((((HEAPU8[((HEAP32[($8_1 + 416 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 5 | 0) & 1 | 0) & 255 | 0)) { + break label$162 + } + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = 174; + break label$161; + } + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = HEAPU8[((HEAP32[($8_1 + 436 | 0) >> 2] | 0) + 32868 | 0) >> 0] | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8_1 + 444 | 0) >> 2] | 0; + $2069_1 = ($366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($8_1 + 436 | 0) >> 2] | 0) + 32870 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 408 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 60 | 0) >> 2] = $2069_1; + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 55 | 0) >> 0] = 1; + } + } + } + } + } + } + } + HEAP32[($8_1 + 388 | 0) >> 2] = (HEAP32[($8_1 + 392 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 1 : 2; + label$163 : while (1) { + HEAP32[($8_1 + 88 | 0) >> 2] = 0; + HEAP32[($8_1 + 424 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$164 : { + label$165 : while (1) { + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$164 + } + HEAP32[($8_1 + 80 | 0) >> 2] = 0; + label$166 : { + label$167 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 6 | 0)) { + break label$167 + } + break label$166; + } + i64toi32_i32$0 = 0; + $2394$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($8_1 + 424 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $2395_1 = i64toi32_i32$0; + $2395$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($8_1 + 468 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 84 | 0) >> 2] | 0; + $2396$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2395$hi; + i64toi32_i32$0 = $2396$hi; + $7100 = i64toi32_i32$1; + i64toi32_i32$0 = $2395$hi; + i64toi32_i32$3 = $2395_1; + i64toi32_i32$1 = $2396$hi; + i64toi32_i32$2 = $7100; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $2398$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2394$hi; + i64toi32_i32$1 = $2398$hi; + i64toi32_i32$1 = $2394$hi; + i64toi32_i32$1 = $2398$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $2394$hi; + i64toi32_i32$2 = 0; + label$168 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$168 + } + $2106_1 = HEAP32[($8_1 + 476 | 0) >> 2] | 0; + HEAP8[($2106_1 + 48 | 0) >> 0] = HEAPU8[($2106_1 + 48 | 0) >> 0] | 0 | 2 | 0; + break label$166; + } + HEAP32[($8_1 + 84 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 424 | 0) >> 2] | 0) >> 2] | 0; + label$169 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 416 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$169 + } + if ((HEAP32[((HEAP32[($8_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0) { + break label$169 + } + break label$166; + } + label$170 : { + if (!((HEAP32[($8_1 + 388 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$170 + } + if ($1747(HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 392 | 0) >> 2] | 0 | 0) | 0) { + break label$170 + } + HEAP32[($8_1 + 88 | 0) >> 2] = 2; + break label$166; + } + label$171 : { + if (!((HEAP32[($8_1 + 388 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$171 + } + if (!(((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 4096 | 0)) { + break label$171 + } + label$172 : { + if (HEAP32[($8_1 + 88 | 0) >> 2] | 0) { + break label$172 + } + HEAP32[($8_1 + 88 | 0) >> 2] = 3; + } + break label$166; + } + label$173 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 512 | 0)) { + break label$173 + } + HEAP32[($8_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$174 : { + if (!((HEAP32[($8_1 + 76 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$174 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 76 | 0) >> 2] | 0) & 1 | 0 ? 20 : 18) | 0, (HEAP32[($8_1 + 76 | 0) >> 2] | 0) >>> 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + } + $1390(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 404 | 0) >> 2] | 0 | 0, 16 | 0); + label$175 : { + if (!(HEAP32[($8_1 + 80 | 0) >> 2] | 0)) { + break label$175 + } + $1277(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0); + } + $2183_1 = HEAP32[($8_1 + 424 | 0) >> 2] | 0; + HEAP16[($2183_1 + 10 | 0) >> 1] = (HEAPU16[($2183_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + } + HEAP32[($8_1 + 452 | 0) >> 2] = (HEAP32[($8_1 + 452 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($8_1 + 424 | 0) >> 2] = (HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 48 | 0; + continue label$165; + }; + } + HEAP32[($8_1 + 388 | 0) >> 2] = HEAP32[($8_1 + 88 | 0) >> 2] | 0; + if ((HEAP32[($8_1 + 388 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + continue label$163 + } + break label$163; + }; + HEAP32[($8_1 + 424 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$176 : { + label$177 : while (1) { + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$176 + } + label$178 : { + label$179 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 6 | 0)) { + break label$179 + } + break label$178; + } + label$180 : { + if (((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 130 | 0) { + break label$180 + } + break label$178; + } + label$181 : { + if (((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 2048 | 0) { + break label$181 + } + break label$178; + } + label$182 : { + if (!((HEAP32[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$182 + } + break label$178; + } + label$183 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 416 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$183 + } + break label$178; + } + $2246_1 = 0; + HEAP32[($8_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 424 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 456 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 460 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1723(HEAP32[($8_1 + 428 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, 131 | 0, $2246_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$184 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) == ($2246_1 | 0) & 1 | 0)) { + break label$184 + } + break label$178; + } + label$185 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0)) { + break label$185 + } + break label$178; + } + label$186 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$186 + } + if (!((HEAP32[((HEAP32[(HEAP32[($8_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$186 + } + if (!((HEAP32[(HEAP32[((HEAP32[((HEAP32[(HEAP32[($8_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$186 + } + break label$178; + } + $2291_1 = $8_1 + 16 | 0; + $2294_1 = HEAP32[(HEAP32[($8_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = $2294_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $7505 = i64toi32_i32$1; + i64toi32_i32$1 = $2291_1; + HEAP32[i64toi32_i32$1 >> 2] = $7505; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $2295_1 = 48; + HEAP32[(i64toi32_i32$1 + $2295_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $2295_1 | 0) >> 2] | 0; + $2299_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $2299_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $7525 = i64toi32_i32$0; + i64toi32_i32$0 = $2291_1 + $2299_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $7525; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $2302_1 = 32; + i64toi32_i32$2 = $2294_1 + $2302_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $7535 = i64toi32_i32$1; + i64toi32_i32$1 = $2291_1 + $2302_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $7535; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $2305_1 = 24; + i64toi32_i32$2 = $2294_1 + $2305_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $7545 = i64toi32_i32$0; + i64toi32_i32$0 = $2291_1 + $2305_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $7545; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $2308_1 = 16; + i64toi32_i32$2 = $2294_1 + $2308_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $7555 = i64toi32_i32$1; + i64toi32_i32$1 = $2291_1 + $2308_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $7555; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $2311_1 = 8; + i64toi32_i32$2 = $2294_1 + $2311_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $7565 = i64toi32_i32$0; + i64toi32_i32$0 = $2291_1 + $2311_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $7565; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $1390(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, $2291_1 | 0, HEAP32[($8_1 + 404 | 0) >> 2] | 0 | 0, 16 | 0); + } + HEAP32[($8_1 + 452 | 0) >> 2] = (HEAP32[($8_1 + 452 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($8_1 + 424 | 0) >> 2] = (HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 48 | 0; + continue label$177; + }; + } + label$187 : { + if (!(HEAP32[(HEAP32[($8_1 + 468 | 0) >> 2] | 0) >> 2] | 0)) { + break label$187 + } + $2330_1 = $1296(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 28 | 0) >> 2] = $2330_1; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 69 | 0, 1 | 0, HEAP32[(HEAP32[($8_1 + 468 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 424 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = 0; + label$188 : { + label$189 : while (1) { + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$188 + } + label$190 : { + label$191 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 6 | 0)) { + break label$191 + } + break label$190; + } + i64toi32_i32$1 = 0; + $2407$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($8_1 + 424 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $2408_1 = i64toi32_i32$1; + $2408$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($8_1 + 468 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 84 | 0) >> 2] | 0; + $2409$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2408$hi; + i64toi32_i32$1 = $2409$hi; + $7664 = i64toi32_i32$0; + i64toi32_i32$1 = $2408$hi; + i64toi32_i32$2 = $2408_1; + i64toi32_i32$0 = $2409$hi; + i64toi32_i32$3 = $7664; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $2411$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2407$hi; + i64toi32_i32$0 = $2411$hi; + i64toi32_i32$0 = $2407$hi; + i64toi32_i32$0 = $2411$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $2407$hi; + i64toi32_i32$3 = 0; + label$192 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$192 + } + break label$190; + } + $1390(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($8_1 + 424 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 404 | 0) >> 2] | 0 | 0, 16 | 0); + $2361_1 = HEAP32[($8_1 + 424 | 0) >> 2] | 0; + HEAP16[($2361_1 + 10 | 0) >> 1] = (HEAPU16[($2361_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + } + HEAP32[($8_1 + 452 | 0) >> 2] = (HEAP32[($8_1 + 452 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 424 | 0) >> 2] = (HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 48 | 0; + continue label$189; + }; + } + } + i64toi32_i32$3 = HEAP32[($8_1 + 468 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 84 | 0) >> 2] | 0; + $7719 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 488 | 0) >> 2] = $7719; + HEAP32[($8_1 + 492 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$3 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 488 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 492 | 0) >> 2] | 0; + global$0 = $8_1 + 496 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $1691($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 752 | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 88) | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 2048 | 0)) { + break label$3 + } + $13(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $1748((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0 | 0); + label$4 : { + label$5 : while (1) { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $1749(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + continue label$5; + }; + } + $23(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 32 | 0; + return; + } + + function $1692($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $36_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $5_1; + $1490(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0 | 0, 67 & 255 | 0 | 0, $4_1 + 12 | 0 | 0) | 0; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + if (!(($239(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 1; + } + $212(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $36_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $36_1 | 0; + } + + function $1693($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if ((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (32240 | 0) & 1 | 0) { + break label$6 + } + if ((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (32250 | 0) & 1 | 0) { + break label$6 + } + if ((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (28807 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (28812 | 0) & 1 | 0)) { + break label$5 + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$4; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1694($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $32_1 = 0, $54_1 = 0, $55_1 = 0, $88_1 = 0, $91_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $366(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) > ($1804(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + $32_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$3; + } + $32_1 = $1804(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = $32_1; + label$5 : { + if (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + label$7 : { + if ((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (32240 | 0) & 1 | 0) { + break label$7 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (32250 | 0) & 1 | 0)) { + break label$6 + } + } + $54_1 = 69; + $55_1 = 0; + $366(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $54_1 | 0, $55_1 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $54_1 | 0, $55_1 | 0, (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4096 | 0)) { + break label$8 + } + if (!(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0)) { + break label$8 + } + $1288(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + } + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $88_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($88_1 + 44 | 0) >> 2] = (HEAP32[($88_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + $91_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $91_1 | 0; + } + + function $1695($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$2 + } + $24_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 115 | 0, $24_1 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $24_1 | 0, 1352 | 0, -1 | 0) | 0; + $367(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 57 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 83 & 65535 | 0 | 0); + break label$1; + } + $366(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 15 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0) | 0; + } + $367(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(69456 + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $1295(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 68 | 0, 1 | 0, 2 | 0) | 0; + $1420(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(69424 + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, -1 | 0); + $1383(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 32 | 0; + return; + } + + function $1696($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4096 | 0)) { + break label$4 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (90 | 0) & 1 | 0)) { + break label$4 + } + $37_1 = 0; + $366(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 72 | 0, $37_1 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + $1288(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 33 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, $37_1 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0) - 2 | 0 | 0); + break label$3; + } + label$5 : { + label$6 : { + if (!(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0)) { + break label$6 + } + break label$5; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1804(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$8 + } + $366(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 158 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $1420(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, -8 | 0); + $366(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 77 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + break label$7; + } + $367(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 157 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + $1420(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, -8 | 0); + } + } + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1697($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 80 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0)) { + break label$2 + } + $1805(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[($3_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 60 | 0) >> 2] = HEAP32[($3_1 + 72 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$5 : { + label$6 : { + label$7 : { + if ((HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (32240 | 0) & 1 | 0) { + break label$7 + } + if (!((HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (32250 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1358(HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1382(HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (32240 | 0) & 1 | 0)) { + break label$9 + } + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $1695(HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, 2 | 0); + break label$8; + } + $366(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 69 | 0, 1 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0; + } + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 105 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 54 | 0, (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 31 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + break label$5; + } + label$10 : { + label$11 : { + if ((HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (28807 | 0) & 1 | 0) { + break label$11 + } + if (!((HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (28812 | 0) & 1 | 0)) { + break label$10 + } + } + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1358(HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1382(HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + label$12 : { + label$13 : { + if (!((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$13 + } + $366(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + break label$12; + } + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) + 2 | 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + } + $366(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0; + label$14 : { + label$15 : { + if (!((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (28807 | 0) & 1 | 0 ? 1 : -1; + $366(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0; + break label$14; + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (28807 | 0) & 1 | 0 ? 105 : 106; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1382(HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $1383(HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 31 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($3_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$4; + }; + } + } + $366(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 80 | 0; + return; + } + + function $1698($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1275(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $21_1 = 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1357(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, $21_1 | 0, $21_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 86 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $1420(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$7_1 >> 2] | 0 | 0, -9 | 0); + $367(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 16 | 0, ($1296(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) | 0; + $367(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 77 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 4 | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + break label$1; + } + $366(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $1699($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $8_1 = 0, $154_1 = 0, $177_1 = 0, $270_1 = 0, $277_1 = 0, $300_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + $8_1 = 0; + HEAP32[($6_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 28 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (76 | 0) & 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1358(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 20 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (90 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1296(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (86 | 0) & 1 | 0)) { + break label$9 + } + $1700(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, 55 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + break label$8; + } + $1700(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, 57 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + break label$6; + } + $1700(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, 54 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + break label$4; + } + $367(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 48 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + } + label$10 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$10 + } + if (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) { + break label$10 + } + $1696(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, 0 | 0); + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1296(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + if (!(HEAP32[($6_1 + 64 | 0) >> 2] | 0)) { + break label$11 + } + if (!(((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$11 + } + $154_1 = 128; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1382(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1382(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $154_1 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $154_1 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 57 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $1383(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + $177_1 = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + -1 | 0; + label$12 : { + label$13 : { + switch ($177_1 | 0) { + case 0: + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $1697(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0); + break label$12; + case 1: + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$16 : { + label$17 : { + if (!(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0)) { + break label$17 + } + $366(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + break label$16; + } + $1806(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + break label$12; + default: + break label$13; + }; + } + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0)) { + break label$19 + } + $366(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + break label$18; + } + $1806(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + } + label$20 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + $1288(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 123 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 2 & 65535 | 0 | 0); + } + label$21 : { + label$22 : { + if (!(HEAP32[($6_1 + 60 | 0) >> 2] | 0)) { + break label$22 + } + $366(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1276(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 11 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + break label$21; + } + $366(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, (($1296(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0) + 1 | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0 | 0) | 0; + label$23 : { + if (!(HEAP32[($6_1 + 28 | 0) >> 2] | 0)) { + break label$23 + } + $366(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + } + } + label$24 : { + if (!(HEAP32[($6_1 + 28 | 0) >> 2] | 0)) { + break label$24 + } + label$25 : { + label$26 : { + if (!((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $270_1 = HEAP32[(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + break label$25; + } + $270_1 = 0; + } + HEAP32[($6_1 + 8 | 0) >> 2] = $270_1; + label$27 : { + label$28 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$28 + } + $277_1 = $1379(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$27; + } + $277_1 = 0; + } + HEAP32[($6_1 + 4 | 0) >> 2] = $277_1; + $1807(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0); + $1698(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + $1384(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + label$29 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$29 + } + $366(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + } + $1369(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + } + $300_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $300_1 | 0; + } + + function $1700($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $40_1 = 0, $21_1 = 0, $24_1 = 0, $33_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1275(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1382(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1382(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $21_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $24_1 = (HEAP32[($21_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($21_1 + 44 | 0) >> 2] = $24_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $24_1; + HEAP32[($8_1 + 12 | 0) >> 2] = 105; + label$1 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$1 + } + $33_1 = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + -54 | 0; + label$2 : { + label$3 : { + switch ($33_1 | 0) { + case 3: + HEAP32[($8_1 + 56 | 0) >> 2] = 55; + break label$2; + case 0: + HEAP32[($8_1 + 56 | 0) >> 2] = 56; + break label$2; + default: + break label$3; + }; + } + HEAP32[($8_1 + 56 | 0) >> 2] = 57; + } + HEAP32[($8_1 + 12 | 0) >> 2] = 106; + } + $40_1 = 0; + $1807(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + $1807(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0); + $1278(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 115 | 0, $40_1 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, $40_1 | 0, 1352 | 0, -1 | 0) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $367(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 57 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, $40_1 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0); + label$6 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 51 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $75_1 = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + -54 | 0; + label$7 : { + label$8 : { + switch ($75_1 | 0) { + case 3: + $366(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0; + break label$7; + case 0: + $366(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 51 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0; + break label$7; + case 1: + $366(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0; + break label$7; + default: + break label$8; + }; + } + } + $366(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, ($1296(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) | 0) + 3 | 0 | 0) | 0; + $1277(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0); + $366(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0; + label$12 : { + label$13 : { + if ((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) == (54 | 0) & 1 | 0) { + break label$13 + } + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) == (57 | 0) & 1 | 0)) { + break label$12 + } + } + $1495(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, -1 | 0, ($1296(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0); + } + } + $367(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 128 & 65535 | 0 | 0); + $1383(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0); + global$0 = $8_1 + 64 | 0; + return; + } + + function $1701($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $367(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 48 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1702($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $1380(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, (HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1703($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $353(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 30 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 16 & 65535 | 0 | 0); + $1383(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 32 | 0; + return; + } + + function $1704($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $10_1 = 0, $43_1 = 0, $52_1 = 0, $115_1 = 0, $160_1 = 0, $207_1 = 0, $210_1 = 0, $238_1 = 0, $295_1 = 0, $59_1 = 0, $193_1 = 0, $205_1 = 0, $289_1 = 0, $290_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 96 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 68 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($9_1 + 60 | 0) >> 2] = (((HEAPU8[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 | 0) == ($10_1 | 0) & 1 | 0; + HEAP32[($9_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($9_1 + 88 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($9_1 + 52 | 0) >> 2] = ((HEAP32[($9_1 + 56 | 0) >> 2] | 0) + (HEAP32[($9_1 + 60 | 0) >> 2] | 0) | 0) + (HEAP32[($9_1 + 72 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 44 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($9_1 + 28 | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + if (!(HEAP32[($9_1 + 68 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($9_1 + 48 | 0) >> 2] = (HEAP32[($9_1 + 80 | 0) >> 2] | 0) - (HEAP32[($9_1 + 68 | 0) >> 2] | 0) | 0; + break label$1; + } + HEAP32[($9_1 + 48 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $43_1 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + HEAP32[($43_1 + 44 | 0) >> 2] = (HEAP32[($43_1 + 44 | 0) >> 2] | 0) + (HEAP32[($9_1 + 52 | 0) >> 2] | 0) | 0; + } + label$3 : { + label$4 : { + if (!(HEAP32[((HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$4 + } + $52_1 = (HEAP32[((HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + $52_1 = HEAP32[((HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[($9_1 + 32 | 0) >> 2] = $52_1; + $59_1 = $1358(HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 24 | 0) >> 2] = $59_1; + $1380(HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($9_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, ((HEAP32[($9_1 + 76 | 0) >> 2] | 0 ? 4 : 0) | 1 | 0) & 255 | 0 | 0) | 0; + label$5 : { + if (!(HEAP32[($9_1 + 60 | 0) >> 2] | 0)) { + break label$5 + } + $366(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 120 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 56 | 0) >> 2] | 0) | 0 | 0) | 0; + } + label$6 : { + if (HEAP32[($9_1 + 68 | 0) >> 2] | 0) { + break label$6 + } + if (!((HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + $1387(HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 80 | 0) >> 2] | 0 | 0, ((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 56 | 0) >> 2] | 0) | 0) + (HEAP32[($9_1 + 60 | 0) >> 2] | 0) | 0 | 0, HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0); + } + label$7 : { + label$8 : { + if (!((HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1809(HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $115_1 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + HEAP32[($115_1 + 44 | 0) >> 2] = (HEAP32[($115_1 + 44 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 8 | 0) >> 2] = ((HEAP32[($9_1 + 56 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + (HEAP32[($9_1 + 60 | 0) >> 2] | 0) | 0; + label$9 : { + label$10 : { + if (!(HEAP32[($9_1 + 60 | 0) >> 2] | 0)) { + break label$10 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1288(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 20 | 0, (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 56 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$9; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1288(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 113 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $367(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 86 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1467(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($9_1 + 92 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + break label$7; + } + $160_1 = 0; + HEAP32[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($9_1 + 8 | 0) >> 2] | 0) + (HEAP32[($9_1 + 72 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $3289(HEAP32[((HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 0 | 0, (HEAPU16[((HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + $357(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0, -9 | 0); + $193_1 = $1357(HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($9_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, (((HEAPU16[((HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) - ((HEAPU16[((HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0) | 0) - 1 | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $193_1; + HEAP32[($9_1 + 12 | 0) >> 2] = $160_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1296(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 16 | 0, (HEAP32[($9_1 + 16 | 0) >> 2] | 0) + 1 | 0 | 0, $160_1 | 0, (HEAP32[($9_1 + 16 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $205_1 = $1358(HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] = $205_1; + $207_1 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + $210_1 = (HEAP32[($207_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($207_1 + 44 | 0) >> 2] = $210_1; + HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] = $210_1; + $366(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + $1288(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + label$12 : { + if (!(HEAP32[($9_1 + 32 | 0) >> 2] | 0)) { + break label$12 + } + $366(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + } + $1277(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0); + $1387(HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0); + } + label$13 : { + if (!(HEAP32[($9_1 + 32 | 0) >> 2] | 0)) { + break label$13 + } + $238_1 = 0; + HEAP32[$9_1 >> 2] = HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $366(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 49 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0) | 0; + $366(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 33 | 0, HEAP32[$9_1 >> 2] | 0 | 0, $238_1 | 0) | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $353(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 38 | 0, HEAP32[$9_1 >> 2] | 0 | 0, $238_1 | 0, (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($9_1 + 56 | 0) >> 2] | 0) - (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $1288(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 123 | 0, HEAP32[$9_1 >> 2] | 0 | 0) | 0; + } + label$14 : { + if (HEAP32[($9_1 + 44 | 0) >> 2] | 0) { + break label$14 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1809(HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + label$15 : { + label$16 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($9_1 + 36 | 0) >> 2] = 132; + break label$15; + } + HEAP32[($9_1 + 36 | 0) >> 2] = 131; + } + $353(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($9_1 + 52 | 0) >> 2] | 0) - (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0 | 0) | 0; + if (!(HEAP32[($9_1 + 28 | 0) >> 2] | 0)) { + break label$7 + } + $289_1 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + $290_1 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + label$17 : { + label$18 : { + if (!(HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0)) { + break label$18 + } + $295_1 = HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + break label$17; + } + $295_1 = $1296(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) | 0; + } + $1495($289_1 | 0, $290_1 | 0, $295_1 | 0); + } + global$0 = $9_1 + 96 | 0; + return; + } + + function $1705($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $78_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1467(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : while (1) { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[$7_1 >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + label$6 : { + label$7 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 0] = 77; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + break label$6; + } + label$8 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + label$10 : { + if (!(HEAP32[($7_1 + 12 | 0) >> 2] | 0)) { + break label$10 + } + HEAP8[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 0] = 120; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + break label$9; + } + $78_1 = 0; + HEAP8[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 0] = 72; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = $78_1; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = $78_1; + } + } + } + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = (HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 20 | 0; + continue label$3; + }; + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $1706($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0, $38_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP16[($4_1 + 10 | 0) >> 1] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 32 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + $12_1 = 16; + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) <= (((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $12_1 | 0) >> $12_1 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 4 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$4 + } + HEAP16[($4_1 + 10 | 0) >> 1] = (HEAPU16[($4_1 + 10 | 0) >> 1] | 0) + 1 | 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + $38_1 = 16; + return ((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $38_1 | 0) >> $38_1 | 0 | 0; + } + + function $1707($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $4_1 = 0, $61_1 = 0, $82_1 = 0, $41_1 = 0, $62_1 = 0, $42_1 = 0, $46_1 = 0, $49_1 = 0, $52_1 = 0, $55_1 = 0, $58_1 = 0, $63_1 = 0, $67_1 = 0, $70_1 = 0, $73_1 = 0, $76_1 = 0, $79_1 = 0, $83_1 = 0, $87_1 = 0, $90_1 = 0, $93_1 = 0, $96_1 = 0, $99_1 = 0, $221_1 = 0, $241_1 = 0, $251_1 = 0, $261_1 = 0, $271_1 = 0, $281_1 = 0, $289_1 = 0, $309_1 = 0, $319_1 = 0, $329_1 = 0, $339_1 = 0, $349_1 = 0, $355_1 = 0, $375_1 = 0, $385_1 = 0, $395_1 = 0, $405_1 = 0, $415_1 = 0, $112_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (44 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$3 : { + if (!($1810(HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1217(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, 152 | 0, 8423 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $41_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $41_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $221_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[i64toi32_i32$0 >> 2] = $221_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $42_1 = 48; + HEAP32[(i64toi32_i32$0 + $42_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $42_1 | 0) >> 2] | 0; + $46_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $46_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $241_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1 + $46_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $241_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $49_1 = 32; + i64toi32_i32$2 = $41_1 + $49_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $251_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1 + $49_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $251_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $52_1 = 24; + i64toi32_i32$2 = $41_1 + $52_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $261_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1 + $52_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $261_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $55_1 = 16; + i64toi32_i32$2 = $41_1 + $55_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $271_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1 + $55_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $271_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $58_1 = 8; + i64toi32_i32$2 = $41_1 + $58_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $281_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1 + $58_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $281_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $61_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + $62_1 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$2 = $62_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $289_1 = i64toi32_i32$0; + i64toi32_i32$0 = $61_1; + HEAP32[i64toi32_i32$0 >> 2] = $289_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $63_1 = 48; + HEAP32[(i64toi32_i32$0 + $63_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $63_1 | 0) >> 2] | 0; + $67_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $67_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $309_1 = i64toi32_i32$1; + i64toi32_i32$1 = $61_1 + $67_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $309_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $70_1 = 32; + i64toi32_i32$2 = $62_1 + $70_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $319_1 = i64toi32_i32$0; + i64toi32_i32$0 = $61_1 + $70_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $319_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $73_1 = 24; + i64toi32_i32$2 = $62_1 + $73_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $329_1 = i64toi32_i32$1; + i64toi32_i32$1 = $61_1 + $73_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $329_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $76_1 = 16; + i64toi32_i32$2 = $62_1 + $76_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $339_1 = i64toi32_i32$0; + i64toi32_i32$0 = $61_1 + $76_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $339_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $79_1 = 8; + i64toi32_i32$2 = $62_1 + $79_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $349_1 = i64toi32_i32$1; + i64toi32_i32$1 = $61_1 + $79_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $349_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $82_1 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $355_1 = i64toi32_i32$0; + i64toi32_i32$0 = $82_1; + HEAP32[i64toi32_i32$0 >> 2] = $355_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $83_1 = 48; + HEAP32[(i64toi32_i32$0 + $83_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $83_1 | 0) >> 2] | 0; + $87_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $87_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $375_1 = i64toi32_i32$1; + i64toi32_i32$1 = $82_1 + $87_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $375_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $90_1 = 32; + i64toi32_i32$2 = $4_1 + $90_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $385_1 = i64toi32_i32$0; + i64toi32_i32$0 = $82_1 + $90_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $385_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $93_1 = 24; + i64toi32_i32$2 = $4_1 + $93_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $395_1 = i64toi32_i32$1; + i64toi32_i32$1 = $82_1 + $93_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $395_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $96_1 = 16; + i64toi32_i32$2 = $4_1 + $96_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $405_1 = i64toi32_i32$0; + i64toi32_i32$0 = $82_1 + $96_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $405_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $99_1 = 8; + i64toi32_i32$2 = $4_1 + $99_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $415_1 = i64toi32_i32$1; + i64toi32_i32$1 = $82_1 + $99_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $415_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1240(HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 1] = 1; + } + } + HEAP32[($4_1 + 76 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 76 | 0) >> 2] = 0; + } + $112_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $112_1 | 0; + } + + function $1708($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $68_1 = 0, $73_1 = 0, $99_1 = 0, $122_1 = 0, $125_1 = 0, $175_1 = 0, $180_1 = 0, $199_1 = 0, $207_1 = 0, $208_1 = 0, $294_1 = 0, $297_1 = 0, $313_1 = 0, $328_1 = 0, $329_1 = 0, $300_1 = 0, $302_1 = 0, $322_1 = 0, $342_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $16_1 = (HEAPU8[(HEAP32[($4_1 + 68 | 0) >> 2] | 0) >> 0] | 0) + -164 | 0; + label$1 : { + label$2 : { + switch ($16_1 | 0) { + case 0: + case 2: + label$5 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $68_1 = 16; + $73_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $68_1 | 0) >> $68_1 | 0 | 0) == (((HEAPU16[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $73_1 | 0) >> $73_1 | 0 | 0) & 1 | 0)) { + break label$11 + } + break label$9; + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0; + continue label$10; + }; + } + label$12 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $99_1 = $1812(HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = $99_1; + if (!(($99_1 | 0) >= (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 20) | 0; + HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0; + $122_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + $125_1 = (HEAP32[($122_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($122_1 + 44 | 0) >> 2] = $125_1; + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = $125_1; + HEAP16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 1] = 65535; + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + label$13 : { + if (!((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + label$16 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$16 + } + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $175_1 = 16; + $180_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $175_1 | 0) >> $175_1 | 0 | 0) == (((HEAPU16[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $180_1 | 0) >> $180_1 | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 1] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + break label$14; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0; + continue label$15; + }; + } + } + $199_1 = 16; + label$17 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $199_1 | 0) >> $199_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$17 + } + $207_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + $208_1 = HEAP32[($207_1 + 12 | 0) >> 2] | 0; + HEAP32[($207_1 + 12 | 0) >> 2] = $208_1 + 1 | 0; + HEAP16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 1] = $208_1; + } + } + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP8[(HEAP32[($4_1 + 68 | 0) >> 2] | 0) >> 0] = 166; + HEAP16[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 34 | 0) >> 1] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + break label$6; + } + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 72 | 0; + continue label$7; + }; + } + } + HEAP32[($4_1 + 76 | 0) >> 2] = 1; + break label$1; + case 1: + label$18 : { + if ((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 131072 | 0) { + break label$18 + } + if (!((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == ((HEAPU8[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + label$21 : { + if ($1529(0 | 0, HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, -1 | 0) | 0) { + break label$21 + } + break label$19; + } + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0; + continue label$20; + }; + } + label$22 : { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + HEAP8[($4_1 + 11 | 0) >> 0] = HEAPU8[((HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 78 | 0) >> 0] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1813(HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 64 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + $294_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + $297_1 = (HEAP32[($294_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($294_1 + 44 | 0) >> 2] = $297_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $297_1; + $300_1 = HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + $302_1 = HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$24 : { + label$25 : { + if (!((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + $313_1 = HEAP32[(HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0; + break label$24; + } + $313_1 = 0; + } + $322_1 = $469($300_1 | 0, $302_1 | 0, $313_1 | 0, (HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $322_1; + label$26 : { + label$27 : { + if (!((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2 | 0)) { + break label$27 + } + $328_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + $329_1 = HEAP32[($328_1 + 40 | 0) >> 2] | 0; + HEAP32[($328_1 + 40 | 0) >> 2] = $329_1 + 1 | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $329_1; + break label$26; + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = -1; + } + } + } + HEAP16[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 34 | 0) >> 1] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 76 | 0) >> 2] = 0; + break label$1; + default: + break label$2; + }; + } + HEAP32[($4_1 + 76 | 0) >> 2] = 0; + } + $342_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $342_1 | 0; + } + + function $1709($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $22_1 = 0, $51_1 = 0, $87_1 = 0, $72_1 = 0, $108_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + if ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 24576 | 0) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $22_1 = 16; + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 34 | 0) >> 1] | 0) << $22_1 | 0) >> $22_1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (166 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (!((HEAP32[(((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $51_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1310(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $51_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != ($51_1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $72_1 = $1214(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] = $72_1; + } + } + break label$2; + } + label$6 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $87_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1310(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $87_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != ($87_1 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $108_1 = $1214(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] = $108_1; + } + } + } + } + global$0 = $4_1 + 32 | 0; + return 0 | 0; + } + + function $1710($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $24_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $1549(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + $24_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $24_1 | 0; + } + + function $1711($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $252_1 = 0, $197_1 = 0, $69_1 = 0, $114_1 = 0, $143_1 = 0, $186_1 = 0, $193_1 = 0, $223_1 = 0, $170_1 = 0, $249_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 72) | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$7 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + } + $69_1 = (HEAPU8[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 0] | 0) + -164 | 0; + label$8 : { + label$9 : { + switch ($69_1 | 0) { + case 5: + label$12 : { + if ((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0) { + break label$12 + } + break label$8; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + label$15 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$14; + }; + } + case 0: + case 1: + HEAP32[($4_1 + 12 | 0) >> 2] = -1; + label$16 : { + if (!((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + $114_1 = 0; + label$19 : { + if (!(($114_1 | 0) == ($1529($114_1 | 0, HEAP32[(((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, -1 | 0) | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$17; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + } + label$20 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$20 + } + $143_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1310(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, $143_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != ($143_1 | 0) & 1 | 0)) { + break label$21 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (165 | 0) & 1 | 0)) { + break label$21 + } + HEAP8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] = 169; + } + $170_1 = $1214(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = $170_1; + } + label$22 : { + if (!((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[$4_1 >> 2] = (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0; + $186_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($186_1 + 4 | 0) >> 2] = HEAP32[($186_1 + 4 | 0) >> 2] | 0 | 134217728 | 0; + $18(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + $193_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($193_1 + 4 | 0) >> 2] = (HEAP32[($193_1 + 4 | 0) >> 2] | 0) & -134217729 | 0; + $197_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $252_1 = 0; + i64toi32_i32$1 = $197_1; + HEAP32[i64toi32_i32$1 >> 2] = $252_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $252_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $197_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $252_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $197_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $252_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $197_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $252_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $197_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $252_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 0] = 164; + label$23 : { + label$24 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$24 + } + $223_1 = (HEAP32[(HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0; + break label$23; + } + $223_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + HEAP16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 1] = $223_1; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + label$25 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 2; + break label$1; + } + break label$8; + default: + break label$9; + }; + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $249_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $249_1 | 0; + } + + function $1712($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $30_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$3 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $30_1 = $1674(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = $30_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1713($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $31_1 = 0, $46$hi = 0, $42_1 = 0, $46_1 = 0, $133$hi = 0, $137_1 = 0, $43_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $31_1 = 16; + label$4 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $31_1 | 0) >> $31_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = $1601(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $46_1 = i64toi32_i32$0; + $46$hi = i64toi32_i32$1; + $42_1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = $42_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $133$hi = i64toi32_i32$0; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $137_1 = i64toi32_i32$2 | $46_1 | 0; + i64toi32_i32$2 = $42_1; + HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] = $137_1; + HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $43_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $43_1 | 0; + } + + function $1714($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $72_1 = 0, $103_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1497(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1173(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1668(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $72_1 = $1606(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = $72_1; + } + HEAP32[(((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP8[((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[((((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + $103_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $103_1 | 0; + } + + function $1715($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $80_1 = 0, $150_1 = 0, $185_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 80 | 0; + global$0 = $10_1; + HEAP32[($10_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 52 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 48 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 44 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1296(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1358(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(HEAP32[($10_1 + 52 | 0) >> 2] | 0)) { + break label$1 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1288(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1278(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 86 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $1386(HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0, -9 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 16 | 0, (HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 2 | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0; + $1277(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0); + $367(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 77 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + $366(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 69 | 0, 1 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0) | 0; + } + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($10_1 + 72 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($10_1 + 76 | 0) >> 2] = 0; + break label$2; + } + $1701(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0); + $80_1 = (HEAPU8[(HEAP32[($10_1 + 60 | 0) >> 2] | 0) >> 0] | 0) + -10 | 0; + label$4 : { + label$5 : { + switch ($80_1 | 0) { + case 2: + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1382(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1382(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 8 & 65535 | 0 | 0); + $1383(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0); + break label$4; + case 1: + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1382(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + $1383(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0); + break label$4; + case 0: + label$10 : { + if (HEAP32[((HEAP32[($10_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$10 + } + $1387(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + } + break label$4; + case 3: + label$11 : { + if (HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$11 + } + $150_1 = $1379(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] = $150_1; + HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + $1387(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + break label$4; + default: + break label$5; + }; + } + $366(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + } + label$12 : { + if (!(HEAP32[((HEAP32[($10_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$12 + } + $366(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 59 | 0, HEAP32[((HEAP32[($10_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0) | 0; + } + $1369(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 65 | 0, HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($10_1 + 76 | 0) >> 2] = HEAP32[($10_1 + 32 | 0) >> 2] | 0; + } + $185_1 = HEAP32[($10_1 + 76 | 0) >> 2] | 0; + global$0 = $10_1 + 80 | 0; + return $185_1 | 0; + } + + function $1716($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $13_1 = 0, $50_1 = 0, $55_1 = 0, $67_1 = 0, i64toi32_i32$0 = 0, $83_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0)) { + break label$2 + } + break label$1; + } + $13_1 = 24; + label$3 : { + if (!((($1543(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0) << $13_1 | 0) >> $13_1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if ($1717($427(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) { + break label$4 + } + break label$1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $50_1 = 16; + $55_1 = 16; + if (!((((HEAPU16[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $50_1 | 0) >> $50_1 | 0 | 0) == (((HEAPU16[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $55_1 | 0) >> $55_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + break label$1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $67_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($67_1 + 4 | 0) >> 2] = (HEAP32[($67_1 + 4 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = 0; + $83_1 = $875(HEAP32[(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 1 | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = $83_1; + label$8 : { + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 1 | 0) - 2 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 1 | 0) - 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1717($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $12_1 = 1; + label$1 : { + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$1 + } + $12_1 = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (15 | 0); + } + return $12_1 & 1 | 0 | 0; + } + + function $1718($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) > (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + } + } + return; + } + + function $1719($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $1718(HEAP32[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1720($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $133_1 = 0, $78_1 = 0, $117_1 = 0, $77_1 = 0, $98_1 = 0, $30_1 = 0, $72_1 = 0, $76_1 = 0, $102_1 = 0, $108_1 = 0, $128_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP16[($5_1 + 18 | 0) >> 1] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[(HEAP32[(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $30_1 = $365(HEAP32[$5_1 >> 2] | 0 | 0, Math_imul(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, 48) << 1 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = $30_1; + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (!(((HEAPU16[($5_1 + 18 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$4 + } + $18(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $3288(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 48) | 0) | 0; + label$5 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0 | 0) & 1 | 0)) { + break label$5 + } + $13(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + $72_1 = (($59(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0) >>> 0) / (48 >>> 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] = $72_1; + } + $76_1 = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $77_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $78_1 = HEAP32[($77_1 + 12 | 0) >> 2] | 0; + HEAP32[($77_1 + 12 | 0) >> 2] = $78_1 + 1 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $78_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $76_1 + Math_imul($78_1, 48) | 0; + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 262144 | 0)) { + break label$7 + } + i64toi32_i32$1 = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $98_1 = 16; + $102_1 = ((($937(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) << $98_1 | 0) >> $98_1 | 0) - 270 | 0; + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = $102_1; + break label$6; + } + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + } + $108_1 = $1527(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = $108_1; + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 1] = HEAPU16[($5_1 + 18 | 0) >> 1] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = -1; + $117_1 = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0; + i64toi32_i32$0 = 0; + $133_1 = 0; + i64toi32_i32$1 = $117_1; + HEAP32[i64toi32_i32$1 >> 2] = $133_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $133_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $117_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $133_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $117_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $133_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + $128_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $128_1 | 0; + } + + function $1721($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $916$hi = 0, $917$hi = 0, $921$hi = 0, $933$hi = 0, $6_1 = 0, $81_1 = 0, $94_1 = 0, $908$hi = 0, $911$hi = 0, $912$hi = 0, $914$hi = 0, $915$hi = 0, $83_1 = 0, $104_1 = 0, $922$hi = 0, $923$hi = 0, $925$hi = 0, $171_1 = 0, $240_1 = 0, $252_1 = 0, $262_1 = 0, $275_1 = 0, $929$hi = 0, $930$hi = 0, $333_1 = 0, $438_1 = 0, $448_1 = 0, $449_1 = 0, $453_1 = 0, $523_1 = 0, $525_1 = 0, $603_1 = 0, $608_1 = 0, $936$hi = 0, $937$hi = 0, $939$hi = 0, $624_1 = 0, $641_1 = 0, $667_1 = 0, $683_1 = 0, $727_1 = 0, $799_1 = 0, $943$hi = 0, $897_1 = 0, $1040_1 = 0, $1092_1 = 0, $1105_1 = 0, $1134_1 = 0, $1147_1 = 0, $1191_1 = 0, $908_1 = 0, $1196$hi = 0, $1200_1 = 0, $1207_1 = 0, $1218_1 = 0, $1235_1 = 0, $922_1 = 0, $1277_1 = 0, $158_1 = 0, $274_1 = 0, $929_1 = 0, $1649_1 = 0, $1654_1 = 0, $1660_1 = 0, $292_1 = 0, $2389_1 = 0, $2398_1 = 0, $936_1 = 0, $2404_1 = 0, $2503_1 = 0, $2578_1 = 0, $943_1 = 0, $3014$hi = 0, $3018_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 272 | 0; + global$0 = $5_1; + $6_1 = 0; + $7_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 268 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 264 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 260 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 256 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 264 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 216 | 0) >> 2] = 0; + HEAP32[($5_1 + 220 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 212 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 208 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 204 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 196 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 256 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 192 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 196 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[($5_1 + 191 | 0) >> 0] = $6_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 192 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != ($6_1 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($5_1 + 252 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 260 | 0) >> 2] | 0, 48) | 0; + HEAP32[($5_1 + 248 | 0) >> 2] = (HEAP32[($5_1 + 256 | 0) >> 2] | 0) + 488 | 0; + HEAP32[($5_1 + 244 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 252 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = $1733(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1040_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 232 | 0) >> 2] = $1040_1; + HEAP32[($5_1 + 236 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 200 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) == (49 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!($1531(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + break label$1; + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$7 + } + i64toi32_i32$1 = $1750(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1092_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1092_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + break label$6; + } + i64toi32_i32$0 = $1687(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1105_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $1105_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + } + break label$3; + } + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) == (50 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + break label$8; + } + i64toi32_i32$1 = $1733(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1134_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1134_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + } + } + HEAP32[(HEAP32[($5_1 + 248 | 0) >> 2] | 0) >> 2] = 0; + i64toi32_i32$0 = $1751(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1147_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 224 | 0) >> 2] = $1147_1; + HEAP32[($5_1 + 228 | 0) >> 2] = i64toi32_i32$1; + label$10 : { + if (!(HEAP32[(HEAP32[($5_1 + 248 | 0) >> 2] | 0) >> 2] | 0)) { + break label$10 + } + $81_1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP16[($81_1 + 10 | 0) >> 1] = (HEAPU16[($81_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 4096 | 0; + } + label$11 : { + if (!((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$11 + } + $94_1 = 16; + i64toi32_i32$1 = $1726(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 36 | 0) >> 1] | 0) << $94_1 | 0) >> $94_1 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1191_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 176 | 0) >> 2] = $1191_1; + HEAP32[($5_1 + 180 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 180 | 0) >> 2] | 0; + $908_1 = i64toi32_i32$0; + $908$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 228 | 0) >> 2] | 0; + $1196$hi = i64toi32_i32$0; + i64toi32_i32$0 = $908$hi; + i64toi32_i32$0 = $1196$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $908$hi; + i64toi32_i32$3 = $908_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $1200_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 224 | 0) >> 2] = $1200_1; + HEAP32[($5_1 + 228 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 180 | 0) >> 2] | 0; + $911$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $912$hi = i64toi32_i32$2; + i64toi32_i32$2 = $911$hi; + i64toi32_i32$2 = $912$hi; + i64toi32_i32$2 = $911$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $912$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $1207_1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 216 | 0) >> 2] = $1207_1; + HEAP32[($5_1 + 220 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 228 | 0) >> 2] | 0; + $914$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $915$hi = i64toi32_i32$0; + i64toi32_i32$0 = $914$hi; + i64toi32_i32$0 = $915$hi; + i64toi32_i32$0 = $914$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $915$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $83_1 = i64toi32_i32$0 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$0 >>> i64toi32_i32$1 | 0; + $83_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$1 | 0) | 0; + } + $916$hi = i64toi32_i32$5; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 180 | 0) >> 2] | 0; + $917$hi = i64toi32_i32$2; + i64toi32_i32$2 = $916$hi; + i64toi32_i32$2 = $917$hi; + i64toi32_i32$2 = $916$hi; + i64toi32_i32$2 = $917$hi; + $1218_1 = i64toi32_i32$5; + i64toi32_i32$2 = $916$hi; + i64toi32_i32$0 = $83_1; + i64toi32_i32$5 = $917$hi; + i64toi32_i32$3 = $1218_1; + label$12 : { + if (!((i64toi32_i32$2 >>> 0 > i64toi32_i32$5 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$0 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$12 + } + $349(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, 32344 | 0, 0 | 0); + break label$1; + } + } + $104_1 = -1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 228 | 0) >> 2] | 0; + $1235_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $1235_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 20 | 0) >> 2] = $104_1; + HEAP32[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 16 | 0) >> 2] = $104_1; + HEAP16[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 12 | 0) >> 1] = 0; + label$13 : { + label$14 : { + if (!($1752(HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) | 0)) { + break label$14 + } + i64toi32_i32$2 = 0; + $921$hi = i64toi32_i32$2; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1316(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1316(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$3 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $922_1 = i64toi32_i32$2; + $922$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 236 | 0) >> 2] | 0; + $923$hi = i64toi32_i32$2; + i64toi32_i32$2 = $922$hi; + i64toi32_i32$2 = $923$hi; + $1277_1 = i64toi32_i32$0; + i64toi32_i32$2 = $922$hi; + i64toi32_i32$3 = $922_1; + i64toi32_i32$0 = $923$hi; + i64toi32_i32$5 = $1277_1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $925$hi = i64toi32_i32$0; + i64toi32_i32$0 = $921$hi; + i64toi32_i32$0 = $925$hi; + i64toi32_i32$0 = $921$hi; + i64toi32_i32$0 = $925$hi; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$5 | 0; + i64toi32_i32$3 = $921$hi; + i64toi32_i32$5 = 0; + HEAP16[($5_1 + 158 | 0) >> 1] = ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0 ? 8191 : 2048; + label$15 : { + if (!((HEAP32[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($5_1 + 164 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($5_1 + 164 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + (((HEAP32[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0) >> 2] | 0; + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 236 | 0) >> 2] | 0; + label$16 : { + if (!($1753(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0, $5_1 + 168 | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) | 0)) { + break label$16 + } + HEAP32[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + $158_1 = ($1754(HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) | 0) & 65535 | 0; + HEAP16[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 12 | 0) >> 1] = $158_1 & ((HEAPU16[($5_1 + 158 | 0) >> 1] | 0) & 65535 | 0) | 0; + } + label$17 : { + if (!((HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$17 + } + $171_1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP16[($171_1 + 10 | 0) >> 1] = (HEAPU16[($171_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 2048 | 0; + } + label$18 : { + if (!((HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + i64toi32_i32$5 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 36 | 0) >> 2] | 0; + if (!($1753(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0, $5_1 + 168 | 0 | 0, HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) | 0)) { + break label$18 + } + HEAP16[($5_1 + 146 | 0) >> 1] = 0; + label$19 : { + label$20 : { + if (!((HEAP32[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 192 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$21 + } + $18(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0); + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1720(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0, 3 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (HEAP32[($5_1 + 140 | 0) >> 2] | 0) { + break label$22 + } + break label$1; + } + HEAP32[($5_1 + 152 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 140 | 0) >> 2] | 0, 48) | 0; + $1755(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0); + label$23 : { + if (!((HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$23 + } + $240_1 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + HEAP16[($240_1 + 10 | 0) >> 1] = (HEAPU16[($240_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 2048 | 0; + } + HEAP32[($5_1 + 252 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 260 | 0) >> 2] | 0, 48) | 0; + $252_1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP16[($252_1 + 10 | 0) >> 1] = (HEAPU16[($252_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + label$24 : { + if (!($1756(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0) | 0)) { + break label$24 + } + $262_1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP16[($262_1 + 12 | 0) >> 1] = (HEAPU16[($262_1 + 12 | 0) >> 1] | 0) & 65535 | 0 | 2048 | 0; + HEAP16[($5_1 + 146 | 0) >> 1] = 2048; + } + break label$19; + } + HEAP32[($5_1 + 148 | 0) >> 2] = HEAP32[($5_1 + 244 | 0) >> 2] | 0; + HEAP32[($5_1 + 152 | 0) >> 2] = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + } + $274_1 = ($1757(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0) | 0) & 65535 | 0; + $275_1 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + HEAP16[($275_1 + 10 | 0) >> 1] = (HEAPU16[($275_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | $274_1 | 0; + HEAP32[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 236 | 0) >> 2] | 0; + $929_1 = i64toi32_i32$2; + $929$hi = i64toi32_i32$0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 216 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 220 | 0) >> 2] | 0; + $930$hi = i64toi32_i32$2; + i64toi32_i32$2 = $929$hi; + i64toi32_i32$2 = $930$hi; + $1649_1 = i64toi32_i32$0; + i64toi32_i32$2 = $929$hi; + i64toi32_i32$5 = $929_1; + i64toi32_i32$0 = $930$hi; + i64toi32_i32$3 = $1649_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $1654_1 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$5 + 32 | 0) >> 2] = $1654_1; + HEAP32[(i64toi32_i32$5 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 228 | 0) >> 2] | 0; + $1660_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $1660_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$5; + $292_1 = ($1754((HEAPU8[(HEAP32[($5_1 + 148 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0) & 65535 | 0; + HEAP16[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 12 | 0) >> 1] = ($292_1 + ((HEAPU16[($5_1 + 146 | 0) >> 1] | 0) & 65535 | 0) | 0) & ((HEAPU16[($5_1 + 158 | 0) >> 1] | 0) & 65535 | 0) | 0; + } + break label$13; + } + label$25 : { + label$26 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$26 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($5_1 + 136 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 132 | 0) >> 2] = 0; + label$27 : { + label$28 : while (1) { + if (!((HEAP32[($5_1 + 132 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$27 + } + $333_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 32385 | 0) >> 0] | 0) & 255 | 0 | 0, $1310(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $333_1 | 0) | 0 | 0, $1310(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 132 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, $333_1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + $1758(HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1720(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0, 3 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + $1721(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 252 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 260 | 0) >> 2] | 0, 48) | 0; + $1755(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 132 | 0) >> 2] = (HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + break label$25; + } + label$29 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (43 | 0) & 1 | 0)) { + break label$29 + } + $1759(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 252 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 260 | 0) >> 2] | 0, 48) | 0; + } + } + } + label$30 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$30 + } + if (!($1760(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, $5_1 + 212 | 0 | 0, $5_1 + 208 | 0 | 0, $5_1 + 204 | 0 | 0) | 0)) { + break label$30 + } + HEAP16[($5_1 + 94 | 0) >> 1] = 259; + HEAP32[($5_1 + 120 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$31 : { + if (!(HEAP32[($5_1 + 204 | 0) >> 2] | 0)) { + break label$31 + } + if (((HEAPU8[((HEAP32[(HEAP32[($5_1 + 196 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$31 + } + $438_1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP16[($438_1 + 10 | 0) >> 1] = (HEAPU16[($438_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 1024 | 0; + HEAP32[($5_1 + 88 | 0) >> 2] = 0; + label$32 : { + label$33 : while (1) { + $448_1 = HEAPU8[((HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 88 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($5_1 + 87 | 0) >> 0] = $448_1; + $449_1 = 24; + if (!(($448_1 << $449_1 | 0) >> $449_1 | 0)) { + break label$32 + } + $453_1 = 24; + HEAP8[((HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 88 | 0) >> 2] | 0) | 0) >> 0] = (((HEAPU8[($5_1 + 87 | 0) >> 0] | 0) << $453_1 | 0) >> $453_1 | 0) & ((((HEAPU8[(((HEAPU8[($5_1 + 87 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 32 | 0) ^ -1 | 0) | 0; + HEAP8[((HEAP32[((HEAP32[($5_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 88 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[(((HEAPU8[($5_1 + 87 | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0; + HEAP32[($5_1 + 88 | 0) >> 2] = (HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$33; + }; + } + } + label$34 : { + if (((HEAPU8[((HEAP32[($5_1 + 192 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$34 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (HEAP32[((HEAP32[($5_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (($68(HEAP32[((HEAP32[($5_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + HEAP8[($5_1 + 86 | 0) >> 0] = HEAPU8[(HEAP32[($5_1 + 80 | 0) >> 2] | 0) >> 0] | 0; + label$35 : { + if (!(HEAP32[($5_1 + 204 | 0) >> 2] | 0)) { + break label$35 + } + label$36 : { + if (!(((HEAPU8[($5_1 + 86 | 0) >> 0] | 0) & 255 | 0 | 0) == (64 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[($5_1 + 208 | 0) >> 2] = 0; + } + HEAP8[($5_1 + 86 | 0) >> 0] = HEAPU8[(((HEAPU8[($5_1 + 86 | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0; + } + HEAP8[(HEAP32[($5_1 + 80 | 0) >> 2] | 0) >> 0] = ((HEAPU8[($5_1 + 86 | 0) >> 0] | 0) & 255 | 0) + 1 | 0; + } + $523_1 = 259; + $525_1 = 0; + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[($5_1 + 204 | 0) >> 2] | 0 ? 32387 : 2261; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $525_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, 57 | 0, $1606(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + $1758(HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1720(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0, $523_1 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + $1721(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $525_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, 56 | 0, $1606(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + $1758(HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1720(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, $523_1 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + $1721(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 252 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 260 | 0) >> 2] | 0, 48) | 0; + label$37 : { + if (!(HEAP32[($5_1 + 208 | 0) >> 2] | 0)) { + break label$37 + } + $1755(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0); + $1755(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0); + } + } + label$38 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$38 + } + $603_1 = 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $603_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $603_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1761(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, $5_1 + 191 | 0 | 0, $5_1 + 72 | 0 | 0, $5_1 + 76 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$39 : { + label$40 : while (1) { + $608_1 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + HEAP32[($5_1 + 68 | 0) >> 2] = $608_1 + -1 | 0; + if (!(($608_1 | 0) > (0 | 0) & 1 | 0)) { + break label$39 + } + i64toi32_i32$5 = 0; + $933$hi = i64toi32_i32$5; + i64toi32_i32$5 = $1733(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $2389_1 = i64toi32_i32$5; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $2389_1; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $1733(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $2398_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2398_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $936_1 = i64toi32_i32$5; + $936$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $937$hi = i64toi32_i32$5; + i64toi32_i32$5 = $936$hi; + i64toi32_i32$5 = $937$hi; + $2404_1 = i64toi32_i32$0; + i64toi32_i32$5 = $936$hi; + i64toi32_i32$2 = $936_1; + i64toi32_i32$0 = $937$hi; + i64toi32_i32$3 = $2404_1; + i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$0 | 0; + $939$hi = i64toi32_i32$0; + i64toi32_i32$0 = $933$hi; + i64toi32_i32$0 = $939$hi; + i64toi32_i32$0 = $933$hi; + i64toi32_i32$0 = $939$hi; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $933$hi; + i64toi32_i32$3 = 0; + label$41 : { + if (!(((i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$41 + } + $624_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, 46 | 0, $624_1 | 0, $1310(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, $624_1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$42 : { + if (!((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$42 + } + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$42 + } + $641_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($641_1 + 4 | 0) >> 2] = HEAP32[($641_1 + 4 | 0) >> 2] | 0 | 1 | 0; + HEAP16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 1] = HEAPU16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 36 | 0) >> 1] | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1720(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, 3 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 60 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 64 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $2503_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$5 + 32 | 0) >> 2] = $2503_1; + HEAP32[(i64toi32_i32$5 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $667_1 = 16; + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] = ((HEAPU16[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $667_1 | 0) >> $667_1 | 0; + HEAP16[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 1] = 64; + HEAP8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 15 | 0) >> 0] = HEAPU8[($5_1 + 191 | 0) >> 0] | 0; + $1755(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 252 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 260 | 0) >> 2] | 0, 48) | 0; + $683_1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP16[($683_1 + 10 | 0) >> 1] = (HEAPU16[($683_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $2578_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $2578_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$5; + } + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + continue label$40; + }; + } + } + label$43 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$43 + } + label$44 : { + if (((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (53 | 0) & 1 | 0) { + break label$44 + } + if (!(((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$43 + } + } + $727_1 = $1432(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 184 | 0) >> 2] = $727_1; + if (!(($727_1 | 0) > (1 | 0) & 1 | 0)) { + break label$43 + } + if (!(($1432(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$43 + } + label$45 : { + if (!((HEAP32[((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$45 + } + if ((HEAP32[((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0) { + break label$43 + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + label$46 : { + label$47 : while (1) { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$46 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1433(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1433(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, (HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $1758(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1720(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $1721(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$47; + }; + } + HEAP32[($5_1 + 252 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 260 | 0) >> 2] | 0, 48) | 0; + $799_1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP16[($799_1 + 10 | 0) >> 1] = (HEAPU16[($799_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 6 | 0; + HEAP16[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 12 | 0) >> 1] = 0; + } + label$48 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$48 + } + if (!(((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (49 | 0) & 1 | 0)) { + break label$48 + } + if (HEAP32[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$48 + } + if (!(((HEAPU8[(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (174 | 0) & 1 | 0)) { + break label$48 + } + if (!((HEAP32[((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$48 + } + if (!((HEAP32[((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$48 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$49 : { + label$50 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < ($1432(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$49 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1720(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, 2 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 4 | 0) >> 2] | 0, 48) | 0) + 28 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + $1721(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + $1755(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$50; + }; + } + } + HEAP32[($5_1 + 252 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 260 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 216 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 220 | 0) >> 2] | 0; + $943_1 = i64toi32_i32$5; + $943$hi = i64toi32_i32$0; + $897_1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + i64toi32_i32$3 = $897_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $3014$hi = i64toi32_i32$5; + i64toi32_i32$5 = $943$hi; + i64toi32_i32$5 = $3014$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $943$hi; + i64toi32_i32$2 = $943_1; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + $3018_1 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + i64toi32_i32$3 = $897_1; + HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] = $3018_1; + HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] = i64toi32_i32$0; + } + global$0 = $5_1 + 272 | 0; + return; + } + + function $1722($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (169 | 0) & 1 | 0)) { + break label$2 + } + if (((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 524288 | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1723($0_1, $1_1, $2_1, $3_1, $3$hi, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $60$hi = 0, $66$hi = 0, $61$hi = 0, $62$hi = 0, $64$hi = 0, $68$hi = 0, $61_1 = 0, $138_1 = 0, $57_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 144 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 136 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 132 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 128 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 120 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 124 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 116 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 112 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 108 | 0) >> 2] = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1768($8_1 + 8 | 0 | 0, HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 116 | 0) >> 2] = (HEAP32[($8_1 + 116 | 0) >> 2] | 0) & 130 | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $60$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($8_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $61_1 = i64toi32_i32$0; + $61$hi = i64toi32_i32$1; + i64toi32_i32$2 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + $62$hi = i64toi32_i32$0; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$0 = $62$hi; + $138_1 = i64toi32_i32$1; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$2 = $61_1; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$3 = $138_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $64$hi = i64toi32_i32$1; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$1 = $64$hi; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$1 = $64$hi; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $60$hi; + i64toi32_i32$3 = 0; + label$4 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $66$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($8_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $68$hi = i64toi32_i32$1; + i64toi32_i32$1 = $66$hi; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$1 = $66$hi; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$2 = 0; + label$5 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$5 + } + if (!(((HEAPU16[((HEAP32[($8_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & (HEAP32[($8_1 + 116 | 0) >> 2] | 0) | 0)) { + break label$5 + } + HEAP32[($8_1 + 140 | 0) >> 2] = HEAP32[($8_1 + 104 | 0) >> 2] | 0; + break label$1; + } + label$6 : { + if (!((HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($8_1 + 108 | 0) >> 2] = HEAP32[($8_1 + 104 | 0) >> 2] | 0; + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1769($8_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + continue label$3; + }; + } + HEAP32[($8_1 + 140 | 0) >> 2] = HEAP32[($8_1 + 108 | 0) >> 2] | 0; + } + $57_1 = HEAP32[($8_1 + 140 | 0) >> 2] | 0; + global$0 = $8_1 + 144 | 0; + return $57_1 | 0; + } + + function $1724($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $52_1 = 0, $62_1 = 0, $103_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1527(HEAP32[(((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!(((HEAPU8[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$4 + } + $52_1 = 16; + $62_1 = 16; + if (!((((HEAPU16[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $52_1 | 0) >> $52_1 | 0 | 0) == (((HEAPU16[((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1675(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((0 | 0) == ($88(HEAP32[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($7_1 + 44 | 0) >> 2] = -1; + } + $103_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $103_1 | 0; + } + + function $1725($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + $13_1 = 16; + HEAP32[$4_1 >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $13_1 | 0) >> $13_1 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[(((HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[$4_1 >> 2] | 0, 20) | 0) + 12 | 0) >> 0] | 0) & 255 | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1726($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $33$hi = 0, $34$hi = 0, i64toi32_i32$3 = 0, $10_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $33$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $34$hi = i64toi32_i32$0; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $10_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $10_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $10_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + i64toi32_i32$1 = 0; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$2; + return i64toi32_i32$1 | 0; + } + + function $1727($0_1, $1_1, $1$hi, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $199$hi = 0, $208$hi = 0, $225$hi = 0, $226$hi = 0, $229$hi = 0, $230$hi = 0, $234$hi = 0, $239$hi = 0, $240$hi = 0, $243$hi = 0, $244$hi = 0, $251$hi = 0, $252$hi = 0, $6_1 = 0, $43_1 = 0, $197$hi = 0, $200$hi = 0, $201$hi = 0, $202$hi = 0, $203$hi = 0, $204_1 = 0, $205$hi = 0, $207_1 = 0, $78_1 = 0, $209$hi = 0, $211$hi = 0, $212$hi = 0, $213$hi = 0, $214$hi = 0, $217$hi = 0, $96_1 = 0, $220$hi = 0, $221$hi = 0, $222$hi = 0, $223$hi = 0, $237$hi = 0, $247$hi = 0, $248$hi = 0, $249$hi = 0, $250$hi = 0, $255$hi = 0, $256$hi = 0, $257$hi = 0, $258$hi = 0, $422$hi = 0, $85_1 = 0, $200_1 = 0, $444_1 = 0, $492$hi = 0, $86_1 = 0, $211_1 = 0, $511_1 = 0, $514_1 = 0, $220_1 = 0, $584_1 = 0, $587_1 = 0, $225_1 = 0, $595_1 = 0, $229_1 = 0, $609_1 = 0, $619_1 = 0, $630_1 = 0, $239_1 = 0, $650_1 = 0, $243_1 = 0, $663_1 = 0, $247_1 = 0, $248_1 = 0, $683_1 = 0, $697_1 = 0, $251_1 = 0, $714_1 = 0, $255_1 = 0, $756_1 = 0, $257_1 = 0, $797_1 = 0, $193_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 128 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 120 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 116 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 104 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 108 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 100 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 92 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 96 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 84 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0, 72) | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1774(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $5_1 + 54 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 124 | 0) >> 2] = 7; + break label$1; + } + $43_1 = 0; + HEAP16[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 18 | 0) >> 1] = $43_1; + HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] = 1024; + HEAP16[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 1] = $43_1; + HEAP8[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 0] = 0; + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 80 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + if (!($1735(HEAP32[(HEAP32[($5_1 + 92 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + $13(HEAP32[(HEAP32[($5_1 + 92 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 124 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$1 = -1; + $197$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $422$hi = i64toi32_i32$0; + i64toi32_i32$0 = $197$hi; + i64toi32_i32$0 = $422$hi; + $85_1 = i64toi32_i32$1; + i64toi32_i32$1 = $197$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1775(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $85_1 | 0, i64toi32_i32$0 | 0, -1 | 0, i64toi32_i32$1 | 0, 0 & 65535 | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, (HEAPU16[($5_1 + 54 | 0) >> 1] | 0) & 65535 | 0 | 0, $5_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($5_1 + 100 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$1 = 0; + $199$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $200_1 = i64toi32_i32$1; + $200$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $201$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $202$hi = i64toi32_i32$1; + i64toi32_i32$1 = $201$hi; + i64toi32_i32$1 = $202$hi; + i64toi32_i32$1 = $201$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $202$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$1 ^ i64toi32_i32$0 | 0; + $203$hi = i64toi32_i32$0; + i64toi32_i32$0 = $200$hi; + i64toi32_i32$0 = $203$hi; + $444_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$0 = $200$hi; + i64toi32_i32$1 = $200_1; + i64toi32_i32$2 = $203$hi; + i64toi32_i32$3 = $444_1; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $204_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $204_1; + HEAP32[($5_1 + 60 | 0) >> 2] = i64toi32_i32$2; + $205$hi = i64toi32_i32$2; + i64toi32_i32$2 = $199$hi; + i64toi32_i32$2 = $205$hi; + i64toi32_i32$2 = $199$hi; + i64toi32_i32$2 = $205$hi; + i64toi32_i32$0 = $204_1; + i64toi32_i32$1 = $199$hi; + i64toi32_i32$3 = 0; + label$5 : { + if (((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0) { + break label$5 + } + if (!(HEAP32[($5_1 + 72 | 0) >> 2] | 0)) { + break label$4 + } + } + i64toi32_i32$0 = 0; + $207_1 = 0; + $78_1 = 0; + HEAP32[($5_1 + 48 | 0) >> 2] = $78_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $78_1; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $207_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $207_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$6 : { + if (!(HEAP32[($5_1 + 72 | 0) >> 2] | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + $208$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $209$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $492$hi = i64toi32_i32$2; + i64toi32_i32$2 = $209$hi; + i64toi32_i32$2 = $492$hi; + $86_1 = i64toi32_i32$0; + i64toi32_i32$0 = $209$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1775(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $86_1 | 0, i64toi32_i32$2 | 0, -1 | 0, i64toi32_i32$0 | 0, 1 & 65535 | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, (HEAPU16[($5_1 + 54 | 0) >> 1] | 0) & 65535 | 0 | 0, $5_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$3 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $211_1 = i64toi32_i32$0; + $211$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $212$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $213$hi = i64toi32_i32$0; + i64toi32_i32$0 = $212$hi; + i64toi32_i32$0 = $213$hi; + i64toi32_i32$0 = $212$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $213$hi; + i64toi32_i32$1 = -1; + i64toi32_i32$2 = i64toi32_i32$0 ^ i64toi32_i32$2 | 0; + $214$hi = i64toi32_i32$2; + i64toi32_i32$2 = $211$hi; + i64toi32_i32$2 = $214$hi; + $511_1 = i64toi32_i32$3 ^ i64toi32_i32$1 | 0; + i64toi32_i32$2 = $211$hi; + i64toi32_i32$0 = $211_1; + i64toi32_i32$3 = $214$hi; + i64toi32_i32$1 = $511_1; + i64toi32_i32$3 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $514_1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $514_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $217$hi = i64toi32_i32$0; + i64toi32_i32$0 = $208$hi; + i64toi32_i32$0 = $217$hi; + i64toi32_i32$0 = $208$hi; + i64toi32_i32$0 = $217$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $208$hi; + i64toi32_i32$1 = 0; + label$7 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$7 + } + $96_1 = 1; + HEAP32[($5_1 + 48 | 0) >> 2] = $96_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $96_1; + } + } + label$8 : { + label$9 : while (1) { + if (HEAP32[($5_1 + 100 | 0) >> 2] | 0) { + break label$8 + } + i64toi32_i32$2 = -1; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = -1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$1 = (HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[(((HEAP32[((HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 20 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $220_1 = i64toi32_i32$2; + $220$hi = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $221$hi = i64toi32_i32$2; + i64toi32_i32$2 = -1; + $222$hi = i64toi32_i32$2; + i64toi32_i32$2 = $221$hi; + i64toi32_i32$2 = $222$hi; + i64toi32_i32$2 = $221$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $222$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$2 ^ i64toi32_i32$0 | 0; + $223$hi = i64toi32_i32$0; + i64toi32_i32$0 = $220$hi; + i64toi32_i32$0 = $223$hi; + $584_1 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; + i64toi32_i32$0 = $220$hi; + i64toi32_i32$2 = $220_1; + i64toi32_i32$1 = $223$hi; + i64toi32_i32$3 = $584_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $587_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $5_1; + HEAP32[$5_1 >> 2] = $587_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $225_1 = i64toi32_i32$1; + $225$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $226$hi = i64toi32_i32$1; + i64toi32_i32$1 = $225$hi; + i64toi32_i32$1 = $226$hi; + i64toi32_i32$1 = $225$hi; + i64toi32_i32$1 = $226$hi; + $595_1 = i64toi32_i32$2; + i64toi32_i32$1 = $225$hi; + i64toi32_i32$0 = $225_1; + i64toi32_i32$2 = $226$hi; + i64toi32_i32$3 = $595_1; + label$12 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $229_1 = i64toi32_i32$0; + $229$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $230$hi = i64toi32_i32$0; + i64toi32_i32$0 = $229$hi; + i64toi32_i32$0 = $230$hi; + i64toi32_i32$0 = $229$hi; + i64toi32_i32$0 = $230$hi; + $609_1 = i64toi32_i32$1; + i64toi32_i32$0 = $229$hi; + i64toi32_i32$3 = $229_1; + i64toi32_i32$1 = $230$hi; + i64toi32_i32$2 = $609_1; + if (!((i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $619_1 = i64toi32_i32$3; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $619_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + i64toi32_i32$0 = -1; + $234$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $630_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $630_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $237$hi = i64toi32_i32$0; + i64toi32_i32$0 = $234$hi; + i64toi32_i32$0 = $237$hi; + i64toi32_i32$0 = $234$hi; + i64toi32_i32$0 = $237$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $234$hi; + i64toi32_i32$1 = -1; + label$13 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$13 + } + break label$8; + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $239_1 = i64toi32_i32$2; + $239$hi = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $240$hi = i64toi32_i32$2; + i64toi32_i32$2 = $239$hi; + i64toi32_i32$2 = $240$hi; + i64toi32_i32$2 = $239$hi; + i64toi32_i32$2 = $240$hi; + $650_1 = i64toi32_i32$0; + i64toi32_i32$2 = $239$hi; + i64toi32_i32$1 = $239_1; + i64toi32_i32$0 = $240$hi; + i64toi32_i32$3 = $650_1; + label$14 : { + label$15 : { + if (((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$15 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $243_1 = i64toi32_i32$1; + $243$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $244$hi = i64toi32_i32$1; + i64toi32_i32$1 = $243$hi; + i64toi32_i32$1 = $244$hi; + i64toi32_i32$1 = $243$hi; + i64toi32_i32$1 = $244$hi; + $663_1 = i64toi32_i32$2; + i64toi32_i32$1 = $243$hi; + i64toi32_i32$3 = $243_1; + i64toi32_i32$2 = $244$hi; + i64toi32_i32$0 = $663_1; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$14 + } + } + continue label$9; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $247_1 = i64toi32_i32$3; + $247$hi = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $248_1 = i64toi32_i32$1; + $248$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $249$hi = i64toi32_i32$1; + i64toi32_i32$1 = $248$hi; + i64toi32_i32$1 = $249$hi; + $683_1 = i64toi32_i32$3; + i64toi32_i32$1 = $248$hi; + i64toi32_i32$0 = $248_1; + i64toi32_i32$3 = $249$hi; + i64toi32_i32$2 = $683_1; + i64toi32_i32$3 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + $250$hi = i64toi32_i32$3; + i64toi32_i32$3 = $247$hi; + i64toi32_i32$3 = $250$hi; + $697_1 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + i64toi32_i32$3 = $247$hi; + i64toi32_i32$0 = $250$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1775(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $247_1 | 0, i64toi32_i32$3 | 0, $697_1 | 0, i64toi32_i32$0 | 0, 0 & 65535 | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, (HEAPU16[($5_1 + 54 | 0) >> 1] | 0) & 65535 | 0 | 0, $5_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $251_1 = i64toi32_i32$0; + $251$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $252$hi = i64toi32_i32$0; + i64toi32_i32$0 = $251$hi; + i64toi32_i32$0 = $252$hi; + i64toi32_i32$0 = $251$hi; + i64toi32_i32$0 = $252$hi; + $714_1 = i64toi32_i32$3; + i64toi32_i32$0 = $251$hi; + i64toi32_i32$1 = $251_1; + i64toi32_i32$3 = $252$hi; + i64toi32_i32$2 = $714_1; + label$16 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($5_1 + 48 | 0) >> 2] = 1; + label$17 : { + if (HEAP32[($5_1 + 72 | 0) >> 2] | 0) { + break label$17 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + } + } + continue label$9; + }; + } + label$18 : { + if (HEAP32[($5_1 + 100 | 0) >> 2] | 0) { + break label$18 + } + if (HEAP32[($5_1 + 48 | 0) >> 2] | 0) { + break label$18 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $255_1 = i64toi32_i32$1; + $255$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $256$hi = i64toi32_i32$1; + i64toi32_i32$1 = $255$hi; + i64toi32_i32$1 = $256$hi; + $756_1 = i64toi32_i32$0; + i64toi32_i32$1 = $255$hi; + i64toi32_i32$0 = $256$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1775(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $255_1 | 0, i64toi32_i32$1 | 0, $756_1 | 0, i64toi32_i32$0 | 0, 0 & 65535 | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, (HEAPU16[($5_1 + 54 | 0) >> 1] | 0) & 65535 | 0 | 0, $5_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + if (HEAP32[($5_1 + 72 | 0) >> 2] | 0) { + break label$19 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + } + } + label$20 : { + if (HEAP32[($5_1 + 100 | 0) >> 2] | 0) { + break label$20 + } + if (HEAP32[($5_1 + 44 | 0) >> 2] | 0) { + break label$20 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $257_1 = i64toi32_i32$0; + $257$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $258$hi = i64toi32_i32$0; + i64toi32_i32$0 = $257$hi; + i64toi32_i32$0 = $258$hi; + $797_1 = i64toi32_i32$1; + i64toi32_i32$0 = $257$hi; + i64toi32_i32$1 = $258$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1775(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $257_1 | 0, i64toi32_i32$0 | 0, $797_1 | 0, i64toi32_i32$1 | 0, 1 & 65535 | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, (HEAPU16[($5_1 + 54 | 0) >> 1] | 0) & 65535 | 0 | 0, $5_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + } + } + label$21 : { + if (!(HEAP32[((HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0)) { + break label$21 + } + $42(HEAP32[((HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + $23(HEAP32[(HEAP32[($5_1 + 92 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 124 | 0) >> 2] = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + } + $193_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + global$0 = $5_1 + 128 | 0; + return $193_1 | 0; + } + + function $1728($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $301_1 = 0, $47_1 = 0, $613$hi = 0, $619$hi = 0, $631$hi = 0, $638$hi = 0, $642$hi = 0, $5_1 = 0, $44_1 = 0, $78_1 = 0, $79_1 = 0, $614$hi = 0, $615$hi = 0, $617$hi = 0, $153_1 = 0, $620$hi = 0, $621$hi = 0, $623$hi = 0, $170_1 = 0, $171_1 = 0, $181_1 = 0, $185_1 = 0, $201_1 = 0, $203_1 = 0, $208_1 = 0, $210_1 = 0, $218_1 = 0, $234_1 = 0, $237_1 = 0, $626$hi = 0, $627$hi = 0, $253_1 = 0, $262_1 = 0, $80_1 = 0, $339_1 = 0, $344_1 = 0, $353_1 = 0, $81_1 = 0, $632$hi = 0, $633$hi = 0, $636$hi = 0, $398_1 = 0, $640$hi = 0, $82_1 = 0, $416_1 = 0, $421_1 = 0, $449_1 = 0, $454_1 = 0, $461_1 = 0, $468_1 = 0, $644$hi = 0, $479_1 = 0, $511_1 = 0, $521_1 = 0, $525_1 = 0, $539_1 = 0, $550_1 = 0, $553_1 = 0, $561_1 = 0, $577_1 = 0, $590_1 = 0, $603_1 = 0, $620_1 = 0, $1010_1 = 0, $240_1 = 0, $626_1 = 0, $1195_1 = 0, $1200_1 = 0, $1349_1 = 0, $632_1 = 0, $1495_1 = 0, $1498_1 = 0, $556_1 = 0, $610_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 192 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 188 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 176 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 180 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($4_1 + 90 | 0) >> 1] = 65535; + HEAP32[($4_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 68 | 0) >> 2] = 1; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 188 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 172 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 188 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 80 | 0) >> 2] = ((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0, 72) | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 188 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$4 + } + HEAP32[($4_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$3; + } + $44_1 = 0; + $3289($4_1 + 96 | 0 | 0, $44_1 | 0, 72 | 0) | 0; + $47_1 = 1; + HEAP16[($4_1 + 146 | 0) >> 1] = $47_1; + HEAP16[($4_1 + 148 | 0) >> 1] = $47_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $4_1 + 90 | 0; + HEAP32[($4_1 + 104 | 0) >> 2] = $4_1 + 92 | 0; + HEAP8[($4_1 + 150 | 0) >> 0] = 5; + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP16[($4_1 + 144 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0; + $78_1 = HEAPU8[($4_1 + 151 | 0) >> 0] | 0 | ((HEAPU8[($4_1 + 152 | 0) >> 0] | 0) << 8 | 0) | 0 | 3 | 0; + HEAP8[($4_1 + 151 | 0) >> 0] = $78_1; + HEAP8[($4_1 + 152 | 0) >> 0] = $78_1 >>> 8 | 0; + HEAP16[($4_1 + 92 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 46 | 0) >> 1] | 0; + HEAP16[($4_1 + 94 | 0) >> 1] = $44_1; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$5 : { + if (((HEAPU8[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) & $47_1 | 0) & 255 | 0) { + break label$5 + } + HEAP32[($4_1 + 116 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 168 | 0) >> 2] = $4_1 + 96 | 0; + } + } + HEAP16[($4_1 + 62 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 46 | 0) >> 1] | 0; + $79_1 = 16; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1776(((HEAPU16[($4_1 + 62 | 0) >> 1] | 0) << $79_1 | 0) >> $79_1 | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 60 | 0) >> 1] = wasm2js_i32$1; + label$6 : { + if ((HEAP32[((HEAP32[($4_1 + 188 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + if (((HEAPU16[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$6 + } + i64toi32_i32$0 = 0; + $613$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(HEAP32[(HEAP32[($4_1 + 172 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $614$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $615$hi = i64toi32_i32$1; + i64toi32_i32$1 = $614$hi; + i64toi32_i32$1 = $615$hi; + i64toi32_i32$1 = $614$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $615$hi; + i64toi32_i32$3 = 32768; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $617$hi = i64toi32_i32$0; + i64toi32_i32$0 = $613$hi; + i64toi32_i32$0 = $617$hi; + i64toi32_i32$0 = $613$hi; + i64toi32_i32$0 = $617$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $613$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + if (((HEAPU8[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) & 1 | 0) & 255 | 0) { + break label$6 + } + if ((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$6 + } + if ((((HEAPU8[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 3 | 0) & 1 | 0) & 255 | 0) { + break label$6 + } + if ((((HEAPU8[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 5 | 0) & 1 | 0) & 255 | 0) { + break label$6 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 48) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$7 : while (1) { + $153_1 = 0; + label$8 : { + if (HEAP32[($4_1 + 72 | 0) >> 2] | 0) { + break label$8 + } + $153_1 = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 40 | 0) >> 2] | 0) >>> 0; + } + label$9 : { + if (!($153_1 & 1 | 0)) { + break label$9 + } + i64toi32_i32$1 = 0; + $619$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $620_1 = i64toi32_i32$1; + $620$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $621$hi = i64toi32_i32$1; + i64toi32_i32$1 = $620$hi; + i64toi32_i32$1 = $621$hi; + $1010_1 = i64toi32_i32$0; + i64toi32_i32$1 = $620$hi; + i64toi32_i32$3 = $620_1; + i64toi32_i32$0 = $621$hi; + i64toi32_i32$2 = $1010_1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $623$hi = i64toi32_i32$0; + i64toi32_i32$0 = $619$hi; + i64toi32_i32$0 = $623$hi; + i64toi32_i32$0 = $619$hi; + i64toi32_i32$0 = $623$hi; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $619$hi; + i64toi32_i32$2 = 0; + label$10 : { + label$11 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$11 + } + break label$10; + } + i64toi32_i32$1 = 0; + label$12 : { + if (!($1734(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0)) { + break label$12 + } + $170_1 = 0; + $171_1 = 1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 1] = $171_1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 42 | 0) >> 1] = 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 32 | 0) >> 2] = $170_1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 40 | 0) >> 1] = $171_1; + HEAP32[(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $181_1 = 16; + $185_1 = 16; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 18 | 0) >> 1] = (((HEAPU16[($4_1 + 60 | 0) >> 1] | 0) << $181_1 | 0) >> $181_1 | 0) + (((HEAPU16[($4_1 + 62 | 0) >> 1] | 0) << $185_1 | 0) >> $185_1 | 0) | 0; + label$13 : { + label$14 : { + if (!((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == ($170_1 | 0) & 1 | 0)) { + break label$14 + } + if ((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 2 | 0) { + break label$14 + } + $201_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + $203_1 = 16; + HEAP16[($201_1 + 18 | 0) >> 1] = (((HEAPU16[($201_1 + 18 | 0) >> 1] | 0) << $203_1 | 0) >> $203_1 | 0) + 28 | 0; + break label$13; + } + $208_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + $210_1 = 16; + HEAP16[($208_1 + 18 | 0) >> 1] = (((HEAPU16[($208_1 + 18 | 0) >> 1] | 0) << $210_1 | 0) >> $210_1 | 0) - 10 | 0; + } + $218_1 = 16; + label$15 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $218_1 | 0) >> $218_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 18 | 0) >> 1] = 0; + } + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 22 | 0) >> 1] = 43; + $234_1 = 16; + $237_1 = 16; + $240_1 = $1667(((HEAPU16[($4_1 + 60 | 0) >> 1] | 0) << $234_1 | 0) >> $234_1 | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $237_1 | 0) >> $237_1 | 0 | 0) | 0; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 1] = $240_1; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 16384; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 180 | 0) >> 2] | 0; + $626_1 = i64toi32_i32$1; + $626$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $627$hi = i64toi32_i32$1; + i64toi32_i32$1 = $626$hi; + i64toi32_i32$1 = $627$hi; + $1195_1 = i64toi32_i32$0; + i64toi32_i32$1 = $626$hi; + i64toi32_i32$2 = $626_1; + i64toi32_i32$0 = $627$hi; + i64toi32_i32$3 = $1195_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $1200_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $1200_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1777(HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 48 | 0; + continue label$7; + } + break label$7; + }; + } + label$16 : while (1) { + $253_1 = 0; + label$17 : { + if (HEAP32[($4_1 + 72 | 0) >> 2] | 0) { + break label$17 + } + $253_1 = (HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$18 : { + if (!($253_1 & 1 | 0)) { + break label$18 + } + $262_1 = 0; + HEAP32[($4_1 + 36 | 0) >> 2] = (((HEAPU8[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 32 | 0 | 0) != ($262_1 | 0) & 1 | 0; + label$19 : { + label$20 : { + if (!((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != ($262_1 | 0) & 1 | 0)) { + break label$20 + } + if ($1778(HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0) { + break label$20 + } + break label$19; + } + label$21 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 1 | 0) & 65535 | 0)) { + break label$21 + } + break label$19; + } + HEAP16[($4_1 + 62 | 0) >> 1] = HEAPU16[(HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 1] | 0; + $301_1 = 0; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 1] = $301_1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 26 | 0) >> 1] = $301_1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 28 | 0) >> 1] = $301_1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 42 | 0) >> 1] = $301_1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 40 | 0) >> 1] = $301_1; + HEAP8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 17 | 0) >> 0] = $301_1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 18 | 0) >> 1] = $301_1; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 180 | 0) >> 2] | 0; + $1349_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1349_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAPU16[($4_1 + 62 | 0) >> 1] | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1779(HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + $80_1 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + label$22 : { + label$23 : { + if (!((((HEAPU8[($80_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($80_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 256; + label$24 : { + label$25 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$25 + } + $339_1 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + break label$24; + } + $339_1 = 0; + } + HEAP8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 17 | 0) >> 0] = $339_1; + $344_1 = 16; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 1] = (((HEAPU16[($4_1 + 62 | 0) >> 1] | 0) << $344_1 | 0) >> $344_1 | 0) + 16 | 0; + $353_1 = 16; + $1780(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, ((HEAPU16[($4_1 + 62 | 0) >> 1] | 0) << $353_1 | 0) >> $353_1 | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1777(HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAPU16[($4_1 + 62 | 0) >> 1] | 0; + label$26 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$26 + } + break label$18; + } + break label$22; + } + $81_1 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + label$27 : { + label$28 : { + if (!((((HEAPU8[($81_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($81_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 5 | 0) & 1 | 0) & 65535 | 0)) { + break label$28 + } + i64toi32_i32$2 = 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 576; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$2; + break label$27; + } + i64toi32_i32$2 = 0; + $631$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; + $632_1 = i64toi32_i32$2; + $632$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] | 0; + $633$hi = i64toi32_i32$2; + i64toi32_i32$2 = $632$hi; + i64toi32_i32$2 = $633$hi; + $1495_1 = i64toi32_i32$0; + i64toi32_i32$2 = $632$hi; + i64toi32_i32$1 = $632_1; + i64toi32_i32$0 = $633$hi; + i64toi32_i32$3 = $1495_1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $1498_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1498_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $636$hi = i64toi32_i32$1; + i64toi32_i32$1 = $631$hi; + i64toi32_i32$1 = $636$hi; + i64toi32_i32$1 = $631$hi; + i64toi32_i32$1 = $636$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $631$hi; + i64toi32_i32$3 = 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0 ? 576 : 512; + } + label$29 : { + label$30 : { + if (HEAP32[($4_1 + 64 | 0) >> 2] | 0) { + break label$30 + } + if ((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$30 + } + if ((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$30 + } + $398_1 = 1; + if ((((HEAPU8[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> $398_1 | 0) & $398_1 | 0) & 255 | 0) { + break label$30 + } + i64toi32_i32$2 = 0; + $638$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $640$hi = i64toi32_i32$1; + i64toi32_i32$1 = $638$hi; + i64toi32_i32$1 = $640$hi; + i64toi32_i32$1 = $638$hi; + i64toi32_i32$1 = $640$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $638$hi; + i64toi32_i32$0 = 0; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$29 + } + $82_1 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + if ((((HEAPU8[($82_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($82_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 2 | 0) & 1 | 0) & 65535 | 0) { + break label$29 + } + $416_1 = 16; + $421_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $416_1 | 0) >> $416_1 | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $421_1 | 0) >> $421_1 | 0 | 0) & 1 | 0)) { + break label$29 + } + if (((HEAPU16[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0) { + break label$29 + } + if (!((HEAPU8[(0 + 68375 | 0) >> 0] | 0) & 255 | 0)) { + break label$29 + } + if (((HEAPU16[((HEAP32[(HEAP32[(HEAP32[($4_1 + 172 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$29 + } + } + label$31 : { + label$32 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$32 + } + $449_1 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + break label$31; + } + $449_1 = 0; + } + i64toi32_i32$3 = 0; + $642$hi = i64toi32_i32$3; + HEAP8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 17 | 0) >> 0] = $449_1; + $454_1 = 16; + $461_1 = 16; + $468_1 = 16; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 1] = ((((HEAPU16[($4_1 + 62 | 0) >> 1] | 0) << $454_1 | 0) >> $454_1 | 0) + 1 | 0) + ((Math_imul(((HEAPU16[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $461_1 | 0) >> $461_1 | 0, 15) | 0) / (((HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $468_1 | 0) >> $468_1 | 0 | 0) | 0) | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $644$hi = i64toi32_i32$1; + i64toi32_i32$1 = $642$hi; + i64toi32_i32$1 = $644$hi; + i64toi32_i32$1 = $642$hi; + i64toi32_i32$1 = $644$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $642$hi; + i64toi32_i32$2 = 0; + label$33 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$33 + } + $479_1 = 16; + HEAP16[($4_1 + 22 | 0) >> 1] = (((HEAPU16[($4_1 + 62 | 0) >> 1] | 0) << $479_1 | 0) >> $479_1 | 0) + 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 80 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$34 : { + label$35 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$34 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 48) | 0; + label$36 : { + if ($1747(HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0) | 0) { + break label$36 + } + break label$34; + } + $511_1 = 16; + label$37 : { + label$38 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $511_1 | 0) >> $511_1 | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$38 + } + $521_1 = 16; + $525_1 = 16; + HEAP16[($4_1 + 22 | 0) >> 1] = (((HEAPU16[($4_1 + 22 | 0) >> 1] | 0) << $525_1 | 0) >> $525_1 | 0) + (((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $521_1 | 0) >> $521_1 | 0) | 0; + break label$37; + } + HEAP16[($4_1 + 22 | 0) >> 1] = (HEAPU16[($4_1 + 22 | 0) >> 1] | 0) + -1 | 0; + label$39 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 130 | 0)) { + break label$39 + } + $539_1 = 16; + HEAP16[($4_1 + 22 | 0) >> 1] = (((HEAPU16[($4_1 + 22 | 0) >> 1] | 0) << $539_1 | 0) >> $539_1 | 0) - 19 | 0; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$35; + }; + } + $550_1 = 16; + $553_1 = 16; + $556_1 = $1667(((HEAPU16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $550_1 | 0) >> $550_1 | 0 | 0, ((HEAPU16[($4_1 + 22 | 0) >> 1] | 0) << $553_1 | 0) >> $553_1 | 0 | 0) | 0; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 1] = $556_1; + } + $561_1 = 16; + $1780(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, ((HEAPU16[($4_1 + 62 | 0) >> 1] | 0) << $561_1 | 0) >> $561_1 | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1777(HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAPU16[($4_1 + 62 | 0) >> 1] | 0; + label$40 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$40 + } + break label$18; + } + } + } + HEAP8[((HEAP32[($4_1 + 188 | 0) >> 2] | 0) + 20 | 0) >> 0] = 0; + $577_1 = 16; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1781(HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, (0 << $577_1 | 0) >> $577_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$41 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 188 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$41 + } + $590_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP32[($590_1 + 36 | 0) >> 2] = HEAP32[($590_1 + 36 | 0) >> 2] | 0 | 256 | 0; + } + } + label$42 : { + label$43 : { + if (!((HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$43 + } + $603_1 = 0; + break label$42; + } + $603_1 = HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 168 | 0) >> 2] = $603_1; + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + } + break label$16; + }; + $610_1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + global$0 = $4_1 + 192 | 0; + return $610_1 | 0; + } + + function $1729($0_1, $1_1, $1$hi, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $349_1 = 0, $8_1 = 0, $350$hi = 0, $85_1 = 0, $202_1 = 0, $205_1 = 0, $308_1 = 0, $58_1 = 0, $351$hi = 0, $352$hi = 0, $354$hi = 0, $96_1 = 0, $97_1 = 0, $101_1 = 0, $104_1 = 0, $359$hi = 0, $360$hi = 0, $362$hi = 0, $363$hi = 0, $364$hi = 0, $365$hi = 0, $232_1 = 0, $235_1 = 0, $253_1 = 0, $256_1 = 0, $260_1 = 0, $263_1 = 0, $295_1 = 0, $316_1 = 0, $351_1 = 0, $538_1 = 0, $587_1 = 0, $607_1 = 0, $617_1 = 0, $359_1 = 0, $720_1 = 0, $362_1 = 0, $748_1 = 0, $364_1 = 0, $865_1 = 0, $1111_1 = 0, $346_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 704 | 0; + global$0 = $5_1; + $8_1 = $5_1 + 152 | 0; + HEAP32[($5_1 + 700 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 688 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 692 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 680 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 684 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 676 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 700 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 656 | 0) >> 2] = 0; + HEAP32[($5_1 + 672 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 700 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 660 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 672 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($5_1 + 672 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 48) | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 700 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $349_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $349_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $349_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $349_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $349_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $349_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $349_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $349_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 92 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 676 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0, 72) | 0; + HEAP32[($5_1 + 652 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 664 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 672 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : while (1) { + $58_1 = 0; + label$2 : { + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 660 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $58_1 = (HEAP32[($5_1 + 656 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($58_1 & 1 | 0)) { + break label$3 + } + label$4 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 664 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 512 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $350$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 664 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 408 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 412 | 0) >> 2] | 0; + $351_1 = i64toi32_i32$0; + $351$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $352$hi = i64toi32_i32$0; + i64toi32_i32$0 = $351$hi; + i64toi32_i32$0 = $352$hi; + $538_1 = i64toi32_i32$1; + i64toi32_i32$0 = $351$hi; + i64toi32_i32$2 = $351_1; + i64toi32_i32$1 = $352$hi; + i64toi32_i32$3 = $538_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $354$hi = i64toi32_i32$1; + i64toi32_i32$1 = $350$hi; + i64toi32_i32$1 = $354$hi; + i64toi32_i32$1 = $350$hi; + i64toi32_i32$1 = $354$hi; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $350$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$4 + } + $85_1 = $5_1 + 208 | 0; + HEAP32[($5_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 664 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 84 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 48) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = 1; + $96_1 = HEAP32[($5_1 + 700 | 0) >> 2] | 0; + i64toi32_i32$3 = $96_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $587_1 = i64toi32_i32$0; + i64toi32_i32$0 = $85_1; + HEAP32[i64toi32_i32$0 >> 2] = $587_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $97_1 = 24; + HEAP32[(i64toi32_i32$0 + $97_1 | 0) >> 2] = HEAP32[(i64toi32_i32$3 + $97_1 | 0) >> 2] | 0; + $101_1 = 16; + i64toi32_i32$3 = i64toi32_i32$3 + $101_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $607_1 = i64toi32_i32$1; + i64toi32_i32$1 = $85_1 + $101_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $607_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $104_1 = 8; + i64toi32_i32$3 = $96_1 + $104_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $617_1 = i64toi32_i32$0; + i64toi32_i32$0 = $85_1 + $104_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $617_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 216 | 0) >> 2] = 0; + HEAP32[($5_1 + 224 | 0) >> 2] = $5_1 + 96 | 0; + HEAP32[($5_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 84 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + label$7 : { + label$8 : { + label$9 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 1024 | 0)) { + break label$9 + } + HEAP32[($5_1 + 212 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + break label$8; + } + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 240 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 672 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 244 | 0) >> 2] = HEAP32[($5_1 + 672 | 0) >> 2] | 0; + HEAP8[($5_1 + 248 | 0) >> 0] = 44; + HEAP32[($5_1 + 252 | 0) >> 2] = 1; + HEAP32[($5_1 + 260 | 0) >> 2] = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + HEAP32[($5_1 + 212 | 0) >> 2] = $5_1 + 240 | 0; + break label$10; + } + break label$7; + } + } + HEAP16[($5_1 + 96 | 0) >> 1] = 0; + label$12 : { + label$13 : { + if (!(HEAP32[((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$13 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 688 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 692 | 0) >> 2] | 0; + $359_1 = i64toi32_i32$1; + $359$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 684 | 0) >> 2] | 0; + $360$hi = i64toi32_i32$1; + i64toi32_i32$1 = $359$hi; + i64toi32_i32$1 = $360$hi; + $720_1 = i64toi32_i32$0; + i64toi32_i32$1 = $359$hi; + i64toi32_i32$0 = $360$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1727($5_1 + 208 | 0 | 0, $359_1 | 0, i64toi32_i32$1 | 0, $720_1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 656 | 0) >> 2] = wasm2js_i32$1; + break label$12; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 688 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 692 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1728($5_1 + 208 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 656 | 0) >> 2] = wasm2js_i32$1; + } + label$14 : { + if (HEAP32[($5_1 + 656 | 0) >> 2] | 0) { + break label$14 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 688 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 692 | 0) >> 2] | 0; + $362_1 = i64toi32_i32$1; + $362$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 684 | 0) >> 2] | 0; + $363$hi = i64toi32_i32$1; + i64toi32_i32$1 = $362$hi; + i64toi32_i32$1 = $363$hi; + $748_1 = i64toi32_i32$0; + i64toi32_i32$1 = $362$hi; + i64toi32_i32$0 = $363$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1729($5_1 + 208 | 0 | 0, $362_1 | 0, i64toi32_i32$1 | 0, $748_1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 656 | 0) >> 2] = wasm2js_i32$1; + } + label$15 : { + if ((HEAPU16[($5_1 + 96 | 0) >> 1] | 0) & 65535 | 0) { + break label$15 + } + HEAP16[($5_1 + 152 | 0) >> 1] = 0; + break label$5; + } + label$16 : { + label$17 : { + if (!(HEAP32[($5_1 + 76 | 0) >> 2] | 0)) { + break label$17 + } + $1782($5_1 + 152 | 0 | 0, $5_1 + 96 | 0 | 0); + HEAP32[($5_1 + 76 | 0) >> 2] = 0; + break label$16; + } + $1782($5_1 + 8 | 0 | 0, $5_1 + 152 | 0 | 0); + HEAP16[($5_1 + 152 | 0) >> 1] = 0; + HEAP32[($5_1 + 72 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0) < ((HEAPU16[($5_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($5_1 + 68 | 0) >> 2] = 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) < ((HEAPU16[($5_1 + 96 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$20 + } + $202_1 = $5_1 + 96 | 0; + $205_1 = $5_1 + 8 | 0; + i64toi32_i32$3 = ($205_1 + 8 | 0) + ((HEAP32[($5_1 + 72 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $364_1 = i64toi32_i32$0; + $364$hi = i64toi32_i32$1; + i64toi32_i32$3 = ($202_1 + 8 | 0) + ((HEAP32[($5_1 + 68 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $365$hi = i64toi32_i32$0; + i64toi32_i32$0 = $364$hi; + i64toi32_i32$0 = $365$hi; + $865_1 = i64toi32_i32$1; + i64toi32_i32$0 = $364$hi; + i64toi32_i32$3 = $364_1; + i64toi32_i32$1 = $365$hi; + i64toi32_i32$2 = $865_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $232_1 = 16; + $235_1 = 16; + $253_1 = 16; + $256_1 = 16; + $260_1 = 16; + $263_1 = 16; + $1783($5_1 + 152 | 0 | 0, i64toi32_i32$3 | i64toi32_i32$2 | 0 | 0, i64toi32_i32$1 | 0, (($1667(((HEAPU16[((($205_1 + 8 | 0) + ((HEAP32[($5_1 + 72 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 1] | 0) << $232_1 | 0) >> $232_1 | 0 | 0, ((HEAPU16[((($202_1 + 8 | 0) + ((HEAP32[($5_1 + 68 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 1] | 0) << $235_1 | 0) >> $235_1 | 0 | 0) | 0) << $260_1 | 0) >> $260_1 | 0 | 0, (($1667(((HEAPU16[((($205_1 + 8 | 0) + ((HEAP32[($5_1 + 72 | 0) >> 2] | 0) << 4 | 0) | 0) + 10 | 0) >> 1] | 0) << $253_1 | 0) >> $253_1 | 0 | 0, ((HEAPU16[((($202_1 + 8 | 0) + ((HEAP32[($5_1 + 68 | 0) >> 2] | 0) << 4 | 0) | 0) + 10 | 0) >> 1] | 0) << $256_1 | 0) >> $256_1 | 0 | 0) | 0) << $263_1 | 0) >> $263_1 | 0 | 0) | 0; + HEAP32[($5_1 + 68 | 0) >> 2] = (HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$21; + }; + } + HEAP32[($5_1 + 72 | 0) >> 2] = (HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + } + } + HEAP32[($5_1 + 80 | 0) >> 2] = (HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 48 | 0; + continue label$6; + }; + } + HEAP16[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + 40 | 0) >> 1] = 1; + HEAP32[(HEAP32[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 664 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + 36 | 0) >> 2] = 8192; + HEAP16[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + 18 | 0) >> 1] = 0; + HEAP8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + 17 | 0) >> 0] = 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + 24 | 0; + HEAP32[i64toi32_i32$3 >> 2] = 0; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 72 | 0) >> 2] = 0; + label$22 : while (1) { + $295_1 = 0; + label$23 : { + if (HEAP32[($5_1 + 656 | 0) >> 2] | 0) { + break label$23 + } + $295_1 = (HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0) < ((HEAPU16[($5_1 + 152 | 0) >> 1] | 0) & 65535 | 0 | 0); + } + label$24 : { + if (!($295_1 & 1 | 0)) { + break label$24 + } + $308_1 = $5_1 + 152 | 0; + $316_1 = 16; + HEAP16[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + 20 | 0) >> 1] = (((HEAPU16[((($308_1 + 8 | 0) + ((HEAP32[($5_1 + 72 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 1] | 0) << $316_1 | 0) >> $316_1 | 0) + 1 | 0; + HEAP16[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAPU16[((($308_1 + 8 | 0) + ((HEAP32[($5_1 + 72 | 0) >> 2] | 0) << 4 | 0) | 0) + 10 | 0) >> 1] | 0; + i64toi32_i32$0 = ($308_1 + 8 | 0) + ((HEAP32[($5_1 + 72 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $1111_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1111_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1777(HEAP32[($5_1 + 700 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 656 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 72 | 0) >> 2] = (HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$22; + } + break label$22; + }; + } + HEAP32[($5_1 + 664 | 0) >> 2] = (HEAP32[($5_1 + 664 | 0) >> 2] | 0) + 48 | 0; + continue label$1; + } + break label$1; + }; + $346_1 = HEAP32[($5_1 + 656 | 0) >> 2] | 0; + global$0 = $5_1 + 704 | 0; + return $346_1 | 0; + } + + function $1730($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0 | 0) & 1 | 0)) { + break label$1 + } + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + } + $1784(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $1676(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1731($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$6 = 0, $57_1 = 0, $902$hi = 0, $903$hi = 0, $910$hi = 0, $354_1 = 0, $926$hi = 0, $947$hi = 0, $955$hi = 0, $960$hi = 0, $973$hi = 0, $974$hi = 0, $984$hi = 0, $985$hi = 0, $896_1 = 0, $897$hi = 0, $898$hi = 0, $125_1 = 0, $899$hi = 0, $900$hi = 0, $906$hi = 0, $108_1 = 0, $911$hi = 0, $912$hi = 0, $126_1 = 0, $913$hi = 0, $914$hi = 0, $916$hi = 0, $184_1 = 0, $191_1 = 0, $918$hi = 0, $919$hi = 0, $226_1 = 0, $263_1 = 0, $921$hi = 0, $922$hi = 0, $127_1 = 0, $923$hi = 0, $317_1 = 0, $128_1 = 0, $341_1 = 0, $464_1 = 0, $480_1 = 0, $528_1 = 0, $927$hi = 0, $928$hi = 0, $129_1 = 0, $929$hi = 0, $930$hi = 0, $932$hi = 0, $593_1 = 0, $934$hi = 0, $935$hi = 0, $130_1 = 0, $936$hi = 0, $725_1 = 0, $752_1 = 0, $939$hi = 0, $940$hi = 0, $131_1 = 0, $941$hi = 0, $944$hi = 0, $948$hi = 0, $949$hi = 0, $132_1 = 0, $950$hi = 0, $951$hi = 0, $953$hi = 0, $958$hi = 0, $961$hi = 0, $962$hi = 0, $963$hi = 0, $964$hi = 0, $966$hi = 0, $968$hi = 0, $969$hi = 0, $133_1 = 0, $970$hi = 0, $977$hi = 0, $978$hi = 0, $134_1 = 0, $979$hi = 0, $980$hi = 0, $982$hi = 0, $983$hi = 0, $890_1 = 0, $36_1 = 0, $896$hi = 0, $902_1 = 0, $1124_1 = 0, $906_1 = 0, $1169$hi = 0, $1173_1 = 0, $1254_1 = 0, $910_1 = 0, $1323_1 = 0, $1645$hi = 0, $1649_1 = 0, $926_1 = 0, $2139_1 = 0, $2515$hi = 0, $2519_1 = 0, $2622$hi = 0, $2626_1 = 0, $944_1 = 0, $2697$hi = 0, $2701_1 = 0, $947_1 = 0, $2732_1 = 0, $2772_1 = 0, $961_1 = 0, $2798_1 = 0, $2820$hi = 0, $2824_1 = 0, $973_1 = 0, $2846_1 = 0, $982_1 = 0, $2912_1 = 0, $984_1 = 0, $2919_1 = 0, $892_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 176 | 0; + global$0 = $9_1; + i64toi32_i32$0 = 0; + HEAP32[($9_1 + 168 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 164 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 160 | 0) >> 2] = $2_1; + HEAP16[($9_1 + 158 | 0) >> 1] = $3_1; + HEAP16[($9_1 + 156 | 0) >> 1] = $4_1; + HEAP32[($9_1 + 152 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 148 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 108 | 0) >> 2] = 0; + HEAP32[($9_1 + 88 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($9_1 + 168 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 80 | 0) >> 2] = 0; + HEAP32[($9_1 + 84 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAPU16[($9_1 + 156 | 0) >> 1] | 0) & 65535 | 0)) { + break label$2 + } + if (!(((HEAPU16[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0)) { + break label$2 + } + HEAP8[($9_1 + 175 | 0) >> 0] = 0; + break label$1; + } + HEAP16[($9_1 + 134 | 0) >> 1] = HEAP32[(HEAP32[($9_1 + 164 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + if (!(((HEAPU16[($9_1 + 134 | 0) >> 1] | 0) & 65535 | 0 | 0) > (63 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[($9_1 + 175 | 0) >> 0] = 0; + break label$1; + } + $36_1 = 386; + i64toi32_i32$0 = 0; + $896_1 = 0; + $896$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $897$hi = i64toi32_i32$0; + HEAP8[($9_1 + 144 | 0) >> 0] = 1; + i64toi32_i32$0 = 0; + $898$hi = i64toi32_i32$0; + i64toi32_i32$0 = $897$hi; + i64toi32_i32$0 = $898$hi; + i64toi32_i32$0 = $897$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = $898$hi; + i64toi32_i32$3 = (HEAPU16[($9_1 + 134 | 0) >> 1] | 0) & 65535 | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $125_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $125_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $899$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $900$hi = i64toi32_i32$1; + i64toi32_i32$1 = $899$hi; + i64toi32_i32$1 = $900$hi; + i64toi32_i32$1 = $899$hi; + i64toi32_i32$0 = $125_1; + i64toi32_i32$2 = $900$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$0 = $9_1; + HEAP32[($9_1 + 72 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($9_1 + 76 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $896$hi; + i64toi32_i32$0 = $9_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $896_1; + HEAP32[($9_1 + 68 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$0 = $9_1; + HEAP32[($9_1 + 56 | 0) >> 2] = $896_1; + HEAP32[($9_1 + 60 | 0) >> 2] = i64toi32_i32$5; + HEAP16[($9_1 + 140 | 0) >> 1] = $36_1; + label$4 : { + if (!(((HEAPU16[($9_1 + 158 | 0) >> 1] | 0) & 65535 | 0) & 2051 | 0)) { + break label$4 + } + HEAP16[($9_1 + 140 | 0) >> 1] = (HEAPU16[($9_1 + 140 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + } + HEAP32[($9_1 + 128 | 0) >> 2] = 0; + label$5 : while (1) { + $57_1 = 0; + label$6 : { + if (!((HEAPU8[($9_1 + 144 | 0) >> 0] | 0) & 255 | 0)) { + break label$6 + } + i64toi32_i32$1 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + $902_1 = i64toi32_i32$5; + $902$hi = i64toi32_i32$0; + i64toi32_i32$1 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $903$hi = i64toi32_i32$5; + i64toi32_i32$5 = $902$hi; + i64toi32_i32$5 = $903$hi; + i64toi32_i32$5 = $902$hi; + i64toi32_i32$5 = $903$hi; + $1124_1 = i64toi32_i32$0; + i64toi32_i32$5 = $902$hi; + i64toi32_i32$1 = $902_1; + i64toi32_i32$0 = $903$hi; + i64toi32_i32$3 = $1124_1; + $57_1 = 0; + if (!((i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + $57_1 = (HEAP32[($9_1 + 128 | 0) >> 2] | 0 | 0) <= ((HEAPU16[($9_1 + 156 | 0) >> 1] | 0) & 65535 | 0 | 0); + } + label$7 : { + if (!($57_1 & 1 | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[($9_1 + 128 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$3 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $906_1 = i64toi32_i32$1; + $906$hi = i64toi32_i32$5; + i64toi32_i32$3 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $1169$hi = i64toi32_i32$1; + i64toi32_i32$1 = $906$hi; + i64toi32_i32$1 = $1169$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $906$hi; + i64toi32_i32$0 = $906_1; + i64toi32_i32$5 = i64toi32_i32$1 | i64toi32_i32$5 | 0; + $1173_1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = $9_1; + HEAP32[($9_1 + 56 | 0) >> 2] = $1173_1; + HEAP32[($9_1 + 60 | 0) >> 2] = i64toi32_i32$5; + } + label$9 : { + label$10 : { + label$11 : { + if (!((HEAP32[($9_1 + 128 | 0) >> 2] | 0 | 0) < ((HEAPU16[($9_1 + 156 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($9_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9_1 + 160 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 128 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$12 : { + if (!(((HEAPU16[($9_1 + 158 | 0) >> 1] | 0) & 65535 | 0) & 2048 | 0)) { + break label$12 + } + break label$9; + } + break label$10; + } + HEAP32[($9_1 + 108 | 0) >> 2] = HEAP32[($9_1 + 152 | 0) >> 2] | 0; + } + label$13 : { + if (!((HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1024 | 0)) { + break label$13 + } + $108_1 = 24; + label$14 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 29 | 0) >> 0] | 0) << $108_1 | 0) >> $108_1 | 0)) { + break label$14 + } + if (((HEAPU16[($9_1 + 158 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0) { + break label$14 + } + i64toi32_i32$1 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $1254_1 = i64toi32_i32$5; + i64toi32_i32$5 = $9_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $1254_1; + HEAP32[($9_1 + 84 | 0) >> 2] = i64toi32_i32$3; + } + break label$7; + } + label$15 : { + if (!(((HEAPU16[($9_1 + 158 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$15 + } + HEAP16[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 30 | 0) >> 1] = 0; + } + HEAP32[($9_1 + 116 | 0) >> 2] = HEAP32[((((HEAP32[((HEAP32[($9_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0, 72) | 0) + 40 | 0) >> 2] | 0; + HEAP32[($9_1 + 124 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0) < ((HEAPU16[($9_1 + 134 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$16 + } + i64toi32_i32$3 = 0; + $910_1 = 0; + $910$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $911$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $912$hi = i64toi32_i32$3; + i64toi32_i32$3 = $911$hi; + i64toi32_i32$3 = $912$hi; + i64toi32_i32$3 = $911$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$5 = $912$hi; + i64toi32_i32$0 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $126_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$2 | 0) | 0; + $126_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $913$hi = i64toi32_i32$5; + i64toi32_i32$3 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + $914$hi = i64toi32_i32$1; + i64toi32_i32$1 = $913$hi; + i64toi32_i32$1 = $914$hi; + $1323_1 = i64toi32_i32$5; + i64toi32_i32$1 = $913$hi; + i64toi32_i32$3 = $126_1; + i64toi32_i32$5 = $914$hi; + i64toi32_i32$0 = $1323_1; + i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + $916$hi = i64toi32_i32$5; + i64toi32_i32$5 = $910$hi; + i64toi32_i32$5 = $916$hi; + i64toi32_i32$5 = $910$hi; + i64toi32_i32$5 = $916$hi; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + i64toi32_i32$3 = $910$hi; + i64toi32_i32$0 = $910_1; + label$18 : { + label$19 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$19 + } + break label$18; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1527(HEAP32[(((HEAP32[($9_1 + 164 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$20 + } + break label$18; + } + label$21 : { + if (!(((HEAPU8[(HEAP32[($9_1 + 100 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$21 + } + break label$18; + } + label$22 : { + if (!((HEAP32[((HEAP32[($9_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + break label$18; + } + $184_1 = 0; + $191_1 = 16; + i64toi32_i32$0 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $918$hi = i64toi32_i32$5; + i64toi32_i32$5 = -1; + $919$hi = i64toi32_i32$5; + i64toi32_i32$5 = $918$hi; + i64toi32_i32$5 = $919$hi; + i64toi32_i32$5 = $918$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $919$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$1 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1723((HEAP32[($9_1 + 168 | 0) >> 2] | 0) + 80 | 0 | 0, HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($9_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $191_1 | 0) >> $191_1 | 0 | 0, i64toi32_i32$0 ^ i64toi32_i32$3 | 0 | 0, i64toi32_i32$1 | 0, (HEAPU16[($9_1 + 140 | 0) >> 1] | 0) & 65535 | 0 | 0, $184_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!((HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0) == ($184_1 | 0) & 1 | 0)) { + break label$23 + } + break label$18; + } + label$24 : { + if (!(((HEAPU16[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($9_1 + 120 | 0) >> 2] = 0; + label$25 : while (1) { + $226_1 = 0; + label$26 : { + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$26 + } + $226_1 = (HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + label$27 : { + if (!($226_1 & 1 | 0)) { + break label$27 + } + HEAP32[($9_1 + 120 | 0) >> 2] = (HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + } + break label$25; + }; + label$28 : { + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) >= ((HEAPU16[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$28 + } + break label$18; + } + } + label$29 : { + if (!(((HEAPU16[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 130 | 0)) { + break label$29 + } + $263_1 = 16; + if (!((((HEAPU16[((HEAP32[($9_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $263_1 | 0) >> $263_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($9_1 + 52 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 168 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1675(HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($9_1 + 164 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $427(HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$30 : { + label$31 : { + if ((HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$31 + } + if (!($88(HEAP32[(HEAP32[($9_1 + 48 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($9_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0)) { + break label$30 + } + } + break label$18; + } + } + i64toi32_i32$1 = 0; + $921$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $922$hi = i64toi32_i32$1; + i64toi32_i32$1 = $921$hi; + i64toi32_i32$1 = $922$hi; + i64toi32_i32$1 = $921$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$0 = $922$hi; + i64toi32_i32$3 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$5 << i64toi32_i32$2 | 0; + $127_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$2 | 0) | 0; + $127_1 = i64toi32_i32$5 << i64toi32_i32$2 | 0; + } + $923$hi = i64toi32_i32$0; + i64toi32_i32$1 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + $1645$hi = i64toi32_i32$5; + i64toi32_i32$5 = $923$hi; + i64toi32_i32$5 = $1645$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $923$hi; + i64toi32_i32$3 = $127_1; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + $1649_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $1649_1; + HEAP32[($9_1 + 84 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($9_1 + 124 | 0) >> 2] = (HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + label$32 : { + if ((HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 4096 | 0) { + break label$32 + } + label$33 : { + label$34 : { + if (!((HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 256 | 0)) { + break label$34 + } + HEAP32[($9_1 + 92 | 0) >> 2] = 0; + HEAP16[($9_1 + 138 | 0) >> 1] = 0; + HEAP16[($9_1 + 136 | 0) >> 1] = 1; + break label$33; + } + $317_1 = HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($9_1 + 92 | 0) >> 2] = $317_1; + label$35 : { + label$36 : { + if (($317_1 | 0) == (0 | 0) & 1 | 0) { + break label$36 + } + $128_1 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + if (!((((HEAPU8[($128_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($128_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 2 | 0) & 1 | 0) & 65535 | 0)) { + break label$35 + } + } + HEAP8[($9_1 + 175 | 0) >> 0] = 0; + break label$1; + } + HEAP16[($9_1 + 138 | 0) >> 1] = HEAPU16[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0; + HEAP16[($9_1 + 136 | 0) >> 1] = HEAPU16[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0; + $341_1 = 0; + label$37 : { + if (!((HEAPU8[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$37 + } + $341_1 = ((HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 32768 | 0 | 0) == (0 | 0); + } + HEAP8[($9_1 + 144 | 0) >> 0] = $341_1 & 1 | 0; + } + $354_1 = 0; + HEAP8[($9_1 + 147 | 0) >> 0] = $354_1; + HEAP8[($9_1 + 146 | 0) >> 0] = $354_1; + HEAP8[($9_1 + 143 | 0) >> 0] = $354_1; + HEAP32[($9_1 + 120 | 0) >> 2] = 0; + label$38 : { + label$39 : while (1) { + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) < ((HEAPU16[($9_1 + 136 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$38 + } + HEAP8[($9_1 + 43 | 0) >> 0] = 1; + label$40 : { + label$41 : { + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$41 + } + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) >= ((HEAPU16[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$41 + } + HEAP16[($9_1 + 40 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 12 | 0) >> 1] | 0; + label$42 : { + if (!(((HEAPU16[($9_1 + 40 | 0) >> 1] | 0) & 65535 | 0) & ((HEAPU16[($9_1 + 140 | 0) >> 1] | 0) & 65535 | 0) | 0)) { + break label$42 + } + label$43 : { + if (!(((HEAPU16[($9_1 + 40 | 0) >> 1] | 0) & 65535 | 0) & 384 | 0)) { + break label$43 + } + HEAP8[($9_1 + 144 | 0) >> 0] = 0; + } + break label$40; + } + label$44 : { + if (!(((HEAPU16[($9_1 + 40 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$44 + } + HEAP32[($9_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($9_1 + 124 | 0) >> 2] = (HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 1 | 0; + label$45 : { + label$46 : while (1) { + if (!((HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$45 + } + label$47 : { + if (!((HEAP32[(HEAP32[((HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$47 + } + HEAP8[($9_1 + 43 | 0) >> 0] = 0; + break label$45; + } + HEAP32[($9_1 + 124 | 0) >> 2] = (HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 1 | 0; + continue label$46; + }; + } + } + } + label$48 : { + label$49 : { + if (!((HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$49 + } + $464_1 = 16; + HEAP32[($9_1 + 112 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 120 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $464_1 | 0) >> $464_1 | 0; + HEAP8[($9_1 + 145 | 0) >> 0] = ((HEAPU8[((HEAP32[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($9_1 + 120 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 1 | 0; + $480_1 = 16; + label$50 : { + if (!((HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $480_1 | 0) >> $480_1 | 0 | 0) & 1 | 0)) { + break label$50 + } + HEAP32[($9_1 + 112 | 0) >> 2] = -1; + } + break label$48; + } + HEAP32[($9_1 + 112 | 0) >> 2] = -1; + HEAP8[($9_1 + 145 | 0) >> 0] = 0; + } + label$51 : { + if (!((HEAPU8[($9_1 + 144 | 0) >> 0] | 0) & 255 | 0)) { + break label$51 + } + if (!((HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$51 + } + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) >= ((HEAPU16[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$51 + } + if ((HEAPU8[(((HEAP32[((HEAP32[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($9_1 + 112 | 0) >> 2] | 0, 20) | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$51 + } + HEAP8[($9_1 + 144 | 0) >> 0] = 0; + } + HEAP8[($9_1 + 142 | 0) >> 0] = 0; + HEAP32[($9_1 + 124 | 0) >> 2] = 0; + label$52 : while (1) { + $528_1 = 0; + label$53 : { + if (!((HEAPU8[($9_1 + 43 | 0) >> 0] | 0) & 255 | 0)) { + break label$53 + } + $528_1 = (HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0) < ((HEAPU16[($9_1 + 134 | 0) >> 1] | 0) & 65535 | 0 | 0); + } + label$54 : { + if (!($528_1 & 1 | 0)) { + break label$54 + } + i64toi32_i32$0 = 0; + $926_1 = 0; + $926$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $927$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $928$hi = i64toi32_i32$0; + i64toi32_i32$0 = $927$hi; + i64toi32_i32$0 = $928$hi; + i64toi32_i32$0 = $927$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$1 = $928$hi; + i64toi32_i32$3 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$5 << i64toi32_i32$2 | 0; + $129_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$2 | 0) | 0; + $129_1 = i64toi32_i32$5 << i64toi32_i32$2 | 0; + } + $929$hi = i64toi32_i32$1; + i64toi32_i32$0 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + $930$hi = i64toi32_i32$5; + i64toi32_i32$5 = $929$hi; + i64toi32_i32$5 = $930$hi; + $2139_1 = i64toi32_i32$1; + i64toi32_i32$5 = $929$hi; + i64toi32_i32$0 = $129_1; + i64toi32_i32$1 = $930$hi; + i64toi32_i32$3 = $2139_1; + i64toi32_i32$1 = i64toi32_i32$5 & i64toi32_i32$1 | 0; + $932$hi = i64toi32_i32$1; + i64toi32_i32$1 = $926$hi; + i64toi32_i32$1 = $932$hi; + i64toi32_i32$1 = $926$hi; + i64toi32_i32$1 = $932$hi; + i64toi32_i32$5 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $926$hi; + i64toi32_i32$3 = $926_1; + label$55 : { + label$56 : { + if (!(((i64toi32_i32$5 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$56 + } + break label$55; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1527(HEAP32[(((HEAP32[($9_1 + 164 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$57 : { + if (!((HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$57 + } + break label$55; + } + label$58 : { + if (((HEAPU16[($9_1 + 158 | 0) >> 1] | 0) & 65535 | 0) & 192 | 0) { + break label$58 + } + HEAP8[($9_1 + 43 | 0) >> 0] = 0; + } + label$59 : { + label$60 : { + if (!((HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) >= (-1 | 0) & 1 | 0)) { + break label$60 + } + label$61 : { + if (!(((HEAPU8[(HEAP32[($9_1 + 100 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$61 + } + break label$55; + } + label$62 : { + if (!((HEAP32[((HEAP32[($9_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$62 + } + break label$55; + } + $593_1 = 16; + label$63 : { + if (!((((HEAPU16[((HEAP32[($9_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $593_1 | 0) >> $593_1 | 0 | 0) != (HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$63 + } + break label$55; + } + break label$59; + } + HEAP32[($9_1 + 32 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 120 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$64 : { + if (!($1767(HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0) | 0)) { + break label$64 + } + break label$55; + } + } + label$65 : { + if (!((HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$65 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1675(HEAP32[(HEAP32[($9_1 + 168 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($9_1 + 164 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$66 : { + if (!($88(HEAP32[(HEAP32[($9_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$66 + } + break label$55; + } + } + label$67 : { + if (!(((HEAPU16[($9_1 + 158 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$67 + } + HEAP16[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 30 | 0) >> 1] = (HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 1 | 0; + } + HEAP8[($9_1 + 142 | 0) >> 0] = 1; + break label$54; + } + HEAP32[($9_1 + 124 | 0) >> 2] = (HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 1 | 0; + continue label$52; + } + break label$52; + }; + label$68 : { + if (!((HEAPU8[($9_1 + 142 | 0) >> 0] | 0) & 255 | 0)) { + break label$68 + } + if (((HEAPU16[($9_1 + 158 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0) { + break label$68 + } + label$69 : { + label$70 : { + if (!(((HEAPU8[($9_1 + 147 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$70 + } + label$71 : { + if (!((((HEAPU8[($9_1 + 146 | 0) >> 0] | 0) & 255 | 0) ^ ((HEAPU8[($9_1 + 145 | 0) >> 0] | 0) & 255 | 0) | 0 | 0) != (((HEAPU8[((((HEAP32[($9_1 + 164 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$71 + } + HEAP8[($9_1 + 142 | 0) >> 0] = 0; + } + break label$69; + } + HEAP8[($9_1 + 146 | 0) >> 0] = ((HEAPU8[($9_1 + 145 | 0) >> 0] | 0) & 255 | 0) ^ (((HEAPU8[((((HEAP32[($9_1 + 164 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) | 0; + label$72 : { + if (!(((HEAPU8[($9_1 + 146 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$72 + } + i64toi32_i32$5 = 0; + $934$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $935$hi = i64toi32_i32$5; + i64toi32_i32$5 = $934$hi; + i64toi32_i32$5 = $935$hi; + i64toi32_i32$5 = $934$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = $935$hi; + i64toi32_i32$0 = HEAP32[($9_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + $130_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $130_1 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + } + $936$hi = i64toi32_i32$1; + $725_1 = HEAP32[($9_1 + 148 | 0) >> 2] | 0; + i64toi32_i32$5 = $725_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $2515$hi = i64toi32_i32$3; + i64toi32_i32$3 = $936$hi; + i64toi32_i32$3 = $2515$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $936$hi; + i64toi32_i32$0 = $130_1; + i64toi32_i32$1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + $2519_1 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + i64toi32_i32$5 = $725_1; + HEAP32[i64toi32_i32$5 >> 2] = $2519_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$1; + } + HEAP8[($9_1 + 147 | 0) >> 0] = 1; + } + } + label$73 : { + if (!((HEAPU8[($9_1 + 142 | 0) >> 0] | 0) & 255 | 0)) { + break label$73 + } + if (!(((HEAPU8[((((HEAP32[($9_1 + 164 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$73 + } + label$74 : { + label$75 : { + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) == ((HEAPU16[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$75 + } + $752_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + HEAP32[($752_1 + 36 | 0) >> 2] = HEAP32[($752_1 + 36 | 0) >> 2] | 0 | 524288 | 0; + break label$74; + } + HEAP8[($9_1 + 142 | 0) >> 0] = 0; + } + } + label$76 : { + label$77 : { + if (!(((HEAPU8[($9_1 + 142 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$77 + } + label$78 : { + if (!((HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$78 + } + HEAP8[($9_1 + 143 | 0) >> 0] = 1; + } + i64toi32_i32$1 = 0; + $939$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $940$hi = i64toi32_i32$1; + i64toi32_i32$1 = $939$hi; + i64toi32_i32$1 = $940$hi; + i64toi32_i32$1 = $939$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = $940$hi; + i64toi32_i32$0 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + $131_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$2 | 0) | 0; + $131_1 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + } + $941$hi = i64toi32_i32$5; + i64toi32_i32$1 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + $2622$hi = i64toi32_i32$3; + i64toi32_i32$3 = $941$hi; + i64toi32_i32$3 = $2622$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $941$hi; + i64toi32_i32$0 = $131_1; + i64toi32_i32$5 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + $2626_1 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $2626_1; + HEAP32[($9_1 + 84 | 0) >> 2] = i64toi32_i32$5; + break label$76; + } + label$79 : { + label$80 : { + if (!(HEAP32[($9_1 + 120 | 0) >> 2] | 0)) { + break label$80 + } + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) < ((HEAPU16[($9_1 + 138 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$79 + } + } + HEAP8[($9_1 + 144 | 0) >> 0] = 0; + } + break label$38; + } + } + HEAP32[($9_1 + 120 | 0) >> 2] = (HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$39; + }; + } + label$81 : { + if (!(((HEAPU8[($9_1 + 143 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$81 + } + HEAP8[($9_1 + 144 | 0) >> 0] = 1; + } + } + label$82 : { + if (!(((HEAPU8[($9_1 + 144 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$82 + } + i64toi32_i32$3 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $944_1 = i64toi32_i32$5; + $944$hi = i64toi32_i32$1; + i64toi32_i32$3 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $2697$hi = i64toi32_i32$5; + i64toi32_i32$5 = $944$hi; + i64toi32_i32$5 = $2697$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $944$hi; + i64toi32_i32$0 = $944_1; + i64toi32_i32$1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + $2701_1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = $9_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $2701_1; + HEAP32[($9_1 + 68 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($9_1 + 124 | 0) >> 2] = 0; + label$83 : { + label$84 : while (1) { + if (!((HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0) < ((HEAPU16[($9_1 + 134 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$83 + } + i64toi32_i32$1 = 0; + $947_1 = 0; + $947$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $948$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $949$hi = i64toi32_i32$1; + i64toi32_i32$1 = $948$hi; + i64toi32_i32$1 = $949$hi; + i64toi32_i32$1 = $948$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$3 = $949$hi; + i64toi32_i32$0 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$5 << i64toi32_i32$2 | 0; + $132_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$2 | 0) | 0; + $132_1 = i64toi32_i32$5 << i64toi32_i32$2 | 0; + } + $950$hi = i64toi32_i32$3; + i64toi32_i32$1 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + $951$hi = i64toi32_i32$5; + i64toi32_i32$5 = $950$hi; + i64toi32_i32$5 = $951$hi; + $2732_1 = i64toi32_i32$3; + i64toi32_i32$5 = $950$hi; + i64toi32_i32$1 = $132_1; + i64toi32_i32$3 = $951$hi; + i64toi32_i32$0 = $2732_1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + $953$hi = i64toi32_i32$3; + i64toi32_i32$3 = $947$hi; + i64toi32_i32$3 = $953$hi; + i64toi32_i32$3 = $947$hi; + i64toi32_i32$3 = $953$hi; + i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + i64toi32_i32$1 = $947$hi; + i64toi32_i32$0 = $947_1; + label$85 : { + label$86 : { + if (!(((i64toi32_i32$5 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$86 + } + break label$85; + } + i64toi32_i32$5 = 0; + $955$hi = i64toi32_i32$5; + HEAP32[($9_1 + 28 | 0) >> 2] = HEAP32[(((HEAP32[($9_1 + 164 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + i64toi32_i32$5 = $1733((HEAP32[($9_1 + 168 | 0) >> 2] | 0) + 488 | 0 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $2772_1 = i64toi32_i32$5; + i64toi32_i32$5 = $9_1; + HEAP32[($9_1 + 16 | 0) >> 2] = $2772_1; + HEAP32[($9_1 + 20 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$0 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + $958$hi = i64toi32_i32$5; + i64toi32_i32$5 = $955$hi; + i64toi32_i32$5 = $958$hi; + i64toi32_i32$5 = $955$hi; + i64toi32_i32$5 = $958$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $955$hi; + i64toi32_i32$1 = 0; + label$87 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$87 + } + if ($1243(HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) | 0) { + break label$87 + } + break label$85; + } + i64toi32_i32$0 = 0; + $960$hi = i64toi32_i32$0; + i64toi32_i32$1 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + $961_1 = i64toi32_i32$0; + $961$hi = i64toi32_i32$5; + i64toi32_i32$1 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $962$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $963$hi = i64toi32_i32$0; + i64toi32_i32$0 = $962$hi; + i64toi32_i32$0 = $963$hi; + i64toi32_i32$0 = $962$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $963$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$5 = i64toi32_i32$0 ^ i64toi32_i32$5 | 0; + $964$hi = i64toi32_i32$5; + i64toi32_i32$5 = $961$hi; + i64toi32_i32$5 = $964$hi; + $2798_1 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; + i64toi32_i32$5 = $961$hi; + i64toi32_i32$0 = $961_1; + i64toi32_i32$1 = $964$hi; + i64toi32_i32$3 = $2798_1; + i64toi32_i32$1 = i64toi32_i32$5 & i64toi32_i32$1 | 0; + $966$hi = i64toi32_i32$1; + i64toi32_i32$1 = $960$hi; + i64toi32_i32$1 = $966$hi; + i64toi32_i32$1 = $960$hi; + i64toi32_i32$1 = $966$hi; + i64toi32_i32$5 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $960$hi; + i64toi32_i32$3 = 0; + label$88 : { + if (!(((i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$88 + } + i64toi32_i32$5 = 0; + $968$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $969$hi = i64toi32_i32$5; + i64toi32_i32$5 = $968$hi; + i64toi32_i32$5 = $969$hi; + i64toi32_i32$5 = $968$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = $969$hi; + i64toi32_i32$0 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + $133_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $133_1 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + } + $970$hi = i64toi32_i32$1; + i64toi32_i32$5 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + $2820$hi = i64toi32_i32$3; + i64toi32_i32$3 = $970$hi; + i64toi32_i32$3 = $2820$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $970$hi; + i64toi32_i32$0 = $133_1; + i64toi32_i32$1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + $2824_1 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + i64toi32_i32$5 = $9_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $2824_1; + HEAP32[($9_1 + 84 | 0) >> 2] = i64toi32_i32$1; + } + } + HEAP32[($9_1 + 124 | 0) >> 2] = (HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 1 | 0; + continue label$84; + }; + } + } + } + HEAP32[($9_1 + 128 | 0) >> 2] = (HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + i64toi32_i32$3 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + $973_1 = i64toi32_i32$1; + $973$hi = i64toi32_i32$5; + i64toi32_i32$3 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $974$hi = i64toi32_i32$1; + i64toi32_i32$1 = $973$hi; + i64toi32_i32$1 = $974$hi; + i64toi32_i32$1 = $973$hi; + i64toi32_i32$1 = $974$hi; + $2846_1 = i64toi32_i32$5; + i64toi32_i32$1 = $973$hi; + i64toi32_i32$3 = $973_1; + i64toi32_i32$5 = $974$hi; + i64toi32_i32$0 = $2846_1; + label$89 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$89 + } + HEAP8[($9_1 + 175 | 0) >> 0] = HEAPU16[($9_1 + 134 | 0) >> 1] | 0; + break label$1; + } + label$90 : { + if (((HEAPU8[($9_1 + 144 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$90 + } + HEAP32[($9_1 + 124 | 0) >> 2] = ((HEAPU16[($9_1 + 134 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + label$91 : { + label$92 : while (1) { + if (!((HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$91 + } + i64toi32_i32$3 = 0; + $977$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $978$hi = i64toi32_i32$3; + i64toi32_i32$3 = $977$hi; + i64toi32_i32$3 = $978$hi; + i64toi32_i32$3 = $977$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$1 = $978$hi; + i64toi32_i32$5 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + $134_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$2 | 0) | 0; + $134_1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + } + $979$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $980$hi = i64toi32_i32$1; + i64toi32_i32$1 = $979$hi; + i64toi32_i32$1 = $980$hi; + i64toi32_i32$1 = $979$hi; + i64toi32_i32$3 = $134_1; + i64toi32_i32$0 = $980$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$2 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$4 | 0; + i64toi32_i32$3 = $9_1; + HEAP32[($9_1 + 8 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($9_1 + 12 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$1 = $9_1; + i64toi32_i32$4 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + $982_1 = i64toi32_i32$4; + $982$hi = i64toi32_i32$3; + i64toi32_i32$1 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + $983$hi = i64toi32_i32$4; + i64toi32_i32$4 = $982$hi; + i64toi32_i32$4 = $983$hi; + $2912_1 = i64toi32_i32$3; + i64toi32_i32$4 = $982$hi; + i64toi32_i32$1 = $982_1; + i64toi32_i32$3 = $983$hi; + i64toi32_i32$5 = $2912_1; + i64toi32_i32$3 = i64toi32_i32$4 & i64toi32_i32$3 | 0; + $984_1 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + $984$hi = i64toi32_i32$3; + i64toi32_i32$4 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + $985$hi = i64toi32_i32$1; + i64toi32_i32$1 = $984$hi; + i64toi32_i32$1 = $985$hi; + i64toi32_i32$1 = $984$hi; + i64toi32_i32$1 = $985$hi; + $2919_1 = i64toi32_i32$3; + i64toi32_i32$1 = $984$hi; + i64toi32_i32$4 = $984_1; + i64toi32_i32$3 = $985$hi; + i64toi32_i32$5 = $2919_1; + label$93 : { + if (!(((i64toi32_i32$4 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$93 + } + HEAP8[($9_1 + 175 | 0) >> 0] = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($9_1 + 124 | 0) >> 2] = (HEAP32[($9_1 + 124 | 0) >> 2] | 0) + -1 | 0; + continue label$92; + }; + } + HEAP8[($9_1 + 175 | 0) >> 0] = 0; + break label$1; + } + HEAP8[($9_1 + 175 | 0) >> 0] = 255; + } + $890_1 = 24; + $892_1 = ((HEAPU8[($9_1 + 175 | 0) >> 0] | 0) << $890_1 | 0) >> $890_1 | 0; + global$0 = $9_1 + 176 | 0; + return $892_1 | 0; + } + + function $1732($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, $16_1 = 0, $22_1 = 0, $26_1 = 0, $40_1 = 0, $44_1 = 0, $62_1 = 0, $71_1 = 0, $77_1 = 0, $81_1 = 0, $85_1 = 0, $90_1 = 0, i64toi32_i32$0 = 0, $83_1 = 0, $92_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP16[($6_1 + 26 | 0) >> 1] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + i64toi32_i32$1 = (Math_imul((HEAP32[($6_1 + 20 | 0) >> 2] | 0) - (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0, 100) | 0) / (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $16_1 = 16; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = ((($937(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) << $16_1 | 0) >> $16_1 | 0) - 66 | 0), HEAP16[(wasm2js_i32$0 + 14 | 0) >> 1] = wasm2js_i32$1; + $22_1 = 16; + $26_1 = 16; + HEAP16[($6_1 + 12 | 0) >> 1] = ((((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $22_1 | 0) >> $22_1 | 0) + (((HEAPU16[($6_1 + 14 | 0) >> 1] | 0) << $26_1 | 0) >> $26_1 | 0) | 0) + 16 | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$2 + } + $40_1 = 16; + $44_1 = 16; + if (!((((HEAPU16[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) < (((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $44_1 | 0) >> $44_1 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP16[($6_1 + 26 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + break label$1; + } + label$3 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$3 + } + $62_1 = 16; + label$4 : { + if (!((((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) > (10 | 0) & 1 | 0)) { + break label$4 + } + $71_1 = 16; + HEAP16[($6_1 + 26 | 0) >> 1] = (((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $71_1 | 0) >> $71_1 | 0) - 10 | 0; + } + } + } + $77_1 = 16; + $81_1 = 16; + $83_1 = (($1776(((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $77_1 | 0) >> $77_1 | 0 | 0) | 0) << $81_1 | 0) >> $81_1 | 0; + $85_1 = 16; + HEAP16[($6_1 + 12 | 0) >> 1] = (((HEAPU16[($6_1 + 12 | 0) >> 1] | 0) << $85_1 | 0) >> $85_1 | 0) + $83_1 | 0; + $90_1 = 16; + $92_1 = ((HEAPU16[($6_1 + 12 | 0) >> 1] | 0) << $90_1 | 0) >> $90_1 | 0; + global$0 = $6_1 + 32 | 0; + return $92_1 | 0; + } + + function $1733($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $17_1 = 0, $17$hi = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = $1751(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $17_1 = i64toi32_i32$0; + $17$hi = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = 0; + $17_1 = 0; + $17$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $17$hi; + global$0 = $4_1 + 16 | 0; + i64toi32_i32$0 = $17_1; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $1734($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $76$hi = 0, i64toi32_i32$3 = 0, $77$hi = 0, $78$hi = 0, $80$hi = 0, $67_1 = 0, $77_1 = 0, $169_1 = 0, $73_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (((HEAPU16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 130 | 0) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$4 + } + if ((HEAP32[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0) { + break label$4 + } + if (!(((HEAPU16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = 0; + $76$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $77_1 = i64toi32_i32$0; + $77$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$0; + i64toi32_i32$0 = $77$hi; + i64toi32_i32$0 = $78$hi; + $169_1 = i64toi32_i32$1; + i64toi32_i32$0 = $77$hi; + i64toi32_i32$2 = $77_1; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$3 = $169_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $80$hi = i64toi32_i32$1; + i64toi32_i32$1 = $76$hi; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $76$hi; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $76$hi; + i64toi32_i32$3 = 0; + label$5 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP8[($5_1 + 7 | 0) >> 0] = HEAPU8[(((HEAP32[((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0, 20) | 0) + 13 | 0) >> 0] | 0; + $67_1 = 24; + label$7 : { + if ($1772(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAPU8[($5_1 + 7 | 0) >> 0] | 0) << $67_1 | 0) >> $67_1 | 0 | 0) | 0) { + break label$7 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + } + $73_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $73_1 | 0; + } + + function $1735($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 1] | 0) & 65535 | 0 | 0) >= (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 7 | 0) & -8 | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + break label$1; + } + $3288(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 1] | 0) & 65535 | 0) << 2 | 0 | 0) | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 56 | 0 | 0) & 1 | 0)) { + break label$4 + } + $23(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + } + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 1] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $63_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $63_1 | 0; + } + + function $1736($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $40_1 = 0, $50_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP16[($4_1 + 18 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0; + HEAP16[($4_1 + 16 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + label$1 : { + label$2 : { + if ((HEAPU16[($4_1 + 18 | 0) >> 1] | 0) & 65535 | 0) { + break label$2 + } + if ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 48 | 0) { + break label$2 + } + break label$1; + } + $51(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 32797 | 0, 2 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < ((HEAPU16[($4_1 + 18 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1795(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$5 + } + $51(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 32800 | 0, 5 | 0); + } + $40_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $50_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) >= ((HEAPU16[($4_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0 ? 32806 : 32811; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $84($40_1 | 0, $50_1 | 0, $4_1 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 32 | 0)) { + break label$6 + } + $1796(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 32728 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + } + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 16 | 0)) { + break label$7 + } + $1796(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 32730 | 0); + } + $51(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 5213 | 0, 1 | 0); + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1737($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, $53_1 = 0, $175_1 = 0, $245_1 = 0, $265_1 = 0, $273_1 = 0, $352_1 = 0, $359_1 = 0, $252_1 = 0, $285_1 = 0, $342_1 = 0, $351_1 = 0, $367_1 = 0, $434_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 96 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 84 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (((HEAPU8[(HEAP32[($8_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (53 | 0) & 1 | 0) { + break label$4 + } + if (!(((HEAPU8[(HEAP32[($8_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$3 + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1496(HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + label$5 : { + label$6 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (50 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($8_1 + 56 | 0) >> 2] = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + $366(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) | 0; + break label$5; + } + $53_1 = 0; + HEAP32[($8_1 + 52 | 0) >> 2] = 5; + HEAP32[($8_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $53_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $53_1; + label$7 : { + if ((HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1024 | 0) { + break label$7 + } + if (!((HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAPU8[((HEAP32[((HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($8_1 + 76 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0)) { + break label$7 + } + HEAP32[($8_1 + 72 | 0) >> 2] = ((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0; + } + HEAP32[($8_1 + 56 | 0) >> 2] = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + label$10 : { + if (!((HEAP32[((HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[(HEAP32[((HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $1739(HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 92 | 0) >> 2] = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + if (!((HEAP32[(HEAP32[((HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($8_1 + 32 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP32[($8_1 + 48 | 0) >> 2] = 0; + label$14 : { + label$15 : { + label$16 : { + if (!((HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$16 + } + if (!((HEAP32[(HEAP32[((HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$15 + } + } + $175_1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1533(HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, 4 | 0, $175_1 | 0, $175_1 | 0, $8_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + break label$14; + } + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1797(HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (((HEAPU8[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$17 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $308(HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 32 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1533(HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, 4 | 0, 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, $8_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[(HEAP32[($8_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + } + $18(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 84 | 0) >> 2] | 0) >> 2] | 0; + } + label$18 : { + if (!((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($8_1 + 72 | 0) >> 2] = ((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0; + } + $366(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 72 | 0) >> 2] | 0 ? 33 : 37) | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $245_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($245_1 + 36 | 0) >> 2] = HEAP32[($245_1 + 36 | 0) >> 2] | 0 | 2048 | 0; + label$19 : { + if (HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) { + break label$19 + } + $252_1 = $1358(HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 16 | 0) >> 2] = $252_1; + } + label$20 : { + if (!((HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$20 + } + if ((HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1048576 | 0) { + break label$20 + } + $265_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($265_1 + 36 | 0) >> 2] = HEAP32[($265_1 + 36 | 0) >> 2] | 0 | 262144 | 0; + } + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + $273_1 = HEAP32[($8_1 + 80 | 0) >> 2] | 0; + HEAP32[($273_1 + 64 | 0) >> 2] = (HEAP32[($273_1 + 64 | 0) >> 2] | 0) + (HEAP32[($8_1 + 32 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = 0; + $285_1 = $875(HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0, 20) | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 68 | 0) >> 2] = $285_1; + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + label$21 : { + label$22 : { + if (!((HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($8_1 + 20 | 0) >> 2] = 0; + HEAP32[($8_1 + 44 | 0) >> 2] = (HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 36 | 0) >> 2] | 0, 20) | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$23 + } + label$25 : { + if (!((HEAP32[(HEAP32[((HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($8_1 + 16 | 0) >> 2] = ((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + (HEAP32[($8_1 + 36 | 0) >> 2] | 0) | 0) - (HEAP32[($8_1 + 76 | 0) >> 2] | 0) | 0; + label$26 : { + label$27 : { + if (!((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$27 + } + $342_1 = $366(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] = $342_1; + break label$26; + } + label$28 : { + label$29 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$29 + } + $351_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $352_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $352_1 + 1 | 0; + $359_1 = HEAP32[($351_1 + ($352_1 << 2 | 0) | 0) >> 2] | 0; + break label$28; + } + $359_1 = 0; + } + HEAP32[($8_1 + 12 | 0) >> 2] = $359_1; + $367_1 = $367(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] = $367_1; + } + $1288(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) | 0; + label$30 : { + label$31 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[($8_1 + 72 | 0) >> 2] | 0 ? 4 : 5; + label$32 : { + label$33 : { + if (!((HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) - (HEAP32[($8_1 + 36 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + break label$32; + } + HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + } + break label$30; + } + HEAP8[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = 174; + } + HEAP32[($8_1 + 44 | 0) >> 2] = (HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 20 | 0; + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$24; + }; + } + label$34 : { + if (!((HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$34 + } + if ((HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1049600 | 0) { + break label$34 + } + $367(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, 119 | 0, HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) | 0; + } + break label$21; + } + HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 64 | 0) >> 2] = 0; + } + $13(HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0); + } + } + $1739(HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 92 | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + } + $434_1 = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + global$0 = $8_1 + 96 | 0; + return $434_1 | 0; + } + + function $1738($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!($1505(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$4 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1516(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 77 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + break label$3; + } + HEAP32[$6_1 >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $1281(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[$6_1 >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0 | 0); + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + } + break label$1; + } + $1281(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1739($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $13_1 = 0, $73$hi = 0, i64toi32_i32$3 = 0, $74$hi = 0, $75$hi = 0, $77$hi = 0, $35_1 = 0, $41_1 = 0, $55_1 = 0, $62_1 = 0, $74_1 = 0, $128_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : while (1) { + $13_1 = 0; + label$2 : { + if (((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0) { + break label$2 + } + label$3 : { + if (!(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0)) { + break label$3 + } + $13_1 = 0; + if (!((HEAP32[((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$2 + } + } + i64toi32_i32$0 = 0; + $73$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 84 | 0) >> 2] | 0; + $74_1 = i64toi32_i32$0; + $74$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $75$hi = i64toi32_i32$0; + i64toi32_i32$0 = $74$hi; + i64toi32_i32$0 = $75$hi; + $128_1 = i64toi32_i32$1; + i64toi32_i32$0 = $74$hi; + i64toi32_i32$2 = $74_1; + i64toi32_i32$1 = $75$hi; + i64toi32_i32$3 = $128_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $77$hi = i64toi32_i32$1; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$1 = $77$hi; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$1 = $77$hi; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $73$hi; + i64toi32_i32$3 = 0; + $13_1 = (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0; + } + label$4 : { + if (!($13_1 & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$6 + } + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 1024 | 0)) { + break label$6 + } + $35_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP16[($35_1 + 10 | 0) >> 1] = (HEAPU16[($35_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 512 | 0; + break label$5; + } + $41_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP16[($41_1 + 10 | 0) >> 1] = (HEAPU16[($41_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + } + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$7 + } + break label$4; + } + $55_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($55_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($55_1 + 16 | 0) >> 2] | 0, 48) | 0; + $62_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[($62_1 + 14 | 0) >> 0] = (HEAPU8[($62_1 + 14 | 0) >> 0] | 0) + -1 | 0; + label$8 : { + if (!((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 14 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + break label$4; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + return; + } + + function $1740($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $30_1 = 0, $48_1 = 0, $205_1 = 0, $209_1 = 0, $226_1 = 0, $70_1 = 0, $239_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP16[($7_1 + 58 | 0) >> 1] = HEAPU16[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0; + HEAP16[($7_1 + 56 | 0) >> 1] = HEAPU16[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = ((HEAPU16[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) + (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0; + $30_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[($30_1 + 44 | 0) >> 2] = (HEAP32[($30_1 + 44 | 0) >> 2] | 0) + (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $291(HEAP32[(HEAP32[($7_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, $1409(HEAP32[(HEAP32[($7_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(((HEAPU16[($7_1 + 56 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$1 + } + $48_1 = 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1288(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0 ? 33 : 37) | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1276(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 11 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $70_1 = $353(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0 ? 22 : 25) | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, $48_1 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, (HEAPU16[($7_1 + 56 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] = $70_1; + $1277(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 36 | 0) >> 2] = $48_1; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) < ((HEAPU16[($7_1 + 56 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + $367(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAPU16[($7_1 + 56 | 0) >> 1] | 0) & 65535 | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) < ((HEAPU16[($7_1 + 58 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1737(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) != ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + $1383(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + break label$7; + } + $366(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 78 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0; + } + } + label$9 : { + label$10 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if (!((HEAP32[((HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$11 + } + label$12 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0) >> 0] = 65; + } + } + break label$9; + } + label$13 : { + if (((HEAPU16[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0) { + break label$13 + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$14 : { + if (((HEAPU16[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 2048 | 0) { + break label$14 + } + if (!($1534(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$14 + } + $366(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 50 | 0, (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0, HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + label$15 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $205_1 = 24; + $209_1 = 24; + label$16 : { + if (!(((($1544(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0) >> 0] | 0) << $205_1 | 0) >> $205_1 | 0 | 0) | 0) << $209_1 | 0) >> $209_1 | 0 | 0) == (65 | 0) & 1 | 0)) { + break label$16 + } + HEAP8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0) >> 0] = 65; + } + $226_1 = 24; + label$17 : { + if (!($1798(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0) >> 0] | 0) << $226_1 | 0) >> $226_1 | 0 | 0) | 0)) { + break label$17 + } + HEAP8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0) >> 0] = 65; + } + } + } + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + $239_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $239_1 | 0; + } + + function $1741($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1467(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) >>> 1 | 0; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 2 | 0) >> 1] = ((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) & 1 | 0) & 255 | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1742($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $23_1 = 0, $27_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1535(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $23_1 = 24; + $27_1 = 24; + label$3 : { + label$4 : { + if (((($1544(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0 | 0) | 0) << $27_1 | 0) >> $27_1 | 0 | 0) == (65 | 0) & 1 | 0) { + break label$4 + } + $40_1 = 24; + if (!($1798(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) | 0)) { + break label$3 + } + } + HEAP8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = 65; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1743($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $24_1 = 0, $28_1 = 0, $54_1 = 0, $62_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : while (1) { + $24_1 = 0; + label$4 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + $28_1 = 24; + $24_1 = (((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0 | 0) <= (65 | 0); + } + label$5 : { + if (!($24_1 & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + label$6 : while (1) { + $54_1 = 0; + label$7 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$7 + } + $62_1 = 24; + $54_1 = (((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) <= (65 | 0); + } + label$8 : { + if (!($54_1 & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -1 | 0; + continue label$6; + } + break label$6; + }; + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $1278(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 90 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1744($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $13_1 = 0, $36_1 = 0, $47_1 = 0, $65_1 = 0, $89_1 = 0, $94_1 = 0, $98_1 = 0, i64toi32_i32$0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $13_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP8[($13_1 + 48 | 0) >> 0] = HEAPU8[($13_1 + 48 | 0) >> 0] | 0 | 1 | 0; + $367(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 134 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + label$1 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $36_1 = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$2; + } + $36_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + } + if (HEAP32[($36_1 + 80 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $47_1 = 16; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, ((((HEAPU16[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $47_1 | 0) >> $47_1 | 0) + 1 | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $65_1 = 16; + HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] = ((HEAPU16[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $65_1 | 0) >> $65_1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$5 + } + $89_1 = 16; + HEAP32[($6_1 + 8 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $89_1 | 0) >> $89_1 | 0; + $94_1 = 16; + $98_1 = 16; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = (($1424(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << $94_1 | 0) >> $94_1 | 0 | 0) | 0) << $98_1 | 0) >> $98_1 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $357(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, -15 | 0); + } + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $1745($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $156_1 = 0, $143_1 = 0, $16_1 = 0, $30_1 = 0, $65_1 = 0, $86_1 = 0, $97_1 = 0, $112_1 = 0, $128_1 = 0, $138_1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + if ((((HEAPU8[($16_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($16_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 10 | 0) & 1 | 0) & 65535 | 0) { + break label$2 + } + break label$1; + } + $30_1 = $6_1 + 40 | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $156_1 = 0; + i64toi32_i32$1 = $30_1; + HEAP32[i64toi32_i32$1 >> 2] = $156_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $156_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $30_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $156_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 64 | 0) >> 2] = $6_1 + 8 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($6_1 + 80 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + label$3 : while (1) { + if (!((HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP16[($6_1 + 6 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 76 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $65_1 = 16; + label$4 : { + label$5 : { + label$6 : { + if (!((((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) << $65_1 | 0) >> $65_1 | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 76 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$7 : { + if (!($1243(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + break label$4; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 71; + break label$5; + } + $86_1 = 16; + label$8 : { + label$9 : { + if (!((((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) << $86_1 | 0) >> $86_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + $97_1 = 16; + if (!(((HEAPU16[(((HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) << $97_1 | 0) >> $97_1 | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$9 + } + $112_1 = 16; + label$10 : { + if ((HEAP32[(((HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) << $112_1 | 0) >> $112_1 | 0, 20) | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$10 + } + $128_1 = 16; + if ($88(HEAP32[(((HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) << $128_1 | 0) >> $128_1 | 0, 20) | 0) + 8 | 0) >> 2] | 0 | 0, 2261 | 0) | 0) { + break label$9 + } + } + $138_1 = 16; + HEAP32[($6_1 + 24 | 0) >> 2] = ((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) << $138_1 | 0) >> $138_1 | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 72; + break label$8; + } + break label$4; + } + } + $143_1 = $6_1 + 40 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + $1547($143_1 | 0, HEAP32[((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + $1550($143_1 | 0, HEAP32[((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + $1550($143_1 | 0, HEAP32[((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($6_1 + 76 | 0) >> 2] = (HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + global$0 = $6_1 + 96 | 0; + return; + } + + function $1746($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $46_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : while (1) { + if (!(((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$1 + } + $1746(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + label$6 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0)) { + break label$6 + } + break label$5; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$7 : { + if ($1529(0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + $46_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($46_1 + 10 | 0) >> 1] = (HEAPU16[($46_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + } + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 48 | 0; + continue label$4; + }; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1747($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, $9_1 = 0, i64toi32_i32$0 = 0, $34_1 = 0, $31_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $9_1 = $5_1 + 8 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + $34_1 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[i64toi32_i32$1 >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 73; + HEAP32[($5_1 + 32 | 0) >> 2] = $5_1; + $1547($9_1 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $31_1 = (((HEAPU16[($5_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) ^ -1 | 0) & 1 | 0; + global$0 = $5_1 + 48 | 0; + return $31_1 | 0; + } + + function $1748($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[$3_1 >> 2] = HEAP32[(HEAP32[(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$3 + } + $18(HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$4 : { + label$5 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$5 + } + $1802(HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + break label$4; + } + label$6 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$6 + } + $1803(HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 48 | 0; + continue label$2; + }; + } + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0 | 0) & 1 | 0)) { + break label$7 + } + $13(HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1749($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $1730(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1750($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $48_1 = 0, $92$hi = 0, $95$hi = 0, $98$hi = 0, $101$hi = 0, $104$hi = 0, $107$hi = 0, $110$hi = 0, $113$hi = 0, $92_1 = 0, $157$hi = 0, $161_1 = 0, $95_1 = 0, $173$hi = 0, $177_1 = 0, $98_1 = 0, $189$hi = 0, $193_1 = 0, $101_1 = 0, $205$hi = 0, $209_1 = 0, $104_1 = 0, $221$hi = 0, $225_1 = 0, $107_1 = 0, $278$hi = 0, $282_1 = 0, $110_1 = 0, $305$hi = 0, $309_1 = 0, $113_1 = 0, $358$hi = 0, $362_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = $1687(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $92_1 = i64toi32_i32$0; + $92$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $157$hi = i64toi32_i32$0; + i64toi32_i32$0 = $92$hi; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$3 = $92_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $161_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $161_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $1687(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $95_1 = i64toi32_i32$1; + $95$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $173$hi = i64toi32_i32$1; + i64toi32_i32$1 = $95$hi; + i64toi32_i32$1 = $173$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $95$hi; + i64toi32_i32$3 = $95_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $177_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $177_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $1687(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $98_1 = i64toi32_i32$2; + $98$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $189$hi = i64toi32_i32$2; + i64toi32_i32$2 = $98$hi; + i64toi32_i32$2 = $189$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$3 = $98_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $193_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $193_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $1733(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $101_1 = i64toi32_i32$0; + $101$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $205$hi = i64toi32_i32$0; + i64toi32_i32$0 = $101$hi; + i64toi32_i32$0 = $205$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $101$hi; + i64toi32_i32$3 = $101_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $209_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $209_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $1733(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $104_1 = i64toi32_i32$1; + $104$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $221$hi = i64toi32_i32$1; + i64toi32_i32$1 = $104$hi; + i64toi32_i32$1 = $221$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $104$hi; + i64toi32_i32$3 = $104_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $225_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $225_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$2; + label$3 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $48_1 = 72; + i64toi32_i32$2 = $1750(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, $48_1) | 0) + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $107_1 = i64toi32_i32$2; + $107$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $278$hi = i64toi32_i32$2; + i64toi32_i32$2 = $107$hi; + i64toi32_i32$2 = $278$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$3 = $107_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $282_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $282_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $1733(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, $48_1) | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $110_1 = i64toi32_i32$0; + $110$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $305$hi = i64toi32_i32$0; + i64toi32_i32$0 = $110$hi; + i64toi32_i32$0 = $305$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $110$hi; + i64toi32_i32$3 = $110_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $309_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $309_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$1; + label$6 : { + if (!((((HEAPU8[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, $48_1) | 0) + 45 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0)) { + break label$6 + } + i64toi32_i32$1 = $1687(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 72) | 0) + 64 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $113_1 = i64toi32_i32$1; + $113$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $358$hi = i64toi32_i32$1; + i64toi32_i32$1 = $113$hi; + i64toi32_i32$1 = $358$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $113$hi; + i64toi32_i32$3 = $113_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $362_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $362_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$2; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$2; + }; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$2 | 0; + } + + function $1751($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $130_1 = 0, $130$hi = 0, $133$hi = 0, $136$hi = 0, $139$hi = 0, $142$hi = 0, $145$hi = 0, $148$hi = 0, $151$hi = 0, $200_1 = 0, $133_1 = 0, $268$hi = 0, $272_1 = 0, $136_1 = 0, $298$hi = 0, $302_1 = 0, $139_1 = 0, $336$hi = 0, $340_1 = 0, $142_1 = 0, $366$hi = 0, $370_1 = 0, $145_1 = 0, $431$hi = 0, $435_1 = 0, $148_1 = 0, $449$hi = 0, $453_1 = 0, $151_1 = 0, $467$hi = 0, $471_1 = 0, $475_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0) { + break label$2 + } + i64toi32_i32$0 = $1726(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $200_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $200_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8404992 | 0)) { + break label$3 + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (176 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$1 = $1726(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $130_1 = i64toi32_i32$1; + $130$hi = i64toi32_i32$0; + break label$4; + } + i64toi32_i32$0 = 0; + $130_1 = 0; + $130$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $130$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $130_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$6 : { + if (!((HEAP32[((HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = $1751(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $133_1 = i64toi32_i32$0; + $133$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $268$hi = i64toi32_i32$0; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$0 = $268$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $133$hi; + i64toi32_i32$3 = $133_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $272_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $272_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$1 = $1751(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $136_1 = i64toi32_i32$1; + $136$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $298$hi = i64toi32_i32$1; + i64toi32_i32$1 = $136$hi; + i64toi32_i32$1 = $298$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $136$hi; + i64toi32_i32$3 = $136_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $302_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $302_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$2; + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$10 + } + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0)) { + break label$11 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 1; + } + i64toi32_i32$2 = $1750(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $139_1 = i64toi32_i32$2; + $139$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $336$hi = i64toi32_i32$2; + i64toi32_i32$2 = $139$hi; + i64toi32_i32$2 = $336$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$3 = $139_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $340_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $340_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$9; + } + label$12 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$0 = $1687(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $142_1 = i64toi32_i32$0; + $142$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $366$hi = i64toi32_i32$0; + i64toi32_i32$0 = $142$hi; + i64toi32_i32$0 = $366$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $142$hi; + i64toi32_i32$3 = $142_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $370_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $370_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + } + } + label$13 : { + label$14 : { + if (((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (169 | 0) & 1 | 0) { + break label$14 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (165 | 0) & 1 | 0)) { + break label$13 + } + } + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + i64toi32_i32$1 = $1687(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $145_1 = i64toi32_i32$1; + $145$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $431$hi = i64toi32_i32$1; + i64toi32_i32$1 = $145$hi; + i64toi32_i32$1 = $431$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $145$hi; + i64toi32_i32$3 = $145_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $435_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $435_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $1687(HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $148_1 = i64toi32_i32$2; + $148$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $449$hi = i64toi32_i32$2; + i64toi32_i32$2 = $148$hi; + i64toi32_i32$2 = $449$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $148$hi; + i64toi32_i32$3 = $148_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $453_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $453_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $1733(HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $151_1 = i64toi32_i32$0; + $151$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $467$hi = i64toi32_i32$0; + i64toi32_i32$0 = $151$hi; + i64toi32_i32$0 = $467$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$3 = $151_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $471_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $471_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $475_1 = i64toi32_i32$1; + i64toi32_i32$1 = i64toi32_i32$0; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $475_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; + global$0 = i64toi32_i32$0 + 32 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$2 | 0; + } + + function $1752($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $12_1 = 1; + label$1 : { + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (49 | 0) & 1 | 0) { + break label$1 + } + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) >= (53 | 0) & 1 | 0)) { + break label$2 + } + $12_1 = 1; + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) <= (57 | 0) & 1 | 0) { + break label$1 + } + } + $12_1 = 1; + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (50 | 0) & 1 | 0) { + break label$1 + } + $12_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (45 | 0); + } + return $12_1 & 1 | 0 | 0; + } + + function $1753($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $70$hi = 0, $74$hi = 0, $51_1 = 0, $72$hi = 0, $75$hi = 0, $76$hi = 0, $77$hi = 0, $78$hi = 0, $80$hi = 0, $75_1 = 0, $210_1 = 0, $67_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 4 | 0) >> 2] = $4_1; + label$1 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (174 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) >= (54 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) <= (57 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + label$2 : { + label$3 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $51_1 = 16; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = ((HEAPU16[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $51_1 | 0) >> $51_1 | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = 1; + break label$2; + } + i64toi32_i32$0 = 0; + $70$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = $70$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $70$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$3 = 0; + label$4 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$2; + } + i64toi32_i32$2 = 0; + $74$hi = i64toi32_i32$2; + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $75_1 = i64toi32_i32$2; + $75$hi = i64toi32_i32$1; + i64toi32_i32$3 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $76$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $77$hi = i64toi32_i32$2; + i64toi32_i32$2 = $76$hi; + i64toi32_i32$2 = $77$hi; + i64toi32_i32$2 = $76$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $77$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $78$hi = i64toi32_i32$5; + i64toi32_i32$5 = $75$hi; + i64toi32_i32$5 = $78$hi; + $210_1 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$5 = $75$hi; + i64toi32_i32$2 = $75_1; + i64toi32_i32$3 = $78$hi; + i64toi32_i32$0 = $210_1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + $80$hi = i64toi32_i32$3; + i64toi32_i32$3 = $74$hi; + i64toi32_i32$3 = $80$hi; + i64toi32_i32$3 = $74$hi; + i64toi32_i32$3 = $80$hi; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + i64toi32_i32$2 = $74$hi; + i64toi32_i32$0 = 0; + label$5 : { + if (!(((i64toi32_i32$5 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$2; + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1762(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$3 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $67_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $67_1 | 0; + } + + function $1754($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (49 | 0) & 1 | 0)) { + break label$2 + } + HEAP16[($3_1 + 10 | 0) >> 1] = 1; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (50 | 0) & 1 | 0)) { + break label$4 + } + HEAP16[($3_1 + 10 | 0) >> 1] = 256; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$6 + } + HEAP16[($3_1 + 10 | 0) >> 1] = 128; + break label$5; + } + HEAP16[($3_1 + 10 | 0) >> 1] = 2 << ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) - 53 | 0) | 0; + } + } + } + return (HEAPU16[($3_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 0; + } + + function $1755($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $14_1 = 0, $26_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $10_1 = 48; + HEAP32[(((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, $10_1) | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $14_1 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP16[(($14_1 + Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, $10_1) | 0) + 8 | 0) >> 1] = HEAPU16[(($14_1 + Math_imul(HEAP32[($5_1 + 4 | 0) >> 2] | 0, $10_1) | 0) + 8 | 0) >> 1] | 0; + $26_1 = (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 4 | 0) >> 2] | 0, $10_1) | 0; + HEAP8[($26_1 + 14 | 0) >> 0] = (HEAPU8[($26_1 + 14 | 0) >> 0] | 0) + 1 | 0; + return; + } + + function $1756($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $46_1 = 0, $50_1 = 0, $60_1 = 0, $70_1 = 0, $91_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (53 | 0) & 1 | 0)) { + break label$3 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (45 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1543(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 19 | 0) >> 0] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1543(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 18 | 0) >> 0] = wasm2js_i32$1; + $46_1 = 24; + $50_1 = 24; + label$5 : { + if (!((((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $46_1 | 0) >> $46_1 | 0 | 0) != (((HEAPU8[($4_1 + 18 | 0) >> 0] | 0) << $50_1 | 0) >> $50_1 | 0 | 0) & 1 | 0)) { + break label$5 + } + $60_1 = 24; + label$6 : { + if (!((((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $60_1 | 0) >> $60_1 | 0 | 0) >= (67 | 0) & 1 | 0)) { + break label$6 + } + $70_1 = 24; + if ((((HEAPU8[($4_1 + 18 | 0) >> 0] | 0) << $70_1 | 0) >> $70_1 | 0 | 0) >= (67 | 0) & 1 | 0) { + break label$5 + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $427(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!($1717(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1763(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $91_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $91_1 | 0; + } + + function $1757($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $44_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (((HEAPU8[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (174 | 0) & 1 | 0) { + break label$2 + } + if (((HEAPU8[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (174 | 0) & 1 | 0) { + break label$2 + } + if (!(($428(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0 | 0) != ($428(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + } + $44_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($44_1 + 4 | 0) >> 2] = (HEAP32[($44_1 + 4 | 0) >> 2] | 0) ^ 512 | 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + label$3 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (54 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] = ((((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) - 54 | 0) ^ 2 | 0) + 54 | 0; + } + global$0 = $4_1 + 16 | 0; + return 0 & 65535 | 0 | 0; + } + + function $1758($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($16_1 + 4 | 0) >> 2] = HEAP32[($16_1 + 4 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0) | 0; + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 1] | 0; + } + return; + } + + function $1759($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, $516$hi = 0, $540$hi = 0, $545$hi = 0, $549$hi = 0, $269_1 = 0, $553$hi = 0, $480_1 = 0, $22_1 = 0, $32_1 = 0, $515_1 = 0, $75_1 = 0, $518$hi = 0, $100_1 = 0, $523$hi = 0, $526$hi = 0, $530$hi = 0, $533$hi = 0, $537$hi = 0, $543$hi = 0, $547$hi = 0, $238_1 = 0, $241_1 = 0, $253_1 = 0, $256_1 = 0, $551$hi = 0, $270_1 = 0, $279_1 = 0, $304_1 = 0, $554$hi = 0, $555$hi = 0, $557$hi = 0, $355_1 = 0, $372_1 = 0, $405_1 = 0, $412_1 = 0, $424_1 = 0, $440_1 = 0, $520$hi = 0, $523_1 = 0, $927$hi = 0, $931_1 = 0, $526_1 = 0, $950$hi = 0, $954_1 = 0, $980_1 = 0, $530_1 = 0, $1023$hi = 0, $1027_1 = 0, $533_1 = 0, $1032$hi = 0, $1036_1 = 0, $537_1 = 0, $1054$hi = 0, $1058_1 = 0, $1078_1 = 0, $237_1 = 0, $252_1 = 0, $554_1 = 0, $1324_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 176 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 172 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 168 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 164 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 160 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 168 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 156 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 160 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 152 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 156 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 148 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 164 | 0) >> 2] | 0, 48) | 0; + HEAP32[($5_1 + 144 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 148 | 0) >> 2] | 0) >> 2] | 0; + $22_1 = $308(HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0, 416 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($5_1 + 128 | 0) >> 2] = $22_1; + HEAP32[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 24 | 0) >> 2] = $22_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $32_1 = HEAP32[($5_1 + 148 | 0) >> 2] | 0; + HEAP16[($32_1 + 10 | 0) >> 1] = (HEAPU16[($32_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 16 | 0; + HEAP32[($5_1 + 136 | 0) >> 2] = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + $3289((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 24 | 0 | 0, 0 | 0, 384 | 0) | 0; + $1677(HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0); + $1678(HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0, 43 & 255 | 0 | 0); + $1681(HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0); + label$3 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + i64toi32_i32$0 = -1; + $515_1 = -1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $515_1; + HEAP32[($5_1 + 116 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $515_1; + HEAP32[($5_1 + 124 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 140 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($5_1 + 132 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$4 : while (1) { + $75_1 = 0; + label$5 : { + if (!((HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = 0; + $516$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $518$hi = i64toi32_i32$1; + i64toi32_i32$1 = $516$hi; + i64toi32_i32$1 = $518$hi; + i64toi32_i32$1 = $516$hi; + i64toi32_i32$1 = $518$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $516$hi; + i64toi32_i32$3 = 0; + $75_1 = (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0; + } + label$6 : { + if (!($75_1 & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (((HEAPU16[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 511 | 0) { + break label$8 + } + i64toi32_i32$2 = 0; + $520$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 120 | 0) >> 2] = 0; + HEAP32[($5_1 + 124 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $520$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0, 408 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 88 | 0) >> 2] = 0; + HEAP32[($5_1 + 92 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + $100_1 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + HEAP16[($100_1 + 10 | 0) >> 1] = (HEAPU16[($100_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 32 | 0; + HEAP16[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 1] = 1024; + HEAP32[($5_1 + 104 | 0) >> 2] = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + $3289((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 24 | 0 | 0, 0 | 0, 384 | 0) | 0; + $1677(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 168 | 0) >> 2] | 0) >> 2] | 0 | 0); + $1678(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 132 | 0) >> 2] | 0) >> 2] | 0 | 0, 44 & 255 | 0 | 0); + $1681(HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + label$10 : { + if (((HEAPU8[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$10 + } + HEAP32[($5_1 + 96 | 0) >> 2] = 0; + HEAP32[($5_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + label$14 : { + if ($1752((HEAPU8[(HEAP32[(HEAP32[($5_1 + 100 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0) { + break label$14 + } + if (!(((HEAPU16[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) == (64 | 0) & 1 | 0)) { + break label$13 + } + } + i64toi32_i32$2 = $1726((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 488 | 0 | 0, HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $523_1 = i64toi32_i32$2; + $523$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + $927$hi = i64toi32_i32$2; + i64toi32_i32$2 = $523$hi; + i64toi32_i32$2 = $927$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $523$hi; + i64toi32_i32$0 = $523_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $931_1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 88 | 0) >> 2] = $931_1; + HEAP32[($5_1 + 92 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($5_1 + 96 | 0) >> 2] = (HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 100 | 0) >> 2] = (HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 48 | 0; + continue label$12; + }; + } + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + $526_1 = i64toi32_i32$1; + $526$hi = i64toi32_i32$3; + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $950$hi = i64toi32_i32$1; + i64toi32_i32$1 = $526$hi; + i64toi32_i32$1 = $950$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $526$hi; + i64toi32_i32$0 = $526_1; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $954_1 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $954_1; + HEAP32[($5_1 + 116 | 0) >> 2] = i64toi32_i32$3; + } + break label$7; + } + label$15 : { + label$16 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$16 + } + break label$15; + } + i64toi32_i32$3 = $1726((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 488 | 0 | 0, HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $980_1 = i64toi32_i32$3; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $980_1; + HEAP32[($5_1 + 84 | 0) >> 2] = i64toi32_i32$2; + label$17 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$17 + } + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$2 = $1726((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 488 | 0 | 0, HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $530_1 = i64toi32_i32$2; + $530$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $1023$hi = i64toi32_i32$2; + i64toi32_i32$2 = $530$hi; + i64toi32_i32$2 = $1023$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $530$hi; + i64toi32_i32$0 = $530_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $1027_1 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $1027_1; + HEAP32[($5_1 + 84 | 0) >> 2] = i64toi32_i32$3; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $533_1 = i64toi32_i32$3; + $533$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $1032$hi = i64toi32_i32$3; + i64toi32_i32$3 = $533$hi; + i64toi32_i32$3 = $1032$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $533$hi; + i64toi32_i32$0 = $533_1; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $1036_1 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $1036_1; + HEAP32[($5_1 + 116 | 0) >> 2] = i64toi32_i32$1; + label$18 : { + label$19 : { + if (((HEAPU16[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0) { + break label$19 + } + i64toi32_i32$1 = 0; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 120 | 0) >> 2] = 0; + HEAP32[($5_1 + 124 | 0) >> 2] = i64toi32_i32$1; + break label$18; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $537_1 = i64toi32_i32$1; + $537$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + $1054$hi = i64toi32_i32$1; + i64toi32_i32$1 = $537$hi; + i64toi32_i32$1 = $1054$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $537$hi; + i64toi32_i32$0 = $537_1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $1058_1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $1058_1; + HEAP32[($5_1 + 124 | 0) >> 2] = i64toi32_i32$2; + } + } + } + HEAP32[($5_1 + 140 | 0) >> 2] = (HEAP32[($5_1 + 140 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 132 | 0) >> 2] = (HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 48 | 0; + continue label$4; + } + break label$4; + }; + i64toi32_i32$2 = 0; + $540$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $1078_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 408 | 0) >> 2] = $1078_1; + HEAP32[(i64toi32_i32$2 + 412 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $543$hi = i64toi32_i32$2; + i64toi32_i32$2 = $540$hi; + i64toi32_i32$2 = $543$hi; + i64toi32_i32$2 = $540$hi; + i64toi32_i32$2 = $543$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $540$hi; + i64toi32_i32$0 = 0; + label$20 : { + label$21 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$21 + } + HEAP16[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 12 | 0) >> 1] = 512; + HEAP8[((HEAP32[($5_1 + 168 | 0) >> 2] | 0) + 9 | 0) >> 0] = 1; + break label$20; + } + HEAP16[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 12 | 0) >> 1] = 512; + } + i64toi32_i32$1 = 0; + $545$hi = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $547$hi = i64toi32_i32$2; + i64toi32_i32$2 = $545$hi; + i64toi32_i32$2 = $547$hi; + i64toi32_i32$2 = $545$hi; + i64toi32_i32$2 = $547$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $545$hi; + i64toi32_i32$3 = 0; + label$22 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$22 + } + if (!((HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($5_1 + 72 | 0) >> 2] = 0; + label$23 : { + label$24 : while (1) { + $237_1 = HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $238_1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $238_1 + 1 | 0; + $241_1 = $1764($237_1 | 0, $238_1 | 0) | 0; + HEAP32[($5_1 + 68 | 0) >> 2] = $241_1; + if (!(($241_1 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($5_1 + 64 | 0) >> 2] = 0; + label$25 : { + label$26 : while (1) { + $252_1 = (HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 48 | 0; + $253_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = $253_1 + 1 | 0; + $256_1 = $1764($252_1 | 0, $253_1 | 0) | 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $256_1; + if (!(($256_1 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + $1765(HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + continue label$26; + }; + } + continue label$24; + }; + } + } + i64toi32_i32$0 = 0; + $549$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + $551$hi = i64toi32_i32$2; + i64toi32_i32$2 = $549$hi; + i64toi32_i32$2 = $551$hi; + i64toi32_i32$2 = $549$hi; + i64toi32_i32$2 = $551$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $549$hi; + i64toi32_i32$1 = 0; + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$1 + } + $269_1 = 0; + $270_1 = -1; + HEAP32[($5_1 + 56 | 0) >> 2] = $269_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $270_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $270_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $269_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $269_1; + label$27 : while (1) { + $279_1 = 0; + label$28 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$28 + } + $279_1 = (HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0; + } + label$29 : { + if (!($279_1 & 1 | 0)) { + break label$29 + } + HEAP32[($5_1 + 40 | 0) >> 2] = 0; + HEAP32[($5_1 + 132 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 140 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0; + label$30 : { + label$31 : while (1) { + if (!((HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$30 + } + $304_1 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + HEAP16[($304_1 + 10 | 0) >> 1] = ((HEAPU16[($304_1 + 10 | 0) >> 1] | 0) & 65535 | 0) & -65 | 0; + label$32 : { + label$33 : { + if (!((HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$33 + } + break label$32; + } + i64toi32_i32$3 = 0; + $553$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + $554_1 = i64toi32_i32$3; + $554$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1726((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 488 | 0 | 0, HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $555$hi = i64toi32_i32$3; + i64toi32_i32$3 = $554$hi; + i64toi32_i32$3 = $555$hi; + $1324_1 = i64toi32_i32$2; + i64toi32_i32$3 = $554$hi; + i64toi32_i32$1 = $554_1; + i64toi32_i32$2 = $555$hi; + i64toi32_i32$0 = $1324_1; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $557$hi = i64toi32_i32$2; + i64toi32_i32$2 = $553$hi; + i64toi32_i32$2 = $557$hi; + i64toi32_i32$2 = $553$hi; + i64toi32_i32$2 = $557$hi; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + i64toi32_i32$1 = $553$hi; + i64toi32_i32$0 = 0; + label$34 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$34 + } + break label$32; + } + HEAP32[($5_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 132 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$30; + } + HEAP32[($5_1 + 140 | 0) >> 2] = (HEAP32[($5_1 + 140 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 132 | 0) >> 2] = (HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 48 | 0; + continue label$31; + }; + } + label$35 : { + if (!((HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$35 + } + break label$29; + } + HEAP32[($5_1 + 56 | 0) >> 2] = 1; + label$36 : while (1) { + $355_1 = 0; + label$37 : { + if (!((HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$37 + } + $355_1 = (HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$38 : { + if (!($355_1 & 1 | 0)) { + break label$38 + } + label$39 : { + label$40 : { + if (!((HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$40 + } + $372_1 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + HEAP16[($372_1 + 10 | 0) >> 1] = ((HEAPU16[($372_1 + 10 | 0) >> 1] | 0) & 65535 | 0) & -65 | 0; + break label$39; + } + label$41 : { + label$42 : { + label$43 : { + if ((HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$43 + } + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$42 + } + if (!($1529(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 132 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$42 + } + } + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + break label$41; + } + $405_1 = 24; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (($1543(HEAP32[((HEAP32[(HEAP32[($5_1 + 132 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0) << $405_1 | 0) >> $405_1 | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $412_1 = 24; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (($1543(HEAP32[((HEAP32[(HEAP32[($5_1 + 132 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0) << $412_1 | 0) >> $412_1 | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$44 : { + label$45 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$45 + } + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$45 + } + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + break label$44; + } + $424_1 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + HEAP16[($424_1 + 10 | 0) >> 1] = (HEAPU16[($424_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 64 | 0; + } + } + } + HEAP32[($5_1 + 140 | 0) >> 2] = (HEAP32[($5_1 + 140 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 132 | 0) >> 2] = (HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 48 | 0; + continue label$36; + } + break label$36; + }; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$27; + } + break label$27; + }; + label$46 : { + if (!(HEAP32[($5_1 + 56 | 0) >> 2] | 0)) { + break label$46 + } + $440_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $440_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $440_1; + HEAP32[($5_1 + 140 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($5_1 + 132 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$47 : { + label$48 : while (1) { + if (!((HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$47 + } + label$49 : { + label$50 : { + if (((HEAPU16[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0) { + break label$50 + } + break label$49; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 132 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1214(HEAP32[(HEAP32[($5_1 + 160 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 132 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 140 | 0) >> 2] = (HEAP32[($5_1 + 140 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 132 | 0) >> 2] = (HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 48 | 0; + continue label$48; + }; + } + $480_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $480_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 49 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $480_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$51 : { + label$52 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != ($480_1 | 0) & 1 | 0)) { + break label$52 + } + $1758(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1720(HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 3 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $1721(HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $1755(HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0); + break label$51; + } + $382(HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + } + } + global$0 = $5_1 + 176 | 0; + return; + } + + function $1760($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $98_1 = 0, $420$hi = 0, i64toi32_i32$3 = 0, $342_1 = 0, $11_1 = 0, $421$hi = 0, $422$hi = 0, $424$hi = 0, $47_1 = 0, $95_1 = 0, $204_1 = 0, $232_1 = 0, $250_1 = 0, $269_1 = 0, $293_1 = 0, $330_1 = 0, $343_1 = 0, $345_1 = 0, $355_1 = 0, $383_1 = 0, $391_1 = 0, $267_1 = 0, $268_1 = 0, $417_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 112 | 0; + global$0 = $7_1; + $11_1 = 0; + HEAP32[($7_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 88 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = $11_1; + label$1 : { + label$2 : { + if ($1766(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $7_1 + 60 | 0 | 0) | 0) { + break label$2 + } + HEAP32[($7_1 + 108 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1316(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAPU8[(HEAP32[($7_1 + 80 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) == (153 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $420$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $421$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $422$hi = i64toi32_i32$1; + i64toi32_i32$1 = $421$hi; + i64toi32_i32$1 = $422$hi; + i64toi32_i32$1 = $421$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $422$hi; + i64toi32_i32$3 = 8388608; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $424$hi = i64toi32_i32$0; + i64toi32_i32$0 = $420$hi; + i64toi32_i32$0 = $424$hi; + i64toi32_i32$0 = $420$hi; + i64toi32_i32$0 = $424$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $420$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0; + $47_1 = 16; + HEAP32[($7_1 + 36 | 0) >> 2] = ((HEAPU16[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $47_1 | 0) >> $47_1 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1557(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, 65 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!(($248(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + $1556(HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + break label$3; + } + label$6 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + } + label$7 : { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($7_1 + 64 | 0) >> 2] = 0; + label$8 : while (1) { + $95_1 = HEAPU8[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($7_1 + 71 | 0) >> 0] = $95_1; + $98_1 = 0; + label$9 : { + if (!($95_1 & 255 | 0)) { + break label$9 + } + $98_1 = 0; + if (!(((HEAPU8[($7_1 + 71 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[($7_1 + 60 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + $98_1 = 0; + if (!(((HEAPU8[($7_1 + 71 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[($7_1 + 61 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + $98_1 = ((HEAPU8[($7_1 + 71 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[($7_1 + 62 | 0) >> 0] | 0) & 255 | 0 | 0); + } + label$10 : { + if (!($98_1 & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 1 | 0; + label$11 : { + if (!(((HEAPU8[($7_1 + 71 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[($7_1 + 63 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAPU8[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 1 | 0; + } + continue label$8; + } + break label$8; + }; + label$12 : { + label$13 : { + if (!(HEAP32[($7_1 + 64 | 0) >> 2] | 0)) { + break label$13 + } + if (!((255 | 0) != ((HEAPU8[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 64 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if ((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0) { + break label$14 + } + if (!(((HEAPU8[(HEAP32[($7_1 + 84 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[($7_1 + 63 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$13 + } + } + $204_1 = 0; + label$15 : { + if (!(((HEAPU8[($7_1 + 71 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[($7_1 + 60 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$15 + } + $204_1 = ((HEAPU8[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + HEAP32[(HEAP32[($7_1 + 92 | 0) >> 2] | 0) >> 2] = $204_1 & 1 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1217(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, 115 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $232_1 = 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($7_1 + 24 | 0) >> 2] = $232_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $232_1; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + $250_1 = 24; + label$19 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) << $250_1 | 0) >> $250_1 | 0 | 0) == ((HEAPU8[($7_1 + 63 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0; + } + $267_1 = HEAPU8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0; + $268_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $269_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = $269_1 + 1 | 0; + HEAP8[($268_1 + $269_1 | 0) >> 0] = $267_1; + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + HEAP8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0) >> 0] = 0; + label$20 : { + label$21 : { + if (((HEAPU8[(HEAP32[($7_1 + 76 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0) { + break label$21 + } + $293_1 = 24; + if (((($1543(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) | 0) << $293_1 | 0) >> $293_1 | 0 | 0) != (66 | 0) & 1 | 0) { + break label$21 + } + if (!(HEAP32[((HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$20 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $344(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, $7_1 + 8 | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + label$24 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$24 + } + $330_1 = 24; + if (!((((HEAPU8[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $330_1 | 0) >> $330_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($7_1 + 16 | 0) >> 2] = 1; + break label$23; + } + $342_1 = -1; + $343_1 = ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0) + $342_1 | 0; + $345_1 = 1; + HEAP8[$343_1 >> 0] = (HEAPU8[$343_1 >> 0] | 0) + $345_1 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $344(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, $7_1 + 8 | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, $345_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $355_1 = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + $342_1 | 0) | 0; + HEAP8[$355_1 >> 0] = (HEAPU8[$355_1 >> 0] | 0) + $342_1 | 0; + } + } + label$25 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$25 + } + $18(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + $212(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 108 | 0) >> 2] = 0; + break label$1; + } + } + } + HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + label$26 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) == (153 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $383_1 = 16; + $1556(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $383_1 | 0) >> $383_1 | 0 | 0); + label$27 : { + if (!(HEAP32[(HEAP32[($7_1 + 92 | 0) >> 2] | 0) >> 2] | 0)) { + break label$27 + } + $391_1 = 24; + if (!(((HEAPU8[((HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $391_1 | 0) >> $391_1 | 0)) { + break label$27 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $1496(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[$7_1 >> 2] | 0 | 0) | 0; + $1471(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0) - 1 | 0 | 0, 0 | 0); + $1383(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[$7_1 >> 2] | 0 | 0); + } + } + break label$12; + } + HEAP32[($7_1 + 84 | 0) >> 2] = 0; + } + } + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + $212(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + } + $417_1 = HEAP32[($7_1 + 108 | 0) >> 2] | 0; + global$0 = $7_1 + 112 | 0; + return $417_1 | 0; + } + + function $1761($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $293_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + label$3 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (169 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if ((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$6 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 48 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!(HEAP32[((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + if ($88(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[(32400 + ((HEAP32[($7_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$9 + } + HEAP8[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 0] = HEAPU8[((32400 + ((HEAP32[($7_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] | 0; + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + } + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$10 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 48 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (!(HEAP32[((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$10 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = HEAP32[(($1056(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$11 : { + if (!((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 40 | 0) >> 2] | 0, 2, HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, $7_1 + 32 | 0, $7_1 + 28 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) >= (150 | 0) & 1 | 0)) { + break label$12 + } + HEAP8[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 0] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 1; + break label$1; + } + } + } + break label$2; + } + label$13 : { + label$14 : { + if (((HEAPU8[(HEAP32[($7_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (52 | 0) & 1 | 0) { + break label$14 + } + if (((HEAPU8[(HEAP32[($7_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (168 | 0) & 1 | 0) { + break label$14 + } + if (!(((HEAPU8[(HEAP32[($7_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (51 | 0) & 1 | 0)) { + break label$13 + } + } + HEAP32[($7_1 + 24 | 0) >> 2] = 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$15 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$15 + } + if (!((HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + if (!(HEAP32[((HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$15 + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + } + label$16 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + if (!(((HEAPU8[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$16 + } + if (!((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + if (!(HEAP32[((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$16 + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + label$17 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (52 | 0) & 1 | 0)) { + break label$17 + } + HEAP8[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 0] = 68; + } + label$18 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (168 | 0) & 1 | 0)) { + break label$18 + } + HEAP8[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 0] = 69; + } + label$19 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (51 | 0) & 1 | 0)) { + break label$19 + } + HEAP8[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 0] = 70; + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + } + $293_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $293_1 | 0; + } + + function $1762($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $99$hi = 0, $101$hi = 0, $103$hi = 0, $104$hi = 0, $17_1 = 0, $65_1 = 0, $96_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + i64toi32_i32$0 = 0; + $99$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $101$hi = i64toi32_i32$1; + i64toi32_i32$1 = $99$hi; + i64toi32_i32$1 = $101$hi; + i64toi32_i32$1 = $99$hi; + i64toi32_i32$1 = $101$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $99$hi; + i64toi32_i32$3 = 1; + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $103$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $104$hi = i64toi32_i32$1; + i64toi32_i32$1 = $103$hi; + i64toi32_i32$1 = $104$hi; + i64toi32_i32$1 = $103$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $104$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $17_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $17_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $17_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$2; + continue label$2; + }; + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 72) | 0) + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[((((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 72) | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$6; + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$8 + } + $65_1 = 16; + label$10 : { + label$11 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $65_1 | 0) >> $65_1 | 0 | 0) != (-2 | 0) & 1 | 0)) { + break label$11 + } + break label$10; + } + label$12 : { + if ($1767(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$12 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = -2; + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$3; + } + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$5; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $96_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $96_1 | 0; + } + + function $1763($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1675(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1675(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $22_1 = ($88(HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (0 | 0) & 1 | 0; + global$0 = $5_1 + 32 | 0; + return $22_1 | 0; + } + + function $1764($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) != (1024 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$4 + } + $17_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$3; + } + $17_1 = 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = $17_1; + break label$1; + } + label$5 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 4 | 0) >> 2] | 0, 48) | 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1765($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $88_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP16[($6_1 + 30 | 0) >> 1] = (HEAPU16[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$1 : { + label$2 : { + if (((HEAPU16[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 62 | 0) { + break label$2 + } + break label$1; + } + label$3 : { + if (((HEAPU16[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 62 | 0) { + break label$3 + } + break label$1; + } + label$4 : { + if (!((((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) & 26 | 0 | 0) != ((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!((((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) & 38 | 0 | 0) != ((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + label$5 : { + if (!($1529(0 | 0, HEAP32[((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$5 + } + break label$1; + } + label$6 : { + if (!($1529(0 | 0, HEAP32[((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$6 + } + break label$1; + } + label$7 : { + if (!(((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0) | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if (!(((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) & 24 | 0)) { + break label$9 + } + HEAP16[($6_1 + 30 | 0) >> 1] = 8; + break label$8; + } + HEAP16[($6_1 + 30 | 0) >> 1] = 32; + } + } + $88_1 = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1310(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, $88_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == ($88_1 | 0) & 1 | 0)) { + break label$10 + } + break label$1; + } + HEAP32[($6_1 + 16 | 0) >> 2] = 53; + label$11 : { + label$12 : while (1) { + if (!(((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0 | 0) != (2 << ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) - 53 | 0) | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1720(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 3 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $1721(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $1766($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $53_1 = 0, $55_1 = 0, $15_1 = 0, $57_1 = 0, $87_1 = 0, $92_1 = 0, $98_1 = 0, $103_1 = 0, $114_1 = 0, $119_1 = 0, $143_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + label$3 : { + if (((HEAPU8[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (169 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $469(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if ((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + if ((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4 | 0) { + break label$4 + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $53_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $55_1 = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $15_1 = HEAPU8[$55_1 >> 0] | 0 | ((HEAPU8[($55_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$53_1 >> 0] = $15_1; + HEAP8[($53_1 + 1 | 0) >> 0] = $15_1 >>> 8 | 0; + $57_1 = 2; + HEAP8[($53_1 + $57_1 | 0) >> 0] = HEAPU8[($55_1 + $57_1 | 0) >> 0] | 0; + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 3 | 0) >> 0] = 0; + break label$6; + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$8 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (115 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $87_1 = 24; + label$9 : { + label$10 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $87_1 | 0) >> $87_1 | 0)) { + break label$10 + } + $92_1 = 24; + if (!(((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $92_1 | 0) >> $92_1 | 0)) { + break label$9 + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $98_1 = 24; + $103_1 = 24; + label$11 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $98_1 | 0) >> $98_1 | 0 | 0) == (((HEAPU8[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $103_1 | 0) >> $103_1 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $114_1 = 24; + $119_1 = 24; + label$12 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $114_1 | 0) >> $114_1 | 0 | 0) == (((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $119_1 | 0) >> $119_1 | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 3 | 0) >> 0] = HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0; + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = ((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0 | 0) == (0 | 0) & 1 | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + } + $143_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $143_1 | 0; + } + + function $1767($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $12_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $12_1 = $1529(0 | 0, $1527(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0, $1527(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $12_1 | 0; + } + + function $1768($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $9_1 = 0, $10_1 = 0, $41_1 = 0, $76_1 = 0, $121_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + $9_1 = 0; + $10_1 = 1; + HEAP32[($8_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 4 | 0) >> 2] = $5_1; + HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = $9_1; + HEAP8[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] = 0; + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $9_1; + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] = $9_1; + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 17 | 0) >> 0] = $10_1; + HEAP8[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 18 | 0) >> 0] = $10_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) != ($9_1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[$8_1 >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + $41_1 = 16; + HEAP32[($8_1 + 12 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[$8_1 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $41_1 | 0) >> $41_1 | 0; + label$4 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[$8_1 >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[$8_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP16[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 1] = 65534; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1770(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $76_1 = 16; + label$5 : { + label$6 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $76_1 | 0) >> $76_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($8_1 + 12 | 0) >> 2] = -1; + break label$5; + } + label$7 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAPU8[(((HEAP32[((HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 12 | 0) >> 2] | 0, 20) | 0) + 13 | 0) >> 0] | 0; + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[$8_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + } + break label$2; + } + label$8 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($8_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + HEAP16[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 1] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1769(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $121_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + global$0 = $8_1 + 32 | 0; + return $121_1 | 0; + } + + function $1769($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $59_1 = 0, $69_1 = 0, $118_1 = 0, $158_1 = 0, $163_1 = 0, $197_1 = 0, $202_1 = 0, $234_1 = 0, $265_1 = 0, $285_1 = 0, $290_1 = 0, $337_1 = 0, $342_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + HEAP16[($3_1 + 34 | 0) >> 1] = HEAPU16[(((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 72 | 0) + ((((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) - 1 | 0) << 1 | 0) | 0) >> 1] | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[(((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 28 | 0) + ((((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + label$3 : while (1) { + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 16 | 0) >> 2] | 0, 48) | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $59_1 = 16; + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (((HEAPU16[($3_1 + 34 | 0) >> 1] | 0) << $59_1 | 0) >> $59_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + $69_1 = 16; + label$8 : { + if ((((HEAPU16[($3_1 + 34 | 0) >> 1] | 0) << $69_1 | 0) >> $69_1 | 0 | 0) != (-2 | 0) & 1 | 0) { + break label$8 + } + if ($1767(HEAP32[((HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + } + label$9 : { + if (((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) <= (1 | 0) & 1 | 0) { + break label$9 + } + if ((HEAP32[((HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0) { + break label$7 + } + } + label$10 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 2048 | 0)) { + break label$10 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) < (11 | 0) & 1 | 0)) { + break label$10 + } + $118_1 = $1771(HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $118_1; + if (!(($118_1 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + if (!((HEAP32[(((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + $158_1 = 16; + $163_1 = 16; + if (!((((HEAPU16[(((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 72 | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $158_1 | 0) >> $158_1 | 0 | 0) == (((HEAPU16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $163_1 | 0) >> $163_1 | 0 | 0) & 1 | 0)) { + break label$13 + } + break label$11; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + label$14 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == ((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[(((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $197_1 = 1; + HEAP16[(((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << $197_1 | 0) | 0) + 72 | 0) >> 1] = HEAPU16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0; + $202_1 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + HEAP8[($202_1 + 17 | 0) >> 0] = (HEAPU8[($202_1 + 17 | 0) >> 0] | 0) + $197_1 | 0; + } + } + label$15 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & (HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0)) { + break label$15 + } + label$16 : { + if (!((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + if (((HEAPU16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0) { + break label$16 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + $234_1 = 24; + label$17 : { + if ($1772(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) << $234_1 | 0) >> $234_1 | 0 | 0) | 0) { + break label$17 + } + break label$6; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $427(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + label$19 : { + if (!($88(HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$19 + } + break label$6; + } + } + label$20 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 130 | 0)) { + break label$20 + } + $265_1 = HEAP32[((HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $265_1; + if (!(((HEAPU8[$265_1 >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$20 + } + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + $285_1 = 16; + $290_1 = 16; + if (!((((HEAPU16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $285_1 | 0) >> $285_1 | 0 | 0) == (((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 1] | 0) << $290_1 | 0) >> $290_1 | 0 | 0) & 1 | 0)) { + break label$20 + } + break label$6; + } + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + } + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 48 | 0; + continue label$5; + }; + } + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + if ((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + continue label$3 + } + break label$3; + }; + label$21 : { + label$22 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) >= ((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$22 + } + break label$21; + } + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + $337_1 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + HEAP8[($337_1 + 18 | 0) >> 0] = (HEAPU8[($337_1 + 18 | 0) >> 0] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + HEAP32[($3_1 + 44 | 0) >> 2] = 0; + } + $342_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $342_1 | 0; + } + + function $1770($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, $9_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = $1543(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] = $6_1; + $9_1 = $1769(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $9_1 | 0; + } + + function $1771($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1527(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $26_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $26_1 | 0; + } + + function $1772($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $20_1 = 0, $30_1 = 0, $40_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 7 | 0) >> 0] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1773(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 6 | 0) >> 0] = wasm2js_i32$1; + $9_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[($4_1 + 6 | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0 | 0) < (66 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + $20_1 = 24; + label$3 : { + if (!((((HEAPU8[($4_1 + 6 | 0) >> 0] | 0) << $20_1 | 0) >> $20_1 | 0 | 0) == (66 | 0) & 1 | 0)) { + break label$3 + } + $30_1 = 24; + HEAP32[($4_1 + 12 | 0) >> 2] = (((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) == (66 | 0) & 1 | 0; + break label$1; + } + $40_1 = 24; + HEAP32[($4_1 + 12 | 0) >> 2] = (((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) >= (67 | 0) & 1 | 0; + } + $48_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $48_1 | 0; + } + + function $1773($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $18_1 = 0, $31_1 = 0, $36_1 = 0, $41_1 = 0, $43_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1543(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 11 | 0) >> 0] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = 24; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1544(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, ((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 11 | 0) >> 0] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$4 + } + $31_1 = 24; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1544(HEAP32[((HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $31_1 | 0) >> $31_1 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 11 | 0) >> 0] = wasm2js_i32$1; + break label$3; + } + $36_1 = 24; + label$5 : { + if (((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $36_1 | 0) >> $36_1 | 0) { + break label$5 + } + HEAP8[($3_1 + 11 | 0) >> 0] = 65; + } + } + } + $41_1 = 24; + $43_1 = ((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $41_1 | 0) >> $41_1 | 0; + global$0 = $3_1 + 16 | 0; + return $43_1 | 0; + } + + function $1774($0_1, $1_1, $2_1, $2$hi, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $416$hi = 0, $423$hi = 0, $9_1 = 0, $417$hi = 0, $418$hi = 0, $420$hi = 0, $55_1 = 0, $148_1 = 0, $424$hi = 0, $425$hi = 0, $427$hi = 0, $382_1 = 0, $417_1 = 0, $499_1 = 0, $424_1 = 0, $865_1 = 0, $413_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 96 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 84 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 68 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $5_1; + HEAP16[($8_1 + 18 | 0) >> 1] = 0; + HEAP32[($8_1 + 48 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + break label$3; + } + i64toi32_i32$0 = 0; + $416$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $417_1 = i64toi32_i32$0; + $417$hi = i64toi32_i32$1; + i64toi32_i32$2 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + $418$hi = i64toi32_i32$0; + i64toi32_i32$0 = $417$hi; + i64toi32_i32$0 = $418$hi; + $499_1 = i64toi32_i32$1; + i64toi32_i32$0 = $417$hi; + i64toi32_i32$2 = $417_1; + i64toi32_i32$1 = $418$hi; + i64toi32_i32$3 = $499_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $420$hi = i64toi32_i32$1; + i64toi32_i32$1 = $416$hi; + i64toi32_i32$1 = $420$hi; + i64toi32_i32$1 = $416$hi; + i64toi32_i32$1 = $420$hi; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $416$hi; + i64toi32_i32$3 = 0; + label$5 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$5 + } + break label$3; + } + label$6 : { + if (((HEAPU16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & -2049 | 0) { + break label$6 + } + break label$3; + } + label$7 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 0 | 0)) { + break label$7 + } + break label$3; + } + HEAP32[($8_1 + 48 | 0) >> 2] = (HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 48 | 0; + continue label$2; + }; + } + $55_1 = 0; + HEAP32[($8_1 + 24 | 0) >> 2] = $55_1; + label$8 : { + if (!((HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) != ($55_1 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 64 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 56 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$11 : { + label$12 : { + if (((HEAPU8[(HEAP32[($8_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0) { + break label$12 + } + if (!((HEAP32[((HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + } + break label$9; + } + label$13 : { + if (!(((HEAPU8[((((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 56 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$13 + } + break label$9; + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + label$14 : { + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + } + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $308(HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, ((Math_imul(HEAP32[($8_1 + 48 | 0) >> 2] | 0, 20) + 72 | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 3 | 0) | 0) + 8 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + label$16 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$16 + } + $349(HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0, 8229 | 0, 0 | 0); + HEAP32[($8_1 + 92 | 0) >> 2] = 0; + break label$15; + } + $148_1 = 0; + HEAP32[($8_1 + 32 | 0) >> 2] = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 72 | 0; + HEAP32[($8_1 + 44 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = (HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 48 | 0) >> 2] | 0, 12) | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 88 | 0) >> 2] | 0; + HEAP32[($8_1 + 52 | 0) >> 2] = $148_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $148_1; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + label$19 : { + label$20 : { + if (!((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + break label$19; + } + i64toi32_i32$0 = 0; + $423$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $424_1 = i64toi32_i32$0; + $424$hi = i64toi32_i32$1; + i64toi32_i32$3 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + $425$hi = i64toi32_i32$0; + i64toi32_i32$0 = $424$hi; + i64toi32_i32$0 = $425$hi; + $865_1 = i64toi32_i32$1; + i64toi32_i32$0 = $424$hi; + i64toi32_i32$3 = $424_1; + i64toi32_i32$1 = $425$hi; + i64toi32_i32$2 = $865_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $427$hi = i64toi32_i32$1; + i64toi32_i32$1 = $423$hi; + i64toi32_i32$1 = $427$hi; + i64toi32_i32$1 = $423$hi; + i64toi32_i32$1 = $427$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $423$hi; + i64toi32_i32$2 = 0; + label$21 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$21 + } + break label$19; + } + label$22 : { + if (((HEAPU16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & -2049 | 0) { + break label$22 + } + break label$19; + } + label$23 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 0 | 0)) { + break label$23 + } + break label$19; + } + label$24 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$24 + } + if ((HEAP32[((HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0) { + break label$24 + } + break label$19; + } + HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 52 | 0) >> 2] | 0, 12) | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 52 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + HEAP16[($8_1 + 6 | 0) >> 1] = ((HEAPU16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 8191 | 0; + label$25 : { + if (!(((HEAPU16[($8_1 + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$25 + } + HEAP16[($8_1 + 6 | 0) >> 1] = 2; + } + label$26 : { + label$27 : { + if (!(((HEAPU16[($8_1 + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) == (64 | 0) & 1 | 0)) { + break label$27 + } + HEAP8[(((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 52 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 0] = HEAPU8[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0; + break label$26; + } + label$28 : { + label$29 : { + if (!(((HEAPU16[($8_1 + 6 | 0) >> 1] | 0) & 65535 | 0) & 384 | 0)) { + break label$29 + } + label$30 : { + label$31 : { + if (!(((HEAPU16[($8_1 + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) == (256 | 0) & 1 | 0)) { + break label$31 + } + HEAP8[(((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 52 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 0] = 71; + break label$30; + } + HEAP8[(((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 52 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 0] = 72; + } + break label$28; + } + HEAP8[(((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 52 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 0] = HEAPU16[($8_1 + 6 | 0) >> 1] | 0; + label$32 : { + if (!(((HEAPU16[($8_1 + 6 | 0) >> 1] | 0) & 65535 | 0) & 60 | 0)) { + break label$32 + } + if (!($1505(HEAP32[((HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$32 + } + label$33 : { + if (!((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$33 + } + HEAP16[($8_1 + 18 | 0) >> 1] = (HEAPU16[($8_1 + 18 | 0) >> 1] | 0) & 65535 | 0 | (1 << (HEAP32[($8_1 + 52 | 0) >> 2] | 0) | 0) | 0; + } + label$34 : { + if (!(((HEAPU16[($8_1 + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$34 + } + HEAP8[(((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 52 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 0] = 8; + } + label$35 : { + if (!(((HEAPU16[($8_1 + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$35 + } + HEAP8[(((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 52 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 0] = 32; + } + } + } + } + HEAP32[($8_1 + 52 | 0) >> 2] = (HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 48 | 0; + continue label$18; + }; + } + HEAP32[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = 0; + label$36 : { + label$37 : while (1) { + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[$8_1 >> 2] = HEAP32[(((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 56 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $382_1 = 16; + HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 56 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = ((HEAPU16[((HEAP32[$8_1 >> 2] | 0) + 32 | 0) >> 1] | 0) << $382_1 | 0) >> $382_1 | 0; + HEAP8[(((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 56 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = ((HEAPU8[((((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 56 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0) & 255 | 0) & 1 | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$37; + }; + } + HEAP16[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 1] = HEAPU16[($8_1 + 18 | 0) >> 1] | 0; + HEAP32[($8_1 + 92 | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + } + $413_1 = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + global$0 = $8_1 + 96 | 0; + return $413_1 | 0; + } + + function $1775($0_1, $1_1, $1$hi, $2_1, $2$hi, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $75_1 = 0, $10_1 = 0, $374$hi = 0, $375$hi = 0, $372$hi = 0, $373$hi = 0, $143_1 = 0, $380$hi = 0, $203_1 = 0, $250_1 = 0, $264_1 = 0, $326_1 = 0, $342_1 = 0, $346_1 = 0, $472_1 = 0, $372_1 = 0, $522_1 = 0, $374_1 = 0, $531_1 = 0, $614_1 = 0, $190_1 = 0, $380_1 = 0, $856$hi = 0, $860_1 = 0, $300_1 = 0, $333_1 = 0, $336_1 = 0, $368_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 128 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 120 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 112 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 116 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 104 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 108 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($9_1 + 102 | 0) >> 1] = $3_1; + HEAP32[($9_1 + 96 | 0) >> 2] = $4_1; + HEAP16[($9_1 + 94 | 0) >> 1] = $5_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($9_1 + 64 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($9_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($9_1 + 120 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($9_1 + 52 | 0) >> 2] = ((HEAP32[((HEAP32[(HEAP32[($9_1 + 120 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0, 72) | 0; + HEAP32[($9_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 96 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($9_1 + 88 | 0) >> 2] | 0) >> 2] = $10_1; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 116 | 0) >> 2] | 0; + $472_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $472_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($9_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($9_1 + 72 | 0) >> 2] = $10_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($9_1 + 44 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 48) | 0; + HEAP8[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 5 | 0) >> 0] = 0; + i64toi32_i32$2 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $372_1 = i64toi32_i32$1; + $372$hi = i64toi32_i32$0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + $373$hi = i64toi32_i32$1; + i64toi32_i32$1 = $372$hi; + i64toi32_i32$1 = $373$hi; + $522_1 = i64toi32_i32$0; + i64toi32_i32$1 = $372$hi; + i64toi32_i32$2 = $372_1; + i64toi32_i32$0 = $373$hi; + i64toi32_i32$3 = $522_1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $374_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $374$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $375$hi = i64toi32_i32$2; + i64toi32_i32$2 = $374$hi; + i64toi32_i32$2 = $375$hi; + i64toi32_i32$2 = $374$hi; + i64toi32_i32$2 = $375$hi; + $531_1 = i64toi32_i32$0; + i64toi32_i32$2 = $374$hi; + i64toi32_i32$1 = $374_1; + i64toi32_i32$0 = $375$hi; + i64toi32_i32$3 = $531_1; + label$3 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$3 + } + if (((HEAPU16[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & ((HEAPU16[($9_1 + 102 | 0) >> 1] | 0) & 65535 | 0) | 0) { + break label$3 + } + HEAP8[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 5 | 0) >> 0] = 1; + } + HEAP32[($9_1 + 72 | 0) >> 2] = (HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($9_1 + 80 | 0) >> 2] = (HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 12 | 0; + continue label$2; + }; + } + $75_1 = 0; + i64toi32_i32$1 = 0; + $3289(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($9_1 + 48 | 0) >> 2] | 0) << 3 | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 24 | 0) >> 2] = $75_1; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 2] = $75_1; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] = $75_1; + HEAPF64[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 40 | 0) >> 3] = 5.e+98; + i64toi32_i32$2 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] = 25; + HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 56 | 0) >> 2] = $75_1; + i64toi32_i32$3 = HEAP32[($9_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 60 | 0) >> 2] | 0; + $614_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $614_1; + HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$2; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1785(HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!(HEAP32[($9_1 + 64 | 0) >> 2] | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) == (19 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($9_1 + 124 | 0) >> 2] = 0; + break label$4; + } + HEAP32[($9_1 + 124 | 0) >> 2] = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + break label$4; + } + HEAP32[($9_1 + 68 | 0) >> 2] = -1; + HEAP32[($9_1 + 72 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($9_1 + 72 | 0) >> 2] = (HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + HEAP16[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 30 | 0) >> 1] = 0; + HEAP32[($9_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($9_1 + 72 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $143_1 = (HEAP32[((HEAP32[($9_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 72 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0) - 1 | 0; + HEAP32[($9_1 + 40 | 0) >> 2] = $143_1; + label$11 : { + if (!(($143_1 | 0) >= (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($9_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$12 : { + label$13 : { + if ((HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) >= (HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$13 + } + if ((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$13 + } + if ((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$13 + } + if ((HEAP32[((HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$13 + } + if ((HEAPU8[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + } + $190_1 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + HEAP32[$9_1 >> 2] = HEAP32[(HEAP32[((HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] | 0; + $349($190_1 | 0, 32484 | 0, $9_1 | 0); + HEAP32[($9_1 + 124 | 0) >> 2] = 1; + break label$4; + } + HEAP32[($9_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($9_1 + 32 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $380_1 = i64toi32_i32$2; + $380$hi = i64toi32_i32$1; + $203_1 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$3 = $203_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $856$hi = i64toi32_i32$2; + i64toi32_i32$2 = $380$hi; + i64toi32_i32$2 = $856$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $380$hi; + i64toi32_i32$0 = $380_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $860_1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = $203_1; + HEAP32[i64toi32_i32$3 >> 2] = $860_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + label$14 : { + if (!((HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) > (HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($9_1 + 68 | 0) >> 2] = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + } + label$15 : { + if (!(((HEAPU8[(((HEAP32[($9_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 72 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$15 + } + label$16 : { + label$17 : { + if (!((HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$17 + } + if ((1 << (HEAP32[($9_1 + 72 | 0) >> 2] | 0) | 0) & ((HEAPU16[($9_1 + 94 | 0) >> 1] | 0) & 65535 | 0) | 0) { + break label$17 + } + $250_1 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + HEAP16[($250_1 + 30 | 0) >> 1] = (HEAPU16[($250_1 + 30 | 0) >> 1] | 0) & 65535 | 0 | (1 << (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0) | 0; + break label$16; + } + } + } + label$18 : { + if (!(((HEAPU16[((HEAP32[($9_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + $264_1 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + HEAP32[($264_1 + 56 | 0) >> 2] = (HEAP32[($264_1 + 56 | 0) >> 2] | 0) & -2 | 0; + HEAP32[(HEAP32[($9_1 + 88 | 0) >> 2] | 0) >> 2] = 1; + } + } + HEAP32[($9_1 + 72 | 0) >> 2] = (HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($9_1 + 80 | 0) >> 2] = (HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 12 | 0; + continue label$10; + }; + } + HEAP16[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 1] = (HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($9_1 + 72 | 0) >> 2] = 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) <= (HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + label$21 : { + if (!((HEAP32[((HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$21 + } + $300_1 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] | 0; + $349($300_1 | 0, 32484 | 0, $9_1 + 16 | 0 | 0); + HEAP32[($9_1 + 124 | 0) >> 2] = 1; + break label$4; + } + HEAP32[($9_1 + 72 | 0) >> 2] = (HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 28 | 0) >> 0] = HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$22 : { + label$23 : { + if (!(HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0)) { + break label$23 + } + $326_1 = HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$22; + } + $326_1 = 0; + } + HEAP8[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 29 | 0) >> 0] = $326_1; + HEAP16[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 18 | 0) >> 1] = 0; + $333_1 = $1786(+(+HEAPF64[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 40 | 0) >> 3])) | 0; + HEAP16[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 1] = $333_1; + i64toi32_i32$2 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $336_1 = $937(i64toi32_i32$1 | 0, i64toi32_i32$3 | 0) | 0; + HEAP16[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 22 | 0) >> 1] = $336_1; + label$24 : { + label$25 : { + if (!((HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) & 1 | 0)) { + break label$25 + } + $342_1 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + HEAP32[($342_1 + 36 | 0) >> 2] = HEAP32[($342_1 + 36 | 0) >> 2] | 0 | 4096 | 0; + break label$24; + } + $346_1 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + HEAP32[($346_1 + 36 | 0) >> 2] = (HEAP32[($346_1 + 36 | 0) >> 2] | 0) & -4097 | 0; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1777(HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$26 + } + $42(HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 28 | 0) >> 0] = 0; + } + HEAP32[($9_1 + 124 | 0) >> 2] = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + } + $368_1 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + global$0 = $9_1 + 128 | 0; + return $368_1 | 0; + } + + function $1776($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, $15_1 = 0, $17_1 = 0, i64toi32_i32$1 = 0, $21_1 = 0, $27_1 = 0, i64toi32_i32$0 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP16[($3_1 + 14 | 0) >> 1] = $0_1; + $6_1 = 16; + label$1 : { + label$2 : { + if (!((((HEAPU16[($3_1 + 14 | 0) >> 1] | 0) << $6_1 | 0) >> $6_1 | 0 | 0) <= (10 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = 0; + break label$1; + } + $17_1 = 16; + i64toi32_i32$1 = ((HEAPU16[($3_1 + 14 | 0) >> 1] | 0) << $17_1 | 0) >> $17_1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $21_1 = 16; + $15_1 = ((($937(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) << $21_1 | 0) >> $21_1 | 0) - 33 | 0; + } + $27_1 = 16; + global$0 = $3_1 + 16 | 0; + return ($15_1 << $27_1 | 0) >> $27_1 | 0 | 0; + } + + function $1777($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $25_1 = 0, i64toi32_i32$2 = 0, $56_1 = 0, $59_1 = 0, $87_1 = 0, $10_1 = 0, $166_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP16[(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 1] = 0; + } + HEAP32[($4_1 + 44 | 0) >> 2] = 101; + break label$1; + } + $25_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($25_1 + 24 | 0) >> 2] = (HEAP32[($25_1 + 24 | 0) >> 2] | 0) + -1 | 0; + $1787(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$2 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $56_1 = 16; + $59_1 = 16; + $1783(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[i64toi32_i32$2 >> 2] | 0 | 0, i64toi32_i32$1 | 0, ((HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $56_1 | 0) >> $56_1 | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $59_1 | 0) >> $59_1 | 0 | 0) | 0; + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1788((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$1 = 0; + $87_1 = $365(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 72 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $87_1; + HEAP32[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 2] = $87_1; + label$9 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 7; + break label$1; + } + $1676(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + break label$7; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1788(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + break label$10; + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$13 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + break label$10; + } + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $1749(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + continue label$11; + }; + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1789(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if ((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1024 | 0) { + break label$14 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$15 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $10_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + if (!((((HEAPU8[($10_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($10_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $166_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $166_1 | 0; + } + + function $1778($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $84$hi = 0, i64toi32_i32$3 = 0, $85$hi = 0, $86$hi = 0, $88$hi = 0, $54_1 = 0, $81_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!(((HEAPU8[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if ($1778(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$3; + }; + } + i64toi32_i32$0 = 0; + $84$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $85$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $86$hi = i64toi32_i32$1; + i64toi32_i32$1 = $85$hi; + i64toi32_i32$1 = $86$hi; + i64toi32_i32$1 = $85$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $86$hi; + i64toi32_i32$3 = 8388608; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $88$hi = i64toi32_i32$0; + i64toi32_i32$0 = $84$hi; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$0 = $84$hi; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$3 = 0; + label$5 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + } + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$9 + } + $54_1 = 16; + if (!((((HEAPU16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 1] | 0) << $54_1 | 0) >> $54_1 | 0 | 0) == (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + } + label$10 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$10 + } + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$8 + } + } + if (!($1530(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 48 | 0; + continue label$7; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $81_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $81_1 | 0; + } + + function $1779($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $11_1 = 0, $18_1 = 0, $71_1 = 0, $93_1 = 0, $103_1 = 0, $117_1 = 0, $142_1 = 0, $169_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + $11_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((((HEAPU8[($11_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($11_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 2 | 0) & 1 | 0) & 65535 | 0)) { + break label$2 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $18_1 = HEAP32[((HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $18_1; + label$3 : { + if (!(($18_1 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1527(HEAP32[(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$6; + } + label$8 : { + label$9 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$9 + } + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $71_1 = 16; + label$10 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $71_1 | 0) >> $71_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$11 + } + $93_1 = 16; + $103_1 = 16; + label$13 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $93_1 | 0) >> $93_1 | 0 | 0) == (((HEAPU16[((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $103_1 | 0) >> $103_1 | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + break label$8; + } + $117_1 = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $117_1; + label$14 : { + if (!(($117_1 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$15 + } + $142_1 = 16; + label$17 : { + label$18 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $142_1 | 0) >> $142_1 | 0 | 0) != (-2 | 0) & 1 | 0)) { + break label$18 + } + break label$17; + } + label$19 : { + if ($1767(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0) { + break label$19 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + } + } + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $169_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $169_1 | 0; + } + + function $1780($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $222$hi = 0, $228$hi = 0, $217$hi = 0, $218$hi = 0, $219$hi = 0, $220$hi = 0, $223$hi = 0, $224$hi = 0, $226$hi = 0, $229$hi = 0, $230$hi = 0, $232$hi = 0, $103_1 = 0, $113_1 = 0, $116_1 = 0, $118_1 = 0, $122_1 = 0, $164_1 = 0, $173_1 = 0, $188_1 = 0, $192_1 = 0, $196_1 = 0, $206_1 = 0, $210_1 = 0, $217_1 = 0, $254_1 = 0, $260_1 = 0, $223_1 = 0, $308_1 = 0, $229_1 = 0, $327_1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP16[($5_1 + 54 | 0) >> 1] = $2_1; + i64toi32_i32$2 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $217_1 = i64toi32_i32$0; + $217$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $218$hi = i64toi32_i32$0; + i64toi32_i32$0 = $217$hi; + i64toi32_i32$0 = $218$hi; + $254_1 = i64toi32_i32$1; + i64toi32_i32$0 = $217$hi; + i64toi32_i32$2 = $217_1; + i64toi32_i32$1 = $218$hi; + i64toi32_i32$3 = $254_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $219$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $220$hi = i64toi32_i32$1; + i64toi32_i32$1 = $219$hi; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$1 = $219$hi; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $220$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + $260_1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $260_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$2; + HEAP16[($5_1 + 22 | 0) >> 1] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$3 + } + break label$1; + } + i64toi32_i32$2 = 0; + $222$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] | 0; + $223_1 = i64toi32_i32$2; + $223$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $224$hi = i64toi32_i32$2; + i64toi32_i32$2 = $223$hi; + i64toi32_i32$2 = $224$hi; + $308_1 = i64toi32_i32$0; + i64toi32_i32$2 = $223$hi; + i64toi32_i32$1 = $223_1; + i64toi32_i32$0 = $224$hi; + i64toi32_i32$3 = $308_1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $226$hi = i64toi32_i32$0; + i64toi32_i32$0 = $222$hi; + i64toi32_i32$0 = $226$hi; + i64toi32_i32$0 = $222$hi; + i64toi32_i32$0 = $226$hi; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $222$hi; + i64toi32_i32$3 = 0; + label$4 : { + label$5 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + i64toi32_i32$2 = 0; + $228$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $229_1 = i64toi32_i32$2; + $229$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $230$hi = i64toi32_i32$2; + i64toi32_i32$2 = $229$hi; + i64toi32_i32$2 = $230$hi; + $327_1 = i64toi32_i32$0; + i64toi32_i32$2 = $229$hi; + i64toi32_i32$3 = $229_1; + i64toi32_i32$0 = $230$hi; + i64toi32_i32$1 = $327_1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $232$hi = i64toi32_i32$0; + i64toi32_i32$0 = $228$hi; + i64toi32_i32$0 = $232$hi; + i64toi32_i32$0 = $228$hi; + i64toi32_i32$0 = $232$hi; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + i64toi32_i32$3 = $228$hi; + i64toi32_i32$1 = 0; + label$6 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = ((HEAPU16[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + break label$9; + } + label$11 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + break label$7; + } + label$12 : { + if (!((HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$12 + } + if (!(((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, 48) | 0 | 0) == (HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + break label$7; + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + -1 | 0; + continue label$8; + }; + } + label$13 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$13 + } + $103_1 = 16; + label$14 : { + label$15 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $103_1 | 0) >> $103_1 | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$15 + } + $113_1 = 16; + $116_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + $118_1 = 16; + HEAP16[($116_1 + 22 | 0) >> 1] = (((HEAPU16[($116_1 + 22 | 0) >> 1] | 0) << $118_1 | 0) >> $118_1 | 0) + (((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $113_1 | 0) >> $113_1 | 0) | 0; + break label$14; + } + $122_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP16[($122_1 + 22 | 0) >> 1] = (HEAPU16[($122_1 + 22 | 0) >> 1] | 0) + -1 | 0; + label$16 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 130 | 0)) { + break label$16 + } + if (((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 0 | 0) { + break label$16 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$17 : { + label$18 : { + if (!($1612(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0) | 0)) { + break label$18 + } + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) >= (-1 | 0) & 1 | 0)) { + break label$18 + } + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 10; + break label$17; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 20; + } + $164_1 = 16; + label$19 : { + if (!((((HEAPU16[($5_1 + 22 | 0) >> 1] | 0) << $164_1 | 0) >> $164_1 | 0 | 0) < (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $173_1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + HEAP16[($173_1 + 10 | 0) >> 1] = (HEAPU16[($173_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 8192 | 0; + HEAP16[($5_1 + 22 | 0) >> 1] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + } + } + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 48 | 0; + continue label$2; + }; + } + $188_1 = 16; + $192_1 = 16; + $196_1 = 16; + label$20 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $188_1 | 0) >> $188_1 | 0 | 0) > ((((HEAPU16[($5_1 + 54 | 0) >> 1] | 0) << $192_1 | 0) >> $192_1 | 0) - (((HEAPU16[($5_1 + 22 | 0) >> 1] | 0) << $196_1 | 0) >> $196_1 | 0) | 0 | 0) & 1 | 0)) { + break label$20 + } + $206_1 = 16; + $210_1 = 16; + HEAP16[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 22 | 0) >> 1] = (((HEAPU16[($5_1 + 54 | 0) >> 1] | 0) << $206_1 | 0) >> $206_1 | 0) - (((HEAPU16[($5_1 + 22 | 0) >> 1] | 0) << $210_1 | 0) >> $210_1 | 0) | 0; + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $1781($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $8_1 = 0, $980$hi = 0, $198_1 = 0, $501_1 = 0, $891_1 = 0, $896_1 = 0, $115_1 = 0, $78_1 = 0, $84_1 = 0, $981$hi = 0, $982$hi = 0, $984$hi = 0, $166_1 = 0, $172_1 = 0, $200_1 = 0, $986$hi = 0, $987$hi = 0, $988$hi = 0, $989$hi = 0, $990$hi = 0, $991$hi = 0, $283_1 = 0, $116_1 = 0, $296_1 = 0, $315_1 = 0, $320_1 = 0, $324_1 = 0, $329_1 = 0, $335_1 = 0, $344_1 = 0, $348_1 = 0, $367_1 = 0, $370_1 = 0, $388_1 = 0, $117_1 = 0, $443_1 = 0, $447_1 = 0, $456_1 = 0, $466_1 = 0, $503_1 = 0, $511_1 = 0, $516_1 = 0, $547_1 = 0, $560_1 = 0, $563_1 = 0, $568_1 = 0, $586_1 = 0, $596_1 = 0, $599_1 = 0, $601_1 = 0, $606_1 = 0, $608_1 = 0, $619_1 = 0, $631_1 = 0, $635_1 = 0, $637_1 = 0, $646_1 = 0, $648_1 = 0, $655_1 = 0, $662_1 = 0, $670_1 = 0, $677_1 = 0, $680_1 = 0, $693_1 = 0, $698_1 = 0, $701_1 = 0, $709_1 = 0, $714_1 = 0, $716_1 = 0, $721_1 = 0, $726_1 = 0, $728_1 = 0, $736_1 = 0, $771_1 = 0, $776_1 = 0, $118_1 = 0, $119_1 = 0, $871_1 = 0, $887_1 = 0, $889_1 = 0, $893_1 = 0, $898_1 = 0, $905_1 = 0, $918_1 = 0, $932_1 = 0, $937_1 = 0, $940_1 = 0, $942_1 = 0, $947_1 = 0, $956_1 = 0, $960_1 = 0, $964_1 = 0, $1138_1 = 0, $981_1 = 0, $1268_1 = 0, $197_1 = 0, $199_1 = 0, $986_1 = 0, $1470_1 = 0, $988_1 = 0, $1480_1 = 0, $1485_1 = 0, $478_1 = 0, $500_1 = 0, $502_1 = 0, $528_1 = 0, $683_1 = 0, $704_1 = 0, $2703_1 = 0, $897_1 = 0, $976_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 240 | 0; + global$0 = $6_1; + $8_1 = 0; + HEAP32[($6_1 + 232 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 228 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 224 | 0) >> 2] = $2_1; + HEAP16[($6_1 + 222 | 0) >> 1] = $3_1; + HEAP32[($6_1 + 216 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 232 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 212 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 216 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 208 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 212 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 204 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 208 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 236 | 0) >> 2] = 7; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 32 | 0)) { + break label$4 + } + HEAP32[($6_1 + 196 | 0) >> 2] = 24; + break label$3; + } + HEAP32[($6_1 + 196 | 0) >> 2] = 447; + } + $115_1 = HEAP32[($6_1 + 224 | 0) >> 2] | 0; + label$5 : { + if (!((((HEAPU8[($115_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($115_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 2 | 0) & 1 | 0) & 65535 | 0)) { + break label$5 + } + HEAP32[($6_1 + 196 | 0) >> 2] = (HEAP32[($6_1 + 196 | 0) >> 2] | 0) & -61 | 0; + } + HEAP16[($6_1 + 84 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0; + HEAP16[($6_1 + 82 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0; + HEAP16[($6_1 + 80 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0; + HEAP16[($6_1 + 78 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + HEAP16[($6_1 + 86 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0; + HEAP32[($6_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1138_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $1138_1; + HEAP32[($6_1 + 92 | 0) >> 2] = i64toi32_i32$1; + HEAP16[($6_1 + 70 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1768($6_1 + 96 | 0 | 0, HEAP32[((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 228 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, (HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($6_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 200 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 18 | 0) >> 1] = 0; + HEAP16[($6_1 + 62 | 0) >> 1] = HEAPU16[(HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 1] | 0; + $78_1 = 16; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1776(((HEAPU16[($6_1 + 62 | 0) >> 1] | 0) << $78_1 | 0) >> $78_1 | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 60 | 0) >> 1] = wasm2js_i32$1; + label$6 : while (1) { + $84_1 = 0; + label$7 : { + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$7 + } + $84_1 = (HEAP32[($6_1 + 200 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$8 : { + if (!($84_1 & 1 | 0)) { + break label$8 + } + HEAP16[($6_1 + 50 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + label$9 : { + label$10 : { + label$11 : { + if (((HEAPU16[($6_1 + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) == (256 | 0) & 1 | 0) { + break label$11 + } + if (!(((HEAPU16[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 0 | 0)) { + break label$10 + } + } + if (!($1725(HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0, (HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0)) { + break label$10 + } + break label$9; + } + i64toi32_i32$1 = 0; + $980$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 200 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $981_1 = i64toi32_i32$1; + $981$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $982$hi = i64toi32_i32$1; + i64toi32_i32$1 = $981$hi; + i64toi32_i32$1 = $982$hi; + $1268_1 = i64toi32_i32$0; + i64toi32_i32$1 = $981$hi; + i64toi32_i32$2 = $981_1; + i64toi32_i32$0 = $982$hi; + i64toi32_i32$3 = $1268_1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $984$hi = i64toi32_i32$0; + i64toi32_i32$0 = $980$hi; + i64toi32_i32$0 = $984$hi; + i64toi32_i32$0 = $980$hi; + i64toi32_i32$0 = $984$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $980$hi; + i64toi32_i32$3 = 0; + label$12 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$12 + } + break label$9; + } + label$13 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$13 + } + if (!(((HEAPU16[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$13 + } + break label$9; + } + label$14 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 228 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$14 + } + if ((HEAP32[((HEAP32[(HEAP32[($6_1 + 200 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0) { + break label$14 + } + break label$9; + } + label$15 : { + label$16 : { + if (!((HEAPU8[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$16 + } + if (!(((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0 | 0) == (((HEAPU16[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$16 + } + $166_1 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + HEAP8[($166_1 + 20 | 0) >> 0] = (HEAPU8[($166_1 + 20 | 0) >> 0] | 0) & 255 | 0 | 2 | 0; + break label$15; + } + $172_1 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + HEAP8[($172_1 + 20 | 0) >> 0] = (HEAPU8[($172_1 + 20 | 0) >> 0] | 0) & 255 | 0 | 1 | 0; + } + HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 24 | 0) >> 1] = HEAPU16[($6_1 + 84 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 26 | 0) >> 1] = HEAPU16[($6_1 + 82 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 28 | 0) >> 1] = HEAPU16[($6_1 + 80 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 40 | 0) >> 1] = HEAPU16[($6_1 + 86 | 0) >> 1] | 0; + label$17 : { + if (!($1735(HEAP32[($6_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0 | 0) | 0)) { + break label$17 + } + break label$8; + } + $197_1 = HEAP32[($6_1 + 200 | 0) >> 2] | 0; + $198_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $199_1 = HEAP32[($198_1 + 48 | 0) >> 2] | 0; + $200_1 = HEAPU16[($198_1 + 40 | 0) >> 1] | 0; + HEAP16[($198_1 + 40 | 0) >> 1] = $200_1 + 1 | 0; + HEAP32[($199_1 + (($200_1 & 65535 | 0) << 2 | 0) | 0) >> 2] = $197_1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $986_1 = i64toi32_i32$1; + $986$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($6_1 + 200 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $987$hi = i64toi32_i32$1; + i64toi32_i32$1 = $986$hi; + i64toi32_i32$1 = $987$hi; + $1470_1 = i64toi32_i32$0; + i64toi32_i32$1 = $986$hi; + i64toi32_i32$3 = $986_1; + i64toi32_i32$0 = $987$hi; + i64toi32_i32$2 = $1470_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $988_1 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + $988$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $989$hi = i64toi32_i32$3; + i64toi32_i32$3 = -1; + $990$hi = i64toi32_i32$3; + i64toi32_i32$3 = $989$hi; + i64toi32_i32$3 = $990$hi; + i64toi32_i32$3 = $989$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $990$hi; + i64toi32_i32$2 = -1; + i64toi32_i32$0 = i64toi32_i32$3 ^ i64toi32_i32$0 | 0; + $991$hi = i64toi32_i32$0; + i64toi32_i32$0 = $988$hi; + i64toi32_i32$0 = $991$hi; + $1480_1 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + i64toi32_i32$0 = $988$hi; + i64toi32_i32$3 = $988_1; + i64toi32_i32$1 = $991$hi; + i64toi32_i32$2 = $1480_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $1485_1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $1485_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$1; + label$18 : { + label$19 : { + if (!(((HEAPU16[($6_1 + 50 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 200 | 0) >> 2] | 0) >> 2] | 0; + label$20 : { + label$21 : { + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$21 + } + HEAP32[($6_1 + 40 | 0) >> 2] = 46; + HEAP32[($6_1 + 32 | 0) >> 2] = 0; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$22 + } + label$24 : { + if (!((HEAP32[((HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + if (!((HEAP32[(HEAP32[((HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + } + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + break label$20; + } + label$25 : { + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + if (!(HEAP32[(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0)) { + break label$25 + } + i64toi32_i32$3 = HEAP32[(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $283_1 = 16; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = (($937(i64toi32_i32$3 | 0, i64toi32_i32$1 | 0) | 0) << $283_1 | 0) >> $283_1 | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + } + $116_1 = HEAP32[($6_1 + 224 | 0) >> 2] | 0; + label$26 : { + if (!((((HEAPU8[($116_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($116_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0)) { + break label$26 + } + $296_1 = 16; + if (!((((HEAPU16[($6_1 + 60 | 0) >> 1] | 0) << $296_1 | 0) >> $296_1 | 0 | 0) >= (10 | 0) & 1 | 0)) { + break label$26 + } + HEAP16[($6_1 + 30 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0; + $315_1 = 16; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1776(((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << $315_1 | 0) >> $315_1 | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 28 | 0) >> 1] = wasm2js_i32$1; + HEAP16[($6_1 + 26 | 0) >> 1] = 10; + $320_1 = 16; + $324_1 = 16; + $329_1 = 16; + $335_1 = 16; + label$27 : { + label$28 : { + if (!((((((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) << $320_1 | 0) >> $320_1 | 0) + (((HEAPU16[($6_1 + 28 | 0) >> 1] | 0) << $324_1 | 0) >> $324_1 | 0) | 0) + (((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $329_1 | 0) >> $329_1 | 0) | 0 | 0) < ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (((HEAPU16[($6_1 + 60 | 0) >> 1] | 0) << $335_1 | 0) >> $335_1 | 0) | 0 | 0) & 1 | 0)) { + break label$28 + } + $344_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($344_1 + 36 | 0) >> 2] = HEAP32[($344_1 + 36 | 0) >> 2] | 0 | 1048576 | 0; + break label$27; + } + } + } + $348_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($348_1 + 36 | 0) >> 2] = HEAP32[($348_1 + 36 | 0) >> 2] | 0 | 4 | 0; + break label$18; + } + label$29 : { + label$30 : { + if (!(((HEAPU16[($6_1 + 50 | 0) >> 1] | 0) & 65535 | 0) & 130 | 0)) { + break label$30 + } + $367_1 = 16; + HEAP32[($6_1 + 20 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0) << $367_1 | 0) >> $367_1 | 0; + $370_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($370_1 + 36 | 0) >> 2] = HEAP32[($370_1 + 36 | 0) >> 2] | 0 | 1 | 0; + label$31 : { + label$32 : { + if ((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { + break label$32 + } + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$31 + } + $388_1 = 16; + if (((HEAPU16[($6_1 + 222 | 0) >> 1] | 0) << $388_1 | 0) >> $388_1 | 0) { + break label$31 + } + if (!(((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0 | 0) == (((HEAPU16[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$31 + } + } + label$33 : { + label$34 : { + label$35 : { + if ((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { + break label$35 + } + $117_1 = HEAP32[($6_1 + 224 | 0) >> 2] | 0; + if ((((HEAPU8[($117_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($117_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 3 | 0) & 1 | 0) & 65535 | 0) { + break label$35 + } + if (!(((HEAPU16[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$34 + } + if (!((HEAPU8[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$34 + } + if (!(((HEAPU16[($6_1 + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$34 + } + } + $443_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($443_1 + 36 | 0) >> 2] = HEAP32[($443_1 + 36 | 0) >> 2] | 0 | 4096 | 0; + break label$33; + } + $447_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($447_1 + 36 | 0) >> 2] = HEAP32[($447_1 + 36 | 0) >> 2] | 0 | 65536 | 0; + } + } + break label$29; + } + label$36 : { + label$37 : { + if (!(((HEAPU16[($6_1 + 50 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$37 + } + $456_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($456_1 + 36 | 0) >> 2] = HEAP32[($456_1 + 36 | 0) >> 2] | 0 | 8 | 0; + break label$36; + } + label$38 : { + label$39 : { + if (!(((HEAPU16[($6_1 + 50 | 0) >> 1] | 0) & 65535 | 0) & 36 | 0)) { + break label$39 + } + $466_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($466_1 + 36 | 0) >> 2] = HEAP32[($466_1 + 36 | 0) >> 2] | 0 | 34 | 0; + $478_1 = $1792(HEAP32[($6_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 228 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0, (HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($6_1 + 200 | 0) >> 2] | 0 | 0) | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 26 | 0) >> 1] = $478_1; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[($6_1 + 200 | 0) >> 2] | 0; + HEAP32[($6_1 + 56 | 0) >> 2] = 0; + label$40 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$40 + } + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 48 | 0; + label$41 : { + if (!($1735(HEAP32[($6_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0 | 0) | 0)) { + break label$41 + } + break label$8; + } + $500_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $501_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $502_1 = HEAP32[($501_1 + 48 | 0) >> 2] | 0; + $503_1 = HEAPU16[($501_1 + 40 | 0) >> 1] | 0; + HEAP16[($501_1 + 40 | 0) >> 1] = $503_1 + 1 | 0; + HEAP32[($502_1 + (($503_1 & 65535 | 0) << 2 | 0) | 0) >> 2] = $500_1; + $511_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($511_1 + 36 | 0) >> 2] = HEAP32[($511_1 + 36 | 0) >> 2] | 0 | 16 | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 28 | 0) >> 1] = 1; + } + break label$38; + } + $516_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($516_1 + 36 | 0) >> 2] = HEAP32[($516_1 + 36 | 0) >> 2] | 0 | 18 | 0; + $528_1 = $1792(HEAP32[($6_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 228 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0, (HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($6_1 + 200 | 0) >> 2] | 0 | 0) | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 28 | 0) >> 1] = $528_1; + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[($6_1 + 200 | 0) >> 2] | 0; + label$42 : { + label$43 : { + if (!((HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 32 | 0)) { + break label$43 + } + $547_1 = HEAP32[((HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) - 2 | 0) << 2 | 0) | 0) >> 2] | 0; + break label$42; + } + $547_1 = 0; + } + HEAP32[($6_1 + 52 | 0) >> 2] = $547_1; + } + } + } + } + label$44 : { + label$45 : { + if (!((HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 2 | 0)) { + break label$45 + } + $1793(HEAP32[($6_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0) | 0; + break label$44; + } + $560_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $563_1 = (HEAPU16[($560_1 + 24 | 0) >> 1] | 0) + 1 | 0; + HEAP16[($560_1 + 24 | 0) >> 1] = $563_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $563_1 & 65535 | 0; + $568_1 = 16; + label$46 : { + label$47 : { + if (!((((HEAPU16[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $568_1 | 0) >> $568_1 | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$47 + } + $586_1 = 16; + if (!((((HEAPU16[((HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0) << $586_1 | 0) >> $586_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$47 + } + $596_1 = 16; + $599_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $601_1 = 16; + HEAP16[($599_1 + 22 | 0) >> 1] = (((HEAPU16[($599_1 + 22 | 0) >> 1] | 0) << $601_1 | 0) >> $601_1 | 0) + (((HEAPU16[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $596_1 | 0) >> $596_1 | 0) | 0; + $606_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $608_1 = 16; + HEAP16[($606_1 + 22 | 0) >> 1] = (((HEAPU16[($606_1 + 22 | 0) >> 1] | 0) << $608_1 | 0) >> $608_1 | 0) - (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0; + break label$46; + } + $619_1 = 16; + $631_1 = 16; + $635_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $637_1 = 16; + HEAP16[($635_1 + 22 | 0) >> 1] = (((HEAPU16[($635_1 + 22 | 0) >> 1] | 0) << $637_1 | 0) >> $637_1 | 0) + ((((HEAPU16[((HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $619_1 | 0) >> $619_1 | 0) - (((HEAPU16[((HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 16 | 0) >> 2] | 0) - 1 | 0) << 1 | 0) | 0) >> 1] | 0) << $631_1 | 0) >> $631_1 | 0) | 0) | 0; + label$48 : { + if (!(((HEAPU16[($6_1 + 50 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$48 + } + $646_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $648_1 = 16; + HEAP16[($646_1 + 22 | 0) >> 1] = (((HEAPU16[($646_1 + 22 | 0) >> 1] | 0) << $648_1 | 0) >> $648_1 | 0) + 10 | 0; + } + } + } + $655_1 = 16; + $662_1 = 16; + $670_1 = 16; + HEAP16[($6_1 + 48 | 0) >> 1] = ((((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $655_1 | 0) >> $655_1 | 0) + 1 | 0) + ((Math_imul(((HEAPU16[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $662_1 | 0) >> $662_1 | 0, 15) | 0) / (((HEAPU16[((HEAP32[((HEAP32[($6_1 + 228 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $670_1 | 0) >> $670_1 | 0 | 0) | 0) | 0; + $677_1 = 16; + $680_1 = 16; + $683_1 = $1667(((HEAPU16[($6_1 + 60 | 0) >> 1] | 0) << $677_1 | 0) >> $677_1 | 0 | 0, ((HEAPU16[($6_1 + 48 | 0) >> 1] | 0) << $680_1 | 0) >> $680_1 | 0 | 0) | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 20 | 0) >> 1] = $683_1; + label$49 : { + if ((HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 320 | 0) { + break label$49 + } + $693_1 = 16; + $698_1 = 16; + $701_1 = 16; + $704_1 = $1667(((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $698_1 | 0) >> $698_1 | 0 | 0, (((((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $693_1 | 0) >> $693_1 | 0) + 16 | 0) << $701_1 | 0) >> $701_1 | 0 | 0) | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 20 | 0) >> 1] = $704_1; + } + HEAP16[($6_1 + 46 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0; + $709_1 = 16; + $714_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $716_1 = 16; + HEAP16[($714_1 + 20 | 0) >> 1] = (((HEAPU16[($714_1 + 20 | 0) >> 1] | 0) << $716_1 | 0) >> $716_1 | 0) + ((((HEAPU16[($6_1 + 222 | 0) >> 1] | 0) << $709_1 | 0) >> $709_1 | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) | 0; + $721_1 = 16; + $726_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $728_1 = 16; + HEAP16[($726_1 + 22 | 0) >> 1] = (((HEAPU16[($726_1 + 22 | 0) >> 1] | 0) << $728_1 | 0) >> $728_1 | 0) + ((((HEAPU16[($6_1 + 222 | 0) >> 1] | 0) << $721_1 | 0) >> $721_1 | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) | 0; + $736_1 = 16; + $1780(HEAP32[((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, ((HEAPU16[($6_1 + 62 | 0) >> 1] | 0) << $736_1 | 0) >> $736_1 | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1777(HEAP32[($6_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$50 : { + label$51 : { + if (!((HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 2 | 0)) { + break label$51 + } + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAPU16[($6_1 + 70 | 0) >> 1] | 0; + break label$50; + } + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAPU16[($6_1 + 46 | 0) >> 1] | 0; + } + label$52 : { + if ((HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 16 | 0) { + break label$52 + } + if (!(((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) < ((HEAPU16[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$52 + } + $771_1 = 16; + $776_1 = 16; + $1781(HEAP32[($6_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0, (((((HEAPU16[($6_1 + 222 | 0) >> 1] | 0) << $771_1 | 0) >> $771_1 | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) << $776_1 | 0) >> $776_1 | 0 | 0) | 0; + } + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAPU16[($6_1 + 70 | 0) >> 1] | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1769($6_1 + 96 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 200 | 0) >> 2] = wasm2js_i32$1; + continue label$6; + } + break label$6; + }; + i64toi32_i32$0 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $2703_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $2703_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 24 | 0) >> 1] = HEAPU16[($6_1 + 84 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 26 | 0) >> 1] = HEAPU16[($6_1 + 82 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 28 | 0) >> 1] = HEAPU16[($6_1 + 80 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 42 | 0) >> 1] = HEAPU16[($6_1 + 78 | 0) >> 1] | 0; + HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAPU16[($6_1 + 70 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 40 | 0) >> 1] = HEAPU16[($6_1 + 86 | 0) >> 1] | 0; + label$53 : { + if (!(((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0 | 0) == ((HEAPU16[($6_1 + 78 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$53 + } + if (!((((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0 | 0) < ((HEAPU16[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$53 + } + if (!(((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0 | 0) == ((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$53 + } + $118_1 = HEAP32[($6_1 + 224 | 0) >> 2] | 0; + if ((((HEAPU8[($118_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($118_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 6 | 0) & 1 | 0) & 65535 | 0) { + break label$53 + } + $119_1 = HEAP32[($6_1 + 224 | 0) >> 2] | 0; + if (!((((HEAPU8[($119_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($119_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0)) { + break label$53 + } + if (((HEAPU16[((HEAP32[($6_1 + 208 | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0) { + break label$53 + } + $871_1 = 16; + if (!((((HEAPU16[((HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0) << 1 | 0) | 0) >> 1] | 0) << $871_1 | 0) >> $871_1 | 0 | 0) >= (42 | 0) & 1 | 0)) { + break label$53 + } + $887_1 = $1735(HEAP32[($6_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0 | 0) | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = $887_1; + if ($887_1) { + break label$53 + } + $889_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $891_1 = 1; + HEAP16[($889_1 + 24 | 0) >> 1] = (HEAPU16[($889_1 + 24 | 0) >> 1] | 0) + $891_1 | 0; + $893_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP16[($893_1 + 42 | 0) >> 1] = (HEAPU16[($893_1 + 42 | 0) >> 1] | 0) + $891_1 | 0; + $896_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $897_1 = HEAP32[($896_1 + 48 | 0) >> 2] | 0; + $898_1 = HEAPU16[($896_1 + 40 | 0) >> 1] | 0; + HEAP16[($896_1 + 40 | 0) >> 1] = $898_1 + $891_1 | 0; + HEAP32[($897_1 + (($898_1 & 65535 | 0) << 2 | 0) | 0) >> 2] = 0; + $905_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($905_1 + 36 | 0) >> 2] = HEAP32[($905_1 + 36 | 0) >> 2] | 0 | 32768 | 0; + $918_1 = 16; + $932_1 = 16; + HEAP16[($6_1 + 14 | 0) >> 1] = (((HEAPU16[((HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0) << $918_1 | 0) >> $918_1 | 0) - (((HEAPU16[((HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0) << 1 | 0) | 0) >> 1] | 0) << $932_1 | 0) >> $932_1 | 0) | 0; + $937_1 = 16; + $940_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $942_1 = 16; + HEAP16[($940_1 + 22 | 0) >> 1] = (((HEAPU16[($940_1 + 22 | 0) >> 1] | 0) << $942_1 | 0) >> $942_1 | 0) - (((HEAPU16[($6_1 + 14 | 0) >> 1] | 0) << $937_1 | 0) >> $937_1 | 0) | 0; + $947_1 = 16; + HEAP16[($6_1 + 14 | 0) >> 1] = (((HEAPU16[($6_1 + 14 | 0) >> 1] | 0) << $947_1 | 0) >> $947_1 | 0) + 5 | 0; + $956_1 = 16; + $960_1 = 16; + $964_1 = 16; + $1781(HEAP32[($6_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0, (((((HEAPU16[($6_1 + 14 | 0) >> 1] | 0) << $956_1 | 0) >> $956_1 | 0) + (((HEAPU16[($6_1 + 222 | 0) >> 1] | 0) << $960_1 | 0) >> $960_1 | 0) | 0) << $964_1 | 0) >> $964_1 | 0 | 0) | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAPU16[($6_1 + 70 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 24 | 0) >> 1] = HEAPU16[($6_1 + 84 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 42 | 0) >> 1] = HEAPU16[($6_1 + 78 | 0) >> 1] | 0; + HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 236 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + } + $976_1 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + global$0 = $6_1 + 240 | 0; + return $976_1 | 0; + } + + function $1782($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP16[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 1] = HEAPU16[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 1] | 0; + $3288((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0 | 0, ((HEAPU16[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0) << 4 | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $1783($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $177$hi = 0, $178$hi = 0, $183$hi = 0, $184$hi = 0, $75_1 = 0, $22_1 = 0, $27_1 = 0, $175$hi = 0, $176$hi = 0, $41_1 = 0, $45_1 = 0, $181$hi = 0, $182$hi = 0, $78_1 = 0, $106_1 = 0, $119_1 = 0, $141_1 = 0, $145_1 = 0, $159_1 = 0, $163_1 = 0, $175_1 = 0, $263_1 = 0, $177_1 = 0, $270_1 = 0, $181_1 = 0, $312_1 = 0, $183_1 = 0, $321_1 = 0, $525_1 = 0; + $6_1 = global$0 - 32 | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($6_1 + 14 | 0) >> 1] = $2_1; + HEAP16[($6_1 + 12 | 0) >> 1] = $3_1; + HEAP16[($6_1 + 10 | 0) >> 1] = HEAPU16[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 1] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : while (1) { + if (!(((HEAPU16[($6_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + $22_1 = 16; + $27_1 = 16; + label$5 : { + if (!((((HEAPU16[($6_1 + 14 | 0) >> 1] | 0) << $22_1 | 0) >> $22_1 | 0 | 0) <= (((HEAPU16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $27_1 | 0) >> $27_1 | 0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $175_1 = i64toi32_i32$0; + $175$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $176$hi = i64toi32_i32$0; + i64toi32_i32$0 = $175$hi; + i64toi32_i32$0 = $176$hi; + $263_1 = i64toi32_i32$1; + i64toi32_i32$0 = $175$hi; + i64toi32_i32$2 = $175_1; + i64toi32_i32$1 = $176$hi; + i64toi32_i32$3 = $263_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $177_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $177$hi = i64toi32_i32$1; + i64toi32_i32$0 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $178$hi = i64toi32_i32$2; + i64toi32_i32$2 = $177$hi; + i64toi32_i32$2 = $178$hi; + i64toi32_i32$2 = $177$hi; + i64toi32_i32$2 = $178$hi; + $270_1 = i64toi32_i32$1; + i64toi32_i32$2 = $177$hi; + i64toi32_i32$0 = $177_1; + i64toi32_i32$1 = $178$hi; + i64toi32_i32$3 = $270_1; + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$5 + } + break label$2; + } + $41_1 = 16; + $45_1 = 16; + label$6 : { + if (!((((HEAPU16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $41_1 | 0) >> $41_1 | 0 | 0) <= (((HEAPU16[($6_1 + 14 | 0) >> 1] | 0) << $45_1 | 0) >> $45_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$3 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $181_1 = i64toi32_i32$0; + $181$hi = i64toi32_i32$2; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $182$hi = i64toi32_i32$0; + i64toi32_i32$0 = $181$hi; + i64toi32_i32$0 = $182$hi; + $312_1 = i64toi32_i32$2; + i64toi32_i32$0 = $181$hi; + i64toi32_i32$3 = $181_1; + i64toi32_i32$2 = $182$hi; + i64toi32_i32$1 = $312_1; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $183_1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $183$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $184$hi = i64toi32_i32$3; + i64toi32_i32$3 = $183$hi; + i64toi32_i32$3 = $184$hi; + i64toi32_i32$3 = $183$hi; + i64toi32_i32$3 = $184$hi; + $321_1 = i64toi32_i32$2; + i64toi32_i32$3 = $183$hi; + i64toi32_i32$0 = $183_1; + i64toi32_i32$2 = $184$hi; + i64toi32_i32$1 = $321_1; + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP16[($6_1 + 10 | 0) >> 1] = (HEAPU16[($6_1 + 10 | 0) >> 1] | 0) + -1 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 16 | 0; + continue label$4; + }; + } + label$7 : { + label$8 : { + if (!(((HEAPU16[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$8 + } + $75_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $78_1 = HEAPU16[$75_1 >> 1] | 0; + HEAP16[$75_1 >> 1] = $78_1 + 1 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = ($75_1 + 8 | 0) + (($78_1 & 65535 | 0) << 4 | 0) | 0; + HEAP16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 1] = HEAPU16[($6_1 + 12 | 0) >> 1] | 0; + break label$7; + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0; + HEAP16[($6_1 + 10 | 0) >> 1] = 1; + label$9 : { + label$10 : while (1) { + if (!(((HEAPU16[($6_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 0) < ((HEAPU16[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$9 + } + $106_1 = 16; + $119_1 = 16; + label$11 : { + if (!((((HEAPU16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $106_1 | 0) >> $106_1 | 0 | 0) > (((HEAPU16[((((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) + (((HEAPU16[($6_1 + 10 | 0) >> 1] | 0) & 65535 | 0) << 4 | 0) | 0) + 8 | 0) >> 1] | 0) << $119_1 | 0) >> $119_1 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 4 | 0) >> 2] = ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) + (((HEAPU16[($6_1 + 10 | 0) >> 1] | 0) & 65535 | 0) << 4 | 0) | 0; + } + HEAP16[($6_1 + 10 | 0) >> 1] = (HEAPU16[($6_1 + 10 | 0) >> 1] | 0) + 1 | 0; + continue label$10; + }; + } + $141_1 = 16; + $145_1 = 16; + label$12 : { + if (!((((HEAPU16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $141_1 | 0) >> $141_1 | 0 | 0) <= (((HEAPU16[($6_1 + 14 | 0) >> 1] | 0) << $145_1 | 0) >> $145_1 | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + } + i64toi32_i32$1 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $525_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $525_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$3; + HEAP16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($6_1 + 14 | 0) >> 1] | 0; + $159_1 = 16; + $163_1 = 16; + label$13 : { + if (!((((HEAPU16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) << $159_1 | 0) >> $159_1 | 0 | 0) > (((HEAPU16[($6_1 + 12 | 0) >> 1] | 0) << $163_1 | 0) >> $163_1 | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 1] = HEAPU16[($6_1 + 12 | 0) >> 1] | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + } + return HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $1784($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 17408 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1024 | 0)) { + break label$3 + } + if (!((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + $42(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 0] = 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + break label$2; + } + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 16384 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + } + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1785($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $42_1 = 0, $48_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = HEAP32[(($1056(HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 32 | 0) >> 2] | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(HEAP32[($5_1 + 28 | 0) >> 2] | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (19 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$3 + } + $118(HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$2; + } + label$4 : { + label$5 : { + if ((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + $42_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $285(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $349($42_1 | 0, 1976 | 0, $5_1 + 16 | 0 | 0); + break label$4; + } + $48_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $349($48_1 | 0, 1976 | 0, $5_1 | 0); + } + } + } + $42(HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + $56_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $56_1 | 0; + } + + function $1786($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0.0, i64toi32_i32$4 = 0, $49_1 = 0.0, $20_1 = 0, $21_1 = 0, $36_1 = 0, $36$hi = 0, $40$hi = 0, $41$hi = 0, $22_1 = 0, $42$hi = 0, $43$hi = 0, i64toi32_i32$6 = 0, $24_1 = 0, $30_1 = 0, $115_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAPF64[($3_1 + 16 | 0) >> 3] = $0_1; + label$1 : { + label$2 : { + if (!(+HEAPF64[($3_1 + 16 | 0) >> 3] <= 1.0 & 1 | 0)) { + break label$2 + } + HEAP16[($3_1 + 30 | 0) >> 1] = 0; + break label$1; + } + label$3 : { + if (!(+HEAPF64[($3_1 + 16 | 0) >> 3] <= 2.0e9 & 1 | 0)) { + break label$3 + } + $49_1 = +HEAPF64[($3_1 + 16 | 0) >> 3]; + label$4 : { + label$5 : { + if (!($49_1 < 18446744073709551615.0 & $49_1 >= 0.0 | 0)) { + break label$5 + } + i64toi32_i32$0 = $49_1; + if (Math_abs(i64toi32_i32$0) >= 1.0) { + if (i64toi32_i32$0 > 0.0) { + $20_1 = ~~Math_min(Math_floor(i64toi32_i32$0 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $20_1 = ~~Math_ceil((i64toi32_i32$0 - +(~~i64toi32_i32$0 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $21_1 = $20_1; + } else { + $21_1 = 0 + } + i64toi32_i32$1 = $21_1; + $36_1 = ~~i64toi32_i32$0 >>> 0; + $36$hi = i64toi32_i32$1; + break label$4; + } + i64toi32_i32$1 = 0; + $36_1 = 0; + $36$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $36$hi; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $937($36_1 | 0, i64toi32_i32$1 | 0) | 0), HEAP16[(wasm2js_i32$0 + 30 | 0) >> 1] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$3 = $3_1 + 16 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $115_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $115_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $40$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $41$hi = i64toi32_i32$1; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $41$hi; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $41$hi; + i64toi32_i32$4 = 52; + i64toi32_i32$5 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $22_1 = i64toi32_i32$1 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$5 | 0; + $22_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$5 | 0) | 0; + } + $42$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $43$hi = i64toi32_i32$2; + i64toi32_i32$2 = $42$hi; + i64toi32_i32$2 = $43$hi; + i64toi32_i32$2 = $42$hi; + i64toi32_i32$1 = $22_1; + i64toi32_i32$3 = $43$hi; + i64toi32_i32$4 = 1022; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$4 | 0; + i64toi32_i32$6 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) + i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 - i64toi32_i32$6 | 0; + HEAP16[($3_1 + 6 | 0) >> 1] = i64toi32_i32$5; + $24_1 = 16; + HEAP16[($3_1 + 30 | 0) >> 1] = Math_imul(((HEAPU16[($3_1 + 6 | 0) >> 1] | 0) << $24_1 | 0) >> $24_1 | 0, 10); + } + $30_1 = 16; + $32_1 = ((HEAPU16[($3_1 + 30 | 0) >> 1] | 0) << $30_1 | 0) >> $30_1 | 0; + global$0 = $3_1 + 32 | 0; + return $32_1 | 0; + } + + function $1787($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $41_1 = 0, $55_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 512 | 0) { + break label$2 + } + break label$1; + } + label$3 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + label$6 : { + if ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 512 | 0) { + break label$6 + } + break label$4; + } + label$7 : { + label$8 : { + if (!($1790(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0; + $41_1 = 16; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 22 | 0) >> 1] = (((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $41_1 | 0) >> $41_1 | 0) - 1 | 0; + break label$7; + } + label$9 : { + if (!($1790(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0; + $55_1 = 16; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 22 | 0) >> 1] = (((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $55_1 | 0) >> $55_1 | 0) + 1 | 0; + } + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$3; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1788($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $159$hi = 0, $160$hi = 0, $165$hi = 0, $166$hi = 0, $171$hi = 0, $172$hi = 0, $157$hi = 0, $158$hi = 0, $163$hi = 0, $164$hi = 0, $70_1 = 0, $75_1 = 0, $85_1 = 0, $90_1 = 0, $100_1 = 0, $105_1 = 0, $169$hi = 0, $170$hi = 0, $122_1 = 0, $127_1 = 0, $137_1 = 0, $142_1 = 0, $157_1 = 0, $292_1 = 0, $159_1 = 0, $301_1 = 0, $163_1 = 0, $317_1 = 0, $165_1 = 0, $326_1 = 0, $169_1 = 0, $434_1 = 0, $171_1 = 0, $443_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + label$6 : { + if (((HEAPU8[((HEAP32[$4_1 >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + break label$6 + } + if (!(((HEAPU8[((HEAP32[$4_1 >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + } + break label$4; + } + label$7 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 36 | 0) >> 2] | 0) & 16384 | 0)) { + break label$7 + } + if ((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) & 65535 | 0) { + break label$7 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 512 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $157_1 = i64toi32_i32$0; + $157$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $158$hi = i64toi32_i32$0; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$0 = $158$hi; + $292_1 = i64toi32_i32$1; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$2 = $157_1; + i64toi32_i32$1 = $158$hi; + i64toi32_i32$3 = $292_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $159_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $159$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $160$hi = i64toi32_i32$2; + i64toi32_i32$2 = $159$hi; + i64toi32_i32$2 = $160$hi; + i64toi32_i32$2 = $159$hi; + i64toi32_i32$2 = $160$hi; + $301_1 = i64toi32_i32$1; + i64toi32_i32$2 = $159$hi; + i64toi32_i32$0 = $159_1; + i64toi32_i32$1 = $160$hi; + i64toi32_i32$3 = $301_1; + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$7 + } + break label$2; + } + i64toi32_i32$3 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $163_1 = i64toi32_i32$0; + $163$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $164$hi = i64toi32_i32$0; + i64toi32_i32$0 = $163$hi; + i64toi32_i32$0 = $164$hi; + $317_1 = i64toi32_i32$2; + i64toi32_i32$0 = $163$hi; + i64toi32_i32$3 = $163_1; + i64toi32_i32$2 = $164$hi; + i64toi32_i32$1 = $317_1; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $165_1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $165$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $166$hi = i64toi32_i32$3; + i64toi32_i32$3 = $165$hi; + i64toi32_i32$3 = $166$hi; + i64toi32_i32$3 = $165$hi; + i64toi32_i32$3 = $166$hi; + $326_1 = i64toi32_i32$2; + i64toi32_i32$3 = $165$hi; + i64toi32_i32$0 = $165_1; + i64toi32_i32$2 = $166$hi; + i64toi32_i32$1 = $326_1; + label$8 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$8 + } + $70_1 = 16; + $75_1 = 16; + if (!((((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 18 | 0) >> 1] | 0) << $70_1 | 0) >> $70_1 | 0 | 0) <= (((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $75_1 | 0) >> $75_1 | 0 | 0) & 1 | 0)) { + break label$8 + } + $85_1 = 16; + $90_1 = 16; + if (!((((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 20 | 0) >> 1] | 0) << $85_1 | 0) >> $85_1 | 0 | 0) <= (((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $90_1 | 0) >> $90_1 | 0 | 0) & 1 | 0)) { + break label$8 + } + $100_1 = 16; + $105_1 = 16; + if (!((((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 22 | 0) >> 1] | 0) << $100_1 | 0) >> $100_1 | 0 | 0) <= (((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $105_1 | 0) >> $105_1 | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $169_1 = i64toi32_i32$0; + $169$hi = i64toi32_i32$3; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $170$hi = i64toi32_i32$0; + i64toi32_i32$0 = $169$hi; + i64toi32_i32$0 = $170$hi; + $434_1 = i64toi32_i32$3; + i64toi32_i32$0 = $169$hi; + i64toi32_i32$1 = $169_1; + i64toi32_i32$3 = $170$hi; + i64toi32_i32$2 = $434_1; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $171_1 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $171$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $172$hi = i64toi32_i32$1; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$1 = $172$hi; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$1 = $172$hi; + $443_1 = i64toi32_i32$3; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$0 = $171_1; + i64toi32_i32$3 = $172$hi; + i64toi32_i32$2 = $443_1; + label$9 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$9 + } + $122_1 = 16; + $127_1 = 16; + if (!((((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 20 | 0) >> 1] | 0) << $122_1 | 0) >> $122_1 | 0 | 0) >= (((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $127_1 | 0) >> $127_1 | 0 | 0) & 1 | 0)) { + break label$9 + } + $137_1 = 16; + $142_1 = 16; + if (!((((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 22 | 0) >> 1] | 0) << $137_1 | 0) >> $137_1 | 0 | 0) >= (((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $142_1 | 0) >> $142_1 | 0 | 0) & 1 | 0)) { + break label$9 + } + break label$2; + } + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) + 52 | 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1789($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $22_1 = 0, $23_1 = 0, $24_1 = 0, $28_1 = 0, $31_1 = 0, $34_1 = 0, $37_1 = 0, $127_1 = 0, $147_1 = 0, $157_1 = 0, $167_1 = 0, $177_1 = 0, $63_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + $1784(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (!($1735(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[$5_1 >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $22_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $23_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $23_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $127_1 = i64toi32_i32$0; + i64toi32_i32$0 = $22_1; + HEAP32[i64toi32_i32$0 >> 2] = $127_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $24_1 = 40; + HEAP32[(i64toi32_i32$0 + $24_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $24_1 | 0) >> 2] | 0; + $28_1 = 32; + i64toi32_i32$2 = i64toi32_i32$2 + $28_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $147_1 = i64toi32_i32$1; + i64toi32_i32$1 = $22_1 + $28_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $147_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $31_1 = 24; + i64toi32_i32$2 = $23_1 + $31_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $157_1 = i64toi32_i32$0; + i64toi32_i32$0 = $22_1 + $31_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $157_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $34_1 = 16; + i64toi32_i32$2 = $23_1 + $34_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $167_1 = i64toi32_i32$1; + i64toi32_i32$1 = $22_1 + $34_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $167_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $37_1 = 8; + i64toi32_i32$2 = $23_1 + $37_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $177_1 = i64toi32_i32$0; + i64toi32_i32$0 = $22_1 + $37_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $177_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $3288(HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) << 2 | 0 | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 36 | 0) >> 2] | 0) & 1024 | 0)) { + break label$4 + } + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 28 | 0) >> 0] = 0; + break label$3; + } + label$5 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 36 | 0) >> 2] | 0) & 16384 | 0)) { + break label$5 + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 32 | 0) >> 2] = 0; + } + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + $63_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $63_1 | 0; + } + + function $1790($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $45_1 = 0, $50_1 = 0, $60_1 = 0, $65_1 = 0, $76_1 = 0, $81_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) - ((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0) >= (((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) - ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) & 65535 | 0 | 0) > ((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $45_1 = 16; + $50_1 = 16; + label$4 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $45_1 | 0) >> $45_1 | 0 | 0) >= (((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $50_1 | 0) >> $50_1 | 0 | 0) & 1 | 0)) { + break label$4 + } + $60_1 = 16; + $65_1 = 16; + label$5 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $60_1 | 0) >> $60_1 | 0 | 0) > (((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $65_1 | 0) >> $65_1 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $76_1 = 16; + $81_1 = 16; + label$6 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $76_1 | 0) >> $76_1 | 0 | 0) > (((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $81_1 | 0) >> $81_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + break label$9; + } + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + break label$11; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$12; + }; + } + label$14 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + -1 | 0; + continue label$8; + }; + } + label$15 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 64 | 0)) { + break label$15 + } + if ((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 64 | 0) { + break label$15 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $1791($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0, $35_1 = 0, $47_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $31_1 = 16; + $35_1 = 16; + if (!(((($1329(HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $31_1 | 0) >> $31_1 | 0 | 0) | 0) << $35_1 | 0) >> $35_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] = 1; + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $47_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $47_1 | 0; + } + + function $1792($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $25_1 = 0, $99_1 = 0, $111_1 = 0, $143_1 = 0, $151_1 = 0, $156_1 = 0, $160_1 = 0, $194_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1432(HEAP32[((HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0) - (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + $25_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + break label$1; + } + $25_1 = ((HEAPU16[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0) - (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0; + } + HEAP32[($7_1 + 24 | 0) >> 2] = $25_1; + HEAP32[($7_1 + 20 | 0) >> 2] = 1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[($7_1 + 18 | 0) >> 0] = 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[((HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$6 + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + break label$5; + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + } + label$7 : { + label$8 : { + if (((HEAPU8[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0) { + break label$8 + } + if ((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$8 + } + $99_1 = 16; + $111_1 = 16; + if ((((HEAPU16[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $99_1 | 0) >> $99_1 | 0 | 0) != (((HEAPU16[((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) << 1 | 0) | 0) >> 1] | 0) << $111_1 | 0) >> $111_1 | 0 | 0) & 1 | 0) { + break label$8 + } + if (!(((HEAPU8[((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + } + break label$3; + } + $143_1 = 24; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1544(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, (($1543(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0) << $143_1 | 0) >> $143_1 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 19 | 0) >> 0] = wasm2js_i32$1; + $151_1 = 16; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1498(HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $151_1 | 0) >> $151_1 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 18 | 0) >> 0] = wasm2js_i32$1; + $156_1 = 24; + $160_1 = 24; + label$9 : { + if (!((((HEAPU8[($7_1 + 19 | 0) >> 0] | 0) << $156_1 | 0) >> $156_1 | 0 | 0) != (((HEAPU8[($7_1 + 18 | 0) >> 0] | 0) << $160_1 | 0) >> $160_1 | 0 | 0) & 1 | 0)) { + break label$9 + } + break label$3; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $428(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + break label$3; + } + label$11 : { + if (!($88(HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + break label$3; + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $194_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $194_1 | 0; + } + + function $1793($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $11_1 = 0, $16_1 = 0, $22_1 = 0, $35_1 = 0, $53_1 = 0, $62_1 = 0, $68_1 = 0, $85_1 = 0, $95_1 = 0, $105_1 = 0, $110_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $8_1; + $11_1 = 16; + HEAP32[($7_1 + 4 | 0) >> 2] = ((HEAPU16[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $11_1 | 0) >> $11_1 | 0; + $16_1 = 16; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1794(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 4 | 0) >> 2] | 0) << $16_1 | 0) >> $16_1 | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; + $22_1 = 16; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1794(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, ((HEAPU16[($7_1 + 2 | 0) >> 1] | 0) << $22_1 | 0) >> $22_1 | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) != ($8_1 | 0) & 1 | 0)) { + break label$1 + } + $35_1 = 16; + if (!((((HEAPU16[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $35_1 | 0) >> $35_1 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $53_1 = 16; + if (!((((HEAPU16[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $53_1 | 0) >> $53_1 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $62_1 = 16; + HEAP16[($7_1 + 2 | 0) >> 1] = (((HEAPU16[($7_1 + 2 | 0) >> 1] | 0) << $62_1 | 0) >> $62_1 | 0) - 20 | 0; + } + $68_1 = 0; + HEAP32[($7_1 + 4 | 0) >> 2] = (HEAP32[($7_1 + 4 | 0) >> 2] | 0) - (((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) != ($68_1 | 0) & 1 | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) != ($68_1 | 0) & 1 | 0) | 0) | 0; + $85_1 = 16; + label$2 : { + if (!((((HEAPU16[($7_1 + 2 | 0) >> 1] | 0) << $85_1 | 0) >> $85_1 | 0 | 0) < (10 | 0) & 1 | 0)) { + break label$2 + } + HEAP16[($7_1 + 2 | 0) >> 1] = 10; + } + $95_1 = 16; + label$3 : { + if (!((((HEAPU16[($7_1 + 2 | 0) >> 1] | 0) << $95_1 | 0) >> $95_1 | 0 | 0) < (HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $105_1 = 16; + HEAP32[($7_1 + 4 | 0) >> 2] = ((HEAPU16[($7_1 + 2 | 0) >> 1] | 0) << $105_1 | 0) >> $105_1 | 0; + } + HEAP16[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + $110_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $110_1 | 0; + } + + function $1794($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $26_1 = 0, $30_1 = 0, $41_1 = 0, $47_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP16[($4_1 + 10 | 0) >> 1] = $1_1; + HEAP16[($4_1 + 8 | 0) >> 1] = HEAPU16[($4_1 + 10 | 0) >> 1] | 0; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = 16; + label$2 : { + label$3 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $16_1 | 0) >> $16_1 | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$3 + } + $26_1 = 16; + $30_1 = 16; + HEAP16[($4_1 + 8 | 0) >> 1] = (((HEAPU16[($4_1 + 8 | 0) >> 1] | 0) << $30_1 | 0) >> $30_1 | 0) + (((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $26_1 | 0) >> $26_1 | 0) | 0; + break label$2; + } + label$4 : { + if (((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 0 | 0) { + break label$4 + } + $41_1 = 16; + HEAP16[($4_1 + 8 | 0) >> 1] = (((HEAPU16[($4_1 + 8 | 0) >> 1] | 0) << $41_1 | 0) >> $41_1 | 0) - 20 | 0; + } + } + } + $47_1 = 16; + return ((HEAPU16[($4_1 + 8 | 0) >> 1] | 0) << $47_1 | 0) >> $47_1 | 0 | 0; + } + + function $1795($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + $13_1 = 16; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $13_1 | 0) >> $13_1 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 32819; + break label$1; + } + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 14175; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 4 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1796($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $54_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + label$1 : { + if (!(HEAP32[($8_1 + 12 | 0) >> 2] | 0)) { + break label$1 + } + $51(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, 32800 | 0, 5 | 0); + } + label$2 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$2 + } + $51(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, 32826 | 0, 1 | 0); + } + HEAP32[($8_1 + 4 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!(HEAP32[($8_1 + 4 | 0) >> 2] | 0)) { + break label$5 + } + $51(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, 30108 | 0, 1 | 0); + } + $60(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, $1795(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + (HEAP32[($8_1 + 4 | 0) >> 2] | 0) | 0 | 0) | 0 | 0); + HEAP32[($8_1 + 4 | 0) >> 2] = (HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$6 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$6 + } + $51(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, 5213 | 0, 1 | 0); + } + $54_1 = 1; + $51(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, $54_1 | 0); + label$7 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) > ($54_1 | 0) & 1 | 0)) { + break label$7 + } + $51(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, 32826 | 0, 1 | 0); + } + HEAP32[($8_1 + 4 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + label$10 : { + if (!(HEAP32[($8_1 + 4 | 0) >> 2] | 0)) { + break label$10 + } + $51(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, 30108 | 0, 1 | 0); + } + $51(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, 5232 | 0, 1 | 0); + HEAP32[($8_1 + 4 | 0) >> 2] = (HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$11 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$11 + } + $51(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, 5213 | 0, 1 | 0); + } + global$0 = $8_1 + 32 | 0; + return; + } + + function $1797($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $17_1 = 0, $73_1 = 0, $179_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1310(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if ((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + $17_1 = 0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $17_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $17_1; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!((HEAP32[(HEAP32[((HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - 1 | 0; + label$6 : { + if (!((HEAP32[(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + $73_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1214(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = $73_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1214(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = $73_1; + } + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $382(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + $382(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + $18(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$8 : { + if (!((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP16[((((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 1] = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + } + } + $179_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $179_1 | 0; + } + + function $1798($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0, $28_1 = 0, $68_1 = 0, $72_1 = 0, $82_1 = 0, $92_1 = 0, $95_1 = 0, $116_1 = 0, $124_1 = 0, $128_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 7 | 0) >> 0] = $1_1; + HEAP32[$4_1 >> 2] = 0; + $8_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) == (65 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$3 : while (1) { + $28_1 = 1; + label$4 : { + if (((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (171 | 0) & 1 | 0) { + break label$4 + } + $28_1 = ((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (170 | 0); + } + label$5 : { + if (!($28_1 & 1 | 0)) { + break label$5 + } + label$6 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (170 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[$4_1 >> 2] = 1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + HEAP8[($4_1 + 6 | 0) >> 0] = HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0; + label$7 : { + if (!(((HEAPU8[($4_1 + 6 | 0) >> 0] | 0) & 255 | 0 | 0) == (173 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[($4_1 + 6 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0; + } + $68_1 = (HEAPU8[($4_1 + 6 | 0) >> 0] | 0) + -115 | 0; + label$8 : { + switch ($68_1 | 0) { + case 37: + $72_1 = 24; + HEAP32[($4_1 + 12 | 0) >> 2] = (((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $72_1 | 0) >> $72_1 | 0 | 0) >= (67 | 0) & 1 | 0; + break label$1; + case 35: + $82_1 = 24; + HEAP32[($4_1 + 12 | 0) >> 2] = (((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $82_1 | 0) >> $82_1 | 0 | 0) >= (67 | 0) & 1 | 0; + break label$1; + case 0: + $92_1 = 0; + label$14 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$14 + } + $95_1 = 24; + $92_1 = (((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $95_1 | 0) >> $95_1 | 0 | 0) == (66 | 0); + } + HEAP32[($4_1 + 12 | 0) >> 2] = $92_1 & 1 | 0; + break label$1; + case 36: + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0; + break label$1; + case 49: + $116_1 = 24; + $124_1 = 0; + label$15 : { + if (!((((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $116_1 | 0) >> $116_1 | 0 | 0) >= (67 | 0) & 1 | 0)) { + break label$15 + } + $128_1 = 16; + $124_1 = (((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $128_1 | 0) >> $128_1 | 0 | 0) < (0 | 0); + } + HEAP32[($4_1 + 12 | 0) >> 2] = $124_1 & 1 | 0; + break label$1; + default: + break label$8; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1799($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $30_1 = 0, $20_1 = 0, $35_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ($1529(0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + $1801(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + $20_1 = $1543(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = $20_1; + HEAP8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] = 164; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 1] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + $30_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($30_1 + 4 | 0) >> 2] = (HEAP32[($30_1 + 4 | 0) >> 2] | 0) & -266241 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $35_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $35_1 | 0; + } + + function $1800($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $28_1 = 0, $45_1 = 0, $48_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $28_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $28_1 | 0) >> $28_1 | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $1801(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $45_1 = 16; + $48_1 = $1498(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $45_1 | 0) >> $45_1 | 0 | 0) | 0; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = $48_1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + } + } + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $1801($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $4_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $32_1 = 0, $35_1 = 0, $38_1 = 0, $41_1 = 0, $44_1 = 0, $120_1 = 0, $140_1 = 0, $150_1 = 0, $160_1 = 0, $170_1 = 0, $180_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $64(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 60 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $26_1 = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0; + $27_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $27_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $120_1 = i64toi32_i32$0; + i64toi32_i32$0 = $26_1; + HEAP32[i64toi32_i32$0 >> 2] = $120_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $28_1 = 48; + HEAP32[(i64toi32_i32$0 + $28_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $28_1 | 0) >> 2] | 0; + $32_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $32_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $140_1 = i64toi32_i32$1; + i64toi32_i32$1 = $26_1 + $32_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $140_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $35_1 = 32; + i64toi32_i32$2 = $27_1 + $35_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $150_1 = i64toi32_i32$0; + i64toi32_i32$0 = $26_1 + $35_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $150_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $38_1 = 24; + i64toi32_i32$2 = $27_1 + $38_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $160_1 = i64toi32_i32$1; + i64toi32_i32$1 = $26_1 + $38_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $160_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $41_1 = 16; + i64toi32_i32$2 = $27_1 + $41_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $170_1 = i64toi32_i32$0; + i64toi32_i32$0 = $26_1 + $41_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $170_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $44_1 = 8; + i64toi32_i32$2 = $27_1 + $44_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $180_1 = i64toi32_i32$1; + i64toi32_i32$1 = $26_1 + $44_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $180_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1802($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $1748(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1803($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $1748(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1804($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + } + $16_1 = 0; + } + return $16_1 | 0; + } + + function $1805($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $108_1 = 0, $23_1 = 0, $116_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 80 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 52 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 48 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$2 + } + $23_1 = HEAP32[(HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + } + $23_1 = 0; + } + HEAP32[($3_1 + 40 | 0) >> 2] = $23_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1358(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1358(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1382(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1382(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($3_1 + 40 | 0) >> 2] | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1379(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1379(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + $366(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) | 0; + $1807(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 72 | 0) >> 2] = HEAP32[($3_1 + 64 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $366(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$5; + }; + } + $367(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 24 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1296(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 54 | 0, HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) | 0; + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (85 | 0) & 1 | 0)) { + break label$7 + } + $367(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) | 0; + break label$6; + } + label$8 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (66 | 0) & 1 | 0)) { + break label$8 + } + $108_1 = 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $108_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $108_1; + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($108_1 | 0) & 1 | 0)) { + break label$9 + } + $116_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1357(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $116_1 | 0, $116_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (94 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $367(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + label$12 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $1807(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + $367(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 86 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0; + $1420(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, -9 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = ($1296(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 16 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0; + break label$11; + } + $366(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) | 0; + } + label$13 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$13 + } + $1277(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + } + } + } + $1806(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0); + $366(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0) - 1 | 0 | 0); + $1277(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0 | 0); + $1383(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0); + label$14 : { + if (!(HEAP32[($3_1 + 40 | 0) >> 2] | 0)) { + break label$14 + } + $1384(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0); + $1384(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0); + } + $1696(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, 1 | 0); + global$0 = $3_1 + 80 | 0; + return; + } + + function $1806($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $262_1 = 0, $27_1 = 0, $166_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1275(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 96 | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + $27_1 = 0; + break label$3; + } + $27_1 = $1804(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($7_1 + 36 | 0) >> 2] = $27_1; + HEAP32[($7_1 + 32 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + label$8 : { + label$9 : { + if ((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0) { + break label$9 + } + if (!((HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (32240 | 0) & 1 | 0)) { + break label$8 + } + } + $367(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($7_1 + 60 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0 | 0) | 0; + break label$7; + } + $367(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($7_1 + 60 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0 | 0) | 0; + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + label$10 : { + label$11 : { + if (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) { + break label$11 + } + if (!((HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4096 | 0)) { + break label$11 + } + if (!(((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (90 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + label$13 : { + if (HEAP32[($7_1 + 64 | 0) >> 2] | 0) { + break label$13 + } + $366(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 82 | 0, (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 1 | 0 | 0, 1 | 0) | 0; + $366(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 78 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, 2 | 0, (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 2 | 0 | 0) | 0; + $366(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 2 | 0 | 0) | 0; + break label$12; + } + $353(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 24 | 0, HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + $1288(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 123 | 0, HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0) - 2 | 0 | 0); + } + $1277(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + break label$10; + } + label$14 : { + label$15 : { + if (!(HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0)) { + break label$15 + } + $366(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 82 | 0, ((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0 | 0, 1 | 0) | 0; + break label$14; + } + label$16 : { + if (!((HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (74 | 0) & 1 | 0)) { + break label$16 + } + $166_1 = 0; + HEAP32[($7_1 + 24 | 0) >> 2] = $166_1; + label$17 : { + if (!((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != ($166_1 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $367(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $1383(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + } + label$18 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 96 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1379(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $1380(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 0 | 0, 0 & 255 | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1467(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1467(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($7_1 + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$19 + } + label$21 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$21 + } + if (!((HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 20 | 0; + continue label$20; + }; + } + } + label$22 : { + if (!((HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0)) { + break label$22 + } + $262_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1675(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 81 | 0, $262_1 | 0, $262_1 | 0, $262_1 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, -2 | 0) | 0; + } + $367(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 64 | 0) >> 2] | 0 ? 154 : 155) | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + $1420(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, -8 | 0); + $354(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) & 255 | 0) & 65535 | 0 | 0); + label$23 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 96 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$23 + } + $1384(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + } + label$24 : { + if (!(HEAP32[($7_1 + 24 | 0) >> 2] | 0)) { + break label$24 + } + $1277(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0); + } + } + } + } + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $7_1 + 80 | 0; + return; + } + + function $1807($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $33_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $24_1 = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $33_1 = HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + break label$2; + } + $33_1 = 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = $24_1 + $33_1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $367(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1808($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + return; + } + + function $1809($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $13_1 = 0, $16_1 = 0, $37_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $13_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $16_1 = (HEAP32[($13_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($13_1 + 44 | 0) >> 2] = $16_1; + HEAP32[$7_1 >> 2] = $16_1; + label$1 : { + if (!((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1702(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + } + $367(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, 91 | 0, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + (HEAP32[($7_1 + 8 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($7_1 + 12 | 0) >> 2] | 0) - (HEAP32[($7_1 + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[$7_1 >> 2] | 0 | 0) | 0; + $37_1 = HEAP32[$7_1 >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $37_1 | 0; + } + + function $1810($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $17_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP16[($5_1 + 28 | 0) >> 1] = 1; + HEAP32[($5_1 + 12 | 0) >> 2] = 75; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $1547($5_1 + 8 | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0; + $17_1 = (HEAPU16[($5_1 + 28 | 0) >> 1] | 0) & 65535 | 0; + global$0 = $5_1 + 48 | 0; + return $17_1 | 0; + } + + function $1811($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$4 : { + if (!(($1529(0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, -1 | 0) | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1675(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!($1717(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$6 + } + HEAP16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 1] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1546(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $55_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $55_1 | 0; + } + + function $1812($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $17_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $15_1 = $1442(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 20 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0 | 0, $4_1 + 4 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = $15_1; + $17_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $17_1 | 0; + } + + function $1813($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $17_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $15_1 = $1442(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, 16 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0 | 0, $4_1 + 4 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = $15_1; + $17_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $17_1 | 0; + } + + function $1814($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $50_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[$4_1 >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!(($1631(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[$4_1 >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $50_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $50_1 | 0; + } + + function $1815($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $40_1 = 0; + $6_1 = global$0 - 32 | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + $40_1 = 16; + label$5 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) & 1 | 0)) { + break label$5 + } + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + return HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $1816($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $28_1 = 0, $51_1 = 0, $98_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + $28_1 = 16; + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $28_1 | 0) >> $28_1 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : { + if ((HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$7 + } + $51_1 = 16; + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $51_1 | 0) >> $51_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + if (!(HEAP32[($6_1 + 28 | 0) >> 2] | 0)) { + break label$6 + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 20) | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!((0 | 0) == ($88(HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + break label$8; + } + label$11 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + } + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $98_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $98_1 | 0; + } + + function $1817($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $34_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (HEAP32[((HEAP32[(HEAP32[(($1056(HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + if ((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 4097 | 0) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1 | 0)) { + break label$4 + } + $34_1 = 0; + label$5 : { + if ($783(HEAP32[$4_1 >> 2] | 0 | 0) | 0) { + break label$5 + } + $34_1 = ((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + HEAP32[($4_1 + 12 | 0) >> 2] = $34_1 & 1 | 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1579(HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $48_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $48_1 | 0; + } + + function $1818($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $17_1 = 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1382(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, 55 | 0, (HEAP32[$3_1 >> 2] | 0) + 2 | 0 | 0, ($1296(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0) + 7 | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0) | 0; + $1462(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, $17_1 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, 97 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $355(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, 5 | 0, 33680 | 0, $17_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == ($17_1 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[$3_1 >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = (HEAP32[$3_1 >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = (HEAP32[$3_1 >> 2] | 0) - 1 | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] = (HEAP32[$3_1 >> 2] | 0) + 1 | 0; + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 62 | 0) >> 1] = 8; + $1383(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $1819($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $17_1 = 0, $30_1 = 0, $40_1 = 0, $65_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$1; + } + $17_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 12 | 0) >> 2] = $17_1; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0; + label$3 : while (1) { + $30_1 = 0; + label$4 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $40_1 = 1; + label$5 : { + if ((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$5 + } + $40_1 = (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + } + $30_1 = $40_1; + } + label$6 : { + if (!($30_1 & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + label$7 : { + if ((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1825(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $65_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $65_1 | 0; + } + + function $1820($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $58$hi = 0, i64toi32_i32$3 = 0, $61$hi = 0, $32_1 = 0, $59$hi = 0, $60$hi = 0, $44_1 = 0, $47_1 = 0, $141_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1275(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1819(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $32_1 = 0; + label$2 : { + if (!((HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $58$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $59$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $60$hi = i64toi32_i32$1; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$3 = 8192; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $61$hi = i64toi32_i32$0; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = $61$hi; + $141_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = $61$hi; + i64toi32_i32$3 = $141_1; + $32_1 = (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0; + } + HEAP32[($8_1 + 12 | 0) >> 2] = $32_1 & 1 | 0; + $41_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $42_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + $43_1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + $44_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + $47_1 = (HEAP32[($44_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($44_1 + 44 | 0) >> 2] = $47_1; + $1278($41_1 | 0, 46 | 0, $42_1 | 0, $43_1 | 0, $47_1 | 0, HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, -4 | 0) | 0; + $354(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 12 | 0) >> 2] | 0) & 255 | 0) & 65535 | 0 | 0); + } + global$0 = $8_1 + 48 | 0; + return; + } + + function $1821($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $392$hi = 0, i64toi32_i32$3 = 0, $52_1 = 0, $56_1 = 0, $87_1 = 0, $91_1 = 0, $180_1 = 0, $184_1 = 0, $234_1 = 0, $238_1 = 0, $257_1 = 0, $261_1 = 0, $273_1 = 0, $278_1 = 0, $393$hi = 0, $394$hi = 0, $396$hi = 0, $361_1 = 0, $263_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11_1 = global$0 - 96 | 0; + global$0 = $11_1; + HEAP32[($11_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 68 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 64 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 60 | 0) >> 2] = $8_1; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $1275(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11_1 + 48 | 0) >> 2] = (HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 1 | 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $1358(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$1 + } + $366(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 47 | 0, (HEAPU8[((HEAP32[($11_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($11_1 + 56 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($11_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $52_1 = 16; + $56_1 = 16; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = (((($1424(HEAP32[(HEAP32[($11_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($11_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($11_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << $52_1 | 0) >> $52_1 | 0 | 0) | 0) << $56_1 | 0) >> $56_1 | 0) + (HEAP32[($11_1 + 68 | 0) >> 2] | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($11_1 + 56 | 0) >> 2] = (HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$4 : { + if (HEAP32[($11_1 + 60 | 0) >> 2] | 0) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[($11_1 + 80 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $1382(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $87_1 = 16; + $91_1 = 16; + $366(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 78 | 0, (((($1424(HEAP32[(HEAP32[($11_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAP32[(HEAP32[($11_1 + 72 | 0) >> 2] | 0) >> 2] | 0) << $87_1 | 0) >> $87_1 | 0 | 0) | 0) << $91_1 | 0) >> $91_1 | 0) + 1 | 0) + (HEAP32[($11_1 + 68 | 0) >> 2] | 0) | 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $366(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 15 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($11_1 + 84 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($11_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + $367(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 144 & 65535 | 0 | 0); + } + $1462(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 84 | 0) >> 2] | 0 | 0, 96 | 0); + $367(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0) | 0) - 2 | 0 | 0); + $1277(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 36 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0); + break label$5; + } + HEAP32[($11_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($11_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $1379(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $1382(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 96 | 0, HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($11_1 + 80 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0) | 0; + $1405(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 80 | 0) >> 2] | 0 | 0); + HEAP32[($11_1 + 56 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $180_1 = 16; + $184_1 = 16; + $366(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 77 | 0, (((($1424(HEAP32[(HEAP32[($11_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($11_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($11_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << $180_1 | 0) >> $180_1 | 0 | 0) | 0) << $184_1 | 0) >> $184_1 | 0) + 1 | 0) + (HEAP32[($11_1 + 68 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($11_1 + 24 | 0) >> 2] | 0) + (HEAP32[($11_1 + 56 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($11_1 + 56 | 0) >> 2] = (HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$10 : { + if (!((HEAP32[($11_1 + 84 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($11_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = (($1296(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0) | 0) + (HEAP32[($11_1 + 28 | 0) >> 2] | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11_1 + 56 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $234_1 = 16; + $238_1 = 16; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = (((($1424(HEAP32[(HEAP32[($11_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($11_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($11_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << $234_1 | 0) >> $234_1 | 0 | 0) | 0) << $238_1 | 0) >> $238_1 | 0) + 1 | 0) + (HEAP32[($11_1 + 68 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11_1 + 8 | 0) >> 2] = (HEAP32[($11_1 + 68 | 0) >> 2] | 0) + 1 | 0; + $257_1 = 16; + $261_1 = 16; + $263_1 = (($1424(HEAP32[((HEAP32[($11_1 + 80 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[((HEAP32[($11_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($11_1 + 56 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $257_1 | 0) >> $257_1 | 0 | 0) | 0) << $261_1 | 0) >> $261_1 | 0; + HEAP32[($11_1 + 8 | 0) >> 2] = (HEAP32[($11_1 + 8 | 0) >> 2] | 0) + $263_1 | 0; + $273_1 = 16; + $278_1 = 16; + label$13 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($11_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($11_1 + 56 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $273_1 | 0) >> $273_1 | 0 | 0) == (((HEAPU16[((HEAP32[($11_1 + 84 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $278_1 | 0) >> $278_1 | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($11_1 + 8 | 0) >> 2] = HEAP32[($11_1 + 68 | 0) >> 2] | 0; + } + $367(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 52 | 0, HEAP32[($11_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 16 & 65535 | 0 | 0); + HEAP32[($11_1 + 56 | 0) >> 2] = (HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + $1282(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) | 0; + } + $1278(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0, $1409(HEAP32[(HEAP32[($11_1 + 92 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 80 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 30 | 0, HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $1383(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0); + $1384(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0); + } + } + label$14 : { + label$15 : { + if (((HEAPU8[((HEAP32[($11_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$15 + } + i64toi32_i32$0 = 0; + $392$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(HEAP32[($11_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $393$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $394$hi = i64toi32_i32$1; + i64toi32_i32$1 = $393$hi; + i64toi32_i32$1 = $394$hi; + i64toi32_i32$1 = $393$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $394$hi; + i64toi32_i32$3 = 524288; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $396$hi = i64toi32_i32$0; + i64toi32_i32$0 = $392$hi; + i64toi32_i32$0 = $396$hi; + i64toi32_i32$0 = $392$hi; + i64toi32_i32$0 = $396$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $392$hi; + i64toi32_i32$3 = 0; + if (((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0) { + break label$15 + } + if ((HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$15 + } + if (((HEAPU8[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$15 + } + $361_1 = 24; + $1522(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, 787 | 0, 2 | 0, 0 | 0, (255 << $361_1 | 0) >> $361_1 | 0 | 0, 4 & 255 | 0 | 0); + break label$14; + } + label$16 : { + if (!((HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$16 + } + if ((HEAPU8[((HEAP32[($11_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0) { + break label$16 + } + $1295(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0); + } + $366(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 151 | 0, (HEAPU8[((HEAP32[($11_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) | 0; + } + $1369(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 116 | 0, HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0) | 0; + global$0 = $11_1 + 96 | 0; + return; + } + + function $1822($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$1; + } + $15_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 16 | 0) >> 2] = $15_1; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0) >> 2] | 0; + label$5 : { + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + if (((HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) == (8 | 0) & 1 | 0) { + break label$6 + } + } + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 26 | 0) >> 0] | 0) & 255 | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$5 + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$3; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $1823($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, i64toi32_i32$1 = 0, $213_1 = 0, i64toi32_i32$0 = 0, $254_1 = 0, $225_1 = 0, $11_1 = 0, $53_1 = 0, $56_1 = 0, $64_1 = 0, $80_1 = 0, $90_1 = 0, $131_1 = 0, $135_1 = 0, $143_1 = 0, $151_1 = 0, $175_1 = 0, $183_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 144 | 0; + global$0 = $10_1; + $11_1 = 0; + HEAP32[($10_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 132 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 128 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 124 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 120 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 116 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 112 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 108 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 140 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($10_1 + 100 | 0) >> 2] = $11_1; + HEAP32[($10_1 + 56 | 0) >> 2] = $11_1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1275(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) < ($11_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $366(HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, 47 | 0, (HEAPU8[((HEAP32[($10_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($10_1 + 104 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($10_1 + 124 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!((HEAP32[($10_1 + 128 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $53_1 = 16; + $56_1 = ((HEAPU16[((HEAP32[((HEAP32[($10_1 + 128 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 104 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $53_1 | 0) >> $53_1 | 0; + break label$4; + } + $56_1 = -1; + } + HEAP16[($10_1 + 38 | 0) >> 1] = $56_1; + $64_1 = 16; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1832(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 116 | 0) >> 2] | 0 | 0, ((HEAPU16[($10_1 + 38 | 0) >> 1] | 0) << $64_1 | 0) >> $64_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $80_1 = HEAP32[((HEAP32[($10_1 + 120 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$6; + } + $80_1 = HEAP32[((HEAP32[($10_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + } + HEAP16[($10_1 + 38 | 0) >> 1] = $80_1; + $90_1 = 16; + HEAP32[($10_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($10_1 + 124 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($10_1 + 38 | 0) >> 1] | 0) << $90_1 | 0) >> $90_1 | 0, 20) | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1217(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, 59 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1197(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1240(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 104 | 0) >> 2] = (HEAP32[($10_1 + 104 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$8 : { + if (!((HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($10_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + label$10 : { + if ((HEAP32[((HEAP32[($10_1 + 132 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$10 + } + $131_1 = 65535; + $135_1 = 16; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1832(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 116 | 0) >> 2] | 0 | 0, ($131_1 << $135_1 | 0) >> $135_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $143_1 = 16; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1833(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, ($131_1 << $143_1 | 0) >> $143_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1197(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, 52 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$9; + } + $151_1 = 0; + HEAP32[($10_1 + 12 | 0) >> 2] = $151_1; + HEAP32[($10_1 + 104 | 0) >> 2] = $151_1; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($10_1 + 128 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP16[($10_1 + 10 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($10_1 + 128 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 104 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $175_1 = 16; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1832(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 116 | 0) >> 2] | 0 | 0, ((HEAPU16[($10_1 + 10 | 0) >> 1] | 0) << $175_1 | 0) >> $175_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $183_1 = 16; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1217(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, 59 | 0, HEAP32[((HEAP32[((HEAP32[($10_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($10_1 + 10 | 0) >> 1] | 0) << $183_1 | 0) >> $183_1 | 0, 20) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1197(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, 45 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1240(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 104 | 0) >> 2] = (HEAP32[($10_1 + 104 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1197(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1240(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + } + $213_1 = $10_1 + 64 | 0; + i64toi32_i32$0 = 0; + $254_1 = 0; + i64toi32_i32$1 = $213_1; + HEAP32[i64toi32_i32$1 >> 2] = $254_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $254_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $213_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $254_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $213_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $254_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($10_1 + 68 | 0) >> 2] = HEAP32[($10_1 + 136 | 0) >> 2] | 0; + HEAP32[($10_1 + 64 | 0) >> 2] = HEAP32[($10_1 + 140 | 0) >> 2] | 0; + $1404($213_1 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0) | 0; + label$13 : { + if (HEAP32[((HEAP32[($10_1 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$13 + } + $225_1 = 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1362(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0, $225_1 | 0, $225_1 | 0, 0 & 65535 | 0 | 0, $225_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, 151 | 0, (HEAPU8[((HEAP32[($10_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) | 0; + label$14 : { + if (!((HEAP32[($10_1 + 60 | 0) >> 2] | 0 | 0) != ($225_1 | 0) & 1 | 0)) { + break label$14 + } + $1373(HEAP32[($10_1 + 60 | 0) >> 2] | 0 | 0); + } + } + $18(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0); + label$15 : { + if (!(HEAP32[($10_1 + 56 | 0) >> 2] | 0)) { + break label$15 + } + $1411(HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0); + } + global$0 = $10_1 + 144 | 0; + return; + } + + function $1824($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $327_1 = 0, $58_1 = 0, i64toi32_i32$2 = 0, $124_1 = 0, $171_1 = 0, $175_1 = 0, $485$hi = 0, $126_1 = 0, $361_1 = 0, $486$hi = 0, $487$hi = 0, $489$hi = 0, $94_1 = 0, $114_1 = 0, $117_1 = 0, $120_1 = 0, $129_1 = 0, $133_1 = 0, $170_1 = 0, $174_1 = 0, $229_1 = 0, $233_1 = 0, $278_1 = 0, $282_1 = 0, $341_1 = 0, $364_1 = 0, $402_1 = 0, $409_1 = 0, $439_1 = 0, $672_1 = 0, $676_1 = 0, $100_1 = 0, $376_1 = 0, $380_1 = 0, $384_1 = 0, $400_1 = 0, $482_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 160 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 152 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 148 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 144 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 140 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 136 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 152 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 124 | 0) >> 2] = (HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + HEAP32[($6_1 + 132 | 0) >> 2] = (HEAPU8[(((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 25 | 0) + (HEAP32[($6_1 + 124 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $485$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $486$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $487$hi = i64toi32_i32$1; + i64toi32_i32$1 = $486$hi; + i64toi32_i32$1 = $487$hi; + i64toi32_i32$1 = $486$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $487$hi; + i64toi32_i32$3 = 524288; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $489$hi = i64toi32_i32$0; + i64toi32_i32$0 = $485$hi; + i64toi32_i32$0 = $489$hi; + i64toi32_i32$0 = $485$hi; + i64toi32_i32$0 = $489$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $485$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 156 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 128 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($6_1 + 124 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$3 : { + if (!(HEAP32[($6_1 + 132 | 0) >> 2] | 0)) { + break label$3 + } + if ((HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + $58_1 = 0; + HEAP32[($6_1 + 112 | 0) >> 2] = $58_1; + HEAP32[($6_1 + 108 | 0) >> 2] = $58_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $58_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $58_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $58_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $58_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $58_1; + label$4 : { + if (!($1464(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 144 | 0) >> 2] | 0 | 0, $6_1 + 112 | 0 | 0, $6_1 + 108 | 0 | 0) | 0)) { + break label$4 + } + HEAP32[($6_1 + 156 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 88 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$3 = 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 33656 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 33660 | 0) >> 2] | 0; + $672_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1 + 72 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $672_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 33664 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 33668 | 0) >> 2] | 0; + $676_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1 + 64 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $676_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $94_1 = HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 88 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$7; + } + $94_1 = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 44 | 0) >> 2] = $94_1; + $100_1 = HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $114_1 = 16; + $117_1 = ((HEAPU16[((HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 88 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $114_1 | 0) >> $114_1 | 0; + break label$9; + } + $120_1 = 16; + $117_1 = ((HEAPU16[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $120_1 | 0) >> $120_1 | 0; + } + $124_1 = 0; + $126_1 = 59; + $129_1 = $6_1 + 56 | 0; + $133_1 = $6_1 + 48 | 0; + $1324($133_1 | 0, HEAP32[($100_1 + Math_imul($117_1, 20) | 0) >> 2] | 0 | 0); + $1324($129_1 | 0, HEAP32[((HEAP32[((HEAP32[(HEAP32[($6_1 + 144 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1197(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, 53 | 0, $1197(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, 139 | 0, $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $126_1 | 0, $6_1 + 72 | 0 | 0, $124_1 | 0) | 0 | 0, $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $126_1 | 0, $133_1 | 0, $124_1 | 0) | 0 | 0) | 0 | 0, $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $126_1 | 0, $129_1 | 0, $124_1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1240(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) != ($124_1 | 0) & 1 | 0)) { + break label$11 + } + $170_1 = 139; + $171_1 = 59; + $174_1 = $6_1 + 48 | 0; + $175_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1197(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, 45 | 0, $1197(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, $170_1 | 0, $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $171_1 | 0, $6_1 + 72 | 0 | 0, $175_1 | 0) | 0 | 0, $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $171_1 | 0, $174_1 | 0, $175_1 | 0) | 0 | 0) | 0 | 0, $1197(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, $170_1 | 0, $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $171_1 | 0, $6_1 + 64 | 0 | 0, $175_1 | 0) | 0 | 0, $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $171_1 | 0, $174_1 | 0, $175_1 | 0) | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1240(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + label$12 : { + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) != (7 | 0) & 1 | 0)) { + break label$12 + } + label$13 : { + if ((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) != (10 | 0) & 1 | 0) { + break label$13 + } + if (!((HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + } + label$14 : { + label$15 : { + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) == (10 | 0) & 1 | 0)) { + break label$15 + } + $229_1 = 59; + $233_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1197(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, 139 | 0, $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $229_1 | 0, $6_1 + 64 | 0 | 0, $233_1 | 0) | 0 | 0, $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $229_1 | 0, $6_1 + 48 | 0 | 0, $233_1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$14; + } + label$16 : { + label$17 : { + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[(HEAP32[($6_1 + 144 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 20) | 0; + label$18 : { + label$19 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$19 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$18; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + label$20 : { + label$21 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1310(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$20; + } + $278_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, 119 | 0, $278_1 | 0, $278_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + break label$16; + } + $282_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, 119 | 0, $282_1 | 0, $282_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1214(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + $1215(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0, $6_1 + 56 | 0 | 0, 0 | 0); + } + HEAP32[($6_1 + 88 | 0) >> 2] = (HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $13(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 120 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($6_1 + 144 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $68(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1217(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, 71 | 0, 4961 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = 2; + } + $327_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1213(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, $1214(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, $327_1 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0, $1222(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, $327_1 | 0, $6_1 + 16 | 0 | 0, $327_1 | 0) | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, $327_1 | 0, $327_1 | 0, $327_1 | 0, $327_1 | 0, $327_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 100 | 0) >> 2] = $327_1; + } + $341_1 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP32[($341_1 + 272 | 0) >> 2] = (HEAP32[($341_1 + 272 | 0) >> 2] | 0) + 1 | 0; + HEAP16[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 276 | 0) >> 1] = 0; + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 116 | 0) >> 2] | 0) + 84 | 0) + 1 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + $361_1 = 1; + $364_1 = (HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 36 | 0; + HEAP32[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 28 | 0) >> 2] = $364_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $364_1; + HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 48 | 0; + $3288(HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) | 0; + $376_1 = $1310(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, $361_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] = $376_1; + $380_1 = $1339(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0, $361_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] = $380_1; + $384_1 = $1338(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, $361_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] = $384_1; + label$25 : { + if (!((HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1197(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + $400_1 = $1310(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 12 | 0) >> 2] = $400_1; + } + } + $402_1 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP32[($402_1 + 272 | 0) >> 2] = (HEAP32[($402_1 + 272 | 0) >> 2] | 0) + -1 | 0; + label$26 : { + label$27 : { + if (!(HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 272 | 0) >> 2] | 0)) { + break label$27 + } + $409_1 = 0; + break label$26; + } + $409_1 = (HEAPU16[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 278 | 0) >> 1] | 0) & 65535 | 0; + } + HEAP16[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 276 | 0) >> 1] = $409_1; + $18(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0); + $18(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0); + $382(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0); + $1139(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0); + label$28 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$28 + } + $1171(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 156 | 0) >> 2] = 0; + break label$1; + } + $439_1 = (HEAP32[($6_1 + 132 | 0) >> 2] | 0) + -7 | 0; + label$29 : { + label$30 : { + switch ($439_1 | 0) { + case 0: + HEAP8[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 0] = 136; + break label$29; + case 3: + label$33 : { + if ((HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$33 + } + HEAP8[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 0] = 126; + break label$29; + } + break; + default: + break label$30; + }; + } + HEAP8[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 0] = 127; + } + HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($6_1 + 124 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 8 | 0) >> 0] = (HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 127 : 126; + } + HEAP32[($6_1 + 156 | 0) >> 2] = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + } + $482_1 = HEAP32[($6_1 + 156 | 0) >> 2] | 0; + global$0 = $6_1 + 160 | 0; + return $482_1 | 0; + } + + function $1825($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $20_1 = 0, $207_1 = 0, $71_1 = 0, $17_1 = 0, $39_1 = 0, $49_1 = 0, $129_1 = 0, $113_1 = 0, $114_1 = 0, $180_1 = 0, $201_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$1; + } + $17_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + } + $20_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 72 | 0) >> 2] = $17_1; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $20_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $20_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $20_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, 24 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if ((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) != ($20_1 | 0) & 1 | 0) { + break label$4 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + break label$3; + } + i64toi32_i32$0 = 0; + HEAP32[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 264 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + $39_1 = $308(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, 28 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = $39_1; + HEAP32[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] = $39_1; + label$5 : { + if ((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + break label$3; + } + i64toi32_i32$0 = 0; + $49_1 = -1; + $1826(HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] = $49_1; + HEAP32[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 2] = $49_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, 280 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if ((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + break label$3; + } + $71_1 = $6_1 + 24 | 0; + i64toi32_i32$0 = 0; + $207_1 = 0; + i64toi32_i32$1 = $71_1; + HEAP32[i64toi32_i32$1 >> 2] = $207_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $207_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $71_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $207_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $71_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $207_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 120 | 0) >> 2] = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 116 | 0) >> 2] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 84 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 148 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 136 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 25 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1275(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[(HEAP32[($6_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $113_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $114_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[(HEAP32[($6_1 + 84 | 0) >> 2] | 0) >> 2] | 0; + $357($113_1 | 0, -1 | 0, $351($114_1 | 0, 33594 | 0, $6_1 | 0) | 0 | 0, -7 | 0); + } + label$9 : { + if (!((HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $129_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1310(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $129_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(($129_1 | 0) == ($1404($6_1 + 24 | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + if ((HEAPU8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$10 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1358(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $1390(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 16 | 0); + } + $18(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0); + } + $1827(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0; + label$11 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$11 + } + $1369(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + $1276(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, 68 | 0) | 0; + $1828(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + label$12 : { + if ((HEAPU8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + if (HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$12 + } + $180_1 = $1829(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 96 | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = $180_1; + } + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0; + $220(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0); + } + $124(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + $13(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 92 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + } + $201_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + global$0 = $6_1 + 96 | 0; + return $201_1 | 0; + } + + function $1826($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + return; + } + + function $1827($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $59_1 = 0, $97_1 = 0, $29_1 = 0, $57_1 = 0, $108_1 = 0, $110_1 = 0, $43_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$4 + } + $29_1 = (HEAPU8[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + break label$3; + } + $29_1 = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) & 255 | 0; + } + HEAP8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 149 | 0) >> 0] = $29_1; + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $43_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $44_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $1278($43_1 | 0, 171 | 0, 2147483647 | 0, 1 | 0, 0 | 0, $351($44_1 | 0, 8191 | 0, $5_1 | 0) | 0 | 0, -7 | 0) | 0; + } + $57_1 = (HEAPU8[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 0] | 0) + -125 | 0; + label$6 : { + label$7 : { + switch ($57_1 | 0) { + case 2: + $59_1 = 0; + $1230(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $1830(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0, $1339(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, $59_1 | 0) | 0 | 0, $1310(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $59_1 | 0) | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 149 | 0) >> 0] | 0) & 255 | 0 | 0, $59_1 | 0, $59_1 | 0, $59_1 | 0); + break label$6; + case 0: + $1232(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $1830(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0, $1338(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0, $1574(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 149 | 0) >> 0] | 0) & 255 | 0 | 0, $1831(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) | 0 | 0); + break label$6; + case 1: + $97_1 = 0; + $1227(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $1830(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0, $1310(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $97_1 | 0) | 0 | 0, $97_1 | 0, $97_1 | 0); + break label$6; + default: + break label$7; + }; + } + $108_1 = $5_1 + 8 | 0; + $110_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1338(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $110_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $1298($108_1 | 0, 4 | 0, $110_1 | 0); + $1210(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $108_1 | 0) | 0; + $1139(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (136 | 0) & 1 | 0)) { + break label$11 + } + $1276(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 124 | 0) | 0; + } + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $5_1 + 64 | 0; + return 0 | 0; + } + + function $1828($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$1; + } + $13(HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1829($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $15_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + $373(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = 0; + $15_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $15_1 | 0; + } + + function $1830($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $291(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1222(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $5_1 | 0, $5_1 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1476(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1229(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + break label$1; + } + $13(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + $55_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $55_1 | 0; + } + + function $1831($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $13_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1233(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $1339(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, $13_1 | 0) | 0 | 0, $1310(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $13_1 | 0) | 0 | 0, $1339(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $13_1 | 0) | 0 | 0, $1310(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $13_1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $32_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $32_1 | 0; + } + + function $1832($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $21_1 = 0, $30_1 = 0, $35_1 = 0, $47_1 = 0, $56_1 = 0, $60_1 = 0, $65_1 = 0, $89_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP16[($6_1 + 18 | 0) >> 1] = $3_1; + HEAP32[$6_1 >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1217(HEAP32[$6_1 >> 2] | 0 | 0, 173 | 0, $7_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$1 + } + $21_1 = 16; + label$2 : { + label$3 : { + if (!((((HEAPU16[($6_1 + 18 | 0) >> 1] | 0) << $21_1 | 0) >> $21_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + $30_1 = 16; + $35_1 = 16; + if (!((((HEAPU16[($6_1 + 18 | 0) >> 1] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) != (((HEAPU16[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $35_1 | 0) >> $35_1 | 0 | 0) & 1 | 0)) { + break label$3 + } + $47_1 = 16; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($6_1 + 18 | 0) >> 1] | 0) << $47_1 | 0) >> $47_1 | 0, 20) | 0; + $56_1 = 16; + $60_1 = 16; + $65_1 = ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((($1424(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, ((HEAPU16[($6_1 + 18 | 0) >> 1] | 0) << $56_1 | 0) >> $56_1 | 0 | 0) | 0) << $60_1 | 0) >> $60_1 | 0) | 0) + 1 | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = $65_1; + HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[$6_1 >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1606(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = 68; + } + } + $89_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $89_1 | 0; + } + + function $1833($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $23_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP16[($6_1 + 18 | 0) >> 1] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1217(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 164 | 0, $7_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 1] = HEAPU16[($6_1 + 18 | 0) >> 1] | 0; + } + $23_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $23_1 | 0; + } + + function $1834($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, $31_1 = 0, $43_1 = 0, $49_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = 16; + label$2 : { + label$3 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + $31_1 = 16; + label$4 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $31_1 | 0) >> $31_1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + $43_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP16[($43_1 + 20 | 0) >> 1] = (HEAPU16[($43_1 + 20 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + } + break label$2; + } + $49_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP16[($49_1 + 20 | 0) >> 1] = (HEAPU16[($49_1 + 20 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0; + } + } + return 0 | 0; + } + + function $1835($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1197(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 75 | 0, $5_1 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 1] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + $19_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $19_1 | 0; + } + + function $1836($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, $31_1 = 0, $40_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + $31_1 = 16; + $40_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP16[($40_1 + 20 | 0) >> 1] = (HEAPU16[($40_1 + 20 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[(((HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $31_1 | 0) >> $31_1 | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) | 0; + } + return 0 | 0; + } + + function $1837($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0, $25_1 = 0, $50_1 = 0, $18_1 = 0, $20_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + $9_1 = 16; + label$1 : { + label$2 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $9_1 | 0) >> $9_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + $20_1 = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + $25_1 = 16; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $25_1 | 0) >> $25_1 | 0, 20) | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $20_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($18_1 | 0, 28578 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = 1555; + break label$1; + } + $36_1 = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($36_1 | 0, 33791 | 0, $5_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = 2579; + } + $50_1 = 24; + $1522(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, (249 << $50_1 | 0) >> $50_1 | 0 | 0, 2 & 255 | 0 | 0); + global$0 = $5_1 + 48 | 0; + return; + } + + function $1838($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $149_1 = 0, $57_1 = 0, $76_1 = 0, $80_1 = 0, $95_1 = 0, $108_1 = 0, $116_1 = 0, $132_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if ((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$3 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 135 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 31 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0; + $1383(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $416(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $57_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + HEAP32[($57_1 + 44 | 0) >> 2] = (HEAP32[($57_1 + 44 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $76_1 = 16; + $80_1 = 16; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = (($1329(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $76_1 | 0) >> $76_1 | 0 | 0) | 0) << $80_1 | 0) >> $80_1 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $95_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $353(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 30 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, $95_1 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 68 | 0, 11 | 0, 2 | 0, $95_1 | 0, 27507 | 0, -1 | 0) | 0; + $1295(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0); + } + } + $108_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1476(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $108_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 24 | 0) >> 2] = $108_1; + label$6 : { + label$7 : while (1) { + $116_1 = 16; + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $116_1 | 0) >> $116_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + $132_1 = 24; + label$8 : { + if (!((((HEAPU8[(((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 24 | 0) >> 2] | 0, 20) | 0) + 13 | 0) >> 0] | 0) << $132_1 | 0) >> $132_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$8 + } + $1288(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 83 | 0, (HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0) | 0; + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + $149_1 = 0; + $1230(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 2 | 0, $149_1 | 0, $149_1 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] = $149_1; + HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] = $149_1; + global$0 = $7_1 + 64 | 0; + return; + } + + function $1839($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $64_1 = 0, $74_1 = 0, $91_1 = 0, $169_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if (((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) != ((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) { + break label$3 + } + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) != ((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[$4_1 >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$5 + } + $64_1 = 16; + $74_1 = 16; + label$7 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $64_1 | 0) >> $64_1 | 0 | 0) != (((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $74_1 | 0) >> $74_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $91_1 = 16; + label$8 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $91_1 | 0) >> $91_1 | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!($1529(0 | 0, HEAP32[(((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[$4_1 >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[$4_1 >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + } + label$10 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$11 : { + if (!($87(HEAP32[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$12 : { + if (!($1529(0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$12 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + } + $169_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $169_1 | 0; + } + + function $1840($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0 | (HEAP32[((HEAP32[$3_1 >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $1841($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $12_1 = 0; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $12_1 = ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0); + } + return $12_1 & 1 | 0 | 0; + } + + function $1842($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$1 = 0, $39_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[i64toi32_i32$1 >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!((HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $39_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $39_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + } + return; + } + + function $1843($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $18_1 = 0, $28_1 = 0, $42_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + $7_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = 24; + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) <= (50 | 0) & 1 | 0)) { + break label$2 + } + $28_1 = 24; + HEAP32[($3_1 + 12 | 0) >> 2] = (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0) - 48 | 0; + break label$1; + } + label$3 : { + if ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 14186 | 0) | 0) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 9684 | 0) | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $42_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $42_1 | 0; + } + + function $1844($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $4_1 = 0, $6_1 = 0, $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $302(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 35253 | 0, -1 | 0); + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + label$6 : { + if (!(($409(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, -1 | 0) | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$6 + } + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 35286 | 0, -1 | 0); + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $398($5_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == ((HEAPU8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + break label$8 + } + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + } + $6_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $4_1 = $5_1 + 8 | 0; + $7_1 = HEAPU8[$6_1 >> 0] | 0 | ((HEAPU8[($6_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($6_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($6_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$4_1 >> 0] = $7_1; + HEAP8[($4_1 + 1 | 0) >> 0] = $7_1 >>> 8 | 0; + HEAP8[($4_1 + 2 | 0) >> 0] = $7_1 >>> 16 | 0; + HEAP8[($4_1 + 3 | 0) >> 0] = $7_1 >>> 24 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $4_1; + label$9 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == ((HEAPU8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] = 0; + } + label$10 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = 0; + } + } + break label$3; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $267(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, ($397(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) == (0 | 0) & 1 | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1845($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6_1 = 0, $87_1 = 0, $89_1 = 0, i64toi32_i32$3 = 0, $90_1 = 0, $93_1 = 0, $96_1 = 0, $379_1 = 0, $175_1 = 0, $380$hi = 0, $381$hi = 0, $382$hi = 0, $383$hi = 0, $275_1 = 0, $299_1 = 0, $41_1 = 0, $59_1 = 0, $588_1 = 0, $598_1 = 0, $608_1 = 0, $618_1 = 0, $181_1 = 0, $200_1 = 0, $350_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 112 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 92 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 76 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 80 | 0) >> 2] = 1352; + } + label$2 : { + if (!((HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 84 | 0) >> 2] = 1352; + } + label$3 : { + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) >= ((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0) + 2 | 0 | 0) & 1 | 0)) { + break label$5 + } + $41_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($41_1 | 0, 35758 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + HEAP32[($5_1 + 96 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if (!($1133(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + $59_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($59_1 | 0, 35795 | 0, $5_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + HEAP32[($5_1 + 96 | 0) >> 2] = (HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == ((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 412 | 0 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, 48 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + break label$3; + } + $87_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + $89_1 = HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $89_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $588_1 = i64toi32_i32$0; + i64toi32_i32$0 = $87_1; + HEAP32[i64toi32_i32$0 >> 2] = $588_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $90_1 = 24; + i64toi32_i32$2 = i64toi32_i32$2 + $90_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $598_1 = i64toi32_i32$1; + i64toi32_i32$1 = $87_1 + $90_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $598_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $93_1 = 16; + i64toi32_i32$2 = $89_1 + $93_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $608_1 = i64toi32_i32$0; + i64toi32_i32$0 = $87_1 + $93_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $608_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $96_1 = 8; + i64toi32_i32$2 = $89_1 + $96_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $618_1 = i64toi32_i32$1; + i64toi32_i32$1 = $87_1 + $96_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $618_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$9; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $70(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 1 | 0) << 4 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + break label$3; + } + } + HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + HEAP32[($5_1 + 60 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = 0; + $379_1 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $379_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $379_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $491(HEAP32[((HEAP32[(HEAP32[($5_1 + 88 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, $5_1 + 68 | 0 | 0, $5_1 + 52 | 0 | 0, $5_1 + 76 | 0 | 0, $5_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($5_1 + 92 | 0) >> 2] | 0)) { + break label$13 + } + label$14 : { + if (!((HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$14 + } + $118(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + } + $263(HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0); + break label$3; + } + HEAP32[($5_1 + 68 | 0) >> 2] = HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 256 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $492(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $175_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAP32[($175_1 + 20 | 0) >> 2] = (HEAP32[($175_1 + 20 | 0) >> 2] | 0) + 1 | 0; + $181_1 = $291(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] = $181_1; + HEAP8[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 89 | 0) >> 0] = 0; + label$15 : { + label$16 : { + if (!((HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) == (19 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($5_1 + 92 | 0) >> 2] = 1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, 35825 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + break label$15; + } + label$17 : { + if (HEAP32[($5_1 + 92 | 0) >> 2] | 0) { + break label$17 + } + $200_1 = $493(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] = $200_1; + label$18 : { + label$19 : { + if ((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$19 + } + HEAP32[($5_1 + 92 | 0) >> 2] = 7; + break label$18; + } + label$20 : { + if (!((HEAPU8[((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 76 | 0) >> 0] | 0) & 255 | 0)) { + break label$20 + } + if (!(((HEAPU8[((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 77 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, 8497 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 92 | 0) >> 2] = 1; + } + } + $127(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $9(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $1453(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 83 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + $1451(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $1451(HEAP32[((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, -1 | 0) | 0 | 0) | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $380$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $381$hi = i64toi32_i32$1; + i64toi32_i32$1 = $380$hi; + i64toi32_i32$1 = $381$hi; + i64toi32_i32$1 = $380$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $381$hi; + i64toi32_i32$3 = 56; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $382$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $383$hi = i64toi32_i32$0; + i64toi32_i32$0 = $382$hi; + i64toi32_i32$0 = $383$hi; + i64toi32_i32$0 = $382$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $383$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $1047(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | i64toi32_i32$3 | 0 | 0) | 0; + } + } + HEAP8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 0] = 3; + label$21 : { + if (HEAP32[($5_1 + 92 | 0) >> 2] | 0) { + break label$21 + } + if (!((HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($5_1 + 92 | 0) >> 2] = 7; + } + $497(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + label$22 : { + if (HEAP32[($5_1 + 92 | 0) >> 2] | 0) { + break label$22 + } + $8(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 164 | 0) >> 0] = 0; + $275_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAP32[($275_1 + 24 | 0) >> 2] = (HEAP32[($275_1 + 24 | 0) >> 2] | 0) & -17 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $501(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, $5_1 + 56 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + } + label$23 : { + if (!(HEAP32[($5_1 + 92 | 0) >> 2] | 0)) { + break label$23 + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0; + label$24 : { + if (!((HEAP32[(((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 44 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + $299_1 = 0; + $207(HEAP32[(((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 44 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 44 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] = $299_1; + HEAP32[(((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 44 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] = $299_1; + } + $141(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + label$25 : { + label$26 : { + label$27 : { + if ((HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0) { + break label$27 + } + if (!((HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) == (3082 | 0) & 1 | 0)) { + break label$26 + } + } + $118(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + $13(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, 8229 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + break label$25; + } + label$28 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$28 + } + $350_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($350_1 | 0, 35854 | 0, $5_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + } + break label$4; + } + break label$3; + } + label$29 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$29 + } + $263(HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, -1 | 0); + $13(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + } + if (!(HEAP32[($5_1 + 92 | 0) >> 2] | 0)) { + break label$3 + } + $284(HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 112 | 0; + return; + } + + function $1846($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (59 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1404(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + HEAP8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] = 115; + } + } + $27_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $27_1 | 0; + } + + function $1847($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $119_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 208 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 204 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 200 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 196 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 196 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 180 | 0) >> 2] = $6_1; + label$1 : { + if (!((HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 192 | 0) >> 2] = 1352; + } + HEAP32[($5_1 + 184 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 188 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 180 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 188 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 184 | 0) >> 2] | 0) << 4 | 0) | 0; + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + label$6 : { + if (!($1133(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + break label$2; + } + } + HEAP32[($5_1 + 184 | 0) >> 2] = (HEAP32[($5_1 + 184 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$7 : { + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 188 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 192 | 0) >> 2] | 0; + $81(128 | 0, $5_1 + 48 | 0 | 0, 36078 | 0, $5_1 | 0) | 0; + break label$8; + } + label$10 : { + if (!((HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 192 | 0) >> 2] | 0; + $81(128 | 0, $5_1 + 48 | 0 | 0, 36099 | 0, $5_1 + 16 | 0 | 0) | 0; + break label$8; + } + label$11 : { + label$12 : { + if ($125(HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$12 + } + if (!($1848(HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + } + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 192 | 0) >> 2] | 0; + $81(128 | 0, $5_1 + 48 | 0 | 0, 36125 | 0, $5_1 + 32 | 0 | 0) | 0; + break label$8; + } + HEAP32[($5_1 + 176 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 188 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($5_1 + 176 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 176 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$15 : { + if (!((HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 176 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 176 | 0) >> 2] | 0) >> 2] | 0; + continue label$14; + }; + } + $119_1 = 0; + $207(HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] = $119_1; + HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 12 | 0) >> 2] = $119_1; + $172(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0); + break label$7; + } + $263(HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0, $5_1 + 48 | 0 | 0, -1 | 0); + } + global$0 = $5_1 + 208 | 0; + return; + } + + function $1848($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function $1849($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0, $53_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $31_1 = 16; + label$4 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $31_1 | 0) >> $31_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((0 | 0) == ($88(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $53_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $53_1 | 0; + } + + function $1850($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $51_1 = 0, $94_1 = 0, $65_1 = 0, $67_1 = 0, $68_1 = 0, $117_1 = 0, $119_1 = 0, $120_1 = 0, $121_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 96 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1275(HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 40 | 0) >> 2] = 1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 88 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[(36208 + ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + HEAP8[(($7_1 + 45 | 0) + (HEAP32[($7_1 + 72 | 0) >> 2] | 0) | 0) >> 0] = 0; + $51_1 = $361(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $51_1; + label$5 : { + label$6 : { + if (!(($51_1 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$7 + } + $65_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + $67_1 = HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] | 0; + $68_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((36208 + ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = $68_1; + HEAP32[$7_1 >> 2] = $67_1; + $1302($65_1 | 0, 36271 | 0, $7_1 | 0); + HEAP32[(($7_1 + 48 | 0) + ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0; + HEAP8[(($7_1 + 45 | 0) + (HEAP32[($7_1 + 72 | 0) >> 2] | 0) | 0) >> 0] = 16; + } + break label$5; + } + $94_1 = $7_1 + 48 | 0; + HEAP32[($94_1 + ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $1393(HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($94_1 + ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + label$8 : { + label$9 : { + if (!((HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $117_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + $119_1 = HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] | 0; + $120_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $121_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = $121_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $120_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $119_1; + $1302($117_1 | 0, 31411 | 0, $7_1 + 16 | 0 | 0); + break label$8; + } + $366(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, 138 | 0, HEAP32[(($7_1 + 48 | 0) + ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($7_1 + 72 | 0) >> 2] = (HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($7_1 + 72 | 0) >> 2] = 0; + label$10 : while (1) { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$1 + } + $353(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, 97 | 0, (HEAP32[($7_1 + 84 | 0) >> 2] | 0) + (HEAP32[($7_1 + 72 | 0) >> 2] | 0) | 0 | 0, HEAP32[(($7_1 + 48 | 0) + ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 3 | 0) | 0; + $354(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, ((HEAPU8[(($7_1 + 45 | 0) + (HEAP32[($7_1 + 72 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0); + HEAP32[($7_1 + 72 | 0) >> 2] = (HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + global$0 = $7_1 + 96 | 0; + return; + } + + function $1851($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $233_1 = 0, $234_1 = 0, $13_1 = 0, $16_1 = 0, $19_1 = 0, $22_1 = 0, $25_1 = 0, $28_1 = 0, $31_1 = 0, $34_1 = 0, $37_1 = 0, $51_1 = 0, $104_1 = 0, $107_1 = 0, $120_1 = 0, $29_1 = 0, $30_1 = 0, $208_1 = 0, $228_1 = 0, $460_1 = 0, $497_1 = 0, i64toi32_i32$0 = 0, $365_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 144 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 132 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 128 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 124 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 120 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 116 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 140 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 92 | 0) >> 2] = -1; + HEAP8[($8_1 + 87 | 0) >> 0] = 1; + $13_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $13_1 + 1 | 0; + HEAP32[($8_1 + 80 | 0) >> 2] = $13_1; + $16_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $16_1 + 1 | 0; + HEAP32[($8_1 + 76 | 0) >> 2] = $16_1; + $19_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $19_1 + 1 | 0; + HEAP32[($8_1 + 72 | 0) >> 2] = $19_1; + $22_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $22_1 + 1 | 0; + HEAP32[($8_1 + 68 | 0) >> 2] = $22_1; + $25_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $25_1 + 1 | 0; + HEAP32[($8_1 + 64 | 0) >> 2] = $25_1; + $28_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $28_1 + 1 | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = $28_1; + $31_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $31_1 + 1 | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = $31_1; + $34_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $34_1 + 1 | 0; + HEAP32[($8_1 + 52 | 0) >> 2] = $34_1; + $37_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $37_1 + 1 | 0; + HEAP32[($8_1 + 48 | 0) >> 2] = $37_1; + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) > (HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $51_1 = HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + break label$1; + } + $51_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 44 | 0) >> 2] = $51_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1275(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + } + break label$3; + } + label$6 : { + if (HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$6 + } + break label$3; + } + label$7 : { + if ($399(36294 | 0, HEAP32[(HEAP32[($8_1 + 136 | 0) >> 2] | 0) >> 2] | 0 | 0, 92 | 0) | 0) { + break label$7 + } + break label$3; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $350(HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!($1283(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, 28 | 0, HEAP32[(HEAP32[($8_1 + 136 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 88 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + break label$3; + } + $1393(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, HEAP32[(HEAP32[($8_1 + 136 | 0) >> 2] | 0) >> 2] | 0 | 0); + $104_1 = HEAP32[($8_1 + 120 | 0) >> 2] | 0; + HEAP32[($8_1 + 120 | 0) >> 2] = $104_1 + 1 | 0; + HEAP32[($8_1 + 104 | 0) >> 2] = $104_1; + $107_1 = HEAP32[($8_1 + 120 | 0) >> 2] | 0; + HEAP32[($8_1 + 120 | 0) >> 2] = $107_1 + 1 | 0; + HEAP32[($8_1 + 108 | 0) >> 2] = $107_1; + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) > (HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $120_1 = HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$9; + } + $120_1 = HEAP32[($8_1 + 120 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] = $120_1; + $1462(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0, 96 | 0); + $1463(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($8_1 + 136 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + label$14 : { + if (!((HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + break label$13; + } + label$15 : { + if (!((HEAP32[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP8[($8_1 + 87 | 0) >> 0] = 0; + } + label$16 : { + label$17 : { + if (!((HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$17 + } + $29_1 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + if (!((((HEAPU8[($29_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($29_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($8_1 + 40 | 0) >> 2] = (HEAPU16[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 136 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 40 | 0) >> 2] | 0) - 1 | 0; + break label$16; + } + HEAP32[($8_1 + 40 | 0) >> 2] = HEAPU16[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 112 | 0) >> 2] | 0) >> 2] | 0; + $30_1 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!((((HEAPU8[($30_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($30_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 3 | 0) & 1 | 0) & 65535 | 0)) { + break label$19 + } + $208_1 = ((HEAPU16[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + break label$18; + } + $208_1 = (HEAP32[($8_1 + 40 | 0) >> 2] | 0) - 1 | 0; + } + HEAP32[($8_1 + 24 | 0) >> 2] = $208_1; + } + $1463(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0; + label$20 : { + label$21 : { + if (!((HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) > ((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + (HEAP32[($8_1 + 24 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$21 + } + $228_1 = HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + break label$20; + } + $228_1 = (HEAP32[($8_1 + 44 | 0) >> 2] | 0) + (HEAP32[($8_1 + 24 | 0) >> 2] | 0) | 0; + } + $233_1 = 0; + $234_1 = 69; + HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 44 | 0) >> 2] = $228_1; + $367(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 96 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) | 0; + $1405(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0); + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, $234_1 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, $234_1 | 0, (HEAPU16[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 92 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, $234_1 | 0, HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 448 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0) | 0; + $1514(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, $233_1 | 0, (HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, 4 | 0, 36304 | 0, $233_1 | 0) | 0; + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, $234_1 | 0, $233_1 | 0, HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1296(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) > ($233_1 | 0) & 1 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1358(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $365(HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$23 + } + break label$13; + } + $1276(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 11 | 0) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1296(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$24 + } + if (!(((HEAPU16[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$24 + } + if (!((HEAPU8[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$24 + } + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 51 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($8_1 + 96 | 0) >> 2] = 0; + label$25 : { + label$26 : while (1) { + if (!((HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1326(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 96 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 69 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) | 0; + $365_1 = $1278(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 52 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($8_1 + 44 | 0) >> 2] | 0) + (HEAP32[($8_1 + 96 | 0) >> 2] | 0) | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, -2 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 96 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $365_1; + $354(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 128 & 65535 | 0 | 0); + HEAP32[($8_1 + 96 | 0) >> 2] = (HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 1 | 0; + continue label$26; + }; + } + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 69 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 32 | 0) >> 2] | 0) - 1 | 0 | 0); + HEAP32[($8_1 + 96 | 0) >> 2] = 0; + label$27 : { + label$28 : while (1) { + if (!((HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + $1277(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 96 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + $367(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 44 | 0) >> 2] | 0) + (HEAP32[($8_1 + 96 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($8_1 + 96 | 0) >> 2] = (HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + $1369(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0); + $13(HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0); + } + $1514(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, 2 | 0, 36344 | 0, 0 | 0) | 0; + label$29 : { + label$30 : { + if (!(HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 448 | 0) >> 2] | 0)) { + break label$30 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 18 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $353(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 25 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $1277(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0); + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[$8_1 >> 2] | 0 | 0); + break label$29; + } + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + $460_1 = 0; + $1853(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, $460_1 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0); + $1278(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, 3 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, 36384 | 0, $460_1 | 0) | 0; + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($8_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($8_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 8 & 65535 | 0 | 0); + $1277(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0); + } + HEAP32[($8_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$12; + }; + } + if (!((HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAPU8[($8_1 + 87 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + $497_1 = 0; + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 92 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 72 | 0, $497_1 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) | 0; + $1278(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, 3 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, 36384 | 0, $497_1 | 0) | 0; + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($8_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($8_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 8 & 65535 | 0 | 0); + $1277(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0); + } + global$0 = $8_1 + 144 | 0; + return; + } + + function $1852($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1288(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 143 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1853($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $1514(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $7_1 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, 1 | 0, 36408 | 0, $7_1 | 0) | 0; + global$0 = $6_1 + 16 | 0; + return; + } + + function $1854($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) & -2 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 16 | 0) >> 2] = (((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) + 36 | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $308(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + i64toi32_i32$1 = $62(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 0] = 0; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 36 | 0; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0; + $254(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 36 | 0, 76 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1855($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $13(HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1856($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $46_1 = 0, $68_1 = 0, $81_1 = 0, $104_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $46_1 = (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$46_1 >> 2] = (HEAP32[$46_1 >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $68_1 = (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$68_1 >> 2] = (HEAP32[$68_1 >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + } + $81_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($81_1 + 8 | 0) >> 2] = (HEAP32[($81_1 + 8 | 0) >> 2] | 0) + 1 | 0; + label$9 : { + if (!(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$9 + } + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 > Math_imul(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0) + 1 | 0) >>> 0 & 1 | 0)) { + break label$9 + } + $104_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP8[($104_1 + 24 | 0) >> 0] = (HEAPU8[($104_1 + 24 | 0) >> 0] | 0) + 1 | 0; + $267(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1857($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $84_1 = 0, $84$hi = 0, $88$hi = 0, $89$hi = 0, $90$hi = 0, $91$hi = 0, $92$hi = 0, $93$hi = 0, $25_1 = 0, $246_1 = 0, $254_1 = 0, $257_1 = 0, $66_1 = 0, $263_1 = 0, $70_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = Math_imul((HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 1 | 0, 25); + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $114(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $286(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + break label$1; + } + $25_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAPU8[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $84_1 = HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $84$hi = i64toi32_i32$0; + break label$3; + } + i64toi32_i32$0 = 0; + $84_1 = HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $84$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $84$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $84_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + $81(24 | 0, $25_1 | 0, 36457 | 0, $5_1 + 16 | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + ($68(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $88$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $89$hi = i64toi32_i32$1; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$1 = $89$hi; + $246_1 = i64toi32_i32$0; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$3 = $246_1; + i64toi32_i32$4 = (HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $90$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $91$hi = i64toi32_i32$5; + i64toi32_i32$5 = $90$hi; + i64toi32_i32$5 = $91$hi; + i64toi32_i32$5 = $90$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) + $91$hi | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + $92$hi = i64toi32_i32$4; + i64toi32_i32$5 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $93$hi = i64toi32_i32$1; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$1 = $93$hi; + $254_1 = i64toi32_i32$4; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$4 = $93$hi; + i64toi32_i32$4 = __wasm_i64_udiv(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $254_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $257_1 = i64toi32_i32$4; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $257_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$1; + $66_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $263_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $263_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$4; + $81(24 | 0, $66_1 | 0, 36462 | 0, $5_1 | 0) | 0; + $70_1 = $68(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 60 | 0) >> 2] = (HEAP32[($5_1 + 60 | 0) >> 2] | 0) + $70_1 | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $277(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, -1 | 0, 3 | 0); + } + global$0 = $5_1 + 80 | 0; + return; + } + + function $1858($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $277(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $431() | 0 | 0, -1 | 0, 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1859($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $9_1 = $66(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[$5_1 >> 2] = $9_1; + label$1 : { + if (!(($9_1 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $267(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $534(HEAP32[$5_1 >> 2] | 0 | 0) | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1860($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $277(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $537(HEAP32[$5_1 >> 2] | 0 | 0) | 0 | 0, -1 | 0, 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1861($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7_1 = 0, $43_1 = 0, $62_1 = 0, $309$hi = 0, $310$hi = 0, $133_1 = 0, $192_1 = 0, $248_1 = 0, $99_1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!(($248(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + HEAP32[($5_1 + 28 | 0) >> 2] = 40110; + HEAP32[($5_1 + 24 | 0) >> 2] = 40112; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$4; + } + $43_1 = $66(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $43_1; + label$6 : { + if (!(($43_1 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!(((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + $62_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $62_1 + 1 | 0; + label$9 : { + if (!(((HEAPU8[$62_1 >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + label$11 : while (1) { + if (!((((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + label$12 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$12 + } + $99_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $309$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $310$hi = i64toi32_i32$0; + i64toi32_i32$0 = $309$hi; + i64toi32_i32$0 = $310$hi; + i64toi32_i32$0 = $309$hi; + $15_1 = i64toi32_i32$1; + i64toi32_i32$1 = $310$hi; + i64toi32_i32$1 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$0 | 0, 5 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1862($99_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!(((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $133_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $133_1 + 1 | 0; + label$16 : { + if (!(((HEAPU8[$133_1 >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + label$18 : while (1) { + if (!((((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + } + HEAP8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + } + } + label$19 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$19 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $302(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0) & 1 | 0)) { + break label$20 + } + label$21 : { + label$22 : while (1) { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$21 + } + $192_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $192_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $192_1; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + label$25 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + if ($3228(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$25 + } + break label$23; + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$24; + }; + } + label$26 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + break label$21; + } + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) - (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + continue label$22; + }; + } + } + label$27 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0) & 2 | 0)) { + break label$27 + } + label$28 : { + label$29 : while (1) { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$28 + } + $248_1 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $248_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $248_1; + label$30 : { + label$31 : while (1) { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + label$32 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$32 + } + if ($3228((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) - (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$32 + } + break label$30; + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$31; + }; + } + label$33 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$33 + } + break label$28; + } + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) - (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0; + continue label$29; + }; + } + } + label$34 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$34 + } + $42(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + } + $277(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, -1 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $1862($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $27$hi = 0, $28$hi = 0, i64toi32_i32$3 = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $27_1 = 0, $59_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = i64toi32_i32$1, wasm2js_i32$1 = $303(HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $27_1 = i64toi32_i32$0; + $27$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$1 = $28$hi; + $59_1 = i64toi32_i32$0; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$2 = $27_1; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$3 = $59_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + label$1 : { + label$2 : { + if (!($13_1 & 1 | 0)) { + break label$2 + } + $257(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $39(i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + $286(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + } + $24_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $24_1 | 0; + } + + function $1863($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($302(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) == ($7_1 | 0) & 1 | 0 ? $7_1 : -1), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1864(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 8 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!(($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!(($248(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + label$6 : { + if (!((($898(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0) ^ (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $280(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1864($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + return HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0; + } + + function $1865($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $81_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 40 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + label$3 : { + if (!(($248(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$4 + } + $1866(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + } + break label$1; + } + label$5 : { + label$6 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1864(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($302(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $898(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + label$9 : { + label$10 : { + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$10 + } + if ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$9 + } + } + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$8 + } + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + } + $281(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + break label$7; + } + $1866(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + } + break label$5; + } + $81_1 = $303(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = $81_1; + $281(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1866($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = -1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 0] = 1; + return; + } + + function $1867($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $1868(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1868($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $304(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + $280(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + $227(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1869($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $1868(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1870($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($248(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) - 1 | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $277(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(72112 + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, -1 | 0, 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1871($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + $10_1 = ($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($10_1 | 0) { + case 0: + case 1: + case 3: + $267(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $233(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0); + break label$1; + case 2: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + $28_1 = HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0; + HEAP8[($5_1 + 11 | 0) >> 0] = $28_1; + if (!($28_1 & 255 | 0)) { + break label$6 + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + label$8 : { + if (!(((HEAPU8[($5_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + label$10 : while (1) { + if (!((((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + } + continue label$7; + }; + } + $267(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0); + break label$1; + default: + break label$2; + }; + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1872($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $137_1 = 0, $151_1 = 0, $175_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 1; + HEAP32[($5_1 + 12 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $248(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $248(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + break label$9; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $250(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + break label$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $250(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + break label$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + } + } + label$13 : { + label$14 : { + if ((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$14 + } + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$13 + } + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + } + break label$5; + } + HEAP8[($5_1 + 19 | 0) >> 0] = HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0; + label$15 : while (1) { + $137_1 = 0; + label$16 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $151_1 = 1; + label$17 : { + if (((HEAPU8[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + break label$17 + } + $151_1 = ($3228(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + $137_1 = $151_1; + } + label$18 : { + if (!($137_1 & 1 | 0)) { + break label$18 + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + label$19 : while (1) { + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 1 | 0; + $175_1 = 0; + label$20 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$20 + } + $175_1 = (((HEAPU8[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + if ($175_1 & 1 | 0) { + continue label$19 + } + break label$19; + }; + continue label$15; + } + break label$15; + }; + label$21 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + } + } + $267(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + break label$4; + } + $286(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + } + $253(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $253(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $1873($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $28_1 = 0, $18_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) >= (1 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $18_1; + if (!(($18_1 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $28_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 56 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $28_1; + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0; + $77($5_1 + 16 | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $28_1 | 0, $28_1 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0); + HEAP8[($5_1 + 37 | 0) >> 0] = 2; + $38_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $5_1 + 40 | 0; + $84($5_1 + 16 | 0 | 0, $38_1 | 0, $5_1 | 0); + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + $277(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $72($5_1 + 16 | 0 | 0) | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $1874($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAPU8[(HEAP32[$5_1 >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$1 + } + $267(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $398($5_1 | 0) | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1875($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $187$hi = 0, $192$hi = 0, $13_1 = 0, $190$hi = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $194$hi = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $197$hi = 0, $198$hi = 0, $52_1 = 0, $71_1 = 0, $81_1 = 0, $100_1 = 0, $112_1 = 0, $122_1 = 0, $134_1 = 0, $146_1 = 0, $158_1 = 0, $168_1 = 0, $275_1 = 0, $51_1 = 0, $70_1 = 0, $80_1 = 0, $99_1 = 0, $111_1 = 0, $121_1 = 0, $133_1 = 0, $145_1 = 0, $157_1 = 0, $167_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + i64toi32_i32$1 = ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) << 2 | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $13_1 = $41(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $13_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $13_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + $187$hi = i64toi32_i32$0; + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $275_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $275_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $190$hi = i64toi32_i32$0; + i64toi32_i32$0 = $187$hi; + i64toi32_i32$0 = $190$hi; + i64toi32_i32$0 = $187$hi; + i64toi32_i32$0 = $190$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $187$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $36_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $37_1 = 0 + } else { + $37_1 = 1 + } + $38_1 = $37_1; + } else { + $38_1 = 0 + } + $36_1 = $38_1; + } + label$5 : { + label$6 : { + if ($36_1 & 1 | 0) { + break label$6 + } + i64toi32_i32$2 = 0; + $192$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $194$hi = i64toi32_i32$0; + i64toi32_i32$0 = $192$hi; + i64toi32_i32$0 = $194$hi; + i64toi32_i32$0 = $192$hi; + i64toi32_i32$0 = $194$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $192$hi; + i64toi32_i32$1 = 1114111; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { + $39_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $40_1 = 0 + } else { + $40_1 = 1 + } + $41_1 = $40_1; + } else { + $41_1 = 0 + } + $39_1 = $41_1; + } + if (!($39_1 & 1 | 0)) { + break label$5 + } + } + i64toi32_i32$3 = 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 65533; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$3; + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $197$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $198$hi = i64toi32_i32$0; + i64toi32_i32$0 = $197$hi; + i64toi32_i32$0 = $198$hi; + i64toi32_i32$0 = $197$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $198$hi; + i64toi32_i32$2 = 2097151; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1 & i64toi32_i32$2 | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$8 + } + $51_1 = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 255 | 0; + $52_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $52_1 + 1 | 0; + HEAP8[$52_1 >> 0] = $51_1; + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 < 2048 >>> 0 & 1 | 0)) { + break label$10 + } + $70_1 = ((((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 6 | 0) & 31 | 0) & 255 | 0) + 192 | 0; + $71_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $71_1 + 1 | 0; + HEAP8[$71_1 >> 0] = $70_1; + $80_1 = (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $81_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $81_1 + 1 | 0; + HEAP8[$81_1 >> 0] = $80_1; + break label$9; + } + label$11 : { + label$12 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 < 65536 >>> 0 & 1 | 0)) { + break label$12 + } + $99_1 = ((((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 12 | 0) & 15 | 0) & 255 | 0) + 224 | 0; + $100_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $100_1 + 1 | 0; + HEAP8[$100_1 >> 0] = $99_1; + $111_1 = ((((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $112_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $112_1 + 1 | 0; + HEAP8[$112_1 >> 0] = $111_1; + $121_1 = (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $122_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $122_1 + 1 | 0; + HEAP8[$122_1 >> 0] = $121_1; + break label$11; + } + $133_1 = ((((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 18 | 0) & 7 | 0) & 255 | 0) + 240 | 0; + $134_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $134_1 + 1 | 0; + HEAP8[$134_1 >> 0] = $133_1; + $145_1 = ((((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 12 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $146_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $146_1 + 1 | 0; + HEAP8[$146_1 >> 0] = $145_1; + $157_1 = ((((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $158_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $158_1 + 1 | 0; + HEAP8[$158_1 >> 0] = $157_1; + $167_1 = (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $168_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $168_1 + 1 | 0; + HEAP8[$168_1 >> 0] = $167_1; + } + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + i64toi32_i32$1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) - (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$1 >> 31 | 0; + $278(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$3 | 0, 3 | 0, 1 & 255 | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1876($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$0 = 0, $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $34$hi = 0, $39$hi = 0, $10_1 = 0, $37$hi = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $41$hi = 0, $43$hi = 0, $44$hi = 0, $84_1 = 0, $117_1 = 0, $120_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + $10_1 = ($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($10_1 | 0) { + case 0: + i64toi32_i32$0 = 0; + $34$hi = i64toi32_i32$0; + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $84_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $84_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $37$hi = i64toi32_i32$0; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $19_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $20_1 = 0 + } else { + $20_1 = 1 + } + $21_1 = $20_1; + } else { + $21_1 = 0 + } + $19_1 = $21_1; + } + label$5 : { + if (!($19_1 & 1 | 0)) { + break label$5 + } + i64toi32_i32$2 = -2147483648; + $39$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $41$hi = i64toi32_i32$0; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $39$hi; + i64toi32_i32$1 = 0; + label$6 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$6 + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 40126 | 0, -1 | 0); + break label$1; + } + i64toi32_i32$3 = 0; + $43$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $44$hi = i64toi32_i32$0; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$0 = $44$hi; + $117_1 = i64toi32_i32$3; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = $44$hi; + i64toi32_i32$2 = $117_1; + i64toi32_i32$5 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $120_1 = i64toi32_i32$1 - i64toi32_i32$2 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $120_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $270(HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0); + break label$1; + case 4: + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$1; + default: + break label$2; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$7 : { + if (!(+HEAPF64[$5_1 >> 3] < +(0 | 0) & 1 | 0)) { + break label$7 + } + HEAPF64[$5_1 >> 3] = -+HEAPF64[$5_1 >> 3]; + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1877($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0.0, i64toi32_i32$1 = 0, $105_1 = 0.0, $10_1 = 0, $11_1 = 0, $91_1 = 0, $91$hi = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((5 | 0) == ($248(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) > (30 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 32 | 0) >> 2] = 30; + } + label$5 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + } + } + label$6 : { + if (!(($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$6 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 24 | 0) >> 3] = wasm2js_f64$0; + label$7 : { + label$8 : { + label$9 : { + if (+HEAPF64[($5_1 + 24 | 0) >> 3] < -4503599627370496.0 & 1 | 0) { + break label$9 + } + if (!(+HEAPF64[($5_1 + 24 | 0) >> 3] > 4503599627370496.0 & 1 | 0)) { + break label$8 + } + } + break label$7; + } + label$10 : { + label$11 : { + if (HEAP32[($5_1 + 32 | 0) >> 2] | 0) { + break label$11 + } + $105_1 = +HEAPF64[($5_1 + 24 | 0) >> 3] + (+HEAPF64[($5_1 + 24 | 0) >> 3] < +(0 | 0) & 1 | 0 ? -.5 : .5); + label$12 : { + label$13 : { + if (!(Math_abs($105_1) < 9223372036854775808.0)) { + break label$13 + } + i64toi32_i32$0 = $105_1; + if (Math_abs(i64toi32_i32$0) >= 1.0) { + if (i64toi32_i32$0 > 0.0) { + $10_1 = ~~Math_min(Math_floor(i64toi32_i32$0 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $10_1 = ~~Math_ceil((i64toi32_i32$0 - +(~~i64toi32_i32$0 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $11_1 = $10_1; + } else { + $11_1 = 0 + } + i64toi32_i32$1 = $11_1; + $91_1 = ~~i64toi32_i32$0 >>> 0; + $91$hi = i64toi32_i32$1; + break label$12; + } + i64toi32_i32$1 = -2147483648; + $91_1 = 0; + $91$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $91$hi; + HEAPF64[($5_1 + 24 | 0) >> 3] = +($91_1 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0); + break label$10; + } + $66_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAPF64[($5_1 + 8 | 0) >> 3] = +HEAPF64[($5_1 + 24 | 0) >> 3]; + HEAP32[$5_1 >> 2] = $66_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(40143 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$1; + } + $344(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $5_1 + 24 | 0 | 0, $68(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0, 1 & 255 | 0 | 0) | 0; + $42(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + } + $260(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, +(+HEAPF64[($5_1 + 24 | 0) >> 3])); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1878($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $71$hi = 0, $72$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $42_1 = 0, $19_1 = 0, $20_1 = 0, i64toi32_i32$2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $19_1 = 0; + $20_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $71$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $72$hi = i64toi32_i32$0; + i64toi32_i32$0 = $71$hi; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$0 = $71$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1862($20_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != ($19_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $42_1 = 24; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] = (((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0) & ((((HEAPU8[(((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 32 | 0) ^ -1 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $277(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 3 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1879($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $57$hi = 0, $58$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $19_1 = 0, $20_1 = 0, i64toi32_i32$2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $19_1 = 0; + $20_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $57$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $58$hi = i64toi32_i32$0; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1862($20_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != ($19_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[(((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $277(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 3 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1880($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $69$hi = 0, $70$hi = 0, $21_1 = 0, $71$hi = 0, $72$hi = 0, $16_1 = 0, $41_1 = 0, $50_1 = 0, $6_1 = 0, $13_1 = 0, $40_1 = 0, $49_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $13_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $69$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $70$hi = i64toi32_i32$0; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $70$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $21_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $21_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $71$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$0 = $21_1; + i64toi32_i32$2 = $72$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $16_1 = $1862($13_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $16_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $16_1; + label$1 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($5_1 + 15 | 0) >> 0] = HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0; + $40_1 = HEAPU8[(((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0) >> 4 | 0) & 15 | 0) + 40160 | 0) >> 0] | 0; + $41_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $41_1 + 1 | 0; + HEAP8[$41_1 >> 0] = $40_1; + $49_1 = HEAPU8[((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0) & 15 | 0) + 40160 | 0) >> 0] | 0; + $50_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $50_1 + 1 | 0; + HEAP8[$50_1 >> 0] = $49_1; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] = 0; + $277(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 1 | 0 | 0, 3 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1881($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $16$hi = 0, $18$hi = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $20$hi = 0, $21$hi = 0, $22$hi = 0, $23$hi = 0, $61_1 = 0, $64_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + $16$hi = i64toi32_i32$0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + $85(8 | 0, $5_1 + 8 | 0 | 0); + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $18$hi = i64toi32_i32$1; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $17_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $18_1 = 0 + } else { + $18_1 = 1 + } + $19_1 = $18_1; + } else { + $19_1 = 0 + } + $17_1 = $19_1; + } + label$1 : { + if (!($17_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = 0; + $20$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $21$hi = i64toi32_i32$1; + i64toi32_i32$1 = 2147483647; + $22$hi = i64toi32_i32$1; + i64toi32_i32$1 = $21$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $21$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $22$hi; + i64toi32_i32$0 = -1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $23$hi = i64toi32_i32$2; + i64toi32_i32$2 = $20$hi; + i64toi32_i32$2 = $23$hi; + $61_1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + i64toi32_i32$2 = $20$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = $23$hi; + i64toi32_i32$0 = $61_1; + i64toi32_i32$5 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $64_1 = i64toi32_i32$1 - i64toi32_i32$0 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $64_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0); + global$0 = $5_1 + 32 | 0; + return; + } + + function $1882($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $28$hi = 0, i64toi32_i32$3 = 0, $31$hi = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + $28$hi = i64toi32_i32$0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $55_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $55_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $31$hi = i64toi32_i32$0; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$3 = 1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $11_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $12_1 = 0 + } else { + $12_1 = 1 + } + $13_1 = $12_1; + } else { + $13_1 = 0 + } + $11_1 = $13_1; + } + label$1 : { + if (!($11_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = 1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1862(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $85(i64toi32_i32$0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $254(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, 3 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1883($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1864(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!($898(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0)) { + break label$1 + } + $280(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1884($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $277(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $538() | 0 | 0, -1 | 0, 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1885($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $8_1 = $239(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $82($8_1 | 0, 1976 | 0, $5_1 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1886($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $39_1 = 0, $47_1 = 0, $249$hi = 0, $250$hi = 0, $40_1 = 0, $251$hi = 0, $252$hi = 0, $76_1 = 0, $95_1 = 0, $111_1 = 0, $112_1 = 0, $255$hi = 0, $256$hi = 0, $258$hi = 0, $259$hi = 0, $260$hi = 0, $261$hi = 0, $205_1 = 0, $222_1 = 0, $233_1 = 0, $54_1 = 0, $172_1 = 0, $173_1 = 0, $258_1 = 0, $661_1 = 0, $203_1 = 0, $204_1 = 0, $221_1 = 0, $232_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 160 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 156 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 152 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 148 | 0) >> 2] = $2_1; + $10_1 = ($248(HEAP32[(HEAP32[($5_1 + 148 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($10_1 | 0) { + case 1: + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 148 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 136 | 0) >> 3] = wasm2js_f64$0; + HEAPF64[($5_1 + 16 | 0) >> 3] = +HEAPF64[($5_1 + 136 | 0) >> 3]; + $81(50 | 0, $5_1 + 64 | 0 | 0, 5120 | 0, $5_1 + 16 | 0 | 0) | 0; + $344($5_1 + 64 | 0 | 0, $5_1 + 128 | 0 | 0, 20 | 0, 1 & 255 | 0 | 0) | 0; + label$7 : { + if (!(+HEAPF64[($5_1 + 136 | 0) >> 3] != +HEAPF64[($5_1 + 128 | 0) >> 3] & 1 | 0)) { + break label$7 + } + HEAPF64[$5_1 >> 3] = +HEAPF64[($5_1 + 136 | 0) >> 3]; + $81(50 | 0, $5_1 + 64 | 0 | 0, 40176 | 0, $5_1 | 0) | 0; + } + $39_1 = -1; + $277(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, $5_1 + 64 | 0 | 0, $39_1 | 0, $39_1 | 0); + break label$1; + case 0: + $280(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 148 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 3: + $47_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $47_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[(HEAP32[($5_1 + 148 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 148 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + $54_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $249$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $250$hi = i64toi32_i32$0; + i64toi32_i32$0 = $249$hi; + i64toi32_i32$0 = $250$hi; + i64toi32_i32$0 = $249$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $250$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $40_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $40_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $251$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $252$hi = i64toi32_i32$1; + i64toi32_i32$1 = $251$hi; + i64toi32_i32$1 = $252$hi; + i64toi32_i32$1 = $251$hi; + i64toi32_i32$0 = $40_1; + i64toi32_i32$2 = $252$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1862($54_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) != ($47_1 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 48 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $76_1 = 24; + HEAP8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 48 | 0) >> 2] | 0) << 1 | 0) + 2 | 0) | 0) >> 0] = HEAPU8[((((((HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + (HEAP32[($5_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) << $76_1 | 0) >> $76_1 | 0) >> 4 | 0) & 15 | 0) + 40160 | 0) >> 0] | 0; + $95_1 = 24; + HEAP8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 48 | 0) >> 2] | 0) << 1 | 0) + 3 | 0) | 0) >> 0] = HEAPU8[(((((HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + (HEAP32[($5_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) << $95_1 | 0) >> $95_1 | 0) & 15 | 0) + 40160 | 0) >> 0] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + $111_1 = -1; + $112_1 = 39; + HEAP8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 52 | 0) >> 2] | 0) << 1 | 0) + 2 | 0) | 0) >> 0] = $112_1; + HEAP8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 52 | 0) >> 2] | 0) << 1 | 0) + 3 | 0) | 0) >> 0] = 0; + HEAP8[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 0] = 88; + HEAP8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 1 | 0) >> 0] = $112_1; + $277(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $111_1 | 0, $111_1 | 0); + $42(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + } + break label$1; + case 2: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 148 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + break label$1; + } + i64toi32_i32$5 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$5; + label$12 : { + label$13 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$12 + } + label$14 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (39 | 0) & 1 | 0)) { + break label$14 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $255$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $256$hi = i64toi32_i32$0; + i64toi32_i32$0 = $255$hi; + i64toi32_i32$0 = $256$hi; + i64toi32_i32$0 = $255$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $256$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$4; + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + $172_1 = 0; + $173_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $258_1 = i64toi32_i32$1; + $258$hi = i64toi32_i32$4; + i64toi32_i32$0 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $259$hi = i64toi32_i32$1; + i64toi32_i32$1 = $258$hi; + i64toi32_i32$1 = $259$hi; + $661_1 = i64toi32_i32$4; + i64toi32_i32$1 = $258$hi; + i64toi32_i32$0 = $258_1; + i64toi32_i32$4 = $259$hi; + i64toi32_i32$3 = $661_1; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $260$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $261$hi = i64toi32_i32$2; + i64toi32_i32$2 = $260$hi; + i64toi32_i32$2 = $261$hi; + i64toi32_i32$2 = $260$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$0 = $261$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1862($173_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != ($172_1 | 0) & 1 | 0)) { + break label$15 + } + HEAP8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] = 39; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = 1; + label$16 : { + label$17 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$16 + } + $203_1 = HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0; + $204_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $205_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $205_1 + 1 | 0; + HEAP8[($204_1 + $205_1 | 0) >> 0] = $203_1; + label$18 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (39 | 0) & 1 | 0)) { + break label$18 + } + $221_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $222_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $222_1 + 1 | 0; + HEAP8[($221_1 + $222_1 | 0) >> 0] = 39; + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + $232_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $233_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $233_1 + 1 | 0; + HEAP8[($232_1 + $233_1 | 0) >> 0] = 39; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 40 | 0) >> 2] | 0) | 0) >> 0] = 0; + $277(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 3 | 0); + } + break label$1; + default: + break label$2; + }; + } + $277(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 1353 | 0, 4 | 0, 0 | 0); + } + global$0 = $5_1 + 160 | 0; + return; + } + + function $1887($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $8_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = $451(HEAP32[$5_1 >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $270($8_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1888($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $267(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $453(HEAP32[$5_1 >> 2] | 0 | 0) | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1889($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $267(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $454(HEAP32[$5_1 >> 2] | 0 | 0) | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1890($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$6 = 0, $67_1 = 0, $198$hi = 0, $199$hi = 0, $104_1 = 0, $193$hi = 0, $196$hi = 0, $197$hi = 0, $35_1 = 0, $36_1 = 0, $37_1 = 0, $203$hi = 0, $204$hi = 0, $205$hi = 0, $206$hi = 0, $207$hi = 0, $208$hi = 0, $336_1 = 0, $102_1 = 0, $103_1 = 0, $193_1 = 0, $481$hi = 0, $501_1 = 0, $135_1 = 0, $137_1 = 0, $203_1 = 0, $204_1 = 0, $553_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if ((HEAPU8[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + $280(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $336_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $336_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1862(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + break label$1; + } + $67_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) - (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $67_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $67_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $67_1; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + label$10 : { + label$11 : { + if (((HEAPU8[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + break label$11 + } + if (!($3228((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$10 + } + } + $102_1 = HEAPU8[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0; + $103_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $104_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $104_1 + 1 | 0; + HEAP8[($103_1 + $104_1 | 0) >> 0] = $102_1; + break label$9; + } + label$12 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$0 = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) - (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $193_1 = i64toi32_i32$0; + $193$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $481$hi = i64toi32_i32$0; + i64toi32_i32$0 = $193$hi; + i64toi32_i32$0 = $481$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $193$hi; + i64toi32_i32$3 = $193_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $196$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $197$hi = i64toi32_i32$2; + i64toi32_i32$2 = $196$hi; + i64toi32_i32$2 = $197$hi; + i64toi32_i32$2 = $196$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $197$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $198$hi = i64toi32_i32$4; + i64toi32_i32$0 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $199$hi = i64toi32_i32$4; + i64toi32_i32$4 = $198$hi; + i64toi32_i32$4 = $199$hi; + i64toi32_i32$4 = $198$hi; + i64toi32_i32$4 = $199$hi; + $501_1 = i64toi32_i32$0; + i64toi32_i32$4 = $198$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = $199$hi; + i64toi32_i32$3 = $501_1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$0 | 0)) { + $35_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $36_1 = 0 + } else { + $36_1 = 1 + } + $37_1 = $36_1; + } else { + $37_1 = 0 + } + $35_1 = $37_1; + } + label$13 : { + if (!($35_1 & 1 | 0)) { + break label$13 + } + $257(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + $42(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + label$14 : { + if ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) & ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) - 1 | 0) | 0) { + break label$14 + } + $135_1 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $137_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 >> 31 | 0; + $203_1 = i64toi32_i32$2; + $203$hi = i64toi32_i32$4; + i64toi32_i32$3 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $204_1 = i64toi32_i32$4; + $204$hi = i64toi32_i32$2; + i64toi32_i32$4 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $205$hi = i64toi32_i32$2; + i64toi32_i32$2 = $204$hi; + i64toi32_i32$2 = $205$hi; + $553_1 = i64toi32_i32$4; + i64toi32_i32$2 = $204$hi; + i64toi32_i32$3 = $204_1; + i64toi32_i32$4 = $205$hi; + i64toi32_i32$0 = $553_1; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + $206$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $207$hi = i64toi32_i32$1; + i64toi32_i32$1 = $206$hi; + i64toi32_i32$1 = $207$hi; + i64toi32_i32$1 = $206$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$3 = $207$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $208$hi = i64toi32_i32$5; + i64toi32_i32$5 = $203$hi; + i64toi32_i32$5 = $208$hi; + i64toi32_i32$5 = $203$hi; + i64toi32_i32$1 = $203_1; + i64toi32_i32$2 = $208$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $45($137_1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == ($135_1 | 0) & 1 | 0)) { + break label$15 + } + $286(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + $42(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + } + } + $3288((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 40 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 44 | 0) >> 2] | 0) - 1 | 0) | 0; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + $3288((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 64 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 48 | 0) >> 2] | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 48 | 0) >> 2] | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) | 0; + HEAP8[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] = 0; + $277(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 3 | 0); + } + global$0 = $5_1 + 80 | 0; + return; + } + + function $1891($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$0 = 0, $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $18$hi = 0, $21$hi = 0, i64toi32_i32$3 = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $43_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + $18$hi = i64toi32_i32$0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $43_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $43_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $21$hi = i64toi32_i32$0; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $11_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $12_1 = 0 + } else { + $12_1 = 1 + } + $13_1 = $12_1; + } else { + $13_1 = 0 + } + $11_1 = $13_1; + } + label$1 : { + if (!($11_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $283(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$2 + } + $284(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1892($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$6 = 0, $264$hi = 0, $268$hi = 0, $277$hi = 0, $281$hi = 0, $288$hi = 0, $297$hi = 0, $304$hi = 0, $311$hi = 0, $322$hi = 0, $329$hi = 0, $339$hi = 0, $340$hi = 0, $343$hi = 0, $266$hi = 0, $80_1 = 0, $81_1 = 0, $82_1 = 0, $85_1 = 0, $271$hi = 0, $83_1 = 0, $84_1 = 0, $86_1 = 0, $273$hi = 0, $274$hi = 0, $279$hi = 0, $87_1 = 0, $88_1 = 0, $89_1 = 0, $282$hi = 0, $286$hi = 0, $90_1 = 0, $91_1 = 0, $92_1 = 0, $289$hi = 0, $293$hi = 0, $93_1 = 0, $94_1 = 0, $95_1 = 0, $299$hi = 0, $96_1 = 0, $97_1 = 0, $98_1 = 0, $301$hi = 0, $302$hi = 0, $306$hi = 0, $99_1 = 0, $100_1 = 0, $101_1 = 0, $308$hi = 0, $309$hi = 0, $312$hi = 0, $316$hi = 0, $102_1 = 0, $103_1 = 0, $104_1 = 0, $319$hi = 0, $166_1 = 0, $324$hi = 0, $172_1 = 0, $326$hi = 0, $327$hi = 0, $204_1 = 0, $331$hi = 0, $210_1 = 0, $333$hi = 0, $334$hi = 0, $337$hi = 0, $338$hi = 0, $105_1 = 0, $106_1 = 0, $107_1 = 0, $344$hi = 0, $345$hi = 0, $348$hi = 0, $108_1 = 0, $109_1 = 0, $110_1 = 0, $427_1 = 0, $602_1 = 0, $618_1 = 0, $634_1 = 0, $281_1 = 0, $282_1 = 0, $654$hi = 0, $288_1 = 0, $289_1 = 0, $675$hi = 0, $312_1 = 0, $742$hi = 0, $318_1 = 0, $318$hi = 0, $319_1 = 0, $763$hi = 0, $337_1 = 0, $973_1 = 0, $983_1 = 0, $344_1 = 0, $998_1 = 0, $260_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : { + if (($248(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$2 + } + if (!(($248(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $248(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $427_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $427_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + break label$1; + } + break label$4; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$1; + } + i64toi32_i32$0 = 0; + $264$hi = i64toi32_i32$0; + HEAP32[($5_1 + 40 | 0) >> 2] = 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $266$hi = i64toi32_i32$1; + i64toi32_i32$1 = $264$hi; + i64toi32_i32$1 = $266$hi; + i64toi32_i32$1 = $264$hi; + i64toi32_i32$1 = $266$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $264$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $80_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $81_1 = 0 + } else { + $81_1 = 1 + } + $82_1 = $81_1; + } else { + $82_1 = 0 + } + $80_1 = $82_1; + } + label$8 : { + if (!($80_1 & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + label$9 : { + label$10 : while (1) { + if (!(((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + $85_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $85_1 + 1 | 0; + label$11 : { + if (!(((HEAPU8[$85_1 >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : while (1) { + if (!((((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + } + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + } + } + label$14 : { + label$15 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$15 + } + i64toi32_i32$2 = 0; + $268$hi = i64toi32_i32$2; + i64toi32_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $602_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $602_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $271$hi = i64toi32_i32$1; + i64toi32_i32$1 = $268$hi; + i64toi32_i32$1 = $271$hi; + i64toi32_i32$1 = $268$hi; + i64toi32_i32$1 = $271$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $268$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $83_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $84_1 = 0 + } else { + $84_1 = 1 + } + $86_1 = $84_1; + } else { + $86_1 = 0 + } + $83_1 = $86_1; + } + label$16 : { + if (!($83_1 & 1 | 0)) { + break label$16 + } + i64toi32_i32$3 = 0; + $273$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $274$hi = i64toi32_i32$1; + i64toi32_i32$1 = $273$hi; + i64toi32_i32$1 = $274$hi; + $618_1 = i64toi32_i32$3; + i64toi32_i32$1 = $273$hi; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = $274$hi; + i64toi32_i32$2 = $618_1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + } + break label$14; + } + i64toi32_i32$0 = HEAP32[(($303(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0) + 108 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $634_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $634_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$5 = 0; + $277$hi = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $279$hi = i64toi32_i32$0; + i64toi32_i32$0 = $277$hi; + i64toi32_i32$0 = $279$hi; + i64toi32_i32$0 = $277$hi; + i64toi32_i32$0 = $279$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $277$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$5 | 0)) { + $87_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$2 >>> 0) { + $88_1 = 0 + } else { + $88_1 = 1 + } + $89_1 = $88_1; + } else { + $89_1 = 0 + } + $87_1 = $89_1; + } + label$17 : { + label$18 : { + if (!($87_1 & 1 | 0)) { + break label$18 + } + i64toi32_i32$1 = 0; + $281_1 = 0; + $281$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $282_1 = i64toi32_i32$0; + $282$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $654$hi = i64toi32_i32$0; + i64toi32_i32$0 = $282$hi; + i64toi32_i32$0 = $654$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $282$hi; + i64toi32_i32$5 = $282_1; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$0 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $286$hi = i64toi32_i32$2; + i64toi32_i32$2 = $281$hi; + i64toi32_i32$2 = $286$hi; + i64toi32_i32$2 = $281$hi; + i64toi32_i32$2 = $286$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$4 = $281$hi; + i64toi32_i32$5 = $281_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$4 | 0)) { + $90_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$5 >>> 0) { + $91_1 = 0 + } else { + $91_1 = 1 + } + $92_1 = $91_1; + } else { + $92_1 = 0 + } + $90_1 = $92_1; + } + label$19 : { + if (!($90_1 & 1 | 0)) { + break label$19 + } + i64toi32_i32$0 = 0; + $288_1 = 0; + $288$hi = i64toi32_i32$0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $289_1 = i64toi32_i32$0; + $289$hi = i64toi32_i32$2; + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $675$hi = i64toi32_i32$0; + i64toi32_i32$0 = $289$hi; + i64toi32_i32$0 = $675$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $289$hi; + i64toi32_i32$4 = $289_1; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $293$hi = i64toi32_i32$5; + i64toi32_i32$5 = $288$hi; + i64toi32_i32$5 = $293$hi; + i64toi32_i32$5 = $288$hi; + i64toi32_i32$5 = $293$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $288$hi; + i64toi32_i32$4 = $288_1; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$3 | 0)) { + $93_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$4 >>> 0) { + $94_1 = 0 + } else { + $94_1 = 1 + } + $95_1 = $94_1; + } else { + $95_1 = 0 + } + $93_1 = $95_1; + } + label$20 : { + if (!($93_1 & 1 | 0)) { + break label$20 + } + i64toi32_i32$0 = 0; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$0 = 0; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + break label$17; + } + i64toi32_i32$0 = 0; + $297$hi = i64toi32_i32$0; + i64toi32_i32$4 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $299$hi = i64toi32_i32$5; + i64toi32_i32$5 = $297$hi; + i64toi32_i32$5 = $299$hi; + i64toi32_i32$5 = $297$hi; + i64toi32_i32$5 = $299$hi; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$0 = $297$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$0 | 0)) { + $96_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$4 >>> 0 <= i64toi32_i32$3 >>> 0) { + $97_1 = 0 + } else { + $97_1 = 1 + } + $98_1 = $97_1; + } else { + $98_1 = 0 + } + $96_1 = $98_1; + } + label$21 : { + label$22 : { + if (!($96_1 & 1 | 0)) { + break label$22 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $301$hi = i64toi32_i32$5; + i64toi32_i32$5 = -1; + $302$hi = i64toi32_i32$5; + i64toi32_i32$5 = $301$hi; + i64toi32_i32$5 = $302$hi; + i64toi32_i32$5 = $301$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$4 = $302$hi; + i64toi32_i32$0 = -1; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + break label$21; + } + i64toi32_i32$1 = 0; + $304$hi = i64toi32_i32$1; + i64toi32_i32$5 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $306$hi = i64toi32_i32$3; + i64toi32_i32$3 = $304$hi; + i64toi32_i32$3 = $306$hi; + i64toi32_i32$3 = $304$hi; + i64toi32_i32$3 = $306$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $304$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$1 | 0)) { + $99_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$5 >>> 0 <= i64toi32_i32$0 >>> 0) { + $100_1 = 0 + } else { + $100_1 = 1 + } + $101_1 = $100_1; + } else { + $101_1 = 0 + } + $99_1 = $101_1; + } + label$23 : { + if (!($99_1 & 1 | 0)) { + break label$23 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $308$hi = i64toi32_i32$3; + i64toi32_i32$3 = -1; + $309$hi = i64toi32_i32$3; + i64toi32_i32$3 = $308$hi; + i64toi32_i32$3 = $309$hi; + i64toi32_i32$3 = $308$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $309$hi; + i64toi32_i32$1 = -1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$2; + } + } + } + label$24 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$24 + } + i64toi32_i32$2 = 0; + $311$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $312_1 = i64toi32_i32$2; + $312$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $742$hi = i64toi32_i32$2; + i64toi32_i32$2 = $312$hi; + i64toi32_i32$2 = $742$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $312$hi; + i64toi32_i32$1 = $312_1; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$2 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $316$hi = i64toi32_i32$3; + i64toi32_i32$3 = $311$hi; + i64toi32_i32$3 = $316$hi; + i64toi32_i32$3 = $311$hi; + i64toi32_i32$3 = $316$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $311$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$4 | 0)) { + $102_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$1 >>> 0) { + $103_1 = 0 + } else { + $103_1 = 1 + } + $104_1 = $103_1; + } else { + $104_1 = 0 + } + $102_1 = $104_1; + } + label$25 : { + if (!($102_1 & 1 | 0)) { + break label$25 + } + i64toi32_i32$2 = 0; + $318_1 = 0; + $318$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $319_1 = i64toi32_i32$2; + $319$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $763$hi = i64toi32_i32$2; + i64toi32_i32$2 = $319$hi; + i64toi32_i32$2 = $763$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $319$hi; + i64toi32_i32$4 = $319_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $318$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $318_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$5; + } + } + label$26 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$26 + } + label$27 : while (1) { + $166_1 = 0; + label$28 : { + if (!((HEAPU8[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$28 + } + i64toi32_i32$5 = 0; + $322$hi = i64toi32_i32$5; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $324$hi = i64toi32_i32$1; + i64toi32_i32$1 = $322$hi; + i64toi32_i32$1 = $324$hi; + i64toi32_i32$1 = $322$hi; + i64toi32_i32$1 = $324$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $322$hi; + i64toi32_i32$4 = 0; + $166_1 = (i64toi32_i32$2 | 0) != (i64toi32_i32$4 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$5 | 0) | 0; + } + label$29 : { + if (!($166_1 & 1 | 0)) { + break label$29 + } + $172_1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = $172_1 + 1 | 0; + label$30 : { + if (!(((HEAPU8[$172_1 >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$30 + } + label$31 : { + label$32 : while (1) { + if (!((((HEAPU8[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$32; + }; + } + } + i64toi32_i32$4 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $326$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $327$hi = i64toi32_i32$1; + i64toi32_i32$1 = $326$hi; + i64toi32_i32$1 = $327$hi; + i64toi32_i32$1 = $326$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $327$hi; + i64toi32_i32$5 = -1; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + continue label$27; + } + break label$27; + }; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + label$33 : while (1) { + $204_1 = 0; + label$34 : { + if (!((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$34 + } + i64toi32_i32$0 = 0; + $329$hi = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $331$hi = i64toi32_i32$4; + i64toi32_i32$4 = $329$hi; + i64toi32_i32$4 = $331$hi; + i64toi32_i32$4 = $329$hi; + i64toi32_i32$4 = $331$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $329$hi; + i64toi32_i32$5 = 0; + $204_1 = (i64toi32_i32$1 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$4 | 0) != (i64toi32_i32$0 | 0) | 0; + } + label$35 : { + if (!($204_1 & 1 | 0)) { + break label$35 + } + $210_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $210_1 + 1 | 0; + label$36 : { + if (!(((HEAPU8[$210_1 >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$36 + } + label$37 : { + label$38 : while (1) { + if (!((((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$38; + }; + } + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $333$hi = i64toi32_i32$4; + i64toi32_i32$4 = -1; + $334$hi = i64toi32_i32$4; + i64toi32_i32$4 = $333$hi; + i64toi32_i32$4 = $334$hi; + i64toi32_i32$4 = $333$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $334$hi; + i64toi32_i32$0 = -1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$3; + continue label$33; + } + break label$33; + }; + i64toi32_i32$5 = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) - (HEAP32[($5_1 + 48 | 0) >> 2] | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$5 >> 31 | 0; + $278(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$3 | 0, -1 | 0, 1 & 255 | 0 | 0); + break label$1; + } + i64toi32_i32$4 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $337_1 = i64toi32_i32$3; + $337$hi = i64toi32_i32$5; + i64toi32_i32$4 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $338$hi = i64toi32_i32$3; + i64toi32_i32$3 = $337$hi; + i64toi32_i32$3 = $338$hi; + $973_1 = i64toi32_i32$5; + i64toi32_i32$3 = $337$hi; + i64toi32_i32$4 = $337_1; + i64toi32_i32$5 = $338$hi; + i64toi32_i32$0 = $973_1; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $339$hi = i64toi32_i32$2; + i64toi32_i32$4 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $340$hi = i64toi32_i32$2; + i64toi32_i32$2 = $339$hi; + i64toi32_i32$2 = $340$hi; + i64toi32_i32$2 = $339$hi; + i64toi32_i32$2 = $340$hi; + $983_1 = i64toi32_i32$4; + i64toi32_i32$2 = $339$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$4 = $340$hi; + i64toi32_i32$0 = $983_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$4 | 0)) { + $105_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $106_1 = 0 + } else { + $106_1 = 1 + } + $107_1 = $106_1; + } else { + $107_1 = 0 + } + $105_1 = $107_1; + } + label$39 : { + if (!($105_1 & 1 | 0)) { + break label$39 + } + i64toi32_i32$3 = 0; + $343$hi = i64toi32_i32$3; + i64toi32_i32$2 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + $344_1 = i64toi32_i32$2; + $344$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $345$hi = i64toi32_i32$2; + i64toi32_i32$2 = $344$hi; + i64toi32_i32$2 = $345$hi; + $998_1 = i64toi32_i32$3; + i64toi32_i32$2 = $344$hi; + i64toi32_i32$0 = $344_1; + i64toi32_i32$3 = $345$hi; + i64toi32_i32$4 = $998_1; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$4 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$4 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $348$hi = i64toi32_i32$0; + i64toi32_i32$0 = $343$hi; + i64toi32_i32$0 = $348$hi; + i64toi32_i32$0 = $343$hi; + i64toi32_i32$0 = $348$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $343$hi; + i64toi32_i32$4 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $108_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$4 >>> 0) { + $109_1 = 0 + } else { + $109_1 = 1 + } + $110_1 = $109_1; + } else { + $110_1 = 0 + } + $108_1 = $110_1; + } + label$40 : { + if (!($108_1 & 1 | 0)) { + break label$40 + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$2; + } + } + i64toi32_i32$4 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $260_1 = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + i64toi32_i32$2 | 0; + i64toi32_i32$4 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $258(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $260_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0, -1 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $1893($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $27_1 = 0, $60$hi = 0, $61$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $36_1 = 0, $50_1 = 0, $56_1 = 0, $26_1 = 0, $150_1 = 0, $69_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 32 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $342(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = 1; + $27_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $27_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $60$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $61$hi = i64toi32_i32$1; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $61$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $27_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == ($26_1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$5 = $62(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $150_1 = i64toi32_i32$5; + i64toi32_i32$5 = $5_1; + HEAP32[$5_1 >> 2] = $150_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + $36_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAPF64[$36_1 >> 3] = +HEAPF64[$36_1 >> 3] + (+(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$5 | 0)); + label$4 : { + if ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0) | 0) { + break label$4 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + if (!($891((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0)) { + break label$4 + } + $50_1 = 1; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 0] = $50_1; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 25 | 0) >> 0] = $50_1; + } + break label$2; + } + $69_1 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0); + $56_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAPF64[$56_1 >> 3] = +HEAPF64[$56_1 >> 3] + $69_1; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 25 | 0) >> 0] = 1; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1894($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $46$hi = 0, $4_1 = 0, $48$hi = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $46$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $9_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $10_1 = 0 + } else { + $10_1 = 1 + } + $11_1 = $10_1; + } else { + $11_1 = 0 + } + $9_1 = $11_1; + } + if (!($9_1 & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $263(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 40126 | 0, -1 | 0); + break label$2; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+HEAPF64[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 3])); + break label$4; + } + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $270(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0); + } + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1895($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $27_1 = 0, $47$hi = 0, $48$hi = 0, $40_1 = 0, $52$hi = 0, $41_1 = 0, $44_1 = 0, $26_1 = 0, $147_1 = 0, $52_1 = 0, $167$hi = 0, $58_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 32 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $342(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = 1; + $27_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $27_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $47$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $27_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == ($26_1 | 0) & 1 | 0)) { + break label$3 + } + if ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + i64toi32_i32$5 = $62(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $147_1 = i64toi32_i32$5; + i64toi32_i32$5 = $5_1; + HEAP32[$5_1 >> 2] = $147_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + $40_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAPF64[$40_1 >> 3] = +HEAPF64[$40_1 >> 3] - (+(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$5 | 0)); + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $52_1 = i64toi32_i32$5; + $52$hi = i64toi32_i32$2; + $41_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = $41_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $167$hi = i64toi32_i32$5; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$5 = $167$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $52$hi; + i64toi32_i32$3 = $52_1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $41_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$4; + break label$2; + } + $58_1 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0); + $44_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAPF64[$44_1 >> 3] = +HEAPF64[$44_1 >> 3] - $58_1; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1896($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $19_1 = 0.0, $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $7_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = +HEAPF64[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 3]; + break label$1; + } + $19_1 = +(0 | 0); + } + $260($7_1 | 0, +$19_1); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1897($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $22$hi = 0, $4_1 = 0, $24$hi = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $22$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $24$hi = i64toi32_i32$1; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $22$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $9_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $10_1 = 0 + } else { + $10_1 = 1 + } + $11_1 = $10_1; + } else { + $11_1 = 0 + } + $9_1 = $11_1; + } + if (!($9_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + i64toi32_i32$3 = 0; + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+HEAPF64[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 3] / (+(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0)))); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1898($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $26_1 = 0, $29$hi = 0, $30$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 8 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + if (!((5 | 0) != ($248(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + } + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $26_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $29$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $30$hi = i64toi32_i32$1; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$2 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $30$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $26_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1899($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$2 = 0, $18_1 = 0, $18$hi = 0, $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $7_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $18_1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + $18$hi = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = 0; + $18_1 = 0; + $18$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $18$hi; + $270($7_1 | 0, $18_1 | 0, i64toi32_i32$1 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1900($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $26_1 = 0, $29$hi = 0, $30$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 8 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + if (!((5 | 0) != ($248(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + } + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $26_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $29$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $30$hi = i64toi32_i32$1; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$2 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$3 = -1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $30$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $26_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1901($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + label$3 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 30108; + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + } + label$6 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $51(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $51(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1902($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (18 | 0) & 1 | 0)) { + break label$3 + } + $257(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + break label$2; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$5 + } + $286(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + break label$4; + } + $277(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $72(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, -1 | 0, 3 | 0); + } + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1903($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $35_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (18 | 0) & 1 | 0)) { + break label$3 + } + $257(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + break label$2; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$5 + } + $286(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + break label$4; + } + $35_1 = -1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $75(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $277(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, $35_1 | 0, $35_1 | 0); + } + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1904($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $54_1 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + $37_1 = $233(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + $37_1 | 0; + break label$3; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$5; + } + $54_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($54_1 + 16 | 0) >> 2] = (HEAP32[($54_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0; + $3290(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + } + label$7 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) { + break label$7 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1905($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $506_1 = 0, $74_1 = 0, $505_1 = 0, $100_1 = 0, $109_1 = 0, $119_1 = 0, $122_1 = 0, $158_1 = 0, $159_1 = 0, $169_1 = 0, $253_1 = 0, $374_1 = 0, $437_1 = 0, $440_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 432 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 428 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 424 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 420 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 416 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 420 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 388 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 420 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 384 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 420 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 380 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 420 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 420 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 420 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 368 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 420 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 364 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 416 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 388 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[($5_1 + 380 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if (!((HEAP32[($5_1 + 372 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + $8(HEAP32[($5_1 + 416 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $361(HEAP32[($5_1 + 416 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 380 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 384 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if ((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$7 + } + $74_1 = 16; + if (!((HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) >= (((HEAPU16[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $74_1 | 0) >> $74_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + } + break label$1; + } + HEAP32[($5_1 + 360 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 376 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $505_1 = 0; + i64toi32_i32$1 = $5_1 + 392 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $505_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $505_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $100_1 = 16; + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $100_1 | 0) >> $100_1 | 0 | 0) & 1 | 0)) { + break label$9 + } + $109_1 = -1; + break label$8; + } + $109_1 = HEAP32[($5_1 + 376 | 0) >> 2] | 0; + } + $119_1 = $5_1 + 72 | 0; + $122_1 = $5_1 + 40 | 0; + HEAP32[($5_1 + 400 | 0) >> 2] = $109_1; + HEAP32[((HEAP32[($5_1 + 416 | 0) >> 2] | 0) + 328 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1908($119_1 | 0, HEAP32[($5_1 + 384 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 416 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 388 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 364 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 356 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + $506_1 = 0; + i64toi32_i32$1 = $122_1; + HEAP32[i64toi32_i32$1 >> 2] = $506_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $506_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $122_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $506_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 40 | 0) >> 2] = $119_1; + HEAP32[($5_1 + 44 | 0) >> 2] = 78; + HEAP32[($5_1 + 48 | 0) >> 2] = 77; + HEAP32[($5_1 + 64 | 0) >> 2] = $5_1 + 392 | 0; + HEAP32[($5_1 + 404 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + label$10 : { + label$11 : { + if (!(HEAP32[($5_1 + 356 | 0) >> 2] | 0)) { + break label$11 + } + break label$10; + } + label$12 : { + label$13 : { + if (!((HEAP32[($5_1 + 304 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $158_1 = 0; + $159_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($159_1 + 4 | 0) >> 2] = (HEAP32[($159_1 + 4 | 0) >> 2] | 0) & -2097153 | 0; + HEAP32[($5_1 + 84 | 0) >> 2] = $158_1; + $1341($5_1 + 72 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $158_1 | 0); + label$16 : { + label$17 : { + if (!((HEAPU8[((HEAP32[($5_1 + 416 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$17 + } + $169_1 = 7; + break label$16; + } + $169_1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 356 | 0) >> 2] = $169_1; + label$18 : { + if (HEAP32[($5_1 + 356 | 0) >> 2] | 0) { + break label$18 + } + $1549($5_1 + 40 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + } + label$19 : { + if (!(HEAP32[($5_1 + 356 | 0) >> 2] | 0)) { + break label$19 + } + break label$10; + } + break label$14; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $87(HEAP32[($5_1 + 380 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 304 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 404 | 0) >> 2] = HEAP32[($5_1 + 304 | 0) >> 2] | 0; + label$20 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$20 + } + $1909($5_1 + 72 | 0 | 0, $5_1 + 392 | 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 376 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0); + label$21 : { + if (!((HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$21 + } + $1909($5_1 + 72 | 0 | 0, $5_1 + 392 | 0 | 0, (HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 40 | 0 | 0); + } + $1550($5_1 + 40 | 0 | 0, HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + $1550($5_1 + 40 | 0 | 0, HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$23; + }; + } + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[($5_1 + 308 | 0) >> 2] | 0; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + $1550($5_1 + 40 | 0 | 0, HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$25; + }; + } + } + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + label$26 : { + label$27 : while (1) { + $253_1 = 16; + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $253_1 | 0) >> $253_1 | 0 | 0) & 1 | 0)) { + break label$26 + } + $1547($5_1 + 40 | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 32 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$27; + }; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$28 : { + label$29 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + label$30 : { + label$31 : while (1) { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$30 + } + label$32 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$32 + } + if (!((HEAP32[(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$32 + } + $1909($5_1 + 72 | 0 | 0, $5_1 + 392 | 0 | 0, ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0 | 0); + } + label$33 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 380 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$33 + } + if (!((0 | 0) == ($87(HEAP32[((((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 360 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$33 + } + $1909($5_1 + 72 | 0 | 0, $5_1 + 392 | 0 | 0, HEAP32[((((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$31; + }; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$29; + }; + } + } + break label$12; + } + label$34 : { + label$35 : { + if (!((HEAP32[($5_1 + 308 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$35 + } + $374_1 = $5_1 + 40 | 0; + $1550($374_1 | 0, HEAP32[((HEAP32[($5_1 + 308 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + $1547($374_1 | 0, HEAP32[((HEAP32[($5_1 + 308 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + break label$34; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1910($5_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 356 | 0) >> 2] = wasm2js_i32$1; + label$36 : { + if (!(HEAP32[($5_1 + 356 | 0) >> 2] | 0)) { + break label$36 + } + break label$10; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 312 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$37 : { + label$38 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$37 + } + label$39 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$39 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $348($5_1 + 72 | 0 | 0, 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 384 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$40 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$40 + } + label$41 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$41 + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1911($5_1 + 72 | 0 | 0, $5_1 + 392 | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 360 | 0) >> 2] | 0 | 0); + } + $437_1 = $5_1 + 72 | 0; + $440_1 = $5_1 + 392 | 0; + $1912($437_1 | 0, $440_1 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 360 | 0) >> 2] | 0 | 0); + $1911($437_1 | 0, $440_1 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 360 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + continue label$38; + }; + } + label$42 : { + if (!((HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$42 + } + $1912($5_1 + 72 | 0 | 0, $5_1 + 392 | 0 | 0, HEAP32[((HEAP32[($5_1 + 312 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 360 | 0) >> 2] | 0 | 0); + } + $1913($5_1 + 40 | 0 | 0, HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0); + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1914(HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0, $5_1 + 392 | 0 | 0, HEAP32[($5_1 + 388 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 372 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 368 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 356 | 0) >> 2] = wasm2js_i32$1; + } + label$43 : { + if (!(HEAP32[($5_1 + 356 | 0) >> 2] | 0)) { + break label$43 + } + label$44 : { + label$45 : { + if (!((HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$45 + } + $1915(HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($5_1 + 420 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 420 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $5_1 + 72 | 0 | 0); + break label$44; + } + $284(HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 356 | 0) >> 2] | 0 | 0); + } + } + $1916($5_1 + 72 | 0 | 0); + $1917(HEAP32[($5_1 + 416 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 392 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 416 | 0) >> 2] | 0) + 328 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + global$0 = $5_1 + 432 | 0; + return; + } + + function $1906($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2097152 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + $1644(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $13_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $13_1 | 0; + } + + function $1907($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $19_1 = 0, $55_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (77 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $1909(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + label$3 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$3 + } + $55_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $55_1 | 0) >> $55_1 | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $1909(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + } + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $1908($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $11_1 = 0, $74_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(HEAP32[($7_1 + 12 | 0) >> 2] | 0)) { + break label$2 + } + $11_1 = 1; + break label$1; + } + $11_1 = $122(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0; + } + HEAP8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 164 | 0) >> 0] = $11_1; + $3289(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, 280 | 0) | 0; + HEAP8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 204 | 0) >> 0] = 2; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 136 | 0) >> 2] = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $415(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, $7_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + label$3 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 8 | 0) >> 2] = 7; + } + label$4 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 236 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(107308 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + HEAP8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 164 | 0) >> 0] = 0; + $74_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $74_1 | 0; + } + + function $1909($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $36_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 276 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[(HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $36_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($36_1 + 4 | 0) >> 2] = (HEAP32[($36_1 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0; + continue label$2; + }; + } + return; + } + + function $1910($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $270_1 = 0, $7_1 = 0, $4_1 = 0, $67_1 = 0, $123_1 = 0, $140_1 = 0, $141_1 = 0, $152_1 = 0, $170_1 = 0, $184_1 = 0, $32_1 = 0, $173_1 = 0, $267_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 80 | 0; + global$0 = $3_1; + $4_1 = 0; + $7_1 = $3_1 + 32 | 0; + HEAP32[($3_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $4_1; + i64toi32_i32$0 = 0; + $270_1 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $270_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $270_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $270_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $270_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 32 | 0) >> 2] = HEAP32[($3_1 + 76 | 0) >> 2] | 0; + $32_1 = $361(HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (($350(HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 120 | 0) >> 2] = $32_1; + HEAP8[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 148 | 0) >> 0] = HEAPU8[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1332(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($3_1 + 28 | 0) >> 2] | 0) { + break label$2 + } + if (!((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1404($3_1 + 32 | 0 | 0, HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($3_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$3 : while (1) { + $67_1 = 0; + label$4 : { + if (HEAP32[($3_1 + 28 | 0) >> 2] | 0) { + break label$4 + } + $67_1 = (HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$5 : { + if (!($67_1 & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $1341(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $3_1 + 32 | 0 | 0); + label$7 : { + if (!(HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + } + label$8 : { + if (HEAP32[($3_1 + 28 | 0) >> 2] | 0) { + break label$8 + } + if (!((HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1830(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + label$10 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$11 : while (1) { + $123_1 = 0; + label$12 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $123_1 = (HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$13 : { + if (!($123_1 & 1 | 0)) { + break label$13 + } + HEAP32[($3_1 + 16 | 0) >> 2] = ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($3_1 + 20 | 0) >> 2] | 0, 72) | 0; + $140_1 = HEAP32[($3_1 + 76 | 0) >> 2] | 0; + $141_1 = HEAP32[($140_1 + 40 | 0) >> 2] | 0; + HEAP32[($140_1 + 40 | 0) >> 2] = $141_1 + 1 | 0; + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] = $141_1; + label$14 : { + label$15 : { + if (!((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $152_1 = 0; + $1341(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $152_1 | 0); + $1626(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $1341(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[($3_1 + 20 | 0) >> 2] | 0) - 1 | 0, 72) | 0) + 20 | 0) >> 2] | 0 | 0, $152_1 | 0); + break label$14; + } + $170_1 = 0; + $173_1 = $1323(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, $170_1 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = $173_1; + label$16 : { + label$17 : { + if (!((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == ($170_1 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 1; + break label$16; + } + $184_1 = HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($184_1 + 32 | 0) >> 2] = (HEAP32[($184_1 + 32 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1332(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + } + break label$11; + }; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + label$18 : { + if (HEAP32[($3_1 + 28 | 0) >> 2] | 0) { + break label$18 + } + if (!((HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1404($3_1 + 32 | 0 | 0, HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$19 : { + if (HEAP32[($3_1 + 28 | 0) >> 2] | 0) { + break label$19 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1437($3_1 + 32 | 0 | 0, HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$20 : { + if (!((HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 56 | 0) >> 2] = 512; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1437($3_1 + 32 | 0 | 0, HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (HEAP32[($3_1 + 28 | 0) >> 2] | 0) { + break label$21 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1437($3_1 + 32 | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$22 : { + if (HEAP32[($3_1 + 28 | 0) >> 2] | 0) { + break label$22 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1404($3_1 + 32 | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$23 : { + if (HEAP32[($3_1 + 28 | 0) >> 2] | 0) { + break label$23 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1404($3_1 + 32 | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($3_1 + 56 | 0) >> 2] = 0; + } + HEAP32[($3_1 + 36 | 0) >> 2] = 0; + $1143(HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + break label$9; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 7; + } + } + HEAP32[($3_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + $267_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 80 | 0; + return $267_1 | 0; + } + + function $1911($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $25_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $25_1 = 4; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << $25_1 | 0) | 0) + 8 | 0) >> 2] | 0; + label$4 : { + if (((HEAPU8[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << $25_1 | 0) | 0) + 13 | 0) >> 0] | 0) & 3 | 0) & 255 | 0) { + break label$4 + } + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((0 | 0) == ($87(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + $1909(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1912($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + label$4 : { + if (!((0 | 0) == ($87(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + $1909(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1913($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + $1547(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1549(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + $1547(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + $1550(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $1550(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + $1550(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + $1547(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + $1547(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + } + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $1549(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 72) | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1914($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, $120_1 = 0, $15_1 = 0, i64toi32_i32$0 = 0, $128_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $68(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $68(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $303(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 40 | 0) >> 2] = 0; + $15_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $351($15_1 | 0, 40243 | 0, $7_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 7; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $68(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($7_1 + 56 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + } + i64toi32_i32$1 = ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $308(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + $3288(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[(HEAP32[($7_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1922(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if (!($536((HEAPU8[(HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0)) { + break label$9 + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + break label$8; + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0; + label$10 : { + if (!((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $3290((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) | 0 | 0, (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) | 0 | 0, (HEAP32[($7_1 + 24 | 0) >> 2] | 0) - ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) | 0 | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) | 0; + HEAP8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0) >> 0] = 0; + } + $3288((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $13(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + continue label$7; + }; + } + $120_1 = -1; + $277(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, $120_1 | 0, $120_1 | 0); + $13(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + break label$4; + } + HEAP32[($7_1 + 40 | 0) >> 2] = 7; + } + $42(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + } + $128_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $128_1 | 0; + } + + function $1915($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $14_1 = 0, $15_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $14_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + $15_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $17_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0 ? 40269 : 1352; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = $17_1; + HEAP32[($7_1 + 4 | 0) >> 2] = $15_1; + HEAP32[$7_1 >> 2] = $14_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $79(40248 | 0, $7_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $263(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 48 | 0; + return; + } + + function $1916($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $21_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $216(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + } + $11(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0); + label$2 : { + label$3 : while (1) { + $21_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 236 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $21_1; + if (!(($21_1 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 236 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $1029(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + continue label$3; + }; + } + $10(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0); + $13(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $1917(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 276 | 0) >> 2] | 0 | 0); + $124(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1917($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0; + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0); + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1918($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $107_1 = 0, $314_1 = 0, $310_1 = 0, $315$hi = 0, $46_1 = 0, $49_1 = 0, $54_1 = 0, $309_1 = 0, $311$hi = 0, $312$hi = 0, $104_1 = 0, $116_1 = 0, $316$hi = 0, $317$hi = 0, $319$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 448 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 444 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 440 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 436 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 432 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 436 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 428 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 424 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 420 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 416 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 412 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 424 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 420 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 416 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $46_1 = $5_1 + 128 | 0; + $49_1 = $5_1 + 96 | 0; + $54_1 = $5_1 + 64 | 0; + HEAP32[($5_1 + 120 | 0) >> 2] = 1; + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 432 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 432 | 0) >> 2] | 0) + 328 | 0) >> 2] = 0; + $8(HEAP32[($5_1 + 432 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = 0; + $309_1 = 0; + i64toi32_i32$1 = $49_1; + HEAP32[i64toi32_i32$1 >> 2] = $309_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $309_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $361(HEAP32[($5_1 + 432 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 420 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + $310_1 = 0; + i64toi32_i32$1 = $54_1; + HEAP32[i64toi32_i32$1 >> 2] = $310_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $310_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $54_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $310_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 64 | 0) >> 2] = $46_1; + HEAP32[($5_1 + 68 | 0) >> 2] = 80; + HEAP32[($5_1 + 72 | 0) >> 2] = 79; + HEAP32[($5_1 + 88 | 0) >> 2] = $49_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1908($46_1 | 0, HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 432 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 424 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 412 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($5_1 + 124 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($5_1 + 432 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $311$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $312$hi = i64toi32_i32$1; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$1 = $312$hi; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $312$hi; + i64toi32_i32$3 = 67108864; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = i64toi32_i32$2 & i64toi32_i32$3 | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 360 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 52 | 0) >> 2] = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (HEAP32[($5_1 + 56 | 0) >> 2] | 0) { + break label$7 + } + $104_1 = $5_1 + 128 | 0; + $107_1 = $5_1 + 16 | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $314_1 = 0; + i64toi32_i32$2 = $107_1; + HEAP32[i64toi32_i32$2 >> 2] = $314_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$2 + 24 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $314_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $107_1 + 16 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $314_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $107_1 + 8 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $314_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 16 | 0) >> 2] = $104_1; + $116_1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + HEAP32[($116_1 + 4 | 0) >> 2] = (HEAP32[($116_1 + 4 | 0) >> 2] | 0) & -2097153 | 0; + $1341($104_1 | 0, HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $107_1 | 0); + label$8 : { + label$9 : { + if (!(HEAP32[($5_1 + 164 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($5_1 + 124 | 0) >> 2] = HEAP32[($5_1 + 140 | 0) >> 2] | 0; + break label$8; + } + $1549($5_1 + 64 | 0 | 0, HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + } + break label$5; + } + label$10 : { + label$11 : { + if (!(HEAP32[($5_1 + 56 | 0) >> 2] | 0)) { + break label$11 + } + i64toi32_i32$0 = 0; + $315$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($5_1 + 432 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $316$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $317$hi = i64toi32_i32$2; + i64toi32_i32$2 = $316$hi; + i64toi32_i32$2 = $317$hi; + i64toi32_i32$2 = $316$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $317$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $319$hi = i64toi32_i32$0; + i64toi32_i32$0 = $315$hi; + i64toi32_i32$0 = $319$hi; + i64toi32_i32$0 = $315$hi; + i64toi32_i32$0 = $319$hi; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $315$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$10 + } + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + label$14 : { + if ($87(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 420 | 0) >> 2] | 0 | 0) | 0) { + break label$14 + } + $1909($5_1 + 128 | 0 | 0, $5_1 + 96 | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$13; + }; + } + } + label$15 : { + if ($87(HEAP32[($5_1 + 420 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) { + break label$15 + } + HEAP32[($5_1 + 108 | 0) >> 2] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + label$16 : { + if (HEAP32[($5_1 + 56 | 0) >> 2] | 0) { + break label$16 + } + $1550($5_1 + 64 | 0 | 0, HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + } + $1909($5_1 + 128 | 0 | 0, $5_1 + 96 | 0 | 0, HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + } + break label$3; + } + label$17 : { + label$18 : { + if (!((HEAP32[($5_1 + 364 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + $1909($5_1 + 128 | 0 | 0, $5_1 + 96 | 0 | 0, HEAP32[(HEAP32[($5_1 + 364 | 0) >> 2] | 0) >> 2] | 0 | 0); + label$19 : { + if (HEAP32[($5_1 + 56 | 0) >> 2] | 0) { + break label$19 + } + $1547($5_1 + 64 | 0 | 0, HEAP32[((HEAP32[($5_1 + 364 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + } + break label$17; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 368 | 0) >> 2] | 0; + label$20 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 420 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$20 + } + if (!((HEAP32[((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + $1909($5_1 + 128 | 0 | 0, $5_1 + 96 | 0 | 0, HEAP32[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + label$21 : { + if (HEAP32[($5_1 + 56 | 0) >> 2] | 0) { + break label$21 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1910($5_1 + 128 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (HEAP32[($5_1 + 124 | 0) >> 2] | 0) { + break label$22 + } + $1913($5_1 + 64 | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + label$25 : { + if (!((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 420 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$25 + } + $1909($5_1 + 128 | 0 | 0, $5_1 + 96 | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + continue label$24; + }; + } + } + } + } + } + } + label$26 : { + if (HEAP32[($5_1 + 124 | 0) >> 2] | 0) { + break label$26 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1914(HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0, $5_1 + 96 | 0 | 0, HEAP32[($5_1 + 424 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 416 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + } + label$27 : { + if (!(HEAP32[($5_1 + 124 | 0) >> 2] | 0)) { + break label$27 + } + label$28 : { + label$29 : { + if (!((HEAP32[($5_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$29 + } + $1915(HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $5_1 + 128 | 0 | 0); + break label$28; + } + $284(HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0); + } + } + $1916($5_1 + 128 | 0 | 0); + $1917(HEAP32[($5_1 + 432 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 432 | 0) >> 2] | 0) + 328 | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + } + global$0 = $5_1 + 448 | 0; + return; + } + + function $1919($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $58_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2097152 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 72) | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $1909(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $1644(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $58_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $58_1 | 0; + } + + function $1920($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$1 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $1909(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $1921($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $66_1 = 0, $126_1 = 0, $6_1 = 0, $123$hi = 0, $124$hi = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 368 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 364 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 360 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 356 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 364 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 352 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 356 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 348 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 344 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 340 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 352 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $123$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $124$hi = i64toi32_i32$1; + i64toi32_i32$1 = $123$hi; + i64toi32_i32$1 = $124$hi; + i64toi32_i32$1 = $123$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $124$hi; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + HEAP32[($5_1 + 336 | 0) >> 2] = i64toi32_i32$2 & 67108864 | 0; + HEAP32[($5_1 + 332 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 328 | 0) >> 2] = $6_1; + label$1 : { + if (!((HEAP32[($5_1 + 348 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 344 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1908($5_1 + 48 | 0 | 0, HEAP32[($5_1 + 348 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 352 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 344 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 340 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 328 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($5_1 + 328 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + label$4 : { + if (HEAP32[($5_1 + 336 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[($5_1 + 280 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($5_1 + 280 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $63_1 = $5_1 + 48 | 0; + $66_1 = $5_1 + 16 | 0; + i64toi32_i32$0 = 0; + $126_1 = 0; + i64toi32_i32$2 = $66_1; + HEAP32[i64toi32_i32$2 >> 2] = $126_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$2 + 24 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $126_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $66_1 + 16 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $126_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $66_1 + 8 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $126_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 16 | 0) >> 2] = $63_1; + $1341($63_1 | 0, HEAP32[((HEAP32[($5_1 + 280 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $66_1 | 0); + label$5 : { + if (!(HEAP32[($5_1 + 84 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($5_1 + 328 | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + } + break label$3; + } + label$6 : { + if (!((HEAP32[($5_1 + 288 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (HEAP32[($5_1 + 336 | 0) >> 2] | 0) { + break label$7 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1910($5_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 328 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + if (HEAP32[($5_1 + 328 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $350(HEAP32[($5_1 + 352 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 288 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $122(HEAP32[($5_1 + 352 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 348 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $267(HEAP32[($5_1 + 364 | 0) >> 2] | 0 | 0, 1 | 0); + } + } + } + } + } + label$10 : { + if (!(HEAP32[($5_1 + 328 | 0) >> 2] | 0)) { + break label$10 + } + $1915(HEAP32[($5_1 + 364 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 48 | 0 | 0); + } + $1916($5_1 + 48 | 0 | 0); + } + HEAP32[((HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 328 | 0) >> 2] = HEAP32[($5_1 + 332 | 0) >> 2] | 0; + global$0 = $5_1 + 368 | 0; + return; + } + + function $1922($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[$3_1 >> 2] = (HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] | 0) + 12 | 0; + continue label$5; + }; + } + HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $1923($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $16_1 = 0, $19$hi = 0, $20$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 8 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $16_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $20$hi = i64toi32_i32$1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$2 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $20$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $16_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1924($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $19_1 = 0, $19$hi = 0, $8_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 8 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $8_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $19_1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + $19$hi = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = 0; + $19_1 = 0; + $19$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $19$hi; + $270($8_1 | 0, $19_1 | 0, i64toi32_i32$1 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1925($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1926($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $24$hi = 0, $26$hi = 0, $18_1 = 0, $29$hi = 0, $30$hi = 0, i64toi32_i32$4 = 0, $28_1 = 0, $28$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $24$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$3 = 0; + label$2 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = 0; + $28_1 = 0; + $28$hi = i64toi32_i32$2; + $18_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = $18_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $29$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $30$hi = i64toi32_i32$1; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$3 = $18_1; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $28$hi; + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] = $28_1; + HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $270(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$3 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1927($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, $25$hi = 0, $16_1 = 0, $26$hi = 0, $27$hi = 0, i64toi32_i32$4 = 0, $30$hi = 0, $25_1 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $25_1 = 0; + $25$hi = i64toi32_i32$0; + $16_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $16_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $27$hi = i64toi32_i32$1; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $16_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$2; + i64toi32_i32$2 = $25$hi; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$2 = $25$hi; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $25$hi; + i64toi32_i32$3 = $25_1; + label$2 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$3 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $93_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $93_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1928($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $19$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $19$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $270(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$1 = $19$hi; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1929($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $16_1 = 0, $19$hi = 0, $20$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $16_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $20$hi = i64toi32_i32$1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $20$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $16_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1930($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $3_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $27$hi = 0, i64toi32_i32$5 = 0, $30$hi = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $33$hi = 0, $34$hi = 0, $74_1 = 0, $36_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $27$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $74_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $74_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$3 = 1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + label$2 : { + label$3 : { + if (!($13_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + i64toi32_i32$3 = 0; + $36_1 = +(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0); + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $33$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $34$hi = i64toi32_i32$2; + i64toi32_i32$2 = $33$hi; + i64toi32_i32$2 = $34$hi; + i64toi32_i32$2 = $33$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$2 = 0; + HEAPF64[$3_1 >> 3] = $36_1 / (+(i64toi32_i32$3 >>> 0) + 4294967296.0 * +(i64toi32_i32$5 | 0)); + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+HEAPF64[$3_1 >> 3])); + break label$2; + } + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+(0 | 0))); + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1931($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $9_1 = 0, $12$hi = 0, $13$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $9_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $13$hi = i64toi32_i32$1; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $13$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $9_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$5; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1932($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $16_1 = 0, $19$hi = 0, $20$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $16_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $20$hi = i64toi32_i32$1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $20$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $16_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1933($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $20_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + $20_1 = +(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0); + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + HEAPF64[$3_1 >> 3] = $20_1 / (+(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0)); + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+HEAPF64[$3_1 >> 3])); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1934($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $9_1 = 0, $12$hi = 0, $13$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $9_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $13$hi = i64toi32_i32$1; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $13$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $9_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$5; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1935($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $5_1 = 0, i64toi32_i32$3 = 0, $33$hi = 0, $37$hi = 0, i64toi32_i32$5 = 0, $35$hi = 0, $40$hi = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $30_1 = 0, $42$hi = 0, $43$hi = 0, i64toi32_i32$4 = 0, $98_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $33$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $35$hi = i64toi32_i32$1; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$3 = 0; + label$2 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = 0; + $37$hi = i64toi32_i32$2; + i64toi32_i32$2 = $62(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $98_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = $98_1; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $40$hi = i64toi32_i32$2; + i64toi32_i32$2 = $37$hi; + i64toi32_i32$2 = $40$hi; + i64toi32_i32$2 = $37$hi; + i64toi32_i32$2 = $40$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $18_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 > i64toi32_i32$0 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $18_1 = $20_1; + } + label$3 : { + if (!($18_1 & 1 | 0)) { + break label$3 + } + $263(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 40294 | 0, -1 | 0); + } + } + $30_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = $30_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $42$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $43$hi = i64toi32_i32$2; + i64toi32_i32$2 = $42$hi; + i64toi32_i32$2 = $43$hi; + i64toi32_i32$2 = $42$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $43$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $30_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1936($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $3_1 = 0, $46$hi = 0, i64toi32_i32$6 = 0, $65$hi = 0, $66$hi = 0, $48$hi = 0, $58_1 = 0, $59_1 = 0, $60_1 = 0, $50$hi = 0, $51$hi = 0, $53$hi = 0, $54$hi = 0, $56$hi = 0, $57$hi = 0, $58$hi = 0, $59$hi = 0, $61$hi = 0, $62$hi = 0, $62_1 = 0, $63_1 = 0, $64_1 = 0, $69$hi = 0, $70$hi = 0, $71$hi = 0, $72$hi = 0, $74$hi = 0, $75$hi = 0, $76$hi = 0, $77$hi = 0, $78$hi = 0, $79$hi = 0, $80$hi = 0, $81$hi = 0, $50_1 = 0, $132_1 = 0, $22_1 = 0, $56_1 = 0, $57_1 = 0, $166_1 = 0, $169_1 = 0, $61_1 = 0, $184_1 = 0, $187_1 = 0, $193_1 = 0, $65_1 = 0, $201_1 = 0, $36_1 = 0, $69_1 = 0, $221_1 = 0, $41_1 = 0, $76_1 = 0, $77_1 = 0, $240_1 = 0, $248_1 = 0, $251_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $46$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $58_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $59_1 = 0 + } else { + $59_1 = 1 + } + $60_1 = $59_1; + } else { + $60_1 = 0 + } + $58_1 = $60_1; + } + if (!($58_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $50_1 = i64toi32_i32$2; + $50$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $51$hi = i64toi32_i32$2; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$2 = $51$hi; + $132_1 = i64toi32_i32$1; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = __wasm_i64_sdiv($50_1 | 0, i64toi32_i32$2 | 0, $132_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + HEAP32[($3_1 + 36 | 0) >> 2] = i64toi32_i32$1; + label$2 : { + label$3 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$3 + } + $22_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $53$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $54$hi = i64toi32_i32$1; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $54$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $270($22_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0); + break label$2; + } + i64toi32_i32$1 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $56_1 = i64toi32_i32$5; + $56$hi = i64toi32_i32$3; + i64toi32_i32$1 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $57_1 = i64toi32_i32$3; + $57$hi = i64toi32_i32$5; + i64toi32_i32$3 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $58$hi = i64toi32_i32$5; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$5 = $58$hi; + $166_1 = i64toi32_i32$3; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$3 = $58$hi; + i64toi32_i32$3 = __wasm_i64_mul($57_1 | 0, i64toi32_i32$5 | 0, $166_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $59$hi = i64toi32_i32$5; + i64toi32_i32$5 = $56$hi; + i64toi32_i32$5 = $59$hi; + $169_1 = i64toi32_i32$3; + i64toi32_i32$5 = $56$hi; + i64toi32_i32$1 = $56_1; + i64toi32_i32$3 = $59$hi; + i64toi32_i32$0 = $169_1; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $61_1 = i64toi32_i32$4; + $61$hi = i64toi32_i32$1; + i64toi32_i32$4 = (HEAP32[(i64toi32_i32$5 + 36 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$1 = i64toi32_i32$4 >> 31 | 0; + $62$hi = i64toi32_i32$1; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $62$hi; + $184_1 = i64toi32_i32$4; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$4 = $62$hi; + i64toi32_i32$4 = __wasm_i64_mul($61_1 | 0, i64toi32_i32$1 | 0, $184_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $187_1 = i64toi32_i32$4; + i64toi32_i32$4 = i64toi32_i32$5; + HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] = $187_1; + HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $193_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $193_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $65_1 = i64toi32_i32$4; + $65$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $66$hi = i64toi32_i32$4; + i64toi32_i32$4 = $65$hi; + i64toi32_i32$4 = $66$hi; + i64toi32_i32$4 = $65$hi; + i64toi32_i32$4 = $66$hi; + $201_1 = i64toi32_i32$1; + i64toi32_i32$4 = $65$hi; + i64toi32_i32$5 = $65_1; + i64toi32_i32$1 = $66$hi; + i64toi32_i32$0 = $201_1; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$1 | 0)) { + $62_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$0 >>> 0) { + $63_1 = 0 + } else { + $63_1 = 1 + } + $64_1 = $63_1; + } else { + $64_1 = 0 + } + $62_1 = $64_1; + } + label$4 : { + label$5 : { + if (!($62_1 & 1 | 0)) { + break label$5 + } + $36_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = $3_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $69_1 = i64toi32_i32$5; + $69$hi = i64toi32_i32$4; + i64toi32_i32$5 = (HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $70$hi = i64toi32_i32$4; + i64toi32_i32$4 = $69$hi; + i64toi32_i32$4 = $70$hi; + $221_1 = i64toi32_i32$5; + i64toi32_i32$4 = $69$hi; + i64toi32_i32$5 = $70$hi; + i64toi32_i32$5 = __wasm_i64_sdiv($69_1 | 0, i64toi32_i32$4 | 0, $221_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $71$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $72$hi = i64toi32_i32$4; + i64toi32_i32$4 = $71$hi; + i64toi32_i32$4 = $72$hi; + i64toi32_i32$4 = $71$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $72$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $270($36_1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0); + break label$4; + } + $41_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$4 = $3_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 28 | 0) >> 2] | 0; + $74$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $75$hi = i64toi32_i32$0; + i64toi32_i32$0 = $74$hi; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$0 = $74$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $75$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $76_1 = i64toi32_i32$5; + $76$hi = i64toi32_i32$3; + i64toi32_i32$0 = $3_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $77_1 = i64toi32_i32$3; + $77$hi = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$3; + i64toi32_i32$3 = $77$hi; + i64toi32_i32$3 = $78$hi; + $240_1 = i64toi32_i32$4; + i64toi32_i32$3 = $77$hi; + i64toi32_i32$0 = $77_1; + i64toi32_i32$4 = $78$hi; + i64toi32_i32$1 = $240_1; + i64toi32_i32$2 = i64toi32_i32$0 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + $79$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $80$hi = i64toi32_i32$5; + i64toi32_i32$5 = $79$hi; + i64toi32_i32$5 = $80$hi; + $248_1 = i64toi32_i32$0; + i64toi32_i32$5 = $79$hi; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$0 = __wasm_i64_sdiv(i64toi32_i32$2 | 0, i64toi32_i32$5 | 0, $248_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $81$hi = i64toi32_i32$5; + i64toi32_i32$5 = $76$hi; + i64toi32_i32$5 = $81$hi; + $251_1 = i64toi32_i32$0; + i64toi32_i32$5 = $76$hi; + i64toi32_i32$3 = $76_1; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$1 = $251_1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $270($41_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$2 | 0); + } + } + } + global$0 = $3_1 + 48 | 0; + return; + } + + function $1937($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $9_1 = 0, $12$hi = 0, $13$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $9_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $13$hi = i64toi32_i32$1; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $13$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $9_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1938($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $31_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 8 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $253(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0); + $21_1 = $250(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = $21_1; + label$2 : { + label$3 : { + if (!((HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $286(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + break label$2; + } + $31_1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[($31_1 + 4 | 0) >> 2] = (HEAP32[($31_1 + 4 | 0) >> 2] | 0) + 1 | 0; + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1939($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 8 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $280(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0); + $253(HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] = 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1940($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $280(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1941($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 8 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[($16_1 + 4 | 0) >> 2] = (HEAP32[($16_1 + 4 | 0) >> 2] | 0) + -1 | 0; + label$2 : { + if (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$2 + } + $253(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = 0; + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1942($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$0 = 0, $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0.0, i64toi32_i32$6 = 0, i64toi32_i32$3 = 0, $68$hi = 0, $75$hi = 0, $76$hi = 0, $20_1 = 0, $80_1 = 0.0, $29_1 = 0, $30_1 = 0, $61_1 = 0, $61$hi = 0, $85_1 = 0.0, $31_1 = 0, $32_1 = 0, $65_1 = 0, $65$hi = 0, $70$hi = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $72$hi = 0, $73$hi = 0, i64toi32_i32$5 = 0, $138_1 = 0, $75_1 = 0, $221_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $20_1 = ($342(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$4 : { + label$5 : { + switch ($20_1 | 0) { + case 0: + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $138_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $138_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + break label$4; + case 1: + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0)), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + $80_1 = +HEAPF64[$5_1 >> 3]; + label$8 : { + label$9 : { + if (!(Math_abs($80_1) < 9223372036854775808.0)) { + break label$9 + } + i64toi32_i32$2 = $80_1; + if (Math_abs(i64toi32_i32$2) >= 1.0) { + if (i64toi32_i32$2 > 0.0) { + $29_1 = ~~Math_min(Math_floor(i64toi32_i32$2 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $29_1 = ~~Math_ceil((i64toi32_i32$2 - +(~~i64toi32_i32$2 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $30_1 = $29_1; + } else { + $30_1 = 0 + } + i64toi32_i32$1 = $30_1; + $61_1 = ~~i64toi32_i32$2 >>> 0; + $61$hi = i64toi32_i32$1; + break label$8; + } + i64toi32_i32$1 = -2147483648; + $61_1 = 0; + $61$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $61$hi; + i64toi32_i32$0 = $61_1; + i64toi32_i32$3 = 0; + label$10 : { + if (!(+(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0) != +HEAPF64[$5_1 >> 3] & 1 | 0)) { + break label$10 + } + break label$2; + } + $85_1 = +HEAPF64[$5_1 >> 3]; + label$11 : { + label$12 : { + if (!(Math_abs($85_1) < 9223372036854775808.0)) { + break label$12 + } + i64toi32_i32$2 = $85_1; + if (Math_abs(i64toi32_i32$2) >= 1.0) { + if (i64toi32_i32$2 > 0.0) { + $31_1 = ~~Math_min(Math_floor(i64toi32_i32$2 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $31_1 = ~~Math_ceil((i64toi32_i32$2 - +(~~i64toi32_i32$2 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $32_1 = $31_1; + } else { + $32_1 = 0 + } + i64toi32_i32$1 = $32_1; + $65_1 = ~~i64toi32_i32$2 >>> 0; + $65$hi = i64toi32_i32$1; + break label$11; + } + i64toi32_i32$1 = -2147483648; + $65_1 = 0; + $65$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $65$hi; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $65_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + break label$4; + default: + break label$5; + }; + } + break label$2; + } + i64toi32_i32$1 = 0; + $68$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $70$hi = i64toi32_i32$0; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$4 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $33_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 > i64toi32_i32$4 >>> 0) { + $34_1 = 0 + } else { + $34_1 = 1 + } + $35_1 = $34_1; + } else { + $35_1 = 0 + } + $33_1 = $35_1; + } + label$13 : { + if (!($33_1 & 1 | 0)) { + break label$13 + } + break label$2; + } + $36_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = $36_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $72$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $73$hi = i64toi32_i32$0; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$3 = $73$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$6 = i64toi32_i32$6 + 1 | 0 + } + i64toi32_i32$4 = $36_1; + HEAP32[i64toi32_i32$4 >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$6; + i64toi32_i32$0 = $5_1; + i64toi32_i32$6 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $75_1 = i64toi32_i32$6; + $75$hi = i64toi32_i32$4; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$6 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $76$hi = i64toi32_i32$6; + i64toi32_i32$6 = $75$hi; + i64toi32_i32$6 = $76$hi; + i64toi32_i32$6 = $75$hi; + i64toi32_i32$6 = $76$hi; + $221_1 = i64toi32_i32$4; + i64toi32_i32$6 = $75$hi; + i64toi32_i32$0 = $75_1; + i64toi32_i32$4 = $76$hi; + i64toi32_i32$1 = $221_1; + label$14 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$6 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$14 + } + $44_1 = $250(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = $44_1; + label$15 : { + if ((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$15 + } + $286(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + } + } + } + break label$1; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 32976 | 0, -1 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1943($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $280(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $253(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1944($0_1) { + $0_1 = $0_1 | 0; + HEAP32[((global$0 - 16 | 0) + 12 | 0) >> 2] = $0_1; + return; + } + + function $1945($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + $27_1 = $250(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] = $27_1; + label$2 : { + if ((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + $286(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1946($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $280(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $253(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1947($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + label$1 : { + if ($1948(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0) { + break label$1 + } + $1949($5_1 | 0); + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $260(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, +((+(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0)) / 864.0e5)); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $1948($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $107_1 = 0, $7_1 = 0, $25_1 = 0, $97_1 = 0, i64toi32_i32$2 = 0, $104_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + $7_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $107_1 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $107_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $107_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $107_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $107_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $107_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $107_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (HEAP32[($6_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1960(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $25_1 = $248(HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $25_1; + label$3 : { + label$4 : { + label$5 : { + if (($25_1 | 0) == (2 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + } + $1961(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, +(+$65(HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0))); + break label$3; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!($1962(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($6_1 + 24 | 0) >> 2] = 1; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : { + if ((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$11 + } + if (!($1963(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$10 + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + $1949(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0); + $97_1 = 24; + label$12 : { + label$13 : { + if (((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) << $97_1 | 0) >> $97_1 | 0) { + break label$13 + } + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + if ($1964(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0) { + break label$12 + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $104_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $104_1 | 0; + } + + function $1949($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0.0, i64toi32_i32$5 = 0, i64toi32_i32$6 = 0, i64toi32_i32$4 = 0, $153$hi = 0, $135_1 = 0, $30_1 = 0, $48_1 = 0, $166_1 = 0.0, $31_1 = 0, $32_1 = 0, $148_1 = 0, $148$hi = 0, $151$hi = 0, $171_1 = 0.0, $33_1 = 0, $34_1 = 0, $153_1 = 0, $156$hi = 0, $125_1 = 0, $159$hi = 0, $141_1 = 0, $65_1 = 0, $66_1 = 0, $111_1 = 0, $151_1 = 0, $463$hi = 0, $159_1 = 0, $500$hi = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 42 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$3; + } + $30_1 = 1; + HEAP32[($3_1 + 24 | 0) >> 2] = 2e3; + HEAP32[($3_1 + 20 | 0) >> 2] = $30_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $30_1; + } + label$5 : { + label$6 : { + if ((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (-4713 | 0) & 1 | 0) { + break label$6 + } + if ((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) > (9999 | 0) & 1 | 0) { + break label$6 + } + $48_1 = 24; + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 41 | 0) >> 0] | 0) << $48_1 | 0) >> $48_1 | 0)) { + break label$5 + } + } + $1965(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + break label$1; + } + label$7 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) <= (2 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0; + } + $65_1 = 0; + $66_1 = 1; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) / (100 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (2 - (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) / (4 | 0) | 0) | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = (Math_imul((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4716 | 0, 36525) | 0) / (100 | 0) | 0; + HEAP32[$3_1 >> 2] = (Math_imul((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0, 306001) | 0) / (1e4 | 0) | 0; + $166_1 = (+((((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + (HEAP32[$3_1 >> 2] | 0) | 0) + (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0) + (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0 | 0) - 1524.5) * 864.0e5; + label$8 : { + label$9 : { + if (!(Math_abs($166_1) < 9223372036854775808.0)) { + break label$9 + } + i64toi32_i32$0 = $166_1; + if (Math_abs(i64toi32_i32$0) >= 1.0) { + if (i64toi32_i32$0 > 0.0) { + $31_1 = ~~Math_min(Math_floor(i64toi32_i32$0 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $31_1 = ~~Math_ceil((i64toi32_i32$0 - +(~~i64toi32_i32$0 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $32_1 = $31_1; + } else { + $32_1 = 0 + } + i64toi32_i32$1 = $32_1; + $148_1 = ~~i64toi32_i32$0 >>> 0; + $148$hi = i64toi32_i32$1; + break label$8; + } + i64toi32_i32$1 = -2147483648; + $148_1 = 0; + $148$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $148$hi; + i64toi32_i32$2 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $148_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 0] = $66_1; + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != ($65_1 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $111_1 = 0; + i64toi32_i32$2 = Math_imul(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0, 36e5) + Math_imul(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0, 6e4) | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $151_1 = i64toi32_i32$2; + $151$hi = i64toi32_i32$1; + $171_1 = +HEAPF64[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 3] * 1.0e3; + label$10 : { + label$11 : { + if (!(Math_abs($171_1) < 9223372036854775808.0)) { + break label$11 + } + i64toi32_i32$0 = $171_1; + if (Math_abs(i64toi32_i32$0) >= 1.0) { + if (i64toi32_i32$0 > 0.0) { + $33_1 = ~~Math_min(Math_floor(i64toi32_i32$0 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $33_1 = ~~Math_ceil((i64toi32_i32$0 - +(~~i64toi32_i32$0 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $34_1 = $33_1; + } else { + $34_1 = 0 + } + i64toi32_i32$1 = $34_1; + $153_1 = ~~i64toi32_i32$0 >>> 0; + $153$hi = i64toi32_i32$1; + break label$10; + } + i64toi32_i32$1 = -2147483648; + $153_1 = 0; + $153$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $153$hi; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$1 = $153$hi; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$3 = $151_1; + i64toi32_i32$2 = $153$hi; + i64toi32_i32$4 = $153_1; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + i64toi32_i32$6 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$6 = i64toi32_i32$6 + 1 | 0 + } + $156$hi = i64toi32_i32$6; + $125_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = $125_1; + i64toi32_i32$6 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $463$hi = i64toi32_i32$3; + i64toi32_i32$3 = $156$hi; + i64toi32_i32$3 = $463$hi; + i64toi32_i32$1 = i64toi32_i32$6; + i64toi32_i32$6 = $156$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$6 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = $125_1; + HEAP32[i64toi32_i32$1 >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$5; + label$12 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0) != ($111_1 & 255 | 0 | 0) & 1 | 0)) { + break label$12 + } + $135_1 = 0; + i64toi32_i32$1 = Math_imul(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0, 6e4); + i64toi32_i32$5 = i64toi32_i32$1 >> 31 | 0; + $159_1 = i64toi32_i32$1; + $159$hi = i64toi32_i32$5; + $141_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$3 = $141_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $500$hi = i64toi32_i32$1; + i64toi32_i32$1 = $159$hi; + i64toi32_i32$1 = $500$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $159$hi; + i64toi32_i32$4 = $159_1; + i64toi32_i32$6 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + i64toi32_i32$2 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0) + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$2 | 0; + i64toi32_i32$3 = $141_1; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$6; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 42 | 0) >> 0] = $135_1; + HEAP8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 43 | 0) >> 0] = $135_1; + HEAP8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 0] = $135_1; + } + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $1950($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $24_1 = 0, $19_1 = 0, $20_1 = 0; + $5_1 = global$0 - 192 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 188 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 184 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 180 | 0) >> 2] = $2_1; + label$1 : { + if ($1948(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, $5_1 + 128 | 0 | 0) | 0) { + break label$1 + } + $1951($5_1 + 128 | 0 | 0); + $19_1 = HEAP32[($5_1 + 136 | 0) >> 2] | 0; + $20_1 = HEAP32[($5_1 + 140 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 144 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $20_1; + HEAP32[$5_1 >> 2] = $19_1; + $81(100 | 0, $5_1 + 16 | 0 | 0, 40810 | 0, $5_1 | 0) | 0; + $24_1 = -1; + $277(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0, $24_1 | 0, $24_1 | 0); + } + global$0 = $5_1 + 192 | 0; + return; + } + + function $1951($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $24_1 = 0, $132_1 = 0.0, $127$hi = 0, $128$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $129$hi = 0, $130$hi = 0, $139_1 = 0.0, $39_1 = 0, $144_1 = 0.0, $58_1 = 0, $148_1 = 0.0, $74_1 = 0, $152_1 = 0.0, $81_1 = 0, $99_1 = 0, $116_1 = 0, $32_1 = 0, $133_1 = 0.0, $134_1 = 0.0, $135_1 = 0.0, $136_1 = 0.0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 42 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$4 + } + $24_1 = 1; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = 2e3; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = $24_1; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = $24_1; + break label$3; + } + i64toi32_i32$2 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + label$5 : { + if ($1964(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0) { + break label$5 + } + $1965(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + break label$1; + } + $32_1 = 14; + $132_1 = 30.6001; + $133_1 = 365.25; + $134_1 = 122.1; + $135_1 = 36524.25; + $136_1 = 1867216.25; + i64toi32_i32$2 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $127$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $128$hi = i64toi32_i32$0; + i64toi32_i32$0 = $127$hi; + i64toi32_i32$0 = $128$hi; + i64toi32_i32$0 = $127$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $128$hi; + i64toi32_i32$3 = 432e5; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $129$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $130$hi = i64toi32_i32$5; + i64toi32_i32$5 = $129$hi; + i64toi32_i32$5 = $130$hi; + i64toi32_i32$5 = $129$hi; + i64toi32_i32$2 = $130$hi; + i64toi32_i32$2 = __wasm_i64_sdiv(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, 864e5 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + HEAP32[($3_1 + 24 | 0) >> 2] = i64toi32_i32$2; + $139_1 = (+(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) - $136_1) / $135_1; + label$6 : { + label$7 : { + if (!(Math_abs($139_1) < 2147483648.0)) { + break label$7 + } + $39_1 = ~~$139_1; + break label$6; + } + $39_1 = -2147483648; + } + HEAP32[($3_1 + 20 | 0) >> 2] = $39_1; + HEAP32[($3_1 + 20 | 0) >> 2] = (((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0) + (HEAP32[($3_1 + 20 | 0) >> 2] | 0) | 0) - ((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) / (4 | 0) | 0) | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1524 | 0; + $144_1 = (+(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) - $134_1) / $133_1; + label$8 : { + label$9 : { + if (!(Math_abs($144_1) < 2147483648.0)) { + break label$9 + } + $58_1 = ~~$144_1; + break label$8; + } + $58_1 = -2147483648; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $58_1; + HEAP32[($3_1 + 8 | 0) >> 2] = (Math_imul((HEAP32[($3_1 + 12 | 0) >> 2] | 0) & 32767 | 0, 36525) | 0) / (100 | 0) | 0; + $148_1 = +((HEAP32[($3_1 + 16 | 0) >> 2] | 0) - (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0 | 0) / $132_1; + label$10 : { + label$11 : { + if (!(Math_abs($148_1) < 2147483648.0)) { + break label$11 + } + $74_1 = ~~$148_1; + break label$10; + } + $74_1 = -2147483648; + } + HEAP32[($3_1 + 4 | 0) >> 2] = $74_1; + $152_1 = $132_1 * +(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + label$12 : { + label$13 : { + if (!(Math_abs($152_1) < 2147483648.0)) { + break label$13 + } + $81_1 = ~~$152_1; + break label$12; + } + $81_1 = -2147483648; + } + HEAP32[$3_1 >> 2] = $81_1; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) - (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0) - (HEAP32[$3_1 >> 2] | 0) | 0; + label$14 : { + label$15 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < ($32_1 | 0) & 1 | 0)) { + break label$15 + } + $99_1 = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) - 1 | 0; + break label$14; + } + $99_1 = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) - 13 | 0; + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = $99_1; + label$16 : { + label$17 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$17 + } + $116_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) - 4716 | 0; + break label$16; + } + $116_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) - 4715 | 0; + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = $116_1; + } + HEAP8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 42 | 0) >> 0] = 1; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $1952($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $36_1 = 0.0, $24_1 = 0, $29_1 = 0, $15_1 = 0, $19_1 = 0, $20_1 = 0; + $5_1 = global$0 - 192 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 188 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 184 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 180 | 0) >> 2] = $2_1; + label$1 : { + if ($1948(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, $5_1 + 128 | 0 | 0) | 0) { + break label$1 + } + $15_1 = $5_1 + 16 | 0; + $1953($5_1 + 128 | 0 | 0); + $19_1 = HEAP32[($5_1 + 148 | 0) >> 2] | 0; + $20_1 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + $36_1 = +HEAPF64[($5_1 + 160 | 0) >> 3]; + label$2 : { + label$3 : { + if (!(Math_abs($36_1) < 2147483648.0)) { + break label$3 + } + $24_1 = ~~$36_1; + break label$2; + } + $24_1 = -2147483648; + } + HEAP32[($5_1 + 8 | 0) >> 2] = $24_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $20_1; + HEAP32[$5_1 >> 2] = $19_1; + $81(100 | 0, $15_1 | 0, 40825 | 0, $5_1 | 0) | 0; + $29_1 = -1; + $277(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0, $29_1 | 0, $29_1 | 0); + } + global$0 = $5_1 + 192 | 0; + return; + } + + function $1953($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $55$hi = 0, $56$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $57$hi = 0, $58$hi = 0, $63_1 = 0.0, $25_1 = 0, $29_1 = 0, $50_1 = 0, $14_1 = 0, $15_1 = 0, $60_1 = 0.0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $14_1 = 1; + $15_1 = 0; + $60_1 = 1.0e3; + $1949(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $55$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $56$hi = i64toi32_i32$1; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$2 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$3 = 432e5; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $56$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $57$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $58$hi = i64toi32_i32$5; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$5 = $58$hi; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$2 = __wasm_i64_srem(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, 864e5 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + HEAP32[($3_1 + 8 | 0) >> 2] = i64toi32_i32$2; + HEAPF64[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 3] = +(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) / $60_1; + $63_1 = +HEAPF64[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 3]; + label$3 : { + label$4 : { + if (!(Math_abs($63_1) < 2147483648.0)) { + break label$4 + } + $25_1 = ~~$63_1; + break label$3; + } + $25_1 = -2147483648; + } + HEAP32[($3_1 + 8 | 0) >> 2] = $25_1; + $29_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAPF64[($29_1 + 32 | 0) >> 3] = +HEAPF64[($29_1 + 32 | 0) >> 3] - +(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) / (3600 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) - Math_imul(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0, 3600) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) / (60 | 0) | 0; + $50_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAPF64[($50_1 + 32 | 0) >> 3] = +HEAPF64[($50_1 + 32 | 0) >> 3] + +((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - Math_imul(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0, 60) | 0 | 0); + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 41 | 0) >> 0] = $15_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] = $14_1; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1954($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $43_1 = 0.0, $27_1 = 0, $36_1 = 0, $15_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0; + $5_1 = global$0 - 208 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 204 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 200 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 196 | 0) >> 2] = $2_1; + label$1 : { + if ($1948(HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, $5_1 + 144 | 0 | 0) | 0) { + break label$1 + } + $15_1 = $5_1 + 32 | 0; + $1955($5_1 + 144 | 0 | 0); + $19_1 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + $20_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + $21_1 = HEAP32[($5_1 + 160 | 0) >> 2] | 0; + $22_1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $23_1 = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + $43_1 = +HEAPF64[($5_1 + 176 | 0) >> 3]; + label$2 : { + label$3 : { + if (!(Math_abs($43_1) < 2147483648.0)) { + break label$3 + } + $27_1 = ~~$43_1; + break label$2; + } + $27_1 = -2147483648; + } + HEAP32[($5_1 + 20 | 0) >> 2] = $27_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $23_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $22_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $21_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $20_1; + HEAP32[$5_1 >> 2] = $19_1; + $81(100 | 0, $15_1 | 0, 40840 | 0, $5_1 | 0) | 0; + $36_1 = -1; + $277(HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0, $36_1 | 0, $36_1 | 0); + } + global$0 = $5_1 + 208 | 0; + return; + } + + function $1955($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $1951(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $1953(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1956($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, $183_1 = 0, $188_1 = 0, $382$hi = 0, $386$hi = 0, $387$hi = 0, i64toi32_i32$6 = 0, $48_1 = 0, $63_1 = 0, $364$hi = 0, $365$hi = 0, $367$hi = 0, $368$hi = 0, $370$hi = 0, $371$hi = 0, $373$hi = 0, $374$hi = 0, $376$hi = 0, $377$hi = 0, $379$hi = 0, $380$hi = 0, $384$hi = 0, $96_1 = 0, $99_1 = 0, $117_1 = 0, $130_1 = 0, $142_1 = 0, $184_1 = 0, $189_1 = 0, $192_1 = 0, $195_1 = 0, $198_1 = 0, $201_1 = 0, $398$hi = 0, $399$hi = 0, $400$hi = 0, $401$hi = 0, $402$hi = 0, $403$hi = 0, $209_1 = 0, $405$hi = 0, $406$hi = 0, $407$hi = 0, $408$hi = 0, $409$hi = 0, $410$hi = 0, $413$hi = 0, $414$hi = 0, $415$hi = 0, $416$hi = 0, $434_1 = 0.0, $298_1 = 0, $419$hi = 0, $420$hi = 0, $421$hi = 0, $422$hi = 0, $423$hi = 0, $424$hi = 0, $309_1 = 0, $315_1 = 0, $335_1 = 0, $342_1 = 0, $386_1 = 0, $656_1 = 0, $128_1 = 0, $129_1 = 0, $146_1 = 0, $158_1 = 0, $166_1 = 0, $171_1 = 0, $180_1 = 0, $910_1 = 0, $920_1 = 0, $930_1 = 0, $940_1 = 0, $950_1 = 0, $960_1 = 0, $398_1 = 0, $973_1 = 0, $100_1 = 0, $220_1 = 0, $237_1 = 0, $250_1 = 0, $258_1 = 0, $263_1 = 0, $274_1 = 0, $101_1 = 0, $289_1 = 0, $294_1 = 0, $102_1 = 0, $314_1 = 0, $321_1 = 0, $330_1 = 0, $334_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 432 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 428 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 424 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 420 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 424 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 420 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 340 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if ((HEAP32[($5_1 + 340 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$4 + } + if (!($1948(HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 424 | 0) >> 2] | 0) - 1 | 0 | 0, (HEAP32[($5_1 + 420 | 0) >> 2] | 0) + 4 | 0 | 0, $5_1 + 368 | 0 | 0) | 0)) { + break label$3 + } + } + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 344 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 356 | 0) >> 2] = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 360 | 0) >> 2] = 1; + HEAP32[($5_1 + 364 | 0) >> 2] = i64toi32_i32$0; + label$5 : { + label$6 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + (HEAP32[($5_1 + 356 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $48_1 = 24; + label$7 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + (HEAP32[($5_1 + 356 | 0) >> 2] | 0) | 0) >> 0] | 0) << $48_1 | 0) >> $48_1 | 0 | 0) == (37 | 0) & 1 | 0)) { + break label$7 + } + $63_1 = (HEAP8[(((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + (HEAP32[($5_1 + 340 | 0) >> 2] | 0) | 0) + 1 | 0) >> 0] | 0) + -37 | 0; + label$8 : { + label$9 : { + switch ($63_1 | 0) { + case 35: + case 40: + case 46: + case 50: + case 63: + case 72: + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 364 | 0) >> 2] | 0; + $364$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $365$hi = i64toi32_i32$1; + i64toi32_i32$1 = $364$hi; + i64toi32_i32$1 = $365$hi; + i64toi32_i32$1 = $364$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $365$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 360 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 364 | 0) >> 2] = i64toi32_i32$5; + case 0: + case 82: + break label$8; + case 65: + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 364 | 0) >> 2] | 0; + $367$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $368$hi = i64toi32_i32$2; + i64toi32_i32$2 = $367$hi; + i64toi32_i32$2 = $368$hi; + i64toi32_i32$2 = $367$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $368$hi; + i64toi32_i32$3 = 8; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 360 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 364 | 0) >> 2] = i64toi32_i32$4; + break label$8; + case 69: + i64toi32_i32$2 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 364 | 0) >> 2] | 0; + $370$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $371$hi = i64toi32_i32$1; + i64toi32_i32$1 = $370$hi; + i64toi32_i32$1 = $371$hi; + i64toi32_i32$1 = $370$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $371$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 360 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 364 | 0) >> 2] = i64toi32_i32$0; + break label$8; + case 52: + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 364 | 0) >> 2] | 0; + $373$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $374$hi = i64toi32_i32$2; + i64toi32_i32$2 = $373$hi; + i64toi32_i32$2 = $374$hi; + i64toi32_i32$2 = $373$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $374$hi; + i64toi32_i32$3 = 8; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 360 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 364 | 0) >> 2] = i64toi32_i32$5; + break label$8; + case 37: + case 78: + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 364 | 0) >> 2] | 0; + $376$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $377$hi = i64toi32_i32$1; + i64toi32_i32$1 = $376$hi; + i64toi32_i32$1 = $377$hi; + i64toi32_i32$1 = $376$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $377$hi; + i64toi32_i32$3 = 50; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 360 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 364 | 0) >> 2] = i64toi32_i32$4; + break label$8; + default: + break label$9; + }; + } + break label$1; + } + HEAP32[($5_1 + 356 | 0) >> 2] = (HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($5_1 + 356 | 0) >> 2] = (HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 364 | 0) >> 2] | 0; + $379$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $380$hi = i64toi32_i32$2; + i64toi32_i32$2 = $379$hi; + i64toi32_i32$2 = $380$hi; + i64toi32_i32$2 = $379$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$4 = $380$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 360 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 364 | 0) >> 2] = i64toi32_i32$0; + continue label$6; + }; + } + i64toi32_i32$0 = 0; + $382$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 364 | 0) >> 2] | 0; + $384$hi = i64toi32_i32$1; + i64toi32_i32$1 = $382$hi; + i64toi32_i32$1 = $384$hi; + i64toi32_i32$1 = $382$hi; + i64toi32_i32$1 = $384$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $382$hi; + i64toi32_i32$3 = 100; + label$16 : { + label$17 : { + if (!((i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($5_1 + 348 | 0) >> 2] = $5_1 + 240 | 0; + break label$16; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 364 | 0) >> 2] | 0; + $386_1 = i64toi32_i32$2; + $386$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 344 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $387$hi = i64toi32_i32$1; + i64toi32_i32$1 = $386$hi; + i64toi32_i32$1 = $387$hi; + i64toi32_i32$1 = $386$hi; + i64toi32_i32$1 = $387$hi; + $656_1 = i64toi32_i32$2; + i64toi32_i32$1 = $386$hi; + i64toi32_i32$3 = $386_1; + i64toi32_i32$2 = $387$hi; + i64toi32_i32$0 = $656_1; + label$18 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$3 >>> 0 > i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { + break label$18 + } + $257(HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0); + break label$1; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 364 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 344 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 348 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + if (!((HEAP32[($5_1 + 348 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$19 + } + $286(HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0); + break label$1; + } + } + $96_1 = 0; + $99_1 = $5_1 + 368 | 0; + $1949($99_1 | 0); + $1955($99_1 | 0); + HEAP32[($5_1 + 352 | 0) >> 2] = $96_1; + HEAP32[($5_1 + 356 | 0) >> 2] = $96_1; + label$20 : { + label$21 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + (HEAP32[($5_1 + 356 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$20 + } + $117_1 = 24; + label$22 : { + label$23 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + (HEAP32[($5_1 + 356 | 0) >> 2] | 0) | 0) >> 0] | 0) << $117_1 | 0) >> $117_1 | 0 | 0) != (37 | 0) & 1 | 0)) { + break label$23 + } + $128_1 = HEAPU8[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + (HEAP32[($5_1 + 356 | 0) >> 2] | 0) | 0) >> 0] | 0; + $129_1 = HEAP32[($5_1 + 348 | 0) >> 2] | 0; + $130_1 = HEAP32[($5_1 + 352 | 0) >> 2] | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = $130_1 + 1 | 0; + HEAP8[($129_1 + $130_1 | 0) >> 0] = $128_1; + break label$22; + } + HEAP32[($5_1 + 356 | 0) >> 2] = (HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 1 | 0; + $142_1 = (HEAP8[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + (HEAP32[($5_1 + 356 | 0) >> 2] | 0) | 0) >> 0] | 0) + -72 | 0; + label$24 : { + label$25 : { + switch ($142_1 | 0) { + case 28: + $146_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 384 | 0) >> 2] | 0; + $81(3 | 0, $146_1 | 0, 40870 | 0, $5_1 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 2 | 0; + break label$24; + case 30: + HEAPF64[($5_1 + 232 | 0) >> 3] = +HEAPF64[($5_1 + 400 | 0) >> 3]; + label$37 : { + if (!(+HEAPF64[($5_1 + 232 | 0) >> 3] > 59.999 & 1 | 0)) { + break label$37 + } + HEAPF64[($5_1 + 232 | 0) >> 3] = 59.999; + } + $158_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + HEAPF64[($5_1 + 16 | 0) >> 3] = +HEAPF64[($5_1 + 232 | 0) >> 3]; + $81(7 | 0, $158_1 | 0, 40875 | 0, $5_1 + 16 | 0 | 0) | 0; + $166_1 = $68((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + $166_1 | 0; + break label$24; + case 0: + $171_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + $81(3 | 0, $171_1 | 0, 40870 | 0, $5_1 + 32 | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 2 | 0; + break label$24; + case 15: + case 34: + $180_1 = 87; + $183_1 = $5_1 + 176 | 0; + $184_1 = 1; + $188_1 = $5_1 + 368 | 0; + i64toi32_i32$0 = $188_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $910_1 = i64toi32_i32$1; + i64toi32_i32$1 = $183_1; + HEAP32[i64toi32_i32$1 >> 2] = $910_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + $189_1 = 40; + i64toi32_i32$0 = i64toi32_i32$0 + $189_1 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $920_1 = i64toi32_i32$3; + i64toi32_i32$3 = $183_1 + $189_1 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $920_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$1; + $192_1 = 32; + i64toi32_i32$0 = $188_1 + $192_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $930_1 = i64toi32_i32$1; + i64toi32_i32$1 = $183_1 + $192_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $930_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + $195_1 = 24; + i64toi32_i32$0 = $188_1 + $195_1 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $940_1 = i64toi32_i32$3; + i64toi32_i32$3 = $183_1 + $195_1 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $940_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$1; + $198_1 = 16; + i64toi32_i32$0 = $188_1 + $198_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $950_1 = i64toi32_i32$1; + i64toi32_i32$1 = $183_1 + $198_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $950_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + $201_1 = 8; + i64toi32_i32$0 = $188_1 + $201_1 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $960_1 = i64toi32_i32$3; + i64toi32_i32$3 = $183_1 + $201_1 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $960_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP8[($5_1 + 216 | 0) >> 0] = 0; + HEAP32[($5_1 + 188 | 0) >> 2] = $184_1; + HEAP32[($5_1 + 192 | 0) >> 2] = $184_1; + $1949($183_1 | 0); + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 368 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 372 | 0) >> 2] | 0; + $398_1 = i64toi32_i32$1; + $398$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 180 | 0) >> 2] | 0; + $399$hi = i64toi32_i32$1; + i64toi32_i32$1 = $398$hi; + i64toi32_i32$1 = $399$hi; + $973_1 = i64toi32_i32$3; + i64toi32_i32$1 = $398$hi; + i64toi32_i32$0 = $398_1; + i64toi32_i32$3 = $399$hi; + i64toi32_i32$2 = $973_1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $400$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $401$hi = i64toi32_i32$5; + i64toi32_i32$5 = $400$hi; + i64toi32_i32$5 = $401$hi; + i64toi32_i32$5 = $400$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $401$hi; + i64toi32_i32$2 = 432e5; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $402$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $403$hi = i64toi32_i32$4; + i64toi32_i32$4 = $402$hi; + i64toi32_i32$4 = $403$hi; + i64toi32_i32$4 = $402$hi; + i64toi32_i32$1 = $403$hi; + i64toi32_i32$1 = __wasm_i64_sdiv(i64toi32_i32$3 | 0, i64toi32_i32$4 | 0, 864e5 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + HEAP32[($5_1 + 228 | 0) >> 2] = i64toi32_i32$1; + $209_1 = 24; + label$38 : { + label$39 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + (HEAP32[($5_1 + 356 | 0) >> 2] | 0) | 0) >> 0] | 0) << $209_1 | 0) >> $209_1 | 0 | 0) == ($180_1 | 0) & 1 | 0)) { + break label$39 + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 368 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 372 | 0) >> 2] | 0; + $405$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $406$hi = i64toi32_i32$1; + i64toi32_i32$1 = $405$hi; + i64toi32_i32$1 = $406$hi; + i64toi32_i32$1 = $405$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$4 = $406$hi; + i64toi32_i32$2 = 432e5; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $407$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $408$hi = i64toi32_i32$3; + i64toi32_i32$3 = $407$hi; + i64toi32_i32$3 = $408$hi; + i64toi32_i32$3 = $407$hi; + i64toi32_i32$5 = $408$hi; + i64toi32_i32$5 = __wasm_i64_sdiv(i64toi32_i32$0 | 0, i64toi32_i32$3 | 0, 864e5 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $409$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $410$hi = i64toi32_i32$3; + i64toi32_i32$3 = $409$hi; + i64toi32_i32$3 = $410$hi; + i64toi32_i32$3 = $409$hi; + $100_1 = i64toi32_i32$5; + i64toi32_i32$5 = $410$hi; + i64toi32_i32$5 = __wasm_i64_srem($100_1 | 0, i64toi32_i32$3 | 0, 7 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + HEAP32[($5_1 + 172 | 0) >> 2] = i64toi32_i32$5; + $220_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = (((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 7 | 0) - (HEAP32[($5_1 + 172 | 0) >> 2] | 0) | 0 | 0) / (7 | 0) | 0; + $81(3 | 0, $220_1 | 0, 40870 | 0, $5_1 + 48 | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 2 | 0; + break label$38; + } + $237_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 1 | 0; + $81(4 | 0, $237_1 | 0, 40882 | 0, $5_1 + 64 | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 3 | 0; + } + break label$24; + case 2: + $250_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 368 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 372 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + HEAPF64[($5_1 + 80 | 0) >> 3] = (+(i64toi32_i32$3 >>> 0) + 4294967296.0 * +(i64toi32_i32$5 | 0)) / 864.0e5; + $81(20 | 0, $250_1 | 0, 5270 | 0, $5_1 + 80 | 0 | 0) | 0; + $258_1 = $68((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + $258_1 | 0; + break label$24; + case 37: + $263_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[($5_1 + 380 | 0) >> 2] | 0; + $81(3 | 0, $263_1 | 0, 40870 | 0, $5_1 + 96 | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 2 | 0; + break label$24; + case 5: + $274_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 112 | 0) >> 2] = HEAP32[($5_1 + 392 | 0) >> 2] | 0; + $81(3 | 0, $274_1 | 0, 40870 | 0, $5_1 + 112 | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 2 | 0; + break label$24; + case 43: + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 368 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 372 | 0) >> 2] | 0; + $413$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $414$hi = i64toi32_i32$3; + i64toi32_i32$3 = $413$hi; + i64toi32_i32$3 = $414$hi; + i64toi32_i32$3 = $413$hi; + $101_1 = i64toi32_i32$5; + i64toi32_i32$5 = $414$hi; + i64toi32_i32$5 = __wasm_i64_sdiv($101_1 | 0, i64toi32_i32$3 | 0, 1e3 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $415$hi = i64toi32_i32$3; + i64toi32_i32$3 = 49; + $416$hi = i64toi32_i32$3; + i64toi32_i32$3 = $415$hi; + i64toi32_i32$3 = $416$hi; + i64toi32_i32$3 = $415$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $416$hi; + i64toi32_i32$2 = 413362496; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 160 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 164 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 160 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $880(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0 | 0); + $289_1 = $68((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + $289_1 | 0; + break label$24; + case 11: + $294_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + $434_1 = +HEAPF64[($5_1 + 400 | 0) >> 3]; + label$40 : { + label$41 : { + if (!(Math_abs($434_1) < 2147483648.0)) { + break label$41 + } + $298_1 = ~~$434_1; + break label$40; + } + $298_1 = -2147483648; + } + HEAP32[($5_1 + 128 | 0) >> 2] = $298_1; + $81(3 | 0, $294_1 | 0, 40870 | 0, $5_1 + 128 | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 2 | 0; + break label$24; + case 47: + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 368 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 372 | 0) >> 2] | 0; + $419$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $420$hi = i64toi32_i32$0; + i64toi32_i32$0 = $419$hi; + i64toi32_i32$0 = $420$hi; + i64toi32_i32$0 = $419$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $420$hi; + i64toi32_i32$2 = 1296e5; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $421$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $422$hi = i64toi32_i32$4; + i64toi32_i32$4 = $421$hi; + i64toi32_i32$4 = $422$hi; + i64toi32_i32$4 = $421$hi; + i64toi32_i32$3 = $422$hi; + i64toi32_i32$3 = __wasm_i64_sdiv(i64toi32_i32$5 | 0, i64toi32_i32$4 | 0, 864e5 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $423$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $424$hi = i64toi32_i32$4; + i64toi32_i32$4 = $423$hi; + i64toi32_i32$4 = $424$hi; + i64toi32_i32$4 = $423$hi; + $102_1 = i64toi32_i32$3; + i64toi32_i32$3 = $424$hi; + i64toi32_i32$3 = __wasm_i64_srem($102_1 | 0, i64toi32_i32$4 | 0, 7 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $309_1 = 24; + $314_1 = HEAP32[($5_1 + 348 | 0) >> 2] | 0; + $315_1 = HEAP32[($5_1 + 352 | 0) >> 2] | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = $315_1 + 1 | 0; + HEAP8[($314_1 + $315_1 | 0) >> 0] = ((i64toi32_i32$3 << $309_1 | 0) >> $309_1 | 0) + 48 | 0; + break label$24; + case 17: + $321_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 144 | 0) >> 2] = HEAP32[($5_1 + 376 | 0) >> 2] | 0; + $81(5 | 0, $321_1 | 0, 40887 | 0, $5_1 + 144 | 0 | 0) | 0; + $330_1 = $68((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + $330_1 | 0; + break label$24; + default: + break label$25; + }; + } + $334_1 = HEAP32[($5_1 + 348 | 0) >> 2] | 0; + $335_1 = HEAP32[($5_1 + 352 | 0) >> 2] | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = $335_1 + 1 | 0; + HEAP8[($334_1 + $335_1 | 0) >> 0] = 37; + } + } + HEAP32[($5_1 + 356 | 0) >> 2] = (HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 1 | 0; + continue label$21; + }; + } + $342_1 = -1; + HEAP8[((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0) >> 0] = 0; + $277(HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 348 | 0) >> 2] | 0 | 0, $342_1 | 0, ((HEAP32[($5_1 + 348 | 0) >> 2] | 0 | 0) == ($5_1 + 240 | 0 | 0) & 1 | 0 ? $342_1 : 1) | 0); + } + global$0 = $5_1 + 432 | 0; + return; + } + + function $1957($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $1952(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $6_1 | 0, $6_1 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1958($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $1954(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $6_1 | 0, $6_1 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1959($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $1950(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $6_1 | 0, $6_1 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1960($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $18$hi = 0, $21$hi = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $39_1 = 0, i64toi32_i32$3 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $18$hi = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $1966(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $39_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $39_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $21$hi = i64toi32_i32$0; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $11_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $12_1 = 0 + } else { + $12_1 = 1 + } + $13_1 = $12_1; + } else { + $13_1 = 0 + } + $11_1 = $13_1; + } + label$1 : { + label$2 : { + if (!($11_1 & 1 | 0)) { + break label$2 + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 0] = 1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + } + $15_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $15_1 | 0; + } + + function $1961($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = +$1_1; + var $4_1 = 0, i64toi32_i32$0 = 0.0, i64toi32_i32$1 = 0, $33_1 = 0.0, $10_1 = 0, $11_1 = 0, $21_1 = 0, $21$hi = 0, i64toi32_i32$2 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAPF64[$4_1 >> 3] = $1_1; + HEAPF64[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 3] = +HEAPF64[$4_1 >> 3]; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 41 | 0) >> 0] = 1; + label$1 : { + if (!(+HEAPF64[$4_1 >> 3] >= +(0 | 0) & 1 | 0)) { + break label$1 + } + if (!(+HEAPF64[$4_1 >> 3] < 5373484.5 & 1 | 0)) { + break label$1 + } + $15_1 = 1; + $33_1 = +HEAPF64[$4_1 >> 3] * 864.0e5 + .5; + label$2 : { + label$3 : { + if (!(Math_abs($33_1) < 9223372036854775808.0)) { + break label$3 + } + i64toi32_i32$0 = $33_1; + if (Math_abs(i64toi32_i32$0) >= 1.0) { + if (i64toi32_i32$0 > 0.0) { + $10_1 = ~~Math_min(Math_floor(i64toi32_i32$0 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $10_1 = ~~Math_ceil((i64toi32_i32$0 - +(~~i64toi32_i32$0 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $11_1 = $10_1; + } else { + $11_1 = 0 + } + i64toi32_i32$1 = $11_1; + $21_1 = ~~i64toi32_i32$0 >>> 0; + $21$hi = i64toi32_i32$1; + break label$2; + } + i64toi32_i32$1 = -2147483648; + $21_1 = 0; + $21$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $21$hi; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $21_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 0] = $15_1; + } + return; + } + + function $1962($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if ($1967(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if ($1968(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if ($88(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 40421 | 0) | 0) { + break label$4 + } + if (!($1969(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1960(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$5 : { + if (!(($344(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0, $68(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0, 1 & 255 | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + $1961(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, +(+HEAPF64[($5_1 + 8 | 0) >> 3])); + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + } + $41_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $41_1 | 0; + } + + function $1963($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$6 = 0.0, i64toi32_i32$7 = 0, $297_1 = 0, $563_1 = 0, $582$hi = 0, $549$hi = 0, $550$hi = 0, $176_1 = 0, $177_1 = 0, $215_1 = 0, $14_1 = 0, $526$hi = 0, $27_1 = 0, $34_1 = 0, $598_1 = 0.0, $118_1 = 0, $119_1 = 0, $530_1 = 0, $530$hi = 0, $61_1 = 0, $534$hi = 0, $74_1 = 0, $537$hi = 0, $538$hi = 0, $539$hi = 0, $78_1 = 0, $601_1 = 0.0, $109_1 = 0, $111_1 = 0, $125_1 = 0, $542$hi = 0, $543$hi = 0, $544$hi = 0, $545$hi = 0, $546$hi = 0, $547$hi = 0, $120_1 = 0, $121_1 = 0, $122_1 = 0, $553$hi = 0, $554$hi = 0, $556$hi = 0, $557$hi = 0, $558$hi = 0, $559$hi = 0, $560$hi = 0, $139_1 = 0, $199_1 = 0, $212_1 = 0, $222_1 = 0, $274_1 = 0, $564$hi = 0, $565$hi = 0, $567$hi = 0, $568$hi = 0, $570$hi = 0, $571$hi = 0, $572$hi = 0, $316_1 = 0, $575$hi = 0, $576$hi = 0, $578$hi = 0, $327_1 = 0, $379_1 = 0, $438_1 = 0, $619_1 = 0.0, $445_1 = 0, $448_1 = 0, $464_1 = 0, $474_1 = 0, $480_1 = 0, $622_1 = 0.0, $487_1 = 0, $628_1 = 0.0, $494_1 = 0, $499_1 = 0, $631_1 = 0.0, $506_1 = 0, $641_1 = 0.0, $123_1 = 0, $124_1 = 0, $582_1 = 0, $518_1 = 0, $526_1 = 0, $706$hi = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $840_1 = 0, $534_1 = 0, $854$hi = 0, $537_1 = 0, $873_1 = 0, $879$hi = 0, $126_1 = 0, $1010_1 = 0, $549_1 = 0, $1021_1 = 0, $136_1 = 0, $556_1 = 0, $1043_1 = 0, $560_1 = 0, $1052$hi = 0, $127_1 = 0, $1421_1 = 0, $128_1 = 0, $572_1 = 0, $1429$hi = 0, $1457_1 = 0, $324_1 = 0, $578_1 = 0, $1473$hi = 0, $440_1 = 0, $490_1 = 0, $509_1 = 0, $1935$hi = 0, $523_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 128 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 112 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 108 | 0) >> 2] = 1; + $14_1 = (HEAPU8[((HEAPU8[(HEAP32[($6_1 + 120 | 0) >> 2] | 0) >> 0] | 0) + 1376 | 0) >> 0] | 0) + -43 | 0; + label$1 : { + label$2 : { + switch ($14_1 | 0) { + case 65: + label$8 : { + if ($87(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, 40553 | 0) | 0) { + break label$8 + } + if (!($1969(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + $1949(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = $1970(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, $6_1 + 108 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $526_1 = i64toi32_i32$0; + $526$hi = i64toi32_i32$1; + $27_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$2 = $27_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $706$hi = i64toi32_i32$0; + i64toi32_i32$0 = $526$hi; + i64toi32_i32$0 = $706$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $526$hi; + i64toi32_i32$3 = $526_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $27_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + $1971(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + } + break label$1; + case 74: + label$9 : { + label$10 : { + if ($87(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, 40563 | 0) | 0) { + break label$10 + } + $34_1 = 24; + if (!(((HEAPU8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 41 | 0) >> 0] | 0) << $34_1 | 0) >> $34_1 | 0)) { + break label$10 + } + HEAPF64[($6_1 + 96 | 0) >> 3] = +HEAPF64[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 32 | 0) >> 3] * 1.0e3 + 21086676.0e7; + label$11 : { + if (!(+HEAPF64[($6_1 + 96 | 0) >> 3] >= +(0 | 0) & 1 | 0)) { + break label$11 + } + if (!(+HEAPF64[($6_1 + 96 | 0) >> 3] < 4642690608.0e5 & 1 | 0)) { + break label$11 + } + $45_1 = 0; + $46_1 = 0; + $47_1 = 1; + $1971(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + $598_1 = +HEAPF64[($6_1 + 96 | 0) >> 3] + .5; + label$12 : { + label$13 : { + if (!(Math_abs($598_1) < 9223372036854775808.0)) { + break label$13 + } + i64toi32_i32$6 = $598_1; + if (Math_abs(i64toi32_i32$6) >= 1.0) { + if (i64toi32_i32$6 > 0.0) { + $118_1 = ~~Math_min(Math_floor(i64toi32_i32$6 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $118_1 = ~~Math_ceil((i64toi32_i32$6 - +(~~i64toi32_i32$6 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $119_1 = $118_1; + } else { + $119_1 = 0 + } + i64toi32_i32$5 = $119_1; + $530_1 = ~~i64toi32_i32$6 >>> 0; + $530$hi = i64toi32_i32$5; + break label$12; + } + i64toi32_i32$5 = -2147483648; + $530_1 = 0; + $530$hi = i64toi32_i32$5; + } + i64toi32_i32$5 = $530$hi; + i64toi32_i32$2 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $530_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 40 | 0) >> 0] = $47_1; + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 41 | 0) >> 0] = $46_1; + HEAP32[($6_1 + 108 | 0) >> 2] = $45_1; + } + break label$9; + } + label$14 : { + if ($87(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, 40573 | 0) | 0) { + break label$14 + } + if (!($1969(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0) | 0)) { + break label$14 + } + $61_1 = 24; + label$15 : { + label$16 : { + if (((HEAPU8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 45 | 0) >> 0] | 0) << $61_1 | 0) >> $61_1 | 0) { + break label$16 + } + $1949(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + i64toi32_i32$5 = $1970(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, $6_1 + 108 | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $840_1 = i64toi32_i32$5; + i64toi32_i32$5 = $6_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $840_1; + HEAP32[($6_1 + 92 | 0) >> 2] = i64toi32_i32$2; + label$17 : { + if (HEAP32[($6_1 + 108 | 0) >> 2] | 0) { + break label$17 + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $534_1 = i64toi32_i32$2; + $534$hi = i64toi32_i32$5; + $74_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = $74_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $854$hi = i64toi32_i32$2; + i64toi32_i32$2 = $534$hi; + i64toi32_i32$2 = $854$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $534$hi; + i64toi32_i32$3 = $534_1; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$7 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$7 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + i64toi32_i32$0 = $74_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + $1971(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $537_1 = i64toi32_i32$4; + $537$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1970(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, $6_1 + 108 | 0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $538$hi = i64toi32_i32$4; + i64toi32_i32$4 = $537$hi; + i64toi32_i32$4 = $538$hi; + $873_1 = i64toi32_i32$0; + i64toi32_i32$4 = $537$hi; + i64toi32_i32$2 = $537_1; + i64toi32_i32$0 = $538$hi; + i64toi32_i32$3 = $873_1; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$7 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$1 = i64toi32_i32$7 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$4 - i64toi32_i32$1 | 0; + $539$hi = i64toi32_i32$1; + $78_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$4 = $78_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $879$hi = i64toi32_i32$2; + i64toi32_i32$2 = $539$hi; + i64toi32_i32$2 = $879$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $539$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$4 = $78_1; + HEAP32[i64toi32_i32$4 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$5; + } + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 45 | 0) >> 0] = 1; + break label$15; + } + HEAP32[($6_1 + 108 | 0) >> 2] = 0; + } + } + } + break label$1; + case 76: + label$18 : { + if ($89(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, 40577 | 0, 8 | 0) | 0) { + break label$18 + } + if (!(($344((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 8 | 0 | 0, $6_1 + 96 | 0 | 0, $68((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 8 | 0 | 0) | 0 | 0, 1 & 255 | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$18 + } + $601_1 = +HEAPF64[($6_1 + 96 | 0) >> 3]; + label$19 : { + label$20 : { + if (!(Math_abs($601_1) < 2147483648.0)) { + break label$20 + } + $109_1 = ~~$601_1; + break label$19; + } + $109_1 = -2147483648; + } + $111_1 = $109_1; + HEAP32[($6_1 + 116 | 0) >> 2] = $111_1; + if (!(+($111_1 | 0) == +HEAPF64[($6_1 + 96 | 0) >> 3] & 1 | 0)) { + break label$18 + } + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$18 + } + if (!(+HEAPF64[($6_1 + 96 | 0) >> 3] < 7.0 & 1 | 0)) { + break label$18 + } + $125_1 = 0; + $1955(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 44 | 0) >> 0] = $125_1; + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 40 | 0) >> 0] = $125_1; + $1949(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $542$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $543$hi = i64toi32_i32$4; + i64toi32_i32$4 = $542$hi; + i64toi32_i32$4 = $543$hi; + i64toi32_i32$4 = $542$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $543$hi; + i64toi32_i32$3 = 1296e5; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $544$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $545$hi = i64toi32_i32$0; + i64toi32_i32$0 = $544$hi; + i64toi32_i32$0 = $545$hi; + i64toi32_i32$0 = $544$hi; + i64toi32_i32$2 = $545$hi; + i64toi32_i32$2 = __wasm_i64_sdiv(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, 864e5 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $546$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $547$hi = i64toi32_i32$0; + i64toi32_i32$0 = $546$hi; + i64toi32_i32$0 = $547$hi; + i64toi32_i32$0 = $546$hi; + $126_1 = i64toi32_i32$2; + i64toi32_i32$2 = $547$hi; + i64toi32_i32$2 = __wasm_i64_srem($126_1 | 0, i64toi32_i32$0 | 0, 7 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1010_1 = i64toi32_i32$2; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $1010_1; + HEAP32[($6_1 + 84 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + $549_1 = i64toi32_i32$0; + $549$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $550$hi = i64toi32_i32$2; + i64toi32_i32$2 = $549$hi; + i64toi32_i32$2 = $550$hi; + i64toi32_i32$2 = $549$hi; + i64toi32_i32$2 = $550$hi; + $1021_1 = i64toi32_i32$0; + i64toi32_i32$2 = $549$hi; + i64toi32_i32$4 = $549_1; + i64toi32_i32$0 = $550$hi; + i64toi32_i32$3 = $1021_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $120_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$4 >>> 0 <= i64toi32_i32$3 >>> 0) { + $121_1 = 0 + } else { + $121_1 = 1 + } + $122_1 = $121_1; + } else { + $122_1 = 0 + } + $120_1 = $122_1; + } + label$21 : { + if (!($120_1 & 1 | 0)) { + break label$21 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + $553$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $554$hi = i64toi32_i32$2; + i64toi32_i32$2 = $553$hi; + i64toi32_i32$2 = $554$hi; + i64toi32_i32$2 = $553$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$4 = $554$hi; + i64toi32_i32$0 = 7; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$7 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$1 = i64toi32_i32$7 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 80 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 84 | 0) >> 2] = i64toi32_i32$1; + } + $136_1 = 0; + i64toi32_i32$3 = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $556_1 = i64toi32_i32$3; + $556$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + $557$hi = i64toi32_i32$3; + i64toi32_i32$3 = $556$hi; + i64toi32_i32$3 = $557$hi; + $1043_1 = i64toi32_i32$1; + i64toi32_i32$3 = $556$hi; + i64toi32_i32$2 = $556_1; + i64toi32_i32$1 = $557$hi; + i64toi32_i32$0 = $1043_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$7 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$5 = i64toi32_i32$7 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + $558$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $559$hi = i64toi32_i32$5; + i64toi32_i32$5 = $558$hi; + i64toi32_i32$5 = $559$hi; + i64toi32_i32$5 = $558$hi; + i64toi32_i32$2 = $559$hi; + i64toi32_i32$2 = __wasm_i64_mul(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, 864e5 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $560_1 = i64toi32_i32$2; + $560$hi = i64toi32_i32$5; + $139_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$3 = $139_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $1052$hi = i64toi32_i32$2; + i64toi32_i32$2 = $560$hi; + i64toi32_i32$2 = $1052$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $560$hi; + i64toi32_i32$0 = $560_1; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$3 = $139_1; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + $1971(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 108 | 0) >> 2] = $136_1; + } + break label$1; + case 72: + label$22 : { + if (!($89(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, 40586 | 0, 9 | 0) | 0)) { + break label$22 + } + break label$1; + } + label$23 : { + if (((HEAPU8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 40 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$23 + } + if (((HEAPU8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 42 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$23 + } + if (((HEAPU8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$23 + } + break label$1; + } + $176_1 = 0; + $177_1 = 0; + HEAP32[($6_1 + 120 | 0) >> 2] = (HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 9 | 0; + $1951(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 43 | 0) >> 0] = 1; + HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 24 | 0) >> 2] = $177_1; + HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 20 | 0) >> 2] = $177_1; + HEAPF64[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 32 | 0) >> 3] = +($177_1 | 0); + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 41 | 0) >> 0] = $176_1; + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 44 | 0) >> 0] = $176_1; + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 40 | 0) >> 0] = $176_1; + label$24 : { + label$25 : { + if ($87(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, 40596 | 0) | 0) { + break label$25 + } + HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 16 | 0) >> 2] = 1; + HEAP32[($6_1 + 108 | 0) >> 2] = 0; + break label$24; + } + label$26 : { + label$27 : { + if ($87(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, 40602 | 0) | 0) { + break label$27 + } + $199_1 = 1; + HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] = $199_1; + HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 16 | 0) >> 2] = $199_1; + HEAP32[($6_1 + 108 | 0) >> 2] = 0; + break label$26; + } + label$28 : { + if ($87(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, 40607 | 0) | 0) { + break label$28 + } + HEAP32[($6_1 + 108 | 0) >> 2] = 0; + } + } + } + break label$1; + case 0: + case 2: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + HEAP32[($6_1 + 116 | 0) >> 2] = 1; + label$29 : while (1) { + $212_1 = 24; + $215_1 = 0; + label$30 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + (HEAP32[($6_1 + 116 | 0) >> 2] | 0) | 0) >> 0] | 0) << $212_1 | 0) >> $212_1 | 0)) { + break label$30 + } + $222_1 = 24; + $215_1 = 0; + if (!((((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + (HEAP32[($6_1 + 116 | 0) >> 2] | 0) | 0) >> 0] | 0) << $222_1 | 0) >> $222_1 | 0 | 0) != (58 | 0) & 1 | 0)) { + break label$30 + } + $215_1 = (((HEAPU8[(((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + (HEAP32[($6_1 + 116 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 | 0) != (0 | 0) ^ -1 | 0; + } + label$31 : { + if (!($215_1 & 1 | 0)) { + break label$31 + } + HEAP32[($6_1 + 116 | 0) >> 2] = (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + 1 | 0; + continue label$29; + } + break label$29; + }; + label$32 : { + if (!(($344(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, $6_1 + 96 | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0) | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($6_1 + 108 | 0) >> 2] = 1; + break label$1; + } + $274_1 = 24; + label$33 : { + if (!((((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + (HEAP32[($6_1 + 116 | 0) >> 2] | 0) | 0) >> 0] | 0) << $274_1 | 0) >> $274_1 | 0 | 0) == (58 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + label$34 : { + if (((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$34 + } + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 1 | 0; + } + $297_1 = $6_1 + 16 | 0; + i64toi32_i32$4 = 0; + $563_1 = 0; + i64toi32_i32$3 = $297_1; + HEAP32[i64toi32_i32$3 >> 2] = $563_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$3 = i64toi32_i32$3 + 40 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $563_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$3 = $297_1 + 32 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $563_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$3 = $297_1 + 24 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $563_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$3 = $297_1 + 16 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $563_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$3 = $297_1 + 8 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $563_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + label$35 : { + if (!($1968(HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, $297_1 | 0) | 0)) { + break label$35 + } + break label$1; + } + $1949($6_1 + 16 | 0 | 0); + i64toi32_i32$2 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $564$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $565$hi = i64toi32_i32$3; + i64toi32_i32$3 = $564$hi; + i64toi32_i32$3 = $565$hi; + i64toi32_i32$3 = $564$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $565$hi; + i64toi32_i32$0 = 432e5; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$7 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$1 = i64toi32_i32$7 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $567$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $568$hi = i64toi32_i32$2; + i64toi32_i32$2 = $567$hi; + i64toi32_i32$2 = $568$hi; + i64toi32_i32$2 = $567$hi; + $127_1 = i64toi32_i32$1; + i64toi32_i32$1 = $568$hi; + i64toi32_i32$1 = __wasm_i64_sdiv($127_1 | 0, i64toi32_i32$2 | 0, 864e5 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $1421_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1421_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $570$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $571$hi = i64toi32_i32$1; + i64toi32_i32$1 = $570$hi; + i64toi32_i32$1 = $571$hi; + i64toi32_i32$1 = $570$hi; + $128_1 = i64toi32_i32$2; + i64toi32_i32$2 = $571$hi; + i64toi32_i32$2 = __wasm_i64_mul($128_1 | 0, i64toi32_i32$1 | 0, 864e5 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $572_1 = i64toi32_i32$2; + $572$hi = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $1429$hi = i64toi32_i32$2; + i64toi32_i32$2 = $572$hi; + i64toi32_i32$2 = $1429$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $572$hi; + i64toi32_i32$0 = $572_1; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$7 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$5 = i64toi32_i32$7 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$5; + $316_1 = 24; + label$36 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $316_1 | 0) >> $316_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$36 + } + i64toi32_i32$5 = 0; + $575$hi = i64toi32_i32$5; + i64toi32_i32$2 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $576$hi = i64toi32_i32$3; + i64toi32_i32$3 = $575$hi; + i64toi32_i32$3 = $576$hi; + $1457_1 = i64toi32_i32$5; + i64toi32_i32$3 = $575$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = $576$hi; + i64toi32_i32$0 = $1457_1; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$7 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$7 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$4; + } + $324_1 = 0; + $1949(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + $1971(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + i64toi32_i32$3 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $578_1 = i64toi32_i32$4; + $578$hi = i64toi32_i32$2; + $327_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$3 = $327_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $1473$hi = i64toi32_i32$4; + i64toi32_i32$4 = $578$hi; + i64toi32_i32$4 = $1473$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $578$hi; + i64toi32_i32$0 = $578_1; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$3 = $327_1; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 108 | 0) >> 2] = $324_1; + break label$1; + } + HEAP32[($6_1 + 120 | 0) >> 2] = (HEAP32[($6_1 + 120 | 0) >> 2] | 0) + (HEAP32[($6_1 + 116 | 0) >> 2] | 0) | 0; + label$37 : { + label$38 : while (1) { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 120 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[($6_1 + 120 | 0) >> 2] = (HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$38; + }; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $68(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$39 : { + label$40 : { + if ((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) > (10 | 0) & 1 | 0) { + break label$40 + } + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$39 + } + } + break label$1; + } + label$41 : { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 116 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$41 + } + HEAP32[($6_1 + 116 | 0) >> 2] = (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + -1 | 0; + } + $379_1 = 0; + $1949(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 108 | 0) >> 2] = 1; + HEAPF64[($6_1 + 72 | 0) >> 3] = +HEAPF64[($6_1 + 96 | 0) >> 3] < +($379_1 | 0) & 1 | 0 ? -.5 : .5; + HEAP32[($6_1 + 68 | 0) >> 2] = $379_1; + label$42 : { + label$43 : while (1) { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0)) { + break label$42 + } + label$44 : { + if (!(((HEAPU8[((40624 + Math_imul(HEAP32[($6_1 + 68 | 0) >> 2] | 0, 24) | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$44 + } + if ($89(HEAP32[((40624 + Math_imul(HEAP32[($6_1 + 68 | 0) >> 2] | 0, 24) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) | 0) { + break label$44 + } + if (!(+HEAPF64[($6_1 + 96 | 0) >> 3] > -+HEAPF64[((40624 + Math_imul(HEAP32[($6_1 + 68 | 0) >> 2] | 0, 24) | 0) + 8 | 0) >> 3] & 1 | 0)) { + break label$44 + } + if (!(+HEAPF64[($6_1 + 96 | 0) >> 3] < +HEAPF64[((40624 + Math_imul(HEAP32[($6_1 + 68 | 0) >> 2] | 0, 24) | 0) + 8 | 0) >> 3] & 1 | 0)) { + break label$44 + } + $438_1 = (HEAPU8[(Math_imul(HEAP32[($6_1 + 68 | 0) >> 2] | 0, 24) + 40624 | 0) >> 0] | 0) + -1 | 0; + label$45 : { + label$46 : { + switch ($438_1 | 0) { + case 0: + $440_1 = 0; + $1955(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + $619_1 = +HEAPF64[($6_1 + 96 | 0) >> 3]; + label$48 : { + label$49 : { + if (!(Math_abs($619_1) < 2147483648.0)) { + break label$49 + } + $445_1 = ~~$619_1; + break label$48; + } + $445_1 = -2147483648; + } + $448_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + HEAP32[($448_1 + 12 | 0) >> 2] = (HEAP32[($448_1 + 12 | 0) >> 2] | 0) + $445_1 | 0; + label$50 : { + label$51 : { + if (!((HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > ($440_1 | 0) & 1 | 0)) { + break label$51 + } + $464_1 = ((HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0 | 0) / (12 | 0) | 0; + break label$50; + } + $464_1 = ((HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 12 | 0 | 0) / (12 | 0) | 0; + } + HEAP32[($6_1 + 4 | 0) >> 2] = $464_1; + $474_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + HEAP32[($474_1 + 8 | 0) >> 2] = (HEAP32[($474_1 + 8 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0; + $480_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + HEAP32[($480_1 + 12 | 0) >> 2] = (HEAP32[($480_1 + 12 | 0) >> 2] | 0) - Math_imul(HEAP32[($6_1 + 4 | 0) >> 2] | 0, 12) | 0; + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 40 | 0) >> 0] = 0; + $622_1 = +HEAPF64[($6_1 + 96 | 0) >> 3]; + label$52 : { + label$53 : { + if (!(Math_abs($622_1) < 2147483648.0)) { + break label$53 + } + $487_1 = ~~$622_1; + break label$52; + } + $487_1 = -2147483648; + } + HEAPF64[($6_1 + 96 | 0) >> 3] = +HEAPF64[($6_1 + 96 | 0) >> 3] - +($487_1 | 0); + break label$45; + case 1: + break label$46; + default: + break label$45; + }; + } + $490_1 = 0; + $628_1 = +HEAPF64[($6_1 + 96 | 0) >> 3]; + label$54 : { + label$55 : { + if (!(Math_abs($628_1) < 2147483648.0)) { + break label$55 + } + $494_1 = ~~$628_1; + break label$54; + } + $494_1 = -2147483648; + } + HEAP32[$6_1 >> 2] = $494_1; + $1955(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + $499_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + HEAP32[($499_1 + 8 | 0) >> 2] = (HEAP32[($499_1 + 8 | 0) >> 2] | 0) + (HEAP32[$6_1 >> 2] | 0) | 0; + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 40 | 0) >> 0] = $490_1; + $631_1 = +HEAPF64[($6_1 + 96 | 0) >> 3]; + label$56 : { + label$57 : { + if (!(Math_abs($631_1) < 2147483648.0)) { + break label$57 + } + $506_1 = ~~$631_1; + break label$56; + } + $506_1 = -2147483648; + } + HEAPF64[($6_1 + 96 | 0) >> 3] = +HEAPF64[($6_1 + 96 | 0) >> 3] - +($506_1 | 0); + } + $509_1 = 0; + $1949(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + $641_1 = +HEAPF64[($6_1 + 96 | 0) >> 3] * +HEAPF64[((40624 + Math_imul(HEAP32[($6_1 + 68 | 0) >> 2] | 0, 24) | 0) + 16 | 0) >> 3] + +HEAPF64[($6_1 + 72 | 0) >> 3]; + label$58 : { + label$59 : { + if (!(Math_abs($641_1) < 9223372036854775808.0)) { + break label$59 + } + i64toi32_i32$6 = $641_1; + if (Math_abs(i64toi32_i32$6) >= 1.0) { + if (i64toi32_i32$6 > 0.0) { + $123_1 = ~~Math_min(Math_floor(i64toi32_i32$6 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $123_1 = ~~Math_ceil((i64toi32_i32$6 - +(~~i64toi32_i32$6 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $124_1 = $123_1; + } else { + $124_1 = 0 + } + i64toi32_i32$1 = $124_1; + $582_1 = ~~i64toi32_i32$6 >>> 0; + $582$hi = i64toi32_i32$1; + break label$58; + } + i64toi32_i32$1 = -2147483648; + $582_1 = 0; + $582$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $582$hi; + $518_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$4 = $518_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $1935$hi = i64toi32_i32$3; + i64toi32_i32$3 = $582$hi; + i64toi32_i32$3 = $1935$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $582$hi; + i64toi32_i32$0 = $582_1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$4 = $518_1; + HEAP32[i64toi32_i32$4 >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 108 | 0) >> 2] = $509_1; + break label$42; + } + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$43; + }; + } + $1971(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + break label$1; + default: + break label$2; + }; + } + } + $523_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + global$0 = $6_1 + 128 | 0; + return $523_1 | 0; + } + + function $1964($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $13$hi = 0, $17$hi = 0, $3_1 = 0, $15$hi = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $8_1 = 0, $19$hi = 0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + $4_1 = 0; + i64toi32_i32$0 = 0; + $13$hi = i64toi32_i32$0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + $8_1 = $4_1; + label$1 : { + if (!($13_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = 108096; + $17$hi = i64toi32_i32$2; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$0 = 275971583; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $16_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 > i64toi32_i32$0 >>> 0) { + $17_1 = 0 + } else { + $17_1 = 1 + } + $18_1 = $17_1; + } else { + $18_1 = 0 + } + $16_1 = $18_1; + } + $8_1 = $16_1; + } + return $8_1 & 1 | 0 | 0; + } + + function $1965($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $17_1 = 0, $5_1 = 0, $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $17_1 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[i64toi32_i32$1 >> 2] = $17_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $17_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $17_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $17_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $17_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $17_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 46 | 0) >> 0] = 1; + return; + } + + function $1966($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $23$hi = 0, i64toi32_i32$3 = 0, $25$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + $23$hi = i64toi32_i32$0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $25$hi = i64toi32_i32$1; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$3 = 0; + label$1 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == ($23$hi | 0) | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $218(HEAP32[(HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + i64toi32_i32$2 = 0; + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + } + } + i64toi32_i32$3 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$2 | 0; + } + + function $1967($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0, $50_1 = 0, $70_1 = 0, $84_1 = 0, $21_1 = 0, $104_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + $8_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + } + $21_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $4_1 + 24 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $4_1 + 28 | 0; + HEAP32[$4_1 >> 2] = $4_1 + 32 | 0; + label$3 : { + label$4 : { + if (!(($1972($21_1 | 0, 40425 | 0, $4_1 | 0) | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$3; + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 10 | 0; + label$5 : while (1) { + $50_1 = 1; + label$6 : { + if (((HEAPU8[(((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$6 + } + $50_1 = (84 | 0) == ((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0); + } + label$7 : { + if (!($50_1 & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + label$8 : { + label$9 : { + if ($1968(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0) { + break label$9 + } + break label$8; + } + $70_1 = 24; + label$10 : { + label$11 : { + if (((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $70_1 | 0) >> $70_1 | 0) { + break label$11 + } + HEAP8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 43 | 0) >> 0] = 0; + break label$10; + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$3; + } + } + HEAP8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 0] = 0; + HEAP8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 0] = 1; + label$12 : { + label$13 : { + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$13 + } + $84_1 = 0 - (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0; + break label$12; + } + $84_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = $84_1; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$14 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + $1949(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $104_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $104_1 | 0; + } + + function $1968($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $28_1 = 0, $57_1 = 0, $121_1 = 0.0, $88_1 = 0, $96_1 = 0, $110_1 = 0, $6_1 = 0, $39_1 = 0, $116_1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAPF64[($4_1 + 32 | 0) >> 3] = +(0 | 0); + $6_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $4_1 + 44 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $4_1 + 48 | 0; + label$1 : { + label$2 : { + if (!(($1972($6_1 | 0, 40450 | 0, $4_1 + 16 | 0 | 0) | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 5 | 0; + $28_1 = 24; + label$3 : { + label$4 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0 | 0) == (58 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 1 | 0; + $39_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $4_1 + 40 | 0; + label$5 : { + if (!(($1972($39_1 | 0, 40458 | 0, $4_1 | 0) | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 2 | 0; + $57_1 = 24; + label$6 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $57_1 | 0) >> $57_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$6 + } + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$6 + } + HEAPF64[($4_1 + 24 | 0) >> 3] = 1.0; + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 1 | 0; + label$7 : { + label$8 : while (1) { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$7 + } + $121_1 = 10.0; + $88_1 = 24; + HEAPF64[($4_1 + 32 | 0) >> 3] = +HEAPF64[($4_1 + 32 | 0) >> 3] * $121_1 + +(((HEAPU8[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $88_1 | 0) >> $88_1 | 0 | 0) - 48.0; + HEAPF64[($4_1 + 24 | 0) >> 3] = +HEAPF64[($4_1 + 24 | 0) >> 3] * $121_1; + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + HEAPF64[($4_1 + 32 | 0) >> 3] = +HEAPF64[($4_1 + 32 | 0) >> 3] / +HEAPF64[($4_1 + 24 | 0) >> 3]; + } + break label$3; + } + HEAP32[($4_1 + 40 | 0) >> 2] = 0; + } + $96_1 = 0; + HEAP8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 0] = $96_1; + HEAP8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 41 | 0) >> 0] = $96_1; + HEAP8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 43 | 0) >> 0] = 1; + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAPF64[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 32 | 0) >> 3] = +(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) + +HEAPF64[($4_1 + 32 | 0) >> 3]; + label$9 : { + if (!($1973(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + break label$1; + } + $110_1 = 0; + HEAP8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 0] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 ? 1 : $110_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $110_1; + } + $116_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $116_1 | 0; + } + + function $1969($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $39_1 = 0, $49_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, 20) | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (63 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0)) { + break label$4 + } + HEAP32[($3_1 + 16 | 0) >> 2] = 40470; + break label$3; + } + label$5 : { + label$6 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$6 + } + HEAP32[($3_1 + 16 | 0) >> 2] = 40489; + break label$5; + } + HEAP32[($3_1 + 16 | 0) >> 2] = 40508; + } + } + $39_1 = HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = $39_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $79(40517 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $263(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 1; + } + $49_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $49_1 | 0; + } + + function $1970($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $9_1 = 0, i64toi32_i32$4 = 0, $100_1 = 0, $24_1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $85_1 = 0, $53_1 = 0, i64toi32_i32$6 = 0, $25_1 = 0, $28_1 = 0, $31_1 = 0, $34_1 = 0, $37_1 = 0, $54_1 = 0, $120_1 = 0.0, $59_1 = 0, $107$hi = 0, $108$hi = 0, $109$hi = 0, $110$hi = 0, $86_1 = 0, $113$hi = 0, $114$hi = 0, $176_1 = 0, $186_1 = 0, $196_1 = 0, $206_1 = 0, $216_1 = 0, $226_1 = 0, $40_1 = 0, $113_1 = 0, $394_1 = 0; + $5_1 = global$0 - 176 | 0; + global$0 = $5_1; + $9_1 = $5_1 + 104 | 0; + $12_1 = $5_1 + 8 | 0; + HEAP32[($5_1 + 164 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 160 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 156 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + $100_1 = 0; + i64toi32_i32$1 = $12_1; + HEAP32[i64toi32_i32$1 >> 2] = $100_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $100_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $100_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $100_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $100_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $24_1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + i64toi32_i32$2 = $24_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $176_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1; + HEAP32[i64toi32_i32$0 >> 2] = $176_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $25_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $25_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $186_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1 + $25_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $186_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $28_1 = 32; + i64toi32_i32$2 = $24_1 + $28_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $196_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1 + $28_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $196_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $31_1 = 24; + i64toi32_i32$2 = $24_1 + $31_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $206_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1 + $31_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $206_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $34_1 = 16; + i64toi32_i32$2 = $24_1 + $34_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $216_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1 + $34_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $216_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $37_1 = 8; + i64toi32_i32$2 = $24_1 + $37_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $226_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1 + $37_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $226_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $1955($9_1 | 0); + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) < (1971 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) >= (2038 | 0) & 1 | 0)) { + break label$2 + } + } + $53_1 = 0; + $54_1 = 1; + HEAP32[($5_1 + 112 | 0) >> 2] = 2e3; + HEAP32[($5_1 + 116 | 0) >> 2] = $54_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $54_1; + HEAP32[($5_1 + 124 | 0) >> 2] = $53_1; + HEAP32[($5_1 + 128 | 0) >> 2] = $53_1; + HEAPF64[($5_1 + 136 | 0) >> 3] = +($53_1 | 0); + break label$1; + } + $120_1 = +HEAPF64[($5_1 + 136 | 0) >> 3] + .5; + label$4 : { + label$5 : { + if (!(Math_abs($120_1) < 2147483648.0)) { + break label$5 + } + $59_1 = ~~$120_1; + break label$4; + } + $59_1 = -2147483648; + } + HEAP32[($5_1 + 4 | 0) >> 2] = $59_1; + HEAPF64[($5_1 + 136 | 0) >> 3] = +(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 132 | 0) >> 2] = 0; + HEAP8[($5_1 + 144 | 0) >> 0] = 0; + $1949($5_1 + 104 | 0 | 0); + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + $107$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $108$hi = i64toi32_i32$1; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$1 = $107$hi; + $40_1 = i64toi32_i32$0; + i64toi32_i32$0 = $108$hi; + i64toi32_i32$0 = __wasm_i64_sdiv($40_1 | 0, i64toi32_i32$1 | 0, 1e3 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $109$hi = i64toi32_i32$1; + i64toi32_i32$1 = 49; + $110$hi = i64toi32_i32$1; + i64toi32_i32$1 = $109$hi; + i64toi32_i32$1 = $110$hi; + i64toi32_i32$1 = $109$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $110$hi; + i64toi32_i32$3 = 413362496; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$4; + label$6 : { + label$7 : { + if (!($1974($5_1 + 52 | 0 | 0, $5_1 + 8 | 0 | 0) | 0)) { + break label$7 + } + i64toi32_i32$5 = 0; + $263(HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, 40768 | 0, -1 | 0); + HEAP32[(HEAP32[($5_1 + 156 | 0) >> 2] | 0) >> 2] = 1; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 168 | 0) >> 2] = 0; + HEAP32[($5_1 + 172 | 0) >> 2] = i64toi32_i32$5; + break label$6; + } + $85_1 = 0; + $86_1 = 1; + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1900 | 0; + HEAP32[($5_1 + 68 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 80 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAPF64[($5_1 + 88 | 0) >> 3] = +(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + HEAP8[($5_1 + 98 | 0) >> 0] = $86_1; + HEAP8[($5_1 + 99 | 0) >> 0] = $86_1; + HEAP8[($5_1 + 96 | 0) >> 0] = $85_1; + HEAP8[($5_1 + 97 | 0) >> 0] = $85_1; + HEAP8[($5_1 + 100 | 0) >> 0] = $85_1; + HEAP8[($5_1 + 102 | 0) >> 0] = $85_1; + $1949($5_1 + 56 | 0 | 0); + HEAP32[(HEAP32[($5_1 + 156 | 0) >> 2] | 0) >> 2] = 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $113_1 = i64toi32_i32$5; + $113$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + $114$hi = i64toi32_i32$5; + i64toi32_i32$5 = $113$hi; + i64toi32_i32$5 = $114$hi; + $394_1 = i64toi32_i32$2; + i64toi32_i32$5 = $113$hi; + i64toi32_i32$1 = $113_1; + i64toi32_i32$2 = $114$hi; + i64toi32_i32$3 = $394_1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 168 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 172 | 0) >> 2] = i64toi32_i32$4; + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + global$0 = $5_1 + 176 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$4 | 0; + } + + function $1971($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 42 | 0) >> 0] = $4_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] = $4_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 0] = $4_1; + return; + } + + function $1972($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $14_1 = 0, $21_1 = 0, $28_1 = 0, $40_1 = 0, $64_1 = 0, $75_1 = 0, $93_1 = 0, $97_1 = 0, $102_1 = 0, $111_1 = 0, $110_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : while (1) { + $10_1 = 0; + $14_1 = 24; + HEAP8[($5_1 + 14 | 0) >> 0] = (((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $14_1 | 0) >> $14_1 | 0) - 48 | 0; + $21_1 = 24; + HEAP8[($5_1 + 13 | 0) >> 0] = (((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $21_1 | 0) >> $21_1 | 0) - 48 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $10_1; + $28_1 = 24; + HEAP16[($5_1 + 6 | 0) >> 1] = HEAPU16[(40438 + (((((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0) - 97 | 0) << 1 | 0) | 0) >> 1] | 0; + HEAP8[($5_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $10_1; + label$3 : { + label$4 : while (1) { + $40_1 = HEAPU8[($5_1 + 14 | 0) >> 0] | 0; + HEAP8[($5_1 + 14 | 0) >> 0] = $40_1 + -1 | 0; + if (!(($40_1 & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (((HEAPU8[(((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$5 + } + break label$1; + } + $64_1 = 24; + HEAP32[($5_1 + 8 | 0) >> 2] = (Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 10) + (((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $64_1 | 0) >> $64_1 | 0) | 0) - 48 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $75_1 = 24; + label$6 : { + label$7 : { + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (((HEAPU8[($5_1 + 13 | 0) >> 0] | 0) << $75_1 | 0) >> $75_1 | 0 | 0) & 1 | 0) { + break label$7 + } + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) > ((HEAPU16[($5_1 + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) { + break label$7 + } + $93_1 = 24; + if (!(((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $93_1 | 0) >> $93_1 | 0)) { + break label$6 + } + $97_1 = 24; + $102_1 = 24; + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $97_1 | 0) >> $97_1 | 0 | 0) != (((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $102_1 | 0) >> $102_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + } + break label$1; + } + $110_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $111_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $111_1 + 4 | 0; + HEAP32[(HEAP32[$111_1 >> 2] | 0) >> 2] = $110_1; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0; + if (((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + continue label$2 + } + break label$2; + }; + } + return HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0; + } + + function $1973($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $23_1 = 0, $110_1 = 0, $68_1 = 0, $118_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + $23_1 = 24; + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0; + label$3 : { + label$4 : { + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 32 | 0) >> 2] = -1; + break label$5; + } + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (43 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 32 | 0) >> 2] = 1; + break label$7; + } + label$9 : { + label$10 : { + if ((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (90 | 0) & 1 | 0) { + break label$10 + } + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (122 | 0) & 1 | 0)) { + break label$9 + } + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + break label$4; + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + break label$3; + } + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + $68_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $4_1 + 24 | 0; + HEAP32[$4_1 >> 2] = $4_1 + 28 | 0; + label$11 : { + if (!(($1972($68_1 | 0, 40462 | 0, $4_1 | 0) | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$3; + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 5 | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] = Math_imul(HEAP32[($4_1 + 32 | 0) >> 2] | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 28 | 0) >> 2] | 0, 60) | 0); + } + label$12 : { + label$13 : while (1) { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + HEAP8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 45 | 0) >> 0] = 1; + $110_1 = 24; + HEAP32[($4_1 + 44 | 0) >> 2] = (((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $110_1 | 0) >> $110_1 | 0 | 0) != (0 | 0) & 1 | 0; + } + $118_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $118_1 | 0; + } + + function $1974($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $23_1 = 0, $26_1 = 0, $29_1 = 0, $32_1 = 0, $90_1 = 0, $110_1 = 0, $120_1 = 0, $130_1 = 0, $140_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = fimport$4(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!(HEAP32[(0 + 68616 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[$4_1 >> 2] = 0; + } + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $18_1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = $18_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $90_1 = i64toi32_i32$0; + i64toi32_i32$0 = $17_1; + HEAP32[i64toi32_i32$0 >> 2] = $90_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $19_1 = 40; + HEAP32[(i64toi32_i32$0 + $19_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $19_1 | 0) >> 2] | 0; + $23_1 = 32; + i64toi32_i32$2 = i64toi32_i32$2 + $23_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $110_1 = i64toi32_i32$1; + i64toi32_i32$1 = $17_1 + $23_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $110_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $26_1 = 24; + i64toi32_i32$2 = $18_1 + $26_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $120_1 = i64toi32_i32$0; + i64toi32_i32$0 = $17_1 + $26_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $120_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $29_1 = 16; + i64toi32_i32$2 = $18_1 + $29_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $130_1 = i64toi32_i32$1; + i64toi32_i32$1 = $17_1 + $29_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $130_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $32_1 = 8; + i64toi32_i32$2 = $18_1 + $32_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $140_1 = i64toi32_i32$0; + i64toi32_i32$0 = $17_1 + $32_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $140_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0; + $42_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $42_1 | 0; + } + + function $1975($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $64_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $3277((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $64_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $64_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0; + break label$1; + } + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $82(7 | 0, 40924 | 0, $3_1 | 0); + } + $24_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $24_1 | 0; + } + + function $1976($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + -8 | 0; + $3278(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1977($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $88_1 = 0, $28_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + -8 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3280(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $88_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $88_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0; + break label$1; + } + $28_1 = $1978(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $28_1; + $82(7 | 0, 40962 | 0, $4_1 | 0); + } + $32_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $32_1 | 0; + } + + function $1978($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + -8 | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + return HEAP32[i64toi32_i32$2 >> 2] | 0 | 0; + } + + function $1979($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 7 | 0) & -8 | 0 | 0; + } + + function $1980($0_1) { + $0_1 = $0_1 | 0; + HEAP32[((global$0 - 16 | 0) + 12 | 0) >> 2] = $0_1; + return 0 | 0; + } + + function $1981($0_1) { + $0_1 = $0_1 | 0; + HEAP32[((global$0 - 16 | 0) + 12 | 0) >> 2] = $0_1; + return; + } + + function $1982($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3289(114512 | 0, 0 | 0, 100 | 0) | 0; + HEAP32[(0 + 114568 | 0) >> 2] = (HEAP32[(0 + 68552 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0; + label$1 : { + label$2 : { + if (!(HEAP32[(0 + 114568 | 0) >> 2] | 0)) { + break label$2 + } + if (!(HEAP32[(0 + 68560 | 0) >> 2] | 0)) { + break label$2 + } + if (!((HEAP32[(0 + 68552 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(0 + 114572 | 0) >> 2] = HEAP32[(0 + 68560 | 0) >> 2] | 0; + break label$1; + } + HEAP32[(0 + 114572 | 0) >> 2] = 0; + } + HEAP32[(0 + 114524 | 0) >> 2] = 10; + HEAP32[(0 + 114564 | 0) >> 2] = 1; + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $1983($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3289(114512 | 0, 0 | 0, 100 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $1984($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, $38_1 = 0, $64_1 = 0, i64toi32_i32$0 = 0, $87_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = Math_imul(HEAP32[(0 + 114568 | 0) >> 2] | 0, 52) + 68 | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $114(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(HEAP32[(0 + 114568 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 68 | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 10; + break label$2; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 114512; + } + label$4 : { + if ((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 34 | 0) >> 1] | 0) & 65535 | 0) { + break label$4 + } + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 34 | 0) >> 1] = 1; + $38_1 = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = $38_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = $38_1; + } + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) + 32 | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0 ? 1 : 0; + $1985(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + label$5 : { + label$6 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] = 10; + $64_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($64_1 + 8 | 0) >> 2] = (HEAP32[($64_1 + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 10 | 0) - (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0; + break label$5; + } + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 40 | 0; + } + label$7 : { + if (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) { + break label$7 + } + $1986(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + } + } + $87_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $87_1 | 0; + } + + function $1985($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $49_1 = 0, i64toi32_i32$0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) << 1 | 0; + label$1 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0) >>> 0 < 256 >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 20 | 0) >> 2] = 256; + } + label$2 : { + if (!(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0)) { + break label$2 + } + $449(); + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $114((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0)) { + break label$3 + } + $450(); + } + label$4 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$7 : { + label$8 : while (1) { + $49_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $49_1; + if (!(($49_1 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 4 | 0) >> 2] = ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0) % ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + continue label$8; + }; + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $42(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $1986($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0, $18_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0)) { + break label$1 + } + $1996(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0); + } + $13_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($13_1 + 4 | 0) >> 2] = (HEAP32[($13_1 + 4 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0; + $18_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($18_1 + 8 | 0) >> 2] = (HEAP32[($18_1 + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = ((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 10 | 0) - (HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + $1988(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1987($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$1 : { + if (!(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + $14_1 = HEAP32[$4_1 >> 2] | 0; + HEAP32[($14_1 + 4 | 0) >> 2] = (HEAP32[($14_1 + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0) | 0; + HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] = ((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0) + 10 | 0) - (HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] = (Math_imul(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0, 9) >>> 0) / (10 >>> 0) | 0; + $1988(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1988($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0, $19_1 = 0, $42_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : while (1) { + $16_1 = 0; + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $19_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $19_1; + $16_1 = ((HEAPU16[($19_1 + 14 | 0) >> 1] | 0) & 65535 | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($16_1 & 1 | 0)) { + break label$3 + } + $1998(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $1993(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0); + continue label$1; + } + break label$1; + }; + label$4 : { + if (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $42_1 = 0; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] = $42_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] = $42_1; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1989($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $1990($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $9_1 = $1991(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $9_1 | 0; + } + + function $1991($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $26_1 = 0, $62_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((((HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0) | 0) << 2 | 0) | 0) >> 2] | 0; + label$1 : while (1) { + $26_1 = 0; + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $26_1 = (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($26_1 & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1998(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + break label$4; + } + label$7 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$7 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2000(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $62_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $62_1 | 0; + } + + function $1992($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $33_1 = 0, $37_1 = 0, $31_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + } + $1993(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0); + break label$1; + } + HEAP32[($5_1 + 4 | 0) >> 2] = ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) + 24 | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0; + $31_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $33_1 = HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = $33_1; + HEAP32[($33_1 + 28 | 0) >> 2] = $31_1; + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $37_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($37_1 + 44 | 0) >> 2] = (HEAP32[($37_1 + 44 | 0) >> 2] | 0) + 1 | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1993($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $34_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0; + continue label$2; + }; + } + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $34_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($34_1 + 48 | 0) >> 2] = (HEAP32[($34_1 + 48 | 0) >> 2] | 0) + -1 | 0; + label$3 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$3 + } + $1999(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1994($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 32 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAP32[$6_1 >> 2] | 0) << 2 | 0) | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0; + continue label$2; + }; + } + HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAP32[$6_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAP32[$6_1 >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + return; + } + + function $1995($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + $1996(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) - 1 | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1996($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $40_1 = 0, $55_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) - (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0) | 0; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0; + } + label$3 : while (1) { + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0; + label$4 : { + label$5 : while (1) { + $40_1 = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $40_1; + if (!(($40_1 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($4_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + $55_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($55_1 + 48 | 0) >> 2] = (HEAP32[($55_1 + 48 | 0) >> 2] | 0) + -1 | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $1998(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + $1999(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + break label$6; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0; + } + continue label$5; + }; + } + label$9 : { + label$10 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + break label$9; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0) >>> 0) % ((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0) | 0; + continue label$3; + } + break label$3; + }; + global$0 = $4_1 + 32 | 0; + return; + } + + function $1997($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + $1988(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1998($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + $15_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($15_1 + 44 | 0) >> 2] = (HEAP32[($15_1 + 44 | 0) >> 2] | 0) + -1 | 0; + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1999($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $24_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $645(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + $24_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[$24_1 >> 2] = (HEAP32[$24_1 >> 2] | 0) + -1 | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2000($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $107_1 = 0, $133_1 = 0, $138_1 = 0, $175_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$3 + } + if ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$3 + } + if (!($2001(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + $1985(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + } + label$5 : { + if (!(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { + break label$5 + } + if (((HEAPU16[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0) { + break label$5 + } + label$6 : { + if (((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 1 | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$6 + } + if (!($2001(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + $1993(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0); + $1998(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $1999(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + break label$7; + } + $107_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($107_1 + 16 | 0) >> 2] = (HEAP32[($107_1 + 16 | 0) >> 2] | 0) - ((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0) | 0; + } + } + label$9 : { + if ((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2002(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $133_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0) | 0; + $138_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($138_1 + 48 | 0) >> 2] = (HEAP32[($138_1 + 48 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] = $133_1; + HEAP32[(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = $133_1; + HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + label$11 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + } + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + $175_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $175_1 | 0; + } + + function $2001($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(HEAP32[(0 + 114580 | 0) >> 2] | 0)) { + break label$2 + } + if (!(((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0 | 0) <= (HEAP32[(0 + 114576 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[(0 + 114608 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1017() | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $21_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $21_1 | 0; + } + + function $2002($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $37_1 = 0, $51_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0) { + break label$4 + } + if (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) { + break label$3 + } + if (!($2003(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$2; + } + label$5 : { + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$5 + } + $449(); + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $770(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + $450(); + } + label$7 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $37_1 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0; + HEAP16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 1] = $37_1; + HEAP16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 14 | 0) >> 1] = $37_1; + } + $51_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[$51_1 >> 2] = (HEAP32[$51_1 >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $56_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $56_1 | 0; + } + + function $2003($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $107$hi = 0, $110$hi = 0, $101$hi = 0, $102$hi = 0, $104$hi = 0, $105$hi = 0, $108$hi = 0, $109$hi = 0, i64toi32_i32$3 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $113$hi = 0, $114$hi = 0, $49_1 = 0, $89_1 = 0, $101_1 = 0, $170_1 = 0, $173_1 = 0, $29_1 = 0, $183_1 = 0, $107_1 = 0, $30_1 = 0, $206_1 = 0, $31_1 = 0, $231_1 = 0, $98_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (HEAP32[(0 + 114572 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >>> 0 < 3 >>> 0 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $449(); + label$4 : { + label$5 : { + if (!((HEAP32[(0 + 114572 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $101_1 = i64toi32_i32$1; + $101$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(0 + 114572 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $102$hi = i64toi32_i32$0; + i64toi32_i32$0 = $101$hi; + i64toi32_i32$0 = $102$hi; + $170_1 = i64toi32_i32$1; + i64toi32_i32$0 = $101$hi; + i64toi32_i32$1 = $102$hi; + i64toi32_i32$1 = __wasm_i64_mul($101_1 | 0, i64toi32_i32$0 | 0, $170_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $173_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $173_1; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$0; + break label$4; + } + i64toi32_i32$1 = HEAP32[(0 + 114572 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $104$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $105$hi = i64toi32_i32$0; + i64toi32_i32$0 = $104$hi; + i64toi32_i32$0 = $105$hi; + i64toi32_i32$0 = $104$hi; + $29_1 = i64toi32_i32$1; + i64toi32_i32$1 = $105$hi; + i64toi32_i32$1 = __wasm_i64_mul($29_1 | 0, i64toi32_i32$0 | 0, -1024 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $183_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $183_1; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $107_1 = i64toi32_i32$0; + $107$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $108$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $109$hi = i64toi32_i32$1; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$1 = $109$hi; + i64toi32_i32$1 = $108$hi; + $30_1 = i64toi32_i32$0; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$0 = __wasm_i64_mul($30_1 | 0, i64toi32_i32$1 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $110$hi = i64toi32_i32$1; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$1 = $110$hi; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$1 = $110$hi; + $206_1 = i64toi32_i32$0; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$2 = $107_1; + i64toi32_i32$0 = $110$hi; + i64toi32_i32$3 = $206_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $26_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $27_1 = 0 + } else { + $27_1 = 1 + } + $28_1 = $27_1; + } else { + $28_1 = 0 + } + $26_1 = $28_1; + } + label$6 : { + if (!($26_1 & 1 | 0)) { + break label$6 + } + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $113$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $114$hi = i64toi32_i32$2; + i64toi32_i32$2 = $113$hi; + i64toi32_i32$2 = $114$hi; + i64toi32_i32$2 = $113$hi; + $31_1 = i64toi32_i32$1; + i64toi32_i32$1 = $114$hi; + i64toi32_i32$1 = __wasm_i64_mul($31_1 | 0, i64toi32_i32$2 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $231_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $231_1; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $49_1 = $39(i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] = $49_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $49_1; + $450(); + label$7 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = ($16(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) / (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$8 : while (1) { + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 32 | 0; + HEAP16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 1] = 1; + HEAP16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 14 | 0) >> 1] = 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + $89_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $89_1; + if ($89_1) { + continue label$8 + } + break label$8; + }; + } + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + } + $98_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $98_1 | 0; + } + + function $2004($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[(HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 24 | 0) >> 2] | 0; + $841(HEAP32[$4_1 >> 2] | 0 | 0); + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 24 | 0; + continue label$2; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2005($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $22_1 = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $8_1; + label$1 : { + if (!((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != ($8_1 | 0) & 1 | 0)) { + break label$1 + } + $17_1 = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0; + $18_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + $19_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$3 + } + $22_1 = 0; + break label$2; + } + $22_1 = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 176 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $771($17_1 | 0, $18_1 | 0, $19_1 | 0, $22_1 | 0, HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 180 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $39_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $39_1 | 0; + } + + function $2006($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $28_1 = 0, $30_1 = 0, $33_1 = 0, $82_1 = 0, $92_1 = 0, $102_1 = 0, $112_1 = 0, $122_1 = 0, $132_1 = 0, $166_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $7_1 = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $7_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $7_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $7_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $7_1; + $2007($3_1 + 4 | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2008(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + $2009($3_1 + 12 | 0 | 0); + $2010($3_1 + 8 | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $38(20 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if ((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + HEAP32[($3_1 + 20 | 0) >> 2] = 7; + break label$3; + } + $28_1 = 1; + $30_1 = 24; + $33_1 = 24; + $2011(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, ($28_1 << $30_1 | 0) >> $30_1 | 0 | 0, ($28_1 << $33_1 | 0) >> $33_1 | 0 | 0); + } + label$5 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + label$7 : { + if (($2012(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 41978 | 0, 7 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + if (($2012(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 41985 | 0, 7 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + if (!(($2012(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 41992 | 0, 10 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[($3_1 + 20 | 0) >> 2] = 7; + } + } + label$8 : { + if (!((0 | 0) == (HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $82_1 = $2013(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 42002 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $82_1; + if (!((0 | 0) == ($82_1 | 0) & 1 | 0)) { + break label$8 + } + $92_1 = $470(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 42017 | 0, -1 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $92_1; + if (!((0 | 0) == ($92_1 | 0) & 1 | 0)) { + break label$8 + } + $102_1 = $470(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 42025 | 0, 1 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $102_1; + if (!((0 | 0) == ($102_1 | 0) & 1 | 0)) { + break label$8 + } + $112_1 = $470(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 42033 | 0, 1 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $112_1; + if (!((0 | 0) == ($112_1 | 0) & 1 | 0)) { + break label$8 + } + $122_1 = $470(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 42033 | 0, 2 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $122_1; + if (!((0 | 0) == ($122_1 | 0) & 1 | 0)) { + break label$8 + } + $132_1 = $470(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 13390 | 0, 1 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $132_1; + if (!((0 | 0) == ($132_1 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $413(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 42043 | 0, 42048 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 81 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$9 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $413(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 42144 | 0, 42048 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2015(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + label$11 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $2016(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $166_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $166_1 | 0; + } + + function $2007($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = 42152; + return; + } + + function $2008($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $410(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 45216 | 0, 45120 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $9_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $9_1 | 0; + } + + function $2009($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = 47844; + return; + } + + function $2010($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = 47872; + return; + } + + function $2011($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0; + $5_1 = global$0 - 16 | 0; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($5_1 + 11 | 0) >> 0] = $1_1; + HEAP8[($5_1 + 10 | 0) >> 0] = $2_1; + HEAP8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] = HEAPU8[($5_1 + 11 | 0) >> 0] | 0; + HEAP8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAPU8[($5_1 + 10 | 0) >> 0] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $6_1; + return; + } + + function $2012($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $10_1 = 0, $92_1 = 0, i64toi32_i32$1 = 0, $125_1 = 0, $105_1 = 0, $145_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + $10_1 = 24; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2026(((HEAPU8[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 36 | 0) >> 2] | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) & ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2027(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $2028(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + break label$3; + } + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$6 : { + label$7 : { + label$8 : { + if (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$8 + } + if ($2029(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, 8 | 0) | 0) { + break label$7 + } + } + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + if (!($2029(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 1 | 0 | 0) | 0)) { + break label$6 + } + } + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2030(20 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + break label$1; + } + $92_1 = 24; + label$10 : { + label$11 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $92_1 | 0) >> $92_1 | 0)) { + break label$11 + } + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $105_1 = $2030(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $105_1; + label$12 : { + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + $2031(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + break label$1; + } + $3288(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0; + break label$10; + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + $125_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($125_1 + 4 | 0) >> 2] = (HEAP32[($125_1 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) & ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0) | 0; + $2032(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $145_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $145_1 | 0; + } + + function $2013($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $18_1 = 0, $33_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = 524289; + label$1 : { + if (!(($6_1 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $464(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 1 | 0, 524289 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 82 | 0, $18_1 | 0, $18_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (!((0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $33_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $464(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 2 | 0, 524289 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 82 | 0, $33_1 | 0, $33_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $38_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $38_1 | 0; + } + + function $2014($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $2016(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2015($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $410(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 50660 | 0, 50564 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $10_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $2016($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $23_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $4_1; + $2031(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $23_1 = 24; + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $2031(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + $2031(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2017($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = $2018(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $5_1 | 0; + } + + function $2018($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $78_1 = 0, $22_1 = 0, $69_1 = 0, $4_1 = 0, $61_1 = 0, $63_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $38(48 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == ($4_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 7; + break label$1; + } + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $22_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $78_1 = 0; + i64toi32_i32$1 = $22_1; + HEAP32[i64toi32_i32$1 >> 2] = $78_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $78_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $78_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $78_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $78_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $78_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] = 2; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = 86; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = 85; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = 84; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $413(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 50820 | 0, 50724 | 0, HEAP32[$3_1 >> 2] | 0 | 0, 83 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2393(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2394(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2395(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2396(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$7 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2397(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$8 + } + $61_1 = 1; + $63_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $464(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 50820 | 0, $61_1 | 0, $61_1 | 0, HEAP32[$3_1 >> 2] | 0 | 0, 87 | 0, $63_1 | 0, $63_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$9 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$9 + } + $69_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $464(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 50825 | 0, $69_1 | 0, 1 | 0, HEAP32[$3_1 >> 2] | 0 | 0, 88 | 0, $69_1 | 0, $69_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + } + $75_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $75_1 | 0; + } + + function $2019($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $14_1 = 0, $22_1 = 0, $6_1 = 0, $13_1 = 0, $29_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $6_1 = 1; + $7_1 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $464(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, 57376 | 0, 2 | 0, $6_1 | 0, $7_1 | 0, 89 | 0, $7_1 | 0, $7_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + $13_1 = 1; + $14_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $464(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, 57386 | 0, $13_1 | 0, $13_1 | 0, $14_1 | 0, 90 | 0, $14_1 | 0, $14_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + $22_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $464(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, 57397 | 0, -1 | 0, 1 | 0, $22_1 | 0, 91 | 0, $22_1 | 0, $22_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$3 + } + $29_1 = 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $29_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $413(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, 57408 | 0, 80512 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, $29_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $413(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, 57414 | 0, 80512 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $41_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $41_1 | 0; + } + + function $2020($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $156_1 = 0, $12_1 = 0, $80_1 = 0, $112_1 = 0, $380_1 = 0, $126_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 656 | 0; + global$0 = $5_1; + $12_1 = $5_1 + 608 | 0; + HEAP32[($5_1 + 652 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 648 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 644 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + $156_1 = 0; + i64toi32_i32$1 = $12_1; + HEAP32[i64toi32_i32$1 >> 2] = $156_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $156_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $156_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $156_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $3289($5_1 + 104 | 0 | 0, 0 | 0, 504 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[(HEAP32[($5_1 + 644 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 124 | 0) >> 0] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if (((HEAPU8[($5_1 + 124 | 0) >> 0] | 0) & 255 | 0 | 0) < (1 | 0) & 1 | 0) { + break label$3 + } + if (!(((HEAPU8[($5_1 + 124 | 0) >> 0] | 0) & 255 | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + HEAP8[($5_1 + 125 | 0) >> 0] = ((HEAPU8[($5_1 + 124 | 0) >> 0] | 0) & 255 | 0) << 1 | 0; + HEAP8[($5_1 + 127 | 0) >> 0] = (((HEAPU8[($5_1 + 124 | 0) >> 0] | 0) & 255 | 0) << 3 | 0) + 8 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[((HEAP32[($5_1 + 644 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 632 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 644 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) < (Math_imul($2912((HEAP32[($5_1 + 632 | 0) >> 2] | 0) + 2 | 0 | 0) | 0, (HEAPU8[($5_1 + 127 | 0) >> 0] | 0) & 255 | 0) | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + $80_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $76($80_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 100 | 0) >> 2] = $80_1; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) < ($2912((HEAP32[($5_1 + 632 | 0) >> 2] | 0) + 2 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + $2913($5_1 + 104 | 0 | 0, $5_1 + 608 | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0, $5_1 + 40 | 0 | 0); + label$8 : { + if (!((HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + $51(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, 33413 | 0, 1 | 0); + } + $112_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $380_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $380_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$1; + $84($112_1 | 0, 57424 | 0, $5_1 + 16 | 0 | 0); + HEAP32[($5_1 + 36 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) < ((HEAPU8[($5_1 + 125 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + $126_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAPF64[$5_1 >> 3] = +Math_fround(HEAPF32[((($5_1 + 40 | 0) + ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) + 8 | 0) >> 2]); + $84($126_1 | 0, 57430 | 0, $5_1 | 0); + HEAP32[($5_1 + 36 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + $51(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, 54645 | 0, 1 | 0); + HEAP32[($5_1 + 100 | 0) >> 2] = (HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $74(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $277(HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0, $71(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) | 0 | 0, -1 | 0, 3 | 0); + $284(HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 656 | 0; + return; + } + + function $2021($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (4 | 0) & 1 | 0) { + break label$3 + } + if (!(($233(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$2 + } + } + $263(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 57434 | 0, -1 | 0); + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $267(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $2912(HEAP32[$5_1 >> 2] | 0 | 0) | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $2022($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $57_1 = 0, $60_1 = 0, $49_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$2 + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 57467 | 0, -1 | 0); + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = 8749; + break label$3; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2914($303(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$6 + } + $49_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $57_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$7; + } + $57_1 = 34828; + } + $60_1 = -1; + $277($49_1 | 0, $57_1 | 0, $60_1 | 0, $60_1 | 0); + break label$5; + } + $284(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2023($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = $176(500 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $5_1 | 0; + } + + function $2024($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $72_1 = 0, $24_1 = 0, $4_1 = 0, $13_1 = 0, $23_1 = 0, $60_1 = 0, $70_1 = 0, $112_1 = 0, $122_1 = 0, $138_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $4_1; + label$1 : while (1) { + $13_1 = 0; + label$2 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) >>> 0 < 15 >>> 0 & 1 | 0)) { + break label$2 + } + $13_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($13_1 & 1 | 0)) { + break label$3 + } + $23_1 = 0; + $24_1 = 59840; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $464(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($24_1 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[(($24_1 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, 2099201 | 0, ($24_1 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0 | 0, HEAP32[(($24_1 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0 | 0, $23_1 | 0, $23_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$4 : while (1) { + $60_1 = 0; + label$5 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) >>> 0 < 2 >>> 0 & 1 | 0)) { + break label$5 + } + $60_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$6 : { + if (!($60_1 & 1 | 0)) { + break label$6 + } + $70_1 = 0; + $72_1 = 60240; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $468(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($72_1 + Math_imul(HEAP32[($3_1 + 4 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0, HEAP32[(($72_1 + Math_imul(HEAP32[($3_1 + 4 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0 | 0, 3147777 | 0, $70_1 | 0, HEAP32[(($72_1 + Math_imul(HEAP32[($3_1 + 4 | 0) >> 2] | 0, 20) | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[(($72_1 + Math_imul(HEAP32[($3_1 + 4 | 0) >> 2] | 0, 20) | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[(($72_1 + Math_imul(HEAP32[($3_1 + 4 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 2] | 0 | 0, 92 | 0, $70_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$7 : while (1) { + $112_1 = 0; + label$8 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) >>> 0 < 2 >>> 0 & 1 | 0)) { + break label$8 + } + $112_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$9 : { + if (!($112_1 & 1 | 0)) { + break label$9 + } + $122_1 = 60320; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $410(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($122_1 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0, HEAP32[(($122_1 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + $138_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $138_1 | 0; + } + + function $2025($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $6_1 = 0, $32_1 = 0, $149$hi = 0, $150$hi = 0, $23_1 = 0, $24_1 = 0, $52_1 = 0, $71_1 = 0, $85_1 = 0, $95_1 = 0, $108_1 = 0, $118_1 = 0, $154$hi = 0, $134_1 = 0, $256_1 = 0, $428$hi = 0, $432_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = 1; + label$3 : while (1) { + $23_1 = HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($5_1 + 19 | 0) >> 0] = $23_1; + $24_1 = 24; + $32_1 = 1; + label$4 : { + if ((($23_1 << $24_1 | 0) >> $24_1 | 0 | 0) != (44 | 0) & 1 | 0) { + break label$4 + } + $32_1 = 1; + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$4 + } + $32_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$5 : { + if (!($32_1 & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = 0; + $149$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $150$hi = i64toi32_i32$1; + i64toi32_i32$1 = $149$hi; + i64toi32_i32$1 = $150$hi; + i64toi32_i32$1 = $149$hi; + i64toi32_i32$1 = $150$hi; + $256_1 = i64toi32_i32$0; + i64toi32_i32$1 = $149$hi; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = $150$hi; + i64toi32_i32$3 = $256_1; + label$6 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$2 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$2; + break label$1; + } + $52_1 = 24; + label$7 : { + label$8 : { + if (!((((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) << $52_1 | 0) >> $52_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 28 | 0) >> 2] = ((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0; + break label$7; + } + $71_1 = 24; + label$9 : { + label$10 : { + if (!((((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) << $71_1 | 0) >> $71_1 | 0 | 0) == (92 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + break label$9; + } + label$11 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$11 + } + $85_1 = 24; + label$12 : { + label$13 : { + if ((((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) << $85_1 | 0) >> $85_1 | 0 | 0) == (123 | 0) & 1 | 0) { + break label$13 + } + $95_1 = 24; + if (!((((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) << $95_1 | 0) >> $95_1 | 0 | 0) == (91 | 0) & 1 | 0)) { + break label$12 + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + } + $108_1 = 24; + label$14 : { + label$15 : { + if ((((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) << $108_1 | 0) >> $108_1 | 0 | 0) == (125 | 0) & 1 | 0) { + break label$15 + } + $118_1 = 24; + if (!((((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) << $118_1 | 0) >> $118_1 | 0 | 0) == (93 | 0) & 1 | 0)) { + break label$14 + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + -1 | 0; + } + } + } + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + i64toi32_i32$2 = 0; + $154$hi = i64toi32_i32$2; + $134_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$3 = $134_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $428$hi = i64toi32_i32$1; + i64toi32_i32$1 = $154$hi; + i64toi32_i32$1 = $428$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $432_1 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$3 = $134_1; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = $432_1; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $3290((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0) | 0 | 0, i64toi32_i32$5 - 1 | 0 | 0) | 0; + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2026($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 93; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 94; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2027($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $27_1 = 0, $32_1 = 0, $35_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $27_1 = 24; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2082(((HEAPU8[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $27_1 | 0) >> $27_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : while (1) { + $32_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = $32_1 + -1 | 0; + $35_1 = 0; + label$4 : { + if (!$32_1) { + break label$4 + } + $35_1 = (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$5 : { + if (!($35_1 & 1 | 0)) { + break label$5 + } + label$6 : { + if (FUNCTION_TABLE[HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0) { + break label$6 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $56_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $56_1 | 0; + } + + function $2028($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $51_1 = 0, $66_1 = 0, $81_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + } + label$3 : { + if (!((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[$5_1 >> 2] = (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0; + label$4 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + } + $51_1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[$51_1 >> 2] = (HEAP32[$51_1 >> 2] | 0) + -1 | 0; + label$5 : { + if (!((HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = 0; + } + $66_1 = 24; + label$6 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $66_1 | 0) >> $66_1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $2031(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + $2031(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $81_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($81_1 + 4 | 0) >> 2] = (HEAP32[($81_1 + 4 | 0) >> 2] | 0) + -1 | 0; + label$7 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$7 + } + $2016(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $2029($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $27_1 = 0, i64toi32_i32$0 = 0, $62_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2030((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + $2031(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $27_1 = 24; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2026(((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $27_1 | 0) >> $27_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0) & ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $2032(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 3 | 0) | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $62_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $62_1 | 0; + } + + function $2030($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $3289(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + } + $15_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $15_1 | 0; + } + + function $2031($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2032($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $53_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$3; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + $53_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[$53_1 >> 2] = (HEAP32[$53_1 >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + return; + } + + function $2033($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $302(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($233(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + label$6 : { + if ($2131(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + if (!($249(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$8 + } + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$7 + } + } + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 48298 | 0, -1 | 0); + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = HEAP32[($229(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2012(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 8229 | 0, -1 | 0); + } + break label$4; + } + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 48321 | 0, -1 | 0); + break label$1; + } + break label$2; + } + label$10 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2132(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + if ((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$11 + } + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(48343 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + } + label$12 : { + if ($2131(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0) { + break label$12 + } + if (!($249(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + } + $254(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $5_1 + 28 | 0 | 0, 4 | 0, -1 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2034($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, $6_1 = 0, i64toi32_i32$0 = 0, $133_1 = 0, $24_1 = 0, $130_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$0 = 0; + $133_1 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $133_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $133_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$3 : while (1) { + $24_1 = 0; + label$4 : { + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + $24_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + } + label$5 : { + if (!($24_1 & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (19 | 0) & 1 | 0)) { + break label$7 + } + if ($3228(42180 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 19 | 0) | 0) { + break label$7 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + break label$6; + } + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (19 | 0) & 1 | 0)) { + break label$9 + } + if ($3228(42200 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 19 | 0) | 0) { + break label$9 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + break label$8; + } + label$10 : { + label$11 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (19 | 0) & 1 | 0)) { + break label$11 + } + if ($3228(42220 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 19 | 0) | 0) { + break label$11 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = 2; + break label$10; + } + label$12 : { + label$13 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) >= (11 | 0) & 1 | 0)) { + break label$13 + } + if ($3228(42240 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 11 | 0) | 0) { + break label$13 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2035(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 11 | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) - 11 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$12; + } + label$14 : { + label$15 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) >= (11 | 0) & 1 | 0)) { + break label$15 + } + if ($3228(42252 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 11 | 0) | 0) { + break label$15 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2035(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 11 | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) - 11 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$14; + } + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + } + } + } + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + label$16 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$16 + } + $2036(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + $130_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $130_1 | 0; + } + + function $2035($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $20_1 = 0, $46_1 = 0, $63_1 = 0, $141_1 = 0, $167_1 = 0, $184_1 = 0, $238_1 = 0, $62_1 = 0, i64toi32_i32$0 = 0, $183_1 = 0, $293_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (HEAP32[($6_1 + 44 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + $20_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $20_1 + 1 | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAPU8[$20_1 >> 0] | 0) & 255 | 0; + label$3 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAPU8[(((HEAP32[($6_1 + 32 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$4 : while (1) { + $46_1 = 0; + label$5 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $46_1 = (((HEAPU8[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$6 : { + if (!($46_1 & 1 | 0)) { + break label$6 + } + $62_1 = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) << 6 | 0; + $63_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $63_1 + 1 | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = $62_1 + (((HEAPU8[$63_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$4; + } + break label$4; + }; + label$7 : { + label$8 : { + if ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$8 + } + if (((HEAP32[($6_1 + 32 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$8 + } + if (!(((HEAP32[($6_1 + 32 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$7 + } + } + HEAP32[($6_1 + 32 | 0) >> 2] = 65533; + } + } + label$9 : { + if (!(($2043(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + if ($2042(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0) { + break label$9 + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + } + continue label$2; + }; + } + label$10 : { + label$11 : { + if (!(HEAP32[($6_1 + 28 | 0) >> 2] | 0)) { + break label$11 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 7; + break label$10; + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$13 + } + $141_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $141_1 + 1 | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAPU8[$141_1 >> 0] | 0) & 255 | 0; + label$15 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$15 + } + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAPU8[(((HEAP32[($6_1 + 32 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$16 : while (1) { + $167_1 = 0; + label$17 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + $167_1 = (((HEAPU8[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$18 : { + if (!($167_1 & 1 | 0)) { + break label$18 + } + $183_1 = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) << 6 | 0; + $184_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $184_1 + 1 | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = $183_1 + (((HEAPU8[$184_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$16; + } + break label$16; + }; + label$19 : { + label$20 : { + if ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$20 + } + if (((HEAP32[($6_1 + 32 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$20 + } + if (!(((HEAP32[($6_1 + 32 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$19 + } + } + HEAP32[($6_1 + 32 | 0) >> 2] = 65533; + } + } + label$21 : { + if (!(($2043(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + if ($2042(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0) { + break label$21 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$22 : while (1) { + $238_1 = 0; + label$23 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + $238_1 = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + } + label$24 : { + if (!($238_1 & 1 | 0)) { + break label$24 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$22; + } + break label$22; + }; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + label$25 : { + label$26 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 12 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$26; + }; + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + continue label$14; + }; + } + HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + } + $293_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $293_1 | 0; + } + + function $2036($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2037($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $54_1 = 0, $18_1 = 0, $44_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(28 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 7; + break label$1; + } + $18_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $54_1 = 0; + i64toi32_i32$1 = $18_1; + HEAP32[i64toi32_i32$1 >> 2] = $54_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $54_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $18_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $54_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$6 + } + $44_1 = $3303(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $44_1; + break label$5; + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + } + HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $51_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $51_1 | 0; + } + + function $2038($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2039($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $32_1 = 0, $58_1 = 0, $75_1 = 0, i64toi32_i32$1 = 0, $161_1 = 0, $181_1 = 0, $200_1 = 0, $210_1 = 0, $229_1 = 0, $241_1 = 0, $251_1 = 0, $263_1 = 0, $275_1 = 0, $287_1 = 0, $297_1 = 0, $308_1 = 0, $334_1 = 0, $351_1 = 0, $390_1 = 0, $424_1 = 0, $425_1 = 0, $74_1 = 0, i64toi32_i32$0 = 0, $180_1 = 0, $199_1 = 0, $209_1 = 0, $228_1 = 0, $240_1 = 0, $250_1 = 0, $262_1 = 0, $274_1 = 0, $286_1 = 0, $296_1 = 0, $350_1 = 0, $429_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 48 | 0) >> 2] = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 48 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = 0; + HEAP32[($8_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + $32_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $32_1 + 1 | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = (HEAPU8[$32_1 >> 0] | 0) & 255 | 0; + label$3 : { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 40 | 0) >> 2] = (HEAPU8[(((HEAP32[($8_1 + 40 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$4 : while (1) { + $58_1 = 0; + label$5 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $58_1 = (((HEAPU8[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$6 : { + if (!($58_1 & 1 | 0)) { + break label$6 + } + $74_1 = (HEAP32[($8_1 + 40 | 0) >> 2] | 0) << 6 | 0; + $75_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $75_1 + 1 | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = $74_1 + (((HEAPU8[$75_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$4; + } + break label$4; + }; + label$7 : { + label$8 : { + if ((HEAP32[($8_1 + 40 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$8 + } + if (((HEAP32[($8_1 + 40 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$8 + } + if (!(((HEAP32[($8_1 + 40 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$7 + } + } + HEAP32[($8_1 + 40 | 0) >> 2] = 65533; + } + } + label$9 : { + if (!($2040(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + break label$1; + } + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + continue label$2; + }; + } + label$10 : { + label$11 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + HEAP32[($8_1 + 76 | 0) >> 2] = 101; + break label$10; + } + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$12 : while (1) { + label$13 : { + if (!(((HEAP32[($8_1 + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0 | 0) >= ((HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) - 4 | 0 | 0) & 1 | 0)) { + break label$13 + } + i64toi32_i32$1 = (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 64 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if ((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$14 + } + HEAP32[($8_1 + 76 | 0) >> 2] = 7; + break label$10; + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0) | 0; + HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + $161_1 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + HEAP32[($161_1 + 24 | 0) >> 2] = (HEAP32[($161_1 + 24 | 0) >> 2] | 0) + 64 | 0; + } + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2041(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!(HEAP32[($8_1 + 16 | 0) >> 2] | 0)) { + break label$15 + } + label$16 : { + label$17 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$17 + } + $180_1 = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) & 255 | 0; + $181_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $181_1 + 1 | 0; + HEAP8[$181_1 >> 0] = $180_1; + break label$16; + } + label$18 : { + label$19 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (2048 | 0) & 1 | 0)) { + break label$19 + } + $199_1 = ((((HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 6 | 0) & 31 | 0) & 255 | 0) + 192 | 0; + $200_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $200_1 + 1 | 0; + HEAP8[$200_1 >> 0] = $199_1; + $209_1 = (((HEAP32[($8_1 + 16 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $210_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $210_1 + 1 | 0; + HEAP8[$210_1 >> 0] = $209_1; + break label$18; + } + label$20 : { + label$21 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (65536 | 0) & 1 | 0)) { + break label$21 + } + $228_1 = ((((HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 12 | 0) & 15 | 0) & 255 | 0) + 224 | 0; + $229_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $229_1 + 1 | 0; + HEAP8[$229_1 >> 0] = $228_1; + $240_1 = ((((HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $241_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $241_1 + 1 | 0; + HEAP8[$241_1 >> 0] = $240_1; + $250_1 = (((HEAP32[($8_1 + 16 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $251_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $251_1 + 1 | 0; + HEAP8[$251_1 >> 0] = $250_1; + break label$20; + } + $262_1 = ((((HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 18 | 0) & 7 | 0) & 255 | 0) + 240 | 0; + $263_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $263_1 + 1 | 0; + HEAP8[$263_1 >> 0] = $262_1; + $274_1 = ((((HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 12 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $275_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $275_1 + 1 | 0; + HEAP8[$275_1 >> 0] = $274_1; + $286_1 = ((((HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $287_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $287_1 + 1 | 0; + HEAP8[$287_1 >> 0] = $286_1; + $296_1 = (((HEAP32[($8_1 + 16 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $297_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $297_1 + 1 | 0; + HEAP8[$297_1 >> 0] = $296_1; + } + } + } + } + label$22 : { + label$23 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$23 + } + break label$22; + } + $308_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $308_1 + 1 | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = (HEAPU8[$308_1 >> 0] | 0) & 255 | 0; + label$24 : { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$24 + } + HEAP32[($8_1 + 40 | 0) >> 2] = (HEAPU8[(((HEAP32[($8_1 + 40 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$25 : while (1) { + $334_1 = 0; + label$26 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + $334_1 = (((HEAPU8[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$27 : { + if (!($334_1 & 1 | 0)) { + break label$27 + } + $350_1 = (HEAP32[($8_1 + 40 | 0) >> 2] | 0) << 6 | 0; + $351_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $351_1 + 1 | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = $350_1 + (((HEAPU8[$351_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$25; + } + break label$25; + }; + label$28 : { + label$29 : { + if ((HEAP32[($8_1 + 40 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$29 + } + if (((HEAP32[($8_1 + 40 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$29 + } + if (!(((HEAP32[($8_1 + 40 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$28 + } + } + HEAP32[($8_1 + 40 | 0) >> 2] = 65533; + } + } + $390_1 = 1; + label$30 : { + if ($2040(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0) { + break label$30 + } + $390_1 = ($2042(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + if ($390_1 & 1 | 0) { + continue label$12 + } + } + break label$12; + }; + HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($8_1 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 64 | 0) >> 2] | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + $424_1 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + $425_1 = HEAP32[($424_1 + 16 | 0) >> 2] | 0; + HEAP32[($424_1 + 16 | 0) >> 2] = $425_1 + 1 | 0; + HEAP32[(HEAP32[($8_1 + 52 | 0) >> 2] | 0) >> 2] = $425_1; + HEAP32[($8_1 + 76 | 0) >> 2] = 0; + } + $429_1 = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + global$0 = $8_1 + 80 | 0; + return $429_1 | 0; + } + + function $2040($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $10_1 = ($2043(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) ^ ($2044(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $2041($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $159_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) >= (65 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) <= (90 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 32 | 0; + } + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (65536 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 162; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = -1; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) - ((HEAPU16[(43920 + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 1] | 0) & 65535 | 0) | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + break label$8; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) - 1 | 0; + } + continue label$7; + }; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 43920 + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0; + label$10 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (((HEAPU16[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0) + ((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + if (!((0 | 0) == ((((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) & (((HEAPU16[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0) ^ (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 36 | 0) >> 2] = ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + ((HEAPU16[(44576 + ((((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) >> 1 | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) | 0) & 65535 | 0; + } + label$11 : { + if (!(HEAP32[($4_1 + 40 | 0) >> 2] | 0)) { + break label$11 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2045(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + break label$4; + } + label$12 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) >= (66560 | 0) & 1 | 0)) { + break label$12 + } + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (66600 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0; + } + } + } + $159_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $159_1 | 0; + } + + function $2042($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $35_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 134389727; + HEAP32[$3_1 >> 2] = 221688; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (768 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) > (817 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (800 | 0) & 1 | 0)) { + break label$5 + } + $35_1 = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) & (1 << ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - 768 | 0) | 0) | 0; + break label$4; + } + $35_1 = (HEAP32[$3_1 >> 2] | 0) & (1 << (((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - 768 | 0) - 32 | 0) | 0) | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $35_1; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2043($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $38_1 = 0, $76_1 = 0; + $3_1 = global$0 - 32 | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = ((HEAP32[(43904 + (((HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 5 | 0) << 2 | 0) | 0) >> 2] | 0) & (1 << ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) & 31 | 0) | 0) | 0 | 0) == (0 | 0) & 1 | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 0 < 4194304 >>> 0 & 1 | 0)) { + break label$3 + } + $38_1 = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 10 | 0 | 1023 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $38_1; + HEAP32[($3_1 + 12 | 0) >> 2] = 405; + HEAP32[($3_1 + 8 | 0) >> 2] = $38_1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) >= (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 4 | 0) >> 2] = ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$6 : { + label$7 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0) >>> 0 >= (HEAP32[(42272 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$6; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) - 1 | 0; + } + continue label$5; + }; + } + $76_1 = 42272; + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 0 >= (((HEAP32[($76_1 + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 10 | 0) + ((HEAP32[($76_1 + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) & 1023 | 0) | 0) >>> 0 & 1 | 0; + break label$1; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 1; + } + return HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2044($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 1 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$5 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$6; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 1 | 0; + } + continue label$4; + }; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2045($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $71_1 = 0, $98_1 = 0, $110_1 = 0; + $4_1 = global$0 - 432 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 424 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 420 | 0) >> 2] = $1_1; + $3288($4_1 + 160 | 0 | 0, 44736 | 0, 252 | 0) | 0; + $3288($4_1 + 32 | 0 | 0, 44992 | 0, 126 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 424 | 0) >> 2] | 0) << 3 | 0 | 7 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 125; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 >= ((HEAPU16[(($4_1 + 160 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - 1 | 0; + } + continue label$2; + }; + } + label$5 : { + label$6 : { + if (HEAP32[($4_1 + 420 | 0) >> 2] | 0) { + break label$6 + } + if (!(((HEAPU8[(($4_1 + 32 | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$6 + } + HEAP32[($4_1 + 428 | 0) >> 2] = HEAP32[($4_1 + 424 | 0) >> 2] | 0; + break label$5; + } + $71_1 = $4_1 + 160 | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 424 | 0) >> 2] | 0 | 0) > ((((HEAPU16[($71_1 + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) >> 3 | 0) + (((HEAPU16[($71_1 + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) & 7 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + $98_1 = HEAP32[($4_1 + 424 | 0) >> 2] | 0; + break label$7; + } + $98_1 = ((HEAPU8[(($4_1 + 32 | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 127 | 0; + } + HEAP32[($4_1 + 428 | 0) >> 2] = $98_1; + } + $110_1 = HEAP32[($4_1 + 428 | 0) >> 2] | 0; + global$0 = $4_1 + 432 | 0; + return $110_1 | 0; + } + + function $2046($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $131_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$3 + } + break label$2; + } + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $3303(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$7 + } + if (!((0 | 0) == ($89(3385 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $3303(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$6; + } + break label$2; + } + break label$4; + } + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $3303(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $414(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, 45224 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($8_1 + 4 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 8 | 0) >> 2] = (((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 304 | 0) + (HEAP32[($8_1 + 20 | 0) >> 2] | 0) | 0) + 2 | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$9 : { + if ((HEAP32[$8_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + HEAP32[($8_1 + 60 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + $3289(HEAP32[$8_1 >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[$8_1 >> 2] | 0) + 16 | 0; + HEAP32[((HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 288 | 0; + HEAP32[((HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 256 | 0) >> 2] = 1; + $3288(HEAP32[((HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $3288(HEAP32[((HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0; + $2047(HEAP32[((HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[$8_1 >> 2] | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + break label$1; + } + $2048(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, 45293 | 0, 0 | 0); + HEAP32[($8_1 + 60 | 0) >> 2] = 1; + } + $131_1 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $131_1 | 0; + } + + function $2047($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0, $18_1 = 0, $28_1 = 0, $38_1 = 0, $50_1 = 0, $75_1 = 0, $79_1 = 0, $93_1 = 0, $97_1 = 0, $107_1 = 0, $115_1 = 0, $121_1 = 0, $105_1 = 0, $106_1 = 0, $114_1 = 0, $119_1 = 0, $120_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($3_1 + 11 | 0) >> 0] = HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0; + $8_1 = 24; + label$1 : { + label$2 : { + if ((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) == (91 | 0) & 1 | 0) { + break label$2 + } + $18_1 = 24; + if ((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) == (39 | 0) & 1 | 0) { + break label$2 + } + $28_1 = 24; + if ((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0 | 0) == (34 | 0) & 1 | 0) { + break label$2 + } + $38_1 = 24; + if (!((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $38_1 | 0) >> $38_1 | 0 | 0) == (96 | 0) & 1 | 0)) { + break label$1 + } + } + HEAP32[($3_1 + 4 | 0) >> 2] = 1; + HEAP32[$3_1 >> 2] = 0; + $50_1 = 24; + label$3 : { + if (!((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $50_1 | 0) >> $50_1 | 0 | 0) == (91 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[($3_1 + 11 | 0) >> 0] = 93; + } + label$4 : { + label$5 : while (1) { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + $75_1 = 24; + $79_1 = 24; + label$6 : { + label$7 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $75_1 | 0) >> $75_1 | 0 | 0) == (((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $79_1 | 0) >> $79_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + $93_1 = 24; + $97_1 = 24; + label$8 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $93_1 | 0) >> $93_1 | 0 | 0) != (((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $97_1 | 0) >> $97_1 | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$4; + } + $105_1 = HEAPU8[($3_1 + 11 | 0) >> 0] | 0; + $106_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $107_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[$3_1 >> 2] = $107_1 + 1 | 0; + HEAP8[($106_1 + $107_1 | 0) >> 0] = $105_1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 2 | 0; + break label$6; + } + $114_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $115_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $115_1 + 1 | 0; + $119_1 = HEAPU8[($114_1 + $115_1 | 0) >> 0] | 0; + $120_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $121_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[$3_1 >> 2] = $121_1 + 1 | 0; + HEAP8[($120_1 + $121_1 | 0) >> 0] = $119_1; + } + continue label$5; + }; + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[$3_1 >> 2] | 0) | 0) >> 0] = 0; + } + return; + } + + function $2048($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $13_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + $42(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $13_1 = $78(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = $13_1; + global$0 = $5_1 + 16 | 0; + return; + } + + function $2049($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $5_1 = 0, $132_1 = 0, $142_1 = 0, $151_1 = 0, $155_1 = 0, $164_1 = 0, $172_1 = 0, $176_1 = 0, $185_1 = 0, $193_1 = 0, $202_1 = 0; + $4_1 = global$0 - 48 | 0; + $5_1 = 1; + $6_1 = -1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$1 + } + if (HEAP32[(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + if ((HEAPU8[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + } + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!(((HEAPU8[(((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 12) | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[(((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 12) | 0) >> 2] | 0; + label$5 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + label$7 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + label$8 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + label$9 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + label$10 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + } + label$11 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + } + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$13 : { + label$14 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + $132_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $132_1 + 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $132_1; + HEAPF64[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 3] = 5.0; + break label$13; + } + $142_1 = 0; + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = $142_1; + HEAPF64[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 3] = 2.0e4; + label$15 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) >= ($142_1 | 0) & 1 | 0)) { + break label$15 + } + $151_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($151_1 + 20 | 0) >> 2] = (HEAP32[($151_1 + 20 | 0) >> 2] | 0) + 2 | 0; + $155_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $155_1 + 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $155_1; + $164_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAPF64[($164_1 + 40 | 0) >> 3] = +HEAPF64[($164_1 + 40 | 0) >> 3] / 2.0; + } + label$16 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$16 + } + $172_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($172_1 + 20 | 0) >> 2] = (HEAP32[($172_1 + 20 | 0) >> 2] | 0) + 4 | 0; + $176_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $176_1 + 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $176_1; + $185_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAPF64[($185_1 + 40 | 0) >> 3] = +HEAPF64[($185_1 + 40 | 0) >> 3] / 2.0; + } + } + label$17 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$17 + } + $193_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $193_1 + 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $193_1; + $202_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAPF64[($202_1 + 40 | 0) >> 3] = +HEAPF64[($202_1 + 40 | 0) >> 3] + -1.0; + } + return 0 | 0; + } + + function $2050($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) < (40 | 0) & 1 | 0)) { + break label$1 + } + $213(HEAP32[(((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 60 | 0) + ((HEAP32[$3_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[$3_1 >> 2] = (HEAP32[$3_1 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $42(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 248 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2051($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $38(120 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[$4_1 >> 2] | 0 | 0, 0 | 0, 120 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $21_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $21_1 | 0; + } + + function $2052($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $2053(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $2054((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2053($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $383(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 252 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2054($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $30_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2065(HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $30_1 = 0; + $42(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $30_1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = $30_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $30_1; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2055($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $10_1 = 0, $9_1 = 0, $21_1 = 0, $28_1 = 0, $34_1 = 0, $44_1 = 0, $68_1 = 0, $167_1 = 0, $100_1 = 0, $113_1 = 0, $130_1 = 0, $143_1 = 0, $195_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 96 | 0; + global$0 = $7_1; + $9_1 = 0; + $10_1 = -1; + HEAP32[($7_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 68 | 0) >> 2] = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + HEAP32[($7_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($7_1 + 88 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $10_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $10_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $10_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $10_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $9_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + $21_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $21_1 + 1 | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = $21_1; + break label$1; + } + HEAP32[($7_1 + 56 | 0) >> 2] = 1; + label$3 : { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0) & 2 | 0)) { + break label$3 + } + $28_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $28_1 + 1 | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = $28_1; + } + label$4 : { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0) & 4 | 0)) { + break label$4 + } + $34_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $34_1 + 1 | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = $34_1; + } + } + label$5 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $44_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $44_1 + 1 | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = $44_1; + } + $2054((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0 | 0); + $42(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0); + $3289((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0, ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 120 | 0) - ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0) | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 72 | 0) >> 2] = 3; + label$6 : { + if (!(HEAP32[($7_1 + 56 | 0) >> 2] | 0)) { + break label$6 + } + $68_1 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP32[($68_1 + 72 | 0) >> 2] = HEAP32[($68_1 + 72 | 0) >> 2] | 0 | 16 | 0; + } + label$7 : { + label$8 : { + label$9 : { + if ((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$9 + } + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$8 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($7_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $100_1 = $79(1976 | 0, $7_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 60 | 0) >> 2] = $100_1; + label$11 : { + if (!((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($7_1 + 92 | 0) >> 2] = 7; + break label$7; + } + $113_1 = $3303(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 64 | 0) >> 2] = $113_1; + } + } + label$12 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $130_1 = $79(1976 | 0, $7_1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 76 | 0) >> 2] = $130_1; + label$13 : { + if (!((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($7_1 + 92 | 0) >> 2] = 7; + break label$7; + } + $143_1 = $3303(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 80 | 0) >> 2] = $143_1; + } + label$14 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($7_1 + 52 | 0) >> 2] = 0; + } + } + $167_1 = 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 84 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2056(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, $167_1 | 0, -2 | 0, HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, $167_1 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (HEAP32[($7_1 + 60 | 0) >> 2] | 0) { + break label$16 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2057(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 60 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + } + label$17 : { + if (HEAP32[($7_1 + 60 | 0) >> 2] | 0) { + break label$17 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2058(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($7_1 + 92 | 0) >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + } + $195_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + global$0 = $7_1 + 96 | 0; + return $195_1 | 0; + } + + function $2056($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $37_1 = 0, $12_1 = 0, $34_1 = 0; + $11_1 = global$0 - 48 | 0; + global$0 = $11_1; + HEAP32[($11_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 12 | 0) >> 2] = $8_1; + $12_1 = HEAP32[($11_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $37_1 = 0; + i64toi32_i32$1 = $12_1; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $34_1 = $2066(HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $11_1 + 48 | 0; + return $34_1 | 0; + } + + function $2057($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $14_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $14_1 = $2067(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $14_1 | 0; + } + + function $2058($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $186$hi = 0, $49_1 = 0, $194$hi = 0, $201$hi = 0, $205$hi = 0, $8_1 = 0, $183$hi = 0, $184$hi = 0, $9_1 = 0, $188$hi = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $33_1 = 0, $72_1 = 0, $129_1 = 0, $134_1 = 0, $191$hi = 0, $192$hi = 0, $196$hi = 0, $48_1 = 0, $50_1 = 0, $51_1 = 0, $139_1 = 0, $198$hi = 0, $199$hi = 0, $203$hi = 0, $207$hi = 0, $156_1 = 0, $209$hi = 0, $210$hi = 0, $158_1 = 0, $212$hi = 0, $213$hi = 0, $174_1 = 0, $216$hi = 0, $217$hi = 0, $175_1 = 0, $126_1 = 0, $131_1 = 0, $132_1 = 0, $166_1 = 0, $180_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 64 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + HEAP32[($3_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $8_1 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 100 | 0) >> 2] | 0; + $183$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $184$hi = i64toi32_i32$1; + i64toi32_i32$1 = $183$hi; + i64toi32_i32$1 = $184$hi; + i64toi32_i32$1 = $183$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $184$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $8_1; + HEAP32[(i64toi32_i32$2 + 96 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 100 | 0) >> 2] = i64toi32_i32$5; + $9_1 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + HEAP32[($9_1 + 104 | 0) >> 2] = (HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 1 | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$5 = 0; + $186$hi = i64toi32_i32$5; + i64toi32_i32$1 = (HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $188$hi = i64toi32_i32$2; + i64toi32_i32$2 = $186$hi; + i64toi32_i32$2 = $188$hi; + i64toi32_i32$2 = $186$hi; + i64toi32_i32$2 = $188$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $186$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $45_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $46_1 = 0 + } else { + $46_1 = 1 + } + $47_1 = $46_1; + } else { + $47_1 = 0 + } + $45_1 = $47_1; + } + label$4 : { + if (!($45_1 & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 60 | 0) >> 2] = 0; + break label$1; + } + $33_1 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + HEAP32[($33_1 + 104 | 0) >> 2] = (HEAP32[($33_1 + 104 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2059(HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$6 + } + $49_1 = 0; + HEAP32[($3_1 + 40 | 0) >> 2] = $49_1; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($3_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $49_1; + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) != ($49_1 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $72_1 = HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + break label$8; + } + $72_1 = HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 20 | 0) >> 2] = $72_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $3228(HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : { + if ((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$11 + } + if (HEAP32[($3_1 + 16 | 0) >> 2] | 0) { + break label$10 + } + if (!((HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + } + HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 88 | 0) >> 2] = 1; + HEAP32[($3_1 + 60 | 0) >> 2] = 0; + break label$1; + } + } + label$12 : { + if (!($2060(HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, 2 | 0) | 0)) { + break label$12 + } + HEAP32[($3_1 + 60 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) << 4 | 0 | 0) | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + i64toi32_i32$1 = 0; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + $126_1 = $2061((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + (HEAP32[($3_1 + 40 | 0) >> 2] | 0) | 0 | 0, $3_1 + 8 | 0 | 0) | 0; + HEAP32[($3_1 + 40 | 0) >> 2] = (HEAP32[($3_1 + 40 | 0) >> 2] | 0) + $126_1 | 0; + $129_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + label$15 : { + label$16 : { + switch ($129_1 | 0) { + case 0: + $131_1 = 0; + $132_1 = 1; + $134_1 = HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + i64toi32_i32$3 = $134_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $191$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $192$hi = i64toi32_i32$2; + i64toi32_i32$2 = $191$hi; + i64toi32_i32$2 = $192$hi; + i64toi32_i32$2 = $191$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $192$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$3 = $134_1; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 24 | 0) >> 2] = $132_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $131_1; + break label$15; + case 1: + i64toi32_i32$4 = 0; + $194$hi = i64toi32_i32$4; + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $196$hi = i64toi32_i32$3; + i64toi32_i32$3 = $194$hi; + i64toi32_i32$3 = $196$hi; + i64toi32_i32$3 = $194$hi; + i64toi32_i32$3 = $196$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $194$hi; + i64toi32_i32$5 = 1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$4 | 0)) { + $48_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$5 >>> 0) { + $50_1 = 0 + } else { + $50_1 = 1 + } + $51_1 = $50_1; + } else { + $51_1 = 0 + } + $48_1 = $51_1; + } + label$20 : { + if (!($48_1 & 1 | 0)) { + break label$20 + } + $139_1 = HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + i64toi32_i32$5 = $139_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $198$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $199$hi = i64toi32_i32$3; + i64toi32_i32$3 = $198$hi; + i64toi32_i32$3 = $199$hi; + i64toi32_i32$3 = $198$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $199$hi; + i64toi32_i32$4 = 1; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$5 = $139_1; + HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($3_1 + 24 | 0) >> 2] = 2; + case 2: + i64toi32_i32$0 = 0; + $201$hi = i64toi32_i32$0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $203$hi = i64toi32_i32$5; + i64toi32_i32$5 = $201$hi; + i64toi32_i32$5 = $203$hi; + i64toi32_i32$5 = $201$hi; + i64toi32_i32$5 = $203$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $201$hi; + i64toi32_i32$4 = 0; + label$21 : { + label$22 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$4 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + break label$21; + } + i64toi32_i32$3 = 0; + $205$hi = i64toi32_i32$3; + i64toi32_i32$4 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $207$hi = i64toi32_i32$5; + i64toi32_i32$5 = $205$hi; + i64toi32_i32$5 = $207$hi; + i64toi32_i32$5 = $205$hi; + i64toi32_i32$5 = $207$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$3 = $205$hi; + i64toi32_i32$0 = 1; + label$23 : { + label$24 : { + if (!(((i64toi32_i32$4 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($3_1 + 24 | 0) >> 2] = 3; + break label$23; + } + $156_1 = (HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0) + (((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0) << 4 | 0) | 0; + i64toi32_i32$0 = $156_1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $209$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $210$hi = i64toi32_i32$5; + i64toi32_i32$5 = $209$hi; + i64toi32_i32$5 = $210$hi; + i64toi32_i32$5 = $209$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$4 = $210$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$0 = $156_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + $158_1 = HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + i64toi32_i32$5 = $158_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + $212$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $213$hi = i64toi32_i32$0; + i64toi32_i32$0 = $212$hi; + i64toi32_i32$0 = $213$hi; + i64toi32_i32$0 = $212$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $213$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$5 = $158_1; + HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] = i64toi32_i32$2; + } + } + break label$15; + default: + break label$16; + }; + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = i64toi32_i32$2; + label$25 : { + if (!($2060(HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 2 | 0 | 0) | 0)) { + break label$25 + } + HEAP32[($3_1 + 60 | 0) >> 2] = 7; + break label$1; + } + $166_1 = 2; + $174_1 = (HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0) + (((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0) << 4 | 0) | 0; + i64toi32_i32$0 = $174_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $216$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $217$hi = i64toi32_i32$2; + i64toi32_i32$2 = $216$hi; + i64toi32_i32$2 = $217$hi; + i64toi32_i32$2 = $216$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $217$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $174_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 24 | 0) >> 2] = $166_1; + } + continue label$14; + }; + } + $175_1 = 0; + HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 104 | 0) >> 2] = $175_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $175_1; + break label$5; + } + HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 88 | 0) >> 2] = 1; + } + HEAP32[($3_1 + 60 | 0) >> 2] = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + } + $180_1 = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + global$0 = $3_1 + 64 | 0; + return $180_1 | 0; + } + + function $2059($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $45_1 = 0, $154_1 = 0, $46_1 = 0, $47_1 = 0, $309_1 = 0, $484$hi = 0, $485$hi = 0, $488$hi = 0, $489$hi = 0, i64toi32_i32$6 = 0, $495$hi = 0, $496$hi = 0, $87_1 = 0, $257_1 = 0, $295_1 = 0, $334_1 = 0, $48_1 = 0, $49_1 = 0, $50_1 = 0, $492$hi = 0, $493$hi = 0, $51_1 = 0, $52_1 = 0, $53_1 = 0, $499$hi = 0, $500$hi = 0, $394_1 = 0, $438_1 = 0, $1141_1 = 0, $484_1 = 0, $1214_1 = 0, $488_1 = 0, $1313_1 = 0, $492_1 = 0, $1327_1 = 0, $495_1 = 0, $1350_1 = 0, $499_1 = 0, $1364_1 = 0, $389_1 = 0, $1448_1 = 0, $422_1 = 0, $1482_1 = 0, $437_1 = 0, $479_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 112 | 0) >> 2] = 0; + HEAP32[($4_1 + 108 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & 2 | 0; + HEAP32[($4_1 + 104 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & 1 | 0; + HEAP32[($4_1 + 100 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & 4 | 0; + HEAP32[($4_1 + 96 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & 8 | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & 16 | 0; + HEAP32[($4_1 + 88 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & 32 | 0; + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 116 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 ? 95 : 96; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$3 : while (1) { + HEAP32[($4_1 + 64 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 64 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + $2088(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + break label$6; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2086(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + if (!(HEAP32[($4_1 + 112 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($4_1 + 124 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $87_1 = 0; + $2090(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 97 | 0); + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] = $87_1; + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == ($87_1 | 0) & 1 | 0)) { + break label$10 + } + break label$9; + } + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + label$11 : { + if (!((HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$11 + } + label$12 : { + label$13 : { + if ((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$13 + } + label$14 : { + if (HEAP32[($4_1 + 96 | 0) >> 2] | 0) { + break label$14 + } + if ((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$13 + } + } + if (!($3228(HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + } + break label$9; + } + } + HEAP32[($4_1 + 68 | 0) >> 2] = 1; + label$15 : while (1) { + $154_1 = 0; + label$16 : { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $154_1 = 0; + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $154_1 = 0; + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $154_1 = (0 | 0) == ($3228(HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0 | 0); + } + label$17 : { + if (!($154_1 & 1 | 0)) { + break label$17 + } + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + } + break label$15; + }; + label$18 : { + label$19 : { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$19 + } + if (HEAP32[($4_1 + 108 | 0) >> 2] | 0) { + break label$19 + } + if (HEAP32[($4_1 + 88 | 0) >> 2] | 0) { + break label$19 + } + label$20 : { + if (!((HEAPU8[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0)) { + break label$20 + } + if ((HEAP32[((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$19 + } + } + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + label$21 : { + label$22 : { + if (!((HEAP32[((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2095(HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$21; + } + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + } + label$23 : { + if (HEAP32[($4_1 + 112 | 0) >> 2] | 0) { + break label$23 + } + HEAP32[($4_1 + 112 | 0) >> 2] = 100; + } + break label$18; + } + $257_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $257_1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 64 | 0) >> 2] = $257_1; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + $2096(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 64 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + $2090(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0); + label$26 : { + label$27 : while (1) { + if (!((HEAP32[((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $295_1 = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $295_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $295_1; + i64toi32_i32$2 = HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] | 0; + $1141_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1141_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + $2097(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0, $4_1 + 40 | 0 | 0, $4_1 + 36 | 0 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + label$28 : while (1) { + $309_1 = 0; + label$29 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + $309_1 = 0; + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$29 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] | 0; + $484_1 = i64toi32_i32$1; + $484$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $485$hi = i64toi32_i32$1; + i64toi32_i32$1 = $484$hi; + i64toi32_i32$1 = $485$hi; + i64toi32_i32$1 = $484$hi; + i64toi32_i32$1 = $485$hi; + $1214_1 = i64toi32_i32$0; + i64toi32_i32$1 = $484$hi; + i64toi32_i32$2 = $484_1; + i64toi32_i32$0 = $485$hi; + i64toi32_i32$3 = $1214_1; + $309_1 = (i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0; + } + label$30 : { + if (!($309_1 & 1 | 0)) { + break label$30 + } + $334_1 = 0; + $2097(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $334_1 | 0, $334_1 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + } + break label$28; + }; + label$31 : { + if (!(HEAP32[($4_1 + 100 | 0) >> 2] | 0)) { + break label$31 + } + $2098(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 0 | 0, $4_1 + 40 | 0 | 0, $4_1 + 36 | 0 | 0); + } + label$32 : { + label$33 : { + if (!(HEAP32[($4_1 + 108 | 0) >> 2] | 0)) { + break label$33 + } + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$32 + } + } + label$34 : { + label$35 : { + if (!((HEAPU8[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0)) { + break label$35 + } + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$35 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $488_1 = i64toi32_i32$2; + $488$hi = i64toi32_i32$1; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $489$hi = i64toi32_i32$2; + i64toi32_i32$2 = $488$hi; + i64toi32_i32$2 = $489$hi; + i64toi32_i32$2 = $488$hi; + i64toi32_i32$2 = $489$hi; + $1313_1 = i64toi32_i32$1; + i64toi32_i32$2 = $488$hi; + i64toi32_i32$3 = $488_1; + i64toi32_i32$1 = $489$hi; + i64toi32_i32$0 = $1313_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $48_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 > i64toi32_i32$0 >>> 0) { + $49_1 = 0 + } else { + $49_1 = 1 + } + $50_1 = $49_1; + } else { + $50_1 = 0 + } + $48_1 = $50_1; + } + label$36 : { + if (!($48_1 & 1 | 0)) { + break label$36 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 267; + break label$1; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $492_1 = i64toi32_i32$3; + $492$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $493$hi = i64toi32_i32$3; + i64toi32_i32$3 = $492$hi; + i64toi32_i32$3 = $493$hi; + $1327_1 = i64toi32_i32$2; + i64toi32_i32$3 = $492$hi; + i64toi32_i32$0 = $492_1; + i64toi32_i32$2 = $493$hi; + i64toi32_i32$1 = $1327_1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$5; + break label$34; + } + label$37 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$37 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $495_1 = i64toi32_i32$5; + $495$hi = i64toi32_i32$0; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $496$hi = i64toi32_i32$5; + i64toi32_i32$5 = $495$hi; + i64toi32_i32$5 = $496$hi; + i64toi32_i32$5 = $495$hi; + i64toi32_i32$5 = $496$hi; + $1350_1 = i64toi32_i32$0; + i64toi32_i32$5 = $495$hi; + i64toi32_i32$3 = $495_1; + i64toi32_i32$0 = $496$hi; + i64toi32_i32$1 = $1350_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$0 | 0)) { + $51_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { + $52_1 = 0 + } else { + $52_1 = 1 + } + $53_1 = $52_1; + } else { + $53_1 = 0 + } + $51_1 = $53_1; + } + if (!($51_1 & 1 | 0)) { + break label$37 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 267; + break label$1; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $499_1 = i64toi32_i32$3; + $499$hi = i64toi32_i32$5; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $500$hi = i64toi32_i32$3; + i64toi32_i32$3 = $499$hi; + i64toi32_i32$3 = $500$hi; + $1364_1 = i64toi32_i32$5; + i64toi32_i32$3 = $499$hi; + i64toi32_i32$1 = $499_1; + i64toi32_i32$5 = $500$hi; + i64toi32_i32$0 = $1364_1; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$4; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $389_1 = $2099(i64toi32_i32$4 | 0, i64toi32_i32$1 | 0) | 0; + label$38 : { + label$39 : { + if (!(HEAP32[($4_1 + 104 | 0) >> 2] | 0)) { + break label$39 + } + $394_1 = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + break label$38; + } + $394_1 = 0; + } + HEAP32[($4_1 + 32 | 0) >> 2] = $389_1 + $394_1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2100(HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + (HEAP32[($4_1 + 56 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$40 : { + if (!(HEAP32[($4_1 + 112 | 0) >> 2] | 0)) { + break label$40 + } + HEAP32[($4_1 + 124 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + break label$1; + } + label$41 : { + label$42 : { + if (!(HEAP32[($4_1 + 88 | 0) >> 2] | 0)) { + break label$42 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 56 | 0) >> 2] | 0) | 0; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2101(i64toi32_i32$1 | 0, i64toi32_i32$4 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$43 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$43 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $1448_1 = i64toi32_i32$4; + i64toi32_i32$4 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $1448_1; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + } + break label$41; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $422_1 = $2102((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 56 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0) | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + $422_1 | 0; + i64toi32_i32$3 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $1482_1 = i64toi32_i32$4; + i64toi32_i32$4 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $1482_1; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$1; + label$44 : { + if (!(HEAP32[($4_1 + 104 | 0) >> 2] | 0)) { + break label$44 + } + $3288((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 56 | 0) >> 2] | 0) | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0; + $437_1 = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $438_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $438_1 + 1 | 0; + HEAP8[($437_1 + $438_1 | 0) >> 0] = 0; + } + } + } + $2090(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0); + continue label$27; + }; + } + label$45 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$45 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2100(HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$46 : { + if (!(HEAP32[($4_1 + 112 | 0) >> 2] | 0)) { + break label$46 + } + HEAP32[($4_1 + 124 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$1 = 0; + i64toi32_i32$4 = (HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 56 | 0) >> 2] | 0) | 0; + $45_1 = 0; + HEAP8[i64toi32_i32$4 >> 0] = $45_1; + HEAP8[(i64toi32_i32$4 + 1 | 0) >> 0] = $45_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$4 + 2 | 0) >> 0] = $45_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$4 + 3 | 0) >> 0] = $45_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$4 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$4 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$4 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$4 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $46_1 = i64toi32_i32$4 + 16 | 0; + $47_1 = 0; + HEAP8[$46_1 >> 0] = $47_1; + HEAP8[($46_1 + 1 | 0) >> 0] = $47_1 >>> 8 | 0; + HEAP8[($46_1 + 2 | 0) >> 0] = $47_1 >>> 16 | 0; + HEAP8[($46_1 + 3 | 0) >> 0] = $47_1 >>> 24 | 0; + i64toi32_i32$4 = i64toi32_i32$4 + 8 | 0; + HEAP8[i64toi32_i32$4 >> 0] = $45_1; + HEAP8[(i64toi32_i32$4 + 1 | 0) >> 0] = $45_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$4 + 2 | 0) >> 0] = $45_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$4 + 3 | 0) >> 0] = $45_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$4 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$4 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$4 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$4 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 112 | 0) >> 2] = 100; + } + } + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + if (!(HEAP32[($4_1 + 112 | 0) >> 2] | 0)) { + continue label$3 + } + } + break label$3; + }; + HEAP32[($4_1 + 124 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + } + $479_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + global$0 = $4_1 + 128 | 0; + return $479_1 | 0; + } + + function $2060($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $46_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $3289((HEAP32[$4_1 >> 2] | 0) + ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, 0 | 0, ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) | 0) << 4 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 112 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $46_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $46_1 | 0; + } + + function $2061($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $7_1 = $2085(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $7_1 | 0; + } + + function $2062($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + return HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0; + } + + function $2063($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $7_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($7_1 | 0) { + case 0: + $277(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, -1 | 0); + break label$1; + case 1: + label$7 : { + label$8 : { + if (!(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 104 | 0) >> 2] | 0)) { + break label$8 + } + $267(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 104 | 0) >> 2] | 0) - 1 | 0 | 0); + break label$7; + } + $277(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 29181 | 0, -1 | 0, 0 | 0); + } + break label$1; + case 2: + i64toi32_i32$2 = (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 112 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 104 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + break label$1; + case 3: + i64toi32_i32$2 = (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 112 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 104 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$1; + default: + break label$2; + }; + } + $267(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 84 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return 0 | 0; + } + + function $2064($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $29_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 100 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $29_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return 0 | 0; + } + + function $2065($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + label$3 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + } + $383(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + } + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2066($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $12_1 = 0, $181$hi = 0, $42_1 = 0, $84_1 = 0, $87_1 = 0, $94_1 = 0, $186$hi = 0, $127_1 = 0, $149_1 = 0, $189$hi = 0, $190$hi = 0, $191$hi = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $389_1 = 0, $396_1 = 0, $403_1 = 0, $506_1 = 0, $147_1 = 0, $189_1 = 0, $190_1 = 0, $548_1 = 0, $178_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11_1 = global$0 - 96 | 0; + global$0 = $11_1; + $12_1 = 0; + HEAP32[($11_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 68 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 64 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 60 | 0) >> 2] = $8_1; + HEAP32[($11_1 + 56 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 52 | 0) >> 2] = $12_1; + label$1 : { + if (!((HEAP32[($11_1 + 80 | 0) >> 2] | 0 | 0) < ($12_1 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 280 | 0) >> 2] | 0 | 0) == (HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($11_1 + 44 | 0) >> 2] = 0; + $37_1 = HEAP32[($11_1 + 92 | 0) >> 2] | 0; + $38_1 = HEAP32[($11_1 + 84 | 0) >> 2] | 0; + $39_1 = HEAP32[($11_1 + 76 | 0) >> 2] | 0; + $40_1 = HEAP32[($11_1 + 72 | 0) >> 2] | 0; + $42_1 = 1; + label$2 : { + if (HEAP32[($11_1 + 68 | 0) >> 2] | 0) { + break label$2 + } + $42_1 = (HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0); + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2068($37_1 | 0, $38_1 | 0, $39_1 | 0, $40_1 | 0, $42_1 & 1 | 0 | 0, $11_1 + 44 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($11_1 + 56 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2069(HEAP32[($11_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + } + label$4 : { + label$5 : { + if (!((HEAP32[($11_1 + 80 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (HEAP32[($11_1 + 56 | 0) >> 2] | 0) { + break label$6 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2070(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 80 | 0) >> 2] | 0 | 0, $11_1 + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : while (1) { + $84_1 = 0; + label$8 : { + if (HEAP32[($11_1 + 56 | 0) >> 2] | 0) { + break label$8 + } + $87_1 = $287(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($11_1 + 56 | 0) >> 2] = $87_1; + $84_1 = (100 | 0) == ($87_1 | 0); + } + label$9 : { + if (!($84_1 & 1 | 0)) { + break label$9 + } + i64toi32_i32$0 = 0; + $181$hi = i64toi32_i32$0; + $94_1 = 4; + HEAP32[($11_1 + 40 | 0) >> 2] = 0; + i64toi32_i32$0 = $318(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $389_1 = i64toi32_i32$0; + i64toi32_i32$0 = $11_1; + HEAP32[($11_1 + 32 | 0) >> 2] = $389_1; + HEAP32[($11_1 + 36 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $318(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $396_1 = i64toi32_i32$1; + i64toi32_i32$1 = $11_1; + HEAP32[($11_1 + 24 | 0) >> 2] = $396_1; + HEAP32[($11_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $318(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 3 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $403_1 = i64toi32_i32$0; + i64toi32_i32$0 = $11_1; + HEAP32[($11_1 + 16 | 0) >> 2] = $403_1; + HEAP32[($11_1 + 20 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $315(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, $94_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $311(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, $94_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = HEAP32[($11_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11_1 + 36 | 0) >> 2] | 0; + $186$hi = i64toi32_i32$0; + i64toi32_i32$0 = $181$hi; + i64toi32_i32$0 = $186$hi; + i64toi32_i32$0 = $181$hi; + i64toi32_i32$0 = $186$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $181$hi; + label$10 : { + if (!(((i64toi32_i32$2 | 0) != (0 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[($11_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + label$12 : { + if (!(HEAP32[($11_1 + 68 | 0) >> 2] | 0)) { + break label$12 + } + $127_1 = $11_1 + 24 | 0; + break label$11; + } + $127_1 = 0; + } + HEAP32[($11_1 + 4 | 0) >> 2] = $127_1; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2071(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 12 | 0) >> 2] | 0 | 0, $11_1 + 32 | 0 | 0, HEAP32[($11_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($11_1 + 56 | 0) >> 2] | 0)) { + break label$13 + } + break label$4; + } + label$14 : { + if (HEAP32[($11_1 + 68 | 0) >> 2] | 0) { + break label$14 + } + if (HEAP32[($11_1 + 64 | 0) >> 2] | 0) { + break label$14 + } + i64toi32_i32$2 = HEAP32[($11_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11_1 + 36 | 0) >> 2] | 0; + $506_1 = i64toi32_i32$2; + i64toi32_i32$2 = $11_1; + HEAP32[($11_1 + 24 | 0) >> 2] = $506_1; + HEAP32[($11_1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + } + $147_1 = (HEAP32[((HEAP32[($11_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0; + $149_1 = 0; + label$15 : { + if (HEAP32[($11_1 + 68 | 0) >> 2] | 0) { + break label$15 + } + $149_1 = (HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0); + } + i64toi32_i32$0 = HEAP32[($11_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($11_1 + 36 | 0) >> 2] | 0; + $189_1 = i64toi32_i32$0; + $189$hi = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($11_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11_1 + 28 | 0) >> 2] | 0; + $190_1 = i64toi32_i32$2; + $190$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($11_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($11_1 + 20 | 0) >> 2] | 0; + $191$hi = i64toi32_i32$2; + i64toi32_i32$2 = $189$hi; + i64toi32_i32$2 = $190$hi; + i64toi32_i32$2 = $191$hi; + $548_1 = i64toi32_i32$0; + i64toi32_i32$2 = $189$hi; + i64toi32_i32$0 = $190$hi; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2072($147_1 | 0, $149_1 & 1 | 0 | 0, $189_1 | 0, i64toi32_i32$2 | 0, $190_1 | 0, i64toi32_i32$0 | 0, $548_1 | 0, $191$hi | 0, HEAP32[($11_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 12 | 0) >> 2] | 0 | 0, $11_1 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!(HEAP32[($11_1 + 56 | 0) >> 2] | 0)) { + break label$16 + } + break label$4; + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2069(HEAP32[($11_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + continue label$7; + } + break label$7; + }; + } + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $222(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!((HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($11_1 + 56 | 0) >> 2] = HEAP32[($11_1 + 48 | 0) >> 2] | 0; + } + $178_1 = HEAP32[($11_1 + 56 | 0) >> 2] | 0; + global$0 = $11_1 + 96 | 0; + return $178_1 | 0; + } + + function $2067($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $13_1 = 0, $45_1 = 0, $50_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + $13_1 = 0; + label$3 : { + if (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$3 + } + $13_1 = (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($13_1 & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$5 : while (1) { + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2086(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + break label$1; + } + $45_1 = 0; + label$7 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $50_1 = $2087(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $50_1; + $45_1 = ($50_1 | 0) < (0 | 0); + } + if ($45_1 & 1 | 0) { + continue label$5 + } + break label$5; + }; + label$8 : { + if (!((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$8 + } + $2088(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + $2090(HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 97 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $72_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $72_1 | 0; + } + + function $2068($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $9_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $78_1 = 0, $76_1 = 0, $77_1 = 0, $155_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 32 | 0) >> 2] = ((HEAP32[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 72 | 0) >> 2] | 0, 24) | 0) + 4 | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($8_1 + 60 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($8_1 + 28 | 0) >> 2] = 0; + HEAP32[($8_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!(HEAP32[($8_1 + 64 | 0) >> 2] | 0)) { + break label$6 + } + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) >= (HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + if (!((0 | 0) == ($3228(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + } + label$7 : { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 16 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $44(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 28 | 0) >> 2] | 0) << 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if ((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + HEAP32[($8_1 + 36 | 0) >> 2] = 7; + HEAP32[($8_1 + 40 | 0) >> 2] = 0; + break label$3; + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + } + $76_1 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + $77_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + $78_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = $78_1 + 1 | 0; + HEAP32[($77_1 + ($78_1 << 2 | 0) | 0) >> 2] = $76_1; + } + HEAP32[($8_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 48 | 0) >> 2] | 0) >> 2] | 0; + continue label$4; + }; + } + label$9 : { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$9 + } + $3221(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, 4 | 0, 98 | 0); + } + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2074(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($8_1 + 44 | 0) >> 2] = $8_1 + 48 | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = 1; + } + } + label$11 : { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$11 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 8 | 0) >> 2] = (((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) + 96 | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + label$13 : { + if ((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$13 + } + HEAP32[($8_1 + 36 | 0) >> 2] = 7; + break label$12; + } + i64toi32_i32$1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + $3289(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 52 | 0) >> 2] | 0) >> 2] = 2147483647; + HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] = (HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 96 | 0; + $3288(HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 40 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + } + } + label$14 : { + if (!(HEAP32[($8_1 + 60 | 0) >> 2] | 0)) { + break label$14 + } + $42(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0); + } + HEAP32[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + $155_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + global$0 = $8_1 + 80 | 0; + return $155_1 | 0; + } + + function $2069($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $34_1 = 0, $35_1 = 0, $31_1 = 0, $33_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) % (16 | 0) | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0) << 2 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $49(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + $2065(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $31_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $33_1 = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + $34_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $35_1 = HEAP32[($34_1 + 4 | 0) >> 2] | 0; + HEAP32[($34_1 + 4 | 0) >> 2] = $35_1 + 1 | 0; + HEAP32[($33_1 + ($35_1 << 2 | 0) | 0) >> 2] = $31_1; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $41_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $41_1 | 0; + } + + function $2070($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8_1 = 0, $27_1 = 0, $31_1 = 0, $44_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 4 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) < ($8_1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 13 | 0, $7_1 + 4 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + $27_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = $2076(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $331($27_1 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $31_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = $2076(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, 1023 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $331($31_1 | 0, 2 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + } + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 12 | 0, $7_1 + 4 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$4 + } + $44_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = $2076(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $331($44_1 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + } + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + $51_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $51_1 | 0; + } + + function $2071($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $40_1 = 0, $133$hi = 0, $134$hi = 0, $78_1 = 0, $139_1 = 0, $139$hi = 0, $133_1 = 0, $268_1 = 0, $82_1 = 0, $130_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 48 | 0; + global$0 = $9_1; + HEAP32[($9_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($9_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$2 + } + $2077(HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, $9_1 + 12 | 0 | 0) | 0; + break label$1; + } + HEAP32[($9_1 + 12 | 0) >> 2] = (HEAPU8[(HEAP32[($9_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2078(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($9_1 + 16 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$3 + } + $40_1 = 0; + HEAP32[($9_1 + 8 | 0) >> 2] = $40_1; + HEAP32[($9_1 + 4 | 0) >> 2] = $40_1; + label$4 : { + if (!((HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0) != ($40_1 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $133_1 = i64toi32_i32$0; + $133$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $134$hi = i64toi32_i32$0; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$0 = $134$hi; + $268_1 = i64toi32_i32$1; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$2 = $133_1; + i64toi32_i32$1 = $134$hi; + i64toi32_i32$3 = $268_1; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$3 = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2079(HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0, $9_1 + 8 | 0 | 0, $9_1 + 4 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($9_1 + 16 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2071(HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $78_1 = 0; + $42(HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 24 | 0) >> 2] = $78_1; + HEAP32[($9_1 + 8 | 0) >> 2] = $78_1; + } + label$6 : { + if (HEAP32[($9_1 + 16 | 0) >> 2] | 0) { + break label$6 + } + $82_1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$3 = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $139_1 = i64toi32_i32$0; + $139$hi = i64toi32_i32$2; + break label$7; + } + i64toi32_i32$3 = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $139_1 = i64toi32_i32$2; + $139$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $139$hi; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2079($82_1 | 0, $139_1 | 0, i64toi32_i32$0 | 0, $9_1 + 8 | 0 | 0, $9_1 + 4 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$9 : { + if (HEAP32[($9_1 + 16 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[$9_1 >> 2] = 0; + label$10 : { + label$11 : { + if (!(((HEAPU8[(HEAP32[($9_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$11 + } + $2077(HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0, $9_1 | 0) | 0; + break label$10; + } + HEAP32[$9_1 >> 2] = (HEAPU8[(HEAP32[($9_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + } + label$12 : { + label$13 : { + if (!((HEAP32[$9_1 >> 2] | 0 | 0) >= (HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($9_1 + 16 | 0) >> 2] = 267; + break label$12; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2071(HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + $42(HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0); + } + $130_1 = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + global$0 = $9_1 + 48 | 0; + return $130_1 | 0; + } + + function $2072($0_1, $1_1, $2_1, $2$hi, $3_1, $3$hi, $4_1, $4$hi, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $28_1 = 0, $29_1 = 0, $30_1 = 0, $80$hi = 0, $84$hi = 0, i64toi32_i32$5 = 0, $82$hi = 0, $86$hi = 0, $92$hi = 0, $93$hi = 0, $204_1 = 0, $210_1 = 0, $216_1 = 0, $285_1 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 64 | 0; + global$0 = $10_1; + i64toi32_i32$0 = 0; + $80$hi = i64toi32_i32$0; + HEAP32[($10_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 52 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $10_1; + HEAP32[($10_1 + 40 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $10_1; + HEAP32[($10_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $10_1; + HEAP32[($10_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($10_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 12 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 4 | 0) >> 2] = 0; + i64toi32_i32$2 = $10_1; + i64toi32_i32$0 = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($10_1 + 44 | 0) >> 2] | 0; + $82$hi = i64toi32_i32$1; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = 0; + $84$hi = i64toi32_i32$2; + i64toi32_i32$3 = $10_1; + i64toi32_i32$2 = HEAP32[($10_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($10_1 + 36 | 0) >> 2] | 0; + $86$hi = i64toi32_i32$1; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$1 = $86$hi; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$1 = $86$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$0 = 0; + label$3 : { + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($10_1 + 60 | 0) >> 2] = 267; + break label$1; + } + HEAP32[($10_1 + 4 | 0) >> 2] = (HEAP32[($10_1 + 16 | 0) >> 2] | 0) + 20 | 0; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $38((HEAP32[($10_1 + 4 | 0) >> 2] | 0) + 96 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if ((HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + HEAP32[($10_1 + 60 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, 96 | 0) | 0; + HEAP32[(HEAP32[($10_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($10_1 + 56 | 0) >> 2] | 0; + HEAP8[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] = (HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + i64toi32_i32$0 = $10_1; + i64toi32_i32$3 = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($10_1 + 44 | 0) >> 2] | 0; + $204_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($10_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] = $204_1; + HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $10_1; + i64toi32_i32$1 = HEAP32[($10_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($10_1 + 36 | 0) >> 2] | 0; + $210_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($10_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $210_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$0 = $10_1; + i64toi32_i32$3 = HEAP32[($10_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($10_1 + 28 | 0) >> 2] | 0; + $216_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($10_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] = $216_1; + HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] = i64toi32_i32$1; + label$5 : { + label$6 : { + if (!(HEAP32[($10_1 + 4 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 96 | 0; + HEAP8[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 5 | 0) >> 0] = 1; + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($10_1 + 16 | 0) >> 2] | 0; + label$7 : { + if (!(HEAP32[($10_1 + 16 | 0) >> 2] | 0)) { + break label$7 + } + $3288(HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + i64toi32_i32$1 = 0; + i64toi32_i32$3 = (HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + (HEAP32[($10_1 + 16 | 0) >> 2] | 0) | 0; + $28_1 = 0; + HEAP8[i64toi32_i32$3 >> 0] = $28_1; + HEAP8[(i64toi32_i32$3 + 1 | 0) >> 0] = $28_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$3 + 2 | 0) >> 0] = $28_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$3 + 3 | 0) >> 0] = $28_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$3 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$3 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$3 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$3 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $29_1 = i64toi32_i32$3 + 16 | 0; + $30_1 = 0; + HEAP8[$29_1 >> 0] = $30_1; + HEAP8[($29_1 + 1 | 0) >> 0] = $30_1 >>> 8 | 0; + HEAP8[($29_1 + 2 | 0) >> 0] = $30_1 >>> 16 | 0; + HEAP8[($29_1 + 3 | 0) >> 0] = $30_1 >>> 24 | 0; + i64toi32_i32$3 = i64toi32_i32$3 + 8 | 0; + HEAP8[i64toi32_i32$3 >> 0] = $28_1; + HEAP8[(i64toi32_i32$3 + 1 | 0) >> 0] = $28_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$3 + 2 | 0) >> 0] = $28_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$3 + 3 | 0) >> 0] = $28_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$3 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$3 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$3 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$3 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + break label$5; + } + i64toi32_i32$0 = $10_1; + i64toi32_i32$1 = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($10_1 + 44 | 0) >> 2] | 0; + $92$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $93$hi = i64toi32_i32$3; + i64toi32_i32$3 = $92$hi; + i64toi32_i32$3 = $93$hi; + i64toi32_i32$3 = $92$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $93$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + $285_1 = i64toi32_i32$0 - i64toi32_i32$2 | 0; + i64toi32_i32$0 = HEAP32[($10_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $285_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$5; + } + HEAP32[(HEAP32[($10_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($10_1 + 8 | 0) >> 2] | 0; + HEAP32[($10_1 + 60 | 0) >> 2] = 0; + } + $77_1 = HEAP32[($10_1 + 60 | 0) >> 2] | 0; + global$0 = $10_1 + 64 | 0; + return $77_1 | 0; + } + + function $2073($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $25_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $25_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $25_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = $25_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3228(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$3 + } + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + } + $36_1 = HEAP32[$4_1 >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $36_1 | 0; + } + + function $2074($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $24_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $24_1 = 24; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2026(((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 20 | 0) >> 2] | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2027(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) & ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $42_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $42_1 | 0; + } + + function $2075($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $127_1 = 0, $42_1 = 0, $44_1 = 0, $46_1 = 0, $67_1 = 0, $80_1 = 0, $82_1 = 0, $152_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 240 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 236 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 232 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 228 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 224 | 0) >> 2] = $3_1; + $3288($6_1 + 64 | 0 | 0, 47664 | 0, 160 | 0) | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 236 | 0) >> 2] | 0) + 60 | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0) { + break label$1 + } + HEAP32[($6_1 + 52 | 0) >> 2] = 5; + label$2 : { + label$3 : { + if (!((HEAP32[($6_1 + 232 | 0) >> 2] | 0 | 0) == (18 | 0) & 1 | 0)) { + break label$3 + } + $42_1 = HEAP32[(($6_1 + 64 | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $44_1 = HEAP32[((HEAP32[($6_1 + 236 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $46_1 = HEAP32[((HEAP32[($6_1 + 236 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 236 | 0) >> 2] | 0) + 228 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $46_1; + HEAP32[$6_1 >> 2] = $44_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79($42_1 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + label$4 : { + label$5 : { + if (!((HEAP32[($6_1 + 232 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) & -5 | 0; + $67_1 = HEAP32[(($6_1 + 64 | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 236 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79($67_1 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + $80_1 = HEAP32[(($6_1 + 64 | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $82_1 = HEAP32[((HEAP32[($6_1 + 236 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 236 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = $82_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79($80_1 | 0, $6_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + } + label$6 : { + label$7 : { + if ((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 7; + break label$6; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $408(HEAP32[((HEAP32[($6_1 + 236 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, $6_1 + 56 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[(((HEAP32[($6_1 + 236 | 0) >> 2] | 0) + 60 | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + } + } + label$8 : { + if (!((HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $336(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + label$9 : while (1) { + $127_1 = 0; + label$10 : { + if (HEAP32[($6_1 + 60 | 0) >> 2] | 0) { + break label$10 + } + $127_1 = (HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!($127_1 & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $334(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + } + HEAP32[(HEAP32[($6_1 + 228 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $152_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 240 | 0; + return $152_1 | 0; + } + + function $2076($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, $6_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $16$hi = 0, $17$hi = 0, $18$hi = 0, $19$hi = 0, $20$hi = 0, $21$hi = 0, $25_1 = 0, $23$hi = 0, $24$hi = 0, $16_1 = 0, $51_1 = 0, $18_1 = 0, $59_1 = 0, $23_1 = 0, $74_1 = 0; + $6_1 = global$0 - 32 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + i64toi32_i32$1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $16_1 = i64toi32_i32$1; + $16$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $17$hi = i64toi32_i32$0; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$0 = $17$hi; + $51_1 = i64toi32_i32$1; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$1 = __wasm_i64_mul($16_1 | 0, i64toi32_i32$0 | 0, $51_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $18_1 = i64toi32_i32$1; + $18$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $19$hi = i64toi32_i32$0; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$0 = $19$hi; + $59_1 = i64toi32_i32$1; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$2 = $18_1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$3 = $59_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $20$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $21$hi = i64toi32_i32$5; + i64toi32_i32$5 = $20$hi; + i64toi32_i32$5 = $21$hi; + i64toi32_i32$5 = $20$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $21$hi; + i64toi32_i32$3 = 10; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + $25_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $25_1 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + } + i64toi32_i32$0 = $6_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $25_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $23_1 = i64toi32_i32$2; + $23$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $24$hi = i64toi32_i32$0; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$0 = $24$hi; + $74_1 = i64toi32_i32$2; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$5 = $23_1; + i64toi32_i32$2 = $24$hi; + i64toi32_i32$3 = $74_1; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$HIGH_BITS = i64toi32_i32$4; + return i64toi32_i32$1 | 0; + } + + function $2077($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $15_1 = 0, $33_1 = 0, $51_1 = 0, $14_1 = 0, $32_1 = 0, $50_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $6_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $6_1 + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[$6_1 >> 0] | 0) & 255 | 0; + $14_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 127 | 0; + $15_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $15_1 + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $14_1 | (((HEAPU8[$15_1 >> 0] | 0) & 255 | 0) << 7 | 0) | 0; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 16384 | 0) { + break label$2 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + $32_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 16383 | 0; + $33_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $33_1 + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $32_1 | (((HEAPU8[$33_1 >> 0] | 0) & 255 | 0) << 14 | 0) | 0; + label$3 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2097152 | 0) { + break label$3 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 3; + break label$1; + } + $50_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2097151 | 0; + $51_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $51_1 + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $50_1 | (((HEAPU8[$51_1 >> 0] | 0) & 255 | 0) << 21 | 0) | 0; + label$4 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 268435456 | 0) { + break label$4 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 4; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 268435455 | 0; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0 | ((((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 7 | 0) << 28 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 5; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2078($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $12_1 = 0, $243$hi = 0, $244$hi = 0, $11_1 = 0, $42_1 = 0, $51_1 = 0, $74_1 = 0, $103_1 = 0, $241$hi = 0, $242$hi = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $247$hi = 0, $248$hi = 0, $249$hi = 0, $250$hi = 0, $48_1 = 0, $175_1 = 0, $255$hi = 0, $256$hi = 0, $19_1 = 0, $23_1 = 0, $241_1 = 0, $542_1 = 0, $549_1 = 0, $139_1 = 0, $247_1 = 0, $567_1 = 0, $165_1 = 0, $166_1 = 0, $709_1 = 0, $741_1 = 0, $768_1 = 0, $786_1 = 0, $237_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 96 | 0; + global$0 = $8_1; + $11_1 = $8_1 + 24 | 0; + $12_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($8_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $12_1; + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[($8_1 + 80 | 0) >> 2] | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + (HEAP32[($8_1 + 76 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 52 | 0) >> 2] = $12_1; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = 0; + HEAP32[($8_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 36 | 0) >> 2] = 1; + HEAP32[($8_1 + 20 | 0) >> 2] = $12_1; + $19_1 = $2061(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, $11_1 | 0) | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + $19_1 | 0; + $23_1 = $2061(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, $11_1 | 0) | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + $23_1 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 60 | 0) >> 2] | 0) >>> 0 > (HEAP32[($8_1 + 56 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 92 | 0) >> 2] = 267; + break label$1; + } + label$3 : { + label$4 : while (1) { + $42_1 = 0; + label$5 : { + if (!((HEAP32[($8_1 + 60 | 0) >> 2] | 0) >>> 0 < (HEAP32[($8_1 + 56 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + $51_1 = 1; + label$6 : { + if ((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + $51_1 = (HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) != (0 | 0); + } + $42_1 = $51_1; + } + label$7 : { + if (!($42_1 & 1 | 0)) { + break label$7 + } + HEAP32[($8_1 + 8 | 0) >> 2] = 0; + label$8 : { + if (HEAP32[($8_1 + 36 | 0) >> 2] | 0) { + break label$8 + } + label$9 : { + label$10 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$10 + } + $74_1 = $2077(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, $8_1 + 8 | 0 | 0) | 0; + break label$9; + } + HEAP32[($8_1 + 8 | 0) >> 2] = (HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $74_1 = 1; + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + $74_1 | 0; + label$11 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) > (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($8_1 + 64 | 0) >> 2] = 267; + break label$3; + } + } + HEAP32[($8_1 + 36 | 0) >> 2] = 0; + label$12 : { + label$13 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$13 + } + $103_1 = $2077(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, $8_1 + 12 | 0 | 0) | 0; + break label$12; + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $103_1 = 1; + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + $103_1 | 0; + label$14 : { + label$15 : { + if ((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) > ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) - (HEAP32[($8_1 + 80 | 0) >> 2] | 0) | 0 | 0) & 1 | 0) { + break label$15 + } + if ((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) > ((HEAP32[($8_1 + 56 | 0) >> 2] | 0) - (HEAP32[($8_1 + 60 | 0) >> 2] | 0) | 0 | 0) & 1 | 0) { + break label$15 + } + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$14 + } + } + HEAP32[($8_1 + 64 | 0) >> 2] = 267; + break label$3; + } + i64toi32_i32$1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $241_1 = i64toi32_i32$1; + $241$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $242$hi = i64toi32_i32$0; + i64toi32_i32$0 = $241$hi; + i64toi32_i32$0 = $242$hi; + $542_1 = i64toi32_i32$1; + i64toi32_i32$0 = $241$hi; + i64toi32_i32$2 = $241_1; + i64toi32_i32$1 = $242$hi; + i64toi32_i32$3 = $542_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $243$hi = i64toi32_i32$5; + i64toi32_i32$0 = $8_1; + i64toi32_i32$5 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + $244$hi = i64toi32_i32$2; + i64toi32_i32$2 = $243$hi; + i64toi32_i32$2 = $244$hi; + i64toi32_i32$2 = $243$hi; + i64toi32_i32$2 = $244$hi; + $549_1 = i64toi32_i32$5; + i64toi32_i32$2 = $243$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$5 = $244$hi; + i64toi32_i32$3 = $549_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $45_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $46_1 = 0 + } else { + $46_1 = 1 + } + $47_1 = $46_1; + } else { + $47_1 = 0 + } + $45_1 = $47_1; + } + label$16 : { + if (!($45_1 & 1 | 0)) { + break label$16 + } + $139_1 = 0; + i64toi32_i32$2 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $247_1 = i64toi32_i32$2; + $247$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $248$hi = i64toi32_i32$0; + i64toi32_i32$0 = $247$hi; + i64toi32_i32$0 = $248$hi; + $567_1 = i64toi32_i32$2; + i64toi32_i32$0 = $247$hi; + i64toi32_i32$3 = $247_1; + i64toi32_i32$2 = $248$hi; + i64toi32_i32$5 = $567_1; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $249$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $250$hi = i64toi32_i32$4; + i64toi32_i32$4 = $249$hi; + i64toi32_i32$4 = $250$hi; + i64toi32_i32$4 = $249$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$3 = $250$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$2 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + $48_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$2 | 0) | 0; + $48_1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + } + i64toi32_i32$0 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $48_1; + HEAP32[($8_1 + 44 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$4 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $49(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if ((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) != ($139_1 | 0) & 1 | 0) { + break label$17 + } + HEAP32[($8_1 + 64 | 0) >> 2] = 7; + break label$3; + } + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + } + $3288((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + (HEAP32[($8_1 + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAP32[($8_1 + 8 | 0) >> 2] | 0) + (HEAP32[($8_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + (HEAP32[($8_1 + 12 | 0) >> 2] | 0) | 0; + $165_1 = HEAP32[($8_1 + 88 | 0) >> 2] | 0; + $166_1 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $175_1 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + break label$18; + } + $175_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $3228($165_1 | 0, $166_1 | 0, $175_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + label$21 : { + if ((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$21 + } + if (HEAP32[($8_1 + 16 | 0) >> 2] | 0) { + break label$20 + } + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + } + i64toi32_i32$4 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $709_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $709_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($8_1 + 72 | 0) >> 2] = 0; + } + label$22 : { + if (!((HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$22 + } + i64toi32_i32$4 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $741_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $741_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 68 | 0) >> 2] = 0; + } + i64toi32_i32$4 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $255$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $256$hi = i64toi32_i32$3; + i64toi32_i32$3 = $255$hi; + i64toi32_i32$3 = $256$hi; + i64toi32_i32$3 = $255$hi; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$0 = $256$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$4 = $8_1; + HEAP32[($8_1 + 24 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($8_1 + 28 | 0) >> 2] = i64toi32_i32$1; + continue label$4; + } + break label$4; + }; + label$23 : { + if (!((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + i64toi32_i32$3 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $768_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $768_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + } + label$24 : { + if (!((HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + i64toi32_i32$3 = $8_1; + i64toi32_i32$4 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $786_1 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$4 >> 2] = $786_1; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$1; + } + } + $42(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 92 | 0) >> 2] = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + } + $237_1 = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + global$0 = $8_1 + 96 | 0; + return $237_1 | 0; + } + + function $2079($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $30_1 = 0, $123_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $394(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + label$4 : { + if (!((0 | 0) == (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 248 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[$7_1 >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $30_1 = $79(47824 | 0, $7_1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 248 | 0) >> 2] = $30_1; + label$5 : { + if (!((0 | 0) == (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 248 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 44 | 0) >> 2] = 7; + break label$1; + } + } + i64toi32_i32$1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $347(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 248 | 0) >> 2] | 0 | 0, 47836 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, 0 | 0, (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 252 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + label$7 : { + if (HEAP32[($7_1 + 16 | 0) >> 2] | 0) { + break label$7 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $393(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + label$8 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $38((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + label$10 : { + if ((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + HEAP32[($7_1 + 16 | 0) >> 2] = 7; + break label$9; + } + label$11 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) > (16384 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($7_1 + 12 | 0) >> 2] = 4096; + HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $384(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + $11_1 = 0; + HEAP8[i64toi32_i32$1 >> 0] = $11_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $11_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $11_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $11_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $12_1 = i64toi32_i32$1 + 16 | 0; + $13_1 = 0; + HEAP8[$12_1 >> 0] = $13_1; + HEAP8[($12_1 + 1 | 0) >> 0] = $13_1 >>> 8 | 0; + HEAP8[($12_1 + 2 | 0) >> 0] = $13_1 >>> 16 | 0; + HEAP8[($12_1 + 3 | 0) >> 0] = $13_1 >>> 24 | 0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP8[i64toi32_i32$1 >> 0] = $11_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $11_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $11_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $11_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + label$12 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$12 + } + $42(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + } + } + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + } + break label$6; + } + label$13 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($7_1 + 16 | 0) >> 2] = 267; + } + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + } + $123_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $123_1 | 0; + } + + function $2080($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $27_1 = 0, $31_1 = 0, $26_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) <= ($5_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3303(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $26_1 = ((HEAP32[$4_1 >> 2] | 0) << 3 | 0) ^ (HEAP32[$4_1 >> 2] | 0) | 0; + $27_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $27_1 + 1 | 0; + $31_1 = 24; + HEAP32[$4_1 >> 2] = $26_1 ^ (((HEAPU8[$27_1 >> 0] | 0) << $31_1 | 0) >> $31_1 | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + -1 | 0; + continue label$3; + }; + } + $40_1 = (HEAP32[$4_1 >> 2] | 0) & 2147483647 | 0; + global$0 = $4_1 + 16 | 0; + return $40_1 | 0; + } + + function $2081($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0, $21_1 = 0, $25_1 = 0, $20_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + $8_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $8_1 + -1 | 0; + if (!(($8_1 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $20_1 = ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 3 | 0) ^ (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0; + $21_1 = HEAP32[$4_1 >> 2] | 0; + HEAP32[$4_1 >> 2] = $21_1 + 1 | 0; + $25_1 = 24; + HEAP32[($4_1 + 4 | 0) >> 2] = $20_1 ^ (((HEAPU8[$21_1 >> 0] | 0) << $25_1 | 0) >> $25_1 | 0) | 0; + continue label$2; + }; + } + return (HEAP32[($4_1 + 4 | 0) >> 2] | 0) & 2147483647 | 0 | 0; + } + + function $2082($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 99; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 100; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2083($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3234(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $19_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $19_1 | 0; + } + + function $2084($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3228(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $19_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $19_1 | 0; + } + + function $2085($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $113$hi = 0, $7_1 = 0, $23_1 = 0, $42_1 = 0, $61_1 = 0, $89_1 = 0, $115$hi = 0, $116$hi = 0, $117$hi = 0, $118$hi = 0, $29_1 = 0, $119$hi = 0, $122$hi = 0, $123$hi = 0, $125$hi = 0, $22_1 = 0, $41_1 = 0, $60_1 = 0, $113_1 = 0, $356$hi = 0, $388_1 = 0; + $4_1 = global$0 - 48 | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + $7_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $7_1 + 1 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAPU8[$7_1 >> 0] | 0) & 255 | 0; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 128 | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + $22_1 = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 127 | 0; + $23_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $23_1 + 1 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $22_1 | (((HEAPU8[$23_1 >> 0] | 0) & 255 | 0) << 7 | 0) | 0; + label$3 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 16384 | 0) { + break label$3 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 44 | 0) >> 2] = 2; + break label$1; + } + $41_1 = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 16383 | 0; + $42_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $42_1 + 1 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $41_1 | (((HEAPU8[$42_1 >> 0] | 0) & 255 | 0) << 14 | 0) | 0; + label$4 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 2097152 | 0) { + break label$4 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 44 | 0) >> 2] = 3; + break label$1; + } + $60_1 = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 2097151 | 0; + $61_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $61_1 + 1 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $60_1 | (((HEAPU8[$61_1 >> 0] | 0) & 255 | 0) << 21 | 0) | 0; + label$5 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 268435456 | 0) { + break label$5 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 44 | 0) >> 2] = 4; + break label$1; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 268435455 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = 28; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) <= (63 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + $113_1 = 0; + $113$hi = i64toi32_i32$0; + $89_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $89_1 + 1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = (HEAPU8[$89_1 >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $115$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $116$hi = i64toi32_i32$1; + i64toi32_i32$1 = $115$hi; + i64toi32_i32$1 = $116$hi; + i64toi32_i32$1 = $115$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $116$hi; + i64toi32_i32$3 = 127; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $117$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $118$hi = i64toi32_i32$0; + i64toi32_i32$0 = $117$hi; + i64toi32_i32$0 = $118$hi; + i64toi32_i32$0 = $117$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $118$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $29_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $29_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $119$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $356$hi = i64toi32_i32$1; + i64toi32_i32$1 = $119$hi; + i64toi32_i32$1 = $356$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $119$hi; + i64toi32_i32$3 = $29_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $122$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $123$hi = i64toi32_i32$0; + i64toi32_i32$0 = $122$hi; + i64toi32_i32$0 = $123$hi; + i64toi32_i32$0 = $122$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $123$hi; + i64toi32_i32$3 = 128; + i64toi32_i32$5 = i64toi32_i32$0 & i64toi32_i32$5 | 0; + $125$hi = i64toi32_i32$5; + i64toi32_i32$5 = $113$hi; + i64toi32_i32$5 = $125$hi; + i64toi32_i32$5 = $113$hi; + i64toi32_i32$5 = $125$hi; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $113$hi; + i64toi32_i32$3 = $113_1; + label$8 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$8 + } + break label$6; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 7 | 0; + continue label$7; + }; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $388_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $388_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) - (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0; + } + return HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0; + } + + function $2086($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $324$hi = 0, $325$hi = 0, $333$hi = 0, $334$hi = 0, $47_1 = 0, $86_1 = 0, $89_1 = 0, $92_1 = 0, $46_1 = 0, $48_1 = 0, $49_1 = 0, $105_1 = 0, $328$hi = 0, $329$hi = 0, $116_1 = 0, $156_1 = 0, $176_1 = 0, $331$hi = 0, $332$hi = 0, $50_1 = 0, $51_1 = 0, $52_1 = 0, $337$hi = 0, $338$hi = 0, $339$hi = 0, $340$hi = 0, $53_1 = 0, $275_1 = 0, $314_1 = 0, $324_1 = 0, $572_1 = 0, $104_1 = 0, $330_1 = 0, $330$hi = 0, $108_1 = 0, $111_1 = 0, $331_1 = 0, $835_1 = 0, $847_1 = 0, $224_1 = 0, $337_1 = 0, $865_1 = 0, $321_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) | 0; + } + label$3 : { + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0) >>> 0 >= ((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) | 0) >>> 0 & 1 | 0)) { + break label$4 + } + } + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $47_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) >> 2] | 0; + $42(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] = $47_1; + label$7 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != ($47_1 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 7; + break label$3; + } + $3288(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $86_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 76 | 0) >> 2] = $86_1; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] = $86_1; + $89_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 72 | 0) >> 2] = $89_1; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] = $89_1; + $92_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + HEAP32[($92_1 + 56 | 0) >> 2] = (HEAP32[($92_1 + 56 | 0) >> 2] | 0) + 4 | 0; + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + break label$3; + } + $2088(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $324_1 = i64toi32_i32$0; + $324$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $325$hi = i64toi32_i32$0; + i64toi32_i32$0 = $324$hi; + i64toi32_i32$0 = $325$hi; + i64toi32_i32$0 = $324$hi; + i64toi32_i32$0 = $325$hi; + $572_1 = i64toi32_i32$1; + i64toi32_i32$0 = $324$hi; + i64toi32_i32$2 = $324_1; + i64toi32_i32$1 = $325$hi; + i64toi32_i32$3 = $572_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $46_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $48_1 = 0 + } else { + $48_1 = 1 + } + $49_1 = $48_1; + } else { + $49_1 = 0 + } + $46_1 = $49_1; + } + label$9 : { + if (!($46_1 & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + break label$3; + } + $104_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + $105_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$3 = $105_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $328$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $329$hi = i64toi32_i32$0; + i64toi32_i32$0 = $328$hi; + i64toi32_i32$0 = $329$hi; + i64toi32_i32$0 = $328$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $329$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $330_1 = i64toi32_i32$4; + $330$hi = i64toi32_i32$5; + i64toi32_i32$3 = $105_1; + HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] = i64toi32_i32$5; + $108_1 = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0; + $111_1 = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 44 | 0; + label$10 : { + label$11 : { + if (!(HEAP32[($5_1 + 48 | 0) >> 2] | 0)) { + break label$11 + } + $116_1 = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 48 | 0; + break label$10; + } + $116_1 = 0; + } + i64toi32_i32$5 = $330$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2079($104_1 | 0, $330_1 | 0, i64toi32_i32$5 | 0, $108_1 | 0, $111_1 | 0, $116_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($5_1 + 44 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + break label$3; + } + label$13 : { + if (!(HEAP32[($5_1 + 48 | 0) >> 2] | 0)) { + break label$13 + } + if (!((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 252 | 0) >> 2] = 0; + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2091(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 20 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!(HEAP32[($5_1 + 44 | 0) >> 2] | 0)) { + break label$14 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + break label$3; + } + label$15 : { + label$16 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$16 + } + $156_1 = $2077(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, $5_1 + 36 | 0 | 0) | 0; + break label$15; + } + HEAP32[($5_1 + 36 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $156_1 = 1; + } + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + $156_1 | 0; + label$17 : { + label$18 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$18 + } + $176_1 = $2077(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0) | 0; + break label$17; + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $176_1 = 1; + } + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + $176_1 | 0; + label$19 : { + label$20 : { + if ((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0) { + break label$20 + } + if ((((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) | 0) - (HEAP32[($5_1 + 40 | 0) >> 2] | 0) | 0 | 0) < (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$20 + } + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + } + HEAP32[($5_1 + 60 | 0) >> 2] = 267; + break label$3; + } + i64toi32_i32$3 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $331_1 = i64toi32_i32$3; + $331$hi = i64toi32_i32$5; + i64toi32_i32$3 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $332$hi = i64toi32_i32$5; + i64toi32_i32$5 = $331$hi; + i64toi32_i32$5 = $332$hi; + $835_1 = i64toi32_i32$3; + i64toi32_i32$5 = $331$hi; + i64toi32_i32$0 = $331_1; + i64toi32_i32$3 = $332$hi; + i64toi32_i32$1 = $835_1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $333$hi = i64toi32_i32$4; + i64toi32_i32$0 = HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $334$hi = i64toi32_i32$4; + i64toi32_i32$4 = $333$hi; + i64toi32_i32$4 = $334$hi; + i64toi32_i32$4 = $333$hi; + i64toi32_i32$4 = $334$hi; + $847_1 = i64toi32_i32$0; + i64toi32_i32$4 = $333$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$0 = $334$hi; + i64toi32_i32$1 = $847_1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$0 | 0)) { + $50_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$5 >>> 0 <= i64toi32_i32$1 >>> 0) { + $51_1 = 0 + } else { + $51_1 = 1 + } + $52_1 = $51_1; + } else { + $52_1 = 0 + } + $50_1 = $52_1; + } + label$21 : { + if (!($50_1 & 1 | 0)) { + break label$21 + } + $224_1 = 0; + i64toi32_i32$4 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$4 >> 31 | 0; + $337_1 = i64toi32_i32$4; + $337$hi = i64toi32_i32$5; + i64toi32_i32$4 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$4 >> 31 | 0; + $338$hi = i64toi32_i32$5; + i64toi32_i32$5 = $337$hi; + i64toi32_i32$5 = $338$hi; + $865_1 = i64toi32_i32$4; + i64toi32_i32$5 = $337$hi; + i64toi32_i32$1 = $337_1; + i64toi32_i32$4 = $338$hi; + i64toi32_i32$0 = $865_1; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $339$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $340$hi = i64toi32_i32$2; + i64toi32_i32$2 = $339$hi; + i64toi32_i32$2 = $340$hi; + i64toi32_i32$2 = $339$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$1 = $340$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $53_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $53_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $53_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != ($224_1 | 0) & 1 | 0) { + break label$22 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 7; + break label$3; + } + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 68 | 0) >> 2] = i64toi32_i32$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2091(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 10 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!(HEAP32[($5_1 + 44 | 0) >> 2] | 0)) { + break label$23 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + break label$3; + } + $3288((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 60 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0; + label$24 : { + label$25 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$25 + } + $275_1 = $2077(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 76 | 0 | 0) | 0; + break label$24; + } + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 76 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $275_1 = 1; + } + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + $275_1 | 0; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 80 | 0) >> 2] = 0; + label$26 : { + label$27 : { + if ((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) > ((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) - ((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0) | 0 | 0) & 1 | 0) { + break label$27 + } + label$28 : { + if (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) { + break label$28 + } + $314_1 = 24; + if (((HEAPU8[((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $314_1 | 0) >> $314_1 | 0) { + break label$27 + } + } + if (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) { + break label$26 + } + } + HEAP32[($5_1 + 60 | 0) >> 2] = 267; + break label$3; + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + } + $321_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $321_1 | 0; + } + + function $2087($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = $6_1; + label$1 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3228(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3228(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[$5_1 >> 2] | 0) { + break label$4 + } + HEAP32[$5_1 >> 2] = (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) - (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0; + } + } + $38_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $38_1 | 0; + } + + function $2088($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $383(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2089($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $49_1 = 0, $71_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$4_1 >> 2] = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3228(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3228(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + break label$1; + } + $49_1 = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == ($49_1 | 0) & 1 | 0) - ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == ($49_1 | 0) & 1 | 0) | 0; + } + label$6 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) | 0; + } + $71_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $71_1 | 0; + } + + function $2090($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -1 | 0; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) - 1 | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((FUNCTION_TABLE[HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$3; + }; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2091($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0, $35_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = 0; + label$1 : while (1) { + $16_1 = 0; + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = 0; + if (HEAP32[$5_1 >> 2] | 0) { + break label$2 + } + $16_1 = (((HEAP32[($5_1 + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($16_1 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2092(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + continue label$1; + } + break label$1; + }; + $35_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $35_1 | 0; + } + + function $2092($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $8_1 = 0, $9_1 = 0, $10_1 = 0, $20_1 = 0, $36_1 = 0, $58_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) | 0 | 0) < (4096 | 0) & 1 | 0)) { + break label$2 + } + $20_1 = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) | 0; + break label$1; + } + $20_1 = 4096; + } + HEAP32[($3_1 + 8 | 0) >> 2] = $20_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $384(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + $36_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($36_1 + 48 | 0) >> 2] = (HEAP32[($36_1 + 48 | 0) >> 2] | 0) + (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) | 0; + $8_1 = 0; + HEAP8[i64toi32_i32$1 >> 0] = $8_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $8_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $8_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $8_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $9_1 = i64toi32_i32$1 + 16 | 0; + $10_1 = 0; + HEAP8[$9_1 >> 0] = $10_1; + HEAP8[($9_1 + 1 | 0) >> 0] = $10_1 >>> 8 | 0; + HEAP8[($9_1 + 2 | 0) >> 0] = $10_1 >>> 16 | 0; + HEAP8[($9_1 + 3 | 0) >> 0] = $10_1 >>> 24 | 0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP8[i64toi32_i32$1 >> 0] = $8_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $8_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $8_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $8_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $58_1 = 0; + $383(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = $58_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = $58_1; + } + } + $63_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $63_1 | 0; + } + + function $2093($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $41$hi = 0, $42$hi = 0, $45$hi = 0, $46$hi = 0, $5_1 = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $41_1 = 0, $100_1 = 0, $32_1 = 0, $33_1 = 0, $45_1 = 0, $131_1 = 0; + $4_1 = global$0 - 16 | 0; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0) - ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0) | 0; + label$1 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] | 0; + $41_1 = i64toi32_i32$0; + $41$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] | 0; + $42$hi = i64toi32_i32$0; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$0 = $42$hi; + $100_1 = i64toi32_i32$1; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$2 = $41_1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$3 = $100_1; + label$2 : { + label$3 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) | 0; + break label$2; + } + $32_1 = 1; + $33_1 = -1; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 92 | 0) >> 2] | 0; + $45_1 = i64toi32_i32$2; + $45$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 92 | 0) >> 2] | 0; + $46$hi = i64toi32_i32$2; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$2 = $46$hi; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$2 = $46$hi; + $131_1 = i64toi32_i32$0; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$3 = $45_1; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$1 = $131_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $18_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $18_1 = $20_1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = $18_1 & 1 | 0 ? $32_1 : $33_1; + } + } + return HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $2094($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $41$hi = 0, $42$hi = 0, $45$hi = 0, $46$hi = 0, $5_1 = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $41_1 = 0, $100_1 = 0, $32_1 = 0, $33_1 = 0, $45_1 = 0, $131_1 = 0; + $4_1 = global$0 - 16 | 0; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0) - ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0) | 0; + label$1 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] | 0; + $41_1 = i64toi32_i32$0; + $41$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] | 0; + $42$hi = i64toi32_i32$0; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$0 = $42$hi; + $100_1 = i64toi32_i32$1; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$2 = $41_1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$3 = $100_1; + label$2 : { + label$3 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) | 0; + break label$2; + } + $32_1 = 1; + $33_1 = -1; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 92 | 0) >> 2] | 0; + $45_1 = i64toi32_i32$2; + $45$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 92 | 0) >> 2] | 0; + $46$hi = i64toi32_i32$2; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$2 = $46$hi; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$2 = $46$hi; + $131_1 = i64toi32_i32$0; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$3 = $45_1; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$1 = $131_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $18_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $18_1 = $20_1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = $18_1 & 1 | 0 ? $32_1 : $33_1; + } + } + return HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $2095($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 1 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $44(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $3288(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $38_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $38_1 | 0; + } + + function $2096($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = 0; + i64toi32_i32$0 = 0; + HEAP8[($4_1 + 19 | 0) >> 0] = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 88 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 92 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 84 | 0) >> 2] = $18_1; + $2103($18_1 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 88 | 0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 84 | 0 | 0, $4_1 + 19 | 0 | 0); + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2091(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, 10 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2061(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 88 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + } + } + $55_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $55_1 | 0; + } + + function $2097($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $76_1 = 0, $80_1 = 0, $84_1 = 0, $88_1 = 0, $144_1 = 0, $148_1 = 0, $198$hi = 0, $199$hi = 0, $201$hi = 0, $202$hi = 0, $179_1 = 0, $198_1 = 0, $606_1 = 0, $201_1 = 0, $619_1 = 0, $195_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + HEAP8[($6_1 + 19 | 0) >> 0] = 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[($6_1 + 18 | 0) >> 0] = 0; + label$4 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0) - 1 | 0; + } + $2103(0 | 0, HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0, $6_1 + 20 | 0 | 0, (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 88 | 0 | 0, (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 84 | 0 | 0, $6_1 + 18 | 0 | 0); + label$5 : { + label$6 : { + if (!(((HEAPU8[($6_1 + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 80 | 0) >> 2] = 0; + break label$5; + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 80 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + break label$2; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) | 0; + label$7 : while (1) { + label$8 : { + label$9 : while (1) { + $76_1 = 24; + $80_1 = 24; + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $76_1 | 0) >> $76_1 | 0 | (((HEAPU8[($6_1 + 19 | 0) >> 0] | 0) << $80_1 | 0) >> $80_1 | 0) | 0)) { + break label$8 + } + $84_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = $84_1 + 1 | 0; + $88_1 = 24; + HEAP8[($6_1 + 19 | 0) >> 0] = (((HEAPU8[$84_1 >> 0] | 0) << $88_1 | 0) >> $88_1 | 0) & 128 | 0; + continue label$9; + }; + } + label$10 : { + label$11 : { + label$12 : { + if ((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$12 + } + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0 < ((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) | 0) >>> 0 & 1 | 0)) { + break label$11 + } + } + break label$10; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2092(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + break label$1; + } + continue label$7; + } + break label$7; + }; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + label$14 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) | 0) - 1 | 0; + } + label$15 : while (1) { + $144_1 = 0; + label$16 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$16 + } + $148_1 = 24; + $144_1 = (((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $148_1 | 0) >> $148_1 | 0 | 0) == (0 | 0); + } + label$17 : { + if (!($144_1 & 1 | 0)) { + break label$17 + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + } + break label$15; + }; + label$18 : { + label$19 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$19 + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 80 | 0) >> 2] = 0; + break label$18; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2091(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 10 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$20 + } + $179_1 = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ($2085(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0) | 0; + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 80 | 0) >> 2] = $179_1; + label$21 : { + label$22 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$22 + } + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] | 0; + $198_1 = i64toi32_i32$0; + $198$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $199$hi = i64toi32_i32$0; + i64toi32_i32$0 = $198$hi; + i64toi32_i32$0 = $199$hi; + $606_1 = i64toi32_i32$1; + i64toi32_i32$0 = $198$hi; + i64toi32_i32$2 = $198_1; + i64toi32_i32$1 = $199$hi; + i64toi32_i32$3 = $606_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] = i64toi32_i32$5; + break label$21; + } + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 92 | 0) >> 2] | 0; + $201_1 = i64toi32_i32$5; + $201$hi = i64toi32_i32$2; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $202$hi = i64toi32_i32$5; + i64toi32_i32$5 = $201$hi; + i64toi32_i32$5 = $202$hi; + $619_1 = i64toi32_i32$2; + i64toi32_i32$5 = $201$hi; + i64toi32_i32$0 = $201_1; + i64toi32_i32$2 = $202$hi; + i64toi32_i32$3 = $619_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 88 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 92 | 0) >> 2] = i64toi32_i32$4; + } + } + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + } + $195_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $195_1 | 0; + } + + function $2098($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $25_1 = 0, $28_1 = 0, $33_1 = 0, $45_1 = 0, $49_1 = 0, $91_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + label$1 : while (1) { + HEAP8[($6_1 + 11 | 0) >> 0] = 0; + label$2 : while (1) { + $25_1 = 0; + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + $28_1 = 24; + $33_1 = 24; + $25_1 = ((((HEAPU8[($6_1 + 11 | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0 | (((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $33_1 | 0) >> $33_1 | 0) | 0) & 254 | 0 | 0) != (0 | 0); + } + label$4 : { + if (!($25_1 & 1 | 0)) { + break label$4 + } + $45_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $45_1 + 1 | 0; + $49_1 = 24; + HEAP8[($6_1 + 11 | 0) >> 0] = (((HEAPU8[$45_1 >> 0] | 0) << $49_1 | 0) >> $49_1 | 0) & 128 | 0; + continue label$2; + } + break label$2; + }; + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) - (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0; + break label$5; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) - ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) - (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$7 + } + break label$5; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + label$8 : { + label$9 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$9 + } + $91_1 = $2077(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0) | 0; + break label$8; + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $91_1 = 1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + $91_1 | 0; + continue label$1; + } + break label$1; + }; + label$10 : { + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$10 + } + if (!(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) - ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$10 + } + $3289((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, 0 | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) - ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) | 0 | 0) | 0; + } + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return; + } + + function $2099($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $3_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $15$hi = 0, $12$hi = 0, $13$hi = 0, $12_1 = 0, $17$hi = 0; + $3_1 = global$0 - 16 | 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = 0; + label$1 : while (1) { + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $13$hi = i64toi32_i32$1; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$3 = 7; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $12_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $12_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$2 = $3_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = $12_1; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $15$hi = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $17$hi = i64toi32_i32$2; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$3 = 0; + if (((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + return HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $2100($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $44(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $33_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $33_1 | 0; + } + + function $2101($0_1, $0$hi, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8_1 = 0, $15_1 = 0, $26_1 = 0, $43_1 = 0, $69_1 = 0, $88_1 = 0, $99_1 = 0, $110_1 = 0, $39_1 = 0, $42_1 = 0, $64_1 = 0, $82_1 = 0, $87_1 = 0, $95_1 = 0, $98_1 = 0, $109_1 = 0, $114_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $8_1 = 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0; + $15_1 = 24; + label$1 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $15_1 | 0) >> $15_1 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = 24; + label$2 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $26_1 | 0) >> $26_1 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $39_1 = $2102((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $39_1 | 0; + $42_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $43_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $43_1 + 1 | 0; + HEAP8[($42_1 + $43_1 | 0) >> 0] = 2; + HEAP32[($6_1 + 20 | 0) >> 2] = 1; + } + $2104(0 | 0, $6_1 + 16 | 0 | 0); + } + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + $64_1 = $2061(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + $64_1 | 0; + $69_1 = 24; + label$5 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $69_1 | 0) >> $69_1 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $82_1 = $2102((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $82_1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 1; + } + $87_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $88_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $88_1 + 1 | 0; + HEAP8[($87_1 + $88_1 | 0) >> 0] = 1; + i64toi32_i32$0 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $95_1 = $2102((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $95_1 | 0; + $98_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $99_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $99_1 + 1 | 0; + HEAP8[($98_1 + $99_1 | 0) >> 0] = 2; + } + $2104(0 | 0, $6_1 + 16 | 0 | 0); + continue label$4; + }; + } + label$7 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$7 + } + $109_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $110_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $110_1 + 1 | 0; + HEAP8[($109_1 + $110_1 | 0) >> 0] = 0; + } + $114_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $114_1 | 0; + } + + function $2102($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $33$hi = 0, $25$hi = 0, $26$hi = 0, $27$hi = 0, $28$hi = 0, $7_1 = 0, $30$hi = 0, $31$hi = 0, $20_1 = 0, $35$hi = 0, $15_1 = 0, $52_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $52_1 = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$2; + HEAP32[i64toi32_i32$0 >> 2] = $52_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$1 : while (1) { + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $25$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $26$hi = i64toi32_i32$0; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$3 = 127; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $27$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $28$hi; + i64toi32_i32$3 = 128; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $7_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $7_1 + 1 | 0; + HEAP8[$7_1 >> 0] = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $31$hi = i64toi32_i32$0; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$3 = 7; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $20_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $20_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$1 = $4_1; + HEAP32[i64toi32_i32$1 >> 2] = $20_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $33$hi = i64toi32_i32$2; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $35$hi = i64toi32_i32$1; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $33$hi; + i64toi32_i32$3 = 0; + if (((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + $15_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + -1 | 0; + HEAP8[$15_1 >> 0] = ((HEAPU8[$15_1 >> 0] | 0) & 255 | 0) & 127 | 0; + return (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0 | 0; + } + + function $2103($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $118$hi = 0, $119$hi = 0, $120$hi = 0, $54_1 = 0, $58_1 = 0, $124$hi = 0, $125$hi = 0, $126$hi = 0, $94_1 = 0, $32_1 = 0, $35_1 = 0, $40_1 = 0, $118_1 = 0, $227_1 = 0, $120_1 = 0, $231$hi = 0, $316_1 = 0, $124_1 = 0, $346_1 = 0, $126_1 = 0, $352$hi = 0; + $9_1 = global$0 - 96 | 0; + global$0 = $9_1; + HEAP32[($9_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 68 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 56 | 0) >> 2] = 0; + HEAP32[($9_1 + 60 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 52 | 0) >> 2] = 0; + HEAP32[($9_1 + 48 | 0) >> 2] = HEAP32[($9_1 + 88 | 0) >> 2] | 0; + HEAP32[($9_1 + 44 | 0) >> 2] = (HEAP32[($9_1 + 88 | 0) >> 2] | 0) + (HEAP32[($9_1 + 84 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 40 | 0) >> 2] = 1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($9_1 + 48 | 0) >> 2] | 0) >>> 0 < (HEAP32[($9_1 + 44 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + $32_1 = 0; + $35_1 = $9_1 + 48 | 0; + $40_1 = $2061(HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, $9_1 + 32 | 0 | 0) | 0; + HEAP32[($9_1 + 48 | 0) >> 2] = (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + $40_1 | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $118_1 = i64toi32_i32$1; + $118$hi = i64toi32_i32$0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + $119$hi = i64toi32_i32$1; + i64toi32_i32$1 = $118$hi; + i64toi32_i32$1 = $119$hi; + $227_1 = i64toi32_i32$0; + i64toi32_i32$1 = $118$hi; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$0 = __wasm_i64_mul($118_1 | 0, i64toi32_i32$1 | 0, $227_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $120_1 = i64toi32_i32$0; + $120$hi = i64toi32_i32$1; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $231$hi = i64toi32_i32$0; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$0 = $231$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$3 = $120_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $9_1; + HEAP32[($9_1 + 56 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($9_1 + 60 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($9_1 + 52 | 0) >> 2] = HEAP32[($9_1 + 48 | 0) >> 2] | 0; + $2105($32_1 | 0, $35_1 | 0); + label$5 : while (1) { + $54_1 = 0; + label$6 : { + if (!((HEAP32[($9_1 + 48 | 0) >> 2] | 0) >>> 0 < (HEAP32[($9_1 + 44 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + $58_1 = 24; + $54_1 = (((HEAPU8[(HEAP32[($9_1 + 48 | 0) >> 2] | 0) >> 0] | 0) << $58_1 | 0) >> $58_1 | 0 | 0) == (0 | 0); + } + label$7 : { + if (!($54_1 & 1 | 0)) { + break label$7 + } + HEAP32[($9_1 + 48 | 0) >> 2] = (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + HEAP32[($9_1 + 40 | 0) >> 2] = HEAP32[($9_1 + 92 | 0) >> 2] | 0 ? -1 : 1; + continue label$4; + }; + } + HEAP32[(HEAP32[($9_1 + 72 | 0) >> 2] | 0) >> 2] = (HEAP32[($9_1 + 44 | 0) >> 2] | 0) - (HEAP32[($9_1 + 52 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $316_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $316_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + break label$1; + } + HEAP32[($9_1 + 28 | 0) >> 2] = HEAP32[($9_1 + 92 | 0) >> 2] | 0 ? -1 : 1; + $2106($9_1 + 64 | 0 | 0, HEAP32[($9_1 + 88 | 0) >> 2] | 0 | 0, $9_1 + 16 | 0 | 0); + i64toi32_i32$5 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $124_1 = i64toi32_i32$5; + $124$hi = i64toi32_i32$2; + i64toi32_i32$0 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + $125$hi = i64toi32_i32$5; + i64toi32_i32$5 = $124$hi; + i64toi32_i32$5 = $125$hi; + $346_1 = i64toi32_i32$2; + i64toi32_i32$5 = $124$hi; + i64toi32_i32$2 = $125$hi; + i64toi32_i32$2 = __wasm_i64_mul($124_1 | 0, i64toi32_i32$5 | 0, $346_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $126_1 = i64toi32_i32$2; + $126$hi = i64toi32_i32$5; + $94_1 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$0 = $94_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $352$hi = i64toi32_i32$2; + i64toi32_i32$2 = $126$hi; + i64toi32_i32$2 = $352$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $126$hi; + i64toi32_i32$3 = $126_1; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + i64toi32_i32$0 = $94_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + label$8 : { + label$9 : { + if (!((HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) == (HEAP32[($9_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[(HEAP32[($9_1 + 68 | 0) >> 2] | 0) >> 0] = 1; + break label$8; + } + HEAP32[($9_1 + 12 | 0) >> 2] = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + $2107(HEAP32[($9_1 + 88 | 0) >> 2] | 0 | 0, $9_1 + 64 | 0 | 0); + HEAP32[(HEAP32[($9_1 + 72 | 0) >> 2] | 0) >> 2] = (HEAP32[($9_1 + 12 | 0) >> 2] | 0) - (HEAP32[($9_1 + 64 | 0) >> 2] | 0) | 0; + } + HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + } + global$0 = $9_1 + 96 | 0; + return; + } + + function $2104($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, $14_1 = 0, $20_1 = 0, $24_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[($4_1 + 19 | 0) >> 0] = 0; + label$1 : { + label$2 : while (1) { + $10_1 = 24; + $14_1 = 24; + if (!((((HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | (((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $14_1 | 0) >> $14_1 | 0) | 0) & 254 | 0)) { + break label$1 + } + $20_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $20_1 + 1 | 0; + $24_1 = 24; + HEAP8[($4_1 + 19 | 0) >> 0] = (((HEAPU8[$20_1 >> 0] | 0) << $24_1 | 0) >> $24_1 | 0) & 128 | 0; + continue label$2; + }; + } + label$3 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $3288(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return; + } + + function $2105($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, $14_1 = 0, $18_1 = 0, $22_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[($4_1 + 19 | 0) >> 0] = 0; + label$1 : { + label$2 : while (1) { + $10_1 = 24; + $14_1 = 24; + if (!(((HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | (((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $14_1 | 0) >> $14_1 | 0) | 0)) { + break label$1 + } + $18_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $18_1 + 1 | 0; + $22_1 = 24; + HEAP8[($4_1 + 19 | 0) >> 0] = (((HEAPU8[$18_1 >> 0] | 0) << $22_1 | 0) >> $22_1 | 0) & 128 | 0; + continue label$2; + }; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + label$3 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $3288(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return; + } + + function $2106($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $18_1 = 0, $22_1 = 0, i64toi32_i32$1 = 0, $143_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + -2 | 0; + label$1 : while (1) { + $18_1 = 0; + label$2 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $22_1 = 24; + $18_1 = ((((HEAPU8[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 0] | 0) << $22_1 | 0) >> $22_1 | 0) & 128 | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($18_1 & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + -1 | 0; + continue label$1; + } + break label$1; + }; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $2061(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $143_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $143_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + global$0 = $5_1 + 32 | 0; + return; + } + + function $2107($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, $20_1 = 0, $23_1 = 0, $24_1 = 0, $41_1 = 0, $45_1 = 0, $51_1 = 0, $61_1 = 0, $73_1 = 0, $89_1 = 0, $93_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + -2 | 0; + HEAP8[($4_1 + 3 | 0) >> 0] = 0; + label$1 : while (1) { + $18_1 = 0; + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 > (HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $20_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $20_1 + -1 | 0; + $23_1 = HEAPU8[$20_1 >> 0] | 0; + HEAP8[($4_1 + 3 | 0) >> 0] = $23_1; + $24_1 = 24; + $18_1 = (($23_1 << $24_1 | 0) >> $24_1 | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($18_1 & 1 | 0)) { + break label$3 + } + continue label$1; + } + break label$1; + }; + label$4 : while (1) { + $41_1 = 0; + label$5 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 > (HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + $45_1 = 24; + $51_1 = 24; + $41_1 = ((((HEAPU8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] | 0) << $45_1 | 0) >> $45_1 | 0) & 128 | 0 | (((HEAPU8[($4_1 + 3 | 0) >> 0] | 0) << $51_1 | 0) >> $51_1 | 0) | 0 | 0) != (0 | 0); + } + label$6 : { + if (!($41_1 & 1 | 0)) { + break label$6 + } + $61_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $61_1 + -1 | 0; + HEAP8[($4_1 + 3 | 0) >> 0] = HEAPU8[$61_1 >> 0] | 0; + continue label$4; + } + break label$4; + }; + label$7 : { + label$8 : { + if ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 > (HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$8 + } + $73_1 = 24; + if (((HEAPU8[($4_1 + 3 | 0) >> 0] | 0) << $73_1 | 0) >> $73_1 | 0) { + break label$7 + } + if (!((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 2 | 0) >>> 0 & 1 | 0)) { + break label$7 + } + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 2 | 0; + } + label$9 : { + label$10 : while (1) { + $89_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $89_1 + 1 | 0; + $93_1 = 24; + if (!((((HEAPU8[$89_1 >> 0] | 0) << $93_1 | 0) >> $93_1 | 0) & 128 | 0)) { + break label$9 + } + continue label$10; + }; + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + return; + } + + function $2108($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $73_1 = 0, $83_1 = 0, $95_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(132 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, 132 | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[($5_1 + 19 | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0; + label$7 : { + if (!(((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) >= (128 | 0) & 1 | 0)) { + break label$7 + } + $42(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP8[(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0) | 0) >> 0] = 1; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + break label$3; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$8 + } + $73_1 = 0; + $83_1 = (($2109(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) != ($73_1 | 0) ^ -1 | 0) & 1 | 0 ? -1 : $73_1; + HEAP8[(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] = $83_1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + } + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $95_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $95_1 | 0; + } + + function $2109($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $19_1 = 0, $43_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = 1; + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) <= (57 | 0) & 1 | 0) { + break label$1 + } + } + label$3 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) >= (65 | 0) & 1 | 0)) { + break label$3 + } + $19_1 = 1; + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) <= (90 | 0) & 1 | 0) { + break label$1 + } + } + $43_1 = 0; + label$4 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) >= (97 | 0) & 1 | 0)) { + break label$4 + } + $43_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) <= (122 | 0); + } + $19_1 = $43_1; + } + return $19_1 & 1 | 0 | 0; + } + + function $2110($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2111($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $40_1 = 0, $36_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(28 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$6 + } + $36_1 = $3303(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $36_1; + break label$5; + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + } + $40_1 = 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = $40_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = $40_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $40_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = $40_1; + HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $40_1; + } + $47_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $47_1 | 0; + } + + function $2112($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2113($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $33_1 = 0, $50_1 = 0, $66_1 = 0, $85_1 = 0, $167_1 = 0, $190_1 = 0, $191_1 = 0, $196_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : while (1) { + $33_1 = 0; + label$5 : { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $33_1 = ($2114(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) != (0 | 0); + } + label$6 : { + if (!($33_1 & 1 | 0)) { + break label$6 + } + $50_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($50_1 + 12 | 0) >> 2] = (HEAP32[($50_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$7 : while (1) { + $66_1 = 0; + label$8 : { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $66_1 = ($2114(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) != (0 | 0) ^ -1 | 0; + } + label$9 : { + if (!($66_1 & 1 | 0)) { + break label$9 + } + $85_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($85_1 + 12 | 0) >> 2] = (HEAP32[($85_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + label$10 : { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - (HEAP32[($8_1 + 20 | 0) >> 2] | 0) | 0; + label$11 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 20 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $44(HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if ((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + HEAP32[($8_1 + 60 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 16 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP8[($8_1 + 7 | 0) >> 0] = HEAPU8[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + (HEAP32[($8_1 + 16 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0; + label$15 : { + label$16 : { + if (!(((HEAPU8[($8_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) >= (65 | 0) & 1 | 0)) { + break label$16 + } + if (!(((HEAPU8[($8_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) <= (90 | 0) & 1 | 0)) { + break label$16 + } + $167_1 = (((HEAPU8[($8_1 + 7 | 0) >> 0] | 0) & 255 | 0) - 65 | 0) + 97 | 0; + break label$15; + } + $167_1 = (HEAPU8[($8_1 + 7 | 0) >> 0] | 0) & 255 | 0; + } + HEAP8[((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[($8_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = $167_1; + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + HEAP32[(HEAP32[($8_1 + 52 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 48 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $190_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + $191_1 = HEAP32[($190_1 + 16 | 0) >> 2] | 0; + HEAP32[($190_1 + 16 | 0) >> 2] = $191_1 + 1 | 0; + HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] = $191_1; + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + break label$1; + } + continue label$3; + }; + } + HEAP32[($8_1 + 60 | 0) >> 2] = 101; + } + $196_1 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $196_1 | 0; + } + + function $2114($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $25_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 11 | 0) >> 0] = $1_1; + $15_1 = 0; + label$1 : { + if (!(((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$1 + } + $25_1 = 24; + $15_1 = (((HEAPU8[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) + ((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0) | 0) >> 0] | 0) << $25_1 | 0) >> $25_1 | 0 | 0) != (0 | 0); + } + return $15_1 & 1 | 0 | 0; + } + + function $2115($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $21_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $21_1 | 0; + } + + function $2116($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2117($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $40_1 = 0, $36_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(28 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$6 + } + $36_1 = $3303(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $36_1; + break label$5; + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + } + $40_1 = 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = $40_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = $40_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $40_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = $40_1; + HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $40_1; + } + $47_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $47_1 | 0; + } + + function $2118($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2119($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $31_1 = 0, $38_1 = 0, $40_1 = 0, $43_1 = 0, $52_1 = 0, $70_1 = 0, $86_1 = 0, $93_1 = 0, $95_1 = 0, $98_1 = 0, $107_1 = 0, $127_1 = 0, $186_1 = 0, $187_1 = 0, $192_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : while (1) { + $31_1 = 0; + label$5 : { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $38_1 = 24; + $40_1 = ((HEAPU8[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $38_1 | 0) >> $38_1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $40_1; + $43_1 = 0; + label$6 : { + if ($40_1 & 128 | 0) { + break label$6 + } + $52_1 = 1; + label$7 : { + if ((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) < (48 | 0) & 1 | 0) { + break label$7 + } + $52_1 = ((HEAPU8[(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) - 48 | 0) + 47904 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0; + } + $43_1 = $52_1; + } + $31_1 = $43_1; + } + label$8 : { + if (!($31_1 & 1 | 0)) { + break label$8 + } + $70_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($70_1 + 12 | 0) >> 2] = (HEAP32[($70_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$9 : while (1) { + $86_1 = 0; + label$10 : { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $93_1 = 24; + $95_1 = ((HEAPU8[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $93_1 | 0) >> $93_1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $95_1; + $98_1 = 0; + label$11 : { + if ($95_1 & 128 | 0) { + break label$11 + } + $107_1 = 1; + label$12 : { + if ((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) < (48 | 0) & 1 | 0) { + break label$12 + } + $107_1 = ((HEAPU8[(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) - 48 | 0) + 47904 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0; + } + $98_1 = $107_1; + } + $86_1 = $98_1 ^ -1 | 0; + } + label$13 : { + if (!($86_1 & 1 | 0)) { + break label$13 + } + $127_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($127_1 + 12 | 0) >> 2] = (HEAP32[($127_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + label$14 : { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - (HEAP32[($8_1 + 24 | 0) >> 2] | 0) | 0; + label$15 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 20 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $44(HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if ((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$16 + } + HEAP32[($8_1 + 60 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + } + $2120((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + (HEAP32[($8_1 + 24 | 0) >> 2] | 0) | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($8_1 + 52 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $186_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + $187_1 = HEAP32[($186_1 + 16 | 0) >> 2] | 0; + HEAP32[($186_1 + 16 | 0) >> 2] = $187_1 + 1 | 0; + HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] = $187_1; + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + break label$1; + } + continue label$3; + }; + } + HEAP32[($8_1 + 60 | 0) >> 2] = 101; + } + $192_1 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $192_1 | 0; + } + + function $2120($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $52_1 = 0, $53_1 = 0, $40_1 = 0, $50_1 = 0, $62_1 = 0, $73_1 = 0, $83_1 = 0, $110_1 = 0, $122_1 = 0, $147_1 = 0, $208_1 = 0, $219_1 = 0, $230_1 = 0, $248_1 = 0, $252_1 = 0, $269_1 = 0, $413_1 = 0, $463_1 = 0, $468_1 = 0, $486_1 = 0, $497_1 = 0, $508_1 = 0, $519_1 = 0, $537_1 = 0, $555_1 = 0, $573_1 = 0, $584_1 = 0, $595_1 = 0, $606_1 = 0, $624_1 = 0, $635_1 = 0, $653_1 = 0, $684_1 = 0, $702_1 = 0, $713_1 = 0, $730_1 = 0, $741_1 = 0, $772_1 = 0, $783_1 = 0, $801_1 = 0, $812_1 = 0, $830_1 = 0, $861_1 = 0, $872_1 = 0, $885_1 = 0, $900_1 = 0, $907_1 = 0, $903_1 = 0, $904_1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) >= (21 | 0) & 1 | 0)) { + break label$2 + } + } + $2121(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + HEAP32[($6_1 + 56 | 0) >> 2] = 22; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($6_1 + 7 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0) >> 0] | 0; + $40_1 = 24; + label$6 : { + label$7 : { + if (!((((HEAPU8[($6_1 + 7 | 0) >> 0] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) >= (65 | 0) & 1 | 0)) { + break label$7 + } + $50_1 = 24; + if (!((((HEAPU8[($6_1 + 7 | 0) >> 0] | 0) << $50_1 | 0) >> $50_1 | 0 | 0) <= (90 | 0) & 1 | 0)) { + break label$7 + } + $62_1 = 24; + HEAP8[(($6_1 + 16 | 0) + (HEAP32[($6_1 + 56 | 0) >> 2] | 0) | 0) >> 0] = ((((HEAPU8[($6_1 + 7 | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0) + 97 | 0) - 65 | 0; + break label$6; + } + $73_1 = 24; + label$8 : { + label$9 : { + if (!((((HEAPU8[($6_1 + 7 | 0) >> 0] | 0) << $73_1 | 0) >> $73_1 | 0 | 0) >= (97 | 0) & 1 | 0)) { + break label$9 + } + $83_1 = 24; + if (!((((HEAPU8[($6_1 + 7 | 0) >> 0] | 0) << $83_1 | 0) >> $83_1 | 0 | 0) <= (122 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[(($6_1 + 16 | 0) + (HEAP32[($6_1 + 56 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[($6_1 + 7 | 0) >> 0] | 0; + break label$8; + } + $2121(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0); + break label$1; + } + } + HEAP32[($6_1 + 60 | 0) >> 2] = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + -1 | 0; + continue label$5; + }; + } + $110_1 = $6_1 + 16 | 0; + $52_1 = $110_1 + 23 | 0; + $53_1 = 0; + HEAP8[$52_1 >> 0] = $53_1; + HEAP8[($52_1 + 1 | 0) >> 0] = $53_1 >>> 8 | 0; + HEAP8[($52_1 + 2 | 0) >> 0] = $53_1 >>> 16 | 0; + HEAP8[($52_1 + 3 | 0) >> 0] = $53_1 >>> 24 | 0; + HEAP8[($52_1 + 4 | 0) >> 0] = $53_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $110_1 + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 1 | 0) | 0; + $122_1 = 24; + label$10 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $122_1 | 0) >> $122_1 | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if ($2122($6_1 + 12 | 0 | 0, 47984 | 0, 47989 | 0, 0 | 0) | 0) { + break label$11 + } + if ($2122($6_1 + 12 | 0 | 0, 47992 | 0, 47996 | 0, 0 | 0) | 0) { + break label$11 + } + $147_1 = 47989; + if ($2122($6_1 + 12 | 0 | 0, $147_1 | 0, $147_1 | 0, 0 | 0) | 0) { + break label$11 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + label$12 : { + label$13 : { + if (!($2122($6_1 + 12 | 0 | 0, 47998 | 0, 48002 | 0, 101 | 0) | 0)) { + break label$13 + } + break label$12; + } + label$14 : { + label$15 : { + if ($2122($6_1 + 12 | 0 | 0, 48005 | 0, 1352 | 0, 102 | 0) | 0) { + break label$15 + } + if (!($2122($6_1 + 12 | 0 | 0, 48009 | 0, 1352 | 0, 102 | 0) | 0)) { + break label$14 + } + } + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + label$16 : { + label$17 : { + label$18 : { + if ($2122($6_1 + 12 | 0 | 0, 48012 | 0, 48015 | 0, 0 | 0) | 0) { + break label$18 + } + if ($2122($6_1 + 12 | 0 | 0, 48019 | 0, 48022 | 0, 0 | 0) | 0) { + break label$18 + } + if (!($2122($6_1 + 12 | 0 | 0, 48026 | 0, 48029 | 0, 0 | 0) | 0)) { + break label$17 + } + } + break label$16; + } + label$19 : { + label$20 : { + if (!($2125(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$20 + } + $208_1 = 24; + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $208_1 | 0) >> $208_1 | 0 | 0) != (108 | 0) & 1 | 0)) { + break label$20 + } + $219_1 = 24; + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $219_1 | 0) >> $219_1 | 0 | 0) != (115 | 0) & 1 | 0)) { + break label$20 + } + $230_1 = 24; + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $230_1 | 0) >> $230_1 | 0 | 0) != (122 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + break label$19; + } + label$21 : { + if (!($2126(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$21 + } + if (!($2127(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$21 + } + $248_1 = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $248_1; + HEAP8[$248_1 >> 0] = 101; + } + } + } + } + } + $252_1 = 24; + label$22 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $252_1 | 0) >> $252_1 | 0 | 0) == (121 | 0) & 1 | 0)) { + break label$22 + } + if (!($2124((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0 | 0) | 0)) { + break label$22 + } + HEAP8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] = 105; + } + $269_1 = (HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) + -97 | 0; + label$23 : { + label$24 : { + switch ($269_1 | 0) { + case 0: + label$32 : { + if ($2122($6_1 + 12 | 0 | 0, 48033 | 0, 48015 | 0, 101 | 0) | 0) { + break label$32 + } + $2122($6_1 + 12 | 0 | 0, 48041 | 0, 48048 | 0, 101 | 0) | 0; + } + break label$23; + case 2: + label$33 : { + if ($2122($6_1 + 12 | 0 | 0, 48053 | 0, 48058 | 0, 101 | 0) | 0) { + break label$33 + } + $2122($6_1 + 12 | 0 | 0, 48063 | 0, 48068 | 0, 101 | 0) | 0; + } + break label$23; + case 4: + $2122($6_1 + 12 | 0 | 0, 48073 | 0, 48029 | 0, 101 | 0) | 0; + break label$23; + case 6: + $2122($6_1 + 12 | 0 | 0, 48078 | 0, 14196 | 0, 101 | 0) | 0; + break label$23; + case 11: + label$34 : { + if ($2122($6_1 + 12 | 0 | 0, 48083 | 0, 48022 | 0, 101 | 0) | 0) { + break label$34 + } + if ($2122($6_1 + 12 | 0 | 0, 48087 | 0, 48092 | 0, 101 | 0) | 0) { + break label$34 + } + if ($2122($6_1 + 12 | 0 | 0, 48095 | 0, 48101 | 0, 101 | 0) | 0) { + break label$34 + } + if ($2122($6_1 + 12 | 0 | 0, 48105 | 0, 48109 | 0, 101 | 0) | 0) { + break label$34 + } + $2122($6_1 + 12 | 0 | 0, 48111 | 0, 48117 | 0, 101 | 0) | 0; + } + break label$23; + case 14: + label$35 : { + if ($2122($6_1 + 12 | 0 | 0, 48121 | 0, 48029 | 0, 101 | 0) | 0) { + break label$35 + } + if ($2122($6_1 + 12 | 0 | 0, 48129 | 0, 48015 | 0, 101 | 0) | 0) { + break label$35 + } + $2122($6_1 + 12 | 0 | 0, 48135 | 0, 48015 | 0, 101 | 0) | 0; + } + break label$23; + case 18: + label$36 : { + if ($2122($6_1 + 12 | 0 | 0, 48140 | 0, 48092 | 0, 101 | 0) | 0) { + break label$36 + } + if ($2122($6_1 + 12 | 0 | 0, 48146 | 0, 48154 | 0, 101 | 0) | 0) { + break label$36 + } + if ($2122($6_1 + 12 | 0 | 0, 48158 | 0, 48166 | 0, 101 | 0) | 0) { + break label$36 + } + $2122($6_1 + 12 | 0 | 0, 48170 | 0, 48117 | 0, 101 | 0) | 0; + } + break label$23; + case 19: + break label$24; + default: + break label$23; + }; + } + label$37 : { + if ($2122($6_1 + 12 | 0 | 0, 48178 | 0, 48092 | 0, 101 | 0) | 0) { + break label$37 + } + if ($2122($6_1 + 12 | 0 | 0, 48184 | 0, 48154 | 0, 101 | 0) | 0) { + break label$37 + } + $2122($6_1 + 12 | 0 | 0, 48190 | 0, 48022 | 0, 101 | 0) | 0; + } + } + $413_1 = (HEAP8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) + -101 | 0; + label$38 : { + label$39 : { + switch ($413_1 | 0) { + case 0: + label$43 : { + if ($2122($6_1 + 12 | 0 | 0, 48197 | 0, 48203 | 0, 101 | 0) | 0) { + break label$43 + } + if ($2122($6_1 + 12 | 0 | 0, 48206 | 0, 1352 | 0, 101 | 0) | 0) { + break label$43 + } + $2122($6_1 + 12 | 0 | 0, 48212 | 0, 48092 | 0, 101 | 0) | 0; + } + break label$38; + case 4: + $2122($6_1 + 12 | 0 | 0, 48218 | 0, 48203 | 0, 101 | 0) | 0; + break label$38; + case 7: + label$44 : { + if ($2122($6_1 + 12 | 0 | 0, 48224 | 0, 48203 | 0, 101 | 0) | 0) { + break label$44 + } + $2122($6_1 + 12 | 0 | 0, 48229 | 0, 1352 | 0, 101 | 0) | 0; + } + break label$38; + case 14: + break label$39; + default: + break label$38; + }; + } + $2122($6_1 + 12 | 0 | 0, 48233 | 0, 1352 | 0, 101 | 0) | 0; + } + $463_1 = (HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) + -97 | 0; + label$45 : { + label$46 : { + switch ($463_1 | 0) { + case 0: + $468_1 = 24; + label$57 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $468_1 | 0) >> $468_1 | 0 | 0) == (108 | 0) & 1 | 0)) { + break label$57 + } + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0 | 0) | 0)) { + break label$57 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0; + } + break label$45; + case 2: + $486_1 = 24; + label$58 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $486_1 | 0) >> $486_1 | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$58 + } + $497_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $497_1 | 0) >> $497_1 | 0 | 0) == (110 | 0) & 1 | 0)) { + break label$58 + } + $508_1 = 24; + label$59 : { + if ((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) << $508_1 | 0) >> $508_1 | 0 | 0) == (97 | 0) & 1 | 0) { + break label$59 + } + $519_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) << $519_1 | 0) >> $519_1 | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$58 + } + } + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0 | 0) | 0)) { + break label$58 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0; + } + break label$45; + case 4: + $537_1 = 24; + label$60 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $537_1 | 0) >> $537_1 | 0 | 0) == (114 | 0) & 1 | 0)) { + break label$60 + } + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0 | 0) | 0)) { + break label$60 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0; + } + break label$45; + case 8: + $555_1 = 24; + label$61 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $555_1 | 0) >> $555_1 | 0 | 0) == (99 | 0) & 1 | 0)) { + break label$61 + } + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0 | 0) | 0)) { + break label$61 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0; + } + break label$45; + case 11: + $573_1 = 24; + label$62 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $573_1 | 0) >> $573_1 | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$62 + } + $584_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $584_1 | 0) >> $584_1 | 0 | 0) == (98 | 0) & 1 | 0)) { + break label$62 + } + $595_1 = 24; + label$63 : { + if ((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) << $595_1 | 0) >> $595_1 | 0 | 0) == (97 | 0) & 1 | 0) { + break label$63 + } + $606_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) << $606_1 | 0) >> $606_1 | 0 | 0) == (105 | 0) & 1 | 0)) { + break label$62 + } + } + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0 | 0) | 0)) { + break label$62 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0; + } + break label$45; + case 13: + $624_1 = 24; + label$64 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $624_1 | 0) >> $624_1 | 0 | 0) == (116 | 0) & 1 | 0)) { + break label$64 + } + $635_1 = 24; + label$65 : { + label$66 : { + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $635_1 | 0) >> $635_1 | 0 | 0) == (97 | 0) & 1 | 0)) { + break label$66 + } + label$67 : { + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0 | 0) | 0)) { + break label$67 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0; + } + break label$65; + } + $653_1 = 24; + label$68 : { + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $653_1 | 0) >> $653_1 | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$68 + } + label$69 : { + if ($2122($6_1 + 12 | 0 | 0, 48238 | 0, 1352 | 0, 103 | 0) | 0) { + break label$69 + } + if ($2122($6_1 + 12 | 0 | 0, 48244 | 0, 1352 | 0, 103 | 0) | 0) { + break label$69 + } + $2122($6_1 + 12 | 0 | 0, 48249 | 0, 1352 | 0, 103 | 0) | 0; + } + } + } + } + break label$45; + case 14: + $684_1 = 24; + label$70 : { + label$71 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $684_1 | 0) >> $684_1 | 0 | 0) == (117 | 0) & 1 | 0)) { + break label$71 + } + label$72 : { + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0 | 0) | 0)) { + break label$72 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0; + } + break label$70; + } + $702_1 = 24; + label$73 : { + label$74 : { + if ((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) << $702_1 | 0) >> $702_1 | 0 | 0) == (115 | 0) & 1 | 0) { + break label$74 + } + $713_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) << $713_1 | 0) >> $713_1 | 0 | 0) == (116 | 0) & 1 | 0)) { + break label$73 + } + } + $2122($6_1 + 12 | 0 | 0, 48253 | 0, 1352 | 0, 103 | 0) | 0; + } + } + break label$45; + case 18: + $730_1 = 24; + label$75 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $730_1 | 0) >> $730_1 | 0 | 0) == (109 | 0) & 1 | 0)) { + break label$75 + } + $741_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $741_1 | 0) >> $741_1 | 0 | 0) == (105 | 0) & 1 | 0)) { + break label$75 + } + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0 | 0) | 0)) { + break label$75 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0; + } + break label$45; + case 19: + label$76 : { + if ($2122($6_1 + 12 | 0 | 0, 48257 | 0, 1352 | 0, 103 | 0) | 0) { + break label$76 + } + $2122($6_1 + 12 | 0 | 0, 48261 | 0, 1352 | 0, 103 | 0) | 0; + } + break label$45; + case 20: + $772_1 = 24; + label$77 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $772_1 | 0) >> $772_1 | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$77 + } + $783_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $783_1 | 0) >> $783_1 | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$77 + } + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0 | 0) | 0)) { + break label$77 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0; + } + break label$45; + case 21: + case 25: + break label$46; + default: + break label$45; + }; + } + $801_1 = 24; + label$78 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $801_1 | 0) >> $801_1 | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$78 + } + $812_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $812_1 | 0) >> $812_1 | 0 | 0) == (105 | 0) & 1 | 0)) { + break label$78 + } + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0 | 0) | 0)) { + break label$78 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0; + } + } + $830_1 = 24; + label$79 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $830_1 | 0) >> $830_1 | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$79 + } + label$80 : { + label$81 : { + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0 | 0) | 0)) { + break label$81 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + break label$80; + } + label$82 : { + if (!($2126((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0 | 0) | 0)) { + break label$82 + } + if ($2127((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0 | 0) | 0) { + break label$82 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + } + } + label$83 : { + if (!($2128(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$83 + } + $861_1 = 24; + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $861_1 | 0) >> $861_1 | 0 | 0) == (108 | 0) & 1 | 0)) { + break label$83 + } + $872_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $872_1 | 0) >> $872_1 | 0 | 0) == (108 | 0) & 1 | 0)) { + break label$83 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + $885_1 = $3303(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $885_1; + HEAP32[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 2] = $885_1; + HEAP8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0) >> 0] = 0; + label$84 : while (1) { + if (!(((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $900_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $900_1 + 1 | 0; + $903_1 = HEAPU8[$900_1 >> 0] | 0; + $904_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + $907_1 = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $907_1; + HEAP8[($904_1 + $907_1 | 0) >> 0] = $903_1; + continue label$84; + }; + } + global$0 = $6_1 + 80 | 0; + return; + } + + function $2121($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $21_1 = 0, $31_1 = 0, $40_1 = 0, $52_1 = 0, $62_1 = 0; + $6_1 = global$0 - 48 | 0; + $7_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[($6_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0; + $21_1 = 24; + label$3 : { + label$4 : { + if (!((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $21_1 | 0) >> $21_1 | 0 | 0) >= (65 | 0) & 1 | 0)) { + break label$4 + } + $31_1 = 24; + if (!((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $31_1 | 0) >> $31_1 | 0 | 0) <= (90 | 0) & 1 | 0)) { + break label$4 + } + $40_1 = 24; + HEAP8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0) >> 0] = ((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $40_1 | 0) >> $40_1 | 0) - 65 | 0) + 97 | 0; + break label$3; + } + $52_1 = 24; + label$5 : { + if (!((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $52_1 | 0) >> $52_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$5 + } + $62_1 = 24; + if (!((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) <= (57 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 1; + } + HEAP8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[($6_1 + 15 | 0) >> 0] | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0 ? 3 : 10; + label$6 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) > ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 1 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) - (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + HEAP8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + return; + } + + function $2122($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $12_1 = 0, $15_1 = 0, $18_1 = 0, $23_1 = 0, $40_1 = 0, $65_1 = 0, $71_1 = 0, $68_1 = 0, $75_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : while (1) { + $12_1 = 24; + $15_1 = 0; + label$2 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $12_1 | 0) >> $12_1 | 0)) { + break label$2 + } + $18_1 = 24; + $23_1 = 24; + $15_1 = (((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) == (((HEAPU8[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0 | 0); + } + label$3 : { + if (!($15_1 & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $40_1 = 24; + label$4 : { + label$5 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $40_1 | 0) >> $40_1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$4; + } + label$6 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (FUNCTION_TABLE[HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) { + break label$6 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$4; + } + label$7 : { + label$8 : while (1) { + if (!(((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + $65_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $65_1 + 1 | 0; + $68_1 = HEAPU8[$65_1 >> 0] | 0; + $71_1 = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $71_1; + HEAP8[$71_1 >> 0] = $68_1; + continue label$8; + }; + } + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + } + $75_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $75_1 | 0; + } + + function $2123($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0, $23_1 = 0, $31_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : while (1) { + if (!($2129(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $11_1 = 24; + label$3 : { + label$4 : { + if (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $11_1 | 0) >> $11_1 | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$3; + } + label$5 : { + label$6 : while (1) { + if (!($2130(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $23_1 = 24; + HEAP32[($3_1 + 12 | 0) >> 2] = (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0 | 0) != (0 | 0) & 1 | 0; + } + $31_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $31_1 | 0; + } + + function $2124($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, $19_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : while (1) { + if (!($2130(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $12_1 = 24; + $19_1 = (((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $12_1 | 0) >> $12_1 | 0 | 0) != (0 | 0) & 1 | 0; + global$0 = $3_1 + 16 | 0; + return $19_1 | 0; + } + + function $2125($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $10_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = 0; + label$1 : { + if (!($2130(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + $10_1 = 24; + $15_1 = 24; + $7_1 = (((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) == (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $15_1 | 0) >> $15_1 | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return $7_1 & 1 | 0 | 0; + } + + function $2126($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0, $22_1 = 0, $33_1 = 0, $45_1 = 0, $53_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : while (1) { + if (!($2129(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $11_1 = 24; + label$3 : { + label$4 : { + if (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $11_1 | 0) >> $11_1 | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$3; + } + label$5 : { + label$6 : while (1) { + if (!($2130(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $22_1 = 24; + label$7 : { + if (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $22_1 | 0) >> $22_1 | 0) { + break label$7 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$3; + } + label$8 : { + label$9 : while (1) { + if (!($2129(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + $33_1 = 24; + label$10 : { + if (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $33_1 | 0) >> $33_1 | 0) { + break label$10 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$3; + } + label$11 : { + label$12 : while (1) { + if (!($2130(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + $45_1 = 24; + HEAP32[($3_1 + 12 | 0) >> 2] = (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $45_1 | 0) >> $45_1 | 0 | 0) == (0 | 0) & 1 | 0; + } + $53_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $53_1 | 0; + } + + function $2127($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $12_1 = 0, $24_1 = 0, $36_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = 0; + label$1 : { + if (!($2130(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + $12_1 = 24; + $7_1 = 0; + if (!((((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $12_1 | 0) >> $12_1 | 0 | 0) != (119 | 0) & 1 | 0)) { + break label$1 + } + $24_1 = 24; + $7_1 = 0; + if (!((((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0 | 0) != (120 | 0) & 1 | 0)) { + break label$1 + } + $36_1 = 24; + $7_1 = 0; + if (!((((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $36_1 | 0) >> $36_1 | 0 | 0) != (121 | 0) & 1 | 0)) { + break label$1 + } + $7_1 = 0; + if (!($2129((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0 | 0) | 0)) { + break label$1 + } + $7_1 = ($2130((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0 | 0) | 0 | 0) != (0 | 0); + } + global$0 = $3_1 + 16 | 0; + return $7_1 & 1 | 0 | 0; + } + + function $2128($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0, $22_1 = 0, $33_1 = 0, $45_1 = 0, $53_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : while (1) { + if (!($2129(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $11_1 = 24; + label$3 : { + label$4 : { + if (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $11_1 | 0) >> $11_1 | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$3; + } + label$5 : { + label$6 : while (1) { + if (!($2130(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $22_1 = 24; + label$7 : { + if (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $22_1 | 0) >> $22_1 | 0) { + break label$7 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$3; + } + label$8 : { + label$9 : while (1) { + if (!($2129(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + $33_1 = 24; + label$10 : { + if (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $33_1 | 0) >> $33_1 | 0) { + break label$10 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$3; + } + label$11 : { + label$12 : while (1) { + if (!($2130(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + $45_1 = 24; + HEAP32[($3_1 + 12 | 0) >> 2] = (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $45_1 | 0) >> $45_1 | 0 | 0) != (0 | 0) & 1 | 0; + } + $53_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $53_1 | 0; + } + + function $2129($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $13_1 = 0, $19_1 = 0, $35_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($3_1 + 3 | 0) >> 0] = HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0; + $7_1 = 24; + label$1 : { + label$2 : { + if (((HEAPU8[($3_1 + 3 | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $13_1 = 24; + $19_1 = 24; + HEAP32[($3_1 + 4 | 0) >> 2] = ((HEAPU8[(((((HEAPU8[($3_1 + 3 | 0) >> 0] | 0) << $13_1 | 0) >> $13_1 | 0) - 97 | 0) + 48272 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1 - (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2130((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $35_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $35_1 | 0; + } + + function $2130($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $13_1 = 0, $19_1 = 0, $32_1 = 0, $35_1 = 0, $47_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($3_1 + 3 | 0) >> 0] = HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0; + $7_1 = 24; + label$1 : { + label$2 : { + if (((HEAPU8[($3_1 + 3 | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $13_1 = 24; + $19_1 = 24; + HEAP32[($3_1 + 4 | 0) >> 2] = ((HEAPU8[(((((HEAPU8[($3_1 + 3 | 0) >> 0] | 0) << $13_1 | 0) >> $13_1 | 0) - 97 | 0) + 48272 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $32_1 = 24; + $35_1 = 1; + label$4 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0)) { + break label$4 + } + $35_1 = ($2129((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0 | 0) | 0 | 0) != (0 | 0); + } + HEAP32[($3_1 + 12 | 0) >> 2] = $35_1 & 1 | 0; + } + $47_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $47_1 | 0; + } + + function $2131($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $12_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $303(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + $7_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = -1; + HEAP32[($3_1 + 4 | 0) >> 2] = $3_1 + 20 | 0; + $447($7_1 | 0, 1004 | 0, $3_1 | 0) | 0; + $12_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $12_1 | 0; + } + + function $2132($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2074(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$1; + } + $19_1 = 0; + } + global$0 = $5_1 + 16 | 0; + return $19_1 | 0; + } + + function $2133($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $16_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + $16_1 = $2134(1 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $16_1 | 0; + } + + function $2134($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $10_1 = 0, $152_1 = 0, $509_1 = 0, $16_1 = 0, $79_1 = 0, $122_1 = 0, $207_1 = 0, $271_1 = 0, $279_1 = 0, $283_1 = 0, $301_1 = 0, $320_1 = 0, $337_1 = 0, $502_1 = 0, $547_1 = 0, $556_1 = 0, $559_1 = 0, $602_1 = 0, $756_1 = 0, $792_1 = 0, $811_1 = 0, $1227_1 = 0, $1234_1 = 0, $1241_1 = 0, $1248_1 = 0, $1255_1 = 0, $1262_1 = 0, $1269_1 = 0, $1273_1 = 0, $221_1 = 0, $261_1 = 0, $299_1 = 0, $300_1 = 0, $307_1 = 0, $315_1 = 0, $318_1 = 0, $319_1 = 0, $448_1 = 0, $741_1 = 0, $785_1 = 0, $795_1 = 0, $799_1 = 0, $866_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 352 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 348 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 344 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 340 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 336 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 332 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 328 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 324 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 320 | 0) >> 2] = HEAP32[($9_1 + 340 | 0) >> 2] | 0; + HEAP32[($9_1 + 316 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 312 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 288 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 284 | 0) >> 2] = $10_1; + $16_1 = 24; + HEAP32[($9_1 + 268 | 0) >> 2] = (((HEAPU8[((HEAP32[(HEAP32[($9_1 + 332 | 0) >> 2] | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) << $16_1 | 0) >> $16_1 | 0 | 0) == (52 | 0) & 1 | 0; + HEAP32[($9_1 + 260 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 256 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 252 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 248 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 244 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 240 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 236 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 232 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 228 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 224 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 220 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 216 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = ($3303(HEAP32[((HEAP32[($9_1 + 332 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 276 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = ($3303(HEAP32[((HEAP32[($9_1 + 332 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 272 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 296 | 0) >> 2] = ((HEAP32[($9_1 + 336 | 0) >> 2] | 0) - 2 | 0) << 2 | 0; + HEAP32[($9_1 + 300 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 296 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 300 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 264 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($9_1 + 264 | 0) >> 2] | 0 | 0) != ($10_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 296 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 300 | 0) >> 2] | 0; + $3289(HEAP32[($9_1 + 264 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 296 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 300 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (!((HEAP32[($9_1 + 220 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 296 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 300 | 0) >> 2] | 0; + $3289(HEAP32[($9_1 + 220 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + } + label$3 : { + label$4 : { + label$5 : { + if (!((HEAP32[($9_1 + 264 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if ((HEAP32[($9_1 + 220 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + } + HEAP32[($9_1 + 312 | 0) >> 2] = 7; + break label$3; + } + HEAP32[($9_1 + 308 | 0) >> 2] = 3; + label$6 : while (1) { + $79_1 = 0; + label$7 : { + if (HEAP32[($9_1 + 312 | 0) >> 2] | 0) { + break label$7 + } + $79_1 = (HEAP32[($9_1 + 308 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 336 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!($79_1 & 1 | 0)) { + break label$8 + } + HEAP32[($9_1 + 212 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 332 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 308 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$9 : { + label$10 : { + if ((HEAP32[($9_1 + 260 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + if (!(($3303(HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) | 0) >>> 0 > 8 >>> 0 & 1 | 0)) { + break label$10 + } + if (!((0 | 0) == ($89(HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0, 48365 | 0, 8 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + $122_1 = 24; + if (!((0 | 0) == ($2173(((HEAPU8[((HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) << $122_1 | 0) >> $122_1 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2174(HEAP32[($9_1 + 320 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 9 | 0 | 0, $9_1 + 260 | 0 | 0, HEAP32[($9_1 + 324 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 312 | 0) >> 2] = wasm2js_i32$1; + break label$9; + } + label$11 : { + label$12 : { + if (!(HEAP32[($9_1 + 268 | 0) >> 2] | 0)) { + break label$12 + } + if (!($2175(HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0, $9_1 + 208 | 0 | 0, $9_1 + 204 | 0 | 0) | 0)) { + break label$12 + } + $152_1 = $9_1 + 128 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48504 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48508 | 0) >> 2] | 0; + $1227_1 = i64toi32_i32$0; + i64toi32_i32$0 = $152_1 + 56 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1227_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48496 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48500 | 0) >> 2] | 0; + $1234_1 = i64toi32_i32$1; + i64toi32_i32$1 = $152_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1234_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48488 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48492 | 0) >> 2] | 0; + $1241_1 = i64toi32_i32$0; + i64toi32_i32$0 = $152_1 + 40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1241_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48480 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48484 | 0) >> 2] | 0; + $1248_1 = i64toi32_i32$1; + i64toi32_i32$1 = $152_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1248_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48472 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48476 | 0) >> 2] | 0; + $1255_1 = i64toi32_i32$0; + i64toi32_i32$0 = $152_1 + 24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1255_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48464 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48468 | 0) >> 2] | 0; + $1262_1 = i64toi32_i32$1; + i64toi32_i32$1 = $152_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1262_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48456 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48460 | 0) >> 2] | 0; + $1269_1 = i64toi32_i32$0; + i64toi32_i32$0 = $152_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1269_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48448 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48452 | 0) >> 2] | 0; + $1273_1 = i64toi32_i32$1; + i64toi32_i32$1 = $152_1; + HEAP32[i64toi32_i32$1 >> 2] = $1273_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$13 : { + label$14 : { + if ((HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$14 + } + HEAP32[($9_1 + 312 | 0) >> 2] = 7; + break label$13; + } + HEAP32[($9_1 + 124 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0) < (8 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($9_1 + 120 | 0) >> 2] = ($9_1 + 128 | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 3 | 0) | 0; + label$17 : { + if (!((HEAP32[($9_1 + 208 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + if ($89(HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($9_1 + 120 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$17 + } + break label$15; + } + HEAP32[($9_1 + 124 | 0) >> 2] = (HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + $207_1 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + label$18 : { + label$19 : { + switch ($207_1 | 0) { + case 0: + label$28 : { + label$29 : { + if (($3303(HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) | 0 | 0) != (4 | 0) & 1 | 0) { + break label$29 + } + if (!($89(HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0, 42043 | 0, 4 | 0) | 0)) { + break label$28 + } + } + $221_1 = HEAP32[($9_1 + 324 | 0) >> 2] | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + $2048($221_1 | 0, 48512 | 0, $9_1 + 16 | 0 | 0); + HEAP32[($9_1 + 312 | 0) >> 2] = 1; + } + HEAP32[($9_1 + 248 | 0) >> 2] = 1; + break label$18; + case 1: + $42(HEAP32[($9_1 + 240 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 240 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + HEAP32[($9_1 + 204 | 0) >> 2] = 0; + break label$18; + case 2: + $42(HEAP32[($9_1 + 236 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 236 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + HEAP32[($9_1 + 204 | 0) >> 2] = 0; + break label$18; + case 3: + $42(HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 232 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + HEAP32[($9_1 + 204 | 0) >> 2] = 0; + break label$18; + case 4: + label$30 : { + label$31 : { + if (($3303(HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) | 0 | 0) != (3 | 0) & 1 | 0) { + break label$31 + } + if (!($89(HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0, 48539 | 0, 3 | 0) | 0)) { + break label$30 + } + } + label$32 : { + if (($3303(HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) | 0 | 0) != (4 | 0) & 1 | 0) { + break label$32 + } + if (!($89(HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0, 14093 | 0, 4 | 0) | 0)) { + break label$30 + } + } + $261_1 = HEAP32[($9_1 + 324 | 0) >> 2] | 0; + HEAP32[($9_1 + 32 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + $2048($261_1 | 0, 48543 | 0, $9_1 + 32 | 0 | 0); + HEAP32[($9_1 + 312 | 0) >> 2] = 1; + } + $271_1 = 24; + $279_1 = 1; + label$33 : { + if ((((HEAPU8[(HEAP32[($9_1 + 204 | 0) >> 2] | 0) >> 0] | 0) << $271_1 | 0) >> $271_1 | 0 | 0) == (100 | 0) & 1 | 0) { + break label$33 + } + $283_1 = 24; + $279_1 = (((HEAPU8[(HEAP32[($9_1 + 204 | 0) >> 2] | 0) >> 0] | 0) << $283_1 | 0) >> $283_1 | 0 | 0) == (68 | 0); + } + HEAP32[($9_1 + 244 | 0) >> 2] = $279_1 & 1 | 0; + break label$18; + case 5: + $42(HEAP32[($9_1 + 228 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 228 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + HEAP32[($9_1 + 204 | 0) >> 2] = 0; + break label$18; + case 6: + $42(HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 224 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + HEAP32[($9_1 + 204 | 0) >> 2] = 0; + break label$18; + case 7: + $299_1 = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + $300_1 = HEAP32[($9_1 + 220 | 0) >> 2] | 0; + $301_1 = HEAP32[($9_1 + 216 | 0) >> 2] | 0; + HEAP32[($9_1 + 216 | 0) >> 2] = $301_1 + 1 | 0; + HEAP32[($300_1 + ($301_1 << 2 | 0) | 0) >> 2] = $299_1; + HEAP32[($9_1 + 204 | 0) >> 2] = 0; + break label$18; + default: + break label$19; + }; + } + $307_1 = HEAP32[($9_1 + 324 | 0) >> 2] | 0; + HEAP32[$9_1 >> 2] = HEAP32[($9_1 + 212 | 0) >> 2] | 0; + $2048($307_1 | 0, 48566 | 0, $9_1 | 0); + HEAP32[($9_1 + 312 | 0) >> 2] = 1; + } + $42(HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0); + } + break label$11; + } + $315_1 = ($3303(HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($9_1 + 288 | 0) >> 2] = (HEAP32[($9_1 + 288 | 0) >> 2] | 0) + $315_1 | 0; + $318_1 = HEAP32[($9_1 + 212 | 0) >> 2] | 0; + $319_1 = HEAP32[($9_1 + 264 | 0) >> 2] | 0; + $320_1 = HEAP32[($9_1 + 284 | 0) >> 2] | 0; + HEAP32[($9_1 + 284 | 0) >> 2] = $320_1 + 1 | 0; + HEAP32[($319_1 + ($320_1 << 2 | 0) | 0) >> 2] = $318_1; + } + } + HEAP32[($9_1 + 308 | 0) >> 2] = (HEAP32[($9_1 + 308 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + label$34 : { + if (HEAP32[($9_1 + 312 | 0) >> 2] | 0) { + break label$34 + } + if (!((HEAP32[($9_1 + 228 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$34 + } + $337_1 = 0; + $42(HEAP32[($9_1 + 236 | 0) >> 2] | 0 | 0); + $42(HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 236 | 0) >> 2] = $337_1; + HEAP32[($9_1 + 232 | 0) >> 2] = $337_1; + label$35 : { + if (HEAP32[($9_1 + 284 | 0) >> 2] | 0) { + break label$35 + } + $42(HEAP32[($9_1 + 264 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 264 | 0) >> 2] = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2176(HEAP32[($9_1 + 344 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 332 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 228 | 0) >> 2] | 0 | 0, $9_1 + 264 | 0 | 0, $9_1 + 284 | 0 | 0, $9_1 + 288 | 0 | 0, HEAP32[($9_1 + 324 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 312 | 0) >> 2] = wasm2js_i32$1; + label$36 : { + if (HEAP32[($9_1 + 312 | 0) >> 2] | 0) { + break label$36 + } + if (!((HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[($9_1 + 116 | 0) >> 2] = 0; + label$37 : { + label$38 : while (1) { + if (!((HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 284 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$37 + } + label$39 : { + if ($87(HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 264 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$39 + } + HEAP32[($9_1 + 112 | 0) >> 2] = HEAP32[($9_1 + 116 | 0) >> 2] | 0; + label$40 : { + label$41 : while (1) { + if (!((HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 284 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$40 + } + HEAP32[((HEAP32[($9_1 + 264 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 112 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 264 | 0) >> 2] | 0) + (((HEAP32[($9_1 + 112 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($9_1 + 112 | 0) >> 2] = (HEAP32[($9_1 + 112 | 0) >> 2] | 0) + 1 | 0; + continue label$41; + }; + } + HEAP32[($9_1 + 284 | 0) >> 2] = (HEAP32[($9_1 + 284 | 0) >> 2] | 0) + -1 | 0; + break label$37; + } + HEAP32[($9_1 + 116 | 0) >> 2] = (HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 1 | 0; + continue label$38; + }; + } + } + } + } + label$42 : { + if (!(HEAP32[($9_1 + 312 | 0) >> 2] | 0)) { + break label$42 + } + break label$3; + } + label$43 : { + if (HEAP32[($9_1 + 284 | 0) >> 2] | 0) { + break label$43 + } + HEAP32[(HEAP32[($9_1 + 264 | 0) >> 2] | 0) >> 2] = 48407; + HEAP32[($9_1 + 288 | 0) >> 2] = 8; + HEAP32[($9_1 + 284 | 0) >> 2] = 1; + } + label$44 : { + if (!((HEAP32[($9_1 + 260 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$44 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2174(HEAP32[($9_1 + 320 | 0) >> 2] | 0 | 0, 41978 | 0, $9_1 + 260 | 0 | 0, HEAP32[($9_1 + 324 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 312 | 0) >> 2] = wasm2js_i32$1; + label$45 : { + if (!(HEAP32[($9_1 + 312 | 0) >> 2] | 0)) { + break label$45 + } + break label$3; + } + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2177(HEAP32[($9_1 + 240 | 0) >> 2] | 0 | 0, $9_1 + 256 | 0 | 0, $9_1 + 252 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 312 | 0) >> 2] = wasm2js_i32$1; + label$46 : { + if (!((HEAP32[($9_1 + 312 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$46 + } + $448_1 = HEAP32[($9_1 + 324 | 0) >> 2] | 0; + HEAP32[($9_1 + 80 | 0) >> 2] = HEAP32[($9_1 + 240 | 0) >> 2] | 0; + $2048($448_1 | 0, 48593 | 0, $9_1 + 80 | 0 | 0); + } + label$47 : { + if (!(HEAP32[($9_1 + 312 | 0) >> 2] | 0)) { + break label$47 + } + break label$3; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 296 | 0) >> 2] = (((((((HEAP32[($9_1 + 284 | 0) >> 2] | 0) << 2 | 0) + 288 | 0) + Math_imul(HEAP32[($9_1 + 256 | 0) >> 2] | 0, 24) | 0) + ((HEAP32[($9_1 + 284 | 0) >> 2] | 0) << 0 | 0) | 0) + (HEAP32[($9_1 + 272 | 0) >> 2] | 0) | 0) + (HEAP32[($9_1 + 276 | 0) >> 2] | 0) | 0) + (HEAP32[($9_1 + 288 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 300 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 296 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 300 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 316 | 0) >> 2] = wasm2js_i32$1; + label$48 : { + if (!((HEAP32[($9_1 + 316 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$48 + } + HEAP32[($9_1 + 312 | 0) >> 2] = 7; + break label$3; + } + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 296 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 300 | 0) >> 2] | 0; + $3289(HEAP32[($9_1 + 316 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($9_1 + 344 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($9_1 + 284 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 268 | 0) >> 2] = 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 28 | 0) >> 2] = (HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 288 | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($9_1 + 260 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 264 | 0) >> 2] = 1048576; + $502_1 = 0; + label$49 : { + if (!(HEAP32[($9_1 + 268 | 0) >> 2] | 0)) { + break label$49 + } + $502_1 = (HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0) == (0 | 0); + } + $509_1 = 0; + HEAP8[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 238 | 0) >> 0] = $502_1 & 1 | 0; + HEAP8[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 237 | 0) >> 0] = HEAP32[($9_1 + 268 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 236 | 0) >> 0] = HEAP32[($9_1 + 268 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 239 | 0) >> 0] = HEAP32[($9_1 + 244 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 48 | 0) >> 2] = 255; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($9_1 + 228 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($9_1 + 224 | 0) >> 2] | 0; + HEAP32[($9_1 + 228 | 0) >> 2] = $509_1; + HEAP32[($9_1 + 224 | 0) >> 2] = $509_1; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 260 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 284 | 0) >> 2] | 0) << 2 | 0) | 0; + $3288(HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 252 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($9_1 + 256 | 0) >> 2] | 0, 24) | 0) | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 256 | 0) >> 2] = HEAP32[($9_1 + 256 | 0) >> 2] | 0; + HEAP32[($9_1 + 308 | 0) >> 2] = $509_1; + label$50 : { + label$51 : while (1) { + if (!((HEAP32[($9_1 + 308 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 256 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$50 + } + $547_1 = 1; + $556_1 = 24; + $559_1 = 24; + $2011(((HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + Math_imul(HEAP32[($9_1 + 308 | 0) >> 2] | 0, 24) | 0) + 4 | 0 | 0, ($547_1 << $556_1 | 0) >> $556_1 | 0 | 0, ($547_1 << $559_1 | 0) >> $559_1 | 0 | 0); + HEAP32[($9_1 + 308 | 0) >> 2] = (HEAP32[($9_1 + 308 | 0) >> 2] | 0) + 1 | 0; + continue label$51; + }; + } + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + Math_imul(HEAP32[($9_1 + 256 | 0) >> 2] | 0, 24) | 0; + HEAP32[($9_1 + 280 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + (HEAP32[($9_1 + 284 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($9_1 + 280 | 0) >> 2] | 0; + $3288(HEAP32[($9_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 332 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 272 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 280 | 0) >> 2] = (HEAP32[($9_1 + 280 | 0) >> 2] | 0) + (HEAP32[($9_1 + 272 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($9_1 + 280 | 0) >> 2] | 0; + $3288(HEAP32[($9_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 332 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 276 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 280 | 0) >> 2] = (HEAP32[($9_1 + 280 | 0) >> 2] | 0) + (HEAP32[($9_1 + 276 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 292 | 0) >> 2] = 0; + label$52 : { + label$53 : while (1) { + if (!((HEAP32[($9_1 + 292 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 284 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$52 + } + $602_1 = 0; + HEAP32[($9_1 + 104 | 0) >> 2] = $602_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2178(HEAP32[((HEAP32[($9_1 + 264 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 292 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $9_1 + 104 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$54 : { + if (!((HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0) > ($602_1 | 0) & 1 | 0)) { + break label$54 + } + $3288(HEAP32[($9_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0) | 0; + } + HEAP8[((HEAP32[($9_1 + 280 | 0) >> 2] | 0) + (HEAP32[($9_1 + 104 | 0) >> 2] | 0) | 0) >> 0] = 0; + $2047(HEAP32[($9_1 + 280 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 292 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($9_1 + 280 | 0) >> 2] | 0; + HEAP32[($9_1 + 280 | 0) >> 2] = (HEAP32[($9_1 + 280 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP32[($9_1 + 292 | 0) >> 2] = (HEAP32[($9_1 + 292 | 0) >> 2] | 0) + 1 | 0; + continue label$53; + }; + } + HEAP32[($9_1 + 292 | 0) >> 2] = 0; + label$55 : { + label$56 : while (1) { + if (!((HEAP32[($9_1 + 292 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 284 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$55 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $3303(HEAP32[((HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 292 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 308 | 0) >> 2] = 0; + label$57 : { + label$58 : while (1) { + if (!((HEAP32[($9_1 + 308 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$57 + } + HEAP32[($9_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 308 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$59 : { + if (!((HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$59 + } + if (!((HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0) == ($3303(HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$59 + } + if (!((0 | 0) == ($89(HEAP32[((HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 292 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$59 + } + HEAP8[((HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + (HEAP32[($9_1 + 292 | 0) >> 2] | 0) | 0) >> 0] = 1; + $42(HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 308 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + } + HEAP32[($9_1 + 308 | 0) >> 2] = (HEAP32[($9_1 + 308 | 0) >> 2] | 0) + 1 | 0; + continue label$58; + }; + } + HEAP32[($9_1 + 292 | 0) >> 2] = (HEAP32[($9_1 + 292 | 0) >> 2] | 0) + 1 | 0; + continue label$56; + }; + } + HEAP32[($9_1 + 308 | 0) >> 2] = 0; + label$60 : { + label$61 : while (1) { + if (!((HEAP32[($9_1 + 308 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$60 + } + label$62 : { + if (!((HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 308 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$62 + } + $741_1 = HEAP32[($9_1 + 324 | 0) >> 2] | 0; + HEAP32[($9_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 308 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $2048($741_1 | 0, 33759 | 0, $9_1 + 48 | 0 | 0); + HEAP32[($9_1 + 312 | 0) >> 2] = 1; + } + HEAP32[($9_1 + 308 | 0) >> 2] = (HEAP32[($9_1 + 308 | 0) >> 2] | 0) + 1 | 0; + continue label$61; + }; + } + label$63 : { + if (HEAP32[($9_1 + 312 | 0) >> 2] | 0) { + break label$63 + } + $756_1 = 0; + if (!(((HEAP32[($9_1 + 236 | 0) >> 2] | 0 | 0) == ($756_1 | 0) & 1 | 0 | 0) != ((HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0) == ($756_1 | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$63 + } + HEAP32[($9_1 + 92 | 0) >> 2] = (HEAP32[($9_1 + 236 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0 ? 48381 : 48390; + HEAP32[($9_1 + 312 | 0) >> 2] = 1; + $785_1 = HEAP32[($9_1 + 324 | 0) >> 2] | 0; + HEAP32[($9_1 + 64 | 0) >> 2] = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + $2048($785_1 | 0, 48628 | 0, $9_1 + 64 | 0 | 0); + } + $792_1 = $9_1 + 312 | 0; + $795_1 = $2179(HEAP32[($9_1 + 316 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0, $792_1 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 224 | 0) >> 2] = $795_1; + $799_1 = $2180(HEAP32[($9_1 + 316 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 236 | 0) >> 2] | 0 | 0, $792_1 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 228 | 0) >> 2] = $799_1; + label$64 : { + if (!(HEAP32[($9_1 + 312 | 0) >> 2] | 0)) { + break label$64 + } + break label$3; + } + label$65 : { + if (!(HEAP32[($9_1 + 348 | 0) >> 2] | 0)) { + break label$65 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2181(HEAP32[($9_1 + 316 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 312 | 0) >> 2] = wasm2js_i32$1; + } + label$66 : { + if (HEAP32[($9_1 + 268 | 0) >> 2] | 0) { + break label$66 + } + if (HEAP32[($9_1 + 348 | 0) >> 2] | 0) { + break label$66 + } + HEAP8[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 237 | 0) >> 0] = 2; + } + $811_1 = $9_1 + 312 | 0; + $2182($811_1 | 0, HEAP32[($9_1 + 316 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 232 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0) - 35 | 0; + $2183($811_1 | 0, HEAP32[($9_1 + 316 | 0) >> 2] | 0 | 0); + } + $42(HEAP32[($9_1 + 240 | 0) >> 2] | 0 | 0); + $42(HEAP32[($9_1 + 252 | 0) >> 2] | 0 | 0); + $42(HEAP32[($9_1 + 236 | 0) >> 2] | 0 | 0); + $42(HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0); + $42(HEAP32[($9_1 + 228 | 0) >> 2] | 0 | 0); + $42(HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 308 | 0) >> 2] = 0; + label$67 : { + label$68 : while (1) { + if (!((HEAP32[($9_1 + 308 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$67 + } + $42(HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 308 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 308 | 0) >> 2] = (HEAP32[($9_1 + 308 | 0) >> 2] | 0) + 1 | 0; + continue label$68; + }; + } + $42(HEAP32[($9_1 + 264 | 0) >> 2] | 0 | 0); + $42(HEAP32[($9_1 + 220 | 0) >> 2] | 0 | 0); + label$69 : { + label$70 : { + if (!(HEAP32[($9_1 + 312 | 0) >> 2] | 0)) { + break label$70 + } + label$71 : { + label$72 : { + if (!((HEAP32[($9_1 + 316 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$72 + } + $2139(HEAP32[($9_1 + 316 | 0) >> 2] | 0 | 0) | 0; + break label$71; + } + label$73 : { + if (!((HEAP32[($9_1 + 260 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$73 + } + FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($9_1 + 260 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[($9_1 + 260 | 0) >> 2] | 0) | 0; + } + } + break label$69; + } + HEAP32[(HEAP32[($9_1 + 328 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 316 | 0) >> 2] | 0; + } + $866_1 = HEAP32[($9_1 + 312 | 0) >> 2] | 0; + global$0 = $9_1 + 352 | 0; + return $866_1 | 0; + } + + function $2135($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $16_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + $16_1 = $2134(0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $16_1 | 0; + } + + function $2136($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $10_1 = 0, $41_1 = 0, $54_1 = 0, $149_1 = 0, $174_1 = 0, $196_1 = 0, $200_1 = 0, $216_1 = 0, $220_1 = 0, $236_1 = 0, $240_1 = 0, i64toi32_i32$0 = 0, $295_1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = -1; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + break label$1; + } + $10_1 = 0; + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] = $10_1; + HEAPF64[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 3] = 5.0e6; + HEAP32[($4_1 + 44 | 0) >> 2] = $10_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 44 | 0) >> 2] | 0, 12) | 0; + label$5 : { + label$6 : { + if ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (64 | 0) & 1 | 0)) { + break label$7 + } + $41_1 = 0; + i64toi32_i32$0 = 262144; + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] = $41_1; + HEAPF64[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 3] = 1.e+50; + $2137(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0); + HEAP32[($4_1 + 60 | 0) >> 2] = $41_1; + break label$1; + } + break label$5; + } + $54_1 = 1; + label$8 : { + if ((HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$8 + } + $54_1 = (HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0 | 0); + } + HEAP32[($4_1 + 20 | 0) >> 2] = $54_1 & 1 | 0; + label$9 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$9 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$9 + } + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + HEAPF64[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 3] = 1.0; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + } + label$10 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (64 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0) + 2 | 0; + HEAPF64[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 3] = 2.0; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + } + label$11 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + } + label$12 : { + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$12 + } + $149_1 = (HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) + -4 | 0; + label$13 : { + label$14 : { + switch ($149_1 | 0) { + case 0: + case 28: + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + break label$13; + case 4: + case 12: + break label$14; + default: + break label$13; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + } + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$16 : { + if (!((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$16 + } + $2138(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 24 | 0) >> 2] = 1; + label$17 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$17 + } + $174_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $174_1 + 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $174_1; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 1; + } + label$18 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$18 + } + $196_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP32[($196_1 + 20 | 0) >> 2] = HEAP32[($196_1 + 20 | 0) >> 2] | 0 | 65536 | 0; + $200_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $200_1 + 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $200_1; + } + label$19 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$19 + } + $216_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP32[($216_1 + 20 | 0) >> 2] = HEAP32[($216_1 + 20 | 0) >> 2] | 0 | 131072 | 0; + $220_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $220_1 + 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $220_1; + } + label$20 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$20 + } + $236_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP32[($236_1 + 20 | 0) >> 2] = HEAP32[($236_1 + 20 | 0) >> 2] | 0 | 262144 | 0; + $240_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $240_1 + 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $240_1; + } + label$21 : { + if (!((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$22 : { + label$23 : { + if ((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$23 + } + if (!((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$22 + } + } + label$24 : { + label$25 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] = 49472; + break label$24; + } + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] = 49477; + } + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + } + } + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + } + $295_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $295_1 | 0; + } + + function $2137($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $41_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!(($432() | 0 | 0) >= (3008002 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $41_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 48 | 0) >> 2] = $41_1; + HEAP32[(i64toi32_i32$0 + 52 | 0) >> 2] = i64toi32_i32$1; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2138($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(($432() | 0 | 0) >= (3008012 | 0) & 1 | 0)) { + break label$1 + } + $11_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($11_1 + 56 | 0) >> 2] = HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 1 | 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2139($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $213(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (40 | 0) & 1 | 0)) { + break label$1 + } + $213(HEAP32[(((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 248 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 228 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2140($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, $56_1 = 0, $12_1 = 0, $13_1 = 0, $15_1 = 0, $16_1 = 0, $18_1 = 0, $19_1 = 0, $21_1 = 0, $22_1 = 0, $24_1 = 0, $32_1 = 0, $33_1 = 0; + $3_1 = global$0 - 64 | 0; + global$0 = $3_1; + $6_1 = 0; + HEAP32[($3_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 56 | 0) >> 2] = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + HEAP32[($3_1 + 52 | 0) >> 2] = $6_1; + HEAP32[($3_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $12_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + $13_1 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + $15_1 = HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $16_1 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + $18_1 = HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $19_1 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + $21_1 = HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $22_1 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + $24_1 = HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $32_1 = (HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0 ? 49667 : 1352; + $33_1 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = $33_1; + HEAP32[($3_1 + 32 | 0) >> 2] = $32_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $24_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $22_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $21_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $19_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $18_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $16_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $15_1; + HEAP32[$3_1 >> 2] = $13_1; + $2141($3_1 + 52 | 0 | 0, $12_1 | 0, 49481 | 0, $3_1 | 0); + label$1 : { + label$2 : { + if (HEAP32[($3_1 + 52 | 0) >> 2] | 0) { + break label$2 + } + $56_1 = $2139(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $56_1 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + } + global$0 = $3_1 + 64 | 0; + return $56_1 | 0; + } + + function $2141($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $24_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $78(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 7; + break label$1; + } + $24_1 = 0; + $27_1 = $400(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $24_1 | 0, $24_1 | 0, $24_1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = $27_1; + $42(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2142($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, $20_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + $7_1 = $38(96 | 0) | 0; + HEAP32[$4_1 >> 2] = $7_1; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if ((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[$4_1 >> 2] | 0 | 0, 0 | 0, 96 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $20_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $20_1 | 0; + } + + function $2143($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $2144(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2144($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2189(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $2190(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + $2191(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0); + $2192(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $3289((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0, 92 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2145($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $8_1 = 0, i64toi32_i32$2 = 0, $21_1 = 0, $32_1 = 0, $43_1 = 0, $54_1 = 0, $76_1 = 0, $119_1 = 0, $218_1 = 0, $229_1 = 0, $20_1 = 0, $31_1 = 0, $42_1 = 0, $53_1 = 0, $257$hi = 0, $428_1 = 0, $437_1 = 0, $128_1 = 0, $181_1 = 0, $262_1 = 0, $262$hi = 0, $712_1 = 0, $198_1 = 0, $254_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 112 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 88 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + HEAP32[($7_1 + 64 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($7_1 + 108 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($7_1 + 76 | 0) >> 2] = (HEAP32[($7_1 + 100 | 0) >> 2] | 0) & 65535 | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = 0; + label$3 : { + if (!(HEAP32[($7_1 + 76 | 0) >> 2] | 0)) { + break label$3 + } + $20_1 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + $21_1 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = $21_1 + 1 | 0; + HEAP32[($7_1 + 64 | 0) >> 2] = HEAP32[($20_1 + ($21_1 << 2 | 0) | 0) >> 2] | 0; + } + label$4 : { + if (!((HEAP32[($7_1 + 100 | 0) >> 2] | 0) & 65536 | 0)) { + break label$4 + } + $31_1 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + $32_1 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = $32_1 + 1 | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($31_1 + ($32_1 << 2 | 0) | 0) >> 2] | 0; + } + label$5 : { + if (!((HEAP32[($7_1 + 100 | 0) >> 2] | 0) & 131072 | 0)) { + break label$5 + } + $42_1 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + $43_1 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = $43_1 + 1 | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[($42_1 + ($43_1 << 2 | 0) | 0) >> 2] | 0; + } + label$6 : { + if (!((HEAP32[($7_1 + 100 | 0) >> 2] | 0) & 262144 | 0)) { + break label$6 + } + $53_1 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + $54_1 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = $54_1 + 1 | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($53_1 + ($54_1 << 2 | 0) | 0) >> 2] | 0; + } + i64toi32_i32$0 = 2147483647; + $257$hi = i64toi32_i32$0; + i64toi32_i32$0 = -2147483648; + $2144(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = $2146(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $428_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] = $428_1; + HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $257$hi; + i64toi32_i32$1 = $2146(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, -1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $437_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 80 | 0) >> 2] = $437_1; + HEAP32[(i64toi32_i32$1 + 84 | 0) >> 2] = i64toi32_i32$0; + label$7 : { + label$8 : { + if (!((HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $76_1 = 24; + HEAP8[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 52 | 0) >> 0] = (((HEAPU8[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 0] | 0) << $76_1 | 0) >> $76_1 | 0 | 0) == (68 | 0) & 1 | 0; + break label$7; + } + HEAP8[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 52 | 0) >> 0] = HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0; + } + HEAP16[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 1] = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + label$9 : { + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$9 + } + if (!(HEAP32[($7_1 + 76 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 76 | 0) >> 2] | 0) - 2 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + if (!(($248(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 108 | 0) >> 2] = 7; + break label$1; + } + $119_1 = 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] = $119_1; + label$11 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) != ($119_1 | 0) & 1 | 0)) { + break label$11 + } + $128_1 = $239(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] = $128_1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2147(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 236 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, -1 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2148(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + $2053(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0); + label$13 : { + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$0 = 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + } + label$14 : { + label$15 : { + if (HEAP32[($7_1 + 76 | 0) >> 2] | 0) { + break label$15 + } + label$16 : { + label$17 : { + label$18 : { + if ((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$18 + } + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + } + $181_1 = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $262_1 = i64toi32_i32$0; + $262$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 84 | 0) >> 2] | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0 ? 49472 : 49477; + $712_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $712_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $262$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $262_1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[$7_1 >> 2] = $181_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $79(49670 | 0, $7_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + break label$16; + } + $198_1 = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0 ? 49472 : 49477; + HEAP32[($7_1 + 32 | 0) >> 2] = $198_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $79(49732 | 0, $7_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + label$19 : { + label$20 : { + if (!((HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + $218_1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + HEAP32[($218_1 + 56 | 0) >> 2] = (HEAP32[($218_1 + 56 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $408(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, -1 | 0, 1 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + $229_1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + HEAP32[($229_1 + 56 | 0) >> 2] = (HEAP32[($229_1 + 56 | 0) >> 2] | 0) + -1 | 0; + $42(HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0); + break label$19; + } + HEAP32[($7_1 + 84 | 0) >> 2] = 7; + } + break label$14; + } + label$21 : { + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2149(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (HEAP32[($7_1 + 84 | 0) >> 2] | 0) { + break label$22 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $334(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + } + } + label$23 : { + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$23 + } + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2150(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + } + $254_1 = HEAP32[($7_1 + 108 | 0) >> 2] | 0; + global$0 = $7_1 + 112 | 0; + return $254_1 | 0; + } + + function $2146($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $71_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $342(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = $62(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $71_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $71_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + } + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $75_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $75_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2147($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1, $9_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + $9_1 = $9_1 | 0; + var $12_1 = 0, $52_1 = 0, $63_1 = 0, $68_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $12_1 = global$0 - 64 | 0; + global$0 = $12_1; + HEAP32[($12_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($12_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($12_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($12_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($12_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($12_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($12_1 + 36 | 0) >> 2] = $6_1; + HEAP32[($12_1 + 32 | 0) >> 2] = $7_1; + HEAP32[($12_1 + 28 | 0) >> 2] = $8_1; + HEAP32[($12_1 + 24 | 0) >> 2] = $9_1; + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $2198(HEAP32[($12_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($12_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[(HEAP32[($12_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $2199(HEAP32[($12_1 + 28 | 0) >> 2] | 0 | 0, 12 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($12_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $2200(HEAP32[(HEAP32[($12_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, 12 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + } + label$3 : { + if (!(HEAP32[($12_1 + 20 | 0) >> 2] | 0)) { + break label$3 + } + $2192(HEAP32[(HEAP32[($12_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($12_1 + 28 | 0) >> 2] | 0) >> 2] = 0; + label$4 : { + label$5 : { + if (!((HEAP32[($12_1 + 20 | 0) >> 2] | 0 | 0) == (18 | 0) & 1 | 0)) { + break label$5 + } + $52_1 = HEAP32[($12_1 + 24 | 0) >> 2] | 0; + HEAP32[$12_1 >> 2] = 12; + $2048($52_1 | 0, 49760 | 0, $12_1 | 0); + HEAP32[($12_1 + 20 | 0) >> 2] = 1; + break label$4; + } + label$6 : { + if (!((HEAP32[($12_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$6 + } + $63_1 = HEAP32[($12_1 + 24 | 0) >> 2] | 0; + HEAP32[($12_1 + 16 | 0) >> 2] = HEAP32[($12_1 + 36 | 0) >> 2] | 0; + $2048($63_1 | 0, 49812 | 0, $12_1 + 16 | 0 | 0); + } + } + } + $68_1 = HEAP32[($12_1 + 20 | 0) >> 2] | 0; + global$0 = $12_1 + 64 | 0; + return $68_1 | 0; + } + + function $2148($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0, $81_1 = 0, $88_1 = 0, i64toi32_i32$0 = 0, $117_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + $13_1 = 0; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = $13_1; + HEAP32[($3_1 + 32 | 0) >> 2] = $13_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $13_1; + $2201(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 + 32 | 0 | 0, $3_1 + 28 | 0 | 0, $3_1 + 36 | 0 | 0); + label$1 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 236 | 0) >> 0] | 0) & 255 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41(Math_imul(HEAP32[($3_1 + 32 | 0) >> 2] | 0, 24) + (((HEAP32[($3_1 + 28 | 0) >> 2] | 0) << 2 | 0) << 1 | 0) | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 32 | 0) >> 2] | 0, 24) | 0; + label$2 : { + label$3 : { + if ((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($3_1 + 36 | 0) >> 2] = 7; + break label$2; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $2202(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0, $3_1 + 8 | 0 | 0, $3_1 + 36 | 0 | 0); + HEAP32[($3_1 + 32 | 0) >> 2] = ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) - (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0 | 0) / (24 | 0) | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - (HEAP32[($3_1 + 20 | 0) >> 2] | 0) | 0) >> 2 | 0; + label$4 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$4 + } + $81_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2203(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, $81_1 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 16 | 0) >> 2] = $81_1; + label$5 : while (1) { + $88_1 = 0; + label$6 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$6 + } + $88_1 = (HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + } + label$7 : { + if (!($88_1 & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2203(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + } + $42(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + } + } + $2204(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 + 36 | 0 | 0); + $117_1 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $117_1 | 0; + } + + function $2149($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $42_1 = 0, $53_1 = 0, $62_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == ($4_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 220 | 0) >> 2] = 0; + break label$3; + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $79(49904 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 7; + break label$1; + } + $42_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[($42_1 + 56 | 0) >> 2] = (HEAP32[($42_1 + 56 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $408(HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0, 1 | 0, (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $53_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[($53_1 + 56 | 0) >> 2] = (HEAP32[($53_1 + 56 | 0) >> 2] | 0) + -1 | 0; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + HEAP8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 0] = 1; + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $62_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $62_1 | 0; + } + + function $2150($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, $8_1 = 0, $18_1 = 0, $24_1 = 0, $41_1 = 0, $45_1 = 0, i64toi32_i32$1 = 0, $149_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $8_1 = 16; + label$1 : { + label$2 : { + label$3 : { + if ((((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) == (1 | 0) & 1 | 0) { + break label$3 + } + $18_1 = 16; + if (((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) << $18_1 | 0) >> $18_1 | 0) { + break label$2 + } + } + HEAP32[$3_1 >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $24_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[($24_1 + 56 | 0) >> 2] = (HEAP32[($24_1 + 56 | 0) >> 2] | 0) + 1 | 0; + label$4 : { + label$5 : { + if (!((100 | 0) != ($287(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 6 | 0) >> 0] = 1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $222(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + $41_1 = 0; + i64toi32_i32$0 = $318(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $41_1 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $149_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $149_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 8 | 0) >> 2] = $41_1; + } + $45_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[($45_1 + 56 | 0) >> 2] = (HEAP32[($45_1 + 56 | 0) >> 2] | 0) + -1 | 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2151(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $51_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $51_1 | 0; + } + + function $2151($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $78$hi = 0, $79$hi = 0, $82$hi = 0, $83$hi = 0, $4_1 = 0, $40_1 = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $165_1 = 0, $78_1 = 0, $217_1 = 0, $82_1 = 0, $243_1 = 0, $74_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == ($4_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 6 | 0) >> 0] = 1; + break label$1; + } + label$3 : while (1) { + label$4 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + $222(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + $2240(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0); + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 6 | 0) >> 0] = HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] = 1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 88 | 0) >> 2] = 1; + i64toi32_i32$2 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $165_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $165_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + $40_1 = 0; + label$5 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + $40_1 = ($2241(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0) | 0 | 0) != (0 | 0); + } + if ($40_1 & 1 | 0) { + continue label$3 + } + break label$3; + }; + } + label$6 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + label$7 : { + label$8 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $78_1 = i64toi32_i32$1; + $78$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 84 | 0) >> 2] | 0; + $79$hi = i64toi32_i32$1; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$1 = $79$hi; + $217_1 = i64toi32_i32$0; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$2 = $78_1; + i64toi32_i32$0 = $79$hi; + i64toi32_i32$3 = $217_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $18_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $18_1 = $20_1; + } + if ($18_1 & 1 | 0) { + break label$7 + } + } + if (!((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0)) { + break label$6 + } + i64toi32_i32$3 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $82_1 = i64toi32_i32$2; + $82$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $83$hi = i64toi32_i32$2; + i64toi32_i32$2 = $82$hi; + i64toi32_i32$2 = $83$hi; + i64toi32_i32$2 = $82$hi; + i64toi32_i32$2 = $83$hi; + $243_1 = i64toi32_i32$1; + i64toi32_i32$2 = $82$hi; + i64toi32_i32$3 = $82_1; + i64toi32_i32$1 = $83$hi; + i64toi32_i32$0 = $243_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $21_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $22_1 = 0 + } else { + $22_1 = 1 + } + $23_1 = $22_1; + } else { + $23_1 = 0 + } + $21_1 = $23_1; + } + if (!($21_1 & 1 | 0)) { + break label$6 + } + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 6 | 0) >> 0] = 1; + } + $74_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $74_1 | 0; + } + + function $2152($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $21_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $2144(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 6 | 0) >> 0] = 1; + } + $21_1 = (HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0; + global$0 = $3_1 + 16 | 0; + return $21_1 | 0; + } + + function $2153($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13_1 = 0, i64toi32_i32$2 = 0, $67_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $13_1 = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + switch ($13_1 | 0) { + case 0: + $273(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 49930 | 0, 0 | 0); + break label$1; + case 1: + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + break label$1; + case 2: + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $270(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + break label$1; + } + label$7 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + $267(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0); + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + break; + default: + break label$2; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2154(0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$8 + } + if (!((($310(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0) - 1 | 0 | 0) > (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $280(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $320(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0 | 0) | 0 | 0); + } + } + $67_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $67_1 | 0; + } + + function $2154($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $24_1 = 0, i64toi32_i32$2 = 0, $41_1 = 0, $45_1 = 0, i64toi32_i32$1 = 0, $76_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2149(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + $24_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($24_1 + 56 | 0) >> 2] = (HEAP32[($24_1 + 56 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 7 | 0) >> 0] = 0; + label$4 : { + if (!((100 | 0) == ($287(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + $41_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($41_1 + 56 | 0) >> 2] = (HEAP32[($41_1 + 56 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $45_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($45_1 + 56 | 0) >> 2] = (HEAP32[($45_1 + 56 | 0) >> 2] | 0) + -1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$5 + } + if (!((HEAP32[((HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 267; + HEAP8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 6 | 0) >> 0] = 1; + } + } + } + label$6 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$6 + } + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $284(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $76_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $76_1 | 0; + } + + function $2155($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $29_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $29_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return 0 | 0; + } + + function $2156($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $11_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $11_1 = $2157(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $11_1 | 0; + } + + function $2157($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $307$hi = 0, $308$hi = 0, $300$hi = 0, $301$hi = 0, i64toi32_i32$4 = 0, $302$hi = 0, $303$hi = 0, $24_1 = 0, $304$hi = 0, $305$hi = 0, $25_1 = 0, $78_1 = 0, $307_1 = 0, $653_1 = 0, $297_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $8_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$2 + } + if (!(($248(HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + if (!(($248(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2257(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$3 + } + if (!(($239(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + ((((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0) + 2 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 24 | 0) >> 2] = 19; + break label$1; + } + $78_1 = 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $300$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $301$hi = i64toi32_i32$0; + i64toi32_i32$0 = $300$hi; + i64toi32_i32$0 = $301$hi; + i64toi32_i32$0 = $300$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $301$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $302$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $303$hi = i64toi32_i32$5; + i64toi32_i32$5 = $302$hi; + i64toi32_i32$5 = $303$hi; + i64toi32_i32$5 = $302$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $303$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + $24_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $24_1 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + } + $304$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $305$hi = i64toi32_i32$2; + i64toi32_i32$2 = $304$hi; + i64toi32_i32$2 = $305$hi; + i64toi32_i32$2 = $304$hi; + i64toi32_i32$5 = $24_1; + i64toi32_i32$0 = $305$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + $25_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$1 | 0) | 0; + $25_1 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $41($25_1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == ($78_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 24 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0; + $3289(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, (((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) << 1 | 0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2258(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$5 + } + break label$1; + } + label$6 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 3 | 0) << 2 | 0) | 0) >> 2] | 0; + label$7 : { + if (!(($248(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + label$8 : { + if (!(($248(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (($248(HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0) { + break label$9 + } + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $307_1 = i64toi32_i32$0; + $307$hi = i64toi32_i32$5; + i64toi32_i32$5 = $62(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $308$hi = i64toi32_i32$0; + i64toi32_i32$0 = $307$hi; + i64toi32_i32$0 = $308$hi; + i64toi32_i32$0 = $307$hi; + i64toi32_i32$0 = $308$hi; + $653_1 = i64toi32_i32$5; + i64toi32_i32$0 = $307$hi; + i64toi32_i32$2 = $307_1; + i64toi32_i32$5 = $308$hi; + i64toi32_i32$3 = $653_1; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$8 + } + } + label$10 : { + label$11 : { + if (!(($425(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2259(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + break label$10; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2260(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 8 | 0) >> 2] = 1; + } + } + } + label$12 : { + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$12 + } + break label$1; + } + label$13 : { + if (!(($248(HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2259(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$14 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$14 + } + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$14 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + ((((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0) + 2 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$15 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$15 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2260(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (19 | 0) & 1 | 0)) { + break label$16 + } + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($6_1 + 24 | 0) >> 2] = 267; + } + } + label$17 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$17 + } + i64toi32_i32$3 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2261(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$18 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$18 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2262(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$19 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 238 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$19 + } + $2263($6_1 + 24 | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + label$20 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 236 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$20 + } + $2264($6_1 + 24 | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + } + $42(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + $2053(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0); + $297_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $297_1 | 0; + } + + function $2158($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + $8_1 = $2159(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $2159($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $26_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 237 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $79(50003 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $26_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $500(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $26_1 | 0, $26_1 | 0, $26_1 | 0, $26_1 | 0, $26_1 | 0, $26_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 237 | 0) >> 0] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) == ($26_1 | 0) & 1 | 0; + break label$2; + } + HEAP32[($3_1 + 24 | 0) >> 2] = 7; + } + } + $42_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $42_1 | 0; + } + + function $2160($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $84_1 = 0, $59_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 64; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = $451(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $84_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $84_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2161(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0 > 4 >>> 0 & 1 | 0)) { + break label$1 + } + if (!(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (255 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2162(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $3_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$3_1 >> 2] = Math_imul(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0); + HEAP32[$3_1 >> 2] = (HEAP32[$3_1 >> 2] | 0) + ((HEAP32[$3_1 >> 2] | 0 | 0) / (2 | 0) | 0) | 0; + label$2 : { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) > (64 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2163(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + $2053(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $452(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + $59_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $59_1 | 0; + } + + function $2161($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $7_1 = 0, $58_1 = 0, $77_1 = 0, $99_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $4_1; + label$1 : while (1) { + $7_1 = 0; + label$2 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + $7_1 = (HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($7_1 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2277(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 280 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $2166(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + label$5 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + if (!((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 237 | 0) >> 0] | 0) & 255 | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (255 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$5 + } + $58_1 = 0; + HEAP32[$3_1 >> 2] = $58_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2075(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 22 | 0, $3_1 | 0, $58_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + $330(HEAP32[$3_1 >> 2] | 0 | 0, 1 | 0, 2 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $287(HEAP32[$3_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$8 + } + $77_1 = $317(HEAP32[$3_1 >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = $77_1; + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = 8; + } + break label$7; + } + label$10 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $222(HEAP32[$3_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + } + $99_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $99_1 | 0; + } + + function $2162($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $9_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $9_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $9_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 36 | 0, $4_1 + 12 | 0 | 0, $9_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + if (!((100 | 0) == ($287(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $317(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + $28_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $28_1 | 0; + } + + function $2163($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $50_1 = 0, $6_1 = 0, $349$hi = 0, $352$hi = 0, $356$hi = 0, $360$hi = 0, $363$hi = 0, $7_1 = 0, $36_1 = 0, $66_1 = 0, $88_1 = 0, $347$hi = 0, $348$hi = 0, $350$hi = 0, $351$hi = 0, $59_1 = 0, $60_1 = 0, $61_1 = 0, $117_1 = 0, $134_1 = 0, $137_1 = 0, $140_1 = 0, $358$hi = 0, $62_1 = 0, $63_1 = 0, $64_1 = 0, $361$hi = 0, $362$hi = 0, $65_1 = 0, $67_1 = 0, $68_1 = 0, $69_1 = 0, $367$hi = 0, $368$hi = 0, $183_1 = 0, $211_1 = 0, $375$hi = 0, $376$hi = 0, $378$hi = 0, $379$hi = 0, $380$hi = 0, $381$hi = 0, $491_1 = 0, $58_1 = 0, $550_1 = 0, $347_1 = 0, $615_1 = 0, $349_1 = 0, $350_1 = 0, $622_1 = 0, $627_1 = 0, $637_1 = 0, $360_1 = 0, $178_1 = 0, $180_1 = 0, $70_1 = 0, $1144_1 = 0, $326_1 = 0, $1180_1 = 0, $339_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 128 | 0; + global$0 = $5_1; + $6_1 = 0; + $7_1 = 640; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 104 | 0) >> 2] = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + HEAP32[($5_1 + 88 | 0) >> 2] = $6_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 80 | 0) >> 2] = 0; + HEAP32[($5_1 + 84 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1 + 64 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38($7_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($5_1 + 124 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($5_1 + 96 | 0) >> 2] = (HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 568 | 0; + HEAP32[($5_1 + 100 | 0) >> 2] = (HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 16 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2300(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $5_1 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$3 : while (1) { + $36_1 = 0; + label$4 : { + if (HEAP32[($5_1 + 108 | 0) >> 2] | 0) { + break label$4 + } + $36_1 = (HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) > (0 | 0); + } + label$5 : { + if (!($36_1 & 1 | 0)) { + break label$5 + } + $50_1 = 0; + i64toi32_i32$1 = (HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0) << 10 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $491_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $491_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 44 | 0) >> 2] = $50_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $50_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $50_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, 28 | 0, $5_1 + 44 | 0 | 0, $50_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + $58_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + label$6 : { + label$7 : { + if (!((2 | 0) > (HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $66_1 = 2; + break label$6; + } + $66_1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + } + $330($58_1 | 0, 1 | 0, $66_1 | 0) | 0; + label$8 : { + label$9 : { + if (!(($287(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$0 = $318(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $550_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $550_1; + HEAP32[($5_1 + 84 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $317(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + break label$8; + } + HEAP32[($5_1 + 88 | 0) >> 2] = -1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($5_1 + 108 | 0) >> 2] | 0) { + break label$10 + } + if (!(HEAP32[($5_1 + 68 | 0) >> 2] | 0)) { + break label$10 + } + $88_1 = 0; + i64toi32_i32$1 = 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = $88_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2301($5_1 + 64 | 0 | 0, $5_1 + 24 | 0 | 0, $5_1 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + label$12 : { + label$13 : { + if ((HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) < ($88_1 | 0) & 1 | 0) { + break label$13 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $347_1 = i64toi32_i32$1; + $347$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $348$hi = i64toi32_i32$1; + i64toi32_i32$1 = $347$hi; + i64toi32_i32$1 = $348$hi; + $615_1 = i64toi32_i32$0; + i64toi32_i32$1 = $347$hi; + i64toi32_i32$0 = $348$hi; + i64toi32_i32$0 = __wasm_i64_srem($347_1 | 0, i64toi32_i32$1 | 0, $615_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $349_1 = i64toi32_i32$0; + $349$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $350_1 = i64toi32_i32$1; + $350$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $351$hi = i64toi32_i32$1; + i64toi32_i32$1 = $350$hi; + i64toi32_i32$1 = $351$hi; + $622_1 = i64toi32_i32$0; + i64toi32_i32$1 = $350$hi; + i64toi32_i32$0 = $351$hi; + i64toi32_i32$0 = __wasm_i64_srem($350_1 | 0, i64toi32_i32$1 | 0, $622_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $352$hi = i64toi32_i32$1; + i64toi32_i32$1 = $349$hi; + i64toi32_i32$1 = $352$hi; + i64toi32_i32$1 = $349$hi; + i64toi32_i32$1 = $352$hi; + $627_1 = i64toi32_i32$0; + i64toi32_i32$1 = $349$hi; + i64toi32_i32$2 = $349_1; + i64toi32_i32$0 = $352$hi; + i64toi32_i32$3 = $627_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $59_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $60_1 = 0 + } else { + $60_1 = 1 + } + $61_1 = $60_1; + } else { + $61_1 = 0 + } + $59_1 = $61_1; + } + if (!($59_1 & 1 | 0)) { + break label$12 + } + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $637_1 = i64toi32_i32$2; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $637_1; + HEAP32[($5_1 + 84 | 0) >> 2] = i64toi32_i32$1; + label$14 : { + label$15 : { + if (!((HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + $117_1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + break label$14; + } + $117_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + } + label$16 : { + label$17 : { + if (!(($117_1 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + label$18 : { + label$19 : { + if (!((HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $134_1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + break label$18; + } + $134_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + } + $137_1 = $134_1; + break label$16; + } + $137_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + $140_1 = 1; + HEAP32[($5_1 + 88 | 0) >> 2] = $137_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $140_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $140_1; + break label$11; + } + HEAP32[($5_1 + 68 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + } + } + label$20 : { + if (!((HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$20 + } + break label$5; + } + i64toi32_i32$1 = 0; + $356$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $358$hi = i64toi32_i32$2; + i64toi32_i32$2 = $356$hi; + i64toi32_i32$2 = $358$hi; + i64toi32_i32$2 = $356$hi; + i64toi32_i32$2 = $358$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $356$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $62_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $63_1 = 0 + } else { + $63_1 = 1 + } + $64_1 = $63_1; + } else { + $64_1 = 0 + } + $62_1 = $64_1; + } + label$21 : { + label$22 : { + if ($62_1 & 1 | 0) { + break label$22 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $360_1 = i64toi32_i32$3; + $360$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $361$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $362$hi = i64toi32_i32$3; + i64toi32_i32$3 = $361$hi; + i64toi32_i32$3 = $362$hi; + i64toi32_i32$3 = $361$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $362$hi; + i64toi32_i32$1 = 32; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $65_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $65_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $363$hi = i64toi32_i32$2; + i64toi32_i32$2 = $360$hi; + i64toi32_i32$2 = $363$hi; + i64toi32_i32$2 = $360$hi; + i64toi32_i32$2 = $363$hi; + i64toi32_i32$2 = $360$hi; + i64toi32_i32$3 = $360_1; + i64toi32_i32$0 = $363$hi; + i64toi32_i32$1 = $65_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $67_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $68_1 = 0 + } else { + $68_1 = 1 + } + $69_1 = $68_1; + } else { + $69_1 = 0 + } + $67_1 = $69_1; + } + if (!($67_1 & 1 | 0)) { + break label$21 + } + } + HEAP32[($5_1 + 108 | 0) >> 2] = 267; + break label$5; + } + $3289(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 0 | 0, 640 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + label$23 : { + if (HEAP32[($5_1 + 108 | 0) >> 2] | 0) { + break label$23 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2302(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0, $5_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + label$25 : { + if (!(HEAP32[($5_1 + 36 | 0) >> 2] | 0)) { + break label$25 + } + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$24 + } + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$24 + } + } + $178_1 = $5_1 + 16 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + $180_1 = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $367$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $368$hi = i64toi32_i32$3; + i64toi32_i32$3 = $367$hi; + i64toi32_i32$3 = $368$hi; + i64toi32_i32$3 = $367$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $368$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2303($180_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, $178_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$26 + } + $183_1 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + HEAP32[($183_1 + 12 | 0) >> 2] = HEAP32[($183_1 + 12 | 0) >> 2] | 0 | 2 | 0; + } + } + } + label$27 : { + if (HEAP32[($5_1 + 108 | 0) >> 2] | 0) { + break label$27 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2304(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + } + label$28 : { + if (!((0 | 0) == (HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + if (!((HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + $211_1 = $2057(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 108 | 0) >> 2] = $211_1; + if (!((0 | 0) == ($211_1 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2059(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + label$30 : { + if (HEAP32[($5_1 + 108 | 0) >> 2] | 0) { + break label$30 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + break label$29; + } + label$31 : { + if (!((HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) != (100 | 0) & 1 | 0)) { + break label$31 + } + $2054(HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0); + break label$5; + } + } + label$32 : { + label$33 : { + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$33 + } + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2305(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$5 | 0, (HEAP32[($5_1 + 36 | 0) >> 2] | 0) - 1 | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$32; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2306(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + } + label$34 : { + if (HEAP32[($5_1 + 108 | 0) >> 2] | 0) { + break label$34 + } + if (!(HEAP32[(HEAP32[($5_1 + 92 | 0) >> 2] | 0) >> 2] | 0)) { + break label$34 + } + label$35 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$35 + } + label$36 : while (1) { + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2307(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$37 : { + if (HEAP32[($5_1 + 108 | 0) >> 2] | 0) { + break label$37 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2059(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + } + label$38 : { + if (!((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$38 + } + if (!((HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$38 + } + HEAP32[($5_1 + 108 | 0) >> 2] = 0; + } + if ((HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0) { + continue label$36 + } + break label$36; + }; + } + label$39 : { + if (HEAP32[($5_1 + 108 | 0) >> 2] | 0) { + break label$39 + } + HEAP32[($5_1 + 104 | 0) >> 2] = (HEAP32[($5_1 + 104 | 0) >> 2] | 0) - ((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0) | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2308(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$5 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0, $5_1 + 88 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$40 : { + if (!(HEAP32[($5_1 + 88 | 0) >> 2] | 0)) { + break label$40 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $2309($5_1 + 64 | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, $5_1 + 108 | 0 | 0); + } + } + } + label$41 : { + if (!(HEAP32[($5_1 + 88 | 0) >> 2] | 0)) { + break label$41 + } + i64toi32_i32$3 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $375$hi = i64toi32_i32$5; + i64toi32_i32$5 = -1; + $376$hi = i64toi32_i32$5; + i64toi32_i32$5 = $375$hi; + i64toi32_i32$5 = $376$hi; + i64toi32_i32$5 = $375$hi; + $70_1 = i64toi32_i32$1; + i64toi32_i32$1 = $376$hi; + i64toi32_i32$1 = __wasm_i64_mul($70_1 | 0, i64toi32_i32$5 | 0, -1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $1144_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $1144_1; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$5; + } + $2310(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, $5_1 + 108 | 0 | 0); + label$42 : { + if (HEAP32[($5_1 + 88 | 0) >> 2] | 0) { + break label$42 + } + if ((HEAPU8[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 48 | 0) >> 0] | 0) & 255 | 0) { + break label$42 + } + $326_1 = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $378$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $379$hi = i64toi32_i32$1; + i64toi32_i32$1 = $378$hi; + i64toi32_i32$1 = $379$hi; + i64toi32_i32$1 = $378$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $379$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $380$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] | 0; + $381$hi = i64toi32_i32$3; + i64toi32_i32$3 = $380$hi; + i64toi32_i32$3 = $381$hi; + $1180_1 = i64toi32_i32$4; + i64toi32_i32$3 = $380$hi; + i64toi32_i32$4 = $381$hi; + $2286($326_1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0, $1180_1 | 0, i64toi32_i32$4 | 0) | 0; + } + } + $2054(HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0); + continue label$3; + } + break label$3; + }; + label$43 : { + if (!(HEAP32[($5_1 + 60 | 0) >> 2] | 0)) { + break label$43 + } + if (HEAP32[($5_1 + 108 | 0) >> 2] | 0) { + break label$43 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2311(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $5_1 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0); + $42(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 124 | 0) >> 2] = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + } + $339_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + global$0 = $5_1 + 128 | 0; + return $339_1 | 0; + } + + function $2164($0_1) { + $0_1 = $0_1 | 0; + HEAP32[((global$0 - 16 | 0) + 12 | 0) >> 2] = $0_1; + return 0 | 0; + } + + function $2165($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $2166(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2166($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 16 | 0) >> 2] = ((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 24 | 0) >> 2] | 0, 24) | 0) + 4 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $2193(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + continue label$4; + }; + } + $2016(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 268 | 0) >> 2] = 0; + global$0 = $3_1 + 32 | 0; + return; + } + + function $2167($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $11_1 = 0, $82_1 = 0, $89_1 = 0, $96_1 = 0, $100_1 = 0, $50_1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + $11_1 = $7_1 + 16 | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 50040 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 50044 | 0) >> 2] | 0; + $82_1 = i64toi32_i32$0; + i64toi32_i32$0 = $11_1 + 24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $82_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 50032 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 50036 | 0) >> 2] | 0; + $89_1 = i64toi32_i32$1; + i64toi32_i32$1 = $11_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $89_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 50024 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 50028 | 0) >> 2] | 0; + $96_1 = i64toi32_i32$0; + i64toi32_i32$0 = $11_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $96_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 50016 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 50020 | 0) >> 2] | 0; + $100_1 = i64toi32_i32$1; + i64toi32_i32$1 = $11_1; + HEAP32[i64toi32_i32$1 >> 2] = $100_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if ($3229(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[(($7_1 + 16 | 0) + ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[((($7_1 + 16 | 0) + ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + } + $50_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $50_1 | 0; + } + + function $2168($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $21_1 = 0, $23_1 = 0, $25_1 = 0, $42_1 = 0, $44_1 = 0, $46_1 = 0, $63_1 = 0, $65_1 = 0, $67_1 = 0, $74_1 = 0, $76_1 = 0, $78_1 = 0, $83_1 = 0, $85_1 = 0, $87_1 = 0, $94_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 96 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + HEAP32[($4_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2159(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 76 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2161(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $21_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + $23_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $25_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $25_1; + HEAP32[($4_1 + 64 | 0) >> 2] = $23_1; + $2141($4_1 + 76 | 0 | 0, $21_1 | 0, 50280 | 0, $4_1 + 64 | 0 | 0); + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 238 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $42_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + $44_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $46_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = $46_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $44_1; + $2141($4_1 + 76 | 0 | 0, $42_1 | 0, 50333 | 0, $4_1 + 48 | 0 | 0); + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 237 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + $63_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + $65_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $67_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = $67_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $65_1; + $2141($4_1 + 76 | 0 | 0, $63_1 | 0, 50386 | 0, $4_1 + 32 | 0 | 0); + } + $74_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + $76_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $78_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $78_1; + HEAP32[$4_1 >> 2] = $76_1; + $2141($4_1 + 76 | 0 | 0, $74_1 | 0, 50433 | 0, $4_1 | 0); + $83_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + $85_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $87_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $87_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $85_1; + $2141($4_1 + 76 | 0 | 0, $83_1 | 0, 50487 | 0, $4_1 + 16 | 0 | 0); + $94_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + global$0 = $4_1 + 96 | 0; + return $94_1 | 0; + } + + function $2169($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 240 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2160(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $12_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $12_1 | 0; + } + + function $2170($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return 0 | 0; + } + + function $2171($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $2166(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $2172($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $25_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) >>> 0 < 5 >>> 0 & 1 | 0)) { + break label$2 + } + label$4 : { + if ($87(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(73200 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $25_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $25_1 | 0; + } + + function $2173($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, $11_1 = 0, $14_1 = 0, $18_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP8[($3_1 + 15 | 0) >> 0] = $0_1; + $6_1 = 24; + $11_1 = 1; + label$1 : { + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $6_1 | 0) >> $6_1 | 0) & 128 | 0) { + break label$1 + } + $14_1 = 24; + $18_1 = 24; + $11_1 = (((HEAPU8[((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $14_1 | 0) >> $14_1 | 0) + 48672 | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) != (0 | 0); + } + return $11_1 & 1 | 0 | 0; + } + + function $2174($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $62_1 = 0, $76_1 = 0, $82_1 = 0, i64toi32_i32$1 = 0, $111_1 = 0, $58_1 = 0, $109_1 = 0, $110_1 = 0, $142_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(1976 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 7; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + ($3303(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2178(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, $6_1 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + } + HEAP8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + (HEAP32[($6_1 + 64 | 0) >> 2] | 0) | 0) >> 0] = 0; + $2047(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2132(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, ($3303(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if ((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + $58_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + $2048($58_1 | 0, 48343 | 0, $6_1 | 0); + HEAP32[($6_1 + 72 | 0) >> 2] = 1; + break label$4; + } + $62_1 = 0; + HEAP32[($6_1 + 48 | 0) >> 2] = $62_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $62_1; + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 1 | 0) | 0; + label$6 : while (1) { + $76_1 = 0; + label$7 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 56 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + $82_1 = $2178(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, $6_1 + 64 | 0 | 0) | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = $82_1; + $76_1 = (0 | 0) != ($82_1 | 0); + } + label$8 : { + if (!($76_1 & 1 | 0)) { + break label$8 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0) << 2 | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $49(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if ((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + $42(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0); + $42(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 92 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $109_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + $110_1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + $111_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $111_1 + 1 | 0; + HEAP32[($110_1 + ($111_1 << 2 | 0) | 0) >> 2] = $109_1; + HEAP8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + (HEAP32[($6_1 + 64 | 0) >> 2] | 0) | 0) >> 0] = 0; + $2047(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 1 | 0) | 0; + continue label$6; + } + break label$6; + }; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 44 | 0) >> 2] | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0, HEAP32[($6_1 + 80 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : { + if (!(HEAP32[($6_1 + 72 | 0) >> 2] | 0)) { + break label$11 + } + $2048(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, 48800 | 0, 0 | 0); + break label$10; + } + HEAP32[(HEAP32[(HEAP32[($6_1 + 80 | 0) >> 2] | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + } + $42(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + } + $42(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 92 | 0) >> 2] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + } + $142_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + global$0 = $6_1 + 96 | 0; + return $142_1 | 0; + } + + function $2175($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $20_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + $10_1 = 24; + if (!((((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) != (61 | 0) & 1 | 0)) { + break label$2 + } + $20_1 = 24; + label$4 : { + if (((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $20_1 | 0) >> $20_1 | 0) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0; + HEAP32[$5_1 >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(1976 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $2047(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + } + $47_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $47_1 | 0; + } + + function $2176($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $120$hi = 0, $123$hi = 0, $124$hi = 0, $11_1 = 0, $34_1 = 0, $120_1 = 0, $261$hi = 0, $61_1 = 0, $284_1 = 0, $116_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 112 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 92 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 84 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 72 | 0) >> 2] = $10_1; + $11_1 = HEAP32[($9_1 + 104 | 0) >> 2] | 0; + HEAP32[($9_1 + 20 | 0) >> 2] = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = $11_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $79(48818 | 0, $9_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($9_1 + 80 | 0) >> 2] = 7; + break label$1; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $405(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, -1 | 0, $9_1 + 72 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($9_1 + 80 | 0) >> 2] | 0)) { + break label$3 + } + $34_1 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $380(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $2048($34_1 | 0, 1976 | 0, $9_1 | 0); + } + } + $42(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0); + label$4 : { + if (HEAP32[($9_1 + 80 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 56 | 0) >> 2] = 0; + HEAP32[($9_1 + 60 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $309(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 48 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $322(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + $120_1 = ($3303(HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + $120$hi = i64toi32_i32$0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $261$hi = i64toi32_i32$1; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$1 = $261$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$3 = $120_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $9_1; + HEAP32[($9_1 + 56 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($9_1 + 60 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($9_1 + 48 | 0) >> 2] = (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $61_1 = 0; + i64toi32_i32$5 = 0; + $123$hi = i64toi32_i32$5; + i64toi32_i32$1 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $124$hi = i64toi32_i32$2; + i64toi32_i32$2 = $123$hi; + i64toi32_i32$2 = $124$hi; + $284_1 = i64toi32_i32$5; + i64toi32_i32$2 = $123$hi; + i64toi32_i32$1 = (HEAP32[($9_1 + 52 | 0) >> 2] | 0) << 2 | 0; + i64toi32_i32$5 = $124$hi; + i64toi32_i32$3 = $284_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!((HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0) == ($61_1 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($9_1 + 80 | 0) >> 2] = 7; + break label$7; + } + HEAP32[($9_1 + 40 | 0) >> 2] = (HEAP32[($9_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 52 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($9_1 + 48 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $322(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = ($3303(HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $3288(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + HEAP32[($9_1 + 40 | 0) >> 2] = (HEAP32[($9_1 + 40 | 0) >> 2] | 0) + (HEAP32[($9_1 + 32 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 48 | 0) >> 2] = (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + } + $213(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($9_1 + 92 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$4 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + HEAP32[(HEAP32[($9_1 + 88 | 0) >> 2] | 0) >> 2] = i64toi32_i32$4; + HEAP32[(HEAP32[($9_1 + 96 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + } + $116_1 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + global$0 = $9_1 + 112 | 0; + return $116_1 | 0; + } + + function $2177($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0, $36_1 = 0, i64toi32_i32$0 = 0, $117_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 1; + label$1 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = 24; + if (!(((HEAPU8[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $16_1 | 0) >> $16_1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!(((HEAPU8[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $36_1 = 24; + label$4 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $36_1 | 0) >> $36_1 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 24) | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if ((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 7; + break label$5; + } + $3289(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 24) | 0) | 0; + label$7 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$10 : { + if (!($2184($5_1 + 16 | 0 | 0, $5_1 + 8 | 0 | 0) | 0)) { + break label$10 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$5; + } + label$11 : { + label$12 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$12 + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + -1 | 0; + break label$11; + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 24) | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + } + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $117_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $117_1 | 0; + } + + function $2178($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $28_1 = 0, $32_1 = 0, $35_1 = 0, $39_1 = 0, $43_1 = 0, $51_1 = 0, $52_1 = 0, $56_1 = 0, $60_1 = 0, $76_1 = 0, $79_1 = 0, $83_1 = 0, $110_1 = 0, $119_1 = 0, $134_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($4_1 + 11 | 0) >> 0] = HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0; + $16_1 = HEAP8[($4_1 + 11 | 0) >> 0] | 0; + label$4 : { + label$5 : { + label$6 : { + label$7 : { + label$8 : { + if (!$16_1) { + break label$8 + } + if (($16_1 | 0) == (34 | 0)) { + break label$7 + } + if (($16_1 | 0) == (39 | 0)) { + break label$7 + } + if (($16_1 | 0) == (91 | 0)) { + break label$6 + } + if (($16_1 | 0) == (96 | 0)) { + break label$7 + } + break label$5; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + label$9 : while (1) { + $28_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $28_1 + 1 | 0; + $32_1 = 24; + $35_1 = 0; + label$10 : { + if (!(((HEAPU8[($28_1 + 1 | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0)) { + break label$10 + } + $39_1 = 24; + $43_1 = 24; + $51_1 = 1; + label$11 : { + if ((((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0 | 0) != (((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) << $43_1 | 0) >> $43_1 | 0 | 0) & 1 | 0) { + break label$11 + } + $52_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $52_1 + 1 | 0; + $56_1 = 24; + $60_1 = 24; + $51_1 = (((HEAPU8[($52_1 + 1 | 0) >> 0] | 0) << $56_1 | 0) >> $56_1 | 0 | 0) == (((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) << $60_1 | 0) >> $60_1 | 0 | 0); + } + $35_1 = $51_1; + } + label$12 : { + if (!($35_1 & 1 | 0)) { + break label$12 + } + continue label$9; + } + break label$9; + }; + break label$4; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + label$13 : while (1) { + $76_1 = 24; + $79_1 = 0; + label$14 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $76_1 | 0) >> $76_1 | 0)) { + break label$14 + } + $83_1 = 24; + $79_1 = (((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $83_1 | 0) >> $83_1 | 0 | 0) != (93 | 0); + } + label$15 : { + if (!($79_1 & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + } + break label$13; + }; + label$16 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + break label$4; + } + $110_1 = 24; + label$17 : { + label$18 : { + if (!($2173(((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $110_1 | 0) >> $110_1 | 0 | 0) | 0)) { + break label$18 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + label$19 : { + label$20 : while (1) { + $119_1 = 24; + if (!($2173(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $119_1 | 0) >> $119_1 | 0 | 0) | 0)) { + break label$19 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + break label$17; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + } + continue label$3; + }; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $134_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $134_1 | 0; + } + + function $2179($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $23_1 = 0, $129_1 = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $62_1 = 0, $84_1 = 0, $108_1 = 0, $117_1 = 0, $119_1 = 0, $149_1 = 0; + $5_1 = global$0 - 96 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if ((HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + HEAP32[($5_1 + 72 | 0) >> 2] = 1352; + break label$3; + } + $23_1 = $2185(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $23_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $23_1; + } + $2186(HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0, $5_1 + 80 | 0 | 0, 48838 | 0, 0 | 0); + HEAP32[($5_1 + 68 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $38_1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $39_1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + $40_1 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $40_1; + HEAP32[$5_1 >> 2] = $39_1; + $2186($38_1 | 0, $5_1 + 80 | 0 | 0, 48844 | 0, $5_1 | 0); + HEAP32[($5_1 + 68 | 0) >> 2] = (HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$7 : { + if (!((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $62_1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = 48866; + $2186($62_1 | 0, $5_1 + 80 | 0 | 0, 48859 | 0, $5_1 + 32 | 0 | 0); + } + $42(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + break label$1; + } + $2186(HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0, $5_1 + 80 | 0 | 0, 14175 | 0, 0 | 0); + HEAP32[($5_1 + 68 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $84_1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $2186($84_1 | 0, $5_1 + 80 | 0 | 0, 48873 | 0, $5_1 + 48 | 0 | 0); + HEAP32[($5_1 + 68 | 0) >> 2] = (HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $108_1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $2186($108_1 | 0, $5_1 + 80 | 0 | 0, 48859 | 0, $5_1 + 64 | 0 | 0); + } + } + $117_1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $119_1 = HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$11 : { + label$12 : { + if (!((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $129_1 = HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$11; + } + $129_1 = HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 1352 : 48905; + HEAP32[($5_1 + 20 | 0) >> 2] = $129_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $119_1; + $2186($117_1 | 0, $5_1 + 80 | 0 | 0, 48882 | 0, $5_1 + 16 | 0 | 0); + $149_1 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + global$0 = $5_1 + 96 | 0; + return $149_1 | 0; + } + + function $2180($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $15_1 = 0, $30_1 = 0, $52_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 1352; + break label$1; + } + $15_1 = $2185(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $15_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $15_1; + } + $2186(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0, 5232 | 0, 0 | 0); + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $30_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $2186($30_1 | 0, $5_1 + 16 | 0 | 0, 48914 | 0, $5_1 | 0); + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $2186(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0, 48921 | 0, 0 | 0); + } + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $52_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $52_1 | 0; + } + + function $2181($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $28_1 = 0, $45_1 = 0, $46_1 = 0, $67_1 = 0, $81_1 = 0, $83_1 = 0, $85_1 = 0, $93_1 = 0, $95_1 = 0, $103_1 = 0, $105_1 = 0, $123_1 = 0, $125_1 = 0, $147_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 128 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 120 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == ($4_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $79(48925 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 116 | 0) >> 2] = 0; + label$2 : while (1) { + $28_1 = 0; + label$3 : { + if (!((HEAP32[($3_1 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $28_1 = (HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($28_1 & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $45_1 = HEAP32[($3_1 + 104 | 0) >> 2] | 0; + $46_1 = HEAP32[($3_1 + 116 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 100 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $46_1; + HEAP32[$3_1 >> 2] = $45_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $79(48951 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 116 | 0) >> 2] = (HEAP32[($3_1 + 116 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + label$5 : { + if (!((HEAP32[($3_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($3_1 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $67_1 = HEAP32[($3_1 + 104 | 0) >> 2] | 0; + HEAP32[($3_1 + 84 | 0) >> 2] = HEAP32[($3_1 + 108 | 0) >> 2] | 0; + HEAP32[($3_1 + 80 | 0) >> 2] = $67_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $79(48963 | 0, $3_1 + 80 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (!((HEAP32[($3_1 + 104 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 120 | 0) >> 2] = 7; + } + $81_1 = HEAP32[($3_1 + 112 | 0) >> 2] | 0; + $83_1 = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $85_1 = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 72 | 0) >> 2] = HEAP32[($3_1 + 104 | 0) >> 2] | 0; + HEAP32[($3_1 + 68 | 0) >> 2] = $85_1; + HEAP32[($3_1 + 64 | 0) >> 2] = $83_1; + $2141($3_1 + 120 | 0 | 0, $81_1 | 0, 48974 | 0, $3_1 + 64 | 0 | 0); + $42(HEAP32[($3_1 + 104 | 0) >> 2] | 0 | 0); + } + $93_1 = HEAP32[($3_1 + 112 | 0) >> 2] | 0; + $95_1 = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 32 | 0) >> 2] = $95_1; + $2141($3_1 + 120 | 0 | 0, $93_1 | 0, 49007 | 0, $3_1 + 32 | 0 | 0); + $103_1 = HEAP32[($3_1 + 112 | 0) >> 2] | 0; + $105_1 = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 48 | 0) >> 2] = $105_1; + $2141($3_1 + 120 | 0 | 0, $103_1 | 0, 49079 | 0, $3_1 + 48 | 0 | 0); + label$7 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 238 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + $123_1 = HEAP32[($3_1 + 112 | 0) >> 2] | 0; + $125_1 = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $125_1; + $2141($3_1 + 120 | 0 | 0, $123_1 | 0, 49232 | 0, $3_1 + 16 | 0 | 0); + } + label$8 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 237 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + $2187($3_1 + 120 | 0 | 0, HEAP32[($3_1 + 124 | 0) >> 2] | 0 | 0); + } + $147_1 = HEAP32[($3_1 + 120 | 0) >> 2] | 0; + global$0 = $3_1 + 128 | 0; + return $147_1 | 0; + } + + function $2182($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + if (HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79(49377 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 7; + break label$2; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $405(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0, $4_1 + 12 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$5 + } + $287(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $32_1 = $317(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 244 | 0) >> 2] = $32_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $213(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + label$6 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (23 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 244 | 0) >> 2] = 1024; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + } + } + } + $42(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $2183($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $22_1 = 0, $41_1 = 0, $21_1 = 0, $51_1 = 0, $64_1 = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + label$1 : { + if (HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $17_1 = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + break label$2; + } + $17_1 = 49397; + } + HEAP32[($4_1 + 52 | 0) >> 2] = $17_1; + $21_1 = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $22_1 = 1; + HEAP32[($4_1 + 32 | 0) >> 2] = $22_1; + $426($21_1 | 0, $22_1 | 0, $4_1 + 32 | 0 | 0) | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79(49406 | 0, $4_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 68 | 0) >> 2] = 1; + label$4 : while (1) { + $41_1 = 0; + label$5 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $41_1 = (HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (!($41_1 & 1 | 0)) { + break label$6 + } + $51_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $51_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79(49411 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + $64_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + $66_1 = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $66_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $64_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79(49418 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + if ((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + } + HEAP32[($4_1 + 64 | 0) >> 2] = 7; + break label$7; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $414(HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + $42(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + } + global$0 = $4_1 + 80 | 0; + return; + } + + function $2184($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $26_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 1e7; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2188(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, $4_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) > ($5_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + label$2 : { + label$3 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$2; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $26_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[$26_1 >> 2] = (HEAP32[$26_1 >> 2] | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $29_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $29_1 | 0; + } + + function $2185($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $24_1 = 0, $44_1 = 0, $53_1 = 0, $60_1 = 0, $68_1 = 0, $71_1 = 0, $103_1 = 0, $59_1 = 0, $74_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$1 = ((($3303(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0) << 1 | 0) + 2 | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $103_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $103_1; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $24_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $24_1 + 1 | 0; + HEAP8[$24_1 >> 0] = 34; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $44_1 = 24; + label$4 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $44_1 | 0) >> $44_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$4 + } + $53_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $53_1 + 1 | 0; + HEAP8[$53_1 >> 0] = 34; + } + $59_1 = HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0; + $60_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $60_1 + 1 | 0; + HEAP8[$60_1 >> 0] = $59_1; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $68_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $68_1 + 1 | 0; + HEAP8[$68_1 >> 0] = 34; + $71_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $71_1 + 1 | 0; + HEAP8[$71_1 >> 0] = 0; + } + $74_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $74_1 | 0; + } + + function $2186($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $78(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $31_1 = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $31_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(27033 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 7; + } + $42(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2187($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $7_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $7_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $9_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $9_1; + $2141($5_1 | 0, $7_1 | 0, 49300 | 0, $4_1 | 0); + label$1 : { + if (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 237 | 0) >> 0] = 1; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2188($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $57$hi = 0, $12_1 = 0, $20_1 = 0, $26_1 = 0, $58$hi = 0, $59$hi = 0, $60$hi = 0, $39_1 = 0, $61$hi = 0, i64toi32_i32$4 = 0, $64$hi = 0, $57_1 = 0, $22_1 = 0, $60_1 = 0, $159_1 = 0; + $4_1 = global$0 - 32 | 0; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + $12_1 = 24; + $20_1 = 0; + label$3 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $12_1 | 0) >> $12_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$3 + } + $26_1 = 24; + $20_1 = (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $26_1 | 0) >> $26_1 | 0 | 0) <= (57 | 0); + } + label$4 : { + if (!($20_1 & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $57_1 = 2147483647; + $57$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $58$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $59$hi = i64toi32_i32$1; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$1 = $58$hi; + $22_1 = i64toi32_i32$0; + i64toi32_i32$0 = $59$hi; + i64toi32_i32$0 = __wasm_i64_mul($22_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $60_1 = i64toi32_i32$0; + $60$hi = i64toi32_i32$1; + $39_1 = 24; + i64toi32_i32$0 = (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0) - 48 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $61$hi = i64toi32_i32$1; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$1 = $61$hi; + $159_1 = i64toi32_i32$0; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$2 = $60_1; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$3 = $159_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $64$hi = i64toi32_i32$2; + i64toi32_i32$2 = $57$hi; + i64toi32_i32$2 = $64$hi; + i64toi32_i32$2 = $57$hi; + i64toi32_i32$2 = $64$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$3 = $57_1; + label$5 : { + if (!((i64toi32_i32$2 >>> 0 > i64toi32_i32$5 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2189($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 220 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $222(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] = 0; + } + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2190($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $2193(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2191($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] = 0; + label$2 : { + if ((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2192($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0, $23_1 = 0, $44_1 = 0, $91_1 = 0, $101_1 = 0, $122_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : while (1) { + $13_1 = 0; + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $23_1 = 1; + label$3 : { + if ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + $23_1 = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0); + } + $13_1 = $23_1; + } + label$4 : { + if (!($13_1 & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $44_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$5; + } + $44_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = $44_1; + continue label$1; + } + break label$1; + }; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $2194(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + label$9 : { + label$10 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$11 : while (1) { + $91_1 = 0; + label$12 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $101_1 = 1; + label$13 : { + if ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$13 + } + $101_1 = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0); + } + $91_1 = $101_1; + } + label$14 : { + if (!($91_1 & 1 | 0)) { + break label$14 + } + label$15 : { + label$16 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $122_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$15; + } + $122_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = $122_1; + continue label$11; + } + break label$11; + }; + break label$9; + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + continue label$8; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2193($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2194($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2195(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2195($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $53_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $42(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + $2196(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $15_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $53_1 = 0; + i64toi32_i32$1 = $15_1; + HEAP32[i64toi32_i32$1 >> 2] = $53_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $53_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $15_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $53_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $15_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $53_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $15_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $53_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2197(HEAP32[((((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 24) | 0) + 20 | 0) >> 2] | 0 | 0); + HEAP32[((((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 24) | 0) + 20 | 0) >> 2] = 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2196($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$1 + } + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + } + $8_1 = 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = $8_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = $8_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = $8_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2197($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2054(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2198($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $65_1 = 0, $15_1 = 0, $37_1 = 0, $62_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11_1 = global$0 - 96 | 0; + global$0 = $11_1; + $15_1 = $11_1 + 8 | 0; + HEAP32[($11_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 72 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 68 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 64 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 60 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 56 | 0) >> 2] = $8_1; + i64toi32_i32$0 = 0; + $65_1 = 0; + i64toi32_i32$1 = $15_1; + HEAP32[i64toi32_i32$1 >> 2] = $65_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $65_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $15_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $65_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $15_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $65_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($11_1 + 8 | 0) >> 2] = HEAP32[($11_1 + 88 | 0) >> 2] | 0; + HEAP32[($11_1 + 12 | 0) >> 2] = HEAP32[($11_1 + 84 | 0) >> 2] | 0; + HEAP32[($11_1 + 16 | 0) >> 2] = HEAP32[($11_1 + 80 | 0) >> 2] | 0; + HEAP32[($11_1 + 24 | 0) >> 2] = HEAP32[($11_1 + 72 | 0) >> 2] | 0; + HEAP32[($11_1 + 28 | 0) >> 2] = HEAP32[($11_1 + 68 | 0) >> 2] | 0; + HEAP32[($11_1 + 20 | 0) >> 2] = HEAP32[($11_1 + 76 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $37_1 = 0; + HEAP32[(HEAP32[($11_1 + 56 | 0) >> 2] | 0) >> 2] = $37_1; + HEAP32[($11_1 + 92 | 0) >> 2] = $37_1; + break label$1; + } + label$3 : { + if (!((HEAP32[($11_1 + 60 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $3303(HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2205($11_1 + 8 | 0 | 0, HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0, $11_1 + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($11_1 + 48 | 0) >> 2] | 0) { + break label$4 + } + if (!(HEAP32[($11_1 + 40 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($11_1 + 48 | 0) >> 2] = 1; + } + HEAP32[($11_1 + 92 | 0) >> 2] = HEAP32[($11_1 + 48 | 0) >> 2] | 0; + } + $62_1 = HEAP32[($11_1 + 92 | 0) >> 2] | 0; + global$0 = $11_1 + 96 | 0; + return $62_1 | 0; + } + + function $2199($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $290_1 = 0, $5_1 = 0, $57_1 = 0, $87_1 = 0, $115_1 = 0, $193_1 = 0, $270_1 = 0, i64toi32_i32$0 = 0, $327_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 48 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (HEAP32[($4_1 + 56 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($4_1 + 52 | 0) >> 2] = 1; + } + label$2 : { + if (HEAP32[($4_1 + 52 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$4 + } + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41((HEAP32[($4_1 + 56 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((0 | 0) == (HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 52 | 0) >> 2] = 7; + break label$6; + } + $3289(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + } + label$8 : { + if (HEAP32[($4_1 + 52 | 0) >> 2] | 0) { + break label$8 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$10; + }; + } + label$11 : while (1) { + $57_1 = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = $57_1; + label$12 : { + label$13 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != ($57_1 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + break label$12; + } + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2199($4_1 + 28 | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + label$15 : { + if (!(HEAP32[($4_1 + 52 | 0) >> 2] | 0)) { + break label$15 + } + break label$14; + } + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + label$16 : while (1) { + $87_1 = 0; + label$17 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + $87_1 = (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0); + } + label$18 : { + if (!($87_1 & 1 | 0)) { + break label$18 + } + label$19 : { + label$20 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$19; + } + $115_1 = 0; + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = $115_1; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $115_1; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + } + break label$16; + }; + label$21 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + $2192(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 52 | 0) >> 2] = 18; + break label$14; + } + label$22 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$22 + } + break label$14; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$24; + }; + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$25 : { + label$26 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$25; + } + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + continue label$11; + } + break label$11; + }; + label$27 : { + label$28 : { + if (HEAP32[($4_1 + 52 | 0) >> 2] | 0) { + break label$28 + } + $193_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $193_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $193_1; + label$29 : { + label$30 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + label$31 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$31 + } + label$32 : { + label$33 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + break label$32; + } + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$30; + }; + } + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + break label$27; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + label$34 : { + label$35 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$34 + } + $2192(HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$35; + }; + } + label$36 : { + label$37 : while (1) { + $270_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $270_1; + if (!(($270_1 | 0) != (0 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $42(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + continue label$37; + }; + } + } + $42(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + } + break label$3; + } + label$38 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$38 + } + $290_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] = $290_1; + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] = $290_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $290_1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $290_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2199($4_1 + 12 | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$39 : { + if (HEAP32[($4_1 + 52 | 0) >> 2] | 0) { + break label$39 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2199($4_1 + 8 | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + label$40 : { + label$41 : { + if (!(HEAP32[($4_1 + 52 | 0) >> 2] | 0)) { + break label$41 + } + $2192(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $2192(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + break label$40; + } + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + } + } + } + } + label$42 : { + if (!(HEAP32[($4_1 + 52 | 0) >> 2] | 0)) { + break label$42 + } + $2192(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + $327_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $327_1 | 0; + } + + function $2200($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 18; + break label$2; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2200(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2200(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + } + $33_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $33_1 | 0; + } + + function $2201($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $36_1 = 0, $82_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + label$1 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((0 | 0) == (HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + $36_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[$36_1 >> 2] = (HEAP32[$36_1 >> 2] | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 16 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($7_1 + 24 | 0) >> 2] | 0, 24) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2215(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($7_1 + 12 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 44 | 0) >> 2] = -1; + break label$2; + } + $82_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[$82_1 >> 2] = (HEAP32[$82_1 >> 2] | 0) + ((HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0) | 0; + $2201(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + $2201(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + } + } + global$0 = $7_1 + 48 | 0; + return; + } + + function $2202($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $25_1 = 0, $35_1 = 0, $36_1 = 0, $89_1 = 0, $113_1 = 0, $63_1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $5_1; + label$1 : { + if (HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = 0; + label$4 : while (1) { + $25_1 = 0; + label$5 : { + if (HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] | 0) { + break label$5 + } + $25_1 = (HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (!($25_1 & 1 | 0)) { + break label$6 + } + $35_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + $36_1 = HEAP32[$35_1 >> 2] | 0; + HEAP32[$35_1 >> 2] = $36_1 + 24 | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = $36_1; + HEAP32[(HEAP32[($8_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = ((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($8_1 + 16 | 0) >> 2] | 0, 24) | 0; + HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + $63_1 = $2216(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] = $63_1; + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + break label$2; + } + label$7 : { + if (!((HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($8_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + $89_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[$89_1 >> 2] = (HEAP32[$89_1 >> 2] | 0) + 4 | 0; + } + $2202(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + label$9 : { + if (!((HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($8_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[(HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + $113_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[$113_1 >> 2] = (HEAP32[$113_1 >> 2] | 0) + 4 | 0; + } + $2202(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + } + } + } + global$0 = $8_1 + 48 | 0; + return; + } + + function $2203($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $76_1 = 0, $85_1 = 0, $212_1 = 0, $252_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((HEAP32[(((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 24) | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (HEAP32[(((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 24) | 0) + 16 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$6 : { + label$7 : { + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$7 + } + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2217(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, $6_1 + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + label$8 : while (1) { + $76_1 = 0; + label$9 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $76_1 = (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$10 : { + if (!($76_1 & 1 | 0)) { + break label$10 + } + $85_1 = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = $85_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $85_1; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + if (!((HEAP32[(((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 24) | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + if (!((HEAP32[(((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 24) | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[(((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 24) | 0) + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 24) | 0; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + label$15 : { + label$16 : { + if (!(HEAP32[($6_1 + 44 | 0) >> 2] | 0)) { + break label$16 + } + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) >= (Math_imul((((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) / (4 | 0) | 0) | 0) - 1 | 0 | 0) / ((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) / (4 | 0) | 0 | 0) | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2218(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $2197(HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = 0; + break label$15; + } + label$17 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (12 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0; + } + label$18 : { + label$19 : { + if (!(HEAP32[($6_1 + 44 | 0) >> 2] | 0)) { + break label$19 + } + if (!((HEAP32[((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$18 + } + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) != ((HEAP32[($6_1 + 36 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$18 + } + } + $212_1 = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $212_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $212_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2219(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0, $6_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (HEAP32[($6_1 + 48 | 0) >> 2] | 0) { + break label$20 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2220(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + label$21 : { + if (HEAP32[($6_1 + 48 | 0) >> 2] | 0) { + break label$21 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2221(HEAP32[(HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$22 : { + label$23 : { + if (!(HEAP32[($6_1 + 44 | 0) >> 2] | 0)) { + break label$23 + } + if (!((HEAP32[$6_1 >> 2] | 0 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + } + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + } + } + } + } + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + } + break label$8; + }; + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + } + $252_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $252_1 | 0; + } + + function $2204($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $87_1 = 0, $71_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((0 | 0) == (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + label$4 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (!((HEAP32[((((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 24) | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$5; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 34 | 0) >> 0] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0; + } + $71_1 = $2222(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $71_1; + break label$2; + } + $2204(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + $2204(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + $87_1 = 0; + label$8 : { + if (!((HEAPU8[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 34 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + $87_1 = ((HEAPU8[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 34 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 34 | 0) >> 0] = $87_1 & 1 | 0; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2205($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $9_1 = 0, $19_1 = 0, $42_1 = 0, i64toi32_i32$0 = 0, $185_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + $9_1 = 0; + HEAP32[($7_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 32 | 0) >> 2] = 1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (HEAP32[($7_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + $19_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $19_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $19_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2206(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $7_1 + 28 | 0 | 0, $7_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($7_1 + 36 | 0) >> 2] | 0) { + break label$4 + } + label$5 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $42_1 = 1; + label$6 : { + if ((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0) { + break label$6 + } + $42_1 = (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0); + } + HEAP32[($7_1 + 20 | 0) >> 2] = $42_1 & 1 | 0; + label$7 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$7 + } + if (!(HEAP32[($7_1 + 32 | 0) >> 2] | 0)) { + break label$7 + } + $2192(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 36 | 0) >> 2] = 1; + break label$1; + } + label$8 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$8 + } + if (HEAP32[($7_1 + 32 | 0) >> 2] | 0) { + break label$8 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2207(48 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if ((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + $2192(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 36 | 0) >> 2] = 7; + break label$1; + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = 3; + $2208($7_1 + 56 | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + label$10 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + label$12 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$12 + } + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$12 + } + if ((HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0) { + break label$11 + } + } + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$10 + } + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$10 + } + if (!((HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$10 + } + } + $2192(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 36 | 0) >> 2] = 1; + break label$1; + } + label$13 : { + label$14 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$14 + } + label$15 : { + label$16 : { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + break label$15; + } + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + } + break label$13; + } + $2208($7_1 + 56 | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 32 | 0) >> 2] = ((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + } + } + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) - (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0; + continue label$3; + }; + } + label$17 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$17 + } + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + if (!(HEAP32[($7_1 + 32 | 0) >> 2] | 0)) { + break label$17 + } + HEAP32[($7_1 + 36 | 0) >> 2] = 1; + } + label$18 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = (HEAP32[($7_1 + 68 | 0) >> 2] | 0) - (HEAP32[($7_1 + 44 | 0) >> 2] | 0) | 0; + } + label$19 : { + if (!(HEAP32[($7_1 + 36 | 0) >> 2] | 0)) { + break label$19 + } + $2192(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0); + $2192(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 56 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + $185_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $185_1 | 0; + } + + function $2206($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $20_1 = 0, $24_1 = 0, $103_1 = 0, $114_1 = 0, $125_1 = 0, $151_1 = 0, $157_1 = 0, $167_1 = 0, $177_1 = 0, $186_1 = 0, $220_1 = 0, $237_1 = 0, $243_1 = 0, $283_1 = 0, $295_1 = 0, $320_1 = 0, $330_1 = 0, $341_1 = 0, $373_1 = 0, $408_1 = 0, $143_1 = 0, i64toi32_i32$0 = 0, $412_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 2] = $8_1; + label$1 : while (1) { + $20_1 = 0; + label$2 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $24_1 = 24; + $20_1 = ($2209(((HEAPU8[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0 | 0) | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($20_1 & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$4 : { + label$5 : { + if (HEAP32[($7_1 + 28 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 101; + break label$4; + } + HEAP32[($7_1 + 52 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 24 | 0) >> 2] = 49856 + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 3 | 0) | 0; + label$8 : { + label$9 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & -2 | 0)) { + break label$9 + } + break label$8; + } + label$10 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) >= ((HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + if (!((0 | 0) == ($3228(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 10; + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0; + label$11 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$11 + } + $103_1 = 24; + label$12 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) << $103_1 | 0) >> $103_1 | 0 | 0) == (47 | 0) & 1 | 0)) { + break label$12 + } + $114_1 = 24; + if (!((((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) << $114_1 | 0) >> $114_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$12 + } + $125_1 = 24; + if (!((((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) << $125_1 | 0) >> $125_1 | 0 | 0) <= (57 | 0) & 1 | 0)) { + break label$12 + } + $143_1 = ($2188((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 1 | 0) | 0 | 0, $7_1 + 20 | 0 | 0) | 0) + 1 | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + $143_1 | 0; + } + } + HEAP8[($7_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0; + $151_1 = 24; + label$13 : { + label$14 : { + if ($2209(((HEAPU8[($7_1 + 15 | 0) >> 0] | 0) << $151_1 | 0) >> $151_1 | 0 | 0) | 0) { + break label$14 + } + $157_1 = 24; + if ((((HEAPU8[($7_1 + 15 | 0) >> 0] | 0) << $157_1 | 0) >> $157_1 | 0 | 0) == (34 | 0) & 1 | 0) { + break label$14 + } + $167_1 = 24; + if ((((HEAPU8[($7_1 + 15 | 0) >> 0] | 0) << $167_1 | 0) >> $167_1 | 0 | 0) == (40 | 0) & 1 | 0) { + break label$14 + } + $177_1 = 24; + if ((((HEAPU8[($7_1 + 15 | 0) >> 0] | 0) << $177_1 | 0) >> $177_1 | 0 | 0) == (41 | 0) & 1 | 0) { + break label$14 + } + $186_1 = 24; + if (((HEAPU8[($7_1 + 15 | 0) >> 0] | 0) << $186_1 | 0) >> $186_1 | 0) { + break label$13 + } + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2207(48 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if ((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$15 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 7; + break label$4; + } + HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0) + (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$4; + } + } + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + $220_1 = 24; + label$16 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $220_1 | 0) >> $220_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($7_1 + 52 | 0) >> 2] = 1; + label$17 : while (1) { + $237_1 = 0; + label$18 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $243_1 = 24; + $237_1 = (((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0) >> 0] | 0) << $243_1 | 0) >> $243_1 | 0 | 0) != (34 | 0); + } + label$19 : { + if (!($237_1 & 1 | 0)) { + break label$19 + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + } + break label$17; + }; + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = (((HEAP32[($7_1 + 32 | 0) >> 2] | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0) + 1 | 0; + label$20 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 1; + break label$4; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2210(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($7_1 + 52 | 0) >> 2] | 0) - 1 | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + $283_1 = 24; + label$21 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $283_1 | 0) >> $283_1 | 0 | 0) == (40 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + $295_1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + HEAP32[($295_1 + 32 | 0) >> 2] = (HEAP32[($295_1 + 32 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2205(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($7_1 + 28 | 0) >> 2] | 0) - 1 | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, $7_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = (((HEAP32[($7_1 + 32 | 0) >> 2] | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0) + 1 | 0) + (HEAP32[($7_1 + 8 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + break label$4; + } + $320_1 = 24; + label$22 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $320_1 | 0) >> $320_1 | 0 | 0) == (41 | 0) & 1 | 0)) { + break label$22 + } + $330_1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + HEAP32[($330_1 + 32 | 0) >> 2] = (HEAP32[($330_1 + 32 | 0) >> 2] | 0) + -1 | 0; + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0) + 1 | 0; + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 101; + break label$4; + } + $341_1 = 0; + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = $341_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $341_1; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3303(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$25 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) > (HEAP32[$7_1 >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + $373_1 = 24; + if (!((((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[$7_1 >> 2] | 0) | 0) >> 0] | 0) << $373_1 | 0) >> $373_1 | 0 | 0) == (58 | 0) & 1 | 0)) { + break label$25 + } + if ($89(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[$7_1 >> 2] | 0 | 0) | 0) { + break label$25 + } + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = (((HEAP32[($7_1 + 32 | 0) >> 2] | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0) + (HEAP32[$7_1 >> 2] | 0) | 0) + 1 | 0; + break label$23; + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$24; + }; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2211(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + (HEAP32[($7_1 + 44 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($7_1 + 64 | 0) >> 2] | 0) - (HEAP32[($7_1 + 44 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $408_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[$408_1 >> 2] = (HEAP32[$408_1 >> 2] | 0) + (HEAP32[($7_1 + 44 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + } + $412_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $412_1 | 0; + } + + function $2207($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $3289(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + } + $15_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $15_1 | 0; + } + + function $2208($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + label$1 : while (1) { + $16_1 = 0; + label$2 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = ($2212(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0 | 0) <= ($2212(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0); + } + label$3 : { + if (!($16_1 & 1 | 0)) { + break label$3 + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$4; + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return; + } + + function $2209($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0, $7_1 = 0, $19_1 = 0, $30_1 = 0, $41_1 = 0, $52_1 = 0, $62_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP8[($3_1 + 15 | 0) >> 0] = $0_1; + $7_1 = 24; + $15_1 = 1; + label$1 : { + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0 | 0) == (32 | 0) & 1 | 0) { + break label$1 + } + $19_1 = 24; + $15_1 = 1; + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) == (9 | 0) & 1 | 0) { + break label$1 + } + $30_1 = 24; + $15_1 = 1; + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) == (10 | 0) & 1 | 0) { + break label$1 + } + $41_1 = 24; + $15_1 = 1; + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $41_1 | 0) >> $41_1 | 0 | 0) == (13 | 0) & 1 | 0) { + break label$1 + } + $52_1 = 24; + $15_1 = 1; + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $52_1 | 0) >> $52_1 | 0 | 0) == (11 | 0) & 1 | 0) { + break label$1 + } + $62_1 = 24; + $15_1 = (((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) == (12 | 0); + } + return $15_1 & 1 | 0 | 0; + } + + function $2210($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $10_1 = 0, $40_1 = 0, $280_1 = 0, $84_1 = 0, $106_1 = 0, $112_1 = 0, $130_1 = 0, $138_1 = 0, $165_1 = 0, $275_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + $10_1 = 0; + HEAP32[($6_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $10_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $10_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $10_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $10_1; + HEAP32[($6_1 + 44 | 0) >> 2] = 144; + HEAP32[($6_1 + 40 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2213(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0, $6_1 + 56 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($6_1 + 36 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$4 + } + $40_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $40_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $40_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $40_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $40_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 56 | 0) >> 2] | 0, $6_1 + 32 | 0, $6_1 + 28 | 0, $6_1 + 24 | 0, $6_1 + 20 | 0, $6_1 + 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2214(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($6_1 + 36 | 0) >> 2] | 0, 24) + 144 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if ((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + break label$2; + } + i64toi32_i32$1 = (HEAP32[($6_1 + 48 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2214(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if ((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + break label$2; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 48 | 0) + 72 | 0) + Math_imul(HEAP32[($6_1 + 36 | 0) >> 2] | 0, 24) | 0; + $84_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $280_1 = 0; + i64toi32_i32$1 = $84_1; + HEAP32[i64toi32_i32$1 >> 2] = $280_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $280_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $84_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $280_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $3288((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + (HEAP32[($6_1 + 48 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = (HEAP32[($6_1 + 48 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $106_1 = 0; + label$9 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $112_1 = 24; + $106_1 = (((HEAPU8[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $112_1 | 0) >> $112_1 | 0 | 0) == (42 | 0); + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $106_1 & 1 | 0; + $130_1 = 0; + label$10 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$10 + } + $138_1 = 24; + $130_1 = (((HEAPU8[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $138_1 | 0) >> $138_1 | 0 | 0) == (94 | 0); + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $130_1 & 1 | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 56 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 56 | 0) >> 2] = 0; + } + label$11 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$11 + } + $165_1 = 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $165_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2214(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, (Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 24) + 144 | 0) + (HEAP32[($6_1 + 48 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if ((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) != ($165_1 | 0) & 1 | 0) { + break label$12 + } + break label$2; + } + $3289(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, 0 | 0, (((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 48 | 0) + 72 | 0) - (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 60 | 0) >> 2] | 0) >> 2] = 5; + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 48 | 0; + HEAP32[((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = ((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 24) | 0; + label$13 : { + label$14 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + $3288(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0; + $42(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0); + break label$13; + } + } + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[(((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($6_1 + 8 | 0) >> 2] | 0, 24) | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + (HEAP32[((((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($6_1 + 8 | 0) >> 2] | 0, 24) | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + HEAP32[($6_1 + 64 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + HEAP32[($6_1 + 92 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + break label$1; + } + label$17 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 56 | 0) >> 2] | 0) | 0; + } + $42(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0); + $42(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($6_1 + 92 | 0) >> 2] = 7; + } + $275_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + global$0 = $6_1 + 96 | 0; + return $275_1 | 0; + } + + function $2211($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $90_1 = 0, $9_1 = 0, i64toi32_i32$0 = 0, $26_1 = 0, $39_1 = 0, $52_1 = 0, i64toi32_i32$1 = 0, $147_1 = 0, $177_1 = 0, $207_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 52 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $9_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = 24; + label$3 : { + label$4 : { + if ((((HEAPU8[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + (HEAP32[($8_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) << $26_1 | 0) >> $26_1 | 0 | 0) == (40 | 0) & 1 | 0) { + break label$4 + } + $39_1 = 24; + if (!((((HEAPU8[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + (HEAP32[($8_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0 | 0) == (41 | 0) & 1 | 0)) { + break label$3 + } + } + break label$1; + } + $52_1 = 24; + label$5 : { + if (!((((HEAPU8[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + (HEAP32[($8_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) << $52_1 | 0) >> $52_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + HEAP32[($8_1 + 32 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2213(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, $8_1 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($8_1 + 44 | 0) >> 2] | 0) { + break label$6 + } + $90_1 = 0; + HEAP32[($8_1 + 24 | 0) >> 2] = $90_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $90_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $90_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $90_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 40 | 0) >> 2] | 0, $8_1 + 28 | 0, $8_1 + 24 | 0, $8_1 + 20 | 0, $8_1 + 16 | 0, $8_1 + 12 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (HEAP32[($8_1 + 44 | 0) >> 2] | 0) { + break label$8 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[$8_1 >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 144 | 0; + HEAP32[($8_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[$8_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2207(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + label$10 : { + if ((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + HEAP32[($8_1 + 44 | 0) >> 2] = 7; + break label$9; + } + HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] = 5; + HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 48 | 0; + HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] = 1; + HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 96 | 0; + $3288(HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0; + label$11 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $147_1 = 24; + if (!((((HEAPU8[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + (HEAP32[($8_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) << $147_1 | 0) >> $147_1 | 0 | 0) == (42 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 80 | 0) >> 2] = 1; + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + label$12 : { + label$13 : while (1) { + label$14 : { + label$15 : { + if (!(HEAP32[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$15 + } + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$15 + } + $177_1 = 24; + if (!((((HEAPU8[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 20 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $177_1 | 0) >> $177_1 | 0 | 0) == (94 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 84 | 0) >> 2] = 1; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) + -1 | 0; + break label$14; + } + break label$12; + } + continue label$13; + }; + } + } + HEAP32[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + break label$7; + } + label$16 : { + if (!(HEAP32[($8_1 + 32 | 0) >> 2] | 0)) { + break label$16 + } + if (!((HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($8_1 + 44 | 0) >> 2] = 0; + } + } + FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 40 | 0) >> 2] | 0) | 0; + } + HEAP32[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $207_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + global$0 = $8_1 + 80 | 0; + return $207_1 | 0; + } + + function $2212($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0; + } + + function $2213($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $43_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 28 | 0) >> 2] | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0, $7_1 + 4 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[$7_1 >> 2] | 0) { + break label$1 + } + HEAP32[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) >= (1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 4 | 0) >> 2] | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[$7_1 >> 2] | 0)) { + break label$3 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 4 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = 0; + } + } + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + $43_1 = HEAP32[$7_1 >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $43_1 | 0; + } + + function $2214($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $49(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + $42(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + $15_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $15_1 | 0; + } + + function $2215($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $114_1 = 0, $25_1 = 0, $48_1 = 0, $50_1 = 0, $66_1 = 0, $92_1 = 0, $135_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 20 | 0) >> 2] = 7; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $38(56 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$2 : { + if (!(HEAP32[($7_1 + 32 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($7_1 + 16 | 0) >> 2] = 1; + label$3 : while (1) { + $25_1 = 0; + label$4 : { + if (HEAP32[($7_1 + 12 | 0) >> 2] | 0) { + break label$4 + } + $25_1 = (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0); + } + label$5 : { + if (!($25_1 & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 16 | 0) >> 2] | 0, 24) | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $48_1 = 1; + $50_1 = 0; + HEAP32[($7_1 + 12 | 0) >> 2] = $48_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2056(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, -2 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $50_1 | 0, $50_1 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] = $48_1; + } + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + HEAP32[($7_1 + 16 | 0) >> 2] = 1; + label$7 : while (1) { + $66_1 = 0; + label$8 : { + if (HEAP32[($7_1 + 12 | 0) >> 2] | 0) { + break label$8 + } + $66_1 = (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0); + } + label$9 : { + if (!($66_1 & 1 | 0)) { + break label$9 + } + label$10 : { + if (!((HEAP32[((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 16 | 0) >> 2] | 0, 24) | 0) >> 2] | 0 | 0) == ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$10 + } + $92_1 = 1; + HEAP32[($7_1 + 12 | 0) >> 2] = $92_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2056(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, -2 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $92_1 | 0, 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$11 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2223(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + } + label$12 : { + if (HEAP32[($7_1 + 12 | 0) >> 2] | 0) { + break label$12 + } + $114_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2056(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $114_1 | 0, -2 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, $114_1 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] = ((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) != ($114_1 | 0) ^ -1 | 0) & 1 | 0; + } + } + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + $135_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $135_1 | 0; + } + + function $2216($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $6_1 = 0, $79$hi = 0, $80$hi = 0, i64toi32_i32$5 = 0, $13_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $47_1 = 0, $84$hi = 0, $85$hi = 0, i64toi32_i32$4 = 0, $180_1 = 0, $79_1 = 0, $190_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $6_1; + label$1 : while (1) { + $13_1 = 0; + label$2 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + $13_1 = (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($13_1 & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$4 : { + if ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + if ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $180_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $180_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$1; + label$5 : { + label$6 : while (1) { + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $79_1 = i64toi32_i32$1; + $79$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $80$hi = i64toi32_i32$1; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$1 = $80$hi; + $190_1 = i64toi32_i32$0; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$2 = $79_1; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$3 = $190_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $21_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $22_1 = 0 + } else { + $22_1 = 1 + } + $23_1 = $22_1; + } else { + $23_1 = 0 + } + $21_1 = $23_1; + } + if (!($21_1 & 1 | 0)) { + break label$5 + } + $47_1 = 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2079(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0, $47_1 | 0, $5_1 + 12 | 0 | 0, $47_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($5_1 + 36 | 0) >> 2] | 0)) { + break label$7 + } + break label$5; + } + label$8 : { + if (!(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 35 | 0 | 0) > (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 34 | 0 | 0) / (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0) | 0; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $84$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $85$hi = i64toi32_i32$2; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$2 = $85$hi; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $85$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$5; + continue label$6; + }; + } + } + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $75_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $75_1 | 0; + } + + function $2217($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $81$hi = 0, $85$hi = 0, $80_1 = 0, $17_1 = 0, $83$hi = 0, $87$hi = 0, $90$hi = 0, $91$hi = 0, $92$hi = 0, $93$hi = 0, i64toi32_i32$4 = 0, $94$hi = 0, $95$hi = 0, $36_1 = 0, $51_1 = 0, $259_1 = 0, $90_1 = 0, $265_1 = 0, $92_1 = 0, $275_1 = 0, $285_1 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + $80_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $80_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $80_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2224(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $4_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($4_1 + 32 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + break label$1; + } + $17_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $311(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $17_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != ($17_1 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (HEAP32[$4_1 >> 2] | 0) + ($315(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $36_1 = $2225(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0) | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + $36_1 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + $51_1 = $2225(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + $51_1 | 0; + continue label$6; + }; + } + } + i64toi32_i32$0 = 0; + $81$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $83$hi = i64toi32_i32$1; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$1 = $83$hi; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$1 = $83$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$3 = 0; + label$7 : { + label$8 : { + if (((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$8 + } + i64toi32_i32$2 = 0; + $85$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $87$hi = i64toi32_i32$1; + i64toi32_i32$1 = $85$hi; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$1 = $85$hi; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $85$hi; + i64toi32_i32$0 = 0; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$7 + } + } + $222(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = 267; + break label$1; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $259_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 64 | 0) >> 2] = $259_1; + HEAP32[(i64toi32_i32$3 + 68 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $90_1 = i64toi32_i32$1; + $90$hi = i64toi32_i32$3; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $91$hi = i64toi32_i32$1; + i64toi32_i32$1 = $90$hi; + i64toi32_i32$1 = $91$hi; + $265_1 = i64toi32_i32$3; + i64toi32_i32$1 = $90$hi; + i64toi32_i32$3 = $91$hi; + i64toi32_i32$3 = __wasm_i64_sdiv($90_1 | 0, i64toi32_i32$1 | 0, $265_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $92_1 = i64toi32_i32$3; + $92$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $93$hi = i64toi32_i32$1; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$1 = $93$hi; + $275_1 = i64toi32_i32$3; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$0 = $92_1; + i64toi32_i32$3 = $93$hi; + i64toi32_i32$2 = $275_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $94$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $95$hi = i64toi32_i32$5; + i64toi32_i32$5 = $94$hi; + i64toi32_i32$5 = $95$hi; + $285_1 = i64toi32_i32$0; + i64toi32_i32$5 = $94$hi; + i64toi32_i32$0 = $95$hi; + i64toi32_i32$0 = __wasm_i64_sdiv(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, $285_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + } + $77_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $77_1 | 0; + } + + function $2218($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $34_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$0 = 0; + $34_1 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $31_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $31_1 | 0; + } + + function $2219($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $12_1 = 0, $57_1 = 0, $61_1 = 0, $110_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 192 | 0; + global$0 = $7_1; + $12_1 = 0; + HEAP32[($7_1 + 188 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 184 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 180 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 176 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 172 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 164 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 184 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $3289($7_1 + 32 | 0 | 0, 0 | 0, 128 | 0) | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 184 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 ? 8 : $12_1) | 3 | 0 | (HEAP32[((HEAP32[($7_1 + 184 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 ? 32 : $12_1) | 0 | ((HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 188 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0 ? 4 : $12_1) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[($7_1 + 180 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 184 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 184 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2057(HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0, $7_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$1 : while (1) { + $57_1 = 0; + label$2 : { + if (!((0 | 0) == (HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $61_1 = $2059(HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 168 | 0) >> 2] = $61_1; + $57_1 = (100 | 0) == ($61_1 | 0); + } + label$3 : { + if (!($57_1 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2226(HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0, $7_1 + 32 | 0 | 0, HEAP32[((HEAP32[($7_1 + 164 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 164 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + continue label$1; + } + break label$1; + }; + label$4 : { + if (HEAP32[($7_1 + 168 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2227(HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0, $7_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + label$6 : { + if (HEAP32[($7_1 + 168 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[(HEAP32[($7_1 + 172 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 176 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + break label$5; + } + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$7 + } + $42(HEAP32[(($7_1 + 32 | 0) + ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + } + $2197(HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 184 | 0) >> 2] | 0) + 20 | 0) >> 2] = 0; + $110_1 = HEAP32[($7_1 + 168 | 0) >> 2] | 0; + global$0 = $7_1 + 192 | 0; + return $110_1 | 0; + } + + function $2220($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $15_1 = 0, $98_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = 0; + $42(HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] = $15_1; + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = $15_1; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + $42(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + break label$5; + } + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) | 0; + break label$7; + } + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) - (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2228((HEAPU8[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, $7_1 + 16 | 0 | 0, $7_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + } + } + } + label$9 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + } + $98_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $98_1 | 0; + } + + function $2221($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $26_1 = 0, $30_1 = 0, $39_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + label$4 : { + label$5 : while (1) { + $26_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $26_1 + 1 | 0; + $30_1 = 24; + if (!((((HEAPU8[$26_1 >> 0] | 0) << $30_1 | 0) >> $30_1 | 0) & 128 | 0)) { + break label$4 + } + continue label$5; + }; + } + $2105(0 | 0, $4_1 + 12 | 0 | 0); + continue label$3; + }; + } + } + $39_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $39_1 | 0; + } + + function $2222($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $11_1 = 0, $7_1 = 0, $53_1 = 0, $108_1 = 0, $115_1 = 0, $159_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $7_1; + $11_1 = 0; + label$1 : { + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$1 + } + $11_1 = 0; + if (!(((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $11_1 = 0; + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) <= (4 | 0) & 1 | 0)) { + break label$1 + } + $11_1 = (HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) > (0 | 0); + } + HEAP32[($5_1 + 16 | 0) >> 2] = $11_1 & 1 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$2 : while (1) { + $53_1 = 0; + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + $53_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($53_1 & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 24) | 0; + label$5 : { + label$6 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$6 + } + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$5 + } + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + } + label$7 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + label$8 : { + label$9 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$9 + } + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$9 + } + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $108_1 = -1; + break label$10; + } + $108_1 = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 8 | 0) >> 2] = $108_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$12 : while (1) { + $115_1 = 0; + label$13 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$13 + } + $115_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + label$14 : { + if (!($115_1 & 1 | 0)) { + break label$14 + } + HEAP32[($5_1 + 4 | 0) >> 2] = ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 24) | 0; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$15 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2238(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + } + break label$12; + }; + HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] = 1; + break label$8; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2239(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + } + $159_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $159_1 | 0; + } + + function $2223($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $15_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + $15_1 = $2066(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, $8_1 | 0, -2 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, $8_1 | 0, $8_1 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $7_1 + 32 | 0; + return $15_1 | 0; + } + + function $2224($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $9_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $9_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 22 | 0, $4_1 + 4 | 0 | 0, $9_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$1 + } + $330(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0, 0 | 0) | 0; + label$2 : { + label$3 : { + if (($287(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) != (100 | 0) & 1 | 0) { + break label$3 + } + if (!(($321(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$4 + } + HEAP32[$4_1 >> 2] = 267; + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + } + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $40_1 = HEAP32[$4_1 >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $40_1 | 0; + } + + function $2225($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $28_1 = 0, $48$hi = 0, $50$hi = 0, $51$hi = 0, $52$hi = 0, $53$hi = 0, $23_1 = 0, $54$hi = 0, $57$hi = 0, $58$hi = 0, $60$hi = 0, $48_1 = 0, $152$hi = 0, $184_1 = 0; + $5_1 = global$0 - 48 | 0; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) <= (63 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + $28_1 = (HEAPU8[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + break label$3; + } + $28_1 = 0; + } + i64toi32_i32$0 = 0; + $48_1 = 0; + $48$hi = i64toi32_i32$0; + i64toi32_i32$1 = $28_1; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $28_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $50$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$3 = 127; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $52$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $53$hi = i64toi32_i32$0; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $53$hi; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $23_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $23_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $54$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $152$hi = i64toi32_i32$1; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$1 = $152$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $54$hi; + i64toi32_i32$3 = $23_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $57$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $58$hi = i64toi32_i32$0; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $58$hi; + i64toi32_i32$3 = 128; + i64toi32_i32$5 = i64toi32_i32$0 & i64toi32_i32$5 | 0; + $60$hi = i64toi32_i32$5; + i64toi32_i32$5 = $48$hi; + i64toi32_i32$5 = $60$hi; + i64toi32_i32$5 = $48$hi; + i64toi32_i32$5 = $60$hi; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$3 = $48_1; + label$5 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 7 | 0; + continue label$2; + }; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $184_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $184_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + return (HEAP32[($5_1 + 32 | 0) >> 2] | 0) - (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0 | 0; + } + + function $2226($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $21_1 = 0, $39_1 = 0, i64toi32_i32$0 = 0, $166_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $21_1 = $38(((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 10 | 0) + 1 | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = $21_1; + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $3288(HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $39_1 = (HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = 0; + $9_1 = $39_1; + $10_1 = 0; + HEAP8[$9_1 >> 0] = $10_1; + HEAP8[($9_1 + 1 | 0) >> 0] = $10_1 >>> 8 | 0; + HEAP8[($9_1 + 2 | 0) >> 0] = $10_1 >>> 16 | 0; + HEAP8[($9_1 + 3 | 0) >> 0] = $10_1 >>> 24 | 0; + $11_1 = i64toi32_i32$0; + HEAP8[($9_1 + 4 | 0) >> 0] = $11_1; + HEAP8[($9_1 + 5 | 0) >> 0] = $11_1 >>> 8 | 0; + HEAP8[($9_1 + 6 | 0) >> 0] = $11_1 >>> 16 | 0; + HEAP8[($9_1 + 7 | 0) >> 0] = $11_1 >>> 24 | 0; + $12_1 = $9_1 + 8 | 0; + $13_1 = 0; + HEAP8[$12_1 >> 0] = $13_1; + HEAP8[($12_1 + 1 | 0) >> 0] = $13_1 >>> 8 | 0; + break label$4; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 7; + break label$1; + } + break label$2; + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + break label$6; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2229((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0, $6_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($6_1 + 4 | 0) >> 2] | 0)) { + break label$9 + } + label$10 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $42(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$1; + } + label$11 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $42(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + $42(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + label$12 : { + if (!(((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $166_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $166_1 | 0; + } + + function $2227($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $105_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if ((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + break label$5; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2229((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0, $4_1 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$7 + } + $42(HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $42(HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + $42(HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $105_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $105_1 | 0; + } + + function $2228($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $167_1 = 0, $171$hi = 0, $172$hi = 0, $175$hi = 0, $176$hi = 0, $179$hi = 0, $187$hi = 0, $168$hi = 0, $169$hi = 0, i64toi32_i32$4 = 0, $38_1 = 0, $59_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $76_1 = 0, $182$hi = 0, $89_1 = 0, $92_1 = 0, $189$hi = 0, $44_1 = 0, $45_1 = 0, $46_1 = 0, $139_1 = 0, $148_1 = 0, $22_1 = 0, $71_1 = 0, $171_1 = 0, $358_1 = 0, $175_1 = 0, $373_1 = 0, $391_1 = 0, $431_1 = 0, $471_1 = 0, $164_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 128 | 0; + global$0 = $8_1; + i64toi32_i32$0 = 0; + $167_1 = 0; + HEAP32[($8_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 112 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 108 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 104 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 100 | 0) >> 2] = $5_1; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 88 | 0) >> 2] = $167_1; + HEAP32[($8_1 + 92 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 80 | 0) >> 2] = $167_1; + HEAP32[($8_1 + 84 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $167_1; + HEAP32[($8_1 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 64 | 0) >> 2] = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + (HEAP32[($8_1 + 108 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 68 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($8_1 + 100 | 0) >> 2] | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + HEAP32[($8_1 + 44 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : { + if (!(HEAP32[($8_1 + 120 | 0) >> 2] | 0)) { + break label$3 + } + $22_1 = 0; + i64toi32_i32$1 = HEAP32[(HEAP32[($8_1 + 100 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $168$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $169$hi = i64toi32_i32$0; + i64toi32_i32$0 = $168$hi; + i64toi32_i32$0 = $169$hi; + i64toi32_i32$0 = $168$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $169$hi; + i64toi32_i32$3 = 10; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $41(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) == ($22_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($8_1 + 124 | 0) >> 2] = 7; + break label$1; + } + break label$2; + } + HEAP32[($8_1 + 40 | 0) >> 2] = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + } + $38_1 = 0; + HEAP32[($8_1 + 48 | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + $2230($8_1 + 56 | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, $38_1 | 0, $8_1 + 88 | 0 | 0); + $2230($8_1 + 52 | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, $38_1 | 0, $8_1 + 80 | 0 | 0); + label$5 : while (1) { + $59_1 = 0; + label$6 : { + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $59_1 = (HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$7 : { + if (!($59_1 & 1 | 0)) { + break label$7 + } + $71_1 = HEAP32[($8_1 + 120 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$0 = $8_1; + i64toi32_i32$5 = HEAP32[($8_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + $171_1 = i64toi32_i32$5; + $171$hi = i64toi32_i32$2; + i64toi32_i32$0 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + $172$hi = i64toi32_i32$5; + i64toi32_i32$5 = $171$hi; + i64toi32_i32$5 = $172$hi; + i64toi32_i32$5 = $171$hi; + i64toi32_i32$5 = $172$hi; + $358_1 = i64toi32_i32$2; + i64toi32_i32$5 = $171$hi; + i64toi32_i32$0 = $171_1; + i64toi32_i32$2 = $172$hi; + i64toi32_i32$3 = $358_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$2 | 0)) { + $41_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $42_1 = 0 + } else { + $42_1 = 1 + } + $43_1 = $42_1; + } else { + $43_1 = 0 + } + $41_1 = $43_1; + } + label$8 : { + label$9 : { + if (!($41_1 & 1 | 0)) { + break label$9 + } + $76_1 = 1; + break label$8; + } + i64toi32_i32$3 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + $175_1 = i64toi32_i32$0; + $175$hi = i64toi32_i32$5; + i64toi32_i32$3 = $8_1; + i64toi32_i32$5 = HEAP32[($8_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + $176$hi = i64toi32_i32$0; + i64toi32_i32$0 = $175$hi; + i64toi32_i32$0 = $176$hi; + i64toi32_i32$0 = $175$hi; + i64toi32_i32$0 = $176$hi; + $373_1 = i64toi32_i32$5; + i64toi32_i32$0 = $175$hi; + i64toi32_i32$3 = $175_1; + i64toi32_i32$5 = $176$hi; + i64toi32_i32$2 = $373_1; + $76_1 = ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0 ? 0 : -1; + } + i64toi32_i32$3 = 0; + $179$hi = i64toi32_i32$3; + i64toi32_i32$0 = Math_imul($71_1, $76_1); + i64toi32_i32$3 = i64toi32_i32$0 >> 31 | 0; + $391_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $391_1; + HEAP32[($8_1 + 36 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $182$hi = i64toi32_i32$0; + i64toi32_i32$0 = $179$hi; + i64toi32_i32$0 = $182$hi; + i64toi32_i32$0 = $179$hi; + i64toi32_i32$0 = $182$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $179$hi; + i64toi32_i32$5 = 0; + label$10 : { + label$11 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$11 + } + $89_1 = 0; + $92_1 = $8_1 + 48 | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$5 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + $431_1 = i64toi32_i32$2; + i64toi32_i32$2 = $8_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $431_1; + HEAP32[($8_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$5 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + $2231($92_1 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, $8_1 + 72 | 0 | 0, $8_1 + 44 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0); + label$12 : { + if (!(($89_1 | 0) == ($2237($92_1 | 0, HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0, $89_1 | 0, 1 | 0, $8_1 + 56 | 0 | 0, $8_1 + 52 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($8_1 + 48 | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$5 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $471_1 = i64toi32_i32$2; + i64toi32_i32$2 = $8_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $471_1; + HEAP32[($8_1 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + } + $2230($8_1 + 56 | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, $8_1 + 88 | 0 | 0); + $2230($8_1 + 52 | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, $8_1 + 80 | 0 | 0); + break label$10; + } + i64toi32_i32$0 = 0; + $187$hi = i64toi32_i32$0; + i64toi32_i32$5 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $189$hi = i64toi32_i32$2; + i64toi32_i32$2 = $187$hi; + i64toi32_i32$2 = $189$hi; + i64toi32_i32$2 = $187$hi; + i64toi32_i32$2 = $189$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $187$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $44_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$3 >>> 0) { + $45_1 = 0 + } else { + $45_1 = 1 + } + $46_1 = $45_1; + } else { + $46_1 = 0 + } + $44_1 = $46_1; + } + label$13 : { + label$14 : { + if (!($44_1 & 1 | 0)) { + break label$14 + } + $139_1 = $8_1 + 56 | 0; + $2105(0 | 0, $139_1 | 0); + $2230($139_1 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, $8_1 + 88 | 0 | 0); + break label$13; + } + $148_1 = $8_1 + 52 | 0; + $2105(0 | 0, $148_1 | 0); + $2230($148_1 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, $8_1 + 80 | 0 | 0); + } + } + continue label$5; + } + break label$5; + }; + HEAP32[(HEAP32[($8_1 + 100 | 0) >> 2] | 0) >> 2] = (HEAP32[($8_1 + 48 | 0) >> 2] | 0) - (HEAP32[($8_1 + 40 | 0) >> 2] | 0) | 0; + label$15 : { + if (!(HEAP32[($8_1 + 120 | 0) >> 2] | 0)) { + break label$15 + } + $42(HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($8_1 + 104 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 124 | 0) >> 2] = 0; + } + $164_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + global$0 = $8_1 + 128 | 0; + return $164_1 | 0; + } + + function $2229($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $10_1 = 0, $50_1 = 0, $206_1 = 0, $216$hi = 0, $217$hi = 0, $220$hi = 0, $221$hi = 0, $225$hi = 0, $230$hi = 0, $207$hi = 0, $208$hi = 0, $209$hi = 0, $210$hi = 0, $211$hi = 0, $212$hi = 0, $213$hi = 0, $214$hi = 0, $36_1 = 0, $57_1 = 0, $51_1 = 0, $52_1 = 0, $53_1 = 0, $74_1 = 0, $227$hi = 0, $103_1 = 0, $232$hi = 0, $54_1 = 0, $55_1 = 0, $56_1 = 0, $154_1 = 0, $160_1 = 0, $172_1 = 0, $178_1 = 0, $189_1 = 0, $207_1 = 0, $311_1 = 0, $69_1 = 0, $216_1 = 0, $410_1 = 0, $220_1 = 0, $425_1 = 0, $443_1 = 0, $203_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 112 | 0; + global$0 = $9_1; + $10_1 = 0; + i64toi32_i32$0 = 0; + $206_1 = 0; + HEAP32[($9_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 92 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 84 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 76 | 0) >> 2] = $10_1; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $206_1; + HEAP32[($9_1 + 68 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 56 | 0) >> 2] = $206_1; + HEAP32[($9_1 + 60 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 48 | 0) >> 2] = $206_1; + HEAP32[($9_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 44 | 0) >> 2] = (HEAP32[($9_1 + 100 | 0) >> 2] | 0) + (HEAP32[($9_1 + 96 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 40 | 0) >> 2] = (HEAP32[($9_1 + 92 | 0) >> 2] | 0) + (HEAP32[($9_1 + 88 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 36 | 0) >> 2] = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + HEAP32[($9_1 + 32 | 0) >> 2] = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + HEAP32[($9_1 + 20 | 0) >> 2] = $10_1; + HEAP32[(HEAP32[($9_1 + 84 | 0) >> 2] | 0) >> 2] = $10_1; + HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] = $10_1; + i64toi32_i32$1 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $207_1 = i64toi32_i32$1; + $207$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($9_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $208$hi = i64toi32_i32$0; + i64toi32_i32$0 = $207$hi; + i64toi32_i32$0 = $208$hi; + $311_1 = i64toi32_i32$1; + i64toi32_i32$0 = $207$hi; + i64toi32_i32$2 = $207_1; + i64toi32_i32$1 = $208$hi; + i64toi32_i32$3 = $311_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $209$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $210$hi = i64toi32_i32$5; + i64toi32_i32$5 = $209$hi; + i64toi32_i32$5 = $210$hi; + i64toi32_i32$5 = $209$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $210$hi; + i64toi32_i32$3 = 10; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $211$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $212$hi = i64toi32_i32$4; + i64toi32_i32$4 = $211$hi; + i64toi32_i32$4 = $212$hi; + i64toi32_i32$4 = $211$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$0 = $212$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$1 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$4 - i64toi32_i32$1 | 0; + $213$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $214$hi = i64toi32_i32$1; + i64toi32_i32$1 = $213$hi; + i64toi32_i32$1 = $214$hi; + i64toi32_i32$1 = $213$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$5 = $214$hi; + i64toi32_i32$3 = 8; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0) != ($10_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($9_1 + 108 | 0) >> 2] = 7; + break label$1; + } + $36_1 = 0; + HEAP32[($9_1 + 28 | 0) >> 2] = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + $2230($9_1 + 36 | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, $36_1 | 0, $9_1 + 64 | 0 | 0); + $2230($9_1 + 32 | 0 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, $36_1 | 0, $9_1 + 56 | 0 | 0); + label$3 : while (1) { + $57_1 = 1; + label$4 : { + if ((HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + $57_1 = (HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$5 : { + if (!($57_1 & 1 | 0)) { + break label$5 + } + $69_1 = HEAP32[($9_1 + 104 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$1 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $216_1 = i64toi32_i32$2; + $216$hi = i64toi32_i32$4; + i64toi32_i32$1 = $9_1; + i64toi32_i32$4 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $217$hi = i64toi32_i32$2; + i64toi32_i32$2 = $216$hi; + i64toi32_i32$2 = $217$hi; + i64toi32_i32$2 = $216$hi; + i64toi32_i32$2 = $217$hi; + $410_1 = i64toi32_i32$4; + i64toi32_i32$2 = $216$hi; + i64toi32_i32$1 = $216_1; + i64toi32_i32$4 = $217$hi; + i64toi32_i32$3 = $410_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$4 | 0)) { + $51_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $52_1 = 0 + } else { + $52_1 = 1 + } + $53_1 = $52_1; + } else { + $53_1 = 0 + } + $51_1 = $53_1; + } + label$6 : { + label$7 : { + if (!($51_1 & 1 | 0)) { + break label$7 + } + $74_1 = 1; + break label$6; + } + i64toi32_i32$3 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $220_1 = i64toi32_i32$1; + $220$hi = i64toi32_i32$2; + i64toi32_i32$3 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $221$hi = i64toi32_i32$1; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$1 = $221$hi; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$1 = $221$hi; + $425_1 = i64toi32_i32$2; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$3 = $220_1; + i64toi32_i32$2 = $221$hi; + i64toi32_i32$4 = $425_1; + $74_1 = ((i64toi32_i32$3 | 0) == (i64toi32_i32$4 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0 ? 0 : -1; + } + i64toi32_i32$1 = Math_imul($69_1, $74_1); + i64toi32_i32$3 = i64toi32_i32$1 >> 31 | 0; + $443_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 8 | 0) >> 2] = $443_1; + HEAP32[($9_1 + 12 | 0) >> 2] = i64toi32_i32$3; + label$8 : { + label$9 : { + if (!((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + if (!((HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$3 = 0; + $225$hi = i64toi32_i32$3; + i64toi32_i32$4 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + $227$hi = i64toi32_i32$1; + i64toi32_i32$1 = $225$hi; + i64toi32_i32$1 = $227$hi; + i64toi32_i32$1 = $225$hi; + i64toi32_i32$1 = $227$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$3 = $225$hi; + i64toi32_i32$2 = 0; + if (!(((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$9 + } + $103_1 = $9_1 + 28 | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$4 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $2231($103_1 | 0, HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, $9_1 + 48 | 0 | 0, $9_1 + 20 | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0); + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2232($103_1 | 0, $9_1 + 36 | 0 | 0, $9_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(HEAP32[($9_1 + 76 | 0) >> 2] | 0)) { + break label$10 + } + break label$5; + } + $2230($9_1 + 36 | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, $9_1 + 64 | 0 | 0); + $2230($9_1 + 32 | 0 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, $9_1 + 56 | 0 | 0); + break label$8; + } + label$11 : { + label$12 : { + label$13 : { + if (!((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + if (!((HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$1 = 0; + $230$hi = i64toi32_i32$1; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + $232$hi = i64toi32_i32$4; + i64toi32_i32$4 = $230$hi; + i64toi32_i32$4 = $232$hi; + i64toi32_i32$4 = $230$hi; + i64toi32_i32$4 = $232$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $230$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$1 | 0)) { + $54_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $55_1 = 0 + } else { + $55_1 = 1 + } + $56_1 = $55_1; + } else { + $56_1 = 0 + } + $54_1 = $56_1; + } + if (!($54_1 & 1 | 0)) { + break label$12 + } + } + $154_1 = $9_1 + 36 | 0; + $160_1 = $9_1 + 28 | 0; + i64toi32_i32$3 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $2231($160_1 | 0, HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, $9_1 + 48 | 0 | 0, $9_1 + 20 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$4 | 0); + $2105($160_1 | 0, $154_1 | 0); + $2230($154_1 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, $9_1 + 64 | 0 | 0); + break label$11; + } + $172_1 = $9_1 + 32 | 0; + $178_1 = $9_1 + 28 | 0; + i64toi32_i32$3 = $9_1; + i64toi32_i32$4 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $2231($178_1 | 0, HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, $9_1 + 48 | 0 | 0, $9_1 + 20 | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$2 | 0); + $2105($178_1 | 0, $172_1 | 0); + $2230($172_1 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, $9_1 + 56 | 0 | 0); + } + } + continue label$3; + } + break label$3; + }; + label$14 : { + label$15 : { + if (!(HEAP32[($9_1 + 76 | 0) >> 2] | 0)) { + break label$15 + } + $189_1 = 0; + $42(HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 24 | 0) >> 2] = $189_1; + HEAP32[($9_1 + 28 | 0) >> 2] = $189_1; + break label$14; + } + i64toi32_i32$2 = 0; + i64toi32_i32$4 = (HEAP32[($9_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 28 | 0) >> 2] | 0) - (HEAP32[($9_1 + 24 | 0) >> 2] | 0) | 0) | 0; + $50_1 = 0; + HEAP8[i64toi32_i32$4 >> 0] = $50_1; + HEAP8[(i64toi32_i32$4 + 1 | 0) >> 0] = $50_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$4 + 2 | 0) >> 0] = $50_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$4 + 3 | 0) >> 0] = $50_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$4 + 4 | 0) >> 0] = i64toi32_i32$2; + HEAP8[(i64toi32_i32$4 + 5 | 0) >> 0] = i64toi32_i32$2 >>> 8 | 0; + HEAP8[(i64toi32_i32$4 + 6 | 0) >> 0] = i64toi32_i32$2 >>> 16 | 0; + HEAP8[(i64toi32_i32$4 + 7 | 0) >> 0] = i64toi32_i32$2 >>> 24 | 0; + } + HEAP32[(HEAP32[($9_1 + 84 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] = (HEAP32[($9_1 + 28 | 0) >> 2] | 0) - (HEAP32[($9_1 + 24 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 108 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + } + $203_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + global$0 = $9_1 + 112 | 0; + return $203_1 | 0; + } + + function $2230($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $23_1 = 0, $33$hi = 0, $34$hi = 0, $36$hi = 0, $37$hi = 0, $22_1 = 0, $33_1 = 0, $103_1 = 0, $36_1 = 0, $116_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 0; + break label$1; + } + $22_1 = $2085(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0) | 0; + $23_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[$23_1 >> 2] = (HEAP32[$23_1 >> 2] | 0) + $22_1 | 0; + label$3 : { + label$4 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $33_1 = i64toi32_i32$0; + $33$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $34$hi = i64toi32_i32$0; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$0 = $34$hi; + $103_1 = i64toi32_i32$1; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$2 = $33_1; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$3 = $103_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + break label$3; + } + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $36_1 = i64toi32_i32$5; + $36$hi = i64toi32_i32$2; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $37$hi = i64toi32_i32$5; + i64toi32_i32$5 = $36$hi; + i64toi32_i32$5 = $37$hi; + $116_1 = i64toi32_i32$2; + i64toi32_i32$5 = $36$hi; + i64toi32_i32$0 = $36_1; + i64toi32_i32$2 = $37$hi; + i64toi32_i32$3 = $116_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2231($0_1, $1_1, $2_1, $3_1, $4_1, $4$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$6 = 0, $24$hi = 0, $25$hi = 0, $27$hi = 0, $28$hi = 0, $17_1 = 0, $24_1 = 0, $63_1 = 0, $27_1 = 0, $74_1 = 0, $16_1 = 0, $101_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + label$3 : { + if (!(HEAP32[($7_1 + 24 | 0) >> 2] | 0)) { + break label$3 + } + if (HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0) { + break label$2 + } + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $24_1 = i64toi32_i32$0; + $24$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $25$hi = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$0 = $25$hi; + $63_1 = i64toi32_i32$1; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$2 = $24_1; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$3 = $63_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = $7_1; + HEAP32[$7_1 >> 2] = i64toi32_i32$4; + HEAP32[($7_1 + 4 | 0) >> 2] = i64toi32_i32$5; + break label$1; + } + i64toi32_i32$0 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $27_1 = i64toi32_i32$5; + $27$hi = i64toi32_i32$2; + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $28$hi = i64toi32_i32$5; + i64toi32_i32$5 = $27$hi; + i64toi32_i32$5 = $28$hi; + $74_1 = i64toi32_i32$2; + i64toi32_i32$5 = $27$hi; + i64toi32_i32$0 = $27_1; + i64toi32_i32$2 = $28$hi; + i64toi32_i32$3 = $74_1; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$0 = $7_1; + HEAP32[$7_1 >> 2] = i64toi32_i32$1; + HEAP32[($7_1 + 4 | 0) >> 2] = i64toi32_i32$4; + } + i64toi32_i32$5 = $7_1; + i64toi32_i32$4 = HEAP32[$7_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + $16_1 = $2102(HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0) | 0; + $17_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[$17_1 >> 2] = (HEAP32[$17_1 >> 2] | 0) + $16_1 | 0; + i64toi32_i32$5 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $101_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $101_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] = 1; + global$0 = $7_1 + 32 | 0; + return; + } + + function $2232($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $232$hi = 0, $233_1 = 0, $237$hi = 0, $241$hi = 0, $242$hi = 0, $252$hi = 0, $253$hi = 0, $256$hi = 0, $257$hi = 0, $260$hi = 0, $264$hi = 0, $15_1 = 0, $18_1 = 0, $22_1 = 0, $34_1 = 0, $62_1 = 0, $70_1 = 0, $98_1 = 0, $235$hi = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $239$hi = 0, $52_1 = 0, $53_1 = 0, $54_1 = 0, $55_1 = 0, $56_1 = 0, $57_1 = 0, $246_1 = 0, $246$hi = 0, $249$hi = 0, $250$hi = 0, $58_1 = 0, $59_1 = 0, $60_1 = 0, $262$hi = 0, $182_1 = 0, $266$hi = 0, $196_1 = 0, $206_1 = 0, $216_1 = 0, $241_1 = 0, $576_1 = 0, $607_1 = 0, $252_1 = 0, $615_1 = 0, $256_1 = 0, $649_1 = 0, $201_1 = 0, $211_1 = 0, $229_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 64 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + $15_1 = 24; + $18_1 = 1; + label$3 : { + if (((HEAPU8[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $15_1 | 0) >> $15_1 | 0) { + break label$3 + } + $22_1 = 24; + $18_1 = (((HEAPU8[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $22_1 | 0) >> $22_1 | 0 | 0) != (0 | 0); + } + label$4 : { + if (!($18_1 & 1 | 0)) { + break label$4 + } + $34_1 = 24; + label$5 : { + label$6 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $34_1 | 0) >> $34_1 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$8 + } + $2077((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 1 | 0 | 0, $5_1 + 48 | 0 | 0) | 0; + break label$7; + } + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + } + label$9 : { + if (HEAP32[($5_1 + 48 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[($5_1 + 76 | 0) >> 2] = 267; + break label$1; + } + break label$5; + } + $62_1 = 24; + label$10 : { + label$11 : { + if (((HEAPU8[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0) { + break label$11 + } + HEAP32[($5_1 + 48 | 0) >> 2] = 2147483647; + break label$10; + } + HEAP32[($5_1 + 48 | 0) >> 2] = 0; + } + } + $70_1 = 24; + label$12 : { + label$13 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $70_1 | 0) >> $70_1 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + label$15 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$15 + } + $2077((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, $5_1 + 44 | 0 | 0) | 0; + break label$14; + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + } + label$16 : { + if (HEAP32[($5_1 + 44 | 0) >> 2] | 0) { + break label$16 + } + HEAP32[($5_1 + 76 | 0) >> 2] = 267; + break label$1; + } + break label$12; + } + $98_1 = 24; + label$17 : { + label$18 : { + if (((HEAPU8[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $98_1 | 0) >> $98_1 | 0) { + break label$18 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 2147483647; + break label$17; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + } + label$19 : { + label$20 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + i64toi32_i32$0 = 0; + $232$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $233_1 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $233_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $233_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $233_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2233($5_1 + 60 | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 56 | 0) >> 2] = (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + $2234($5_1 + 56 | 0 | 0, $5_1 + 32 | 0 | 0); + $2234($5_1 + 52 | 0 | 0, $5_1 + 24 | 0 | 0); + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $235$hi = i64toi32_i32$1; + i64toi32_i32$1 = $232$hi; + i64toi32_i32$1 = $235$hi; + i64toi32_i32$1 = $232$hi; + i64toi32_i32$1 = $235$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $232$hi; + i64toi32_i32$3 = 2; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $49_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $50_1 = 0 + } else { + $50_1 = 1 + } + $51_1 = $50_1; + } else { + $51_1 = 0 + } + $49_1 = $51_1; + } + label$21 : { + label$22 : { + if ($49_1 & 1 | 0) { + break label$22 + } + i64toi32_i32$2 = 0; + $237$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $239$hi = i64toi32_i32$1; + i64toi32_i32$1 = $237$hi; + i64toi32_i32$1 = $239$hi; + i64toi32_i32$1 = $237$hi; + i64toi32_i32$1 = $239$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $237$hi; + i64toi32_i32$0 = 2; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $52_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $53_1 = 0 + } else { + $53_1 = 1 + } + $54_1 = $53_1; + } else { + $54_1 = 0 + } + $52_1 = $54_1; + } + if (!($52_1 & 1 | 0)) { + break label$21 + } + } + break label$4; + } + label$23 : while (1) { + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $241_1 = i64toi32_i32$3; + $241$hi = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $242$hi = i64toi32_i32$3; + i64toi32_i32$3 = $241$hi; + i64toi32_i32$3 = $242$hi; + i64toi32_i32$3 = $241$hi; + i64toi32_i32$3 = $242$hi; + $576_1 = i64toi32_i32$1; + i64toi32_i32$3 = $241$hi; + i64toi32_i32$0 = $241_1; + i64toi32_i32$1 = $242$hi; + i64toi32_i32$2 = $576_1; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$1 | 0)) { + $55_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$2 >>> 0) { + $56_1 = 0 + } else { + $56_1 = 1 + } + $57_1 = $56_1; + } else { + $57_1 = 0 + } + $55_1 = $57_1; + } + label$24 : { + label$25 : { + if (!($55_1 & 1 | 0)) { + break label$25 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $246_1 = i64toi32_i32$0; + $246$hi = i64toi32_i32$3; + break label$24; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $246_1 = i64toi32_i32$3; + $246$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $246$hi; + $2235($5_1 + 60 | 0 | 0, $5_1 + 16 | 0 | 0, $246_1 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $249$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $250$hi = i64toi32_i32$3; + i64toi32_i32$3 = $249$hi; + i64toi32_i32$3 = $250$hi; + i64toi32_i32$3 = $249$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $250$hi; + i64toi32_i32$1 = 2; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + $607_1 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $607_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $252_1 = i64toi32_i32$5; + $252$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $253$hi = i64toi32_i32$5; + i64toi32_i32$5 = $252$hi; + i64toi32_i32$5 = $253$hi; + i64toi32_i32$5 = $252$hi; + i64toi32_i32$5 = $253$hi; + $615_1 = i64toi32_i32$2; + i64toi32_i32$5 = $252$hi; + i64toi32_i32$3 = $252_1; + i64toi32_i32$2 = $253$hi; + i64toi32_i32$1 = $615_1; + label$26 : { + label$27 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$27 + } + $2236($5_1 + 56 | 0 | 0, $5_1 + 32 | 0 | 0); + $2236($5_1 + 52 | 0 | 0, $5_1 + 24 | 0 | 0); + break label$26; + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $256_1 = i64toi32_i32$3; + $256$hi = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $257$hi = i64toi32_i32$3; + i64toi32_i32$3 = $256$hi; + i64toi32_i32$3 = $257$hi; + i64toi32_i32$3 = $256$hi; + i64toi32_i32$3 = $257$hi; + $649_1 = i64toi32_i32$5; + i64toi32_i32$3 = $256$hi; + i64toi32_i32$1 = $256_1; + i64toi32_i32$5 = $257$hi; + i64toi32_i32$2 = $649_1; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$5 | 0)) { + $58_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$2 >>> 0) { + $59_1 = 0 + } else { + $59_1 = 1 + } + $60_1 = $59_1; + } else { + $60_1 = 0 + } + $58_1 = $60_1; + } + label$28 : { + label$29 : { + if (!($58_1 & 1 | 0)) { + break label$29 + } + $2236($5_1 + 56 | 0 | 0, $5_1 + 32 | 0 | 0); + break label$28; + } + $2236($5_1 + 52 | 0 | 0, $5_1 + 24 | 0 | 0); + } + } + i64toi32_i32$1 = 2147483647; + $260$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $262$hi = i64toi32_i32$3; + i64toi32_i32$3 = $260$hi; + i64toi32_i32$3 = $262$hi; + i64toi32_i32$3 = $260$hi; + i64toi32_i32$3 = $262$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $260$hi; + i64toi32_i32$5 = -1; + $182_1 = 1; + label$30 : { + if (((i64toi32_i32$2 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0) { + break label$30 + } + i64toi32_i32$2 = 2147483647; + $264$hi = i64toi32_i32$2; + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $266$hi = i64toi32_i32$3; + i64toi32_i32$3 = $264$hi; + i64toi32_i32$3 = $266$hi; + i64toi32_i32$3 = $264$hi; + i64toi32_i32$3 = $266$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $264$hi; + i64toi32_i32$1 = -1; + $182_1 = (i64toi32_i32$5 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | 0; + } + if ($182_1 & 1 | 0) { + continue label$23 + } + break label$23; + }; + break label$19; + } + label$31 : { + label$32 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$32 + } + $196_1 = $5_1 + 60 | 0; + $201_1 = $2233($196_1 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + $201_1 | 0; + $2104($196_1 | 0, $5_1 + 56 | 0 | 0); + break label$31; + } + $206_1 = $5_1 + 60 | 0; + $211_1 = $2233($206_1 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + $211_1 | 0; + $2104($206_1 | 0, $5_1 + 52 | 0 | 0); + } + } + continue label$2; + } + break label$2; + }; + $216_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $216_1 + 1 | 0; + HEAP8[$216_1 >> 0] = 0; + HEAP32[(HEAP32[($5_1 + 72 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] = (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(HEAP32[($5_1 + 64 | 0) >> 2] | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = 0; + } + $229_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + global$0 = $5_1 + 80 | 0; + return $229_1 | 0; + } + + function $2233($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $23_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ($2102((HEAP32[$4_1 >> 2] | 0) + 1 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP8[(HEAP32[$4_1 >> 2] | 0) >> 0] = 1; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0; + } + $23_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $23_1 | 0; + } + + function $2234($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $9_1 = 0, $15$hi = 0, $12_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $8_1 = 0, $15_1 = 0, $50$hi = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $2061(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, $4_1 | 0) | 0; + $9_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$9_1 >> 2] = (HEAP32[$9_1 >> 2] | 0) + $8_1 | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $15_1 = i64toi32_i32$0; + $15$hi = i64toi32_i32$1; + $12_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $12_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $50$hi = i64toi32_i32$0; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$3 = $15_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $12_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + global$0 = $4_1 + 16 | 0; + return; + } + + function $2235($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, $16$hi = 0, $17$hi = 0, i64toi32_i32$3 = 0, $10_1 = 0, $16_1 = 0, $42_1 = 0, $9_1 = 0, $61_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $16_1 = i64toi32_i32$0; + $16$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $17$hi = i64toi32_i32$0; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$0 = $17$hi; + $42_1 = i64toi32_i32$1; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$2 = $16_1; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$3 = $42_1; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $9_1 = $2102(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$2 - i64toi32_i32$3 | 0 | 0, i64toi32_i32$5 | 0) | 0; + $10_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[$10_1 >> 2] = (HEAP32[$10_1 >> 2] | 0) + $9_1 | 0; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $61_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $61_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + global$0 = $5_1 + 16 | 0; + return; + } + + function $2236($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $26_1 = 0, $34_1 = 0, $44$hi = 0, $39_1 = 0, $40_1 = 0, $47$hi = 0, $48$hi = 0, $44_1 = 0, $134$hi = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0) & 254 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(((HEAPU8[(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$4 + } + $26_1 = $2077(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, $4_1 + 4 | 0 | 0) | 0; + break label$3; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAPU8[(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $26_1 = 1; + } + $34_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$34_1 >> 2] = (HEAP32[$34_1 >> 2] | 0) + $26_1 | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $44_1 = i64toi32_i32$1; + $44$hi = i64toi32_i32$0; + $39_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $39_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $134$hi = i64toi32_i32$1; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $134$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $44$hi; + i64toi32_i32$3 = $44_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $39_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + $40_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = $40_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $47$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $48$hi = i64toi32_i32$2; + i64toi32_i32$2 = $47$hi; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$2 = $47$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $48$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $40_1; + HEAP32[i64toi32_i32$1 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + break label$1; + } + i64toi32_i32$4 = 2147483647; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2237($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$6 = 0, $371_1 = 0, $373$hi = 0, $383$hi = 0, $387$hi = 0, $390$hi = 0, $393$hi = 0, $394$hi = 0, $397$hi = 0, $400$hi = 0, $413$hi = 0, $416$hi = 0, $419$hi = 0, $420$hi = 0, $186_1 = 0, $10_1 = 0, $19_1 = 0, $41_1 = 0, $53_1 = 0, $75_1 = 0, $94_1 = 0, $374$hi = 0, $375$hi = 0, $377$hi = 0, $378$hi = 0, $381$hi = 0, $88_1 = 0, $89_1 = 0, $90_1 = 0, $385$hi = 0, $91_1 = 0, $92_1 = 0, $93_1 = 0, $388$hi = 0, $389$hi = 0, $95_1 = 0, $96_1 = 0, $97_1 = 0, $398$hi = 0, $399$hi = 0, $98_1 = 0, $99_1 = 0, $101_1 = 0, $404_1 = 0, $404$hi = 0, $407$hi = 0, $408$hi = 0, $410$hi = 0, $411$hi = 0, $414$hi = 0, $415$hi = 0, $102_1 = 0, $103_1 = 0, $104_1 = 0, $105_1 = 0, $106_1 = 0, $107_1 = 0, $154_1 = 0, $423$hi = 0, $424$hi = 0, $167_1 = 0, $426$hi = 0, $427$hi = 0, $195_1 = 0, $206_1 = 0, $228_1 = 0, $251_1 = 0, $267_1 = 0, $273_1 = 0, $295_1 = 0, $304_1 = 0, $310_1 = 0, $332_1 = 0, $341_1 = 0, $363_1 = 0, $100_1 = 0, $387_1 = 0, $388_1 = 0, $723_1 = 0, $393_1 = 0, $744_1 = 0, $397_1 = 0, $398_1 = 0, $761_1 = 0, $136_1 = 0, $139_1 = 0, $142_1 = 0, $413_1 = 0, $414_1 = 0, $824_1 = 0, $419_1 = 0, $842_1 = 0, $368_1 = 0; + $8_1 = global$0 - 96 | 0; + global$0 = $8_1; + $10_1 = 0; + HEAP32[($8_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 68 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 52 | 0) >> 2] = $10_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $10_1; + $19_1 = 24; + label$1 : { + if (!((((HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 1 | 0; + label$2 : { + label$3 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$3 + } + $41_1 = $2077(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, $8_1 + 52 | 0 | 0) | 0; + break label$2; + } + HEAP32[($8_1 + 52 | 0) >> 2] = (HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $41_1 = 1; + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + $41_1 | 0; + } + $53_1 = 24; + label$4 : { + if (!((((HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $53_1 | 0) >> $53_1 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1 | 0; + label$5 : { + label$6 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$6 + } + $75_1 = $2077(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, $8_1 + 48 | 0 | 0) | 0; + break label$5; + } + HEAP32[($8_1 + 48 | 0) >> 2] = (HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $75_1 = 1; + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + $75_1 | 0; + } + label$7 : { + label$8 : while (1) { + label$9 : { + label$10 : { + if (!((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$0 = 0; + $371_1 = 0; + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $371_1; + HEAP32[($8_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $371_1; + HEAP32[($8_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $371_1; + HEAP32[($8_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$11 : { + if (!(HEAP32[($8_1 + 52 | 0) >> 2] | 0)) { + break label$11 + } + $94_1 = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + HEAP32[($8_1 + 64 | 0) >> 2] = $94_1 + 1 | 0; + HEAP8[$94_1 >> 0] = 1; + i64toi32_i32$1 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $100_1 = $2102(HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($8_1 + 64 | 0) >> 2] = (HEAP32[($8_1 + 64 | 0) >> 2] | 0) + $100_1 | 0; + } + i64toi32_i32$0 = 0; + $373$hi = i64toi32_i32$0; + $2234($8_1 + 60 | 0 | 0, $8_1 + 24 | 0 | 0); + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $374$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $375$hi = i64toi32_i32$1; + i64toi32_i32$1 = $374$hi; + i64toi32_i32$1 = $375$hi; + i64toi32_i32$1 = $374$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $375$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = $8_1; + HEAP32[($8_1 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($8_1 + 28 | 0) >> 2] = i64toi32_i32$5; + $2234($8_1 + 56 | 0 | 0, $8_1 + 16 | 0 | 0); + i64toi32_i32$1 = $8_1; + i64toi32_i32$5 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $377$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $378$hi = i64toi32_i32$2; + i64toi32_i32$2 = $377$hi; + i64toi32_i32$2 = $378$hi; + i64toi32_i32$2 = $377$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $378$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 16 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 20 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$2 = $8_1; + i64toi32_i32$4 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $381$hi = i64toi32_i32$1; + i64toi32_i32$1 = $373$hi; + i64toi32_i32$1 = $381$hi; + i64toi32_i32$1 = $373$hi; + i64toi32_i32$1 = $381$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $373$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$4 | 0)) { + $88_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $89_1 = 0 + } else { + $89_1 = 1 + } + $90_1 = $89_1; + } else { + $90_1 = 0 + } + $88_1 = $90_1; + } + label$12 : { + label$13 : { + if ($88_1 & 1 | 0) { + break label$13 + } + i64toi32_i32$2 = 0; + $383$hi = i64toi32_i32$2; + i64toi32_i32$3 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $385$hi = i64toi32_i32$1; + i64toi32_i32$1 = $383$hi; + i64toi32_i32$1 = $385$hi; + i64toi32_i32$1 = $383$hi; + i64toi32_i32$1 = $385$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $383$hi; + i64toi32_i32$4 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $91_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$4 >>> 0) { + $92_1 = 0 + } else { + $92_1 = 1 + } + $93_1 = $92_1; + } else { + $93_1 = 0 + } + $91_1 = $93_1; + } + if (!($91_1 & 1 | 0)) { + break label$12 + } + } + break label$7; + } + label$14 : while (1) { + i64toi32_i32$4 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $387_1 = i64toi32_i32$3; + $387$hi = i64toi32_i32$1; + i64toi32_i32$4 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $388_1 = i64toi32_i32$1; + $388$hi = i64toi32_i32$3; + i64toi32_i32$1 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$1 >> 31 | 0; + $389$hi = i64toi32_i32$3; + i64toi32_i32$3 = $388$hi; + i64toi32_i32$3 = $389$hi; + $723_1 = i64toi32_i32$1; + i64toi32_i32$3 = $388$hi; + i64toi32_i32$4 = $388_1; + i64toi32_i32$1 = $389$hi; + i64toi32_i32$2 = $723_1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $390$hi = i64toi32_i32$0; + i64toi32_i32$0 = $387$hi; + i64toi32_i32$0 = $390$hi; + i64toi32_i32$0 = $387$hi; + i64toi32_i32$0 = $390$hi; + i64toi32_i32$0 = $387$hi; + i64toi32_i32$3 = $387_1; + i64toi32_i32$4 = $390$hi; + i64toi32_i32$2 = i64toi32_i32$5; + label$15 : { + label$16 : { + if (((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0) { + break label$16 + } + if (HEAP32[($8_1 + 76 | 0) >> 2] | 0) { + break label$15 + } + i64toi32_i32$2 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $393_1 = i64toi32_i32$3; + $393$hi = i64toi32_i32$0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $394$hi = i64toi32_i32$3; + i64toi32_i32$3 = $393$hi; + i64toi32_i32$3 = $394$hi; + i64toi32_i32$3 = $393$hi; + i64toi32_i32$3 = $394$hi; + $744_1 = i64toi32_i32$0; + i64toi32_i32$3 = $393$hi; + i64toi32_i32$2 = $393_1; + i64toi32_i32$0 = $394$hi; + i64toi32_i32$4 = $744_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$0 | 0)) { + $95_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$4 >>> 0) { + $96_1 = 0 + } else { + $96_1 = 1 + } + $97_1 = $96_1; + } else { + $97_1 = 0 + } + $95_1 = $97_1; + } + if (!($95_1 & 1 | 0)) { + break label$15 + } + i64toi32_i32$4 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $397_1 = i64toi32_i32$2; + $397$hi = i64toi32_i32$3; + i64toi32_i32$4 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $398_1 = i64toi32_i32$3; + $398$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; + $399$hi = i64toi32_i32$2; + i64toi32_i32$2 = $398$hi; + i64toi32_i32$2 = $399$hi; + $761_1 = i64toi32_i32$3; + i64toi32_i32$2 = $398$hi; + i64toi32_i32$4 = $398_1; + i64toi32_i32$3 = $399$hi; + i64toi32_i32$0 = $761_1; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $400$hi = i64toi32_i32$5; + i64toi32_i32$5 = $397$hi; + i64toi32_i32$5 = $400$hi; + i64toi32_i32$5 = $397$hi; + i64toi32_i32$5 = $400$hi; + i64toi32_i32$5 = $397$hi; + i64toi32_i32$2 = $397_1; + i64toi32_i32$4 = $400$hi; + i64toi32_i32$0 = i64toi32_i32$1; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$4 | 0)) { + $98_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0) { + $99_1 = 0 + } else { + $99_1 = 1 + } + $101_1 = $99_1; + } else { + $101_1 = 0 + } + $98_1 = $101_1; + } + if (!($98_1 & 1 | 0)) { + break label$15 + } + } + label$17 : { + label$18 : { + if (!(HEAP32[($8_1 + 80 | 0) >> 2] | 0)) { + break label$18 + } + i64toi32_i32$0 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $404_1 = i64toi32_i32$2; + $404$hi = i64toi32_i32$5; + break label$17; + } + i64toi32_i32$0 = $8_1; + i64toi32_i32$5 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $404_1 = i64toi32_i32$5; + $404$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $404$hi; + $136_1 = 0; + $139_1 = $8_1 + 64 | 0; + $142_1 = $8_1 + 32 | 0; + i64toi32_i32$5 = $8_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $404_1; + HEAP32[($8_1 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$0 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + $407$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $408$hi = i64toi32_i32$5; + i64toi32_i32$5 = $407$hi; + i64toi32_i32$5 = $408$hi; + i64toi32_i32$5 = $407$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $408$hi; + i64toi32_i32$4 = 2; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $2235($139_1 | 0, $142_1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$5 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $410$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $411$hi = i64toi32_i32$0; + i64toi32_i32$0 = $410$hi; + i64toi32_i32$0 = $411$hi; + i64toi32_i32$0 = $410$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $411$hi; + i64toi32_i32$4 = 2; + i64toi32_i32$2 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = $8_1; + HEAP32[($8_1 + 32 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($8_1 + 36 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($8_1 + 44 | 0) >> 2] = $136_1; + } + label$19 : { + label$20 : { + label$21 : { + label$22 : { + label$23 : { + if (HEAP32[($8_1 + 80 | 0) >> 2] | 0) { + break label$23 + } + i64toi32_i32$0 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $413_1 = i64toi32_i32$3; + $413$hi = i64toi32_i32$5; + i64toi32_i32$0 = $8_1; + i64toi32_i32$5 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $414_1 = i64toi32_i32$5; + $414$hi = i64toi32_i32$3; + i64toi32_i32$5 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$5 >> 31 | 0; + $415$hi = i64toi32_i32$3; + i64toi32_i32$3 = $414$hi; + i64toi32_i32$3 = $415$hi; + $824_1 = i64toi32_i32$5; + i64toi32_i32$3 = $414$hi; + i64toi32_i32$0 = $414_1; + i64toi32_i32$5 = $415$hi; + i64toi32_i32$4 = $824_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $416$hi = i64toi32_i32$2; + i64toi32_i32$2 = $413$hi; + i64toi32_i32$2 = $416$hi; + i64toi32_i32$2 = $413$hi; + i64toi32_i32$2 = $416$hi; + i64toi32_i32$2 = $413$hi; + i64toi32_i32$3 = $413_1; + i64toi32_i32$0 = $416$hi; + i64toi32_i32$4 = i64toi32_i32$1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $102_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 > i64toi32_i32$4 >>> 0) { + $103_1 = 0 + } else { + $103_1 = 1 + } + $104_1 = $103_1; + } else { + $104_1 = 0 + } + $102_1 = $104_1; + } + if ($102_1 & 1 | 0) { + break label$22 + } + } + i64toi32_i32$4 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $419_1 = i64toi32_i32$3; + $419$hi = i64toi32_i32$2; + i64toi32_i32$4 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $420$hi = i64toi32_i32$3; + i64toi32_i32$3 = $419$hi; + i64toi32_i32$3 = $420$hi; + i64toi32_i32$3 = $419$hi; + i64toi32_i32$3 = $420$hi; + $842_1 = i64toi32_i32$2; + i64toi32_i32$3 = $419$hi; + i64toi32_i32$4 = $419_1; + i64toi32_i32$2 = $420$hi; + i64toi32_i32$0 = $842_1; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$2 | 0)) { + $105_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$4 >>> 0 > i64toi32_i32$0 >>> 0) { + $106_1 = 0 + } else { + $106_1 = 1 + } + $107_1 = $106_1; + } else { + $107_1 = 0 + } + $105_1 = $107_1; + } + if (!($105_1 & 1 | 0)) { + break label$21 + } + } + $154_1 = 24; + label$24 : { + if ((((HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $154_1 | 0) >> $154_1 | 0) & 254 | 0) { + break label$24 + } + break label$19; + } + $2234($8_1 + 56 | 0 | 0, $8_1 + 16 | 0 | 0); + i64toi32_i32$0 = $8_1; + i64toi32_i32$4 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $423$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $424$hi = i64toi32_i32$3; + i64toi32_i32$3 = $423$hi; + i64toi32_i32$3 = $424$hi; + i64toi32_i32$3 = $423$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$4 = $424$hi; + i64toi32_i32$2 = 2; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$0 = $8_1; + HEAP32[($8_1 + 16 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($8_1 + 20 | 0) >> 2] = i64toi32_i32$1; + break label$20; + } + $167_1 = 24; + label$25 : { + if ((((HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) << $167_1 | 0) >> $167_1 | 0) & 254 | 0) { + break label$25 + } + break label$19; + } + $2234($8_1 + 60 | 0 | 0, $8_1 + 24 | 0 | 0); + i64toi32_i32$3 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $426$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $427$hi = i64toi32_i32$0; + i64toi32_i32$0 = $426$hi; + i64toi32_i32$0 = $427$hi; + i64toi32_i32$0 = $426$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $427$hi; + i64toi32_i32$2 = 2; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$3 = $8_1; + HEAP32[($8_1 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($8_1 + 28 | 0) >> 2] = i64toi32_i32$5; + } + continue label$14; + } + break label$14; + }; + label$26 : { + if (!((HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($8_1 + 64 | 0) >> 2] = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + } + $186_1 = 0; + $2104($186_1 | 0, $8_1 + 60 | 0 | 0); + $2104($186_1 | 0, $8_1 + 56 | 0 | 0); + $195_1 = 24; + label$27 : { + label$28 : { + if (($186_1 | 0) == (((HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) << $195_1 | 0) >> $195_1 | 0 | 0) & 1 | 0) { + break label$28 + } + $206_1 = 24; + if (!((0 | 0) == (((HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $206_1 | 0) >> $206_1 | 0 | 0) & 1 | 0)) { + break label$27 + } + } + break label$7; + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 1 | 0; + label$29 : { + label$30 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$30 + } + $228_1 = $2077(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, $8_1 + 52 | 0 | 0) | 0; + break label$29; + } + HEAP32[($8_1 + 52 | 0) >> 2] = (HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $228_1 = 1; + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + $228_1 | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1 | 0; + label$31 : { + label$32 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$32 + } + $251_1 = $2077(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, $8_1 + 48 | 0 | 0) | 0; + break label$31; + } + HEAP32[($8_1 + 48 | 0) >> 2] = (HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $251_1 = 1; + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + $251_1 | 0; + break label$9; + } + label$33 : { + label$34 : { + if (!((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$34 + } + $267_1 = 0; + $2104($267_1 | 0, $8_1 + 60 | 0 | 0); + $273_1 = 24; + label$35 : { + if (!(($267_1 | 0) == (((HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) << $273_1 | 0) >> $273_1 | 0 | 0) & 1 | 0)) { + break label$35 + } + break label$7; + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 1 | 0; + label$36 : { + label$37 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$37 + } + $295_1 = $2077(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, $8_1 + 52 | 0 | 0) | 0; + break label$36; + } + HEAP32[($8_1 + 52 | 0) >> 2] = (HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $295_1 = 1; + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + $295_1 | 0; + break label$33; + } + $304_1 = 0; + $2104($304_1 | 0, $8_1 + 56 | 0 | 0); + $310_1 = 24; + label$38 : { + if (!(($304_1 | 0) == (((HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $310_1 | 0) >> $310_1 | 0 | 0) & 1 | 0)) { + break label$38 + } + break label$7; + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1 | 0; + label$39 : { + label$40 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$40 + } + $332_1 = $2077(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, $8_1 + 48 | 0 | 0) | 0; + break label$39; + } + HEAP32[($8_1 + 48 | 0) >> 2] = (HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $332_1 = 1; + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + $332_1 | 0; + } + } + continue label$8; + }; + } + $341_1 = 0; + $2105($341_1 | 0, $8_1 + 56 | 0 | 0); + $2105($341_1 | 0, $8_1 + 60 | 0 | 0); + HEAP32[(HEAP32[($8_1 + 72 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + label$41 : { + label$42 : { + if (!((HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$42 + } + HEAP32[($8_1 + 92 | 0) >> 2] = 0; + break label$41; + } + $363_1 = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + HEAP32[($8_1 + 64 | 0) >> 2] = $363_1 + 1 | 0; + HEAP8[$363_1 >> 0] = 0; + HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + HEAP32[($8_1 + 92 | 0) >> 2] = 1; + } + $368_1 = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + global$0 = $8_1 + 96 | 0; + return $368_1 | 0; + } + + function $2238($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $87_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 ? 95 : 96; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2067(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!($2087(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + } + break label$3; + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2096(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + $2090(HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + } + $87_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $87_1 | 0; + } + + function $2239($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $10_1 = 0, $39_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : while (1) { + $10_1 = 0; + label$2 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + $10_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($10_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 8 | 0) >> 2] = ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 24) | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $39_1 = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $39_1; + HEAP32[$4_1 >> 2] = $39_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2219(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, $4_1 + 4 | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2220(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $55_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $55_1 | 0; + } + + function $2240($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, $74_1 = 0, $436$hi = 0, $437$hi = 0, $440$hi = 0, $441$hi = 0, $444$hi = 0, $449$hi = 0, $454$hi = 0, $455$hi = 0, $458$hi = 0, $459$hi = 0, $463$hi = 0, $467$hi = 0, $471$hi = 0, $472$hi = 0, $475$hi = 0, $476$hi = 0, $480$hi = 0, $372_1 = 0, $486$hi = 0, $487$hi = 0, $490$hi = 0, $491$hi = 0, $15_1 = 0, $77_1 = 0, $78_1 = 0, $79_1 = 0, $105_1 = 0, $447$hi = 0, $451$hi = 0, $80_1 = 0, $81_1 = 0, $82_1 = 0, $136_1 = 0, $175_1 = 0, $217_1 = 0, $237_1 = 0, $83_1 = 0, $84_1 = 0, $85_1 = 0, $254_1 = 0, $465$hi = 0, $86_1 = 0, $87_1 = 0, $88_1 = 0, $469$hi = 0, $89_1 = 0, $90_1 = 0, $91_1 = 0, $301_1 = 0, $92_1 = 0, $93_1 = 0, $94_1 = 0, $324_1 = 0, $482$hi = 0, $95_1 = 0, $96_1 = 0, $97_1 = 0, $99_1 = 0, $100_1 = 0, $101_1 = 0, $394_1 = 0, $579_1 = 0, $622_1 = 0, $98_1 = 0, $436_1 = 0, $718_1 = 0, $440_1 = 0, $737_1 = 0, $755_1 = 0, $805_1 = 0, $247_1 = 0, $454_1 = 0, $1046_1 = 0, $458_1 = 0, $1065_1 = 0, $1083_1 = 0, $317_1 = 0, $471_1 = 0, $1216_1 = 0, $475_1 = 0, $1235_1 = 0, $1253_1 = 0, $1289_1 = 0, $1297_1 = 0, $387_1 = 0, $486_1 = 0, $1385_1 = 0, $490_1 = 0, $1404_1 = 0, $1446_1 = 0, $428_1 = 0, $1488_1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($5_1 + 64 | 0) >> 2] = HEAPU8[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0; + HEAP8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 33 | 0) >> 0] = 1; + $15_1 = (HEAP32[(HEAP32[($5_1 + 72 | 0) >> 2] | 0) >> 2] | 0) + -1 | 0; + label$2 : { + label$3 : { + switch ($15_1 | 0) { + case 0: + case 2: + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 34 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $579_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $579_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$1; + HEAP8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0; + break label$7; + } + label$9 : { + label$10 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 34 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $622_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $622_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0; + break label$9; + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + label$11 : while (1) { + $74_1 = 0; + label$12 : { + if (((HEAPU8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$12 + } + $74_1 = 0; + if (((HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$12 + } + $74_1 = (HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$13 : { + if (!($74_1 & 1 | 0)) { + break label$13 + } + $98_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$2 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $436_1 = i64toi32_i32$0; + $436$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $437$hi = i64toi32_i32$0; + i64toi32_i32$0 = $436$hi; + i64toi32_i32$0 = $437$hi; + i64toi32_i32$0 = $436$hi; + i64toi32_i32$0 = $437$hi; + $718_1 = i64toi32_i32$1; + i64toi32_i32$0 = $436$hi; + i64toi32_i32$2 = $436_1; + i64toi32_i32$1 = $437$hi; + i64toi32_i32$3 = $718_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $77_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $78_1 = 0 + } else { + $78_1 = 1 + } + $79_1 = $78_1; + } else { + $79_1 = 0 + } + $77_1 = $79_1; + } + label$14 : { + label$15 : { + if (!($77_1 & 1 | 0)) { + break label$15 + } + $105_1 = 1; + break label$14; + } + i64toi32_i32$3 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $440_1 = i64toi32_i32$2; + $440$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $441$hi = i64toi32_i32$2; + i64toi32_i32$2 = $440$hi; + i64toi32_i32$2 = $441$hi; + i64toi32_i32$2 = $440$hi; + i64toi32_i32$2 = $441$hi; + $737_1 = i64toi32_i32$0; + i64toi32_i32$2 = $440$hi; + i64toi32_i32$3 = $440_1; + i64toi32_i32$0 = $441$hi; + i64toi32_i32$1 = $737_1; + $105_1 = ((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0 ? 0 : -1; + } + i64toi32_i32$3 = 0; + $444$hi = i64toi32_i32$3; + i64toi32_i32$2 = Math_imul($98_1, $105_1); + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + $755_1 = i64toi32_i32$2; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $755_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $447$hi = i64toi32_i32$2; + i64toi32_i32$2 = $444$hi; + i64toi32_i32$2 = $447$hi; + i64toi32_i32$2 = $444$hi; + i64toi32_i32$2 = $447$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $444$hi; + i64toi32_i32$0 = 0; + label$16 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$16 + } + break label$13; + } + i64toi32_i32$1 = 0; + $449$hi = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $451$hi = i64toi32_i32$2; + i64toi32_i32$2 = $449$hi; + i64toi32_i32$2 = $451$hi; + i64toi32_i32$2 = $449$hi; + i64toi32_i32$2 = $451$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $449$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $80_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$3 >>> 0) { + $81_1 = 0 + } else { + $81_1 = 1 + } + $82_1 = $81_1; + } else { + $82_1 = 0 + } + $80_1 = $82_1; + } + label$17 : { + label$18 : { + if (!($80_1 & 1 | 0)) { + break label$18 + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + break label$17; + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + } + continue label$11; + } + break label$11; + }; + i64toi32_i32$3 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $805_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $805_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$2; + $136_1 = 1; + label$19 : { + if ((HEAPU8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) { + break label$19 + } + $136_1 = ((HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + HEAP8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 0] = $136_1 & 1 | 0; + label$20 : { + if (!((HEAP32[(HEAP32[($5_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$20 + } + if (!((HEAPU8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0)) { + break label$20 + } + label$21 : { + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$22 : while (1) { + $175_1 = 0; + label$23 : { + if (HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0) { + break label$23 + } + $175_1 = ((HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + label$24 : { + if (!($175_1 & 1 | 0)) { + break label$24 + } + $3289(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) | 0; + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + continue label$22; + } + break label$22; + }; + } + label$25 : { + if (!((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$26 : while (1) { + $217_1 = 0; + label$27 : { + if (HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0) { + break label$27 + } + $217_1 = ((HEAPU8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + label$28 : { + if (!($217_1 & 1 | 0)) { + break label$28 + } + $3289(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) | 0; + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + continue label$26; + } + break label$26; + }; + } + $237_1 = 1; + HEAP8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 0] = $237_1; + HEAP8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 0] = $237_1; + } + } + } + break label$2; + case 3: + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $247_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$3 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $454_1 = i64toi32_i32$2; + $454$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $455$hi = i64toi32_i32$2; + i64toi32_i32$2 = $454$hi; + i64toi32_i32$2 = $455$hi; + i64toi32_i32$2 = $454$hi; + i64toi32_i32$2 = $455$hi; + $1046_1 = i64toi32_i32$0; + i64toi32_i32$2 = $454$hi; + i64toi32_i32$3 = $454_1; + i64toi32_i32$0 = $455$hi; + i64toi32_i32$1 = $1046_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $83_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $84_1 = 0 + } else { + $84_1 = 1 + } + $85_1 = $84_1; + } else { + $85_1 = 0 + } + $83_1 = $85_1; + } + label$29 : { + label$30 : { + if (!($83_1 & 1 | 0)) { + break label$30 + } + $254_1 = 1; + break label$29; + } + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $458_1 = i64toi32_i32$3; + $458$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $459$hi = i64toi32_i32$3; + i64toi32_i32$3 = $458$hi; + i64toi32_i32$3 = $459$hi; + i64toi32_i32$3 = $458$hi; + i64toi32_i32$3 = $459$hi; + $1065_1 = i64toi32_i32$2; + i64toi32_i32$3 = $458$hi; + i64toi32_i32$1 = $458_1; + i64toi32_i32$2 = $459$hi; + i64toi32_i32$0 = $1065_1; + $254_1 = ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0 ? 0 : -1; + } + i64toi32_i32$3 = Math_imul($247_1, $254_1); + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $1083_1 = i64toi32_i32$3; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1083_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + label$31 : { + label$32 : { + label$33 : { + if ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) { + break label$33 + } + if ((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) { + break label$32 + } + i64toi32_i32$1 = 0; + $463$hi = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $465$hi = i64toi32_i32$3; + i64toi32_i32$3 = $463$hi; + i64toi32_i32$3 = $465$hi; + i64toi32_i32$3 = $463$hi; + i64toi32_i32$3 = $465$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $463$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$1 | 0)) { + $86_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$2 >>> 0) { + $87_1 = 0 + } else { + $87_1 = 1 + } + $88_1 = $87_1; + } else { + $88_1 = 0 + } + $86_1 = $88_1; + } + if (!($86_1 & 1 | 0)) { + break label$32 + } + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + break label$31; + } + label$34 : { + label$35 : { + label$36 : { + if ((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) { + break label$36 + } + i64toi32_i32$0 = 0; + $467$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $469$hi = i64toi32_i32$3; + i64toi32_i32$3 = $467$hi; + i64toi32_i32$3 = $469$hi; + i64toi32_i32$3 = $467$hi; + i64toi32_i32$3 = $469$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $467$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$0 | 0)) { + $89_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$1 >>> 0) { + $90_1 = 0 + } else { + $90_1 = 1 + } + $91_1 = $90_1; + } else { + $91_1 = 0 + } + $89_1 = $91_1; + } + if (!($89_1 & 1 | 0)) { + break label$35 + } + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + break label$34; + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + } + } + $301_1 = 0; + label$37 : { + if (!((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0)) { + break label$37 + } + $301_1 = ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + HEAP8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 0] = $301_1 & 1 | 0; + $317_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $471_1 = i64toi32_i32$2; + $471$hi = i64toi32_i32$3; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $472$hi = i64toi32_i32$2; + i64toi32_i32$2 = $471$hi; + i64toi32_i32$2 = $472$hi; + i64toi32_i32$2 = $471$hi; + i64toi32_i32$2 = $472$hi; + $1216_1 = i64toi32_i32$3; + i64toi32_i32$2 = $471$hi; + i64toi32_i32$1 = $471_1; + i64toi32_i32$3 = $472$hi; + i64toi32_i32$0 = $1216_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$3 | 0)) { + $92_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0) { + $93_1 = 0 + } else { + $93_1 = 1 + } + $94_1 = $93_1; + } else { + $94_1 = 0 + } + $92_1 = $94_1; + } + label$38 : { + label$39 : { + if (!($92_1 & 1 | 0)) { + break label$39 + } + $324_1 = 1; + break label$38; + } + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; + $475_1 = i64toi32_i32$1; + $475$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; + $476$hi = i64toi32_i32$1; + i64toi32_i32$1 = $475$hi; + i64toi32_i32$1 = $476$hi; + i64toi32_i32$1 = $475$hi; + i64toi32_i32$1 = $476$hi; + $1235_1 = i64toi32_i32$2; + i64toi32_i32$1 = $475$hi; + i64toi32_i32$0 = $475_1; + i64toi32_i32$2 = $476$hi; + i64toi32_i32$3 = $1235_1; + $324_1 = ((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0 ? 0 : -1; + } + i64toi32_i32$1 = Math_imul($317_1, $324_1); + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $1253_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1253_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$40 : { + label$41 : { + label$42 : { + if ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) { + break label$42 + } + if ((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) { + break label$41 + } + i64toi32_i32$0 = 0; + $480$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $482$hi = i64toi32_i32$1; + i64toi32_i32$1 = $480$hi; + i64toi32_i32$1 = $482$hi; + i64toi32_i32$1 = $480$hi; + i64toi32_i32$1 = $482$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $480$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $95_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$2 >>> 0) { + $96_1 = 0 + } else { + $96_1 = 1 + } + $97_1 = $96_1; + } else { + $97_1 = 0 + } + $95_1 = $97_1; + } + if (!($95_1 & 1 | 0)) { + break label$41 + } + } + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $1289_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] = $1289_1; + HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] = i64toi32_i32$1; + break label$40; + } + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $1297_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $1297_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$3; + } + break label$2; + case 1: + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$43 : { + if ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 33 | 0) >> 0] | 0) & 255 | 0) { + break label$43 + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + label$44 : { + if ((HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) { + break label$44 + } + label$45 : while (1) { + $372_1 = 0; + label$46 : { + if (HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0) { + break label$46 + } + $372_1 = 0; + if (((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$46 + } + $387_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $486_1 = i64toi32_i32$3; + $486$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $487$hi = i64toi32_i32$3; + i64toi32_i32$3 = $486$hi; + i64toi32_i32$3 = $487$hi; + i64toi32_i32$3 = $486$hi; + i64toi32_i32$3 = $487$hi; + $1385_1 = i64toi32_i32$1; + i64toi32_i32$3 = $486$hi; + i64toi32_i32$2 = $486_1; + i64toi32_i32$1 = $487$hi; + i64toi32_i32$0 = $1385_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$1 | 0)) { + $99_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$0 >>> 0) { + $100_1 = 0 + } else { + $100_1 = 1 + } + $101_1 = $100_1; + } else { + $101_1 = 0 + } + $99_1 = $101_1; + } + label$47 : { + label$48 : { + if (!($99_1 & 1 | 0)) { + break label$48 + } + $394_1 = 1; + break label$47; + } + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; + $490_1 = i64toi32_i32$2; + $490$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; + $491$hi = i64toi32_i32$2; + i64toi32_i32$2 = $490$hi; + i64toi32_i32$2 = $491$hi; + i64toi32_i32$2 = $490$hi; + i64toi32_i32$2 = $491$hi; + $1404_1 = i64toi32_i32$3; + i64toi32_i32$2 = $490$hi; + i64toi32_i32$0 = $490_1; + i64toi32_i32$3 = $491$hi; + i64toi32_i32$1 = $1404_1; + $394_1 = ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0 ? 0 : -1; + } + $372_1 = (Math_imul($387_1, $394_1) | 0) > (0 | 0); + } + label$49 : { + if (!($372_1 & 1 | 0)) { + break label$49 + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + continue label$45; + } + break label$45; + }; + } + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $1446_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $1446_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$2; + HEAP8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0; + break label$2; + default: + break label$3; + }; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $2196(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $428_1 = $2242(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 32 | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] = $428_1; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $1488_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] = $1488_1; + HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] = i64toi32_i32$0; + } + } + global$0 = $5_1 + 80 | 0; + return; + } + + function $2241($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2154(0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2243(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (0 | 0) == ($2244(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $4_1 + 4 | 0 | 0) | 0 | 0) & 1 | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $2245(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + $41_1 = 0; + label$4 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$4 + } + $41_1 = (HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0); + } + global$0 = $4_1 + 16 | 0; + return $41_1 & 1 | 0 | 0; + } + + function $2242($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2246(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$4 + } + $2103((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$3; + } + $2247(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + } + $55_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $55_1 | 0; + } + + function $2243($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $78_1 = 0, i64toi32_i32$2 = 0, $4_1 = 0, $12_1 = 0, $30_1 = 0, $93_1 = 0, $224$hi = 0, $225$hi = 0, $226$hi = 0, $197_1 = 0, $277_1 = 0, $224_1 = 0, $225_1 = 0, $575_1 = 0, $220_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 80 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 72 | 0) >> 2] = $4_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + $12_1 = 0; + HEAP32[($3_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = $318(HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $12_1 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $277_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 56 | 0) >> 2] = $277_1; + HEAP32[($3_1 + 60 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 68 | 0) >> 2] = $12_1; + label$2 : while (1) { + $30_1 = 0; + label$3 : { + if (!((HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $30_1 = (HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$4 : { + if (!($30_1 & 1 | 0)) { + break label$4 + } + label$5 : { + if ((HEAPU8[((HEAP32[((HEAP32[($3_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + (HEAP32[($3_1 + 68 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $319(HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 32 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2213(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, -1 | 0, $3_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : while (1) { + if (HEAP32[($3_1 + 72 | 0) >> 2] | 0) { + break label$6 + } + $78_1 = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $78_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $78_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $78_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $78_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 32 | 0) >> 2] | 0, $3_1 + 28 | 0, $3_1 + 24 | 0, $3_1 + 20 | 0, $3_1 + 16 | 0, $3_1 + 12 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$8 : while (1) { + $93_1 = 0; + label$9 : { + if (!((HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $93_1 = (HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$10 : { + if (!($93_1 & 1 | 0)) { + break label$10 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 52 | 0) >> 2] | 0) >> 2] | 0; + label$11 : { + label$12 : { + if ((HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($3_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$12 + } + if (!((HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + } + label$13 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$13 + } + if (HEAP32[($3_1 + 12 | 0) >> 2] | 0) { + break label$11 + } + } + label$14 : { + if ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$14 + } + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$11 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + } + if (!((0 | 0) == ($3228(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$11 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + $224_1 = i64toi32_i32$1; + $224$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $225_1 = i64toi32_i32$1; + $225$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $226$hi = i64toi32_i32$0; + i64toi32_i32$0 = $224$hi; + i64toi32_i32$0 = $225$hi; + i64toi32_i32$0 = $226$hi; + $575_1 = i64toi32_i32$1; + i64toi32_i32$0 = $224$hi; + i64toi32_i32$1 = $225$hi; + i64toi32_i32$2 = $226$hi; + $2250((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 12 | 0 | 0, $224_1 | 0, i64toi32_i32$0 | 0, $225_1 | 0, i64toi32_i32$1 | 0, $575_1 | 0, i64toi32_i32$2 | 0, $3_1 + 72 | 0 | 0) | 0; + } + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$8; + } + break label$8; + }; + continue label$7; + }; + } + label$15 : { + if (!((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 32 | 0) >> 2] | 0) | 0; + } + label$16 : { + if (!((HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($3_1 + 72 | 0) >> 2] = 0; + } + } + HEAP32[($3_1 + 68 | 0) >> 2] = (HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$17 : while (1) { + $197_1 = 0; + label$18 : { + if (!((HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + $197_1 = (HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$19 : { + if (!($197_1 & 1 | 0)) { + break label$19 + } + label$20 : { + if (!((HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + i64toi32_i32$2 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2251((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 12 | 0 | 0, 0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$17; + } + break label$17; + }; + } + $220_1 = HEAP32[($3_1 + 72 | 0) >> 2] | 0; + global$0 = $3_1 + 80 | 0; + return $220_1 | 0; + } + + function $2244($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $20_1 = 0, $201$hi = 0, $202$hi = 0, $205$hi = 0, $206$hi = 0, $209$hi = 0, $210$hi = 0, $181_1 = 0, $214$hi = 0, $215$hi = 0, $12_1 = 0, $102_1 = 0, $117_1 = 0, $201_1 = 0, $373_1 = 0, $205_1 = 0, $404_1 = 0, $209_1 = 0, $529_1 = 0, $165_1 = 0, $603_1 = 0, $214_1 = 0, $624_1 = 0, $198_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + label$1 : { + if (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + $12_1 = (HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + -1 | 0; + label$2 : { + label$3 : { + switch ($12_1 | 0) { + case 0: + case 2: + $20_1 = 0; + label$7 : { + if (!($2244(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + $20_1 = 0; + if (!($2244(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + $20_1 = ($2252(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + HEAP32[($5_1 + 16 | 0) >> 2] = $20_1 & 1 | 0; + label$8 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$8 + } + if (!((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$9 + } + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$8 + } + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $201_1 = i64toi32_i32$0; + $201$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $202$hi = i64toi32_i32$0; + i64toi32_i32$0 = $201$hi; + i64toi32_i32$0 = $202$hi; + i64toi32_i32$0 = $201$hi; + i64toi32_i32$0 = $202$hi; + $373_1 = i64toi32_i32$1; + i64toi32_i32$0 = $201$hi; + i64toi32_i32$2 = $201_1; + i64toi32_i32$1 = $202$hi; + i64toi32_i32$3 = $373_1; + label$12 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$12 + } + $2196(HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$11; + }; + } + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $205_1 = i64toi32_i32$2; + $205$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $206$hi = i64toi32_i32$2; + i64toi32_i32$2 = $205$hi; + i64toi32_i32$2 = $206$hi; + i64toi32_i32$2 = $205$hi; + i64toi32_i32$2 = $206$hi; + $404_1 = i64toi32_i32$0; + i64toi32_i32$2 = $205$hi; + i64toi32_i32$3 = $205_1; + i64toi32_i32$0 = $206$hi; + i64toi32_i32$1 = $404_1; + label$13 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$13 + } + $2196(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + } + break label$2; + case 3: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2244(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2244(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $102_1 = 1; + label$14 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$14 + } + $102_1 = (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0); + } + HEAP32[($5_1 + 16 | 0) >> 2] = $102_1 & 1 | 0; + break label$2; + case 1: + $117_1 = 0; + label$15 : { + if (!($2244(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$15 + } + $117_1 = ($2244(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) ^ -1 | 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = $117_1 & 1 | 0; + break label$2; + default: + break label$3; + }; + } + label$16 : { + label$17 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $209_1 = i64toi32_i32$3; + $209$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $210$hi = i64toi32_i32$3; + i64toi32_i32$3 = $209$hi; + i64toi32_i32$3 = $210$hi; + i64toi32_i32$3 = $209$hi; + i64toi32_i32$3 = $210$hi; + $529_1 = i64toi32_i32$2; + i64toi32_i32$3 = $209$hi; + i64toi32_i32$1 = $209_1; + i64toi32_i32$2 = $210$hi; + i64toi32_i32$0 = $529_1; + label$18 : { + if (((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0) { + break label$18 + } + if (!((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 34 | 0) >> 0] | 0) & 255 | 0)) { + break label$17 + } + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$19 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 34 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$19 + } + $2196(HEAP32[$5_1 >> 2] | 0 | 0); + } + $165_1 = $2253(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $165_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $603_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $603_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$3; + break label$16; + } + $181_1 = 0; + label$20 : { + if ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) { + break label$20 + } + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; + $214_1 = i64toi32_i32$3; + $214$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $215$hi = i64toi32_i32$3; + i64toi32_i32$3 = $214$hi; + i64toi32_i32$3 = $215$hi; + i64toi32_i32$3 = $214$hi; + i64toi32_i32$3 = $215$hi; + $624_1 = i64toi32_i32$1; + i64toi32_i32$3 = $214$hi; + i64toi32_i32$0 = $214_1; + i64toi32_i32$1 = $215$hi; + i64toi32_i32$2 = $624_1; + $181_1 = 0; + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$20 + } + $181_1 = (HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) > (0 | 0); + } + HEAP32[($5_1 + 16 | 0) >> 2] = $181_1 & 1 | 0; + } + } + } + $198_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $198_1 | 0; + } + + function $2245($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $2193(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2246($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $155_1 = 0, $48_1 = 0, $56_1 = 0, $390$hi = 0, $391$hi = 0, $394$hi = 0, $395$hi = 0, $399$hi = 0, $400$hi = 0, $403$hi = 0, $404$hi = 0, $407$hi = 0, $408$hi = 0, $411$hi = 0, $412$hi = 0, $53_1 = 0, $78_1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $111_1 = 0, $52_1 = 0, $54_1 = 0, $55_1 = 0, $184_1 = 0, $209_1 = 0, $57_1 = 0, $58_1 = 0, $59_1 = 0, $233_1 = 0, $269_1 = 0, $102_1 = 0, $390_1 = 0, $639_1 = 0, $394_1 = 0, $666_1 = 0, $705_1 = 0, $175_1 = 0, $399_1 = 0, $785_1 = 0, $403_1 = 0, $812_1 = 0, $224_1 = 0, $407_1 = 0, $889_1 = 0, $411_1 = 0, $916_1 = 0, $955_1 = 0, $1195_1 = 0, $386_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 208 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 200 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 196 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 192 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 188 | 0) >> 2] = 0; + HEAP32[($5_1 + 184 | 0) >> 2] = HEAP32[($5_1 + 196 | 0) >> 2] | 0; + HEAP32[($5_1 + 180 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 200 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[($5_1 + 179 | 0) >> 0] = 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 196 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2248(HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 196 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 184 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($5_1 + 184 | 0) >> 2] | 0) + 28 | 0 | 0, (HEAP32[($5_1 + 184 | 0) >> 2] | 0) + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 184 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($5_1 + 179 | 0) >> 0] = 1; + } + break label$2; + } + HEAP32[($5_1 + 172 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 200 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0; + $3289($5_1 + 64 | 0 | 0, 0 | 0, 96 | 0) | 0; + label$5 : { + label$6 : while (1) { + if ((HEAPU8[($5_1 + 179 | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + $53_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $53_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = 0; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 44 | 0) >> 2] = $53_1; + label$7 : while (1) { + $56_1 = 0; + label$8 : { + if (HEAP32[($5_1 + 188 | 0) >> 2] | 0) { + break label$8 + } + $56_1 = 0; + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 196 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $56_1 = ((HEAPU8[($5_1 + 179 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + label$9 : { + if (!($56_1 & 1 | 0)) { + break label$9 + } + $78_1 = $5_1 + 64 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2249(HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $78_1 + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0 | 0, $5_1 + 179 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($78_1 + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0) >> 2] | 0) { + break label$10 + } + label$11 : { + if (!(HEAP32[($5_1 + 60 | 0) >> 2] | 0)) { + break label$11 + } + $102_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $390_1 = i64toi32_i32$0; + $390$hi = i64toi32_i32$1; + i64toi32_i32$2 = ($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $391$hi = i64toi32_i32$0; + i64toi32_i32$0 = $390$hi; + i64toi32_i32$0 = $391$hi; + i64toi32_i32$0 = $390$hi; + i64toi32_i32$0 = $391$hi; + $639_1 = i64toi32_i32$1; + i64toi32_i32$0 = $390$hi; + i64toi32_i32$2 = $390_1; + i64toi32_i32$1 = $391$hi; + i64toi32_i32$3 = $639_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $49_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $50_1 = 0 + } else { + $50_1 = 1 + } + $51_1 = $50_1; + } else { + $51_1 = 0 + } + $49_1 = $51_1; + } + label$12 : { + label$13 : { + if (!($49_1 & 1 | 0)) { + break label$13 + } + $111_1 = 1; + break label$12; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $394_1 = i64toi32_i32$2; + $394$hi = i64toi32_i32$0; + i64toi32_i32$3 = ($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $395$hi = i64toi32_i32$2; + i64toi32_i32$2 = $394$hi; + i64toi32_i32$2 = $395$hi; + i64toi32_i32$2 = $394$hi; + i64toi32_i32$2 = $395$hi; + $666_1 = i64toi32_i32$0; + i64toi32_i32$2 = $394$hi; + i64toi32_i32$3 = $394_1; + i64toi32_i32$0 = $395$hi; + i64toi32_i32$1 = $666_1; + $111_1 = ((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0 ? 0 : -1; + } + if (!((Math_imul($102_1, $111_1) | 0) < (0 | 0) & 1 | 0)) { + break label$10 + } + } + i64toi32_i32$1 = ($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $705_1 = i64toi32_i32$3; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $705_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 60 | 0) >> 2] = 1; + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 196 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + label$16 : while (1) { + $155_1 = 0; + label$17 : { + if (HEAP32[($5_1 + 188 | 0) >> 2] | 0) { + break label$17 + } + $155_1 = 0; + if ((HEAPU8[($5_1 + 179 | 0) >> 0] | 0) & 255 | 0) { + break label$17 + } + $155_1 = 0; + if (HEAP32[(($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0) >> 2] | 0) { + break label$17 + } + $175_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$1 = ($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $399_1 = i64toi32_i32$2; + $399$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $400$hi = i64toi32_i32$2; + i64toi32_i32$2 = $399$hi; + i64toi32_i32$2 = $400$hi; + i64toi32_i32$2 = $399$hi; + i64toi32_i32$2 = $400$hi; + $785_1 = i64toi32_i32$3; + i64toi32_i32$2 = $399$hi; + i64toi32_i32$1 = $399_1; + i64toi32_i32$3 = $400$hi; + i64toi32_i32$0 = $785_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$3 | 0)) { + $52_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0) { + $54_1 = 0 + } else { + $54_1 = 1 + } + $55_1 = $54_1; + } else { + $55_1 = 0 + } + $52_1 = $55_1; + } + label$18 : { + label$19 : { + if (!($52_1 & 1 | 0)) { + break label$19 + } + $184_1 = 1; + break label$18; + } + i64toi32_i32$0 = ($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $403_1 = i64toi32_i32$1; + $403$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $404$hi = i64toi32_i32$1; + i64toi32_i32$1 = $403$hi; + i64toi32_i32$1 = $404$hi; + i64toi32_i32$1 = $403$hi; + i64toi32_i32$1 = $404$hi; + $812_1 = i64toi32_i32$2; + i64toi32_i32$1 = $403$hi; + i64toi32_i32$0 = $403_1; + i64toi32_i32$2 = $404$hi; + i64toi32_i32$3 = $812_1; + $184_1 = ((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0 ? 0 : -1; + } + $155_1 = (Math_imul($175_1, $184_1) | 0) < (0 | 0); + } + label$20 : { + if (!($155_1 & 1 | 0)) { + break label$20 + } + $209_1 = $5_1 + 64 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2249(HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $209_1 + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0 | 0, $5_1 + 179 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + $224_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$3 = $209_1 + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $407_1 = i64toi32_i32$0; + $407$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $408$hi = i64toi32_i32$0; + i64toi32_i32$0 = $407$hi; + i64toi32_i32$0 = $408$hi; + i64toi32_i32$0 = $407$hi; + i64toi32_i32$0 = $408$hi; + $889_1 = i64toi32_i32$1; + i64toi32_i32$0 = $407$hi; + i64toi32_i32$3 = $407_1; + i64toi32_i32$1 = $408$hi; + i64toi32_i32$2 = $889_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $57_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$2 >>> 0) { + $58_1 = 0 + } else { + $58_1 = 1 + } + $59_1 = $58_1; + } else { + $59_1 = 0 + } + $57_1 = $59_1; + } + label$21 : { + label$22 : { + if (!($57_1 & 1 | 0)) { + break label$22 + } + $233_1 = 1; + break label$21; + } + i64toi32_i32$2 = ($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $411_1 = i64toi32_i32$3; + $411$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $412$hi = i64toi32_i32$3; + i64toi32_i32$3 = $411$hi; + i64toi32_i32$3 = $412$hi; + i64toi32_i32$3 = $411$hi; + i64toi32_i32$3 = $412$hi; + $916_1 = i64toi32_i32$0; + i64toi32_i32$3 = $411$hi; + i64toi32_i32$2 = $411_1; + i64toi32_i32$0 = $412$hi; + i64toi32_i32$1 = $916_1; + $233_1 = ((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0 ? 0 : -1; + } + label$23 : { + if (!((Math_imul($224_1, $233_1) | 0) > (0 | 0) & 1 | 0)) { + break label$23 + } + i64toi32_i32$1 = ($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $955_1 = i64toi32_i32$2; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $955_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + continue label$16; + } + break label$16; + }; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + label$24 : { + if ((HEAPU8[($5_1 + 179 | 0) >> 0] | 0) & 255 | 0) { + break label$24 + } + $269_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $269_1; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((($5_1 + 64 | 0) + Math_imul((HEAP32[((HEAP32[($5_1 + 196 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) - 1 | 0, 24) | 0) + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + if ((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != ($269_1 | 0) & 1 | 0) { + break label$25 + } + HEAP32[($5_1 + 204 | 0) >> 2] = 7; + break label$1; + } + $3288(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((($5_1 + 64 | 0) + Math_imul((HEAP32[((HEAP32[($5_1 + 196 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) - 1 | 0, 24) | 0) + 16 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0; + $48_1 = 0; + HEAP8[i64toi32_i32$2 >> 0] = $48_1; + HEAP8[(i64toi32_i32$2 + 1 | 0) >> 0] = $48_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$2 + 2 | 0) >> 0] = $48_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$2 + 3 | 0) >> 0] = $48_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$2 + 4 | 0) >> 0] = i64toi32_i32$3; + HEAP8[(i64toi32_i32$2 + 5 | 0) >> 0] = i64toi32_i32$3 >>> 8 | 0; + HEAP8[(i64toi32_i32$2 + 6 | 0) >> 0] = i64toi32_i32$3 >>> 16 | 0; + HEAP8[(i64toi32_i32$2 + 7 | 0) >> 0] = i64toi32_i32$3 >>> 24 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + label$26 : { + label$27 : while (1) { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < ((HEAP32[((HEAP32[($5_1 + 196 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$26 + } + label$28 : { + if (HEAP32[(($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0) >> 2] | 0) { + break label$28 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0) + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 196 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) - 1 | 0) - (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2237($5_1 + 20 | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0, $5_1 + 28 | 0 | 0, $5_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$29 + } + break label$26; + } + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) - (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0; + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$27; + }; + } + label$30 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($5_1 + 196 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$30 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $1195_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($5_1 + 184 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = $1195_1; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($5_1 + 184 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 184 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 184 | 0) >> 2] | 0) + 24 | 0) >> 2] = 1; + break label$5; + } + $42(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0); + } + continue label$6; + }; + } + } + HEAP8[(HEAP32[($5_1 + 192 | 0) >> 2] | 0) >> 0] = HEAPU8[($5_1 + 179 | 0) >> 0] | 0; + HEAP32[($5_1 + 204 | 0) >> 2] = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + } + $386_1 = HEAP32[($5_1 + 204 | 0) >> 2] | 0; + global$0 = $5_1 + 208 | 0; + return $386_1 | 0; + } + + function $2247($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $30_1 = 0, $98$hi = 0, $55_1 = 0, $101$hi = 0, $56_1 = 0, $76_1 = 0, $80_1 = 0, $25_1 = 0, $40_1 = 0, $98_1 = 0, $223$hi = 0, $101_1 = 0, $234$hi = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + } + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + $25_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $30_1 = (HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $30_1; + if (!($25_1 >>> 0 >= $30_1 >>> 0 & 1 | 0)) { + break label$4 + } + } + HEAP8[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 0] = 1; + break label$3; + } + $40_1 = $2061(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + $40_1 | 0; + label$6 : { + label$7 : { + label$8 : { + if (!((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $98_1 = i64toi32_i32$0; + $98$hi = i64toi32_i32$1; + $55_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = $55_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $223$hi = i64toi32_i32$0; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$0 = $223$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $98$hi; + i64toi32_i32$3 = $98_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $55_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + break label$6; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $101_1 = i64toi32_i32$5; + $101$hi = i64toi32_i32$2; + $56_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = $56_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $234$hi = i64toi32_i32$5; + i64toi32_i32$5 = $101$hi; + i64toi32_i32$5 = $234$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $101$hi; + i64toi32_i32$3 = $101_1; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$0 = $56_1; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$4; + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $2105(0 | 0, $5_1 + 16 | 0 | 0); + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0; + label$9 : while (1) { + $76_1 = 0; + label$10 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$10 + } + $80_1 = 24; + $76_1 = (((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $80_1 | 0) >> $80_1 | 0 | 0) == (0 | 0); + } + label$11 : { + if (!($76_1 & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP8[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 0] = 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2248($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $50_1 = 0, $162$hi = 0, $163$hi = 0, $20_1 = 0, $83_1 = 0, $257_1 = 0, $162_1 = 0, $336_1 = 0, $505_1 = 0, $158_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 ? 95 : 96; + label$1 : { + label$2 : { + if (HEAP32[($7_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + $20_1 = 0; + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = $20_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $20_1; + break label$1; + } + label$3 : { + label$4 : while (1) { + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = 0; + break label$3; + } + i64toi32_i32$2 = HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] | 0; + $257_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[$7_1 >> 2] = $257_1; + HEAP32[($7_1 + 4 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2097(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0, $7_1 + 16 | 0 | 0, $7_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 8 | 0) >> 2] = 1; + label$6 : while (1) { + $50_1 = 0; + label$7 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$7 + } + $50_1 = 0; + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $50_1 = 0; + if (!((HEAP32[((HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] | 0; + $162_1 = i64toi32_i32$1; + $162$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[$7_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + $163$hi = i64toi32_i32$1; + i64toi32_i32$1 = $162$hi; + i64toi32_i32$1 = $163$hi; + i64toi32_i32$1 = $162$hi; + i64toi32_i32$1 = $163$hi; + $336_1 = i64toi32_i32$0; + i64toi32_i32$1 = $162$hi; + i64toi32_i32$2 = $162_1; + i64toi32_i32$0 = $163$hi; + $50_1 = (i64toi32_i32$2 | 0) == ($336_1 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0; + } + label$8 : { + if (!($50_1 & 1 | 0)) { + break label$8 + } + $83_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2097(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $83_1 | 0, $83_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + label$9 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + break label$1; + } + $2090(HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + label$10 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[((HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2095(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + label$12 : { + if (!((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$12 + } + $2098(HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 1 | 0, $7_1 + 16 | 0 | 0, $7_1 + 12 | 0 | 0); + } + label$13 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[$7_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + $505_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $505_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + break label$3; + } + continue label$4; + }; + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + } + $158_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $158_1 | 0; + } + + function $2249($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $137_1 = 0, $68_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2247(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $137_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $137_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + HEAP32[($7_1 + 4 | 0) >> 2] = ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($7_1 + 20 | 0) >> 2] | 0, 24) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2248(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 0] = 1; + } + break label$3; + } + HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] = 1; + } + } + $68_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $68_1 | 0; + } + + function $2250($0_1, $1_1, $1$hi, $2_1, $2$hi, $3_1, $3$hi, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + var i64toi32_i32$2 = 0, $7_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $115$hi = 0, $109$hi = 0, $110$hi = 0, i64toi32_i32$6 = 0, $123$hi = 0, $127$hi = 0, $128$hi = 0, $135$hi = 0, $8_1 = 0, $113$hi = 0, $115_1 = 0, $36_1 = 0, $44_1 = 0, $125$hi = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $64_1 = 0, $74_1 = 0, $137$hi = 0, $52_1 = 0, $53_1 = 0, $54_1 = 0, $139$hi = 0, $140$hi = 0, $141$hi = 0, $142$hi = 0, $109_1 = 0, $189_1 = 0, $113_1 = 0, $120$hi = 0, $277_1 = 0, $127_1 = 0, $299_1 = 0, $133$hi = 0, $350_1 = 0, $87_1 = 0, $381_1 = 0, $396_1 = 0, $106_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != ($8_1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $109_1 = i64toi32_i32$0; + $109$hi = i64toi32_i32$1; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $110$hi = i64toi32_i32$0; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$0 = $110$hi; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$0 = $110$hi; + $189_1 = i64toi32_i32$1; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$2 = $109_1; + i64toi32_i32$1 = $110$hi; + i64toi32_i32$3 = $189_1; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$2 + } + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + $113_1 = i64toi32_i32$2; + $113$hi = i64toi32_i32$0; + label$4 : { + label$5 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$3 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $115_1 = i64toi32_i32$0; + $115$hi = i64toi32_i32$2; + break label$4; + } + i64toi32_i32$2 = 0; + $115_1 = 0; + $115$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $115$hi; + i64toi32_i32$2 = $113$hi; + i64toi32_i32$2 = $115$hi; + i64toi32_i32$2 = $113$hi; + i64toi32_i32$3 = $113_1; + i64toi32_i32$0 = $115$hi; + i64toi32_i32$1 = $115_1; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + i64toi32_i32$3 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$5; + label$6 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $36_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[$36_1 >> 2] = (HEAP32[$36_1 >> 2] | 0) + 1 | 0; + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $44_1 = $2251(i64toi32_i32$2 + 24 | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$3 | 0) | 0; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = $44_1; + label$7 : { + if (!((0 | 0) != ($44_1 | 0) & 1 | 0)) { + break label$7 + } + break label$1; + } + i64toi32_i32$3 = 0; + $120$hi = i64toi32_i32$3; + i64toi32_i32$3 = -1; + i64toi32_i32$5 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$5 + 24 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$5 + 28 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$3 = $120$hi; + i64toi32_i32$5 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$5 + 32 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$5 + 36 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $7_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $277_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = $277_1; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$5 = 0; + $123$hi = i64toi32_i32$5; + i64toi32_i32$2 = $7_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $125$hi = i64toi32_i32$3; + i64toi32_i32$3 = $123$hi; + i64toi32_i32$3 = $125$hi; + i64toi32_i32$3 = $123$hi; + i64toi32_i32$3 = $125$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $123$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$5 | 0)) { + $49_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$1 >>> 0) { + $50_1 = 0 + } else { + $50_1 = 1 + } + $51_1 = $50_1; + } else { + $51_1 = 0 + } + $49_1 = $51_1; + } + label$8 : { + if (!($49_1 & 1 | 0)) { + break label$8 + } + i64toi32_i32$1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $127_1 = i64toi32_i32$2; + $127$hi = i64toi32_i32$3; + i64toi32_i32$1 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + $128$hi = i64toi32_i32$2; + i64toi32_i32$2 = $127$hi; + i64toi32_i32$2 = $128$hi; + i64toi32_i32$2 = $127$hi; + i64toi32_i32$2 = $128$hi; + $299_1 = i64toi32_i32$3; + i64toi32_i32$2 = $127$hi; + i64toi32_i32$1 = $127_1; + i64toi32_i32$3 = $128$hi; + i64toi32_i32$5 = $299_1; + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$1 = 0; + $64_1 = $2251($7_1 + 24 | 0 | 0, 1 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = $64_1; + label$9 : { + label$10 : { + if ((0 | 0) != ($64_1 | 0) & 1 | 0) { + break label$10 + } + i64toi32_i32$5 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + $74_1 = $2251($7_1 + 24 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = $74_1; + if (!((0 | 0) != ($74_1 | 0) & 1 | 0)) { + break label$9 + } + } + break label$1; + } + i64toi32_i32$2 = 0; + $133$hi = i64toi32_i32$2; + i64toi32_i32$5 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + $350_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] = $350_1; + HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $133$hi; + i64toi32_i32$2 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$1 = 0; + $135$hi = i64toi32_i32$1; + i64toi32_i32$5 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + $137$hi = i64toi32_i32$2; + i64toi32_i32$2 = $135$hi; + i64toi32_i32$2 = $137$hi; + i64toi32_i32$2 = $135$hi; + i64toi32_i32$2 = $137$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $135$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$1 | 0)) { + $52_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + $53_1 = 0 + } else { + $53_1 = 1 + } + $54_1 = $53_1; + } else { + $54_1 = 0 + } + $52_1 = $54_1; + } + label$11 : { + if (!($52_1 & 1 | 0)) { + break label$11 + } + $87_1 = $7_1 + 24 | 0; + i64toi32_i32$3 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $139$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $140$hi = i64toi32_i32$2; + i64toi32_i32$2 = $139$hi; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$2 = $139$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $140$hi; + i64toi32_i32$1 = 2; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $141$hi = i64toi32_i32$4; + i64toi32_i32$2 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $142$hi = i64toi32_i32$3; + i64toi32_i32$3 = $141$hi; + i64toi32_i32$3 = $142$hi; + $381_1 = i64toi32_i32$4; + i64toi32_i32$3 = $141$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$4 = $142$hi; + i64toi32_i32$1 = $381_1; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2251($87_1 | 0, i64toi32_i32$5 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$12 + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $396_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $396_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$2; + } + } + } + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + label$13 : { + label$14 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = 1; + break label$13; + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + } + $106_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $106_1 | 0; + } + + function $2251($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $80_1 = 0, $79_1 = 0, $90_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $38(140 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 100; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = 0; + break label$2; + } + label$5 : { + if (!((((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 10 | 0) + 1 | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $44(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + $42(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0; + } + } + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $79_1 = $2102((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $80_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$80_1 >> 2] = (HEAP32[$80_1 >> 2] | 0) + $79_1 | 0; + HEAP8[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $90_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $90_1 | 0; + } + + function $2252($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $74_1 = 0, $171$hi = 0, $174$hi = 0, $177$hi = 0, $178$hi = 0, $22_1 = 0, $127_1 = 0, $150_1 = 0, $171_1 = 0, $272$hi = 0, $49_1 = 0, $174_1 = 0, $294$hi = 0, $167_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = 1; + label$1 : { + if (HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if ((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$2 + } + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$1 + } + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $171_1 = i64toi32_i32$1; + $171$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $272$hi = i64toi32_i32$1; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$1 = $272$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $171$hi; + i64toi32_i32$3 = $171_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$4; + }; + } + $49_1 = 0; + i64toi32_i32$2 = HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $174_1 = i64toi32_i32$2; + $174$hi = i64toi32_i32$5; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $294$hi = i64toi32_i32$2; + i64toi32_i32$2 = $174$hi; + i64toi32_i32$2 = $294$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $174$hi; + i64toi32_i32$3 = $174_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$2 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $177$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $178$hi = i64toi32_i32$1; + i64toi32_i32$1 = $177$hi; + i64toi32_i32$1 = $178$hi; + i64toi32_i32$1 = $177$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $178$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$2 << i64toi32_i32$5 | 0; + $22_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$5 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$5 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$5 | 0) | 0; + $22_1 = i64toi32_i32$2 << i64toi32_i32$5 | 0; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41($22_1 | 0, i64toi32_i32$4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if ((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) != ($49_1 | 0) & 1 | 0) { + break label$6 + } + HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] = 7; + HEAP32[($4_1 + 52 | 0) >> 2] = 0; + break label$5; + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$7 : while (1) { + $74_1 = 0; + label$8 : { + if (!(HEAP32[($4_1 + 52 | 0) >> 2] | 0)) { + break label$8 + } + $74_1 = 0; + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $74_1 = (HEAP32[(HEAP32[($4_1 + 48 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0); + } + label$9 : { + if (!($74_1 & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2254(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, $4_1 + 32 | 0 | 0, $4_1 + 28 | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$7; + } + break label$7; + }; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$10 : while (1) { + $127_1 = 0; + label$11 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $127_1 = (HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$12 : { + if (!($127_1 & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$13 : { + label$14 : { + if (!((HEAP32[(HEAP32[($4_1 + 48 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$14 + } + $150_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + break label$13; + } + $150_1 = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = $150_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2254(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, $4_1 + 32 | 0 | 0, $4_1 + 28 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$10; + } + break label$10; + }; + } + $42(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + } + $167_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $167_1 | 0; + } + + function $2253($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $5_1 = 0, $48_1 = 0, $84_1 = 0, i64toi32_i32$2 = 0, $168_1 = 0, i64toi32_i32$1 = 0, $443_1 = 0, $174_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 52 | 0) >> 2] = -1; + HEAP32[($4_1 + 64 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 48 | 0) >> 2] = ((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($4_1 + 64 | 0) >> 2] | 0, 24) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2255(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $4_1 + 40 | 0 | 0, $4_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($4_1 + 32 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + break label$1; + } + label$6 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + $48_1 = 0; + $42(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = $48_1; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] = $48_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $48_1; + break label$1; + } + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + break label$7; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $2237($4_1 + 28 | 0 | 0, (HEAP32[($4_1 + 64 | 0) >> 2] | 0) - (HEAP32[($4_1 + 52 | 0) >> 2] | 0) | 0 | 0, 0 | 0, 1 | 0, $4_1 + 24 | 0 | 0, $4_1 + 20 | 0 | 0) | 0; + $42(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) - (HEAP32[($4_1 + 60 | 0) >> 2] | 0) | 0; + label$9 : { + if (HEAP32[($4_1 + 56 | 0) >> 2] | 0) { + break label$9 + } + $84_1 = 0; + $42(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = $84_1; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] = $84_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $84_1; + break label$1; + } + } + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$10 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$11 : { + label$12 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $443_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $443_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 2] = 1; + break label$11; + } + label$13 : { + label$14 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) - (HEAP32[($4_1 + 52 | 0) >> 2] | 0) | 0; + break label$13; + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 52 | 0) >> 2] | 0) - (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $38((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$15 : { + if ((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$15 + } + $42(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 76 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + label$16 : { + label$17 : { + if (!($2237($4_1 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0, $4_1 + 8 | 0 | 0, $4_1 + 4 | 0 | 0) | 0)) { + break label$17 + } + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 2] = 1; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0; + break label$16; + } + $168_1 = 0; + $42(HEAP32[$4_1 >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = $168_1; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] = $168_1; + } + $42(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($4_1 + 76 | 0) >> 2] = 0; + } + $174_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $174_1 | 0; + } + + function $2254($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $23_1 = 0, $60_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] | 0) | 0; + $23_1 = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = $23_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $23_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2256($7_1 + 8 | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $7_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(HEAP32[($7_1 + 4 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[($7_1 + 16 | 0) >> 2] = ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0) - 1 | 0; + label$2 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + $3289((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) - (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + } + HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + } + $60_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $60_1 | 0; + } + + function $2255($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $6_1; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(HEAP32[(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2061(HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = (HEAP32[(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $3288(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $51_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $51_1 | 0; + } + + function $2256($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $13_1 = 0, $12_1 = 0, $25_1 = 0, $77_1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + $12_1 = 1; + $13_1 = 0; + HEAP32[($8_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[$8_1 >> 2] = $12_1; + $2237($8_1 + 12 | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, $13_1 | 0, $13_1 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $25_1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = $25_1; + HEAP32[($8_1 + 4 | 0) >> 2] = $25_1; + HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + $2237($8_1 + 8 | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, $12_1 | 0, $13_1 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2232(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, $8_1 + 40 | 0 | 0, $8_1 + 4 | 0 | 0) | 0; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $2105(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, $8_1 + 40 | 0 | 0); + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $2105(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, $8_1 + 4 | 0 | 0); + break label$5; + } + HEAP32[$8_1 >> 2] = 0; + } + } + } + $77_1 = HEAP32[$8_1 >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $77_1 | 0; + } + + function $2257($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $121_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $66(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $233(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$4 + } + if (!((0 | 0) == ($89(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 13390 | 0, 8 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2265(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$6 + } + if (!((0 | 0) == ($89(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 49941 | 0, 7 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2266(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (15 | 0) & 1 | 0)) { + break label$8 + } + if (!((0 | 0) == ($89(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 49949 | 0, 15 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2267(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (6 | 0) & 1 | 0)) { + break label$10 + } + if (!((0 | 0) == ($89(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 49965 | 0, 6 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2268(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 6 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$9; + } + label$11 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (10 | 0) & 1 | 0)) { + break label$11 + } + if (!((0 | 0) == ($89(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 49972 | 0, 10 | 0) | 0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2269(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 10 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $121_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $121_1 | 0; + } + + function $2258($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + if (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 268 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2075(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 16 | 0, $3_1 + 4 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + $332(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + $287(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $222(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + } + $20_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $20_1 | 0; + } + + function $2259($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $13_1 = 0, $82_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $13_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $13_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $13_1; + $2270($6_1 + 12 | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0); + label$1 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($6_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2271(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $6_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + label$4 : { + if (!(HEAP32[($6_1 + 4 | 0) >> 2] | 0)) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2272(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + $3289(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, (((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) << 1 | 0 | 0) | 0; + break label$3; + } + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0; + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $2273($6_1 + 12 | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, $6_1 + 24 | 0 | 0); + } + label$6 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 238 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + $2273($6_1 + 12 | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 19 | 0, $6_1 + 24 | 0 | 0); + } + } + } + } + $82_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $82_1 | 0; + } + + function $2260($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $229_1 = 0, $424_1 = 0, $137_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 3 | 0) << 2 | 0) | 0) >> 2] | 0; + label$3 : { + if (!(($248(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + label$4 : { + if (!(($248(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 19; + break label$1; + } + i64toi32_i32$0 = $62(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $229_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $229_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 18 | 0, $5_1 + 8 | 0 | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$5 + } + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $330(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0, $239(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + label$7 : { + if (!((5 | 0) != ($248(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 3 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!((5 | 0) == ($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + if (!((5 | 0) != ($248(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $334(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 3 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + } + $287(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = $451(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $424_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $424_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $137_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $137_1 | 0; + } + + function $2261($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $47$hi = 0, $48$hi = 0, $51$hi = 0, $52$hi = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $47_1 = 0, $78_1 = 0, $51_1 = 0, $93_1 = 0, $158_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $47_1 = i64toi32_i32$0; + $47$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 272 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 276 | 0) >> 2] | 0; + $48$hi = i64toi32_i32$0; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$0 = $48$hi; + $78_1 = i64toi32_i32$1; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$2 = $47_1; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$3 = $78_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $20_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $21_1 = 0 + } else { + $21_1 = 1 + } + $22_1 = $21_1; + } else { + $22_1 = 0 + } + $20_1 = $22_1; + } + label$1 : { + label$2 : { + label$3 : { + if ($20_1 & 1 | 0) { + break label$3 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $51_1 = i64toi32_i32$2; + $51$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 272 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 276 | 0) >> 2] | 0; + $52$hi = i64toi32_i32$2; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$2 = $52$hi; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$2 = $52$hi; + $93_1 = i64toi32_i32$0; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$3 = $51_1; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$1 = $93_1; + label$4 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$4 + } + if (!(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 284 | 0) >> 2] | 0)) { + break label$3 + } + } + if ((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 280 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 268 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2161(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($6_1 + 4 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$1; + } + } + i64toi32_i32$1 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $158_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 272 | 0) >> 2] = $158_1; + HEAP32[(i64toi32_i32$3 + 276 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 280 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 284 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $44_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $44_1 | 0; + } + + function $2262($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $59_1 = 0, $53_1 = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = 2; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) - 2 | 0; + label$4 : { + if ((HEAPU8[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2274(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $53_1 = $233(HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + $59_1 = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$59_1 >> 2] = (HEAP32[$59_1 >> 2] | 0) + $53_1 | 0; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $66_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $66_1 | 0; + } + + function $2263($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $53$hi = 0, $54$hi = 0, i64toi32_i32$2 = 0, $10_1 = 0, $49_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + i64toi32_i32$1 = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $53$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $54$hi = i64toi32_i32$0; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$0 = $53$hi; + $10_1 = i64toi32_i32$1; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$1 = __wasm_i64_mul($10_1 | 0, i64toi32_i32$0 | 0, 10 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = 7; + break label$1; + } + $2275(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 20 | 0, $5_1 + 8 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$4 + } + $42(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 272 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 276 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $325(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 3 | 0) | 0; + $287(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $49_1 = $222(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = $49_1; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2264($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $191$hi = 0, $192$hi = 0, $53_1 = 0, $91_1 = 0, $176_1 = 0, $177_1 = 0, $15_1 = 0, $185_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0; + label$1 : { + label$2 : { + if (!(HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + i64toi32_i32$1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $191$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $192$hi = i64toi32_i32$0; + i64toi32_i32$0 = $191$hi; + i64toi32_i32$0 = $192$hi; + i64toi32_i32$0 = $191$hi; + $15_1 = i64toi32_i32$1; + i64toi32_i32$1 = $192$hi; + i64toi32_i32$1 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$0 | 0, 14 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $41(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = 7; + break label$1; + } + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, 22 | 0, $7_1 + 28 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$4 + } + $42(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + break label$1; + } + $330(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0, 0 | 0) | 0; + label$5 : { + label$6 : { + if (!(($287(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$6 + } + $53_1 = 0; + $2276(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, $311(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, $53_1 | 0) | 0 | 0, $315(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, $53_1 | 0) | 0 | 0); + break label$5; + } + $3289(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $222(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$7 + } + $42(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + break label$1; + } + label$8 : { + label$9 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$9 + } + if (!((HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] | 0) >>> 0 < (0 - (HEAP32[($7_1 + 44 | 0) >> 2] | 0) | 0) >>> 0 & 1 | 0)) { + break label$9 + } + HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] = 0; + break label$8; + } + $91_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[$91_1 >> 2] = (HEAP32[$91_1 >> 2] | 0) + (HEAP32[($7_1 + 44 | 0) >> 2] | 0) | 0; + } + HEAP32[($7_1 + 24 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < ((HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + label$12 : { + label$13 : { + if (!(((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0) >>> 0 < (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$13 + } + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + break label$12; + } + HEAP32[($7_1 + 12 | 0) >> 2] = ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0) - (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + } + HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + $2275(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, $7_1 + 36 | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, 23 | 0, $7_1 + 28 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$14 + } + $42(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + break label$1; + } + $176_1 = 2; + $177_1 = 0; + $330(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0, $177_1 | 0) | 0; + $325(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, $176_1 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $177_1 | 0) | 0; + $287(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $185_1 = $222(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = $185_1; + $332(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, $176_1 | 0) | 0; + $42(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 64 | 0; + return; + } + + function $2265($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $33_1 = 0, $38_1 = 0, $74_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2161(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 27 | 0, $4_1 + 12 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$2 + } + $330(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 280 | 0) >> 2] | 0 | 0) | 0; + $330(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) | 0; + label$3 : { + label$4 : while (1) { + if (!(($287(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$3 + } + $33_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $317(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $33_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 4 | 0) >> 2] = $33_1; + label$5 : while (1) { + $38_1 = 0; + label$6 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$6 + } + $38_1 = (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0); + } + label$7 : { + if (!($38_1 & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2277(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, -2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 1; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + continue label$4; + }; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + } + $2053(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + label$10 : { + label$11 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$11 + } + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$11 + } + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$11 + } + $74_1 = 101; + break label$10; + } + $74_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + global$0 = $4_1 + 32 | 0; + return $74_1 | 0; + } + + function $2266($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, $8_1 = 0, i64toi32_i32$3 = 0, $75_1 = 0, $219$hi = 0, $220$hi = 0, i64toi32_i32$4 = 0, $221$hi = 0, $222$hi = 0, $26_1 = 0, $223$hi = 0, $224$hi = 0, $65_1 = 0, $93_1 = 0, $135_1 = 0, $181_1 = 0, $32_1 = 0, $321_1 = 0, $79_1 = 0, $80_1 = 0, $129_1 = 0, $216_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 64 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 60 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2272(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$1 + } + $8_1 = 0; + HEAP32[($3_1 + 52 | 0) >> 2] = $8_1; + HEAP32[($3_1 + 48 | 0) >> 2] = $8_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $8_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $8_1; + HEAP32[($3_1 + 36 | 0) >> 2] = $8_1; + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $79(49993 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if ((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($3_1 + 56 | 0) >> 2] = 7; + break label$2; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $402(HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, -1 | 0, $3_1 + 40 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$4 + } + $32_1 = 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $219$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $220$hi = i64toi32_i32$0; + i64toi32_i32$0 = $219$hi; + i64toi32_i32$0 = $220$hi; + i64toi32_i32$0 = $219$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $221$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $222$hi = i64toi32_i32$5; + i64toi32_i32$5 = $221$hi; + i64toi32_i32$5 = $222$hi; + i64toi32_i32$5 = $221$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $222$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + $26_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $26_1 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + } + $223$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $224$hi = i64toi32_i32$2; + i64toi32_i32$2 = $223$hi; + i64toi32_i32$2 = $224$hi; + i64toi32_i32$2 = $223$hi; + i64toi32_i32$0 = $224$hi; + i64toi32_i32$0 = __wasm_i64_mul($26_1 | 0, i64toi32_i32$2 | 0, 3 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $321_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $321_1; + HEAP32[($3_1 + 28 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$5 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41(i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0) == ($32_1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 56 | 0) >> 2] = 7; + break label$5; + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + $3289(HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($3_1 + 48 | 0) >> 2] = (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0; + HEAP32[($3_1 + 44 | 0) >> 2] = (HEAP32[($3_1 + 48 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0; + } + } + label$7 : while (1) { + $65_1 = 0; + label$8 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$8 + } + $65_1 = (100 | 0) == ($287(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0 | 0); + } + label$9 : { + if (!($65_1 & 1 | 0)) { + break label$9 + } + $75_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2278(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $79_1 = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + $80_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $318(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, $75_1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2261($79_1 | 0, $75_1 | 0, $80_1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + $3289(HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, ((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $75_1; + label$10 : while (1) { + $93_1 = 0; + label$11 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$11 + } + $93_1 = (HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + label$12 : { + if (!($93_1 & 1 | 0)) { + break label$12 + } + label$13 : { + if ((HEAPU8[((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + (HEAP32[($3_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$13 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $319(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2274(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + $129_1 = $315(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $135_1 = (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$135_1 >> 2] = (HEAP32[$135_1 >> 2] | 0) + $129_1 | 0; + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + } + break label$10; + }; + label$14 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 238 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + $2263($3_1 + 56 | 0 | 0, HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0); + } + label$15 : { + label$16 : { + if (!(HEAP32[($3_1 + 56 | 0) >> 2] | 0)) { + break label$16 + } + $213(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 40 | 0) >> 2] = 0; + break label$15; + } + HEAP32[($3_1 + 36 | 0) >> 2] = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + $181_1 = (HEAP32[($3_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$181_1 >> 2] = (HEAP32[$181_1 >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + } + continue label$7; + } + break label$7; + }; + label$19 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 236 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$19 + } + $2264($3_1 + 56 | 0 | 0, HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0); + } + $42(HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0); + label$20 : { + if (!((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $213(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$21 + } + HEAP32[($3_1 + 56 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + } + } + } + $216_1 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + global$0 = $3_1 + 64 | 0; + return $216_1 | 0; + } + + function $2267($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2279(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $3_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 267; + } + $13_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $13_1 | 0; + } + + function $2268($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $25_1 = 0, $37_1 = 0, $69_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 8; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2280($4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $15_1 = 24; + label$1 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $15_1 | 0) >> $15_1 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$1 + } + $25_1 = 24; + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $25_1 | 0) >> $25_1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2280($4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $37_1 = 24; + label$2 : { + label$3 : { + label$4 : { + if (((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $37_1 | 0) >> $37_1 | 0) { + break label$4 + } + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($4_1 + 20 | 0) >> 2] = 1; + break label$2; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$5 : { + if (((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 237 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$5 + } + $2187($4_1 + 20 | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2163(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $2053(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + $69_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $69_1 | 0; + } + + function $2269($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $54_1 = 0, $10_1 = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $9_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $9_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $9_1; + $10_1 = $2280($4_1 + 20 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) > (16 | 0) & 1 | 0)) { + break label$1 + } + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] = 8; + } + label$3 : { + label$4 : { + if (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 237 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$4 + } + $2187($4_1 + 16 | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + label$5 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$3; + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 23 | 0, $4_1 + 12 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$3; + } + $54_1 = 2; + $330(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, $54_1 | 0) | 0; + $330(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $54_1 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + $287(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $64_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $64_1 | 0; + } + + function $2270($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $28_1 = 0, $39_1 = 0, $80_1 = 0, $171_1 = 0, $74_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!(HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, 7 | 0, $7_1 + 36 | 0 | 0, $7_1 + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (HEAP32[($7_1 + 40 | 0) >> 2] | 0) { + break label$4 + } + label$5 : { + if (!((100 | 0) == ($287(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + $28_1 = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2278(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $318(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $171_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $171_1; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2261(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, $28_1 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 32 | 0) >> 2] = $28_1; + label$6 : while (1) { + $39_1 = 0; + label$7 : { + if (HEAP32[($7_1 + 40 | 0) >> 2] | 0) { + break label$7 + } + $39_1 = (HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!($39_1 & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) - 1 | 0; + label$9 : { + if ((HEAPU8[((HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$9 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $319(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2274(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, -1 | 0, (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $74_1 = $315(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0; + $80_1 = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$80_1 >> 2] = (HEAP32[$80_1 >> 2] | 0) + $74_1 | 0; + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + label$10 : { + if (!(HEAP32[($7_1 + 40 | 0) >> 2] | 0)) { + break label$10 + } + $222(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + break label$1; + } + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = 1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $222(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + $222(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + } + global$0 = $7_1 + 64 | 0; + return; + } + + function $2271($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $14_1 = 0, $36_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $14_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $14_1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0, $5_1 + 16 | 0 | 0, $5_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + if (!((100 | 0) == ($287(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + $36_1 = $317(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $36_1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + $40_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $40_1 | 0; + } + + function $2272($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $19_1 = 0, $54_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + $2166(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + label$1 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + $2273($4_1 + 4 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 2 | 0, 0 | 0); + } + $17_1 = $4_1 + 4 | 0; + $19_1 = 0; + $2273($17_1 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 3 | 0, $19_1 | 0); + $2273($17_1 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 4 | 0, $19_1 | 0); + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 238 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $2273($4_1 + 4 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 5 | 0, 0 | 0); + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 237 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $2273($4_1 + 4 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 6 | 0, 0 | 0); + } + $54_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $54_1 | 0; + } + + function $2273($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2075(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + $287(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $222(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2274($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $19_1 = 0, $41_1 = 0, $60_1 = 0, $112_1 = 0, $154_1 = 0, $164_1 = 0, $167_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = 0; + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = $19_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $19_1; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2213(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, -1 | 0, $7_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($7_1 + 52 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$4 : while (1) { + $41_1 = 0; + label$5 : { + if (!((0 | 0) == (HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $60_1 = FUNCTION_TABLE[HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 16 | 0) >> 2] | 0, $7_1 + 32 | 0, $7_1 + 28 | 0, $7_1 + 48 | 0, $7_1 + 44 | 0, $7_1 + 40 | 0) | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = $60_1; + $41_1 = (0 | 0) == ($60_1 | 0); + } + label$6 : { + if (!($41_1 & 1 | 0)) { + break label$6 + } + label$7 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) >= (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 1 | 0; + } + label$8 : { + label$9 : { + if ((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$9 + } + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$8 + } + } + HEAP32[($7_1 + 52 | 0) >> 2] = 1; + break label$6; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2297(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 8 | 0) >> 2] = 1; + label$10 : while (1) { + $112_1 = 0; + label$11 : { + if (HEAP32[($7_1 + 52 | 0) >> 2] | 0) { + break label$11 + } + $112_1 = (HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0); + } + label$12 : { + if (!($112_1 & 1 | 0)) { + break label$12 + } + HEAP32[($7_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 8 | 0) >> 2] | 0, 24) | 0; + label$13 : { + label$14 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + break label$13; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2297(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + } + break label$10; + }; + continue label$4; + } + break label$4; + }; + FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0; + $154_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[$154_1 >> 2] = (HEAP32[$154_1 >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0; + label$15 : { + label$16 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$16 + } + $164_1 = 0; + break label$15; + } + $164_1 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 76 | 0) >> 2] = $164_1; + } + $167_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $167_1 | 0; + } + + function $2275($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, i64toi32_i32$0 = 0, $25_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $25_1 = $2102((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + $25_1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return; + } + + function $2276($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, $15_1 = 0, $20_1 = 0, $29_1 = 0, $71$hi = 0, $72$hi = 0, $63_1 = 0, $42_1 = 0, $62_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$1 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$1 + } + $15_1 = 24; + if ((((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $15_1 | 0) >> $15_1 | 0) & 128 | 0) { + break label$1 + } + $20_1 = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $20_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $20_1; + label$2 : while (1) { + $29_1 = 0; + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $29_1 = (HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($29_1 & 1 | 0)) { + break label$4 + } + $42_1 = $2061((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0 | 0, $6_1 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + $42_1 | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $71$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $71$hi; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[$6_1 >> 2] | 0) & -1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + } + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $62_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $63_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $63_1 + 1 | 0; + HEAP32[($62_1 + ($63_1 << 2 | 0) | 0) >> 2] = 0; + continue label$6; + }; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2277($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $189$hi = 0, $190$hi = 0, $195$hi = 0, $196$hi = 0, $186_1 = 0, $46_1 = 0, $86_1 = 0, $30_1 = 0, $31_1 = 0, $32_1 = 0, $97_1 = 0, $193_1 = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $199$hi = 0, $200$hi = 0, $337_1 = 0, $361_1 = 0, $189_1 = 0, $401_1 = 0, $195_1 = 0, $600_1 = 0, $199_1 = 0, $617_1 = 0, $183_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 128 | 0; + global$0 = $6_1; + $7_1 = 0; + i64toi32_i32$0 = 0; + $186_1 = 0; + HEAP32[($6_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 112 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $7_1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $186_1; + HEAP32[($6_1 + 100 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 92 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + i64toi32_i32$1 = $6_1; + HEAP32[$6_1 >> 2] = $186_1; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2056(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, $7_1 | 0, $7_1 | 0, 1 | 0, $7_1 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if (HEAP32[($6_1 + 108 | 0) >> 2] | 0) { + break label$3 + } + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + } + break label$1; + } + label$4 : { + if (!((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2281(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($6_1 + 108 | 0) >> 2] | 0)) { + break label$5 + } + break label$1; + } + } + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + $46_1 = 0; + if (!(($46_1 | 0) == ((HEAP32[((HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != ($46_1 | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 108 | 0) >> 2] = 101; + break label$1; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $337_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $337_1; + HEAP32[($6_1 + 100 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + break label$6; + } + i64toi32_i32$1 = $2076(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $361_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $361_1; + HEAP32[($6_1 + 100 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2282(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 1 | 0 | 0, $6_1 + 104 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + $86_1 = 0; + label$9 : { + if (!((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $189_1 = i64toi32_i32$0; + $189$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $190$hi = i64toi32_i32$0; + i64toi32_i32$0 = $189$hi; + i64toi32_i32$0 = $190$hi; + i64toi32_i32$0 = $189$hi; + i64toi32_i32$0 = $190$hi; + $401_1 = i64toi32_i32$1; + i64toi32_i32$0 = $189$hi; + i64toi32_i32$2 = $189_1; + i64toi32_i32$1 = $190$hi; + i64toi32_i32$3 = $401_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $30_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $31_1 = 0 + } else { + $31_1 = 1 + } + $32_1 = $31_1; + } else { + $32_1 = 0 + } + $30_1 = $32_1; + } + $86_1 = $30_1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = $86_1 & 1 | 0; + } + label$10 : { + if (!(HEAP32[($6_1 + 108 | 0) >> 2] | 0)) { + break label$10 + } + break label$1; + } + $97_1 = $6_1 + 72 | 0; + i64toi32_i32$2 = 0; + $193_1 = 0; + i64toi32_i32$0 = $97_1; + HEAP32[i64toi32_i32$0 >> 2] = $193_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$0 = i64toi32_i32$0 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $193_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($6_1 + 84 | 0) >> 2] = 1; + HEAP32[($6_1 + 84 | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0 | (HEAP32[($6_1 + 12 | 0) >> 2] | 0 ? 2 : 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2057(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0, $97_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + label$12 : while (1) { + if (!((0 | 0) == (HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2059(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!((HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0) != (100 | 0) & 1 | 0)) { + break label$13 + } + break label$11; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2283(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, $6_1 + 92 | 0 | 0, 1 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + continue label$12; + }; + } + label$14 : { + if (!(HEAP32[($6_1 + 108 | 0) >> 2] | 0)) { + break label$14 + } + break label$1; + } + label$15 : { + if (!((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2284(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!(HEAP32[($6_1 + 108 | 0) >> 2] | 0)) { + break label$16 + } + break label$1; + } + } + label$17 : { + if (!((HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2285(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0, HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (HEAP32[($6_1 + 108 | 0) >> 2] | 0) { + break label$18 + } + label$19 : { + label$20 : { + if ((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { + break label$20 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $195_1 = i64toi32_i32$0; + $195$hi = i64toi32_i32$2; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $196$hi = i64toi32_i32$0; + i64toi32_i32$0 = $195$hi; + i64toi32_i32$0 = $196$hi; + i64toi32_i32$0 = $195$hi; + i64toi32_i32$0 = $196$hi; + $600_1 = i64toi32_i32$2; + i64toi32_i32$0 = $195$hi; + i64toi32_i32$3 = $195_1; + i64toi32_i32$2 = $196$hi; + i64toi32_i32$1 = $600_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$2 | 0)) { + $33_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $34_1 = 0 + } else { + $34_1 = 1 + } + $35_1 = $34_1; + } else { + $35_1 = 0 + } + $33_1 = $35_1; + } + if (!($33_1 & 1 | 0)) { + break label$19 + } + } + i64toi32_i32$1 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $199_1 = i64toi32_i32$3; + $199$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; + $200$hi = i64toi32_i32$3; + i64toi32_i32$3 = $199$hi; + i64toi32_i32$3 = $200$hi; + $617_1 = i64toi32_i32$0; + i64toi32_i32$3 = $199$hi; + i64toi32_i32$0 = $200$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2286(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, $199_1 | 0, i64toi32_i32$3 | 0, $617_1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + $2287(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0); + $2054($6_1 + 16 | 0 | 0); + $183_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + global$0 = $6_1 + 128 | 0; + return $183_1 | 0; + } + + function $2278($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $317(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $19_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $19_1 | 0; + } + + function $2279($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $151_1 = 0, $9_1 = 0, $242$hi = 0, $243$hi = 0, $229_1 = 0, $23_1 = 0, $33_1 = 0, $230$hi = 0, $231$hi = 0, $86_1 = 0, $96_1 = 0, $103_1 = 0, $234$hi = 0, $236$hi = 0, $238$hi = 0, $240$hi = 0, $230_1 = 0, $362_1 = 0, $365_1 = 0, $470_1 = 0, $234_1 = 0, $626_1 = 0, $629_1 = 0, $238_1 = 0, $711_1 = 0, $714_1 = 0, $242_1 = 0, $775_1 = 0, $226_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + $9_1 = 0; + i64toi32_i32$0 = 0; + $229_1 = 0; + HEAP32[($4_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 116 | 0) >> 2] = $9_1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $229_1; + HEAP32[($4_1 + 108 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 96 | 0) >> 2] = $229_1; + HEAP32[($4_1 + 100 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 92 | 0) >> 2] = $9_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, 27 | 0, $4_1 + 92 | 0 | 0, $9_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$1 + } + $330(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 280 | 0) >> 2] | 0 | 0) | 0; + $330(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) | 0; + label$2 : while (1) { + $23_1 = 0; + label$3 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$3 + } + $23_1 = ($287(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0); + } + label$4 : { + if (!($23_1 & 1 | 0)) { + break label$4 + } + $33_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $317(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, $33_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 80 | 0) >> 2] = $33_1; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + $230_1 = i64toi32_i32$0; + $230$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2298(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, $4_1 + 116 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $231$hi = i64toi32_i32$0; + i64toi32_i32$0 = $230$hi; + i64toi32_i32$0 = $231$hi; + $362_1 = i64toi32_i32$1; + i64toi32_i32$0 = $230$hi; + i64toi32_i32$2 = $230_1; + i64toi32_i32$1 = $231$hi; + i64toi32_i32$3 = $362_1; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0; + $365_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $365_1; + HEAP32[($4_1 + 108 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 80 | 0) >> 2] = (HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + continue label$2; + } + break label$2; + }; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$7 + } + HEAP32[($4_1 + 116 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + } + } + label$8 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$8 + } + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79(49993 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + label$10 : { + if ((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + HEAP32[($4_1 + 116 | 0) >> 2] = 7; + break label$9; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $402(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, -1 | 0, $4_1 + 72 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0); + } + label$11 : while (1) { + $86_1 = 0; + label$12 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$12 + } + $86_1 = (100 | 0) == ($287(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) | 0 | 0); + } + label$13 : { + if (!($86_1 & 1 | 0)) { + break label$13 + } + $96_1 = 0; + i64toi32_i32$1 = $318(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, $96_1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $470_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $470_1; + HEAP32[($4_1 + 60 | 0) >> 2] = i64toi32_i32$2; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2278(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 48 | 0) >> 2] = $96_1; + label$14 : while (1) { + $103_1 = 0; + label$15 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$15 + } + $103_1 = (HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + label$16 : { + if (!($103_1 & 1 | 0)) { + break label$16 + } + label$17 : { + if ((HEAPU8[((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + (HEAP32[($4_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$17 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $319(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 40 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2213(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, -1 | 0, $4_1 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + label$19 : while (1) { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$18 + } + $151_1 = 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $151_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $151_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $151_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $151_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 40 | 0) >> 2] | 0, $4_1 + 36 | 0, $4_1 + 32 | 0, $4_1 + 28 | 0, $4_1 + 24 | 0, $4_1 + 20 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$20 + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + $234_1 = i64toi32_i32$2; + $234$hi = i64toi32_i32$1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$2 = $2299(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $236$hi = i64toi32_i32$1; + i64toi32_i32$1 = $234$hi; + i64toi32_i32$1 = $236$hi; + $626_1 = i64toi32_i32$2; + i64toi32_i32$1 = $234$hi; + i64toi32_i32$0 = $234_1; + i64toi32_i32$2 = $236$hi; + i64toi32_i32$3 = $626_1; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + $629_1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 96 | 0) >> 2] = $629_1; + HEAP32[($4_1 + 100 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + label$21 : { + label$22 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + label$23 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 24) | 0) >> 2] | 0 | 0) <= (HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + $238_1 = i64toi32_i32$2; + $238$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$2 = $2299(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 24) | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $240$hi = i64toi32_i32$0; + i64toi32_i32$0 = $238$hi; + i64toi32_i32$0 = $240$hi; + $711_1 = i64toi32_i32$2; + i64toi32_i32$0 = $238$hi; + i64toi32_i32$1 = $238_1; + i64toi32_i32$2 = $240$hi; + i64toi32_i32$3 = $711_1; + i64toi32_i32$2 = i64toi32_i32$0 ^ i64toi32_i32$2 | 0; + $714_1 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 96 | 0) >> 2] = $714_1; + HEAP32[($4_1 + 100 | 0) >> 2] = i64toi32_i32$2; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$22; + }; + } + } + continue label$19; + }; + } + label$24 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 40 | 0) >> 2] | 0) | 0; + } + label$25 : { + if (!((HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($4_1 + 116 | 0) >> 2] = 0; + } + } + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + } + break label$14; + }; + continue label$11; + } + break label$11; + }; + $213(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) | 0; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + $242_1 = i64toi32_i32$2; + $242$hi = i64toi32_i32$1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + $243$hi = i64toi32_i32$2; + i64toi32_i32$2 = $242$hi; + i64toi32_i32$2 = $243$hi; + i64toi32_i32$2 = $242$hi; + i64toi32_i32$2 = $243$hi; + $775_1 = i64toi32_i32$1; + i64toi32_i32$2 = $242$hi; + i64toi32_i32$0 = $242_1; + i64toi32_i32$1 = $243$hi; + i64toi32_i32$3 = $775_1; + HEAP32[(HEAP32[($4_1 + 120 | 0) >> 2] | 0) >> 2] = ((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0; + $226_1 = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + global$0 = $4_1 + 128 | 0; + return $226_1 | 0; + } + + function $2280($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $19_1 = 0, $11_1 = 0, $24_1 = 0, $43_1 = 0, $47_1 = 0, $42_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : while (1) { + $11_1 = 24; + $19_1 = 0; + label$2 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $11_1 | 0) >> $11_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$2 + } + $24_1 = 24; + $19_1 = 0; + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0 | 0) <= (57 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = (HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (214748363 | 0); + } + label$3 : { + if (!($19_1 & 1 | 0)) { + break label$3 + } + $42_1 = Math_imul(HEAP32[($3_1 + 4 | 0) >> 2] | 0, 10); + $43_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $43_1 + 1 | 0; + $47_1 = 24; + HEAP32[($3_1 + 4 | 0) >> 2] = ($42_1 + (((HEAPU8[$43_1 >> 0] | 0) << $47_1 | 0) >> $47_1 | 0) | 0) - 48 | 0; + continue label$1; + } + break label$1; + }; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + return HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $2281($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $21_1 = 0, $25_1 = 0, $137_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2075(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 15 | 0, $6_1 + 8 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 4 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $21_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $2076(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $331($21_1 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $25_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = $2076(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 1023 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $331($25_1 | 0, 2 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + label$3 : { + if (!((100 | 0) == ($287(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = $318(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $137_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $137_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $222(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $41_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $41_1 | 0; + } + + function $2282($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $12_1 = 0, $18_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $52_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + $12_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[$7_1 >> 2] = $12_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 8 | 0, $7_1 + 4 | 0 | 0, $12_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + $18_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = $2076(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $331($18_1 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + label$2 : { + if (!((100 | 0) == ($287(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $317(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $222(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[$7_1 >> 2] | 0 | 0) >= (16 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2277(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = 0; + break label$4; + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[$7_1 >> 2] | 0; + } + } + $52_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $52_1 | 0; + } + + function $2283($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $301_1 = 0, $30_1 = 0, $307$hi = 0, $311$hi = 0, $167_1 = 0, $309$hi = 0, $146_1 = 0, $312$hi = 0, $153_1 = 0, $316$hi = 0, $185_1 = 0, $49_1 = 0, $496_1 = 0, $504_1 = 0, $111_1 = 0, $117_1 = 0, $145_1 = 0, $311_1 = 0, $176_1 = 0, $316_1 = 0, $778$hi = 0, $216_1 = 0, $225_1 = 0, $245_1 = 0, $298_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 80 | 0; + global$0 = $9_1; + HEAP32[($9_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 52 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 48 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 68 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $38(64 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($9_1 + 76 | 0) >> 2] = 7; + break label$1; + } + $30_1 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $301_1 = 0; + i64toi32_i32$1 = $30_1; + HEAP32[i64toi32_i32$1 >> 2] = $301_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 56 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $301_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $30_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $301_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $30_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $301_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $30_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $301_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $30_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $301_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $30_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $301_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $30_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $301_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($9_1 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + $49_1 = $38(HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] = $49_1; + label$4 : { + if ((HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + HEAP32[($9_1 + 76 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2075(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, 10 | 0, $9_1 + 20 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($9_1 + 24 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($9_1 + 76 | 0) >> 2] = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + break label$1; + } + label$6 : { + if (!((100 | 0) == ($287(HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = $318(HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $496_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $496_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $504_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $504_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $222(HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($9_1 + 24 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($9_1 + 76 | 0) >> 2] = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($9_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2288(HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 40 | 0) >> 2] = (HEAP32[($9_1 + 56 | 0) >> 2] | 0) - (HEAP32[($9_1 + 44 | 0) >> 2] | 0) | 0; + label$8 : { + if (!((HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($9_1 + 76 | 0) >> 2] = 267; + break label$1; + } + i64toi32_i32$1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $111_1 = $2099(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $117_1 = ($111_1 + ($2099(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) | 0) + (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = ($117_1 + ($2099(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) | 0) + (HEAP32[($9_1 + 48 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + if (!(((HEAP32[($9_1 + 32 | 0) >> 2] | 0) + (HEAP32[($9_1 + 36 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$0 = 2147483647; + $307$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $309$hi = i64toi32_i32$1; + i64toi32_i32$1 = $307$hi; + i64toi32_i32$1 = $309$hi; + i64toi32_i32$1 = $307$hi; + i64toi32_i32$1 = $309$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $307$hi; + i64toi32_i32$3 = -1; + label$10 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($9_1 + 76 | 0) >> 2] = 267; + break label$1; + } + $145_1 = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + $146_1 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$3 = $146_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $311_1 = i64toi32_i32$2; + $311$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $312$hi = i64toi32_i32$1; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$1 = $312$hi; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $312$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$3 = $146_1; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $311$hi; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2289($145_1 | 0, $311_1 | 0, i64toi32_i32$5 | 0, HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($9_1 + 16 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($9_1 + 76 | 0) >> 2] = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + break label$1; + } + $153_1 = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + HEAP32[($153_1 + 52 | 0) >> 2] = (HEAP32[($153_1 + 52 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2290(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($9_1 + 16 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($9_1 + 76 | 0) >> 2] = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + break label$1; + } + $167_1 = 0; + HEAP32[($9_1 + 32 | 0) >> 2] = $167_1; + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] = $167_1; + HEAP32[($9_1 + 44 | 0) >> 2] = $167_1; + HEAP32[($9_1 + 40 | 0) >> 2] = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $176_1 = (($2099(i64toi32_i32$3 | 0, i64toi32_i32$5 | 0) | 0) + 1 | 0) + (HEAP32[($9_1 + 56 | 0) >> 2] | 0) | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = ($176_1 + ($2099(i64toi32_i32$3 | 0, i64toi32_i32$5 | 0) | 0) | 0) + (HEAP32[($9_1 + 48 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$3 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $316_1 = i64toi32_i32$3; + $316$hi = i64toi32_i32$5; + $185_1 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = $185_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; + $778$hi = i64toi32_i32$3; + i64toi32_i32$3 = $316$hi; + i64toi32_i32$3 = $778$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $316$hi; + i64toi32_i32$0 = $316_1; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $185_1; + HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] = i64toi32_i32$4; + label$13 : { + if (!((HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $44(HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if ((HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$14 + } + HEAP32[($9_1 + 76 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + } + i64toi32_i32$1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $216_1 = $2102((HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 32 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0) | 0; + HEAP32[($9_1 + 32 | 0) >> 2] = (HEAP32[($9_1 + 32 | 0) >> 2] | 0) + $216_1 | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $225_1 = $2102((HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 32 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0) | 0; + HEAP32[($9_1 + 32 | 0) >> 2] = (HEAP32[($9_1 + 32 | 0) >> 2] | 0) + $225_1 | 0; + $3288((HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 32 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($9_1 + 60 | 0) >> 2] | 0) + (HEAP32[($9_1 + 44 | 0) >> 2] | 0) | 0 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 32 | 0) >> 2] = (HEAP32[($9_1 + 32 | 0) >> 2] | 0) + (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $245_1 = $2102((HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 32 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0) | 0; + HEAP32[($9_1 + 32 | 0) >> 2] = (HEAP32[($9_1 + 32 | 0) >> 2] | 0) + $245_1 | 0; + $3288((HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 32 | 0) >> 2] | 0) | 0 | 0, HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] = (HEAP32[($9_1 + 32 | 0) >> 2] | 0) + (HEAP32[($9_1 + 48 | 0) >> 2] | 0) | 0; + label$15 : { + label$16 : { + if (!(HEAP32[($9_1 + 64 | 0) >> 2] | 0)) { + break label$16 + } + label$17 : { + if (!((HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $44(HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 56 | 0) >> 2] | 0) << 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if ((HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$18 + } + HEAP32[($9_1 + 76 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($9_1 + 56 | 0) >> 2] | 0) << 1 | 0; + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + } + $3288(HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) | 0; + break label$15; + } + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = 0; + } + $298_1 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + global$0 = $9_1 + 80 | 0; + return $298_1 | 0; + } + + function $2284($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $9_1 = 0, $12_1 = 0, $53_1 = 0, $57_1 = 0, $70_1 = 0, $80_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $9_1; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (HEAP32[($8_1 + 16 | 0) >> 2] | 0) { + break label$2 + } + $12_1 = (HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2291(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$4 : { + label$5 : { + if (!(HEAP32[($8_1 + 16 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2075(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, 26 | 0, $8_1 + 8 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($8_1 + 16 | 0) >> 2] | 0) { + break label$8 + } + $53_1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $2076(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $331($53_1 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $57_1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = $2076(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 1023 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $331($57_1 | 0, 2 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + } + break label$6; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2075(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, 16 | 0, $8_1 + 8 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($8_1 + 16 | 0) >> 2] | 0) { + break label$9 + } + $70_1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $2076(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $331($70_1 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + } + } + label$10 : { + if (HEAP32[($8_1 + 16 | 0) >> 2] | 0) { + break label$10 + } + $287(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $222(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + } + $80_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $80_1 | 0; + } + + function $2285($0_1, $1_1, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $64$hi = 0, $74_1 = 0, $15_1 = 0, $18_1 = 0, $65$hi = 0, i64toi32_i32$4 = 0, $67$hi = 0, $68$hi = 0, $69$hi = 0, $70$hi = 0, $71$hi = 0, $72$hi = 0, $73$hi = 0, $74$hi = 0, $75$hi = 0, $76$hi = 0, $55_1 = 0, $115_1 = 0, $17_1 = 0, $64_1 = 0, $67_1 = 0, $172_1 = 0, $69_1 = 0, $70_1 = 0, $71_1 = 0, $72_1 = 0, $210_1 = 0, $75_1 = 0, $240_1 = 0, $59_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 4 | 0) >> 2] = $15_1; + HEAP32[$6_1 >> 2] = $15_1; + i64toi32_i32$2 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $115_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $115_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$1; + $17_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $18_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = $18_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $64_1 = i64toi32_i32$1; + $64$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $65$hi = i64toi32_i32$0; + i64toi32_i32$0 = $64$hi; + i64toi32_i32$0 = $65$hi; + i64toi32_i32$0 = $64$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $18_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $64$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2289($17_1 | 0, $64_1 | 0, i64toi32_i32$5 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$3 + } + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $67_1 = i64toi32_i32$5; + $67$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $68$hi = i64toi32_i32$5; + i64toi32_i32$5 = $67$hi; + i64toi32_i32$5 = $68$hi; + $172_1 = i64toi32_i32$2; + i64toi32_i32$5 = $67$hi; + i64toi32_i32$2 = $68$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2292(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, 1 | 0, $67_1 | 0, i64toi32_i32$5 | 0, $172_1 | 0, i64toi32_i32$2 | 0, $6_1 + 16 | 0 | 0, $6_1 + 4 | 0 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $69_1 = i64toi32_i32$2; + $69$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $70_1 = i64toi32_i32$5; + $70$hi = i64toi32_i32$2; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $71_1 = i64toi32_i32$2; + $71$hi = i64toi32_i32$5; + i64toi32_i32$0 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $72_1 = i64toi32_i32$5; + $72$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] | 0; + $73$hi = i64toi32_i32$5; + i64toi32_i32$5 = $69$hi; + i64toi32_i32$5 = $70$hi; + i64toi32_i32$5 = $71$hi; + i64toi32_i32$5 = $72$hi; + i64toi32_i32$5 = $73$hi; + $210_1 = i64toi32_i32$2; + i64toi32_i32$5 = $69$hi; + i64toi32_i32$2 = $70$hi; + i64toi32_i32$0 = $71$hi; + i64toi32_i32$3 = $72$hi; + i64toi32_i32$1 = $73$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2293(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, $69_1 | 0, i64toi32_i32$5 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, $70_1 | 0, i64toi32_i32$2 | 0, $71_1 | 0, i64toi32_i32$0 | 0, $72_1 | 0, i64toi32_i32$3 | 0, $210_1 | 0, i64toi32_i32$1 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + break label$1; + } + i64toi32_i32$1 = 0; + $74_1 = 0; + $74$hi = i64toi32_i32$1; + i64toi32_i32$0 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $75_1 = i64toi32_i32$1; + $75$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] | 0; + $76$hi = i64toi32_i32$1; + i64toi32_i32$1 = $75$hi; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$1 = $76$hi; + $240_1 = i64toi32_i32$3; + i64toi32_i32$1 = $75$hi; + i64toi32_i32$3 = $74$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$5 = $76$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2293(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, $75_1 | 0, i64toi32_i32$1 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, $74_1 | 0, i64toi32_i32$0 | 0, $74_1 | 0, i64toi32_i32$0 | 0, $74_1 | 0, i64toi32_i32$0 | 0, $240_1 | 0, i64toi32_i32$5 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + $55_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[($55_1 + 52 | 0) >> 2] = (HEAP32[($55_1 + 52 | 0) >> 2] | 0) + 1 | 0; + $59_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $59_1 | 0; + } + + function $2286($0_1, $1_1, $1$hi, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $123$hi = 0, $127$hi = 0, $128$hi = 0, $46_1 = 0, $10_1 = 0, $105$hi = 0, $106$hi = 0, $107$hi = 0, $108$hi = 0, $109$hi = 0, $110$hi = 0, $43_1 = 0, $111$hi = 0, $112$hi = 0, $114$hi = 0, $115$hi = 0, $116$hi = 0, $117$hi = 0, $119$hi = 0, $120$hi = 0, $123_1 = 0, $125$hi = 0, $44_1 = 0, $45_1 = 0, $47_1 = 0, $48_1 = 0, $49_1 = 0, $50_1 = 0, $75_1 = 0, $79_1 = 0, $14_1 = 0, $15_1 = 0, $51_1 = 0, $52_1 = 0, $53_1 = 0, $189_1 = 0, $17_1 = 0, $127_1 = 0, $257_1 = 0, $78_1 = 0, $102_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 96 | 0; + global$0 = $5_1; + $10_1 = 0; + HEAP32[($5_1 + 92 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 84 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 68 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 37 | 0, $5_1 + 64 | 0 | 0, $10_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 68 | 0) >> 2] | 0) { + break label$1 + } + $14_1 = 2; + $15_1 = 1; + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $105$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $106$hi = i64toi32_i32$1; + i64toi32_i32$1 = $105$hi; + i64toi32_i32$1 = $106$hi; + i64toi32_i32$1 = $105$hi; + $51_1 = i64toi32_i32$0; + i64toi32_i32$0 = $106$hi; + i64toi32_i32$0 = __wasm_i64_sdiv($51_1 | 0, i64toi32_i32$1 | 0, 1024 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $107$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $108$hi = i64toi32_i32$1; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $108$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $109$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $110$hi = i64toi32_i32$5; + i64toi32_i32$5 = $109$hi; + i64toi32_i32$5 = $110$hi; + i64toi32_i32$5 = $109$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $110$hi; + i64toi32_i32$3 = 10; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$0 | 0; + $43_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$0 | 0) | 0; + $43_1 = i64toi32_i32$1 << i64toi32_i32$0 | 0; + } + $111$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $112$hi = i64toi32_i32$2; + i64toi32_i32$2 = $111$hi; + i64toi32_i32$2 = $112$hi; + i64toi32_i32$2 = $111$hi; + i64toi32_i32$5 = $43_1; + i64toi32_i32$1 = $112$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$2 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + $114$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $115$hi = i64toi32_i32$5; + i64toi32_i32$5 = $114$hi; + i64toi32_i32$5 = $115$hi; + i64toi32_i32$5 = $114$hi; + $52_1 = i64toi32_i32$4; + i64toi32_i32$4 = $115$hi; + i64toi32_i32$4 = __wasm_i64_mul($52_1 | 0, i64toi32_i32$5 | 0, 3 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $116$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $117$hi = i64toi32_i32$5; + i64toi32_i32$5 = $116$hi; + i64toi32_i32$5 = $117$hi; + i64toi32_i32$5 = $116$hi; + $53_1 = i64toi32_i32$4; + i64toi32_i32$4 = $117$hi; + i64toi32_i32$4 = __wasm_i64_sdiv($53_1 | 0, i64toi32_i32$5 | 0, 2 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $189_1 = i64toi32_i32$4; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $189_1; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$5; + $17_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $119$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $120$hi = i64toi32_i32$4; + i64toi32_i32$4 = $119$hi; + i64toi32_i32$4 = $120$hi; + i64toi32_i32$4 = $119$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $120$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $331($17_1 | 0, $15_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$4 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, $14_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0; + label$2 : { + label$3 : while (1) { + if (!((100 | 0) == ($287(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = 0; + $123_1 = 0; + $123$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $123_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$2; + $2294(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, 2 | 0, $5_1 + 24 | 0 | 0, $5_1 + 32 | 0 | 0); + i64toi32_i32$4 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $125$hi = i64toi32_i32$0; + i64toi32_i32$0 = $123$hi; + i64toi32_i32$0 = $125$hi; + i64toi32_i32$0 = $123$hi; + i64toi32_i32$0 = $125$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $123$hi; + i64toi32_i32$3 = $123_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$2 | 0)) { + $44_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$4 >>> 0 > i64toi32_i32$3 >>> 0) { + $45_1 = 0 + } else { + $45_1 = 1 + } + $47_1 = $45_1; + } else { + $47_1 = 0 + } + $44_1 = $47_1; + } + label$4 : { + label$5 : { + if ($44_1 & 1 | 0) { + break label$5 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $127_1 = i64toi32_i32$4; + $127$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $128$hi = i64toi32_i32$4; + i64toi32_i32$4 = $127$hi; + i64toi32_i32$4 = $128$hi; + i64toi32_i32$4 = $127$hi; + i64toi32_i32$4 = $128$hi; + $257_1 = i64toi32_i32$0; + i64toi32_i32$4 = $127$hi; + i64toi32_i32$3 = $127_1; + i64toi32_i32$0 = $128$hi; + i64toi32_i32$2 = $257_1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$0 | 0)) { + $48_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$2 >>> 0) { + $49_1 = 0 + } else { + $49_1 = 1 + } + $50_1 = $49_1; + } else { + $50_1 = 0 + } + $48_1 = $50_1; + } + if (!($48_1 & 1 | 0)) { + break label$4 + } + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + break label$2; + } + HEAP32[($5_1 + 60 | 0) >> 2] = 1; + continue label$3; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($5_1 + 60 | 0) >> 2] | 0)) { + break label$6 + } + $46_1 = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $46_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $46_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $46_1; + label$7 : { + if (HEAP32[($5_1 + 68 | 0) >> 2] | 0) { + break label$7 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 38 | 0, $5_1 + 16 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + if (HEAP32[($5_1 + 68 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 39 | 0, $5_1 + 12 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + } + label$9 : { + if (HEAP32[($5_1 + 68 | 0) >> 2] | 0) { + break label$9 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$4 | 0) | 0; + label$10 : { + label$11 : while (1) { + if (!((100 | 0) == ($287(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + $75_1 = 1; + $78_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $79_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $79_1 + 1 | 0; + $330($78_1 | 0, $75_1 | 0, $79_1 | 0) | 0; + $330(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 2 | 0, $317(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0; + $330(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 3 | 0, $317(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, $75_1 | 0) | 0 | 0) | 0; + $287(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($5_1 + 68 | 0) >> 2] | 0)) { + break label$12 + } + $222(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0; + break label$10; + } + continue label$11; + }; + } + } + label$13 : { + if (HEAP32[($5_1 + 68 | 0) >> 2] | 0) { + break label$13 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + } + label$14 : { + if (HEAP32[($5_1 + 68 | 0) >> 2] | 0) { + break label$14 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$3 | 0) | 0; + $287(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + } + } + } + $102_1 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + global$0 = $5_1 + 96 | 0; + return $102_1 | 0; + } + + function $2287($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + $2295(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2288($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $16_1 = 0, $21_1 = 0, $28_1 = 0; + $6_1 = global$0 - 32 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$1 : while (1) { + $16_1 = 0; + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $21_1 = 24; + $28_1 = 24; + $16_1 = (((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $21_1 | 0) >> $21_1 | 0 | 0) == (((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0 | 0); + } + label$3 : { + if (!($16_1 & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + return HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2289($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2075(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 9 | 0, $6_1 + 4 | 0 | 0, 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[$6_1 >> 2] | 0) { + break label$1 + } + $15_1 = 2; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $331(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $325(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, $15_1 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $287(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $222(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $332(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, $15_1 | 0) | 0; + } + $26_1 = HEAP32[$6_1 >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $26_1 | 0; + } + + function $2290($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $260_1 = 0, $185_1 = 0, $123_1 = 0, $40_1 = 0, $44_1 = 0, $75_1 = 0, $99_1 = 0, $108_1 = 0, $253_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2288(HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) - (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0; + label$3 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 267; + break label$1; + } + i64toi32_i32$1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $40_1 = $2099(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $44_1 = $40_1 + ($2099(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + ($44_1 + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) | 0; + label$4 : { + label$5 : { + if ((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$5 + } + if ((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + } + label$6 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $75_1 = $38(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] = $75_1; + label$7 : { + if ((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 7; + break label$1; + } + } + label$8 : { + if (!((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $99_1 = $2102((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + $99_1 | 0; + } + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $108_1 = $2102((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + $108_1 | 0; + $3288((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + $123_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($123_1 + 12 | 0) >> 2] = (HEAP32[($123_1 + 12 | 0) >> 2] | 0) + 1 | 0; + label$9 : { + label$10 : { + if (!(HEAP32[($7_1 + 48 | 0) >> 2] | 0)) { + break label$10 + } + label$11 : { + if (!((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $44(HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 40 | 0) >> 2] | 0) << 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if ((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) << 1 | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $3288(HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + break label$9; + } + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $38((HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0) + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if ((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$13 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 7; + break label$1; + } + $185_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $260_1 = 0; + i64toi32_i32$1 = $185_1; + HEAP32[i64toi32_i32$1 >> 2] = $260_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $260_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $185_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $260_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $185_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $260_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $185_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $260_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] = 11; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 40 | 0; + label$14 : { + label$15 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2290(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, $7_1 + 4 | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!((HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + break label$14; + } + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2290(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, $7_1 + 28 | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + } + $253_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $253_1 | 0; + } + + function $2291($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, $28$hi = 0, $30$hi = 0, $25_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $28$hi = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$3 = 0; + label$1 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != ($28$hi | 0) | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 17 | 0, $4_1 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $331(HEAP32[$4_1 >> 2] | 0 | 0, 1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $331(HEAP32[$4_1 >> 2] | 0 | 0, 2 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0; + $287(HEAP32[$4_1 >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + $25_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $25_1 | 0; + } + + function $2292($0_1, $1_1, $2_1, $3_1, $3$hi, $4_1, $4$hi, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $11_1 = 0, $88$hi = 0, $89$hi = 0, $43_1 = 0, $95$hi = 0, $96$hi = 0, $98$hi = 0, $101$hi = 0, $102$hi = 0, $189_1 = 0, $193_1 = 0, $98_1 = 0, $291$hi = 0, $101_1 = 0, $330_1 = 0, $84_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 80 | 0; + global$0 = $10_1; + $11_1 = 0; + HEAP32[($10_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 68 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $10_1; + HEAP32[($10_1 + 56 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 60 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $10_1; + HEAP32[($10_1 + 48 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($10_1 + 44 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 40 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 36 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 32 | 0) >> 2] = $11_1; + label$1 : { + label$2 : { + if ((HEAP32[(HEAP32[($10_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($11_1 | 0) & 1 | 0) { + break label$2 + } + i64toi32_i32$2 = $10_1; + i64toi32_i32$0 = HEAP32[($10_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($10_1 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $2296(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = $10_1; + i64toi32_i32$1 = HEAP32[($10_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($10_1 + 52 | 0) >> 2] | 0; + $88$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $89$hi = i64toi32_i32$0; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $89$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = HEAP32[($10_1 + 44 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[(HEAP32[($10_1 + 36 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($10_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) - (HEAP32[($10_1 + 28 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($10_1 + 40 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($10_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($10_1 + 28 | 0) >> 2] | 0) | 0; + break label$1; + } + i64toi32_i32$0 = $10_1; + i64toi32_i32$5 = HEAP32[($10_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($10_1 + 52 | 0) >> 2] | 0; + $189_1 = i64toi32_i32$5; + i64toi32_i32$5 = $10_1; + HEAP32[($10_1 + 16 | 0) >> 2] = $189_1; + HEAP32[($10_1 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$0 = $10_1; + i64toi32_i32$2 = HEAP32[($10_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($10_1 + 60 | 0) >> 2] | 0; + $193_1 = i64toi32_i32$2; + i64toi32_i32$2 = $10_1; + HEAP32[($10_1 + 8 | 0) >> 2] = $193_1; + HEAP32[($10_1 + 12 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($10_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : while (1) { + $43_1 = 0; + label$4 : { + if (!((HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $43_1 = (HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$5 : { + if (!($43_1 & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = $10_1; + i64toi32_i32$5 = HEAP32[($10_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($10_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $2296(HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$10_1 >> 2] = (HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) - (HEAP32[($10_1 + 4 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = $10_1; + i64toi32_i32$2 = HEAP32[($10_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($10_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $2289(HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$5 | 0, (HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($10_1 + 4 | 0) >> 2] | 0) | 0 | 0, HEAP32[$10_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $10_1; + i64toi32_i32$5 = HEAP32[($10_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($10_1 + 20 | 0) >> 2] | 0; + $95$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $96$hi = i64toi32_i32$2; + i64toi32_i32$2 = $95$hi; + i64toi32_i32$2 = $96$hi; + i64toi32_i32$2 = $95$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $96$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $10_1; + HEAP32[($10_1 + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($10_1 + 20 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$0 = (HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $98_1 = i64toi32_i32$0; + $98$hi = i64toi32_i32$4; + i64toi32_i32$2 = $10_1; + i64toi32_i32$4 = HEAP32[($10_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($10_1 + 12 | 0) >> 2] | 0; + $291$hi = i64toi32_i32$0; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$0 = $291$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $98$hi; + i64toi32_i32$3 = $98_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$2 = $10_1; + HEAP32[($10_1 + 8 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($10_1 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($10_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + label$6 : { + if (HEAP32[($10_1 + 32 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$0 = $10_1; + i64toi32_i32$1 = HEAP32[($10_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($10_1 + 52 | 0) >> 2] | 0; + $101_1 = i64toi32_i32$1; + $101$hi = i64toi32_i32$2; + i64toi32_i32$0 = $10_1; + i64toi32_i32$2 = HEAP32[($10_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($10_1 + 20 | 0) >> 2] | 0; + $102$hi = i64toi32_i32$1; + i64toi32_i32$1 = $101$hi; + i64toi32_i32$1 = $102$hi; + $330_1 = i64toi32_i32$2; + i64toi32_i32$1 = $101$hi; + i64toi32_i32$2 = $102$hi; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $2292(HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($10_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 68 | 0) >> 2] | 0) + 1 | 0 | 0, $101_1 | 0, i64toi32_i32$1 | 0, $330_1 | 0, i64toi32_i32$2 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + } + $84_1 = HEAP32[($10_1 + 32 | 0) >> 2] | 0; + global$0 = $10_1 + 80 | 0; + return $84_1 | 0; + } + + function $2293($0_1, $1_1, $1$hi, $2_1, $3_1, $3$hi, $4_1, $4$hi, $5_1, $5$hi, $6_1, $6$hi, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + $5_1 = $5_1 | 0; + $5$hi = $5$hi | 0; + $6_1 = $6_1 | 0; + $6$hi = $6$hi | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $62$hi = 0, $67$hi = 0, $49_1 = 0, $70_1 = 0, $70$hi = 0, $168_1 = 0, $59_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11_1 = global$0 - 96 | 0; + global$0 = $11_1; + HEAP32[($11_1 + 88 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $11_1; + HEAP32[($11_1 + 80 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 84 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($11_1 + 76 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $11_1; + HEAP32[($11_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 68 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $11_1; + HEAP32[($11_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 60 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $5$hi; + i64toi32_i32$1 = $11_1; + HEAP32[($11_1 + 48 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 52 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$1 = $11_1; + HEAP32[($11_1 + 40 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($11_1 + 36 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 32 | 0) >> 2] = $8_1; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2075(HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, 11 | 0, $11_1 + 28 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($11_1 + 24 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + $62$hi = i64toi32_i32$0; + i64toi32_i32$2 = $11_1; + i64toi32_i32$0 = HEAP32[($11_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($11_1 + 84 | 0) >> 2] | 0; + $331(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $330(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = HEAP32[($11_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11_1 + 68 | 0) >> 2] | 0; + $331(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, 3 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = $11_1; + i64toi32_i32$0 = HEAP32[($11_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($11_1 + 60 | 0) >> 2] | 0; + $331(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, 4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = HEAP32[($11_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11_1 + 44 | 0) >> 2] | 0; + $67$hi = i64toi32_i32$0; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $62$hi; + label$3 : { + label$4 : { + if (!(((i64toi32_i32$2 | 0) == (0 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($11_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11_1 + 52 | 0) >> 2] | 0; + $331(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, 5 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0; + break label$3; + } + i64toi32_i32$0 = HEAP32[($11_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($11_1 + 52 | 0) >> 2] | 0; + $70_1 = i64toi32_i32$0; + $70$hi = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($11_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11_1 + 44 | 0) >> 2] | 0; + $168_1 = i64toi32_i32$2; + i64toi32_i32$2 = $11_1; + HEAP32[($11_1 + 8 | 0) >> 2] = $168_1; + HEAP32[($11_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$2 = $11_1; + HEAP32[$11_1 >> 2] = $70_1; + HEAP32[($11_1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $79(49983 | 0, $11_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($11_1 + 92 | 0) >> 2] = 7; + break label$1; + } + $333(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0, -1 | 0, 3 | 0) | 0; + } + $49_1 = 6; + $325(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, $49_1 | 0, HEAP32[($11_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $287(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $222(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $332(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, $49_1 | 0) | 0; + } + HEAP32[($11_1 + 92 | 0) >> 2] = HEAP32[($11_1 + 24 | 0) >> 2] | 0; + } + $59_1 = HEAP32[($11_1 + 92 | 0) >> 2] | 0; + global$0 = $11_1 + 96 | 0; + return $59_1 | 0; + } + + function $2294($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $32_1 = 0, $135$hi = 0, $136$hi = 0, $137$hi = 0, $138$hi = 0, $103_1 = 0, $142$hi = 0, $143$hi = 0, $144$hi = 0, $145$hi = 0, $147$hi = 0, $148$hi = 0, $31_1 = 0, $137_1 = 0, $261_1 = 0, $277_1 = 0, $33_1 = 0, $144_1 = 0, $411_1 = 0, $147_1 = 0, $430_1 = 0, $435_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $319(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + label$2 : while (1) { + $32_1 = 0; + label$3 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$3 + } + $32_1 = ((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) <= (57 | 0); + } + label$4 : { + if (!($32_1 & 1 | 0)) { + break label$4 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $135$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $136$hi = i64toi32_i32$1; + i64toi32_i32$1 = $135$hi; + i64toi32_i32$1 = $136$hi; + i64toi32_i32$1 = $135$hi; + $31_1 = i64toi32_i32$0; + i64toi32_i32$0 = $136$hi; + i64toi32_i32$0 = __wasm_i64_mul($31_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $137_1 = i64toi32_i32$0; + $137$hi = i64toi32_i32$1; + i64toi32_i32$0 = ((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) - 48 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $138$hi = i64toi32_i32$1; + i64toi32_i32$1 = $137$hi; + i64toi32_i32$1 = $138$hi; + $261_1 = i64toi32_i32$0; + i64toi32_i32$1 = $137$hi; + i64toi32_i32$2 = $137_1; + i64toi32_i32$0 = $138$hi; + i64toi32_i32$3 = $261_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + i64toi32_i32$1 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $277_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $277_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + label$5 : { + label$6 : while (1) { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + i64toi32_i32$2 = 0; + i64toi32_i32$5 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$2; + label$7 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = -1; + } + label$8 : while (1) { + $103_1 = 0; + label$9 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$9 + } + $103_1 = ((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) <= (57 | 0); + } + label$10 : { + if (!($103_1 & 1 | 0)) { + break label$10 + } + i64toi32_i32$1 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $142$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $143$hi = i64toi32_i32$5; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$5 = $143$hi; + i64toi32_i32$5 = $142$hi; + $33_1 = i64toi32_i32$2; + i64toi32_i32$2 = $143$hi; + i64toi32_i32$2 = __wasm_i64_mul($33_1 | 0, i64toi32_i32$5 | 0, 10 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $144_1 = i64toi32_i32$2; + $144$hi = i64toi32_i32$5; + i64toi32_i32$2 = ((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) - 48 | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $145$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$5 = $145$hi; + $411_1 = i64toi32_i32$2; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$1 = $144_1; + i64toi32_i32$2 = $145$hi; + i64toi32_i32$3 = $411_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + } + break label$8; + }; + i64toi32_i32$5 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $147_1 = i64toi32_i32$4; + $147$hi = i64toi32_i32$1; + i64toi32_i32$4 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$4 >> 31 | 0; + $148$hi = i64toi32_i32$1; + i64toi32_i32$1 = $147$hi; + i64toi32_i32$1 = $148$hi; + $430_1 = i64toi32_i32$4; + i64toi32_i32$1 = $147$hi; + i64toi32_i32$4 = $148$hi; + i64toi32_i32$4 = __wasm_i64_mul($147_1 | 0, i64toi32_i32$1 | 0, $430_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $435_1 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$4 >> 2] = $435_1; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$1; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2295($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $2295(HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0); + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0 | 0) & 1 | 0)) { + break label$4 + } + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + } + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + continue label$3; + }; + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2296($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = 10 - ($2099(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $2102((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $20_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $20_1 | 0; + } + + function $2297($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $9_1 = 0, $26_1 = 0, $65$hi = 0, $66$hi = 0, $67$hi = 0, $59_1 = 0, $65_1 = 0, $66_1 = 0, $154_1 = 0, $62_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + HEAP32[$8_1 >> 2] = $9_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2132(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) != ($9_1 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($26_1 + 268 | 0) >> 2] = (HEAP32[($26_1 + 268 | 0) >> 2] | 0) - (((HEAP32[(HEAP32[($8_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($8_1 + 8 | 0) >> 2] | 0) | 0) + 20 | 0) | 0; + } + i64toi32_i32$2 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 272 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 276 | 0) >> 2] | 0; + $65_1 = i64toi32_i32$0; + $65$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $66_1 = i64toi32_i32$0; + $66$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $67$hi = i64toi32_i32$1; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$1 = $66$hi; + i64toi32_i32$1 = $67$hi; + $154_1 = i64toi32_i32$0; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$2 = $67$hi; + label$2 : { + if (!($2250($8_1 + 4 | 0 | 0, $65_1 | 0, i64toi32_i32$1 | 0, $66_1 | 0, i64toi32_i32$0 | 0, $154_1 | 0, i64toi32_i32$2 | 0, $8_1 | 0) | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) == ($2012(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $42(HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[$8_1 >> 2] = 7; + } + } + label$4 : { + if (HEAP32[$8_1 >> 2] | 0) { + break label$4 + } + $59_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($59_1 + 268 | 0) >> 2] = (HEAP32[($59_1 + 268 | 0) >> 2] | 0) + (((HEAP32[(HEAP32[($8_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($8_1 + 8 | 0) >> 2] | 0) | 0) + 20 | 0) | 0; + } + $62_1 = HEAP32[$8_1 >> 2] | 0; + global$0 = $8_1 + 32 | 0; + return $62_1 | 0; + } + + function $2298($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $12_1 = 0, $135_1 = 0, $8_1 = 0, $136_1 = 0, $138$hi = 0, $142$hi = 0, $146_1 = 0, $146$hi = 0, i64toi32_i32$6 = 0, $134_1 = 0, $53_1 = 0, $140$hi = 0, $144$hi = 0, $148$hi = 0, $150$hi = 0, $151$hi = 0, $153$hi = 0, $154$hi = 0, $156$hi = 0, $157$hi = 0, $158$hi = 0, $161$hi = 0, $165$hi = 0, $67_1 = 0, $79_1 = 0, $102_1 = 0, $108_1 = 0, $150_1 = 0, $469_1 = 0, $153_1 = 0, $478_1 = 0, $489$hi = 0, $161_1 = 0, $162_1 = 0, $162$hi = 0, $124_1 = 0, $523_1 = 0, $526_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 144 | 0; + global$0 = $6_1; + $8_1 = 0; + $12_1 = $6_1 + 56 | 0; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 132 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 128 | 0) >> 2] = $3_1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $134_1 = 0; + i64toi32_i32$1 = $6_1 + 112 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $134_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $134_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $135_1 = 0; + i64toi32_i32$1 = $12_1; + HEAP32[i64toi32_i32$1 >> 2] = $135_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $135_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $135_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $135_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $135_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $135_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $135_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 124 | 0) >> 2] = 3; + HEAP32[($6_1 + 124 | 0) >> 2] = HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 16 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2056(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, -2 | 0, $8_1 | 0, $8_1 | 0, $8_1 | 0, 1 | 0, $12_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($6_1 + 52 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2057(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, $6_1 + 56 | 0 | 0, $6_1 + 112 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($6_1 + 52 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + label$4 : while (1) { + $53_1 = $2059(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, $6_1 + 56 | 0 | 0) | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = $53_1; + if (!((100 | 0) == ($53_1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + $136_1 = 0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[($6_1 + 104 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 108 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $136_1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $136_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $136_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + $67_1 = $2061(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $6_1 + 24 | 0 | 0) | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + $67_1 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[$6_1 >> 2] = 0; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$0; + $79_1 = $2085(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + $79_1 | 0; + label$7 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = 0; + $138$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $138$hi; + i64toi32_i32$3 = 0; + label$8 : { + label$9 : { + label$10 : { + if (((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$10 + } + i64toi32_i32$2 = 0; + $142$hi = i64toi32_i32$2; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $144$hi = i64toi32_i32$1; + i64toi32_i32$1 = $142$hi; + i64toi32_i32$1 = $144$hi; + i64toi32_i32$1 = $142$hi; + i64toi32_i32$1 = $144$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $142$hi; + i64toi32_i32$0 = 1; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$9 + } + } + i64toi32_i32$3 = 0; + $146_1 = 0; + $146$hi = i64toi32_i32$3; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $146_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $146_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$0 = $6_1; + i64toi32_i32$3 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $148$hi = i64toi32_i32$1; + i64toi32_i32$1 = $146$hi; + i64toi32_i32$1 = $148$hi; + i64toi32_i32$1 = $146$hi; + i64toi32_i32$1 = $148$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $146$hi; + i64toi32_i32$2 = $146_1; + label$11 : { + label$12 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$12 + } + $102_1 = $2061(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0) | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + $102_1 | 0; + break label$11; + } + $108_1 = $2085(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + $108_1 | 0; + label$13 : { + label$14 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $150_1 = i64toi32_i32$0; + $150$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $151$hi = i64toi32_i32$0; + i64toi32_i32$0 = $150$hi; + i64toi32_i32$0 = $151$hi; + $469_1 = i64toi32_i32$1; + i64toi32_i32$0 = $150$hi; + i64toi32_i32$2 = $150_1; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$3 = $469_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$5; + break label$13; + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $153_1 = i64toi32_i32$5; + $153$hi = i64toi32_i32$2; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $154$hi = i64toi32_i32$5; + i64toi32_i32$5 = $153$hi; + i64toi32_i32$5 = $154$hi; + $478_1 = i64toi32_i32$2; + i64toi32_i32$5 = $153$hi; + i64toi32_i32$0 = $153_1; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $478_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$4; + } + } + break label$8; + } + i64toi32_i32$5 = $6_1; + i64toi32_i32$4 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $156$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $157$hi = i64toi32_i32$0; + i64toi32_i32$0 = $156$hi; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$0 = $156$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$4 = $157$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$2 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$1 | 0; + $158$hi = i64toi32_i32$1; + i64toi32_i32$0 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $489$hi = i64toi32_i32$5; + i64toi32_i32$5 = $158$hi; + i64toi32_i32$5 = $489$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $158$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$5 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $161_1 = i64toi32_i32$2; + $161$hi = i64toi32_i32$0; + i64toi32_i32$5 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $162_1 = i64toi32_i32$0; + $162$hi = i64toi32_i32$2; + i64toi32_i32$5 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $124_1 = i64toi32_i32$2; + i64toi32_i32$5 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = $162$hi; + i64toi32_i32$2 = $2299(HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, $162_1 | 0, i64toi32_i32$2 | 0, $124_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $165$hi = i64toi32_i32$0; + i64toi32_i32$0 = $161$hi; + i64toi32_i32$0 = $165$hi; + $523_1 = i64toi32_i32$2; + i64toi32_i32$0 = $161$hi; + i64toi32_i32$5 = $161_1; + i64toi32_i32$2 = $165$hi; + i64toi32_i32$3 = $523_1; + i64toi32_i32$2 = i64toi32_i32$0 ^ i64toi32_i32$2 | 0; + $526_1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0; + i64toi32_i32$5 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $526_1; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$2; + } + } + continue label$6; + }; + } + continue label$4; + }; + } + } + $2054($6_1 + 56 | 0 | 0); + HEAP32[(HEAP32[($6_1 + 128 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 144 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$5; + return i64toi32_i32$2 | 0; + } + + function $2299($0_1, $1_1, $2_1, $3_1, $4_1, $4$hi, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $9_1 = 0, $37$hi = 0, $38$hi = 0, $53_1 = 0, $39$hi = 0, $40$hi = 0, $41$hi = 0, $44$hi = 0, $45$hi = 0, $54_1 = 0, $46$hi = 0, $47$hi = 0, $48$hi = 0, $51$hi = 0, $52$hi = 0, $55_1 = 0, $53$hi = 0, $54$hi = 0, $55$hi = 0, $58$hi = 0, $59$hi = 0, $56_1 = 0, $60$hi = 0, $61$hi = 0, $62$hi = 0, $65$hi = 0, $66$hi = 0, $57_1 = 0, $67$hi = 0, $30_1 = 0, $68$hi = 0, $69$hi = 0, $10_1 = 0, $94_1 = 0, $106_1 = 0, $110$hi = 0, $126_1 = 0, $130$hi = 0, $146_1 = 0, $150$hi = 0, $166_1 = 0, $170$hi = 0, $214_1 = 0, $218$hi = 0; + $9_1 = global$0 - 48 | 0; + $10_1 = 0; + HEAP32[($9_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $3_1; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $9_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $4_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = $5_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $6_1; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $94_1 = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$2; + HEAP32[i64toi32_i32$0 >> 2] = $94_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $37$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $38$hi = i64toi32_i32$0; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$0 = $38$hi; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $53_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $53_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $39$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $40$hi = i64toi32_i32$1; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$1 = $40$hi; + $106_1 = i64toi32_i32$2; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$0 = $53_1; + i64toi32_i32$2 = $40$hi; + i64toi32_i32$3 = $106_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $41$hi = i64toi32_i32$5; + i64toi32_i32$1 = $9_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $110$hi = i64toi32_i32$0; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$0 = $110$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $41$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $9_1; + HEAP32[i64toi32_i32$1 >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$4 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $44$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $45$hi = i64toi32_i32$1; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$4 = $45$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$0 << i64toi32_i32$5 | 0; + $54_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$5 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$5 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$5 | 0) | 0; + $54_1 = i64toi32_i32$0 << i64toi32_i32$5 | 0; + } + $46$hi = i64toi32_i32$4; + i64toi32_i32$0 = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $47$hi = i64toi32_i32$4; + i64toi32_i32$4 = $46$hi; + i64toi32_i32$4 = $47$hi; + $126_1 = i64toi32_i32$0; + i64toi32_i32$4 = $46$hi; + i64toi32_i32$1 = $54_1; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$3 = $126_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $48$hi = i64toi32_i32$2; + i64toi32_i32$4 = $9_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $130$hi = i64toi32_i32$1; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $130$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$4 = $9_1; + HEAP32[i64toi32_i32$4 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $51$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $52$hi = i64toi32_i32$4; + i64toi32_i32$4 = $51$hi; + i64toi32_i32$4 = $52$hi; + i64toi32_i32$4 = $51$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $55_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$2 | 0) | 0; + $55_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $53$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$1 >> 31 | 0; + $54$hi = i64toi32_i32$5; + i64toi32_i32$5 = $53$hi; + i64toi32_i32$5 = $54$hi; + $146_1 = i64toi32_i32$1; + i64toi32_i32$5 = $53$hi; + i64toi32_i32$4 = $55_1; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$3 = $146_1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $55$hi = i64toi32_i32$0; + i64toi32_i32$5 = $9_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $150$hi = i64toi32_i32$4; + i64toi32_i32$4 = $55$hi; + i64toi32_i32$4 = $150$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$5 = $9_1; + HEAP32[i64toi32_i32$5 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $58$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $59$hi = i64toi32_i32$5; + i64toi32_i32$5 = $58$hi; + i64toi32_i32$5 = $59$hi; + i64toi32_i32$5 = $58$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $59$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 << i64toi32_i32$0 | 0; + $56_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$0 | 0) | 0; + $56_1 = i64toi32_i32$4 << i64toi32_i32$0 | 0; + } + $60$hi = i64toi32_i32$2; + i64toi32_i32$4 = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $61$hi = i64toi32_i32$2; + i64toi32_i32$2 = $60$hi; + i64toi32_i32$2 = $61$hi; + $166_1 = i64toi32_i32$4; + i64toi32_i32$2 = $60$hi; + i64toi32_i32$5 = $56_1; + i64toi32_i32$4 = $61$hi; + i64toi32_i32$3 = $166_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $62$hi = i64toi32_i32$1; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $170$hi = i64toi32_i32$5; + i64toi32_i32$5 = $62$hi; + i64toi32_i32$5 = $170$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$2 = $9_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = $10_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$5 = $9_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $65$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $66$hi = i64toi32_i32$2; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + $57_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$1 | 0) | 0; + $57_1 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + } + $67$hi = i64toi32_i32$0; + $30_1 = 24; + i64toi32_i32$5 = ((HEAPU8[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + (HEAP32[($9_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0; + i64toi32_i32$0 = i64toi32_i32$5 >> 31 | 0; + $68$hi = i64toi32_i32$0; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$0 = $68$hi; + $214_1 = i64toi32_i32$5; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$2 = $57_1; + i64toi32_i32$5 = $68$hi; + i64toi32_i32$3 = $214_1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $69$hi = i64toi32_i32$4; + i64toi32_i32$0 = $9_1; + i64toi32_i32$4 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $218$hi = i64toi32_i32$2; + i64toi32_i32$2 = $69$hi; + i64toi32_i32$2 = $218$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$4 = $69$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$0 = $9_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = (HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $2300($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $24_1 = 0, $15_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $9_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $9_1; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $9_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 22 | 0, $4_1 + 20 | 0 | 0, $9_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + $15_1 = 1; + $330(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $15_1 | 0, $15_1 | 0) | 0; + label$2 : { + if (!((100 | 0) == ($287(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + $24_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $311(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $24_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $315(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $24_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != ($24_1 | 0) & 1 | 0)) { + break label$3 + } + $2312(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0); + label$4 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$4 + } + $3288(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + } + $51_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $51_1 | 0; + } + + function $2301($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $17_1 = 0, $31_1 = 0, $40_1 = 0, $67_1 = 0, $76_1 = 0, $115_1 = 0, $97_1 = 0, $137_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0; + $17_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $17_1 | 0) >> $17_1 | 0) & 128 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 267; + break label$1; + } + label$3 : while (1) { + $31_1 = 0; + label$4 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + $40_1 = 24; + $31_1 = ((((HEAPU8[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $40_1 | 0) >> $40_1 | 0) & 128 | 0 | 0) != (0 | 0); + } + label$5 : { + if (!($31_1 & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + continue label$3; + } + break label$3; + }; + label$6 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 267; + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + label$7 : while (1) { + $67_1 = 0; + label$8 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + $76_1 = 24; + $67_1 = ((((HEAPU8[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $76_1 | 0) >> $76_1 | 0) & 128 | 0 | 0) != (0 | 0); + } + label$9 : { + if (!($67_1 & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + continue label$7; + } + break label$7; + }; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $97_1 = $2061((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + $97_1 | 0; + label$10 : { + label$11 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$11 + } + $115_1 = $2077((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + break label$10; + } + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = (HEAPU8[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + $115_1 = 1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + $115_1 | 0; + label$12 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 267; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $137_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $137_1 | 0; + } + + function $2302($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $10_1 = 0, $26$hi = 0, $27$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $14_1 = 0, $15_1 = 0, $16_1 = 0, i64toi32_i32$2 = 0, $19_1 = 0, $23_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $10_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 8 | 0, $5_1 + 4 | 0 | 0, $10_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + $14_1 = 0; + $15_1 = 1; + $16_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $27$hi = i64toi32_i32$1; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $331($16_1 | 0, $15_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + $287(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $19_1 = $317(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $14_1 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = $19_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $23_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $23_1 | 0; + } + + function $2303($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $44$hi = 0, $45$hi = 0, $47$hi = 0, $48$hi = 0, $27_1 = 0, $49$hi = 0, $50$hi = 0, $51$hi = 0, $52$hi = 0, $28_1 = 0, $15_1 = 0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $37_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 15 | 0, $5_1 + 8 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $15_1 = 100; + $16_1 = 0; + $17_1 = 2; + $18_1 = 1; + $19_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $44$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $45$hi = i64toi32_i32$1; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $331($19_1 | 0, $18_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + $20_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $47$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $48$hi = i64toi32_i32$2; + i64toi32_i32$2 = $47$hi; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$2 = $47$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $48$hi; + i64toi32_i32$3 = 10; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $27_1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + $27_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$0 | 0) | 0; + } + $49$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $50$hi = i64toi32_i32$5; + i64toi32_i32$5 = $49$hi; + i64toi32_i32$5 = $50$hi; + i64toi32_i32$5 = $49$hi; + i64toi32_i32$2 = $27_1; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $51$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $52$hi = i64toi32_i32$4; + i64toi32_i32$4 = $51$hi; + i64toi32_i32$4 = $52$hi; + i64toi32_i32$4 = $51$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$2 = $52$hi; + i64toi32_i32$3 = 10; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + $28_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$1 | 0) | 0; + $28_1 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + } + $331($20_1 | 0, $17_1 | 0, $28_1 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = $16_1; + label$3 : { + if (!(($15_1 | 0) == ($287(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $37_1 = ($321(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = $37_1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $41_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $41_1 | 0; + } + + function $2304($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $104_1 = 0, $8_1 = 0, $52_1 = 0, $7_1 = 0, $71_1 = 0, $109$hi = 0, $110$hi = 0, $111$hi = 0, $90_1 = 0, $25_1 = 0, $75_1 = 0, $109_1 = 0, $110_1 = 0, $311_1 = 0, $101_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $7_1; + $8_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $104_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $25_1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = $25_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $3289(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2075(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 12 | 0, $6_1 + 16 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$3 + } + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $331(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = 0; + label$4 : while (1) { + $52_1 = 0; + label$5 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$5 + } + $52_1 = 0; + if (!(($287(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$5 + } + $52_1 = (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (!($52_1 & 1 | 0)) { + break label$6 + } + $71_1 = 4; + $75_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = $318(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $109_1 = i64toi32_i32$1; + $109$hi = i64toi32_i32$0; + i64toi32_i32$0 = $318(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $110_1 = i64toi32_i32$0; + $110$hi = i64toi32_i32$1; + i64toi32_i32$1 = $318(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 3 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $111$hi = i64toi32_i32$0; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$0 = $110$hi; + i64toi32_i32$0 = $111$hi; + $311_1 = i64toi32_i32$1; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$1 = $110$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2072($75_1 | 0, 0 | 0, $109_1 | 0, i64toi32_i32$0 | 0, $110_1 | 0, i64toi32_i32$1 | 0, $311_1 | 0, $111$hi | 0, $311(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $71_1 | 0) | 0 | 0, $315(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $71_1 | 0) | 0 | 0, (HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $90_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($90_1 + 4 | 0) >> 2] = (HEAP32[($90_1 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $222(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$7 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + } + } + $101_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $101_1 | 0; + } + + function $2305($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $62_1 = 0, $63_1 = 0, $64_1 = 0, $65_1 = 0, $66_1 = 0, $67_1 = 0, $20_1 = 0, $388_1 = 0, $392$hi = 0, $401$hi = 0, $86_1 = 0, $323_1 = 0, $13_1 = 0, $389$hi = 0, $390$hi = 0, $396$hi = 0, $68_1 = 0, $69_1 = 0, $70_1 = 0, $398$hi = 0, $399$hi = 0, $50_1 = 0, $403$hi = 0, $98_1 = 0, $132_1 = 0, $407$hi = 0, $408$hi = 0, $409$hi = 0, $410$hi = 0, $415$hi = 0, $416$hi = 0, $418$hi = 0, $419$hi = 0, $211_1 = 0, $245_1 = 0, $285_1 = 0, $348_1 = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $21_1 = 0, $515_1 = 0, $522_1 = 0, $71_1 = 0, $558_1 = 0, $407_1 = 0, $793_1 = 0, $812_1 = 0, $818_1 = 0, $824_1 = 0, $415_1 = 0, $867_1 = 0, $418_1 = 0, $923_1 = 0, $201_1 = 0, $1203_1 = 0, $338_1 = 0, $385_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 208 | 0; + global$0 = $8_1; + $13_1 = 0; + HEAP32[($8_1 + 200 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 192 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 196 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 188 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 184 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 180 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 176 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 168 | 0) >> 2] = $13_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2075(HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0, 32 | 0, $8_1 + 168 | 0 | 0, $13_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$2 + } + $17_1 = 100; + $18_1 = 2; + $19_1 = 1; + $20_1 = 0; + i64toi32_i32$0 = 0; + $388_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 160 | 0) >> 2] = $388_1; + HEAP32[($8_1 + 164 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 152 | 0) >> 2] = $388_1; + HEAP32[($8_1 + 156 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 144 | 0) >> 2] = $388_1; + HEAP32[($8_1 + 148 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 140 | 0) >> 2] = $20_1; + HEAP32[($8_1 + 136 | 0) >> 2] = $20_1; + HEAP32[($8_1 + 128 | 0) >> 2] = $20_1; + $21_1 = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 192 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 196 | 0) >> 2] | 0; + $389$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $390$hi = i64toi32_i32$1; + i64toi32_i32$1 = $389$hi; + i64toi32_i32$1 = $390$hi; + i64toi32_i32$1 = $389$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $390$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $331($21_1 | 0, $19_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + $330(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, $18_1 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) | 0; + label$3 : { + label$4 : { + if (!(($287(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0 | 0) == ($17_1 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$5 = 0; + $392$hi = i64toi32_i32$5; + i64toi32_i32$5 = $318(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $515_1 = i64toi32_i32$5; + i64toi32_i32$5 = $8_1; + HEAP32[($8_1 + 160 | 0) >> 2] = $515_1; + HEAP32[($8_1 + 164 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $318(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $522_1 = i64toi32_i32$2; + i64toi32_i32$2 = $8_1; + HEAP32[($8_1 + 152 | 0) >> 2] = $522_1; + HEAP32[($8_1 + 156 | 0) >> 2] = i64toi32_i32$5; + $2294(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, 3 | 0, $8_1 + 144 | 0 | 0, (HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 40 | 0 | 0); + i64toi32_i32$1 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] | 0; + $396$hi = i64toi32_i32$2; + i64toi32_i32$2 = $392$hi; + i64toi32_i32$2 = $396$hi; + i64toi32_i32$2 = $392$hi; + i64toi32_i32$2 = $396$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $392$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$5 | 0)) { + $68_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0) { + $69_1 = 0 + } else { + $69_1 = 1 + } + $70_1 = $69_1; + } else { + $70_1 = 0 + } + $68_1 = $70_1; + } + label$5 : { + if (!($68_1 & 1 | 0)) { + break label$5 + } + i64toi32_i32$3 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $398$hi = i64toi32_i32$2; + i64toi32_i32$2 = -1; + $399$hi = i64toi32_i32$2; + i64toi32_i32$2 = $398$hi; + i64toi32_i32$2 = $399$hi; + i64toi32_i32$2 = $398$hi; + $71_1 = i64toi32_i32$1; + i64toi32_i32$1 = $399$hi; + i64toi32_i32$1 = __wasm_i64_mul($71_1 | 0, i64toi32_i32$2 | 0, -1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $558_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $558_1; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$2; + } + $50_1 = 4; + i64toi32_i32$2 = 0; + $401$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $403$hi = i64toi32_i32$1; + i64toi32_i32$1 = $401$hi; + i64toi32_i32$1 = $403$hi; + i64toi32_i32$1 = $401$hi; + i64toi32_i32$1 = $403$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $401$hi; + i64toi32_i32$5 = 0; + HEAP8[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 48 | 0) >> 0] = ((i64toi32_i32$3 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $315(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, $50_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $311(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, $50_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + $222(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 204 | 0) >> 2] = HEAP32[($8_1 + 136 | 0) >> 2] | 0 ? 7 : 267; + break label$1; + } + break label$3; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $222(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 204 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$5 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 148 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2313(HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0, $8_1 + 128 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$7 + } + if (!(HEAP32[($8_1 + 128 | 0) >> 2] | 0)) { + break label$7 + } + $86_1 = 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $86_1; + HEAP32[($8_1 + 120 | 0) >> 2] = $86_1; + i64toi32_i32$5 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 156 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2079(HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$3 | 0, $8_1 + 124 | 0 | 0, $8_1 + 120 | 0 | 0, $86_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2314($8_1 + 72 | 0 | 0, HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + label$9 : while (1) { + $98_1 = 0; + label$10 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$10 + } + $98_1 = (HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$11 : { + if (!($98_1 & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2315($8_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + continue label$9; + } + break label$9; + }; + label$12 : { + if (!(($2316(HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($8_1 + 128 | 0) >> 2] = 0; + } + $2317($8_1 + 72 | 0 | 0); + } + $42(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0); + } + label$13 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$13 + } + if (!(HEAP32[($8_1 + 128 | 0) >> 2] | 0)) { + break label$13 + } + $132_1 = 24; + HEAP32[($8_1 + 64 | 0) >> 2] = ((HEAPU8[(HEAP32[($8_1 + 140 | 0) >> 2] | 0) >> 0] | 0) << $132_1 | 0) >> $132_1 | 0; + label$14 : { + label$15 : { + if ((HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0) { + break label$15 + } + if (!((HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) >= (16 | 0) & 1 | 0)) { + break label$14 + } + } + $222(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 204 | 0) >> 2] = 267; + break label$1; + } + i64toi32_i32$5 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 148 | 0) >> 2] | 0; + $407_1 = i64toi32_i32$3; + $407$hi = i64toi32_i32$1; + i64toi32_i32$5 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 160 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + $408$hi = i64toi32_i32$3; + i64toi32_i32$3 = $407$hi; + i64toi32_i32$3 = $408$hi; + $793_1 = i64toi32_i32$1; + i64toi32_i32$3 = $407$hi; + i64toi32_i32$5 = $407_1; + i64toi32_i32$1 = $408$hi; + i64toi32_i32$2 = $793_1; + i64toi32_i32$0 = i64toi32_i32$5 - i64toi32_i32$2 | 0; + i64toi32_i32$4 = (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + $409$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $410$hi = i64toi32_i32$4; + i64toi32_i32$4 = $409$hi; + i64toi32_i32$4 = $410$hi; + i64toi32_i32$4 = $409$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$5 = $410$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] = (i64toi32_i32$1 | 0) / (16 | 0) | 0; + i64toi32_i32$4 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 160 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + $812_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $812_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$4 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 148 | 0) >> 2] | 0; + $818_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] = $818_1; + HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$4 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 192 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 196 | 0) >> 2] | 0; + $824_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $824_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$3; + HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($8_1 + 188 | 0) >> 2] | 0; + HEAP32[($8_1 + 68 | 0) >> 2] = (HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 1 | 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$16 + } + i64toi32_i32$4 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$4 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 28 | 0) >> 2] | 0; + $415_1 = i64toi32_i32$3; + $415$hi = i64toi32_i32$0; + i64toi32_i32$3 = Math_imul(HEAP32[($8_1 + 68 | 0) >> 2] | 0, HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0); + i64toi32_i32$0 = i64toi32_i32$3 >> 31 | 0; + $416$hi = i64toi32_i32$0; + i64toi32_i32$0 = $415$hi; + i64toi32_i32$0 = $416$hi; + $867_1 = i64toi32_i32$3; + i64toi32_i32$0 = $415$hi; + i64toi32_i32$4 = $415_1; + i64toi32_i32$3 = $416$hi; + i64toi32_i32$2 = $867_1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$4 = ((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 56 | 0) + ((HEAP32[($8_1 + 68 | 0) >> 2] | 0) << 5 | 0) | 0; + HEAP32[i64toi32_i32$4 >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($8_1 + 68 | 0) >> 2] = (HEAP32[($8_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + HEAP32[($8_1 + 60 | 0) >> 2] = ((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 56 | 0) + ((HEAP32[($8_1 + 64 | 0) >> 2] | 0) << 5 | 0) | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; + $418_1 = i64toi32_i32$1; + $418$hi = i64toi32_i32$4; + i64toi32_i32$1 = Math_imul(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0); + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $419$hi = i64toi32_i32$4; + i64toi32_i32$4 = $418$hi; + i64toi32_i32$4 = $419$hi; + $923_1 = i64toi32_i32$1; + i64toi32_i32$4 = $418$hi; + i64toi32_i32$0 = $418_1; + i64toi32_i32$1 = $419$hi; + i64toi32_i32$2 = $923_1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$3; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + $201_1 = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 20 | 0; + label$18 : { + label$19 : { + if (!((HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $211_1 = HEAP32[($8_1 + 136 | 0) >> 2] | 0; + break label$18; + } + $211_1 = HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + } + $2312($201_1 | 0, $211_1 + 20 | 0 | 0, $8_1 + 172 | 0 | 0); + label$20 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$20 + } + $3288(HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($8_1 + 136 | 0) >> 2] | 0; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = (HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[($8_1 + 136 | 0) >> 2] | 0) | 0; + $62_1 = 0; + HEAP8[i64toi32_i32$0 >> 0] = $62_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $62_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $62_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $62_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$5; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$5 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$5 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$5 >>> 24 | 0; + $64_1 = i64toi32_i32$0 + 16 | 0; + $65_1 = 0; + HEAP8[$64_1 >> 0] = $65_1; + HEAP8[($64_1 + 1 | 0) >> 0] = $65_1 >>> 8 | 0; + HEAP8[($64_1 + 2 | 0) >> 0] = $65_1 >>> 16 | 0; + HEAP8[($64_1 + 3 | 0) >> 0] = $65_1 >>> 24 | 0; + i64toi32_i32$0 = i64toi32_i32$0 + 8 | 0; + HEAP8[i64toi32_i32$0 >> 0] = $62_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $62_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $62_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $62_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$5; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$5 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$5 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$5 >>> 24 | 0; + } + HEAP32[($8_1 + 68 | 0) >> 2] = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + label$21 : while (1) { + $245_1 = 0; + label$22 : { + if (!((HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$22 + } + $245_1 = (HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$23 : { + if (!($245_1 & 1 | 0)) { + break label$23 + } + HEAP32[($8_1 + 60 | 0) >> 2] = ((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 56 | 0) + ((HEAP32[($8_1 + 68 | 0) >> 2] | 0) << 5 | 0) | 0; + label$24 : { + if (!((HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2314($8_1 + 8 | 0 | 0, HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + label$25 : while (1) { + $285_1 = 0; + label$26 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $285_1 = (HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$27 : { + if (!($285_1 & 1 | 0)) { + break label$27 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2315($8_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + continue label$25; + } + break label$25; + }; + $2312((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, $8_1 + 172 | 0 | 0); + label$28 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$28 + } + $3288(HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + label$29 : { + if (!((HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$29 + } + $323_1 = 0; + HEAP32[($8_1 + 4 | 0) >> 2] = $323_1; + HEAP32[$8_1 >> 2] = $323_1; + HEAP32[($8_1 + 60 | 0) >> 2] = ((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 56 | 0) + (((HEAP32[($8_1 + 68 | 0) >> 2] | 0) - 1 | 0) << 5 | 0) | 0; + i64toi32_i32$4 = $8_1; + i64toi32_i32$5 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $1203_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $1203_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$4 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2079(HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$5 | 0, $8_1 + 4 | 0 | 0, $8_1 | 0, $323_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + $338_1 = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 20 | 0; + label$30 : { + label$31 : { + if (!((HEAP32[$8_1 >> 2] | 0 | 0) > (HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$31 + } + $348_1 = HEAP32[$8_1 >> 2] | 0; + break label$30; + } + $348_1 = HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + } + $2312($338_1 | 0, $348_1 + 20 | 0 | 0, $8_1 + 172 | 0 | 0); + label$32 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$32 + } + $3288(HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$8_1 >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[$8_1 >> 2] | 0; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = (HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[$8_1 >> 2] | 0) | 0; + $63_1 = 0; + HEAP8[i64toi32_i32$0 >> 0] = $63_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $63_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $63_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $63_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$5; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$5 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$5 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$5 >>> 24 | 0; + $66_1 = i64toi32_i32$0 + 16 | 0; + $67_1 = 0; + HEAP8[$66_1 >> 0] = $67_1; + HEAP8[($66_1 + 1 | 0) >> 0] = $67_1 >>> 8 | 0; + HEAP8[($66_1 + 2 | 0) >> 0] = $67_1 >>> 16 | 0; + HEAP8[($66_1 + 3 | 0) >> 0] = $67_1 >>> 24 | 0; + i64toi32_i32$0 = i64toi32_i32$0 + 8 | 0; + HEAP8[i64toi32_i32$0 >> 0] = $63_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $63_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $63_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $63_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$5; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$5 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$5 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$5 >>> 24 | 0; + } + $42(HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0); + } + } + } + $2317($8_1 + 8 | 0 | 0); + HEAP32[($8_1 + 68 | 0) >> 2] = (HEAP32[($8_1 + 68 | 0) >> 2] | 0) + -1 | 0; + continue label$21; + } + break label$21; + }; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $222(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + label$33 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$33 + } + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 132 | 0) >> 2] | 0; + } + } + HEAP32[($8_1 + 204 | 0) >> 2] = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + } + $385_1 = HEAP32[($8_1 + 204 | 0) >> 2] | 0; + global$0 = $8_1 + 208 | 0; + return $385_1 | 0; + } + + function $2306($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $108$hi = 0, $109$hi = 0, $111$hi = 0, $61_1 = 0, $66_1 = 0, $116$hi = 0, $117$hi = 0, $247_1 = 0, $111_1 = 0, $271$hi = 0, $316_1 = 0, $116_1 = 0, $360_1 = 0, $102_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + $12_1 = 0; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $12_1; + HEAP32[($7_1 + 4 | 0) >> 2] = $12_1; + HEAP32[$7_1 >> 2] = $12_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 29 | 0, $7_1 + 4 | 0 | 0, $12_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($7_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $331(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $331(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, 2 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + label$2 : { + if (!((100 | 0) == ($287(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $317(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $222(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + label$4 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + break label$3; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 10 | 0, $7_1 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($7_1 + 16 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + if (!((100 | 0) == ($287(HEAP32[$7_1 >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$1 = $318(HEAP32[$7_1 >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $247_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $247_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $108$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $109$hi = i64toi32_i32$1; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$1 = $109$hi; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$2 = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 4 | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $111_1 = i64toi32_i32$2; + $111$hi = i64toi32_i32$5; + $61_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = $61_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $271$hi = i64toi32_i32$2; + i64toi32_i32$2 = $111$hi; + i64toi32_i32$2 = $271$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $111$hi; + i64toi32_i32$3 = $111_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $61_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$4; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $222(HEAP32[$7_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + break label$3; + } + $66_1 = 0; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2289(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0, $66_1 | 0, $66_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + break label$3; + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $316_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $316_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $116_1 = i64toi32_i32$4; + $116$hi = i64toi32_i32$1; + i64toi32_i32$4 = Math_imul(HEAP32[($7_1 + 12 | 0) >> 2] | 0, HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] | 0); + i64toi32_i32$1 = i64toi32_i32$4 >> 31 | 0; + $117$hi = i64toi32_i32$1; + i64toi32_i32$1 = $116$hi; + i64toi32_i32$1 = $117$hi; + $360_1 = i64toi32_i32$4; + i64toi32_i32$1 = $116$hi; + i64toi32_i32$2 = $116_1; + i64toi32_i32$4 = $117$hi; + i64toi32_i32$3 = $360_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$2 = ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 56 | 0) + ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) << 5 | 0) | 0; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + } + $102_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $102_1 | 0; + } + + function $2307($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $6_1 = 0, $70_1 = 0, $83_1 = 0, $84_1 = 0, $141$hi = 0, $142$hi = 0, $146$hi = 0, $107_1 = 0, $33_1 = 0, $40_1 = 0, $82_1 = 0, $90_1 = 0, $97_1 = 0, $104_1 = 0, $146_1 = 0, $430$hi = 0, $134_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[$5_1 >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2288(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) - (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2099(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $33_1 = $2099(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + ($33_1 + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $40_1 = $2099(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + ($40_1 + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) | 0; + label$1 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) > ($6_1 | 0) & 1 | 0)) { + break label$1 + } + if (!(((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2289(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $70_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($70_1 + 4 | 0) >> 2] = (HEAP32[($70_1 + 4 | 0) >> 2] | 0) + 1 | 0; + label$2 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2318(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $82_1 = 1; + $83_1 = 0; + $84_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $84_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $141$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $142$hi = i64toi32_i32$0; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$0 = $142$hi; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $142$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $84_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = $83_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] = $83_1; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $82_1; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $90_1 = $2099(i64toi32_i32$2 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + ($90_1 + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0) | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $97_1 = $2099(i64toi32_i32$2 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + ($97_1 + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) | 0; + } + $104_1 = $5_1 + 16 | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $146_1 = i64toi32_i32$2; + $146$hi = i64toi32_i32$5; + $107_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = $107_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] | 0; + $430$hi = i64toi32_i32$2; + i64toi32_i32$2 = $146$hi; + i64toi32_i32$2 = $430$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $146$hi; + i64toi32_i32$3 = $146_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $107_1; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$4; + $2312((HEAP32[$5_1 >> 2] | 0) + 20 | 0 | 0, (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0, $104_1 | 0); + label$3 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + if (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] = 1; + HEAP8[(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 20 | 0) >> 2] | 0) >> 0] = 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2319((HEAP32[$5_1 >> 2] | 0) + 20 | 0 | 0, (HEAP32[$5_1 >> 2] | 0) + 8 | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $134_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $134_1 | 0; + } + + function $2308($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7_1 = 0, $20_1 = 0, $29_1 = 0, $103_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 44 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0; + label$1 : while (1) { + $20_1 = 0; + label$2 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + $20_1 = (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($20_1 & 1 | 0)) { + break label$3 + } + $29_1 = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $29_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $29_1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2291(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$9 + } + i64toi32_i32$0 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2320(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] = 0; + break label$7; + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2321(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + -1 | 0; + continue label$1; + } + break label$1; + }; + label$10 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$10 + } + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$0 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2322(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + $103_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $103_1 | 0; + } + + function $2309($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $21_1 = 0, $32_1 = 0, $20_1 = 0, $31_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + $2312(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + label$1 : { + if (HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $20_1 = $2102((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $21_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($21_1 + 4 | 0) >> 2] = (HEAP32[($21_1 + 4 | 0) >> 2] | 0) + $20_1 | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $31_1 = $2102((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $32_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($32_1 + 4 | 0) >> 2] = (HEAP32[($32_1 + 4 | 0) >> 2] | 0) + $31_1 | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2310($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $152$hi = 0, $145$hi = 0, $146$hi = 0, i64toi32_i32$4 = 0, $147$hi = 0, $148$hi = 0, $149$hi = 0, $150$hi = 0, $152_1 = 0, $69_1 = 0, $118_1 = 0, $147_1 = 0, $121_1 = 0, $148_1 = 0, $149_1 = 0, $150_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 15; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 5 | 0) | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + $42(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + }; + } + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + label$6 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) + 32 | 0) + 20 | 0; + $2312(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 11 | 0, $5_1 + 20 | 0 | 0); + label$7 : { + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$7 + } + HEAP8[(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 0] = 1; + i64toi32_i32$2 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $69_1 = ($2102((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $69_1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 5 | 0) | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 8 | 0) >> 2] = ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) << 5 | 0) | 0; + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$10 + } + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$10 + } + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2289(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$11 : { + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$11 + } + $118_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $145$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $146$hi = i64toi32_i32$1; + i64toi32_i32$1 = $145$hi; + i64toi32_i32$1 = $146$hi; + i64toi32_i32$1 = $145$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $146$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $147_1 = i64toi32_i32$4; + $147$hi = i64toi32_i32$5; + $121_1 = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $148_1 = i64toi32_i32$5; + $148$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; + $149_1 = i64toi32_i32$2; + $149$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $150_1 = i64toi32_i32$5; + $150$hi = i64toi32_i32$2; + label$12 : { + label$13 : { + if ((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 0] | 0) & 255 | 0) { + break label$13 + } + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] | 0; + $152_1 = i64toi32_i32$2; + $152$hi = i64toi32_i32$5; + break label$12; + } + i64toi32_i32$5 = 0; + $152_1 = 0; + $152$hi = i64toi32_i32$5; + } + i64toi32_i32$5 = $152$hi; + i64toi32_i32$5 = $147$hi; + i64toi32_i32$5 = $148$hi; + i64toi32_i32$5 = $149$hi; + i64toi32_i32$5 = $150$hi; + i64toi32_i32$5 = $152$hi; + i64toi32_i32$5 = $147$hi; + i64toi32_i32$2 = $148$hi; + i64toi32_i32$1 = $149$hi; + i64toi32_i32$3 = $150$hi; + i64toi32_i32$0 = $152$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2293($118_1 | 0, $147_1 | 0, i64toi32_i32$5 | 0, $121_1 | 0, $148_1 | 0, i64toi32_i32$2 | 0, $149_1 | 0, i64toi32_i32$1 | 0, $150_1 | 0, i64toi32_i32$3 | 0, $152_1 | 0, i64toi32_i32$0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2311($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $13_1 = 0, $15_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $9_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $9_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 23 | 0, $4_1 + 4 | 0 | 0, $9_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$1 + } + $13_1 = 2; + $15_1 = 1; + $330(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $15_1 | 0, $15_1 | 0) | 0; + $325(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $13_1 | 0, HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $287(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $332(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $13_1 | 0) | 0; + } + $26_1 = HEAP32[$4_1 >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $26_1 | 0; + } + + function $2312($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $44(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$2; + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 7; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2313($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $10_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $10_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 34 | 0, $5_1 + 4 | 0 | 0, $10_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[$5_1 >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + label$2 : { + if (!((100 | 0) == ($287(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $29_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $29_1 | 0; + } + + function $2314($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $60_1 = 0, $7_1 = 0, $30_1 = 0, $55_1 = 0, $42_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $7_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $60_1 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $30_1 = 24; + if (!(((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0)) { + break label$2 + } + $42_1 = ($2061((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $42_1; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $55_1 = $2315(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + break label$3; + } + $55_1 = 0; + } + global$0 = $5_1 + 16 | 0; + return $55_1 | 0; + } + + function $2315($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, $4_1 = 0, $211$hi = 0, $218$hi = 0, $213$hi = 0, $17_1 = 0, $215$hi = 0, $216$hi = 0, i64toi32_i32$4 = 0, $49_1 = 0, $60_1 = 0, $82_1 = 0, $93_1 = 0, $142_1 = 0, $220$hi = 0, $168_1 = 0, $180_1 = 0, $204_1 = 0, $208_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + $211$hi = i64toi32_i32$0; + $4_1 = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == ($4_1 | 0) & 1 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + i64toi32_i32$2 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $213$hi = i64toi32_i32$1; + i64toi32_i32$1 = $211$hi; + i64toi32_i32$1 = $213$hi; + i64toi32_i32$1 = $211$hi; + i64toi32_i32$1 = $213$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $211$hi; + i64toi32_i32$3 = 0; + label$1 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$1 + } + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + $17_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = $17_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $215$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $216$hi = i64toi32_i32$1; + i64toi32_i32$1 = $215$hi; + i64toi32_i32$1 = $216$hi; + i64toi32_i32$1 = $215$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $216$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$3 = $17_1; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$5; + } + label$2 : { + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] = 0; + break label$3; + } + label$5 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$7 + } + $49_1 = $2077((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0, $3_1 + 16 | 0 | 0) | 0; + break label$6; + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAPU8[((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + $49_1 = 1; + } + $60_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($60_1 + 8 | 0) >> 2] = (HEAP32[($60_1 + 8 | 0) >> 2] | 0) + $49_1 | 0; + } + label$8 : { + label$9 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$9 + } + $82_1 = $2077((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0, $3_1 + 12 | 0 | 0) | 0; + break label$8; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + $82_1 = 1; + } + $93_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($93_1 + 8 | 0) >> 2] = (HEAP32[($93_1 + 8 | 0) >> 2] | 0) + $82_1 | 0; + label$10 : { + label$11 : { + if ((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$11 + } + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) > ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) & 1 | 0) { + break label$11 + } + if (HEAP32[($3_1 + 12 | 0) >> 2] | 0) { + break label$10 + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = 267; + break label$2; + } + $2312((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0 | 0, (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0 | 0, $3_1 + 8 | 0 | 0); + label$12 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$12 + } + i64toi32_i32$5 = 0; + $218$hi = i64toi32_i32$5; + $3288((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0 | 0, (HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + $142_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($142_1 + 8 | 0) >> 2] = (HEAP32[($142_1 + 8 | 0) >> 2] | 0) + (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $220$hi = i64toi32_i32$3; + i64toi32_i32$3 = $218$hi; + i64toi32_i32$3 = $220$hi; + i64toi32_i32$3 = $218$hi; + i64toi32_i32$3 = $220$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $218$hi; + i64toi32_i32$0 = 0; + label$13 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + label$15 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$15 + } + $168_1 = $2077((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0 | 0) | 0; + break label$14; + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAPU8[((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + $168_1 = 1; + } + $180_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($180_1 + 8 | 0) >> 2] = (HEAP32[($180_1 + 8 | 0) >> 2] | 0) + $168_1 | 0; + label$16 : { + if (!(((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 267; + break label$2; + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] = (HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + $204_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($204_1 + 8 | 0) >> 2] = (HEAP32[($204_1 + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + } + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + } + $208_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $208_1 | 0; + } + + function $2316($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $15_1 = 0, $23_1 = 0, $30_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + break label$1; + } + $15_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 12 | 0) >> 2] = $15_1; + label$3 : { + label$4 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$4 + } + $23_1 = $3228(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + break label$3; + } + $23_1 = 0; + } + HEAP32[($6_1 + 8 | 0) >> 2] = $23_1; + label$5 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) - (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0; + } + $30_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $30_1 | 0; + } + + function $2317($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2318($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $192$hi = 0, $16_1 = 0, $89_1 = 0, $110_1 = 0, $121_1 = 0, $134_1 = 0, $185$hi = 0, $186$hi = 0, $163_1 = 0, $189$hi = 0, $190$hi = 0, $194$hi = 0, $215_1 = 0, $46_1 = 0, $85_1 = 0, $109_1 = 0, $120_1 = 0, $143_1 = 0, $157_1 = 0, $160_1 = 0, $605_1 = 0, $641_1 = 0, $174_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $3_1; + i64toi32_i32$2 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $215_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $215_1; + HEAP32[($6_1 + 52 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = 0; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = 0; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 28 | 0) >> 2] = ((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 56 | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 5 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $16_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2288(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) - (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0; + label$4 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) <= ($16_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 267; + break label$1; + } + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2099(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $46_1 = $2099(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + ($46_1 + (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0) | 0; + label$5 : { + label$6 : { + label$7 : { + if (!(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$7 + } + if (!(((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0 | 0) <= (HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0; + label$8 : { + if (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$8 + } + $2312(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0, $6_1 + 24 | 0 | 0); + label$9 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$9 + } + HEAP8[(HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) >> 0] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $85_1 = ($2102((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) + 1 | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = $85_1; + } + } + $89_1 = $6_1 + 24 | 0; + $2312(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0 | 0, $89_1 | 0); + $2312((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, $89_1 | 0); + label$10 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$10 + } + label$11 : { + if (!(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$11 + } + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $109_1 = $2102((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $110_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($110_1 + 4 | 0) >> 2] = (HEAP32[($110_1 + 4 | 0) >> 2] | 0) + $109_1 | 0; + } + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $120_1 = $2102((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $121_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($121_1 + 4 | 0) >> 2] = (HEAP32[($121_1 + 4 | 0) >> 2] | 0) + $120_1 | 0; + $3288((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $134_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($134_1 + 4 | 0) >> 2] = (HEAP32[($134_1 + 4 | 0) >> 2] | 0) + (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0; + $3288(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + } + break label$5; + } + $143_1 = 0; + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2289(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP8[(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 0] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $157_1 = (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $185$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $186$hi = i64toi32_i32$0; + i64toi32_i32$0 = $185$hi; + i64toi32_i32$0 = $186$hi; + i64toi32_i32$0 = $185$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $186$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $160_1 = ($2102($157_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0) + 1 | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = $160_1; + i64toi32_i32$0 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $605_1 = i64toi32_i32$5; + i64toi32_i32$5 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $605_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$2; + $163_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = $163_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $189$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $190$hi = i64toi32_i32$5; + i64toi32_i32$5 = $189$hi; + i64toi32_i32$5 = $190$hi; + i64toi32_i32$5 = $189$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $190$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $163_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = $143_1; + } + label$12 : { + label$13 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$13 + } + i64toi32_i32$4 = 0; + $192$hi = i64toi32_i32$4; + i64toi32_i32$5 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $194$hi = i64toi32_i32$0; + i64toi32_i32$0 = $192$hi; + i64toi32_i32$0 = $194$hi; + i64toi32_i32$0 = $192$hi; + i64toi32_i32$0 = $194$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$4 = $192$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$12 + } + } + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $641_1 = i64toi32_i32$5; + i64toi32_i32$5 = $6_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $641_1; + HEAP32[($6_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + } + $174_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $174_1 | 0; + } + + function $2319($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $12_1 = 0, $57_1 = 0, $69_1 = 0, $82_1 = 0, $99_1 = 0, $110_1 = 0, $56_1 = 0, $68_1 = 0, $98_1 = 0, $114_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + $12_1 = 0; + HEAP32[($8_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $12_1; + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == ($12_1 | 0) & 1 | 0; + $2312(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, $8_1 + 16 | 0 | 0); + label$1 : { + label$2 : { + if (!(HEAP32[($8_1 + 16 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2288(HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 4 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) - (HEAP32[($8_1 + 8 | 0) >> 2] | 0) | 0; + label$3 : { + if (!((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 44 | 0) >> 2] = 267; + break label$1; + } + $3288(HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + label$4 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $56_1 = $2102((HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $57_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($57_1 + 4 | 0) >> 2] = (HEAP32[($57_1 + 4 | 0) >> 2] | 0) + $56_1 | 0; + } + i64toi32_i32$1 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $68_1 = $2102((HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $69_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($69_1 + 4 | 0) >> 2] = (HEAP32[($69_1 + 4 | 0) >> 2] | 0) + $68_1 | 0; + $3288((HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($8_1 + 32 | 0) >> 2] | 0) + (HEAP32[($8_1 + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $82_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($82_1 + 4 | 0) >> 2] = (HEAP32[($82_1 + 4 | 0) >> 2] | 0) + (HEAP32[($8_1 + 4 | 0) >> 2] | 0) | 0; + label$5 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $98_1 = $2102((HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $99_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($99_1 + 4 | 0) >> 2] = (HEAP32[($99_1 + 4 | 0) >> 2] | 0) + $98_1 | 0; + $3288((HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0; + $110_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($110_1 + 4 | 0) >> 2] = (HEAP32[($110_1 + 4 | 0) >> 2] | 0) + (HEAP32[($8_1 + 20 | 0) >> 2] | 0) | 0; + } + HEAP32[($8_1 + 44 | 0) >> 2] = 0; + } + $114_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $114_1 | 0; + } + + function $2320($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $10_1 = 0, i64toi32_i32$1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $10_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 30 | 0, $5_1 + 4 | 0 | 0, $10_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $330(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $287(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $22_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $22_1 | 0; + } + + function $2321($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $12_1 = 0, $146_1 = 0, $151$hi = 0, $76_1 = 0, $158$hi = 0, $48_1 = 0, $65_1 = 0, $153$hi = 0, $160$hi = 0, $105_1 = 0, $163$hi = 0, $164$hi = 0, $121_1 = 0, $125_1 = 0, $146$hi = 0, $289_1 = 0, $353_1 = 0, $143_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 128 | 0; + global$0 = $7_1; + $12_1 = 0; + i64toi32_i32$0 = 0; + $146_1 = 0; + $146$hi = i64toi32_i32$0; + HEAP32[($7_1 + 124 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 112 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 116 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 108 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 104 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $12_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1 + 80 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1 + 64 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + i64toi32_i32$0 = $146$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $146_1; + HEAP32[($7_1 + 60 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $146_1; + HEAP32[($7_1 + 52 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $146_1; + HEAP32[($7_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 36 | 0) >> 2] = $12_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0, 32 | 0, $7_1 + 36 | 0 | 0, $12_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($7_1 + 96 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 116 | 0) >> 2] | 0; + $331(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $330(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) | 0; + label$2 : { + if (!((100 | 0) == ($287(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + $48_1 = 4; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $311(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $48_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $315(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $48_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = $318(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $289_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $289_1; + HEAP32[($7_1 + 44 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2323(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, $7_1 + 80 | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, $7_1 + 56 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $222(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($7_1 + 96 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($7_1 + 96 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + } + } + label$4 : while (1) { + $65_1 = 0; + label$5 : { + if (HEAP32[($7_1 + 96 | 0) >> 2] | 0) { + break label$5 + } + i64toi32_i32$0 = 0; + $151$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + $153$hi = i64toi32_i32$1; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$1 = $153$hi; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$1 = $153$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $151$hi; + i64toi32_i32$3 = 0; + $65_1 = (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0; + } + label$6 : { + if (!($65_1 & 1 | 0)) { + break label$6 + } + $76_1 = 0; + HEAP32[($7_1 + 20 | 0) >> 2] = $76_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $76_1; + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + $353_1 = i64toi32_i32$2; + i64toi32_i32$2 = $7_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $353_1; + HEAP32[($7_1 + 52 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$3 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2079(HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, $7_1 + 20 | 0 | 0, $7_1 + 16 | 0 | 0, $76_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($7_1 + 96 | 0) >> 2] | 0) { + break label$7 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2323(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, $7_1 + 64 | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, $7_1 + 56 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + if (HEAP32[($7_1 + 96 | 0) >> 2] | 0) { + break label$8 + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2289(HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + continue label$4; + } + break label$4; + }; + label$9 : { + if (HEAP32[($7_1 + 96 | 0) >> 2] | 0) { + break label$9 + } + i64toi32_i32$1 = 0; + $158$hi = i64toi32_i32$1; + i64toi32_i32$3 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + $160$hi = i64toi32_i32$2; + i64toi32_i32$2 = $158$hi; + i64toi32_i32$2 = $160$hi; + i64toi32_i32$2 = $158$hi; + i64toi32_i32$2 = $160$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $158$hi; + i64toi32_i32$0 = 0; + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$9 + } + $105_1 = 0; + HEAP32[($7_1 + 12 | 0) >> 2] = $105_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0, 17 | 0, $7_1 + 12 | 0 | 0, $105_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($7_1 + 96 | 0) >> 2] | 0) { + break label$10 + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + $331(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + $163$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $164$hi = i64toi32_i32$3; + i64toi32_i32$3 = $163$hi; + i64toi32_i32$3 = $164$hi; + i64toi32_i32$3 = $163$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $164$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + $331(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 2 | 0, i64toi32_i32$0 - i64toi32_i32$1 | 0 | 0, i64toi32_i32$5 | 0) | 0; + $287(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $222(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + } + } + label$11 : { + if (HEAP32[($7_1 + 96 | 0) >> 2] | 0) { + break label$11 + } + $121_1 = 0; + HEAP32[($7_1 + 8 | 0) >> 2] = $121_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0, 33 | 0, $7_1 + 8 | 0 | 0, $121_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (HEAP32[($7_1 + 96 | 0) >> 2] | 0) { + break label$12 + } + $125_1 = 2; + i64toi32_i32$3 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + $331(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$5 | 0, i64toi32_i32$0 | 0) | 0; + $325(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, $125_1 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$3 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($7_1 + 116 | 0) >> 2] | 0; + $331(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 3 | 0, i64toi32_i32$0 | 0, i64toi32_i32$5 | 0) | 0; + $330(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) | 0; + $287(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $222(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + $332(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, $125_1 | 0) | 0; + } + } + $42(HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0); + $42(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0); + $143_1 = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + global$0 = $7_1 + 128 | 0; + return $143_1 | 0; + } + + function $2322($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, $9_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $51_1 = 0, $77_1 = 0, $49_1 = 0, $50_1 = 0, $118_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $9_1 = 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 40 | 0) >> 2] = $9_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $9_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $9_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $9_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $9_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, 35 | 0, $4_1 + 24 | 0 | 0, $9_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $331(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + label$2 : { + label$3 : while (1) { + if (!((100 | 0) == ($287(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 16 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $44(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 7; + break label$2; + } + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + $49_1 = $317(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $50_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + $51_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = $51_1 + 1 | 0; + HEAP32[($50_1 + ($51_1 << 2 | 0) | 0) >> 2] = $49_1; + continue label$3; + }; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + } + label$7 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$7 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, 31 | 0, $4_1 + 20 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$8 + } + i64toi32_i32$1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $331(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 2 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + } + HEAP8[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 240 | 0) >> 0] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + label$9 : while (1) { + $77_1 = 0; + label$10 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$10 + } + $77_1 = (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!($77_1 & 1 | 0)) { + break label$11 + } + label$12 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $330(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 3 | 0, HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + $330(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $287(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + HEAP8[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 240 | 0) >> 0] = 0; + $42(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0); + $118_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $118_1 | 0; + } + + function $2323($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $30_1 = 0, $52_1 = 0, $80_1 = 0, $103_1 = 0, $298_1 = 0, $361_1 = 0, $112_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 112 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 92 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 88 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 84 | 0) >> 2] = $5_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($8_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 108 | 0) >> 2] = 267; + break label$1; + } + $30_1 = 24; + HEAP32[($8_1 + 8 | 0) >> 2] = (((HEAPU8[(HEAP32[($8_1 + 104 | 0) >> 2] | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) == (0 | 0) & 1 | 0; + $2312(HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, $8_1 + 12 | 0 | 0); + label$3 : { + if (!(HEAP32[($8_1 + 12 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($8_1 + 108 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2314($8_1 + 32 | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : while (1) { + $52_1 = 0; + label$5 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$5 + } + $52_1 = (HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$6 : { + if (!($52_1 & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2316(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + label$10 : { + if ((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$10 + } + if (HEAP32[($8_1 + 8 | 0) >> 2] | 0) { + break label$9 + } + if (HEAP32[($8_1 + 4 | 0) >> 2] | 0) { + break label$9 + } + } + break label$7; + } + $80_1 = 24; + i64toi32_i32$0 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + $2324(HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, ((HEAPU8[(HEAP32[($8_1 + 104 | 0) >> 2] | 0) >> 0] | 0) << $80_1 | 0) >> $80_1 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$1 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + $298_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $298_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2319(HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, $8_1 + 16 | 0 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($8_1 + 12 | 0) >> 2] | 0)) { + break label$11 + } + break label$6; + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2315($8_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + continue label$4; + } + break label$4; + }; + label$12 : { + if (HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$12 + } + $103_1 = 24; + i64toi32_i32$0 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + $2324(HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, ((HEAPU8[(HEAP32[($8_1 + 104 | 0) >> 2] | 0) >> 0] | 0) << $103_1 | 0) >> $103_1 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$1 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + $361_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $361_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + $2317($8_1 + 32 | 0 | 0); + $42(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 108 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + } + $112_1 = HEAP32[($8_1 + 108 | 0) >> 2] | 0; + global$0 = $8_1 + 112 | 0; + return $112_1 | 0; + } + + function $2324($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $24$hi = 0, $26$hi = 0, $18_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + $24$hi = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 0] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$2 | 0) != (0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $18_1 = ($2102((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $18_1; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $2325($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = 50048; + HEAP32[($5_1 + 24 | 0) >> 2] = 50052; + HEAP32[($5_1 + 20 | 0) >> 2] = 50057; + HEAP32[($5_1 + 16 | 0) >> 2] = -1; + HEAP32[($5_1 + 12 | 0) >> 2] = 15; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) > (6 | 0) & 1 | 0)) { + break label$2 + } + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 50068 | 0, -1 | 0); + break label$1; + } + label$3 : { + if (!($2326(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 42017 | 0, HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0) | 0)) { + break label$3 + } + break label$1; + } + $31_1 = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + -2 | 0; + label$4 : { + switch ($31_1 | 0) { + case 4: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + case 3: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + case 2: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + case 1: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + case 0: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break; + default: + break label$4; + }; + } + label$10 : { + label$11 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + if ((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$1; + } + label$12 : { + label$13 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$13 + } + $277(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 1352 | 0, -1 | 0, 0 | 0); + break label$12; + } + label$14 : { + if (!((0 | 0) == ($2154(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$14 + } + $2327(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + } + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2326($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $10_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + $10_1 = $244(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 49930 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(50116 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $263(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + } + $28_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $28_1 | 0; + } + + function $2327($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $10_1 = 0, $230_1 = 0, $231_1 = 0, $142_1 = 0, i64toi32_i32$3 = 0, $239$hi = 0, $240$hi = 0, $28_1 = 0, $229_1 = 0, $84_1 = 0, $97_1 = 0, $100_1 = 0, $141_1 = 0, $143_1 = 0, $146_1 = 0, $236$hi = 0, $179_1 = 0, $544_1 = 0, $554_1 = 0, $564_1 = 0, $236_1 = 0, $582$hi = 0, $586_1 = 0, $239_1 = 0, $601_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 240 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 236 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 232 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 228 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 224 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 220 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 216 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 212 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 208 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 232 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($9_1 + 204 | 0) >> 2] = $10_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $9_1 + 184 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($9_1 + 180 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 76 | 0) >> 2] = -1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($9_1 + 232 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != ($10_1 | 0) & 1 | 0) { + break label$2 + } + $28_1 = 0; + $277(HEAP32[($9_1 + 236 | 0) >> 2] | 0 | 0, 1352 | 0, $28_1 | 0, $28_1 | 0); + break label$1; + } + label$3 : { + if (!((HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) < (-64 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($9_1 + 212 | 0) >> 2] = -64; + } + label$4 : { + if (!((HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) > (64 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($9_1 + 212 | 0) >> 2] = 64; + } + HEAP32[($9_1 + 180 | 0) >> 2] = 1; + label$5 : { + label$6 : { + label$7 : while (1) { + if (!(1 & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + $229_1 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $229_1; + HEAP32[($9_1 + 68 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 56 | 0) >> 2] = $229_1; + HEAP32[($9_1 + 60 | 0) >> 2] = i64toi32_i32$0; + label$8 : { + label$9 : { + if (!((HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($9_1 + 76 | 0) >> 2] = (((HEAP32[($9_1 + 212 | 0) >> 2] | 0) + (HEAP32[($9_1 + 180 | 0) >> 2] | 0) | 0) - 1 | 0 | 0) / (HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0) | 0; + break label$8; + } + HEAP32[($9_1 + 76 | 0) >> 2] = Math_imul(HEAP32[($9_1 + 212 | 0) >> 2] | 0, -1); + } + HEAP32[($9_1 + 72 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($9_1 + 52 | 0) >> 2] = -1; + HEAP32[($9_1 + 44 | 0) >> 2] = ($9_1 + 80 | 0) + Math_imul(HEAP32[($9_1 + 72 | 0) >> 2] | 0, 24) | 0; + $84_1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $230_1 = 0; + i64toi32_i32$1 = $84_1; + HEAP32[i64toi32_i32$1 >> 2] = $230_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $230_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $84_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $230_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 48 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($9_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $97_1 = 0; + $100_1 = $9_1 + 16 | 0; + i64toi32_i32$0 = 0; + $231_1 = 0; + i64toi32_i32$1 = $100_1; + HEAP32[i64toi32_i32$1 >> 2] = $231_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $231_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $100_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $231_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 12 | 0) >> 2] = $97_1; + label$14 : { + label$15 : { + if (!((HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0) >= ($97_1 | 0) & 1 | 0)) { + break label$15 + } + if (!((HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) != (HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + break label$14; + } + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2334(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $9_1 + 56 | 0 | 0, $9_1 + 16 | 0 | 0, $9_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 204 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!(HEAP32[($9_1 + 204 | 0) >> 2] | 0)) { + break label$16 + } + break label$5; + } + label$17 : { + if (!((HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + $141_1 = $9_1 + 16 | 0; + $142_1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = $141_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $544_1 = i64toi32_i32$1; + i64toi32_i32$1 = $142_1; + HEAP32[i64toi32_i32$1 >> 2] = $544_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $143_1 = 16; + i64toi32_i32$2 = i64toi32_i32$2 + $143_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $554_1 = i64toi32_i32$0; + i64toi32_i32$0 = $142_1 + $143_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $554_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $146_1 = 8; + i64toi32_i32$2 = $141_1 + $146_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $564_1 = i64toi32_i32$1; + i64toi32_i32$1 = $142_1 + $146_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $564_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 52 | 0) >> 2] = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + } + } + HEAP32[($9_1 + 48 | 0) >> 2] = (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + i64toi32_i32$2 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $236_1 = i64toi32_i32$0; + $236$hi = i64toi32_i32$1; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $582$hi = i64toi32_i32$0; + i64toi32_i32$0 = $236$hi; + i64toi32_i32$0 = $582$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $236$hi; + i64toi32_i32$3 = $236_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $586_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $9_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $586_1; + HEAP32[($9_1 + 68 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($9_1 + 72 | 0) >> 2] = (HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + i64toi32_i32$0 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $239_1 = i64toi32_i32$1; + $239$hi = i64toi32_i32$2; + i64toi32_i32$0 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $240$hi = i64toi32_i32$1; + i64toi32_i32$1 = $239$hi; + i64toi32_i32$1 = $240$hi; + i64toi32_i32$1 = $239$hi; + i64toi32_i32$1 = $240$hi; + $601_1 = i64toi32_i32$2; + i64toi32_i32$1 = $239$hi; + i64toi32_i32$0 = $239_1; + i64toi32_i32$2 = $240$hi; + i64toi32_i32$3 = $601_1; + label$18 : { + label$19 : { + if (((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0) { + break label$19 + } + if (!((HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$18 + } + } + break label$6; + } + HEAP32[($9_1 + 180 | 0) >> 2] = (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($9_1 + 200 | 0) >> 2] = 0; + label$20 : while (1) { + $179_1 = 0; + label$21 : { + if (!((HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + $179_1 = (HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$22 : { + if (!($179_1 & 1 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2335(HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0, ($9_1 + 80 | 0) + Math_imul(HEAP32[($9_1 + 200 | 0) >> 2] | 0, 24) | 0 | 0, HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0) == ((HEAP32[($9_1 + 180 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 220 | 0) >> 2] | 0 | 0, $9_1 + 184 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 204 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 200 | 0) >> 2] = (HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + } + break label$20; + }; + } + $2053(HEAP32[($9_1 + 208 | 0) >> 2] | 0 | 0); + label$23 : { + if (!(HEAP32[($9_1 + 204 | 0) >> 2] | 0)) { + break label$23 + } + $284(HEAP32[($9_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0); + $42(HEAP32[($9_1 + 184 | 0) >> 2] | 0 | 0); + break label$1; + } + $277(HEAP32[($9_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 184 | 0) >> 2] | 0 | 0, -1 | 0, 3 | 0); + } + global$0 = $9_1 + 240 | 0; + return; + } + + function $2328($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!($2326(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 42025 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, $5_1 | 0) | 0)) { + break label$2 + } + break label$1; + } + if (!((0 | 0) == ($2154(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + $2329(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $2329($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $67_1 = 0, $307_1 = 0, $33_1 = 0, $25_1 = 0, i64toi32_i32$2 = 0, $137_1 = 0, $191_1 = 0, $209_1 = 0, $431_1 = 0, $241_1 = 0, $246_1 = 0, $247_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 208 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 204 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 200 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 196 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 200 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 192 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1 + 168 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + $25_1 = 0; + $277(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, 1352 | 0, $25_1 | 0, $25_1 | 0); + break label$1; + } + $33_1 = $4_1 + 136 | 0; + i64toi32_i32$0 = 0; + $307_1 = 0; + i64toi32_i32$1 = $33_1; + HEAP32[i64toi32_i32$1 >> 2] = $307_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $307_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $33_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $307_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $33_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $307_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2336(HEAP32[($4_1 + 200 | 0) >> 2] | 0 | 0, 0 | 0, $4_1 + 184 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!(HEAP32[($4_1 + 188 | 0) >> 2] | 0)) { + break label$4 + } + break label$3; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(Math_imul(HEAP32[($4_1 + 184 | 0) >> 2] | 0, 12) | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((0 | 0) == (HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 188 | 0) >> 2] = 7; + break label$3; + } + i64toi32_i32$2 = HEAP32[($4_1 + 200 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $431_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 152 | 0) >> 2] = $431_1; + HEAP32[($4_1 + 156 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 136 | 0) >> 2] = HEAP32[($4_1 + 200 | 0) >> 2] | 0; + HEAP32[($4_1 + 180 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 180 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $67_1 = 0; + HEAP32[($4_1 + 124 | 0) >> 2] = $67_1; + HEAP32[($4_1 + 120 | 0) >> 2] = $67_1; + HEAP32[($4_1 + 116 | 0) >> 2] = $67_1; + HEAP32[($4_1 + 112 | 0) >> 2] = $67_1; + HEAP32[($4_1 + 140 | 0) >> 2] = HEAP32[($4_1 + 180 | 0) >> 2] | 0; + HEAP32[($4_1 + 144 | 0) >> 2] = $67_1; + $2338(HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 104 | 0, $4_1 + 136 | 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $319(HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 180 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $315(HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 180 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) == ($67_1 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!(($321(HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 180 | 0) >> 2] | 0) + 1 | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$10 + } + break label$8; + } + HEAP32[($4_1 + 188 | 0) >> 2] = 7; + break label$3; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2213(HEAP32[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, $4_1 + 132 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($4_1 + 188 | 0) >> 2] | 0)) { + break label$11 + } + break label$3; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 192 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 132 | 0) >> 2] | 0, $4_1 + 128 | 0, $4_1 + 124 | 0, $4_1 + 120 | 0, $4_1 + 116 | 0, $4_1 + 112 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + label$13 : while (1) { + if (HEAP32[($4_1 + 188 | 0) >> 2] | 0) { + break label$12 + } + $137_1 = 0; + HEAP32[($4_1 + 96 | 0) >> 2] = 2147483647; + HEAP32[($4_1 + 92 | 0) >> 2] = $137_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $137_1; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 88 | 0) >> 2] = (HEAP32[($4_1 + 160 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 100 | 0) >> 2] | 0, 12) | 0; + label$16 : { + if (!((HEAP32[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + if (!(((HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) < (HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 96 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 100 | 0) >> 2] = (HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + label$17 : { + label$18 : { + if ((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$18 + } + HEAP32[($4_1 + 188 | 0) >> 2] = 101; + break label$17; + } + $191_1 = 24; + label$19 : { + label$20 : { + if (!((0 | 0) == ((((HEAPU8[(HEAP32[(HEAP32[($4_1 + 92 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) << $191_1 | 0) >> $191_1 | 0) & 254 | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[(HEAP32[($4_1 + 92 | 0) >> 2] | 0) >> 2] = 0; + break label$19; + } + $2346(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 4 | 0 | 0); + } + label$21 : while (1) { + $209_1 = 0; + label$22 : { + if (HEAP32[($4_1 + 188 | 0) >> 2] | 0) { + break label$22 + } + $209_1 = (HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0); + } + label$23 : { + if (!($209_1 & 1 | 0)) { + break label$23 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 192 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 132 | 0) >> 2] | 0, $4_1 + 128 | 0, $4_1 + 124 | 0, $4_1 + 120 | 0, $4_1 + 116 | 0, $4_1 + 112 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + continue label$21; + } + break label$21; + }; + label$24 : { + label$25 : { + if (HEAP32[($4_1 + 188 | 0) >> 2] | 0) { + break label$25 + } + $241_1 = HEAP32[($4_1 + 180 | 0) >> 2] | 0; + $246_1 = ((HEAP32[($4_1 + 92 | 0) >> 2] | 0) - (HEAP32[($4_1 + 160 | 0) >> 2] | 0) | 0 | 0) / (12 | 0) | 0; + $247_1 = HEAP32[($4_1 + 120 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 116 | 0) >> 2] | 0) - (HEAP32[($4_1 + 120 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $247_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $246_1; + HEAP32[$4_1 >> 2] = $241_1; + $81(64 | 0, $4_1 + 16 | 0 | 0, 50145 | 0, $4_1 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2341($4_1 + 168 | 0 | 0, $4_1 + 16 | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + break label$24; + } + label$26 : { + if (!((HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$26 + } + if (!((HEAP32[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($4_1 + 188 | 0) >> 2] = 267; + } + } + } + continue label$13; + }; + } + label$27 : { + if (!((HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($4_1 + 188 | 0) >> 2] = 0; + } + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 192 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 132 | 0) >> 2] | 0) | 0; + label$28 : { + if (!(HEAP32[($4_1 + 188 | 0) >> 2] | 0)) { + break label$28 + } + break label$3; + } + } + HEAP32[($4_1 + 180 | 0) >> 2] = (HEAP32[($4_1 + 180 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + $42(HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0); + $2053(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0); + label$29 : { + label$30 : { + if (!(HEAP32[($4_1 + 188 | 0) >> 2] | 0)) { + break label$30 + } + $284(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0); + $42(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0); + break label$29; + } + $277(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 172 | 0) >> 2] | 0) - 1 | 0 | 0, 3 | 0); + } + } + global$0 = $4_1 + 208 | 0; + return; + } + + function $2330($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!($2326(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 13390 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2331(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $18_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + label$3 : { + label$4 : { + label$5 : { + if (!$18_1) { + break label$5 + } + if (($18_1 | 0) == (101 | 0)) { + break label$4 + } + break label$3; + } + $277(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 50158 | 0, -1 | 0, 0 | 0); + break label$1; + } + $277(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 50174 | 0, -1 | 0, 0 | 0); + break label$1; + } + $284(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2331($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $29_1 = 0, $5_1 = 0, $22_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $5_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $400(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 50196 | 0, $5_1 | 0, $5_1 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2265(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + label$4 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$4 + } + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$3 + } + } + $22_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $400(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 50211 | 0, $22_1 | 0, $22_1 | 0, $22_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($3_1 + 4 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + break label$2; + } + $29_1 = 0; + $400(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 50224 | 0, $29_1 | 0, $29_1 | 0, $29_1 | 0) | 0; + $400(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 50211 | 0, $29_1 | 0, $29_1 | 0, $29_1 | 0) | 0; + } + } + $2053(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $36_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $36_1 | 0; + } + + function $2332($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (!((0 | 0) == ($2326(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 42033 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $2333(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2333($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $26_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 50241; + } + label$3 : { + label$4 : { + if ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + $26_1 = 0; + $254(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 1352 | 0, $26_1 | 0, $26_1 | 0); + break label$3; + } + $2352(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $2053(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2334($0_1, $1_1, $2_1, $3_1, $3$hi, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $129_1 = 0, $16_1 = 0, $133$hi = 0, $134$hi = 0, $25_1 = 0, $135$hi = 0, $79_1 = 0, $325$hi = 0, $329_1 = 0, $412_1 = 0, $418_1 = 0, $126_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 112 | 0; + global$0 = $9_1; + $16_1 = $9_1 + 40 | 0; + HEAP32[($9_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 96 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 92 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 84 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 76 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 28 | 0) >> 2] = -1; + i64toi32_i32$0 = 0; + $129_1 = 0; + i64toi32_i32$1 = $16_1; + HEAP32[i64toi32_i32$1 >> 2] = $129_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $129_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $129_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2336(HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0, $9_1 + 68 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($9_1 + 72 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($9_1 + 108 | 0) >> 2] = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 32 | 0) >> 2] = Math_imul(HEAP32[($9_1 + 68 | 0) >> 2] | 0, 24); + HEAP32[($9_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($9_1 + 108 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + $3289(HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($9_1 + 40 | 0) >> 2] = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + HEAP32[($9_1 + 44 | 0) >> 2] = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + HEAP32[($9_1 + 48 | 0) >> 2] = HEAP32[($9_1 + 104 | 0) >> 2] | 0; + HEAP32[($9_1 + 52 | 0) >> 2] = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[($9_1 + 60 | 0) >> 2] = -1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2338(HEAP32[((HEAP32[($9_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 105 | 0, $9_1 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($9_1 + 72 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[($9_1 + 24 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (!((HEAP32[(((HEAP32[($9_1 + 56 | 0) >> 2] | 0) + Math_imul(HEAP32[($9_1 + 24 | 0) >> 2] | 0, 24) | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = 0; + $133$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $134$hi = i64toi32_i32$0; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = $134$hi; + i64toi32_i32$3 = (HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0) % (64 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $25_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $25_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $135$hi = i64toi32_i32$1; + $79_1 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$0 = $79_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $325$hi = i64toi32_i32$2; + i64toi32_i32$2 = $135$hi; + i64toi32_i32$2 = $325$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $135$hi; + i64toi32_i32$3 = $25_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $329_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $79_1; + HEAP32[i64toi32_i32$0 >> 2] = $329_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($9_1 + 24 | 0) >> 2] = (HEAP32[($9_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + label$8 : { + label$9 : while (1) { + if (!((($2339($9_1 + 40 | 0 | 0) | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + $2340($9_1 + 40 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, $9_1 + 20 | 0 | 0, $9_1 + 16 | 0 | 0, $9_1 + 8 | 0 | 0, $9_1 | 0); + label$10 : { + if (!((HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[$9_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 4 | 0) >> 2] | 0; + $412_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $412_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + $418_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $418_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 28 | 0) >> 2] = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + } + continue label$9; + }; + } + HEAP32[(HEAP32[($9_1 + 76 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + } + $42(HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 108 | 0) >> 2] = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + } + $126_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + global$0 = $9_1 + 112 | 0; + return $126_1 | 0; + } + + function $2335($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $12_1 = 0, $79_1 = 0, $224$hi = 0, $225$hi = 0, $226$hi = 0, $227$hi = 0, $27_1 = 0, $228$hi = 0, $230$hi = 0, $278_1 = 0, $224_1 = 0, $226_1 = 0, $220_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11_1 = global$0 - 128 | 0; + global$0 = $11_1; + $12_1 = 0; + HEAP32[($11_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 112 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 108 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 104 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 100 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 96 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 92 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 88 | 0) >> 2] = $8_1; + HEAP32[($11_1 + 84 | 0) >> 2] = HEAP32[(HEAP32[($11_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($11_1 + 68 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 64 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 60 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($11_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($11_1 + 116 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $278_1 = i64toi32_i32$0; + i64toi32_i32$0 = $11_1; + HEAP32[($11_1 + 48 | 0) >> 2] = $278_1; + HEAP32[($11_1 + 52 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($11_1 + 44 | 0) >> 2] = (HEAP32[(HEAP32[($11_1 + 116 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $319(HEAP32[((HEAP32[($11_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0) == ($12_1 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(($321(HEAP32[((HEAP32[($11_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($11_1 + 124 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($11_1 + 124 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $315(HEAP32[((HEAP32[($11_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($11_1 + 84 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2213(HEAP32[((HEAP32[($11_1 + 84 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($11_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 72 | 0) >> 2] | 0 | 0, $11_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($11_1 + 80 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($11_1 + 124 | 0) >> 2] = HEAP32[($11_1 + 80 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + label$6 : while (1) { + if (HEAP32[($11_1 + 80 | 0) >> 2] | 0) { + break label$5 + } + $79_1 = 0; + HEAP32[($11_1 + 28 | 0) >> 2] = -1; + HEAP32[($11_1 + 24 | 0) >> 2] = $79_1; + HEAP32[($11_1 + 20 | 0) >> 2] = $79_1; + HEAP32[($11_1 + 16 | 0) >> 2] = $79_1; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($11_1 + 36 | 0) >> 2] | 0, $11_1 + 32 | 0, $11_1 + 28 | 0, $11_1 + 24 | 0, $11_1 + 20 | 0, $11_1 + 68 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($11_1 + 80 | 0) >> 2] | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[($11_1 + 80 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2341(HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($11_1 + 76 | 0) >> 2] | 0) + (HEAP32[($11_1 + 64 | 0) >> 2] | 0) | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + break label$5; + } + label$9 : { + if (!((HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + continue label$6; + } + label$10 : { + if (HEAP32[($11_1 + 60 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[($11_1 + 12 | 0) >> 2] = (HEAP32[($11_1 + 72 | 0) >> 2] | 0) - (HEAP32[($11_1 + 24 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2342(HEAP32[($11_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($11_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 104 | 0) >> 2] | 0 | 0, (HEAP32[($11_1 + 76 | 0) >> 2] | 0) + (HEAP32[($11_1 + 24 | 0) >> 2] | 0) | 0 | 0, HEAP32[($11_1 + 12 | 0) >> 2] | 0 | 0, $11_1 + 56 | 0 | 0, $11_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11_1 + 60 | 0) >> 2] = 1; + label$11 : { + if (HEAP32[($11_1 + 80 | 0) >> 2] | 0) { + break label$11 + } + label$12 : { + label$13 : { + label$14 : { + if ((HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$14 + } + if (!((HEAP32[($11_1 + 112 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$13 + } + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2341(HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + break label$12; + } + label$15 : { + if (!(HEAP32[($11_1 + 24 | 0) >> 2] | 0)) { + break label$15 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2341(HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + } + } + label$16 : { + label$17 : { + if (HEAP32[($11_1 + 80 | 0) >> 2] | 0) { + break label$17 + } + if (!((HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + } + continue label$6; + } + } + label$18 : { + if (!((HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0) >= ((HEAP32[($11_1 + 56 | 0) >> 2] | 0) + (HEAP32[($11_1 + 104 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$18 + } + label$19 : { + if (!(HEAP32[($11_1 + 108 | 0) >> 2] | 0)) { + break label$19 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2341(HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + break label$5; + } + i64toi32_i32$1 = 0; + $224_1 = 0; + $224$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $225$hi = i64toi32_i32$1; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = HEAP32[($11_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11_1 + 52 | 0) >> 2] | 0; + $226_1 = i64toi32_i32$1; + $226$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $227$hi = i64toi32_i32$0; + i64toi32_i32$0 = $225$hi; + i64toi32_i32$0 = $227$hi; + i64toi32_i32$0 = $225$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = $227$hi; + i64toi32_i32$3 = (HEAP32[($11_1 + 68 | 0) >> 2] | 0) - (HEAP32[($11_1 + 56 | 0) >> 2] | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $27_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $27_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $228$hi = i64toi32_i32$1; + i64toi32_i32$1 = $226$hi; + i64toi32_i32$1 = $228$hi; + i64toi32_i32$1 = $226$hi; + i64toi32_i32$0 = $226_1; + i64toi32_i32$2 = $228$hi; + i64toi32_i32$3 = $27_1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $230$hi = i64toi32_i32$2; + i64toi32_i32$2 = $224$hi; + i64toi32_i32$2 = $230$hi; + i64toi32_i32$2 = $224$hi; + i64toi32_i32$2 = $230$hi; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $224$hi; + i64toi32_i32$3 = $224_1; + HEAP32[($11_1 + 16 | 0) >> 2] = ((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0; + label$20 : { + if (!((HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0) > (HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2341(HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($11_1 + 76 | 0) >> 2] | 0) + (HEAP32[($11_1 + 64 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($11_1 + 24 | 0) >> 2] | 0) - (HEAP32[($11_1 + 64 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + label$21 : { + if (HEAP32[($11_1 + 80 | 0) >> 2] | 0) { + break label$21 + } + if (!(HEAP32[($11_1 + 16 | 0) >> 2] | 0)) { + break label$21 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2341(HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 100 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + label$22 : { + if (HEAP32[($11_1 + 80 | 0) >> 2] | 0) { + break label$22 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2341(HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($11_1 + 76 | 0) >> 2] | 0) + (HEAP32[($11_1 + 24 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($11_1 + 20 | 0) >> 2] | 0) - (HEAP32[($11_1 + 24 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + label$23 : { + if (HEAP32[($11_1 + 80 | 0) >> 2] | 0) { + break label$23 + } + if (!(HEAP32[($11_1 + 16 | 0) >> 2] | 0)) { + break label$23 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2341(HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 96 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($11_1 + 64 | 0) >> 2] = HEAP32[($11_1 + 20 | 0) >> 2] | 0; + continue label$6; + }; + } + FUNCTION_TABLE[HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($11_1 + 36 | 0) >> 2] | 0) | 0; + HEAP32[($11_1 + 124 | 0) >> 2] = HEAP32[($11_1 + 80 | 0) >> 2] | 0; + } + $220_1 = HEAP32[($11_1 + 124 | 0) >> 2] | 0; + global$0 = $11_1 + 128 | 0; + return $220_1 | 0; + } + + function $2336($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + HEAP32[$5_1 >> 2] = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2338(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 106 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + $33_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $33_1 | 0; + } + + function $2337($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $33_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 24) | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2345(HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $33_1 = 0; + HEAP32[$5_1 >> 2] = $33_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $2346($5_1 + 8 | 0 | 0, $5_1 | 0); + label$3 : { + label$4 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) < ($33_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 4 | 0) >> 2] = 267; + break label$3; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + } + break label$1; + } + } + $55_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $55_1 | 0; + } + + function $2338($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $11_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = 0; + $11_1 = $2344(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $5_1 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $11_1 | 0; + } + + function $2339($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, $90_1 = 0, $126_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + $12_1 = 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = $12_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $12_1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 20 | 0) >> 2] | 0, 24) | 0; + $2347((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 12 | 0 | 0, (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + break label$2; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 2147483647; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 20 | 0) >> 2] | 0, 24) | 0; + label$8 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + label$9 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (2147483647 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 1; + break label$1; + } + $90_1 = ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) + 1 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $90_1; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = $90_1; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[$3_1 >> 2] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 20 | 0) >> 2] | 0, 24) | 0; + $2347((HEAP32[$3_1 >> 2] | 0) + 12 | 0 | 0, (HEAP32[$3_1 >> 2] | 0) + 8 | 0 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0 | 0); + $2347((HEAP32[$3_1 >> 2] | 0) + 20 | 0 | 0, (HEAP32[$3_1 >> 2] | 0) + 16 | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $126_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $126_1 | 0; + } + + function $2340($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $121$hi = 0, $120$hi = 0, $9_1 = 0, $119_1 = 0, $49_1 = 0, $121_1 = 0, $122$hi = 0, $44_1 = 0, $124$hi = 0, $45_1 = 0, $126$hi = 0, $127$hi = 0, $128$hi = 0, $129$hi = 0, $131$hi = 0, $133$hi = 0, $136$hi = 0, $137$hi = 0, $46_1 = 0, $138$hi = 0, $92_1 = 0, $119$hi = 0, $120_1 = 0, $126_1 = 0, $301_1 = 0, $128_1 = 0, $306_1 = 0, $133_1 = 0, $336$hi = 0, $340_1 = 0, $371$hi = 0, $375_1 = 0, $440_1 = 0, $446_1 = 0; + $8_1 = global$0 - 96 | 0; + global$0 = $8_1; + $9_1 = 0; + i64toi32_i32$0 = 0; + $119_1 = 0; + $119$hi = i64toi32_i32$0; + HEAP32[($8_1 + 92 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 80 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 84 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 76 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = $9_1; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $119_1; + HEAP32[($8_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $119_1; + HEAP32[($8_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 52 | 0) >> 2] = $9_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 52 | 0) >> 2] | 0, 24) | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$4 : while (1) { + $49_1 = 0; + label$5 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) < ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + $49_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) >= (HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (!($49_1 & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + $120_1 = 0; + $120$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $121_1 = 1; + $121$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $122$hi = i64toi32_i32$0; + i64toi32_i32$0 = $121$hi; + i64toi32_i32$0 = $122$hi; + i64toi32_i32$0 = $121$hi; + i64toi32_i32$2 = $121_1; + i64toi32_i32$1 = $122$hi; + i64toi32_i32$3 = (HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) % (64 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $44_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $44_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + i64toi32_i32$2 = $8_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $44_1; + HEAP32[($8_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $124$hi = i64toi32_i32$1; + i64toi32_i32$1 = $121$hi; + i64toi32_i32$1 = $124$hi; + i64toi32_i32$1 = $121$hi; + i64toi32_i32$0 = $121_1; + i64toi32_i32$2 = $124$hi; + i64toi32_i32$3 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) - (HEAP32[($8_1 + 60 | 0) >> 2] | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $45_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $45_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + i64toi32_i32$0 = $8_1; + HEAP32[$8_1 >> 2] = $45_1; + HEAP32[($8_1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + $126_1 = i64toi32_i32$2; + $126$hi = i64toi32_i32$0; + i64toi32_i32$1 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + $127$hi = i64toi32_i32$2; + i64toi32_i32$2 = $126$hi; + i64toi32_i32$2 = $127$hi; + $301_1 = i64toi32_i32$0; + i64toi32_i32$2 = $126$hi; + i64toi32_i32$1 = $126_1; + i64toi32_i32$0 = $127$hi; + i64toi32_i32$3 = $301_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $128_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + $128$hi = i64toi32_i32$0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + $129$hi = i64toi32_i32$1; + i64toi32_i32$1 = $128$hi; + i64toi32_i32$1 = $129$hi; + $306_1 = i64toi32_i32$0; + i64toi32_i32$1 = $128$hi; + i64toi32_i32$2 = $128_1; + i64toi32_i32$0 = $129$hi; + i64toi32_i32$3 = $306_1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $131$hi = i64toi32_i32$0; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$0 = $131$hi; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$0 = $131$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $120$hi; + i64toi32_i32$3 = $120_1; + label$7 : { + label$8 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1 | 0; + break label$7; + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1e3 | 0; + } + i64toi32_i32$3 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + $133_1 = i64toi32_i32$1; + $133$hi = i64toi32_i32$0; + i64toi32_i32$3 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + $336$hi = i64toi32_i32$1; + i64toi32_i32$1 = $133$hi; + i64toi32_i32$1 = $336$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$2 = $133_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $340_1 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + i64toi32_i32$3 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $340_1; + HEAP32[($8_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 16 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$1 = $8_1; + i64toi32_i32$0 = HEAP32[$8_1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + $136$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $137$hi = i64toi32_i32$3; + i64toi32_i32$3 = $136$hi; + i64toi32_i32$3 = $137$hi; + i64toi32_i32$3 = $136$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $137$hi; + i64toi32_i32$2 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $46_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + $46_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + $138$hi = i64toi32_i32$0; + i64toi32_i32$3 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $371$hi = i64toi32_i32$1; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$1 = $371$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $138$hi; + i64toi32_i32$2 = $46_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $375_1 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + i64toi32_i32$3 = $8_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $375_1; + HEAP32[($8_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + $92_1 = 24; + label$11 : { + if (!((0 | 0) == ((((HEAPU8[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $92_1 | 0) >> $92_1 | 0) & 254 | 0 | 0) & 1 | 0)) { + break label$11 + } + break label$6; + } + $2346($8_1 + 24 | 0 | 0, $8_1 + 20 | 0 | 0); + continue label$4; + } + break label$4; + }; + } + HEAP32[($8_1 + 52 | 0) >> 2] = (HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[(HEAP32[($8_1 + 76 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 72 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + $440_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $440_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $446_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $446_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$0; + global$0 = $8_1 + 96 | 0; + return; + } + + function $2341($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $69$hi = 0, $70$hi = 0, $71$hi = 0, $72$hi = 0, $58_1 = 0, $28_1 = 0, $69_1 = 0, $144_1 = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + label$3 : { + if (!((((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $28_1 = 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $69_1 = i64toi32_i32$1; + $69$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $70$hi = i64toi32_i32$0; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$0 = $70$hi; + $144_1 = i64toi32_i32$1; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$1 = $70$hi; + i64toi32_i32$3 = $144_1; + i64toi32_i32$4 = $69_1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $71$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $72$hi = i64toi32_i32$5; + i64toi32_i32$5 = $71$hi; + i64toi32_i32$5 = $72$hi; + i64toi32_i32$5 = $71$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$3 = 100; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + $72$hi | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$5 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $49(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != ($28_1 | 0) & 1 | 0) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + break label$2; + } + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = i64toi32_i32$0; + } + $3288((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $58_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($58_1 + 4 | 0) >> 2] = (HEAP32[($58_1 + 4 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0; + HEAP8[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $66_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $66_1 | 0; + } + + function $2342($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $141$hi = 0, $146$hi = 0, $154$hi = 0, $95_1 = 0, $144$hi = 0, $147$hi = 0, $148$hi = 0, $149$hi = 0, $38_1 = 0, $150$hi = 0, $152$hi = 0, $155$hi = 0, $156$hi = 0, $157$hi = 0, $39_1 = 0, $158$hi = 0, $160$hi = 0, $69_1 = 0, $131_1 = 0, $162$hi = 0, $163$hi = 0, $40_1 = 0, $189_1 = 0, $146_1 = 0, $148_1 = 0, $154_1 = 0, $156_1 = 0, $138_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 96 | 0; + global$0 = $9_1; + i64toi32_i32$0 = 0; + $141$hi = i64toi32_i32$0; + HEAP32[($9_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 72 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 68 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $6_1; + i64toi32_i32$2 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $189_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1; + HEAP32[($9_1 + 56 | 0) >> 2] = $189_1; + HEAP32[($9_1 + 60 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $144$hi = i64toi32_i32$0; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$0 = $144$hi; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$0 = $144$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $141$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($9_1 + 52 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + i64toi32_i32$2 = 0; + $146_1 = 0; + $146$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $147$hi = i64toi32_i32$2; + i64toi32_i32$3 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $148_1 = i64toi32_i32$2; + $148$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $149$hi = i64toi32_i32$0; + i64toi32_i32$0 = $147$hi; + i64toi32_i32$0 = $149$hi; + i64toi32_i32$0 = $147$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = $149$hi; + i64toi32_i32$1 = HEAP32[($9_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + $38_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $38_1 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + } + $150$hi = i64toi32_i32$2; + i64toi32_i32$2 = $148$hi; + i64toi32_i32$2 = $150$hi; + i64toi32_i32$2 = $148$hi; + i64toi32_i32$0 = $148_1; + i64toi32_i32$3 = $150$hi; + i64toi32_i32$1 = $38_1; + i64toi32_i32$3 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $152$hi = i64toi32_i32$3; + i64toi32_i32$3 = $146$hi; + i64toi32_i32$3 = $152$hi; + i64toi32_i32$3 = $146$hi; + i64toi32_i32$3 = $152$hi; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = $146$hi; + i64toi32_i32$1 = $146_1; + if (!((((i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | 0) ^ -1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($9_1 + 52 | 0) >> 2] = (HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($9_1 + 48 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + i64toi32_i32$2 = 0; + $154_1 = 0; + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $155$hi = i64toi32_i32$2; + i64toi32_i32$1 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $156_1 = i64toi32_i32$2; + $156$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $157$hi = i64toi32_i32$3; + i64toi32_i32$3 = $155$hi; + i64toi32_i32$3 = $157$hi; + i64toi32_i32$3 = $155$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$2 = $157$hi; + i64toi32_i32$0 = ((HEAP32[($9_1 + 80 | 0) >> 2] | 0) - 1 | 0) - (HEAP32[($9_1 + 48 | 0) >> 2] | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $39_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $39_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $158$hi = i64toi32_i32$2; + i64toi32_i32$2 = $156$hi; + i64toi32_i32$2 = $158$hi; + i64toi32_i32$2 = $156$hi; + i64toi32_i32$3 = $156_1; + i64toi32_i32$1 = $158$hi; + i64toi32_i32$0 = $39_1; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $160$hi = i64toi32_i32$1; + i64toi32_i32$1 = $154$hi; + i64toi32_i32$1 = $160$hi; + i64toi32_i32$1 = $154$hi; + i64toi32_i32$1 = $160$hi; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + i64toi32_i32$3 = $154$hi; + i64toi32_i32$0 = $154_1; + if (!((((i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) ^ -1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($9_1 + 48 | 0) >> 2] = (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($9_1 + 44 | 0) >> 2] = ((HEAP32[($9_1 + 52 | 0) >> 2] | 0) - (HEAP32[($9_1 + 48 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$7 : { + if (!((HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($9_1 + 36 | 0) >> 2] = 0; + HEAP32[($9_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2213(HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, $9_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($9_1 + 32 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($9_1 + 92 | 0) >> 2] = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + break label$1; + } + label$9 : while (1) { + $69_1 = 0; + label$10 : { + if (HEAP32[($9_1 + 32 | 0) >> 2] | 0) { + break label$10 + } + $69_1 = (HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) < ((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + (HEAP32[($9_1 + 44 | 0) >> 2] | 0) | 0 | 0); + } + label$11 : { + if (!($69_1 & 1 | 0)) { + break label$11 + } + $95_1 = 0; + HEAP32[($9_1 + 16 | 0) >> 2] = $95_1; + HEAP32[($9_1 + 12 | 0) >> 2] = $95_1; + HEAP32[($9_1 + 8 | 0) >> 2] = $95_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($9_1 + 24 | 0) >> 2] | 0, $9_1 + 20 | 0, $9_1 + 16 | 0, $9_1 + 12 | 0, $9_1 + 8 | 0, $9_1 + 36 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + continue label$9; + } + break label$9; + }; + FUNCTION_TABLE[HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($9_1 + 24 | 0) >> 2] | 0) | 0; + label$12 : { + if (!(HEAP32[($9_1 + 32 | 0) >> 2] | 0)) { + break label$12 + } + if (!((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) != (101 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($9_1 + 92 | 0) >> 2] = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($9_1 + 40 | 0) >> 2] = (((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0) + (HEAP32[($9_1 + 36 | 0) >> 2] | 0) | 0) - (HEAP32[($9_1 + 80 | 0) >> 2] | 0) | 0; + label$13 : { + if (!((HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$13 + } + $131_1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[$131_1 >> 2] = (HEAP32[$131_1 >> 2] | 0) + (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $162$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $163$hi = i64toi32_i32$1; + i64toi32_i32$1 = $162$hi; + i64toi32_i32$1 = $163$hi; + i64toi32_i32$1 = $162$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $163$hi; + i64toi32_i32$3 = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $40_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $40_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$0 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $40_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + } + } + } + HEAP32[($9_1 + 92 | 0) >> 2] = 0; + } + $138_1 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + global$0 = $9_1 + 96 | 0; + return $138_1 | 0; + } + + function $2343($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $16_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $10_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($10_1 + 4 | 0) >> 2] = (HEAP32[($10_1 + 4 | 0) >> 2] | 0) + 1 | 0; + $16_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($16_1 + 8 | 0) >> 2] = (HEAP32[($16_1 + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) | 0; + return HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0; + } + + function $2344($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $42_1 = 0, $46_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2344(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2344(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $42_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$42_1 >> 2] = (HEAP32[$42_1 >> 2] | 0) + 1 | 0; + } + $46_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $46_1 | 0; + } + + function $2345($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $475$hi = 0, $476$hi = 0, $479$hi = 0, $480$hi = 0, $484$hi = 0, $485$hi = 0, $488$hi = 0, $489$hi = 0, $492$hi = 0, $493$hi = 0, $496$hi = 0, $497$hi = 0, $501$hi = 0, $502$hi = 0, $43_1 = 0, $104_1 = 0, $139_1 = 0, $199_1 = 0, $59_1 = 0, $60_1 = 0, $61_1 = 0, $228_1 = 0, $245_1 = 0, $273_1 = 0, $282_1 = 0, $62_1 = 0, $63_1 = 0, $64_1 = 0, $309_1 = 0, $326_1 = 0, $380_1 = 0, $402_1 = 0, $425_1 = 0, $443_1 = 0, $454_1 = 0, $466_1 = 0, $575_1 = 0, $475_1 = 0, $591_1 = 0, $479_1 = 0, $784_1 = 0, $914_1 = 0, $222_1 = 0, $484_1 = 0, $992_1 = 0, $488_1 = 0, $1009_1 = 0, $303_1 = 0, $492_1 = 0, $1145_1 = 0, $496_1 = 0, $1162_1 = 0, $1245_1 = 0, $501_1 = 0, $1261_1 = 0, $471_1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$2 = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $575_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $575_1; + HEAP32[($6_1 + 52 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $475_1 = i64toi32_i32$1; + $475$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $476$hi = i64toi32_i32$1; + i64toi32_i32$1 = $475$hi; + i64toi32_i32$1 = $476$hi; + i64toi32_i32$1 = $475$hi; + i64toi32_i32$1 = $476$hi; + $591_1 = i64toi32_i32$0; + i64toi32_i32$1 = $475$hi; + i64toi32_i32$2 = $475_1; + i64toi32_i32$0 = $476$hi; + i64toi32_i32$3 = $591_1; + label$3 : { + label$4 : { + if (((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$4 + } + if (!((HEAPU8[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + } + $43_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $43_1; + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = $43_1; + HEAP8[($6_1 + 35 | 0) >> 0] = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (!((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 36 | 0) >> 2] = 1; + } + label$8 : { + if (!((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + } + label$9 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[($6_1 + 35 | 0) >> 0] = 1; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$6; + }; + } + label$10 : { + if (HEAP32[($6_1 + 36 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + break label$1; + } + label$11 : { + if (!(HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0; + $2348(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $6_1 + 44 | 0 | 0); + label$12 : while (1) { + $104_1 = 0; + label$13 : { + if (HEAP32[($6_1 + 44 | 0) >> 2] | 0) { + break label$13 + } + $104_1 = ((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0; + } + label$14 : { + if (!($104_1 & 1 | 0)) { + break label$14 + } + $2240(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $6_1 + 44 | 0 | 0); + label$15 : { + if (HEAP32[($6_1 + 16 | 0) >> 2] | 0) { + break label$15 + } + i64toi32_i32$3 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $479_1 = i64toi32_i32$2; + $479$hi = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $480$hi = i64toi32_i32$2; + i64toi32_i32$2 = $479$hi; + i64toi32_i32$2 = $480$hi; + i64toi32_i32$2 = $479$hi; + i64toi32_i32$2 = $480$hi; + $784_1 = i64toi32_i32$1; + i64toi32_i32$2 = $479$hi; + i64toi32_i32$3 = $479_1; + i64toi32_i32$1 = $480$hi; + i64toi32_i32$0 = $784_1; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$15 + } + break label$14; + } + continue label$12; + } + break label$12; + }; + } + label$16 : { + if (!(((HEAPU8[($6_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$16 + } + label$17 : while (1) { + $139_1 = 0; + label$18 : { + if (HEAP32[($6_1 + 44 | 0) >> 2] | 0) { + break label$18 + } + $139_1 = ((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0; + } + label$19 : { + if (!($139_1 & 1 | 0)) { + break label$19 + } + $2240(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $6_1 + 44 | 0 | 0); + continue label$17; + } + break label$17; + }; + } + label$20 : { + if (!(HEAP32[($6_1 + 44 | 0) >> 2] | 0)) { + break label$20 + } + HEAP32[($6_1 + 92 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($6_1 + 20 | 0) >> 2] = 1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + label$21 : { + label$22 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + HEAP8[($6_1 + 15 | 0) >> 0] = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + label$23 : { + if (!((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] | 0; + $914_1 = i64toi32_i32$3; + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $914_1; + HEAP32[($6_1 + 52 | 0) >> 2] = i64toi32_i32$2; + label$24 : { + label$25 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + $199_1 = 1; + label$26 : { + if (!(HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$26 + } + $199_1 = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) >>> 0 >= ((HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) >>> 0; + } + HEAP8[($6_1 + 15 | 0) >> 0] = $199_1 & 1 | 0; + label$27 : while (1) { + label$28 : { + label$29 : { + if ((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$29 + } + $222_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $484_1 = i64toi32_i32$2; + $484$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $485$hi = i64toi32_i32$2; + i64toi32_i32$2 = $484$hi; + i64toi32_i32$2 = $485$hi; + i64toi32_i32$2 = $484$hi; + i64toi32_i32$2 = $485$hi; + $992_1 = i64toi32_i32$3; + i64toi32_i32$2 = $484$hi; + i64toi32_i32$0 = $484_1; + i64toi32_i32$3 = $485$hi; + i64toi32_i32$1 = $992_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$3 | 0)) { + $59_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$1 >>> 0) { + $60_1 = 0 + } else { + $60_1 = 1 + } + $61_1 = $60_1; + } else { + $61_1 = 0 + } + $59_1 = $61_1; + } + label$30 : { + label$31 : { + if (!($59_1 & 1 | 0)) { + break label$31 + } + $228_1 = 1; + break label$30; + } + i64toi32_i32$1 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $488_1 = i64toi32_i32$0; + $488$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $489$hi = i64toi32_i32$0; + i64toi32_i32$0 = $488$hi; + i64toi32_i32$0 = $489$hi; + i64toi32_i32$0 = $488$hi; + i64toi32_i32$0 = $489$hi; + $1009_1 = i64toi32_i32$2; + i64toi32_i32$0 = $488$hi; + i64toi32_i32$1 = $488_1; + i64toi32_i32$2 = $489$hi; + i64toi32_i32$3 = $1009_1; + $228_1 = ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0 ? 0 : -1; + } + $245_1 = 0; + if (!((Math_imul($222_1, $228_1) | 0) < (0 | 0) & 1 | 0)) { + break label$28 + } + } + $245_1 = ((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + label$32 : { + if (!($245_1 & 1 | 0)) { + break label$32 + } + $2349(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $6_1 + 64 | 0 | 0, $6_1 + 48 | 0 | 0, $6_1 + 15 | 0 | 0); + continue label$27; + } + break label$27; + }; + break label$24; + } + $273_1 = 1; + label$33 : { + if (!(HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$33 + } + $282_1 = 0; + label$34 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$34 + } + $282_1 = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) >>> 0 <= (HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0) >>> 0; + } + $273_1 = $282_1; + } + HEAP8[($6_1 + 15 | 0) >> 0] = $273_1 & 1 | 0; + label$35 : while (1) { + label$36 : { + label$37 : { + if ((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$37 + } + $303_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $492_1 = i64toi32_i32$1; + $492$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $493$hi = i64toi32_i32$1; + i64toi32_i32$1 = $492$hi; + i64toi32_i32$1 = $493$hi; + i64toi32_i32$1 = $492$hi; + i64toi32_i32$1 = $493$hi; + $1145_1 = i64toi32_i32$0; + i64toi32_i32$1 = $492$hi; + i64toi32_i32$3 = $492_1; + i64toi32_i32$0 = $493$hi; + i64toi32_i32$2 = $1145_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $62_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$2 >>> 0) { + $63_1 = 0 + } else { + $63_1 = 1 + } + $64_1 = $63_1; + } else { + $64_1 = 0 + } + $62_1 = $64_1; + } + label$38 : { + label$39 : { + if (!($62_1 & 1 | 0)) { + break label$39 + } + $309_1 = 1; + break label$38; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $496_1 = i64toi32_i32$3; + $496$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $497$hi = i64toi32_i32$3; + i64toi32_i32$3 = $496$hi; + i64toi32_i32$3 = $497$hi; + i64toi32_i32$3 = $496$hi; + i64toi32_i32$3 = $497$hi; + $1162_1 = i64toi32_i32$1; + i64toi32_i32$3 = $496$hi; + i64toi32_i32$2 = $496_1; + i64toi32_i32$1 = $497$hi; + i64toi32_i32$0 = $1162_1; + $309_1 = ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0 ? 0 : -1; + } + $326_1 = 0; + if (!((Math_imul($303_1, $309_1) | 0) > (0 | 0) & 1 | 0)) { + break label$36 + } + } + $326_1 = ((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + label$40 : { + if (!($326_1 & 1 | 0)) { + break label$40 + } + $2103(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $6_1 + 64 | 0 | 0, $6_1 + 48 | 0 | 0, $6_1 | 0, $6_1 + 15 | 0 | 0); + continue label$35; + } + break label$35; + }; + } + HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $1245_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] = $1245_1; + HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] = i64toi32_i32$3; + label$41 : { + label$42 : { + if ((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) & 255 | 0) { + break label$42 + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $501_1 = i64toi32_i32$3; + $501$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $502$hi = i64toi32_i32$3; + i64toi32_i32$3 = $501$hi; + i64toi32_i32$3 = $502$hi; + i64toi32_i32$3 = $501$hi; + i64toi32_i32$3 = $502$hi; + $1261_1 = i64toi32_i32$2; + i64toi32_i32$3 = $501$hi; + i64toi32_i32$0 = $501_1; + i64toi32_i32$2 = $502$hi; + i64toi32_i32$1 = $1261_1; + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$41 + } + } + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$22; + }; + } + label$43 : { + label$44 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$44 + } + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + break label$43; + } + HEAP32[($6_1 + 64 | 0) >> 2] = 0; + } + } + label$45 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$45 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + break label$1; + } + $380_1 = 24; + label$46 : { + label$47 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 0] | 0) << $380_1 | 0) >> $380_1 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$47 + } + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 1 | 0; + label$48 : { + label$49 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$49 + } + $402_1 = $2077(HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, $6_1 + 60 | 0 | 0) | 0; + break label$48; + } + HEAP32[($6_1 + 60 | 0) >> 2] = (HEAPU8[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $402_1 = 1; + } + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + $402_1 | 0; + break label$46; + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + } + label$50 : { + label$51 : while (1) { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$50 + } + $2104(0 | 0, $6_1 + 64 | 0 | 0); + $425_1 = 24; + label$52 : { + if (((HEAPU8[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 0] | 0) << $425_1 | 0) >> $425_1 | 0) { + break label$52 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 1 | 0; + label$53 : { + label$54 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$54 + } + $443_1 = $2077(HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, $6_1 + 60 | 0 | 0) | 0; + break label$53; + } + HEAP32[($6_1 + 60 | 0) >> 2] = (HEAPU8[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $443_1 = 1; + } + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + $443_1 | 0; + continue label$51; + }; + } + $454_1 = 24; + label$55 : { + if (((HEAPU8[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 0] | 0) << $454_1 | 0) >> $454_1 | 0) { + break label$55 + } + HEAP32[($6_1 + 64 | 0) >> 2] = 0; + } + label$56 : { + label$57 : { + if (!((HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$57 + } + $466_1 = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + break label$56; + } + $466_1 = 0; + } + HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] = $466_1; + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + } + $471_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + global$0 = $6_1 + 96 | 0; + return $471_1 | 0; + } + + function $2346($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, $26_1 = 0, $32_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$2 + } + $18_1 = $2077(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, $4_1 + 4 | 0 | 0) | 0; + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAPU8[(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $18_1 = 1; + } + $26_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$26_1 >> 2] = (HEAP32[$26_1 >> 2] | 0) + $18_1 | 0; + $32_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[$32_1 >> 2] = (HEAP32[$32_1 >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 2 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $2347($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $27_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $27_1 = 24; + label$4 : { + if (!((0 | 0) == ((((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $27_1 | 0) >> $27_1 | 0) & 254 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 12 | 0) >> 2] = -1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + break label$2; + } + $2346($5_1 + 16 | 0 | 0, $5_1 + 12 | 0 | 0); + continue label$3; + }; + } + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2348($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $61_1 = 0, $65_1 = 0, $59_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $2196(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + label$3 : { + if (!(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 8 | 0) >> 2] = ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 24) | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $2350(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $59_1 = $2222(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $59_1; + } + $61_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = $61_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] = $61_1; + } + $65_1 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 0] = $65_1; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 33 | 0) >> 0] = $65_1; + $2348(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + $2348(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2349($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $38_1 = 0, $42_1 = 0, $82$hi = 0, $83$hi = 0, $84$hi = 0, $77_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $21_1 = 0, $71_1 = 0, $82_1 = 0, $246_1 = 0, $84_1 = 0, $252$hi = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + $21_1 = $2061(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) + $21_1 | 0; + break label$1; + } + $2105(0 | 0, $8_1 + 20 | 0 | 0); + label$3 : while (1) { + $38_1 = 0; + label$4 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < ((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + (HEAP32[($8_1 + 36 | 0) >> 2] | 0) | 0) >>> 0 & 1 | 0)) { + break label$4 + } + $42_1 = 24; + $38_1 = (((HEAPU8[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0 | 0) == (0 | 0); + } + label$5 : { + if (!($38_1 & 1 | 0)) { + break label$5 + } + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + label$6 : { + label$7 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 >= ((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + (HEAP32[($8_1 + 36 | 0) >> 2] | 0) | 0) >>> 0 & 1 | 0)) { + break label$7 + } + HEAP8[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 0] = 1; + break label$6; + } + $71_1 = $2061(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, $8_1 + 8 | 0 | 0) | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) + $71_1 | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $82_1 = i64toi32_i32$1; + $82$hi = i64toi32_i32$0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + $83$hi = i64toi32_i32$1; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$1 = $83$hi; + $246_1 = i64toi32_i32$0; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$0 = $83$hi; + i64toi32_i32$0 = __wasm_i64_mul($82_1 | 0, i64toi32_i32$1 | 0, $246_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $84_1 = i64toi32_i32$0; + $84$hi = i64toi32_i32$1; + $77_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $77_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $252$hi = i64toi32_i32$0; + i64toi32_i32$0 = $84$hi; + i64toi32_i32$0 = $252$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$3 = $84_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $77_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + } + } + HEAP32[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return; + } + + function $2350($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $16_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0; + $3_1 = global$0 - 16 | 0; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = 1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $16_1 = 0; + HEAP32[((HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 80 | 0) >> 2] = $16_1; + HEAP32[((HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 84 | 0) >> 2] = $16_1; + i64toi32_i32$1 = HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 88 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 92 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return 0 | 0; + } + + function $2351($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $42_1 = 0, $43_1 = 0, $41_1 = 0, $62_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2345(HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $5_1 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + $2346($5_1 + 20 | 0 | 0, $5_1 + 16 | 0 | 0); + } + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $41_1 = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $42_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + $43_1 = HEAP32[($42_1 + 8 | 0) >> 2] | 0; + HEAP32[($42_1 + 8 | 0) >> 2] = $43_1 + 1 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $41_1 + Math_imul($43_1, 12) | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) - 1 | 0; + HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $62_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $62_1 | 0; + } + + function $2352($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, $6_1 = 0, i64toi32_i32$0 = 0, $164_1 = 0, $9_1 = 0, $45_1 = 0, $73_1 = 0, $88_1 = 0, $110_1 = 0, $48_1 = 0, $91_1 = 0, $100_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 96 | 0; + global$0 = $5_1; + $6_1 = 0; + $9_1 = $5_1 + 48 | 0; + HEAP32[($5_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $6_1; + i64toi32_i32$0 = 0; + $164_1 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[i64toi32_i32$1 >> 2] = $164_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $164_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $164_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $164_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + if (!($3229(HEAP32[((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + $2191(HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] = 0; + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $45_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $45_1; + $48_1 = $2353(HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 24 | 0) >> 2] = $48_1; + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $45_1; + label$4 : { + label$5 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + $73_1 = 24; + label$6 : { + if (!($2354(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $73_1 | 0) >> $73_1 | 0 | 0, $5_1 + 16 | 0 | 0) | 0)) { + break label$6 + } + $263(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + break label$2; + } + $88_1 = 24; + $91_1 = $2355($5_1 + 48 | 0 | 0, ((HEAPU8[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $88_1 | 0) >> $88_1 | 0 | 0) | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + $91_1 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $100_1 = $2356(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] = $100_1; + label$7 : { + if ((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + HEAP32[($5_1 + 40 | 0) >> 2] = 7; + } + $110_1 = 1; + HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 88 | 0) >> 2] = $110_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $110_1; + } + label$8 : { + if (HEAP32[($5_1 + 40 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2357(HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 40 | 0) >> 2] = 7; + } + } + label$10 : { + if (HEAP32[($5_1 + 40 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2358(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 48 | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($5_1 + 36 | 0) >> 2] | 0)) { + break label$11 + } + $2359(HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0); + } + } + label$12 : { + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$12 + } + $284(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + label$13 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + FUNCTION_TABLE[HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 32 | 0) >> 2] | 0); + } + break label$2; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0; + $254(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 96 | 0; + return; + } + + function $2353($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + $2338(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 107 | 0, $3_1 + 8 | 0 | 0) | 0; + $10_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $10_1 | 0; + } + + function $2354($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, $18_1 = 0, $28_1 = 0, $42_1 = 0, $56_1 = 0, $70_1 = 0, $80_1 = 0, $90_1 = 0, $100_1 = 0, $111_1 = 0, $109_1 = 0, $116_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP8[($5_1 + 23 | 0) >> 0] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + $8_1 = 24; + label$1 : { + label$2 : { + label$3 : { + if ((((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) == (112 | 0) & 1 | 0) { + break label$3 + } + $18_1 = 24; + if ((((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) == (99 | 0) & 1 | 0) { + break label$3 + } + $28_1 = 24; + label$4 : { + if (!((((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0 | 0) == (110 | 0) & 1 | 0)) { + break label$4 + } + if ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 236 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + } + $42_1 = 24; + label$5 : { + if (!((((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0 | 0) == (97 | 0) & 1 | 0)) { + break label$5 + } + if ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 236 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + } + $56_1 = 24; + label$6 : { + if (!((((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $56_1 | 0) >> $56_1 | 0 | 0) == (108 | 0) & 1 | 0)) { + break label$6 + } + if ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 238 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + } + $70_1 = 24; + if ((((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $70_1 | 0) >> $70_1 | 0 | 0) == (115 | 0) & 1 | 0) { + break label$3 + } + $80_1 = 24; + if ((((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $80_1 | 0) >> $80_1 | 0 | 0) == (120 | 0) & 1 | 0) { + break label$3 + } + $90_1 = 24; + if ((((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $90_1 | 0) >> $90_1 | 0 | 0) == (121 | 0) & 1 | 0) { + break label$3 + } + $100_1 = 24; + if (!((((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $100_1 | 0) >> $100_1 | 0 | 0) == (98 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $109_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $111_1 = 24; + HEAP32[$5_1 >> 2] = ((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $111_1 | 0) >> $111_1 | 0; + $2048($109_1 | 0, 50245 | 0, $5_1 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + } + $116_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $116_1 | 0; + } + + function $2355($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 11 | 0) >> 0] = $1_1; + $7_1 = (HEAP8[($4_1 + 11 | 0) >> 0] | 0) + -97 | 0; + label$1 : { + label$2 : { + switch ($7_1 | 0) { + case 2: + case 13: + case 15: + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + break label$1; + case 0: + case 11: + case 18: + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + case 24: + HEAP32[($4_1 + 4 | 0) >> 2] = Math_imul(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); + break label$1; + case 1: + HEAP32[($4_1 + 4 | 0) >> 2] = Math_imul(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 31 | 0 | 0) / (32 | 0) | 0); + break label$1; + default: + break label$2; + }; + } + HEAP32[($4_1 + 4 | 0) >> 2] = Math_imul(Math_imul(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0), 3); + } + return HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $2356($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $61$hi = 0, $62$hi = 0, $30_1 = 0, $63$hi = 0, $64$hi = 0, $65$hi = 0, $66$hi = 0, $31_1 = 0, $67$hi = 0, $68$hi = 0, $71$hi = 0, $72$hi = 0, $73$hi = 0, $74$hi = 0, $78$hi = 0, $79$hi = 0, $5_1 = 0, $71_1 = 0, $123_1 = 0, $18_1 = 0, $54_1 = 0, $55_1 = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + $61$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $62$hi = i64toi32_i32$0; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $30_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $30_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $63$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $64$hi = i64toi32_i32$1; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $64$hi; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$0 = $30_1; + i64toi32_i32$2 = $64$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $65$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $66$hi = i64toi32_i32$5; + i64toi32_i32$5 = $65$hi; + i64toi32_i32$5 = $66$hi; + i64toi32_i32$5 = $65$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $31_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $31_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $67$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $68$hi = i64toi32_i32$0; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$5 = $31_1; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$3 = 20; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = $4_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3303(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$0 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $71_1 = i64toi32_i32$4; + $71$hi = i64toi32_i32$5; + i64toi32_i32$0 = $4_1; + i64toi32_i32$5 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $72$hi = i64toi32_i32$4; + i64toi32_i32$4 = $71$hi; + i64toi32_i32$4 = $72$hi; + $123_1 = i64toi32_i32$5; + i64toi32_i32$4 = $71$hi; + i64toi32_i32$0 = $71_1; + i64toi32_i32$5 = $72$hi; + i64toi32_i32$3 = $123_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $73$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $74$hi = i64toi32_i32$2; + i64toi32_i32$2 = $73$hi; + i64toi32_i32$2 = $74$hi; + i64toi32_i32$2 = $73$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$0 = $74$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(i64toi32_i32$5 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = 1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $3289(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) + 4 | 0) - (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + HEAP32[(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) + (((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + i64toi32_i32$4 | 0; + $54_1 = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $55_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $79$hi = i64toi32_i32$4; + i64toi32_i32$4 = $78$hi; + i64toi32_i32$4 = $79$hi; + i64toi32_i32$4 = $78$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $3288($54_1 | 0, $55_1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] = $18_1; + } + $58_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $58_1 | 0; + } + + function $2357($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, i64toi32_i32$0 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + HEAP32[$4_1 >> 2] = $5_1; + label$1 : { + label$2 : { + if ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = 1; + HEAP32[$4_1 >> 2] = ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) + 4 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 108; + break label$1; + } + label$3 : { + label$4 : { + if ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1; + HEAP32[$4_1 >> 2] = ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) + (((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 108; + break label$3; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 3; + label$6 : { + if (!(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$6 + } + $3288(HEAP32[$4_1 >> 2] | 0 | 0, ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) + 4 | 0 | 0, (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + } + } + } + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + $63_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $63_1 | 0; + } + + function $2358($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $123_1 = 0, $12_1 = 0, $18_1 = 0, $37_1 = 0, $56_1 = 0, $251$hi = 0, $252$hi = 0, $254$hi = 0, $255$hi = 0, $256$hi = 0, $257$hi = 0, i64toi32_i32$4 = 0, $258$hi = 0, $259$hi = 0, $165_1 = 0, $177_1 = 0, $191_1 = 0, $209_1 = 0, $233_1 = 0, $237_1 = 0, $91_1 = 0, $254_1 = 0, $38_1 = 0, $509_1 = 0, $514_1 = 0, $143_1 = 0, $236_1 = 0, $246_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 112 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 84 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 80 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $7_1; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (HEAP32[($6_1 + 92 | 0) >> 2] | 0) { + break label$2 + } + $18_1 = 24; + $12_1 = (((HEAPU8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (HEAP32[($6_1 + 88 | 0) >> 2] | 0) | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + HEAP8[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (HEAP32[($6_1 + 88 | 0) >> 2] | 0) | 0) >> 0] | 0; + $37_1 = (HEAP8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (HEAP32[($6_1 + 88 | 0) >> 2] | 0) | 0) >> 0] | 0) + -97 | 0; + label$4 : { + label$5 : { + switch ($37_1 | 0) { + case 15: + label$13 : { + if (!(HEAP32[($6_1 + 104 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[(HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + break label$4; + case 2: + label$14 : { + if (!(HEAP32[($6_1 + 104 | 0) >> 2] | 0)) { + break label$14 + } + HEAP32[(HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + break label$4; + case 13: + label$15 : { + if (!(HEAP32[($6_1 + 104 | 0) >> 2] | 0)) { + break label$15 + } + $56_1 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 72 | 0) >> 2] = 0; + HEAP32[($6_1 + 76 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2362(HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, $6_1 + 80 | 0 | 0, $6_1 + 72 | 0 | 0, $56_1 | 0, $56_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + HEAP32[(HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] = i64toi32_i32$0; + } + break label$4; + case 0: + label$16 : { + if (!(HEAP32[($6_1 + 104 | 0) >> 2] | 0)) { + break label$16 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2362(HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, $6_1 + 80 | 0 | 0, $6_1 + 64 | 0 | 0, $6_1 + 60 | 0 | 0, $6_1 + 56 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (HEAP32[($6_1 + 92 | 0) >> 2] | 0) { + break label$17 + } + HEAP32[($6_1 + 52 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $91_1 = $2061(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, $6_1 + 40 | 0 | 0) | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + $91_1 | 0; + label$20 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0) >>> 0 > (HEAP32[($6_1 + 56 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$20 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 267; + break label$18; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $251$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $252$hi = i64toi32_i32$0; + i64toi32_i32$0 = $251$hi; + i64toi32_i32$0 = $252$hi; + i64toi32_i32$0 = $251$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $252$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$1 = 0; + $254_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $254$hi = i64toi32_i32$1; + i64toi32_i32$0 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + $255$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $256$hi = i64toi32_i32$2; + i64toi32_i32$2 = $255$hi; + i64toi32_i32$2 = $256$hi; + i64toi32_i32$2 = $255$hi; + $38_1 = i64toi32_i32$1; + i64toi32_i32$1 = $256$hi; + i64toi32_i32$1 = __wasm_i64_sdiv($38_1 | 0, i64toi32_i32$2 | 0, 2 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $257$hi = i64toi32_i32$2; + i64toi32_i32$2 = $254$hi; + i64toi32_i32$2 = $257$hi; + $509_1 = i64toi32_i32$1; + i64toi32_i32$2 = $254$hi; + i64toi32_i32$0 = $254_1; + i64toi32_i32$1 = $257$hi; + i64toi32_i32$3 = $509_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $258$hi = i64toi32_i32$5; + i64toi32_i32$2 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + $259$hi = i64toi32_i32$0; + i64toi32_i32$0 = $258$hi; + i64toi32_i32$0 = $259$hi; + $514_1 = i64toi32_i32$5; + i64toi32_i32$0 = $258$hi; + i64toi32_i32$5 = $259$hi; + i64toi32_i32$5 = __wasm_i64_sdiv(i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, $514_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 48 | 0) >> 2] = i64toi32_i32$5; + HEAP32[((HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 52 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + } + } + break label$4; + case 11: + HEAP32[($6_1 + 36 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2363(HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$5 | 0, $6_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (HEAP32[($6_1 + 92 | 0) >> 2] | 0) { + break label$21 + } + $123_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $311(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $123_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ($315(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $123_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 32 | 0) >> 2] = $123_1; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + $143_1 = $2225(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + $143_1 | 0; + label$24 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0) >>> 0 > (HEAP32[($6_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$24 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 267; + break label$22; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + } + $222(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + break label$4; + case 18: + $165_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2336(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, $165_1 | 0, $165_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + if (HEAP32[($6_1 + 92 | 0) >> 2] | 0) { + break label$25 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2364(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + } + break label$4; + case 1: + case 24: + $177_1 = 24; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = ($2355(HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (HEAP32[($6_1 + 88 | 0) >> 2] | 0) | 0) >> 0] | 0) << $177_1 | 0) >> $177_1 | 0 | 0) | 0) << 2 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $3289(HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2365(HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + break label$4; + default: + break label$5; + }; + } + $191_1 = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2336(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, $191_1 | 0, $191_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (!(HEAP32[($6_1 + 92 | 0) >> 2] | 0)) { + break label$26 + } + break label$4; + } + label$27 : { + if (!(HEAP32[($6_1 + 104 | 0) >> 2] | 0)) { + break label$27 + } + label$28 : { + if (!((HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + $209_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2362(HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, $6_1 + 80 | 0 | 0, (HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 16 | 0 | 0, $209_1 | 0, $209_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (!(HEAP32[($6_1 + 92 | 0) >> 2] | 0)) { + break label$29 + } + break label$4; + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2338(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, 109 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $2241(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, $6_1 + 92 | 0 | 0) | 0; + label$30 : { + if (!(HEAP32[($6_1 + 92 | 0) >> 2] | 0)) { + break label$30 + } + break label$4; + } + } + $2338(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, 110 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) | 0; + } + $233_1 = 24; + $236_1 = $2355(HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (HEAP32[($6_1 + 88 | 0) >> 2] | 0) | 0) >> 0] | 0) << $233_1 | 0) >> $233_1 | 0 | 0) | 0; + $237_1 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + HEAP32[($237_1 + 28 | 0) >> 2] = (HEAP32[($237_1 + 28 | 0) >> 2] | 0) + ($236_1 << 2 | 0) | 0; + HEAP32[($6_1 + 88 | 0) >> 2] = (HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $222(HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) | 0; + $246_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + global$0 = $6_1 + 112 | 0; + return $246_1 | 0; + } + + function $2359($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + $3288(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) + (((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0 | 0, ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) + 4 | 0 | 0, (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2360($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $7_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = (HEAP32[$7_1 >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + return 0 | 0; + } + + function $2361($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (0 - (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -4 | 0) >> 2] | 0) | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) + 4 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = 0; + break label$1; + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] = 0; + } + label$3 : { + if ((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2362($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $21_1 = 0, $80$hi = 0, $82$hi = 0, i64toi32_i32$3 = 0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $43_1 = 0, $224_1 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if ((HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2224(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + break label$1; + } + } + $21_1 = 0; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $315(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $21_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $311(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $21_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) == ($21_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 267; + break label$1; + } + i64toi32_i32$0 = 0; + $80$hi = i64toi32_i32$0; + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + $43_1 = $2225(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, $7_1 + 16 | 0 | 0) | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + $43_1 | 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $82$hi = i64toi32_i32$1; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $16_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $17_1 = 0 + } else { + $17_1 = 1 + } + $18_1 = $17_1; + } else { + $18_1 = 0 + } + $16_1 = $18_1; + } + label$5 : { + label$6 : { + if ($16_1 & 1 | 0) { + break label$6 + } + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0) >>> 0 > (HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + } + HEAP32[($7_1 + 60 | 0) >> 2] = 267; + break label$1; + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $224_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $224_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + label$7 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + } + label$8 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + } + $77_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $77_1 | 0; + } + + function $2363($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $8_1 = $2368(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 32 | 0; + return $8_1 | 0; + } + + function $2364($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $63_1 = 0, $120_1 = 0, i64toi32_i32$0 = 0, $204_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $5_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 4 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 4 | 0 | 0) | 0; + $2338(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 111 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 40 | 0) >> 2] = 0; + label$5 : { + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $63_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $63_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $63_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $63_1; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) << 4 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2345(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(HEAP32[($4_1 + 32 | 0) >> 2] | 0)) { + break label$10 + } + break label$5; + } + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $2370(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0; + label$12 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 32 | 0) >> 2] = 267; + break label$5; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$13 + } + $120_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $120_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $120_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $120_1; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) << 4 | 0) | 0; + label$17 : { + label$18 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + break label$17; + } + label$19 : { + label$20 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$20 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + label$21 : { + label$22 : { + label$23 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$23 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[(((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + -16 | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + break label$21; + } + HEAP32[($4_1 + 8 | 0) >> 2] = 1; + } + label$24 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + label$25 : { + if (!($2370(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$25 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + -1 | 0; + } + continue label$14; + }; + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + $42(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + } + $204_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $204_1 | 0; + } + + function $2365($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $39$hi = 0, $40$hi = 0, $39_1 = 0, $75_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $39_1 = i64toi32_i32$0; + $39$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $40$hi = i64toi32_i32$0; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$0 = $40$hi; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$0 = $40$hi; + $75_1 = i64toi32_i32$1; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$2 = $39_1; + i64toi32_i32$1 = $40$hi; + if (!(((i64toi32_i32$2 | 0) == ($75_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2365(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2365(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + break label$2; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2371(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + $36_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $36_1 | 0; + } + + function $2366($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $21_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $21_1 = $2372(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 28 | 0) >> 2] | 0) + (Math_imul(Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 3), HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $21_1 | 0; + } + + function $2367($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $23_1 = 0, $46_1 = 0, $71_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = Math_imul(Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0), 3); + HEAP32[($5_1 + 4 | 0) >> 2] = $6_1; + label$1 : while (1) { + $23_1 = 0; + label$2 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $23_1 = (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($23_1 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2345(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $46_1 = $2373($5_1 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 4 | 0) >> 2] | 0, 3) | 0) << 2 | 0) | 0) >> 2] = $46_1; + break label$4; + } + HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 4 | 0) >> 2] | 0, 3) | 0) << 2 | 0) | 0) >> 2] = 0; + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $71_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $71_1 | 0; + } + + function $2368($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $10_1 = 0, i64toi32_i32$1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $10_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 21 | 0, $5_1 + 8 | 0 | 0, $10_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $287(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + label$4 : { + if ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (100 | 0) & 1 | 0) { + break label$4 + } + if (!(($321(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$3 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($5_1 + 4 | 0) >> 2] = 267; + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + break label$2; + } + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + } + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $42_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $42_1 | 0; + } + + function $2369($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + return 0 | 0; + } + + function $2370($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $31$hi = 0, $35$hi = 0, $33$hi = 0, $37$hi = 0, $39$hi = 0, $40$hi = 0, i64toi32_i32$5 = 0, $23_1 = 0, $11_1 = 0, $28_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + $31$hi = i64toi32_i32$0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + $11_1 = $2061(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $3_1 + 16 | 0 | 0) | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + $11_1 | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $33$hi = i64toi32_i32$1; + i64toi32_i32$1 = $31$hi; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $31$hi; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + label$3 : { + if (((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$3 + } + i64toi32_i32$2 = 0; + $35$hi = i64toi32_i32$2; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $37$hi = i64toi32_i32$1; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $35$hi; + i64toi32_i32$0 = 1; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $39$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $40$hi = i64toi32_i32$1; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $40$hi; + i64toi32_i32$2 = 2; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $23_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[($23_1 + 12 | 0) >> 2] = (HEAP32[($23_1 + 12 | 0) >> 2] | 0) + (i64toi32_i32$0 - i64toi32_i32$2 | 0) | 0; + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + $28_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $28_1 | 0; + } + + function $2371($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $69_1 = 0, $103_1 = 0, $109_1 = 0, $131_1 = 0, $150_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + $16_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) << $16_1 | 0) >> $16_1 | 0 | 0) == (121 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = Math_imul(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0); + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = Math_imul(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0, ((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 31 | 0 | 0) / (32 | 0) | 0); + } + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : while (1) { + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2373($4_1 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$7 + } + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + } + $69_1 = 24; + label$8 : { + label$9 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) << $69_1 | 0) >> $69_1 | 0 | 0) == (121 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$8; + } + label$10 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$10 + } + $103_1 = (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0 | 0) / (32 | 0) | 0) | 0) << 2 | 0) | 0; + HEAP32[$103_1 >> 2] = HEAP32[$103_1 >> 2] | 0 | (1 << ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 31 | 0) | 0) | 0; + } + } + } + $109_1 = 24; + label$11 : { + label$12 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $109_1 | 0) >> $109_1 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$12 + } + break label$11; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + label$13 : { + label$14 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$14 + } + $131_1 = $2077(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0) | 0; + break label$13; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $131_1 = 1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + $131_1 | 0; + label$15 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 267; + break label$3; + } + continue label$5; + } + break label$5; + }; + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $150_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $150_1 | 0; + } + + function $2372($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $112_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 34 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 3) + 1 | 0) << 2 | 0) | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 3) + 2 | 0) << 2 | 0) | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2374(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 3) + 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 3) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 3) + 2 | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 3) + 2 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + } + $112_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $112_1 | 0; + } + + function $2373($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, $14_1 = 0, $21_1 = 0, $25_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[($3_1 + 7 | 0) >> 0] = 0; + HEAP32[$3_1 >> 2] = 0; + label$1 : { + label$2 : while (1) { + $10_1 = 24; + $14_1 = 24; + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | (((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) << $14_1 | 0) >> $14_1 | 0) | 0) & 254 | 0)) { + break label$1 + } + $21_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $21_1 + 1 | 0; + $25_1 = 24; + HEAP8[($3_1 + 7 | 0) >> 0] = (((HEAPU8[$21_1 >> 0] | 0) << $25_1 | 0) >> $25_1 | 0) & 128 | 0; + label$3 : { + if (((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[$3_1 >> 2] = (HEAP32[$3_1 >> 2] | 0) + 1 | 0; + } + continue label$2; + }; + } + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + return HEAP32[$3_1 >> 2] | 0 | 0; + } + + function $2374($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $136_1 = 0, $223$hi = 0, $224$hi = 0, $5_1 = 0, $26_1 = 0, $59_1 = 0, $102_1 = 0, $166_1 = 0, $205_1 = 0, $263_1 = 0, $312_1 = 0, $71_1 = 0, $500_1 = 0, $573_1 = 0, $223_1 = 0, $647_1 = 0, $215_1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $263_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $263_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + label$3 : while (1) { + $26_1 = 0; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $26_1 = (HEAP32[(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0); + } + label$5 : { + if (!($26_1 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $312_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $312_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + label$9 : { + if (!((HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$9 + } + $59_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + break label$8; + } + $59_1 = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 8 | 0) >> 2] = $59_1; + i64toi32_i32$0 = 0; + $71_1 = $41(Math_imul(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0, 3) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = $71_1; + label$10 : { + if ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, 0 | 0, Math_imul(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0, 3) << 2 | 0 | 0) | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$7; + }; + } + $2348(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0); + label$11 : while (1) { + $102_1 = 0; + label$12 : { + if ((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + $102_1 = (HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$13 : { + if (!($102_1 & 1 | 0)) { + break label$13 + } + label$14 : while (1) { + label$15 : { + if ((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0) { + break label$15 + } + $222(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + $2240(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0); + HEAP8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 6 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0; + HEAP8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 7 | 0) >> 0] = 1; + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 88 | 0) >> 2] = 1; + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $500_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $500_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + $136_1 = 0; + label$16 : { + if ((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0) { + break label$16 + } + $136_1 = 0; + if (!((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$16 + } + $136_1 = ($2241(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0) | 0 | 0) != (0 | 0); + } + if ($136_1 & 1 | 0) { + continue label$14 + } + break label$14; + }; + label$17 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$17 + } + if ((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0) { + break label$17 + } + $2375(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + continue label$11; + } + break label$11; + }; + $166_1 = 0; + HEAP8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 6 | 0) >> 0] = $166_1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $573_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $573_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + label$18 : { + label$19 : { + if (!(((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) != ($166_1 & 255 | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 0] = HEAPU8[($4_1 + 15 | 0) >> 0] | 0; + break label$18; + } + $2348(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0); + label$20 : while (1) { + $2240(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0); + label$21 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($4_1 + 48 | 0) >> 2] = 267; + } + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $223_1 = i64toi32_i32$0; + $223$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $224$hi = i64toi32_i32$0; + i64toi32_i32$0 = $223$hi; + i64toi32_i32$0 = $224$hi; + i64toi32_i32$0 = $223$hi; + i64toi32_i32$0 = $224$hi; + $647_1 = i64toi32_i32$1; + i64toi32_i32$0 = $223$hi; + i64toi32_i32$2 = $223_1; + i64toi32_i32$1 = $224$hi; + $205_1 = 0; + label$22 : { + if (!(((i64toi32_i32$2 | 0) != ($647_1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$22 + } + $205_1 = (HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0); + } + if ($205_1 & 1 | 0) { + continue label$20 + } + break label$20; + }; + } + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + } + $215_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $215_1 | 0; + } + + function $2375($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $36_1 = 0, $53_1 = 0, $57_1 = 0, $73_1 = 0, $91_1 = 0, $96_1 = 0, $113_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$3 : while (1) { + HEAP8[($4_1 + 11 | 0) >> 0] = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + $36_1 = 24; + if (!((((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $36_1 | 0) >> $36_1 | 0 | ((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0) | 0) & 254 | 0)) { + break label$4 + } + label$6 : { + if (((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0) & 128 | 0) { + break label$6 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + } + $53_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $53_1 + 1 | 0; + $57_1 = 24; + HEAP8[($4_1 + 11 | 0) >> 0] = (((HEAPU8[$53_1 >> 0] | 0) << $57_1 | 0) >> $57_1 | 0) & 128 | 0; + continue label$5; + }; + } + $73_1 = (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 3) + 1 | 0) << 2 | 0) | 0; + HEAP32[$73_1 >> 2] = (HEAP32[$73_1 >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0; + $91_1 = (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 3) + 2 | 0) << 2 | 0) | 0; + HEAP32[$91_1 >> 2] = (HEAP32[$91_1 >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) | 0; + $96_1 = 24; + label$7 : { + label$8 : { + if (((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $96_1 | 0) >> $96_1 | 0) { + break label$8 + } + break label$7; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + label$9 : { + label$10 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$10 + } + $113_1 = $2077(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0) | 0; + break label$9; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $113_1 = 1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + $113_1 | 0; + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$3 + } + } + break label$3; + }; + } + $2375(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + $2375(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $2376($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, $10_1 = 0, $68_1 = 0, i64toi32_i32$0 = 0, $115_1 = 0, $58_1 = 0, $112_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + $10_1 = 0; + HEAP32[($8_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $10_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $10_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $10_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $414(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, 50673 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($8_1 + 20 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 48 | 0) >> 2] | 0) - 3 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2377(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 12 | 0 | 0, $8_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($8_1 + 20 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($8_1 + 8 | 0) >> 2] = 41978; + break label$4; + } + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2378(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, $8_1 + 28 | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (HEAP32[($8_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($8_1 + 4 | 0) >> 2] = 0; + label$7 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($8_1 + 4 | 0) >> 2] = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 4 | 0; + } + $58_1 = HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$9 + } + $68_1 = (HEAP32[($8_1 + 12 | 0) >> 2] | 0) - 1 | 0; + break label$8; + } + $68_1 = 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[$58_1 | 0]($68_1, HEAP32[($8_1 + 4 | 0) >> 2] | 0, $8_1 + 24 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + if (HEAP32[($8_1 + 20 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $38(20 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($8_1 + 20 | 0) >> 2] = 7; + } + } + label$12 : { + label$13 : { + if (HEAP32[($8_1 + 20 | 0) >> 2] | 0) { + break label$13 + } + i64toi32_i32$0 = 0; + $115_1 = 0; + i64toi32_i32$1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $115_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $115_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + break label$12; + } + label$14 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 24 | 0) >> 2] | 0) | 0; + } + } + $42(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + } + $112_1 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $112_1 | 0; + } + + function $2377($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $39_1 = 0, $26_1 = 0, i64toi32_i32$0 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 44 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = 0; + break label$1; + } + $10_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $10_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $10_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $26_1 = ($3303(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + $26_1 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + i64toi32_i32$0 = 0; + $39_1 = $41(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $39_1; + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = $39_1; + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 32 | 0) >> 2] = 7; + break label$5; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $3288(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $2047(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + } + } + $93_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $93_1 | 0; + } + + function $2378($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $22_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3303(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2132(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + $22_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $2048($22_1 | 0, 48343 | 0, $6_1 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $29_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $29_1 | 0; + } + + function $2379($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $47_1 = 0, $65_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAPU8[(((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[$4_1 >> 2] | 0, 12) | 0) + 5 | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + if (HEAP32[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[$4_1 >> 2] | 0, 12) | 0) >> 2] | 0) { + break label$4 + } + if (!(((HEAPU8[(((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[$4_1 >> 2] | 0, 12) | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + $47_1 = 1; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = $47_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 3 | 0) | 0) >> 2] = $47_1; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 1; + HEAPF64[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 3] = 1.0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $65_1 = 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = $65_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $65_1; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2380($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2381($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, $31_1 = 0, $16_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $38(36 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $16_1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = 0; + $31_1 = 0; + i64toi32_i32$1 = $16_1; + HEAP32[i64toi32_i32$1 >> 2] = $31_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $31_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $31_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $31_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $28_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $28_1 | 0; + } + + function $2382($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $2383(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2383($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $21_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + $21_1 = 0; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $21_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $21_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = $21_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = $21_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = $21_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = $21_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $21_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2384($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $30_1 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + $8_1 = 1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + $2383(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + label$1 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = (HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $30_1 = $41(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = $30_1; + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 7; + break label$2; + } + label$4 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + $3288(HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0; + } + HEAP8[((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($7_1 + 4 | 0) >> 2] | 0) | 0) >> 0] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[(HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + } + } + label$6 : { + label$7 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + break label$6; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2385(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + $77_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $77_1 | 0; + } + + function $2385($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $7_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!(HEAP32[$3_1 >> 2] | 0)) { + break label$1 + } + $2383(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + label$2 : { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$3_1 >> 2] = 0; + } + } + $42_1 = HEAP32[$3_1 >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $42_1 | 0; + } + + function $2386($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + return (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0 | 0; + } + + function $2387($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $9_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $7_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($7_1 | 0) { + case 0: + $9_1 = -1; + $277(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $9_1 | 0, $9_1 | 0); + break label$1; + case 1: + $277(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, -1 | 0); + break label$1; + case 2: + $267(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + break label$1; + case 3: + $267(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + break label$1; + default: + break label$2; + }; + } + $267(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return 0 | 0; + } + + function $2388($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $34_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $34_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return 0 | 0; + } + + function $2389($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); + } + $42(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0); + } + $42(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + continue label$5; + }; + } + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 32 | 0; + return; + } + + function $2390($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $20_1 = 0, i64toi32_i32$1 = 0, $7_1 = 0, $21_1 = 0, $84_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2465(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$2 + } + $20_1 = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$0 = HEAP32[$20_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($20_1 + 4 | 0) >> 2] | 0; + $84_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $84_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $21_1 = 8; + HEAP32[(i64toi32_i32$0 + $21_1 | 0) >> 2] = HEAP32[($20_1 + $21_1 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + } + $33_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $33_1 | 0; + } + + function $2391($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, $8_1 = 0, $65$hi = 0, $66$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $40_1 = 0, $179_1 = 0, $61_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = $8_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($3303(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $65$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $66$hi = i64toi32_i32$1; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$1 = $66$hi; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$3 = 28; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $41(i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != ($8_1 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $3289(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $3288(HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $179_1 = i64toi32_i32$2; + i64toi32_i32$2 = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $179_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + $40_1 = 8; + HEAP32[(i64toi32_i32$2 + $40_1 | 0) >> 2] = HEAP32[(i64toi32_i32$1 + $40_1 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + } + break label$1; + } + HEAP32[($7_1 + 12 | 0) >> 2] = 7; + } + $61_1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $61_1 | 0; + } + + function $2392($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, $57$hi = 0, $58$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $15_1 = 0, $53_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $470(HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + $15_1 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($3303(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $57$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $58$hi = i64toi32_i32$1; + i64toi32_i32$1 = $57$hi; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$1 = $57$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$3 = 24; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $7_1; + HEAP32[$7_1 >> 2] = i64toi32_i32$4; + HEAP32[($7_1 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $7_1; + i64toi32_i32$5 = HEAP32[$7_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $41(i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) != ($15_1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = $7_1; + i64toi32_i32$2 = HEAP32[$7_1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + $3289(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $3288(HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + break label$2; + } + HEAP32[($7_1 + 20 | 0) >> 2] = 7; + } + } + $53_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $53_1 | 0; + } + + function $2393($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $24_1 = 0, $16_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $7_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $464(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 54464 | 0, 2 | 0, 1 | 0, $7_1 | 0, 112 | 0, $7_1 | 0, $7_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + $16_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $464(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 54476 | 0, 2 | 0, 1 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 112 | 0, $16_1 | 0, $16_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + $24_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $464(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 54493 | 0, -1 | 0, 1 | 0, $24_1 | 0, 113 | 0, $24_1 | 0, $24_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $28_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $28_1 | 0; + } + + function $2394($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $8_1 = 0, $5_1 = 0, $19_1 = 0, $30_1 = 0, $74_1 = 0, $81_1 = 0, $88_1 = 0, $92_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + $8_1 = $4_1 + 16 | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 54888 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 54892 | 0) >> 2] | 0; + $74_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1 + 24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $74_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 54880 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 54884 | 0) >> 2] | 0; + $81_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $81_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 54872 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 54876 | 0) >> 2] | 0; + $88_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $88_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 54864 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 54868 | 0) >> 2] | 0; + $92_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $92_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $5_1; + label$1 : while (1) { + $19_1 = 0; + label$2 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + $19_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (4 | 0); + } + label$3 : { + if (!($19_1 & 1 | 0)) { + break label$3 + } + $30_1 = 0; + HEAP32[$4_1 >> 2] = ($4_1 + 16 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $464(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0, -1 | 0, 1 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $30_1 | 0, $30_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $48_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $48_1 | 0; + } + + function $2395($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$2 = 0, $7_1 = 0, $32_1 = 0, $4_1 = 0, $21_1 = 0, $86_1 = 0, $93_1 = 0, $100_1 = 0, $107_1 = 0, $114_1 = 0, $118_1 = 0, $60_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 80 | 0; + global$0 = $3_1; + $4_1 = 0; + $7_1 = $3_1 + 16 | 0; + HEAP32[($3_1 + 76 | 0) >> 2] = $0_1; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56408 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56412 | 0) >> 2] | 0; + $86_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + 40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $86_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56400 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56404 | 0) >> 2] | 0; + $93_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $93_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56392 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56396 | 0) >> 2] | 0; + $100_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + 24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $100_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56384 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56388 | 0) >> 2] | 0; + $107_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $107_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56376 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56380 | 0) >> 2] | 0; + $114_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $114_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56368 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56372 | 0) >> 2] | 0; + $118_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $118_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : while (1) { + $21_1 = 0; + label$2 : { + if (HEAP32[($3_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + $21_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (3 | 0); + } + label$3 : { + if (!($21_1 & 1 | 0)) { + break label$3 + } + $32_1 = $3_1 + 16 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 76 | 0) >> 2] | 0, HEAP32[($32_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0, HEAP32[(($32_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0, HEAP32[(($32_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] | 0, HEAP32[(($32_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $60_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 80 | 0; + return $60_1 | 0; + } + + function $2396($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$2 = 0, $7_1 = 0, $4_1 = 0, $25_1 = 0, $37_1 = 0, $85_1 = 0, $92_1 = 0, $99_1 = 0, $106_1 = 0, $113_1 = 0, $120_1 = 0, $127_1 = 0, $131_1 = 0, $57_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 96 | 0; + global$0 = $3_1; + $4_1 = 0; + $7_1 = $3_1 + 16 | 0; + HEAP32[($3_1 + 92 | 0) >> 2] = $0_1; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56552 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56556 | 0) >> 2] | 0; + $85_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + 56 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $85_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56544 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56548 | 0) >> 2] | 0; + $92_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $92_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56536 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56540 | 0) >> 2] | 0; + $99_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + 40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $99_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56528 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56532 | 0) >> 2] | 0; + $106_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $106_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56520 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56524 | 0) >> 2] | 0; + $113_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + 24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $113_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56512 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56516 | 0) >> 2] | 0; + $120_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $120_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56504 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56508 | 0) >> 2] | 0; + $127_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $127_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56496 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56500 | 0) >> 2] | 0; + $131_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $131_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : while (1) { + $25_1 = 0; + label$2 : { + if (HEAP32[($3_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + $25_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (4 | 0); + } + label$3 : { + if (!($25_1 & 1 | 0)) { + break label$3 + } + $37_1 = $3_1 + 16 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 92 | 0) >> 2] | 0, HEAP32[($37_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0, HEAP32[($3_1 + 92 | 0) >> 2] | 0, ($37_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0, 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $57_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 96 | 0; + return $57_1 | 0; + } + + function $2397($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $11_1 = $413(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 56940 | 0, 56844 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $11_1 | 0; + } + + function $2398($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $302(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $244(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, 57272 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2399($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $7_1 = -1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $277(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 57285 | 0, $7_1 | 0, $7_1 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $2400($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $16_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + $16_1 = $2401(1 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $16_1 | 0; + } + + function $2401($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $13_1 = 0, i64toi32_i32$0 = 0, $69_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 48 | 0; + global$0 = $9_1; + i64toi32_i32$0 = 0; + $13_1 = 0; + HEAP32[($9_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 16 | 0) >> 2] = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + HEAP32[($9_1 + 12 | 0) >> 2] = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + HEAP32[($9_1 + 8 | 0) >> 2] = $13_1; + HEAP32[($9_1 + 4 | 0) >> 2] = $13_1; + HEAP32[$9_1 >> 2] = $13_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2468($9_1 + 8 | 0 | 0, 32 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($9_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2469(HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0, $9_1 + 4 | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($9_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[((HEAP32[$9_1 >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($9_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[$9_1 >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + } + label$3 : { + if (HEAP32[($9_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2470(HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[$9_1 >> 2] | 0) + 16 | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($9_1 + 8 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2471(HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$9_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[$9_1 >> 2] | 0) + 20 | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($9_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2472(HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (HEAP32[($9_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[((HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 104 | 0) >> 2] = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2473(HEAP32[((HEAP32[$9_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $2474(HEAP32[((HEAP32[$9_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 104 | 0) >> 2] = 0; + } + label$7 : { + label$8 : { + if (!(HEAP32[($9_1 + 8 | 0) >> 2] | 0)) { + break label$8 + } + $2407(HEAP32[$9_1 >> 2] | 0 | 0); + HEAP32[$9_1 >> 2] = 0; + break label$7; + } + label$9 : { + if (!(HEAP32[($9_1 + 44 | 0) >> 2] | 0)) { + break label$9 + } + } + } + HEAP32[(HEAP32[($9_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[$9_1 >> 2] | 0; + $69_1 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + global$0 = $9_1 + 48 | 0; + return $69_1 | 0; + } + + function $2402($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $16_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + $16_1 = $2401(0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $16_1 | 0; + } + + function $2403($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $111_1 = 0, $125_1 = 0, $144_1 = 0, $198_1 = 0, $218_1 = 0, $246_1 = 0, $252_1 = 0, $312_1 = 0, $318_1 = 0, $343_1 = 0, $349_1 = 0, $15_1 = 0, $110_1 = 0, $124_1 = 0, $131_1 = 0, $138_1 = 0, $196_1 = 0, $197_1 = 0, $204_1 = 0, $213_1 = 0, $245_1 = 0, $311_1 = 0, $342_1 = 0, $435_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 84 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 64 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0)) { + break label$2 + } + $15_1 = $79(52595 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] = $15_1; + HEAP32[($4_1 + 108 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $38(((HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0) << 3 | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] = 1; + HEAP32[($4_1 + 80 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 80 | 0) >> 2] | 0, 12) | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$6 : { + label$7 : { + label$8 : { + label$9 : { + if (((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (64 | 0) & 1 | 0) { + break label$9 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + } + label$10 : { + label$11 : { + if (!((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$10 + } + } + HEAPF64[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 40 | 0) >> 3] = 1.e+50; + HEAP8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + (HEAP32[($4_1 + 72 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($4_1 + 108 | 0) >> 2] = 0; + break label$1; + } + label$12 : { + label$13 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!(HEAP32[($4_1 + 48 | 0) >> 2] | 0)) { + break label$14 + } + break label$6; + } + $110_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + $111_1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = $111_1 + 1 | 0; + HEAP8[($110_1 + $111_1 | 0) >> 0] = 114; + HEAP32[($4_1 + 48 | 0) >> 2] = 1; + break label$12; + } + label$15 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 52 | 0) >> 2] = 1; + $124_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + $125_1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = $125_1 + 1 | 0; + HEAP8[($124_1 + $125_1 | 0) >> 0] = 77; + $131_1 = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + (HEAP32[($4_1 + 72 | 0) >> 2] | 0) | 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + $81(6 | 0, $131_1 | 0, 5267 | 0, $4_1 | 0) | 0; + $138_1 = $3303((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + (HEAP32[($4_1 + 72 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + $138_1 | 0; + } + } + $144_1 = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $144_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $144_1; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 1; + break label$7; + } + label$16 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + label$18 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$18 + } + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + if (!($2404(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$18 + } + $196_1 = ((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (65 | 0) & 1 | 0 ? 76 : 71; + $197_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + $198_1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = $198_1 + 1 | 0; + HEAP8[($197_1 + $198_1 | 0) >> 0] = $196_1; + $204_1 = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + (HEAP32[($4_1 + 72 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + $81(6 | 0, $204_1 | 0, 5267 | 0, $4_1 + 16 | 0 | 0) | 0; + $213_1 = $3303((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + (HEAP32[($4_1 + 72 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + $213_1 | 0; + $218_1 = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $218_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $218_1; + break label$17; + } + label$19 : { + if (HEAP32[($4_1 + 64 | 0) >> 2] | 0) { + break label$19 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$19 + } + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$19 + } + $245_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + $246_1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = $246_1 + 1 | 0; + HEAP8[($245_1 + $246_1 | 0) >> 0] = 61; + HEAP32[($4_1 + 64 | 0) >> 2] = 1; + $252_1 = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $252_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $252_1; + } + } + } + } + } + HEAP32[($4_1 + 80 | 0) >> 2] = (HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$20 : { + if (HEAP32[($4_1 + 64 | 0) >> 2] | 0) { + break label$20 + } + HEAP32[($4_1 + 80 | 0) >> 2] = 0; + label$21 : { + label$22 : while (1) { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 80 | 0) >> 2] | 0, 12) | 0; + label$23 : { + label$24 : { + if (!((HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$24 + } + if (!((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0)) { + break label$24 + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0; + label$25 : { + label$26 : { + label$27 : { + if ((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == (16 | 0) & 1 | 0) { + break label$27 + } + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$26 + } + } + label$28 : { + if (!(HEAP32[($4_1 + 56 | 0) >> 2] | 0)) { + break label$28 + } + break label$23; + } + $311_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + $312_1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = $312_1 + 1 | 0; + HEAP8[($311_1 + $312_1 | 0) >> 0] = 60; + $318_1 = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $318_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $318_1; + HEAP32[($4_1 + 56 | 0) >> 2] = 1; + break label$25; + } + label$29 : { + label$30 : { + if ((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0) { + break label$30 + } + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$29 + } + } + label$31 : { + if (!(HEAP32[($4_1 + 60 | 0) >> 2] | 0)) { + break label$31 + } + break label$23; + } + $342_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + $343_1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = $343_1 + 1 | 0; + HEAP8[($342_1 + $343_1 | 0) >> 0] = 62; + $349_1 = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $349_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $349_1; + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + } + } + } + } + HEAP32[($4_1 + 80 | 0) >> 2] = (HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$22; + }; + } + } + HEAP8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + (HEAP32[($4_1 + 72 | 0) >> 2] | 0) | 0) >> 0] = 0; + label$32 : { + if (!((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + label$33 : { + label$34 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$34 + } + if (!(HEAP32[($4_1 + 52 | 0) >> 2] | 0)) { + break label$34 + } + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 32 | 0; + break label$33; + } + label$35 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$35 + } + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 64 | 0; + } + } + label$36 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0) & 96 | 0)) { + break label$36 + } + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + label$37 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 128 | 0; + } + } + } + label$38 : { + label$39 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$39 + } + HEAPF64[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 40 | 0) >> 3] = HEAP32[($4_1 + 52 | 0) >> 2] | 0 ? 100.0 : 10.0; + label$40 : { + if (HEAP32[($4_1 + 52 | 0) >> 2] | 0) { + break label$40 + } + $2405(HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0); + } + break label$38; + } + label$41 : { + label$42 : { + if (!(HEAP32[($4_1 + 56 | 0) >> 2] | 0)) { + break label$42 + } + if (!(HEAP32[($4_1 + 60 | 0) >> 2] | 0)) { + break label$42 + } + HEAPF64[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 40 | 0) >> 3] = HEAP32[($4_1 + 52 | 0) >> 2] | 0 ? 500.0 : 25.0e4; + break label$41; + } + label$43 : { + label$44 : { + label$45 : { + if (HEAP32[($4_1 + 56 | 0) >> 2] | 0) { + break label$45 + } + if (!(HEAP32[($4_1 + 60 | 0) >> 2] | 0)) { + break label$44 + } + } + HEAPF64[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 40 | 0) >> 3] = HEAP32[($4_1 + 52 | 0) >> 2] | 0 ? 750.0 : 75.0e4; + break label$43; + } + HEAPF64[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 40 | 0) >> 3] = HEAP32[($4_1 + 52 | 0) >> 2] | 0 ? 1.0e3 : 1.0e6; + } + } + } + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 84 | 0) >> 2] | 0; + HEAP32[($4_1 + 108 | 0) >> 2] = 0; + } + $435_1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $435_1 | 0; + } + + function $2404($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) == (66 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (66 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) == (65 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (65 | 0) & 1 | 0) { + break label$4 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (66 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2405($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 1 | 0; + return; + } + + function $2406($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2407(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2407($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $2486(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + $2488(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + $2483(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2408($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2409(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + $2407(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + $10_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $10_1 | 0; + } + + function $2409($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0, $7_1 = 0, $9_1 = 0, $11_1 = 0, $13_1 = 0, $15_1 = 0, $31_1 = 0, $33_1 = 0, $45_1 = 0, $47_1 = 0, $53_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 64 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 60 | 0) >> 2] = $0_1; + $5_1 = HEAP32[(HEAP32[($3_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + $7_1 = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $9_1 = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $11_1 = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $13_1 = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $15_1 = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 48 | 0) >> 2] = $15_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $13_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $11_1; + HEAP32[($3_1 + 36 | 0) >> 2] = $9_1; + HEAP32[($3_1 + 32 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2512($5_1 | 0, 0 | 0, 52634 | 0, $3_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$1 + } + if (!(HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$1 + } + $31_1 = HEAP32[(HEAP32[($3_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + $33_1 = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $33_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2512($31_1 | 0, 0 | 0, 52738 | 0, $3_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$2 + } + if (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) { + break label$2 + } + $45_1 = HEAP32[(HEAP32[($3_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + $47_1 = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = $47_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2512($45_1 | 0, 0 | 0, 52776 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + $53_1 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + global$0 = $3_1 + 64 | 0; + return $53_1 | 0; + } + + function $2410($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $41_1 = 0, $52$hi = 0, $53$hi = 0, i64toi32_i32$3 = 0, $46_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2411(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) + 120 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $3289(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 120 | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $41_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $41_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $52$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $53$hi = i64toi32_i32$1; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $41_1; + HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + break label$2; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 7; + } + } + HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $46_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $46_1 | 0; + } + + function $2411($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$3; + }; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2539(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $28_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $28_1 | 0; + } + + function $2412($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $2413(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[$3_1 >> 2] = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 44 | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$3_1 >> 2] = (HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] | 0) + 4 | 0; + continue label$3; + }; + } + HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $42(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2413($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $42(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0); + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2423(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $2541(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + } + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $213(HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$3 + } + $2426(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0); + } + $42(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + continue label$5; + }; + } + $213(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) | 0; + $42(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0); + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) & 16 | 0)) { + break label$7 + } + $42(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0); + } + $2492(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $3289((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0 | 0, 0 | 0, 120 - (((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) - (HEAP32[($3_1 + 28 | 0) >> 2] | 0) | 0) | 0 | 0) | 0; + global$0 = $3_1 + 32 | 0; + return; + } + + function $2414($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $8_1 = 0, $274_1 = 0, $50_1 = 0, $56_1 = 0, $87_1 = 0, $102_1 = 0, $110_1 = 0, $116_1 = 0, $128_1 = 0, $170_1 = 0, $192_1 = 0, $207_1 = 0, $215_1 = 0, $221_1 = 0, $275_1 = 0, $283_1 = 0, $291_1 = 0, $20_1 = 0, $49_1 = 0, $427$hi = 0, $1092_1 = 0, $1101_1 = 0, $431$hi = 0, $1110_1 = 0, $1119_1 = 0, $1151_1 = 0, $1161_1 = 0, $1171_1 = 0, $1181_1 = 0, $371_1 = 0, $424_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 112 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 88 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0)) { + break label$2 + } + $20_1 = $79(52595 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 8 | 0) >> 2] = $20_1; + HEAP32[($7_1 + 108 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (!(HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$3 + } + $2413(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0); + $3289((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 24 | 0 | 0, 0 | 0, 120 - (((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 24 | 0) - (HEAP32[($7_1 + 76 | 0) >> 2] | 0) | 0) | 0 | 0) | 0; + } + HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 104 | 0) >> 2] = (HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + label$4 : { + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $49_1 = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + $50_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $50_1 + 1 | 0; + $56_1 = (HEAP8[($49_1 + $50_1 | 0) >> 0] | 0) + -60 | 0; + label$7 : { + label$8 : { + switch ($56_1 | 0) { + case 54: + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$7; + case 17: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($7_1 + 24 | 0) >> 2] = 1352; + } + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + label$15 : while (1) { + $87_1 = 24; + HEAP32[($7_1 + 44 | 0) >> 2] = Math_imul(HEAP32[($7_1 + 44 | 0) >> 2] | 0, 10) + ((((HEAPU8[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) << $87_1 | 0) >> $87_1 | 0) - 48 | 0) | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + $102_1 = 24; + $110_1 = 0; + label$16 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) << $102_1 | 0) >> $102_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$16 + } + $116_1 = 24; + $110_1 = (((HEAPU8[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) << $116_1 | 0) >> $116_1 | 0 | 0) <= (57 | 0); + } + if ($110_1 & 1 | 0) { + continue label$15 + } + break label$15; + }; + $128_1 = 24; + label$17 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $128_1 | 0) >> $128_1 | 0 | 0) == (42 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2415(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 8 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2416(HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, $7_1 + 28 | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (HEAP32[($7_1 + 72 | 0) >> 2] | 0) { + break label$18 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2417((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 52 | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + } + label$19 : { + if (!(HEAP32[($7_1 + 72 | 0) >> 2] | 0)) { + break label$19 + } + break label$4; + } + break label$7; + case 11: + case 16: + $170_1 = 24; + HEAP32[($7_1 + 16 | 0) >> 2] = (((HEAPU8[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $170_1 | 0) >> $170_1 | 0 | 0) == (71 | 0) & 1 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + label$20 : while (1) { + $192_1 = 24; + HEAP32[($7_1 + 44 | 0) >> 2] = Math_imul(HEAP32[($7_1 + 44 | 0) >> 2] | 0, 10) + ((((HEAPU8[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) << $192_1 | 0) >> $192_1 | 0) - 48 | 0) | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + $207_1 = 24; + $215_1 = 0; + label$21 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) << $207_1 | 0) >> $207_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$21 + } + $221_1 = 24; + $215_1 = (((HEAPU8[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) << $221_1 | 0) >> $221_1 | 0 | 0) <= (57 | 0); + } + if ($215_1 & 1 | 0) { + continue label$20 + } + break label$20; + }; + label$22 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2418(HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, $7_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + } + label$23 : { + if (HEAP32[($7_1 + 72 | 0) >> 2] | 0) { + break label$23 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2417((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 52 | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + } + label$24 : { + if (!(HEAP32[($7_1 + 72 | 0) >> 2] | 0)) { + break label$24 + } + break label$4; + } + break label$7; + case 1: + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$7; + case 0: + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$7; + default: + break label$8; + }; + } + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $274_1 = 0; + $275_1 = 1; + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 100 | 0) >> 2] | 0) & 32 | 0 ? $275_1 : $274_1; + $283_1 = (HEAP32[($7_1 + 100 | 0) >> 2] | 0) & 128 | 0 ? $275_1 : $274_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $283_1; + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 28 | 0) >> 2] = $283_1; + label$25 : { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != ($274_1 | 0) & 1 | 0)) { + break label$25 + } + $291_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = $291_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $291_1; + } + label$26 : { + label$27 : { + if (!(HEAP32[($7_1 + 68 | 0) >> 2] | 0)) { + break label$27 + } + i64toi32_i32$0 = -2147483648; + $427$hi = i64toi32_i32$0; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$0 = $2419(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, -1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1092_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $1092_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $427$hi; + i64toi32_i32$1 = $2419(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1101_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $1101_1; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$0; + break label$26; + } + i64toi32_i32$0 = -2147483648; + $431$hi = i64toi32_i32$0; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$0 = $2419(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, -1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1110_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $1110_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $431$hi; + i64toi32_i32$1 = $2419(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1119_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1119_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + } + label$28 : { + label$29 : { + if (!((HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$29 + } + label$30 : { + label$31 : { + if (!(HEAP32[((HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0)) { + break label$31 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $1151_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $1151_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $1161_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1161_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + break label$30; + } + i64toi32_i32$2 = HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $1171_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $1171_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $1181_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1181_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] = 2; + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2420(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + break label$28; + } + label$32 : { + label$33 : { + if (!((HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$33 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2421(HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$34 : { + if (HEAP32[($7_1 + 72 | 0) >> 2] | 0) { + break label$34 + } + label$35 : { + label$36 : { + if (!(HEAP32[($7_1 + 64 | 0) >> 2] | 0)) { + break label$36 + } + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] = 4; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2422(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + break label$35; + } + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2420(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + } + } + break label$32; + } + label$37 : { + label$38 : { + if (!((HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$38 + } + HEAP32[$7_1 >> 2] = HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $371_1 = $79(52814 | 0, $7_1 | 0) | 0; + HEAP32[(HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) >> 2] = $371_1; + HEAP32[($7_1 + 72 | 0) >> 2] = 1; + break label$37; + } + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 6 : 5; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2424(HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $2423(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 48 | 0 | 0, (HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$39 : { + if (HEAP32[($7_1 + 72 | 0) >> 2] | 0) { + break label$39 + } + label$40 : { + label$41 : { + if (!((HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$41 + } + $334(HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0; + break label$40; + } + i64toi32_i32$2 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, 2 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2425(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + } + $2426(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 104 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + } + $424_1 = HEAP32[($7_1 + 108 | 0) >> 2] | 0; + global$0 = $7_1 + 112 | 0; + return $424_1 | 0; + } + + function $2415($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $11_1 = 0, $28_1 = 0, $31_1 = 0, $37_1 = 0, i64toi32_i32$2 = 0, $247_1 = 0, $285_1 = 0, $92_1 = 0, $95_1 = 0, $98_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + $11_1 = 24; + if (!((((HEAPU8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $11_1 | 0) >> $11_1 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$3 : while (1) { + $28_1 = 24; + $31_1 = 0; + label$4 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0)) { + break label$4 + } + $37_1 = 24; + $31_1 = (((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $37_1 | 0) >> $37_1 | 0 | 0) != (32 | 0); + } + label$5 : { + if (!($31_1 & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] = 3; + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$7 + } + if (!((0 | 0) == ($89(52850 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$1 = $2549(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $247_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $247_1; + HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$0; + break label$6; + } + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$9 + } + if (!((0 | 0) == ($89(11523 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $285_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] = $285_1; + HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] = i64toi32_i32$1; + break label$8; + } + $92_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $92_1; + $95_1 = $79(52856 | 0, $5_1 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = $95_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + } + } + $98_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $98_1 | 0; + } + + function $2416($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $9_1 = 0, $162_1 = 0, $145_1 = 0, $13_1 = 0, $52_1 = 0, $107_1 = 0, $44_1 = 0, $45_1 = 0, $267_1 = 0, $131_1 = 0, $159_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 112 | 0; + global$0 = $8_1; + $9_1 = 0; + $13_1 = $8_1 + 56 | 0; + HEAP32[($8_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 92 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 88 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 84 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] = $9_1; + HEAP32[(HEAP32[($8_1 + 84 | 0) >> 2] | 0) >> 2] = $9_1; + i64toi32_i32$0 = 0; + $162_1 = 0; + i64toi32_i32$1 = $13_1; + HEAP32[i64toi32_i32$1 >> 2] = $162_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $162_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $13_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $162_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 80 | 0) >> 2] = HEAP32[($8_1 + 100 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2551(114 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == ($9_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 108 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($8_1 + 56 | 0) >> 2] = HEAP32[($8_1 + 104 | 0) >> 2] | 0; + label$3 : while (1) { + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2552($8_1 + 56 | 0 | 0, $8_1 + 44 | 0 | 0, $8_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $44_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $45_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + $267_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $267_1; + HEAP32[($8_1 + 12 | 0) >> 2] = i64toi32_i32$1; + $2553($44_1 | 0, $45_1 | 0, $8_1 + 8 | 0 | 0, $8_1 + 56 | 0 | 0); + $52_1 = 0; + label$4 : { + if (HEAP32[($8_1 + 64 | 0) >> 2] | 0) { + break label$4 + } + $52_1 = (HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0); + } + if ($52_1 & 1 | 0) { + continue label$3 + } + break label$3; + }; + $2555(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, 115 | 0); + label$5 : { + if (!((HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (HEAP32[($8_1 + 64 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($8_1 + 28 | 0) >> 2] = 8; + i64toi32_i32$0 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2468(($8_1 + 56 | 0) + 8 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] = 1; + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + $2556($8_1 + 56 | 0 | 0, HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + } + } + label$7 : { + label$8 : { + if (HEAP32[($8_1 + 64 | 0) >> 2] | 0) { + break label$8 + } + $107_1 = $38(24 | 0) | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $107_1; + HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] = $107_1; + label$9 : { + label$10 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($8_1 + 64 | 0) >> 2] = 7; + $2542(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0); + break label$9; + } + label$11 : { + label$12 : { + if ((HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + i64toi32_i32$1 = 0; + HEAP32[($8_1 + 20 | 0) >> 2] = 40; + $131_1 = $2468(($8_1 + 56 | 0) + 8 | 0 | 0, 40 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = $131_1; + label$13 : { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + } + break label$11; + } + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + } + $145_1 = 0; + HEAP32[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 2] = $145_1; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 104 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] = $145_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $145_1; + } + break label$7; + } + $2542(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0); + } + $42(HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($8_1 + 84 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + HEAP32[($8_1 + 108 | 0) >> 2] = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + } + $159_1 = HEAP32[($8_1 + 108 | 0) >> 2] | 0; + global$0 = $8_1 + 112 | 0; + return $159_1 | 0; + } + + function $2417($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $104_1 = 0, $8_1 = 0, $23_1 = 0, $39_1 = 0, $101_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $8_1 = $4_1 + 24 | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + $104_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $23_1 = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + $39_1 = $2557($4_1 + 24 | 0 | 0, 2 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $23_1 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = $39_1; + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] = $23_1; + label$3 : { + if (HEAP32[($4_1 + 32 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $44(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 32 | 0) >> 2] = 7; + break label$4; + } + $3290((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + } + $42(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + } + $101_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $101_1 | 0; + } + + function $2418($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, $20_1 = 0, $263$hi = 0, $264$hi = 0, $267$hi = 0, $268$hi = 0, $271$hi = 0, $272$hi = 0, $8_1 = 0, $258$hi = 0, $259$hi = 0, $56_1 = 0, $260$hi = 0, $261$hi = 0, $57_1 = 0, $59_1 = 0, $60_1 = 0, $42_1 = 0, $46_1 = 0, $58_1 = 0, $62_1 = 0, $74_1 = 0, $78_1 = 0, $97_1 = 0, $115_1 = 0, $123_1 = 0, $133_1 = 0, $143_1 = 0, $148_1 = 0, $156_1 = 0, $160_1 = 0, $178_1 = 0, $61_1 = 0, $63_1 = 0, $64_1 = 0, $195_1 = 0, $201_1 = 0, $229_1 = 0, $263_1 = 0, $358_1 = 0, $267_1 = 0, $375_1 = 0, $96_1 = 0, $113_1 = 0, $114_1 = 0, $132_1 = 0, $142_1 = 0, $147_1 = 0, $189_1 = 0, $271_1 = 0, $709_1 = 0, $254_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3303(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $258$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $259$hi = i64toi32_i32$1; + i64toi32_i32$1 = $258$hi; + i64toi32_i32$1 = $259$hi; + i64toi32_i32$1 = $258$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $259$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $56_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $56_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $260$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $261$hi = i64toi32_i32$0; + i64toi32_i32$0 = $260$hi; + i64toi32_i32$0 = $261$hi; + i64toi32_i32$0 = $260$hi; + i64toi32_i32$1 = $56_1; + i64toi32_i32$2 = $261$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $41(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 24 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 24 | 0) >> 2] = 7; + break label$1; + } + $20_1 = 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $20_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $20_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $20_1; + label$3 : { + label$4 : { + if (HEAP32[($7_1 + 56 | 0) >> 2] | 0) { + break label$4 + } + HEAP8[($7_1 + 21 | 0) >> 0] = 95; + HEAP8[($7_1 + 22 | 0) >> 0] = 37; + HEAP8[($7_1 + 23 | 0) >> 0] = 0; + break label$3; + } + HEAP8[($7_1 + 21 | 0) >> 0] = 42; + HEAP8[($7_1 + 22 | 0) >> 0] = 63; + HEAP8[($7_1 + 23 | 0) >> 0] = 91; + } + label$5 : { + label$6 : while (1) { + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$1 >> 31 | 0; + $263_1 = i64toi32_i32$1; + $263$hi = i64toi32_i32$5; + i64toi32_i32$0 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $264$hi = i64toi32_i32$1; + i64toi32_i32$1 = $263$hi; + i64toi32_i32$1 = $264$hi; + i64toi32_i32$1 = $263$hi; + i64toi32_i32$1 = $264$hi; + $358_1 = i64toi32_i32$5; + i64toi32_i32$1 = $263$hi; + i64toi32_i32$0 = $263_1; + i64toi32_i32$5 = $264$hi; + i64toi32_i32$3 = $358_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$5 | 0)) { + $57_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 > i64toi32_i32$3 >>> 0) { + $59_1 = 0 + } else { + $59_1 = 1 + } + $60_1 = $59_1; + } else { + $60_1 = 0 + } + $57_1 = $60_1; + } + if (!($57_1 & 1 | 0)) { + break label$5 + } + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $267_1 = i64toi32_i32$1; + $267$hi = i64toi32_i32$0; + i64toi32_i32$3 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $268$hi = i64toi32_i32$1; + i64toi32_i32$1 = $267$hi; + i64toi32_i32$1 = $268$hi; + i64toi32_i32$1 = $267$hi; + i64toi32_i32$1 = $268$hi; + $375_1 = i64toi32_i32$0; + i64toi32_i32$1 = $267$hi; + i64toi32_i32$3 = $267_1; + i64toi32_i32$0 = $268$hi; + i64toi32_i32$5 = $375_1; + label$7 : { + label$8 : { + if (((i64toi32_i32$3 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$8 + } + $42_1 = 24; + $46_1 = 24; + if ((((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0 | 0) == (((HEAPU8[($7_1 + 21 | 0) >> 0] | 0) << $46_1 | 0) >> $46_1 | 0 | 0) & 1 | 0) { + break label$8 + } + $58_1 = 24; + $62_1 = 24; + if ((((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $58_1 | 0) >> $58_1 | 0 | 0) == (((HEAPU8[($7_1 + 22 | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) & 1 | 0) { + break label$8 + } + $74_1 = 24; + $78_1 = 24; + if (!((((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $74_1 | 0) >> $74_1 | 0 | 0) == (((HEAPU8[($7_1 + 23 | 0) >> 0] | 0) << $78_1 | 0) >> $78_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + } + label$9 : { + if (!(((HEAP32[($7_1 + 12 | 0) >> 2] | 0) - (HEAP32[($7_1 + 8 | 0) >> 2] | 0) | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$9 + } + $96_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $97_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $97_1 + 1 | 0; + HEAP8[($96_1 + $97_1 | 0) >> 0] = 34; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $113_1 = HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + (HEAP32[($7_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0; + $114_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $115_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $115_1 + 1 | 0; + HEAP8[($114_1 + $115_1 | 0) >> 0] = $113_1; + $123_1 = 24; + label$12 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + (HEAP32[($7_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $123_1 | 0) >> $123_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$12 + } + $132_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $133_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $133_1 + 1 | 0; + HEAP8[($132_1 + $133_1 | 0) >> 0] = 34; + } + HEAP32[($7_1 + 4 | 0) >> 2] = (HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + $142_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $143_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $143_1 + 1 | 0; + HEAP8[($142_1 + $143_1 | 0) >> 0] = 34; + $147_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $148_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $148_1 + 1 | 0; + HEAP8[($147_1 + $148_1 | 0) >> 0] = 32; + } + $156_1 = 24; + $160_1 = 24; + label$13 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $156_1 | 0) >> $156_1 | 0 | 0) == (((HEAPU8[($7_1 + 23 | 0) >> 0] | 0) << $160_1 | 0) >> $160_1 | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 2 | 0; + $178_1 = 24; + label$14 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $178_1 | 0) >> $178_1 | 0 | 0) == (94 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + label$15 : while (1) { + $189_1 = 0; + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$1 >> 31 | 0; + $271_1 = i64toi32_i32$1; + $271$hi = i64toi32_i32$3; + i64toi32_i32$5 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $272$hi = i64toi32_i32$1; + i64toi32_i32$1 = $271$hi; + i64toi32_i32$1 = $272$hi; + i64toi32_i32$1 = $271$hi; + i64toi32_i32$1 = $272$hi; + $709_1 = i64toi32_i32$3; + i64toi32_i32$1 = $271$hi; + i64toi32_i32$5 = $271_1; + i64toi32_i32$3 = $272$hi; + i64toi32_i32$0 = $709_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$3 | 0)) { + $61_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$0 >>> 0) { + $63_1 = 0 + } else { + $63_1 = 1 + } + $64_1 = $63_1; + } else { + $64_1 = 0 + } + $61_1 = $64_1; + } + $195_1 = $189_1; + label$16 : { + if (!($61_1 & 1 | 0)) { + break label$16 + } + $201_1 = 24; + $195_1 = (((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $201_1 | 0) >> $201_1 | 0 | 0) != (93 | 0); + } + label$17 : { + if (!($195_1 & 1 | 0)) { + break label$17 + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + } + break label$15; + }; + } + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$18 : { + label$19 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[$7_1 >> 2] = 0; + label$20 : { + if (!(HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0)) { + break label$20 + } + $229_1 = 1; + HEAP32[$7_1 >> 2] = $229_1; + label$21 : { + if (!((HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == ($229_1 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + } + HEAP8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2416(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[$7_1 >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + break label$18; + } + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = 0; + } + $42(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + } + $254_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $254_1 | 0; + } + + function $2419($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $71_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $342(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = $62(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $71_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $71_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + } + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $75_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $75_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2420($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, $16_1 = 0, i64toi32_i32$1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2558(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!($2429(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + $16_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($16_1 + 60 | 0) >> 2] = HEAP32[($16_1 + 60 | 0) >> 2] | 0 | 1 | 0; + } + $2430(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + $21_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $21_1 | 0; + } + + function $2421($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $13_1 = 0, $6_1 = 0, $44_1 = 0, $57_1 = 0, $78_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$2 + } + $13_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 8 | 0) >> 2] = $13_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $13_1; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == ($13_1 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(($248(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + } + break label$3; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2537(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0, $5_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + label$7 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$7 + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $44_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($44_1 + 60 | 0) >> 2] = HEAP32[($44_1 + 60 | 0) >> 2] | 0 | 16 | 0; + break label$6; + } + label$8 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $57_1 = $79(53643 | 0, $5_1 | 0) | 0; + HEAP32[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] = $57_1; + } + } + break label$1; + } + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0; + break label$9; + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] = 53676; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 76 | 0) >> 2] = 0; + } + } + $78_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $78_1 | 0; + } + + function $2422($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $32_1 = 0, $63_1 = 0, $40_1 = 0, $41_1 = 0, $43_1 = 0, $45_1 = 0, $46_1 = 0, $48_1 = 0, $55_1 = 0, $94_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2559(HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = (((HEAP32[($5_1 + 52 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) + 32 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 76 | 0) >> 2] = 7; + break label$1; + } + $32_1 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $3289(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $40_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + $41_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $43_1 = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $45_1 = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $46_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + $48_1 = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $55_1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != ($32_1 | 0) & 1 | 0 ? 31008 : 1352; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != ($32_1 | 0) & 1 | 0)) { + break label$4 + } + $63_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$3; + } + $63_1 = 1352; + } + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 64 | 0) >> 2] | 0 ? 49472 : 49477; + HEAP32[($5_1 + 20 | 0) >> 2] = $63_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $55_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $48_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $46_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $45_1; + HEAP32[$5_1 >> 2] = $43_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2560($40_1 | 0, $41_1 | 0, 53681 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + label$5 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2431(HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + } + label$6 : { + if (!(HEAP32[($5_1 + 36 | 0) >> 2] | 0)) { + break label$6 + } + $213(HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + $42(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] = 0; + } + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + } + $94_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + global$0 = $5_1 + 80 | 0; + return $94_1 | 0; + } + + function $2423($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 ? 1 : 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 2; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2424($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2523(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[(((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + } + $21_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $21_1 | 0; + } + + function $2425($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $18_1 = 0, i64toi32_i32$2 = 0, $28_1 = 0, $35_1 = 0, $38_1 = 0, $48_1 = 0, $55_1 = 0, $65_1 = 0, i64toi32_i32$1 = 0, $27_1 = 0, $77_1 = 0, $82_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + $18_1 = $2427(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0) | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $18_1; + label$4 : { + label$5 : { + if ($18_1) { + break label$5 + } + if (!(HEAP32[($3_1 + 12 | 0) >> 2] | 0)) { + break label$4 + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$2 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2428(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $27_1 = $2429(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + $28_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($28_1 + 60 | 0) >> 2] = HEAP32[($28_1 + 60 | 0) >> 2] | 0 | $27_1 | 0; + $2430(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + break label$2; + } + $35_1 = (HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + -3 | 0; + label$6 : { + label$7 : { + switch ($35_1 | 0) { + case 0: + $38_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($38_1 + 60 | 0) >> 2] = HEAP32[($38_1 + 60 | 0) >> 2] | 0 | 1 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + break label$6; + case 1: + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2431(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$6; + default: + break label$7; + }; + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $48_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($48_1 + 64 | 0) >> 2] = (HEAP32[($48_1 + 64 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $287(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $55_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($55_1 + 64 | 0) >> 2] = (HEAP32[($55_1 + 64 | 0) >> 2] | 0) + -1 | 0; + label$10 : { + label$11 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != (100 | 0) & 1 | 0)) { + break label$11 + } + $65_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($65_1 + 60 | 0) >> 2] = HEAP32[($65_1 + 60 | 0) >> 2] | 0 | 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $222(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$12 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $380(HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $77_1 = $79(1976 | 0, $3_1 | 0) | 0; + HEAP32[((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] = $77_1; + } + break label$10; + } + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + } + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + } + $82_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $82_1 | 0; + } + + function $2426($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $2542(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2427($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $49$hi = 0, $50$hi = 0, $30_1 = 0, $39_1 = 0, $92_1 = 0, $49_1 = 0, $126_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) & 32 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = $2715(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $92_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[$4_1 >> 2] = $92_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2558(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $49_1 = i64toi32_i32$0; + $49$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2715(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $50$hi = i64toi32_i32$0; + i64toi32_i32$0 = $49$hi; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$0 = $49$hi; + i64toi32_i32$0 = $50$hi; + $126_1 = i64toi32_i32$1; + i64toi32_i32$0 = $49$hi; + i64toi32_i32$1 = $50$hi; + if (!((($49_1 | 0) != ($126_1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = 1; + } + $30_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($30_1 + 60 | 0) >> 2] = (HEAP32[($30_1 + 60 | 0) >> 2] | 0) & -33 | 0; + $2430(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + label$3 : { + if (!($2429(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + $39_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($39_1 + 60 | 0) >> 2] = HEAP32[($39_1 + 60 | 0) >> 2] | 0 | 1 | 0; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = 1; + } + } + $44_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $44_1 | 0; + } + + function $2428($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $30$hi = 0, $31$hi = 0, $30_1 = 0, $78_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : while (1) { + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 28 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0, 0, 0, i64toi32_i32$0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + if (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + continue label$1 + } + break label$1; + }; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $30_1 = i64toi32_i32$0; + $30$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $31$hi = i64toi32_i32$0; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$0 = $31$hi; + $78_1 = i64toi32_i32$1; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$1 = $31$hi; + label$2 : { + if (!(($2603(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $30_1 | 0, i64toi32_i32$0 | 0, $78_1 | 0, i64toi32_i32$1 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + } + $26_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $26_1 | 0; + } + + function $2429($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function $2430($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 78 | 0; + return; + } + + function $2431($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $28_1 = 0, i64toi32_i32$0 = 0, $17_1 = 0, $29_1 = 0, $38_1 = 0, i64toi32_i32$1 = 0, $166_1 = 0, $60_1 = 0, $92_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $287(HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 36 | 0) >> 2] = 0; + $17_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + HEAP32[($17_1 + 60 | 0) >> 2] = HEAP32[($17_1 + 60 | 0) >> 2] | 0 | 1 | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$3 + } + $28_1 = 0; + $29_1 = 1; + HEAP32[($3_1 + 16 | 0) >> 2] = $28_1; + HEAP32[($3_1 + 36 | 0) >> 2] = $28_1; + i64toi32_i32$0 = $318(HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, $28_1 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $166_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $166_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $315(HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, $29_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $38_1 = $311(HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, $29_1 | 0) | 0; + HEAP32[($3_1 + 32 | 0) >> 2] = $38_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $38_1; + label$4 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) > ($28_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < ((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$5 + } + $60_1 = $2534(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0) | 0; + HEAP32[($3_1 + 32 | 0) >> 2] = (HEAP32[($3_1 + 32 | 0) >> 2] | 0) + $60_1 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[(((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[(((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0) - (HEAP32[($3_1 + 32 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + } + $2430(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + } + } + $92_1 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $92_1 | 0; + } + + function $2432($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + return ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) & 1 | 0 ? 1 : 0) | 0; + } + + function $2433($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $86_1 = 0, $119_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + } + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$9 + } + $2434(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$8; + } + label$10 : { + label$11 : { + if ((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$11 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$10 + } + } + label$12 : { + label$13 : { + if ((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$13 + } + $86_1 = $2435(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $86_1; + if (!((0 | 0) == ($86_1 | 0) & 1 | 0)) { + break label$12 + } + } + $2436(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0); + } + } + } + break label$6; + } + label$14 : { + if ($2437(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$14 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2438(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$15 + } + $280(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $320(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0 | 0) | 0 | 0); + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = 0; + } + } + } + } + $119_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $119_1 | 0; + } + + function $2434($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $5_1 = 0, $14_1 = 0, $73_1 = 0, $108_1 = 0, $140_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + $5_1 = 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2559(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 40 | 0) >> 2] = $5_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$0; + $14_1 = HEAP32[((HEAP32[((HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($14_1 | 0) { + case 0: + HEAP32[($4_1 + 52 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) < ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2716(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, $4_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2520($4_1 + 48 | 0 | 0, $4_1 + 32 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + HEAP32[($4_1 + 52 | 0) >> 2] = (HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($4_1 + 52 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2716(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, $4_1 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $2510($4_1 + 48 | 0 | 0, $4_1 + 32 | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 52 | 0) >> 2] = (HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + break label$1; + case 2: + HEAP32[($4_1 + 52 | 0) >> 2] = 0; + label$9 : while (1) { + $73_1 = 0; + label$10 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$10 + } + $73_1 = (HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) < ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) - 1 | 0 | 0); + } + label$11 : { + if (!($73_1 & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2717(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, $4_1 + 12 | 0 | 0, $4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2520($4_1 + 48 | 0 | 0, $4_1 + 32 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + HEAP32[($4_1 + 52 | 0) >> 2] = (HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + HEAP32[($4_1 + 52 | 0) >> 2] = 0; + label$12 : while (1) { + $108_1 = 0; + label$13 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$13 + } + $108_1 = (HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0); + } + label$14 : { + if (!($108_1 & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2717(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, $4_1 + 4 | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $2510($4_1 + 48 | 0 | 0, $4_1 + 32 | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 52 | 0) >> 2] = (HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + } + break label$12; + }; + break label$1; + default: + break label$2; + }; + } + } + $254(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, 3 | 0); + $140_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $140_1 | 0; + } + + function $2435($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, $38_1 = 0, i64toi32_i32$1 = 0, $57_1 = 0, $64_1 = 0, $78_1 = 0, $105_1 = 0, $110_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 80 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 64 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2481($3_1 + 64 | 0 | 0, 49993 | 0, $3_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $38_1 = 0; + HEAP32[($3_1 + 44 | 0) >> 2] = $38_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $408(HEAP32[(HEAP32[($3_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0, -1 | 0, 1 | 0, $3_1 + 44 | 0 | 0, $38_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0); + label$3 : { + if (HEAP32[($3_1 + 64 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (!((100 | 0) == ($287(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + $57_1 = $309(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 84 | 0) >> 2] = $57_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0) << 2 | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + $64_1 = $2468($3_1 + 64 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 88 | 0) >> 2] = $64_1; + label$6 : { + if (HEAP32[($3_1 + 64 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $78_1 = $320(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $78_1; + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + } + HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 92 | 0) >> 2] = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + break label$4; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $213(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + label$9 : { + if (HEAP32[($3_1 + 64 | 0) >> 2] | 0) { + break label$9 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2456(HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + $105_1 = $79(53736 | 0, $3_1 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] = $105_1; + HEAP32[($3_1 + 64 | 0) >> 2] = 1; + } + } + HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 80 | 0) >> 2] = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + $110_1 = HEAP32[($3_1 + 64 | 0) >> 2] | 0; + global$0 = $3_1 + 80 | 0; + return $110_1 | 0; + } + + function $2436($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 96 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](53760, HEAP32[($7_1 + 24 | 0) >> 2] | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0); + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 96 | 0) >> 2] = 0; + global$0 = $7_1 + 32 | 0; + return; + } + + function $2437($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 | 0; + } + + function $2438($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $27_1 = 0, $46_1 = 0, $54_1 = 0, $65_1 = 0, $18_1 = 0, $19_1 = 0, $22_1 = 0, $43_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $88_1 = 0, $92_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2423(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $18_1 = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $19_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $22_1 = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0; + label$2 : { + label$3 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$3 + } + $27_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0; + break label$2; + } + $27_1 = 0; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2424($18_1 | 0, $19_1 | 0, $22_1 | 0, $27_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) & 2 | 0)) { + break label$4 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $222(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + $43_1 = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = $2440(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $331($43_1 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $46_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($46_1 + 64 | 0) >> 2] = (HEAP32[($46_1 + 64 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $287(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $54_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($54_1 + 64 | 0) >> 2] = (HEAP32[($54_1 + 64 | 0) >> 2] | 0) + -1 | 0; + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + $65_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($65_1 + 60 | 0) >> 2] = (HEAP32[($65_1 + 60 | 0) >> 2] | 0) & -3 | 0; + break label$5; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$8 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 267; + break label$7; + } + label$9 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $380(HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $88_1 = $79(1976 | 0, $4_1 | 0) | 0; + HEAP32[(HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) >> 2] = $88_1; + } + } + } + } + $92_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $92_1 | 0; + } + + function $2439($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $10_1 = 0, $64_1 = 0, $75_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $10_1 = (HEAP32[$4_1 >> 2] | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($10_1 | 0) { + case 2: + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$1; + case 0: + case 1: + case 3: + i64toi32_i32$0 = $2440(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $64_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $64_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$1; + default: + break label$2; + }; + } + i64toi32_i32$1 = $318(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $75_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $75_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $2440($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $49_1 = 0, $57_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $49_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $49_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = $2715(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $57_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $57_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2441($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $250$hi = 0, $251$hi = 0, $105_1 = 0, $109_1 = 0, $511_1 = 0, $601_1 = 0, $635_1 = 0, $643_1 = 0, $250_1 = 0, $663_1 = 0, $241_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + HEAP32[($6_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = 0; + HEAP32[((HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = (HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 8 | 0; + $2442(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $248(HEAP32[(HEAP32[($6_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + if (!(($248(HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!(HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0)) { + break label$4 + } + if (!((0 | 0) == ($87(9656 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2443(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2444(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + ((((HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 2 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + break label$1; + } + HEAP32[($6_1 + 56 | 0) >> 2] = 4; + label$5 : { + if (HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $425(HEAP32[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + if (!($2437(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + $105_1 = (HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0 ? 53877 : 53884; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $105_1; + $109_1 = $79(53840 | 0, $6_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] = $109_1; + HEAP32[($6_1 + 64 | 0) >> 2] = 1; + break label$6; + } + label$8 : { + label$9 : { + if (!((HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($6_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $511_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $511_1; + HEAP32[($6_1 + 52 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2445(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + break label$8; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $342(HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 64 | 0) >> 2] = 20; + break label$10; + } + label$12 : { + label$13 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$14 + } + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $601_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $601_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2445(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + $2446($6_1 + 64 | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0); + break label$12; + } + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($6_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $635_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $635_1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $62(HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $643_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $643_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$15 : { + label$16 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$16 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $250_1 = i64toi32_i32$0; + $250$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $251$hi = i64toi32_i32$0; + i64toi32_i32$0 = $250$hi; + i64toi32_i32$0 = $251$hi; + i64toi32_i32$0 = $250$hi; + i64toi32_i32$0 = $251$hi; + $663_1 = i64toi32_i32$1; + i64toi32_i32$0 = $250$hi; + i64toi32_i32$2 = $250_1; + i64toi32_i32$1 = $251$hi; + i64toi32_i32$3 = $663_1; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + label$18 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$18 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2445(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$19 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2445(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + $2446($6_1 + 64 | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0); + break label$17; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2447(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$20 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2445(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + label$21 : { + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$21 + } + i64toi32_i32$3 = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2448(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + } + break label$15; + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2445(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + $2446($6_1 + 64 | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0); + } + } + } + } + } + } + HEAP32[((HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = 0; + $241_1 = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + global$0 = $6_1 + 96 | 0; + return $241_1 | 0; + } + + function $2442($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $30_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $30_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($30_1 + 60 | 0) >> 2] = HEAP32[($30_1 + 60 | 0) >> 2] | 0 | 32 | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$2; + }; + } + return; + } + + function $2443($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $67_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $248(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $67_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $67_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2445(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $24_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $24_1 | 0; + } + + function $2444($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $113_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if (!(($6_1 | 0) == ($87(53896 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) { + break label$4 + } + $2755(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 53907 | 0, 0 | 0); + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + break label$3; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2756(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$1; + } + label$5 : { + label$6 : { + if (!((0 | 0) == ($87(49941 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + $2755(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 53987 | 0, 0 | 0); + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + break label$7; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2757(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$5; + } + label$9 : { + label$10 : { + if (!((0 | 0) == ($87(13390 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2758(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$9; + } + label$11 : { + label$12 : { + if (!((0 | 0) == ($87(54043 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2759(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + label$13 : { + label$14 : { + if (!((0 | 0) == ($87(49949 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2760(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$13; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2473(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$15 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2536(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$16 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$16 + } + label$17 : { + label$18 : { + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$18 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + break label$17; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2487(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + } + } + } + $113_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $113_1 | 0; + } + + function $2445($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2745(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2761(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + if (!(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2523(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 7 | 0, $5_1 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $331(HEAP32[$5_1 >> 2] | 0 | 0, 1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $287(HEAP32[$5_1 >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + label$4 : { + if (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) { + break label$4 + } + label$5 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2523(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 5 | 0, $5_1 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $331(HEAP32[$5_1 >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $287(HEAP32[$5_1 >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + $44_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $44_1 | 0; + } + + function $2446($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2447(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2448(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[i64toi32_i32$2 >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return; + } + + function $2447($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $31_1 = 0, $36_1 = 0, $122_1 = 0, $225_1 = 0, $67_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(($248(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $122_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $122_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$3; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2762(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$1; + } + $31_1 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $31_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2523(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 3 | 0, $5_1 + 8 | 0 | 0, $31_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 4 | 0) >> 2] = 1; + label$5 : while (1) { + $36_1 = 0; + label$6 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$6 + } + $36_1 = (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) <= ((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0 | 0); + } + label$7 : { + if (!($36_1 & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $334(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + label$8 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$8 + } + $287(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$1 = $451(HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $225_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $225_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + $67_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $67_1 | 0; + } + + function $2448($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $27_1 = 0, $105$hi = 0, $87_1 = 0, $91_1 = 0, $108$hi = 0, $109$hi = 0, $105_1 = 0, $301$hi = 0, $99_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2745(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 40 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2763(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + label$2 : while (1) { + $27_1 = 0; + label$3 : { + if (HEAP32[($5_1 + 40 | 0) >> 2] | 0) { + break label$3 + } + $27_1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($27_1 & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + label$5 : { + if ((HEAPU8[((HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2591(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, $5_1 + 24 | 0 | 0, 116 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $2520($5_1 + 40 | 0 | 0, $5_1 + 8 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $105_1 = i64toi32_i32$0; + $105$hi = i64toi32_i32$1; + $87_1 = (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$2 = $87_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $301$hi = i64toi32_i32$0; + i64toi32_i32$0 = $105$hi; + i64toi32_i32$0 = $301$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $105$hi; + i64toi32_i32$3 = $105_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $87_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + $91_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$0 = $91_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $108$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $109$hi = i64toi32_i32$2; + i64toi32_i32$2 = $108$hi; + i64toi32_i32$2 = $109$hi; + i64toi32_i32$2 = $108$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $109$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $91_1; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$4; + label$6 : { + if (HEAP32[($5_1 + 40 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2765(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, $5_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $99_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $99_1 | 0; + } + + function $2449($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2411(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2450($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0; + $2442(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2451(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = 0; + $17_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $17_1 | 0; + } + + function $2451($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $44_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + i64toi32_i32$0 = $451(HEAP32[(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $44_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[$3_1 >> 2] = $44_1; + HEAP32[($3_1 + 4 | 0) >> 2] = i64toi32_i32$1; + label$1 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2766(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + label$2 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2822(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$1 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $452(HEAP32[(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + $21_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $21_1 | 0; + } + + function $2452($0_1) { + $0_1 = $0_1 | 0; + HEAP32[((global$0 - 16 | 0) + 12 | 0) >> 2] = $0_1; + return 0 | 0; + } + + function $2453($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2454(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $8_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $2454($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + $8_1 = $2474(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $2455($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $25_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2456(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$7_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = 117; + HEAP32[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[$7_1 >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + } + $25_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $25_1 | 0; + } + + function $2456($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $23_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if ($87(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + break label$1; + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $23_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $23_1 | 0; + } + + function $2457($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $66_1 = 0, $97_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $302(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $66_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $66_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2823(HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) { + break label$2 + } + } + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $97_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[$5_1 >> 2] = $97_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(54401 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + break label$1; + } + $2436(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 40 | 0) >> 2] | 0) - 1 | 0 | 0, (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2458($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $9_1 = $2459(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $2459($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2451(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $2824(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $4_1 | 0, 51618 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $2824(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $4_1 | 0, 14134 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $2824(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $4_1 | 0, 51903 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + label$1 : { + if (!(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$1 + } + $2824(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $4_1 | 0, 50539 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) { + break label$2 + } + $2824(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $4_1 | 0, 48407 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + $31_1 = HEAP32[$4_1 >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $31_1 | 0; + } + + function $2460($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $6_1 = $2461(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $6_1 | 0; + } + + function $2461($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2442(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $7_1 = $2451(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $2462($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $6_1 = $2461(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $6_1 | 0; + } + + function $2463($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $2442(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + $9_1 = $2454(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $2464($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $25_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) >>> 0 < 5 >>> 0 & 1 | 0)) { + break label$2 + } + label$4 : { + if ($87(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(73232 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $25_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $25_1 | 0; + } + + function $2465($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $29_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if ($87(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + break label$3; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$4; + }; + } + } + $29_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $29_1 | 0; + } + + function $2466($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6_1 = 0, $73_1 = 0, $516_1 = 0, $518$hi = 0, $255_1 = 0, $520$hi = 0, $126_1 = 0, $282_1 = 0, $331_1 = 0, $364_1 = 0, $577_1 = 0, $603_1 = 0, $87_1 = 0, $734_1 = 0, $143_1 = 0, $179_1 = 0, $187_1 = 0, $212_1 = 0, $245_1 = 0, $386_1 = 0, $425_1 = 0, $443_1 = 0, $469_1 = 0, $490_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 272 | 0; + global$0 = $5_1; + $6_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 268 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 264 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 260 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 220 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 204 | 0) >> 2] = $6_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 192 | 0) >> 2] = 0; + HEAP32[($5_1 + 196 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($302(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0) | 0 | 0) != ($6_1 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1 + 208 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($5_1 + 260 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $577_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 248 | 0) >> 2] = $577_1; + HEAP32[($5_1 + 252 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 260 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[((HEAP32[($5_1 + 260 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = (HEAP32[($5_1 + 224 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $603_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 192 | 0) >> 2] = $603_1; + HEAP32[($5_1 + 196 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 192 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 196 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2468($5_1 + 204 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + $3288(HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) | 0; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 248 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + $2825(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $5_1 + 244 | 0 | 0, $5_1 + 232 | 0 | 0, $5_1 + 240 | 0 | 0, $5_1 + 236 | 0 | 0); + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 248 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + $2826($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + label$4 : { + label$5 : { + if (!(HEAP32[($5_1 + 232 | 0) >> 2] | 0)) { + break label$5 + } + $73_1 = $5_1 + 144 | 0; + HEAP32[($5_1 + 176 | 0) >> 2] = HEAP32[($5_1 + 220 | 0) >> 2] | 0; + HEAP32[($5_1 + 180 | 0) >> 2] = HEAP32[($5_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $516_1 = 0; + i64toi32_i32$1 = $73_1; + HEAP32[i64toi32_i32$1 >> 2] = $516_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $516_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $73_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $516_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $73_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $516_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 144 | 0) >> 2] = $5_1 + 176 | 0; + HEAP32[($5_1 + 160 | 0) >> 2] = HEAP32[($5_1 + 236 | 0) >> 2] | 0; + $2628($73_1 | 0) | 0; + label$6 : { + label$7 : while (1) { + if (HEAP32[($5_1 + 152 | 0) >> 2] | 0) { + break label$6 + } + $87_1 = HEAP32[($5_1 + 160 | 0) >> 2] | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + $734_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $734_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[$5_1 >> 2] = $87_1; + $2503($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, 54504 | 0, $5_1 | 0); + $2628($5_1 + 144 | 0 | 0) | 0; + continue label$7; + }; + } + break label$4; + } + label$8 : { + label$9 : { + if (HEAP32[($5_1 + 244 | 0) >> 2] | 0) { + break label$9 + } + i64toi32_i32$1 = 0; + $518$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 248 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + $520$hi = i64toi32_i32$0; + i64toi32_i32$0 = $518$hi; + i64toi32_i32$0 = $520$hi; + i64toi32_i32$0 = $518$hi; + i64toi32_i32$0 = $520$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $518$hi; + label$10 : { + label$11 : { + if (!(((i64toi32_i32$2 | 0) == (1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$11 + } + $2827($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0); + break label$10; + } + $2828($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0); + } + break label$8; + } + label$12 : { + label$13 : { + if (!(HEAP32[($5_1 + 188 | 0) >> 2] | 0)) { + break label$13 + } + $126_1 = ($2532((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + 2 | 0 | 0) | 0) & 65535 | 0; + HEAP32[($5_1 + 124 | 0) >> 2] = $126_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $126_1; + HEAP32[($5_1 + 112 | 0) >> 2] = 0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $5_1 + 128 | 0; + HEAP32[i64toi32_i32$0 >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = 0; + label$14 : { + label$15 : { + if (!((HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + $143_1 = $2534((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 120 | 0) >> 2] | 0) | 0 | 0, $5_1 + 116 | 0 | 0) | 0; + HEAP32[($5_1 + 120 | 0) >> 2] = (HEAP32[($5_1 + 120 | 0) >> 2] | 0) + $143_1 | 0; + break label$14; + } + HEAP32[($5_1 + 116 | 0) >> 2] = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + } + $2829($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($5_1 + 116 | 0) >> 2] | 0) - 4 | 0 | 0); + HEAP32[($5_1 + 108 | 0) >> 2] = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $179_1 = $2534((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 108 | 0) >> 2] | 0) | 0 | 0, $5_1 + 104 | 0 | 0) | 0; + HEAP32[($5_1 + 108 | 0) >> 2] = (HEAP32[($5_1 + 108 | 0) >> 2] | 0) + $179_1 | 0; + HEAP32[($5_1 + 132 | 0) >> 2] = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + $2510($5_1 + 204 | 0 | 0, $5_1 + 128 | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 108 | 0) >> 2] | 0) | 0 | 0); + $187_1 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $187_1; + $2503($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, 54514 | 0, $5_1 + 16 | 0 | 0); + HEAP32[($5_1 + 108 | 0) >> 2] = (HEAP32[($5_1 + 108 | 0) >> 2] | 0) + (HEAP32[($5_1 + 104 | 0) >> 2] | 0) | 0; + label$18 : { + label$19 : { + if (!((HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $212_1 = $2534((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 120 | 0) >> 2] | 0) | 0 | 0, $5_1 + 100 | 0 | 0) | 0; + HEAP32[($5_1 + 120 | 0) >> 2] = (HEAP32[($5_1 + 120 | 0) >> 2] | 0) + $212_1 | 0; + HEAP32[($5_1 + 116 | 0) >> 2] = (HEAP32[($5_1 + 116 | 0) >> 2] | 0) + (HEAP32[($5_1 + 100 | 0) >> 2] | 0) | 0; + break label$18; + } + HEAP32[($5_1 + 116 | 0) >> 2] = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + } + $2829($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 108 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 116 | 0) >> 2] | 0) - (HEAP32[($5_1 + 108 | 0) >> 2] | 0) | 0 | 0); + HEAP32[($5_1 + 108 | 0) >> 2] = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + label$20 : { + if (!((HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + $245_1 = $2534((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 108 | 0) >> 2] | 0) | 0 | 0, $5_1 + 112 | 0 | 0) | 0; + HEAP32[($5_1 + 108 | 0) >> 2] = (HEAP32[($5_1 + 108 | 0) >> 2] | 0) + $245_1 | 0; + } + continue label$17; + }; + } + $2521($5_1 + 128 | 0 | 0); + break label$12; + } + $255_1 = 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $255_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $255_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $255_1; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $5_1 + 88 | 0; + HEAP32[i64toi32_i32$0 >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = 0; + label$21 : { + if (!((HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$21 + } + $2637($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, 7 | 0, 54525 | 0); + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($2532(HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + $282_1 = ($2532((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + 2 | 0 | 0) | 0) & 65535 | 0; + HEAP32[($5_1 + 84 | 0) >> 2] = $282_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $282_1; + label$22 : { + label$23 : { + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + $2534((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 80 | 0) >> 2] | 0) | 0 | 0, $5_1 + 72 | 0 | 0) | 0; + break label$22; + } + label$24 : { + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($5_1 + 204 | 0) >> 2] = 267; + break label$1; + } + } + label$25 : { + label$26 : { + if (!(HEAP32[($5_1 + 68 | 0) >> 2] | 0)) { + break label$26 + } + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + break label$25; + } + label$27 : { + label$28 : { + if (!(HEAP32[($5_1 + 72 | 0) >> 2] | 0)) { + break label$28 + } + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + break label$27; + } + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + } + } + label$29 : { + if (!((HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($5_1 + 204 | 0) >> 2] = 267; + break label$1; + } + $2830($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($5_1 + 64 | 0) >> 2] | 0) - 4 | 0 | 0) | 0; + label$30 : { + label$31 : { + if (!(HEAP32[($5_1 + 72 | 0) >> 2] | 0)) { + break label$31 + } + $331_1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + break label$30; + } + $331_1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 60 | 0) >> 2] = $331_1 - (HEAP32[($5_1 + 64 | 0) >> 2] | 0) | 0; + label$32 : { + if (!(((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + (HEAP32[($5_1 + 64 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($5_1 + 204 | 0) >> 2] = 267; + break label$1; + } + $2831($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 64 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0; + label$33 : while (1) { + $364_1 = 0; + label$34 : { + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$34 + } + $364_1 = (HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$35 : { + if (!($364_1 & 1 | 0)) { + break label$35 + } + HEAP32[($5_1 + 56 | 0) >> 2] = (HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) & 1 | 0; + $386_1 = $2534((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 80 | 0) >> 2] | 0) | 0 | 0, $5_1 + 52 | 0 | 0) | 0; + HEAP32[($5_1 + 80 | 0) >> 2] = (HEAP32[($5_1 + 80 | 0) >> 2] | 0) + $386_1 | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + (HEAP32[($5_1 + 52 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + label$36 : { + label$37 : { + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$37 + } + $2534((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 80 | 0) >> 2] | 0) | 0 | 0, $5_1 + 52 | 0 | 0) | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + (HEAP32[($5_1 + 52 | 0) >> 2] | 0) | 0; + break label$36; + } + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + } + label$38 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$38 + } + HEAP32[($5_1 + 204 | 0) >> 2] = 267; + break label$35; + } + label$39 : { + if (HEAP32[($5_1 + 56 | 0) >> 2] | 0) { + break label$39 + } + $425_1 = $2534((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 64 | 0) >> 2] | 0) | 0 | 0, $5_1 + 52 | 0 | 0) | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 64 | 0) >> 2] | 0) + $425_1 | 0; + label$40 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$40 + } + HEAP32[($5_1 + 204 | 0) >> 2] = 267; + break label$35; + } + HEAP32[($5_1 + 92 | 0) >> 2] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + } + $443_1 = $2534((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 64 | 0) >> 2] | 0) | 0 | 0, $5_1 + 52 | 0 | 0) | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 64 | 0) >> 2] | 0) + $443_1 | 0; + label$41 : { + if (!(((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + (HEAP32[($5_1 + 52 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$41 + } + HEAP32[($5_1 + 204 | 0) >> 2] = 267; + break label$35; + } + $2510($5_1 + 204 | 0 | 0, $5_1 + 88 | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 64 | 0) >> 2] | 0) | 0 | 0); + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 64 | 0) >> 2] | 0) + (HEAP32[($5_1 + 52 | 0) >> 2] | 0) | 0; + $469_1 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $469_1; + $2503($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, 54514 | 0, $5_1 + 32 | 0 | 0); + $490_1 = $2831($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 64 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 48 | 0) >> 2] | 0) - (HEAP32[($5_1 + 64 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 64 | 0) >> 2] | 0) + $490_1 | 0; + continue label$33; + } + break label$33; + }; + $2521($5_1 + 88 | 0 | 0); + } + } + } + } + $42(HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0); + label$42 : { + label$43 : { + if (HEAP32[($5_1 + 204 | 0) >> 2] | 0) { + break label$43 + } + $277(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0, -1 | 0); + break label$42; + } + $284(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0); + } + $2521($5_1 + 208 | 0 | 0); + global$0 = $5_1 + 272 | 0; + return; + } + + function $2467($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $48$hi = 0, $49$hi = 0, $19_1 = 0, $50$hi = 0, $51$hi = 0, $52$hi = 0, $53$hi = 0, $54$hi = 0, $55$hi = 0, $153_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 24 | 0) >> 2] | 0) { + break label$2 + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 54681 | 0, -1 | 0); + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((0 | 0) == ($87(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 54718 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$6 + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 54726 | 0, -1 | 0); + break label$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $48$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $49$hi = i64toi32_i32$0; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = $49$hi; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $19_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $50$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$0 = $19_1; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $52$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $53$hi = i64toi32_i32$5; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$5 = $53$hi; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $54$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $55$hi = i64toi32_i32$4; + i64toi32_i32$4 = $54$hi; + i64toi32_i32$4 = $55$hi; + $153_1 = i64toi32_i32$1; + i64toi32_i32$4 = $54$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$3 = $153_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$4 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$5 | 0); + } + break label$3; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 54773 | 0, -1 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2468($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $28$hi = 0, $30$hi = 0, i64toi32_i32$3 = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$1 : { + if (HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $11_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $12_1 = 0 + } else { + $12_1 = 1 + } + $13_1 = $12_1; + } else { + $13_1 = 0 + } + $11_1 = $13_1; + } + label$4 : { + if (!($11_1 & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = 7; + } + break label$2; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $3289(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$2 | 0) | 0; + } + } + $24_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $24_1 | 0; + } + + function $2469($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $80_1 = 0, $24_1 = 0, $25_1 = 0, i64toi32_i32$0 = 0, $9_1 = 0, $11_1 = 0, i64toi32_i32$1 = 0, $71_1 = 0, $109_1 = 0, $134_1 = 0, $157_1 = 0, $186_1 = 0, $36_1 = 0, $47_1 = 0, $51_1 = 0, $65_1 = 0, $171_1 = 0, $176_1 = 0, $177_1 = 0, $178_1 = 0, $238_1 = 0, $240_1 = 0, $247_1 = 0, $263_1 = 0, $273_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 128 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 112 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 108 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 104 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 100 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 96 | 0) >> 2] = $9_1; + $11_1 = $38(108 | 0) | 0; + HEAP32[($8_1 + 92 | 0) >> 2] = $11_1; + HEAP32[(HEAP32[($8_1 + 104 | 0) >> 2] | 0) >> 2] = $11_1; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0) == ($9_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 124 | 0) >> 2] = 7; + break label$1; + } + $24_1 = $8_1 + 96 | 0; + $25_1 = -1; + $3289(HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0, 0 | 0, 108 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 92 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 116 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 72 | 0) >> 2] = $25_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 80 | 0) >> 2] = Math_imul(HEAP32[($8_1 + 112 | 0) >> 2] | 0, 5); + HEAP32[($8_1 + 84 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + $36_1 = $2468($24_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 16 | 0) >> 2] = $36_1; + HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 112 | 0) >> 2] | 0) << 2 | 0) | 0; + $47_1 = $2475($24_1 | 0, HEAP32[((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $25_1 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] = $47_1; + $51_1 = $2475($24_1 | 0, HEAP32[((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $25_1 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] = $51_1; + HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 44 | 0) >> 2] = 1; + HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + label$3 : { + if (HEAP32[($8_1 + 96 | 0) >> 2] | 0) { + break label$3 + } + if ($87(HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 50840 | 0) | 0) { + break label$3 + } + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $65_1 = $79(50845 | 0, $8_1 + 32 | 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 100 | 0) >> 2] | 0) >> 2] = $65_1; + HEAP32[($8_1 + 96 | 0) >> 2] = 1; + } + HEAP32[($8_1 + 88 | 0) >> 2] = 3; + label$4 : while (1) { + $71_1 = 0; + label$5 : { + if (HEAP32[($8_1 + 96 | 0) >> 2] | 0) { + break label$5 + } + $71_1 = (HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (!($71_1 & 1 | 0)) { + break label$6 + } + $80_1 = 0; + HEAP32[($8_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 88 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($8_1 + 68 | 0) >> 2] = $80_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $80_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $80_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $80_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2476($8_1 + 96 | 0 | 0, HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, $8_1 + 68 | 0 | 0, $8_1 + 56 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2477(HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != ($80_1 | 0) & 1 | 0)) { + break label$7 + } + $109_1 = 24; + if (!((((HEAPU8[(HEAP32[($8_1 + 72 | 0) >> 2] | 0) >> 0] | 0) << $109_1 | 0) >> $109_1 | 0 | 0) == (61 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($8_1 + 60 | 0) >> 2] = 1; + HEAP32[($8_1 + 72 | 0) >> 2] = (HEAP32[($8_1 + 72 | 0) >> 2] | 0) + 1 | 0; + label$8 : { + if (!(HEAP32[($8_1 + 56 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($8_1 + 72 | 0) >> 2] = 0; + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2477(HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $134_1 = 24; + if (!(((HEAPU8[(HEAP32[($8_1 + 72 | 0) >> 2] | 0) >> 0] | 0) << $134_1 | 0) >> $134_1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2476($8_1 + 96 | 0 | 0, HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0, $8_1 + 64 | 0 | 0, $8_1 + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $157_1 = 24; + if (!(((HEAPU8[(HEAP32[($8_1 + 72 | 0) >> 2] | 0) >> 0] | 0) << $157_1 | 0) >> $157_1 | 0)) { + break label$10 + } + HEAP32[($8_1 + 72 | 0) >> 2] = 0; + } + } + label$11 : { + if (HEAP32[($8_1 + 96 | 0) >> 2] | 0) { + break label$11 + } + label$12 : { + label$13 : { + if (!((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[$8_1 >> 2] = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + $171_1 = $79(50874 | 0, $8_1 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 100 | 0) >> 2] | 0) >> 2] = $171_1; + HEAP32[($8_1 + 96 | 0) >> 2] = 1; + break label$12; + } + label$14 : { + label$15 : { + if (!(HEAP32[($8_1 + 60 | 0) >> 2] | 0)) { + break label$15 + } + $176_1 = HEAP32[($8_1 + 120 | 0) >> 2] | 0; + $177_1 = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + $178_1 = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + label$16 : { + label$17 : { + if (!((HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + $186_1 = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + break label$16; + } + $186_1 = 1352; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2478($176_1 | 0, $177_1 | 0, $178_1 | 0, $186_1 | 0, HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + break label$14; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2479(HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 68 | 0) >> 2] = 0; + } + } + } + $42(HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0); + $42(HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 88 | 0) >> 2] = (HEAP32[($8_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + label$18 : { + if (HEAP32[($8_1 + 96 | 0) >> 2] | 0) { + break label$18 + } + if (!((HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2480(HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + } + label$19 : { + if (HEAP32[($8_1 + 96 | 0) >> 2] | 0) { + break label$19 + } + if (!((HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($8_1 + 48 | 0) >> 2] = 0; + label$20 : { + label$21 : { + if (HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) { + break label$21 + } + HEAP32[($8_1 + 48 | 0) >> 2] = 48407; + break label$20; + } + label$22 : { + if (!(HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$22 + } + HEAP32[($8_1 + 48 | 0) >> 2] = 50539; + } + } + label$23 : { + if (!((HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + $238_1 = HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $240_1 = HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $240_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $238_1; + $247_1 = $2481($8_1 + 96 | 0 | 0, 50894 | 0, $8_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] = $247_1; + } + } + label$24 : { + if (HEAP32[($8_1 + 96 | 0) >> 2] | 0) { + break label$24 + } + if (!((HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$24 + } + $263_1 = $2475($8_1 + 96 | 0 | 0, 14175 | 0, -1 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] = $263_1; + } + label$25 : { + if (HEAP32[($8_1 + 96 | 0) >> 2] | 0) { + break label$25 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2482(HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + } + label$26 : { + if (!(HEAP32[($8_1 + 96 | 0) >> 2] | 0)) { + break label$26 + } + $2483(HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($8_1 + 104 | 0) >> 2] | 0) >> 2] = 0; + } + HEAP32[($8_1 + 124 | 0) >> 2] = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + } + $273_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + global$0 = $8_1 + 128 | 0; + return $273_1 | 0; + } + + function $2470($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $11_1 = 0, i64toi32_i32$0 = 0, $23_1 = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + $11_1 = $2468($6_1 + 12 | 0 | 0, 88 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $11_1; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = $11_1; + label$1 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = 64; + HEAP32[$6_1 >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $23_1 = $2481($6_1 + 12 | 0 | 0, 51610 | 0, $6_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = $23_1; + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2484(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 51618 | 0, 51623 | 0, 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2484(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 14134 | 0, 51658 | 0, 1 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2485(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + } + label$5 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$5 + } + $2486(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + } + $54_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $54_1 | 0; + } + + function $2471($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $8_1 = 0, $16_1 = 0, $129$hi = 0, $130$hi = 0, $131$hi = 0, $132$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $39_1 = 0, $23_1 = 0, $74_1 = 0, $77_1 = 0, $83_1 = 0, $123_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $8_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 3 | 0) + 72 | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $16_1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $16_1; + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = $16_1; + label$1 : { + label$2 : { + if ((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) != ($8_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $3289(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 72 | 0; + HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + label$3 : { + if (!(HEAP32[($7_1 + 48 | 0) >> 2] | 0)) { + break label$3 + } + label$4 : { + if (HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) { + break label$4 + } + $39_1 = 0; + HEAP32[($7_1 + 20 | 0) >> 2] = Math_imul(HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 10) + 32 | 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $129$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $130$hi = i64toi32_i32$0; + i64toi32_i32$0 = $129$hi; + i64toi32_i32$0 = $130$hi; + i64toi32_i32$0 = $129$hi; + $23_1 = i64toi32_i32$1; + i64toi32_i32$1 = $130$hi; + i64toi32_i32$1 = __wasm_i64_mul($23_1 | 0, i64toi32_i32$0 | 0, 10 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $131$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $132$hi = i64toi32_i32$0; + i64toi32_i32$0 = $131$hi; + i64toi32_i32$0 = $132$hi; + i64toi32_i32$0 = $131$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $132$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $41(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == ($39_1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 36 | 0) >> 2] = 7; + break label$5; + } + $81(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, 51842 | 0, 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3303(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $74_1 = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) - (HEAP32[($7_1 + 8 | 0) >> 2] | 0) | 0; + $77_1 = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + (HEAP32[($7_1 + 8 | 0) >> 2] | 0) | 0; + HEAP32[$7_1 >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $81($74_1 | 0, $77_1 | 0, 51865 | 0, $7_1 | 0) | 0; + $83_1 = $3303((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + (HEAP32[($7_1 + 8 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + $83_1 | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2484(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, 48407 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + } + label$9 : { + if (HEAP32[($7_1 + 36 | 0) >> 2] | 0) { + break label$9 + } + if (!(HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$9 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2484(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, 50539 | 0, 51871 | 0, 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + if (HEAP32[($7_1 + 36 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2484(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, 51903 | 0, 51910 | 0, 1 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + if (HEAP32[($7_1 + 36 | 0) >> 2] | 0) { + break label$11 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2487(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, 51927 | 0, 0 | 0, 4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + } + label$12 : { + if (!(HEAP32[($7_1 + 36 | 0) >> 2] | 0)) { + break label$12 + } + $2488(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = 0; + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + } + $123_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $123_1 | 0; + } + + function $2472($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $19_1 = 0, $33_1 = 0, $34_1 = 0, $49_1 = 0, $51_1 = 0, $71_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 36 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2481($3_1 + 36 | 0 | 0, 52380 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 40 | 0) >> 2] = 0; + label$1 : while (1) { + $19_1 = 0; + label$2 : { + if (!((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = (HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($19_1 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 40 | 0) >> 2] | 0 ? 31008 : 1352; + $33_1 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + $34_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $34_1; + HEAP32[$3_1 >> 2] = $33_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2481($3_1 + 36 | 0 | 0, 52396 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 40 | 0) >> 2] = (HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $49_1 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + $51_1 = HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = 50840; + HEAP32[($3_1 + 20 | 0) >> 2] = $51_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $49_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2481($3_1 + 36 | 0 | 0, 52403 | 0, $3_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $414(HEAP32[(HEAP32[($3_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + } + $71_1 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $71_1 | 0; + } + + function $2473($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2489(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $2490(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $8_1 = $2491(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $2474($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2492(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $2493(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $2494(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2475($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = 0; + label$1 : { + if (HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $3288(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0) >> 0] = 0; + break label$3; + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = 7; + } + } + $38_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $38_1 | 0; + } + + function $2476($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $7_1 = 0, $67$hi = 0, $68$hi = 0, $70$hi = 0, $71$hi = 0, $27_1 = 0, $22_1 = 0, $23_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3303(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $67$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $68$hi = i64toi32_i32$1; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $41(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $7_1; + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] = 7; + break label$1; + } + $22_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $23_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $70$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $71$hi = i64toi32_i32$2; + i64toi32_i32$2 = $70$hi; + i64toi32_i32$2 = $71$hi; + i64toi32_i32$2 = $70$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $71$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $3288($22_1 | 0, $23_1 | 0, i64toi32_i32$0 | 0) | 0; + $27_1 = 24; + label$3 : { + label$4 : { + if (!($2495(((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $27_1 | 0) >> $27_1 | 0 | 0) | 0)) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2496(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = 1; + break label$3; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2497(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) - (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) | 0) >> 0] = 0; + } + } + } + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + $42(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + break label$6; + } + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + } + $63_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $63_1 | 0; + } + + function $2477($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0, $21_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : while (1) { + $14_1 = 24; + if (!($2498(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $14_1 | 0) >> $14_1 | 0 | 0) | 0)) { + break label$2 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + $21_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $21_1 | 0; + } + + function $2478($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $448_1 = 0, $134_1 = 0, $37_1 = 0, $52_1 = 0, $66_1 = 0, $79_1 = 0, $85_1 = 0, $96_1 = 0, $126_1 = 0, $139_1 = 0, $160_1 = 0, $197_1 = 0, $209_1 = 0, $479$hi = 0, $480$hi = 0, $60_1 = 0, $482$hi = 0, $483$hi = 0, $61_1 = 0, $253_1 = 0, $257_1 = 0, $271_1 = 0, $487$hi = 0, $488$hi = 0, $400_1 = 0, $411_1 = 0, $421_1 = 0, $432_1 = 0, $460_1 = 0, $28_1 = 0, $106_1 = 0, $119_1 = 0, $185_1 = 0, $206_1 = 0, $242_1 = 0, $320_1 = 0, $340_1 = 0, $356_1 = 0, $363_1 = 0, $382_1 = 0, $390_1 = 0, $426_1 = 0, $1433_1 = 0, $1440_1 = 0, $1447_1 = 0, $1451_1 = 0, $463_1 = 0, $466_1 = 0, $471_1 = 0, $474_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 160 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 152 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 148 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 144 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 140 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 136 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 132 | 0) >> 2] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3303(HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ($89(48374 | 0, HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 124; + HEAP32[($7_1 + 116 | 0) >> 2] = 1; + label$3 : { + if (!((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + $28_1 = $2468($7_1 + 132 | 0 | 0, 124 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 28 | 0) >> 2] = $28_1; + label$4 : { + if (!(HEAP32[($7_1 + 132 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($7_1 + 156 | 0) >> 2] = HEAP32[($7_1 + 132 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($7_1 + 120 | 0) >> 2] = HEAP32[($7_1 + 140 | 0) >> 2] | 0; + label$5 : while (1) { + HEAP32[($7_1 + 112 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + $37_1 = 24; + if (!((((HEAPU8[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $37_1 | 0) >> $37_1 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 120 | 0) >> 2] = (HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + label$8 : { + label$9 : { + label$10 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$10 + } + $52_1 = 24; + if (!((((HEAPU8[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $52_1 | 0) >> $52_1 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 120 | 0) >> 2] = (HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 1 | 0; + label$11 : { + label$12 : while (1) { + $66_1 = 24; + if (!((((HEAPU8[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $66_1 | 0) >> $66_1 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($7_1 + 120 | 0) >> 2] = (HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + break label$9; + } + $79_1 = 24; + label$13 : { + if (((HEAPU8[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $79_1 | 0) >> $79_1 | 0) { + break label$13 + } + break label$8; + } + } + $85_1 = 24; + label$14 : { + label$15 : { + if ((((HEAPU8[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $85_1 | 0) >> $85_1 | 0 | 0) < (48 | 0) & 1 | 0) { + break label$15 + } + $96_1 = 24; + if (!((((HEAPU8[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $96_1 | 0) >> $96_1 | 0 | 0) > (57 | 0) & 1 | 0)) { + break label$14 + } + } + $106_1 = $79(51040 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $106_1; + HEAP32[($7_1 + 132 | 0) >> 2] = 1; + break label$8; + } + label$16 : { + if (!((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (31 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[$7_1 >> 2] = 31; + $119_1 = $79(51071 | 0, $7_1 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $119_1; + HEAP32[($7_1 + 132 | 0) >> 2] = 1; + break label$8; + } + label$17 : while (1) { + $126_1 = 24; + $134_1 = 0; + label$18 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $126_1 | 0) >> $126_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$18 + } + $139_1 = 24; + $134_1 = 0; + if (!((((HEAPU8[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $139_1 | 0) >> $139_1 | 0 | 0) <= (57 | 0) & 1 | 0)) { + break label$18 + } + $134_1 = (HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) < (1e3 | 0); + } + label$19 : { + if (!($134_1 & 1 | 0)) { + break label$19 + } + $160_1 = 24; + HEAP32[($7_1 + 112 | 0) >> 2] = Math_imul(HEAP32[($7_1 + 112 | 0) >> 2] | 0, 10) + ((((HEAPU8[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $160_1 | 0) >> $160_1 | 0) - 48 | 0) | 0; + HEAP32[($7_1 + 120 | 0) >> 2] = (HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + } + break label$17; + }; + label$20 : { + label$21 : { + if ((HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0) { + break label$21 + } + if (!((HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) >= (1e3 | 0) & 1 | 0)) { + break label$20 + } + } + $185_1 = $79(51104 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $185_1; + HEAP32[($7_1 + 132 | 0) >> 2] = 1; + break label$8; + } + HEAP32[((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 112 | 0) >> 2] | 0; + $197_1 = HEAP32[($7_1 + 148 | 0) >> 2] | 0; + HEAP32[($197_1 + 24 | 0) >> 2] = (HEAP32[($197_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 116 | 0) >> 2] = 0; + continue label$5; + } + break label$5; + }; + HEAP32[($7_1 + 156 | 0) >> 2] = HEAP32[($7_1 + 132 | 0) >> 2] | 0; + break label$1; + } + label$22 : { + if ($89(48365 | 0, HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0) | 0) { + break label$22 + } + $206_1 = 0; + $209_1 = $7_1 + 132 | 0; + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 140 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($3303(HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 100 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 100 | 0) >> 2] | 0; + $479$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $480$hi = i64toi32_i32$1; + i64toi32_i32$1 = $479$hi; + i64toi32_i32$1 = $480$hi; + i64toi32_i32$1 = $479$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $480$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $60_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $60_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2468($209_1 | 0, $60_1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 100 | 0) >> 2] | 0; + $482$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $483$hi = i64toi32_i32$2; + i64toi32_i32$2 = $482$hi; + i64toi32_i32$2 = $483$hi; + i64toi32_i32$2 = $482$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $483$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $61_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $61_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2468($209_1 | 0, $61_1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + label$23 : { + if (!((HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) != ($206_1 | 0) & 1 | 0)) { + break label$23 + } + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + label$24 : { + label$25 : { + if (!((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + $242_1 = $79(51141 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $242_1; + HEAP32[($7_1 + 132 | 0) >> 2] = 1; + break label$24; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 96 | 0) >> 2] = 0; + HEAP32[($7_1 + 100 | 0) >> 2] = i64toi32_i32$0; + label$26 : while (1) { + $253_1 = 0; + label$27 : { + if (!((HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$27 + } + $257_1 = 24; + $253_1 = (((HEAPU8[(HEAP32[($7_1 + 108 | 0) >> 2] | 0) >> 0] | 0) << $257_1 | 0) >> $257_1 | 0 | 0) != (0 | 0); + } + label$28 : { + if (!($253_1 & 1 | 0)) { + break label$28 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2477(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + $271_1 = 24; + label$29 : { + label$30 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 80 | 0) >> 2] | 0) >> 0] | 0) << $271_1 | 0) >> $271_1 | 0 | 0) == (39 | 0) & 1 | 0)) { + break label$30 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2499(HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$29; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2497(HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + } + label$31 : { + if (!((HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$31 + } + $3288(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 108 | 0) >> 2] | 0) - (HEAP32[($7_1 + 80 | 0) >> 2] | 0) | 0 | 0) | 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 100 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + (i64toi32_i32$0 << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + $2500(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 84 | 0) >> 2] = (HEAP32[($7_1 + 84 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 108 | 0) >> 2] | 0) - (HEAP32[($7_1 + 80 | 0) >> 2] | 0) | 0) + 1 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2477(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 100 | 0) >> 2] | 0; + $487$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $488$hi = i64toi32_i32$0; + i64toi32_i32$0 = $487$hi; + i64toi32_i32$0 = $488$hi; + i64toi32_i32$0 = $487$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $488$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $7_1; + HEAP32[($7_1 + 96 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($7_1 + 100 | 0) >> 2] = i64toi32_i32$5; + continue label$26; + } + break label$26; + }; + label$32 : { + label$33 : { + if (!((HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$33 + } + $320_1 = $79(51174 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $320_1; + HEAP32[($7_1 + 132 | 0) >> 2] = 1; + break label$32; + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 100 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2501(HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + } + } + } + $42(HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0); + $42(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 156 | 0) >> 2] = HEAP32[($7_1 + 132 | 0) >> 2] | 0; + break label$1; + } + label$34 : { + if ($89(48407 | 0, HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0) | 0) { + break label$34 + } + label$35 : { + label$36 : { + if (!(HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0)) { + break label$36 + } + $340_1 = $79(51208 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $340_1; + HEAP32[($7_1 + 132 | 0) >> 2] = 1; + break label$35; + } + label$37 : { + label$38 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 140 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$38 + } + HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] = 2; + $356_1 = HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($7_1 + 140 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $356_1; + $363_1 = $2481($7_1 + 132 | 0 | 0, 51240 | 0, $7_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 36 | 0) >> 2] = $363_1; + break label$37; + } + HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + } + } + HEAP32[($7_1 + 156 | 0) >> 2] = HEAP32[($7_1 + 132 | 0) >> 2] | 0; + break label$1; + } + label$39 : { + if ($89(51246 | 0, HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0) | 0) { + break label$39 + } + label$40 : { + label$41 : { + if (!((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$41 + } + $382_1 = $79(51260 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $382_1; + HEAP32[($7_1 + 132 | 0) >> 2] = 1; + break label$40; + } + $390_1 = $2475($7_1 + 132 | 0 | 0, HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 40 | 0) >> 2] = $390_1; + } + HEAP32[($7_1 + 156 | 0) >> 2] = HEAP32[($7_1 + 132 | 0) >> 2] | 0; + break label$1; + } + label$42 : { + if ($89(51298 | 0, HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0) | 0) { + break label$42 + } + $400_1 = 24; + label$43 : { + label$44 : { + label$45 : { + label$46 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 140 | 0) >> 2] | 0) >> 0] | 0) << $400_1 | 0) >> $400_1 | 0 | 0) != (48 | 0) & 1 | 0)) { + break label$46 + } + $411_1 = 24; + if ((((HEAPU8[(HEAP32[($7_1 + 140 | 0) >> 2] | 0) >> 0] | 0) << $411_1 | 0) >> $411_1 | 0 | 0) != (49 | 0) & 1 | 0) { + break label$45 + } + } + $421_1 = 24; + if (!(((HEAPU8[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $421_1 | 0) >> $421_1 | 0)) { + break label$44 + } + } + $426_1 = $79(51309 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $426_1; + HEAP32[($7_1 + 132 | 0) >> 2] = 1; + break label$43; + } + $432_1 = 24; + HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 44 | 0) >> 2] = (((HEAPU8[(HEAP32[($7_1 + 140 | 0) >> 2] | 0) >> 0] | 0) << $432_1 | 0) >> $432_1 | 0 | 0) == (49 | 0) & 1 | 0; + } + HEAP32[($7_1 + 156 | 0) >> 2] = HEAP32[($7_1 + 132 | 0) >> 2] | 0; + break label$1; + } + label$47 : { + if ($89(11541 | 0, HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0) | 0) { + break label$47 + } + $448_1 = $7_1 + 48 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 51384 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 51388 | 0) >> 2] | 0; + $1433_1 = i64toi32_i32$2; + i64toi32_i32$2 = $448_1 + 24 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $1433_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 51376 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 51380 | 0) >> 2] | 0; + $1440_1 = i64toi32_i32$5; + i64toi32_i32$5 = $448_1 + 16 | 0; + HEAP32[i64toi32_i32$5 >> 2] = $1440_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 51368 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 51372 | 0) >> 2] | 0; + $1447_1 = i64toi32_i32$2; + i64toi32_i32$2 = $448_1 + 8 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $1447_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 51360 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 51364 | 0) >> 2] | 0; + $1451_1 = i64toi32_i32$5; + i64toi32_i32$5 = $448_1; + HEAP32[i64toi32_i32$5 >> 2] = $1451_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + $460_1 = $2502(i64toi32_i32$5 | 0, HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 48 | 0 | 0) | 0; + HEAP32[($7_1 + 132 | 0) >> 2] = $460_1; + label$48 : { + if (!$460_1) { + break label$48 + } + $463_1 = $79(51392 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $463_1; + } + HEAP32[($7_1 + 156 | 0) >> 2] = HEAP32[($7_1 + 132 | 0) >> 2] | 0; + break label$1; + } + $466_1 = HEAP32[($7_1 + 128 | 0) >> 2] | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[($7_1 + 144 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $466_1; + $471_1 = $79(51423 | 0, $7_1 + 32 | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $471_1; + HEAP32[($7_1 + 156 | 0) >> 2] = 1; + } + $474_1 = HEAP32[($7_1 + 156 | 0) >> 2] | 0; + global$0 = $7_1 + 160 | 0; + return $474_1 | 0; + } + + function $2479($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $62_1 = 0, $63_1 = 0, $27_1 = 0, $56_1 = 0, $59_1 = 0, $61_1 = 0, $69_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + label$3 : { + if (($7_1 | 0) == ($87(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, 50840 | 0) | 0 | 0) & 1 | 0) { + break label$3 + } + if (!((0 | 0) == ($87(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, 14175 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + $27_1 = $79(51519 | 0, $6_1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $27_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!((0 | 0) == ($87(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 51549 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) >> 0] = 1; + break label$5; + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $56_1 = $79(51559 | 0, $6_1 + 16 | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $56_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + } + } + } + $59_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + $61_1 = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $62_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $63_1 = HEAP32[($62_1 + 12 | 0) >> 2] | 0; + HEAP32[($62_1 + 12 | 0) >> 2] = $63_1 + 1 | 0; + HEAP32[($61_1 + ($63_1 << 2 | 0) | 0) >> 2] = $59_1; + $69_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $69_1 | 0; + } + + function $2480($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $2501(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $5_1 | 0, $5_1 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $2481($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[$5_1 >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $78(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = 7; + } + } + $22_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $22_1 | 0; + } + + function $2482($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, i64toi32_i32$0 = 0, $70_1 = 0; + $3_1 = global$0 - 64 | 0; + global$0 = $3_1; + $6_1 = $3_1 + 40 | 0; + HEAP32[($3_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 52 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + HEAP32[$6_1 >> 2] = 0; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $2503($3_1 + 52 | 0 | 0, $3_1 + 40 | 0 | 0, 51590 | 0, $3_1 + 32 | 0 | 0); + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 56 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $2503($3_1 + 52 | 0 | 0, $3_1 + 40 | 0 | 0, 51595 | 0, $3_1 | 0); + break label$4; + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + $2503($3_1 + 52 | 0 | 0, $3_1 + 40 | 0 | 0, 51602 | 0, $3_1 + 16 | 0 | 0); + } + HEAP32[($3_1 + 56 | 0) >> 2] = (HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + $70_1 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + global$0 = $3_1 + 64 | 0; + return $70_1 | 0; + } + + function $2483($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0); + } + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $42(HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2484($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $12_1 = 0, $14_1 = 0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $37_1 = 0, $38_1 = 0, $41_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + $12_1 = HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + $14_1 = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $16_1 = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $17_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + $18_1 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0 ? 51732 : 1352; + HEAP32[($7_1 + 28 | 0) >> 2] = $18_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $17_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $16_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $14_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2512($12_1 | 0, $7_1 + 36 | 0 | 0, 51702 | 0, $7_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $37_1 = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $38_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = $38_1; + HEAP32[$7_1 >> 2] = $37_1; + $41_1 = $79(51747 | 0, $7_1 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = $41_1; + $42(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + } + $44_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $44_1 | 0; + } + + function $2485($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $24_1 = 0, $23$hi = 0, $20_1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + $23$hi = i64toi32_i32$0; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + $2494(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + $2493(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = 0; + $24_1 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[$3_1 >> 2] = $24_1; + HEAP32[($3_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $3_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $24_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $3_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $24_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $3_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $24_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $3_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $24_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $23$hi; + $2513(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, 1352 | 0, 0 | 0); + $2514(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, $3_1 | 0); + $20_1 = $2491(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 48 | 0; + return $20_1 | 0; + } + + function $2486($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $29_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + $2494(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) | 0; + $2515(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + $29_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $29_1 | 0; + } + + function $2487($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $11_1 = 0, $15_1 = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $11_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $11_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2523(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 9 | 0, $6_1 + 12 | 0 | 0, $11_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + $15_1 = 0; + $333(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, -1 | 0, $15_1 | 0) | 0; + label$2 : { + label$3 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != ($15_1 | 0) & 1 | 0)) { + break label$3 + } + $334(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + break label$2; + } + $330(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + $287(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $222(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $332(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + label$4 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2524(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + } + } + $58_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $58_1 | 0; + } + + function $2488($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $31_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (11 | 0) & 1 | 0)) { + break label$2 + } + $213(HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + $31_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $31_1 | 0; + } + + function $2489($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $58_1 = 0, $17_1 = 0, $26_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = $2525(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $58_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] = $58_1; + HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] = i64toi32_i32$1; + label$2 : { + if (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $17_1 = $2526(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] = $17_1; + } + } + label$3 : { + label$4 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$3; + } + $2527(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + } + $26_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $26_1 | 0; + } + + function $2490($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $12_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $15_1 = (HEAP32[$12_1 >> 2] | 0) + -1 | 0; + HEAP32[$12_1 >> 2] = $15_1; + if (!((0 | 0) >= ($15_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $42(HEAP32[((((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2491($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = 0; + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $2492($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + $383(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2493($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $2516(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2494($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $2490(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] = 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2495($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0, $7_1 = 0, $19_1 = 0, $30_1 = 0, $40_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP8[($3_1 + 15 | 0) >> 0] = $0_1; + $7_1 = 24; + $15_1 = 1; + label$1 : { + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0 | 0) == (34 | 0) & 1 | 0) { + break label$1 + } + $19_1 = 24; + $15_1 = 1; + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) == (39 | 0) & 1 | 0) { + break label$1 + } + $30_1 = 24; + $15_1 = 1; + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) == (91 | 0) & 1 | 0) { + break label$1 + } + $40_1 = 24; + $15_1 = (((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) == (96 | 0); + } + return $15_1 & 1 | 0 | 0; + } + + function $2496($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, $35_1 = 0, $39_1 = 0, $53_1 = 0, $57_1 = 0, $73_1 = 0, $78_1 = 0, $84_1 = 0, $71_1 = 0, $72_1 = 0, $77_1 = 0, $82_1 = 0, $83_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 1; + HEAP32[$3_1 >> 2] = 0; + HEAP8[($3_1 + 11 | 0) >> 0] = HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0; + $10_1 = 24; + label$1 : { + if (!((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) == (91 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[($3_1 + 11 | 0) >> 0] = 93; + } + label$2 : { + label$3 : while (1) { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $35_1 = 24; + $39_1 = 24; + label$4 : { + label$5 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $35_1 | 0) >> $35_1 | 0 | 0) == (((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0 | 0) & 1 | 0)) { + break label$5 + } + $53_1 = 24; + $57_1 = 24; + label$6 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $53_1 | 0) >> $53_1 | 0 | 0) != (((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $57_1 | 0) >> $57_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$2; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 2 | 0; + $71_1 = HEAPU8[($3_1 + 11 | 0) >> 0] | 0; + $72_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $73_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[$3_1 >> 2] = $73_1 + 1 | 0; + HEAP8[($72_1 + $73_1 | 0) >> 0] = $71_1; + break label$4; + } + $77_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $78_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $78_1 + 1 | 0; + $82_1 = HEAPU8[($77_1 + $78_1 | 0) >> 0] | 0; + $83_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $84_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[$3_1 >> 2] = $84_1 + 1 | 0; + HEAP8[($83_1 + $84_1 | 0) >> 0] = $82_1; + } + continue label$3; + }; + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[$3_1 >> 2] | 0) | 0) >> 0] = 0; + return HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $2497($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $22_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + $7_1 = 24; + if (!($2504(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0 | 0) | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$3 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + } + $22_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $22_1 | 0; + } + + function $2498($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP8[($3_1 + 15 | 0) >> 0] = $0_1; + $6_1 = 24; + return (((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $6_1 | 0) >> $6_1 | 0 | 0) == (32 | 0) & 1 | 0 | 0; + } + + function $2499($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, $65_1 = 0, $31_1 = 0, $45_1 = 0, $57_1 = 0, $69_1 = 0, $81_1 = 0, $93_1 = 0, $101_1 = 0, $105_1 = 0, $121_1 = 0, $158_1 = 0, $172_1 = 0, $185_1 = 0, $192_1 = 0, $203_1 = 0, $216_1 = 0, $226_1 = 0, $236_1 = 0, $245_1 = 0, $260_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $6_1 = HEAP8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0; + label$1 : { + label$2 : { + label$3 : { + if (($6_1 | 0) == (39 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (($6_1 | 0) == (78 | 0)) { + break label$5 + } + if (($6_1 | 0) == (88 | 0)) { + break label$4 + } + if (($6_1 | 0) == (110 | 0)) { + break label$5 + } + if (($6_1 | 0) == (120 | 0)) { + break label$4 + } + break label$2; + } + label$6 : { + label$7 : { + if ($89(11577 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 4 | 0) | 0) { + break label$7 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0; + break label$6; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + } + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + $31_1 = 24; + label$8 : { + label$9 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $31_1 | 0) >> $31_1 | 0 | 0) == (39 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + label$10 : while (1) { + $45_1 = 24; + label$11 : { + label$12 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $45_1 | 0) >> $45_1 | 0 | 0) >= (97 | 0) & 1 | 0)) { + break label$12 + } + $57_1 = 24; + $65_1 = 1; + if ((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $57_1 | 0) >> $57_1 | 0 | 0) <= (102 | 0) & 1 | 0) { + break label$11 + } + } + $69_1 = 24; + label$13 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $69_1 | 0) >> $69_1 | 0 | 0) >= (65 | 0) & 1 | 0)) { + break label$13 + } + $81_1 = 24; + $65_1 = 1; + if ((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $81_1 | 0) >> $81_1 | 0 | 0) <= (70 | 0) & 1 | 0) { + break label$11 + } + } + $93_1 = 24; + $101_1 = 0; + label$14 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $93_1 | 0) >> $93_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$14 + } + $105_1 = 24; + $101_1 = (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $105_1 | 0) >> $105_1 | 0 | 0) <= (57 | 0); + } + $65_1 = $101_1; + } + label$15 : { + if (!($65_1 & 1 | 0)) { + break label$15 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + } + break label$10; + }; + $121_1 = 24; + label$16 : { + label$17 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $121_1 | 0) >> $121_1 | 0 | 0) == (39 | 0) & 1 | 0)) { + break label$17 + } + if (!((0 | 0) == (((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0 | 0) % (2 | 0) | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + break label$16; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + } + break label$8; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + } + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + $158_1 = 24; + label$20 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $158_1 | 0) >> $158_1 | 0 | 0) == (39 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + $172_1 = 24; + label$21 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $172_1 | 0) >> $172_1 | 0 | 0) != (39 | 0) & 1 | 0)) { + break label$21 + } + break label$18; + } + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + $185_1 = 24; + label$22 : { + if (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $185_1 | 0) >> $185_1 | 0) { + break label$22 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + } + continue label$19; + }; + } + break label$1; + } + $192_1 = 24; + label$23 : { + label$24 : { + if ((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $192_1 | 0) >> $192_1 | 0 | 0) == (43 | 0) & 1 | 0) { + break label$24 + } + $203_1 = 24; + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $203_1 | 0) >> $203_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$23 + } + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + label$25 : { + label$26 : while (1) { + $216_1 = 24; + if (!($2505(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $216_1 | 0) >> $216_1 | 0 | 0) | 0)) { + break label$25 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$26; + }; + } + $226_1 = 24; + label$27 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $226_1 | 0) >> $226_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$27 + } + $236_1 = 24; + if (!($2505(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $236_1 | 0) >> $236_1 | 0 | 0) | 0)) { + break label$27 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 2 | 0; + label$28 : { + label$29 : while (1) { + $245_1 = 24; + if (!($2505(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $245_1 | 0) >> $245_1 | 0 | 0) | 0)) { + break label$28 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$29; + }; + } + } + label$30 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + } + } + $260_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $260_1 | 0; + } + + function $2500($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0, $18_1 = 0, $28_1 = 0, $38_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($3_1 + 11 | 0) >> 0] = HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0; + $8_1 = 24; + label$1 : { + label$2 : { + if ((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) == (91 | 0) & 1 | 0) { + break label$2 + } + $18_1 = 24; + if ((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) == (39 | 0) & 1 | 0) { + break label$2 + } + $28_1 = 24; + if ((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0 | 0) == (34 | 0) & 1 | 0) { + break label$2 + } + $38_1 = 24; + if (!((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $38_1 | 0) >> $38_1 | 0 | 0) == (96 | 0) & 1 | 0)) { + break label$1 + } + } + $2496(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2501($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $12_1 = 0, $41_1 = 0, $71_1 = 0, $9_1 = 0, $28_1 = 0, $31_1 = 0, $33_1 = 0, $36_1 = 0, $62_1 = 0, $68_1 = 0, $74_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 4 | 0) >> 2] = 0; + $9_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + $12_1 = 0; + break label$1; + } + $12_1 = HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2465($9_1 | 0, $12_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 4 | 0) >> 2] = 1; + HEAP32[$7_1 >> 2] = HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + $28_1 = $79(51451 | 0, $7_1 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = $28_1; + break label$3; + } + $31_1 = HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $33_1 = HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $36_1 = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0; + label$5 : { + label$6 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + $41_1 = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) - 1 | 0; + break label$5; + } + $41_1 = 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[$31_1 | 0]($33_1, $36_1, $41_1, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 56 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 60 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 8 | 0; + label$7 : { + label$8 : { + if (!(HEAP32[($7_1 + 4 | 0) >> 2] | 0)) { + break label$8 + } + label$9 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $62_1 = $79(51473 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = $62_1; + } + break label$7; + } + $68_1 = $2506(HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 68 | 0) >> 2] = $68_1; + } + } + label$10 : { + if (!(HEAP32[($7_1 + 4 | 0) >> 2] | 0)) { + break label$10 + } + $71_1 = 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 60 | 0) >> 2] = $71_1; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] = $71_1; + } + $74_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $74_1 | 0; + } + + function $2502($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $49_1 = 0, $59_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 4 | 0) >> 2] = -1; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if ($89(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + label$5 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $49_1 = 0; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < ($49_1 | 0) & 1 | 0 ? 1 : $49_1; + } + $59_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $59_1 | 0; + } + + function $2503($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $78(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 7; + break label$2; + } + $2509(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + $42(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2504($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0, $14_1 = 0, $18_1 = 0; + $3_1 = global$0 - 144 | 0; + global$0 = $3_1; + HEAP8[($3_1 + 143 | 0) >> 0] = $0_1; + $3288($3_1 | 0, 50912 | 0, 128 | 0) | 0; + $9_1 = 24; + $14_1 = 1; + label$1 : { + if ((((HEAPU8[($3_1 + 143 | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0) & 128 | 0) { + break label$1 + } + $18_1 = 24; + $14_1 = ((HEAPU8[($3_1 + (((HEAPU8[($3_1 + 143 | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + global$0 = $3_1 + 144 | 0; + return $14_1 & 1 | 0 | 0; + } + + function $2505($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $15_1 = 0, $18_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP8[($3_1 + 15 | 0) >> 0] = $0_1; + $7_1 = 24; + $15_1 = 0; + label$1 : { + if (!((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = 24; + $15_1 = (((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) <= (57 | 0); + } + return $15_1 & 1 | 0 | 0; + } + + function $2506($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (118 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 ? 65 : 66; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2507($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $22_1 = 0, $56_1 = 0, $67_1 = 0, $77_1 = 0, $84_1 = 0, $102_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 7; + break label$1; + } + HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] = 1; + HEAP32[($6_1 + 4 | 0) >> 2] = 0; + label$3 : while (1) { + $22_1 = 0; + label$4 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$4 + } + $22_1 = (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + label$5 : { + if (!($22_1 & 1 | 0)) { + break label$5 + } + HEAP32[$6_1 >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + label$6 : { + label$7 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 51504 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + $56_1 = 24; + label$8 : { + label$9 : { + label$10 : { + label$11 : { + if (!((((HEAPU8[(HEAP32[$6_1 >> 2] | 0) >> 0] | 0) << $56_1 | 0) >> $56_1 | 0 | 0) != (48 | 0) & 1 | 0)) { + break label$11 + } + $67_1 = 24; + if ((((HEAPU8[(HEAP32[$6_1 >> 2] | 0) >> 0] | 0) << $67_1 | 0) >> $67_1 | 0 | 0) != (49 | 0) & 1 | 0) { + break label$10 + } + } + $77_1 = 24; + if (!(((HEAPU8[((HEAP32[$6_1 >> 2] | 0) + 1 | 0) >> 0] | 0) << $77_1 | 0) >> $77_1 | 0)) { + break label$9 + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + break label$8; + } + $84_1 = 24; + HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] = (((HEAPU8[(HEAP32[$6_1 >> 2] | 0) >> 0] | 0) << $84_1 | 0) >> $84_1 | 0 | 0) == (48 | 0) & 1 | 0; + } + break label$6; + } + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 2 | 0; + continue label$3; + } + break label$3; + }; + label$12 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$12 + } + $2508(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + } + } + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + $102_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $102_1 | 0; + } + + function $2508($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2509($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $14_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $2510(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[$5_1 >> 2] | 0) + 1 | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + $14_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($14_1 + 4 | 0) >> 2] = (HEAP32[($14_1 + 4 | 0) >> 2] | 0) + -1 | 0; + global$0 = $5_1 + 16 | 0; + return; + } + + function $2510($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $37_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + label$1 : { + if (!(HEAP32[($6_1 + 4 | 0) >> 2] | 0)) { + break label$1 + } + label$2 : { + label$3 : { + label$4 : { + if (!(((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0) >>> 0 <= (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + if (0 & 1 | 0) { + break label$3 + } + break label$2; + } + if (!($2511(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0) | 0)) { + break label$2 + } + } + break label$1; + } + $3288((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $37_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($37_1 + 4 | 0) >> 2] = (HEAP32[($37_1 + 4 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0; + } + global$0 = $6_1 + 16 | 0; + return; + } + + function $2511($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $18_1 = 0, $49$hi = 0, $50$hi = 0, $53$hi = 0, $54$hi = 0, $15_1 = 0, $45_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$4 + } + $18_1 = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$3; + } + $18_1 = 64; + } + i64toi32_i32$1 = $18_1; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $18_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$5 : { + label$6 : while (1) { + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $49$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $50$hi = i64toi32_i32$1; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + if (!((i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $53$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $54$hi = i64toi32_i32$1; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $54$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + $15_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $15_1 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + } + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $15_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$2; + continue label$6; + }; + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $49(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = 7; + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = i64toi32_i32$3; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $45_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $45_1 | 0; + } + + function $2512($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $21_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $78(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 7; + break label$1; + } + $21_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $400(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, $21_1 | 0, $21_1 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + $29_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $29_1 | 0; + } + + function $2513($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $31_1 = 0, $19_1 = 0, $22_1 = 0, $24_1 = 0, $44_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + $19_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $22_1 = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 44 | 0; + $24_1 = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $24_1; + $2517($19_1 | 0, $22_1 | 0, $79(51791 | 0, $6_1 | 0) | 0 | 0) | 0; + label$4 : { + if (!(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$4 + } + break label$1; + } + } + $31_1 = 2; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $325(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, $31_1 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $287(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + $44_1 = $222(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] = $44_1; + $332(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, $31_1 | 0) | 0; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2514($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $108_1 = 0, i64toi32_i32$2 = 0, $78_1 = 0, $47_1 = 0, $56_1 = 0, $63_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + } + label$3 : { + if (!((0 | 0) == ($2511((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, $4_1 + 24 | 0 | 0, 31 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $2518(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 4; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $47_1 = $2519((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + $47_1 | 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $56_1 = $2519((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + $56_1 | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $63_1 = $2519((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + $63_1 | 0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $78_1 = $4_1 + 24 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 12) | 0; + i64toi32_i32$0 = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $2520((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, $78_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $2520((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, $78_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $108_1 = $4_1 + 24 | 0; + i64toi32_i32$0 = HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 12) | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $2520((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, $108_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$0 = HEAP32[(((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $2520((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, $108_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$0 = HEAP32[(((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $2520((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, $108_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + i64toi32_i32$1 = 0; + $2513(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 10 | 0, i64toi32_i32$1 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + $2521($4_1 + 24 | 0 | 0); + } + global$0 = $4_1 + 48 | 0; + return; + } + + function $2515($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $2516(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2516($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] | 0; + $42(HEAP32[$3_1 >> 2] | 0 | 0); + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + continue label$4; + }; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $3289(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2517($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $23_1 = 0, $29_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $23_1 = $408(HEAP32[(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, -1 | 0, 5 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = $23_1; + break label$2; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = 7; + } + } + $42(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + $29_1 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $29_1 | 0; + } + + function $2518($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 24 | 0) & 255 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 16 | 0) & 255 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 8 | 0) & 255 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0 | 0) & 255 | 0; + return; + } + + function $2519($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4_1 = 0, i64toi32_i32$4 = 0, $24$hi = 0, $31$hi = 0, $26$hi = 0, $28$hi = 0, $29$hi = 0, $33$hi = 0, $35$hi = 0, $36$hi = 0, $25_1 = 0, $37$hi = 0, $38$hi = 0, $39$hi = 0, $40$hi = 0, $42$hi = 0, $43$hi = 0, $14_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $24$hi = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[i64toi32_i32$1 >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$3 = 127; + label$1 : { + label$2 : { + if (!((i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $29$hi = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $29$hi; + i64toi32_i32$0 = 127; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + HEAP8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] = i64toi32_i32$3 & i64toi32_i32$0 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$2 = 0; + $31$hi = i64toi32_i32$2; + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $33$hi = i64toi32_i32$3; + i64toi32_i32$3 = $31$hi; + i64toi32_i32$3 = $33$hi; + i64toi32_i32$3 = $31$hi; + i64toi32_i32$3 = $33$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$0 = 16383; + label$3 : { + if (!((i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + $14_1 = 2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $35$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $36$hi = i64toi32_i32$3; + i64toi32_i32$3 = $35$hi; + i64toi32_i32$3 = $36$hi; + i64toi32_i32$3 = $35$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$2 = 7; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $25_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + $25_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $37$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $38$hi = i64toi32_i32$1; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$3 = $25_1; + i64toi32_i32$0 = $38$hi; + i64toi32_i32$2 = 127; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $39$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $40$hi = i64toi32_i32$0; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$0 = $40$hi; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $40$hi; + i64toi32_i32$2 = 128; + i64toi32_i32$3 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + HEAP8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $42$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $43$hi = i64toi32_i32$1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $43$hi; + i64toi32_i32$2 = 127; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = i64toi32_i32$0 & i64toi32_i32$2 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $14_1; + break label$1; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = i64toi32_i32$1, wasm2js_i32$1 = $2522(HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $21_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $21_1 | 0; + } + + function $2520($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $33_1 = 0, $32_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (!(((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 9 | 0) >>> 0 <= (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + if (0 & 1 | 0) { + break label$3 + } + break label$2; + } + if (!($2511(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 9 | 0 | 0) | 0)) { + break label$2 + } + } + break label$1; + } + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $32_1 = $2519((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $33_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($33_1 + 4 | 0) >> 2] = (HEAP32[($33_1 + 4 | 0) >> 2] | 0) + $32_1 | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $2521($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, i64toi32_i32$0 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + $6_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + HEAP32[$6_1 >> 2] = 0; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2522($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $71$hi = 0, $97$hi = 0, $72$hi = 0, $73$hi = 0, $75$hi = 0, $78$hi = 0, $79$hi = 0, $32_1 = 0, $81$hi = 0, $82$hi = 0, $83$hi = 0, $84$hi = 0, $86$hi = 0, $87$hi = 0, $33_1 = 0, $89$hi = 0, $90$hi = 0, $91$hi = 0, $92$hi = 0, $31_1 = 0, $94$hi = 0, $95$hi = 0, $34_1 = 0, $99$hi = 0, $8_1 = 0; + $4_1 = global$0 - 48 | 0; + i64toi32_i32$0 = 0; + $71$hi = i64toi32_i32$0; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = -16777216; + $73$hi = i64toi32_i32$1; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $75$hi = i64toi32_i32$0; + i64toi32_i32$0 = $71$hi; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$0 = $71$hi; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $71$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$2 + } + $8_1 = 7; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 0] = i64toi32_i32$1; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $79$hi = i64toi32_i32$1; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $79$hi; + i64toi32_i32$2 = 8; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $32_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $32_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $32_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = $8_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $81$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $82$hi = i64toi32_i32$3; + i64toi32_i32$3 = $81$hi; + i64toi32_i32$3 = $82$hi; + i64toi32_i32$3 = $81$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $82$hi; + i64toi32_i32$2 = 127; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + $83$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $84$hi = i64toi32_i32$0; + i64toi32_i32$0 = $83$hi; + i64toi32_i32$0 = $84$hi; + i64toi32_i32$0 = $83$hi; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$2 = 128; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] = i64toi32_i32$3 | i64toi32_i32$2 | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $86$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $87$hi = i64toi32_i32$3; + i64toi32_i32$3 = $86$hi; + i64toi32_i32$3 = $87$hi; + i64toi32_i32$3 = $86$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$2 = 7; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $33_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + $33_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $33_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = (HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0) + -1 | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 44 | 0) >> 2] = 9; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$5 : while (1) { + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $89$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $90$hi = i64toi32_i32$0; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$0 = $90$hi; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $90$hi; + i64toi32_i32$2 = 127; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $91$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $92$hi = i64toi32_i32$1; + i64toi32_i32$1 = $91$hi; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$1 = $91$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $92$hi; + i64toi32_i32$2 = 128; + i64toi32_i32$3 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + $31_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $31_1 + 1 | 0; + HEAP8[(($4_1 + 10 | 0) + $31_1 | 0) >> 0] = i64toi32_i32$0 | i64toi32_i32$2 | 0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $94$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $95$hi = i64toi32_i32$0; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$0 = $95$hi; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $95$hi; + i64toi32_i32$2 = 7; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $34_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $34_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $97$hi = i64toi32_i32$3; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $99$hi = i64toi32_i32$1; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$1 = $99$hi; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$1 = $99$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $97$hi; + i64toi32_i32$2 = 0; + if (((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0) { + continue label$5 + } + break label$5; + }; + HEAP8[($4_1 + 10 | 0) >> 0] = ((HEAPU8[($4_1 + 10 | 0) >> 0] | 0) & 255 | 0) & 127 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[(($4_1 + 10 | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0; + } + + function $2523($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7_1 = 0, $21_1 = 0, $33_1 = 0, $195_1 = 0, $212_1 = 0, $304_1 = 0, $311_1 = 0, $318_1 = 0, $322_1 = 0, $326_1 = 0, $42_1 = 0, $44_1 = 0, $57_1 = 0, $59_1 = 0, $61_1 = 0, $63_1 = 0, $65_1 = 0, $80_1 = 0, $82_1 = 0, $84_1 = 0, $148_1 = 0, $150_1 = 0, $152_1 = 0, $165_1 = 0, $167_1 = 0, $229_1 = 0, $242_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 208 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 204 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 200 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 196 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 192 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 188 | 0) >> 2] = $7_1; + label$1 : { + if (!((HEAP32[(((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($6_1 + 200 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$1 + } + $21_1 = 0; + HEAP32[($6_1 + 184 | 0) >> 2] = HEAP32[($21_1 + 52376 | 0) >> 2] | 0; + i64toi32_i32$2 = $21_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52368 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52372 | 0) >> 2] | 0; + $304_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1 + 176 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $304_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52360 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52364 | 0) >> 2] | 0; + $311_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1 + 168 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $311_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52352 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52356 | 0) >> 2] | 0; + $318_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1 + 160 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $318_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52344 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52348 | 0) >> 2] | 0; + $322_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 152 | 0) >> 2] = $322_1; + HEAP32[($6_1 + 156 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52336 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52340 | 0) >> 2] | 0; + $326_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 144 | 0) >> 2] = $326_1; + HEAP32[($6_1 + 148 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 204 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 136 | 0) >> 2] = i64toi32_i32$2; + $33_1 = HEAP32[($6_1 + 200 | 0) >> 2] | 0; + label$2 : { + label$3 : { + switch ($33_1 | 0) { + case 10: + $42_1 = HEAP32[(($6_1 + 144 | 0) + ((HEAP32[($6_1 + 200 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $44_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = $44_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79($42_1 | 0, $6_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + break label$2; + case 0: + case 1: + $57_1 = HEAP32[(($6_1 + 144 | 0) + ((HEAP32[($6_1 + 200 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $59_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $61_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $63_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $65_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $65_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $63_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $61_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $59_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79($57_1 | 0, $6_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + break label$2; + case 2: + $80_1 = HEAP32[(($6_1 + 144 | 0) + ((HEAP32[($6_1 + 200 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $82_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $84_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 84 | 0) >> 2] = $84_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $82_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79($80_1 | 0, $6_1 + 80 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + break label$2; + case 3: + case 4: + HEAP32[($6_1 + 132 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = ((HEAP32[($6_1 + 132 | 0) >> 2] | 0) << 1 | 0) + 1 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 124 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 124 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] = 63; + HEAP8[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 124 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) | 0) >> 0] = 44; + HEAP32[($6_1 + 124 | 0) >> 2] = (HEAP32[($6_1 + 124 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + HEAP8[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 124 | 0) >> 2] | 0) << 1 | 0) - 1 | 0) | 0) >> 0] = 0; + $148_1 = HEAP32[(($6_1 + 144 | 0) + ((HEAP32[($6_1 + 200 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $150_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $152_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 104 | 0) >> 2] = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + HEAP32[($6_1 + 100 | 0) >> 2] = $152_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $150_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79($148_1 | 0, $6_1 + 96 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0); + } + break label$2; + default: + break label$3; + }; + } + $165_1 = HEAP32[(($6_1 + 144 | 0) + ((HEAP32[($6_1 + 200 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $167_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $167_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79($165_1 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + label$12 : { + if (!((HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 188 | 0) >> 2] = 7; + break label$11; + } + HEAP32[($6_1 + 120 | 0) >> 2] = 1; + label$13 : { + if (!((HEAP32[($6_1 + 200 | 0) >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($6_1 + 120 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 4 | 0; + } + $195_1 = HEAP32[(HEAP32[($6_1 + 204 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($195_1 + 64 | 0) >> 2] = (HEAP32[($195_1 + 64 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $408(HEAP32[(HEAP32[($6_1 + 140 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($6_1 + 200 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + $212_1 = HEAP32[(HEAP32[($6_1 + 204 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($212_1 + 64 | 0) >> 2] = (HEAP32[($212_1 + 64 | 0) >> 2] | 0) + -1 | 0; + $42(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0); + label$14 : { + if (!(HEAP32[($6_1 + 188 | 0) >> 2] | 0)) { + break label$14 + } + if (!((HEAP32[($6_1 + 192 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $380(HEAP32[(HEAP32[($6_1 + 140 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $229_1 = $79(1976 | 0, $6_1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 192 | 0) >> 2] | 0) >> 2] = $229_1; + } + } + } + HEAP32[(HEAP32[($6_1 + 196 | 0) >> 2] | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($6_1 + 200 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $222(HEAP32[(HEAP32[($6_1 + 196 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + $242_1 = HEAP32[($6_1 + 188 | 0) >> 2] | 0; + global$0 = $6_1 + 208 | 0; + return $242_1 | 0; + } + + function $2524($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + $2518($4_1 + 12 | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $347(HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 47836 | 0, 10 | 0, i64toi32_i32$0 | 0, 1 | 0, $4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + $390(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $4_1 + 12 | 0 | 0, 4 | 0, 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $383(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $33_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $33_1 | 0; + } + + function $2525($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $14_1 = 0, $17_1 = 0, $23_1 = 0, $136_1 = 0, $41_1 = 0, $150_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $0_1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $14_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $17_1 = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 68 | 0; + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $23_1 = $2517($14_1 | 0, $17_1 | 0, $79(52429 | 0, $3_1 | 0) | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] = $23_1; + label$4 : { + if (!(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + } + label$5 : { + if (!((100 | 0) == ($287(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = $318(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $136_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $136_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + $41_1 = $222(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] = $41_1; + } + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $150_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $150_1; + HEAP32[($3_1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$0 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2526($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $7_1 = 0, $8_1 = 0, $9_1 = 0, $31_1 = 0, $47_1 = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2528(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + $7_1 = 0; + HEAP8[i64toi32_i32$1 >> 0] = $7_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $7_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $7_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $7_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $8_1 = i64toi32_i32$1 + 16 | 0; + $9_1 = 0; + HEAP8[$8_1 >> 0] = $9_1; + HEAP8[($8_1 + 1 | 0) >> 0] = $9_1 >>> 8 | 0; + HEAP8[($8_1 + 2 | 0) >> 0] = $9_1 >>> 16 | 0; + HEAP8[($8_1 + 3 | 0) >> 0] = $9_1 >>> 24 | 0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP8[i64toi32_i32$1 >> 0] = $7_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $7_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $7_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $7_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $31_1 = $2529(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $3_1 + 16 | 0 | 0, $3_1 + 24 | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = $31_1; + label$2 : { + if (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + if (!(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + } + $47_1 = $2530(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = $47_1; + } + $2531(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + label$4 : { + if (!(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$4 + } + $2490(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + } + } + $54_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $54_1 | 0; + } + + function $2527($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + return; + } + + function $2528($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8_1 = 0, $66_1 = 0, $87_1 = 0, $100_1 = 0, $121_1 = 0, $117_1 = 0, $125_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + $8_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $8_1; + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != ($8_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $394(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$3 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$3 + } + $2492(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + } + } + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $347(HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 47836 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, 0 | 0, (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 24 | 0) >> 2] = 267; + } + label$7 : { + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$7 + } + $66_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $66_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $393(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) + 20 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != ($66_1 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $87_1 = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0; + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = $87_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $87_1; + break label$8; + } + HEAP32[($4_1 + 24 | 0) >> 2] = 7; + } + label$10 : { + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $384(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + label$12 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$12 + } + $42(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$11; + } + $100_1 = 0; + HEAP8[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0) >> 0] = $100_1; + HEAP8[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = $100_1; + $117_1 = ($2532((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 2 | 0 | 0) | 0) & 65535 | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = $117_1; + } + } + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $121_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($121_1 + 64 | 0) >> 2] = (HEAP32[($121_1 + 64 | 0) >> 2] | 0) + 1 | 0; + } + $125_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $125_1 | 0; + } + + function $2529($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $104_1 = 0, $15_1 = 0, $28_1 = 0, $34_1 = 0, $99_1 = 0, $136_1 = 0, $142_1 = 0, $161_1 = 0, $195_1 = 0, $204_1 = 0, $213_1 = 0, $266_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + label$1 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$1 + } + $15_1 = $2533(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 2] = $15_1; + } + HEAP32[($6_1 + 52 | 0) >> 2] = 4; + $28_1 = $2534((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0, $6_1 + 44 | 0 | 0) | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + $28_1 | 0; + $34_1 = $2534((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0, $6_1 + 40 | 0 | 0) | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + $34_1 | 0; + label$2 : { + label$3 : { + label$4 : { + if ((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) > (2e3 | 0) & 1 | 0) { + break label$4 + } + if ((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$4 + } + if ((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) > (2e3 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($6_1 + 76 | 0) >> 2] = 267; + break label$2; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = Math_imul((HEAP32[($6_1 + 44 | 0) >> 2] | 0) - 1 | 0, 12) + 40 | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2468($6_1 + 56 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 1; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + $99_1 = ($2535((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0) | 0) & 255 | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + $99_1 | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = 0; + label$6 : while (1) { + $104_1 = 0; + label$7 : { + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$7 + } + $104_1 = (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!($104_1 & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 24 | 0) >> 2] = ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($6_1 + 48 | 0) >> 2] | 0, 12) | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + label$9 : { + label$10 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) >= (HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($6_1 + 56 | 0) >> 2] = 267; + break label$9; + } + $136_1 = $2534((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + $136_1 | 0; + $142_1 = $2534((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0, $6_1 + 20 | 0 | 0) | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + $142_1 | 0; + label$11 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 56 | 0) >> 2] = 267; + } + i64toi32_i32$1 = 0; + $161_1 = $2468($6_1 + 56 | 0 | 0, Math_imul(HEAP32[($6_1 + 20 | 0) >> 2] | 0, 12) | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $161_1; + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) - (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0; + } + label$12 : { + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$12 + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 12) | 0; + label$15 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) >= (HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($6_1 + 56 | 0) >> 2] = 267; + break label$13; + } + $195_1 = $2534((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + $195_1 | 0; + $204_1 = $2534((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + $204_1 | 0; + $213_1 = $2534((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0) | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + $213_1 | 0; + label$16 : { + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($6_1 + 56 | 0) >> 2] = 267; + break label$13; + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + label$17 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$17 + } + if (!(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + -12 | 0) >> 2] | 0)) { + break label$17 + } + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$17 + } + HEAP32[($6_1 + 56 | 0) >> 2] = 267; + } + label$18 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) == ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$18 + } + if (!(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0)) { + break label$18 + } + HEAP32[($6_1 + 56 | 0) >> 2] = 267; + } + } + HEAP32[($6_1 + 48 | 0) >> 2] = (HEAP32[($6_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + label$19 : { + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$19 + } + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$19 + } + HEAP32[($6_1 + 56 | 0) >> 2] = 267; + } + label$20 : { + if (!(HEAP32[($6_1 + 56 | 0) >> 2] | 0)) { + break label$20 + } + $2490(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + } + HEAP32[(HEAP32[($6_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + } + $266_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $266_1 | 0; + } + + function $2530($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $7_1 = 0, $52_1 = 0, $16_1 = 0, $18_1 = 0, $94_1 = 0, $97_1 = 0, $103_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $7_1 = 4; + $9_1 = 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = 52452; + HEAP32[($4_1 + 44 | 0) >> 2] = $9_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $9_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $9_1; + HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 76 | 0) >> 2] = 4050; + HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 80 | 0) >> 2] = $7_1; + HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 88 | 0) >> 2] = $7_1; + HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 84 | 0) >> 2] = 16; + HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 92 | 0) >> 2] = 1048576; + $16_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $18_1 = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $18_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2481($4_1 + 40 | 0 | 0, $16_1 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $402(HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, -1 | 0, $4_1 + 44 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0); + } + label$2 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + label$4 : while (1) { + if (!((100 | 0) == ($287(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $52_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $319(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $52_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $320(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!(($52_1 | 0) == ($87(HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, 51927 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $239(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + $2536(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $4_1 + 24 | 0 | 0) | 0; + } + continue label$4; + }; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $213(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$7 + } + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 40 | 0) >> 2] = 1; + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $94_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 4; + HEAP32[$4_1 >> 2] = $94_1; + $97_1 = $79(52484 | 0, $4_1 | 0) | 0; + HEAP32[(HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) >> 2] = $97_1; + } + } + label$9 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + } + $103_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $103_1 | 0; + } + + function $2531($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2532($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (((((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 65535 | 0) << 8 | 0) + ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) & 65535 | 0 | 0; + } + + function $2533($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (((((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0) + (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0) + (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0) + ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0 | 0; + } + + function $2534($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $80_1 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 128 | 0) { + break label$2 + } + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$3 : { + if ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) & 128 | 0) { + break label$3 + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 127 | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 7 | 0; + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0 | (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$4 : { + if ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 128 | 0) { + break label$4 + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) & 127 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) << 7 | 0; + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0 | (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = 3; + break label$1; + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + -2 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2535(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 2147483647 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0; + } + $80_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $80_1 | 0; + } + + function $2535($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $298$hi = 0, $299$hi = 0, $38_1 = 0, $300$hi = 0, $301$hi = 0, $303$hi = 0, $304$hi = 0, $39_1 = 0, $305$hi = 0, $306$hi = 0, $308$hi = 0, $309$hi = 0, $40_1 = 0, $310$hi = 0, $311$hi = 0, $313$hi = 0, $314$hi = 0, $41_1 = 0, $315$hi = 0, $316$hi = 0, $318$hi = 0, $319$hi = 0, $42_1 = 0, $320$hi = 0, $321$hi = 0, $120_1 = 0, $650_1 = 0, $156_1 = 0, $752_1 = 0, $189_1 = 0, $845_1 = 0, $228_1 = 0, $938_1 = 0, $246_1 = 0, $1053_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 128 | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = 1; + break label$1; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$3 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 128 | 0) { + break label$3 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 127 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = 2; + break label$1; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$4 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 128 | 0) { + break label$4 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 127 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = 3; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$5 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 128 | 0) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = 4; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$6 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 128 | 0) { + break label$6 + } + $120_1 = 5; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 18 | 0; + i64toi32_i32$0 = 0; + $298$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $299$hi = i64toi32_i32$0; + i64toi32_i32$0 = $298$hi; + i64toi32_i32$0 = $299$hi; + i64toi32_i32$0 = $298$hi; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = $299$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $38_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $38_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $300$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $301$hi = i64toi32_i32$1; + i64toi32_i32$1 = $300$hi; + i64toi32_i32$1 = $301$hi; + i64toi32_i32$1 = $300$hi; + i64toi32_i32$0 = $38_1; + i64toi32_i32$2 = $301$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $650_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $650_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP8[($4_1 + 31 | 0) >> 0] = $120_1; + break label$1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$7 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 128 | 0) { + break label$7 + } + $156_1 = 6; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 18 | 0; + i64toi32_i32$2 = 0; + $303$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $304$hi = i64toi32_i32$2; + i64toi32_i32$2 = $303$hi; + i64toi32_i32$2 = $304$hi; + i64toi32_i32$2 = $303$hi; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $304$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $39_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $39_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $305$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $306$hi = i64toi32_i32$0; + i64toi32_i32$0 = $305$hi; + i64toi32_i32$0 = $306$hi; + i64toi32_i32$0 = $305$hi; + i64toi32_i32$2 = $39_1; + i64toi32_i32$1 = $306$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $752_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $752_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP8[($4_1 + 31 | 0) >> 0] = $156_1; + break label$1; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$8 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 128 | 0) { + break label$8 + } + $189_1 = 7; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & -266354561 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 11 | 0; + i64toi32_i32$1 = 0; + $308$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $309$hi = i64toi32_i32$1; + i64toi32_i32$1 = $308$hi; + i64toi32_i32$1 = $309$hi; + i64toi32_i32$1 = $308$hi; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $309$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $40_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $40_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $310$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $311$hi = i64toi32_i32$2; + i64toi32_i32$2 = $310$hi; + i64toi32_i32$2 = $311$hi; + i64toi32_i32$2 = $310$hi; + i64toi32_i32$1 = $40_1; + i64toi32_i32$0 = $311$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $845_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $845_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = $189_1; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$9 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 128 | 0) { + break label$9 + } + $228_1 = 8; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & -266354561 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 4 | 0; + i64toi32_i32$0 = 0; + $313$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $314$hi = i64toi32_i32$0; + i64toi32_i32$0 = $313$hi; + i64toi32_i32$0 = $314$hi; + i64toi32_i32$0 = $313$hi; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = $314$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $41_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $41_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $315$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $316$hi = i64toi32_i32$1; + i64toi32_i32$1 = $315$hi; + i64toi32_i32$1 = $316$hi; + i64toi32_i32$1 = $315$hi; + i64toi32_i32$0 = $41_1; + i64toi32_i32$2 = $316$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $938_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $938_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP8[($4_1 + 31 | 0) >> 0] = $228_1; + break label$1; + } + $246_1 = 9; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 15 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 8 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + -4 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 127 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 3 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = 0; + $318$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $319$hi = i64toi32_i32$2; + i64toi32_i32$2 = $318$hi; + i64toi32_i32$2 = $319$hi; + i64toi32_i32$2 = $318$hi; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $319$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $42_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $42_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $320$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $321$hi = i64toi32_i32$0; + i64toi32_i32$0 = $320$hi; + i64toi32_i32$0 = $321$hi; + i64toi32_i32$0 = $320$hi; + i64toi32_i32$2 = $42_1; + i64toi32_i32$1 = $321$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $1053_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $1053_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP8[($4_1 + 31 | 0) >> 0] = $246_1; + } + return (HEAPU8[($4_1 + 31 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $2536($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $247_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!(($7_1 | 0) == ($87(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, 52549 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + label$3 : { + if (!((1 | 0) == ($342(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $239(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + label$5 : { + label$6 : { + if ((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) < (32 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) > (65536 | 0) & 1 | 0)) { + break label$5 + } + } + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = 1; + break label$4; + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + } + break label$1; + } + label$7 : { + label$8 : { + if (!((0 | 0) == ($87(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, 52554 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 36 | 0) >> 2] = -1; + label$9 : { + if (!((1 | 0) == ($342(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $239(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + label$11 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = 1; + break label$10; + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 92 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + break label$7; + } + label$12 : { + label$13 : { + if (!((0 | 0) == ($87(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, 52563 | 0) | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($6_1 + 32 | 0) >> 2] = -1; + label$14 : { + if (!((1 | 0) == ($342(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $239(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + label$15 : { + label$16 : { + label$17 : { + if ((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$17 + } + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) > (64 | 0) & 1 | 0)) { + break label$16 + } + } + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = 1; + break label$15; + } + label$18 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($6_1 + 32 | 0) >> 2] = 4; + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 80 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + } + break label$12; + } + label$19 : { + label$20 : { + if (!((0 | 0) == ($87(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, 52573 | 0) | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($6_1 + 28 | 0) >> 2] = -1; + label$21 : { + if (!((1 | 0) == ($342(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $239(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$22 : { + label$23 : { + label$24 : { + if ((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0) { + break label$24 + } + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) > (16 | 0) & 1 | 0)) { + break label$23 + } + } + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = 1; + break label$22; + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 88 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + } + break label$19; + } + label$25 : { + label$26 : { + if (!((0 | 0) == ($87(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, 52583 | 0) | 0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($6_1 + 24 | 0) >> 2] = -1; + label$27 : { + if (!((1 | 0) == ($342(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$27 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $239(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$28 : { + label$29 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = 1; + break label$28; + } + label$30 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($6_1 + 24 | 0) >> 2] = 16; + } + label$31 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) >= (2e3 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($6_1 + 24 | 0) >> 2] = 1999; + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 84 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + } + break label$25; + } + label$32 : { + label$33 : { + if (!((0 | 0) == ($87(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, 50840 | 0) | 0 | 0) & 1 | 0)) { + break label$33 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2537(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0, $6_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$34 : { + label$35 : { + if (HEAP32[($6_1 + 44 | 0) >> 2] | 0) { + break label$35 + } + $42(HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 96 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 100 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + break label$34; + } + label$36 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = 1; + } + } + break label$32; + } + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = 1; + } + } + } + } + } + } + $247_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $247_1 | 0; + } + + function $2537($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $58_1 = 0, $77_1 = 0, $123_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] = $6_1; + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2477(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2497(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$1 = ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2468($5_1 + 16 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $3288(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 32 | 0) >> 2] | 0) - (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0 | 0) | 0; + } + break label$3; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + } + label$6 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2477(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $58_1 = 24; + label$7 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $58_1 | 0) >> $58_1 | 0 | 0) != (40 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + } + label$8 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2477(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + $77_1 = 24; + label$9 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $77_1 | 0) >> $77_1 | 0 | 0) != (41 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2538(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + break label$10; + } + i64toi32_i32$1 = ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2468($5_1 + 16 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $3288(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 32 | 0) >> 2] | 0) - (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0) | 0; + } + } + } + } + } + label$13 : { + label$14 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$14 + } + $42(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + break label$13; + } + HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + $123_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $123_1 | 0; + } + + function $2538($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $21_1 = 0, $32_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2477(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2499(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2477(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$4 + } + $21_1 = 24; + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $21_1 | 0) >> $21_1 | 0 | 0) == (41 | 0) & 1 | 0)) { + break label$3 + } + } + break label$1; + } + $32_1 = 24; + label$5 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0 | 0) != (44 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $44_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $44_1 | 0; + } + + function $2539($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = $2540(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $6_1 | 0; + } + + function $2540($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $14$hi = 0, $15$hi = 0, $14_1 = 0, $36_1 = 0, $11_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $2525(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $14_1 = i64toi32_i32$0; + $14$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $15$hi = i64toi32_i32$0; + i64toi32_i32$0 = $14$hi; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$0 = $14$hi; + i64toi32_i32$0 = $15$hi; + $36_1 = i64toi32_i32$1; + i64toi32_i32$0 = $14$hi; + i64toi32_i32$2 = $14_1; + i64toi32_i32$1 = $15$hi; + label$1 : { + if (!(((i64toi32_i32$2 | 0) != ($36_1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$1 + } + $2494(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + $11_1 = $2491(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $11_1 | 0; + } + + function $2541($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $222(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $213(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $2542($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2542(HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $2543(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2543($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2544(HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2544($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $2545(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $2545(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $2521((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 16 | 0 | 0); + $42(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + continue label$5; + }; + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + $2521((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0 | 0); + } + $42(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $2545($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $2546(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $2492(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2546($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2547(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 88) | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $2521((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2547($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2521((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0 | 0); + $2531(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $2531(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $2548(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0); + $3289(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, 88 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2548($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2531(HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 5 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2549($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0; + } + + function $2550($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $4_1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $4_1 | 0; + } + + function $2551($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, $14_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0](1212, i64toi32_i32$0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $2561(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + $14_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $14_1 | 0; + } + + function $2552($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $22_1 = 0, $10_1 = 0, $66_1 = 0, $80_1 = 0, $90_1 = 0, $106_1 = 0, $120_1 = 0, $13_1 = 0, $110_1 = 0, $180_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + $10_1 = 24; + if (!($2562(((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) | 0)) { + break label$1 + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + $22_1 = HEAP8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0; + label$3 : { + label$4 : { + label$5 : { + label$6 : { + label$7 : { + if (!$22_1) { + break label$7 + } + if (($22_1 | 0) == (34 | 0)) { + break label$6 + } + label$8 : { + label$9 : { + label$10 : { + label$11 : { + label$12 : { + label$13 : { + label$14 : { + label$15 : { + label$16 : { + label$17 : { + if (($22_1 | 0) == (40 | 0)) { + break label$17 + } + if (($22_1 | 0) == (41 | 0)) { + break label$16 + } + if (($22_1 | 0) == (42 | 0)) { + break label$10 + } + if (($22_1 | 0) == (43 | 0)) { + break label$11 + } + if (($22_1 | 0) == (44 | 0)) { + break label$12 + } + if (($22_1 | 0) == (45 | 0)) { + break label$9 + } + if (($22_1 | 0) == (58 | 0)) { + break label$13 + } + if (($22_1 | 0) == (94 | 0)) { + break label$8 + } + if (($22_1 | 0) == (123 | 0)) { + break label$15 + } + if (($22_1 | 0) == (125 | 0)) { + break label$14 + } + break label$5; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 10; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 11; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 7; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 8; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 5; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 13; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 14; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 15; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 6; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 12; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 9; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + label$18 : { + label$19 : while (1) { + if (!(1 & 1 | 0)) { + break label$18 + } + $66_1 = 24; + label$20 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $66_1 | 0) >> $66_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + $80_1 = 24; + label$21 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $80_1 | 0) >> $80_1 | 0 | 0) != (34 | 0) & 1 | 0)) { + break label$21 + } + break label$18; + } + } + $90_1 = 24; + label$22 : { + if (((HEAPU8[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $90_1 | 0) >> $90_1 | 0) { + break label$22 + } + $2563(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 52884 | 0, 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$3; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) - (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0; + break label$4; + } + $106_1 = 24; + label$23 : { + if ($2504(((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $106_1 | 0) >> $106_1 | 0 | 0) | 0) { + break label$23 + } + $110_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $2563($110_1 | 0, 52904 | 0, $5_1 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$3; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 9; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + label$24 : { + label$25 : while (1) { + $120_1 = 24; + if (!($2504(((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $120_1 | 0) >> $120_1 | 0 | 0) | 0)) { + break label$24 + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0; + label$26 : { + if (!((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$26 + } + $13_1 = HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + if ((HEAPU8[$13_1 >> 0] | 0 | ((HEAPU8[($13_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | 0) != (21071 | 0)) { + break label$26 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 1; + } + label$27 : { + if (!((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$27 + } + if ($3228(HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0, 49895 | 0, 3 | 0) | 0) { + break label$27 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 3; + } + label$28 : { + if (!((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$28 + } + if ($3228(HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0, 49891 | 0, 3 | 0) | 0) { + break label$28 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 2; + } + } + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = (HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + $180_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $180_1 | 0; + } + + function $2553($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $67_1 = 0, $29_1 = 0, $34_1 = 0, $35_1 = 0, $176_1 = 0, $48_1 = 0, $211_1 = 0, $265_1 = 0, $75_1 = 0, $76_1 = 0, $273_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + HEAP8[($6_1 + 39 | 0) >> 0] = HEAPU8[(HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2564((HEAP32[($6_1 + 56 | 0) >> 2] | 0) & 255 | 0 | 0, (HEAPU8[($6_1 + 39 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 39 | 0) >> 0] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!(((HEAPU8[($6_1 + 39 | 0) >> 0] | 0) & 255 | 0 | 0) >= (83 | 0) & 1 | 0)) { + break label$5 + } + $29_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + $34_1 = ((HEAPU8[($6_1 + 39 | 0) >> 0] | 0) & 255 | 0) - 83 | 0; + $35_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $176_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $176_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2565($29_1 | 0, $34_1 | 0, $35_1 | 0, $6_1 + 8 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 39 | 0) >> 0] = wasm2js_i32$1; + break label$4; + } + label$6 : { + if (!(((HEAPU8[($6_1 + 39 | 0) >> 0] | 0) & 255 | 0 | 0) <= (79 | 0) & 1 | 0)) { + break label$6 + } + $48_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + $49_1 = HEAPU8[($6_1 + 39 | 0) >> 0] | 0; + $50_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $211_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $211_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + $51_1 = 255; + $2566($48_1 | 0, $49_1 & $51_1 | 0 | 0, $50_1 & $51_1 | 0 | 0, $6_1 + 16 | 0 | 0); + break label$2; + } + label$7 : { + if (!(((HEAPU8[($6_1 + 39 | 0) >> 0] | 0) & 255 | 0 | 0) == (81 | 0) & 1 | 0)) { + break label$7 + } + $67_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[$67_1 >> 2] = (HEAP32[$67_1 >> 2] | 0) + -12 | 0; + $2567(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + break label$1; + } + i64toi32_i32$2 = $2_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $265_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1 + 40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $265_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $75_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + $76_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $273_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $273_1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$0; + $2568($75_1 | 0, $76_1 | 0, $6_1 + 24 | 0 | 0); + $2569(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 56 | 0) >> 2] | 0) & 255 | 0 | 0, $6_1 + 40 | 0 | 0); + break label$2; + } + if ((HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 8 | 0) >>> 0 & 1 | 0) { + continue label$3 + } + break label$3; + }; + } + } + global$0 = $6_1 + 64 | 0; + return; + } + + function $2554($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2555($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $2570(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + FUNCTION_TABLE[HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2556($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $20_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + $20_1 = $79(53506 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $20_1; + break label$1; + } + $2571(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $5_1 | 0); + } + $42(HEAP32[$5_1 >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $2557($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $187_1 = 0, $228_1 = 0, $239_1 = 0, $258_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($7_1 + 32 | 0) >> 2] = 0; + label$3 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) != (9 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) != (9 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + break label$1; + } + label$6 : { + label$7 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$7 + } + if (!(HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2586(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$6; + } + label$8 : { + label$9 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($7_1 + 32 | 0) >> 2] = 2; + break label$8; + } + label$10 : { + label$11 : { + if ((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$11 + } + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$10 + } + } + HEAP32[($7_1 + 32 | 0) >> 2] = 2; + label$12 : { + if (!((HEAP32[(HEAP32[($7_1 + 48 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - 1 | 0) | 0; + } + label$13 : { + if (!((HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - 1 | 0) | 0; + } + } + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = (((HEAP32[($7_1 + 32 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) + 40 | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2468((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 8 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + $2587(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + label$15 : { + label$16 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[(HEAP32[(((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + label$19 : { + if (HEAP32[((HEAP32[(((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) { + break label$19 + } + $187_1 = 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] = $187_1; + HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] = $187_1; + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + label$20 : { + if (!(HEAP32[((HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0)) { + break label$20 + } + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$21 : { + label$22 : { + if ((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0) { + break label$22 + } + if ((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0) { + break label$22 + } + if (!((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$21 + } + if (!((HEAPU8[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0)) { + break label$21 + } + } + $228_1 = 1; + HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] = $228_1; + HEAP32[$7_1 >> 2] = (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == ($228_1 | 0) & 1 | 0 ? 53418 : 49899; + $239_1 = $79(53368 | 0, $7_1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] = $239_1; + $42(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + } + } + break label$15; + } + $2588(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + $2588(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0); + } + } + } + } + label$23 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$23 + } + $2542(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + $2542(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0); + $2543(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + } + $258_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $258_1 | 0; + } + + function $2558($0_1, $1_1, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $51$hi = 0, $52$hi = 0, $51_1 = 0, $122_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2653(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($6_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + if (!((0 | 0) == (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $51_1 = i64toi32_i32$0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $52$hi = i64toi32_i32$0; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$0 = $52$hi; + $122_1 = i64toi32_i32$1; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$1 = $52$hi; + if (!(($2603(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, $51_1 | 0, i64toi32_i32$0 | 0, $122_1 | 0, i64toi32_i32$1 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0, 1, i64toi32_i32$1, i64toi32_i32$0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + label$3 : while (1) { + if (!(HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0, 0, 0, i64toi32_i32$0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + continue label$3; + }; + } + $48_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $48_1 | 0; + } + + function $2559($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $13_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$1; + } + $13_1 = 0; + } + return $13_1 | 0; + } + + function $2560($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $36_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $78(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 7; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $408(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, -1 | 0, 1 | 0, $6_1 + 16 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $380(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $36_1 = $79(1976 | 0, $6_1 | 0) | 0; + HEAP32[(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) >> 2] = $36_1; + } + $42(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + $44_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $44_1 | 0; + } + + function $2561($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] = $4_1; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 9 | 0) >> 0] = $4_1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1208 | 0) >> 2] = ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) + 1188 | 0; + return; + } + + function $2562($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0, $7_1 = 0, $19_1 = 0, $30_1 = 0, $40_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP8[($3_1 + 15 | 0) >> 0] = $0_1; + $7_1 = 24; + $15_1 = 1; + label$1 : { + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0 | 0) == (32 | 0) & 1 | 0) { + break label$1 + } + $19_1 = 24; + $15_1 = 1; + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) == (9 | 0) & 1 | 0) { + break label$1 + } + $30_1 = 24; + $15_1 = 1; + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) == (10 | 0) & 1 | 0) { + break label$1 + } + $40_1 = 24; + $15_1 = (((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) == (13 | 0); + } + return $15_1 & 1 | 0 | 0; + } + + function $2563($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $14_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$1 + } + $14_1 = $78(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $14_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $2564($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP8[($4_1 + 14 | 0) >> 0] = $0_1; + HEAP8[($4_1 + 13 | 0) >> 0] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[($4_1 + 13 | 0) >> 0] | 0) & 255 | 0 | 0) > (34 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($4_1 + 15 | 0) >> 0] = HEAPU8[($4_1 + 13 | 0) >> 0] | 0; + break label$1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAPU8[(((HEAPU8[($4_1 + 13 | 0) >> 0] | 0) & 255 | 0) + 52944 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + ((HEAPU8[($4_1 + 14 | 0) >> 0] | 0) & 255 | 0) | 0; + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52992 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[($4_1 + 14 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[($4_1 + 15 | 0) >> 0] = HEAPU8[(((HEAPU8[($4_1 + 13 | 0) >> 0] | 0) & 255 | 0) + 53120 | 0) >> 0] | 0; + break label$1; + } + HEAP8[($4_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 53168 | 0) >> 0] | 0; + } + return (HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $2565($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $13_1 = 0, $27_1 = 0, $178_1 = 0, $186_1 = 0, $261_1 = 0, i64toi32_i32$2 = 0, $313_1 = 0, $37_1 = 0, $61_1 = 0, $70_1 = 0, $214_1 = 0, i64toi32_i32$1 = 0, $954_1 = 0, $344_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + $13_1 = 24; + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 53280 | 0) >> 0] | 0) << $13_1 | 0) >> $13_1 | 0) { + break label$2 + } + label$3 : { + if (!((HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1208 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + $2572(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + HEAP8[($6_1 + 47 | 0) >> 0] = 0; + break label$1; + } + } + $27_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + label$4 : { + label$5 : { + switch ($27_1 | 0) { + case 0: + $2573(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 1: + $37_1 = $2574(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $37_1; + break label$4; + case 2: + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 3: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2575(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 4: + $61_1 = $2575(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $61_1; + $70_1 = $2574(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $70_1; + break label$4; + case 5: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2575(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 6: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2575(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 7: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2557(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 8: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2557(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 9: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2557(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 3 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 10: + $2556(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[$6_1 >> 2] = HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 11: + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 12: + case 13: + HEAP32[$6_1 >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 14: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2576(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 15: + $178_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2557(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 9 | 0, $178_1 | 0, $178_1 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 16: + $186_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2557(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 9 | 0, $186_1 | 0, $186_1 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $2556(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 17: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2577(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 18: + $2578(HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $214_1 = $2577(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $214_1; + break label$4; + case 19: + $2579(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0); + $2580(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0); + HEAP32[$6_1 >> 2] = HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 20: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2577(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 21: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2577(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 22: + $261_1 = 0; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = $261_1; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] = $261_1; + break label$4; + case 23: + i64toi32_i32$2 = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $954_1 = i64toi32_i32$0; + i64toi32_i32$0 = ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $954_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$4; + case 24: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2581(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 25: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2581(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 26: + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + break label$4; + case 27: + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + default: + break label$5; + }; + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 53312 | 0) >> 0] | 0) & 255 | 0; + $313_1 = 24; + HEAP32[($6_1 + 16 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 53280 | 0) >> 0] | 0) << $313_1 | 0) >> $313_1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2582((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 12) | 0) >> 0] | 0) & 255 | 0 | 0, (HEAP32[($6_1 + 28 | 0) >> 2] | 0) & 255 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 27 | 0) >> 0] = wasm2js_i32$1; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + Math_imul((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0, 12) | 0; + HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] = HEAPU8[($6_1 + 27 | 0) >> 0] | 0; + HEAP8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP8[($6_1 + 47 | 0) >> 0] = HEAPU8[($6_1 + 27 | 0) >> 0] | 0; + } + $344_1 = (HEAPU8[($6_1 + 47 | 0) >> 0] | 0) & 255 | 0; + global$0 = $6_1 + 48 | 0; + return $344_1 | 0; + } + + function $2566($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $7_1 = 0, $20_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $152_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($6_1 + 11 | 0) >> 0] = $1_1; + HEAP8[($6_1 + 10 | 0) >> 0] = $2_1; + $7_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = (HEAP32[$7_1 >> 2] | 0) + 12 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1208 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $20_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[$20_1 >> 2] = (HEAP32[$20_1 >> 2] | 0) + -12 | 0; + $2572(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + break label$1; + } + label$3 : { + if (!(((HEAPU8[($6_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) > (34 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[($6_1 + 11 | 0) >> 0] = ((HEAPU8[($6_1 + 11 | 0) >> 0] | 0) & 255 | 0) + 31 | 0; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 0] = HEAPU8[($6_1 + 11 | 0) >> 0] | 0; + HEAP8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAPU8[($6_1 + 10 | 0) >> 0] | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $152_1 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $152_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + global$0 = $6_1 + 16 | 0; + return; + } + + function $2567($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + return; + } + + function $2568($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, $9_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $8_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $9_1 = HEAP32[($2_1 + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[$2_1 >> 2] | 0; + HEAP32[$5_1 >> 2] = $9_1; + $2563($8_1 | 0, 53425 | 0, $5_1 | 0); + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return; + } + + function $2569($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($5_1 + 11 | 0) >> 0] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $10_1 = (HEAPU8[($5_1 + 11 | 0) >> 0] | 0) + -16 | 0; + label$1 : { + label$2 : { + switch ($10_1 | 0) { + case 0: + break label$1; + case 1: + case 2: + case 3: + $2542(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 4: + case 5: + $42(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 6: + case 7: + $2543(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 8: + $2583(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + default: + break label$2; + }; + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $2570($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >>> 0 & 1 | 0)) { + break label$1 + } + $2584(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + continue label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2571($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $41_1 = 0, $60_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + if (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + label$3 : { + label$4 : { + if ((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $2651(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + label$7 : { + if (HEAP32[(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0) { + break label$7 + } + $41_1 = 0; + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = $41_1; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = $41_1; + } + break label$5; + } + label$8 : { + label$9 : { + if (!((HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = 0; + break label$8; + } + $60_1 = $2652((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $60_1; + } + } + break label$2; + } + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $2571(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2572($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >>> 0 & 1 | 0)) { + break label$1 + } + $2584(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + continue label$2; + }; + } + $2563(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 53340 | 0, 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2573($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + return; + } + + function $2574($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $25_1 = 0, $59_1 = 0, $60_1 = 0, i64toi32_i32$0 = 0, $55_1 = 0, $58_1 = 0, $73_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2468((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0, ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) + 8 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $25_1 = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $25_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $25_1; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + label$6 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + } + $55_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $58_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0; + $59_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $60_1 = HEAP32[$59_1 >> 2] | 0; + HEAP32[$59_1 >> 2] = $60_1 + 1 | 0; + HEAP32[($58_1 + ($60_1 << 2 | 0) | 0) >> 2] = $55_1; + break label$4; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + $42(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + $73_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $73_1 | 0; + } + + function $2575($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $55_1 = 0, $71_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2475((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $2500(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + break label$2; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $55_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $2563($55_1 | 0, 33759 | 0, $5_1 | 0); + break label$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2585(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + label$7 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + $42(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + $71_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $71_1 | 0; + } + + function $2576($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $35_1 = 0, $83_1 = 0, $94_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$2 + } + $2542(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + $2542(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) + (((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + break label$3; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + label$5 : { + label$6 : { + if (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) { + break label$6 + } + $2542(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $35_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($35_1 + 12 | 0) >> 2] = (HEAP32[($35_1 + 12 | 0) >> 2] | 0) + -1 | 0; + break label$5; + } + label$7 : { + label$8 : { + if (HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$8 + } + label$9 : { + label$10 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$9; + } + HEAP32[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) + (((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0) - (HEAP32[((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) << 2 | 0) | 0; + $3290(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + $83_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($83_1 + 12 | 0) >> 2] = (HEAP32[($83_1 + 12 | 0) >> 2] | 0) + -1 | 0; + $2542(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + break label$7; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2557(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + } + $94_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $94_1 | 0; + } + + function $2577($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $95_1 = 0, $99_1 = 0, $117_1 = 0, $121_1 = 0, $129_1 = 0, $130_1 = 0, $125_1 = 0, $128_1 = 0, $137_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 44 | 0) >> 2] = 8; + HEAP32[($5_1 + 40 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = 48; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] = 7; + break label$6; + } + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $3289(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + } + break label$4; + } + label$8 : { + label$9 : { + if ((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) % (8 | 0) | 0) { + break label$9 + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 2 | 0) + 16 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $49(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] = 7; + } + break label$8; + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + } + } + } + label$11 : { + label$12 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + $2543(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0); + $2583(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + break label$11; + } + label$13 : { + if (!((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) + (((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) { + break label$15 + } + $2544(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + $95_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($95_1 + 8 | 0) >> 2] = (HEAP32[($95_1 + 8 | 0) >> 2] | 0) + -1 | 0; + $99_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP32[($99_1 + 12 | 0) >> 2] = (HEAP32[($99_1 + 12 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$14; + } + label$16 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) { + break label$16 + } + $2544(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 2 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + $117_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP32[($117_1 + 12 | 0) >> 2] = (HEAP32[($117_1 + 12 | 0) >> 2] | 0) + -1 | 0; + $121_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($121_1 + 8 | 0) >> 2] = (HEAP32[($121_1 + 8 | 0) >> 2] | 0) + -1 | 0; + } + } + } + $125_1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + $128_1 = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0; + $129_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $130_1 = HEAP32[($129_1 + 8 | 0) >> 2] | 0; + HEAP32[($129_1 + 8 | 0) >> 2] = $130_1 + 1 | 0; + HEAP32[($128_1 + ($130_1 << 2 | 0) | 0) >> 2] = $125_1; + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + } + $137_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $137_1 | 0; + } + + function $2578($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0)) { + break label$1 + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 21 | 0) >> 0] = 1; + } + return; + } + + function $2579($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $18_1 = 0, $20_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0) { + break label$2 + } + $5_1 = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + if (!((HEAPU8[$5_1 >> 0] | 0 | ((HEAPU8[($5_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($5_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($5_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0 | 0) != (1380009294 | 0))) { + break label$1 + } + } + $18_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $20_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $20_1; + $2563($18_1 | 0, 53425 | 0, $4_1 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2580($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $32_1 = 0, $42_1 = 0, $64_1 = 0, $50_1 = 0, $52_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$2 : { + label$3 : { + if (!(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($5_1 + 11 | 0) >> 0] = HEAPU8[((HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0; + $32_1 = 24; + label$6 : { + label$7 : { + if ((((HEAPU8[($5_1 + 11 | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0 | 0) < (48 | 0) & 1 | 0) { + break label$7 + } + $42_1 = 24; + if (!((((HEAPU8[($5_1 + 11 | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0 | 0) > (57 | 0) & 1 | 0)) { + break label$6 + } + } + $50_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $52_1 = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $52_1; + $2563($50_1 | 0, 53456 | 0, $5_1 | 0); + break label$1; + } + $64_1 = 24; + HEAP32[($5_1 + 16 | 0) >> 2] = Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 10) + ((((HEAPU8[((HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $64_1 | 0) >> $64_1 | 0) - 48 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + break label$2; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 10; + } + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2581($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $40_1 = 0, $56_1 = 0, $95_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2589(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0 ? 2 : 0) | 1 | 0; + $2500(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3303(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2591(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, $6_1 + 16 | 0 | 0, 119 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + label$2 : { + label$3 : { + label$4 : { + label$5 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$5 + } + $40_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $40_1; + if (!$40_1) { + break label$4 + } + } + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $2544(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + break label$3; + } + label$6 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!($2592(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + $2544(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$2; + } + $56_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($56_1 + 12 | 0) >> 2] = (HEAP32[($56_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + label$8 : { + label$9 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2468((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0 | 0, 36 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$8; + } + label$10 : { + if (!(HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0)) { + break label$10 + } + HEAP8[(((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 20 | 0) + (((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0) >> 0] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + } + } + HEAP32[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + $95_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $95_1 | 0; + } + + function $2582($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP8[($4_1 + 15 | 0) >> 0] = $0_1; + HEAP8[($4_1 + 14 | 0) >> 0] = $1_1; + $9_1 = 24; + HEAP32[($4_1 + 8 | 0) >> 2] = ((HEAPU8[(((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0) + 53488 | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + ((HEAPU8[($4_1 + 14 | 0) >> 0] | 0) & 255 | 0) | 0; + return (HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 53168 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $2583($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2544(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2584($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $5_1 = HEAP32[$4_1 >> 2] | 0; + HEAP32[$4_1 >> 2] = $5_1 + -12 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $5_1; + $2569(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2585($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $15_1 = 0, i64toi32_i32$0 = 0, $109_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + } + $15_1 = 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = $15_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $49(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 2 | 0) + 8 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] = 7; + break label$4; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + break label$3; + } + label$9 : { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + break label$6; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$11; + }; + } + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + $109_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $109_1 | 0; + } + + function $2586($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $58_1 = 0, i64toi32_i32$1 = 0, $32_1 = 0, $64_1 = 0, $65_1 = 0, $61_1 = 0, $63_1 = 0, $84_1 = 0, $90_1 = 0, $106_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) + 40 | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2468((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = 2; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $2587(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $32_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($32_1 + 12 | 0) >> 2] = (HEAP32[($32_1 + 12 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2468((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0, 36 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!($2592(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + $2544(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + break label$5; + } + $58_1 = 0; + $61_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $63_1 = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $64_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $65_1 = HEAP32[($64_1 + 12 | 0) >> 2] | 0; + HEAP32[($64_1 + 12 | 0) >> 2] = $65_1 + 1 | 0; + HEAP32[($63_1 + ($65_1 << 2 | 0) | 0) >> 2] = $61_1; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = 1; + $84_1 = $2475((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[((((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] = $84_1; + $90_1 = $2557(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 9 | 0, $58_1 | 0, $58_1 | 0, $2577(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $58_1 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + HEAP32[(((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $90_1; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$7 : { + label$8 : { + if (!(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$8 + } + $2542(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + break label$7; + } + $2543(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + } + } + $106_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $106_1 | 0; + } + + function $2587($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($7_1 | 0) { + case 8: + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + if ((HEAPU8[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) { + break label$7 + } + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = 4; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 120; + break label$6; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 121; + } + break label$1; + case 0: + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 122; + break label$1; + case 1: + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 123; + break label$1; + default: + break label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 124; + } + return; + } + + function $2588($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $40_1 = 0, $48_1 = 0, $49_1 = 0, $44_1 = 0, $47_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) << 2 | 0; + $3288(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $40_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($40_1 + 28 | 0) >> 2] = (HEAP32[($40_1 + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0; + $42(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + $44_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $47_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0; + $48_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $49_1 = HEAP32[($48_1 + 28 | 0) >> 2] | 0; + HEAP32[($48_1 + 28 | 0) >> 2] = $49_1 + 1 | 0; + HEAP32[($47_1 + ($49_1 << 2 | 0) | 0) >> 2] = $44_1; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2589($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + $13_1 = $2475($4_1 + 4 | 0 | 0, HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = $13_1; + $15_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $15_1 | 0; + } + + function $2590($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $190_1 = 0, $143_1 = 0, $115_1 = 0, $153_1 = 0, $166_1 = 0, $167_1 = 0, $191_1 = 0, $165_1 = 0, $178_1 = 0, $183_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 48 | 0) >> 2] = 0; + HEAP32[($8_1 + 44 | 0) >> 2] = 8; + HEAP32[($8_1 + 40 | 0) >> 2] = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($8_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0) > (32768 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 60 | 0) >> 2] = 32768; + } + label$4 : { + label$5 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($8_1 + 68 | 0) >> 2] | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 24 | 0) >> 2] = ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 28 | 0) + 1 | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($8_1 + 48 | 0) >> 2] = 7; + break label$6; + } + i64toi32_i32$1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $3289(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = ((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 16 | 0) + 12 | 0; + $3288(HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) + (((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP32[((((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) + (((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + } + break label$4; + } + label$8 : { + label$9 : { + if ((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$9 + } + if ((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) % (8 | 0) | 0) { + break label$8 + } + } + label$10 : { + label$11 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $115_1 = HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$10; + } + $115_1 = 0; + } + HEAP32[($8_1 + 12 | 0) >> 2] = $115_1 + 8 | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $49(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 12 | 0) >> 2] | 0) << 4 | 0) + 36 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + label$13 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($8_1 + 48 | 0) >> 2] = 7; + break label$12; + } + label$14 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + $143_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $190_1 = 0; + i64toi32_i32$1 = $143_1; + HEAP32[i64toi32_i32$1 >> 2] = $190_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $190_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $143_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $190_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $143_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $190_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + $153_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $153_1; + HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] = $153_1; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[($8_1 + 12 | 0) >> 2] | 0) - 8 | 0; + } + } + label$15 : { + if (HEAP32[($8_1 + 48 | 0) >> 2] | 0) { + break label$15 + } + $165_1 = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0; + $166_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $167_1 = HEAP32[($166_1 + 16 | 0) >> 2] | 0; + HEAP32[($166_1 + 16 | 0) >> 2] = $167_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $165_1 + ($167_1 << 4 | 0) | 0; + i64toi32_i32$0 = 0; + $191_1 = 0; + i64toi32_i32$1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $191_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $191_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $178_1 = $2475($8_1 + 48 | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = $178_1; + } + } + HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + HEAP32[($8_1 + 76 | 0) >> 2] = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + } + $183_1 = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + global$0 = $8_1 + 80 | 0; + return $183_1 | 0; + } + + function $2591($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $28_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + global$0 = $8_1 + 32 | 0; + return $28_1 | 0; + } + + function $2592($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $25_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) % (8 | 0) | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) << 2 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $25_1 = 7; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $25_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $25_1; + break label$1; + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $30_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $30_1 | 0; + } + + function $2593($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[$6_1 >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$2 + } + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2598(HEAP32[$6_1 >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2599(HEAP32[$6_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + label$4 : { + if (HEAP32[($6_1 + 4 | 0) >> 2] | 0) { + break label$4 + } + if ((HEAPU8[((HEAP32[$6_1 >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2600(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + $28_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $28_1 | 0; + } + + function $2594($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $119$hi = 0, $120$hi = 0, $123$hi = 0, $124$hi = 0, $127$hi = 0, $128$hi = 0, $28_1 = 0, $29_1 = 0, $30_1 = 0, $77_1 = 0, $96_1 = 0, $190_1 = 0, $224_1 = 0, $119_1 = 0, $232_1 = 0, $123_1 = 0, $249_1 = 0, $127_1 = 0, $263_1 = 0, $114_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = $7_1; + HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + i64toi32_i32$0 = $2601(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $190_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $190_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if ((HEAPU8[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $224_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $224_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $119_1 = i64toi32_i32$0; + $119$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $120$hi = i64toi32_i32$0; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$0 = $120$hi; + $232_1 = i64toi32_i32$1; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$2 = $119_1; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$3 = $232_1; + label$6 : { + label$7 : { + label$8 : { + if (((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0) { + break label$8 + } + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$7 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $123_1 = i64toi32_i32$2; + $123$hi = i64toi32_i32$0; + i64toi32_i32$3 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $124$hi = i64toi32_i32$2; + i64toi32_i32$2 = $123$hi; + i64toi32_i32$2 = $124$hi; + i64toi32_i32$2 = $123$hi; + i64toi32_i32$2 = $124$hi; + $249_1 = i64toi32_i32$0; + i64toi32_i32$2 = $123$hi; + i64toi32_i32$3 = $123_1; + i64toi32_i32$0 = $124$hi; + i64toi32_i32$1 = $249_1; + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$1 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $127_1 = i64toi32_i32$3; + $127$hi = i64toi32_i32$2; + i64toi32_i32$1 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $128$hi = i64toi32_i32$3; + i64toi32_i32$3 = $127$hi; + i64toi32_i32$3 = $128$hi; + i64toi32_i32$3 = $127$hi; + i64toi32_i32$3 = $128$hi; + $263_1 = i64toi32_i32$2; + i64toi32_i32$3 = $127$hi; + i64toi32_i32$1 = $127_1; + i64toi32_i32$2 = $128$hi; + i64toi32_i32$0 = $263_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$2 | 0)) { + $28_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0) { + $29_1 = 0 + } else { + $29_1 = 1 + } + $30_1 = $29_1; + } else { + $30_1 = 0 + } + $28_1 = $30_1; + } + if (!(($28_1 & 1 | 0 | 0) == (HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + } + label$9 : { + label$10 : { + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$10 + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2598(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + break label$9; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2599(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + if (!(HEAP32[($6_1 + 32 | 0) >> 2] | 0)) { + break label$11 + } + break label$3; + } + label$12 : { + if ((HEAPU8[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + break label$6; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$4; + }; + } + $77_1 = 1; + label$13 : { + if (HEAP32[($6_1 + 32 | 0) >> 2] | 0) { + break label$13 + } + $77_1 = (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0); + } + HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] = $77_1 & 1 | 0; + break label$1; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$15 + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2598(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + break label$14; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2599(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + $96_1 = 1; + label$16 : { + if (HEAP32[($6_1 + 32 | 0) >> 2] | 0) { + break label$16 + } + $96_1 = ((HEAPU8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] = $96_1 & 1 | 0; + } + label$17 : { + if (HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$17 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2602(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + $114_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $114_1 | 0; + } + + function $2595($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $61$hi = 0, $62$hi = 0, $65$hi = 0, $66$hi = 0, $86_1 = 0, $61_1 = 0, $136_1 = 0, $65_1 = 0, $156_1 = 0, $57_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $86_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $86_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$4 : { + if (HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $61_1 = i64toi32_i32$1; + $61$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $62$hi = i64toi32_i32$1; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $62$hi; + $136_1 = i64toi32_i32$0; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$2 = $61_1; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$3 = $136_1; + label$5 : { + label$6 : { + if (((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$6 + } + if (!(HEAP32[($6_1 + 32 | 0) >> 2] | 0)) { + break label$5 + } + i64toi32_i32$3 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $65_1 = i64toi32_i32$2; + $65$hi = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $66$hi = i64toi32_i32$2; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$2 = $66$hi; + $156_1 = i64toi32_i32$1; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$1 = $66$hi; + if (!(($2603(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $65_1 | 0, i64toi32_i32$2 | 0, $156_1 | 0, i64toi32_i32$1 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 40 | 0) >> 2] | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0, i64toi32_i32$1, i64toi32_i32$2) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[$6_1 >> 2] | 0)) { + break label$7 + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$1; + } + } + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $2604(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $57_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $57_1 | 0; + } + + function $2596($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0, i64toi32_i32$0, i64toi32_i32$1) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($6_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2605(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + $21_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $21_1 | 0; + } + + function $2597($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0, i64toi32_i32$0, i64toi32_i32$1) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($6_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2606(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (!(HEAP32[($6_1 + 4 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + $22_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $22_1 | 0; + } + + function $2598($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $11_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $2607(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + $11_1 = $2491(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 32 | 0; + return $11_1 | 0; + } + + function $2599($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, $11_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $2608(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, 0 | 0, i64toi32_i32$0 | 0); + $11_1 = $2491(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $11_1 | 0; + } + + function $2600($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $19_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $83_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + if (HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $19_1 = 0; + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $83_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $83_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == ($19_1 | 0) & 1 | 0; + return $19_1 | 0; + } + + function $2601($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $53$hi = 0, $54$hi = 0, i64toi32_i32$3 = 0, $15_1 = 0, $16_1 = 0, $17_1 = 0, $115_1 = 0, $29_1 = 0, $53_1 = 0, $129_1 = 0, $147_1 = 0; + $5_1 = global$0 - 48 | 0; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((0 | 0) == ((HEAPU8[((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $115_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $115_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + label$4 : { + label$5 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$5 + } + $29_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $53_1 = i64toi32_i32$1; + $53$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $54$hi = i64toi32_i32$1; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$1 = $54$hi; + $129_1 = i64toi32_i32$0; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$2 = $53_1; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$3 = $129_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $15_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $16_1 = 0 + } else { + $16_1 = 1 + } + $17_1 = $16_1; + } else { + $17_1 = 0 + } + $15_1 = $17_1; + } + if (!(($29_1 | 0) != ($15_1 & 1 | 0 | 0) & 1 | 0)) { + break label$4 + } + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $147_1 = i64toi32_i32$2; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $147_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + } + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + label$6 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = 1; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$2; + return i64toi32_i32$1 | 0; + } + + function $2602($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $157$hi = 0, $158$hi = 0, $161$hi = 0, $162$hi = 0, $5_1 = 0, $140_1 = 0, $221_1 = 0, $229_1 = 0, $323_1 = 0, $157_1 = 0, $331_1 = 0, $161_1 = 0, $397_1 = 0, $470_1 = 0, $151_1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = $2601((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $221_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $221_1; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$2 = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $229_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $229_1; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$0; + } + label$3 : { + label$4 : while (1) { + HEAP32[($4_1 + 36 | 0) >> 2] = 1; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 24 | 0) >> 2] = ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 4 | 0) | 0; + label$9 : { + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + i64toi32_i32$0 = $2601(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $323_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $323_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $157_1 = i64toi32_i32$1; + $157$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $158$hi = i64toi32_i32$1; + i64toi32_i32$1 = $157$hi; + i64toi32_i32$1 = $158$hi; + i64toi32_i32$1 = $157$hi; + i64toi32_i32$1 = $158$hi; + $331_1 = i64toi32_i32$0; + i64toi32_i32$1 = $157$hi; + i64toi32_i32$2 = $157_1; + i64toi32_i32$0 = $158$hi; + i64toi32_i32$3 = $331_1; + label$12 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$12 + } + break label$9; + } + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + label$13 : { + if (!($2633(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0, $4_1 + 56 | 0 | 0) | 0)) { + break label$13 + } + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + break label$3; + } + break label$10; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $161_1 = i64toi32_i32$2; + $161$hi = i64toi32_i32$1; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $162$hi = i64toi32_i32$2; + i64toi32_i32$2 = $161$hi; + i64toi32_i32$2 = $162$hi; + i64toi32_i32$2 = $161$hi; + i64toi32_i32$2 = $162$hi; + $397_1 = i64toi32_i32$1; + i64toi32_i32$2 = $161$hi; + i64toi32_i32$3 = $161_1; + i64toi32_i32$1 = $162$hi; + i64toi32_i32$0 = $397_1; + label$14 : { + label$15 : { + if (((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0) { + break label$15 + } + if (!((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0)) { + break label$14 + } + } + break label$9; + } + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + label$16 : { + if (!($2634(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0, $4_1 + 56 | 0 | 0, (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 4 | 0 | 0) | 0)) { + break label$16 + } + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + break label$3; + } + } + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + if (!(HEAP32[($4_1 + 36 | 0) >> 2] | 0)) { + continue label$4 + } + break label$4; + }; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $470_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = $470_1; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$2; + $140_1 = 0; + label$17 : { + if (!((0 | 0) == ($2635($4_1 + 56 | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$17 + } + $140_1 = (HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0); + } + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] = $140_1 & 1 | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + } + $151_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $151_1 | 0; + } + + function $2603($0_1, $1_1, $1$hi, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $5_1 = 0, $23$hi = 0, $24$hi = 0, $27$hi = 0, $28$hi = 0, $31$hi = 0, $32$hi = 0, $35$hi = 0, $36$hi = 0, $26_1 = 0, $28_1 = 0, $29_1 = 0, $30_1 = 0, $32_1 = 0, $33_1 = 0, $34_1 = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $23_1 = 0, $61_1 = 0, $27_1 = 0, $77_1 = 0, $31_1 = 0, $91_1 = 0, $35_1 = 0, $107_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $2_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $23_1 = i64toi32_i32$0; + $23$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $24$hi = i64toi32_i32$0; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$0 = $24$hi; + $61_1 = i64toi32_i32$1; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$2 = $23_1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$3 = $61_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $26_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $28_1 = 0 + } else { + $28_1 = 1 + } + $29_1 = $28_1; + } else { + $29_1 = 0 + } + $26_1 = $29_1; + } + label$3 : { + if (!($26_1 & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = -1; + break label$1; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $27_1 = i64toi32_i32$2; + $27$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $28$hi = i64toi32_i32$2; + i64toi32_i32$2 = $27$hi; + i64toi32_i32$2 = $28$hi; + i64toi32_i32$2 = $27$hi; + i64toi32_i32$2 = $28$hi; + $77_1 = i64toi32_i32$0; + i64toi32_i32$2 = $27$hi; + i64toi32_i32$3 = $27_1; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$1 = $77_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $30_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $32_1 = 0 + } else { + $32_1 = 1 + } + $33_1 = $32_1; + } else { + $33_1 = 0 + } + $30_1 = $33_1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = $30_1 & 1 | 0; + break label$1; + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $31_1 = i64toi32_i32$3; + $31$hi = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$3; + i64toi32_i32$3 = $31$hi; + i64toi32_i32$3 = $32$hi; + i64toi32_i32$3 = $31$hi; + i64toi32_i32$3 = $32$hi; + $91_1 = i64toi32_i32$2; + i64toi32_i32$3 = $31$hi; + i64toi32_i32$1 = $31_1; + i64toi32_i32$2 = $32$hi; + i64toi32_i32$0 = $91_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$2 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0) { + $36_1 = 0 + } else { + $36_1 = 1 + } + $37_1 = $36_1; + } else { + $37_1 = 0 + } + $34_1 = $37_1; + } + label$4 : { + if (!($34_1 & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = -1; + break label$1; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $35_1 = i64toi32_i32$1; + $35$hi = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $36$hi = i64toi32_i32$1; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $36$hi; + $107_1 = i64toi32_i32$3; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$0 = $35_1; + i64toi32_i32$3 = $36$hi; + i64toi32_i32$2 = $107_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$3 | 0)) { + $38_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$2 >>> 0) { + $39_1 = 0 + } else { + $39_1 = 1 + } + $40_1 = $39_1; + } else { + $40_1 = 0 + } + $38_1 = $40_1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = $38_1 & 1 | 0; + } + return HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2604($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $152_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2648(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$4 + } + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$3 + } + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $152_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $152_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return; + } + + function $2605($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $84$hi = 0, $85$hi = 0, $7_1 = 0, $81$hi = 0, $82$hi = 0, $104_1 = 0, $81_1 = 0, $158_1 = 0, $84_1 = 0, $224_1 = 0, $238_1 = 0, $290_1 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + i64toi32_i32$2 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $104_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $104_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + $7_1 = 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = $7_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + HEAP32[($4_1 + 32 | 0) >> 2] = $7_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $81_1 = i64toi32_i32$1; + $81$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $82$hi = i64toi32_i32$1; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$1 = $82$hi; + $158_1 = i64toi32_i32$0; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$0 = $82$hi; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2603(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, $81_1 | 0, i64toi32_i32$1 | 0, $158_1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 40 | 0) >> 2] | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0, 1, i64toi32_i32$0, i64toi32_i32$1) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + break label$1; + } + } + label$7 : { + if (!(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$7 + } + $2649(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + break label$3; + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $84_1 = i64toi32_i32$1; + $84$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $85$hi = i64toi32_i32$1; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$1 = $85$hi; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$1 = $85$hi; + $224_1 = i64toi32_i32$0; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$2 = $84_1; + i64toi32_i32$0 = $85$hi; + i64toi32_i32$3 = $224_1; + label$8 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $238_1 = i64toi32_i32$2; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $238_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + } + label$9 : { + if (!(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + continue label$2 + } + break label$2; + }; + label$10 : { + if (!(HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$10 + } + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $2650(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $290_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $290_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $77_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $77_1 | 0; + } + + function $2606($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $12_1 = 0, $217_1 = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + $12_1 = (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2648(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 28 | 0) >> 2] | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0, 1, i64toi32_i32$0, i64toi32_i32$1) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2648(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + label$6 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + if (!(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$5 + } + } + break label$3; + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 28 | 0) >> 2] | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0, 0, 0, i64toi32_i32$1) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + continue label$1; + } + break label$1; + }; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $217_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $217_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$7 : { + if (!(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$7 + } + $2650(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + $64_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $64_1 | 0; + } + + function $2607($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $27$hi = 0, $28$hi = 0, $31$hi = 0, $32$hi = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $70_1 = 0, $27_1 = 0, $83_1 = 0, $31_1 = 0, $103_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : while (1) { + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $2608(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + label$3 : { + if (!($2609(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + break label$1; + } + i64toi32_i32$1 = $2610(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $70_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $70_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$4 : { + if (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $27_1 = i64toi32_i32$0; + $27$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $28$hi = i64toi32_i32$0; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$0 = $28$hi; + $83_1 = i64toi32_i32$1; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$2 = $27_1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$3 = $83_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $18_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $18_1 = $20_1; + } + if (!($18_1 & 1 | 0)) { + break label$4 + } + break label$1; + } + label$5 : { + if (!(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0)) { + break label$5 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $31_1 = i64toi32_i32$2; + $31$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$2; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$2 = $32$hi; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$2 = $32$hi; + $103_1 = i64toi32_i32$0; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$3 = $31_1; + i64toi32_i32$0 = $32$hi; + i64toi32_i32$1 = $103_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $21_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 > i64toi32_i32$1 >>> 0) { + $22_1 = 0 + } else { + $22_1 = 1 + } + $23_1 = $22_1; + } else { + $23_1 = 0 + } + $21_1 = $23_1; + } + if (!($21_1 & 1 | 0)) { + break label$5 + } + break label$1; + } + continue label$2; + }; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2608($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAPU16[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 88) | 0; + label$3 : { + label$4 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $2611(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + break label$3; + } + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 44 | 0) >> 2] | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0, $6_1 + 12 | 0); + } + label$5 : { + label$6 : { + if ((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$6 + } + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$6 + } + if (!($2612(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0) | 0)) { + break label$5 + } + } + $2613(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 1 | 0); + $2614(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 8 | 0) >> 2] = ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + label$7 : { + if (!((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$1; + } + } + label$8 : { + label$9 : { + if (!((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 255 | 0)) { + break label$9 + } + if (!(HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0)) { + break label$8 + } + } + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 40 | 0) >> 2] | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0); + break label$1; + } + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + continue label$2; + }; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2609($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = 1; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + $8_1 = ((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + return $8_1 & 1 | 0 | 0; + } + + function $2610($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$2 = ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2611($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $102$hi = 0, $103$hi = 0, $106$hi = 0, $107$hi = 0, $110$hi = 0, $111$hi = 0, $114$hi = 0, $115$hi = 0, $20_1 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $46_1 = 0, $30_1 = 0, $31_1 = 0, $32_1 = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $102_1 = 0, $173_1 = 0, $106_1 = 0, $240_1 = 0, $110_1 = 0, $342_1 = 0, $114_1 = 0, $362_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = 1; + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + label$3 : while (1) { + $20_1 = 0; + label$4 : { + if ($2615(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $102_1 = i64toi32_i32$0; + $102$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2616(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $103$hi = i64toi32_i32$0; + i64toi32_i32$0 = $102$hi; + i64toi32_i32$0 = $103$hi; + i64toi32_i32$0 = $102$hi; + i64toi32_i32$0 = $103$hi; + $173_1 = i64toi32_i32$1; + i64toi32_i32$0 = $102$hi; + i64toi32_i32$2 = $102_1; + i64toi32_i32$1 = $103$hi; + i64toi32_i32$3 = $173_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $27_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $28_1 = 0 + } else { + $28_1 = 1 + } + $29_1 = $28_1; + } else { + $29_1 = 0 + } + $27_1 = $29_1; + } + $20_1 = $27_1; + } + label$5 : { + if (!($20_1 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2617(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $2618(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + continue label$3; + } + break label$3; + }; + label$6 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $2619(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[$5_1 >> 2] = 0; + } + break label$1; + } + label$7 : while (1) { + $46_1 = 0; + label$8 : { + if ($2615(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$8 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $106_1 = i64toi32_i32$2; + $106$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2616(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $107$hi = i64toi32_i32$2; + i64toi32_i32$2 = $106$hi; + i64toi32_i32$2 = $107$hi; + i64toi32_i32$2 = $106$hi; + i64toi32_i32$2 = $107$hi; + $240_1 = i64toi32_i32$0; + i64toi32_i32$2 = $106$hi; + i64toi32_i32$3 = $106_1; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$1 = $240_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $30_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $31_1 = 0 + } else { + $31_1 = 1 + } + $32_1 = $31_1; + } else { + $32_1 = 0 + } + $30_1 = $32_1; + } + $46_1 = $30_1; + } + label$9 : { + if (!($46_1 & 1 | 0)) { + break label$9 + } + $2620(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + continue label$7; + } + break label$7; + }; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2617(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + $2621(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[$5_1 >> 2] = 0; + } + } + label$11 : while (1) { + label$12 : { + if (!(HEAP32[$5_1 >> 2] | 0)) { + break label$12 + } + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$12 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 28 | 0) >> 2] | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0, 0); + } + label$13 : { + label$14 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + break label$13; + } + label$15 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$15 + } + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] | 0; + $110_1 = i64toi32_i32$3; + $110$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $111$hi = i64toi32_i32$3; + i64toi32_i32$3 = $110$hi; + i64toi32_i32$3 = $111$hi; + i64toi32_i32$3 = $110$hi; + i64toi32_i32$3 = $111$hi; + $342_1 = i64toi32_i32$2; + i64toi32_i32$3 = $110$hi; + i64toi32_i32$1 = $110_1; + i64toi32_i32$2 = $111$hi; + i64toi32_i32$0 = $342_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$2 | 0)) { + $33_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + $34_1 = 0 + } else { + $34_1 = 1 + } + $35_1 = $34_1; + } else { + $35_1 = 0 + } + $33_1 = $35_1; + } + if (!($33_1 & 1 | 0)) { + break label$15 + } + break label$13; + } + label$16 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$16 + } + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] | 0; + $114_1 = i64toi32_i32$1; + $114$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $115$hi = i64toi32_i32$1; + i64toi32_i32$1 = $114$hi; + i64toi32_i32$1 = $115$hi; + i64toi32_i32$1 = $114$hi; + i64toi32_i32$1 = $115$hi; + $362_1 = i64toi32_i32$3; + i64toi32_i32$1 = $114$hi; + i64toi32_i32$0 = $114_1; + i64toi32_i32$3 = $115$hi; + i64toi32_i32$2 = $362_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$3 | 0)) { + $36_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 > i64toi32_i32$2 >>> 0) { + $37_1 = 0 + } else { + $37_1 = 1 + } + $38_1 = $37_1; + } else { + $38_1 = 0 + } + $36_1 = $38_1; + } + if (!($36_1 & 1 | 0)) { + break label$16 + } + break label$13; + } + HEAP32[$5_1 >> 2] = 1; + if (!(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + continue label$11 + } + } + break label$11; + }; + global$0 = $5_1 + 32 | 0; + return; + } + + function $2612($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $141$hi = 0, $142$hi = 0, $145$hi = 0, $146$hi = 0, $152$hi = 0, $153$hi = 0, $156$hi = 0, $157$hi = 0, $161$hi = 0, $162$hi = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $149$hi = 0, $150$hi = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $42_1 = 0, $141_1 = 0, $202_1 = 0, $145_1 = 0, $219_1 = 0, $267_1 = 0, $152_1 = 0, $330_1 = 0, $156_1 = 0, $350_1 = 0, $376_1 = 0, $161_1 = 0, $392_1 = 0, $418_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[($5_1 + 20 | 0) >> 2] | 0, 88) | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $141_1 = i64toi32_i32$0; + $141$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + $142$hi = i64toi32_i32$0; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$0 = $142$hi; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$0 = $142$hi; + $202_1 = i64toi32_i32$1; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$2 = $141_1; + i64toi32_i32$1 = $142$hi; + i64toi32_i32$3 = $202_1; + label$1 : { + label$2 : { + label$3 : { + if (((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0) { + break label$3 + } + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $145_1 = i64toi32_i32$2; + $145$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 68 | 0) >> 2] | 0; + $146$hi = i64toi32_i32$2; + i64toi32_i32$2 = $145$hi; + i64toi32_i32$2 = $146$hi; + i64toi32_i32$2 = $145$hi; + i64toi32_i32$2 = $146$hi; + $219_1 = i64toi32_i32$0; + i64toi32_i32$2 = $145$hi; + i64toi32_i32$3 = $145_1; + i64toi32_i32$0 = $146$hi; + i64toi32_i32$1 = $219_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $35_1 = 0 + } else { + $35_1 = 1 + } + $36_1 = $35_1; + } else { + $36_1 = 0 + } + $34_1 = $36_1; + } + if (!(($34_1 & 1 | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + } + i64toi32_i32$3 = -2147483648; + $149$hi = i64toi32_i32$3; + i64toi32_i32$3 = 2147483647; + $150$hi = i64toi32_i32$3; + HEAP32[($5_1 + 4 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAP32[($5_1 + 20 | 0) >> 2] | 0) ^ 1 | 0, 88) | 0; + i64toi32_i32$3 = $149$hi; + i64toi32_i32$3 = $150$hi; + i64toi32_i32$4 = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + i64toi32_i32$3 = $149$hi; + i64toi32_i32$2 = $150$hi; + i64toi32_i32$0 = i64toi32_i32$4 ? 0 : -1; + i64toi32_i32$1 = i64toi32_i32$4 ? i64toi32_i32$3 : i64toi32_i32$2; + $267_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] = $267_1; + HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 8 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$4 : { + label$5 : while (1) { + if (!(1 & 1 | 0)) { + break label$4 + } + HEAP32[$5_1 >> 2] = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + label$6 : { + if (!(((HEAPU8[((HEAP32[$5_1 >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$4 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 76 | 0) >> 2] | 0; + $152_1 = i64toi32_i32$1; + $152$hi = i64toi32_i32$0; + i64toi32_i32$4 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 76 | 0) >> 2] | 0; + $153$hi = i64toi32_i32$1; + i64toi32_i32$1 = $152$hi; + i64toi32_i32$1 = $153$hi; + i64toi32_i32$1 = $152$hi; + i64toi32_i32$1 = $153$hi; + $330_1 = i64toi32_i32$0; + i64toi32_i32$1 = $152$hi; + i64toi32_i32$4 = $152_1; + i64toi32_i32$0 = $153$hi; + i64toi32_i32$3 = $330_1; + label$7 : { + if (!(((i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$3 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $156_1 = i64toi32_i32$4; + $156$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $157$hi = i64toi32_i32$4; + i64toi32_i32$4 = $156$hi; + i64toi32_i32$4 = $157$hi; + i64toi32_i32$4 = $156$hi; + i64toi32_i32$4 = $157$hi; + $350_1 = i64toi32_i32$1; + i64toi32_i32$4 = $156$hi; + i64toi32_i32$3 = $156_1; + i64toi32_i32$1 = $157$hi; + i64toi32_i32$0 = $350_1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$1 | 0)) { + $37_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $38_1 = 0 + } else { + $38_1 = 1 + } + $39_1 = $38_1; + } else { + $39_1 = 0 + } + $37_1 = $39_1; + } + label$8 : { + label$9 : { + if (!(($37_1 & 1 | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] | 0; + $376_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 64 | 0) >> 2] = $376_1; + HEAP32[(i64toi32_i32$3 + 68 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$8; + } + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] | 0; + $161_1 = i64toi32_i32$4; + $161$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] | 0; + $162$hi = i64toi32_i32$4; + i64toi32_i32$4 = $161$hi; + i64toi32_i32$4 = $162$hi; + i64toi32_i32$4 = $161$hi; + i64toi32_i32$4 = $162$hi; + $392_1 = i64toi32_i32$3; + i64toi32_i32$4 = $161$hi; + i64toi32_i32$0 = $161_1; + i64toi32_i32$3 = $162$hi; + i64toi32_i32$1 = $392_1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$3 | 0)) { + $40_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$1 >>> 0) { + $41_1 = 0 + } else { + $41_1 = 1 + } + $42_1 = $41_1; + } else { + $42_1 = 0 + } + $40_1 = $42_1; + } + label$10 : { + if (!(($40_1 & 1 | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] | 0; + $418_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] = $418_1; + HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] = i64toi32_i32$4; + } + } + } + HEAP16[(HEAP32[$5_1 >> 2] | 0) >> 1] = ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) - ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 80 | 0) | 0 | 0) / (88 | 0) | 0; + label$11 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$11 + } + break label$4; + } + HEAP32[($5_1 + 4 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 8 | 0) >> 2] | 0) ^ 1 | 0) << 2 | 0) | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) / (2 | 0) | 0; + continue label$5; + }; + } + } + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + return HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2613($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $21_1 = 0, $33_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = ((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$1 : while (1) { + $21_1 = 0; + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) >= (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $21_1 = (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($21_1 & 1 | 0)) { + break label$3 + } + $33_1 = $2622(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $33_1; + label$4 : { + if (!$33_1) { + break label$4 + } + HEAP32[($6_1 + 4 | 0) >> 2] = ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[($6_1 + 8 | 0) >> 2] | 0, 88) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0, 0); + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) / (2 | 0) | 0; + continue label$1; + } + break label$1; + }; + global$0 = $6_1 + 32 | 0; + return; + } + + function $2614($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $78_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $78_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] = $78_1; + HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] = i64toi32_i32$1; + return; + } + + function $2615($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = 1; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + $8_1 = (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0); + } + return $8_1 & 1 | 0 | 0; + } + + function $2616($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2617($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0; + } + + function $2618($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $2623(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $2619($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $65_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$1; + } + $2531(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) - 1 | 0; + $2624(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + label$3 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($2532(HEAP32[(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + label$6 : { + if ((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$4; + } + $65_1 = ($2535((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0 | 0) | 0) & 255 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + $65_1 | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $2625(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2620($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $2626(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $2621($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $12_1 = 0, $24_1 = 0, $119$hi = 0, $120$hi = 0, $25_1 = 0, $121$hi = 0, $122$hi = 0, $123$hi = 0, $124$hi = 0, $125$hi = 0, $126$hi = 0, $97_1 = 0, $23_1 = 0, $28_1 = 0, $209_1 = 0, $96_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + $2531(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $12_1 = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + $23_1 = 0; + $24_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($24_1 + 8 | 0) >> 2] = (HEAP32[($24_1 + 8 | 0) >> 2] | 0) + -1 | 0; + $28_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $119$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $120$hi = i64toi32_i32$0; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $25_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $25_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $121$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $122$hi = i64toi32_i32$1; + i64toi32_i32$1 = $121$hi; + i64toi32_i32$1 = $122$hi; + i64toi32_i32$1 = $121$hi; + i64toi32_i32$0 = $25_1; + i64toi32_i32$2 = $122$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $123$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $124$hi = i64toi32_i32$5; + i64toi32_i32$5 = $123$hi; + i64toi32_i32$5 = $124$hi; + i64toi32_i32$5 = $123$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $124$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $125$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $126$hi = i64toi32_i32$4; + i64toi32_i32$4 = $125$hi; + i64toi32_i32$4 = $126$hi; + $209_1 = i64toi32_i32$1; + i64toi32_i32$4 = $125$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $126$hi; + i64toi32_i32$3 = $209_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2528($28_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != ($23_1 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + } + break label$5; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ($2532(HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + } + label$9 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + $96_1 = ($2535(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 72 | 0 | 0) | 0) & 255 | 0; + $97_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($97_1 + 20 | 0) >> 2] = (HEAP32[($97_1 + 20 | 0) >> 2] | 0) + $96_1 | 0; + break label$3; + } + $2531(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + } + continue label$1; + } + break label$1; + }; + label$10 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0; + $2627(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $2622($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $139$hi = 0, $140$hi = 0, $143$hi = 0, $144$hi = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $139_1 = 0, $363_1 = 0, $109_1 = 0, $110_1 = 0, $143_1 = 0, $393_1 = 0, $136_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) >= ((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) / (2 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 32 | 0) >> 2] = ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) - ((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) / (2 | 0) | 0) | 0) << 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAPU16[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAPU16[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + ((((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 1] | 0) & 65535 | 0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[($4_1 + 32 | 0) >> 2] | 0, 88) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[($4_1 + 28 | 0) >> 2] | 0, 88) | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] = 0; + label$3 : { + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + break label$6; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2632((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 60 | 0 | 0, (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 60 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$8 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $139_1 = i64toi32_i32$0; + $139$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $140$hi = i64toi32_i32$0; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$0 = $140$hi; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$0 = $140$hi; + $363_1 = i64toi32_i32$1; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$2 = $139_1; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$3 = $363_1; + label$9 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$9 + } + HEAP8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 84 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 84 | 0) >> 0] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + break label$3; + } + $109_1 = -1; + $110_1 = 1; + i64toi32_i32$3 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $143_1 = i64toi32_i32$2; + $143$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $144$hi = i64toi32_i32$2; + i64toi32_i32$2 = $143$hi; + i64toi32_i32$2 = $144$hi; + i64toi32_i32$2 = $143$hi; + i64toi32_i32$2 = $144$hi; + $393_1 = i64toi32_i32$0; + i64toi32_i32$2 = $143$hi; + i64toi32_i32$3 = $143_1; + i64toi32_i32$0 = $144$hi; + i64toi32_i32$1 = $393_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $18_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $18_1 = $20_1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = ($18_1 & 1 | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) & 1 | 0 ? $109_1 : $110_1; + } + label$10 : { + label$11 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + break label$10; + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + } + } + HEAP16[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 1] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $136_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $136_1 | 0; + } + + function $2623($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $65_1 = 0, $35_1 = 0, $66$hi = 0, $67$hi = 0, $28_1 = 0, $68$hi = 0, $69$hi = 0, $70$hi = 0, $71$hi = 0, $72$hi = 0, $29_1 = 0, $73$hi = 0, $74$hi = 0, $75$hi = 0, $32_1 = 0, $42_1 = 0, $70_1 = 0, $204_1 = 0, $51_1 = 0, $62_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 5 | 0) | 0; + label$1 : { + if (!($2628(HEAP32[$5_1 >> 2] | 0 | 0) | 0)) { + break label$1 + } + label$2 : { + if (!(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2623(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + label$3 : { + if (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$3 + } + $32_1 = 0; + $2531(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0); + $35_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = 0; + $65_1 = 0; + i64toi32_i32$1 = $35_1; + HEAP32[i64toi32_i32$1 >> 2] = $65_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $65_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $35_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $65_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $35_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $65_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $42_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $66$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $67$hi = i64toi32_i32$0; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $28_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $28_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $68$hi = i64toi32_i32$1; + i64toi32_i32$1 = 16; + $69$hi = i64toi32_i32$1; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$1 = $69$hi; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$0 = $28_1; + i64toi32_i32$2 = $69$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $70_1 = i64toi32_i32$4; + $70$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $71$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $72$hi = i64toi32_i32$5; + i64toi32_i32$5 = $71$hi; + i64toi32_i32$5 = $72$hi; + i64toi32_i32$5 = $71$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$3 = 31; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $29_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $29_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $73$hi = i64toi32_i32$0; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$5 = $70_1; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$3 = $29_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $74$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 48 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $75$hi = i64toi32_i32$4; + i64toi32_i32$4 = $74$hi; + i64toi32_i32$4 = $75$hi; + $204_1 = i64toi32_i32$5; + i64toi32_i32$4 = $74$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$5 = $75$hi; + i64toi32_i32$3 = $204_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $51_1 = $2528($42_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = $51_1; + label$4 : { + if (!((HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0) != ($32_1 | 0) & 1 | 0)) { + break label$4 + } + $2628(HEAP32[$5_1 >> 2] | 0 | 0) | 0; + } + } + } + } + $62_1 = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $62_1 | 0; + } + + function $2624($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $10_1 = 0, $86$hi = 0, $87$hi = 0, $23_1 = 0, $88$hi = 0, $89$hi = 0, $90$hi = 0, $91$hi = 0, $92$hi = 0, $93$hi = 0, $81_1 = 0, $35_1 = 0, $194_1 = 0, $42_1 = 0, $80_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $2531(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $10_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($10_1 + 8 | 0) >> 2] = (HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 1 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $35_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $86$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $87$hi = i64toi32_i32$0; + i64toi32_i32$0 = $86$hi; + i64toi32_i32$0 = $87$hi; + i64toi32_i32$0 = $86$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $23_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $23_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $88$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $89$hi = i64toi32_i32$1; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$1 = $89$hi; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$0 = $23_1; + i64toi32_i32$2 = $89$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $90$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $91$hi = i64toi32_i32$5; + i64toi32_i32$5 = $90$hi; + i64toi32_i32$5 = $91$hi; + i64toi32_i32$5 = $90$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $91$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $92$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $93$hi = i64toi32_i32$4; + i64toi32_i32$4 = $92$hi; + i64toi32_i32$4 = $93$hi; + $194_1 = i64toi32_i32$1; + i64toi32_i32$4 = $92$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $93$hi; + i64toi32_i32$3 = $194_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $42_1 = $2629($35_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = $42_1; + break label$3; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + } + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0; + break label$6; + } + $80_1 = $2534((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0 | 0) | 0; + $81_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($81_1 + 36 | 0) >> 2] = (HEAP32[($81_1 + 36 | 0) >> 2] | 0) + $80_1 | 0; + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2625($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $30_1 = 0, $84_1 = 0, $83_1 = 0, $105_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $30_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$4; + } + $30_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 16 | 0) >> 2] = $30_1; + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 84 | 0) >> 0] = 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] = 1; + label$6 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + if ((HEAPU8[((HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 84 | 0) >> 0] = 1; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + if ((HEAPU8[((HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] = 1; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + break label$7; + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] = 0; + } + } + break label$2; + } + $83_1 = HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + $84_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $84_1 + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[($83_1 + $84_1 | 0) >> 0] | 0) & 255 | 0; + label$9 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 128 | 0)) { + break label$9 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + -1 | 0; + $105_1 = $2534((HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0 | 0, $4_1 + 12 | 0 | 0) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + $105_1 | 0; + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 84 | 0) >> 0] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 1 | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 1 | 0; + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $2626($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $68_1 = 0, $35_1 = 0, $69$hi = 0, $70$hi = 0, $28_1 = 0, $71$hi = 0, $72$hi = 0, $73$hi = 0, $74$hi = 0, $75$hi = 0, $29_1 = 0, $76$hi = 0, $77$hi = 0, $78$hi = 0, $32_1 = 0, $42_1 = 0, $73_1 = 0, $207_1 = 0, $51_1 = 0, $65_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 5 | 0) | 0; + label$1 : { + if (!($2630(HEAP32[$5_1 >> 2] | 0 | 0) | 0)) { + break label$1 + } + label$2 : { + if (!(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2626(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + label$3 : { + if (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$3 + } + $32_1 = 0; + $2531(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0); + $35_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = 0; + $68_1 = 0; + i64toi32_i32$1 = $35_1; + HEAP32[i64toi32_i32$1 >> 2] = $68_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $68_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $35_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $68_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $35_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $68_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $42_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $69$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $70$hi = i64toi32_i32$0; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $70$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $28_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $28_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $71$hi = i64toi32_i32$1; + i64toi32_i32$1 = 16; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$0 = $28_1; + i64toi32_i32$2 = $72$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $73_1 = i64toi32_i32$4; + $73$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $74$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $75$hi = i64toi32_i32$5; + i64toi32_i32$5 = $74$hi; + i64toi32_i32$5 = $75$hi; + i64toi32_i32$5 = $74$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$3 = 31; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $29_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $29_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $76$hi = i64toi32_i32$0; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$5 = $73_1; + i64toi32_i32$1 = $76$hi; + i64toi32_i32$3 = $29_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $77$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 48 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $78$hi = i64toi32_i32$4; + i64toi32_i32$4 = $77$hi; + i64toi32_i32$4 = $78$hi; + $207_1 = i64toi32_i32$5; + i64toi32_i32$4 = $77$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$5 = $78$hi; + i64toi32_i32$3 = $207_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $51_1 = $2528($42_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = $51_1; + label$4 : { + if (!((HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0) != ($32_1 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : while (1) { + if ($2628(HEAP32[$5_1 >> 2] | 0 | 0) | 0) { + break label$5 + } + continue label$6; + }; + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] = 0; + } + } + } + } + $65_1 = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $65_1 | 0; + } + + function $2627($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $151$hi = 0, $99_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $136_1 = 0, $75_1 = 0, $96_1 = 0, $151_1 = 0, $379$hi = 0, $133_1 = 0, $135_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + label$1 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + } + label$2 : while (1) { + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + if ((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + label$6 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + if ((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + } + } + break label$3; + } + $75_1 = $2631((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0 | 0, $4_1 + 20 | 0 | 0, $4_1 + 16 | 0 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + $75_1 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + } + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$7; + } + $96_1 = ($2535((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0 | 0, $4_1 + 24 | 0 | 0) | 0) & 255 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + $96_1 | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $151_1 = i64toi32_i32$0; + $151$hi = i64toi32_i32$1; + $99_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $99_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $379$hi = i64toi32_i32$0; + i64toi32_i32$0 = $151$hi; + i64toi32_i32$0 = $379$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$3 = $151_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $99_1; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$5; + label$9 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$5 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] = 7; + break label$7; + } + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + $133_1 = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $135_1 = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $136_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = $136_1 + 1 | 0; + HEAP32[($135_1 + ($136_1 << 2 | 0) | 0) >> 2] = $133_1; + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + continue label$2; + } + break label$2; + }; + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $2625(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 64 | 0; + return; + } + + function $2628($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $18_1 = 0, $32_1 = 0, $81_1 = 0, $102$hi = 0, $93_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $17_1 = 0, $31_1 = 0, $90_1 = 0, $102_1 = 0, $313$hi = 0, $99_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + $17_1 = $2534((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0 | 0) | 0; + $18_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[($18_1 + 4 | 0) >> 2] = (HEAP32[($18_1 + 4 | 0) >> 2] | 0) + $17_1 | 0; + $31_1 = ($2535((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0 | 0) | 0) & 255 | 0; + $32_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[($32_1 + 4 | 0) >> 2] = (HEAP32[($32_1 + 4 | 0) >> 2] | 0) + $31_1 | 0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($3_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + break label$3; + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$6 : { + label$7 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $81_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[($81_1 + 16 | 0) >> 2] = (HEAP32[($81_1 + 16 | 0) >> 2] | 0) + (((HEAP32[($3_1 + 20 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + 1 | 0) | 0; + $90_1 = ($2535((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($3_1 + 20 | 0) >> 2] | 0) | 0 | 0, $3_1 + 8 | 0 | 0) | 0) & 255 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + $90_1 | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $102_1 = i64toi32_i32$0; + $102$hi = i64toi32_i32$1; + $93_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $93_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $313$hi = i64toi32_i32$0; + i64toi32_i32$0 = $102$hi; + i64toi32_i32$0 = $313$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $102$hi; + i64toi32_i32$3 = $102_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $93_1; + HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] = i64toi32_i32$5; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$6; + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + } + } + $99_1 = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $99_1 | 0; + } + + function $2629($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $35_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2528(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + $2531(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + } + $35_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $35_1 | 0; + } + + function $2630($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $30_1 = 0, $179$hi = 0, $62_1 = 0, i64toi32_i32$3 = 0, $63_1 = 0, $79_1 = 0, $135_1 = 0, $168_1 = 0, $179_1 = 0, $314$hi = 0, $318_1 = 0, $176_1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($3_1 + 44 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) > (9 | 0) & 1 | 0)) { + break label$4 + } + $30_1 = (HEAP32[($3_1 + 40 | 0) >> 2] | 0) - 9 | 0; + break label$3; + } + $30_1 = 0; + } + HEAP32[($3_1 + 20 | 0) >> 2] = $30_1; + HEAP32[($3_1 + 40 | 0) >> 2] = (HEAP32[($3_1 + 40 | 0) >> 2] | 0) + -1 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) > (HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (((HEAPU8[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 40 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0) { + break label$7 + } + break label$5; + } + HEAP32[($3_1 + 40 | 0) >> 2] = (HEAP32[($3_1 + 40 | 0) >> 2] | 0) + -1 | 0; + continue label$6; + }; + } + $2535((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + (HEAP32[($3_1 + 40 | 0) >> 2] | 0) | 0 | 0, $3_1 + 24 | 0 | 0) | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + $179_1 = i64toi32_i32$0; + $179$hi = i64toi32_i32$1; + $62_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = $62_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $314$hi = i64toi32_i32$0; + i64toi32_i32$0 = $179$hi; + i64toi32_i32$0 = $314$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $179$hi; + i64toi32_i32$3 = $179_1; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $318_1 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$2 = $62_1; + HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] = $318_1; + HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] = i64toi32_i32$5; + $63_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + HEAP32[($63_1 + 16 | 0) >> 2] = (HEAP32[($63_1 + 16 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 40 | 0) >> 2] | 0) - 1 | 0; + label$8 : while (1) { + $79_1 = 0; + label$9 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $79_1 = ((HEAPU8[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + label$10 : { + if (!($79_1 & 1 | 0)) { + break label$10 + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + -1 | 0; + continue label$8; + } + break label$8; + }; + label$11 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$11 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$12 : { + if (!(((HEAP32[($3_1 + 16 | 0) >> 2] | 0) - 8 | 0 | 0) >= (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($3_1 + 4 | 0) >> 2] = 1; + label$13 : while (1) { + $135_1 = 0; + label$14 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) <= (8 | 0) & 1 | 0)) { + break label$14 + } + $135_1 = (((HEAPU8[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) - (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0 | 0) != (0 | 0); + } + label$15 : { + if (!($135_1 & 1 | 0)) { + break label$15 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + } + break label$13; + }; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) > (8 | 0) & 1 | 0; + } + label$16 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$16 + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -1 | 0; + } + } + $168_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + HEAP32[($168_1 + 16 | 0) >> 2] = (HEAP32[($168_1 + 16 | 0) >> 2] | 0) - (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($3_1 + 40 | 0) >> 2] | 0) - (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + } + $176_1 = HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $176_1 | 0; + } + + function $2631($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, $7_1 = 0, $27_1 = 0, $38_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + $7_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $8_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $8_1 + 1 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAPU8[($7_1 + $8_1 | 0) >> 0] | 0) & 255 | 0; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0) & 128 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + -1 | 0; + $27_1 = $2534((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0, $5_1 + 16 | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + $27_1 | 0; + } + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) / (2 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) & 1 | 0; + $38_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $38_1 | 0; + } + + function $2632($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $22_1 = 0, $36_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + $16_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = $16_1; + label$3 : { + label$4 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$4 + } + $22_1 = 0; + break label$3; + } + $22_1 = $3228(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[$4_1 >> 2] = $22_1; + label$5 : { + label$6 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$6 + } + $36_1 = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + break label$5; + } + $36_1 = HEAP32[$4_1 >> 2] | 0; + } + global$0 = $4_1 + 16 | 0; + return $36_1 | 0; + } + + function $2633($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $56$hi = 0, $57$hi = 0, $60$hi = 0, $61$hi = 0, $7_1 = 0, $12_1 = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $86_1 = 0, $128_1 = 0, $56_1 = 0, $139_1 = 0, $60_1 = 0, $156_1 = 0, $207_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $86_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $86_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 8 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$2 + } + $12_1 = (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + label$4 : { + if ((HEAPU8[((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $128_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[$6_1 >> 2] = $128_1; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$5 : { + label$6 : { + label$7 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$7 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $56_1 = i64toi32_i32$0; + $56$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $57$hi = i64toi32_i32$0; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$0 = $57$hi; + $139_1 = i64toi32_i32$1; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$2 = $56_1; + i64toi32_i32$1 = $57$hi; + i64toi32_i32$3 = $139_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $23_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $24_1 = 0 + } else { + $24_1 = 1 + } + $25_1 = $24_1; + } else { + $25_1 = 0 + } + $23_1 = $25_1; + } + if ($23_1 & 1 | 0) { + break label$6 + } + } + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$5 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $60_1 = i64toi32_i32$2; + $60$hi = i64toi32_i32$0; + i64toi32_i32$3 = $6_1; + i64toi32_i32$0 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $61$hi = i64toi32_i32$2; + i64toi32_i32$2 = $60$hi; + i64toi32_i32$2 = $61$hi; + i64toi32_i32$2 = $60$hi; + i64toi32_i32$2 = $61$hi; + $156_1 = i64toi32_i32$0; + i64toi32_i32$2 = $60$hi; + i64toi32_i32$3 = $60_1; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$1 = $156_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $26_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $27_1 = 0 + } else { + $27_1 = 1 + } + $28_1 = $27_1; + } else { + $28_1 = 0 + } + $26_1 = $28_1; + } + if (!($26_1 & 1 | 0)) { + break label$5 + } + } + i64toi32_i32$1 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2598(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + label$8 : { + label$9 : { + if (!(HEAP32[($6_1 + 28 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = 1; + break label$8; + } + i64toi32_i32$2 = $2601(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $207_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $207_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + } + $51_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $51_1 | 0; + } + + function $2634($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $37$hi = 0, $38$hi = 0, $41$hi = 0, $42$hi = 0, $24_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $30_1 = 0, $25_1 = 0, $68_1 = 0, $74_1 = 0, $37_1 = 0, $85_1 = 0, $41_1 = 0, $102_1 = 0, $147_1 = 0, $153_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + i64toi32_i32$2 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $68_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $68_1; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $74_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $74_1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (HEAP32[($7_1 + 36 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $37_1 = i64toi32_i32$0; + $37$hi = i64toi32_i32$1; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $38$hi = i64toi32_i32$0; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$0 = $38$hi; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$0 = $38$hi; + $85_1 = i64toi32_i32$1; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$2 = $37_1; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$3 = $85_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $24_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $26_1 = 0 + } else { + $26_1 = 1 + } + $27_1 = $26_1; + } else { + $27_1 = 0 + } + $24_1 = $27_1; + } + if ($24_1 & 1 | 0) { + break label$3 + } + } + if (!(HEAP32[($7_1 + 36 | 0) >> 2] | 0)) { + break label$2 + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $41_1 = i64toi32_i32$2; + $41$hi = i64toi32_i32$0; + i64toi32_i32$3 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $42$hi = i64toi32_i32$2; + i64toi32_i32$2 = $41$hi; + i64toi32_i32$2 = $42$hi; + i64toi32_i32$2 = $41$hi; + i64toi32_i32$2 = $42$hi; + $102_1 = i64toi32_i32$0; + i64toi32_i32$2 = $41$hi; + i64toi32_i32$3 = $41_1; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$1 = $102_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $28_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $29_1 = 0 + } else { + $29_1 = 1 + } + $30_1 = $29_1; + } else { + $30_1 = 0 + } + $28_1 = $30_1; + } + if (!($28_1 & 1 | 0)) { + break label$2 + } + } + i64toi32_i32$1 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2598(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (HEAP32[($7_1 + 4 | 0) >> 2] | 0) { + break label$6 + } + if (!((HEAPU8[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0)) { + break label$5 + } + } + $25_1 = 1; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] = $25_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $25_1; + break label$1; + } + i64toi32_i32$1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $147_1 = i64toi32_i32$2; + i64toi32_i32$2 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $147_1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$3; + } + i64toi32_i32$1 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $153_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $153_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + } + $32_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $32_1 | 0; + } + + function $2635($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $149$hi = 0, $150$hi = 0, $55_1 = 0, $149_1 = 0, $238_1 = 0, $146_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 36 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 20 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$5 : { + if ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $149_1 = i64toi32_i32$0; + $149$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $150$hi = i64toi32_i32$0; + i64toi32_i32$0 = $149$hi; + i64toi32_i32$0 = $150$hi; + i64toi32_i32$0 = $149$hi; + i64toi32_i32$0 = $150$hi; + $238_1 = i64toi32_i32$1; + i64toi32_i32$0 = $149$hi; + i64toi32_i32$2 = $149_1; + i64toi32_i32$1 = $150$hi; + label$6 : { + if (!(((i64toi32_i32$2 | 0) == ($238_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + } + } + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$4; + }; + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$7 : while (1) { + $55_1 = 0; + label$8 : { + if (HEAP32[($5_1 + 40 | 0) >> 2] | 0) { + break label$8 + } + $55_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + } + label$9 : { + if (!($55_1 & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$10 : { + label$11 : { + label$12 : { + if ((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0) { + break label$12 + } + if ((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + if ((HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + if (!((HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2636(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$13 + } + break label$9; + } + break label$10; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $2637($5_1 + 40 | 0 | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + label$14 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$15 + } + if (!($2638(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$14 + } + } + HEAP32[($5_1 + 60 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + } + $146_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $146_1 | 0; + } + + function $2636($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $57_1 = 0, $264$hi = 0, $265$hi = 0, $268$hi = 0, $269$hi = 0, $272$hi = 0, $273$hi = 0, $74_1 = 0, $261$hi = 0, $262$hi = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $42_1 = 0, $276$hi = 0, $277$hi = 0, $279$hi = 0, $280$hi = 0, $201_1 = 0, $576_1 = 0, $261_1 = 0, $617_1 = 0, $264_1 = 0, $630_1 = 0, $268_1 = 0, $648_1 = 0, $272_1 = 0, $670_1 = 0, $276_1 = 0, $687_1 = 0, $252_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 224 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 216 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 212 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 208 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1 + 200 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 92 | 0) >> 2] = $5_1 + 96 | 0; + HEAP32[($5_1 + 84 | 0) >> 2] = 0; + HEAP32[($5_1 + 80 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0; + $2639((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 4 | 0 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 72 | 0) >> 2] = Math_imul(HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, 24); + HEAP32[($5_1 + 76 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($5_1 + 220 | 0) >> 2] = 7; + break label$1; + } + } + $3289(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 0 | 0, Math_imul(HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, 24) | 0) | 0; + HEAP32[($5_1 + 88 | 0) >> 2] = 0; + label$4 : { + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $57_1 = 0; + HEAP32[($5_1 + 68 | 0) >> 2] = ((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 88 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = $57_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $57_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $57_1; + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($57_1 | 0) & 1 | 0)) { + break label$8 + } + $74_1 = $5_1 + 40 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = $74_1; + HEAP32[i64toi32_i32$0 >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[($5_1 + 216 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2640(HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, $74_1 | 0, $5_1 + 56 | 0 | 0, $5_1 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($5_1 + 84 | 0) >> 2] | 0)) { + break label$9 + } + $42(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + break label$4; + } + label$10 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 1; + } + break label$7; + } + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + $2641(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 88 | 0) >> 2] | 0, 24) | 0 | 0) | 0; + HEAP8[(((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 88 | 0) >> 2] | 0, 24) | 0) + 12 | 0) >> 0] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + label$11 : { + if (!(((HEAPU8[(((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 88 | 0) >> 2] | 0, 24) | 0) + 13 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + break label$4; + } + HEAP32[($5_1 + 88 | 0) >> 2] = (HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$12 : while (1) { + i64toi32_i32$2 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $576_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $576_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + label$13 : while (1) { + HEAP32[($5_1 + 36 | 0) >> 2] = 1; + HEAP32[($5_1 + 88 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 88 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $261_1 = i64toi32_i32$1; + $261$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $262$hi = i64toi32_i32$0; + i64toi32_i32$0 = $261$hi; + i64toi32_i32$0 = $262$hi; + $617_1 = i64toi32_i32$1; + i64toi32_i32$0 = $261$hi; + i64toi32_i32$2 = $261_1; + i64toi32_i32$1 = $262$hi; + i64toi32_i32$3 = $617_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $264_1 = i64toi32_i32$5; + $264$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $265$hi = i64toi32_i32$5; + i64toi32_i32$5 = $264$hi; + i64toi32_i32$5 = $265$hi; + i64toi32_i32$5 = $264$hi; + i64toi32_i32$5 = $265$hi; + $630_1 = i64toi32_i32$2; + i64toi32_i32$5 = $264$hi; + i64toi32_i32$0 = $264_1; + i64toi32_i32$2 = $265$hi; + i64toi32_i32$3 = $630_1; + label$16 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($5_1 + 36 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $268_1 = i64toi32_i32$0; + $268$hi = i64toi32_i32$5; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $269$hi = i64toi32_i32$0; + i64toi32_i32$0 = $268$hi; + i64toi32_i32$0 = $269$hi; + i64toi32_i32$0 = $268$hi; + i64toi32_i32$0 = $269$hi; + $648_1 = i64toi32_i32$5; + i64toi32_i32$0 = $268$hi; + i64toi32_i32$3 = $268_1; + i64toi32_i32$5 = $269$hi; + i64toi32_i32$2 = $648_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$5 | 0)) { + $37_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$2 >>> 0) { + $38_1 = 0 + } else { + $38_1 = 1 + } + $39_1 = $38_1; + } else { + $39_1 = 0 + } + $37_1 = $39_1; + } + if (!($37_1 & 1 | 0)) { + break label$17 + } + label$19 : { + if (!($2642(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$19 + } + break label$4; + } + continue label$18; + }; + } + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $272_1 = i64toi32_i32$3; + $272$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $273$hi = i64toi32_i32$3; + i64toi32_i32$3 = $272$hi; + i64toi32_i32$3 = $273$hi; + i64toi32_i32$3 = $272$hi; + i64toi32_i32$3 = $273$hi; + $670_1 = i64toi32_i32$0; + i64toi32_i32$3 = $272$hi; + i64toi32_i32$2 = $272_1; + i64toi32_i32$0 = $273$hi; + i64toi32_i32$5 = $670_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$0 | 0)) { + $40_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$5 >>> 0) { + $41_1 = 0 + } else { + $41_1 = 1 + } + $42_1 = $41_1; + } else { + $42_1 = 0 + } + $40_1 = $42_1; + } + label$20 : { + if (!($40_1 & 1 | 0)) { + break label$20 + } + i64toi32_i32$5 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $276_1 = i64toi32_i32$2; + $276$hi = i64toi32_i32$3; + i64toi32_i32$2 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + $277$hi = i64toi32_i32$3; + i64toi32_i32$3 = $276$hi; + i64toi32_i32$3 = $277$hi; + $687_1 = i64toi32_i32$2; + i64toi32_i32$3 = $276$hi; + i64toi32_i32$5 = $276_1; + i64toi32_i32$2 = $277$hi; + i64toi32_i32$0 = $687_1; + i64toi32_i32$1 = i64toi32_i32$5 - i64toi32_i32$0 | 0; + i64toi32_i32$4 = (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$4; + } + } + HEAP32[($5_1 + 88 | 0) >> 2] = (HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + if (!(HEAP32[($5_1 + 36 | 0) >> 2] | 0)) { + continue label$13 + } + break label$13; + }; + label$21 : { + label$22 : { + if (!(HEAP32[($5_1 + 80 | 0) >> 2] | 0)) { + break label$22 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $279$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $280$hi = i64toi32_i32$5; + i64toi32_i32$5 = $279$hi; + i64toi32_i32$5 = $280$hi; + i64toi32_i32$5 = $279$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$4 = $280$hi; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$4 = i64toi32_i32$5 & i64toi32_i32$4 | 0; + if (i64toi32_i32$3 & i64toi32_i32$0 | 0) { + break label$21 + } + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2643((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 4 | 0 | 0, $5_1 + 200 | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!(HEAP32[($5_1 + 84 | 0) >> 2] | 0)) { + break label$23 + } + break label$4; + } + } + HEAP32[($5_1 + 88 | 0) >> 2] = 0; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + label$26 : { + if (!($2642((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 88 | 0) >> 2] | 0, 24) | 0 | 0) | 0)) { + break label$26 + } + break label$4; + } + HEAP32[($5_1 + 88 | 0) >> 2] = (HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + continue label$12; + }; + } + $201_1 = 0; + HEAP32[(HEAP32[($5_1 + 208 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > ($201_1 | 0) & 1 | 0; + HEAP32[($5_1 + 88 | 0) >> 2] = $201_1; + label$27 : { + label$28 : while (1) { + if (!((HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + label$29 : { + if (!(((HEAPU8[(((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 88 | 0) >> 2] | 0, 24) | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$29 + } + $42(HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 88 | 0) >> 2] | 0, 24) | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 88 | 0) >> 2] = (HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + label$30 : { + if (!((HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) != ($5_1 + 96 | 0 | 0) & 1 | 0)) { + break label$30 + } + $42(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 220 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + } + $252_1 = HEAP32[($5_1 + 220 | 0) >> 2] | 0; + global$0 = $5_1 + 224 | 0; + return $252_1 | 0; + } + + function $2637($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + $2510(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0); + global$0 = $6_1 + 16 | 0; + return; + } + + function $2638($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$6 = 0, $237$hi = 0, $238$hi = 0, $241$hi = 0, $242$hi = 0, $245$hi = 0, $246$hi = 0, $249$hi = 0, $250$hi = 0, $255$hi = 0, $256$hi = 0, $261$hi = 0, $262$hi = 0, $232$hi = 0, $233$hi = 0, $234$hi = 0, $235$hi = 0, $48_1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $52_1 = 0, $53_1 = 0, $54_1 = 0, $55_1 = 0, $56_1 = 0, $57_1 = 0, $58_1 = 0, $59_1 = 0, $171_1 = 0, $60_1 = 0, $61_1 = 0, $62_1 = 0, $438_1 = 0, $232_1 = 0, $494_1 = 0, $504_1 = 0, $237_1 = 0, $517_1 = 0, $241_1 = 0, $532_1 = 0, $245_1 = 0, $550_1 = 0, $249_1 = 0, $572_1 = 0, $584_1 = 0, $627_1 = 0, $255_1 = 0, $668_1 = 0, $709_1 = 0, $261_1 = 0, $745_1 = 0, $765_1 = 0, $226_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 288 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 280 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 276 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $4_1 + 80 | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = (HEAP32[($4_1 + 276 | 0) >> 2] | 0) + 12 | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 280 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 276 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = Math_imul(HEAP32[((HEAP32[($4_1 + 276 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 48); + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2468($4_1 + 64 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $3289($4_1 + 80 | 0 | 0, 0 | 0, 192 | 0) | 0; + } + label$3 : { + label$4 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[(HEAP32[($4_1 + 280 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + HEAP32[($4_1 + 284 | 0) >> 2] = 0; + break label$3; + } + HEAP32[($4_1 + 68 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 276 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0; + $2644(HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 68 | 0) >> 2] | 0, 48) | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP32[(((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 68 | 0) >> 2] | 0, 48) | 0) + 40 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$7 : while (1) { + i64toi32_i32$2 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $438_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $438_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$8 : { + label$9 : while (1) { + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + HEAP32[($4_1 + 68 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 276 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 68 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $232_1 = i64toi32_i32$0; + $232$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[(((HEAP32[($4_1 + 276 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $233$hi = i64toi32_i32$1; + i64toi32_i32$1 = $232$hi; + i64toi32_i32$1 = $233$hi; + $494_1 = i64toi32_i32$0; + i64toi32_i32$1 = $232$hi; + i64toi32_i32$2 = $232_1; + i64toi32_i32$0 = $233$hi; + i64toi32_i32$3 = $494_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $234$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[(HEAP32[($4_1 + 276 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $235$hi = i64toi32_i32$5; + i64toi32_i32$5 = $234$hi; + i64toi32_i32$5 = $235$hi; + $504_1 = i64toi32_i32$2; + i64toi32_i32$5 = $234$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $235$hi; + i64toi32_i32$3 = $504_1; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $237_1 = i64toi32_i32$4; + $237$hi = i64toi32_i32$1; + i64toi32_i32$5 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $238$hi = i64toi32_i32$4; + i64toi32_i32$4 = $237$hi; + i64toi32_i32$4 = $238$hi; + i64toi32_i32$4 = $237$hi; + i64toi32_i32$4 = $238$hi; + $517_1 = i64toi32_i32$1; + i64toi32_i32$4 = $237$hi; + i64toi32_i32$5 = $237_1; + i64toi32_i32$1 = $238$hi; + i64toi32_i32$3 = $517_1; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$1 | 0)) { + $48_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$3 >>> 0) { + $49_1 = 0 + } else { + $49_1 = 1 + } + $50_1 = $49_1; + } else { + $50_1 = 0 + } + $48_1 = $50_1; + } + label$12 : { + label$13 : { + if ($48_1 & 1 | 0) { + break label$13 + } + i64toi32_i32$3 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $241_1 = i64toi32_i32$5; + $241$hi = i64toi32_i32$4; + i64toi32_i32$3 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $242$hi = i64toi32_i32$5; + i64toi32_i32$5 = $241$hi; + i64toi32_i32$5 = $242$hi; + i64toi32_i32$5 = $241$hi; + i64toi32_i32$5 = $242$hi; + $532_1 = i64toi32_i32$4; + i64toi32_i32$5 = $241$hi; + i64toi32_i32$3 = $241_1; + i64toi32_i32$4 = $242$hi; + i64toi32_i32$1 = $532_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$4 | 0)) { + $51_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $52_1 = 0 + } else { + $52_1 = 1 + } + $53_1 = $52_1; + } else { + $53_1 = 0 + } + $51_1 = $53_1; + } + if (!($51_1 & 1 | 0)) { + break label$12 + } + } + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $245_1 = i64toi32_i32$3; + $245$hi = i64toi32_i32$5; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $246$hi = i64toi32_i32$3; + i64toi32_i32$3 = $245$hi; + i64toi32_i32$3 = $246$hi; + i64toi32_i32$3 = $245$hi; + i64toi32_i32$3 = $246$hi; + $550_1 = i64toi32_i32$5; + i64toi32_i32$3 = $245$hi; + i64toi32_i32$1 = $245_1; + i64toi32_i32$5 = $246$hi; + i64toi32_i32$4 = $550_1; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$5 | 0)) { + $54_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$4 >>> 0) { + $55_1 = 0 + } else { + $55_1 = 1 + } + $56_1 = $55_1; + } else { + $56_1 = 0 + } + $54_1 = $56_1; + } + if (!($54_1 & 1 | 0)) { + break label$14 + } + label$16 : { + if (!($2645(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$16 + } + break label$8; + } + continue label$15; + }; + } + i64toi32_i32$4 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] | 0; + $249_1 = i64toi32_i32$1; + $249$hi = i64toi32_i32$3; + i64toi32_i32$4 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $250$hi = i64toi32_i32$1; + i64toi32_i32$1 = $249$hi; + i64toi32_i32$1 = $250$hi; + i64toi32_i32$1 = $249$hi; + i64toi32_i32$1 = $250$hi; + $572_1 = i64toi32_i32$3; + i64toi32_i32$1 = $249$hi; + i64toi32_i32$4 = $249_1; + i64toi32_i32$3 = $250$hi; + i64toi32_i32$5 = $572_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$3 | 0)) { + $57_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$4 >>> 0 <= i64toi32_i32$5 >>> 0) { + $58_1 = 0 + } else { + $58_1 = 1 + } + $59_1 = $58_1; + } else { + $59_1 = 0 + } + $57_1 = $59_1; + } + label$17 : { + if (!($57_1 & 1 | 0)) { + break label$17 + } + i64toi32_i32$5 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $584_1 = i64toi32_i32$4; + i64toi32_i32$4 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $584_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + } + } + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + if (!(HEAP32[($4_1 + 60 | 0) >> 2] | 0)) { + continue label$9 + } + break label$9; + }; + HEAP32[($4_1 + 68 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 276 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + i64toi32_i32$5 = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 68 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $627_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $627_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 68 | 0) >> 2] | 0, 48) | 0) + 32 | 0; + label$20 : { + label$21 : { + if (!(HEAP32[((HEAP32[(((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 68 | 0) >> 2] | 0, 48) | 0) + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$21 + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $255_1 = i64toi32_i32$4; + $255$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $256$hi = i64toi32_i32$4; + i64toi32_i32$4 = $255$hi; + i64toi32_i32$4 = $256$hi; + i64toi32_i32$4 = $255$hi; + i64toi32_i32$4 = $256$hi; + $668_1 = i64toi32_i32$1; + i64toi32_i32$4 = $255$hi; + i64toi32_i32$5 = $255_1; + i64toi32_i32$1 = $256$hi; + i64toi32_i32$3 = $668_1; + if (!(((i64toi32_i32$5 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$4 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$20 + } + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $2643(HEAP32[(((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 68 | 0) >> 2] | 0, 48) | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$4 | 0) | 0; + } + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + $171_1 = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $171_1; + i64toi32_i32$3 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $709_1 = i64toi32_i32$4; + i64toi32_i32$4 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $709_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 68 | 0) >> 2] = $171_1; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 276 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + i64toi32_i32$3 = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 68 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $261_1 = i64toi32_i32$5; + $261$hi = i64toi32_i32$4; + i64toi32_i32$3 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $262$hi = i64toi32_i32$5; + i64toi32_i32$5 = $261$hi; + i64toi32_i32$5 = $262$hi; + i64toi32_i32$5 = $261$hi; + i64toi32_i32$5 = $262$hi; + $745_1 = i64toi32_i32$4; + i64toi32_i32$5 = $261$hi; + i64toi32_i32$3 = $261_1; + i64toi32_i32$4 = $262$hi; + i64toi32_i32$1 = $745_1; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$4 | 0)) { + $60_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $61_1 = 0 + } else { + $61_1 = 1 + } + $62_1 = $61_1; + } else { + $62_1 = 0 + } + $60_1 = $62_1; + } + label$24 : { + if (!($60_1 & 1 | 0)) { + break label$24 + } + i64toi32_i32$1 = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 68 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $765_1 = i64toi32_i32$3; + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $765_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + label$25 : { + if (!($2645((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 40 | 0) >> 2] | 0, 48) | 0 | 0) | 0)) { + break label$25 + } + break label$8; + } + continue label$7; + } + break label$7; + }; + HEAP32[$4_1 >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0; + HEAP32[(HEAP32[($4_1 + 280 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + label$26 : { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) != ($4_1 + 80 | 0 | 0) & 1 | 0)) { + break label$26 + } + $42(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 284 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + $226_1 = HEAP32[($4_1 + 284 | 0) >> 2] | 0; + global$0 = $4_1 + 288 | 0; + return $226_1 | 0; + } + + function $2639($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + return; + } + + function $2640($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $180$hi = 0, $181$hi = 0, $189$hi = 0, $190$hi = 0, $193$hi = 0, $194$hi = 0, $198$hi = 0, $8_1 = 0, $30_1 = 0, $31_1 = 0, $32_1 = 0, $200$hi = 0, $180_1 = 0, $270_1 = 0, $186$hi = 0, $189_1 = 0, $497_1 = 0, $193_1 = 0, $535_1 = 0, $555_1 = 0, $595_1 = 0, $177_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 208 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 204 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 192 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 196 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 188 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 184 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 180 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $7_1 + 80 | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 68 | 0) >> 2] = 4; + HEAP32[($7_1 + 64 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if ((HEAPU8[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + i64toi32_i32$2 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $180_1 = i64toi32_i32$0; + $180$hi = i64toi32_i32$1; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 192 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 196 | 0) >> 2] | 0; + $181$hi = i64toi32_i32$0; + i64toi32_i32$0 = $180$hi; + i64toi32_i32$0 = $181$hi; + i64toi32_i32$0 = $180$hi; + i64toi32_i32$0 = $181$hi; + $270_1 = i64toi32_i32$1; + i64toi32_i32$0 = $180$hi; + i64toi32_i32$2 = $180_1; + i64toi32_i32$1 = $181$hi; + i64toi32_i32$3 = $270_1; + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$6 + } + break label$4; + } + label$7 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 48 | 0) >> 2] = Math_imul(HEAP32[($7_1 + 68 | 0) >> 2] | 0, 24) << 1 | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $41(i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 64 | 0) >> 2] = 7; + break label$1; + } + $3288(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($7_1 + 72 | 0) >> 2] | 0, 24) | 0) | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = (HEAP32[($7_1 + 68 | 0) >> 2] | 0) << 1 | 0; + label$9 : { + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) != ($7_1 + 80 | 0 | 0) & 1 | 0)) { + break label$9 + } + $42(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + } + $2641(HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 72 | 0) >> 2] | 0, 24) | 0 | 0) | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = (HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 1 | 0; + } + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$3; + }; + } + label$10 : { + label$11 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[(HEAP32[($7_1 + 184 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 180 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$10; + } + i64toi32_i32$0 = -1; + $186$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $7_1 + 32 | 0; + HEAP32[i64toi32_i32$2 >> 2] = 0; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $186$hi; + i64toi32_i32$2 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = -1; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$0; + $2639(HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0); + label$12 : while (1) { + i64toi32_i32$0 = 2147483647; + i64toi32_i32$2 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = -1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + label$15 : { + label$16 : { + if ((HEAPU8[(((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 20 | 0) >> 2] | 0, 24) | 0) + 13 | 0) >> 0] | 0) & 255 | 0) { + break label$16 + } + i64toi32_i32$3 = (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 20 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $189_1 = i64toi32_i32$0; + $189$hi = i64toi32_i32$2; + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $190$hi = i64toi32_i32$0; + i64toi32_i32$0 = $189$hi; + i64toi32_i32$0 = $190$hi; + i64toi32_i32$0 = $189$hi; + i64toi32_i32$0 = $190$hi; + $497_1 = i64toi32_i32$2; + i64toi32_i32$0 = $189$hi; + i64toi32_i32$3 = $189_1; + i64toi32_i32$2 = $190$hi; + i64toi32_i32$1 = $497_1; + label$17 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$17 + } + label$18 : { + if (!($2642((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 20 | 0) >> 2] | 0, 24) | 0 | 0) | 0)) { + break label$18 + } + break label$15; + } + } + i64toi32_i32$1 = (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 20 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $193_1 = i64toi32_i32$3; + $193$hi = i64toi32_i32$0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $194$hi = i64toi32_i32$3; + i64toi32_i32$3 = $193$hi; + i64toi32_i32$3 = $194$hi; + i64toi32_i32$3 = $193$hi; + i64toi32_i32$3 = $194$hi; + $535_1 = i64toi32_i32$0; + i64toi32_i32$3 = $193$hi; + i64toi32_i32$1 = $193_1; + i64toi32_i32$0 = $194$hi; + i64toi32_i32$2 = $535_1; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$0 | 0)) { + $30_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$2 >>> 0) { + $31_1 = 0 + } else { + $31_1 = 1 + } + $32_1 = $31_1; + } else { + $32_1 = 0 + } + $30_1 = $32_1; + } + label$19 : { + if (!($30_1 & 1 | 0)) { + break label$19 + } + i64toi32_i32$2 = (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 20 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $555_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $555_1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$3; + } + } + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + i64toi32_i32$3 = 2147483647; + $198$hi = i64toi32_i32$3; + i64toi32_i32$2 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $200$hi = i64toi32_i32$1; + i64toi32_i32$1 = $198$hi; + i64toi32_i32$1 = $200$hi; + i64toi32_i32$1 = $198$hi; + i64toi32_i32$1 = $200$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $198$hi; + i64toi32_i32$0 = -1; + label$20 : { + label$21 : { + label$22 : { + if (((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0) { + break label$22 + } + if (!(HEAP32[($7_1 + 64 | 0) >> 2] | 0)) { + break label$21 + } + } + break label$20; + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2643(HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0, $7_1 + 32 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $595_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $595_1; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$2; + continue label$12; + } + break label$12; + }; + label$23 : { + if (HEAP32[($7_1 + 64 | 0) >> 2] | 0) { + break label$23 + } + HEAP32[(HEAP32[($7_1 + 184 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 188 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 180 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 188 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + } + } + label$24 : { + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) != ($7_1 + 80 | 0 | 0) & 1 | 0)) { + break label$24 + } + $42(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0); + } + $177_1 = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + global$0 = $7_1 + 208 | 0; + return $177_1 | 0; + } + + function $2641($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $22_1 = 0, $6_1 = 0, $19_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $22_1 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $6_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $2642(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $19_1 = (HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) & 255 | 0; + global$0 = $5_1 + 16 | 0; + return $19_1 | 0; + } + + function $2642($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $20_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!($2646(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0)) { + break label$1 + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 13 | 0) >> 0] = 1; + } + $20_1 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) & 255 | 0; + global$0 = $3_1 + 16 | 0; + return $20_1 | 0; + } + + function $2643($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $34_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (!(((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 15 | 0) >>> 0 <= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + if (0 & 1 | 0) { + break label$3 + } + break label$2; + } + if (!($2511($5_1 + 4 | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 15 | 0 | 0) | 0)) { + break label$2 + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $2647(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $34_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $34_1 | 0; + } + + function $2644($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $22_1 = 0, $6_1 = 0, $19_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $22_1 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $6_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $6_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $2645(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $19_1 = $2645(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $19_1 | 0; + } + + function $2645($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $26$hi = 0, $28$hi = 0, $44_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $44_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $44_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + label$1 : { + if (!($2646(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0 | 0) | 0)) { + break label$1 + } + i64toi32_i32$1 = 1073741824; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$1 = 1073741824; + $26$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $28$hi = i64toi32_i32$0; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $26$hi; + global$0 = $3_1 + 16 | 0; + return ((i64toi32_i32$2 | 0) == (0 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0 | 0; + } + + function $2646($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $20_1 = 0, $54_1 = 0, $125$hi = 0, $126$hi = 0, $29_1 = 0, $79_1 = 0, $129$hi = 0, $130$hi = 0, $176_1 = 0, $19_1 = 0, $39_1 = 0, $53_1 = 0, $73_1 = 0, $78_1 = 0, $98_1 = 0, $110_1 = 0, $129_1 = 0, $404_1 = 0, $120_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = -1; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $176_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $176_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$1; + $19_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + $20_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $20_1 + 1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAPU8[($19_1 + $20_1 | 0) >> 0] | 0) & 255 | 0; + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0) & 128 | 0)) { + break label$3 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + -1 | 0; + $39_1 = $2534((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, $6_1 + 12 | 0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $39_1 | 0; + } + label$4 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $53_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + $54_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $54_1 + 1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAPU8[($53_1 + $54_1 | 0) >> 0] | 0) & 255 | 0; + label$6 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0) & 128 | 0)) { + break label$6 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + -1 | 0; + $73_1 = $2534((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, $6_1 + 12 | 0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $73_1 | 0; + } + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $125$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $126$hi = i64toi32_i32$1; + i64toi32_i32$1 = $125$hi; + i64toi32_i32$1 = $126$hi; + i64toi32_i32$1 = $125$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $126$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $29_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $29_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $29_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + $78_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + $79_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $79_1 + 1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAPU8[($78_1 + $79_1 | 0) >> 0] | 0) & 255 | 0; + label$7 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0) & 128 | 0)) { + break label$7 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + -1 | 0; + $98_1 = $2534((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, $6_1 + 12 | 0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $98_1 | 0; + } + label$8 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$0 = -1; + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = -1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + } + $110_1 = 0; + i64toi32_i32$1 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $129_1 = i64toi32_i32$0; + $129$hi = i64toi32_i32$2; + i64toi32_i32$0 = ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) - 2 | 0) & 2147483647 | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $130$hi = i64toi32_i32$2; + i64toi32_i32$2 = $129$hi; + i64toi32_i32$2 = $130$hi; + $404_1 = i64toi32_i32$0; + i64toi32_i32$2 = $129$hi; + i64toi32_i32$1 = $129_1; + i64toi32_i32$0 = $130$hi; + i64toi32_i32$3 = $404_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $110_1; + } + $120_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $120_1 | 0; + } + + function $2647($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, $43$hi = 0, $46$hi = 0, $41$hi = 0, $42$hi = 0, $44$hi = 0, $45$hi = 0, $13_1 = 0, $14_1 = 0, $49$hi = 0, $50$hi = 0, $40_1 = 0, $24_1 = 0, $52$hi = 0, $53$hi = 0, $55$hi = 0, $56$hi = 0, $57$hi = 0, $58$hi = 0, $35_1 = 0, $43_1 = 0, $87_1 = 0, $12_1 = 0, $22_1 = 0, $23_1 = 0, $148_1 = 0, $32_1 = 0, $55_1 = 0, $167_1 = 0, $34_1 = 0, $189_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $41$hi = i64toi32_i32$1; + i64toi32_i32$1 = 2147483647; + $42$hi = i64toi32_i32$1; + i64toi32_i32$1 = $41$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $41$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $43_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $43$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $44$hi = i64toi32_i32$2; + i64toi32_i32$2 = 2147483647; + $45$hi = i64toi32_i32$2; + i64toi32_i32$2 = $44$hi; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$2 = $44$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $46$hi = i64toi32_i32$0; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$0 = $46$hi; + $87_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$2 = $43_1; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$3 = $87_1; + label$1 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$1 + } + $12_1 = HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $13_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $14_1 = HEAP32[($13_1 + 4 | 0) >> 2] | 0; + HEAP32[($13_1 + 4 | 0) >> 2] = $14_1 + 1 | 0; + HEAP8[($12_1 + $14_1 | 0) >> 0] = 1; + $22_1 = (HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $49$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $50$hi = i64toi32_i32$0; + i64toi32_i32$0 = $49$hi; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$0 = $49$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$1 = 32; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $40_1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + $40_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + $23_1 = $2519($22_1 | 0, $40_1 | 0, i64toi32_i32$2 | 0) | 0; + $24_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($24_1 + 4 | 0) >> 2] = (HEAP32[($24_1 + 4 | 0) >> 2] | 0) + $23_1 | 0; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $52$hi = i64toi32_i32$3; + i64toi32_i32$3 = 2147483647; + $53$hi = i64toi32_i32$3; + i64toi32_i32$3 = $52$hi; + i64toi32_i32$3 = $53$hi; + i64toi32_i32$3 = $52$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $53$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $148_1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $148_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + } + $32_1 = (HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $55_1 = i64toi32_i32$2; + $55$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $56$hi = i64toi32_i32$2; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$2 = $56$hi; + $167_1 = i64toi32_i32$0; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$3 = $55_1; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$1 = $167_1; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $57$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $58$hi = i64toi32_i32$5; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$5 = $58$hi; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$3 = $58$hi; + i64toi32_i32$1 = 2; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $34_1 = $2519($32_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$4 | 0) | 0; + $35_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($35_1 + 4 | 0) >> 2] = (HEAP32[($35_1 + 4 | 0) >> 2] | 0) + $34_1 | 0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$4 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $189_1 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$4 >> 2] = $189_1; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$2; + global$0 = $5_1 + 16 | 0; + return; + } + + function $2648($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $19$hi = 0, $20$hi = 0, $19_1 = 0, $60_1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = -1; + break label$1; + } + label$3 : { + if (!(HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $19_1 = i64toi32_i32$0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $20$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $20$hi; + $60_1 = i64toi32_i32$1; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$1 = $20$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2603(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $19_1 | 0, i64toi32_i32$0 | 0, $60_1 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $16_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $16_1 | 0; + } + + function $2649($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $2649(HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2650($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[(((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $2650(HEAP32[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $2651($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $15_1 = 0, $54_1 = 0, $50_1 = 0, $53_1 = 0; + $4_1 = global$0 - 32 | 0; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $5_1; + label$1 : while (1) { + $15_1 = 0; + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($15_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[(((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) - (HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + label$4 : { + label$5 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + $50_1 = HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $53_1 = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0; + $54_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $54_1 + 1 | 0; + HEAP32[($53_1 + ($54_1 << 2 | 0) | 0) >> 2] = $50_1; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + break label$6; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + } + continue label$1; + } + break label$1; + }; + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + return; + } + + function $2652($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $34_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = (((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) << 2 | 0) + 8 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2468(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $3288(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + } + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + } + $34_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $34_1 | 0; + } + + function $2653($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $6_1 = 0, $37_1 = 0, $47_1 = 0, $81_1 = 0, i64toi32_i32$2 = 0, $86_1 = 0, i64toi32_i32$1 = 0, $289_1 = 0, $113_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $6_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2654(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + break label$4; + } + $37_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $37_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $37_1; + label$6 : while (1) { + $47_1 = 0; + label$7 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $47_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$8 : { + if (!($47_1 & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2653(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + $81_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($81_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $289_1 = i64toi32_i32$0; + i64toi32_i32$0 = $81_1; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $289_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + $86_1 = (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + -1 | 0; + label$9 : { + label$10 : { + switch ($86_1 | 0) { + case 1: + label$13 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$13 + } + $2649(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + } + break label$9; + case 0: + label$14 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $2649(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + } + break label$9; + default: + break label$10; + }; + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + } + } + label$15 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$15 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2655(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $113_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $113_1 | 0; + } + + function $2654($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $67_1 = 0, $117_1 = 0, $119_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$4 : { + if (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $2545(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + $67_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2656(HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $3303(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0, ((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 ? 1 : $67_1) | (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 ? 2 : $67_1) | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$10 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + break label$1; + } + label$11 : { + if (!((0 | 0) == ((HEAPU8[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$8; + }; + } + label$12 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$12 + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $117_1 = 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = $117_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $117_1; + } + $119_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $119_1 | 0; + } + + function $2655($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$1 + } + $11_1 = (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + -1 | 0; + label$2 : { + label$3 : { + switch ($11_1 | 0) { + case 8: + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2602(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$2; + case 3: + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2600(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$2; + case 1: + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2605(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$2; + case 0: + $2604(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + break label$2; + default: + break label$3; + }; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2606(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + $27_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $27_1 | 0; + } + + function $2656($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $11_1 = 0, i64toi32_i32$0 = 0, $163_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + $11_1 = $8_1 + 32 | 0; + HEAP32[($8_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 48 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + HEAP32[$11_1 >> 2] = 0; + HEAP32[($11_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($11_1 + 8 | 0) >> 2] = 0; + label$1 : { + if ($2511((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 36 | 0 | 0, $11_1 | 0, (HEAP32[($8_1 + 68 | 0) >> 2] | 0) + 1 | 0 | 0) | 0) { + break label$1 + } + HEAP32[($8_1 + 28 | 0) >> 2] = 0; + label$2 : { + if (!(HEAP32[($8_1 + 68 | 0) >> 2] | 0)) { + break label$2 + } + $3288((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) | 0; + } + label$3 : { + if (!((HEAP32[($8_1 + 64 | 0) >> 2] | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2657(HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 28 | 0) >> 2] = 1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((HEAP32[((HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (((HEAP32[($8_1 + 28 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + label$7 : { + label$8 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2489(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP8[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 0] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 48 | 0; + label$9 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $2658(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 16 | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 68 | 0) >> 2] | 0) + 1 | 0 | 0, -1 | 0, 0 | 0, $8_1 + 48 | 0 | 0); + $2490(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0); + } + break label$7; + } + HEAP32[($8_1 + 16 | 0) >> 2] = ((HEAP32[($8_1 + 64 | 0) >> 2] | 0) & 2 | 0 | 0) != (0 | 0) & 1 | 0; + HEAP8[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 0] = 48; + $2659(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 68 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, $8_1 + 48 | 0 | 0); + $2660((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0); + label$10 : { + if (HEAP32[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[($8_1 + 12 | 0) >> 2] = ((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + label$11 : { + if (!((HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 48 | 0) >> 2] | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0); + } + } + } + label$12 : { + if (!(HEAP32[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$12 + } + $2545(HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 48 | 0) >> 2] = 0; + $2492(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0); + } + HEAP32[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + $2521($8_1 + 32 | 0 | 0); + } + $163_1 = $2491(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 80 | 0; + return $163_1 | 0; + } + + function $2657($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $15_1 = 0, $35_1 = 0, $41_1 = 0, $14_1 = 0; + $4_1 = global$0 - 16 | 0; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + HEAP32[$4_1 >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $14_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $15_1 = HEAP32[$4_1 >> 2] | 0; + HEAP32[$4_1 >> 2] = $15_1 + 1 | 0; + label$3 : { + if (!(((HEAPU8[($14_1 + $15_1 | 0) >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$3 + } + label$4 : while (1) { + $35_1 = 0; + label$5 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $41_1 = 24; + $35_1 = ((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) >> 0] | 0) << $41_1 | 0) >> $41_1 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$6 : { + if (!($35_1 & 1 | 0)) { + break label$6 + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $2658($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, $12_1 = 0, $23_1 = 0, $58_1 = 0, $64_1 = 0, $72_1 = 0, $128_1 = 0, $170_1 = 0, $224_1 = 0, $248_1 = 0, $127_1 = 0, $169_1 = 0, $214_1 = 0, $220_1 = 0, $223_1 = 0, i64toi32_i32$0 = 0; + $11_1 = global$0 - 96 | 0; + global$0 = $11_1; + $12_1 = 0; + HEAP32[($11_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 68 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 64 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 60 | 0) >> 2] = $8_1; + HEAP32[($11_1 + 56 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 52 | 0) >> 2] = $12_1; + label$1 : { + if (HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + $23_1 = 0; + HEAP32[($11_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($11_1 + 56 | 0) >> 2] = (HEAP32[($11_1 + 56 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($23_1 | 0) & 1 | 0 ? 1 : $23_1) | 0; + break label$2; + } + label$4 : { + label$5 : { + if (!((HEAP32[((((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($11_1 + 68 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $58_1 = HEAP32[((((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($11_1 + 68 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0; + break label$4; + } + $58_1 = HEAP32[($11_1 + 64 | 0) >> 2] | 0; + } + HEAP32[($11_1 + 56 | 0) >> 2] = $58_1; + } + } + $64_1 = $2661(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($11_1 + 40 | 0) >> 2] = $64_1; + HEAP32[(HEAP32[($11_1 + 60 | 0) >> 2] | 0) >> 2] = $64_1; + label$6 : { + label$7 : { + if (!((HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$6; + } + $72_1 = 0; + HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] = ($72_1 | 0) != ((HEAP32[($11_1 + 84 | 0) >> 2] | 0) & 2 | 0 | 0) & 1 | 0; + HEAP8[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 0] = ($72_1 | 0) != ((HEAP32[($11_1 + 84 | 0) >> 2] | 0) & 16 | 0 | 0) & 1 | 0; + HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($11_1 + 80 | 0) >> 2] | 0; + label$8 : { + if ((HEAP32[($11_1 + 84 | 0) >> 2] | 0) & 32 | 0) { + break label$8 + } + $2660((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0); + } + label$9 : { + if (HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$9 + } + label$10 : { + label$11 : { + if (!((HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($11_1 + 36 | 0) >> 2] = ((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0, 12) | 0; + label$12 : { + if (!((HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $127_1 = (HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 80 | 0; + $128_1 = HEAP32[($11_1 + 52 | 0) >> 2] | 0; + HEAP32[($11_1 + 52 | 0) >> 2] = $128_1 + 1 | 0; + HEAP32[($11_1 + 32 | 0) >> 2] = $127_1 + Math_imul($128_1, 88) | 0; + $2662(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0); + } + HEAP32[($11_1 + 44 | 0) >> 2] = (HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 24 | 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($11_1 + 44 | 0) >> 2] | 0) >>> 0 < (HEAP32[($11_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$13 + } + HEAP32[($11_1 + 48 | 0) >> 2] = (HEAP32[((HEAP32[($11_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($11_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($11_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($11_1 + 48 | 0) >> 2] | 0, 12) | 0; + $169_1 = (HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 80 | 0; + $170_1 = HEAP32[($11_1 + 52 | 0) >> 2] | 0; + HEAP32[($11_1 + 52 | 0) >> 2] = $170_1 + 1 | 0; + HEAP32[($11_1 + 24 | 0) >> 2] = $169_1 + Math_imul($170_1, 88) | 0; + label$17 : { + label$18 : { + if (!((HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$18 + } + $2663(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0); + break label$17; + } + $2664(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($11_1 + 48 | 0) >> 2] = (HEAP32[($11_1 + 48 | 0) >> 2] | 0) + -1 | 0; + continue label$16; + }; + } + HEAP32[($11_1 + 44 | 0) >> 2] = (HEAP32[($11_1 + 44 | 0) >> 2] | 0) + 12 | 0; + continue label$14; + }; + } + break label$10; + } + HEAP32[($11_1 + 44 | 0) >> 2] = ((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($11_1 + 68 | 0) >> 2] | 0, 12) | 0; + HEAP32[($11_1 + 48 | 0) >> 2] = (HEAP32[($11_1 + 56 | 0) >> 2] | 0) - 1 | 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$19 + } + $214_1 = HEAP32[($11_1 + 92 | 0) >> 2] | 0; + $220_1 = (HEAP32[((HEAP32[($11_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($11_1 + 48 | 0) >> 2] | 0, 12) | 0; + $223_1 = (HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 80 | 0; + $224_1 = HEAP32[($11_1 + 52 | 0) >> 2] | 0; + HEAP32[($11_1 + 52 | 0) >> 2] = $224_1 + 1 | 0; + $2663($214_1 | 0, $220_1 | 0, $223_1 + Math_imul($224_1, 88) | 0 | 0); + HEAP32[($11_1 + 48 | 0) >> 2] = (HEAP32[($11_1 + 48 | 0) >> 2] | 0) + -1 | 0; + continue label$20; + }; + } + } + } + label$21 : { + if (HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$21 + } + HEAP32[($11_1 + 52 | 0) >> 2] = (HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) - 1 | 0; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$22 + } + $248_1 = $2622(HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($11_1 + 20 | 0) >> 2] = $248_1; + label$24 : { + if (!$248_1) { + break label$24 + } + HEAP32[($11_1 + 16 | 0) >> 2] = ((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[($11_1 + 20 | 0) >> 2] | 0, 88) | 0; + label$25 : { + if (HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$25 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($11_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($11_1 + 92 | 0) >> 2] | 0, HEAP32[($11_1 + 16 | 0) >> 2] | 0, 0); + } + $2613(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0); + } + HEAP32[($11_1 + 52 | 0) >> 2] = (HEAP32[($11_1 + 52 | 0) >> 2] | 0) + -1 | 0; + continue label$23; + }; + } + $2614(HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0); + label$26 : { + label$27 : { + if (!((HEAPU8[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 255 | 0)) { + break label$27 + } + if (!($2665(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$27 + } + i64toi32_i32$0 = 0; + $2608(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0, 0 | 0, 0 | 0, i64toi32_i32$0 | 0); + break label$26; + } + label$28 : { + if ((HEAPU8[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$28 + } + HEAP32[($11_1 + 12 | 0) >> 2] = ((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0](HEAP32[($11_1 + 40 | 0) >> 2] | 0, HEAP32[($11_1 + 12 | 0) >> 2] | 0); + } + } + break label$6; + } + $2546(HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($11_1 + 60 | 0) >> 2] | 0) >> 2] = 0; + } + global$0 = $11_1 + 96 | 0; + return; + } + + function $2659($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $238$hi = 0, $239$hi = 0, $41_1 = 0, $43_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $114_1 = 0, $131_1 = 0, $243$hi = 0, $244$hi = 0, $216_1 = 0, $238_1 = 0, $475_1 = 0, $243_1 = 0, $603_1 = 0, $617_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 112 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 92 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 88 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 76 | 0) >> 2] = 32; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[(HEAP32[($8_1 + 108 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 72 | 0) >> 2] = 126; + HEAP32[($8_1 + 68 | 0) >> 2] = 125; + break label$1; + } + HEAP32[($8_1 + 72 | 0) >> 2] = 128; + HEAP32[($8_1 + 68 | 0) >> 2] = 127; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2670(HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, 384 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2489(HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $41_1 = 56; + $43_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($8_1 + 64 | 0) >> 2] = $41_1; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 48 | 0) >> 2] = 0; + HEAP32[($8_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 44 | 0) >> 2] = $43_1; + HEAP32[($8_1 + 20 | 0) >> 2] = 1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $8_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + $2658(HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0, $41_1 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, -1 | 0, $43_1 | 0, $8_1 + 44 | 0 | 0); + $2660((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0); + label$4 : { + label$5 : while (1) { + if ($2609(HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($8_1 + 16 | 0) >> 2] = ((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 44 | 0) >> 2] | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0); + label$6 : { + if (!(HEAP32[($8_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if ((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$8 + } + if (!($3228(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + } + break label$4; + } + } + label$9 : { + label$10 : { + if (HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$10 + } + break label$9; + } + i64toi32_i32$2 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $238_1 = i64toi32_i32$0; + $238$hi = i64toi32_i32$1; + i64toi32_i32$2 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + $239$hi = i64toi32_i32$0; + i64toi32_i32$0 = $238$hi; + i64toi32_i32$0 = $239$hi; + i64toi32_i32$0 = $238$hi; + i64toi32_i32$0 = $239$hi; + $475_1 = i64toi32_i32$1; + i64toi32_i32$0 = $238$hi; + i64toi32_i32$2 = $238_1; + i64toi32_i32$1 = $239$hi; + i64toi32_i32$3 = $475_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $26_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $27_1 = 0 + } else { + $27_1 = 1 + } + $28_1 = $27_1; + } else { + $28_1 = 0 + } + $26_1 = $28_1; + } + label$11 : { + if (!($26_1 & 1 | 0)) { + break label$11 + } + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + label$12 : while (1) { + $114_1 = 0; + label$13 : { + if (HEAP32[((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$13 + } + $114_1 = (HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$14 : { + if (!($114_1 & 1 | 0)) { + break label$14 + } + label$15 : { + label$16 : { + if (HEAP32[(((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 60 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0) { + break label$16 + } + $131_1 = $8_1 + 24 | 0; + $2671($131_1 | 0, (HEAP32[($8_1 + 80 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 60 | 0) >> 2] | 0, 12) | 0 | 0); + $2639($131_1 | 0); + break label$15; + } + FUNCTION_TABLE[HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 108 | 0) >> 2] | 0, $8_1 + 24 | 0, (HEAP32[($8_1 + 80 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 60 | 0) >> 2] | 0, 12) | 0); + $2639((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 60 | 0) >> 2] | 0, 12) | 0 | 0); + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + } + break label$12; + }; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $8_1; + HEAP32[($8_1 + 48 | 0) >> 2] = 0; + HEAP32[($8_1 + 52 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$3 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $243_1 = i64toi32_i32$2; + $243$hi = i64toi32_i32$0; + i64toi32_i32$3 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + $244$hi = i64toi32_i32$2; + i64toi32_i32$2 = $243$hi; + i64toi32_i32$2 = $244$hi; + $603_1 = i64toi32_i32$0; + i64toi32_i32$2 = $243$hi; + i64toi32_i32$3 = $243_1; + i64toi32_i32$0 = $244$hi; + i64toi32_i32$1 = $603_1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + FUNCTION_TABLE[HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 108 | 0) >> 2] | 0, i64toi32_i32$3 - i64toi32_i32$1 | 0, i64toi32_i32$5, HEAP32[($8_1 + 44 | 0) >> 2] | 0, $8_1 + 24 | 0); + i64toi32_i32$2 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $617_1 = i64toi32_i32$5; + i64toi32_i32$5 = $8_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $617_1; + HEAP32[($8_1 + 52 | 0) >> 2] = i64toi32_i32$3; + } + $2672(HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, $8_1 + 20 | 0 | 0); + continue label$5; + }; + } + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0) < (32 | 0) & 1 | 0)) { + break label$17 + } + label$19 : { + if (HEAP32[((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$19 + } + FUNCTION_TABLE[HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 108 | 0) >> 2] | 0, $8_1 + 24 | 0, (HEAP32[($8_1 + 80 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 60 | 0) >> 2] | 0, 12) | 0); + } + $2521((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 60 | 0) >> 2] | 0, 12) | 0 | 0); + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + $2546(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0); + i64toi32_i32$3 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2670(HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 12 | 0) + 8 | 0 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] = (HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 12 | 0; + $216_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] = $216_1; + HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = $216_1; + label$21 : { + if (!(HEAP32[($8_1 + 28 | 0) >> 2] | 0)) { + break label$21 + } + $3288(HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0; + } + $2673(HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0); + } + $2521($8_1 + 24 | 0 | 0); + } + $2490(HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0); + $42(HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0); + global$0 = $8_1 + 112 | 0; + return; + } + + function $2660($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = 129; + break label$2; + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = 130; + break label$4; + } + label$6 : { + label$7 : { + if (HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >> 2] | 0) { + break label$7 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = 131; + break label$6; + } + label$8 : { + label$9 : { + if (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = 132; + break label$8; + } + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) <= (100 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = 133; + $2511(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + break label$10; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = 134; + } + } + } + } + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2661($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = 2; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) << 1 | 0; + continue label$2; + }; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2670(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (Math_imul((HEAP32[$4_1 >> 2] | 0) - 1 | 0, 88) + 168 | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 72 | 0) >> 2] = ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[$4_1 >> 2] | 0, 88) | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] = 135; + } + $51_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $51_1 | 0; + } + + function $2662($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $18_1 = 0, $44_1 = 0, $91_1 = 0, $110_1 = 0, $130_1 = 0, $32_1 = 0, i64toi32_i32$0 = 0, $77_1 = 0, $122_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0) & 8 | 0)) { + break label$2 + } + } + $18_1 = 0; + HEAP32[($7_1 + 8 | 0) >> 2] = $18_1; + $32_1 = $2681(HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] = $32_1; + $2682(HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $7_1 + 20 | 0 | 0, $7_1 + 8 | 0 | 0, $7_1 + 24 | 0 | 0); + label$4 : { + label$5 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) != ($18_1 | 0) & 1 | 0)) { + break label$5 + } + $44_1 = $3303(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0; + break label$4; + } + $44_1 = 0; + } + HEAP32[($7_1 + 16 | 0) >> 2] = $44_1; + label$6 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2670(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 12 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + } + } + break label$1; + } + $77_1 = $2683(HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $7_1 + 12 | 0 | 0, $7_1 + 24 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] = $77_1; + label$8 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 12 | 0; + } + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $91_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($91_1 + 4 | 0) >> 2] = HEAP32[($91_1 + 4 | 0) >> 2] | 0 | 1 | 0; + } + label$9 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $2637((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 60 | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + $110_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $110_1; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $110_1; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $122_1 = ($2535(HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 72 | 0 | 0) | 0) & 255 | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = $122_1; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$10 : { + label$11 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0) & 2 | 0)) { + break label$11 + } + $130_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($130_1 + 4 | 0) >> 2] = HEAP32[($130_1 + 4 | 0) >> 2] | 0 | 2 | 0; + $2627(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + break label$10; + } + $2625(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + } + } + $2684(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 48 | 0; + return; + } + + function $2663($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + label$3 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$3 + } + $3289(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0, 88 | 0) | 0; + $2684(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0; + $2624(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = 4; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0; + $2685(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0); + $2625(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $2664($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $9_1 = 0, $116$hi = 0, $117$hi = 0, $21_1 = 0, $119$hi = 0, $120$hi = 0, $85_1 = 0, $99_1 = 0, $221_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 20 | 0) >> 2] = 1; + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) & 8 | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $9_1; + $3289(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, 88 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2686(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + $330(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + $325(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + label$3 : { + if (!((100 | 0) == ($287(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = $317(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $221_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1; + HEAP32[$8_1 >> 2] = $221_1; + HEAP32[($8_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[$8_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + $116$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $117$hi = i64toi32_i32$1; + i64toi32_i32$1 = $116$hi; + i64toi32_i32$1 = $117$hi; + i64toi32_i32$1 = $116$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $117$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $21_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $21_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + HEAP32[($8_1 + 20 | 0) >> 2] = $21_1; + i64toi32_i32$1 = $8_1; + i64toi32_i32$0 = HEAP32[$8_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + $119$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $120$hi = i64toi32_i32$2; + i64toi32_i32$2 = $119$hi; + i64toi32_i32$2 = $120$hi; + i64toi32_i32$2 = $119$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = i64toi32_i32$1 & i64toi32_i32$3 | 0; + } + $48_1 = $222(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] = $48_1; + $332(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + label$4 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = 0; + } + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) - 1 | 0; + $2624(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + label$5 : { + if (!((HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $2687(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$6 + } + if (HEAP32[($8_1 + 16 | 0) >> 2] | 0) { + break label$6 + } + $85_1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[($85_1 + 4 | 0) >> 2] = HEAP32[($85_1 + 4 | 0) >> 2] | 0 | 1 | 0; + label$7 : { + if (!((HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0) & 2 | 0)) { + break label$8 + } + $99_1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[($99_1 + 4 | 0) >> 2] = HEAP32[($99_1 + 4 | 0) >> 2] | 0 | 2 | 0; + } + label$9 : { + if (!(HEAP32[($8_1 + 12 | 0) >> 2] | 0)) { + break label$9 + } + $2688(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + } + label$10 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0) & 2 | 0)) { + break label$10 + } + $2689(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + } + } + } + $2684(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $8_1 + 48 | 0; + return; + } + + function $2665($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $19_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + $19_1 = 0; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + $19_1 = 0; + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $19_1 = (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) == (0 | 0); + } + return $19_1 & 1 | 0 | 0; + } + + function $2666($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $2520((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + global$0 = $6_1 + 32 | 0; + return; + } + + function $2667($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, $116_1 = 0, $118$hi = 0, $119$hi = 0, i64toi32_i32$6 = 0, $130$hi = 0, $131$hi = 0, $7_1 = 0, $43_1 = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $122$hi = 0, $123$hi = 0, $126$hi = 0, $127$hi = 0, $118_1 = 0, $271_1 = 0, $122_1 = 0, $298_1 = 0, $78_1 = 0, $313_1 = 0, $126_1 = 0, $331_1 = 0, $86_1 = 0, $346_1 = 0, $130_1 = 0, $366_1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + $116_1 = 0; + $7_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $7_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $116_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $116_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $116_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + $2511((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, $5_1 | 0, (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0) | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + $2704(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, $5_1 + 48 | 0 | 0, $5_1 + 32 | 0 | 0); + $2704(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, $5_1 + 44 | 0 | 0, $5_1 + 24 | 0 | 0); + label$3 : while (1) { + $43_1 = 1; + label$4 : { + if ((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$4 + } + $43_1 = (HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) >= (0 | 0); + } + label$5 : { + if (!($43_1 & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if ((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$8 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $118_1 = i64toi32_i32$0; + $118$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $119$hi = i64toi32_i32$0; + i64toi32_i32$0 = $118$hi; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$0 = $118$hi; + i64toi32_i32$0 = $119$hi; + $271_1 = i64toi32_i32$1; + i64toi32_i32$0 = $118$hi; + i64toi32_i32$2 = $118_1; + i64toi32_i32$1 = $119$hi; + i64toi32_i32$3 = $271_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $35_1 = 0 + } else { + $35_1 = 1 + } + $36_1 = $35_1; + } else { + $36_1 = 0 + } + $34_1 = $36_1; + } + if (!($34_1 & 1 | 0)) { + break label$7 + } + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $122_1 = i64toi32_i32$2; + $122$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $123$hi = i64toi32_i32$2; + i64toi32_i32$2 = $122$hi; + i64toi32_i32$2 = $123$hi; + $298_1 = i64toi32_i32$0; + i64toi32_i32$2 = $122$hi; + i64toi32_i32$3 = $122_1; + i64toi32_i32$0 = $123$hi; + i64toi32_i32$1 = $298_1; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $78_1 = $2519((HEAP32[$5_1 >> 2] | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + $78_1 | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $313_1 = i64toi32_i32$5; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $313_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$3; + $2704(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, $5_1 + 48 | 0 | 0, $5_1 + 32 | 0 | 0); + break label$6; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $126_1 = i64toi32_i32$3; + $126$hi = i64toi32_i32$5; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $127$hi = i64toi32_i32$3; + i64toi32_i32$3 = $126$hi; + i64toi32_i32$3 = $127$hi; + $331_1 = i64toi32_i32$5; + i64toi32_i32$3 = $126$hi; + i64toi32_i32$2 = $126_1; + i64toi32_i32$5 = $127$hi; + i64toi32_i32$1 = $331_1; + i64toi32_i32$0 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + $86_1 = $2519((HEAP32[$5_1 >> 2] | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$4 | 0) | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + $86_1 | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $346_1 = i64toi32_i32$4; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $346_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$2; + label$9 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $130_1 = i64toi32_i32$2; + $130$hi = i64toi32_i32$4; + i64toi32_i32$3 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $131$hi = i64toi32_i32$2; + i64toi32_i32$2 = $130$hi; + i64toi32_i32$2 = $131$hi; + i64toi32_i32$2 = $130$hi; + i64toi32_i32$2 = $131$hi; + $366_1 = i64toi32_i32$4; + i64toi32_i32$2 = $130$hi; + i64toi32_i32$3 = $130_1; + i64toi32_i32$4 = $131$hi; + i64toi32_i32$1 = $366_1; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$9 + } + $2704(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, $5_1 + 48 | 0 | 0, $5_1 + 32 | 0 | 0); + } + $2704(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, $5_1 + 44 | 0 | 0, $5_1 + 24 | 0 | 0); + } + continue label$3; + } + break label$3; + }; + $2671($5_1 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + $2521($5_1 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $2668($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $14_1 = 0, $30_1 = 0, $53_1 = 0, $66_1 = 0, $78_1 = 0, $52_1 = 0, $65_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = (((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 9 | 0) + 9 | 0) + 8 | 0; + label$1 : { + if (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + label$3 : { + if (!(((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[$6_1 >> 2] | 0) | 0) >>> 0 <= (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + $30_1 = 0; + break label$2; + } + $30_1 = $2511((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[$6_1 >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0) | 0; + } + if (!((0 | 0) == ($30_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $52_1 = $2519((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $53_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($53_1 + 4 | 0) >> 2] = (HEAP32[($53_1 + 4 | 0) >> 2] | 0) + $52_1 | 0; + i64toi32_i32$0 = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) << 1 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $65_1 = $2519((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $66_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($66_1 + 4 | 0) >> 2] = (HEAP32[($66_1 + 4 | 0) >> 2] | 0) + $65_1 | 0; + $3288((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $78_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($78_1 + 4 | 0) >> 2] = (HEAP32[($78_1 + 4 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = (HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + $14_1 = 0; + HEAP8[i64toi32_i32$0 >> 0] = $14_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $14_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $14_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $14_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2669($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$6 = 0, $82_1 = 0, $395$hi = 0, $396$hi = 0, $403$hi = 0, $404$hi = 0, $411_1 = 0, $417$hi = 0, $418$hi = 0, $423$hi = 0, $427$hi = 0, $431$hi = 0, $432$hi = 0, $435$hi = 0, $436$hi = 0, $440$hi = 0, $444$hi = 0, $449$hi = 0, $453$hi = 0, $454$hi = 0, $10_1 = 0, $83_1 = 0, $85_1 = 0, $86_1 = 0, $399$hi = 0, $400$hi = 0, $407$hi = 0, $408$hi = 0, $107_1 = 0, $109_1 = 0, $413$hi = 0, $414$hi = 0, $87_1 = 0, $88_1 = 0, $89_1 = 0, $425$hi = 0, $90_1 = 0, $91_1 = 0, $92_1 = 0, $429$hi = 0, $93_1 = 0, $94_1 = 0, $95_1 = 0, $96_1 = 0, $97_1 = 0, $98_1 = 0, $442$hi = 0, $99_1 = 0, $100_1 = 0, $101_1 = 0, $447$hi = 0, $102_1 = 0, $103_1 = 0, $104_1 = 0, $451$hi = 0, $105_1 = 0, $106_1 = 0, $108_1 = 0, $460$hi = 0, $461$hi = 0, $464$hi = 0, $465$hi = 0, $386_1 = 0, $395_1 = 0, $565_1 = 0, $399_1 = 0, $588_1 = 0, $53_1 = 0, $603_1 = 0, $403_1 = 0, $658_1 = 0, $407_1 = 0, $681_1 = 0, $84_1 = 0, $696_1 = 0, $413_1 = 0, $791_1 = 0, $119_1 = 0, $806_1 = 0, $417_1 = 0, $880_1 = 0, $431_1 = 0, $978_1 = 0, $435_1 = 0, $992_1 = 0, $453_1 = 0, $1102_1 = 0, $301_1 = 0, $460_1 = 0, $1341_1 = 0, $335_1 = 0, $1356_1 = 0, $464_1 = 0, $1415_1 = 0, $360_1 = 0, $1430_1 = 0, $1491_1 = 0; + $5_1 = global$0 - 176 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 172 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 168 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 164 | 0) >> 2] = $2_1; + label$1 : { + if (!(HEAP32[((HEAP32[($5_1 + 164 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$1 + } + $10_1 = $5_1 + 72 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 152 | 0) >> 2] = 0; + HEAP32[($5_1 + 156 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $10_1; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1 + 56 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + label$2 : { + if (!($2511((HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 36 | 0 | 0, $10_1 | 0, ((((HEAP32[((HEAP32[($5_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 164 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + 9 | 0) + 10 | 0) + 10 | 0 | 0) | 0)) { + break label$2 + } + break label$1; + } + $2705(HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0, $5_1 + 120 | 0 | 0); + $2705(HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0, $5_1 + 88 | 0 | 0); + label$3 : { + label$4 : while (1) { + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + $395_1 = i64toi32_i32$0; + $395$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $396$hi = i64toi32_i32$0; + i64toi32_i32$0 = $395$hi; + i64toi32_i32$0 = $396$hi; + i64toi32_i32$0 = $395$hi; + i64toi32_i32$0 = $396$hi; + $565_1 = i64toi32_i32$1; + i64toi32_i32$0 = $395$hi; + i64toi32_i32$2 = $395_1; + i64toi32_i32$1 = $396$hi; + i64toi32_i32$3 = $565_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $83_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $85_1 = 0 + } else { + $85_1 = 1 + } + $86_1 = $85_1; + } else { + $86_1 = 0 + } + $83_1 = $86_1; + } + label$5 : { + label$6 : { + if (!($83_1 & 1 | 0)) { + break label$6 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + $399_1 = i64toi32_i32$2; + $399$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + $400$hi = i64toi32_i32$2; + i64toi32_i32$2 = $399$hi; + i64toi32_i32$2 = $400$hi; + $588_1 = i64toi32_i32$0; + i64toi32_i32$2 = $399$hi; + i64toi32_i32$3 = $399_1; + i64toi32_i32$0 = $400$hi; + i64toi32_i32$1 = $588_1; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $53_1 = $2519((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + $53_1 | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + $603_1 = i64toi32_i32$5; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 152 | 0) >> 2] = $603_1; + HEAP32[($5_1 + 156 | 0) >> 2] = i64toi32_i32$3; + $3288((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 140 | 0) >> 2] | 0) + (HEAP32[($5_1 + 144 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 140 | 0) >> 2] | 0) + (HEAP32[($5_1 + 144 | 0) >> 2] | 0) | 0) | 0; + $2706($5_1 + 120 | 0 | 0); + label$7 : { + if (!((HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$3; + } + break label$5; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $403_1 = i64toi32_i32$3; + $403$hi = i64toi32_i32$5; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + $404$hi = i64toi32_i32$3; + i64toi32_i32$3 = $403$hi; + i64toi32_i32$3 = $404$hi; + i64toi32_i32$3 = $403$hi; + i64toi32_i32$3 = $404$hi; + $658_1 = i64toi32_i32$5; + i64toi32_i32$3 = $403$hi; + i64toi32_i32$2 = $403_1; + i64toi32_i32$5 = $404$hi; + i64toi32_i32$1 = $658_1; + label$8 : { + label$9 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $407_1 = i64toi32_i32$2; + $407$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + $408$hi = i64toi32_i32$2; + i64toi32_i32$2 = $407$hi; + i64toi32_i32$2 = $408$hi; + $681_1 = i64toi32_i32$3; + i64toi32_i32$2 = $407$hi; + i64toi32_i32$1 = $407_1; + i64toi32_i32$3 = $408$hi; + i64toi32_i32$5 = $681_1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $84_1 = $2519((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$4 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + $84_1 | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $696_1 = i64toi32_i32$4; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 152 | 0) >> 2] = $696_1; + HEAP32[($5_1 + 156 | 0) >> 2] = i64toi32_i32$1; + $3288((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 108 | 0) >> 2] | 0) + (HEAP32[($5_1 + 112 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + (HEAP32[($5_1 + 112 | 0) >> 2] | 0) | 0) | 0; + $2706($5_1 + 88 | 0 | 0); + label$10 : { + if (!((HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + break label$3; + } + break label$8; + } + $107_1 = $5_1 + 56 | 0; + i64toi32_i32$1 = 0; + $411_1 = 0; + $109_1 = 0; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $411_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $411_1; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 36 | 0) >> 2] = $109_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $109_1; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 136 | 0) >> 2] | 0) + (HEAP32[($5_1 + 144 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 104 | 0) >> 2] | 0) + (HEAP32[($5_1 + 112 | 0) >> 2] | 0) | 0; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $411_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = 0; + i64toi32_i32$4 = $5_1; + HEAP32[$5_1 >> 2] = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $413_1 = i64toi32_i32$1; + $413$hi = i64toi32_i32$4; + i64toi32_i32$2 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + $414$hi = i64toi32_i32$1; + i64toi32_i32$1 = $413$hi; + i64toi32_i32$1 = $414$hi; + $791_1 = i64toi32_i32$4; + i64toi32_i32$1 = $413$hi; + i64toi32_i32$2 = $413_1; + i64toi32_i32$4 = $414$hi; + i64toi32_i32$5 = $791_1; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$0 | 0; + $119_1 = $2519((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + $119_1 | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $806_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 152 | 0) >> 2] = $806_1; + HEAP32[($5_1 + 156 | 0) >> 2] = i64toi32_i32$2; + $2639($107_1 | 0); + $2511((HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 36 | 0 | 0, $107_1 | 0, ((((HEAP32[($5_1 + 140 | 0) >> 2] | 0) + (HEAP32[($5_1 + 108 | 0) >> 2] | 0) | 0) + 10 | 0) + 10 | 0) + 8 | 0 | 0) | 0; + label$11 : { + if (!(HEAP32[((HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$11 + } + break label$3; + } + $2646(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, $5_1 + 36 | 0 | 0, $5_1 + 48 | 0 | 0) | 0; + $2646(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0, $5_1 + 40 | 0 | 0) | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $417_1 = i64toi32_i32$2; + $417$hi = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $418$hi = i64toi32_i32$2; + i64toi32_i32$2 = $417$hi; + i64toi32_i32$2 = $418$hi; + i64toi32_i32$2 = $417$hi; + i64toi32_i32$2 = $418$hi; + $880_1 = i64toi32_i32$0; + i64toi32_i32$2 = $417$hi; + i64toi32_i32$1 = $417_1; + i64toi32_i32$0 = $418$hi; + i64toi32_i32$5 = $880_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $87_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$5 >>> 0) { + $88_1 = 0 + } else { + $88_1 = 1 + } + $89_1 = $88_1; + } else { + $89_1 = 0 + } + $87_1 = $89_1; + } + label$12 : { + label$13 : { + if (!($87_1 & 1 | 0)) { + break label$13 + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $2647($5_1 + 56 | 0 | 0, $5_1 + 8 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0); + $2646(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, $5_1 + 36 | 0 | 0, $5_1 + 48 | 0 | 0) | 0; + break label$12; + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $2647($5_1 + 56 | 0 | 0, $5_1 + 8 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0); + $2646(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0, $5_1 + 40 | 0 | 0) | 0; + } + i64toi32_i32$1 = 0; + $423$hi = i64toi32_i32$1; + i64toi32_i32$5 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $425$hi = i64toi32_i32$2; + i64toi32_i32$2 = $423$hi; + i64toi32_i32$2 = $425$hi; + i64toi32_i32$2 = $423$hi; + i64toi32_i32$2 = $425$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $423$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$1 | 0)) { + $90_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + $91_1 = 0 + } else { + $91_1 = 1 + } + $92_1 = $91_1; + } else { + $92_1 = 0 + } + $90_1 = $92_1; + } + label$14 : { + if (!($90_1 & 1 | 0)) { + break label$14 + } + i64toi32_i32$5 = 0; + $427$hi = i64toi32_i32$5; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $429$hi = i64toi32_i32$2; + i64toi32_i32$2 = $427$hi; + i64toi32_i32$2 = $429$hi; + i64toi32_i32$2 = $427$hi; + i64toi32_i32$2 = $429$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $427$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $93_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) { + $94_1 = 0 + } else { + $94_1 = 1 + } + $95_1 = $94_1; + } else { + $95_1 = 0 + } + $93_1 = $95_1; + } + if (!($93_1 & 1 | 0)) { + break label$14 + } + label$15 : { + label$16 : while (1) { + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $431_1 = i64toi32_i32$0; + $431$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $432$hi = i64toi32_i32$0; + i64toi32_i32$0 = $431$hi; + i64toi32_i32$0 = $432$hi; + i64toi32_i32$0 = $431$hi; + i64toi32_i32$0 = $432$hi; + $978_1 = i64toi32_i32$2; + i64toi32_i32$0 = $431$hi; + i64toi32_i32$1 = $431_1; + i64toi32_i32$2 = $432$hi; + i64toi32_i32$5 = $978_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$2 | 0)) { + $96_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$5 >>> 0) { + $97_1 = 0 + } else { + $97_1 = 1 + } + $98_1 = $97_1; + } else { + $98_1 = 0 + } + $96_1 = $98_1; + } + label$17 : { + label$18 : { + if (!($96_1 & 1 | 0)) { + break label$18 + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $435_1 = i64toi32_i32$1; + $435$hi = i64toi32_i32$0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $436$hi = i64toi32_i32$1; + i64toi32_i32$1 = $435$hi; + i64toi32_i32$1 = $436$hi; + i64toi32_i32$1 = $435$hi; + i64toi32_i32$1 = $436$hi; + $992_1 = i64toi32_i32$0; + i64toi32_i32$1 = $435$hi; + i64toi32_i32$5 = $435_1; + i64toi32_i32$0 = $436$hi; + i64toi32_i32$2 = $992_1; + label$19 : { + if (!(((i64toi32_i32$5 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$19 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $2647($5_1 + 56 | 0 | 0, $5_1 + 8 | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0); + } + i64toi32_i32$1 = 0; + $440$hi = i64toi32_i32$1; + $2646(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, $5_1 + 36 | 0 | 0, $5_1 + 48 | 0 | 0) | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $442$hi = i64toi32_i32$5; + i64toi32_i32$5 = $440$hi; + i64toi32_i32$5 = $442$hi; + i64toi32_i32$5 = $440$hi; + i64toi32_i32$5 = $442$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $440$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$1 | 0)) { + $99_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$0 >>> 0) { + $100_1 = 0 + } else { + $100_1 = 1 + } + $101_1 = $100_1; + } else { + $101_1 = 0 + } + $99_1 = $101_1; + } + label$20 : { + if (!($99_1 & 1 | 0)) { + break label$20 + } + break label$15; + } + break label$17; + } + i64toi32_i32$2 = 0; + $444$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $2647($5_1 + 56 | 0 | 0, $5_1 + 8 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$5 | 0); + $2646(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0, $5_1 + 40 | 0 | 0) | 0; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $447$hi = i64toi32_i32$2; + i64toi32_i32$2 = $444$hi; + i64toi32_i32$2 = $447$hi; + i64toi32_i32$2 = $444$hi; + i64toi32_i32$2 = $447$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $444$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$5 | 0)) { + $102_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$1 >>> 0) { + $103_1 = 0 + } else { + $103_1 = 1 + } + $104_1 = $103_1; + } else { + $104_1 = 0 + } + $102_1 = $104_1; + } + label$21 : { + if (!($102_1 & 1 | 0)) { + break label$21 + } + break label$15; + } + } + continue label$16; + }; + } + } + i64toi32_i32$0 = 0; + $449$hi = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $451$hi = i64toi32_i32$2; + i64toi32_i32$2 = $449$hi; + i64toi32_i32$2 = $451$hi; + i64toi32_i32$2 = $449$hi; + i64toi32_i32$2 = $451$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $449$hi; + i64toi32_i32$5 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $105_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + $106_1 = 0 + } else { + $106_1 = 1 + } + $108_1 = $106_1; + } else { + $108_1 = 0 + } + $105_1 = $108_1; + } + label$22 : { + label$23 : { + if (!($105_1 & 1 | 0)) { + break label$23 + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $453_1 = i64toi32_i32$1; + $453$hi = i64toi32_i32$2; + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $454$hi = i64toi32_i32$1; + i64toi32_i32$1 = $453$hi; + i64toi32_i32$1 = $454$hi; + i64toi32_i32$1 = $453$hi; + i64toi32_i32$1 = $454$hi; + $1102_1 = i64toi32_i32$2; + i64toi32_i32$1 = $453$hi; + i64toi32_i32$5 = $453_1; + i64toi32_i32$2 = $454$hi; + i64toi32_i32$0 = $1102_1; + label$24 : { + if (!(((i64toi32_i32$5 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$24 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $2647($5_1 + 56 | 0 | 0, $5_1 + 8 | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0); + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 140 | 0) >> 2] | 0) - (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0; + break label$22; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $2647($5_1 + 56 | 0 | 0, $5_1 + 8 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$5 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 108 | 0) >> 2] | 0) - (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0; + } + label$25 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$25 + } + $3288((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + (HEAP32[($5_1 + 60 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 60 | 0) >> 2] = (HEAP32[($5_1 + 60 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0; + } + label$26 : { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) > ((HEAP32[($5_1 + 140 | 0) >> 2] | 0) + (HEAP32[($5_1 + 108 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$26 + } + label$27 : { + if (HEAP32[((HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$27 + } + HEAP32[((HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + } + break label$3; + } + i64toi32_i32$1 = (HEAP32[($5_1 + 60 | 0) >> 2] | 0) << 1 | 0; + i64toi32_i32$5 = i64toi32_i32$1 >> 31 | 0; + $301_1 = $2519((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + $301_1 | 0; + $3288((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + (HEAP32[($5_1 + 60 | 0) >> 2] | 0) | 0; + $2706($5_1 + 120 | 0 | 0); + $2706($5_1 + 88 | 0 | 0); + label$28 : { + label$29 : { + if ((HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$29 + } + if (!((HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$28 + } + } + break label$3; + } + } + } + continue label$4; + }; + } + label$30 : { + label$31 : { + if (!((HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$31 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + $460_1 = i64toi32_i32$5; + $460$hi = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + $461$hi = i64toi32_i32$5; + i64toi32_i32$5 = $460$hi; + i64toi32_i32$5 = $461$hi; + $1341_1 = i64toi32_i32$1; + i64toi32_i32$5 = $460$hi; + i64toi32_i32$0 = $460_1; + i64toi32_i32$1 = $461$hi; + i64toi32_i32$2 = $1341_1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + $335_1 = $2519((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$3 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + $335_1 | 0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + $1356_1 = i64toi32_i32$3; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 152 | 0) >> 2] = $1356_1; + HEAP32[($5_1 + 156 | 0) >> 2] = i64toi32_i32$0; + $3288((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 120 | 0) >> 2] | 0) - (HEAP32[($5_1 + 136 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 120 | 0) >> 2] | 0) - (HEAP32[($5_1 + 136 | 0) >> 2] | 0) | 0) | 0; + break label$30; + } + label$32 : { + if (!((HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$32 + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $464_1 = i64toi32_i32$0; + $464$hi = i64toi32_i32$3; + i64toi32_i32$5 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + $465$hi = i64toi32_i32$0; + i64toi32_i32$0 = $464$hi; + i64toi32_i32$0 = $465$hi; + $1415_1 = i64toi32_i32$3; + i64toi32_i32$0 = $464$hi; + i64toi32_i32$5 = $464_1; + i64toi32_i32$3 = $465$hi; + i64toi32_i32$2 = $1415_1; + i64toi32_i32$1 = i64toi32_i32$5 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$4 | 0; + $360_1 = $2519((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + $360_1 | 0; + i64toi32_i32$0 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $1430_1 = i64toi32_i32$4; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 152 | 0) >> 2] = $1430_1; + HEAP32[($5_1 + 156 | 0) >> 2] = i64toi32_i32$5; + $3288((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 88 | 0) >> 2] | 0) - (HEAP32[($5_1 + 104 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 88 | 0) >> 2] | 0) - (HEAP32[($5_1 + 104 | 0) >> 2] | 0) | 0) | 0; + } + } + $2521(HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0); + $2521($5_1 + 56 | 0 | 0); + i64toi32_i32$5 = 0; + i64toi32_i32$4 = (HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0; + $82_1 = 0; + HEAP8[i64toi32_i32$4 >> 0] = $82_1; + HEAP8[(i64toi32_i32$4 + 1 | 0) >> 0] = $82_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$4 + 2 | 0) >> 0] = $82_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$4 + 3 | 0) >> 0] = $82_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$4 + 4 | 0) >> 0] = i64toi32_i32$5; + HEAP8[(i64toi32_i32$4 + 5 | 0) >> 0] = i64toi32_i32$5 >>> 8 | 0; + HEAP8[(i64toi32_i32$4 + 6 | 0) >> 0] = i64toi32_i32$5 >>> 16 | 0; + HEAP8[(i64toi32_i32$4 + 7 | 0) >> 0] = i64toi32_i32$5 >>> 24 | 0; + i64toi32_i32$0 = $5_1 + 72 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $1491_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $1491_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$4; + $386_1 = 8; + HEAP32[(i64toi32_i32$5 + $386_1 | 0) >> 2] = HEAP32[(i64toi32_i32$0 + $386_1 | 0) >> 2] | 0; + } + global$0 = $5_1 + 176 | 0; + return; + } + + function $2670($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $8_1 = $2468((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $2671($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $7_1 = 0, $9_1 = 0, $15_1 = 0, $20_1 = 0, $44_1 = 0, $62_1 = 0, $78_1 = 0; + $4_1 = global$0 - 32 | 0; + $7_1 = $4_1 + 8 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $44_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[i64toi32_i32$0 >> 2] = $44_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $9_1 = 8; + HEAP32[(i64toi32_i32$0 + $9_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $9_1 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $62_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $62_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $15_1 = 8; + HEAP32[(i64toi32_i32$1 + $15_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $15_1 | 0) >> 2] | 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $78_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $78_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $20_1 = 8; + HEAP32[(i64toi32_i32$0 + $20_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $20_1 | 0) >> 2] | 0; + return; + } + + function $2672($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $44_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + label$2 : while (1) { + $10_1 = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAPU16[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 88) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $10_1; + FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 28 | 0) >> 2] | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0, $5_1 + 8 | 0); + label$3 : { + label$4 : { + if ((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == ($10_1 | 0) & 1 | 0) { + break label$4 + } + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$4 + } + if (!($2612(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0) | 0)) { + break label$3 + } + } + $44_1 = 1; + $2613(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, $44_1 | 0); + $2614(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $44_1; + } + if ($2665(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0) { + continue label$2 + } + break label$2; + }; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2673($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $52_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2661(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 8 | 0) >> 2] = ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 80 | 0) + 88 | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $42_1 = ($2535(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 72 | 0 | 0) | 0) & 255 | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $42_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP16[((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] = 1; + label$4 : { + label$5 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = 1; + $52_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($52_1 + 4 | 0) >> 2] = HEAP32[($52_1 + 4 | 0) >> 2] | 0 | 2 | 0; + $2627(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + break label$4; + } + $2625(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + break label$2; + } + HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] = 1; + } + $2684(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + } + $2531(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + global$0 = $6_1 + 32 | 0; + return; + } + + function $2674($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $26_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $26_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $26_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + return; + } + + function $2675($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $62_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $62_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $62_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) | 0 | 0) <= (HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + break label$1; + } + $2639((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0 | 0); + $2707(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0 | 0); + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2676($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + return; + } + + function $2677($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $109_1 = 0, $43_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $109_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $109_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$1 : { + label$2 : { + if (!(((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) | 0 | 0) <= (HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + $43_1 = $2708($4_1 + 16 | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = $43_1; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$3; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 36 | 0; + $2639((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 28 | 0 | 0); + $2709(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 28 | 0 | 0); + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + } + break label$1; + } + $2639((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 28 | 0 | 0); + $2707(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 28 | 0 | 0); + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $2678($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $20_1 = 0, i64toi32_i32$2 = 0, $53_1 = 0, $94_1 = 0, i64toi32_i32$1 = 0, $219_1 = 0, $93_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2679(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0); + break label$1; + } + $20_1 = 0; + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $20_1; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $20_1; + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $219_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $219_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$3 : { + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + $53_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = $53_1 + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (((HEAPU8[$53_1 >> 0] | 0) & 255 | 0) - 2 | 0) | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0; + label$8 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$3; + } + continue label$7; + }; + } + label$9 : { + if (!((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $93_1 = ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) - (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0) + 2 | 0; + $94_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $94_1 + 1 | 0; + HEAP8[$94_1 >> 0] = $93_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + continue label$5; + }; + } + } + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0; + } + global$0 = $4_1 + 48 | 0; + return; + } + + function $2679($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $68_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $2639((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0 | 0); + $2707(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0 | 0); + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $68_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $68_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $2680($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return; + } + + function $2681($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $12_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $12_1 = $2690(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $12_1 | 0; + } + + function $2682($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $40_1 = 0, $9_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + $9_1 = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $9_1; + label$1 : { + label$2 : { + if (!(($9_1 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 40 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3303(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $2691(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - (((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 40 | 0) + 1 | 0) | 0; + break label$1; + } + $40_1 = 0; + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = $40_1; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = $40_1; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = $40_1; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2683($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, $71_1 = 0, $102_1 = 0, i64toi32_i32$0 = 0, $94_1 = 0, $106_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2692(HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 28 | 0) >> 2] = 0; + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 40 | 0; + label$3 : { + if (!((HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$3 + } + if ($3228(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) | 0) { + break label$3 + } + break label$1; + } + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + continue label$2; + }; + } + label$4 : { + label$5 : { + label$6 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($8_1 + 20 | 0) >> 2] = ((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 40 | 0) + 1 | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - (HEAP32[($8_1 + 20 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = ((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + (HEAP32[($8_1 + 16 | 0) >> 2] | 0) | 0) + 10 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $71_1 = $41(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] = $71_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $71_1; + label$7 : { + label$8 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($8_1 + 8 | 0) >> 2] = (HEAP32[($8_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 52 | 0) >> 2] | 0) - (HEAP32[($8_1 + 20 | 0) >> 2] | 0) | 0) | 0; + $3288((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + (HEAP32[($8_1 + 52 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + (HEAP32[($8_1 + 20 | 0) >> 2] | 0) | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $94_1 = $2691(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + $94_1 | 0; + HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + break label$7; + } + HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($8_1 + 60 | 0) >> 2] = 7; + break label$4; + } + break label$5; + } + $102_1 = 0; + HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] = $102_1; + HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] = $102_1; + } + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + } + $106_1 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $106_1 | 0; + } + + function $2684($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = 136; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = 137; + break label$3; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = 138; + } + } + return; + } + + function $2685($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $88_1 = 0, $92_1 = 0, $17_1 = 0, $87_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $17_1 = $2534((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0, $5_1 + 8 | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + $17_1 | 0; + label$1 : { + label$2 : { + label$3 : { + if (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $2510((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 60 | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0); + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0; + break label$4; + } + $87_1 = $2534((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) | 0 | 0, $5_1 + 4 | 0 | 0) | 0; + $88_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($88_1 + 36 | 0) >> 2] = (HEAP32[($88_1 + 36 | 0) >> 2] | 0) + $87_1 | 0; + $92_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($92_1 + 40 | 0) >> 2] = (HEAP32[($92_1 + 40 | 0) >> 2] | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0; + } + $2700(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2686($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0, $17_1 = 0, $19_1 = 0, $25_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $14_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $17_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0; + $19_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = $19_1; + $2517($14_1 | 0, $17_1 | 0, $79(53559 | 0, $3_1 | 0) | 0 | 0) | 0; + } + $25_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $25_1 | 0; + } + + function $2687($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $11_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $379$hi = 0, $380$hi = 0, $39_1 = 0, $85_1 = 0, $196_1 = 0, $377$hi = 0, $378$hi = 0, i64toi32_i32$4 = 0, $30_1 = 0, $31_1 = 0, $32_1 = 0, $25_1 = 0, $38_1 = 0, $58_1 = 0, $179_1 = 0, $195_1 = 0, $215_1 = 0, $260_1 = 0, $291_1 = 0, $1062_1 = 0, $362_1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + $11_1 = 0; + HEAP32[($7_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + $25_1 = $2534((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0, $7_1 + 28 | 0 | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + $25_1 | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$1; + } + label$3 : { + label$4 : { + label$5 : while (1) { + $38_1 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + $39_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = $39_1 + 1 | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAPU8[($38_1 + $39_1 | 0) >> 0] | 0) & 255 | 0; + label$6 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0) & 128 | 0)) { + break label$6 + } + HEAP32[($7_1 + 56 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + -1 | 0; + $58_1 = $2534((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 56 | 0) >> 2] | 0) | 0 | 0, $7_1 + 32 | 0 | 0) | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + $58_1 | 0; + } + label$7 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 40 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + break label$4; + } + label$8 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + label$10 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0) >>> 0 < ((HEAP32[($7_1 + 60 | 0) >> 2] | 0) - (HEAP32[($7_1 + 40 | 0) >> 2] | 0) | 0) >>> 0 & 1 | 0)) { + break label$10 + } + $85_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + break label$9; + } + $85_1 = (HEAP32[($7_1 + 60 | 0) >> 2] | 0) - (HEAP32[($7_1 + 40 | 0) >> 2] | 0) | 0; + } + HEAP32[($7_1 + 16 | 0) >> 2] = $85_1; + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + label$13 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$13 + } + break label$11; + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + label$14 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + break label$3; + } + break label$4; + } + label$16 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$16 + } + if (!(((HEAPU8[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0) & 255 | 0 | 0) > ((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 40 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$16 + } + break label$4; + } + } + label$17 : { + label$18 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 1; + break label$17; + } + $179_1 = $2534((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0, $7_1 + 36 | 0 | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + $179_1 | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + label$19 : { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) >= (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$1; + } + $195_1 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + $196_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = $196_1 + 1 | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAPU8[($195_1 + $196_1 | 0) >> 0] | 0) & 255 | 0; + label$20 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$20 + } + HEAP32[($7_1 + 56 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + -1 | 0; + $215_1 = $2534((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 56 | 0) >> 2] | 0) | 0 | 0, $7_1 + 36 | 0 | 0) | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + $215_1 | 0; + } + continue label$5; + } + break label$5; + }; + } + label$21 : { + if (HEAP32[($7_1 + 72 | 0) >> 2] | 0) { + break label$21 + } + $2531(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + break label$1; + } + label$22 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$22 + } + label$23 : while (1) { + $2624(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + label$24 : { + if (!((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$24 + } + break label$1; + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + label$25 : { + label$26 : { + if ((HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$26 + } + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $260_1 = $2534((HEAP32[(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0, $7_1 + 56 | 0 | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + $260_1 | 0; + label$27 : { + label$28 : { + if ((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0) { + break label$28 + } + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + } + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$1; + } + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $291_1 = $2534((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 56 | 0) >> 2] | 0) | 0 | 0, $7_1 + 32 | 0 | 0) | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + $291_1 | 0; + break label$25; + } + if (1 & 1 | 0) { + continue label$23 + } + } + break label$23; + }; + } + } + i64toi32_i32$1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $377$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $378$hi = i64toi32_i32$0; + i64toi32_i32$0 = $377$hi; + i64toi32_i32$0 = $378$hi; + i64toi32_i32$0 = $377$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $378$hi; + i64toi32_i32$3 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $379$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $380$hi = i64toi32_i32$5; + i64toi32_i32$5 = $379$hi; + i64toi32_i32$5 = $380$hi; + i64toi32_i32$5 = $379$hi; + i64toi32_i32$5 = $380$hi; + $1062_1 = i64toi32_i32$2; + i64toi32_i32$5 = $379$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $380$hi; + i64toi32_i32$3 = $1062_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$2 | 0)) { + $30_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $31_1 = 0 + } else { + $31_1 = 1 + } + $32_1 = $31_1; + } else { + $32_1 = 0 + } + $30_1 = $32_1; + } + label$29 : { + label$30 : { + if ($30_1 & 1 | 0) { + break label$30 + } + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0) >>> 0 < 1 >>> 0 & 1 | 0)) { + break label$29 + } + } + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$1; + } + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $2637((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 60 | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0); + $2510((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 60 | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 56 | 0) >> 2] | 0) | 0 | 0); + label$31 : { + label$32 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0; + break label$31; + } + $362_1 = $2534((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0, $7_1 + 8 | 0 | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + $362_1 | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + (HEAP32[($7_1 + 8 | 0) >> 2] | 0) | 0; + } + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + $2700(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + $2625(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 80 | 0; + return; + } + + function $2688($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $37_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $37_1 = $2701(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] = $37_1; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $2689($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $5_1 = 0, $184$hi = 0, $185$hi = 0, $36_1 = 0, $186$hi = 0, $187$hi = 0, $188$hi = 0, $189$hi = 0, $190$hi = 0, $191$hi = 0, $45_1 = 0, $54_1 = 0, $83_1 = 0, $193$hi = 0, $194$hi = 0, $37_1 = 0, $195$hi = 0, $196$hi = 0, $197$hi = 0, $198$hi = 0, $199$hi = 0, $200$hi = 0, $19_1 = 0, $270_1 = 0, $44_1 = 0, $93_1 = 0, $442_1 = 0, $158_1 = 0, $178_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2617(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + $19_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $184$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $185$hi = i64toi32_i32$0; + i64toi32_i32$0 = $184$hi; + i64toi32_i32$0 = $185$hi; + i64toi32_i32$0 = $184$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $185$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $36_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $36_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $186$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $187$hi = i64toi32_i32$1; + i64toi32_i32$1 = $186$hi; + i64toi32_i32$1 = $187$hi; + i64toi32_i32$1 = $186$hi; + i64toi32_i32$0 = $36_1; + i64toi32_i32$2 = $187$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $188$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $189$hi = i64toi32_i32$5; + i64toi32_i32$5 = $188$hi; + i64toi32_i32$5 = $189$hi; + i64toi32_i32$5 = $188$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $189$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $190$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $191$hi = i64toi32_i32$4; + i64toi32_i32$4 = $190$hi; + i64toi32_i32$4 = $191$hi; + $270_1 = i64toi32_i32$1; + i64toi32_i32$4 = $190$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $191$hi; + i64toi32_i32$3 = $270_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2528($19_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$3; + } + HEAP32[($4_1 + 48 | 0) >> 2] = 4; + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 9 | 0; + label$5 : while (1) { + $44_1 = HEAP32[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 2] | 0; + $45_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $45_1 + 1 | 0; + $54_1 = 0; + label$6 : { + if (!(((HEAPU8[($44_1 + $45_1 | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$6 + } + $54_1 = (HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0); + } + label$7 : { + if (!($54_1 & 1 | 0)) { + break label$7 + } + continue label$5; + } + break label$5; + }; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0; + label$9 : while (1) { + $83_1 = 0; + label$10 : { + if (HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$10 + } + $83_1 = (HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!($83_1 & 1 | 0)) { + break label$11 + } + $93_1 = 0; + i64toi32_i32$5 = HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $193$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $194$hi = i64toi32_i32$2; + i64toi32_i32$2 = $193$hi; + i64toi32_i32$2 = $194$hi; + i64toi32_i32$2 = $193$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$5 = $194$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + $37_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$1 | 0) | 0; + $37_1 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + } + $195$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $196$hi = i64toi32_i32$5; + i64toi32_i32$5 = $195$hi; + i64toi32_i32$5 = $196$hi; + i64toi32_i32$5 = $195$hi; + i64toi32_i32$2 = $37_1; + i64toi32_i32$4 = $196$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $197$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $198$hi = i64toi32_i32$0; + i64toi32_i32$0 = $197$hi; + i64toi32_i32$0 = $198$hi; + i64toi32_i32$0 = $197$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$2 = $198$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $199$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $200$hi = i64toi32_i32$1; + i64toi32_i32$1 = $199$hi; + i64toi32_i32$1 = $200$hi; + $442_1 = i64toi32_i32$5; + i64toi32_i32$1 = $199$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$5 = $200$hi; + i64toi32_i32$3 = $442_1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$1 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2528(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != ($93_1 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ($2532(HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0; + label$13 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + } + $2531(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + label$14 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$14 + } + break label$11; + } + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + } + } + label$15 : { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $2531(HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ($2532(HEAP32[(HEAP32[($4_1 + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $158_1 = ($2535((HEAP32[(HEAP32[($4_1 + 64 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 72 | 0 | 0) | 0) & 255 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + $158_1 | 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + label$16 : { + label$17 : { + if (!((HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0; + break label$16; + } + $178_1 = $2698(HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 2] = $178_1; + } + } + $2627(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 80 | 0; + return; + } + + function $2690($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $73_1 = 0, $116_1 = 0, $135_1 = 0, i64toi32_i32$0 = 0, $140_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = 32; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $41(128 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, 128 | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + label$8 : { + if ((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$8 + } + if (!(((HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 1 | 0 | 0) >= (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + if (!((0 | 0) == ($3228((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 40 | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + } + $73_1 = 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[$6_1 >> 2] | 0) + 4 | 0) >> 2] = $73_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $73_1; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2696(HEAP32[$6_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + continue label$6; + }; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $116_1 = 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $116_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $116_1; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (32 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2696(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + $135_1 = 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] = $135_1; + $42(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $135_1; + } + $140_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $140_1 | 0; + } + + function $2691($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $17_1 = 0, $40_1 = 0, $42_1 = 0, $57_1 = 0, i64toi32_i32$1 = 0, $124_1 = 0, $41_1 = 0, $56_1 = 0, i64toi32_i32$0 = 0, $131_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + label$1 : { + if (!(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $17_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + break label$2; + } + $17_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = $17_1; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + $40_1 = 0; + $41_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $42_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $42_1 + 1 | 0; + HEAP8[($41_1 + $42_1 | 0) >> 0] = $40_1; + label$7 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) != ($40_1 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + $56_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $57_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $57_1 + 1 | 0; + HEAP8[($56_1 + $57_1 | 0) >> 0] = 0; + } + } + break label$4; + } + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) - 1 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 1 | 0) + ((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0) | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) <= (127 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) >> 0] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + break label$8; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2697(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $3290((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) | 0 | 0, (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0) | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2519((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) - 1 | 0) | 0; + } + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + label$10 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + $124_1 = 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 0] = $124_1; + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 25 | 0) >> 0] = $124_1; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + } + $131_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $131_1 | 0; + } + + function $2692($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 13; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) - 1 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 3 | 0) ^ (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) ^ ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + }; + } + return ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0) % ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) >>> 0) | 0 | 0; + } + + function $2693($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $18_1 = 0, $56$hi = 0, $51_1 = 0, i64toi32_i32$3 = 0, $56_1 = 0, $177$hi = 0, $181_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + $18_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($18_1 + 44 | 0) >> 2] = (HEAP32[($18_1 + 44 | 0) >> 2] | 0) + -1 | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $2625(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) | 0; + } + $2535((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0, $5_1 | 0) | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $56_1 = i64toi32_i32$0; + $56$hi = i64toi32_i32$1; + $51_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = $51_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $177$hi = i64toi32_i32$0; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$0 = $177$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$3 = $56_1; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $181_1 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$2 = $51_1; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = $181_1; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$5; + break label$1; + } + $2621(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2694($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $101_1 = 0, $167$hi = 0, $62_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $57_1 = 0, $167_1 = 0, $306$hi = 0, $93_1 = 0, $147_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2624(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + label$3 : { + label$4 : { + if (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + } + break label$1; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 32 | 0) >> 2] = 4; + } + label$5 : { + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $57_1 = ($2535((HEAP32[(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0 | 0, $5_1 + 24 | 0 | 0) | 0) & 255 | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + $57_1 | 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $167_1 = i64toi32_i32$0; + $167$hi = i64toi32_i32$1; + $62_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = $62_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $306$hi = i64toi32_i32$0; + i64toi32_i32$0 = $167$hi; + i64toi32_i32$0 = $306$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $167$hi; + i64toi32_i32$3 = $167_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $62_1; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$5; + break label$6; + } + label$8 : { + label$9 : { + if ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0) { + break label$9 + } + label$10 : { + label$11 : { + if (!((HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$12 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != ($2698(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$12 + } + $93_1 = $2534((HEAP32[(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0 | 0, $5_1 + 20 | 0 | 0) | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + $93_1 | 0; + } + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + $2685(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + break label$10; + } + $101_1 = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $101_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $101_1; + $2699(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $2682(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0, $5_1 + 16 | 0 | 0, $5_1 + 8 | 0 | 0); + label$13 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == ($101_1 | 0) & 1 | 0)) { + break label$13 + } + break label$5; + } + HEAP32[(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $2637((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 60 | 0 | 0, $3303(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $147_1 = ($2535(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 72 | 0 | 0) | 0) & 255 | 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = $147_1; + } + label$14 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = 1; + } + break label$8; + } + break label$5; + } + } + $2625(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + break label$1; + } + $2531(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2695($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $73_1 = 0, i64toi32_i32$5 = 0, $6_1 = 0, $308$hi = 0, $62_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $156_1 = 0, $272_1 = 0, $273_1 = 0, $284_1 = 0, $295_1 = 0, $48_1 = 0, $59_1 = 0, $308_1 = 0, $456$hi = 0, $136_1 = 0, $174_1 = 0, $199_1 = 0, $222_1 = 0, $271_1 = 0, $294_1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 40 | 0) >> 2] = 1; + label$6 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) != ($2698(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + $48_1 = $2534((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0 | 0, $5_1 + 36 | 0 | 0) | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + $48_1 | 0; + } + break label$4; + } + $59_1 = ($2535((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0 | 0, $5_1 + 16 | 0 | 0) | 0) & 255 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + $59_1 | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $308_1 = i64toi32_i32$0; + $308$hi = i64toi32_i32$1; + $62_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $62_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $456$hi = i64toi32_i32$0; + i64toi32_i32$0 = $308$hi; + i64toi32_i32$0 = $456$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $308$hi; + i64toi32_i32$3 = $308_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $62_1; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$5; + } + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + break label$2; + } + label$7 : { + label$8 : { + if (!((HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + $73_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $73_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $73_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $73_1; + label$9 : { + if (!(($73_1 | 0) == ((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$9 + } + $2699(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $2682(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0, $5_1 + 12 | 0 | 0, $5_1 + 4 | 0 | 0); + } + label$10 : { + label$11 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + $2531(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + break label$10; + } + HEAP32[(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + $2637((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 60 | 0 | 0, $3303(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $136_1 = ($2535(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 72 | 0 | 0) | 0) & 255 | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] = $136_1; + HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] = 1; + } + break label$7; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (HEAP32[($5_1 + 44 | 0) >> 2] | 0) { + break label$12 + } + $2624(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$14 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + break label$12; + } + $156_1 = ($2532(HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 65535 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $156_1; + label$15 : { + label$16 : { + if (!$156_1) { + break label$16 + } + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $174_1 = ($2535((HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 72 | 0 | 0) | 0) & 255 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + $174_1 | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + label$17 : { + if (!((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + $199_1 = (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ($2534((HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0 | 0) | 0) | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] = $199_1; + } + break label$15; + } + label$18 : { + if (!((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $222_1 = (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ($2534((HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0, $5_1 + 44 | 0 | 0) | 0) | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] = $222_1; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = 1; + } + } + label$19 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$1; + } + continue label$13; + }; + } + } + } + if (!((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$20 : { + label$21 : { + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$21 + } + label$22 : { + label$23 : { + if (!((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$23 + } + $2531(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + break label$22; + } + $2685(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0); + $2625(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + label$24 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] = 1; + } + } + break label$20; + } + $271_1 = HEAP32[(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + $272_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + $273_1 = HEAP32[($272_1 + 20 | 0) >> 2] | 0; + HEAP32[($272_1 + 20 | 0) >> 2] = $273_1 + 1 | 0; + HEAP32[$5_1 >> 2] = (HEAPU8[($271_1 + $273_1 | 0) >> 0] | 0) & 255 | 0; + label$25 : { + if (!((HEAP32[$5_1 >> 2] | 0) & 128 | 0)) { + break label$25 + } + $284_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP32[($284_1 + 20 | 0) >> 2] = (HEAP32[($284_1 + 20 | 0) >> 2] | 0) + -1 | 0; + $294_1 = $2534((HEAP32[(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0 | 0, $5_1 | 0) | 0; + $295_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP32[($295_1 + 20 | 0) >> 2] = (HEAP32[($295_1 + 20 | 0) >> 2] | 0) + $294_1 | 0; + } + HEAP8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 84 | 0) >> 0] = (HEAP32[$5_1 >> 2] | 0) & 1 | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 80 | 0) >> 2] = (HEAP32[$5_1 >> 2] | 0) >> 1 | 0; + } + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $2696($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $19_1 = 0, $59_1 = 0, $66_1 = 0; + $4_1 = global$0 - 48 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $4_1 + 28 | 0; + label$1 : while (1) { + $19_1 = 1; + label$2 : { + if ((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + $19_1 = (HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($19_1 & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + break label$6; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 40 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 40 | 0; + label$8 : { + label$9 : while (1) { + $59_1 = 24; + $66_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $59_1 | 0) >> $59_1 | 0 | 0) == (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $66_1 | 0) >> $66_1 | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$10 : { + label$11 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) > ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$10; + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = 0; + } + } + continue label$1; + } + break label$1; + }; + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2697($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 < 16384 >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 2; + break label$1; + } + label$3 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 < 2097152 >>> 0 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 3; + break label$1; + } + label$4 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 < 268435456 >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 4; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 5; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2698($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2534((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0, $3_1 + 8 | 0 | 0) | 0; + $12_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $12_1 | 0; + } + + function $2699($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + return; + } + + function $2700($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $45_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) >= (HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2624(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + } + break label$1; + } + HEAP32[$4_1 >> 2] = 4; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + } + $45_1 = ($2535((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 72 | 0 | 0) | 0) & 255 | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + $45_1 | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2701($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $113_1 = 0, $7_1 = 0, $52_1 = 0, $11_1 = 0, $102$hi = 0, $103$hi = 0, $30_1 = 0, $104$hi = 0, $105$hi = 0, $106$hi = 0, $107$hi = 0, $108$hi = 0, $31_1 = 0, $109$hi = 0, $110$hi = 0, $111$hi = 0, $37_1 = 0, $106_1 = 0, $220_1 = 0, $60_1 = 0, $97_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $7_1; + label$1 : while (1) { + $11_1 = 0; + label$2 : { + if (HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $11_1 = (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($11_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 5 | 0) + 40 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $49(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] = 7; + break label$4; + } + $37_1 = 0; + i64toi32_i32$0 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $102$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $103$hi = i64toi32_i32$1; + i64toi32_i32$1 = $102$hi; + i64toi32_i32$1 = $103$hi; + i64toi32_i32$1 = $102$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $103$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $30_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $30_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $104$hi = i64toi32_i32$0; + i64toi32_i32$0 = 16; + $105$hi = i64toi32_i32$0; + i64toi32_i32$0 = $104$hi; + i64toi32_i32$0 = $105$hi; + i64toi32_i32$0 = $104$hi; + i64toi32_i32$1 = $30_1; + i64toi32_i32$2 = $105$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $106_1 = i64toi32_i32$4; + $106$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$1 >> 31 | 0; + $107$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $108$hi = i64toi32_i32$5; + i64toi32_i32$5 = $107$hi; + i64toi32_i32$5 = $108$hi; + i64toi32_i32$5 = $107$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$3 = 31; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + $31_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $31_1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + } + $109$hi = i64toi32_i32$1; + i64toi32_i32$1 = $106$hi; + i64toi32_i32$1 = $109$hi; + i64toi32_i32$1 = $106$hi; + i64toi32_i32$5 = $106_1; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$3 = $31_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $110$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $111$hi = i64toi32_i32$4; + i64toi32_i32$4 = $110$hi; + i64toi32_i32$4 = $111$hi; + $220_1 = i64toi32_i32$5; + i64toi32_i32$4 = $110$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$5 = $111$hi; + i64toi32_i32$3 = $220_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($6_1 + 4 | 0) >> 2] = ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 5 | 0) | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $52_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + $113_1 = 0; + i64toi32_i32$1 = $52_1; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $52_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $52_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$4 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $60_1 = $2528(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] = $60_1; + label$6 : { + if (!((HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($37_1 | 0) & 1 | 0)) { + break label$6 + } + if (((HEAPU8[(HEAP32[(HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($6_1 + 36 | 0) >> 2] = 1; + } + HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$7 : { + if (HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$7 + } + HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$9 + } + $2702(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0; + break label$8; + } + $2703(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0); + } + } + label$10 : { + if (!(HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$10 + } + $2548(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $97_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $97_1 | 0; + } + + function $2702($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $24_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $2628(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 5 | 0) | 0 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $24_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $24_1 | 0; + } + + function $2703($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $68_1 = 0, $43_1 = 0, $12_1 = 0, $30_1 = 0, $69$hi = 0, $70$hi = 0, $27_1 = 0, $71$hi = 0, $72$hi = 0, $73$hi = 0, $74$hi = 0, $75$hi = 0, $28_1 = 0, $76$hi = 0, $77$hi = 0, $78$hi = 0, $50_1 = 0, $73_1 = 0, $222_1 = 0, $61_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $12_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) >= (0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 5 | 0) | 0; + label$4 : { + label$5 : while (1) { + if ($2628(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + continue label$5; + }; + } + $30_1 = 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = $30_1; + label$6 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) > ($30_1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + -32 | 0; + $2531(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + $43_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $68_1 = 0; + i64toi32_i32$1 = $43_1; + HEAP32[i64toi32_i32$1 >> 2] = $68_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $68_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $43_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $68_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $43_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $68_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $50_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $69$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $70$hi = i64toi32_i32$0; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $70$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $27_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $27_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $71$hi = i64toi32_i32$1; + i64toi32_i32$1 = 16; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$0 = $27_1; + i64toi32_i32$2 = $72$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $73_1 = i64toi32_i32$4; + $73$hi = i64toi32_i32$5; + i64toi32_i32$0 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $74$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $75$hi = i64toi32_i32$5; + i64toi32_i32$5 = $74$hi; + i64toi32_i32$5 = $75$hi; + i64toi32_i32$5 = $74$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$3 = 31; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $28_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $28_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $76$hi = i64toi32_i32$0; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$5 = $73_1; + i64toi32_i32$1 = $76$hi; + i64toi32_i32$3 = $28_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $77$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $78$hi = i64toi32_i32$4; + i64toi32_i32$4 = $77$hi; + i64toi32_i32$4 = $78$hi; + $222_1 = i64toi32_i32$5; + i64toi32_i32$4 = $77$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$5 = $78$hi; + i64toi32_i32$3 = $222_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $61_1 = $2528($50_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = $61_1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + -1 | 0; + continue label$1; + } + break label$1; + }; + global$0 = $4_1 + 32 | 0; + return; + } + + function $2704($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $34$hi = 0, $31_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $29_1 = 0, $34_1 = 0, $108$hi = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = -1; + break label$1; + } + $29_1 = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (($2535((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0 | 0, $5_1 + 8 | 0 | 0) | 0) & 255 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = $29_1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $34_1 = i64toi32_i32$0; + $34$hi = i64toi32_i32$1; + $31_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = $31_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $108$hi = i64toi32_i32$0; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$0 = $108$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$3 = $34_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $31_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2705($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, $24_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $24_1 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[i64toi32_i32$1 >> 2] = $24_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $24_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $24_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $24_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + $2706(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $2706($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $61$hi = 0, $31_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $28_1 = 0, $61_1 = 0, $136$hi = 0, $42_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = ((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0) + (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 0 >= (HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$1; + } + $28_1 = ($2535(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $3_1 + 16 | 0 | 0) | 0) & 255 | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + $28_1 | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $61_1 = i64toi32_i32$0; + $61$hi = i64toi32_i32$1; + $31_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $31_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $136$hi = i64toi32_i32$0; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$0 = $136$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$3 = $61_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $31_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$5; + label$3 : { + label$4 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$4 + } + $42_1 = $2534(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = $42_1; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 1 | 0; + break label$3; + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = ((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) >> 1 | 0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = 1; + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $2707($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $9_1 = 0, $22_1 = 0, $86_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(((HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) + 8 | 0) | 0) >>> 0 <= (HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $22_1 = 0; + break label$1; + } + $22_1 = $2511((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) + 8 | 0) + (HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0) | 0; + } + label$3 : { + if (!((0 | 0) == ($22_1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = (HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) | 0) | 0; + $9_1 = 0; + HEAP8[i64toi32_i32$1 >> 0] = $9_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $9_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $9_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $9_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + label$4 : { + label$5 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $2711(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, 139 | 0); + break label$4; + } + label$6 : { + label$7 : { + if (HEAP32[((HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) { + break label$7 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2713(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $2711(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0, 140 | 0); + break label$6; + } + i64toi32_i32$0 = 0; + $86_1 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[$6_1 >> 2] = $86_1; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $6_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $86_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $2711(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $6_1 | 0, 141 | 0); + } + } + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2708($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $29_1 = 0, $45_1 = 0, $49_1 = 0, $84_1 = 0, $96_1 = 0, $65_1 = 0, $108_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : while (1) { + if (!(((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : while (1) { + $29_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $29_1 + 1 | 0; + if (!(((HEAPU8[$29_1 >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$6 + } + continue label$7; + }; + } + label$8 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($5_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + continue label$5; + }; + } + $45_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $45_1 + 1 | 0; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = $45_1; + $49_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $49_1 + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAPU8[$49_1 >> 0] | 0) & 255 | 0; + label$9 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 128 | 0)) { + break label$9 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + $65_1 = $2534(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + $65_1 | 0; + } + continue label$3; + }; + } + label$10 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$11 : while (1) { + $84_1 = 0; + label$12 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$12 + } + $84_1 = ((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0); + } + label$13 : { + if (!($84_1 & 1 | 0)) { + break label$13 + } + label$14 : { + label$15 : while (1) { + $96_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $96_1 + 1 | 0; + if (!(((HEAPU8[$96_1 >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$14 + } + continue label$15; + }; + } + continue label$11; + } + break label$11; + }; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) - (HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) | 0; + } + $108_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $108_1 | 0; + } + + function $2709($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + label$1 : { + if (HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + $2639(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2708($7_1 + 4 | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[$7_1 >> 2] | 0)) { + break label$4 + } + $2510(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$7_1 >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $2710($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $22_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + label$1 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $3288((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0) | 0; + $22_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($22_1 + 4 | 0) >> 2] = (HEAP32[($22_1 + 4 | 0) >> 2] | 0) + (HEAP32[$6_1 >> 2] | 0) | 0; + } + global$0 = $6_1 + 16 | 0; + return; + } + + function $2711($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $29_1 = 0, $114$hi = 0, $115$hi = 0, $24_1 = 0, $116$hi = 0, $117$hi = 0, $118$hi = 0, $119$hi = 0, $120$hi = 0, $121$hi = 0, $96_1 = 0, $63_1 = 0, $67_1 = 0, $299_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < ((HEAP32[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + $29_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + break label$1; + } + $29_1 = (HEAP32[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + } + HEAP32[($6_1 + 16 | 0) >> 2] = $29_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + label$3 : { + if ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2 | 0) { + break label$3 + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + label$4 : { + label$5 : while (1) { + FUNCTION_TABLE[HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 44 | 0) >> 2] | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) - (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0; + $2531(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + label$6 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + $63_1 = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + $67_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $114$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $115$hi = i64toi32_i32$0; + i64toi32_i32$0 = $114$hi; + i64toi32_i32$0 = $115$hi; + i64toi32_i32$0 = $114$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $115$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $24_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $24_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $116$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $117$hi = i64toi32_i32$1; + i64toi32_i32$1 = $116$hi; + i64toi32_i32$1 = $117$hi; + i64toi32_i32$1 = $116$hi; + i64toi32_i32$0 = $24_1; + i64toi32_i32$2 = $117$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $118$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $119$hi = i64toi32_i32$5; + i64toi32_i32$5 = $118$hi; + i64toi32_i32$5 = $119$hi; + i64toi32_i32$5 = $118$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $120$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $121$hi = i64toi32_i32$4; + i64toi32_i32$4 = $120$hi; + i64toi32_i32$4 = $121$hi; + $299_1 = i64toi32_i32$1; + i64toi32_i32$4 = $120$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $121$hi; + i64toi32_i32$3 = $299_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2629($67_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == ($63_1 | 0) & 1 | 0)) { + break label$7 + } + break label$4; + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < ((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 4 | 0 | 0) & 1 | 0)) { + break label$9 + } + $96_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + break label$8; + } + $96_1 = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 4 | 0; + } + HEAP32[($6_1 + 16 | 0) >> 2] = $96_1; + label$10 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + } + continue label$5; + }; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2712($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $16_1 = 0, $25_1 = 0, $62_1 = 0, $75_1 = 0, $122_1 = 0, $146_1 = 0, $192_1 = 0, $24_1 = 0, $44_1 = 0, i64toi32_i32$0 = 0, $60_1 = 0, $145_1 = 0, $165_1 = 0, $171_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $16_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $16_1; + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + $24_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $25_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $25_1 + 1 | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAPU8[($24_1 + $25_1 | 0) >> 0] | 0) & 255 | 0; + label$3 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0) & 128 | 0)) { + break label$3 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + -1 | 0; + $44_1 = $2534((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, $6_1 + 16 | 0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $44_1 | 0; + } + label$4 : { + label$5 : { + if (!($2713(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + i64toi32_i32$0 = 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + $60_1 = $2519((HEAP32[(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, 1 | 0, i64toi32_i32$0 | 0) | 0; + $62_1 = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($62_1 + 4 | 0) >> 2] = (HEAP32[($62_1 + 4 | 0) >> 2] | 0) + $60_1 | 0; + break label$4; + } + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + } + label$6 : while (1) { + label$7 : while (1) { + $75_1 = 0; + label$8 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $75_1 = ((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0); + } + label$9 : { + if (!($75_1 & 1 | 0)) { + break label$9 + } + label$10 : { + label$11 : while (1) { + if (!(((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$10 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + label$12 : { + if (!(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$12 + } + $3288((HEAP32[(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) - (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0 | 0) | 0; + $122_1 = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($122_1 + 4 | 0) >> 2] = (HEAP32[($122_1 + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) - (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) | 0; + } + label$13 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + label$14 : { + label$15 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = 2; + break label$14; + } + $145_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $146_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $146_1 + 1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAPU8[($145_1 + $146_1 | 0) >> 0] | 0) & 255 | 0; + label$16 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0) & 128 | 0)) { + break label$16 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + -1 | 0; + $165_1 = $2534((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, $6_1 + 12 | 0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $165_1 | 0; + } + $171_1 = $2713(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = $171_1; + label$17 : { + if (!(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$17 + } + $3288((HEAP32[(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) - (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0 | 0) | 0; + $192_1 = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($192_1 + 4 | 0) >> 2] = (HEAP32[($192_1 + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) - (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + } + } + } + if ((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$6 + } + break label$6; + }; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2713($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[(((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2714($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, $60_1 = 0, $29_1 = 0, i64toi32_i32$0 = 0, $58_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $29_1 = $2534((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0 | 0, $6_1 + 4 | 0 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + $29_1 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 2 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + label$4 : { + if (!($2713(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + i64toi32_i32$1 = ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 2 | 0) - (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $58_1 = $2519((HEAP32[(HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $60_1 = HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($60_1 + 4 | 0) >> 2] = (HEAP32[($60_1 + 4 | 0) >> 2] | 0) + $58_1 | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + } + continue label$3; + }; + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2715($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$2 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2716($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $31$hi = 0, $32$hi = 0, $28_1 = 0, $31_1 = 0, $85_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $31_1 = i64toi32_i32$0; + $31$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$0; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $32$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $32$hi; + $85_1 = i64toi32_i32$1; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$2 = $31_1; + i64toi32_i32$1 = $32$hi; + if (!(((i64toi32_i32$2 | 0) == ($85_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$1; + } + $28_1 = 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $28_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $28_1; + } + return HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0; + } + + function $2717($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $68$hi = 0, $69$hi = 0, $62_1 = 0, $68_1 = 0, $128_1 = 0, $65_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $68_1 = i64toi32_i32$0; + $68$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $69$hi = i64toi32_i32$0; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$0 = $69$hi; + $128_1 = i64toi32_i32$1; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$2 = $68_1; + i64toi32_i32$1 = $69$hi; + i64toi32_i32$3 = $128_1; + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2640(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + break label$1; + } + $62_1 = 0; + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = $62_1; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $62_1; + } + $65_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $65_1 | 0; + } + + function $2718($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + return HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function $2719($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + return HEAP32[((HEAP32[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0; + } + + function $2720($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + $11_1 = $2721(HEAP32[((HEAP32[$4_1 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $11_1 | 0; + } + + function $2721($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $19$hi = 0, $22$hi = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $50_1 = 0, i64toi32_i32$3 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2745(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = 0; + $19$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $50_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $50_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $22$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $22$hi; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $22$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $11_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $12_1 = 0 + } else { + $12_1 = 1 + } + $13_1 = $12_1; + } else { + $13_1 = 0 + } + $11_1 = $13_1; + } + label$2 : { + if (!($11_1 & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 267; + } + } + $16_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $16_1 | 0; + } + + function $2722($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $13_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + $13_1 = $2723(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 32 | 0; + return $13_1 | 0; + } + + function $2723($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $59$hi = 0, $34_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $59_1 = 0, $138$hi = 0, $185_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2745(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$2 = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $59_1 = i64toi32_i32$0; + $59$hi = i64toi32_i32$1; + $34_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = $34_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $138$hi = i64toi32_i32$0; + i64toi32_i32$0 = $59$hi; + i64toi32_i32$0 = $138$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$3 = $59_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $34_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + break label$2; + } + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $185_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $185_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + break label$6; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 25; + } + } + } + $55_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $55_1 | 0; + } + + function $2724($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $18_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $18_1 = $2591(HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 8 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $7_1 + 32 | 0; + return $18_1 | 0; + } + + function $2725($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $7_1 = $2559(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $2726($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $9_1 = $2727(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $2727($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2728($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, $22_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) & 8 | 0)) { + break label$2 + } + $13_1 = $2729(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$4_1 >> 2] = $13_1; + if (!((0 | 0) == ($13_1 | 0) & 1 | 0)) { + break label$1 + } + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + } + $22_1 = HEAP32[$4_1 >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $22_1 | 0; + } + + function $2729($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $224$hi = 0, $225$hi = 0, $4_1 = 0, $37_1 = 0, $46_1 = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $141_1 = 0, $229$hi = 0, $230$hi = 0, $27_1 = 0, $232$hi = 0, $233$hi = 0, $215_1 = 0, $26_1 = 0, $224_1 = 0, $472_1 = 0, $165_1 = 0, $219_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 64 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($3_1 + 60 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2559(HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) == ($4_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 32 | 0) >> 2] = Math_imul(HEAP32[($3_1 + 48 | 0) >> 2] | 0, 24); + HEAP32[($3_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + $26_1 = $2468($3_1 + 56 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 104 | 0) >> 2] = $26_1; + } + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $37_1 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $37_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $37_1; + label$3 : while (1) { + $46_1 = 0; + label$4 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $46_1 = (HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$5 : { + if (!($46_1 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2741(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $3_1 + 20 | 0 | 0, $3_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$6 + } + $2641(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 24 | 0) >> 2] | 0, 24) | 0 | 0) | 0; + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + label$7 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$7 + } + label$8 : while (1) { + HEAP32[($3_1 + 8 | 0) >> 2] = -1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + label$11 : { + if ((HEAPU8[(((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 24 | 0) >> 2] | 0, 24) | 0) + 13 | 0) >> 0] | 0) & 255 | 0) { + break label$11 + } + label$12 : { + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$12 + } + i64toi32_i32$2 = (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 24 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $224_1 = i64toi32_i32$1; + $224$hi = i64toi32_i32$0; + i64toi32_i32$2 = (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $225$hi = i64toi32_i32$1; + i64toi32_i32$1 = $224$hi; + i64toi32_i32$1 = $225$hi; + i64toi32_i32$1 = $224$hi; + i64toi32_i32$1 = $225$hi; + $472_1 = i64toi32_i32$0; + i64toi32_i32$1 = $224$hi; + i64toi32_i32$2 = $224_1; + i64toi32_i32$0 = $225$hi; + i64toi32_i32$3 = $472_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $23_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $24_1 = 0 + } else { + $24_1 = 1 + } + $25_1 = $24_1; + } else { + $25_1 = 0 + } + $23_1 = $25_1; + } + if (!($23_1 & 1 | 0)) { + break label$11 + } + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + label$13 : { + label$14 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$14 + } + break label$13; + } + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0; + label$15 : { + if (!((HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + label$16 : { + label$17 : { + if (!(HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0)) { + break label$17 + } + $141_1 = (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) << 1 | 0; + break label$16; + } + $141_1 = 32; + } + HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 108 | 0) >> 2] = $141_1; + i64toi32_i32$2 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0, Math_imul((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) << 2 | 0, 3) | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + label$19 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 116 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + break label$18; + } + HEAP32[($3_1 + 56 | 0) >> 2] = 7; + break label$13; + } + } + $165_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + (Math_imul((HEAP32[($3_1 + 28 | 0) >> 2] | 0) - 1 | 0, 3) << 2 | 0) | 0; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $229$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $230$hi = i64toi32_i32$1; + i64toi32_i32$1 = $229$hi; + i64toi32_i32$1 = $230$hi; + i64toi32_i32$1 = $229$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $230$hi; + i64toi32_i32$0 = 32; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $27_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $27_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $27_1; + i64toi32_i32$1 = (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $232$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $233$hi = i64toi32_i32$3; + i64toi32_i32$3 = $232$hi; + i64toi32_i32$3 = $233$hi; + i64toi32_i32$3 = $232$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $233$hi; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = i64toi32_i32$1 & i64toi32_i32$0 | 0; + label$20 : { + label$21 : { + if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) < ($165_1 | 0) & 1 | 0) { + break label$21 + } + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) >= (HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + } + HEAP32[($3_1 + 56 | 0) >> 2] = 267; + break label$13; + } + $2642((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 24) | 0 | 0) | 0; + continue label$8; + } + break label$8; + }; + } + HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 112 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + $215_1 = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + HEAP32[($215_1 + 60 | 0) >> 2] = (HEAP32[($215_1 + 60 | 0) >> 2] | 0) & -9 | 0; + } + $219_1 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + global$0 = $3_1 + 64 | 0; + return $219_1 | 0; + } + + function $2730($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $16_1 = 0, $72_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) & 8 | 0)) { + break label$2 + } + $16_1 = $2729(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = $16_1; + if (!((0 | 0) == ($16_1 | 0) & 1 | 0)) { + break label$1 + } + } + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($7_1 + 4 | 0) >> 2] = 25; + break label$3; + } + HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + (Math_imul(HEAP32[($7_1 + 24 | 0) >> 2] | 0, 3) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($7_1 + 24 | 0) >> 2] | 0, 3) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($7_1 + 24 | 0) >> 2] | 0, 3) + 2 | 0) << 2 | 0) | 0) >> 2] | 0; + } + } + $72_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $72_1 | 0; + } + + function $2731($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $2440(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + global$0 = $3_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2732($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $20_1 = 0, $32_1 = 0, $39_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ($2437(HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$2 + } + } + $20_1 = 0; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = $20_1; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = $20_1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2438(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$4 + } + $32_1 = $319(HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = $32_1; + $39_1 = $315(HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = $39_1; + } + } + $41_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $41_1 | 0; + } + + function $2733($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $61_1 = 0, $111_1 = 0, $122_1 = 0, $139_1 = 0, $218_1 = 0, $164_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = 0; + label$1 : { + if (!((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) & 4 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$3 + } + i64toi32_i32$0 = $2440(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $218_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $218_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2734(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if ((HEAPU8[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + HEAP32[((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + break label$4; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$9 : while (1) { + $61_1 = 0; + label$10 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$10 + } + $61_1 = (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!($61_1 & 1 | 0)) { + break label$11 + } + label$12 : { + if ((HEAPU8[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2732(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0, $5_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$13 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2591(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 8 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 142 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + } + } + $111_1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + HEAP32[($111_1 + 60 | 0) >> 2] = (HEAP32[($111_1 + 60 | 0) >> 2] | 0) & -5 | 0; + } + label$14 : { + label$15 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$15 + } + $122_1 = 0; + HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] = $122_1; + HEAP32[$5_1 >> 2] = $122_1; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $139_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + HEAP32[$139_1 >> 2] = (HEAP32[$139_1 >> 2] | 0) + (HEAP32[((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + HEAP32[$5_1 >> 2] = (HEAP32[$5_1 >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + break label$14; + } + label$18 : { + label$19 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$18; + } + HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($5_1 + 36 | 0) >> 2] = 25; + } + } + $164_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $164_1 | 0; + } + + function $2734($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $27_1 = 0, $10_1 = 0, i64toi32_i32$1 = 0, $18_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $10_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2523(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 8 | 0, $5_1 + 20 | 0 | 0, $10_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + $18_1 = 1; + HEAP32[($5_1 + 12 | 0) >> 2] = $18_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $18_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + label$2 : { + if (!((100 | 0) == ($287(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + $27_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $311(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $27_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $315(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $27_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(($27_1 | 0) == ($2754(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$4 + } + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 267; + } + } + $48_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $48_1 | 0; + } + + function $2735($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $13_1 = 0; + $8_1 = global$0 - 32 | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 4 | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) & 1 | 0) { + break label$1 + } + $13_1 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + HEAP32[$13_1 >> 2] = (HEAP32[$13_1 >> 2] | 0) + 1 | 0; + } + return 0 | 0; + } + + function $2736($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $36_1 = 0, $68$hi = 0, $65_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2410(HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($6_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = 2147483647; + $68$hi = i64toi32_i32$0; + i64toi32_i32$0 = -2147483648; + HEAP32[((HEAP32[$6_1 >> 2] | 0) + 24 | 0) >> 2] = 1; + i64toi32_i32$1 = HEAP32[$6_1 >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$1 = HEAP32[$6_1 >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[$6_1 >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2737(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[$6_1 >> 2] | 0) + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($6_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2420(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : while (1) { + $36_1 = 0; + label$4 : { + if (HEAP32[($6_1 + 4 | 0) >> 2] | 0) { + break label$4 + } + $36_1 = ((HEAP32[((HEAP32[$6_1 >> 2] | 0) + 60 | 0) >> 2] | 0) & 1 | 0 | 0) == (0 | 0); + } + label$5 : { + if (!($36_1 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0](53760, HEAP32[$6_1 >> 2] | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($6_1 + 4 | 0) >> 2] | 0)) { + break label$6 + } + label$7 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 4 | 0) >> 2] = 0; + } + break label$5; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2425(HEAP32[$6_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + continue label$3; + } + break label$3; + }; + } + $2412(HEAP32[$6_1 >> 2] | 0 | 0) | 0; + $65_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $65_1 | 0; + } + + function $2737($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $172_1 = 0, $12_1 = 0, $84_1 = 0, $110_1 = 0, $120_1 = 0, $232$hi = 0, $25_1 = 0, $31_1 = 0, $37_1 = 0, $229_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + $232$hi = i64toi32_i32$0; + $12_1 = 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $12_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $12_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + i64toi32_i32$0 = $232$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2468($5_1 + 64 | 0 | 0, 24 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = 0; + $25_1 = $2468($5_1 + 64 | 0 | 0, 4 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] = $25_1; + } + label$2 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + $31_1 = $2468($5_1 + 64 | 0 | 0, 40 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] = $31_1; + } + label$3 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$3 + } + i64toi32_i32$0 = 0; + $37_1 = $2468($5_1 + 64 | 0 | 0, 20 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = $37_1; + } + label$4 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = (((HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) << 2 | 0) + 8 | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2468($5_1 + 64 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $3288(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + } + HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + } + label$7 : { + label$8 : { + if (!(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$9 : while (1) { + $84_1 = 0; + label$10 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$10 + } + $84_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!($84_1 & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0; + label$12 : while (1) { + $110_1 = 0; + label$13 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + $110_1 = (HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$14 : { + if (!($110_1 & 1 | 0)) { + break label$14 + } + $120_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2590($5_1 + 48 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $3303(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0, $120_1 | 0, $120_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$12; + } + break label$12; + }; + label$15 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$15 + } + HEAP8[(((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) >> 0] = HEAPU8[(((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) >> 0] | 0; + HEAP8[((((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) + 1 | 0) >> 0] = HEAPU8[((((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) + 1 | 0) >> 0] | 0; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + break label$7; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2468($5_1 + 64 | 0 | 0, 36 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + label$16 : { + label$17 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$17 + } + $172_1 = 1; + HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] = $172_1; + HEAP32[(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $172_1; + HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == ($172_1 | 0) & 1 | 0)) { + break label$19 + } + if (!((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$19 + } + if ((HEAPU8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) { + break label$19 + } + HEAP32[(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] = 4; + HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = 120; + break label$18; + } + HEAP32[(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] = 9; + HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = 121; + } + break label$16; + } + $2426(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + $2544(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + $229_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + global$0 = $5_1 + 80 | 0; + return $229_1 | 0; + } + + function $2738($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $46_1 = 0, i64toi32_i32$0 = 0, $80_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + label$4 : { + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0); + } + break label$5; + } + $46_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $46_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2468($5_1 + 4 | 0 | 0, 16 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == ($46_1 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + FUNCTION_TABLE[HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 20 | 0) >> 2] | 0); + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$4; + } + HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $80_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $80_1 | 0; + } + + function $2739($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $37_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + label$4 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$5 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$5 + } + $37_1 = 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = $37_1; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = $37_1; + } + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2740($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $17_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2741(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, $7_1 + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[$7_1 >> 2] | 0) { + break label$1 + } + $17_1 = 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($7_1 + 4 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] = $17_1; + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = $17_1; + $2742(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + } + $29_1 = HEAP32[$7_1 >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $29_1 | 0; + } + + function $2741($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $46_1 = 0, i64toi32_i32$2 = 0, $89_1 = 0, $107_1 = 0, i64toi32_i32$1 = 0, $139_1 = 0, $141_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($6_1 + 60 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) & 64 | 0)) { + break label$1 + } + label$2 : { + if (!(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2747(HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 40 | 0) >> 2] = 7; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + label$4 : while (1) { + $46_1 = 0; + label$5 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $46_1 = (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$6 : { + if (!($46_1 & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2732(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, $6_1 + 20 | 0 | 0, $6_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$7 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2748(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + $42(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + label$8 : { + if (!((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $2749(HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0); + } + } + $89_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + HEAP32[($89_1 + 60 | 0) >> 2] = (HEAP32[($89_1 + 60 | 0) >> 2] | 0) & -65 | 0; + } + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + label$11 : { + label$12 : { + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$12 + } + $107_1 = 0; + break label$11; + } + $107_1 = HEAP32[(((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 24 | 0) + (((HEAP32[($6_1 + 56 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($6_1 + 12 | 0) >> 2] = $107_1; + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = (HEAP32[(((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 24 | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) - (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($6_1 + 52 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + break label$9; + } + $139_1 = $2716(HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = $139_1; + } + $141_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $141_1 | 0; + } + + function $2742($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $16_1 = 0, $26_1 = 0, $37_1 = 0, $42_1 = 0, $51_1 = 0, $57_1 = 0, $25_1 = 0, $41_1 = 0, $50_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $16_1 = -1; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = $16_1; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = $16_1; + break label$1; + } + $25_1 = $2534(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0) | 0; + $26_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$26_1 >> 2] = (HEAP32[$26_1 >> 2] | 0) + $25_1 | 0; + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + $37_1 = $6_1 + 12 | 0; + $41_1 = $2534(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, $37_1 | 0) | 0; + $42_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$42_1 >> 2] = (HEAP32[$42_1 >> 2] | 0) + $41_1 | 0; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = 0; + $50_1 = $2534(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, $37_1 | 0) | 0; + $51_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$51_1 >> 2] = (HEAP32[$51_1 >> 2] | 0) + $50_1 | 0; + } + $57_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[$57_1 >> 2] = (HEAP32[$57_1 >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) - 2 | 0) | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2743($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $31_1 = 0, $118_1 = 0, $117_1 = 0, $123_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$6 + } + $31_1 = 0; + break label$5; + } + $31_1 = HEAP32[(((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 24 | 0) + (((HEAP32[($6_1 + 40 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($6_1 + 8 | 0) >> 2] = $31_1; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[(((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 24 | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) - (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0; + break label$3; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2717(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$7 + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = 0; + $2744(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + } + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2741(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $6_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$8 + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0; + label$9 : { + label$10 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = -1; + break label$9; + } + label$11 : { + label$12 : { + if (!(((HEAPU8[(HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$12 + } + $117_1 = ($2534((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + $118_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[$118_1 >> 2] = (HEAP32[$118_1 >> 2] | 0) + $117_1 | 0; + break label$11; + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = 0; + } + } + } + } + $123_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $123_1 | 0; + } + + function $2744($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $35_1 = 0, $41_1 = 0, $72_1 = 0, $83_1 = 0, $34_1 = 0, $71_1 = 0, $82_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = -1; + break label$3; + } + $34_1 = $2534(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0; + $35_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[$35_1 >> 2] = (HEAP32[$35_1 >> 2] | 0) + $34_1 | 0; + $41_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[$41_1 >> 2] = (HEAP32[$41_1 >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) - 2 | 0) | 0; + } + break label$1; + } + label$5 : while (1) { + label$6 : { + if (!((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = -1; + break label$1; + } + label$7 : { + label$8 : { + if (!(((HEAPU8[(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + break label$7; + } + $71_1 = $2534(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, $5_1 + 4 | 0 | 0) | 0; + $72_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[$72_1 >> 2] = (HEAP32[$72_1 >> 2] | 0) + $71_1 | 0; + continue label$5; + } + break label$5; + }; + $82_1 = ($2534((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + $83_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[$83_1 >> 2] = (HEAP32[$83_1 >> 2] | 0) + $82_1 | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2745($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2746(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + $18_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $18_1 | 0; + } + + function $2746($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $21_1 = 0, $41_1 = 0, $72$hi = 0, $29_1 = 0, $61_1 = 0, $69_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + $72$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $3289(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 3 | 0 | 0) | 0; + i64toi32_i32$0 = $72$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2528(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + if (!(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$1 + } + $21_1 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $21_1; + $29_1 = ($2535((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0) & 255 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + $29_1 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $21_1; + label$2 : while (1) { + $41_1 = 0; + label$3 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $41_1 = (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($41_1 & 1 | 0)) { + break label$4 + } + $61_1 = ($2535((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0 | 0) | 0) & 255 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + $61_1 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + } + $2531(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $69_1 = $2491(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 32 | 0; + return $69_1 | 0; + } + + function $2747($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $76$hi = 0, $77$hi = 0, $76_1 = 0, $206_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) << 4 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $3289(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) << 4 | 0 | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$5 + } + label$6 : { + if (!(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$6 + } + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $76_1 = i64toi32_i32$0; + $76$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $77$hi = i64toi32_i32$0; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $77$hi; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $77$hi; + $206_1 = i64toi32_i32$1; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$2 = $76_1; + i64toi32_i32$1 = $77$hi; + if (((i64toi32_i32$2 | 0) != ($206_1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0) { + break label$6 + } + if (!(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$5 + } + } + HEAP32[(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] = 1; + break label$4; + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + $72_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $72_1 | 0; + } + + function $2748($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $81$hi = 0, $82$hi = 0, $19_1 = 0, $83$hi = 0, $84$hi = 0, $9_1 = 0, $78_1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $81$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $82$hi = i64toi32_i32$0; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$0 = $82$hi; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $19_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $83$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $84$hi = i64toi32_i32$1; + i64toi32_i32$1 = $83$hi; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$1 = $83$hi; + i64toi32_i32$0 = $19_1; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$0 = $8_1; + HEAP32[($8_1 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($8_1 + 28 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($8_1 + 36 | 0) >> 2] = $9_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$3 : { + label$4 : { + label$5 : { + label$6 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if ((0 | 0) == ($2750(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0) { + break label$5 + } + } + if (!(HEAP32[(((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0)) { + break label$4 + } + } + HEAP32[(((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] = 0; + break label$3; + } + HEAP32[(((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] = 1; + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $78_1 = $2591(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, $8_1 + 16 | 0 | 0, 143 | 0) | 0; + global$0 = $8_1 + 64 | 0; + return $78_1 | 0; + } + + function $2749($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $2752(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $2750($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[(((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2751($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $23_1 = 0, $110$hi = 0, $111$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $107_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) > (32768 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($8_1 + 44 | 0) >> 2] = 32768; + } + label$2 : { + if ((HEAP32[($8_1 + 52 | 0) >> 2] | 0) & 1 | 0) { + break label$2 + } + $23_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = $23_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $110$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $111$hi = i64toi32_i32$1; + i64toi32_i32$1 = $110$hi; + i64toi32_i32$1 = $111$hi; + i64toi32_i32$1 = $110$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $111$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $23_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$5; + } + HEAP32[($8_1 + 24 | 0) >> 2] = 0; + label$3 : { + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : { + if (HEAP32[(((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] | 0) { + break label$7 + } + break label$6; + } + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 20 | 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $3303(HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : { + if ((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$11 + } + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAPU8[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$10 + } + } + if ($3228(HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$10 + } + i64toi32_i32$1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2643((HEAP32[((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($8_1 + 12 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + break label$3; + } + break label$8; + } + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$9; + }; + } + } + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + } + $107_1 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $107_1 | 0; + } + + function $2752($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $11_1 = 0, $46_1 = 0, $112_1 = 0, $90_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $112_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $112_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + $11_1 = (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + -1 | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($11_1 | 0) { + case 3: + case 8: + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0; + break label$1; + case 1: + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$9 : { + if ($2752(HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) { + break label$9 + } + $2753(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + break label$2; + case 0: + $46_1 = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $46_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $46_1; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$12 : { + if (!($2752(HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0)) { + break label$12 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + break label$1; + default: + break label$3; + }; + } + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$13 : { + label$14 : { + if ((0 | 0) == ($2752(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0 | 0) & 1 | 0) { + break label$14 + } + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + if (!((0 | 0) != ($2752(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0 | 0) & 1 | 0)) { + break label$13 + } + } + $2753(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + $90_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $90_1 | 0; + } + + function $2753($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[((HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $2753(HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2754($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $31_1 = 0, $44_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) >= (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + $31_1 = $2534((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + $31_1 | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0; + } + $44_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $44_1 | 0; + } + + function $2755($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $11_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $11_1 = $78(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $11_1; + global$0 = $5_1 + 16 | 0; + return; + } + + function $2756($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0, $11_1 = 0, $13_1 = 0, $15_1 = 0, $27_1 = 0, $29_1 = 0, $45_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + $9_1 = HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + $11_1 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $13_1 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $15_1 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $15_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $13_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $11_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2512($9_1 | 0, 0 | 0, 54049 | 0, $3_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$1 + } + if (!(HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$1 + } + $27_1 = HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + $29_1 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = $29_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2512($27_1 | 0, 0 | 0, 54099 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2485(HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2487(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, 51927 | 0, 0 | 0, 4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + $45_1 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $45_1 | 0; + } + + function $2757($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $46_1 = 0, $36_1 = 0, $56_1 = 0, $135$hi = 0, $108_1 = 0, $112_1 = 0, $138$hi = 0, $139$hi = 0, $245_1 = 0, $135_1 = 0, $378$hi = 0, $127_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 64 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 60 | 0) >> 2] = $0_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 40 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2756(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2745(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2523(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 10 | 0, $3_1 + 40 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : while (1) { + $36_1 = 0; + label$4 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + $36_1 = (100 | 0) == ($287(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0 | 0); + } + label$5 : { + if (!($36_1 & 1 | 0)) { + break label$5 + } + $46_1 = 0; + i64toi32_i32$0 = $318(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, $46_1 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $245_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $245_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + $2639($3_1 + 48 | 0 | 0); + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2763(HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $46_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 28 | 0) >> 2] = $46_1; + label$6 : while (1) { + $56_1 = 0; + label$7 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$7 + } + $56_1 = (HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!($56_1 & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 32 | 0) >> 2] = 0; + label$9 : { + if ((HEAPU8[((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[($3_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$9 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $319(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $315(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2591(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0, $3_1 + 24 | 0 | 0, 116 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$1 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2520($3_1 + 20 | 0 | 0, $3_1 + 48 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$1 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $135_1 = i64toi32_i32$1; + $135$hi = i64toi32_i32$0; + $108_1 = (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$2 = $108_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $378$hi = i64toi32_i32$1; + i64toi32_i32$1 = $135$hi; + i64toi32_i32$1 = $378$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $135$hi; + i64toi32_i32$3 = $135_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $108_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + $112_1 = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$1 = $112_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $138$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $139$hi = i64toi32_i32$2; + i64toi32_i32$2 = $138$hi; + i64toi32_i32$2 = $139$hi; + i64toi32_i32$2 = $138$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $139$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $112_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$4; + label$10 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$10 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2765(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0, $3_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + continue label$3; + } + break label$3; + }; + $42(HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $222(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$11 + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + } + label$12 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$12 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2766(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $127_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + global$0 = $3_1 + 64 | 0; + return $127_1 | 0; + } + + function $2758($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = $2767(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $6_1 | 0; + } + + function $2759($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $2768(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $2760($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, $283_1 = 0, $8_1 = 0, $290$hi = 0, $291$hi = 0, $295$hi = 0, $296$hi = 0, $300$hi = 0, $301$hi = 0, $5_1 = 0, $47_1 = 0, $57_1 = 0, $84_1 = 0, $109_1 = 0, $287$hi = 0, $191_1 = 0, i64toi32_i32$4 = 0, $212_1 = 0, $217_1 = 0, $481_1 = 0, $184_1 = 0, $287_1 = 0, $708$hi = 0, $290_1 = 0, $824_1 = 0, $295_1 = 0, $874_1 = 0, $300_1 = 0, $915_1 = 0, $280_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + $5_1 = 0; + $8_1 = $4_1 + 48 | 0; + HEAP32[($4_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = $5_1; + i64toi32_i32$0 = 0; + $283_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $283_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $283_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $283_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $283_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(Math_imul(HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 12) | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($4_1 + 88 | 0) >> 2] = (HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + $3289(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 3 | 0 | 0) | 0; + $47_1 = 1; + label$3 : { + if (!(HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0)) { + break label$3 + } + $57_1 = 0; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + $57_1 = (HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0); + } + $47_1 = $57_1; + } + HEAP32[($4_1 + 40 | 0) >> 2] = $47_1 & 1 | 0; + label$5 : { + if (!(HEAP32[($4_1 + 40 | 0) >> 2] | 0)) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2523(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, 10 | 0, $4_1 + 44 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$6 + } + label$7 : { + label$8 : while (1) { + if (!((100 | 0) == ($287(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + $84_1 = 0; + i64toi32_i32$0 = $318(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $84_1 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $481_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $481_1; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 60 | 0) >> 2] = $84_1; + label$9 : { + if (!(HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$9 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2734(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$10 + } + if (!((HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2769(($4_1 + 48 | 0) + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + label$11 : while (1) { + $109_1 = 0; + label$12 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$12 + } + $109_1 = (HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + label$13 : { + if (!($109_1 & 1 | 0)) { + break label$13 + } + label$14 : { + label$15 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$15 + } + break label$14; + } + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + label$16 : { + if (!((HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$16 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2769(($4_1 + 48 | 0) + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + } + label$17 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$17 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $319(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $315(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2591(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0, 144 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + } + label$18 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$18 + } + if (!(HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$18 + } + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($4_1 + 92 | 0) >> 2] = 267; + } + $184_1 = 2; + i64toi32_i32$1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $287_1 = i64toi32_i32$1; + $287$hi = i64toi32_i32$0; + $191_1 = (HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$2 = $191_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $708$hi = i64toi32_i32$1; + i64toi32_i32$1 = $287$hi; + i64toi32_i32$1 = $708$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $287$hi; + i64toi32_i32$3 = $287_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $191_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + label$19 : { + if (!((HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == ($184_1 | 0) & 1 | 0)) { + break label$19 + } + $2771(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 72 | 0) >> 2] = 0; + } + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + } + break label$11; + }; + $2771(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 72 | 0) >> 2] = 0; + label$20 : { + if (!(HEAP32[($4_1 + 92 | 0) >> 2] | 0)) { + break label$20 + } + break label$7; + } + continue label$8; + }; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$21 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + } + label$22 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$22 + } + $212_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2745(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, $212_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 20 | 0) >> 2] = $212_1; + label$23 : while (1) { + $217_1 = 0; + label$24 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$24 + } + $217_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + label$25 : { + if (!($217_1 & 1 | 0)) { + break label$25 + } + i64toi32_i32$1 = (HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $290_1 = i64toi32_i32$5; + $290$hi = i64toi32_i32$2; + i64toi32_i32$1 = (HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $291$hi = i64toi32_i32$5; + i64toi32_i32$5 = $290$hi; + i64toi32_i32$5 = $291$hi; + i64toi32_i32$5 = $290$hi; + i64toi32_i32$5 = $291$hi; + $824_1 = i64toi32_i32$2; + i64toi32_i32$5 = $290$hi; + i64toi32_i32$1 = $290_1; + i64toi32_i32$2 = $291$hi; + i64toi32_i32$3 = $824_1; + label$26 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($4_1 + 92 | 0) >> 2] = 267; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + } + break label$23; + }; + } + label$27 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$27 + } + if (HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) { + break label$27 + } + i64toi32_i32$1 = 0; + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2772(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, 48407 | 0, $4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$28 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$28 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $295_1 = i64toi32_i32$1; + $295$hi = i64toi32_i32$5; + i64toi32_i32$3 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $296$hi = i64toi32_i32$1; + i64toi32_i32$1 = $295$hi; + i64toi32_i32$1 = $296$hi; + i64toi32_i32$1 = $295$hi; + i64toi32_i32$1 = $296$hi; + $874_1 = i64toi32_i32$5; + i64toi32_i32$1 = $295$hi; + i64toi32_i32$3 = $295_1; + i64toi32_i32$5 = $296$hi; + i64toi32_i32$2 = $874_1; + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($4_1 + 92 | 0) >> 2] = 267; + } + } + label$29 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$29 + } + if (!(HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$29 + } + i64toi32_i32$3 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$3; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2772(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, 50539 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$30 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$30 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$3 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $300_1 = i64toi32_i32$3; + $300$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $301$hi = i64toi32_i32$3; + i64toi32_i32$3 = $300$hi; + i64toi32_i32$3 = $301$hi; + i64toi32_i32$3 = $300$hi; + i64toi32_i32$3 = $301$hi; + $915_1 = i64toi32_i32$1; + i64toi32_i32$3 = $300$hi; + i64toi32_i32$2 = $300_1; + i64toi32_i32$1 = $301$hi; + i64toi32_i32$5 = $915_1; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($4_1 + 92 | 0) >> 2] = 267; + } + } + } + label$31 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$31 + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2773(HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + } + $280_1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $280_1 | 0; + } + + function $2761($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $146$hi = 0, $153$hi = 0, $6_1 = 0, $36_1 = 0, $44_1 = 0, $147$hi = 0, $113_1 = 0, $151$hi = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $155$hi = 0, $29_1 = 0, $30_1 = 0, $31_1 = 0, $135_1 = 0, $157$hi = 0, $158$hi = 0, $147_1 = 0, $411$hi = 0, $141_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 44 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2523(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, 2 | 0, $5_1 + 36 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + label$4 : { + if (!(($287(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) != (100 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + $36_1 = 1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = -1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2763(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $36_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 24 | 0) >> 2] = $36_1; + label$5 : while (1) { + $44_1 = 0; + label$6 : { + if (HEAP32[($5_1 + 32 | 0) >> 2] | 0) { + break label$6 + } + $44_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + label$7 : { + if (!($44_1 & 1 | 0)) { + break label$7 + } + label$8 : { + if ((HEAPU8[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + label$9 : { + label$10 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $319(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $315(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$9; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + i64toi32_i32$0 = 0; + $146$hi = i64toi32_i32$0; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2591(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, $5_1 + 8 | 0 | 0, 116 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $147_1 = i64toi32_i32$1; + $147$hi = i64toi32_i32$0; + $113_1 = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0) << 3 | 0) | 0; + i64toi32_i32$2 = $113_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $411$hi = i64toi32_i32$1; + i64toi32_i32$1 = $147$hi; + i64toi32_i32$1 = $411$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $147$hi; + i64toi32_i32$3 = $147_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = $113_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0) << 3 | 0) | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $151$hi = i64toi32_i32$2; + i64toi32_i32$2 = $146$hi; + i64toi32_i32$2 = $151$hi; + i64toi32_i32$2 = $146$hi; + i64toi32_i32$2 = $151$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $146$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$5 | 0)) { + $26_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0) { + $27_1 = 0 + } else { + $27_1 = 1 + } + $28_1 = $27_1; + } else { + $28_1 = 0 + } + $26_1 = $28_1; + } + label$11 : { + if (!($26_1 & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 32 | 0) >> 2] = 267; + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + label$12 : { + label$13 : { + if (HEAP32[($5_1 + 32 | 0) >> 2] | 0) { + break label$13 + } + i64toi32_i32$1 = 0; + $153$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $155$hi = i64toi32_i32$2; + i64toi32_i32$2 = $153$hi; + i64toi32_i32$2 = $155$hi; + i64toi32_i32$2 = $153$hi; + i64toi32_i32$2 = $155$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $153$hi; + i64toi32_i32$5 = 1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $29_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$5 >>> 0) { + $30_1 = 0 + } else { + $30_1 = 1 + } + $31_1 = $30_1; + } else { + $31_1 = 0 + } + $29_1 = $31_1; + } + if (!($29_1 & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 32 | 0) >> 2] = 267; + break label$12; + } + $135_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = $135_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $157$hi = i64toi32_i32$2; + i64toi32_i32$2 = -1; + $158$hi = i64toi32_i32$2; + i64toi32_i32$2 = $157$hi; + i64toi32_i32$2 = $158$hi; + i64toi32_i32$2 = $157$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$3 = $158$hi; + i64toi32_i32$1 = -1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$5 = $135_1; + HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] = i64toi32_i32$4; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (HEAP32[($5_1 + 32 | 0) >> 2] | 0) { + break label$14 + } + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + } + $141_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $141_1 | 0; + } + + function $2762($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $11_1 = 0, i64toi32_i32$1 = 0, $99_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 20; + label$1 : { + if (!(HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$1 + } + $11_1 = 0; + HEAP32[$4_1 >> 2] = $11_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2523(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 6 | 0, $4_1 | 0, $11_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + $332(HEAP32[$4_1 >> 2] | 0 | 0, 1 | 0) | 0; + $332(HEAP32[$4_1 >> 2] | 0 | 0, 2 | 0) | 0; + $287(HEAP32[$4_1 >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + i64toi32_i32$0 = $451(HEAP32[(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $99_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $99_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + } + $27_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $27_1 | 0; + } + + function $2763($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $52$hi = 0, $53$hi = 0, $56$hi = 0, $57$hi = 0, $20_1 = 0, $21_1 = 0, $23_1 = 0, $22_1 = 0, $52_1 = 0, $117_1 = 0, $56_1 = 0, $132_1 = 0, $173_1 = 0, $49_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + $22_1 = $2774(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = $22_1; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $52_1 = i64toi32_i32$0; + $52$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $53$hi = i64toi32_i32$0; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$0 = $53$hi; + $117_1 = i64toi32_i32$1; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$2 = $52_1; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$3 = $117_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $20_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $21_1 = 0 + } else { + $21_1 = 1 + } + $23_1 = $21_1; + } else { + $23_1 = 0 + } + $20_1 = $23_1; + } + label$2 : { + label$3 : { + if ($20_1 & 1 | 0) { + break label$3 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $56_1 = i64toi32_i32$2; + $56$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $57$hi = i64toi32_i32$2; + i64toi32_i32$2 = $56$hi; + i64toi32_i32$2 = $57$hi; + i64toi32_i32$2 = $56$hi; + i64toi32_i32$2 = $57$hi; + $132_1 = i64toi32_i32$0; + i64toi32_i32$2 = $56$hi; + i64toi32_i32$3 = $56_1; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$1 = $132_1; + label$4 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$4 + } + if (!(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0)) { + break label$3 + } + } + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + } + $2775(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $173_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] = $173_1; + HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $49_1 = $2491(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $49_1 | 0; + } + + function $2764($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $26_1 = 0, $39_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 4 | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[$8_1 >> 2] = HEAP32[((HEAP32[(HEAP32[($8_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) > (32768 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($8_1 + 16 | 0) >> 2] = 32768; + } + label$2 : { + label$3 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0) & 1 | 0)) { + break label$3 + } + if (HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$2 + } + } + $26_1 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + HEAP32[($26_1 + 8 | 0) >> 2] = (HEAP32[($26_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + $39_1 = $2776(HEAP32[$8_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 1 | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $39_1 | 0; + } + + function $2765($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $14_1 = 0, $18_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$1 : { + if (!(HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$1 + } + $14_1 = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $14_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2523(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 6 | 0, $5_1 + 4 | 0 | 0, $14_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + $18_1 = 2; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $325(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $18_1 | 0, HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $287(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $332(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $18_1 | 0) | 0; + } + } + $31_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $31_1 | 0; + } + + function $2766($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4_1 = 0, $10_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = 0; + $10_1 = $3_1 + 8 | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $10_1; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $2520($3_1 + 4 | 0 | 0, $10_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2520($3_1 + 4 | 0 | 0, $3_1 + 8 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$3 : { + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2777(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $47_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $47_1 | 0; + } + + function $2767($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $41_1 = 0, $70_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $4_1; + $2775(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2489(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $2494(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + label$1 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2816(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $2490(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + label$2 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (HEAP32[((((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($3_1 + 16 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$5 : while (1) { + $41_1 = 0; + label$6 : { + if (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$6 + } + $41_1 = (HEAP32[((((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($3_1 + 16 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0 | 0) > (0 | 0); + } + label$7 : { + if (!($41_1 & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1e3; + $2801(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, $3_1 + 20 | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0); + continue label$5; + } + break label$5; + }; + $2514(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + $2490(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + } + $70_1 = $2491(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 32 | 0; + return $70_1 | 0; + } + + function $2768($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2489(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + $2494(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + label$2 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2816(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $2490(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 2; + HEAP32[($4_1 + 24 | 0) >> 2] = Math_imul(HEAP32[($4_1 + 24 | 0) >> 2] | 0, -1); + } + label$3 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if (!(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { + break label$3 + } + label$4 : { + if (!($2800(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $4_1 + 20 | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + $2514(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + } + } + $2490(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + } + $54_1 = $2491(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 32 | 0; + return $54_1 | 0; + } + + function $2769($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, $8_1 = 0, $10_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + $8_1 = $2468($3_1 + 8 | 0 | 0, 2048 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = $8_1; + $10_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $10_1 | 0; + } + + function $2770($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $26_1 = 0, $32_1 = 0, $43_1 = 0, $115$hi = 0, $60_1 = 0, $64_1 = 0, $119$hi = 0, $107_1 = 0, $115_1 = 0, $270$hi = 0, $274_1 = 0, $119_1 = 0, $389$hi = 0, $393_1 = 0, $111_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = 0; + label$1 : { + if (!((HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) > (32768 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($8_1 + 48 | 0) >> 2] = 32768; + } + label$2 : { + label$3 : { + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0) & 1 | 0)) { + break label$3 + } + if (HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$2 + } + } + $26_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($26_1 + 12 | 0) >> 2] = (HEAP32[($26_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + $32_1 = HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + label$4 : { + label$5 : { + switch ($32_1 | 0) { + case 0: + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$4; + case 2: + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = 0; + break label$4; + default: + break label$5; + }; + } + $43_1 = 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $43_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $43_1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2817(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, $8_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($8_1 + 20 | 0) >> 2] | 0) { + break label$8 + } + if (HEAP32[($8_1 + 28 | 0) >> 2] | 0) { + break label$8 + } + i64toi32_i32$2 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = $2818(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $115_1 = i64toi32_i32$1; + $115$hi = i64toi32_i32$0; + $60_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = $60_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $270$hi = i64toi32_i32$1; + i64toi32_i32$1 = $115$hi; + i64toi32_i32$1 = $270$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $115$hi; + i64toi32_i32$3 = $115_1; + i64toi32_i32$0 = i64toi32_i32$1 ^ i64toi32_i32$0 | 0; + $274_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$2 = $60_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = $274_1; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($8_1 + 24 | 0) >> 2] = 0; + label$9 : while (1) { + $64_1 = 0; + label$10 : { + if (HEAP32[($8_1 + 20 | 0) >> 2] | 0) { + break label$10 + } + $64_1 = (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!($64_1 & 1 | 0)) { + break label$11 + } + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2813(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($8_1 + 4 | 0) >> 2] | 0)) { + break label$12 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2817(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0, $8_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (HEAP32[($8_1 + 28 | 0) >> 2] | 0) { + break label$13 + } + i64toi32_i32$1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $2818(i64toi32_i32$0 | 0, i64toi32_i32$2 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $119_1 = i64toi32_i32$2; + $119$hi = i64toi32_i32$0; + $107_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = $107_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $389$hi = i64toi32_i32$2; + i64toi32_i32$2 = $119$hi; + i64toi32_i32$2 = $389$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$3 = $119_1; + i64toi32_i32$0 = i64toi32_i32$2 ^ i64toi32_i32$0 | 0; + $393_1 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; + i64toi32_i32$1 = $107_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $393_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + } + } + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + $111_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $111_1 | 0; + } + + function $2771($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 < 512 >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $42(HEAP32[$3_1 >> 2] | 0 | 0); + continue label$5; + }; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2772($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $27_1 = 0, $9_1 = 0, $11_1 = 0, i64toi32_i32$1 = 0, $148_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + $9_1 = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $11_1 = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $11_1; + HEAP32[$5_1 >> 2] = $9_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(54278 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 7; + break label$1; + } + $27_1 = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $27_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $402(HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, -1 | 0, $5_1 + 20 | 0 | 0, $27_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($5_1 + 24 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + if (!((100 | 0) == ($287(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = $318(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $148_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $148_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $213(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + } + $42(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + $47_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $47_1 | 0; + } + + function $2773($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $70_1 = 0, $189$hi = 0, $190$hi = 0, $103_1 = 0, $175$hi = 0, $109_1 = 0, $112_1 = 0, $178$hi = 0, $179$hi = 0, $34_1 = 0, $181$hi = 0, $182$hi = 0, $185$hi = 0, $170$hi = 0, $375_1 = 0, $175_1 = 0, $427$hi = 0, $431_1 = 0, $143_1 = 0, $185_1 = 0, $537$hi = 0, $541_1 = 0, $189_1 = 0, $569_1 = 0, $167_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 128 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + $170$hi = i64toi32_i32$0; + HEAP32[($5_1 + 124 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 116 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 108 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 124 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = $170$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 96 | 0) >> 2] = 0; + HEAP32[($5_1 + 100 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1 + 80 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 68 | 0) >> 2] = 32; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2489(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 64 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[((((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($5_1 + 64 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 56 | 0) >> 2] = (HEAP32[((((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($5_1 + 64 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 60 | 0) >> 2] | 0, 12) | 0; + $2819(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 60 | 0) >> 2] = (HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + $70_1 = 0; + $2658(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, 32 | 0, $70_1 | 0, $70_1 | 0, $70_1 | 0, -1 | 0, $70_1 | 0, $5_1 + 76 | 0 | 0); + label$6 : { + label$7 : while (1) { + if ($2609(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 36 | 0) >> 2] = 0; + i64toi32_i32$0 = $2610(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $375_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $375_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2805(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, $5_1 + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!((0 | 0) == ($2665(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + $103_1 = 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = $2818(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, $103_1 | 0, $103_1 | 0, -1 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $175_1 = i64toi32_i32$0; + $175$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $427$hi = i64toi32_i32$0; + i64toi32_i32$0 = $175$hi; + i64toi32_i32$0 = $427$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $175$hi; + i64toi32_i32$3 = $175_1; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0; + $431_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 96 | 0) >> 2] = $431_1; + HEAP32[($5_1 + 100 | 0) >> 2] = i64toi32_i32$1; + } + break label$8; + } + $109_1 = $5_1 + 80 | 0; + $112_1 = 0; + HEAP32[($5_1 + 84 | 0) >> 2] = $112_1; + $2707(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0 | 0, $112_1 | 0, $109_1 | 0); + $2510((HEAP32[($5_1 + 124 | 0) >> 2] | 0) + 36 | 0 | 0, $109_1 | 0, 4 | 0, 54310 | 0); + label$11 : { + label$12 : while (1) { + if (!((0 | 0) == ($2646(HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0, $5_1 + 36 | 0 | 0, $5_1 + 40 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$11 + } + $143_1 = -1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $178$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $179$hi = i64toi32_i32$2; + i64toi32_i32$2 = $178$hi; + i64toi32_i32$2 = $179$hi; + i64toi32_i32$2 = $178$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $179$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $34_1 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + $34_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = $34_1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $181$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $182$hi = i64toi32_i32$0; + i64toi32_i32$0 = $181$hi; + i64toi32_i32$0 = $182$hi; + i64toi32_i32$0 = $181$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $182$hi; + i64toi32_i32$3 = 2147483647; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $2818(i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $143_1 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $185_1 = i64toi32_i32$2; + $185$hi = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $537$hi = i64toi32_i32$2; + i64toi32_i32$2 = $185$hi; + i64toi32_i32$2 = $537$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $185$hi; + i64toi32_i32$3 = $185_1; + i64toi32_i32$1 = i64toi32_i32$2 ^ i64toi32_i32$1 | 0; + $541_1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 96 | 0) >> 2] = $541_1; + HEAP32[($5_1 + 100 | 0) >> 2] = i64toi32_i32$1; + continue label$12; + }; + } + } + i64toi32_i32$1 = 0; + $2608(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, 0 | 0, 0 | 0, i64toi32_i32$1 | 0); + continue label$7; + }; + } + $2546(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + label$13 : { + if (HEAP32[((HEAP32[($5_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$13 + } + if (!(HEAP32[($5_1 + 108 | 0) >> 2] | 0)) { + break label$13 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $189_1 = i64toi32_i32$1; + $189$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $190$hi = i64toi32_i32$1; + i64toi32_i32$1 = $189$hi; + i64toi32_i32$1 = $190$hi; + i64toi32_i32$1 = $189$hi; + i64toi32_i32$1 = $190$hi; + $569_1 = i64toi32_i32$0; + i64toi32_i32$1 = $189$hi; + i64toi32_i32$2 = $189_1; + i64toi32_i32$0 = $190$hi; + i64toi32_i32$3 = $569_1; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$13 + } + HEAP32[((HEAP32[($5_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + } + $2490(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0); + $2521($5_1 + 80 | 0 | 0); + $167_1 = $2491(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 128 | 0; + return $167_1 | 0; + } + + function $2774($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $55_1 = 0, $6_1 = 0, $8_1 = 0, $19_1 = 0, $35_1 = 0, $52_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + $8_1 = $38(24 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $8_1; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 7; + break label$1; + } + $19_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $55_1 = 0; + i64toi32_i32$1 = $19_1; + HEAP32[i64toi32_i32$1 >> 2] = $55_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $55_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $19_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $55_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1024; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $35_1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = $35_1; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = 7; + break label$3; + } + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $3289(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + } + } + $52_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $52_1 | 0; + } + + function $2775($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + $2778(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2776($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8_1 = 0, $19_1 = 0, $32_1 = 0, $65_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $19_1 = 24; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2812(HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, (48 << $19_1 | 0) >> $19_1 | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 24 | 0) >> 2] = $8_1; + label$1 : while (1) { + $32_1 = 0; + label$2 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $32_1 = (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($32_1 & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2813(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $65_1 = 24; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2812(HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, ((((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 48 | 0) + 1 | 0) << $65_1 | 0) >> $65_1 | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $72_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $72_1 | 0; + } + + function $2777($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $10_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $2513(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + $10_1 = $2491(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $10_1 | 0; + } + + function $2778($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, $16_1 = 0, $35_1 = 0, $42_1 = 0, $94_1 = 0, $402_1 = 0, $101_1 = 0, $403$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $146_1 = 0, $158_1 = 0, $184_1 = 0, $185_1 = 0, $208_1 = 0, $209_1 = 0, $267_1 = 0, $311_1 = 0, $361_1 = 0, $372_1 = 0, $373_1 = 0, $384_1 = 0, $393_1 = 0, $37_1 = 0, $110_1 = 0, $119_1 = 0, $403_1 = 0, $683$hi = 0, $145_1 = 0, $157_1 = 0, $183_1 = 0, $207_1 = 0, $371_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 208 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 204 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 200 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 188 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2489(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 196 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2779(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 196 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_i32$1; + $2494(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0); + label$1 : { + if (!(HEAP32[($3_1 + 192 | 0) >> 2] | 0)) { + break label$1 + } + $16_1 = $3_1 + 72 | 0; + HEAP32[($3_1 + 184 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 204 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + HEAP32[($3_1 + 180 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 204 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + $2780(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, $16_1 | 0, HEAP32[($3_1 + 192 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 172 | 0) >> 2] = ($16_1 + 4 | 0) + 8 | 0; + HEAP32[($3_1 + 168 | 0) >> 2] = ($16_1 + 4 | 0) + 20 | 0; + label$2 : { + if (HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $35_1 = 0; + $37_1 = $2681(HEAP32[($3_1 + 200 | 0) >> 2] | 0 | 0, $35_1 | 0, $35_1 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] = $37_1; + } + label$3 : while (1) { + $42_1 = 0; + label$4 : { + if (HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$4 + } + $42_1 = (0 | 0) == ($2781(HEAP32[($3_1 + 200 | 0) >> 2] | 0 | 0) | 0 | 0); + } + label$5 : { + if (!($42_1 & 1 | 0)) { + break label$5 + } + $2682(HEAP32[($3_1 + 200 | 0) >> 2] | 0 | 0, $3_1 + 68 | 0 | 0, $3_1 + 64 | 0 | 0, $3_1 + 60 | 0 | 0); + $2782(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, $3_1 + 72 | 0 | 0, $3303(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0); + label$6 : { + if (!(HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$6 + } + break label$5; + } + label$7 : { + label$8 : { + if (!((HEAP32[($3_1 + 184 | 0) >> 2] | 0 | 0) >= ((((HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + (HEAP32[($3_1 + 60 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$8 + } + $3288((HEAP32[(HEAP32[($3_1 + 172 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) | 0; + $94_1 = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + HEAP32[($94_1 + 4 | 0) >> 2] = (HEAP32[($94_1 + 4 | 0) >> 2] | 0) + (HEAP32[($3_1 + 60 | 0) >> 2] | 0) | 0; + break label$7; + } + i64toi32_i32$0 = 0; + $402_1 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 48 | 0) >> 2] = $402_1; + HEAP32[($3_1 + 52 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $402_1; + HEAP32[($3_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 36 | 0) >> 2] = 0; + label$9 : while (1) { + $101_1 = 0; + label$10 : { + if (HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$10 + } + $101_1 = (HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!($101_1 & 1 | 0)) { + break label$11 + } + $110_1 = 0; + $119_1 = ($2535((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + (HEAP32[($3_1 + 36 | 0) >> 2] | 0) | 0 | 0, $3_1 + 40 | 0 | 0) | 0) & 255 | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + $119_1 | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + $403_1 = i64toi32_i32$0; + $403$hi = i64toi32_i32$1; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + $683$hi = i64toi32_i32$0; + i64toi32_i32$0 = $403$hi; + i64toi32_i32$0 = $683$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $403$hi; + i64toi32_i32$3 = $403_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 48 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 52 | 0) >> 2] = i64toi32_i32$5; + label$12 : { + label$13 : { + if (!(((HEAPU8[($3_1 + 129 | 0) >> 0] | 0) & 255 | 0 | 0) != ($110_1 & 255 | 0 | 0) & 1 | 0)) { + break label$13 + } + $2783(HEAP32[(HEAP32[($3_1 + 172 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 65535 | 0 | 0); + i64toi32_i32$0 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + $145_1 = $2519((HEAP32[(HEAP32[($3_1 + 172 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0; + $146_1 = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + HEAP32[($146_1 + 4 | 0) >> 2] = (HEAP32[($146_1 + 4 | 0) >> 2] | 0) + $145_1 | 0; + HEAP8[($3_1 + 129 | 0) >> 0] = 0; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + $2784(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, $3_1 + 72 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$5 | 0); + label$14 : { + if (!(HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$14 + } + break label$11; + } + break label$12; + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + $157_1 = $2519((HEAP32[(HEAP32[($3_1 + 172 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0; + $158_1 = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + HEAP32[($158_1 + 4 | 0) >> 2] = (HEAP32[($158_1 + 4 | 0) >> 2] | 0) + $157_1 | 0; + } + label$15 : { + label$16 : { + if (!((HEAP32[($3_1 + 180 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + if ((HEAPU8[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + (HEAP32[($3_1 + 36 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$17 + } + $183_1 = HEAP32[(HEAP32[($3_1 + 172 | 0) >> 2] | 0) >> 2] | 0; + $184_1 = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + $185_1 = HEAP32[($184_1 + 4 | 0) >> 2] | 0; + HEAP32[($184_1 + 4 | 0) >> 2] = $185_1 + 1 | 0; + HEAP8[($183_1 + $185_1 | 0) >> 0] = 0; + HEAP32[($3_1 + 36 | 0) >> 2] = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 1 | 0; + label$18 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + if ((HEAPU8[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + (HEAP32[($3_1 + 36 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$18 + } + $207_1 = HEAP32[(HEAP32[($3_1 + 172 | 0) >> 2] | 0) >> 2] | 0; + $208_1 = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + $209_1 = HEAP32[($208_1 + 4 | 0) >> 2] | 0; + HEAP32[($208_1 + 4 | 0) >> 2] = $209_1 + 1 | 0; + HEAP8[($207_1 + $209_1 | 0) >> 0] = 0; + HEAP32[($3_1 + 36 | 0) >> 2] = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + } + label$19 : { + if (!(((HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0) >= (HEAP32[($3_1 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $2785(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, $3_1 + 72 | 0 | 0); + } + break label$15; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2631((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + (HEAP32[($3_1 + 36 | 0) >> 2] | 0) | 0 | 0, $3_1 + 28 | 0 | 0, $3_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + (HEAP32[($3_1 + 28 | 0) >> 2] | 0) | 0; + label$20 : { + label$21 : { + if (!((((HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0 | 0) <= (HEAP32[($3_1 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + $3288((HEAP32[(HEAP32[($3_1 + 172 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($3_1 + 64 | 0) >> 2] | 0) + (HEAP32[($3_1 + 36 | 0) >> 2] | 0) | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $267_1 = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + HEAP32[($267_1 + 4 | 0) >> 2] = (HEAP32[($267_1 + 4 | 0) >> 2] | 0) + (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0; + break label$20; + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 64 | 0) >> 2] | 0) + (HEAP32[($3_1 + 36 | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + label$22 : { + label$23 : while (1) { + if (HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$22 + } + HEAP32[($3_1 + 12 | 0) >> 2] = ((HEAP32[($3_1 + 184 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) - (HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$24 : { + label$25 : { + if (!(((HEAP32[($3_1 + 24 | 0) >> 2] | 0) - (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0 | 0) <= (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) - (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0; + break label$24; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2786((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $3288((HEAP32[(HEAP32[($3_1 + 172 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $311_1 = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + HEAP32[($311_1 + 4 | 0) >> 2] = (HEAP32[($311_1 + 4 | 0) >> 2] | 0) + (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0; + label$26 : { + if (!(((HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0) >= (HEAP32[($3_1 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + $2785(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, $3_1 + 72 | 0 | 0); + } + label$27 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) >= (HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + break label$22; + } + continue label$23; + }; + } + } + HEAP32[($3_1 + 36 | 0) >> 2] = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0; + } + continue label$9; + } + break label$9; + }; + } + label$28 : { + if (HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$28 + } + $2699(HEAP32[($3_1 + 200 | 0) >> 2] | 0 | 0); + } + continue label$3; + } + break label$3; + }; + $2516(HEAP32[($3_1 + 200 | 0) >> 2] | 0 | 0); + $2787(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, $3_1 + 72 | 0 | 0, $3_1 + 188 | 0 | 0); + label$29 : { + if (HEAP32[((HEAP32[($3_1 + 196 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) { + break label$29 + } + $2788((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0 | 0, $3_1 + 196 | 0 | 0); + } + $361_1 = 0; + $2789((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($3_1 + 196 | 0) >> 2] | 0 | 0, $361_1 | 0, 1 | 0, $361_1 | 0); + label$30 : { + if (HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$30 + } + $371_1 = HEAP32[((HEAP32[($3_1 + 196 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $372_1 = HEAP32[($3_1 + 196 | 0) >> 2] | 0; + $373_1 = HEAP32[($372_1 + 28 | 0) >> 2] | 0; + HEAP32[($372_1 + 28 | 0) >> 2] = $373_1 + 1 | 0; + HEAP32[($3_1 + 176 | 0) >> 2] = $371_1 + Math_imul($373_1, 12) | 0; + HEAP32[(HEAP32[($3_1 + 176 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 192 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 176 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + HEAP32[((HEAP32[($3_1 + 176 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($3_1 + 188 | 0) >> 2] | 0; + $384_1 = HEAP32[($3_1 + 196 | 0) >> 2] | 0; + HEAP32[($384_1 + 16 | 0) >> 2] = (HEAP32[($384_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + $2790(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($3_1 + 196 | 0) >> 2] | 0 | 0); + } + $393_1 = $3_1 + 196 | 0; + $2791(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, $393_1 | 0, HEAP32[($3_1 + 188 | 0) >> 2] | 0 | 0); + $2792(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, $393_1 | 0); + $2514(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 196 | 0) >> 2] | 0 | 0); + $2490(HEAP32[($3_1 + 196 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 208 | 0; + return; + } + + function $2779($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $91_1 = 0, $142_1 = 0; + $4_1 = global$0 - 304 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 300 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 296 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 292 | 0) >> 2] = 0; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 300 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 296 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) >= (2e3 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($4_1 + 300 | 0) >> 2] | 0) + 36 | 0) >> 2] = 13; + break label$2; + } + $3289($4_1 + 32 | 0 | 0, 0 | 0, 252 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 296 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((((HEAP32[($4_1 + 296 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($4_1 + 28 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((((HEAP32[($4_1 + 296 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($4_1 + 28 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 24 | 0) >> 2] | 0, 12) | 0) >> 2] | 0; + label$8 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) <= (2e3 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + $91_1 = ($4_1 + 32 | 0) + ((((HEAP32[($4_1 + 12 | 0) >> 2] | 0) - 1 | 0 | 0) / (32 | 0) | 0) << 2 | 0) | 0; + HEAP32[$91_1 >> 2] = HEAP32[$91_1 >> 2] | 0 | (1 << (((HEAP32[($4_1 + 12 | 0) >> 2] | 0) - 1 | 0 | 0) % (32 | 0) | 0) | 0) | 0; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[(($4_1 + 32 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(($4_1 + 32 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 292 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0) & (1 << (HEAP32[($4_1 + 292 | 0) >> 2] | 0) | 0) | 0)) { + break label$11 + } + HEAP32[($4_1 + 292 | 0) >> 2] = (HEAP32[($4_1 + 292 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP32[($4_1 + 292 | 0) >> 2] = (HEAP32[($4_1 + 292 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 5 | 0) + 1 | 0) | 0; + } + } + $142_1 = HEAP32[($4_1 + 292 | 0) >> 2] | 0; + global$0 = $4_1 + 304 | 0; + return $142_1 | 0; + } + + function $2780($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, $9_1 = 0, $7_1 = 0, $51_1 = 0, $54_1 = 0, $56_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $7_1 = 1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) + 20 | 0; + $3289(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, 96 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $2793(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $7_1 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $7_1; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 58 | 0) >> 0] = 1; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 88 | 0) >> 2] = $7_1; + $2511((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0 | 0, ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) + 20 | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $2511((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0 | 0, ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) + 8 | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $51_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $54_1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0; + $56_1 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $56_1; + $2517($51_1 | 0, $54_1 | 0, $79(54128 | 0, $5_1 | 0) | 0 | 0) | 0; + } + label$2 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $8_1 = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $9_1 = 0; + HEAP8[$8_1 >> 0] = $9_1; + HEAP8[($8_1 + 1 | 0) >> 0] = $9_1 >>> 8 | 0; + HEAP8[($8_1 + 2 | 0) >> 0] = $9_1 >>> 16 | 0; + HEAP8[($8_1 + 3 | 0) >> 0] = $9_1 >>> 24 | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] = 4; + $330(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2781($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0 | 0; + } + + function $2782($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $25_1 = 0, $95_1 = 0, $152_1 = 0, $94_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) + 20 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $25_1 = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + break label$1; + } + $25_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 16 | 0) >> 2] = $25_1; + label$3 : { + label$4 : { + if (!(((((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0) + 2 | 0 | 0) >= (HEAP32[((HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$5 + } + $2785(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + label$6 : { + if (!(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$6 + } + break label$3; + } + } + label$7 : { + label$8 : { + if (!(((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0) | 0) >>> 0 <= (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + break label$7; + } + $2511((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0 | 0, ((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0) + (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0 | 0) | 0; + } + } + i64toi32_i32$1 = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $94_1 = $2519((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $95_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($95_1 + 4 | 0) >> 2] = (HEAP32[($95_1 + 4 | 0) >> 2] | 0) + $94_1 | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 58 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + label$11 : { + if (!((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + label$12 : { + if (!(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$12 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = ($2794(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $2795(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + label$13 : { + if (!(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$13 + } + break label$3; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0; + } + break label$9; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2794(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2520((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + } + $152_1 = 0; + i64toi32_i32$1 = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) - (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2520((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + $2510((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAP32[($6_1 + 36 | 0) >> 2] | 0) - (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 32 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0 | 0); + $2637((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 58 | 0) >> 0] = $152_1; + HEAP8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 57 | 0) >> 0] = $152_1; + HEAP8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 0] = 1; + HEAP32[(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2783($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP16[($4_1 + 10 | 0) >> 1] = $1_1; + HEAP8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] = ((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) & 65535 | 0) >> 8 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = ((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) & 65535 | 0) & 255 | 0; + return; + } + + function $2784($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $118_1 = 0, $6_1 = 0, $10_1 = 0, $161$hi = 0, $162$hi = 0, $37_1 = 0, $163$hi = 0, $164$hi = 0, $165$hi = 0, $166$hi = 0, $167$hi = 0, $39_1 = 0, $168$hi = 0, $169$hi = 0, $170$hi = 0, $107_1 = 0, $177$hi = 0, $178$hi = 0, $38_1 = 0, $165_1 = 0, $295_1 = 0, $172$hi = 0, $354_1 = 0, $429_1 = 0, $177_1 = 0, $464_1 = 0, $537_1 = 0, $562_1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 40 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $6_1; + label$1 : while (1) { + $10_1 = 0; + label$2 : { + if (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $10_1 = (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($10_1 & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 44 | 0) >> 2] | 0) << 5 | 0) | 0; + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] = 1; + $38_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $161$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $162$hi = i64toi32_i32$0; + i64toi32_i32$0 = $161$hi; + i64toi32_i32$0 = $162$hi; + i64toi32_i32$0 = $161$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $162$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $37_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $37_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $163$hi = i64toi32_i32$1; + i64toi32_i32$1 = 16; + $164$hi = i64toi32_i32$1; + i64toi32_i32$1 = $163$hi; + i64toi32_i32$1 = $164$hi; + i64toi32_i32$1 = $163$hi; + i64toi32_i32$0 = $37_1; + i64toi32_i32$2 = $164$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $165_1 = i64toi32_i32$4; + $165$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $166$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $167$hi = i64toi32_i32$5; + i64toi32_i32$5 = $166$hi; + i64toi32_i32$5 = $167$hi; + i64toi32_i32$5 = $166$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $167$hi; + i64toi32_i32$3 = 31; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $39_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $39_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $168$hi = i64toi32_i32$0; + i64toi32_i32$0 = $165$hi; + i64toi32_i32$0 = $168$hi; + i64toi32_i32$0 = $165$hi; + i64toi32_i32$5 = $165_1; + i64toi32_i32$1 = $168$hi; + i64toi32_i32$3 = $39_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $169$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $170$hi = i64toi32_i32$4; + i64toi32_i32$4 = $169$hi; + i64toi32_i32$4 = $170$hi; + $295_1 = i64toi32_i32$5; + i64toi32_i32$4 = $169$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$5 = $170$hi; + i64toi32_i32$3 = $295_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $2513($38_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $2793(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 2 | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 44 | 0) >> 2] | 0) << 5 | 0) | 0; + label$6 : { + if (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$6 + } + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$2 = 0; + $172$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2796((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $354_1 = i64toi32_i32$2; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $354_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = $172$hi; + $2520((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 32 | 0) + 16 | 0 | 0, 0 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$2 = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $2520((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 32 | 0) + 16 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$4 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $2520((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 32 | 0) + 16 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0); + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = 1; + i64toi32_i32$4 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $429_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] = $429_1; + HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] = i64toi32_i32$0; + } + $2639((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0 | 0); + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + $107_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[$107_1 >> 2] = (HEAP32[$107_1 >> 2] | 0) + 1 | 0; + break label$4; + } + HEAP32[($5_1 + 40 | 0) >> 2] = 1; + } + label$7 : { + label$8 : { + if (!(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$8 + } + i64toi32_i32$4 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $177_1 = i64toi32_i32$0; + $177$hi = i64toi32_i32$2; + i64toi32_i32$4 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 12 | 0) >> 2] | 0; + $178$hi = i64toi32_i32$0; + i64toi32_i32$0 = $177$hi; + i64toi32_i32$0 = $178$hi; + $464_1 = i64toi32_i32$2; + i64toi32_i32$0 = $177$hi; + i64toi32_i32$4 = $177_1; + i64toi32_i32$2 = $178$hi; + i64toi32_i32$3 = $464_1; + i64toi32_i32$5 = i64toi32_i32$4 - i64toi32_i32$3 | 0; + i64toi32_i32$1 = (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$1 | 0; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$1; + break label$7; + } + label$9 : { + label$10 : { + if (HEAP32[($5_1 + 44 | 0) >> 2] | 0) { + break label$10 + } + $118_1 = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$9; + } + $118_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + -32 | 0) >> 2] | 0; + } + i64toi32_i32$4 = $118_1; + i64toi32_i32$1 = i64toi32_i32$4 >> 31 | 0; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $118_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$4 = ((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0; + i64toi32_i32$1 = i64toi32_i32$4 >> 31 | 0; + $2520((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $2520((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0); + i64toi32_i32$0 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $537_1 = i64toi32_i32$4; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $537_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $2520((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0); + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $562_1 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$4 + 8 | 0) >> 2] = $562_1; + HEAP32[(i64toi32_i32$4 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + global$0 = $5_1 + 64 | 0; + return; + } + + function $2785($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $38_1 = 0, $78$hi = 0, $79$hi = 0, $24_1 = 0, $80$hi = 0, $81$hi = 0, $82$hi = 0, $83$hi = 0, $84$hi = 0, $85$hi = 0, $66_1 = 0, $70_1 = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $190_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0; + $2783((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 2 | 0 | 0, (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & 65535 | 0 | 0); + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 58 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $2797(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + break label$1; + } + $2510((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + $38_1 = 1; + $39_1 = 0; + $40_1 = 4; + $41_1 = 54185; + i64toi32_i32$1 = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $78$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $79$hi = i64toi32_i32$0; + i64toi32_i32$0 = $78$hi; + i64toi32_i32$0 = $79$hi; + i64toi32_i32$0 = $78$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $24_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $24_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $80$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $81$hi = i64toi32_i32$1; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$0 = $24_1; + i64toi32_i32$2 = $81$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $82$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $83$hi = i64toi32_i32$5; + i64toi32_i32$5 = $82$hi; + i64toi32_i32$5 = $83$hi; + i64toi32_i32$5 = $82$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $83$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $84$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $85$hi = i64toi32_i32$4; + i64toi32_i32$4 = $84$hi; + i64toi32_i32$4 = $85$hi; + $190_1 = i64toi32_i32$1; + i64toi32_i32$4 = $84$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $85$hi; + i64toi32_i32$3 = $190_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$4 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $2513(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$5 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $2639((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0 | 0); + $2639((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0 | 0); + $2510((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0 | 0, $40_1 | 0, $41_1 | 0); + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = $39_1; + $66_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[$66_1 >> 2] = (HEAP32[$66_1 >> 2] | 0) + 1 | 0; + $70_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($70_1 + 60 | 0) >> 2] = (HEAP32[($70_1 + 60 | 0) >> 2] | 0) + 1 | 0; + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 58 | 0) >> 0] = $38_1; + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 57 | 0) >> 0] = $38_1; + global$0 = $4_1 + 32 | 0; + return; + } + + function $2786($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2534(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : while (1) { + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2534((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + break label$2; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + continue label$3; + }; + } + } + $36_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $36_1 | 0; + } + + function $2787($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$2 + } + $2785(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0; + label$3 : { + if (!((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$3 + } + $2798(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + } + $2521((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0 | 0); + $2521((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0); + $2521((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0 | 0); + $2521((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 76 | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $2521(((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 5 | 0) | 0) + 16 | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $42(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 32 | 0; + return; + } + + function $2788($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + if (HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = Math_imul((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0, 12) + 40 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $49(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 12) | 0; + HEAP32[i64toi32_i32$0 >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = 0; + $38_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($38_1 + 20 | 0) >> 2] = (HEAP32[($38_1 + 20 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + break label$2; + } + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = 7; + } + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $2789($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + label$1 : { + if (HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($7_1 + 24 | 0) >> 2] = ((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($7_1 + 36 | 0) >> 2] | 0, 12) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0, 12); + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (HEAP32[($7_1 + 28 | 0) >> 2] | 0) { + break label$5 + } + $3289((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 12) | 0 | 0, 0 | 0, Math_imul(HEAP32[($7_1 + 32 | 0) >> 2] | 0, 12) | 0) | 0; + break label$4; + } + HEAP32[($7_1 + 4 | 0) >> 2] = Math_imul(HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 12); + $3290((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 32 | 0) >> 2] | 0, 12) | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $3289(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, Math_imul(HEAP32[($7_1 + 32 | 0) >> 2] | 0, 12) | 0) | 0; + } + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + break label$2; + } + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = 7; + } + } + global$0 = $7_1 + 48 | 0; + return; + } + + function $2790($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $58_1 = 0, $84_1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($5_1 + 44 | 0) >> 2] = -1; + HEAP32[($5_1 + 40 | 0) >> 2] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($5_1 + 56 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0; + label$2 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + HEAP32[($5_1 + 36 | 0) >> 2] = (HEAP32[((((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($5_1 + 56 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0) + Math_imul((HEAP32[((((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($5_1 + 56 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0) - 1 | 0, 12) | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 56 | 0) >> 2] | 0) - 1 | 0; + label$3 : while (1) { + $58_1 = 0; + label$4 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + $58_1 = (HEAP32[((((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($5_1 + 48 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$5 : { + if (!($58_1 & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + -1 | 0; + continue label$3; + } + break label$3; + }; + label$6 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + $84_1 = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $84_1; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($5_1 + 48 | 0) >> 2] | 0, 12) | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $84_1; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[(((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0) - (HEAP32[(((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0) | 0) + 1 | 0; + label$9 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + label$10 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + } + label$11 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + } + $2799(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $2791($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$2 = 0, $5_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $48$hi = 0, $49$hi = 0, $50$hi = 0, $51$hi = 0, $52$hi = 0, $53$hi = 0, $54$hi = 0, $55$hi = 0, $57$hi = 0, $31_1 = 0, $103_1 = 0, $48_1 = 0, $112_1 = 0, $122_1 = 0, $52_1 = 0, $53_1 = 0, $134_1 = 0, $137_1 = 0, $57_1 = 0, $152$hi = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $103_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $103_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $48_1 = i64toi32_i32$1; + $48$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $49$hi = i64toi32_i32$0; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = $49$hi; + $112_1 = i64toi32_i32$1; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$2 = $48_1; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$3 = $112_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $50$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $51$hi = i64toi32_i32$5; + i64toi32_i32$5 = $50$hi; + i64toi32_i32$5 = $51$hi; + $122_1 = i64toi32_i32$2; + i64toi32_i32$5 = $50$hi; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$2 = __wasm_i64_udiv(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, $122_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $52_1 = i64toi32_i32$2; + $52$hi = i64toi32_i32$5; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $53_1 = i64toi32_i32$5; + $53$hi = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $54$hi = i64toi32_i32$2; + i64toi32_i32$2 = $53$hi; + i64toi32_i32$2 = $54$hi; + $134_1 = i64toi32_i32$5; + i64toi32_i32$2 = $53$hi; + i64toi32_i32$5 = $54$hi; + i64toi32_i32$5 = __wasm_i64_udiv($53_1 | 0, i64toi32_i32$2 | 0, $134_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $55$hi = i64toi32_i32$2; + i64toi32_i32$2 = $52$hi; + i64toi32_i32$2 = $55$hi; + $137_1 = i64toi32_i32$5; + i64toi32_i32$2 = $52$hi; + i64toi32_i32$0 = $52_1; + i64toi32_i32$5 = $55$hi; + i64toi32_i32$3 = $137_1; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $57_1 = i64toi32_i32$0; + $57$hi = i64toi32_i32$4; + $31_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $31_1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $152$hi = i64toi32_i32$0; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $152$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $57$hi; + i64toi32_i32$3 = $57_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$2 = $31_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[$5_1 >> 2] = Math_imul(Math_imul(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0), HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0); + $2800(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2792($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 84 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$1 : while (1) { + $14_1 = 0; + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $14_1 = (HEAP32[((((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($14_1 & 1 | 0)) { + break label$3 + } + $2801(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0); + $2790(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return; + } + + function $2793($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 5 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = 7; + break label$2; + } + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) | 0) << 5 | 0; + $3289((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) << 5 | 0) | 0 | 0, 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + } + $51_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $51_1 | 0; + } + + function $2794($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) < (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[$5_1 >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + (HEAP32[$5_1 >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[$5_1 >> 2] = (HEAP32[$5_1 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return HEAP32[$5_1 >> 2] | 0 | 0; + } + + function $2795($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $2798(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + label$1 : { + if (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + $2637((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 76 | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + global$0 = $6_1 + 16 | 0; + return; + } + + function $2796($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $6_1 = $3_1 + 16 | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = (($2535((HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0, $6_1 | 0) | 0) & 255 | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $2535((HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0 | 0, $6_1 | 0) | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2797($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $26_1 = 0, i64toi32_i32$0 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 57 | 0) >> 0] | 0) & 255 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + $2520((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0 | 0, 0 | 0, i64toi32_i32$0 | 0); + } + $26_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($26_1 + 64 | 0) >> 2] = (HEAP32[($26_1 + 64 | 0) >> 2] | 0) + 1 | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $2798($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $22_1 = 0, $25_1 = 0, $52$hi = 0, $53$hi = 0, $54$hi = 0, $19_1 = 0, $55$hi = 0, $26_1 = 0, $34_1 = 0, $52_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2802(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + $22_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + break label$4; + } + $22_1 = 1352; + } + $25_1 = 2; + $26_1 = 3; + HEAP32[$4_1 >> 2] = $22_1; + $325(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, $25_1 | 0, HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $34_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $52_1 = i64toi32_i32$1; + $52$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $53$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $54$hi = i64toi32_i32$0; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $19_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $55$hi = i64toi32_i32$1; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$0 = $52_1; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$3 = $19_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $331($34_1 | 0, $26_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + $287(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + $44_1 = $222(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = $44_1; + $332(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, $25_1 | 0) | 0; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 2] = 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2799($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $76_1 = 0, $61_1 = 0, $77_1 = 0, $81_1 = 0, $85_1 = 0, i64toi32_i32$1 = 0, $265_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 20 | 0) >> 2] = ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 12) | 0; + label$1 : { + if (HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 16 | 0) >> 2] = ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($6_1 + 28 | 0) >> 2] | 0, 12) | 0; + label$4 : { + if (!(HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0)) { + break label$4 + } + break label$1; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2804((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 12) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + break label$1; + } + $61_1 = 1; + $2789((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $61_1 | 0, $61_1 | 0); + label$8 : { + if (!(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$8 + } + break label$1; + } + $76_1 = (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 12) | 0; + i64toi32_i32$0 = HEAP32[$76_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($76_1 + 4 | 0) >> 2] | 0; + $265_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $265_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $77_1 = 8; + HEAP32[(i64toi32_i32$0 + $77_1 | 0) >> 2] = HEAP32[($76_1 + $77_1 | 0) >> 2] | 0; + $81_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($81_1 + 4 | 0) >> 2] = (HEAP32[($81_1 + 4 | 0) >> 2] | 0) + 1 | 0; + $85_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($85_1 + 4 | 0) >> 2] = (HEAP32[($85_1 + 4 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + -1 | 0; + continue label$6; + }; + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2800($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $29_1 = 0, $19_1 = 0, $113_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$1 : while (1) { + $19_1 = 0; + label$2 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($19_1 & 1 | 0)) { + break label$3 + } + $29_1 = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $29_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $29_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $29_1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 4 | 0) >> 2] = ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 12) | 0; + label$6 : { + if (!(HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0)) { + break label$6 + } + label$7 : { + if (!((HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) > (HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + } + break label$4; + } + label$8 : { + if (!((HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$9 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + if (HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($6_1 + 12 | 0) >> 2] | 0, 12) | 0) >> 2] | 0) { + break label$9 + } + break label$3; + } + HEAP32[($6_1 + 24 | 0) >> 2] = 1; + $2801(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, $6_1 + 20 | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $6_1 + 28 | 0 | 0); + label$10 : { + if (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$10 + } + if (HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($6_1 + 12 | 0) >> 2] | 0, 12) | 0) >> 2] | 0) { + break label$10 + } + $2790(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + continue label$1; + } + break label$1; + }; + HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $113_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $113_1 | 0; + } + + function $2801($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $169_1 = 0, $7_1 = 0, $25_1 = 0, $136_1 = 0, $143_1 = 0, $158_1 = 0, $306_1 = 0, $384_1 = 0, $388_1 = 0, $394_1 = 0, $398_1 = 0, $418_1 = 0, $257_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 208 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 204 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 200 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 196 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 192 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 188 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 200 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 184 | 0) >> 2] = ((HEAP32[($6_1 + 188 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($6_1 + 196 | 0) >> 2] | 0, 12) | 0; + HEAP32[($6_1 + 176 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 192 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$2 + } + $25_1 = HEAP32[(HEAP32[($6_1 + 192 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + } + $25_1 = 0; + } + HEAP32[($6_1 + 172 | 0) >> 2] = $25_1; + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($6_1 + 204 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 32; + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + $3289($6_1 + 72 | 0 | 0, 0 | 0, 96 | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1 + 56 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + label$3 : { + label$4 : { + label$5 : { + if (!(HEAP32[(HEAP32[($6_1 + 184 | 0) >> 2] | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($6_1 + 180 | 0) >> 2] = ((HEAP32[($6_1 + 188 | 0) >> 2] | 0) + 24 | 0) + Math_imul((HEAP32[($6_1 + 196 | 0) >> 2] | 0) + 1 | 0, 12) | 0; + HEAP32[($6_1 + 168 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 184 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0, 12) | 0; + $2780(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, $6_1 + 72 | 0 | 0, HEAP32[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 76 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 160 | 0) >> 2] = 0; + break label$4; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2779(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 188 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($6_1 + 196 | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($6_1 + 188 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$6 + } + $2788((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($6_1 + 200 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 188 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 200 | 0) >> 2] | 0) >> 2] | 0; + } + $2789((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($6_1 + 188 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 196 | 0) >> 2] | 0) + 1 | 0 | 0, 1 | 0, 0 | 0); + label$7 : { + if (!(HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$7 + } + break label$3; + } + HEAP32[($6_1 + 184 | 0) >> 2] = ((HEAP32[($6_1 + 188 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($6_1 + 196 | 0) >> 2] | 0, 12) | 0; + HEAP32[($6_1 + 180 | 0) >> 2] = ((HEAP32[($6_1 + 188 | 0) >> 2] | 0) + 24 | 0) + Math_imul((HEAP32[($6_1 + 196 | 0) >> 2] | 0) + 1 | 0, 12) | 0; + $2780(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, $6_1 + 72 | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 12) | 0; + $136_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + HEAP32[($136_1 + 4 | 0) >> 2] = (HEAP32[($136_1 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + HEAP32[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $143_1 = HEAP32[($6_1 + 188 | 0) >> 2] | 0; + HEAP32[($143_1 + 16 | 0) >> 2] = (HEAP32[($143_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 184 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + $158_1 = 0; + label$8 : { + if (!((HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + $158_1 = (HEAP32[((HEAP32[($6_1 + 188 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == ((HEAP32[($6_1 + 196 | 0) >> 2] | 0) + 2 | 0 | 0); + } + $169_1 = 0; + HEAP32[($6_1 + 52 | 0) >> 2] = $158_1 & 1 | 0; + $2658(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 188 | 0) >> 2] | 0 | 0, 32 | 0, $169_1 | 0, $169_1 | 0, $169_1 | 0, HEAP32[($6_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0, $6_1 + 176 | 0 | 0); + label$9 : { + label$10 : while (1) { + if ($2609(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 176 | 0) >> 2] | 0 | 0) | 0) { + break label$9 + } + HEAP32[($6_1 + 32 | 0) >> 2] = ((HEAP32[($6_1 + 176 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($6_1 + 176 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2805(HEAP32[($6_1 + 176 | 0) >> 2] | 0 | 0, $6_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + label$12 : { + if ((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$12 + } + label$13 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$13 + } + if (0 & 1 | 0) { + break label$12 + } + break label$11; + } + if (!($3228(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + } + label$14 : { + if (!((HEAP32[($6_1 + 192 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) > (HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + break label$9; + } + $2637((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0 | 0, $6_1 + 56 | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + } + label$15 : { + label$16 : { + if (HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) { + break label$16 + } + label$17 : { + if (HEAP32[($6_1 + 52 | 0) >> 2] | 0) { + break label$17 + } + if ((HEAPU8[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 84 | 0) >> 0] | 0) & 255 | 0) { + break label$16 + } + } + break label$15; + } + label$18 : { + if (HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$18 + } + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$18 + } + $2782(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, $6_1 + 72 | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 40 | 0) >> 2] = 1; + } + $257_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + i64toi32_i32$0 = $2610(HEAP32[($6_1 + 176 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $2806($257_1 | 0, $6_1 + 72 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + label$19 : { + label$20 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$20 + } + label$21 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 84 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$21 + } + i64toi32_i32$1 = 0; + $2520((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0 | 0, (($6_1 + 72 | 0) + 4 | 0) + 8 | 0 | 0, 0 | 0, i64toi32_i32$1 | 0); + label$22 : { + if (!((HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$22 + } + i64toi32_i32$1 = 0; + $2520((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0 | 0, (($6_1 + 72 | 0) + 4 | 0) + 8 | 0 | 0, 0 | 0, i64toi32_i32$1 | 0); + } + } + break label$19; + } + $306_1 = $6_1 + 72 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = ((HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) << 1 | 0) + ((HEAPU8[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 84 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $2520((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0 | 0, ($306_1 + 4 | 0) + 8 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + $2711(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, $306_1 | 0, 145 | 0); + } + } + i64toi32_i32$1 = 0; + $2608(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 176 | 0) >> 2] | 0 | 0, 0 | 0, 0 | 0, i64toi32_i32$1 | 0); + continue label$10; + }; + } + $2787(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, $6_1 + 72 | 0 | 0, (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 8 | 0 | 0); + label$23 : { + label$24 : { + if (!($2609(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 176 | 0) >> 2] | 0 | 0) | 0)) { + break label$24 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$25 : { + label$26 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + $2808(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6_1 + 184 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 12) | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$26; + }; + } + label$27 : { + if (!((HEAP32[((HEAP32[($6_1 + 184 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($6_1 + 12 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($6_1 + 184 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[($6_1 + 168 | 0) >> 2] | 0) | 0, 12); + $3290(HEAP32[((HEAP32[($6_1 + 184 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 184 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 168 | 0) >> 2] | 0, 12) | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + $384_1 = HEAP32[($6_1 + 188 | 0) >> 2] | 0; + HEAP32[($384_1 + 16 | 0) >> 2] = (HEAP32[($384_1 + 16 | 0) >> 2] | 0) - (HEAP32[($6_1 + 168 | 0) >> 2] | 0) | 0; + $388_1 = HEAP32[($6_1 + 184 | 0) >> 2] | 0; + HEAP32[($388_1 + 4 | 0) >> 2] = (HEAP32[($388_1 + 4 | 0) >> 2] | 0) - (HEAP32[($6_1 + 168 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($6_1 + 184 | 0) >> 2] | 0) >> 2] = 0; + label$28 : { + if (HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$28 + } + $394_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + HEAP32[($394_1 + 4 | 0) >> 2] = (HEAP32[($394_1 + 4 | 0) >> 2] | 0) + -1 | 0; + $398_1 = HEAP32[($6_1 + 188 | 0) >> 2] | 0; + HEAP32[($398_1 + 16 | 0) >> 2] = (HEAP32[($398_1 + 16 | 0) >> 2] | 0) + -1 | 0; + } + break label$23; + } + $2809(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 176 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 184 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + } + $2546(HEAP32[($6_1 + 176 | 0) >> 2] | 0 | 0); + $2521($6_1 + 56 | 0 | 0); + if (!((HEAP32[($6_1 + 192 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $418_1 = HEAP32[($6_1 + 192 | 0) >> 2] | 0; + HEAP32[$418_1 >> 2] = (HEAP32[$418_1 >> 2] | 0) - (HEAP32[($6_1 + 132 | 0) >> 2] | 0) | 0; + } + global$0 = $6_1 + 208 | 0; + return; + } + + function $2802($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $28_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > ($5_1 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) >= (4 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + } + $2803(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] = 0; + $28_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $28_1 | 0; + } + + function $2803($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $47$hi = 0, $48$hi = 0, $23_1 = 0, $49$hi = 0, $50$hi = 0, $51$hi = 0, $52$hi = 0, $53$hi = 0, $25_1 = 0, $54$hi = 0, $55$hi = 0, $56$hi = 0, $24_1 = 0, $51_1 = 0, $144_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 5 | 0) | 0; + label$3 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) { + break label$3 + } + break label$1; + } + label$4 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$4 + } + $24_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $47$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $48$hi = i64toi32_i32$0; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $23_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $23_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $49$hi = i64toi32_i32$1; + i64toi32_i32$1 = 16; + $50$hi = i64toi32_i32$1; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$0 = $23_1; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $51_1 = i64toi32_i32$4; + $51$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $52$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $53$hi = i64toi32_i32$5; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$5 = $53$hi; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$3 = 31; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $25_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $25_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $54$hi = i64toi32_i32$0; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$5 = $51_1; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$3 = $25_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $55$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $56$hi = i64toi32_i32$4; + i64toi32_i32$4 = $55$hi; + i64toi32_i32$4 = $56$hi; + $144_1 = i64toi32_i32$5; + i64toi32_i32$4 = $55$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$5 = $56$hi; + i64toi32_i32$3 = $144_1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $2513($24_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + $2639((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0 | 0); + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2804($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0; + } + + function $2805($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + return HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0; + } + + function $2806($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $73$hi = 0, $74$hi = 0, i64toi32_i32$3 = 0, $65_1 = 0, $73_1 = 0, $222_1 = 0, $232_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0; + label$2 : { + if (!(((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0 | 0) >= (HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2785(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 57 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $2783(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & 65535 | 0 | 0); + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $2784(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + } + label$4 : { + label$5 : { + label$6 : { + if ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + if (!((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 57 | 0) >> 0] | 0) & 255 | 0)) { + break label$5 + } + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $2520((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$4; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $73_1 = i64toi32_i32$0; + $73$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $74$hi = i64toi32_i32$0; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = $74$hi; + $222_1 = i64toi32_i32$1; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$2 = $73_1; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$3 = $222_1; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $2520((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, i64toi32_i32$2 - i64toi32_i32$3 | 0 | 0, i64toi32_i32$5 | 0); + } + $65_1 = 0; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $232_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$5 + 48 | 0) >> 2] = $232_1; + HEAP32[(i64toi32_i32$5 + 52 | 0) >> 2] = i64toi32_i32$2; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 0] = $65_1; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 57 | 0) >> 0] = $65_1; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2807($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $2810(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + global$0 = $6_1 + 32 | 0; + return; + } + + function $2808($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $4_1 = 0, $46$hi = 0, $47$hi = 0, $36_1 = 0, $48$hi = 0, $49$hi = 0, $50$hi = 0, $51$hi = 0, $52$hi = 0, $53$hi = 0, $55$hi = 0, $56$hi = 0, $37_1 = 0, $57$hi = 0, $58$hi = 0, $59$hi = 0, $60$hi = 0, $61$hi = 0, $62$hi = 0, $63$hi = 0, $64$hi = 0, $66$hi = 0, $67$hi = 0, $5_1 = 0, $66_1 = 0, $129_1 = 0, $22_1 = 0, $25_1 = 0, $27_1 = 0, $42_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + i64toi32_i32$1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $46$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $47$hi = i64toi32_i32$0; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $36_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $36_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $49$hi = i64toi32_i32$1; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$0 = $36_1; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $50$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $51$hi = i64toi32_i32$5; + i64toi32_i32$5 = $50$hi; + i64toi32_i32$5 = $51$hi; + i64toi32_i32$5 = $50$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $52$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $53$hi = i64toi32_i32$4; + i64toi32_i32$4 = $52$hi; + i64toi32_i32$4 = $53$hi; + i64toi32_i32$4 = $52$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$5 = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $55$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $56$hi = i64toi32_i32$2; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$2 = $56$hi; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$5 = $56$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + $37_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$1 | 0) | 0; + $37_1 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + } + $57$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $58$hi = i64toi32_i32$5; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$5 = $58$hi; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$2 = $37_1; + i64toi32_i32$4 = $58$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $59$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $60$hi = i64toi32_i32$0; + i64toi32_i32$0 = $59$hi; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$0 = $59$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$2 = $60$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $61$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $62$hi = i64toi32_i32$1; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$5 = $62$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $63$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $64$hi = i64toi32_i32$4; + i64toi32_i32$4 = $63$hi; + i64toi32_i32$4 = $64$hi; + i64toi32_i32$4 = $63$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$0 = $64$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$2 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$4 - i64toi32_i32$2 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $66_1 = i64toi32_i32$2; + $66$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 28 | 0) >> 2] | 0; + $67$hi = i64toi32_i32$2; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$2 = $67$hi; + $129_1 = i64toi32_i32$1; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$1 = $67$hi; + $2811(HEAP32[(i64toi32_i32$4 + 44 | 0) >> 2] | 0 | 0, $66_1 | 0, i64toi32_i32$2 | 0, $129_1 | 0, i64toi32_i32$1 | 0); + label$1 : { + if (!((HEAP32[((HEAP32[(i64toi32_i32$4 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + $22_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $25_1 = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 56 | 0; + $27_1 = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $27_1; + $2517($22_1 | 0, $25_1 | 0, $79(54189 | 0, $4_1 | 0) | 0 | 0) | 0; + } + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $330(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + $287(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + $42_1 = $222(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] = $42_1; + } + global$0 = $4_1 + 48 | 0; + return; + } + + function $2809($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $35_1 = 0, $36_1 = 0, $117_1 = 0, $21_1 = 0, $54_1 = 0, $242$hi = 0, $243$hi = 0, $37_1 = 0, $244$hi = 0, $245$hi = 0, $246$hi = 0, $247$hi = 0, $248$hi = 0, $249$hi = 0, $192_1 = 0, $255$hi = 0, $256$hi = 0, $38_1 = 0, $257$hi = 0, $258$hi = 0, $259$hi = 0, $260$hi = 0, $261$hi = 0, $262$hi = 0, $263$hi = 0, $264$hi = 0, $59_1 = 0, $418_1 = 0, $226_1 = 0, $775_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 52 | 0) >> 2] = 0; + label$1 : while (1) { + $21_1 = 0; + label$2 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $21_1 = (HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($21_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 36 | 0) >> 2] = ((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[($4_1 + 52 | 0) >> 2] | 0, 88) | 0; + label$4 : { + label$5 : { + if (!((HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + $54_1 = 0; + HEAP32[((HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] = $54_1; + HEAP32[((HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] = $54_1; + break label$6; + } + $59_1 = 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + $35_1 = $4_1 + 12 | 0; + $36_1 = 0; + HEAP8[$35_1 >> 0] = $36_1; + HEAP8[($35_1 + 1 | 0) >> 0] = $36_1 >>> 8 | 0; + HEAP8[($35_1 + 2 | 0) >> 0] = $36_1 >>> 16 | 0; + HEAP8[($35_1 + 3 | 0) >> 0] = $36_1 >>> 24 | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $242$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $243$hi = i64toi32_i32$0; + i64toi32_i32$0 = $242$hi; + i64toi32_i32$0 = $243$hi; + i64toi32_i32$0 = $242$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $243$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $37_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $37_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $244$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $245$hi = i64toi32_i32$1; + i64toi32_i32$1 = $244$hi; + i64toi32_i32$1 = $245$hi; + i64toi32_i32$1 = $244$hi; + i64toi32_i32$0 = $37_1; + i64toi32_i32$2 = $245$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $246$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $247$hi = i64toi32_i32$5; + i64toi32_i32$5 = $246$hi; + i64toi32_i32$5 = $247$hi; + i64toi32_i32$5 = $246$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $247$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $248$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $249$hi = i64toi32_i32$4; + i64toi32_i32$4 = $248$hi; + i64toi32_i32$4 = $249$hi; + $418_1 = i64toi32_i32$1; + i64toi32_i32$4 = $248$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $249$hi; + i64toi32_i32$3 = $418_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$4 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2629(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != ($59_1 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + label$10 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$9; + } + $2639($4_1 + 40 | 0 | 0); + label$11 : { + label$12 : { + if (!(((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) >>> 0 <= (HEAP32[($4_1 + 48 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$12 + } + break label$11; + } + $2511((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, $4_1 + 40 | 0 | 0, (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0 | 0) | 0; + } + $117_1 = $4_1 + 40 | 0; + $2510((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, $117_1 | 0, 4 | 0, $4_1 + 12 | 0 | 0); + i64toi32_i32$2 = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $2520((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, $117_1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$5 | 0); + $2510((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, $117_1 | 0, HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + $2510((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, $117_1 | 0, (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0 | 0, (HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0 | 0); + label$13 : { + if (HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$13 + } + $2783((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 2 | 0 | 0, (HEAP32[($4_1 + 44 | 0) >> 2] | 0) & 65535 | 0 | 0); + } + i64toi32_i32$5 = 0; + $2520((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, $4_1 + 40 | 0 | 0, 4 | 0, i64toi32_i32$5 | 0); + label$14 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $192_1 = $4_1 + 40 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = (((HEAP32[($4_1 + 44 | 0) >> 2] | 0) - 1 | 0) - (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0) - 4 | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $2520((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, $192_1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$5 | 0); + $2510((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, $192_1 | 0, (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) | 0 | 0, (HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) | 0 | 0); + } + HEAP32[((HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $226_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $255$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $256$hi = i64toi32_i32$5; + i64toi32_i32$5 = $255$hi; + i64toi32_i32$5 = $256$hi; + i64toi32_i32$5 = $255$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $256$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + $38_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $38_1 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + } + $257$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $258$hi = i64toi32_i32$2; + i64toi32_i32$2 = $257$hi; + i64toi32_i32$2 = $258$hi; + i64toi32_i32$2 = $257$hi; + i64toi32_i32$5 = $38_1; + i64toi32_i32$4 = $258$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $259$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $260$hi = i64toi32_i32$0; + i64toi32_i32$0 = $259$hi; + i64toi32_i32$0 = $260$hi; + i64toi32_i32$0 = $259$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$5 = $260$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $261$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $262$hi = i64toi32_i32$1; + i64toi32_i32$1 = $261$hi; + i64toi32_i32$1 = $262$hi; + i64toi32_i32$1 = $261$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $262$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $263$hi = i64toi32_i32$4; + i64toi32_i32$1 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $264$hi = i64toi32_i32$0; + i64toi32_i32$0 = $263$hi; + i64toi32_i32$0 = $264$hi; + $775_1 = i64toi32_i32$4; + i64toi32_i32$0 = $263$hi; + i64toi32_i32$4 = $264$hi; + $2811($226_1 | 0, i64toi32_i32$5 | 0, i64toi32_i32$0 | 0, $775_1 | 0, i64toi32_i32$4 | 0); + i64toi32_i32$1 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $2513(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0); + } + $2531(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + } + } + } + HEAP32[($4_1 + 52 | 0) >> 2] = (HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $2521($4_1 + 40 | 0 | 0); + global$0 = $4_1 + 64 | 0; + return; + } + + function $2810($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $15_1 = 0, $55_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + label$1 : while (1) { + $15_1 = 0; + label$2 : { + if (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $15_1 = (((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0 | 0) >= (HEAP32[((HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($15_1 & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 16 | 0) >> 2] = ((HEAP32[((HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) - (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $55_1 = ($2535((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0 | 0, $6_1 | 0) | 0) & 255 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + $55_1 | 0; + continue label$5; + }; + } + $2510((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) - (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + $2785(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + continue label$1; + } + break label$1; + }; + label$6 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + $2510((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2811($0_1, $1_1, $1$hi, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $19_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + $19_1 = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $19_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(54229 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!($2517(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 48 | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + break label$1; + } + } + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, 2 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $287(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + $40_1 = $222(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] = $40_1; + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2812($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $396_1 = 0, $127_1 = 0, $389$hi = 0, $403$hi = 0, $404$hi = 0, $10_1 = 0, $45_1 = 0, $49_1 = 0, $392$hi = 0, $53_1 = 0, $54_1 = 0, $55_1 = 0, $178_1 = 0, $187_1 = 0, $203_1 = 0, $267_1 = 0, $407$hi = 0, $408$hi = 0, $277_1 = 0, $291_1 = 0, $293_1 = 0, $322_1 = 0, $335_1 = 0, $336_1 = 0, $347_1 = 0, $354_1 = 0, $369_1 = 0, $383_1 = 0, $186_1 = 0, $849_1 = 0, $925_1 = 0, $403_1 = 0, $1027_1 = 0, $407_1 = 0, $1041_1 = 0, $1044_1 = 0, $276_1 = 0, $1081_1 = 0, $334_1 = 0, $346_1 = 0, $368_1 = 0, $386_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 112 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 104 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 96 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 100 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 92 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $3_1; + HEAP8[($9_1 + 87 | 0) >> 0] = $4_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 76 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 60 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 56 | 0) >> 2] = (HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0) == ($10_1 | 0) & 1 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2814(HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($9_1 + 87 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($9_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($9_1 + 52 | 0) >> 2] = (HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 40 | 0; + $45_1 = 24; + $49_1 = 24; + label$3 : { + if (!((((HEAPU8[(HEAP32[($9_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $45_1 | 0) >> $45_1 | 0 | 0) == (((HEAPU8[($9_1 + 87 | 0) >> 0] | 0) << $49_1 | 0) >> $49_1 | 0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + if ($3228((HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($9_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) | 0) { + break label$3 + } + break label$1; + } + HEAP32[($9_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 68 | 0) >> 2] | 0) >> 2] | 0; + continue label$2; + }; + } + label$4 : { + label$5 : { + label$6 : { + if (!((HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + $389$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 40 | 0) >> 2] = ((((HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 1 | 0) + 40 | 0) + 1 | 0) + 64 | 0; + HEAP32[($9_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + $392$hi = i64toi32_i32$1; + i64toi32_i32$1 = $389$hi; + i64toi32_i32$1 = $392$hi; + i64toi32_i32$1 = $389$hi; + i64toi32_i32$1 = $392$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $389$hi; + i64toi32_i32$3 = 128; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $53_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $54_1 = 0 + } else { + $54_1 = 1 + } + $55_1 = $54_1; + } else { + $55_1 = 0 + } + $53_1 = $55_1; + } + label$7 : { + if (!($53_1 & 1 | 0)) { + break label$7 + } + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 40 | 0) >> 2] = 128; + HEAP32[($9_1 + 44 | 0) >> 2] = i64toi32_i32$2; + } + label$8 : { + if (!(((HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 1 | 0 | 0) >= (HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2815(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($9_1 + 36 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($9_1 + 108 | 0) >> 2] = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + break label$4; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2814(HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($9_1 + 87 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($9_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$3 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $41(i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if ((HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + HEAP32[($9_1 + 108 | 0) >> 2] = 7; + break label$4; + } + $127_1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + $396_1 = 0; + i64toi32_i32$2 = $127_1; + HEAP32[i64toi32_i32$2 >> 2] = $396_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$2 + 32 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $396_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $127_1 + 24 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $396_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $127_1 + 16 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $396_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $127_1 + 8 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $396_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$3 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($9_1 + 48 | 0) >> 2] = (HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 40 | 0; + HEAP8[(HEAP32[($9_1 + 48 | 0) >> 2] | 0) >> 0] = HEAPU8[($9_1 + 87 | 0) >> 0] | 0; + $3288((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($9_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = 0; + HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] = (((HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 1 | 0) + 1 | 0) + 40 | 0; + HEAP32[(HEAP32[($9_1 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $178_1 = HEAP32[($9_1 + 104 | 0) >> 2] | 0; + HEAP32[($178_1 + 8 | 0) >> 2] = (HEAP32[($178_1 + 8 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$3 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + $186_1 = $2519((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + $187_1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[($187_1 + 16 | 0) >> 2] = (HEAP32[($187_1 + 16 | 0) >> 2] | 0) + $186_1 | 0; + i64toi32_i32$3 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + $849_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $849_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$11 : { + if (!((HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$11 + } + $203_1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[($203_1 + 16 | 0) >> 2] = (HEAP32[($203_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP16[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 26 | 0) >> 1] = HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0 ? -1 : 0; + } + break label$5; + } + label$12 : { + if (!(((HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0 | 0) < (22 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$1 = (HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 1 | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $925_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $925_1; + HEAP32[($9_1 + 28 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $49(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!((HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($9_1 + 108 | 0) >> 2] = 7; + break label$4; + } + i64toi32_i32$3 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($9_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[(HEAP32[($9_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($9_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + continue label$15; + }; + } + HEAP32[(HEAP32[($9_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + HEAP32[($9_1 + 68 | 0) >> 2] = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($9_1 + 60 | 0) >> 2] = (HEAP32[($9_1 + 60 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + } + HEAP32[($9_1 + 64 | 0) >> 2] = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$3 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + $403_1 = i64toi32_i32$2; + $403$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $404$hi = i64toi32_i32$2; + i64toi32_i32$2 = $403$hi; + i64toi32_i32$2 = $404$hi; + i64toi32_i32$2 = $403$hi; + i64toi32_i32$2 = $404$hi; + $1027_1 = i64toi32_i32$1; + i64toi32_i32$2 = $403$hi; + i64toi32_i32$3 = $403_1; + i64toi32_i32$1 = $404$hi; + i64toi32_i32$0 = $1027_1; + label$16 : { + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$16 + } + $267_1 = 1; + i64toi32_i32$0 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + $407_1 = i64toi32_i32$3; + $407$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $408$hi = i64toi32_i32$3; + i64toi32_i32$3 = $407$hi; + i64toi32_i32$3 = $408$hi; + $1041_1 = i64toi32_i32$2; + i64toi32_i32$3 = $407$hi; + i64toi32_i32$0 = $407_1; + i64toi32_i32$2 = $408$hi; + i64toi32_i32$1 = $1041_1; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + $1044_1 = i64toi32_i32$0 - i64toi32_i32$1 | 0; + i64toi32_i32$0 = $9_1; + HEAP32[($9_1 + 8 | 0) >> 2] = $1044_1; + HEAP32[($9_1 + 12 | 0) >> 2] = i64toi32_i32$5; + $2691(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$3 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + $276_1 = $2519((HEAP32[($9_1 + 64 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$0 | 0) | 0; + $277_1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[($277_1 + 16 | 0) >> 2] = (HEAP32[($277_1 + 16 | 0) >> 2] | 0) + $276_1 | 0; + i64toi32_i32$3 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + $1081_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $1081_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($9_1 + 56 | 0) >> 2] = $267_1; + HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$17 : { + if (!((HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($267_1 | 0) & 1 | 0)) { + break label$17 + } + $291_1 = 0; + $293_1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[($293_1 + 16 | 0) >> 2] = (HEAP32[($293_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP16[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 26 | 0) >> 1] = HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0 ? -1 : $291_1; + HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = $291_1; + } + } + label$18 : { + label$19 : { + if (!((HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$19 + } + label$20 : { + label$21 : { + if (!((HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$21 + } + HEAP8[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 25 | 0) >> 0] = 1; + break label$20; + } + $322_1 = 16; + label$22 : { + if (!((HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0) != (((HEAPU16[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) << $322_1 | 0) >> $322_1 | 0 | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + label$24 : { + if (HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0) { + break label$24 + } + $334_1 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + $335_1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $336_1 = HEAP32[($335_1 + 16 | 0) >> 2] | 0; + HEAP32[($335_1 + 16 | 0) >> 2] = $336_1 + 1 | 0; + HEAP8[($334_1 + $336_1 | 0) >> 0] = 1; + i64toi32_i32$0 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $346_1 = $2519((HEAP32[($9_1 + 64 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$5 | 0) | 0; + $347_1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[($347_1 + 16 | 0) >> 2] = (HEAP32[($347_1 + 16 | 0) >> 2] | 0) + $346_1 | 0; + HEAP16[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 26 | 0) >> 1] = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + break label$23; + } + HEAP32[($9_1 + 56 | 0) >> 2] = 1; + $354_1 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + HEAP32[($9_1 + 88 | 0) >> 2] = $354_1; + HEAP16[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 26 | 0) >> 1] = $354_1; + } + } + label$25 : { + if (!(HEAP32[($9_1 + 56 | 0) >> 2] | 0)) { + break label$25 + } + i64toi32_i32$0 = ((HEAP32[($9_1 + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0) + 2 | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $368_1 = $2519((HEAP32[($9_1 + 64 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$5 | 0) | 0; + $369_1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[($369_1 + 16 | 0) >> 2] = (HEAP32[($369_1 + 16 | 0) >> 2] | 0) + $368_1 | 0; + HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($9_1 + 88 | 0) >> 2] | 0; + } + } + break label$18; + } + HEAP8[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 0] = 1; + } + HEAP32[($9_1 + 60 | 0) >> 2] = (HEAP32[($9_1 + 60 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + $383_1 = HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[$383_1 >> 2] = (HEAP32[$383_1 >> 2] | 0) + (HEAP32[($9_1 + 60 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 108 | 0) >> 2] = 0; + } + $386_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + global$0 = $9_1 + 112 | 0; + return $386_1 | 0; + } + + function $2813($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $24_1 = 0, $49_1 = 0, $23_1 = 0; + $5_1 = global$0 - 32 | 0; + $6_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $23_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $24_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $24_1 + 1 | 0; + label$5 : { + if (!(((HEAPU8[($23_1 + $24_1 | 0) >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$7 : { + label$8 : while (1) { + $49_1 = 24; + if (!(((((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $49_1 | 0) >> $49_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + label$9 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + break label$7; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + continue label$8; + }; + } + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + return HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2814($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 32 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP8[($6_1 + 27 | 0) >> 0] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = 13; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - 1 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 8 | 0) >> 2] = (((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 3 | 0) ^ (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) ^ ((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + }; + } + HEAP32[($6_1 + 8 | 0) >> 2] = (((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 3 | 0) ^ (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) ^ ((HEAPU8[($6_1 + 27 | 0) >> 0] | 0) & 255 | 0) | 0; + return ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) >>> 0) % ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) >>> 0) | 0 | 0; + } + + function $2815($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + label$6 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2692(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[$3_1 >> 2] | 0) + 40 | 0 | 0, $3303((HEAP32[$3_1 >> 2] | 0) + 40 | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + continue label$6; + }; + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $93_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $93_1 | 0; + } + + function $2816($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, $188$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $165_1 = 0, $178_1 = 0, $68_1 = 0, $350$hi = 0, $411_1 = 0, $111_1 = 0, $547_1 = 0, $184_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = 40; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($4_1 + 32 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if ((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[(((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($4_1 + 32 | 0) >> 2] | 0, 12) | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + } + $2527(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $68_1 = 0; + i64toi32_i32$0 = 0; + $188$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $350$hi = i64toi32_i32$1; + i64toi32_i32$1 = $188$hi; + i64toi32_i32$1 = $350$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $188$hi; + i64toi32_i32$3 = Math_imul((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 1 | 0, 12); + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2468((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 36 | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != ($68_1 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$2 = 0; + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 12); + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(HEAP32[($4_1 + 48 | 0) >> 2] | 0) >> 2] = 1; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $411_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = $411_1; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 24 | 0) >> 2] = ((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0, 12) | 0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $111_1 = $2468((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 36 | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $111_1; + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$1 = (HEAP32[((((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 12) | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $547_1 = i64toi32_i32$2; + i64toi32_i32$2 = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 12) | 0; + HEAP32[i64toi32_i32$2 >> 2] = $547_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + $165_1 = 8; + HEAP32[(i64toi32_i32$2 + $165_1 | 0) >> 2] = HEAP32[(i64toi32_i32$1 + $165_1 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + -1 | 0; + continue label$11; + }; + } + $178_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $178_1; + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] = $178_1; + break label$8; + } + $42(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + } + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + } + $184_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $184_1 | 0; + } + + function $2817($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $36_1 = 0, i64toi32_i32$0 = 0, $138_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $8_1; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = $8_1; + label$1 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) != ($8_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($7_1 + 16 | 0) >> 2] = 13; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) - 1 | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + $36_1 = 24; + HEAP32[($7_1 + 16 | 0) >> 2] = (((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 3 | 0) ^ (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0) ^ (((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $36_1 | 0) >> $36_1 | 0) | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + -1 | 0; + continue label$3; + }; + } + HEAP32[($7_1 + 16 | 0) >> 2] = (((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 3 | 0) ^ (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0) ^ (HEAP32[($7_1 + 40 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) & 511 | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + if ($3228(HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = 1; + break label$4; + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$5; + }; + } + label$7 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2468($7_1 + 24 | 0 | 0, (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 16 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 16 | 0; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + $3288(HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + } + } + $138_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $138_1 | 0; + } + + function $2818($0_1, $0$hi, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $43$hi = 0, $44$hi = 0, $45_1 = 0, $45$hi = 0, $46$hi = 0, $47$hi = 0, $50$hi = 0, $51$hi = 0, $46_1 = 0, $52$hi = 0, $53$hi = 0, $54$hi = 0, $57$hi = 0, $58$hi = 0, $47_1 = 0, $59$hi = 0, $60$hi = 0, $61$hi = 0, $64$hi = 0, $65$hi = 0, $48_1 = 0, $66$hi = 0, $36_1 = 0, $67$hi = 0, $68$hi = 0, $9_1 = 0, $91_1 = 0, $103_1 = 0, $107$hi = 0, $123_1 = 0, $127$hi = 0, $158_1 = 0, $162$hi = 0, $206_1 = 0, $210$hi = 0; + $8_1 = global$0 - 48 | 0; + $9_1 = 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $8_1; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $2_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = $3_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $4_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = $5_1; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] | 0; + $91_1 = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$2; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $91_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $43$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $44$hi = i64toi32_i32$0; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$0 = $44$hi; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $45_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $45_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $45$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $46$hi = i64toi32_i32$1; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$1 = $46$hi; + $103_1 = i64toi32_i32$2; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$0 = $45_1; + i64toi32_i32$2 = $46$hi; + i64toi32_i32$3 = $103_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $47$hi = i64toi32_i32$5; + i64toi32_i32$1 = $8_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $107$hi = i64toi32_i32$0; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $47$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $8_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $50$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$4 = $51$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$0 << i64toi32_i32$5 | 0; + $46_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$5 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$5 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$5 | 0) | 0; + $46_1 = i64toi32_i32$0 << i64toi32_i32$5 | 0; + } + $52$hi = i64toi32_i32$4; + i64toi32_i32$0 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $53$hi = i64toi32_i32$4; + i64toi32_i32$4 = $52$hi; + i64toi32_i32$4 = $53$hi; + $123_1 = i64toi32_i32$0; + i64toi32_i32$4 = $52$hi; + i64toi32_i32$1 = $46_1; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$3 = $123_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $54$hi = i64toi32_i32$2; + i64toi32_i32$4 = $8_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 12 | 0) >> 2] | 0; + $127$hi = i64toi32_i32$1; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$1 = $127$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $54$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$4 = $8_1; + HEAP32[(i64toi32_i32$4 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$4 + 12 | 0) >> 2] = i64toi32_i32$5; + label$1 : { + if (!((HEAP32[(i64toi32_i32$4 + 28 | 0) >> 2] | 0 | 0) >= ($9_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$1 = $8_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $57$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $58$hi = i64toi32_i32$4; + i64toi32_i32$4 = $57$hi; + i64toi32_i32$4 = $58$hi; + i64toi32_i32$4 = $57$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $58$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $47_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$2 | 0) | 0; + $47_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $59$hi = i64toi32_i32$5; + i64toi32_i32$1 = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 48 | 0; + i64toi32_i32$5 = i64toi32_i32$1 >> 31 | 0; + $60$hi = i64toi32_i32$5; + i64toi32_i32$5 = $59$hi; + i64toi32_i32$5 = $60$hi; + $158_1 = i64toi32_i32$1; + i64toi32_i32$5 = $59$hi; + i64toi32_i32$4 = $47_1; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$3 = $158_1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $61$hi = i64toi32_i32$0; + i64toi32_i32$5 = $8_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + $162$hi = i64toi32_i32$4; + i64toi32_i32$4 = $61$hi; + i64toi32_i32$4 = $162$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$5 = $8_1; + HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] = i64toi32_i32$2; + } + HEAP32[($8_1 + 16 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$4 = $8_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 12 | 0) >> 2] | 0; + $64$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $65$hi = i64toi32_i32$5; + i64toi32_i32$5 = $64$hi; + i64toi32_i32$5 = $65$hi; + i64toi32_i32$5 = $64$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 << i64toi32_i32$0 | 0; + $48_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$0 | 0) | 0; + $48_1 = i64toi32_i32$4 << i64toi32_i32$0 | 0; + } + $66$hi = i64toi32_i32$2; + $36_1 = 24; + i64toi32_i32$4 = ((HEAPU8[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + (HEAP32[($8_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) << $36_1 | 0) >> $36_1 | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $67$hi = i64toi32_i32$2; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$2 = $67$hi; + $206_1 = i64toi32_i32$4; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$5 = $48_1; + i64toi32_i32$4 = $67$hi; + i64toi32_i32$3 = $206_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $68$hi = i64toi32_i32$1; + i64toi32_i32$2 = $8_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $210$hi = i64toi32_i32$5; + i64toi32_i32$5 = $68$hi; + i64toi32_i32$5 = $210$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$2 = $8_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = (HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + i64toi32_i32$5 = $8_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$2; + return i64toi32_i32$0 | 0; + } + + function $2819($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $182_1 = 0, $317$hi = 0, $318$hi = 0, $31_1 = 0, $43_1 = 0, $287$hi = 0, $288$hi = 0, $55_1 = 0, $289$hi = 0, $290$hi = 0, $291$hi = 0, $292$hi = 0, $293$hi = 0, $294$hi = 0, $127_1 = 0, $131_1 = 0, $145_1 = 0, $297$hi = 0, $298$hi = 0, $56_1 = 0, $299$hi = 0, $300$hi = 0, $301$hi = 0, $302$hi = 0, $303$hi = 0, $304$hi = 0, $307$hi = 0, $308$hi = 0, $57_1 = 0, $309$hi = 0, $310$hi = 0, $311$hi = 0, $312$hi = 0, $313$hi = 0, $314$hi = 0, $16_1 = 0, $18_1 = 0, $20_1 = 0, $60_1 = 0, $477_1 = 0, $116_1 = 0, $135_1 = 0, $136_1 = 0, $204_1 = 0, $815_1 = 0, $228_1 = 0, $891_1 = 0, $317_1 = 0, $972_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 116 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 124 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 112 | 0) >> 2] = 0; + HEAP32[($4_1 + 104 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($4_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + $16_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + $18_1 = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $20_1 = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $20_1; + HEAP32[$4_1 >> 2] = $18_1; + $2517($16_1 | 0, $4_1 + 112 | 0 | 0, $79(54315 | 0, $4_1 | 0) | 0 | 0) | 0; + label$3 : while (1) { + $31_1 = 0; + label$4 : { + if (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$4 + } + $31_1 = (100 | 0) == ($287(HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0) | 0 | 0); + } + label$5 : { + if (!($31_1 & 1 | 0)) { + break label$5 + } + $43_1 = 1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $311(HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0, $43_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $315(HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0, $43_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $317(HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0, 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $317(HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0, 3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + continue label$3; + } + $60_1 = 0; + i64toi32_i32$1 = HEAP32[(HEAP32[($4_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $287$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $288$hi = i64toi32_i32$0; + i64toi32_i32$0 = $287$hi; + i64toi32_i32$0 = $288$hi; + i64toi32_i32$0 = $287$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $288$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $55_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $55_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $289$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $290$hi = i64toi32_i32$1; + i64toi32_i32$1 = $289$hi; + i64toi32_i32$1 = $290$hi; + i64toi32_i32$1 = $289$hi; + i64toi32_i32$0 = $55_1; + i64toi32_i32$2 = $290$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $291$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $292$hi = i64toi32_i32$5; + i64toi32_i32$5 = $291$hi; + i64toi32_i32$5 = $292$hi; + i64toi32_i32$5 = $291$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $292$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $293$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $294$hi = i64toi32_i32$4; + i64toi32_i32$4 = $293$hi; + i64toi32_i32$4 = $294$hi; + $477_1 = i64toi32_i32$1; + i64toi32_i32$4 = $293$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $294$hi; + i64toi32_i32$3 = $477_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 88 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 92 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$4 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2629(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) == ($60_1 | 0) & 1 | 0)) { + break label$7 + } + break label$5; + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$8; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2698(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ($2532(HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : { + label$12 : { + if ((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$12 + } + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$10; + } + $116_1 = $2534((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 64 | 0) >> 2] | 0) | 0 | 0, $4_1 + 56 | 0 | 0) | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + $116_1 | 0; + label$13 : { + label$14 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $127_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + break label$13; + } + $127_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + } + label$15 : { + label$16 : { + if ($127_1) { + break label$16 + } + $131_1 = 0; + break label$15; + } + $135_1 = (HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 64 | 0) >> 2] | 0) | 0; + $136_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + label$17 : { + label$18 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $145_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + break label$17; + } + $145_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + } + $131_1 = $3228($135_1 | 0, $136_1 | 0, $145_1 | 0) | 0; + } + HEAP32[($4_1 + 52 | 0) >> 2] = $131_1; + label$19 : { + if (HEAP32[($4_1 + 52 | 0) >> 2] | 0) { + break label$19 + } + HEAP32[($4_1 + 52 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) - (HEAP32[($4_1 + 76 | 0) >> 2] | 0) | 0; + } + label$20 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + } + } + $2820(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0); + } + $2531(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0); + label$21 : { + if (!(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$21 + } + break label$5; + } + $2821(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($4_1 + 72 | 0) >> 2] | 0) - 1 | 0 | 0); + label$22 : { + if (!(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$22 + } + break label$5; + } + label$23 : { + label$24 : { + if (!(HEAP32[($4_1 + 68 | 0) >> 2] | 0)) { + break label$24 + } + $182_1 = 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $182_1; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = $182_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2701(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, $182_1 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + label$26 : while (1) { + if ($2615(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0) { + break label$25 + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + label$27 : { + label$28 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < ($2617(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$27 + } + $204_1 = 0; + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $297$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $298$hi = i64toi32_i32$5; + i64toi32_i32$5 = $297$hi; + i64toi32_i32$5 = $298$hi; + i64toi32_i32$5 = $297$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $298$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + $56_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $56_1 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + } + $299$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $300$hi = i64toi32_i32$2; + i64toi32_i32$2 = $299$hi; + i64toi32_i32$2 = $300$hi; + i64toi32_i32$2 = $299$hi; + i64toi32_i32$5 = $56_1; + i64toi32_i32$4 = $300$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $301$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $302$hi = i64toi32_i32$0; + i64toi32_i32$0 = $301$hi; + i64toi32_i32$0 = $302$hi; + i64toi32_i32$0 = $301$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$5 = $302$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $303$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $304$hi = i64toi32_i32$1; + i64toi32_i32$1 = $303$hi; + i64toi32_i32$1 = $304$hi; + $815_1 = i64toi32_i32$2; + i64toi32_i32$1 = $303$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $304$hi; + i64toi32_i32$3 = $815_1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$1 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2528(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) != ($204_1 | 0) & 1 | 0)) { + break label$29 + } + label$30 : { + if (!(($2532(HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 65535 | 0)) { + break label$30 + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + } + $2531(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + $228_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2617(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$4 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$4 >> 31 | 0; + $307$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $308$hi = i64toi32_i32$0; + i64toi32_i32$0 = $307$hi; + i64toi32_i32$0 = $308$hi; + i64toi32_i32$0 = $307$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$4 = $308$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $57_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$2 | 0) | 0; + $57_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $309$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $310$hi = i64toi32_i32$4; + i64toi32_i32$4 = $309$hi; + i64toi32_i32$4 = $310$hi; + i64toi32_i32$4 = $309$hi; + i64toi32_i32$0 = $57_1; + i64toi32_i32$1 = $310$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $311$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $312$hi = i64toi32_i32$5; + i64toi32_i32$5 = $311$hi; + i64toi32_i32$5 = $312$hi; + i64toi32_i32$5 = $311$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$0 = $312$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $313$hi = i64toi32_i32$2; + i64toi32_i32$4 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $314$hi = i64toi32_i32$2; + i64toi32_i32$2 = $313$hi; + i64toi32_i32$2 = $314$hi; + $891_1 = i64toi32_i32$4; + i64toi32_i32$2 = $313$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$4 = $314$hi; + i64toi32_i32$3 = $891_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2528(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$31 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) != ($228_1 | 0) & 1 | 0)) { + break label$31 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ($2532(HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$32 : { + label$33 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$32; + } + $2535((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0 | 0, $4_1 + 16 | 0 | 0) | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $317_1 = i64toi32_i32$5; + $317$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2616(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $318$hi = i64toi32_i32$5; + i64toi32_i32$5 = $317$hi; + i64toi32_i32$5 = $318$hi; + i64toi32_i32$5 = $317$hi; + i64toi32_i32$5 = $318$hi; + $972_1 = i64toi32_i32$1; + i64toi32_i32$5 = $317$hi; + i64toi32_i32$2 = $317_1; + i64toi32_i32$1 = $318$hi; + i64toi32_i32$3 = $972_1; + label$34 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$34 + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + } + } + $2531(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0); + } + $2618(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0; + continue label$26; + }; + } + HEAP32[($4_1 + 100 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $2548(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0); + break label$23; + } + HEAP32[($4_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 104 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $213(HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + if (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + } + global$0 = $4_1 + 128 | 0; + return; + } + + function $2820($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $29_1 = 0, $46_1 = 0, $77_1 = 0, $113_1 = 0, $120_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 68 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : while (1) { + $29_1 = 0; + label$2 : { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $29_1 = (HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($29_1 & 1 | 0)) { + break label$3 + } + $46_1 = $2534((HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 64 | 0) >> 2] | 0) | 0 | 0, $4_1 + 20 | 0 | 0) | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + $46_1 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $77_1 = $2534((HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0 | 0, $4_1 + 16 | 0 | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + $77_1 | 0; + label$8 : { + label$9 : { + if (!(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$8; + } + $2637((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0 | 0, $4_1 + 48 | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0 | 0); + } + break label$6; + } + $113_1 = $2534((HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0 | 0, $4_1 + 12 | 0 | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + $113_1 | 0; + $120_1 = $2534((HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0 | 0, $4_1 + 8 | 0 | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + $120_1 | 0; + label$10 : { + label$11 : { + label$12 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$12 + } + if (!(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + } + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$10; + } + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $2510((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0 | 0, $4_1 + 48 | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0 | 0); + } + label$13 : { + if (HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$13 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2632($4_1 + 48 | 0 | 0, $4_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + } + } + } + } + $2637((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0 | 0, $4_1 + 32 | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0); + continue label$1; + } + break label$1; + }; + $2521($4_1 + 48 | 0 | 0); + $2521($4_1 + 32 | 0 | 0); + global$0 = $4_1 + 80 | 0; + return; + } + + function $2821($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $12_1 = 0, $72$hi = 0, $73$hi = 0, $24_1 = 0, $74$hi = 0, $75$hi = 0, $76$hi = 0, $77$hi = 0, $78$hi = 0, $79$hi = 0, $21_1 = 0, $22_1 = 0, $146_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $12_1 = (HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) <= (HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + $21_1 = 0; + $22_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $72$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $73$hi = i64toi32_i32$0; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $24_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $24_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $74$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $75$hi = i64toi32_i32$1; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$1 = $75$hi; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$0 = $24_1; + i64toi32_i32$2 = $75$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $76$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $77$hi = i64toi32_i32$5; + i64toi32_i32$5 = $76$hi; + i64toi32_i32$5 = $77$hi; + i64toi32_i32$5 = $76$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $77$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $78$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $79$hi = i64toi32_i32$4; + i64toi32_i32$4 = $78$hi; + i64toi32_i32$4 = $79$hi; + $146_1 = i64toi32_i32$1; + i64toi32_i32$4 = $78$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$3 = $146_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2528($22_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) != ($21_1 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if ((HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + } + label$6 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + if (!((0 | 0) != (($2532(HEAP32[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + } + } + $2531(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + global$0 = $7_1 + 32 | 0; + return; + } + + function $2822($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2775(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $2492(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $7_1 = $2491(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $2823($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $21$hi = 0, $22$hi = 0, $21_1 = 0, $60_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $21_1 = i64toi32_i32$0; + $21$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $22$hi = i64toi32_i32$0; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$0 = $22$hi; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$0 = $22$hi; + $60_1 = i64toi32_i32$1; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$2 = $21_1; + i64toi32_i32$1 = $22$hi; + label$3 : { + if (!(((i64toi32_i32$2 | 0) == ($60_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$2; + }; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2824($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $10_1 = 0, $12_1 = 0, $14_1 = 0, $15_1 = 0, $16_1 = 0, $22_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + label$1 : { + if (HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + $10_1 = HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + $12_1 = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $14_1 = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $15_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $16_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $16_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $15_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $14_1; + HEAP32[$6_1 >> 2] = $12_1; + $22_1 = $2512($10_1 | 0, 0 | 0, 54422 | 0, $6_1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] = $22_1; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2825($0_1, $0$hi, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $16$hi = 0, $17$hi = 0, $19$hi = 0, $20$hi = 0, $26_1 = 0, $22$hi = 0, $23$hi = 0, $25$hi = 0, $26$hi = 0, $27_1 = 0, $28$hi = 0, $29$hi = 0, $31$hi = 0, $32$hi = 0, $28_1 = 0, $34$hi = 0, $35$hi = 0; + $7_1 = global$0 - 32 | 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $7_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $2_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $4_1; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $16$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $17$hi = i64toi32_i32$1; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $17$hi; + i64toi32_i32$3 = 2147483647; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + HEAP32[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 2] = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $19$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $20$hi = i64toi32_i32$2; + i64toi32_i32$2 = $19$hi; + i64toi32_i32$2 = $20$hi; + i64toi32_i32$2 = $19$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$3 = 31; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $26_1 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + $26_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$1 = $7_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $26_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $22$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $23$hi = i64toi32_i32$1; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$3 = 31; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $25$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $26$hi = i64toi32_i32$2; + i64toi32_i32$2 = $25$hi; + i64toi32_i32$2 = $26$hi; + i64toi32_i32$2 = $25$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$3 = 5; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $27_1 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + $27_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$1 = $7_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $27_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $29$hi = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $31$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $32$hi = i64toi32_i32$2; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$2 = $32$hi; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $32$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $28_1 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + $28_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$1 = $7_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $28_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $34$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $35$hi = i64toi32_i32$1; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $35$hi; + i64toi32_i32$3 = 65535; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] = i64toi32_i32$2 & i64toi32_i32$3 | 0; + return; + } + + function $2826($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $43$hi = 0, i64toi32_i32$2 = 0, $45$hi = 0, $32_1 = 0, $33_1 = 0, $35_1 = 0, $36_1 = 0, $37_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $2825(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $5_1 + 28 | 0 | 0, $5_1 + 16 | 0 | 0, $5_1 + 24 | 0 | 0, $5_1 + 20 | 0 | 0); + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$1 = 0; + $43$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $45$hi = i64toi32_i32$0; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $43$hi; + label$3 : { + label$4 : { + if (!(((i64toi32_i32$2 | 0) == (1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$4 + } + $2503(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 54533 | 0, 0 | 0); + break label$3; + } + $2503(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 54545 | 0, 0 | 0); + } + break label$1; + } + $32_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $33_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $35_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0 ? 54583 : 1352; + $36_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $37_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $37_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $36_1; + HEAP32[$5_1 >> 2] = $35_1; + $2503($32_1 | 0, $33_1 | 0, 54557 | 0, $5_1 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2827($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $24_1 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, i64toi32_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = 1352; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $24_1 = ($2535((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0 | 0, $6_1 + 16 | 0 | 0) | 0) & 255 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + $24_1 | 0; + $27_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $28_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + $29_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $29_1; + $2503($27_1 | 0, $28_1 | 0, 54590 | 0, $6_1 | 0); + HEAP32[($6_1 + 24 | 0) >> 2] = 33413; + continue label$2; + }; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2828($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2529(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $7_1 | 0, $6_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $2832(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + $2490(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2829($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $68$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $24_1 = 0, $68_1 = 0, $133$hi = 0, $61_1 = 0, $62_1 = 0, $221_1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = 0; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1352; + $24_1 = ($2535((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + (HEAP32[($6_1 + 44 | 0) >> 2] | 0) | 0 | 0, $6_1 + 16 | 0 | 0) | 0) & 255 | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + $24_1 | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $68_1 = i64toi32_i32$0; + $68$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $133$hi = i64toi32_i32$0; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$3 = $68_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$5; + label$3 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + if ((HEAPU8[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + (HEAP32[($6_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + label$4 : { + label$5 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + if ((HEAPU8[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + (HEAP32[($6_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 54647; + break label$4; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 29181; + } + } + $61_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $62_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $221_1 = i64toi32_i32$5; + i64toi32_i32$5 = $6_1; + HEAP32[$6_1 >> 2] = $221_1; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$2; + $2503($61_1 | 0, $62_1 | 0, 54649 | 0, $6_1 | 0); + continue label$2; + }; + } + global$0 = $6_1 + 64 | 0; + return; + } + + function $2830($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $21_1 = 0, $24_1 = 0, $25_1 = 0, $28_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $21_1 = $2534((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0 | 0, $6_1 + 8 | 0 | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + $21_1 | 0; + $24_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $25_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + $2503($24_1 | 0, $25_1 | 0, 54657 | 0, $6_1 | 0); + continue label$2; + }; + } + $28_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $28_1 | 0; + } + + function $2831($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $7_1 = 0, $72_1 = 0, $104$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $21_1 = 0, $22_1 = 0, $158_1 = 0, $44_1 = 0, $47_1 = 0, $48_1 = 0, $49_1 = 0, $55_1 = 0, $56_1 = 0, $59_1 = 0, $75_1 = 0, $93_1 = 0, $104_1 = 0, $325$hi = 0, $96_1 = 0, $97_1 = 0, $337_1 = 0, $99_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + $7_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $3_1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 72 | 0) >> 2] = 0; + HEAP32[($6_1 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 68 | 0) >> 2] = $7_1; + label$1 : { + if (!((HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) > ($7_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = ($2535(HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, $6_1 + 72 | 0 | 0) | 0) & 255 | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + $21_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $22_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + $158_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $158_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$1; + $2503($21_1 | 0, $22_1 | 0, 54661 | 0, $6_1 + 32 | 0 | 0); + } + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $44_1 = $2631((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 68 | 0) >> 2] | 0) | 0 | 0, $6_1 + 64 | 0 | 0, $6_1 + 60 | 0 | 0) | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + $44_1 | 0; + $47_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $48_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + $49_1 = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0 ? 29181 : 1352; + HEAP32[($6_1 + 16 | 0) >> 2] = $49_1; + $2503($47_1 | 0, $48_1 | 0, 54670 | 0, $6_1 + 16 | 0 | 0); + $55_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $56_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + $59_1 = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 68 | 0) >> 2] | 0) | 0; + label$4 : { + label$5 : { + if (!(((HEAP32[($6_1 + 80 | 0) >> 2] | 0) - (HEAP32[($6_1 + 68 | 0) >> 2] | 0) | 0 | 0) < (HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $72_1 = (HEAP32[($6_1 + 80 | 0) >> 2] | 0) - (HEAP32[($6_1 + 68 | 0) >> 2] | 0) | 0; + break label$4; + } + $72_1 = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + } + $75_1 = $2830($55_1 | 0, $56_1 | 0, $59_1 | 0, $72_1 | 0) | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + $75_1 | 0; + label$6 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $93_1 = ($2535((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 68 | 0) >> 2] | 0) | 0 | 0, $6_1 + 48 | 0 | 0) | 0) & 255 | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + $93_1 | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $104_1 = i64toi32_i32$1; + $104$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + $325$hi = i64toi32_i32$1; + i64toi32_i32$1 = $104$hi; + i64toi32_i32$1 = $325$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $104$hi; + i64toi32_i32$3 = $104_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 72 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 76 | 0) >> 2] = i64toi32_i32$5; + $96_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $97_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + $337_1 = i64toi32_i32$5; + i64toi32_i32$5 = $6_1; + HEAP32[$6_1 >> 2] = $337_1; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$2; + $2503($96_1 | 0, $97_1 | 0, 54661 | 0, $6_1 | 0); + } + continue label$3; + }; + } + $99_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + global$0 = $6_1 + 96 | 0; + return $99_1 | 0; + } + + function $2832($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $22_1 = 0, $23_1 = 0, $24_1 = 0, $26_1 = 0, $47_1 = 0, $48_1 = 0, $50_1 = 0, $52_1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 48 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 40 | 0) >> 2] = ((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($5_1 + 48 | 0) >> 2] | 0, 12) | 0; + $22_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $23_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + $24_1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + $26_1 = HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $26_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $24_1; + $2503($22_1 | 0, $23_1 | 0, 54595 | 0, $5_1 + 16 | 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 12) | 0; + $47_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $48_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + $50_1 = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + $52_1 = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $52_1; + HEAP32[$5_1 >> 2] = $50_1; + $2503($47_1 | 0, $48_1 | 0, 54622 | 0, $5_1 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $2503(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, 54645 | 0, 0 | 0); + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $2833($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $2834(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $2834($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $8_1 = 0, $7_1 = 0, $89_1 = 0, $93_1 = 0, $168_1 = 0, i64toi32_i32$0 = 0, $92_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + $7_1 = 1; + $8_1 = 0; + HEAP32[($6_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $302(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $303(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 52 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 54896; + HEAP32[($6_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) < ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0 ? 54827 : 54817; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(54904 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $263(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$1; + } + label$3 : { + if (!(HEAP32[($6_1 + 64 | 0) >> 2] | 0)) { + break label$3 + } + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 16 | 0) >> 2] = 2; + } + HEAP32[($6_1 + 24 | 0) >> 2] = ((HEAP32[($6_1 + 72 | 0) >> 2] | 0) - (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0) + 3 | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $41((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $286(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = 8749; + HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = 14130; + HEAP32[($6_1 + 36 | 0) >> 2] = 3; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $89_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + break label$7; + } + $89_1 = 1352; + } + $92_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + $93_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = $93_1 + 1 | 0; + HEAP32[($92_1 + ($93_1 << 2 | 0) | 0) >> 2] = $89_1; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 52 | 0) >> 2] = 1352; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2469(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, $6_1 + 20 | 0 | 0, $6_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2416(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, $6_1 + 44 | 0 | 0, $6_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$11 + } + label$12 : { + label$13 : { + if (!((HEAP32[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(1352 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + break label$12; + } + label$14 : { + label$15 : { + if (!(HEAP32[($6_1 + 64 | 0) >> 2] | 0)) { + break label$15 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2841(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + break label$14; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2842(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + } + label$16 : { + label$17 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($6_1 + 40 | 0) >> 2] = 7; + break label$16; + } + $168_1 = -1; + $277(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, $168_1 | 0, $168_1 | 0); + $42(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + } + label$18 : { + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$18 + } + label$19 : { + label$20 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + $263(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$19; + } + $284(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + } + } + $42(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + $2483(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + $2426(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 80 | 0; + return; + } + + function $2835($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $2834(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $2836($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$2 + } + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 55036 | 0, -1 | 0); + break label$1; + } + i64toi32_i32$0 = 0; + $38_1 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $38_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $2837(55087 | 0, $5_1 | 0) | 0; + $2837(55090 | 0, $5_1 | 0) | 0; + $2837(55093 | 0, $5_1 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $267(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + ($2838(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0) | 0) >> 0] | 0) & 255 | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2837($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $44_1 = 0, $140_1 = 0, $13_1 = 0, $71_1 = 0, $36_1 = 0, $150_1 = 0, $80_1 = 0, $101_1 = 0, $169_1 = 0, $176_1 = 0, $95_1 = 0, $116_1 = 0, $191_1 = 0, $10_1 = 0, $124_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] = 1; + $10_1 = (HEAP8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) + -67 | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($10_1 | 0) { + case 0: + $13_1 = HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + label$10 : { + label$11 : { + label$12 : { + if (($13_1 | 0) == (42 | 0)) { + break label$12 + } + label$13 : { + label$14 : { + label$15 : { + label$16 : { + label$17 : { + if (($13_1 | 0) == (99 | 0)) { + break label$17 + } + if (($13_1 | 0) == (102 | 0)) { + break label$16 + } + if (($13_1 | 0) == (110 | 0)) { + break label$15 + } + if (($13_1 | 0) == (111 | 0)) { + break label$13 + } + if (($13_1 | 0) == (115 | 0)) { + break label$14 + } + break label$11; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = 1; + break label$10; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1; + break label$10; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 3 | 0) >> 0] = 1; + break label$10; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 0] = 1; + break label$10; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 31 | 0) >> 0] = 1; + break label$10; + } + $36_1 = 1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = $36_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 2 | 0) >> 0] = $36_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 3 | 0) >> 0] = $36_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 0] = $36_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 31 | 0) >> 0] = $36_1; + break label$10; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + break label$2; + case 9: + $44_1 = HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + label$18 : { + label$19 : { + label$20 : { + if (($44_1 | 0) == (42 | 0)) { + break label$20 + } + label$21 : { + if (($44_1 | 0) == (67 | 0)) { + break label$21 + } + label$22 : { + label$23 : { + label$24 : { + label$25 : { + label$26 : { + if (($44_1 | 0) == (108 | 0)) { + break label$26 + } + if (($44_1 | 0) == (109 | 0)) { + break label$25 + } + if (($44_1 | 0) == (111 | 0)) { + break label$24 + } + if (($44_1 | 0) == (116 | 0)) { + break label$23 + } + if (($44_1 | 0) == (117 | 0)) { + break label$22 + } + break label$19; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 5 | 0) >> 0] = 1; + break label$18; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 6 | 0) >> 0] = 1; + break label$18; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 7 | 0) >> 0] = 1; + break label$18; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 0] = 1; + break label$18; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 9 | 0) >> 0] = 1; + break label$18; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 30 | 0) >> 0] = 1; + break label$18; + } + $71_1 = 1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 5 | 0) >> 0] = $71_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 6 | 0) >> 0] = $71_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 7 | 0) >> 0] = $71_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 0] = $71_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 9 | 0) >> 0] = $71_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 30 | 0) >> 0] = $71_1; + break label$18; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + break label$2; + case 10: + $80_1 = HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + label$27 : { + label$28 : { + label$29 : { + if (($80_1 | 0) == (42 | 0)) { + break label$29 + } + label$30 : { + label$31 : { + label$32 : { + if (($80_1 | 0) == (99 | 0)) { + break label$32 + } + if (($80_1 | 0) == (101 | 0)) { + break label$31 + } + if (($80_1 | 0) == (110 | 0)) { + break label$30 + } + break label$28; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 0] = 1; + break label$27; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 11 | 0) >> 0] = 1; + break label$27; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 0] = 1; + break label$27; + } + $95_1 = 1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 0] = $95_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 11 | 0) >> 0] = $95_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 0] = $95_1; + break label$27; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + break label$2; + case 11: + $101_1 = HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + label$33 : { + label$34 : { + label$35 : { + if (($101_1 | 0) == (42 | 0)) { + break label$35 + } + label$36 : { + label$37 : { + label$38 : { + if (($101_1 | 0) == (100 | 0)) { + break label$38 + } + if (($101_1 | 0) == (108 | 0)) { + break label$37 + } + if (($101_1 | 0) == (111 | 0)) { + break label$36 + } + break label$34; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 13 | 0) >> 0] = 1; + break label$33; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 14 | 0) >> 0] = 1; + break label$33; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 15 | 0) >> 0] = 1; + break label$33; + } + $116_1 = 1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 13 | 0) >> 0] = $116_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 14 | 0) >> 0] = $116_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 15 | 0) >> 0] = $116_1; + break label$33; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + break label$2; + case 13: + $124_1 = (HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) + -42 | 0; + label$39 : { + label$40 : { + switch ($124_1 | 0) { + case 57: + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] = 1; + break label$39; + case 58: + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + break label$39; + case 59: + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 18 | 0) >> 0] = 1; + break label$39; + case 60: + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 19 | 0) >> 0] = 1; + break label$39; + case 63: + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 0] = 1; + break label$39; + case 69: + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 21 | 0) >> 0] = 1; + break label$39; + case 73: + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 22 | 0) >> 0] = 1; + break label$39; + case 0: + $140_1 = 1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] = $140_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 17 | 0) >> 0] = $140_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 18 | 0) >> 0] = $140_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 19 | 0) >> 0] = $140_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 0] = $140_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 21 | 0) >> 0] = $140_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 22 | 0) >> 0] = $140_1; + break label$39; + default: + break label$40; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + break label$2; + case 16: + $150_1 = HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + label$49 : { + label$50 : { + label$51 : { + if (($150_1 | 0) == (42 | 0)) { + break label$51 + } + label$52 : { + label$53 : { + label$54 : { + label$55 : { + if (($150_1 | 0) == (99 | 0)) { + break label$55 + } + if (($150_1 | 0) == (107 | 0)) { + break label$54 + } + if (($150_1 | 0) == (109 | 0)) { + break label$53 + } + if (($150_1 | 0) == (111 | 0)) { + break label$52 + } + break label$50; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 23 | 0) >> 0] = 1; + break label$49; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] = 1; + break label$49; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 25 | 0) >> 0] = 1; + break label$49; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 26 | 0) >> 0] = 1; + break label$49; + } + $169_1 = 1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 23 | 0) >> 0] = $169_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] = $169_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 25 | 0) >> 0] = $169_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 26 | 0) >> 0] = $169_1; + break label$49; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + break label$2; + case 23: + break label$3; + default: + break label$2; + }; + } + $176_1 = HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + label$56 : { + label$57 : { + label$58 : { + if (($176_1 | 0) == (42 | 0)) { + break label$58 + } + label$59 : { + label$60 : { + label$61 : { + if (($176_1 | 0) == (108 | 0)) { + break label$61 + } + if (($176_1 | 0) == (112 | 0)) { + break label$60 + } + if (($176_1 | 0) == (115 | 0)) { + break label$59 + } + break label$57; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 27 | 0) >> 0] = 1; + break label$56; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 0] = 1; + break label$56; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 29 | 0) >> 0] = 1; + break label$56; + } + $191_1 = 1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 27 | 0) >> 0] = $191_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 0] = $191_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 29 | 0) >> 0] = $191_1; + break label$56; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2838($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0; + $3_1 = global$0 - 32 | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = -1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 0 >= 1048576 >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $13_1 = 73264; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAPU16[($13_1 + (((HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 16 | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAPU16[($13_1 + ((((HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 16 | 0) + 1 | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; + HEAP16[($3_1 + 6 | 0) >> 1] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) & 65535 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[$3_1 >> 2] = ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$5 : { + label$6 : { + if (!(((HEAPU16[($3_1 + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) >= ((HEAPU16[(73312 + ((HEAP32[$3_1 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[$3_1 >> 2] | 0) + 1 | 0; + break label$5; + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + } + continue label$4; + }; + } + label$7 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$8 : { + if (!(((HEAPU16[($3_1 + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) >= (((HEAPU16[(73312 + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) + (((HEAPU16[(76848 + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) >> 5 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = ((HEAPU16[(76848 + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) & 31 | 0; + label$9 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (30 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($3_1 + 28 | 0) >> 2] = (((HEAPU16[($3_1 + 6 | 0) >> 1] | 0) & 65535 | 0) - ((HEAPU16[(73312 + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) | 0) & 1 | 0 ? 5 : 9; + } + return HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2839($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$2 + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 55096 | 0, -1 | 0); + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $267(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $2840(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2840($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $159_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) >= (65 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) <= (90 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 32 | 0; + } + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (65536 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 162; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = -1; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) - ((HEAPU16[(55152 + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 1] | 0) & 65535 | 0) | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + break label$8; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) - 1 | 0; + } + continue label$7; + }; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 55152 + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0; + label$10 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (((HEAPU16[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0) + ((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + if (!((0 | 0) == ((((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) & (((HEAPU16[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0) ^ (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 36 | 0) >> 2] = ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + ((HEAPU16[(55808 + ((((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) >> 1 | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) | 0) & 65535 | 0; + } + label$11 : { + if (!(HEAP32[($4_1 + 40 | 0) >> 2] | 0)) { + break label$11 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2845(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + break label$4; + } + label$12 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) >= (66560 | 0) & 1 | 0)) { + break label$12 + } + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (66600 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0; + } + } + } + $159_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $159_1 | 0; + } + + function $2841($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $176_1 = 0, $251_1 = 0, $270_1 = 0, $25_1 = 0, $61_1 = 0, $68_1 = 0, $85_1 = 0, $119_1 = 0, $196_1 = 0, $198_1 = 0, $300_1 = 0, $310_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 176 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 168 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 164 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 160 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 156 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if ((HEAP32[(HEAP32[($5_1 + 160 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[(HEAP32[($5_1 + 160 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($5_1 + 152 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $25_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + HEAP32[($5_1 + 80 | 0) >> 2] = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843($25_1 | 0, 54945 | 0, $5_1 + 80 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 140 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($5_1 + 136 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + $61_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 140 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843($61_1 | 0, 54949 | 0, $5_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + break label$7; + } + $68_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 140 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843($68_1 | 0, 54958 | 0, $5_1 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 148 | 0) >> 2] = 1; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $85_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 140 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 148 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843($85_1 | 0, 54657 | 0, $5_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 148 | 0) >> 2] = (HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 54967 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + if (!((HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 172 | 0) >> 2] = 0; + break label$1; + } + } + label$12 : { + if (!((HEAP32[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$12 + } + $119_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 152 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843($119_1 | 0, 54970 | 0, $5_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!((HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 172 | 0) >> 2] = 0; + break label$1; + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 49667 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($5_1 + 172 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 148 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($5_1 + 132 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($5_1 + 148 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 54980 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 144 | 0) >> 2] = 0; + label$17 : while (1) { + $176_1 = 0; + label$18 : { + if (!((HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + $176_1 = (HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + } + label$19 : { + if (!($176_1 & 1 | 0)) { + break label$19 + } + HEAP32[($5_1 + 128 | 0) >> 2] = HEAP32[((((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 144 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + $196_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + $198_1 = HEAP32[($5_1 + 144 | 0) >> 2] | 0 ? 33413 : 1352; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $198_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843($196_1 | 0, 27033 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!(((HEAPU8[(((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 144 | 0) >> 2] | 0) << 4 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 29181 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($5_1 + 144 | 0) >> 2] = (HEAP32[($5_1 + 144 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + } + break label$17; + }; + label$21 : { + if (!((HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 54645 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + } + label$22 : { + if (!((HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($5_1 + 172 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 148 | 0) >> 2] = (HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + break label$2; + } + HEAP32[($5_1 + 124 | 0) >> 2] = 0; + $251_1 = (HEAP32[(HEAP32[($5_1 + 160 | 0) >> 2] | 0) >> 2] | 0) + -2 | 0; + label$23 : { + label$24 : { + switch ($251_1 | 0) { + case 0: + HEAP32[($5_1 + 124 | 0) >> 2] = 49891; + break label$23; + case 1: + HEAP32[($5_1 + 124 | 0) >> 2] = 49895; + break label$23; + default: + break label$24; + }; + } + HEAP32[($5_1 + 124 | 0) >> 2] = 49888; + } + HEAP32[($5_1 + 112 | 0) >> 2] = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(1976 | 0, $5_1 + 112 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 120 | 0) >> 2] = 0; + label$27 : while (1) { + $270_1 = 0; + label$28 : { + if (!((HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + $270_1 = (HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + } + label$29 : { + if (!($270_1 & 1 | 0)) { + break label$29 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2841(HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($5_1 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$30 : { + label$31 : { + if ((HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$31 + } + $42(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 156 | 0) >> 2] = 0; + break label$30; + } + $300_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843($300_1 | 0, 54983 | 0, $5_1 + 96 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($5_1 + 120 | 0) >> 2] = (HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$27; + } + break label$27; + }; + } + HEAP32[($5_1 + 172 | 0) >> 2] = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + } + $310_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + global$0 = $5_1 + 176 | 0; + return $310_1 | 0; + } + + function $2842($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $308_1 = 0, $258_1 = 0, $328_1 = 0, $332_1 = 0, $62_1 = 0, $76_1 = 0, $103_1 = 0, $200_1 = 0, $202_1 = 0, $239_1 = 0, $325_1 = 0, $335_1 = 0, $336_1 = 0, $354_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 144 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 136 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 132 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 128 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (HEAP32[(HEAP32[($4_1 + 132 | 0) >> 2] | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79(54989 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[(HEAP32[($4_1 + 132 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[(HEAP32[($4_1 + 132 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($4_1 + 124 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2843(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, 54992 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 112 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $62_1 = HEAP32[($4_1 + 128 | 0) >> 2] | 0; + $76_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[(((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 112 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0) == ((HEAP32[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0 ? 1352 : 33413; + HEAP32[$4_1 >> 2] = $76_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2843($62_1 | 0, 27033 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 112 | 0) >> 2] = (HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$10 : { + if (!((HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $103_1 = HEAP32[($4_1 + 128 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0 ? 54645 : 1352; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2843($103_1 | 0, 54994 | 0, $4_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + if (!((HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 140 | 0) >> 2] = 0; + break label$1; + } + } + label$12 : { + if (!((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2843(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, 55e3 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!((HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($4_1 + 140 | 0) >> 2] = 0; + break label$1; + } + } + HEAP32[($4_1 + 120 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 104 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$16 : { + if (!(HEAP32[($4_1 + 120 | 0) >> 2] | 0)) { + break label$16 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2843(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, 33413 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!((HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($4_1 + 140 | 0) >> 2] = 0; + break label$1; + } + } + HEAP32[($4_1 + 116 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2844(((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($4_1 + 116 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + $200_1 = HEAP32[($4_1 + 128 | 0) >> 2] | 0; + $202_1 = HEAP32[($4_1 + 116 | 0) >> 2] | 0 ? 55006 : 1352; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $202_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2843($200_1 | 0, 27033 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0); + } + label$21 : { + label$22 : { + if ((HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$22 + } + if (!((HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$21 + } + } + $42(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 140 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 116 | 0) >> 2] = (HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + HEAP32[($4_1 + 120 | 0) >> 2] = (HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + label$23 : { + if (!((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$23 + } + $239_1 = HEAP32[($4_1 + 128 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 124 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2843($239_1 | 0, 55010 | 0, $4_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($4_1 + 140 | 0) >> 2] = 0; + break label$1; + } + } + break label$3; + } + HEAP32[($4_1 + 96 | 0) >> 2] = 0; + $258_1 = (HEAP32[(HEAP32[($4_1 + 132 | 0) >> 2] | 0) >> 2] | 0) + -2 | 0; + label$25 : { + label$26 : { + switch ($258_1 | 0) { + case 0: + HEAP32[($4_1 + 96 | 0) >> 2] = 32800; + break label$25; + case 1: + HEAP32[($4_1 + 96 | 0) >> 2] = 55016; + break label$25; + default: + break label$26; + }; + } + HEAP32[($4_1 + 96 | 0) >> 2] = 55022; + } + HEAP32[($4_1 + 92 | 0) >> 2] = 0; + label$29 : { + label$30 : while (1) { + if (!((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2842(HEAP32[($4_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($4_1 + 92 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + label$31 : { + label$32 : { + if (!((HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$32 + } + $42(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 128 | 0) >> 2] = 0; + break label$31; + } + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[(HEAP32[(((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($4_1 + 92 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0; + $308_1 = 0; + label$33 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) != (9 | 0) & 1 | 0)) { + break label$33 + } + $308_1 = 0; + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$33 + } + $308_1 = (HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0); + } + HEAP32[($4_1 + 80 | 0) >> 2] = $308_1 & 1 | 0; + $325_1 = HEAP32[($4_1 + 128 | 0) >> 2] | 0; + label$34 : { + label$35 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$35 + } + $328_1 = 1352; + break label$34; + } + $328_1 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + } + $332_1 = 1352; + $335_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0 ? 32826 : $332_1; + $336_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[($4_1 + 80 | 0) >> 2] | 0 ? 5213 : $332_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $336_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $335_1; + HEAP32[($4_1 + 64 | 0) >> 2] = $328_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2843($325_1 | 0, 55027 | 0, $4_1 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + } + label$36 : { + if (!((HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$36 + } + break label$29; + } + HEAP32[($4_1 + 92 | 0) >> 2] = (HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 1 | 0; + continue label$30; + }; + } + } + HEAP32[($4_1 + 140 | 0) >> 2] = HEAP32[($4_1 + 128 | 0) >> 2] | 0; + } + $354_1 = HEAP32[($4_1 + 140 | 0) >> 2] | 0; + global$0 = $4_1 + 144 | 0; + return $354_1 | 0; + } + + function $2843($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $26_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $78(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $26_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(27033 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $42(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + $33_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $33_1 | 0; + } + + function $2844($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $139$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $45_1 = 0, $62_1 = 0, $72_1 = 0, $76_1 = 0, $81_1 = 0, $88_1 = 0, $101_1 = 0, $120_1 = 0, $125_1 = 0, $131_1 = 0, $139_1 = 0, $188$hi = 0, $44_1 = 0, $71_1 = 0, $79_1 = 0, $80_1 = 0, $87_1 = 0, $100_1 = 0, $119_1 = 0, $124_1 = 0, $130_1 = 0, $135_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$1 = ((($3303(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) << 1 | 0) + 3 | 0) + 2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $139_1 = i64toi32_i32$1; + $139$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $188$hi = i64toi32_i32$1; + i64toi32_i32$1 = $139$hi; + i64toi32_i32$1 = $188$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$3 = $139_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41(i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $44_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $45_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $45_1 + 1 | 0; + HEAP8[($44_1 + $45_1 | 0) >> 0] = 34; + label$6 : { + label$7 : while (1) { + if (!(((HEAPU8[(HEAP32[$3_1 >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + $62_1 = 24; + label$8 : { + if (!((((HEAPU8[(HEAP32[$3_1 >> 2] | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$8 + } + $71_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $72_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $72_1 + 1 | 0; + HEAP8[($71_1 + $72_1 | 0) >> 0] = 34; + } + $76_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[$3_1 >> 2] = $76_1 + 1 | 0; + $79_1 = HEAPU8[$76_1 >> 0] | 0; + $80_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $81_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $81_1 + 1 | 0; + HEAP8[($80_1 + $81_1 | 0) >> 0] = $79_1; + continue label$7; + }; + } + $87_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $88_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $88_1 + 1 | 0; + HEAP8[($87_1 + $88_1 | 0) >> 0] = 34; + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $100_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $101_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $101_1 + 1 | 0; + HEAP8[($100_1 + $101_1 | 0) >> 0] = 124; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$5; + }; + } + label$10 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + $119_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $120_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $120_1 + 1 | 0; + HEAP8[($119_1 + $120_1 | 0) >> 0] = 32; + $124_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $125_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $125_1 + 1 | 0; + HEAP8[($124_1 + $125_1 | 0) >> 0] = 42; + } + $130_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $131_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $131_1 + 1 | 0; + HEAP8[($130_1 + $131_1 | 0) >> 0] = 0; + } + $135_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $135_1 | 0; + } + + function $2845($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $71_1 = 0, $98_1 = 0, $110_1 = 0; + $4_1 = global$0 - 432 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 424 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 420 | 0) >> 2] = $1_1; + $3288($4_1 + 160 | 0 | 0, 55968 | 0, 252 | 0) | 0; + $3288($4_1 + 32 | 0 | 0, 56224 | 0, 126 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 424 | 0) >> 2] | 0) << 3 | 0 | 7 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 125; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 >= ((HEAPU16[(($4_1 + 160 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - 1 | 0; + } + continue label$2; + }; + } + label$5 : { + label$6 : { + if (HEAP32[($4_1 + 420 | 0) >> 2] | 0) { + break label$6 + } + if (!(((HEAPU8[(($4_1 + 32 | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$6 + } + HEAP32[($4_1 + 428 | 0) >> 2] = HEAP32[($4_1 + 424 | 0) >> 2] | 0; + break label$5; + } + $71_1 = $4_1 + 160 | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 424 | 0) >> 2] | 0 | 0) > ((((HEAPU16[($71_1 + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) >> 3 | 0) + (((HEAPU16[($71_1 + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) & 7 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + $98_1 = HEAP32[($4_1 + 424 | 0) >> 2] | 0; + break label$7; + } + $98_1 = ((HEAPU8[(($4_1 + 32 | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 127 | 0; + } + HEAP32[($4_1 + 428 | 0) >> 2] = $98_1; + } + $110_1 = HEAP32[($4_1 + 428 | 0) >> 2] | 0; + global$0 = $4_1 + 432 | 0; + return $110_1 | 0; + } + + function $2846($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $466_1 = 0, $23_1 = 0, $9_1 = 0, $394_1 = 0, $64_1 = 0, $467_1 = 0, $125_1 = 0, $157_1 = 0, $330_1 = 0, $456_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 208 | 0; + global$0 = $7_1; + $9_1 = 0; + HEAP32[($7_1 + 204 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 200 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 196 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 192 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 188 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 116 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $9_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 192 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 40 | 0) >> 2] = 50068; + $263(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, -1 | 0); + break label$1; + } + $23_1 = $7_1 + 120 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + $466_1 = 0; + i64toi32_i32$1 = $23_1; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 56 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $23_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $23_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $23_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $23_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $23_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $23_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $239(HEAP32[(HEAP32[($7_1 + 188 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2847(HEAP32[((HEAP32[($7_1 + 188 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2847(HEAP32[((HEAP32[($7_1 + 188 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2847(HEAP32[((HEAP32[($7_1 + 188 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($7_1 + 188 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + $64_1 = HEAP32[($7_1 + 112 | 0) >> 2] | 0; + break label$3; + } + $64_1 = 0; + } + HEAP32[($7_1 + 84 | 0) >> 2] = $64_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $38(HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 116 | 0) >> 2] = 7; + } + label$6 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$6 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0, $7_1 + 100 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$0 = 0; + $467_1 = 0; + i64toi32_i32$1 = $7_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $467_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $467_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 96 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + label$10 : { + if ((HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$10 + } + if (!((HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + } + $125_1 = 0; + HEAP32[($7_1 + 48 | 0) >> 2] = $125_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $125_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0, ($7_1 + 48 | 0) + 16 | 0, $7_1 + 36 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($7_1 + 116 | 0) >> 2] | 0)) { + break label$11 + } + break label$7; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0, $7_1 + 48 | 0, 146) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($7_1 + 116 | 0) >> 2] | 0)) { + break label$12 + } + break label$7; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0, $7_1 + 32 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($7_1 + 116 | 0) >> 2] | 0)) { + break label$13 + } + break label$7; + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + label$14 : while (1) { + $157_1 = 0; + label$15 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$15 + } + $157_1 = (HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0); + } + label$16 : { + if (!($157_1 & 1 | 0)) { + break label$16 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0, $7_1 + 24 | 0, $7_1 + 20 | 0, $7_1 + 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + label$18 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + break label$17; + } + label$19 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($7_1 + 116 | 0) >> 2] = 267; + } + label$20 : { + if (!(HEAP32[($7_1 + 116 | 0) >> 2] | 0)) { + break label$20 + } + break label$17; + } + $3289(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2849(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, $7_1 + 8 | 0 | 0, $7_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$21 + } + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + HEAP32[($7_1 + 80 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + } + label$22 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$22 + } + if (!(HEAP32[($7_1 + 56 | 0) >> 2] | 0)) { + break label$22 + } + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($7_1 + 4 | 0) >> 2] = 0; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) < ((HEAP32[($7_1 + 56 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$23 + } + label$25 : { + if (!((HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + break label$23; + } + HEAP32[($7_1 + 4 | 0) >> 2] = (HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$24; + }; + } + label$26 : { + if (!((HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + $3289(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2849(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, $7_1 + 8 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 ? 100 : 120) | 0; + label$27 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$27 + } + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + HEAP32[($7_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + } + } + } + } + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + } + break label$14; + }; + } + HEAP32[($7_1 + 96 | 0) >> 2] = (HEAP32[($7_1 + 96 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + label$28 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$28 + } + $330_1 = $7_1 + 120 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0, $330_1 + 48 | 0, $330_1 + 52 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + label$29 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$29 + } + if (HEAP32[($7_1 + 72 | 0) >> 2] | 0) { + break label$29 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0, $7_1 + 72 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + label$30 : { + if (!((HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$30 + } + label$31 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$31 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2850(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, $7_1 + 120 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($7_1 + 152 | 0) >> 2] = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + HEAP32[($7_1 + 156 | 0) >> 2] = ((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + (HEAP32[($7_1 + 104 | 0) >> 2] | 0) | 0) - 1 | 0; + label$32 : { + if (!((HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$32 + } + $2851($7_1 + 116 | 0 | 0, $7_1 + 120 | 0 | 0, HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, -1 | 0); + } + label$33 : while (1) { + $394_1 = 0; + label$34 : { + if (!((HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$34 + } + $394_1 = 0; + if (!((HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$34 + } + $394_1 = (HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$35 : { + if (!($394_1 & 1 | 0)) { + break label$35 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2852($7_1 + 120 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + continue label$33; + } + break label$33; + }; + label$36 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$36 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0, HEAP32[($7_1 + 168 | 0) >> 2] | 0, HEAP32[($7_1 + 172 | 0) >> 2] | 0, $7_1 + 120 | 0, 147) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + label$37 : { + label$38 : { + if (!((HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0) >= ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$38 + } + $2851($7_1 + 116 | 0 | 0, $7_1 + 120 | 0 | 0, (HEAP32[($7_1 + 168 | 0) >> 2] | 0) + (HEAP32[($7_1 + 176 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($7_1 + 172 | 0) >> 2] | 0) - (HEAP32[($7_1 + 176 | 0) >> 2] | 0) | 0 | 0); + break label$37; + } + $2851($7_1 + 116 | 0 | 0, $7_1 + 120 | 0 | 0, HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, -1 | 0); + } + } + label$39 : { + label$40 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$40 + } + $456_1 = -1; + $277(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, $456_1 | 0, $456_1 | 0); + break label$39; + } + $284(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0); + } + $42(HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0); + $42(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0); + $42(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 208 | 0; + return; + } + + function $2847($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $66(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + break label$1; + } + $14_1 = 1352; + } + global$0 = $3_1 + 16 | 0; + return $14_1 | 0; + } + + function $2848($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $40_1 = 0, $50_1 = 0, $60_1 = 0, $70_1 = 0, $92_1 = 0, $102_1 = 0, $117_1 = 0, $121_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 20 | 0) >> 2] = 0; + label$1 : { + if ((HEAP32[($8_1 + 40 | 0) >> 2] | 0) & 1 | 0) { + break label$1 + } + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (!((HEAP32[(HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[($8_1 + 11 | 0) >> 0] = 0; + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) - 1 | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($8_1 + 11 | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($8_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0; + $40_1 = 24; + label$6 : { + if (!((((HEAPU8[($8_1 + 11 | 0) >> 0] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) != (32 | 0) & 1 | 0)) { + break label$6 + } + $50_1 = 24; + if (!((((HEAPU8[($8_1 + 11 | 0) >> 0] | 0) << $50_1 | 0) >> $50_1 | 0 | 0) != (9 | 0) & 1 | 0)) { + break label$6 + } + $60_1 = 24; + if (!((((HEAPU8[($8_1 + 11 | 0) >> 0] | 0) << $60_1 | 0) >> $60_1 | 0 | 0) != (10 | 0) & 1 | 0)) { + break label$6 + } + $70_1 = 24; + if (!((((HEAPU8[($8_1 + 11 | 0) >> 0] | 0) << $70_1 | 0) >> $70_1 | 0 | 0) != (13 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$5; + }; + } + label$7 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) != ((HEAP32[($8_1 + 28 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$7 + } + $92_1 = 24; + label$8 : { + if ((((HEAPU8[($8_1 + 11 | 0) >> 0] | 0) << $92_1 | 0) >> $92_1 | 0 | 0) == (46 | 0) & 1 | 0) { + break label$8 + } + $102_1 = 24; + if (!((((HEAPU8[($8_1 + 11 | 0) >> 0] | 0) << $102_1 | 0) >> $102_1 | 0 | 0) == (58 | 0) & 1 | 0)) { + break label$7 + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2857(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + break label$2; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2857(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $117_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[$117_1 >> 2] = (HEAP32[$117_1 >> 2] | 0) + 1 | 0; + } + $121_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $121_1 | 0; + } + + function $2849($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $12_1 = 0, $150$hi = 0, $151$hi = 0, $157$hi = 0, $158$hi = 0, $162$hi = 0, $147$hi = 0, $148$hi = 0, $33_1 = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $155$hi = 0, $156$hi = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, $164$hi = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $15_1 = 0, $147_1 = 0, $218_1 = 0, $150_1 = 0, $335_1 = 0, $458_1 = 0, $155_1 = 0, $467_1 = 0, $477_1 = 0, $495_1 = 0, $144_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11_1 = global$0 - 96 | 0; + global$0 = $11_1; + $12_1 = 0; + $15_1 = $11_1 + 32 | 0; + HEAP32[($11_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 68 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 64 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 60 | 0) >> 2] = $8_1; + HEAP32[($11_1 + 48 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 44 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 40 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 36 | 0) >> 2] = -1; + HEAP32[($11_1 + 28 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 24 | 0) >> 2] = $12_1; + i64toi32_i32$1 = HEAP32[($11_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $147_1 = i64toi32_i32$1; + $147$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($11_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $148$hi = i64toi32_i32$0; + i64toi32_i32$0 = $147$hi; + i64toi32_i32$0 = $148$hi; + $218_1 = i64toi32_i32$1; + i64toi32_i32$0 = $147$hi; + i64toi32_i32$2 = $147_1; + i64toi32_i32$1 = $148$hi; + i64toi32_i32$3 = $218_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $11_1; + HEAP32[($11_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($11_1 + 20 | 0) >> 2] = i64toi32_i32$5; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($11_1 + 88 | 0) >> 2] | 0, $15_1) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11_1 + 52 | 0) >> 2] = $12_1; + label$1 : while (1) { + $33_1 = 0; + label$2 : { + if (!((HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $33_1 = (HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($33_1 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[($11_1 + 88 | 0) >> 2] | 0, HEAP32[($11_1 + 52 | 0) >> 2] | 0, $11_1 + 48 | 0, $11_1 + 44 | 0, $11_1 + 40 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($11_1 + 56 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) == (HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0) >= (HEAP32[($11_1 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($11_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $150_1 = i64toi32_i32$2; + $150$hi = i64toi32_i32$5; + i64toi32_i32$0 = $11_1; + i64toi32_i32$5 = HEAP32[($11_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($11_1 + 20 | 0) >> 2] | 0; + $151$hi = i64toi32_i32$2; + i64toi32_i32$2 = $150$hi; + i64toi32_i32$2 = $151$hi; + i64toi32_i32$2 = $150$hi; + i64toi32_i32$2 = $151$hi; + $335_1 = i64toi32_i32$5; + i64toi32_i32$2 = $150$hi; + i64toi32_i32$0 = $150_1; + i64toi32_i32$5 = $151$hi; + i64toi32_i32$3 = $335_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$5 | 0)) { + $39_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$3 >>> 0) { + $40_1 = 0 + } else { + $40_1 = 1 + } + $41_1 = $40_1; + } else { + $41_1 = 0 + } + $39_1 = $41_1; + } + if (!($39_1 & 1 | 0)) { + break label$4 + } + HEAP32[($11_1 + 28 | 0) >> 2] = (HEAP32[($11_1 + 28 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($11_1 + 80 | 0) >> 2] | 0) + (HEAP32[($11_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 ? 1 : 1e3) | 0; + HEAP8[((HEAP32[($11_1 + 80 | 0) >> 2] | 0) + (HEAP32[($11_1 + 48 | 0) >> 2] | 0) | 0) >> 0] = 1; + label$5 : { + if (!((HEAP32[($11_1 + 36 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($11_1 + 36 | 0) >> 2] = HEAP32[($11_1 + 40 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = (HEAP32[($11_1 + 40 | 0) >> 2] | 0) + (FUNCTION_TABLE[HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0](HEAP32[($11_1 + 88 | 0) >> 2] | 0, HEAP32[($11_1 + 48 | 0) >> 2] | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($11_1 + 52 | 0) >> 2] = (HEAP32[($11_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + HEAP32[(HEAP32[($11_1 + 64 | 0) >> 2] | 0) >> 2] = HEAP32[($11_1 + 28 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[($11_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$2 = (HEAP32[($11_1 + 36 | 0) >> 2] | 0) - (((HEAP32[($11_1 + 68 | 0) >> 2] | 0) - ((HEAP32[($11_1 + 24 | 0) >> 2] | 0) - (HEAP32[($11_1 + 36 | 0) >> 2] | 0) | 0) | 0 | 0) / (2 | 0) | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $458_1 = i64toi32_i32$2; + i64toi32_i32$2 = $11_1; + HEAP32[($11_1 + 8 | 0) >> 2] = $458_1; + HEAP32[($11_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$3 = $11_1; + i64toi32_i32$0 = HEAP32[($11_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($11_1 + 12 | 0) >> 2] | 0; + $155_1 = i64toi32_i32$0; + $155$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($11_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $156$hi = i64toi32_i32$2; + i64toi32_i32$2 = $155$hi; + i64toi32_i32$2 = $156$hi; + $467_1 = i64toi32_i32$0; + i64toi32_i32$2 = $155$hi; + i64toi32_i32$3 = $155_1; + i64toi32_i32$0 = $156$hi; + i64toi32_i32$5 = $467_1; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $157$hi = i64toi32_i32$4; + i64toi32_i32$3 = HEAP32[($11_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 >> 31 | 0; + $158$hi = i64toi32_i32$4; + i64toi32_i32$4 = $157$hi; + i64toi32_i32$4 = $158$hi; + i64toi32_i32$4 = $157$hi; + i64toi32_i32$4 = $158$hi; + $477_1 = i64toi32_i32$3; + i64toi32_i32$4 = $157$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$3 = $158$hi; + i64toi32_i32$5 = $477_1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$3 | 0)) { + $42_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$5 >>> 0) { + $43_1 = 0 + } else { + $43_1 = 1 + } + $44_1 = $43_1; + } else { + $44_1 = 0 + } + $42_1 = $44_1; + } + label$7 : { + if (!($42_1 & 1 | 0)) { + break label$7 + } + i64toi32_i32$4 = (HEAP32[($11_1 + 84 | 0) >> 2] | 0) - (HEAP32[($11_1 + 68 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $495_1 = i64toi32_i32$4; + i64toi32_i32$4 = $11_1; + HEAP32[($11_1 + 8 | 0) >> 2] = $495_1; + HEAP32[($11_1 + 12 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$2 = 0; + $162$hi = i64toi32_i32$2; + i64toi32_i32$5 = $11_1; + i64toi32_i32$2 = HEAP32[($11_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($11_1 + 12 | 0) >> 2] | 0; + $164$hi = i64toi32_i32$4; + i64toi32_i32$4 = $162$hi; + i64toi32_i32$4 = $164$hi; + i64toi32_i32$4 = $162$hi; + i64toi32_i32$4 = $164$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $162$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$2 | 0)) { + $45_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$3 >>> 0) { + $46_1 = 0 + } else { + $46_1 = 1 + } + $47_1 = $46_1; + } else { + $47_1 = 0 + } + $45_1 = $47_1; + } + label$8 : { + if (!($45_1 & 1 | 0)) { + break label$8 + } + i64toi32_i32$5 = 0; + i64toi32_i32$4 = $11_1; + HEAP32[($11_1 + 8 | 0) >> 2] = 0; + HEAP32[($11_1 + 12 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$3 = $11_1; + i64toi32_i32$5 = HEAP32[($11_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($11_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($11_1 + 60 | 0) >> 2] | 0) >> 2] = i64toi32_i32$5; + } + $144_1 = HEAP32[($11_1 + 56 | 0) >> 2] | 0; + global$0 = $11_1 + 96 | 0; + return $144_1 | 0; + } + + function $2850($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $34_1 = 0, $7_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + $7_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $34_1 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 24 | 0) >> 2] | 0, (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2852(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $31_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $31_1 | 0; + } + + function $2851($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $26_1 = 0, $27_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + if (HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3303(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $26_1 = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + $27_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $27_1; + HEAP32[$6_1 >> 2] = $26_1; + $30_1 = $79(56416 | 0, $6_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] = $30_1; + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 7; + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2852($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $10_1 = 0, $88_1 = 0, $92_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = -1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = $4_1; + label$1 : while (1) { + $10_1 = 0; + label$2 : { + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$2 + } + $10_1 = (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($10_1 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, $3_1 + 20 | 0, $3_1 + 16 | 0, $3_1 + 12 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$4 + } + label$5 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) - 1 | 0) + (FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + break label$6; + } + label$8 : { + label$9 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + } + break label$8; + } + break label$3; + } + } + } + $88_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[($88_1 + 12 | 0) >> 2] = (HEAP32[($88_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + continue label$1; + } + break label$1; + }; + $92_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $92_1 | 0; + } + + function $2853($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $16_1 = 0, $17_1 = 0, $66_1 = 0, $111_1 = 0, $186_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $16_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + $17_1 = HEAP32[($16_1 + 28 | 0) >> 2] | 0; + HEAP32[($16_1 + 28 | 0) >> 2] = $17_1 + 1 | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = $17_1; + label$3 : { + if (!((HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if ((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($8_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$6 : { + if (!(HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0)) { + break label$6 + } + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + } + } + label$7 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $66_1 = $8_1 + 12 | 0; + $2851($66_1 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($8_1 + 24 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0 | 0); + $2851($66_1 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, -1 | 0); + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + } + label$8 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!(HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$9 + } + if (!((HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $2851($8_1 + 12 | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, -1 | 0); + } + $111_1 = $8_1 + 12 | 0; + $2851($111_1 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($8_1 + 20 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0 | 0); + $2851($111_1 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, -1 | 0); + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + label$10 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2852(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + label$11 : { + if (!((HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $2851($8_1 + 12 | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($8_1 + 20 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0 | 0); + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + label$12 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $2851($8_1 + 12 | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, -1 | 0); + } + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + } + $186_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $186_1 | 0; + } + + function $2854($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, $22_1 = 0, i64toi32_i32$0 = 0, $102_1 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 112 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 12 | 0) >> 2] = 56423; + $263(HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0); + break label$1; + } + $22_1 = $7_1 + 24 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $239(HEAP32[(HEAP32[($7_1 + 92 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + $102_1 = 0; + i64toi32_i32$1 = $22_1; + HEAP32[i64toi32_i32$1 >> 2] = $102_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 56 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $102_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $102_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $102_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $102_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $102_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $102_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $102_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 108 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 104 | 0) >> 2] | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0, $22_1 + 48 | 0, $22_1 + 52 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2850(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, $7_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 108 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 104 | 0) >> 2] | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0, $7_1 + 24 | 0, 147) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $2851($7_1 + 20 | 0 | 0, $7_1 + 24 | 0 | 0, (HEAP32[($7_1 + 72 | 0) >> 2] | 0) + (HEAP32[($7_1 + 80 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($7_1 + 76 | 0) >> 2] | 0) - (HEAP32[($7_1 + 80 | 0) >> 2] | 0) | 0 | 0); + label$6 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + $93_1 = -1; + $277(HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, $93_1 | 0, $93_1 | 0); + } + $42(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0); + } + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$1 + } + $284(HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 112 | 0; + return; + } + + function $2855($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $11_1 = 0, $124_1 = 0.0, $34_1 = 0, $128_1 = 0.0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 112 | 0; + global$0 = $7_1; + $11_1 = 0; + $124_1 = +($11_1 | 0); + HEAP32[($7_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $4_1; + HEAPF64[($7_1 + 80 | 0) >> 3] = 1.2; + HEAPF64[($7_1 + 72 | 0) >> 3] = .75; + HEAPF64[($7_1 + 56 | 0) >> 3] = $124_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $11_1; + HEAPF64[($7_1 + 32 | 0) >> 3] = $124_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $11_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2856(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, $7_1 + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($7_1 + 68 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $3289(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0) << 3 | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 108 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 104 | 0) >> 2] | 0, $7_1 + 44 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($7_1 + 48 | 0) >> 2] = 0; + label$2 : while (1) { + $34_1 = 0; + label$3 : { + if (HEAP32[($7_1 + 68 | 0) >> 2] | 0) { + break label$3 + } + $34_1 = (HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($34_1 & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 104 | 0) >> 2] | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0, $7_1 + 24 | 0, $7_1 + 20 | 0, $7_1 + 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($7_1 + 68 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + label$7 : { + if (!((HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $128_1 = +$65(HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + break label$6; + } + $128_1 = 1.0; + } + HEAPF64[($7_1 + 8 | 0) >> 3] = $128_1; + $75_1 = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAPF64[$75_1 >> 3] = +HEAPF64[$75_1 >> 3] + +HEAPF64[($7_1 + 8 | 0) >> 3]; + } + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + label$8 : { + if (HEAP32[($7_1 + 68 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 108 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 104 | 0) >> 2] | 0, -1, $7_1 + 4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + HEAPF64[($7_1 + 32 | 0) >> 3] = +(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + } + label$9 : { + label$10 : { + if (HEAP32[($7_1 + 68 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[($7_1 + 48 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAPF64[($7_1 + 56 | 0) >> 3] = +HEAPF64[($7_1 + 56 | 0) >> 3] + +HEAPF64[((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3] * (+HEAPF64[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3] * 2.2 / (+HEAPF64[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3] + 1.2 * (.25 + .75 * +HEAPF64[($7_1 + 32 | 0) >> 3] / +HEAPF64[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 3]))); + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + $260(HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, +(-1.0 * +HEAPF64[($7_1 + 56 | 0) >> 3])); + break label$9; + } + $284(HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 112 | 0; + return; + } + + function $2856($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $6_1 = 0, $123_1 = 0, $76_1 = 0, $138_1 = 0.0, $130$hi = 0, $131$hi = 0, i64toi32_i32$3 = 0, $134_1 = 0.0, $130_1 = 0, $388_1 = 0, $140_1 = 0.0, $120_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 72 | 0) >> 2] | 0, $6_1) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $123_1 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $123_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $123_1; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 72 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = (((HEAP32[($5_1 + 56 | 0) >> 2] | 0) << 1 | 0) << 3 | 0) + 24 | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 64 | 0) >> 2] = 7; + break label$2; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $3289(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 24 | 0; + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 56 | 0) >> 2] | 0) << 3 | 0) | 0; + } + label$4 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 72 | 0) >> 2] | 0, $5_1 + 48 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 72 | 0) >> 2] | 0, -1, $5_1 + 40 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + $134_1 = +(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0); + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + HEAPF64[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 3] = $134_1 / (+(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0)); + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + label$7 : while (1) { + $76_1 = 0; + label$8 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$8 + } + $76_1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + } + label$9 : { + if (!($76_1 & 1 | 0)) { + break label$9 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 72 | 0) >> 2] | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0, $5_1 + 16 | 0, 148) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$10 + } + $138_1 = .5; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $130_1 = i64toi32_i32$0; + $130$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $131$hi = i64toi32_i32$0; + i64toi32_i32$0 = $130$hi; + i64toi32_i32$0 = $131$hi; + $388_1 = i64toi32_i32$1; + i64toi32_i32$0 = $130$hi; + i64toi32_i32$2 = $130_1; + i64toi32_i32$1 = $131$hi; + i64toi32_i32$3 = $388_1; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$0 = 0; + $140_1 = +(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$5 | 0) + $138_1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3202(+($140_1 / (+(i64toi32_i32$5 >>> 0) + 4294967296.0 * +(i64toi32_i32$2 | 0) + $138_1)))), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + label$11 : { + if (!(+HEAPF64[($5_1 + 8 | 0) >> 3] <= +(0 | 0) & 1 | 0)) { + break label$11 + } + HEAPF64[($5_1 + 8 | 0) >> 3] = 1.0e-06; + } + HEAPF64[((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3] = +HEAPF64[($5_1 + 8 | 0) >> 3]; + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + label$12 : { + label$13 : { + if (!(HEAP32[($5_1 + 64 | 0) >> 2] | 0)) { + break label$13 + } + $42(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + break label$12; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 72 | 0) >> 2] | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0, 3) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + label$14 : { + if (!(HEAP32[($5_1 + 64 | 0) >> 2] | 0)) { + break label$14 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + } + } + HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $120_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + global$0 = $5_1 + 80 | 0; + return $120_1 | 0; + } + + function $2857($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $20_1 = 0, $46_1 = 0, $47_1 = 0, i64toi32_i32$0 = 0, $43_1 = 0, $45_1 = 0, $53_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$4 + } + $20_1 = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 1 | 0; + break label$3; + } + $20_1 = 64; + } + HEAP32[($4_1 + 16 | 0) >> 2] = $20_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $43_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $45_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $46_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $47_1 = HEAP32[($46_1 + 8 | 0) >> 2] | 0; + HEAP32[($46_1 + 8 | 0) >> 2] = $47_1 + 1 | 0; + HEAP32[($45_1 + ($47_1 << 2 | 0) | 0) >> 2] = $43_1; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $53_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $53_1 | 0; + } + + function $2858($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $5_1 = 0, i64toi32_i32$5 = 0, $8_1 = 0, $9$hi = 0, $10$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $6_1 = 0; + $5_1 = global$0 - 16 | 0; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $8_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $10$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$1 = $10$hi; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$2 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $10$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $8_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + return $6_1 | 0; + } + + function $2859($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $48_1 = 0, $89_1 = 0, $123_1 = 0, $134_1 = 0, $145_1 = 0, $155_1 = 0, $161_1 = 0, i64toi32_i32$0 = 0, $35_1 = 0, $227_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) % (2 | 0) | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(180 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 56560; + $3289(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, 180 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 136 | 0) >> 2] = 1; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 132 | 0) >> 2] = 64; + i64toi32_i32$0 = 0; + $35_1 = $41((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 132 | 0) >> 2] | 0) << 0 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 128 | 0) >> 2] = $35_1; + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 7; + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$6 : while (1) { + $48_1 = 0; + label$7 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$7 + } + $48_1 = (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!($48_1 & 1 | 0)) { + break label$8 + } + label$9 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 56569 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 2 | 0; + continue label$6; + } + break label$6; + }; + label$10 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2860(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$11 : while (1) { + $89_1 = 0; + label$12 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$12 + } + $89_1 = (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + } + label$13 : { + if (!($89_1 & 1 | 0)) { + break label$13 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 56580 | 0) | 0 | 0) & 1 | 0)) { + break label$15 + } + $123_1 = 24; + label$16 : { + label$17 : { + label$18 : { + label$19 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $123_1 | 0) >> $123_1 | 0 | 0) != (48 | 0) & 1 | 0)) { + break label$19 + } + $134_1 = 24; + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $134_1 | 0) >> $134_1 | 0 | 0) != (49 | 0) & 1 | 0)) { + break label$19 + } + $145_1 = 24; + if ((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $145_1 | 0) >> $145_1 | 0 | 0) != (50 | 0) & 1 | 0) { + break label$18 + } + } + $155_1 = 24; + if (!(((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $155_1 | 0) >> $155_1 | 0)) { + break label$17 + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$16; + } + $161_1 = 24; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 136 | 0) >> 2] = (((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $161_1 | 0) >> $161_1 | 0) - 48 | 0; + } + break label$14; + } + label$20 : { + label$21 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 56598 | 0) | 0 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2861(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$20; + } + label$22 : { + label$23 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 56609 | 0) | 0 | 0) & 1 | 0)) { + break label$23 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2861(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$22; + } + label$24 : { + label$25 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 56569 | 0) | 0 | 0) & 1 | 0)) { + break label$25 + } + break label$24; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + } + } + } + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 2 | 0; + continue label$11; + } + break label$11; + }; + break label$3; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 7; + } + label$26 : { + if (!(HEAP32[($6_1 + 28 | 0) >> 2] | 0)) { + break label$26 + } + $2862(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + } + $227_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $227_1 | 0; + } + + function $2860($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $67_1 = 0, $20_1 = 0, $28_1 = 0, $32_1 = 0, $46_1 = 0, $59_1 = 0, $72_1 = 0, $83_1 = 0, $100_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!(((HEAPU8[(HEAP32[$4_1 >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : while (1) { + $20_1 = 24; + $28_1 = 1; + label$5 : { + if ((((HEAPU8[(HEAP32[$4_1 >> 2] | 0) >> 0] | 0) << $20_1 | 0) >> $20_1 | 0 | 0) == (32 | 0) & 1 | 0) { + break label$5 + } + $32_1 = 24; + $28_1 = (((HEAPU8[(HEAP32[$4_1 >> 2] | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0 | 0) == (9 | 0); + } + label$6 : { + if (!($28_1 & 1 | 0)) { + break label$6 + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + $46_1 = 24; + label$7 : { + if (!(((HEAPU8[(HEAP32[$4_1 >> 2] | 0) >> 0] | 0) << $46_1 | 0) >> $46_1 | 0)) { + break label$7 + } + if (!($2837(HEAP32[$4_1 >> 2] | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 148 | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$8 : while (1) { + $59_1 = 24; + $67_1 = 0; + label$9 : { + if (!((((HEAPU8[(HEAP32[$4_1 >> 2] | 0) >> 0] | 0) << $59_1 | 0) >> $59_1 | 0 | 0) != (32 | 0) & 1 | 0)) { + break label$9 + } + $72_1 = 24; + $67_1 = 0; + if (!((((HEAPU8[(HEAP32[$4_1 >> 2] | 0) >> 0] | 0) << $72_1 | 0) >> $72_1 | 0 | 0) != (9 | 0) & 1 | 0)) { + break label$9 + } + $83_1 = 24; + $67_1 = (((HEAPU8[(HEAP32[$4_1 >> 2] | 0) >> 0] | 0) << $83_1 | 0) >> $83_1 | 0 | 0) != (0 | 0); + } + label$10 : { + if (!($67_1 & 1 | 0)) { + break label$10 + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$8; + } + break label$8; + }; + continue label$3; + }; + } + $2876((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $100_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $100_1 | 0; + } + + function $2861($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $46_1 = 0, $72_1 = 0, $89_1 = 0, i64toi32_i32$0 = 0, $88_1 = 0, $207_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) > ($6_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0) | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + $46_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $46_1 + 1 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAPU8[$46_1 >> 0] | 0) & 255 | 0; + label$6 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAPU8[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$7 : while (1) { + $72_1 = 0; + label$8 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $72_1 = (((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$9 : { + if (!($72_1 & 1 | 0)) { + break label$9 + } + $88_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 6 | 0; + $89_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $89_1 + 1 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $88_1 + (((HEAPU8[$89_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$7; + } + break label$7; + }; + label$10 : { + label$11 : { + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$11 + } + if (((HEAP32[($5_1 + 8 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$11 + } + if (!(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$10 + } + } + HEAP32[($5_1 + 8 | 0) >> 2] = 65533; + } + } + label$12 : { + label$13 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$13 + } + HEAP8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + break label$12; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (HEAPU8[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 148 | 0) + ($2838(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) | 0) >> 0] | 0) & 255 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + if ($2865(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$14 + } + HEAP32[$5_1 >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + label$17 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 > (HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$17 + } + break label$15; + } + HEAP32[$5_1 >> 2] = (HEAP32[$5_1 >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + $3290((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0 | 0, (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0 | 0, ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) - (HEAP32[$5_1 >> 2] | 0) | 0) << 2 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + } + continue label$5; + }; + } + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 144 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 140 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$2; + } + HEAP32[($5_1 + 32 | 0) >> 2] = 7; + } + } + $207_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $207_1 | 0; + } + + function $2862($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2863($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $146_1 = 0, i64toi32_i32$2 = 0, $44_1 = 0, $70_1 = 0, $87_1 = 0, $162_1 = 0, $181_1 = 0, $191_1 = 0, $210_1 = 0, $222_1 = 0, $232_1 = 0, $244_1 = 0, $256_1 = 0, $268_1 = 0, $278_1 = 0, $307_1 = 0, $312_1 = 0, $489$hi = 0, $490$hi = 0, i64toi32_i32$3 = 0, $50_1 = 0, $362_1 = 0, $376_1 = 0, $402_1 = 0, $419_1 = 0, $86_1 = 0, $161_1 = 0, $180_1 = 0, $190_1 = 0, $209_1 = 0, $221_1 = 0, $231_1 = 0, $243_1 = 0, $255_1 = 0, $267_1 = 0, $277_1 = 0, $306_1 = 0, $311_1 = 0, $335_1 = 0, $418_1 = 0, $486_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + HEAP32[($8_1 + 48 | 0) >> 2] = 0; + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = (HEAP32[($8_1 + 64 | 0) >> 2] | 0) + (HEAP32[($8_1 + 60 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 132 | 0) >> 2] | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 28 | 0) >> 2] | 0) - 6 | 0) | 0; + label$1 : { + label$2 : while (1) { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + if (HEAP32[($8_1 + 48 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + label$7 : while (1) { + label$8 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($8_1 + 40 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + break label$1; + } + label$9 : { + label$10 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$10 + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) - (HEAP32[($8_1 + 64 | 0) >> 2] | 0) | 0; + $44_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $44_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[$44_1 >> 0] | 0) & 255 | 0; + label$11 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$11 + } + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$12 : while (1) { + $70_1 = 0; + label$13 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + $70_1 = (((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$14 : { + if (!($70_1 & 1 | 0)) { + break label$14 + } + $86_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) << 6 | 0; + $87_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $87_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $86_1 + (((HEAPU8[$87_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$12; + } + break label$12; + }; + label$15 : { + label$16 : { + if ((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$16 + } + if (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$16 + } + if (!(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$15 + } + } + HEAP32[($8_1 + 20 | 0) >> 2] = 65533; + } + } + label$17 : { + if (!($2864(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$17 + } + break label$5; + } + break label$9; + } + label$18 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + ((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) - (HEAP32[($8_1 + 64 | 0) >> 2] | 0) | 0; + break label$4; + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + continue label$7; + }; + } + break label$1; + } + $146_1 = 0; + break label$3; + } + $146_1 = 1; + } + label$19 : while (1) { + label$20 : { + label$21 : { + switch ($146_1 | 0) { + case 0: + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2840(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!(HEAP32[($8_1 + 20 | 0) >> 2] | 0)) { + break label$23 + } + label$24 : { + label$25 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$25 + } + $161_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $162_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $162_1 + 1 | 0; + HEAP8[$162_1 >> 0] = $161_1; + break label$24; + } + label$26 : { + label$27 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 2048 >>> 0 & 1 | 0)) { + break label$27 + } + $180_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 31 | 0) & 255 | 0) + 192 | 0; + $181_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $181_1 + 1 | 0; + HEAP8[$181_1 >> 0] = $180_1; + $190_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $191_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $191_1 + 1 | 0; + HEAP8[$191_1 >> 0] = $190_1; + break label$26; + } + label$28 : { + label$29 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 65536 >>> 0 & 1 | 0)) { + break label$29 + } + $209_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 15 | 0) & 255 | 0) + 224 | 0; + $210_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $210_1 + 1 | 0; + HEAP8[$210_1 >> 0] = $209_1; + $221_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $222_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $222_1 + 1 | 0; + HEAP8[$222_1 >> 0] = $221_1; + $231_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $232_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $232_1 + 1 | 0; + HEAP8[$232_1 >> 0] = $231_1; + break label$28; + } + $243_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 18 | 0) & 7 | 0) & 255 | 0) + 240 | 0; + $244_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $244_1 + 1 | 0; + HEAP8[$244_1 >> 0] = $243_1; + $255_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $256_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $256_1 + 1 | 0; + HEAP8[$256_1 >> 0] = $255_1; + $267_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $268_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $268_1 + 1 | 0; + HEAP8[$268_1 >> 0] = $267_1; + $277_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $278_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $278_1 + 1 | 0; + HEAP8[$278_1 >> 0] = $277_1; + } + } + } + } + break label$20; + default: + break label$21; + }; + } + label$30 : { + label$31 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (65 | 0) & 1 | 0)) { + break label$31 + } + if (!(((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) <= (90 | 0) & 1 | 0)) { + break label$31 + } + $306_1 = ((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 32 | 0; + $307_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $307_1 + 1 | 0; + HEAP8[$307_1 >> 0] = $306_1; + break label$30; + } + $311_1 = HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0; + $312_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $312_1 + 1 | 0; + HEAP8[$312_1 >> 0] = $311_1; + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($8_1 + 8 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) - (HEAP32[($8_1 + 64 | 0) >> 2] | 0) | 0; + label$32 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0) >>> 0 < (HEAP32[($8_1 + 40 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$32 + } + label$33 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0) >>> 0 > (HEAP32[($8_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$33 + } + $335_1 = 0; + i64toi32_i32$1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $489$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $490$hi = i64toi32_i32$0; + i64toi32_i32$0 = $489$hi; + i64toi32_i32$0 = $490$hi; + i64toi32_i32$0 = $489$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $490$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $50_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $50_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $41($50_1 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$34 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) == ($335_1 | 0) & 1 | 0)) { + break label$34 + } + HEAP32[($8_1 + 48 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 16 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0) | 0) | 0; + $3288(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $42(HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 128 | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + $362_1 = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) << 1 | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $362_1; + HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 132 | 0) >> 2] = $362_1; + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 28 | 0) >> 2] | 0) - 6 | 0) | 0; + } + label$35 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$35 + } + $376_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $376_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[$376_1 >> 0] | 0) & 255 | 0; + label$36 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$36 + } + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$37 : while (1) { + $402_1 = 0; + label$38 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$38 + } + $402_1 = (((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$39 : { + if (!($402_1 & 1 | 0)) { + break label$39 + } + $418_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) << 6 | 0; + $419_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $419_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $418_1 + (((HEAPU8[$419_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$37; + } + break label$37; + }; + label$40 : { + label$41 : { + if ((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$41 + } + if (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$41 + } + if (!(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$40 + } + } + HEAP32[($8_1 + 20 | 0) >> 2] = 65533; + } + } + label$42 : { + label$43 : { + if ($2864(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0) { + break label$43 + } + if (!($2865(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$42 + } + } + $146_1 = 0; + continue label$19; + } + break label$32; + } + label$44 : { + if ((HEAPU8[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + ((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$44 + } + break label$32; + } + $146_1 = 1; + continue label$19; + } + break label$19; + }; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 72 | 0) >> 2] | 0, 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0, (HEAP32[($8_1 + 16 | 0) >> 2] | 0) - (HEAP32[($8_1 + 32 | 0) >> 2] | 0) | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + continue label$2; + }; + } + label$45 : { + if (!((HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$45 + } + HEAP32[($8_1 + 48 | 0) >> 2] = 0; + } + $486_1 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + global$0 = $8_1 + 80 | 0; + return $486_1 | 0; + } + + function $2864($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $17_1 = ((HEAPU8[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 148 | 0) + ($2838(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) | 0) >> 0] | 0) & 255 | 0) ^ ($2877(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $17_1 | 0; + } + + function $2865($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $35_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 134389727; + HEAP32[$3_1 >> 2] = 221688; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (768 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) > (817 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (800 | 0) & 1 | 0)) { + break label$5 + } + $35_1 = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) & (1 << ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - 768 | 0) | 0) | 0; + break label$4; + } + $35_1 = (HEAP32[$3_1 >> 2] | 0) & (1 << (((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - 768 | 0) - 32 | 0) | 0) | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $35_1; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2866($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $31_1 = 0, $91_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) % (2 | 0) | 0)) { + break label$2 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(128 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 7; + break label$3; + } + $3289(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, 128 | 0) | 0; + $3288(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, 80384 | 0, 128 | 0) | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = 0; + label$5 : while (1) { + $31_1 = 0; + label$6 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$6 + } + $31_1 = (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + label$7 : { + if (!($31_1 & 1 | 0)) { + break label$7 + } + HEAP32[$6_1 >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 56598 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + $2867(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, 1 | 0); + break label$8; + } + label$10 : { + label$11 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 56609 | 0) | 0 | 0) & 1 | 0)) { + break label$11 + } + $2867(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, 0 | 0); + break label$10; + } + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + } + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 2 | 0; + continue label$5; + } + break label$5; + }; + label$12 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$12 + } + $2868(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + } + } + } + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + $91_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $91_1 | 0; + } + + function $2867($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $23_1 = 0, $34_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[$5_1 >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $23_1 = 24; + label$3 : { + if ((((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[$5_1 >> 2] | 0) | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0) & 128 | 0) { + break label$3 + } + $34_1 = 24; + HEAP8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[$5_1 >> 2] | 0) | 0) >> 0] | 0) << $34_1 | 0) >> $34_1 | 0) | 0) >> 0] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + HEAP32[$5_1 >> 2] = (HEAP32[$5_1 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function $2868($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2869($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, $13_1 = 0, $24_1 = 0, $41_1 = 0, $47_1 = 0, $52_1 = 0, $59_1 = 0, $94_1 = 0, $100_1 = 0, $105_1 = 0, $112_1 = 0, $200$hi = 0, $201$hi = 0, i64toi32_i32$3 = 0, $26_1 = 0, $149_1 = 0, $197_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 128 | 0; + global$0 = $8_1; + $13_1 = 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 112 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 108 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 104 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 100 | 0) >> 2] = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 96 | 0) >> 2] = $13_1; + HEAP32[($8_1 + 88 | 0) >> 2] = $13_1; + HEAP32[($8_1 + 12 | 0) >> 2] = 64; + HEAP32[($8_1 + 8 | 0) >> 2] = $8_1 + 16 | 0; + HEAP32[($8_1 + 4 | 0) >> 2] = HEAP32[($8_1 + 100 | 0) >> 2] | 0; + label$1 : while (1) { + $24_1 = 0; + label$2 : { + if (!((HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $24_1 = (HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($24_1 & 1 | 0)) { + break label$3 + } + label$4 : while (1) { + $41_1 = 0; + label$5 : { + if (!((HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $47_1 = 24; + $52_1 = 0; + label$6 : { + if ((((HEAPU8[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + (HEAP32[($8_1 + 88 | 0) >> 2] | 0) | 0) >> 0] | 0) << $47_1 | 0) >> $47_1 | 0) & 128 | 0) { + break label$6 + } + $59_1 = 24; + $52_1 = ((HEAPU8[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + (HEAP32[($8_1 + 88 | 0) >> 2] | 0) | 0) >> 0] | 0) << $59_1 | 0) >> $59_1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + $41_1 = $52_1; + } + label$7 : { + if (!($41_1 & 1 | 0)) { + break label$7 + } + HEAP32[($8_1 + 88 | 0) >> 2] = (HEAP32[($8_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + label$8 : { + if (!((HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$3; + } + HEAP32[($8_1 + 92 | 0) >> 2] = (HEAP32[($8_1 + 88 | 0) >> 2] | 0) + 1 | 0; + label$9 : while (1) { + $94_1 = 0; + label$10 : { + if (!((HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $100_1 = 24; + $105_1 = 1; + label$11 : { + if ((((HEAPU8[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + (HEAP32[($8_1 + 92 | 0) >> 2] | 0) | 0) >> 0] | 0) << $100_1 | 0) >> $100_1 | 0) & 128 | 0) { + break label$11 + } + $112_1 = 24; + $105_1 = ((HEAPU8[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + (HEAP32[($8_1 + 92 | 0) >> 2] | 0) | 0) >> 0] | 0) << $112_1 | 0) >> $112_1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + $94_1 = $105_1; + } + label$12 : { + if (!($94_1 & 1 | 0)) { + break label$12 + } + HEAP32[($8_1 + 92 | 0) >> 2] = (HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + HEAP32[$8_1 >> 2] = (HEAP32[($8_1 + 92 | 0) >> 2] | 0) - (HEAP32[($8_1 + 88 | 0) >> 2] | 0) | 0; + label$13 : { + if (!((HEAP32[$8_1 >> 2] | 0 | 0) > (HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) != ($8_1 + 16 | 0 | 0) & 1 | 0)) { + break label$14 + } + $42(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0); + } + $149_1 = 0; + i64toi32_i32$1 = HEAP32[$8_1 >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $200$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $201$hi = i64toi32_i32$0; + i64toi32_i32$0 = $200$hi; + i64toi32_i32$0 = $201$hi; + i64toi32_i32$0 = $200$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $201$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $26_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $26_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $41($26_1 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) == ($149_1 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($8_1 + 96 | 0) >> 2] = 7; + break label$3; + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[$8_1 >> 2] | 0) << 1 | 0; + } + $2870(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + (HEAP32[($8_1 + 88 | 0) >> 2] | 0) | 0 | 0, HEAP32[$8_1 >> 2] | 0 | 0); + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 120 | 0) >> 2] | 0, 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0, HEAP32[$8_1 >> 2] | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 88 | 0) >> 2] = (HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$16 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) != ($8_1 + 16 | 0 | 0) & 1 | 0)) { + break label$16 + } + $42(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0); + } + label$17 : { + if (!((HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($8_1 + 96 | 0) >> 2] = 0; + } + $197_1 = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + global$0 = $8_1 + 128 | 0; + return $197_1 | 0; + } + + function $2870($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $20_1 = 0, $30_1 = 0, $39_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[($5_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0; + $20_1 = 24; + label$3 : { + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $20_1 | 0) >> $20_1 | 0 | 0) >= (65 | 0) & 1 | 0)) { + break label$3 + } + $30_1 = 24; + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) <= (90 | 0) & 1 | 0)) { + break label$3 + } + $39_1 = 24; + HEAP8[($5_1 + 15 | 0) >> 0] = (((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0) + 32 | 0; + } + HEAP8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[($5_1 + 15 | 0) >> 0] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function $2871($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $51_1 = 0, $58_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 12 | 0) >> 2] = 41992; + label$1 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) > ($7_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(144 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $3289(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, 144 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0, $6_1 + 16 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + HEAP32[($6_1 + 24 | 0) >> 2] = 7; + } + label$4 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + $51_1 = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) - 1 | 0; + break label$5; + } + $51_1 = 0; + } + HEAP32[($6_1 + 8 | 0) >> 2] = $51_1; + label$7 : { + label$8 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$8 + } + $58_1 = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0; + break label$7; + } + $58_1 = 0; + } + HEAP32[($6_1 + 4 | 0) >> 2] = $58_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 16 | 0) >> 2] | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 12 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$9 : { + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$9 + } + $2872(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $75_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $75_1 | 0; + } + + function $2872($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0); + } + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2873($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $26_1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 16 | 0; + $26_1 = FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, $8_1 + 8 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0, 149) | 0; + global$0 = $8_1 + 48 | 0; + return $26_1 | 0; + } + + function $2874($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $145_1 = 0, $26_1 = 0, $49_1 = 0, $55_1 = 0, $65_1 = 0, $75_1 = 0, $84_1 = 0, $93_1 = 0, $112_1 = 0, $123_1 = 0, $155_1 = 0, $195_1 = 0, $210_1 = 0, $111_1 = 0, $246_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if ((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) > (64 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$3 + } + } + break label$2; + } + $26_1 = $8_1 + 8 | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $3288(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $2878(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, $26_1 | 0); + label$5 : { + if (!($2879(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, $26_1 | 0) | 0)) { + break label$5 + } + label$6 : { + if ($2880(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, $8_1 + 8 | 0 | 0) | 0) { + break label$6 + } + HEAP8[($8_1 + 7 | 0) >> 0] = HEAPU8[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0; + $49_1 = 24; + label$7 : { + label$8 : { + if ($2881(((HEAPU8[($8_1 + 7 | 0) >> 0] | 0) << $49_1 | 0) >> $49_1 | 0 | 0, 0 | 0) | 0) { + break label$8 + } + $55_1 = 24; + if (!((((HEAPU8[($8_1 + 7 | 0) >> 0] | 0) << $55_1 | 0) >> $55_1 | 0 | 0) != (108 | 0) & 1 | 0)) { + break label$8 + } + $65_1 = 24; + if (!((((HEAPU8[($8_1 + 7 | 0) >> 0] | 0) << $65_1 | 0) >> $65_1 | 0 | 0) != (115 | 0) & 1 | 0)) { + break label$8 + } + $75_1 = 24; + if (!((((HEAPU8[($8_1 + 7 | 0) >> 0] | 0) << $75_1 | 0) >> $75_1 | 0 | 0) != (122 | 0) & 1 | 0)) { + break label$8 + } + $84_1 = 24; + $93_1 = 24; + if (!((((HEAPU8[($8_1 + 7 | 0) >> 0] | 0) << $84_1 | 0) >> $84_1 | 0 | 0) == (((HEAPU8[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 2 | 0) | 0) >> 0] | 0) << $93_1 | 0) >> $93_1 | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($8_1 + 8 | 0) >> 2] = (HEAP32[($8_1 + 8 | 0) >> 2] | 0) + -1 | 0; + break label$7; + } + label$9 : { + if (!($2882(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + if (!($2883(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + $111_1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + $112_1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = $112_1 + 1 | 0; + HEAP8[($111_1 + $112_1 | 0) >> 0] = 101; + } + } + } + } + $123_1 = 24; + label$10 : { + if (!((((HEAPU8[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $123_1 | 0) >> $123_1 | 0 | 0) == (121 | 0) & 1 | 0)) { + break label$10 + } + if (!($2884(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0 | 0) | 0)) { + break label$10 + } + HEAP8[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] = 105; + } + $145_1 = $8_1 + 8 | 0; + $2885(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, $145_1 | 0) | 0; + $2886(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, $145_1 | 0) | 0; + $2887(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, $145_1 | 0) | 0; + $155_1 = 24; + label$11 : { + if (!((((HEAPU8[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $155_1 | 0) >> $155_1 | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if ($2888(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0 | 0) | 0) { + break label$13 + } + if (!($2882(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0 | 0) | 0)) { + break label$12 + } + if ($2883(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0 | 0) | 0) { + break label$12 + } + } + HEAP32[($8_1 + 8 | 0) >> 2] = (HEAP32[($8_1 + 8 | 0) >> 2] | 0) + -1 | 0; + } + } + label$14 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$14 + } + $195_1 = 24; + if (!((((HEAPU8[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $195_1 | 0) >> $195_1 | 0 | 0) == (108 | 0) & 1 | 0)) { + break label$14 + } + $210_1 = 24; + if (!((((HEAPU8[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 2 | 0) | 0) >> 0] | 0) << $210_1 | 0) >> $210_1 | 0 | 0) == (108 | 0) & 1 | 0)) { + break label$14 + } + if (!($2888(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0 | 0) | 0)) { + break label$14 + } + HEAP32[($8_1 + 8 | 0) >> 2] = (HEAP32[($8_1 + 8 | 0) >> 2] | 0) + -1 | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0](HEAP32[(HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 2] | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0](HEAP32[(HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 2] | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + $246_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $246_1 | 0; + } + + function $2875($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $681_1 = 0, $22_1 = 0, $48_1 = 0, $65_1 = 0, $124_1 = 0, $143_1 = 0, $153_1 = 0, $172_1 = 0, $184_1 = 0, $194_1 = 0, $206_1 = 0, $218_1 = 0, $230_1 = 0, $240_1 = 0, $244_1 = 0, $270_1 = 0, $287_1 = 0, $345_1 = 0, $364_1 = 0, $374_1 = 0, $393_1 = 0, $405_1 = 0, $415_1 = 0, $427_1 = 0, $439_1 = 0, $451_1 = 0, $461_1 = 0, $465_1 = 0, $491_1 = 0, $508_1 = 0, $559_1 = 0, $578_1 = 0, $588_1 = 0, $607_1 = 0, $619_1 = 0, $629_1 = 0, $641_1 = 0, $653_1 = 0, $665_1 = 0, $675_1 = 0, $64_1 = 0, $123_1 = 0, $142_1 = 0, $152_1 = 0, $171_1 = 0, $183_1 = 0, $193_1 = 0, $205_1 = 0, $217_1 = 0, $229_1 = 0, $239_1 = 0, $286_1 = 0, $344_1 = 0, $363_1 = 0, $373_1 = 0, $392_1 = 0, $404_1 = 0, $414_1 = 0, $426_1 = 0, $438_1 = 0, $450_1 = 0, $460_1 = 0, $507_1 = 0, $558_1 = 0, $577_1 = 0, $587_1 = 0, $606_1 = 0, $618_1 = 0, $628_1 = 0, $640_1 = 0, $652_1 = 0, $664_1 = 0, $674_1 = 0, $694_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 96 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 68 | 0) >> 2] = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + HEAP32[($8_1 + 64 | 0) >> 2] = 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[($8_1 + 80 | 0) >> 2] | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) + (HEAP32[($8_1 + 76 | 0) >> 2] | 0) | 0; + label$1 : while (1) { + HEAP32[($8_1 + 16 | 0) >> 2] = $8_1 + 32 | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) - (HEAP32[($8_1 + 80 | 0) >> 2] | 0) | 0; + $22_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $22_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[$22_1 >> 0] | 0) & 255 | 0; + label$2 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$3 : while (1) { + $48_1 = 0; + label$4 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $48_1 = (((HEAPU8[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$5 : { + if (!($48_1 & 1 | 0)) { + break label$5 + } + $64_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) << 6 | 0; + $65_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $65_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $64_1 + (((HEAPU8[$65_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$3; + } + break label$3; + }; + label$6 : { + label$7 : { + if ((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$7 + } + if (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$7 + } + if (!(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[($8_1 + 20 | 0) >> 2] = 65533; + } + } + label$8 : { + label$9 : { + if (HEAP32[($8_1 + 20 | 0) >> 2] | 0) { + break label$9 + } + break label$8; + } + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + label$10 : { + label$11 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0) >>> 0 < (HEAP32[($8_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + label$12 : { + if (!(HEAP32[(HEAP32[($8_1 + 68 | 0) >> 2] | 0) >> 2] | 0)) { + break label$12 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2840(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$13 : { + label$14 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$14 + } + $123_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $124_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $124_1 + 1 | 0; + HEAP8[$124_1 >> 0] = $123_1; + break label$13; + } + label$15 : { + label$16 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 2048 >>> 0 & 1 | 0)) { + break label$16 + } + $142_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 31 | 0) & 255 | 0) + 192 | 0; + $143_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $143_1 + 1 | 0; + HEAP8[$143_1 >> 0] = $142_1; + $152_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $153_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $153_1 + 1 | 0; + HEAP8[$153_1 >> 0] = $152_1; + break label$15; + } + label$17 : { + label$18 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 65536 >>> 0 & 1 | 0)) { + break label$18 + } + $171_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 15 | 0) & 255 | 0) + 224 | 0; + $172_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $172_1 + 1 | 0; + HEAP8[$172_1 >> 0] = $171_1; + $183_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $184_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $184_1 + 1 | 0; + HEAP8[$184_1 >> 0] = $183_1; + $193_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $194_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $194_1 + 1 | 0; + HEAP8[$194_1 >> 0] = $193_1; + break label$17; + } + $205_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 18 | 0) & 7 | 0) & 255 | 0) + 240 | 0; + $206_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $206_1 + 1 | 0; + HEAP8[$206_1 >> 0] = $205_1; + $217_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $218_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $218_1 + 1 | 0; + HEAP8[$218_1 >> 0] = $217_1; + $229_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $230_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $230_1 + 1 | 0; + HEAP8[$230_1 >> 0] = $229_1; + $239_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $240_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $240_1 + 1 | 0; + HEAP8[$240_1 >> 0] = $239_1; + } + } + } + $244_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $244_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[$244_1 >> 0] | 0) & 255 | 0; + label$19 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$19 + } + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$20 : while (1) { + $270_1 = 0; + label$21 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + $270_1 = (((HEAPU8[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$22 : { + if (!($270_1 & 1 | 0)) { + break label$22 + } + $286_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) << 6 | 0; + $287_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $287_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $286_1 + (((HEAPU8[$287_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$20; + } + break label$20; + }; + label$23 : { + label$24 : { + if ((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$24 + } + if (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$24 + } + if (!(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$23 + } + } + HEAP32[($8_1 + 20 | 0) >> 2] = 65533; + } + } + label$25 : { + if (HEAP32[($8_1 + 20 | 0) >> 2] | 0) { + break label$25 + } + break label$8; + } + break label$10; + } + break label$8; + } + label$26 : { + label$27 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0) >>> 0 < (HEAP32[($8_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$27 + } + label$28 : { + if (!(HEAP32[(HEAP32[($8_1 + 68 | 0) >> 2] | 0) >> 2] | 0)) { + break label$28 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2840(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$29 : { + label$30 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$30 + } + $344_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $345_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $345_1 + 1 | 0; + HEAP8[$345_1 >> 0] = $344_1; + break label$29; + } + label$31 : { + label$32 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 2048 >>> 0 & 1 | 0)) { + break label$32 + } + $363_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 31 | 0) & 255 | 0) + 192 | 0; + $364_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $364_1 + 1 | 0; + HEAP8[$364_1 >> 0] = $363_1; + $373_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $374_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $374_1 + 1 | 0; + HEAP8[$374_1 >> 0] = $373_1; + break label$31; + } + label$33 : { + label$34 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 65536 >>> 0 & 1 | 0)) { + break label$34 + } + $392_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 15 | 0) & 255 | 0) + 224 | 0; + $393_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $393_1 + 1 | 0; + HEAP8[$393_1 >> 0] = $392_1; + $404_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $405_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $405_1 + 1 | 0; + HEAP8[$405_1 >> 0] = $404_1; + $414_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $415_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $415_1 + 1 | 0; + HEAP8[$415_1 >> 0] = $414_1; + break label$33; + } + $426_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 18 | 0) & 7 | 0) & 255 | 0) + 240 | 0; + $427_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $427_1 + 1 | 0; + HEAP8[$427_1 >> 0] = $426_1; + $438_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $439_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $439_1 + 1 | 0; + HEAP8[$439_1 >> 0] = $438_1; + $450_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $451_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $451_1 + 1 | 0; + HEAP8[$451_1 >> 0] = $450_1; + $460_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $461_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $461_1 + 1 | 0; + HEAP8[$461_1 >> 0] = $460_1; + } + } + } + $465_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $465_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[$465_1 >> 0] | 0) & 255 | 0; + label$35 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$35 + } + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$36 : while (1) { + $491_1 = 0; + label$37 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$37 + } + $491_1 = (((HEAPU8[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$38 : { + if (!($491_1 & 1 | 0)) { + break label$38 + } + $507_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) << 6 | 0; + $508_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $508_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $507_1 + (((HEAPU8[$508_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$36; + } + break label$36; + }; + label$39 : { + label$40 : { + if ((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$40 + } + if (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$40 + } + if (!(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$39 + } + } + HEAP32[($8_1 + 20 | 0) >> 2] = 65533; + } + } + label$41 : { + if (HEAP32[($8_1 + 20 | 0) >> 2] | 0) { + break label$41 + } + break label$8; + } + label$42 : { + if (!(HEAP32[(HEAP32[($8_1 + 68 | 0) >> 2] | 0) >> 2] | 0)) { + break label$42 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2840(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$43 : { + label$44 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$44 + } + $558_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $559_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $559_1 + 1 | 0; + HEAP8[$559_1 >> 0] = $558_1; + break label$43; + } + label$45 : { + label$46 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 2048 >>> 0 & 1 | 0)) { + break label$46 + } + $577_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 31 | 0) & 255 | 0) + 192 | 0; + $578_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $578_1 + 1 | 0; + HEAP8[$578_1 >> 0] = $577_1; + $587_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $588_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $588_1 + 1 | 0; + HEAP8[$588_1 >> 0] = $587_1; + break label$45; + } + label$47 : { + label$48 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 65536 >>> 0 & 1 | 0)) { + break label$48 + } + $606_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 15 | 0) & 255 | 0) + 224 | 0; + $607_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $607_1 + 1 | 0; + HEAP8[$607_1 >> 0] = $606_1; + $618_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $619_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $619_1 + 1 | 0; + HEAP8[$619_1 >> 0] = $618_1; + $628_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $629_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $629_1 + 1 | 0; + HEAP8[$629_1 >> 0] = $628_1; + break label$47; + } + $640_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 18 | 0) & 7 | 0) & 255 | 0) + 240 | 0; + $641_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $641_1 + 1 | 0; + HEAP8[$641_1 >> 0] = $640_1; + $652_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $653_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $653_1 + 1 | 0; + HEAP8[$653_1 >> 0] = $652_1; + $664_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $665_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $665_1 + 1 | 0; + HEAP8[$665_1 >> 0] = $664_1; + $674_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $675_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $675_1 + 1 | 0; + HEAP8[$675_1 >> 0] = $674_1; + } + } + } + break label$26; + } + break label$8; + } + $681_1 = $8_1 + 32 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 88 | 0) >> 2] | 0, 0, $681_1, (HEAP32[($8_1 + 16 | 0) >> 2] | 0) - $681_1 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0, ((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + (HEAP32[($8_1 + 12 | 0) >> 2] | 0) | 0) - $681_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$49 : { + if (!(HEAP32[($8_1 + 64 | 0) >> 2] | 0)) { + break label$49 + } + break label$8; + } + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + $694_1 = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + global$0 = $8_1 + 96 | 0; + return $694_1 | 0; + } + + function $2876($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $13_1 = 0, $47_1 = 0; + $4_1 = global$0 - 32 | 0; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = 76848; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (((HEAPU16[($13_1 + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) & 31 | 0) | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (((HEAPU16[($13_1 + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) >> 5 | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + label$3 : while (1) { + $47_1 = 0; + label$4 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$4 + } + $47_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + label$5 : { + if (!($47_1 & 1 | 0)) { + break label$5 + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] = 0; + return; + } + + function $2877($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0) - 1 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$5 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$6; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 1 | 0; + } + continue label$4; + }; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2878($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0, $29_1 = 0, $51_1 = 0, $66_1 = 0, $88_1 = 0, $111_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $14_1 = 24; + label$1 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $14_1 | 0) >> $14_1 | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$1 + } + $29_1 = 24; + label$2 : { + label$3 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 2 | 0) | 0) >> 0] | 0) << $29_1 | 0) >> $29_1 | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$7 + } + $51_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 4 | 0) | 0) >> 0] | 0) << $51_1 | 0) >> $51_1 | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$7 + } + $66_1 = 24; + if ((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 3 | 0) | 0) >> 0] | 0) << $66_1 | 0) >> $66_1 | 0 | 0) == (115 | 0) & 1 | 0) { + break label$6 + } + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$5 + } + $88_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 3 | 0) | 0) >> 0] | 0) << $88_1 | 0) >> $88_1 | 0 | 0) == (105 | 0) & 1 | 0)) { + break label$5 + } + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 2 | 0; + break label$4; + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 1 | 0; + } + break label$2; + } + $111_1 = 24; + label$8 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 2 | 0) | 0) >> 0] | 0) << $111_1 | 0) >> $111_1 | 0 | 0) != (115 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 1 | 0; + } + } + } + return; + } + + function $2879($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $5_1 = 0, $6_1 = 0, $7_1 = 0, $118_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $15_1 = (HEAP8[(((HEAP32[$4_1 >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0) + -2 | 0) >> 0] | 0) + -101 | 0; + label$1 : { + label$2 : { + switch ($15_1 | 0) { + case 0: + label$4 : { + label$5 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$5 + } + if (!((0 | 0) == ($3228(56620 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$6 + } + $5_1 = 0; + $6_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0; + $7_1 = HEAPU8[($5_1 + 48002 | 0) >> 0] | 0 | ((HEAPU8[($5_1 + 48003 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$6_1 >> 0] = $7_1; + HEAP8[($6_1 + 1 | 0) >> 0] = $7_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) + 2 | 0; + } + break label$4; + } + label$7 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$7 + } + if (!((0 | 0) == ($3228(56624 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0 | 0, 2 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!($2884(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 2 | 0 | 0) | 0)) { + break label$8 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 2 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + } + } + } + break label$1; + case 9: + break label$2; + default: + break label$1; + }; + } + label$9 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$9 + } + if (!((0 | 0) == ($3228(56627 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!($2884(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$10 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + } + } + } + $118_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $118_1 | 0; + } + + function $2880($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $43_1 = 0, $46_1 = 0, $81_1 = 0, $84_1 = 0, $119_1 = 0, $122_1 = 0, $15_1 = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $131_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $15_1 = (HEAP8[(((HEAP32[$4_1 >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0) + -2 | 0) >> 0] | 0) + -97 | 0; + label$1 : { + label$2 : { + switch ($15_1 | 0) { + case 0: + label$5 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$5 + } + if (!((0 | 0) == ($3228(56631 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0 | 0, 2 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + $43_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0; + $46_1 = 0; + HEAP8[($43_1 + 2 | 0) >> 0] = HEAPU8[($46_1 + 48017 | 0) >> 0] | 0; + $11_1 = HEAPU8[($46_1 + 48015 | 0) >> 0] | 0 | ((HEAPU8[($46_1 + 48016 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$43_1 >> 0] = $11_1; + HEAP8[($43_1 + 1 | 0) >> 0] = $11_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) + 3 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + } + break label$1; + case 1: + label$6 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$6 + } + if (!((0 | 0) == ($3228(56634 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0 | 0, 2 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + $81_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0; + $84_1 = 0; + HEAP8[($81_1 + 2 | 0) >> 0] = HEAPU8[($84_1 + 48024 | 0) >> 0] | 0; + $12_1 = HEAPU8[($84_1 + 48022 | 0) >> 0] | 0 | ((HEAPU8[($84_1 + 48023 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$81_1 >> 0] = $12_1; + HEAP8[($81_1 + 1 | 0) >> 0] = $12_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) + 3 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + } + break label$1; + case 8: + break label$2; + default: + break label$1; + }; + } + label$7 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$7 + } + if (!((0 | 0) == ($3228(56637 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0 | 0, 2 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + $119_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0; + $122_1 = 0; + HEAP8[($119_1 + 2 | 0) >> 0] = HEAPU8[($122_1 + 48031 | 0) >> 0] | 0; + $13_1 = HEAPU8[($122_1 + 48029 | 0) >> 0] | 0 | ((HEAPU8[($122_1 + 48030 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$119_1 >> 0] = $13_1; + HEAP8[($119_1 + 1 | 0) >> 0] = $13_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) + 3 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + } + } + $131_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $131_1 | 0; + } + + function $2881($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $8_1 = 0, $20_1 = 0, $31_1 = 0, $42_1 = 0, $53_1 = 0, $63_1 = 0, $66_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP8[($4_1 + 15 | 0) >> 0] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = 24; + $16_1 = 1; + label$1 : { + if ((((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) == (97 | 0) & 1 | 0) { + break label$1 + } + $20_1 = 24; + $16_1 = 1; + if ((((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) << $20_1 | 0) >> $20_1 | 0 | 0) == (101 | 0) & 1 | 0) { + break label$1 + } + $31_1 = 24; + $16_1 = 1; + if ((((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) << $31_1 | 0) >> $31_1 | 0 | 0) == (105 | 0) & 1 | 0) { + break label$1 + } + $42_1 = 24; + $16_1 = 1; + if ((((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0 | 0) == (111 | 0) & 1 | 0) { + break label$1 + } + $53_1 = 24; + $16_1 = 1; + if ((((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) << $53_1 | 0) >> $53_1 | 0 | 0) == (117 | 0) & 1 | 0) { + break label$1 + } + $63_1 = 0; + label$2 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $66_1 = 24; + $63_1 = (((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) << $66_1 | 0) >> $66_1 | 0 | 0) == (121 | 0); + } + $16_1 = $63_1; + } + return $16_1 & 1 | 0 | 0; + } + + function $2882($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2890(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[$4_1 >> 2] | 0)) { + break label$2 + } + if (!((0 | 0) == ($2890((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - (HEAP32[$4_1 >> 2] | 0) | 0 | 0, 1 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $26_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $26_1 | 0; + } + + function $2883($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $51_1 = 0, $12_1 = 0, $27_1 = 0, $42_1 = 0, $65_1 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + $12_1 = 24; + label$1 : { + label$2 : { + label$3 : { + if ((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $12_1 | 0) >> $12_1 | 0 | 0) == (119 | 0) & 1 | 0) { + break label$3 + } + $27_1 = 24; + if ((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $27_1 | 0) >> $27_1 | 0 | 0) == (120 | 0) & 1 | 0) { + break label$3 + } + $42_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0 | 0) == (121 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $51_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $51_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $51_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $51_1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $65_1 = 24; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (($2881(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) << $65_1 | 0) >> $65_1 | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 1 | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 7 | 0 | 0) == (5 | 0) & 1 | 0; + } + $93_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $93_1 | 0; + } + + function $2884($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $24_1 = 0, $33_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $24_1 = 24; + label$4 : { + if (!($2881(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0 | 0, (HEAP32[$4_1 >> 2] | 0 | 0) > (0 | 0) & 1 | 0 | 0) | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $33_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $33_1 | 0; + } + + function $2885($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $47_1 = 0, $50_1 = 0, $206_1 = 0, $209_1 = 0, $248_1 = 0, $251_1 = 0, $290_1 = 0, $293_1 = 0, $371_1 = 0, $374_1 = 0, $452_1 = 0, $455_1 = 0, $494_1 = 0, $497_1 = 0, $536_1 = 0, $539_1 = 0, $578_1 = 0, $581_1 = 0, $659_1 = 0, $662_1 = 0, $701_1 = 0, $704_1 = 0, $743_1 = 0, $746_1 = 0, $824_1 = 0, $827_1 = 0, $866_1 = 0, $869_1 = 0, $15_1 = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, $45_1 = 0, $46_1 = 0, $48_1 = 0, $49_1 = 0, $51_1 = 0, $52_1 = 0, $53_1 = 0, $54_1 = 0, $55_1 = 0, $56_1 = 0, $57_1 = 0, $58_1 = 0, $59_1 = 0, $60_1 = 0, $61_1 = 0, $62_1 = 0, $63_1 = 0, $64_1 = 0, $65_1 = 0, $66_1 = 0, $878_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $15_1 = (HEAP8[(((HEAP32[$4_1 >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0) + -2 | 0) >> 0] | 0) + -97 | 0; + label$1 : { + label$2 : { + switch ($15_1 | 0) { + case 0: + label$10 : { + label$11 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (7 | 0) & 1 | 0)) { + break label$11 + } + if (!((0 | 0) == ($3228(56640 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0 | 0, 7 | 0) | 0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 7 | 0 | 0) | 0)) { + break label$12 + } + $47_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0; + $50_1 = 0; + HEAP8[($47_1 + 2 | 0) >> 0] = HEAPU8[($50_1 + 48017 | 0) >> 0] | 0; + $42_1 = HEAPU8[($50_1 + 48015 | 0) >> 0] | 0 | ((HEAPU8[($50_1 + 48016 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$47_1 >> 0] = $42_1; + HEAP8[($47_1 + 1 | 0) >> 0] = $42_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) + 3 | 0; + } + break label$10; + } + label$13 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (6 | 0) & 1 | 0)) { + break label$13 + } + if (!((0 | 0) == ($3228(56648 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 6 | 0) | 0 | 0, 6 | 0) | 0 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 6 | 0 | 0) | 0)) { + break label$14 + } + $33_1 = 0; + $34_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 6 | 0) | 0; + $35_1 = HEAPU8[($33_1 + 48048 | 0) >> 0] | 0 | ((HEAPU8[($33_1 + 48049 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($33_1 + 48050 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($33_1 + 48051 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$34_1 >> 0] = $35_1; + HEAP8[($34_1 + 1 | 0) >> 0] = $35_1 >>> 8 | 0; + HEAP8[($34_1 + 2 | 0) >> 0] = $35_1 >>> 16 | 0; + HEAP8[($34_1 + 3 | 0) >> 0] = $35_1 >>> 24 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 6 | 0) + 4 | 0; + } + } + } + break label$1; + case 2: + label$15 : { + label$16 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$16 + } + if (!((0 | 0) == ($3228(56655 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$17 + } + $36_1 = 0; + $37_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0; + $38_1 = HEAPU8[($36_1 + 48058 | 0) >> 0] | 0 | ((HEAPU8[($36_1 + 48059 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($36_1 + 48060 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($36_1 + 48061 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$37_1 >> 0] = $38_1; + HEAP8[($37_1 + 1 | 0) >> 0] = $38_1 >>> 8 | 0; + HEAP8[($37_1 + 2 | 0) >> 0] = $38_1 >>> 16 | 0; + HEAP8[($37_1 + 3 | 0) >> 0] = $38_1 >>> 24 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) + 4 | 0; + } + break label$15; + } + label$18 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$18 + } + if (!((0 | 0) == ($3228(56660 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$18 + } + label$19 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$19 + } + $39_1 = 0; + $40_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0; + $41_1 = HEAPU8[($39_1 + 48068 | 0) >> 0] | 0 | ((HEAPU8[($39_1 + 48069 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($39_1 + 48070 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($39_1 + 48071 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$40_1 >> 0] = $41_1; + HEAP8[($40_1 + 1 | 0) >> 0] = $41_1 >>> 8 | 0; + HEAP8[($40_1 + 2 | 0) >> 0] = $41_1 >>> 16 | 0; + HEAP8[($40_1 + 3 | 0) >> 0] = $41_1 >>> 24 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) + 4 | 0; + } + } + } + break label$1; + case 4: + label$20 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$20 + } + if (!((0 | 0) == ($3228(56665 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$20 + } + label$21 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$21 + } + $206_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0; + $209_1 = 0; + HEAP8[($206_1 + 2 | 0) >> 0] = HEAPU8[($209_1 + 48031 | 0) >> 0] | 0; + $43_1 = HEAPU8[($209_1 + 48029 | 0) >> 0] | 0 | ((HEAPU8[($209_1 + 48030 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$206_1 >> 0] = $43_1; + HEAP8[($206_1 + 1 | 0) >> 0] = $43_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) + 3 | 0; + } + } + break label$1; + case 6: + label$22 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$22 + } + if (!((0 | 0) == ($3228(56670 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$23 + } + $248_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0; + $251_1 = 0; + HEAP8[($248_1 + 2 | 0) >> 0] = HEAPU8[($251_1 + 14198 | 0) >> 0] | 0; + $44_1 = HEAPU8[($251_1 + 14196 | 0) >> 0] | 0 | ((HEAPU8[($251_1 + 14197 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$248_1 >> 0] = $44_1; + HEAP8[($248_1 + 1 | 0) >> 0] = $44_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) + 3 | 0; + } + } + break label$1; + case 11: + label$24 : { + label$25 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$25 + } + if (!((0 | 0) == ($3228(56675 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$25 + } + label$26 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$26 + } + $290_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0; + $293_1 = 0; + HEAP8[($290_1 + 2 | 0) >> 0] = HEAPU8[($293_1 + 48024 | 0) >> 0] | 0; + $45_1 = HEAPU8[($293_1 + 48022 | 0) >> 0] | 0 | ((HEAPU8[($293_1 + 48023 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$290_1 >> 0] = $45_1; + HEAP8[($290_1 + 1 | 0) >> 0] = $45_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) + 3 | 0; + } + break label$24; + } + label$27 : { + label$28 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$28 + } + if (!((0 | 0) == ($3228(56679 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$28 + } + label$29 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$29 + } + $46_1 = 0; + $48_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0; + $49_1 = HEAPU8[($46_1 + 48092 | 0) >> 0] | 0 | ((HEAPU8[($46_1 + 48093 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$48_1 >> 0] = $49_1; + HEAP8[($48_1 + 1 | 0) >> 0] = $49_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) + 2 | 0; + } + break label$27; + } + label$30 : { + label$31 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$31 + } + if (!((0 | 0) == ($3228(56684 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$31 + } + label$32 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$32 + } + $371_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0; + $374_1 = 0; + HEAP8[($371_1 + 2 | 0) >> 0] = HEAPU8[($374_1 + 48103 | 0) >> 0] | 0; + $51_1 = HEAPU8[($374_1 + 48101 | 0) >> 0] | 0 | ((HEAPU8[($374_1 + 48102 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$371_1 >> 0] = $51_1; + HEAP8[($371_1 + 1 | 0) >> 0] = $51_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) + 3 | 0; + } + break label$30; + } + label$33 : { + label$34 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$34 + } + if (!((0 | 0) == ($3228(56690 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$34 + } + label$35 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$35 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0) >> 0] = HEAPU8[(0 + 48109 | 0) >> 0] | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) + 1 | 0; + } + break label$33; + } + label$36 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$36 + } + if (!((0 | 0) == ($3228(56694 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$36 + } + label$37 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$37 + } + $452_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0; + $455_1 = 0; + HEAP8[($452_1 + 2 | 0) >> 0] = HEAPU8[($455_1 + 48119 | 0) >> 0] | 0; + $52_1 = HEAPU8[($455_1 + 48117 | 0) >> 0] | 0 | ((HEAPU8[($455_1 + 48118 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$452_1 >> 0] = $52_1; + HEAP8[($452_1 + 1 | 0) >> 0] = $52_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) + 3 | 0; + } + } + } + } + } + } + break label$1; + case 14: + label$38 : { + label$39 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (7 | 0) & 1 | 0)) { + break label$39 + } + if (!((0 | 0) == ($3228(56700 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0 | 0, 7 | 0) | 0 | 0) & 1 | 0)) { + break label$39 + } + label$40 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 7 | 0 | 0) | 0)) { + break label$40 + } + $494_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0; + $497_1 = 0; + HEAP8[($494_1 + 2 | 0) >> 0] = HEAPU8[($497_1 + 48031 | 0) >> 0] | 0; + $53_1 = HEAPU8[($497_1 + 48029 | 0) >> 0] | 0 | ((HEAPU8[($497_1 + 48030 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$494_1 >> 0] = $53_1; + HEAP8[($494_1 + 1 | 0) >> 0] = $53_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) + 3 | 0; + } + break label$38; + } + label$41 : { + label$42 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$42 + } + if (!((0 | 0) == ($3228(56708 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$42 + } + label$43 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$43 + } + $536_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0; + $539_1 = 0; + HEAP8[($536_1 + 2 | 0) >> 0] = HEAPU8[($539_1 + 48017 | 0) >> 0] | 0; + $54_1 = HEAPU8[($539_1 + 48015 | 0) >> 0] | 0 | ((HEAPU8[($539_1 + 48016 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$536_1 >> 0] = $54_1; + HEAP8[($536_1 + 1 | 0) >> 0] = $54_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) + 3 | 0; + } + break label$41; + } + label$44 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$44 + } + if (!((0 | 0) == ($3228(56714 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$44 + } + label$45 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$45 + } + $578_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0; + $581_1 = 0; + HEAP8[($578_1 + 2 | 0) >> 0] = HEAPU8[($581_1 + 48017 | 0) >> 0] | 0; + $55_1 = HEAPU8[($581_1 + 48015 | 0) >> 0] | 0 | ((HEAPU8[($581_1 + 48016 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$578_1 >> 0] = $55_1; + HEAP8[($578_1 + 1 | 0) >> 0] = $55_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) + 3 | 0; + } + } + } + } + break label$1; + case 18: + label$46 : { + label$47 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$47 + } + if (!((0 | 0) == ($3228(56719 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$47 + } + label$48 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$48 + } + $56_1 = 0; + $57_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0; + $58_1 = HEAPU8[($56_1 + 48092 | 0) >> 0] | 0 | ((HEAPU8[($56_1 + 48093 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$57_1 >> 0] = $58_1; + HEAP8[($57_1 + 1 | 0) >> 0] = $58_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) + 2 | 0; + } + break label$46; + } + label$49 : { + label$50 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (7 | 0) & 1 | 0)) { + break label$50 + } + if (!((0 | 0) == ($3228(56725 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0 | 0, 7 | 0) | 0 | 0) & 1 | 0)) { + break label$50 + } + label$51 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 7 | 0 | 0) | 0)) { + break label$51 + } + $659_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0; + $662_1 = 0; + HEAP8[($659_1 + 2 | 0) >> 0] = HEAPU8[($662_1 + 48156 | 0) >> 0] | 0; + $59_1 = HEAPU8[($662_1 + 48154 | 0) >> 0] | 0 | ((HEAPU8[($662_1 + 48155 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$659_1 >> 0] = $59_1; + HEAP8[($659_1 + 1 | 0) >> 0] = $59_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) + 3 | 0; + } + break label$49; + } + label$52 : { + label$53 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (7 | 0) & 1 | 0)) { + break label$53 + } + if (!((0 | 0) == ($3228(56733 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0 | 0, 7 | 0) | 0 | 0) & 1 | 0)) { + break label$53 + } + label$54 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 7 | 0 | 0) | 0)) { + break label$54 + } + $701_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0; + $704_1 = 0; + HEAP8[($701_1 + 2 | 0) >> 0] = HEAPU8[($704_1 + 48168 | 0) >> 0] | 0; + $60_1 = HEAPU8[($704_1 + 48166 | 0) >> 0] | 0 | ((HEAPU8[($704_1 + 48167 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$701_1 >> 0] = $60_1; + HEAP8[($701_1 + 1 | 0) >> 0] = $60_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) + 3 | 0; + } + break label$52; + } + label$55 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (7 | 0) & 1 | 0)) { + break label$55 + } + if (!((0 | 0) == ($3228(56741 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0 | 0, 7 | 0) | 0 | 0) & 1 | 0)) { + break label$55 + } + label$56 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 7 | 0 | 0) | 0)) { + break label$56 + } + $743_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0; + $746_1 = 0; + HEAP8[($743_1 + 2 | 0) >> 0] = HEAPU8[($746_1 + 48119 | 0) >> 0] | 0; + $61_1 = HEAPU8[($746_1 + 48117 | 0) >> 0] | 0 | ((HEAPU8[($746_1 + 48118 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$743_1 >> 0] = $61_1; + HEAP8[($743_1 + 1 | 0) >> 0] = $61_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) + 3 | 0; + } + } + } + } + } + break label$1; + case 19: + break label$2; + default: + break label$1; + }; + } + label$57 : { + label$58 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$58 + } + if (!((0 | 0) == ($3228(56749 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$58 + } + label$59 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$59 + } + $62_1 = 0; + $63_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0; + $64_1 = HEAPU8[($62_1 + 48092 | 0) >> 0] | 0 | ((HEAPU8[($62_1 + 48093 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$63_1 >> 0] = $64_1; + HEAP8[($63_1 + 1 | 0) >> 0] = $64_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) + 2 | 0; + } + break label$57; + } + label$60 : { + label$61 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$61 + } + if (!((0 | 0) == ($3228(56755 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$61 + } + label$62 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$62 + } + $824_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0; + $827_1 = 0; + HEAP8[($824_1 + 2 | 0) >> 0] = HEAPU8[($827_1 + 48156 | 0) >> 0] | 0; + $65_1 = HEAPU8[($827_1 + 48154 | 0) >> 0] | 0 | ((HEAPU8[($827_1 + 48155 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$824_1 >> 0] = $65_1; + HEAP8[($824_1 + 1 | 0) >> 0] = $65_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) + 3 | 0; + } + break label$60; + } + label$63 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (6 | 0) & 1 | 0)) { + break label$63 + } + if (!((0 | 0) == ($3228(56761 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 6 | 0) | 0 | 0, 6 | 0) | 0 | 0) & 1 | 0)) { + break label$63 + } + label$64 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 6 | 0 | 0) | 0)) { + break label$64 + } + $866_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 6 | 0) | 0; + $869_1 = 0; + HEAP8[($866_1 + 2 | 0) >> 0] = HEAPU8[($869_1 + 48024 | 0) >> 0] | 0; + $66_1 = HEAPU8[($869_1 + 48022 | 0) >> 0] | 0 | ((HEAPU8[($869_1 + 48023 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$866_1 >> 0] = $66_1; + HEAP8[($866_1 + 1 | 0) >> 0] = $66_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 6 | 0) + 3 | 0; + } + } + } + } + } + $878_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $878_1 | 0; + } + + function $2886($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $5_1 = 0, $6_1 = 0, $7_1 = 0, $8_1 = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $14_1 = 0, $16_1 = 0, $17_1 = 0, $263_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $15_1 = (HEAP8[(((HEAP32[$4_1 >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0) + -2 | 0) >> 0] | 0) + -97 | 0; + label$1 : { + label$2 : { + switch ($15_1 | 0) { + case 0: + label$8 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$8 + } + if (!((0 | 0) == ($3228(56768 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$9 + } + $5_1 = 0; + $6_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0; + $7_1 = HEAPU8[($5_1 + 48203 | 0) >> 0] | 0 | ((HEAPU8[($5_1 + 48204 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$6_1 >> 0] = $7_1; + HEAP8[($6_1 + 1 | 0) >> 0] = $7_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) + 2 | 0; + } + } + break label$1; + case 18: + label$10 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$10 + } + if (!((0 | 0) == ($3228(56773 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$11 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 4 | 0; + } + } + break label$1; + case 19: + label$12 : { + label$13 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$13 + } + if (!((0 | 0) == ($3228(56778 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$14 + } + $8_1 = 0; + $9_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0; + $10_1 = HEAPU8[($8_1 + 48203 | 0) >> 0] | 0 | ((HEAPU8[($8_1 + 48204 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$9_1 >> 0] = $10_1; + HEAP8[($9_1 + 1 | 0) >> 0] = $10_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) + 2 | 0; + } + break label$12; + } + label$15 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$15 + } + if (!((0 | 0) == ($3228(56784 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$15 + } + label$16 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$16 + } + $11_1 = 0; + $12_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0; + $13_1 = HEAPU8[($11_1 + 48203 | 0) >> 0] | 0 | ((HEAPU8[($11_1 + 48204 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$12_1 >> 0] = $13_1; + HEAP8[($12_1 + 1 | 0) >> 0] = $13_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) + 2 | 0; + } + } + } + break label$1; + case 20: + label$17 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$17 + } + if (!((0 | 0) == ($3228(48166 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$17 + } + label$18 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$18 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + } + break label$1; + case 21: + label$19 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$19 + } + if (!((0 | 0) == ($3228(56790 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$19 + } + label$20 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$20 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 5 | 0; + } + } + break label$1; + case 25: + break label$2; + default: + break label$1; + }; + } + label$21 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$21 + } + if (!((0 | 0) == ($3228(56796 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$21 + } + label$22 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$22 + } + $14_1 = 0; + $16_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0; + $17_1 = HEAPU8[($14_1 + 48092 | 0) >> 0] | 0 | ((HEAPU8[($14_1 + 48093 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$16_1 >> 0] = $17_1; + HEAP8[($16_1 + 1 | 0) >> 0] = $17_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) + 2 | 0; + } + } + } + $263_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $263_1 | 0; + } + + function $2887($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $587_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $15_1 = (HEAP8[(((HEAP32[$4_1 >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0) + -2 | 0) >> 0] | 0) + -97 | 0; + label$1 : { + label$2 : { + switch ($15_1 | 0) { + case 0: + label$14 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$14 + } + if (!((0 | 0) == ($3228(48092 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0 | 0, 2 | 0) | 0 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 2 | 0 | 0) | 0)) { + break label$15 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 2 | 0; + } + } + break label$1; + case 2: + label$16 : { + label$17 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$17 + } + if (!((0 | 0) == ($3228(48068 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$17 + } + label$18 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$18 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 4 | 0; + } + break label$16; + } + label$19 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$19 + } + if (!((0 | 0) == ($3228(48058 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$19 + } + label$20 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$20 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 4 | 0; + } + } + } + break label$1; + case 4: + label$21 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$21 + } + if (!((0 | 0) == ($3228(56802 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0 | 0, 2 | 0) | 0 | 0) & 1 | 0)) { + break label$21 + } + label$22 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 2 | 0 | 0) | 0)) { + break label$22 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 2 | 0; + } + } + break label$1; + case 8: + label$23 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$23 + } + if (!((0 | 0) == ($3228(48203 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0 | 0, 2 | 0) | 0 | 0) & 1 | 0)) { + break label$23 + } + label$24 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 2 | 0 | 0) | 0)) { + break label$24 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 2 | 0; + } + } + break label$1; + case 11: + label$25 : { + label$26 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$26 + } + if (!((0 | 0) == ($3228(56805 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$26 + } + label$27 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$27 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 4 | 0; + } + break label$25; + } + label$28 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$28 + } + if (!((0 | 0) == ($3228(56810 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$28 + } + label$29 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$29 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 4 | 0; + } + } + } + break label$1; + case 13: + label$30 : { + label$31 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$31 + } + if (!((0 | 0) == ($3228(56815 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$31 + } + label$32 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$32 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + break label$30; + } + label$33 : { + label$34 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$34 + } + if (!((0 | 0) == ($3228(56819 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$34 + } + label$35 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$35 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 5 | 0; + } + break label$33; + } + label$36 : { + label$37 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$37 + } + if (!((0 | 0) == ($3228(56825 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$37 + } + label$38 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$38 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 4 | 0; + } + break label$36; + } + label$39 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$39 + } + if (!((0 | 0) == ($3228(48101 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$39 + } + label$40 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$40 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + } + } + } + } + break label$1; + case 14: + label$41 : { + label$42 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$42 + } + if (!((0 | 0) == ($3228(56830 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$42 + } + label$43 : { + if (!($2891(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$43 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + break label$41; + } + label$44 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$44 + } + if (!((0 | 0) == ($3228(56834 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0 | 0, 2 | 0) | 0 | 0) & 1 | 0)) { + break label$44 + } + label$45 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 2 | 0 | 0) | 0)) { + break label$45 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 2 | 0; + } + } + } + break label$1; + case 18: + label$46 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$46 + } + if (!((0 | 0) == ($3228(56837 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$46 + } + label$47 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$47 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + } + break label$1; + case 19: + label$48 : { + label$49 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$49 + } + if (!((0 | 0) == ($3228(48015 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$49 + } + label$50 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$50 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + break label$48; + } + label$51 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$51 + } + if (!((0 | 0) == ($3228(48261 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$51 + } + label$52 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$52 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + } + } + break label$1; + case 20: + label$53 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$53 + } + if (!((0 | 0) == ($3228(48117 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$53 + } + label$54 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$54 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + } + break label$1; + case 21: + label$55 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$55 + } + if (!((0 | 0) == ($3228(48154 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$55 + } + label$56 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$56 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + } + break label$1; + case 25: + break label$2; + default: + break label$1; + }; + } + label$57 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$57 + } + if (!((0 | 0) == ($3228(48029 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$57 + } + label$58 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$58 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + } + } + $587_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $587_1 | 0; + } + + function $2888($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2890(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[$4_1 >> 2] | 0)) { + break label$2 + } + if (!($2890((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - (HEAP32[$4_1 >> 2] | 0) | 0 | 0, 1 | 0) | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $20_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $20_1 | 0; + } + + function $2889($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $17_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $17_1 = ((($2890(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0 | 0) != ($5_1 | 0) ^ -1 | 0) ^ -1 | 0) & 1 | 0; + global$0 = $4_1 + 16 | 0; + return $17_1 | 0; + } + + function $2890($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $15_1 = 0, $21_1 = 0, $31_1 = 0, $56_1 = 0, $64_1 = 0, $76_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $15_1 = 0; + $21_1 = 24; + $31_1 = (($2881(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $21_1 | 0) >> $21_1 | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != ($15_1 | 0) ^ -1 | 0) & 1 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $31_1; + label$3 : { + if (!(($15_1 | 0) == ($31_1 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + label$4 : { + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $56_1 = 24; + $64_1 = ($2881(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $56_1 | 0) >> $56_1 | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) ^ -1 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $64_1 & 1 | 0; + label$7 : { + if (!($64_1 & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + break label$4; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $76_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $76_1 | 0; + } + + function $2891($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0, $28_1 = 0, $36_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $12_1 = 24; + label$1 : { + label$2 : { + if ((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $12_1 | 0) >> $12_1 | 0 | 0) == (115 | 0) & 1 | 0) { + break label$2 + } + $28_1 = 24; + $36_1 = 0; + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0 | 0) == (116 | 0) & 1 | 0)) { + break label$1 + } + } + $36_1 = ($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + global$0 = $4_1 + 16 | 0; + return $36_1 & 1 | 0 | 0; + } + + function $2892($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $15_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + $15_1 = $2893(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $15_1 | 0; + } + + function $2893($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, $19_1 = 0, $17_1 = 0, i64toi32_i32$1 = 0, $25_1 = 0, $11_1 = 0, $14_1 = 0, $64_1 = 0, $71_1 = 0, $78_1 = 0, $191_1 = 0, $58_1 = 0, $155_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + $11_1 = 0; + $14_1 = $8_1 + 44 | 0; + HEAP32[($8_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $5_1; + $17_1 = 0; + HEAP32[($14_1 + 8 | 0) >> 2] = HEAP32[($17_1 + 57076 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($17_1 + 57068 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($17_1 + 57072 | 0) >> 2] | 0; + $191_1 = i64toi32_i32$0; + i64toi32_i32$0 = $14_1; + HEAP32[i64toi32_i32$0 >> 2] = $191_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($8_1 + 40 | 0) >> 2] = $11_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $11_1; + $25_1 = 0; + label$1 : { + if (!((HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$1 + } + $25_1 = 0; + if (!(($3303(HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$1 + } + $19_1 = HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $25_1 = ((HEAPU8[$19_1 >> 0] | 0 | ((HEAPU8[($19_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($19_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($19_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0 | 0) != (1886217588 | 0) | 0) == (0 | 0); + } + HEAP32[($8_1 + 32 | 0) >> 2] = $25_1 & 1 | 0; + label$2 : { + label$3 : { + if (!((HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$3 + } + if (HEAP32[($8_1 + 32 | 0) >> 2] | 0) { + break label$3 + } + $58_1 = $79(57080 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 2] = $58_1; + HEAP32[($8_1 + 36 | 0) >> 2] = 1; + break label$2; + } + label$4 : { + label$5 : { + if (!(HEAP32[($8_1 + 32 | 0) >> 2] | 0)) { + break label$5 + } + $64_1 = HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$4; + } + $64_1 = HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 24 | 0) >> 2] = $64_1; + label$6 : { + label$7 : { + if (!(HEAP32[($8_1 + 32 | 0) >> 2] | 0)) { + break label$7 + } + $71_1 = HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$6; + } + $71_1 = HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 20 | 0) >> 2] = $71_1; + label$8 : { + label$9 : { + if (!(HEAP32[($8_1 + 32 | 0) >> 2] | 0)) { + break label$9 + } + $78_1 = HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + break label$8; + } + $78_1 = HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 16 | 0) >> 2] = $78_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = ($3303(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = ($3303(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2911(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, $8_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($8_1 + 36 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $414(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[(($8_1 + 44 | 0) + ((HEAP32[($8_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($8_1 + 28 | 0) >> 2] = ((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 36 | 0) + (HEAP32[($8_1 + 8 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2468($8_1 + 36 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 36 | 0; + HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[($8_1 + 8 | 0) >> 2] | 0) | 0; + $3288(HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $3288(HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $2500(HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $2500(HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + } + } + HEAP32[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + $155_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + global$0 = $8_1 + 80 | 0; + return $155_1 | 0; + } + + function $2894($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $15_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + $15_1 = $2893(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $15_1 | 0; + } + + function $2895($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $6_1 = 0, $97_1 = 0, $118_1 = 0, $139_1 = 0; + $4_1 = global$0 - 48 | 0; + $5_1 = 0; + $6_1 = -1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 12) | 0; + label$3 : { + label$4 : { + if ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + break label$3; + } + label$5 : { + if (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + label$8 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + label$9 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + label$10 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + } + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$11 : { + label$12 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 1 | 0; + $97_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $97_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $97_1; + HEAPF64[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 3] = 100.0; + break label$11; + } + HEAPF64[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 3] = 1.0e6; + label$13 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 2 | 0; + $118_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $118_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $118_1; + HEAPF64[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 3] = +HEAPF64[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 3] / 2.0; + } + label$14 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 4 | 0; + $139_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $139_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $139_1; + HEAPF64[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 3] = +HEAPF64[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 3] / 2.0; + } + } + label$15 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$15 + } + if (HEAP32[(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$15 + } + if ((HEAPU8[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) { + break label$15 + } + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + } + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + return 0 | 0; + } + + function $2896($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2897($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2898($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5_1 = 0, $10_1 = 0, $14_1 = 0, $18_1 = 0, $20_1 = 0, $22_1 = 0, $323_1 = 0, $93_1 = 0, $99_1 = 0, $148_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 88 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 84 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 80 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0)) { + break label$2 + } + $10_1 = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $10_1; + $14_1 = $79(57164 | 0, $4_1 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] = $14_1; + HEAP32[($4_1 + 108 | 0) >> 2] = 1; + break label$1; + } + $18_1 = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $20_1 = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $22_1 = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $22_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $20_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $18_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2481($4_1 + 84 | 0 | 0, 57195 | 0, $4_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $402(HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, -1 | 0, $4_1 + 80 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + label$4 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 84 | 0) >> 2] = 0; + } + HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + label$5 : { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!(($287(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = $318(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $323_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 64 | 0) >> 2] = $323_1; + HEAP32[($4_1 + 68 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2899(HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + label$6 : { + if (HEAP32[($4_1 + 84 | 0) >> 2] | 0) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $213(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 80 | 0) >> 2] = 0; + label$9 : { + if (HEAP32[($4_1 + 84 | 0) >> 2] | 0) { + break label$9 + } + $93_1 = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $93_1; + $99_1 = $79(57246 | 0, $4_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] = $99_1; + HEAP32[($4_1 + 84 | 0) >> 2] = 1; + } + break label$7; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2461(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + } + label$10 : { + if (HEAP32[($4_1 + 84 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[($4_1 + 60 | 0) >> 2] = (((HEAP32[((HEAP32[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 3 | 0) << 1 | 0) + 80 | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2468($4_1 + 84 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + label$12 : { + if (!((HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 80 | 0; + HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 36 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + break label$11; + } + $213(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[($4_1 + 84 | 0) >> 2] | 0; + } + $148_1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $148_1 | 0; + } + + function $2899($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2823(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $17_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $17_1 | 0; + } + + function $2900($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $2901(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $2521((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0 | 0); + $213(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2901($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$0; + $2545(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $4_1; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = -1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $4_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2902($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $20_1 = 0, $31_1 = 0, $42_1 = 0, $19_1 = 0, $30_1 = 0, $41_1 = 0, $91_1 = 0, $97_1 = 0, $159_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 36 | 0) >> 2] = 8; + HEAP32[($7_1 + 32 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $8_1; + $2901(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0); + label$1 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0) & 1 | 0)) { + break label$1 + } + $19_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + $20_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = $20_1 + 1 | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[($19_1 + ($20_1 << 2 | 0) | 0) >> 2] | 0; + } + label$2 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0) & 2 | 0)) { + break label$2 + } + $30_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + $31_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = $31_1 + 1 | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($30_1 + ($31_1 << 2 | 0) | 0) >> 2] | 0; + } + label$3 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0) & 4 | 0)) { + break label$3 + } + $41_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + $42_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = $42_1 + 1 | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($41_1 + ($42_1 << 2 | 0) | 0) >> 2] | 0; + } + label$4 : { + label$5 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $233(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + break label$4; + } + label$6 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $233(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 12 | 0) >> 2] = 1352; + } + $91_1 = $233(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] = $91_1; + $97_1 = $38((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] = $97_1; + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 44 | 0) >> 2] = 7; + break label$9; + } + $3288(HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + } + } + } + label$11 : { + if (HEAP32[($7_1 + 44 | 0) >> 2] | 0) { + break label$11 + } + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2656(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + label$12 : { + if (HEAP32[($7_1 + 44 | 0) >> 2] | 0) { + break label$12 + } + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2903(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + label$13 : { + if (HEAP32[($7_1 + 44 | 0) >> 2] | 0) { + break label$13 + } + if (HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$13 + } + label$14 : { + if ((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0) { + break label$14 + } + if (!((HEAP32[((HEAP32[((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$13 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2904(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + $159_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $159_1 | 0; + } + + function $2903($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $41_1 = 0, $76_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2906(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $41_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + break label$4; + } + $41_1 = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $41_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $3228(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$7 + } + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + } + } + $2637($3_1 + 24 | 0 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 48 | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + } + $76_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $76_1 | 0; + } + + function $2904($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, $360$hi = 0, $380$hi = 0, $381$hi = 0, $391$hi = 0, $13_1 = 0, $357$hi = 0, $358$hi = 0, $25_1 = 0, $362$hi = 0, $47_1 = 0, $97_1 = 0, $160_1 = 0, $179_1 = 0, $365$hi = 0, $366$hi = 0, $181_1 = 0, $368$hi = 0, $369$hi = 0, $371$hi = 0, $372$hi = 0, $48_1 = 0, $220_1 = 0, $374$hi = 0, $375$hi = 0, $227_1 = 0, $377$hi = 0, $378$hi = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $261_1 = 0, $385$hi = 0, $386$hi = 0, $263_1 = 0, $388$hi = 0, $389$hi = 0, $328_1 = 0, $393$hi = 0, $340_1 = 0, $4_1 = 0, $380_1 = 0, $969_1 = 0, $354_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 80 | 0; + global$0 = $3_1; + $4_1 = 2; + HEAP32[($3_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 68 | 0) >> 2] = HEAP32[($3_1 + 72 | 0) >> 2] | 0; + HEAP32[($3_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 60 | 0) >> 2] = 0; + HEAP32[($3_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $13_1 = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$2 = $13_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $357$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $358$hi = i64toi32_i32$1; + i64toi32_i32$1 = $357$hi; + i64toi32_i32$1 = $358$hi; + i64toi32_i32$1 = $357$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $358$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $13_1; + HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] = i64toi32_i32$5; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == ($4_1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2905(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + if (HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$3 + } + $25_1 = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + HEAP32[($25_1 + 28 | 0) >> 2] = (HEAP32[($25_1 + 28 | 0) >> 2] | 0) + 1 | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$5 = 0; + $360$hi = i64toi32_i32$5; + i64toi32_i32$1 = (HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $362$hi = i64toi32_i32$2; + i64toi32_i32$2 = $360$hi; + i64toi32_i32$2 = $362$hi; + i64toi32_i32$2 = $360$hi; + i64toi32_i32$2 = $362$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $360$hi; + i64toi32_i32$3 = 0; + label$6 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + $47_1 = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + HEAP32[($47_1 + 28 | 0) >> 2] = (HEAP32[($47_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + label$7 : { + label$8 : { + if (HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$8 + } + if (!((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) >= (HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + } + label$9 : { + label$10 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + break label$9; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2906(HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!((HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + $97_1 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + break label$12; + } + $97_1 = HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 44 | 0) >> 2] = $97_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $3228(HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + label$15 : { + if ((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$15 + } + if (HEAP32[($3_1 + 40 | 0) >> 2] | 0) { + break label$14 + } + if (!((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + } + HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + HEAP32[($3_1 + 76 | 0) >> 2] = 0; + break label$1; + } + } + $2637($3_1 + 60 | 0 | 0, (HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 48 | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0); + $3289(HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($3_1 + 56 | 0) >> 2] | 0) << 3 | 0 | 0) | 0; + $3289(HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($3_1 + 56 | 0) >> 2] | 0) << 3 | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (HEAP32[($3_1 + 60 | 0) >> 2] | 0) { + break label$16 + } + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + HEAP32[($3_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $160_1 = HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$18 : { + label$19 : { + switch ($160_1 | 0) { + case 1: + label$22 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$22 + } + label$23 : { + label$24 : while (1) { + if (!((0 | 0) == ($2646(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0, $3_1 + 16 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$23 + } + $179_1 = HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = $179_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $365$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $366$hi = i64toi32_i32$2; + i64toi32_i32$2 = $365$hi; + i64toi32_i32$2 = $366$hi; + i64toi32_i32$2 = $365$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $366$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$3 = $179_1; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + continue label$24; + }; + } + } + $181_1 = HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = $181_1; + i64toi32_i32$4 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $368$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $369$hi = i64toi32_i32$3; + i64toi32_i32$3 = $368$hi; + i64toi32_i32$3 = $369$hi; + i64toi32_i32$3 = $368$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $369$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$2 = $181_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$18; + case 0: + label$25 : { + label$26 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$26 + } + HEAP32[($3_1 + 8 | 0) >> 2] = -1; + label$27 : { + label$28 : while (1) { + if (!((0 | 0) == ($2646(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0, $3_1 + 16 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$27 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $371$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $372$hi = i64toi32_i32$2; + i64toi32_i32$2 = $371$hi; + i64toi32_i32$2 = $372$hi; + i64toi32_i32$2 = $371$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $372$hi; + i64toi32_i32$5 = 32; + i64toi32_i32$4 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $48_1 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + $48_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + HEAP32[($3_1 + 4 | 0) >> 2] = $48_1; + label$29 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + label$30 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) >= (HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($3_1 + 60 | 0) >> 2] = 267; + break label$27; + } + $220_1 = (HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$2 = $220_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $374$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $375$hi = i64toi32_i32$3; + i64toi32_i32$3 = $374$hi; + i64toi32_i32$3 = $375$hi; + i64toi32_i32$3 = $374$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $375$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$2 = $220_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + $227_1 = (HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$3 = $227_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $377$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $378$hi = i64toi32_i32$2; + i64toi32_i32$2 = $377$hi; + i64toi32_i32$2 = $378$hi; + i64toi32_i32$2 = $377$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $378$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$3 = $227_1; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + continue label$28; + }; + } + break label$25; + } + label$31 : { + label$32 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$32 + } + label$33 : { + label$34 : while (1) { + if (!((0 | 0) == ($2646(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0, $3_1 + 16 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$33 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $380_1 = i64toi32_i32$4; + $380$hi = i64toi32_i32$3; + i64toi32_i32$4 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$4 >> 31 | 0; + $381$hi = i64toi32_i32$3; + i64toi32_i32$3 = $380$hi; + i64toi32_i32$3 = $381$hi; + i64toi32_i32$3 = $380$hi; + i64toi32_i32$3 = $381$hi; + $969_1 = i64toi32_i32$4; + i64toi32_i32$3 = $380$hi; + i64toi32_i32$2 = $380_1; + i64toi32_i32$4 = $381$hi; + i64toi32_i32$5 = $969_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$4 | 0)) { + $49_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + $50_1 = 0 + } else { + $50_1 = 1 + } + $51_1 = $50_1; + } else { + $51_1 = 0 + } + $49_1 = $51_1; + } + label$35 : { + if (!($49_1 & 1 | 0)) { + break label$35 + } + HEAP32[($3_1 + 60 | 0) >> 2] = 267; + break label$33; + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $261_1 = (HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (i64toi32_i32$2 << 3 | 0) | 0; + i64toi32_i32$5 = $261_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $385$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $386$hi = i64toi32_i32$2; + i64toi32_i32$2 = $385$hi; + i64toi32_i32$2 = $386$hi; + i64toi32_i32$2 = $385$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$3 = $386$hi; + i64toi32_i32$4 = 1; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$5 = $261_1; + HEAP32[i64toi32_i32$5 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$0; + continue label$34; + }; + } + break label$31; + } + $263_1 = HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = $263_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $388$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $389$hi = i64toi32_i32$5; + i64toi32_i32$5 = $388$hi; + i64toi32_i32$5 = $389$hi; + i64toi32_i32$5 = $388$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $389$hi; + i64toi32_i32$4 = 1; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$2 = $263_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$3; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + } + } + break label$18; + default: + break label$19; + }; + } + } + label$36 : { + if (HEAP32[($3_1 + 60 | 0) >> 2] | 0) { + break label$36 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2907(HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + } + label$37 : { + if (!((HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$37 + } + break label$16; + } + label$38 : { + if (HEAP32[($3_1 + 60 | 0) >> 2] | 0) { + break label$38 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2906(HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$39 : { + label$40 : { + if ((HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$40 + } + if (!((HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$39 + } + if (!($3228(HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) | 0)) { + break label$39 + } + } + break label$16; + } + label$41 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$41 + } + break label$16; + } + } + continue label$17; + }; + } + } + } + label$42 : { + if (HEAP32[($3_1 + 60 | 0) >> 2] | 0) { + break label$42 + } + if (HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$42 + } + if (HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$42 + } + label$43 : while (1) { + $328_1 = 0; + label$44 : { + if (!((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$44 + } + i64toi32_i32$1 = 0; + $391$hi = i64toi32_i32$1; + i64toi32_i32$5 = (HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $393$hi = i64toi32_i32$2; + i64toi32_i32$2 = $391$hi; + i64toi32_i32$2 = $393$hi; + i64toi32_i32$2 = $391$hi; + i64toi32_i32$2 = $393$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $391$hi; + i64toi32_i32$4 = 0; + $328_1 = (i64toi32_i32$5 | 0) == (i64toi32_i32$4 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0; + } + label$45 : { + if (!($328_1 & 1 | 0)) { + break label$45 + } + $340_1 = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + HEAP32[($340_1 + 28 | 0) >> 2] = (HEAP32[($340_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$43; + } + break label$43; + }; + label$46 : { + if (!((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$46 + } + HEAP32[($3_1 + 60 | 0) >> 2] = 267; + } + } + HEAP32[($3_1 + 76 | 0) >> 2] = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + } + $354_1 = HEAP32[($3_1 + 76 | 0) >> 2] | 0; + global$0 = $3_1 + 80 | 0; + return $354_1 | 0; + } + + function $2905($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $25_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $61_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 64 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 72 | 0; + label$1 : while (1) { + $25_1 = 1; + label$2 : { + if ((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$2 + } + $25_1 = ($2646(HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($25_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 72 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2907(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2903(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$6 + } + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + } + break label$3; + } + } + label$7 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + break label$3; + } + continue label$1; + } + break label$1; + }; + $61_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $61_1 | 0; + } + + function $2906($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2805(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $4_1 + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 1 | 0; + $16_1 = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + global$0 = $4_1 + 16 | 0; + return $16_1 | 0; + } + + function $2907($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, $50_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $2608(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, 0 | 0, i64toi32_i32$0 | 0); + label$1 : { + if (HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[$3_1 >> 2] = ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + label$2 : { + if (!((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[(HEAP32[((HEAP32[$3_1 >> 2] | 0) + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (48 | 0) & 1 | 0)) { + break label$2 + } + $2531(HEAP32[((HEAP32[$3_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 12 | 0) >> 2] = 0; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] = 1; + } + } + $50_1 = $2491(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $50_1 | 0; + } + + function $2908($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + return HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0; + } + + function $2909($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $164$hi = 0, $91_1 = 0, $157$hi = 0, $158$hi = 0, $20_1 = 0, $161$hi = 0, $162$hi = 0, $166$hi = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $307_1 = 0, $325_1 = 0, $357_1 = 0, $365_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + $277(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, -1 | 0); + break label$1; + } + label$3 : { + label$4 : { + if (HEAP32[($5_1 + 24 | 0) >> 2] | 0) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $277(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0, 0 | 0); + } + break label$5; + } + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$2 = (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $307_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $307_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$1; + break label$8; + } + i64toi32_i32$2 = (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $325_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $325_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + } + } + break label$3; + } + label$10 : { + label$11 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$13 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $357_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $357_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$1; + break label$12; + } + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $365_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $365_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + } + break label$10; + } + $91_1 = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + -1 | 0; + label$14 : { + label$15 : { + switch ($91_1 | 0) { + case 0: + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + break label$14; + case 1: + HEAP32[($5_1 + 8 | 0) >> 2] = -1; + label$18 : { + label$19 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$19 + } + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + $157$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $158$hi = i64toi32_i32$0; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$0 = $158$hi; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $158$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $20_1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + $20_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + HEAP32[($5_1 + 8 | 0) >> 2] = $20_1; + break label$18; + } + label$20 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$20 + } + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = i64toi32_i32$1; + } + } + label$21 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$21 + } + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $277(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, -1 | 0, 0 | 0); + } + break label$14; + default: + break label$15; + }; + } + label$22 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$22 + } + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] | 0; + $161$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $162$hi = i64toi32_i32$1; + i64toi32_i32$1 = $161$hi; + i64toi32_i32$1 = $162$hi; + i64toi32_i32$1 = $161$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $162$hi; + i64toi32_i32$3 = 2147483647; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + HEAP32[$5_1 >> 2] = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $267(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0); + } + } + } + } + } + i64toi32_i32$2 = 0; + $164$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $166$hi = i64toi32_i32$0; + i64toi32_i32$0 = $164$hi; + i64toi32_i32$0 = $166$hi; + i64toi32_i32$0 = $164$hi; + i64toi32_i32$0 = $166$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $164$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { + $21_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $22_1 = 0 + } else { + $22_1 = 1 + } + $23_1 = $22_1; + } else { + $23_1 = 0 + } + $21_1 = $23_1; + } + label$23 : { + if (!($21_1 & 1 | 0)) { + break label$23 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + } + global$0 = $5_1 + 48 | 0; + return 0 | 0; + } + + function $2910($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $29_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $29_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return 0 | 0; + } + + function $2911($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $32_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2475($5_1 + 16 | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + $2500(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + label$2 : { + label$3 : { + if ($87(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 57113 | 0) | 0) { + break label$3 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + break label$2; + } + label$4 : { + label$5 : { + if ($87(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 57117 | 0) | 0) { + break label$5 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 1; + break label$4; + } + label$6 : { + label$7 : { + if ($87(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 57121 | 0) | 0) { + break label$7 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 2; + break label$6; + } + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $32_1 = $79(57130 | 0, $5_1 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = $32_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + } + } + } + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + $36_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $36_1 | 0; + } + + function $2912($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 8 | 0) + ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0 | 0; + } + + function $2913($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $89_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 4 | 0) >> 2] = 0; + i64toi32_i32$0 = $2915(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $89_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $89_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (Math_imul((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 12 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0; + label$1 : while (1) { + $2916(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); + $2916((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0 | 0); + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 2 | 0; + if ((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + global$0 = $6_1 + 32 | 0; + return; + } + + function $2914($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $150_1 = 0, $9_1 = 0, $10_1 = 0, $31_1 = 0, $140_1 = 0, $96_1 = 0, $125_1 = 0, $128_1 = 0, $35_1 = 0, $56_1 = 0, $147_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 128 | 0; + global$0 = $6_1; + $9_1 = $6_1 + 56 | 0; + $10_1 = 0; + HEAP32[($6_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 112 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $10_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $10_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $10_1; + i64toi32_i32$0 = 0; + $150_1 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[i64toi32_i32$1 >> 2] = $150_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $150_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $150_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $150_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $150_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $150_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + label$1 : { + if (!($499(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + $31_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $400(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, 9846 | 0, $31_1 | 0, $31_1 | 0, $31_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 48 | 0) >> 2] = 1; + } + label$2 : { + if (HEAP32[($6_1 + 96 | 0) >> 2] | 0) { + break label$2 + } + $35_1 = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $35_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2918($6_1 + 56 | 0 | 0, 57518 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = ($309(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0) - 2 | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $213(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($6_1 + 96 | 0) >> 2] = 0; + } + $56_1 = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $56_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2918($6_1 + 56 | 0 | 0, 48818 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = ((($309(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0) - 1 | 0) - (HEAP32[($6_1 + 44 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$6 + } + $2919($6_1 + 56 | 0 | 0, 57546 | 0, 0 | 0); + break label$5; + } + label$7 : { + if (!((100 | 0) == ($287(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + $96_1 = 1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = ($321(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, $96_1 | 0) | 0 | 0) == ($96_1 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $213(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (11 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 96 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + } + } + label$9 : { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) >= (1 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (HEAP32[($6_1 + 96 | 0) >> 2] | 0) { + break label$10 + } + $125_1 = 0; + i64toi32_i32$0 = 0; + $2920($6_1 + 56 | 0 | 0, $125_1 | 0, $125_1 | 0, 1 | 0, i64toi32_i32$0 | 0); + } + $128_1 = $6_1 + 56 | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2921($128_1 | 0, 57577 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2921($128_1 | 0, 57584 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + } + $213(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) | 0; + label$11 : { + if (!(HEAP32[($6_1 + 48 | 0) >> 2] | 0)) { + break label$11 + } + $140_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $400(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, 57592 | 0, $140_1 | 0, $140_1 | 0, $140_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (HEAP32[($6_1 + 96 | 0) >> 2] | 0) { + break label$12 + } + HEAP32[($6_1 + 96 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + } + HEAP32[(HEAP32[($6_1 + 112 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $147_1 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + global$0 = $6_1 + 128 | 0; + return $147_1 | 0; + } + + function $2915($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $2917((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (Math_imul((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + global$0 = $5_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2916($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (((((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0) + (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0) + (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0) + (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) << 0 | 0) | 0; + return; + } + + function $2917($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $3_1 = 0, $36$hi = 0, $37$hi = 0, $45_1 = 0, $38$hi = 0, $39$hi = 0, $40$hi = 0, $47_1 = 0, $41$hi = 0, $42$hi = 0, $43$hi = 0, $44$hi = 0, $48_1 = 0, $45$hi = 0, $46$hi = 0, $47$hi = 0, $48$hi = 0, $49_1 = 0, $49$hi = 0, $50$hi = 0, $51$hi = 0, $52$hi = 0, $51_1 = 0, $53$hi = 0, $54$hi = 0, $55$hi = 0, $56$hi = 0, $52_1 = 0, $57$hi = 0, $58$hi = 0, $59$hi = 0, $60$hi = 0, $53_1 = 0, $61$hi = 0, $62$hi = 0, $63$hi = 0, $64$hi = 0, $55_1 = 0, $65$hi = 0, $38_1 = 0, $42_1 = 0, $46_1 = 0, $50_1 = 0, $54_1 = 0, $58_1 = 0, $62_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = 0; + $36$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $37$hi = i64toi32_i32$0; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$2 = (HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$3 = 56; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $45_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $45_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $38_1 = $45_1; + $38$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $39$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $40$hi = i64toi32_i32$1; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$0 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$2 = $40$hi; + i64toi32_i32$3 = 48; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $47_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $47_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $41$hi = i64toi32_i32$2; + i64toi32_i32$2 = $38$hi; + i64toi32_i32$2 = $41$hi; + i64toi32_i32$2 = $38$hi; + i64toi32_i32$1 = $38_1; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$3 = $47_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $42_1 = i64toi32_i32$4; + $42$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $43$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $44$hi = i64toi32_i32$5; + i64toi32_i32$5 = $43$hi; + i64toi32_i32$5 = $44$hi; + i64toi32_i32$5 = $43$hi; + i64toi32_i32$2 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$3 = 40; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + $48_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$0 | 0) | 0; + $48_1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + } + $45$hi = i64toi32_i32$1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$5 = $42_1; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$3 = $48_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $46_1 = i64toi32_i32$0; + $46$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $47$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $48$hi = i64toi32_i32$4; + i64toi32_i32$4 = $47$hi; + i64toi32_i32$4 = $48$hi; + i64toi32_i32$4 = $47$hi; + i64toi32_i32$1 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$5 = $48$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $49_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$2 | 0) | 0; + $49_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $49$hi = i64toi32_i32$5; + i64toi32_i32$5 = $46$hi; + i64toi32_i32$5 = $49$hi; + i64toi32_i32$5 = $46$hi; + i64toi32_i32$4 = $46_1; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$3 = $49_1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $50_1 = i64toi32_i32$2; + $50$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $51$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $52$hi = i64toi32_i32$0; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$5 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$4 = $52$hi; + i64toi32_i32$3 = 24; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + $51_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$1 | 0) | 0; + $51_1 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + } + $53$hi = i64toi32_i32$4; + i64toi32_i32$4 = $50$hi; + i64toi32_i32$4 = $53$hi; + i64toi32_i32$4 = $50$hi; + i64toi32_i32$0 = $50_1; + i64toi32_i32$5 = $53$hi; + i64toi32_i32$3 = $51_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $54_1 = i64toi32_i32$1; + $54$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $55$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $56$hi = i64toi32_i32$2; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$2 = $56$hi; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$4 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$3 = 16; + i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$4 << i64toi32_i32$5 | 0; + $52_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$5 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$5 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$5 | 0) | 0; + $52_1 = i64toi32_i32$4 << i64toi32_i32$5 | 0; + } + $57$hi = i64toi32_i32$0; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$2 = $54_1; + i64toi32_i32$4 = $57$hi; + i64toi32_i32$3 = $52_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $58_1 = i64toi32_i32$5; + $58$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $59$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $60$hi = i64toi32_i32$1; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$0 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$2 = $60$hi; + i64toi32_i32$3 = 8; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $53_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $53_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $61$hi = i64toi32_i32$2; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$2 = $61$hi; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$1 = $58_1; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$3 = $53_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $62_1 = i64toi32_i32$4; + $62$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $63$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $64$hi = i64toi32_i32$5; + i64toi32_i32$5 = $63$hi; + i64toi32_i32$5 = $64$hi; + i64toi32_i32$5 = $63$hi; + i64toi32_i32$2 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$1 = $64$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + $55_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$0 | 0) | 0; + $55_1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + } + $65$hi = i64toi32_i32$1; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$5 = $62_1; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$3 = $55_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$4; + return i64toi32_i32$0 | 0; + } + + function $2918($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $32_1 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $78(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] = 7; + break label$2; + } + $32_1 = $402(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0, $5_1 + 12 | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] = $32_1; + } + } + $42(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + $37_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $37_1 | 0; + } + + function $2919($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $58_1 = 0, $35_1 = 0, $43_1 = 0, $46_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) < (100 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $78(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] = 7; + break label$2; + } + $35_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $43_1 = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 9185 : 1352; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $43_1; + HEAP32[$5_1 >> 2] = $35_1; + $46_1 = $79(57596 | 0, $5_1 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] = $46_1; + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] = 7; + } + } + $58_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($58_1 + 48 | 0) >> 2] = (HEAP32[($58_1 + 48 | 0) >> 2] | 0) + 1 | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2920($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $7_1 = 0, $145$hi = 0, $146$hi = 0, $124_1 = 0, $148$hi = 0, $149$hi = 0, $130_1 = 0, $26_1 = 0, $214_1 = 0, $45_1 = 0, $73_1 = 0, $74_1 = 0, $318_1 = 0, $374_1 = 0, $145_1 = 0, $414_1 = 0, $148_1 = 0, $451_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 112 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 92 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 84 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $7_1; + i64toi32_i32$0 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2922(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $6_1 + 80 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$3 + } + $26_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + $214_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[$6_1 >> 2] = $214_1; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$0; + $2919($26_1 | 0, 57603 | 0, $6_1 | 0); + break label$2; + } + label$4 : { + if (!((HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2912(HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0) > (40 | 0) & 1 | 0)) { + break label$5 + } + $45_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 104 | 0) >> 2] | 0; + $2919($45_1 | 0, 57637 | 0, $6_1 + 16 | 0 | 0); + $42(HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0); + break label$1; + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2912((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((Math_imul(HEAP32[($6_1 + 76 | 0) >> 2] | 0, (((HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) + 8 | 0) + 4 | 0 | 0) > (HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $73_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $74_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $74_1; + $318_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $318_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$1; + $2919($73_1 | 0, 57667 | 0, $6_1 + 32 | 0 | 0); + break label$6; + } + HEAP32[($6_1 + 72 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (Math_imul(HEAP32[($6_1 + 72 | 0) >> 2] | 0, (((HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) + 8 | 0) + 4 | 0) | 0; + i64toi32_i32$1 = $2917(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $374_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $374_1; + HEAP32[($6_1 + 60 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $2923(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0); + label$10 : { + label$11 : { + if (!((HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$11 + } + i64toi32_i32$1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $145_1 = i64toi32_i32$1; + $145$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $146$hi = i64toi32_i32$1; + i64toi32_i32$1 = $145$hi; + i64toi32_i32$1 = $146$hi; + $414_1 = i64toi32_i32$0; + i64toi32_i32$1 = $145$hi; + i64toi32_i32$0 = $146$hi; + $2924(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 0 | 0, $145_1 | 0, i64toi32_i32$1 | 0, $414_1 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$0 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $2920(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 104 | 0) >> 2] | 0) - 1 | 0 | 0, (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 8 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + $124_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + HEAP32[($124_1 + 36 | 0) >> 2] = (HEAP32[($124_1 + 36 | 0) >> 2] | 0) + 1 | 0; + break label$10; + } + i64toi32_i32$1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $148_1 = i64toi32_i32$1; + $148$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $149$hi = i64toi32_i32$1; + i64toi32_i32$1 = $148$hi; + i64toi32_i32$1 = $149$hi; + $451_1 = i64toi32_i32$0; + i64toi32_i32$1 = $148$hi; + i64toi32_i32$0 = $149$hi; + $2924(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 1 | 0, $148_1 | 0, i64toi32_i32$1 | 0, $451_1 | 0, i64toi32_i32$0 | 0); + $130_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + HEAP32[($130_1 + 32 | 0) >> 2] = (HEAP32[($130_1 + 32 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 72 | 0) >> 2] = (HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + } + } + $42(HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 112 | 0; + return; + } + + function $2921($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $49$hi = 0, $50$hi = 0, $8_1 = 0, $10_1 = 0, $12_1 = 0, $130_1 = 0, $49_1 = 0, $138_1 = 0, $38_1 = 0, $39_1 = 0, $53_1 = 0, $53$hi = 0, $157_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 68 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$1 + } + $8_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + $10_1 = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $12_1 = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $12_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2918($8_1 | 0, 58144 | 0, $5_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(($287(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = $318(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $130_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $130_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $49_1 = i64toi32_i32$1; + $49$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + $50$hi = i64toi32_i32$1; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $50$hi; + $138_1 = i64toi32_i32$0; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$2 = $49_1; + i64toi32_i32$0 = $50$hi; + label$4 : { + if (!(((i64toi32_i32$2 | 0) != ($138_1 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$4 + } + $38_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + $39_1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + $53_1 = i64toi32_i32$2; + $53$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $157_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $157_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $53$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $53_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$2; + HEAP32[$5_1 >> 2] = $39_1; + $2919($38_1 | 0, 58175 | 0, $5_1 | 0); + } + } + $44_1 = $213(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 40 | 0) >> 2] = $44_1; + } + } + global$0 = $5_1 + 80 | 0; + return; + } + + function $2922($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $41_1 = 0, $17_1 = 0, $19_1 = 0, $25_1 = 0, $76_1 = 0, $261_1 = 0, $78_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 44 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 40 | 0) >> 2] = 0; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + $17_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $19_1 = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $19_1; + $25_1 = $2918($17_1 | 0, 57722 | 0, $5_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] = $25_1; + } + label$2 : { + if (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + label$3 : { + if (!(($287(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$3 + } + $41_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $315(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $41_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $311(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $41_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == ($41_1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] = 7; + break label$4; + } + $3288(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + } + } + $2925(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + label$6 : { + if (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$6 + } + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + $76_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $261_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $261_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + $2919($76_1 | 0, 57767 | 0, $5_1 | 0); + } + } + $78_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $78_1 | 0; + } + + function $2923($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $234_1 = 0, $106_1 = 0, $107_1 = 0, $108_1 = 0, $365_1 = 0; + $7_1 = global$0 - 96 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 84 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 76 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $2916((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 3 | 0) | 0 | 0, $7_1 + 64 | 0 | 0); + $2916((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0 | 0, $7_1 + 56 | 0 | 0); + label$3 : { + label$4 : { + label$5 : { + if (!(HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$5 + } + if ((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$4 + } + break label$3; + } + if (!(Math_fround(HEAPF32[($7_1 + 64 | 0) >> 2]) > Math_fround(HEAPF32[($7_1 + 56 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + } + $49_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + $50_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $51_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + $234_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $234_1; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($7_1 + 20 | 0) >> 2] = $51_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $50_1; + $2919($49_1 | 0, 57799 | 0, $7_1 + 16 | 0 | 0); + } + label$6 : { + if (!((HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $2916((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 3 | 0) | 0 | 0, $7_1 + 48 | 0 | 0); + $2916((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + ((((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0 | 0, $7_1 + 40 | 0 | 0); + label$7 : { + label$8 : { + label$9 : { + label$10 : { + if (!(HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$10 + } + if ((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$8 + } + break label$9; + } + if (Math_fround(HEAPF32[($7_1 + 64 | 0) >> 2]) < Math_fround(HEAPF32[($7_1 + 48 | 0) >> 2]) & 1 | 0) { + break label$8 + } + } + label$11 : { + if (!(HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$11 + } + if ((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$8 + } + break label$7; + } + if (!(Math_fround(HEAPF32[($7_1 + 56 | 0) >> 2]) > Math_fround(HEAPF32[($7_1 + 40 | 0) >> 2]) & 1 | 0)) { + break label$7 + } + } + $106_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + $107_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $108_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + $365_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $365_1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 4 | 0) >> 2] = $108_1; + HEAP32[$7_1 >> 2] = $107_1; + $2919($106_1 | 0, 57847 | 0, $7_1 | 0); + } + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $7_1 + 96 | 0; + return; + } + + function $2924($0_1, $1_1, $2_1, $2$hi, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $112$hi = 0, $113$hi = 0, $140_1 = 0, $28_1 = 0, $33_1 = 0, $35_1 = 0, $40_1 = 0, $71_1 = 0, $109_1 = 0, $109$hi = 0, $283_1 = 0, $307_1 = 0, $112_1 = 0, $315_1 = 0, $91_1 = 0, $116_1 = 0, $116$hi = 0, $117_1 = 0, $117$hi = 0, $93_1 = 0, $118_1 = 0, $118$hi = 0, $342_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 144 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 136 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 128 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 132 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 120 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 124 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 58016 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 58020 | 0) >> 2] | 0; + $140_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1 + 104 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $140_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$1 : { + if (!((HEAP32[(((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 24 | 0) + ((HEAP32[($6_1 + 136 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + $28_1 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + $33_1 = HEAP32[(($6_1 + 104 | 0) + ((HEAP32[($6_1 + 136 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $35_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 80 | 0) >> 2] = $35_1; + $40_1 = $2918($28_1 | 0, $33_1 | 0, $6_1 + 80 | 0 | 0) | 0; + HEAP32[(((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 24 | 0) + ((HEAP32[($6_1 + 136 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $40_1; + } + label$2 : { + label$3 : { + if (!(HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$3 + } + break label$2; + } + HEAP32[($6_1 + 112 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 24 | 0) + ((HEAP32[($6_1 + 136 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + $331(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $287(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$5 + } + $71_1 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + $109_1 = i64toi32_i32$0; + $109$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 136 | 0) >> 2] | 0 ? 58069 : 58077; + $283_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $283_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$1 = $6_1; + HEAP32[$6_1 >> 2] = $109_1; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$0; + $2919($71_1 | 0, 58024 | 0, $6_1 | 0); + break label$4; + } + label$6 : { + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = $318(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $307_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $307_1; + HEAP32[($6_1 + 100 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $112_1 = i64toi32_i32$1; + $112$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + $113$hi = i64toi32_i32$1; + i64toi32_i32$1 = $112$hi; + i64toi32_i32$1 = $113$hi; + i64toi32_i32$1 = $112$hi; + i64toi32_i32$1 = $113$hi; + $315_1 = i64toi32_i32$0; + i64toi32_i32$1 = $112$hi; + i64toi32_i32$2 = $112_1; + i64toi32_i32$0 = $113$hi; + label$7 : { + if (!(((i64toi32_i32$2 | 0) != ($315_1 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$7 + } + $91_1 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + $116_1 = i64toi32_i32$2; + $116$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $117_1 = i64toi32_i32$1; + $117$hi = i64toi32_i32$2; + $93_1 = HEAP32[($6_1 + 136 | 0) >> 2] | 0 ? 58069 : 58077; + i64toi32_i32$2 = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + $118_1 = i64toi32_i32$2; + $118$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + $342_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1 + 64 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $342_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $118$hi; + i64toi32_i32$1 = $6_1 + 56 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $118_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($6_1 + 48 | 0) >> 2] = $93_1; + i64toi32_i32$2 = $117$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $117_1; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $116$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $116_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$2; + $2919($91_1 | 0, 58086 | 0, $6_1 + 32 | 0 | 0); + } + } + } + $2925(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 144 | 0; + return; + } + + function $2925($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2926($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $16_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + $16_1 = $2927(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $16_1 | 0; + } + + function $2927($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $13_1 = 0, $16_1 = 0, $26_1 = 0, $64_1 = 0, $154_1 = 0, $162_1 = 0, $188_1 = 0, $236_1 = 0, $402_1 = 0, $406_1 = 0, $60_1 = 0, $63_1 = 0, $128_1 = 0, $131_1 = 0, $166_1 = 0, $170_1 = 0, $192_1 = 0, $197_1 = 0, $199_1 = 0, $230_1 = 0, $247_1 = 0, $300_1 = 0, $331_1 = 0, $340_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 240 | 0; + global$0 = $9_1; + $13_1 = $9_1 + 144 | 0; + $16_1 = 0; + HEAP32[($9_1 + 232 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 228 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 224 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 220 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 216 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 212 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 208 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 204 | 0) >> 2] = $16_1; + HEAP32[($9_1 + 188 | 0) >> 2] = (HEAP32[($9_1 + 228 | 0) >> 2] | 0 | 0) != ($16_1 | 0) & 1 | 0 ? 1 : $16_1; + HEAP32[($9_1 + 176 | 0) >> 2] = 4; + $26_1 = 0; + HEAP32[($13_1 + 16 | 0) >> 2] = HEAP32[($26_1 + 58416 | 0) >> 2] | 0; + i64toi32_i32$2 = $26_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 58408 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 58412 | 0) >> 2] | 0; + $402_1 = i64toi32_i32$0; + i64toi32_i32$0 = $13_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $402_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 58400 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 58404 | 0) >> 2] | 0; + $406_1 = i64toi32_i32$1; + i64toi32_i32$1 = $13_1; + HEAP32[i64toi32_i32$1 >> 2] = $406_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0) > (103 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[$9_1 >> 2] = HEAP32[(($9_1 + 144 | 0) + ((((HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0) >= (6 | 0) & 1 | 0) + 2 | 0) << 2 | 0) | 0) >> 2] | 0; + $60_1 = $79(1976 | 0, $9_1 | 0) | 0; + HEAP32[(HEAP32[($9_1 + 212 | 0) >> 2] | 0) >> 2] = $60_1; + HEAP32[($9_1 + 236 | 0) >> 2] = 1; + break label$1; + } + $63_1 = HEAP32[($9_1 + 232 | 0) >> 2] | 0; + $64_1 = 1; + HEAP32[($9_1 + 128 | 0) >> 2] = $64_1; + $426($63_1 | 0, $64_1 | 0, $9_1 + 128 | 0 | 0) | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $3303(HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 196 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $3303(HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $41((((HEAP32[($9_1 + 196 | 0) >> 2] | 0) + 504 | 0) + (HEAP32[($9_1 + 192 | 0) >> 2] | 0) | 0) + 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 200 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if ((HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + HEAP32[($9_1 + 236 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0, 0 | 0, (((HEAP32[($9_1 + 196 | 0) >> 2] | 0) + 504 | 0) + (HEAP32[($9_1 + 192 | 0) >> 2] | 0) | 0) + 2 | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 40 | 0) >> 2] = 1; + HEAP32[(HEAP32[($9_1 + 200 | 0) >> 2] | 0) >> 2] = 80512; + HEAP32[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 504 | 0; + HEAP32[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 36 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 196 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP8[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 22 | 0) >> 0] = HEAP32[($9_1 + 188 | 0) >> 2] | 0; + $3288(HEAP32[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 196 | 0) >> 2] | 0 | 0) | 0; + $3288(HEAP32[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 192 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $76(HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + $128_1 = HEAP32[($9_1 + 184 | 0) >> 2] | 0; + $131_1 = $2967(HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($9_1 + 112 | 0) >> 2] = $131_1; + $84($128_1 | 0, 58420 | 0, $9_1 + 112 | 0 | 0); + HEAP32[($9_1 + 176 | 0) >> 2] = 4; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($9_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 176 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $154_1 = 24; + label$7 : { + label$8 : { + if (!((((HEAPU8[(HEAP32[($9_1 + 140 | 0) >> 2] | 0) >> 0] | 0) << $154_1 | 0) >> $154_1 | 0 | 0) == (43 | 0) & 1 | 0)) { + break label$8 + } + $162_1 = HEAP32[($9_1 + 200 | 0) >> 2] | 0; + HEAP8[($162_1 + 25 | 0) >> 0] = (HEAPU8[($162_1 + 25 | 0) >> 0] | 0) + 1 | 0; + $166_1 = HEAP32[($9_1 + 184 | 0) >> 2] | 0; + $170_1 = $2967((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP32[($9_1 + 20 | 0) >> 2] = (HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = $170_1; + $84($166_1 | 0, 58444 | 0, $9_1 + 16 | 0 | 0); + break label$7; + } + label$9 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + break label$5; + } + $188_1 = HEAP32[($9_1 + 200 | 0) >> 2] | 0; + HEAP8[($188_1 + 21 | 0) >> 0] = (HEAPU8[($188_1 + 21 | 0) >> 0] | 0) + 1 | 0; + $192_1 = HEAP32[($9_1 + 184 | 0) >> 2] | 0; + $197_1 = HEAP32[(80608 + ((HEAP32[($9_1 + 188 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $199_1 = $2967(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 100 | 0) >> 2] = HEAP32[($9_1 + 140 | 0) >> 2] | 0; + HEAP32[($9_1 + 96 | 0) >> 2] = $199_1; + $84($192_1 | 0, $197_1 | 0, $9_1 + 96 | 0 | 0); + } + HEAP32[($9_1 + 176 | 0) >> 2] = (HEAP32[($9_1 + 176 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $84(HEAP32[($9_1 + 184 | 0) >> 2] | 0 | 0, 58471 | 0, 0 | 0); + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $71(HEAP32[($9_1 + 184 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : { + if ((HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$11 + } + HEAP32[($9_1 + 204 | 0) >> 2] = 7; + break label$10; + } + label$12 : { + label$13 : { + if (!((HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($9_1 + 64 | 0) >> 2] = HEAP32[($9_1 + 160 | 0) >> 2] | 0; + $230_1 = $79(1976 | 0, $9_1 + 64 | 0 | 0) | 0; + HEAP32[(HEAP32[($9_1 + 212 | 0) >> 2] | 0) >> 2] = $230_1; + HEAP32[($9_1 + 204 | 0) >> 2] = 1; + break label$12; + } + $236_1 = $414(HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 204 | 0) >> 2] = $236_1; + label$14 : { + if (!((0 | 0) != ($236_1 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $380(HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + $247_1 = $79(1976 | 0, $9_1 + 80 | 0 | 0) | 0; + HEAP32[(HEAP32[($9_1 + 212 | 0) >> 2] | 0) >> 2] = $247_1; + } + } + } + $42(HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0); + label$15 : { + label$16 : { + if (!(HEAP32[($9_1 + 204 | 0) >> 2] | 0)) { + break label$16 + } + break label$15; + } + HEAP8[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 20 | 0) >> 0] = ((HEAPU8[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) / (2 | 0) | 0; + label$17 : { + label$18 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($9_1 + 172 | 0) >> 2] = 2; + break label$17; + } + label$19 : { + label$20 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) > (10 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($9_1 + 172 | 0) >> 2] = 3; + break label$19; + } + label$21 : { + label$22 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) % (2 | 0) | 0)) { + break label$22 + } + HEAP32[($9_1 + 172 | 0) >> 2] = 1; + break label$21; + } + HEAP32[($9_1 + 172 | 0) >> 2] = 0; + } + } + } + label$23 : { + if (!(HEAP32[($9_1 + 172 | 0) >> 2] | 0)) { + break label$23 + } + HEAP32[($9_1 + 32 | 0) >> 2] = HEAP32[(($9_1 + 144 | 0) + ((HEAP32[($9_1 + 172 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $300_1 = $79(1976 | 0, $9_1 + 32 | 0 | 0) | 0; + HEAP32[(HEAP32[($9_1 + 212 | 0) >> 2] | 0) >> 2] = $300_1; + break label$15; + } + HEAP8[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 23 | 0) >> 0] = (((HEAPU8[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) + 8 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2968(HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 204 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!(HEAP32[($9_1 + 204 | 0) >> 2] | 0)) { + break label$24 + } + break label$15; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2969(HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 204 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + if (!(HEAP32[($9_1 + 204 | 0) >> 2] | 0)) { + break label$25 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $380(HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $331_1 = $79(1976 | 0, $9_1 + 48 | 0 | 0) | 0; + HEAP32[(HEAP32[($9_1 + 212 | 0) >> 2] | 0) >> 2] = $331_1; + break label$15; + } + HEAP32[(HEAP32[($9_1 + 216 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 200 | 0) >> 2] | 0; + HEAP32[($9_1 + 236 | 0) >> 2] = 0; + break label$1; + } + label$26 : { + if (HEAP32[($9_1 + 204 | 0) >> 2] | 0) { + break label$26 + } + HEAP32[($9_1 + 204 | 0) >> 2] = 1; + } + $2931(HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 236 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + } + $340_1 = HEAP32[($9_1 + 236 | 0) >> 2] | 0; + global$0 = $9_1 + 240 | 0; + return $340_1 | 0; + } + + function $2928($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $16_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + $16_1 = $2927(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $16_1 | 0; + } + + function $2929($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $168_1 = 0, $269_1 = 0, i64toi32_i32$4 = 0, $5_1 = 0, $8_1 = 0, $116_1 = 0, $58_1 = 0, $200_1 = 0, $202_1 = 0, $212_1 = 0, $249_1 = 0, $271$hi = 0, $272$hi = 0, i64toi32_i32$3 = 0, $25_1 = 0, $201_1 = 0, $211_1 = 0, $277_1 = 0.0, $838_1 = 0, $266_1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + $5_1 = 0; + $8_1 = $4_1 + 16 | 0; + HEAP32[($4_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 84 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $5_1; + i64toi32_i32$0 = 0; + $269_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $269_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 40 | 0) >> 0] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $269_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $269_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $269_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $269_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 88 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!(((HEAPU8[(((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 88 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (64 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 84 | 0) >> 2] = 1; + } + HEAP32[($4_1 + 88 | 0) >> 2] = (HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($4_1 + 88 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + $58_1 = 0; + label$6 : { + if (!((HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $58_1 = (HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) < (40 | 0); + } + label$7 : { + if (!($58_1 & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 88 | 0) >> 2] | 0, 12) | 0; + label$8 : { + if (HEAP32[($4_1 + 84 | 0) >> 2] | 0) { + break label$8 + } + if (!((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + if (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$8 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = 0; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + $116_1 = 1; + i64toi32_i32$0 = 0; + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 2] = $116_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $116_1; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 1; + HEAPF64[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 40 | 0) >> 3] = 30.0; + i64toi32_i32$1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 1; + HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 56 | 0) >> 2] = $116_1; + HEAP32[($4_1 + 108 | 0) >> 2] = 0; + break label$4; + } + label$11 : { + if (!((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$13 + } + if ((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) <= ((HEAPU8[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + break label$12 + } + } + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (64 | 0) & 1 | 0)) { + break label$11 + } + } + $168_1 = HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0; + label$14 : { + label$15 : { + label$16 : { + label$17 : { + label$18 : { + label$19 : { + label$20 : { + label$21 : { + if (($168_1 | 0) == (2 | 0)) { + break label$21 + } + if (($168_1 | 0) == (4 | 0)) { + break label$20 + } + if (($168_1 | 0) == (8 | 0)) { + break label$19 + } + if (($168_1 | 0) == (16 | 0)) { + break label$18 + } + if (($168_1 | 0) == (32 | 0)) { + break label$17 + } + if (($168_1 | 0) == (64 | 0)) { + break label$16 + } + break label$15; + } + HEAP8[($4_1 + 7 | 0) >> 0] = 65; + break label$14; + } + HEAP8[($4_1 + 7 | 0) >> 0] = 69; + break label$14; + } + HEAP8[($4_1 + 7 | 0) >> 0] = 66; + break label$14; + } + HEAP8[($4_1 + 7 | 0) >> 0] = 67; + break label$14; + } + HEAP8[($4_1 + 7 | 0) >> 0] = 68; + break label$14; + } + HEAP8[($4_1 + 7 | 0) >> 0] = 70; + break label$14; + } + HEAP8[($4_1 + 7 | 0) >> 0] = 0; + } + label$22 : { + if (!(((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$22 + } + $200_1 = $4_1 + 16 | 0; + $201_1 = HEAPU8[($4_1 + 7 | 0) >> 0] | 0; + $202_1 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $202_1 + 1 | 0; + HEAP8[($200_1 + $202_1 | 0) >> 0] = $201_1; + $211_1 = ((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) + 48 | 0; + $212_1 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $212_1 + 1 | 0; + HEAP8[($200_1 + $212_1 | 0) >> 0] = $211_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) / (2 | 0) | 0; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 1; + } + } + HEAP32[($4_1 + 88 | 0) >> 2] = (HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 2] = 2; + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] = 1; + label$23 : { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[$4_1 >> 2] = $4_1 + 16 | 0; + $249_1 = $79(1976 | 0, $4_1 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] = $249_1; + if (!((0 | 0) == ($249_1 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 7; + break label$4; + } + $277_1 = 6.0; + i64toi32_i32$2 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $271$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $272$hi = i64toi32_i32$1; + i64toi32_i32$1 = $271$hi; + i64toi32_i32$1 = $272$hi; + i64toi32_i32$1 = $271$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $272$hi; + i64toi32_i32$3 = (HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) / (2 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $25_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $25_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $25_1; + HEAP32[($4_1 + 76 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + HEAPF64[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 40 | 0) >> 3] = $277_1 * (+(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$2 | 0)); + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + $838_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] = $838_1; + HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + } + $266_1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $266_1 | 0; + } + + function $2930($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2931(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2931($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + if (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$1 + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 0] = 0; + $2933(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) | 0; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2932($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $31_1 = 0, $6_1 = 0, $8_1 = 0, $10_1 = 0, $12_1 = 0, $14_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + $6_1 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $8_1 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $10_1 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $12_1 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $14_1 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $14_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $12_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $10_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $8_1; + HEAP32[$3_1 >> 2] = $6_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $79(59507 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($3_1 + 36 | 0) >> 2] = 7; + break label$1; + } + $31_1 = 0; + $2933(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $400(HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, $31_1 | 0, $31_1 | 0, $31_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$3 + } + $2931(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0); + } + $40_1 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $40_1 | 0; + } + + function $2933($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + if (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] = 0; + $383(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2934($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $21_1 = 0, i64toi32_i32$0 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 7; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(248 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $3289(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, 248 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + $21_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($21_1 + 56 | 0) >> 2] = (HEAP32[($21_1 + 56 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $27_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $27_1 | 0; + } + + function $2935($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $2936(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + $213(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + $42(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + $12_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($12_1 + 56 | 0) >> 2] = (HEAP32[($12_1 + 56 | 0) >> 2] | 0) + -1 | 0; + $2933(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2936($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 12 | 0) >> 2] | 0, 24) | 0) + 16 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0); + } + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $42(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + } + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (5 | 0) & 1 | 0)) { + break label$6 + } + $2945(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + $42(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $3289(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, 248 | 0) | 0; + HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return; + } + + function $2937($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $9_1 = 0, $55_1 = 0, $160_1 = 0, $172_1 = 0, $267_1 = 0, $300$hi = 0, $377_1 = 0, $309_1 = 0.0, $495_1 = 0, $104_1 = 0, $312_1 = 0.0, $297_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 96 | 0; + global$0 = $7_1; + $9_1 = 0; + HEAP32[($7_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 64 | 0) >> 2] = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $9_1; + $2938(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + $2936(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + $300$hi = i64toi32_i32$0; + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($7_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $377_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $377_1; + HEAP32[($7_1 + 36 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $300$hi; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $342(HEAP32[(HEAP32[($7_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + label$6 : { + if ((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$5 + } + $309_1 = +$65(HEAP32[(HEAP32[($7_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0); + i64toi32_i32$1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + if (!($309_1 == +(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0) & 1 | 0)) { + break label$5 + } + } + i64toi32_i32$0 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2939(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $7_1 + 44 | 0 | 0, $7_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + $55_1 = 0; + HEAP32[($7_1 + 52 | 0) >> 2] = $55_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $55_1; + } + label$7 : { + label$8 : { + if (HEAP32[($7_1 + 52 | 0) >> 2] | 0) { + break label$8 + } + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2940(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, +(+(0 | 0)), 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $495_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $495_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP8[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + i64toi32_i32$0 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2941(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $7_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + break label$7; + } + HEAP8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 0] = 1; + } + break label$2; + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2942(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$1 | 0, 0 | 0, $7_1 + 60 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($7_1 + 52 | 0) >> 2] | 0) { + break label$9 + } + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$1 = 0; + $104_1 = $41(Math_imul(HEAP32[($7_1 + 76 | 0) >> 2] | 0, 24) | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] = $104_1; + HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + label$10 : { + label$11 : { + if ((HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$11 + } + HEAP32[($7_1 + 52 | 0) >> 2] = 7; + break label$10; + } + $3289(HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 0 | 0, Math_imul(HEAP32[($7_1 + 76 | 0) >> 2] | 0, 24) | 0) | 0; + $3289((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 84 | 0 | 0, 0 | 0, ((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 1 | 0) << 2 | 0 | 0) | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 56 | 0) >> 2] | 0, 24) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $342(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $160_1 = 24; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = ((HEAPU8[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 56 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) << $160_1 | 0) >> $160_1 | 0; + $172_1 = 24; + HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] = (((HEAPU8[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 56 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) | 0) >> 0] | 0) << $172_1 | 0) >> $172_1 | 0) - 48 | 0; + label$14 : { + label$15 : { + if (!((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) >= (70 | 0) & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2943(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!(HEAP32[($7_1 + 52 | 0) >> 2] | 0)) { + break label$16 + } + break label$12; + } + HEAP32[((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0; + HEAP32[((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 84 | 0; + HEAP32[((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 1 | 0; + break label$14; + } + label$17 : { + label$18 : { + label$19 : { + if ((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$19 + } + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$18 + } + } + $312_1 = +$65(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAPF64[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 3] = $312_1; + break label$17; + } + HEAPF64[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 3] = +(0 | 0); + label$20 : { + label$21 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = 64; + break label$20; + } + label$22 : { + label$23 : { + label$24 : { + if ((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (67 | 0) & 1 | 0) { + break label$24 + } + if (!((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (66 | 0) & 1 | 0)) { + break label$23 + } + } + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = 63; + break label$22; + } + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = 64; + } + } + } + } + HEAP32[($7_1 + 56 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + } + } + label$25 : { + if (HEAP32[($7_1 + 52 | 0) >> 2] | 0) { + break label$25 + } + $267_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2940(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, +(+($267_1 | 0)), ((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 1 | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == ($267_1 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($7_1 + 92 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = 1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP8[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 18 | 0) >> 0] = 0; + HEAP8[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2944(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + } + $2945(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0; + $2931(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 92 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + } + $297_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + global$0 = $7_1 + 96 | 0; + return $297_1 | 0; + } + + function $2938($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + return; + } + + function $2939($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $21_1 = 0, $98_1 = 0, $116_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 0; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + label$1 : { + label$2 : { + if (!(($287(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$2 + } + $21_1 = 0; + i64toi32_i32$1 = $318(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, $21_1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $98_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $98_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$3 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != ($21_1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $116_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $116_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2942(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $222(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $222(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $40_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $40_1 | 0; + } + + function $2940($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = +$1_1; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $100_1 = 0, $17_1 = 0, $103_1 = 0, $104_1 = 0, $107_1 = 0, $356_1 = 0, $366_1 = 0, $376_1 = 0, $123_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAPF64[($5_1 + 16 | 0) >> 3] = $1_1; + HEAP8[($5_1 + 15 | 0) >> 0] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2950(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $17_1 = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 84 | 0) + (((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0; + HEAP32[$17_1 >> 2] = (HEAP32[$17_1 >> 2] | 0) + 1 | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (+HEAPF64[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 3] > +HEAPF64[($5_1 + 16 | 0) >> 3] & 1 | 0) { + break label$3 + } + if (!(+HEAPF64[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 3] == +HEAPF64[($5_1 + 16 | 0) >> 3] & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) > ((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2976(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, +(+HEAPF64[($5_1 + 16 | 0) >> 3]), (HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[$5_1 >> 2] = (((HEAP32[($5_1 + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) | 0 | 0) / (24 | 0) | 0) + 1 | 0; + label$6 : { + label$7 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) < (5 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + break label$6; + } + $2945(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] = 0; + $100_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $103_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0; + i64toi32_i32$2 = $103_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $356_1 = i64toi32_i32$0; + i64toi32_i32$0 = $100_1; + HEAP32[i64toi32_i32$0 >> 2] = $356_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $104_1 = 16; + i64toi32_i32$2 = i64toi32_i32$2 + $104_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $366_1 = i64toi32_i32$1; + i64toi32_i32$1 = $100_1 + $104_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $366_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $107_1 = 8; + i64toi32_i32$2 = $103_1 + $107_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $376_1 = i64toi32_i32$0; + i64toi32_i32$0 = $100_1 + $107_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $376_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + HEAPF64[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 3] = +HEAPF64[($5_1 + 16 | 0) >> 3]; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 0] = HEAPU8[($5_1 + 15 | 0) >> 0] | 0; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] = 1; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2976(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, +(+HEAPF64[($5_1 + 16 | 0) >> 3]), (HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $123_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $123_1 | 0; + } + + function $2941($0_1, $1_1, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $36$hi = 0, $37$hi = 0, $36_1 = 0, $95_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 20 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2912((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = $2915(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $36_1 = i64toi32_i32$0; + $36$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $37$hi = i64toi32_i32$0; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$0 = $37$hi; + $95_1 = i64toi32_i32$1; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$1 = $37$hi; + label$4 : { + if (!((($36_1 | 0) == ($95_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 267; + } + $33_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $33_1 | 0; + } + + function $2942($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $7_1 = 0, $165_1 = 0, $277$hi = 0, $9_1 = 0, $34_1 = 0, $65_1 = 0, $174_1 = 0, $279$hi = 0, $261_1 = 0, $663_1 = 0, $202_1 = 0, $269_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $7_1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $9_1 = $2977(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $9_1; + label$1 : { + label$2 : { + if (!(($9_1 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if ((HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + label$5 : { + if (!($2978(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 267; + break label$1; + } + $34_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($34_1 + 16 | 0) >> 2] = (HEAP32[($34_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + break label$3; + } + label$6 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 267; + break label$1; + } + } + $65_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($65_1 + 16 | 0) >> 2] = (HEAP32[($65_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$7 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 76 | 0) >> 2] = 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $394(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + label$8 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$8 + } + $2933(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + label$9 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 7; + break label$1; + } + } + } + label$10 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[$6_1 >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(59589 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $347(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, 51618 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, 0 | 0, (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 76 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + label$12 : { + label$13 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$13 + } + $2933(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = 0; + label$14 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 267; + } + break label$12; + } + label$15 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == ($393(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$15 + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $41((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 32 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + label$17 : { + if ((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$17 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 7; + break label$16; + } + $165_1 = 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 32 | 0; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = 1; + $174_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($174_1 + 60 | 0) >> 2] = (HEAP32[($174_1 + 60 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $663_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $663_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = $165_1; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] = $165_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $384(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $165_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + } + } + label$18 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$18 + } + i64toi32_i32$0 = 0; + $277$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $279$hi = i64toi32_i32$1; + i64toi32_i32$1 = $277$hi; + i64toi32_i32$1 = $279$hi; + i64toi32_i32$1 = $277$hi; + i64toi32_i32$1 = $279$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $277$hi; + if (!(((i64toi32_i32$2 | 0) == (1 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$18 + } + $202_1 = $2912(HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] = $202_1; + label$19 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) > (40 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 267; + } + } + label$20 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$20 + } + label$21 : { + if (!(($2912((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0 | 0) > (((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 4 | 0 | 0) / ((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 267; + } + } + label$22 : { + label$23 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$23 + } + label$24 : { + label$25 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + $2979(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0); + $2974(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + break label$24; + } + HEAP32[($6_1 + 20 | 0) >> 2] = 267; + } + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + break label$22; + } + label$26 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $261_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($261_1 + 60 | 0) >> 2] = (HEAP32[($261_1 + 60 | 0) >> 2] | 0) + -1 | 0; + $42(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + } + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = 0; + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + $269_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $269_1 | 0; + } + + function $2943($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $244(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 59597 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 80 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, 80 | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0; + $3288(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = 71; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $72_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $72_1 | 0; + } + + function $2944($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $256$hi = 0, $257$hi = 0, $22_1 = 0, $28_1 = 0, $135_1 = 0, $150_1 = 0, $244_1 = 0, $623_1 = 0, $256_1 = 0, $661_1 = 0, $684_1 = 0, $775_1 = 0, $252_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 96 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 80 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 68 | 0) >> 2] = 0; + HEAP32[($3_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 52 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 80 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0; + label$1 : { + label$2 : while (1) { + $22_1 = $2950(HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 84 | 0) >> 2] = $22_1; + $28_1 = 0; + label$3 : { + if (!(($22_1 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $28_1 = ((HEAPU8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) > (0 | 0); + } + label$4 : { + if (!($28_1 & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2951(HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0, $3_1 + 68 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($3_1 + 68 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($3_1 + 92 | 0) >> 2] = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2912((HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (Math_imul((HEAPU8[((HEAP32[($3_1 + 80 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0, (HEAPU8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) + 4 | 0) | 0; + label$6 : { + label$7 : while (1) { + if (!(((HEAPU8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) < (HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAPF64[($3_1 + 8 | 0) >> 3] = -1.0; + HEAP32[($3_1 + 72 | 0) >> 2] = 2; + HEAP32[($3_1 + 56 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 56 | 0) >> 2] | 0, 24) | 0; + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) >= (70 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2980(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 84 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0, $3_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($3_1 + 68 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($3_1 + 92 | 0) >> 2] = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + break label$1; + } + break label$10; + } + label$13 : { + label$14 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$14 + } + $2981(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $3_1 + 72 | 0 | 0); + break label$13; + } + $2982(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $3_1 + 72 | 0 | 0); + } + } + label$15 : { + if (HEAP32[($3_1 + 72 | 0) >> 2] | 0) { + break label$15 + } + $135_1 = HEAP32[($3_1 + 84 | 0) >> 2] | 0; + HEAP8[($135_1 + 18 | 0) >> 0] = (HEAPU8[($135_1 + 18 | 0) >> 0] | 0) + 1 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($3_1 + 80 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0) | 0; + break label$8; + } + HEAP32[($3_1 + 56 | 0) >> 2] = (HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$16 : { + if (HEAP32[($3_1 + 72 | 0) >> 2] | 0) { + break label$16 + } + continue label$7; + } + break label$7; + }; + $150_1 = HEAP32[($3_1 + 84 | 0) >> 2] | 0; + HEAP8[($150_1 + 18 | 0) >> 0] = (HEAPU8[($150_1 + 18 | 0) >> 0] | 0) + 1 | 0; + HEAP8[($3_1 + 40 | 0) >> 0] = ((HEAPU8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + label$17 : { + label$18 : { + if (!(((HEAPU8[($3_1 + 40 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + i64toi32_i32$0 = $2917(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $623_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 32 | 0) >> 2] = $623_1; + HEAP32[($3_1 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 56 | 0) >> 2] = 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 88 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + i64toi32_i32$2 = (HEAP32[((HEAP32[($3_1 + 88 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 56 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $256_1 = i64toi32_i32$1; + $256$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + $257$hi = i64toi32_i32$1; + i64toi32_i32$1 = $256$hi; + i64toi32_i32$1 = $257$hi; + i64toi32_i32$1 = $256$hi; + i64toi32_i32$1 = $257$hi; + $661_1 = i64toi32_i32$0; + i64toi32_i32$1 = $256$hi; + i64toi32_i32$2 = $256_1; + i64toi32_i32$0 = $257$hi; + i64toi32_i32$3 = $661_1; + label$21 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($3_1 + 92 | 0) >> 2] = 267; + break label$1; + } + HEAP32[($3_1 + 56 | 0) >> 2] = (HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + HEAP8[($3_1 + 42 | 0) >> 0] = 0; + break label$17; + } + i64toi32_i32$3 = HEAP32[($3_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $684_1 = i64toi32_i32$2; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 32 | 0) >> 2] = $684_1; + HEAP32[($3_1 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP8[($3_1 + 42 | 0) >> 0] = ((HEAPU8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + } + label$22 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) >= (HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + $2947(HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0); + } + label$23 : { + if (!(+HEAPF64[($3_1 + 8 | 0) >> 3] < +(0 | 0) & 1 | 0)) { + break label$23 + } + HEAPF64[($3_1 + 8 | 0) >> 3] = +(0 | 0); + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2940(HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0, +(+HEAPF64[($3_1 + 8 | 0) >> 3]), (HEAPU8[($3_1 + 40 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($3_1 + 84 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($3_1 + 92 | 0) >> 2] = 7; + break label$1; + } + HEAP8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 17 | 0) >> 0] = HEAP32[($3_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + $775_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 84 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $775_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$2; + HEAP8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAPU8[($3_1 + 42 | 0) >> 0] | 0; + } + label$25 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) >= (HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + $2947(HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0); + } + continue label$2; + } + break label$2; + }; + $244_1 = 0; + HEAP8[((HEAP32[($3_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 0] = (HEAP32[($3_1 + 84 | 0) >> 2] | 0 | 0) == ($244_1 | 0) & 1 | 0; + HEAP32[($3_1 + 92 | 0) >> 2] = $244_1; + } + $252_1 = HEAP32[($3_1 + 92 | 0) >> 2] | 0; + global$0 = $3_1 + 96 | 0; + return $252_1 | 0; + } + + function $2945($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $50$hi = 0, i64toi32_i32$2 = 0, $5_1 = 0, $12_1 = 0, $18_1 = 0, $52$hi = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + $12_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($12_1 + 16 | 0) >> 2] = (HEAP32[($12_1 + 16 | 0) >> 2] | 0) + -1 | 0; + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + $50$hi = i64toi32_i32$0; + $18_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($18_1 + 60 | 0) >> 2] = (HEAP32[($18_1 + 60 | 0) >> 2] | 0) + -1 | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $52$hi = i64toi32_i32$1; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $50$hi; + label$3 : { + if (!(((i64toi32_i32$2 | 0) == (1 | 0) & (i64toi32_i32$1 | 0) == ($50$hi | 0) | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = -1; + } + label$4 : { + if (!((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2945(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2972(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $2973(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + } + $47_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $47_1 | 0; + } + + function $2946($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $23_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 6 | 0) >> 0] = 0; + $222(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + } + $2947(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2944(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $23_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $23_1 | 0; + } + + function $2947($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $89_1 = 0, $62_1 = 0, $80_1 = 0, $84_1 = 0, $87_1 = 0, $95_1 = 0, $96_1 = 0, $99_1 = 0, $134_1 = 0, $412_1 = 0, $422_1 = 0, $432_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 1 - ((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) | 0; + label$1 : { + if (!((HEAP32[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $2945(HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + } + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $62_1 = ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 84 | 0) + (((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0; + HEAP32[$62_1 >> 2] = (HEAP32[$62_1 >> 2] | 0) + -1 | 0; + HEAP8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] = 0; + break label$2; + } + label$4 : { + if (!(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$4 + } + $80_1 = ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 84 | 0) + (((HEAPU8[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0; + HEAP32[$80_1 >> 2] = (HEAP32[$80_1 >> 2] | 0) + -1 | 0; + $84_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + $87_1 = (HEAP32[($84_1 + 24 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($84_1 + 24 | 0) >> 2] = $87_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $87_1; + $89_1 = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $95_1 = (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 12 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = $95_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $412_1 = i64toi32_i32$0; + i64toi32_i32$0 = $89_1; + HEAP32[i64toi32_i32$0 >> 2] = $412_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $96_1 = 16; + i64toi32_i32$2 = i64toi32_i32$2 + $96_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $422_1 = i64toi32_i32$1; + i64toi32_i32$1 = $89_1 + $96_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $422_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $99_1 = 8; + i64toi32_i32$2 = $95_1 + $99_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $432_1 = i64toi32_i32$0; + i64toi32_i32$0 = $89_1 + $99_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $432_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$5 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 64 | 0) + (((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 64 | 0) + (((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = 0; + } + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + $134_1 = ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 1 | 0) + 1 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $134_1; + if (!(($134_1 | 0) < (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + if (!(($2983((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 16 | 0) >> 2] | 0, 24) | 0 | 0, (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 20 | 0) >> 2] | 0, 24) | 0 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + label$11 : { + if (!(($2983((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 16 | 0) >> 2] | 0, 24) | 0 | 0, (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 24 | 0) >> 2] | 0, 24) | 0 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$11 + } + $2984(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + break label$10; + } + break label$6; + } + break label$8; + } + label$12 : { + label$13 : { + if (!(($2983((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 20 | 0) >> 2] | 0, 24) | 0 | 0, (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 24 | 0) >> 2] | 0, 24) | 0 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$13 + } + $2984(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$12; + } + break label$6; + } + } + continue label$7; + }; + } + } + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $2948($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + return (HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $2949($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $83_1 = 0, $28_1 = 0, $97_1 = 0, $139_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2950(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2951(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + label$5 : { + if (HEAP32[($5_1 + 32 | 0) >> 2] | 0) { + break label$5 + } + $28_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = $2915(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $270($28_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) <= ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + $2952(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAP32[($5_1 + 32 | 0) >> 2] | 0) - 1 | 0 | 0, $5_1 + 16 | 0 | 0); + label$8 : { + label$9 : { + if ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$9 + } + $260(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, +(+Math_fround(HEAPF32[($5_1 + 16 | 0) >> 2]))); + break label$8; + } + $267(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + break label$6; + } + label$10 : { + if (((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$10 + } + label$11 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + $83_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $408(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, -1 | 0, $83_1 | 0, (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0 | 0, $83_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + } + $97_1 = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = $2915(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $331($97_1 | 0, 1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $287(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + label$14 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$14 + } + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 6 | 0) >> 0] = 1; + break label$13; + } + $222(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + label$15 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + } + $280(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $320(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) - ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) | 0) + 1 | 0 | 0) | 0 | 0); + } + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $139_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $139_1 | 0; + } + + function $2950($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0, $16_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + $11_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0; + break label$1; + } + label$3 : { + label$4 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$4 + } + $16_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$3; + } + $16_1 = 0; + } + $11_1 = $16_1; + } + return $11_1 | 0; + } + + function $2951($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $52_1 = 0, $52$hi = 0, $39_1 = 0, $48_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = 1 - ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) | 0; + label$1 : { + if (!((HEAP32[(((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$3 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $52_1 = i64toi32_i32$0; + $52$hi = i64toi32_i32$1; + break label$2; + } + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $52_1 = i64toi32_i32$1; + $52$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $52$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $52_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $39_1 = $2942(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, 0 | 0, ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = $39_1; + } + $48_1 = HEAP32[(((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $48_1 | 0; + } + + function $2952($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + $2916((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((Math_imul((HEAPU8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 32 | 0; + return; + } + + function $2953($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $101_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2950(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2951(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $4_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = $2915(HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $101_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $101_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + $30_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $30_1 | 0; + } + + function $2954($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $51_1 = 0, $117_1 = 0, $340$hi = 0, $341$hi = 0, $7_1 = 0, $349_1 = Math_fround(0), $350_1 = Math_fround(0), $126_1 = 0, $141_1 = 0, $745_1 = 0, $340_1 = 0, $772_1 = 0, $244_1 = 0, $916_1 = 0, $335_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 112 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 88 | 0) >> 2] = HEAP32[($6_1 + 104 | 0) >> 2] | 0; + HEAP32[($6_1 + 84 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($6_1 + 108 | 0) >> 2] = 518; + break label$1; + } + i64toi32_i32$0 = 0; + $2938(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0); + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = 0; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 100 | 0) >> 2] | 0) - 4 | 0; + label$5 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) > ((HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0; + } + label$6 : { + label$7 : { + if ((HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$7 + } + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $51_1 = $6_1 + 32 | 0; + $349_1 = Math_fround($2955(HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 3 | 0) << 2 | 0) | 0) >> 2] | 0 | 0)); + HEAPF32[(($51_1 + 8 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $349_1; + $350_1 = Math_fround($2956(HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) << 2 | 0) | 0) >> 2] | 0 | 0)); + HEAPF32[(($51_1 + 8 | 0) + (((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $350_1; + label$10 : { + if (!(Math_fround(HEAPF32[(($51_1 + 8 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) > Math_fround(HEAPF32[(($51_1 + 8 | 0) + (((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2957(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 2 | 0; + continue label$9; + }; + } + break label$6; + } + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $117_1 = $6_1 + 32 | 0; + $126_1 = $239(HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 3 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[(($117_1 + 8 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $126_1; + $141_1 = $239(HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[(($117_1 + 8 | 0) + (((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $141_1; + label$13 : { + if (!((HEAP32[(($117_1 + 8 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) > (HEAP32[(($117_1 + 8 | 0) + (((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2957(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 2 | 0; + continue label$12; + }; + } + } + label$14 : { + if (!(($248(HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$14 + } + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $745_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $745_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$1; + label$15 : { + label$16 : { + if (($248(HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0) { + break label$16 + } + i64toi32_i32$1 = $62(HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $340_1 = i64toi32_i32$1; + $340$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $341$hi = i64toi32_i32$1; + i64toi32_i32$1 = $340$hi; + i64toi32_i32$1 = $341$hi; + i64toi32_i32$1 = $340$hi; + i64toi32_i32$1 = $341$hi; + $772_1 = i64toi32_i32$0; + i64toi32_i32$1 = $340$hi; + i64toi32_i32$2 = $340_1; + i64toi32_i32$0 = $341$hi; + i64toi32_i32$3 = $772_1; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$15 + } + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $287(HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $222(HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!((100 | 0) == (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + label$18 : { + label$19 : { + if (!(($425(HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$19 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2958(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + break label$18; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2957(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + } + } + label$20 : { + if (!(($248(HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$20 + } + $244_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = $62(HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2958($244_1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + label$21 : { + if (HEAP32[($6_1 + 84 | 0) >> 2] | 0) { + break label$21 + } + if (!((HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$22 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$22 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2959(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $916_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $916_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + label$23 : { + if (HEAP32[($6_1 + 84 | 0) >> 2] | 0) { + break label$23 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2960(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0, 0 | 0, $6_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + label$24 : { + if (HEAP32[($6_1 + 84 | 0) >> 2] | 0) { + break label$24 + } + HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 72 | 0) >> 2] = -1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2961(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2945(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + if (HEAP32[($6_1 + 84 | 0) >> 2] | 0) { + break label$25 + } + HEAP32[($6_1 + 84 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + } + label$26 : { + if (HEAP32[($6_1 + 84 | 0) >> 2] | 0) { + break label$26 + } + if (!((HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0)) { + break label$26 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $331(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[$6_1 >> 2] = 0; + label$27 : { + label$28 : while (1) { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$27 + } + $334(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, (HEAP32[$6_1 >> 2] | 0) + 2 | 0 | 0, HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (((((HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) + 3 | 0) + (HEAP32[$6_1 >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[$6_1 >> 2] = (HEAP32[$6_1 >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + $287(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $222(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + } + } + $2931(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 108 | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + } + $335_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + global$0 = $6_1 + 112 | 0; + return $335_1 | 0; + } + + function $2955($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $19_1 = 0.0, $14_1 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_f64$0 = +$65(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 16 | 0) >> 3] = wasm2js_f64$0; + HEAPF32[($3_1 + 12 | 0) >> 2] = Math_fround(+HEAPF64[($3_1 + 16 | 0) >> 3]); + label$1 : { + if (!(+Math_fround(HEAPF32[($3_1 + 12 | 0) >> 2]) > +HEAPF64[($3_1 + 16 | 0) >> 3] & 1 | 0)) { + break label$1 + } + $19_1 = +HEAPF64[($3_1 + 16 | 0) >> 3]; + HEAPF32[($3_1 + 12 | 0) >> 2] = Math_fround($19_1 * ($19_1 < 0.0 ? 1.0000001192092896 : .9999998807907104)); + } + $14_1 = Math_fround(HEAPF32[($3_1 + 12 | 0) >> 2]); + global$0 = $3_1 + 32 | 0; + return Math_fround($14_1); + } + + function $2956($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $19_1 = 0.0, $14_1 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_f64$0 = +$65(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 16 | 0) >> 3] = wasm2js_f64$0; + HEAPF32[($3_1 + 12 | 0) >> 2] = Math_fround(+HEAPF64[($3_1 + 16 | 0) >> 3]); + label$1 : { + if (!(+Math_fround(HEAPF32[($3_1 + 12 | 0) >> 2]) < +HEAPF64[($3_1 + 16 | 0) >> 3] & 1 | 0)) { + break label$1 + } + $19_1 = +HEAPF64[($3_1 + 16 | 0) >> 3]; + HEAPF32[($3_1 + 12 | 0) >> 2] = Math_fround($19_1 * ($19_1 < 0.0 ? .9999998807907104 : 1.0000001192092896)); + } + $14_1 = Math_fround(HEAPF32[($3_1 + 12 | 0) >> 2]); + global$0 = $3_1 + 32 | 0; + return Math_fround($14_1); + } + + function $2957($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $63_1 = 0, $7_1 = 0, $38_1 = 0, $41_1 = 0, $52_1 = 0, $53_1 = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 68 | 0) >> 2] = 0; + $7_1 = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79(48818 | 0, $4_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $402(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, -1 | 0, $4_1 + 68 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 60 | 0) >> 2] = 7; + } + $42(HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0); + label$3 : { + if (HEAP32[($4_1 + 60 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (HEAP32[($4_1 + 72 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $322(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + $38_1 = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $38_1; + $41_1 = $79(59611 | 0, $4_1 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] = $41_1; + break label$4; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $322(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $322(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $52_1 = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $53_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $53_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $52_1; + $58_1 = $79(59643 | 0, $4_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] = $58_1; + } + } + $213(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) | 0; + label$6 : { + label$7 : { + if (HEAP32[($4_1 + 60 | 0) >> 2] | 0) { + break label$7 + } + $63_1 = 19; + break label$6; + } + $63_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + } + global$0 = $4_1 + 80 | 0; + return $63_1 | 0; + } + + function $2958($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5_1 = 0, $75_1 = 0, $96_1 = 0, $121_1 = 0, $137$hi = 0, $329_1 = 0, $134_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $137$hi = i64toi32_i32$0; + $5_1 = 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $5_1; + i64toi32_i32$0 = $137$hi; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2942(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, $5_1 | 0, $4_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2939(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $4_1 + 40 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$2 + } + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2941(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, $4_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2985(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2945(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + } + label$5 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$5 + } + i64toi32_i32$0 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $287(HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$6 + } + if (!((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + if (!(($2912((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$6 + } + $75_1 = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $75_1; + i64toi32_i32$1 = $2915(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, $75_1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $329_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $329_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2942(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, $4_1 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$7 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2986(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2945(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$8 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + } + label$9 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$9 + } + $96_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($96_1 + 28 | 0) >> 2] = (HEAP32[($96_1 + 28 | 0) >> 2] | 0) + -1 | 0; + $2987(HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + } + } + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + label$12 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$12 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2988(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $121_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($121_1 + 60 | 0) >> 2] = (HEAP32[($121_1 + 60 | 0) >> 2] | 0) + -1 | 0; + $42(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + continue label$11; + }; + } + label$13 : { + label$14 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$14 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2945(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$13; + } + $2945(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + $134_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $134_1 | 0; + } + + function $2959($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $69_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $332(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + $332(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + $287(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $451(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $69_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $69_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $19_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $19_1 | 0; + } + + function $2960($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7_1 = 0, $27_1 = 0, $42_1 = 0, $15_1 = 0, $87_1 = 0.0, $281_1 = 0, $80_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f64$0 = 0.0; + $6_1 = global$0 - 144 | 0; + global$0 = $6_1; + $7_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 132 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 128 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 116 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2942(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, $7_1 | 0, $6_1 + 116 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 120 | 0) >> 2] = $7_1; + label$1 : while (1) { + $15_1 = 0; + label$2 : { + if (HEAP32[($6_1 + 124 | 0) >> 2] | 0) { + break label$2 + } + $15_1 = (HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0) < ((HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - (HEAP32[($6_1 + 132 | 0) >> 2] | 0) | 0 | 0); + } + label$3 : { + if (!($15_1 & 1 | 0)) { + break label$3 + } + $27_1 = 0; + $87_1 = +($27_1 | 0); + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 104 | 0) >> 2] = 0; + HEAP32[($6_1 + 108 | 0) >> 2] = i64toi32_i32$0; + HEAPF64[($6_1 + 96 | 0) >> 3] = $87_1; + HEAPF64[($6_1 + 88 | 0) >> 3] = $87_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2912((HEAP32[((HEAP32[($6_1 + 116 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 24 | 0) >> 2] = $27_1; + HEAP32[($6_1 + 112 | 0) >> 2] = $27_1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $42_1 = $6_1 + 32 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + $2913(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, $42_1 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_f64$0 = +$2989(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, $42_1 | 0, HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $6_1, wasm2js_f64$0 = +$2990(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, $42_1 | 0)), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$6 : { + label$7 : { + if (!(HEAP32[($6_1 + 112 | 0) >> 2] | 0)) { + break label$7 + } + if (+HEAPF64[($6_1 + 8 | 0) >> 3] < +HEAPF64[($6_1 + 96 | 0) >> 3] & 1 | 0) { + break label$7 + } + if (!(+HEAPF64[($6_1 + 8 | 0) >> 3] == +HEAPF64[($6_1 + 96 | 0) >> 3] & 1 | 0)) { + break label$6 + } + if (!(+HEAPF64[$6_1 >> 3] < +HEAPF64[($6_1 + 88 | 0) >> 3] & 1 | 0)) { + break label$6 + } + } + HEAP32[($6_1 + 20 | 0) >> 2] = 1; + } + label$8 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$8 + } + HEAPF64[($6_1 + 96 | 0) >> 3] = +HEAPF64[($6_1 + 8 | 0) >> 3]; + HEAPF64[($6_1 + 88 | 0) >> 3] = +HEAPF64[$6_1 >> 3]; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $281_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $281_1; + HEAP32[($6_1 + 108 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($6_1 + 112 | 0) >> 2] = (HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $42(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + i64toi32_i32$1 = HEAP32[($6_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2942(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, $6_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + $2945(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 116 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 120 | 0) >> 2] = (HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + HEAP32[(HEAP32[($6_1 + 128 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + $80_1 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + global$0 = $6_1 + 144 | 0; + return $80_1 | 0; + } + + function $2961($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $76$hi = 0, $7_1 = 0, $78$hi = 0, $80$hi = 0, $81$hi = 0, $82$hi = 0, $83$hi = 0, $80_1 = 0, $259_1 = 0, $82_1 = 0, $275_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + label$1 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) > ($7_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2977(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $2945(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + $2979(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + } + } + label$3 : { + label$4 : { + if (!($2991(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + label$5 : { + label$6 : { + label$7 : { + if ((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$7 + } + i64toi32_i32$1 = 0; + $76$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$0; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $78$hi; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $78$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $76$hi; + i64toi32_i32$3 = 1; + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$6 + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2992(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2993(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$3; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2994(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$8 + } + label$9 : { + label$10 : { + if (HEAP32[($6_1 + 16 | 0) >> 2] | 0) { + break label$10 + } + i64toi32_i32$3 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $80_1 = i64toi32_i32$2; + $80$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $81$hi = i64toi32_i32$2; + i64toi32_i32$2 = $80$hi; + i64toi32_i32$2 = $81$hi; + $259_1 = i64toi32_i32$0; + i64toi32_i32$2 = $80$hi; + i64toi32_i32$0 = $81$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2995(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, $80_1 | 0, i64toi32_i32$2 | 0, $259_1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$9; + } + i64toi32_i32$3 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $82_1 = i64toi32_i32$0; + $82$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $83$hi = i64toi32_i32$0; + i64toi32_i32$0 = $82$hi; + i64toi32_i32$0 = $83$hi; + $275_1 = i64toi32_i32$2; + i64toi32_i32$0 = $82$hi; + i64toi32_i32$2 = $83$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2996(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, $82_1 | 0, i64toi32_i32$0 | 0, $275_1 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + } + $72_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $72_1 | 0; + } + + function $2962($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $6_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP8[($6_1 + 24 | 0) >> 0] = (HEAPU8[($6_1 + 24 | 0) >> 0] | 0) + 1 | 0; + return 0 | 0; + } + + function $2963($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 0] = 0; + $2933(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2964($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $41_1 = 0, $8_1 = 0, $10_1 = 0, $11_1 = 0, $13_1 = 0, $15_1 = 0, $16_1 = 0, $18_1 = 0, $20_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = 7; + $8_1 = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $10_1 = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $11_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + $13_1 = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $15_1 = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $16_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + $18_1 = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $20_1 = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $20_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $18_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $16_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $15_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $13_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $11_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $10_1; + HEAP32[$4_1 >> 2] = $8_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79(59680 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $41_1 = 0; + $2933(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $400(HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $41_1 | 0, $41_1 | 0, $41_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0); + } + $48_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $48_1 | 0; + } + + function $2965($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP8[($4_1 + 3 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] = 0; + $2933(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] = HEAPU8[($4_1 + 3 | 0) >> 0] | 0; + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $2966($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $25_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) >>> 0 < 3 >>> 0 & 1 | 0)) { + break label$2 + } + label$4 : { + if ($87(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(80656 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $25_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $25_1 | 0; + } + + function $2967($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + $9_1 = $418(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $9_1 | 0; + } + + function $2968($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $53_1 = 0, $56_1 = 0, $75_1 = 0, $91_1 = 0, $94_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 112 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 100 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($6_1 + 84 | 0) >> 2] = 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(49377 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2970(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, $6_1 + 84 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (HEAP32[($6_1 + 92 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) - 64 | 0; + label$5 : { + if (!((Math_imul((HEAPU8[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0, 51) + 4 | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 2] = Math_imul((HEAPU8[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0, 51) + 4 | 0; + } + break label$3; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $380(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $53_1 = $79(1976 | 0, $6_1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] = $53_1; + } + break label$1; + } + $56_1 = HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = $56_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(58474 | 0, $6_1 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2970(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!(HEAP32[($6_1 + 92 | 0) >> 2] | 0)) { + break label$7 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $380(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $75_1 = $79(1976 | 0, $6_1 + 32 | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] = $75_1; + break label$6; + } + label$8 : { + if (!((HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) < (448 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 267; + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $91_1 = $79(58531 | 0, $6_1 + 48 | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] = $91_1; + } + } + } + $42(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0); + $94_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + global$0 = $6_1 + 112 | 0; + return $94_1 | 0; + } + + function $2969($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $68_1 = 0, $111_1 = 0, $15_1 = 0, $16_1 = 0, $32_1 = 0, $38_1 = 0, $39_1 = 0, $44_1 = 0, $45_1 = 0, $50_1 = 0, $51_1 = 0, $52_1 = 0, $138_1 = 0, $139_1 = 0, $180_1 = 0, $185_1 = 0, $198_1 = 0, $199_1 = 0, $229_1 = 0, $230_1 = 0, $233_1 = 0, $238_1 = 0, $239_1 = 0, $273_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 256 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 248 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 244 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 240 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 236 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 232 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 228 | 0) >> 2] = 0; + HEAP32[($7_1 + 184 | 0) >> 2] = 5; + HEAP32[((HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 244 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($7_1 + 232 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $76(HEAP32[($7_1 + 244 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; + $15_1 = HEAP32[($7_1 + 176 | 0) >> 2] | 0; + $16_1 = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + HEAP32[($7_1 + 148 | 0) >> 2] = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($7_1 + 144 | 0) >> 2] = $16_1; + $84($15_1 | 0, 58975 | 0, $7_1 + 144 | 0 | 0); + HEAP32[($7_1 + 172 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $32_1 = HEAP32[($7_1 + 176 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[($7_1 + 172 | 0) >> 2] | 0; + $84($32_1 | 0, 59037 | 0, $7_1 | 0); + HEAP32[($7_1 + 172 | 0) >> 2] = (HEAP32[($7_1 + 172 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $38_1 = HEAP32[($7_1 + 176 | 0) >> 2] | 0; + $39_1 = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + HEAP32[($7_1 + 100 | 0) >> 2] = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($7_1 + 96 | 0) >> 2] = $39_1; + $84($38_1 | 0, 59042 | 0, $7_1 + 96 | 0 | 0); + $44_1 = HEAP32[($7_1 + 176 | 0) >> 2] | 0; + $45_1 = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + HEAP32[($7_1 + 116 | 0) >> 2] = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($7_1 + 112 | 0) >> 2] = $45_1; + $84($44_1 | 0, 59106 | 0, $7_1 + 112 | 0 | 0); + $50_1 = HEAP32[($7_1 + 176 | 0) >> 2] | 0; + $51_1 = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + $52_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($7_1 + 136 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 132 | 0) >> 2] = $52_1; + HEAP32[($7_1 + 128 | 0) >> 2] = $51_1; + $84($50_1 | 0, 59176 | 0, $7_1 + 128 | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $71(HEAP32[($7_1 + 176 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($7_1 + 252 | 0) >> 2] = 7; + break label$1; + } + $68_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $400(HEAP32[($7_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, $68_1 | 0, $68_1 | 0, $68_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0); + label$6 : { + if (!(HEAP32[($7_1 + 228 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($7_1 + 252 | 0) >> 2] = HEAP32[($7_1 + 228 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($7_1 + 192 | 0) >> 2] = (HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 80 | 0; + HEAP32[($7_1 + 196 | 0) >> 2] = (HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 84 | 0; + HEAP32[($7_1 + 200 | 0) >> 2] = (HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 88 | 0; + HEAP32[($7_1 + 204 | 0) >> 2] = (HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 92 | 0; + HEAP32[($7_1 + 208 | 0) >> 2] = (HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 96 | 0; + HEAP32[($7_1 + 212 | 0) >> 2] = (HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 100 | 0; + HEAP32[($7_1 + 216 | 0) >> 2] = (HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 104 | 0; + HEAP32[($7_1 + 220 | 0) >> 2] = (HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 108 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2971(HEAP32[($7_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 248 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 188 | 0) >> 2] = 0; + label$7 : while (1) { + $111_1 = 0; + label$8 : { + if (!((HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0) < (8 | 0) & 1 | 0)) { + break label$8 + } + $111_1 = (HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$9 : { + if (!($111_1 & 1 | 0)) { + break label$9 + } + label$10 : { + label$11 : { + label$12 : { + if ((HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0) != (3 | 0) & 1 | 0) { + break label$12 + } + if ((HEAPU8[((HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0) { + break label$11 + } + } + HEAP32[($7_1 + 164 | 0) >> 2] = HEAP32[(80624 + ((HEAP32[($7_1 + 188 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$10; + } + HEAP32[($7_1 + 164 | 0) >> 2] = 59225; + } + $138_1 = HEAP32[($7_1 + 164 | 0) >> 2] | 0; + $139_1 = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $139_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $79($138_1 | 0, $7_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + label$14 : { + if (!((HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $408(HEAP32[($7_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0, -1 | 0, 5 | 0, HEAP32[(($7_1 + 192 | 0) + ((HEAP32[($7_1 + 188 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_i32$1; + break label$13; + } + HEAP32[($7_1 + 228 | 0) >> 2] = 7; + } + $42(HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 188 | 0) >> 2] = (HEAP32[($7_1 + 188 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + label$15 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$15 + } + $180_1 = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($7_1 + 80 | 0) >> 2] = $180_1; + $185_1 = $79(59333 | 0, $7_1 + 80 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 64 | 0) >> 2] = $185_1; + label$16 : { + label$17 : { + if (!((HEAP32[((HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($7_1 + 228 | 0) >> 2] = 7; + break label$16; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $76(HEAP32[($7_1 + 244 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_i32$1; + $198_1 = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + $199_1 = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($7_1 + 64 | 0) >> 2] = $199_1; + $84($198_1 | 0, 59378 | 0, $7_1 + 64 | 0 | 0); + HEAP32[($7_1 + 156 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + label$20 : { + if (!(HEAP32[($7_1 + 156 | 0) >> 2] | 0)) { + break label$20 + } + $51(HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0, 30108 | 0, 1 | 0); + } + label$21 : { + label$22 : { + if (!((HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 26 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$22 + } + $229_1 = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + $230_1 = HEAP32[($7_1 + 156 | 0) >> 2] | 0; + $233_1 = (HEAP32[($7_1 + 156 | 0) >> 2] | 0) + 2 | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[($7_1 + 156 | 0) >> 2] | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = $233_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $230_1; + $84($229_1 | 0, 59405 | 0, $7_1 + 32 | 0 | 0); + break label$21; + } + $238_1 = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + $239_1 = HEAP32[($7_1 + 156 | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 156 | 0) >> 2] | 0) + 2 | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = $239_1; + $84($238_1 | 0, 59427 | 0, $7_1 + 48 | 0 | 0); + } + HEAP32[($7_1 + 156 | 0) >> 2] = (HEAP32[($7_1 + 156 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + $84(HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0, 59435 | 0, 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $71(HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + label$24 : { + if (!((HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($7_1 + 228 | 0) >> 2] = 7; + break label$23; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $408(HEAP32[($7_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0, -1 | 0, 5 | 0, (HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 112 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0); + } + } + } + HEAP32[($7_1 + 252 | 0) >> 2] = HEAP32[($7_1 + 228 | 0) >> 2] | 0; + } + $273_1 = HEAP32[($7_1 + 252 | 0) >> 2] | 0; + global$0 = $7_1 + 256 | 0; + return $273_1 | 0; + } + + function $2970($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $18_1 = 0, $33_1 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 7; + label$1 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $18_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $402(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, -1 | 0, $5_1 + 12 | 0 | 0, $18_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + if (!((100 | 0) == ($287(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $33_1 = $317(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $33_1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $213(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + $37_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $37_1 | 0; + } + + function $2971($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $6_1 = 0, $85$hi = 0, $90$hi = 0, $22_1 = 0, $87$hi = 0, $92$hi = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $95_1 = 0, $95$hi = 0, $25_1 = 0, $27_1 = 0, $228_1 = 0, $79_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $6_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = 59451; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $500(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, 8754 | 0, $6_1 | 0, $6_1 | 0, $6_1 | 0, $6_1 | 0, $6_1 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 1048576; + HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] = i64toi32_i32$0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + $22_1 = 0; + break label$3; + } + $22_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 44 | 0) >> 2] = $22_1; + break label$1; + } + $25_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + $27_1 = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $27_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79($25_1 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 7; + break label$5; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $402(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, -1 | 0, $4_1 + 24 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$8 + } + label$9 : { + if (!(($287(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$0 = $318(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $228_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $228_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $213(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$7; + } + label$10 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (7 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + } + } + label$11 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$11 + } + i64toi32_i32$1 = 0; + $85$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $87$hi = i64toi32_i32$0; + i64toi32_i32$0 = $85$hi; + i64toi32_i32$0 = $87$hi; + i64toi32_i32$0 = $85$hi; + i64toi32_i32$0 = $87$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $85$hi; + i64toi32_i32$3 = 0; + label$12 : { + label$13 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$13 + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 48 | 0) >> 2] = 1048576; + HEAP32[(i64toi32_i32$0 + 52 | 0) >> 2] = i64toi32_i32$2; + break label$12; + } + i64toi32_i32$2 = 0; + $90$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $92$hi = i64toi32_i32$0; + i64toi32_i32$0 = $90$hi; + i64toi32_i32$0 = $92$hi; + i64toi32_i32$0 = $90$hi; + i64toi32_i32$0 = $92$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $90$hi; + i64toi32_i32$1 = 100; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { + $19_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $20_1 = 0 + } else { + $20_1 = 1 + } + $21_1 = $20_1; + } else { + $21_1 = 0 + } + $19_1 = $21_1; + } + label$14 : { + label$15 : { + if (!($19_1 & 1 | 0)) { + break label$15 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $95_1 = i64toi32_i32$3; + $95$hi = i64toi32_i32$0; + break label$14; + } + i64toi32_i32$0 = 0; + $95_1 = 100; + $95$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $95$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 48 | 0) >> 2] = $95_1; + HEAP32[(i64toi32_i32$3 + 52 | 0) >> 2] = i64toi32_i32$0; + } + } + $42(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + $79_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $79_1 | 0; + } + + function $2972($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, $44$hi = 0, $49$hi = 0, $46$hi = 0, $19_1 = 0, $20_1 = 0, $51$hi = 0, $167_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (!(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $44$hi = i64toi32_i32$0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $46$hi = i64toi32_i32$1; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $44$hi; + i64toi32_i32$3 = 0; + label$2 : { + label$3 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $331(HEAP32[$4_1 >> 2] | 0 | 0, 1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + break label$2; + } + $332(HEAP32[$4_1 >> 2] | 0 | 0, 1 | 0) | 0; + } + i64toi32_i32$1 = 0; + $49$hi = i64toi32_i32$1; + $19_1 = 2; + $20_1 = 0; + $325(HEAP32[$4_1 >> 2] | 0 | 0, $19_1 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $20_1 | 0) | 0; + $287(HEAP32[$4_1 >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $20_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $332(HEAP32[$4_1 >> 2] | 0 | 0, $19_1 | 0) | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $51$hi = i64toi32_i32$2; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$0 = 0; + label$4 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$4 + } + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$3 = $451(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $167_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] = $167_1; + HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] = i64toi32_i32$2; + $2974(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + } + $41_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $41_1 | 0; + } + + function $2973($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $36$hi = 0, i64toi32_i32$3 = 0, $38$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $36$hi = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $38$hi = i64toi32_i32$1; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$3 = 0; + label$1 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != ($36$hi | 0) | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) + (($2975(i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0) << 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 28 | 0; + continue label$3; + }; + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2974($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2975(HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $2975($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = global$0 - 16 | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + return (i64toi32_i32$0 >>> 0) % (97 >>> 0) | 0 | 0; + } + + function $2976($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = +$1_1; + $2_1 = $2_1 | 0; + var $5_1 = 0, $40_1 = 0, $41_1 = 0, i64toi32_i32$0 = 0, $86_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAPF64[($5_1 + 32 | 0) >> 3] = $1_1; + HEAP8[($5_1 + 31 | 0) >> 0] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) << 1 | 0) + 8 | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 24) | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $40_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $41_1 = HEAP32[($40_1 + 24 | 0) >> 2] | 0; + HEAP32[($40_1 + 24 | 0) >> 2] = $41_1 + 1 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $41_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 24) | 0; + HEAPF64[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 3] = +HEAPF64[($5_1 + 32 | 0) >> 3]; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAPU8[($5_1 + 31 | 0) >> 0] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0 | 0) / (2 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 20 | 0) >> 2] | 0, 24) | 0; + label$6 : { + if (!(($2983(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + $2984(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + continue label$5; + }; + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + } + $86_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $86_1 | 0; + } + + function $2977($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $33$hi = 0, $34$hi = 0, $21_1 = 0, $33_1 = 0, $87_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = HEAP32[(((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 116 | 0) + (($2975(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0) << 2 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : while (1) { + $21_1 = 0; + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $33_1 = i64toi32_i32$1; + $33$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $34$hi = i64toi32_i32$1; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $34$hi; + $87_1 = i64toi32_i32$0; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$2 = $33_1; + i64toi32_i32$0 = $34$hi; + $21_1 = (i64toi32_i32$2 | 0) != ($87_1 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0; + } + label$3 : { + if (!($21_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + $29_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $29_1 | 0; + } + + function $2978($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : while (1) { + label$3 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + if ((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + continue label$2 + } + break label$2; + }; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2979($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $11_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($11_1 + 16 | 0) >> 2] = (HEAP32[($11_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + return; + } + + function $2980($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, $39_1 = 0, $91_1 = 0, $95_1 = 0, $106_1 = 0, $117_1 = 0, $128_1 = 0, $139_1 = 0, $254_1 = 0.0, $188_1 = 0, i64toi32_i32$1 = 0, $327_1 = 0, $219_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 144 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 132 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 128 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 124 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 120 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (71 | 0) & 1 | 0)) { + break label$1 + } + if (!(((HEAPU8[((HEAP32[($8_1 + 128 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = $2917(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $327_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 116 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $327_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($8_1 + 132 | 0) >> 2] = (HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 8 | 0; + label$2 : { + label$3 : { + if (HEAP32[($8_1 + 136 | 0) >> 2] | 0) { + break label$3 + } + $39_1 = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + -4 | 0; + label$4 : { + switch ($39_1 | 0) { + case 6: + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 36 | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 88 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 32 | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 80 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + case 4: + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 28 | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 72 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 24 | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 64 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + case 2: + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 20 | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 56 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 16 | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 48 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + case 0: + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 12 | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 40 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 8 | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 32 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + break; + default: + break label$4; + }; + } + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 4 | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 24 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + $2916(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 16 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + break label$2; + } + $91_1 = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + -4 | 0; + label$9 : { + switch ($91_1 | 0) { + case 6: + $95_1 = $8_1 + 104 | 0; + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 36 | 0 | 0, $95_1 | 0); + HEAPF64[($8_1 + 88 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 32 | 0 | 0, $95_1 | 0); + HEAPF64[($8_1 + 80 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + case 4: + $106_1 = $8_1 + 104 | 0; + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 28 | 0 | 0, $106_1 | 0); + HEAPF64[($8_1 + 72 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 24 | 0 | 0, $106_1 | 0); + HEAPF64[($8_1 + 64 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + case 2: + $117_1 = $8_1 + 104 | 0; + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 20 | 0 | 0, $117_1 | 0); + HEAPF64[($8_1 + 56 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 16 | 0 | 0, $117_1 | 0); + HEAPF64[($8_1 + 48 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + case 0: + $128_1 = $8_1 + 104 | 0; + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 12 | 0 | 0, $128_1 | 0); + HEAPF64[($8_1 + 40 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 8 | 0 | 0, $128_1 | 0); + HEAPF64[($8_1 + 32 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + break; + default: + break label$9; + }; + } + $139_1 = $8_1 + 104 | 0; + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 4 | 0 | 0, $139_1 | 0); + HEAPF64[($8_1 + 24 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + $2916(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, $139_1 | 0); + HEAPF64[($8_1 + 16 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + } + label$14 : { + label$15 : { + if (!((HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (70 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($8_1 + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 116 | 0) >> 2] | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0, $8_1 + 16 | 0, $8_1 + 12 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$16 + } + HEAP32[(HEAP32[($8_1 + 120 | 0) >> 2] | 0) >> 2] = 0; + } + HEAPF64[(HEAP32[($8_1 + 124 | 0) >> 2] | 0) >> 3] = +(0 | 0); + break label$14; + } + HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 20 | 0) >> 2] = $8_1 + 16 | 0; + HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 32 | 0) >> 2] = ((HEAPU8[((HEAP32[($8_1 + 128 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + $254_1 = +HEAPF64[(HEAP32[($8_1 + 128 | 0) >> 2] | 0) >> 3]; + HEAPF64[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 3] = $254_1; + HEAPF64[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 64 | 0) >> 3] = $254_1; + $188_1 = (HEAPU8[((HEAP32[($8_1 + 128 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0; + HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 56 | 0) >> 2] = $188_1; + HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 60 | 0) >> 2] = $188_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 116 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!((HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($8_1 + 120 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[(HEAP32[($8_1 + 120 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + } + label$18 : { + label$19 : { + if (+HEAPF64[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 64 | 0) >> 3] < +HEAPF64[(HEAP32[($8_1 + 124 | 0) >> 2] | 0) >> 3] & 1 | 0) { + break label$19 + } + if (!(+HEAPF64[(HEAP32[($8_1 + 124 | 0) >> 2] | 0) >> 3] < +(0 | 0) & 1 | 0)) { + break label$18 + } + } + HEAPF64[(HEAP32[($8_1 + 124 | 0) >> 2] | 0) >> 3] = +HEAPF64[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 64 | 0) >> 3]; + } + } + $219_1 = HEAP32[($8_1 + 108 | 0) >> 2] | 0; + global$0 = $8_1 + 144 | 0; + return $219_1 | 0; + } + + function $2981($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $71_1 = 0.0, $45_1 = 0; + $6_1 = global$0 - 32 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) << 2 | 0) + 8 | 0) | 0; + HEAP32[$6_1 >> 2] = (((((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0) + (((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0) + (((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0) + ((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$2 + } + $71_1 = +(HEAP32[$6_1 >> 2] | 0 | 0); + break label$1; + } + $71_1 = +Math_fround(HEAPF32[$6_1 >> 2]); + } + HEAPF64[($6_1 + 8 | 0) >> 3] = $71_1; + $45_1 = (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + -63 | 0; + label$3 : { + label$4 : { + label$5 : { + switch ($45_1 | 0) { + case 0: + break label$3; + case 1: + break label$4; + case 3: + label$12 : { + if (!(+HEAPF64[($6_1 + 8 | 0) >> 3] <= +HEAPF64[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 3] & 1 | 0)) { + break label$12 + } + break label$3; + } + break label$4; + case 4: + label$13 : { + if (!(+HEAPF64[($6_1 + 8 | 0) >> 3] < +HEAPF64[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 3] & 1 | 0)) { + break label$13 + } + break label$3; + } + break label$4; + case 5: + label$14 : { + if (!(+HEAPF64[($6_1 + 8 | 0) >> 3] >= +HEAPF64[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 3] & 1 | 0)) { + break label$14 + } + break label$3; + } + break label$4; + case 6: + label$15 : { + if (!(+HEAPF64[($6_1 + 8 | 0) >> 3] > +HEAPF64[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 3] & 1 | 0)) { + break label$15 + } + break label$3; + } + break label$4; + default: + break label$5; + }; + } + label$16 : { + if (!(+HEAPF64[($6_1 + 8 | 0) >> 3] == +HEAPF64[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 3] & 1 | 0)) { + break label$16 + } + break label$3; + } + } + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = 0; + } + return; + } + + function $2982($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $20_1 = 0, $100_1 = 0.0, $106_1 = 0.0; + $6_1 = global$0 - 48 | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 36 | 0) >> 2] = ((((HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0) & 254 | 0) << 2 | 0) + (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0) + 8 | 0; + $20_1 = (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + -63 | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($20_1 | 0) { + case 0: + break label$1; + case 1: + break label$2; + case 2: + case 3: + case 4: + HEAP32[($6_1 + 16 | 0) >> 2] = (((((HEAPU8[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0) + (((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0) + (((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0) + ((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0; + label$7 : { + label$8 : { + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$8 + } + $100_1 = +(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + break label$7; + } + $100_1 = +Math_fround(HEAPF32[($6_1 + 16 | 0) >> 2]); + } + HEAPF64[($6_1 + 24 | 0) >> 3] = $100_1; + label$9 : { + if (!(+HEAPF64[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 3] >= +HEAPF64[($6_1 + 24 | 0) >> 3] & 1 | 0)) { + break label$9 + } + break label$1; + } + label$10 : { + if (!((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (65 | 0) & 1 | 0)) { + break label$10 + } + break label$2; + } + break; + default: + break label$3; + }; + } + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (((((HEAPU8[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0) + (((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0) + (((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0) + ((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0; + label$11 : { + label$12 : { + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$12 + } + $106_1 = +(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + break label$11; + } + $106_1 = +Math_fround(HEAPF32[($6_1 + 8 | 0) >> 2]); + } + HEAPF64[($6_1 + 24 | 0) >> 3] = $106_1; + label$13 : { + if (!(+HEAPF64[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 3] <= +HEAPF64[($6_1 + 24 | 0) >> 3] & 1 | 0)) { + break label$13 + } + break label$1; + } + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = 0; + } + return; + } + + function $2983($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(+HEAPF64[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 3] < +HEAPF64[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 3] & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = -1; + break label$1; + } + label$3 : { + if (!(+HEAPF64[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 3] > +HEAPF64[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 3] & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) < ((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = -1; + break label$1; + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) > ((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2984($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $9_1 = 0, $27_1 = 0, $45_1 = 0, $15_1 = 0, $16_1 = 0, $19_1 = 0, $33_1 = 0, $34_1 = 0, $37_1 = 0, $46_1 = 0, $49_1 = 0, $161_1 = 0, $171_1 = 0, $181_1 = 0, $209_1 = 0, $219_1 = 0, $229_1 = 0, $245_1 = 0, $255_1 = 0, $265_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $9_1 = $5_1 + 8 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + $15_1 = (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 40 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = $15_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $161_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1; + HEAP32[i64toi32_i32$0 >> 2] = $161_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $16_1 = 16; + i64toi32_i32$2 = i64toi32_i32$2 + $16_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $171_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1 + $16_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $171_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $19_1 = 8; + i64toi32_i32$2 = $15_1 + $19_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $181_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1 + $19_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $181_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $27_1 = (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 40 | 0) >> 2] | 0, 24) | 0; + $33_1 = (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 36 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = $33_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $209_1 = i64toi32_i32$1; + i64toi32_i32$1 = $27_1; + HEAP32[i64toi32_i32$1 >> 2] = $209_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $34_1 = 16; + i64toi32_i32$2 = i64toi32_i32$2 + $34_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $219_1 = i64toi32_i32$0; + i64toi32_i32$0 = $27_1 + $34_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $219_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $37_1 = 8; + i64toi32_i32$2 = $33_1 + $37_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $229_1 = i64toi32_i32$1; + i64toi32_i32$1 = $27_1 + $37_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $229_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $45_1 = (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 36 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $245_1 = i64toi32_i32$0; + i64toi32_i32$0 = $45_1; + HEAP32[i64toi32_i32$0 >> 2] = $245_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $46_1 = 16; + i64toi32_i32$2 = i64toi32_i32$2 + $46_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $255_1 = i64toi32_i32$1; + i64toi32_i32$1 = $45_1 + $46_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $255_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $49_1 = 8; + i64toi32_i32$2 = $9_1 + $49_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $265_1 = i64toi32_i32$0; + i64toi32_i32$0 = $45_1 + $49_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $265_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0; + label$1 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) < (5 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) >= (5 | 0) & 1 | 0)) { + break label$3 + } + $2945(HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + break label$2; + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2985($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $10_1 = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + $10_1 = $2997(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + if (!((0 | 0) != ($10_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $2998(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!(($2912((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0 | 0) < ((((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 4 | 0 | 0) / ((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) / (3 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2986(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2999(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + } + $58_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $58_1 | 0; + } + + function $2986($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $39_1 = 0, $55_1 = 0, $71_1 = 0, $256_1 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3000(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2985(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2945(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + label$3 : { + label$4 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$3; + } + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $287(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) | 0; + $39_1 = $222(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $39_1; + label$5 : { + if (!((0 | 0) != ($39_1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$3; + } + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $287(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) | 0; + $55_1 = $222(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $55_1; + label$6 : { + if (!((0 | 0) != ($55_1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$3; + } + $2973(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $256_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $256_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + $71_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($71_1 + 16 | 0) >> 2] = (HEAP32[($71_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $77_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $77_1 | 0; + } + + function $2987($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 8 | 0) & 255 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0 | 0) & 255 | 0; + return; + } + + function $2988($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, $5_1 = 0, $13_1 = 0, $24_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $52_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 64 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2912((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 68 | 0) >> 2] = $5_1; + label$1 : while (1) { + $13_1 = 0; + label$2 : { + if (HEAP32[($4_1 + 64 | 0) >> 2] | 0) { + break label$2 + } + $13_1 = (HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($13_1 & 1 | 0)) { + break label$3 + } + $24_1 = $4_1 + 8 | 0; + $2913(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, $24_1 | 0); + i64toi32_i32$2 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2960(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, $24_1 | 0, i64toi32_i32$0 | 0, $4_1 + 56 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($4_1 + 64 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2961(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2945(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($4_1 + 64 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + } + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $52_1 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $52_1 | 0; + } + + function $2989($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5_1 = 0, $8_1 = 0, $9_1 = 0, $10_1 = 0, $13_1 = 0, $16_1 = 0, $19_1 = 0, $22_1 = 0, $61_1 = 0, $71_1 = 0, $81_1 = 0, $91_1 = 0, $101_1 = 0, $111_1 = 0, $40_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + $8_1 = $5_1 + 8 | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + $9_1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $61_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1; + HEAP32[i64toi32_i32$0 >> 2] = $61_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $10_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $10_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $71_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1 + $10_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $71_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $13_1 = 32; + i64toi32_i32$2 = $9_1 + $13_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $81_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1 + $13_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $81_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $16_1 = 24; + i64toi32_i32$2 = $9_1 + $16_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $91_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1 + $16_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $91_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $19_1 = 16; + i64toi32_i32$2 = $9_1 + $19_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $101_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1 + $19_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $101_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $22_1 = 8; + i64toi32_i32$2 = $9_1 + $22_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $111_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1 + $22_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $111_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$2990(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, $8_1 | 0)), HEAPF64[(wasm2js_i32$0 + 56 | 0) >> 3] = wasm2js_f64$0; + $3001(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, $8_1 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + $40_1 = +$2990(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, $8_1 | 0) - +HEAPF64[($5_1 + 56 | 0) >> 3]; + global$0 = $5_1 + 80 | 0; + return +$40_1; + } + + function $2990($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$6 = 0, $12_1 = 0, $14_1 = 0, $19_1 = 0, $24_1 = 0, $29_1 = 0, $34_1 = 0, $40_1 = 0, $72$hi = 0, $73$hi = 0, $75$hi = 0, $76$hi = 0, $78$hi = 0, $79$hi = 0, $81$hi = 0, $82$hi = 0, $84$hi = 0, $85$hi = 0, $72_1 = 0, $297_1 = 0, $75_1 = 0, $318_1 = 0, $78_1 = 0, $344_1 = 0, $81_1 = 0, $370_1 = 0, $84_1 = 0, $396_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAPF64[$4_1 >> 3] = 1.0; + label$1 : { + label$2 : { + if ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + $12_1 = (HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) + -2 | 0; + label$3 : { + switch ($12_1 | 0) { + case 3: + $14_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAPF64[$4_1 >> 3] = +Math_fround(Math_fround(HEAPF32[($14_1 + 44 | 0) >> 2]) - Math_fround(HEAPF32[($14_1 + 40 | 0) >> 2])); + case 2: + $19_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAPF64[$4_1 >> 3] = +HEAPF64[$4_1 >> 3] * +Math_fround(Math_fround(HEAPF32[($19_1 + 36 | 0) >> 2]) - Math_fround(HEAPF32[($19_1 + 32 | 0) >> 2])); + case 1: + $24_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAPF64[$4_1 >> 3] = +HEAPF64[$4_1 >> 3] * +Math_fround(Math_fround(HEAPF32[($24_1 + 28 | 0) >> 2]) - Math_fround(HEAPF32[($24_1 + 24 | 0) >> 2])); + case 0: + $29_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAPF64[$4_1 >> 3] = +HEAPF64[$4_1 >> 3] * +Math_fround(Math_fround(HEAPF32[($29_1 + 20 | 0) >> 2]) - Math_fround(HEAPF32[($29_1 + 16 | 0) >> 2])); + break; + default: + break label$3; + }; + } + $34_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAPF64[$4_1 >> 3] = +HEAPF64[$4_1 >> 3] * +Math_fround(Math_fround(HEAPF32[($34_1 + 12 | 0) >> 2]) - Math_fround(HEAPF32[($34_1 + 8 | 0) >> 2])); + break label$1; + } + $40_1 = (HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) + -2 | 0; + label$8 : { + switch ($40_1 | 0) { + case 3: + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $72_1 = i64toi32_i32$1; + $72$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $73$hi = i64toi32_i32$0; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$0 = $73$hi; + $297_1 = i64toi32_i32$1; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$2 = $72_1; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$3 = $297_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$0 = 0; + HEAPF64[$4_1 >> 3] = +(i64toi32_i32$4 >>> 0) + 4294967296.0 * +(i64toi32_i32$5 | 0); + case 2: + i64toi32_i32$2 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $75_1 = i64toi32_i32$2; + $75$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $76$hi = i64toi32_i32$5; + i64toi32_i32$5 = $75$hi; + i64toi32_i32$5 = $76$hi; + $318_1 = i64toi32_i32$2; + i64toi32_i32$5 = $75$hi; + i64toi32_i32$0 = $75_1; + i64toi32_i32$2 = $76$hi; + i64toi32_i32$3 = $318_1; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$5 = 0; + HEAPF64[$4_1 >> 3] = +HEAPF64[$4_1 >> 3] * (+(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$4 | 0)); + case 1: + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $78_1 = i64toi32_i32$0; + $78$hi = i64toi32_i32$4; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $79$hi = i64toi32_i32$4; + i64toi32_i32$4 = $78$hi; + i64toi32_i32$4 = $79$hi; + $344_1 = i64toi32_i32$0; + i64toi32_i32$4 = $78$hi; + i64toi32_i32$5 = $78_1; + i64toi32_i32$0 = $79$hi; + i64toi32_i32$3 = $344_1; + i64toi32_i32$2 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$4 - i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$4 = 0; + HEAPF64[$4_1 >> 3] = +HEAPF64[$4_1 >> 3] * (+(i64toi32_i32$5 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0)); + case 0: + i64toi32_i32$5 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $81_1 = i64toi32_i32$5; + $81$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $82$hi = i64toi32_i32$1; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$1 = $82$hi; + $370_1 = i64toi32_i32$5; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$4 = $81_1; + i64toi32_i32$5 = $82$hi; + i64toi32_i32$3 = $370_1; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$2 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$1 = 0; + HEAPF64[$4_1 >> 3] = +HEAPF64[$4_1 >> 3] * (+(i64toi32_i32$4 >>> 0) + 4294967296.0 * +(i64toi32_i32$2 | 0)); + break; + default: + break label$8; + }; + } + i64toi32_i32$4 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $84_1 = i64toi32_i32$4; + $84$hi = i64toi32_i32$2; + i64toi32_i32$4 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $85$hi = i64toi32_i32$2; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$2 = $85$hi; + $396_1 = i64toi32_i32$4; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$1 = $84_1; + i64toi32_i32$4 = $85$hi; + i64toi32_i32$3 = $396_1; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$2 = 0; + HEAPF64[$4_1 >> 3] = +HEAPF64[$4_1 >> 3] * (+(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0)); + } + return +(+HEAPF64[$4_1 >> 3]); + } + + function $2991($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $46_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 4 | 0 | 0) / ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2912((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $3002(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + $2987((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0 | 0); + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + } + $46_1 = (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0; + global$0 = $5_1 + 32 | 0; + return $46_1 | 0; + } + + function $2992($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $66_1 = 0, $7_1 = 0, $67_1 = 0, $301$hi = 0, $311$hi = 0, $312$hi = 0, $315$hi = 0, $323$hi = 0, $324$hi = 0, $327$hi = 0, $68_1 = 0, $71_1 = 0, $74_1 = 0, $77_1 = 0, $80_1 = 0, $309$hi = 0, $97_1 = 0, $111_1 = 0, $156_1 = 0, $169_1 = 0, $319$hi = 0, $203_1 = 0, $220_1 = 0, $329$hi = 0, $487_1 = 0, $497_1 = 0, $507_1 = 0, $517_1 = 0, $527_1 = 0, $537_1 = 0, $730_1 = 0, $761_1 = 0, $767_1 = 0, $917_1 = 0, $323_1 = 0, $942_1 = 0, $1010_1 = 0, $297_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 176 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 172 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 168 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 164 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 160 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 152 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 148 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2912((HEAP32[((HEAP32[($6_1 + 168 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 132 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 128 | 0) >> 2] = $7_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $41(Math_imul((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 1 | 0, 52) | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($6_1 + 148 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($6_1 + 136 | 0) >> 2] = (HEAP32[($6_1 + 140 | 0) >> 2] | 0) + Math_imul((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 1 | 0, 48) | 0; + $3289(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, 0 | 0, ((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 1 | 0) << 2 | 0 | 0) | 0; + HEAP32[($6_1 + 156 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 144 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $2913(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 140 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 156 | 0) >> 2] | 0, 48) | 0 | 0); + HEAP32[($6_1 + 156 | 0) >> 2] = (HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + i64toi32_i32$0 = 0; + $301$hi = i64toi32_i32$0; + $3005(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0); + $66_1 = (HEAP32[($6_1 + 140 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 144 | 0) >> 2] | 0, 48) | 0; + $67_1 = HEAP32[($6_1 + 164 | 0) >> 2] | 0; + i64toi32_i32$2 = $67_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $487_1 = i64toi32_i32$0; + i64toi32_i32$0 = $66_1; + HEAP32[i64toi32_i32$0 >> 2] = $487_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $68_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $68_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $497_1 = i64toi32_i32$1; + i64toi32_i32$1 = $66_1 + $68_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $497_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $71_1 = 32; + i64toi32_i32$2 = $67_1 + $71_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $507_1 = i64toi32_i32$0; + i64toi32_i32$0 = $66_1 + $71_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $507_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $74_1 = 24; + i64toi32_i32$2 = $67_1 + $74_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $517_1 = i64toi32_i32$1; + i64toi32_i32$1 = $66_1 + $74_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $517_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $77_1 = 16; + i64toi32_i32$2 = $67_1 + $77_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $527_1 = i64toi32_i32$0; + i64toi32_i32$0 = $66_1 + $77_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $527_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $80_1 = 8; + i64toi32_i32$2 = $67_1 + $80_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $537_1 = i64toi32_i32$1; + i64toi32_i32$1 = $66_1 + $80_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $537_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 144 | 0) >> 2] = (HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $309$hi = i64toi32_i32$1; + i64toi32_i32$1 = $301$hi; + i64toi32_i32$1 = $309$hi; + i64toi32_i32$1 = $301$hi; + i64toi32_i32$1 = $309$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $301$hi; + i64toi32_i32$3 = 1; + label$5 : { + label$6 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3006(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3006(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + $97_1 = HEAP32[($6_1 + 172 | 0) >> 2] | 0; + HEAP32[($97_1 + 28 | 0) >> 2] = (HEAP32[($97_1 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($6_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + $2987(HEAP32[((HEAP32[($6_1 + 168 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 172 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + break label$5; + } + HEAP32[($6_1 + 132 | 0) >> 2] = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3006(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 132 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + $111_1 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + HEAP32[($111_1 + 16 | 0) >> 2] = (HEAP32[($111_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + if ((HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + } + HEAP32[($6_1 + 148 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($6_1 + 172 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + $3289(HEAP32[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($6_1 + 172 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3007(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0, $6_1 + 80 | 0 | 0, $6_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($6_1 + 148 | 0) >> 2] | 0)) { + break label$9 + } + break label$1; + } + $156_1 = $2972(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 148 | 0) >> 2] = $156_1; + label$10 : { + label$11 : { + if ((0 | 0) != ($156_1 | 0) & 1 | 0) { + break label$11 + } + i64toi32_i32$2 = 0; + $311$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $312$hi = i64toi32_i32$1; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$1 = $312$hi; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$1 = $312$hi; + $730_1 = i64toi32_i32$2; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = $312$hi; + i64toi32_i32$0 = $730_1; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$10 + } + $169_1 = $2972(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 148 | 0) >> 2] = $169_1; + if (!((0 | 0) != ($169_1 | 0) & 1 | 0)) { + break label$10 + } + } + break label$1; + } + i64toi32_i32$3 = 0; + $315$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $761_1 = i64toi32_i32$3; + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $761_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $767_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $767_1; + HEAP32[($6_1 + 84 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $319$hi = i64toi32_i32$1; + i64toi32_i32$1 = $315$hi; + i64toi32_i32$1 = $319$hi; + i64toi32_i32$1 = $315$hi; + i64toi32_i32$1 = $319$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $315$hi; + i64toi32_i32$2 = 1; + label$12 : { + label$13 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2961(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 132 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 + 80 | 0 | 0, (HEAP32[($6_1 + 160 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!(HEAP32[($6_1 + 148 | 0) >> 2] | 0)) { + break label$14 + } + break label$1; + } + break label$12; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 132 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3000(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, $6_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (HEAP32[($6_1 + 148 | 0) >> 2] | 0) { + break label$15 + } + $203_1 = $6_1 + 80 | 0; + $3002(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, $203_1 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2994(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, $203_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + } + label$16 : { + if (!(HEAP32[($6_1 + 148 | 0) >> 2] | 0)) { + break label$16 + } + break label$1; + } + } + $220_1 = $2961(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 128 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0, (HEAP32[($6_1 + 160 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP32[($6_1 + 148 | 0) >> 2] = $220_1; + label$17 : { + if (!$220_1) { + break label$17 + } + break label$1; + } + HEAP32[($6_1 + 156 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0) < ($2912((HEAP32[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$18 + } + i64toi32_i32$0 = $2915(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $917_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $917_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3008(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $323_1 = i64toi32_i32$0; + $323$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 164 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $324$hi = i64toi32_i32$0; + i64toi32_i32$0 = $323$hi; + i64toi32_i32$0 = $324$hi; + i64toi32_i32$0 = $323$hi; + i64toi32_i32$0 = $324$hi; + $942_1 = i64toi32_i32$1; + i64toi32_i32$0 = $323$hi; + i64toi32_i32$2 = $323_1; + i64toi32_i32$1 = $324$hi; + i64toi32_i32$3 = $942_1; + label$20 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($6_1 + 152 | 0) >> 2] = 1; + } + label$21 : { + if (!(HEAP32[($6_1 + 148 | 0) >> 2] | 0)) { + break label$21 + } + break label$1; + } + HEAP32[($6_1 + 156 | 0) >> 2] = (HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + i64toi32_i32$2 = 0; + $327$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $329$hi = i64toi32_i32$0; + i64toi32_i32$0 = $327$hi; + i64toi32_i32$0 = $329$hi; + i64toi32_i32$0 = $327$hi; + i64toi32_i32$0 = $329$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $327$hi; + i64toi32_i32$1 = 1; + label$22 : { + label$23 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($6_1 + 156 | 0) >> 2] = 0; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0) < ($2912((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$24 + } + i64toi32_i32$3 = $2915(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1010_1 = i64toi32_i32$3; + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1010_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3008(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$3 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (!(HEAP32[($6_1 + 148 | 0) >> 2] | 0)) { + break label$26 + } + break label$1; + } + HEAP32[($6_1 + 156 | 0) >> 2] = (HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + break label$22; + } + label$27 : { + if (HEAP32[($6_1 + 152 | 0) >> 2] | 0) { + break label$27 + } + i64toi32_i32$1 = HEAP32[($6_1 + 164 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3008(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + } + } + label$28 : { + if (HEAP32[($6_1 + 148 | 0) >> 2] | 0) { + break label$28 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2945(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 128 | 0) >> 2] = 0; + } + label$29 : { + if (HEAP32[($6_1 + 148 | 0) >> 2] | 0) { + break label$29 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2945(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 132 | 0) >> 2] = 0; + } + } + $2945(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) | 0; + $2945(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0; + $42(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0); + $297_1 = HEAP32[($6_1 + 148 | 0) >> 2] | 0; + global$0 = $6_1 + 176 | 0; + return $297_1 | 0; + } + + function $2993($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $79_1 = 0, $446_1 = 0, $80_1 = 0, $10_1 = 0, $454$hi = 0, $455$hi = 0, $7_1 = 0, $81_1 = 0, $84_1 = 0, $87_1 = 0, $90_1 = 0, $93_1 = 0, $467_1 = 0.0, $156_1 = 0, $473_1 = 0.0, $194_1 = 0, $214_1 = 0, $235_1 = 0, $485_1 = 0.0, $489_1 = 0.0, $313_1 = 0, $326_1 = 0, $342_1 = 0, $458$hi = 0, $459$hi = 0, $460$hi = 0, $461$hi = 0, $401_1 = 0, $676_1 = 0, $686_1 = 0, $696_1 = 0, $706_1 = 0, $716_1 = 0, $726_1 = 0, $487_1 = 0.0, $454_1 = 0, $1391_1 = 0, $458_1 = 0, $1413_1 = 0, $460_1 = 0, $1429_1 = 0, $443_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 128 | 0; + global$0 = $6_1; + $7_1 = 0; + $10_1 = $6_1 + 48 | 0; + HEAP32[($6_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 112 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 108 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $7_1; + i64toi32_i32$0 = 0; + $446_1 = 0; + i64toi32_i32$1 = $10_1; + HEAP32[i64toi32_i32$1 >> 2] = $446_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $446_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $10_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $446_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $10_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $446_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $10_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $446_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = ($2912((HEAP32[((HEAP32[($6_1 + 116 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 32 | 0) >> 2] = ((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 1 | 0) & -2 | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $41((HEAP32[($6_1 + 32 | 0) >> 2] | 0) << 6 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($6_1 + 124 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($6_1 + 104 | 0) >> 2] = (HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 32 | 0) >> 2] | 0, 48) | 0; + HEAP32[($6_1 + 100 | 0) >> 2] = (HEAP32[($6_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($6_1 + 92 | 0) >> 2] = (HEAP32[($6_1 + 100 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == ((HEAP32[($6_1 + 88 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$6 + } + $79_1 = (HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0; + $80_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$2 = $80_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $676_1 = i64toi32_i32$0; + i64toi32_i32$0 = $79_1; + HEAP32[i64toi32_i32$0 >> 2] = $676_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $81_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $81_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $686_1 = i64toi32_i32$1; + i64toi32_i32$1 = $79_1 + $81_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $686_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $84_1 = 32; + i64toi32_i32$2 = $80_1 + $84_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $696_1 = i64toi32_i32$0; + i64toi32_i32$0 = $79_1 + $84_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $696_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $87_1 = 24; + i64toi32_i32$2 = $80_1 + $87_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $706_1 = i64toi32_i32$1; + i64toi32_i32$1 = $79_1 + $87_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $706_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $90_1 = 16; + i64toi32_i32$2 = $80_1 + $90_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $716_1 = i64toi32_i32$0; + i64toi32_i32$0 = $79_1 + $90_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $716_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $93_1 = 8; + i64toi32_i32$2 = $80_1 + $93_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $726_1 = i64toi32_i32$1; + i64toi32_i32$1 = $79_1 + $93_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $726_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$5; + } + $2913(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0 | 0); + } + HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + label$10 : { + if ((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$10 + } + $467_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0) + 8 | 0) >> 2]); + break label$9; + } + $467_1 = +(HEAP32[((((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0) + 8 | 0) + (((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $156_1 = ($6_1 + 48 | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAPF64[$156_1 >> 3] = +HEAPF64[$156_1 >> 3] + $467_1; + label$11 : { + label$12 : { + if ((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + $473_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) + ((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0) | 0) + 12 | 0) >> 2]); + break label$11; + } + $473_1 = +(HEAP32[((((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0) + 8 | 0) + ((((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $194_1 = ($6_1 + 48 | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAPF64[$194_1 >> 3] = +HEAPF64[$194_1 >> 3] + $473_1; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$13 + } + $214_1 = $6_1 + 48 | 0; + HEAPF64[($214_1 + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3] = +HEAPF64[($214_1 + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3] / (+(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0) * 2.0); + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + $235_1 = 0; + HEAPF64[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3] = +($235_1 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = $235_1; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$17 + } + label$19 : { + label$20 : { + if ((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$20 + } + $485_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) + ((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0) | 0) + 12 | 0) >> 2]); + break label$19; + } + $485_1 = +(HEAP32[((((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0) + 8 | 0) + ((((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $487_1 = $485_1; + label$21 : { + label$22 : { + if ((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$22 + } + $489_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0) + 8 | 0) >> 2]); + break label$21; + } + $489_1 = +(HEAP32[((((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0) + 8 | 0) + (((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $313_1 = $6_1 + 48 | 0; + HEAPF64[($6_1 + 24 | 0) >> 3] = $487_1 - $489_1; + $326_1 = (HEAP32[($6_1 + 92 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAPF64[$326_1 >> 3] = +HEAPF64[$326_1 >> 3] + (+HEAPF64[($6_1 + 24 | 0) >> 3] - +HEAPF64[($313_1 + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3]) * (+HEAPF64[($6_1 + 24 | 0) >> 3] - +HEAPF64[($313_1 + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3]); + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + $3009(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0); + $3005(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + label$23 : while (1) { + $342_1 = 0; + label$24 : { + if (HEAP32[($6_1 + 36 | 0) >> 2] | 0) { + break label$24 + } + $342_1 = (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) < ((HEAP32[($6_1 + 88 | 0) >> 2] | 0) - (((((HEAP32[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 4 | 0 | 0) / ((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) / (3 | 0) | 0) + 1 | 0) | 0 | 0); + } + label$25 : { + if (!($342_1 & 1 | 0)) { + break label$25 + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0; + $2991(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $454_1 = i64toi32_i32$0; + $454$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $455$hi = i64toi32_i32$0; + i64toi32_i32$0 = $454$hi; + i64toi32_i32$0 = $455$hi; + i64toi32_i32$0 = $454$hi; + i64toi32_i32$0 = $455$hi; + $1391_1 = i64toi32_i32$1; + i64toi32_i32$0 = $454$hi; + i64toi32_i32$2 = $454_1; + i64toi32_i32$1 = $455$hi; + i64toi32_i32$3 = $1391_1; + label$26 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$26 + } + label$27 : { + label$28 : { + if (HEAP32[($6_1 + 108 | 0) >> 2] | 0) { + break label$28 + } + i64toi32_i32$3 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $458_1 = i64toi32_i32$2; + $458$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $459$hi = i64toi32_i32$2; + i64toi32_i32$2 = $458$hi; + i64toi32_i32$2 = $459$hi; + $1413_1 = i64toi32_i32$0; + i64toi32_i32$2 = $458$hi; + i64toi32_i32$0 = $459$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2995(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, $458_1 | 0, i64toi32_i32$2 | 0, $1413_1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$27; + } + i64toi32_i32$3 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $460_1 = i64toi32_i32$0; + $460$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $461$hi = i64toi32_i32$0; + i64toi32_i32$0 = $460$hi; + i64toi32_i32$0 = $461$hi; + $1429_1 = i64toi32_i32$2; + i64toi32_i32$0 = $460$hi; + i64toi32_i32$2 = $461$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2996(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, $460_1 | 0, i64toi32_i32$0 | 0, $1429_1 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + } + break label$23; + }; + label$29 : { + if (HEAP32[($6_1 + 36 | 0) >> 2] | 0) { + break label$29 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2999(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + label$30 : while (1) { + $401_1 = 0; + label$31 : { + if (HEAP32[($6_1 + 36 | 0) >> 2] | 0) { + break label$31 + } + $401_1 = (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0); + } + label$32 : { + if (!($401_1 & 1 | 0)) { + break label$32 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2960(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$33 : { + if (HEAP32[($6_1 + 36 | 0) >> 2] | 0) { + break label$33 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2961(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2945(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$34 : { + if (HEAP32[($6_1 + 36 | 0) >> 2] | 0) { + break label$34 + } + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$30; + } + break label$30; + }; + $42(HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 124 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + $443_1 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + global$0 = $6_1 + 128 | 0; + return $443_1 | 0; + } + + function $2994($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $21_1 = 0, $36_1 = 0, $45_1 = 0, $53_1 = 0; + $5_1 = global$0 - 96 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[(HEAP32[($5_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + $21_1 = (HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $21_1; + label$4 : { + label$5 : { + if (($21_1 | 0) > (1e3 | 0) & 1 | 0) { + break label$5 + } + if (!($3000(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0) | 0)) { + break label$4 + } + } + HEAP32[($5_1 + 92 | 0) >> 2] = 267; + break label$1; + } + $36_1 = $5_1 + 16 | 0; + $2913(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $36_1 | 0); + label$6 : { + if ($3010(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, $36_1 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + $45_1 = $5_1 + 16 | 0; + $3001(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, $45_1 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0); + $3002(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, $45_1 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($5_1 + 92 | 0) >> 2] = 0; + } + $53_1 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + global$0 = $5_1 + 96 | 0; + return $53_1 | 0; + } + + function $2995($0_1, $1_1, $1$hi, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $16_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, 2 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $287(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) | 0; + $16_1 = $222(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 32 | 0; + return $16_1 | 0; + } + + function $2996($0_1, $1_1, $1$hi, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $16_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0, 2 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $287(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) | 0; + $16_1 = $222(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 32 | 0; + return $16_1 | 0; + } + + function $2997($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, $9_1 = 0, $90$hi = 0, $96$hi = 0, $97$hi = 0, $92$hi = 0, $51_1 = 0, $193_1 = 0, $96_1 = 0, $220_1 = 0, $87_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$1 : while (1) { + $9_1 = 0; + label$2 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + $90$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $92$hi = i64toi32_i32$1; + i64toi32_i32$1 = $90$hi; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$1 = $90$hi; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $90$hi; + i64toi32_i32$3 = 1; + $9_1 = 0; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + $9_1 = (HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($9_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $287(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$1 = $318(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $193_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $193_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$5 : while (1) { + $51_1 = 0; + label$6 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $96_1 = i64toi32_i32$2; + $96$hi = i64toi32_i32$1; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $97$hi = i64toi32_i32$2; + i64toi32_i32$2 = $96$hi; + i64toi32_i32$2 = $97$hi; + i64toi32_i32$2 = $96$hi; + i64toi32_i32$2 = $97$hi; + $220_1 = i64toi32_i32$1; + i64toi32_i32$2 = $96$hi; + i64toi32_i32$3 = $96_1; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$0 = $220_1; + $51_1 = (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | 0; + } + label$7 : { + if (!($51_1 & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + continue label$5; + } + break label$5; + }; + label$8 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2942(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0, 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + label$10 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$10 + } + if ((HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 267; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + $87_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $87_1 | 0; + } + + function $2998($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (Math_imul((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = Math_imul((($2912((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0) - (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) - 1 | 0, (HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0)), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $3290(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $2987((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0, ($2912((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0) - 1 | 0 | 0); + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + global$0 = $5_1 + 32 | 0; + return; + } + + function $2999($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $38_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 116 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 112 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2912((HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + $2913(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, 0 | 0, $4_1 + 56 | 0 | 0); + HEAP32[($4_1 + 108 | 0) >> 2] = 1; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $38_1 = $4_1 + 8 | 0; + $2913(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, $38_1 | 0); + $3001(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, $4_1 + 56 | 0 | 0, $38_1 | 0); + HEAP32[($4_1 + 108 | 0) >> 2] = (HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + i64toi32_i32$2 = HEAP32[($4_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3000(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, $4_1 + 108 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($4_1 + 112 | 0) >> 2] | 0) { + break label$4 + } + $3002(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0, $4_1 + 56 | 0 | 0, HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2999(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + } + } + $63_1 = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + global$0 = $4_1 + 128 | 0; + return $63_1 | 0; + } + + function $3000($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $23_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2941(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = -1; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $23_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $23_1 | 0; + } + + function $3001($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $228_1 = Math_fround(0), $234_1 = Math_fround(0), $139_1 = 0, $191_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = 0; + label$1 : { + label$2 : { + if ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + label$3 : while (1) { + label$4 : { + label$5 : { + if (!(Math_fround(HEAPF32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2]) < Math_fround(HEAPF32[(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$5 + } + $228_1 = Math_fround(HEAPF32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2]); + break label$4; + } + $228_1 = Math_fround(HEAPF32[(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2]); + } + HEAPF32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] = $228_1; + label$6 : { + label$7 : { + if (!(Math_fround(HEAPF32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2]) > Math_fround(HEAPF32[(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$7 + } + $234_1 = Math_fround(HEAPF32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2]); + break label$6; + } + $234_1 = Math_fround(HEAPF32[(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2]); + } + HEAPF32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $234_1; + HEAP32[$5_1 >> 2] = (HEAP32[$5_1 >> 2] | 0) + 2 | 0; + if ((HEAP32[$5_1 >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + continue label$3 + } + break label$3; + }; + break label$1; + } + label$8 : while (1) { + label$9 : { + label$10 : { + if (!((HEAP32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) < (HEAP32[(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $139_1 = HEAP32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$9; + } + $139_1 = HEAP32[(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] = $139_1; + label$11 : { + label$12 : { + if (!((HEAP32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) > (HEAP32[(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $191_1 = HEAP32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + break label$11; + } + $191_1 = HEAP32[(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $191_1; + HEAP32[$5_1 >> 2] = (HEAP32[$5_1 >> 2] | 0) + 2 | 0; + if ((HEAP32[$5_1 >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + continue label$8 + } + break label$8; + }; + } + return; + } + + function $3002($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $21_1 = 0, $42_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (Math_imul((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0) | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $21_1 = $3003(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[i64toi32_i32$2 >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + $21_1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $42_1 = $3004(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + $42_1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + global$0 = $6_1 + 32 | 0; + return; + } + + function $3003($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $4_1 = 0, $22$hi = 0, $23$hi = 0, $42_1 = 0, $24$hi = 0, $25$hi = 0, $27$hi = 0, $28$hi = 0, $43_1 = 0, $29$hi = 0, $30$hi = 0, $32$hi = 0, $33$hi = 0, $44_1 = 0, $34$hi = 0, $35$hi = 0, $37$hi = 0, $38$hi = 0, $45_1 = 0, $39$hi = 0, $40$hi = 0, $42$hi = 0, $43$hi = 0, $46_1 = 0, $44$hi = 0, $45$hi = 0, $47$hi = 0, $48$hi = 0, $47_1 = 0, $49$hi = 0, $50$hi = 0, $52$hi = 0, $53$hi = 0, $48_1 = 0, $54$hi = 0, $55$hi = 0, $57$hi = 0, $58$hi = 0, $49_1 = 0, $59$hi = 0, $60$hi = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + $5_1 = 8; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[i64toi32_i32$1 >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $22$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $23$hi = i64toi32_i32$1; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$3 = 56; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $42_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $42_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $24$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $25$hi = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$1 = $42_1; + i64toi32_i32$2 = $25$hi; + i64toi32_i32$3 = 255; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + HEAP8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $27$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $28$hi; + i64toi32_i32$3 = 48; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $43_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $43_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $29$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $30$hi = i64toi32_i32$2; + i64toi32_i32$2 = $29$hi; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$2 = $29$hi; + i64toi32_i32$1 = $43_1; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$3 = 255; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $33$hi = i64toi32_i32$1; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$3 = 40; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $44_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $44_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $34$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $35$hi = i64toi32_i32$0; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$0 = $35$hi; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$1 = $44_1; + i64toi32_i32$2 = $35$hi; + i64toi32_i32$3 = 255; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $37$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $38$hi = i64toi32_i32$1; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $38$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $45_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $45_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $39$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $40$hi = i64toi32_i32$2; + i64toi32_i32$2 = $39$hi; + i64toi32_i32$2 = $40$hi; + i64toi32_i32$2 = $39$hi; + i64toi32_i32$1 = $45_1; + i64toi32_i32$0 = $40$hi; + i64toi32_i32$3 = 255; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $42$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $43$hi = i64toi32_i32$1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$3 = 24; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $46_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $46_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $44$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $45$hi = i64toi32_i32$0; + i64toi32_i32$0 = $44$hi; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $44$hi; + i64toi32_i32$1 = $46_1; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$3 = 255; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $47$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$3 = 16; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $47_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $47_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $49$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $50$hi = i64toi32_i32$2; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$1 = $47_1; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$3 = 255; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $52$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $53$hi = i64toi32_i32$1; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$3 = 8; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $48_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $48_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $54$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $55$hi = i64toi32_i32$0; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$1 = $48_1; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$3 = 255; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 6 | 0) >> 0] = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $57$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $58$hi = i64toi32_i32$1; + i64toi32_i32$1 = $57$hi; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$1 = $57$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $49_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $49_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $59$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $60$hi = i64toi32_i32$2; + i64toi32_i32$2 = $59$hi; + i64toi32_i32$2 = $60$hi; + i64toi32_i32$2 = $59$hi; + i64toi32_i32$1 = $49_1; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$3 = 255; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] = i64toi32_i32$1 & i64toi32_i32$3 | 0; + return $5_1 | 0; + } + + function $3004($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] = ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 24 | 0) & 255 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 16 | 0) & 255 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] = ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 8 | 0) & 255 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] = ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 | 0) & 255 | 0; + return 4 | 0; + } + + function $3005($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $3289((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 2 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + global$0 = $4_1 + 16 | 0; + return; + } + + function $3006($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, $30_1 = 0, i64toi32_i32$0 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 32 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = 1; + $3289(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 32 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = $18_1; + $30_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($30_1 + 60 | 0) >> 2] = (HEAP32[($30_1 + 60 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = $18_1; + $2979(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + $38_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $38_1 | 0; + } + + function $3007($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $163_1 = 0, $166_1 = 0, $334_1 = 0, $361_1 = 0, $177_1 = 0, $209_1 = 0, $345_1 = 0, $376_1 = 0, $10_1 = 0, $478_1 = 0.0, $284_1 = 0, $287_1 = 0, $129_1 = 0, $178_1 = 0, $181_1 = 0, $184_1 = 0, $187_1 = 0, $190_1 = 0, $210_1 = 0, $213_1 = 0, $216_1 = 0, $219_1 = 0, $222_1 = 0, $346_1 = 0, $349_1 = 0, $352_1 = 0, $355_1 = 0, $358_1 = 0, $377_1 = 0, $380_1 = 0, $383_1 = 0, $386_1 = 0, $389_1 = 0, $407_1 = 0, $418_1 = 0, $883_1 = 0, $893_1 = 0, $903_1 = 0, $913_1 = 0, $923_1 = 0, $933_1 = 0, $970_1 = 0, $980_1 = 0, $990_1 = 0, $1000_1 = 0, $1010_1 = 0, $1020_1 = 0, $479_1 = 0.0, $482_1 = 0.0, $1342_1 = 0, $1352_1 = 0, $1362_1 = 0, $1372_1 = 0, $1382_1 = 0, $1392_1 = 0, $1428_1 = 0, $1438_1 = 0, $1448_1 = 0, $1458_1 = 0, $1468_1 = 0, $1478_1 = 0, $447_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f64$0 = 0.0; + $9_1 = global$0 - 256 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 248 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 244 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 240 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 236 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 232 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 228 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 224 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 208 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 204 | 0) >> 2] = $10_1; + HEAPF64[($9_1 + 192 | 0) >> 3] = +($10_1 | 0); + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 184 | 0) >> 2] = Math_imul(((HEAPU8[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) + 1 | 0, ((HEAP32[($9_1 + 240 | 0) >> 2] | 0) << 2 | 0) + 4 | 0); + HEAP32[($9_1 + 188 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 184 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 188 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($9_1 + 220 | 0) >> 2] | 0 | 0) != ($10_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($9_1 + 252 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($9_1 + 216 | 0) >> 2] = ((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0) + (Math_imul((HEAPU8[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0, HEAP32[($9_1 + 240 | 0) >> 2] | 0) << 2 | 0) | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 184 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 188 | 0) >> 2] | 0; + $3289(HEAP32[($9_1 + 220 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($9_1 + 212 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = ((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0) + (Math_imul(HEAP32[($9_1 + 212 | 0) >> 2] | 0, HEAP32[($9_1 + 240 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($9_1 + 180 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 240 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + ((HEAP32[($9_1 + 180 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($9_1 + 180 | 0) >> 2] | 0; + HEAP32[($9_1 + 180 | 0) >> 2] = (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $3011(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 240 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 212 | 0) >> 2] = (HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($9_1 + 212 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + $129_1 = 0; + $478_1 = +($129_1 | 0); + HEAPF64[($9_1 + 168 | 0) >> 3] = $478_1; + HEAPF64[($9_1 + 160 | 0) >> 3] = $478_1; + HEAPF64[($9_1 + 152 | 0) >> 3] = $478_1; + HEAP32[($9_1 + 148 | 0) >> 2] = $129_1; + HEAP32[($9_1 + 144 | 0) >> 2] = (((HEAP32[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 4 | 0 | 0) / ((HEAPU8[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) / (3 | 0) | 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($9_1 + 144 | 0) >> 2] | 0 | 0) <= ((HEAP32[($9_1 + 240 | 0) >> 2] | 0) - ((((HEAP32[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 4 | 0 | 0) / ((HEAPU8[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) / (3 | 0) | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + $163_1 = $9_1 + 48 | 0; + $166_1 = $9_1 + 96 | 0; + $177_1 = (HEAP32[($9_1 + 244 | 0) >> 2] | 0) + Math_imul(HEAP32[(HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$2 = $177_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $883_1 = i64toi32_i32$0; + i64toi32_i32$0 = $166_1; + HEAP32[i64toi32_i32$0 >> 2] = $883_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $178_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $178_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $893_1 = i64toi32_i32$1; + i64toi32_i32$1 = $166_1 + $178_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $893_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $181_1 = 32; + i64toi32_i32$2 = $177_1 + $181_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $903_1 = i64toi32_i32$0; + i64toi32_i32$0 = $166_1 + $181_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $903_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $184_1 = 24; + i64toi32_i32$2 = $177_1 + $184_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $913_1 = i64toi32_i32$1; + i64toi32_i32$1 = $166_1 + $184_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $913_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $187_1 = 16; + i64toi32_i32$2 = $177_1 + $187_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $923_1 = i64toi32_i32$0; + i64toi32_i32$0 = $166_1 + $187_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $923_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $190_1 = 8; + i64toi32_i32$2 = $177_1 + $190_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $933_1 = i64toi32_i32$1; + i64toi32_i32$1 = $166_1 + $190_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $933_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $209_1 = (HEAP32[($9_1 + 244 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + (((HEAP32[($9_1 + 240 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$2 = $209_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $970_1 = i64toi32_i32$0; + i64toi32_i32$0 = $163_1; + HEAP32[i64toi32_i32$0 >> 2] = $970_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $210_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $210_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $980_1 = i64toi32_i32$1; + i64toi32_i32$1 = $163_1 + $210_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $980_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $213_1 = 32; + i64toi32_i32$2 = $209_1 + $213_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $990_1 = i64toi32_i32$0; + i64toi32_i32$0 = $163_1 + $213_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $990_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $216_1 = 24; + i64toi32_i32$2 = $209_1 + $216_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1000_1 = i64toi32_i32$1; + i64toi32_i32$1 = $163_1 + $216_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1000_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $219_1 = 16; + i64toi32_i32$2 = $209_1 + $219_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1010_1 = i64toi32_i32$0; + i64toi32_i32$0 = $163_1 + $219_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1010_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $222_1 = 8; + i64toi32_i32$2 = $209_1 + $222_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1020_1 = i64toi32_i32$1; + i64toi32_i32$1 = $163_1 + $222_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1020_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 44 | 0) >> 2] = 1; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) < ((HEAP32[($9_1 + 240 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + label$14 : { + if (!((HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 144 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $3001(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, $9_1 + 96 | 0 | 0, (HEAP32[($9_1 + 244 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + ((HEAP32[($9_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0 | 0); + break label$13; + } + $3001(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, $9_1 + 48 | 0 | 0, (HEAP32[($9_1 + 244 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + ((HEAP32[($9_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0 | 0); + } + HEAP32[($9_1 + 44 | 0) >> 2] = (HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + $284_1 = $9_1 + 48 | 0; + $287_1 = $9_1 + 96 | 0; + $479_1 = +$3012(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, $287_1 | 0); + HEAPF64[($9_1 + 168 | 0) >> 3] = +HEAPF64[($9_1 + 168 | 0) >> 3] + $479_1; + $482_1 = +$3012(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, $284_1 | 0); + HEAPF64[($9_1 + 168 | 0) >> 3] = +HEAPF64[($9_1 + 168 | 0) >> 3] + $482_1; + (wasm2js_i32$0 = $9_1, wasm2js_f64$0 = +$3013(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, $287_1 | 0, $284_1 | 0, 1 | 0)), HEAPF64[(wasm2js_i32$0 + 32 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $9_1, wasm2js_f64$0 = +$2990(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, $287_1 | 0) + +$2990(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, $284_1 | 0)), HEAPF64[(wasm2js_i32$0 + 24 | 0) >> 3] = wasm2js_f64$0; + label$15 : { + label$16 : { + if ((HEAP32[($9_1 + 144 | 0) >> 2] | 0 | 0) == ((((HEAP32[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 4 | 0 | 0) / ((HEAPU8[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) / (3 | 0) | 0 | 0) & 1 | 0) { + break label$16 + } + if (+HEAPF64[($9_1 + 32 | 0) >> 3] < +HEAPF64[($9_1 + 160 | 0) >> 3] & 1 | 0) { + break label$16 + } + if (!(+HEAPF64[($9_1 + 32 | 0) >> 3] == +HEAPF64[($9_1 + 160 | 0) >> 3] & 1 | 0)) { + break label$15 + } + if (!(+HEAPF64[($9_1 + 24 | 0) >> 3] < +HEAPF64[($9_1 + 152 | 0) >> 3] & 1 | 0)) { + break label$15 + } + } + HEAP32[($9_1 + 148 | 0) >> 2] = HEAP32[($9_1 + 144 | 0) >> 2] | 0; + HEAPF64[($9_1 + 160 | 0) >> 3] = +HEAPF64[($9_1 + 32 | 0) >> 3]; + HEAPF64[($9_1 + 152 | 0) >> 3] = +HEAPF64[($9_1 + 24 | 0) >> 3]; + } + HEAP32[($9_1 + 144 | 0) >> 2] = (HEAP32[($9_1 + 144 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + label$17 : { + label$18 : { + if (!(HEAP32[($9_1 + 212 | 0) >> 2] | 0)) { + break label$18 + } + if (!(+HEAPF64[($9_1 + 168 | 0) >> 3] < +HEAPF64[($9_1 + 192 | 0) >> 3] & 1 | 0)) { + break label$17 + } + } + HEAP32[($9_1 + 208 | 0) >> 2] = HEAP32[($9_1 + 212 | 0) >> 2] | 0; + HEAPF64[($9_1 + 192 | 0) >> 3] = +HEAPF64[($9_1 + 168 | 0) >> 3]; + HEAP32[($9_1 + 204 | 0) >> 2] = HEAP32[($9_1 + 148 | 0) >> 2] | 0; + } + HEAP32[($9_1 + 212 | 0) >> 2] = (HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + $334_1 = HEAP32[($9_1 + 228 | 0) >> 2] | 0; + $345_1 = (HEAP32[($9_1 + 244 | 0) >> 2] | 0) + Math_imul(HEAP32[(HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 208 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$2 = $345_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1342_1 = i64toi32_i32$0; + i64toi32_i32$0 = $334_1; + HEAP32[i64toi32_i32$0 >> 2] = $1342_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $346_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $346_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1352_1 = i64toi32_i32$1; + i64toi32_i32$1 = $334_1 + $346_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1352_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $349_1 = 32; + i64toi32_i32$2 = $345_1 + $349_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1362_1 = i64toi32_i32$0; + i64toi32_i32$0 = $334_1 + $349_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1362_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $352_1 = 24; + i64toi32_i32$2 = $345_1 + $352_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1372_1 = i64toi32_i32$1; + i64toi32_i32$1 = $334_1 + $352_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1372_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $355_1 = 16; + i64toi32_i32$2 = $345_1 + $355_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1382_1 = i64toi32_i32$0; + i64toi32_i32$0 = $334_1 + $355_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1382_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $358_1 = 8; + i64toi32_i32$2 = $345_1 + $358_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1392_1 = i64toi32_i32$1; + i64toi32_i32$1 = $334_1 + $358_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1392_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $361_1 = HEAP32[($9_1 + 224 | 0) >> 2] | 0; + $376_1 = (HEAP32[($9_1 + 244 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 208 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + ((HEAP32[($9_1 + 204 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$2 = $376_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1428_1 = i64toi32_i32$0; + i64toi32_i32$0 = $361_1; + HEAP32[i64toi32_i32$0 >> 2] = $1428_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $377_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $377_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1438_1 = i64toi32_i32$1; + i64toi32_i32$1 = $361_1 + $377_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1438_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $380_1 = 32; + i64toi32_i32$2 = $376_1 + $380_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1448_1 = i64toi32_i32$0; + i64toi32_i32$0 = $361_1 + $380_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1448_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $383_1 = 24; + i64toi32_i32$2 = $376_1 + $383_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1458_1 = i64toi32_i32$1; + i64toi32_i32$1 = $361_1 + $383_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1458_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $386_1 = 16; + i64toi32_i32$2 = $376_1 + $386_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1468_1 = i64toi32_i32$0; + i64toi32_i32$0 = $361_1 + $386_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1468_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $389_1 = 8; + i64toi32_i32$2 = $376_1 + $389_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1478_1 = i64toi32_i32$1; + i64toi32_i32$1 = $361_1 + $389_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1478_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 212 | 0) >> 2] = 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 240 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + label$21 : { + label$22 : { + if (!((HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + $407_1 = HEAP32[($9_1 + 236 | 0) >> 2] | 0; + break label$21; + } + $407_1 = HEAP32[($9_1 + 232 | 0) >> 2] | 0; + } + HEAP32[($9_1 + 20 | 0) >> 2] = $407_1; + label$23 : { + label$24 : { + if (!((HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + $418_1 = HEAP32[($9_1 + 228 | 0) >> 2] | 0; + break label$23; + } + $418_1 = HEAP32[($9_1 + 224 | 0) >> 2] | 0; + } + HEAP32[($9_1 + 16 | 0) >> 2] = $418_1; + HEAP32[($9_1 + 12 | 0) >> 2] = (HEAP32[($9_1 + 244 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 208 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0; + $2991(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $3001(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 212 | 0) >> 2] = (HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + $42(HEAP32[($9_1 + 220 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 252 | 0) >> 2] = 0; + } + $447_1 = HEAP32[($9_1 + 252 | 0) >> 2] | 0; + global$0 = $9_1 + 256 | 0; + return $447_1 | 0; + } + + function $3008($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $40$hi = 0, $41$hi = 0, $40_1 = 0, $126_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0 ? 151 : 150; + label$1 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2977(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $2945(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[$6_1 >> 2] | 0) >> 2] | 0 | 0) | 0; + $2979(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[$6_1 >> 2] | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + } + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $40_1 = i64toi32_i32$1; + $40$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $41$hi = i64toi32_i32$1; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $41$hi; + $126_1 = i64toi32_i32$0; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$0 = $41$hi; + $36_1 = FUNCTION_TABLE[HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, $40_1, i64toi32_i32$1, $126_1, i64toi32_i32$0) | 0; + global$0 = $6_1 + 32 | 0; + return $36_1 | 0; + } + + function $3009($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $14_1 = 0, $49_1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + label$1 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$1 + } + $14_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $14_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $14_1; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) / (2 | 0) | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) - (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0; + $3009(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + $3009(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + $3288(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 36 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + label$2 : while (1) { + $49_1 = 1; + label$3 : { + if ((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + $49_1 = (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($49_1 & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + break label$5; + } + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + break label$7; + } + HEAPF64[($6_1 + 16 | 0) >> 3] = +HEAPF64[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 3 | 0) | 0) >> 3]; + HEAPF64[($6_1 + 8 | 0) >> 3] = +HEAPF64[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 3 | 0) | 0) >> 3]; + label$9 : { + label$10 : { + if (!(+HEAPF64[($6_1 + 16 | 0) >> 3] < +HEAPF64[($6_1 + 8 | 0) >> 3] & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + break label$9; + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + } + } + } + continue label$2; + } + break label$2; + }; + } + global$0 = $6_1 + 64 | 0; + return; + } + + function $3010($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 4 | 0) >> 2] = ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$5_1 >> 2] = ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; + label$4 : { + label$5 : { + label$6 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + if (Math_fround(HEAPF32[(HEAP32[$5_1 >> 2] | 0) >> 2]) < Math_fround(HEAPF32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2]) & 1 | 0) { + break label$5 + } + if (Math_fround(HEAPF32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2]) & 1 | 0) { + break label$5 + } + } + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$4 + } + if ((HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 2 | 0; + continue label$3; + }; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + } + return HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $3011($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $16_1 = 0, $55_1 = 0, $286_1 = 0.0, $290_1 = 0.0, $294_1 = 0.0, $298_1 = 0.0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = 0; + HEAP32[($8_1 + 52 | 0) >> 2] = $16_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $16_1; + HEAP32[($8_1 + 44 | 0) >> 2] = (HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) / (2 | 0) | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = (HEAP32[($8_1 + 68 | 0) >> 2] | 0) - (HEAP32[($8_1 + 44 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = (HEAP32[($8_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0; + $3011(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0); + $3011(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0); + $3288(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 44 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + label$2 : while (1) { + $55_1 = 1; + label$3 : { + if ((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + $55_1 = (HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($55_1 & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if ((HEAPU8[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + $286_1 = +Math_fround(HEAPF32[((((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 52 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0) + ((HEAP32[($8_1 + 64 | 0) >> 2] | 0) << 3 | 0) | 0) + 8 | 0) >> 2]); + break label$5; + } + $286_1 = +(HEAP32[((((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 52 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0) + 8 | 0) + (((HEAP32[($8_1 + 64 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + HEAPF64[($8_1 + 24 | 0) >> 3] = $286_1; + label$7 : { + label$8 : { + if ((HEAPU8[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + $290_1 = +Math_fround(HEAPF32[((((HEAP32[($8_1 + 64 | 0) >> 2] | 0) << 3 | 0) + ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 52 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0) | 0) + 12 | 0) >> 2]); + break label$7; + } + $290_1 = +(HEAP32[((((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 52 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0) + 8 | 0) + ((((HEAP32[($8_1 + 64 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + HEAPF64[($8_1 + 16 | 0) >> 3] = $290_1; + label$9 : { + label$10 : { + if ((HEAPU8[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$10 + } + $294_1 = +Math_fround(HEAPF32[((((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0) + ((HEAP32[($8_1 + 64 | 0) >> 2] | 0) << 3 | 0) | 0) + 8 | 0) >> 2]); + break label$9; + } + $294_1 = +(HEAP32[((((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0) + 8 | 0) + (((HEAP32[($8_1 + 64 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + HEAPF64[($8_1 + 8 | 0) >> 3] = $294_1; + label$11 : { + label$12 : { + if ((HEAPU8[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + $298_1 = +Math_fround(HEAPF32[((((HEAP32[($8_1 + 64 | 0) >> 2] | 0) << 3 | 0) + ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0) | 0) + 12 | 0) >> 2]); + break label$11; + } + $298_1 = +(HEAP32[((((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0) + 8 | 0) + ((((HEAP32[($8_1 + 64 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + HEAPF64[$8_1 >> 3] = $298_1; + label$13 : { + label$14 : { + if (!((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + if ((HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$15 + } + if (+HEAPF64[($8_1 + 24 | 0) >> 3] < +HEAPF64[($8_1 + 8 | 0) >> 3] & 1 | 0) { + break label$15 + } + if (!(+HEAPF64[($8_1 + 24 | 0) >> 3] == +HEAPF64[($8_1 + 8 | 0) >> 3] & 1 | 0)) { + break label$14 + } + if (!(+HEAPF64[($8_1 + 16 | 0) >> 3] < +HEAPF64[$8_1 >> 3] & 1 | 0)) { + break label$14 + } + } + HEAP32[((HEAP32[($8_1 + 72 | 0) >> 2] | 0) + (((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + (HEAP32[($8_1 + 48 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 52 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($8_1 + 52 | 0) >> 2] = (HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 1 | 0; + break label$13; + } + HEAP32[((HEAP32[($8_1 + 72 | 0) >> 2] | 0) + (((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + (HEAP32[($8_1 + 48 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($8_1 + 48 | 0) >> 2] = (HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 1 | 0; + } + continue label$2; + } + break label$2; + }; + } + global$0 = $8_1 + 80 | 0; + return; + } + + function $3012($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $66_1 = 0.0, $70_1 = 0.0, $68_1 = 0.0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAPF64[($4_1 + 16 | 0) >> 3] = +(0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) - 2 | 0; + label$1 : while (1) { + label$2 : { + label$3 : { + if ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + $66_1 = +Math_fround(HEAPF32[((((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) + 12 | 0) >> 2]); + break label$2; + } + $66_1 = +(HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $68_1 = $66_1; + label$4 : { + label$5 : { + if ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + $70_1 = +Math_fround(HEAPF32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) + 8 | 0) >> 2]); + break label$4; + } + $70_1 = +(HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + HEAPF64[($4_1 + 16 | 0) >> 3] = +HEAPF64[($4_1 + 16 | 0) >> 3] + ($68_1 - $70_1); + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - 2 | 0; + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + return +(+HEAPF64[($4_1 + 16 | 0) >> 3]); + } + + function $3013($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $245_1 = 0.0, $249_1 = 0.0, $253_1 = 0.0, $256_1 = 0.0, $258_1 = 0.0, $263_1 = 0.0, $267_1 = 0.0, $271_1 = 0.0, $274_1 = 0.0, $276_1 = 0.0, $247_1 = 0.0, $265_1 = 0.0; + $6_1 = global$0 - 64 | 0; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAPF64[($6_1 + 32 | 0) >> 3] = +($7_1 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = $7_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAPF64[($6_1 + 16 | 0) >> 3] = 1.0; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + label$6 : { + if ((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + $245_1 = +Math_fround(HEAPF32[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) + 8 | 0) >> 2]); + break label$5; + } + $245_1 = +(HEAP32[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $247_1 = $245_1; + label$7 : { + label$8 : { + if ((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + $249_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 48) | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) + 8 | 0) >> 2]); + break label$7; + } + $249_1 = +(HEAP32[((((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 48) | 0) + 8 | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + label$9 : { + label$10 : { + if (!($247_1 > $249_1 & 1 | 0)) { + break label$10 + } + label$11 : { + label$12 : { + if ((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + $253_1 = +Math_fround(HEAPF32[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) + 8 | 0) >> 2]); + break label$11; + } + $253_1 = +(HEAP32[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $256_1 = $253_1; + break label$9; + } + label$13 : { + label$14 : { + if ((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$14 + } + $258_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 48) | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) + 8 | 0) >> 2]); + break label$13; + } + $258_1 = +(HEAP32[((((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 48) | 0) + 8 | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $256_1 = $258_1; + } + HEAPF64[($6_1 + 8 | 0) >> 3] = $256_1; + label$15 : { + label$16 : { + if ((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$16 + } + $263_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($6_1 + 56 | 0) >> 2] | 0) | 0) + 12 | 0) >> 2]); + break label$15; + } + $263_1 = +(HEAP32[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $265_1 = $263_1; + label$17 : { + label$18 : { + if ((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$18 + } + $267_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) + ((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 48) | 0) | 0) + 12 | 0) >> 2]); + break label$17; + } + $267_1 = +(HEAP32[((((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 48) | 0) + 8 | 0) + (((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + label$19 : { + label$20 : { + if (!($265_1 < $267_1 & 1 | 0)) { + break label$20 + } + label$21 : { + label$22 : { + if ((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$22 + } + $271_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($6_1 + 56 | 0) >> 2] | 0) | 0) + 12 | 0) >> 2]); + break label$21; + } + $271_1 = +(HEAP32[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $274_1 = $271_1; + break label$19; + } + label$23 : { + label$24 : { + if ((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$24 + } + $276_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) + ((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 48) | 0) | 0) + 12 | 0) >> 2]); + break label$23; + } + $276_1 = +(HEAP32[((((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 48) | 0) + 8 | 0) + (((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $274_1 = $276_1; + } + HEAPF64[$6_1 >> 3] = $274_1; + label$25 : { + if (!(+HEAPF64[$6_1 >> 3] < +HEAPF64[($6_1 + 8 | 0) >> 3] & 1 | 0)) { + break label$25 + } + HEAPF64[($6_1 + 16 | 0) >> 3] = +(0 | 0); + break label$3; + } + HEAPF64[($6_1 + 16 | 0) >> 3] = +HEAPF64[($6_1 + 16 | 0) >> 3] * (+HEAPF64[$6_1 >> 3] - +HEAPF64[($6_1 + 8 | 0) >> 3]); + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 2 | 0; + continue label$4; + }; + } + HEAPF64[($6_1 + 32 | 0) >> 3] = +HEAPF64[($6_1 + 32 | 0) >> 3] + +HEAPF64[($6_1 + 16 | 0) >> 3]; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return +(+HEAPF64[($6_1 + 32 | 0) >> 3]); + } + + function $3014($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!($3015($5_1 + 16 | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($5_1 + 4 | 0) >> 2] = 1; + label$4 : { + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 56 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$4; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3016($5_1 + 16 | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(((HEAPU8[($5_1 + 37 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$4; + } + label$9 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $66_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP8[($66_1 + 1 | 0) >> 0] = (HEAPU8[($66_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 4 | 0; + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$10 : { + if (((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$10 + } + $3017(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 0 | 0); + } + } + $3018($5_1 + 16 | 0 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $3015($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $109_1 = 0, $7_1 = 0, $106_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + $7_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $109_1 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $109_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $109_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $109_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $109_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3051(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = -1; + } + label$4 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 60384 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 12 | 0) >> 2] = -1; + } + } + label$8 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + label$11 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + $286(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + break label$10; + } + $263(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 60356 | 0, -1 | 0); + } + } + $3018(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $106_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $106_1 | 0; + } + + function $3016($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $18_1 = 0, $27_1 = 0, $46_1 = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $18_1 = 24; + label$3 : { + label$4 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) != (36 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + break label$3; + } + $27_1 = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3052(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $27_1 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == ($27_1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$1; + } + } + $46_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP8[($46_1 + 21 | 0) >> 0] = (HEAPU8[($46_1 + 21 | 0) >> 0] | 0) + 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3053(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $263(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[$6_1 >> 2] | 0 | 0); + break label$6; + } + $286(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $64_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $64_1 | 0; + } + + function $3017($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 144 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 132 | 0) >> 2] = $2_1; + $3020($5_1 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0); + $3029(HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, $5_1 | 0, HEAP32[($5_1 + 132 | 0) >> 2] | 0 | 0); + $3024($5_1 | 0); + $276(HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, 74 | 0); + global$0 = $5_1 + 144 | 0; + return; + } + + function $3018($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $4_1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $4_1; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $4_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $3019($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $33_1 = 0; + $5_1 = global$0 - 144 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 132 | 0) >> 2] = $2_1; + $3020($5_1 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0); + $10_1 = 24; + $3021($5_1 | 0, (91 << $10_1 | 0) >> $10_1 | 0 | 0); + HEAP32[($5_1 + 128 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $3022($5_1 | 0); + $3023($5_1 | 0, HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 128 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 128 | 0) >> 2] = (HEAP32[($5_1 + 128 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $33_1 = 24; + $3021($5_1 | 0, (93 << $33_1 | 0) >> $33_1 | 0 | 0); + $3024($5_1 | 0); + $276(HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, 74 | 0); + global$0 = $5_1 + 144 | 0; + return; + } + + function $3020($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 25 | 0) >> 0] = 0; + $3059(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $3021($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $21$hi = 0, $22$hi = 0, $25$hi = 0, $16_1 = 0, $26$hi = 0, i64toi32_i32$4 = 0, $21_1 = 0, $48_1 = 0, $13_1 = 0, $15_1 = 0, $25_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 11 | 0) >> 0] = $1_1; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $21_1 = i64toi32_i32$0; + $21$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $22$hi = i64toi32_i32$0; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$0 = $22$hi; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$0 = $22$hi; + $48_1 = i64toi32_i32$1; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$2 = $21_1; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$3 = $48_1; + label$1 : { + label$2 : { + if (!((i64toi32_i32$0 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + if (!($3060(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0)) { + break label$2 + } + break label$1; + } + $13_1 = HEAPU8[($4_1 + 11 | 0) >> 0] | 0; + $15_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $16_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$3 = $16_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $25_1 = i64toi32_i32$2; + $25$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $26$hi = i64toi32_i32$0; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $26$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$3 = $16_1; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $25$hi; + HEAP8[($15_1 + $25_1 | 0) >> 0] = $13_1; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $3022($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $41$hi = 0, $43$hi = 0, $45$hi = 0, $46$hi = 0, i64toi32_i32$5 = 0, $16_1 = 0, $26_1 = 0, $36_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + $41$hi = i64toi32_i32$0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $43$hi = i64toi32_i32$1; + i64toi32_i32$1 = $41$hi; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$1 = $41$hi; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + i64toi32_i32$3 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $45$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $46$hi = i64toi32_i32$1; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $46$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + HEAP8[($3_1 + 11 | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (i64toi32_i32$3 - i64toi32_i32$0 | 0) | 0) >> 0] | 0; + $16_1 = 24; + if (!((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $16_1 | 0) >> $16_1 | 0 | 0) != (91 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = 24; + if (!((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $26_1 | 0) >> $26_1 | 0 | 0) != (123 | 0) & 1 | 0)) { + break label$1 + } + $36_1 = 24; + $3021(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, (44 << $36_1 | 0) >> $36_1 | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3023($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + $8_1 = ($248(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($8_1 | 0) { + case 4: + $3030(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 11577 | 0, 4 | 0); + break label$1; + case 0: + case 1: + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $66(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $233(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $3030(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + break label$1; + case 2: + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $66(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $233(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!(($243(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) == (74 | 0) & 1 | 0)) { + break label$7 + } + $3030(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + break label$6; + } + $3036(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + break label$1; + default: + break label$2; + }; + } + label$8 : { + if ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + $263(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, 60670 | 0, -1 | 0); + HEAP8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 25 | 0) >> 0] = 2; + $3032(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $3024($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $278(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 ? -1 : 3) | 0, 1 & 255 | 0 | 0); + $3059(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3025($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $72$hi = 0, $73$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $65_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3026(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3016(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + label$5 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + label$6 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + $65_1 = $3027((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 20 | 0) >> 2] | 0, 12) | 0 | 0) | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + $65_1 | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $73$hi = i64toi32_i32$1; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$5; + continue label$8; + }; + } + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3026($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $6_1 = 0, $165_1 = 0, $119_1 = 0, $161_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 4 | 0) >> 2] = -1; + HEAP32[$5_1 >> 2] = $6_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $306(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + -429938 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$3; + } + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + if ($3228(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + HEAP8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 21 | 0) >> 0] = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$6; + } + label$8 : { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + } + label$9 : { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >>> 0 > (HEAP32[$5_1 >> 2] | 0) >>> 0 & 1 | 0)) { + break label$9 + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$10 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 21 | 0) >> 0] = 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] = (HEAP32[$5_1 >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) + 1 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + $286(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $119_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $165_1 = 0; + i64toi32_i32$1 = $119_1; + HEAP32[i64toi32_i32$1 >> 2] = $165_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $165_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $119_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $165_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $119_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $165_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 32 | 0; + $3288(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + label$12 : { + if (!($3015(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + $42(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] = (HEAP32[$5_1 >> 2] | 0) + 1 | 0; + $307(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -429938 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 152 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $306(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -429938 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + $161_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $161_1 | 0; + } + + function $3027($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $18_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (6 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0; + break label$1; + } + $18_1 = 1; + } + return $18_1 | 0; + } + + function $3028($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $27_1 = 0, $30_1 = 0, $119_1 = 0, $121_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 160 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 156 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 152 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 148 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3026(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + $27_1 = $5_1 + 8 | 0; + $3020($27_1 | 0, HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0); + $30_1 = 24; + $3021($27_1 | 0, (91 << $30_1 | 0) >> $30_1 | 0 | 0); + HEAP32[($5_1 + 4 | 0) >> 2] = 1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3016(HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 144 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$8 + } + $3022($5_1 + 8 | 0 | 0); + label$9 : { + label$10 : { + if (!((HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $3029(HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0, 0 | 0); + break label$9; + } + $3030($5_1 + 8 | 0 | 0, 11577 | 0, 4 | 0); + } + break label$7; + } + label$11 : { + if (!((HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $3031(HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 0 | 0); + } + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$12 : { + if (!((HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$12 + } + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $119_1 = $5_1 + 8 | 0; + $121_1 = 24; + $3021($119_1 | 0, (93 << $121_1 | 0) >> $121_1 | 0 | 0); + $3024($119_1 | 0); + $276(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 74 | 0); + } + $3032($5_1 + 8 | 0 | 0); + } + global$0 = $5_1 + 160 | 0; + return; + } + + function $3029($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $31_1 = 0, $61_1 = 0, $113_1 = 0, $119_1 = 0, $152_1 = 0, $191_1 = 0, $95_1 = 0, $173_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 24 | 0)) { + break label$2 + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$3 + } + $3023(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $31_1 = (HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) + -1 | 0; + label$4 : { + switch ($31_1 | 0) { + default: + $3030(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 11577 | 0, 4 | 0); + break label$1; + case 0: + $3030(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 29454 | 0, 4 | 0); + break label$1; + case 1: + $3030(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 29459 | 0, 5 | 0); + break label$1; + case 4: + label$11 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$11 + } + $3036(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$1; + } + case 2: + case 3: + $3030(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$1; + case 5: + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + $61_1 = 24; + $3021(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (91 << $61_1 | 0) >> $61_1 | 0 | 0); + label$12 : while (1) { + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$13 + } + label$15 : { + if (((HEAPU8[(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$15 + } + $3022(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + $3029((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + $95_1 = $3027((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + $95_1 | 0; + continue label$14; + }; + } + label$16 : { + label$17 : { + if (((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 32 | 0) { + break label$17 + } + break label$16; + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 12) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + continue label$12; + } + break label$12; + }; + $113_1 = 24; + $3021(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (93 << $113_1 | 0) >> $113_1 | 0 | 0); + break label$1; + case 6: + break label$4; + }; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + $119_1 = 24; + $3021(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (123 << $119_1 | 0) >> $119_1 | 0 | 0); + label$18 : while (1) { + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$19 + } + label$21 : { + if (((HEAPU8[(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0, 12) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$21 + } + $3022(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + $3029((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 12) | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + $152_1 = 24; + $3021(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (58 << $152_1 | 0) >> $152_1 | 0 | 0); + $3029((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0, 12) | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + $173_1 = ($3027((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0, 12) | 0 | 0) | 0) + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + $173_1 | 0; + continue label$20; + }; + } + label$22 : { + label$23 : { + if (((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 32 | 0) { + break label$23 + } + break label$22; + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 12) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + continue label$18; + } + break label$18; + }; + $191_1 = 24; + $3021(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (125 << $191_1 | 0) >> $191_1 | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3030($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$2 = 0, $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $31$hi = 0, $32$hi = 0, $29$hi = 0, $30$hi = 0, $36$hi = 0, $26_1 = 0, $63_1 = 0, $72_1 = 0, $118$hi = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + i64toi32_i32$0 = 0; + $29$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$1; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $30$hi; + $63_1 = i64toi32_i32$0; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$3 = $63_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $31$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$2; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$2 = $32$hi; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$2 = $32$hi; + $72_1 = i64toi32_i32$5; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$5 = $32$hi; + i64toi32_i32$3 = $72_1; + label$3 : { + if (!((i64toi32_i32$2 >>> 0 > i64toi32_i32$5 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + if (!($3060(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + break label$1; + } + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $3288((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + i64toi32_i32$1 | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = 0; + $36$hi = i64toi32_i32$2; + $26_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$3 = $26_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $118$hi = i64toi32_i32$1; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = $118$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $36$hi; + i64toi32_i32$5 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$3 = $26_1; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$4; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $3031($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, $507$hi = 0, $511$hi = 0, $9_1 = 0, $21_1 = 0, $36_1 = 0, $44_1 = 0, $48_1 = 0, $57_1 = 0, $61_1 = 0, $509$hi = 0, $80_1 = 0, $81_1 = 0, $82_1 = 0, $513$hi = 0, $83_1 = 0, $84_1 = 0, $85_1 = 0, $75_1 = 0, $86_1 = 0, $112_1 = 0, $516$hi = 0, $517$hi = 0, $518$hi = 0, $519$hi = 0, $127_1 = 0, $521$hi = 0, $522$hi = 0, $197_1 = 0, $207_1 = 0, $215_1 = 0, $219_1 = 0, $246_1 = 0, $263_1 = 0, $273_1 = 0, $302_1 = 0, $317_1 = 0, $331_1 = 0, $359_1 = 0, $371_1 = 0, $383_1 = 0, $393_1 = 0, $403_1 = 0, $415_1 = 0, $425_1 = 0, $431_1 = 0, $442_1 = 0, $453_1 = 0, $464_1 = 0, $475_1 = 0, $486_1 = 0, $87_1 = 0, $812_1 = 0, $205_1 = 0, $206_1 = 0, $212_1 = 0, $244_1 = 0, $245_1 = 0, $261_1 = 0, $262_1 = 0, $271_1 = 0, $272_1 = 0, $357_1 = 0, $358_1 = 0, $369_1 = 0, $370_1 = 0, $381_1 = 0, $382_1 = 0, $391_1 = 0, $392_1 = 0, $401_1 = 0, $402_1 = 0, $413_1 = 0, $414_1 = 0, $423_1 = 0, $424_1 = 0, $484_1 = 0, $485_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + $9_1 = (HEAPU8[(HEAP32[($5_1 + 76 | 0) >> 2] | 0) >> 0] | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($9_1 | 0) { + default: + $271(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0); + break label$1; + case 0: + $267(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, 1 | 0); + break label$1; + case 1: + $267(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, 0 | 0); + break label$1; + case 2: + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $21_1 = 24; + label$9 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $21_1 | 0) >> $21_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 52 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 1 | 0; + } + label$10 : { + label$11 : { + label$12 : while (1) { + $36_1 = 24; + $44_1 = 0; + label$13 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $36_1 | 0) >> $36_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$13 + } + $48_1 = 24; + $44_1 = (((HEAPU8[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $48_1 | 0) >> $48_1 | 0 | 0) <= (57 | 0); + } + label$14 : { + if (!($44_1 & 1 | 0)) { + break label$14 + } + i64toi32_i32$0 = 214748364; + $507$hi = i64toi32_i32$0; + $57_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = $57_1 + 1 | 0; + $61_1 = 24; + HEAP32[($5_1 + 48 | 0) >> 2] = (((HEAPU8[$57_1 >> 0] | 0) << $61_1 | 0) >> $61_1 | 0) - 48 | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $509$hi = i64toi32_i32$1; + i64toi32_i32$1 = $507$hi; + i64toi32_i32$1 = $509$hi; + i64toi32_i32$1 = $507$hi; + i64toi32_i32$1 = $509$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $507$hi; + i64toi32_i32$3 = -858993460; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $80_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $81_1 = 0 + } else { + $81_1 = 1 + } + $82_1 = $81_1; + } else { + $82_1 = 0 + } + $80_1 = $82_1; + } + label$15 : { + if (!($80_1 & 1 | 0)) { + break label$15 + } + i64toi32_i32$2 = 214748364; + $511$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $513$hi = i64toi32_i32$1; + i64toi32_i32$1 = $511$hi; + i64toi32_i32$1 = $513$hi; + i64toi32_i32$1 = $511$hi; + i64toi32_i32$1 = $513$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $511$hi; + i64toi32_i32$0 = -858993460; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $83_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $84_1 = 0 + } else { + $84_1 = 1 + } + $85_1 = $84_1; + } else { + $85_1 = 0 + } + $83_1 = $85_1; + } + label$16 : { + if (!($83_1 & 1 | 0)) { + break label$16 + } + break label$10; + } + $75_1 = 24; + label$17 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $75_1 | 0) >> $75_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$17 + } + $86_1 = 24; + if (!((((HEAPU8[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $86_1 | 0) >> $86_1 | 0 | 0) <= (57 | 0) & 1 | 0)) { + break label$17 + } + break label$10; + } + label$18 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$18 + } + break label$10; + } + label$19 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$19 + } + $112_1 = 24; + label$20 : { + if (!((((HEAPU8[(HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 0] | 0) << $112_1 | 0) >> $112_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$20 + } + i64toi32_i32$3 = -2147483648; + $270(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$3 | 0); + break label$11; + } + break label$10; + } + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $516$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $517$hi = i64toi32_i32$1; + i64toi32_i32$1 = $516$hi; + i64toi32_i32$1 = $517$hi; + i64toi32_i32$1 = $516$hi; + $87_1 = i64toi32_i32$3; + i64toi32_i32$3 = $517$hi; + i64toi32_i32$3 = __wasm_i64_mul($87_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $518$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $519$hi = i64toi32_i32$1; + i64toi32_i32$1 = $518$hi; + i64toi32_i32$1 = $519$hi; + i64toi32_i32$1 = $518$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $519$hi; + i64toi32_i32$2 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 60 | 0) >> 2] = i64toi32_i32$5; + continue label$12; + } + break label$12; + }; + $127_1 = 24; + label$21 : { + if (!((((HEAPU8[(HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 0] | 0) << $127_1 | 0) >> $127_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$21 + } + i64toi32_i32$5 = 0; + $521$hi = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $522$hi = i64toi32_i32$0; + i64toi32_i32$0 = $521$hi; + i64toi32_i32$0 = $522$hi; + $812_1 = i64toi32_i32$5; + i64toi32_i32$0 = $521$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = $522$hi; + i64toi32_i32$2 = $812_1; + i64toi32_i32$3 = i64toi32_i32$1 - i64toi32_i32$2 | 0; + i64toi32_i32$4 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($5_1 + 60 | 0) >> 2] = i64toi32_i32$4; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0); + } + break label$1; + } + i64toi32_i32$1 = 0; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = i64toi32_i32$1; + case 3: + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $344(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 40 | 0 | 0, $68(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0 | 0, 1 & 255 | 0 | 0) | 0; + $260(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, +(+HEAPF64[($5_1 + 40 | 0) >> 3])); + break label$1; + case 4: + label$22 : { + label$23 : { + if (((HEAPU8[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 2 | 0) { + break label$23 + } + $277(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 2 | 0 | 0, -1 | 0); + break label$22; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$24 + } + $286(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[($5_1 + 32 | 0) >> 2] = 1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$25 : { + label$26 : while (1) { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 < ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) - 1 | 0) >>> 0 & 1 | 0)) { + break label$25 + } + HEAP8[($5_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0; + $197_1 = 24; + label$27 : { + label$28 : { + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $197_1 | 0) >> $197_1 | 0 | 0) != (92 | 0) & 1 | 0)) { + break label$28 + } + $205_1 = HEAPU8[($5_1 + 15 | 0) >> 0] | 0; + $206_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $207_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $207_1 + 1 | 0; + HEAP8[($206_1 + $207_1 | 0) >> 0] = $205_1; + break label$27; + } + $212_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $215_1 = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $215_1; + HEAP8[($5_1 + 15 | 0) >> 0] = HEAPU8[($212_1 + $215_1 | 0) >> 0] | 0; + $219_1 = 24; + label$29 : { + label$30 : { + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $219_1 | 0) >> $219_1 | 0 | 0) == (117 | 0) & 1 | 0)) { + break label$30 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3063(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0; + label$31 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$31 + } + break label$25; + } + label$32 : { + label$33 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 <= 127 >>> 0 & 1 | 0)) { + break label$33 + } + $244_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $245_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $246_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $246_1 + 1 | 0; + HEAP8[($245_1 + $246_1 | 0) >> 0] = $244_1; + break label$32; + } + label$34 : { + label$35 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 <= 2047 >>> 0 & 1 | 0)) { + break label$35 + } + $261_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 6 | 0 | 192 | 0; + $262_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $263_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $263_1 + 1 | 0; + HEAP8[($262_1 + $263_1 | 0) >> 0] = $261_1; + $271_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 63 | 0 | 128 | 0; + $272_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $273_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $273_1 + 1 | 0; + HEAP8[($272_1 + $273_1 | 0) >> 0] = $271_1; + break label$34; + } + label$36 : { + label$37 : { + if (!(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 64512 | 0 | 0) == (55296 | 0) & 1 | 0)) { + break label$37 + } + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 < ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) - 6 | 0) >>> 0 & 1 | 0)) { + break label$37 + } + $302_1 = 24; + if (!((((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $302_1 | 0) >> $302_1 | 0 | 0) == (92 | 0) & 1 | 0)) { + break label$37 + } + $317_1 = 24; + if (!((((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) << $317_1 | 0) >> $317_1 | 0 | 0) == (117 | 0) & 1 | 0)) { + break label$37 + } + $331_1 = $3063(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0) + 3 | 0 | 0) | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $331_1; + if (!(($331_1 & 64512 | 0 | 0) == (56320 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[($5_1 + 8 | 0) >> 2] = ((((HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 1023 | 0) << 10 | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) & 1023 | 0) | 0) + 65536 | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 6 | 0; + $357_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 18 | 0 | 240 | 0; + $358_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $359_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $359_1 + 1 | 0; + HEAP8[($358_1 + $359_1 | 0) >> 0] = $357_1; + $369_1 = ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 12 | 0) & 63 | 0 | 128 | 0; + $370_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $371_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $371_1 + 1 | 0; + HEAP8[($370_1 + $371_1 | 0) >> 0] = $369_1; + $381_1 = ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0 | 128 | 0; + $382_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $383_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $383_1 + 1 | 0; + HEAP8[($382_1 + $383_1 | 0) >> 0] = $381_1; + $391_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 63 | 0 | 128 | 0; + $392_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $393_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $393_1 + 1 | 0; + HEAP8[($392_1 + $393_1 | 0) >> 0] = $391_1; + break label$36; + } + $401_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 12 | 0 | 224 | 0; + $402_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $403_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $403_1 + 1 | 0; + HEAP8[($402_1 + $403_1 | 0) >> 0] = $401_1; + $413_1 = ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0 | 128 | 0; + $414_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $415_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $415_1 + 1 | 0; + HEAP8[($414_1 + $415_1 | 0) >> 0] = $413_1; + $423_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 63 | 0 | 128 | 0; + $424_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $425_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $425_1 + 1 | 0; + HEAP8[($424_1 + $425_1 | 0) >> 0] = $423_1; + } + } + } + break label$29; + } + $431_1 = 24; + label$38 : { + label$39 : { + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $431_1 | 0) >> $431_1 | 0 | 0) == (98 | 0) & 1 | 0)) { + break label$39 + } + HEAP8[($5_1 + 15 | 0) >> 0] = 8; + break label$38; + } + $442_1 = 24; + label$40 : { + label$41 : { + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $442_1 | 0) >> $442_1 | 0 | 0) == (102 | 0) & 1 | 0)) { + break label$41 + } + HEAP8[($5_1 + 15 | 0) >> 0] = 12; + break label$40; + } + $453_1 = 24; + label$42 : { + label$43 : { + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $453_1 | 0) >> $453_1 | 0 | 0) == (110 | 0) & 1 | 0)) { + break label$43 + } + HEAP8[($5_1 + 15 | 0) >> 0] = 10; + break label$42; + } + $464_1 = 24; + label$44 : { + label$45 : { + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $464_1 | 0) >> $464_1 | 0 | 0) == (114 | 0) & 1 | 0)) { + break label$45 + } + HEAP8[($5_1 + 15 | 0) >> 0] = 13; + break label$44; + } + $475_1 = 24; + label$46 : { + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $475_1 | 0) >> $475_1 | 0 | 0) == (116 | 0) & 1 | 0)) { + break label$46 + } + HEAP8[($5_1 + 15 | 0) >> 0] = 9; + } + } + } + } + } + $484_1 = HEAPU8[($5_1 + 15 | 0) >> 0] | 0; + $485_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $486_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $486_1 + 1 | 0; + HEAP8[($485_1 + $486_1 | 0) >> 0] = $484_1; + } + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$26; + }; + } + HEAP8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + $277(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 3 | 0); + } + break label$1; + case 5: + case 6: + break label$2; + }; + } + $3017(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 80 | 0; + return; + } + + function $3032($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + $3059(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $3033($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $85_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = HEAP32[($302(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if ((HEAP32[($5_1 + 72 | 0) >> 2] | 0) & 1 | 0) { + break label$3 + } + $3034(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0 ? 60753 : 60757) | 0); + break label$1; + } + label$4 : { + if (!($3015($5_1 + 32 | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, $66(HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) | 0)) { + break label$4 + } + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + label$5 : { + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 72 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3016($5_1 + 32 | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(((HEAPU8[($5_1 + 52 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + $286(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + break label$5; + } + label$9 : { + if (!(((HEAPU8[($5_1 + 53 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + break label$5; + } + label$10 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$11 + } + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$10 + } + } + $85_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP8[($85_1 + 1 | 0) >> 0] = (HEAPU8[($85_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 8 | 0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 2 | 0; + continue label$7; + }; + } + label$12 : { + label$13 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$13 + } + $280(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + break label$12; + } + $3017(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + } + } + $3018($5_1 + 32 | 0 | 0); + } + global$0 = $5_1 + 80 | 0; + return; + } + + function $3034($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79(60764 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $263(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $3035($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $49_1 = 0, $15_1 = 0, $18_1 = 0, $67_1 = 0, $84_1 = 0, $86_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 160 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 156 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 152 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 148 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 152 | 0) >> 2] | 0) & 1 | 0)) { + break label$2 + } + $263(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 60807 | 0, -1 | 0); + break label$1; + } + $15_1 = $5_1 + 16 | 0; + $3020($15_1 | 0, HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0); + $18_1 = 24; + $3021($15_1 | 0, (123 << $18_1 | 0) >> $18_1 | 0 | 0); + HEAP32[($5_1 + 144 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!(($248(HEAP32[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 144 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$5 + } + $263(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 60858 | 0, -1 | 0); + $3032($5_1 + 16 | 0 | 0); + break label$1; + } + $49_1 = $5_1 + 16 | 0; + $3022($49_1 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 144 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 144 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $3036($49_1 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $67_1 = 24; + $3021($49_1 | 0, (58 << $67_1 | 0) >> $67_1 | 0 | 0); + $3023($49_1 | 0, HEAP32[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 144 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 144 | 0) >> 2] = (HEAP32[($5_1 + 144 | 0) >> 2] | 0) + 2 | 0; + continue label$4; + }; + } + $84_1 = $5_1 + 16 | 0; + $86_1 = 24; + $3021($84_1 | 0, (125 << $86_1 | 0) >> $86_1 | 0 | 0); + $3024($84_1 | 0); + $276(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 74 | 0); + } + global$0 = $5_1 + 160 | 0; + return; + } + + function $3036($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, $5_1 = 0, $179$hi = 0, $180$hi = 0, $183$hi = 0, $192$hi = 0, $193$hi = 0, $196$hi = 0, $199$hi = 0, $202$hi = 0, $205$hi = 0, $208$hi = 0, $211$hi = 0, $220$hi = 0, $221$hi = 0, $224$hi = 0, $227$hi = 0, $175$hi = 0, $176$hi = 0, $177$hi = 0, $178$hi = 0, $22_1 = 0, $184$hi = 0, $186$hi = 0, $187$hi = 0, $188$hi = 0, $189$hi = 0, $190$hi = 0, $191$hi = 0, $95_1 = 0, $100_1 = 0, $197$hi = 0, $105_1 = 0, $200$hi = 0, $110_1 = 0, $203$hi = 0, $115_1 = 0, $206$hi = 0, $127_1 = 0, $209$hi = 0, $139_1 = 0, $212$hi = 0, $214$hi = 0, $215$hi = 0, $216$hi = 0, $217$hi = 0, $218$hi = 0, $219$hi = 0, $161_1 = 0, $225$hi = 0, $167_1 = 0, $228$hi = 0, $251_1 = 0, $263_1 = 0, $18_1 = 0, $19_1 = 0, $21_1 = 0, $183_1 = 0, $433_1 = 0, $96_1 = 0, $97_1 = 0, $99_1 = 0, $196_1 = 0, $104_1 = 0, $199_1 = 0, $109_1 = 0, $202_1 = 0, $114_1 = 0, $205_1 = 0, $124_1 = 0, $126_1 = 0, $208_1 = 0, $136_1 = 0, $138_1 = 0, $211_1 = 0, $630_1 = 0, $158_1 = 0, $160_1 = 0, $224_1 = 0, $164_1 = 0, $166_1 = 0, $227_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + $175$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $176$hi = i64toi32_i32$1; + i64toi32_i32$1 = $175$hi; + i64toi32_i32$1 = $176$hi; + $251_1 = i64toi32_i32$0; + i64toi32_i32$1 = $175$hi; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = $176$hi; + i64toi32_i32$3 = $251_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $177$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $178$hi = i64toi32_i32$5; + i64toi32_i32$5 = $177$hi; + i64toi32_i32$5 = $178$hi; + i64toi32_i32$5 = $177$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $178$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $179$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + $180$hi = i64toi32_i32$1; + i64toi32_i32$1 = $179$hi; + i64toi32_i32$1 = $180$hi; + i64toi32_i32$1 = $179$hi; + i64toi32_i32$1 = $180$hi; + $263_1 = i64toi32_i32$4; + i64toi32_i32$1 = $179$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$4 = $180$hi; + i64toi32_i32$3 = $263_1; + label$1 : { + label$2 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$4 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$4 | 0) & i64toi32_i32$5 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + if (!($3060(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 2 | 0 | 0) | 0)) { + break label$2 + } + break label$1; + } + $18_1 = 0; + $19_1 = 34; + $21_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $22_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$3 = $22_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $183_1 = i64toi32_i32$5; + $183$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $184$hi = i64toi32_i32$1; + i64toi32_i32$1 = $183$hi; + i64toi32_i32$1 = $184$hi; + i64toi32_i32$1 = $183$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $184$hi; + i64toi32_i32$4 = 1; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$3 = $22_1; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $183$hi; + HEAP8[($21_1 + $183_1 | 0) >> 0] = $19_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $18_1; + label$3 : while (1) { + label$4 : { + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + HEAP8[($5_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0; + label$7 : { + label$8 : { + if (((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) == (34 | 0) & 1 | 0) { + break label$8 + } + if (!(((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) == (92 | 0) & 1 | 0)) { + break label$7 + } + } + break label$5; + } + label$9 : { + if (!(((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) <= (31 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!(((HEAPU8[(((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0) + 60704 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP8[($5_1 + 15 | 0) >> 0] = HEAPU8[(((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0) + 60704 | 0) >> 0] | 0; + break label$5; + } + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $186$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $187$hi = i64toi32_i32$3; + i64toi32_i32$3 = $186$hi; + i64toi32_i32$3 = $187$hi; + i64toi32_i32$3 = $186$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $187$hi; + i64toi32_i32$4 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $188$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $189$hi = i64toi32_i32$2; + i64toi32_i32$2 = $188$hi; + i64toi32_i32$2 = $189$hi; + i64toi32_i32$2 = $188$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$1 = $189$hi; + i64toi32_i32$4 = 7; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $190$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $191$hi = i64toi32_i32$5; + i64toi32_i32$5 = $190$hi; + i64toi32_i32$5 = $191$hi; + i64toi32_i32$5 = $190$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$3 = $191$hi; + i64toi32_i32$4 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $192$hi = i64toi32_i32$0; + i64toi32_i32$5 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + $193$hi = i64toi32_i32$2; + i64toi32_i32$2 = $192$hi; + i64toi32_i32$2 = $193$hi; + i64toi32_i32$2 = $192$hi; + i64toi32_i32$2 = $193$hi; + $433_1 = i64toi32_i32$0; + i64toi32_i32$2 = $192$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$0 = $193$hi; + i64toi32_i32$4 = $433_1; + label$11 : { + if (!((i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$4 >>> 0 | 0) | 0) & 1 | 0)) { + break label$11 + } + if (!($3060(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 7 | 0) - (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0 | 0) | 0)) { + break label$11 + } + break label$1; + } + $95_1 = 48; + $96_1 = 117; + $97_1 = 92; + $99_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $100_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$4 = $100_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] | 0; + $196_1 = i64toi32_i32$5; + $196$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $197$hi = i64toi32_i32$2; + i64toi32_i32$2 = $196$hi; + i64toi32_i32$2 = $197$hi; + i64toi32_i32$2 = $196$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$5 = $197$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$4 = $100_1; + HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] = i64toi32_i32$3; + HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $196$hi; + HEAP8[($99_1 + $196_1 | 0) >> 0] = $97_1; + $104_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $105_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $105_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $199_1 = i64toi32_i32$1; + $199$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $200$hi = i64toi32_i32$4; + i64toi32_i32$4 = $199$hi; + i64toi32_i32$4 = $200$hi; + i64toi32_i32$4 = $199$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $200$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + i64toi32_i32$2 = $105_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$3 = $199$hi; + HEAP8[($104_1 + $199_1 | 0) >> 0] = $96_1; + $109_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $110_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$4 = $110_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] | 0; + $202_1 = i64toi32_i32$3; + $202$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $203$hi = i64toi32_i32$2; + i64toi32_i32$2 = $202$hi; + i64toi32_i32$2 = $203$hi; + i64toi32_i32$2 = $202$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$3 = $203$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$4 = $110_1; + HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $202$hi; + HEAP8[($109_1 + $202_1 | 0) >> 0] = $95_1; + $114_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $115_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $115_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $205_1 = i64toi32_i32$5; + $205$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $206$hi = i64toi32_i32$4; + i64toi32_i32$4 = $205$hi; + i64toi32_i32$4 = $206$hi; + i64toi32_i32$4 = $205$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $206$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$2 = $115_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$3; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $205$hi; + HEAP8[($114_1 + $205_1 | 0) >> 0] = $95_1; + $124_1 = (((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0) >> 4 | 0) + 48 | 0; + $126_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$4 = $127_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] | 0; + $208_1 = i64toi32_i32$1; + $208$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $209$hi = i64toi32_i32$2; + i64toi32_i32$2 = $208$hi; + i64toi32_i32$2 = $209$hi; + i64toi32_i32$2 = $208$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $209$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + i64toi32_i32$4 = $127_1; + HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$3 = $208$hi; + HEAP8[($126_1 + $208_1 | 0) >> 0] = $124_1; + HEAP8[($5_1 + 15 | 0) >> 0] = HEAPU8[((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0) & 15 | 0) + 60736 | 0) >> 0] | 0; + } + break label$4; + } + $136_1 = 34; + $138_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $139_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $139_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $211_1 = i64toi32_i32$3; + $211$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $212$hi = i64toi32_i32$4; + i64toi32_i32$4 = $211$hi; + i64toi32_i32$4 = $212$hi; + i64toi32_i32$4 = $211$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $212$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $139_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $211$hi; + HEAP8[($138_1 + $211_1 | 0) >> 0] = $136_1; + break label$1; + } + i64toi32_i32$4 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] | 0; + $214$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $215$hi = i64toi32_i32$2; + i64toi32_i32$2 = $214$hi; + i64toi32_i32$2 = $215$hi; + i64toi32_i32$2 = $214$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$5 = $215$hi; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $216$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $217$hi = i64toi32_i32$1; + i64toi32_i32$1 = $216$hi; + i64toi32_i32$1 = $217$hi; + i64toi32_i32$1 = $216$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$4 = $217$hi; + i64toi32_i32$0 = 3; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $218$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $219$hi = i64toi32_i32$3; + i64toi32_i32$3 = $218$hi; + i64toi32_i32$3 = $219$hi; + i64toi32_i32$3 = $218$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$2 = $219$hi; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$0 | 0; + i64toi32_i32$5 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + $220$hi = i64toi32_i32$5; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $221$hi = i64toi32_i32$1; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$1 = $221$hi; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$1 = $221$hi; + $630_1 = i64toi32_i32$5; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$5 = $221$hi; + i64toi32_i32$0 = $630_1; + label$12 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$5 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$4 >>> 0 > i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { + break label$12 + } + if (!($3060(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 3 | 0) - (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0 | 0) | 0)) { + break label$12 + } + break label$1; + } + $158_1 = 92; + $160_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $161_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = $161_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $224_1 = i64toi32_i32$3; + $224$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $225$hi = i64toi32_i32$1; + i64toi32_i32$1 = $224$hi; + i64toi32_i32$1 = $225$hi; + i64toi32_i32$1 = $224$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $225$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $161_1; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$4 = $224$hi; + HEAP8[($160_1 + $224_1 | 0) >> 0] = $158_1; + } + $164_1 = HEAPU8[($5_1 + 15 | 0) >> 0] | 0; + $166_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $167_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = $167_1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $227_1 = i64toi32_i32$4; + $227$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $228$hi = i64toi32_i32$0; + i64toi32_i32$0 = $227$hi; + i64toi32_i32$0 = $228$hi; + i64toi32_i32$0 = $227$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$4 = $228$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$1 = $167_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = i64toi32_i32$3; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $227$hi; + HEAP8[($166_1 + $227_1 | 0) >> 0] = $164_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3037($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $25_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 96 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 84 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!($3015($5_1 + 48 | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, $66(HEAP32[(HEAP32[($5_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!($3015($5_1 + 16 | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, $66(HEAP32[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0)) { + break label$3 + } + $3018($5_1 + 48 | 0 | 0); + break label$1; + } + $25_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3038($5_1 + 48 | 0 | 0, $25_1 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != ($25_1 | 0) & 1 | 0)) { + break label$5 + } + $3017(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 0 | 0); + break label$4; + } + $286(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0); + } + $3018($5_1 + 48 | 0 | 0); + $3018($5_1 + 16 | 0 | 0); + } + global$0 = $5_1 + 96 | 0; + return; + } + + function $3038($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $214_1 = 0, $115_1 = 0, $176_1 = 0, $247_1 = 0, $268_1 = 0, $191_1 = 0, $296_1 = 0, $300_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (7 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 52 | 0) >> 2] | 0, 12) | 0; + label$3 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (7 | 0) & 1 | 0)) { + break label$3 + } + $3065(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = 1; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + label$8 : { + if (!((HEAP32[(((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 40 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + if ($3234(HEAP32[(((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 40 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0) { + break label$8 + } + label$9 : { + if (!(((HEAPU8[(((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0, 12) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 20 | 0)) { + break label$9 + } + break label$6; + } + label$10 : { + label$11 : { + if ((HEAPU8[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0, 12) | 0) >> 0] | 0) & 255 | 0) { + break label$11 + } + $115_1 = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0, 12) | 0; + HEAP8[($115_1 + 1 | 0) >> 0] = (HEAPU8[($115_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 4 | 0; + break label$10; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3038(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + (HEAP32[($5_1 + 40 | 0) >> 2] | 0) | 0) + 1 | 0 | 0, (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0, 12) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 52 | 0) >> 2] | 0, 12) | 0; + label$13 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0, 12) | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[(((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0, 12) | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $176_1 = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0, 12) | 0; + HEAP8[($176_1 + 1 | 0) >> 0] = (HEAPU8[($176_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 16 | 0; + } + } + break label$6; + } + $191_1 = ($3027((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0, 12) | 0 | 0) | 0) + 1 | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + $191_1 | 0; + continue label$7; + }; + } + label$14 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$14 + } + if (!((HEAPU8[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0, 12) | 0) >> 0] | 0) & 255 | 0)) { + break label$14 + } + $214_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3054(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, 7 | 0, 2 | 0, $214_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $3054(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3054(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, 1 | 0, $214_1 | 0, $214_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + break label$1; + } + $3065(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 52 | 0) >> 2] | 0, 12) | 0; + $247_1 = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 36 | 0) >> 2] | 0, 12) | 0; + HEAP8[($247_1 + 1 | 0) >> 0] = (HEAPU8[($247_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 32 | 0; + HEAP32[(((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 36 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $268_1 = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 12) | 0; + HEAP8[($268_1 + 1 | 0) >> 0] = (HEAPU8[($268_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 16 | 0; + HEAP32[(((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0, 12) | 0; + } + $296_1 = ($3027((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0, 12) | 0 | 0) | 0) + 1 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + $296_1 | 0; + continue label$5; + }; + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + } + $300_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $300_1 | 0; + } + + function $3039($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 144 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 132 | 0) >> 2] = $2_1; + $3020($5_1 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0); + $3023($5_1 | 0, HEAP32[(HEAP32[($5_1 + 132 | 0) >> 2] | 0) >> 2] | 0 | 0); + $3024($5_1 | 0); + $276(HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, 74 | 0); + global$0 = $5_1 + 144 | 0; + return; + } + + function $3040($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if ((HEAP32[($5_1 + 56 | 0) >> 2] | 0) & 1 | 0) { + break label$3 + } + $3034(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 40030 | 0); + break label$1; + } + label$4 : { + if (!($3015($5_1 + 16 | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) | 0)) { + break label$4 + } + break label$1; + } + HEAP32[($5_1 + 4 | 0) >> 2] = 1; + label$5 : { + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 56 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3016($5_1 + 16 | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(((HEAPU8[($5_1 + 37 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$5; + } + label$9 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $64_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP8[($64_1 + 1 | 0) >> 0] = (HEAPU8[($64_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 8 | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 2 | 0; + continue label$7; + }; + } + label$10 : { + label$11 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$11 + } + $280(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + break label$10; + } + $3017(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0); + } + } + $3018($5_1 + 16 | 0 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $3041($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3026(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3016(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $277(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(60896 + (((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0) >> 2] | 0 | 0, -1 | 0, 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3042($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3026(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $267(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$5_1 >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $3043($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $47$hi = 0, $28_1 = 0, $49$hi = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 128 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $3020(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $28_1 = 24; + $3021(HEAP32[$5_1 >> 2] | 0 | 0, (91 << $28_1 | 0) >> $28_1 | 0 | 0); + break label$2; + } + i64toi32_i32$0 = 0; + $47$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $49$hi = i64toi32_i32$1; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $47$hi; + label$4 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 > 1 >>> 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + $37_1 = 24; + $3021(HEAP32[$5_1 >> 2] | 0 | 0, (44 << $37_1 | 0) >> $37_1 | 0 | 0); + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + } + $3023(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $3044($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3045(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $3045($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $5_1 = 0, $19_1 = 0, $63_1 = 0, $74$hi = 0, $75$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $304(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $19_1 = 24; + $3021(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, (93 << $19_1 | 0) >> $19_1 | 0 | 0); + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + $286(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + break label$3; + } + label$6 : { + label$7 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$7 + } + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $277(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, ((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 ? -1 : 3) | 0); + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] = 1; + break label$6; + } + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $277(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, -1 | 0); + $63_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $63_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $74$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $75$hi = i64toi32_i32$1; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$1 = $75$hi; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $63_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + } + } + break label$1; + } + $277(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 60941 | 0, 2 | 0, 0 | 0); + } + $276(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 74 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $3046($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3045(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $3047($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $61$hi = 0, $28_1 = 0, $63$hi = 0, $37_1 = 0, $53_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 128 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $3020(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + $28_1 = 24; + $3021(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, (123 << $28_1 | 0) >> $28_1 | 0 | 0); + break label$2; + } + i64toi32_i32$0 = 0; + $61$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $63$hi = i64toi32_i32$1; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $61$hi; + label$4 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 > 1 >>> 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + $37_1 = 24; + $3021(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, (44 << $37_1 | 0) >> $37_1 | 0 | 0); + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $3036(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $53_1 = 24; + $3021(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, (58 << $53_1 | 0) >> $53_1 | 0 | 0); + $3023(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3048($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3049(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $3049($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $5_1 = 0, $17_1 = 0, $61_1 = 0, $72$hi = 0, $73$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $304(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = 24; + $3021(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, (125 << $17_1 | 0) >> $17_1 | 0 | 0); + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + $286(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + break label$3; + } + label$6 : { + label$7 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$7 + } + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $277(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, ((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 ? -1 : 3) | 0); + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] = 1; + break label$6; + } + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $277(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, -1 | 0); + $61_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $61_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $73$hi = i64toi32_i32$1; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $61_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + } + } + break label$1; + } + $277(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 60944 | 0, 2 | 0, 0 | 0); + } + $276(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 74 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $3050($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3049(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $3051($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $38_1 = 0, $278_1 = 0, $634_1 = 0, $29_1 = 0, $30_1 = 0, $71_1 = 0, $74_1 = 0, $94_1 = 0, $149_1 = 0, $179_1 = 0, $195_1 = 0, $231_1 = 0, $241_1 = 0, $270_1 = 0, $311_1 = 0, $314_1 = 0, $327_1 = 0, $383_1 = 0, $393_1 = 0, $422_1 = 0, $439_1 = 0, $447_1 = 0, $459_1 = 0, $463_1 = 0, $473_1 = 0, $483_1 = 0, $493_1 = 0, $503_1 = 0, $513_1 = 0, $523_1 = 0, $533_1 = 0, $543_1 = 0, $561_1 = 0, $607_1 = 0, $641_1 = 0, $669_1 = 0, $676_1 = 0, $704_1 = 0, $711_1 = 0, $721_1 = 0, $731_1 = 0, $740_1 = 0, $742_1 = 0, $752_1 = 0, $763_1 = 0, $771_1 = 0, $786_1 = 0, $801_1 = 0, $819_1 = 0, $829_1 = 0, $839_1 = 0, $854_1 = 0, $876_1 = 0, $886_1 = 0, $901_1 = 0, $921_1 = 0, $929_1 = 0, $939_1 = 0, $958_1 = 0, $968_1 = 0, $987_1 = 0, $1012_1 = 0, $1023_1 = 0, $1033_1 = 0, $456_1 = 0, $1038_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 60384 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $29_1 = HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($4_1 + 35 | 0) >> 0] = $29_1; + $30_1 = 24; + label$3 : { + label$4 : { + if (!((($29_1 << $30_1 | 0) >> $30_1 | 0 | 0) == (123 | 0) & 1 | 0)) { + break label$4 + } + $38_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3054(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, 7 | 0, $38_1 | 0, $38_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < ($38_1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + label$6 : while (1) { + label$7 : { + label$8 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 60384 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + $71_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + $74_1 = (HEAPU16[($71_1 + 22 | 0) >> 1] | 0) + 1 | 0; + HEAP16[($71_1 + 22 | 0) >> 1] = $74_1; + label$9 : { + if (!(($74_1 & 65535 | 0 | 0) > (2e3 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3051(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$10 + } + $94_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP16[($94_1 + 22 | 0) >> 1] = (HEAPU16[($94_1 + 22 | 0) >> 1] | 0) + -1 | 0; + label$11 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) == ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + label$12 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0, 12) | 0; + label$13 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + $149_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP8[($149_1 + 1 | 0) >> 0] = (HEAPU8[($149_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 64 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$14 : { + label$15 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 60384 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + $179_1 = 24; + label$16 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) << $179_1 | 0) >> $179_1 | 0 | 0) != (58 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3051(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $195_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP16[($195_1 + 22 | 0) >> 1] = (HEAPU16[($195_1 + 22 | 0) >> 1] | 0) + -1 | 0; + label$17 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$18 : { + label$19 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 60384 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + HEAP8[($4_1 + 35 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0; + $231_1 = 24; + label$20 : { + label$21 : { + label$22 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $231_1 | 0) >> $231_1 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$22 + } + break label$21; + } + $241_1 = 24; + label$23 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $241_1 | 0) >> $241_1 | 0 | 0) != (125 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + break label$20; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + HEAP32[(((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 24 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] = ((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) - 1 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + $270_1 = 24; + label$24 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $270_1 | 0) >> $270_1 | 0 | 0) == (91 | 0) & 1 | 0)) { + break label$24 + } + $278_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3054(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, 6 | 0, $278_1 | 0, $278_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < ($278_1 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + label$26 : while (1) { + label$27 : { + label$28 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 60384 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + $311_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + $314_1 = (HEAPU16[($311_1 + 22 | 0) >> 1] | 0) + 1 | 0; + HEAP16[($311_1 + 22 | 0) >> 1] = $314_1; + label$29 : { + if (!(($314_1 & 65535 | 0 | 0) > (2e3 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3051(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $327_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP16[($327_1 + 22 | 0) >> 1] = (HEAPU16[($327_1 + 22 | 0) >> 1] | 0) + -1 | 0; + label$30 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$30 + } + label$31 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (-3 | 0) & 1 | 0)) { + break label$31 + } + if (!((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) == ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$32 : { + label$33 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 60384 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$33; + }; + } + HEAP8[($4_1 + 35 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0; + $383_1 = 24; + label$34 : { + label$35 : { + label$36 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $383_1 | 0) >> $383_1 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$36 + } + break label$35; + } + $393_1 = 24; + label$37 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $393_1 | 0) >> $393_1 | 0 | 0) != (93 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + break label$34; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$26; + } + break label$26; + }; + HEAP32[(((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 24 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] = ((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) - 1 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + $422_1 = 24; + label$38 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $422_1 | 0) >> $422_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$38 + } + HEAP8[($4_1 + 11 | 0) >> 0] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + label$39 : while (1) { + HEAP8[($4_1 + 35 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0; + $439_1 = 24; + label$40 : { + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $439_1 | 0) >> $439_1 | 0) & -32 | 0) { + break label$40 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + $447_1 = 24; + label$41 : { + label$42 : { + label$43 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $447_1 | 0) >> $447_1 | 0 | 0) == (92 | 0) & 1 | 0)) { + break label$43 + } + $456_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $459_1 = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $459_1; + HEAP8[($4_1 + 35 | 0) >> 0] = HEAPU8[($456_1 + $459_1 | 0) >> 0] | 0; + $463_1 = 24; + label$44 : { + label$45 : { + label$46 : { + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $463_1 | 0) >> $463_1 | 0 | 0) == (34 | 0) & 1 | 0) { + break label$46 + } + $473_1 = 24; + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $473_1 | 0) >> $473_1 | 0 | 0) == (92 | 0) & 1 | 0) { + break label$46 + } + $483_1 = 24; + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $483_1 | 0) >> $483_1 | 0 | 0) == (47 | 0) & 1 | 0) { + break label$46 + } + $493_1 = 24; + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $493_1 | 0) >> $493_1 | 0 | 0) == (98 | 0) & 1 | 0) { + break label$46 + } + $503_1 = 24; + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $503_1 | 0) >> $503_1 | 0 | 0) == (102 | 0) & 1 | 0) { + break label$46 + } + $513_1 = 24; + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $513_1 | 0) >> $513_1 | 0 | 0) == (110 | 0) & 1 | 0) { + break label$46 + } + $523_1 = 24; + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $523_1 | 0) >> $523_1 | 0 | 0) == (114 | 0) & 1 | 0) { + break label$46 + } + $533_1 = 24; + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $533_1 | 0) >> $533_1 | 0 | 0) == (116 | 0) & 1 | 0) { + break label$46 + } + $543_1 = 24; + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $543_1 | 0) >> $543_1 | 0 | 0) == (117 | 0) & 1 | 0)) { + break label$45 + } + if (!($3055(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) | 0)) { + break label$45 + } + } + HEAP8[($4_1 + 11 | 0) >> 0] = 2; + break label$44; + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + break label$42; + } + $561_1 = 24; + label$47 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $561_1 | 0) >> $561_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$47 + } + break label$41; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$39; + } + break label$39; + }; + $3054(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, 5 | 0, ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0; + label$48 : { + if (((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$48 + } + HEAP8[(((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0, 12) | 0) + 1 | 0) >> 0] = HEAPU8[($4_1 + 11 | 0) >> 0] | 0; + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + $607_1 = 24; + label$49 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $607_1 | 0) >> $607_1 | 0 | 0) == (110 | 0) & 1 | 0)) { + break label$49 + } + if ($3234((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0 | 0, 11577 | 0, 4 | 0) | 0) { + break label$49 + } + if (((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 6 | 0) { + break label$49 + } + $634_1 = 0; + $3054(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, $634_1 | 0, $634_1 | 0, $634_1 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0; + break label$3; + } + $641_1 = 24; + label$50 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $641_1 | 0) >> $641_1 | 0 | 0) == (116 | 0) & 1 | 0)) { + break label$50 + } + if ($3234((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0 | 0, 29454 | 0, 4 | 0) | 0) { + break label$50 + } + if (((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 6 | 0) { + break label$50 + } + $669_1 = 0; + $3054(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, 1 | 0, $669_1 | 0, $669_1 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0; + break label$3; + } + $676_1 = 24; + label$51 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $676_1 | 0) >> $676_1 | 0 | 0) == (102 | 0) & 1 | 0)) { + break label$51 + } + if ($3234((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0 | 0, 29459 | 0, 5 | 0) | 0) { + break label$51 + } + if (((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 6 | 0) { + break label$51 + } + $704_1 = 0; + $3054(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, 2 | 0, $704_1 | 0, $704_1 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 5 | 0; + break label$3; + } + $711_1 = 24; + label$52 : { + label$53 : { + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $711_1 | 0) >> $711_1 | 0 | 0) == (45 | 0) & 1 | 0) { + break label$53 + } + $721_1 = 24; + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $721_1 | 0) >> $721_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$52 + } + $731_1 = 24; + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $731_1 | 0) >> $731_1 | 0 | 0) <= (57 | 0) & 1 | 0)) { + break label$52 + } + } + $740_1 = 0; + HEAP8[($4_1 + 10 | 0) >> 0] = $740_1; + HEAP8[($4_1 + 9 | 0) >> 0] = $740_1; + $742_1 = 24; + label$54 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $742_1 | 0) >> $742_1 | 0 | 0) <= (48 | 0) & 1 | 0)) { + break label$54 + } + $752_1 = 24; + label$55 : { + label$56 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $752_1 | 0) >> $752_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$56 + } + $763_1 = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + break label$55; + } + $763_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = $763_1; + $771_1 = 24; + label$57 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) << $771_1 | 0) >> $771_1 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$57 + } + $786_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $786_1 | 0) >> $786_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$57 + } + $801_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $801_1 | 0) >> $801_1 | 0 | 0) <= (57 | 0) & 1 | 0)) { + break label$57 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + label$58 : { + label$59 : while (1) { + HEAP8[($4_1 + 35 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0; + $819_1 = 24; + label$60 : { + label$61 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $819_1 | 0) >> $819_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$61 + } + $829_1 = 24; + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $829_1 | 0) >> $829_1 | 0 | 0) <= (57 | 0) & 1 | 0)) { + break label$61 + } + break label$60; + } + $839_1 = 24; + label$62 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $839_1 | 0) >> $839_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$62 + } + $854_1 = 24; + label$63 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $854_1 | 0) >> $854_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$63 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + label$64 : { + if (!(((HEAPU8[($4_1 + 10 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$64 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + HEAP8[($4_1 + 10 | 0) >> 0] = 1; + break label$60; + } + $876_1 = 24; + label$65 : { + label$66 : { + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $876_1 | 0) >> $876_1 | 0 | 0) == (101 | 0) & 1 | 0) { + break label$66 + } + $886_1 = 24; + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $886_1 | 0) >> $886_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$65 + } + } + $901_1 = 24; + label$67 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $901_1 | 0) >> $901_1 | 0 | 0) < (48 | 0) & 1 | 0)) { + break label$67 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + label$68 : { + if (!(((HEAPU8[($4_1 + 9 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$68 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + $921_1 = 1; + HEAP8[($4_1 + 9 | 0) >> 0] = $921_1; + HEAP8[($4_1 + 10 | 0) >> 0] = $921_1; + HEAP8[($4_1 + 35 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0; + $929_1 = 24; + label$69 : { + label$70 : { + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $929_1 | 0) >> $929_1 | 0 | 0) == (43 | 0) & 1 | 0) { + break label$70 + } + $939_1 = 24; + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $939_1 | 0) >> $939_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$69 + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP8[($4_1 + 35 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0; + } + $958_1 = 24; + label$71 : { + label$72 : { + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $958_1 | 0) >> $958_1 | 0 | 0) < (48 | 0) & 1 | 0) { + break label$72 + } + $968_1 = 24; + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $968_1 | 0) >> $968_1 | 0 | 0) > (57 | 0) & 1 | 0)) { + break label$71 + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + break label$60; + } + break label$58; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$59; + }; + } + $987_1 = 24; + label$73 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $987_1 | 0) >> $987_1 | 0 | 0) < (48 | 0) & 1 | 0)) { + break label$73 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + $3054(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, ((HEAPU8[($4_1 + 10 | 0) >> 0] | 0) & 255 | 0 ? 4 : 3) | 0, (HEAP32[($4_1 + 28 | 0) >> 2] | 0) - (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + break label$3; + } + $1012_1 = 24; + label$74 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $1012_1 | 0) >> $1012_1 | 0 | 0) == (125 | 0) & 1 | 0)) { + break label$74 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -2; + break label$3; + } + $1023_1 = 24; + label$75 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $1023_1 | 0) >> $1023_1 | 0 | 0) == (93 | 0) & 1 | 0)) { + break label$75 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -3; + break label$3; + } + $1033_1 = 24; + label$76 : { + if (((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $1033_1 | 0) >> $1033_1 | 0) { + break label$76 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$3; + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + } + $1038_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $1038_1 | 0; + } + + function $3052($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $124_1 = 0, $16_1 = 0, $30_1 = 0, $55_1 = 0, $72_1 = 0, $75_1 = 0, $81_1 = 0, $121_1 = 0, $131_1 = 0, $144_1 = 0, $271_1 = 0, $282_1 = 0, $292_1 = 0, $320_1 = 0, $341_1 = 0, $352_1 = 0, $423_1 = 0, $449_1 = 0, $485_1 = 0, $525_1 = 0, $534_1 = 0, $653_1 = 0, $198_1 = 0, $399_1 = 0, $571_1 = 0, $663_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 68 | 0) >> 2] | 0, 12) | 0; + $16_1 = 24; + label$1 : { + label$2 : { + if (((HEAPU8[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 0] | 0) << $16_1 | 0) >> $16_1 | 0) { + break label$2 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$3 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + $30_1 = 24; + label$4 : { + label$5 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (7 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 1 | 0; + $55_1 = 24; + label$7 : { + label$8 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 0] | 0) << $55_1 | 0) >> $55_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = 1; + label$9 : while (1) { + $72_1 = 24; + $75_1 = 0; + label$10 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0) >> 0] | 0) << $72_1 | 0) >> $72_1 | 0)) { + break label$10 + } + $81_1 = 24; + $75_1 = (((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0) >> 0] | 0) << $81_1 | 0) >> $81_1 | 0 | 0) != (34 | 0); + } + label$11 : { + if (!($75_1 & 1 | 0)) { + break label$11 + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) - 1 | 0; + label$12 : { + label$13 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + break label$12; + } + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + break label$7; + } + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = 0; + label$14 : while (1) { + $121_1 = 24; + $124_1 = 0; + label$15 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0) >> 0] | 0) << $121_1 | 0) >> $121_1 | 0)) { + break label$15 + } + $131_1 = 24; + $124_1 = 0; + if (!((((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0) >> 0] | 0) << $131_1 | 0) >> $131_1 | 0 | 0) != (46 | 0) & 1 | 0)) { + break label$15 + } + $144_1 = 24; + $124_1 = (((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0) >> 0] | 0) << $144_1 | 0) >> $144_1 | 0 | 0) != (91 | 0); + } + label$16 : { + if (!($124_1 & 1 | 0)) { + break label$16 + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + } + break label$14; + }; + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + } + label$17 : { + if (HEAP32[($7_1 + 44 | 0) >> 2] | 0) { + break label$17 + } + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 48 | 0) >> 2] = 1; + label$18 : while (1) { + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$19 + } + label$21 : { + if (!($3057((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 48 | 0) >> 2] | 0, 12) | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$21 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3052(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) + 1 | 0 | 0, (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 1 | 0; + $198_1 = $3027((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 48 | 0) >> 2] | 0, 12) | 0 | 0) | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + $198_1 | 0; + continue label$20; + }; + } + label$22 : { + label$23 : { + if (((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 32 | 0) { + break label$23 + } + break label$22; + } + HEAP32[($7_1 + 68 | 0) >> 2] = (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 68 | 0) >> 2] | 0, 12) | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = 1; + continue label$18; + } + break label$18; + }; + label$24 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3054(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, 7 | 0, 2 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3054(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3058(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + label$26 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 68 | 0) >> 2] | 0, 12) | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0; + $271_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP8[($271_1 + 1 | 0) >> 0] = (HEAPU8[($271_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 32 | 0; + $282_1 = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 28 | 0) >> 2] | 0, 12) | 0; + HEAP8[($282_1 + 1 | 0) >> 0] = (HEAPU8[($282_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 1 | 0; + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + break label$1; + } + break label$4; + } + $292_1 = 24; + label$27 : { + label$28 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 0] | 0) << $292_1 | 0) >> $292_1 | 0 | 0) == (91 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($7_1 + 52 | 0) >> 2] = 0; + HEAP32[($7_1 + 48 | 0) >> 2] = 1; + label$29 : { + label$30 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$29 + } + $320_1 = 24; + HEAP32[($7_1 + 52 | 0) >> 2] = (Math_imul(HEAP32[($7_1 + 52 | 0) >> 2] | 0, 10) + (((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) << $320_1 | 0) >> $320_1 | 0) | 0) - 48 | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$30; + }; + } + label$31 : { + label$32 : { + if ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) >>> 0 < 2 >>> 0 & 1 | 0) { + break label$32 + } + $341_1 = 24; + if (!((((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) << $341_1 | 0) >> $341_1 | 0 | 0) != (93 | 0) & 1 | 0)) { + break label$31 + } + } + $352_1 = 24; + label$33 : { + label$34 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $352_1 | 0) >> $352_1 | 0 | 0) == (35 | 0) & 1 | 0)) { + break label$34 + } + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + label$35 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (6 | 0) & 1 | 0)) { + break label$35 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + label$36 : while (1) { + label$37 : { + label$38 : while (1) { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$37 + } + label$39 : { + if (((HEAPU8[(((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 48 | 0) >> 2] | 0, 12) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$39 + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + } + $399_1 = $3027((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 48 | 0) >> 2] | 0, 12) | 0 | 0) | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + $399_1 | 0; + continue label$38; + }; + } + label$40 : { + label$41 : { + if (((HEAPU8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 32 | 0) { + break label$41 + } + break label$40; + } + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 16 | 0) >> 2] | 0, 12) | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = 1; + continue label$36; + } + break label$36; + }; + HEAP32[($7_1 + 48 | 0) >> 2] = 2; + $423_1 = 24; + label$42 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $423_1 | 0) >> $423_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$42 + } + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$42 + } + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + HEAP32[($7_1 + 48 | 0) >> 2] = 3; + label$43 : while (1) { + $449_1 = 24; + HEAP32[($7_1 + 12 | 0) >> 2] = (Math_imul(HEAP32[($7_1 + 12 | 0) >> 2] | 0, 10) + (((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) << $449_1 | 0) >> $449_1 | 0) | 0) - 48 | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 1 | 0; + if (((HEAPU8[(((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + continue label$43 + } + break label$43; + }; + label$44 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0) >>> 0 > (HEAP32[($7_1 + 52 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$44 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) - (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + } + $485_1 = 24; + label$45 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) << $485_1 | 0) >> $485_1 | 0 | 0) != (93 | 0) & 1 | 0)) { + break label$45 + } + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + break label$33; + } + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + } + label$46 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (6 | 0) & 1 | 0)) { + break label$46 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = 1; + label$47 : while (1) { + label$48 : while (1) { + $525_1 = 0; + label$49 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$49 + } + $534_1 = 1; + label$50 : { + if ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0) { + break label$50 + } + $534_1 = (((HEAPU8[(((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 48 | 0) >> 2] | 0, 12) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 4 | 0 | 0) != (0 | 0); + } + $525_1 = $534_1; + } + label$51 : { + if (!($525_1 & 1 | 0)) { + break label$51 + } + label$52 : { + if (((HEAPU8[(((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 48 | 0) >> 2] | 0, 12) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$52 + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + -1 | 0; + } + $571_1 = $3027((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 48 | 0) >> 2] | 0, 12) | 0 | 0) | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + $571_1 | 0; + continue label$48; + } + break label$48; + }; + label$53 : { + label$54 : { + if (((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 32 | 0) { + break label$54 + } + break label$53; + } + HEAP32[($7_1 + 68 | 0) >> 2] = (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 68 | 0) >> 2] | 0, 12) | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = 1; + continue label$47; + } + break label$47; + }; + label$55 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$55 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3052(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$56 : { + if (HEAP32[($7_1 + 52 | 0) >> 2] | 0) { + break label$56 + } + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$56 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3054(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, 6 | 0, 1 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3058(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$57 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$57 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + label$58 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$58 + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 68 | 0) >> 2] | 0, 12) | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0; + $653_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP8[($653_1 + 1 | 0) >> 0] = (HEAPU8[($653_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 32 | 0; + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + break label$1; + } + break label$27; + } + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + } + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + } + $663_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $663_1 | 0; + } + + function $3053($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $6_1 = $79(60644 | 0, $3_1 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $6_1 | 0; + } + + function $3054($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $36_1 = 0, $37_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3056(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0, 12) | 0; + HEAP8[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 0] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $36_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $37_1 = HEAP32[$36_1 >> 2] | 0; + HEAP32[$36_1 >> 2] = $37_1 + 1 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $37_1; + } + $40_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $40_1 | 0; + } + + function $3055($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (((HEAPU8[(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $3056($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $50_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[($6_1 + 8 | 0) >> 2] = ((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 1 | 0) + 10 | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($6_1 + 8 | 0) >> 2] | 0, 12) | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 0] = 1; + HEAP32[($6_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3054(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $50_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $50_1 | 0; + } + + function $3057($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[$5_1 >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($3234(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0 | 0) == (0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != ((HEAP32[$5_1 >> 2] | 0) + 2 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($3234((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0 | 0) == (0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $56_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $56_1 | 0; + } + + function $3058($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $14_1 = 0, $11_1 = 0, $21_1 = 0, $35_1 = 0, $44_1 = 0, $51_1 = 0, $74_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = 1; + $11_1 = 24; + label$1 : { + label$2 : { + if (((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $11_1 | 0) >> $11_1 | 0) { + break label$2 + } + $14_1 = 0; + $3054(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $14_1 | 0, $14_1 | 0, $14_1 | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + $21_1 = 0; + break label$3; + } + $21_1 = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0, 12) | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = $21_1; + break label$1; + } + $35_1 = 24; + label$5 : { + label$6 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $35_1 | 0) >> $35_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$6 + } + $44_1 = 0; + $3054(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 7 | 0, $44_1 | 0, $44_1 | 0) | 0; + break label$5; + } + label$7 : { + label$8 : { + if ($3234(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 60640 | 0, 3 | 0) | 0) { + break label$8 + } + $51_1 = 0; + $3054(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 6 | 0, $51_1 | 0, $51_1 | 0) | 0; + break label$7; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + label$9 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3052(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $74_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $74_1 | 0; + } + + function $3059($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $12$hi = 0; + $3_1 = global$0 - 16 | 0; + i64toi32_i32$0 = 0; + $12$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 26 | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 100; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 0] = 1; + return; + } + + function $3060($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $74$hi = 0, $75$hi = 0, $78$hi = 0, $79$hi = 0, $22_1 = 0, $81_1 = 0, $81$hi = 0, $82$hi = 0, $83$hi = 0, $84$hi = 0, $85$hi = 0, $113_1 = 0, $273_1 = 0, $71_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + $74$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $75$hi = i64toi32_i32$1; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$1 = $75$hi; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$1 = $75$hi; + $113_1 = i64toi32_i32$0; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$3 = $113_1; + label$1 : { + label$2 : { + if (!((i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$3 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $79$hi = i64toi32_i32$1; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $79$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + $22_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $22_1 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + } + $81_1 = $22_1; + $81$hi = i64toi32_i32$2; + break label$1; + } + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $82$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $83$hi = i64toi32_i32$3; + i64toi32_i32$3 = $82$hi; + i64toi32_i32$3 = $83$hi; + i64toi32_i32$3 = $82$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $83$hi; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $84$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $85$hi = i64toi32_i32$5; + i64toi32_i32$5 = $84$hi; + i64toi32_i32$5 = $85$hi; + i64toi32_i32$5 = $84$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$1 = $85$hi; + i64toi32_i32$0 = 10; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $81_1 = i64toi32_i32$2; + $81$hi = i64toi32_i32$4; + } + i64toi32_i32$4 = $81$hi; + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $81_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$4; + label$3 : { + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$3; + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(i64toi32_i32$4 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + $3061(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$3; + } + i64toi32_i32$5 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $3288(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 0] = 0; + break label$4; + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + $3061(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$3; + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $273_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] = $273_1; + HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $71_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $71_1 | 0; + } + + function $3061($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 25 | 0) >> 0] = 1; + $286(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + $3032(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $3062($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3018(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $3063($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, $16_1 = 0, $27_1 = 0, $38_1 = 0, $45_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = 24; + $16_1 = 24; + $27_1 = 24; + $38_1 = 24; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = ((((($3064(((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $6_1 | 0) >> $6_1 | 0 | 0) | 0) & 255 | 0) << 12 | 0) + ((($3064(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $16_1 | 0) >> $16_1 | 0 | 0) | 0) & 255 | 0) << 8 | 0) | 0) + ((($3064(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $27_1 | 0) >> $27_1 | 0 | 0) | 0) & 255 | 0) << 4 | 0) | 0) + (($3064(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) << $38_1 | 0) >> $38_1 | 0 | 0) | 0) & 255 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $45_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $45_1 | 0; + } + + function $3064($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + Math_imul(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 6 | 0) & 1 | 0, 9) | 0; + return ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) & 15 | 0) & 255 | 0 | 0; + } + + function $3065($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $19_1 = 0, $25_1 = 0, $43_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = 2; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) <= (HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $19_1 = HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) | 0) >> 0] | 0; + label$3 : { + label$4 : { + switch ($19_1 | 0) { + case 0: + $25_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) | 0; + HEAP8[($25_1 + 1 | 0) >> 0] = (HEAPU8[($25_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 4 | 0; + break label$3; + case 7: + break label$4; + default: + break label$3; + }; + } + $3065((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) | 0 | 0); + } + $43_1 = ($3027((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) | 0 | 0) | 0) + 1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + $43_1 | 0; + continue label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3066($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $24_1 = 0, $15_1 = 0, i64toi32_i32$0 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $414(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, 60947 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + $15_1 = $38(12 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] = $15_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $15_1; + label$3 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 44 | 0) >> 2] = 7; + break label$1; + } + $24_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + HEAP32[$24_1 >> 2] = 0; + HEAP32[($24_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($24_1 + 8 | 0) >> 2] = 0; + $426(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, 2 | 0, 0 | 0) | 0; + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + } + $32_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $32_1 | 0; + } + + function $3067($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $6_1 = 0; + $4_1 = global$0 - 48 | 0; + $5_1 = 0; + $6_1 = -1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) < (8 | 0) & 1 | 0)) { + break label$4 + } + break label$3; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) - 8 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 1 << (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + label$5 : { + label$6 : { + if ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0 | (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0; + break label$5; + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[(($4_1 + 24 | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0; + } + } + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0; + continue label$2; + }; + } + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) ^ -1 | 0) | 0)) { + break label$9 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 19; + break label$8; + } + label$10 : { + label$11 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] = 0; + break label$10; + } + HEAPF64[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 3] = 1.0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = 1; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 1; + label$12 : { + label$13 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + break label$12; + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = 2; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 1; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] = 3; + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0; + } + + function $3068($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $3069($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, $36_1 = 0, $16_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $38(64 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $16_1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = 0; + $36_1 = 0; + i64toi32_i32$1 = $16_1; + HEAP32[i64toi32_i32$1 >> 2] = $36_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 56 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $33_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $33_1 | 0; + } + + function $3070($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $3071(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $3071($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $3018((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $4_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = $4_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $3072($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $284$hi = 0, $285$hi = 0, $95_1 = 0, $289$hi = 0, $290$hi = 0, $130_1 = 0, $139_1 = 0, $194_1 = 0, $266_1 = 0, $270_1 = 0, $24_1 = 0, $354_1 = 0, $29_1 = 0, $62_1 = 0, $106_1 = 0, $536_1 = 0, $111_1 = 0, $165_1 = 0, $280_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + $3071(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (HEAP32[($7_1 + 52 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + $24_1 = 0; + i64toi32_i32$1 = $233(HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $354_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $354_1; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $284$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $285$hi = i64toi32_i32$1; + i64toi32_i32$1 = $284$hi; + i64toi32_i32$1 = $285$hi; + i64toi32_i32$1 = $284$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $285$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $29_1 = $41(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] = $29_1; + label$4 : { + if (!((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == ($24_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$1 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $3288(HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$5 + 1 | 0 | 0) | 0; + label$5 : { + if (!($3015((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 32 | 0 | 0, 0 | 0, HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($7_1 + 12 | 0) >> 2] = 7; + label$6 : { + if ((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + $42(HEAP32[((HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $62_1 = $79(60356 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] = $62_1; + label$7 : { + if (!((HEAP32[((HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($7_1 + 12 | 0) >> 2] = 1; + } + } + $3071(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + break label$1; + } + label$8 : { + if (!((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + if (!($3073((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 32 | 0 | 0) | 0)) { + break label$8 + } + $3071(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 60 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + label$9 : { + label$10 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$10 + } + $95_1 = 0; + HEAP32[($7_1 + 4 | 0) >> 2] = $95_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) == ($95_1 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + $106_1 = 0; + i64toi32_i32$5 = $233(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $536_1 = i64toi32_i32$5; + i64toi32_i32$5 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $536_1; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $289$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $290$hi = i64toi32_i32$5; + i64toi32_i32$5 = $289$hi; + i64toi32_i32$5 = $290$hi; + i64toi32_i32$5 = $289$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $290$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $111_1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$4 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] = $111_1; + label$12 : { + if (!((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == ($106_1 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$5 = $7_1; + i64toi32_i32$4 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $3288(HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$4 + 1 | 0 | 0) | 0; + $130_1 = 24; + label$13 : { + label$14 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $130_1 | 0) >> $130_1 | 0 | 0) != (36 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + break label$13; + } + $139_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3052((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 32 | 0 | 0, $139_1 | 0, (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 1 | 0 | 0, $139_1 | 0, $7_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$15 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $42(HEAP32[((HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $165_1 = $3053(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] = $165_1; + $3071(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 60 | 0) >> 2] = (HEAP32[((HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 1 : 7; + break label$1; + } + label$16 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + break label$9; + } + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + } + $194_1 = ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0 | 0) / (12 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] = $194_1; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = $194_1; + HEAP8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 0] = HEAPU8[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 0] | 0; + label$17 : { + label$18 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) >= (6 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + 1 | 0; + label$19 : { + label$20 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 12) | 0) >> 0] | 0; + label$21 : { + if (!((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$21 + } + if (!(((HEAPU8[(((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0, 12) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 64 | 0)) { + break label$21 + } + $266_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($266_1 + 12 | 0) >> 2] = (HEAP32[($266_1 + 12 | 0) >> 2] | 0) + -1 | 0; + } + break label$19; + } + $270_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($270_1 + 12 | 0) >> 2] = (HEAP32[($270_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + break label$17; + } + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + } + $280_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $280_1 | 0; + } + + function $3073($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $21_1 = 0, $10_1 = 0, i64toi32_i32$0 = 0, $23_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + i64toi32_i32$0 = 0; + $10_1 = $41((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = $10_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] = 1; + HEAP32[($3_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $21_1 = 0; + $3080(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, $21_1 | 0, $21_1 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = $21_1; + } + $23_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $23_1 | 0; + } + + function $3074($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $27_1 = 0, $31_1 = 0, $35_1 = 0, $87_1 = 0, $94_1 = 0, $104_1 = 0, $107_1 = 0, $123_1 = 0, $126_1 = 0, $103_1 = 0, $122_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(((HEAPU8[(((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 12) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 64 | 0)) { + break label$3 + } + $27_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($27_1 + 12 | 0) >> 2] = (HEAP32[($27_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + $31_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($31_1 + 12 | 0) >> 2] = (HEAP32[($31_1 + 12 | 0) >> 2] | 0) + 1 | 0; + $35_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($35_1 + 4 | 0) >> 2] = (HEAP32[($35_1 + 4 | 0) >> 2] | 0) + 1 | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 4 | 0) >> 2] | 0, 12) | 0; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] = HEAPU8[(HEAP32[$3_1 >> 2] | 0) >> 0] | 0; + label$5 : { + if (!(((HEAPU8[(HEAP32[$3_1 >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 8 | 0) >> 2] = 0; + break label$6; + } + $87_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[($87_1 + 8 | 0) >> 2] = (HEAP32[($87_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + } + } + break label$1; + } + $94_1 = (HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) + -6 | 0; + label$8 : { + label$9 : { + switch ($94_1 | 0) { + case 0: + $103_1 = $3027((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 12) | 0 | 0) | 0; + $104_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($104_1 + 12 | 0) >> 2] = (HEAP32[($104_1 + 12 | 0) >> 2] | 0) + $103_1 | 0; + $107_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($107_1 + 4 | 0) >> 2] = (HEAP32[($107_1 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$8; + case 1: + $122_1 = ($3027((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0, 12) | 0 | 0) | 0) + 1 | 0; + $123_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($123_1 + 12 | 0) >> 2] = (HEAP32[($123_1 + 12 | 0) >> 2] | 0) + $122_1 | 0; + $126_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($126_1 + 4 | 0) >> 2] = (HEAP32[($126_1 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$8; + default: + break label$9; + }; + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + } + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $3075($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + return (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0 | 0; + } + + function $3076($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, $267_1 = 0, $7_1 = 0, $15_1 = 0, $301$hi = 0, $302$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $208_1 = 0, $129_1 = 0, $597_1 = 0, $238_1 = 0, $242_1 = 0; + $5_1 = global$0 - 320 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 316 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 312 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 308 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 304 | 0) >> 2] = HEAP32[($5_1 + 316 | 0) >> 2] | 0; + $7_1 = HEAP32[($5_1 + 304 | 0) >> 2] | 0; + HEAP32[($5_1 + 300 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 12 | 0) >> 2] | 0, 12) | 0; + $15_1 = HEAP32[($5_1 + 308 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($15_1 | 0) { + case 0: + label$12 : { + if (HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$12 + } + break label$1; + } + label$13 : { + label$14 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$14 + } + $3031(HEAP32[($5_1 + 300 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0, 0 | 0); + break label$13; + } + label$15 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$15 + } + label$16 : { + label$17 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$17 + } + label$18 : { + if (HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$18 + } + break label$1; + } + HEAP32[($5_1 + 296 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0; + break label$16; + } + HEAP32[($5_1 + 296 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + i64toi32_i32$0 = 0; + $270(HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 296 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0); + } + } + break label$1; + case 1: + label$19 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 64 | 0)) { + break label$19 + } + HEAP32[($5_1 + 300 | 0) >> 2] = (HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 12 | 0; + } + $3031(HEAP32[($5_1 + 300 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0, 0 | 0); + break label$1; + case 2: + label$20 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 64 | 0)) { + break label$20 + } + HEAP32[($5_1 + 300 | 0) >> 2] = (HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 12 | 0; + } + $277(HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0, HEAP32[(60896 + (((HEAPU8[(HEAP32[($5_1 + 300 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0) >> 2] | 0 | 0, -1 | 0, 0 | 0); + break label$1; + case 3: + label$21 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 64 | 0)) { + break label$21 + } + HEAP32[($5_1 + 300 | 0) >> 2] = (HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 12 | 0; + } + label$22 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 300 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (6 | 0) & 1 | 0)) { + break label$22 + } + break label$1; + } + $3031(HEAP32[($5_1 + 300 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0, 0 | 0); + break label$1; + case 4: + $129_1 = HEAP32[($5_1 + 312 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $301$hi = i64toi32_i32$0; + i64toi32_i32$1 = (((HEAPU8[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 64 | 0 | 0) != (0 | 0) & 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $302$hi = i64toi32_i32$0; + i64toi32_i32$0 = $301$hi; + i64toi32_i32$0 = $302$hi; + $597_1 = i64toi32_i32$1; + i64toi32_i32$0 = $301$hi; + i64toi32_i32$1 = $302$hi; + i64toi32_i32$3 = $597_1; + i64toi32_i32$4 = (HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $270($129_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0); + break label$1; + case 5: + label$23 : { + if (!((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$23 + } + if (!((HEAPU8[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0)) { + break label$23 + } + i64toi32_i32$5 = 0; + $270(HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0); + } + break label$1; + case 6: + $3020($5_1 + 168 | 0 | 0, HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0); + label$24 : { + label$25 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$25 + } + $3077(HEAP32[($5_1 + 304 | 0) >> 2] | 0 | 0, $5_1 + 168 | 0 | 0, HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + break label$24; + } + label$26 : { + label$27 : { + if (!((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$27 + } + $3030($5_1 + 168 | 0 | 0, HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, $3303(HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0 | 0); + break label$26; + } + $208_1 = 24; + $3021($5_1 + 168 | 0 | 0, (36 << $208_1 | 0) >> $208_1 | 0 | 0); + } + label$28 : { + label$29 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $3078(30 | 0, $5_1 + 168 | 0 | 0, 61030 | 0, $5_1 | 0); + break label$28; + } + label$30 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$30 + } + $238_1 = HEAP32[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $242_1 = (HEAP32[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 2 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $242_1; + $3078($238_1 | 0, $5_1 + 168 | 0 | 0, 61035 | 0, $5_1 + 16 | 0 | 0); + } + } + } + $3024($5_1 + 168 | 0 | 0); + break label$1; + case 7: + label$31 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$31 + } + $267_1 = $5_1 + 40 | 0; + $3020($267_1 | 0, HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0); + $3077(HEAP32[($5_1 + 304 | 0) >> 2] | 0 | 0, $267_1 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + $3024($267_1 | 0); + break label$1; + } + default: + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$32 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($5_1 + 36 | 0) >> 2] = 61041; + } + $277(HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, -1 | 0, 0 | 0); + break label$1; + case 8: + break label$2; + }; + } + $277(HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, -1 | 0, 0 | 0); + } + global$0 = $5_1 + 320 | 0; + return 0 | 0; + } + + function $3077($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0, $44_1 = 0, $61_1 = 0, $62_1 = 0, $66_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + $9_1 = 24; + $3021(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (36 << $9_1 | 0) >> $9_1 | 0 | 0); + break label$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $3077(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 36 | 0) >> 2] | 0, 12) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 12) | 0; + label$3 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$3 + } + $44_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $3078(30 | 0, $44_1 | 0, 61030 | 0, $5_1 | 0); + break label$1; + } + label$4 : { + if (((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 64 | 0) { + break label$4 + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + -12 | 0; + } + $61_1 = (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0; + $62_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $66_1 = (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 2 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $66_1; + $3078($61_1 | 0, $62_1 | 0, 61035 | 0, $5_1 + 16 | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3078($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $6_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $38$hi = 0, $39$hi = 0, $36$hi = 0, $37$hi = 0, $44$hi = 0, $33_1 = 0, $36_1 = 0, $68_1 = 0, $77_1 = 0, $44_1 = 0, $142$hi = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $36_1 = i64toi32_i32$0; + $36$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $37$hi = i64toi32_i32$1; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = $37$hi; + $68_1 = i64toi32_i32$0; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$2 = $36_1; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$3 = $68_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $38$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $39$hi = i64toi32_i32$2; + i64toi32_i32$2 = $38$hi; + i64toi32_i32$2 = $39$hi; + i64toi32_i32$2 = $38$hi; + i64toi32_i32$2 = $39$hi; + $77_1 = i64toi32_i32$5; + i64toi32_i32$2 = $38$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$5 = $39$hi; + i64toi32_i32$3 = $77_1; + label$1 : { + label$2 : { + if (!((i64toi32_i32$2 >>> 0 > i64toi32_i32$5 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + if (!($3060(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + break label$1; + } + HEAP32[$6_1 >> 2] = $3_1; + i64toi32_i32$3 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $80(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + i64toi32_i32$1 | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0) | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = $3303((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + i64toi32_i32$2 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $44_1 = i64toi32_i32$2; + $44$hi = i64toi32_i32$1; + $33_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = $33_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $44$hi; + i64toi32_i32$2 = $142$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$5 = $44_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$3 = $33_1; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$4; + } + global$0 = $6_1 + 16 | 0; + return; + } + + function $3079($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return 0 | 0; + } + + function $3080($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $22_1 = 0, $43_1 = 0, $80_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 12) | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $22_1 = (HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) + -6 | 0; + label$1 : { + label$2 : { + switch ($22_1 | 0) { + case 0: + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + $3080(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + $43_1 = $3027((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 12) | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + $43_1 | 0; + continue label$6; + }; + } + break label$1; + case 1: + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $3080(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) + 1 | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + $80_1 = ($3027(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 12) | 0) + 12 | 0 | 0) | 0) + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + $80_1 | 0; + continue label$8; + }; + } + break label$1; + default: + break label$2; + }; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3081($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3069(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[((HEAP32[$4_1 >> 2] | 0) + 21 | 0) >> 0] = 1; + } + $13_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $13_1 | 0; + } + + function $3082($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $25_1 = 0, $78_1 = 0, $20_1 = 0, $24_1 = 0, $37_1 = 0, $72_1 = 0, $90_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 < 40 >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + $20_1 = (HEAPU8[(Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) + 61493 | 0) >> 0] | 0) + -1 | 0; + label$3 : { + label$4 : { + switch ($20_1 | 0) { + case 0: + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + break label$3; + case 1: + break label$4; + default: + break label$3; + }; + } + HEAP32[($3_1 + 4 | 0) >> 2] = -1; + } + $24_1 = 0; + $25_1 = 61488; + $37_1 = 24; + $464(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($25_1 + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) | 0) >> 2] | 0 | 0, ((HEAPU8[(($25_1 + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 0] | 0) << $37_1 | 0) >> $37_1 | 0 | 0, (HEAPU8[(($25_1 + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) | 0) + 6 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[(($25_1 + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0 | 0, $24_1 | 0, $24_1 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 < 6 >>> 0 & 1 | 0)) { + break label$6 + } + HEAP32[$3_1 >> 2] = 0; + $72_1 = (HEAPU8[(((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) + 62213 | 0) >> 0] | 0) + -1 | 0; + label$8 : { + label$9 : { + switch ($72_1 | 0) { + case 0: + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + break label$8; + case 1: + break label$9; + default: + break label$8; + }; + } + HEAP32[$3_1 >> 2] = -1; + } + $78_1 = 62208; + $90_1 = 24; + $464(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($78_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, ((HEAPU8[(($78_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 0] | 0) << $90_1 | 0) >> $90_1 | 0 | 0, 1 | 0, HEAP32[$3_1 >> 2] | 0 | 0, 0 | 0, HEAP32[(($78_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[(($78_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $3083($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 378 | 0, 62439 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3178(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3084($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 379 | 0, 62448 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3181(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3085($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 380 | 0, 62457 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3184(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3086($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $44_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $44_1 = +(0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = $44_1; + HEAPF64[$5_1 >> 3] = $44_1; + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62466 | 0, 62378 | 0, 570 | 0, 62474 | 0); + abort(); + } + label$2 : { + label$3 : { + label$4 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0) { + break label$4 + } + if (!(($248(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0)), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+$3186(+(+HEAPF64[($5_1 + 8 | 0) >> 3]), +(+HEAPF64[$5_1 >> 3])))); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3087($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 394 | 0, 62483 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3180(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3088($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 402 | 0, 62493 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3183(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3089($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 410 | 0, 62503 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3188(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3090($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $74_1 = 0, $78_1 = 0, $89_1 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $5_1 + 44 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $5_1 + 36 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $7_1; + label$1 : { + if ((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62466 | 0, 62378 | 0, 1680 | 0, 62513 | 0); + abort(); + } + label$2 : { + label$3 : { + label$4 : { + if (($248(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0) { + break label$4 + } + if (!(($248(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + } + $271(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $3091(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0); + $3091(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (!(($3092(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) == ($3092(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + } + label$8 : { + label$9 : while (1) { + $74_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $74_1 + 1 | 0; + $78_1 = 24; + if (!(((((HEAPU8[($74_1 + 1 | 0) >> 0] | 0) << $78_1 | 0) >> $78_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$8 + } + continue label$9; + }; + } + label$10 : { + label$11 : while (1) { + $89_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $89_1 + 1 | 0; + $93_1 = 24; + if (!(((((HEAPU8[($89_1 + 1 | 0) >> 0] | 0) << $93_1 | 0) >> $93_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$10 + } + continue label$11; + }; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $267(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $3091($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, $62_1 = 0, $98_1 = 0, $114_1 = 0, $52_1 = 0, $96_1 = 0, $97_1 = 0, $113_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$1 : while (1) { + $13_1 = 0; + label$2 : { + if (!((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + $13_1 = ($3163((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) != (0 | 0) ^ -1 | 0; + } + label$3 : { + if (!($13_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $52_1 = $3168((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + HEAP8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] = $52_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + label$6 : while (1) { + $62_1 = 0; + label$7 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$7 + } + $62_1 = ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + label$8 : { + if (!($62_1 & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[((((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 127 | 0) + 62528 | 0) >> 0] | 0) & 255 | 0; + label$9 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + $96_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0; + $97_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $98_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $98_1 + 1 | 0; + HEAP8[($97_1 + $98_1 | 0) >> 0] = $96_1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$10 + } + $113_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $114_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $114_1 + 1 | 0; + HEAP8[($113_1 + $114_1 | 0) >> 0] = 48; + continue label$11; + }; + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + break label$4; + } + $3231(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 62656 | 0) | 0; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $3092($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $14_1 = 0, $20_1 = 0, $30_1 = 0, $42_1 = 0, $19_1 = 0, $29_1 = 0, $41_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $4_1 + 1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAPU8[$4_1 >> 0] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 62672 | 0) >> 0] | 0; + $14_1 = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($14_1 | 0) { + case 3: + HEAP32[($3_1 + 8 | 0) >> 2] = 65533; + break label$1; + case 2: + $19_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 6 | 0; + $20_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $20_1 + 1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $19_1 + ((HEAPU8[$20_1 >> 0] | 0) & 255 | 0) | 0; + case 1: + $29_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 6 | 0; + $30_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $30_1 + 1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $29_1 + ((HEAPU8[$30_1 >> 0] | 0) & 255 | 0) | 0; + break; + case 0: + break label$2; + default: + break label$1; + }; + } + $41_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 6 | 0; + $42_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $42_1 + 1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $41_1 + ((HEAPU8[$42_1 >> 0] | 0) & 255 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) - (HEAP32[(62928 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + label$6 : { + label$7 : { + if (!((HEAP32[(62944 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) & (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0)) { + break label$7 + } + if (((HEAP32[($3_1 + 8 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$7 + } + if (!(((HEAP32[($3_1 + 8 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[($3_1 + 8 | 0) >> 2] = 65533; + } + } + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $3093($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 498 | 0, 62960 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3094(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3094($0_1) { + $0_1 = +$0_1; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAPF64[($3_1 + 8 | 0) >> 3] = $0_1; + return +(180.0 * +HEAPF64[($3_1 + 8 | 0) >> 3] / 3.141592653589793); + } + + function $3095($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 499 | 0, 62972 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3096(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3096($0_1) { + $0_1 = +$0_1; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAPF64[($3_1 + 8 | 0) >> 3] = $0_1; + return +(+HEAPF64[($3_1 + 8 | 0) >> 3] * 3.141592653589793 / 180.0); + } + + function $3097($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 420 | 0, 62984 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3193(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3098($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 419 | 0, 62992 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3205(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3099($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 421 | 0, 63e3 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3209(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3100($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 422 | 0, 63008 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3101(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3101($0_1) { + $0_1 = +$0_1; + var $3_1 = 0, $9_1 = 0.0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAPF64[($3_1 + 8 | 0) >> 3] = $0_1; + $9_1 = 1.0 / +$3209(+(+HEAPF64[($3_1 + 8 | 0) >> 3])); + global$0 = $3_1 + 16 | 0; + return +$9_1; + } + + function $3102($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 446 | 0, 63016 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3195(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3103($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 438 | 0, 63025 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3206(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3104($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 454 | 0, 63034 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3210(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3105($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 456 | 0, 63043 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3106(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3106($0_1) { + $0_1 = +$0_1; + var $3_1 = 0, $9_1 = 0.0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAPF64[($3_1 + 8 | 0) >> 3] = $0_1; + $9_1 = 1.0 / +$3210(+(+HEAPF64[($3_1 + 8 | 0) >> 3])); + global$0 = $3_1 + 16 | 0; + return +$9_1; + } + + function $3107($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 474 | 0, 63052 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3196(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3108($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 472 | 0, 63060 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3202(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3109($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 473 | 0, 63068 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3286(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3110($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $54_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $54_1 = +(0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 24 | 0) >> 3] = $54_1; + HEAPF64[($5_1 + 16 | 0) >> 3] = $54_1; + label$1 : { + if ((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62466 | 0, 62378 | 0, 546 | 0, 63078 | 0); + abort(); + } + label$2 : { + label$3 : { + label$4 : { + if (($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0) { + break label$4 + } + if (!(($248(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + } + $271(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 24 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 16 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3204(+(+HEAPF64[($5_1 + 24 | 0) >> 3]), +(+HEAPF64[($5_1 + 16 | 0) >> 3]))), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + label$5 : { + label$6 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$6 + } + $260(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, +(+HEAPF64[($5_1 + 8 | 0) >> 3])); + break label$5; + } + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3111($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$0 = 0, $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $60$hi = 0, $30_1 = 0, $65$hi = 0, $22_1 = 0, $63$hi = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $67$hi = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $48_1 = 0, $50_1 = 0, $131_1 = 0, $31_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 590 | 0, 63088 | 0); + abort(); + } + $22_1 = ($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$2 : { + label$3 : { + switch ($22_1 | 0) { + case 0: + i64toi32_i32$0 = 0; + $60$hi = i64toi32_i32$0; + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $131_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[i64toi32_i32$0 >> 2] = $131_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $63$hi = i64toi32_i32$0; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $19_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $20_1 = 0 + } else { + $20_1 = 1 + } + $21_1 = $20_1; + } else { + $21_1 = 0 + } + $19_1 = $21_1; + } + label$6 : { + label$7 : { + if (!($19_1 & 1 | 0)) { + break label$7 + } + $30_1 = 1; + break label$6; + } + $31_1 = -1; + $32_1 = 0; + i64toi32_i32$2 = 0; + $65$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $67$hi = i64toi32_i32$0; + i64toi32_i32$0 = $65$hi; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$0 = $65$hi; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$2 | 0)) { + $23_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $24_1 = 0 + } else { + $24_1 = 1 + } + $25_1 = $24_1; + } else { + $25_1 = 0 + } + $23_1 = $25_1; + } + $30_1 = $23_1 & 1 | 0 ? $31_1 : $32_1; + } + i64toi32_i32$0 = $30_1; + i64toi32_i32$3 = i64toi32_i32$0 >> 31 | 0; + i64toi32_i32$0 = $5_1; + HEAP32[i64toi32_i32$0 >> 2] = $30_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$0 | 0); + break label$2; + case 4: + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + default: + break label$3; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + label$8 : { + label$9 : { + if (!(+HEAPF64[($5_1 + 8 | 0) >> 3] > +(0 | 0) & 1 | 0)) { + break label$9 + } + $48_1 = 1; + break label$8; + } + $50_1 = 0; + $48_1 = +HEAPF64[($5_1 + 8 | 0) >> 3] < +($50_1 | 0) & 1 | 0 ? -1 : $50_1; + } + HEAPF64[($5_1 + 8 | 0) >> 3] = +($48_1 | 0); + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[($5_1 + 8 | 0) >> 3])); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3112($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 375 | 0, 63097 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAPF64[$5_1 >> 3] = Math_sqrt(+HEAPF64[($5_1 + 8 | 0) >> 3]); + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3113($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $22_1 = 0, $35$hi = 0, $36$hi = 0, $95_1 = 0, $26_1 = 0, $35_1 = 0, $103_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAPF64[$5_1 >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 514 | 0, 63106 | 0); + abort(); + } + $22_1 = ($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$2 : { + label$3 : { + switch ($22_1 | 0) { + case 0: + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $95_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $95_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + $26_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $35_1 = i64toi32_i32$1; + $35$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $36$hi = i64toi32_i32$1; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $36$hi; + $103_1 = i64toi32_i32$0; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$0 = __wasm_i64_mul($35_1 | 0, i64toi32_i32$1 | 0, $103_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $270($26_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + break label$2; + case 4: + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + default: + break label$3; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3] * +HEAPF64[$5_1 >> 3])); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3114($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0.0, i64toi32_i32$1 = 0, $22_1 = 0, $45_1 = 0.0, $13_1 = 0, $14_1 = 0, $39_1 = 0, $39$hi = 0, $100_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 24 | 0) >> 3] = +(0 | 0); + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if ((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 620 | 0, 63117 | 0); + abort(); + } + $22_1 = ($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$2 : { + label$3 : { + switch ($22_1 | 0) { + case 0: + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $100_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $100_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$2; + case 4: + $271(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + default: + break label$3; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 24 | 0) >> 3] = wasm2js_f64$0; + $30_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $45_1 = Math_ceil(+HEAPF64[($5_1 + 24 | 0) >> 3]); + label$6 : { + label$7 : { + if (!(Math_abs($45_1) < 9223372036854775808.0)) { + break label$7 + } + i64toi32_i32$3 = $45_1; + if (Math_abs(i64toi32_i32$3) >= 1.0) { + if (i64toi32_i32$3 > 0.0) { + $13_1 = ~~Math_min(Math_floor(i64toi32_i32$3 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $13_1 = ~~Math_ceil((i64toi32_i32$3 - +(~~i64toi32_i32$3 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $14_1 = $13_1; + } else { + $14_1 = 0 + } + i64toi32_i32$0 = $14_1; + $39_1 = ~~i64toi32_i32$3 >>> 0; + $39$hi = i64toi32_i32$0; + break label$6; + } + i64toi32_i32$0 = -2147483648; + $39_1 = 0; + $39$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $39$hi; + $270($30_1 | 0, $39_1 | 0, i64toi32_i32$0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3115($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0.0, i64toi32_i32$1 = 0, $22_1 = 0, $45_1 = 0.0, $13_1 = 0, $14_1 = 0, $39_1 = 0, $39$hi = 0, $100_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 24 | 0) >> 3] = +(0 | 0); + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if ((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 645 | 0, 63126 | 0); + abort(); + } + $22_1 = ($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$2 : { + label$3 : { + switch ($22_1 | 0) { + case 0: + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $100_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $100_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$2; + case 4: + $271(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + default: + break label$3; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 24 | 0) >> 3] = wasm2js_f64$0; + $30_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $45_1 = Math_floor(+HEAPF64[($5_1 + 24 | 0) >> 3]); + label$6 : { + label$7 : { + if (!(Math_abs($45_1) < 9223372036854775808.0)) { + break label$7 + } + i64toi32_i32$3 = $45_1; + if (Math_abs(i64toi32_i32$3) >= 1.0) { + if (i64toi32_i32$3 > 0.0) { + $13_1 = ~~Math_min(Math_floor(i64toi32_i32$3 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $13_1 = ~~Math_ceil((i64toi32_i32$3 - +(~~i64toi32_i32$3 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $14_1 = $13_1; + } else { + $14_1 = 0 + } + i64toi32_i32$0 = $14_1; + $39_1 = ~~i64toi32_i32$3 >>> 0; + $39$hi = i64toi32_i32$0; + break label$6; + } + i64toi32_i32$0 = -2147483648; + $39_1 = 0; + $39$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $39$hi; + $270($30_1 | 0, $39_1 | 0, i64toi32_i32$0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3116($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $260(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, +(3.141592653589793)); + global$0 = $5_1 + 16 | 0; + return; + } + + function $3117($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$0 = 0, $5_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $88$hi = 0, $104$hi = 0, $105$hi = 0, $91$hi = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $94$hi = 0, $95$hi = 0, $97$hi = 0, $98$hi = 0, $100$hi = 0, $101$hi = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $108$hi = 0, $109$hi = 0, $111$hi = 0, $112$hi = 0, $80_1 = 0, $161_1 = 0, $30_1 = 0, $189_1 = 0, $94_1 = 0, $195_1 = 0, $198_1 = 0, $104_1 = 0, $297_1 = 0, $76_1 = 0, $108_1 = 0, $311_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0) { + break label$3 + } + if (!((5 | 0) == ($248(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + i64toi32_i32$0 = 0; + $88$hi = i64toi32_i32$0; + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $161_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $161_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $91$hi = i64toi32_i32$0; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$0 = $91$hi; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$0 = $91$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $36_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $37_1 = 0 + } else { + $37_1 = 1 + } + $38_1 = $37_1; + } else { + $38_1 = 0 + } + $36_1 = $38_1; + } + label$4 : { + if (!($36_1 & 1 | 0)) { + break label$4 + } + $263(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 63136 | 0, -1 | 0); + break label$1; + } + $30_1 = 0; + i64toi32_i32$0 = $233(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $189_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $189_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; + $94_1 = i64toi32_i32$2; + $94$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $95$hi = i64toi32_i32$2; + i64toi32_i32$2 = $94$hi; + i64toi32_i32$2 = $95$hi; + $195_1 = i64toi32_i32$0; + i64toi32_i32$2 = $94$hi; + i64toi32_i32$0 = $95$hi; + i64toi32_i32$0 = __wasm_i64_mul($94_1 | 0, i64toi32_i32$2 | 0, $195_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $198_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $198_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $97$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $98$hi = i64toi32_i32$0; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $98$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(i64toi32_i32$4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; + $100$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $101$hi = i64toi32_i32$3; + i64toi32_i32$3 = $100$hi; + i64toi32_i32$3 = $101$hi; + i64toi32_i32$3 = $100$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $101$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) != ($30_1 | 0) & 1 | 0)) { + break label$6 + } + if ((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + } + $286(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + label$7 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $42(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $42(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + } + break label$1; + } + i64toi32_i32$4 = 0; + $3231(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$4; + label$9 : { + label$10 : while (1) { + i64toi32_i32$3 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $104_1 = i64toi32_i32$4; + $104$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $105$hi = i64toi32_i32$4; + i64toi32_i32$4 = $104$hi; + i64toi32_i32$4 = $105$hi; + i64toi32_i32$4 = $104$hi; + i64toi32_i32$4 = $105$hi; + $297_1 = i64toi32_i32$0; + i64toi32_i32$4 = $104$hi; + i64toi32_i32$3 = $104_1; + i64toi32_i32$0 = $105$hi; + i64toi32_i32$1 = $297_1; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$0 | 0)) { + $39_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $40_1 = 0 + } else { + $40_1 = 1 + } + $41_1 = $40_1; + } else { + $41_1 = 0 + } + $39_1 = $41_1; + } + if (!($39_1 & 1 | 0)) { + break label$9 + } + $76_1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $108_1 = i64toi32_i32$3; + $108$hi = i64toi32_i32$4; + i64toi32_i32$1 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $109$hi = i64toi32_i32$3; + i64toi32_i32$3 = $108$hi; + i64toi32_i32$3 = $109$hi; + $311_1 = i64toi32_i32$4; + i64toi32_i32$3 = $108$hi; + i64toi32_i32$4 = $109$hi; + i64toi32_i32$4 = __wasm_i64_mul($108_1 | 0, i64toi32_i32$3 | 0, $311_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $3231($76_1 + i64toi32_i32$4 | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $111$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $112$hi = i64toi32_i32$4; + i64toi32_i32$4 = $111$hi; + i64toi32_i32$4 = $112$hi; + i64toi32_i32$4 = $111$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $112$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$2; + continue label$10; + }; + } + $80_1 = -1; + $277(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, $80_1 | 0, $80_1 | 0); + $42(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + $42(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $3118($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $7_1; + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0) { + break label$1 + } + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(63149 | 0, 62378 | 0, 1038 | 0, 63167 | 0); + abort(); + } + label$2 : { + label$3 : { + label$4 : { + if ((5 | 0) == ($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0) { + break label$4 + } + if (!((5 | 0) == ($248(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($239(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + } + break label$6; + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3119(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $267(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3119($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $96_1 = 0, $7_1 = 0, $11_1 = 0, $23_1 = 0, $24_1 = 0, $35_1 = 0, $39_1 = 0, $59_1 = 0, $63_1 = 0, $74_1 = 0, $78_1 = 0, $110_1 = 0, $114_1 = 0, $146_1 = 0, $149_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 20 | 0) >> 2] = -1; + $11_1 = 24; + label$1 : { + label$2 : { + if (!(($7_1 | 0) == (((HEAPU8[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $11_1 | 0) >> $11_1 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 44 | 0) >> 2] = -1; + break label$1; + } + label$3 : while (1) { + $23_1 = 0; + label$4 : { + if (!($3092(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + $24_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $24_1 + 1 | 0; + $23_1 = ($24_1 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + } + label$5 : { + if (!($23_1 & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : while (1) { + $35_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = $35_1 + 1 | 0; + $39_1 = 24; + if (!(((((HEAPU8[($35_1 + 1 | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$6 + } + continue label$7; + }; + } + continue label$3; + } + break label$3; + }; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!($3092(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + label$10 : while (1) { + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3092(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3092(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + label$12 : while (1) { + $59_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $59_1 + 1 | 0; + $63_1 = 24; + if (!(((((HEAPU8[($59_1 + 1 | 0) >> 0] | 0) << $63_1 | 0) >> $63_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$11 + } + continue label$12; + }; + } + label$13 : { + label$14 : while (1) { + $74_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $74_1 + 1 | 0; + $78_1 = 24; + if (!(((((HEAPU8[($74_1 + 1 | 0) >> 0] | 0) << $78_1 | 0) >> $78_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$13 + } + continue label$14; + }; + } + $96_1 = 0; + label$15 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + $96_1 = 0; + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$15 + } + $96_1 = (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0); + } + if ($96_1 & 1 | 0) { + continue label$10 + } + break label$10; + }; + label$16 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$16 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + break label$8; + } + label$17 : { + label$18 : while (1) { + $110_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = $110_1 + 1 | 0; + $114_1 = 24; + if (!(((((HEAPU8[($110_1 + 1 | 0) >> 0] | 0) << $114_1 | 0) >> $114_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$17 + } + continue label$18; + }; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$19 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + label$20 : { + label$21 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$21 + } + $146_1 = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0; + break label$20; + } + $146_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 44 | 0) >> 2] = $146_1; + } + $149_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $149_1 | 0; + } + + function $3120($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $47_1 = 0, $48_1 = 0, $59_1 = 0, $89_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $7_1; + label$1 : { + if ((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62466 | 0, 62378 | 0, 1073 | 0, 63181 | 0); + abort(); + } + label$2 : { + label$3 : { + label$4 : { + if ((5 | 0) == ($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0) { + break label$4 + } + if (!((5 | 0) == ($248(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + } + $271(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + label$5 : while (1) { + $47_1 = 0; + label$6 : { + if (!($3092(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + $48_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $48_1 + 1 | 0; + $47_1 = ($48_1 | 0) < (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + label$7 : { + if (!($47_1 & 1 | 0)) { + break label$7 + } + label$8 : { + label$9 : while (1) { + $59_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $59_1 + 1 | 0; + if (!((((HEAPU8[($59_1 + 1 | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$8 + } + continue label$9; + }; + } + continue label$5; + } + break label$5; + }; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + $89_1 = -1; + $3236(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0) >> 0] = 0; + $277(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $89_1 | 0, $89_1 | 0); + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3121($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $47_1 = 0, $51_1 = 0, $78_1 = 0, $87_1 = 0, $91_1 = 0, $115_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $7_1; + label$1 : { + if ((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62466 | 0, 62378 | 0, 1113 | 0, 63190 | 0); + abort(); + } + label$2 : { + label$3 : { + label$4 : { + if ((5 | 0) == ($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0) { + break label$4 + } + if (!((5 | 0) == ($248(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + } + $271(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + if (!($3092(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + label$7 : { + label$8 : while (1) { + $47_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $47_1 + 1 | 0; + $51_1 = 24; + if (!(((((HEAPU8[($47_1 + 1 | 0) >> 0] | 0) << $51_1 | 0) >> $51_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$7 + } + continue label$8; + }; + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) - (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0; + label$9 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + } + label$10 : { + label$11 : while (1) { + $78_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $78_1 + -1 | 0; + if (!(($78_1 | 0) > (0 | 0) & 1 | 0)) { + break label$10 + } + label$12 : { + label$13 : while (1) { + $87_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $87_1 + 1 | 0; + $91_1 = 24; + if (!(((((HEAPU8[($87_1 + 1 | 0) >> 0] | 0) << $91_1 | 0) >> $91_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$12 + } + continue label$13; + }; + } + continue label$11; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) - (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$14 + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + $115_1 = -1; + $3231(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $277(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $115_1 | 0, $115_1 | 0); + $42(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3122($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $49_1 = 0, $57_1 = 0, $61_1 = 0, $89_1 = 0, $95_1 = 0, $88_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $7_1; + label$1 : { + if ((1 | 0) == (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$1 + } + fimport$5(63200 | 0, 62378 | 0, 1323 | 0, 63208 | 0); + abort(); + } + label$2 : { + label$3 : { + if (!((5 | 0) == ($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0; + $49_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $49_1 + -1 | 0; + HEAP8[$49_1 >> 0] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + if (!($3092(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + label$7 : { + label$8 : while (1) { + $57_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $57_1 + 1 | 0; + $61_1 = 24; + if (!(((((HEAPU8[($57_1 + 1 | 0) >> 0] | 0) << $61_1 | 0) >> $61_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$7 + } + continue label$8; + }; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + label$9 : { + label$10 : while (1) { + if (!(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (0 - (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) | 0) >>> 0 >= (HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$9 + } + $88_1 = HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (0 - (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0; + $89_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $89_1 + -1 | 0; + HEAP8[$89_1 >> 0] = $88_1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + continue label$6; + }; + } + $95_1 = -1; + $277(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $95_1 | 0, $95_1 | 0); + $42(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3123($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $41_1 = 0, $44_1 = 0, $45_1 = 0, $49_1 = 0, $62_1 = 0, $67_1 = 0, $73_1 = 0, $76_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = $6_1; + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 724 | 0, 63220 | 0); + abort(); + } + label$2 : { + label$3 : { + if (!((5 | 0) == ($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3124(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + $286(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + $41_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $41_1 + 1 | 0; + $44_1 = HEAPU8[$41_1 >> 0] | 0; + HEAP8[($5_1 + 7 | 0) >> 0] = $44_1; + $45_1 = 24; + if (!(($44_1 << $45_1 | 0) >> $45_1 | 0)) { + break label$5 + } + $49_1 = 24; + label$7 : { + label$8 : { + if (!($3164(((HEAPU8[($5_1 + 7 | 0) >> 0] | 0) << $49_1 | 0) >> $49_1 | 0 | 0) | 0)) { + break label$8 + } + HEAP32[$5_1 >> 2] = 1; + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$10 + } + $62_1 = 24; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3168(((HEAPU8[($5_1 + 7 | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 7 | 0) >> 0] = wasm2js_i32$1; + break label$9; + } + $67_1 = 24; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3166(((HEAPU8[($5_1 + 7 | 0) >> 0] | 0) << $67_1 | 0) >> $67_1 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 7 | 0) >> 0] = wasm2js_i32$1; + } + HEAP32[$5_1 >> 2] = 0; + } + $72_1 = HEAPU8[($5_1 + 7 | 0) >> 0] | 0; + $73_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $73_1 + 1 | 0; + HEAP8[$73_1 >> 0] = $72_1; + continue label$6; + }; + } + $76_1 = -1; + HEAP8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] = 0; + $277(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $76_1 | 0, $76_1 | 0); + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3124($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $38(($3303(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $11_1 = $3231(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $11_1 | 0; + } + + function $3125($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $94$hi = 0, $100$hi = 0, $101$hi = 0, $113$hi = 0, $114$hi = 0, $97$hi = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $56_1 = 0, $104$hi = 0, $105$hi = 0, $106$hi = 0, $107$hi = 0, $108$hi = 0, $109$hi = 0, $111$hi = 0, $112$hi = 0, $44_1 = 0, $45_1 = 0, $46_1 = 0, $80_1 = 0, $88_1 = 0, $179_1 = 0, $206_1 = 0, $100_1 = 0, $214_1 = 0, $59_1 = 0, $104_1 = 0, $259_1 = 0, $264_1 = 0, $111_1 = 0, $303_1 = 0, $310_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + if ((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62466 | 0, 62378 | 0, 771 | 0, 63231 | 0); + abort(); + } + label$2 : { + label$3 : { + if (!(($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + i64toi32_i32$0 = 0; + $94$hi = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $179_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $179_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $97$hi = i64toi32_i32$0; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $94$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $38_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $39_1 = 0 + } else { + $39_1 = 1 + } + $40_1 = $39_1; + } else { + $40_1 = 0 + } + $38_1 = $40_1; + } + label$4 : { + if (!($38_1 & 1 | 0)) { + break label$4 + } + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 63136 | 0, -1 | 0); + break label$2; + } + i64toi32_i32$0 = $3126(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $206_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $206_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $100_1 = i64toi32_i32$2; + $100$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $101$hi = i64toi32_i32$2; + i64toi32_i32$2 = $100$hi; + i64toi32_i32$2 = $101$hi; + i64toi32_i32$2 = $100$hi; + i64toi32_i32$2 = $101$hi; + $214_1 = i64toi32_i32$0; + i64toi32_i32$2 = $100$hi; + i64toi32_i32$3 = $100_1; + i64toi32_i32$0 = $101$hi; + i64toi32_i32$1 = $214_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $41_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { + $42_1 = 0 + } else { + $42_1 = 1 + } + $43_1 = $42_1; + } else { + $43_1 = 0 + } + $41_1 = $43_1; + } + label$5 : { + label$6 : { + if (!($41_1 & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3124(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + $56_1 = -1; + $277(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $56_1 | 0, $56_1 | 0); + break label$5; + } + $59_1 = 0; + i64toi32_i32$3 = 0; + $104_1 = $3303(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $104$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $105$hi = i64toi32_i32$2; + i64toi32_i32$2 = $104$hi; + i64toi32_i32$2 = $105$hi; + $259_1 = i64toi32_i32$3; + i64toi32_i32$2 = $104$hi; + i64toi32_i32$1 = $104_1; + i64toi32_i32$3 = $105$hi; + i64toi32_i32$0 = $259_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $106$hi = i64toi32_i32$5; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $107$hi = i64toi32_i32$1; + i64toi32_i32$1 = $106$hi; + i64toi32_i32$1 = $107$hi; + $264_1 = i64toi32_i32$5; + i64toi32_i32$1 = $106$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$5 = $107$hi; + i64toi32_i32$0 = $264_1; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$4 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$4 | 0; + $108$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $109$hi = i64toi32_i32$4; + i64toi32_i32$4 = $108$hi; + i64toi32_i32$4 = $109$hi; + i64toi32_i32$4 = $108$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$2 = $109$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != ($59_1 | 0) & 1 | 0) { + break label$8 + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + label$9 : { + label$10 : while (1) { + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$1 >> 31 | 0; + $111_1 = i64toi32_i32$1; + $111$hi = i64toi32_i32$3; + i64toi32_i32$4 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $112$hi = i64toi32_i32$1; + i64toi32_i32$1 = $111$hi; + i64toi32_i32$1 = $112$hi; + $303_1 = i64toi32_i32$3; + i64toi32_i32$1 = $111$hi; + i64toi32_i32$4 = $111_1; + i64toi32_i32$3 = $112$hi; + i64toi32_i32$0 = $303_1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $113$hi = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $114$hi = i64toi32_i32$4; + i64toi32_i32$4 = $113$hi; + i64toi32_i32$4 = $114$hi; + i64toi32_i32$4 = $113$hi; + i64toi32_i32$4 = $114$hi; + $310_1 = i64toi32_i32$5; + i64toi32_i32$4 = $113$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$5 = $114$hi; + i64toi32_i32$0 = $310_1; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$5 | 0)) { + $44_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0) { + $45_1 = 0 + } else { + $45_1 = 1 + } + $46_1 = $45_1; + } else { + $46_1 = 0 + } + $44_1 = $46_1; + } + if (!($44_1 & 1 | 0)) { + break label$9 + } + $80_1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[$5_1 >> 2] = $80_1 + 1 | 0; + HEAP8[$80_1 >> 0] = 32; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + $3231(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + $88_1 = -1; + $277(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $88_1 | 0, $88_1 | 0); + $42(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3126($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $30_1 = 0, $33_1 = 0, $56_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) >= ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + break label$1; + } + HEAP32[$4_1 >> 2] = -1; + } + label$3 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 <= (HEAP32[$4_1 >> 2] | 0) >>> 0 & 1 | 0) { + break label$3 + } + fimport$5(63240 | 0, 62378 | 0, 316 | 0, 63249 | 0); + abort(); + } + label$4 : while (1) { + $30_1 = 24; + $33_1 = 0; + label$5 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0)) { + break label$5 + } + $33_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[$4_1 >> 2] | 0) >>> 0; + } + label$6 : { + if (!($33_1 & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (((HEAPU8[(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 62672 | 0) >> 0] | 0) & 255 | 0) + 1 | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + $56_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $56_1 | 0; + } + + function $3127($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $98$hi = 0, $104$hi = 0, $105$hi = 0, $119$hi = 0, $120$hi = 0, $101$hi = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, $56_1 = 0, $109$hi = 0, $110$hi = 0, $111$hi = 0, $112$hi = 0, $113$hi = 0, $114$hi = 0, $117$hi = 0, $118$hi = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $84_1 = 0, $92_1 = 0, $185_1 = 0, $212_1 = 0, $104_1 = 0, $220_1 = 0, $59_1 = 0, $109_1 = 0, $269_1 = 0, $274_1 = 0, $75_1 = 0, $117_1 = 0, $325_1 = 0, $332_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$1 : { + if ((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62466 | 0, 62378 | 0, 825 | 0, 63268 | 0); + abort(); + } + label$2 : { + label$3 : { + if (!(($248(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + break label$2; + } + i64toi32_i32$0 = 0; + $98$hi = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $185_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $185_1; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $101$hi = i64toi32_i32$0; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$0 = $101$hi; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$0 = $101$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $98$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $39_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $40_1 = 0 + } else { + $40_1 = 1 + } + $41_1 = $40_1; + } else { + $41_1 = 0 + } + $39_1 = $41_1; + } + label$4 : { + if (!($39_1 & 1 | 0)) { + break label$4 + } + $263(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 63136 | 0, -1 | 0); + break label$2; + } + i64toi32_i32$0 = $3126(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $212_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $212_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $104_1 = i64toi32_i32$2; + $104$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $105$hi = i64toi32_i32$2; + i64toi32_i32$2 = $104$hi; + i64toi32_i32$2 = $105$hi; + i64toi32_i32$2 = $104$hi; + i64toi32_i32$2 = $105$hi; + $220_1 = i64toi32_i32$0; + i64toi32_i32$2 = $104$hi; + i64toi32_i32$3 = $104_1; + i64toi32_i32$0 = $105$hi; + i64toi32_i32$1 = $220_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $42_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { + $43_1 = 0 + } else { + $43_1 = 1 + } + $44_1 = $43_1; + } else { + $44_1 = 0 + } + $42_1 = $44_1; + } + label$5 : { + label$6 : { + if (!($42_1 & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3124(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + $286(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + break label$2; + } + $56_1 = -1; + $277(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $56_1 | 0, $56_1 | 0); + break label$5; + } + $59_1 = 0; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = $5_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $109_1 = i64toi32_i32$3; + $109$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $110$hi = i64toi32_i32$3; + i64toi32_i32$3 = $109$hi; + i64toi32_i32$3 = $110$hi; + $269_1 = i64toi32_i32$2; + i64toi32_i32$3 = $109$hi; + i64toi32_i32$1 = $109_1; + i64toi32_i32$2 = $110$hi; + i64toi32_i32$0 = $269_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $111$hi = i64toi32_i32$5; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $112$hi = i64toi32_i32$1; + i64toi32_i32$1 = $111$hi; + i64toi32_i32$1 = $112$hi; + $274_1 = i64toi32_i32$5; + i64toi32_i32$1 = $111$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$5 = $112$hi; + i64toi32_i32$0 = $274_1; + i64toi32_i32$2 = i64toi32_i32$4 - i64toi32_i32$0 | 0; + i64toi32_i32$4 = (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$4 | 0; + $113$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $114$hi = i64toi32_i32$4; + i64toi32_i32$4 = $113$hi; + i64toi32_i32$4 = $114$hi; + i64toi32_i32$4 = $113$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$3 = $114$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != ($59_1 | 0) & 1 | 0) { + break label$8 + } + $286(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + break label$2; + } + $75_1 = $3231(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$4 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $75_1 + i64toi32_i32$2 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + label$9 : { + label$10 : while (1) { + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $117_1 = i64toi32_i32$2; + $117$hi = i64toi32_i32$1; + i64toi32_i32$4 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $118$hi = i64toi32_i32$2; + i64toi32_i32$2 = $117$hi; + i64toi32_i32$2 = $118$hi; + $325_1 = i64toi32_i32$1; + i64toi32_i32$2 = $117$hi; + i64toi32_i32$4 = $117_1; + i64toi32_i32$1 = $118$hi; + i64toi32_i32$0 = $325_1; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $119$hi = i64toi32_i32$5; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $120$hi = i64toi32_i32$4; + i64toi32_i32$4 = $119$hi; + i64toi32_i32$4 = $120$hi; + i64toi32_i32$4 = $119$hi; + i64toi32_i32$4 = $120$hi; + $332_1 = i64toi32_i32$5; + i64toi32_i32$4 = $119$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$5 = $120$hi; + i64toi32_i32$0 = $332_1; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$5 | 0)) { + $45_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0) { + $46_1 = 0 + } else { + $46_1 = 1 + } + $47_1 = $46_1; + } else { + $47_1 = 0 + } + $45_1 = $47_1; + } + if (!($45_1 & 1 | 0)) { + break label$9 + } + $84_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $84_1 + 1 | 0; + HEAP8[$84_1 >> 0] = 32; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + HEAP8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] = 0; + } + $92_1 = -1; + $277(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $92_1 | 0, $92_1 | 0); + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $3128($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $113$hi = 0, $119$hi = 0, $120$hi = 0, $133$hi = 0, $134$hi = 0, $140$hi = 0, $141$hi = 0, $116$hi = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $56_1 = 0, $124$hi = 0, $125$hi = 0, $126$hi = 0, $127$hi = 0, $128$hi = 0, $129$hi = 0, $131$hi = 0, $132$hi = 0, $52_1 = 0, $53_1 = 0, $54_1 = 0, $82_1 = 0, $138$hi = 0, $139$hi = 0, $55_1 = 0, $57_1 = 0, $58_1 = 0, $99_1 = 0, $107_1 = 0, $206_1 = 0, $233_1 = 0, $119_1 = 0, $241_1 = 0, $59_1 = 0, $124_1 = 0, $290_1 = 0, $295_1 = 0, $131_1 = 0, $337_1 = 0, $344_1 = 0, $138_1 = 0, $393_1 = 0, $400_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$1 : { + if ((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62466 | 0, 62378 | 0, 880 | 0, 63277 | 0); + abort(); + } + label$2 : { + label$3 : { + if (!(($248(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + break label$2; + } + i64toi32_i32$0 = 0; + $113$hi = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $206_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $206_1; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $116$hi = i64toi32_i32$0; + i64toi32_i32$0 = $113$hi; + i64toi32_i32$0 = $116$hi; + i64toi32_i32$0 = $113$hi; + i64toi32_i32$0 = $116$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $113$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $46_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $47_1 = 0 + } else { + $47_1 = 1 + } + $48_1 = $47_1; + } else { + $48_1 = 0 + } + $46_1 = $48_1; + } + label$4 : { + if (!($46_1 & 1 | 0)) { + break label$4 + } + $263(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 63136 | 0, -1 | 0); + break label$2; + } + i64toi32_i32$0 = $3126(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $233_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $233_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $119_1 = i64toi32_i32$2; + $119$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $120$hi = i64toi32_i32$2; + i64toi32_i32$2 = $119$hi; + i64toi32_i32$2 = $120$hi; + i64toi32_i32$2 = $119$hi; + i64toi32_i32$2 = $120$hi; + $241_1 = i64toi32_i32$0; + i64toi32_i32$2 = $119$hi; + i64toi32_i32$3 = $119_1; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$1 = $241_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $49_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { + $50_1 = 0 + } else { + $50_1 = 1 + } + $51_1 = $50_1; + } else { + $51_1 = 0 + } + $49_1 = $51_1; + } + label$5 : { + label$6 : { + if (!($49_1 & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3124(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + $286(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + break label$2; + } + $56_1 = -1; + $277(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $56_1 | 0, $56_1 | 0); + break label$5; + } + $59_1 = 0; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = $5_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $124_1 = i64toi32_i32$3; + $124$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $125$hi = i64toi32_i32$3; + i64toi32_i32$3 = $124$hi; + i64toi32_i32$3 = $125$hi; + $290_1 = i64toi32_i32$2; + i64toi32_i32$3 = $124$hi; + i64toi32_i32$1 = $124_1; + i64toi32_i32$2 = $125$hi; + i64toi32_i32$0 = $290_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $126$hi = i64toi32_i32$5; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $127$hi = i64toi32_i32$1; + i64toi32_i32$1 = $126$hi; + i64toi32_i32$1 = $127$hi; + $295_1 = i64toi32_i32$5; + i64toi32_i32$1 = $126$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$5 = $127$hi; + i64toi32_i32$0 = $295_1; + i64toi32_i32$2 = i64toi32_i32$4 - i64toi32_i32$0 | 0; + i64toi32_i32$4 = (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$4 | 0; + $128$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $129$hi = i64toi32_i32$4; + i64toi32_i32$4 = $128$hi; + i64toi32_i32$4 = $129$hi; + i64toi32_i32$4 = $128$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$3 = $129$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != ($59_1 | 0) & 1 | 0) { + break label$8 + } + $286(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + break label$2; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + label$9 : { + label$10 : while (1) { + i64toi32_i32$1 = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 1 | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $131_1 = i64toi32_i32$1; + $131$hi = i64toi32_i32$2; + i64toi32_i32$4 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $132$hi = i64toi32_i32$1; + i64toi32_i32$1 = $131$hi; + i64toi32_i32$1 = $132$hi; + $337_1 = i64toi32_i32$2; + i64toi32_i32$1 = $131$hi; + i64toi32_i32$4 = $131_1; + i64toi32_i32$2 = $132$hi; + i64toi32_i32$0 = $337_1; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $133$hi = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $134$hi = i64toi32_i32$4; + i64toi32_i32$4 = $133$hi; + i64toi32_i32$4 = $134$hi; + i64toi32_i32$4 = $133$hi; + i64toi32_i32$4 = $134$hi; + $344_1 = i64toi32_i32$5; + i64toi32_i32$4 = $133$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$5 = $134$hi; + i64toi32_i32$0 = $344_1; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$5 | 0)) { + $52_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0) { + $53_1 = 0 + } else { + $53_1 = 1 + } + $54_1 = $53_1; + } else { + $54_1 = 0 + } + $52_1 = $54_1; + } + if (!($52_1 & 1 | 0)) { + break label$9 + } + $82_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $82_1 + 1 | 0; + HEAP8[$82_1 >> 0] = 32; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + $3231(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + i64toi32_i32$1 | 0; + label$11 : { + label$12 : while (1) { + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $138_1 = i64toi32_i32$1; + $138$hi = i64toi32_i32$4; + i64toi32_i32$0 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $139$hi = i64toi32_i32$1; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$1 = $139$hi; + $393_1 = i64toi32_i32$4; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$0 = $138_1; + i64toi32_i32$4 = $139$hi; + i64toi32_i32$5 = $393_1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $140$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $141$hi = i64toi32_i32$0; + i64toi32_i32$0 = $140$hi; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$0 = $140$hi; + i64toi32_i32$0 = $141$hi; + $400_1 = i64toi32_i32$3; + i64toi32_i32$0 = $140$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$3 = $141$hi; + i64toi32_i32$5 = $400_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$3 | 0)) { + $55_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 > i64toi32_i32$5 >>> 0) { + $57_1 = 0 + } else { + $57_1 = 1 + } + $58_1 = $57_1; + } else { + $58_1 = 0 + } + $55_1 = $58_1; + } + if (!($55_1 & 1 | 0)) { + break label$11 + } + $99_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $99_1 + 1 | 0; + HEAP8[$99_1 >> 0] = 32; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] = 0; + } + $107_1 = -1; + $277(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $107_1 | 0, $107_1 | 0); + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $3129($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $59_1 = 0, $63_1 = 0, $64_1 = 0, $74_1 = 0, $78_1 = 0, $91_1 = 0, $95_1 = 0, $116_1 = 0, $120_1 = 0, $130_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $7_1; + HEAP32[$5_1 >> 2] = $7_1; + label$1 : { + if ((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62466 | 0, 62378 | 0, 939 | 0, 63286 | 0); + abort(); + } + label$2 : { + label$3 : { + label$4 : { + if (($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0) { + break label$4 + } + if (!(($248(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + } + $271(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(($3303(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + $59_1 = $3092(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $59_1; + if (!$59_1) { + break label$6 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + label$8 : while (1) { + $63_1 = $3092(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$5_1 >> 2] = $63_1; + $64_1 = 0; + label$9 : { + if (!$63_1) { + break label$9 + } + $64_1 = (HEAP32[$5_1 >> 2] | 0 | 0) != (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + label$10 : { + if (!($64_1 & 1 | 0)) { + break label$10 + } + label$11 : { + label$12 : while (1) { + $74_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $74_1 + 1 | 0; + $78_1 = 24; + if (!(((((HEAPU8[($74_1 + 1 | 0) >> 0] | 0) << $78_1 | 0) >> $78_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$11 + } + continue label$12; + }; + } + continue label$8; + } + break label$8; + }; + label$13 : { + if (!(HEAP32[$5_1 >> 2] | 0)) { + break label$13 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + label$14 : { + label$15 : while (1) { + $91_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $91_1 + 1 | 0; + $95_1 = 24; + if (!(((((HEAPU8[($91_1 + 1 | 0) >> 0] | 0) << $95_1 | 0) >> $95_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$14 + } + continue label$15; + }; + } + $3236(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) | 0; + } + label$16 : { + label$17 : while (1) { + $116_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $116_1 + 1 | 0; + $120_1 = 24; + if (!(((((HEAPU8[($116_1 + 1 | 0) >> 0] | 0) << $120_1 | 0) >> $120_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$16 + } + continue label$17; + }; + } + continue label$7; + }; + } + $130_1 = -1; + HEAP8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] = 0; + $277(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $130_1 | 0, $130_1 | 0); + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3130($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $29_1 = 0, $39$hi = 0, $40$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $34_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 1395 | 0, 63300 | 0); + abort(); + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((5 | 0) != ($342(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + $29_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $29_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $39$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $40$hi = i64toi32_i32$1; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $40$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $29_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + HEAPF64[($5_1 + 8 | 0) >> 3] = +HEAPF64[$5_1 >> 3] - +HEAPF64[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 3]; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + $34_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAPF64[$34_1 >> 3] = +HEAPF64[$34_1 >> 3] + +HEAPF64[($5_1 + 8 | 0) >> 3] / (+(i64toi32_i32$5 >>> 0) + 4294967296.0 * +(i64toi32_i32$2 | 0)); + $36_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAPF64[($36_1 + 8 | 0) >> 3] = +HEAPF64[($36_1 + 8 | 0) >> 3] + +HEAPF64[($5_1 + 8 | 0) >> 3] * (+HEAPF64[$5_1 >> 3] - +HEAPF64[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 3]); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3131($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $24$hi = 0, i64toi32_i32$5 = 0, $4_1 = 0, $26$hi = 0, $12_1 = 0, $13_1 = 0, $14_1 = 0, $28$hi = 0, $29$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $24$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$3 = 1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $12_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $13_1 = 0 + } else { + $13_1 = 1 + } + $14_1 = $13_1; + } else { + $14_1 = 0 + } + $12_1 = $14_1; + } + if (!($12_1 & 1 | 0)) { + break label$2 + } + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $29$hi = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $29$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$1 = 0; + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +Math_sqrt(+HEAPF64[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 3] / (+(i64toi32_i32$3 >>> 0) + 4294967296.0 * +(i64toi32_i32$5 | 0)))); + break label$1; + } + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+(0 | 0))); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3132($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $24$hi = 0, i64toi32_i32$5 = 0, $4_1 = 0, $26$hi = 0, $12_1 = 0, $13_1 = 0, $14_1 = 0, $28$hi = 0, $29$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $24$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$3 = 1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $12_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $13_1 = 0 + } else { + $13_1 = 1 + } + $14_1 = $13_1; + } else { + $14_1 = 0 + } + $12_1 = $14_1; + } + if (!($12_1 & 1 | 0)) { + break label$2 + } + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $29$hi = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $29$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$1 = 0; + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+HEAPF64[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 3] / (+(i64toi32_i32$3 >>> 0) + 4294967296.0 * +(i64toi32_i32$5 | 0)))); + break label$1; + } + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+(0 | 0))); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3133($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $101$hi = 0, $105$hi = 0, $39_1 = 0, $51_1 = 0, $55_1 = 0, $62_1 = 0, $67_1 = 0, $71_1 = 0, $102$hi = 0, $103$hi = 0, i64toi32_i32$4 = 0, $41_1 = 0, $97$hi = 0, $54_1 = 0, $218_1 = 0, $66_1 = 0, $250_1 = 0, $101_1 = 0, $277_1 = 0, $291_1 = 0, $302_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = i64toi32_i32$0; + HEAPF64[($5_1 + 48 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 1418 | 0, 63313 | 0); + abort(); + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $342(HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, 64 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((0 | 0) == (HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $39_1 = 1; + $41_1 = $3279($39_1 | 0, 12 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] = $41_1; + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == ($39_1 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + $97$hi = i64toi32_i32$0; + $51_1 = $5_1 + 24 | 0; + $54_1 = HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $3135($51_1 | 0, 517 | 0); + i64toi32_i32$2 = $51_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $218_1 = i64toi32_i32$0; + i64toi32_i32$0 = $54_1; + HEAP32[i64toi32_i32$0 >> 2] = $218_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $55_1 = 8; + HEAP32[(i64toi32_i32$0 + $55_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $55_1 | 0) >> 2] | 0; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$0 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 48 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 52 | 0) >> 2] = i64toi32_i32$1; + break label$5; + } + $62_1 = $5_1 + 8 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 48 | 0) >> 2] = 1; + HEAP32[(i64toi32_i32$0 + 52 | 0) >> 2] = i64toi32_i32$1; + $66_1 = HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $3135($62_1 | 0, 518 | 0); + i64toi32_i32$2 = $62_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $250_1 = i64toi32_i32$1; + i64toi32_i32$1 = $66_1; + HEAP32[i64toi32_i32$1 >> 2] = $250_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $67_1 = 8; + HEAP32[(i64toi32_i32$1 + $67_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $67_1 | 0) >> 2] | 0; + } + } + i64toi32_i32$0 = 0; + $101_1 = 0; + $101$hi = i64toi32_i32$0; + $71_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = $71_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $102$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $103$hi = i64toi32_i32$1; + i64toi32_i32$1 = $102$hi; + i64toi32_i32$1 = $103$hi; + i64toi32_i32$1 = $102$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $103$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $71_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] | 0; + $105$hi = i64toi32_i32$2; + i64toi32_i32$2 = $101$hi; + i64toi32_i32$2 = $105$hi; + i64toi32_i32$2 = $101$hi; + i64toi32_i32$2 = $105$hi; + $277_1 = i64toi32_i32$5; + i64toi32_i32$2 = $101$hi; + i64toi32_i32$1 = $101_1; + i64toi32_i32$5 = $105$hi; + i64toi32_i32$3 = $277_1; + label$7 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$1 = $62(HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $291_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $291_1; + HEAP32[($5_1 + 60 | 0) >> 2] = i64toi32_i32$2; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3279(1 | 0, 8 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $302_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $302_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + $3137(HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 48 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3279(1 | 0, 8 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAPF64[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 3] = +HEAPF64[($5_1 + 48 | 0) >> 3]; + $3137(HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 80 | 0; + return; + } + + function $3134($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $19$hi = 0, $20$hi = 0, $23$hi = 0, $24$hi = 0, $17_1 = 0, $18_1 = 0, $20_1 = 0, $40_1 = 0, $46_1 = 0, $19_1 = 0, $54_1 = 0, $23_1 = 0, $70_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $40_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $40_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $46_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $46_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $19_1 = i64toi32_i32$0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $20$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $20$hi; + $54_1 = i64toi32_i32$1; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$2 = $19_1; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$3 = $54_1; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $23_1 = i64toi32_i32$2; + $23$hi = i64toi32_i32$0; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $24$hi = i64toi32_i32$2; + i64toi32_i32$2 = $23$hi; + i64toi32_i32$2 = $24$hi; + i64toi32_i32$2 = $23$hi; + i64toi32_i32$2 = $24$hi; + $70_1 = i64toi32_i32$0; + i64toi32_i32$2 = $23$hi; + i64toi32_i32$3 = $23_1; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$1 = $70_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $17_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $18_1 = 0 + } else { + $18_1 = 1 + } + $20_1 = $18_1; + } else { + $20_1 = 0 + } + $17_1 = $20_1; + } + label$3 : { + if (!($17_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $3135($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $1_1; + HEAP32[($0_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$0_1 >> 2] = 0; + return; + } + + function $3136($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAPF64[($4_1 + 8 | 0) >> 3] = +HEAPF64[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 3]; + HEAPF64[$4_1 >> 3] = +HEAPF64[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 3]; + label$1 : { + label$2 : { + if (!(+HEAPF64[($4_1 + 8 | 0) >> 3] == +HEAPF64[$4_1 >> 3] & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!(+HEAPF64[($4_1 + 8 | 0) >> 3] < +HEAPF64[$4_1 >> 3] & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $3137($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $3148(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $3138($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $43$hi = 0, $44$hi = 0, $47$hi = 0, $48$hi = 0, $4_1 = 0, $119_1 = 0, $133_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $43$hi = i64toi32_i32$0; + $3140(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, 519 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $3141(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + $3278(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $44$hi = i64toi32_i32$1; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$1 = $44$hi; + $119_1 = i64toi32_i32$0; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$0 = $44$hi; + i64toi32_i32$3 = $119_1; + label$2 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = 0; + $47$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 52 | 0) >> 2] | 0; + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $48$hi; + $133_1 = i64toi32_i32$2; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$0 = $133_1; + label$3 : { + label$4 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $270(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0); + break label$3; + } + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+HEAPF64[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 3])); + } + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3139($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $5_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $39$hi = 0, $40$hi = 0, $44$hi = 0, $45$hi = 0, $51$hi = 0, $52$hi = 0, $58$hi = 0, $59$hi = 0, $65$hi = 0, $66$hi = 0, $18_1 = 0, $48$hi = 0, $49$hi = 0, $42_1 = 0, $43_1 = 0, $45_1 = 0, $31_1 = 0, $62$hi = 0, $63$hi = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, $94_1 = 0, $109_1 = 0, $44_1 = 0, $119_1 = 0, $51_1 = 0, $144_1 = 0, $55$hi = 0, $156_1 = 0, $162_1 = 0, $58_1 = 0, $182_1 = 0, $65_1 = 0, $207_1 = 0, $69$hi = 0, $225_1 = 0; + $5_1 = global$0 - 48 | 0; + i64toi32_i32$0 = 0; + $39$hi = i64toi32_i32$0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = $2_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $40$hi = i64toi32_i32$1; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$1 = $40$hi; + $94_1 = i64toi32_i32$0; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $40$hi; + i64toi32_i32$3 = $94_1; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $109_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $109_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $44_1 = i64toi32_i32$2; + $44$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $45$hi = i64toi32_i32$2; + i64toi32_i32$2 = $44$hi; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$2 = $44$hi; + i64toi32_i32$2 = $45$hi; + $119_1 = i64toi32_i32$1; + i64toi32_i32$2 = $44$hi; + i64toi32_i32$3 = $44_1; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$0 = $119_1; + label$3 : { + label$4 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$4 + } + $18_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = $18_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] | 0; + $48$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $49$hi = i64toi32_i32$2; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $49$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $18_1; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$5; + break label$3; + } + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $51_1 = i64toi32_i32$5; + $51$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $52$hi = i64toi32_i32$5; + i64toi32_i32$5 = $51$hi; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$5 = $51$hi; + i64toi32_i32$5 = $52$hi; + $144_1 = i64toi32_i32$0; + i64toi32_i32$5 = $51$hi; + i64toi32_i32$2 = $51_1; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$1 = $144_1; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$0 | 0)) { + $42_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$1 >>> 0) { + $43_1 = 0 + } else { + $43_1 = 1 + } + $45_1 = $43_1; + } else { + $45_1 = 0 + } + $42_1 = $45_1; + } + label$5 : { + if (!($42_1 & 1 | 0)) { + break label$5 + } + i64toi32_i32$2 = 0; + $55$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $156_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $156_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $162_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$5 + 32 | 0) >> 2] = $162_1; + HEAP32[(i64toi32_i32$5 + 36 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$5 + 40 | 0) >> 2] = 1; + HEAP32[(i64toi32_i32$5 + 44 | 0) >> 2] = i64toi32_i32$2; + } + } + break label$1; + } + HEAPF64[($5_1 + 8 | 0) >> 3] = +HEAPF64[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 3]; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $58_1 = i64toi32_i32$2; + $58$hi = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $59$hi = i64toi32_i32$2; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$2 = $59$hi; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$2 = $59$hi; + $182_1 = i64toi32_i32$5; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$1 = $58_1; + i64toi32_i32$5 = $59$hi; + i64toi32_i32$0 = $182_1; + label$6 : { + label$7 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$7 + } + $31_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = $31_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] | 0; + $62$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $63$hi = i64toi32_i32$2; + i64toi32_i32$2 = $62$hi; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$2 = $62$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $31_1; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = i64toi32_i32$3; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$4; + break label$6; + } + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $65_1 = i64toi32_i32$4; + $65$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $66$hi = i64toi32_i32$4; + i64toi32_i32$4 = $65$hi; + i64toi32_i32$4 = $66$hi; + i64toi32_i32$4 = $65$hi; + i64toi32_i32$4 = $66$hi; + $207_1 = i64toi32_i32$0; + i64toi32_i32$4 = $65$hi; + i64toi32_i32$2 = $65_1; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$5 = $207_1; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$0 | 0)) { + $46_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$5 >>> 0) { + $47_1 = 0 + } else { + $47_1 = 1 + } + $48_1 = $47_1; + } else { + $48_1 = 0 + } + $46_1 = $48_1; + } + label$8 : { + if (!($46_1 & 1 | 0)) { + break label$8 + } + i64toi32_i32$2 = 0; + $69$hi = i64toi32_i32$2; + HEAPF64[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 3] = +HEAPF64[($5_1 + 8 | 0) >> 3]; + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 36 | 0) >> 2] | 0; + $225_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = $225_1; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$4 = $69$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] = 1; + HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] = i64toi32_i32$4; + } + } + } + return; + } + + function $3140($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $3149(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $3141($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3150(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $3142($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + HEAPF64[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 3] = (+(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0)) / 2.0; + $3143(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3143($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $49$hi = 0, $50$hi = 0, $53$hi = 0, $54$hi = 0, $4_1 = 0, $139_1 = 0, $153_1 = 0, $63_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $49$hi = i64toi32_i32$0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] = 0; + $3140(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, 520 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $3141(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + $3278(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $50$hi = i64toi32_i32$1; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $50$hi; + $139_1 = i64toi32_i32$0; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$3 = $139_1; + label$2 : { + label$3 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = 0; + $53$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $54$hi = i64toi32_i32$1; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$1 = $54$hi; + $153_1 = i64toi32_i32$2; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = $54$hi; + i64toi32_i32$0 = $153_1; + label$4 : { + label$5 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $270(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0); + break label$4; + } + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $63_1 = (+(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$3 | 0)) * 1.0; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +($63_1 / (+(i64toi32_i32$3 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0)))); + } + break label$2; + } + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+HEAPF64[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 3] / (+(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$3 | 0)))); + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3144($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + HEAPF64[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 3] = (+(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0)) / 4.0; + $3143(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3145($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4_1 = 0, $18$hi = 0, $19$hi = 0, $8_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $18$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = $18$hi; + $8_1 = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = __wasm_i64_mul($8_1 | 0, i64toi32_i32$1 | 0, 3 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$2 = 0; + HEAPF64[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 3] = (+(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0)) / 4.0; + $3143(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3146($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3279(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $9_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $9_1 | 0; + } + + function $3147($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3278(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $3148($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $37_1 = 0, $59$hi = 0, $60$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3146(1 | 0, 24 | 0, 62361 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $37_1 = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = $37_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $59$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $60$hi = i64toi32_i32$1; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $37_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + $3147(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + $3148(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + break label$5; + } + $3148((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3149($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $3149(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0, i64toi32_i32$1, HEAP32[($5_1 + 4 | 0) >> 2] | 0); + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $3149(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $3150($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((0 | 0) != (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $3147(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + label$2 : { + if (!((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $3150(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $3150(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + $3147(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3151($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $52$hi = 0, $56$hi = 0, $46$hi = 0, $47$hi = 0, $49$hi = 0, $50$hi = 0, $31_1 = 0, $53$hi = 0, $54$hi = 0, $60$hi = 0, $39_1 = 0, $41_1 = 0, $63$hi = 0, $44_1 = 0, $46_1 = 0, $134_1 = 0, $49_1 = 0, $149_1 = 0, $52_1 = 0, $199_1 = 0, $214_1 = 0, $60_1 = 0, $221$hi = 0, $63_1 = 0, $253$hi = 0; + $5_1 = global$0 - 80 | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] = $2_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAPF64[($5_1 + 32 | 0) >> 3] = +HEAPF64[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 3]; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + HEAPF64[($5_1 + 24 | 0) >> 3] = +(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0) - +HEAPF64[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 3]; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $46_1 = i64toi32_i32$1; + $46$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + $47$hi = i64toi32_i32$1; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $47$hi; + $134_1 = i64toi32_i32$0; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$2 = $46_1; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$3 = $134_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $49_1 = i64toi32_i32$5; + $49$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $50$hi = i64toi32_i32$5; + i64toi32_i32$5 = $49$hi; + i64toi32_i32$5 = $50$hi; + $149_1 = i64toi32_i32$2; + i64toi32_i32$5 = $49$hi; + i64toi32_i32$1 = $49_1; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$3 = $149_1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = i64toi32_i32$0; + label$3 : { + if (!(+(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) >= +HEAPF64[($5_1 + 32 | 0) >> 3] & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!(+(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) >= +HEAPF64[($5_1 + 24 | 0) >> 3] & 1 | 0)) { + break label$5 + } + i64toi32_i32$4 = 0; + $52_1 = 0; + $52$hi = i64toi32_i32$4; + $31_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$5 = $31_1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 44 | 0) >> 2] | 0; + $53$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $54$hi = i64toi32_i32$1; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$4 = $54$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$5 = $31_1; + HEAP32[(i64toi32_i32$5 + 40 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$5 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] | 0; + $56$hi = i64toi32_i32$5; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$5 = $56$hi; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$5 = $56$hi; + $199_1 = i64toi32_i32$0; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$1 = $52_1; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$3 = $199_1; + label$6 : { + label$7 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$5 = HEAP32[(HEAP32[($5_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $214_1 = i64toi32_i32$5; + i64toi32_i32$5 = $5_1; + HEAP32[(i64toi32_i32$5 + 48 | 0) >> 2] = $214_1; + HEAP32[(i64toi32_i32$5 + 52 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 48 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$5 + 52 | 0) >> 2] | 0; + $60_1 = i64toi32_i32$1; + $60$hi = i64toi32_i32$5; + $39_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$3 = $39_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $221$hi = i64toi32_i32$1; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$1 = $221$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $60$hi; + i64toi32_i32$0 = $60_1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$3 = $39_1; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + break label$6; + } + HEAPF64[($5_1 + 40 | 0) >> 3] = +HEAPF64[(HEAP32[($5_1 + 76 | 0) >> 2] | 0) >> 3]; + $41_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAPF64[($41_1 + 8 | 0) >> 3] = +HEAPF64[($41_1 + 8 | 0) >> 3] + +HEAPF64[($5_1 + 40 | 0) >> 3]; + } + break label$4; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] = 1; + } + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] | 0; + $63_1 = i64toi32_i32$2; + $63$hi = i64toi32_i32$3; + $44_1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = $44_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $253$hi = i64toi32_i32$2; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$2 = $253$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $63$hi; + i64toi32_i32$0 = $63_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $44_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$4; + } + return; + } + + function $3152($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = $4_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $4_1; + return; + } + + function $3153($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $20_1 = 0, $15_1 = 0, $36_1 = 0, $41_1 = 0, $49_1 = 0, $59_1 = 0, $68_1 = 0, $72_1 = 0, $77_1 = 0, $81_1 = 0, $85_1 = 0, $107_1 = 0, $112_1 = 0, $120_1 = 0, $125_1 = 0, $135_1 = 0, $144_1 = 0, $148_1 = 0, $153_1 = 0, $157_1 = 0, $161_1 = 0, $183_1 = 0, $188_1 = 0, $196_1 = 0, $201_1 = 0, $211_1 = 0, $220_1 = 0, $224_1 = 0, $229_1 = 0, $234_1 = 0, $238_1 = 0, $246_1 = 0, $256_1 = 0, $265_1 = 0, $269_1 = 0, $274_1 = 0, $278_1 = 0, $281_1 = 0; + $6_1 = global$0 - 48 | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP8[($6_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0; + $15_1 = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($15_1 | 0) { + default: + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0; + break label$1; + case 0: + $20_1 = 0; + break label$2; + case 1: + $20_1 = 1; + break label$2; + case 2: + break label$3; + }; + } + $20_1 = 2; + } + label$7 : while (1) { + label$8 : { + switch ($20_1 | 0) { + case 0: + label$11 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 0] = HEAPU8[($6_1 + 15 | 0) >> 0] | 0; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0; + break label$1; + } + $36_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $36_1 + 1 | 0; + HEAP8[($6_1 + 14 | 0) >> 0] = HEAPU8[$36_1 >> 0] | 0; + $41_1 = 24; + HEAP8[($6_1 + 15 | 0) >> 0] = ((((HEAPU8[($6_1 + 14 | 0) >> 0] | 0) << $41_1 | 0) >> $41_1 | 0) & 252 | 0) >> 2 | 0; + $49_1 = 24; + label$12 : { + label$13 : { + label$14 : { + if ((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $49_1 | 0) >> $49_1 | 0 | 0) < (0 | 0) & 1 | 0) { + break label$14 + } + $59_1 = 24; + if (!((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $59_1 | 0) >> $59_1 | 0 | 0) > (63 | 0) & 1 | 0)) { + break label$13 + } + } + $68_1 = 61; + break label$12; + } + $72_1 = 24; + $77_1 = 24; + $68_1 = ((HEAPU8[((HEAP32[(0 + 80860 | 0) >> 2] | 0) + (((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $72_1 | 0) >> $72_1 | 0) | 0) >> 0] | 0) << $77_1 | 0) >> $77_1 | 0; + } + $81_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $81_1 + 1 | 0; + HEAP8[$81_1 >> 0] = $68_1; + $85_1 = 24; + HEAP8[($6_1 + 15 | 0) >> 0] = ((((HEAPU8[($6_1 + 14 | 0) >> 0] | 0) << $85_1 | 0) >> $85_1 | 0) & 3 | 0) << 4 | 0; + $20_1 = 1; + continue label$7; + case 1: + label$15 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 0] = HEAPU8[($6_1 + 15 | 0) >> 0] | 0; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 1; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0; + break label$1; + } + $107_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $107_1 + 1 | 0; + HEAP8[($6_1 + 14 | 0) >> 0] = HEAPU8[$107_1 >> 0] | 0; + $112_1 = 24; + $120_1 = 24; + HEAP8[($6_1 + 15 | 0) >> 0] = ((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $120_1 | 0) >> $120_1 | 0 | (((((HEAPU8[($6_1 + 14 | 0) >> 0] | 0) << $112_1 | 0) >> $112_1 | 0) & 240 | 0) >> 4 | 0) | 0; + $125_1 = 24; + label$16 : { + label$17 : { + label$18 : { + if ((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $125_1 | 0) >> $125_1 | 0 | 0) < (0 | 0) & 1 | 0) { + break label$18 + } + $135_1 = 24; + if (!((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $135_1 | 0) >> $135_1 | 0 | 0) > (63 | 0) & 1 | 0)) { + break label$17 + } + } + $144_1 = 61; + break label$16; + } + $148_1 = 24; + $153_1 = 24; + $144_1 = ((HEAPU8[((HEAP32[(0 + 80860 | 0) >> 2] | 0) + (((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $148_1 | 0) >> $148_1 | 0) | 0) >> 0] | 0) << $153_1 | 0) >> $153_1 | 0; + } + $157_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $157_1 + 1 | 0; + HEAP8[$157_1 >> 0] = $144_1; + $161_1 = 24; + HEAP8[($6_1 + 15 | 0) >> 0] = ((((HEAPU8[($6_1 + 14 | 0) >> 0] | 0) << $161_1 | 0) >> $161_1 | 0) & 15 | 0) << 2 | 0; + $20_1 = 2; + continue label$7; + default: + break label$8; + }; + } + label$19 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 0] = HEAPU8[($6_1 + 15 | 0) >> 0] | 0; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 2; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0; + break label$1; + } + $183_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $183_1 + 1 | 0; + HEAP8[($6_1 + 14 | 0) >> 0] = HEAPU8[$183_1 >> 0] | 0; + $188_1 = 24; + $196_1 = 24; + HEAP8[($6_1 + 15 | 0) >> 0] = ((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $196_1 | 0) >> $196_1 | 0 | (((((HEAPU8[($6_1 + 14 | 0) >> 0] | 0) << $188_1 | 0) >> $188_1 | 0) & 192 | 0) >> 6 | 0) | 0; + $201_1 = 24; + label$20 : { + label$21 : { + label$22 : { + if ((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $201_1 | 0) >> $201_1 | 0 | 0) < (0 | 0) & 1 | 0) { + break label$22 + } + $211_1 = 24; + if (!((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $211_1 | 0) >> $211_1 | 0 | 0) > (63 | 0) & 1 | 0)) { + break label$21 + } + } + $220_1 = 61; + break label$20; + } + $224_1 = 24; + $229_1 = 24; + $220_1 = ((HEAPU8[((HEAP32[(0 + 80860 | 0) >> 2] | 0) + (((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $224_1 | 0) >> $224_1 | 0) | 0) >> 0] | 0) << $229_1 | 0) >> $229_1 | 0; + } + $234_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $234_1 + 1 | 0; + HEAP8[$234_1 >> 0] = $220_1; + $238_1 = 24; + HEAP8[($6_1 + 15 | 0) >> 0] = ((((HEAPU8[($6_1 + 14 | 0) >> 0] | 0) << $238_1 | 0) >> $238_1 | 0) & 63 | 0) >> 0 | 0; + $246_1 = 24; + label$23 : { + label$24 : { + label$25 : { + if ((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $246_1 | 0) >> $246_1 | 0 | 0) < (0 | 0) & 1 | 0) { + break label$25 + } + $256_1 = 24; + if (!((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $256_1 | 0) >> $256_1 | 0 | 0) > (63 | 0) & 1 | 0)) { + break label$24 + } + } + $265_1 = 61; + break label$23; + } + $269_1 = 24; + $274_1 = 24; + $265_1 = ((HEAPU8[((HEAP32[(0 + 80860 | 0) >> 2] | 0) + (((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $269_1 | 0) >> $269_1 | 0) | 0) >> 0] | 0) << $274_1 | 0) >> $274_1 | 0; + } + $278_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $278_1 + 1 | 0; + HEAP8[$278_1 >> 0] = $265_1; + $281_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($281_1 + 8 | 0) >> 2] = (HEAP32[($281_1 + 8 | 0) >> 2] | 0) + 1 | 0; + $20_1 = 0; + continue label$7; + }; + } + return HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0; + } + + function $3154($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, $12_1 = 0, $23_1 = 0, $32_1 = 0, $37_1 = 0, $42_1 = 0, $46_1 = 0, $47_1 = 0, $50_1 = 0, $53_1 = 0, $59_1 = 0, $70_1 = 0, $79_1 = 0, $84_1 = 0, $89_1 = 0, $94_1 = 0, $97_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $7_1 = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($7_1 | 0) { + case 1: + $12_1 = 24; + label$5 : { + label$6 : { + label$7 : { + if ((((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) << $12_1 | 0) >> $12_1 | 0 | 0) < (0 | 0) & 1 | 0) { + break label$7 + } + $23_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0 | 0) > (63 | 0) & 1 | 0)) { + break label$6 + } + } + $32_1 = 61; + break label$5; + } + $37_1 = 24; + $42_1 = 24; + $32_1 = ((HEAPU8[((HEAP32[(0 + 80860 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) << $37_1 | 0) >> $37_1 | 0) | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0; + } + $46_1 = 61; + $47_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $47_1 + 1 | 0; + HEAP8[$47_1 >> 0] = $32_1; + $50_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $50_1 + 1 | 0; + HEAP8[$50_1 >> 0] = $46_1; + $53_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $53_1 + 1 | 0; + HEAP8[$53_1 >> 0] = $46_1; + break label$1; + case 2: + $59_1 = 24; + label$8 : { + label$9 : { + label$10 : { + if ((((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) << $59_1 | 0) >> $59_1 | 0 | 0) < (0 | 0) & 1 | 0) { + break label$10 + } + $70_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) << $70_1 | 0) >> $70_1 | 0 | 0) > (63 | 0) & 1 | 0)) { + break label$9 + } + } + $79_1 = 61; + break label$8; + } + $84_1 = 24; + $89_1 = 24; + $79_1 = ((HEAPU8[((HEAP32[(0 + 80860 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) << $84_1 | 0) >> $84_1 | 0) | 0) >> 0] | 0) << $89_1 | 0) >> $89_1 | 0; + } + $94_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $94_1 + 1 | 0; + HEAP8[$94_1 >> 0] = $79_1; + $97_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $97_1 + 1 | 0; + HEAP8[$97_1 >> 0] = 61; + break label$1; + case 0: + break label$2; + default: + break label$1; + }; + } + } + return (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0 | 0; + } + + function $3155($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $10_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $7_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $10_1 = $467(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 63322 | 0, 1 | 0, 2053 | 0, $7_1 | 0, 567 | 0, $7_1 | 0, $7_1 | 0, $7_1 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $10_1 | 0; + } + + function $3156($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$2 + } + $271(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$1; + } + $17_1 = $5_1 + 8 | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $3152($17_1 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3153(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $17_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + ($3154((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0 | 0, $17_1 | 0) | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $277(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, 3 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3157($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $7_1 = 0, $8_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + $7_1 = 1; + $8_1 = 2053; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $3160(); + $467(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $7_1 | 0, $8_1 | 0, $6_1 | 0, 569 | 0, $6_1 | 0, $6_1 | 0, $6_1 | 0) | 0; + $467(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $7_1 | 0, $8_1 | 0, $6_1 | 0, 568 | 0, $6_1 | 0, $6_1 | 0, $6_1 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $6_1 | 0; + } + + function $3158($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $3161(97248 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $3159($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $3161(80864 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $3160() { + var $2_1 = 0, $39_1 = 0, $58_1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + HEAP32[($2_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($2_1 + 12 | 0) >> 2] | 0 | 0) < (8192 | 0) & 1 | 0)) { + break label$1 + } + HEAP16[(80864 + ((HEAP32[($2_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + HEAP16[(97248 + ((HEAP32[($2_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + HEAP32[($2_1 + 12 | 0) >> 2] = (HEAP32[($2_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($2_1 + 12 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($2_1 + 12 | 0) >> 2] | 0 | 0) < (127 | 0) & 1 | 0)) { + break label$3 + } + $39_1 = $3168(HEAP32[($2_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP16[(80864 + ((HEAP32[($2_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = $39_1; + HEAP32[($2_1 + 12 | 0) >> 2] = (HEAP32[($2_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($2_1 + 12 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($2_1 + 12 | 0) >> 2] | 0 | 0) < (127 | 0) & 1 | 0)) { + break label$5 + } + $58_1 = $3166(HEAP32[($2_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP16[(97248 + ((HEAP32[($2_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = $58_1; + HEAP32[($2_1 + 12 | 0) >> 2] = (HEAP32[($2_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP16[(0 + 81320 | 0) >> 1] = 196; + HEAP16[(0 + 97640 | 0) >> 1] = 228; + HEAP16[(0 + 81312 | 0) >> 1] = 192; + HEAP16[(0 + 97632 | 0) >> 1] = 224; + HEAP16[(0 + 81314 | 0) >> 1] = 193; + HEAP16[(0 + 97634 | 0) >> 1] = 225; + HEAP16[(0 + 81316 | 0) >> 1] = 194; + HEAP16[(0 + 97636 | 0) >> 1] = 226; + HEAP16[(0 + 81318 | 0) >> 1] = 195; + HEAP16[(0 + 97638 | 0) >> 1] = 227; + HEAP16[(0 + 81322 | 0) >> 1] = 197; + HEAP16[(0 + 97642 | 0) >> 1] = 229; + HEAP16[(0 + 81788 | 0) >> 1] = 461; + HEAP16[(0 + 98170 | 0) >> 1] = 462; + HEAP16[(0 + 81386 | 0) >> 1] = 260; + HEAP16[(0 + 97768 | 0) >> 1] = 261; + HEAP16[(0 + 81382 | 0) >> 1] = 258; + HEAP16[(0 + 97764 | 0) >> 1] = 259; + HEAP16[(0 + 81324 | 0) >> 1] = 198; + HEAP16[(0 + 97644 | 0) >> 1] = 230; + HEAP16[(0 + 81378 | 0) >> 1] = 256; + HEAP16[(0 + 97760 | 0) >> 1] = 257; + HEAP16[(0 + 81326 | 0) >> 1] = 199; + HEAP16[(0 + 97646 | 0) >> 1] = 231; + HEAP16[(0 + 81390 | 0) >> 1] = 262; + HEAP16[(0 + 97772 | 0) >> 1] = 263; + HEAP16[(0 + 81394 | 0) >> 1] = 264; + HEAP16[(0 + 97776 | 0) >> 1] = 265; + HEAP16[(0 + 81402 | 0) >> 1] = 268; + HEAP16[(0 + 97784 | 0) >> 1] = 269; + HEAP16[(0 + 81410 | 0) >> 1] = 270; + HEAP16[(0 + 97788 | 0) >> 1] = 273; + HEAP16[(0 + 81406 | 0) >> 1] = 272; + HEAP16[(0 + 97792 | 0) >> 1] = 271; + HEAP16[(0 + 81344 | 0) >> 1] = 272; + HEAP16[(0 + 97792 | 0) >> 1] = 240; + HEAP16[(0 + 81328 | 0) >> 1] = 200; + HEAP16[(0 + 97648 | 0) >> 1] = 232; + HEAP16[(0 + 81330 | 0) >> 1] = 201; + HEAP16[(0 + 97650 | 0) >> 1] = 233; + HEAP16[(0 + 81332 | 0) >> 1] = 202; + HEAP16[(0 + 97652 | 0) >> 1] = 234; + HEAP16[(0 + 81334 | 0) >> 1] = 203; + HEAP16[(0 + 97654 | 0) >> 1] = 235; + HEAP16[(0 + 81430 | 0) >> 1] = 282; + HEAP16[(0 + 97812 | 0) >> 1] = 283; + HEAP16[(0 + 81426 | 0) >> 1] = 280; + HEAP16[(0 + 97808 | 0) >> 1] = 281; + HEAP16[(0 + 81422 | 0) >> 1] = 278; + HEAP16[(0 + 97804 | 0) >> 1] = 279; + HEAP16[(0 + 81414 | 0) >> 1] = 274; + HEAP16[(0 + 97796 | 0) >> 1] = 275; + HEAP16[(0 + 81434 | 0) >> 1] = 284; + HEAP16[(0 + 97816 | 0) >> 1] = 285; + HEAP16[(0 + 81446 | 0) >> 1] = 290; + HEAP16[(0 + 97828 | 0) >> 1] = 291; + HEAP16[(0 + 81438 | 0) >> 1] = 286; + HEAP16[(0 + 97820 | 0) >> 1] = 287; + HEAP16[(0 + 81450 | 0) >> 1] = 292; + HEAP16[(0 + 97832 | 0) >> 1] = 293; + HEAP16[(0 + 81336 | 0) >> 1] = 204; + HEAP16[(0 + 97656 | 0) >> 1] = 236; + HEAP16[(0 + 81338 | 0) >> 1] = 205; + HEAP16[(0 + 97658 | 0) >> 1] = 237; + HEAP16[(0 + 81340 | 0) >> 1] = 206; + HEAP16[(0 + 97660 | 0) >> 1] = 238; + HEAP16[(0 + 81342 | 0) >> 1] = 207; + HEAP16[(0 + 97662 | 0) >> 1] = 239; + HEAP16[(0 + 81474 | 0) >> 1] = 73; + HEAP16[(0 + 97394 | 0) >> 1] = 305; + HEAP16[(0 + 81462 | 0) >> 1] = 298; + HEAP16[(0 + 97844 | 0) >> 1] = 299; + HEAP16[(0 + 81470 | 0) >> 1] = 302; + HEAP16[(0 + 97852 | 0) >> 1] = 303; + HEAP16[(0 + 81482 | 0) >> 1] = 308; + HEAP16[(0 + 97864 | 0) >> 1] = 309; + HEAP16[(0 + 81486 | 0) >> 1] = 310; + HEAP16[(0 + 97868 | 0) >> 1] = 311; + HEAP16[(0 + 81492 | 0) >> 1] = 313; + HEAP16[(0 + 97874 | 0) >> 1] = 314; + HEAP16[(0 + 81496 | 0) >> 1] = 315; + HEAP16[(0 + 97878 | 0) >> 1] = 316; + HEAP16[(0 + 81508 | 0) >> 1] = 321; + HEAP16[(0 + 97890 | 0) >> 1] = 322; + HEAP16[(0 + 81500 | 0) >> 1] = 317; + HEAP16[(0 + 97882 | 0) >> 1] = 318; + HEAP16[(0 + 81346 | 0) >> 1] = 209; + HEAP16[(0 + 97666 | 0) >> 1] = 241; + HEAP16[(0 + 81512 | 0) >> 1] = 323; + HEAP16[(0 + 97894 | 0) >> 1] = 324; + HEAP16[(0 + 81520 | 0) >> 1] = 327; + HEAP16[(0 + 97902 | 0) >> 1] = 328; + HEAP16[(0 + 81516 | 0) >> 1] = 325; + HEAP16[(0 + 97898 | 0) >> 1] = 326; + HEAP16[(0 + 81356 | 0) >> 1] = 214; + HEAP16[(0 + 97676 | 0) >> 1] = 246; + HEAP16[(0 + 81348 | 0) >> 1] = 210; + HEAP16[(0 + 97668 | 0) >> 1] = 242; + HEAP16[(0 + 81350 | 0) >> 1] = 211; + HEAP16[(0 + 97670 | 0) >> 1] = 243; + HEAP16[(0 + 81352 | 0) >> 1] = 212; + HEAP16[(0 + 97672 | 0) >> 1] = 244; + HEAP16[(0 + 81354 | 0) >> 1] = 213; + HEAP16[(0 + 97674 | 0) >> 1] = 245; + HEAP16[(0 + 81538 | 0) >> 1] = 336; + HEAP16[(0 + 97920 | 0) >> 1] = 337; + HEAP16[(0 + 81360 | 0) >> 1] = 216; + HEAP16[(0 + 97680 | 0) >> 1] = 248; + HEAP16[(0 + 81542 | 0) >> 1] = 338; + HEAP16[(0 + 97924 | 0) >> 1] = 339; + HEAP16[(0 + 81546 | 0) >> 1] = 340; + HEAP16[(0 + 97928 | 0) >> 1] = 341; + HEAP16[(0 + 81554 | 0) >> 1] = 344; + HEAP16[(0 + 97936 | 0) >> 1] = 345; + HEAP16[(0 + 81310 | 0) >> 1] = 7838; + HEAP16[(0 + 112924 | 0) >> 1] = 223; + HEAP16[(0 + 81558 | 0) >> 1] = 346; + HEAP16[(0 + 97940 | 0) >> 1] = 347; + HEAP16[(0 + 81562 | 0) >> 1] = 348; + HEAP16[(0 + 97944 | 0) >> 1] = 349; + HEAP16[(0 + 81566 | 0) >> 1] = 350; + HEAP16[(0 + 97948 | 0) >> 1] = 351; + HEAP16[(0 + 81570 | 0) >> 1] = 352; + HEAP16[(0 + 97952 | 0) >> 1] = 353; + HEAP16[(0 + 81938 | 0) >> 1] = 536; + HEAP16[(0 + 98320 | 0) >> 1] = 537; + HEAP16[(0 + 81578 | 0) >> 1] = 356; + HEAP16[(0 + 97960 | 0) >> 1] = 357; + HEAP16[(0 + 81574 | 0) >> 1] = 354; + HEAP16[(0 + 97956 | 0) >> 1] = 355; + HEAP16[(0 + 81372 | 0) >> 1] = 222; + HEAP16[(0 + 97692 | 0) >> 1] = 254; + HEAP16[(0 + 81942 | 0) >> 1] = 538; + HEAP16[(0 + 98324 | 0) >> 1] = 539; + HEAP16[(0 + 81368 | 0) >> 1] = 220; + HEAP16[(0 + 97688 | 0) >> 1] = 252; + HEAP16[(0 + 81362 | 0) >> 1] = 217; + HEAP16[(0 + 97682 | 0) >> 1] = 249; + HEAP16[(0 + 81364 | 0) >> 1] = 218; + HEAP16[(0 + 97684 | 0) >> 1] = 250; + HEAP16[(0 + 81366 | 0) >> 1] = 219; + HEAP16[(0 + 97686 | 0) >> 1] = 251; + HEAP16[(0 + 81602 | 0) >> 1] = 368; + HEAP16[(0 + 97984 | 0) >> 1] = 369; + HEAP16[(0 + 81586 | 0) >> 1] = 360; + HEAP16[(0 + 97968 | 0) >> 1] = 361; + HEAP16[(0 + 81606 | 0) >> 1] = 370; + HEAP16[(0 + 97988 | 0) >> 1] = 371; + HEAP16[(0 + 81598 | 0) >> 1] = 366; + HEAP16[(0 + 97980 | 0) >> 1] = 367; + HEAP16[(0 + 81590 | 0) >> 1] = 362; + HEAP16[(0 + 97972 | 0) >> 1] = 363; + HEAP16[(0 + 81610 | 0) >> 1] = 372; + HEAP16[(0 + 97992 | 0) >> 1] = 373; + HEAP16[(0 + 81370 | 0) >> 1] = 221; + HEAP16[(0 + 97690 | 0) >> 1] = 253; + HEAP16[(0 + 81374 | 0) >> 1] = 376; + HEAP16[(0 + 98e3 | 0) >> 1] = 255; + HEAP16[(0 + 81614 | 0) >> 1] = 374; + HEAP16[(0 + 97996 | 0) >> 1] = 375; + HEAP16[(0 + 81620 | 0) >> 1] = 377; + HEAP16[(0 + 98002 | 0) >> 1] = 378; + HEAP16[(0 + 81628 | 0) >> 1] = 381; + HEAP16[(0 + 98010 | 0) >> 1] = 382; + HEAP16[(0 + 81624 | 0) >> 1] = 379; + HEAP16[(0 + 98006 | 0) >> 1] = 380; + global$0 = $2_1 + 16 | 0; + return; + } + + function $3161($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $28_1 = 0, $83_1 = 0, $92_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0) { + break label$3 + } + if (!(($248(HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + } + $271(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + break label$1; + } + label$4 : { + label$5 : { + if ($233(HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + $28_1 = 0; + $277(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, 63406 | 0, $28_1 | 0, $28_1 | 0); + break label$4; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $247(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $236(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[($6_1 + 11 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($6_1 + 10 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0; + HEAP16[($6_1 + 8 | 0) >> 1] = ((HEAPU8[($6_1 + 10 | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[($6_1 + 11 | 0) >> 0] | 0) & 255 | 0) | 0; + label$8 : { + label$9 : { + if (!(((HEAPU16[($6_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) < (8192 | 0) & 1 | 0)) { + break label$9 + } + HEAP16[($6_1 + 6 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + (((HEAPU16[($6_1 + 8 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0; + $83_1 = 16; + HEAP8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) >> 0] = (((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) << $83_1 | 0) >> $83_1 | 0) & 255 | 0; + $92_1 = 16; + HEAP8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = (((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) << $92_1 | 0) >> $92_1 | 0) >> 8 | 0; + break label$8; + } + HEAP8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[($6_1 + 11 | 0) >> 0] | 0; + HEAP8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = HEAPU8[($6_1 + 10 | 0) >> 0] | 0; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0; + continue label$7; + }; + } + $279(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 3 | 0); + } + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $3162($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3155(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $3157(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 63329 | 0, 63335 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $3163($0_1) { + $0_1 = $0_1 | 0; + return (($0_1 | 32 | 0) + -97 | 0) >>> 0 < 26 >>> 0 | 0; + } + + function $3164($0_1) { + $0_1 = $0_1 | 0; + return ($0_1 | 0) == (32 | 0) | ($0_1 | 0) == (9 | 0) | 0 | 0; + } + + function $3165($0_1) { + $0_1 = $0_1 | 0; + return ($0_1 + -65 | 0) >>> 0 < 26 >>> 0 | 0; + } + + function $3166($0_1) { + $0_1 = $0_1 | 0; + return ($3165($0_1 | 0) | 0 ? $0_1 | 32 | 0 : $0_1) | 0; + } + + function $3167($0_1) { + $0_1 = $0_1 | 0; + return ($0_1 + -97 | 0) >>> 0 < 26 >>> 0 | 0; + } + + function $3168($0_1) { + $0_1 = $0_1 | 0; + return ($3167($0_1 | 0) | 0 ? $0_1 & 95 | 0 : $0_1) | 0; + } + + function $3169() { + return 114664 | 0; + } + + function $3170($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $3_1 = 0, $4_1 = 0; + $2_1 = 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : while (1) { + if ((HEAPU8[($2_1 + 63408 | 0) >> 0] | 0 | 0) == ($0_1 | 0)) { + break label$3 + } + $3_1 = 87; + $2_1 = $2_1 + 1 | 0; + if (($2_1 | 0) != (87 | 0)) { + continue label$4 + } + break label$2; + }; + } + $3_1 = $2_1; + if ($2_1) { + break label$2 + } + $4_1 = 63504; + break label$1; + } + $2_1 = 63504; + label$5 : while (1) { + $0_1 = HEAPU8[$2_1 >> 0] | 0; + $4_1 = $2_1 + 1 | 0; + $2_1 = $4_1; + if ($0_1) { + continue label$5 + } + $2_1 = $4_1; + $3_1 = $3_1 + -1 | 0; + if ($3_1) { + continue label$5 + } + break label$5; + }; + } + return $3177($4_1 | 0, HEAP32[($1_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0; + } + + function $3171($0_1) { + $0_1 = $0_1 | 0; + return $3170($0_1 | 0, HEAP32[(($3172() | 0) + 176 | 0) >> 2] | 0 | 0) | 0 | 0; + } + + function $3172() { + return $3211() | 0 | 0; + } + + function $3173($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 144 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 140 | 0) >> 2] = $2_1 + 4 | 0; + $2_1 = HEAP32[$2_1 >> 2] | 0; + $2_1 = ($1_1 | 0) == (4 | 0) ? $2_1 | 32768 | 0 : $2_1; + label$1 : { + label$2 : { + if ($1_1 >>> 0 > 16 >>> 0) { + break label$2 + } + label$3 : { + if ((1 << $1_1 | 0) & 110592 | 0) { + break label$3 + } + label$4 : { + if (($1_1 | 0) == (9 | 0)) { + break label$4 + } + if (($1_1 | 0) != (14 | 0)) { + break label$2 + } + HEAP32[($3_1 + 16 | 0) >> 2] = $2_1; + $1_1 = $3175(fimport$6($0_1 | 0, 14 | 0, $3_1 + 16 | 0 | 0) | 0 | 0) | 0; + break label$1; + } + HEAP32[($3_1 + 48 | 0) >> 2] = $3_1 + 128 | 0; + label$5 : { + $1_1 = fimport$6($0_1 | 0, 16 | 0, $3_1 + 48 | 0 | 0) | 0; + if (!$1_1) { + break label$5 + } + label$6 : { + if (($1_1 | 0) != (-28 | 0)) { + break label$6 + } + HEAP32[($3_1 + 32 | 0) >> 2] = $2_1; + $1_1 = fimport$6($0_1 | 0, 9 | 0, $3_1 + 32 | 0 | 0) | 0; + break label$1; + } + $1_1 = $3175($1_1 | 0) | 0; + break label$1; + } + $1_1 = HEAP32[($3_1 + 132 | 0) >> 2] | 0; + $1_1 = (HEAP32[($3_1 + 128 | 0) >> 2] | 0 | 0) == (2 | 0) ? 0 - $1_1 | 0 : $1_1; + break label$1; + } + HEAP32[($3_1 + 112 | 0) >> 2] = $2_1; + $1_1 = $3175(fimport$6($0_1 | 0, $1_1 | 0, $3_1 + 112 | 0 | 0) | 0 | 0) | 0; + break label$1; + } + label$7 : { + if (($1_1 | 0) == (1030 | 0)) { + break label$7 + } + HEAP32[$3_1 >> 2] = $2_1; + $1_1 = $3175(fimport$6($0_1 | 0, $1_1 | 0, $3_1 | 0) | 0 | 0) | 0; + break label$1; + } + HEAP32[($3_1 + 96 | 0) >> 2] = $2_1; + label$8 : { + $1_1 = fimport$6($0_1 | 0, 1030 | 0, $3_1 + 96 | 0 | 0) | 0; + if (($1_1 | 0) == (-28 | 0)) { + break label$8 + } + $1_1 = $3175($1_1 | 0) | 0; + break label$1; + } + HEAP32[($3_1 + 80 | 0) >> 2] = 0; + label$9 : { + $1_1 = fimport$6($0_1 | 0, 1030 | 0, $3_1 + 80 | 0 | 0) | 0; + if (($1_1 | 0) == (-28 | 0)) { + break label$9 + } + label$10 : { + if (($1_1 | 0) < (0 | 0)) { + break label$10 + } + fimport$7($1_1 | 0) | 0; + } + $1_1 = $3175(-28 | 0) | 0; + break label$1; + } + HEAP32[($3_1 + 64 | 0) >> 2] = $2_1; + $1_1 = $3175(fimport$6($0_1 | 0, 0 | 0, $3_1 + 64 | 0 | 0) | 0 | 0) | 0; + } + global$0 = $3_1 + 144 | 0; + return $1_1 | 0; + } + + function $3174($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + label$1 : { + label$2 : { + if ($1_1 & 4194368 | 0) { + break label$2 + } + $2_1 = 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $2_1 + 4 | 0; + $2_1 = HEAP32[$2_1 >> 2] | 0; + } + HEAP32[$3_1 >> 2] = $2_1; + $1_1 = $3175(fimport$8($0_1 | 0, $1_1 | 32768 | 0 | 0, $3_1 | 0) | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $1_1 | 0; + } + + function $3175($0_1) { + $0_1 = $0_1 | 0; + var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + label$1 : { + if ($0_1 >>> 0 < -4095 >>> 0) { + break label$1 + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0 - $0_1 | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $0_1 = -1; + } + return $0_1 | 0; + } + + function $3176($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + return $0_1 | 0; + } + + function $3177($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + return $3176($0_1 | 0, $1_1 | 0) | 0 | 0; + } + + function $3178($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $3_1 = 0.0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $2_1 = 0, $1_1 = 0, $2$hi = 0, $4_1 = 0.0, $12_1 = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $63_1 = 0.0; + label$1 : { + label$2 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $2_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $2$hi = i64toi32_i32$0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $12_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $12_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $12_1 & 2147483647 | 0; + if ($1_1 >>> 0 < 1072693248 >>> 0) { + break label$2 + } + i64toi32_i32$1 = $2$hi; + if (!($1_1 + -1072693248 | 0 | $2_1 | 0)) { + break label$1 + } + return +(0.0 / ($0_1 - $0_1)); + } + label$3 : { + label$4 : { + if ($1_1 >>> 0 > 1071644671 >>> 0) { + break label$4 + } + $3_1 = 1.5707963267948966; + if ($1_1 >>> 0 < 1012924417 >>> 0) { + break label$3 + } + return +(6.123233995736766e-17 - +$3179(+($0_1 * $0_1)) * $0_1 - $0_1 + 1.5707963267948966); + } + label$5 : { + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + if ($13_1) { + break label$5 + } + $0_1 = ($0_1 + 1.0) * .5; + $3_1 = +$3207(+$0_1); + $0_1 = 1.5707963267948966 - ($3_1 + ($3_1 * +$3179(+$0_1) + -6.123233995736766e-17)); + return +($0_1 + $0_1); + } + $3_1 = (1.0 - $0_1) * .5; + $4_1 = +$3207(+$3_1); + $63_1 = $4_1 * +$3179(+$3_1); + wasm2js_scratch_store_f64(+$4_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$3 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = -1; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$3 & i64toi32_i32$2 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + $0_1 = $63_1 + ($3_1 - $0_1 * $0_1) / ($4_1 + $0_1) + $0_1; + $3_1 = $0_1 + $0_1; + } + return +$3_1; + } + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = -1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$3 | 0)) { + $16_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$2 >>> 0) { + $17_1 = 0 + } else { + $17_1 = 1 + } + $18_1 = $17_1; + } else { + $18_1 = 0 + } + $16_1 = $18_1; + } + return +($16_1 ? 0.0 : 3.141592653589793); + } + + function $3179($0_1) { + $0_1 = +$0_1; + return +(((((($0_1 * 3.479331075960212e-05 + 7.915349942898145e-04) * $0_1 + -.04005553450067941) * $0_1 + .20121253213486293) * $0_1 + -.3255658186224009) * $0_1 + .16666666666666666) * $0_1 / (((($0_1 * .07703815055590194 + -.6882839716054533) * $0_1 + 2.0209457602335057) * $0_1 + -2.403394911734414) * $0_1 + 1.0)); + } + + function $3180($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $1_1 = 0, i64toi32_i32$2 = 0; + label$1 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 52; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $7_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $7_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $7_1 & 2047 | 0; + if ($1_1 >>> 0 > 1023 >>> 0) { + break label$1 + } + $0_1 = $0_1 + -1.0; + return +(+$3203(+($0_1 + +$3207(+($0_1 * $0_1 + ($0_1 + $0_1)))))); + } + label$2 : { + if ($1_1 >>> 0 > 1048 >>> 0) { + break label$2 + } + return +(+$3202(+($0_1 + $0_1 + -1.0 / (+$3207(+($0_1 * $0_1 + -1.0)) + $0_1)))); + } + return +(+$3202(+$0_1) + .6931471805599453); + } + + function $3181($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $1_1 = 0, $5_1 = 0.0, $2_1 = 0, $3_1 = 0.0, $2$hi = 0, $15_1 = 0, $4_1 = 0.0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $67_1 = 0.0, $84_1 = 0.0, $86_1 = 0.0; + label$1 : { + label$2 : { + label$3 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $2_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $2$hi = i64toi32_i32$0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $15_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $15_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $15_1 & 2147483647 | 0; + if ($1_1 >>> 0 < 1072693248 >>> 0) { + break label$3 + } + i64toi32_i32$1 = $2$hi; + if ($1_1 + -1072693248 | 0 | $2_1 | 0) { + break label$2 + } + return +($0_1 * 1.5707963267948966 + 7.52316384526264e-37); + } + label$4 : { + if ($1_1 >>> 0 > 1071644671 >>> 0) { + break label$4 + } + if (($1_1 + -1048576 | 0) >>> 0 < 1044381696 >>> 0) { + break label$1 + } + return +(+$3182(+($0_1 * $0_1)) * $0_1 + $0_1); + } + $3_1 = (1.0 - +$3200(+$0_1)) * .5; + $0_1 = +$3207(+$3_1); + $4_1 = +$3182(+$3_1); + label$5 : { + label$6 : { + if ($1_1 >>> 0 < 1072640819 >>> 0) { + break label$6 + } + $0_1 = $0_1 + $0_1 * $4_1; + $0_1 = 1.5707963267948966 - ($0_1 + $0_1 + -6.123233995736766e-17); + break label$5; + } + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$0 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$2 | 0); + $5_1 = +wasm2js_scratch_load_f64(); + $67_1 = ($0_1 + $0_1) * $4_1; + $0_1 = ($3_1 - $5_1 * $5_1) / ($0_1 + $5_1); + $0_1 = .7853981633974483 - ($5_1 + $5_1) - ($67_1 - (6.123233995736766e-17 - ($0_1 + $0_1))) + .7853981633974483; + } + $84_1 = $0_1; + $86_1 = -$0_1; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $16_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $17_1 = 0 + } else { + $17_1 = 1 + } + $18_1 = $17_1; + } else { + $18_1 = 0 + } + $16_1 = $18_1; + } + return +($16_1 ? $84_1 : $86_1); + } + $0_1 = 0.0 / ($0_1 - $0_1); + } + return +$0_1; + } + + function $3182($0_1) { + $0_1 = +$0_1; + return +(((((($0_1 * 3.479331075960212e-05 + 7.915349942898145e-04) * $0_1 + -.04005553450067941) * $0_1 + .20121253213486293) * $0_1 + -.3255658186224009) * $0_1 + .16666666666666666) * $0_1 / (((($0_1 * .07703815055590194 + -.6882839716054533) * $0_1 + 2.0209457602335057) * $0_1 + -2.403394911734414) * $0_1 + 1.0)); + } + + function $3183($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $1_1 = 0, $2_1 = 0, $12_1 = 0, $3_1 = 0.0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $2$hi = 0, $47_1 = 0.0, $49_1 = 0.0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $2_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $2$hi = i64toi32_i32$0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + label$1 : { + label$2 : { + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 52; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $12_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $12_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $12_1 & 2047 | 0; + if ($1_1 >>> 0 < 1049 >>> 0) { + break label$2 + } + $0_1 = +$3202(+$0_1) + .6931471805599453; + break label$1; + } + label$3 : { + if ($1_1 >>> 0 < 1024 >>> 0) { + break label$3 + } + $0_1 = +$3202(+($0_1 + $0_1 + 1.0 / (+$3207(+($0_1 * $0_1 + 1.0)) + $0_1))); + break label$1; + } + if ($1_1 >>> 0 < 997 >>> 0) { + break label$1 + } + $3_1 = $0_1 * $0_1; + $0_1 = +$3203(+($3_1 / (+$3207(+($3_1 + 1.0)) + 1.0) + $0_1)); + } + $47_1 = $0_1; + $49_1 = -$0_1; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + return +($13_1 ? $47_1 : $49_1); + } + + function $3184($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $1_1 = 0, $5_1 = 0.0, i64toi32_i32$4 = 0, $2_1 = 0, $4_1 = 0.0, $3_1 = 0, $20_1 = 0, $6_1 = 0.0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $3$hi = 0, $110_1 = 0.0, $112_1 = 0.0, $119_1 = 0, $119$hi = 0, $122_1 = 0, $122$hi = 0, $124_1 = 0.0; + label$1 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $3_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $3$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $20_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $20_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $20_1 & 2147483647 | 0; + if ($1_1 >>> 0 >= 1141899264 >>> 0) { + break label$1 + } + label$2 : { + label$3 : { + label$4 : { + if ($1_1 >>> 0 > 1071382527 >>> 0) { + break label$4 + } + if ($1_1 >>> 0 < 1044381696 >>> 0) { + break label$2 + } + $2_1 = -1; + $1_1 = 1; + break label$3; + } + $0_1 = +$3200(+$0_1); + label$5 : { + label$6 : { + if ($1_1 >>> 0 > 1072889855 >>> 0) { + break label$6 + } + label$7 : { + if ($1_1 >>> 0 > 1072037887 >>> 0) { + break label$7 + } + $0_1 = ($0_1 + $0_1 + -1.0) / ($0_1 + 2.0); + $1_1 = 0; + $2_1 = 0; + break label$3; + } + $0_1 = ($0_1 + -1.0) / ($0_1 + 1.0); + $2_1 = 1; + break label$5; + } + label$8 : { + if ($1_1 >>> 0 > 1073971199 >>> 0) { + break label$8 + } + $0_1 = ($0_1 + -1.5) / ($0_1 * 1.5 + 1.0); + $2_1 = 2; + break label$5; + } + $0_1 = -1.0 / $0_1; + $2_1 = 3; + } + $1_1 = 0; + } + $4_1 = $0_1 * $0_1; + $5_1 = $4_1 * $4_1; + $6_1 = $5_1 * ($5_1 * ($5_1 * ($5_1 * ($5_1 * -.036531572744216916 + -.058335701337905735) + -.0769187620504483) + -.11111110405462356) + -.19999999999876483); + $5_1 = $4_1 * ($5_1 * ($5_1 * ($5_1 * ($5_1 * ($5_1 * .016285820115365782 + .049768779946159324) + .06661073137387531) + .09090887133436507) + .14285714272503466) + .3333333333333293); + label$9 : { + if (!$1_1) { + break label$9 + } + return +($0_1 - $0_1 * ($6_1 + $5_1)); + } + $1_1 = $2_1 << 3 | 0; + $0_1 = +HEAPF64[($1_1 + 65312 | 0) >> 3] - ($0_1 * ($6_1 + $5_1) - +HEAPF64[($1_1 + 65344 | 0) >> 3] - $0_1); + $110_1 = $0_1; + $112_1 = -$0_1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $21_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $22_1 = 0 + } else { + $22_1 = 1 + } + $23_1 = $22_1; + } else { + $23_1 = 0 + } + $21_1 = $23_1; + } + $0_1 = $21_1 ? $110_1 : $112_1; + } + return +$0_1; + } + wasm2js_scratch_store_f64(+(1.5707963267948966)); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$3 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$2 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $119_1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $119$hi = i64toi32_i32$1; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$3 = -2147483648; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $122_1 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $122$hi = i64toi32_i32$3; + i64toi32_i32$3 = $119$hi; + i64toi32_i32$1 = $119_1; + i64toi32_i32$0 = $122$hi; + i64toi32_i32$2 = $122_1; + i64toi32_i32$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 | i64toi32_i32$2 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + $124_1 = +wasm2js_scratch_load_f64(); + i64toi32_i32$0 = $3185(+$0_1) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$2 = -1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = 2146435072; + i64toi32_i32$2 = 0; + return +(i64toi32_i32$0 >>> 0 > i64toi32_i32$3 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$2 >>> 0 | 0) | 0 ? $0_1 : $124_1); + } + + function $3185($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $3186($0_1, $1_1) { + $0_1 = +$0_1; + $1_1 = +$1_1; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $7_1 = 0, $2_1 = 0, $8_1 = 0.0, $7$hi = 0, $6_1 = 0, $5_1 = 0, $24_1 = 0, $25_1 = 0, $4_1 = 0, $26_1 = 0, $27_1 = 0, $3_1 = 0, $37_1 = 0, $60_1 = 0, $60$hi = 0, $63_1 = 0, $63$hi = 0, $81_1 = 0, $81$hi = 0, $84_1 = 0, $84$hi = 0; + label$1 : { + label$2 : { + i64toi32_i32$0 = $3187(+$1_1) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = 2146435072; + i64toi32_i32$3 = 0; + if (i64toi32_i32$0 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) { + break label$2 + } + i64toi32_i32$1 = $3187(+$0_1) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$2 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = 2146435072; + i64toi32_i32$2 = 1; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0) { + break label$1 + } + } + return +($0_1 + $1_1); + } + label$3 : { + wasm2js_scratch_store_f64(+$1_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $7_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $7$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $24_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $24_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $24_1; + i64toi32_i32$1 = $7$hi; + $3_1 = $7_1; + if ($2_1 + -1072693248 | 0 | $7_1 | 0) { + break label$3 + } + return +(+$3184(+$0_1)); + } + i64toi32_i32$1 = $7$hi; + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 62; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $25_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $25_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $4_1 = $25_1 & 2 | 0; + $37_1 = $4_1; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$2 = wasm2js_scratch_load_i32(1 | 0) | 0; + $7_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $7$hi = i64toi32_i32$2; + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $26_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $26_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + $5_1 = $37_1 | $26_1 | 0; + label$4 : { + label$5 : { + label$6 : { + i64toi32_i32$0 = $7$hi; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $27_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $27_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $6_1 = $27_1 & 2147483647 | 0; + i64toi32_i32$1 = $7$hi; + if ($6_1 | $7_1 | 0) { + break label$6 + } + $8_1 = $0_1; + label$7 : { + switch ($5_1 | 0) { + case 2: + break label$5; + case 3: + break label$7; + default: + break label$4; + }; + } + return +(-3.141592653589793); + } + label$8 : { + $2_1 = $2_1 & 2147483647 | 0; + if ($2_1 | $3_1 | 0) { + break label$8 + } + wasm2js_scratch_store_f64(+(1.5707963267948966)); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$2 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $60_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $60$hi = i64toi32_i32$2; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$2 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$0 = -2147483648; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $63_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $63$hi = i64toi32_i32$0; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$2 = $60_1; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$3 = $63_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 | i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + return +(+wasm2js_scratch_load_f64()); + } + label$9 : { + label$10 : { + if (($2_1 | 0) != (2146435072 | 0)) { + break label$10 + } + if (($6_1 | 0) != (2146435072 | 0)) { + break label$9 + } + return +(+HEAPF64[(($5_1 << 3 | 0) + 65376 | 0) >> 3]); + } + label$11 : { + label$12 : { + if (($6_1 | 0) == (2146435072 | 0)) { + break label$12 + } + if (($2_1 + 67108864 | 0) >>> 0 >= $6_1 >>> 0) { + break label$11 + } + } + wasm2js_scratch_store_f64(+(1.5707963267948966)); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$2 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $81_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $81$hi = i64toi32_i32$2; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$2 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$0 = -2147483648; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $84_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $84$hi = i64toi32_i32$0; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$2 = $81_1; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$3 = $84_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 | i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + return +(+wasm2js_scratch_load_f64()); + } + label$13 : { + label$14 : { + if (!$4_1) { + break label$14 + } + $8_1 = 0.0; + if (($6_1 + 67108864 | 0) >>> 0 < $2_1 >>> 0) { + break label$13 + } + } + $8_1 = +$3184(+(+$3200(+($0_1 / $1_1)))); + } + label$15 : { + switch ($5_1 | 0) { + case 1: + return +-$8_1; + case 2: + return +(3.141592653589793 - ($8_1 + -1.2246467991473532e-16)); + case 0: + break label$4; + default: + break label$15; + }; + } + return +($8_1 + -1.2246467991473532e-16 + -3.141592653589793); + } + return +(+HEAPF64[(($5_1 << 3 | 0) + 65408 | 0) >> 3]); + } + $8_1 = 3.141592653589793; + } + return +$8_1; + } + + function $3187($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $3188($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $2_1 = 0, $12_1 = 0, $1_1 = 0, $3_1 = 0.0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $2$hi = 0, $38_1 = 0.0, $40_1 = 0.0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $2_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $2$hi = i64toi32_i32$0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + label$1 : { + label$2 : { + label$3 : { + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 52; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $12_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $12_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $12_1 & 2047 | 0; + if ($1_1 >>> 0 > 1021 >>> 0) { + break label$3 + } + if ($1_1 >>> 0 < 991 >>> 0) { + break label$1 + } + $3_1 = $0_1 + $0_1; + $0_1 = $3_1 + $3_1 * $0_1 / (1.0 - $0_1); + break label$2; + } + $0_1 = $0_1 / (1.0 - $0_1); + $0_1 = $0_1 + $0_1; + } + $0_1 = +$3203(+$0_1) * .5; + } + $38_1 = $0_1; + $40_1 = -$0_1; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + return +($13_1 ? $38_1 : $40_1); + } + + function $3189($0_1, $1_1) { + $0_1 = +$0_1; + $1_1 = +$1_1; + var $2_1 = 0.0, $3_1 = 0.0, $4_1 = 0.0, $16_1 = 0.0; + $2_1 = $0_1 * $0_1; + $3_1 = $2_1 * .5; + $4_1 = 1.0 - $3_1; + $16_1 = 1.0 - $4_1 - $3_1; + $3_1 = $2_1 * $2_1; + return +($4_1 + ($16_1 + ($2_1 * ($2_1 * ($2_1 * ($2_1 * 2.480158728947673e-05 + -.001388888888887411) + .0416666666666666) + $3_1 * $3_1 * ($2_1 * ($2_1 * -1.1359647557788195e-11 + 2.087572321298175e-09) + -2.7557314351390663e-07)) - $0_1 * $1_1))); + } + + function $3190($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $22_1 = 0.0, $11_1 = 0, $6_1 = 0, $5_1 = 0, $23_1 = 0.0, $13_1 = 0, $14_1 = 0, $9_1 = 0, $20_1 = 0, $8_1 = 0, $10_1 = 0, $12_1 = 0, $18_1 = 0, $24_1 = 0.0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7_1 = 0, $16_1 = 0, $19_1 = 0, $15_1 = 0, $17_1 = 0, $207_1 = 0, $210_1 = 0, $539_1 = 0.0, $577_1 = 0.0, $609_1 = 0, $615_1 = 0; + $5_1 = global$0 - 560 | 0; + global$0 = $5_1; + $6_1 = ($2_1 + -3 | 0 | 0) / (24 | 0) | 0; + $7_1 = ($6_1 | 0) > (0 | 0) ? $6_1 : 0; + $8_1 = Math_imul($7_1, -24) + $2_1 | 0; + label$1 : { + $9_1 = HEAP32[(($4_1 << 2 | 0) + 65440 | 0) >> 2] | 0; + $10_1 = $3_1 + -1 | 0; + if (($9_1 + $10_1 | 0 | 0) < (0 | 0)) { + break label$1 + } + $11_1 = $9_1 + $3_1 | 0; + $2_1 = $7_1 - $10_1 | 0; + $6_1 = 0; + label$2 : while (1) { + label$3 : { + label$4 : { + if (($2_1 | 0) >= (0 | 0)) { + break label$4 + } + $22_1 = 0.0; + break label$3; + } + $22_1 = +(HEAP32[(($2_1 << 2 | 0) + 65456 | 0) >> 2] | 0 | 0); + } + HEAPF64[(($5_1 + 320 | 0) + ($6_1 << 3 | 0) | 0) >> 3] = $22_1; + $2_1 = $2_1 + 1 | 0; + $6_1 = $6_1 + 1 | 0; + if (($6_1 | 0) != ($11_1 | 0)) { + continue label$2 + } + break label$2; + }; + } + $12_1 = $8_1 + -24 | 0; + $11_1 = 0; + $13_1 = ($9_1 | 0) > (0 | 0) ? $9_1 : 0; + $14_1 = ($3_1 | 0) < (1 | 0); + label$5 : while (1) { + label$6 : { + label$7 : { + if (!$14_1) { + break label$7 + } + $22_1 = 0.0; + break label$6; + } + $6_1 = $11_1 + $10_1 | 0; + $2_1 = 0; + $22_1 = 0.0; + label$8 : while (1) { + $22_1 = $22_1 + +HEAPF64[($0_1 + ($2_1 << 3 | 0) | 0) >> 3] * +HEAPF64[(($5_1 + 320 | 0) + (($6_1 - $2_1 | 0) << 3 | 0) | 0) >> 3]; + $2_1 = $2_1 + 1 | 0; + if (($2_1 | 0) != ($3_1 | 0)) { + continue label$8 + } + break label$8; + }; + } + HEAPF64[($5_1 + ($11_1 << 3 | 0) | 0) >> 3] = $22_1; + $2_1 = ($11_1 | 0) == ($13_1 | 0); + $11_1 = $11_1 + 1 | 0; + if (!$2_1) { + continue label$5 + } + break label$5; + }; + $15_1 = 47 - $8_1 | 0; + $16_1 = 48 - $8_1 | 0; + $17_1 = $8_1 + -25 | 0; + $11_1 = $9_1; + label$9 : { + label$10 : while (1) { + $22_1 = +HEAPF64[($5_1 + ($11_1 << 3 | 0) | 0) >> 3]; + $2_1 = 0; + $6_1 = $11_1; + label$11 : { + $10_1 = ($11_1 | 0) < (1 | 0); + if ($10_1) { + break label$11 + } + label$12 : while (1) { + $13_1 = $2_1 << 2 | 0; + label$13 : { + label$14 : { + $23_1 = $22_1 * 5.9604644775390625e-08; + if (!(Math_abs($23_1) < 2147483648.0)) { + break label$14 + } + $14_1 = ~~$23_1; + break label$13; + } + $14_1 = -2147483648; + } + $13_1 = ($5_1 + 480 | 0) + $13_1 | 0; + label$15 : { + label$16 : { + $23_1 = +($14_1 | 0); + $22_1 = $22_1 + $23_1 * -16777216.0; + if (!(Math_abs($22_1) < 2147483648.0)) { + break label$16 + } + $14_1 = ~~$22_1; + break label$15; + } + $14_1 = -2147483648; + } + HEAP32[$13_1 >> 2] = $14_1; + $6_1 = $6_1 + -1 | 0; + $22_1 = +HEAPF64[($5_1 + ($6_1 << 3 | 0) | 0) >> 3] + $23_1; + $2_1 = $2_1 + 1 | 0; + if (($2_1 | 0) != ($11_1 | 0)) { + continue label$12 + } + break label$12; + }; + } + $22_1 = +$3287(+$22_1, $12_1 | 0); + label$17 : { + label$18 : { + $22_1 = $22_1 + +$3201(+($22_1 * .125)) * -8.0; + if (!(Math_abs($22_1) < 2147483648.0)) { + break label$18 + } + $18_1 = ~~$22_1; + break label$17; + } + $18_1 = -2147483648; + } + $22_1 = $22_1 - +($18_1 | 0); + label$19 : { + label$20 : { + label$21 : { + label$22 : { + label$23 : { + $19_1 = ($12_1 | 0) < (1 | 0); + if ($19_1) { + break label$23 + } + $2_1 = (($11_1 << 2 | 0) + ($5_1 + 480 | 0) | 0) + -4 | 0; + $207_1 = $2_1; + $2_1 = HEAP32[$2_1 >> 2] | 0; + $210_1 = $2_1; + $2_1 = $2_1 >> $16_1 | 0; + $6_1 = $210_1 - ($2_1 << $16_1 | 0) | 0; + HEAP32[$207_1 >> 2] = $6_1; + $20_1 = $6_1 >> $15_1 | 0; + $18_1 = $2_1 + $18_1 | 0; + break label$22; + } + if ($12_1) { + break label$21 + } + $20_1 = (HEAP32[((($11_1 << 2 | 0) + ($5_1 + 480 | 0) | 0) + -4 | 0) >> 2] | 0) >> 23 | 0; + } + if (($20_1 | 0) < (1 | 0)) { + break label$19 + } + break label$20; + } + $20_1 = 2; + if (!($22_1 >= .5 ^ 1 | 0)) { + break label$20 + } + $20_1 = 0; + break label$19; + } + $2_1 = 0; + $14_1 = 0; + label$24 : { + if ($10_1) { + break label$24 + } + label$25 : while (1) { + $10_1 = ($5_1 + 480 | 0) + ($2_1 << 2 | 0) | 0; + $6_1 = HEAP32[$10_1 >> 2] | 0; + $13_1 = 16777215; + label$26 : { + label$27 : { + if ($14_1) { + break label$27 + } + $13_1 = 16777216; + if ($6_1) { + break label$27 + } + $14_1 = 0; + break label$26; + } + HEAP32[$10_1 >> 2] = $13_1 - $6_1 | 0; + $14_1 = 1; + } + $2_1 = $2_1 + 1 | 0; + if (($2_1 | 0) != ($11_1 | 0)) { + continue label$25 + } + break label$25; + }; + } + label$28 : { + if ($19_1) { + break label$28 + } + label$29 : { + switch ($17_1 | 0) { + case 0: + $2_1 = (($11_1 << 2 | 0) + ($5_1 + 480 | 0) | 0) + -4 | 0; + HEAP32[$2_1 >> 2] = (HEAP32[$2_1 >> 2] | 0) & 8388607 | 0; + break label$28; + case 1: + break label$29; + default: + break label$28; + }; + } + $2_1 = (($11_1 << 2 | 0) + ($5_1 + 480 | 0) | 0) + -4 | 0; + HEAP32[$2_1 >> 2] = (HEAP32[$2_1 >> 2] | 0) & 4194303 | 0; + } + $18_1 = $18_1 + 1 | 0; + if (($20_1 | 0) != (2 | 0)) { + break label$19 + } + $22_1 = 1.0 - $22_1; + $20_1 = 2; + if (!$14_1) { + break label$19 + } + $22_1 = $22_1 - +$3287(+(1.0), $12_1 | 0); + } + label$31 : { + if ($22_1 != 0.0) { + break label$31 + } + $6_1 = 0; + $2_1 = $11_1; + label$32 : { + if (($2_1 | 0) <= ($9_1 | 0)) { + break label$32 + } + label$33 : while (1) { + $2_1 = $2_1 + -1 | 0; + $6_1 = HEAP32[(($5_1 + 480 | 0) + ($2_1 << 2 | 0) | 0) >> 2] | 0 | $6_1 | 0; + if (($2_1 | 0) > ($9_1 | 0)) { + continue label$33 + } + break label$33; + }; + if (!$6_1) { + break label$32 + } + $8_1 = $12_1; + label$34 : while (1) { + $8_1 = $8_1 + -24 | 0; + $11_1 = $11_1 + -1 | 0; + if (!(HEAP32[(($5_1 + 480 | 0) + ($11_1 << 2 | 0) | 0) >> 2] | 0)) { + continue label$34 + } + break label$9; + }; + } + $2_1 = 1; + label$35 : while (1) { + $6_1 = $2_1; + $2_1 = $2_1 + 1 | 0; + if (!(HEAP32[(($5_1 + 480 | 0) + (($9_1 - $6_1 | 0) << 2 | 0) | 0) >> 2] | 0)) { + continue label$35 + } + break label$35; + }; + $13_1 = $6_1 + $11_1 | 0; + label$36 : while (1) { + $6_1 = $11_1 + $3_1 | 0; + $11_1 = $11_1 + 1 | 0; + HEAPF64[(($5_1 + 320 | 0) + ($6_1 << 3 | 0) | 0) >> 3] = +(HEAP32[((($11_1 + $7_1 | 0) << 2 | 0) + 65456 | 0) >> 2] | 0 | 0); + $2_1 = 0; + $22_1 = 0.0; + label$37 : { + if (($3_1 | 0) < (1 | 0)) { + break label$37 + } + label$38 : while (1) { + $22_1 = $22_1 + +HEAPF64[($0_1 + ($2_1 << 3 | 0) | 0) >> 3] * +HEAPF64[(($5_1 + 320 | 0) + (($6_1 - $2_1 | 0) << 3 | 0) | 0) >> 3]; + $2_1 = $2_1 + 1 | 0; + if (($2_1 | 0) != ($3_1 | 0)) { + continue label$38 + } + break label$38; + }; + } + HEAPF64[($5_1 + ($11_1 << 3 | 0) | 0) >> 3] = $22_1; + if (($11_1 | 0) < ($13_1 | 0)) { + continue label$36 + } + break label$36; + }; + $11_1 = $13_1; + continue label$10; + } + break label$10; + }; + label$39 : { + label$40 : { + $22_1 = +$3287(+$22_1, 0 - $12_1 | 0 | 0); + if ($22_1 >= 16777216.0 ^ 1 | 0) { + break label$40 + } + $3_1 = $11_1 << 2 | 0; + label$41 : { + label$42 : { + $23_1 = $22_1 * 5.9604644775390625e-08; + if (!(Math_abs($23_1) < 2147483648.0)) { + break label$42 + } + $2_1 = ~~$23_1; + break label$41; + } + $2_1 = -2147483648; + } + $3_1 = ($5_1 + 480 | 0) + $3_1 | 0; + label$43 : { + label$44 : { + $22_1 = $22_1 + +($2_1 | 0) * -16777216.0; + if (!(Math_abs($22_1) < 2147483648.0)) { + break label$44 + } + $6_1 = ~~$22_1; + break label$43; + } + $6_1 = -2147483648; + } + HEAP32[$3_1 >> 2] = $6_1; + $11_1 = $11_1 + 1 | 0; + break label$39; + } + label$45 : { + label$46 : { + if (!(Math_abs($22_1) < 2147483648.0)) { + break label$46 + } + $2_1 = ~~$22_1; + break label$45; + } + $2_1 = -2147483648; + } + $8_1 = $12_1; + } + HEAP32[(($5_1 + 480 | 0) + ($11_1 << 2 | 0) | 0) >> 2] = $2_1; + } + $22_1 = +$3287(+(1.0), $8_1 | 0); + label$47 : { + if (($11_1 | 0) <= (-1 | 0)) { + break label$47 + } + $2_1 = $11_1; + label$48 : while (1) { + HEAPF64[($5_1 + ($2_1 << 3 | 0) | 0) >> 3] = $22_1 * +(HEAP32[(($5_1 + 480 | 0) + ($2_1 << 2 | 0) | 0) >> 2] | 0 | 0); + $22_1 = $22_1 * 5.9604644775390625e-08; + $3_1 = ($2_1 | 0) > (0 | 0); + $2_1 = $2_1 + -1 | 0; + if ($3_1) { + continue label$48 + } + break label$48; + }; + $13_1 = 0; + if (($11_1 | 0) < (0 | 0)) { + break label$47 + } + $9_1 = ($9_1 | 0) > (0 | 0) ? $9_1 : 0; + $6_1 = $11_1; + label$49 : while (1) { + $0_1 = $9_1 >>> 0 < $13_1 >>> 0 ? $9_1 : $13_1; + $14_1 = $11_1 - $6_1 | 0; + $2_1 = 0; + $22_1 = 0.0; + label$50 : while (1) { + $22_1 = $22_1 + +HEAPF64[(($2_1 << 3 | 0) + 68224 | 0) >> 3] * +HEAPF64[($5_1 + (($2_1 + $6_1 | 0) << 3 | 0) | 0) >> 3]; + $3_1 = ($2_1 | 0) != ($0_1 | 0); + $2_1 = $2_1 + 1 | 0; + if ($3_1) { + continue label$50 + } + break label$50; + }; + HEAPF64[(($5_1 + 160 | 0) + ($14_1 << 3 | 0) | 0) >> 3] = $22_1; + $6_1 = $6_1 + -1 | 0; + $2_1 = ($13_1 | 0) != ($11_1 | 0); + $13_1 = $13_1 + 1 | 0; + if ($2_1) { + continue label$49 + } + break label$49; + }; + } + label$51 : { + label$52 : { + label$53 : { + switch ($4_1 | 0) { + case 3: + $24_1 = 0.0; + label$56 : { + if (($11_1 | 0) < (1 | 0)) { + break label$56 + } + $22_1 = +HEAPF64[(($5_1 + 160 | 0) + ($11_1 << 3 | 0) | 0) >> 3]; + $2_1 = $11_1; + label$57 : while (1) { + $3_1 = $2_1 + -1 | 0; + $6_1 = ($5_1 + 160 | 0) + ($3_1 << 3 | 0) | 0; + $23_1 = +HEAPF64[$6_1 >> 3]; + $539_1 = $23_1; + $23_1 = $23_1 + $22_1; + HEAPF64[(($5_1 + 160 | 0) + ($2_1 << 3 | 0) | 0) >> 3] = $22_1 + ($539_1 - $23_1); + HEAPF64[$6_1 >> 3] = $23_1; + $6_1 = ($2_1 | 0) > (1 | 0); + $22_1 = $23_1; + $2_1 = $3_1; + if ($6_1) { + continue label$57 + } + break label$57; + }; + if (($11_1 | 0) < (2 | 0)) { + break label$56 + } + $22_1 = +HEAPF64[(($5_1 + 160 | 0) + ($11_1 << 3 | 0) | 0) >> 3]; + $2_1 = $11_1; + label$58 : while (1) { + $3_1 = $2_1 + -1 | 0; + $6_1 = ($5_1 + 160 | 0) + ($3_1 << 3 | 0) | 0; + $23_1 = +HEAPF64[$6_1 >> 3]; + $577_1 = $23_1; + $23_1 = $23_1 + $22_1; + HEAPF64[(($5_1 + 160 | 0) + ($2_1 << 3 | 0) | 0) >> 3] = $22_1 + ($577_1 - $23_1); + HEAPF64[$6_1 >> 3] = $23_1; + $6_1 = ($2_1 | 0) > (2 | 0); + $22_1 = $23_1; + $2_1 = $3_1; + if ($6_1) { + continue label$58 + } + break label$58; + }; + $24_1 = 0.0; + if (($11_1 | 0) <= (1 | 0)) { + break label$56 + } + label$59 : while (1) { + $24_1 = $24_1 + +HEAPF64[(($5_1 + 160 | 0) + ($11_1 << 3 | 0) | 0) >> 3]; + $2_1 = ($11_1 | 0) > (2 | 0); + $11_1 = $11_1 + -1 | 0; + if ($2_1) { + continue label$59 + } + break label$59; + }; + } + if ($20_1) { + break label$52 + } + i64toi32_i32$0 = HEAP32[($5_1 + 160 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $609_1 = i64toi32_i32$0; + i64toi32_i32$0 = $1_1; + HEAP32[$1_1 >> 2] = $609_1; + HEAP32[($1_1 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + HEAPF64[($1_1 + 16 | 0) >> 3] = $24_1; + $615_1 = i64toi32_i32$1; + i64toi32_i32$1 = $1_1; + HEAP32[($1_1 + 8 | 0) >> 2] = $615_1; + HEAP32[($1_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$51; + case 0: + $22_1 = 0.0; + label$60 : { + if (($11_1 | 0) < (0 | 0)) { + break label$60 + } + label$61 : while (1) { + $22_1 = $22_1 + +HEAPF64[(($5_1 + 160 | 0) + ($11_1 << 3 | 0) | 0) >> 3]; + $2_1 = ($11_1 | 0) > (0 | 0); + $11_1 = $11_1 + -1 | 0; + if ($2_1) { + continue label$61 + } + break label$61; + }; + } + HEAPF64[$1_1 >> 3] = $20_1 ? -$22_1 : $22_1; + break label$51; + case 1: + case 2: + break label$53; + default: + break label$51; + }; + } + $22_1 = 0.0; + label$62 : { + if (($11_1 | 0) < (0 | 0)) { + break label$62 + } + $2_1 = $11_1; + label$63 : while (1) { + $22_1 = $22_1 + +HEAPF64[(($5_1 + 160 | 0) + ($2_1 << 3 | 0) | 0) >> 3]; + $3_1 = ($2_1 | 0) > (0 | 0); + $2_1 = $2_1 + -1 | 0; + if ($3_1) { + continue label$63 + } + break label$63; + }; + } + HEAPF64[$1_1 >> 3] = $20_1 ? -$22_1 : $22_1; + $22_1 = +HEAPF64[($5_1 + 160 | 0) >> 3] - $22_1; + $2_1 = 1; + label$64 : { + if (($11_1 | 0) < (1 | 0)) { + break label$64 + } + label$65 : while (1) { + $22_1 = $22_1 + +HEAPF64[(($5_1 + 160 | 0) + ($2_1 << 3 | 0) | 0) >> 3]; + $3_1 = ($2_1 | 0) != ($11_1 | 0); + $2_1 = $2_1 + 1 | 0; + if ($3_1) { + continue label$65 + } + break label$65; + }; + } + HEAPF64[($1_1 + 8 | 0) >> 3] = $20_1 ? -$22_1 : $22_1; + break label$51; + } + HEAPF64[$1_1 >> 3] = -+HEAPF64[($5_1 + 160 | 0) >> 3]; + $22_1 = +HEAPF64[($5_1 + 168 | 0) >> 3]; + HEAPF64[($1_1 + 16 | 0) >> 3] = -$24_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = -$22_1; + } + global$0 = $5_1 + 560 | 0; + return $18_1 & 7 | 0 | 0; + } + + function $3191($0_1, $1_1) { + $0_1 = +$0_1; + $1_1 = $1_1 | 0; + var $8_1 = 0.0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $2_1 = 0, $4_1 = 0, $9_1 = 0.0, $7_1 = 0, $5_1 = 0, $6_1 = 0, $7$hi = 0, $10_1 = 0.0, $11_1 = 0.0, $22_1 = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $30_1 = 0, $31_1 = 0, $32_1 = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $152_1 = 0, $185_1 = 0, $290_1 = 0, $293_1 = 0; + $2_1 = global$0 - 48 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $7_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $7$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $22_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $22_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $3_1 = $22_1; + $4_1 = $3_1 & 2147483647 | 0; + if ($4_1 >>> 0 > 1074752122 >>> 0) { + break label$4 + } + if (($3_1 & 1048575 | 0 | 0) == (598523 | 0)) { + break label$3 + } + label$5 : { + if ($4_1 >>> 0 > 1073928572 >>> 0) { + break label$5 + } + label$6 : { + i64toi32_i32$1 = $7$hi; + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $23_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$3 >>> 0) { + $24_1 = 0 + } else { + $24_1 = 1 + } + $25_1 = $24_1; + } else { + $25_1 = 0 + } + $23_1 = $25_1; + } + if ($23_1) { + break label$6 + } + $0_1 = $0_1 + -1.5707963267341256; + $8_1 = $0_1 + -6.077100506506192e-11; + HEAPF64[$1_1 >> 3] = $8_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = $0_1 - $8_1 + -6.077100506506192e-11; + $3_1 = 1; + break label$1; + } + $0_1 = $0_1 + 1.5707963267341256; + $8_1 = $0_1 + 6.077100506506192e-11; + HEAPF64[$1_1 >> 3] = $8_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = $0_1 - $8_1 + 6.077100506506192e-11; + $3_1 = -1; + break label$1; + } + label$7 : { + i64toi32_i32$0 = $7$hi; + i64toi32_i32$3 = $7_1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $26_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$2 >>> 0) { + $27_1 = 0 + } else { + $27_1 = 1 + } + $28_1 = $27_1; + } else { + $28_1 = 0 + } + $26_1 = $28_1; + } + if ($26_1) { + break label$7 + } + $0_1 = $0_1 + -3.1415926534682512; + $8_1 = $0_1 + -1.2154201013012384e-10; + HEAPF64[$1_1 >> 3] = $8_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = $0_1 - $8_1 + -1.2154201013012384e-10; + $3_1 = 2; + break label$1; + } + $0_1 = $0_1 + 3.1415926534682512; + $8_1 = $0_1 + 1.2154201013012384e-10; + HEAPF64[$1_1 >> 3] = $8_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = $0_1 - $8_1 + 1.2154201013012384e-10; + $3_1 = -2; + break label$1; + } + label$8 : { + if ($4_1 >>> 0 > 1075594811 >>> 0) { + break label$8 + } + label$9 : { + if ($4_1 >>> 0 > 1075183036 >>> 0) { + break label$9 + } + if (($4_1 | 0) == (1074977148 | 0)) { + break label$3 + } + label$10 : { + i64toi32_i32$3 = $7$hi; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$0 | 0)) { + $29_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$1 >>> 0) { + $30_1 = 0 + } else { + $30_1 = 1 + } + $31_1 = $30_1; + } else { + $31_1 = 0 + } + $29_1 = $31_1; + } + if ($29_1) { + break label$10 + } + $0_1 = $0_1 + -4.712388980202377; + $8_1 = $0_1 + -1.8231301519518578e-10; + HEAPF64[$1_1 >> 3] = $8_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = $0_1 - $8_1 + -1.8231301519518578e-10; + $3_1 = 3; + break label$1; + } + $0_1 = $0_1 + 4.712388980202377; + $8_1 = $0_1 + 1.8231301519518578e-10; + HEAPF64[$1_1 >> 3] = $8_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = $0_1 - $8_1 + 1.8231301519518578e-10; + $3_1 = -3; + break label$1; + } + if (($4_1 | 0) == (1075388923 | 0)) { + break label$3 + } + label$11 : { + i64toi32_i32$2 = $7$hi; + i64toi32_i32$1 = $7_1; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$3 | 0)) { + $32_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$0 >>> 0) { + $33_1 = 0 + } else { + $33_1 = 1 + } + $34_1 = $33_1; + } else { + $34_1 = 0 + } + $32_1 = $34_1; + } + if ($32_1) { + break label$11 + } + $0_1 = $0_1 + -6.2831853069365025; + $8_1 = $0_1 + -2.430840202602477e-10; + HEAPF64[$1_1 >> 3] = $8_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = $0_1 - $8_1 + -2.430840202602477e-10; + $3_1 = 4; + break label$1; + } + $0_1 = $0_1 + 6.2831853069365025; + $8_1 = $0_1 + 2.430840202602477e-10; + HEAPF64[$1_1 >> 3] = $8_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = $0_1 - $8_1 + 2.430840202602477e-10; + $3_1 = -4; + break label$1; + } + if ($4_1 >>> 0 > 1094263290 >>> 0) { + break label$2 + } + } + $8_1 = $0_1 * .6366197723675814 + 6755399441055744.0 + -6755399441055744.0; + $9_1 = $0_1 + $8_1 * -1.5707963267341256; + $10_1 = $8_1 * 6.077100506506192e-11; + $0_1 = $9_1 - $10_1; + HEAPF64[$1_1 >> 3] = $0_1; + $5_1 = $4_1 >>> 20 | 0; + $152_1 = $5_1; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 52; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $35_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $35_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $6_1 = ($152_1 - ($35_1 & 2047 | 0) | 0 | 0) < (17 | 0); + label$12 : { + label$13 : { + if (!(Math_abs($8_1) < 2147483648.0)) { + break label$13 + } + $3_1 = ~~$8_1; + break label$12; + } + $3_1 = -2147483648; + } + label$14 : { + if ($6_1) { + break label$14 + } + $0_1 = $8_1 * 6.077100506303966e-11; + $11_1 = $9_1 - $0_1; + $10_1 = $8_1 * 2.0222662487959506e-21 - ($9_1 - $11_1 - $0_1); + $0_1 = $11_1 - $10_1; + HEAPF64[$1_1 >> 3] = $0_1; + label$15 : { + $185_1 = $5_1; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$2 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 52; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $36_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $36_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + if (($185_1 - ($36_1 & 2047 | 0) | 0 | 0) >= (50 | 0)) { + break label$15 + } + $9_1 = $11_1; + break label$14; + } + $0_1 = $8_1 * 2.0222662487111665e-21; + $9_1 = $11_1 - $0_1; + $10_1 = $8_1 * 8.4784276603689e-32 - ($11_1 - $9_1 - $0_1); + $0_1 = $9_1 - $10_1; + HEAPF64[$1_1 >> 3] = $0_1; + } + HEAPF64[($1_1 + 8 | 0) >> 3] = $9_1 - $0_1 - $10_1; + break label$1; + } + label$16 : { + if ($4_1 >>> 0 < 2146435072 >>> 0) { + break label$16 + } + $0_1 = $0_1 - $0_1; + HEAPF64[$1_1 >> 3] = $0_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = $0_1; + $3_1 = 0; + break label$1; + } + i64toi32_i32$0 = $7$hi; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = 1048575; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = 1096810496; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$2 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + $3_1 = 0; + $6_1 = 1; + label$17 : while (1) { + $3_1 = ($2_1 + 16 | 0) + ($3_1 << 3 | 0) | 0; + label$18 : { + label$19 : { + if (!(Math_abs($0_1) < 2147483648.0)) { + break label$19 + } + $5_1 = ~~$0_1; + break label$18; + } + $5_1 = -2147483648; + } + $8_1 = +($5_1 | 0); + HEAPF64[$3_1 >> 3] = $8_1; + $0_1 = ($0_1 - $8_1) * 16777216.0; + $3_1 = 1; + $5_1 = $6_1 & 1 | 0; + $6_1 = 0; + if ($5_1) { + continue label$17 + } + break label$17; + }; + HEAPF64[($2_1 + 32 | 0) >> 3] = $0_1; + label$20 : { + label$21 : { + if ($0_1 == 0.0) { + break label$21 + } + $3_1 = 2; + break label$20; + } + $6_1 = 1; + label$22 : while (1) { + $3_1 = $6_1; + $6_1 = $3_1 + -1 | 0; + if (+HEAPF64[(($2_1 + 16 | 0) + ($3_1 << 3 | 0) | 0) >> 3] == 0.0) { + continue label$22 + } + break label$22; + }; + } + $3_1 = $3190($2_1 + 16 | 0 | 0, $2_1 | 0, ($4_1 >>> 20 | 0) + -1046 | 0 | 0, $3_1 + 1 | 0 | 0, 1 | 0) | 0; + label$23 : { + i64toi32_i32$2 = $7$hi; + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $37_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $38_1 = 0 + } else { + $38_1 = 1 + } + $39_1 = $38_1; + } else { + $39_1 = 0 + } + $37_1 = $39_1; + } + if ($37_1) { + break label$23 + } + HEAPF64[$1_1 >> 3] = -+HEAPF64[$2_1 >> 3]; + HEAPF64[($1_1 + 8 | 0) >> 3] = -+HEAPF64[($2_1 + 8 | 0) >> 3]; + $3_1 = 0 - $3_1 | 0; + break label$1; + } + i64toi32_i32$3 = $2_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $290_1 = i64toi32_i32$1; + i64toi32_i32$1 = $1_1; + HEAP32[$1_1 >> 2] = $290_1; + HEAP32[($1_1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $293_1 = i64toi32_i32$2; + i64toi32_i32$2 = $1_1; + HEAP32[($1_1 + 8 | 0) >> 2] = $293_1; + HEAP32[($1_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + global$0 = $2_1 + 48 | 0; + return $3_1 | 0; + } + + function $3192($0_1, $1_1, $2_1) { + $0_1 = +$0_1; + $1_1 = +$1_1; + $2_1 = $2_1 | 0; + var $3_1 = 0.0, $5_1 = 0.0, $4_1 = 0.0; + $3_1 = $0_1 * $0_1; + $4_1 = $3_1 * ($3_1 * $3_1) * ($3_1 * 1.58969099521155e-10 + -2.5050760253406863e-08) + ($3_1 * ($3_1 * 2.7557313707070068e-06 + -1.984126982985795e-04) + .00833333333332249); + $5_1 = $3_1 * $0_1; + label$1 : { + if ($2_1) { + break label$1 + } + return +($5_1 * ($3_1 * $4_1 + -.16666666666666632) + $0_1); + } + return +($0_1 - ($3_1 * ($1_1 * .5 - $5_1 * $4_1) - $1_1 + $5_1 * .16666666666666632)); + } + + function $3193($0_1) { + $0_1 = +$0_1; + var $1_1 = 0, $3_1 = 0.0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, $2_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $9_1 = 0, i64toi32_i32$2 = 0; + $1_1 = global$0 - 16 | 0; + global$0 = $1_1; + label$1 : { + label$2 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $9_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $9_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $9_1 & 2147483647 | 0; + if ($2_1 >>> 0 > 1072243195 >>> 0) { + break label$2 + } + $3_1 = 1.0; + if ($2_1 >>> 0 < 1044816030 >>> 0) { + break label$1 + } + $3_1 = +$3189(+$0_1, +(0.0)); + break label$1; + } + label$3 : { + if ($2_1 >>> 0 < 2146435072 >>> 0) { + break label$3 + } + $3_1 = $0_1 - $0_1; + break label$1; + } + label$4 : { + switch (($3191(+$0_1, $1_1 | 0) | 0) & 3 | 0 | 0) { + case 0: + $3_1 = +$3189(+(+HEAPF64[$1_1 >> 3]), +(+HEAPF64[($1_1 + 8 | 0) >> 3])); + break label$1; + case 1: + $3_1 = -+$3192(+(+HEAPF64[$1_1 >> 3]), +(+HEAPF64[($1_1 + 8 | 0) >> 3]), 1 | 0); + break label$1; + case 2: + $3_1 = -+$3189(+(+HEAPF64[$1_1 >> 3]), +(+HEAPF64[($1_1 + 8 | 0) >> 3])); + break label$1; + default: + break label$4; + }; + } + $3_1 = +$3192(+(+HEAPF64[$1_1 >> 3]), +(+HEAPF64[($1_1 + 8 | 0) >> 3]), 1 | 0); + } + global$0 = $1_1 + 16 | 0; + return +$3_1; + } + + function $3194($0_1) { + $0_1 = +$0_1; + return +(+$3196(+($0_1 + -1416.0996898839683)) * 2247116418577894884661631.0e283 * 2247116418577894884661631.0e283); + } + + function $3195($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, $1_1 = 0, $2_1 = 0, $10_1 = 0, $3_1 = 0.0, $20_1 = 0.0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $2_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + wasm2js_scratch_store_i32(0 | 0, $2_1 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + label$1 : { + label$2 : { + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $10_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $10_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $10_1; + if ($1_1 >>> 0 > 1072049729 >>> 0) { + break label$2 + } + $3_1 = 1.0; + if ($1_1 >>> 0 < 1045430272 >>> 0) { + break label$1 + } + $0_1 = +$3198(+$0_1); + $20_1 = $0_1 * $0_1; + $0_1 = $0_1 + 1.0; + return +($20_1 / ($0_1 + $0_1) + 1.0); + } + label$3 : { + if ($1_1 >>> 0 > 1082535489 >>> 0) { + break label$3 + } + $0_1 = +$3196(+$0_1); + return +(($0_1 + 1.0 / $0_1) * .5); + } + $3_1 = +$3194(+$0_1); + } + return +$3_1; + } + + function $3196($0_1) { + $0_1 = +$0_1; + var $4_1 = 0.0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $2_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $6_1 = 0.0, $1_1 = 0, $5_1 = 0.0, $3_1 = 0, $13_1 = 0, $14_1 = 0, $3$hi = 0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $3_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $3$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $13_1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + label$7 : { + label$8 : { + i64toi32_i32$1 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $14_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $14_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $14_1 & 2147483647 | 0; + if ($2_1 >>> 0 < 1082532651 >>> 0) { + break label$8 + } + label$9 : { + i64toi32_i32$2 = $3197(+$0_1) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = 2146435072; + i64toi32_i32$3 = 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0 | 0) | 0) { + break label$9 + } + return +$0_1; + } + label$10 : { + if ($0_1 > 709.782712893384 ^ 1 | 0) { + break label$10 + } + return +($0_1 * 8988465674311579538646525.0e283); + } + if ($0_1 < -708.3964185322641 ^ 1 | 0) { + break label$7 + } + $4_1 = 0.0; + if (!($0_1 < -745.1332191019411)) { + break label$7 + } + break label$2; + } + if ($2_1 >>> 0 < 1071001155 >>> 0) { + break label$4 + } + if ($2_1 >>> 0 < 1072734898 >>> 0) { + break label$6 + } + } + label$11 : { + $4_1 = $0_1 * 1.4426950408889634 + +HEAPF64[(($1_1 << 3 | 0) + 68288 | 0) >> 3]; + if (!(Math_abs($4_1) < 2147483648.0)) { + break label$11 + } + $2_1 = ~~$4_1; + break label$5; + } + $2_1 = -2147483648; + break label$5; + } + $2_1 = ($1_1 ^ 1 | 0) - $1_1 | 0; + } + $4_1 = +($2_1 | 0); + $0_1 = $0_1 + $4_1 * -.6931471803691238; + $5_1 = $4_1 * 1.9082149292705877e-10; + $6_1 = $0_1 - $5_1; + break label$3; + } + if ($2_1 >>> 0 <= 1043333120 >>> 0) { + break label$1 + } + $2_1 = 0; + $5_1 = 0.0; + $6_1 = $0_1; + } + $4_1 = $6_1 * $6_1; + $4_1 = $6_1 - $4_1 * ($4_1 * ($4_1 * ($4_1 * ($4_1 * 4.1381367970572385e-08 + -1.6533902205465252e-06) + 6.613756321437934e-05) + -2.7777777777015593e-03) + .16666666666666602); + $4_1 = $0_1 + ($6_1 * $4_1 / (2.0 - $4_1) - $5_1) + 1.0; + if (!$2_1) { + break label$2 + } + $4_1 = +$3287(+$4_1, $2_1 | 0); + } + return +$4_1; + } + return +($0_1 + 1.0); + } + + function $3197($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $3198($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, $3_1 = 0.0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $1_1 = 0, $4_1 = 0.0, $5_1 = 0.0, $2_1 = 0, $2$hi = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $6_1 = 0.0, $24_1 = 0, $25_1 = 0, $39_1 = 0, $39$hi = 0, $42_1 = 0, $42$hi = 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $2_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $2$hi = i64toi32_i32$0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $17_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $17_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $17_1 & 2147483647 | 0; + if ($1_1 >>> 0 < 1078159482 >>> 0) { + break label$6 + } + i64toi32_i32$1 = $3199(+$0_1) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = 2146435072; + i64toi32_i32$3 = 0; + if (i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) { + break label$1 + } + label$7 : { + i64toi32_i32$2 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$1 | 0)) { + $18_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $18_1 = $20_1; + } + if ($18_1) { + break label$7 + } + return +(-1.0); + } + if ($0_1 > 709.782712893384 ^ 1 | 0) { + break label$5 + } + return +($0_1 * 8988465674311579538646525.0e283); + } + if ($1_1 >>> 0 < 1071001155 >>> 0) { + break label$3 + } + if ($1_1 >>> 0 > 1072734897 >>> 0) { + break label$5 + } + label$8 : { + i64toi32_i32$3 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$2 | 0)) { + $21_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$1 >>> 0) { + $22_1 = 0 + } else { + $22_1 = 1 + } + $23_1 = $22_1; + } else { + $23_1 = 0 + } + $21_1 = $23_1; + } + if ($21_1) { + break label$8 + } + $3_1 = $0_1 + -.6931471803691238; + $1_1 = 1; + $4_1 = 1.9082149292705877e-10; + break label$4; + } + $3_1 = $0_1 + .6931471803691238; + $1_1 = -1; + $4_1 = -1.9082149292705877e-10; + break label$4; + } + label$9 : { + label$10 : { + wasm2js_scratch_store_f64(+(.5)); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$3 = 2147483647; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $39_1 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $39$hi = i64toi32_i32$3; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$3 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = -2147483648; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $42_1 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $42$hi = i64toi32_i32$1; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$3 = $39_1; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$2 = $42_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$3 | i64toi32_i32$2 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + $3_1 = $0_1 * 1.4426950408889634 + +wasm2js_scratch_load_f64(); + if (!(Math_abs($3_1) < 2147483648.0)) { + break label$10 + } + $1_1 = ~~$3_1; + break label$9; + } + $1_1 = -2147483648; + } + $3_1 = +($1_1 | 0); + $4_1 = $3_1 * 1.9082149292705877e-10; + $3_1 = $0_1 + $3_1 * -.6931471803691238; + } + $0_1 = $3_1 - $4_1; + $4_1 = $3_1 - $0_1 - $4_1; + break label$2; + } + if ($1_1 >>> 0 < 1016070144 >>> 0) { + break label$1 + } + $1_1 = 0; + } + $5_1 = $0_1 * .5; + $3_1 = $0_1 * $5_1; + $6_1 = $3_1 * ($3_1 * ($3_1 * ($3_1 * ($3_1 * -2.0109921818362437e-07 + 4.008217827329362e-06) + -7.93650757867488e-05) + 1.5873015872548146e-03) + -.03333333333333313) + 1.0; + $5_1 = 3.0 - $5_1 * $6_1; + $5_1 = $3_1 * (($6_1 - $5_1) / (6.0 - $0_1 * $5_1)); + label$11 : { + if ($1_1) { + break label$11 + } + return +($0_1 - ($0_1 * $5_1 - $3_1)); + } + $3_1 = $0_1 * ($5_1 - $4_1) - $4_1 - $3_1; + label$12 : { + switch ($1_1 + 1 | 0 | 0) { + case 0: + return +(($0_1 - $3_1) * .5 + -.5); + case 2: + label$15 : { + if ($0_1 < -.25 ^ 1 | 0) { + break label$15 + } + return +(($3_1 - ($0_1 + .5)) * -2.0); + } + $0_1 = $0_1 - $3_1; + return +($0_1 + $0_1 + 1.0); + default: + break label$12; + }; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $1_1 + 1023 | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = 52; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $24_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $24_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + wasm2js_scratch_store_i32(0 | 0, $24_1 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$3 | 0); + $4_1 = +wasm2js_scratch_load_f64(); + label$16 : { + if ($1_1 >>> 0 < 57 >>> 0) { + break label$16 + } + $0_1 = $0_1 - $3_1 + 1.0; + return +((($1_1 | 0) == (1024 | 0) ? ($0_1 + $0_1) * 8988465674311579538646525.0e283 : $0_1 * $4_1) + -1.0); + } + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1023 - $1_1 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = 52; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $25_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $25_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $2_1 = $25_1; + $2$hi = i64toi32_i32$1; + label$17 : { + label$18 : { + if (($1_1 | 0) > (19 | 0)) { + break label$18 + } + $0_1 = $0_1 - $3_1; + i64toi32_i32$1 = $2$hi; + wasm2js_scratch_store_i32(0 | 0, $2_1 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $3_1 = 1.0 - +wasm2js_scratch_load_f64(); + break label$17; + } + i64toi32_i32$1 = $2$hi; + wasm2js_scratch_store_i32(0 | 0, $2_1 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $3_1 = $0_1 - ($3_1 + +wasm2js_scratch_load_f64()); + $0_1 = 1.0; + } + $0_1 = ($3_1 + $0_1) * $4_1; + } + return +$0_1; + } + + function $3199($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $3200($0_1) { + $0_1 = +$0_1; + return +Math_abs($0_1); + } + + function $3201($0_1) { + $0_1 = +$0_1; + return +Math_floor($0_1); + } + + function $3202($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $5_1 = 0.0, $4_1 = 0, $1_1 = 0, $4$hi = 0, $2_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $26_1 = 0, $3_1 = 0, $27_1 = 0, $28_1 = 0, $6_1 = 0.0, $50_1 = 0.0, $55$hi = 0, $57_1 = 0, $57$hi = 0, $61_1 = 0.0, $63_1 = 0.0, $68_1 = 0.0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $4_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $4$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $20_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $21_1 = 0 + } else { + $21_1 = 1 + } + $22_1 = $21_1; + } else { + $22_1 = 0 + } + $20_1 = $22_1; + } + if ($20_1) { + break label$5 + } + i64toi32_i32$2 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 32; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $23_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $23_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $23_1; + if ($1_1 >>> 0 > 1048575 >>> 0) { + break label$4 + } + } + label$6 : { + i64toi32_i32$0 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$3 = 2147483647; + i64toi32_i32$1 = -1; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | 0) { + break label$6 + } + return +(-1.0 / ($0_1 * $0_1)); + } + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = -1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$3 | 0)) { + $24_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$2 >>> 0) { + $25_1 = 0 + } else { + $25_1 = 1 + } + $26_1 = $25_1; + } else { + $26_1 = 0 + } + $24_1 = $26_1; + } + if ($24_1) { + break label$3 + } + return +(($0_1 - $0_1) / 0.0); + } + if ($1_1 >>> 0 > 2146435071 >>> 0) { + break label$1 + } + $2_1 = 1072693248; + $3_1 = -1023; + label$7 : { + if (($1_1 | 0) == (1072693248 | 0)) { + break label$7 + } + $2_1 = $1_1; + break label$2; + } + i64toi32_i32$1 = $4$hi; + if ($4_1) { + break label$2 + } + return +(0.0); + } + wasm2js_scratch_store_f64(+($0_1 * 18014398509481984.0)); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + $4_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $4$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $27_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $27_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $27_1; + $3_1 = -1077; + } + $1_1 = $2_1 + 614242 | 0; + $5_1 = +($3_1 + ($1_1 >>> 20 | 0) | 0 | 0); + $50_1 = $5_1 * .6931471803691238; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = ($1_1 & 1048575 | 0) + 1072079006 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $28_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $28_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $55$hi = i64toi32_i32$2; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $57_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $57$hi = i64toi32_i32$1; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$2 = $28_1; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$3 = $57_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 | i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + $0_1 = +wasm2js_scratch_load_f64() + -1.0; + $61_1 = $0_1; + $63_1 = $5_1 * 1.9082149292705877e-10; + $5_1 = $0_1 / ($0_1 + 2.0); + $68_1 = $5_1; + $6_1 = $0_1 * ($0_1 * .5); + $5_1 = $5_1 * $5_1; + $0_1 = $5_1 * $5_1; + $0_1 = $50_1 + ($61_1 + ($63_1 + $68_1 * ($6_1 + ($0_1 * ($0_1 * ($0_1 * .15313837699209373 + .22222198432149784) + .3999999999940942) + $5_1 * ($0_1 * ($0_1 * ($0_1 * .14798198605116586 + .1818357216161805) + .2857142874366239) + .6666666666666735))) - $6_1)); + } + return +$0_1; + } + + function $3203($0_1) { + $0_1 = +$0_1; + var $4_1 = 0.0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $1_1 = 0, $5_1 = 0.0, $3_1 = 0, $3$hi = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $24_1 = 0, $6_1 = 0.0, $2_1 = 0, $61$hi = 0, $63_1 = 0, $63$hi = 0, $70_1 = 0.0, $75_1 = 0.0, $80_1 = 0.0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $3_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $3$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $19_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $19_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $19_1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + i64toi32_i32$1 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $20_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$3 >>> 0) { + $21_1 = 0 + } else { + $21_1 = 1 + } + $22_1 = $21_1; + } else { + $22_1 = 0 + } + $20_1 = $22_1; + } + if ($20_1) { + break label$6 + } + if ($1_1 >>> 0 > 1071284857 >>> 0) { + break label$5 + } + } + label$7 : { + if ($1_1 >>> 0 < -1074790400 >>> 0) { + break label$7 + } + $4_1 = -infinity; + if ($0_1 == -1.0) { + break label$2 + } + return +(($0_1 - $0_1) / 0.0); + } + if (($1_1 << 1 | 0) >>> 0 < 2034237440 >>> 0) { + break label$1 + } + $5_1 = 0.0; + if ($1_1 >>> 0 >= -1076707643 >>> 0) { + break label$4 + } + $4_1 = 0.0; + break label$3; + } + if ($1_1 >>> 0 > 2146435071 >>> 0) { + break label$1 + } + } + $4_1 = $0_1 + 1.0; + wasm2js_scratch_store_f64(+$4_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $3_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $3$hi = i64toi32_i32$0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $23_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $23_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $23_1 + 614242 | 0; + $2_1 = ($1_1 >>> 20 | 0) + -1023 | 0; + $5_1 = 0.0; + label$8 : { + if ($1_1 >>> 0 > 1129316351 >>> 0) { + break label$8 + } + $5_1 = ($1_1 >>> 0 > 1074790399 >>> 0 ? $0_1 - $4_1 + 1.0 : $0_1 - ($4_1 + -1.0)) / $4_1; + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = ($1_1 & 1048575 | 0) + 1072079006 | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $24_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $24_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $61$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = -1; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + $63_1 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $63$hi = i64toi32_i32$0; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$3 = $24_1; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$2 = $63_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$3 | i64toi32_i32$2 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $0_1 = +wasm2js_scratch_load_f64() + -1.0; + $4_1 = +($2_1 | 0); + } + $70_1 = $4_1 * .6931471803691238; + $75_1 = $5_1 + $4_1 * 1.9082149292705877e-10; + $4_1 = $0_1 / ($0_1 + 2.0); + $80_1 = $4_1; + $6_1 = $0_1 * ($0_1 * .5); + $5_1 = $4_1 * $4_1; + $4_1 = $5_1 * $5_1; + $4_1 = $70_1 + ($0_1 + ($75_1 + $80_1 * ($6_1 + ($4_1 * ($4_1 * ($4_1 * .15313837699209373 + .22222198432149784) + .3999999999940942) + $5_1 * ($4_1 * ($4_1 * ($4_1 * .14798198605116586 + .1818357216161805) + .2857142874366239) + .6666666666666735))) - $6_1)); + } + return +$4_1; + } + return +$0_1; + } + + function $3204($0_1, $1_1) { + $0_1 = +$0_1; + $1_1 = +$1_1; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $13_1 = 0.0, $3_1 = 0, $4_1 = 0, $5_1 = 0, $2_1 = 0, $15_1 = 0.0, $16_1 = 0.0, $7_1 = 0, $11_1 = 0, $14_1 = 0.0, $8_1 = 0, $9_1 = 0, $11$hi = 0, $17_1 = 0.0, $18_1 = 0.0, $6_1 = 0, $46_1 = 0, $12_1 = 0, $47_1 = 0, $10_1 = 0, $48_1 = 0, $49_1 = 0, $19_1 = 0.0, $20_1 = 0.0, $50_1 = 0, $21_1 = 0.0, $51_1 = 0, $52_1 = 0, $53_1 = 0, $54_1 = 0, $12$hi = 0, $275_1 = 0.0, $278$hi = 0, $281_1 = 0, $281$hi = 0, $301_1 = 0.0, $306_1 = 0.0, $309_1 = 0.0, $310_1 = 0.0, $311_1 = 0.0, $312_1 = 0.0, $510_1 = 0.0, $511_1 = 0.0, $525_1 = 0, $568_1 = 0.0, $595$hi = 0, $597_1 = 0, $597$hi = 0; + $13_1 = 1.0; + label$1 : { + wasm2js_scratch_store_f64(+$1_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $11_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $11$hi = i64toi32_i32$0; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $46_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $46_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $46_1; + $3_1 = $2_1 & 2147483647 | 0; + i64toi32_i32$1 = $11$hi; + $4_1 = $11_1; + if (!($3_1 | $4_1 | 0)) { + break label$1 + } + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + $12_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$0 = $12_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $47_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $47_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $5_1 = $47_1; + label$2 : { + i64toi32_i32$2 = $12$hi; + $6_1 = $12_1; + if ($6_1) { + break label$2 + } + if (($5_1 | 0) == (1072693248 | 0)) { + break label$1 + } + } + label$3 : { + label$4 : { + $7_1 = $5_1 & 2147483647 | 0; + if ($7_1 >>> 0 > 2146435072 >>> 0) { + break label$4 + } + if (($6_1 | 0) != (0 | 0) & ($7_1 | 0) == (2146435072 | 0) | 0) { + break label$4 + } + if ($3_1 >>> 0 > 2146435072 >>> 0) { + break label$4 + } + if (!$4_1) { + break label$3 + } + if (($3_1 | 0) != (2146435072 | 0)) { + break label$3 + } + } + return +($0_1 + $1_1); + } + label$5 : { + label$6 : { + label$7 : { + label$8 : { + if (($5_1 | 0) > (-1 | 0)) { + break label$8 + } + $8_1 = 2; + if ($3_1 >>> 0 > 1128267775 >>> 0) { + break label$7 + } + if ($3_1 >>> 0 < 1072693248 >>> 0) { + break label$8 + } + $9_1 = $3_1 >>> 20 | 0; + label$9 : { + if ($3_1 >>> 0 < 1094713344 >>> 0) { + break label$9 + } + $8_1 = 0; + $9_1 = 1075 - $9_1 | 0; + $10_1 = $4_1 >>> $9_1 | 0; + if (($10_1 << $9_1 | 0 | 0) != ($4_1 | 0)) { + break label$7 + } + $8_1 = 2 - ($10_1 & 1 | 0) | 0; + break label$7; + } + $8_1 = 0; + if ($4_1) { + break label$5 + } + $8_1 = 0; + $4_1 = 1043 - $9_1 | 0; + $9_1 = $3_1 >>> $4_1 | 0; + if (($9_1 << $4_1 | 0 | 0) != ($3_1 | 0)) { + break label$6 + } + $8_1 = 2 - ($9_1 & 1 | 0) | 0; + break label$6; + } + $8_1 = 0; + } + if ($4_1) { + break label$5 + } + } + label$10 : { + if (($3_1 | 0) != (2146435072 | 0)) { + break label$10 + } + if (!($7_1 + -1072693248 | 0 | $6_1 | 0)) { + break label$1 + } + label$11 : { + if ($7_1 >>> 0 < 1072693248 >>> 0) { + break label$11 + } + return +(($2_1 | 0) > (-1 | 0) ? $1_1 : 0.0); + } + return +(($2_1 | 0) > (-1 | 0) ? 0.0 : -$1_1); + } + label$12 : { + if (($3_1 | 0) != (1072693248 | 0)) { + break label$12 + } + label$13 : { + if (($2_1 | 0) <= (-1 | 0)) { + break label$13 + } + return +$0_1; + } + return +(1.0 / $0_1); + } + label$14 : { + if (($2_1 | 0) != (1073741824 | 0)) { + break label$14 + } + return +($0_1 * $0_1); + } + if (($5_1 | 0) < (0 | 0)) { + break label$5 + } + if (($2_1 | 0) != (1071644672 | 0)) { + break label$5 + } + return +(+$3207(+$0_1)); + } + $13_1 = +$3200(+$0_1); + label$15 : { + if ($6_1) { + break label$15 + } + label$16 : { + if (($5_1 & 1073741823 | 0 | 0) == (1072693248 | 0)) { + break label$16 + } + if ($7_1) { + break label$15 + } + } + $13_1 = ($2_1 | 0) < (0 | 0) ? 1.0 / $13_1 : $13_1; + if (($5_1 | 0) > (-1 | 0)) { + break label$1 + } + label$17 : { + if ($8_1 | ($7_1 + -1072693248 | 0) | 0) { + break label$17 + } + $1_1 = $13_1 - $13_1; + return +($1_1 / $1_1); + } + return +(($8_1 | 0) == (1 | 0) ? -$13_1 : $13_1); + } + $14_1 = 1.0; + label$18 : { + if (($5_1 | 0) > (-1 | 0)) { + break label$18 + } + label$19 : { + switch ($8_1 | 0) { + case 0: + $1_1 = $0_1 - $0_1; + return +($1_1 / $1_1); + case 1: + break label$19; + default: + break label$18; + }; + } + $14_1 = -1.0; + } + label$21 : { + label$22 : { + if ($3_1 >>> 0 < 1105199105 >>> 0) { + break label$22 + } + label$23 : { + if ($3_1 >>> 0 < 1139802113 >>> 0) { + break label$23 + } + label$24 : { + if ($7_1 >>> 0 > 1072693247 >>> 0) { + break label$24 + } + return +(($2_1 | 0) < (0 | 0) ? infinity : 0.0); + } + return +(($2_1 | 0) > (0 | 0) ? infinity : 0.0); + } + label$25 : { + if ($7_1 >>> 0 > 1072693246 >>> 0) { + break label$25 + } + return +(($2_1 | 0) < (0 | 0) ? $14_1 * 1.e+300 * 1.e+300 : $14_1 * 1.0e-300 * 1.0e-300); + } + label$26 : { + if ($7_1 >>> 0 < 1072693249 >>> 0) { + break label$26 + } + return +(($2_1 | 0) > (0 | 0) ? $14_1 * 1.e+300 * 1.e+300 : $14_1 * 1.0e-300 * 1.0e-300); + } + $0_1 = $13_1 + -1.0; + $13_1 = $0_1 * 1.4426950216293335; + $15_1 = $0_1 * 1.9259629911266175e-08 + $0_1 * $0_1 * (.5 - $0_1 * ($0_1 * -.25 + .3333333333333333)) * -1.4426950408889634; + wasm2js_scratch_store_f64(+($13_1 + $15_1)); + i64toi32_i32$2 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + $16_1 = $0_1 - $13_1; + break label$21; + } + $0_1 = $13_1 * 9007199254740992.0; + $3_1 = $7_1 >>> 0 < 1048576 >>> 0; + $13_1 = $3_1 ? $0_1 : $13_1; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $48_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $48_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $3_1 ? $48_1 : $7_1; + $4_1 = $2_1 & 1048575 | 0; + $5_1 = $4_1 | 1072693248 | 0; + $2_1 = ($3_1 ? -1076 : -1023) + ($2_1 >> 20 | 0) | 0; + $3_1 = 0; + label$27 : { + if ($4_1 >>> 0 < 235663 >>> 0) { + break label$27 + } + label$28 : { + if ($4_1 >>> 0 >= 767610 >>> 0) { + break label$28 + } + $3_1 = 1; + break label$27; + } + $5_1 = $5_1 + -1048576 | 0; + $2_1 = $2_1 + 1 | 0; + } + $4_1 = $3_1 << 3 | 0; + $17_1 = +HEAPF64[($4_1 + 68336 | 0) >> 3]; + $275_1 = $17_1; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $49_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $49_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $278$hi = i64toi32_i32$2; + wasm2js_scratch_store_f64(+$13_1); + i64toi32_i32$2 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $281_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $281$hi = i64toi32_i32$0; + i64toi32_i32$0 = $278$hi; + i64toi32_i32$2 = $49_1; + i64toi32_i32$1 = $281$hi; + i64toi32_i32$3 = $281_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 | i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $15_1 = +wasm2js_scratch_load_f64(); + $16_1 = +HEAPF64[($4_1 + 68304 | 0) >> 3]; + $18_1 = $15_1 - $16_1; + $19_1 = 1.0 / ($16_1 + $15_1); + $13_1 = $18_1 * $19_1; + wasm2js_scratch_store_f64(+$13_1); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$0 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$2 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + $301_1 = $0_1; + $20_1 = $0_1 * $0_1; + $306_1 = $20_1 + 3.0; + $309_1 = $13_1 + $0_1; + $310_1 = $19_1; + $311_1 = $18_1; + $312_1 = $0_1; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = (($5_1 >> 1 | 0 | 536870912 | 0) + ($3_1 << 18 | 0) | 0) + 524288 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $50_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $50_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + wasm2js_scratch_store_i32(0 | 0, $50_1 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + $21_1 = +wasm2js_scratch_load_f64(); + $15_1 = $310_1 * ($311_1 - $312_1 * $21_1 - $0_1 * ($15_1 - ($21_1 - $16_1))); + $0_1 = $13_1 * $13_1; + $16_1 = $309_1 * $15_1 + $0_1 * $0_1 * ($0_1 * ($0_1 * ($0_1 * ($0_1 * ($0_1 * .20697501780033842 + .23066074577556175) + .272728123808534) + .33333332981837743) + .4285714285785502) + .5999999999999946); + wasm2js_scratch_store_f64(+($306_1 + $16_1)); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = -1; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + $18_1 = $301_1 * $0_1; + $13_1 = $15_1 * $0_1 + $13_1 * ($16_1 - ($0_1 + -3.0 - $20_1)); + wasm2js_scratch_store_f64(+($18_1 + $13_1)); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$0 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$2 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + $16_1 = $0_1 * .9617967009544373; + $15_1 = +HEAPF64[($4_1 + 68320 | 0) >> 3] + (($13_1 - ($0_1 - $18_1)) * .9617966939259756 + $0_1 * -7.028461650952758e-09); + $13_1 = +($2_1 | 0); + wasm2js_scratch_store_f64(+($275_1 + ($16_1 + $15_1) + $13_1)); + i64toi32_i32$2 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + $16_1 = $0_1 - $13_1 - $17_1 - $16_1; + } + i64toi32_i32$0 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = -1; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $17_1 = +wasm2js_scratch_load_f64(); + $13_1 = $0_1 * $17_1; + $1_1 = ($15_1 - $16_1) * $1_1 + ($1_1 - $17_1) * $0_1; + $0_1 = $13_1 + $1_1; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + $11_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $11$hi = i64toi32_i32$1; + $3_1 = $11_1; + label$29 : { + label$30 : { + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $51_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $51_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $5_1 = $51_1; + if (($5_1 | 0) < (1083179008 | 0)) { + break label$30 + } + label$31 : { + if (!($5_1 + -1083179008 | 0 | $3_1 | 0)) { + break label$31 + } + return +($14_1 * 1.e+300 * 1.e+300); + } + if ($1_1 + 8.008566259537294e-17 > $0_1 - $13_1 ^ 1 | 0) { + break label$29 + } + return +($14_1 * 1.e+300 * 1.e+300); + } + if (($5_1 & 2147482624 | 0) >>> 0 < 1083231232 >>> 0) { + break label$29 + } + label$32 : { + if (!($5_1 + 1064252416 | 0 | $3_1 | 0)) { + break label$32 + } + return +($14_1 * 1.0e-300 * 1.0e-300); + } + if ($1_1 <= $0_1 - $13_1 ^ 1 | 0) { + break label$29 + } + return +($14_1 * 1.0e-300 * 1.0e-300); + } + $3_1 = 0; + label$33 : { + $4_1 = $5_1 & 2147483647 | 0; + if ($4_1 >>> 0 < 1071644673 >>> 0) { + break label$33 + } + $4_1 = (1048576 >>> (($4_1 >>> 20 | 0) + -1022 | 0) | 0) + $5_1 | 0; + $2_1 = ($4_1 >>> 20 | 0) & 2047 | 0; + $3_1 = ($4_1 & 1048575 | 0 | 1048576 | 0) >>> (1043 - $2_1 | 0) | 0; + $3_1 = ($5_1 | 0) < (0 | 0) ? 0 - $3_1 | 0 : $3_1; + $510_1 = $1_1; + $511_1 = $13_1; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = (-1048576 >> ($2_1 + -1023 | 0) | 0) & $4_1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $52_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $52_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + wasm2js_scratch_store_i32(0 | 0, $52_1 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + $13_1 = $511_1 - +wasm2js_scratch_load_f64(); + wasm2js_scratch_store_f64(+($510_1 + $13_1)); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $11_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $11$hi = i64toi32_i32$0; + } + label$34 : { + label$35 : { + $525_1 = $3_1 << 20 | 0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = -1; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + $15_1 = $0_1 * .6931471824645996; + $13_1 = ($1_1 - ($0_1 - $13_1)) * .6931471805599453 + $0_1 * -1.904654299957768e-09; + $1_1 = $15_1 + $13_1; + $0_1 = $1_1 * $1_1; + $0_1 = $1_1 - $0_1 * ($0_1 * ($0_1 * ($0_1 * ($0_1 * 4.1381367970572385e-08 + -1.6533902205465252e-06) + 6.613756321437934e-05) + -2.7777777777015593e-03) + .16666666666666602); + $568_1 = $1_1 * $0_1 / ($0_1 + -2.0); + $0_1 = $13_1 - ($1_1 - $15_1); + $1_1 = $1_1 - ($568_1 - ($0_1 + $1_1 * $0_1)) + 1.0; + wasm2js_scratch_store_f64(+$1_1); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + $11_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $11$hi = i64toi32_i32$1; + i64toi32_i32$0 = $11_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $53_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $53_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $5_1 = $525_1 + $53_1 | 0; + if (($5_1 | 0) > (1048575 | 0)) { + break label$35 + } + $1_1 = +$3287(+$1_1, $3_1 | 0); + break label$34; + } + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $54_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $54_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $595$hi = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $597_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $597$hi = i64toi32_i32$1; + i64toi32_i32$1 = $595$hi; + i64toi32_i32$0 = $54_1; + i64toi32_i32$2 = $597$hi; + i64toi32_i32$3 = $597_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$2 | 0); + $1_1 = +wasm2js_scratch_load_f64(); + } + $13_1 = $14_1 * $1_1; + } + return +$13_1; + } + + function $3205($0_1) { + $0_1 = +$0_1; + var $1_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, $2_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8_1 = 0, i64toi32_i32$2 = 0; + $1_1 = global$0 - 16 | 0; + global$0 = $1_1; + label$1 : { + label$2 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $8_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $8_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $8_1 & 2147483647 | 0; + if ($2_1 >>> 0 > 1072243195 >>> 0) { + break label$2 + } + if ($2_1 >>> 0 < 1045430272 >>> 0) { + break label$1 + } + $0_1 = +$3192(+$0_1, +(0.0), 0 | 0); + break label$1; + } + label$3 : { + if ($2_1 >>> 0 < 2146435072 >>> 0) { + break label$3 + } + $0_1 = $0_1 - $0_1; + break label$1; + } + label$4 : { + switch (($3191(+$0_1, $1_1 | 0) | 0) & 3 | 0 | 0) { + case 0: + $0_1 = +$3192(+(+HEAPF64[$1_1 >> 3]), +(+HEAPF64[($1_1 + 8 | 0) >> 3]), 1 | 0); + break label$1; + case 1: + $0_1 = +$3189(+(+HEAPF64[$1_1 >> 3]), +(+HEAPF64[($1_1 + 8 | 0) >> 3])); + break label$1; + case 2: + $0_1 = -+$3192(+(+HEAPF64[$1_1 >> 3]), +(+HEAPF64[($1_1 + 8 | 0) >> 3]), 1 | 0); + break label$1; + default: + break label$4; + }; + } + $0_1 = -+$3189(+(+HEAPF64[$1_1 >> 3]), +(+HEAPF64[($1_1 + 8 | 0) >> 3])); + } + global$0 = $1_1 + 16 | 0; + return +$0_1; + } + + function $3206($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $4_1 = 0.0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $3_1 = 0.0, $1_1 = 0, $2_1 = 0, $14_1 = 0, $6_1 = 0, $6$hi = 0, $9_1 = 0, $9$hi = 0; + wasm2js_scratch_store_f64(+(.5)); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $6_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $6$hi = i64toi32_i32$1; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$2 = -2147483648; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $9_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $9$hi = i64toi32_i32$2; + i64toi32_i32$2 = $6$hi; + i64toi32_i32$1 = $6_1; + i64toi32_i32$0 = $9$hi; + i64toi32_i32$3 = $9_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 | i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + $3_1 = +wasm2js_scratch_load_f64(); + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $2_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + wasm2js_scratch_store_i32(0 | 0, $2_1 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $4_1 = +wasm2js_scratch_load_f64(); + label$1 : { + label$2 : { + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $14_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $14_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $14_1; + if ($1_1 >>> 0 > 1082535489 >>> 0) { + break label$2 + } + $4_1 = +$3198(+$4_1); + label$3 : { + if ($1_1 >>> 0 > 1072693247 >>> 0) { + break label$3 + } + if ($1_1 >>> 0 < 1045430272 >>> 0) { + break label$1 + } + return +($3_1 * ($4_1 + $4_1 - $4_1 * $4_1 / ($4_1 + 1.0))); + } + return +($3_1 * ($4_1 + $4_1 / ($4_1 + 1.0))); + } + $0_1 = ($3_1 + $3_1) * +$3194(+$4_1); + } + return +$0_1; + } + + function $3207($0_1) { + $0_1 = +$0_1; + return +Math_sqrt($0_1); + } + + function $3208($0_1, $1_1, $2_1) { + $0_1 = +$0_1; + $1_1 = +$1_1; + $2_1 = $2_1 | 0; + var $8_1 = 0.0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $6_1 = 0.0, i64toi32_i32$4 = 0, $7_1 = 0.0, $4_1 = 0, $5_1 = 0, $5$hi = 0, $3_1 = 0, $17_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $16_1 = 0.0, $18_1 = 0.0; + label$1 : { + label$2 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $5_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $5$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = 2147483640; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = 1072010279; + i64toi32_i32$3 = 1; + $3_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + if (!$3_1) { + break label$2 + } + break label$1; + } + $16_1 = $0_1; + $18_1 = -$0_1; + i64toi32_i32$0 = $5$hi; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = -1; + i64toi32_i32$2 = -1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $17_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$2 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $17_1 = $20_1; + } + $4_1 = $17_1; + $0_1 = .7853981633974483 - ($4_1 ? $16_1 : $18_1) + (3.061616997868383e-17 - ($4_1 ? $1_1 : -$1_1)); + i64toi32_i32$3 = $5$hi; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 63; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $21_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + $21_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $4_1 = $21_1; + $1_1 = 0.0; + } + $6_1 = $0_1 * $0_1; + $7_1 = $0_1 * $6_1; + $8_1 = $6_1 * $6_1; + $6_1 = $7_1 * .3333333333333341 + ($1_1 + $6_1 * ($1_1 + $7_1 * ($8_1 * ($8_1 * ($8_1 * ($8_1 * ($8_1 * -1.8558637485527546e-05 + 7.817944429395571e-05) + 5.880412408202641e-04) + 3.5920791075913124e-03) + .021869488294859542) + .13333333333320124 + $6_1 * ($8_1 * ($8_1 * ($8_1 * ($8_1 * ($8_1 * 2.590730518636337e-05 + 7.140724913826082e-05) + 2.464631348184699e-04) + 1.4562094543252903e-03) + .0088632398235993) + .05396825397622605)))); + $8_1 = $0_1 + $6_1; + label$3 : { + if ($3_1) { + break label$3 + } + $1_1 = +(1 - ($2_1 << 1 | 0) | 0 | 0); + $8_1 = $0_1 + ($6_1 - $8_1 * $8_1 / ($8_1 + $1_1)); + $8_1 = $1_1 - ($8_1 + $8_1); + return +($4_1 ? -$8_1 : $8_1); + } + label$4 : { + if (!$2_1) { + break label$4 + } + $1_1 = -1.0 / $8_1; + wasm2js_scratch_store_f64(+$8_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$3 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$2 = -1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$3 & i64toi32_i32$1 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$2 | 0); + $7_1 = +wasm2js_scratch_load_f64(); + wasm2js_scratch_store_f64(+$1_1); + i64toi32_i32$2 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$0 & i64toi32_i32$1 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$3 | 0); + $8_1 = +wasm2js_scratch_load_f64(); + $8_1 = $1_1 * ($7_1 * $8_1 + 1.0 + ($6_1 - ($7_1 - $0_1)) * $8_1) + $8_1; + } + return +$8_1; + } + + function $3209($0_1) { + $0_1 = +$0_1; + var $1_1 = 0, i64toi32_i32$4 = 0, $2_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8_1 = 0, i64toi32_i32$2 = 0; + $1_1 = global$0 - 16 | 0; + global$0 = $1_1; + label$1 : { + label$2 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $8_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $8_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $8_1 & 2147483647 | 0; + if ($2_1 >>> 0 > 1072243195 >>> 0) { + break label$2 + } + if ($2_1 >>> 0 < 1044381696 >>> 0) { + break label$1 + } + $0_1 = +$3208(+$0_1, +(0.0), 0 | 0); + break label$1; + } + label$3 : { + if ($2_1 >>> 0 < 2146435072 >>> 0) { + break label$3 + } + $0_1 = $0_1 - $0_1; + break label$1; + } + $2_1 = $3191(+$0_1, $1_1 | 0) | 0; + $0_1 = +$3208(+(+HEAPF64[$1_1 >> 3]), +(+HEAPF64[($1_1 + 8 | 0) >> 3]), $2_1 & 1 | 0 | 0); + } + global$0 = $1_1 + 16 | 0; + return +$0_1; + } + + function $3210($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $1_1 = 0, $2_1 = 0, $3_1 = 0, $12_1 = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $2$hi = 0, $47_1 = 0.0, $49_1 = 0.0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $2_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $2$hi = i64toi32_i32$0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $3_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + wasm2js_scratch_store_i32(0 | 0, $3_1 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + label$1 : { + label$2 : { + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $12_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $12_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $12_1; + if ($1_1 >>> 0 < 1071748075 >>> 0) { + break label$2 + } + label$3 : { + if ($1_1 >>> 0 < 1077149697 >>> 0) { + break label$3 + } + $0_1 = -0.0 / $0_1 + 1.0; + break label$1; + } + $0_1 = 1.0 - 2.0 / (+$3198(+($0_1 + $0_1)) + 2.0); + break label$1; + } + label$4 : { + if ($1_1 >>> 0 < 1070618799 >>> 0) { + break label$4 + } + $0_1 = +$3198(+($0_1 + $0_1)); + $0_1 = $0_1 / ($0_1 + 2.0); + break label$1; + } + if ($1_1 >>> 0 < 1048576 >>> 0) { + break label$1 + } + $0_1 = +$3198(+($0_1 * -2.0)); + $0_1 = -$0_1 / ($0_1 + 2.0); + } + $47_1 = $0_1; + $49_1 = -$0_1; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + return +($13_1 ? $47_1 : $49_1); + } + + function $3211() { + return 113632 | 0; + } + + function $3212() { + + } + + function $3213($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $5$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $5$hi = $5$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $21_1 = 0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + label$1 : { + i64toi32_i32$0 = $5$hi; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = -4096; + i64toi32_i32$3 = 4095; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + if (!($5_1 & i64toi32_i32$3 | 0 | i64toi32_i32$1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 28), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + return -1 | 0; + } + label$2 : { + if ($1_1 >>> 0 < 2147483647 >>> 0) { + break label$2 + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 48), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + return -1 | 0; + } + label$3 : { + if (!($3_1 & 16 | 0)) { + break label$3 + } + $3212(); + } + $16_1 = $0_1; + $17_1 = $1_1; + $18_1 = $2_1; + $19_1 = $3_1; + $20_1 = $4_1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 12; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $21_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $21_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + return $3175(fimport$9($16_1 | 0, $17_1 | 0, $18_1 | 0, $19_1 | 0, $20_1 | 0, $21_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3214($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $3212(); + return $3175(fimport$10($0_1 | 0, $1_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3215($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $4_1 = 0, $3_1 = 0; + $2_1 = 0; + label$1 : while (1) { + $3_1 = $0_1 + $2_1 | 0; + HEAP8[$3_1 >> 0] = HEAPU8[($2_1 + 68352 | 0) >> 0] | 0; + $4_1 = ($2_1 | 0) != (14 | 0); + $2_1 = $2_1 + 1 | 0; + if ($4_1) { + continue label$1 + } + break label$1; + }; + label$2 : { + if (!$1_1) { + break label$2 + } + $2_1 = 14; + $4_1 = $1_1; + label$3 : while (1) { + $2_1 = $2_1 + 1 | 0; + $3_1 = $4_1 >>> 0 > 9 >>> 0; + $4_1 = ($4_1 >>> 0) / (10 >>> 0) | 0; + if ($3_1) { + continue label$3 + } + break label$3; + }; + HEAP8[($0_1 + $2_1 | 0) >> 0] = 0; + label$4 : while (1) { + $2_1 = $2_1 + -1 | 0; + $4_1 = ($1_1 >>> 0) / (10 >>> 0) | 0; + HEAP8[($0_1 + $2_1 | 0) >> 0] = $1_1 - Math_imul($4_1, 10) | 0 | 48 | 0; + $3_1 = $1_1 >>> 0 > 9 >>> 0; + $1_1 = $4_1; + if ($3_1) { + continue label$4 + } + break label$4; + }; + return; + } + HEAP8[$3_1 >> 0] = 48; + HEAP8[($0_1 + 15 | 0) >> 0] = 0; + } + + function $3216($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $3_1 = 0; + $2_1 = global$0 - 32 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + label$3 : { + $3_1 = fimport$11($0_1 | 0, $1_1 | 0) | 0; + if (($3_1 | 0) != (-8 | 0)) { + break label$3 + } + if ($3260($0_1 | 0) | 0) { + break label$2 + } + } + $0_1 = $3175($3_1 | 0) | 0; + break label$1; + } + $3215($2_1 | 0, $0_1 | 0); + $0_1 = $3175(fimport$12($2_1 | 0, $1_1 | 0) | 0 | 0) | 0; + } + global$0 = $2_1 + 32 | 0; + return $0_1 | 0; + } + + function $3217($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $3_1 = 0; + $2_1 = global$0 - 32 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + label$3 : { + $3_1 = fimport$13($0_1 | 0, $1_1 | 0) | 0; + if (($3_1 | 0) != (-8 | 0)) { + break label$3 + } + if ($3260($0_1 | 0) | 0) { + break label$2 + } + } + $0_1 = $3175($3_1 | 0) | 0; + break label$1; + } + $3215($2_1 | 0, $0_1 | 0); + $0_1 = $3175(fimport$14($2_1 | 0, $1_1 | 0) | 0 | 0) | 0; + } + global$0 = $2_1 + 32 | 0; + return $0_1 | 0; + } + + function $3218($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + return $3175(fimport$15($0_1 | 0, $1_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3219($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + return $3175(fimport$16($0_1 | 0, $1_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3220($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + return $3175(fimport$14($0_1 | 0, $1_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3221($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $4_1 = 0, $8_1 = 0, $7_1 = 0, $5_1 = 0, $6_1 = 0, $33_1 = 0; + $4_1 = global$0 - 208 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$1 : { + $5_1 = Math_imul($2_1, $1_1); + if (!$5_1) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $2_1; + $6_1 = 0 - $2_1 | 0; + $1_1 = $2_1; + $7_1 = $1_1; + $8_1 = 2; + label$2 : while (1) { + $33_1 = $7_1 + $2_1 | 0; + $7_1 = $1_1; + $1_1 = $33_1 + $1_1 | 0; + HEAP32[(($4_1 + 16 | 0) + ($8_1 << 2 | 0) | 0) >> 2] = $1_1; + $8_1 = $8_1 + 1 | 0; + if ($1_1 >>> 0 < $5_1 >>> 0) { + continue label$2 + } + break label$2; + }; + label$3 : { + label$4 : { + $7_1 = ($0_1 + $5_1 | 0) + $6_1 | 0; + if ($7_1 >>> 0 > $0_1 >>> 0) { + break label$4 + } + $8_1 = 1; + $1_1 = 1; + break label$3; + } + $8_1 = 1; + $1_1 = 1; + label$5 : while (1) { + label$6 : { + label$7 : { + if (($8_1 & 3 | 0 | 0) != (3 | 0)) { + break label$7 + } + $3222($0_1 | 0, $2_1 | 0, $3_1 | 0, $1_1 | 0, $4_1 + 16 | 0 | 0); + $3223($4_1 + 8 | 0 | 0, 2 | 0); + $1_1 = $1_1 + 2 | 0; + break label$6; + } + label$8 : { + label$9 : { + $8_1 = $1_1 + -1 | 0; + if ((HEAP32[(($4_1 + 16 | 0) + ($8_1 << 2 | 0) | 0) >> 2] | 0) >>> 0 < ($7_1 - $0_1 | 0) >>> 0) { + break label$9 + } + $3224($0_1 | 0, $2_1 | 0, $3_1 | 0, $4_1 + 8 | 0 | 0, $1_1 | 0, 0 | 0, $4_1 + 16 | 0 | 0); + break label$8; + } + $3222($0_1 | 0, $2_1 | 0, $3_1 | 0, $1_1 | 0, $4_1 + 16 | 0 | 0); + } + label$10 : { + if (($1_1 | 0) != (1 | 0)) { + break label$10 + } + $3225($4_1 + 8 | 0 | 0, 1 | 0); + $1_1 = 0; + break label$6; + } + $3225($4_1 + 8 | 0 | 0, $8_1 | 0); + $1_1 = 1; + } + $8_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $8_1; + $0_1 = $0_1 + $2_1 | 0; + if ($0_1 >>> 0 < $7_1 >>> 0) { + continue label$5 + } + break label$5; + }; + } + $3224($0_1 | 0, $2_1 | 0, $3_1 | 0, $4_1 + 8 | 0 | 0, $1_1 | 0, 0 | 0, $4_1 + 16 | 0 | 0); + label$11 : while (1) { + label$12 : { + label$13 : { + label$14 : { + label$15 : { + if (($1_1 | 0) != (1 | 0)) { + break label$15 + } + if (($8_1 | 0) != (1 | 0)) { + break label$15 + } + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$14 + } + break label$1; + } + if (($1_1 | 0) > (1 | 0)) { + break label$13 + } + } + $8_1 = $3226($4_1 + 8 | 0 | 0) | 0; + $3223($4_1 + 8 | 0 | 0, $8_1 | 0); + $1_1 = $8_1 + $1_1 | 0; + $8_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$12; + } + $3225($4_1 + 8 | 0 | 0, 2 | 0); + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) ^ 7 | 0; + $3223($4_1 + 8 | 0 | 0, 1 | 0); + $5_1 = $0_1 + $6_1 | 0; + $7_1 = $1_1 + -2 | 0; + $3224($5_1 - (HEAP32[(($4_1 + 16 | 0) + ($7_1 << 2 | 0) | 0) >> 2] | 0) | 0 | 0, $2_1 | 0, $3_1 | 0, $4_1 + 8 | 0 | 0, $1_1 + -1 | 0 | 0, 1 | 0, $4_1 + 16 | 0 | 0); + $3225($4_1 + 8 | 0 | 0, 1 | 0); + $8_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $8_1; + $3224($5_1 | 0, $2_1 | 0, $3_1 | 0, $4_1 + 8 | 0 | 0, $7_1 | 0, 1 | 0, $4_1 + 16 | 0 | 0); + $1_1 = $7_1; + } + $0_1 = $0_1 + $6_1 | 0; + continue label$11; + }; + } + global$0 = $4_1 + 208 | 0; + } + + function $3222($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $8_1 = 0, $5_1 = 0, $6_1 = 0, $10_1 = 0, $9_1 = 0, $7_1 = 0; + $5_1 = global$0 - 240 | 0; + global$0 = $5_1; + HEAP32[$5_1 >> 2] = $0_1; + $6_1 = 1; + label$1 : { + if (($3_1 | 0) < (2 | 0)) { + break label$1 + } + $7_1 = 0 - $1_1 | 0; + $6_1 = 1; + $8_1 = $0_1; + label$2 : while (1) { + label$3 : { + $8_1 = $8_1 + $7_1 | 0; + $9_1 = $3_1 + -2 | 0; + $10_1 = $8_1 - (HEAP32[($4_1 + ($9_1 << 2 | 0) | 0) >> 2] | 0) | 0; + if ((FUNCTION_TABLE[$2_1 | 0]($0_1, $10_1) | 0 | 0) < (0 | 0)) { + break label$3 + } + if ((FUNCTION_TABLE[$2_1 | 0]($0_1, $8_1) | 0 | 0) > (-1 | 0)) { + break label$1 + } + } + $0_1 = (FUNCTION_TABLE[$2_1 | 0]($10_1, $8_1) | 0 | 0) > (-1 | 0); + $8_1 = $0_1 ? $10_1 : $8_1; + HEAP32[($5_1 + ($6_1 << 2 | 0) | 0) >> 2] = $8_1; + $6_1 = $6_1 + 1 | 0; + $3_1 = $0_1 ? $3_1 + -1 | 0 : $9_1; + if (($3_1 | 0) < (2 | 0)) { + break label$1 + } + $0_1 = HEAP32[$5_1 >> 2] | 0; + continue label$2; + }; + } + $3227($1_1 | 0, $5_1 | 0, $6_1 | 0); + global$0 = $5_1 + 240 | 0; + } + + function $3223($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $3_1 = 0; + label$1 : { + label$2 : { + if ($1_1 >>> 0 > 31 >>> 0) { + break label$2 + } + $2_1 = HEAP32[($0_1 + 4 | 0) >> 2] | 0; + $3_1 = HEAP32[$0_1 >> 2] | 0; + break label$1; + } + $3_1 = HEAP32[($0_1 + 4 | 0) >> 2] | 0; + $2_1 = 0; + HEAP32[($0_1 + 4 | 0) >> 2] = 0; + HEAP32[$0_1 >> 2] = $3_1; + $1_1 = $1_1 + -32 | 0; + } + HEAP32[($0_1 + 4 | 0) >> 2] = $2_1 >>> $1_1 | 0; + HEAP32[$0_1 >> 2] = $2_1 << (32 - $1_1 | 0) | 0 | ($3_1 >>> $1_1 | 0) | 0; + } + + function $3224($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $7_1 = 0, $8_1 = 0, $9_1 = 0, $11_1 = 0, $10_1 = 0; + $7_1 = global$0 - 240 | 0; + global$0 = $7_1; + $8_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[($7_1 + 232 | 0) >> 2] = $8_1; + $3_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = $0_1; + HEAP32[($7_1 + 236 | 0) >> 2] = $3_1; + $9_1 = 1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + if (($8_1 | 0) != (1 | 0)) { + break label$5 + } + if (!$3_1) { + break label$4 + } + } + $9_1 = 1; + $8_1 = $0_1 - (HEAP32[($6_1 + ($4_1 << 2 | 0) | 0) >> 2] | 0) | 0; + if ((FUNCTION_TABLE[$2_1 | 0]($8_1, $0_1) | 0 | 0) < (1 | 0)) { + break label$4 + } + $10_1 = 0 - $1_1 | 0; + $11_1 = !$5_1; + $9_1 = 1; + label$6 : { + label$7 : while (1) { + $3_1 = $8_1; + label$8 : { + if (!($11_1 & 1 | 0)) { + break label$8 + } + if (($4_1 | 0) < (2 | 0)) { + break label$8 + } + $8_1 = HEAP32[((($4_1 << 2 | 0) + $6_1 | 0) + -8 | 0) >> 2] | 0; + $11_1 = $0_1 + $10_1 | 0; + if ((FUNCTION_TABLE[$2_1 | 0]($11_1, $3_1) | 0 | 0) > (-1 | 0)) { + break label$6 + } + if ((FUNCTION_TABLE[$2_1 | 0]($11_1 - $8_1 | 0, $3_1) | 0 | 0) > (-1 | 0)) { + break label$6 + } + } + HEAP32[($7_1 + ($9_1 << 2 | 0) | 0) >> 2] = $3_1; + $0_1 = $3226($7_1 + 232 | 0 | 0) | 0; + $3223($7_1 + 232 | 0 | 0, $0_1 | 0); + $9_1 = $9_1 + 1 | 0; + $4_1 = $0_1 + $4_1 | 0; + label$9 : { + if ((HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0) != (1 | 0)) { + break label$9 + } + if (!(HEAP32[($7_1 + 236 | 0) >> 2] | 0)) { + break label$2 + } + } + $5_1 = 0; + $11_1 = 1; + $0_1 = $3_1; + $8_1 = $3_1 - (HEAP32[($6_1 + ($4_1 << 2 | 0) | 0) >> 2] | 0) | 0; + if ((FUNCTION_TABLE[$2_1 | 0]($8_1, HEAP32[$7_1 >> 2] | 0) | 0 | 0) > (0 | 0)) { + continue label$7 + } + break label$3; + }; + } + $3_1 = $0_1; + break label$2; + } + $3_1 = $0_1; + } + if ($5_1) { + break label$1 + } + } + $3227($1_1 | 0, $7_1 | 0, $9_1 | 0); + $3222($3_1 | 0, $1_1 | 0, $2_1 | 0, $4_1 | 0, $6_1 | 0); + } + global$0 = $7_1 + 240 | 0; + } + + function $3225($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $3_1 = 0; + label$1 : { + label$2 : { + if ($1_1 >>> 0 > 31 >>> 0) { + break label$2 + } + $2_1 = HEAP32[$0_1 >> 2] | 0; + $3_1 = HEAP32[($0_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $3_1 = HEAP32[$0_1 >> 2] | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = $3_1; + $2_1 = 0; + HEAP32[$0_1 >> 2] = 0; + $1_1 = $1_1 + -32 | 0; + } + HEAP32[$0_1 >> 2] = $2_1 << $1_1 | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = $2_1 >>> (32 - $1_1 | 0) | 0 | ($3_1 << $1_1 | 0) | 0; + } + + function $3226($0_1) { + $0_1 = $0_1 | 0; + var $1_1 = 0; + label$1 : { + $1_1 = __wasm_ctz_i32((HEAP32[$0_1 >> 2] | 0) + -1 | 0 | 0) | 0; + if ($1_1) { + break label$1 + } + $0_1 = __wasm_ctz_i32(HEAP32[($0_1 + 4 | 0) >> 2] | 0 | 0) | 0; + return ($0_1 ? $0_1 + 32 | 0 : 0) | 0; + } + return $1_1 | 0; + } + + function $3227($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $3_1 = 0, $6_1 = 0, $7_1 = 0, $4_1 = 0; + $3_1 = global$0 - 256 | 0; + global$0 = $3_1; + label$1 : { + if (($2_1 | 0) < (2 | 0)) { + break label$1 + } + $4_1 = $1_1 + ($2_1 << 2 | 0) | 0; + HEAP32[$4_1 >> 2] = $3_1; + if (!$0_1) { + break label$1 + } + $5_1 = $3_1; + label$2 : while (1) { + $6_1 = $0_1 >>> 0 < 256 >>> 0 ? $0_1 : 256; + $3288($5_1 | 0, HEAP32[$1_1 >> 2] | 0 | 0, $6_1 | 0) | 0; + $5_1 = 0; + label$3 : while (1) { + $7_1 = $1_1 + ($5_1 << 2 | 0) | 0; + $5_1 = $5_1 + 1 | 0; + $3288(HEAP32[$7_1 >> 2] | 0 | 0, HEAP32[($1_1 + ($5_1 << 2 | 0) | 0) >> 2] | 0 | 0, $6_1 | 0) | 0; + HEAP32[$7_1 >> 2] = (HEAP32[$7_1 >> 2] | 0) + $6_1 | 0; + if (($5_1 | 0) != ($2_1 | 0)) { + continue label$3 + } + break label$3; + }; + $0_1 = $0_1 - $6_1 | 0; + if (!$0_1) { + break label$1 + } + $5_1 = HEAP32[$4_1 >> 2] | 0; + continue label$2; + }; + } + global$0 = $3_1 + 256 | 0; + } + + function $3228($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0, $4_1 = 0, $5_1 = 0; + $3_1 = 0; + label$1 : { + if (!$2_1) { + break label$1 + } + label$2 : { + label$3 : while (1) { + $4_1 = HEAPU8[$0_1 >> 0] | 0; + $5_1 = HEAPU8[$1_1 >> 0] | 0; + if (($4_1 | 0) != ($5_1 | 0)) { + break label$2 + } + $1_1 = $1_1 + 1 | 0; + $0_1 = $0_1 + 1 | 0; + $2_1 = $2_1 + -1 | 0; + if ($2_1) { + continue label$3 + } + break label$1; + }; + } + $3_1 = $4_1 - $5_1 | 0; + } + return $3_1 | 0; + } + + function $3229($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $3_1 = 0, $2_1 = 0; + $2_1 = HEAPU8[$1_1 >> 0] | 0; + label$1 : { + $3_1 = HEAPU8[$0_1 >> 0] | 0; + if (!$3_1) { + break label$1 + } + if (($3_1 | 0) != ($2_1 & 255 | 0 | 0)) { + break label$1 + } + label$2 : while (1) { + $2_1 = HEAPU8[($1_1 + 1 | 0) >> 0] | 0; + $3_1 = HEAPU8[($0_1 + 1 | 0) >> 0] | 0; + if (!$3_1) { + break label$1 + } + $1_1 = $1_1 + 1 | 0; + $0_1 = $0_1 + 1 | 0; + if (($3_1 | 0) == ($2_1 & 255 | 0 | 0)) { + continue label$2 + } + break label$2; + }; + } + return $3_1 - ($2_1 & 255 | 0) | 0 | 0; + } + + function $3230($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0; + label$1 : { + label$2 : { + if (($1_1 ^ $0_1 | 0) & 3 | 0) { + break label$2 + } + label$3 : { + if (!($1_1 & 3 | 0)) { + break label$3 + } + label$4 : while (1) { + $2_1 = HEAPU8[$1_1 >> 0] | 0; + HEAP8[$0_1 >> 0] = $2_1; + if (!$2_1) { + break label$1 + } + $0_1 = $0_1 + 1 | 0; + $1_1 = $1_1 + 1 | 0; + if ($1_1 & 3 | 0) { + continue label$4 + } + break label$4; + }; + } + $2_1 = HEAP32[$1_1 >> 2] | 0; + if ((($2_1 ^ -1 | 0) & ($2_1 + -16843009 | 0) | 0) & -2139062144 | 0) { + break label$2 + } + label$5 : while (1) { + HEAP32[$0_1 >> 2] = $2_1; + $2_1 = HEAP32[($1_1 + 4 | 0) >> 2] | 0; + $0_1 = $0_1 + 4 | 0; + $1_1 = $1_1 + 4 | 0; + if (!((($2_1 ^ -1 | 0) & ($2_1 + -16843009 | 0) | 0) & -2139062144 | 0)) { + continue label$5 + } + break label$5; + }; + } + $2_1 = HEAPU8[$1_1 >> 0] | 0; + HEAP8[$0_1 >> 0] = $2_1; + if (!$2_1) { + break label$1 + } + label$6 : while (1) { + $2_1 = HEAPU8[($1_1 + 1 | 0) >> 0] | 0; + HEAP8[($0_1 + 1 | 0) >> 0] = $2_1; + $0_1 = $0_1 + 1 | 0; + $1_1 = $1_1 + 1 | 0; + if ($2_1) { + continue label$6 + } + break label$6; + }; + } + return $0_1 | 0; + } + + function $3231($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $3230($0_1 | 0, $1_1 | 0) | 0; + return $0_1 | 0; + } + + function $3232($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $3_1 = 0, $2_1 = 0; + label$1 : { + label$2 : { + $2_1 = $1_1 & 255 | 0; + if (!$2_1) { + break label$2 + } + label$3 : { + if (!($0_1 & 3 | 0)) { + break label$3 + } + label$4 : while (1) { + $3_1 = HEAPU8[$0_1 >> 0] | 0; + if (!$3_1) { + break label$1 + } + if (($3_1 | 0) == ($1_1 & 255 | 0 | 0)) { + break label$1 + } + $0_1 = $0_1 + 1 | 0; + if ($0_1 & 3 | 0) { + continue label$4 + } + break label$4; + }; + } + label$5 : { + $3_1 = HEAP32[$0_1 >> 2] | 0; + if ((($3_1 ^ -1 | 0) & ($3_1 + -16843009 | 0) | 0) & -2139062144 | 0) { + break label$5 + } + $2_1 = Math_imul($2_1, 16843009); + label$6 : while (1) { + $3_1 = $3_1 ^ $2_1 | 0; + if ((($3_1 ^ -1 | 0) & ($3_1 + -16843009 | 0) | 0) & -2139062144 | 0) { + break label$5 + } + $3_1 = HEAP32[($0_1 + 4 | 0) >> 2] | 0; + $0_1 = $0_1 + 4 | 0; + if (!((($3_1 ^ -1 | 0) & ($3_1 + -16843009 | 0) | 0) & -2139062144 | 0)) { + continue label$6 + } + break label$6; + }; + } + label$7 : { + label$8 : while (1) { + $3_1 = $0_1; + $2_1 = HEAPU8[$3_1 >> 0] | 0; + if (!$2_1) { + break label$7 + } + $0_1 = $3_1 + 1 | 0; + if (($2_1 | 0) != ($1_1 & 255 | 0 | 0)) { + continue label$8 + } + break label$8; + }; + } + return $3_1 | 0; + } + return $0_1 + ($3303($0_1 | 0) | 0) | 0 | 0; + } + return $0_1 | 0; + } + + function $3233($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $3_1 = 0, $4_1 = 0, $2_1 = 0; + $2_1 = global$0 - 32 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + label$3 : { + $3_1 = HEAP8[$1_1 >> 0] | 0; + if (!$3_1) { + break label$3 + } + if (HEAPU8[($1_1 + 1 | 0) >> 0] | 0) { + break label$2 + } + } + $4_1 = $3232($0_1 | 0, $3_1 | 0) | 0; + break label$1; + } + $3289($2_1 | 0, 0 | 0, 32 | 0) | 0; + label$4 : { + $3_1 = HEAPU8[$1_1 >> 0] | 0; + if (!$3_1) { + break label$4 + } + label$5 : while (1) { + $4_1 = $2_1 + (($3_1 >>> 3 | 0) & 28 | 0) | 0; + HEAP32[$4_1 >> 2] = HEAP32[$4_1 >> 2] | 0 | (1 << ($3_1 & 31 | 0) | 0) | 0; + $3_1 = HEAPU8[($1_1 + 1 | 0) >> 0] | 0; + $1_1 = $1_1 + 1 | 0; + if ($3_1) { + continue label$5 + } + break label$5; + }; + } + $4_1 = $0_1; + $3_1 = HEAPU8[$0_1 >> 0] | 0; + if (!$3_1) { + break label$1 + } + $1_1 = $0_1; + label$6 : while (1) { + label$7 : { + if (!(((HEAP32[($2_1 + (($3_1 >>> 3 | 0) & 28 | 0) | 0) >> 2] | 0) >>> ($3_1 & 31 | 0) | 0) & 1 | 0)) { + break label$7 + } + $4_1 = $1_1; + break label$1; + } + $3_1 = HEAPU8[($1_1 + 1 | 0) >> 0] | 0; + $4_1 = $1_1 + 1 | 0; + $1_1 = $4_1; + if ($3_1) { + continue label$6 + } + break label$6; + }; + } + global$0 = $2_1 + 32 | 0; + return $4_1 - $0_1 | 0 | 0; + } + + function $3234($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $4_1 = 0, $3_1 = 0, $5_1 = 0; + label$1 : { + if ($2_1) { + break label$1 + } + return 0 | 0; + } + $3_1 = 0; + label$2 : { + $4_1 = HEAPU8[$0_1 >> 0] | 0; + if (!$4_1) { + break label$2 + } + label$3 : { + label$4 : while (1) { + $5_1 = HEAPU8[$1_1 >> 0] | 0; + if (($4_1 & 255 | 0 | 0) != ($5_1 | 0)) { + break label$3 + } + $2_1 = $2_1 + -1 | 0; + if (!$2_1) { + break label$3 + } + if (!$5_1) { + break label$3 + } + $1_1 = $1_1 + 1 | 0; + $4_1 = HEAPU8[($0_1 + 1 | 0) >> 0] | 0; + $0_1 = $0_1 + 1 | 0; + if ($4_1) { + continue label$4 + } + break label$2; + }; + } + $3_1 = $4_1; + } + return ($3_1 & 255 | 0) - (HEAPU8[$1_1 >> 0] | 0) | 0 | 0; + } + + function $3235($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0; + label$1 : { + label$2 : { + label$3 : { + if (($1_1 ^ $0_1 | 0) & 3 | 0) { + break label$3 + } + $3_1 = ($2_1 | 0) != (0 | 0); + label$4 : { + if (!$2_1) { + break label$4 + } + if (!($1_1 & 3 | 0)) { + break label$4 + } + label$5 : while (1) { + $3_1 = HEAPU8[$1_1 >> 0] | 0; + HEAP8[$0_1 >> 0] = $3_1; + if (!$3_1) { + break label$1 + } + $0_1 = $0_1 + 1 | 0; + $1_1 = $1_1 + 1 | 0; + $2_1 = $2_1 + -1 | 0; + $3_1 = ($2_1 | 0) != (0 | 0); + if (!$2_1) { + break label$4 + } + if ($1_1 & 3 | 0) { + continue label$5 + } + break label$5; + }; + } + if (!$3_1) { + break label$2 + } + if (!(HEAPU8[$1_1 >> 0] | 0)) { + break label$1 + } + if ($2_1 >>> 0 < 4 >>> 0) { + break label$3 + } + label$6 : while (1) { + $3_1 = HEAP32[$1_1 >> 2] | 0; + if ((($3_1 ^ -1 | 0) & ($3_1 + -16843009 | 0) | 0) & -2139062144 | 0) { + break label$3 + } + HEAP32[$0_1 >> 2] = $3_1; + $0_1 = $0_1 + 4 | 0; + $1_1 = $1_1 + 4 | 0; + $2_1 = $2_1 + -4 | 0; + if ($2_1 >>> 0 > 3 >>> 0) { + continue label$6 + } + break label$6; + }; + } + if (!$2_1) { + break label$2 + } + label$7 : while (1) { + $3_1 = HEAPU8[$1_1 >> 0] | 0; + HEAP8[$0_1 >> 0] = $3_1; + if (!$3_1) { + break label$1 + } + $0_1 = $0_1 + 1 | 0; + $1_1 = $1_1 + 1 | 0; + $2_1 = $2_1 + -1 | 0; + if ($2_1) { + continue label$7 + } + break label$7; + }; + } + $2_1 = 0; + } + $3289($0_1 | 0, 0 | 0, $2_1 | 0) | 0; + return $0_1 | 0; + } + + function $3236($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3235($0_1 | 0, $1_1 | 0, $2_1 | 0) | 0; + return $0_1 | 0; + } + + function $3237($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0; + $1_1 = $1_1 & 255 | 0; + label$1 : while (1) { + label$2 : { + if ($2_1) { + break label$2 + } + return 0 | 0; + } + $2_1 = $2_1 + -1 | 0; + $3_1 = $0_1 + $2_1 | 0; + if ((HEAPU8[$3_1 >> 0] | 0 | 0) != ($1_1 | 0)) { + continue label$1 + } + break label$1; + }; + return $3_1 | 0; + } + + function $3238($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + return $3237($0_1 | 0, $1_1 | 0, ($3303($0_1 | 0) | 0) + 1 | 0 | 0) | 0 | 0; + } + + function $3239($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + return $3175(fimport$17($0_1 | 0, $1_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3240($0_1) { + $0_1 = $0_1 | 0; + return $0_1 | 0; + } + + function $3241($0_1) { + $0_1 = $0_1 | 0; + $0_1 = fimport$7($3240($0_1 | 0) | 0 | 0) | 0; + return $3259((($0_1 | 0) == (27 | 0) ? 0 : $0_1) | 0) | 0 | 0; + } + + function $3242($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + label$1 : { + label$2 : { + label$3 : { + $4_1 = fimport$18($0_1 | 0, $1_1 | 0, $2_1 | 0) | 0; + if (($4_1 | 0) != (-8 | 0)) { + break label$3 + } + if ($3260($0_1 | 0) | 0) { + break label$2 + } + } + $0_1 = $3175($4_1 | 0) | 0; + break label$1; + } + $3215($3_1 | 0, $0_1 | 0); + $0_1 = $3175(fimport$19($3_1 | 0, $1_1 | 0, $2_1 | 0) | 0 | 0) | 0; + } + global$0 = $3_1 + 32 | 0; + return $0_1 | 0; + } + + function $3243($0_1) { + $0_1 = $0_1 | 0; + return $3259(fimport$20($0_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3244($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $2_1 = 0, $4_1 = 0, i64toi32_i32$2 = 0; + $2_1 = $0_1; + i64toi32_i32$0 = $1$hi; + $4_1 = $1_1; + i64toi32_i32$2 = $1_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $10_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $10_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + return $3175(fimport$21($2_1 | 0, 0 | 0, $4_1 | 0, $10_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3245($0_1) { + $0_1 = $0_1 | 0; + var $1_1 = 0, $2_1 = 0; + label$1 : { + $1_1 = ($3303($0_1 | 0) | 0) + 1 | 0; + $2_1 = $3277($1_1 | 0) | 0; + if ($2_1) { + break label$1 + } + return 0 | 0; + } + return $3288($2_1 | 0, $0_1 | 0, $1_1 | 0) | 0 | 0; + } + + function $3246($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2_1 = global$0 - 4096 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + label$3 : { + if ($0_1) { + break label$3 + } + $1_1 = 4096; + $0_1 = $2_1; + break label$2; + } + if ($1_1) { + break label$2 + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 28), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $3_1 = 0; + break label$1; + } + $3_1 = 0; + if (($3175(fimport$22($0_1 | 0, $1_1 | 0) | 0 | 0) | 0 | 0) < (0 | 0)) { + break label$1 + } + $3_1 = $0_1; + if (($0_1 | 0) != ($2_1 | 0)) { + break label$1 + } + $3_1 = $3245($2_1 | 0) | 0; + } + global$0 = $2_1 + 4096 | 0; + return $3_1 | 0; + } + + function $3247() { + return fimport$23() | 0 | 0; + } + + function $3248() { + return fimport$24() | 0 | 0; + } + + function $3249($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = $1$hi; + $0_1 = $3259($3344($0_1 | 0, $1_1 | 0, i64toi32_i32$0 | 0, $2_1 & 255 | 0 | 0, $3_1 + 8 | 0 | 0) | 0 | 0) | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $1_1 = i64toi32_i32$0; + $1$hi = i64toi32_i32$1; + global$0 = i64toi32_i32$2 + 16 | 0; + i64toi32_i32$1 = -1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $0_1 ? -1 : $1_1; + i64toi32_i32$2 = $0_1 ? i64toi32_i32$1 : i64toi32_i32$0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$2; + return i64toi32_i32$3 | 0; + } + + function $3250($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + return $3175(fimport$25($0_1 | 0, $1_1 | 0, $2_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3251($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + return $3175(fimport$26($0_1 | 0, $1_1 | 0, $2_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3252($0_1) { + $0_1 = $0_1 | 0; + return $3175(fimport$27($0_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3253($0_1) { + $0_1 = $0_1 | 0; + var $1_1 = 0, $2_1 = 0; + $1_1 = global$0 - 16 | 0; + global$0 = $1_1; + HEAP32[($1_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($1_1 + 12 | 0) >> 2] = 0; + $0_1 = fimport$28($1_1 + 8 | 0 | 0, $1_1 + 8 | 0 | 0) | 0; + $2_1 = HEAP32[($1_1 + 8 | 0) >> 2] | 0; + global$0 = $1_1 + 16 | 0; + return ($0_1 ? $2_1 : 0) | 0; + } + + function $3254($0_1) { + $0_1 = $0_1 | 0; + return $3175(fimport$29($0_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3255($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + $0_1 = fimport$30($0_1 | 0, $3_1 + 8 | 0 | 0, 1 | 0, $3_1 + 4 | 0 | 0) | 0; + if (!$0_1) { + break label$2 + } + $0_1 = $3259($0_1 | 0) | 0; + break label$1; + } + $0_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + global$0 = $3_1 + 16 | 0; + return $0_1 | 0; + } + + function $3256() { + var $0_1 = 0, $1_1 = 0, $2_1 = 0; + $0_1 = global$0 - 16 | 0; + global$0 = $0_1; + label$1 : { + if (fimport$31($0_1 + 12 | 0 | 0, $0_1 + 8 | 0 | 0) | 0) { + break label$1 + } + $1_1 = $3277(((HEAP32[($0_1 + 12 | 0) >> 2] | 0) << 2 | 0) + 4 | 0 | 0) | 0; + HEAP32[(0 + 114732 | 0) >> 2] = $1_1; + if (!$1_1) { + break label$1 + } + label$2 : { + label$3 : { + $1_1 = $3277(HEAP32[($0_1 + 8 | 0) >> 2] | 0 | 0) | 0; + if (!$1_1) { + break label$3 + } + $2_1 = HEAP32[(0 + 114732 | 0) >> 2] | 0; + if ($2_1) { + break label$2 + } + } + HEAP32[(0 + 114732 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($2_1 + ((HEAP32[($0_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + if (!(fimport$32(HEAP32[(0 + 114732 | 0) >> 2] | 0 | 0, $1_1 | 0) | 0)) { + break label$1 + } + HEAP32[(0 + 114732 | 0) >> 2] = 0; + } + global$0 = $0_1 + 16 | 0; + } + + function $3257($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $0_1 = $3232($0_1 | 0, $1_1 | 0) | 0; + return ((HEAPU8[$0_1 >> 0] | 0 | 0) == ($1_1 & 255 | 0 | 0) ? $0_1 : 0) | 0; + } + + function $3258($0_1) { + $0_1 = $0_1 | 0; + var $1_1 = 0, $3_1 = 0, $4_1 = 0, $2_1 = 0, $5_1 = 0; + $1_1 = 0; + $2_1 = $3303($0_1 | 0) | 0; + label$1 : { + label$2 : { + if (!(HEAP32[(0 + 114732 | 0) >> 2] | 0)) { + break label$2 + } + if (!(HEAPU8[$0_1 >> 0] | 0)) { + break label$2 + } + if ($3257($0_1 | 0, 61 | 0) | 0) { + break label$2 + } + $1_1 = 0; + $3_1 = HEAP32[(HEAP32[(0 + 114732 | 0) >> 2] | 0) >> 2] | 0; + if (!$3_1) { + break label$2 + } + label$3 : { + label$4 : while (1) { + $4_1 = $3234($0_1 | 0, $3_1 | 0, $2_1 | 0) | 0; + $3_1 = HEAP32[(0 + 114732 | 0) >> 2] | 0; + label$5 : { + if ($4_1) { + break label$5 + } + $4_1 = HEAP32[($3_1 + ($1_1 << 2 | 0) | 0) >> 2] | 0; + $5_1 = $4_1 + $2_1 | 0; + if ((HEAPU8[$5_1 >> 0] | 0 | 0) == (61 | 0)) { + break label$3 + } + } + $1_1 = $1_1 + 1 | 0; + $3_1 = HEAP32[($3_1 + ($1_1 << 2 | 0) | 0) >> 2] | 0; + if ($3_1) { + continue label$4 + } + break label$1; + }; + } + if (!$4_1) { + break label$1 + } + $1_1 = $5_1 + 1 | 0; + } + return $1_1 | 0; + } + return 0 | 0; + } + + function $3259($0_1) { + $0_1 = $0_1 | 0; + var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + label$1 : { + if ($0_1) { + break label$1 + } + return 0 | 0; + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = $0_1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + return -1 | 0; + } + + function $3260($0_1) { + $0_1 = $0_1 | 0; + var $1_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1_1 = global$0 - 32 | 0; + global$0 = $1_1; + label$1 : { + label$2 : { + $0_1 = fimport$33($0_1 | 0, $1_1 + 8 | 0 | 0) | 0; + if ($0_1) { + break label$2 + } + $0_1 = 1; + break label$1; + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = $0_1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $0_1 = 0; + } + global$0 = $1_1 + 32 | 0; + return $0_1 | 0; + } + + function $3261($0_1, $1_1, $1$hi, $2_1, $2$hi, $3_1, $3$hi, $4_1, $4$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + var i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $6_1 = 0, $7_1 = 0, $5_1 = 0, $9$hi = 0, $9_1 = 0, $10$hi = 0, $11$hi = 0, $10_1 = 0, $11_1 = 0, i64toi32_i32$6 = 0, $12$hi = 0, $8_1 = 0, $135_1 = 0, $136_1 = 0, $137_1 = 0, $138_1 = 0, $139_1 = 0, $140_1 = 0, $141_1 = 0, $142_1 = 0, $143_1 = 0, $12_1 = 0, $144_1 = 0, $145_1 = 0, $146_1 = 0, $147_1 = 0, $148_1 = 0, $149_1 = 0, $150_1 = 0, $154_1 = 0, $155_1 = 0, $156_1 = 0, $157_1 = 0, $158_1 = 0, $21_1 = 0, $27_1 = 0, $28$hi = 0, $32_1 = 0, $39_1 = 0, $43_1 = 0, $44$hi = 0, $48_1 = 0, $53_1 = 0, $55_1 = 0, $63_1 = 0, $65_1 = 0, $73_1 = 0, $73$hi = 0, $79_1 = 0, $79$hi = 0, $83_1 = 0, $83$hi = 0, $93_1 = 0, $93$hi = 0, $121_1 = 0, $124_1 = 0, $151_1 = 0, $152_1 = 0, $152$hi = 0, $153_1 = 0, $153$hi = 0, $160$hi = 0, $163$hi = 0, $183_1 = 0, $184_1 = 0, $184$hi = 0, $185_1 = 0, $185$hi = 0, $192$hi = 0, $195$hi = 0, $208_1 = 0, $208$hi = 0, $210$hi = 0, $214_1 = 0, $214$hi = 0, $216$hi = 0, $242_1 = 0, $242$hi = 0, $244_1 = 0, $244$hi = 0, $248_1 = 0, $248$hi = 0, $250_1 = 0, $251$hi = 0, $269$hi = 0, $272_1 = 0, $273$hi = 0, $282_1 = 0, $283_1 = 0, $283$hi = 0, $284_1 = 0, $284$hi = 0, $291$hi = 0, $294$hi = 0, $309_1 = 0, $309$hi = 0, $315_1 = 0, $316$hi = 0, $322_1 = 0, $322$hi = 0, $324$hi = 0, $325_1 = 0, $325$hi = 0, $327_1 = 0, $327$hi = 0, $354_1 = 0, $354$hi = 0, $356_1 = 0, $356$hi = 0, $360_1 = 0, $360$hi = 0, $362_1 = 0, $363$hi = 0, $369_1 = 0, $369$hi = 0, $371$hi = 0, $375$hi = 0, $377_1 = 0, $377$hi = 0, $380$hi = 0, $386_1 = 0, $386$hi = 0, $390$hi = 0, $394_1 = 0, $395$hi = 0, $400_1 = 0, $400$hi = 0, $408_1 = 0, $409$hi = 0, $411_1 = 0, $411$hi = 0, $417_1 = 0, $418$hi = 0, $422_1 = 0, $423$hi = 0, $426_1 = 0, $426$hi = 0, $432_1 = 0, $433$hi = 0, $437_1 = 0, $438$hi = 0; + $5_1 = global$0 - 112 | 0; + global$0 = $5_1; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $9_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $9$hi = i64toi32_i32$1; + label$1 : { + label$2 : { + label$3 : { + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = -1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $10_1 = i64toi32_i32$4; + $10$hi = i64toi32_i32$5; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = -1; + $21_1 = (i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$5 = 2147483647; + i64toi32_i32$0 = -1; + i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + $11_1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + $11$hi = i64toi32_i32$5; + i64toi32_i32$5 = $10$hi; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$5 = $10$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$0 = $1_1; + $27_1 = i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$0 = $11_1; + i64toi32_i32$5 = $28$hi; + i64toi32_i32$3 = $27_1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = -1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $10_1 = i64toi32_i32$5; + $10$hi = i64toi32_i32$2; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$1 = 2147418111; + i64toi32_i32$3 = -1; + $32_1 = i64toi32_i32$2 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$5 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$2 = 2147418111; + i64toi32_i32$1 = -1; + if ((i64toi32_i32$5 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) | 0 ? $21_1 : $32_1) { + break label$3 + } + i64toi32_i32$3 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$4 = -1; + i64toi32_i32$2 = -1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $10_1 = i64toi32_i32$0; + $10$hi = i64toi32_i32$5; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$1 = -1; + i64toi32_i32$2 = -1; + $39_1 = (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$1 | 0) | 0; + i64toi32_i32$3 = $9$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$1 = $3_1; + $43_1 = i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $44$hi = i64toi32_i32$2; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$1 = $9_1; + i64toi32_i32$3 = $44$hi; + i64toi32_i32$5 = $43_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$1 = -1; + i64toi32_i32$5 = -1; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $10_1 = i64toi32_i32$3; + $10$hi = i64toi32_i32$4; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$2 = 2147418111; + i64toi32_i32$5 = -1; + $48_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$4 = 2147418111; + i64toi32_i32$2 = -1; + if ((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$4 | 0) | 0 ? $39_1 : $48_1) { + break label$2 + } + } + label$4 : { + i64toi32_i32$5 = $1$hi; + $53_1 = !($1_1 | i64toi32_i32$5 | 0); + i64toi32_i32$5 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$0 = 2147418112; + i64toi32_i32$4 = 0; + $55_1 = i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$4 >>> 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$4 = $11_1; + i64toi32_i32$5 = 2147418112; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$4 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) | 0 ? $53_1 : $55_1) { + break label$4 + } + i64toi32_i32$4 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = 32768; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + $4_1 = i64toi32_i32$0 | i64toi32_i32$5 | 0; + $4$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + $3_1 = $1_1; + $3$hi = i64toi32_i32$2; + break label$1; + } + label$5 : { + i64toi32_i32$2 = $3$hi; + $63_1 = !($3_1 | i64toi32_i32$2 | 0); + i64toi32_i32$2 = $9$hi; + i64toi32_i32$4 = $9_1; + i64toi32_i32$0 = 2147418112; + i64toi32_i32$5 = 0; + $65_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$5 = $9_1; + i64toi32_i32$2 = 2147418112; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) | 0 ? $63_1 : $65_1) { + break label$5 + } + i64toi32_i32$5 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$4 = 32768; + i64toi32_i32$2 = 0; + i64toi32_i32$4 = i64toi32_i32$5 | i64toi32_i32$4 | 0; + $4_1 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $4$hi = i64toi32_i32$4; + break label$1; + } + label$6 : { + i64toi32_i32$4 = $1$hi; + i64toi32_i32$4 = $11$hi; + i64toi32_i32$5 = $11_1; + i64toi32_i32$0 = 2147418112; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = i64toi32_i32$4 ^ i64toi32_i32$0 | 0; + $73_1 = i64toi32_i32$5 ^ i64toi32_i32$2 | 0; + $73$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$4 = $1_1; + i64toi32_i32$5 = $73$hi; + i64toi32_i32$2 = $73_1; + i64toi32_i32$5 = i64toi32_i32$0 | i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$4 | 0) | 0) { + break label$6 + } + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$2 = $3_1; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$4 = $1_1; + i64toi32_i32$5 = i64toi32_i32$0 ^ i64toi32_i32$5 | 0; + $79_1 = i64toi32_i32$2 ^ i64toi32_i32$4 | 0; + $79$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$4 = $2_1; + i64toi32_i32$2 = i64toi32_i32$5 ^ i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$0 ^ i64toi32_i32$4 | 0; + i64toi32_i32$0 = -2147483648; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = i64toi32_i32$2 ^ i64toi32_i32$0 | 0; + $83_1 = i64toi32_i32$5 ^ i64toi32_i32$4 | 0; + $83$hi = i64toi32_i32$0; + i64toi32_i32$0 = $79$hi; + i64toi32_i32$2 = $79_1; + i64toi32_i32$5 = $83$hi; + i64toi32_i32$4 = $83_1; + i64toi32_i32$5 = i64toi32_i32$0 | i64toi32_i32$5 | 0; + $6_1 = !(i64toi32_i32$2 | i64toi32_i32$4 | 0 | i64toi32_i32$5 | 0); + i64toi32_i32$1 = $6_1; + i64toi32_i32$5 = 2147450880; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$4 = i64toi32_i32$1 ? 0 : $2_1; + i64toi32_i32$0 = i64toi32_i32$1 ? i64toi32_i32$5 : i64toi32_i32$2; + $4_1 = i64toi32_i32$4; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$5 = i64toi32_i32$1 ? 0 : $1_1; + i64toi32_i32$1 = i64toi32_i32$1 ? i64toi32_i32$0 : i64toi32_i32$4; + $3_1 = i64toi32_i32$5; + $3$hi = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$2 = $9_1; + i64toi32_i32$5 = 2147418112; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = i64toi32_i32$1 ^ i64toi32_i32$5 | 0; + $93_1 = i64toi32_i32$2 ^ i64toi32_i32$0 | 0; + $93$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = $93$hi; + i64toi32_i32$0 = $93_1; + i64toi32_i32$2 = i64toi32_i32$5 | i64toi32_i32$2 | 0; + if (!(i64toi32_i32$1 | i64toi32_i32$0 | 0 | i64toi32_i32$2 | 0)) { + break label$1 + } + label$7 : { + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $11$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$5 = $1_1; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$0 = $11_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$5 | 0) | 0) { + break label$7 + } + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$5 = $9_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$5 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 0; + if ((i64toi32_i32$2 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) { + break label$1 + } + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $3_1 = i64toi32_i32$5 & i64toi32_i32$0 | 0; + $3$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + $4_1 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $4$hi = i64toi32_i32$5; + break label$1; + } + i64toi32_i32$5 = $3$hi; + i64toi32_i32$5 = $9$hi; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$0 = $9_1; + i64toi32_i32$2 = i64toi32_i32$5 | i64toi32_i32$2 | 0; + if (!!(i64toi32_i32$1 | i64toi32_i32$0 | 0 | i64toi32_i32$2 | 0)) { + break label$2 + } + i64toi32_i32$2 = $1$hi; + $3_1 = $1_1; + $3$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + $4_1 = $2_1; + $4$hi = i64toi32_i32$2; + break label$1; + } + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + $121_1 = i64toi32_i32$2 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$5 >>> 0 > i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$5 = $9$hi; + i64toi32_i32$5 = $11$hi; + i64toi32_i32$5 = $9$hi; + i64toi32_i32$0 = $9_1; + i64toi32_i32$2 = $11$hi; + i64toi32_i32$1 = $11_1; + $124_1 = i64toi32_i32$5 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 > i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$1 = $9_1; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $11_1; + $7_1 = (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) | 0 ? $121_1 : $124_1; + i64toi32_i32$4 = $7_1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$5 = i64toi32_i32$4 ? $3_1 : $1_1; + i64toi32_i32$2 = i64toi32_i32$4 ? i64toi32_i32$1 : i64toi32_i32$0; + $9_1 = i64toi32_i32$5; + $9$hi = i64toi32_i32$2; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$1 = i64toi32_i32$4 ? $4_1 : $2_1; + i64toi32_i32$4 = i64toi32_i32$4 ? i64toi32_i32$2 : i64toi32_i32$5; + $11_1 = i64toi32_i32$1; + $11$hi = i64toi32_i32$4; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = 65535; + i64toi32_i32$2 = -1; + i64toi32_i32$1 = i64toi32_i32$4 & i64toi32_i32$1 | 0; + $10_1 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $10$hi = i64toi32_i32$1; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$5 = $7_1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$2 = i64toi32_i32$5 ? $2_1 : $4_1; + i64toi32_i32$4 = i64toi32_i32$5 ? i64toi32_i32$1 : i64toi32_i32$0; + $2_1 = i64toi32_i32$2; + $2$hi = i64toi32_i32$4; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = 48; + i64toi32_i32$0 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $135_1 = i64toi32_i32$4 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >>> i64toi32_i32$0 | 0; + $135_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$0 | 0) | 0; + } + $8_1 = $135_1 & 32767 | 0; + label$8 : { + i64toi32_i32$2 = $11$hi; + i64toi32_i32$4 = $11_1; + i64toi32_i32$5 = 0; + i64toi32_i32$1 = 48; + i64toi32_i32$0 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $136_1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + $136_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$0 | 0) | 0; + } + $6_1 = $136_1 & 32767 | 0; + if ($6_1) { + break label$8 + } + $151_1 = $5_1 + 96 | 0; + i64toi32_i32$5 = $9$hi; + $152_1 = $9_1; + $152$hi = i64toi32_i32$5; + i64toi32_i32$5 = $10$hi; + $153_1 = $10_1; + $153$hi = i64toi32_i32$5; + i64toi32_i32$5 = $9$hi; + i64toi32_i32$5 = $10$hi; + $6_1 = !($10_1 | i64toi32_i32$5 | 0); + i64toi32_i32$0 = $6_1; + i64toi32_i32$5 = $9$hi; + i64toi32_i32$4 = $10$hi; + i64toi32_i32$1 = i64toi32_i32$0 ? $9_1 : $10_1; + i64toi32_i32$2 = i64toi32_i32$0 ? i64toi32_i32$5 : i64toi32_i32$4; + i64toi32_i32$5 = Math_clz32(i64toi32_i32$2); + i64toi32_i32$0 = 0; + if ((i64toi32_i32$5 | 0) == (32 | 0)) { + $137_1 = Math_clz32(i64toi32_i32$1) + 32 | 0 + } else { + $137_1 = i64toi32_i32$5 + } + $160$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $163$hi = i64toi32_i32$0; + i64toi32_i32$0 = $160$hi; + i64toi32_i32$1 = $137_1; + i64toi32_i32$2 = $163$hi; + i64toi32_i32$5 = $6_1 << 6 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $6_1 = i64toi32_i32$4; + i64toi32_i32$3 = $152$hi; + i64toi32_i32$1 = $153$hi; + $3262($151_1 | 0, $152_1 | 0, i64toi32_i32$3 | 0, $153_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 + -15 | 0 | 0); + $6_1 = 16 - i64toi32_i32$4 | 0; + i64toi32_i32$0 = $5_1 + 104 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $10_1 = i64toi32_i32$1; + $10$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 100 | 0) >> 2] | 0; + $9_1 = i64toi32_i32$3; + $9$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$5 = i64toi32_i32$2 ? $1_1 : $3_1; + i64toi32_i32$0 = i64toi32_i32$2 ? i64toi32_i32$1 : i64toi32_i32$3; + $3_1 = i64toi32_i32$5; + $3$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$5 = 65535; + i64toi32_i32$1 = -1; + i64toi32_i32$5 = i64toi32_i32$0 & i64toi32_i32$5 | 0; + $4_1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $4$hi = i64toi32_i32$5; + label$9 : { + if ($8_1) { + break label$9 + } + $183_1 = $5_1 + 80 | 0; + i64toi32_i32$5 = $3$hi; + $184_1 = $3_1; + $184$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + $185_1 = $4_1; + $185$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$5 = $4$hi; + $7_1 = !($4_1 | i64toi32_i32$5 | 0); + i64toi32_i32$3 = $7_1; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$1 = i64toi32_i32$3 ? $3_1 : $4_1; + i64toi32_i32$0 = i64toi32_i32$3 ? i64toi32_i32$5 : i64toi32_i32$2; + i64toi32_i32$5 = Math_clz32(i64toi32_i32$0); + i64toi32_i32$3 = 0; + if ((i64toi32_i32$5 | 0) == (32 | 0)) { + $138_1 = Math_clz32(i64toi32_i32$1) + 32 | 0 + } else { + $138_1 = i64toi32_i32$5 + } + $192$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $195$hi = i64toi32_i32$3; + i64toi32_i32$3 = $192$hi; + i64toi32_i32$1 = $138_1; + i64toi32_i32$0 = $195$hi; + i64toi32_i32$5 = $7_1 << 6 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $7_1 = i64toi32_i32$2; + i64toi32_i32$4 = $184$hi; + i64toi32_i32$1 = $185$hi; + $3262($183_1 | 0, $184_1 | 0, i64toi32_i32$4 | 0, $185_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 + -15 | 0 | 0); + $8_1 = 16 - i64toi32_i32$2 | 0; + i64toi32_i32$3 = $5_1 + 88 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $4_1 = i64toi32_i32$1; + $4$hi = i64toi32_i32$4; + i64toi32_i32$3 = $5_1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 84 | 0) >> 2] | 0; + $3_1 = i64toi32_i32$4; + $3$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = 3; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + $139_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$0 | 0) | 0; + $139_1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + } + $208_1 = $139_1; + $208$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 61; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $140_1 = i64toi32_i32$4 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$4 >>> i64toi32_i32$0 | 0; + $140_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$0 | 0) | 0; + } + $210$hi = i64toi32_i32$3; + i64toi32_i32$3 = $208$hi; + i64toi32_i32$4 = $208_1; + i64toi32_i32$1 = $210$hi; + i64toi32_i32$5 = $140_1; + i64toi32_i32$1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$4 | i64toi32_i32$5 | 0; + i64toi32_i32$4 = 524288; + i64toi32_i32$5 = 0; + i64toi32_i32$4 = i64toi32_i32$1 | i64toi32_i32$4 | 0; + $4_1 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + $4$hi = i64toi32_i32$4; + i64toi32_i32$4 = $10$hi; + i64toi32_i32$1 = $10_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 3; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$1 << i64toi32_i32$0 | 0; + $141_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$0 | 0) | 0; + $141_1 = i64toi32_i32$1 << i64toi32_i32$0 | 0; + } + $214_1 = $141_1; + $214$hi = i64toi32_i32$3; + i64toi32_i32$3 = $9$hi; + i64toi32_i32$4 = $9_1; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 61; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $142_1 = i64toi32_i32$3 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$0 | 0; + $142_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$0 | 0) | 0; + } + $216$hi = i64toi32_i32$1; + i64toi32_i32$1 = $214$hi; + i64toi32_i32$3 = $214_1; + i64toi32_i32$4 = $216$hi; + i64toi32_i32$5 = $142_1; + i64toi32_i32$4 = i64toi32_i32$1 | i64toi32_i32$4 | 0; + $1_1 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + $1$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 3; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$1 << i64toi32_i32$0 | 0; + $143_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$0 | 0) | 0; + $143_1 = i64toi32_i32$1 << i64toi32_i32$0 | 0; + } + $3_1 = $143_1; + $3$hi = i64toi32_i32$3; + i64toi32_i32$3 = $11$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$3 = $11$hi; + i64toi32_i32$4 = $11_1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$5 = $2_1; + i64toi32_i32$1 = i64toi32_i32$3 ^ i64toi32_i32$1 | 0; + $10_1 = i64toi32_i32$4 ^ i64toi32_i32$5 | 0; + $10$hi = i64toi32_i32$1; + label$10 : { + $7_1 = $6_1 - $8_1 | 0; + if (!$7_1) { + break label$10 + } + label$11 : { + if ($7_1 >>> 0 <= 127 >>> 0) { + break label$11 + } + i64toi32_i32$1 = 0; + $4_1 = 0; + $4$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $3_1 = 1; + $3$hi = i64toi32_i32$1; + break label$10; + } + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$4 = $4$hi; + $3262($5_1 + 64 | 0 | 0, $3_1 | 0, i64toi32_i32$1 | 0, $4_1 | 0, i64toi32_i32$4 | 0, 128 - $7_1 | 0 | 0); + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + $3272($5_1 + 48 | 0 | 0, $3_1 | 0, i64toi32_i32$4 | 0, $4_1 | 0, i64toi32_i32$1 | 0, $7_1 | 0); + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 48 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 52 | 0) >> 2] | 0; + $242_1 = i64toi32_i32$1; + $242$hi = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 68 | 0) >> 2] | 0; + $244_1 = i64toi32_i32$4; + $244$hi = i64toi32_i32$1; + i64toi32_i32$3 = (i64toi32_i32$3 + 64 | 0) + 8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $248_1 = i64toi32_i32$1; + $248$hi = i64toi32_i32$4; + i64toi32_i32$4 = $244$hi; + i64toi32_i32$3 = $244_1; + i64toi32_i32$1 = $248$hi; + i64toi32_i32$5 = $248_1; + i64toi32_i32$1 = i64toi32_i32$4 | i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 0; + $250_1 = (i64toi32_i32$4 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = 0; + $251$hi = i64toi32_i32$4; + i64toi32_i32$4 = $242$hi; + i64toi32_i32$5 = $242_1; + i64toi32_i32$1 = $251$hi; + i64toi32_i32$3 = $250_1; + i64toi32_i32$1 = i64toi32_i32$4 | i64toi32_i32$1 | 0; + $3_1 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + $3$hi = i64toi32_i32$1; + i64toi32_i32$4 = ($5_1 + 48 | 0) + 8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $4_1 = i64toi32_i32$1; + $4$hi = i64toi32_i32$5; + } + i64toi32_i32$5 = $1$hi; + i64toi32_i32$4 = $1_1; + i64toi32_i32$1 = 524288; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + $12_1 = i64toi32_i32$4 | i64toi32_i32$3 | 0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$5 = $9_1; + i64toi32_i32$4 = 0; + i64toi32_i32$3 = 3; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$5 << i64toi32_i32$0 | 0; + $144_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$0 | 0) | 0; + $144_1 = i64toi32_i32$5 << i64toi32_i32$0 | 0; + } + $2_1 = $144_1; + $2$hi = i64toi32_i32$4; + label$12 : { + label$13 : { + i64toi32_i32$4 = $10$hi; + i64toi32_i32$1 = $10_1; + i64toi32_i32$5 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$5 | 0)) { + $145_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $146_1 = 0 + } else { + $146_1 = 1 + } + $147_1 = $146_1; + } else { + $147_1 = 0 + } + $145_1 = $147_1; + } + if ($145_1) { + break label$13 + } + label$14 : { + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$2 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$2 | 0; + $1_1 = i64toi32_i32$0; + $1$hi = i64toi32_i32$2; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$1 = $12_1; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + $269$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$5 = $3_1; + $272_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $273$hi = i64toi32_i32$2; + i64toi32_i32$2 = $269$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$0 = $273$hi; + i64toi32_i32$1 = $272_1; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $4_1 = i64toi32_i32$3; + $4$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$5 = i64toi32_i32$4 | i64toi32_i32$5 | 0; + if (!!(i64toi32_i32$2 | i64toi32_i32$1 | 0 | i64toi32_i32$5 | 0)) { + break label$14 + } + i64toi32_i32$5 = 0; + $3_1 = 0; + $3$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $4_1 = 0; + $4$hi = i64toi32_i32$5; + break label$1; + } + i64toi32_i32$5 = $4$hi; + i64toi32_i32$4 = $4_1; + i64toi32_i32$2 = 524287; + i64toi32_i32$1 = -1; + if (i64toi32_i32$5 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$4 >>> 0 > i64toi32_i32$1 >>> 0 | 0) | 0) { + break label$12 + } + $282_1 = $5_1 + 32 | 0; + i64toi32_i32$4 = $1$hi; + $283_1 = $1_1; + $283$hi = i64toi32_i32$4; + i64toi32_i32$4 = $4$hi; + $284_1 = $4_1; + $284$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$4 = $4$hi; + $7_1 = !($4_1 | i64toi32_i32$4 | 0); + i64toi32_i32$0 = $7_1; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$2 = i64toi32_i32$0 ? $1_1 : $4_1; + i64toi32_i32$1 = i64toi32_i32$0 ? i64toi32_i32$4 : i64toi32_i32$5; + i64toi32_i32$4 = Math_clz32(i64toi32_i32$1); + i64toi32_i32$0 = 0; + if ((i64toi32_i32$4 | 0) == (32 | 0)) { + $148_1 = Math_clz32(i64toi32_i32$2) + 32 | 0 + } else { + $148_1 = i64toi32_i32$4 + } + $291$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $294$hi = i64toi32_i32$0; + i64toi32_i32$0 = $291$hi; + i64toi32_i32$2 = $148_1; + i64toi32_i32$1 = $294$hi; + i64toi32_i32$4 = $7_1 << 6 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $7_1 = i64toi32_i32$5 + -12 | 0; + i64toi32_i32$3 = $283$hi; + i64toi32_i32$2 = $284$hi; + $3262($282_1 | 0, $283_1 | 0, i64toi32_i32$3 | 0, $284_1 | 0, i64toi32_i32$2 | 0, $7_1 | 0); + $6_1 = $6_1 - $7_1 | 0; + i64toi32_i32$0 = $5_1 + 40 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $4_1 = i64toi32_i32$2; + $4$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $1_1 = i64toi32_i32$3; + $1$hi = i64toi32_i32$2; + break label$12; + } + i64toi32_i32$2 = $4$hi; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = $12$hi; + i64toi32_i32$4 = $12_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $309_1 = i64toi32_i32$1; + $309$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$4 = $2_1; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $1_1 = i64toi32_i32$3; + $1$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$4 = $3_1; + $315_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0 | 0) | 0; + i64toi32_i32$5 = 0; + $316$hi = i64toi32_i32$5; + i64toi32_i32$5 = $309$hi; + i64toi32_i32$4 = $309_1; + i64toi32_i32$1 = $316$hi; + i64toi32_i32$2 = $315_1; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $4_1 = i64toi32_i32$0; + $4$hi = i64toi32_i32$3; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$4 = 1048576; + i64toi32_i32$2 = 0; + i64toi32_i32$4 = i64toi32_i32$3 & i64toi32_i32$4 | 0; + if (!(i64toi32_i32$5 & i64toi32_i32$2 | 0 | i64toi32_i32$4 | 0)) { + break label$12 + } + i64toi32_i32$4 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $149_1 = i64toi32_i32$4 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$4 >>> i64toi32_i32$1 | 0; + $149_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$1 | 0) | 0; + } + $322_1 = $149_1; + $322$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$4 = $4_1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = 63; + i64toi32_i32$1 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + $150_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $150_1 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + } + $324$hi = i64toi32_i32$3; + i64toi32_i32$3 = $322$hi; + i64toi32_i32$5 = $322_1; + i64toi32_i32$4 = $324$hi; + i64toi32_i32$2 = $150_1; + i64toi32_i32$4 = i64toi32_i32$3 | i64toi32_i32$4 | 0; + $325_1 = i64toi32_i32$5 | i64toi32_i32$2 | 0; + $325$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$5 = i64toi32_i32$4 & i64toi32_i32$5 | 0; + $327_1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $327$hi = i64toi32_i32$5; + i64toi32_i32$5 = $325$hi; + i64toi32_i32$4 = $325_1; + i64toi32_i32$3 = $327$hi; + i64toi32_i32$2 = $327_1; + i64toi32_i32$3 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + $1_1 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + $1$hi = i64toi32_i32$3; + $6_1 = $6_1 + 1 | 0; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $154_1 = i64toi32_i32$3 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$3 >>> i64toi32_i32$1 | 0; + $154_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + $4_1 = $154_1; + $4$hi = i64toi32_i32$4; + } + i64toi32_i32$4 = $11$hi; + i64toi32_i32$3 = $11_1; + i64toi32_i32$5 = -2147483648; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = i64toi32_i32$4 & i64toi32_i32$5 | 0; + $2_1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $2$hi = i64toi32_i32$5; + label$15 : { + if (($6_1 | 0) < (32767 | 0)) { + break label$15 + } + i64toi32_i32$5 = $2$hi; + i64toi32_i32$4 = $2_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + $4_1 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + $4$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $3_1 = 0; + $3$hi = i64toi32_i32$3; + break label$1; + } + $7_1 = 0; + label$16 : { + label$17 : { + if (($6_1 | 0) <= (0 | 0)) { + break label$17 + } + $7_1 = $6_1; + break label$16; + } + i64toi32_i32$3 = $1$hi; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$4 = $4$hi; + $3262($5_1 + 16 | 0 | 0, $1_1 | 0, i64toi32_i32$3 | 0, $4_1 | 0, i64toi32_i32$4 | 0, $6_1 + 127 | 0 | 0); + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$3 = $4$hi; + $3272($5_1 | 0, $1_1 | 0, i64toi32_i32$4 | 0, $4_1 | 0, i64toi32_i32$3 | 0, 1 - $6_1 | 0 | 0); + i64toi32_i32$5 = $5_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $354_1 = i64toi32_i32$3; + $354$hi = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $356_1 = i64toi32_i32$4; + $356$hi = i64toi32_i32$3; + i64toi32_i32$5 = (i64toi32_i32$5 + 16 | 0) + 8 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $360_1 = i64toi32_i32$3; + $360$hi = i64toi32_i32$4; + i64toi32_i32$4 = $356$hi; + i64toi32_i32$5 = $356_1; + i64toi32_i32$3 = $360$hi; + i64toi32_i32$2 = $360_1; + i64toi32_i32$3 = i64toi32_i32$4 | i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 | i64toi32_i32$2 | 0; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 0; + $362_1 = (i64toi32_i32$4 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$5 | 0) | 0; + i64toi32_i32$4 = 0; + $363$hi = i64toi32_i32$4; + i64toi32_i32$4 = $354$hi; + i64toi32_i32$2 = $354_1; + i64toi32_i32$3 = $363$hi; + i64toi32_i32$5 = $362_1; + i64toi32_i32$3 = i64toi32_i32$4 | i64toi32_i32$3 | 0; + $1_1 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + $1$hi = i64toi32_i32$3; + i64toi32_i32$4 = $5_1 + 8 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $4_1 = i64toi32_i32$3; + $4$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $1$hi; + i64toi32_i32$4 = $1_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 3; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $155_1 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + $155_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$1 | 0) | 0; + } + $369_1 = $155_1; + $369$hi = i64toi32_i32$3; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = 61; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + $156_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$1 | 0) | 0; + $156_1 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + } + $371$hi = i64toi32_i32$4; + i64toi32_i32$4 = $369$hi; + i64toi32_i32$3 = $369_1; + i64toi32_i32$2 = $371$hi; + i64toi32_i32$5 = $156_1; + i64toi32_i32$2 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + $3_1 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + $3$hi = i64toi32_i32$2; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$4 = $4_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 3; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $157_1 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + $157_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$1 | 0) | 0; + } + i64toi32_i32$2 = $157_1; + i64toi32_i32$4 = 65535; + i64toi32_i32$5 = -1; + i64toi32_i32$4 = i64toi32_i32$3 & i64toi32_i32$4 | 0; + $375$hi = i64toi32_i32$4; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$4 = $375$hi; + i64toi32_i32$3 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$5 = $2_1; + i64toi32_i32$2 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + $377_1 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + $377$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$4 = $7_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 48; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + $158_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$1 | 0) | 0; + $158_1 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + } + $380$hi = i64toi32_i32$3; + i64toi32_i32$3 = $377$hi; + i64toi32_i32$2 = $377_1; + i64toi32_i32$4 = $380$hi; + i64toi32_i32$5 = $158_1; + i64toi32_i32$4 = i64toi32_i32$3 | i64toi32_i32$4 | 0; + $4_1 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + $4$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + $6_1 = $1_1 & 7 | 0; + label$18 : { + label$19 : { + label$20 : { + switch ($3270() | 0 | 0) { + case 0: + i64toi32_i32$4 = $4$hi; + $386_1 = $4_1; + $386$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$4 = 0; + $390$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = $390$hi; + i64toi32_i32$5 = $6_1 >>> 0 > 4 >>> 0; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $1_1 = i64toi32_i32$1; + $1$hi = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$5 = $3_1; + $394_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$4 = 0; + $395$hi = i64toi32_i32$4; + i64toi32_i32$4 = $386$hi; + i64toi32_i32$5 = $386_1; + i64toi32_i32$0 = $395$hi; + i64toi32_i32$3 = $394_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $4_1 = i64toi32_i32$2; + $4$hi = i64toi32_i32$1; + label$23 : { + if (($6_1 | 0) == (4 | 0)) { + break label$23 + } + i64toi32_i32$1 = $1$hi; + $3_1 = $1_1; + $3$hi = i64toi32_i32$1; + break label$19; + } + i64toi32_i32$1 = $4$hi; + $400_1 = $4_1; + $400$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$4 = $1_1; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + $2_1 = i64toi32_i32$4 & i64toi32_i32$3 | 0; + $2$hi = i64toi32_i32$5; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $3_1 = i64toi32_i32$0; + $3$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$3 = $2_1; + $408_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$5 = 0; + $409$hi = i64toi32_i32$5; + i64toi32_i32$5 = $400$hi; + i64toi32_i32$3 = $400_1; + i64toi32_i32$2 = $409$hi; + i64toi32_i32$1 = $408_1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $4_1 = i64toi32_i32$4; + $4$hi = i64toi32_i32$0; + break label$18; + case 1: + i64toi32_i32$0 = $4$hi; + $411_1 = $4_1; + $411$hi = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$5 = $2_1; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = 0; + $417_1 = ((i64toi32_i32$5 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | 0) & ($6_1 | 0) != (0 | 0) | 0; + i64toi32_i32$5 = 0; + $418$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$0 = $418$hi; + i64toi32_i32$3 = $417_1; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $1_1 = i64toi32_i32$2; + $1$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$3 = $3_1; + $422_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$5 = 0; + $423$hi = i64toi32_i32$5; + i64toi32_i32$5 = $411$hi; + i64toi32_i32$3 = $411_1; + i64toi32_i32$4 = $423$hi; + i64toi32_i32$1 = $422_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $4_1 = i64toi32_i32$0; + $4$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + $3_1 = $1_1; + $3$hi = i64toi32_i32$2; + break label$19; + case 2: + break label$20; + default: + break label$19; + }; + } + i64toi32_i32$2 = $4$hi; + $426_1 = $4_1; + $426$hi = i64toi32_i32$2; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $2$hi; + $432_1 = !($2_1 | i64toi32_i32$2 | 0) & ($6_1 | 0) != (0 | 0) | 0; + i64toi32_i32$2 = 0; + $433$hi = i64toi32_i32$2; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$5 = $3_1; + i64toi32_i32$3 = $433$hi; + i64toi32_i32$1 = $432_1; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $1_1 = i64toi32_i32$4; + $1$hi = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$1 = $3_1; + $437_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $438$hi = i64toi32_i32$2; + i64toi32_i32$2 = $426$hi; + i64toi32_i32$1 = $426_1; + i64toi32_i32$0 = $438$hi; + i64toi32_i32$5 = $437_1; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $4_1 = i64toi32_i32$3; + $4$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + $3_1 = $1_1; + $3$hi = i64toi32_i32$4; + } + if (!$6_1) { + break label$1 + } + } + $3271() | 0; + } + i64toi32_i32$4 = $3$hi; + i64toi32_i32$1 = $0_1; + HEAP32[i64toi32_i32$1 >> 2] = $3_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$4 = $4$hi; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $4_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$4; + global$0 = $5_1 + 112 | 0; + } + + function $3262($0_1, $1_1, $1$hi, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $4$hi = 0, $18_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $11$hi = 0, $18$hi = 0, $19_1 = 0, $19$hi = 0, $4_1 = 0, $24$hi = 0; + label$1 : { + label$2 : { + if (!($3_1 & 64 | 0)) { + break label$2 + } + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = 0; + $11$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$3 = $3_1 + -64 | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $18_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $18_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $2_1 = $18_1; + $2$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$1; + break label$1; + } + if (!$3_1) { + break label$1 + } + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = 0; + $18$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$3 = 64 - $3_1 | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $20_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $20_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $19_1 = $20_1; + $19$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = 0; + $4_1 = $3_1; + $4$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $21_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $21_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $24$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$2 = $19_1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $2_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $2$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $22_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $22_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $1_1 = $22_1; + $1$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $1$hi; + i64toi32_i32$0 = $0_1; + HEAP32[i64toi32_i32$0 >> 2] = $1_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $2_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$2; + } + + function $3263($0_1, $0$hi, $1_1, $1$hi, $2_1, $2$hi, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $5_1 = 0, $6_1 = 0, $5$hi = 0, $6$hi = 0, $35_1 = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, $8_1 = 0, $12_1 = 0, $17_1 = 0, $21_1 = 0, $27_1 = 0, $27$hi = 0, $30_1 = 0, $30$hi = 0, $40_1 = 0, $50_1 = 0, $50$hi = 0, $53_1 = 0, $53$hi = 0, $58_1 = 0, $68_1 = 0, $68$hi = 0, $71_1 = 0, $71$hi = 0; + $4_1 = 1; + label$1 : { + i64toi32_i32$0 = $0$hi; + i64toi32_i32$2 = $0_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 0; + $8_1 = (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$1 = -1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $5_1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $5$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$1 = 0; + $12_1 = i64toi32_i32$0 >>> 0 > i64toi32_i32$3 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = 2147418112; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0 ? $8_1 : $12_1) { + break label$1 + } + i64toi32_i32$1 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 0; + $17_1 = (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$2 = -1; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $6_1 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $6$hi = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$0 = 2147418112; + i64toi32_i32$2 = 0; + $21_1 = i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$3 >>> 0 > i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0 ? $17_1 : $21_1) { + break label$1 + } + label$2 : { + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $0$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$3 = $0$hi; + i64toi32_i32$1 = $0_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $27_1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $27$hi = i64toi32_i32$3; + i64toi32_i32$3 = $6$hi; + i64toi32_i32$3 = $5$hi; + i64toi32_i32$3 = $6$hi; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = $5$hi; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + $30_1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$3 = $27_1; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$1 = $30_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + if (!!(i64toi32_i32$3 | i64toi32_i32$1 | 0 | i64toi32_i32$2 | 0)) { + break label$2 + } + return 0 | 0; + } + label$3 : { + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$1 = $1_1; + i64toi32_i32$3 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$0 | 0)) { + $35_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$1 >>> 0) { + $36_1 = 0 + } else { + $36_1 = 1 + } + $37_1 = $36_1; + } else { + $37_1 = 0 + } + $35_1 = $37_1; + } + if ($35_1) { + break label$3 + } + $4_1 = -1; + i64toi32_i32$2 = $0$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $0$hi; + i64toi32_i32$1 = $0_1; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$0 = $2_1; + $40_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$3 = $3_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $38_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$3 >>> 0) { + $39_1 = 0 + } else { + $39_1 = 1 + } + $41_1 = $39_1; + } else { + $41_1 = 0 + } + $38_1 = $41_1; + } + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$2 = $3_1; + if ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0 ? $40_1 : $38_1) { + break label$1 + } + i64toi32_i32$3 = $0$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$3 = $0$hi; + i64toi32_i32$2 = $0_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = i64toi32_i32$3 ^ i64toi32_i32$0 | 0; + $50_1 = i64toi32_i32$2 ^ i64toi32_i32$1 | 0; + $50$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = i64toi32_i32$0 ^ i64toi32_i32$2 | 0; + $53_1 = i64toi32_i32$3 ^ i64toi32_i32$1 | 0; + $53$hi = i64toi32_i32$2; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$0 = $50_1; + i64toi32_i32$3 = $53$hi; + i64toi32_i32$1 = $53_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 0; + return (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | 0 | 0; + } + $4_1 = -1; + i64toi32_i32$2 = $0$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $0$hi; + i64toi32_i32$1 = $0_1; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$0 = $2_1; + $58_1 = i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$3 = $3_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $42_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $43_1 = 0 + } else { + $43_1 = 1 + } + $44_1 = $43_1; + } else { + $44_1 = 0 + } + $42_1 = $44_1; + } + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$2 = $3_1; + if ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0 ? $58_1 : $42_1) { + break label$1 + } + i64toi32_i32$3 = $0$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$3 = $0$hi; + i64toi32_i32$2 = $0_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = i64toi32_i32$3 ^ i64toi32_i32$0 | 0; + $68_1 = i64toi32_i32$2 ^ i64toi32_i32$1 | 0; + $68$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = i64toi32_i32$0 ^ i64toi32_i32$2 | 0; + $71_1 = i64toi32_i32$3 ^ i64toi32_i32$1 | 0; + $71$hi = i64toi32_i32$2; + i64toi32_i32$2 = $68$hi; + i64toi32_i32$0 = $68_1; + i64toi32_i32$3 = $71$hi; + i64toi32_i32$1 = $71_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 0; + $4_1 = (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | 0; + } + return $4_1 | 0; + } + + function $3264($0_1, $0$hi, $1_1, $1$hi, $2_1, $2$hi, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $5_1 = 0, $6_1 = 0, $4_1 = 0, $5$hi = 0, $6$hi = 0, $35_1 = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, $8_1 = 0, $12_1 = 0, $17_1 = 0, $21_1 = 0, $27_1 = 0, $27$hi = 0, $30_1 = 0, $30$hi = 0, $40_1 = 0, $50_1 = 0, $50$hi = 0, $53_1 = 0, $53$hi = 0, $58_1 = 0, $68_1 = 0, $68$hi = 0, $71_1 = 0, $71$hi = 0; + $4_1 = -1; + label$1 : { + i64toi32_i32$0 = $0$hi; + i64toi32_i32$2 = $0_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 0; + $8_1 = (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$1 = -1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $5_1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $5$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$1 = 0; + $12_1 = i64toi32_i32$0 >>> 0 > i64toi32_i32$3 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = 2147418112; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0 ? $8_1 : $12_1) { + break label$1 + } + i64toi32_i32$1 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 0; + $17_1 = (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$2 = -1; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $6_1 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $6$hi = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$0 = 2147418112; + i64toi32_i32$2 = 0; + $21_1 = i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$3 >>> 0 > i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0 ? $17_1 : $21_1) { + break label$1 + } + label$2 : { + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $0$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$3 = $0$hi; + i64toi32_i32$1 = $0_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $27_1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $27$hi = i64toi32_i32$3; + i64toi32_i32$3 = $6$hi; + i64toi32_i32$3 = $5$hi; + i64toi32_i32$3 = $6$hi; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = $5$hi; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + $30_1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$3 = $27_1; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$1 = $30_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + if (!!(i64toi32_i32$3 | i64toi32_i32$1 | 0 | i64toi32_i32$2 | 0)) { + break label$2 + } + return 0 | 0; + } + label$3 : { + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$1 = $1_1; + i64toi32_i32$3 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$0 | 0)) { + $35_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$1 >>> 0) { + $36_1 = 0 + } else { + $36_1 = 1 + } + $37_1 = $36_1; + } else { + $37_1 = 0 + } + $35_1 = $37_1; + } + if ($35_1) { + break label$3 + } + i64toi32_i32$2 = $0$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $0$hi; + i64toi32_i32$1 = $0_1; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$0 = $2_1; + $40_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$3 = $3_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $38_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$3 >>> 0) { + $39_1 = 0 + } else { + $39_1 = 1 + } + $41_1 = $39_1; + } else { + $41_1 = 0 + } + $38_1 = $41_1; + } + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$2 = $3_1; + if ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0 ? $40_1 : $38_1) { + break label$1 + } + i64toi32_i32$3 = $0$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$3 = $0$hi; + i64toi32_i32$2 = $0_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = i64toi32_i32$3 ^ i64toi32_i32$0 | 0; + $50_1 = i64toi32_i32$2 ^ i64toi32_i32$1 | 0; + $50$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = i64toi32_i32$0 ^ i64toi32_i32$2 | 0; + $53_1 = i64toi32_i32$3 ^ i64toi32_i32$1 | 0; + $53$hi = i64toi32_i32$2; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$0 = $50_1; + i64toi32_i32$3 = $53$hi; + i64toi32_i32$1 = $53_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 0; + return (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | 0 | 0; + } + i64toi32_i32$2 = $0$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $0$hi; + i64toi32_i32$1 = $0_1; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$0 = $2_1; + $58_1 = i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$3 = $3_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $42_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $43_1 = 0 + } else { + $43_1 = 1 + } + $44_1 = $43_1; + } else { + $44_1 = 0 + } + $42_1 = $44_1; + } + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$2 = $3_1; + if ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0 ? $58_1 : $42_1) { + break label$1 + } + i64toi32_i32$3 = $0$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$3 = $0$hi; + i64toi32_i32$2 = $0_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = i64toi32_i32$3 ^ i64toi32_i32$0 | 0; + $68_1 = i64toi32_i32$2 ^ i64toi32_i32$1 | 0; + $68$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = i64toi32_i32$0 ^ i64toi32_i32$2 | 0; + $71_1 = i64toi32_i32$3 ^ i64toi32_i32$1 | 0; + $71$hi = i64toi32_i32$2; + i64toi32_i32$2 = $68$hi; + i64toi32_i32$0 = $68_1; + i64toi32_i32$3 = $71$hi; + i64toi32_i32$1 = $71_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 0; + $4_1 = (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | 0; + } + return $4_1 | 0; + } + + function $3265($0_1, $1_1, $1$hi, $2_1, $2$hi, $3_1, $3$hi, $4_1, $4$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $15$hi = 0, $13$hi = 0, $15_1 = 0, $16$hi = 0, $13_1 = 0, i64toi32_i32$6 = 0, $5_1 = 0, $18$hi = 0, $19$hi = 0, $17$hi = 0, $16_1 = 0, $18_1 = 0, $19_1 = 0, $11$hi = 0, $17_1 = 0, $12$hi = 0, $20$hi = 0, $11_1 = 0, $12_1 = 0, $20_1 = 0, $10$hi = 0, $10_1 = 0, $8_1 = 0, $6_1 = 0, $14_1 = 0, $14$hi = 0, $7_1 = 0, $21$hi = 0, $9_1 = 0, $470_1 = 0, $471_1 = 0, $475_1 = 0, $476_1 = 0, $478_1 = 0, $479_1 = 0, $480_1 = 0, $481_1 = 0, $482_1 = 0, $484_1 = 0, $485_1 = 0, $486_1 = 0, $488_1 = 0, $489_1 = 0, $490_1 = 0, $491_1 = 0, $494_1 = 0, $495_1 = 0, $496_1 = 0, $497_1 = 0, $498_1 = 0, $499_1 = 0, $501_1 = 0, $502_1 = 0, $503_1 = 0, $504_1 = 0, $505_1 = 0, $507_1 = 0, $508_1 = 0, $512_1 = 0, $513_1 = 0, $514_1 = 0, $515_1 = 0, $516_1 = 0, $518_1 = 0, $521_1 = 0, $522_1 = 0, $523_1 = 0, $524_1 = 0, $525_1 = 0, $526_1 = 0, $527_1 = 0, $528_1 = 0, $530_1 = 0, $21_1 = 0, $531_1 = 0, $532_1 = 0, $533_1 = 0, $537_1 = 0, $538_1 = 0, $539_1 = 0, $540_1 = 0, $542_1 = 0, $543_1 = 0, $544_1 = 0, $546_1 = 0, $547_1 = 0, $548_1 = 0, $549_1 = 0, $550_1 = 0, $552_1 = 0, $555_1 = 0, $556_1 = 0, $557_1 = 0, $558_1 = 0, $559_1 = 0, $560_1 = 0, $562_1 = 0, $563_1 = 0, $564_1 = 0, $565_1 = 0, $567_1 = 0, $568_1 = 0, $569_1 = 0, $570_1 = 0, $572_1 = 0, $573_1 = 0, $575_1 = 0, $576_1 = 0, $48_1 = 0, $52_1 = 0, $59_1 = 0, $63_1 = 0, $72_1 = 0, $72$hi = 0, $77_1 = 0, $77$hi = 0, $85_1 = 0, $85$hi = 0, $101_1 = 0, $102_1 = 0, $102$hi = 0, $103_1 = 0, $103$hi = 0, $110$hi = 0, $113$hi = 0, $128_1 = 0, $129_1 = 0, $129$hi = 0, $130_1 = 0, $130$hi = 0, $137$hi = 0, $140$hi = 0, $155_1 = 0, $157_1 = 0, $157$hi = 0, $161$hi = 0, $172_1 = 0, $172$hi = 0, $173$hi = 0, $176_1 = 0, $179_1 = 0, $179$hi = 0, $184$hi = 0, $194_1 = 0, $194$hi = 0, $195$hi = 0, $197_1 = 0, $200_1 = 0, $200$hi = 0, $205$hi = 0, $215_1 = 0, $215$hi = 0, $216$hi = 0, $218_1 = 0, $221_1 = 0, $221$hi = 0, $226$hi = 0, $236_1 = 0, $236$hi = 0, $237$hi = 0, $239_1 = 0, $242_1 = 0, $242$hi = 0, $247$hi = 0, $256_1 = 0, $256$hi = 0, $257$hi = 0, $265_1 = 0, $265$hi = 0, $269$hi = 0, $274_1 = 0, $274$hi = 0, $279_1 = 0, $279$hi = 0, $286_1 = 0, $286$hi = 0, $289_1 = 0, $289$hi = 0, $292_1 = 0, $294$hi = 0, $295_1 = 0, $295$hi = 0, $298_1 = 0, $298$hi = 0, $299_1 = 0, $299$hi = 0, $305_1 = 0, $305$hi = 0, $309_1 = 0, $310$hi = 0, $311_1 = 0, $311$hi = 0, $312_1 = 0, $312$hi = 0, $313_1 = 0, $313$hi = 0, $319_1 = 0, $319$hi = 0, $320_1 = 0, $320$hi = 0, $325_1 = 0, $325$hi = 0, $332_1 = 0, $332$hi = 0, $333$hi = 0, $335_1 = 0, $336_1 = 0, $336$hi = 0, $338_1 = 0, $338$hi = 0, $341_1 = 0, $343$hi = 0, $344_1 = 0, $344$hi = 0, $347_1 = 0, $347$hi = 0, $348$hi = 0, $349$hi = 0, $353_1 = 0, $354$hi = 0, $355$hi = 0, $357_1 = 0, $358$hi = 0, $359$hi = 0, $366_1 = 0, $366$hi = 0, $370_1 = 0, $370$hi = 0, $371_1 = 0, $371$hi = 0, $375_1 = 0, $375$hi = 0, $378$hi = 0, $383_1 = 0, $383$hi = 0, $385_1 = 0, $385$hi = 0, $388_1 = 0, $390$hi = 0, $391_1 = 0, $391$hi = 0, $394_1 = 0, $394$hi = 0, $395$hi = 0, $396_1 = 0, $396$hi = 0, $397_1 = 0, $397$hi = 0, $410_1 = 0, $410$hi = 0, $417_1 = 0, $417$hi = 0, $418$hi = 0, $420_1 = 0, $421_1 = 0, $421$hi = 0, $423_1 = 0, $423$hi = 0, $426_1 = 0, $428$hi = 0, $429_1 = 0, $429$hi = 0, $432_1 = 0, $432$hi = 0, $433$hi = 0, $434$hi = 0, $438_1 = 0, $439$hi = 0, $440_1 = 0, $440$hi = 0, $445_1 = 0, $446$hi = 0, $451_1 = 0, $451$hi = 0, $453_1 = 0, $453$hi = 0, $455$hi = 0, $460_1 = 0, $460$hi = 0, $464_1 = 0, $464$hi = 0, $468_1 = 0, $468$hi = 0, $472_1 = 0, $473_1 = 0, $473$hi = 0, $474_1 = 0, $474$hi = 0, $477_1 = 0, $477$hi = 0, $483_1 = 0, $483$hi = 0, $487_1 = 0, $488$hi = 0, $489$hi = 0, $492_1 = 0, $492$hi = 0, $493_1 = 0, $493$hi = 0, $500_1 = 0, $500$hi = 0, $506_1 = 0, $506$hi = 0, $508$hi = 0, $509_1 = 0, $509$hi = 0, $510_1 = 0, $510$hi = 0, $511_1 = 0, $511$hi = 0, $513$hi = 0, $517_1 = 0, $518$hi = 0, $519_1 = 0, $519$hi = 0, $520_1 = 0, $520$hi = 0, $529_1 = 0, $529$hi = 0, $534_1 = 0, $534$hi = 0, $535_1 = 0, $535$hi = 0, $536_1 = 0, $536$hi = 0, $541_1 = 0, $541$hi = 0, $545_1 = 0, $546$hi = 0, $547$hi = 0, $551_1 = 0, $552$hi = 0, $553_1 = 0, $553$hi = 0, $554_1 = 0, $554$hi = 0, $561_1 = 0, $561$hi = 0, $566_1 = 0, $566$hi = 0, $571_1 = 0, $571$hi = 0, $574_1 = 0, $574$hi = 0, $577_1 = 0, $578$hi = 0, $581_1 = 0, $582$hi = 0, $583$hi = 0, $586_1 = 0, $587$hi = 0, $589$hi = 0, $590_1 = 0, $590$hi = 0, $594_1 = 0, $595$hi = 0, $596_1 = 0, $596$hi = 0, $597_1 = 0, $597$hi = 0, $598_1 = 0, $598$hi = 0, $605_1 = 0, $605$hi = 0, $608_1 = 0, $608$hi = 0, $611_1 = 0, $613$hi = 0, $614_1 = 0, $614$hi = 0, $618_1 = 0, $619_1 = 0, $619$hi = 0, $620_1 = 0, $620$hi = 0, $622$hi = 0, $623$hi = 0, $625_1 = 0, $626$hi = 0, $627$hi = 0, $631_1 = 0, $632$hi = 0, $637$hi = 0, $646_1 = 0, $647$hi = 0, $648_1 = 0, $648$hi = 0, $651_1 = 0, $651$hi = 0, $657_1 = 0, $657$hi = 0, $658_1 = 0, $658$hi = 0, $662_1 = 0, $662$hi = 0, $667_1 = 0, $668$hi = 0, $669_1 = 0, $669$hi = 0, $670_1 = 0, $670$hi = 0, $672$hi = 0, $673_1 = 0, $673$hi = 0, $674_1 = 0, $674$hi = 0, $676$hi = 0, $677_1 = 0, $677$hi = 0, $678$hi = 0, $681_1 = 0, $681$hi = 0, $682$hi = 0, $685_1 = 0, $685$hi = 0, $687_1 = 0, $687$hi = 0, $689$hi = 0, $578_1 = 0, $691_1 = 0, $691$hi = 0, $694_1 = 0, $694$hi = 0, $695_1 = 0, $695$hi = 0, $696$hi = 0, $699_1 = 0, $699$hi = 0, $700_1 = 0, $700$hi = 0, $702_1 = 0, $702$hi = 0, $705_1 = 0, $707$hi = 0, $708_1 = 0, $708$hi = 0, $709$hi = 0, $710$hi = 0, $720_1 = 0, $720$hi = 0, $722_1 = 0, $722$hi = 0, $724$hi = 0, $734_1 = 0, $735$hi = 0, $736_1 = 0, $736$hi = 0, $739_1 = 0, $739$hi = 0, $740_1 = 0, $740$hi = 0, $745_1 = 0, $745$hi = 0, $746_1 = 0, $746$hi = 0, $748$hi = 0, $754_1 = 0, $754$hi = 0, $759_1 = 0, $760$hi = 0, $761_1 = 0, $761$hi = 0, $762_1 = 0, $762$hi = 0, $764$hi = 0, $765_1 = 0, $765$hi = 0, $766_1 = 0, $766$hi = 0, $768$hi = 0, $769_1 = 0, $769$hi = 0, $770_1 = 0, $770$hi = 0, $775_1 = 0, $775$hi = 0, $776$hi = 0, $779_1 = 0, $779$hi = 0, $781_1 = 0, $781$hi = 0, $784_1 = 0, $784$hi = 0, $786$hi = 0, $579_1 = 0, $788_1 = 0, $788$hi = 0, $789$hi = 0, $792_1 = 0, $792$hi = 0, $793_1 = 0, $793$hi = 0, $794_1 = 0, $794$hi = 0, $796_1 = 0, $796$hi = 0, $799_1 = 0, $801$hi = 0, $802_1 = 0, $802$hi = 0, $803$hi = 0, $804$hi = 0, $820_1 = 0, $820$hi = 0, $821_1 = 0, $821$hi = 0, $823$hi = 0, $825_1 = 0, $827_1 = 0, $827$hi = 0, $829$hi = 0, $833_1 = 0, $837_1 = 0, $838$hi = 0, $842_1 = 0, $843$hi = 0, $853$hi = 0, $855_1 = 0, $855$hi = 0, $856_1 = 0, $856$hi = 0, $857_1 = 0, $857$hi = 0, $859$hi = 0, $861_1 = 0, $863_1 = 0, $863$hi = 0, $865$hi = 0, $869_1 = 0, $873_1 = 0, $874$hi = 0, $878_1 = 0, $879$hi = 0, $880$hi = 0, $896_1 = 0; + $5_1 = global$0 - 192 | 0; + global$0 = $5_1; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = 65535; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $10_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = 65535; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $11_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $11$hi = i64toi32_i32$2; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$0 = i64toi32_i32$2 ^ i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; + i64toi32_i32$1 = -2147483648; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $12_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 48; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $470_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $470_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $6_1 = $470_1 & 32767 | 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 48; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $471_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $471_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + $7_1 = $471_1 & 32767 | 0; + if (($7_1 + -1 | 0) >>> 0 > 32765 >>> 0) { + break label$4 + } + $8_1 = 0; + if (($6_1 + -1 | 0) >>> 0 < 32766 >>> 0) { + break label$3 + } + } + label$5 : { + i64toi32_i32$0 = $1$hi; + $48_1 = !($1_1 | i64toi32_i32$0 | 0); + i64toi32_i32$0 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $13_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $13$hi = i64toi32_i32$1; + i64toi32_i32$0 = $13_1; + i64toi32_i32$2 = 2147418112; + i64toi32_i32$3 = 0; + $52_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$3 = $13_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0 ? $48_1 : $52_1) { + break label$5 + } + i64toi32_i32$3 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$0 = 32768; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + $12_1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $12$hi = i64toi32_i32$0; + break label$2; + } + label$6 : { + i64toi32_i32$0 = $3$hi; + $59_1 = !($3_1 | i64toi32_i32$0 | 0); + i64toi32_i32$0 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = 2147483647; + i64toi32_i32$1 = -1; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $2_1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $2$hi = i64toi32_i32$2; + i64toi32_i32$0 = $2_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$1 = 0; + $63_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$1 = $2_1; + i64toi32_i32$2 = 2147418112; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0 ? $59_1 : $63_1) { + break label$6 + } + i64toi32_i32$1 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = 32768; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $12_1 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + $12$hi = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + $1_1 = $3_1; + $1$hi = i64toi32_i32$0; + break label$2; + } + label$7 : { + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$1 = $13_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0; + $72_1 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + $72$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$2 = $72_1; + i64toi32_i32$1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) { + break label$7 + } + label$8 : { + i64toi32_i32$3 = $3$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = i64toi32_i32$3 ^ i64toi32_i32$1 | 0; + $77_1 = i64toi32_i32$2 ^ i64toi32_i32$0 | 0; + $77$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = $77$hi; + i64toi32_i32$0 = $77_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + if (!!(i64toi32_i32$3 | i64toi32_i32$0 | 0 | i64toi32_i32$2 | 0)) { + break label$8 + } + i64toi32_i32$2 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$2; + i64toi32_i32$2 = 2147450880; + $12_1 = 0; + $12$hi = i64toi32_i32$2; + break label$2; + } + i64toi32_i32$2 = $12$hi; + i64toi32_i32$1 = $12_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $12_1 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $12$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$3; + break label$2; + } + label$9 : { + i64toi32_i32$3 = $3$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = i64toi32_i32$3 ^ i64toi32_i32$1 | 0; + $85_1 = i64toi32_i32$2 ^ i64toi32_i32$0 | 0; + $85$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = $85$hi; + i64toi32_i32$0 = $85_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | 0) { + break label$9 + } + i64toi32_i32$1 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$1; + break label$2; + } + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$3 = $13_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) { + break label$1 + } + label$10 : { + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | 0) { + break label$10 + } + i64toi32_i32$1 = $12$hi; + i64toi32_i32$0 = $12_1; + i64toi32_i32$2 = 2147418112; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $12_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $12$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$2; + break label$2; + } + $8_1 = 0; + label$11 : { + i64toi32_i32$2 = $13$hi; + i64toi32_i32$1 = $13_1; + i64toi32_i32$0 = 65535; + i64toi32_i32$3 = -1; + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) { + break label$11 + } + $101_1 = $5_1 + 176 | 0; + i64toi32_i32$1 = $1$hi; + $102_1 = $1_1; + $102$hi = i64toi32_i32$1; + i64toi32_i32$1 = $11$hi; + $103_1 = $11_1; + $103$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = $11$hi; + $8_1 = !($11_1 | i64toi32_i32$1 | 0); + i64toi32_i32$4 = $8_1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$2 = $11$hi; + i64toi32_i32$0 = i64toi32_i32$4 ? $1_1 : $11_1; + i64toi32_i32$3 = i64toi32_i32$4 ? i64toi32_i32$1 : i64toi32_i32$2; + i64toi32_i32$1 = Math_clz32(i64toi32_i32$3); + i64toi32_i32$4 = 0; + if ((i64toi32_i32$1 | 0) == (32 | 0)) { + $475_1 = Math_clz32(i64toi32_i32$0) + 32 | 0 + } else { + $475_1 = i64toi32_i32$1 + } + $110$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $113$hi = i64toi32_i32$4; + i64toi32_i32$4 = $110$hi; + i64toi32_i32$0 = $475_1; + i64toi32_i32$3 = $113$hi; + i64toi32_i32$1 = $8_1 << 6 | 0; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $8_1 = i64toi32_i32$2; + i64toi32_i32$5 = $102$hi; + i64toi32_i32$0 = $103$hi; + $3262($101_1 | 0, $102_1 | 0, i64toi32_i32$5 | 0, $103_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 + -15 | 0 | 0); + $8_1 = 16 - i64toi32_i32$2 | 0; + i64toi32_i32$4 = $5_1 + 184 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $11_1 = i64toi32_i32$0; + $11$hi = i64toi32_i32$5; + i64toi32_i32$4 = $5_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 176 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 180 | 0) >> 2] | 0; + $1_1 = i64toi32_i32$5; + $1$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $2$hi; + i64toi32_i32$4 = $2_1; + i64toi32_i32$5 = 65535; + i64toi32_i32$1 = -1; + if (i64toi32_i32$0 >>> 0 > i64toi32_i32$5 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$4 >>> 0 > i64toi32_i32$1 >>> 0 | 0) | 0) { + break label$3 + } + $128_1 = $5_1 + 160 | 0; + i64toi32_i32$4 = $3$hi; + $129_1 = $3_1; + $129$hi = i64toi32_i32$4; + i64toi32_i32$4 = $10$hi; + $130_1 = $10_1; + $130$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$4 = $10$hi; + $9_1 = !($10_1 | i64toi32_i32$4 | 0); + i64toi32_i32$3 = $9_1; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$0 = $10$hi; + i64toi32_i32$5 = i64toi32_i32$3 ? $3_1 : $10_1; + i64toi32_i32$1 = i64toi32_i32$3 ? i64toi32_i32$4 : i64toi32_i32$0; + i64toi32_i32$4 = Math_clz32(i64toi32_i32$1); + i64toi32_i32$3 = 0; + if ((i64toi32_i32$4 | 0) == (32 | 0)) { + $476_1 = Math_clz32(i64toi32_i32$5) + 32 | 0 + } else { + $476_1 = i64toi32_i32$4 + } + $137$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $140$hi = i64toi32_i32$3; + i64toi32_i32$3 = $137$hi; + i64toi32_i32$5 = $476_1; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$4 = $9_1 << 6 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $9_1 = i64toi32_i32$0; + i64toi32_i32$2 = $129$hi; + i64toi32_i32$5 = $130$hi; + $3262($128_1 | 0, $129_1 | 0, i64toi32_i32$2 | 0, $130_1 | 0, i64toi32_i32$5 | 0, i64toi32_i32$0 + -15 | 0 | 0); + $8_1 = (i64toi32_i32$0 + $8_1 | 0) + -16 | 0; + i64toi32_i32$3 = $5_1 + 168 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $10_1 = i64toi32_i32$5; + $10$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 160 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 164 | 0) >> 2] | 0; + $3_1 = i64toi32_i32$2; + $3$hi = i64toi32_i32$5; + } + $155_1 = $5_1 + 144 | 0; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = 0; + i64toi32_i32$4 = 49; + i64toi32_i32$1 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $478_1 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + $478_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$1 | 0) | 0; + } + $157_1 = $478_1; + $157$hi = i64toi32_i32$2; + i64toi32_i32$2 = $10$hi; + i64toi32_i32$5 = $10_1; + i64toi32_i32$3 = 65536; + i64toi32_i32$4 = 0; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $14_1 = i64toi32_i32$5 | i64toi32_i32$4 | 0; + $14$hi = i64toi32_i32$3; + i64toi32_i32$2 = $14_1; + i64toi32_i32$5 = 0; + i64toi32_i32$4 = 15; + i64toi32_i32$1 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + $479_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$1 | 0) | 0; + $479_1 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + } + $161$hi = i64toi32_i32$5; + i64toi32_i32$5 = $157$hi; + i64toi32_i32$3 = $157_1; + i64toi32_i32$2 = $161$hi; + i64toi32_i32$4 = $479_1; + i64toi32_i32$2 = i64toi32_i32$5 | i64toi32_i32$2 | 0; + $2_1 = i64toi32_i32$3 | i64toi32_i32$4 | 0; + $2$hi = i64toi32_i32$2; + i64toi32_i32$2 = 1963258675; + i64toi32_i32$5 = -102865788; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$4 = $2_1; + i64toi32_i32$1 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + $4_1 = i64toi32_i32$1; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$4 = 0; + $3274($155_1 | 0, $2_1 | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$4 | 0); + i64toi32_i32$5 = ($5_1 + 144 | 0) + 8 | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $172_1 = i64toi32_i32$4; + $172$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = 0; + i64toi32_i32$4 = $172$hi; + i64toi32_i32$0 = $172_1; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + $173$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $173$hi; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$0 = 0; + $3274($5_1 + 128 | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$5 | 0, $4_1 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$0 | 0); + $176_1 = $5_1 + 112 | 0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 128 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 132 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 63; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $480_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $480_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$4 | 0) | 0; + } + $179_1 = $480_1; + $179$hi = i64toi32_i32$0; + i64toi32_i32$2 = ($5_1 + 128 | 0) + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $481_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$4 | 0) | 0; + $481_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $184$hi = i64toi32_i32$0; + i64toi32_i32$0 = $179$hi; + i64toi32_i32$5 = $179_1; + i64toi32_i32$2 = $184$hi; + i64toi32_i32$1 = $481_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $4_1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + $4$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = 0; + $3274($176_1 | 0, $4_1 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$5 | 0, $2_1 | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$5 = ($5_1 + 112 | 0) + 8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $194_1 = i64toi32_i32$1; + $194$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 0; + i64toi32_i32$1 = $194$hi; + i64toi32_i32$2 = $194_1; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + $195$hi = i64toi32_i32$3; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = $195$hi; + i64toi32_i32$2 = 0; + $3274($5_1 + 96 | 0 | 0, $4_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$2 | 0); + $197_1 = $5_1 + 80 | 0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 100 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $482_1 = i64toi32_i32$0 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$1 | 0; + $482_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + $200_1 = $482_1; + $200$hi = i64toi32_i32$2; + i64toi32_i32$0 = ($5_1 + 96 | 0) + 8 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + $484_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $484_1 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + } + $205$hi = i64toi32_i32$2; + i64toi32_i32$2 = $200$hi; + i64toi32_i32$5 = $200_1; + i64toi32_i32$0 = $205$hi; + i64toi32_i32$3 = $484_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $4_1 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$3 = 0; + $3274($197_1 | 0, $4_1 | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$5 | 0, $2_1 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$3 | 0); + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$5 = ($5_1 + 80 | 0) + 8 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $215_1 = i64toi32_i32$3; + $215$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = $215$hi; + i64toi32_i32$0 = $215_1; + i64toi32_i32$1 = i64toi32_i32$5 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $216$hi = i64toi32_i32$4; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = $216$hi; + i64toi32_i32$0 = 0; + $3274($5_1 + 64 | 0 | 0, $4_1 | 0, i64toi32_i32$4 | 0, 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$0 | 0); + $218_1 = $5_1 + 48 | 0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 68 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = 63; + i64toi32_i32$3 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $485_1 = i64toi32_i32$2 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$3 | 0; + $485_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $221_1 = $485_1; + $221$hi = i64toi32_i32$0; + i64toi32_i32$2 = ($5_1 + 64 | 0) + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = 1; + i64toi32_i32$3 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $486_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $486_1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + } + $226$hi = i64toi32_i32$0; + i64toi32_i32$0 = $221$hi; + i64toi32_i32$5 = $221_1; + i64toi32_i32$2 = $226$hi; + i64toi32_i32$4 = $486_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $4_1 = i64toi32_i32$5 | i64toi32_i32$4 | 0; + $4$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$4 = 0; + $3274($218_1 | 0, $4_1 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$5 | 0, $2_1 | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$4 | 0); + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$5 = ($5_1 + 48 | 0) + 8 | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $236_1 = i64toi32_i32$4; + $236$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 0; + i64toi32_i32$4 = $236$hi; + i64toi32_i32$2 = $236_1; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$1 | 0; + $237$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = $237$hi; + i64toi32_i32$2 = 0; + $3274($5_1 + 32 | 0 | 0, $4_1 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$3 | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$2 | 0); + $239_1 = $5_1 + 16 | 0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = 63; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $488_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $488_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$4 | 0) | 0; + } + $242_1 = $488_1; + $242$hi = i64toi32_i32$2; + i64toi32_i32$0 = ($5_1 + 32 | 0) + 8 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $489_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$4 | 0) | 0; + $489_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $247$hi = i64toi32_i32$2; + i64toi32_i32$2 = $242$hi; + i64toi32_i32$5 = $242_1; + i64toi32_i32$0 = $247$hi; + i64toi32_i32$1 = $489_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $4_1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = 0; + $3274($239_1 | 0, $4_1 | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$5 | 0, $2_1 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$5 = ($5_1 + 16 | 0) + 8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $256_1 = i64toi32_i32$1; + $256$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = 0; + i64toi32_i32$1 = $256$hi; + i64toi32_i32$0 = $256_1; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + $257$hi = i64toi32_i32$3; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = $257$hi; + i64toi32_i32$0 = 0; + $3274($5_1 | 0, $4_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$4 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$0 | 0); + $6_1 = $8_1 + ($7_1 - $6_1 | 0) | 0; + label$12 : { + label$13 : { + i64toi32_i32$5 = $5_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $490_1 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + $490_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + $265_1 = $490_1; + $265$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1 + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + $491_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $491_1 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + } + $269$hi = i64toi32_i32$0; + i64toi32_i32$0 = $265$hi; + i64toi32_i32$5 = $265_1; + i64toi32_i32$2 = $269$hi; + i64toi32_i32$3 = $491_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + i64toi32_i32$5 = -1; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $13_1 = i64toi32_i32$1; + $13$hi = i64toi32_i32$4; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $4_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $4$hi = i64toi32_i32$0; + $274_1 = $4_1; + $274$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$4 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $494_1 = i64toi32_i32$0 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$5 | 0; + $494_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$5 | 0) | 0; + } + $15_1 = $494_1; + $15$hi = i64toi32_i32$2; + i64toi32_i32$2 = $274$hi; + i64toi32_i32$4 = $15$hi; + i64toi32_i32$4 = __wasm_i64_mul($274_1 | 0, i64toi32_i32$2 | 0, $15_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $16_1 = i64toi32_i32$4; + $16$hi = i64toi32_i32$2; + $279_1 = i64toi32_i32$4; + $279$hi = i64toi32_i32$2; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$0 = $13_1; + i64toi32_i32$4 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $495_1 = i64toi32_i32$2 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$2 >>> i64toi32_i32$5 | 0; + $495_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$5 | 0) | 0; + } + $13_1 = $495_1; + $13$hi = i64toi32_i32$4; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $17_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $17$hi = i64toi32_i32$0; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$2 = __wasm_i64_mul($13_1 | 0, i64toi32_i32$0 | 0, $17_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $286_1 = i64toi32_i32$2; + $286$hi = i64toi32_i32$0; + i64toi32_i32$0 = $279$hi; + i64toi32_i32$4 = $279_1; + i64toi32_i32$2 = $286$hi; + i64toi32_i32$3 = $286_1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $2_1 = i64toi32_i32$5; + $2$hi = i64toi32_i32$1; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$4 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $496_1 = i64toi32_i32$1 >>> i64toi32_i32$2 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$1 >>> i64toi32_i32$2 | 0; + $496_1 = (((1 << i64toi32_i32$2 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$2 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$2 | 0) | 0; + } + $289_1 = $496_1; + $289$hi = i64toi32_i32$4; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$4 = $16$hi; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$3 = $16_1; + $292_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = $292_1; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$2 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + $497_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$2 | 0) | 0; + $497_1 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + } + $294$hi = i64toi32_i32$4; + i64toi32_i32$4 = $289$hi; + i64toi32_i32$1 = $289_1; + i64toi32_i32$3 = $294$hi; + i64toi32_i32$0 = $497_1; + i64toi32_i32$3 = i64toi32_i32$4 | i64toi32_i32$3 | 0; + $295_1 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $295$hi = i64toi32_i32$3; + i64toi32_i32$3 = $13$hi; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$3 = $13$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$1 = __wasm_i64_mul($13_1 | 0, i64toi32_i32$3 | 0, $15_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $298_1 = i64toi32_i32$1; + $298$hi = i64toi32_i32$3; + i64toi32_i32$3 = $295$hi; + i64toi32_i32$4 = $295_1; + i64toi32_i32$1 = $298$hi; + i64toi32_i32$0 = $298_1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $299_1 = i64toi32_i32$2; + $299$hi = i64toi32_i32$5; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + $498_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $498_1 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + } + $15_1 = $498_1; + $15$hi = i64toi32_i32$4; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$3 = $17$hi; + i64toi32_i32$3 = __wasm_i64_mul($4_1 | 0, i64toi32_i32$4 | 0, $17_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $305_1 = i64toi32_i32$3; + $305$hi = i64toi32_i32$4; + i64toi32_i32$4 = $15$hi; + i64toi32_i32$5 = $15_1; + i64toi32_i32$3 = $305$hi; + i64toi32_i32$0 = $305_1; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $2_1 = i64toi32_i32$1; + $2$hi = i64toi32_i32$2; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$0 = $15_1; + $309_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$4 = 0; + $310$hi = i64toi32_i32$4; + i64toi32_i32$4 = $299$hi; + i64toi32_i32$0 = $299_1; + i64toi32_i32$2 = $310$hi; + i64toi32_i32$5 = $309_1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $311_1 = i64toi32_i32$3; + $311$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + $312_1 = $2_1; + $312$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + $313_1 = $4_1; + $313$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$4 = $3_1; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 17; + i64toi32_i32$2 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $499_1 = i64toi32_i32$1 >>> i64toi32_i32$2 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$2 | 0; + $499_1 = (((1 << i64toi32_i32$2 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$2 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$2 | 0) | 0; + } + i64toi32_i32$1 = $499_1; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = -1; + i64toi32_i32$4 = i64toi32_i32$0 & i64toi32_i32$4 | 0; + $16_1 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + $16$hi = i64toi32_i32$4; + i64toi32_i32$4 = $313$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = __wasm_i64_mul($313_1 | 0, i64toi32_i32$4 | 0, $16_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $17_1 = i64toi32_i32$1; + $17$hi = i64toi32_i32$4; + $319_1 = i64toi32_i32$1; + $319$hi = i64toi32_i32$4; + i64toi32_i32$4 = $13$hi; + $320_1 = $13_1; + $320$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 15; + i64toi32_i32$2 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + $501_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$2 | 0) | 0; + $501_1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + } + i64toi32_i32$4 = $501_1; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = -32768; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $18_1 = i64toi32_i32$4 & i64toi32_i32$5 | 0; + $18$hi = i64toi32_i32$0; + i64toi32_i32$0 = $320$hi; + i64toi32_i32$4 = $18$hi; + i64toi32_i32$4 = __wasm_i64_mul($320_1 | 0, i64toi32_i32$0 | 0, $18_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $325_1 = i64toi32_i32$4; + $325$hi = i64toi32_i32$0; + i64toi32_i32$0 = $319$hi; + i64toi32_i32$1 = $319_1; + i64toi32_i32$4 = $325$hi; + i64toi32_i32$5 = $325_1; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $15_1 = i64toi32_i32$2; + $15$hi = i64toi32_i32$3; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$4 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $502_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $502_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $19_1 = $502_1; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$0 = __wasm_i64_mul($4_1 | 0, i64toi32_i32$1 | 0, $18_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $332_1 = i64toi32_i32$0; + $332$hi = i64toi32_i32$1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$3 = $19_1; + i64toi32_i32$0 = $332$hi; + i64toi32_i32$5 = $332_1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $333$hi = i64toi32_i32$2; + i64toi32_i32$2 = $19$hi; + i64toi32_i32$2 = $333$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$3 = $19$hi; + i64toi32_i32$5 = $19_1; + $335_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $336_1 = $335_1; + $336$hi = i64toi32_i32$1; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$5 = $15_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $503_1 = i64toi32_i32$1 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$0 | 0; + $503_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$0 | 0) | 0; + } + $338_1 = $503_1; + $338$hi = i64toi32_i32$2; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$1 = $15_1; + i64toi32_i32$5 = $17$hi; + i64toi32_i32$3 = $17_1; + $341_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = $341_1; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + $504_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$0 | 0) | 0; + $504_1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + } + $343$hi = i64toi32_i32$2; + i64toi32_i32$2 = $338$hi; + i64toi32_i32$1 = $338_1; + i64toi32_i32$3 = $343$hi; + i64toi32_i32$5 = $504_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $344_1 = i64toi32_i32$1 | i64toi32_i32$5 | 0; + $344$hi = i64toi32_i32$3; + i64toi32_i32$3 = $13$hi; + i64toi32_i32$3 = $16$hi; + i64toi32_i32$3 = $13$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = __wasm_i64_mul($13_1 | 0, i64toi32_i32$3 | 0, $16_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $347_1 = i64toi32_i32$1; + $347$hi = i64toi32_i32$3; + i64toi32_i32$3 = $344$hi; + i64toi32_i32$2 = $344_1; + i64toi32_i32$1 = $347$hi; + i64toi32_i32$5 = $347_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $348$hi = i64toi32_i32$4; + i64toi32_i32$4 = $336$hi; + i64toi32_i32$3 = $336_1; + i64toi32_i32$2 = $348$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $349$hi = i64toi32_i32$0; + i64toi32_i32$0 = $312$hi; + i64toi32_i32$4 = $312_1; + i64toi32_i32$3 = $349$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $15_1 = i64toi32_i32$2; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$5 = $2_1; + $353_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$4 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$0 = 0; + $354$hi = i64toi32_i32$0; + i64toi32_i32$0 = $311$hi; + i64toi32_i32$5 = $311_1; + i64toi32_i32$1 = $354$hi; + i64toi32_i32$4 = $353_1; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $355$hi = i64toi32_i32$2; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$0 = $15_1; + i64toi32_i32$5 = 0; + i64toi32_i32$4 = 0; + $357_1 = (i64toi32_i32$0 | 0) != (i64toi32_i32$4 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$5 | 0) | 0; + i64toi32_i32$0 = 0; + $358$hi = i64toi32_i32$0; + i64toi32_i32$0 = $355$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$2 = $358$hi; + i64toi32_i32$5 = $357_1; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $359$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = $359$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + $2_1 = i64toi32_i32$2; + $2$hi = i64toi32_i32$1; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = -1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $16_1 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $16$hi = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$3 = __wasm_i64_mul($16_1 | 0, i64toi32_i32$0 | 0, $4_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $17_1 = i64toi32_i32$3; + $17$hi = i64toi32_i32$0; + $366_1 = i64toi32_i32$3; + $366$hi = i64toi32_i32$0; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$3 = $13$hi; + i64toi32_i32$3 = __wasm_i64_mul($16_1 | 0, i64toi32_i32$0 | 0, $13_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $18_1 = i64toi32_i32$3; + $18$hi = i64toi32_i32$0; + $370_1 = i64toi32_i32$3; + $370$hi = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + $371_1 = $4_1; + $371$hi = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$4 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $505_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $505_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + $19_1 = $505_1; + $19$hi = i64toi32_i32$3; + i64toi32_i32$3 = $371$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = __wasm_i64_mul($371_1 | 0, i64toi32_i32$3 | 0, $19_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $375_1 = i64toi32_i32$1; + $375$hi = i64toi32_i32$3; + i64toi32_i32$3 = $370$hi; + i64toi32_i32$0 = $370_1; + i64toi32_i32$1 = $375$hi; + i64toi32_i32$5 = $375_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $2_1 = i64toi32_i32$4; + $2$hi = i64toi32_i32$2; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + $507_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$1 | 0) | 0; + $507_1 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + } + $378$hi = i64toi32_i32$0; + i64toi32_i32$0 = $366$hi; + i64toi32_i32$2 = $366_1; + i64toi32_i32$3 = $378$hi; + i64toi32_i32$5 = $507_1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $16_1 = i64toi32_i32$1; + $16$hi = i64toi32_i32$4; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$4 = $16$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$5 = $17_1; + i64toi32_i32$0 = 0; + $383_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + $383$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$5 = $2_1; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$3 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $508_1 = i64toi32_i32$0 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$0 >>> i64toi32_i32$3 | 0; + $508_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $385_1 = $508_1; + $385$hi = i64toi32_i32$4; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$4 = $18$hi; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$5 = $18$hi; + i64toi32_i32$2 = $18_1; + $388_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $388_1; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$3 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $512_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$3 | 0) | 0; + $512_1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + } + $390$hi = i64toi32_i32$4; + i64toi32_i32$4 = $385$hi; + i64toi32_i32$0 = $385_1; + i64toi32_i32$2 = $390$hi; + i64toi32_i32$5 = $512_1; + i64toi32_i32$2 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + $391_1 = i64toi32_i32$0 | i64toi32_i32$5 | 0; + $391$hi = i64toi32_i32$2; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$2 = $19$hi; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = __wasm_i64_mul($13_1 | 0, i64toi32_i32$2 | 0, $19_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $394_1 = i64toi32_i32$0; + $394$hi = i64toi32_i32$2; + i64toi32_i32$2 = $391$hi; + i64toi32_i32$4 = $391_1; + i64toi32_i32$0 = $394$hi; + i64toi32_i32$5 = $394_1; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $395$hi = i64toi32_i32$1; + i64toi32_i32$1 = $383$hi; + i64toi32_i32$2 = $383_1; + i64toi32_i32$4 = $395$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $396_1 = i64toi32_i32$0; + $396$hi = i64toi32_i32$3; + i64toi32_i32$3 = $16$hi; + $397_1 = $16_1; + $397$hi = i64toi32_i32$3; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$5 = $15_1; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + $2_1 = i64toi32_i32$4; + $2$hi = i64toi32_i32$0; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$2 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $513_1 = i64toi32_i32$0 >>> i64toi32_i32$2 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$2 | 0; + $513_1 = (((1 << i64toi32_i32$2 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$2 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$2 | 0) | 0; + } + $15_1 = $513_1; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$3 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$1 | 0, $4_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $17_1 = i64toi32_i32$3; + $17$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = -1; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $18_1 = i64toi32_i32$0 & i64toi32_i32$5 | 0; + $18$hi = i64toi32_i32$3; + i64toi32_i32$3 = $13$hi; + i64toi32_i32$3 = $18$hi; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$0 = __wasm_i64_mul($18_1 | 0, i64toi32_i32$3 | 0, $13_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $410_1 = i64toi32_i32$0; + $410$hi = i64toi32_i32$3; + i64toi32_i32$3 = $17$hi; + i64toi32_i32$1 = $17_1; + i64toi32_i32$0 = $410$hi; + i64toi32_i32$5 = $410_1; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $2_1 = i64toi32_i32$2; + $2$hi = i64toi32_i32$4; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + $514_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$0 | 0) | 0; + $514_1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + } + $19_1 = $514_1; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$3 = __wasm_i64_mul($18_1 | 0, i64toi32_i32$1 | 0, $4_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $417_1 = i64toi32_i32$3; + $417$hi = i64toi32_i32$1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$4 = $19_1; + i64toi32_i32$3 = $417$hi; + i64toi32_i32$5 = $417_1; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $418$hi = i64toi32_i32$2; + i64toi32_i32$2 = $19$hi; + i64toi32_i32$2 = $418$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$4 = $19$hi; + i64toi32_i32$5 = $19_1; + $420_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$4 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$4 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $421_1 = $420_1; + $421$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$5 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$4 = 32; + i64toi32_i32$3 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $515_1 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $515_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $423_1 = $515_1; + $423$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$5 = $17$hi; + i64toi32_i32$4 = $17_1; + $426_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$4 = $426_1; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$3 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 << i64toi32_i32$3 | 0; + $516_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$3 | 0) | 0; + $516_1 = i64toi32_i32$4 << i64toi32_i32$3 | 0; + } + $428$hi = i64toi32_i32$2; + i64toi32_i32$2 = $423$hi; + i64toi32_i32$1 = $423_1; + i64toi32_i32$4 = $428$hi; + i64toi32_i32$5 = $516_1; + i64toi32_i32$4 = i64toi32_i32$2 | i64toi32_i32$4 | 0; + $429_1 = i64toi32_i32$1 | i64toi32_i32$5 | 0; + $429$hi = i64toi32_i32$4; + i64toi32_i32$4 = $15$hi; + i64toi32_i32$4 = $13$hi; + i64toi32_i32$4 = $15$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$4 | 0, $13_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $432_1 = i64toi32_i32$1; + $432$hi = i64toi32_i32$4; + i64toi32_i32$4 = $429$hi; + i64toi32_i32$2 = $429_1; + i64toi32_i32$1 = $432$hi; + i64toi32_i32$5 = $432_1; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $433$hi = i64toi32_i32$0; + i64toi32_i32$0 = $421$hi; + i64toi32_i32$4 = $421_1; + i64toi32_i32$2 = $433$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $434$hi = i64toi32_i32$3; + i64toi32_i32$3 = $397$hi; + i64toi32_i32$0 = $397_1; + i64toi32_i32$4 = $434$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $2_1 = i64toi32_i32$2; + $2$hi = i64toi32_i32$1; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$5 = $16_1; + $438_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$3 = 0; + $439$hi = i64toi32_i32$3; + i64toi32_i32$3 = $396$hi; + i64toi32_i32$5 = $396_1; + i64toi32_i32$1 = $439$hi; + i64toi32_i32$0 = $438_1; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $440_1 = i64toi32_i32$4; + $440$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$5 = -1; + i64toi32_i32$0 = -2; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $17_1 = i64toi32_i32$1; + $17$hi = i64toi32_i32$4; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$0 = $2_1; + $445_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $446$hi = i64toi32_i32$2; + i64toi32_i32$2 = $440$hi; + i64toi32_i32$0 = $440_1; + i64toi32_i32$4 = $446$hi; + i64toi32_i32$3 = $445_1; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = -1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $15_1 = i64toi32_i32$4; + $15$hi = i64toi32_i32$5; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2 | 0; + $2_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $2$hi = i64toi32_i32$2; + $451_1 = $2_1; + $451$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$5 = $1_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 62; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $518_1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + $518_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$0 | 0) | 0; + } + $453_1 = $518_1; + $453$hi = i64toi32_i32$1; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = 2; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + $521_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$0 | 0) | 0; + $521_1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + } + $455$hi = i64toi32_i32$5; + i64toi32_i32$5 = $453$hi; + i64toi32_i32$1 = $453_1; + i64toi32_i32$2 = $455$hi; + i64toi32_i32$3 = $521_1; + i64toi32_i32$2 = i64toi32_i32$5 | i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $4_1 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + $4$hi = i64toi32_i32$1; + i64toi32_i32$1 = $451$hi; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$5 = __wasm_i64_mul($451_1 | 0, i64toi32_i32$1 | 0, $4_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $16_1 = i64toi32_i32$5; + $16$hi = i64toi32_i32$1; + $460_1 = i64toi32_i32$5; + $460$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = 30; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $522_1 = i64toi32_i32$1 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$1 >>> i64toi32_i32$0 | 0; + $522_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0; + } + i64toi32_i32$1 = $522_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2 | 0; + $13_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $13$hi = i64toi32_i32$2; + $464_1 = $13_1; + $464$hi = i64toi32_i32$2; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$5 = $15_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $523_1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + $523_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$0 | 0) | 0; + } + $15_1 = $523_1; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $464$hi; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$5 = __wasm_i64_mul($464_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $468_1 = i64toi32_i32$5; + $468$hi = i64toi32_i32$1; + i64toi32_i32$1 = $460$hi; + i64toi32_i32$2 = $460_1; + i64toi32_i32$5 = $468$hi; + i64toi32_i32$3 = $468_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $18_1 = i64toi32_i32$0; + $18$hi = i64toi32_i32$4; + i64toi32_i32$4 = $16$hi; + i64toi32_i32$4 = $18$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$2 = $16$hi; + i64toi32_i32$3 = $16_1; + $472_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $473_1 = $472_1; + $473$hi = i64toi32_i32$1; + i64toi32_i32$1 = i64toi32_i32$4; + $474_1 = i64toi32_i32$0; + $474$hi = i64toi32_i32$1; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$3 = $17_1; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$5 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $524_1 = i64toi32_i32$1 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$1 >>> i64toi32_i32$5 | 0; + $524_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$5 | 0) | 0; + } + $16_1 = $524_1; + $16$hi = i64toi32_i32$4; + $477_1 = $16_1; + $477$hi = i64toi32_i32$4; + i64toi32_i32$4 = $11$hi; + i64toi32_i32$1 = $11_1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = 30; + i64toi32_i32$5 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $525_1 = i64toi32_i32$4 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$4 >>> i64toi32_i32$5 | 0; + $525_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$5 | 0) | 0; + } + i64toi32_i32$4 = $525_1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = -262145; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$4 & i64toi32_i32$2 | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = 262144; + i64toi32_i32$4 = i64toi32_i32$1 | i64toi32_i32$4 | 0; + $11_1 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + $11$hi = i64toi32_i32$4; + i64toi32_i32$4 = $477$hi; + i64toi32_i32$3 = $11$hi; + i64toi32_i32$3 = __wasm_i64_mul($477_1 | 0, i64toi32_i32$4 | 0, $11_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $483_1 = i64toi32_i32$3; + $483$hi = i64toi32_i32$4; + i64toi32_i32$4 = $474$hi; + i64toi32_i32$1 = $474_1; + i64toi32_i32$3 = $483$hi; + i64toi32_i32$2 = $483_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $19_1 = i64toi32_i32$5; + $19$hi = i64toi32_i32$0; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$2 = $18_1; + $487_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$4 = 0; + $488$hi = i64toi32_i32$4; + i64toi32_i32$4 = $473$hi; + i64toi32_i32$2 = $473_1; + i64toi32_i32$0 = $488$hi; + i64toi32_i32$1 = $487_1; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $489$hi = i64toi32_i32$5; + i64toi32_i32$5 = $11$hi; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$5 = $11$hi; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = __wasm_i64_mul($11_1 | 0, i64toi32_i32$5 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $492_1 = i64toi32_i32$2; + $492$hi = i64toi32_i32$5; + i64toi32_i32$5 = $489$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$2 = $492$hi; + i64toi32_i32$1 = $492_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $493_1 = i64toi32_i32$0; + $493$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$3 = $11$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$4 = $11$hi; + i64toi32_i32$4 = __wasm_i64_mul($2_1 | 0, i64toi32_i32$3 | 0, $11_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $20_1 = i64toi32_i32$4; + $20$hi = i64toi32_i32$3; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$4 = $15$hi; + i64toi32_i32$4 = __wasm_i64_mul($4_1 | 0, i64toi32_i32$3 | 0, $15_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $500_1 = i64toi32_i32$4; + $500$hi = i64toi32_i32$3; + i64toi32_i32$3 = $20$hi; + i64toi32_i32$5 = $20_1; + i64toi32_i32$4 = $500$hi; + i64toi32_i32$1 = $500_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $18_1 = i64toi32_i32$2; + $18$hi = i64toi32_i32$0; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$5 = $20$hi; + i64toi32_i32$1 = $20_1; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$4 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $526_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $526_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $506_1 = $526_1; + $506$hi = i64toi32_i32$0; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$3 = $18_1; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$4 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $527_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $527_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + $508$hi = i64toi32_i32$1; + i64toi32_i32$1 = $506$hi; + i64toi32_i32$0 = $506_1; + i64toi32_i32$3 = $508$hi; + i64toi32_i32$5 = $527_1; + i64toi32_i32$3 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + $509_1 = i64toi32_i32$0 | i64toi32_i32$5 | 0; + $509$hi = i64toi32_i32$3; + i64toi32_i32$3 = $493$hi; + i64toi32_i32$1 = $493_1; + i64toi32_i32$0 = $509$hi; + i64toi32_i32$5 = $509_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $510_1 = i64toi32_i32$4; + $510$hi = i64toi32_i32$2; + i64toi32_i32$2 = $19$hi; + $511_1 = $19_1; + $511$hi = i64toi32_i32$2; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$3 = $18_1; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + $528_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$0 | 0) | 0; + $528_1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + } + $513$hi = i64toi32_i32$1; + i64toi32_i32$1 = $511$hi; + i64toi32_i32$2 = $511_1; + i64toi32_i32$3 = $513$hi; + i64toi32_i32$5 = $528_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $18_1 = i64toi32_i32$0; + $18$hi = i64toi32_i32$4; + i64toi32_i32$4 = $19$hi; + i64toi32_i32$4 = $18$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$2 = $19$hi; + i64toi32_i32$5 = $19_1; + $517_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $518$hi = i64toi32_i32$1; + i64toi32_i32$1 = $510$hi; + i64toi32_i32$5 = $510_1; + i64toi32_i32$4 = $518$hi; + i64toi32_i32$2 = $517_1; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $519_1 = i64toi32_i32$3; + $519$hi = i64toi32_i32$0; + i64toi32_i32$0 = $18$hi; + $520_1 = $18_1; + $520$hi = i64toi32_i32$0; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$5 = $13$hi; + i64toi32_i32$5 = __wasm_i64_mul($16_1 | 0, i64toi32_i32$0 | 0, $13_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $20_1 = i64toi32_i32$5; + $20$hi = i64toi32_i32$0; + i64toi32_i32$0 = $17$hi; + i64toi32_i32$1 = $17_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = -1; + i64toi32_i32$5 = i64toi32_i32$0 & i64toi32_i32$5 | 0; + $17_1 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $17$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$5 = $17$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = __wasm_i64_mul($17_1 | 0, i64toi32_i32$5 | 0, $4_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $529_1 = i64toi32_i32$1; + $529$hi = i64toi32_i32$5; + i64toi32_i32$5 = $20$hi; + i64toi32_i32$0 = $20_1; + i64toi32_i32$1 = $529$hi; + i64toi32_i32$2 = $529_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $19_1 = i64toi32_i32$4; + $19$hi = i64toi32_i32$3; + i64toi32_i32$3 = $20$hi; + i64toi32_i32$3 = $19$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$2 = $20_1; + i64toi32_i32$5 = 0; + $534_1 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + $534$hi = i64toi32_i32$5; + i64toi32_i32$5 = i64toi32_i32$3; + $535_1 = i64toi32_i32$4; + $535$hi = i64toi32_i32$3; + i64toi32_i32$5 = $2$hi; + $536_1 = $2_1; + $536$hi = i64toi32_i32$5; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 2; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + $530_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $530_1 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + } + i64toi32_i32$5 = $530_1; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = -4; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $20_1 = i64toi32_i32$5 & i64toi32_i32$0 | 0; + $20$hi = i64toi32_i32$2; + i64toi32_i32$2 = $536$hi; + i64toi32_i32$5 = $20$hi; + i64toi32_i32$5 = __wasm_i64_mul($536_1 | 0, i64toi32_i32$2 | 0, $20_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $541_1 = i64toi32_i32$5; + $541$hi = i64toi32_i32$2; + i64toi32_i32$2 = $535$hi; + i64toi32_i32$3 = $535_1; + i64toi32_i32$5 = $541$hi; + i64toi32_i32$0 = $541_1; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $21_1 = i64toi32_i32$1; + $21$hi = i64toi32_i32$4; + i64toi32_i32$4 = $19$hi; + i64toi32_i32$4 = $21$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$3 = $19$hi; + i64toi32_i32$0 = $19_1; + $545_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $546$hi = i64toi32_i32$2; + i64toi32_i32$2 = $534$hi; + i64toi32_i32$0 = $534_1; + i64toi32_i32$4 = $546$hi; + i64toi32_i32$3 = $545_1; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $547$hi = i64toi32_i32$1; + i64toi32_i32$1 = $520$hi; + i64toi32_i32$2 = $520_1; + i64toi32_i32$0 = $547$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $19_1 = i64toi32_i32$4; + $19$hi = i64toi32_i32$5; + i64toi32_i32$5 = $18$hi; + i64toi32_i32$5 = $19$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$3 = $18_1; + $551_1 = i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $552$hi = i64toi32_i32$1; + i64toi32_i32$1 = $519$hi; + i64toi32_i32$3 = $519_1; + i64toi32_i32$5 = $552$hi; + i64toi32_i32$2 = $551_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $553_1 = i64toi32_i32$0; + $553$hi = i64toi32_i32$4; + i64toi32_i32$4 = $19$hi; + $554_1 = $19_1; + $554$hi = i64toi32_i32$4; + i64toi32_i32$4 = $20$hi; + i64toi32_i32$4 = $15$hi; + i64toi32_i32$4 = $20$hi; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$3 = __wasm_i64_mul($20_1 | 0, i64toi32_i32$4 | 0, $15_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $18_1 = i64toi32_i32$3; + $18$hi = i64toi32_i32$4; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$4 = $11$hi; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$3 = $11$hi; + i64toi32_i32$3 = __wasm_i64_mul($17_1 | 0, i64toi32_i32$4 | 0, $11_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $561_1 = i64toi32_i32$3; + $561$hi = i64toi32_i32$4; + i64toi32_i32$4 = $18$hi; + i64toi32_i32$1 = $18_1; + i64toi32_i32$3 = $561$hi; + i64toi32_i32$2 = $561_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $15_1 = i64toi32_i32$5; + $15$hi = i64toi32_i32$0; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = __wasm_i64_mul($16_1 | 0, i64toi32_i32$0 | 0, $4_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $566_1 = i64toi32_i32$1; + $566$hi = i64toi32_i32$0; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$1 = $566$hi; + i64toi32_i32$2 = $566_1; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $4_1 = i64toi32_i32$3; + $4$hi = i64toi32_i32$5; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$5 = $13$hi; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$4 = $13$hi; + i64toi32_i32$4 = __wasm_i64_mul($2_1 | 0, i64toi32_i32$5 | 0, $13_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $571_1 = i64toi32_i32$4; + $571$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$4 = $571$hi; + i64toi32_i32$2 = $571_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $2_1 = i64toi32_i32$1; + $2$hi = i64toi32_i32$3; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $531_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + $531_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$4 | 0) | 0; + } + $574_1 = $531_1; + $574$hi = i64toi32_i32$0; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$3 = $15_1; + i64toi32_i32$5 = $18$hi; + i64toi32_i32$2 = $18_1; + $577_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$3 = 0; + $578$hi = i64toi32_i32$3; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$5 = $15_1; + $581_1 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $582$hi = i64toi32_i32$2; + i64toi32_i32$2 = $578$hi; + i64toi32_i32$5 = $577_1; + i64toi32_i32$3 = $582$hi; + i64toi32_i32$0 = $581_1; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $583$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$0 = $4_1; + $586_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $587$hi = i64toi32_i32$2; + i64toi32_i32$2 = $583$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$1 = $587$hi; + i64toi32_i32$5 = $586_1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + $532_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$1 | 0) | 0; + $532_1 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + } + $589$hi = i64toi32_i32$0; + i64toi32_i32$0 = $574$hi; + i64toi32_i32$4 = $574_1; + i64toi32_i32$2 = $589$hi; + i64toi32_i32$5 = $532_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $590_1 = i64toi32_i32$4 | i64toi32_i32$5 | 0; + $590$hi = i64toi32_i32$2; + i64toi32_i32$2 = $554$hi; + i64toi32_i32$0 = $554_1; + i64toi32_i32$4 = $590$hi; + i64toi32_i32$5 = $590_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $15_1 = i64toi32_i32$1; + $15$hi = i64toi32_i32$3; + i64toi32_i32$3 = $19$hi; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$5 = $19_1; + $594_1 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $595$hi = i64toi32_i32$2; + i64toi32_i32$2 = $553$hi; + i64toi32_i32$5 = $553_1; + i64toi32_i32$3 = $595$hi; + i64toi32_i32$0 = $594_1; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $596_1 = i64toi32_i32$4; + $596$hi = i64toi32_i32$1; + i64toi32_i32$1 = $15$hi; + $597_1 = $15_1; + $597$hi = i64toi32_i32$1; + i64toi32_i32$1 = $21$hi; + $598_1 = $21_1; + $598$hi = i64toi32_i32$1; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$5 = $20$hi; + i64toi32_i32$5 = __wasm_i64_mul($16_1 | 0, i64toi32_i32$1 | 0, $20_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $4_1 = i64toi32_i32$5; + $4$hi = i64toi32_i32$1; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$5 = $13$hi; + i64toi32_i32$5 = __wasm_i64_mul($17_1 | 0, i64toi32_i32$1 | 0, $13_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $605_1 = i64toi32_i32$5; + $605$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$5 = $605$hi; + i64toi32_i32$0 = $605_1; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $13_1 = i64toi32_i32$3; + $13$hi = i64toi32_i32$4; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$5 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $533_1 = i64toi32_i32$4 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >>> i64toi32_i32$5 | 0; + $533_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$5 | 0) | 0; + } + $608_1 = $533_1; + $608$hi = i64toi32_i32$2; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$4 = $13_1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $4_1; + $611_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = $611_1; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = 32; + i64toi32_i32$5 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$5 | 0; + $537_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$5 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$5 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$5 | 0) | 0; + $537_1 = i64toi32_i32$0 << i64toi32_i32$5 | 0; + } + $613$hi = i64toi32_i32$2; + i64toi32_i32$2 = $608$hi; + i64toi32_i32$4 = $608_1; + i64toi32_i32$0 = $613$hi; + i64toi32_i32$1 = $537_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $614_1 = i64toi32_i32$4 | i64toi32_i32$1 | 0; + $614$hi = i64toi32_i32$0; + i64toi32_i32$0 = $598$hi; + i64toi32_i32$2 = $598_1; + i64toi32_i32$4 = $614$hi; + i64toi32_i32$1 = $614_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $4_1 = i64toi32_i32$5; + $4$hi = i64toi32_i32$3; + i64toi32_i32$3 = $21$hi; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$2 = $21$hi; + i64toi32_i32$1 = $21_1; + $618_1 = i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$0 = 0; + $619_1 = $618_1; + $619$hi = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$3; + $620_1 = i64toi32_i32$5; + $620$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $538_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $538_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $622$hi = i64toi32_i32$3; + i64toi32_i32$3 = $620$hi; + i64toi32_i32$0 = $620_1; + i64toi32_i32$1 = $622$hi; + i64toi32_i32$2 = $538_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $623$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$5 = $623$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$2 = $4_1; + $625_1 = i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$3 = 0; + $626$hi = i64toi32_i32$3; + i64toi32_i32$3 = $619$hi; + i64toi32_i32$2 = $619_1; + i64toi32_i32$5 = $626$hi; + i64toi32_i32$0 = $625_1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $627$hi = i64toi32_i32$4; + i64toi32_i32$4 = $597$hi; + i64toi32_i32$3 = $597_1; + i64toi32_i32$2 = $627$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $4_1 = i64toi32_i32$5; + $4$hi = i64toi32_i32$1; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$0 = $15_1; + $631_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$4 = 0; + $632$hi = i64toi32_i32$4; + i64toi32_i32$4 = $596$hi; + i64toi32_i32$0 = $596_1; + i64toi32_i32$1 = $632$hi; + i64toi32_i32$3 = $631_1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $2_1 = i64toi32_i32$2; + $2$hi = i64toi32_i32$5; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$0 = 131071; + i64toi32_i32$3 = -1; + if (i64toi32_i32$5 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) { + break label$13 + } + i64toi32_i32$4 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = 49; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + $539_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$1 | 0) | 0; + $539_1 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + } + $637$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$4 = $4_1; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + $1_1 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $1$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$5 = $3_1; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$3 & i64toi32_i32$4 | 0; + $13_1 = i64toi32_i32$5 & i64toi32_i32$0 | 0; + $13$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$5 = $13$hi; + i64toi32_i32$5 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$4 | 0, $13_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $15_1 = i64toi32_i32$5; + $15$hi = i64toi32_i32$4; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = 0; + $646_1 = (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$4 | 0) != (i64toi32_i32$5 | 0) | 0; + i64toi32_i32$3 = 0; + $647$hi = i64toi32_i32$3; + i64toi32_i32$3 = $637$hi; + i64toi32_i32$0 = $539_1; + i64toi32_i32$4 = $647$hi; + i64toi32_i32$5 = $646_1; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$2 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$3 - i64toi32_i32$2 | 0; + $648_1 = i64toi32_i32$1; + $648$hi = i64toi32_i32$2; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$5 = $15_1; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + $17_1 = i64toi32_i32$4; + $17$hi = i64toi32_i32$1; + $651_1 = i64toi32_i32$4; + $651$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $540_1 = i64toi32_i32$1 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$1 >>> i64toi32_i32$0 | 0; + $540_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0; + } + $15_1 = $540_1; + $15$hi = i64toi32_i32$3; + i64toi32_i32$3 = $13$hi; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$2 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$3 | 0, $13_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $18_1 = i64toi32_i32$2; + $18$hi = i64toi32_i32$3; + $657_1 = i64toi32_i32$2; + $657$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + $658_1 = $1_1; + $658$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $542_1 = i64toi32_i32$3 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$3 >>> i64toi32_i32$0 | 0; + $542_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$0 | 0) | 0; + } + $16_1 = $542_1; + $16$hi = i64toi32_i32$2; + i64toi32_i32$2 = $658$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = __wasm_i64_mul($658_1 | 0, i64toi32_i32$2 | 0, $16_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $662_1 = i64toi32_i32$1; + $662$hi = i64toi32_i32$2; + i64toi32_i32$2 = $657$hi; + i64toi32_i32$3 = $657_1; + i64toi32_i32$1 = $662$hi; + i64toi32_i32$5 = $662_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $11_1 = i64toi32_i32$0; + $11$hi = i64toi32_i32$4; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + $543_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$1 | 0) | 0; + $543_1 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + } + $19_1 = $543_1; + $19$hi = i64toi32_i32$3; + i64toi32_i32$3 = $651$hi; + i64toi32_i32$4 = $651_1; + i64toi32_i32$2 = $19$hi; + i64toi32_i32$5 = $19_1; + $667_1 = i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$4 = 0; + $668$hi = i64toi32_i32$4; + i64toi32_i32$4 = $648$hi; + i64toi32_i32$5 = $648_1; + i64toi32_i32$3 = $668$hi; + i64toi32_i32$2 = $667_1; + i64toi32_i32$1 = i64toi32_i32$5 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0; + $669_1 = i64toi32_i32$1; + $669$hi = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + $670_1 = $4_1; + $670$hi = i64toi32_i32$0; + i64toi32_i32$0 = $14$hi; + i64toi32_i32$4 = $14_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$3 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $544_1 = i64toi32_i32$0 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$0 >>> i64toi32_i32$3 | 0; + $544_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$3 | 0) | 0; + } + $672$hi = i64toi32_i32$5; + i64toi32_i32$5 = $670$hi; + i64toi32_i32$4 = $672$hi; + i64toi32_i32$4 = __wasm_i64_mul($670_1 | 0, i64toi32_i32$5 | 0, $544_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $673_1 = i64toi32_i32$4; + $673$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + $674_1 = $3_1; + $674$hi = i64toi32_i32$5; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$3 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $546_1 = i64toi32_i32$5 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$5 >>> i64toi32_i32$3 | 0; + $546_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$3 | 0) | 0; + } + $676$hi = i64toi32_i32$4; + i64toi32_i32$4 = $674$hi; + i64toi32_i32$0 = $676$hi; + i64toi32_i32$0 = __wasm_i64_mul($674_1 | 0, i64toi32_i32$4 | 0, $546_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $677_1 = i64toi32_i32$0; + $677$hi = i64toi32_i32$4; + i64toi32_i32$4 = $673$hi; + i64toi32_i32$5 = $673_1; + i64toi32_i32$0 = $677$hi; + i64toi32_i32$2 = $677_1; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $678$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$5 = $16$hi; + i64toi32_i32$5 = __wasm_i64_mul($2_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $681_1 = i64toi32_i32$5; + $681$hi = i64toi32_i32$1; + i64toi32_i32$1 = $678$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$5 = $681$hi; + i64toi32_i32$2 = $681_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $682$hi = i64toi32_i32$3; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$3 = $10$hi; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$4 = $10$hi; + i64toi32_i32$4 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$3 | 0, $10_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $685_1 = i64toi32_i32$4; + $685$hi = i64toi32_i32$3; + i64toi32_i32$3 = $682$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$4 = $685$hi; + i64toi32_i32$2 = $685_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + $547_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $547_1 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + } + $687_1 = $547_1; + $687$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $689$hi = i64toi32_i32$3; + i64toi32_i32$3 = $13$hi; + i64toi32_i32$3 = $689$hi; + $578_1 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$0 = __wasm_i64_mul($578_1 | 0, i64toi32_i32$3 | 0, $13_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $691_1 = i64toi32_i32$0; + $691$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$3 = $10$hi; + i64toi32_i32$1 = $10_1; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = -1; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + $694_1 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $694$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $694$hi; + i64toi32_i32$1 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$0 | 0, $694_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $695_1 = i64toi32_i32$1; + $695$hi = i64toi32_i32$0; + i64toi32_i32$0 = $691$hi; + i64toi32_i32$3 = $691_1; + i64toi32_i32$1 = $695$hi; + i64toi32_i32$2 = $695_1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $696$hi = i64toi32_i32$5; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$5 = $16$hi; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$3 = $16$hi; + i64toi32_i32$3 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$5 | 0, $16_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $699_1 = i64toi32_i32$3; + $699$hi = i64toi32_i32$5; + i64toi32_i32$5 = $696$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$3 = $699$hi; + i64toi32_i32$2 = $699_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $700_1 = i64toi32_i32$1; + $700$hi = i64toi32_i32$4; + i64toi32_i32$4 = $11$hi; + i64toi32_i32$5 = $11_1; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$3 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $548_1 = i64toi32_i32$4 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$4 >>> i64toi32_i32$3 | 0; + $548_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $702_1 = $548_1; + $702$hi = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$4 = $11_1; + i64toi32_i32$5 = $18$hi; + i64toi32_i32$2 = $18_1; + $705_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = $705_1; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$3 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $549_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$3 | 0) | 0; + $549_1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + } + $707$hi = i64toi32_i32$0; + i64toi32_i32$0 = $702$hi; + i64toi32_i32$4 = $702_1; + i64toi32_i32$2 = $707$hi; + i64toi32_i32$5 = $549_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $708_1 = i64toi32_i32$4 | i64toi32_i32$5 | 0; + $708$hi = i64toi32_i32$2; + i64toi32_i32$2 = $700$hi; + i64toi32_i32$0 = $700_1; + i64toi32_i32$4 = $708$hi; + i64toi32_i32$5 = $708_1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $709$hi = i64toi32_i32$1; + i64toi32_i32$1 = $687$hi; + i64toi32_i32$2 = $687_1; + i64toi32_i32$0 = $709$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $710$hi = i64toi32_i32$3; + i64toi32_i32$3 = $669$hi; + i64toi32_i32$1 = $669_1; + i64toi32_i32$2 = $710$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + $13_1 = i64toi32_i32$0; + $13$hi = i64toi32_i32$4; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$4 = $19$hi; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$3 = $17_1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$5 = $19_1; + i64toi32_i32$2 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0; + $1_1 = i64toi32_i32$2; + $1$hi = i64toi32_i32$0; + $6_1 = $6_1 + -1 | 0; + break label$12; + } + i64toi32_i32$0 = $4$hi; + i64toi32_i32$4 = $4_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 33; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $550_1 = i64toi32_i32$0 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$0 >>> i64toi32_i32$1 | 0; + $550_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$1 | 0) | 0; + } + $16_1 = $550_1; + $16$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = 48; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + $552_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$1 | 0) | 0; + $552_1 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + } + $720_1 = $552_1; + $720$hi = i64toi32_i32$4; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 1; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $555_1 = i64toi32_i32$4 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$4 >>> i64toi32_i32$1 | 0; + $555_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$1 | 0) | 0; + } + $722_1 = $555_1; + $722$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$4 = $2_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 63; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + $556_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$1 | 0) | 0; + $556_1 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + } + $724$hi = i64toi32_i32$3; + i64toi32_i32$3 = $722$hi; + i64toi32_i32$0 = $722_1; + i64toi32_i32$4 = $724$hi; + i64toi32_i32$5 = $556_1; + i64toi32_i32$4 = i64toi32_i32$3 | i64toi32_i32$4 | 0; + $4_1 = i64toi32_i32$0 | i64toi32_i32$5 | 0; + $4$hi = i64toi32_i32$4; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = -1; + i64toi32_i32$0 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $1_1 = i64toi32_i32$3 & i64toi32_i32$5 | 0; + $1$hi = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$4 = $3_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = -1; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $13_1 = i64toi32_i32$4 & i64toi32_i32$5 | 0; + $13$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$4 = $13$hi; + i64toi32_i32$4 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$3 | 0, $13_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $15_1 = i64toi32_i32$4; + $15$hi = i64toi32_i32$3; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = 0; + $734_1 = (i64toi32_i32$0 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$4 | 0) | 0; + i64toi32_i32$0 = 0; + $735$hi = i64toi32_i32$0; + i64toi32_i32$0 = $720$hi; + i64toi32_i32$5 = $720_1; + i64toi32_i32$3 = $735$hi; + i64toi32_i32$4 = $734_1; + i64toi32_i32$1 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0; + i64toi32_i32$2 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 - i64toi32_i32$2 | 0; + $736_1 = i64toi32_i32$1; + $736$hi = i64toi32_i32$2; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$4 = $15_1; + i64toi32_i32$3 = i64toi32_i32$0 - i64toi32_i32$4 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$4 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + $11_1 = i64toi32_i32$3; + $11$hi = i64toi32_i32$1; + $739_1 = i64toi32_i32$3; + $739$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + $740_1 = $1_1; + $740$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = 32; + i64toi32_i32$5 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $557_1 = i64toi32_i32$1 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$5 | 0; + $557_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$5 | 0) | 0; + } + $15_1 = $557_1; + $15$hi = i64toi32_i32$0; + i64toi32_i32$0 = $740$hi; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = __wasm_i64_mul($740_1 | 0, i64toi32_i32$0 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $17_1 = i64toi32_i32$2; + $17$hi = i64toi32_i32$0; + $745_1 = i64toi32_i32$2; + $745$hi = i64toi32_i32$0; + i64toi32_i32$0 = $16$hi; + $746_1 = $16_1; + $746$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$4 = 31; + i64toi32_i32$5 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$5 | 0; + $558_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$5 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$5 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$5 | 0) | 0; + $558_1 = i64toi32_i32$1 << i64toi32_i32$5 | 0; + } + $748$hi = i64toi32_i32$2; + i64toi32_i32$2 = $746$hi; + i64toi32_i32$0 = $746_1; + i64toi32_i32$1 = $748$hi; + i64toi32_i32$4 = $558_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $18_1 = i64toi32_i32$0 | i64toi32_i32$4 | 0; + $18$hi = i64toi32_i32$1; + i64toi32_i32$2 = $18_1; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = -1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $19_1 = i64toi32_i32$2 & i64toi32_i32$4 | 0; + $19$hi = i64toi32_i32$0; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$2 = __wasm_i64_mul($19_1 | 0, i64toi32_i32$0 | 0, $13_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $754_1 = i64toi32_i32$2; + $754$hi = i64toi32_i32$0; + i64toi32_i32$0 = $745$hi; + i64toi32_i32$1 = $745_1; + i64toi32_i32$2 = $754$hi; + i64toi32_i32$4 = $754_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $16_1 = i64toi32_i32$5; + $16$hi = i64toi32_i32$3; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$1 = 0; + i64toi32_i32$4 = 32; + i64toi32_i32$2 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + $559_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$2 | 0) | 0; + $559_1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + } + $20_1 = $559_1; + $20$hi = i64toi32_i32$1; + i64toi32_i32$1 = $739$hi; + i64toi32_i32$3 = $739_1; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$4 = $20_1; + $759_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0 | 0) | 0; + i64toi32_i32$3 = 0; + $760$hi = i64toi32_i32$3; + i64toi32_i32$3 = $736$hi; + i64toi32_i32$4 = $736_1; + i64toi32_i32$1 = $760$hi; + i64toi32_i32$0 = $759_1; + i64toi32_i32$2 = i64toi32_i32$4 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + $761_1 = i64toi32_i32$2; + $761$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + $762_1 = $4_1; + $762$hi = i64toi32_i32$5; + i64toi32_i32$5 = $14$hi; + i64toi32_i32$3 = $14_1; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $560_1 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + $560_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$1 | 0) | 0; + } + $764$hi = i64toi32_i32$4; + i64toi32_i32$4 = $762$hi; + i64toi32_i32$3 = $764$hi; + i64toi32_i32$3 = __wasm_i64_mul($762_1 | 0, i64toi32_i32$4 | 0, $560_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $765_1 = i64toi32_i32$3; + $765$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + $766_1 = $3_1; + $766$hi = i64toi32_i32$4; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$5 = $2_1; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 33; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $562_1 = i64toi32_i32$4 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$4 >>> i64toi32_i32$1 | 0; + $562_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + $768$hi = i64toi32_i32$3; + i64toi32_i32$3 = $766$hi; + i64toi32_i32$5 = $768$hi; + i64toi32_i32$5 = __wasm_i64_mul($766_1 | 0, i64toi32_i32$3 | 0, $562_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $769_1 = i64toi32_i32$5; + $769$hi = i64toi32_i32$3; + i64toi32_i32$3 = $765$hi; + i64toi32_i32$4 = $765_1; + i64toi32_i32$5 = $769$hi; + i64toi32_i32$0 = $769_1; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $770_1 = i64toi32_i32$1; + $770$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $563_1 = i64toi32_i32$2 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$2 >>> i64toi32_i32$5 | 0; + $563_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$5 | 0) | 0; + } + $2_1 = $563_1; + $2$hi = i64toi32_i32$4; + i64toi32_i32$4 = $15$hi; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$3 = __wasm_i64_mul($2_1 | 0, i64toi32_i32$4 | 0, $15_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $775_1 = i64toi32_i32$3; + $775$hi = i64toi32_i32$4; + i64toi32_i32$4 = $770$hi; + i64toi32_i32$2 = $770_1; + i64toi32_i32$3 = $775$hi; + i64toi32_i32$0 = $775_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $776$hi = i64toi32_i32$1; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$1 = $10$hi; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$2 = $10$hi; + i64toi32_i32$2 = __wasm_i64_mul($18_1 | 0, i64toi32_i32$1 | 0, $10_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $779_1 = i64toi32_i32$2; + $779$hi = i64toi32_i32$1; + i64toi32_i32$1 = $776$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$2 = $779$hi; + i64toi32_i32$0 = $779_1; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$2 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $564_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $564_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $781_1 = $564_1; + $781$hi = i64toi32_i32$4; + i64toi32_i32$4 = $19$hi; + i64toi32_i32$4 = $15$hi; + i64toi32_i32$4 = $19$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$1 = __wasm_i64_mul($19_1 | 0, i64toi32_i32$4 | 0, $15_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $784_1 = i64toi32_i32$1; + $784$hi = i64toi32_i32$4; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$5 = $2_1; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = -1; + i64toi32_i32$1 = i64toi32_i32$4 & i64toi32_i32$1 | 0; + $786$hi = i64toi32_i32$1; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $786$hi; + $579_1 = i64toi32_i32$5 & i64toi32_i32$0 | 0; + i64toi32_i32$5 = $13$hi; + i64toi32_i32$5 = __wasm_i64_mul($579_1 | 0, i64toi32_i32$1 | 0, $13_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $788_1 = i64toi32_i32$5; + $788$hi = i64toi32_i32$1; + i64toi32_i32$1 = $784$hi; + i64toi32_i32$4 = $784_1; + i64toi32_i32$5 = $788$hi; + i64toi32_i32$0 = $788_1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $789$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$3 = $10$hi; + i64toi32_i32$1 = $10_1; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$3 & i64toi32_i32$4 | 0; + $792_1 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $792$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$1 = $792$hi; + i64toi32_i32$1 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$4 | 0, $792_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $793_1 = i64toi32_i32$1; + $793$hi = i64toi32_i32$4; + i64toi32_i32$4 = $789$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$1 = $793$hi; + i64toi32_i32$0 = $793_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $794_1 = i64toi32_i32$5; + $794$hi = i64toi32_i32$2; + i64toi32_i32$2 = $16$hi; + i64toi32_i32$4 = $16_1; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $565_1 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + $565_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$1 | 0) | 0; + } + $796_1 = $565_1; + $796$hi = i64toi32_i32$3; + i64toi32_i32$3 = $16$hi; + i64toi32_i32$3 = $17$hi; + i64toi32_i32$3 = $16$hi; + i64toi32_i32$2 = $16_1; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$0 = $17_1; + $799_1 = i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$4 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $799_1; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = 32; + i64toi32_i32$1 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + $567_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$1 | 0) | 0; + $567_1 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + } + $801$hi = i64toi32_i32$3; + i64toi32_i32$3 = $796$hi; + i64toi32_i32$2 = $796_1; + i64toi32_i32$0 = $801$hi; + i64toi32_i32$4 = $567_1; + i64toi32_i32$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + $802_1 = i64toi32_i32$2 | i64toi32_i32$4 | 0; + $802$hi = i64toi32_i32$0; + i64toi32_i32$0 = $794$hi; + i64toi32_i32$3 = $794_1; + i64toi32_i32$2 = $802$hi; + i64toi32_i32$4 = $802_1; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $803$hi = i64toi32_i32$5; + i64toi32_i32$5 = $781$hi; + i64toi32_i32$0 = $781_1; + i64toi32_i32$3 = $803$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $804$hi = i64toi32_i32$1; + i64toi32_i32$1 = $761$hi; + i64toi32_i32$5 = $761_1; + i64toi32_i32$0 = $804$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$2 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$2 | 0; + $13_1 = i64toi32_i32$3; + $13$hi = i64toi32_i32$2; + i64toi32_i32$2 = $11$hi; + i64toi32_i32$2 = $20$hi; + i64toi32_i32$2 = $11$hi; + i64toi32_i32$1 = $11_1; + i64toi32_i32$5 = $20$hi; + i64toi32_i32$4 = $20_1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$4 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + $1_1 = i64toi32_i32$0; + $1$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2$hi; + $2$hi = i64toi32_i32$3; + } + label$14 : { + if (($6_1 | 0) < (16384 | 0)) { + break label$14 + } + i64toi32_i32$3 = $12$hi; + i64toi32_i32$2 = $12_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$4 = 0; + i64toi32_i32$1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + $12_1 = i64toi32_i32$2 | i64toi32_i32$4 | 0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$1; + break label$2; + } + $7_1 = $6_1 + 16383 | 0; + label$15 : { + if (($6_1 | 0) > (-16383 | 0)) { + break label$15 + } + label$16 : { + if ($7_1) { + break label$16 + } + i64toi32_i32$1 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$2 = 65535; + i64toi32_i32$4 = -1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $820_1 = i64toi32_i32$3 & i64toi32_i32$4 | 0; + $820$hi = i64toi32_i32$2; + i64toi32_i32$2 = $4$hi; + $821_1 = $4_1; + $821$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$1 = $1_1; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = 1; + i64toi32_i32$5 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$1 << i64toi32_i32$5 | 0; + $568_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$5 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$5 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$5 | 0) | 0; + $568_1 = i64toi32_i32$1 << i64toi32_i32$5 | 0; + } + $823$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$3 = $823$hi; + i64toi32_i32$2 = $568_1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$4 = $3_1; + $825_1 = i64toi32_i32$3 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$4 >>> 0 | 0) | 0; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$4 = $13_1; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = 1; + i64toi32_i32$5 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$4 << i64toi32_i32$5 | 0; + $569_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$5 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$5 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$5 | 0) | 0; + $569_1 = i64toi32_i32$4 << i64toi32_i32$5 | 0; + } + $827_1 = $569_1; + $827$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$4 = 0; + i64toi32_i32$1 = 63; + i64toi32_i32$5 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $570_1 = i64toi32_i32$3 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$3 >>> i64toi32_i32$5 | 0; + $570_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$5 | 0) | 0; + } + $829$hi = i64toi32_i32$4; + i64toi32_i32$4 = $827$hi; + i64toi32_i32$3 = $827_1; + i64toi32_i32$2 = $829$hi; + i64toi32_i32$1 = $570_1; + i64toi32_i32$2 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + $1_1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + $1$hi = i64toi32_i32$2; + i64toi32_i32$2 = $14$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$4 = $1_1; + i64toi32_i32$3 = $14$hi; + i64toi32_i32$1 = $14_1; + $833_1 = i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$4 >>> 0 > i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$1 = $1_1; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $14_1; + $837_1 = (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) | 0 ? $825_1 : $833_1; + i64toi32_i32$1 = 0; + $838$hi = i64toi32_i32$1; + i64toi32_i32$1 = $821$hi; + i64toi32_i32$3 = $821_1; + i64toi32_i32$4 = $838$hi; + i64toi32_i32$2 = $837_1; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $1_1 = i64toi32_i32$5; + $1$hi = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$2 = $4_1; + $842_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $843$hi = i64toi32_i32$1; + i64toi32_i32$1 = $820$hi; + i64toi32_i32$2 = $820_1; + i64toi32_i32$0 = $843$hi; + i64toi32_i32$3 = $842_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $3_1 = i64toi32_i32$4; + $3$hi = i64toi32_i32$5; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = 65536; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2 | 0; + if (!(i64toi32_i32$1 & i64toi32_i32$3 | 0 | i64toi32_i32$2 | 0)) { + break label$16 + } + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$3 = $12_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $12_1 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + $12$hi = i64toi32_i32$1; + break label$2; + } + i64toi32_i32$1 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$1; + break label$2; + } + i64toi32_i32$1 = 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = 48; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + $572_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$0 | 0) | 0; + $572_1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + } + $853$hi = i64toi32_i32$5; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$2 = 65535; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2 | 0; + $855_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $855$hi = i64toi32_i32$2; + i64toi32_i32$2 = $853$hi; + i64toi32_i32$5 = $572_1; + i64toi32_i32$1 = $855$hi; + i64toi32_i32$3 = $855_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $856_1 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + $856$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + $857_1 = $4_1; + $857$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + $573_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$0 | 0) | 0; + $573_1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + } + $859$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$5 = $859$hi; + i64toi32_i32$1 = $573_1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$3 = $3_1; + $861_1 = i64toi32_i32$5 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$3 = $13_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$0 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + $575_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$0 | 0) | 0; + $575_1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + } + $863_1 = $575_1; + $863$hi = i64toi32_i32$5; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$1 = $1_1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = 63; + i64toi32_i32$0 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $576_1 = i64toi32_i32$5 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$5 >>> i64toi32_i32$0 | 0; + $576_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$0 | 0) | 0; + } + $865$hi = i64toi32_i32$3; + i64toi32_i32$3 = $863$hi; + i64toi32_i32$5 = $863_1; + i64toi32_i32$1 = $865$hi; + i64toi32_i32$2 = $576_1; + i64toi32_i32$1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + $1_1 = i64toi32_i32$5 | i64toi32_i32$2 | 0; + $1$hi = i64toi32_i32$1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$5 = $14$hi; + i64toi32_i32$2 = $14_1; + $869_1 = i64toi32_i32$1 >>> 0 > i64toi32_i32$5 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$3 >>> 0 >= i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$2 = $1_1; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $14_1; + $873_1 = (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0 ? $861_1 : $869_1; + i64toi32_i32$2 = 0; + $874$hi = i64toi32_i32$2; + i64toi32_i32$2 = $857$hi; + i64toi32_i32$5 = $857_1; + i64toi32_i32$3 = $874$hi; + i64toi32_i32$1 = $873_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $1_1 = i64toi32_i32$0; + $1$hi = i64toi32_i32$4; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$1 = $4_1; + $878_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $879$hi = i64toi32_i32$2; + i64toi32_i32$2 = $856$hi; + i64toi32_i32$1 = $856_1; + i64toi32_i32$4 = $879$hi; + i64toi32_i32$5 = $878_1; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $880$hi = i64toi32_i32$0; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$0 = $880$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$5 = $12_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $12_1 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + $12$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $1$hi; + i64toi32_i32$2 = $0_1; + HEAP32[i64toi32_i32$2 >> 2] = $1_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $12$hi; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = $12_1; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$1; + global$0 = $5_1 + 192 | 0; + return; + } + i64toi32_i32$2 = $0_1; + i64toi32_i32$1 = 0; + HEAP32[i64toi32_i32$2 >> 2] = 0; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$5 = $2_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$4 = !(i64toi32_i32$0 | i64toi32_i32$5 | 0 | i64toi32_i32$2 | 0); + i64toi32_i32$2 = 2147450880; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$5 = i64toi32_i32$4 ? 0 : $12_1; + i64toi32_i32$1 = i64toi32_i32$4 ? i64toi32_i32$2 : i64toi32_i32$0; + $896_1 = i64toi32_i32$5; + i64toi32_i32$5 = $0_1; + HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] = $896_1; + HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] = i64toi32_i32$1; + global$0 = $5_1 + 192 | 0; + } + + function $3266($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = +$1_1; + var i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5_1 = 0, $5$hi = 0, $2_1 = 0, $4_1 = 0, $4$hi = 0, $6_1 = 0, $6$hi = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $30_1 = 0, $3_1 = 0, $31_1 = 0, $32_1 = 0, $33_1 = 0, $33$hi = 0, $37_1 = 0, $50_1 = 0, $50$hi = 0, $54$hi = 0, $63_1 = 0, $63$hi = 0, $64_1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + wasm2js_scratch_store_f64(+$1_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $4_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $4$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $5_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $5$hi = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = -1048576; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = 2145386495; + i64toi32_i32$3 = -1; + if (i64toi32_i32$5 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$4 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) { + break label$2 + } + i64toi32_i32$1 = $5$hi; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = 60; + i64toi32_i32$2 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + $26_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$2 | 0) | 0; + $26_1 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + } + $6_1 = $26_1; + $6$hi = i64toi32_i32$5; + i64toi32_i32$5 = $5$hi; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 4; + i64toi32_i32$2 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $27_1 = i64toi32_i32$5 >>> i64toi32_i32$2 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$5 >>> i64toi32_i32$2 | 0; + $27_1 = (((1 << i64toi32_i32$2 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$2 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$2 | 0) | 0; + } + i64toi32_i32$5 = $27_1; + i64toi32_i32$1 = 1006632960; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $5_1 = i64toi32_i32$2; + $5$hi = i64toi32_i32$4; + break label$1; + } + label$3 : { + i64toi32_i32$4 = $5$hi; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = 2146435072; + i64toi32_i32$0 = 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0) { + break label$3 + } + i64toi32_i32$3 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = 60; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + $28_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$1 | 0) | 0; + $28_1 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + } + $6_1 = $28_1; + $6$hi = i64toi32_i32$4; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 4; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $29_1 = i64toi32_i32$4 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$4 >>> i64toi32_i32$1 | 0; + $29_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$1 | 0) | 0; + } + i64toi32_i32$4 = $29_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $5_1 = i64toi32_i32$4 | i64toi32_i32$5 | 0; + $5$hi = i64toi32_i32$3; + break label$1; + } + label$4 : { + i64toi32_i32$3 = $5$hi; + if (!!($5_1 | i64toi32_i32$3 | 0)) { + break label$4 + } + i64toi32_i32$3 = 0; + $6_1 = 0; + $6$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $5_1 = 0; + $5$hi = i64toi32_i32$3; + break label$1; + } + $32_1 = $2_1; + i64toi32_i32$3 = $5$hi; + $33_1 = $5_1; + $33$hi = i64toi32_i32$3; + i64toi32_i32$3 = $4$hi; + $37_1 = Math_clz32($4_1) + 32 | 0; + i64toi32_i32$3 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $30_1 = i64toi32_i32$3 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$3 >>> i64toi32_i32$1 | 0; + $30_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$1 | 0) | 0; + } + i64toi32_i32$4 = $5$hi; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = 0; + $3_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0 ? $37_1 : Math_clz32($30_1); + i64toi32_i32$3 = $33$hi; + i64toi32_i32$4 = 0; + $3262($32_1 | 0, $33_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$4 | 0, $3_1 + 49 | 0 | 0); + i64toi32_i32$5 = $2_1 + 8 | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$4 = 65536; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = i64toi32_i32$3 ^ i64toi32_i32$4 | 0; + $50_1 = i64toi32_i32$5 ^ i64toi32_i32$0 | 0; + $50$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + i64toi32_i32$3 = 15372 - $3_1 | 0; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = 48; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + $31_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$1 | 0) | 0; + $31_1 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + } + $54$hi = i64toi32_i32$5; + i64toi32_i32$5 = $50$hi; + i64toi32_i32$4 = $50_1; + i64toi32_i32$3 = $54$hi; + i64toi32_i32$0 = $31_1; + i64toi32_i32$3 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + $5_1 = i64toi32_i32$4 | i64toi32_i32$0 | 0; + $5$hi = i64toi32_i32$3; + i64toi32_i32$5 = $2_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $6_1 = i64toi32_i32$3; + $6$hi = i64toi32_i32$4; + } + i64toi32_i32$4 = $6$hi; + i64toi32_i32$3 = $0_1; + HEAP32[i64toi32_i32$3 >> 2] = $6_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$4 = $5$hi; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$5 = $4_1; + i64toi32_i32$3 = -2147483648; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = i64toi32_i32$4 & i64toi32_i32$3 | 0; + $63_1 = i64toi32_i32$5 & i64toi32_i32$0 | 0; + $63$hi = i64toi32_i32$3; + i64toi32_i32$3 = $5$hi; + i64toi32_i32$4 = $5_1; + i64toi32_i32$5 = $63$hi; + i64toi32_i32$0 = $63_1; + i64toi32_i32$5 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + $64_1 = i64toi32_i32$4 | i64toi32_i32$0 | 0; + i64toi32_i32$4 = $0_1; + HEAP32[(i64toi32_i32$4 + 8 | 0) >> 2] = $64_1; + HEAP32[(i64toi32_i32$4 + 12 | 0) >> 2] = i64toi32_i32$5; + global$0 = $2_1 + 16 | 0; + } + + function $3267($0_1, $0$hi, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $3_1 = 0, i64toi32_i32$4 = 0, $2_1 = 0, $4_1 = 0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $24_1 = 0, $24$hi = 0, $29_1 = 0, $31_1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + $3_1 = 0; + label$1 : { + i64toi32_i32$0 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 48; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $16_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $16_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $4_1 = $16_1 & 32767 | 0; + if ($4_1 >>> 0 < 16383 >>> 0) { + break label$1 + } + label$2 : { + if (($4_1 + -16383 | 0) >>> 0 < 32 >>> 0) { + break label$2 + } + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $17_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $18_1 = 0 + } else { + $18_1 = 1 + } + $19_1 = $18_1; + } else { + $19_1 = 0 + } + $17_1 = $19_1; + } + $3_1 = $17_1 ? 2147483647 : -2147483648; + break label$1; + } + i64toi32_i32$0 = $0$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$1 = 65535; + i64toi32_i32$2 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = 65536; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + $24_1 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $24$hi = i64toi32_i32$3; + i64toi32_i32$3 = $0$hi; + i64toi32_i32$0 = $24$hi; + $3272($2_1 | 0, $0_1 | 0, i64toi32_i32$3 | 0, $24_1 | 0, i64toi32_i32$0 | 0, 16495 - $4_1 | 0 | 0); + $3_1 = HEAP32[$2_1 >> 2] | 0; + $29_1 = $3_1; + $31_1 = 0 - $3_1 | 0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $1_1; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = -1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$3 | 0)) { + $20_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$2 >>> 0) { + $21_1 = 0 + } else { + $21_1 = 1 + } + $22_1 = $21_1; + } else { + $22_1 = 0 + } + $20_1 = $22_1; + } + $3_1 = $20_1 ? $29_1 : $31_1; + } + global$0 = $2_1 + 16 | 0; + return $3_1 | 0; + } + + function $3268($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, $4_1 = 0, $4$hi = 0, $2_1 = 0, $25_1 = 0, $26_1 = 0, $3_1 = 0, $27_1 = 0, $11_1 = 0, $12_1 = 0, $12$hi = 0, $16$hi = 0, $19_1 = 0, $19$hi = 0, $28_1 = 0, $28$hi = 0, $32$hi = 0, $33$hi = 0, $35_1 = 0, $35$hi = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + i64toi32_i32$0 = $1$hi; + if (!!($1_1 | i64toi32_i32$0 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $4_1 = 0; + $4$hi = i64toi32_i32$0; + break label$1; + } + $11_1 = $2_1; + i64toi32_i32$0 = $1$hi; + $12_1 = $1_1; + $12$hi = i64toi32_i32$0; + i64toi32_i32$2 = $1_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $25_1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + $25_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $4_1 = $25_1; + $4$hi = i64toi32_i32$1; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$0 = $12_1; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $16$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$5 = $16$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = i64toi32_i32$5 ^ i64toi32_i32$0 | 0; + $4_1 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; + $4$hi = i64toi32_i32$0; + $19_1 = $4_1; + $19$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = Math_clz32(i64toi32_i32$0); + i64toi32_i32$5 = 0; + if ((i64toi32_i32$3 | 0) == (32 | 0)) { + $26_1 = Math_clz32(i64toi32_i32$1) + 32 | 0 + } else { + $26_1 = i64toi32_i32$3 + } + $3_1 = $26_1; + i64toi32_i32$5 = $19$hi; + i64toi32_i32$0 = 0; + $3262($11_1 | 0, $19_1 | 0, i64toi32_i32$5 | 0, 0 | 0, i64toi32_i32$0 | 0, $3_1 + 49 | 0 | 0); + i64toi32_i32$1 = $2_1 + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = 65536; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$5 ^ i64toi32_i32$0 | 0; + $28_1 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; + $28$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 16446 - $3_1 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 48; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$5 << i64toi32_i32$2 | 0; + $27_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$2 | 0) | 0; + $27_1 = i64toi32_i32$5 << i64toi32_i32$2 | 0; + } + $32$hi = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$0 = $28_1; + i64toi32_i32$5 = $32$hi; + i64toi32_i32$3 = $27_1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $33$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$1 = $1_1; + i64toi32_i32$0 = -2147483648; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $35_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $35$hi = i64toi32_i32$0; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$3 = $35_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $4_1 = i64toi32_i32$4 | i64toi32_i32$3 | 0; + $4$hi = i64toi32_i32$1; + i64toi32_i32$0 = $2_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $1_1 = i64toi32_i32$1; + $1$hi = i64toi32_i32$4; + } + i64toi32_i32$4 = $1$hi; + i64toi32_i32$1 = $0_1; + HEAP32[i64toi32_i32$1 >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$4 = $4$hi; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $4_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$4; + global$0 = $2_1 + 16 | 0; + } + + function $3269($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $3_1 = 0, i64toi32_i32$4 = 0, $2_1 = 0, $4_1 = 0, $4$hi = 0, $5_1 = 0, $5$hi = 0, $21_1 = 0, $22_1 = 0, $19_1 = 0, $27_1 = 0, $27$hi = 0, $31$hi = 0, $32_1 = 0, $32$hi = 0, $36$hi = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + if ($1_1) { + break label$2 + } + i64toi32_i32$0 = 0; + $4_1 = 0; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $5_1 = 0; + $5$hi = i64toi32_i32$0; + break label$1; + } + $3_1 = $1_1 >> 31 | 0; + $3_1 = ($1_1 + $3_1 | 0) ^ $3_1 | 0; + i64toi32_i32$0 = 0; + $19_1 = $3_1; + $3_1 = Math_clz32($3_1); + i64toi32_i32$1 = 0; + $3262($2_1 | 0, $19_1 | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$1 | 0, $3_1 + 81 | 0 | 0); + i64toi32_i32$2 = $2_1 + 8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = 65536; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0; + $27_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + $27$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 16414 - $3_1 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 48; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $21_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $21_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $31$hi = i64toi32_i32$2; + i64toi32_i32$2 = $27$hi; + i64toi32_i32$1 = $27_1; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $32_1 = i64toi32_i32$4; + $32$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = $1_1 & -2147483648 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + $22_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$0 | 0) | 0; + $22_1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + } + $36$hi = i64toi32_i32$1; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$5 = $32_1; + i64toi32_i32$2 = $36$hi; + i64toi32_i32$3 = $22_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $5_1 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + $5$hi = i64toi32_i32$2; + i64toi32_i32$1 = $2_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $4_1 = i64toi32_i32$2; + $4$hi = i64toi32_i32$5; + } + i64toi32_i32$5 = $4$hi; + i64toi32_i32$2 = $0_1; + HEAP32[i64toi32_i32$2 >> 2] = $4_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $5$hi; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = $5_1; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$5; + global$0 = $2_1 + 16 | 0; + } + + function $3270() { + return 0 | 0; + } + + function $3271() { + return 0 | 0; + } + + function $3272($0_1, $1_1, $1$hi, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $4$hi = 0, $18_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $11$hi = 0, $18$hi = 0, $19_1 = 0, $19$hi = 0, $4_1 = 0, $24$hi = 0; + label$1 : { + label$2 : { + if (!($3_1 & 64 | 0)) { + break label$2 + } + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = 0; + $11$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$3 = $3_1 + -64 | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $18_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $18_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $18_1; + $1$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $2_1 = 0; + $2$hi = i64toi32_i32$1; + break label$1; + } + if (!$3_1) { + break label$1 + } + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = 0; + $18$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$3 = 64 - $3_1 | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $20_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $20_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $19_1 = $20_1; + $19$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = 0; + $4_1 = $3_1; + $4$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$1 = $1_1; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $21_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $21_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + $24$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$2 = $19_1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $1_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $1$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $22_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $22_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $22_1; + $2$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $1$hi; + i64toi32_i32$0 = $0_1; + HEAP32[i64toi32_i32$0 >> 2] = $1_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $2_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$2; + } + + function $3273($0_1, $1_1, $1$hi, $2_1, $2$hi, $3_1, $3$hi, $4_1, $4$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $5_1 = 0, $14$hi = 0, $14_1 = 0, $12$hi = 0, $11$hi = 0, $10$hi = 0, $15$hi = 0, $12_1 = 0, $6_1 = 0, $15_1 = 0, $11_1 = 0, $10_1 = 0, $18$hi = 0, $8_1 = 0, $18_1 = 0, $13$hi = 0, $16$hi = 0, $17$hi = 0, $7_1 = 0, $13_1 = 0, $16_1 = 0, $17_1 = 0, $19$hi = 0, $22$hi = 0, $19_1 = 0, $9_1 = 0, $20$hi = 0, $21$hi = 0, $23$hi = 0, $24$hi = 0, $228_1 = 0, $229_1 = 0, $230_1 = 0, $231_1 = 0, $232_1 = 0, $233_1 = 0, $234_1 = 0, $235_1 = 0, $237_1 = 0, $238_1 = 0, $239_1 = 0, $240_1 = 0, $241_1 = 0, $242_1 = 0, $244_1 = 0, $246_1 = 0, $248_1 = 0, $249_1 = 0, $251_1 = 0, $252_1 = 0, $254_1 = 0, $256_1 = 0, $20_1 = 0, $257_1 = 0, $258_1 = 0, $21_1 = 0, $22_1 = 0, $259_1 = 0, $24_1 = 0, $260_1 = 0, $261_1 = 0, $262_1 = 0, $263_1 = 0, $265_1 = 0, $266_1 = 0, $267_1 = 0, $268_1 = 0, $270_1 = 0, $271_1 = 0, $272_1 = 0, $273_1 = 0, $274_1 = 0, $275_1 = 0, $276_1 = 0, $278_1 = 0, $29_1 = 0, $29$hi = 0, $31$hi = 0, $34_1 = 0, $34$hi = 0, $36$hi = 0, $39_1 = 0, $39$hi = 0, $43$hi = 0, $70_1 = 0, $74_1 = 0, $81_1 = 0, $85_1 = 0, $94_1 = 0, $94$hi = 0, $106_1 = 0, $106$hi = 0, $128_1 = 0, $129_1 = 0, $129$hi = 0, $130_1 = 0, $130$hi = 0, $137$hi = 0, $140$hi = 0, $150_1 = 0, $150$hi = 0, $155$hi = 0, $162_1 = 0, $163_1 = 0, $163$hi = 0, $164_1 = 0, $164$hi = 0, $171$hi = 0, $174$hi = 0, $186_1 = 0, $186$hi = 0, $191$hi = 0, $194_1 = 0, $194$hi = 0, $196$hi = 0, $207_1 = 0, $207$hi = 0, $215_1 = 0, $215$hi = 0, $222_1 = 0, $222$hi = 0, $227_1 = 0, $227$hi = 0, $236_1 = 0, $236$hi = 0, $243_1 = 0, $243$hi = 0, $245_1 = 0, $245$hi = 0, $247_1 = 0, $247$hi = 0, $250_1 = 0, $252$hi = 0, $253_1 = 0, $253$hi = 0, $255_1 = 0, $255$hi = 0, $264_1 = 0, $264$hi = 0, $269_1 = 0, $269$hi = 0, $277_1 = 0, $277$hi = 0, $280$hi = 0, $23_1 = 0, $296_1 = 0, $296$hi = 0, $300_1 = 0, $301_1 = 0, $301$hi = 0, $305_1 = 0, $305$hi = 0, $309_1 = 0, $310$hi = 0, $311_1 = 0, $311$hi = 0, $312_1 = 0, $312$hi = 0, $315_1 = 0, $316$hi = 0, $319_1 = 0, $320$hi = 0, $321$hi = 0, $325_1 = 0, $326$hi = 0, $327$hi = 0, $330_1 = 0, $330$hi = 0, $331_1 = 0, $331$hi = 0, $338_1 = 0, $338$hi = 0, $344_1 = 0, $344$hi = 0, $346$hi = 0, $347_1 = 0, $347$hi = 0, $348_1 = 0, $348$hi = 0, $349_1 = 0, $349$hi = 0, $351$hi = 0, $355_1 = 0, $356$hi = 0, $357_1 = 0, $357$hi = 0, $358_1 = 0, $358$hi = 0, $360_1 = 0, $360$hi = 0, $363_1 = 0, $364$hi = 0, $367_1 = 0, $368$hi = 0, $369$hi = 0, $372_1 = 0, $373$hi = 0, $375$hi = 0, $376_1 = 0, $376$hi = 0, $380_1 = 0, $381$hi = 0, $382_1 = 0, $382$hi = 0, $383_1 = 0, $383$hi = 0, $386_1 = 0, $387$hi = 0, $390_1 = 0, $391$hi = 0, $392$hi = 0, $396_1 = 0, $397$hi = 0, $407_1 = 0, $407$hi = 0, $409$hi = 0, $412_1 = 0, $412$hi = 0, $414$hi = 0, $418_1 = 0, $418$hi = 0, $420$hi = 0, $454_1 = 0, $454$hi = 0, $456_1 = 0, $456$hi = 0, $457_1 = 0, $457$hi = 0, $459_1 = 0, $459$hi = 0, $463_1 = 0, $463$hi = 0, $465_1 = 0, $466$hi = 0, $471_1 = 0, $471$hi = 0, $475_1 = 0, $475$hi = 0, $484$hi = 0, $486_1 = 0, $486$hi = 0, $492_1 = 0, $498_1 = 0, $498$hi = 0, $503_1 = 0, $504$hi = 0, $508_1 = 0, $508$hi = 0, $512_1 = 0, $512$hi = 0, $515_1 = 0, $515$hi = 0, $519_1 = 0, $520$hi = 0; + $5_1 = global$0 - 96 | 0; + global$0 = $5_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $228_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $228_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $29_1 = $228_1; + $29$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $229_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $229_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $31$hi = i64toi32_i32$2; + i64toi32_i32$2 = $29$hi; + i64toi32_i32$1 = $29_1; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$3 = $229_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $10_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 17; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $230_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $230_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $34_1 = $230_1; + $34$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 47; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $231_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $231_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $36$hi = i64toi32_i32$2; + i64toi32_i32$2 = $34$hi; + i64toi32_i32$1 = $34_1; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$3 = $231_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $11_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + $11$hi = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 49; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $232_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $232_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $39_1 = $232_1; + $39$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = 65535; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $12_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $12$hi = i64toi32_i32$2; + i64toi32_i32$1 = $12_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 15; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $233_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $233_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $43$hi = i64toi32_i32$0; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$2 = $39_1; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$3 = $233_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $13_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $13$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0; + i64toi32_i32$0 = -2147483648; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $14_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $14$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 65535; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $15_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$0 = $15_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $234_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $234_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $16_1 = $234_1; + $16$hi = i64toi32_i32$2; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$1 = $12_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 17; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $235_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $235_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + $17_1 = $235_1; + $17$hi = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 48; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $237_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $237_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $6_1 = $237_1 & 32767 | 0; + label$1 : { + label$2 : { + label$3 : { + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 48; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $238_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $238_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $7_1 = $238_1 & 32767 | 0; + if (($7_1 + -1 | 0) >>> 0 > 32765 >>> 0) { + break label$3 + } + $8_1 = 0; + if (($6_1 + -1 | 0) >>> 0 < 32766 >>> 0) { + break label$2 + } + } + label$4 : { + i64toi32_i32$2 = $1$hi; + $70_1 = !($1_1 | i64toi32_i32$2 | 0); + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $18_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $18$hi = i64toi32_i32$0; + i64toi32_i32$2 = $18_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$3 = 0; + $74_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$3 = $18_1; + i64toi32_i32$0 = 2147418112; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0 ? $70_1 : $74_1) { + break label$4 + } + i64toi32_i32$3 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$2 = 32768; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + $14_1 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $14$hi = i64toi32_i32$2; + break label$1; + } + label$5 : { + i64toi32_i32$2 = $3$hi; + $81_1 = !($3_1 | i64toi32_i32$2 | 0); + i64toi32_i32$2 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$0 = -1; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $2_1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + $2$hi = i64toi32_i32$1; + i64toi32_i32$2 = $2_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$0 = 0; + $85_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = $2_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0 ? $81_1 : $85_1) { + break label$5 + } + i64toi32_i32$0 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = 32768; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $14_1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + $14$hi = i64toi32_i32$2; + i64toi32_i32$2 = $3$hi; + $1_1 = $3_1; + $1$hi = i64toi32_i32$2; + break label$1; + } + label$6 : { + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$0 = $18_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + $94_1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0; + $94$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$1 = $94_1; + i64toi32_i32$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) { + break label$6 + } + label$7 : { + i64toi32_i32$3 = $3$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + if (!!(i64toi32_i32$1 | i64toi32_i32$2 | 0 | i64toi32_i32$0 | 0)) { + break label$7 + } + i64toi32_i32$0 = 2147450880; + $14_1 = 0; + $14$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$0; + break label$1; + } + i64toi32_i32$0 = $14$hi; + i64toi32_i32$3 = $14_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $14_1 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + $14$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$1; + break label$1; + } + label$8 : { + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; + $106_1 = i64toi32_i32$0 ^ i64toi32_i32$2 | 0; + $106$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$0 = $106$hi; + i64toi32_i32$2 = $106_1; + i64toi32_i32$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) { + break label$8 + } + i64toi32_i32$3 = $1$hi; + i64toi32_i32$3 = $18$hi; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$1 = $18_1; + i64toi32_i32$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + $2_1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $2$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$0; + label$9 : { + i64toi32_i32$0 = $2$hi; + if (!!($2_1 | i64toi32_i32$0 | 0)) { + break label$9 + } + i64toi32_i32$0 = 2147450880; + $14_1 = 0; + $14$hi = i64toi32_i32$0; + break label$1; + } + i64toi32_i32$0 = $14$hi; + i64toi32_i32$3 = $14_1; + i64toi32_i32$2 = 2147418112; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $14_1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + $14$hi = i64toi32_i32$2; + break label$1; + } + label$10 : { + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$3 = $18$hi; + i64toi32_i32$1 = $18_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | 0) { + break label$10 + } + i64toi32_i32$2 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$2; + break label$1; + } + label$11 : { + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$1 | 0) | 0) { + break label$11 + } + i64toi32_i32$2 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$2; + break label$1; + } + $8_1 = 0; + label$12 : { + i64toi32_i32$2 = $18$hi; + i64toi32_i32$0 = $18_1; + i64toi32_i32$3 = 65535; + i64toi32_i32$1 = -1; + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$0 >>> 0 > i64toi32_i32$1 >>> 0 | 0) | 0) { + break label$12 + } + $128_1 = $5_1 + 80 | 0; + i64toi32_i32$0 = $1$hi; + $129_1 = $1_1; + $129$hi = i64toi32_i32$0; + i64toi32_i32$0 = $15$hi; + $130_1 = $15_1; + $130$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $15$hi; + $8_1 = !($15_1 | i64toi32_i32$0 | 0); + i64toi32_i32$4 = $8_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$3 = i64toi32_i32$4 ? $1_1 : $15_1; + i64toi32_i32$1 = i64toi32_i32$4 ? i64toi32_i32$0 : i64toi32_i32$2; + i64toi32_i32$0 = Math_clz32(i64toi32_i32$1); + i64toi32_i32$4 = 0; + if ((i64toi32_i32$0 | 0) == (32 | 0)) { + $239_1 = Math_clz32(i64toi32_i32$3) + 32 | 0 + } else { + $239_1 = i64toi32_i32$0 + } + $137$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $140$hi = i64toi32_i32$4; + i64toi32_i32$4 = $137$hi; + i64toi32_i32$3 = $239_1; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$0 = $8_1 << 6 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $8_1 = i64toi32_i32$2; + i64toi32_i32$5 = $129$hi; + i64toi32_i32$3 = $130$hi; + $3262($128_1 | 0, $129_1 | 0, i64toi32_i32$5 | 0, $130_1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 + -15 | 0 | 0); + $8_1 = 16 - i64toi32_i32$2 | 0; + i64toi32_i32$4 = $5_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$4 + 80 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 84 | 0) >> 2] | 0; + $1_1 = i64toi32_i32$3; + $1$hi = i64toi32_i32$5; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $240_1 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + $240_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$1 | 0) | 0; + } + $150_1 = $240_1; + $150$hi = i64toi32_i32$3; + i64toi32_i32$5 = $5_1 + 88 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $15_1 = i64toi32_i32$3; + $15$hi = i64toi32_i32$4; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + $241_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$1 | 0) | 0; + $241_1 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + } + $155$hi = i64toi32_i32$3; + i64toi32_i32$3 = $150$hi; + i64toi32_i32$4 = $150_1; + i64toi32_i32$5 = $155$hi; + i64toi32_i32$0 = $241_1; + i64toi32_i32$5 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + $10_1 = i64toi32_i32$4 | i64toi32_i32$0 | 0; + $10$hi = i64toi32_i32$5; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$3 = $15_1; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $242_1 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + $242_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$1 | 0) | 0; + } + $16_1 = $242_1; + $16$hi = i64toi32_i32$4; + } + i64toi32_i32$4 = $2$hi; + i64toi32_i32$5 = $2_1; + i64toi32_i32$3 = 65535; + i64toi32_i32$0 = -1; + if (i64toi32_i32$4 >>> 0 > i64toi32_i32$3 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$5 >>> 0 > i64toi32_i32$0 >>> 0 | 0) | 0) { + break label$2 + } + $162_1 = $5_1 + 64 | 0; + i64toi32_i32$5 = $3$hi; + $163_1 = $3_1; + $163$hi = i64toi32_i32$5; + i64toi32_i32$5 = $12$hi; + $164_1 = $12_1; + $164$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$5 = $12$hi; + $9_1 = !($12_1 | i64toi32_i32$5 | 0); + i64toi32_i32$1 = $9_1; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$4 = $12$hi; + i64toi32_i32$3 = i64toi32_i32$1 ? $3_1 : $12_1; + i64toi32_i32$0 = i64toi32_i32$1 ? i64toi32_i32$5 : i64toi32_i32$4; + i64toi32_i32$5 = Math_clz32(i64toi32_i32$0); + i64toi32_i32$1 = 0; + if ((i64toi32_i32$5 | 0) == (32 | 0)) { + $244_1 = Math_clz32(i64toi32_i32$3) + 32 | 0 + } else { + $244_1 = i64toi32_i32$5 + } + $171$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $174$hi = i64toi32_i32$1; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$3 = $244_1; + i64toi32_i32$0 = $174$hi; + i64toi32_i32$5 = $9_1 << 6 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $9_1 = i64toi32_i32$4; + i64toi32_i32$2 = $163$hi; + i64toi32_i32$3 = $164$hi; + $3262($162_1 | 0, $163_1 | 0, i64toi32_i32$2 | 0, $164_1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$4 + -15 | 0 | 0); + $8_1 = ($8_1 - i64toi32_i32$4 | 0) + 16 | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] | 0; + $3_1 = i64toi32_i32$3; + $3$hi = i64toi32_i32$2; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 49; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $246_1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + $246_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$0 | 0) | 0; + } + $186_1 = $246_1; + $186$hi = i64toi32_i32$3; + i64toi32_i32$2 = $5_1 + 72 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2_1 = i64toi32_i32$3; + $2$hi = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 15; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + $248_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$0 | 0) | 0; + $248_1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + } + $191$hi = i64toi32_i32$3; + i64toi32_i32$3 = $186$hi; + i64toi32_i32$1 = $186_1; + i64toi32_i32$2 = $191$hi; + i64toi32_i32$5 = $248_1; + i64toi32_i32$2 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + $13_1 = i64toi32_i32$1 | i64toi32_i32$5 | 0; + $13$hi = i64toi32_i32$2; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 17; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $249_1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + $249_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$0 | 0) | 0; + } + $194_1 = $249_1; + $194$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 47; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + $251_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$0 | 0) | 0; + $251_1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + } + $196$hi = i64toi32_i32$3; + i64toi32_i32$3 = $194$hi; + i64toi32_i32$1 = $194_1; + i64toi32_i32$2 = $196$hi; + i64toi32_i32$5 = $251_1; + i64toi32_i32$2 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + $11_1 = i64toi32_i32$1 | i64toi32_i32$5 | 0; + $11$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 17; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $252_1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + $252_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$0 | 0) | 0; + } + $17_1 = $252_1; + $17$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = -1; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $2_1 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $2$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$1 = $1_1; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = -1; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $4_1 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + $4$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = __wasm_i64_mul($2_1 | 0, i64toi32_i32$2 | 0, $4_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $19_1 = i64toi32_i32$1; + $19$hi = i64toi32_i32$2; + $207_1 = i64toi32_i32$1; + $207$hi = i64toi32_i32$2; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 15; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + $254_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$0 | 0) | 0; + $254_1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + } + i64toi32_i32$2 = $254_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = -32768; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $1_1 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $1$hi = i64toi32_i32$3; + i64toi32_i32$3 = $10$hi; + i64toi32_i32$1 = $10_1; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = -1; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $3_1 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + $3$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$2 | 0, $3_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $215_1 = i64toi32_i32$1; + $215$hi = i64toi32_i32$2; + i64toi32_i32$2 = $207$hi; + i64toi32_i32$3 = $207_1; + i64toi32_i32$1 = $215$hi; + i64toi32_i32$5 = $215_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $10_1 = i64toi32_i32$0; + $10$hi = i64toi32_i32$4; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + $256_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$1 | 0) | 0; + $256_1 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + } + $12_1 = $256_1; + $12$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$2 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$3 | 0, $4_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $222_1 = i64toi32_i32$2; + $222$hi = i64toi32_i32$3; + i64toi32_i32$3 = $12$hi; + i64toi32_i32$4 = $12_1; + i64toi32_i32$2 = $222$hi; + i64toi32_i32$5 = $222_1; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $11_1 = i64toi32_i32$1; + $11$hi = i64toi32_i32$0; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$4 = $12$hi; + i64toi32_i32$5 = $12_1; + i64toi32_i32$3 = 0; + $227_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$4 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$4 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + $227$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = __wasm_i64_mul($2_1 | 0, i64toi32_i32$3 | 0, $3_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $20_1 = i64toi32_i32$0; + $20$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$5 = $15_1; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = -1; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + $12_1 = i64toi32_i32$5 & i64toi32_i32$4 | 0; + $12$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$5 = $12$hi; + i64toi32_i32$5 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$0 | 0, $12_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $236_1 = i64toi32_i32$5; + $236$hi = i64toi32_i32$0; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$3 = $20_1; + i64toi32_i32$5 = $236$hi; + i64toi32_i32$4 = $236_1; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $18_1 = i64toi32_i32$2; + $18$hi = i64toi32_i32$1; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$0 = $13_1; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = -1; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $15_1 = i64toi32_i32$0 & i64toi32_i32$4 | 0; + $15$hi = i64toi32_i32$3; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$0 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$3 | 0, $4_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $243_1 = i64toi32_i32$0; + $243$hi = i64toi32_i32$3; + i64toi32_i32$3 = $18$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$0 = $243$hi; + i64toi32_i32$4 = $243_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $13_1 = i64toi32_i32$5; + $13$hi = i64toi32_i32$2; + $245_1 = i64toi32_i32$5; + $245$hi = i64toi32_i32$2; + i64toi32_i32$2 = $10$hi; + i64toi32_i32$3 = $10_1; + i64toi32_i32$1 = 0; + i64toi32_i32$4 = 32; + i64toi32_i32$0 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $257_1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + $257_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$0 | 0) | 0; + } + $247_1 = $257_1; + $247$hi = i64toi32_i32$1; + i64toi32_i32$1 = $10$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = $10$hi; + i64toi32_i32$2 = $10_1; + i64toi32_i32$3 = $19$hi; + i64toi32_i32$4 = $19_1; + $250_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$4 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$4 = $250_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$4 << i64toi32_i32$0 | 0; + $258_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$0 | 0) | 0; + $258_1 = i64toi32_i32$4 << i64toi32_i32$0 | 0; + } + $252$hi = i64toi32_i32$1; + i64toi32_i32$1 = $247$hi; + i64toi32_i32$2 = $247_1; + i64toi32_i32$4 = $252$hi; + i64toi32_i32$3 = $258_1; + i64toi32_i32$4 = i64toi32_i32$1 | i64toi32_i32$4 | 0; + $253_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $253$hi = i64toi32_i32$4; + i64toi32_i32$4 = $245$hi; + i64toi32_i32$1 = $245_1; + i64toi32_i32$2 = $253$hi; + i64toi32_i32$3 = $253_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $19_1 = i64toi32_i32$0; + $19$hi = i64toi32_i32$5; + $255_1 = i64toi32_i32$0; + $255$hi = i64toi32_i32$5; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$5 = $12$hi; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$1 = __wasm_i64_mul($2_1 | 0, i64toi32_i32$5 | 0, $12_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $21_1 = i64toi32_i32$1; + $21$hi = i64toi32_i32$5; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$5 = $16$hi; + i64toi32_i32$4 = $16_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 65536; + i64toi32_i32$1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + $10_1 = i64toi32_i32$4 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$4 = $10$hi; + i64toi32_i32$4 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$1 | 0, $10_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $264_1 = i64toi32_i32$4; + $264$hi = i64toi32_i32$1; + i64toi32_i32$1 = $21$hi; + i64toi32_i32$5 = $21_1; + i64toi32_i32$4 = $264$hi; + i64toi32_i32$3 = $264_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $16_1 = i64toi32_i32$2; + $16$hi = i64toi32_i32$0; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$5 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$0 | 0, $3_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $269_1 = i64toi32_i32$5; + $269$hi = i64toi32_i32$0; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$5 = $269$hi; + i64toi32_i32$3 = $269_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $22_1 = i64toi32_i32$4; + $22$hi = i64toi32_i32$2; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$0 = $17_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 2147483647; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = -2147483648; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $1_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $1$hi = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$2 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$0 | 0, $4_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $277_1 = i64toi32_i32$2; + $277$hi = i64toi32_i32$0; + i64toi32_i32$0 = $22$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $277$hi; + i64toi32_i32$3 = $277_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $17_1 = i64toi32_i32$5; + $17$hi = i64toi32_i32$4; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + $259_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$2 | 0) | 0; + $259_1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + } + $280$hi = i64toi32_i32$1; + i64toi32_i32$1 = $255$hi; + i64toi32_i32$4 = $255_1; + i64toi32_i32$0 = $280$hi; + i64toi32_i32$3 = $259_1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $23_1 = i64toi32_i32$2; + $23$hi = i64toi32_i32$5; + i64toi32_i32$5 = $227$hi; + i64toi32_i32$1 = $227_1; + i64toi32_i32$4 = $23$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $4_1 = i64toi32_i32$0; + $4$hi = i64toi32_i32$2; + $6_1 = (($7_1 + $6_1 | 0) + $8_1 | 0) + -16383 | 0; + label$13 : { + label$14 : { + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$1 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$2 | 0, $12_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $24_1 = i64toi32_i32$1; + $24$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $10$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $10$hi; + i64toi32_i32$1 = __wasm_i64_mul($2_1 | 0, i64toi32_i32$2 | 0, $10_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $296_1 = i64toi32_i32$1; + $296$hi = i64toi32_i32$2; + i64toi32_i32$2 = $24$hi; + i64toi32_i32$5 = $24_1; + i64toi32_i32$1 = $296$hi; + i64toi32_i32$3 = $296_1; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $2_1 = i64toi32_i32$4; + $2$hi = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$5 = $24$hi; + i64toi32_i32$3 = $24_1; + $300_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $301_1 = $300_1; + $301$hi = i64toi32_i32$2; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$2 | 0, $3_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $305_1 = i64toi32_i32$0; + $305$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$0 = $305$hi; + i64toi32_i32$5 = $305_1; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $3_1 = i64toi32_i32$1; + $3$hi = i64toi32_i32$4; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$5 = $2_1; + $309_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $310$hi = i64toi32_i32$2; + i64toi32_i32$2 = $301$hi; + i64toi32_i32$5 = $301_1; + i64toi32_i32$4 = $310$hi; + i64toi32_i32$3 = $309_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $311_1 = i64toi32_i32$0; + $311$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3$hi; + $312_1 = $3_1; + $312$hi = i64toi32_i32$1; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$2 = $18_1; + i64toi32_i32$5 = $20$hi; + i64toi32_i32$3 = $20_1; + $315_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $316$hi = i64toi32_i32$2; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$3 = $13_1; + i64toi32_i32$5 = $18_1; + $319_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$3 = 0; + $320$hi = i64toi32_i32$3; + i64toi32_i32$3 = $316$hi; + i64toi32_i32$5 = $315_1; + i64toi32_i32$2 = $320$hi; + i64toi32_i32$1 = $319_1; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $321$hi = i64toi32_i32$0; + i64toi32_i32$0 = $312$hi; + i64toi32_i32$3 = $312_1; + i64toi32_i32$5 = $321$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $2_1 = i64toi32_i32$2; + $2$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$1 = $3_1; + $325_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$0 = 0; + $326$hi = i64toi32_i32$0; + i64toi32_i32$0 = $311$hi; + i64toi32_i32$1 = $311_1; + i64toi32_i32$4 = $326$hi; + i64toi32_i32$3 = $325_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $327$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $10$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$1 = $10$hi; + i64toi32_i32$1 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$2 | 0, $10_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $330_1 = i64toi32_i32$1; + $330$hi = i64toi32_i32$2; + i64toi32_i32$2 = $327$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$1 = $330$hi; + i64toi32_i32$3 = $330_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $331_1 = i64toi32_i32$4; + $331$hi = i64toi32_i32$5; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$5 = $12$hi; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$0 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$5 | 0, $12_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $3_1 = i64toi32_i32$0; + $3$hi = i64toi32_i32$5; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$5 = $10$hi; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$0 = $10$hi; + i64toi32_i32$0 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$5 | 0, $10_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $338_1 = i64toi32_i32$0; + $338$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = $338$hi; + i64toi32_i32$3 = $338_1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $1_1 = i64toi32_i32$1; + $1$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$0 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + $260_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$0 | 0) | 0; + $260_1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + } + $344_1 = $260_1; + $344$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$5 = $1_1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$0 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $261_1 = i64toi32_i32$4 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$4 >>> i64toi32_i32$0 | 0; + $261_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$0 | 0) | 0; + } + $346$hi = i64toi32_i32$3; + i64toi32_i32$3 = $344$hi; + i64toi32_i32$4 = $344_1; + i64toi32_i32$5 = $346$hi; + i64toi32_i32$2 = $261_1; + i64toi32_i32$5 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + $347_1 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + $347$hi = i64toi32_i32$5; + i64toi32_i32$5 = $331$hi; + i64toi32_i32$3 = $331_1; + i64toi32_i32$4 = $347$hi; + i64toi32_i32$2 = $347_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $348_1 = i64toi32_i32$0; + $348$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + $349_1 = $2_1; + $349$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$5 = $1_1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $262_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $262_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $351$hi = i64toi32_i32$3; + i64toi32_i32$3 = $349$hi; + i64toi32_i32$1 = $349_1; + i64toi32_i32$5 = $351$hi; + i64toi32_i32$2 = $262_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $1_1 = i64toi32_i32$4; + $1$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$2 = $2_1; + $355_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$3 = 0; + $356$hi = i64toi32_i32$3; + i64toi32_i32$3 = $348$hi; + i64toi32_i32$2 = $348_1; + i64toi32_i32$0 = $356$hi; + i64toi32_i32$1 = $355_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $357_1 = i64toi32_i32$5; + $357$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + $358_1 = $1_1; + $358$hi = i64toi32_i32$4; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$3 = $17_1; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = 32; + i64toi32_i32$0 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $263_1 = i64toi32_i32$4 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >>> i64toi32_i32$0 | 0; + $263_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$0 | 0) | 0; + } + $360_1 = $263_1; + $360$hi = i64toi32_i32$2; + i64toi32_i32$2 = $16$hi; + i64toi32_i32$2 = $21$hi; + i64toi32_i32$2 = $16$hi; + i64toi32_i32$4 = $16_1; + i64toi32_i32$3 = $21$hi; + i64toi32_i32$1 = $21_1; + $363_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$4 = 0; + $364$hi = i64toi32_i32$4; + i64toi32_i32$4 = $22$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$4 = $22$hi; + i64toi32_i32$1 = $22_1; + i64toi32_i32$3 = $16_1; + $367_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $368$hi = i64toi32_i32$1; + i64toi32_i32$1 = $364$hi; + i64toi32_i32$3 = $363_1; + i64toi32_i32$4 = $368$hi; + i64toi32_i32$2 = $367_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $369$hi = i64toi32_i32$5; + i64toi32_i32$5 = $17$hi; + i64toi32_i32$5 = $22$hi; + i64toi32_i32$5 = $17$hi; + i64toi32_i32$1 = $17_1; + i64toi32_i32$3 = $22$hi; + i64toi32_i32$2 = $22_1; + $372_1 = i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $373$hi = i64toi32_i32$1; + i64toi32_i32$1 = $369$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$5 = $373$hi; + i64toi32_i32$3 = $372_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$5 | 0; + $265_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$5 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$5 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$5 | 0) | 0; + $265_1 = i64toi32_i32$1 << i64toi32_i32$5 | 0; + } + $375$hi = i64toi32_i32$2; + i64toi32_i32$2 = $360$hi; + i64toi32_i32$0 = $360_1; + i64toi32_i32$1 = $375$hi; + i64toi32_i32$3 = $265_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $376_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $376$hi = i64toi32_i32$1; + i64toi32_i32$1 = $358$hi; + i64toi32_i32$2 = $358_1; + i64toi32_i32$0 = $376$hi; + i64toi32_i32$3 = $376_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $3_1 = i64toi32_i32$5; + $3$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$3 = $1_1; + $380_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $381$hi = i64toi32_i32$1; + i64toi32_i32$1 = $357$hi; + i64toi32_i32$3 = $357_1; + i64toi32_i32$4 = $381$hi; + i64toi32_i32$2 = $380_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $382_1 = i64toi32_i32$0; + $382$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + $383_1 = $3_1; + $383$hi = i64toi32_i32$5; + i64toi32_i32$5 = $19$hi; + i64toi32_i32$5 = $13$hi; + i64toi32_i32$5 = $19$hi; + i64toi32_i32$1 = $19_1; + i64toi32_i32$3 = $13$hi; + i64toi32_i32$2 = $13_1; + $386_1 = i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $387$hi = i64toi32_i32$1; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$2 = $23_1; + i64toi32_i32$3 = $19_1; + $390_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $391$hi = i64toi32_i32$2; + i64toi32_i32$2 = $387$hi; + i64toi32_i32$3 = $386_1; + i64toi32_i32$1 = $391$hi; + i64toi32_i32$5 = $390_1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $392$hi = i64toi32_i32$0; + i64toi32_i32$0 = $383$hi; + i64toi32_i32$2 = $383_1; + i64toi32_i32$3 = $392$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $2_1 = i64toi32_i32$1; + $2$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$5 = $3_1; + $396_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$0 = 0; + $397$hi = i64toi32_i32$0; + i64toi32_i32$0 = $382$hi; + i64toi32_i32$5 = $382_1; + i64toi32_i32$4 = $397$hi; + i64toi32_i32$2 = $396_1; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $1_1 = i64toi32_i32$3; + $1$hi = i64toi32_i32$1; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$5 = 65536; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + if (!(i64toi32_i32$0 & i64toi32_i32$2 | 0 | i64toi32_i32$5 | 0)) { + break label$14 + } + $6_1 = $6_1 + 1 | 0; + break label$13; + } + i64toi32_i32$5 = $11$hi; + i64toi32_i32$1 = $11_1; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = 63; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $266_1 = i64toi32_i32$5 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$5 >>> i64toi32_i32$4 | 0; + $266_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + $3_1 = $266_1; + $3$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$5 = $1_1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $267_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $267_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $407_1 = $267_1; + $407$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 63; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $268_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $268_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $409$hi = i64toi32_i32$5; + i64toi32_i32$5 = $407$hi; + i64toi32_i32$1 = $407_1; + i64toi32_i32$0 = $409$hi; + i64toi32_i32$2 = $268_1; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + $1_1 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $1$hi = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$5 = $4_1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = 63; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $270_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $270_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$4 | 0) | 0; + } + $412_1 = $270_1; + $412$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $271_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $271_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $414$hi = i64toi32_i32$5; + i64toi32_i32$5 = $412$hi; + i64toi32_i32$1 = $412_1; + i64toi32_i32$0 = $414$hi; + i64toi32_i32$2 = $271_1; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + $2_1 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $2$hi = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$5 = $11_1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $272_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $272_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $11_1 = $272_1; + $11$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3$hi; + $418_1 = $3_1; + $418$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $273_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $273_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $420$hi = i64toi32_i32$5; + i64toi32_i32$5 = $418$hi; + i64toi32_i32$1 = $418_1; + i64toi32_i32$0 = $420$hi; + i64toi32_i32$2 = $273_1; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + $4_1 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $4$hi = i64toi32_i32$0; + } + label$15 : { + if (($6_1 | 0) < (32767 | 0)) { + break label$15 + } + i64toi32_i32$0 = $14$hi; + i64toi32_i32$5 = $14_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $14_1 = i64toi32_i32$5 | i64toi32_i32$2 | 0; + $14$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$1; + break label$1; + } + label$16 : { + label$17 : { + if (($6_1 | 0) > (0 | 0)) { + break label$17 + } + label$18 : { + $7_1 = 1 - $6_1 | 0; + if ($7_1 >>> 0 < 128 >>> 0) { + break label$18 + } + i64toi32_i32$1 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = $11$hi; + i64toi32_i32$1 = $4$hi; + $6_1 = $6_1 + 127 | 0; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$5 = $4$hi; + $3262($5_1 + 48 | 0 | 0, $11_1 | 0, i64toi32_i32$1 | 0, $4_1 | 0, i64toi32_i32$5 | 0, $6_1 | 0); + i64toi32_i32$5 = $2$hi; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$1 = $1$hi; + $3262($5_1 + 32 | 0 | 0, $2_1 | 0, i64toi32_i32$5 | 0, $1_1 | 0, i64toi32_i32$1 | 0, $6_1 | 0); + i64toi32_i32$1 = $11$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$5 = $4$hi; + $3272($5_1 + 16 | 0 | 0, $11_1 | 0, i64toi32_i32$1 | 0, $4_1 | 0, i64toi32_i32$5 | 0, $7_1 | 0); + i64toi32_i32$5 = $2$hi; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$1 = $1$hi; + $3272($5_1 | 0, $2_1 | 0, i64toi32_i32$5 | 0, $1_1 | 0, i64toi32_i32$1 | 0, $7_1 | 0); + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $454_1 = i64toi32_i32$1; + $454$hi = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $456_1 = i64toi32_i32$5; + $456$hi = i64toi32_i32$1; + i64toi32_i32$1 = $454$hi; + i64toi32_i32$0 = $454_1; + i64toi32_i32$5 = $456$hi; + i64toi32_i32$2 = $456_1; + i64toi32_i32$5 = i64toi32_i32$1 | i64toi32_i32$5 | 0; + $457_1 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $457$hi = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] | 0; + $459_1 = i64toi32_i32$5; + $459$hi = i64toi32_i32$0; + i64toi32_i32$1 = (i64toi32_i32$1 + 48 | 0) + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $463_1 = i64toi32_i32$0; + $463$hi = i64toi32_i32$5; + i64toi32_i32$5 = $459$hi; + i64toi32_i32$1 = $459_1; + i64toi32_i32$0 = $463$hi; + i64toi32_i32$2 = $463_1; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = 0; + $465_1 = (i64toi32_i32$5 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0; + i64toi32_i32$5 = 0; + $466$hi = i64toi32_i32$5; + i64toi32_i32$5 = $457$hi; + i64toi32_i32$2 = $457_1; + i64toi32_i32$0 = $466$hi; + i64toi32_i32$1 = $465_1; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + $11_1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $11$hi = i64toi32_i32$0; + i64toi32_i32$5 = ($5_1 + 32 | 0) + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $471_1 = i64toi32_i32$0; + $471$hi = i64toi32_i32$2; + i64toi32_i32$5 = ($5_1 + 16 | 0) + 8 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $475_1 = i64toi32_i32$2; + $475$hi = i64toi32_i32$0; + i64toi32_i32$0 = $471$hi; + i64toi32_i32$5 = $471_1; + i64toi32_i32$2 = $475$hi; + i64toi32_i32$1 = $475_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $4_1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + $4$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1 + 8 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $1_1 = i64toi32_i32$2; + $1$hi = i64toi32_i32$5; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $2_1 = i64toi32_i32$5; + $2$hi = i64toi32_i32$2; + break label$16; + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $6_1; + i64toi32_i32$5 = 0; + i64toi32_i32$1 = 48; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $274_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $274_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $484$hi = i64toi32_i32$5; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$0 = 65535; + i64toi32_i32$1 = -1; + i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$0 | 0; + $486_1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $486$hi = i64toi32_i32$0; + i64toi32_i32$0 = $484$hi; + i64toi32_i32$5 = $274_1; + i64toi32_i32$2 = $486$hi; + i64toi32_i32$1 = $486_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $1_1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + $1$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $14$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$5 = $14$hi; + i64toi32_i32$1 = $14_1; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + $14_1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $14$hi = i64toi32_i32$5; + label$19 : { + i64toi32_i32$5 = $11$hi; + $492_1 = !($11_1 | i64toi32_i32$5 | 0); + i64toi32_i32$5 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = -1; + i64toi32_i32$1 = -1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$0 | 0)) { + $275_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$1 >>> 0) { + $276_1 = 0 + } else { + $276_1 = 1 + } + $278_1 = $276_1; + } else { + $278_1 = 0 + } + $275_1 = $278_1; + } + i64toi32_i32$2 = $4$hi; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = -2147483648; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) | 0 ? $492_1 : $275_1) { + break label$19 + } + i64toi32_i32$1 = $14$hi; + $498_1 = $14_1; + $498$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = 1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $1_1 = i64toi32_i32$4; + $1$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$5 = $2_1; + $503_1 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $504$hi = i64toi32_i32$1; + i64toi32_i32$1 = $498$hi; + i64toi32_i32$5 = $498_1; + i64toi32_i32$3 = $504$hi; + i64toi32_i32$0 = $503_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $14_1 = i64toi32_i32$2; + $14$hi = i64toi32_i32$4; + break label$1; + } + label$20 : { + i64toi32_i32$4 = $11$hi; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = -2147483648; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = i64toi32_i32$4 ^ i64toi32_i32$5 | 0; + $508_1 = i64toi32_i32$1 ^ i64toi32_i32$0 | 0; + $508$hi = i64toi32_i32$5; + i64toi32_i32$5 = $11$hi; + i64toi32_i32$4 = $11_1; + i64toi32_i32$1 = $508$hi; + i64toi32_i32$0 = $508_1; + i64toi32_i32$1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$4 | i64toi32_i32$0 | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$4 | 0) | 0) { + break label$20 + } + i64toi32_i32$5 = $2$hi; + $1_1 = $2_1; + $1$hi = i64toi32_i32$5; + break label$1; + } + i64toi32_i32$5 = $14$hi; + $512_1 = $14_1; + $512$hi = i64toi32_i32$5; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$1 = 0; + i64toi32_i32$4 = 1; + i64toi32_i32$1 = i64toi32_i32$5 & i64toi32_i32$1 | 0; + $515_1 = i64toi32_i32$0 & i64toi32_i32$4 | 0; + $515$hi = i64toi32_i32$1; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $515$hi; + i64toi32_i32$4 = $515_1; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $1_1 = i64toi32_i32$3; + $1$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$4 = $2_1; + $519_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $520$hi = i64toi32_i32$1; + i64toi32_i32$1 = $512$hi; + i64toi32_i32$4 = $512_1; + i64toi32_i32$2 = $520$hi; + i64toi32_i32$5 = $519_1; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $14_1 = i64toi32_i32$0; + $14$hi = i64toi32_i32$3; + } + i64toi32_i32$3 = $1$hi; + i64toi32_i32$4 = $0_1; + HEAP32[i64toi32_i32$4 >> 2] = $1_1; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$3 = $14$hi; + HEAP32[(i64toi32_i32$4 + 8 | 0) >> 2] = $14_1; + HEAP32[(i64toi32_i32$4 + 12 | 0) >> 2] = i64toi32_i32$3; + global$0 = $5_1 + 96 | 0; + } + + function $3274($0_1, $1_1, $1$hi, $2_1, $2$hi, $3_1, $3$hi, $4_1, $4$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $46_1 = 0, $48_1 = 0, $49_1 = 0, $50_1 = 0, $53_1 = 0, $54_1 = 0, $6_1 = 0, $9_1 = 0, $9$hi = 0, $12_1 = 0, $12$hi = 0, $13_1 = 0, $13$hi = 0, $16_1 = 0, $16$hi = 0, $20_1 = 0, $20$hi = 0, $21_1 = 0, $21$hi = 0, $5_1 = 0, $5$hi = 0, $30$hi = 0, $33_1 = 0, $33$hi = 0, $36$hi = 0, $37_1 = 0, $37$hi = 0, $39_1 = 0, $39$hi = 0, $42_1 = 0, $42$hi = 0, $45$hi = 0, $47_1 = 0, $49$hi = 0, $51_1 = 0, $51$hi = 0, $52_1 = 0; + $6_1 = $0_1; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = __wasm_i64_mul($4_1 | 0, i64toi32_i32$0 | 0, $1_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $9_1 = i64toi32_i32$1; + $9$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = __wasm_i64_mul($2_1 | 0, i64toi32_i32$0 | 0, $3_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $12_1 = i64toi32_i32$1; + $12$hi = i64toi32_i32$0; + i64toi32_i32$0 = $9$hi; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$3 = $12_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $13_1 = i64toi32_i32$4; + $13$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $46_1 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + $46_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$1 | 0) | 0; + } + $4_1 = $46_1; + $4$hi = i64toi32_i32$2; + $16_1 = $4_1; + $16$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$5 = $1_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $48_1 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + $48_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + $2_1 = $48_1; + $2$hi = i64toi32_i32$0; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$5 = __wasm_i64_mul($16_1 | 0, i64toi32_i32$0 | 0, $2_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $20_1 = i64toi32_i32$5; + $20$hi = i64toi32_i32$0; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$2 = $13_1; + i64toi32_i32$5 = $20$hi; + i64toi32_i32$3 = $20_1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $21_1 = i64toi32_i32$1; + $21$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$4 & i64toi32_i32$2 | 0; + $3_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $3$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$4 = $1_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $1_1 = i64toi32_i32$4 & i64toi32_i32$3 | 0; + $1$hi = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$4 = __wasm_i64_mul($3_1 | 0, i64toi32_i32$0 | 0, $1_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $5_1 = i64toi32_i32$4; + $5$hi = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $49_1 = i64toi32_i32$0 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$0 >>> i64toi32_i32$5 | 0; + $49_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$5 | 0) | 0; + } + $30$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = __wasm_i64_mul($3_1 | 0, i64toi32_i32$4 | 0, $2_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $33_1 = i64toi32_i32$2; + $33$hi = i64toi32_i32$4; + i64toi32_i32$4 = $30$hi; + i64toi32_i32$0 = $49_1; + i64toi32_i32$2 = $33$hi; + i64toi32_i32$3 = $33_1; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $3_1 = i64toi32_i32$5; + $3$hi = i64toi32_i32$1; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $50_1 = i64toi32_i32$1 >>> i64toi32_i32$2 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$2 | 0; + $50_1 = (((1 << i64toi32_i32$2 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$2 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$2 | 0) | 0; + } + $36$hi = i64toi32_i32$0; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$1 = $21_1; + i64toi32_i32$4 = $36$hi; + i64toi32_i32$3 = $50_1; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $37_1 = i64toi32_i32$2; + $37$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$5 & i64toi32_i32$1 | 0; + $39_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $39$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = __wasm_i64_mul($4_1 | 0, i64toi32_i32$1 | 0, $1_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $42_1 = i64toi32_i32$0; + $42$hi = i64toi32_i32$1; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$5 = $39_1; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$3 = $42_1; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $3_1 = i64toi32_i32$4; + $3$hi = i64toi32_i32$2; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $53_1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + $53_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$0 | 0) | 0; + } + $45$hi = i64toi32_i32$5; + i64toi32_i32$5 = $37$hi; + i64toi32_i32$2 = $37_1; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$3 = $53_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$2 = $6_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$4; + $47_1 = $0_1; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$5 = $3_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + $54_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$1 | 0) | 0; + $54_1 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + } + $49$hi = i64toi32_i32$2; + i64toi32_i32$2 = $5$hi; + i64toi32_i32$4 = $5_1; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $51_1 = i64toi32_i32$4 & i64toi32_i32$3 | 0; + $51$hi = i64toi32_i32$5; + i64toi32_i32$5 = $49$hi; + i64toi32_i32$2 = $54_1; + i64toi32_i32$4 = $51$hi; + i64toi32_i32$3 = $51_1; + i64toi32_i32$4 = i64toi32_i32$5 | i64toi32_i32$4 | 0; + $52_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $47_1; + HEAP32[i64toi32_i32$2 >> 2] = $52_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$4; + } + + function $3275($0_1, $1_1, $1$hi, $2_1, $2$hi, $3_1, $3$hi, $4_1, $4$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $5_1 = 0, $14_1 = 0, $14$hi = 0, $17_1 = 0, $20_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = -2147483648; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0; + $14_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + $14$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$3 = $14$hi; + $3261($5_1 | 0, $1_1 | 0, i64toi32_i32$1 | 0, $2_1 | 0, i64toi32_i32$2 | 0, $3_1 | 0, i64toi32_i32$0 | 0, $14_1 | 0, i64toi32_i32$3 | 0); + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $17_1 = i64toi32_i32$3; + i64toi32_i32$3 = $0_1; + HEAP32[i64toi32_i32$3 >> 2] = $17_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $20_1 = i64toi32_i32$0; + i64toi32_i32$0 = $0_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $20_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$3; + global$0 = i64toi32_i32$2 + 16 | 0; + } + + function $3276($0_1, $0$hi, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $4$hi = 0, $5$hi = 0, $5_1 = 0, $2_1 = 0, $3_1 = 0, $42_1 = 0, $43_1 = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, $49_1 = 0, $12_1 = 0, $12$hi = 0, $14$hi = 0, $17_1 = 0, $17$hi = 0, $19$hi = 0, $33$hi = 0, $37_1 = 0, $39_1 = 0, $44_1 = 0, $44$hi = 0, $46$hi = 0, $74_1 = 0, $74$hi = 0, $78$hi = 0, $81_1 = 0, $81$hi = 0, $83_1 = 0, $83$hi = 0, $87_1 = 0, $87$hi = 0, $89_1 = 0, $90$hi = 0, $100$hi = 0, $107_1 = 0, $107$hi = 0; + $2_1 = global$0 - 32 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + i64toi32_i32$0 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $4_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $4$hi = i64toi32_i32$1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = -1006698496; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $12_1 = i64toi32_i32$4; + $12$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = -1140785152; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $14$hi = i64toi32_i32$4; + i64toi32_i32$4 = $12$hi; + i64toi32_i32$5 = $12_1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$3 = i64toi32_i32$2; + if (i64toi32_i32$4 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$5 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) { + break label$2 + } + i64toi32_i32$5 = $0$hi; + i64toi32_i32$3 = $0_1; + i64toi32_i32$4 = 0; + i64toi32_i32$1 = 60; + i64toi32_i32$0 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $42_1 = i64toi32_i32$5 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$5 >>> i64toi32_i32$0 | 0; + $42_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$0 | 0) | 0; + } + $17_1 = $42_1; + $17$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$5 = $1_1; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = 4; + i64toi32_i32$0 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$5 << i64toi32_i32$0 | 0; + $43_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$0 | 0) | 0; + $43_1 = i64toi32_i32$5 << i64toi32_i32$0 | 0; + } + $19$hi = i64toi32_i32$3; + i64toi32_i32$3 = $17$hi; + i64toi32_i32$4 = $17_1; + i64toi32_i32$5 = $19$hi; + i64toi32_i32$1 = $43_1; + i64toi32_i32$5 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + $4_1 = i64toi32_i32$4 | i64toi32_i32$1 | 0; + $4$hi = i64toi32_i32$5; + label$3 : { + i64toi32_i32$5 = $0$hi; + i64toi32_i32$3 = $0_1; + i64toi32_i32$4 = 268435455; + i64toi32_i32$1 = -1; + i64toi32_i32$4 = i64toi32_i32$5 & i64toi32_i32$4 | 0; + $0_1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $0$hi = i64toi32_i32$4; + i64toi32_i32$5 = $0_1; + i64toi32_i32$3 = 134217728; + i64toi32_i32$1 = 1; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0) { + break label$3 + } + i64toi32_i32$5 = $4$hi; + i64toi32_i32$1 = $4_1; + i64toi32_i32$4 = 1073741824; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $5_1 = i64toi32_i32$0; + $5$hi = i64toi32_i32$2; + break label$1; + } + i64toi32_i32$2 = $4$hi; + i64toi32_i32$5 = $4_1; + i64toi32_i32$1 = 1073741824; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $5_1 = i64toi32_i32$4; + $5$hi = i64toi32_i32$0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$2 = $0_1; + i64toi32_i32$5 = 134217728; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = i64toi32_i32$0 ^ i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$2 | 0) | 0) { + break label$1 + } + i64toi32_i32$0 = $5$hi; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$5 = i64toi32_i32$0 & i64toi32_i32$5 | 0; + $33$hi = i64toi32_i32$5; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$5 = $33$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $5$hi; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $5_1 = i64toi32_i32$1; + $5$hi = i64toi32_i32$4; + break label$1; + } + label$4 : { + i64toi32_i32$4 = $0$hi; + $37_1 = !($0_1 | i64toi32_i32$4 | 0); + i64toi32_i32$4 = $4$hi; + i64toi32_i32$5 = $4_1; + i64toi32_i32$0 = 2147418112; + i64toi32_i32$2 = 0; + $39_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$2 = $4_1; + i64toi32_i32$4 = 2147418112; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$4 | 0) | 0 ? $37_1 : $39_1) { + break label$4 + } + i64toi32_i32$2 = $0$hi; + i64toi32_i32$0 = $0_1; + i64toi32_i32$5 = 0; + i64toi32_i32$4 = 60; + i64toi32_i32$3 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $45_1 = i64toi32_i32$2 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$2 >>> i64toi32_i32$3 | 0; + $45_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$3 | 0) | 0; + } + $44_1 = $45_1; + $44$hi = i64toi32_i32$5; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = 4; + i64toi32_i32$3 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $46_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $46_1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + } + $46$hi = i64toi32_i32$0; + i64toi32_i32$0 = $44$hi; + i64toi32_i32$5 = $44_1; + i64toi32_i32$2 = $46$hi; + i64toi32_i32$4 = $46_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$4 | 0; + i64toi32_i32$5 = 524287; + i64toi32_i32$4 = -1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$4 | 0; + i64toi32_i32$0 = 2146959360; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + $5_1 = i64toi32_i32$2 | i64toi32_i32$4 | 0; + $5$hi = i64toi32_i32$0; + break label$1; + } + i64toi32_i32$0 = 2146435072; + $5_1 = 0; + $5$hi = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$5 = $4_1; + i64toi32_i32$2 = 1140785151; + i64toi32_i32$4 = -1; + if (i64toi32_i32$0 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$5 >>> 0 > i64toi32_i32$4 >>> 0 | 0) | 0) { + break label$1 + } + i64toi32_i32$5 = 0; + $5_1 = 0; + $5$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$4 = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = 48; + i64toi32_i32$3 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $47_1 = i64toi32_i32$5 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$5 >>> i64toi32_i32$3 | 0; + $47_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$3 | 0) | 0; + } + $3_1 = $47_1; + if ($3_1 >>> 0 < 15249 >>> 0) { + break label$1 + } + i64toi32_i32$0 = $0$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$5 = $1_1; + i64toi32_i32$4 = 65535; + i64toi32_i32$2 = -1; + i64toi32_i32$4 = i64toi32_i32$0 & i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$2 | 0; + i64toi32_i32$5 = 65536; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = i64toi32_i32$4 | i64toi32_i32$5 | 0; + $4_1 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $4$hi = i64toi32_i32$5; + i64toi32_i32$5 = $0$hi; + i64toi32_i32$0 = $4$hi; + $3262($2_1 + 16 | 0 | 0, $0_1 | 0, i64toi32_i32$5 | 0, $4_1 | 0, i64toi32_i32$0 | 0, $3_1 + -15233 | 0 | 0); + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + $3272($2_1 | 0, $0_1 | 0, i64toi32_i32$0 | 0, $4_1 | 0, i64toi32_i32$5 | 0, 15361 - $3_1 | 0 | 0); + i64toi32_i32$4 = $2_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $4_1 = i64toi32_i32$5; + $4$hi = i64toi32_i32$0; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 60; + i64toi32_i32$3 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $48_1 = i64toi32_i32$0 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$0 >>> i64toi32_i32$3 | 0; + $48_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$3 | 0) | 0; + } + $74_1 = $48_1; + $74$hi = i64toi32_i32$5; + i64toi32_i32$0 = $2_1 + 8 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 4; + i64toi32_i32$3 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$0 << i64toi32_i32$3 | 0; + $49_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$3 | 0) | 0; + $49_1 = i64toi32_i32$0 << i64toi32_i32$3 | 0; + } + $78$hi = i64toi32_i32$5; + i64toi32_i32$5 = $74$hi; + i64toi32_i32$4 = $74_1; + i64toi32_i32$0 = $78$hi; + i64toi32_i32$2 = $49_1; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + $5_1 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + $5$hi = i64toi32_i32$0; + label$5 : { + i64toi32_i32$0 = $4$hi; + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = 268435455; + i64toi32_i32$2 = -1; + i64toi32_i32$4 = i64toi32_i32$0 & i64toi32_i32$4 | 0; + $81_1 = i64toi32_i32$5 & i64toi32_i32$2 | 0; + $81$hi = i64toi32_i32$4; + i64toi32_i32$0 = $2_1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $83_1 = i64toi32_i32$4; + $83$hi = i64toi32_i32$5; + i64toi32_i32$0 = (i64toi32_i32$0 + 16 | 0) + 8 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $87_1 = i64toi32_i32$5; + $87$hi = i64toi32_i32$4; + i64toi32_i32$4 = $83$hi; + i64toi32_i32$0 = $83_1; + i64toi32_i32$5 = $87$hi; + i64toi32_i32$2 = $87_1; + i64toi32_i32$5 = i64toi32_i32$4 | i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = 0; + $89_1 = (i64toi32_i32$4 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$0 | 0) | 0; + i64toi32_i32$4 = 0; + $90$hi = i64toi32_i32$4; + i64toi32_i32$4 = $81$hi; + i64toi32_i32$2 = $81_1; + i64toi32_i32$5 = $90$hi; + i64toi32_i32$0 = $89_1; + i64toi32_i32$5 = i64toi32_i32$4 | i64toi32_i32$5 | 0; + $4_1 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $4$hi = i64toi32_i32$5; + i64toi32_i32$4 = $4_1; + i64toi32_i32$2 = 134217728; + i64toi32_i32$0 = 1; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0) { + break label$5 + } + i64toi32_i32$4 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $5_1 = i64toi32_i32$3; + $5$hi = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = $4$hi; + i64toi32_i32$4 = $4_1; + i64toi32_i32$0 = 134217728; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = i64toi32_i32$1 ^ i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$2 | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$4 | 0) | 0) { + break label$1 + } + i64toi32_i32$1 = $5$hi; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = 1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $100$hi = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$0 = $100$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$4 | 0; + i64toi32_i32$2 = $5$hi; + i64toi32_i32$4 = $5_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $5_1 = i64toi32_i32$5; + $5$hi = i64toi32_i32$3; + } + global$0 = $2_1 + 32 | 0; + i64toi32_i32$3 = $5$hi; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$1 = -2147483648; + i64toi32_i32$4 = 0; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $107_1 = i64toi32_i32$0 & i64toi32_i32$4 | 0; + $107$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$4 = $107_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$3 | i64toi32_i32$4 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + return +(+wasm2js_scratch_load_f64()); + } + + function $3277($0_1) { + $0_1 = $0_1 | 0; + var $4_1 = 0, $6_1 = 0, $5_1 = 0, $3_1 = 0, $8_1 = 0, $2_1 = 0, $12_1 = 0, $9_1 = 0, $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $10_1 = 0, $11_1 = 0, $1_1 = 0, $83_1 = 0, $96_1 = 0, $107_1 = 0, $115_1 = 0, $123_1 = 0, $217_1 = 0, $228_1 = 0, $236_1 = 0, $244_1 = 0, $279_1 = 0, $363_1 = 0, $370_1 = 0, $461_1 = 0, $472_1 = 0, $480_1 = 0, $488_1 = 0, $1205_1 = 0, $1212_1 = 0, $1334_1 = 0, $1336_1 = 0, $1406_1 = 0, $1413_1 = 0, $1654_1 = 0, $1661_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1_1 = global$0 - 16 | 0; + global$0 = $1_1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + label$7 : { + label$8 : { + label$9 : { + label$10 : { + label$11 : { + label$12 : { + label$13 : { + if ($0_1 >>> 0 > 244 >>> 0) { + break label$13 + } + label$14 : { + $2_1 = HEAP32[(0 + 114736 | 0) >> 2] | 0; + $3_1 = $0_1 >>> 0 < 11 >>> 0 ? 16 : ($0_1 + 11 | 0) & -8 | 0; + $4_1 = $3_1 >>> 3 | 0; + $0_1 = $2_1 >>> $4_1 | 0; + if (!($0_1 & 3 | 0)) { + break label$14 + } + $3_1 = (($0_1 ^ -1 | 0) & 1 | 0) + $4_1 | 0; + $5_1 = $3_1 << 3 | 0; + $4_1 = HEAP32[($5_1 + 114784 | 0) >> 2] | 0; + $0_1 = $4_1 + 8 | 0; + label$15 : { + label$16 : { + $6_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $5_1 = $5_1 + 114776 | 0; + if (($6_1 | 0) != ($5_1 | 0)) { + break label$16 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = $2_1 & (__wasm_rotl_i32(-2 | 0, $3_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114736 | 0) >> 2] = wasm2js_i32$1; + break label$15; + } + HEAP32[(0 + 114752 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $6_1; + } + $6_1 = $3_1 << 3 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $6_1 | 3 | 0; + $4_1 = $4_1 + $6_1 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 1 | 0; + break label$1; + } + $7_1 = HEAP32[(0 + 114744 | 0) >> 2] | 0; + if ($3_1 >>> 0 <= $7_1 >>> 0) { + break label$12 + } + label$17 : { + if (!$0_1) { + break label$17 + } + label$18 : { + label$19 : { + $83_1 = $0_1 << $4_1 | 0; + $0_1 = 2 << $4_1 | 0; + $0_1 = $83_1 & ($0_1 | (0 - $0_1 | 0) | 0) | 0; + $0_1 = ($0_1 & (0 - $0_1 | 0) | 0) + -1 | 0; + $96_1 = $0_1; + $0_1 = ($0_1 >>> 12 | 0) & 16 | 0; + $4_1 = $96_1 >>> $0_1 | 0; + $6_1 = ($4_1 >>> 5 | 0) & 8 | 0; + $107_1 = $6_1 | $0_1 | 0; + $0_1 = $4_1 >>> $6_1 | 0; + $4_1 = ($0_1 >>> 2 | 0) & 4 | 0; + $115_1 = $107_1 | $4_1 | 0; + $0_1 = $0_1 >>> $4_1 | 0; + $4_1 = ($0_1 >>> 1 | 0) & 2 | 0; + $123_1 = $115_1 | $4_1 | 0; + $0_1 = $0_1 >>> $4_1 | 0; + $4_1 = ($0_1 >>> 1 | 0) & 1 | 0; + $6_1 = ($123_1 | $4_1 | 0) + ($0_1 >>> $4_1 | 0) | 0; + $5_1 = $6_1 << 3 | 0; + $4_1 = HEAP32[($5_1 + 114784 | 0) >> 2] | 0; + $0_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $5_1 = $5_1 + 114776 | 0; + if (($0_1 | 0) != ($5_1 | 0)) { + break label$19 + } + $2_1 = $2_1 & (__wasm_rotl_i32(-2 | 0, $6_1 | 0) | 0) | 0; + HEAP32[(0 + 114736 | 0) >> 2] = $2_1; + break label$18; + } + HEAP32[(0 + 114752 | 0) >> 2] | 0; + HEAP32[($0_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + } + $0_1 = $4_1 + 8 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $3_1 | 3 | 0; + $5_1 = $4_1 + $3_1 | 0; + $8_1 = $6_1 << 3 | 0; + $6_1 = $8_1 - $3_1 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $6_1 | 1 | 0; + HEAP32[($4_1 + $8_1 | 0) >> 2] = $6_1; + label$20 : { + if (!$7_1) { + break label$20 + } + $8_1 = $7_1 >>> 3 | 0; + $3_1 = ($8_1 << 3 | 0) + 114776 | 0; + $4_1 = HEAP32[(0 + 114756 | 0) >> 2] | 0; + label$21 : { + label$22 : { + $8_1 = 1 << $8_1 | 0; + if ($2_1 & $8_1 | 0) { + break label$22 + } + HEAP32[(0 + 114736 | 0) >> 2] = $2_1 | $8_1 | 0; + $8_1 = $3_1; + break label$21; + } + $8_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $8_1; + } + HEAP32[(0 + 114756 | 0) >> 2] = $5_1; + HEAP32[(0 + 114744 | 0) >> 2] = $6_1; + break label$1; + } + $9_1 = HEAP32[(0 + 114740 | 0) >> 2] | 0; + if (!$9_1) { + break label$12 + } + $0_1 = ($9_1 & (0 - $9_1 | 0) | 0) + -1 | 0; + $217_1 = $0_1; + $0_1 = ($0_1 >>> 12 | 0) & 16 | 0; + $4_1 = $217_1 >>> $0_1 | 0; + $6_1 = ($4_1 >>> 5 | 0) & 8 | 0; + $228_1 = $6_1 | $0_1 | 0; + $0_1 = $4_1 >>> $6_1 | 0; + $4_1 = ($0_1 >>> 2 | 0) & 4 | 0; + $236_1 = $228_1 | $4_1 | 0; + $0_1 = $0_1 >>> $4_1 | 0; + $4_1 = ($0_1 >>> 1 | 0) & 2 | 0; + $244_1 = $236_1 | $4_1 | 0; + $0_1 = $0_1 >>> $4_1 | 0; + $4_1 = ($0_1 >>> 1 | 0) & 1 | 0; + $5_1 = HEAP32[(((($244_1 | $4_1 | 0) + ($0_1 >>> $4_1 | 0) | 0) << 2 | 0) + 115040 | 0) >> 2] | 0; + $4_1 = ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) & -8 | 0) - $3_1 | 0; + $6_1 = $5_1; + label$23 : { + label$24 : while (1) { + label$25 : { + $0_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + if ($0_1) { + break label$25 + } + $0_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + if (!$0_1) { + break label$23 + } + } + $6_1 = ((HEAP32[($0_1 + 4 | 0) >> 2] | 0) & -8 | 0) - $3_1 | 0; + $279_1 = $6_1; + $6_1 = $6_1 >>> 0 < $4_1 >>> 0; + $4_1 = $6_1 ? $279_1 : $4_1; + $5_1 = $6_1 ? $0_1 : $5_1; + $6_1 = $0_1; + continue label$24; + }; + } + $10_1 = $5_1 + $3_1 | 0; + if ($10_1 >>> 0 <= $5_1 >>> 0) { + break label$11 + } + $11_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$26 : { + $8_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + if (($8_1 | 0) == ($5_1 | 0)) { + break label$26 + } + label$27 : { + $0_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + if ((HEAP32[(0 + 114752 | 0) >> 2] | 0) >>> 0 > $0_1 >>> 0) { + break label$27 + } + HEAP32[($0_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($0_1 + 12 | 0) >> 2] = $8_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $0_1; + break label$2; + } + label$28 : { + $6_1 = $5_1 + 20 | 0; + $0_1 = HEAP32[$6_1 >> 2] | 0; + if ($0_1) { + break label$28 + } + $0_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + if (!$0_1) { + break label$10 + } + $6_1 = $5_1 + 16 | 0; + } + label$29 : while (1) { + $12_1 = $6_1; + $8_1 = $0_1; + $6_1 = $0_1 + 20 | 0; + $0_1 = HEAP32[$6_1 >> 2] | 0; + if ($0_1) { + continue label$29 + } + $6_1 = $8_1 + 16 | 0; + $0_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + if ($0_1) { + continue label$29 + } + break label$29; + }; + HEAP32[$12_1 >> 2] = 0; + break label$2; + } + $3_1 = -1; + if ($0_1 >>> 0 > -65 >>> 0) { + break label$12 + } + $0_1 = $0_1 + 11 | 0; + $3_1 = $0_1 & -8 | 0; + $7_1 = HEAP32[(0 + 114740 | 0) >> 2] | 0; + if (!$7_1) { + break label$12 + } + $12_1 = 0; + label$30 : { + $0_1 = $0_1 >>> 8 | 0; + if (!$0_1) { + break label$30 + } + $12_1 = 31; + if ($3_1 >>> 0 > 16777215 >>> 0) { + break label$30 + } + $4_1 = (($0_1 + 1048320 | 0) >>> 16 | 0) & 8 | 0; + $0_1 = $0_1 << $4_1 | 0; + $363_1 = $0_1; + $0_1 = (($0_1 + 520192 | 0) >>> 16 | 0) & 4 | 0; + $6_1 = $363_1 << $0_1 | 0; + $370_1 = $6_1; + $6_1 = (($6_1 + 245760 | 0) >>> 16 | 0) & 2 | 0; + $0_1 = (($370_1 << $6_1 | 0) >>> 15 | 0) - ($0_1 | $4_1 | 0 | $6_1 | 0) | 0; + $12_1 = ($0_1 << 1 | 0 | (($3_1 >>> ($0_1 + 21 | 0) | 0) & 1 | 0) | 0) + 28 | 0; + } + $4_1 = 0 - $3_1 | 0; + label$31 : { + label$32 : { + label$33 : { + label$34 : { + $6_1 = HEAP32[(($12_1 << 2 | 0) + 115040 | 0) >> 2] | 0; + if ($6_1) { + break label$34 + } + $0_1 = 0; + $8_1 = 0; + break label$33; + } + $0_1 = 0; + $5_1 = $3_1 << (($12_1 | 0) == (31 | 0) ? 0 : 25 - ($12_1 >>> 1 | 0) | 0) | 0; + $8_1 = 0; + label$35 : while (1) { + label$36 : { + $2_1 = ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) & -8 | 0) - $3_1 | 0; + if ($2_1 >>> 0 >= $4_1 >>> 0) { + break label$36 + } + $4_1 = $2_1; + $8_1 = $6_1; + if ($4_1) { + break label$36 + } + $4_1 = 0; + $8_1 = $6_1; + $0_1 = $6_1; + break label$32; + } + $2_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $6_1 = HEAP32[(($6_1 + (($5_1 >>> 29 | 0) & 4 | 0) | 0) + 16 | 0) >> 2] | 0; + $0_1 = $2_1 ? (($2_1 | 0) == ($6_1 | 0) ? $0_1 : $2_1) : $0_1; + $5_1 = $5_1 << 1 | 0; + if ($6_1) { + continue label$35 + } + break label$35; + }; + } + label$37 : { + if ($0_1 | $8_1 | 0) { + break label$37 + } + $0_1 = 2 << $12_1 | 0; + $0_1 = ($0_1 | (0 - $0_1 | 0) | 0) & $7_1 | 0; + if (!$0_1) { + break label$12 + } + $0_1 = ($0_1 & (0 - $0_1 | 0) | 0) + -1 | 0; + $461_1 = $0_1; + $0_1 = ($0_1 >>> 12 | 0) & 16 | 0; + $6_1 = $461_1 >>> $0_1 | 0; + $5_1 = ($6_1 >>> 5 | 0) & 8 | 0; + $472_1 = $5_1 | $0_1 | 0; + $0_1 = $6_1 >>> $5_1 | 0; + $6_1 = ($0_1 >>> 2 | 0) & 4 | 0; + $480_1 = $472_1 | $6_1 | 0; + $0_1 = $0_1 >>> $6_1 | 0; + $6_1 = ($0_1 >>> 1 | 0) & 2 | 0; + $488_1 = $480_1 | $6_1 | 0; + $0_1 = $0_1 >>> $6_1 | 0; + $6_1 = ($0_1 >>> 1 | 0) & 1 | 0; + $0_1 = HEAP32[(((($488_1 | $6_1 | 0) + ($0_1 >>> $6_1 | 0) | 0) << 2 | 0) + 115040 | 0) >> 2] | 0; + } + if (!$0_1) { + break label$31 + } + } + label$38 : while (1) { + $2_1 = ((HEAP32[($0_1 + 4 | 0) >> 2] | 0) & -8 | 0) - $3_1 | 0; + $5_1 = $2_1 >>> 0 < $4_1 >>> 0; + label$39 : { + $6_1 = HEAP32[($0_1 + 16 | 0) >> 2] | 0; + if ($6_1) { + break label$39 + } + $6_1 = HEAP32[($0_1 + 20 | 0) >> 2] | 0; + } + $4_1 = $5_1 ? $2_1 : $4_1; + $8_1 = $5_1 ? $0_1 : $8_1; + $0_1 = $6_1; + if ($0_1) { + continue label$38 + } + break label$38; + }; + } + if (!$8_1) { + break label$12 + } + if ($4_1 >>> 0 >= ((HEAP32[(0 + 114744 | 0) >> 2] | 0) - $3_1 | 0) >>> 0) { + break label$12 + } + $12_1 = $8_1 + $3_1 | 0; + if ($12_1 >>> 0 <= $8_1 >>> 0) { + break label$11 + } + $9_1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + label$40 : { + $5_1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + if (($5_1 | 0) == ($8_1 | 0)) { + break label$40 + } + label$41 : { + $0_1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + if ((HEAP32[(0 + 114752 | 0) >> 2] | 0) >>> 0 > $0_1 >>> 0) { + break label$41 + } + HEAP32[($0_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($0_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + break label$3; + } + label$42 : { + $6_1 = $8_1 + 20 | 0; + $0_1 = HEAP32[$6_1 >> 2] | 0; + if ($0_1) { + break label$42 + } + $0_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + if (!$0_1) { + break label$9 + } + $6_1 = $8_1 + 16 | 0; + } + label$43 : while (1) { + $2_1 = $6_1; + $5_1 = $0_1; + $6_1 = $0_1 + 20 | 0; + $0_1 = HEAP32[$6_1 >> 2] | 0; + if ($0_1) { + continue label$43 + } + $6_1 = $5_1 + 16 | 0; + $0_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + if ($0_1) { + continue label$43 + } + break label$43; + }; + HEAP32[$2_1 >> 2] = 0; + break label$3; + } + label$44 : { + $0_1 = HEAP32[(0 + 114744 | 0) >> 2] | 0; + if ($0_1 >>> 0 < $3_1 >>> 0) { + break label$44 + } + $4_1 = HEAP32[(0 + 114756 | 0) >> 2] | 0; + label$45 : { + label$46 : { + $6_1 = $0_1 - $3_1 | 0; + if ($6_1 >>> 0 < 16 >>> 0) { + break label$46 + } + HEAP32[(0 + 114744 | 0) >> 2] = $6_1; + $5_1 = $4_1 + $3_1 | 0; + HEAP32[(0 + 114756 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $6_1 | 1 | 0; + HEAP32[($4_1 + $0_1 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $3_1 | 3 | 0; + break label$45; + } + HEAP32[(0 + 114756 | 0) >> 2] = 0; + HEAP32[(0 + 114744 | 0) >> 2] = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $0_1 | 3 | 0; + $0_1 = $4_1 + $0_1 | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = HEAP32[($0_1 + 4 | 0) >> 2] | 0 | 1 | 0; + } + $0_1 = $4_1 + 8 | 0; + break label$1; + } + label$47 : { + $5_1 = HEAP32[(0 + 114748 | 0) >> 2] | 0; + if ($5_1 >>> 0 <= $3_1 >>> 0) { + break label$47 + } + $4_1 = $5_1 - $3_1 | 0; + HEAP32[(0 + 114748 | 0) >> 2] = $4_1; + $0_1 = HEAP32[(0 + 114760 | 0) >> 2] | 0; + $6_1 = $0_1 + $3_1 | 0; + HEAP32[(0 + 114760 | 0) >> 2] = $6_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $4_1 | 1 | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = $3_1 | 3 | 0; + $0_1 = $0_1 + 8 | 0; + break label$1; + } + label$48 : { + label$49 : { + if (!(HEAP32[(0 + 115208 | 0) >> 2] | 0)) { + break label$49 + } + $4_1 = HEAP32[(0 + 115216 | 0) >> 2] | 0; + break label$48; + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = -1; + HEAP32[(i64toi32_i32$1 + 115220 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 115224 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 4096; + HEAP32[(i64toi32_i32$1 + 115212 | 0) >> 2] = 4096; + HEAP32[(i64toi32_i32$1 + 115216 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(0 + 115208 | 0) >> 2] = (($1_1 + 12 | 0) & -16 | 0) ^ 1431655768 | 0; + HEAP32[(0 + 115228 | 0) >> 2] = 0; + HEAP32[(0 + 115180 | 0) >> 2] = 0; + $4_1 = 4096; + } + $0_1 = 0; + $7_1 = $3_1 + 47 | 0; + $2_1 = $4_1 + $7_1 | 0; + $12_1 = 0 - $4_1 | 0; + $8_1 = $2_1 & $12_1 | 0; + if ($8_1 >>> 0 <= $3_1 >>> 0) { + break label$1 + } + $0_1 = 0; + label$50 : { + $4_1 = HEAP32[(0 + 115176 | 0) >> 2] | 0; + if (!$4_1) { + break label$50 + } + $6_1 = HEAP32[(0 + 115168 | 0) >> 2] | 0; + $9_1 = $6_1 + $8_1 | 0; + if ($9_1 >>> 0 <= $6_1 >>> 0) { + break label$1 + } + if ($9_1 >>> 0 > $4_1 >>> 0) { + break label$1 + } + } + if ((HEAPU8[(0 + 115180 | 0) >> 0] | 0) & 4 | 0) { + break label$6 + } + label$51 : { + label$52 : { + label$53 : { + $4_1 = HEAP32[(0 + 114760 | 0) >> 2] | 0; + if (!$4_1) { + break label$53 + } + $0_1 = 115184; + label$54 : while (1) { + label$55 : { + $6_1 = HEAP32[$0_1 >> 2] | 0; + if ($6_1 >>> 0 > $4_1 >>> 0) { + break label$55 + } + if (($6_1 + (HEAP32[($0_1 + 4 | 0) >> 2] | 0) | 0) >>> 0 > $4_1 >>> 0) { + break label$52 + } + } + $0_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + if ($0_1) { + continue label$54 + } + break label$54; + }; + } + $5_1 = $3285(0 | 0) | 0; + if (($5_1 | 0) == (-1 | 0)) { + break label$7 + } + $2_1 = $8_1; + label$56 : { + $0_1 = HEAP32[(0 + 115212 | 0) >> 2] | 0; + $4_1 = $0_1 + -1 | 0; + if (!($4_1 & $5_1 | 0)) { + break label$56 + } + $2_1 = ($8_1 - $5_1 | 0) + (($4_1 + $5_1 | 0) & (0 - $0_1 | 0) | 0) | 0; + } + if ($2_1 >>> 0 <= $3_1 >>> 0) { + break label$7 + } + if ($2_1 >>> 0 > 2147483646 >>> 0) { + break label$7 + } + label$57 : { + $0_1 = HEAP32[(0 + 115176 | 0) >> 2] | 0; + if (!$0_1) { + break label$57 + } + $4_1 = HEAP32[(0 + 115168 | 0) >> 2] | 0; + $6_1 = $4_1 + $2_1 | 0; + if ($6_1 >>> 0 <= $4_1 >>> 0) { + break label$7 + } + if ($6_1 >>> 0 > $0_1 >>> 0) { + break label$7 + } + } + $0_1 = $3285($2_1 | 0) | 0; + if (($0_1 | 0) != ($5_1 | 0)) { + break label$51 + } + break label$5; + } + $2_1 = ($2_1 - $5_1 | 0) & $12_1 | 0; + if ($2_1 >>> 0 > 2147483646 >>> 0) { + break label$7 + } + $5_1 = $3285($2_1 | 0) | 0; + if (($5_1 | 0) == ((HEAP32[$0_1 >> 2] | 0) + (HEAP32[($0_1 + 4 | 0) >> 2] | 0) | 0 | 0)) { + break label$8 + } + $0_1 = $5_1; + } + label$58 : { + if (($3_1 + 48 | 0) >>> 0 <= $2_1 >>> 0) { + break label$58 + } + if (($0_1 | 0) == (-1 | 0)) { + break label$58 + } + label$59 : { + $4_1 = HEAP32[(0 + 115216 | 0) >> 2] | 0; + $4_1 = (($7_1 - $2_1 | 0) + $4_1 | 0) & (0 - $4_1 | 0) | 0; + if ($4_1 >>> 0 <= 2147483646 >>> 0) { + break label$59 + } + $5_1 = $0_1; + break label$5; + } + label$60 : { + if (($3285($4_1 | 0) | 0 | 0) == (-1 | 0)) { + break label$60 + } + $2_1 = $4_1 + $2_1 | 0; + $5_1 = $0_1; + break label$5; + } + $3285(0 - $2_1 | 0 | 0) | 0; + break label$7; + } + $5_1 = $0_1; + if (($0_1 | 0) != (-1 | 0)) { + break label$5 + } + break label$7; + } + abort(); + } + $8_1 = 0; + break label$2; + } + $5_1 = 0; + break label$3; + } + if (($5_1 | 0) != (-1 | 0)) { + break label$5 + } + } + HEAP32[(0 + 115180 | 0) >> 2] = HEAP32[(0 + 115180 | 0) >> 2] | 0 | 4 | 0; + } + if ($8_1 >>> 0 > 2147483646 >>> 0) { + break label$4 + } + $5_1 = $3285($8_1 | 0) | 0; + $0_1 = $3285(0 | 0) | 0; + if ($5_1 >>> 0 >= $0_1 >>> 0) { + break label$4 + } + if (($5_1 | 0) == (-1 | 0)) { + break label$4 + } + if (($0_1 | 0) == (-1 | 0)) { + break label$4 + } + $2_1 = $0_1 - $5_1 | 0; + if ($2_1 >>> 0 <= ($3_1 + 40 | 0) >>> 0) { + break label$4 + } + } + $0_1 = (HEAP32[(0 + 115168 | 0) >> 2] | 0) + $2_1 | 0; + HEAP32[(0 + 115168 | 0) >> 2] = $0_1; + label$61 : { + if ($0_1 >>> 0 <= (HEAP32[(0 + 115172 | 0) >> 2] | 0) >>> 0) { + break label$61 + } + HEAP32[(0 + 115172 | 0) >> 2] = $0_1; + } + label$62 : { + label$63 : { + label$64 : { + label$65 : { + $4_1 = HEAP32[(0 + 114760 | 0) >> 2] | 0; + if (!$4_1) { + break label$65 + } + $0_1 = 115184; + label$66 : while (1) { + $6_1 = HEAP32[$0_1 >> 2] | 0; + $8_1 = HEAP32[($0_1 + 4 | 0) >> 2] | 0; + if (($5_1 | 0) == ($6_1 + $8_1 | 0 | 0)) { + break label$64 + } + $0_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + if ($0_1) { + continue label$66 + } + break label$63; + }; + } + label$67 : { + label$68 : { + $0_1 = HEAP32[(0 + 114752 | 0) >> 2] | 0; + if (!$0_1) { + break label$68 + } + if ($5_1 >>> 0 >= $0_1 >>> 0) { + break label$67 + } + } + HEAP32[(0 + 114752 | 0) >> 2] = $5_1; + } + $0_1 = 0; + HEAP32[(0 + 115188 | 0) >> 2] = $2_1; + HEAP32[(0 + 115184 | 0) >> 2] = $5_1; + HEAP32[(0 + 114768 | 0) >> 2] = -1; + HEAP32[(0 + 114772 | 0) >> 2] = HEAP32[(0 + 115208 | 0) >> 2] | 0; + HEAP32[(0 + 115196 | 0) >> 2] = 0; + label$69 : while (1) { + $4_1 = $0_1 << 3 | 0; + $6_1 = $4_1 + 114776 | 0; + HEAP32[($4_1 + 114784 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 114788 | 0) >> 2] = $6_1; + $0_1 = $0_1 + 1 | 0; + if (($0_1 | 0) != (32 | 0)) { + continue label$69 + } + break label$69; + }; + $0_1 = $2_1 + -40 | 0; + $4_1 = ($5_1 + 8 | 0) & 7 | 0 ? (-8 - $5_1 | 0) & 7 | 0 : 0; + $6_1 = $0_1 - $4_1 | 0; + HEAP32[(0 + 114748 | 0) >> 2] = $6_1; + $4_1 = $5_1 + $4_1 | 0; + HEAP32[(0 + 114760 | 0) >> 2] = $4_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $6_1 | 1 | 0; + HEAP32[(($5_1 + $0_1 | 0) + 4 | 0) >> 2] = 40; + HEAP32[(0 + 114764 | 0) >> 2] = HEAP32[(0 + 115224 | 0) >> 2] | 0; + break label$62; + } + if ((HEAPU8[($0_1 + 12 | 0) >> 0] | 0) & 8 | 0) { + break label$63 + } + if ($5_1 >>> 0 <= $4_1 >>> 0) { + break label$63 + } + if ($6_1 >>> 0 > $4_1 >>> 0) { + break label$63 + } + HEAP32[($0_1 + 4 | 0) >> 2] = $8_1 + $2_1 | 0; + $0_1 = ($4_1 + 8 | 0) & 7 | 0 ? (-8 - $4_1 | 0) & 7 | 0 : 0; + $6_1 = $4_1 + $0_1 | 0; + HEAP32[(0 + 114760 | 0) >> 2] = $6_1; + $5_1 = (HEAP32[(0 + 114748 | 0) >> 2] | 0) + $2_1 | 0; + $0_1 = $5_1 - $0_1 | 0; + HEAP32[(0 + 114748 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $0_1 | 1 | 0; + HEAP32[(($4_1 + $5_1 | 0) + 4 | 0) >> 2] = 40; + HEAP32[(0 + 114764 | 0) >> 2] = HEAP32[(0 + 115224 | 0) >> 2] | 0; + break label$62; + } + label$70 : { + $8_1 = HEAP32[(0 + 114752 | 0) >> 2] | 0; + if ($5_1 >>> 0 >= $8_1 >>> 0) { + break label$70 + } + HEAP32[(0 + 114752 | 0) >> 2] = $5_1; + $8_1 = $5_1; + } + $6_1 = $5_1 + $2_1 | 0; + $0_1 = 115184; + label$71 : { + label$72 : { + label$73 : { + label$74 : { + label$75 : { + label$76 : { + label$77 : { + label$78 : while (1) { + if ((HEAP32[$0_1 >> 2] | 0 | 0) == ($6_1 | 0)) { + break label$77 + } + $0_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + if ($0_1) { + continue label$78 + } + break label$76; + }; + } + if (!((HEAPU8[($0_1 + 12 | 0) >> 0] | 0) & 8 | 0)) { + break label$75 + } + } + $0_1 = 115184; + label$79 : while (1) { + label$80 : { + $6_1 = HEAP32[$0_1 >> 2] | 0; + if ($6_1 >>> 0 > $4_1 >>> 0) { + break label$80 + } + $6_1 = $6_1 + (HEAP32[($0_1 + 4 | 0) >> 2] | 0) | 0; + if ($6_1 >>> 0 > $4_1 >>> 0) { + break label$74 + } + } + $0_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + continue label$79; + }; + } + HEAP32[$0_1 >> 2] = $5_1; + HEAP32[($0_1 + 4 | 0) >> 2] = (HEAP32[($0_1 + 4 | 0) >> 2] | 0) + $2_1 | 0; + $12_1 = $5_1 + (($5_1 + 8 | 0) & 7 | 0 ? (-8 - $5_1 | 0) & 7 | 0 : 0) | 0; + HEAP32[($12_1 + 4 | 0) >> 2] = $3_1 | 3 | 0; + $5_1 = $6_1 + (($6_1 + 8 | 0) & 7 | 0 ? (-8 - $6_1 | 0) & 7 | 0 : 0) | 0; + $0_1 = ($5_1 - $12_1 | 0) - $3_1 | 0; + $6_1 = $12_1 + $3_1 | 0; + label$81 : { + if (($4_1 | 0) != ($5_1 | 0)) { + break label$81 + } + HEAP32[(0 + 114760 | 0) >> 2] = $6_1; + $0_1 = (HEAP32[(0 + 114748 | 0) >> 2] | 0) + $0_1 | 0; + HEAP32[(0 + 114748 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $0_1 | 1 | 0; + break label$72; + } + label$82 : { + if ((HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0) != ($5_1 | 0)) { + break label$82 + } + HEAP32[(0 + 114756 | 0) >> 2] = $6_1; + $0_1 = (HEAP32[(0 + 114744 | 0) >> 2] | 0) + $0_1 | 0; + HEAP32[(0 + 114744 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $0_1 | 1 | 0; + HEAP32[($6_1 + $0_1 | 0) >> 2] = $0_1; + break label$72; + } + label$83 : { + $4_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + if (($4_1 & 3 | 0 | 0) != (1 | 0)) { + break label$83 + } + $7_1 = $4_1 & -8 | 0; + label$84 : { + label$85 : { + if ($4_1 >>> 0 > 255 >>> 0) { + break label$85 + } + $3_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + label$86 : { + $2_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $9_1 = $4_1 >>> 3 | 0; + $4_1 = ($9_1 << 3 | 0) + 114776 | 0; + if (($2_1 | 0) == ($4_1 | 0)) { + break label$86 + } + } + label$87 : { + if (($3_1 | 0) != ($2_1 | 0)) { + break label$87 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114736 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $9_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114736 | 0) >> 2] = wasm2js_i32$1; + break label$84; + } + label$88 : { + if (($3_1 | 0) == ($4_1 | 0)) { + break label$88 + } + } + HEAP32[($2_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $2_1; + break label$84; + } + $9_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$89 : { + label$90 : { + $2_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + if (($2_1 | 0) == ($5_1 | 0)) { + break label$90 + } + label$91 : { + $4_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + if ($8_1 >>> 0 > $4_1 >>> 0) { + break label$91 + } + HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($2_1 + 8 | 0) >> 2] = $4_1; + break label$89; + } + label$92 : { + $4_1 = $5_1 + 20 | 0; + $3_1 = HEAP32[$4_1 >> 2] | 0; + if ($3_1) { + break label$92 + } + $4_1 = $5_1 + 16 | 0; + $3_1 = HEAP32[$4_1 >> 2] | 0; + if ($3_1) { + break label$92 + } + $2_1 = 0; + break label$89; + } + label$93 : while (1) { + $8_1 = $4_1; + $2_1 = $3_1; + $4_1 = $3_1 + 20 | 0; + $3_1 = HEAP32[$4_1 >> 2] | 0; + if ($3_1) { + continue label$93 + } + $4_1 = $2_1 + 16 | 0; + $3_1 = HEAP32[($2_1 + 16 | 0) >> 2] | 0; + if ($3_1) { + continue label$93 + } + break label$93; + }; + HEAP32[$8_1 >> 2] = 0; + } + if (!$9_1) { + break label$84 + } + label$94 : { + label$95 : { + $3_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $4_1 = ($3_1 << 2 | 0) + 115040 | 0; + if ((HEAP32[$4_1 >> 2] | 0 | 0) != ($5_1 | 0)) { + break label$95 + } + HEAP32[$4_1 >> 2] = $2_1; + if ($2_1) { + break label$94 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114740 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $3_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114740 | 0) >> 2] = wasm2js_i32$1; + break label$84; + } + HEAP32[($9_1 + ((HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0) == ($5_1 | 0) ? 16 : 20) | 0) >> 2] = $2_1; + if (!$2_1) { + break label$84 + } + } + HEAP32[($2_1 + 24 | 0) >> 2] = $9_1; + label$96 : { + $4_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + if (!$4_1) { + break label$96 + } + HEAP32[($2_1 + 16 | 0) >> 2] = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $2_1; + } + $4_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + if (!$4_1) { + break label$84 + } + HEAP32[($2_1 + 20 | 0) >> 2] = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $2_1; + } + $0_1 = $7_1 + $0_1 | 0; + $5_1 = $5_1 + $7_1 | 0; + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) & -2 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $0_1 | 1 | 0; + HEAP32[($6_1 + $0_1 | 0) >> 2] = $0_1; + label$97 : { + if ($0_1 >>> 0 > 255 >>> 0) { + break label$97 + } + $4_1 = $0_1 >>> 3 | 0; + $0_1 = ($4_1 << 3 | 0) + 114776 | 0; + label$98 : { + label$99 : { + $3_1 = HEAP32[(0 + 114736 | 0) >> 2] | 0; + $4_1 = 1 << $4_1 | 0; + if ($3_1 & $4_1 | 0) { + break label$99 + } + HEAP32[(0 + 114736 | 0) >> 2] = $3_1 | $4_1 | 0; + $4_1 = $0_1; + break label$98; + } + $4_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($0_1 + 8 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $4_1; + break label$72; + } + $4_1 = 0; + label$100 : { + $3_1 = $0_1 >>> 8 | 0; + if (!$3_1) { + break label$100 + } + $4_1 = 31; + if ($0_1 >>> 0 > 16777215 >>> 0) { + break label$100 + } + $4_1 = (($3_1 + 1048320 | 0) >>> 16 | 0) & 8 | 0; + $3_1 = $3_1 << $4_1 | 0; + $1205_1 = $3_1; + $3_1 = (($3_1 + 520192 | 0) >>> 16 | 0) & 4 | 0; + $5_1 = $1205_1 << $3_1 | 0; + $1212_1 = $5_1; + $5_1 = (($5_1 + 245760 | 0) >>> 16 | 0) & 2 | 0; + $4_1 = (($1212_1 << $5_1 | 0) >>> 15 | 0) - ($3_1 | $4_1 | 0 | $5_1 | 0) | 0; + $4_1 = ($4_1 << 1 | 0 | (($0_1 >>> ($4_1 + 21 | 0) | 0) & 1 | 0) | 0) + 28 | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = $4_1; + i64toi32_i32$1 = $6_1; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + $3_1 = ($4_1 << 2 | 0) + 115040 | 0; + label$101 : { + label$102 : { + $5_1 = HEAP32[(0 + 114740 | 0) >> 2] | 0; + $8_1 = 1 << $4_1 | 0; + if ($5_1 & $8_1 | 0) { + break label$102 + } + HEAP32[(0 + 114740 | 0) >> 2] = $5_1 | $8_1 | 0; + HEAP32[$3_1 >> 2] = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + break label$101; + } + $4_1 = $0_1 << (($4_1 | 0) == (31 | 0) ? 0 : 25 - ($4_1 >>> 1 | 0) | 0) | 0; + $5_1 = HEAP32[$3_1 >> 2] | 0; + label$103 : while (1) { + $3_1 = $5_1; + if (((HEAP32[($5_1 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($0_1 | 0)) { + break label$73 + } + $5_1 = $4_1 >>> 29 | 0; + $4_1 = $4_1 << 1 | 0; + $8_1 = ($3_1 + ($5_1 & 4 | 0) | 0) + 16 | 0; + $5_1 = HEAP32[$8_1 >> 2] | 0; + if ($5_1) { + continue label$103 + } + break label$103; + }; + HEAP32[$8_1 >> 2] = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $6_1; + break label$72; + } + $0_1 = $2_1 + -40 | 0; + $8_1 = ($5_1 + 8 | 0) & 7 | 0 ? (-8 - $5_1 | 0) & 7 | 0 : 0; + $12_1 = $0_1 - $8_1 | 0; + HEAP32[(0 + 114748 | 0) >> 2] = $12_1; + $8_1 = $5_1 + $8_1 | 0; + HEAP32[(0 + 114760 | 0) >> 2] = $8_1; + HEAP32[($8_1 + 4 | 0) >> 2] = $12_1 | 1 | 0; + HEAP32[(($5_1 + $0_1 | 0) + 4 | 0) >> 2] = 40; + HEAP32[(0 + 114764 | 0) >> 2] = HEAP32[(0 + 115224 | 0) >> 2] | 0; + $0_1 = ($6_1 + (($6_1 + -39 | 0) & 7 | 0 ? (39 - $6_1 | 0) & 7 | 0 : 0) | 0) + -47 | 0; + $8_1 = $0_1 >>> 0 < ($4_1 + 16 | 0) >>> 0 ? $4_1 : $0_1; + HEAP32[($8_1 + 4 | 0) >> 2] = 27; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 115192 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 115196 | 0) >> 2] | 0; + $1334_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1334_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 115184 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 115188 | 0) >> 2] | 0; + $1336_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $1336_1; + HEAP32[($8_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(0 + 115192 | 0) >> 2] = $8_1 + 8 | 0; + HEAP32[(0 + 115188 | 0) >> 2] = $2_1; + HEAP32[(0 + 115184 | 0) >> 2] = $5_1; + HEAP32[(0 + 115196 | 0) >> 2] = 0; + $0_1 = $8_1 + 24 | 0; + label$104 : while (1) { + HEAP32[($0_1 + 4 | 0) >> 2] = 7; + $5_1 = $0_1 + 8 | 0; + $0_1 = $0_1 + 4 | 0; + if ($6_1 >>> 0 > $5_1 >>> 0) { + continue label$104 + } + break label$104; + }; + if (($8_1 | 0) == ($4_1 | 0)) { + break label$62 + } + HEAP32[($8_1 + 4 | 0) >> 2] = (HEAP32[($8_1 + 4 | 0) >> 2] | 0) & -2 | 0; + $2_1 = $8_1 - $4_1 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $2_1 | 1 | 0; + HEAP32[$8_1 >> 2] = $2_1; + label$105 : { + if ($2_1 >>> 0 > 255 >>> 0) { + break label$105 + } + $6_1 = $2_1 >>> 3 | 0; + $0_1 = ($6_1 << 3 | 0) + 114776 | 0; + label$106 : { + label$107 : { + $5_1 = HEAP32[(0 + 114736 | 0) >> 2] | 0; + $6_1 = 1 << $6_1 | 0; + if ($5_1 & $6_1 | 0) { + break label$107 + } + HEAP32[(0 + 114736 | 0) >> 2] = $5_1 | $6_1 | 0; + $6_1 = $0_1; + break label$106; + } + $6_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($0_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $6_1; + break label$62; + } + $0_1 = 0; + label$108 : { + $6_1 = $2_1 >>> 8 | 0; + if (!$6_1) { + break label$108 + } + $0_1 = 31; + if ($2_1 >>> 0 > 16777215 >>> 0) { + break label$108 + } + $0_1 = (($6_1 + 1048320 | 0) >>> 16 | 0) & 8 | 0; + $6_1 = $6_1 << $0_1 | 0; + $1406_1 = $6_1; + $6_1 = (($6_1 + 520192 | 0) >>> 16 | 0) & 4 | 0; + $5_1 = $1406_1 << $6_1 | 0; + $1413_1 = $5_1; + $5_1 = (($5_1 + 245760 | 0) >>> 16 | 0) & 2 | 0; + $0_1 = (($1413_1 << $5_1 | 0) >>> 15 | 0) - ($6_1 | $0_1 | 0 | $5_1 | 0) | 0; + $0_1 = ($0_1 << 1 | 0 | (($2_1 >>> ($0_1 + 21 | 0) | 0) & 1 | 0) | 0) + 28 | 0; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + $6_1 = ($0_1 << 2 | 0) + 115040 | 0; + label$109 : { + label$110 : { + $5_1 = HEAP32[(0 + 114740 | 0) >> 2] | 0; + $8_1 = 1 << $0_1 | 0; + if ($5_1 & $8_1 | 0) { + break label$110 + } + HEAP32[(0 + 114740 | 0) >> 2] = $5_1 | $8_1 | 0; + HEAP32[$6_1 >> 2] = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $6_1; + break label$109; + } + $0_1 = $2_1 << (($0_1 | 0) == (31 | 0) ? 0 : 25 - ($0_1 >>> 1 | 0) | 0) | 0; + $5_1 = HEAP32[$6_1 >> 2] | 0; + label$111 : while (1) { + $6_1 = $5_1; + if (((HEAP32[($6_1 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($2_1 | 0)) { + break label$71 + } + $5_1 = $0_1 >>> 29 | 0; + $0_1 = $0_1 << 1 | 0; + $8_1 = ($6_1 + ($5_1 & 4 | 0) | 0) + 16 | 0; + $5_1 = HEAP32[$8_1 >> 2] | 0; + if ($5_1) { + continue label$111 + } + break label$111; + }; + HEAP32[$8_1 >> 2] = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $6_1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $4_1; + break label$62; + } + $0_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($0_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $0_1; + } + $0_1 = $12_1 + 8 | 0; + break label$1; + } + $0_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($0_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + } + $0_1 = HEAP32[(0 + 114748 | 0) >> 2] | 0; + if ($0_1 >>> 0 <= $3_1 >>> 0) { + break label$4 + } + $4_1 = $0_1 - $3_1 | 0; + HEAP32[(0 + 114748 | 0) >> 2] = $4_1; + $0_1 = HEAP32[(0 + 114760 | 0) >> 2] | 0; + $6_1 = $0_1 + $3_1 | 0; + HEAP32[(0 + 114760 | 0) >> 2] = $6_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $4_1 | 1 | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = $3_1 | 3 | 0; + $0_1 = $0_1 + 8 | 0; + break label$1; + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 48), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $0_1 = 0; + break label$1; + } + label$112 : { + if (!$9_1) { + break label$112 + } + label$113 : { + label$114 : { + $6_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $0_1 = ($6_1 << 2 | 0) + 115040 | 0; + if (($8_1 | 0) != (HEAP32[$0_1 >> 2] | 0 | 0)) { + break label$114 + } + HEAP32[$0_1 >> 2] = $5_1; + if ($5_1) { + break label$113 + } + $7_1 = $7_1 & (__wasm_rotl_i32(-2 | 0, $6_1 | 0) | 0) | 0; + HEAP32[(0 + 114740 | 0) >> 2] = $7_1; + break label$112; + } + HEAP32[($9_1 + ((HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0) == ($8_1 | 0) ? 16 : 20) | 0) >> 2] = $5_1; + if (!$5_1) { + break label$112 + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = $9_1; + label$115 : { + $0_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + if (!$0_1) { + break label$115 + } + HEAP32[($5_1 + 16 | 0) >> 2] = $0_1; + HEAP32[($0_1 + 24 | 0) >> 2] = $5_1; + } + $0_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + if (!$0_1) { + break label$112 + } + HEAP32[($5_1 + 20 | 0) >> 2] = $0_1; + HEAP32[($0_1 + 24 | 0) >> 2] = $5_1; + } + label$116 : { + label$117 : { + if ($4_1 >>> 0 > 15 >>> 0) { + break label$117 + } + $0_1 = $4_1 + $3_1 | 0; + HEAP32[($8_1 + 4 | 0) >> 2] = $0_1 | 3 | 0; + $0_1 = $8_1 + $0_1 | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = HEAP32[($0_1 + 4 | 0) >> 2] | 0 | 1 | 0; + break label$116; + } + HEAP32[($8_1 + 4 | 0) >> 2] = $3_1 | 3 | 0; + HEAP32[($12_1 + 4 | 0) >> 2] = $4_1 | 1 | 0; + HEAP32[($12_1 + $4_1 | 0) >> 2] = $4_1; + label$118 : { + if ($4_1 >>> 0 > 255 >>> 0) { + break label$118 + } + $4_1 = $4_1 >>> 3 | 0; + $0_1 = ($4_1 << 3 | 0) + 114776 | 0; + label$119 : { + label$120 : { + $6_1 = HEAP32[(0 + 114736 | 0) >> 2] | 0; + $4_1 = 1 << $4_1 | 0; + if ($6_1 & $4_1 | 0) { + break label$120 + } + HEAP32[(0 + 114736 | 0) >> 2] = $6_1 | $4_1 | 0; + $4_1 = $0_1; + break label$119; + } + $4_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($0_1 + 8 | 0) >> 2] = $12_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $12_1; + HEAP32[($12_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($12_1 + 8 | 0) >> 2] = $4_1; + break label$116; + } + label$121 : { + label$122 : { + $6_1 = $4_1 >>> 8 | 0; + if ($6_1) { + break label$122 + } + $0_1 = 0; + break label$121; + } + $0_1 = 31; + if ($4_1 >>> 0 > 16777215 >>> 0) { + break label$121 + } + $0_1 = (($6_1 + 1048320 | 0) >>> 16 | 0) & 8 | 0; + $6_1 = $6_1 << $0_1 | 0; + $1654_1 = $6_1; + $6_1 = (($6_1 + 520192 | 0) >>> 16 | 0) & 4 | 0; + $3_1 = $1654_1 << $6_1 | 0; + $1661_1 = $3_1; + $3_1 = (($3_1 + 245760 | 0) >>> 16 | 0) & 2 | 0; + $0_1 = (($1661_1 << $3_1 | 0) >>> 15 | 0) - ($6_1 | $0_1 | 0 | $3_1 | 0) | 0; + $0_1 = ($0_1 << 1 | 0 | (($4_1 >>> ($0_1 + 21 | 0) | 0) & 1 | 0) | 0) + 28 | 0; + } + HEAP32[($12_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$1 = $12_1; + i64toi32_i32$0 = 0; + HEAP32[($12_1 + 16 | 0) >> 2] = 0; + HEAP32[($12_1 + 20 | 0) >> 2] = i64toi32_i32$0; + $6_1 = ($0_1 << 2 | 0) + 115040 | 0; + label$123 : { + label$124 : { + label$125 : { + $3_1 = 1 << $0_1 | 0; + if ($7_1 & $3_1 | 0) { + break label$125 + } + HEAP32[(0 + 114740 | 0) >> 2] = $7_1 | $3_1 | 0; + HEAP32[$6_1 >> 2] = $12_1; + HEAP32[($12_1 + 24 | 0) >> 2] = $6_1; + break label$124; + } + $0_1 = $4_1 << (($0_1 | 0) == (31 | 0) ? 0 : 25 - ($0_1 >>> 1 | 0) | 0) | 0; + $3_1 = HEAP32[$6_1 >> 2] | 0; + label$126 : while (1) { + $6_1 = $3_1; + if (((HEAP32[($6_1 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($4_1 | 0)) { + break label$123 + } + $3_1 = $0_1 >>> 29 | 0; + $0_1 = $0_1 << 1 | 0; + $5_1 = ($6_1 + ($3_1 & 4 | 0) | 0) + 16 | 0; + $3_1 = HEAP32[$5_1 >> 2] | 0; + if ($3_1) { + continue label$126 + } + break label$126; + }; + HEAP32[$5_1 >> 2] = $12_1; + HEAP32[($12_1 + 24 | 0) >> 2] = $6_1; + } + HEAP32[($12_1 + 12 | 0) >> 2] = $12_1; + HEAP32[($12_1 + 8 | 0) >> 2] = $12_1; + break label$116; + } + $0_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($0_1 + 12 | 0) >> 2] = $12_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $12_1; + HEAP32[($12_1 + 24 | 0) >> 2] = 0; + HEAP32[($12_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($12_1 + 8 | 0) >> 2] = $0_1; + } + $0_1 = $8_1 + 8 | 0; + break label$1; + } + label$127 : { + if (!$11_1) { + break label$127 + } + label$128 : { + label$129 : { + $6_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $0_1 = ($6_1 << 2 | 0) + 115040 | 0; + if (($5_1 | 0) != (HEAP32[$0_1 >> 2] | 0 | 0)) { + break label$129 + } + HEAP32[$0_1 >> 2] = $8_1; + if ($8_1) { + break label$128 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = $9_1 & (__wasm_rotl_i32(-2 | 0, $6_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114740 | 0) >> 2] = wasm2js_i32$1; + break label$127; + } + HEAP32[($11_1 + ((HEAP32[($11_1 + 16 | 0) >> 2] | 0 | 0) == ($5_1 | 0) ? 16 : 20) | 0) >> 2] = $8_1; + if (!$8_1) { + break label$127 + } + } + HEAP32[($8_1 + 24 | 0) >> 2] = $11_1; + label$130 : { + $0_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + if (!$0_1) { + break label$130 + } + HEAP32[($8_1 + 16 | 0) >> 2] = $0_1; + HEAP32[($0_1 + 24 | 0) >> 2] = $8_1; + } + $0_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + if (!$0_1) { + break label$127 + } + HEAP32[($8_1 + 20 | 0) >> 2] = $0_1; + HEAP32[($0_1 + 24 | 0) >> 2] = $8_1; + } + label$131 : { + label$132 : { + if ($4_1 >>> 0 > 15 >>> 0) { + break label$132 + } + $0_1 = $4_1 + $3_1 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $0_1 | 3 | 0; + $0_1 = $5_1 + $0_1 | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = HEAP32[($0_1 + 4 | 0) >> 2] | 0 | 1 | 0; + break label$131; + } + HEAP32[($5_1 + 4 | 0) >> 2] = $3_1 | 3 | 0; + HEAP32[($10_1 + 4 | 0) >> 2] = $4_1 | 1 | 0; + HEAP32[($10_1 + $4_1 | 0) >> 2] = $4_1; + label$133 : { + if (!$7_1) { + break label$133 + } + $3_1 = $7_1 >>> 3 | 0; + $6_1 = ($3_1 << 3 | 0) + 114776 | 0; + $0_1 = HEAP32[(0 + 114756 | 0) >> 2] | 0; + label$134 : { + label$135 : { + $3_1 = 1 << $3_1 | 0; + if ($3_1 & $2_1 | 0) { + break label$135 + } + HEAP32[(0 + 114736 | 0) >> 2] = $3_1 | $2_1 | 0; + $3_1 = $6_1; + break label$134; + } + $3_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($0_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($0_1 + 8 | 0) >> 2] = $3_1; + } + HEAP32[(0 + 114756 | 0) >> 2] = $10_1; + HEAP32[(0 + 114744 | 0) >> 2] = $4_1; + } + $0_1 = $5_1 + 8 | 0; + } + global$0 = $1_1 + 16 | 0; + return $0_1 | 0; + } + + function $3278($0_1) { + $0_1 = $0_1 | 0; + var $2_1 = 0, $5_1 = 0, $1_1 = 0, $4_1 = 0, $3_1 = 0, $7_1 = 0, $6_1 = 0, $408_1 = 0, $415_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + label$1 : { + if (!$0_1) { + break label$1 + } + $1_1 = $0_1 + -8 | 0; + $2_1 = HEAP32[($0_1 + -4 | 0) >> 2] | 0; + $0_1 = $2_1 & -8 | 0; + $3_1 = $1_1 + $0_1 | 0; + label$2 : { + if ($2_1 & 1 | 0) { + break label$2 + } + if (!($2_1 & 3 | 0)) { + break label$1 + } + $2_1 = HEAP32[$1_1 >> 2] | 0; + $1_1 = $1_1 - $2_1 | 0; + $4_1 = HEAP32[(0 + 114752 | 0) >> 2] | 0; + if ($1_1 >>> 0 < $4_1 >>> 0) { + break label$1 + } + $0_1 = $2_1 + $0_1 | 0; + label$3 : { + if ((HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0) == ($1_1 | 0)) { + break label$3 + } + label$4 : { + if ($2_1 >>> 0 > 255 >>> 0) { + break label$4 + } + $5_1 = HEAP32[($1_1 + 12 | 0) >> 2] | 0; + label$5 : { + $6_1 = HEAP32[($1_1 + 8 | 0) >> 2] | 0; + $7_1 = $2_1 >>> 3 | 0; + $2_1 = ($7_1 << 3 | 0) + 114776 | 0; + if (($6_1 | 0) == ($2_1 | 0)) { + break label$5 + } + } + label$6 : { + if (($5_1 | 0) != ($6_1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114736 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $7_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114736 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + label$7 : { + if (($5_1 | 0) == ($2_1 | 0)) { + break label$7 + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $6_1; + break label$2; + } + $7_1 = HEAP32[($1_1 + 24 | 0) >> 2] | 0; + label$8 : { + label$9 : { + $5_1 = HEAP32[($1_1 + 12 | 0) >> 2] | 0; + if (($5_1 | 0) == ($1_1 | 0)) { + break label$9 + } + label$10 : { + $2_1 = HEAP32[($1_1 + 8 | 0) >> 2] | 0; + if ($4_1 >>> 0 > $2_1 >>> 0) { + break label$10 + } + HEAP32[($2_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($2_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $2_1; + break label$8; + } + label$11 : { + $2_1 = $1_1 + 20 | 0; + $4_1 = HEAP32[$2_1 >> 2] | 0; + if ($4_1) { + break label$11 + } + $2_1 = $1_1 + 16 | 0; + $4_1 = HEAP32[$2_1 >> 2] | 0; + if ($4_1) { + break label$11 + } + $5_1 = 0; + break label$8; + } + label$12 : while (1) { + $6_1 = $2_1; + $5_1 = $4_1; + $2_1 = $5_1 + 20 | 0; + $4_1 = HEAP32[$2_1 >> 2] | 0; + if ($4_1) { + continue label$12 + } + $2_1 = $5_1 + 16 | 0; + $4_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + if ($4_1) { + continue label$12 + } + break label$12; + }; + HEAP32[$6_1 >> 2] = 0; + } + if (!$7_1) { + break label$2 + } + label$13 : { + label$14 : { + $4_1 = HEAP32[($1_1 + 28 | 0) >> 2] | 0; + $2_1 = ($4_1 << 2 | 0) + 115040 | 0; + if ((HEAP32[$2_1 >> 2] | 0 | 0) != ($1_1 | 0)) { + break label$14 + } + HEAP32[$2_1 >> 2] = $5_1; + if ($5_1) { + break label$13 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114740 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $4_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114740 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + HEAP32[($7_1 + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == ($1_1 | 0) ? 16 : 20) | 0) >> 2] = $5_1; + if (!$5_1) { + break label$2 + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = $7_1; + label$15 : { + $2_1 = HEAP32[($1_1 + 16 | 0) >> 2] | 0; + if (!$2_1) { + break label$15 + } + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($2_1 + 24 | 0) >> 2] = $5_1; + } + $2_1 = HEAP32[($1_1 + 20 | 0) >> 2] | 0; + if (!$2_1) { + break label$2 + } + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($2_1 + 24 | 0) >> 2] = $5_1; + break label$2; + } + $2_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + if (($2_1 & 3 | 0 | 0) != (3 | 0)) { + break label$2 + } + HEAP32[(0 + 114744 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $2_1 & -2 | 0; + HEAP32[($1_1 + 4 | 0) >> 2] = $0_1 | 1 | 0; + HEAP32[($1_1 + $0_1 | 0) >> 2] = $0_1; + return; + } + if ($3_1 >>> 0 <= $1_1 >>> 0) { + break label$1 + } + $2_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + if (!($2_1 & 1 | 0)) { + break label$1 + } + label$16 : { + label$17 : { + if ($2_1 & 2 | 0) { + break label$17 + } + label$18 : { + if ((HEAP32[(0 + 114760 | 0) >> 2] | 0 | 0) != ($3_1 | 0)) { + break label$18 + } + HEAP32[(0 + 114760 | 0) >> 2] = $1_1; + $0_1 = (HEAP32[(0 + 114748 | 0) >> 2] | 0) + $0_1 | 0; + HEAP32[(0 + 114748 | 0) >> 2] = $0_1; + HEAP32[($1_1 + 4 | 0) >> 2] = $0_1 | 1 | 0; + if (($1_1 | 0) != (HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0)) { + break label$1 + } + HEAP32[(0 + 114744 | 0) >> 2] = 0; + HEAP32[(0 + 114756 | 0) >> 2] = 0; + return; + } + label$19 : { + if ((HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0) != ($3_1 | 0)) { + break label$19 + } + HEAP32[(0 + 114756 | 0) >> 2] = $1_1; + $0_1 = (HEAP32[(0 + 114744 | 0) >> 2] | 0) + $0_1 | 0; + HEAP32[(0 + 114744 | 0) >> 2] = $0_1; + HEAP32[($1_1 + 4 | 0) >> 2] = $0_1 | 1 | 0; + HEAP32[($1_1 + $0_1 | 0) >> 2] = $0_1; + return; + } + $0_1 = ($2_1 & -8 | 0) + $0_1 | 0; + label$20 : { + label$21 : { + if ($2_1 >>> 0 > 255 >>> 0) { + break label$21 + } + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$22 : { + $5_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $3_1 = $2_1 >>> 3 | 0; + $2_1 = ($3_1 << 3 | 0) + 114776 | 0; + if (($5_1 | 0) == ($2_1 | 0)) { + break label$22 + } + HEAP32[(0 + 114752 | 0) >> 2] | 0; + } + label$23 : { + if (($4_1 | 0) != ($5_1 | 0)) { + break label$23 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114736 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $3_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114736 | 0) >> 2] = wasm2js_i32$1; + break label$20; + } + label$24 : { + if (($4_1 | 0) == ($2_1 | 0)) { + break label$24 + } + HEAP32[(0 + 114752 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $5_1; + break label$20; + } + $7_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + label$25 : { + label$26 : { + $5_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + if (($5_1 | 0) == ($3_1 | 0)) { + break label$26 + } + label$27 : { + $2_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + if ((HEAP32[(0 + 114752 | 0) >> 2] | 0) >>> 0 > $2_1 >>> 0) { + break label$27 + } + HEAP32[($2_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($2_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $2_1; + break label$25; + } + label$28 : { + $2_1 = $3_1 + 20 | 0; + $4_1 = HEAP32[$2_1 >> 2] | 0; + if ($4_1) { + break label$28 + } + $2_1 = $3_1 + 16 | 0; + $4_1 = HEAP32[$2_1 >> 2] | 0; + if ($4_1) { + break label$28 + } + $5_1 = 0; + break label$25; + } + label$29 : while (1) { + $6_1 = $2_1; + $5_1 = $4_1; + $2_1 = $5_1 + 20 | 0; + $4_1 = HEAP32[$2_1 >> 2] | 0; + if ($4_1) { + continue label$29 + } + $2_1 = $5_1 + 16 | 0; + $4_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + if ($4_1) { + continue label$29 + } + break label$29; + }; + HEAP32[$6_1 >> 2] = 0; + } + if (!$7_1) { + break label$20 + } + label$30 : { + label$31 : { + $4_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + $2_1 = ($4_1 << 2 | 0) + 115040 | 0; + if ((HEAP32[$2_1 >> 2] | 0 | 0) != ($3_1 | 0)) { + break label$31 + } + HEAP32[$2_1 >> 2] = $5_1; + if ($5_1) { + break label$30 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114740 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $4_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114740 | 0) >> 2] = wasm2js_i32$1; + break label$20; + } + HEAP32[($7_1 + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == ($3_1 | 0) ? 16 : 20) | 0) >> 2] = $5_1; + if (!$5_1) { + break label$20 + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = $7_1; + label$32 : { + $2_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + if (!$2_1) { + break label$32 + } + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($2_1 + 24 | 0) >> 2] = $5_1; + } + $2_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + if (!$2_1) { + break label$20 + } + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($2_1 + 24 | 0) >> 2] = $5_1; + } + HEAP32[($1_1 + 4 | 0) >> 2] = $0_1 | 1 | 0; + HEAP32[($1_1 + $0_1 | 0) >> 2] = $0_1; + if (($1_1 | 0) != (HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0)) { + break label$16 + } + HEAP32[(0 + 114744 | 0) >> 2] = $0_1; + return; + } + HEAP32[($3_1 + 4 | 0) >> 2] = $2_1 & -2 | 0; + HEAP32[($1_1 + 4 | 0) >> 2] = $0_1 | 1 | 0; + HEAP32[($1_1 + $0_1 | 0) >> 2] = $0_1; + } + label$33 : { + if ($0_1 >>> 0 > 255 >>> 0) { + break label$33 + } + $2_1 = $0_1 >>> 3 | 0; + $0_1 = ($2_1 << 3 | 0) + 114776 | 0; + label$34 : { + label$35 : { + $4_1 = HEAP32[(0 + 114736 | 0) >> 2] | 0; + $2_1 = 1 << $2_1 | 0; + if ($4_1 & $2_1 | 0) { + break label$35 + } + HEAP32[(0 + 114736 | 0) >> 2] = $4_1 | $2_1 | 0; + $2_1 = $0_1; + break label$34; + } + $2_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($0_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($2_1 + 12 | 0) >> 2] = $1_1; + HEAP32[($1_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($1_1 + 8 | 0) >> 2] = $2_1; + return; + } + $2_1 = 0; + label$36 : { + $4_1 = $0_1 >>> 8 | 0; + if (!$4_1) { + break label$36 + } + $2_1 = 31; + if ($0_1 >>> 0 > 16777215 >>> 0) { + break label$36 + } + $2_1 = (($4_1 + 1048320 | 0) >>> 16 | 0) & 8 | 0; + $4_1 = $4_1 << $2_1 | 0; + $408_1 = $4_1; + $4_1 = (($4_1 + 520192 | 0) >>> 16 | 0) & 4 | 0; + $5_1 = $408_1 << $4_1 | 0; + $415_1 = $5_1; + $5_1 = (($5_1 + 245760 | 0) >>> 16 | 0) & 2 | 0; + $2_1 = (($415_1 << $5_1 | 0) >>> 15 | 0) - ($4_1 | $2_1 | 0 | $5_1 | 0) | 0; + $2_1 = ($2_1 << 1 | 0 | (($0_1 >>> ($2_1 + 21 | 0) | 0) & 1 | 0) | 0) + 28 | 0; + } + HEAP32[($1_1 + 16 | 0) >> 2] = 0; + HEAP32[($1_1 + 20 | 0) >> 2] = 0; + HEAP32[($1_1 + 28 | 0) >> 2] = $2_1; + $4_1 = ($2_1 << 2 | 0) + 115040 | 0; + label$37 : { + label$38 : { + label$39 : { + label$40 : { + $5_1 = HEAP32[(0 + 114740 | 0) >> 2] | 0; + $3_1 = 1 << $2_1 | 0; + if ($5_1 & $3_1 | 0) { + break label$40 + } + HEAP32[(0 + 114740 | 0) >> 2] = $5_1 | $3_1 | 0; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($1_1 + 24 | 0) >> 2] = $4_1; + break label$39; + } + $2_1 = $0_1 << (($2_1 | 0) == (31 | 0) ? 0 : 25 - ($2_1 >>> 1 | 0) | 0) | 0; + $5_1 = HEAP32[$4_1 >> 2] | 0; + label$41 : while (1) { + $4_1 = $5_1; + if (((HEAP32[($5_1 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($0_1 | 0)) { + break label$38 + } + $5_1 = $2_1 >>> 29 | 0; + $2_1 = $2_1 << 1 | 0; + $3_1 = ($4_1 + ($5_1 & 4 | 0) | 0) + 16 | 0; + $5_1 = HEAP32[$3_1 >> 2] | 0; + if ($5_1) { + continue label$41 + } + break label$41; + }; + HEAP32[$3_1 >> 2] = $1_1; + HEAP32[($1_1 + 24 | 0) >> 2] = $4_1; + } + HEAP32[($1_1 + 12 | 0) >> 2] = $1_1; + HEAP32[($1_1 + 8 | 0) >> 2] = $1_1; + break label$37; + } + $0_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($0_1 + 12 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($1_1 + 24 | 0) >> 2] = 0; + HEAP32[($1_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($1_1 + 8 | 0) >> 2] = $0_1; + } + $1_1 = (HEAP32[(0 + 114768 | 0) >> 2] | 0) + -1 | 0; + HEAP32[(0 + 114768 | 0) >> 2] = $1_1; + if ($1_1) { + break label$1 + } + $1_1 = 115192; + label$42 : while (1) { + $0_1 = HEAP32[$1_1 >> 2] | 0; + $1_1 = $0_1 + 8 | 0; + if ($0_1) { + continue label$42 + } + break label$42; + }; + HEAP32[(0 + 114768 | 0) >> 2] = -1; + } + } + + function $3279($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $2_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $13_1 = 0, $6$hi = 0, $8$hi = 0, $3_1 = 0, $3$hi = 0, $16_1 = 0, i64toi32_i32$2 = 0; + label$1 : { + label$2 : { + if ($0_1) { + break label$2 + } + $2_1 = 0; + break label$1; + } + i64toi32_i32$0 = 0; + $6$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $8$hi = i64toi32_i32$0; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$1 = __wasm_i64_mul($0_1 | 0, i64toi32_i32$0 | 0, $1_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $3_1 = i64toi32_i32$1; + $3$hi = i64toi32_i32$0; + $2_1 = i64toi32_i32$1; + if (($1_1 | $0_1 | 0) >>> 0 < 65536 >>> 0) { + break label$1 + } + $16_1 = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = ($13_1 | 0) != (0 | 0) ? -1 : $16_1; + } + label$3 : { + $0_1 = $3277($2_1 | 0) | 0; + if (!$0_1) { + break label$3 + } + if (!((HEAPU8[($0_1 + -4 | 0) >> 0] | 0) & 3 | 0)) { + break label$3 + } + $3289($0_1 | 0, 0 | 0, $2_1 | 0) | 0; + } + return $0_1 | 0; + } + + function $3280($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + label$1 : { + if ($0_1) { + break label$1 + } + return $3277($1_1 | 0) | 0 | 0; + } + label$2 : { + if ($1_1 >>> 0 < -64 >>> 0) { + break label$2 + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 48), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + return 0 | 0; + } + label$3 : { + $2_1 = $3281($0_1 + -8 | 0 | 0, ($1_1 >>> 0 < 11 >>> 0 ? 16 : ($1_1 + 11 | 0) & -8 | 0) | 0) | 0; + if (!$2_1) { + break label$3 + } + return $2_1 + 8 | 0 | 0; + } + label$4 : { + $2_1 = $3277($1_1 | 0) | 0; + if ($2_1) { + break label$4 + } + return 0 | 0; + } + $3_1 = HEAP32[($0_1 + -4 | 0) >> 2] | 0; + $3_1 = ($3_1 & 3 | 0 ? -4 : -8) + ($3_1 & -8 | 0) | 0; + $3288($2_1 | 0, $0_1 | 0, ($3_1 >>> 0 < $1_1 >>> 0 ? $3_1 : $1_1) | 0) | 0; + $3278($0_1 | 0); + return $2_1 | 0; + } + + function $3281($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $3_1 = 0, $5_1 = 0, $7_1 = 0, $4_1 = 0, $2_1 = 0, $6_1 = 0, $8_1 = 0, $10_1 = 0, $9_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2_1 = HEAP32[($0_1 + 4 | 0) >> 2] | 0; + $3_1 = $2_1 & 3 | 0; + $4_1 = $2_1 & -8 | 0; + $5_1 = $0_1 + $4_1 | 0; + label$1 : { + $6_1 = HEAP32[(0 + 114752 | 0) >> 2] | 0; + if ($6_1 >>> 0 > $0_1 >>> 0) { + break label$1 + } + if (($3_1 | 0) == (1 | 0)) { + break label$1 + } + } + label$2 : { + label$3 : { + if ($3_1) { + break label$3 + } + $3_1 = 0; + if ($1_1 >>> 0 < 256 >>> 0) { + break label$2 + } + label$4 : { + if ($4_1 >>> 0 < ($1_1 + 4 | 0) >>> 0) { + break label$4 + } + $3_1 = $0_1; + if (($4_1 - $1_1 | 0) >>> 0 <= ((HEAP32[(0 + 115216 | 0) >> 2] | 0) << 1 | 0) >>> 0) { + break label$2 + } + } + return 0 | 0; + } + label$5 : { + label$6 : { + if ($4_1 >>> 0 < $1_1 >>> 0) { + break label$6 + } + $3_1 = $4_1 - $1_1 | 0; + if ($3_1 >>> 0 < 16 >>> 0) { + break label$5 + } + HEAP32[($0_1 + 4 | 0) >> 2] = $2_1 & 1 | 0 | $1_1 | 0 | 2 | 0; + $1_1 = $0_1 + $1_1 | 0; + HEAP32[($1_1 + 4 | 0) >> 2] = $3_1 | 3 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 1 | 0; + $3284($1_1 | 0, $3_1 | 0); + break label$5; + } + $3_1 = 0; + label$7 : { + if ((HEAP32[(0 + 114760 | 0) >> 2] | 0 | 0) != ($5_1 | 0)) { + break label$7 + } + $5_1 = (HEAP32[(0 + 114748 | 0) >> 2] | 0) + $4_1 | 0; + if ($5_1 >>> 0 <= $1_1 >>> 0) { + break label$2 + } + HEAP32[($0_1 + 4 | 0) >> 2] = $2_1 & 1 | 0 | $1_1 | 0 | 2 | 0; + $3_1 = $0_1 + $1_1 | 0; + $1_1 = $5_1 - $1_1 | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $1_1 | 1 | 0; + HEAP32[(0 + 114748 | 0) >> 2] = $1_1; + HEAP32[(0 + 114760 | 0) >> 2] = $3_1; + break label$5; + } + label$8 : { + if ((HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0) != ($5_1 | 0)) { + break label$8 + } + $3_1 = 0; + $5_1 = (HEAP32[(0 + 114744 | 0) >> 2] | 0) + $4_1 | 0; + if ($5_1 >>> 0 < $1_1 >>> 0) { + break label$2 + } + label$9 : { + label$10 : { + $3_1 = $5_1 - $1_1 | 0; + if ($3_1 >>> 0 < 16 >>> 0) { + break label$10 + } + HEAP32[($0_1 + 4 | 0) >> 2] = $2_1 & 1 | 0 | $1_1 | 0 | 2 | 0; + $1_1 = $0_1 + $1_1 | 0; + HEAP32[($1_1 + 4 | 0) >> 2] = $3_1 | 1 | 0; + $5_1 = $0_1 + $5_1 | 0; + HEAP32[$5_1 >> 2] = $3_1; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) & -2 | 0; + break label$9; + } + HEAP32[($0_1 + 4 | 0) >> 2] = $2_1 & 1 | 0 | $5_1 | 0 | 2 | 0; + $1_1 = $0_1 + $5_1 | 0; + HEAP32[($1_1 + 4 | 0) >> 2] = HEAP32[($1_1 + 4 | 0) >> 2] | 0 | 1 | 0; + $3_1 = 0; + $1_1 = 0; + } + HEAP32[(0 + 114756 | 0) >> 2] = $1_1; + HEAP32[(0 + 114744 | 0) >> 2] = $3_1; + break label$5; + } + $3_1 = 0; + $7_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + if ($7_1 & 2 | 0) { + break label$2 + } + $8_1 = ($7_1 & -8 | 0) + $4_1 | 0; + if ($8_1 >>> 0 < $1_1 >>> 0) { + break label$2 + } + $9_1 = $8_1 - $1_1 | 0; + label$11 : { + label$12 : { + if ($7_1 >>> 0 > 255 >>> 0) { + break label$12 + } + $3_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + label$13 : { + $5_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $7_1 = $7_1 >>> 3 | 0; + $4_1 = ($7_1 << 3 | 0) + 114776 | 0; + if (($5_1 | 0) == ($4_1 | 0)) { + break label$13 + } + } + label$14 : { + if (($3_1 | 0) != ($5_1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114736 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $7_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114736 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + label$15 : { + if (($3_1 | 0) == ($4_1 | 0)) { + break label$15 + } + } + HEAP32[($5_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $5_1; + break label$11; + } + $10_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$16 : { + label$17 : { + $7_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + if (($7_1 | 0) == ($5_1 | 0)) { + break label$17 + } + label$18 : { + $3_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + if ($6_1 >>> 0 > $3_1 >>> 0) { + break label$18 + } + HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $3_1; + break label$16; + } + label$19 : { + $3_1 = $5_1 + 20 | 0; + $4_1 = HEAP32[$3_1 >> 2] | 0; + if ($4_1) { + break label$19 + } + $3_1 = $5_1 + 16 | 0; + $4_1 = HEAP32[$3_1 >> 2] | 0; + if ($4_1) { + break label$19 + } + $7_1 = 0; + break label$16; + } + label$20 : while (1) { + $6_1 = $3_1; + $7_1 = $4_1; + $3_1 = $7_1 + 20 | 0; + $4_1 = HEAP32[$3_1 >> 2] | 0; + if ($4_1) { + continue label$20 + } + $3_1 = $7_1 + 16 | 0; + $4_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + if ($4_1) { + continue label$20 + } + break label$20; + }; + HEAP32[$6_1 >> 2] = 0; + } + if (!$10_1) { + break label$11 + } + label$21 : { + label$22 : { + $4_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $3_1 = ($4_1 << 2 | 0) + 115040 | 0; + if ((HEAP32[$3_1 >> 2] | 0 | 0) != ($5_1 | 0)) { + break label$22 + } + HEAP32[$3_1 >> 2] = $7_1; + if ($7_1) { + break label$21 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114740 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $4_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114740 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + HEAP32[($10_1 + ((HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) == ($5_1 | 0) ? 16 : 20) | 0) >> 2] = $7_1; + if (!$7_1) { + break label$11 + } + } + HEAP32[($7_1 + 24 | 0) >> 2] = $10_1; + label$23 : { + $3_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + if (!$3_1) { + break label$23 + } + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $7_1; + } + $5_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + if (!$5_1) { + break label$11 + } + HEAP32[($7_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $7_1; + } + label$24 : { + if ($9_1 >>> 0 > 15 >>> 0) { + break label$24 + } + HEAP32[($0_1 + 4 | 0) >> 2] = $2_1 & 1 | 0 | $8_1 | 0 | 2 | 0; + $1_1 = $0_1 + $8_1 | 0; + HEAP32[($1_1 + 4 | 0) >> 2] = HEAP32[($1_1 + 4 | 0) >> 2] | 0 | 1 | 0; + break label$5; + } + HEAP32[($0_1 + 4 | 0) >> 2] = $2_1 & 1 | 0 | $1_1 | 0 | 2 | 0; + $1_1 = $0_1 + $1_1 | 0; + HEAP32[($1_1 + 4 | 0) >> 2] = $9_1 | 3 | 0; + $5_1 = $0_1 + $8_1 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 1 | 0; + $3284($1_1 | 0, $9_1 | 0); + } + $3_1 = $0_1; + } + return $3_1 | 0; + } + + function $3282($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + label$1 : { + if ($0_1 >>> 0 > 8 >>> 0) { + break label$1 + } + return $3277($1_1 | 0) | 0 | 0; + } + return $3283($0_1 | 0, $1_1 | 0) | 0 | 0; + } + + function $3283($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $3_1 = 0, $6_1 = 0, $4_1 = 0, $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2_1 = 16; + label$1 : { + label$2 : { + $3_1 = $0_1 >>> 0 > 16 >>> 0 ? $0_1 : 16; + if ($3_1 & ($3_1 + -1 | 0) | 0) { + break label$2 + } + $0_1 = $3_1; + break label$1; + } + label$3 : while (1) { + $0_1 = $2_1; + $2_1 = $0_1 << 1 | 0; + if ($0_1 >>> 0 < $3_1 >>> 0) { + continue label$3 + } + break label$3; + }; + } + label$4 : { + if ((-64 - $0_1 | 0) >>> 0 > $1_1 >>> 0) { + break label$4 + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 48), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + return 0 | 0; + } + label$5 : { + $1_1 = $1_1 >>> 0 < 11 >>> 0 ? 16 : ($1_1 + 11 | 0) & -8 | 0; + $2_1 = $3277(($1_1 + $0_1 | 0) + 12 | 0 | 0) | 0; + if ($2_1) { + break label$5 + } + return 0 | 0; + } + $3_1 = $2_1 + -8 | 0; + label$6 : { + label$7 : { + if (($0_1 + -1 | 0) & $2_1 | 0) { + break label$7 + } + $0_1 = $3_1; + break label$6; + } + $4_1 = $2_1 + -4 | 0; + $5_1 = HEAP32[$4_1 >> 2] | 0; + $2_1 = ((($2_1 + $0_1 | 0) + -1 | 0) & (0 - $0_1 | 0) | 0) + -8 | 0; + $0_1 = ($2_1 - $3_1 | 0) >>> 0 > 15 >>> 0 ? $2_1 : $2_1 + $0_1 | 0; + $2_1 = $0_1 - $3_1 | 0; + $6_1 = ($5_1 & -8 | 0) - $2_1 | 0; + label$8 : { + if ($5_1 & 3 | 0) { + break label$8 + } + $3_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = $6_1; + HEAP32[$0_1 >> 2] = $3_1 + $2_1 | 0; + break label$6; + } + HEAP32[($0_1 + 4 | 0) >> 2] = $6_1 | ((HEAP32[($0_1 + 4 | 0) >> 2] | 0) & 1 | 0) | 0 | 2 | 0; + $6_1 = $0_1 + $6_1 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 1 | 0; + HEAP32[$4_1 >> 2] = $2_1 | ((HEAP32[$4_1 >> 2] | 0) & 1 | 0) | 0 | 2 | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = HEAP32[($0_1 + 4 | 0) >> 2] | 0 | 1 | 0; + $3284($3_1 | 0, $2_1 | 0); + } + label$9 : { + $2_1 = HEAP32[($0_1 + 4 | 0) >> 2] | 0; + if (!($2_1 & 3 | 0)) { + break label$9 + } + $3_1 = $2_1 & -8 | 0; + if ($3_1 >>> 0 <= ($1_1 + 16 | 0) >>> 0) { + break label$9 + } + HEAP32[($0_1 + 4 | 0) >> 2] = $1_1 | ($2_1 & 1 | 0) | 0 | 2 | 0; + $2_1 = $0_1 + $1_1 | 0; + $1_1 = $3_1 - $1_1 | 0; + HEAP32[($2_1 + 4 | 0) >> 2] = $1_1 | 3 | 0; + $3_1 = $0_1 + $3_1 | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 1 | 0; + $3284($2_1 | 0, $1_1 | 0); + } + return $0_1 + 8 | 0 | 0; + } + + function $3284($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $3_1 = 0, $6_1 = 0, $5_1 = 0, $2_1 = 0, $7_1 = 0, $4_1 = 0, $391_1 = 0, $398_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2_1 = $0_1 + $1_1 | 0; + label$1 : { + label$2 : { + $3_1 = HEAP32[($0_1 + 4 | 0) >> 2] | 0; + if ($3_1 & 1 | 0) { + break label$2 + } + if (!($3_1 & 3 | 0)) { + break label$1 + } + $3_1 = HEAP32[$0_1 >> 2] | 0; + $1_1 = $3_1 + $1_1 | 0; + label$3 : { + $0_1 = $0_1 - $3_1 | 0; + if ((HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0) == ($0_1 | 0)) { + break label$3 + } + $4_1 = HEAP32[(0 + 114752 | 0) >> 2] | 0; + label$4 : { + if ($3_1 >>> 0 > 255 >>> 0) { + break label$4 + } + $5_1 = HEAP32[($0_1 + 12 | 0) >> 2] | 0; + label$5 : { + $6_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + $7_1 = $3_1 >>> 3 | 0; + $3_1 = ($7_1 << 3 | 0) + 114776 | 0; + if (($6_1 | 0) == ($3_1 | 0)) { + break label$5 + } + } + label$6 : { + if (($5_1 | 0) != ($6_1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114736 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $7_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114736 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + label$7 : { + if (($5_1 | 0) == ($3_1 | 0)) { + break label$7 + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $6_1; + break label$2; + } + $7_1 = HEAP32[($0_1 + 24 | 0) >> 2] | 0; + label$8 : { + label$9 : { + $6_1 = HEAP32[($0_1 + 12 | 0) >> 2] | 0; + if (($6_1 | 0) == ($0_1 | 0)) { + break label$9 + } + label$10 : { + $3_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + if ($4_1 >>> 0 > $3_1 >>> 0) { + break label$10 + } + HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + break label$8; + } + label$11 : { + $3_1 = $0_1 + 20 | 0; + $5_1 = HEAP32[$3_1 >> 2] | 0; + if ($5_1) { + break label$11 + } + $3_1 = $0_1 + 16 | 0; + $5_1 = HEAP32[$3_1 >> 2] | 0; + if ($5_1) { + break label$11 + } + $6_1 = 0; + break label$8; + } + label$12 : while (1) { + $4_1 = $3_1; + $6_1 = $5_1; + $3_1 = $6_1 + 20 | 0; + $5_1 = HEAP32[$3_1 >> 2] | 0; + if ($5_1) { + continue label$12 + } + $3_1 = $6_1 + 16 | 0; + $5_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + if ($5_1) { + continue label$12 + } + break label$12; + }; + HEAP32[$4_1 >> 2] = 0; + } + if (!$7_1) { + break label$2 + } + label$13 : { + label$14 : { + $5_1 = HEAP32[($0_1 + 28 | 0) >> 2] | 0; + $3_1 = ($5_1 << 2 | 0) + 115040 | 0; + if ((HEAP32[$3_1 >> 2] | 0 | 0) != ($0_1 | 0)) { + break label$14 + } + HEAP32[$3_1 >> 2] = $6_1; + if ($6_1) { + break label$13 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114740 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $5_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114740 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + HEAP32[($7_1 + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == ($0_1 | 0) ? 16 : 20) | 0) >> 2] = $6_1; + if (!$6_1) { + break label$2 + } + } + HEAP32[($6_1 + 24 | 0) >> 2] = $7_1; + label$15 : { + $3_1 = HEAP32[($0_1 + 16 | 0) >> 2] | 0; + if (!$3_1) { + break label$15 + } + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $6_1; + } + $3_1 = HEAP32[($0_1 + 20 | 0) >> 2] | 0; + if (!$3_1) { + break label$2 + } + HEAP32[($6_1 + 20 | 0) >> 2] = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $6_1; + break label$2; + } + $3_1 = HEAP32[($2_1 + 4 | 0) >> 2] | 0; + if (($3_1 & 3 | 0 | 0) != (3 | 0)) { + break label$2 + } + HEAP32[(0 + 114744 | 0) >> 2] = $1_1; + HEAP32[($2_1 + 4 | 0) >> 2] = $3_1 & -2 | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = $1_1 | 1 | 0; + HEAP32[$2_1 >> 2] = $1_1; + return; + } + label$16 : { + label$17 : { + $3_1 = HEAP32[($2_1 + 4 | 0) >> 2] | 0; + if ($3_1 & 2 | 0) { + break label$17 + } + label$18 : { + if ((HEAP32[(0 + 114760 | 0) >> 2] | 0 | 0) != ($2_1 | 0)) { + break label$18 + } + HEAP32[(0 + 114760 | 0) >> 2] = $0_1; + $1_1 = (HEAP32[(0 + 114748 | 0) >> 2] | 0) + $1_1 | 0; + HEAP32[(0 + 114748 | 0) >> 2] = $1_1; + HEAP32[($0_1 + 4 | 0) >> 2] = $1_1 | 1 | 0; + if (($0_1 | 0) != (HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0)) { + break label$1 + } + HEAP32[(0 + 114744 | 0) >> 2] = 0; + HEAP32[(0 + 114756 | 0) >> 2] = 0; + return; + } + label$19 : { + if ((HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0) != ($2_1 | 0)) { + break label$19 + } + HEAP32[(0 + 114756 | 0) >> 2] = $0_1; + $1_1 = (HEAP32[(0 + 114744 | 0) >> 2] | 0) + $1_1 | 0; + HEAP32[(0 + 114744 | 0) >> 2] = $1_1; + HEAP32[($0_1 + 4 | 0) >> 2] = $1_1 | 1 | 0; + HEAP32[($0_1 + $1_1 | 0) >> 2] = $1_1; + return; + } + $4_1 = HEAP32[(0 + 114752 | 0) >> 2] | 0; + $1_1 = ($3_1 & -8 | 0) + $1_1 | 0; + label$20 : { + label$21 : { + if ($3_1 >>> 0 > 255 >>> 0) { + break label$21 + } + $5_1 = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + label$22 : { + $6_1 = HEAP32[($2_1 + 8 | 0) >> 2] | 0; + $2_1 = $3_1 >>> 3 | 0; + $3_1 = ($2_1 << 3 | 0) + 114776 | 0; + if (($6_1 | 0) == ($3_1 | 0)) { + break label$22 + } + } + label$23 : { + if (($5_1 | 0) != ($6_1 | 0)) { + break label$23 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114736 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $2_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114736 | 0) >> 2] = wasm2js_i32$1; + break label$20; + } + label$24 : { + if (($5_1 | 0) == ($3_1 | 0)) { + break label$24 + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $6_1; + break label$20; + } + $7_1 = HEAP32[($2_1 + 24 | 0) >> 2] | 0; + label$25 : { + label$26 : { + $6_1 = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + if (($6_1 | 0) == ($2_1 | 0)) { + break label$26 + } + label$27 : { + $3_1 = HEAP32[($2_1 + 8 | 0) >> 2] | 0; + if ($4_1 >>> 0 > $3_1 >>> 0) { + break label$27 + } + HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + break label$25; + } + label$28 : { + $3_1 = $2_1 + 20 | 0; + $5_1 = HEAP32[$3_1 >> 2] | 0; + if ($5_1) { + break label$28 + } + $3_1 = $2_1 + 16 | 0; + $5_1 = HEAP32[$3_1 >> 2] | 0; + if ($5_1) { + break label$28 + } + $6_1 = 0; + break label$25; + } + label$29 : while (1) { + $4_1 = $3_1; + $6_1 = $5_1; + $3_1 = $6_1 + 20 | 0; + $5_1 = HEAP32[$3_1 >> 2] | 0; + if ($5_1) { + continue label$29 + } + $3_1 = $6_1 + 16 | 0; + $5_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + if ($5_1) { + continue label$29 + } + break label$29; + }; + HEAP32[$4_1 >> 2] = 0; + } + if (!$7_1) { + break label$20 + } + label$30 : { + label$31 : { + $5_1 = HEAP32[($2_1 + 28 | 0) >> 2] | 0; + $3_1 = ($5_1 << 2 | 0) + 115040 | 0; + if ((HEAP32[$3_1 >> 2] | 0 | 0) != ($2_1 | 0)) { + break label$31 + } + HEAP32[$3_1 >> 2] = $6_1; + if ($6_1) { + break label$30 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114740 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $5_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114740 | 0) >> 2] = wasm2js_i32$1; + break label$20; + } + HEAP32[($7_1 + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == ($2_1 | 0) ? 16 : 20) | 0) >> 2] = $6_1; + if (!$6_1) { + break label$20 + } + } + HEAP32[($6_1 + 24 | 0) >> 2] = $7_1; + label$32 : { + $3_1 = HEAP32[($2_1 + 16 | 0) >> 2] | 0; + if (!$3_1) { + break label$32 + } + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $6_1; + } + $3_1 = HEAP32[($2_1 + 20 | 0) >> 2] | 0; + if (!$3_1) { + break label$20 + } + HEAP32[($6_1 + 20 | 0) >> 2] = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $6_1; + } + HEAP32[($0_1 + 4 | 0) >> 2] = $1_1 | 1 | 0; + HEAP32[($0_1 + $1_1 | 0) >> 2] = $1_1; + if (($0_1 | 0) != (HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0)) { + break label$16 + } + HEAP32[(0 + 114744 | 0) >> 2] = $1_1; + return; + } + HEAP32[($2_1 + 4 | 0) >> 2] = $3_1 & -2 | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = $1_1 | 1 | 0; + HEAP32[($0_1 + $1_1 | 0) >> 2] = $1_1; + } + label$33 : { + if ($1_1 >>> 0 > 255 >>> 0) { + break label$33 + } + $3_1 = $1_1 >>> 3 | 0; + $1_1 = ($3_1 << 3 | 0) + 114776 | 0; + label$34 : { + label$35 : { + $5_1 = HEAP32[(0 + 114736 | 0) >> 2] | 0; + $3_1 = 1 << $3_1 | 0; + if ($5_1 & $3_1 | 0) { + break label$35 + } + HEAP32[(0 + 114736 | 0) >> 2] = $5_1 | $3_1 | 0; + $3_1 = $1_1; + break label$34; + } + $3_1 = HEAP32[($1_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($1_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($0_1 + 12 | 0) >> 2] = $1_1; + HEAP32[($0_1 + 8 | 0) >> 2] = $3_1; + return; + } + $3_1 = 0; + label$36 : { + $5_1 = $1_1 >>> 8 | 0; + if (!$5_1) { + break label$36 + } + $3_1 = 31; + if ($1_1 >>> 0 > 16777215 >>> 0) { + break label$36 + } + $3_1 = (($5_1 + 1048320 | 0) >>> 16 | 0) & 8 | 0; + $5_1 = $5_1 << $3_1 | 0; + $391_1 = $5_1; + $5_1 = (($5_1 + 520192 | 0) >>> 16 | 0) & 4 | 0; + $6_1 = $391_1 << $5_1 | 0; + $398_1 = $6_1; + $6_1 = (($6_1 + 245760 | 0) >>> 16 | 0) & 2 | 0; + $3_1 = (($398_1 << $6_1 | 0) >>> 15 | 0) - ($5_1 | $3_1 | 0 | $6_1 | 0) | 0; + $3_1 = ($3_1 << 1 | 0 | (($1_1 >>> ($3_1 + 21 | 0) | 0) & 1 | 0) | 0) + 28 | 0; + } + HEAP32[($0_1 + 16 | 0) >> 2] = 0; + HEAP32[($0_1 + 20 | 0) >> 2] = 0; + HEAP32[($0_1 + 28 | 0) >> 2] = $3_1; + $5_1 = ($3_1 << 2 | 0) + 115040 | 0; + label$37 : { + label$38 : { + label$39 : { + $6_1 = HEAP32[(0 + 114740 | 0) >> 2] | 0; + $2_1 = 1 << $3_1 | 0; + if ($6_1 & $2_1 | 0) { + break label$39 + } + HEAP32[(0 + 114740 | 0) >> 2] = $6_1 | $2_1 | 0; + HEAP32[$5_1 >> 2] = $0_1; + HEAP32[($0_1 + 24 | 0) >> 2] = $5_1; + break label$38; + } + $3_1 = $1_1 << (($3_1 | 0) == (31 | 0) ? 0 : 25 - ($3_1 >>> 1 | 0) | 0) | 0; + $6_1 = HEAP32[$5_1 >> 2] | 0; + label$40 : while (1) { + $5_1 = $6_1; + if (((HEAP32[($6_1 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($1_1 | 0)) { + break label$37 + } + $6_1 = $3_1 >>> 29 | 0; + $3_1 = $3_1 << 1 | 0; + $2_1 = ($5_1 + ($6_1 & 4 | 0) | 0) + 16 | 0; + $6_1 = HEAP32[$2_1 >> 2] | 0; + if ($6_1) { + continue label$40 + } + break label$40; + }; + HEAP32[$2_1 >> 2] = $0_1; + HEAP32[($0_1 + 24 | 0) >> 2] = $5_1; + } + HEAP32[($0_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($0_1 + 8 | 0) >> 2] = $0_1; + return; + } + $1_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($1_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($0_1 + 24 | 0) >> 2] = 0; + HEAP32[($0_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($0_1 + 8 | 0) >> 2] = $1_1; + } + } + + function $3285($0_1) { + $0_1 = $0_1 | 0; + var $2_1 = 0, $1_1 = 0, $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1_1 = $0() | 0; + $2_1 = HEAP32[$1_1 >> 2] | 0; + $3_1 = ($0_1 + 3 | 0) & -4 | 0; + $0_1 = $2_1 + $3_1 | 0; + label$1 : { + label$2 : { + if (($3_1 | 0) < (1 | 0)) { + break label$2 + } + if ($0_1 >>> 0 <= $2_1 >>> 0) { + break label$1 + } + } + label$3 : { + if ($0_1 >>> 0 <= (__wasm_memory_size() << 16 | 0) >>> 0) { + break label$3 + } + if (!(fimport$34($0_1 | 0) | 0)) { + break label$1 + } + } + HEAP32[$1_1 >> 2] = $0_1; + return $2_1 | 0; + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 48), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + return -1 | 0; + } + + function $3286($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $4_1 = 0, $1_1 = 0, $4$hi = 0, $6_1 = 0.0, $2_1 = 0, $7_1 = 0.0, $8_1 = 0.0, $24_1 = 0, $25_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $30_1 = 0, $3_1 = 0, $31_1 = 0, $5_1 = 0.0, $32_1 = 0, $9_1 = 0.0, $10_1 = 0.0, $55_1 = 0.0, $60$hi = 0, $62_1 = 0, $62$hi = 0, $85_1 = 0.0, $90_1 = 0.0, $95_1 = 0.0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $4_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $4$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $24_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $25_1 = 0 + } else { + $25_1 = 1 + } + $26_1 = $25_1; + } else { + $26_1 = 0 + } + $24_1 = $26_1; + } + if ($24_1) { + break label$5 + } + i64toi32_i32$2 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 32; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $27_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $27_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $27_1; + if ($1_1 >>> 0 > 1048575 >>> 0) { + break label$4 + } + } + label$6 : { + i64toi32_i32$0 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$3 = 2147483647; + i64toi32_i32$1 = -1; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | 0) { + break label$6 + } + return +(-1.0 / ($0_1 * $0_1)); + } + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = -1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$3 | 0)) { + $28_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$2 >>> 0) { + $29_1 = 0 + } else { + $29_1 = 1 + } + $30_1 = $29_1; + } else { + $30_1 = 0 + } + $28_1 = $30_1; + } + if ($28_1) { + break label$3 + } + return +(($0_1 - $0_1) / 0.0); + } + if ($1_1 >>> 0 > 2146435071 >>> 0) { + break label$1 + } + $2_1 = 1072693248; + $3_1 = -1023; + label$7 : { + if (($1_1 | 0) == (1072693248 | 0)) { + break label$7 + } + $2_1 = $1_1; + break label$2; + } + i64toi32_i32$1 = $4$hi; + if ($4_1) { + break label$2 + } + return +(0.0); + } + wasm2js_scratch_store_f64(+($0_1 * 18014398509481984.0)); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + $4_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $4$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $31_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $31_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $31_1; + $3_1 = -1077; + } + $1_1 = $2_1 + 614242 | 0; + $5_1 = +($3_1 + ($1_1 >>> 20 | 0) | 0 | 0); + $6_1 = $5_1 * .30102999566361177; + $55_1 = $6_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = ($1_1 & 1048575 | 0) + 1072079006 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $32_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $32_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $60$hi = i64toi32_i32$2; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $62_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $62$hi = i64toi32_i32$1; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$2 = $32_1; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$3 = $62_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 | i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + $0_1 = +wasm2js_scratch_load_f64() + -1.0; + $7_1 = $0_1 * ($0_1 * .5); + wasm2js_scratch_store_f64(+($0_1 - $7_1)); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$2 | 0); + $8_1 = +wasm2js_scratch_load_f64(); + $9_1 = $8_1 * .4342944818781689; + $10_1 = $55_1 + $9_1; + $85_1 = $9_1 + ($6_1 - $10_1); + $90_1 = $0_1 - $8_1 - $7_1; + $0_1 = $0_1 / ($0_1 + 2.0); + $95_1 = $0_1; + $6_1 = $0_1 * $0_1; + $0_1 = $6_1 * $6_1; + $0_1 = $90_1 + $95_1 * ($7_1 + ($0_1 * ($0_1 * ($0_1 * .15313837699209373 + .22222198432149784) + .3999999999940942) + $6_1 * ($0_1 * ($0_1 * ($0_1 * .14798198605116586 + .1818357216161805) + .2857142874366239) + .6666666666666735))); + $0_1 = $10_1 + ($85_1 + ($0_1 * .4342944818781689 + ($5_1 * 3.694239077158931e-13 + ($0_1 + $8_1) * 2.5082946711645275e-11))); + } + return +$0_1; + } + + function $3287($0_1, $1_1) { + $0_1 = +$0_1; + $1_1 = $1_1 | 0; + var i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $32_1 = 0.0, i64toi32_i32$0 = 0; + label$1 : { + label$2 : { + if (($1_1 | 0) < (1024 | 0)) { + break label$2 + } + $0_1 = $0_1 * 8988465674311579538646525.0e283; + label$3 : { + if (($1_1 | 0) >= (2047 | 0)) { + break label$3 + } + $1_1 = $1_1 + -1023 | 0; + break label$1; + } + $0_1 = $0_1 * 8988465674311579538646525.0e283; + $1_1 = (($1_1 | 0) < (3069 | 0) ? $1_1 : 3069) + -2046 | 0; + break label$1; + } + if (($1_1 | 0) > (-1023 | 0)) { + break label$1 + } + $0_1 = $0_1 * 2.2250738585072014e-308; + label$4 : { + if (($1_1 | 0) <= (-2045 | 0)) { + break label$4 + } + $1_1 = $1_1 + 1022 | 0; + break label$1; + } + $0_1 = $0_1 * 2.2250738585072014e-308; + $1_1 = (($1_1 | 0) > (-3066 | 0) ? $1_1 : -3066) + 2044 | 0; + } + $32_1 = $0_1; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_1 + 1023 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 52; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $8_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $8_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + wasm2js_scratch_store_i32(0 | 0, $8_1 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + return +($32_1 * +wasm2js_scratch_load_f64()); + } + + function $3288($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $4_1 = 0, $3_1 = 0, $5_1 = 0; + label$1 : { + if ($2_1 >>> 0 < 512 >>> 0) { + break label$1 + } + fimport$35($0_1 | 0, $1_1 | 0, $2_1 | 0) | 0; + return $0_1 | 0; + } + $3_1 = $0_1 + $2_1 | 0; + label$2 : { + label$3 : { + if (($1_1 ^ $0_1 | 0) & 3 | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (($2_1 | 0) >= (1 | 0)) { + break label$5 + } + $2_1 = $0_1; + break label$4; + } + label$6 : { + if ($0_1 & 3 | 0) { + break label$6 + } + $2_1 = $0_1; + break label$4; + } + $2_1 = $0_1; + label$7 : while (1) { + HEAP8[$2_1 >> 0] = HEAPU8[$1_1 >> 0] | 0; + $1_1 = $1_1 + 1 | 0; + $2_1 = $2_1 + 1 | 0; + if ($2_1 >>> 0 >= $3_1 >>> 0) { + break label$4 + } + if ($2_1 & 3 | 0) { + continue label$7 + } + break label$7; + }; + } + label$8 : { + $4_1 = $3_1 & -4 | 0; + if ($4_1 >>> 0 < 64 >>> 0) { + break label$8 + } + $5_1 = $4_1 + -64 | 0; + if ($2_1 >>> 0 > $5_1 >>> 0) { + break label$8 + } + label$9 : while (1) { + HEAP32[$2_1 >> 2] = HEAP32[$1_1 >> 2] | 0; + HEAP32[($2_1 + 4 | 0) >> 2] = HEAP32[($1_1 + 4 | 0) >> 2] | 0; + HEAP32[($2_1 + 8 | 0) >> 2] = HEAP32[($1_1 + 8 | 0) >> 2] | 0; + HEAP32[($2_1 + 12 | 0) >> 2] = HEAP32[($1_1 + 12 | 0) >> 2] | 0; + HEAP32[($2_1 + 16 | 0) >> 2] = HEAP32[($1_1 + 16 | 0) >> 2] | 0; + HEAP32[($2_1 + 20 | 0) >> 2] = HEAP32[($1_1 + 20 | 0) >> 2] | 0; + HEAP32[($2_1 + 24 | 0) >> 2] = HEAP32[($1_1 + 24 | 0) >> 2] | 0; + HEAP32[($2_1 + 28 | 0) >> 2] = HEAP32[($1_1 + 28 | 0) >> 2] | 0; + HEAP32[($2_1 + 32 | 0) >> 2] = HEAP32[($1_1 + 32 | 0) >> 2] | 0; + HEAP32[($2_1 + 36 | 0) >> 2] = HEAP32[($1_1 + 36 | 0) >> 2] | 0; + HEAP32[($2_1 + 40 | 0) >> 2] = HEAP32[($1_1 + 40 | 0) >> 2] | 0; + HEAP32[($2_1 + 44 | 0) >> 2] = HEAP32[($1_1 + 44 | 0) >> 2] | 0; + HEAP32[($2_1 + 48 | 0) >> 2] = HEAP32[($1_1 + 48 | 0) >> 2] | 0; + HEAP32[($2_1 + 52 | 0) >> 2] = HEAP32[($1_1 + 52 | 0) >> 2] | 0; + HEAP32[($2_1 + 56 | 0) >> 2] = HEAP32[($1_1 + 56 | 0) >> 2] | 0; + HEAP32[($2_1 + 60 | 0) >> 2] = HEAP32[($1_1 + 60 | 0) >> 2] | 0; + $1_1 = $1_1 + 64 | 0; + $2_1 = $2_1 + 64 | 0; + if ($2_1 >>> 0 <= $5_1 >>> 0) { + continue label$9 + } + break label$9; + }; + } + if ($2_1 >>> 0 >= $4_1 >>> 0) { + break label$2 + } + label$10 : while (1) { + HEAP32[$2_1 >> 2] = HEAP32[$1_1 >> 2] | 0; + $1_1 = $1_1 + 4 | 0; + $2_1 = $2_1 + 4 | 0; + if ($2_1 >>> 0 < $4_1 >>> 0) { + continue label$10 + } + break label$2; + }; + } + label$11 : { + if ($3_1 >>> 0 >= 4 >>> 0) { + break label$11 + } + $2_1 = $0_1; + break label$2; + } + label$12 : { + $4_1 = $3_1 + -4 | 0; + if ($4_1 >>> 0 >= $0_1 >>> 0) { + break label$12 + } + $2_1 = $0_1; + break label$2; + } + $2_1 = $0_1; + label$13 : while (1) { + HEAP8[$2_1 >> 0] = HEAPU8[$1_1 >> 0] | 0; + HEAP8[($2_1 + 1 | 0) >> 0] = HEAPU8[($1_1 + 1 | 0) >> 0] | 0; + HEAP8[($2_1 + 2 | 0) >> 0] = HEAPU8[($1_1 + 2 | 0) >> 0] | 0; + HEAP8[($2_1 + 3 | 0) >> 0] = HEAPU8[($1_1 + 3 | 0) >> 0] | 0; + $1_1 = $1_1 + 4 | 0; + $2_1 = $2_1 + 4 | 0; + if ($2_1 >>> 0 <= $4_1 >>> 0) { + continue label$13 + } + break label$13; + }; + } + label$14 : { + if ($2_1 >>> 0 >= $3_1 >>> 0) { + break label$14 + } + label$15 : while (1) { + HEAP8[$2_1 >> 0] = HEAPU8[$1_1 >> 0] | 0; + $1_1 = $1_1 + 1 | 0; + $2_1 = $2_1 + 1 | 0; + if (($2_1 | 0) != ($3_1 | 0)) { + continue label$15 + } + break label$15; + }; + } + return $0_1 | 0; + } + + function $3289($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $4_1 = 0, $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $6$hi = 0, i64toi32_i32$3 = 0, $5_1 = 0, $14_1 = 0, $104$hi = 0; + label$1 : { + if (!$2_1) { + break label$1 + } + $3_1 = $2_1 + $0_1 | 0; + HEAP8[($3_1 + -1 | 0) >> 0] = $1_1; + HEAP8[$0_1 >> 0] = $1_1; + if ($2_1 >>> 0 < 3 >>> 0) { + break label$1 + } + HEAP8[($3_1 + -2 | 0) >> 0] = $1_1; + HEAP8[($0_1 + 1 | 0) >> 0] = $1_1; + HEAP8[($3_1 + -3 | 0) >> 0] = $1_1; + HEAP8[($0_1 + 2 | 0) >> 0] = $1_1; + if ($2_1 >>> 0 < 7 >>> 0) { + break label$1 + } + HEAP8[($3_1 + -4 | 0) >> 0] = $1_1; + HEAP8[($0_1 + 3 | 0) >> 0] = $1_1; + if ($2_1 >>> 0 < 9 >>> 0) { + break label$1 + } + $4_1 = (0 - $0_1 | 0) & 3 | 0; + $3_1 = $0_1 + $4_1 | 0; + $1_1 = Math_imul($1_1 & 255 | 0, 16843009); + HEAP32[$3_1 >> 2] = $1_1; + $4_1 = ($2_1 - $4_1 | 0) & -4 | 0; + $2_1 = $3_1 + $4_1 | 0; + HEAP32[($2_1 + -4 | 0) >> 2] = $1_1; + if ($4_1 >>> 0 < 9 >>> 0) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $1_1; + HEAP32[($2_1 + -8 | 0) >> 2] = $1_1; + HEAP32[($2_1 + -12 | 0) >> 2] = $1_1; + if ($4_1 >>> 0 < 25 >>> 0) { + break label$1 + } + HEAP32[($3_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $1_1; + HEAP32[($2_1 + -16 | 0) >> 2] = $1_1; + HEAP32[($2_1 + -20 | 0) >> 2] = $1_1; + HEAP32[($2_1 + -24 | 0) >> 2] = $1_1; + HEAP32[($2_1 + -28 | 0) >> 2] = $1_1; + $5_1 = $3_1 & 4 | 0 | 24 | 0; + $2_1 = $4_1 - $5_1 | 0; + if ($2_1 >>> 0 < 32 >>> 0) { + break label$1 + } + i64toi32_i32$0 = 0; + $6_1 = $1_1; + $6$hi = i64toi32_i32$0; + i64toi32_i32$2 = $1_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $14_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $14_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $104$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$1 = $104$hi; + i64toi32_i32$0 = $14_1; + i64toi32_i32$2 = $6$hi; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $6_1 = i64toi32_i32$0 | $6_1 | 0; + $6$hi = i64toi32_i32$2; + $1_1 = $3_1 + $5_1 | 0; + label$2 : while (1) { + i64toi32_i32$2 = $6$hi; + i64toi32_i32$0 = $1_1; + HEAP32[($1_1 + 24 | 0) >> 2] = $6_1; + HEAP32[($1_1 + 28 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$0 = $1_1; + HEAP32[($1_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($1_1 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$0 = $1_1; + HEAP32[($1_1 + 8 | 0) >> 2] = $6_1; + HEAP32[($1_1 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$0 = $1_1; + HEAP32[$1_1 >> 2] = $6_1; + HEAP32[($1_1 + 4 | 0) >> 2] = i64toi32_i32$2; + $1_1 = $1_1 + 32 | 0; + $2_1 = $2_1 + -32 | 0; + if ($2_1 >>> 0 > 31 >>> 0) { + continue label$2 + } + break label$2; + }; + } + return $0_1 | 0; + } + + function $3290($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0; + label$1 : { + if (($0_1 | 0) == ($1_1 | 0)) { + break label$1 + } + label$2 : { + if ((($1_1 - $0_1 | 0) - $2_1 | 0) >>> 0 > (0 - ($2_1 << 1 | 0) | 0) >>> 0) { + break label$2 + } + return $3288($0_1 | 0, $1_1 | 0, $2_1 | 0) | 0 | 0; + } + $3_1 = ($1_1 ^ $0_1 | 0) & 3 | 0; + label$3 : { + label$4 : { + label$5 : { + if ($0_1 >>> 0 >= $1_1 >>> 0) { + break label$5 + } + label$6 : { + if (!$3_1) { + break label$6 + } + $3_1 = $0_1; + break label$3; + } + label$7 : { + if ($0_1 & 3 | 0) { + break label$7 + } + $3_1 = $0_1; + break label$4; + } + $3_1 = $0_1; + label$8 : while (1) { + if (!$2_1) { + break label$1 + } + HEAP8[$3_1 >> 0] = HEAPU8[$1_1 >> 0] | 0; + $1_1 = $1_1 + 1 | 0; + $2_1 = $2_1 + -1 | 0; + $3_1 = $3_1 + 1 | 0; + if (!($3_1 & 3 | 0)) { + break label$4 + } + continue label$8; + }; + } + label$9 : { + if ($3_1) { + break label$9 + } + label$10 : { + if (!(($0_1 + $2_1 | 0) & 3 | 0)) { + break label$10 + } + label$11 : while (1) { + if (!$2_1) { + break label$1 + } + $2_1 = $2_1 + -1 | 0; + $3_1 = $0_1 + $2_1 | 0; + HEAP8[$3_1 >> 0] = HEAPU8[($1_1 + $2_1 | 0) >> 0] | 0; + if ($3_1 & 3 | 0) { + continue label$11 + } + break label$11; + }; + } + if ($2_1 >>> 0 <= 3 >>> 0) { + break label$9 + } + label$12 : while (1) { + $2_1 = $2_1 + -4 | 0; + HEAP32[($0_1 + $2_1 | 0) >> 2] = HEAP32[($1_1 + $2_1 | 0) >> 2] | 0; + if ($2_1 >>> 0 > 3 >>> 0) { + continue label$12 + } + break label$12; + }; + } + if (!$2_1) { + break label$1 + } + label$13 : while (1) { + $2_1 = $2_1 + -1 | 0; + HEAP8[($0_1 + $2_1 | 0) >> 0] = HEAPU8[($1_1 + $2_1 | 0) >> 0] | 0; + if ($2_1) { + continue label$13 + } + break label$1; + }; + } + if ($2_1 >>> 0 <= 3 >>> 0) { + break label$3 + } + label$14 : while (1) { + HEAP32[$3_1 >> 2] = HEAP32[$1_1 >> 2] | 0; + $1_1 = $1_1 + 4 | 0; + $3_1 = $3_1 + 4 | 0; + $2_1 = $2_1 + -4 | 0; + if ($2_1 >>> 0 > 3 >>> 0) { + continue label$14 + } + break label$14; + }; + } + if (!$2_1) { + break label$1 + } + label$15 : while (1) { + HEAP8[$3_1 >> 0] = HEAPU8[$1_1 >> 0] | 0; + $3_1 = $3_1 + 1 | 0; + $1_1 = $1_1 + 1 | 0; + $2_1 = $2_1 + -1 | 0; + if ($2_1) { + continue label$15 + } + break label$15; + }; + } + return $0_1 | 0; + } + + function $3291($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0, $4_1 = 0, $5_1 = 0, $8_1 = 0, $9_1 = 0, $6_1 = 0, $7_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = HEAP32[($0_1 + 28 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $4_1; + $5_1 = HEAP32[($0_1 + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $1_1; + $1_1 = $5_1 - $4_1 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $1_1; + $6_1 = $1_1 + $2_1 | 0; + $7_1 = 2; + $1_1 = $3_1 + 16 | 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if ($3259(fimport$30(HEAP32[($0_1 + 60 | 0) >> 2] | 0 | 0, $3_1 + 16 | 0 | 0, 2 | 0, $3_1 + 12 | 0 | 0) | 0 | 0) | 0) { + break label$4 + } + label$5 : while (1) { + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + if (($6_1 | 0) == ($4_1 | 0)) { + break label$3 + } + if (($4_1 | 0) <= (-1 | 0)) { + break label$2 + } + $8_1 = HEAP32[($1_1 + 4 | 0) >> 2] | 0; + $5_1 = $4_1 >>> 0 > $8_1 >>> 0; + $9_1 = $1_1 + ($5_1 << 3 | 0) | 0; + $8_1 = $4_1 - ($5_1 ? $8_1 : 0) | 0; + HEAP32[$9_1 >> 2] = (HEAP32[$9_1 >> 2] | 0) + $8_1 | 0; + $9_1 = $1_1 + ($5_1 ? 12 : 4) | 0; + HEAP32[$9_1 >> 2] = (HEAP32[$9_1 >> 2] | 0) - $8_1 | 0; + $6_1 = $6_1 - $4_1 | 0; + $1_1 = $5_1 ? $1_1 + 8 | 0 : $1_1; + $7_1 = $7_1 - $5_1 | 0; + if (!($3259(fimport$30(HEAP32[($0_1 + 60 | 0) >> 2] | 0 | 0, $1_1 | 0, $7_1 | 0, $3_1 + 12 | 0 | 0) | 0 | 0) | 0)) { + continue label$5 + } + break label$5; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = -1; + if (($6_1 | 0) != (-1 | 0)) { + break label$2 + } + } + $1_1 = HEAP32[($0_1 + 44 | 0) >> 2] | 0; + HEAP32[($0_1 + 28 | 0) >> 2] = $1_1; + HEAP32[($0_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($0_1 + 16 | 0) >> 2] = $1_1 + (HEAP32[($0_1 + 48 | 0) >> 2] | 0) | 0; + $4_1 = $2_1; + break label$1; + } + $4_1 = 0; + HEAP32[($0_1 + 28 | 0) >> 2] = 0; + HEAP32[($0_1 + 16 | 0) >> 2] = 0; + HEAP32[($0_1 + 20 | 0) >> 2] = 0; + HEAP32[$0_1 >> 2] = HEAP32[$0_1 >> 2] | 0 | 32 | 0; + if (($7_1 | 0) == (2 | 0)) { + break label$1 + } + $4_1 = $2_1 - (HEAP32[($1_1 + 4 | 0) >> 2] | 0) | 0; + } + global$0 = $3_1 + 32 | 0; + return $4_1 | 0; + } + + function $3292($0_1) { + $0_1 = $0_1 | 0; + return 0 | 0; + } + + function $3293($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + i64toi32_i32$HIGH_BITS = 0; + return 0 | 0; + } + + function $3294() { + return 116264 | 0; + } + + function $3295() { + return 116272 | 0; + } + + function $3296() { + return 116276 | 0; + } + + function $3297($0_1) { + $0_1 = $0_1 | 0; + } + + function $3298($0_1) { + $0_1 = $0_1 | 0; + } + + function $3299() { + $3297(116280 | 0); + return 116288 | 0; + } + + function $3300() { + $3298(116280 | 0); + } + + function $3301($0_1) { + $0_1 = $0_1 | 0; + return 1 | 0; + } + + function $3302($0_1) { + $0_1 = $0_1 | 0; + } + + function $3303($0_1) { + $0_1 = $0_1 | 0; + var $1_1 = 0, $2_1 = 0, $3_1 = 0; + $1_1 = $0_1; + label$1 : { + label$2 : { + if (!($0_1 & 3 | 0)) { + break label$2 + } + label$3 : { + if (HEAPU8[$0_1 >> 0] | 0) { + break label$3 + } + return $0_1 - $0_1 | 0 | 0; + } + $1_1 = $0_1; + label$4 : while (1) { + $1_1 = $1_1 + 1 | 0; + if (!($1_1 & 3 | 0)) { + break label$2 + } + if (!(HEAPU8[$1_1 >> 0] | 0)) { + break label$1 + } + continue label$4; + }; + } + label$5 : while (1) { + $2_1 = $1_1; + $1_1 = $1_1 + 4 | 0; + $3_1 = HEAP32[$2_1 >> 2] | 0; + if (!((($3_1 ^ -1 | 0) & ($3_1 + -16843009 | 0) | 0) & -2139062144 | 0)) { + continue label$5 + } + break label$5; + }; + label$6 : { + if ($3_1 & 255 | 0) { + break label$6 + } + return $2_1 - $0_1 | 0 | 0; + } + label$7 : while (1) { + $3_1 = HEAPU8[($2_1 + 1 | 0) >> 0] | 0; + $1_1 = $2_1 + 1 | 0; + $2_1 = $1_1; + if ($3_1) { + continue label$7 + } + break label$7; + }; + } + return $1_1 - $0_1 | 0 | 0; + } + + function $3304() { + return global$0 | 0; + } + + function $3305($0_1) { + $0_1 = $0_1 | 0; + global$0 = $0_1; + } + + function $3306($0_1) { + $0_1 = $0_1 | 0; + var $1_1 = 0; + $1_1 = (global$0 - $0_1 | 0) & -16 | 0; + global$0 = $1_1; + return $1_1 | 0; + } + + function $3307($0_1) { + $0_1 = $0_1 | 0; + var $2_1 = 0, $1_1 = 0; + label$1 : { + label$2 : { + if (!$0_1) { + break label$2 + } + label$3 : { + if ((HEAP32[($0_1 + 76 | 0) >> 2] | 0 | 0) > (-1 | 0)) { + break label$3 + } + return $3308($0_1 | 0) | 0 | 0; + } + $1_1 = $3301($0_1 | 0) | 0; + $2_1 = $3308($0_1 | 0) | 0; + if (!$1_1) { + break label$1 + } + $3302($0_1 | 0); + return $2_1 | 0; + } + $2_1 = 0; + label$4 : { + if (!(HEAP32[(0 + 114008 | 0) >> 2] | 0)) { + break label$4 + } + $2_1 = $3307(HEAP32[(0 + 114008 | 0) >> 2] | 0 | 0) | 0; + } + label$5 : { + $0_1 = HEAP32[($3299() | 0) >> 2] | 0; + if (!$0_1) { + break label$5 + } + label$6 : while (1) { + $1_1 = 0; + label$7 : { + if ((HEAP32[($0_1 + 76 | 0) >> 2] | 0 | 0) < (0 | 0)) { + break label$7 + } + $1_1 = $3301($0_1 | 0) | 0; + } + label$8 : { + if ((HEAP32[($0_1 + 20 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($0_1 + 28 | 0) >> 2] | 0) >>> 0) { + break label$8 + } + $2_1 = $3308($0_1 | 0) | 0 | $2_1 | 0; + } + label$9 : { + if (!$1_1) { + break label$9 + } + $3302($0_1 | 0); + } + $0_1 = HEAP32[($0_1 + 56 | 0) >> 2] | 0; + if ($0_1) { + continue label$6 + } + break label$6; + }; + } + $3300(); + } + return $2_1 | 0; + } + + function $3308($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $1_1 = 0, $2_1 = 0; + label$1 : { + if ((HEAP32[($0_1 + 20 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($0_1 + 28 | 0) >> 2] | 0) >>> 0) { + break label$1 + } + FUNCTION_TABLE[HEAP32[($0_1 + 36 | 0) >> 2] | 0 | 0]($0_1, 0, 0) | 0; + if (HEAP32[($0_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + return -1 | 0; + } + label$2 : { + $1_1 = HEAP32[($0_1 + 4 | 0) >> 2] | 0; + $2_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + if ($1_1 >>> 0 >= $2_1 >>> 0) { + break label$2 + } + i64toi32_i32$1 = $1_1 - $2_1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + i64toi32_i32$0 = FUNCTION_TABLE[HEAP32[($0_1 + 40 | 0) >> 2] | 0 | 0]($0_1, i64toi32_i32$1, i64toi32_i32$0, 1) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + } + HEAP32[($0_1 + 28 | 0) >> 2] = 0; + i64toi32_i32$0 = $0_1; + i64toi32_i32$1 = 0; + HEAP32[($0_1 + 16 | 0) >> 2] = 0; + HEAP32[($0_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $0_1; + i64toi32_i32$1 = 0; + HEAP32[($0_1 + 4 | 0) >> 2] = 0; + HEAP32[($0_1 + 8 | 0) >> 2] = i64toi32_i32$1; + return 0 | 0; + } + + function $3309($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + FUNCTION_TABLE[$0_1 | 0]($1_1); + } + + function $3310($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, $3_1, $4_1) | 0 | 0; + } + + function $3311($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1) | 0 | 0; + } + + function $3312($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, $3_1); + } + + function $3313($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, $3_1, $4_1, $5_1) | 0 | 0; + } + + function $3314($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + return FUNCTION_TABLE[$0_1 | 0]($1_1) | 0 | 0; + } + + function $3315($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, $3_1) | 0 | 0; + } + + function $3316($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, $3_1, $4_1, $5_1, $6_1) | 0 | 0; + } + + function $3317($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1); + } + + function $3318($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, $3_1, $4_1); + } + + function $3319($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $1$hi; + return FUNCTION_TABLE[$0_1 | 0]($1_1, i64toi32_i32$0) | 0 | 0; + } + + function $3320($0_1, $1_1, $2_1, $3_1, $4_1, $4$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $4$hi; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, $3_1, $4_1, i64toi32_i32$0) | 0 | 0; + } + + function $3321($0_1, $1_1, $2_1, $2$hi, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $2$hi; + FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, i64toi32_i32$0, $3_1, $4_1); + } + + function $3322($0_1, $1_1, $2_1, $2$hi, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $2$hi; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, i64toi32_i32$0, $3_1, $3$hi) | 0 | 0; + } + + function $3323($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $2$hi; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, i64toi32_i32$0) | 0 | 0; + } + + function $3324($0_1, $1_1, $2_1, $2$hi, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $2$hi; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, i64toi32_i32$0, $3_1, $4_1) | 0 | 0; + } + + function $3325($0_1, $1_1, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $2$hi; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, i64toi32_i32$0, $3_1) | 0 | 0; + } + + function $3326($0_1) { + $0_1 = $0_1 | 0; + return FUNCTION_TABLE[$0_1 | 0]() | 0 | 0; + } + + function $3327($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $6$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $6$hi = $6$hi | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $6$hi; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, $3_1, $4_1, $5_1, $6_1, i64toi32_i32$0) | 0 | 0; + } + + function $3328($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = FUNCTION_TABLE[$0_1 | 0]($1_1) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $3329($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, $3_1, $4_1, $5_1); + } + + function $3330($0_1, $1_1, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $2$hi; + FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, i64toi32_i32$0, $3_1); + } + + function $3331($0_1, $1_1, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, i64toi32_i32$0, $3_1) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $3332($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $3_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0; + $3_1 = $0_1; + i64toi32_i32$0 = 0; + $5_1 = $1_1; + $5$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $12_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $8$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$3 = $12_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $270($3_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0); + } + + function $3333($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $3_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0; + $3_1 = $0_1; + i64toi32_i32$0 = 0; + $5_1 = $1_1; + $5$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $12_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $8$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$3 = $12_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + return $3319($3_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function $3334($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $18_1 = 0, $6_1 = 0, $7_1 = 0, $8_1 = 0, $9_1 = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0; + $6_1 = $0_1; + $7_1 = $1_1; + $8_1 = $2_1; + $9_1 = $3_1; + i64toi32_i32$0 = 0; + $11_1 = $4_1; + $11$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $18_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $18_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $14$hi = i64toi32_i32$1; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$0 = $11_1; + i64toi32_i32$2 = $14$hi; + i64toi32_i32$3 = $18_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + return $3320($6_1 | 0, $7_1 | 0, $8_1 | 0, $9_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function $3335($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $16_1 = 0, $6_1 = 0, $7_1 = 0, $9_1 = 0, $9$hi = 0, $12$hi = 0; + $6_1 = $0_1; + $7_1 = $1_1; + i64toi32_i32$0 = 0; + $9_1 = $2_1; + $9$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $16_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $16_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$0 = $9_1; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$3 = $16_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $3321($6_1 | 0, $7_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, $4_1 | 0, $5_1 | 0); + } + + function $3336($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $23_1 = 0, $24_1 = 0, $6_1 = 0, $7_1 = 0, $9_1 = 0, $9$hi = 0, $12$hi = 0, $13_1 = 0, $13$hi = 0, $15_1 = 0, $15$hi = 0, $18$hi = 0, $19_1 = 0, $19$hi = 0; + $6_1 = $0_1; + $7_1 = $1_1; + i64toi32_i32$0 = 0; + $9_1 = $2_1; + $9$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $23_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $23_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$0 = $9_1; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$3 = $23_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $13_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $13$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $15_1 = $4_1; + $15$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $24_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $24_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $18$hi = i64toi32_i32$0; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$2 = $15_1; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$3 = $24_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $19_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$2 = $19$hi; + return $3322($6_1 | 0, $7_1 | 0, $13_1 | 0, i64toi32_i32$1 | 0, $19_1 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function $3337($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $14_1 = 0, $4_1 = 0, $5_1 = 0, $7_1 = 0, $7$hi = 0, $10$hi = 0; + $4_1 = $0_1; + $5_1 = $1_1; + i64toi32_i32$0 = 0; + $7_1 = $2_1; + $7$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $14_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $14_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $10$hi = i64toi32_i32$1; + i64toi32_i32$1 = $7$hi; + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = $10$hi; + i64toi32_i32$3 = $14_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + return $3323($4_1 | 0, $5_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function $3338($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $16_1 = 0, $6_1 = 0, $7_1 = 0, $9_1 = 0, $9$hi = 0, $12$hi = 0; + $6_1 = $0_1; + $7_1 = $1_1; + i64toi32_i32$0 = 0; + $9_1 = $2_1; + $9$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $16_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $16_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$0 = $9_1; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$3 = $16_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + return $3324($6_1 | 0, $7_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, $4_1 | 0, $5_1 | 0) | 0 | 0; + } + + function $3339($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $15_1 = 0, $5_1 = 0, $6_1 = 0, $8_1 = 0, $8$hi = 0, $11$hi = 0; + $5_1 = $0_1; + $6_1 = $1_1; + i64toi32_i32$0 = 0; + $8_1 = $2_1; + $8$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $15_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $15_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $11$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$0 = $8_1; + i64toi32_i32$2 = $11$hi; + i64toi32_i32$3 = $15_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + return $3325($5_1 | 0, $6_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, $4_1 | 0) | 0 | 0; + } + + function $3340($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $22_1 = 0, $8_1 = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $15_1 = 0, $15$hi = 0, $18$hi = 0; + $8_1 = $0_1; + $9_1 = $1_1; + $10_1 = $2_1; + $11_1 = $3_1; + $12_1 = $4_1; + $13_1 = $5_1; + i64toi32_i32$0 = 0; + $15_1 = $6_1; + $15$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $22_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $22_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $18$hi = i64toi32_i32$1; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$0 = $15_1; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$3 = $22_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + return $3327($8_1 | 0, $9_1 | 0, $10_1 | 0, $11_1 | 0, $12_1 | 0, $13_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function $3341($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $9_1 = 0, $2_1 = 0, $2$hi = 0, i64toi32_i32$2 = 0; + i64toi32_i32$0 = $3328($0_1 | 0, $1_1 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $2_1 = i64toi32_i32$0; + $2$hi = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $9_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $9_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + fimport$36($9_1 | 0); + i64toi32_i32$0 = $2$hi; + return $2_1 | 0; + } + + function $3342($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $15_1 = 0, $5_1 = 0, $6_1 = 0, $8_1 = 0, $8$hi = 0, $11$hi = 0; + $5_1 = $0_1; + $6_1 = $1_1; + i64toi32_i32$0 = 0; + $8_1 = $2_1; + $8$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $15_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $15_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $11$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$0 = $8_1; + i64toi32_i32$2 = $11$hi; + i64toi32_i32$3 = $15_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $3330($5_1 | 0, $6_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, $4_1 | 0); + } + + function $3343($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $17_1 = 0, $18_1 = 0, $6_1 = 0, $7_1 = 0, $9_1 = 0, $9$hi = 0, $12$hi = 0, $5_1 = 0, $5$hi = 0; + $6_1 = $0_1; + $7_1 = $1_1; + i64toi32_i32$0 = 0; + $9_1 = $2_1; + $9$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $17_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $17_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$0 = $9_1; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$3 = $17_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$2 = $3331($6_1 | 0, $7_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, $4_1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $5_1 = i64toi32_i32$2; + $5$hi = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $18_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $18_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + fimport$36($18_1 | 0); + i64toi32_i32$2 = $5$hi; + return $5_1 | 0; + } + + function $3344($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $4_1 = 0, $6_1 = 0, i64toi32_i32$2 = 0; + $4_1 = $0_1; + i64toi32_i32$0 = $1$hi; + $6_1 = $1_1; + i64toi32_i32$2 = $1_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $12_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $12_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + return fimport$37($4_1 | 0, $6_1 | 0, $12_1 | 0, $2_1 | 0, $3_1 | 0) | 0 | 0; + } + + function $3345($0_1) { + $0_1 = $0_1 | 0; + return __wasm_memory_grow($0_1 | 0) | 0; + } + + function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, var$2 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, var$3 = 0, var$4 = 0, var$5 = 0, $21_1 = 0, $22_1 = 0, var$6 = 0, $24_1 = 0, $17_1 = 0, $18_1 = 0, $23_1 = 0, $29_1 = 0, $45_1 = 0, $56$hi = 0, $62$hi = 0; + i64toi32_i32$0 = var$1$hi; + var$2 = var$1; + var$4 = var$2 >>> 16 | 0; + i64toi32_i32$0 = var$0$hi; + var$3 = var$0; + var$5 = var$3 >>> 16 | 0; + $17_1 = Math_imul(var$4, var$5); + $18_1 = var$2; + i64toi32_i32$2 = var$3; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $21_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $21_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $23_1 = $17_1 + Math_imul($18_1, $21_1) | 0; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $22_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $22_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $29_1 = $23_1 + Math_imul($22_1, var$3) | 0; + var$2 = var$2 & 65535 | 0; + var$3 = var$3 & 65535 | 0; + var$6 = Math_imul(var$2, var$3); + var$2 = (var$6 >>> 16 | 0) + Math_imul(var$2, var$5) | 0; + $45_1 = $29_1 + (var$2 >>> 16 | 0) | 0; + var$2 = (var$2 & 65535 | 0) + Math_imul(var$4, var$3) | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $45_1 + (var$2 >>> 16 | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $24_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $24_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $56$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $62$hi = i64toi32_i32$0; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$2 = $24_1; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$3 = var$2 << 16 | 0 | (var$6 & 65535 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$2 | 0; + } + + function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $7$hi = 0, $9_1 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17_1 = 0, $17$hi = 0, $23$hi = 0; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$2 = var$0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $21_1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + $21_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + var$2 = $21_1; + var$2$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$1 = var$2$hi; + i64toi32_i32$0 = var$2; + i64toi32_i32$2 = var$0$hi; + i64toi32_i32$3 = var$0; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + $7$hi = i64toi32_i32$2; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$2 = $7$hi; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0; + i64toi32_i32$0 = var$2$hi; + i64toi32_i32$3 = var$2; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $9_1 = i64toi32_i32$4; + $9$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$2 = var$1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $22_1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0; + $22_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0; + } + var$2 = $22_1; + var$2$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$1 = var$2$hi; + i64toi32_i32$5 = var$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$3 = var$1; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + $14$hi = i64toi32_i32$2; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$2 = $14$hi; + i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0; + i64toi32_i32$5 = var$2$hi; + i64toi32_i32$3 = var$2; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $16$hi = i64toi32_i32$4; + i64toi32_i32$4 = $9$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = __wasm_i64_udiv($9_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $17_1 = i64toi32_i32$1; + $17$hi = i64toi32_i32$4; + i64toi32_i32$4 = var$1$hi; + i64toi32_i32$4 = var$0$hi; + i64toi32_i32$4 = var$1$hi; + i64toi32_i32$2 = var$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$3 = var$0; + i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $23_1 = i64toi32_i32$1 >> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5 | 0; + $23_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$5 | 0) | 0; + } + var$0 = $23_1; + var$0$hi = i64toi32_i32$2; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$1 = $17_1; + i64toi32_i32$4 = var$0$hi; + i64toi32_i32$3 = var$0; + i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4 | 0; + $23$hi = i64toi32_i32$4; + i64toi32_i32$4 = var$0$hi; + i64toi32_i32$4 = $23$hi; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$2 | 0; + } + + function _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, var$2 = 0, $20_1 = 0, $21_1 = 0, $7$hi = 0, $9_1 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17$hi = 0, $19$hi = 0; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$2 = var$0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $20_1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + $20_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + var$2 = $20_1; + var$2$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$1 = var$2$hi; + i64toi32_i32$0 = var$2; + i64toi32_i32$2 = var$0$hi; + i64toi32_i32$3 = var$0; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + $7$hi = i64toi32_i32$2; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$2 = $7$hi; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0; + i64toi32_i32$0 = var$2$hi; + i64toi32_i32$3 = var$2; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $9_1 = i64toi32_i32$4; + $9$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$2 = var$1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $21_1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0; + $21_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0; + } + var$0 = $21_1; + var$0$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$3 = var$1; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + $14$hi = i64toi32_i32$2; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$2 = $14$hi; + i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0; + i64toi32_i32$5 = var$0$hi; + i64toi32_i32$3 = var$0; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $16$hi = i64toi32_i32$4; + i64toi32_i32$4 = $9$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = __wasm_i64_urem($9_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $17$hi = i64toi32_i32$4; + i64toi32_i32$4 = var$2$hi; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = var$2$hi; + i64toi32_i32$3 = var$2; + i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$2$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$2 = var$2$hi; + i64toi32_i32$5 = i64toi32_i32$4 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$4 | 0; + } + + function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, var$8$hi = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, var$7$hi = 0, $49_1 = 0, $63$hi = 0, $65_1 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140_1 = 0, $140$hi = 0, $142$hi = 0, $144_1 = 0, $144$hi = 0, $151_1 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + label$7 : { + label$8 : { + label$9 : { + label$10 : { + label$11 : { + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$2 = var$0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $37_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $37_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + var$2 = $37_1; + if (var$2) { + block : { + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $38_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + var$4 = $38_1; + if (!var$4) { + break label$9 + } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 + } + break label$2; + } + } + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = 0; + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) { + break label$2 + } + i64toi32_i32$1 = var$0$hi; + var$2 = var$0; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; + i64toi32_i32$1 = 0; + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = var$2; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$2 | 0; + } + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$3 = var$1; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $39_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $39_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + var$3 = $39_1; + i64toi32_i32$1 = var$0$hi; + if (!var$0) { + break label$7 + } + if (!var$3) { + break label$6 + } + var$4 = var$3 + -1 | 0; + if (var$4 & var$3 | 0) { + break label$6 + } + i64toi32_i32$1 = 0; + i64toi32_i32$2 = var$4 & var$2 | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $40_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $40_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $63$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$1 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = -1; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $65_1 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $65$hi = i64toi32_i32$2; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$3 = $40_1; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$0 = $65_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$3 | 0; + } + } + var$4 = var$3 + -1 | 0; + if (!(var$4 & var$3 | 0)) { + break label$5 + } + var$2 = (Math_clz32(var$3) + 33 | 0) - Math_clz32(var$2) | 0; + var$3 = 0 - var$2 | 0; + break label$3; + } + var$3 = 63 - var$2 | 0; + var$2 = var$2 + 1 | 0; + break label$3; + } + var$4 = (var$2 >>> 0) / (var$3 >>> 0) | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $41_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $41_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + __wasm_intrinsics_temp_i64 = $41_1; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = var$4; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$2 | 0; + } + var$2 = Math_clz32(var$3) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 < 31 >>> 0) { + break label$4 + } + break label$2; + } + i64toi32_i32$2 = var$0$hi; + i64toi32_i32$2 = 0; + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; + if ((var$3 | 0) == (1 | 0)) { + break label$1 + } + i64toi32_i32$2 = var$0$hi; + i64toi32_i32$2 = 0; + $120$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$0$hi; + i64toi32_i32$3 = var$0; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $42_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $42_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$3 = $42_1; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$3 | 0; + } + var$3 = 63 - var$2 | 0; + var$2 = var$2 + 1 | 0; + } + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$3 = 0; + $129$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$2 = var$0; + i64toi32_i32$1 = $129$hi; + i64toi32_i32$0 = var$2 & 63 | 0; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $43_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + $43_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + var$5 = $43_1; + var$5$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$1 = 0; + $134$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$3 = var$0; + i64toi32_i32$2 = $134$hi; + i64toi32_i32$0 = var$3 & 63 | 0; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + $44_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $44_1 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + } + var$0 = $44_1; + var$0$hi = i64toi32_i32$2; + label$13 : { + if (var$2) { + block3 : { + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45_1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + } + $140_1 = $45_1; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $46_1 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140_1; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46_1; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144_1 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47_1 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47_1; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151_1 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144_1; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151_1; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48_1; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; + } + } + } + i64toi32_i32$3 = var$5$hi; + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $49_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $49_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $165$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$2 = $165$hi; + i64toi32_i32$3 = $49_1; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$0 = var$6; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$5; + return i64toi32_i32$3 | 0; + } + i64toi32_i32$3 = var$0$hi; + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + var$0 = 0; + var$0$hi = i64toi32_i32$3; + } + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$3; + return i64toi32_i32$5 | 0; + } + + function __wasm_ctz_i32(var$0) { + var$0 = var$0 | 0; + if (var$0) { + return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0 + } + return 32 | 0; + } + + function __wasm_i64_mul(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$0 = var$1$hi; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function __wasm_i64_sdiv(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$0 = var$1$hi; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function __wasm_i64_srem(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$0 = var$1$hi; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function __wasm_i64_udiv(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$0 = var$1$hi; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function __wasm_i64_urem(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$0 = var$1$hi; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$0 = __wasm_intrinsics_temp_i64$hi; + i64toi32_i32$1 = __wasm_intrinsics_temp_i64; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function __wasm_rotl_i32(var$0, var$1) { + var$0 = var$0 | 0; + var$1 = var$1 | 0; + var var$2 = 0; + var$2 = var$1 & 31 | 0; + var$1 = (0 - var$1 | 0) & 31 | 0; + return ((-1 >>> var$2 | 0) & var$0 | 0) << var$2 | 0 | (((-1 << var$1 | 0) & var$0 | 0) >>> var$1 | 0) | 0 | 0; + } + + // EMSCRIPTEN_END_FUNCS +; + FUNCTION_TABLE[1] = $118; + FUNCTION_TABLE[2] = $275; + FUNCTION_TABLE[3] = $42; + FUNCTION_TABLE[4] = $948; + FUNCTION_TABLE[5] = $958; + FUNCTION_TABLE[6] = $924; + FUNCTION_TABLE[7] = $925; + FUNCTION_TABLE[8] = $385; + FUNCTION_TABLE[9] = $391; + FUNCTION_TABLE[10] = $462; + FUNCTION_TABLE[11] = $471; + FUNCTION_TABLE[12] = $476; + FUNCTION_TABLE[13] = $486; + FUNCTION_TABLE[14] = $487; + FUNCTION_TABLE[15] = $488; + FUNCTION_TABLE[16] = $607; + FUNCTION_TABLE[17] = $160; + FUNCTION_TABLE[18] = $170; + FUNCTION_TABLE[19] = $446; + FUNCTION_TABLE[20] = $646; + FUNCTION_TABLE[21] = $647; + FUNCTION_TABLE[22] = $745; + FUNCTION_TABLE[23] = $763; + FUNCTION_TABLE[24] = $764; + FUNCTION_TABLE[25] = $765; + FUNCTION_TABLE[26] = $766; + FUNCTION_TABLE[27] = $767; + FUNCTION_TABLE[28] = $1027; + FUNCTION_TABLE[29] = $1038; + FUNCTION_TABLE[30] = $1000; + FUNCTION_TABLE[31] = $1070; + FUNCTION_TABLE[32] = $1071; + FUNCTION_TABLE[33] = $1097; + FUNCTION_TABLE[34] = $1098; + FUNCTION_TABLE[35] = $1099; + FUNCTION_TABLE[36] = $1641; + FUNCTION_TABLE[37] = $1642; + FUNCTION_TABLE[38] = $1658; + FUNCTION_TABLE[39] = $1659; + FUNCTION_TABLE[40] = $1660; + FUNCTION_TABLE[41] = $1559; + FUNCTION_TABLE[42] = $1623; + FUNCTION_TABLE[43] = $1671; + FUNCTION_TABLE[44] = $1707; + FUNCTION_TABLE[45] = $1708; + FUNCTION_TABLE[46] = $1390; + FUNCTION_TABLE[47] = $1586; + FUNCTION_TABLE[48] = $1587; + FUNCTION_TABLE[49] = $1834; + FUNCTION_TABLE[50] = $1836; + FUNCTION_TABLE[51] = $1545; + FUNCTION_TABLE[52] = $1546; + FUNCTION_TABLE[53] = $1844; + FUNCTION_TABLE[54] = $1468; + FUNCTION_TABLE[55] = $1575; + FUNCTION_TABLE[56] = $1576; + FUNCTION_TABLE[57] = $1603; + FUNCTION_TABLE[58] = $1604; + FUNCTION_TABLE[59] = $1608; + FUNCTION_TABLE[60] = $1618; + FUNCTION_TABLE[61] = $1619; + FUNCTION_TABLE[62] = $1620; + FUNCTION_TABLE[63] = $1621; + FUNCTION_TABLE[64] = $1622; + FUNCTION_TABLE[65] = $1640; + FUNCTION_TABLE[66] = $1709; + FUNCTION_TABLE[67] = $1710; + FUNCTION_TABLE[68] = $1711; + FUNCTION_TABLE[69] = $1713; + FUNCTION_TABLE[70] = $1722; + FUNCTION_TABLE[71] = $1799; + FUNCTION_TABLE[72] = $1800; + FUNCTION_TABLE[73] = $1791; + FUNCTION_TABLE[74] = $1808; + FUNCTION_TABLE[75] = $1811; + FUNCTION_TABLE[76] = $1855; + FUNCTION_TABLE[77] = $1906; + FUNCTION_TABLE[78] = $1907; + FUNCTION_TABLE[79] = $1919; + FUNCTION_TABLE[80] = $1920; + FUNCTION_TABLE[81] = $2014; + FUNCTION_TABLE[82] = $2033; + FUNCTION_TABLE[83] = $2389; + FUNCTION_TABLE[84] = $2390; + FUNCTION_TABLE[85] = $2391; + FUNCTION_TABLE[86] = $2392; + FUNCTION_TABLE[87] = $2398; + FUNCTION_TABLE[88] = $2399; + FUNCTION_TABLE[89] = $2020; + FUNCTION_TABLE[90] = $2021; + FUNCTION_TABLE[91] = $2022; + FUNCTION_TABLE[92] = $2025; + FUNCTION_TABLE[93] = $2080; + FUNCTION_TABLE[94] = $2081; + FUNCTION_TABLE[95] = $2093; + FUNCTION_TABLE[96] = $2094; + FUNCTION_TABLE[97] = $2089; + FUNCTION_TABLE[98] = $2073; + FUNCTION_TABLE[99] = $2083; + FUNCTION_TABLE[100] = $2084; + FUNCTION_TABLE[101] = $2123; + FUNCTION_TABLE[102] = $2124; + FUNCTION_TABLE[103] = $2128; + FUNCTION_TABLE[104] = $2351; + FUNCTION_TABLE[105] = $2337; + FUNCTION_TABLE[106] = $2343; + FUNCTION_TABLE[107] = $2360; + FUNCTION_TABLE[108] = $2361; + FUNCTION_TABLE[109] = $2366; + FUNCTION_TABLE[110] = $2367; + FUNCTION_TABLE[111] = $2369; + FUNCTION_TABLE[112] = $2466; + FUNCTION_TABLE[113] = $2467; + FUNCTION_TABLE[114] = $2550; + FUNCTION_TABLE[115] = $2554; + FUNCTION_TABLE[116] = $2764; + FUNCTION_TABLE[117] = $2457; + FUNCTION_TABLE[118] = $2507; + FUNCTION_TABLE[119] = $2590; + FUNCTION_TABLE[120] = $2593; + FUNCTION_TABLE[121] = $2594; + FUNCTION_TABLE[122] = $2595; + FUNCTION_TABLE[123] = $2596; + FUNCTION_TABLE[124] = $2597; + FUNCTION_TABLE[125] = $2666; + FUNCTION_TABLE[126] = $2667; + FUNCTION_TABLE[127] = $2668; + FUNCTION_TABLE[128] = $2669; + FUNCTION_TABLE[129] = $2674; + FUNCTION_TABLE[130] = $2675; + FUNCTION_TABLE[131] = $2676; + FUNCTION_TABLE[132] = $2677; + FUNCTION_TABLE[133] = $2678; + FUNCTION_TABLE[134] = $2679; + FUNCTION_TABLE[135] = $2680; + FUNCTION_TABLE[136] = $2693; + FUNCTION_TABLE[137] = $2694; + FUNCTION_TABLE[138] = $2695; + FUNCTION_TABLE[139] = $2710; + FUNCTION_TABLE[140] = $2712; + FUNCTION_TABLE[141] = $2714; + FUNCTION_TABLE[142] = $2735; + FUNCTION_TABLE[143] = $2751; + FUNCTION_TABLE[144] = $2770; + FUNCTION_TABLE[145] = $2807; + FUNCTION_TABLE[146] = $2848; + FUNCTION_TABLE[147] = $2853; + FUNCTION_TABLE[148] = $2858; + FUNCTION_TABLE[149] = $2874; + FUNCTION_TABLE[150] = $2995; + FUNCTION_TABLE[151] = $2996; + FUNCTION_TABLE[152] = $3062; + FUNCTION_TABLE[153] = $91; + FUNCTION_TABLE[154] = $100; + FUNCTION_TABLE[155] = $103; + FUNCTION_TABLE[156] = $104; + FUNCTION_TABLE[157] = $106; + FUNCTION_TABLE[158] = $107; + FUNCTION_TABLE[159] = $108; + FUNCTION_TABLE[160] = $109; + FUNCTION_TABLE[161] = $110; + FUNCTION_TABLE[162] = $111; + FUNCTION_TABLE[163] = $112; + FUNCTION_TABLE[164] = $544; + FUNCTION_TABLE[165] = $602; + FUNCTION_TABLE[166] = $603; + FUNCTION_TABLE[167] = $545; + FUNCTION_TABLE[168] = $553; + FUNCTION_TABLE[169] = $556; + FUNCTION_TABLE[170] = $558; + FUNCTION_TABLE[171] = $560; + FUNCTION_TABLE[172] = $561; + FUNCTION_TABLE[173] = $562; + FUNCTION_TABLE[174] = $547; + FUNCTION_TABLE[175] = $566; + FUNCTION_TABLE[176] = $567; + FUNCTION_TABLE[177] = $571; + FUNCTION_TABLE[178] = $573; + FUNCTION_TABLE[179] = $574; + FUNCTION_TABLE[180] = $579; + FUNCTION_TABLE[181] = $581; + FUNCTION_TABLE[182] = $582; + FUNCTION_TABLE[183] = $584; + FUNCTION_TABLE[184] = $585; + FUNCTION_TABLE[185] = $587; + FUNCTION_TABLE[186] = $3241; + FUNCTION_TABLE[187] = $3239; + FUNCTION_TABLE[188] = $3246; + FUNCTION_TABLE[189] = $3220; + FUNCTION_TABLE[190] = $3217; + FUNCTION_TABLE[191] = $3244; + FUNCTION_TABLE[192] = $3173; + FUNCTION_TABLE[193] = $3250; + FUNCTION_TABLE[194] = $3255; + FUNCTION_TABLE[195] = $3216; + FUNCTION_TABLE[196] = $3254; + FUNCTION_TABLE[197] = $588; + FUNCTION_TABLE[198] = $3219; + FUNCTION_TABLE[199] = $3252; + FUNCTION_TABLE[200] = $3242; + FUNCTION_TABLE[201] = $3247; + FUNCTION_TABLE[202] = $3213; + FUNCTION_TABLE[203] = $3214; + FUNCTION_TABLE[204] = $589; + FUNCTION_TABLE[205] = $3251; + FUNCTION_TABLE[206] = $3218; + FUNCTION_TABLE[207] = $593; + FUNCTION_TABLE[208] = $594; + FUNCTION_TABLE[209] = $595; + FUNCTION_TABLE[210] = $596; + FUNCTION_TABLE[211] = $597; + FUNCTION_TABLE[212] = $599; + FUNCTION_TABLE[213] = $598; + FUNCTION_TABLE[214] = $600; + FUNCTION_TABLE[215] = $667; + FUNCTION_TABLE[216] = $669; + FUNCTION_TABLE[217] = $670; + FUNCTION_TABLE[218] = $672; + FUNCTION_TABLE[219] = $673; + FUNCTION_TABLE[220] = $674; + FUNCTION_TABLE[221] = $1157; + FUNCTION_TABLE[222] = $1158; + FUNCTION_TABLE[223] = $1159; + FUNCTION_TABLE[224] = $1160; + FUNCTION_TABLE[225] = $1161; + FUNCTION_TABLE[226] = $1163; + FUNCTION_TABLE[227] = $1164; + FUNCTION_TABLE[228] = $1165; + FUNCTION_TABLE[229] = $1166; + FUNCTION_TABLE[230] = $1167; + FUNCTION_TABLE[231] = $1845; + FUNCTION_TABLE[232] = $1847; + FUNCTION_TABLE[233] = $1854; + FUNCTION_TABLE[234] = $1856; + FUNCTION_TABLE[235] = $1857; + FUNCTION_TABLE[236] = $1858; + FUNCTION_TABLE[237] = $1859; + FUNCTION_TABLE[238] = $1860; + FUNCTION_TABLE[239] = $1861; + FUNCTION_TABLE[240] = $1863; + FUNCTION_TABLE[241] = $1865; + FUNCTION_TABLE[242] = $1867; + FUNCTION_TABLE[243] = $1869; + FUNCTION_TABLE[244] = $1870; + FUNCTION_TABLE[245] = $1871; + FUNCTION_TABLE[246] = $1872; + FUNCTION_TABLE[247] = $1873; + FUNCTION_TABLE[248] = $1874; + FUNCTION_TABLE[249] = $1875; + FUNCTION_TABLE[250] = $1876; + FUNCTION_TABLE[251] = $1877; + FUNCTION_TABLE[252] = $1878; + FUNCTION_TABLE[253] = $1879; + FUNCTION_TABLE[254] = $1880; + FUNCTION_TABLE[255] = $1881; + FUNCTION_TABLE[256] = $1882; + FUNCTION_TABLE[257] = $1883; + FUNCTION_TABLE[258] = $1884; + FUNCTION_TABLE[259] = $1885; + FUNCTION_TABLE[260] = $1886; + FUNCTION_TABLE[261] = $1887; + FUNCTION_TABLE[262] = $1888; + FUNCTION_TABLE[263] = $1889; + FUNCTION_TABLE[264] = $1890; + FUNCTION_TABLE[265] = $1891; + FUNCTION_TABLE[266] = $1892; + FUNCTION_TABLE[267] = $1893; + FUNCTION_TABLE[268] = $1894; + FUNCTION_TABLE[269] = $1895; + FUNCTION_TABLE[270] = $1896; + FUNCTION_TABLE[271] = $1897; + FUNCTION_TABLE[272] = $1898; + FUNCTION_TABLE[273] = $1899; + FUNCTION_TABLE[274] = $1900; + FUNCTION_TABLE[275] = $1901; + FUNCTION_TABLE[276] = $1902; + FUNCTION_TABLE[277] = $1903; + FUNCTION_TABLE[278] = $1904; + FUNCTION_TABLE[279] = $1905; + FUNCTION_TABLE[280] = $1918; + FUNCTION_TABLE[281] = $1921; + FUNCTION_TABLE[282] = $1923; + FUNCTION_TABLE[283] = $1924; + FUNCTION_TABLE[284] = $1925; + FUNCTION_TABLE[285] = $1926; + FUNCTION_TABLE[286] = $1927; + FUNCTION_TABLE[287] = $1928; + FUNCTION_TABLE[288] = $1929; + FUNCTION_TABLE[289] = $1930; + FUNCTION_TABLE[290] = $1931; + FUNCTION_TABLE[291] = $1932; + FUNCTION_TABLE[292] = $1933; + FUNCTION_TABLE[293] = $1934; + FUNCTION_TABLE[294] = $1935; + FUNCTION_TABLE[295] = $1936; + FUNCTION_TABLE[296] = $1937; + FUNCTION_TABLE[297] = $1938; + FUNCTION_TABLE[298] = $1939; + FUNCTION_TABLE[299] = $1940; + FUNCTION_TABLE[300] = $1941; + FUNCTION_TABLE[301] = $1942; + FUNCTION_TABLE[302] = $1943; + FUNCTION_TABLE[303] = $1944; + FUNCTION_TABLE[304] = $1945; + FUNCTION_TABLE[305] = $1946; + FUNCTION_TABLE[306] = $1947; + FUNCTION_TABLE[307] = $1950; + FUNCTION_TABLE[308] = $1952; + FUNCTION_TABLE[309] = $1954; + FUNCTION_TABLE[310] = $1956; + FUNCTION_TABLE[311] = $1957; + FUNCTION_TABLE[312] = $1958; + FUNCTION_TABLE[313] = $1959; + FUNCTION_TABLE[314] = $1975; + FUNCTION_TABLE[315] = $1976; + FUNCTION_TABLE[316] = $1977; + FUNCTION_TABLE[317] = $1978; + FUNCTION_TABLE[318] = $1979; + FUNCTION_TABLE[319] = $1980; + FUNCTION_TABLE[320] = $1981; + FUNCTION_TABLE[321] = $1982; + FUNCTION_TABLE[322] = $1983; + FUNCTION_TABLE[323] = $1984; + FUNCTION_TABLE[324] = $1987; + FUNCTION_TABLE[325] = $1989; + FUNCTION_TABLE[326] = $1990; + FUNCTION_TABLE[327] = $1992; + FUNCTION_TABLE[328] = $1994; + FUNCTION_TABLE[329] = $1995; + FUNCTION_TABLE[330] = $1986; + FUNCTION_TABLE[331] = $1997; + FUNCTION_TABLE[332] = $2006; + FUNCTION_TABLE[333] = $2017; + FUNCTION_TABLE[334] = $2019; + FUNCTION_TABLE[335] = $2023; + FUNCTION_TABLE[336] = $2024; + FUNCTION_TABLE[337] = $2133; + FUNCTION_TABLE[338] = $2135; + FUNCTION_TABLE[339] = $2136; + FUNCTION_TABLE[340] = $2139; + FUNCTION_TABLE[341] = $2140; + FUNCTION_TABLE[342] = $2142; + FUNCTION_TABLE[343] = $2143; + FUNCTION_TABLE[344] = $2145; + FUNCTION_TABLE[345] = $2150; + FUNCTION_TABLE[346] = $2152; + FUNCTION_TABLE[347] = $2153; + FUNCTION_TABLE[348] = $2155; + FUNCTION_TABLE[349] = $2156; + FUNCTION_TABLE[350] = $2158; + FUNCTION_TABLE[351] = $2160; + FUNCTION_TABLE[352] = $2164; + FUNCTION_TABLE[353] = $2165; + FUNCTION_TABLE[354] = $2167; + FUNCTION_TABLE[355] = $2168; + FUNCTION_TABLE[356] = $2169; + FUNCTION_TABLE[357] = $2170; + FUNCTION_TABLE[358] = $2171; + FUNCTION_TABLE[359] = $2172; + FUNCTION_TABLE[360] = $2034; + FUNCTION_TABLE[361] = $2036; + FUNCTION_TABLE[362] = $2037; + FUNCTION_TABLE[363] = $2038; + FUNCTION_TABLE[364] = $2039; + FUNCTION_TABLE[365] = $2046; + FUNCTION_TABLE[366] = $2049; + FUNCTION_TABLE[367] = $2050; + FUNCTION_TABLE[368] = $2051; + FUNCTION_TABLE[369] = $2052; + FUNCTION_TABLE[370] = $2055; + FUNCTION_TABLE[371] = $2058; + FUNCTION_TABLE[372] = $2062; + FUNCTION_TABLE[373] = $2063; + FUNCTION_TABLE[374] = $2064; + FUNCTION_TABLE[375] = $2108; + FUNCTION_TABLE[376] = $2110; + FUNCTION_TABLE[377] = $2111; + FUNCTION_TABLE[378] = $2112; + FUNCTION_TABLE[379] = $2113; + FUNCTION_TABLE[380] = $2115; + FUNCTION_TABLE[381] = $2116; + FUNCTION_TABLE[382] = $2117; + FUNCTION_TABLE[383] = $2118; + FUNCTION_TABLE[384] = $2119; + FUNCTION_TABLE[385] = $2325; + FUNCTION_TABLE[386] = $2328; + FUNCTION_TABLE[387] = $2330; + FUNCTION_TABLE[388] = $2332; + FUNCTION_TABLE[389] = $2376; + FUNCTION_TABLE[390] = $2379; + FUNCTION_TABLE[391] = $2380; + FUNCTION_TABLE[392] = $2381; + FUNCTION_TABLE[393] = $2382; + FUNCTION_TABLE[394] = $2384; + FUNCTION_TABLE[395] = $2385; + FUNCTION_TABLE[396] = $2386; + FUNCTION_TABLE[397] = $2387; + FUNCTION_TABLE[398] = $2388; + FUNCTION_TABLE[399] = $2400; + FUNCTION_TABLE[400] = $2402; + FUNCTION_TABLE[401] = $2403; + FUNCTION_TABLE[402] = $2406; + FUNCTION_TABLE[403] = $2408; + FUNCTION_TABLE[404] = $2410; + FUNCTION_TABLE[405] = $2412; + FUNCTION_TABLE[406] = $2414; + FUNCTION_TABLE[407] = $2425; + FUNCTION_TABLE[408] = $2432; + FUNCTION_TABLE[409] = $2433; + FUNCTION_TABLE[410] = $2439; + FUNCTION_TABLE[411] = $2441; + FUNCTION_TABLE[412] = $2449; + FUNCTION_TABLE[413] = $2450; + FUNCTION_TABLE[414] = $2452; + FUNCTION_TABLE[415] = $2453; + FUNCTION_TABLE[416] = $2455; + FUNCTION_TABLE[417] = $2458; + FUNCTION_TABLE[418] = $2460; + FUNCTION_TABLE[419] = $2462; + FUNCTION_TABLE[420] = $2463; + FUNCTION_TABLE[421] = $2464; + FUNCTION_TABLE[422] = $2718; + FUNCTION_TABLE[423] = $2719; + FUNCTION_TABLE[424] = $2720; + FUNCTION_TABLE[425] = $2722; + FUNCTION_TABLE[426] = $2724; + FUNCTION_TABLE[427] = $2725; + FUNCTION_TABLE[428] = $2726; + FUNCTION_TABLE[429] = $2728; + FUNCTION_TABLE[430] = $2730; + FUNCTION_TABLE[431] = $2731; + FUNCTION_TABLE[432] = $2732; + FUNCTION_TABLE[433] = $2733; + FUNCTION_TABLE[434] = $2736; + FUNCTION_TABLE[435] = $2738; + FUNCTION_TABLE[436] = $2739; + FUNCTION_TABLE[437] = $2740; + FUNCTION_TABLE[438] = $2742; + FUNCTION_TABLE[439] = $2743; + FUNCTION_TABLE[440] = $2744; + FUNCTION_TABLE[441] = $2833; + FUNCTION_TABLE[442] = $2835; + FUNCTION_TABLE[443] = $2836; + FUNCTION_TABLE[444] = $2839; + FUNCTION_TABLE[445] = $2846; + FUNCTION_TABLE[446] = $2854; + FUNCTION_TABLE[447] = $2855; + FUNCTION_TABLE[448] = $2859; + FUNCTION_TABLE[449] = $2862; + FUNCTION_TABLE[450] = $2863; + FUNCTION_TABLE[451] = $2866; + FUNCTION_TABLE[452] = $2868; + FUNCTION_TABLE[453] = $2869; + FUNCTION_TABLE[454] = $2871; + FUNCTION_TABLE[455] = $2872; + FUNCTION_TABLE[456] = $2873; + FUNCTION_TABLE[457] = $2508; + FUNCTION_TABLE[458] = $2875; + FUNCTION_TABLE[459] = $2892; + FUNCTION_TABLE[460] = $2894; + FUNCTION_TABLE[461] = $2895; + FUNCTION_TABLE[462] = $2896; + FUNCTION_TABLE[463] = $2897; + FUNCTION_TABLE[464] = $2898; + FUNCTION_TABLE[465] = $2900; + FUNCTION_TABLE[466] = $2902; + FUNCTION_TABLE[467] = $2904; + FUNCTION_TABLE[468] = $2908; + FUNCTION_TABLE[469] = $2909; + FUNCTION_TABLE[470] = $2910; + FUNCTION_TABLE[471] = $2926; + FUNCTION_TABLE[472] = $2928; + FUNCTION_TABLE[473] = $2929; + FUNCTION_TABLE[474] = $2930; + FUNCTION_TABLE[475] = $2932; + FUNCTION_TABLE[476] = $2934; + FUNCTION_TABLE[477] = $2935; + FUNCTION_TABLE[478] = $2937; + FUNCTION_TABLE[479] = $2946; + FUNCTION_TABLE[480] = $2948; + FUNCTION_TABLE[481] = $2949; + FUNCTION_TABLE[482] = $2953; + FUNCTION_TABLE[483] = $2954; + FUNCTION_TABLE[484] = $2962; + FUNCTION_TABLE[485] = $2963; + FUNCTION_TABLE[486] = $2964; + FUNCTION_TABLE[487] = $2965; + FUNCTION_TABLE[488] = $2966; + FUNCTION_TABLE[489] = $3014; + FUNCTION_TABLE[490] = $3019; + FUNCTION_TABLE[491] = $3025; + FUNCTION_TABLE[492] = $3028; + FUNCTION_TABLE[493] = $3033; + FUNCTION_TABLE[494] = $3035; + FUNCTION_TABLE[495] = $3037; + FUNCTION_TABLE[496] = $3039; + FUNCTION_TABLE[497] = $3040; + FUNCTION_TABLE[498] = $3041; + FUNCTION_TABLE[499] = $3042; + FUNCTION_TABLE[500] = $3043; + FUNCTION_TABLE[501] = $3044; + FUNCTION_TABLE[502] = $3046; + FUNCTION_TABLE[503] = $3047; + FUNCTION_TABLE[504] = $3048; + FUNCTION_TABLE[505] = $3050; + FUNCTION_TABLE[506] = $3066; + FUNCTION_TABLE[507] = $3067; + FUNCTION_TABLE[508] = $3068; + FUNCTION_TABLE[509] = $3069; + FUNCTION_TABLE[510] = $3070; + FUNCTION_TABLE[511] = $3072; + FUNCTION_TABLE[512] = $3074; + FUNCTION_TABLE[513] = $3075; + FUNCTION_TABLE[514] = $3076; + FUNCTION_TABLE[515] = $3079; + FUNCTION_TABLE[516] = $3081; + FUNCTION_TABLE[517] = $3134; + FUNCTION_TABLE[518] = $3136; + FUNCTION_TABLE[519] = $3139; + FUNCTION_TABLE[520] = $3151; + FUNCTION_TABLE[521] = $3083; + FUNCTION_TABLE[522] = $3084; + FUNCTION_TABLE[523] = $3085; + FUNCTION_TABLE[524] = $3086; + FUNCTION_TABLE[525] = $3087; + FUNCTION_TABLE[526] = $3088; + FUNCTION_TABLE[527] = $3089; + FUNCTION_TABLE[528] = $3090; + FUNCTION_TABLE[529] = $3093; + FUNCTION_TABLE[530] = $3095; + FUNCTION_TABLE[531] = $3097; + FUNCTION_TABLE[532] = $3098; + FUNCTION_TABLE[533] = $3099; + FUNCTION_TABLE[534] = $3100; + FUNCTION_TABLE[535] = $3102; + FUNCTION_TABLE[536] = $3103; + FUNCTION_TABLE[537] = $3104; + FUNCTION_TABLE[538] = $3105; + FUNCTION_TABLE[539] = $3107; + FUNCTION_TABLE[540] = $3108; + FUNCTION_TABLE[541] = $3109; + FUNCTION_TABLE[542] = $3110; + FUNCTION_TABLE[543] = $3111; + FUNCTION_TABLE[544] = $3112; + FUNCTION_TABLE[545] = $3113; + FUNCTION_TABLE[546] = $3114; + FUNCTION_TABLE[547] = $3115; + FUNCTION_TABLE[548] = $3116; + FUNCTION_TABLE[549] = $3117; + FUNCTION_TABLE[550] = $3118; + FUNCTION_TABLE[551] = $3120; + FUNCTION_TABLE[552] = $3121; + FUNCTION_TABLE[553] = $3122; + FUNCTION_TABLE[554] = $3123; + FUNCTION_TABLE[555] = $3125; + FUNCTION_TABLE[556] = $3127; + FUNCTION_TABLE[557] = $3128; + FUNCTION_TABLE[558] = $3129; + FUNCTION_TABLE[559] = $3130; + FUNCTION_TABLE[560] = $3131; + FUNCTION_TABLE[561] = $3132; + FUNCTION_TABLE[562] = $3133; + FUNCTION_TABLE[563] = $3138; + FUNCTION_TABLE[564] = $3142; + FUNCTION_TABLE[565] = $3144; + FUNCTION_TABLE[566] = $3145; + FUNCTION_TABLE[567] = $3156; + FUNCTION_TABLE[568] = $3158; + FUNCTION_TABLE[569] = $3159; + FUNCTION_TABLE[570] = $3292; + FUNCTION_TABLE[571] = $3291; + FUNCTION_TABLE[572] = $3293; + function __wasm_memory_size() { + return buffer.byteLength / 65536 | 0; + } + + function __wasm_memory_grow(pagesToAdd) { + pagesToAdd = pagesToAdd | 0; + var oldPages = __wasm_memory_size() | 0; + var newPages = oldPages + pagesToAdd | 0; + if ((oldPages < newPages) && (newPages < 65536)) { + var newBuffer = new ArrayBuffer(Math_imul(newPages, 65536)); + var newHEAP8 = new global.Int8Array(newBuffer); + newHEAP8.set(HEAP8); + HEAP8 = newHEAP8; + HEAP8 = new global.Int8Array(newBuffer); + HEAP16 = new global.Int16Array(newBuffer); + HEAP32 = new global.Int32Array(newBuffer); + HEAPU8 = new global.Uint8Array(newBuffer); + HEAPU16 = new global.Uint16Array(newBuffer); + HEAPU32 = new global.Uint32Array(newBuffer); + HEAPF32 = new global.Float32Array(newBuffer); + HEAPF64 = new global.Float64Array(newBuffer); + buffer = newBuffer; + memory.buffer = newBuffer; + } + return oldPages; + } + + return { + "__wasm_call_ctors": $1, + "memset": $3289, + "sqlite3_free": $42, + "sqlite3_value_double": $65, + "sqlite3_value_text": $66, + "__errno_location": $3169, + "sqlite3_finalize": $213, + "sqlite3_reset": $222, + "sqlite3_clear_bindings": $226, + "sqlite3_value_blob": $229, + "sqlite3_value_bytes": $233, + "sqlite3_value_int": $239, + "sqlite3_value_type": $248, + "sqlite3_result_blob": $254, + "sqlite3_result_double": $260, + "sqlite3_result_error": $263, + "sqlite3_result_int": $267, + "sqlite3_result_int64": $3332, + "sqlite3_result_null": $271, + "sqlite3_result_text": $277, + "sqlite3_step": $287, + "sqlite3_data_count": $310, + "sqlite3_column_blob": $311, + "sqlite3_column_bytes": $315, + "sqlite3_column_double": $316, + "sqlite3_column_text": $319, + "sqlite3_column_type": $321, + "sqlite3_column_name": $322, + "sqlite3_bind_blob": $325, + "sqlite3_bind_double": $329, + "sqlite3_bind_int": $330, + "sqlite3_bind_text": $333, + "sqlite3_bind_parameter_index": $338, + "sqlite3_errmsg": $380, + "sqlite3_exec": $400, + "sqlite3_prepare_v2": $402, + "sqlite3_changes": $453, + "sqlite3_close_v2": $459, + "sqlite3_create_function_v2": $467, + "sqlite3_open": $484, + "malloc": $3277, + "free": $3278, + "RegisterExtensionFunctions": $3082, + "custom_extensions": $3162, + "fflush": $3307, + "_get_tzname": $3294, + "_get_daylight": $3295, + "_get_timezone": $3296, + "stackSave": $3304, + "stackRestore": $3305, + "stackAlloc": $3306, + "memalign": $3282, + "dynCall_vi": $3309, + "dynCall_iiiii": $3310, + "dynCall_iii": $3311, + "dynCall_viii": $3312, + "dynCall_iiiiii": $3313, + "dynCall_ii": $3314, + "dynCall_iiii": $3315, + "dynCall_iiiiiii": $3316, + "dynCall_vii": $3317, + "dynCall_viiii": $3318, + "dynCall_ij": $3333, + "dynCall_iiiij": $3334, + "dynCall_vijii": $3335, + "dynCall_iijj": $3336, + "dynCall_iij": $3337, + "dynCall_iijii": $3338, + "dynCall_iiji": $3339, + "dynCall_i": $3326, + "dynCall_iiiiiij": $3340, + "dynCall_ji": $3341, + "dynCall_viiiii": $3329, + "dynCall_viji": $3342, + "dynCall_jiji": $3343, + "__growWasmMemory": $3345 + }; +} + +var bufferView = new Uint8Array(wasmMemory.buffer); +for (var base64ReverseLookup = new Uint8Array(123/*'z'+1*/), i = 25; i >= 0; --i) { + base64ReverseLookup[48+i] = 52+i; // '0-9' + base64ReverseLookup[65+i] = i; // 'A-Z' + base64ReverseLookup[97+i] = 26+i; // 'a-z' + } + base64ReverseLookup[43] = 62; // '+' + base64ReverseLookup[47] = 63; // '/' + /** @noinline Inlining this function would mean expanding the base64 string 4x times in the source code, which Closure seems to be happy to do. */ + function base64DecodeToExistingUint8Array(uint8Array, offset, b64) { + var b1, b2, i = 0, j = offset, bLength = b64.length, end = offset + (bLength*3>>2) - (b64[bLength-2] == '=') - (b64[bLength-1] == '='); + for (; i < bLength; i += 4) { + b1 = base64ReverseLookup[b64.charCodeAt(i+1)]; + b2 = base64ReverseLookup[b64.charCodeAt(i+2)]; + uint8Array[j++] = base64ReverseLookup[b64.charCodeAt(i)] << 2 | b1 >> 4; + if (j < end) uint8Array[j++] = b1 << 4 | b2 >> 2; + if (j < end) uint8Array[j++] = b2 << 6 | base64ReverseLookup[b64.charCodeAt(i+3)]; + } + } + base64DecodeToExistingUint8Array(bufferView, 1024, "My4zNC4wAAABAAAAAAEBAAAAAAEAACUAAAAAAAAAAABkCgEQAABzAAQFAABnAAEDHgB6AAQGAABxAAQJAABRAAQKAAB3AAQOAABjAAAIAABvCAAAAAJ1CgAQAAB4EAAAEAFYEAAAAARmAAEBAABlAAECHgBFAAECDgBHAAEDDgBpCgEQAABuAAAEAAAlAAAHAABwEAANAAFUAAALAABTAAAMAAByCgEPAAB0aHN0bmRyZAAAAAAAAAAAAAAAAAAAMDEyMzQ1Njc4OUFCQ0RFRjAxMjM0NTY3ODlhYmNkZWYALXgwAFgwAAAAAAAAAAAAAAAAAAAA4D+amZmZmZmpP3sUrkfhenQ//Knx0k1iQD8tQxzr4jYKP/Fo44i1+NQ+je21oPfGoD5Ir7ya8tdqPjqMMOKOeTU+ldYm6AsuAT5OYU4ASW5mAABOVUxMAChOVUxMKQAuAAAAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v91bml4AAAAAKQAAAB1bml4LW5vbmUAAAClAAAAdW5peC1kb3RmaWxlAAAAAKYAAAB1bml4LWV4Y2wAAAAAAAAABAUDBQEFAQUCBQIFAQUBBQQFAwUBBQEFAgUCBQEFAQUCBQMFAgUCBQIFAgUCBQIFBAUDBQIFAgUCBQIFAgUCBXN0cmluZyBvciBibG9iIHRvbyBiaWcAY2Fubm90IG9wZW4gdmlydHVhbCB0YWJsZTogJXMAY2Fubm90IG9wZW4gdGFibGUgd2l0aG91dCByb3dpZDogJXMAY2Fubm90IG9wZW4gdmlldzogJXMAbm8gc3VjaCBjb2x1bW46ICIlcyIAZm9yZWlnbiBrZXkAaW5kZXhlZABjYW5ub3Qgb3BlbiAlcyBjb2x1bW4gZm9yIHdyaXRpbmcAAAAAAAAAAKIAAABgAAAAIAAFAVkAAAFQAQAARAAAACVzACo/WwAlXwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQCAAEAAAIAAAAAAAAAAAAwMDAwMDAwMDAwAAAAAAAAACgoKCgoKAgICAgICAgICAgICAgICAgICAgKAAAAAQIAqKioqKioiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEABBAMCBUJJTkFSWQAAAAAAUkVJTkRFWEVERVNDQVBFQUNIRUNLRVlCRUZPUkVJR05PUkVHRVhQTEFJTlNURUFEREFUQUJBU0VMRUNUQUJMRUZUSEVOREVGRVJSQUJMRUxTRVhDTFVERUxFVEVNUE9SQVJZSVNOVUxMU0FWRVBPSU5URVJTRUNUSUVTTk9UTlVMTElLRVhDRVBUUkFOU0FDVElPTkFUVVJBTFRFUkFJU0VYQ0xVU0lWRVhJU1RTQ09OU1RSQUlOVE9GRlNFVFJJR0dFUkFOR0VORVJBVEVERVRBQ0hBVklOR0xPQkVHSU5ORVJFRkVSRU5DRVNVTklRVUVSWVdJVEhPVVRFUkVMRUFTRUFUVEFDSEJFVFdFRU5PVEhJTkdST1VQU0NBU0NBREVGQVVMVENBU0VDT0xMQVRFQ1JFQVRFQ1VSUkVOVF9EQVRFSU1NRURJQVRFSk9JTlNFUlRNQVRDSFBMQU5BTFlaRVBSQUdNQUJPUlRVUERBVEVWQUxVRVNWSVJUVUFMV0FZU1dIRU5XSEVSRUNVUlNJVkVBRlRFUkVOQU1FQU5ERUZFUlJFRElTVElOQ1RBVVRPSU5DUkVNRU5UQ0FTVENPTFVNTkNPTU1JVENPTkZMSUNUQ1JPU1NDVVJSRU5UX1RJTUVTVEFNUEFSVElUSU9ORFJPUFJFQ0VESU5HRkFJTEFTVEZJTFRFUkVQTEFDRUZJUlNURk9MTE9XSU5HRlJPTUZVTExJTUlUSUZPUkRFUkVTVFJJQ1RPVEhFUlNPVkVSSUdIVFJPTExCQUNLUk9XU1VOQk9VTkRFRFVOSU9OVVNJTkdWQUNVVU1WSUVXSU5ET1dCWUlOSVRJQUxMWVBSSU1BUlkAAAAAAAAAAAAAAAIAAgAIAAkADgAQABQAFwAZABkAHQAhACQAKQAuADAANQA2ADsAPgBBAEMARQBOAFEAVgBaAFoAXgBjAGUAaQBvAHcAewB7AHsAfgCBAIQAiQCOAJIAkwCYAJwAoACoAK4AtQC4ALgAuwC9AMMAxgDOANMA2ADbAN4A4gDsAO8A9AD0APgA/AADAQkBDwEVARUBGwEcASABJwErATIBOAFEAU0BTwFVAVoBXAFjAWgBbQFzAXkBfgGEAYgBiwGUAZgBngGgAacBqAGvAbEBswG8AcABxgHMAdQB2QHZAdkB6QHyAfUB/gEBAgUCCgIRAhYCHwIjAiYCKwItAjECOQI/AkICRwJPAk8CUwJcAmECZgJsAm8CcgJ1AncCfAKAAgAAAAAAAAAAAAAAAAAABwcFBAYEBQMGBwMGBgcHAwgCBgUEBAMKBAcGCQQCBgUJCQQHAwIEBAYLBgIHBQUJBgoEBgIDBwUJBgYEBQUKBgUHBAUHBgcHBgUHAwcEBwYMCQQGBQQHBgUGBgcGBAUJBQYDCAgCDQICBAYGCAURDAcJBAkEBAYHBQkEBAUCBQgGBAUIBAMJBQUGBAYCAgkDB3RyaWdnZXIAdGVtcAAAAOoDAAAAQAAA6wMAAAAABAD3AwAAAAAAgOwDAAAAAEAA7QMAAAAAAQDuAwAAAAgAAO8DAAAAAIAA8AMAAAAAAAHxAwAAAAAAAvIDAAAAAAAQ8wMAAAEAAAj0AwAAAAAABPYDAAAAAAAg9QMAAAAAAED4AwAAAgAAAPkDAACAAAAAdW5rbm93biBkYXRhYmFzZTogJXMAAAAAAAAAAAAAAAAAypo7AMqaO9AHAADoAwAA9AEAAICy5g5/AAAACgAAAFDDAAD+fwAA6AMAAAAAAABJTlRFR0VSAG5vIHN1Y2ggdGFibGUgY29sdW1uOiAlcy4lcwBTUUxJVEVfADIwMjAtMTItMDEgMTY6MTQ6MDAgYTI2YjY1OTdlM2FlMjcyMjMxYjk2Zjk5ODJjM2JjYzE3ZGRlYzJmMmI2ZWI0ZGYwNmEyMjRiOTEwODlmZWQ1YgAAAAADAAAApwAAAKgAAACpAAAAqgAAAKsAAACsAAAArQAAAK4AAACvAAAAsAAAALEAAACyAAAAswAAALQAAAC1AAAAtgAAALcAAAC4AAAAY2Fubm90IGZzdGF0IGRiIGZpbGUgJXMAZmlsZSB1bmxpbmtlZCB3aGlsZSBvcGVuOiAlcwBtdWx0aXBsZSBsaW5rcyB0byBmaWxlOiAlcwBmaWxlIHJlbmFtZWQgd2hpbGUgb3BlbjogJXMAb3BlbgBjbG9zZQBhY2Nlc3MAZ2V0Y3dkAHN0YXQAZnN0YXQAZnRydW5jYXRlAGZjbnRsAHJlYWQAcHJlYWQAcHJlYWQ2NAB3cml0ZQBwd3JpdGUAcHdyaXRlNjQAZmNobW9kAGZhbGxvY2F0ZQB1bmxpbmsAb3BlbkRpcmVjdG9yeQBta2RpcgBybWRpcgBmY2hvd24AZ2V0ZXVpZABtbWFwAG11bm1hcABtcmVtYXAAZ2V0cGFnZXNpemUAcmVhZGxpbmsAbHN0YXQAaW9jdGwAYXR0ZW1wdCB0byBvcGVuICIlcyIgYXMgZmlsZSBkZXNjcmlwdG9yICVkAC9kZXYvbnVsbABvc191bml4LmM6JWQ6ICglZCkgJXMoJXMpIC0gJXMAY2Fubm90IG9wZW4gZmlsZQAlcyBhdCBsaW5lICVkIG9mIFslLjEwc10AZnVsbF9mc3luYwAlcy9ldGlscXNfJWxseCVjAC92YXIvdG1wAC91c3IvdG1wAC90bXAAU1FMSVRFX1RNUERJUgBUTVBESVIAJXMtc2htAHJlYWRvbmx5X3NobQBtb2Rlb2YAcHNvdwADAAAAzwAAAKgAAACpAAAAqgAAAKsAAACsAAAA0AAAANEAAADSAAAAsAAAALEAAACyAAAAAAAAALQAAAC1AAAAtgAAALcAAAC4AAAAAQAAANMAAACoAAAAqQAAAKoAAACrAAAArAAAANQAAADVAAAA1gAAALAAAACxAAAAsgAAAAAAAAC0AAAAtQAAALYAAAC3AAAAuAAAACVzLmxvY2sAZnN5bmMAL2Rldi91cmFuZG9tAHVuYWJsZSB0byBvcGVuIGEgdGVtcG9yYXJ5IGRhdGFiYXNlIGZpbGUgZm9yIHN0b3JpbmcgdGVtcG9yYXJ5IHRhYmxlcwA6bWVtb3J5OgAAAAAAAAAAAC1qb3VybmFsAC13YWwAbm9sb2NrAGltbXV0YWJsZQAAAAABAAAA1wAAANgAAADZAAAA2gAAANsAAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcmVjb3ZlcmVkICVkIGZyYW1lcyBmcm9tIFdBTCBmaWxlICVzAGRhdGFiYXNlIGNvcnJ1cHRpb24AY2Fubm90IGxpbWl0IFdBTCBzaXplOiAlcwDZ1QX5IKFj1wByZWNvdmVyZWQgJWQgcGFnZXMgZnJvbSAlcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTUUxpdGUgZm9ybWF0IDMAQCAgAEFQSSBjYWxsZWQgd2l0aCBmaW5hbGl6ZWQgcHJlcGFyZWQgc3RhdGVtZW50AEZPUkVJR04gS0VZIGNvbnN0cmFpbnQgZmFpbGVkAAEBAAEAACUuNGMlcyUuMTZjAE1KIGRlbGV0ZTogJXMATUogY29sbGlkZTogJXMALW1qJTA2WDklMDJYAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8AAQIDBAUGBwgJCgsMDQ4PAAECAwQFBgcAAQIDAAEAACUhLjE1ZwA5MjIzMzcyMDM2ODU0Nzc1ODAAQVBJIGNhbGxlZCB3aXRoIE5VTEwgcHJlcGFyZWQgc3RhdGVtZW50AGsoJWQAQklOQVJZAEIALCVzJXMlcwAtAE4uACkAAHAUAAByFAAAdBQAAHkUAAA/ADgAMTZMRQAxNkJFACUuMThzLSVzACVzKCVkKQAlbGxkACVkACUuMTZnAChibG9iKQB2dGFiOiVwACVjJXUAXQBwcm9ncmFtAAAAAAAAAIQXAACOFwAAmRcAAKUXAACwFwAAtRcAALoXAADFFwAA0RcAANgXAADgFwAA6BcAAO0XAADzFwAAARgAAAcYAAARGAAAFhgAABsYAAAeGAAAIhgAACgYAAAyGAAAORgAAEAYAABHGAAAThgAAFgYAABhGAAAbBgAAHUYAAB7GAAAhRgAAI8YAACUGAAAnhgAAKkYAACuGAAAtRgAALsYAADBGAAAxxgAAM0YAADYGAAA2xgAAN8YAADqGAAA8hgAAPsYAAABGQAACxkAABIZAAAaGQAAHRkAACAZAAAjGQAAJhkAACkZAAAsGQAANhkAAEMZAABOGQAAVBkAAFkZAABiGQAAaxkAAHIZAAB/GQAAihkAAI8ZAACXGQAAnRkAAKQZAACpGQAAshkAALcZAADAGQAAxRkAAMoZAADQGQAA2BkAAOIZAADqGQAA8RkAAP4ZAAADGgAADxoAABcaAAAeGgAAJRoAACwaAAA1GgAAQBoAAEYaAABRGgAAWxoAAGUaAABuGgAAeBoAAIAaAACOGgAAnBoAAKMaAACpGgAAsxoAAL4aAADCGgAAyxoAANQaAADbGgAA5RoAAOwaAAD3GgAA/hoAAAsbAAAWGwAAHhsAACQbAAAwGwAAORsAAEEbAABKGwAAUxsAAFobAABhGwAAbBsAAHobAACFGwAAjRsAAJMbAACbGwAAoxsAAK0bAAC6GwAAxBsAANEbAADaGwAA5RsAAO0bAADzGwAA/xsAAAscAAATHAAAHxwAACwcAAA2HAAAQBwAAEwcAABYHAAAYhwAAGgcAABtHAAAdxwAAH4cAACKHAAAlRwAAJ0cAACmHAAArxwAALgcAAC/HAAAyhwAANccAADhHAAA6BwAAPAcAAD5HAAA/xwAAAcdAAAPHQAAGR0AACIdAAAoHQAAMx0AAD4dAABDHQAASx0AAFNhdmVwb2ludABBdXRvQ29tbWl0AFRyYW5zYWN0aW9uAFNvcnRlck5leHQAUHJldgBOZXh0AENoZWNrcG9pbnQASm91cm5hbE1vZGUAVmFjdXVtAFZGaWx0ZXIAVlVwZGF0ZQBHb3RvAEdvc3ViAEluaXRDb3JvdXRpbmUAWWllbGQATXVzdEJlSW50AEp1bXAAT25jZQBJZgBOb3QASWZOb3QASWZOdWxsUm93AFNlZWtMVABTZWVrTEUAU2Vla0dFAFNlZWtHVABJZk5vdE9wZW4ASWZOb0hvcGUATm9Db25mbGljdABOb3RGb3VuZABGb3VuZABTZWVrUm93aWQATm90RXhpc3RzAExhc3QASWZTbWFsbGVyAFNvcnRlclNvcnQAU29ydABSZXdpbmQASWR4TEUASWR4R1QASWR4TFQASWR4R0UAUm93U2V0UmVhZABPcgBBbmQAUm93U2V0VGVzdABQcm9ncmFtAEZrSWZaZXJvAElmUG9zAElmTm90WmVybwBJc051bGwATm90TnVsbABOZQBFcQBHdABMZQBMdABHZQBFbHNlTm90RXEARGVjckp1bXBaZXJvAEluY3JWYWN1dW0AVk5leHQASW5pdABQdXJlRnVuYwBGdW5jdGlvbgBSZXR1cm4ARW5kQ29yb3V0aW5lAEhhbHRJZk51bGwASGFsdABJbnRlZ2VyAEludDY0AFN0cmluZwBOdWxsAFNvZnROdWxsAEJsb2IAVmFyaWFibGUATW92ZQBDb3B5AFNDb3B5AEludENvcHkAUmVzdWx0Um93AENvbGxTZXEAQWRkSW1tAFJlYWxBZmZpbml0eQBDYXN0AFBlcm11dGF0aW9uAENvbXBhcmUASXNUcnVlAE9mZnNldABDb2x1bW4AQWZmaW5pdHkATWFrZVJlY29yZABDb3VudABSZWFkQ29va2llAFNldENvb2tpZQBSZW9wZW5JZHgAT3BlblJlYWQAT3BlbldyaXRlAE9wZW5EdXAAT3BlbkF1dG9pbmRleABPcGVuRXBoZW1lcmFsAEJpdEFuZABCaXRPcgBTaGlmdExlZnQAU2hpZnRSaWdodABBZGQAU3VidHJhY3QATXVsdGlwbHkARGl2aWRlAFJlbWFpbmRlcgBDb25jYXQAU29ydGVyT3BlbgBCaXROb3QAU2VxdWVuY2VUZXN0AE9wZW5Qc2V1ZG8AU3RyaW5nOABDbG9zZQBDb2x1bW5zVXNlZABTZWVrU2NhbgBTZWVrSGl0AFNlcXVlbmNlAE5ld1Jvd2lkAEluc2VydABEZWxldGUAUmVzZXRDb3VudABTb3J0ZXJDb21wYXJlAFNvcnRlckRhdGEAUm93RGF0YQBSb3dpZABOdWxsUm93AFNlZWtFbmQASWR4SW5zZXJ0AFNvcnRlckluc2VydABJZHhEZWxldGUARGVmZXJyZWRTZWVrAElkeFJvd2lkAEZpbmlzaFNlZWsARGVzdHJveQBDbGVhcgBSZXNldFNvcnRlcgBDcmVhdGVCdHJlZQBTcWxFeGVjAFBhcnNlU2NoZW1hAExvYWRBbmFseXNpcwBEcm9wVGFibGUARHJvcEluZGV4AERyb3BUcmlnZ2VyAEludGVncml0eUNrAFJvd1NldEFkZABQYXJhbQBSZWFsAEZrQ291bnRlcgBNZW1NYXgAT2Zmc2V0TGltaXQAQWdnSW52ZXJzZQBBZ2dTdGVwAEFnZ1N0ZXAxAEFnZ1ZhbHVlAEFnZ0ZpbmFsAEV4cGlyZQBDdXJzb3JMb2NrAEN1cnNvclVubG9jawBUYWJsZUxvY2sAVkJlZ2luAFZDcmVhdGUAVkRlc3Ryb3kAVk9wZW4AVkNvbHVtbgBWUmVuYW1lAFBhZ2Vjb3VudABNYXhQZ2NudABUcmFjZQBDdXJzb3JIaW50AFJlbGVhc2VSZWcATm9vcABFeHBsYWluAEFib3J0YWJsZQAAAAAAAAAAAAAAAHAdAAB5HQAAgB0AAIYdAABOT1QgTlVMTABVTklRVUUAQ0hFQ0sARk9SRUlHTiBLRVkAJXMgY29uc3RyYWludCBmYWlsZWQAJXo6ICVzAGFib3J0IGF0ICVkIGluIFslc106ICVzAAEAAAEBAAABAAEAAQEAAQAAAQAAAAABAgACAgABAgEBAQIBAhAAAgJjYW5ub3Qgb3BlbiBzYXZlcG9pbnQgLSBTUUwgc3RhdGVtZW50cyBpbiBwcm9ncmVzcwBubyBzdWNoIHNhdmVwb2ludDogJXMAY2Fubm90IHJlbGVhc2Ugc2F2ZXBvaW50IC0gU1FMIHN0YXRlbWVudHMgaW4gcHJvZ3Jlc3MAY2Fubm90IGNvbW1pdCB0cmFuc2FjdGlvbiAtIFNRTCBzdGF0ZW1lbnRzIGluIHByb2dyZXNzAGNhbm5vdCBzdGFydCBhIHRyYW5zYWN0aW9uIHdpdGhpbiBhIHRyYW5zYWN0aW9uAGNhbm5vdCByb2xsYmFjayAtIG5vIHRyYW5zYWN0aW9uIGlzIGFjdGl2ZQBjYW5ub3QgY29tbWl0IC0gbm8gdHJhbnNhY3Rpb24gaXMgYWN0aXZlAGRhdGFiYXNlIHNjaGVtYSBoYXMgY2hhbmdlZABzcWxpdGVfbWFzdGVyAFNFTEVDVCpGUk9NIiV3Ii4lcyBXSEVSRSAlcyBPUkRFUiBCWSByb3dpZAB0b28gbWFueSBsZXZlbHMgb2YgdHJpZ2dlciByZWN1cnNpb24AY2Fubm90IGNoYW5nZSAlcyB3YWwgbW9kZSBmcm9tIHdpdGhpbiBhIHRyYW5zYWN0aW9uAGludG8Ab3V0IG9mAGRhdGFiYXNlIHRhYmxlIGlzIGxvY2tlZDogJXMALS0gJXMAc3RhdGVtZW50IGFib3J0cyBhdCAlZDogWyVzXSAlcwBvdXQgb2YgbWVtb3J5AAAAAAAAAAAAAAAAAAAAAQIDBAYICAAAAAAAAAEBAgIDAwQEBQUGBgcHCAgJCQoKCwsMDA0NDg4PDxAQERESEhMTFBQVFRYWFxcYGBkZGhobGxwcHR0eHh8fICAhISIiIyMkJCUlJiYnJygoKSkqKisrLCwtLS4uLy8wMDExMjIzMzQ0NTU2Njc3ODg5ORAQAhAAAQIDBAYIAAAAdGFibGUAc3FsaXRlX3RlbXBfbWFzdGVyADEAQ1JFQVRFIFRBQkxFIHgodHlwZSB0ZXh0LG5hbWUgdGV4dCx0YmxfbmFtZSB0ZXh0LHJvb3RwYWdlIGludCxzcWwgdGV4dCkAYXR0YWNoZWQgZGF0YWJhc2VzIG11c3QgdXNlIHRoZSBzYW1lIHRleHQgZW5jb2RpbmcgYXMgbWFpbiBkYXRhYmFzZQB1bnN1cHBvcnRlZCBmaWxlIGZvcm1hdABTRUxFQ1QqRlJPTSIldyIuJXMgT1JERVIgQlkgcm93aWQAY3JlYXRlIABpbnZhbGlkIHJvb3RwYWdlAG9ycGhhbiBpbmRleABtYWxmb3JtZWQgZGF0YWJhc2Ugc2NoZW1hICglcykAJXogLSAlcwBkYXRhYmFzZSBzY2hlbWEgaXMgbG9ja2VkOiAlcwBzdGF0ZW1lbnQgdG9vIGxvbmcAbWFpbgBzcWxpdGVfc3RhdDEAU0VMRUNUIHRibCxpZHgsc3RhdCBGUk9NICVRLnNxbGl0ZV9zdGF0MQB1bm9yZGVyZWQqAHN6PVswLTldKgBub3NraXBzY2FuKgAAIQAgAB4AHAAaAE1haW4gZnJlZWxpc3Q6IABtYXggcm9vdHBhZ2UgKCVkKSBkaXNhZ3JlZXMgd2l0aCBoZWFkZXIgKCVkKQBpbmNyZW1lbnRhbF92YWN1dW0gZW5hYmxlZCB3aXRoIGEgbWF4IHJvb3RwYWdlIG9mIHplcm8AUGFnZSAlZCBpcyBuZXZlciB1c2VkAFBvaW50ZXIgbWFwIHBhZ2UgJWQgaXMgcmVmZXJlbmNlZABmYWlsZWQgdG8gZ2V0IHBhZ2UgJWQAZnJlZWxpc3QgbGVhZiBjb3VudCB0b28gYmlnIG9uIHBhZ2UgJWQAJXMgaXMgJWQgYnV0IHNob3VsZCBiZSAlZABzaXplAG92ZXJmbG93IGxpc3QgbGVuZ3RoAGludmFsaWQgcGFnZSBudW1iZXIgJWQAMm5kIHJlZmVyZW5jZSB0byBwYWdlICVkAAoARmFpbGVkIHRvIHJlYWQgcHRybWFwIGtleT0lZABCYWQgcHRyIG1hcCBlbnRyeSBrZXk9JWQgZXhwZWN0ZWQ9KCVkLCVkKSBnb3Q9KCVkLCVkKQBQYWdlICV1OiAAdW5hYmxlIHRvIGdldCB0aGUgcGFnZS4gZXJyb3IgY29kZT0lZABidHJlZUluaXRQYWdlKCkgcmV0dXJucyBlcnJvciBjb2RlICVkAGZyZWUgc3BhY2UgY29ycnVwdGlvbgBPbiB0cmVlIHBhZ2UgJXUgY2VsbCAlZDogAE9uIHBhZ2UgJXUgYXQgcmlnaHQgY2hpbGQ6IABPZmZzZXQgJWQgb3V0IG9mIHJhbmdlICVkLi4lZABFeHRlbmRzIG9mZiBlbmQgb2YgcGFnZQBSb3dpZCAlbGxkIG91dCBvZiBvcmRlcgBDaGlsZCBwYWdlIGRlcHRoIGRpZmZlcnMATXVsdGlwbGUgdXNlcyBmb3IgYnl0ZSAldSBvZiBwYWdlICV1AEZyYWdtZW50YXRpb24gb2YgJWQgYnl0ZXMgcmVwb3J0ZWQgYXMgJWQgb24gcGFnZSAldQAAAAAAAAAAALglAAC/JQAAxyUAAMslAADUJQAA2yUAAGRlbGV0ZQBwZXJzaXN0AG9mZgB0cnVuY2F0ZQBtZW1vcnkAd2FsAGNhbm5vdCBWQUNVVU0gZnJvbSB3aXRoaW4gYSB0cmFuc2FjdGlvbgBjYW5ub3QgVkFDVVVNIC0gU1FMIHN0YXRlbWVudHMgaW4gcHJvZ3Jlc3MAbm9uLXRleHQgZmlsZW5hbWUAQVRUQUNIICVRIEFTIHZhY3V1bV9kYgBvdXRwdXQgZmlsZSBhbHJlYWR5IGV4aXN0cwBCRUdJTgBTRUxFQ1Qgc3FsIEZST00gIiV3Ii5zcWxpdGVfc2NoZW1hIFdIRVJFIHR5cGU9J3RhYmxlJ0FORCBuYW1lPD4nc3FsaXRlX3NlcXVlbmNlJyBBTkQgY29hbGVzY2Uocm9vdHBhZ2UsMSk+MABTRUxFQ1Qgc3FsIEZST00gIiV3Ii5zcWxpdGVfc2NoZW1hIFdIRVJFIHR5cGU9J2luZGV4JwBTRUxFQ1QnSU5TRVJUIElOVE8gdmFjdXVtX2RiLid8fHF1b3RlKG5hbWUpfHwnIFNFTEVDVCpGUk9NIiV3Ii4nfHxxdW90ZShuYW1lKUZST00gdmFjdXVtX2RiLnNxbGl0ZV9zY2hlbWEgV0hFUkUgdHlwZT0ndGFibGUnQU5EIGNvYWxlc2NlKHJvb3RwYWdlLDEpPjAASU5TRVJUIElOVE8gdmFjdXVtX2RiLnNxbGl0ZV9zY2hlbWEgU0VMRUNUKkZST00gIiV3Ii5zcWxpdGVfc2NoZW1hIFdIRVJFIHR5cGUgSU4oJ3ZpZXcnLCd0cmlnZ2VyJykgT1IodHlwZT0ndGFibGUnQU5EIHJvb3RwYWdlPTApAAEBAwAFAAYACABDUkUASU5TAG5vIHN1Y2ggbW9kdWxlOiAlcwB2dGFibGUgY29uc3RydWN0b3IgY2FsbGVkIHJlY3Vyc2l2ZWx5OiAlcwB2dGFibGUgY29uc3RydWN0b3IgZmFpbGVkOiAlcwB2dGFibGUgY29uc3RydWN0b3IgZGlkIG5vdCBkZWNsYXJlIHNjaGVtYTogJXMAaGlkZGVuAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYmluZCBvbiBhIGJ1c3kgcHJlcGFyZWQgc3RhdGVtZW50OiBbJXNdABwbGxsbGxsbGwcHGwcHGxsbGxsbGxsbGxsbGxsbGxsbBw8IBQQWGAgREhUUFwsaEAMDAwMDAwMDAwMFEwwODQYFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEJGxsbAQgBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABARsKGxkbAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJUZoRSch0AAFsAVUgANSNWDwAqXjZ+hRMAAIoAKIAAFmgACQAAelAATgYAQWORAIZwAAAwAGQYABEAG0YXGgU8jGt5AEllR489d0oAMQALKQBuAAAAagpscXwOMnsAWQASeI44gYlYUyUefQAAaTOCfwAiAAAsAF8mJwAULXRaAGFynic6KXpDIYI+Py8CQaAmGIgQdJwLgZ1bfhUVKzJSDYdeMxNCdy+GBhxxdJ9HCRR1lEVEgE1ZXyiRLwV0e3kDGVF0DiAwlVyQIx92mm8RYwiNfS4EHkYbf4lQYJuTSB1iLAeKLXwPMSQ8CiV0Y2NVV4NYKlSjSVNWjHSSEo9KXaJ0DExLWoSOTk+hPSJAhXgAAAAAAAAAAAAAAAAAAAAAAAAABAArAABnbwAAAAIAAI0AAAANAAAAAIsAAHY0AACHDAAAPgCIAIMAACQAABxNAAAAADsALwAAAAAAAAAAAABFAAAAAACQAwA6AAFLAAAAHwAAAAAAAEBCPwAAAAAuABAAcwAAAAAAAAAAAABRYQAIAG0VB0MAT111AABEAABgADcATABcICE5GQBiAABXAAAAAAAAAAAAAAAAAAAAAAAAAQEBABAAAQABAQEDAwEBAxIDAQkJCQkBCQkJCQkJAQEBAQEBAQEBIyYmCwEBAwMDAwsLCwsLCwEDAQEBAAACAggAEBAQEAAQEAAAEBAAAAICAgAAEiAAAAAQEAAAAAAAAAAmJiYmJiYmJiYmABIAABAAAAAAEBAAAAAAAAAQAAAEBAAAEAAQAAAQAAAAAAAAAAYQEAAEGgAAAAAAAAAAAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAAAAAAAAAA4CwAAOUsAADsLAAA7ywAAPIsAAD1LAAA+CwAAPssAAADLQAABi0AAA0tAAAVLQAAYWRkcgBvcGNvZGUAcDEAcDIAcDMAcDQAcDUAY29tbWVudABpZABwYXJlbnQAbm90dXNlZABkZXRhaWwAY2Fubm90IG9wZW4gdmFsdWUgb2YgdHlwZSAlcwBudWxsAHJlYWwAaW50ZWdlcgBubyBzdWNoIHJvd2lkOiAlbGxkAHByYWdtYV8Abm8gc3VjaCB2aWV3AG5vIHN1Y2ggdGFibGUAJXM6ICVzLiVzACVzOiAlcwAAAAAAAAAAAADdAAAA3gAAAN8AAAAAAAAA4AAAAOEAAADiAAAA4wAAAOQAAADlAAAA5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIAAAEQAAAAAAAAAAAAAA8yAAACFAAACAAAAAAAAAAeMgAAA5UAAAAAAAAAAAAAKjIAAAQUAAAAgAAAAAAAADoyAAAFEDIBAAAAAAAAAABHMgAABpUAAAAAAAAAAAAAUjIAAAeUAAAAAAAAAAAAAF4yAAAIAgAAAAAAAAAAAAByMgAABBQAAAAAIAAAAAAAgjIAAAQUAAAQAAAAAAAAAJcyAAAJECACAAAAAAAAAACmMgAAChAAAAAAAAAAAAAAtjIAAAQUAAAAAAAAAQAAAMQyAAACGAAADwAAAAAAAADRMgAADBEpAwAAAAAAAAAA3zIAAAQUAAAAAAgAAAAAAPIyAAAEFAAAAAEAAAAAAAAJMwAADhQAAAAAAAAAAAAAEjMAAA9xJQQAAAAAAAAAACQzAAAQYQAIAAAAAAAAAAA1MwAABBQAAABAAAAAAAAAQjMAAAIYAAAAAAAAAAAAAFEzAAAEFAAABAAAAAAAAABjMwAABBQAAAgAAAAAAAAAbTMAABEQFQYAAAAAAAAAAHszAAASEAAAAAAAAAAAAACLMwAABBQAAAACAAAAAAAApDMAABMDAAAAAAAAAAAAALczAAAUYQ8DAAAAAAAAAADCMwAAFWEgBQAAAAAAAAAAzTMAABRhDwYBAAAAAAAAANkzAAAWMQAAAAAAAAAAAADpMwAAF5EAAAAAAAAAAAAA9jMAABiQAAAAAAAAAAAAAAk0AAAEFAAAAAAABAAAAAAcNAAAGpAAAAAAAAAAAAAAKTQAABuRAAAAAAAAAAAAADg0AAAcAAAAAAAAAAAAAABCNAAAHRAJAQAAAAAAAAAATjQAAB4hAAAAAAAAAAAAAFc0AAAbkQAAAAAAAAAAAABiNAAAH5QAAAAAAAAAAAAAbDQAACAQCQEAAAAAAAAAAHg0AAAEFAAAAAAQAAAAAACDNAAAFjEAAAAAAAAAAAAAjzQAAAQUAAAABAAAAAAAAKA0AAAEFAAAACAAAAAAAACzNAAABBQAAAAQAAAAAAAAzTQAAAIUAAABAAAAAAAAANw0AAAhEAAAAAAAAAAAAADqNAAABBQAAEAAAAAAAAAA/TQAACICAAAAAAAAAAAAAAs1AAAjEAAAAAAAAAAAAAAbNQAAJJUAAAAAAAAAAAAAJzUAACVhCAYAAAAAAAAAADI1AAAlYQgHAQAAAAAAAAA+NQAAJhQAAAAAAAAAAAAASTUAACcEAAAAAAAAAAAAAF41AAAoEAAAAAAAAAAAAABmNQAABBQAAIAAAAAAAAAAdTUAAAIUAAAGAAAAAAAAAII1AAApAAAAAAAAAAAAAACVNQAAKgEsAwAAAAAAAAAApDUAAAQUAAABAAAIAAAAAGFuYWx5c2lzX2xpbWl0AGFwcGxpY2F0aW9uX2lkAGF1dG9fdmFjdXVtAGF1dG9tYXRpY19pbmRleABidXN5X3RpbWVvdXQAY2FjaGVfc2l6ZQBjYWNoZV9zcGlsbABjYXNlX3NlbnNpdGl2ZV9saWtlAGNlbGxfc2l6ZV9jaGVjawBjaGVja3BvaW50X2Z1bGxmc3luYwBjb2xsYXRpb25fbGlzdABjb21waWxlX29wdGlvbnMAY291bnRfY2hhbmdlcwBkYXRhX3ZlcnNpb24AZGF0YWJhc2VfbGlzdABkZWZlcl9mb3JlaWduX2tleXMAZW1wdHlfcmVzdWx0X2NhbGxiYWNrcwBlbmNvZGluZwBmb3JlaWduX2tleV9jaGVjawBmb3JlaWduX2tleV9saXN0AGZvcmVpZ25fa2V5cwBmcmVlbGlzdF9jb3VudABmdWxsX2NvbHVtbl9uYW1lcwBmdWxsZnN5bmMAZnVuY3Rpb25fbGlzdABoYXJkX2hlYXBfbGltaXQAaWdub3JlX2NoZWNrX2NvbnN0cmFpbnRzAGluY3JlbWVudGFsX3ZhY3V1bQBpbmRleF9pbmZvAGluZGV4X2xpc3QAaW5kZXhfeGluZm8AaW50ZWdyaXR5X2NoZWNrAGpvdXJuYWxfbW9kZQBqb3VybmFsX3NpemVfbGltaXQAbGVnYWN5X2FsdGVyX3RhYmxlAGxvY2tpbmdfbW9kZQBtYXhfcGFnZV9jb3VudABtbWFwX3NpemUAbW9kdWxlX2xpc3QAb3B0aW1pemUAcGFnZV9jb3VudABwYWdlX3NpemUAcHJhZ21hX2xpc3QAcXVlcnlfb25seQBxdWlja19jaGVjawByZWFkX3VuY29tbWl0dGVkAHJlY3Vyc2l2ZV90cmlnZ2VycwByZXZlcnNlX3Vub3JkZXJlZF9zZWxlY3RzAHNjaGVtYV92ZXJzaW9uAHNlY3VyZV9kZWxldGUAc2hvcnRfY29sdW1uX25hbWVzAHNocmlua19tZW1vcnkAc29mdF9oZWFwX2xpbWl0AHN5bmNocm9ub3VzAHRhYmxlX2luZm8AdGFibGVfeGluZm8AdGVtcF9zdG9yZQB0ZW1wX3N0b3JlX2RpcmVjdG9yeQB0aHJlYWRzAHRydXN0ZWRfc2NoZW1hAHVzZXJfdmVyc2lvbgB3YWxfYXV0b2NoZWNrcG9pbnQAd2FsX2NoZWNrcG9pbnQAd3JpdGFibGVfc2NoZW1hAENSRUFURSBUQUJMRSB4ACVjIiVzIgAAAAAAAAADLQAAvTYAAM4gAADBNgAAxjYAAMk2AADTNgAA3TYAAOM2AADnNgAA7DYAAPE2AAD5NgAABDcAANIoAAAHNwAA4zYAAOc2AAANNwAAEjcAABc3AADnNgAAGzcAAOw2AAAjNwAAJzcAACw3AAAyNwAANjcAADo3AAA/NwAARDcAAL02AADnNgAASTcAAFA3AABXNwAAziAAAF83AAAGLQAAZTcAAL02AADnNgAAajcAAG83AAB0NwAAeDcAAIU3AACONwAARzIAAJU3AAAoIiVzIgAsYXJnIEhJRERFTgAsc2NoZW1hIEhJRERFTgBzZXEAZnJvbQB0bwBvbl91cGRhdGUAb25fZGVsZXRlAG1hdGNoAGNpZABuYW1lAHR5cGUAbm90bnVsbABkZmx0X3ZhbHVlAHBrAHNlcW5vAGRlc2MAY29sbABrZXkAYnVpbHRpbgBlbmMAbmFyZwBmbGFncwB0YmwAaWR4AHdkdGgAaGdodABmbGdzAHVuaXF1ZQBvcmlnaW4AcGFydGlhbAByb3dpZABma2lkAGZpbGUAYnVzeQBsb2cAY2hlY2twb2ludGVkAGRhdGFiYXNlAHN0YXR1cwB0aW1lb3V0AFBSQUdNQSAAJVEuAD0lUQB0b28gbWFueSBjb2x1bW5zIG9uICVzAHVub3BlbmVkAEFQSSBjYWxsIHdpdGggJXMgZGF0YWJhc2UgY29ubmVjdGlvbiBwb2ludGVyAG5vIHN1Y2ggY29sbGF0aW9uIHNlcXVlbmNlOiAlcwADAgF1bnJlY29nbml6ZWQgdG9rZW46ICIlLipzIgAlcyBpbiAiJXMiAAAAAAAAAAAAAAAAAAAAAAAAADsAOwA7ADsAAAA7ADsAOwAAADsAOwA7ADsAAAAAAAAAOwAAAAAAOwAAAAAAAAA7AAAAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwAAAAAAAAA7ADsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoBf0EhAYwBDAEVAFiBMkENAXJBckFyQVPAQAAAAC0AIEDyQXJBckFyQXJBckFyQXJBckFyQXJBckFyQWiA6ID/AP8AyIBAQBUAVQBVAFUAVQBVAEoAG4A2wAgAUcBjAGzAfgBHwJkAosC0AJtA4EDgQOBA4EDgQOBA4EDgQOBA4EDgQOBA4EDgQOBA4EDgQOBA5UDgQP7A/sC+wKrBckFyQXJBckFyQXJBckFyQXJBckFyQXJBckFyQXJBckFyQXJBckFyQXJBckFyQXJBckFyQXJBckFyQXJBckFyQXJBREGyQXJBckFyQXJBckFyQXJBckFyQXJBckFyQWTAAIBAgECAQIBAgFPAEEAVADBARMAEgPBAXwCfALBAXADcANwA3ADcQCOAI4A2AGWAKoHqgePAY8BjwFdAO0AVQHtAO0AMgQyBLUBXgHAAjgEwQHBAcEBwQHBAcEBwQHBAcEBwQHBAcEBwQHBAcEBwQHBAcEBwQHBAcEBMgMyA8EBQATZANkA3gLeAmQEZgSqB6oHqgfjAkgDSAPFAcYB/wG7ADMCOgKCA50CwQHBAcEBwQHBAcEBwQHBAcEBngLBAcEBwQHBAcEBwQHBAcEBwQHBAcEBwQGiAqICogLBAcEBwQHBAQoEwQHBAcEBzANTBMEBwQGpBMEBwQHBAcEBwQHBAcEBwQEEAbEA6QHZBNkE2QTZBKgE6QHpAbgDrQRxAtMEawS1ALUAPgRzBGsEPgSjBCcF1QQmBSYFJgW1ABMFEwVVBDgFJQJgBUoG/wX/BWcGZwb/BQMGKgaGBgoGdAYKBpEGkQaRBpEG/wWeBgoGCgYqBoYGdAYKBnQGCgb/BZ4GHQaBBv8FngasBv8Fngb/BZ4GrAZSBlIGUgaQBrsGuwasBlIGVwZSBpAGUgZSBjQGrAZoBmgGrAZLBmsGSwZrBksGawZLBmsG/wWVBpUGnwafBmQGaQbhBv8FXwZkBmwGbgYKBuMG5gb1BvUG/wb/Bv8GqgeqB6oHqgeqB6oHqgeqB6oHqgeqB6oHqgeqB6oHNAFDA7oD0ARvA8sC2AJdBWADMQXlBIEFKQGXBdEF2QXwBfEF9QVSBR0F0wXBBIwFlQUABmQFAgYNBUoFDAYxBpoFPgUVBxgHBgeABhIHxAYXBxMHFAejBpkGrgYZB6QGGwelBiIHMwepBqEGtwb7BhYHpgYEBwcHCAcJB78GzgYfB7kGRAdBBzEH1warBgoHMAcLBwAHIwfCBt8GOQc+B0AH0wbaBkIHGgdDB0UHPwdGBxwHJQdJB/cGRwdIByEHNQdLB9IGUAdRB1IHUwdNB1QHVgdVB1cHWQdYB+cGWgdcBwIHWwdfB+kGXQdeB2AHYQdiByAHLgckB08HNAcoB2QHZQdoB2kHbQduB2cHcwddB3QHdQd2B3cHeAd5B3sHhAd9B34HfweAB4IHgweBBxAHDwcRBx0HHgeGB48HngefBwAAAAAAAAAAAAAAAAAAvQDTAL0AvQDaAL0A3AC9AAsBDAENAb0A0gC9AOQAvQALAQwBDQETANoAvQDTANQA0wDUANMA0wDUANMA1AAfANMA0wDUANMA1AAgASwBJwAVAL0AMAErACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDhABMAvQC3ALgAuQC6AL0A+AAHAewAvwD4AMEA+ADFANAAAQEGAckAyAABAcgAAQFRACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5AL0AUAC9AGUAZgBnAGgAaQBqAGsAbABtAG4AbwDqAOsA6gDrADEBMgExAXYAMwExATIBKQEqAfcAVgD3AFgAEwADAfsA/AALAQwBDQEaAIgAiQAFAXkAZQBmAGcAaABpAGoAawBsAG0AbgBvADsAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAAwEjAWkAagBrAGwAbQBuAG8AngC9AEUAZQBmAGcAaABpAGoAawBsAG0AbgBvAGsAbABtAG4AbwDNAM4AzwATABMANgA3ADgAOQA6AB0AcgBzAHQAIQBlAGYAZwBoAGkAagBrAGwAbQBuAG8A6QArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQATAH4AfwCUAEEAGADWAMgAOwBDAGUAZgBnAGgAaQBqAGsAbABtAG4AbwAWAL0AbwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDOAM8A6gDrAGUAZgBnAGgAaQBqAGsAbABtAG4AbwD3AEwAawByADsACwEMAQ0BvQByAHMAdACiAKMAWQATAAcBXAC9ABcANgA3ADgAOQC9AM4AzwAWAGUAZgBnAGgAaQBqAGsAbABtAG4AbwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQATAL0AFQE7ABcAcgBzAHQALgAvADAAMQA9AGUAZgBnAGgAaQBqAGsAbABtAG4AbwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQB9AH4AfwAVAWUAZgBnAGgAaQBqAGsAbABtAG4AbwA7AL0AvQAUAXIAcwB0AHUASQA7AHgAeQB6AEgA1gATAFEAAwETABcAggBRAEgAGADTANQA3QB3AGUAZgBnAGgAaQBqAGsAbABtAG4AbwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQATAHIAcwB0ABcA0AB9APgAvQC9AHIAcwB0AAsBDAENAb0AiACJAL0ABgEWAIgAiQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQC9AF8A0wDUAGUAZgBnAGgAaQBqAGsAbABtAG4AbwA7AL0AbwC9ADsATAAmAScBdQB2AHcAeAB5AHoAewATAFcAvQBZABcAgQBcABcB4wD4ABYAvQAcAWUAZgBnAGgAaQBqAGsAbABtAG4AbwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQATAHIAcwB0ABcAcgBzAHQAOwB1ACsBLAF4AHkAegAwAb0AvQCPAL0AbgBvAIIAFgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDTANQA0wDUAGUAZgBnAGgAaQBqAGsAbABtAG4AbwDiAL0A4gC9ACoBhAA7AIYAhwByAHMAdAC9ADsAHQETAAcACAAJABcAzQDOAM8A0wDUANMA1ADdAGUAZgBnAGgAaQBqAGsAbABtAG4AbwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQATALUAtgC3ALgAuQC6AHIAcwB0AL0AvwCFAMEAcgBzAHQAigArASwByAAWAMkAMAErACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQAjAL0AjQC9AGUAZgBnAGgAaQBqAGsAbABtAG4AbwDqAOsAFgAXADsAuAAaALoA0wDUANMA1AC/APcAwQATAEIAaQBqAEkAvQDIAL0A4gBKAOIAFgAFAWUAZgBnAGgAaQBqAGsAbABtAG4AbwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQC9AOoA6wAjARMAcgBzAHQAlgA7AJgAvQDpAOwA9wA7AL0AfQB+AH8AOwAsAdMA1ACAADABZAATAAUBnAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5AGUAZgBnAGgAaQBqAGsAbABtAG4AbwAuAOkAvQC9ACMB+ABjAL0AfQB+AH8AcwAaAMgAIQHmAOcAcwDIABAAvQByAHMAvQDTANQAdwDdAL0A0wDUAAIBZQBmAGcAaABpAGoAawBsAG0AbgBvAL0AnADTANQA6gDrAL0A0wDUAOoA6wAWAMkAvQCWAJcAmAD3APgATAAQABMA9wD4AHEAvQAYAAEB0wDUAL0AGgBZAAYB3wBcAOEATQC9AE8AgQATADUA4gD4ACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5AOwAEwAPAb0AYwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQBzAE0AOwBPAHcAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAAwEWABcAZQBmAGcAaABpAGoAawBsAG0AbgBvADsAlgCXAJgAngAWAPQAGAD2AGUAZgBnAGgAaQBqAGsAbABtAG4AbwAdAb0AvQByAHMAdADIAIgAiQBlAGYAZwBoAGkAagBrAGwAbQBuAG8A5gDnADsA0wDUAB0BaQBqAL0AEwCNAOoA6wDvAHEAcgBzAHQA4gB2AOoA6wC9APkA9wBkAL0AfgAXAOwAawAaAL0A9wAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkA0wDUADsAlgDpAJgA0wDUAIUADABzAL0AvQCKABMAFAAsARYA6QBMADAB4gALANAAGwAWABcAyAATABoAVwAkAFkA0wDUAFwALAH4AL0AKgAwAb0A+gBlAGYAZwBoAGkAagBrAGwAbQBuAG8AOwDIAOkAcgBzAHQAPwDqAOsA6wATABQARwAWACwBvQBJAMgAMAF0APcA9wBRAL0AyADjABoAJADqAOsAywDMAI8AyAAaAOoA6wDCAMgAMABjAPcAQgC9AI0AHAFpAGoA9wBkADsA6gDrAHAAAwFyAHMAdADqAOsAdwBVAEcACgH3ANMA1ADqAOsAcgBeAPcA6gDrAAwACgFVAIgAiQC9APcAWgAaAH4AfwD3AL0AGgAWABsAYwCWAJcAmACZAJoAaQBqAL0ALgEvAdMA1ABwACoAcgBzAHQA0wDUAHcALgEvARMAFAC9ABYAEgG9AA8AkAAWAb0AFgAXAD8AvQC9AMsAzAAkAIgAiQCbABgAnQCPANMA1AC9AIwAlgCXAJgAmQCaAAAAAQACANMA1AAFAC4AOwChAJMACgALAAwADQAOANMA1AARADwARwC9AAIBvQA7AL0AaQBqAL0AvQC9AB4AdAAgAFUAfAC9APsA/ABaAL0AKAACAdMA1ADTANQAvQBjABoA0wDUANMA1ABpAGoAZACNANMA1AB3AHAAvQByAHMAdAAXAL0AdwAaAIEARgC9AB8AcQATABQAGAAWAE4AcwAnAFEAvQDTANQAGgC9ABYA0wDUAL0AJAC9ANMA1AC9AL0AYQCWAJcAmACZAJoAfwDTANQAvQC9ANMA1AC9AL0A0wDUADsAvQC9ANMA1AAXAL0AFgAaABgAvQCVAEcAvQDTANQAvQCDANMA1AC9AL0AiACJANMA1ABVAL0A0wDUADsAWgDTANQAJAElAXYAdwDTANQAYwAXANMA1AAaAJ8AaQBqAL0A0wDUAI8AlgBwAJgAcgBzAHQAAQACAHcAFwAFABcAGgC9ABoACgALAAwADQAOAFMAVAARAP0AvQCLAL0AEwAUAL0AFgC9AL0AjABzAB4AOwAgAIsAlgCXAJgAmQCaACQAKADTANQA0wDUADsA0wDUANMA1AAHAAgAEwAUAL0AFgCWAL0AmADnABkBvQA7AL0AFwC9AL0AGgC9ACQARgC9ABcA7QBHABoA0wDUAE4A0wDUAFEAvQDTANQA0wDUAHMA0wDUANMA1AA7ANMA1AAXABcAYQAaABoAFwBzAGMAGgBHAL0AvQC9AGkAagBrABcAvQAXABoAcAAaAHIAcwB0AL0ANQF3ABcAEwAUABoAFgC9ANMA1ACDAGMAvQDTANQAiACJAGkAagC9ACQA0wDUAL0AcAC9AHIAcwB0ANMA1AB3AJYAlwCYAJkAmgC9AJ8AFwD6AL0AGgA7AL0AvQC9AL0AvQAYAb0A+gC9AL0A7gBHAL0AvQD6ANMA1AC7AJYAlwCYAJkAmgDTANQA+gAiAfAA0wDUANMA1AD+AB4B0QD+APEA8AD+AGMAHgHXANwA1gD0AGkAagDWANYA9AARAeAAcADAAHIAcwB0ADwAIgF3AAUAiwDEAMQAJgAKAAsADAANAA4A7gDwABEAxACUAB8BHwEUAXEAFgCTAPEAKwDlAPEAHgASACAA6ADoAJYAlwCYAJkAmgAoAOgA6ADEABIAwwAJAQkBCAHxAAgBxACbAOUA5QDxAPEA8QDDAD4AxADDABYAcQDYAMQA3gDDAMMAGgFGAMQAGwHVANgA1QBAABYATgB8ANsAUQCiAG8A2wCOAAAB1QBxAP8A1QAAAdgALwHXANUA1QBhAP8A1QDYABMBEwHeANgAAAH/AMQAWwBSAAAB/wA0ATQBkgAWAI8AxACbAAQBGQCRAJAAxwAaAMYADQC+AL4ABgAlAYMAvAC8APUA9ACIAIkA9QDzAPIA8QC8AMoA0ADZANkABAHQAAQAygADABYAygDQANAAoAAPANEAnwAOAdEAYgAQABAB0AAXABcAiQCUAIAAFACMABgAEACOAAEAjACVAIAAPQA1AJQAJQA1ADUANQCAAHIAIgAoASgBiwABAAUAFgBxAJ4AGgBLACkAiwBEAEQAcQAYABQAEwCBAHsAFwBgABYAFgAlABYAFgBDABYAQwA7ABgAFwAcAEMAkwAWABoAFwAXABcAFwAWABgAFwAWABgAFwCLABcAcgAWAI0AGgBYAEsAVgAsABcAIgAWAEsAIgAYACIAIgAiAF0AIgAaABoAIgAXABcAFwAXABcACwAXABYAGgAWABYAhQAXABcAFgAWAIsAGgCLABcADwABAAEANgE2ATYBNgE2ATYBNgGLAIsANgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgEAACICxgQiAsMB7AQiAtcEIgJyAG8A0wAiAgEGIgLsBAsCcgBvANMAiAHQBFgBKgAqACoAKgDJBCoAKgBHAEcAqQPIBEcARwBHAEcAtgXVBaoDNAPFAQYAeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgABwaIAU4F7QUoAgIAqQTCABACtAGPACMBEAKIABACcwEFAfgBEAGBAfkEDwL3Ae0BpAB5AHoAcACNBI0E7gPxA+cD5wN3AHcAeAB4AHgAeABOBboB6gV2AHYAdgB2AHUAdQB0AHQAdABzAKgBCgEKAQoBCgHaBWYB3AWzAWUB2gUFAgwCzQUfAloEHwJaBIgBlQHxANAAcgBvANMAYgAiARkC3QAFBHYAdgB2AHYAdQB1AHQAdAB0AHMAqAF2BHkAegBwAI0EjQTuA/ED5wPnA3cAdwB4AHgAeAB4AJYBrAF1AHUAdAB0AHQAcwCoAYoF1AF7AHYAdgB2AHYAdQB1AHQAdAB0AHMAqAF0AHQAdABzAKgBHAIcAhwCiAH5AXgAeAB4AHgAcQAbBHYEdwR4BBsEdgB2AHYAdgB1AHUAdAB0AHQAcwCoAbUFeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAiAG8ATwBUwDPAVEAZwF+AXYEUAB2AHYAdgB2AHUAdQB0AHQAdABzAKgBswCyAagBeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAsgGxAQoBCgF2AHYAdgB2AHUAdQB0AHQAdABzAKgBHwJVBIcD+gF2BHIAbwDTAJcFdgR3BHgEzgDrAVUEiAHBAVUEIQJKAXgAeAB4AHgAKgGXBZkFEQB2AHYAdgB2AHUAdQB0AHQAdABzAKgBeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAiAFOBbIBdgTiAXYEdwR4BOQD5APvA/IDvQF2AHYAdgB2AHUAdQB0AHQAdABzAKgBeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAHgQeBNEBlwV2AHYAdgB2AHUAdQB0AHQAdABzAKgBdgTDASICkgV2BHcEeATpAMYDdgThAd4B3QGrAGgBiAGkAJcBngFKA9wBpAC5AE4BRwBHANsE6AN2AHYAdgB2AHUAdQB0AHQAdABzAKgBeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAiAF2BHcEeARDAwwAOgH9AaMAZAF2BHcEeARyAG8A0wD8ASIBGQIiAhQBtAAiARkCeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAWQHkAUcARwB2AHYAdgB2AHUAdQB0AHQAdABzAKgBdgTRAJsBCwJ2BFUEIwZ6AfwADQFWAecBUQHmAe4AiAEBAmwBVQRnBE0BVQS/AJkBHgEgAMkBuwF2AHYAdgB2AHUAdQB0AHQAdABzAKgBeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAiAF2BHcEeATbA3YEdwR4BHYE6QDsAdQF4QHeAd0BBgCjACICAAIiAnMAqAHcAQUAeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgADQANAA0ADQB2AHYAdgB2AHUAdQB0AHQAdABzAKgBkwH2AZgBIgLOBSACdgR8A3wDdgR3BHgEwQV2BBMBiAEoAykDKgPLA6YBpgGmARAAEAA3ADcA2gR2AHYAdgB2AHUAdQB0AHQAdABzAKgBeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAiAGlBAEAAQAoAgIAqQR2BHcEeATCACMBggOIAHYEdwR4BIEDCQLUBfkEAwB8AQYAeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAWgMiApwDIgJ2AHYAdgB2AHUAdQB0AHQAdABzAKgBCgEKAUQEIQZ2BCcCIQapBA0ADQANAA0AIwEfAogAiAHlAaUBpAHGA1gB+QTUAZoBWwMXAYwA3QB2AHYAdgB2AHUAdQB0AHQAdABzAKgBeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAIgIKAQoBrAGIAXYEdwR4BJQEPgOUBNQBrwGRAB8CegSRAToBtwEuAUYD0gVHAEcAnAEGAEIE2QHdAGQAcACNBI0E7gPxA+cD5wN3AHcAeAB4AHgAeAB2AHYAdgB2AHUAdQB0AHQAdABzAKgB7QCRBSICwwGsAR8B2gMiAuwA6wDqAD4DYQARAq0B8QTxBHoE7gEzAa4BRgPRAyICRwBHANAD2QQiAjMAMwAsAXYAdgB2AHYAdQB1AHQAdAB0AHMAqAHCAGcARgBGAAoBCgEiAkcARwAKAQoBHgCHAVgB0APQA9IDHwIQAlUESAGIAR8C7wGNAb4FwwASAg0ADQBOBfAAVQQVARgBVQQYATAByQEyAU0BiAEfALwAowF5AHoAcACNBI0E7gPxA+cD5wN3AHcAeAB4AHgAeACOAIgBbQHJAdoDeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgA0QNDAXYERgHQA3kAbgBwAI0EjQTuA/ED5wPnA3cAdwB4AHgAeAB4ANABeQGhBHYAdgB2AHYAdQB1AHQAdAB0AHMAqAF2BNAD0APSAzEBCQBuAfQAagF2AHYAdgB2AHUAdQB0AHQAdABzAKgBOQEiAlgBdgR3BHgEKwEiARkCdgB2AHYAdgB1AHUAdAB0AHQAcwCoAe8E7wSLBA0ADQAWAaUBpAHUAYgBmwMEAQQBIQGRBHYEdwR4BL0AkwQKAQoB1AGGAR8CogQiApIEBwGQAOkBmgMiAh8CegBwAI0EjQTuA/ED5wPnA3cAdwB4AHgAeAB4AEcARwB2BJQE+ASUBA0ADQCCAy4EiwQiAtQBgQNrABoC0wUEAPQEVQQGAA0CGQQMAC8ERAQiBjgBxwEiBggCHQJVBDgAOABVBNEFpwFOBTAEBgBZAR0BdgB2AHYAdgB1AHUAdAB0AHQAcwCoAakB9wRBAXYEdwR4BG4DCgEKAf0EawAaAhcCBADQBSUBbwO7BAYA0gAfAh8CpAAmAfABoAHMAB0CCwELAb4EjgH/AfMBzAAKAQoBjAETAggA2gMfAgcCIgKaA8oBaQBpAB8CQgSpAQoBCgFqAKEBqQEkAiMCCgEKAdADBgIXAl0FHwIPAA8ACgEKAcgBYAQfAgoBCgEuBFwFAwIiARkCIgIfAgICYQC8ATwBHwIiApoDfQAvBNoD0APQA9ID0wMbAGkAaQCRAVcB5wUsACwAagAwBKkBJAIjAjkAOQDQA1cB5wVrABoCIgIEAM4BkQHWAGAEywEpAXkBQwQWAh0FIgIbAo4BHQIiARkCaAD0AGYADgI6ADoAIgLHANAD0APSA9MDGwDsBWsEqwE7ADsADgHtAKkBigBfAHcBdwF2Af8AdAE8ADwAMQOcBBcCIgIRASICiwQcBYUBhAEiArYBIgLXANIAKAEDAlEDIgIJAdAABALEBScBEgE9AD0APgA+ADQB2gNtAC0ALQAuAC4AaQBpAKIEmgMvAC8AVQFqACICqQEkAiMCBgYiAtADYwNUAdkAIgKpA40BawAaAtoABACcAIsEqgOeACICMQAxAIoEIgIMATIAMgAiAh0CqgU/AD8AIgKpBdgA0APQA9ID0wMbAL4BQABAACICzAFBAEEAIgI+AQ4ADgCpARkFIgJCAEIAPwQiAo0AewEmACICwwMXAkIBfwB/ACICiQFDAEMAIgJFASIBGQI0ADQAAwIiAkQARABNAwICRQBFAI8BpQBZA1gDNQA1ANoDNwGXAJcAYQCwAWkAaQBHAZgAmAAOAhgEagAYBKkBJAIjAmsEqwHQAwgEDgHIA+8ASQHzAHcBdwF2Af8AdAGsA60DMQMQBSIC3AAiAmsAGgIiAgQAIgLoBMcATQPXAAwEKAH6BdAD0APSA9MDGwAdAicBTABMADYANgDUA0gASACAAIAAYANhA2sAGgIiAgQAFwQiAhcEFQLVASICqQEiAsIB2AQiAvMAIgIdAtkAIgLEAcUAFwLzAEkASQCcAIEAgQCeAFABggCCAH4AfgAMBJYAlgCVAJUAqQGGAIYAPQHaAdgAYQDvAEsB1APaA2EAFwJaAVsBIgJpAGkAhgOjAyICfwPzAGoAbQCpASQCIwIiAuEF0AM8A2MAGgKLAAQAIgKFAIUAiQHaAyUFgwCDACIBGQJpAGkATQUdAoQAhAAMBWoAFwWpASQCIwJLAEsA0APQA9AD0gPTAxsAIgKwAYADCQUUAm0AqQFTBSICxQS9BLIEAgEiAl0BIgKxBAsAFwKzBPQFXwFNAE0AeAHQA9AD0gPTAxsASgBKAGEB1QAtASsAKwAwADAAtQE2AckALwFGBTsBYwHaA8YB3wHXBFMBwABpAGkAjgWNBcEAGALNAGoA9wWpASQCIwKcBKcA0AMOAfcAvQW7BZkEdwF3AXYB/wB0AcgAcQExA5ABUwBPAFIAkwXAAbEAXwA+BaEAqQA7BdcAuAEoAawArQDQA9AD0gPTAxsAJwGuAK8AuQHYAd8AQwV/ASMAfQEkAM0BWABJBbUAvwGAAYgF4wDTAQMB5QC6AOgB1gFEAeIE5gDnAEAB2QC0BJ4F6wSCAeoEnQFaAJwAUQMFBp4AzgCfAQQG+wEUBekEXgBcAc0EFQWDAeYFzARSAcsE2ABeAQMG8gEbARwB4QT1ARMFYAH1APYAogESBWIB2AXXBXwACgAOAmsBZQAsBf0AYAD+AboEIgAlAnEE/gAAAQEBpgCJASYCrwQCBWkBIgEZAgEFxABvAXABqgSZAK4FiQAZASsFrwUkA5oAqgHGAJsArQWsBSQB1ADKALABegXLAA8BhwAgAU4AFgQUBMADqACdAHEDqgDbADUB3gAkBLAAxAOfAJIBVACyAJQBVQBWAFcAoAAnBOAAigGLAeEAIwSSABIA4gA/AfMAlgTSAeQAHAS2ALcAJQAzA9cBVAHoAEwB4wG4AFkAogATABQA2wFbAOABTwNPAZMAXAMaAVwA6gFdAGUElAD0A0cEJwDxAUgEKAD0AQYBzwAIAaIDuwCdA20AVwRbBFkEBwBLBPIAIQBfBBUACgIWABcAGABeBBkAvgBhABoAAwT1A/MD9wMtBPgDLAT5APgAHAApAHsD1QM9A2wAHQD6AB4C+wByAXUBbQRsBKYEpgSmBKYEpgSmBKYE/AX7BQAAAAAAAAAAAAAAACcGJwYnBoMFpAQRBaQEpASkBIMFgwWDBaQELwUvBbgFwwSkBKQEpASkBKQEpASkBKQEpASkBIIFpASkBKQEpATWBdYFpASkBKQEpASkBKQEpASkBKQEOAWkBKQEpASkBKQEpASEBYUFpASkBKQEtwW5BZQFQgVBBUAFPwWmBSIFPQU2BToFfgV/BX0FgQWFBYQFpAQ5BWEFbwVgBaQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBGkFbgV0BW0FagVjBWIFZAVlBaQEuQTtBKQEpASkBKQEygXJBaQEpATDBFsFWgVmBWcFcQVwBb8F+QX4BZUFpASkBKQEpASkBKQE1gWkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpATWBdYFpATDBNYF1gW/BL8EKQWkBMUFEQUIBaQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpAS8BboFpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpAQNBaQEpASkBKQEpASkBKQEpASkBKQEpATzBaQEoQX7BA0FDQUNBQ0FDwX8BPoEBwXEBKsEHwYOBSQFJAUcBjwFDgUcBtQECQbPBC8FLwUvBSQFKQUpBYAFDgUHBaQEHwYWBRYFHgYeBhYFlQVFBUsFPAXwBDwF9gT2BPYE9gQWBbYEPAU8BUUFSwXwBDwF8AQ8BRYFtgSlBRkGFgW2BIsFFgW2BBYFtgSLBe4E7gTuBOMEpASkBIsF7gTUBO4E4wTuBO4E6AWLBY8FjwWLBSgFIwUoBSMFKAUjBSgFIwUWBeAF4AUyBTIFNwUpBYYFFgWkBDcFNQUzBTwFvATmBPYF9gXyBfIF8gUkBiQGxQUCBsMEwwTDBMMEAgbWBNYExATEBMMEAgakBKQEpASkBKQEpAT9BaQElgUaBaQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpARQBaQEpwTCBaQEpATABaQEpASkBKQEpASkBBsFpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEGwakBKQEpASkBKQEpASkBaMFpASkBBgFpASkBKQEpASkBKQEpASkBKQEpASkBKQEpATSBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpAQ0BaQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpATlBSoFpASkBBIGpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBA0G/gRSBaQEUQVVBaQEsASkBKQEAAAAAAAAAAAAAAAAAAD//f/9AP////7+/v37+v8A/f8A+/4A/v4A/Pr+AAD+/fz8/P39+/78/P/+/fwA/wD+/v39/f7+///+/f4A/v4A//75+/v2AAD9AP7///z+APf8//38//3//v/39vz7//8AAPv9+/4AAP7+APn3+fkA/v/9//37/f/+/fz+AAD9/vwAAP37/f//AP7+AAD9AP4A/vz8+gD+9/v5/fv5+QD1+Pz+/wD9/f/9///9+//////9+vv8+vv/+/39/f39/f39/v37/v39/P7+/v/++//++/37+/z7+/z+AP8AAP3/AP30/wAA/fv9AP78/v3+AP37+vv6/v779f/+AP///QD+/f79/f73+Pr9/Pr////8+v0A/v/9//36+f/4//z4AP/9//79+vj//fv7+vz7//4A/fr///7//v7+AP7+/v/+/v///P77//7///79AP/+/wD+/P7//////////gD+/P7+/f8A//////7/////////////AP3/AP8AAP///f4A/P4AdW5rbm93biB0YWJsZSBvcHRpb246ICUuKnMACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHNldCBsaXN0AG5lYXIgIiVUIjogc3ludGF4IGVycm9yADAAcXVhbGlmaWVkIHRhYmxlIG5hbWVzIGFyZSBub3QgYWxsb3dlZCBvbiBJTlNFUlQsIFVQREFURSwgYW5kIERFTEVURSBzdGF0ZW1lbnRzIHdpdGhpbiB0cmlnZ2VycwB0aGUgSU5ERVhFRCBCWSBjbGF1c2UgaXMgbm90IGFsbG93ZWQgb24gVVBEQVRFIG9yIERFTEVURSBzdGF0ZW1lbnRzIHdpdGhpbiB0cmlnZ2VycwB0aGUgTk9UIElOREVYRUQgY2xhdXNlIGlzIG5vdCBhbGxvd2VkIG9uIFVQREFURSBvciBERUxFVEUgc3RhdGVtZW50cyB3aXRoaW4gdHJpZ2dlcnMAAAAAAAAAAAAAAAAAALkAuQC4ALoAuwC7ALsAuwC6ALoAugC6ALoAvwDBAMMAwwDCAMIAwADAAMcAxwDJAMsAywDLAMwA0ADRANIA0gDSANIA0gDSANIA0gDSANIA0gDSANIA2wDbANcA1wDZANkA3ADcANwA3ADdAN0A3QDdAN0A2gDaAN4A3gDeAMYA4ADhAOEA4QDhAOEA5ADVANUA5QDlAOYA5gC6AOgA6AC6ALoAugDIAMgAyADqAO0A7QDtAOsA6wD3APcA7gDuAO4A+QDvAO8A7wD6APoA8ADwAPwA/AD7APsA+wD7AMQAxADpAOkAAgECAQIBAgH9AP0A/QD9AP8A/wD+AP4A/gAAAQAB9AD0AOIA4gDWANYA1gAEAQQBBAHyAPIA8wDzAPUA9QD1APUAugDxAPEAugAGAQYBBgEGAboAugAJAQkBCQEJAQcBBwEIAQgBAwEDAdQA1ADUANQA1ADTANMA0wDUANQA1ADUANQA1ADUANMA1ADUANQA1ADUANQA1ADUANQACwHUANQA1ADUANQA1ADUANQA1AAMAQwB1AANAQ0B1ADUANQA1ADUANQAEAEQAREBEQEPAQ8BAQH4APgADgEOAboAEgESAdgA2ADjAOMAEwETAboAugC6ABQBFAG6ALoAugC6ALoAzgDPALoAFgEYARgBGAEZARkBGQEbARsBFwEXAR0BHgEeARwBHAEcARwB1ADUAOcA5wDnALoAugC6ACABIAG6ALoAugC6ALoAugAhAboAugC6ACMBJQEmASYBJwEFAQUB7ADsACkBKQEqASsBKwErASsBKwErASwBLAEsATABMgEyATMBMwExATEBNAE0ATUBNQE1AfYACgEKAQoBLwEvAS4BtQC2ALYAtwC3ALcAvAC8ALwAvgC+ALoAxQDFAL0AvQC9AMsAzADNAM0AygDKANIA0gDSAMYA3wDfAOAA5ADmAOoA6wD5APoA1AALAQEBFQEVARUBFQEVAc4AGgEaAR0BHgEfAR8BIgEiASQBJAElASgBKAEoAQUBcGFyc2VyIHN0YWNrIG92ZXJmbG93AAAAAAAAAAAASAAAACUACgBZAAAANAAJAIAAAABZAAEAUgAAAE0AAAALAAsABQACAEUAAAB0AAAAQgBDAEQARQBnZW5lcmF0ZWQgY29sdW1uIGxvb3Agb24gIiVzIgBtaXN1c2Ugb2YgYWdncmVnYXRlOiAlcygpAHVua25vd24gZnVuY3Rpb246ICVzKCkAJWQgY29sdW1ucyBhc3NpZ25lZCAlZCB2YWx1ZXMAcm93IHZhbHVlIG1pc3VzZWQAUkFJU0UoKSBtYXkgb25seSBiZSB1c2VkIHdpdGhpbiBhIHRyaWdnZXItcHJvZ3JhbQAlcyVzADB4AGhleCBsaXRlcmFsIHRvbyBiaWc6ICVzJXMAdW5zYWZlIHVzZSBvZiAlcygpAHN1Yi1zZWxlY3QgcmV0dXJucyAlZCBjb2x1bW5zIC0gZXhwZWN0ZWQgJWQAUkVVU0UgU1VCUVVFUlkgJWQAJXNTQ0FMQVIgU1VCUVVFUlkgJWQAQ09SUkVMQVRFRCAAVVNJTkcgUk9XSUQgU0VBUkNIIE9OIFRBQkxFICVzIEZPUiBJTi1PUEVSQVRPUgBVU0lORyBJTkRFWCAlcyBGT1IgSU4tT1BFUkFUT1IAUkVVU0UgTElTVCBTVUJRVUVSWSAlZAAlc0xJU1QgU1VCUVVFUlkgJWQAbm90IGF1dGhvcml6ZWQAYXV0aG9yaXplciBtYWxmdW5jdGlvbgBST0xMQkFDSwBDT01NSVQAAHYmAADoagAAy2oAAFJFTEVBU0UAdGVtcG9yYXJ5IHRhYmxlIG5hbWUgbXVzdCBiZSB1bnF1YWxpZmllZAB2aWV3AAIECAZ0YWJsZSAlVCBhbHJlYWR5IGV4aXN0cwB0aGVyZSBpcyBhbHJlYWR5IGFuIGluZGV4IG5hbWVkICVzAHNxbGl0ZV9zZXF1ZW5jZQAGAAAAAABjb3JydXB0IGRhdGFiYXNlAHVua25vd24gZGF0YWJhc2UgJVQAc3FsaXRlXwBvYmplY3QgbmFtZSByZXNlcnZlZCBmb3IgaW50ZXJuYWwgdXNlOiAlcwBBVVRPSU5DUkVNRU5UIG5vdCBhbGxvd2VkIG9uIFdJVEhPVVQgUk9XSUQgdGFibGVzAFBSSU1BUlkgS0VZIG1pc3Npbmcgb24gdGFibGUgJXMAbXVzdCBoYXZlIGF0IGxlYXN0IG9uZSBub24tZ2VuZXJhdGVkIGNvbHVtbgBUQUJMRQBWSUVXAENSRUFURSAlcyAlLipzAFVQREFURSAlUS5zcWxpdGVfbWFzdGVyIFNFVCB0eXBlPSclcycsIG5hbWU9JVEsIHRibF9uYW1lPSVRLCByb290cGFnZT0jJWQsIHNxbD0lUSBXSEVSRSByb3dpZD0jJWQAQ1JFQVRFIFRBQkxFICVRLnNxbGl0ZV9zZXF1ZW5jZShuYW1lLHNlcSkAdGJsX25hbWU9JyVxJyBBTkQgdHlwZSE9J3RyaWdnZXInAHRoZSAiLiIgb3BlcmF0b3IAc2Vjb25kIGFyZ3VtZW50IHRvIGxpa2VsaWhvb2QoKSBtdXN0IGJlIGEgY29uc3RhbnQgYmV0d2VlbiAwLjAgYW5kIDEuMABub3QgYXV0aG9yaXplZCB0byB1c2UgZnVuY3Rpb246ICVzAG5vbi1kZXRlcm1pbmlzdGljIGZ1bmN0aW9ucwAlLipzKCkgbWF5IG5vdCBiZSB1c2VkIGFzIGEgd2luZG93IGZ1bmN0aW9uAHdpbmRvdwBhZ2dyZWdhdGUAbWlzdXNlIG9mICVzIGZ1bmN0aW9uICUuKnMoKQBubyBzdWNoIGZ1bmN0aW9uOiAlLipzAHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gZnVuY3Rpb24gJS4qcygpAEZJTFRFUiBtYXkgbm90IGJlIHVzZWQgd2l0aCBub24tYWdncmVnYXRlICUuKnMoKQBzdWJxdWVyaWVzAHBhcmFtZXRlcnMAcGFydGlhbCBpbmRleCBXSEVSRSBjbGF1c2VzAGluZGV4IGV4cHJlc3Npb25zAENIRUNLIGNvbnN0cmFpbnRzAGdlbmVyYXRlZCBjb2x1bW5zACVzIHByb2hpYml0ZWQgaW4gJXMAbmV3AG9sZABleGNsdWRlZABtaXN1c2Ugb2YgYWxpYXNlZCBhZ2dyZWdhdGUgJXMAbWlzdXNlIG9mIGFsaWFzZWQgd2luZG93IGZ1bmN0aW9uICVzAGRvdWJsZS1xdW90ZWQgc3RyaW5nIGxpdGVyYWw6ICIldyIAbm8gc3VjaCBjb2x1bW4AYW1iaWd1b3VzIGNvbHVtbiBuYW1lACVzOiAlcy4lcy4lcwBST1dJRAAlcy4lcwAlcy4legBhY2Nlc3MgdG8gJXogaXMgcHJvaGliaXRlZABSQU5HRSB3aXRoIG9mZnNldCBQUkVDRURJTkcvRk9MTE9XSU5HIHJlcXVpcmVzIG9uZSBPUkRFUiBCWSBleHByZXNzaW9uAEZJTFRFUiBjbGF1c2UgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIGFnZ3JlZ2F0ZSB3aW5kb3cgZnVuY3Rpb25zAHJvd19udW1iZXIAZGVuc2VfcmFuawByYW5rAHBlcmNlbnRfcmFuawBjdW1lX2Rpc3QAbnRpbGUAbGVhZABsYWcAT3AAAEwAAABaAAAAVQAAAFpwAABZAAAAWgAAAFUAAABlcAAAWQAAAFoAAABVAAAAanAAAFwAAABVAAAAWgAAAHdwAABcAAAAVgAAAFoAAACBcAAATAAAAFUAAABaAAAAh3AAAEwAAABaAAAAWgAAAIxwAABMAAAAWgAAAFUAAABubyBzdWNoIHdpbmRvdzogJXMAYSBHUk9VUCBCWSBjbGF1c2UgaXMgcmVxdWlyZWQgYmVmb3JlIEhBVklORwBPUkRFUgBHUk9VUABhZ2dyZWdhdGUgZnVuY3Rpb25zIGFyZSBub3QgYWxsb3dlZCBpbiB0aGUgR1JPVVAgQlkgY2xhdXNlAHRvbyBtYW55IHJlZmVyZW5jZXMgdG8gIiVzIjogbWF4IDY1NTM1AGFjY2VzcyB0byB2aWV3ICIlcyIgcHJvaGliaXRlZAB1bnNhZmUgdXNlIG9mIHZpcnR1YWwgdGFibGUgIiVzIgAqACVzLiVzLiVzAG5vIHN1Y2ggdGFibGU6ICVzAG5vIHRhYmxlcyBzcGVjaWZpZWQAdG9vIG1hbnkgY29sdW1ucyBpbiByZXN1bHQgc2V0AG11bHRpcGxlIHJlZmVyZW5jZXMgdG8gcmVjdXJzaXZlIHRhYmxlOiAlcwBjaXJjdWxhciByZWZlcmVuY2U6ICVzAHRhYmxlICVzIGhhcyAlZCB2YWx1ZXMgZm9yICVkIGNvbHVtbnMAbXVsdGlwbGUgcmVjdXJzaXZlIHJlZmVyZW5jZXM6ICVzAHJlY3Vyc2l2ZSByZWZlcmVuY2UgaW4gYSBzdWJxdWVyeTogJXMAY29sdW1uJWQAJS4qejoldQB0cnVlAGZhbHNlAHN1YnF1ZXJ5XyV1ACclcycgaXMgbm90IGEgZnVuY3Rpb24AdmlldyAlcyBpcyBjaXJjdWxhcmx5IGRlZmluZWQAbm8gc3VjaCBpbmRleDogJXMAYSBOQVRVUkFMIGpvaW4gbWF5IG5vdCBoYXZlIGFuIE9OIG9yIFVTSU5HIGNsYXVzZQBjYW5ub3QgaGF2ZSBib3RoIE9OIGFuZCBVU0lORyBjbGF1c2VzIGluIHRoZSBzYW1lIGpvaW4AY2Fubm90IGpvaW4gdXNpbmcgY29sdW1uICVzIC0gY29sdW1uIG5vdCBwcmVzZW50IGluIGJvdGggdGFibGVzACVyICVzIEJZIHRlcm0gb3V0IG9mIHJhbmdlIC0gc2hvdWxkIGJlIGJldHdlZW4gMSBhbmQgJWQAdG9vIG1hbnkgdGVybXMgaW4gJXMgQlkgY2xhdXNlAGFsbCBWQUxVRVMgbXVzdCBoYXZlIHRoZSBzYW1lIG51bWJlciBvZiB0ZXJtcwBTRUxFQ1RzIHRvIHRoZSBsZWZ0IGFuZCByaWdodCBvZiAlcyBkbyBub3QgaGF2ZSB0aGUgc2FtZSBudW1iZXIgb2YgcmVzdWx0IGNvbHVtbnMAVU5JT04gQUxMAElOVEVSU0VDVABFWENFUFQAVU5JT04AdG9vIG1hbnkgdGVybXMgaW4gT1JERVIgQlkgY2xhdXNlACVyIE9SREVSIEJZIHRlcm0gZG9lcyBub3QgbWF0Y2ggYW55IGNvbHVtbiBpbiB0aGUgcmVzdWx0IHNldABFeHByZXNzaW9uIHRyZWUgaXMgdG9vIGxhcmdlIChtYXhpbXVtIGRlcHRoICVkKQAsAAogIAAsCiAgAAopAENSRUFURSBUQUJMRSAAAAAAAAAAAABIBQAA1HUAANp1AADfdQAA5HUAACBURVhUACBOVU0AIElOVAAgUkVBTABkdXBsaWNhdGUgY29sdW1uIG5hbWU6ICVzAGRlZmF1bHQgdmFsdWUgb2YgY29sdW1uIFslc10gaXMgbm90IGNvbnN0YW50AGNhbm5vdCB1c2UgREVGQVVMVCBvbiBhIGdlbmVyYXRlZCBjb2x1bW4AdGFibGUgIiVzIiBoYXMgbW9yZSB0aGFuIG9uZSBwcmltYXJ5IGtleQBBVVRPSU5DUkVNRU5UIGlzIG9ubHkgYWxsb3dlZCBvbiBhbiBJTlRFR0VSIFBSSU1BUlkgS0VZAGdlbmVyYXRlZCBjb2x1bW5zIGNhbm5vdCBiZSBwYXJ0IG9mIHRoZSBQUklNQVJZIEtFWQB1bnN1cHBvcnRlZCB1c2Ugb2YgTlVMTFMgJXMARklSU1QATEFTVABpbmRleABjYW5ub3QgY3JlYXRlIGEgVEVNUCBpbmRleCBvbiBub24tVEVNUCB0YWJsZSAiJXMiAHRhYmxlICVzIG1heSBub3QgYmUgaW5kZXhlZAB2aWV3cyBtYXkgbm90IGJlIGluZGV4ZWQAdmlydHVhbCB0YWJsZXMgbWF5IG5vdCBiZSBpbmRleGVkAHRoZXJlIGlzIGFscmVhZHkgYSB0YWJsZSBuYW1lZCAlcwBpbmRleCAlcyBhbHJlYWR5IGV4aXN0cwBzcWxpdGVfYXV0b2luZGV4XyVzXyVkAGV4cHJlc3Npb25zIHByb2hpYml0ZWQgaW4gUFJJTUFSWSBLRVkgYW5kIFVOSVFVRSBjb25zdHJhaW50cwBjb25mbGljdGluZyBPTiBDT05GTElDVCBjbGF1c2VzIHNwZWNpZmllZABDUkVBVEUlcyBJTkRFWCAlLipzACBVTklRVUUASU5TRVJUIElOVE8gJVEuc3FsaXRlX21hc3RlciBWQUxVRVMoJ2luZGV4JywlUSwlUSwjJWQsJVEpOwBuYW1lPSclcScgQU5EIHR5cGU9J2luZGV4JwAlcyAlVCBjYW5ub3QgcmVmZXJlbmNlIG9iamVjdHMgaW4gZGF0YWJhc2UgJXMAJXMgY2Fubm90IHVzZSB2YXJpYWJsZXMAaW5kZXggJyVxJwAsIABmb3JlaWduIGtleSBvbiAlcyBzaG91bGQgcmVmZXJlbmNlIG9ubHkgb25lIGNvbHVtbiBvZiB0YWJsZSAlVABudW1iZXIgb2YgY29sdW1ucyBpbiBmb3JlaWduIGtleSBkb2VzIG5vdCBtYXRjaCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIHJlZmVyZW5jZWQgdGFibGUAdW5rbm93biBjb2x1bW4gIiVzIiBpbiBmb3JlaWduIGtleSBkZWZpbml0aW9uAHZpcnR1YWwgdGFibGVzIGNhbm5vdCB1c2UgY29tcHV0ZWQgY29sdW1ucwB2aXJ0dWFsAHN0b3JlZABlcnJvciBpbiBnZW5lcmF0ZWQgY29sdW1uICIlcyIAdGFibGUgJXMgbWF5IG5vdCBiZSBkcm9wcGVkAHVzZSBEUk9QIFRBQkxFIHRvIGRlbGV0ZSB0YWJsZSAlcwB1c2UgRFJPUCBWSUVXIHRvIGRlbGV0ZSB2aWV3ICVzAHNxbGl0ZV9zdGF0JWQAREVMRVRFIEZST00gJVEuJXMgV0hFUkUgJXM9JVEAREVMRVRFIEZST00gJVEuc3FsaXRlX3NlcXVlbmNlIFdIRVJFIG5hbWU9JVEAREVMRVRFIEZST00gJVEuc3FsaXRlX21hc3RlciBXSEVSRSB0YmxfbmFtZT0lUSBhbmQgdHlwZSE9J3RyaWdnZXInAERFTEVURSBGUk9NICVRLnNxbGl0ZV9tYXN0ZXIgV0hFUkUgbmFtZT0lUSBBTkQgdHlwZT0ndHJpZ2dlcicAY29ycnVwdCBzY2hlbWEAVVBEQVRFICVRLnNxbGl0ZV9tYXN0ZXIgU0VUIHJvb3RwYWdlPSVkIFdIRVJFICMlZCBBTkQgcm9vdHBhZ2U9IyVkAHBhcmFtZXRlcnMgYXJlIG5vdCBhbGxvd2VkIGluIHZpZXdzAHRhcmdldCBvYmplY3QvYWxpYXMgbWF5IG5vdCBhcHBlYXIgaW4gRlJPTSBjbGF1c2U6ICVzAGV4cGVjdGVkICVkIGNvbHVtbnMgZm9yICclcycgYnV0IGdvdCAlZABDTy1ST1VUSU5FICV1AE1BVEVSSUFMSVpFICV1AERJU1RJTkNUAEdST1VQIEJZAFJJR0hUIFBBUlQgT0YgT1JERVIgQlkAT1JERVIgQlkAdG9vIG1hbnkgRlJPTSBjbGF1c2UgdGVybXMsIG1heDogJWQAJXMgY2xhdXNlIHNob3VsZCBjb21lIGFmdGVyICVzIG5vdCBiZWZvcmUATElNSVQAQ09NUE9VTkQgUVVFUlkATEVGVC1NT1NUIFNVQlFVRVJZACVzIFVTSU5HIFRFTVAgQi1UUkVFAFNDQU4gJWQgQ09OU1RBTlQgUk9XJXMAUwBjYW5ub3QgdXNlIHdpbmRvdyBmdW5jdGlvbnMgaW4gcmVjdXJzaXZlIHF1ZXJpZXMAcmVjdXJzaXZlIGFnZ3JlZ2F0ZSBxdWVyaWVzIG5vdCBzdXBwb3J0ZWQAU0VUVVAAUkVDVVJTSVZFIFNURVAATUVSR0UgKCVzKQBMRUZUAFJJR0hUAAAAAAAKCgkJCAgHBwcGBgYFBQUEBAQEAwMDAwMDAgICAgICAm50aF92YWx1ZQBmaXJzdF92YWx1ZQBhdCBtb3N0ICVkIHRhYmxlcyBpbiBhIGpvaW4AU0NBTiBDT05TVEFOVCBST1cAdG9vIG1hbnkgYXJndW1lbnRzIG9uICVzKCkgLSBtYXggJWQAT04gY2xhdXNlIHJlZmVyZW5jZXMgdGFibGVzIHRvIGl0cyByaWdodAA5N05PQ0FTRQAAAAAAAADdNgAAQAAAALB+AABCAAAAtX4AAEEAAAC6fgAAQwAAAGdsb2IAbGlrZQByZWdleHAAYWJicmV2aWF0ZWQgcXVlcnkgYWxnb3JpdGhtIHNlYXJjaAAlcy54QmVzdEluZGV4IG1hbGZ1bmN0aW9uAG5vIHF1ZXJ5IHNvbHV0aW9uAGF1dG9tYXRpYyBpbmRleCBvbiAlcyglcykAYXV0by1pbmRleABTRUFSQ0gAU0NBTgAgU1VCUVVFUlkgJXUAIFRBQkxFICVzACBBUyAlcwBQUklNQVJZIEtFWQBBVVRPTUFUSUMgUEFSVElBTCBDT1ZFUklORyBJTkRFWABBVVRPTUFUSUMgQ09WRVJJTkcgSU5ERVgAQ09WRVJJTkcgSU5ERVggJXMASU5ERVggJXMAIFVTSU5HIAA9AD4/IEFORCByb3dpZDwAPgA8ACBVU0lORyBJTlRFR0VSIFBSSU1BUlkgS0VZIChyb3dpZCVzPykAIFZJUlRVQUwgVEFCTEUgSU5ERVggJWQ6JXMAICgAIEFORCAAJXM9PwBBTlkoJXMpADxleHByPgAoABkXFhgAACUhGRYYFyknJihNVUxUSS1JTkRFWCBPUgBJTkRFWCAlZAAFBCUhZnJhbWUgc3RhcnRpbmcgb2Zmc2V0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlcgBmcmFtZSBlbmRpbmcgb2Zmc2V0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlcgBzZWNvbmQgYXJndW1lbnQgdG8gbnRoX3ZhbHVlIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyAGZyYW1lIHN0YXJ0aW5nIG9mZnNldCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlcgBmcmFtZSBlbmRpbmcgb2Zmc2V0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyAG1pbgBtYXgAVVNFIFRFTVAgQi1UUkVFIEZPUiAlcwBESVNUSU5DVCBhZ2dyZWdhdGVzIG11c3QgaGF2ZSBleGFjdGx5IG9uZSBhcmd1bWVudABTQ0FOIFRBQkxFICVzJXMlcwAgVVNJTkcgQ09WRVJJTkcgSU5ERVggAHRvbyBtYW55IHRlcm1zIGluIGNvbXBvdW5kIFNFTEVDVABhIEpPSU4gY2xhdXNlIGlzIHJlcXVpcmVkIGJlZm9yZSAlcwBPTgBVU0lORwAAAAAAAAAAAG5hdHVyYWxlZnRvdXRlcmlnaHRmdWxsaW5uZXJjcm9zcwAAAAAAAAAAAAAAAAAAAAAHBAYEKAoFIA4FMBMEOBcFARwFAyAAdW5rbm93biBvciB1bnN1cHBvcnRlZCBqb2luIHR5cGU6ICVUICVUJXMlVABSSUdIVCBhbmQgRlVMTCBPVVRFUiBKT0lOcyBhcmUgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQAcm93cyBkZWxldGVkAHRhYmxlICVzIG1heSBub3QgYmUgbW9kaWZpZWQAY2Fubm90IG1vZGlmeSAlcyBiZWNhdXNlIGl0IGlzIGEgdmlldwAtLSBUUklHR0VSICVzAGZvcmVpZ24ga2V5IG1pc21hdGNoIC0gIiV3IiByZWZlcmVuY2luZyAiJXciAAAAAPZuAAADAAAA8m4AAAMAAAAAAAAAAAAAADMAAgB5AAAAWwACAHoAAAB0AAAAdG9vIG1hbnkgY29sdW1ucyBpbiAlcwBjYW5ub3QgVVBEQVRFIGdlbmVyYXRlZCBjb2x1bW4gIiVzIgBubyBzdWNoIGNvbHVtbjogJXMAcm93cyB1cGRhdGVkACVzLnJvd2lkAGNhbm5vdCBJTlNFUlQgaW50byBnZW5lcmF0ZWQgY29sdW1uICIlcyIAdGFibGUgJVMgaGFzIG5vIGNvbHVtbiBuYW1lZCAlcwB0YWJsZSAlUyBoYXMgJWQgY29sdW1ucyBidXQgJWQgdmFsdWVzIHdlcmUgc3VwcGxpZWQAJWQgdmFsdWVzIGZvciAlZCBjb2x1bW5zAFVQU0VSVCBub3QgaW1wbGVtZW50ZWQgZm9yIHZpcnR1YWwgdGFibGUgIiVzIgBjYW5ub3QgVVBTRVJUIGEgdmlldwByb3dzIGluc2VydGVkAE9OIENPTkZMSUNUIGNsYXVzZSBkb2VzIG5vdCBtYXRjaCBhbnkgUFJJTUFSWSBLRVkgb3IgVU5JUVVFIGNvbnN0cmFpbnQAdmFyaWFibGUgbnVtYmVyIG11c3QgYmUgYmV0d2VlbiA/MSBhbmQgPyVkAHRvbyBtYW55IFNRTCB2YXJpYWJsZXMAdG9vIG1hbnkgYXJndW1lbnRzIG9uIGZ1bmN0aW9uICVUAERJU1RJTkNUIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHdpbmRvdyBmdW5jdGlvbnMAc3ludGF4IGVycm9yIGFmdGVyIGNvbHVtbiBuYW1lICIlLipzIgBubyBzdWNoIGluZGV4OiAlUwBpbmRleCBhc3NvY2lhdGVkIHdpdGggVU5JUVVFIG9yIFBSSU1BUlkgS0VZIGNvbnN0cmFpbnQgY2Fubm90IGJlIGRyb3BwZWQAREVMRVRFIEZST00gJVEuc3FsaXRlX21hc3RlciBXSEVSRSBuYW1lPSVRIEFORCB0eXBlPSdpbmRleCcALSVUAGZhc3QAbm9ybWFsAGV4Y2x1c2l2ZQACAAEAXQABBBIBAABEAAIAXgAHAG5vdCBhIHdyaXRhYmxlIGRpcmVjdG9yeQBTYWZldHkgbGV2ZWwgbWF5IG5vdCBiZSBjaGFuZ2VkIGluc2lkZSBhIHRyYW5zYWN0aW9uAGlzc2lzaWkAaXNzaXNpAGlpc1gAaXNpWABjAHUAABuHAAAdhwAABDcAAGlzaXNpAGlzcwBpcwBzAGlpc3Nzc3NzAE5PTkUAc2lYACoqKiBpbiBkYXRhYmFzZSAlcyAqKioKAE5VTEwgdmFsdWUgaW4gJXMuJXMAQ0hFQ0sgY29uc3RyYWludCBmYWlsZWQgaW4gJXMAcm93IAAgbWlzc2luZyBmcm9tIGluZGV4IABub24tdW5pcXVlIGVudHJ5IGluIGluZGV4IAB3cm9uZyAjIG9mIGVudHJpZXMgaW4gaW5kZXggAAAAAAAAAABSAQAAMQEEAHMAAwBQAwEARAAAAHMAAwALAAMAb2sAAFiIAAABAAAAXYgAAAEAAABjiAAAAgAAAGyIAAADAAAAdYgAAAIAAAB9iAAAAwAAAIWIAAAAAAAAjIgAAAAAAAAAAAAAAAAAAFVURjgAVVRGLTgAVVRGLTE2bGUAVVRGLTE2YmUAVVRGMTZsZQBVVEYxNmJlAFVURi0xNgBVVEYxNgB1bnN1cHBvcnRlZCBlbmNvZGluZzogJXMAAgABAF4AAAACAAAAXQABAFABAQBmdWxsAHJlc3RhcnQAQU5BTFlaRSAiJXciLiIldyIAbm9uZQBpbmNyZW1lbnRhbAB0ZW1wb3Jhcnkgc3RvcmFnZSBjYW5ub3QgYmUgY2hhbmdlZCBmcm9tIHdpdGhpbiBhIHRyYW5zYWN0aW9uAAAAAG9ub2ZmYWxzZXllc3RydWV4dHJhZnVsbAAAAQIECQwPFAICAwUDBAUEAQAAAAEBAwJ1dGY4AHV0ZjE2bGUAdXRmMTZiZQB3AGEAc2lzc2lpAFNFVCBOVUxMAFNFVCBERUZBVUxUAENBU0NBREUAUkVTVFJJQ1QATk8gQUNUSU9OACVfAABMSUtFIG9yIEdMT0IgcGF0dGVybiB0b28gY29tcGxleABFU0NBUEUgZXhwcmVzc2lvbiBtdXN0IGJlIGEgc2luZ2xlIGNoYXJhY3RlcgBJTlNFUlQgSU5UTyAlUS5zcWxpdGVfbWFzdGVyIFZBTFVFUygndHJpZ2dlcicsJVEsJVEsMCwnQ1JFQVRFIFRSSUdHRVIgJXEnKQB0eXBlPSd0cmlnZ2VyJyBBTkQgbmFtZT0nJXEnAHRlbXBvcmFyeSB0cmlnZ2VyIG1heSBub3QgaGF2ZSBxdWFsaWZpZWQgbmFtZQBjYW5ub3QgY3JlYXRlIHRyaWdnZXJzIG9uIHZpcnR1YWwgdGFibGVzAHRyaWdnZXIgJVQgYWxyZWFkeSBleGlzdHMAY2Fubm90IGNyZWF0ZSB0cmlnZ2VyIG9uIHN5c3RlbSB0YWJsZQBjYW5ub3QgY3JlYXRlICVzIHRyaWdnZXIgb24gdmlldzogJVMAQkVGT1JFAEFGVEVSAGNhbm5vdCBjcmVhdGUgSU5TVEVBRCBPRiB0cmlnZ2VyIG9uIHRhYmxlOiAlUwBubyBzdWNoIHRyaWdnZXI6ICVTAAAAAwAAAAEAAAAAAAAAAAAAAOcAAAAAAAAAAAAAAAAAAACgiwAAAAAAAHNxbGl0ZV9hdHRhY2gAdG9vIG1hbnkgYXR0YWNoZWQgZGF0YWJhc2VzIC0gbWF4ICVkAGRhdGFiYXNlICVzIGlzIGFscmVhZHkgaW4gdXNlAGRhdGFiYXNlIGlzIGFscmVhZHkgYXR0YWNoZWQAdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2U6ICVzAGZpbGU6AGxvY2FsaG9zdABpbnZhbGlkIHVyaSBhdXRob3JpdHk6ICUuKnMAdmZzAGNhY2hlAHNoYXJlZABwcml2YXRlAHJvAHJ3AHJ3YwBubyBzdWNoICVzIG1vZGU6ICVzACVzIG1vZGUgbm90IGFsbG93ZWQ6ICVzAG5vIHN1Y2ggdmZzOiAlcwAAAAABAAAAAQAAAAAAAAAAAAAA6AAAAAAAAAAAAAAAAAAAAOCMAAAAAAAAc3FsaXRlX2RldGFjaABubyBzdWNoIGRhdGFiYXNlOiAlcwBjYW5ub3QgZGV0YWNoIGRhdGFiYXNlICVzAGRhdGFiYXNlICVzIGlzIGxvY2tlZAB1bmFibGUgdG8gaWRlbnRpZnkgdGhlIG9iamVjdCB0byBiZSByZWluZGV4ZWQAAAAAAAAAAAAAAAAAAAAAMiIAAIiNAACVjQAAAAAAAKKNAAAAAAAAdGJsLGlkeCxzdGF0AHNxbGl0ZV9zdGF0NABzcWxpdGVfc3RhdDMAQ1JFQVRFIFRBQkxFICVRLiVzKCVzKQBzcWxpdGVcXyUABAAAAAEAAAAAAAAAAAAAAOkAAAAAAAAAAAAAAAAAAAAkjgAAAAAAAAIAAAABAAAAAAAAAAAAAADqAAAAAAAAAAAAAAAAAAAALo4AAAAAAABCQkIAc3RhdF9pbml0AHN0YXRfcHVzaAABAAAAAQAAAAAAAAAAAAAA6wAAAAAAAAAAAAAAAAAAAGCOAAAAAAAAc3RhdF9nZXQAJWxsdQAgJWxsdQB0aGVyZSBpcyBhbHJlYWR5IGFub3RoZXIgdGFibGUgb3IgaW5kZXggd2l0aCB0aGlzIG5hbWU6ICVzAHZpZXcgJXMgbWF5IG5vdCBiZSBhbHRlcmVkAFVQREFURSAiJXciLnNxbGl0ZV9tYXN0ZXIgU0VUIHNxbCA9IHNxbGl0ZV9yZW5hbWVfdGFibGUoJVEsIHR5cGUsIG5hbWUsIHNxbCwgJVEsICVRLCAlZCkgV0hFUkUgKHR5cGUhPSdpbmRleCcgT1IgdGJsX25hbWU9JVEgQ09MTEFURSBub2Nhc2UpQU5EICAgbmFtZSBOT1QgTElLRSAnc3FsaXRlWF8lJScgRVNDQVBFICdYJwBVUERBVEUgJVEuc3FsaXRlX21hc3RlciBTRVQgdGJsX25hbWUgPSAlUSwgbmFtZSA9IENBU0UgV0hFTiB0eXBlPSd0YWJsZScgVEhFTiAlUSBXSEVOIG5hbWUgTElLRSAnc3FsaXRlWF9hdXRvaW5kZXglJScgRVNDQVBFICdYJyAgICAgIEFORCB0eXBlPSdpbmRleCcgVEhFTiAnc3FsaXRlX2F1dG9pbmRleF8nIHx8ICVRIHx8IHN1YnN0cihuYW1lLCVkKzE4KSBFTFNFIG5hbWUgRU5EIFdIRVJFIHRibF9uYW1lPSVRIENPTExBVEUgbm9jYXNlIEFORCAodHlwZT0ndGFibGUnIE9SIHR5cGU9J2luZGV4JyBPUiB0eXBlPSd0cmlnZ2VyJyk7AFVQREFURSAiJXciLnNxbGl0ZV9zZXF1ZW5jZSBzZXQgbmFtZSA9ICVRIFdIRVJFIG5hbWUgPSAlUQBVUERBVEUgc3FsaXRlX3RlbXBfc2NoZW1hIFNFVCBzcWwgPSBzcWxpdGVfcmVuYW1lX3RhYmxlKCVRLCB0eXBlLCBuYW1lLCBzcWwsICVRLCAlUSwgMSksIHRibF9uYW1lID0gQ0FTRSBXSEVOIHRibF9uYW1lPSVRIENPTExBVEUgbm9jYXNlIEFORCAgICAgICAgICAgc3FsaXRlX3JlbmFtZV90ZXN0KCVRLCBzcWwsIHR5cGUsIG5hbWUsIDEpIFRIRU4gJVEgRUxTRSB0YmxfbmFtZSBFTkQgV0hFUkUgdHlwZSBJTiAoJ3ZpZXcnLCAndHJpZ2dlcicpAHRhYmxlICVzIG1heSBub3QgYmUgYWx0ZXJlZABTRUxFQ1QgMSBGUk9NICIldyIuc3FsaXRlX21hc3RlciBXSEVSRSBuYW1lIE5PVCBMSUtFICdzcWxpdGVYXyUlJyBFU0NBUEUgJ1gnIEFORCBzcWwgTk9UIExJS0UgJ2NyZWF0ZSB2aXJ0dWFsJSUnIEFORCBzcWxpdGVfcmVuYW1lX3Rlc3QoJVEsIHNxbCwgdHlwZSwgbmFtZSwgJWQpPU5VTEwgAFNFTEVDVCAxIEZST00gdGVtcC5zcWxpdGVfbWFzdGVyIFdIRVJFIG5hbWUgTk9UIExJS0UgJ3NxbGl0ZVhfJSUnIEVTQ0FQRSAnWCcgQU5EIHNxbCBOT1QgTElLRSAnY3JlYXRlIHZpcnR1YWwlJScgQU5EIHNxbGl0ZV9yZW5hbWVfdGVzdCglUSwgc3FsLCB0eXBlLCBuYW1lLCAxKT1OVUxMIABDYW5ub3QgYWRkIGEgUFJJTUFSWSBLRVkgY29sdW1uAENhbm5vdCBhZGQgYSBVTklRVUUgY29sdW1uAENhbm5vdCBhZGQgYSBSRUZFUkVOQ0VTIGNvbHVtbiB3aXRoIG5vbi1OVUxMIGRlZmF1bHQgdmFsdWUAQ2Fubm90IGFkZCBhIE5PVCBOVUxMIGNvbHVtbiB3aXRoIGRlZmF1bHQgdmFsdWUgTlVMTABDYW5ub3QgYWRkIGEgY29sdW1uIHdpdGggbm9uLWNvbnN0YW50IGRlZmF1bHQAY2Fubm90IGFkZCBhIFNUT1JFRCBjb2x1bW4AVVBEQVRFICIldyIuc3FsaXRlX21hc3RlciBTRVQgc3FsID0gc3Vic3RyKHNxbCwxLCVkKSB8fCAnLCAnIHx8ICVRIHx8IHN1YnN0cihzcWwsJWQpIFdIRVJFIHR5cGUgPSAndGFibGUnIEFORCBuYW1lID0gJVEAU0VMRUNUIHJhaXNlKEFCT1JULCVRKSBGUk9NICIldyIuIiV3IgB2aXJ0dWFsIHRhYmxlcyBtYXkgbm90IGJlIGFsdGVyZWQAQ2Fubm90IGFkZCBhIGNvbHVtbiB0byBhIHZpZXcAc3FsaXRlX2FsdGVydGFiXyVzAFVQREFURSAiJXciLnNxbGl0ZV9tYXN0ZXIgU0VUIHNxbCA9IHNxbGl0ZV9yZW5hbWVfY29sdW1uKHNxbCwgdHlwZSwgbmFtZSwgJVEsICVRLCAlZCwgJVEsICVkLCAlZCkgV0hFUkUgbmFtZSBOT1QgTElLRSAnc3FsaXRlWF8lJScgRVNDQVBFICdYJyAgQU5EICh0eXBlICE9ICdpbmRleCcgT1IgdGJsX25hbWUgPSAlUSkgQU5EIHNxbCBOT1QgTElLRSAnY3JlYXRlIHZpcnR1YWwlJScAVVBEQVRFIHRlbXAuc3FsaXRlX21hc3RlciBTRVQgc3FsID0gc3FsaXRlX3JlbmFtZV9jb2x1bW4oc3FsLCB0eXBlLCBuYW1lLCAlUSwgJVEsICVkLCAlUSwgJWQsIDEpIFdIRVJFIHR5cGUgSU4gKCd0cmlnZ2VyJywgJ3ZpZXcnKQB2aXJ0dWFsIHRhYmxlAGNhbm5vdCByZW5hbWUgY29sdW1ucyBvZiAlcyAiJXMiAENSRUFURSBWSVJUVUFMIFRBQkxFICVUAFVQREFURSAlUS5zcWxpdGVfbWFzdGVyIFNFVCB0eXBlPSd0YWJsZScsIG5hbWU9JVEsIHRibF9uYW1lPSVRLCByb290cGFnZT0wLCBzcWw9JVEgV0hFUkUgcm93aWQ9IyVkAG5hbWU9JVEgQU5EIHNxbD0lUQBkdXBsaWNhdGUgV0lUSCB0YWJsZSBuYW1lOiAlcwBQQVJUSVRJT04gY2xhdXNlAE9SREVSIEJZIGNsYXVzZQBmcmFtZSBzcGVjaWZpY2F0aW9uAGNhbm5vdCBvdmVycmlkZSAlcyBvZiB3aW5kb3c6ICVzAHVuc3VwcG9ydGVkIGZyYW1lIHNwZWNpZmljYXRpb24AAAAAAAAAAAAA6gGG/yEChQKKAoj/Q/9F/0j/Sv9O/1D/LQAeAMgABf96/4YBiAEJAgsC1QC0AjUDHAFNAmgDmgKfAmIDRwBvABEBhQGuAi8DiAOkA7QDuwPEA8kD/f79/v3+/f79/v3+/f79/v3+/f79/v3+/f79/v3+/f79/v3+/f79/v3+/f79/v3+/f79/v3+/f79/v3+/f79/v3+/f79/v3+rAGuAYMD2QP9AwQEIQQtBDkEVARWBFsEXQRjBH0EggSHBJIElgSaBJ8EqgSuBLQEuAS8BMIExgTNBP4EAAUDBQUFIQUkBSgFKgUtBS8FMgVWBVsFYwVrBYkFkQWWBZgF/f79/v3+/f79/v3+/f79/v3+LQLOAyr/Uv/3/68BhP8mA50DJgOdA/sAoAOsA/3+/f79/v3+Ov86/zr/fwBG/1j/1ACGAmkCHwP6/isC3ADcAOsBXQIQBCQEuwL1/1gCUANeA1kBf//UAqX/ngDtAswChAMwATYDoQOeA/MBGQNCAXwDLQNNA74DIATvAokDbQQmBCMDLv9H/03/bP9Z/6f/eQASARkBQAFQAbcBlwLHAr0DxQMoBCwEWARcBDz/ZwRuBJwEoASrBK8EswS/BMcE4gTzBAYFzQCmAX4CLAU9BVQFVQW9BHAFdwV7BWUD7AR9BY0F/ASQBXkAkgWTBZQFmQWcBZ0FywQ6BQQFTwVaBWEFbAW9BAQFBAVpBZ4FowVFBXgFbwVyBVAFgAWCBVcFnwWgBZsFogWmBacFdQWFBYoFbgWkBaUFwgVlBccFyAV5BXoF0gWGBakFrAWtBbsFsAW9Bb4FxQXGBesF7gXEBcoFqgWuBdQFywXVBcwF8wX7BbEFrwX8Bf4F7AUBBgQGBwYFBvYF+AX6BQYG6AX5Bf0FCAYJBgsGDgYNBg8GEgayBRAG1gXXBRQG2gXeBd8F5wXtBe8F8gX0BSsGwAXBBfcFEwYVBhcGFgY1BhgGGQYcBh4GIAY4BjsGRQZGBkwGTQZWBhoGGwbhBUkGRAZIBk4GTwZQBjwGPQZRBlQGWQZTBmluY29tcGxldGUgaW5wdXQAaW1wbGllc19ub25udWxsX3JvdwBleHByX2NvbXBhcmUAZXhwcl9pbXBsaWVzX2V4cHIAc3FsaXRlX2NvbXBpbGVvcHRpb25fdXNlZABzcWxpdGVfY29tcGlsZW9wdGlvbl9nZXQAdW5saWtlbHkAbGlrZWxpaG9vZABsaWtlbHkAbHRyaW0AcnRyaW0AdHJpbQB0eXBlb2YAbGVuZ3RoAGluc3RyAHByaW50ZgB1bmljb2RlAGNoYXIAYWJzAHJvdW5kAHVwcGVyAGxvd2VyAGhleABpZm51bGwAcmFuZG9tAHJhbmRvbWJsb2IAbnVsbGlmAHNxbGl0ZV92ZXJzaW9uAHNxbGl0ZV9zb3VyY2VfaWQAc3FsaXRlX2xvZwBxdW90ZQBsYXN0X2luc2VydF9yb3dpZABjaGFuZ2VzAHRvdGFsX2NoYW5nZXMAcmVwbGFjZQB6ZXJvYmxvYgBzdWJzdHIAc3Vic3RyaW5nAHN1bQB0b3RhbABhdmcAY291bnQAZ3JvdXBfY29uY2F0AGNvYWxlc2NlAGlpZgABAIWCAAB0ZXh0AGJsb2IAaW50ZWdlciBvdmVyZmxvdwAlLipmAAAAAAAAAAAAAAAAADAxMjM0NTY3ODlBQkNERUYlIS4yMGUAc3FsaXRlX3JlbmFtZV9jb2x1bW4Ac3FsaXRlX3JlbmFtZV90YWJsZQBzcWxpdGVfcmVuYW1lX3Rlc3QAIiV3IgBlcnJvciBpbiAlcyAlcyVzOiAlcwAgYWZ0ZXIgcmVuYW1lAGxhc3RfdmFsdWUAYXJndW1lbnQgb2YgbnRpbGUgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIAanVsaWFuZGF5AGRhdGUAdGltZQBkYXRldGltZQBzdHJmdGltZQBjdXJyZW50X3RpbWUAY3VycmVudF90aW1lc3RhbXAAY3VycmVudF9kYXRlAG5vdwA0MGYtMjFhLTIxZAAADAAOABgAHwA7AA8nMjBjOjIwZQAyMGUAMjBiOjIwZQBhIENIRUNLIGNvbnN0cmFpbnQAYSBnZW5lcmF0ZWQgY29sdW1uAGFuIGluZGV4AG5vbi1kZXRlcm1pbmlzdGljIHVzZSBvZiAlcygpIGluICVzAGxvY2FsdGltZQB1bml4ZXBvY2gAdXRjAHdlZWtkYXkgAHN0YXJ0IG9mIABtb250aAB5ZWFyAGRheQAAAAAAAAAAAAAAAAAAAAYAAFefAAAAALDqJQZbQgAAAAAAQI9AAAYAAF6fAAAAAAClW9P8QQAAAAAATO1AAAQAAGWfAAAAAACwUL+eQQAAAABAd0tBAAMAAJ+eAAAAAABAi39UQQAAAABwmZRBAQUAAJSeAAAAAAAAEI0FQQAAAADZT+NBAgQAAJqeAAAAAAAAgLzMQAAAALDEXh1CbG9jYWwgdGltZSB1bmF2YWlsYWJsZQBzZWNvbmQAbWludXRlAGhvdXIAJTA0ZC0lMDJkLSUwMmQAJTAyZDolMDJkOiUwMmQAJTA0ZC0lMDJkLSUwMmQgJTAyZDolMDJkOiUwMmQAJTAyZAAlMDYuM2YAJTAzZAAlMDRkADoBAAA7AQAAPAEAAD0BAAA+AQAAPwEAAEABAAAAAAAAZmFpbGVkIHRvIGFsbG9jYXRlICV1IGJ5dGVzIG9mIG1lbW9yeQBmYWlsZWQgbWVtb3J5IHJlc2l6ZSAldSB0byAldSBieXRlcwAAAAEAAAAAAAAAQQEAAEIBAABDAQAARAEAAEUBAABGAQAARwEAAEgBAABJAQAASgEAAEsBAAB1bmFibGUgdG8gY2xvc2UgZHVlIHRvIHVuZmluYWxpemVkIHN0YXRlbWVudHMgb3IgdW5maW5pc2hlZCBiYWNrdXBzABShAAAhoQAAAAAAADGhAABKoQAAWKEAAGuhAAAlIAAAhKEAAKmhAAC1oQAAxKEAAOWhAAD3oQAAEKIAAC2iAAAAAAAAKB8AAOAGAAA+ogAAUKIAAGKiAACEogAAo6IAAAAAAAC4ogAA0qIAAOmiAAD+ogAAbm90IGFuIGVycm9yAFNRTCBsb2dpYyBlcnJvcgBhY2Nlc3MgcGVybWlzc2lvbiBkZW5pZWQAcXVlcnkgYWJvcnRlZABkYXRhYmFzZSBpcyBsb2NrZWQAZGF0YWJhc2UgdGFibGUgaXMgbG9ja2VkAGF0dGVtcHQgdG8gd3JpdGUgYSByZWFkb25seSBkYXRhYmFzZQBpbnRlcnJ1cHRlZABkaXNrIEkvTyBlcnJvcgBkYXRhYmFzZSBkaXNrIGltYWdlIGlzIG1hbGZvcm1lZAB1bmtub3duIG9wZXJhdGlvbgBkYXRhYmFzZSBvciBkaXNrIGlzIGZ1bGwAdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQBsb2NraW5nIHByb3RvY29sAGNvbnN0cmFpbnQgZmFpbGVkAGRhdGF0eXBlIG1pc21hdGNoAGJhZCBwYXJhbWV0ZXIgb3Igb3RoZXIgQVBJIG1pc3VzZQBsYXJnZSBmaWxlIHN1cHBvcnQgaXMgZGlzYWJsZWQAYXV0aG9yaXphdGlvbiBkZW5pZWQAY29sdW1uIGluZGV4IG91dCBvZiByYW5nZQBmaWxlIGlzIG5vdCBhIGRhdGFiYXNlAG5vdGlmaWNhdGlvbiBtZXNzYWdlAHdhcm5pbmcgbWVzc2FnZQB1bmtub3duIGVycm9yAGFib3J0IGR1ZSB0byBST0xMQkFDSwBhbm90aGVyIHJvdyBhdmFpbGFibGUAbm8gbW9yZSByb3dzIGF2YWlsYWJsZQB1bmFibGUgdG8gZGVsZXRlL21vZGlmeSB1c2VyLWZ1bmN0aW9uIGR1ZSB0byBhY3RpdmUgc3RhdGVtZW50cwB1bmFibGUgdG8gdXNlIGZ1bmN0aW9uICVzIGluIHRoZSByZXF1ZXN0ZWQgY29udGV4dABpbnZhbGlkAFJUUklNAABMAQAATQEAAE4BAABPAQAAUAEAAE1BVENIAHNpbXBsZQBwb3J0ZXIAdW5pY29kZTYxAGZ0czNfdG9rZW5pemVyAHNuaXBwZXQAb2Zmc2V0cwBtYXRjaGluZm8AZnRzMwADAAAAUQEAAFIBAABTAQAAVAEAAFUBAABWAQAAVwEAAFgBAABZAQAAWgEAAFsBAABcAQAAXQEAAF4BAABfAQAAYAEAAGEBAABiAQAAYwEAAGQBAABlAQAAZgEAAGcBAABmdHM0AAAAAAAAAABoAQAAaQEAAGoBAABrAQAAbAEAAAAAAAByZW1vdmVfZGlhY3JpdGljcz0xAHJlbW92ZV9kaWFjcml0aWNzPTAAcmVtb3ZlX2RpYWNyaXRpY3M9MgB0b2tlbmNoYXJzPQBzZXBhcmF0b3JzPQAAAAAAAAAAADAAAAAH6AAABmwBAC/sAQAHrAIAAdACAAPYAgAB7AIAAfwCAAFcAwAB3AMABAgLAA5ICwAHlAsAAbQLAIG8CwAB1A0AAfgNAAIQDgABHA4AAdgPAAgIEgAGaBUAAiQWAAE8FgA3RBYAAswXAAUAGAAWGBgAAngYABUsGQAEqBkAAcAZAAFQGwAPWBsAB5wbAAL0GwAOABwAATwcAAFEHAAbwBwAC5geAAmsHwAE2B8ABFggAAlsIAADlCAABaQgAA/AIAADZCEAAXghABuQIwAEACQAA+gkABL4JAAHRCUABIglAAHAJQADBCYAAfAmAAf4JgACHCcAAywnAAFcJwACiCcAAsgnAALoJwADBCgAAfAoAAX4KAACHCkAAywpAAFEKQACwCkAAdQpAAMEKgAB8CoACPgqAAMcKwADLCsAAogrAALAKwADBCwAAfAsAAf4LAACHC0AAywtAAJYLQACiC0AAcAtAAEILgAF+C4AAxgvAAQoLwABXC8ACMwvAAMEMAAH+DAAAxgxAAQoMQACVDEAAogxAAH8MQACCDIAAfAyAAf4MgADGDMABCgzAAJUMwACiDMAAgg0AAf4NAADGDUABCg1AAFcNQACiDUAAeQ1AAIINgABKDcABjw3AAFYNwAIYDcAA8g3AAHEOAAH0DgAAfw4AAkcOQACaDkAAcQ6AAbQOgAC7DoABiA7AB8EPAAM0DwAF8Q9AAs0PgAkZD4AD/g+AA04PwAUrEAABihBAARYQQADeEEAA4hBAAecQQAExEEADAhCAAE8QgAGaEIAAexDAAx0TQAKQE4AAQBQAAK0WQABAFoAAmxaAAOsWwADSFwABchcAAJIXQACyF0AI9BeAARgXwABdF8ADwBgAAGkYgAMgGQADMBkAAEAZQACEGUAEcBmAAIgZwAieGcABVxoAAJ4aAAKVGkAHYBpAAH8aQAHgGoABqBqAAUAbAAR0GwAI2htAAMAbgANhG4ADphvAATwbwAUkHAABexwAAL4cQAIAHMAGUBzAAG0cwADyHMAJwB3AATwdwAB9H4AA/x+AAM0fwADdH8AA7R/AAL0fwBlAIAABqiBAAXogQAFKIIAGoCCACFAgwACAIQABAyEAAIghAABUIQAA1iEAAZ4hAABlIQAAZyEAAGkhAABuIQAAuiEAAUAhQAEKIUAATyFAGRChgAnAJAACwCRAE5wkgAAApQAdQScALlTngAKQK0ABpSzAAO8swAE5LMAAvizAAHAtQAB/LUAT4C3AAzAuAAaALoAWWy6ANYAvAAMwL8ABQDAABkgwAAHqMAAAtjAAAP0wAAEZMIAAYDCAAHswwACQMYACljGACQAxwAfAMgAHqjIAAFAyQAggMkAJyjKAD8AywAAAcwAQAA3ATdAkgIC+JMCAzSYAhC8mQIBfJoCCMCbAhcAnAICgJwCAiSeAgEIoAIBGKACASygAgmMoAIE2KACBNChAgIAogIR0KICAjijAhKAowID4KMCCpikAg0cpQIBfKUCBACmAhvMpgICeKcCDqSoAgEMqQICMKkCBHCpAgPcqQIB7KkCAcCqAgPIqgIC3KoCAviqAgEEqwICeKsCB6yrAgLUqwILjK8CAQBgAwL8bQMC/G8DAfx/AwF47AMBpOwDEMjuAwL49AMC8PcDGgD4AweA+AMjwPgDE1D5AwSg+QMB/PsDDwT8Awdo/AMG7PwDC2z9AweA/wMHoP8DBeT/AwMABAQJ3AQEEeQFBAxABgQuQAcEAXwOBAFADwQBXCEEAXwkBAH8JAQDBCgEAhQoBAQwKAQD4CgEAfwoBAlAKQQB/CkEB+QsBAMAQAQW4EAEAwBCBBLAQgQDAEQEDpxEBAQARQQDAEYEDsxGBAQURwQNrFoEBMCRBC5EvQUEPL4F9gBABycARAe1pEQHRgBIB1cATAcBBFsHAWxbBwHsWwcBVFwHAdRcBwE8XQcBvF0HASReBwGkXgcBDF8HAsC7BywAwAdkwMAHD4DCBw7EwgcPBMMHD0TDBx9AxAc8wMQHK8DFBx2YxwcrQMgHCQDJBwJAyQchAMwHBsDMB0bczAcUAM4HJYDOBwUYzwcRgM8HPwDQBwEA0Qe2CNEHBOTTBz4A1AcEANUHGEDVB0bs1wcLFNkHRgDaB3QA3AcBBAA4YIAAOPAABDgAAAAAAAAAAP///////wD8AQAA+AEAAPhBAA4atQBAAcAADhfYAA4HAAEBMDIBAQY5AQEQSgEBLngBdAF5AQEGfwFoAYEBMgGCAQEEhgEsAYcBAAGJASoCiwEAAY4BIAGPASYBkAEoAZEBAAGTASoBlAEuAZYBNAGXATABmAEAAZwBNAGdATYBnwE4AaABAQamATwBpwEAAakBPAGsAQABrgE8Aa8BAAGxAToCswEBBLcBPgG4AQABvAEAAcQBAgHFAQABxwECAcgBAAHKAQIBywEBEt4BARLxAQIB8gEBBPYBegH3AYYB+AEBKCACbgEiAgESOgJGATsCAAE9AmwBPgJEAUECAAFDAmoBRAIcAUUCHgFGAgEKRQMkAXADAQR2AwABhgMSAYgDEAOMAxoBjgMYApEDDhGjAw4JwgMAAc8DBAHQA4wB0QOOAdUDkgHWA5AB2AMBGPADiAHxA4oB9AOCAfUDgAH3AwAB+QOYAfoDAAH9A24DAAQiEBAEDiBgBAEiigQBNsAEBgHBBAEO0AQBWDEFFiagEEImxxBCAc0QQgEAHgGWmx6EAZ4eYAGgHgFgCB+WCBgflgYoH5YIOB+WCEgflgZZH5cIaB+WCIgflgiYH5YIqB+WCLgflgK6H34CvB+UAb4fZAHIH3wEzB+UAdgflgLaH3gC6B+WAuofdgLsH5gB+B9wAvofcgL8H5QBJiFiASohXAErIV4BMiEMAWAhCBCDIQABtiQKGgAsFi9gLAABYixYAWMsZgFkLFoBZywBBm0sVAFuLFYBbyxQAXAsUgFyLAABdSwAAX4sTgKALAFk6ywBBPIsAAFApgEugKYBGCKnAQ4ypwE+eacBBH2nTAF+pwEKi6cAAY2nSgGQpwEEoKcBCqqnSAEh/w4aAAAAAAEAAgAIAA8AEAAaABwAIAAlACYAKAAwAD8AQABFAEcATwBQAHQAygDLAM0AzgDPANEA0gDTANUA1gDZANoA2wAHA2AcKCorKrxa2Fr8dcHV4dXi1eTVA9YJ1hnWQd+630Hio+L74xrx9P49/13/fv+A/4L/h/+Q/5z/n/+q/7b/wP/E/8b/yP/K/9D/4v/n/+r/8f/3//j/+f8AAAAAAAAAAAUHOAdDB2MHiAeUB8sH6Af4BwwIPgh4CJ4I2AjuCCgJTwmoCbgJ1AkkCmwKrAreChoLTguKC6gLuAvUCwgNgA1wDoAOkA6gDrYO+A44D0gPWA9oD4APqA/ID9gPChAqEEoQahCKEKoQyBDYEPgQOBFIEVoReBGIEZgRBBg2GHgYiBjYGB0ZaRmBGQjwHPBI8F7wmPCq8Mrw6PD48AjxHvFY8WjxePGM8bjxyPHa8fzxLvJu8qryyvLo8vjyCvMs817znPPK8+rzDvRI9Fr0ePSM9LD0uPTA9Mj0CvUu9W71qvXM9f71OPZK9mr2jvbO9gr3KvdO94j3nvcAAAAAAGFjZWlub3V5eWFjZGVlZ2hpamtsbm9yc3R1dXd5em91YWlvdfXhZ2tv72pnbuFhZWlvcnVzdGhhZe9v73kAAAAAAAAAAGFi42Rk5WXlZmdoaGnpa2zsbG1u73By8nJz83R19XZ3d3h5emh0d3lh4eHhZeXlaW/v7+919fV5AAAAAAAAbQEAAG0BAABuAQAAbwEAAG8BAABwAQAAcQEAAHIBAABzAQAAdAEAAHUBAAB2AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmdHM0YXV4AENSRUFURSBUQUJMRSB4KHRlcm0sIGNvbCwgZG9jdW1lbnRzLCBvY2N1cnJlbmNlcywgbGFuZ3VhZ2VpZCBISURERU4pAGludmFsaWQgYXJndW1lbnRzIHRvIGZ0czRhdXggY29uc3RydWN0b3IAREVMRVRFIEZST00gJVEuJyVxX2NvbnRlbnQnIFdIRVJFIHJvd2lkID0gPwBTRUxFQ1QgTk9UIEVYSVNUUyhTRUxFQ1QgZG9jaWQgRlJPTSAlUS4nJXFfY29udGVudCcgV0hFUkUgcm93aWQhPT8pAERFTEVURSBGUk9NICVRLiclcV9jb250ZW50JwBERUxFVEUgRlJPTSAlUS4nJXFfc2VnbWVudHMnAERFTEVURSBGUk9NICVRLiclcV9zZWdkaXInAERFTEVURSBGUk9NICVRLiclcV9kb2NzaXplJwBERUxFVEUgRlJPTSAlUS4nJXFfc3RhdCcAU0VMRUNUICVzIFdIRVJFIHJvd2lkPT8AU0VMRUNUIChTRUxFQ1QgbWF4KGlkeCkgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8pICsgMQBSRVBMQUNFIElOVE8gJVEuJyVxX3NlZ21lbnRzJyhibG9ja2lkLCBibG9jaykgVkFMVUVTKD8sID8pAFNFTEVDVCBjb2FsZXNjZSgoU0VMRUNUIG1heChibG9ja2lkKSBGUk9NICVRLiclcV9zZWdtZW50cycpICsgMSwgMSkAUkVQTEFDRSBJTlRPICVRLiclcV9zZWdkaXInIFZBTFVFUyg/LD8sPyw/LD8sPykAU0VMRUNUIGlkeCwgc3RhcnRfYmxvY2ssIGxlYXZlc19lbmRfYmxvY2ssIGVuZF9ibG9jaywgcm9vdCBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPyBPUkRFUiBCWSBpZHggQVNDAFNFTEVDVCBpZHgsIHN0YXJ0X2Jsb2NrLCBsZWF2ZXNfZW5kX2Jsb2NrLCBlbmRfYmxvY2ssIHJvb3QgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCBCRVRXRUVOID8gQU5EID9PUkRFUiBCWSBsZXZlbCBERVNDLCBpZHggQVNDAFNFTEVDVCBjb3VudCgqKSBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPwBTRUxFQ1QgbWF4KGxldmVsKSBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsIEJFVFdFRU4gPyBBTkQgPwBERUxFVEUgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8AREVMRVRFIEZST00gJVEuJyVxX3NlZ21lbnRzJyBXSEVSRSBibG9ja2lkIEJFVFdFRU4gPyBBTkQgPwBJTlNFUlQgSU5UTyAlUS4nJXFfY29udGVudCcgVkFMVUVTKCVzKQBERUxFVEUgRlJPTSAlUS4nJXFfZG9jc2l6ZScgV0hFUkUgZG9jaWQgPSA/AFJFUExBQ0UgSU5UTyAlUS4nJXFfZG9jc2l6ZScgVkFMVUVTKD8sPykAU0VMRUNUIHNpemUgRlJPTSAlUS4nJXFfZG9jc2l6ZScgV0hFUkUgZG9jaWQ9PwBTRUxFQ1QgdmFsdWUgRlJPTSAlUS4nJXFfc3RhdCcgV0hFUkUgaWQ9PwBSRVBMQUNFIElOVE8gJVEuJyVxX3N0YXQnIFZBTFVFUyg/LD8pAERFTEVURSBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsIEJFVFdFRU4gPyBBTkQgPwBTRUxFQ1QgPyBVTklPTiBTRUxFQ1QgbGV2ZWwgLyAoMTAyNCAqID8pIEZST00gJVEuJyVxX3NlZ2RpcicAU0VMRUNUIGxldmVsLCBjb3VudCgqKSBBUyBjbnQgRlJPTSAlUS4nJXFfc2VnZGlyJyAgIEdST1VQIEJZIGxldmVsIEhBVklORyBjbnQ+PT8gIE9SREVSIEJZIChsZXZlbCAlJSAxMDI0KSBBU0MsIDIgREVTQyBMSU1JVCAxAFNFTEVDVCAyICogdG90YWwoMSArIGxlYXZlc19lbmRfYmxvY2sgLSBzdGFydF9ibG9jaykgICBGUk9NIChTRUxFQ1QgKiBGUk9NICVRLiclcV9zZWdkaXInICAgICAgICAgV0hFUkUgbGV2ZWwgPSA/IE9SREVSIEJZIGlkeCBBU0MgTElNSVQgPyAgKQBERUxFVEUgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8gQU5EIGlkeCA9ID8AVVBEQVRFICVRLiclcV9zZWdkaXInIFNFVCBpZHggPSA/IFdIRVJFIGxldmVsPT8gQU5EIGlkeD0/AFNFTEVDVCBpZHgsIHN0YXJ0X2Jsb2NrLCBsZWF2ZXNfZW5kX2Jsb2NrLCBlbmRfYmxvY2ssIHJvb3QgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8gQU5EIGlkeCA9ID8AVVBEQVRFICVRLiclcV9zZWdkaXInIFNFVCBzdGFydF9ibG9jayA9ID8sIHJvb3QgPSA/V0hFUkUgbGV2ZWwgPSA/IEFORCBpZHggPSA/AFNFTEVDVCAxIEZST00gJVEuJyVxX3NlZ21lbnRzJyBXSEVSRSBibG9ja2lkPT8gQU5EIGJsb2NrIElTIE5VTEwAU0VMRUNUIGlkeCBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsPT8gT1JERVIgQlkgMSBBU0MAU0VMRUNUIG1heCggbGV2ZWwgJSUgMTAyNCApIEZST00gJVEuJyVxX3NlZ2RpcicAU0VMRUNUIGxldmVsLCBpZHgsIGVuZF9ibG9jayBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsIEJFVFdFRU4gPyBBTkQgPyBPUkRFUiBCWSBsZXZlbCBERVNDLCBpZHggQVNDAFVQREFURSBPUiBGQUlMICVRLiclcV9zZWdkaXInIFNFVCBsZXZlbD0tMSxpZHg9PyBXSEVSRSBsZXZlbD0/IEFORCBpZHg9PwBVUERBVEUgT1IgRkFJTCAlUS4nJXFfc2VnZGlyJyBTRVQgbGV2ZWw9PyBXSEVSRSBsZXZlbD0tMQAAAAAAAAAWsQAAQrEAAIaxAACisQAAv7EAANqxAAD2sQAAD7IAACeyAABosgAAo7IAAOeyAAAXswAAh7MAAA60AABCtAAAhLQAAK+0AADqtAAAEbUAAD21AABmtQAAlbUAAL+1AABIBQAASAUAAOW1AAActgAAWbYAANi2AABmtwAAnbcAANe3AABCuAAAkbgAANK4AAAOuQAAPrkAAKi5AADxuQAAJXNfc2VnbWVudHMAYmxvY2sAAAAAAAAAdwEAAHgBAAB5AQAAegEAAHsBAAAAAAAAAAAAAHwBAAB9AQAAfgEAAH8BAACAAQAAAAAAAAAAAAABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAHNlc3MAc3MAc2VpAGkAZGVlAGVlAGduaQBkZQB0YQBhdGUAbGIAYmxlAHppAGl6ZQBsYW5vaXRhAGxhbm9pdAB0aW9uAGljbmUAZW5jZQBpY25hAGFuY2UAcmV6aQBpZ29sAGlsYgBpbGxhAGFsAGlsdG5lAGVudABpbGUAZQBpbHN1bwBvdXMAbm9pdGF6aQBub2l0YQByb3RhAG1zaWxhAHNzZW5ldmkAaXZlAHNzZW5sdWYAZnVsAHNzZW5zdW8AaXRpbGEAaXRpdmkAaXRpbGliAGV0YWNpAGljAGV2aXRhAGV6aWxhAGl0aWNpAGxhY2kAbHVmAHNzZW4AdG5lbWUAdG5lbQB0bmUAbm9pAGV0YQBpdGkAAAAAAAAAAAABAQEAAQEBAAEBAQEBAAEBAQEBAAEBAQIBYXJndW1lbnQgdHlwZSBtaXNtYXRjaABmdHMzdG9rZW5pemUgZGlzYWJsZWQAdW5rbm93biB0b2tlbml6ZXI6ICVzAHRva2VuaXplAHByZWZpeABjb21wcmVzcwB1bmNvbXByZXNzAG9yZGVyAGNvbnRlbnQAbGFuZ3VhZ2VpZABub3RpbmRleGVkAAAAAAAAAAAAAAAAMaQAAAkAAAD2vAAABgAAAP28AAAIAAAABr0AAAoAAAARvQAABQAAABe9AAAHAAAAH70AAAoAAAAqvQAACgAAAHVucmVjb2duaXplZCBtYXRjaGluZm86ICVzAGFzYwB1bnJlY29nbml6ZWQgb3JkZXI6ICVzAHVucmVjb2duaXplZCBwYXJhbWV0ZXI6ICVzAGVycm9yIHBhcnNpbmcgcHJlZml4IHBhcmFtZXRlcjogJXMAbWlzc2luZyAlcyBwYXJhbWV0ZXIgaW4gZnRzNCBjb25zdHJ1Y3RvcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAHVua25vd24gdG9rZW5pemVyAFNFTEVDVCAqIEZST00gJVEuJVEAZG9jaWQALCVzKHguJ2MlZCVxJykALCB4LiVRAGxhbmdpZAAsIHguJyVxJwAgRlJPTSAnJXEnLiclcSVzJyBBUyB4AF9jb250ZW50ACwlcyg/KQAsID8AZG9jaWQgSU5URUdFUiBQUklNQVJZIEtFWQAleiwgJ2MlZCVxJwAleiwgbGFuZ2lkAENSRUFURSBUQUJMRSAlUS4nJXFfY29udGVudCcoJXMpAENSRUFURSBUQUJMRSAlUS4nJXFfc2VnbWVudHMnKGJsb2NraWQgSU5URUdFUiBQUklNQVJZIEtFWSwgYmxvY2sgQkxPQik7AENSRUFURSBUQUJMRSAlUS4nJXFfc2VnZGlyJyhsZXZlbCBJTlRFR0VSLGlkeCBJTlRFR0VSLHN0YXJ0X2Jsb2NrIElOVEVHRVIsbGVhdmVzX2VuZF9ibG9jayBJTlRFR0VSLGVuZF9ibG9jayBJTlRFR0VSLHJvb3QgQkxPQixQUklNQVJZIEtFWShsZXZlbCwgaWR4KSk7AENSRUFURSBUQUJMRSAlUS4nJXFfZG9jc2l6ZScoZG9jaWQgSU5URUdFUiBQUklNQVJZIEtFWSwgc2l6ZSBCTE9CKTsAQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgJVEuJyVxX3N0YXQnKGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIHZhbHVlIEJMT0IpOwBQUkFHTUEgJVEucGFnZV9zaXplAF9fbGFuZ2lkACVRLCAAJXolUSwgAENSRUFURSBUQUJMRSB4KCVzICVRIEhJRERFTiwgZG9jaWQgSElEREVOLCAlUSBISURERU4pAERFU0MAQVNDAERST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9zZWdtZW50cyc7RFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX3NlZ2Rpcic7RFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX2RvY3NpemUnO0RST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9zdGF0JzslcyBEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfY29udGVudCc7AC0tAFNFTEVDVCAlcyBXSEVSRSByb3dpZCBCRVRXRUVOICVsbGQgQU5EICVsbGQgT1JERVIgQlkgcm93aWQgJXMAU0VMRUNUICVzIE9SREVSIEJZIHJvd2lkICVzAEZUUyBleHByZXNzaW9uIHRyZWUgaXMgdG9vIGxhcmdlIChtYXhpbXVtIGRlcHRoICVkKQBtYWxmb3JtZWQgTUFUQ0ggZXhwcmVzc2lvbjogWyVzXQAAAAAAAAAAAAAAAODCAAACAAQA48IAAAMBAwDnwgAAAwECAOvCAAAEAAEAT1IAQU5EAE5PVABORUFSAFNFTEVDVCAlcyBXSEVSRSByb3dpZCA9ID8AZnRzM2N1cnNvcgByZWJ1aWxkAGludGVncml0eS1jaGVjawBtZXJnZT0AYXV0b21lcmdlPQAlbGxkICVsbGQAU0VMRUNUICVzACVzX3N0YXQAAAAAAAAhpAAAgQEAACmkAACCAQAATjQAAIMBAAAxpAAAhAEAADxiPgA8L2I+ADxiPi4uLjwvYj4Ad3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBmdW5jdGlvbiBzbmlwcGV0KCkAaWxsZWdhbCBmaXJzdCBhcmd1bWVudCB0byAlcwAlZCAlZCAlZCAlZCAASW5kZXggb3B0aW1pemVkAEluZGV4IGFscmVhZHkgb3B0aW1hbABTQVZFUE9JTlQgZnRzMwBSRUxFQVNFIGZ0czMAUk9MTEJBQ0sgVE8gZnRzMwBwY3gAdW5yZWNvZ25pemVkIG1hdGNoaW5mbyByZXF1ZXN0OiAlYwBBTFRFUiBUQUJMRSAlUS4nJXFfY29udGVudCcgIFJFTkFNRSBUTyAnJXFfY29udGVudCc7AEFMVEVSIFRBQkxFICVRLiclcV9kb2NzaXplJyAgUkVOQU1FIFRPICclcV9kb2NzaXplJzsAQUxURVIgVEFCTEUgJVEuJyVxX3N0YXQnICBSRU5BTUUgVE8gJyVxX3N0YXQnOwBBTFRFUiBUQUJMRSAlUS4nJXFfc2VnbWVudHMnIFJFTkFNRSBUTyAnJXFfc2VnbWVudHMnOwBBTFRFUiBUQUJMRSAlUS4nJXFfc2VnZGlyJyAgIFJFTkFNRSBUTyAnJXFfc2VnZGlyJzsAZG9jc2l6ZQBzZWdkaXIAc2VnbWVudHMAAAAAAACFAQAAhQEAAIYBAACHAQAAhwEAAIgBAACJAQAAigEAAIsBAACMAQAAjQEAAI4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGZ0czN0b2tlbml6ZQBDUkVBVEUgVEFCTEUgeChpbnB1dCwgdG9rZW4sIHN0YXJ0LCBlbmQsIHBvc2l0aW9uKQADAAAAjwEAAJABAACRAQAAkgEAAJMBAACUAQAAlQEAAJYBAACXAQAAmAEAAJkBAACaAQAAmwEAAJwBAACdAQAAngEAAJ8BAACgAQAAoQEAAKIBAACjAQAApAEAAKUBAABmdHM1AGZ0czVfc291cmNlX2lkAHJhbmsAcmVzZXJ2ZWQgZnRzNSB0YWJsZSBuYW1lOiAlcwBwYXJzZSBlcnJvciBpbiAiJXMiACVRLiclcV8lcycAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAbWFsZm9ybWVkIHByZWZpeD0uLi4gZGlyZWN0aXZlAHRvbyBtYW55IHByZWZpeCBpbmRleGVzIChtYXggJWQpAHByZWZpeCBsZW5ndGggb3V0IG9mIHJhbmdlIChtYXggOTk5KQBtdWx0aXBsZSB0b2tlbml6ZT0uLi4gZGlyZWN0aXZlcwBwYXJzZSBlcnJvciBpbiB0b2tlbml6ZSBkaXJlY3RpdmUAbXVsdGlwbGUgY29udGVudD0uLi4gZGlyZWN0aXZlcwAlUS4lUQBjb250ZW50X3Jvd2lkAG11bHRpcGxlIGNvbnRlbnRfcm93aWQ9Li4uIGRpcmVjdGl2ZXMAY29sdW1uc2l6ZQBtYWxmb3JtZWQgY29sdW1uc2l6ZT0uLi4gZGlyZWN0aXZlAGNvbHVtbnMAAAAAAAAAAADeiAAAAQAAAL+IAAAAAAAAkMgAAAIAAAAAAAAAAAAAAG1hbGZvcm1lZCBkZXRhaWw9Li4uIGRpcmVjdGl2ZQB1bnJlY29nbml6ZWQgb3B0aW9uOiAiJS4qcyIAbm8gc3VjaCB0b2tlbml6ZXI6ICVzAGVycm9yIGluIHRva2VuaXplciBjb25zdHJ1Y3RvcgBjYXNlX3NlbnNpdGl2ZQByZXNlcnZlZCBmdHM1IGNvbHVtbiBuYW1lOiAlcwB1bmluZGV4ZWQAdW5yZWNvZ25pemVkIGNvbHVtbiBvcHRpb246ICVzAFQuJVEALCBULiVRACwgVC5jJWQAJXNfZGF0YQBkYXRhAGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIGJsb2NrIEJMT0IAc2VnaWQsIHRlcm0sIHBnbm8sIFBSSU1BUlkgS0VZKHNlZ2lkLCB0ZXJtKQBDUkVBVEUgVEFCTEUgJVEuJyVxXyVxJyglcyklcwAgV0lUSE9VVCBST1dJRABmdHM1OiBlcnJvciBjcmVhdGluZyBzaGFkb3cgdGFibGUgJXFfJXM6ICVzAFJFUExBQ0UgSU5UTyAnJXEnLiclcV9kYXRhJyhpZCwgYmxvY2spIFZBTFVFUyg/LD8pAGlkIElOVEVHRVIgUFJJTUFSWSBLRVkALCBjJWQAaWQgSU5URUdFUiBQUklNQVJZIEtFWSwgc3ogQkxPQgBjb25maWcAayBQUklNQVJZIEtFWSwgdgB2ZXJzaW9uAFNFTEVDVCAlcyBGUk9NICVzIFQgV0hFUkUgVC4lUSA+PSA/IEFORCBULiVRIDw9ID8gT1JERVIgQlkgVC4lUSBBU0MAU0VMRUNUICVzIEZST00gJXMgVCBXSEVSRSBULiVRIDw9ID8gQU5EIFQuJVEgPj0gPyBPUkRFUiBCWSBULiVRIERFU0MAU0VMRUNUICVzIEZST00gJXMgVCBXSEVSRSBULiVRPT8AUkVQTEFDRSBJTlRPICVRLiclcV9jb250ZW50JyBWQUxVRVMoJXMpAERFTEVURSBGUk9NICVRLiclcV9jb250ZW50JyBXSEVSRSBpZD0/AERFTEVURSBGUk9NICVRLiclcV9kb2NzaXplJyBXSEVSRSBpZD0/AFNFTEVDVCBzeiBGUk9NICVRLiclcV9kb2NzaXplJyBXSEVSRSBpZD0/AFJFUExBQ0UgSU5UTyAlUS4nJXFfY29uZmlnJyBWQUxVRVMoPyw/KQBTRUxFQ1QgJXMgRlJPTSAlcyBBUyBUAAAAAAAAAAAA38oAACPLAABoywAA6rQAAInLAACxywAAPbUAANjLAAD/ywAAKcwAAFHMAABDUkVBVEUgVEFCTEUgeCgAJXolcyVRACV6LCAlUSBISURERU4sICVzIEhJRERFTikAUFJBR01BICVRLmRhdGFfdmVyc2lvbgBTRUxFQ1QgaywgdiBGUk9NICVRLiclcV9jb25maWcnAGludmFsaWQgZnRzNSBmaWxlIGZvcm1hdCAoZm91bmQgJWQsIGV4cGVjdGVkICVkKSAtIHJ1biAncmVidWlsZCcAcGdzegBoYXNoc2l6ZQBhdXRvbWVyZ2UAdXNlcm1lcmdlAGNyaXNpc21lcmdlAHJlY3Vyc2l2ZWx5IGRlZmluZWQgZnRzNSBjb250ZW50IHRhYmxlAERST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9kYXRhJztEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfaWR4JztEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfY29uZmlnJzsARFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX2RvY3NpemUnOwBEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfY29udGVudCc7ACVzOiB0YWJsZSBkb2VzIG5vdCBzdXBwb3J0IHNjYW5uaW5nAHJlYWRzAHVua25vd24gc3BlY2lhbCBxdWVyeTogJS4qcwB1bnRlcm1pbmF0ZWQgc3RyaW5nAGZ0czU6IHN5bnRheCBlcnJvciBuZWFyICIlLjFzIgAAAAAAAAAAAAAsLCwsLCwzTSsMDlNSDhcXHx9HSk5RVlsGNTU8QEQ1V1w1XQAAAAAAAAAAAAAAAAAQERITFBYWGBgREhMUBxYJGBESExQJFgkYDRESExQaFhgYERITFA8WCRgREhMUGhYVGAYHCQkKDAwGBxUJGBkMEgUUDhYFGAMBAgMBAgMAAQIDCwIDCwkKBQwXGAoKCAkJDw8ICQkbGwsbGxsbGxsbGxsbGxsbGxsbAAAAAAAAAFBQUFBQUF9QUGlQbm5Qbm5QUFBQUFtQUFBlZFBQWmdQUGhQAAAAAAAAAAAAAAAAAFEUYAYcY2IaGhJgBhwRYjgaE2AGHA5iDhofXGAGHGxiGRoVYAYcTmI6Gh1gBhxrYhYaGBAMCwENDRgQFwshIg1hCBsgYgcaAwQFAwQFA1MEBQM/BQM+DAJWDQkeCgo2OUtOTjU5D1JSRwAAAAAAAAD//P3//v7//f39+/3///7//f/++//+AP78/v8AAAAAABAUFBQUFRURERERERETExISFhYWFxcZGRgYGhpmdHM1OiBwYXJzZXIgc3RhY2sgb3ZlcmZsb3cAZnRzNTogJXMgcXVlcmllcyBhcmUgbm90IHN1cHBvcnRlZCAoZGV0YWlsIT1mdWxsKQBwaHJhc2UAZnRzNTogc3ludGF4IGVycm9yIG5lYXIgIiUuKnMiAGV4cGVjdGVkIGludGVnZXIsIGdvdCAiJS4qcyIAAAAA8PgACREZLu/vJUMEBAgEFBsmZnRzNTogY29sdW1uIHF1ZXJpZXMgYXJlIG5vdCBzdXBwb3J0ZWQgKGRldGFpbD1ub25lKQBTRUxFQ1QgcGdubyBGUk9NICclcScuJyVxX2lkeCcgV0hFUkUgc2VnaWQ9PyBBTkQgdGVybTw9PyBPUkRFUiBCWSB0ZXJtIERFU0MgTElNSVQgMQBwYXJzZSBlcnJvciBpbiByYW5rIGZ1bmN0aW9uOiAlcwBibTI1AFNFTEVDVCByb3dpZCwgcmFuayBGUk9NICVRLiVRIE9SREVSIEJZICVzKCIldyIlcyVzKSAlcwBubyBzdWNoIGZ1bmN0aW9uOiAlcwAAAAACAAAApgEAAKcBAACoAQAAqQEAAKoBAACrAQAArAEAAK0BAACuAQAArwEAALABAACxAQAAsgEAALMBAAC0AQAAtQEAALYBAAC3AQAAuAEAAGNhbm5vdCAlcyBjb250ZW50bGVzcyBmdHM1IHRhYmxlOiAlcwBVUERBVEUAREVMRVRFIGZyb20AZGVsZXRlLWFsbAAnZGVsZXRlLWFsbCcgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIGEgY29udGVudGxlc3Mgb3IgZXh0ZXJuYWwgY29udGVudCBmdHM1IHRhYmxlACdyZWJ1aWxkJyBtYXkgbm90IGJlIHVzZWQgd2l0aCBhIGNvbnRlbnRsZXNzIGZ0czUgdGFibGUAbWVyZ2UAREVMRVRFIEZST00gJVEuJyVxX2RhdGEnO0RFTEVURSBGUk9NICVRLiclcV9pZHgnOwBERUxFVEUgRlJPTSAlUS4nJXFfZG9jc2l6ZSc7AElOU0VSVCBJTlRPICclcScuJyVxX2lkeCcoc2VnaWQsdGVybSxwZ25vKSBWQUxVRVMoPyw/LD8pAAAAAABERUxFVEUgRlJPTSAnJXEnLiclcV9pZHgnIFdIRVJFIHNlZ2lkPT8AREVMRVRFIEZST00gJyVxJy4nJXFfZGF0YScgV0hFUkUgaWQ+PT8gQU5EIGlkPD0/AFNFTEVDVCBjb3VudCgqKSBGUk9NICVRLiclcV8lcycAAAAAAABTRUxFQ1Qgc2VnaWQsIHRlcm0sIChwZ25vPj4xKSwgKHBnbm8mMSkgRlJPTSAlUS4nJXFfaWR4JyBXSEVSRSBzZWdpZD0lZCBPUkRFUiBCWSAxLCAyAG5vIHN1Y2ggY3Vyc29yOiAlbGxkAEFMVEVSIFRBQkxFICVRLiclcV8lcycgUkVOQU1FIFRPICclcV8lcyc7AGZ0czVfZGVjb2RlAGZ0czVfZGVjb2RlX25vbmUAZnRzNV9yb3dpZAAgJWQoJWxsZCkAIHRlcm09JS4qcwBjb3JydXB0AHthdmVyYWdlc30gAHtzdHJ1Y3R1cmV9AHslc3NlZ2lkPSVkIGg9JWQgcGdubz0lZH0AZGxpZHggACVzJWQAIHtsdmw9JWQgbk1lcmdlPSVkIG5TZWc9JWQAIHtpZD0lZCBsZWF2ZXM9JWQuLiVkfQB9ACsAICVsbGQlcwAgJWQAIGlkPSVsbGQAIG5Qb3M9JWQlcwBzaG91bGQgYmU6IGZ0czVfcm93aWQoc3ViamVjdCwgLi4uLikAc2VnbWVudABzaG91bGQgYmU6IGZ0czVfcm93aWQoJ3NlZ21lbnQnLCBzZWdpZCwgcGdubykpAGZpcnN0IGFyZyB0byBmdHM1X3Jvd2lkKCkgbXVzdCBiZSAnc2VnbWVudCcAZnRzNV9leHByAGZ0czVfZXhwcl90Y2wAZnRzNV9pc2FsbnVtAGZ0czVfZm9sZAAh1gAAuQEAACvWAAC6AQAAOdYAALsBAABG1gAAvAEAAG5lYXJzZXQAd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBmdW5jdGlvbiAlcwAlcyAALWNvbCAlZCAALWNvbCB7JWQAfSAALW5lYXIgJWQgACB7ACBbJXpdACIiAHsAJXMgOiAATkVBUigAICsgACwgJWQpACBOT1QgACBPUiAAJXMlcyV6JXMAd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBmdW5jdGlvbiBmdHM1X2lzYWxudW0ATCoATioAQ28Ad3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBmdW5jdGlvbiBmdHM1X2ZvbGQAAAAAAAAAAABBAA4atQBAAcAADhfYAA4HAAEBMDIBAQY5AQEQSgEBLngBdAF5AQEGfwFoAYEBMgGCAQEEhgEsAYcBAAGJASoCiwEAAY4BIAGPASYBkAEoAZEBAAGTASoBlAEuAZYBNAGXATABmAEAAZwBNAGdATYBnwE4AaABAQamATwBpwEAAakBPAGsAQABrgE8Aa8BAAGxAToCswEBBLcBPgG4AQABvAEAAcQBAgHFAQABxwECAcgBAAHKAQIBywEBEt4BARLxAQIB8gEBBPYBegH3AYYB+AEBKCACbgEiAgESOgJGATsCAAE9AmwBPgJEAUECAAFDAmoBRAIcAUUCHgFGAgEKRQMkAXADAQR2AwABhgMSAYgDEAOMAxoBjgMYApEDDhGjAw4JwgMAAc8DBAHQA4wB0QOOAdUDkgHWA5AB2AMBGPADiAHxA4oB9AOCAfUDgAH3AwAB+QOYAfoDAAH9A24DAAQiEBAEDiBgBAEiigQBNsAEBgHBBAEO0AQBWDEFFiagEEImxxBCAc0QQgEAHgGWmx6EAZ4eYAGgHgFgCB+WCBgflgYoH5YIOB+WCEgflgZZH5cIaB+WCIgflgiYH5YIqB+WCLgflgK6H34CvB+UAb4fZAHIH3wEzB+UAdgflgLaH3gC6B+WAuofdgLsH5gB+B9wAvofcgL8H5QBJiFiASohXAErIV4BMiEMAWAhCBCDIQABtiQKGgAsFi9gLAABYixYAWMsZgFkLFoBZywBBm0sVAFuLFYBbyxQAXAsUgFyLAABdSwAAX4sTgKALAFk6ywBBPIsAAFApgEugKYBGCKnAQ4ypwE+eacBBH2nTAF+pwEKi6cAAY2nSgGQpwEEoKcBCqqnSAEh/w4aAAAAAAEAAgAIAA8AEAAaABwAIAAlACYAKAAwAD8AQABFAEcATwBQAHQAygDLAM0AzgDPANEA0gDTANUA1gDZANoA2wAHA2AcKCorKrxa2Fr8dcHV4dXi1eTVA9YJ1hnWQd+630Hio+L74xrx9P49/13/fv+A/4L/h/+Q/5z/n/+q/7b/wP/E/8b/yP/K/9D/4v/n/+r/8f/3//j/+f8AAAAAAAAAAAUHOAdDB2MHiAeUB8sH6Af4BwwIPgh4CJ4I2AjuCCgJTwmoCbgJ1AkkCmwKrAreChoLTguKC6gLuAvUCwgNgA1wDoAOkA6gDrYO+A44D0gPWA9oD4APqA/ID9gPChAqEEoQahCKEKoQyBDYEPgQOBFIEVoReBGIEZgRBBg2GHgYiBjYGB0ZaRmBGQjwHPBI8F7wmPCq8Mrw6PD48AjxHvFY8WjxePGM8bjxyPHa8fzxLvJu8qryyvLo8vjyCvMs817znPPK8+rzDvRI9Fr0ePSM9LD0uPTA9Mj0CvUu9W71qvXM9f71OPZK9mr2jvbO9gr3KvdO94j3nvcAAAAAAGFjZWlub3V5eWFjZGVlZ2hpamtsbm9yc3R1dXd5em91YWlvdfXhZ2tv72pnbuFhZWlvcnVzdGhhZe9v73kAAAAAAAAAAGFi42Rk5WXlZmdoaGnpa2zsbG1u73By8nJz83R19XZ3d3h5emh0d3lh4eHhZeXlaW/v7+919fV5aGlnaGxpZ2h0AAAAAAAAAAAAIaQAAAAAAAC9AQAAAAAAAB7cAAAAAAAAvgEAAAAAAACs0QAAAAAAAL8BAAAAAAAAJXolLipzAHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gZnVuY3Rpb24gaGlnaGxpZ2h0KCkAYXNjaWkAdHJpZ3JhbQAAAAAAAAAAAAAIpAAAwAEAAMEBAADCAQAAmdwAAMMBAADEAQAAxQEAAAGkAADGAQAAxwEAAMgBAACf3AAAdgAAAMkBAADKAQAATCogTiogQ28AY2F0ZWdvcmllcwByZW1vdmVfZGlhY3JpdGljcwB0b2tlbmNoYXJzAHNlcGFyYXRvcnMAZWVkAGVkAGluZwBhdABibABpegBhdGlvbmFsAHRpb25hbABlbmNpAGFuY2kAaXplcgBsb2dpAGJsaQBhbGxpAGVudGxpAGVsaQBvdXNsaQBpemF0aW9uAGF0aW9uAGF0b3IAYWxpc20AaXZlbmVzcwBmdWxuZXNzAG91c25lc3MAYWxpdGkAaXZpdGkAYmlsaXRpAGljYWwAbmVzcwBpY2F0ZQBpY2l0aQBhdGl2ZQBhbGl6ZQBlcgBhYmxlAGlibGUAYW50AGVtZW50AG1lbnQAaW9uAG91AGlzbQAAAAACAAAAywEAAMwBAADNAQAAzgEAAM8BAADQAQAA0QEAANIBAADTAQAA1AEAANUBAADWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmdHM1dm9jYWIAQ1JFQVRFIFRBQmxFIHZvY2FiKHRlcm0sIGNvbCwgZG9jLCBjbnQpAENSRUFURSBUQUJsRSB2b2NhYih0ZXJtLCBkb2MsIGNudCkAQ1JFQVRFIFRBQmxFIHZvY2FiKHRlcm0sIGRvYywgY29sLCBvZmZzZXQpAHbeAACe3gAAwd4AAHdyb25nIG51bWJlciBvZiB2dGFibGUgYXJndW1lbnRzAGNvbAByb3cAaW5zdGFuY2UAZnRzNXZvY2FiOiB1bmtub3duIHRhYmxlIHR5cGU6ICVRAHJlY3Vyc2l2ZSBkZWZpbml0aW9uIGZvciAlcy4lcwBTRUxFQ1QgdC4lUSBGUk9NICVRLiVRIEFTIHQgV0hFUkUgdC4lUSBNQVRDSCAnKmlkJwBubyBzdWNoIGZ0czUgdGFibGU6ICVzLiVzAGZ0czVfYXBpX3B0cgBmdHM1OiAyMDIwLTEyLTAxIDE2OjE0OjAwIGEyNmI2NTk3ZTNhZTI3MjIzMWI5NmY5OTgyYzNiY2MxN2RkZWMyZjJiNmViNGRmMDZhMjI0YjkxMDg5ZmVkNWIAcnRyZWVub2RlAHJ0cmVlZGVwdGgAcnRyZWVjaGVjawBydHJlZQBydHJlZV9pMzIAeyVsbGQAICVnAEludmFsaWQgYXJndW1lbnQgdG8gcnRyZWVkZXB0aCgpAHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gZnVuY3Rpb24gcnRyZWVjaGVjaygpAFNFTEVDVCAqIEZST00gJVEuJyVxX3Jvd2lkJwBTY2hlbWEgY29ycnVwdCBvciBub3QgYW4gcnRyZWUAX3Jvd2lkAF9wYXJlbnQARU5EACV6JXMlegBOb2RlICVsbGQgaXMgdG9vIHNtYWxsICglZCBieXRlcykAUnRyZWUgZGVwdGggb3V0IG9mIHJhbmdlICglZCkATm9kZSAlbGxkIGlzIHRvbyBzbWFsbCBmb3IgY2VsbCBjb3VudCBvZiAlZCAoJWQgYnl0ZXMpAFNFTEVDVCBkYXRhIEZST00gJVEuJyVxX25vZGUnIFdIRVJFIG5vZGVubz0/AE5vZGUgJWxsZCBtaXNzaW5nIGZyb20gZGF0YWJhc2UARGltZW5zaW9uICVkIG9mIGNlbGwgJWQgb24gbm9kZSAlbGxkIGlzIGNvcnJ1cHQARGltZW5zaW9uICVkIG9mIGNlbGwgJWQgb24gbm9kZSAlbGxkIGlzIGNvcnJ1cHQgcmVsYXRpdmUgdG8gcGFyZW50AFNFTEVDVCBwYXJlbnRub2RlIEZST00gJVEuJyVxX3BhcmVudCcgV0hFUkUgbm9kZW5vPT8xAFNFTEVDVCBub2Rlbm8gRlJPTSAlUS4nJXFfcm93aWQnIFdIRVJFIHJvd2lkPT8xADriAABw4gAATWFwcGluZyAoJWxsZCAtPiAlbGxkKSBtaXNzaW5nIGZyb20gJXMgdGFibGUAJV9yb3dpZAAlX3BhcmVudABGb3VuZCAoJWxsZCAtPiAlbGxkKSBpbiAlcyB0YWJsZSwgZXhwZWN0ZWQgKCVsbGQgLT4gJWxsZCkAU0VMRUNUIGNvdW50KCopIEZST00gJVEuJyVxJXMnAFdyb25nIG51bWJlciBvZiBlbnRyaWVzIGluICUlJXMgdGFibGUgLSBleHBlY3RlZCAlbGxkLCBhY3R1YWwgJWxsZABXcm9uZyBudW1iZXIgb2YgY29sdW1ucyBmb3IgYW4gcnRyZWUgdGFibGUAVG9vIGZldyBjb2x1bW5zIGZvciBhbiBydHJlZSB0YWJsZQBUb28gbWFueSBjb2x1bW5zIGZvciBhbiBydHJlZSB0YWJsZQBBdXhpbGlhcnkgcnRyZWUgY29sdW1ucyBtdXN0IGJlIGxhc3QAAAAAAAAAAAAAAACC4wAAreMAANDjAAD04wAAQ1JFQVRFIFRBQkxFIHgoJS4qcyBJTlQALCUuKnMALCUuKnMgUkVBTAAsJS4qcyBJTlQAKTsAU0VMRUNUIGxlbmd0aChkYXRhKSBGUk9NICclcScuJyVxX25vZGUnIFdIRVJFIG5vZGVubyA9IDEAdW5kZXJzaXplIFJUcmVlIGJsb2JzIGluICIlcV9ub2RlIgBJTlNFUlQgT1IgUkVQTEFDRSBJTlRPICclcScuJyVxX25vZGUnIFZBTFVFUyg/MSwgPzIpAERFTEVURSBGUk9NICclcScuJyVxX25vZGUnIFdIRVJFIG5vZGVubyA9ID8xAFNFTEVDVCBub2Rlbm8gRlJPTSAnJXEnLiclcV9yb3dpZCcgV0hFUkUgcm93aWQgPSA/MQBJTlNFUlQgT1IgUkVQTEFDRSBJTlRPICclcScuJyVxX3Jvd2lkJyBWQUxVRVMoPzEsID8yKQBERUxFVEUgRlJPTSAnJXEnLiclcV9yb3dpZCcgV0hFUkUgcm93aWQgPSA/MQBTRUxFQ1QgcGFyZW50bm9kZSBGUk9NICclcScuJyVxX3BhcmVudCcgV0hFUkUgbm9kZW5vID0gPzEASU5TRVJUIE9SIFJFUExBQ0UgSU5UTyAnJXEnLiclcV9wYXJlbnQnIFZBTFVFUyg/MSwgPzIpAERFTEVURSBGUk9NICclcScuJyVxX3BhcmVudCcgV0hFUkUgbm9kZW5vID0gPzEAQ1JFQVRFIFRBQkxFICIldyIuIiV3X3Jvd2lkIihyb3dpZCBJTlRFR0VSIFBSSU1BUlkgS0VZLG5vZGVubwAsYSVkACk7Q1JFQVRFIFRBQkxFICIldyIuIiV3X25vZGUiKG5vZGVubyBJTlRFR0VSIFBSSU1BUlkgS0VZLGRhdGEpOwBDUkVBVEUgVEFCTEUgIiV3Ii4iJXdfcGFyZW50Iihub2Rlbm8gSU5URUdFUiBQUklNQVJZIEtFWSxwYXJlbnRub2RlKTsASU5TRVJUIElOVE8gIiV3Ii4iJXdfbm9kZSJWQUxVRVMoMSx6ZXJvYmxvYiglZCkpAElOU0VSVCBJTlRPIiV3Ii4iJXdfcm93aWQiKHJvd2lkLG5vZGVubylWQUxVRVMoPzEsPzIpT04gQ09ORkxJQ1Qocm93aWQpRE8gVVBEQVRFIFNFVCBub2Rlbm89ZXhjbHVkZWQubm9kZW5vAFNFTEVDVCAqIEZST00gIiV3Ii4iJXdfcm93aWQiIFdIRVJFIHJvd2lkPT8xAFVQREFURSAiJXciLiIld19yb3dpZCJTRVQgAGElZD1jb2FsZXNjZSg/JWQsYSVkKQBhJWQ9PyVkACBXSEVSRSByb3dpZD0/MQBTRUxFQ1Qgc3RhdCBGUk9NICVRLnNxbGl0ZV9zdGF0MSBXSEVSRSB0YmwgPSAnJXFfcm93aWQnAERST1AgVEFCTEUgJyVxJy4nJXFfbm9kZSc7RFJPUCBUQUJMRSAnJXEnLiclcV9yb3dpZCc7RFJPUCBUQUJMRSAnJXEnLiclcV9wYXJlbnQnOwAlc19ub2RlAFJ0cmVlTWF0Y2hBcmcAVU5JUVVFIGNvbnN0cmFpbnQgZmFpbGVkOiAlcy4lcwBydHJlZSBjb25zdHJhaW50IGZhaWxlZDogJXMuKCVzPD0lcykAQUxURVIgVEFCTEUgJVEuJyVxX25vZGUnICAgUkVOQU1FIFRPICIld19ub2RlIjtBTFRFUiBUQUJMRSAlUS4nJXFfcGFyZW50JyBSRU5BTUUgVE8gIiV3X3BhcmVudCI7QUxURVIgVEFCTEUgJVEuJyVxX3Jvd2lkJyAgUkVOQU1FIFRPICIld19yb3dpZCI7AG5vZGUAAAAAAAAAAAAAALDqAAABAAAAAAAAAOkBAAC16gAA/////wAAAADqAQAAwOoAAAEAAAAAAAAA6wEAAMDqAAACAAAAAAAAAOsBAADS6gAA/////wAAAADsAQAA3+oAAP////8AAAAA7QEAAOvqAAD/////AAAAAO4BAAD36gAAAgAAAAAAAADvAQAAAusAAAEAAAAAAAAA8AEAAA3rAAD/////AAAAAOkBAAAZ6wAA/////wAAAADxAQAAJusAAP////8BAAAA7QEAAC/rAAABAAAAAAAAAPIBAAAv6wAAAgAAAAAAAADyAQAAOesAAAEAAAAAAAAA8wEAAGpzb24AanNvbl9hcnJheQBqc29uX2FycmF5X2xlbmd0aABqc29uX2V4dHJhY3QAanNvbl9pbnNlcnQAanNvbl9vYmplY3QAanNvbl9wYXRjaABqc29uX3F1b3RlAGpzb25fcmVtb3ZlAGpzb25fcmVwbGFjZQBqc29uX3NldABqc29uX3R5cGUAanNvbl92YWxpZAAAAAAAAAAAAAAAAAB46wAAAQAAAPQBAAD1AQAA9gEAAInrAAACAAAA9wEAAPgBAAD5AQAAanNvbl9ncm91cF9hcnJheQBqc29uX2dyb3VwX29iamVjdAAAAAAAALDrAAAcOwEAuusAAHw7AQBqc29uX2VhY2gAanNvbl90cmVlAG1hbGZvcm1lZCBKU09OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWzBdAEpTT04gcGF0aCBlcnJvciBuZWFyICclcScASlNPTiBjYW5ub3QgaG9sZCBCTE9CIHZhbHVlcwAAAAAAAAAAAAAAAAAAYnRuAGZyAAAAAAAAAAAAAAAAAAAAAAAAMDEyMzQ1Njc4OWFiY2RlZgBzZXQAaW5zZXJ0AGpzb25fJXMoKSBuZWVkcyBhbiBvZGQgbnVtYmVyIG9mIGFyZ3VtZW50cwBqc29uX29iamVjdCgpIHJlcXVpcmVzIGFuIGV2ZW4gbnVtYmVyIG9mIGFyZ3VtZW50cwBqc29uX29iamVjdCgpIGxhYmVscyBtdXN0IGJlIFRFWFQAAAAAADktAAAOcwAAE3MAAEMtAAA+LQAAtJwAAADuAAAG7gAAYXJyYXkAb2JqZWN0AFtdAHt9AENSRUFURSBUQUJMRSB4KGtleSx2YWx1ZSx0eXBlLGF0b20saWQscGFyZW50LGZ1bGxrZXkscGF0aCxqc29uIEhJRERFTixyb290IEhJRERFTikAWyVkXQAuJS4qcwAkAGF1dG9tYXRpYyBleHRlbnNpb24gbG9hZGluZyBmYWlsZWQ6ICVzAHVuYWJsZSB0byBkZWxldGUvbW9kaWZ5IGNvbGxhdGlvbiBzZXF1ZW5jZSBkdWUgdG8gYWN0aXZlIHN0YXRlbWVudHMAbWlzdXNlAHNxbGl0ZV90ZW1wX3NjaGVtYQBzcWxpdGVfc2NoZW1hAF9ST1dJRF8AT0lEAAAAAAAAAAAAAAAAAAAAVO8AAGrvAAB27wAAgu8AAJrvAACm7wAAsu8AAL/vAADM7wAA2u8AAOrvAAD+7wAAFfAAAENPTVBJTEVSPWNsYW5nLTEyLjAuMABESVNBQkxFX0xGUwBFTkFCTEVfRlRTMwBFTkFCTEVfRlRTM19QQVJFTlRIRVNJUwBFTkFCTEVfRlRTNABFTkFCTEVfRlRTNQBFTkFCTEVfSlNPTjEARU5BQkxFX1JUUkVFAE9NSVRfREVDTFRZUEUAT01JVF9ERVBSRUNBVEVEAE9NSVRfTE9BRF9FWFRFTlNJT04AT01JVF9QUk9HUkVTU19DQUxMQkFDSwBUSFJFQURTQUZFPTAAAAAAAAAAAAAAAAAAAAAQ8gAAAQABAAkCAAAV8gAAAQABAAoCAAAa8gAAAQABAAsCAAAf8gAAAgABAAwCAAAk8gAAAgABAAwCAAAq8gAAAQABAA0CAAAw8gAAAQABAA4CAAA28gAAAQABAA8CAAA88gAAAgABABACAABH8gAAAQABABECAABP8gAAAQABABICAABX8gAAAQABABMCAABb8gAAAQABABQCAABf8gAAAQABABUCAABj8gAAAQABABYCAABn8gAAAQABABcCAABs8gAAAQABABgCAABx8gAAAQABABkCAAB28gAAAQABABoCAAB78gAAAQABABsCAAB/8gAAAQABABwCAACD8gAAAQABAB0CAACJ8gAAAgABAB4CAACP8gAAAQABAB8CAACU8gAAAQABACACAACZ8gAAAQABACECAACg8gAAAQABACICAACl8gAAAQABACMCAACr8gAAAAABASQCAACu8gAAAgABACUCAAC48gAAAgABACYCAAC48gAAAwABACYCAADC8gAAAgABACcCAADK8gAAAgABACgCAADT8gAAAQABACkCAADb8gAAAQABACoCAADi8gAAAgABACsCAADn8gAAAgABACwCAADs8gAAAgABAC0CAADx8gAAAgABAC4CAABhY29zAGFzaW4AYXRhbgBhdG4yAGF0YW4yAGFjb3NoAGFzaW5oAGF0YW5oAGRpZmZlcmVuY2UAZGVncmVlcwByYWRpYW5zAGNvcwBzaW4AdGFuAGNvdABjb3NoAHNpbmgAdGFuaABjb3RoAGV4cABsb2cAbG9nMTAAcG93ZXIAc2lnbgBzcXJ0AHNxdWFyZQBjZWlsAGZsb29yAHBpAHJlcGxpY2F0ZQBjaGFyaW5kZXgAbGVmdHN0cgByaWdodHN0cgByZXZlcnNlAHByb3BlcgBwYWRsAHBhZHIAcGFkYwBzdHJmaWx0ZXIAAAAAAABg8wAAAQAAAC8CAAAwAgAAZvMAAAEAAAAvAgAAMQIAAG/zAAABAAAAMgIAADMCAAB08wAAAQAAADICAAA0AgAAe/MAAAEAAAAyAgAANQIAAIrzAAABAAAAMgIAADYCAABzdGRldgB2YXJpYW5jZQBtb2RlAG1lZGlhbgBsb3dlcl9xdWFydGlsZQB1cHBlcl9xdWFydGlsZQBmb3Igbm9kZQBhcmdjPT0xAHNxbGl0ZS1zcmMvc3FsaXRlLWFtYWxnYW1hdGlvbi0zMzQwMDAwL2V4dGVuc2lvbi1mdW5jdGlvbnMuYwBhY29zRnVuYwBhc2luRnVuYwBhdGFuRnVuYwBhcmdjPT0yAGF0bjJGdW5jAGFjb3NoRnVuYwBhc2luaEZ1bmMAYXRhbmhGdW5jAGRpZmZlcmVuY2VGdW5jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAwABAgAAAgIEBQUAAQIGAgMAAQACAAIAAAAAAAAAAQIDAAECAAACAgQFBQABAgYCAwABAAIAAgAAAAAAPzAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgICAgICAgMDAwMDAwMDBAQEBAQEBAQAAAAAgDAAAIAgDgCAIMgDAAAAAID///8A+P//AAD//3JhZDJkZWdGdW5jAGRlZzJyYWRGdW5jAGNvc0Z1bmMAc2luRnVuYwB0YW5GdW5jAGNvdEZ1bmMAY29zaEZ1bmMAc2luaEZ1bmMAdGFuaEZ1bmMAY290aEZ1bmMAZXhwRnVuYwBsb2dGdW5jAGxvZzEwRnVuYwBwb3dlckZ1bmMAc2lnbkZ1bmMAc3FydEZ1bmMAc3F1YXJlRnVuYwBjZWlsRnVuYwBmbG9vckZ1bmMAZG9tYWluIGVycm9yAGFyZ2M9PTMgfHxhcmdjPT0yAGNoYXJpbmRleEZ1bmMAbGVmdEZ1bmMAcmlnaHRGdW5jADE9PWFyZ2MAcmV2ZXJzZUZ1bmMAcHJvcGVyRnVuYwBwYWRsRnVuYwB6PD16VGVybQBzcWxpdGUzVXRmOENoYXJMZW4AcGFkckZ1bmMAcGFkY0Z1bmMAc3RyZmlsdGVyRnVuYwB2YXJpYW5jZVN0ZXAAbW9kZVN0ZXAAQkFTRTY0AFVQUEVSAExPV0VSAEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8AAAAZEkQ7Aj8sRxQ9MzAKGwZGS0U3D0kOjhcDQB08aSs2H0otHAEgJSkhCAwVFiIuEDg+CzQxGGR0dXYvQQl/OREjQzJCiYqLBQQmKCcNKh41jAcaSJMTlJUAAAAAAAAAAABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAE+7YQVnrN0/GC1EVPsh6T+b9oHSC3PvPxgtRFT7Ifk/4mUvIn8rejwHXBQzJqaBPL3L8HqIB3A8B1wUMyamkTwYLURU+yHpPxgtRFT7Iem/0iEzf3zZAkDSITN/fNkCwAAAAAAAAAAAAAAAAAAAAIAYLURU+yEJQBgtRFT7IQnAAwAAAAQAAAAEAAAABgAAAIP5ogBETm4A/CkVANFXJwDdNPUAYtvAADyZlQBBkEMAY1H+ALveqwC3YcUAOm4kANJNQgBJBuAACeouAByS0QDrHf4AKbEcAOg+pwD1NYIARLsuAJzphAC0JnAAQX5fANaROQBTgzkAnPQ5AItfhAAo+b0A+B87AN7/lwAPmAUAES/vAApaiwBtH20Az342AAnLJwBGT7cAnmY/AC3qXwC6J3UA5evHAD178QD3OQcAklKKAPtr6gAfsV8ACF2NADADVgB7/EYA8KtrACC8zwA29JoA46kdAF5hkQAIG+YAhZllAKAUXwCNQGgAgNj/ACdzTQAGBjEAylYVAMmocwB74mAAa4zAABnERwDNZ8MACejcAFmDKgCLdsQAphyWAESv3QAZV9EApT4FAAUH/wAzfj8AwjLoAJhP3gC7fTIAJj3DAB5r7wCf+F4ANR86AH/yygDxhx0AfJAhAGokfADVbvoAMC13ABU7QwC1FMYAwxmdAK3EwgAsTUEADABdAIZ9RgDjcS0Am8aaADNiAAC00nwAtKeXADdV1QDXPvYAoxAYAE12/ABknSoAcNerAGN8+AB6sFcAFxXnAMBJVgA71tkAp4Q4ACQjywDWincAWlQjAAAfuQDxChsAGc7fAJ8x/wBmHmoAmVdhAKz7RwB+f9gAImW3ADLoiQDmv2AA78TNAGw2CQBdP9QAFt7XAFg73gDem5IA0iIoACiG6ADiWE0AxsoyAAjjFgDgfcsAF8BQAPMdpwAY4FsALhM0AIMSYgCDSAEA9Y5bAK2wfwAe6fIASEpDABBn0wCq3dgArl9CAGphzgAKKKQA05m0AAam8gBcd38Ao8KDAGE8iACKc3gAr4xaAG/XvQAtpmMA9L/LAI2B7wAmwWcAVcpFAMrZNgAoqNIAwmGNABLJdwAEJhQAEkabAMRZxADIxUQATbKRAAAX8wDUQ60AKUnlAP3VEAAAvvwAHpTMAHDO7gATPvUA7PGAALPnwwDH+CgAkwWUAMFxPgAuCbMAC0XzAIgSnACrIHsALrWfAEeSwgB7Mi8ADFVtAHKnkABr5x8AMcuWAHkWSgBBeeIA9N+JAOiUlwDi5oQAmTGXAIjtawBfXzYAu/0OAEiatABnpGwAcXJCAI1dMgCfFbgAvOUJAI0xJQD3dDkAMAUcAA0MAQBLCGgALO5YAEeqkAB05wIAvdYkAPd9pgBuSHIAnxbvAI6UpgC0kfYA0VNRAM8K8gAgmDMA9Ut+ALJjaADdPl8AQF0DAIWJfwBVUikAN2TAAG3YEAAySDIAW0x1AE5x1ABFVG4ACwnBACr1aQAUZtUAJwedAF0EUAC0O9sA6nbFAIf5FwBJa30AHSe6AJZpKQDGzKwArRRUAJDiagCI2YkALHJQAASkvgB3B5QA8zBwAAD8JwDqcagAZsJJAGTgPQCX3YMAoz+XAEOU/QANhowAMUHeAJI5nQDdcIwAF7fnAAjfOwAVNysAXICgAFqAkwAQEZIAD+jYAGyArwDb/0sAOJAPAFkYdgBipRUAYcu7AMeJuQAQQL0A0vIEAEl1JwDrtvYA2yK7AAoUqgCJJi8AZIN2AAk7MwAOlBoAUTqqAB2jwgCv7a4AXCYSAG3CTQAtepwAwFaXAAM/gwAJ8PYAK0CMAG0xmQA5tAcADCAVANjDWwD1ksQAxq1LAE7KpQCnN80A5qk2AKuSlADdQmgAGWPeAHaM7wBoi1IA/Ns3AK6hqwDfFTEAAK6hAAz72gBkTWYA7QW3ACllMABXVr8AR/86AGr5uQB1vvMAKJPfAKuAMABmjPYABMsVAPoiBgDZ5B0APbOkAFcbjwA2zQkATkLpABO+pAAzI7UA8KoaAE9lqADSwaUACz8PAFt4zQAj+XYAe4sEAIkXcgDGplMAb27iAO/rAACbSlgAxNq3AKpmugB2z88A0QIdALHxLQCMmcEAw613AIZI2gD3XaAAxoD0AKzwLwDd7JoAP1y8ANDebQCQxx8AKtu2AKMlOgAAr5oArVOTALZXBAApLbQAS4B+ANoHpwB2qg4Ae1mhABYSKgDcty0A+uX9AInb/gCJvv0A5HZsAAap/AA+gHAAhW4VAP2H/wAoPgcAYWczACoYhgBNveoAs+evAI9tbgCVZzkAMb9bAITXSAAw3xYAxy1DACVhNQDJcM4AMMu4AL9s/QCkAKIABWzkAFrdoAAhb0cAYhLSALlchABwYUkAa1bgAJlSAQBQVTcAHtW3ADPxxAATbl8AXTDkAIUuqQAdssMAoTI2AAi3pADqsdQAFvchAI9p5AAn/3cADAOAAI1ALQBPzaAAIKWZALOi0wAvXQoAtPlCABHaywB9vtAAm9vBAKsXvQDKooEACGpcAC5VFwAnAFUAfxTwAOEHhgAUC2QAlkGNAIe+3gDa/SoAayW2AHuJNAAF8/4Aub+eAGhqTwBKKqgAT8RaAC34vADXWpgA9MeVAA1NjQAgOqYApFdfABQ/sQCAOJUAzCABAHHdhgDJ3rYAv2D1AE1lEQABB2sAjLCsALLA0ABRVUgAHvsOAJVywwCjBjsAwEA1AAbcewDgRcwATin6ANbKyADo80EAfGTeAJtk2ADZvjEApJfDAHdY1ABp48UA8NoTALo6PABGGEYAVXVfANK99QBuksYArC5dAA5E7QAcPkIAYcSHACn96QDn1vMAInzKAG+RNQAI4MUA/9eNAG5q4gCw/cYAkwjBAHxddABrrbIAzW6dAD5yewDGEWoA98+pAClz3wC1yboAtwBRAOKyDQB0uiQA5X1gAHTYigANFSwAgRgMAH5mlAABKRYAn3p2AP39vgBWRe8A2X42AOzZEwCLurkAxJf8ADGoJwDxbsMAlMU2ANioVgC0qLUAz8wOABKJLQBvVzQALFaJAJnO4wDWILkAa16qAD4qnAARX8wA/QtKAOH0+wCOO20A4oYsAOnUhAD8tKkA7+7RAC41yQAvOWEAOCFEABvZyACB/AoA+0pqAC8c2ABTtIQATpmMAFQizAAqVdwAwMbWAAsZlgAacLgAaZVkACZaYAA/Uu4AfxEPAPS1EQD8y/UANLwtADS87gDoXcwA3V5gAGeOmwCSM+8AyRe4AGFYmwDhV7wAUYPGANg+EADdcUgALRzdAK8YoQAhLEYAWfPXANl6mACeVMAAT4b6AFYG/ADlea4AiSI2ADitIgBnk9wAVeiqAIImOADK55sAUQ2kAJkzsQCp1w4AaQVIAGWy8AB/iKcAiEyXAPnRNgAhkrMAe4JKAJjPIQBAn9wA3EdVAOF0OgBn60IA/p3fAF7UXwB7Z6QAuqx6AFX2ogAriCMAQbpVAFluCAAhKoYAOUeDAInj5gDlntQASftAAP9W6QAcD8oAxVmKAJT6KwDTwcUAD8XPANtargBHxYYAhUNiACGGOwAseZQAEGGHACpMewCALBoAQ78SAIgmkAB4PIkAqMTkAOXbewDEOsIAJvTqAPdnigANkr8AZaMrAD2TsQC9fAsApFHcACfdYwBp4d0AmpQZAKgplQBozigACe20AESfIABOmMoAcIJjAH58IwAPuTIAp/WOABRW5wAh8QgAtZ0qAG9+TQClGVEAtfmrAILf1gCW3WEAFjYCAMQ6nwCDoqEAcu1tADmNegCCuKkAazJcAEYnWwAANO0A0gB3APz0VQABWU0A4HGAAAAAAAAAAAAAAAAAQPsh+T8AAAAALUR0PgAAAICYRvg8AAAAYFHMeDsAAACAgxvwOQAAAEAgJXo4AAAAgCKC4zYAAAAAHfNpNQAAAAAAAOA/AAAAAAAA4L8AAAAAAADwPwAAAAAAAPg/AAAAAAAAAAAG0M9D6/1MPgAAAAAAAAAAAAAAQAO44j8vcHJvYy9zZWxmL2ZkLwA="); +base64DecodeToExistingUint8Array(bufferView, 68368, "AQAAAAEAAAEAAQAA/v//fwAAAACwBAAAKAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAA+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v//f////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAwAAADQAAAAAAgAAAAAAAGAGAABoBgAAmQAAAJoAAACbAAAAnAAAAAAAAAAAAAAAAAAAAAAAAACdAAAAngAAAAAAAACfAAAAoAAAAKEAAACiAAAAowAAAAMAAAA0AAAAAAIAAAAAAABsBgAAeAYAAJkAAACaAAAAmwAAAJwAAAAAAAAAAAAAAAAAAAAAAAAAnQAAAJ4AAAAAAAAAnwAAAKAAAAChAAAAogAAAKMAAAADAAAANAAAAAACAAAAAAAAfAYAAIwGAACZAAAAmgAAAJsAAACcAAAAAAAAAAAAAAAAAAAAAAAAAJ0AAACeAAAAAAAAAJ8AAACgAAAAoQAAAKIAAACjAAAAAwAAADQAAAAAAgAAAAAAAJAGAABoBgAAmQAAAJoAAACbAAAAnAAAAAAAAAAAAAAAAAAAAAAAAACdAAAAngAAAAAAAACfAAAAoAAAAKEAAACiAAAAowAAAAAAAEAAAAAAAAAAAAAAAABMDwAAuQAAAAAAAABRDwAAugAAAAAAAABXDwAAuwAAAAAAAABeDwAAvAAAAAAAAABlDwAAvQAAAAAAAABqDwAAvgAAAAAAAABwDwAAvwAAAAAAAAB6DwAAwAAAAAAAAACADwAAwQAAAAAAAACFDwAAAAAAAAAAAACLDwAAAAAAAAAAAACTDwAAwgAAAAAAAACZDwAAAAAAAAAAAACgDwAAAAAAAAAAAACpDwAAwwAAAAAAAACwDwAAAAAAAAAAAAC6DwAAxAAAAAAAAADBDwAAxQAAAAAAAADPDwAAxgAAAAAAAADVDwAAxwAAAAAAAADbDwAAyAAAAAAAAADiDwAAyQAAAAAAAADqDwAAygAAAAAAAADvDwAAywAAAAAAAAD2DwAAAAAAAAAAAAD9DwAAzAAAAAAAAAAJEAAAzQAAAAAAAAASEAAAzgAAAAAAAAAYEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4EAAAwRAAAMoQAABVBQAAAAAAAAAAAAAAAAIAAwAFAAYABwAIAAkAaIAAAJ2AAADQgAAACIEAADyBAAAAAAAAAAAAAAAAAAA5AAAAOQAAADYAAAA5AAAAOQAAAAAAAAAAAAAAAAAAAAAAAABhiQAAZokAAG6JAABgjAAAAAACAGeMAAAAAAQAAAAAAAAAAAAAAAAAAAAAAG+MAAABAAAAcowAAAIAAAB1jAAABgAAANQlAACAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABSEQAAQAAAAAAAADsAAAAAAAAAAAAAAAAAAAAEZsAAAAAAAACAAAAAUhEAAMAAAAAAAAA7AAAAAAAAAAAAAAAAAAAACWbAAAAAAAAAgAAAAFIRAACAAAAAAAAAOwAAAAAAAAAAAAAAAAAAAAymwAAAAAAAAEAAAABIAAAAAAAAAAAAADtAAAAAAAAAAAAAAAAAAAARJsAAAAAAAABAAAAASAAAAAAAAAAAAAA7gAAAAAAAAAAAAAAAAAAAF6bAAAAAAAAAQAAAAEMQABjAAAAAAAAAOwAAAAAAAAAAAAAAAAAAAB3mwAAAAAAAAIAAAABDEAAYwAAAAAAAADsAAAAAAAAAAAAAAAAAAAAgJsAAAAAAAABAAAAAQxAAGMAAAAAAAAA7AAAAAAAAAAAAAAAAAAAAIubAAAAAAAAAQAAAAEIAAABAAAAAAAAAO8AAAAAAAAAAAAAAAAAAACSmwAAAAAAAAIAAAABCAAAAQAAAAAAAADvAAAAAAAAAAAAAAAAAAAAkpsAAAAAAAABAAAAAQgAAAIAAAAAAAAA7wAAAAAAAAAAAAAAAAAAAJibAAAAAAAAAgAAAAEIAAACAAAAAAAAAO8AAAAAAAAAAAAAAAAAAACYmwAAAAAAAAEAAAABCAAAAwAAAAAAAADvAAAAAAAAAAAAAAAAAAAAnpsAAAAAAAACAAAAAQgAAAMAAAAAAAAA7wAAAAAAAAAAAAAAAAAAAJ6bAAAAAAAA/wAAACEIAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAABugQAAAAAAAAAAAAAhCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAboEAAAAAAAABAAAAIRAAAAAAAAAAAAAA8QAAAPIAAADzAAAAAAAAAG6BAAAAAAAA/wAAACEIAAABAAAAAAAAAPAAAAAAAAAAAAAAAAAAAABygQAAAAAAAAAAAAAhCAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcoEAAAAAAAABAAAAIRAAAAEAAAAAAAAA8QAAAPIAAADzAAAAAAAAAHKBAAAAAAAAAQAAAIEIAAAAAAAAAAAAAPQAAAAAAAAAAAAAAAAAAACjmwAAAAAAAAEAAABBCAAAAAAAAAAAAAD1AAAAAAAAAAAAAAAAAAAAqpsAAAAAAAACAAAAAQgAAAAAAAAAAAAA9gAAAAAAAAAAAAAAAAAAALGbAAAAAAAA/wAAAAEIAAAAAAAAAAAAAPcAAAAAAAAAAAAAAAAAAAC3mwAAAAAAAAEAAAABCAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAAvpsAAAAAAAD/AAAAAQgAAAAAAAAAAAAA+QAAAAAAAAAAAAAAAAAAAMabAAAAAAAAAQAAAAEIAAAAAAAAAAAAAPoAAAAAAAAAAAAAAAAAAADLmwAAAAAAAAEAAAABCAAAAAAAAAAAAAD7AAAAAAAAAAAAAAAAAAAAz5sAAAAAAAACAAAAAQgAAAAAAAAAAAAA+wAAAAAAAAAAAAAAAAAAAM+bAAAAAAAAAQAAAAEIAAAAAAAAAAAAAPwAAAAAAAAAAAAAAAAAAADVmwAAAAAAAAEAAAABCAAAAAAAAAAAAAD9AAAAAAAAAAAAAAAAAAAA25sAAAAAAAABAAAAAQgAAAAAAAAAAAAA/gAAAAAAAAAAAAAAAAAAAOGbAAAAAAAAAgAAAAEIQAAAAAAAAAAAAOwAAAAAAAAAAAAAAAAAAADlmwAAAAAAAAAAAAABAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAA7JsAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAPObAAAAAAAAAgAAACEIAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAD+mwAAAAAAAAAAAAABIAAAAAAAAAAAAADsAAAAAAAAAAAAAAAAAAAABZwAAAAAAAAAAAAAASAAAAAAAAAAAAAAAgEAAAAAAAAAAAAAAAAAABScAAAAAAAAAgAAAAEIAAAAAAAAAAAAAAMBAAAAAAAAAAAAAAAAAAAlnAAAAAAAAAEAAAABCAAAAAAAAAAAAAAEAQAAAAAAAAAAAAAAAAAAMJwAAAAAAAAAAAAAAQAAAAAAAAAAAAAABQEAAAAAAAAAAAAAAAAAADacAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAYBAAAAAAAAAAAAAAAAAABInAAAAAAAAAAAAAABAAAAAAAAAAAAAAAHAQAAAAAAAAAAAAAAAAAAUJwAAAAAAAADAAAAAQgAAAAAAAAAAAAACAEAAAAAAAAAAAAAAAAAAF6cAAAAAAAAAQAAAAEIAAAAAAAAAAAAAAkBAAAAAAAAAAAAAAAAAABmnAAAAAAAAAIAAAABCAAAAAAAAAAAAAAKAQAAAAAAAAAAAAAAAAAAb5wAAAAAAAADAAAAAQgAAAAAAAAAAAAACgEAAAAAAAAAAAAAAAAAAG+cAAAAAAAAAgAAAAEIAAAAAAAAAAAAAAoBAAAAAAAAAAAAAAAAAAB2nAAAAAAAAAMAAAABCAAAAAAAAAAAAAAKAQAAAAAAAAAAAAAAAAAAdpwAAAAAAAABAAAAAQAAAAAAAAAAAAAACwEAAAwBAAAMAQAADQEAAICcAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAsBAAAOAQAADgEAAA0BAACEnAAAAAAAAAEAAAABAAAAAAAAAAAAAAALAQAADwEAAA8BAAANAQAAipwAAAAAAAAAAAAAAQEAAAAAAAAAAAAAEAEAABEBAAARAQAAEgEAAI6cAAAAAAAAAQAAAAEAAAAAAAAAAAAAABABAAARAQAAEQEAABIBAACOnAAAAAAAAAEAAAABAAAAAAAAAAAAAAATAQAAFAEAABUBAAAWAQAAlJwAAAAAAAACAAAAAQAAAAAAAAAAAAAAEwEAABQBAAAVAQAAFgEAAJScAAAAAAAAAgAAAA0IAAC7BwAAAAAAADUAAAAAAAAAAAAAAAAAAACwfgAAAAAAAAIAAAAFCAAAvwcAAAAAAAA1AAAAAAAAAAAAAAAAAAAAtX4AAAAAAAADAAAABQgAAL8HAAAAAAAANQAAAAAAAAAAAAAAAAAAALV+AAAAAAAAAQAAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAChnAAAAAAAAAAAAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoZwAAAAAAAD/AAAAAQhAAAAAAAAAAAAA7AAAAAAAAAAAAAAAAAAAAKGcAAAAAAAAAwAAAAEIQAAFAAAAAAAAAOwAAAAAAAAAAAAAAAAAAACqnAAAAAAAAAAAAAAAAAAAQy0AAD4tAAC0nAAAuZwAADktAAAAAAAAAAAAAAAAAAAJAAAAAQgEAAAAAAAAAAAAFwEAAAAAAAAAAAAAAAAAAPecAAAAAAAABwAAAAEIBAAAAAAAAAAAABgBAAAAAAAAAAAAAAAAAAAMnQAAAAAAAAUAAAABCAQAAAAAAAAAAAAZAQAAAAAAAAAAAAAAAAAAIJ0AAAAAAAAAAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAaAQAAGwEAABsBAABKAAAAT3AAAAAAAAAAAAAAAQABAAAAAAAAAAAAHAEAAB0BAAAdAQAASgAAAFpwAAAAAAAAAAAAAAEAAQAAAAAAAAAAAB4BAAAfAQAAHwEAAEoAAABlcAAAAAAAAAAAAAABAAEAAAAAAAAAAAAgAQAAIQEAACEBAAAiAQAAanAAAAAAAAAAAAAAAQABAAAAAAAAAAAAIwEAACQBAAAkAQAAJQEAAHdwAAAAAAAAAQAAAAEAAQAAAAAAAAAAACYBAAAnAQAAJwEAACgBAACBcAAAAAAAAAEAAAABAAEAAAAAAAAAAAApAQAAKgEAACsBAAAsAQAAW50AAAAAAAACAAAAAQABAAAAAAAAAAAALQEAAC4BAAAvAQAASgAAAPB9AAAAAAAAAQAAAAEAAQAAAAAAAAAAADABAAAxAQAALwEAAEoAAAD6fQAAAAAAAAEAAAABAAEAAAAAAAAAAABKAAAALwEAAC8BAABKAAAAh3AAAAAAAAACAAAAAQABAAAAAAAAAAAASgAAAC8BAAAvAQAASgAAAIdwAAAAAAAAAwAAAAEAAQAAAAAAAAAAAEoAAAAvAQAALwEAAEoAAACHcAAAAAAAAAEAAAABAAEAAAAAAAAAAABKAAAALwEAAC8BAABKAAAAjHAAAAAAAAACAAAAAQABAAAAAAAAAAAASgAAAC8BAAAvAQAASgAAAIxwAAAAAAAAAwAAAAEAAQAAAAAAAAAAAEoAAAAvAQAALwEAAEoAAACMcAAAAAAAAAAAAAAAAAAA/wAAAAEoAAAQCwEAAAAAADIBAAAAAAAAAAAAAAAAAACTnQAAAAAAAP8AAAABKAAAEAsBAAAAAAAzAQAAAAAAAAAAAAAAAAAAnZ0AAAAAAAD/AAAAASgAABALAQAAAAAANAEAAAAAAAAAAAAAAAAAAKKdAAAAAAAA/wAAAAEoAAAQCwEAAAAAADUBAAAAAAAAAAAAAAAAAACnnQAAAAAAAP8AAAABKAAAEAsBAAAAAAA2AQAAAAAAAAAAAAAAAAAAsJ0AAAAAAAAAAAAAASAAAAAAAAAAAAAANwEAAAAAAAAAAAAAAAAAALmdAAAAAAAAAAAAAAEgAAAAAAAAAAAAADgBAAAAAAAAAAAAAAAAAADGnQAAAAAAAAAAAAABIAAAAAAAAAAAAAA5AQAAAAAAAAAAAAAAAAAA2J0AAAAAAAAXvQAAa8UAAHPFAAB6xQAAZQ8AAAAAAAAAAAAAAAAAAL/KAAAXvQAAoskAAGvFAAA2NwAAAAAAAAAAAAAAAAAAAAC/BdkG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4wblBgAAAAAAAAAAAAAAAAAAAAAgACEAJAAlACgAKQAqACsALAAtAC4AMAA6ADwAPwBBAFsAXABdAF4AXwBgAGEAewB8AH0AfgB/AKAAoQCiAKYApwCoAKkAqgCrAKwArQCuAK8AsACxALIAtAC1ALYAuAC5ALoAuwC8AL8AwADXANgA3wD3APgAAAE4ATkBSQFKAXkBfwGBAYMBhAGHAYoBjAGOAZIBkwGVAZYBmQGcAZ4BnwGhAaIBpwGrAawBrwGyAbQBtQG4AboBuwG8Ab4BwAHEAcUBxgHHAcgByQHKAcsBzAHNAd0B3gHwAfEB8gHzAfQB9wH5AfoBNAI6AjwCPQI/AkECRAJHAkgCUAKUApUCsALCAsYC0gLgAuUC7ALtAu4C7wIAA3ADdAN1A3YDegN7A34DhAOGA4cDiAOMA44DkAORA6MDrAPPA9ED0gPVA9gD8AP0A/YD9wP6A/wD/QMwBGAEggSDBIgEigTBBM8E0AQxBVkFWgVhBYkFigWPBZEFvgW/BcAFwQXDBcQFxgXHBdAF8AXzBQAGBgYJBgsGDAYOBhAGGwYeBiAGQAZBBksGYAZqBm4GcAZxBtQG1QbWBt0G3gbfBuUG5wbpBuoG7gbwBvoG/Qb/BgAHDwcQBxEHEgcwB00HpgexB8AHygfrB/QH9gf3B/oHAAgWCBoIGwgkCCUIKAgpCDAIQAhZCF4IoAiiCOQIAAkDCQQJOgk7CTwJPQk+CUEJSQlNCU4JUAlRCVgJYglkCWYJcAlxCXIJeQmBCYIJhQmPCZMJqgmyCbYJvAm9Cb4JwQnHCcsJzQnOCdcJ3AnfCeIJ5gnwCfIJ9An6CfsJAQoDCgUKDwoTCioKMgo1CjgKPAo+CkEKRwpLClEKWQpeCmYKcApyCnUKgQqDCoUKjwqTCqoKsgq1CrwKvQq+CsEKxwrJCssKzQrQCuAK4grmCvAK8QoBCwILBQsPCxMLKgsyCzULPAs9Cz4LPwtAC0ELRwtLC00LVgtXC1wLXwtiC2YLcAtxC3ILgguDC4ULjguSC5kLnAueC6MLqAuuC74LwAvBC8YLygvNC9AL1wvmC/AL8wv5C/oLAQwFDA4MEgwqDDUMPQw+DEEMRgxKDFUMWAxgDGIMZgx4DH8MggyFDI4MkgyqDLUMvAy9DL4MvwzADMYMxwzKDMwM1QzeDOAM4gzmDPEMAg0FDQ4NEg09DT4NQQ1GDUoNTQ1ODVcNYA1iDWYNcA15DXoNgg2FDZoNsw29DcANyg3PDdIN1g3YDfIN9A0BDjEOMg40Dj8OQA5GDkcOTw5QDloOgQ6EDocOig6NDpQOmQ6hDqUOpw6qDq0OsQ6yDrQOuw69DsAOxg7IDtAO3A4ADwEPBA8TDxQPFQ8YDxoPIA8qDzQPNQ82DzcPOA85DzoPOw88Dz0PPg9AD0kPcQ9/D4APhQ+GD4gPjQ+ZD74Pxg/HD84P0A/VD9kPABArEC0QMRAyEDgQORA7ED0QPxBAEEoQUBBWEFgQWhBeEGEQYhBlEGcQbhBxEHUQghCDEIUQhxCNEI4QjxCQEJoQnRCeEKAQxxDNENAQ+xD8EP0QShJQElgSWhJgEooSkBKyErgSwBLCEsgS2BISExgTXRNgE2kTgBOQE6ATABQBFG0WbxaAFoEWmxacFqAW6xbuFgAXDhcSFyAXMhc1F0AXUhdgF24XcheAF7QXthe3F74XxhfHF8kX1BfXF9gX2xfcF90X4BfwFwAYBhgHGAsYDhgQGCAYQxhEGIAYqRiqGLAYABkgGSMZJxkpGTAZMhkzGTkZQBlEGUYZUBlwGYAZsBnBGcgZ0BnaGd4ZABoXGhkaHhogGlUaVhpXGlgaYBphGmIaYxplGm0acxp/GoAakBqgGqcaqBoAGwQbBRs0GzUbNhs7GzwbPRtCG0MbRRtQG1obYRtrG3QbgBuCG4MboRuiG6YbqBuqG6sbrBuuG7AbuhvmG+cb6BvqG+0b7hvvG/Ib/BsAHCQcLBw0HDYcOxxAHE0cUBxaHHgcfhzAHNAc0xzUHOEc4hzpHO0c7hzyHPQc9RwAHSwdax14HXkdmx3AHfwdAB6WHp4eAB8IHxAfGB8gHygfMB84H0AfSB9QH1kfWx9dH18fYR9oH3AfgB+IH5AfmB+gH6gfsB+2H7gfvB+9H74fvx/CH8YfyB/MH80f0B/WH9gf3R/gH+gf7R/yH/Yf+B/8H/0fACALIBAgFiAYIBkgGiAbIB0gHiAfICAgKCApICogLyAwIDkgOiA7ID8gQSBEIEUgRiBHIFIgUyBUIFUgXyBgIGogcCBxIHQgeiB9IH4gfyCAIIogjSCOIJAgoCDQIN0g4SDiIOUgACECIQMhByEIIQohCyEOIRAhEyEUIRUhFiEYIRkhHiEkISUhJiEnISghKSEqIS4hLyEwITQhNSE5ITohPCE+IUAhRSFHIUohSyFMIU4hTyFQIWAhgyGFIYkhkCGVIZohnCGgIaEhoyGkIaYhpyGuIa8hziHQIdIh0yHUIdUh9CEAIwgjDCMgIyIjKSMqIysjfCN9I5sjtCPcI+IjACRAJGAknCTqJAAltyW4JcElwiX4JQAmbyZwJgEnaCdpJ2onaydsJ20nbidvJ3AncSdyJ3MndCd1J3YnlCfAJ8UnxifHJ+Yn5yfoJ+kn6ifrJ+wn7SfuJ+8n8CcAKAApgymEKYUphimHKYgpiSmKKYspjCmNKY4pjymQKZEpkimTKZQplSmWKZcpmCmZKdgp2SnaKdsp3Cn8Kf0p/ikAKzArRStHK1ArACwwLGAsYyxlLGcsbixxLHIsdCx1LHcsfCx+LIEsgizkLOUs6yzvLPIs+Sz9LP4sAC0nLS0tMC1vLXAtfy2ALaAtqC2wLbgtwC3ILdAt2C3gLQAuAi4DLgQuBS4GLgkuCi4LLgwuDS4OLhcuGC4aLhsuHC4dLh4uIC4hLiIuIy4kLiUuJi4nLiguKS4qLi8uMC46LoAumy4AL/AvADABMAQwBTAGMAcwCDAJMAowCzAMMA0wDjAPMBAwETASMBQwFTAWMBcwGDAZMBowGzAcMB0wHjAgMCEwKjAuMDAwMTA2MDgwOzA8MD0wPjBBMJkwmzCdMJ8woDChMPsw/DD/MAUxMTGQMZIxljGgMcAx8DEAMiAyKjJIMlAyUTJgMoAyijKxMsAyADMANLVNwE0ATsyfAKAVoBagkKTQpPik/qQApQymDaYQpiCmKqZApm6mb6ZwpnOmdKZ+pn+mgKafpqCm5qbwpvKmAKcXpyCnIqcwpzKncKdxp3mnfqeIp4mni6eQp6Cn+Kf6p/unAqgDqAaoB6gLqAyoI6glqCeoKKgwqDaoOKg5qECodKiAqIKotKjEqM6o0KjgqPKo+Kj7qACpCqkmqS6pMKlHqVKpX6lgqYCpg6mEqbOptKm2qbqpvKm9qcGpz6nQqd6pAKopqi+qMaozqjWqQKpDqkSqTKpNqlCqXKpgqnCqcap3qnqqe6qAqrCqsaqyqrWqt6q5qr6qwKrBqsKq26rdqt6q4Krrquyq7qrwqvKq86r1qvaqAasJqxGrIKsoq8Cr46vlq+ar6Kvpq+ur7Kvtq/CrAKyj17DXy9cA2H/b/9v/3wDg//gA+XD6APsT+x37Hvsf+yn7Kvs4+z77QPtD+0b7svvT+z79P/1Q/ZL98P38/f39AP4Q/hf+GP4Z/iD+MP4x/jP+Nf42/jf+OP45/jr+O/48/j3+Pv4//kD+Qf5C/kP+RP5F/kf+SP5J/k3+UP5U/lj+Wf5a/lv+XP5d/l7+X/5i/mP+ZP5o/mn+av5w/nb+//4B/wT/Bf8I/wn/Cv8L/wz/Df8O/xD/Gv8c/x//If87/zz/Pf8+/z//QP9B/1v/XP9d/17/X/9g/2H/Yv9j/2T/Zv9w/3H/nv+g/8L/yv/S/9r/4P/i/+P/5P/l/+j/6f/t//n//P8AAA0AKAA8AD8AUACAAAABBwE3AUABdQF5AYoBkAHQAf0BgAKgAgADIAMwA0EDQgNKA4ADnwOgA8gD0APRAwAEKARQBKAEAAgICAoINwg8CD8IVwhYCAAJFgkfCSAJPwmACb4JAAoBCgUKDAoQChUKGQo4Cj8KQApQCmAKfQp/CgALOQtAC1gLYAt4CwAMYA4AEAEQAhADEDgQRxBSEGYQgBCCEIMQsBCzELcQuRC7EL0QvhDQEPAQABEDEScRLBEtETYRQBGAEYIRgxGzEbYRvxHBEcUR0BGAFqsWrBatFq4WsBa2FrcWwBYAIAAkcCQAMABoAG9Qb1Fvj2+TbwCwANAA0SnRZdFn0WrRbdFz0XvRg9GF0YzRqtGu0QDSQtJF0gDTYNMA1BrUNNRO1FbUaNSC1JzUntSi1KXUqdSu1LbUu9S91MXU0NTq1ATVB9UN1RbVHtU41TvVQNVG1UrVUtVs1YbVoNW61dTV7tUI1iLWPNZW1nDWitao1sHWwtbb1tzW4tb71vzWFdcW1xzXNdc210/XUNdW12/XcNeJ14rXkNep16rXw9fE18rXztcA7gXuIe4k7ifuKe407jnuO+5C7kfuSe5L7k3uUe5U7lfuWe5b7l3uX+5h7mTuZ+5s7nTuee5+7oDui+6h7qXuq+7w7gDwMPCg8LHwwfDR8ADxEPEw8XDx5vEQ8kDyUPIA8zDzN/OA86DzxvPg8wD0QPRC9Pn0APVA9VD1+/VF9oD2APcAANamAKc0t0C3HbgA+AEAIAAAAQAA/f8AAAAAAAABBD0AdQA3AHUANgAyADUAOQA1ADEAVQBNAVUAeQBVAEkDNgA1ADIAOAAwADgARQM2ADkAMgA5ACEEPQA1AJcAOgA1ADgAOgAnADQAOQAiADoAOAA6ADkATwA4ACUAVQA4AC8AJwAzAG8ANQDpAjkA6QAFAzkABQEeByUAHgIlAP4F3gBFAEkAJQB+AH4ASQBFAIkAJQBJACUAaQBlAEkAJQBJACUAvgCeACUAfgB+AEkAJQB+AF4AJQAnAF4ARQCHACkAKAAlACkAKAAlACkAKAAlAB4CJQBeAiUAKQAoACUAfgBJACUAXgfFAEkAJQBJAEUAfgBpACUAHgGFCCcAZQNGApgAhgHYAaYA+AAmADgAJgA4AgwOngAmADgAXgAmAGUANQBYACkANQBpACkASQAlACkCKQFlBF4AJQBpAGUAHgOFAF4AOQB+AF4AJQBpBgUGXgQ6AKwASwD+Bt4BJQAeC8kEJgDVAOUENQAxADcArAUxACwANQBMADUATAA1ACwAZwNnAFUAogB5AFUANwBVAFoAbAE1AFUABwQmAEcBrAJNAZUARwAsAGcMNQAnAOwAIgA6AMwARgBMADoAjABHAE0BZwBaACcA1QEiACcALADHA2wDJwtsAScATQEnBCwBRgA6AHUAJgDHAowAJgAsASYAbAAmAKwA9QEnA2wANQAnAGcBbANsACoAxwYsACoALAAnAGoADAGKACwASgAnAOwARwFMAFUATQE1ACYAxwDnACwASgAHAUcAxwLnACcAhwAsACcAagCMAEoASgAsACcAKgBHAGcATABNAUcAVwDPADoANwBMACoAxwBHAMcC5wBHAEcARwAsAGoATABMAGwALACHACcATQFMAGcALABMACoAJwFnAMcC5wBHAKcALAAnAGoArABMACoASgAsACcARwBMAE0BNQA3ACwASgAHAUcAxwLnAEcApwAsACcAKgAsACoAjABKAEoALAAsACoARwBnAEwATQE6ACcAzwAsACcAxwBnAIcARwAnAEcARwBnAIcBSgAsAEoAagBqACwAJwAqAE0BbwDaADcAOgBqAAcBZwDnAkcBpwAnAGwAigBsAIwATABHAEcATABNAe8AOgBKAAcBZwDnAkcBpwAsACcAKgAsAKoALABKAEoATABKACcARwBMAE0BRwBKAAcBZwAnBScAagCMAGoAagAsACcAKgBHAEwATQHPADoAxwBKAEcCBwMnAScA5wAsAGoAbAAsAAoBSgA1AAcGLABHAOwANwDHACYADAE1AE0BVQBHACcARwAnACcAhwDnAGcAJwAnAEcAhwAsAEcAzABMACcApwAmAMwATQGHACcAegD1AToANQB6AEwA2gBNAU8BOgAsADoALAA6ACwANgAyADYAMgBKAAcBhwTMASoArAA1AEwApwBsAYwEGgEsANoAWgC1AJoAVQBnBUoAjAAqAMwAKgBMAEoATAAnAE0B1QDHAEoATACHAGwAJwBqAEcA6gBnAIwApwEsAEoATADKACwAJwAqAE0BagAsAFoAyQQpACkAZwU1ACYAhymHAOcAJwCHACcFhwAnBIcA5wAnAIcA5wEnB4cAZwhsADUBjwIHAloBpwoxAIdNVQAnAj0ARwM2ADIAZwl1AG4ApwGHAGwARwJsAFUARwJMAKcBZwBMAIcGTAAqAOwACgEsAEoAbAF1ACYAdQA3ACcALABNAU8B1QAxAJUAbAA9AE0BZwQmAIcGJwUsACcAxwinA2wAigBMAGoASgAsAMoAbAA6AFUATQHHA6cAhwUqAucASgBNAS8AWgTnAkwAagBVAKcGKgAsACoA7AAsACoALABKAAwBygBMASwATQFNAfUAJgDVAIwAKgDnBSwAKgCsACoALACqACwASgDnAE0B9QBaASwBOgFMACoAxwMqAIwASgBMACoALABKAEcATQGHBSwAKgBMAGoALAAqAGwASgCVAIcECgEMAUoATAC1AE0BZwBNAccDxgBVABUBbAA1AKwBKgDsAIcALACHAEoALABHAIUF5gelASYARQSmBOwEjADeEgUBXgwFAQkBxQDJAAUBCQEFAQkBxQDJAAUBKQApACkAXgDlAAkBxQEFAQgBBQEIAQUBCAGlAEUAiQAoADgAJQB4AGUARQCJACgAeACFAEUAiQB4AAUBqQB4AGUARQCJACgAWAB9AaIA0QBVADQAMwA2AFQAMwA2ADQAFQE7ADwAogA9ADUBNAAzAJUAUAB1ADkANgAyAHUBOQA1ADAAVQE9AKIAwgAvACYAzwB5ADYAMgAmAE8BeQA2ADIApgFXA6wBiwAsAGsAjAFaACkAmgApAFoAJQBpAEUAaQAlADoAKQBaADkAqQDaACkAOgApADoAKQA6AIkAOgAlAIkAJQCHACUAWgBFAEkAuQBeAGUAOgA5AFoAJQA6AA8CbgReAI4ALwC5ALoAWQCaADkAWgA5AFoAOQD6ADkA+gNZAFoAOQA6ADkA+gOZIRoBmQCaAlkA+gA2ADIAOgo5ANoDOQMaBdkAWgL6BHoBjwfaCc8C+hY5ADoBOQDaBhkB+g05ABoS+gw2ADIANgAyADYAMgA2ADIANgAyADYAMgA2ADIAzwOaBbkANgAyAPkDNgAyADYAMgA2ADIANgAyADYAMgAZAhogeRA2ADIANgAyADYAMgA2ADIANgAyADYAMgA2ADIANgAyADYAMgA2ADIANgAyAPkHNgAyADYAMgAZBDYAMgBZIBoGuQJaANkAWgHpBeUFfgBJAEUA/gBpACUAXgAlAF4ApQBGAGkAJQBeDCUA2gCeAGwAXgCVAC8AVQDFBCUAJQAHByYANQAsAOcC5wDnAOcA5wDnAOcA5wDnAAwEVQA0ADMANAAzAHUANAAzADUANAAzADUBMQBVADEANQA0ADMAVQA0ADMANgAyADYAMgA2ADIANgAyALUAJgBVAVEAWgM6C9oamgE9AHUAOgAmACcALgA2ADIANgAyADYAMgA2ADIANgAyAFoANgAyADYAMgA2ADIANgAyADEANgBSADoALgGMAEoAMQCmAFoAbgAmACcANQBaAMcKTABYAEYAJwAxAEcLNQBmACcAJwXHC1oAjwBaAWcDmgQHAvoDTwHaAw8BOgDvARoETwH6BO8B+gcaICcAJwAaCCcAJwCnAiYA5476BgcFxgBVAIchJgB1AAcCTQFHAN4FJwAsAGsANQBMATUAJgAeAywAxwhOAUwA1QD4AiYBWADeAUUA3gcmAAUBvgBeASYAWACeAJ4AfgFGACUA5wAsAGcALACHACwA5wJKAEwAKgCaAM8AWgA3ADoAhwaVAEoARwYKAiwAVQBNAUwCxwB1ACcATQGHAwwBVQDnAmwBSgA1AKcDbAAqAOcFLABKAIwASgAsAIoAtQEmAE0BVQAnBcwASgBMAEoATABnACwABwEsACoATQGVAAcCJgDHAHoAJwAqAAcGLAAnAGwARwBMAKcATAAnACwAJwBHACYAVQBnASoATABKAFUAJwBGACoALADHAMcAxwDnAOcAZwRKACwASgAsAEoANQAqACwATQEnACcA5wInBiQARABEACQAPwA/AMctRw3lAKUAJwAsAEcBOQCnAacAJwBHAEcAhw0YAmctNgAyAAcIxwaHATcAOgAMAvUANgAyADUA7AA1AFEAUAA2ADIANgAyADYAMgA2ADIANgAyADYAMgA2ADIANgAyAFUANgAyAJUAcAB1AJUAMQA2ADIANgAyADYAMgB1ADkAMQB5ADUANwBVAKcA5xAiAHUANwB1ADYAMgA1ADkANQAxAFUATQFVAHkAVQBJAzYANQAyADgAMAA4AEUDNgA5ADIAOQA2ADIANQA2ADIAVQBHASYApwVGAOcDxwDHAMcAZwBXADkAOAA6AFcAOgCZAFoAYgBaAIcBRwNnAkcA5wHHAWcPdQCvBToBrgaPADoCLwCaAboFLACnAycG5wOPACcCLgAHAS4AxwM1AIcEBwE1AK4ACQUFBccJTQHHACcAhwVHACcA5wI1AA8BxwLPADUARwM1AAcHRwAnAGwATACMAIcAZwBnA2wALAAPATUBpwNPADUAxwb1AMcCDwFnAg8BJwnvAyoALAAqAKcG7AH1AI8CTQFMACoApwVqAIwASgBMAFUAIgCVACcDTQFsAIcErAAqAAwBTQGVAEwAKgAHBmoALAFKAIcAlQBNAWcFLAAqACwASgDMACoALABNAedtbgyVAOeFJ0enCCcAygWMAKYBRwDaHvoEmgdKAGwAegDKAAIBDAFaAOwA2gOMABoGWghsADoA+gpPAkkDRQNJA+UARQJJA0UDKQBJACkASQCJAAkBhQAlAOUAZQFJA0UDSQCJAAkB6QBFA0kAiQCpACkA6QBFA0kDRQNJA0UDSQNFA0kDRQNJA0UDSQOFAykDOQAlAzkAxQApAzkAJQM5AMUAKQM5ACUDOQDFACkDOQAlAzkAxQApAzkAJQM5AMUAXgBNBocAZwNHACcAJwBHAYcAJwAnACcAJwAnACcAZwBHACcAJwAnACcAJwAnAEcAJwCHAOcAhwCHACcARwEnAmcApwAnAlkAmgWaDPoB2gH6AfoBbwH6A5oHegW6A3oFOgFaADoE2gDaCJoCugS6ADoC+gc6ANoWmgDaB5oAGgPaCHoB2giaDicAJwAnACcAJwAnAMdDIgACDAwePwA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAwAAANcBAADYAQAA2QEAANoBAADbAQAA3AEAAN0BAADeAQAA3wEAAOABAADhAQAA4gEAAOMBAADkAQAA5QEAAOUBAADlAQAAAAAAAOYBAADnAQAAAAAAAAAAAADoAQAAUuQAAF3kAAAAAAAAAAAAAMbkAAD75AAAKOUAAFzlAACS5QAAv+UAAPnlAAAw5gAAsekAAAYtAABfNwAAAAAAAAAAAAD6AQAA+wEAAPwBAAAAAAAA/QEAAP4BAAD/AQAAAAIAAAECAAACAgAAAwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6AQAA+wEAAPwBAAAAAAAABAIAAP4BAAD/AQAAAAIAAAECAAACAgAAAwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbfcAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUwAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAADoCAAAAAAAAAAAAAAAAAAAAAAAAAAAAADsCAAA8AgAAKMIBAAAEAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAr/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMi8AQA="); +base64DecodeToExistingUint8Array(bufferView, 114016, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="); +return asmFunc({ + 'Int8Array': Int8Array, + 'Int16Array': Int16Array, + 'Int32Array': Int32Array, + 'Uint8Array': Uint8Array, + 'Uint16Array': Uint16Array, + 'Uint32Array': Uint32Array, + 'Float32Array': Float32Array, + 'Float64Array': Float64Array, + 'NaN': NaN, + 'Infinity': Infinity, + 'Math': Math + }, + asmLibraryArg, + wasmMemory.buffer +) + +} +)(asmLibraryArg, wasmMemory, wasmTable); + }, + + instantiate: /** @suppress{checkTypes} */ function(binary, info) { + return { + then: function(ok) { + var module = new WebAssembly.Module(binary); + ok({ + 'instance': new WebAssembly.Instance(module) + }); + // Emulate a simple WebAssembly.instantiate(..).then(()=>{}).catch(()=>{}) syntax. + return { catch: function() {} }; + } + }; + }, + + RuntimeError: Error +}; + +// We don't need to actually download a wasm binary, mark it as present but empty. +wasmBinary = []; + + + +if (typeof WebAssembly !== 'object') { + abort('no native wasm support detected'); +} + + + + +// In MINIMAL_RUNTIME, setValue() and getValue() are only available when building with safe heap enabled, for heap safety checking. +// In traditional runtime, setValue() and getValue() are always available (although their use is highly discouraged due to perf penalties) + +/** @param {number} ptr + @param {number} value + @param {string} type + @param {number|boolean=} noSafe */ +function setValue(ptr, value, type, noSafe) { + type = type || 'i8'; + if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit + switch(type) { + case 'i1': HEAP8[((ptr)>>0)]=value; break; + case 'i8': HEAP8[((ptr)>>0)]=value; break; + case 'i16': HEAP16[((ptr)>>1)]=value; break; + case 'i32': HEAP32[((ptr)>>2)]=value; break; + case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; + case 'float': HEAPF32[((ptr)>>2)]=value; break; + case 'double': HEAPF64[((ptr)>>3)]=value; break; + default: abort('invalid type for setValue: ' + type); + } +} + +/** @param {number} ptr + @param {string} type + @param {number|boolean=} noSafe */ +function getValue(ptr, type, noSafe) { + type = type || 'i8'; + if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit + switch(type) { + case 'i1': return HEAP8[((ptr)>>0)]; + case 'i8': return HEAP8[((ptr)>>0)]; + case 'i16': return HEAP16[((ptr)>>1)]; + case 'i32': return HEAP32[((ptr)>>2)]; + case 'i64': return HEAP32[((ptr)>>2)]; + case 'float': return HEAPF32[((ptr)>>2)]; + case 'double': return HEAPF64[((ptr)>>3)]; + default: abort('invalid type for getValue: ' + type); + } + return null; +} + + + + + + +// Wasm globals + +var wasmMemory; + +// In fastcomp asm.js, we don't need a wasm Table at all. +// In the wasm backend, we polyfill the WebAssembly object, +// so this creates a (non-native-wasm) table for us. + +var wasmTable = new WebAssembly.Table({ + 'initial': 573, + 'element': 'anyfunc' +}); + + + + +//======================================== +// Runtime essentials +//======================================== + +// whether we are quitting the application. no code should run after this. +// set in exit() and abort() +var ABORT = false; + +// set by exit() and abort(). Passed to 'onExit' handler. +// NOTE: This is also used as the process return code code in shell environments +// but only when noExitRuntime is false. +var EXITSTATUS = 0; + +/** @type {function(*, string=)} */ +function assert(condition, text) { + if (!condition) { + abort('Assertion failed: ' + text); + } +} + +// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) +function getCFunc(ident) { + var func = Module['_' + ident]; // closure exported function + assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported'); + return func; +} + +// C calling interface. +/** @param {string|null=} returnType + @param {Array=} argTypes + @param {Arguments|Array=} args + @param {Object=} opts */ +function ccall(ident, returnType, argTypes, args, opts) { + // For fast lookup of conversion functions + var toC = { + 'string': function(str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { // null string + // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' + var len = (str.length << 2) + 1; + ret = stackAlloc(len); + stringToUTF8(str, ret, len); + } + return ret; + }, + 'array': function(arr) { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret; + } + }; + + function convertReturnValue(ret) { + if (returnType === 'string') return UTF8ToString(ret); + if (returnType === 'boolean') return Boolean(ret); + return ret; + } + + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + assert(returnType !== 'array', 'Return type should not be "array".'); + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret; +} + +/** @param {string=} returnType + @param {Array=} argTypes + @param {Object=} opts */ +function cwrap(ident, returnType, argTypes, opts) { + return function() { + return ccall(ident, returnType, argTypes, arguments, opts); + } +} + +var ALLOC_NORMAL = 0; // Tries to use _malloc() +var ALLOC_STACK = 1; // Lives for the duration of the current function call +var ALLOC_DYNAMIC = 2; // Cannot be freed except through sbrk +var ALLOC_NONE = 3; // Do not allocate + +// allocate(): This is for internal use. You can use it yourself as well, but the interface +// is a little tricky (see docs right below). The reason is that it is optimized +// for multiple syntaxes to save space in generated code. So you should +// normally not use allocate(), and instead allocate memory using _malloc(), +// initialize it with setValue(), and so forth. +// @slab: An array of data, or a number. If a number, then the size of the block to allocate, +// in *bytes* (note that this is sometimes confusing: the next parameter does not +// affect this!) +// @types: Either an array of types, one for each byte (or 0 if no type at that position), +// or a single type which is used for the entire block. This only matters if there +// is initial data - if @slab is a number, then this does not matter at all and is +// ignored. +// @allocator: How to allocate memory, see ALLOC_* +/** @type {function((TypedArray|Array|number), string, number, number=)} */ +function allocate(slab, types, allocator, ptr) { + var zeroinit, size; + if (typeof slab === 'number') { + zeroinit = true; + size = slab; + } else { + zeroinit = false; + size = slab.length; + } + + var singleType = typeof types === 'string' ? types : null; + + var ret; + if (allocator == ALLOC_NONE) { + ret = ptr; + } else { + ret = [_malloc, + stackAlloc, + dynamicAlloc][allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var stop; + ptr = ret; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (; ptr < stop; ptr += 4) { + HEAP32[((ptr)>>2)]=0; + } + stop = ret + size; + while (ptr < stop) { + HEAP8[((ptr++)>>0)]=0; + } + return ret; + } + + if (singleType === 'i8') { + if (slab.subarray || slab.slice) { + HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + type = singleType || types[i]; + if (type === 0) { + i++; + continue; + } + assert(type, 'Must know what type to store in allocate!'); + + if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later + + setValue(ret+i, curr, type); + + // no need to look up size unless type changes, so cache it + if (previousType !== type) { + typeSize = getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!runtimeInitialized) return dynamicAlloc(size); + return _malloc(size); +} + + + + +// runtime_strings.js: Strings related runtime functions that are part of both MINIMAL_RUNTIME and regular runtime. + +// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns +// a copy of that string as a Javascript String object. + +var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; + +/** + * @param {number} idx + * @param {number=} maxBytesToRead + * @return {string} + */ +function UTF8ArrayToString(heap, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. + // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. + // (As a tiny code save trick, compare endPtr against endIdx using a negation, so that undefined means Infinity) + while (heap[endPtr] && !(endPtr >= endIdx)) ++endPtr; + + if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) { + return UTF8Decoder.decode(heap.subarray(idx, endPtr)); + } else { + var str = ''; + // If building with TextDecoder, we have already computed the string length above, so test loop end condition against that + while (idx < endPtr) { + // For UTF8 byte structure, see: + // http://en.wikipedia.org/wiki/UTF-8#Description + // https://www.ietf.org/rfc/rfc2279.txt + // https://tools.ietf.org/html/rfc3629 + var u0 = heap[idx++]; + if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } + var u1 = heap[idx++] & 63; + if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } + var u2 = heap[idx++] & 63; + if ((u0 & 0xF0) == 0xE0) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte 0x' + u0.toString(16) + ' encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!'); + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heap[idx++] & 63); + } + + if (u0 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } + } + } + return str; +} + +// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns a +// copy of that string as a Javascript String object. +// maxBytesToRead: an optional length that specifies the maximum number of bytes to read. You can omit +// this parameter to scan the string until the first \0 byte. If maxBytesToRead is +// passed, and the string at [ptr, ptr+maxBytesToReadr[ contains a null byte in the +// middle, then the string will cut short at that byte index (i.e. maxBytesToRead will +// not produce a string of exact length [ptr, ptr+maxBytesToRead[) +// N.B. mixing frequent uses of UTF8ToString() with and without maxBytesToRead may +// throw JS JIT optimizations off, so it is worth to consider consistently using one +// style or the other. +/** + * @param {number} ptr + * @param {number=} maxBytesToRead + * @return {string} + */ +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; +} + +// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', +// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. +// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. +// Parameters: +// str: the Javascript string to copy. +// heap: the array to copy to. Each index in this array is assumed to be one 8-byte element. +// outIdx: The starting offset in the array to begin the copying. +// maxBytesToWrite: The maximum number of bytes this function can write to the array. +// This count should include the null terminator, +// i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. +// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. + return 0; + + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) { + var u1 = str.charCodeAt(++i); + u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); + } + if (u <= 0x7F) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 0x7FF) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 0xC0 | (u >> 6); + heap[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0xFFFF) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 0xE0 | (u >> 12); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } else { + if (outIdx + 3 >= endIdx) break; + if (u >= 0x200000) warnOnce('Invalid Unicode code point 0x' + u.toString(16) + ' encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF).'); + heap[outIdx++] = 0xF0 | (u >> 18); + heap[outIdx++] = 0x80 | ((u >> 12) & 63); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } + } + // Null-terminate the pointer to the buffer. + heap[outIdx] = 0; + return outIdx - startIdx; +} + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. +// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); +} + +// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); + if (u <= 0x7F) ++len; + else if (u <= 0x7FF) len += 2; + else if (u <= 0xFFFF) len += 3; + else len += 4; + } + return len; +} + + + + + +// runtime_strings_extra.js: Strings related runtime functions that are available only in regular runtime. + +// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns +// a copy of that string as a Javascript String object. + +function AsciiToString(ptr) { + var str = ''; + while (1) { + var ch = HEAPU8[((ptr++)>>0)]; + if (!ch) return str; + str += String.fromCharCode(ch); + } +} + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. + +function stringToAscii(str, outPtr) { + return writeAsciiToMemory(str, outPtr, false); +} + +// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns +// a copy of that string as a Javascript String object. + +var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; + +function UTF16ToString(ptr, maxBytesToRead) { + assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); + var endPtr = ptr; + // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. + // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. + var idx = endPtr >> 1; + var maxIdx = idx + maxBytesToRead / 2; + // If maxBytesToRead is not passed explicitly, it will be undefined, and this + // will always evaluate to true. This saves on code size. + while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx; + endPtr = idx << 1; + + if (endPtr - ptr > 32 && UTF16Decoder) { + return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); + } else { + var i = 0; + + var str = ''; + while (1) { + var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; + if (codeUnit == 0 || i == maxBytesToRead / 2) return str; + ++i; + // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. + str += String.fromCharCode(codeUnit); + } + } +} + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. +// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. +// Parameters: +// str: the Javascript string to copy. +// outPtr: Byte address in Emscripten HEAP where to write the string to. +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. +// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF16(str, outPtr, maxBytesToWrite) { + assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 2) return 0; + maxBytesToWrite -= 2; // Null terminator. + var startPtr = outPtr; + var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; + for (var i = 0; i < numCharsToWrite; ++i) { + // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + HEAP16[((outPtr)>>1)]=codeUnit; + outPtr += 2; + } + // Null-terminate the pointer to the HEAP. + HEAP16[((outPtr)>>1)]=0; + return outPtr - startPtr; +} + +// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. + +function lengthBytesUTF16(str) { + return str.length*2; +} + +function UTF32ToString(ptr, maxBytesToRead) { + assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); + var i = 0; + + var str = ''; + // If maxBytesToRead is not passed explicitly, it will be undefined, and this + // will always evaluate to true. This saves on code size. + while (!(i >= maxBytesToRead / 4)) { + var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; + if (utf32 == 0) break; + ++i; + // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + if (utf32 >= 0x10000) { + var ch = utf32 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } else { + str += String.fromCharCode(utf32); + } + } + return str; +} + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. +// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. +// Parameters: +// str: the Javascript string to copy. +// outPtr: Byte address in Emscripten HEAP where to write the string to. +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. +// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF32(str, outPtr, maxBytesToWrite) { + assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 4) return 0; + var startPtr = outPtr; + var endPtr = startPtr + maxBytesToWrite - 4; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { + var trailSurrogate = str.charCodeAt(++i); + codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); + } + HEAP32[((outPtr)>>2)]=codeUnit; + outPtr += 4; + if (outPtr + 4 > endPtr) break; + } + // Null-terminate the pointer to the HEAP. + HEAP32[((outPtr)>>2)]=0; + return outPtr - startPtr; +} + +// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. + +function lengthBytesUTF32(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. + len += 4; + } + + return len; +} + +// Allocate heap space for a JS string, and write it there. +// It is the responsibility of the caller to free() that memory. +function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} + +// Allocate stack space for a JS string, and write it there. +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} + +// Deprecated: This function should not be called because it is unsafe and does not provide +// a maximum length limit of how many bytes it is allowed to write. Prefer calling the +// function stringToUTF8Array() instead, which takes in a maximum length that can be used +// to be secure from out of bounds writes. +/** @deprecated + @param {boolean=} dontAddNull */ +function writeStringToMemory(string, buffer, dontAddNull) { + warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var /** @type {number} */ lastChar, /** @type {number} */ end; + if (dontAddNull) { + // stringToUTF8Array always appends null. If we don't want to do that, remember the + // character that existed at the location where the null will be placed, and restore + // that after the write (below). + end = buffer + lengthBytesUTF8(string); + lastChar = HEAP8[end]; + } + stringToUTF8(string, buffer, Infinity); + if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. +} + +function writeArrayToMemory(array, buffer) { + assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)') + HEAP8.set(array, buffer); +} + +/** @param {boolean=} dontAddNull */ +function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); + HEAP8[((buffer++)>>0)]=str.charCodeAt(i); + } + // Null-terminate the pointer to the HEAP. + if (!dontAddNull) HEAP8[((buffer)>>0)]=0; +} + + + +// Memory management + +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var ASMJS_PAGE_SIZE = 16777216; + +function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - (x % multiple); + } + return x; +} + +var HEAP, +/** @type {ArrayBuffer} */ + buffer, +/** @type {Int8Array} */ + HEAP8, +/** @type {Uint8Array} */ + HEAPU8, +/** @type {Int16Array} */ + HEAP16, +/** @type {Uint16Array} */ + HEAPU16, +/** @type {Int32Array} */ + HEAP32, +/** @type {Uint32Array} */ + HEAPU32, +/** @type {Float32Array} */ + HEAPF32, +/** @type {Float64Array} */ + HEAPF64; + +function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module['HEAP8'] = HEAP8 = new Int8Array(buf); + Module['HEAP16'] = HEAP16 = new Int16Array(buf); + Module['HEAP32'] = HEAP32 = new Int32Array(buf); + Module['HEAPU8'] = HEAPU8 = new Uint8Array(buf); + Module['HEAPU16'] = HEAPU16 = new Uint16Array(buf); + Module['HEAPU32'] = HEAPU32 = new Uint32Array(buf); + Module['HEAPF32'] = HEAPF32 = new Float32Array(buf); + Module['HEAPF64'] = HEAPF64 = new Float64Array(buf); +} + +var STATIC_BASE = 1024, + STACK_BASE = 5359344, + STACKTOP = STACK_BASE, + STACK_MAX = 116464, + DYNAMIC_BASE = 5359344, + DYNAMICTOP_PTR = 116304; + +assert(STACK_BASE % 16 === 0, 'stack must start aligned'); +assert(DYNAMIC_BASE % 16 === 0, 'heap must start aligned'); + + +var TOTAL_STACK = 5242880; +if (Module['TOTAL_STACK']) assert(TOTAL_STACK === Module['TOTAL_STACK'], 'the stack size can no longer be determined at runtime') + +var INITIAL_INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 16777216;if (!Object.getOwnPropertyDescriptor(Module, 'INITIAL_MEMORY')) Object.defineProperty(Module, 'INITIAL_MEMORY', { configurable: true, get: function() { abort('Module.INITIAL_MEMORY has been replaced with plain INITIAL_INITIAL_MEMORY (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); + +assert(INITIAL_INITIAL_MEMORY >= TOTAL_STACK, 'INITIAL_MEMORY should be larger than TOTAL_STACK, was ' + INITIAL_INITIAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); + +// check for full engine support (use string 'subarray' to avoid closure compiler confusion) +assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, + 'JS engine does not provide full typed array support'); + + + + + + + + +// In non-standalone/normal mode, we create the memory here. + + + +// Create the main memory. (Note: this isn't used in STANDALONE_WASM mode since the wasm +// memory is created in the wasm, not in JS.) + + if (Module['wasmMemory']) { + wasmMemory = Module['wasmMemory']; + } else + { + wasmMemory = new WebAssembly.Memory({ + 'initial': INITIAL_INITIAL_MEMORY / WASM_PAGE_SIZE + , + 'maximum': 2147483648 / WASM_PAGE_SIZE + }); + } + + +if (wasmMemory) { + buffer = wasmMemory.buffer; +} + +// If the user provides an incorrect length, just use that length instead rather than providing the user to +// specifically provide the memory length with Module['INITIAL_MEMORY']. +INITIAL_INITIAL_MEMORY = buffer.byteLength; +assert(INITIAL_INITIAL_MEMORY % WASM_PAGE_SIZE === 0); +assert(65536 % WASM_PAGE_SIZE === 0); +updateGlobalBufferAndViews(buffer); + +HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; + + + + + + +// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. +function writeStackCookie() { + assert((STACK_MAX & 3) == 0); + // The stack grows downwards + HEAPU32[(STACK_MAX >> 2)+1] = 0x2135467; + HEAPU32[(STACK_MAX >> 2)+2] = 0x89BACDFE; + // Also test the global address 0 for integrity. + // We don't do this with ASan because ASan does its own checks for this. + HEAP32[0] = 0x63736d65; /* 'emsc' */ +} + +function checkStackCookie() { + var cookie1 = HEAPU32[(STACK_MAX >> 2)+1]; + var cookie2 = HEAPU32[(STACK_MAX >> 2)+2]; + if (cookie1 != 0x2135467 || cookie2 != 0x89BACDFE) { + abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x' + cookie2.toString(16) + ' ' + cookie1.toString(16)); + } + // Also test the global address 0 for integrity. + // We don't do this with ASan because ASan does its own checks for this. + if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); +} + + + + + +// Endianness check (note: assumes compiler arch was little-endian) +(function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 0x6373; + if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; +})(); + +function abortFnPtrError(ptr, sig) { + abort("Invalid function pointer " + ptr + " called with signature '" + sig + "'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). Build with ASSERTIONS=2 for more info."); +} + + + +function callRuntimeCallbacks(callbacks) { + while(callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == 'function') { + callback(Module); // Pass the module as the first argument. + continue; + } + var func = callback.func; + if (typeof func === 'number') { + if (callback.arg === undefined) { + Module['dynCall_v'](func); + } else { + Module['dynCall_vi'](func, callback.arg); + } + } else { + func(callback.arg === undefined ? null : callback.arg); + } + } +} + +var __ATPRERUN__ = []; // functions called before the runtime is initialized +var __ATINIT__ = []; // functions called during startup +var __ATMAIN__ = []; // functions called when main() is to be run +var __ATEXIT__ = []; // functions called during shutdown +var __ATPOSTRUN__ = []; // functions called after the main() is called + +var runtimeInitialized = false; +var runtimeExited = false; + + +function preRun() { + + if (Module['preRun']) { + if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; + while (Module['preRun'].length) { + addOnPreRun(Module['preRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPRERUN__); +} + +function initRuntime() { + checkStackCookie(); + assert(!runtimeInitialized); + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); +TTY.init(); + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + checkStackCookie(); + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATMAIN__); +} + +function exitRuntime() { + checkStackCookie(); + runtimeExited = true; +} + +function postRun() { + checkStackCookie(); + + if (Module['postRun']) { + if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; + while (Module['postRun'].length) { + addOnPostRun(Module['postRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPOSTRUN__); +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} + +function addOnExit(cb) { +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} + +/** @param {number|boolean=} ignore */ +function unSign(value, bits, ignore) { + if (value >= 0) { + return value; + } + return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts + : Math.pow(2, bits) + value; +} +/** @param {number|boolean=} ignore */ +function reSign(value, bits, ignore) { + if (value <= 0) { + return value; + } + var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 + : Math.pow(2, bits-1); + if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that + // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors + // TODO: In i64 mode 1, resign the two parts separately and safely + value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts + } + return value; +} + + + + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc + +assert(Math.imul, 'This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.fround, 'This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.clz32, 'This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.trunc, 'This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); + +var Math_abs = Math.abs; +var Math_cos = Math.cos; +var Math_sin = Math.sin; +var Math_tan = Math.tan; +var Math_acos = Math.acos; +var Math_asin = Math.asin; +var Math_atan = Math.atan; +var Math_atan2 = Math.atan2; +var Math_exp = Math.exp; +var Math_log = Math.log; +var Math_sqrt = Math.sqrt; +var Math_ceil = Math.ceil; +var Math_floor = Math.floor; +var Math_pow = Math.pow; +var Math_imul = Math.imul; +var Math_fround = Math.fround; +var Math_round = Math.round; +var Math_min = Math.min; +var Math_max = Math.max; +var Math_clz32 = Math.clz32; +var Math_trunc = Math.trunc; + + + +// A counter of dependencies for calling run(). If we need to +// do asynchronous work before running, increment this and +// decrement it. Incrementing must happen in a place like +// Module.preRun (used by emcc to add file preloading). +// Note that you can add dependencies in preRun, even though +// it happens right before run - run will be postponed until +// the dependencies are met. +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random(); + } +} + +function addRunDependency(id) { + runDependencies++; + + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { + // Check for missing dependencies every few seconds + runDependencyWatcher = setInterval(function() { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return; + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + err('still waiting on run dependencies:'); + } + err('dependency: ' + dep); + } + if (shown) { + err('(end of list)'); + } + }, 10000); + } + } else { + err('warning: run dependency added without ID'); + } +} + +function removeRunDependency(id) { + runDependencies--; + + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + err('warning: run dependency removed without ID'); + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); // can add another dependenciesFulfilled + } + } +} + +Module["preloadedImages"] = {}; // maps url to image data +Module["preloadedAudios"] = {}; // maps url to audio data + +/** @param {string|number=} what */ +function abort(what) { + if (Module['onAbort']) { + Module['onAbort'](what); + } + + what += ''; + err(what); + + ABORT = true; + EXITSTATUS = 1; + + var output = 'abort(' + what + ') at ' + stackTrace(); + what = output; + + // Use a wasm runtime error, because a JS error might be seen as a foreign + // exception, which means we'd run destructors on it. We need the error to + // simply make the program stop. + var e = new WebAssembly.RuntimeError(what); + + // Throw the error whether or not MODULARIZE is set because abort is used + // in code paths apart from instantiation where an exception is expected + // to be thrown when abort is called. + throw e; +} + + +var memoryInitializer = null; + + + + + + + + + + + +function hasPrefix(str, prefix) { + return String.prototype.startsWith ? + str.startsWith(prefix) : + str.indexOf(prefix) === 0; +} + +// Prefix of data URIs emitted by SINGLE_FILE and related options. +var dataURIPrefix = 'data:application/octet-stream;base64,'; + +// Indicates whether filename is a base64 data URI. +function isDataURI(filename) { + return hasPrefix(filename, dataURIPrefix); +} + +var fileURIPrefix = "file://"; + +// Indicates whether filename is delivered via file protocol (as opposed to http/https) +function isFileURI(filename) { + return hasPrefix(filename, fileURIPrefix); +} + + + +function createExportWrapper(name, fixedasm) { + return function() { + var displayName = name; + var asm = fixedasm; + if (!fixedasm) { + asm = Module['asm']; + } + assert(runtimeInitialized, 'native function `' + displayName + '` called before runtime initialization'); + assert(!runtimeExited, 'native function `' + displayName + '` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); + if (!asm[name]) { + assert(asm[name], 'exported native function `' + displayName + '` not found'); + } + return asm[name].apply(null, arguments); + }; +} + +var wasmBinaryFile = 'sql-asm-debug.wasm'; +if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); +} + +function getBinary() { + try { + if (wasmBinary) { + return new Uint8Array(wasmBinary); + } + + var binary = tryParseAsDataURI(wasmBinaryFile); + if (binary) { + return binary; + } + if (readBinary) { + return readBinary(wasmBinaryFile); + } else { + throw "both async and sync fetching of the wasm failed"; + } + } + catch (err) { + abort(err); + } +} + +function getBinaryPromise() { + // If we don't have the binary yet, and have the Fetch api, use that; + // in some environments, like Electron's render process, Fetch api may be present, but have a different context than expected, let's only use it on the Web + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === 'function' + // Let's not use fetch to get objects over file:// as it's most likely Cordova which doesn't support fetch for file:// + && !isFileURI(wasmBinaryFile) + ) { + return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function(response) { + if (!response['ok']) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'"; + } + return response['arrayBuffer'](); + }).catch(function () { + return getBinary(); + }); + } + // Otherwise, getBinary should be able to get it synchronously + return Promise.resolve().then(getBinary); +} + + + +// Create the wasm instance. +// Receives the wasm imports, returns the exports. +function createWasm() { + // prepare imports + var info = { + 'env': asmLibraryArg, + 'wasi_snapshot_preview1': asmLibraryArg + }; + // Load the wasm module and create an instance of using native support in the JS engine. + // handle a generated wasm instance, receiving its exports and + // performing other necessary setup + /** @param {WebAssembly.Module=} module*/ + function receiveInstance(instance, module) { + var exports = instance.exports; + Module['asm'] = exports; + removeRunDependency('wasm-instantiate'); + } + // we can't run yet (except in a pthread, where we have a custom sync instantiator) + addRunDependency('wasm-instantiate'); + + + // Async compilation can be confusing when an error on the page overwrites Module + // (for example, if the order of elements is wrong, and the one defining Module is + // later), so we save Module and check it later. + var trueModule = Module; + function receiveInstantiatedSource(output) { + // 'output' is a WebAssemblyInstantiatedSource object which has both the module and instance. + // receiveInstance() will swap in the exports (to Module.asm) so they can be called + assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); + trueModule = null; + // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. + // When the regression is fixed, can restore the above USE_PTHREADS-enabled path. + receiveInstance(output['instance']); + } + + + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info); + }).then(receiver, function(reason) { + err('failed to asynchronously prepare wasm: ' + reason); + + + abort(reason); + }); + } + + // Prefer streaming instantiation if available. + function instantiateAsync() { + if (!wasmBinary && + typeof WebAssembly.instantiateStreaming === 'function' && + !isDataURI(wasmBinaryFile) && + // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. + !isFileURI(wasmBinaryFile) && + typeof fetch === 'function') { + fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function (response) { + var result = WebAssembly.instantiateStreaming(response, info); + return result.then(receiveInstantiatedSource, function(reason) { + // We expect the most common failure cause to be a bad MIME type for the binary, + // in which case falling back to ArrayBuffer instantiation should work. + err('wasm streaming compile failed: ' + reason); + err('falling back to ArrayBuffer instantiation'); + return instantiateArrayBuffer(receiveInstantiatedSource); + }); + }); + } else { + return instantiateArrayBuffer(receiveInstantiatedSource); + } + } + // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback + // to manually instantiate the Wasm module themselves. This allows pages to run the instantiation parallel + // to any other async startup actions they are performing. + if (Module['instantiateWasm']) { + try { + var exports = Module['instantiateWasm'](info, receiveInstance); + return exports; + } catch(e) { + err('Module.instantiateWasm callback failed with error: ' + e); + return false; + } + } + + instantiateAsync(); + return {}; // no exports yet; we'll fill them in later +} + +// Globals used by JS i64 conversions +var tempDouble; +var tempI64; + +// === Body === + +var ASM_CONSTS = { + +}; + + + + +// STATICTOP = STATIC_BASE + 115440; +/* global initializers */ __ATINIT__.push({ func: function() { ___wasm_call_ctors() } }); + + + + +/* no memory initializer */ +// {{PRE_LIBRARY}} + + + function abortStackOverflow(allocSize) { + abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - stackSave() + allocSize) + ' bytes available!'); + } + + function demangle(func) { + warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); + return func; + } + + function demangleAll(text) { + var regex = + /\b_Z[\w\d_]+/g; + return text.replace(regex, + function(x) { + var y = demangle(x); + return x === y ? x : (y + ' [' + x + ']'); + }); + } + + function jsStackTrace() { + var err = new Error(); + if (!err.stack) { + // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, + // so try that as a special-case. + try { + throw new Error(); + } catch(e) { + err = e; + } + if (!err.stack) { + return '(no stack trace available)'; + } + } + return err.stack.toString(); + } + + function stackTrace() { + var js = jsStackTrace(); + if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace'](); + return demangleAll(js); + } + + function ___assert_fail(condition, filename, line, func) { + abort('Assertion failed: ' + UTF8ToString(condition) + ', at: ' + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']); + } + + + + var PATH={splitPath:function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + },normalizeArray:function(parts, allowAboveRoot) { + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === '.') { + parts.splice(i, 1); + } else if (last === '..') { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift('..'); + } + } + return parts; + },normalize:function(path) { + var isAbsolute = path.charAt(0) === '/', + trailingSlash = path.substr(-1) === '/'; + // Normalize the path + path = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), !isAbsolute).join('/'); + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + return (isAbsolute ? '/' : '') + path; + },dirname:function(path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + // No dirname whatsoever + return '.'; + } + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + },basename:function(path) { + // EMSCRIPTEN return '/'' for '/', not an empty string + if (path === '/') return '/'; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf('/'); + if (lastSlash === -1) return path; + return path.substr(lastSlash+1); + },extname:function(path) { + return PATH.splitPath(path)[3]; + },join:function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join('/')); + },join2:function(l, r) { + return PATH.normalize(l + '/' + r); + }}; + + + function setErrNo(value) { + HEAP32[((___errno_location())>>2)]=value; + return value; + } + + var PATH_FS={resolve:function() { + var resolvedPath = '', + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? arguments[i] : FS.cwd(); + // Skip empty and invalid entries + if (typeof path !== 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + return ''; // an invalid portion invalidates the whole thing + } + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; + } + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { + return !!p; + }), !resolvedAbsolute).join('/'); + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; + },relative:function(from, to) { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join('/'); + }}; + + var TTY={ttys:[],init:function () { + // https://github.com/emscripten-core/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // currently, FS.init does not distinguish if process.stdin is a file or TTY + // // device, it always assumes it's a TTY device. because of this, we're forcing + // // process.stdin to UTF8 encoding to at least make stdin reading compatible + // // with text files until FS.init can be refactored. + // process['stdin']['setEncoding']('utf8'); + // } + },shutdown:function() { + // https://github.com/emscripten-core/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? + // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation + // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? + // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle + // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call + // process['stdin']['pause'](); + // } + },register:function(dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops: ops }; + FS.registerDevice(dev, TTY.stream_ops); + },stream_ops:{open:function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43); + } + stream.tty = tty; + stream.seekable = false; + },close:function(stream) { + // flush any pending line data + stream.tty.ops.flush(stream.tty); + },flush:function(stream) { + stream.tty.ops.flush(stream.tty); + },read:function(stream, buffer, offset, length, pos /* ignored */) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + },write:function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset+i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }},default_tty_ops:{get_char:function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + // we will read data by chunks of BUFSIZE + var BUFSIZE = 256; + var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); + var bytesRead = 0; + + try { + bytesRead = nodeFS.readSync(process.stdin.fd, buf, 0, BUFSIZE, null); + } catch(e) { + // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, + // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. + if (e.toString().indexOf('EOF') != -1) bytesRead = 0; + else throw e; + } + + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString('utf-8'); + } else { + result = null; + } + } else + if (typeof window != 'undefined' && + typeof window.prompt == 'function') { + // Browser. + result = window.prompt('Input: '); // returns null on cancel + if (result !== null) { + result += '\n'; + } + } else if (typeof readline == 'function') { + // Command line. + result = readline(); + if (result !== null) { + result += '\n'; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + },put_char:function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. + } + },flush:function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }},default_tty1_ops:{put_char:function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + },flush:function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }}}; + + var MEMFS={ops_table:null,mount:function(mount) { + return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); + },createNode:function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + // no supported + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. + // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred + // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size + // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; + } + return node; + },getFileDataAsRegularArray:function(node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr; // Returns a copy of the original data. + } + return node.contents; // No-op, the file contents are already in a JS array. Return as-is. + },getFileDataAsTypedArray:function(node) { + if (!node.contents) return new Uint8Array(0); + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. + return new Uint8Array(node.contents); + },expandFileStorage:function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. + // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. + // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to + // avoid overshooting the allocation cap by a very large margin. + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); // Allocate new storage. + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. + return; + },resizeFileStorage:function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; // Fully decommit when requesting a resize to zero. + node.usedBytes = 0; + return; + } + if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); // Allocate new storage. + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. + } + node.usedBytes = newSize; + return; + } + // Backing with a JS array. + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize; + },node_ops:{getattr:function(node) { + var attr = {}; + // device numbers reuse inode numbers. + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), + // but this is not required by the standard. + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + },setattr:function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size); + } + },lookup:function(parent, name) { + throw FS.genericErrors[44]; + },mknod:function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + },rename:function(old_node, new_dir, new_name) { + // if we're overwriting a directory at new_name, make sure it's empty. + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55); + } + } + } + // do the internal rewiring + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir; + },unlink:function(parent, name) { + delete parent.contents[name]; + },rmdir:function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + },readdir:function(node) { + var entries = ['.', '..']; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + },symlink:function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); + node.link = oldpath; + return node; + },readlink:function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28); + } + return node.link; + }},stream_ops:{read:function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { // non-trivial, and typed array + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; + } + return size; + },write:function(stream, buffer, offset, length, position, canOwn) { + // The data buffer should be a typed array view + assert(!(buffer instanceof ArrayBuffer)); + // If the buffer is located in main memory (HEAP), and if + // memory can grow, we can't hold on to references of the + // memory buffer, as they may get invalidated. That means we + // need to do copy its contents. + if (buffer.buffer === HEAP8.buffer) { + // FIXME: this is inefficient as the file packager may have + // copied the data into memory already - we may want to + // integrate more there and let the file packager loading + // code be able to query if memory growth is on or off. + if (canOwn) { + warnOnce('file packager has copied file data into memory, but in memory growth we are forced to copy it again (see --no-heap-copy)'); + } + canOwn = false; + } + + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + + if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? + if (canOwn) { + assert(position === 0, 'canOwn must imply no weird position inside the file'); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + + // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. + MEMFS.expandFileStorage(node, position+length); + if (node.contents.subarray && buffer.subarray) { + // Use typed array write which is available. + node.contents.set(buffer.subarray(offset, offset + length), position); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + },llseek:function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + },allocate:function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + },mmap:function(stream, address, length, position, prot, flags) { + // We don't currently support location hints for the address of the mapping + assert(address === 0); + + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + // Only make a new copy when MAP_PRIVATE is specified. + if (!(flags & 2) && contents.buffer === buffer) { + // We can't emulate MAP_SHARED when the file is not backed by the buffer + // we're mapping to (e.g. the HEAP buffer). + allocated = false; + ptr = contents.byteOffset; + } else { + // Try to avoid unnecessary slices. + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = FS.mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + },msync:function(stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (mmapFlags & 2) { + // MAP_PRIVATE calls need not to be synced back to underlying fs + return 0; + } + + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + // should we check if bytesWritten and length are the same? + return 0; + }}}; + + var ERRNO_MESSAGES={0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"}; + + var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e) { + if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); + return setErrNo(e.errno); + },lookupPath:function(path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key]; + } + } + + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(32); + } + + // split the path + var parts = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), false); + + // start at the root + var current = FS.root; + var current_path = '/'; + + for (var i = 0; i < parts.length; i++) { + var islast = (i === parts.length-1); + if (islast && opts.parent) { + // stop resolving + break; + } + + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + + // jump to the mount's root node if this is a mountpoint + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + + // by default, lookupPath will not follow a symlink if it is the final path component. + // setting opts.follow = true will override this behavior. + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); + current = lookup.node; + + if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). + throw new FS.ErrnoError(32); + } + } + } + } + + return { path: current_path, node: current }; + },getPath:function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; + } + path = path ? node.name + '/' + path : node.name; + node = node.parent; + } + },hashName:function(parentid, name) { + var hash = 0; + + + for (var i = 0; i < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 0) % FS.nameTable.length; + },hashAddNode:function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + },hashRemoveNode:function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + },lookupNode:function(parent, name) { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + // if we failed to find it in the cache, call into the VFS + return FS.lookup(parent, name); + },createNode:function(parent, name, mode, rdev) { + var node = new FS.FSNode(parent, name, mode, rdev); + + FS.hashAddNode(node); + + return node; + },destroyNode:function(node) { + FS.hashRemoveNode(node); + },isRoot:function(node) { + return node === node.parent; + },isMountpoint:function(node) { + return !!node.mounted; + },isFile:function(mode) { + return (mode & 61440) === 32768; + },isDir:function(mode) { + return (mode & 61440) === 16384; + },isLink:function(mode) { + return (mode & 61440) === 40960; + },isChrdev:function(mode) { + return (mode & 61440) === 8192; + },isBlkdev:function(mode) { + return (mode & 61440) === 24576; + },isFIFO:function(mode) { + return (mode & 61440) === 4096; + },isSocket:function(mode) { + return (mode & 49152) === 49152; + },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === 'undefined') { + throw new Error('Unknown file open mode: ' + str); + } + return flags; + },flagsToPermissionString:function(flag) { + var perms = ['r', 'w', 'rw'][flag & 3]; + if ((flag & 512)) { + perms += 'w'; + } + return perms; + },nodePermissions:function(node, perms) { + if (FS.ignorePermissions) { + return 0; + } + // return 0 if any user, group or owner bits are set. + if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { + return 2; + } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { + return 2; + } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { + return 2; + } + return 0; + },mayLookup:function(dir) { + var errCode = FS.nodePermissions(dir, 'x'); + if (errCode) return errCode; + if (!dir.node_ops.lookup) return 2; + return 0; + },mayCreate:function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) { + } + return FS.nodePermissions(dir, 'wx'); + },mayDelete:function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, 'wx'); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + },mayOpen:function(node, flags) { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + },MAX_OPEN_FDS:4096,nextfd:function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + },getStream:function(fd) { + return FS.streams[fd]; + },createStream:function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = /** @constructor */ function(){}; + FS.FSStream.prototype = { + object: { + get: function() { return this.node; }, + set: function(val) { this.node = val; } + }, + isRead: { + get: function() { return (this.flags & 2097155) !== 1; } + }, + isWrite: { + get: function() { return (this.flags & 2097155) !== 0; } + }, + isAppend: { + get: function() { return (this.flags & 1024); } + } + }; + } + // clone it, so we can return an instance of FSStream + var newStream = new FS.FSStream(); + for (var p in stream) { + newStream[p] = stream[p]; + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + },closeStream:function(fd) { + FS.streams[fd] = null; + },chrdev_stream_ops:{open:function(stream) { + var device = FS.getDevice(stream.node.rdev); + // override node's stream ops with the device's + stream.stream_ops = device.stream_ops; + // forward the open call + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + },llseek:function() { + throw new FS.ErrnoError(70); + }},major:function(dev) { + return ((dev) >> 8); + },minor:function(dev) { + return ((dev) & 0xff); + },makedev:function(ma, mi) { + return ((ma) << 8 | (mi)); + },registerDevice:function(dev, ops) { + FS.devices[dev] = { stream_ops: ops }; + },getDevice:function(dev) { + return FS.devices[dev]; + },getMounts:function(mount) { + var mounts = []; + var check = [mount]; + + while (check.length) { + var m = check.pop(); + + mounts.push(m); + + check.push.apply(check, m.mounts); + } + + return mounts; + },syncfs:function(populate, callback) { + if (typeof(populate) === 'function') { + callback = populate; + populate = false; + } + + FS.syncFSRequests++; + + if (FS.syncFSRequests > 1) { + err('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); + } + + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(errCode) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(errCode); + } + + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + }; + + // sync all mounts + mounts.forEach(function (mount) { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + },mount:function(type, opts, mountpoint) { + if (typeof type === 'string') { + // The filesystem was not included, and instead we have an error + // message stored in the variable. + throw type; + } + var root = mountpoint === '/'; + var pseudo = !mountpoint; + var node; + + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + mountpoint = lookup.path; // use the absolute path + node = lookup.node; + + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; + + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } + + return mountRoot; + },unmount:function (mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + + Object.keys(FS.nameTable).forEach(function (hash) { + var current = FS.nameTable[hash]; + + while (current) { + var next = current.name_next; + + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current); + } + + current = next; + } + }); + + // no longer a mountpoint + node.mounted = null; + + // remove this mount from the child mounts + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1); + },lookup:function(parent, name) { + return parent.node_ops.lookup(parent, name); + },mknod:function(path, mode, dev) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === '.' || name === '..') { + throw new FS.ErrnoError(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + },create:function(path, mode) { + mode = mode !== undefined ? mode : 438 /* 0666 */; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + },mkdir:function(path, mode) { + mode = mode !== undefined ? mode : 511 /* 0777 */; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + },mkdirTree:function(path, mode) { + var dirs = path.split('/'); + var d = ''; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += '/' + dirs[i]; + try { + FS.mkdir(d, mode); + } catch(e) { + if (e.errno != 20) throw e; + } + } + },mkdev:function(path, mode, dev) { + if (typeof(dev) === 'undefined') { + dev = mode; + mode = 438 /* 0666 */; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:function(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + },rename:function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + // parents must exist + var lookup, old_dir, new_dir; + + // let the errors from non existant directories percolate up + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + // need to be part of the same mount + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + // source must exist + var old_node = FS.lookupNode(old_dir, old_name); + // old path should not be an ancestor of the new path + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(28); + } + // new path should not be an ancestor of the old path + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(55); + } + // see if the new path already exists + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + // not fatal + } + // early out if nothing needs to change + if (old_node === new_node) { + return; + } + // we'll need to delete the old entry + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + // need delete permissions if we'll be overwriting. + // need create permissions if new doesn't already exist. + errCode = new_node ? + FS.mayDelete(new_dir, new_name, isdir) : + FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(10); + } + // if we are going to change the parent, check write permissions + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, 'w'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + try { + if (FS.trackingDelegate['willMovePath']) { + FS.trackingDelegate['willMovePath'](old_path, new_path); + } + } catch(e) { + err("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); + } + // remove the node from the lookup hash + FS.hashRemoveNode(old_node); + // do the underlying fs rename + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + // add the node back to the hash (in case node_ops.rename + // changed its name) + FS.hashAddNode(old_node); + } + try { + if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); + } catch(e) { + err("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); + } + },rmdir:function(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + try { + if (FS.trackingDelegate['willDeletePath']) { + FS.trackingDelegate['willDeletePath'](path); + } + } catch(e) { + err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); + } catch(e) { + err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); + } + },readdir:function(path) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + },unlink:function(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + // According to POSIX, we should map EISDIR to EPERM, but + // we instead do what Linux does (and we must, as we use + // the musl linux libc). + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + try { + if (FS.trackingDelegate['willDeletePath']) { + FS.trackingDelegate['willDeletePath'](path); + } + } catch(e) { + err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); + } catch(e) { + err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); + } + },readlink:function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + },stat:function(path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + },lstat:function(path) { + return FS.stat(path, true); + },chmod:function(path, mode, dontFollow) { + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now() + }); + },lchmod:function(path, mode) { + FS.chmod(path, mode, true); + },fchmod:function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + },chown:function(path, uid, gid, dontFollow) { + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + // we ignore the uid / gid for now + }); + },lchown:function(path, uid, gid) { + FS.chown(path, uid, gid, true); + },fchown:function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + },truncate:function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, 'w'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + },ftruncate:function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + },utime:function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }); + },open:function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode; + if ((flags & 64)) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path === 'object') { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node; + } catch (e) { + // ignore + } + } + // perhaps we need to create the node + var created = false; + if ((flags & 64)) { + if (node) { + // if O_CREAT and O_EXCL are set, error out if the node already exists + if ((flags & 128)) { + throw new FS.ErrnoError(20); + } + } else { + // node doesn't exist, try to create it + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + // can't truncate a device + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + // if asked only for a directory, then this must be one + if ((flags & 65536) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + // check permissions, if this is not a file we just created now (it is ok to + // create and write to a file with read-only permissions; it is read-only + // for later use) + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + // do truncation if necessary + if ((flags & 512)) { + FS.truncate(node, 0); + } + // we've already handled these, don't pass down to the underlying vfs + flags &= ~(128 | 512 | 131072); + + // register the stream with the filesystem + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), // we want the absolute path to the node + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + // used by the file family libc calls (fopen, fwrite, ferror, etc.) + ungotten: [], + error: false + }, fd_start, fd_end); + // call the new stream's open function + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module['logReadFiles'] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + err("FS.trackingDelegate error on read file: " + path); + } + } + try { + if (FS.trackingDelegate['onOpenFile']) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ; + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE; + } + FS.trackingDelegate['onOpenFile'](path, trackingFlags); + } + } catch(e) { + err("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); + } + return stream; + },close:function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) stream.getdents = null; // free readdir state + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + },isClosed:function(stream) { + return stream.fd === null; + },llseek:function(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + },read:function(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position !== 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + },write:function(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + // seek to the end before writing in append mode + FS.llseek(stream, 0, 2); + } + var seeking = typeof position !== 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); + } catch(e) { + err("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: " + e.message); + } + return bytesWritten; + },allocate:function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + },mmap:function(stream, address, length, position, prot, flags) { + // User requests writing to file (prot & PROT_WRITE != 0). + // Checking if we have permissions to write to the file unless + // MAP_PRIVATE flag is set. According to POSIX spec it is possible + // to write to file opened in read-only mode with MAP_PRIVATE flag, + // as all modifications will be visible only in the memory of + // the current process. + if ((prot & 2) !== 0 + && (flags & 2) === 0 + && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, address, length, position, prot, flags); + },msync:function(stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + },munmap:function(stream) { + return 0; + },ioctl:function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + },readFile:function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || 'r'; + opts.encoding = opts.encoding || 'binary'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === 'utf8') { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === 'binary') { + ret = buf; + } + FS.close(stream); + return ret; + },writeFile:function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || 'w'; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === 'string') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); + } else { + throw new Error('Unsupported data type'); + } + FS.close(stream); + },cwd:function() { + return FS.currentPath; + },chdir:function(path) { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, 'x'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + },createDefaultDirectories:function() { + FS.mkdir('/tmp'); + FS.mkdir('/home'); + FS.mkdir('/home/web_user'); + },createDefaultDevices:function() { + // create /dev + FS.mkdir('/dev'); + // setup /dev/null + FS.registerDevice(FS.makedev(1, 3), { + read: function() { return 0; }, + write: function(stream, buffer, offset, length, pos) { return length; } + }); + FS.mkdev('/dev/null', FS.makedev(1, 3)); + // setup /dev/tty and /dev/tty1 + // stderr needs to print output using Module['printErr'] + // so we register a second tty just for it. + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev('/dev/tty', FS.makedev(5, 0)); + FS.mkdev('/dev/tty1', FS.makedev(6, 0)); + // setup /dev/[u]random + var random_device; + if (typeof crypto === 'object' && typeof crypto['getRandomValues'] === 'function') { + // for modern web browsers + var randomBuffer = new Uint8Array(1); + random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; + } else + if (ENVIRONMENT_IS_NODE) { + // for nodejs with or without crypto support included + try { + var crypto_module = require('crypto'); + // nodejs has crypto support + random_device = function() { return crypto_module['randomBytes'](1)[0]; }; + } catch (e) { + // nodejs doesn't have crypto support + } + } else + {} + if (!random_device) { + // we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096 + random_device = function() { abort("no cryptographic support found for random_device. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };"); }; + } + FS.createDevice('/dev', 'random', random_device); + FS.createDevice('/dev', 'urandom', random_device); + // we're not going to emulate the actual shm device, + // just create the tmp dirs that reside in it commonly + FS.mkdir('/dev/shm'); + FS.mkdir('/dev/shm/tmp'); + },createSpecialDirectories:function() { + // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) + FS.mkdir('/proc'); + FS.mkdir('/proc/self'); + FS.mkdir('/proc/self/fd'); + FS.mount({ + mount: function() { + var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { mountpoint: 'fake' }, + node_ops: { readlink: function() { return stream.path } } + }; + ret.parent = ret; // make it look like a simple root node + return ret; + } + }; + return node; + } + }, {}, '/proc/self/fd'); + },createStandardStreams:function() { + // TODO deprecate the old functionality of a single + // input / output callback and that utilizes FS.createDevice + // and instead require a unique set of stream ops + + // by default, we symlink the standard streams to the + // default tty devices. however, if the standard streams + // have been overwritten we create a unique device for + // them instead. + if (Module['stdin']) { + FS.createDevice('/dev', 'stdin', Module['stdin']); + } else { + FS.symlink('/dev/tty', '/dev/stdin'); + } + if (Module['stdout']) { + FS.createDevice('/dev', 'stdout', null, Module['stdout']); + } else { + FS.symlink('/dev/tty', '/dev/stdout'); + } + if (Module['stderr']) { + FS.createDevice('/dev', 'stderr', null, Module['stderr']); + } else { + FS.symlink('/dev/tty1', '/dev/stderr'); + } + + // open default streams for the stdin, stdout and stderr devices + var stdin = FS.open('/dev/stdin', 'r'); + var stdout = FS.open('/dev/stdout', 'w'); + var stderr = FS.open('/dev/stderr', 'w'); + assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); + assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); + assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); + },ensureErrnoError:function() { + if (FS.ErrnoError) return; + FS.ErrnoError = /** @this{Object} */ function ErrnoError(errno, node) { + this.node = node; + this.setErrno = /** @this{Object} */ function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break; + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + + // Try to get a maximally helpful stack trace. On Node.js, getting Error.stack + // now ensures it shows what we want. + if (this.stack) { + // Define the stack property for Node.js 4, which otherwise errors on the next line. + Object.defineProperty(this, "stack", { value: (new Error).stack, writable: true }); + this.stack = demangleAll(this.stack); + } + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) + [44].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ''; + }); + },staticInit:function() { + FS.ensureErrnoError(); + + FS.nameTable = new Array(4096); + + FS.mount(MEMFS, {}, '/'); + + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + + FS.filesystems = { + 'MEMFS': MEMFS, + }; + },init:function(input, output, error) { + assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); + FS.init.initialized = true; + + FS.ensureErrnoError(); + + // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here + Module['stdin'] = input || Module['stdin']; + Module['stdout'] = output || Module['stdout']; + Module['stderr'] = error || Module['stderr']; + + FS.createStandardStreams(); + },quit:function() { + FS.init.initialized = false; + // force-flush all streams, so we get musl std streams printed out + var fflush = Module['_fflush']; + if (fflush) fflush(0); + // close all of our streams + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + },getMode:function(canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + },joinPath:function(parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == '/') path = path.substr(1); + return path; + },absolutePath:function(relative, base) { + return PATH_FS.resolve(base, relative); + },standardizePath:function(path) { + return PATH.normalize(path); + },findObject:function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object; + } else { + setErrNo(ret.error); + return null; + } + },analyzePath:function(path, dontResolveLastLink) { + // operate from within the context of the symlink's target + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { + isRoot: false, exists: false, error: 0, name: null, path: null, object: null, + parentExists: false, parentPath: null, parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === '/'; + } catch (e) { + ret.error = e.errno; + }; + return ret; + },createFolder:function(parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode); + },createPath:function(parent, path, canRead, canWrite) { + parent = typeof parent === 'string' ? parent : FS.getPath(parent); + var parts = path.split('/').reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + // ignore EEXIST + } + parent = current; + } + return current; + },createFile:function(parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + },createDataFile:function(parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === 'string') { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr; + } + // make sure we can write to the file + FS.chmod(node, mode | 146); + var stream = FS.open(node, 'w'); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + },createDevice:function(parent, name, input, output) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + // Create a fake device that a set of stream ops to emulate + // the old behavior. + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false; + }, + close: function(stream) { + // flush any pending line data + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: function(stream, buffer, offset, length, pos /* ignored */) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + },createLink:function(parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + return FS.symlink(target, path); + },forceLoadFile:function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== 'undefined') { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (read_) { + // Command-line. + try { + // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as + // read() will try to parse UTF8. + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + success = false; + } + } else { + throw new Error('Cannot load without read() or XMLHttpRequest.'); + } + if (!success) setErrNo(29); + return success; + },createLazyFile:function(parent, name, url, canRead, canWrite) { + // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. + /** @constructor */ + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; // Loaded chunks. Index is the chunk number + } + LazyUint8Array.prototype.get = /** @this{Object} */ function LazyUint8Array_get(idx) { + if (idx > this.length-1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize)|0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + // Find length + var xhr = new XMLHttpRequest(); + xhr.open('HEAD', url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + + var chunkSize = 1024*1024; // Chunk size in bytes + + if (!hasByteServing) chunkSize = datalength; + + // Function to get a range from the remote URL. + var doXHR = (function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); + + // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + + // Some hints to the browser that we want binary data. + if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer'; + if (xhr.overrideMimeType) { + xhr.overrideMimeType('text/plain; charset=x-user-defined'); + } + + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(/** @type{Array} */(xhr.response || [])); + } else { + return intArrayFromString(xhr.responseText || '', true); + } + }); + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum+1) * chunkSize - 1; // including this byte + end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block + if (typeof(lazyArray.chunks[chunkNum]) === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum]; + }); + + if (usesGzip || !datalength) { + // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length + chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file + datalength = this.getter(0).length; + chunkSize = datalength; + out("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + }; + if (typeof XMLHttpRequest !== 'undefined') { + if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { + get: /** @this{Object} */ function() { + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + }, + chunkSize: { + get: /** @this{Object} */ function() { + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + } + } + }); + + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url: url }; + } + + var node = FS.createFile(parent, name, properties, canRead, canWrite); + // This is a total hack, but I want to get this lazy file code out of the + // core of MEMFS. If we want to keep this lazy file concept I feel it should + // be its own thin LAZYFS proxying calls to MEMFS. + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + // Add a function that defers querying the file size until it is asked the first time. + Object.defineProperties(node, { + usedBytes: { + get: /** @this {FSNode} */ function() { return this.contents.length; } + } + }); + // override each stream op with one that tries to force load the lazy file first + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29); + } + return fn.apply(null, arguments); + }; + }); + // use a custom read function + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29); + } + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { // normal array + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR + buffer[offset + i] = contents.get(position + i); + } + } + return size; + }; + node.stream_ops = stream_ops; + return node; + },createPreloadedFile:function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); // XXX perhaps this method should move onto Browser? + // TODO we should allow people to just pass in a complete filename instead + // of parent and name being that we just join them anyways + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency(dep); + } + var handled = false; + Module['preloadPlugins'].forEach(function(plugin) { + if (handled) return; + if (plugin['canHandle'](fullname)) { + plugin['handle'](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep); + }); + handled = true; + } + }); + if (!handled) finish(byteArray); + } + addRunDependency(dep); + if (typeof url == 'string') { + Browser.asyncLoad(url, function(byteArray) { + processData(byteArray); + }, onerror); + } else { + processData(url); + } + },indexedDB:function() { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + },DB_NAME:function() { + return 'EM_FS_' + window.location.pathname; + },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths, onload, onerror) { + onload = onload || function(){}; + onerror = onerror || function(){}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + out('creating db'); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; + putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + },loadFilesFromDB:function(paths, onload, onerror) { + onload = onload || function(){}; + onerror = onerror || function(){}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; // no database to load from + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); + } catch(e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish(); + }; + getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + },mmapAlloc:function(size) { + var alignedSize = alignMemory(size, 16384); + var ptr = _malloc(alignedSize); + while (size < alignedSize) HEAP8[ptr + size++] = 0; + return ptr; + }};var SYSCALLS={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(dirfd, path) { + if (path[0] !== '/') { + // relative path + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(8); + dir = dirstream.path; + } + path = PATH.join2(dir, path); + } + return path; + },doStat:function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + // an error occurred while trying to look up the path; we should just report ENOTDIR + return -54; + } + throw e; + } + HEAP32[((buf)>>2)]=stat.dev; + HEAP32[(((buf)+(4))>>2)]=0; + HEAP32[(((buf)+(8))>>2)]=stat.ino; + HEAP32[(((buf)+(12))>>2)]=stat.mode; + HEAP32[(((buf)+(16))>>2)]=stat.nlink; + HEAP32[(((buf)+(20))>>2)]=stat.uid; + HEAP32[(((buf)+(24))>>2)]=stat.gid; + HEAP32[(((buf)+(28))>>2)]=stat.rdev; + HEAP32[(((buf)+(32))>>2)]=0; + (tempI64 = [stat.size>>>0,(tempDouble=stat.size,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(40))>>2)]=tempI64[0],HEAP32[(((buf)+(44))>>2)]=tempI64[1]); + HEAP32[(((buf)+(48))>>2)]=4096; + HEAP32[(((buf)+(52))>>2)]=stat.blocks; + HEAP32[(((buf)+(56))>>2)]=(stat.atime.getTime() / 1000)|0; + HEAP32[(((buf)+(60))>>2)]=0; + HEAP32[(((buf)+(64))>>2)]=(stat.mtime.getTime() / 1000)|0; + HEAP32[(((buf)+(68))>>2)]=0; + HEAP32[(((buf)+(72))>>2)]=(stat.ctime.getTime() / 1000)|0; + HEAP32[(((buf)+(76))>>2)]=0; + (tempI64 = [stat.ino>>>0,(tempDouble=stat.ino,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(80))>>2)]=tempI64[0],HEAP32[(((buf)+(84))>>2)]=tempI64[1]); + return 0; + },doMsync:function(addr, stream, len, flags, offset) { + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + },doMkdir:function(path, mode) { + // remove a trailing slash, if one - /a/b/ has basename of '', but + // we want to create b in the context of this function + path = PATH.normalize(path); + if (path[path.length-1] === '/') path = path.substr(0, path.length-1); + FS.mkdir(path, mode, 0); + return 0; + },doMknod:function(path, mode, dev) { + // we don't want this in the JS API as it uses mknod to create all nodes. + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: return -28; + } + FS.mknod(path, mode, dev); + return 0; + },doReadlink:function(path, buf, bufsize) { + if (bufsize <= 0) return -28; + var ret = FS.readlink(path); + + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf+len]; + stringToUTF8(ret, buf, bufsize+1); + // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) + // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. + HEAP8[buf+len] = endChar; + + return len; + },doAccess:function(path, amode) { + if (amode & ~7) { + // need a valid mode + return -28; + } + var node; + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + if (!node) { + return -44; + } + var perms = ''; + if (amode & 4) perms += 'r'; + if (amode & 2) perms += 'w'; + if (amode & 1) perms += 'x'; + if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { + return -2; + } + return 0; + },doDup:function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd; + },doReadv:function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.read(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; // nothing more to read + } + return ret; + },doWritev:function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.write(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; + },varargs:undefined,get:function() { + assert(SYSCALLS.varargs != undefined); + SYSCALLS.varargs += 4; + var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; + return ret; + },getStr:function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + },getStreamFromFD:function(fd) { + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream; + },get64:function(low, high) { + if (low >= 0) assert(high === 0); + else assert(high === -1); + return low; + }};function ___sys_access(path, amode) {try { + + path = SYSCALLS.getStr(path); + return SYSCALLS.doAccess(path, amode); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_chmod(path, mode) {try { + + path = SYSCALLS.getStr(path); + FS.chmod(path, mode); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_chown32(path, owner, group) {try { + + path = SYSCALLS.getStr(path); + FS.chown(path, owner, group); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_fchmod(fd, mode) {try { + + FS.fchmod(fd, mode); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_fchown32(fd, owner, group) {try { + + FS.fchown(fd, owner, group); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_fcntl64(fd, cmd, varargs) {SYSCALLS.varargs = varargs; + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28; + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; // FD_CLOEXEC makes no sense for a single process. + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 12: + /* case 12: Currently in musl F_GETLK64 has same value as F_GETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ { + + var arg = SYSCALLS.get(); + var offset = 0; + // We're always unlocked. + HEAP16[(((arg)+(offset))>>1)]=2; + return 0; + } + case 13: + case 14: + /* case 13: Currently in musl F_SETLK64 has same value as F_SETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + /* case 14: Currently in musl F_SETLKW64 has same value as F_SETLKW, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + + + return 0; // Pretend that the locking is successful. + case 16: + case 8: + return -28; // These are for sockets. We don't have them fully implemented yet. + case 9: + // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. + setErrNo(28); + return -1; + default: { + return -28; + } + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_fstat64(fd, buf) {try { + + var stream = SYSCALLS.getStreamFromFD(fd); + return SYSCALLS.doStat(FS.stat, stream.path, buf); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_ftruncate64(fd, zero, low, high) {try { + + var length = SYSCALLS.get64(low, high); + FS.ftruncate(fd, length); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_getcwd(buf, size) {try { + + if (size === 0) return -28; + var cwd = FS.cwd(); + var cwdLengthInBytes = lengthBytesUTF8(cwd); + if (size < cwdLengthInBytes + 1) return -68; + stringToUTF8(cwd, buf, size); + return buf; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + + function ___sys_getegid32() { + return 0; + }function ___sys_geteuid32( + ) { + return ___sys_getegid32(); + } + + function ___sys_getpid() { + return 42; + } + + function ___sys_lstat64(path, buf) {try { + + path = SYSCALLS.getStr(path); + return SYSCALLS.doStat(FS.lstat, path, buf); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_mkdir(path, mode) {try { + + path = SYSCALLS.getStr(path); + return SYSCALLS.doMkdir(path, mode); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + + function syscallMmap2(addr, len, prot, flags, fd, off) { + off <<= 12; // undo pgoffset + var ptr; + var allocated = false; + + // addr argument must be page aligned if MAP_FIXED flag is set. + if ((flags & 16) !== 0 && (addr % 16384) !== 0) { + return -28; + } + + // MAP_ANONYMOUS (aka MAP_ANON) isn't actually defined by POSIX spec, + // but it is widely used way to allocate memory pages on Linux, BSD and Mac. + // In this case fd argument is ignored. + if ((flags & 32) !== 0) { + ptr = _memalign(16384, len); + if (!ptr) return -48; + _memset(ptr, 0, len); + allocated = true; + } else { + var info = FS.getStream(fd); + if (!info) return -8; + var res = FS.mmap(info, addr, len, off, prot, flags); + ptr = res.ptr; + allocated = res.allocated; + } + SYSCALLS.mappings[ptr] = { malloc: ptr, len: len, allocated: allocated, fd: fd, prot: prot, flags: flags, offset: off }; + return ptr; + }function ___sys_mmap2(addr, len, prot, flags, fd, off) {try { + + return syscallMmap2(addr, len, prot, flags, fd, off); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + + function syscallMunmap(addr, len) { + if ((addr | 0) === -1 || len === 0) { + return -28; + } + // TODO: support unmmap'ing parts of allocations + var info = SYSCALLS.mappings[addr]; + if (!info) return 0; + if (len === info.len) { + var stream = FS.getStream(info.fd); + if (info.prot & 2) { + SYSCALLS.doMsync(addr, stream, len, info.flags, info.offset); + } + FS.munmap(stream); + SYSCALLS.mappings[addr] = null; + if (info.allocated) { + _free(info.malloc); + } + } + return 0; + }function ___sys_munmap(addr, len) {try { + + return syscallMunmap(addr, len); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_open(path, flags, varargs) {SYSCALLS.varargs = varargs; + try { + + var pathname = SYSCALLS.getStr(path); + var mode = SYSCALLS.get(); + var stream = FS.open(pathname, flags, mode); + return stream.fd; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_read(fd, buf, count) {try { + + var stream = SYSCALLS.getStreamFromFD(fd); + return FS.read(stream, HEAP8,buf, count); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_readlink(path, buf, bufsize) {try { + + path = SYSCALLS.getStr(path); + return SYSCALLS.doReadlink(path, buf, bufsize); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_rmdir(path) {try { + + path = SYSCALLS.getStr(path); + FS.rmdir(path); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_stat64(path, buf) {try { + + path = SYSCALLS.getStr(path); + return SYSCALLS.doStat(FS.stat, path, buf); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_unlink(path) {try { + + path = SYSCALLS.getStr(path); + FS.unlink(path); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_get_sbrk_ptr() { + return 116304; + } + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); + } + + + function _emscripten_get_heap_size() { + return HEAPU8.length; + } + + function emscripten_realloc_buffer(size) { + try { + // round size grow request up to wasm page size (fixed 64KB per spec) + wasmMemory.grow((size - buffer.byteLength + 65535) >>> 16); // .grow() takes a delta compared to the previous size + updateGlobalBufferAndViews(wasmMemory.buffer); + return 1 /*success*/; + } catch(e) { + console.error('emscripten_realloc_buffer: Attempted to grow heap from ' + buffer.byteLength + ' bytes to ' + size + ' bytes, but got error: ' + e); + } + }function _emscripten_resize_heap(requestedSize) { + requestedSize = requestedSize >>> 0; + var oldSize = _emscripten_get_heap_size(); + // With pthreads, races can happen (another thread might increase the size in between), so return a failure, and let the caller retry. + assert(requestedSize > oldSize); + + + var PAGE_MULTIPLE = 65536; + + // Memory resize rules: + // 1. When resizing, always produce a resized heap that is at least 16MB (to avoid tiny heap sizes receiving lots of repeated resizes at startup) + // 2. Always increase heap size to at least the requested size, rounded up to next page multiple. + // 3a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap geometrically: increase the heap size according to + // MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), + // At most overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB). + // 3b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap linearly: increase the heap size by at least MEMORY_GROWTH_LINEAR_STEP bytes. + // 4. Max size for the heap is capped at 2048MB-PAGE_MULTIPLE, or by MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest + // 5. If we were unable to allocate as much memory, it may be due to over-eager decision to excessively reserve due to (3) above. + // Hence if an allocation fails, cut down on the amount of excess growth, in an attempt to succeed to perform a smaller allocation. + + // A limit was set for how much we can grow. We should not exceed that + // (the wasm binary specifies it, so if we tried, we'd fail anyhow). + var maxHeapSize = 2147483648; + if (requestedSize > maxHeapSize) { + err('Cannot enlarge memory, asked to go up to ' + requestedSize + ' bytes, but the limit is ' + maxHeapSize + ' bytes!'); + return false; + } + + var minHeapSize = 16777216; + + // Loop through potential heap size increases. If we attempt a too eager reservation that fails, cut down on the + // attempted size and reserve a smaller bump instead. (max 3 times, chosen somewhat arbitrarily) + for(var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); // ensure geometric growth + // but limit overreserving (default to capping at +96MB overgrowth at most) + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296 ); + + + var newSize = Math.min(maxHeapSize, alignUp(Math.max(minHeapSize, requestedSize, overGrownHeapSize), PAGE_MULTIPLE)); + + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + err('Warning: Enlarging memory arrays, this is not fast! ' + [oldSize, newSize]); + + return true; + } + } + err('Failed to grow the heap from ' + oldSize + ' bytes to ' + newSize + ' bytes, not enough memory!'); + return false; + } + + + + var ENV={}; + + function getExecutableName() { + return thisProgram || './this.program'; + }function getEnvStrings() { + if (!getEnvStrings.strings) { + // Default values. + // Browser language detection #8751 + var lang = ((typeof navigator === 'object' && navigator.languages && navigator.languages[0]) || 'C').replace('-', '_') + '.UTF-8'; + var env = { + 'USER': 'web_user', + 'LOGNAME': 'web_user', + 'PATH': '/', + 'PWD': '/', + 'HOME': '/home/web_user', + 'LANG': lang, + '_': getExecutableName() + }; + // Apply the user-provided values, if any. + for (var x in ENV) { + env[x] = ENV[x]; + } + var strings = []; + for (var x in env) { + strings.push(x + '=' + env[x]); + } + getEnvStrings.strings = strings; + } + return getEnvStrings.strings; + }function _environ_get(__environ, environ_buf) { + var bufSize = 0; + getEnvStrings().forEach(function(string, i) { + var ptr = environ_buf + bufSize; + HEAP32[(((__environ)+(i * 4))>>2)]=ptr; + writeAsciiToMemory(string, ptr); + bufSize += string.length + 1; + }); + return 0; + } -})(mod1); + function _environ_sizes_get(penviron_count, penviron_buf_size) { + var strings = getEnvStrings(); + HEAP32[((penviron_count)>>2)]=strings.length; + var bufSize = 0; + strings.forEach(function(string) { + bufSize += string.length + 1; + }); + HEAP32[((penviron_buf_size)>>2)]=bufSize; + return 0; + } + + function _fd_close(fd) {try { + + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } + } + + function _fd_fdstat_get(fd, pbuf) {try { + + var stream = SYSCALLS.getStreamFromFD(fd); + // All character devices are terminals (other things a Linux system would + // assume is a character device, like the mouse, we have special APIs for). + var type = stream.tty ? 2 : + FS.isDir(stream.mode) ? 3 : + FS.isLink(stream.mode) ? 7 : + 4; + HEAP8[((pbuf)>>0)]=type; + // TODO HEAP16[(((pbuf)+(2))>>1)]=?; + // TODO (tempI64 = [?>>>0,(tempDouble=?,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((pbuf)+(8))>>2)]=tempI64[0],HEAP32[(((pbuf)+(12))>>2)]=tempI64[1]); + // TODO (tempI64 = [?>>>0,(tempDouble=?,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((pbuf)+(16))>>2)]=tempI64[0],HEAP32[(((pbuf)+(20))>>2)]=tempI64[1]); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } + } + + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {try { + + + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 0x100000000; // 2^32 + // use an unsigned operator on low and shift high by 32-bits + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + + var DOUBLE_LIMIT = 0x20000000000000; // 2^53 + // we also check for equality since DOUBLE_LIMIT + 1 == DOUBLE_LIMIT + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return -61; + } + + FS.llseek(stream, offset, whence); + (tempI64 = [stream.position>>>0,(tempDouble=stream.position,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((newOffset)>>2)]=tempI64[0],HEAP32[(((newOffset)+(4))>>2)]=tempI64[1]); + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } + } + + function _fd_sync(fd) {try { + + var stream = SYSCALLS.getStreamFromFD(fd); + if (stream.stream_ops && stream.stream_ops.fsync) { + return -stream.stream_ops.fsync(stream); + } + return 0; // we can't do anything synchronously; the in-memory FS is already synced to + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } + } + + function _fd_write(fd, iov, iovcnt, pnum) {try { + + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + HEAP32[((pnum)>>2)]=num + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } + } + + function _gettimeofday(ptr) { + var now = Date.now(); + HEAP32[((ptr)>>2)]=(now/1000)|0; // seconds + HEAP32[(((ptr)+(4))>>2)]=((now % 1000)*1000)|0; // microseconds + return 0; + } + + + var ___tm_current=116320; + + + var ___tm_timezone=(stringToUTF8("GMT", 116368, 4), 116368); + + function _tzset() { + // TODO: Use (malleable) environment variables instead of system settings. + if (_tzset.called) return; + _tzset.called = true; + + // timezone is specified as seconds west of UTC ("The external variable + // `timezone` shall be set to the difference, in seconds, between + // Coordinated Universal Time (UTC) and local standard time."), the same + // as returned by getTimezoneOffset(). + // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html + HEAP32[((__get_timezone())>>2)]=(new Date()).getTimezoneOffset() * 60; + + var currentYear = new Date().getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + HEAP32[((__get_daylight())>>2)]=Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); + + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT"; + }; + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocateUTF8(winterName); + var summerNamePtr = allocateUTF8(summerName); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + // Northern hemisphere + HEAP32[((__get_tzname())>>2)]=winterNamePtr; + HEAP32[(((__get_tzname())+(4))>>2)]=summerNamePtr; + } else { + HEAP32[((__get_tzname())>>2)]=summerNamePtr; + HEAP32[(((__get_tzname())+(4))>>2)]=winterNamePtr; + } + }function _localtime_r(time, tmPtr) { + _tzset(); + var date = new Date(HEAP32[((time)>>2)]*1000); + HEAP32[((tmPtr)>>2)]=date.getSeconds(); + HEAP32[(((tmPtr)+(4))>>2)]=date.getMinutes(); + HEAP32[(((tmPtr)+(8))>>2)]=date.getHours(); + HEAP32[(((tmPtr)+(12))>>2)]=date.getDate(); + HEAP32[(((tmPtr)+(16))>>2)]=date.getMonth(); + HEAP32[(((tmPtr)+(20))>>2)]=date.getFullYear()-1900; + HEAP32[(((tmPtr)+(24))>>2)]=date.getDay(); + + var start = new Date(date.getFullYear(), 0, 1); + var yday = ((date.getTime() - start.getTime()) / (1000 * 60 * 60 * 24))|0; + HEAP32[(((tmPtr)+(28))>>2)]=yday; + HEAP32[(((tmPtr)+(36))>>2)]=-(date.getTimezoneOffset() * 60); + + // Attention: DST is in December in South, and some regions don't have DST at all. + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0; + HEAP32[(((tmPtr)+(32))>>2)]=dst; + + var zonePtr = HEAP32[(((__get_tzname())+(dst ? 4 : 0))>>2)]; + HEAP32[(((tmPtr)+(40))>>2)]=zonePtr; + + return tmPtr; + }function _localtime(time) { + return _localtime_r(time, ___tm_current); + } + + + + var _emscripten_get_now;if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else _emscripten_get_now = function() { return performance.now(); } + ;function _usleep(useconds) { + // int usleep(useconds_t useconds); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/usleep.html + // We're single-threaded, so use a busy loop. Super-ugly. + var start = _emscripten_get_now(); + while (_emscripten_get_now() - start < useconds / 1000) { + // Do nothing. + } + } + Module["_usleep"] = _usleep;function _nanosleep(rqtp, rmtp) { + // int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); + if (rqtp === 0) { + setErrNo(28); + return -1; + } + var seconds = HEAP32[((rqtp)>>2)]; + var nanoseconds = HEAP32[(((rqtp)+(4))>>2)]; + if (nanoseconds < 0 || nanoseconds > 999999999 || seconds < 0) { + setErrNo(28); + return -1; + } + if (rmtp !== 0) { + HEAP32[((rmtp)>>2)]=0; + HEAP32[(((rmtp)+(4))>>2)]=0; + } + return _usleep((seconds * 1e6) + (nanoseconds / 1000)); + } + + function _setTempRet0($i) { + setTempRet0(($i) | 0); + } + + function _sysconf(name) { + // long sysconf(int name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html + switch(name) { + case 30: return 16384; + case 85: + var maxHeapSize = 2147483648; + return maxHeapSize / 16384; + case 132: + case 133: + case 12: + case 137: + case 138: + case 15: + case 235: + case 16: + case 17: + case 18: + case 19: + case 20: + case 149: + case 13: + case 10: + case 236: + case 153: + case 9: + case 21: + case 22: + case 159: + case 154: + case 14: + case 77: + case 78: + case 139: + case 80: + case 81: + case 82: + case 68: + case 67: + case 164: + case 11: + case 29: + case 47: + case 48: + case 95: + case 52: + case 51: + case 46: + case 79: + return 200809; + case 27: + case 246: + case 127: + case 128: + case 23: + case 24: + case 160: + case 161: + case 181: + case 182: + case 242: + case 183: + case 184: + case 243: + case 244: + case 245: + case 165: + case 178: + case 179: + case 49: + case 50: + case 168: + case 169: + case 175: + case 170: + case 171: + case 172: + case 97: + case 76: + case 32: + case 173: + case 35: + return -1; + case 176: + case 177: + case 7: + case 155: + case 8: + case 157: + case 125: + case 126: + case 92: + case 93: + case 129: + case 130: + case 131: + case 94: + case 91: + return 1; + case 74: + case 60: + case 69: + case 70: + case 4: + return 1024; + case 31: + case 42: + case 72: + return 32; + case 87: + case 26: + case 33: + return 2147483647; + case 34: + case 1: + return 47839; + case 38: + case 36: + return 99; + case 43: + case 37: + return 2048; + case 0: return 2097152; + case 3: return 65536; + case 28: return 32768; + case 44: return 32767; + case 75: return 16384; + case 39: return 1000; + case 89: return 700; + case 71: return 256; + case 40: return 255; + case 2: return 100; + case 180: return 64; + case 25: return 20; + case 5: return 16; + case 6: return 6; + case 73: return 4; + case 84: { + if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1; + return 1; + } + } + setErrNo(28); + return -1; + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + function _utimes(path, times) { + var time; + if (times) { + var offset = 8 + 0; + time = HEAP32[(((times)+(offset))>>2)] * 1000; + offset = 8 + 4; + time += HEAP32[(((times)+(offset))>>2)] / 1000; + } else { + time = Date.now(); + } + path = UTF8ToString(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; + } + } +var FSNode = /** @constructor */ function(parent, name, mode, rdev) { + if (!parent) { + parent = this; // root node sets parent to itself + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + var readMode = 292/*292*/ | 73/*73*/; + var writeMode = 146/*146*/; + Object.defineProperties(FSNode.prototype, { + read: { + get: /** @this{FSNode} */function() { + return (this.mode & readMode) === readMode; + }, + set: /** @this{FSNode} */function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode; + } + }, + write: { + get: /** @this{FSNode} */function() { + return (this.mode & writeMode) === writeMode; + }, + set: /** @this{FSNode} */function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode; + } + }, + isFolder: { + get: /** @this{FSNode} */function() { + return FS.isDir(this.mode); + } + }, + isDevice: { + get: /** @this{FSNode} */function() { + return FS.isChrdev(this.mode); + } + } + }); + FS.FSNode = FSNode; + FS.staticInit();; +var ASSERTIONS = true; + + + +/** @type {function(string, boolean=, number=)} */ +function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array; +} + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + if (ASSERTIONS) { + assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); + } + chr &= 0xFF; + } + ret.push(String.fromCharCode(chr)); + } + return ret.join(''); +} + + +// Copied from https://github.com/strophe/strophejs/blob/e06d027/src/polyfills.js#L149 + +// This code was written by Tyler Akins and has been placed in the +// public domain. It would be nice if you left this header intact. +// Base64 code from Tyler Akins -- http://rumkin.com + +/** + * Decodes a base64 string. + * @param {string} input The string to decode. + */ +var decodeBase64 = typeof atob === 'function' ? atob : function (input) { + var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; + + var output = ''; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + // remove all characters that are not A-Z, a-z, 0-9, +, /, or = + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ''); + do { + enc1 = keyStr.indexOf(input.charAt(i++)); + enc2 = keyStr.indexOf(input.charAt(i++)); + enc3 = keyStr.indexOf(input.charAt(i++)); + enc4 = keyStr.indexOf(input.charAt(i++)); + + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + + output = output + String.fromCharCode(chr1); + + if (enc3 !== 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 !== 64) { + output = output + String.fromCharCode(chr3); + } + } while (i < input.length); + return output; +}; + +// Converts a string of base64 into a byte array. +// Throws error on invalid input. +function intArrayFromBase64(s) { + if (typeof ENVIRONMENT_IS_NODE === 'boolean' && ENVIRONMENT_IS_NODE) { + var buf; + try { + // TODO: Update Node.js externs, Closure does not recognize the following Buffer.from() + /**@suppress{checkTypes}*/ + buf = Buffer.from(s, 'base64'); + } catch (_) { + buf = new Buffer(s, 'base64'); + } + return new Uint8Array(buf['buffer'], buf['byteOffset'], buf['byteLength']); + } + + try { + var decoded = decodeBase64(s); + var bytes = new Uint8Array(decoded.length); + for (var i = 0 ; i < decoded.length ; ++i) { + bytes[i] = decoded.charCodeAt(i); + } + return bytes; + } catch (_) { + throw new Error('Converting base64 string to bytes failed.'); + } +} + +// If filename is a base64 data URI, parses and returns data (Buffer on node, +// Uint8Array otherwise). If filename is not a base64 data URI, returns undefined. +function tryParseAsDataURI(filename) { + if (!isDataURI(filename)) { + return; + } + + return intArrayFromBase64(filename.slice(dataURIPrefix.length)); +} + + +var asmGlobalArg = {}; +var asmLibraryArg = { "__assert_fail": ___assert_fail, "__sys_access": ___sys_access, "__sys_chmod": ___sys_chmod, "__sys_chown32": ___sys_chown32, "__sys_fchmod": ___sys_fchmod, "__sys_fchown32": ___sys_fchown32, "__sys_fcntl64": ___sys_fcntl64, "__sys_fstat64": ___sys_fstat64, "__sys_ftruncate64": ___sys_ftruncate64, "__sys_getcwd": ___sys_getcwd, "__sys_geteuid32": ___sys_geteuid32, "__sys_getpid": ___sys_getpid, "__sys_lstat64": ___sys_lstat64, "__sys_mkdir": ___sys_mkdir, "__sys_mmap2": ___sys_mmap2, "__sys_munmap": ___sys_munmap, "__sys_open": ___sys_open, "__sys_read": ___sys_read, "__sys_readlink": ___sys_readlink, "__sys_rmdir": ___sys_rmdir, "__sys_stat64": ___sys_stat64, "__sys_unlink": ___sys_unlink, "emscripten_get_sbrk_ptr": _emscripten_get_sbrk_ptr, "emscripten_memcpy_big": _emscripten_memcpy_big, "emscripten_resize_heap": _emscripten_resize_heap, "environ_get": _environ_get, "environ_sizes_get": _environ_sizes_get, "fd_close": _fd_close, "fd_fdstat_get": _fd_fdstat_get, "fd_seek": _fd_seek, "fd_sync": _fd_sync, "fd_write": _fd_write, "getTempRet0": getTempRet0, "gettimeofday": _gettimeofday, "localtime": _localtime, "memory": wasmMemory, "nanosleep": _nanosleep, "setTempRet0": setTempRet0, "sysconf": _sysconf, "table": wasmTable, "time": _time, "utimes": _utimes }; +var asm = createWasm(); +/** @type {function(...*):?} */ +var ___wasm_call_ctors = Module["___wasm_call_ctors"] = createExportWrapper("__wasm_call_ctors"); + +/** @type {function(...*):?} */ +var _memset = Module["_memset"] = createExportWrapper("memset"); + +/** @type {function(...*):?} */ +var _sqlite3_free = Module["_sqlite3_free"] = createExportWrapper("sqlite3_free"); + +/** @type {function(...*):?} */ +var _sqlite3_value_double = Module["_sqlite3_value_double"] = createExportWrapper("sqlite3_value_double"); + +/** @type {function(...*):?} */ +var _sqlite3_value_text = Module["_sqlite3_value_text"] = createExportWrapper("sqlite3_value_text"); + +/** @type {function(...*):?} */ +var ___errno_location = Module["___errno_location"] = createExportWrapper("__errno_location"); + +/** @type {function(...*):?} */ +var _sqlite3_finalize = Module["_sqlite3_finalize"] = createExportWrapper("sqlite3_finalize"); + +/** @type {function(...*):?} */ +var _sqlite3_reset = Module["_sqlite3_reset"] = createExportWrapper("sqlite3_reset"); + +/** @type {function(...*):?} */ +var _sqlite3_clear_bindings = Module["_sqlite3_clear_bindings"] = createExportWrapper("sqlite3_clear_bindings"); + +/** @type {function(...*):?} */ +var _sqlite3_value_blob = Module["_sqlite3_value_blob"] = createExportWrapper("sqlite3_value_blob"); + +/** @type {function(...*):?} */ +var _sqlite3_value_bytes = Module["_sqlite3_value_bytes"] = createExportWrapper("sqlite3_value_bytes"); + +/** @type {function(...*):?} */ +var _sqlite3_value_int = Module["_sqlite3_value_int"] = createExportWrapper("sqlite3_value_int"); + +/** @type {function(...*):?} */ +var _sqlite3_value_type = Module["_sqlite3_value_type"] = createExportWrapper("sqlite3_value_type"); + +/** @type {function(...*):?} */ +var _sqlite3_result_blob = Module["_sqlite3_result_blob"] = createExportWrapper("sqlite3_result_blob"); + +/** @type {function(...*):?} */ +var _sqlite3_result_double = Module["_sqlite3_result_double"] = createExportWrapper("sqlite3_result_double"); + +/** @type {function(...*):?} */ +var _sqlite3_result_error = Module["_sqlite3_result_error"] = createExportWrapper("sqlite3_result_error"); + +/** @type {function(...*):?} */ +var _sqlite3_result_int = Module["_sqlite3_result_int"] = createExportWrapper("sqlite3_result_int"); + +/** @type {function(...*):?} */ +var _sqlite3_result_int64 = Module["_sqlite3_result_int64"] = createExportWrapper("sqlite3_result_int64"); + +/** @type {function(...*):?} */ +var _sqlite3_result_null = Module["_sqlite3_result_null"] = createExportWrapper("sqlite3_result_null"); + +/** @type {function(...*):?} */ +var _sqlite3_result_text = Module["_sqlite3_result_text"] = createExportWrapper("sqlite3_result_text"); + +/** @type {function(...*):?} */ +var _sqlite3_step = Module["_sqlite3_step"] = createExportWrapper("sqlite3_step"); + +/** @type {function(...*):?} */ +var _sqlite3_data_count = Module["_sqlite3_data_count"] = createExportWrapper("sqlite3_data_count"); + +/** @type {function(...*):?} */ +var _sqlite3_column_blob = Module["_sqlite3_column_blob"] = createExportWrapper("sqlite3_column_blob"); + +/** @type {function(...*):?} */ +var _sqlite3_column_bytes = Module["_sqlite3_column_bytes"] = createExportWrapper("sqlite3_column_bytes"); + +/** @type {function(...*):?} */ +var _sqlite3_column_double = Module["_sqlite3_column_double"] = createExportWrapper("sqlite3_column_double"); + +/** @type {function(...*):?} */ +var _sqlite3_column_text = Module["_sqlite3_column_text"] = createExportWrapper("sqlite3_column_text"); + +/** @type {function(...*):?} */ +var _sqlite3_column_type = Module["_sqlite3_column_type"] = createExportWrapper("sqlite3_column_type"); + +/** @type {function(...*):?} */ +var _sqlite3_column_name = Module["_sqlite3_column_name"] = createExportWrapper("sqlite3_column_name"); + +/** @type {function(...*):?} */ +var _sqlite3_bind_blob = Module["_sqlite3_bind_blob"] = createExportWrapper("sqlite3_bind_blob"); + +/** @type {function(...*):?} */ +var _sqlite3_bind_double = Module["_sqlite3_bind_double"] = createExportWrapper("sqlite3_bind_double"); + +/** @type {function(...*):?} */ +var _sqlite3_bind_int = Module["_sqlite3_bind_int"] = createExportWrapper("sqlite3_bind_int"); + +/** @type {function(...*):?} */ +var _sqlite3_bind_text = Module["_sqlite3_bind_text"] = createExportWrapper("sqlite3_bind_text"); + +/** @type {function(...*):?} */ +var _sqlite3_bind_parameter_index = Module["_sqlite3_bind_parameter_index"] = createExportWrapper("sqlite3_bind_parameter_index"); + +/** @type {function(...*):?} */ +var _sqlite3_errmsg = Module["_sqlite3_errmsg"] = createExportWrapper("sqlite3_errmsg"); + +/** @type {function(...*):?} */ +var _sqlite3_exec = Module["_sqlite3_exec"] = createExportWrapper("sqlite3_exec"); + +/** @type {function(...*):?} */ +var _sqlite3_prepare_v2 = Module["_sqlite3_prepare_v2"] = createExportWrapper("sqlite3_prepare_v2"); + +/** @type {function(...*):?} */ +var _sqlite3_changes = Module["_sqlite3_changes"] = createExportWrapper("sqlite3_changes"); + +/** @type {function(...*):?} */ +var _sqlite3_close_v2 = Module["_sqlite3_close_v2"] = createExportWrapper("sqlite3_close_v2"); + +/** @type {function(...*):?} */ +var _sqlite3_create_function_v2 = Module["_sqlite3_create_function_v2"] = createExportWrapper("sqlite3_create_function_v2"); + +/** @type {function(...*):?} */ +var _sqlite3_open = Module["_sqlite3_open"] = createExportWrapper("sqlite3_open"); + +/** @type {function(...*):?} */ +var _malloc = Module["_malloc"] = createExportWrapper("malloc"); + +/** @type {function(...*):?} */ +var _free = Module["_free"] = createExportWrapper("free"); + +/** @type {function(...*):?} */ +var _RegisterExtensionFunctions = Module["_RegisterExtensionFunctions"] = createExportWrapper("RegisterExtensionFunctions"); + +/** @type {function(...*):?} */ +var _custom_extensions = Module["_custom_extensions"] = createExportWrapper("custom_extensions"); + +/** @type {function(...*):?} */ +var _fflush = Module["_fflush"] = createExportWrapper("fflush"); + +/** @type {function(...*):?} */ +var __get_tzname = Module["__get_tzname"] = createExportWrapper("_get_tzname"); + +/** @type {function(...*):?} */ +var __get_daylight = Module["__get_daylight"] = createExportWrapper("_get_daylight"); + +/** @type {function(...*):?} */ +var __get_timezone = Module["__get_timezone"] = createExportWrapper("_get_timezone"); + +/** @type {function(...*):?} */ +var stackSave = Module["stackSave"] = createExportWrapper("stackSave"); + +/** @type {function(...*):?} */ +var stackRestore = Module["stackRestore"] = createExportWrapper("stackRestore"); + +/** @type {function(...*):?} */ +var stackAlloc = Module["stackAlloc"] = createExportWrapper("stackAlloc"); + +/** @type {function(...*):?} */ +var _memalign = Module["_memalign"] = createExportWrapper("memalign"); + +/** @type {function(...*):?} */ +var dynCall_vi = Module["dynCall_vi"] = createExportWrapper("dynCall_vi"); + +/** @type {function(...*):?} */ +var dynCall_iiiii = Module["dynCall_iiiii"] = createExportWrapper("dynCall_iiiii"); + +/** @type {function(...*):?} */ +var dynCall_iii = Module["dynCall_iii"] = createExportWrapper("dynCall_iii"); + +/** @type {function(...*):?} */ +var dynCall_viii = Module["dynCall_viii"] = createExportWrapper("dynCall_viii"); + +/** @type {function(...*):?} */ +var dynCall_iiiiii = Module["dynCall_iiiiii"] = createExportWrapper("dynCall_iiiiii"); + +/** @type {function(...*):?} */ +var dynCall_ii = Module["dynCall_ii"] = createExportWrapper("dynCall_ii"); + +/** @type {function(...*):?} */ +var dynCall_iiii = Module["dynCall_iiii"] = createExportWrapper("dynCall_iiii"); + +/** @type {function(...*):?} */ +var dynCall_iiiiiii = Module["dynCall_iiiiiii"] = createExportWrapper("dynCall_iiiiiii"); + +/** @type {function(...*):?} */ +var dynCall_vii = Module["dynCall_vii"] = createExportWrapper("dynCall_vii"); + +/** @type {function(...*):?} */ +var dynCall_viiii = Module["dynCall_viiii"] = createExportWrapper("dynCall_viiii"); + +/** @type {function(...*):?} */ +var dynCall_ij = Module["dynCall_ij"] = createExportWrapper("dynCall_ij"); + +/** @type {function(...*):?} */ +var dynCall_iiiij = Module["dynCall_iiiij"] = createExportWrapper("dynCall_iiiij"); + +/** @type {function(...*):?} */ +var dynCall_vijii = Module["dynCall_vijii"] = createExportWrapper("dynCall_vijii"); + +/** @type {function(...*):?} */ +var dynCall_iijj = Module["dynCall_iijj"] = createExportWrapper("dynCall_iijj"); + +/** @type {function(...*):?} */ +var dynCall_iij = Module["dynCall_iij"] = createExportWrapper("dynCall_iij"); + +/** @type {function(...*):?} */ +var dynCall_iijii = Module["dynCall_iijii"] = createExportWrapper("dynCall_iijii"); + +/** @type {function(...*):?} */ +var dynCall_iiji = Module["dynCall_iiji"] = createExportWrapper("dynCall_iiji"); + +/** @type {function(...*):?} */ +var dynCall_i = Module["dynCall_i"] = createExportWrapper("dynCall_i"); + +/** @type {function(...*):?} */ +var dynCall_iiiiiij = Module["dynCall_iiiiiij"] = createExportWrapper("dynCall_iiiiiij"); + +/** @type {function(...*):?} */ +var dynCall_ji = Module["dynCall_ji"] = createExportWrapper("dynCall_ji"); + +/** @type {function(...*):?} */ +var dynCall_viiiii = Module["dynCall_viiiii"] = createExportWrapper("dynCall_viiiii"); + +/** @type {function(...*):?} */ +var dynCall_viji = Module["dynCall_viji"] = createExportWrapper("dynCall_viji"); + +/** @type {function(...*):?} */ +var dynCall_jiji = Module["dynCall_jiji"] = createExportWrapper("dynCall_jiji"); + +/** @type {function(...*):?} */ +var __growWasmMemory = Module["__growWasmMemory"] = createExportWrapper("__growWasmMemory"); + + + + + +// === Auto-generated postamble setup entry stuff === + +if (!Object.getOwnPropertyDescriptor(Module, "intArrayFromString")) Module["intArrayFromString"] = function() { abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayToString")) Module["intArrayToString"] = function() { abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "ccall")) Module["ccall"] = function() { abort("'ccall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +Module["cwrap"] = cwrap; +if (!Object.getOwnPropertyDescriptor(Module, "setValue")) Module["setValue"] = function() { abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getValue")) Module["getValue"] = function() { abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "allocate")) Module["allocate"] = function() { abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getMemory")) Module["getMemory"] = function() { abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ArrayToString")) Module["UTF8ArrayToString"] = function() { abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ToString")) Module["UTF8ToString"] = function() { abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8Array")) Module["stringToUTF8Array"] = function() { abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8")) Module["stringToUTF8"] = function() { abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF8")) Module["lengthBytesUTF8"] = function() { abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() { abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreRun")) Module["addOnPreRun"] = function() { abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addOnInit")) Module["addOnInit"] = function() { abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreMain")) Module["addOnPreMain"] = function() { abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addOnExit")) Module["addOnExit"] = function() { abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPostRun")) Module["addOnPostRun"] = function() { abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeStringToMemory")) Module["writeStringToMemory"] = function() { abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeArrayToMemory")) Module["writeArrayToMemory"] = function() { abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeAsciiToMemory")) Module["writeAsciiToMemory"] = function() { abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addRunDependency")) Module["addRunDependency"] = function() { abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "removeRunDependency")) Module["removeRunDependency"] = function() { abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createFolder")) Module["FS_createFolder"] = function() { abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPath")) Module["FS_createPath"] = function() { abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDataFile")) Module["FS_createDataFile"] = function() { abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPreloadedFile")) Module["FS_createPreloadedFile"] = function() { abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLazyFile")) Module["FS_createLazyFile"] = function() { abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLink")) Module["FS_createLink"] = function() { abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDevice")) Module["FS_createDevice"] = function() { abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_unlink")) Module["FS_unlink"] = function() { abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "dynamicAlloc")) Module["dynamicAlloc"] = function() { abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "loadDynamicLibrary")) Module["loadDynamicLibrary"] = function() { abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "loadWebAssemblyModule")) Module["loadWebAssemblyModule"] = function() { abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getLEB")) Module["getLEB"] = function() { abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getFunctionTables")) Module["getFunctionTables"] = function() { abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "alignFunctionTables")) Module["alignFunctionTables"] = function() { abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "registerFunctions")) Module["registerFunctions"] = function() { abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addFunction")) Module["addFunction"] = function() { abort("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "removeFunction")) Module["removeFunction"] = function() { abort("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getFuncWrapper")) Module["getFuncWrapper"] = function() { abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "prettyPrint")) Module["prettyPrint"] = function() { abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "makeBigInt")) Module["makeBigInt"] = function() { abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "dynCall")) Module["dynCall"] = function() { abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getCompilerSetting")) Module["getCompilerSetting"] = function() { abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "print")) Module["print"] = function() { abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "printErr")) Module["printErr"] = function() { abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getTempRet0")) Module["getTempRet0"] = function() { abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "setTempRet0")) Module["setTempRet0"] = function() { abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "callMain")) Module["callMain"] = function() { abort("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "abort")) Module["abort"] = function() { abort("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stringToNewUTF8")) Module["stringToNewUTF8"] = function() { abort("'stringToNewUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "emscripten_realloc_buffer")) Module["emscripten_realloc_buffer"] = function() { abort("'emscripten_realloc_buffer' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "ENV")) Module["ENV"] = function() { abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "ERRNO_CODES")) Module["ERRNO_CODES"] = function() { abort("'ERRNO_CODES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "ERRNO_MESSAGES")) Module["ERRNO_MESSAGES"] = function() { abort("'ERRNO_MESSAGES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "setErrNo")) Module["setErrNo"] = function() { abort("'setErrNo' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "DNS")) Module["DNS"] = function() { abort("'DNS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "GAI_ERRNO_MESSAGES")) Module["GAI_ERRNO_MESSAGES"] = function() { abort("'GAI_ERRNO_MESSAGES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "Protocols")) Module["Protocols"] = function() { abort("'Protocols' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "Sockets")) Module["Sockets"] = function() { abort("'Sockets' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "traverseStack")) Module["traverseStack"] = function() { abort("'traverseStack' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "UNWIND_CACHE")) Module["UNWIND_CACHE"] = function() { abort("'UNWIND_CACHE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "withBuiltinMalloc")) Module["withBuiltinMalloc"] = function() { abort("'withBuiltinMalloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "readAsmConstArgsArray")) Module["readAsmConstArgsArray"] = function() { abort("'readAsmConstArgsArray' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "readAsmConstArgs")) Module["readAsmConstArgs"] = function() { abort("'readAsmConstArgs' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "mainThreadEM_ASM")) Module["mainThreadEM_ASM"] = function() { abort("'mainThreadEM_ASM' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "jstoi_q")) Module["jstoi_q"] = function() { abort("'jstoi_q' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "jstoi_s")) Module["jstoi_s"] = function() { abort("'jstoi_s' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getExecutableName")) Module["getExecutableName"] = function() { abort("'getExecutableName' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "listenOnce")) Module["listenOnce"] = function() { abort("'listenOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "autoResumeAudioContext")) Module["autoResumeAudioContext"] = function() { abort("'autoResumeAudioContext' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "abortStackOverflow")) Module["abortStackOverflow"] = function() { abort("'abortStackOverflow' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "reallyNegative")) Module["reallyNegative"] = function() { abort("'reallyNegative' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "formatString")) Module["formatString"] = function() { abort("'formatString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "PATH")) Module["PATH"] = function() { abort("'PATH' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "PATH_FS")) Module["PATH_FS"] = function() { abort("'PATH_FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "SYSCALLS")) Module["SYSCALLS"] = function() { abort("'SYSCALLS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "syscallMmap2")) Module["syscallMmap2"] = function() { abort("'syscallMmap2' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "syscallMunmap")) Module["syscallMunmap"] = function() { abort("'syscallMunmap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "JSEvents")) Module["JSEvents"] = function() { abort("'JSEvents' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "specialHTMLTargets")) Module["specialHTMLTargets"] = function() { abort("'specialHTMLTargets' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "maybeCStringToJsString")) Module["maybeCStringToJsString"] = function() { abort("'maybeCStringToJsString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "findEventTarget")) Module["findEventTarget"] = function() { abort("'findEventTarget' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "findCanvasEventTarget")) Module["findCanvasEventTarget"] = function() { abort("'findCanvasEventTarget' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "polyfillSetImmediate")) Module["polyfillSetImmediate"] = function() { abort("'polyfillSetImmediate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "demangle")) Module["demangle"] = function() { abort("'demangle' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "demangleAll")) Module["demangleAll"] = function() { abort("'demangleAll' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "jsStackTrace")) Module["jsStackTrace"] = function() { abort("'jsStackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() { abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getEnvStrings")) Module["getEnvStrings"] = function() { abort("'getEnvStrings' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "checkWasiClock")) Module["checkWasiClock"] = function() { abort("'checkWasiClock' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToI64")) Module["writeI53ToI64"] = function() { abort("'writeI53ToI64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToI64Clamped")) Module["writeI53ToI64Clamped"] = function() { abort("'writeI53ToI64Clamped' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToI64Signaling")) Module["writeI53ToI64Signaling"] = function() { abort("'writeI53ToI64Signaling' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToU64Clamped")) Module["writeI53ToU64Clamped"] = function() { abort("'writeI53ToU64Clamped' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToU64Signaling")) Module["writeI53ToU64Signaling"] = function() { abort("'writeI53ToU64Signaling' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "readI53FromI64")) Module["readI53FromI64"] = function() { abort("'readI53FromI64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "readI53FromU64")) Module["readI53FromU64"] = function() { abort("'readI53FromU64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "convertI32PairToI53")) Module["convertI32PairToI53"] = function() { abort("'convertI32PairToI53' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "convertU32PairToI53")) Module["convertU32PairToI53"] = function() { abort("'convertU32PairToI53' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "exceptionLast")) Module["exceptionLast"] = function() { abort("'exceptionLast' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "exceptionCaught")) Module["exceptionCaught"] = function() { abort("'exceptionCaught' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "ExceptionInfoAttrs")) Module["ExceptionInfoAttrs"] = function() { abort("'ExceptionInfoAttrs' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "ExceptionInfo")) Module["ExceptionInfo"] = function() { abort("'ExceptionInfo' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "CatchInfo")) Module["CatchInfo"] = function() { abort("'CatchInfo' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "exception_addRef")) Module["exception_addRef"] = function() { abort("'exception_addRef' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "exception_decRef")) Module["exception_decRef"] = function() { abort("'exception_decRef' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "Browser")) Module["Browser"] = function() { abort("'Browser' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS")) Module["FS"] = function() { abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "MEMFS")) Module["MEMFS"] = function() { abort("'MEMFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "TTY")) Module["TTY"] = function() { abort("'TTY' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "PIPEFS")) Module["PIPEFS"] = function() { abort("'PIPEFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "SOCKFS")) Module["SOCKFS"] = function() { abort("'SOCKFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "tempFixedLengthArray")) Module["tempFixedLengthArray"] = function() { abort("'tempFixedLengthArray' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "miniTempWebGLFloatBuffers")) Module["miniTempWebGLFloatBuffers"] = function() { abort("'miniTempWebGLFloatBuffers' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "heapObjectForWebGLType")) Module["heapObjectForWebGLType"] = function() { abort("'heapObjectForWebGLType' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "heapAccessShiftForWebGLHeap")) Module["heapAccessShiftForWebGLHeap"] = function() { abort("'heapAccessShiftForWebGLHeap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "GL")) Module["GL"] = function() { abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "emscriptenWebGLGet")) Module["emscriptenWebGLGet"] = function() { abort("'emscriptenWebGLGet' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "computeUnpackAlignedImageSize")) Module["computeUnpackAlignedImageSize"] = function() { abort("'computeUnpackAlignedImageSize' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "emscriptenWebGLGetTexPixelData")) Module["emscriptenWebGLGetTexPixelData"] = function() { abort("'emscriptenWebGLGetTexPixelData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "emscriptenWebGLGetUniform")) Module["emscriptenWebGLGetUniform"] = function() { abort("'emscriptenWebGLGetUniform' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "emscriptenWebGLGetVertexAttrib")) Module["emscriptenWebGLGetVertexAttrib"] = function() { abort("'emscriptenWebGLGetVertexAttrib' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeGLArray")) Module["writeGLArray"] = function() { abort("'writeGLArray' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "AL")) Module["AL"] = function() { abort("'AL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "SDL_unicode")) Module["SDL_unicode"] = function() { abort("'SDL_unicode' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "SDL_ttfContext")) Module["SDL_ttfContext"] = function() { abort("'SDL_ttfContext' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "SDL_audio")) Module["SDL_audio"] = function() { abort("'SDL_audio' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "SDL")) Module["SDL"] = function() { abort("'SDL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "SDL_gfx")) Module["SDL_gfx"] = function() { abort("'SDL_gfx' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "GLUT")) Module["GLUT"] = function() { abort("'GLUT' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "EGL")) Module["EGL"] = function() { abort("'EGL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "GLFW_Window")) Module["GLFW_Window"] = function() { abort("'GLFW_Window' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "GLFW")) Module["GLFW"] = function() { abort("'GLFW' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "GLEW")) Module["GLEW"] = function() { abort("'GLEW' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "IDBStore")) Module["IDBStore"] = function() { abort("'IDBStore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "runAndAbortIfError")) Module["runAndAbortIfError"] = function() { abort("'runAndAbortIfError' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "warnOnce")) Module["warnOnce"] = function() { abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +Module["stackSave"] = stackSave; +Module["stackRestore"] = stackRestore; +Module["stackAlloc"] = stackAlloc; +if (!Object.getOwnPropertyDescriptor(Module, "AsciiToString")) Module["AsciiToString"] = function() { abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stringToAscii")) Module["stringToAscii"] = function() { abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "UTF16ToString")) Module["UTF16ToString"] = function() { abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF16")) Module["stringToUTF16"] = function() { abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF16")) Module["lengthBytesUTF16"] = function() { abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "UTF32ToString")) Module["UTF32ToString"] = function() { abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF32")) Module["stringToUTF32"] = function() { abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF32")) Module["lengthBytesUTF32"] = function() { abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8")) Module["allocateUTF8"] = function() { abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8OnStack")) Module["allocateUTF8OnStack"] = function() { abort("'allocateUTF8OnStack' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +Module["writeStackCookie"] = writeStackCookie; +Module["checkStackCookie"] = checkStackCookie; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayFromBase64")) Module["intArrayFromBase64"] = function() { abort("'intArrayFromBase64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "tryParseAsDataURI")) Module["tryParseAsDataURI"] = function() { abort("'tryParseAsDataURI' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NORMAL")) Object.defineProperty(Module, "ALLOC_NORMAL", { configurable: true, get: function() { abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } }); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_STACK")) Object.defineProperty(Module, "ALLOC_STACK", { configurable: true, get: function() { abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } }); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_DYNAMIC")) Object.defineProperty(Module, "ALLOC_DYNAMIC", { configurable: true, get: function() { abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } }); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NONE")) Object.defineProperty(Module, "ALLOC_NONE", { configurable: true, get: function() { abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } }); + + +var calledRun; + +/** + * @constructor + * @this {ExitStatus} + */ +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +} + +var calledMain = false; + + +dependenciesFulfilled = function runCaller() { + // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled +}; + + + + + +/** @type {function(Array=)} */ +function run(args) { + args = args || arguments_; + + if (runDependencies > 0) { + return; + } + + writeStackCookie(); + + preRun(); + + if (runDependencies > 0) return; // a preRun added a dependency, run will be called later + + function doRun() { + // run may have just been called through dependencies being fulfilled just in this very frame, + // or while the async setStatus time below was happening + if (calledRun) return; + calledRun = true; + Module['calledRun'] = true; + + if (ABORT) return; + + initRuntime(); + + preMain(); + + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + assert(!Module['_main'], 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else + { + doRun(); + } + checkStackCookie(); +} +Module['run'] = run; + +function checkUnflushedContent() { + // Compiler settings do not allow exiting the runtime, so flushing + // the streams is not possible. but in ASSERTIONS mode we check + // if there was something to flush, and if so tell the user they + // should request that the runtime be exitable. + // Normally we would not even include flush() at all, but in ASSERTIONS + // builds we do so just for this check, and here we see if there is any + // content to flush, that is, we check if there would have been + // something a non-ASSERTIONS build would have not seen. + // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 + // mode (which has its own special function for this; otherwise, all + // the code is inside libc) + var print = out; + var printErr = err; + var has = false; + out = err = function(x) { + has = true; + } + try { // it doesn't matter if it fails + var flush = Module['_fflush']; + if (flush) flush(0); + // also flush in the JS FS layer + ['stdout', 'stderr'].forEach(function(name) { + var info = FS.analyzePath('/dev/' + name); + if (!info) return; + var stream = info.object; + var rdev = stream.rdev; + var tty = TTY.ttys[rdev]; + if (tty && tty.output && tty.output.length) { + has = true; + } + }); + } catch(e) {} + out = print; + err = printErr; + if (has) { + warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.'); + } +} + +/** @param {boolean|number=} implicit */ +function exit(status, implicit) { + checkUnflushedContent(); + + // if this is just main exit-ing implicitly, and the status is 0, then we + // don't need to do anything here and can just leave. if the status is + // non-zero, though, then we need to report it. + // (we may have warned about this earlier, if a situation justifies doing so) + if (implicit && noExitRuntime && status === 0) { + return; + } + + if (noExitRuntime) { + // if exit() was called, we may warn the user if the runtime isn't actually being shut down + if (!implicit) { + var msg = 'program exited (with status: ' + status + '), but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)'; + err(msg); + } + } else { + + ABORT = true; + EXITSTATUS = status; + + exitRuntime(); + + if (Module['onExit']) Module['onExit'](status); + } + + quit_(status, new ExitStatus(status)); +} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + + + noExitRuntime = true; + +run(); + + + + + + +// {{MODULE_ADDITIONS}} + + + + + + // The shell-pre.js and emcc-generated code goes above + return Module; + }); // The end of the promise being returned + + return initSqlJsPromise; +} // The end of our initSqlJs function + +// This bit below is copied almost exactly from what you get when you use the MODULARIZE=1 flag with emcc +// However, we don't want to use the emcc modularization. See shell-pre.js +if (typeof exports === 'object' && typeof module === 'object'){ + module.exports = initSqlJs; + // This will allow the module to be used in ES6 or CommonJS + module.exports.default = initSqlJs; +} +else if (typeof define === 'function' && define['amd']) { + define([], function() { return initSqlJs; }); +} +else if (typeof exports === 'object'){ + exports["Module"] = initSqlJs; +} (function(module) { @@ -72,6 +284495,10 @@ function echoStringValue(success, error, options) { success(options[0].value); } +var SQL = null; + +window.initSqlJs().then(sql => { SQL = sql }) + function openDatabase(success, error, options) { var name = options[0].name; @@ -206,7 +284633,7 @@ var SQLiteProxy = { window.SQLiteProxy = SQLiteProxy; -})(mod2); +})(mod1); (function(module) { @@ -296,9 +284723,7 @@ Contact for commercial license: sales@litehelpers.net this.dbname = dbname; this.openSuccess = openSuccess; this.openError = openError; - this.openSuccess || (this.openSuccess = function() { - console.log("DB opened: " + dbname); - }); + this.openSuccess || (this.openSuccess = function() {}); this.openError || (this.openError = function(e) { console.log(e.message); }); @@ -327,7 +284752,7 @@ Contact for commercial license: sales@litehelpers.net this.startNextTransaction(); } else { if (this.dbname in this.openDBs) { - console.log('new transaction is queued, waiting for open operation to finish'); + return; } else { console.log('database is closed, new transaction is [stuck] waiting until db is opened again!'); } @@ -397,11 +284822,9 @@ Contact for commercial license: sales@litehelpers.net }; })(this)); } else { - console.log('OPEN database: ' + this.dbname); opensuccesscb = (function(_this) { return function(fjinfo) { var txLock; - console.log('OPEN database: ' + _this.dbname + ' - OK'); if (!!fjinfo && !!fjinfo.dbid) { console.log('Detected Android/iOS/macOS platform version with flat JSON interface'); _this.dbidmap[_this.dbname] = _this.dbid = fjinfo.dbid; @@ -457,7 +284880,6 @@ Contact for commercial license: sales@litehelpers.net error(newSQLError('database cannot be closed while a transaction is in progress')); return; } - console.log('CLOSE database: ' + this.dbname); delete this.openDBs[this.dbname]; if (txLocks[this.dbname]) { console.log('closing db with transaction queue length: ' + txLocks[this.dbname].queue.length); @@ -1280,6 +285702,6 @@ Contact for commercial license: sales@litehelpers.net }).call(this); -})(mod3); +})(mod2); module.exports = window.sqlitePlugin; diff --git a/package.json b/package.json index 19b9e01..940770a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sqlite-evcustom-browser-memory-storage-ext-free", - "version": "0.1.0", + "version": "0.2.0-rc2", "description": "SQLite evcustom browser memory storage - emulation of Cordova/PhoneGap sqlite storage plugin on browser - custom enterprise version with premium performance improvements and extra features", "main": "index.js", "cordova-disabled": { @@ -33,9 +33,15 @@ }, "homepage": "https://github.com/brodybits/sqlite-evcustom-browser-memory-storage-ext-free", "scripts": { - "start": "concat -o index.js index-header.js index-mod1-header.js src/deps/browser/sql-memory-growth.js index-mod1-footer.js index-mod2-header.js src/browser/SQLiteProxy.js index-mod2-footer.js index-mod3-header.js www/SQLitePlugin.js index-mod3-footer.js index-footer.js" + "clean-spec": "rm -rf spec/[mnp]* && git cl spec/config.xml && git status --ignored", + "prepare-js": "coffee -p SQLitePlugin.coffee.md > www/SQLitePlugin.js", + "prepare-spec": "node scripts/prepareSpec.js", + "prepare-main": "node ./scripts/prepareMain.js" }, "devDependencies": { + "coffeescript": "1", + "cross-spawn": "^6.0.5", + "fs-extra": "^8.1.0", "concat": "^1.0.3" } } diff --git a/plugin.xml b/plugin.xml index c4e5f5e..0088493 100644 --- a/plugin.xml +++ b/plugin.xml @@ -2,7 +2,7 @@ + version="0.2.0-rc2"> SQLite evcustom browser memory storage - emulation of Cordova/PhoneGap sqlite storage plugin on browser - custom enterprise version with premium performance improvements and extra features @@ -63,8 +63,7 @@ - - @@ -76,6 +75,9 @@ + + + @@ -95,8 +97,7 @@ - - @@ -108,6 +109,9 @@ + + + @@ -120,16 +124,12 @@ - + - - + diff --git a/scripts/prepareMain.js b/scripts/prepareMain.js new file mode 100644 index 0000000..3665f2f --- /dev/null +++ b/scripts/prepareMain.js @@ -0,0 +1,13 @@ +const concat = require('concat') + +concat([ + 'src/browser/index-header.js', + 'src/deps/browser/sql-asm-debug.js', + 'src/browser/index-mod1-header.js', + 'src/browser/SQLiteProxy.js', + 'src/browser/index-mod1-footer.js', + 'src/browser/index-mod2-header.js', + 'www/SQLitePlugin.js', + 'src/browser/index-mod2-footer.js', + 'src/browser/index-footer.js' +], 'index.js') diff --git a/scripts/prepareSpec.js b/scripts/prepareSpec.js index 92b30f3..0d5b909 100644 --- a/scripts/prepareSpec.js +++ b/scripts/prepareSpec.js @@ -1,11 +1,40 @@ -require('shelljs/global'); +const path = require('path'); -rm('-rf', 'spec/myplugin'); -rm('-rf', 'spec/plugins'); -rm('-rf', 'spec/platforms'); -mkdir('spec/myplugin') -cp('-R', 'package.json', 'plugin.xml', 'scripts', 'src', 'www', 'spec/myplugin'); +const fs = require('fs-extra'); -cd('spec'); +const spawn = require('cross-spawn'); -exec('cordova plugin add myplugin'); +console.info('Removing any old artifacts from spec'); + +fs.removeSync('spec/myplugin'); +fs.removeSync('spec/plugins'); +fs.removeSync('spec/platforms'); + +const myplugin = path.join('spec', 'myplugin'); + +console.info('Copying plugin artifacts into ' + myplugin); + +fs.ensureDirSync(myplugin); + +['package.json', 'plugin.xml'].forEach((src) => { + const dest = path.join(myplugin, src); + fs.copySync(src, dest); +}); + +['scripts', 'src', 'www'].forEach((src) => { + const dest = path.join(myplugin, src); + fs.ensureDirSync(dest); + fs.copySync(src, dest); +}); + +const args = 'plugin add myplugin'; + +console.log('Spawning Cordova CLI in `spec` with the following arguments: ' + args); + +spawn.sync('cordova', args.split(' '), { + cwd: 'spec', + stdio: 'inherit', +}); + +console.info('The spec is now ready to test a copy of this plugin.'); +console.info('Please do `cd spec` and then use `cordova platform add` to add each desired platform.'); diff --git a/spec/config.xml b/spec/config.xml index 4ab5d60..183553b 100644 --- a/spec/config.xml +++ b/spec/config.xml @@ -10,5 +10,5 @@ - + diff --git a/spec/www/index.html b/spec/www/index.html index 708445f..1350405 100644 --- a/spec/www/index.html +++ b/spec/www/index.html @@ -14,7 +14,7 @@ - + diff --git a/spec/www/spec/base64-encode-test.js b/spec/www/spec/base64-encode-test.js index d9d92f4..8addcbe 100755 --- a/spec/www/spec/base64-encode-test.js +++ b/spec/www/spec/base64-encode-test.js @@ -28,8 +28,6 @@ var scenarioCount = (!!window.hasWebKitBrowser) ? (isAndroid ? 3 : 2) : 1; var mytests = function() { for (var i=0; i= 11 is lying: try { bindPostHoneycomb(row, key, cur, i); } catch (Exception ex) { - bindPreHoneycomb(row, key, cur, i); + // bindPreHoneycomb(row, key, cur, i); + Log.v("SQLiteAndroidDatabase.executeSqlStatementQuery", + "INTERNAL PLUGIN ERROR: could not bindPostHoneycomb: " + ex.getMessage()); + throw(ex); } } else { - bindPreHoneycomb(row, key, cur, i); + // NOT EXPECTED: + // bindPreHoneycomb(row, key, cur, i); + Log.v("SQLiteAndroidDatabase.executeSqlStatementQuery", + "INTERNAL PLUGIN ERROR: deprecated android.os.Build.VERSION not supported: " + android.os.Build.VERSION.SDK_INT); + throw new RuntimeException( + "INTERNAL PLUGIN ERROR: deprecated android.os.Build.VERSION not supported: " + + android.os.Build.VERSION.SDK_INT); } } @@ -500,7 +521,6 @@ private JSONObject executeSqlStatementQuery(SQLiteDatabase mydb, String query, return rowsResult; } - @SuppressLint("NewApi") private void bindPostHoneycomb(JSONObject row, String key, Cursor cur, int i) throws JSONException { int curType = cur.getType(i); @@ -521,6 +541,7 @@ private void bindPostHoneycomb(JSONObject row, String key, Cursor cur, int i) th } } + /* ** NO LONGER SUPPORTED: private void bindPreHoneycomb(JSONObject row, String key, Cursor cursor, int i) throws JSONException { // Since cursor.getType() is not available pre-honeycomb, this is // a workaround so we don't have to bind everything as a string @@ -539,6 +560,7 @@ private void bindPreHoneycomb(JSONObject row, String key, Cursor cursor, int i) row.put(key, cursor.getString(i)); } } + // */ static QueryType getQueryType(String query) { Matcher matcher = FIRST_WORD.matcher(query); diff --git a/src/android/io/sqlc/SQLiteConnectorDatabase.java b/src/android/io/sqlc/SQLiteConnectorDatabase.java index 2f88ec7..86e1106 100644 --- a/src/android/io/sqlc/SQLiteConnectorDatabase.java +++ b/src/android/io/sqlc/SQLiteConnectorDatabase.java @@ -6,8 +6,6 @@ package io.sqlc; -import android.annotation.SuppressLint; - import android.util.Log; import java.io.File; diff --git a/src/android/io/sqlc/SQLitePlugin.java b/src/android/io/sqlc/SQLitePlugin.java index 19eb1a0..8870a1a 100755 --- a/src/android/io/sqlc/SQLitePlugin.java +++ b/src/android/io/sqlc/SQLitePlugin.java @@ -6,8 +6,6 @@ package io.sqlc; -import android.annotation.SuppressLint; - import android.util.Log; import java.io.File; @@ -39,7 +37,7 @@ public class SQLitePlugin extends CordovaPlugin { /** - * Multiple database runner lookup maps (static). + * Concurrent database runner map. * * NOTE: no public static accessor to db runner maps since it is not * expected to work properly with db threading. @@ -54,10 +52,10 @@ public class SQLitePlugin extends CordovaPlugin { * THANKS to @NeoLSN (Jason Yang/楊朝傑) for giving the pointer in: * https://github.com/litehelpers/Cordova-sqlite-storage/issues/727 */ - static Map dbrmap = new ConcurrentHashMap(); - static Map dbrmap2 = new ConcurrentHashMap(); + private Map dbrmap = new ConcurrentHashMap(); + private Map dbrmap2 = new ConcurrentHashMap(); - static int lastdbid = 0; + private int lastdbid = 0; /** * NOTE: Using default constructor, no explicit constructor. diff --git a/src/browser/SQLiteProxy.js b/src/browser/SQLiteProxy.js index 67fe73f..12f52ee 100644 --- a/src/browser/SQLiteProxy.js +++ b/src/browser/SQLiteProxy.js @@ -14,6 +14,10 @@ function echoStringValue(success, error, options) { success(options[0].value); } +var SQL = null; + +window.initSqlJs().then(sql => { SQL = sql }) + function openDatabase(success, error, options) { var name = options[0].name; diff --git a/index-footer.js b/src/browser/index-footer.js similarity index 100% rename from index-footer.js rename to src/browser/index-footer.js diff --git a/index-header.js b/src/browser/index-header.js similarity index 100% rename from index-header.js rename to src/browser/index-header.js diff --git a/index-mod1-footer.js b/src/browser/index-mod1-footer.js similarity index 100% rename from index-mod1-footer.js rename to src/browser/index-mod1-footer.js diff --git a/index-mod1-header.js b/src/browser/index-mod1-header.js similarity index 100% rename from index-mod1-header.js rename to src/browser/index-mod1-header.js diff --git a/index-mod2-footer.js b/src/browser/index-mod2-footer.js similarity index 100% rename from index-mod2-footer.js rename to src/browser/index-mod2-footer.js diff --git a/index-mod2-header.js b/src/browser/index-mod2-header.js similarity index 100% rename from index-mod2-header.js rename to src/browser/index-mod2-header.js diff --git a/src/deps/android/evcore-native-driver.jar b/src/deps/android/evcore-native-driver.jar index a63d831..dc27637 100644 Binary files a/src/deps/android/evcore-native-driver.jar and b/src/deps/android/evcore-native-driver.jar differ diff --git a/src/deps/browser/sql-asm-debug.js b/src/deps/browser/sql-asm-debug.js new file mode 100644 index 0000000..36c9c29 --- /dev/null +++ b/src/deps/browser/sql-asm-debug.js @@ -0,0 +1,284474 @@ + +// We are modularizing this manually because the current modularize setting in Emscripten has some issues: +// https://github.com/kripken/emscripten/issues/5820 +// In addition, When you use emcc's modularization, it still expects to export a global object called `Module`, +// which is able to be used/called before the WASM is loaded. +// The modularization below exports a promise that loads and resolves to the actual sql.js module. +// That way, this module can't be used before the WASM is finished loading. + +// We are going to define a function that a user will call to start loading initializing our Sql.js library +// However, that function might be called multiple times, and on subsequent calls, we don't actually want it to instantiate a new instance of the Module +// Instead, we want to return the previously loaded module + +// TODO: Make this not declare a global if used in the browser +var initSqlJsPromise = undefined; + +var initSqlJs = function (moduleConfig) { + + if (initSqlJsPromise){ + return initSqlJsPromise; + } + // If we're here, we've never called this function before + initSqlJsPromise = new Promise((resolveModule, reject) => { + + // We are modularizing this manually because the current modularize setting in Emscripten has some issues: + // https://github.com/kripken/emscripten/issues/5820 + + // The way to affect the loading of emcc compiled modules is to create a variable called `Module` and add + // properties to it, like `preRun`, `postRun`, etc + // We are using that to get notified when the WASM has finished loading. + // Only then will we return our promise + + // If they passed in a moduleConfig object, use that + // Otherwise, initialize Module to the empty object + var Module = typeof moduleConfig !== 'undefined' ? moduleConfig : {}; + + // EMCC only allows for a single onAbort function (not an array of functions) + // So if the user defined their own onAbort function, we remember it and call it + var originalOnAbortFunction = Module['onAbort']; + Module['onAbort'] = function (errorThatCausedAbort) { + reject(new Error(errorThatCausedAbort)); + if (originalOnAbortFunction){ + originalOnAbortFunction(errorThatCausedAbort); + } + }; + + Module['postRun'] = Module['postRun'] || []; + Module['postRun'].push(function () { + // When Emscripted calls postRun, this promise resolves with the built Module + resolveModule(Module); + }); + + // There is a section of code in the emcc-generated code below that looks like this: + // (Note that this is lowercase `module`) + // if (typeof module !== 'undefined') { + // module['exports'] = Module; + // } + // When that runs, it's going to overwrite our own modularization export efforts in shell-post.js! + // The only way to tell emcc not to emit it is to pass the MODULARIZE=1 or MODULARIZE_INSTANCE=1 flags, + // but that carries with it additional unnecessary baggage/bugs we don't want either. + // So, we have three options: + // 1) We undefine `module` + // 2) We remember what `module['exports']` was at the beginning of this function and we restore it later + // 3) We write a script to remove those lines of code as part of the Make process. + // + // Since those are the only lines of code that care about module, we will undefine it. It's the most straightforward + // of the options, and has the side effect of reducing emcc's efforts to modify the module if its output were to change in the future. + // That's a nice side effect since we're handling the modularization efforts ourselves + module = undefined; + + // The emcc-generated code and shell-post.js code goes below, + // meaning that all of it runs inside of this promise. If anything throws an exception, our promise will abort + + +// The Module object: Our interface to the outside world. We import +// and export values on it. There are various ways Module can be used: +// 1. Not defined. We create it here +// 2. A function parameter, function(Module) { ..generated code.. } +// 3. pre-run appended it, var Module = {}; ..generated code.. +// 4. External script tag defines var Module. +// We need to check if Module already exists (e.g. case 3 above). +// Substitution will be replaced with actual code on later stage of the build, +// this way Closure Compiler will not mangle it (e.g. case 4. above). +// Note that if you want to run closure, and also to use Module +// after the generated code, you will need to define var Module = {}; +// before the code. Then that object will be used in the code, and you +// can continue to use Module afterwards as well. +var Module = typeof Module !== 'undefined' ? Module : {}; + + + +// --pre-jses are emitted after the Module integration code, so that they can +// refer to Module (if they choose; they can also define Module) + + +// Wait for preRun to run, and then finish our initialization +var runCompiledCode = (function() {// Generated by CoffeeScript 1.12.7 +var Database, NULL, RegisterExtensionFunctions, SQLite, Statement, apiTemp, custom_extensions, i, sqlite3_bind_blob, sqlite3_bind_double, sqlite3_bind_int, sqlite3_bind_parameter_index, sqlite3_bind_text, sqlite3_changes, sqlite3_clear_bindings, sqlite3_close_v2, sqlite3_column_blob, sqlite3_column_bytes, sqlite3_column_double, sqlite3_column_name, sqlite3_column_text, sqlite3_column_type, sqlite3_create_function_v2, sqlite3_data_count, sqlite3_errmsg, sqlite3_exec, sqlite3_finalize, sqlite3_free, sqlite3_open, sqlite3_prepare_v2, sqlite3_prepare_v2_sqlptr, sqlite3_reset, sqlite3_result_blob, sqlite3_result_double, sqlite3_result_error, sqlite3_result_int, sqlite3_result_int64, sqlite3_result_null, sqlite3_result_text, sqlite3_step, sqlite3_value_blob, sqlite3_value_bytes, sqlite3_value_double, sqlite3_value_int, sqlite3_value_text, sqlite3_value_type; + +apiTemp = stackAlloc(4); + +SQLite = {}; + + +/* Represents a prepared statement. + +Prepared statements allow you to have a template sql string, +that you can execute multiple times with different parameters. + +You can't instantiate this class directly, you have to use a [Database](Database.html) +object in order to create a statement. + +**Warning**: When you close a database (using db.close()), all its statements are +closed too and become unusable. + +@see Database.html#prepare-dynamic +@see https://en.wikipedia.org/wiki/Prepared_statement + */ + +Statement = (function() { + function Statement(stmt1, db) { + this.stmt = stmt1; + this.db = db; + this.pos = 1; + this.allocatedmem = []; + } + + + /* Bind values to the parameters, after having reseted the statement + + SQL statements can have parameters, named *'?', '?NNN', ':VVV', '@VVV', '$VVV'*, + where NNN is a number and VVV a string. + This function binds these parameters to the given values. + + *Warning*: ':', '@', and '$' are included in the parameters names + + ## Binding values to named parameters + @example Bind values to named parameters + var stmt = db.prepare("UPDATE test SET a=@newval WHERE id BETWEEN $mini AND $maxi"); + stmt.bind({$mini:10, $maxi:20, '@newval':5}); + - Create a statement that contains parameters like '$VVV', ':VVV', '@VVV' + - Call Statement.bind with an object as parameter + + ## Binding values to parameters + @example Bind values to anonymous parameters + var stmt = db.prepare("UPDATE test SET a=? WHERE id BETWEEN ? AND ?"); + stmt.bind([5, 10, 20]); + - Create a statement that contains parameters like '?', '?NNN' + - Call Statement.bind with an array as parameter + + ## Value types + Javascript type | SQLite type + --- | --- + number | REAL, INTEGER + boolean | INTEGER + string | TEXT + Array, Uint8Array | BLOB + null | NULL + @see http://www.sqlite.org/datatype3.html + + @see http://www.sqlite.org/lang_expr.html#varparam + @param values [Array,Object] The values to bind + @return [Boolean] true if it worked + @throw [String] SQLite Error + */ + + Statement.prototype['bind'] = function(values) { + if (!this.stmt) { + throw "Statement closed"; + } + this['reset'](); + if (Array.isArray(values)) { + return this.bindFromArray(values); + } else { + return this.bindFromObject(values); + } + }; + + + /* Execute the statement, fetching the the next line of result, + that can be retrieved with [Statement.get()](#get-dynamic) . + + @return [Boolean] true if a row of result available + @throw [String] SQLite Error + */ + + Statement.prototype['step'] = function() { + var ret; + if (!this.stmt) { + throw "Statement closed"; + } + this.pos = 1; + switch (ret = sqlite3_step(this.stmt)) { + case SQLite.ROW: + return true; + case SQLite.DONE: + return false; + default: + return this.db.handleError(ret); + } + }; + + Statement.prototype.getNumber = function(pos) { + if (pos == null) { + pos = this.pos++; + } + return sqlite3_column_double(this.stmt, pos); + }; + + Statement.prototype.getString = function(pos) { + if (pos == null) { + pos = this.pos++; + } + return sqlite3_column_text(this.stmt, pos); + }; + + Statement.prototype.getBlob = function(pos) { + var i, k, ptr, ref, result, size; + if (pos == null) { + pos = this.pos++; + } + size = sqlite3_column_bytes(this.stmt, pos); + ptr = sqlite3_column_blob(this.stmt, pos); + result = new Uint8Array(size); + for (i = k = 0, ref = size; 0 <= ref ? k < ref : k > ref; i = 0 <= ref ? ++k : --k) { + result[i] = HEAP8[ptr + i]; + } + return result; + }; + + + /* Get one row of results of a statement. + If the first parameter is not provided, step must have been called before get. + @param [Array,Object] Optional: If set, the values will be bound to the statement, and it will be executed + @return [Array] One row of result + + @example Print all the rows of the table test to the console + + var stmt = db.prepare("SELECT * FROM test"); + while (stmt.step()) console.log(stmt.get()); + */ + + Statement.prototype['get'] = function(params) { + var field, k, ref, results1; + if (params != null) { + this['bind'](params) && this['step'](); + } + results1 = []; + for (field = k = 0, ref = sqlite3_data_count(this.stmt); 0 <= ref ? k < ref : k > ref; field = 0 <= ref ? ++k : --k) { + switch (sqlite3_column_type(this.stmt, field)) { + case SQLite.INTEGER: + case SQLite.FLOAT: + results1.push(this.getNumber(field)); + break; + case SQLite.TEXT: + results1.push(this.getString(field)); + break; + case SQLite.BLOB: + results1.push(this.getBlob(field)); + break; + default: + results1.push(null); + } + } + return results1; + }; + + + /* Get the list of column names of a row of result of a statement. + @return [Array] The names of the columns + @example + + var stmt = db.prepare("SELECT 5 AS nbr, x'616200' AS data, NULL AS null_value;"); + stmt.step(); // Execute the statement + console.log(stmt.getColumnNames()); // Will print ['nbr','data','null_value'] + */ + + Statement.prototype['getColumnNames'] = function() { + var i, k, ref, results1; + results1 = []; + for (i = k = 0, ref = sqlite3_data_count(this.stmt); 0 <= ref ? k < ref : k > ref; i = 0 <= ref ? ++k : --k) { + results1.push(sqlite3_column_name(this.stmt, i)); + } + return results1; + }; + + + /* Get one row of result as a javascript object, associating column names with + their value in the current row. + @param [Array,Object] Optional: If set, the values will be bound to the statement, and it will be executed + @return [Object] The row of result + @see [Statement.get](#get-dynamic) + + @example + + var stmt = db.prepare("SELECT 5 AS nbr, x'616200' AS data, NULL AS null_value;"); + stmt.step(); // Execute the statement + console.log(stmt.getAsObject()); // Will print {nbr:5, data: Uint8Array([1,2,3]), null_value:null} + */ + + Statement.prototype['getAsObject'] = function(params) { + var i, k, len, name, names, rowObject, values; + values = this['get'](params); + names = this['getColumnNames'](); + rowObject = {}; + for (i = k = 0, len = names.length; k < len; i = ++k) { + name = names[i]; + rowObject[name] = values[i]; + } + return rowObject; + }; + + + /* Shorthand for bind + step + reset + Bind the values, execute the statement, ignoring the rows it returns, and resets it + @param [Array,Object] Value to bind to the statement + */ + + Statement.prototype['run'] = function(values) { + if (values != null) { + this['bind'](values); + } + this['step'](); + return this['reset'](); + }; + + Statement.prototype.bindString = function(string, pos) { + var bytes, strptr; + if (pos == null) { + pos = this.pos++; + } + bytes = intArrayFromString(string); + this.allocatedmem.push(strptr = allocate(bytes, 'i8', ALLOC_NORMAL)); + this.db.handleError(sqlite3_bind_text(this.stmt, pos, strptr, bytes.length - 1, 0)); + return true; + }; + + Statement.prototype.bindBlob = function(array, pos) { + var blobptr; + if (pos == null) { + pos = this.pos++; + } + this.allocatedmem.push(blobptr = allocate(array, 'i8', ALLOC_NORMAL)); + this.db.handleError(sqlite3_bind_blob(this.stmt, pos, blobptr, array.length, 0)); + return true; + }; + + Statement.prototype.bindNumber = function(num, pos) { + var bindfunc; + if (pos == null) { + pos = this.pos++; + } + bindfunc = num === (num | 0) ? sqlite3_bind_int : sqlite3_bind_double; + this.db.handleError(bindfunc(this.stmt, pos, num)); + return true; + }; + + Statement.prototype.bindNull = function(pos) { + if (pos == null) { + pos = this.pos++; + } + return sqlite3_bind_blob(this.stmt, pos, 0, 0, 0) === SQLite.OK; + }; + + Statement.prototype.bindValue = function(val, pos) { + if (pos == null) { + pos = this.pos++; + } + switch (typeof val) { + case "string": + return this.bindString(val, pos); + case "number": + case "boolean": + return this.bindNumber(val + 0, pos); + case "object": + if (val === null) { + return this.bindNull(pos); + } else if (val.length != null) { + return this.bindBlob(val, pos); + } else { + throw "Wrong API use : tried to bind a value of an unknown type (" + val + ")."; + } + } + }; + + + /* Bind names and values of an object to the named parameters of the statement + @param [Object] + @private + @nodoc + */ + + Statement.prototype.bindFromObject = function(valuesObj) { + var name, num, value; + for (name in valuesObj) { + value = valuesObj[name]; + num = sqlite3_bind_parameter_index(this.stmt, name); + if (num !== 0) { + this.bindValue(value, num); + } + } + return true; + }; + + + /* Bind values to numbered parameters + @param [Array] + @private + @nodoc + */ + + Statement.prototype.bindFromArray = function(values) { + var k, len, num, value; + for (num = k = 0, len = values.length; k < len; num = ++k) { + value = values[num]; + this.bindValue(value, num + 1); + } + return true; + }; + + + /* Reset a statement, so that it's parameters can be bound to new values + It also clears all previous bindings, freeing the memory used by bound parameters. + */ + + Statement.prototype['reset'] = function() { + this.freemem(); + return sqlite3_clear_bindings(this.stmt) === SQLite.OK && sqlite3_reset(this.stmt) === SQLite.OK; + }; + + + /* Free the memory allocated during parameter binding + */ + + Statement.prototype.freemem = function() { + var mem; + while (mem = this.allocatedmem.pop()) { + _free(mem); + } + return null; + }; + + + /* Free the memory used by the statement + @return [Boolean] true in case of success + */ + + Statement.prototype['free'] = function() { + var res; + this.freemem(); + res = sqlite3_finalize(this.stmt) === SQLite.OK; + delete this.db.statements[this.stmt]; + this.stmt = NULL; + return res; + }; + + return Statement; + +})(); + +Database = (function() { + function Database(data) { + this.filename = 'dbfile_' + (0xffffffff * Math.random() >>> 0); + if (data != null) { + FS.createDataFile('/', this.filename, data, true, true); + } + this.handleError(sqlite3_open(this.filename, apiTemp)); + this.db = getValue(apiTemp, 'i32'); + custom_extensions(this.db); + this.statements = {}; + this.functions = {}; + } + + + /* Execute an SQL query, ignoring the rows it returns. + + @param sql [String] a string containing some SQL text to execute + @param params [Array] (*optional*) When the SQL statement contains placeholders, you can pass them in here. They will be bound to the statement before it is executed. + + If you use the params argument, you **cannot** provide an sql string that contains several + queries (separated by ';') + + @example Insert values in a table + db.run("INSERT INTO test VALUES (:age, :name)", {':age':18, ':name':'John'}); + + @return [Database] The database object (useful for method chaining) + */ + + Database.prototype['run'] = function(sql, params) { + var stmt; + if (!this.db) { + throw "Database closed"; + } + if (params) { + stmt = this['prepare'](sql, params); + try { + stmt['step'](); + } finally { + stmt['free'](); + } + } else { + this.handleError(sqlite3_exec(this.db, sql, 0, 0, apiTemp)); + } + return this; + }; + + + /* Execute an SQL query, and returns the result. + + This is a wrapper against Database.prepare, Statement.step, Statement.get, + and Statement.free. + + The result is an array of result elements. There are as many result elements + as the number of statements in your sql string (statements are separated by a semicolon) + + Each result element is an object with two properties: + 'columns' : the name of the columns of the result (as returned by Statement.getColumnNames()) + 'values' : an array of rows. Each row is itself an array of values + + ## Example use + We have the following table, named *test* : + + | id | age | name | + |:--:|:---:|:------:| + | 1 | 1 | Ling | + | 2 | 18 | Paul | + | 3 | 3 | Markus | + + + We query it like that: + ```javascript + var db = new SQL.Database(); + var res = db.exec("SELECT id FROM test; SELECT age,name FROM test;"); + ``` + + `res` is now : + ```javascript + [ + {columns: ['id'], values:[[1],[2],[3]]}, + {columns: ['age','name'], values:[[1,'Ling'],[18,'Paul'],[3,'Markus']]} + ] + ``` + + @param sql [String] a string containing some SQL text to execute + @return [Array] An array of results. + */ + + Database.prototype['exec'] = function(sql) { + var curresult, nextSqlPtr, pStmt, pzTail, results, stack, stmt; + if (!this.db) { + throw "Database closed"; + } + stack = stackSave(); + try { + nextSqlPtr = allocateUTF8OnStack(sql); + pzTail = stackAlloc(4); + results = []; + while (getValue(nextSqlPtr, 'i8') !== NULL) { + setValue(apiTemp, 0, 'i32'); + setValue(pzTail, 0, 'i32'); + this.handleError(sqlite3_prepare_v2_sqlptr(this.db, nextSqlPtr, -1, apiTemp, pzTail)); + pStmt = getValue(apiTemp, 'i32'); + nextSqlPtr = getValue(pzTail, 'i32'); + if (pStmt === NULL) { + continue; + } + curresult = null; + stmt = new Statement(pStmt, this); + try { + while (stmt['step']()) { + if (curresult === null) { + curresult = { + 'columns': stmt['getColumnNames'](), + 'values': [] + }; + results.push(curresult); + } + curresult['values'].push(stmt['get']()); + } + } finally { + stmt['free'](); + } + } + return results; + } finally { + stackRestore(stack); + } + }; + + + /* Execute an sql statement, and call a callback for each row of result. + + **Currently** this method is synchronous, it will not return until the callback has + been called on every row of the result. But this might change. + + @param sql [String] A string of SQL text. Can contain placeholders that will be + bound to the parameters given as the second argument + @param params [Array] (*optional*) Parameters to bind + to the query + @param callback [Function(Object)] A function that will be called on each row of result + @param done [Function] A function that will be called when all rows have been retrieved + + @return [Database] The database object. Useful for method chaining + + @example Read values from a table + db.each("SELECT name,age FROM users WHERE age >= $majority", + {$majority:18}, + function(row){console.log(row.name + " is a grown-up.")} + ); + */ + + Database.prototype['each'] = function(sql, params, callback, done) { + var stmt; + if (typeof params === 'function') { + done = callback; + callback = params; + params = void 0; + } + stmt = this['prepare'](sql, params); + try { + while (stmt['step']()) { + callback(stmt['getAsObject']()); + } + } finally { + stmt['free'](); + } + if (typeof done === 'function') { + return done(); + } + }; + + + /* Prepare an SQL statement + @param sql [String] a string of SQL, that can contain placeholders ('?', ':VVV', ':AAA', '@AAA') + @param params [Array] (*optional*) values to bind to placeholders + @return [Statement] the resulting statement + @throw [String] SQLite error + */ + + Database.prototype['prepare'] = function(sql, params) { + var pStmt, stmt; + setValue(apiTemp, 0, 'i32'); + this.handleError(sqlite3_prepare_v2(this.db, sql, -1, apiTemp, NULL)); + pStmt = getValue(apiTemp, 'i32'); + if (pStmt === NULL) { + throw 'Nothing to prepare'; + } + stmt = new Statement(pStmt, this); + if (params != null) { + stmt.bind(params); + } + this.statements[pStmt] = stmt; + return stmt; + }; + + + /* Exports the contents of the database to a binary array + @return [Uint8Array] An array of bytes of the SQLite3 database file + */ + + Database.prototype['export'] = function() { + var _, binaryDb, func, ref, ref1, stmt; + ref = this.statements; + for (_ in ref) { + stmt = ref[_]; + stmt['free'](); + } + ref1 = this.functions; + for (_ in ref1) { + func = ref1[_]; + removeFunction(func); + } + this.functions = {}; + this.handleError(sqlite3_close_v2(this.db)); + binaryDb = FS.readFile(this.filename, { + encoding: 'binary' + }); + this.handleError(sqlite3_open(this.filename, apiTemp)); + this.db = getValue(apiTemp, 'i32'); + return binaryDb; + }; + + + /* Close the database, and all associated prepared statements. + + The memory associated to the database and all associated statements + will be freed. + + **Warning**: A statement belonging to a database that has been closed cannot + be used anymore. + + Databases **must** be closed, when you're finished with them, or the + memory consumption will grow forever + */ + + Database.prototype['close'] = function() { + var _, func, ref, ref1, stmt; + ref = this.statements; + for (_ in ref) { + stmt = ref[_]; + stmt['free'](); + } + ref1 = this.functions; + for (_ in ref1) { + func = ref1[_]; + removeFunction(func); + } + this.functions = {}; + this.handleError(sqlite3_close_v2(this.db)); + FS.unlink('/' + this.filename); + return this.db = null; + }; + + + /* Analyze a result code, return null if no error occured, and throw + an error with a descriptive message otherwise + @nodoc + */ + + Database.prototype.handleError = function(returnCode) { + var errmsg; + if (returnCode === SQLite.OK) { + return null; + } else { + errmsg = sqlite3_errmsg(this.db); + throw new Error(errmsg); + } + }; + + + /* Returns the number of rows modified, inserted or deleted by the + most recently completed INSERT, UPDATE or DELETE statement on the + database Executing any other type of SQL statement does not modify + the value returned by this function. + + @return [Number] the number of rows modified + */ + + Database.prototype['getRowsModified'] = function() { + return sqlite3_changes(this.db); + }; + + + /* Register a custom function with SQLite + @example Register a simple function + db.create_function("addOne", function(x) {return x+1;}) + db.exec("SELECT addOne(1)") // = 2 + + @param name [String] the name of the function as referenced in SQL statements. + @param func [Function] the actual function to be executed. + */ + + Database.prototype['create_function'] = function(name, func) { + var func_ptr, wrapped_func; + wrapped_func = function(cx, argc, argv) { + var arg, args, blobptr, data_func, error, i, k, ref, result, value_ptr, value_type; + args = []; + for (i = k = 0, ref = argc; 0 <= ref ? k < ref : k > ref; i = 0 <= ref ? ++k : --k) { + value_ptr = getValue(argv + (4 * i), 'i32'); + value_type = sqlite3_value_type(value_ptr); + data_func = (function() { + switch (false) { + case value_type !== 1: + return sqlite3_value_double; + case value_type !== 2: + return sqlite3_value_double; + case value_type !== 3: + return sqlite3_value_text; + case value_type !== 4: + return function(ptr) { + var blob_arg, blob_ptr, j, l, ref1, size; + size = sqlite3_value_bytes(ptr); + blob_ptr = sqlite3_value_blob(ptr); + blob_arg = new Uint8Array(size); + for (j = l = 0, ref1 = size; 0 <= ref1 ? l < ref1 : l > ref1; j = 0 <= ref1 ? ++l : --l) { + blob_arg[j] = HEAP8[blob_ptr + j]; + } + return blob_arg; + }; + default: + return function(ptr) { + return null; + }; + } + })(); + arg = data_func(value_ptr); + args.push(arg); + } + try { + result = func.apply(null, args); + } catch (error1) { + error = error1; + sqlite3_result_error(cx, error, -1); + return; + } + switch (typeof result) { + case 'boolean': + sqlite3_result_int(cx, result ? 1 : 0); + break; + case 'number': + sqlite3_result_double(cx, result); + break; + case 'string': + sqlite3_result_text(cx, result, -1, -1); + break; + case 'object': + if (result === null) { + sqlite3_result_null(cx); + } else if (result.length != null) { + blobptr = allocate(result, 'i8', ALLOC_NORMAL); + sqlite3_result_blob(cx, blobptr, result.length, -1); + _free(blobptr); + } else { + sqlite3_result_error(cx, "Wrong API use : tried to return a value of an unknown type (" + result + ").", -1); + } + break; + default: + sqlite3_result_null(cx); + } + }; + if (name in this.functions) { + removeFunction(this.functions[name]); + delete this.functions[name]; + } + func_ptr = addFunction(wrapped_func); + this.functions[name] = func_ptr; + this.handleError(sqlite3_create_function_v2(this.db, name, func.length, SQLite.UTF8, 0, func_ptr, 0, 0, 0)); + return this; + }; + + return Database; + +})(); + +sqlite3_open = Module['cwrap']('sqlite3_open', 'number', ['string', 'number']); + +sqlite3_close_v2 = Module['cwrap']('sqlite3_close_v2', 'number', ['number']); + +sqlite3_exec = Module['cwrap']('sqlite3_exec', 'number', ['number', 'string', 'number', 'number', 'number']); + +sqlite3_free = Module['cwrap']('sqlite3_free', '', ['number']); + +sqlite3_changes = Module['cwrap']('sqlite3_changes', 'number', ['number']); + +sqlite3_prepare_v2 = Module['cwrap']('sqlite3_prepare_v2', 'number', ['number', 'string', 'number', 'number', 'number']); + +sqlite3_prepare_v2_sqlptr = Module['cwrap']('sqlite3_prepare_v2', 'number', ['number', 'number', 'number', 'number', 'number']); + +sqlite3_bind_text = Module['cwrap']('sqlite3_bind_text', 'number', ['number', 'number', 'number', 'number', 'number']); + +sqlite3_bind_blob = Module['cwrap']('sqlite3_bind_blob', 'number', ['number', 'number', 'number', 'number', 'number']); + +sqlite3_bind_double = Module['cwrap']('sqlite3_bind_double', 'number', ['number', 'number', 'number']); + +sqlite3_bind_int = Module['cwrap']('sqlite3_bind_int', 'number', ['number', 'number', 'number']); + +sqlite3_bind_parameter_index = Module['cwrap']('sqlite3_bind_parameter_index', 'number', ['number', 'string']); + +sqlite3_step = Module['cwrap']('sqlite3_step', 'number', ['number']); + +sqlite3_errmsg = Module['cwrap']('sqlite3_errmsg', 'string', ['number']); + +sqlite3_data_count = Module['cwrap']('sqlite3_data_count', 'number', ['number']); + +sqlite3_column_double = Module['cwrap']('sqlite3_column_double', 'number', ['number', 'number']); + +sqlite3_column_text = Module['cwrap']('sqlite3_column_text', 'string', ['number', 'number']); + +sqlite3_column_blob = Module['cwrap']('sqlite3_column_blob', 'number', ['number', 'number']); + +sqlite3_column_bytes = Module['cwrap']('sqlite3_column_bytes', 'number', ['number', 'number']); + +sqlite3_column_type = Module['cwrap']('sqlite3_column_type', 'number', ['number', 'number']); + +sqlite3_column_name = Module['cwrap']('sqlite3_column_name', 'string', ['number', 'number']); + +sqlite3_reset = Module['cwrap']('sqlite3_reset', 'number', ['number']); + +sqlite3_clear_bindings = Module['cwrap']('sqlite3_clear_bindings', 'number', ['number']); + +sqlite3_finalize = Module['cwrap']('sqlite3_finalize', 'number', ['number']); + +sqlite3_create_function_v2 = Module['cwrap']('sqlite3_create_function_v2', 'number', ['number', 'string', 'number', 'number', 'number', 'number', 'number', 'number', 'number']); + +sqlite3_value_type = Module['cwrap']('sqlite3_value_type', 'number', ['number']); + +sqlite3_value_bytes = Module['cwrap']('sqlite3_value_bytes', 'number', ['number']); + +sqlite3_value_text = Module['cwrap']('sqlite3_value_text', 'string', ['number']); + +sqlite3_value_int = Module['cwrap']('sqlite3_value_int', 'number', ['number']); + +sqlite3_value_blob = Module['cwrap']('sqlite3_value_blob', 'number', ['number']); + +sqlite3_value_double = Module['cwrap']('sqlite3_value_double', 'number', ['number']); + +sqlite3_result_double = Module['cwrap']('sqlite3_result_double', '', ['number', 'number']); + +sqlite3_result_null = Module['cwrap']('sqlite3_result_null', '', ['number']); + +sqlite3_result_text = Module['cwrap']('sqlite3_result_text', '', ['number', 'string', 'number', 'number']); + +sqlite3_result_blob = Module['cwrap']('sqlite3_result_blob', '', ['number', 'number', 'number', 'number']); + +sqlite3_result_int = Module['cwrap']('sqlite3_result_int', '', ['number', 'number']); + +sqlite3_result_int64 = Module['cwrap']('sqlite3_result_int64', '', ['number', 'number']); + +sqlite3_result_error = Module['cwrap']('sqlite3_result_error', '', ['number', 'string', 'number']); + +RegisterExtensionFunctions = Module['cwrap']('RegisterExtensionFunctions', 'number', ['number']); + +custom_extensions = Module['cwrap']('custom_extensions', 'number', ['number']); + +this['SQL'] = { + 'Database': Database +}; + +for (i in this['SQL']) { + Module[i] = this['SQL'][i]; +} + +NULL = 0; + +SQLite.OK = 0; + +SQLite.ERROR = 1; + +SQLite.INTERNAL = 2; + +SQLite.PERM = 3; + +SQLite.ABORT = 4; + +SQLite.BUSY = 5; + +SQLite.LOCKED = 6; + +SQLite.NOMEM = 7; + +SQLite.READONLY = 8; + +SQLite.INTERRUPT = 9; + +SQLite.IOERR = 10; + +SQLite.CORRUPT = 11; + +SQLite.NOTFOUND = 12; + +SQLite.FULL = 13; + +SQLite.CANTOPEN = 14; + +SQLite.PROTOCOL = 15; + +SQLite.EMPTY = 16; + +SQLite.SCHEMA = 17; + +SQLite.TOOBIG = 18; + +SQLite.CONSTRAINT = 19; + +SQLite.MISMATCH = 20; + +SQLite.MISUSE = 21; + +SQLite.NOLFS = 22; + +SQLite.AUTH = 23; + +SQLite.FORMAT = 24; + +SQLite.RANGE = 25; + +SQLite.NOTADB = 26; + +SQLite.NOTICE = 27; + +SQLite.WARNING = 28; + +SQLite.ROW = 100; + +SQLite.DONE = 101; + +SQLite.INTEGER = 1; + +SQLite.FLOAT = 2; + +SQLite.TEXT = 3; + +SQLite.BLOB = 4; + +SQLite.NULL = 5; + +SQLite.UTF8 = 1; + +}).bind(this); + +Module['onRuntimeInitialized'] = runCompiledCode; + + + +// Sometimes an existing Module object exists with properties +// meant to overwrite the default module functionality. Here +// we collect those properties and reapply _after_ we configure +// the current environment's defaults to avoid having to be so +// defensive during initialization. +var moduleOverrides = {}; +var key; +for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +var arguments_ = []; +var thisProgram = './this.program'; +var quit_ = function(status, toThrow) { + throw toThrow; +}; + +// Determine the runtime environment we are in. You can customize this by +// setting the ENVIRONMENT setting at compile time (see settings.js). + +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; +ENVIRONMENT_IS_WEB = typeof window === 'object'; +ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; +// N.b. Electron.js environment is simultaneously a NODE-environment, but +// also a web environment. +ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string'; +ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; + +if (Module['ENVIRONMENT']) { + throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)'); +} + + + +// `/` should be present at the end if `scriptDirectory` is not empty +var scriptDirectory = ''; +function locateFile(path) { + if (Module['locateFile']) { + return Module['locateFile'](path, scriptDirectory); + } + return scriptDirectory + path; +} + +// Hooks that are implemented differently in different runtime environments. +var read_, + readAsync, + readBinary, + setWindowTitle; + +var nodeFS; +var nodePath; + +if (ENVIRONMENT_IS_NODE) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = require('path').dirname(scriptDirectory) + '/'; + } else { + scriptDirectory = __dirname + '/'; + } + + + + + read_ = function shell_read(filename, binary) { + var ret = tryParseAsDataURI(filename); + if (ret) { + return binary ? ret : ret.toString(); + } + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + return nodeFS['readFileSync'](filename, binary ? null : 'utf8'); + }; + + readBinary = function readBinary(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert(ret.buffer); + return ret; + }; + + + + + if (process['argv'].length > 1) { + thisProgram = process['argv'][1].replace(/\\/g, '/'); + } + + arguments_ = process['argv'].slice(2); + + if (typeof module !== 'undefined') { + module['exports'] = Module; + } + + + process['on']('unhandledRejection', abort); + + quit_ = function(status) { + process['exit'](status); + }; + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; + + + +} else +if (ENVIRONMENT_IS_SHELL) { + + + if (typeof read != 'undefined') { + read_ = function shell_read(f) { + var data = tryParseAsDataURI(f); + if (data) { + return intArrayToString(data); + } + return read(f); + }; + } + + readBinary = function readBinary(f) { + var data; + data = tryParseAsDataURI(f); + if (data) { + return data; + } + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + data = read(f, 'binary'); + assert(typeof data === 'object'); + return data; + }; + + if (typeof scriptArgs != 'undefined') { + arguments_ = scriptArgs; + } else if (typeof arguments != 'undefined') { + arguments_ = arguments; + } + + if (typeof quit === 'function') { + quit_ = function(status) { + quit(status); + }; + } + + if (typeof print !== 'undefined') { + // Prefer to use print/printErr where they exist, as they usually work better. + if (typeof console === 'undefined') console = /** @type{!Console} */({}); + console.log = /** @type{!function(this:Console, ...*): undefined} */ (print); + console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr !== 'undefined' ? printErr : print); + } + + +} else + +// Note that this includes Node.js workers when relevant (pthreads is enabled). +// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and +// ENVIRONMENT_IS_NODE. +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled + scriptDirectory = self.location.href; + } else if (document.currentScript) { // web + scriptDirectory = document.currentScript.src; + } + // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. + // otherwise, slice off the final part of the url to find the script directory. + // if scriptDirectory does not contain a slash, lastIndexOf will return -1, + // and scriptDirectory will correctly be replaced with an empty string. + if (scriptDirectory.indexOf('blob:') !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/')+1); + } else { + scriptDirectory = ''; + } + + + // Differentiate the Web Worker from the Node Worker case, as reading must + // be done differently. + { + + + + + read_ = function shell_read(url) { + try { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + } catch (err) { + var data = tryParseAsDataURI(url); + if (data) { + return intArrayToString(data); + } + throw err; + } + }; + + if (ENVIRONMENT_IS_WORKER) { + readBinary = function readBinary(url) { + try { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); + } catch (err) { + var data = tryParseAsDataURI(url); + if (data) { + return data; + } + throw err; + } + }; + } + + readAsync = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + onload(xhr.response); + return; + } + var data = tryParseAsDataURI(url); + if (data) { + onload(data.buffer); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + + + + } + + setWindowTitle = function(title) { document.title = title }; +} else +{ + throw new Error('environment detection error'); +} + + +// Set up the out() and err() hooks, which are how we can print to stdout or +// stderr, respectively. +var out = Module['print'] || console.log.bind(console); +var err = Module['printErr'] || console.warn.bind(console); + +// Merge back in the overrides +for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key]; + } +} +// Free the object hierarchy contained in the overrides, this lets the GC +// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. +moduleOverrides = null; + +// Emit code to handle expected values on the Module object. This applies Module.x +// to the proper local x. This has two benefits: first, we only emit it if it is +// expected to arrive, and second, by using a local everywhere else that can be +// minified. +if (Module['arguments']) arguments_ = Module['arguments'];if (!Object.getOwnPropertyDescriptor(Module, 'arguments')) Object.defineProperty(Module, 'arguments', { configurable: true, get: function() { abort('Module.arguments has been replaced with plain arguments_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); +if (Module['thisProgram']) thisProgram = Module['thisProgram'];if (!Object.getOwnPropertyDescriptor(Module, 'thisProgram')) Object.defineProperty(Module, 'thisProgram', { configurable: true, get: function() { abort('Module.thisProgram has been replaced with plain thisProgram (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); +if (Module['quit']) quit_ = Module['quit'];if (!Object.getOwnPropertyDescriptor(Module, 'quit')) Object.defineProperty(Module, 'quit', { configurable: true, get: function() { abort('Module.quit has been replaced with plain quit_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); + +// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message +// Assertions on removed incoming Module JS APIs. +assert(typeof Module['memoryInitializerPrefixURL'] === 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['pthreadMainPrefixURL'] === 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['cdInitializerPrefixURL'] === 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['filePackagePrefixURL'] === 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['read'] === 'undefined', 'Module.read option was removed (modify read_ in JS)'); +assert(typeof Module['readAsync'] === 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); +assert(typeof Module['readBinary'] === 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); +assert(typeof Module['setWindowTitle'] === 'undefined', 'Module.setWindowTitle option was removed (modify setWindowTitle in JS)'); +assert(typeof Module['TOTAL_MEMORY'] === 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); +if (!Object.getOwnPropertyDescriptor(Module, 'read')) Object.defineProperty(Module, 'read', { configurable: true, get: function() { abort('Module.read has been replaced with plain read_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); +if (!Object.getOwnPropertyDescriptor(Module, 'readAsync')) Object.defineProperty(Module, 'readAsync', { configurable: true, get: function() { abort('Module.readAsync has been replaced with plain readAsync (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); +if (!Object.getOwnPropertyDescriptor(Module, 'readBinary')) Object.defineProperty(Module, 'readBinary', { configurable: true, get: function() { abort('Module.readBinary has been replaced with plain readBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); +if (!Object.getOwnPropertyDescriptor(Module, 'setWindowTitle')) Object.defineProperty(Module, 'setWindowTitle', { configurable: true, get: function() { abort('Module.setWindowTitle has been replaced with plain setWindowTitle (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); +var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; +var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; +var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; +var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; + + + + + + +// {{PREAMBLE_ADDITIONS}} + +var STACK_ALIGN = 16; + +function dynamicAlloc(size) { + assert(DYNAMICTOP_PTR); + var ret = HEAP32[DYNAMICTOP_PTR>>2]; + var end = (ret + size + 15) & -16; + assert(end <= HEAP8.length, 'failure to dynamicAlloc - memory growth etc. is not supported there, call malloc/sbrk directly'); + HEAP32[DYNAMICTOP_PTR>>2] = end; + return ret; +} + +function alignMemory(size, factor) { + if (!factor) factor = STACK_ALIGN; // stack alignment (16-byte) by default + return Math.ceil(size / factor) * factor; +} + +function getNativeTypeSize(type) { + switch (type) { + case 'i1': case 'i8': return 1; + case 'i16': return 2; + case 'i32': return 4; + case 'i64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length-1] === '*') { + return 4; // A pointer + } else if (type[0] === 'i') { + var bits = Number(type.substr(1)); + assert(bits % 8 === 0, 'getNativeTypeSize invalid bits ' + bits + ', type ' + type); + return bits / 8; + } else { + return 0; + } + } + } +} + +function warnOnce(text) { + if (!warnOnce.shown) warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text); + } +} + + + + + +// Wraps a JS function as a wasm function with a given signature. +function convertJsFunctionToWasm(func, sig) { + return func; +} + +var freeTableIndexes = []; + +// Weak map of functions in the table to their indexes, created on first use. +var functionsInTableMap; + +// Add a wasm function to the table. +function addFunctionWasm(func, sig) { + var table = wasmTable; + + // Check if the function is already in the table, to ensure each function + // gets a unique index. First, create the map if this is the first use. + if (!functionsInTableMap) { + functionsInTableMap = new WeakMap(); + for (var i = 0; i < table.length; i++) { + var item = table.get(i); + // Ignore null values. + if (item) { + functionsInTableMap.set(item, i); + } + } + } + if (functionsInTableMap.has(func)) { + return functionsInTableMap.get(func); + } + + // It's not in the table, add it now. + + + var ret; + // Reuse a free index if there is one, otherwise grow. + if (freeTableIndexes.length) { + ret = freeTableIndexes.pop(); + } else { + ret = table.length; + // Grow the table + try { + table.grow(1); + } catch (err) { + if (!(err instanceof RangeError)) { + throw err; + } + throw 'Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.'; + } + } + + // Set the new value. + try { + // Attempting to call this with JS function will cause of table.set() to fail + table.set(ret, func); + } catch (err) { + if (!(err instanceof TypeError)) { + throw err; + } + assert(typeof sig !== 'undefined', 'Missing signature argument to addFunction'); + var wrapped = convertJsFunctionToWasm(func, sig); + table.set(ret, wrapped); + } + + functionsInTableMap.set(func, ret); + + return ret; +} + +function removeFunctionWasm(index) { + functionsInTableMap.delete(wasmTable.get(index)); + freeTableIndexes.push(index); +} + +// 'sig' parameter is required for the llvm backend but only when func is not +// already a WebAssembly function. +function addFunction(func, sig) { + assert(typeof func !== 'undefined'); + + return addFunctionWasm(func, sig); +} + +function removeFunction(index) { + removeFunctionWasm(index); +} + + + +var funcWrappers = {}; + +function getFuncWrapper(func, sig) { + if (!func) return; // on null pointer, return undefined + assert(sig); + if (!funcWrappers[sig]) { + funcWrappers[sig] = {}; + } + var sigCache = funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; +} + + + + + + + +function makeBigInt(low, high, unsigned) { + return unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0)); +} + +/** @param {Array=} args */ +function dynCall(sig, ptr, args) { + if (args && args.length) { + // j (64-bit integer) must be passed in as two numbers [low 32, high 32]. + assert(args.length === sig.substring(1).replace(/j/g, '--').length); + assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); + return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); + } else { + assert(sig.length == 1); + assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); + return Module['dynCall_' + sig].call(null, ptr); + } +} + +var tempRet0 = 0; + +var setTempRet0 = function(value) { + tempRet0 = value; +}; + +var getTempRet0 = function() { + return tempRet0; +}; + +function getCompilerSetting(name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for getCompilerSetting or emscripten_get_compiler_setting to work'; +} + +// The address globals begin at. Very low in memory, for code size and optimization opportunities. +// Above 0 is static memory, starting with globals. +// Then the stack. +// Then 'dynamic' memory for sbrk. +var GLOBAL_BASE = 1024; + + + + + +// === Preamble library stuff === + +// Documentation for the public APIs defined in this file must be updated in: +// site/source/docs/api_reference/preamble.js.rst +// A prebuilt local version of the documentation is available at: +// site/build/text/docs/api_reference/preamble.js.txt +// You can also build docs locally as HTML or other formats in site/ +// An online HTML version (which may be of a different version of Emscripten) +// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html + + +var wasmBinary;if (Module['wasmBinary']) wasmBinary = Module['wasmBinary'];if (!Object.getOwnPropertyDescriptor(Module, 'wasmBinary')) Object.defineProperty(Module, 'wasmBinary', { configurable: true, get: function() { abort('Module.wasmBinary has been replaced with plain wasmBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); +var noExitRuntime;if (Module['noExitRuntime']) noExitRuntime = Module['noExitRuntime'];if (!Object.getOwnPropertyDescriptor(Module, 'noExitRuntime')) Object.defineProperty(Module, 'noExitRuntime', { configurable: true, get: function() { abort('Module.noExitRuntime has been replaced with plain noExitRuntime (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); + + + + +// wasm2js.js - enough of a polyfill for the WebAssembly object so that we can load +// wasm2js code that way. + +// Emit "var WebAssembly" if definitely using wasm2js. Otherwise, in MAYBE_WASM2JS +// mode, we can't use a "var" since it would prevent normal wasm from working. +/** @suppress{const} */ +var +WebAssembly = { + // Note that we do not use closure quoting (this['buffer'], etc.) on these + // functions, as they are just meant for internal use. In other words, this is + // not a fully general polyfill. + Memory: function(opts) { + this.buffer = new ArrayBuffer(opts['initial'] * 65536); + this.grow = function(amount) { + var oldBuffer = this.buffer; + var ret = __growWasmMemory(amount); + assert(this.buffer !== oldBuffer); // the call should have updated us + return ret; + }; + }, + + // Table is not a normal constructor and instead returns the array object. + // That lets us use the length property automatically, which is simpler and + // smaller (but instanceof will not report that an instance of Table is an + // instance of this function). + Table: /** @constructor */ function(opts) { + var ret = new Array(opts['initial']); + ret.grow = function(by) { + ret.push(null); + }; + ret.set = function(i, func) { + ret[i] = func; + }; + ret.get = function(i) { + return ret[i]; + }; + return ret; + }, + + Module: function(binary) { + // TODO: use the binary and info somehow - right now the wasm2js output is embedded in + // the main JS + }, + + Instance: function(module, info) { + // TODO: use the module and info somehow - right now the wasm2js output is embedded in + // the main JS + // This will be replaced by the actual wasm2js code. + this.exports = ( +function instantiate(asmLibraryArg, wasmMemory, wasmTable) { + + + var scratchBuffer = new ArrayBuffer(16); + var i32ScratchView = new Int32Array(scratchBuffer); + var f32ScratchView = new Float32Array(scratchBuffer); + var f64ScratchView = new Float64Array(scratchBuffer); + + function wasm2js_scratch_load_i32(index) { + return i32ScratchView[index]; + } + + function wasm2js_scratch_store_i32(index, value) { + i32ScratchView[index] = value; + } + + function wasm2js_scratch_load_f64() { + return f64ScratchView[0]; + } + + function wasm2js_scratch_store_f64(value) { + f64ScratchView[0] = value; + } + +function asmFunc(global, env, buffer) { + var memory = env.memory; + var FUNCTION_TABLE = wasmTable; + var HEAP8 = new global.Int8Array(buffer); + var HEAP16 = new global.Int16Array(buffer); + var HEAP32 = new global.Int32Array(buffer); + var HEAPU8 = new global.Uint8Array(buffer); + var HEAPU16 = new global.Uint16Array(buffer); + var HEAPU32 = new global.Uint32Array(buffer); + var HEAPF32 = new global.Float32Array(buffer); + var HEAPF64 = new global.Float64Array(buffer); + var Math_imul = global.Math.imul; + var Math_fround = global.Math.fround; + var Math_abs = global.Math.abs; + var Math_clz32 = global.Math.clz32; + var Math_min = global.Math.min; + var Math_max = global.Math.max; + var Math_floor = global.Math.floor; + var Math_ceil = global.Math.ceil; + var Math_sqrt = global.Math.sqrt; + var abort = env.abort; + var nan = global.NaN; + var infinity = global.Infinity; + var fimport$0 = env.time; + var fimport$1 = env.gettimeofday; + var fimport$2 = env.sysconf; + var fimport$3 = env.utimes; + var fimport$4 = env.localtime; + var fimport$5 = env.__assert_fail; + var fimport$6 = env.__sys_fcntl64; + var fimport$7 = env.fd_close; + var fimport$8 = env.__sys_open; + var fimport$9 = env.__sys_mmap2; + var fimport$10 = env.__sys_munmap; + var fimport$11 = env.__sys_fchmod; + var fimport$12 = env.__sys_chmod; + var fimport$13 = env.__sys_fstat64; + var fimport$14 = env.__sys_stat64; + var fimport$15 = env.__sys_lstat64; + var fimport$16 = env.__sys_mkdir; + var fimport$17 = env.__sys_access; + var fimport$18 = env.__sys_fchown32; + var fimport$19 = env.__sys_chown32; + var fimport$20 = env.fd_sync; + var fimport$21 = env.__sys_ftruncate64; + var fimport$22 = env.__sys_getcwd; + var fimport$23 = env.__sys_geteuid32; + var fimport$24 = env.__sys_getpid; + var fimport$25 = env.__sys_read; + var fimport$26 = env.__sys_readlink; + var fimport$27 = env.__sys_rmdir; + var fimport$28 = env.nanosleep; + var fimport$29 = env.__sys_unlink; + var fimport$30 = env.fd_write; + var fimport$31 = env.environ_sizes_get; + var fimport$32 = env.environ_get; + var fimport$33 = env.fd_fdstat_get; + var fimport$34 = env.emscripten_resize_heap; + var fimport$35 = env.emscripten_memcpy_big; + var fimport$36 = env.setTempRet0; + var fimport$37 = env.fd_seek; + var global$0 = 5359344; + var global$1 = 116292; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; + var i64toi32_i32$HIGH_BITS = 0; + // EMSCRIPTEN_START_FUNCS +; + function $0() { + return 116304 | 0; + } + + function $1() { + $3256(); + } + + function $2($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $25_1 = 0, $29_1 = 0, $32_1 = 0, $50_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) >= (10 | 0) & 1 | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3(21538 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $25_1 = 24; + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1036 | 0) >> 0] | 0) << $25_1 | 0) >> $25_1 | 0)) { + break label$5 + } + $29_1 = $4() | 0; + break label$4; + } + $29_1 = $5() | 0; + } + $32_1 = 114016; + HEAP32[($6_1 + 8 | 0) >> 2] = $29_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($32_1 + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[(($32_1 + 40 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$6 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$6 + } + $50_1 = 114016; + HEAP32[(($50_1 + 40 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($50_1 + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $63_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $63_1 | 0; + } + + function $3($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = $6(21 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 61150 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $4() { + return HEAP32[(0 + 114596 | 0) >> 2] | 0 | 0; + } + + function $5() { + return HEAP32[(0 + 114104 | 0) >> 2] | 0 | 0; + } + + function $6($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $7_1 = 0, $8_1 = 0, $13_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $7_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $8_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($538() | 0) + 20 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 4 | 0) >> 2] = $8_1; + HEAP32[$5_1 >> 2] = $7_1; + $82($6_1 | 0, 4227 | 0, $5_1 | 0); + $13_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $13_1 | 0; + } + + function $7($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0, $19_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $14(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 300 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $14(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 304 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $14_1 = $14(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 308 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + $14_1 | 0; + $19_1 = $14(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 312 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + $19_1 | 0; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 284 | 0) >> 2] | 0) - (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0; + } + $38_1 = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 284 | 0) >> 2] | 0) - ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $38_1 | 0; + } + + function $8($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function $9($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0; + } + + function $10($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $17(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $19(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $11($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $28_1 = 0, $31_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 480 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + } + $28_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $31_1 = (HEAP32[($28_1 + 32 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($28_1 + 32 | 0) >> 2] = $31_1; + if (!($31_1 >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$3 + } + break label$1; + } + $20(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $12($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $44_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $21(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 144 | 0) >> 1] | 0) & 65535 | 0) << 0 | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $22(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + continue label$2; + }; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (381479589 | 0) & 1 | 0)) { + break label$3 + } + $44_1 = 16; + $21(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $44_1 | 0) >> $44_1 | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 192 | 0) >> 2] | 0 | 0); + } + $22(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $13($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $14($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $15($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $8_1 = FUNCTION_TABLE[HEAP32[(0 + 68492 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $16($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = FUNCTION_TABLE[HEAP32[(0 + 68412 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $17($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + $1139(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $19(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $1172(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + $1143(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + continue label$2; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $18($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1137(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $19($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0); + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $20($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if ((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 480 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + } + if (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + $474((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + $1029(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + continue label$2; + }; + } + $1168(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + $1169(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $1139(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $382(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + $1170(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 32 | 0; + return; + } + + function $21($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $35_1 = 0, $60_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 40) | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 480 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : while (1) { + label$4 : { + if (!(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$4 + } + $13(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + $35_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $35_1; + if ($35_1 >>> 0 < (HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + continue label$3 + } + break label$3; + }; + break label$1; + } + label$5 : while (1) { + label$6 : { + label$7 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0)) { + break label$7 + } + $227(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + break label$6; + } + label$8 : { + if (!(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$8 + } + $23(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + } + } + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 128; + $60_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $60_1; + if ($60_1 >>> 0 < (HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + continue label$5 + } + break label$5; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $22($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $30_1 = 0, $41_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5_1 >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 4 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$5_1 >> 2] | 0) >>> 0 >= (HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $30_1 = 24; + label$4 : { + if (!((((HEAPU8[((HEAP32[$5_1 >> 2] | 0) + 1 | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) <= (-7 | 0) & 1 | 0)) { + break label$4 + } + $41_1 = 24; + $370(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[$5_1 >> 2] | 0) + 1 | 0) >> 0] | 0) << $41_1 | 0) >> $41_1 | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + } + HEAP32[$5_1 >> 2] = (HEAP32[$5_1 >> 2] | 0) + -20 | 0; + continue label$3; + }; + } + $23(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $23($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 480 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $539(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 324 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + label$5 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 316 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 312 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 312 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + break label$1; + } + label$6 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 320 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 304 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 304 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + break label$1; + } + } + } + $42(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $24($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $25() | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[$3_1 >> 2] | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(0 + 114096 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$3; + } + label$6 : { + if ($3229(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + break label$3; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$4; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + $31_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $31_1 | 0; + } + + function $25() { + var $2_1 = 0, $91_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + if (!(HEAP32[(0 + 68576 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($2_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($2_1 + 8 | 0) >> 2] = 0; + label$3 : { + if (!(HEAP32[($2_1 + 8 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($2_1 + 12 | 0) >> 2] = HEAP32[($2_1 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[(0 + 68584 | 0) >> 2] = 1; + label$4 : { + if (HEAP32[(0 + 68588 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $2_1, wasm2js_i32$1 = $26() | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($2_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[(0 + 68588 | 0) >> 2] = 1; + label$6 : { + if ((HEAP32[(0 + 68600 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + HEAP32[(0 + 68600 | 0) >> 2] = 8; + label$7 : { + if (!((HEAPU8[(0 + 68372 | 0) >> 0] | 0) & 255 | 0)) { + break label$7 + } + if ((HEAP32[(0 + 68600 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + HEAP32[($2_1 + 8 | 0) >> 2] = 7; + } + } + } + label$8 : { + if (HEAP32[($2_1 + 8 | 0) >> 2] | 0) { + break label$8 + } + HEAP32[(0 + 68596 | 0) >> 2] = (HEAP32[(0 + 68596 | 0) >> 2] | 0) + 1 | 0; + } + label$9 : { + if (!(HEAP32[($2_1 + 8 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($2_1 + 12 | 0) >> 2] = HEAP32[($2_1 + 8 | 0) >> 2] | 0; + break label$1; + } + label$10 : { + if (HEAP32[(0 + 68576 | 0) >> 2] | 0) { + break label$10 + } + if (HEAP32[(0 + 68580 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[(0 + 68580 | 0) >> 2] = 1; + $3289(114412 | 0, 0 | 0, 92 | 0) | 0; + $27(); + label$11 : { + if (HEAP32[(0 + 68592 | 0) >> 2] | 0) { + break label$11 + } + (wasm2js_i32$0 = $2_1, wasm2js_i32$1 = $28() | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$12 : { + if (HEAP32[($2_1 + 8 | 0) >> 2] | 0) { + break label$12 + } + HEAP32[(0 + 68592 | 0) >> 2] = 1; + (wasm2js_i32$0 = $2_1, wasm2js_i32$1 = $29() | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$13 : { + if (HEAP32[($2_1 + 8 | 0) >> 2] | 0) { + break label$13 + } + $30(HEAP32[(0 + 68552 | 0) >> 2] | 0 | 0, HEAP32[(0 + 68556 | 0) >> 2] | 0 | 0, HEAP32[(0 + 68560 | 0) >> 2] | 0 | 0); + HEAP32[(0 + 68576 | 0) >> 2] = 1; + } + HEAP32[(0 + 68580 | 0) >> 2] = 0; + } + HEAP32[(0 + 68596 | 0) >> 2] = (HEAP32[(0 + 68596 | 0) >> 2] | 0) + -1 | 0; + label$14 : { + if (!((HEAP32[(0 + 68596 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[(0 + 68600 | 0) >> 2] = 0; + } + HEAP32[($2_1 + 12 | 0) >> 2] = HEAP32[($2_1 + 8 | 0) >> 2] | 0; + } + $91_1 = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + global$0 = $2_1 + 16 | 0; + return $91_1 | 0; + } + + function $26() { + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $2_1 = 0, $51_1 = 0, $52_1 = 0, $38_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + label$1 : { + if (!((HEAP32[(0 + 68400 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + $433(); + } + i64toi32_i32$0 = 0; + $51_1 = 0; + i64toi32_i32$1 = 0; + HEAP32[(i64toi32_i32$1 + 114128 | 0) >> 2] = $51_1; + HEAP32[(i64toi32_i32$1 + 114132 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 114120 | 0) >> 2] = $51_1; + HEAP32[(i64toi32_i32$1 + 114124 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 114112 | 0) >> 2] = $51_1; + HEAP32[(i64toi32_i32$1 + 114116 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 114104 | 0) >> 2] = $51_1; + HEAP32[(i64toi32_i32$1 + 114108 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(0 + 114104 | 0) >> 2] = 8; + label$2 : { + label$3 : { + if ((HEAP32[(0 + 68552 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[(0 + 68556 | 0) >> 2] | 0 | 0) < (512 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[(0 + 68560 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$2 + } + } + $38_1 = 0; + HEAP32[(0 + 68552 | 0) >> 2] = $38_1; + HEAP32[(0 + 68556 | 0) >> 2] = $38_1; + } + (wasm2js_i32$0 = $2_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68420 | 0) >> 2] | 0 | 0](HEAP32[(0 + 68428 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($2_1 + 12 | 0) >> 2] | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $52_1 = 0; + i64toi32_i32$1 = 0; + HEAP32[(i64toi32_i32$1 + 114128 | 0) >> 2] = $52_1; + HEAP32[(i64toi32_i32$1 + 114132 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 114120 | 0) >> 2] = $52_1; + HEAP32[(i64toi32_i32$1 + 114124 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 114112 | 0) >> 2] = $52_1; + HEAP32[(i64toi32_i32$1 + 114116 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 114104 | 0) >> 2] = $52_1; + HEAP32[(i64toi32_i32$1 + 114108 | 0) >> 2] = i64toi32_i32$0; + } + $48_1 = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + global$0 = $2_1 + 16 | 0; + return $48_1 | 0; + } + + function $27() { + $434(); + $435(); + $436(); + $437(69584 | 0, 63 | 0); + return; + } + + function $28() { + label$1 : { + if (!((HEAP32[(0 + 68476 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + $438(); + } + return FUNCTION_TABLE[HEAP32[(0 + 68476 | 0) >> 2] | 0 | 0](HEAP32[(0 + 68472 | 0) >> 2] | 0) | 0 | 0; + } + + function $29() { + var $2_1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + (wasm2js_i32$0 = $2_1, wasm2js_i32$1 = $38(10 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($2_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($2_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $42(HEAP32[($2_1 + 8 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $2_1, wasm2js_i32$1 = $90() | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $15_1 = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + global$0 = $2_1 + 16 | 0; + return $15_1 | 0; + } + + function $30($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $15_1 = 0, $24_1 = 0, $34_1 = 0, $41_1 = 0, $47_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!(HEAP32[(0 + 114564 | 0) >> 2] | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $15_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $15_1; + } + label$3 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) & -8 | 0; + HEAP32[(0 + 114576 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $24_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[(0 + 114604 | 0) >> 2] = $24_1; + HEAP32[(0 + 114580 | 0) >> 2] = $24_1; + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) > (90 | 0) & 1 | 0)) { + break label$5 + } + $34_1 = 10; + break label$4; + } + $34_1 = ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) / (10 | 0) | 0) + 1 | 0; + } + $41_1 = 0; + HEAP32[(0 + 114584 | 0) >> 2] = $34_1; + HEAP32[(0 + 114588 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[(0 + 114600 | 0) >> 2] = $41_1; + HEAP32[(0 + 114608 | 0) >> 2] = $41_1; + label$6 : { + label$7 : while (1) { + $47_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $47_1 + -1 | 0; + if (!$47_1) { + break label$6 + } + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = HEAP32[(0 + 114600 | 0) >> 2] | 0; + HEAP32[(0 + 114600 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0; + continue label$7; + }; + } + HEAP32[(0 + 114592 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + return; + } + + function $31($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $25() | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[$4_1 >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + break label$1; + } + $32(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + label$3 : { + label$4 : { + label$5 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + if (!((HEAP32[(0 + 114096 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[(0 + 114096 | 0) >> 2] | 0; + HEAP32[(0 + 114096 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$3; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[(0 + 114096 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[(0 + 114096 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $31_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $31_1 | 0; + } + + function $32($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $41_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[(0 + 114096 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(0 + 114096 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$3; + } + label$5 : { + if (!((HEAP32[(0 + 114096 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(0 + 114096 | 0) >> 2] | 0; + label$6 : while (1) { + $41_1 = 0; + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $41_1 = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!($41_1 & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$6; + } + break label$6; + }; + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + } + } + } + return; + } + + function $33($0_1) { + $0_1 = $0_1 | 0; + HEAP32[((global$0 - 16 | 0) + 12 | 0) >> 2] = $0_1; + return 0 | 0; + } + + function $34($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $3_1 = 0, i64toi32_i32$5 = 0, $42$hi = 0, $48$hi = 0, $52$hi = 0, $53$hi = 0, $56$hi = 0, $61$hi = 0, $67$hi = 0, $68$hi = 0, $71$hi = 0, $45$hi = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $50$hi = 0, $44_1 = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, $49_1 = 0, $58$hi = 0, $65$hi = 0, $50_1 = 0, $51_1 = 0, $53_1 = 0, $28_1 = 0, $54_1 = 0, $55_1 = 0, $56_1 = 0, $72$hi = 0, $73$hi = 0, $76$hi = 0, $57_1 = 0, $58_1 = 0, $59_1 = 0, $78$hi = 0, $79$hi = 0, $102_1 = 0, $118_1 = 0, $52_1 = 0, $138_1 = 0, $159_1 = 0, $22_1 = 0, $163_1 = 0, $167_1 = 0, $67_1 = 0, $188_1 = 0, $72_1 = 0, $205_1 = 0, $208_1 = 0, $233_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = i64toi32_i32$1, wasm2js_i32$1 = $25() | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0)) { + break label$2 + } + i64toi32_i32$0 = -1; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + i64toi32_i32$0 = 0; + $42$hi = i64toi32_i32$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 114112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 114116 | 0) >> 2] | 0; + $102_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $102_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $45$hi = i64toi32_i32$0; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $41_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $42_1 = 0 + } else { + $42_1 = 1 + } + $43_1 = $42_1; + } else { + $43_1 = 0 + } + $41_1 = $43_1; + } + label$3 : { + if (!($41_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $118_1 = i64toi32_i32$2; + i64toi32_i32$2 = i64toi32_i32$3; + HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] = $118_1; + HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + i64toi32_i32$0 = 0; + $48$hi = i64toi32_i32$0; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 114120 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 114124 | 0) >> 2] | 0; + $50$hi = i64toi32_i32$2; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $44_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $45_1 = 0 + } else { + $45_1 = 1 + } + $46_1 = $45_1; + } else { + $46_1 = 0 + } + $44_1 = $46_1; + } + label$4 : { + if (!($44_1 & 1 | 0)) { + break label$4 + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $52_1 = i64toi32_i32$3; + $52$hi = i64toi32_i32$2; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 114120 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 114124 | 0) >> 2] | 0; + $53$hi = i64toi32_i32$3; + i64toi32_i32$3 = $52$hi; + i64toi32_i32$3 = $53$hi; + i64toi32_i32$3 = $52$hi; + i64toi32_i32$3 = $53$hi; + $138_1 = i64toi32_i32$2; + i64toi32_i32$3 = $52$hi; + i64toi32_i32$1 = $52_1; + i64toi32_i32$2 = $53$hi; + i64toi32_i32$0 = $138_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$2 | 0)) { + $47_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0) { + $48_1 = 0 + } else { + $48_1 = 1 + } + $49_1 = $48_1; + } else { + $49_1 = 0 + } + $47_1 = $49_1; + } + label$5 : { + if ($47_1 & 1 | 0) { + break label$5 + } + i64toi32_i32$1 = 0; + $56$hi = i64toi32_i32$1; + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $58$hi = i64toi32_i32$3; + i64toi32_i32$3 = $56$hi; + i64toi32_i32$3 = $58$hi; + i64toi32_i32$3 = $56$hi; + i64toi32_i32$3 = $58$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$2 = 0; + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$4 + } + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 114120 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 114124 | 0) >> 2] | 0; + $159_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $159_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$3; + } + $22_1 = 0; + i64toi32_i32$3 = 0; + $61$hi = i64toi32_i32$3; + i64toi32_i32$2 = $3_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $163_1 = i64toi32_i32$3; + i64toi32_i32$3 = 0; + HEAP32[(i64toi32_i32$3 + 114112 | 0) >> 2] = $163_1; + HEAP32[(i64toi32_i32$3 + 114116 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $35(0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $167_1 = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$2; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $167_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $65$hi = i64toi32_i32$0; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$0 = $65$hi; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$0 = $65$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $61$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$3 | 0)) { + $50_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$1 >>> 0) { + $51_1 = 0 + } else { + $51_1 = 1 + } + $53_1 = $51_1; + } else { + $53_1 = 0 + } + $50_1 = $53_1; + } + $28_1 = $22_1; + label$6 : { + if (!($50_1 & 1 | 0)) { + break label$6 + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $67_1 = i64toi32_i32$2; + $67$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $68$hi = i64toi32_i32$2; + i64toi32_i32$2 = $67$hi; + i64toi32_i32$2 = $68$hi; + i64toi32_i32$2 = $67$hi; + i64toi32_i32$2 = $68$hi; + $188_1 = i64toi32_i32$0; + i64toi32_i32$2 = $67$hi; + i64toi32_i32$1 = $67_1; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$3 = $188_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $54_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 > i64toi32_i32$3 >>> 0) { + $55_1 = 0 + } else { + $55_1 = 1 + } + $56_1 = $55_1; + } else { + $56_1 = 0 + } + $54_1 = $56_1; + } + $28_1 = $54_1; + } + i64toi32_i32$1 = 0; + $71$hi = i64toi32_i32$1; + HEAP32[$3_1 >> 2] = $28_1 & 1 | 0; + HEAP32[(0 + 114128 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$1 = $36() | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $72_1 = i64toi32_i32$1; + $72$hi = i64toi32_i32$2; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $73$hi = i64toi32_i32$1; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $73$hi; + $205_1 = i64toi32_i32$2; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$3 = $72_1; + i64toi32_i32$2 = $73$hi; + i64toi32_i32$0 = $205_1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $208_1 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$3 = $3_1; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = $208_1; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $76$hi = i64toi32_i32$3; + i64toi32_i32$3 = $71$hi; + i64toi32_i32$3 = $76$hi; + i64toi32_i32$3 = $71$hi; + i64toi32_i32$3 = $76$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $71$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$5 | 0)) { + $57_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0) { + $58_1 = 0 + } else { + $58_1 = 1 + } + $59_1 = $58_1; + } else { + $59_1 = 0 + } + $57_1 = $59_1; + } + label$7 : { + if (!($57_1 & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $79$hi = i64toi32_i32$3; + i64toi32_i32$3 = $78$hi; + i64toi32_i32$3 = $79$hi; + i64toi32_i32$3 = $78$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$5 = 2147483647; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $33(i64toi32_i32$0 & i64toi32_i32$5 | 0 | 0) | 0; + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $233_1 = i64toi32_i32$1; + i64toi32_i32$1 = i64toi32_i32$3; + HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] = $233_1; + HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + global$0 = i64toi32_i32$3 + 48 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $35($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[(114016 + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $36() { + var $2_1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + $3_1 = 0; + $2($3_1 | 0, $2_1 + 8 | 0 | 0, $2_1 | 0, $3_1 | 0) | 0; + i64toi32_i32$0 = HEAP32[($2_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + global$0 = $2_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $37($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $3_1 = 0, $23$hi = 0, $29$hi = 0, $30$hi = 0, $33$hi = 0, $26$hi = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $24_1 = 0, $35$hi = 0, $59_1 = 0, $75_1 = 0, $29_1 = 0, $83_1 = 0, $104_1 = 0, $108_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = i64toi32_i32$1, wasm2js_i32$1 = $25() | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0)) { + break label$2 + } + i64toi32_i32$0 = -1; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + i64toi32_i32$0 = 0; + $23$hi = i64toi32_i32$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 114120 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 114124 | 0) >> 2] | 0; + $59_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $59_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$0; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $19_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $20_1 = 0 + } else { + $20_1 = 1 + } + $21_1 = $20_1; + } else { + $21_1 = 0 + } + $19_1 = $21_1; + } + label$3 : { + if (!($19_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $75_1 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + HEAP32[(i64toi32_i32$2 + 114120 | 0) >> 2] = $75_1; + HEAP32[(i64toi32_i32$2 + 114124 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$0; + $29$hi = i64toi32_i32$2; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 114112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 114116 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$0 = $30$hi; + $83_1 = i64toi32_i32$2; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$3 = $29_1; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$1 = $83_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$2 | 0)) { + $22_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $23_1 = 0 + } else { + $23_1 = 1 + } + $24_1 = $23_1; + } else { + $24_1 = 0 + } + $22_1 = $24_1; + } + label$4 : { + label$5 : { + if ($22_1 & 1 | 0) { + break label$5 + } + i64toi32_i32$3 = 0; + $33$hi = i64toi32_i32$3; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 114112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 114116 | 0) >> 2] | 0; + $35$hi = i64toi32_i32$0; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$0 = $35$hi; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$0 = $35$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $33$hi; + i64toi32_i32$2 = 0; + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$4 + } + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $104_1 = i64toi32_i32$1; + i64toi32_i32$1 = 0; + HEAP32[(i64toi32_i32$1 + 114112 | 0) >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 114116 | 0) >> 2] = i64toi32_i32$0; + } + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $108_1 = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$2; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $108_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + global$0 = i64toi32_i32$2 + 32 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $38($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $19_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!($25() | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$4 + } + $14_1 = 0; + break label$3; + } + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $14_1 = $39(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $14_1; + } + $19_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $19_1 | 0; + } + + function $39($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $24$hi = 0, $28$hi = 0, $26$hi = 0, $30$hi = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + $24$hi = i64toi32_i32$0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + label$3 : { + if (((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$3 + } + i64toi32_i32$2 = 0; + $28$hi = i64toi32_i32$2; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $28$hi; + i64toi32_i32$0 = 2147483392; + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + label$5 : { + if (!(HEAP32[(0 + 68368 | 0) >> 2] | 0)) { + break label$5 + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $40(i64toi32_i32$3 | 0, $3_1 + 4 | 0 | 0); + break label$4; + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68400 | 0) >> 2] | 0 | 0](i64toi32_i32$1) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + $21_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $21_1 | 0; + } + + function $40($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $63$hi = 0, $68$hi = 0, i64toi32_i32$6 = 0, $71$hi = 0, $74$hi = 0, $79$hi = 0, $82$hi = 0, $65$hi = 0, $30_1 = 0, $31_1 = 0, $32_1 = 0, $69$hi = 0, $70$hi = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $76$hi = 0, $80$hi = 0, $81$hi = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $122_1 = 0, $68_1 = 0, $69_1 = 0, $133_1 = 0, $169_1 = 0, $79_1 = 0, $80_1 = 0, $180_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $63$hi = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68416 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $46(5 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 114112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 114116 | 0) >> 2] | 0; + $65$hi = i64toi32_i32$1; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $30_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $31_1 = 0 + } else { + $31_1 = 1 + } + $32_1 = $31_1; + } else { + $32_1 = 0 + } + $30_1 = $32_1; + } + label$1 : { + label$2 : { + if (!($30_1 & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = $35(0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $122_1 = i64toi32_i32$2; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $122_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $68_1 = i64toi32_i32$1; + $68$hi = i64toi32_i32$2; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 114112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 114116 | 0) >> 2] | 0; + $69_1 = i64toi32_i32$2; + $69$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $70$hi = i64toi32_i32$1; + i64toi32_i32$1 = $69$hi; + i64toi32_i32$1 = $70$hi; + $133_1 = i64toi32_i32$2; + i64toi32_i32$1 = $69$hi; + i64toi32_i32$3 = $69_1; + i64toi32_i32$2 = $70$hi; + i64toi32_i32$0 = $133_1; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $71$hi = i64toi32_i32$5; + i64toi32_i32$5 = $68$hi; + i64toi32_i32$5 = $71$hi; + i64toi32_i32$5 = $68$hi; + i64toi32_i32$5 = $71$hi; + i64toi32_i32$5 = $68$hi; + i64toi32_i32$1 = $68_1; + i64toi32_i32$3 = $71$hi; + i64toi32_i32$0 = i64toi32_i32$4; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$3 | 0)) { + $33_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + $34_1 = 0 + } else { + $34_1 = 1 + } + $35_1 = $34_1; + } else { + $35_1 = 0 + } + $33_1 = $35_1; + } + label$3 : { + label$4 : { + if (!($33_1 & 1 | 0)) { + break label$4 + } + i64toi32_i32$1 = 0; + $74$hi = i64toi32_i32$1; + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + HEAP32[(0 + 114128 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $47(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 114120 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 114124 | 0) >> 2] | 0; + $76$hi = i64toi32_i32$5; + i64toi32_i32$5 = $74$hi; + i64toi32_i32$5 = $76$hi; + i64toi32_i32$5 = $74$hi; + i64toi32_i32$5 = $76$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$3 = 0; + label$5 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = $35(0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $169_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $169_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$3 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $79_1 = i64toi32_i32$5; + $79$hi = i64toi32_i32$0; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 114120 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 114124 | 0) >> 2] | 0; + $80_1 = i64toi32_i32$0; + $80$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $81$hi = i64toi32_i32$5; + i64toi32_i32$5 = $80$hi; + i64toi32_i32$5 = $81$hi; + $180_1 = i64toi32_i32$0; + i64toi32_i32$5 = $80$hi; + i64toi32_i32$3 = $80_1; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$1 = $180_1; + i64toi32_i32$2 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + $82$hi = i64toi32_i32$4; + i64toi32_i32$4 = $79$hi; + i64toi32_i32$4 = $82$hi; + i64toi32_i32$4 = $79$hi; + i64toi32_i32$4 = $82$hi; + i64toi32_i32$4 = $79$hi; + i64toi32_i32$5 = $79_1; + i64toi32_i32$3 = $82$hi; + i64toi32_i32$1 = i64toi32_i32$2; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$3 | 0)) { + $36_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + $37_1 = 0 + } else { + $37_1 = 1 + } + $38_1 = $37_1; + } else { + $38_1 = 0 + } + $36_1 = $38_1; + } + label$6 : { + if (!($36_1 & 1 | 0)) { + break label$6 + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = 0; + break label$1; + } + } + break label$3; + } + HEAP32[$4_1 >> 2] = 0; + HEAP32[(0 + 114128 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68400 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $16(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $48(0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + $48(9 | 0, 1 | 0); + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $41($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[$3_1 >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!($25() | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $39(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $7_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $42($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!(HEAP32[(0 + 68368 | 0) >> 2] | 0)) { + break label$3 + } + $43(0 | 0, $16(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0); + $43(9 | 0, 1 | 0); + FUNCTION_TABLE[HEAP32[(0 + 68404 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 12 | 0) >> 2] | 0); + break label$1; + } + FUNCTION_TABLE[HEAP32[(0 + 68404 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 12 | 0) >> 2] | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $43($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $10_1 = 114016 + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$10_1 >> 2] = (HEAP32[$10_1 >> 2] | 0) - (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + return; + } + + function $44($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!($25() | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + } + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $45(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $19_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $19_1 | 0; + } + + function $45($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $97$hi = 0, $101$hi = 0, $107$hi = 0, i64toi32_i32$6 = 0, $110$hi = 0, $113$hi = 0, $117$hi = 0, $120$hi = 0, $99$hi = 0, $103$hi = 0, $107_1 = 0, $108$hi = 0, $109$hi = 0, $32_1 = 0, $33_1 = 0, $34_1 = 0, $115$hi = 0, $35_1 = 0, $36_1 = 0, $37_1 = 0, $118$hi = 0, $119$hi = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $108_1 = 0, $259_1 = 0, $117_1 = 0, $118_1 = 0, $296_1 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $39(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$1 = 0; + $97$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $99$hi = i64toi32_i32$0; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$0 = $99$hi; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$0 = $99$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$3 = 0; + label$3 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$3 + } + $42(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$2 = 0; + $101$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $103$hi = i64toi32_i32$0; + i64toi32_i32$0 = $101$hi; + i64toi32_i32$0 = $103$hi; + i64toi32_i32$0 = $101$hi; + i64toi32_i32$0 = $103$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $101$hi; + i64toi32_i32$1 = 2147483392; + label$4 : { + if (!((i64toi32_i32$0 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $16(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68416 | 0) >> 2] | 0 | 0](i64toi32_i32$3) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + break label$5; + } + label$7 : { + label$8 : { + if (!(HEAP32[(0 + 68368 | 0) >> 2] | 0)) { + break label$8 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $46(5 | 0, i64toi32_i32$0 | 0); + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) - (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0; + label$9 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$3 = $35(0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $107_1 = i64toi32_i32$3; + $107$hi = i64toi32_i32$0; + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $107_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 114112 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 114116 | 0) >> 2] | 0; + $108_1 = i64toi32_i32$0; + $108$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$0 >> 31 | 0; + $109$hi = i64toi32_i32$3; + i64toi32_i32$3 = $108$hi; + i64toi32_i32$3 = $109$hi; + $259_1 = i64toi32_i32$0; + i64toi32_i32$3 = $108$hi; + i64toi32_i32$1 = $108_1; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$2 = $259_1; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + $110$hi = i64toi32_i32$5; + i64toi32_i32$5 = $107$hi; + i64toi32_i32$5 = $110$hi; + i64toi32_i32$5 = $107$hi; + i64toi32_i32$5 = $110$hi; + i64toi32_i32$5 = $107$hi; + i64toi32_i32$3 = $107_1; + i64toi32_i32$1 = $110$hi; + i64toi32_i32$2 = i64toi32_i32$4; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$1 | 0)) { + $32_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + $33_1 = 0 + } else { + $33_1 = 1 + } + $34_1 = $33_1; + } else { + $34_1 = 0 + } + $32_1 = $34_1; + } + if (!($32_1 & 1 | 0)) { + break label$9 + } + i64toi32_i32$3 = 0; + $113$hi = i64toi32_i32$3; + $47(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 114120 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 114124 | 0) >> 2] | 0; + $115$hi = i64toi32_i32$5; + i64toi32_i32$5 = $113$hi; + i64toi32_i32$5 = $115$hi; + i64toi32_i32$5 = $113$hi; + i64toi32_i32$5 = $115$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $113$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$3 | 0)) { + $35_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$1 >>> 0) { + $36_1 = 0 + } else { + $36_1 = 1 + } + $37_1 = $36_1; + } else { + $37_1 = 0 + } + $35_1 = $37_1; + } + label$10 : { + if (!($35_1 & 1 | 0)) { + break label$10 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $117_1 = i64toi32_i32$2; + $117$hi = i64toi32_i32$5; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 114120 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 114124 | 0) >> 2] | 0; + $118_1 = i64toi32_i32$5; + $118$hi = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $119$hi = i64toi32_i32$2; + i64toi32_i32$2 = $118$hi; + i64toi32_i32$2 = $119$hi; + $296_1 = i64toi32_i32$5; + i64toi32_i32$2 = $118$hi; + i64toi32_i32$1 = $118_1; + i64toi32_i32$5 = $119$hi; + i64toi32_i32$3 = $296_1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $120$hi = i64toi32_i32$4; + i64toi32_i32$4 = $117$hi; + i64toi32_i32$4 = $120$hi; + i64toi32_i32$4 = $117$hi; + i64toi32_i32$4 = $120$hi; + i64toi32_i32$4 = $117$hi; + i64toi32_i32$2 = $117_1; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$3 = i64toi32_i32$0; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$1 | 0)) { + $38_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $39_1 = 0 + } else { + $39_1 = 1 + } + $40_1 = $39_1; + } else { + $40_1 = 0 + } + $38_1 = $40_1; + } + if (!($38_1 & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68408 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 40 | 0) >> 2] | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $16(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $48(0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) - (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0 | 0); + } + break label$7; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68408 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 40 | 0) >> 2] | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $93_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $93_1 | 0; + } + + function $46($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 > (HEAP32[((114016 + 40 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[((114016 + 40 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + return; + } + + function $47($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $3_1 = 0, i64toi32_i32$2 = 0, $11$hi = 0, $13$hi = 0, $8_1 = 0, $9_1 = 0, $10_1 = 0, i64toi32_i32$3 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + $11$hi = i64toi32_i32$0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 114112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 114116 | 0) >> 2] | 0; + $13$hi = i64toi32_i32$1; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $8_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $9_1 = 0 + } else { + $9_1 = 1 + } + $10_1 = $9_1; + } else { + $10_1 = 0 + } + $8_1 = $10_1; + } + label$1 : { + label$2 : { + if (!($8_1 & 1 | 0)) { + break label$2 + } + break label$1; + } + $33(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $48($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $12_1 = 0, $30_1 = 0; + $4_1 = global$0 - 16 | 0; + $5_1 = 114016; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $12_1 = $5_1 + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$12_1 >> 2] = (HEAP32[$12_1 >> 2] | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + label$1 : { + if (!((HEAP32[($5_1 + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 > (HEAP32[(($5_1 + 40 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + $30_1 = 114016; + HEAP32[(($30_1 + 40 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($30_1 + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + return; + } + + function $49($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $9_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!($25() | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $45(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $9_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $50($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $76_1 = 0, $419_1 = 0, $420_1 = 0, $421_1 = 0, $6_1 = 0, $2295$hi = 0, $2310$hi = 0, $2325$hi = 0, $2339$hi = 0, $881_1 = 0, $1148_1 = 0, $2468$hi = 0, $15_1 = 0, $22_1 = 0, $24_1 = 0, $39_1 = 0, $42_1 = 0, $46_1 = 0, $62_1 = 0, $65_1 = 0, $69_1 = 0, $71_1 = 0, $80_1 = 0, $92_1 = 0, $96_1 = 0, $106_1 = 0, $110_1 = 0, $119_1 = 0, $123_1 = 0, $125_1 = 0, $131_1 = 0, $179_1 = 0, $201_1 = 0, $207_1 = 0, $209_1 = 0, $223_1 = 0, $227_1 = 0, $231_1 = 0, $235_1 = 0, $255_1 = 0, $276_1 = 0, $279_1 = 0, $283_1 = 0, $295_1 = 0, $311_1 = 0, $315_1 = 0, $342_1 = 0, $344_1 = 0, $348_1 = 0, $350_1 = 0, $374_1 = 0, $392_1 = 0, $434_1 = 0, $437_1 = 0, $442_1 = 0, $2297$hi = 0, $422_1 = 0, $423_1 = 0, $424_1 = 0, $2299$hi = 0, $2300$hi = 0, $2302$hi = 0, $2303$hi = 0, $484_1 = 0, $487_1 = 0, $492_1 = 0, $2312$hi = 0, $509_1 = 0, $526_1 = 0, $2314$hi = 0, $2315$hi = 0, $2317$hi = 0, $563_1 = 0, $2322$hi = 0, $2323$hi = 0, $2326$hi = 0, $2327$hi = 0, $2328$hi = 0, $2329$hi = 0, $2331$hi = 0, $605_1 = 0, $612_1 = 0, $2333$hi = 0, $2334$hi = 0, $630_1 = 0, $2336$hi = 0, $2337$hi = 0, $2341$hi = 0, $654_1 = 0, $667_1 = 0, $709_1 = 0, $729_1 = 0, $744_1 = 0, $745_1 = 0, $751_1 = 0, $780_1 = 0, $781_1 = 0, $2347$hi = 0, $2348$hi = 0, $2349_1 = 0, $2349$hi = 0, $2350$hi = 0, $2351$hi = 0, $2353$hi = 0, $2356$hi = 0, $2357$hi = 0, $425_1 = 0, $2358$hi = 0, $2359$hi = 0, $2361$hi = 0, $2362$hi = 0, $2363$hi = 0, $2364$hi = 0, $2365$hi = 0, $2366$hi = 0, $2367$hi = 0, $2369$hi = 0, $897_1 = 0, $2371$hi = 0, $2372$hi = 0, $2373$hi = 0, $2377$hi = 0, $2379$hi = 0, $2380$hi = 0, $2381_1 = 0, $2381$hi = 0, $2384$hi = 0, $2385$hi = 0, $2386$hi = 0, $2387$hi = 0, $2388$hi = 0, $2389$hi = 0, $2390$hi = 0, $2391$hi = 0, $925_1 = 0, $2392$hi = 0, $2393$hi = 0, $2394$hi = 0, $2395$hi = 0, $2398$hi = 0, $2399$hi = 0, $2400$hi = 0, $2401$hi = 0, $2402$hi = 0, $2403$hi = 0, $2404$hi = 0, $2405$hi = 0, $949_1 = 0, $2406$hi = 0, $2407$hi = 0, $2408$hi = 0, $2409$hi = 0, $2412$hi = 0, $2413$hi = 0, $2414$hi = 0, $2415$hi = 0, $2416$hi = 0, $2417$hi = 0, $2418$hi = 0, $2419$hi = 0, $975_1 = 0, $2420$hi = 0, $2421$hi = 0, $2422$hi = 0, $2423$hi = 0, $2426$hi = 0, $2427$hi = 0, $2428$hi = 0, $2432$hi = 0, $2433$hi = 0, $2434$hi = 0, $2435$hi = 0, $2436$hi = 0, $2437$hi = 0, $2438$hi = 0, $2439$hi = 0, $2442$hi = 0, $2443$hi = 0, $2444$hi = 0, $2445$hi = 0, $2446$hi = 0, $2447$hi = 0, $2448$hi = 0, $2449$hi = 0, $1026_1 = 0, $1029_1 = 0, $1032_1 = 0, $1044_1 = 0, $1068_1 = 0, $2452$hi = 0, $2453$hi = 0, $2454$hi = 0, $2458$hi = 0, $2459$hi = 0, $2460$hi = 0, $2461$hi = 0, $2462$hi = 0, $2463$hi = 0, $2464$hi = 0, $2465$hi = 0, $2469$hi = 0, $2470$hi = 0, $2471$hi = 0, $2472$hi = 0, $2473$hi = 0, $2474$hi = 0, $2477$hi = 0, $426_1 = 0, $427_1 = 0, $428_1 = 0, $1161_1 = 0, $1170_1 = 0, $1203_1 = 0, $1214_1 = 0, $1231_1 = 0, $1247_1 = 0, $1261_1 = 0, $1271_1 = 0, $1286_1 = 0, $1300_1 = 0, $1311_1 = 0, $1317_1 = 0, $1335_1 = 0, $1341_1 = 0, $1357_1 = 0, $1368_1 = 0, $1374_1 = 0, $1389_1 = 0, $1400_1 = 0, $1408_1 = 0, $1461_1 = 0, $1469_1 = 0, $1474_1 = 0, $1490_1 = 0, $1494_1 = 0, $1520_1 = 0, $1524_1 = 0, $1526_1 = 0, $1543_1 = 0, $1547_1 = 0, $1561_1 = 0, $1565_1 = 0, $1571_1 = 0, $1711_1 = 0, $1715_1 = 0, $1744_1 = 0, $1794_1 = 0, $1820_1 = 0, $1828_1 = 0, $1841_1 = 0, $1879_1 = 0, $1885_1 = 0, $1924_1 = 0, $1948_1 = 0, $1952_1 = 0, $1957_1 = 0, $1958_1 = 0, $1968_1 = 0, $1972_1 = 0, $1988_1 = 0, $2005_1 = 0, $2026_1 = 0, $2053_1 = 0, $2067_1 = 0, $2083_1 = 0, $2085_1 = 0, $2090_1 = 0, $2094_1 = 0, $2104_1 = 0, $2114_1 = 0, $2130_1 = 0, $2147_1 = 0, $2155_1 = 0, $2159_1 = 0, $2183_1 = 0, $2211_1 = 0, $2216_1 = 0, $2251_1 = 0, $2269_1 = 0, $3343_1 = 0, $3391 = 0, $3405 = 0, $3419 = 0, $450_1 = 0, $3438 = 0, $3451 = 0, $3477 = 0, $3525 = 0, $546_1 = 0, $2317_1 = 0, $3689$hi = 0, $429_1 = 0, $430_1 = 0, $431_1 = 0, $602_1 = 0, $609_1 = 0, $621_1 = 0, $432_1 = 0, $627_1 = 0, $433_1 = 0, $3886 = 0, $705_1 = 0, $706_1 = 0, $726_1 = 0, $748_1 = 0, $2343_1 = 0, $2343$hi = 0, $2344_1 = 0, $2344$hi = 0, $2345_1 = 0, $2345$hi = 0, $2346_1 = 0, $2346$hi = 0, $2347_1 = 0, $435_1 = 0, $4300 = 0, $859_1 = 0, $2353_1 = 0, $4416$hi = 0, $436_1 = 0, $4424 = 0, $2361_1 = 0, $438_1 = 0, $2365_1 = 0, $2366_1 = 0, $2367_1 = 0, $4503$hi = 0, $439_1 = 0, $2369_1 = 0, $4517$hi = 0, $440_1 = 0, $2371_1 = 0, $2372_1 = 0, $2373_1 = 0, $4547$hi = 0, $441_1 = 0, $2375_1 = 0, $2375$hi = 0, $2376_1 = 0, $2376$hi = 0, $2377_1 = 0, $4571$hi = 0, $443_1 = 0, $2379_1 = 0, $444_1 = 0, $2384_1 = 0, $2385_1 = 0, $2386_1 = 0, $445_1 = 0, $2390_1 = 0, $4628 = 0, $2392_1 = 0, $446_1 = 0, $2396_1 = 0, $2396$hi = 0, $2397_1 = 0, $2397$hi = 0, $2398_1 = 0, $2399_1 = 0, $2400_1 = 0, $447_1 = 0, $2404_1 = 0, $4706 = 0, $2406_1 = 0, $448_1 = 0, $2410_1 = 0, $2410$hi = 0, $2411_1 = 0, $2411$hi = 0, $2412_1 = 0, $2413_1 = 0, $2414_1 = 0, $449_1 = 0, $2418_1 = 0, $4787 = 0, $2420_1 = 0, $451_1 = 0, $2424_1 = 0, $2424$hi = 0, $2425_1 = 0, $2425$hi = 0, $2426_1 = 0, $2427_1 = 0, $2428_1 = 0, $4855$hi = 0, $452_1 = 0, $2430_1 = 0, $2430$hi = 0, $2431_1 = 0, $2431$hi = 0, $2432_1 = 0, $453_1 = 0, $2436_1 = 0, $454_1 = 0, $2440_1 = 0, $2440$hi = 0, $2441_1 = 0, $2441$hi = 0, $2442_1 = 0, $455_1 = 0, $2446_1 = 0, $456_1 = 0, $2450_1 = 0, $2450$hi = 0, $2451_1 = 0, $2451$hi = 0, $2452_1 = 0, $2453_1 = 0, $2454_1 = 0, $5076$hi = 0, $457_1 = 0, $2456_1 = 0, $2456$hi = 0, $2457_1 = 0, $2457$hi = 0, $2458_1 = 0, $458_1 = 0, $2462_1 = 0, $459_1 = 0, $2466_1 = 0, $2466$hi = 0, $2467_1 = 0, $2467$hi = 0, $2468_1 = 0, $5264 = 0, $5272 = 0, $1202_1 = 0, $1230_1 = 0, $1285_1 = 0, $1356_1 = 0, $1388_1 = 0, $1399_1 = 0, $1407_1 = 0, $1473_1 = 0, $1489_1 = 0, $1564_1 = 0, $1787_1 = 0, $1792_1 = 0, $2065_1 = 0, $2066_1 = 0, $2084_1 = 0, $2102_1 = 0, $2103_1 = 0, $2112_1 = 0, $2113_1 = 0, $2210_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 688 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 684 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 680 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 676 | 0) >> 2] = $2_1; + HEAP8[($5_1 + 643 | 0) >> 0] = 17; + HEAP32[($5_1 + 592 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 560 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 668 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$2 + } + $15_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $15_1 + 4 | 0; + HEAP32[($5_1 + 560 | 0) >> 2] = HEAP32[$15_1 >> 2] | 0; + HEAP8[($5_1 + 642 | 0) >> 0] = 1; + break label$1; + } + HEAP8[($5_1 + 642 | 0) >> 0] = 0; + } + label$3 : while (1) { + $22_1 = 24; + $24_1 = ((HEAPU8[(HEAP32[($5_1 + 680 | 0) >> 2] | 0) >> 0] | 0) << $22_1 | 0) >> $22_1 | 0; + HEAP32[($5_1 + 672 | 0) >> 2] = $24_1; + label$4 : { + label$5 : { + label$6 : { + if (!$24_1) { + break label$6 + } + label$7 : { + if (!((HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) != (37 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 668 | 0) >> 2] = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + label$8 : while (1) { + HEAP32[($5_1 + 680 | 0) >> 2] = (HEAP32[($5_1 + 680 | 0) >> 2] | 0) + 1 | 0; + $39_1 = 24; + $42_1 = 0; + label$9 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 680 | 0) >> 2] | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0)) { + break label$9 + } + $46_1 = 24; + $42_1 = (((HEAPU8[(HEAP32[($5_1 + 680 | 0) >> 2] | 0) >> 0] | 0) << $46_1 | 0) >> $46_1 | 0 | 0) != (37 | 0); + } + if ($42_1 & 1 | 0) { + continue label$8 + } + break label$8; + }; + $51(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 680 | 0) >> 2] | 0) - (HEAP32[($5_1 + 668 | 0) >> 2] | 0) | 0 | 0); + $62_1 = 24; + label$10 : { + if (((HEAPU8[(HEAP32[($5_1 + 680 | 0) >> 2] | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0) { + break label$10 + } + break label$6; + } + } + $65_1 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + HEAP32[($5_1 + 680 | 0) >> 2] = $65_1 + 1 | 0; + $69_1 = 24; + $71_1 = ((HEAPU8[($65_1 + 1 | 0) >> 0] | 0) << $69_1 | 0) >> $69_1 | 0; + HEAP32[($5_1 + 672 | 0) >> 2] = $71_1; + label$11 : { + if ($71_1) { + break label$11 + } + $51(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, 1046 | 0, 1 | 0); + break label$6; + } + $76_1 = 0; + HEAP8[($5_1 + 647 | 0) >> 0] = $76_1; + HEAP8[($5_1 + 648 | 0) >> 0] = $76_1; + HEAP8[($5_1 + 649 | 0) >> 0] = $76_1; + HEAP8[($5_1 + 644 | 0) >> 0] = $76_1; + HEAP8[($5_1 + 650 | 0) >> 0] = $76_1; + HEAP8[($5_1 + 651 | 0) >> 0] = $76_1; + HEAP8[($5_1 + 645 | 0) >> 0] = $76_1; + HEAP32[($5_1 + 652 | 0) >> 2] = 0; + HEAP8[($5_1 + 646 | 0) >> 0] = $76_1; + HEAP32[($5_1 + 664 | 0) >> 2] = -1; + label$12 : while (1) { + $80_1 = (HEAP32[($5_1 + 672 | 0) >> 2] | 0) + -32 | 0; + label$13 : { + label$14 : { + switch ($80_1 | 0) { + case 13: + HEAP8[($5_1 + 651 | 0) >> 0] = 1; + break label$13; + case 11: + HEAP8[($5_1 + 650 | 0) >> 0] = 43; + break label$13; + case 0: + HEAP8[($5_1 + 650 | 0) >> 0] = 32; + break label$13; + case 3: + HEAP8[($5_1 + 649 | 0) >> 0] = 1; + break label$13; + case 1: + HEAP8[($5_1 + 648 | 0) >> 0] = 1; + break label$13; + case 16: + HEAP8[($5_1 + 647 | 0) >> 0] = 1; + break label$13; + case 12: + HEAP8[($5_1 + 644 | 0) >> 0] = 44; + break label$13; + default: + HEAP8[($5_1 + 645 | 0) >> 0] = 1; + break label$13; + case 76: + HEAP8[($5_1 + 646 | 0) >> 0] = 1; + $92_1 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + HEAP32[($5_1 + 680 | 0) >> 2] = $92_1 + 1 | 0; + $96_1 = 24; + HEAP32[($5_1 + 672 | 0) >> 2] = ((HEAPU8[($92_1 + 1 | 0) >> 0] | 0) << $96_1 | 0) >> $96_1 | 0; + label$26 : { + if (!((HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) == (108 | 0) & 1 | 0)) { + break label$26 + } + $106_1 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + HEAP32[($5_1 + 680 | 0) >> 2] = $106_1 + 1 | 0; + $110_1 = 24; + HEAP32[($5_1 + 672 | 0) >> 2] = ((HEAPU8[($106_1 + 1 | 0) >> 0] | 0) << $110_1 | 0) >> $110_1 | 0; + HEAP8[($5_1 + 646 | 0) >> 0] = 2; + } + HEAP8[($5_1 + 645 | 0) >> 0] = 1; + break label$13; + case 17: + case 18: + case 19: + case 20: + case 21: + case 22: + case 23: + case 24: + case 25: + HEAP32[($5_1 + 476 | 0) >> 2] = (HEAP32[($5_1 + 672 | 0) >> 2] | 0) - 48 | 0; + label$27 : while (1) { + $119_1 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + HEAP32[($5_1 + 680 | 0) >> 2] = $119_1 + 1 | 0; + $123_1 = 24; + $125_1 = ((HEAPU8[($119_1 + 1 | 0) >> 0] | 0) << $123_1 | 0) >> $123_1 | 0; + HEAP32[($5_1 + 672 | 0) >> 2] = $125_1; + $131_1 = 0; + label$28 : { + if (!(($125_1 | 0) >= (48 | 0) & 1 | 0)) { + break label$28 + } + $131_1 = (HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) <= (57 | 0); + } + label$29 : { + if (!($131_1 & 1 | 0)) { + break label$29 + } + HEAP32[($5_1 + 476 | 0) >> 2] = (Math_imul(HEAP32[($5_1 + 476 | 0) >> 2] | 0, 10) + (HEAP32[($5_1 + 672 | 0) >> 2] | 0) | 0) - 48 | 0; + continue label$27; + } + break label$27; + }; + HEAP32[($5_1 + 652 | 0) >> 2] = (HEAP32[($5_1 + 476 | 0) >> 2] | 0) & 2147483647 | 0; + label$30 : { + label$31 : { + if (!((HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) != (46 | 0) & 1 | 0)) { + break label$31 + } + if (!((HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) != (108 | 0) & 1 | 0)) { + break label$31 + } + HEAP8[($5_1 + 645 | 0) >> 0] = 1; + break label$30; + } + HEAP32[($5_1 + 680 | 0) >> 2] = (HEAP32[($5_1 + 680 | 0) >> 2] | 0) + -1 | 0; + } + break label$13; + case 10: + label$32 : { + label$33 : { + if (!(((HEAPU8[($5_1 + 642 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$33 + } + i64toi32_i32$0 = $52(HEAP32[($5_1 + 560 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + HEAP32[($5_1 + 652 | 0) >> 2] = i64toi32_i32$0; + break label$32; + } + $179_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $179_1 + 4 | 0; + HEAP32[($5_1 + 652 | 0) >> 2] = HEAP32[$179_1 >> 2] | 0; + } + label$34 : { + if (!((HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$34 + } + HEAP8[($5_1 + 651 | 0) >> 0] = 1; + label$35 : { + label$36 : { + if (!((HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0) >= (-2147483647 | 0) & 1 | 0)) { + break label$36 + } + $201_1 = 0 - (HEAP32[($5_1 + 652 | 0) >> 2] | 0) | 0; + break label$35; + } + $201_1 = 0; + } + HEAP32[($5_1 + 652 | 0) >> 2] = $201_1; + } + $207_1 = 24; + $209_1 = ((HEAPU8[((HEAP32[($5_1 + 680 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $207_1 | 0) >> $207_1 | 0; + HEAP32[($5_1 + 672 | 0) >> 2] = $209_1; + label$37 : { + if (!(($209_1 | 0) != (46 | 0) & 1 | 0)) { + break label$37 + } + if (!((HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) != (108 | 0) & 1 | 0)) { + break label$37 + } + $223_1 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + HEAP32[($5_1 + 680 | 0) >> 2] = $223_1 + 1 | 0; + $227_1 = 24; + HEAP32[($5_1 + 672 | 0) >> 2] = ((HEAPU8[($223_1 + 1 | 0) >> 0] | 0) << $227_1 | 0) >> $227_1 | 0; + HEAP8[($5_1 + 645 | 0) >> 0] = 1; + } + break label$13; + case 14: + break label$14; + }; + } + $231_1 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + HEAP32[($5_1 + 680 | 0) >> 2] = $231_1 + 1 | 0; + $235_1 = 24; + HEAP32[($5_1 + 672 | 0) >> 2] = ((HEAPU8[($231_1 + 1 | 0) >> 0] | 0) << $235_1 | 0) >> $235_1 | 0; + label$38 : { + label$39 : { + if (!((HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) == (42 | 0) & 1 | 0)) { + break label$39 + } + label$40 : { + label$41 : { + if (!(((HEAPU8[($5_1 + 642 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$41 + } + i64toi32_i32$1 = $52(HEAP32[($5_1 + 560 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + HEAP32[($5_1 + 664 | 0) >> 2] = i64toi32_i32$1; + break label$40; + } + $255_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $255_1 + 4 | 0; + HEAP32[($5_1 + 664 | 0) >> 2] = HEAP32[$255_1 >> 2] | 0; + } + label$42 : { + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$42 + } + label$43 : { + label$44 : { + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) >= (-2147483647 | 0) & 1 | 0)) { + break label$44 + } + $276_1 = 0 - (HEAP32[($5_1 + 664 | 0) >> 2] | 0) | 0; + break label$43; + } + $276_1 = -1; + } + HEAP32[($5_1 + 664 | 0) >> 2] = $276_1; + } + $279_1 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + HEAP32[($5_1 + 680 | 0) >> 2] = $279_1 + 1 | 0; + $283_1 = 24; + HEAP32[($5_1 + 672 | 0) >> 2] = ((HEAPU8[($279_1 + 1 | 0) >> 0] | 0) << $283_1 | 0) >> $283_1 | 0; + break label$38; + } + HEAP32[($5_1 + 472 | 0) >> 2] = 0; + label$45 : while (1) { + $295_1 = 0; + label$46 : { + if (!((HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$46 + } + $295_1 = (HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) <= (57 | 0); + } + label$47 : { + if (!($295_1 & 1 | 0)) { + break label$47 + } + HEAP32[($5_1 + 472 | 0) >> 2] = (Math_imul(HEAP32[($5_1 + 472 | 0) >> 2] | 0, 10) + (HEAP32[($5_1 + 672 | 0) >> 2] | 0) | 0) - 48 | 0; + $311_1 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + HEAP32[($5_1 + 680 | 0) >> 2] = $311_1 + 1 | 0; + $315_1 = 24; + HEAP32[($5_1 + 672 | 0) >> 2] = ((HEAPU8[($311_1 + 1 | 0) >> 0] | 0) << $315_1 | 0) >> $315_1 | 0; + continue label$45; + } + break label$45; + }; + HEAP32[($5_1 + 664 | 0) >> 2] = (HEAP32[($5_1 + 472 | 0) >> 2] | 0) & 2147483647 | 0; + } + label$48 : { + label$49 : { + if (!((HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) == (108 | 0) & 1 | 0)) { + break label$49 + } + HEAP32[($5_1 + 680 | 0) >> 2] = (HEAP32[($5_1 + 680 | 0) >> 2] | 0) + -1 | 0; + break label$48; + } + HEAP8[($5_1 + 645 | 0) >> 0] = 1; + } + } + $342_1 = 0; + label$50 : { + if (((HEAPU8[($5_1 + 645 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$50 + } + $344_1 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + HEAP32[($5_1 + 680 | 0) >> 2] = $344_1 + 1 | 0; + $348_1 = 24; + $350_1 = ((HEAPU8[($344_1 + 1 | 0) >> 0] | 0) << $348_1 | 0) >> $348_1 | 0; + HEAP32[($5_1 + 672 | 0) >> 2] = $350_1; + $342_1 = ($350_1 | 0) != (0 | 0); + } + if ($342_1 & 1 | 0) { + continue label$12 + } + break label$12; + }; + HEAP32[($5_1 + 604 | 0) >> 2] = 1056; + HEAP8[($5_1 + 643 | 0) >> 0] = 17; + HEAP32[($5_1 + 656 | 0) >> 2] = 0; + label$51 : { + label$52 : while (1) { + if (!((HEAP32[($5_1 + 656 | 0) >> 2] | 0 | 0) < (23 | 0) & 1 | 0)) { + break label$51 + } + $374_1 = 24; + label$53 : { + if (!((HEAP32[($5_1 + 672 | 0) >> 2] | 0 | 0) == (((HEAPU8[(1056 + Math_imul(HEAP32[($5_1 + 656 | 0) >> 2] | 0, 6) | 0) >> 0] | 0) << $374_1 | 0) >> $374_1 | 0 | 0) & 1 | 0)) { + break label$53 + } + HEAP32[($5_1 + 604 | 0) >> 2] = 1056 + Math_imul(HEAP32[($5_1 + 656 | 0) >> 2] | 0, 6) | 0; + HEAP8[($5_1 + 643 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 604 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0; + break label$51; + } + HEAP32[($5_1 + 656 | 0) >> 2] = (HEAP32[($5_1 + 656 | 0) >> 2] | 0) + 1 | 0; + continue label$52; + }; + } + $392_1 = HEAPU8[($5_1 + 643 | 0) >> 0] | 0; + label$54 : { + switch ($392_1 | 0) { + case 13: + HEAP8[($5_1 + 646 | 0) >> 0] = 1; + case 0: + case 15: + HEAP8[($5_1 + 644 | 0) >> 0] = 0; + case 16: + label$66 : { + label$67 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 604 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$67 + } + label$68 : { + label$69 : { + if (!(((HEAPU8[($5_1 + 642 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$69 + } + i64toi32_i32$0 = $52(HEAP32[($5_1 + 560 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $3343_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 464 | 0) >> 2] = $3343_1; + HEAP32[($5_1 + 468 | 0) >> 2] = i64toi32_i32$1; + break label$68; + } + label$70 : { + label$71 : { + if (!(((HEAPU8[($5_1 + 646 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$71 + } + label$72 : { + label$73 : { + if (!(((HEAPU8[($5_1 + 646 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$73 + } + $434_1 = ((HEAP32[($5_1 + 676 | 0) >> 2] | 0) + 7 | 0) & -8 | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $434_1 + 8 | 0; + i64toi32_i32$2 = $434_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3391 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 464 | 0) >> 2] = $3391; + HEAP32[($5_1 + 468 | 0) >> 2] = i64toi32_i32$0; + break label$72; + } + $437_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $437_1 + 4 | 0; + i64toi32_i32$1 = HEAP32[$437_1 >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $3405 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 464 | 0) >> 2] = $3405; + HEAP32[($5_1 + 468 | 0) >> 2] = i64toi32_i32$0; + } + break label$70; + } + $442_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $442_1 + 4 | 0; + i64toi32_i32$1 = HEAP32[$442_1 >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $3419 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 464 | 0) >> 2] = $3419; + HEAP32[($5_1 + 468 | 0) >> 2] = i64toi32_i32$0; + } + } + i64toi32_i32$0 = 0; + $2295$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 464 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 468 | 0) >> 2] | 0; + $2297$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2295$hi; + i64toi32_i32$1 = $2297$hi; + i64toi32_i32$1 = $2295$hi; + i64toi32_i32$1 = $2297$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $2295$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $422_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $423_1 = 0 + } else { + $423_1 = 1 + } + $424_1 = $423_1; + } else { + $424_1 = 0 + } + $422_1 = $424_1; + } + label$74 : { + label$75 : { + if (!($422_1 & 1 | 0)) { + break label$75 + } + $450_1 = 45; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 464 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 468 | 0) >> 2] | 0; + $2299$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $2300$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2299$hi; + i64toi32_i32$1 = $2300$hi; + i64toi32_i32$1 = $2299$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $2300$hi; + i64toi32_i32$0 = -1; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + $3438 = i64toi32_i32$3 ^ i64toi32_i32$0 | 0; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 632 | 0) >> 2] = $3438; + HEAP32[($5_1 + 636 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 632 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 636 | 0) >> 2] | 0; + $2302$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $2303$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2302$hi; + i64toi32_i32$3 = $2303$hi; + i64toi32_i32$3 = $2302$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $2303$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 632 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 636 | 0) >> 2] = i64toi32_i32$5; + HEAP8[($5_1 + 641 | 0) >> 0] = $450_1; + break label$74; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 464 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 468 | 0) >> 2] | 0; + $3451 = i64toi32_i32$5; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 632 | 0) >> 2] = $3451; + HEAP32[($5_1 + 636 | 0) >> 2] = i64toi32_i32$1; + HEAP8[($5_1 + 641 | 0) >> 0] = HEAPU8[($5_1 + 650 | 0) >> 0] | 0; + } + break label$66; + } + label$76 : { + label$77 : { + if (!(((HEAPU8[($5_1 + 642 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$77 + } + i64toi32_i32$1 = $52(HEAP32[($5_1 + 560 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $3477 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 632 | 0) >> 2] = $3477; + HEAP32[($5_1 + 636 | 0) >> 2] = i64toi32_i32$5; + break label$76; + } + label$78 : { + label$79 : { + if (!(((HEAPU8[($5_1 + 646 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$79 + } + label$80 : { + label$81 : { + if (!(((HEAPU8[($5_1 + 646 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$81 + } + $484_1 = ((HEAP32[($5_1 + 676 | 0) >> 2] | 0) + 7 | 0) & -8 | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $484_1 + 8 | 0; + i64toi32_i32$3 = $484_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $3525 = i64toi32_i32$5; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 632 | 0) >> 2] = $3525; + HEAP32[($5_1 + 636 | 0) >> 2] = i64toi32_i32$1; + break label$80; + } + $487_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $487_1 + 4 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 632 | 0) >> 2] = HEAP32[$487_1 >> 2] | 0; + HEAP32[($5_1 + 636 | 0) >> 2] = i64toi32_i32$1; + } + break label$78; + } + $492_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $492_1 + 4 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 632 | 0) >> 2] = HEAP32[$492_1 >> 2] | 0; + HEAP32[($5_1 + 636 | 0) >> 2] = i64toi32_i32$1; + } + } + HEAP8[($5_1 + 641 | 0) >> 0] = 0; + } + i64toi32_i32$1 = 0; + $2310$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 632 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 636 | 0) >> 2] | 0; + $2312$hi = i64toi32_i32$5; + i64toi32_i32$5 = $2310$hi; + i64toi32_i32$5 = $2312$hi; + i64toi32_i32$5 = $2310$hi; + i64toi32_i32$5 = $2312$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $2310$hi; + i64toi32_i32$0 = 0; + label$82 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$82 + } + HEAP8[($5_1 + 649 | 0) >> 0] = 0; + } + label$83 : { + if (!((HEAPU8[($5_1 + 647 | 0) >> 0] | 0) & 255 | 0)) { + break label$83 + } + $509_1 = 24; + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) < ((HEAP32[($5_1 + 652 | 0) >> 2] | 0) - ((((HEAPU8[($5_1 + 641 | 0) >> 0] | 0) << $509_1 | 0) >> $509_1 | 0 | 0) != (0 | 0) & 1 | 0) | 0 | 0) & 1 | 0)) { + break label$83 + } + $526_1 = 24; + HEAP32[($5_1 + 664 | 0) >> 2] = (HEAP32[($5_1 + 652 | 0) >> 2] | 0) - ((((HEAPU8[($5_1 + 641 | 0) >> 0] | 0) << $526_1 | 0) >> $526_1 | 0 | 0) != (0 | 0) & 1 | 0) | 0; + } + label$84 : { + label$85 : { + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) < (37 | 0) & 1 | 0)) { + break label$85 + } + HEAP32[($5_1 + 596 | 0) >> 2] = 70; + HEAP32[($5_1 + 600 | 0) >> 2] = $5_1 + 480 | 0; + break label$84; + } + $546_1 = 0; + i64toi32_i32$5 = HEAP32[($5_1 + 664 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$5 >> 31 | 0; + $2314$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $2315$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2314$hi; + i64toi32_i32$3 = $2315$hi; + i64toi32_i32$3 = $2314$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $2315$hi; + i64toi32_i32$1 = 10; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 456 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 460 | 0) >> 2] = i64toi32_i32$4; + label$86 : { + if (!(((HEAPU8[($5_1 + 644 | 0) >> 0] | 0) & 255 | 0 | 0) != ($546_1 & 255 | 0 | 0) & 1 | 0)) { + break label$86 + } + i64toi32_i32$0 = (HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) / (3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $2317_1 = i64toi32_i32$0; + $2317$hi = i64toi32_i32$4; + i64toi32_i32$3 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 456 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 460 | 0) >> 2] | 0; + $3689$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2317$hi; + i64toi32_i32$0 = $3689$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$4 = $2317$hi; + i64toi32_i32$1 = $2317_1; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 456 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 460 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 456 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 460 | 0) >> 2] | 0; + $563_1 = $53(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0; + HEAP32[($5_1 + 592 | 0) >> 2] = $563_1; + HEAP32[($5_1 + 600 | 0) >> 2] = $563_1; + label$87 : { + if (!((HEAP32[($5_1 + 600 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$87 + } + break label$6; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 456 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 460 | 0) >> 2] | 0; + HEAP32[($5_1 + 596 | 0) >> 2] = i64toi32_i32$3; + } + HEAP32[($5_1 + 668 | 0) >> 2] = (HEAP32[($5_1 + 600 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 596 | 0) >> 2] | 0) - 1 | 0) | 0; + label$88 : { + if (!(((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (15 | 0) & 1 | 0)) { + break label$88 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 632 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 636 | 0) >> 2] | 0; + $2322$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $2323$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2322$hi; + i64toi32_i32$3 = $2323$hi; + i64toi32_i32$3 = $2322$hi; + $429_1 = i64toi32_i32$2; + i64toi32_i32$2 = $2323$hi; + i64toi32_i32$2 = __wasm_i64_urem($429_1 | 0, i64toi32_i32$3 | 0, 10 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + HEAP32[($5_1 + 452 | 0) >> 2] = i64toi32_i32$2; + label$89 : { + label$90 : { + if ((HEAP32[($5_1 + 452 | 0) >> 2] | 0 | 0) >= (4 | 0) & 1 | 0) { + break label$90 + } + i64toi32_i32$3 = 0; + $2325$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 632 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 636 | 0) >> 2] | 0; + $2326$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $2327$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2326$hi; + i64toi32_i32$2 = $2327$hi; + i64toi32_i32$2 = $2326$hi; + $430_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2327$hi; + i64toi32_i32$3 = __wasm_i64_udiv($430_1 | 0, i64toi32_i32$2 | 0, 10 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $2328$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $2329$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2328$hi; + i64toi32_i32$2 = $2329$hi; + i64toi32_i32$2 = $2328$hi; + $431_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2329$hi; + i64toi32_i32$3 = __wasm_i64_urem($431_1 | 0, i64toi32_i32$2 | 0, 10 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $2331$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2325$hi; + i64toi32_i32$2 = $2331$hi; + i64toi32_i32$2 = $2325$hi; + i64toi32_i32$2 = $2331$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $2325$hi; + i64toi32_i32$1 = 1; + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$89 + } + } + HEAP32[($5_1 + 452 | 0) >> 2] = 0; + } + $602_1 = HEAPU8[((((HEAP32[($5_1 + 452 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) + 1194 | 0) >> 0] | 0; + $605_1 = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $605_1; + HEAP8[$605_1 >> 0] = $602_1; + $609_1 = HEAPU8[(((HEAP32[($5_1 + 452 | 0) >> 2] | 0) << 1 | 0) + 1194 | 0) >> 0] | 0; + $612_1 = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $612_1; + HEAP8[$612_1 >> 0] = $609_1; + } + HEAP32[($5_1 + 448 | 0) >> 2] = 1216 + ((HEAPU8[((HEAP32[($5_1 + 604 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP8[($5_1 + 447 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 604 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + label$91 : while (1) { + $621_1 = HEAP32[($5_1 + 448 | 0) >> 2] | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 632 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 636 | 0) >> 2] | 0; + $2333$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $2334$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2333$hi; + i64toi32_i32$2 = $2334$hi; + i64toi32_i32$2 = $2333$hi; + $432_1 = i64toi32_i32$0; + i64toi32_i32$0 = $2334$hi; + i64toi32_i32$0 = __wasm_i64_urem($432_1 | 0, i64toi32_i32$2 | 0, (HEAPU8[($5_1 + 447 | 0) >> 0] | 0) & 255 | 0 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $627_1 = HEAPU8[($621_1 + i64toi32_i32$0 | 0) >> 0] | 0; + $630_1 = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $630_1; + HEAP8[$630_1 >> 0] = $627_1; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 632 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 636 | 0) >> 2] | 0; + $2336$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2337$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2336$hi; + i64toi32_i32$0 = $2337$hi; + i64toi32_i32$0 = $2336$hi; + $433_1 = i64toi32_i32$2; + i64toi32_i32$2 = $2337$hi; + i64toi32_i32$2 = __wasm_i64_udiv($433_1 | 0, i64toi32_i32$0 | 0, (HEAPU8[($5_1 + 447 | 0) >> 0] | 0) & 255 | 0 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $3886 = i64toi32_i32$2; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 632 | 0) >> 2] = $3886; + HEAP32[($5_1 + 636 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2339$hi = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 632 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 636 | 0) >> 2] | 0; + $2341$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2339$hi; + i64toi32_i32$2 = $2341$hi; + i64toi32_i32$2 = $2339$hi; + i64toi32_i32$2 = $2341$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $2339$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0) { + continue label$91 + } + break label$91; + }; + HEAP32[($5_1 + 660 | 0) >> 2] = ((HEAP32[($5_1 + 600 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 596 | 0) >> 2] | 0) - 1 | 0) | 0) - (HEAP32[($5_1 + 668 | 0) >> 2] | 0) | 0; + label$92 : { + label$93 : while (1) { + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 660 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$92 + } + $654_1 = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $654_1; + HEAP8[$654_1 >> 0] = 48; + HEAP32[($5_1 + 660 | 0) >> 2] = (HEAP32[($5_1 + 660 | 0) >> 2] | 0) + 1 | 0; + continue label$93; + }; + } + label$94 : { + if (!(((HEAPU8[($5_1 + 644 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$94 + } + $667_1 = 0; + HEAP32[($5_1 + 440 | 0) >> 2] = ((HEAP32[($5_1 + 660 | 0) >> 2] | 0) - 1 | 0 | 0) / (3 | 0) | 0; + HEAP32[($5_1 + 436 | 0) >> 2] = (((HEAP32[($5_1 + 660 | 0) >> 2] | 0) - 1 | 0 | 0) % (3 | 0) | 0) + 1 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + ($667_1 - (HEAP32[($5_1 + 440 | 0) >> 2] | 0) | 0) | 0; + HEAP32[($5_1 + 656 | 0) >> 2] = $667_1; + label$95 : { + label$96 : while (1) { + if (!((HEAP32[($5_1 + 440 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$95 + } + HEAP8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + (HEAP32[($5_1 + 656 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 656 | 0) >> 2] | 0) + (HEAP32[($5_1 + 440 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0; + HEAP32[($5_1 + 436 | 0) >> 2] = (HEAP32[($5_1 + 436 | 0) >> 2] | 0) + -1 | 0; + label$97 : { + if (HEAP32[($5_1 + 436 | 0) >> 2] | 0) { + break label$97 + } + $705_1 = HEAPU8[($5_1 + 644 | 0) >> 0] | 0; + $706_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + $709_1 = (HEAP32[($5_1 + 656 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 656 | 0) >> 2] = $709_1; + HEAP8[($706_1 + $709_1 | 0) >> 0] = $705_1; + HEAP32[($5_1 + 440 | 0) >> 2] = (HEAP32[($5_1 + 440 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 436 | 0) >> 2] = 3; + } + HEAP32[($5_1 + 656 | 0) >> 2] = (HEAP32[($5_1 + 656 | 0) >> 2] | 0) + 1 | 0; + continue label$96; + }; + } + } + label$98 : { + if (!(((HEAPU8[($5_1 + 641 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$98 + } + $726_1 = HEAPU8[($5_1 + 641 | 0) >> 0] | 0; + $729_1 = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $729_1; + HEAP8[$729_1 >> 0] = $726_1; + } + label$99 : { + if (!((HEAPU8[($5_1 + 649 | 0) >> 0] | 0) & 255 | 0)) { + break label$99 + } + if (!((HEAPU8[((HEAP32[($5_1 + 604 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0)) { + break label$99 + } + HEAP32[($5_1 + 432 | 0) >> 2] = 1249 + ((HEAPU8[((HEAP32[($5_1 + 604 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) | 0; + label$100 : { + label$101 : while (1) { + $744_1 = HEAPU8[(HEAP32[($5_1 + 432 | 0) >> 2] | 0) >> 0] | 0; + HEAP8[($5_1 + 431 | 0) >> 0] = $744_1; + $745_1 = 24; + if (!(($744_1 << $745_1 | 0) >> $745_1 | 0)) { + break label$100 + } + $748_1 = HEAPU8[($5_1 + 431 | 0) >> 0] | 0; + $751_1 = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $751_1; + HEAP8[$751_1 >> 0] = $748_1; + HEAP32[($5_1 + 432 | 0) >> 2] = (HEAP32[($5_1 + 432 | 0) >> 2] | 0) + 1 | 0; + continue label$101; + }; + } + } + HEAP32[($5_1 + 660 | 0) >> 2] = ((HEAP32[($5_1 + 600 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 596 | 0) >> 2] | 0) - 1 | 0) | 0) - (HEAP32[($5_1 + 668 | 0) >> 2] | 0) | 0; + break label$4; + case 1: + case 2: + case 3: + label$102 : { + label$103 : { + if (!(((HEAPU8[($5_1 + 642 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$103 + } + $3266($5_1 + 272 | 0 | 0, +(+$54(HEAP32[($5_1 + 560 | 0) >> 2] | 0 | 0))); + i64toi32_i32$3 = $5_1 + 280 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $2343_1 = i64toi32_i32$1; + $2343$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 272 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 276 | 0) >> 2] | 0; + $2344_1 = i64toi32_i32$2; + $2344$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2343$hi; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 616 | 0) >> 2] = $2343_1; + HEAP32[($5_1 + 620 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $2344$hi; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 608 | 0) >> 2] = $2344_1; + HEAP32[($5_1 + 612 | 0) >> 2] = i64toi32_i32$1; + break label$102; + } + $780_1 = ((HEAP32[($5_1 + 676 | 0) >> 2] | 0) + 7 | 0) & -8 | 0; + $781_1 = 8; + HEAP32[($5_1 + 676 | 0) >> 2] = $780_1 + $781_1 | 0; + $3266($5_1 + 288 | 0 | 0, +(+HEAPF64[$780_1 >> 3])); + i64toi32_i32$3 = ($5_1 + 288 | 0) + $781_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $2345_1 = i64toi32_i32$1; + $2345$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 288 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 292 | 0) >> 2] | 0; + $2346_1 = i64toi32_i32$2; + $2346$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2345$hi; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 616 | 0) >> 2] = $2345_1; + HEAP32[($5_1 + 620 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $2346$hi; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 608 | 0) >> 2] = $2346_1; + HEAP32[($5_1 + 612 | 0) >> 2] = i64toi32_i32$1; + } + label$104 : { + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$104 + } + HEAP32[($5_1 + 664 | 0) >> 2] = 6; + } + label$105 : { + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) > (1e8 | 0) & 1 | 0)) { + break label$105 + } + HEAP32[($5_1 + 664 | 0) >> 2] = 1e8; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2347_1 = i64toi32_i32$1; + $2347$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2348$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $2349_1 = 0; + $2349$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2348$hi; + i64toi32_i32$1 = $2347$hi; + i64toi32_i32$1 = $2349$hi; + i64toi32_i32$1 = $2348$hi; + $435_1 = i64toi32_i32$2; + i64toi32_i32$2 = $2347$hi; + i64toi32_i32$3 = $2349$hi; + i64toi32_i32$0 = i64toi32_i32$3; + label$106 : { + label$107 : { + if (!(($3263($435_1 | 0, i64toi32_i32$1 | 0, $2347_1 | 0, i64toi32_i32$2 | 0, $2349_1 | 0, i64toi32_i32$3 | 0, $2349_1 | 0, i64toi32_i32$3 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$107 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2350$hi = i64toi32_i32$3; + i64toi32_i32$3 = -2147483648; + $2351$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2350$hi; + i64toi32_i32$3 = $2351$hi; + i64toi32_i32$3 = $2350$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $2351$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = i64toi32_i32$3 ^ i64toi32_i32$0 | 0; + $4300 = i64toi32_i32$2 ^ i64toi32_i32$1 | 0; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 616 | 0) >> 2] = $4300; + HEAP32[($5_1 + 620 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($5_1 + 641 | 0) >> 0] = 45; + break label$106; + } + HEAP8[($5_1 + 641 | 0) >> 0] = HEAPU8[($5_1 + 650 | 0) >> 0] | 0; + } + label$108 : { + if (!(((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$108 + } + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$108 + } + HEAP32[($5_1 + 664 | 0) >> 2] = (HEAP32[($5_1 + 664 | 0) >> 2] | 0) + -1 | 0; + } + HEAP32[($5_1 + 656 | 0) >> 2] = (HEAP32[($5_1 + 664 | 0) >> 2] | 0) & 4095 | 0; + HEAPF64[($5_1 + 568 | 0) >> 3] = +HEAPF64[(1264 + (((HEAP32[($5_1 + 656 | 0) >> 2] | 0 | 0) % (10 | 0) | 0) << 3 | 0) | 0) >> 3]; + label$109 : { + label$110 : while (1) { + if (!((HEAP32[($5_1 + 656 | 0) >> 2] | 0 | 0) >= (10 | 0) & 1 | 0)) { + break label$109 + } + HEAPF64[($5_1 + 568 | 0) >> 3] = +HEAPF64[($5_1 + 568 | 0) >> 3] * 1.0e-10; + HEAP32[($5_1 + 656 | 0) >> 2] = (HEAP32[($5_1 + 656 | 0) >> 2] | 0) - 10 | 0; + continue label$110; + }; + } + label$111 : { + if (!(((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$111 + } + $859_1 = 15; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2353_1 = i64toi32_i32$0; + $2353$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $4416$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2353$hi; + i64toi32_i32$0 = $4416$hi; + $436_1 = i64toi32_i32$2; + i64toi32_i32$2 = $2353$hi; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3276($436_1 | 0, i64toi32_i32$0 | 0, $2353_1 | 0, i64toi32_i32$2 | 0)), HEAPF64[(wasm2js_i32$0 + 416 | 0) >> 3] = wasm2js_f64$0; + i64toi32_i32$3 = $5_1 + 416 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $4424 = i64toi32_i32$2; + i64toi32_i32$2 = $5_1 + 408 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $4424; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 408 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 412 | 0) >> 2] | 0; + $2356$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $2357$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2356$hi; + i64toi32_i32$2 = $2357$hi; + i64toi32_i32$2 = $2356$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $2357$hi; + i64toi32_i32$1 = 52; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $425_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $425_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + $2358$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2359$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2358$hi; + i64toi32_i32$0 = $2359$hi; + i64toi32_i32$0 = $2358$hi; + i64toi32_i32$2 = $425_1; + i64toi32_i32$3 = $2359$hi; + i64toi32_i32$1 = 2047; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + HEAP32[($5_1 + 404 | 0) >> 2] = (i64toi32_i32$2 & i64toi32_i32$1 | 0) + -1023 | 0; + label$112 : { + if (!(((HEAP32[($5_1 + 664 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0) / (3 | 0) | 0) | 0 | 0) < ($859_1 | 0) & 1 | 0)) { + break label$112 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2361_1 = i64toi32_i32$3; + $2361$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2362$hi = i64toi32_i32$3; + i64toi32_i32$3 = 1070291424; + $2363$hi = i64toi32_i32$3; + i64toi32_i32$3 = -805306368; + $2364$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2362$hi; + i64toi32_i32$3 = $2361$hi; + i64toi32_i32$3 = $2364$hi; + i64toi32_i32$3 = $2363$hi; + i64toi32_i32$3 = $2362$hi; + $438_1 = i64toi32_i32$2; + i64toi32_i32$2 = $2361$hi; + i64toi32_i32$0 = $2364$hi; + i64toi32_i32$1 = $2363$hi; + $3273($5_1 + 256 | 0 | 0, $438_1 | 0, i64toi32_i32$3 | 0, $2361_1 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$0 | 0, 1595811444 | 0, i64toi32_i32$1 | 0); + $881_1 = 8; + i64toi32_i32$2 = ($5_1 + 256 | 0) + $881_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2365_1 = i64toi32_i32$1; + $2365$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 256 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 260 | 0) >> 2] | 0; + $2366_1 = i64toi32_i32$0; + $2366$hi = i64toi32_i32$1; + $3266($5_1 + 224 | 0 | 0, +(+HEAPF64[($5_1 + 568 | 0) >> 3])); + i64toi32_i32$2 = ($5_1 + 224 | 0) + $881_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2367_1 = i64toi32_i32$1; + $2367$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 228 | 0) >> 2] | 0; + $4503$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2367$hi; + i64toi32_i32$1 = $2366$hi; + i64toi32_i32$1 = $2365$hi; + i64toi32_i32$1 = $4503$hi; + $439_1 = i64toi32_i32$0; + i64toi32_i32$0 = $2367$hi; + i64toi32_i32$2 = $2366$hi; + i64toi32_i32$3 = $2365$hi; + $3261($5_1 + 240 | 0 | 0, $439_1 | 0, i64toi32_i32$1 | 0, $2367_1 | 0, i64toi32_i32$0 | 0, $2366_1 | 0, i64toi32_i32$2 | 0, $2365_1 | 0, i64toi32_i32$3 | 0); + i64toi32_i32$0 = ($5_1 + 240 | 0) + $881_1 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $2369_1 = i64toi32_i32$3; + $2369$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 240 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 244 | 0) >> 2] | 0; + $4517$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2369$hi; + i64toi32_i32$3 = $4517$hi; + $440_1 = i64toi32_i32$2; + i64toi32_i32$2 = $2369$hi; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3276($440_1 | 0, i64toi32_i32$3 | 0, $2369_1 | 0, i64toi32_i32$2 | 0)), HEAPF64[(wasm2js_i32$0 + 568 | 0) >> 3] = wasm2js_f64$0; + } + $3266($5_1 + 192 | 0 | 0, +(+HEAPF64[($5_1 + 568 | 0) >> 3])); + $897_1 = 8; + i64toi32_i32$0 = ($5_1 + 192 | 0) + $897_1 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $2371_1 = i64toi32_i32$2; + $2371$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 192 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 196 | 0) >> 2] | 0; + $2372_1 = i64toi32_i32$3; + $2372$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2373_1 = i64toi32_i32$2; + $2373$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $4547$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2373$hi; + i64toi32_i32$2 = $2372$hi; + i64toi32_i32$2 = $2371$hi; + i64toi32_i32$2 = $4547$hi; + $441_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2373$hi; + i64toi32_i32$0 = $2372$hi; + i64toi32_i32$1 = $2371$hi; + $3261($5_1 + 208 | 0 | 0, $441_1 | 0, i64toi32_i32$2 | 0, $2373_1 | 0, i64toi32_i32$3 | 0, $2372_1 | 0, i64toi32_i32$0 | 0, $2371_1 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$3 = ($5_1 + 208 | 0) + $897_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $2375_1 = i64toi32_i32$1; + $2375$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 208 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 212 | 0) >> 2] | 0; + $2376_1 = i64toi32_i32$0; + $2376$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2375$hi; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 616 | 0) >> 2] = $2375_1; + HEAP32[($5_1 + 620 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $2376$hi; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 608 | 0) >> 2] = $2376_1; + HEAP32[($5_1 + 612 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($5_1 + 588 | 0) >> 2] = 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2377_1 = i64toi32_i32$1; + $2377$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $4571$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2377$hi; + i64toi32_i32$1 = $4571$hi; + $443_1 = i64toi32_i32$0; + i64toi32_i32$0 = $2377$hi; + label$113 : { + if (!($55(+(+$3276($443_1 | 0, i64toi32_i32$1 | 0, $2377_1 | 0, i64toi32_i32$0 | 0))) | 0)) { + break label$113 + } + HEAP32[($5_1 + 668 | 0) >> 2] = 1344; + HEAP32[($5_1 + 660 | 0) >> 2] = 3; + break label$4; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2379_1 = i64toi32_i32$0; + $2379$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2380$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2381_1 = 0; + $2381$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2380$hi; + i64toi32_i32$0 = $2379$hi; + i64toi32_i32$0 = $2381$hi; + i64toi32_i32$0 = $2380$hi; + $444_1 = i64toi32_i32$1; + i64toi32_i32$1 = $2379$hi; + i64toi32_i32$3 = $2381$hi; + i64toi32_i32$2 = i64toi32_i32$3; + label$114 : { + if (!(($3264($444_1 | 0, i64toi32_i32$0 | 0, $2379_1 | 0, i64toi32_i32$1 | 0, $2381_1 | 0, i64toi32_i32$2 | 0, $2381_1 | 0, i64toi32_i32$2 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$114 + } + i64toi32_i32$2 = 1073676288; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 392 | 0) >> 2] = 0; + HEAP32[($5_1 + 396 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 384 | 0) >> 2] = 0; + HEAP32[($5_1 + 388 | 0) >> 2] = i64toi32_i32$2; + label$115 : while (1) { + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2384_1 = i64toi32_i32$2; + $2384$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2385_1 = i64toi32_i32$3; + $2385$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 392 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 396 | 0) >> 2] | 0; + $2386_1 = i64toi32_i32$2; + $2386$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 384 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + $2387$hi = i64toi32_i32$2; + i64toi32_i32$2 = 1095443610; + $2388$hi = i64toi32_i32$2; + i64toi32_i32$2 = -805306368; + $2389$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2387$hi; + i64toi32_i32$2 = $2386$hi; + i64toi32_i32$2 = $2389$hi; + i64toi32_i32$2 = $2388$hi; + i64toi32_i32$2 = $2387$hi; + $445_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2386$hi; + i64toi32_i32$1 = $2389$hi; + i64toi32_i32$0 = $2388$hi; + $3273($5_1 + 176 | 0 | 0, $445_1 | 0, i64toi32_i32$2 | 0, $2386_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$1 | 0, -765899721 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$3 = $5_1 + 184 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $2390_1 = i64toi32_i32$0; + $2390$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 180 | 0) >> 2] | 0; + $2391$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2385$hi; + i64toi32_i32$0 = $2384$hi; + i64toi32_i32$0 = $2391$hi; + $4628 = i64toi32_i32$1; + i64toi32_i32$0 = $2390$hi; + i64toi32_i32$0 = $2385$hi; + i64toi32_i32$1 = $2384$hi; + i64toi32_i32$3 = $2391$hi; + i64toi32_i32$2 = $2390$hi; + $925_1 = 0; + label$116 : { + if (!(($3264($2385_1 | 0, i64toi32_i32$0 | 0, $2384_1 | 0, i64toi32_i32$1 | 0, $4628 | 0, i64toi32_i32$3 | 0, $2390_1 | 0, i64toi32_i32$2 | 0) | 0 | 0) > (-1 | 0) & 1 | 0)) { + break label$116 + } + $925_1 = (HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) <= (350 | 0); + } + label$117 : { + if (!($925_1 & 1 | 0)) { + break label$117 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 392 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 396 | 0) >> 2] | 0; + $2392_1 = i64toi32_i32$2; + $2392$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 384 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + $2393$hi = i64toi32_i32$2; + i64toi32_i32$2 = 1095443610; + $2394$hi = i64toi32_i32$2; + i64toi32_i32$2 = -805306368; + $2395$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2393$hi; + i64toi32_i32$2 = $2392$hi; + i64toi32_i32$2 = $2395$hi; + i64toi32_i32$2 = $2394$hi; + i64toi32_i32$2 = $2393$hi; + $446_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2392$hi; + i64toi32_i32$1 = $2395$hi; + i64toi32_i32$0 = $2394$hi; + $3273($5_1 | 0, $446_1 | 0, i64toi32_i32$2 | 0, $2392_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$1 | 0, -765899721 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$3 = $5_1 + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $2396_1 = i64toi32_i32$0; + $2396$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $2397_1 = i64toi32_i32$1; + $2397$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2396$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 392 | 0) >> 2] = $2396_1; + HEAP32[($5_1 + 396 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2397$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 384 | 0) >> 2] = $2397_1; + HEAP32[($5_1 + 388 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 588 | 0) >> 2] = (HEAP32[($5_1 + 588 | 0) >> 2] | 0) + 100 | 0; + continue label$115; + } + break label$115; + }; + label$118 : while (1) { + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2398_1 = i64toi32_i32$0; + $2398$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2399_1 = i64toi32_i32$1; + $2399$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 392 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 396 | 0) >> 2] | 0; + $2400_1 = i64toi32_i32$0; + $2400$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 384 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + $2401$hi = i64toi32_i32$0; + i64toi32_i32$0 = 1075849733; + $2402$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2403$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2401$hi; + i64toi32_i32$0 = $2400$hi; + i64toi32_i32$0 = $2403$hi; + i64toi32_i32$0 = $2402$hi; + i64toi32_i32$0 = $2401$hi; + $447_1 = i64toi32_i32$1; + i64toi32_i32$1 = $2400$hi; + i64toi32_i32$3 = $2403$hi; + i64toi32_i32$2 = $2402$hi; + $3273($5_1 + 160 | 0 | 0, $447_1 | 0, i64toi32_i32$0 | 0, $2400_1 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$3 | 0, -234881024 | 0, i64toi32_i32$2 | 0); + i64toi32_i32$1 = $5_1 + 168 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $2404_1 = i64toi32_i32$2; + $2404$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 160 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $2405$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2399$hi; + i64toi32_i32$2 = $2398$hi; + i64toi32_i32$2 = $2405$hi; + $4706 = i64toi32_i32$3; + i64toi32_i32$2 = $2404$hi; + i64toi32_i32$2 = $2399$hi; + i64toi32_i32$3 = $2398$hi; + i64toi32_i32$1 = $2405$hi; + i64toi32_i32$0 = $2404$hi; + $949_1 = 0; + label$119 : { + if (!(($3264($2399_1 | 0, i64toi32_i32$2 | 0, $2398_1 | 0, i64toi32_i32$3 | 0, $4706 | 0, i64toi32_i32$1 | 0, $2404_1 | 0, i64toi32_i32$0 | 0) | 0 | 0) > (-1 | 0) & 1 | 0)) { + break label$119 + } + $949_1 = (HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) <= (350 | 0); + } + label$120 : { + if (!($949_1 & 1 | 0)) { + break label$120 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 392 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 396 | 0) >> 2] | 0; + $2406_1 = i64toi32_i32$0; + $2406$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 384 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + $2407$hi = i64toi32_i32$0; + i64toi32_i32$0 = 1075849733; + $2408$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2409$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2407$hi; + i64toi32_i32$0 = $2406$hi; + i64toi32_i32$0 = $2409$hi; + i64toi32_i32$0 = $2408$hi; + i64toi32_i32$0 = $2407$hi; + $448_1 = i64toi32_i32$1; + i64toi32_i32$1 = $2406$hi; + i64toi32_i32$3 = $2409$hi; + i64toi32_i32$2 = $2408$hi; + $3273($5_1 + 16 | 0 | 0, $448_1 | 0, i64toi32_i32$0 | 0, $2406_1 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$3 | 0, -234881024 | 0, i64toi32_i32$2 | 0); + i64toi32_i32$1 = $5_1 + 24 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $2410_1 = i64toi32_i32$2; + $2410$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $2411_1 = i64toi32_i32$3; + $2411$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2410$hi; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 392 | 0) >> 2] = $2410_1; + HEAP32[($5_1 + 396 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $2411$hi; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 384 | 0) >> 2] = $2411_1; + HEAP32[($5_1 + 388 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 588 | 0) >> 2] = (HEAP32[($5_1 + 588 | 0) >> 2] | 0) + 10 | 0; + continue label$118; + } + break label$118; + }; + label$121 : while (1) { + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2412_1 = i64toi32_i32$2; + $2412$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2413_1 = i64toi32_i32$3; + $2413$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 392 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 396 | 0) >> 2] | 0; + $2414_1 = i64toi32_i32$2; + $2414$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 384 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + $2415$hi = i64toi32_i32$2; + i64toi32_i32$2 = 1073889280; + $2416$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $2417$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2415$hi; + i64toi32_i32$2 = $2414$hi; + i64toi32_i32$2 = $2417$hi; + i64toi32_i32$2 = $2416$hi; + i64toi32_i32$2 = $2415$hi; + $449_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2414$hi; + i64toi32_i32$1 = $2417$hi; + i64toi32_i32$0 = $2416$hi; + $3273($5_1 + 144 | 0 | 0, $449_1 | 0, i64toi32_i32$2 | 0, $2414_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$3 = $5_1 + 152 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $2418_1 = i64toi32_i32$0; + $2418$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 144 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 148 | 0) >> 2] | 0; + $2419$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2413$hi; + i64toi32_i32$0 = $2412$hi; + i64toi32_i32$0 = $2419$hi; + $4787 = i64toi32_i32$1; + i64toi32_i32$0 = $2418$hi; + i64toi32_i32$0 = $2413$hi; + i64toi32_i32$1 = $2412$hi; + i64toi32_i32$3 = $2419$hi; + i64toi32_i32$2 = $2418$hi; + $975_1 = 0; + label$122 : { + if (!(($3264($2413_1 | 0, i64toi32_i32$0 | 0, $2412_1 | 0, i64toi32_i32$1 | 0, $4787 | 0, i64toi32_i32$3 | 0, $2418_1 | 0, i64toi32_i32$2 | 0) | 0 | 0) > (-1 | 0) & 1 | 0)) { + break label$122 + } + $975_1 = (HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) <= (350 | 0); + } + label$123 : { + if (!($975_1 & 1 | 0)) { + break label$123 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 392 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 396 | 0) >> 2] | 0; + $2420_1 = i64toi32_i32$2; + $2420$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 384 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + $2421$hi = i64toi32_i32$2; + i64toi32_i32$2 = 1073889280; + $2422$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $2423$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2421$hi; + i64toi32_i32$2 = $2420$hi; + i64toi32_i32$2 = $2423$hi; + i64toi32_i32$2 = $2422$hi; + i64toi32_i32$2 = $2421$hi; + $451_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2420$hi; + i64toi32_i32$1 = $2423$hi; + i64toi32_i32$0 = $2422$hi; + $3273($5_1 + 32 | 0 | 0, $451_1 | 0, i64toi32_i32$2 | 0, $2420_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$3 = $5_1 + 40 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $2424_1 = i64toi32_i32$0; + $2424$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $2425_1 = i64toi32_i32$1; + $2425$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2424$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 392 | 0) >> 2] = $2424_1; + HEAP32[($5_1 + 396 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2425$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 384 | 0) >> 2] = $2425_1; + HEAP32[($5_1 + 388 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 588 | 0) >> 2] = (HEAP32[($5_1 + 588 | 0) >> 2] | 0) + 1 | 0; + continue label$121; + } + break label$121; + }; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 392 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 396 | 0) >> 2] | 0; + $2426_1 = i64toi32_i32$0; + $2426$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 384 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + $2427_1 = i64toi32_i32$1; + $2427$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2428_1 = i64toi32_i32$0; + $2428$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $4855$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2428$hi; + i64toi32_i32$0 = $2427$hi; + i64toi32_i32$0 = $2426$hi; + i64toi32_i32$0 = $4855$hi; + $452_1 = i64toi32_i32$1; + i64toi32_i32$1 = $2428$hi; + i64toi32_i32$3 = $2427$hi; + i64toi32_i32$2 = $2426$hi; + $3265($5_1 + 128 | 0 | 0, $452_1 | 0, i64toi32_i32$0 | 0, $2428_1 | 0, i64toi32_i32$1 | 0, $2427_1 | 0, i64toi32_i32$3 | 0, $2426_1 | 0, i64toi32_i32$2 | 0); + i64toi32_i32$1 = $5_1 + 136 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $2430_1 = i64toi32_i32$2; + $2430$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + $2431_1 = i64toi32_i32$3; + $2431$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2430$hi; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 616 | 0) >> 2] = $2430_1; + HEAP32[($5_1 + 620 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $2431$hi; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 608 | 0) >> 2] = $2431_1; + HEAP32[($5_1 + 612 | 0) >> 2] = i64toi32_i32$2; + label$124 : { + label$125 : while (1) { + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2432_1 = i64toi32_i32$2; + $2432$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2433$hi = i64toi32_i32$2; + i64toi32_i32$2 = 1071929240; + $2434$hi = i64toi32_i32$2; + i64toi32_i32$2 = -1610612736; + $2435$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2433$hi; + i64toi32_i32$2 = $2432$hi; + i64toi32_i32$2 = $2435$hi; + i64toi32_i32$2 = $2434$hi; + i64toi32_i32$2 = $2433$hi; + $453_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2432$hi; + i64toi32_i32$1 = $2435$hi; + i64toi32_i32$0 = $2434$hi; + if (!(($3263($453_1 | 0, i64toi32_i32$2 | 0, $2432_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$1 | 0, -299693885 | 0, i64toi32_i32$0 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$124 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2436_1 = i64toi32_i32$0; + $2436$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2437$hi = i64toi32_i32$0; + i64toi32_i32$0 = 1075412344; + $2438$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2439$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2437$hi; + i64toi32_i32$0 = $2436$hi; + i64toi32_i32$0 = $2439$hi; + i64toi32_i32$0 = $2438$hi; + i64toi32_i32$0 = $2437$hi; + $454_1 = i64toi32_i32$1; + i64toi32_i32$1 = $2436$hi; + i64toi32_i32$3 = $2439$hi; + i64toi32_i32$2 = $2438$hi; + $3273($5_1 + 48 | 0 | 0, $454_1 | 0, i64toi32_i32$0 | 0, $2436_1 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$3 | 0, 1073741824 | 0, i64toi32_i32$2 | 0); + i64toi32_i32$1 = $5_1 + 56 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $2440_1 = i64toi32_i32$2; + $2440$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $2441_1 = i64toi32_i32$3; + $2441$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2440$hi; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 616 | 0) >> 2] = $2440_1; + HEAP32[($5_1 + 620 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $2441$hi; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 608 | 0) >> 2] = $2441_1; + HEAP32[($5_1 + 612 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 588 | 0) >> 2] = (HEAP32[($5_1 + 588 | 0) >> 2] | 0) - 8 | 0; + continue label$125; + }; + } + label$126 : { + label$127 : while (1) { + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2442_1 = i64toi32_i32$2; + $2442$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2443$hi = i64toi32_i32$2; + i64toi32_i32$2 = 1073676288; + $2444$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $2445$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2443$hi; + i64toi32_i32$2 = $2442$hi; + i64toi32_i32$2 = $2445$hi; + i64toi32_i32$2 = $2444$hi; + i64toi32_i32$2 = $2443$hi; + $455_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2442$hi; + i64toi32_i32$1 = $2445$hi; + i64toi32_i32$0 = $2444$hi; + if (!(($3263($455_1 | 0, i64toi32_i32$2 | 0, $2442_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$0 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$126 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2446_1 = i64toi32_i32$0; + $2446$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2447$hi = i64toi32_i32$0; + i64toi32_i32$0 = 1073889280; + $2448$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2449$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2447$hi; + i64toi32_i32$0 = $2446$hi; + i64toi32_i32$0 = $2449$hi; + i64toi32_i32$0 = $2448$hi; + i64toi32_i32$0 = $2447$hi; + $456_1 = i64toi32_i32$1; + i64toi32_i32$1 = $2446$hi; + i64toi32_i32$3 = $2449$hi; + i64toi32_i32$2 = $2448$hi; + $3273($5_1 + 64 | 0 | 0, $456_1 | 0, i64toi32_i32$0 | 0, $2446_1 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$2 | 0); + i64toi32_i32$1 = $5_1 + 72 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $2450_1 = i64toi32_i32$2; + $2450$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + $2451_1 = i64toi32_i32$3; + $2451$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2450$hi; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 616 | 0) >> 2] = $2450_1; + HEAP32[($5_1 + 620 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $2451$hi; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 608 | 0) >> 2] = $2451_1; + HEAP32[($5_1 + 612 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 588 | 0) >> 2] = (HEAP32[($5_1 + 588 | 0) >> 2] | 0) + -1 | 0; + continue label$127; + }; + } + label$128 : { + if (!((HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) > (350 | 0) & 1 | 0)) { + break label$128 + } + $1026_1 = 0; + $1029_1 = $5_1 + 480 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1029_1; + HEAP8[($5_1 + 480 | 0) >> 0] = HEAPU8[($5_1 + 641 | 0) >> 0] | 0; + $1032_1 = 24; + $419_1 = 0; + $420_1 = $1029_1 + ((((HEAPU8[($5_1 + 641 | 0) >> 0] | 0) << $1032_1 | 0) >> $1032_1 | 0 | 0) != ($1026_1 | 0) & 1 | 0) | 0; + $421_1 = HEAPU8[($419_1 + 1348 | 0) >> 0] | 0 | ((HEAPU8[($419_1 + 1349 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($419_1 + 1350 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($419_1 + 1351 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$420_1 >> 0] = $421_1; + HEAP8[($420_1 + 1 | 0) >> 0] = $421_1 >>> 8 | 0; + HEAP8[($420_1 + 2 | 0) >> 0] = $421_1 >>> 16 | 0; + HEAP8[($420_1 + 3 | 0) >> 0] = $421_1 >>> 24 | 0; + $1044_1 = 24; + HEAP32[($5_1 + 660 | 0) >> 2] = ((((HEAPU8[($5_1 + 641 | 0) >> 0] | 0) << $1044_1 | 0) >> $1044_1 | 0 | 0) != ($1026_1 | 0) & 1 | 0) + 3 | 0; + break label$4; + } + } + HEAP32[($5_1 + 668 | 0) >> 2] = $5_1 + 480 | 0; + label$129 : { + if (!(((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$129 + } + $3266($5_1 + 96 | 0 | 0, +(+HEAPF64[($5_1 + 568 | 0) >> 3])); + $1068_1 = 8; + i64toi32_i32$1 = ($5_1 + 96 | 0) + $1068_1 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $2452_1 = i64toi32_i32$2; + $2452$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $2453_1 = i64toi32_i32$3; + $2453$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2454_1 = i64toi32_i32$2; + $2454$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $5076$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2454$hi; + i64toi32_i32$2 = $2453$hi; + i64toi32_i32$2 = $2452$hi; + i64toi32_i32$2 = $5076$hi; + $457_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2454$hi; + i64toi32_i32$1 = $2453$hi; + i64toi32_i32$0 = $2452$hi; + $3261($5_1 + 112 | 0 | 0, $457_1 | 0, i64toi32_i32$2 | 0, $2454_1 | 0, i64toi32_i32$3 | 0, $2453_1 | 0, i64toi32_i32$1 | 0, $2452_1 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$3 = ($5_1 + 112 | 0) + $1068_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $2456_1 = i64toi32_i32$0; + $2456$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $2457_1 = i64toi32_i32$1; + $2457$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2456$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 616 | 0) >> 2] = $2456_1; + HEAP32[($5_1 + 620 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2457$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 608 | 0) >> 2] = $2457_1; + HEAP32[($5_1 + 612 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2458_1 = i64toi32_i32$0; + $2458$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2459$hi = i64toi32_i32$0; + i64toi32_i32$0 = 1073889280; + $2460$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2461$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2459$hi; + i64toi32_i32$0 = $2458$hi; + i64toi32_i32$0 = $2461$hi; + i64toi32_i32$0 = $2460$hi; + i64toi32_i32$0 = $2459$hi; + $458_1 = i64toi32_i32$1; + i64toi32_i32$1 = $2458$hi; + i64toi32_i32$3 = $2461$hi; + i64toi32_i32$2 = $2460$hi; + label$130 : { + if (!(($3264($458_1 | 0, i64toi32_i32$0 | 0, $2458_1 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$2 | 0) | 0 | 0) > (-1 | 0) & 1 | 0)) { + break label$130 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 616 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 620 | 0) >> 2] | 0; + $2462_1 = i64toi32_i32$2; + $2462$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 608 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 612 | 0) >> 2] | 0; + $2463$hi = i64toi32_i32$2; + i64toi32_i32$2 = 1073453465; + $2464$hi = i64toi32_i32$2; + i64toi32_i32$2 = -1610612736; + $2465$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2463$hi; + i64toi32_i32$2 = $2462$hi; + i64toi32_i32$2 = $2465$hi; + i64toi32_i32$2 = $2464$hi; + i64toi32_i32$2 = $2463$hi; + $459_1 = i64toi32_i32$3; + i64toi32_i32$3 = $2462$hi; + i64toi32_i32$1 = $2465$hi; + i64toi32_i32$0 = $2464$hi; + $3273($5_1 + 80 | 0 | 0, $459_1 | 0, i64toi32_i32$2 | 0, $2462_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$1 | 0, -1717986919 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$3 = $5_1 + 88 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $2466_1 = i64toi32_i32$0; + $2466$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $2467_1 = i64toi32_i32$1; + $2467$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2466$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 616 | 0) >> 2] = $2466_1; + HEAP32[($5_1 + 620 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2467$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 608 | 0) >> 2] = $2467_1; + HEAP32[($5_1 + 612 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 588 | 0) >> 2] = (HEAP32[($5_1 + 588 | 0) >> 2] | 0) + 1 | 0; + } + } + label$131 : { + label$132 : { + if (!(((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$132 + } + HEAP8[($5_1 + 566 | 0) >> 0] = (((HEAPU8[($5_1 + 649 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0) & 1 | 0; + label$133 : { + label$134 : { + label$135 : { + if ((HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) < (-4 | 0) & 1 | 0) { + break label$135 + } + if (!((HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$134 + } + } + HEAP8[($5_1 + 643 | 0) >> 0] = 2; + break label$133; + } + HEAP32[($5_1 + 664 | 0) >> 2] = (HEAP32[($5_1 + 664 | 0) >> 2] | 0) - (HEAP32[($5_1 + 588 | 0) >> 2] | 0) | 0; + HEAP8[($5_1 + 643 | 0) >> 0] = 1; + } + break label$131; + } + HEAP8[($5_1 + 566 | 0) >> 0] = HEAPU8[($5_1 + 648 | 0) >> 0] | 0; + } + label$136 : { + label$137 : { + if (!(((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$137 + } + HEAP32[($5_1 + 584 | 0) >> 2] = 0; + break label$136; + } + HEAP32[($5_1 + 584 | 0) >> 2] = HEAP32[($5_1 + 588 | 0) >> 2] | 0; + } + label$138 : { + label$139 : { + if (!((HEAP32[($5_1 + 584 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$139 + } + $1148_1 = HEAP32[($5_1 + 584 | 0) >> 2] | 0; + break label$138; + } + $1148_1 = 0; + } + i64toi32_i32$0 = 0; + $2468_1 = 70; + $2468$hi = i64toi32_i32$0; + i64toi32_i32$1 = $1148_1; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2469$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($5_1 + 664 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2470$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2469$hi; + i64toi32_i32$0 = $2470$hi; + $5264 = i64toi32_i32$1; + i64toi32_i32$0 = $2469$hi; + i64toi32_i32$3 = $1148_1; + i64toi32_i32$1 = $2470$hi; + i64toi32_i32$2 = $5264; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $2471$hi = i64toi32_i32$5; + i64toi32_i32$3 = HEAP32[($5_1 + 652 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $2472$hi = i64toi32_i32$5; + i64toi32_i32$5 = $2471$hi; + i64toi32_i32$5 = $2472$hi; + $5272 = i64toi32_i32$3; + i64toi32_i32$5 = $2471$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$3 = $2472$hi; + i64toi32_i32$2 = $5272; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $2473$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $2474$hi = i64toi32_i32$4; + i64toi32_i32$4 = $2473$hi; + i64toi32_i32$4 = $2474$hi; + i64toi32_i32$4 = $2473$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$0 = $2474$hi; + i64toi32_i32$2 = 15; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 376 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($5_1 + 380 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$4 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 376 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 380 | 0) >> 2] | 0; + $2477$hi = i64toi32_i32$5; + i64toi32_i32$5 = $2468$hi; + i64toi32_i32$5 = $2477$hi; + i64toi32_i32$5 = $2468$hi; + i64toi32_i32$5 = $2477$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $2468$hi; + i64toi32_i32$2 = $2468_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$1 | 0)) { + $426_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$4 >>> 0 <= i64toi32_i32$2 >>> 0) { + $427_1 = 0 + } else { + $427_1 = 1 + } + $428_1 = $427_1; + } else { + $428_1 = 0 + } + $426_1 = $428_1; + } + label$140 : { + if (!($426_1 & 1 | 0)) { + break label$140 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 376 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 380 | 0) >> 2] | 0; + $1161_1 = $53(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($5_1 + 592 | 0) >> 2] = $1161_1; + HEAP32[($5_1 + 668 | 0) >> 2] = $1161_1; + label$141 : { + if (!((HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$141 + } + break label$6; + } + } + $1170_1 = 0; + HEAP32[($5_1 + 600 | 0) >> 2] = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 580 | 0) >> 2] = Math_imul((HEAPU8[($5_1 + 648 | 0) >> 0] | 0) & 255 | 0, 10) + 16 | 0; + HEAP8[($5_1 + 567 | 0) >> 0] = ((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) > ($1170_1 | 0) & 1 | 0 ? 1 : $1170_1) | ((HEAPU8[($5_1 + 649 | 0) >> 0] | 0) & 255 | 0) | 0 | ((HEAPU8[($5_1 + 648 | 0) >> 0] | 0) & 255 | 0) | 0; + label$142 : { + if (!(((HEAPU8[($5_1 + 641 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$142 + } + $1202_1 = HEAPU8[($5_1 + 641 | 0) >> 0] | 0; + $1203_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1203_1 + 1 | 0; + HEAP8[$1203_1 >> 0] = $1202_1; + } + label$143 : { + label$144 : { + if (!((HEAP32[($5_1 + 584 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$144 + } + $1214_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1214_1 + 1 | 0; + HEAP8[$1214_1 >> 0] = 48; + break label$143; + } + label$145 : { + label$146 : while (1) { + if (!((HEAP32[($5_1 + 584 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$145 + } + $1230_1 = $56($5_1 + 608 | 0 | 0, $5_1 + 580 | 0 | 0) | 0; + $1231_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1231_1 + 1 | 0; + HEAP8[$1231_1 >> 0] = $1230_1; + HEAP32[($5_1 + 584 | 0) >> 2] = (HEAP32[($5_1 + 584 | 0) >> 2] | 0) + -1 | 0; + continue label$146; + }; + } + } + label$147 : { + if (!(((HEAPU8[($5_1 + 567 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$147 + } + $1247_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1247_1 + 1 | 0; + HEAP8[$1247_1 >> 0] = 46; + } + HEAP32[($5_1 + 584 | 0) >> 2] = (HEAP32[($5_1 + 584 | 0) >> 2] | 0) + 1 | 0; + label$148 : { + label$149 : while (1) { + if (!((HEAP32[($5_1 + 584 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$148 + } + $1261_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1261_1 + 1 | 0; + HEAP8[$1261_1 >> 0] = 48; + HEAP32[($5_1 + 664 | 0) >> 2] = (HEAP32[($5_1 + 664 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 584 | 0) >> 2] = (HEAP32[($5_1 + 584 | 0) >> 2] | 0) + 1 | 0; + continue label$149; + }; + } + label$150 : { + label$151 : while (1) { + $1271_1 = HEAP32[($5_1 + 664 | 0) >> 2] | 0; + HEAP32[($5_1 + 664 | 0) >> 2] = $1271_1 + -1 | 0; + if (!(($1271_1 | 0) > (0 | 0) & 1 | 0)) { + break label$150 + } + $1285_1 = $56($5_1 + 608 | 0 | 0, $5_1 + 580 | 0 | 0) | 0; + $1286_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1286_1 + 1 | 0; + HEAP8[$1286_1 >> 0] = $1285_1; + continue label$151; + }; + } + label$152 : { + if (!((HEAPU8[($5_1 + 566 | 0) >> 0] | 0) & 255 | 0)) { + break label$152 + } + if (!((HEAPU8[($5_1 + 567 | 0) >> 0] | 0) & 255 | 0)) { + break label$152 + } + label$153 : { + label$154 : while (1) { + $1300_1 = 24; + if (!((((HEAPU8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0) >> 0] | 0) << $1300_1 | 0) >> $1300_1 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$153 + } + $1311_1 = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1311_1; + HEAP8[$1311_1 >> 0] = 0; + continue label$154; + }; + } + $1317_1 = 24; + label$155 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0) >> 0] | 0) << $1317_1 | 0) >> $1317_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$155 + } + label$156 : { + label$157 : { + if (!(((HEAPU8[($5_1 + 648 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$157 + } + $1335_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1335_1 + 1 | 0; + HEAP8[$1335_1 >> 0] = 48; + break label$156; + } + $1341_1 = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1341_1; + HEAP8[$1341_1 >> 0] = 0; + } + } + } + label$158 : { + if (!(((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$158 + } + $1356_1 = HEAPU8[(((HEAPU8[((HEAP32[($5_1 + 604 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) + 1216 | 0) >> 0] | 0; + $1357_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1357_1 + 1 | 0; + HEAP8[$1357_1 >> 0] = $1356_1; + label$159 : { + label$160 : { + if (!((HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$160 + } + $1368_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1368_1 + 1 | 0; + HEAP8[$1368_1 >> 0] = 45; + HEAP32[($5_1 + 588 | 0) >> 2] = 0 - (HEAP32[($5_1 + 588 | 0) >> 2] | 0) | 0; + break label$159; + } + $1374_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1374_1 + 1 | 0; + HEAP8[$1374_1 >> 0] = 43; + } + label$161 : { + if (!((HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) >= (100 | 0) & 1 | 0)) { + break label$161 + } + $1388_1 = ((HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) / (100 | 0) | 0) + 48 | 0; + $1389_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1389_1 + 1 | 0; + HEAP8[$1389_1 >> 0] = $1388_1; + HEAP32[($5_1 + 588 | 0) >> 2] = (HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) % (100 | 0) | 0; + } + $1399_1 = ((HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) / (10 | 0) | 0) + 48 | 0; + $1400_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1400_1 + 1 | 0; + HEAP8[$1400_1 >> 0] = $1399_1; + $1407_1 = ((HEAP32[($5_1 + 588 | 0) >> 2] | 0 | 0) % (10 | 0) | 0) + 48 | 0; + $1408_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1408_1 + 1 | 0; + HEAP8[$1408_1 >> 0] = $1407_1; + } + HEAP8[(HEAP32[($5_1 + 668 | 0) >> 2] | 0) >> 0] = 0; + HEAP32[($5_1 + 660 | 0) >> 2] = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) - (HEAP32[($5_1 + 600 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = HEAP32[($5_1 + 600 | 0) >> 2] | 0; + label$162 : { + if (!((HEAPU8[($5_1 + 647 | 0) >> 0] | 0) & 255 | 0)) { + break label$162 + } + if (((HEAPU8[($5_1 + 651 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$162 + } + if (!((HEAP32[($5_1 + 660 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$162 + } + HEAP32[($5_1 + 368 | 0) >> 2] = (HEAP32[($5_1 + 652 | 0) >> 2] | 0) - (HEAP32[($5_1 + 660 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 372 | 0) >> 2] = HEAP32[($5_1 + 652 | 0) >> 2] | 0; + label$163 : { + label$164 : while (1) { + if (!((HEAP32[($5_1 + 372 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 368 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$163 + } + HEAP8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + (HEAP32[($5_1 + 372 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 372 | 0) >> 2] | 0) - (HEAP32[($5_1 + 368 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0; + HEAP32[($5_1 + 372 | 0) >> 2] = (HEAP32[($5_1 + 372 | 0) >> 2] | 0) + -1 | 0; + continue label$164; + }; + } + $1461_1 = 24; + HEAP32[($5_1 + 372 | 0) >> 2] = (((HEAPU8[($5_1 + 641 | 0) >> 0] | 0) << $1461_1 | 0) >> $1461_1 | 0 | 0) != (0 | 0) & 1 | 0; + label$165 : { + label$166 : while (1) { + $1469_1 = HEAP32[($5_1 + 368 | 0) >> 2] | 0; + HEAP32[($5_1 + 368 | 0) >> 2] = $1469_1 + -1 | 0; + if (!$1469_1) { + break label$165 + } + $1473_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + $1474_1 = HEAP32[($5_1 + 372 | 0) >> 2] | 0; + HEAP32[($5_1 + 372 | 0) >> 2] = $1474_1 + 1 | 0; + HEAP8[($1473_1 + $1474_1 | 0) >> 0] = 48; + continue label$166; + }; + } + HEAP32[($5_1 + 660 | 0) >> 2] = HEAP32[($5_1 + 652 | 0) >> 2] | 0; + } + break label$4; + case 4: + label$167 : { + if (((HEAPU8[($5_1 + 642 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$167 + } + $1489_1 = HEAP32[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $1490_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $1490_1 + 4 | 0; + HEAP32[(HEAP32[$1490_1 >> 2] | 0) >> 2] = $1489_1; + } + $1494_1 = 0; + HEAP32[($5_1 + 652 | 0) >> 2] = $1494_1; + HEAP32[($5_1 + 660 | 0) >> 2] = $1494_1; + break label$4; + case 7: + HEAP8[($5_1 + 480 | 0) >> 0] = 37; + HEAP32[($5_1 + 668 | 0) >> 2] = $5_1 + 480 | 0; + HEAP32[($5_1 + 660 | 0) >> 2] = 1; + break label$4; + case 8: + label$168 : { + label$169 : { + if (!(((HEAPU8[($5_1 + 642 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$169 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $57(HEAP32[($5_1 + 560 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 668 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 660 | 0) >> 2] = 1; + label$170 : { + label$171 : { + if (!((HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$171 + } + $1520_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1520_1 + 1 | 0; + $1524_1 = 24; + $1526_1 = ((HEAPU8[$1520_1 >> 0] | 0) << $1524_1 | 0) >> $1524_1 | 0; + HEAP32[($5_1 + 672 | 0) >> 2] = $1526_1; + HEAP8[($5_1 + 480 | 0) >> 0] = $1526_1; + label$172 : { + if (!(((HEAP32[($5_1 + 672 | 0) >> 2] | 0) & 192 | 0 | 0) == (192 | 0) & 1 | 0)) { + break label$172 + } + label$173 : while (1) { + $1543_1 = 0; + label$174 : { + if (!((HEAP32[($5_1 + 660 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$174 + } + $1547_1 = 24; + $1543_1 = ((((HEAPU8[(HEAP32[($5_1 + 668 | 0) >> 2] | 0) >> 0] | 0) << $1547_1 | 0) >> $1547_1 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$175 : { + if (!($1543_1 & 1 | 0)) { + break label$175 + } + $1561_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = $1561_1 + 1 | 0; + $1564_1 = HEAPU8[$1561_1 >> 0] | 0; + $1565_1 = HEAP32[($5_1 + 660 | 0) >> 2] | 0; + HEAP32[($5_1 + 660 | 0) >> 2] = $1565_1 + 1 | 0; + HEAP8[(($5_1 + 480 | 0) + $1565_1 | 0) >> 0] = $1564_1; + continue label$173; + } + break label$173; + }; + } + break label$170; + } + HEAP8[($5_1 + 480 | 0) >> 0] = 0; + } + break label$168; + } + $1571_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $1571_1 + 4 | 0; + HEAP32[($5_1 + 364 | 0) >> 2] = HEAP32[$1571_1 >> 2] | 0; + label$176 : { + label$177 : { + if (!((HEAP32[($5_1 + 364 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$177 + } + HEAP8[($5_1 + 480 | 0) >> 0] = (HEAP32[($5_1 + 364 | 0) >> 2] | 0) & 255 | 0; + HEAP32[($5_1 + 660 | 0) >> 2] = 1; + break label$176; + } + label$178 : { + label$179 : { + if (!((HEAP32[($5_1 + 364 | 0) >> 2] | 0) >>> 0 < 2048 >>> 0 & 1 | 0)) { + break label$179 + } + HEAP8[($5_1 + 480 | 0) >> 0] = ((((HEAP32[($5_1 + 364 | 0) >> 2] | 0) >>> 6 | 0) & 31 | 0) & 255 | 0) + 192 | 0; + HEAP8[($5_1 + 481 | 0) >> 0] = (((HEAP32[($5_1 + 364 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + HEAP32[($5_1 + 660 | 0) >> 2] = 2; + break label$178; + } + label$180 : { + label$181 : { + if (!((HEAP32[($5_1 + 364 | 0) >> 2] | 0) >>> 0 < 65536 >>> 0 & 1 | 0)) { + break label$181 + } + HEAP8[($5_1 + 480 | 0) >> 0] = ((((HEAP32[($5_1 + 364 | 0) >> 2] | 0) >>> 12 | 0) & 15 | 0) & 255 | 0) + 224 | 0; + HEAP8[($5_1 + 481 | 0) >> 0] = ((((HEAP32[($5_1 + 364 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + HEAP8[($5_1 + 482 | 0) >> 0] = (((HEAP32[($5_1 + 364 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + HEAP32[($5_1 + 660 | 0) >> 2] = 3; + break label$180; + } + HEAP8[($5_1 + 480 | 0) >> 0] = ((((HEAP32[($5_1 + 364 | 0) >> 2] | 0) >>> 18 | 0) & 7 | 0) & 255 | 0) + 240 | 0; + HEAP8[($5_1 + 481 | 0) >> 0] = ((((HEAP32[($5_1 + 364 | 0) >> 2] | 0) >>> 12 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + HEAP8[($5_1 + 482 | 0) >> 0] = ((((HEAP32[($5_1 + 364 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + HEAP8[($5_1 + 483 | 0) >> 0] = (((HEAP32[($5_1 + 364 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + HEAP32[($5_1 + 660 | 0) >> 2] = 4; + } + } + } + } + label$182 : { + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$182 + } + HEAP32[($5_1 + 652 | 0) >> 2] = (HEAP32[($5_1 + 652 | 0) >> 2] | 0) - ((HEAP32[($5_1 + 664 | 0) >> 2] | 0) - 1 | 0) | 0; + label$183 : { + if (!((HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$183 + } + if (((HEAPU8[($5_1 + 651 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$183 + } + $1711_1 = 24; + $58(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 652 | 0) >> 2] | 0) - 1 | 0 | 0, (32 << $1711_1 | 0) >> $1711_1 | 0 | 0); + HEAP32[($5_1 + 652 | 0) >> 2] = 0; + } + label$184 : { + label$185 : while (1) { + $1715_1 = HEAP32[($5_1 + 664 | 0) >> 2] | 0; + HEAP32[($5_1 + 664 | 0) >> 2] = $1715_1 + -1 | 0; + if (!(($1715_1 | 0) > (1 | 0) & 1 | 0)) { + break label$184 + } + $51(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, $5_1 + 480 | 0 | 0, HEAP32[($5_1 + 660 | 0) >> 2] | 0 | 0); + continue label$185; + }; + } + } + HEAP32[($5_1 + 668 | 0) >> 2] = $5_1 + 480 | 0; + HEAP8[($5_1 + 648 | 0) >> 0] = 1; + break label$5; + case 5: + case 6: + label$186 : { + label$187 : { + if (!(((HEAPU8[($5_1 + 642 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$187 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $57(HEAP32[($5_1 + 560 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 668 | 0) >> 2] = wasm2js_i32$1; + HEAP8[($5_1 + 643 | 0) >> 0] = 5; + break label$186; + } + $1744_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $1744_1 + 4 | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = HEAP32[$1744_1 >> 2] | 0; + } + label$188 : { + label$189 : { + if (!((HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$189 + } + HEAP32[($5_1 + 668 | 0) >> 2] = 1352; + break label$188; + } + label$190 : { + if (!(((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$190 + } + label$191 : { + if (HEAP32[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) { + break label$191 + } + if (!(HEAP32[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$191 + } + if (HEAP32[($5_1 + 652 | 0) >> 2] | 0) { + break label$191 + } + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$191 + } + if ((HEAPU8[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) { + break label$191 + } + HEAP32[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + $1787_1 = $59(HEAP32[(HEAP32[($5_1 + 684 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 8 | 0) >> 2] = $1787_1; + $1792_1 = ($3303(HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0) | 0) & 2147483647 | 0; + HEAP32[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 16 | 0) >> 2] = $1792_1; + $1794_1 = HEAP32[($5_1 + 684 | 0) >> 2] | 0; + HEAP8[($1794_1 + 21 | 0) >> 0] = (HEAPU8[($1794_1 + 21 | 0) >> 0] | 0) & 255 | 0 | 4 | 0; + HEAP32[($5_1 + 660 | 0) >> 2] = 0; + break label$4; + } + HEAP32[($5_1 + 592 | 0) >> 2] = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + } + } + label$192 : { + label$193 : { + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$193 + } + label$194 : { + label$195 : { + if (!(((HEAPU8[($5_1 + 648 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$195 + } + HEAP32[($5_1 + 360 | 0) >> 2] = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + label$196 : while (1) { + $1820_1 = HEAP32[($5_1 + 664 | 0) >> 2] | 0; + HEAP32[($5_1 + 664 | 0) >> 2] = $1820_1 + -1 | 0; + $1828_1 = 0; + label$197 : { + if (!(($1820_1 | 0) > (0 | 0) & 1 | 0)) { + break label$197 + } + $1828_1 = ((HEAPU8[(HEAP32[($5_1 + 360 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + label$198 : { + if (!($1828_1 & 1 | 0)) { + break label$198 + } + $1841_1 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + HEAP32[($5_1 + 360 | 0) >> 2] = $1841_1 + 1 | 0; + label$199 : { + if (!(((HEAPU8[$1841_1 >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$199 + } + label$200 : { + label$201 : while (1) { + if (!((((HEAPU8[(HEAP32[($5_1 + 360 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$200 + } + HEAP32[($5_1 + 360 | 0) >> 2] = (HEAP32[($5_1 + 360 | 0) >> 2] | 0) + 1 | 0; + continue label$201; + }; + } + } + continue label$196; + } + break label$196; + }; + HEAP32[($5_1 + 660 | 0) >> 2] = (HEAP32[($5_1 + 360 | 0) >> 2] | 0) - (HEAP32[($5_1 + 668 | 0) >> 2] | 0) | 0; + break label$194; + } + HEAP32[($5_1 + 660 | 0) >> 2] = 0; + label$202 : while (1) { + $1879_1 = 0; + label$203 : { + if (!((HEAP32[($5_1 + 660 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 664 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$203 + } + $1885_1 = 24; + $1879_1 = (((HEAPU8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + (HEAP32[($5_1 + 660 | 0) >> 2] | 0) | 0) >> 0] | 0) << $1885_1 | 0) >> $1885_1 | 0 | 0) != (0 | 0); + } + label$204 : { + if (!($1879_1 & 1 | 0)) { + break label$204 + } + HEAP32[($5_1 + 660 | 0) >> 2] = (HEAP32[($5_1 + 660 | 0) >> 2] | 0) + 1 | 0; + continue label$202; + } + break label$202; + }; + } + break label$192; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($3303(HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0) | 0) & 2147483647 | 0), HEAP32[(wasm2js_i32$0 + 660 | 0) >> 2] = wasm2js_i32$1; + } + break label$5; + case 9: + case 10: + case 14: + HEAP8[($5_1 + 330 | 0) >> 0] = ((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (14 | 0) & 1 | 0 ? 34 : 39; + label$205 : { + label$206 : { + if (!(((HEAPU8[($5_1 + 642 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$206 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $57(HEAP32[($5_1 + 560 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 324 | 0) >> 2] = wasm2js_i32$1; + break label$205; + } + $1924_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $1924_1 + 4 | 0; + HEAP32[($5_1 + 324 | 0) >> 2] = HEAP32[$1924_1 >> 2] | 0; + } + HEAP32[($5_1 + 336 | 0) >> 2] = (HEAP32[($5_1 + 324 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0; + label$207 : { + if (!(HEAP32[($5_1 + 336 | 0) >> 2] | 0)) { + break label$207 + } + HEAP32[($5_1 + 324 | 0) >> 2] = ((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (10 | 0) & 1 | 0 ? 1353 : 1358; + } + $1948_1 = 0; + HEAP32[($5_1 + 344 | 0) >> 2] = HEAP32[($5_1 + 664 | 0) >> 2] | 0; + HEAP32[($5_1 + 340 | 0) >> 2] = $1948_1; + HEAP32[($5_1 + 352 | 0) >> 2] = $1948_1; + label$208 : while (1) { + $1952_1 = 0; + label$209 : { + if (!(HEAP32[($5_1 + 344 | 0) >> 2] | 0)) { + break label$209 + } + $1957_1 = HEAPU8[((HEAP32[($5_1 + 324 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($5_1 + 331 | 0) >> 0] = $1957_1; + $1958_1 = 24; + $1952_1 = (($1957_1 << $1958_1 | 0) >> $1958_1 | 0 | 0) != (0 | 0); + } + label$210 : { + if (!($1952_1 & 1 | 0)) { + break label$210 + } + $1968_1 = 24; + $1972_1 = 24; + label$211 : { + if (!((((HEAPU8[($5_1 + 331 | 0) >> 0] | 0) << $1968_1 | 0) >> $1968_1 | 0 | 0) == (((HEAPU8[($5_1 + 330 | 0) >> 0] | 0) << $1972_1 | 0) >> $1972_1 | 0 | 0) & 1 | 0)) { + break label$211 + } + HEAP32[($5_1 + 340 | 0) >> 2] = (HEAP32[($5_1 + 340 | 0) >> 2] | 0) + 1 | 0; + } + label$212 : { + if (!((HEAPU8[($5_1 + 648 | 0) >> 0] | 0) & 255 | 0)) { + break label$212 + } + $1988_1 = 24; + if (!(((((HEAPU8[($5_1 + 331 | 0) >> 0] | 0) << $1988_1 | 0) >> $1988_1 | 0) & 192 | 0 | 0) == (192 | 0) & 1 | 0)) { + break label$212 + } + label$213 : { + label$214 : while (1) { + $2005_1 = 24; + if (!(((((HEAPU8[((HEAP32[($5_1 + 324 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $2005_1 | 0) >> $2005_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$213 + } + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 1 | 0; + continue label$214; + }; + } + } + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 344 | 0) >> 2] = (HEAP32[($5_1 + 344 | 0) >> 2] | 0) + -1 | 0; + continue label$208; + } + break label$208; + }; + $2026_1 = 0; + label$215 : { + if (HEAP32[($5_1 + 336 | 0) >> 2] | 0) { + break label$215 + } + $2026_1 = ((HEAPU8[($5_1 + 643 | 0) >> 0] | 0) & 255 | 0 | 0) == (10 | 0); + } + HEAP32[($5_1 + 332 | 0) >> 2] = $2026_1 & 1 | 0; + HEAP32[($5_1 + 340 | 0) >> 2] = (HEAP32[($5_1 + 340 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 3 | 0) | 0; + label$216 : { + label$217 : { + if (!((HEAP32[($5_1 + 340 | 0) >> 2] | 0 | 0) > (70 | 0) & 1 | 0)) { + break label$217 + } + i64toi32_i32$4 = HEAP32[($5_1 + 340 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$4 >> 31 | 0; + $2053_1 = $53(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($5_1 + 592 | 0) >> 2] = $2053_1; + HEAP32[($5_1 + 668 | 0) >> 2] = $2053_1; + label$218 : { + if (!((HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$218 + } + break label$6; + } + break label$216; + } + HEAP32[($5_1 + 668 | 0) >> 2] = $5_1 + 480 | 0; + } + HEAP32[($5_1 + 348 | 0) >> 2] = 0; + label$219 : { + if (!(HEAP32[($5_1 + 332 | 0) >> 2] | 0)) { + break label$219 + } + $2065_1 = HEAPU8[($5_1 + 330 | 0) >> 0] | 0; + $2066_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + $2067_1 = HEAP32[($5_1 + 348 | 0) >> 2] | 0; + HEAP32[($5_1 + 348 | 0) >> 2] = $2067_1 + 1 | 0; + HEAP8[($2066_1 + $2067_1 | 0) >> 0] = $2065_1; + } + HEAP32[($5_1 + 344 | 0) >> 2] = HEAP32[($5_1 + 352 | 0) >> 2] | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = 0; + label$220 : { + label$221 : while (1) { + if (!((HEAP32[($5_1 + 352 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 344 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$220 + } + $2083_1 = HEAPU8[((HEAP32[($5_1 + 324 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($5_1 + 331 | 0) >> 0] = $2083_1; + $2084_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + $2085_1 = HEAP32[($5_1 + 348 | 0) >> 2] | 0; + HEAP32[($5_1 + 348 | 0) >> 2] = $2085_1 + 1 | 0; + HEAP8[($2084_1 + $2085_1 | 0) >> 0] = $2083_1; + $2090_1 = 24; + $2094_1 = 24; + label$222 : { + if (!((((HEAPU8[($5_1 + 331 | 0) >> 0] | 0) << $2090_1 | 0) >> $2090_1 | 0 | 0) == (((HEAPU8[($5_1 + 330 | 0) >> 0] | 0) << $2094_1 | 0) >> $2094_1 | 0 | 0) & 1 | 0)) { + break label$222 + } + $2102_1 = HEAPU8[($5_1 + 331 | 0) >> 0] | 0; + $2103_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + $2104_1 = HEAP32[($5_1 + 348 | 0) >> 2] | 0; + HEAP32[($5_1 + 348 | 0) >> 2] = $2104_1 + 1 | 0; + HEAP8[($2103_1 + $2104_1 | 0) >> 0] = $2102_1; + } + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 1 | 0; + continue label$221; + }; + } + label$223 : { + if (!(HEAP32[($5_1 + 332 | 0) >> 2] | 0)) { + break label$223 + } + $2112_1 = HEAPU8[($5_1 + 330 | 0) >> 0] | 0; + $2113_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + $2114_1 = HEAP32[($5_1 + 348 | 0) >> 2] | 0; + HEAP32[($5_1 + 348 | 0) >> 2] = $2114_1 + 1 | 0; + HEAP8[($2113_1 + $2114_1 | 0) >> 0] = $2112_1; + } + HEAP8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + (HEAP32[($5_1 + 348 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($5_1 + 660 | 0) >> 2] = HEAP32[($5_1 + 348 | 0) >> 2] | 0; + break label$5; + case 11: + label$224 : { + if (((HEAPU8[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$224 + } + break label$6; + } + $2130_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $2130_1 + 4 | 0; + HEAP32[($5_1 + 320 | 0) >> 2] = HEAP32[$2130_1 >> 2] | 0; + label$225 : { + if (!((HEAP32[($5_1 + 320 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$225 + } + if (!(HEAP32[((HEAP32[($5_1 + 320 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$225 + } + $51(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 320 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 320 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + $2147_1 = 0; + HEAP32[($5_1 + 652 | 0) >> 2] = $2147_1; + HEAP32[($5_1 + 660 | 0) >> 2] = $2147_1; + break label$4; + case 12: + label$226 : { + if (((HEAPU8[((HEAP32[($5_1 + 684 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$226 + } + break label$6; + } + $2155_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $2155_1 + 4 | 0; + HEAP32[($5_1 + 316 | 0) >> 2] = HEAP32[$2155_1 >> 2] | 0; + $2159_1 = HEAP32[($5_1 + 676 | 0) >> 2] | 0; + HEAP32[($5_1 + 676 | 0) >> 2] = $2159_1 + 4 | 0; + HEAP32[($5_1 + 312 | 0) >> 2] = HEAP32[$2159_1 >> 2] | 0; + HEAP32[($5_1 + 308 | 0) >> 2] = ((HEAP32[($5_1 + 316 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 312 | 0) >> 2] | 0, 72) | 0; + label$227 : { + if (!((HEAP32[((HEAP32[($5_1 + 308 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$227 + } + $60(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 308 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $51(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, 1365 | 0, 1 | 0); + } + $2183_1 = 0; + $60(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 308 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 652 | 0) >> 2] = $2183_1; + HEAP32[($5_1 + 660 | 0) >> 2] = $2183_1; + break label$4; + default: + break label$54; + }; + } + } + global$0 = $5_1 + 688 | 0; + return; + } + label$228 : { + if (!((HEAPU8[($5_1 + 648 | 0) >> 0] | 0) & 255 | 0)) { + break label$228 + } + if (!((HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$228 + } + HEAP32[($5_1 + 356 | 0) >> 2] = (HEAP32[($5_1 + 660 | 0) >> 2] | 0) - 1 | 0; + label$229 : { + label$230 : while (1) { + if (!((HEAP32[($5_1 + 356 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$229 + } + $2210_1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + $2211_1 = HEAP32[($5_1 + 356 | 0) >> 2] | 0; + HEAP32[($5_1 + 356 | 0) >> 2] = $2211_1 + -1 | 0; + $2216_1 = 24; + label$231 : { + if (!(((((HEAPU8[($2210_1 + $2211_1 | 0) >> 0] | 0) << $2216_1 | 0) >> $2216_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$231 + } + HEAP32[($5_1 + 652 | 0) >> 2] = (HEAP32[($5_1 + 652 | 0) >> 2] | 0) + 1 | 0; + } + continue label$230; + }; + } + } + } + HEAP32[($5_1 + 652 | 0) >> 2] = (HEAP32[($5_1 + 652 | 0) >> 2] | 0) - (HEAP32[($5_1 + 660 | 0) >> 2] | 0) | 0; + label$232 : { + label$233 : { + if (!((HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$233 + } + label$234 : { + if (((HEAPU8[($5_1 + 651 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$234 + } + $2251_1 = 24; + $58(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0, (32 << $2251_1 | 0) >> $2251_1 | 0 | 0); + } + $51(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 660 | 0) >> 2] | 0 | 0); + label$235 : { + if (!(((HEAPU8[($5_1 + 651 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$235 + } + $2269_1 = 24; + $58(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0, (32 << $2269_1 | 0) >> $2269_1 | 0 | 0); + } + break label$232; + } + $51(HEAP32[($5_1 + 684 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 660 | 0) >> 2] | 0 | 0); + } + label$236 : { + if (!((HEAP32[($5_1 + 592 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$236 + } + $13(HEAP32[(HEAP32[($5_1 + 684 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 592 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 592 | 0) >> 2] = 0; + } + HEAP32[($5_1 + 680 | 0) >> 2] = (HEAP32[($5_1 + 680 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + + function $51($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $22_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $61(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + break label$1; + } + label$3 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$3 + } + $22_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($22_1 + 16 | 0) >> 2] = (HEAP32[($22_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0; + $3288((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0) | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $52($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15_1 = 0, $16_1 = 0, $14_1 = 0, $79_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + $14_1 = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $15_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $16_1 = HEAP32[($15_1 + 4 | 0) >> 2] | 0; + HEAP32[($15_1 + 4 | 0) >> 2] = $16_1 + 1 | 0; + i64toi32_i32$0 = $62(HEAP32[($14_1 + ($16_1 << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $79_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $79_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $53($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $51$hi = 0, $52$hi = 0, $55$hi = 0, $56$hi = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $52$hi = i64toi32_i32$1; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$3 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + label$3 : { + if (!($13_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $55$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $56$hi = i64toi32_i32$1; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $56$hi; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $16_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $17_1 = 0 + } else { + $17_1 = 1 + } + $18_1 = $17_1; + } else { + $18_1 = 0 + } + $16_1 = $18_1; + } + if (!($16_1 & 1 | 0)) { + break label$3 + } + $63(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 18 & 255 | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $64(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $63(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 7 & 255 | 0 | 0); + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + $48_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $48_1 | 0; + } + + function $54($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0, $17_1 = 0, $15_1 = 0, $28_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAPF64[($3_1 + 8 | 0) >> 3] = +(0 | 0); + break label$1; + } + $15_1 = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $16_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $17_1 = HEAP32[($16_1 + 4 | 0) >> 2] | 0; + HEAP32[($16_1 + 4 | 0) >> 2] = $17_1 + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_f64$0 = +$65(HEAP32[($15_1 + ($17_1 << 2 | 0) | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + } + $28_1 = +HEAPF64[($3_1 + 8 | 0) >> 3]; + global$0 = $3_1 + 16 | 0; + return +$28_1; + } + + function $55($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $3_1 = 0, $17$hi = 0, $24$hi = 0, $19$hi = 0, $20$hi = 0, $22$hi = 0, $12_1 = 0, $25$hi = 0, $26$hi = 0, $28$hi = 0, $44_1 = 0; + $3_1 = global$0 - 16 | 0; + i64toi32_i32$0 = 2146435072; + $17$hi = i64toi32_i32$0; + HEAPF64[($3_1 + 8 | 0) >> 3] = $0_1; + i64toi32_i32$2 = $3_1 + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $44_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[i64toi32_i32$0 >> 2] = $44_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $19$hi = i64toi32_i32$0; + i64toi32_i32$0 = 2146435072; + $20$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $22$hi = i64toi32_i32$1; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$3 = 0; + $12_1 = 0; + label$1 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $24$hi = i64toi32_i32$0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $25$hi = i64toi32_i32$1; + i64toi32_i32$1 = 1048575; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$2 = -1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $28$hi = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $24$hi; + i64toi32_i32$2 = 0; + $12_1 = (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | 0; + } + return $12_1 & 1 | 0 | 0; + } + + function $56($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $31_1 = 0, $14_1 = 0, $18_1 = 0, $46$hi = 0, $32_1 = 0, $50$hi = 0, $51$hi = 0, $52$hi = 0, $53$hi = 0, $54$hi = 0, $55$hi = 0, $56$hi = 0, $57$hi = 0, $41_1 = 0, $46_1 = 0, $103$hi = 0, $38_1 = 0, $48_1 = 0, $48$hi = 0, $49_1 = 0, $49$hi = 0, $50_1 = 0, $51_1 = 0, $52_1 = 0, $155_1 = 0, $54_1 = 0, $39_1 = 0, $58_1 = 0, $58$hi = 0, $59_1 = 0, $59$hi = 0, $43_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($4_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($4_1 + 79 | 0) >> 0] = 48; + break label$1; + } + $14_1 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + HEAP32[$14_1 >> 2] = (HEAP32[$14_1 >> 2] | 0) + -1 | 0; + $18_1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + $19_1 = 8; + i64toi32_i32$2 = $18_1 + $19_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $46_1 = i64toi32_i32$0; + $46$hi = i64toi32_i32$1; + i64toi32_i32$2 = $18_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $103$hi = i64toi32_i32$0; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$0 = $103$hi; + $38_1 = i64toi32_i32$1; + i64toi32_i32$1 = $46$hi; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3267($38_1 | 0, i64toi32_i32$0 | 0, $46_1 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + $3269($4_1 + 32 | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = ($4_1 + 32 | 0) + $19_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $48_1 = i64toi32_i32$1; + $48$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $49_1 = i64toi32_i32$0; + $49$hi = i64toi32_i32$1; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] = $48_1; + HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $49$hi; + HEAP32[(i64toi32_i32$0 + 48 | 0) >> 2] = $49_1; + HEAP32[(i64toi32_i32$0 + 52 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] = (HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] | 0) + 48 | 0; + $31_1 = HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] | 0; + $32_1 = $31_1 + $19_1 | 0; + i64toi32_i32$2 = $32_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $50_1 = i64toi32_i32$1; + $50$hi = i64toi32_i32$0; + i64toi32_i32$2 = $31_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $51_1 = i64toi32_i32$0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $52_1 = i64toi32_i32$1; + $52$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $53$hi = i64toi32_i32$1; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $53$hi; + $155_1 = i64toi32_i32$0; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$2 = $53$hi; + i64toi32_i32$3 = $52$hi; + $3275($4_1 + 16 | 0 | 0, $51_1 | 0, i64toi32_i32$1 | 0, $50_1 | 0, i64toi32_i32$0 | 0, $155_1 | 0, i64toi32_i32$2 | 0, $52_1 | 0, i64toi32_i32$3 | 0); + i64toi32_i32$0 = ($4_1 + 16 | 0) + $19_1 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $54_1 = i64toi32_i32$3; + $54$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $55$hi = i64toi32_i32$3; + i64toi32_i32$3 = 1073889280; + $56$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $57$hi = i64toi32_i32$3; + i64toi32_i32$3 = $55$hi; + i64toi32_i32$3 = $54$hi; + i64toi32_i32$3 = $57$hi; + i64toi32_i32$3 = $56$hi; + i64toi32_i32$3 = $55$hi; + $39_1 = i64toi32_i32$2; + i64toi32_i32$2 = $54$hi; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$1 = $56$hi; + $3273($4_1 | 0, $39_1 | 0, i64toi32_i32$3 | 0, $54_1 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$2 = $4_1 + $19_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $58_1 = i64toi32_i32$1; + $58$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $59_1 = i64toi32_i32$0; + $59$hi = i64toi32_i32$1; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$0 = $32_1; + HEAP32[i64toi32_i32$0 >> 2] = $58_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$0 = $31_1; + HEAP32[i64toi32_i32$0 >> 2] = $59_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP8[($4_1 + 79 | 0) >> 0] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + } + $41_1 = 24; + $43_1 = ((HEAPU8[($4_1 + 79 | 0) >> 0] | 0) << $41_1 | 0) >> $41_1 | 0; + global$0 = $4_1 + 80 | 0; + return $43_1 | 0; + } + + function $57($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0, $17_1 = 0, $15_1 = 0, $25_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $15_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $16_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $17_1 = HEAP32[($16_1 + 4 | 0) >> 2] | 0; + HEAP32[($16_1 + 4 | 0) >> 2] = $17_1 + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $66(HEAP32[($15_1 + ($17_1 << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $25_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $25_1 | 0; + } + + function $58($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $48$hi = 0, i64toi32_i32$2 = 0, $47$hi = 0, $45$hi = 0, $46$hi = 0, i64toi32_i32$4 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $20_1 = 0, $27_1 = 0, $38_1 = 0, $39_1 = 0, $75_1 = 0, $35_1 = 0, $37_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 7 | 0) >> 0] = $2_1; + i64toi32_i32$0 = 0; + $45$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $46$hi = i64toi32_i32$0; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $46$hi; + $75_1 = i64toi32_i32$1; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$3 = $75_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $47$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $48$hi = i64toi32_i32$5; + i64toi32_i32$5 = $47$hi; + i64toi32_i32$5 = $48$hi; + i64toi32_i32$5 = $47$hi; + i64toi32_i32$5 = $48$hi; + i64toi32_i32$5 = $47$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$3 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + if ((i64toi32_i32$5 | 0) > ($48$hi | 0)) { + $21_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + $22_1 = 0 + } else { + $22_1 = 1 + } + $23_1 = $22_1; + } else { + $23_1 = 0 + } + $21_1 = $23_1; + } + label$1 : { + label$2 : { + if (!($21_1 & 1 | 0)) { + break label$2 + } + $20_1 = $67(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $20_1; + if (!(($20_1 | 0) <= (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : while (1) { + $27_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $27_1 + -1 | 0; + if (!(($27_1 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $35_1 = HEAPU8[($5_1 + 7 | 0) >> 0] | 0; + $37_1 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $38_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $39_1 = HEAP32[($38_1 + 16 | 0) >> 2] | 0; + HEAP32[($38_1 + 16 | 0) >> 2] = $39_1 + 1 | 0; + HEAP8[($37_1 + $39_1 | 0) >> 0] = $35_1; + continue label$3; + }; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $59($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $45_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 324 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + label$4 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 316 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 128; + break label$1; + } + label$5 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 320 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 278 | 0) >> 1] | 0) & 65535 | 0; + break label$1; + } + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68412 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $45_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $45_1 | 0; + } + + function $60($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $51(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $68(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $61($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $67(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $3288((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $24_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($24_1 + 16 | 0) >> 2] = (HEAP32[($24_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $62($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $240(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + global$0 = $3_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $63($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 11 | 0) >> 0] = $1_1; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] = HEAPU8[($4_1 + 11 | 0) >> 0] | 0; + label$1 : { + if (!(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$1 + } + $69(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + label$2 : { + if (!(((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) == (18 | 0) & 1 | 0)) { + break label$2 + } + $264(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $64($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $365(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $39(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + $16_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $16_1 | 0; + } + + function $65($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0.0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = +$237(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return +$7_1; + } + + function $66($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $8_1 = $232(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $67($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $148$hi = 0, $149$hi = 0, $155$hi = 0, $156$hi = 0, $37_1 = 0, $143$hi = 0, $146$hi = 0, $147$hi = 0, $24_1 = 0, $25_1 = 0, $26_1 = 0, $152$hi = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $126_1 = 0, $143_1 = 0, $259$hi = 0, $302$hi = 0, $124_1 = 0, $139_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$3 + } + $63(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 18 & 255 | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0) - 1 | 0; + break label$1; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$5 + } + $37_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + } + $37_1 = 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = $37_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $143_1 = i64toi32_i32$1; + $143$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $259$hi = i64toi32_i32$1; + i64toi32_i32$1 = $143$hi; + i64toi32_i32$1 = $259$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $143$hi; + i64toi32_i32$3 = $143_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $4_1; + HEAP32[$4_1 >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $146$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $147$hi = i64toi32_i32$2; + i64toi32_i32$2 = $146$hi; + i64toi32_i32$2 = $147$hi; + i64toi32_i32$2 = $146$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $147$hi; + i64toi32_i32$3 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $148$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $149$hi = i64toi32_i32$4; + i64toi32_i32$4 = $148$hi; + i64toi32_i32$4 = $149$hi; + i64toi32_i32$4 = $148$hi; + i64toi32_i32$4 = $149$hi; + i64toi32_i32$4 = $148$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = $149$hi; + i64toi32_i32$3 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$1 | 0)) { + $24_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $25_1 = 0 + } else { + $25_1 = 1 + } + $26_1 = $25_1; + } else { + $26_1 = 0 + } + $24_1 = $26_1; + } + label$6 : { + if (!($24_1 & 1 | 0)) { + break label$6 + } + i64toi32_i32$2 = 0; + $152$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $302$hi = i64toi32_i32$4; + i64toi32_i32$4 = $152$hi; + i64toi32_i32$4 = $302$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $152$hi; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$3 = $4_1; + HEAP32[$4_1 >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$4 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $155$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $156$hi = i64toi32_i32$3; + i64toi32_i32$3 = $155$hi; + i64toi32_i32$3 = $156$hi; + i64toi32_i32$3 = $155$hi; + i64toi32_i32$3 = $156$hi; + i64toi32_i32$3 = $155$hi; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$0 = $156$hi; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$0 | 0)) { + $27_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$4 >>> 0 <= i64toi32_i32$1 >>> 0) { + $28_1 = 0 + } else { + $28_1 = 1 + } + $29_1 = $28_1; + } else { + $29_1 = 0 + } + $27_1 = $29_1; + } + label$7 : { + if (!($27_1 & 1 | 0)) { + break label$7 + } + $69(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + $63(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 18 & 255 | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$4 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = i64toi32_i32$4; + label$8 : { + label$9 : { + if (!((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$3 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $70(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$8; + } + i64toi32_i32$3 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $45(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + label$11 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + if (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$12 + } + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$12 + } + $3288(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + $124_1 = $59(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $124_1; + $126_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP8[($126_1 + 21 | 0) >> 0] = (HEAPU8[($126_1 + 21 | 0) >> 0] | 0) & 255 | 0 | 4 | 0; + break label$10; + } + $69(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + $63(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 7 & 255 | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + $139_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $139_1 | 0; + } + + function $68($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = ($3303(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0) & 1073741823 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $16_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $16_1 | 0; + } + + function $69($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $20_1 = 0, $14_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$1 + } + $13(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $14_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP8[($14_1 + 21 | 0) >> 0] = ((HEAPU8[($14_1 + 21 | 0) >> 0] | 0) & 255 | 0) & -5 | 0; + } + $20_1 = 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $20_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $20_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $20_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $70($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $58$hi = 0, $62$hi = 0, $63$hi = 0, $60$hi = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 324 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 316 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + i64toi32_i32$1 = 0; + $58$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $60$hi = i64toi32_i32$0; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$3 = 128; + label$6 : { + if (!((i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$1; + } + break label$4; + } + label$7 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 320 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $62$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $63$hi = i64toi32_i32$0; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$1 = (HEAPU16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 278 | 0) >> 1] | 0) & 65535 | 0; + label$8 : { + if (!((i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0 | 0) | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$1; + } + } + } + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $540(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $54_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $54_1 | 0; + } + + function $71($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (68632 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $72(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + } + $22_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $22_1 | 0; + } + + function $72($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$3 + } + if (((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $73(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + $36_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $36_1 | 0; + } + + function $73($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $26_1 = 0, i64toi32_i32$0 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $64(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 1 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $3288(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $26_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP8[($26_1 + 21 | 0) >> 0] = (HEAPU8[($26_1 + 21 | 0) >> 0] | 0) & 255 | 0 | 4 | 0; + break label$1; + } + $63(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 7 & 255 | 0 | 0); + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $38_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $38_1 | 0; + } + + function $74($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0; + break label$1; + } + $15_1 = 7; + } + return $15_1 | 0; + } + + function $75($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) { + break label$2 + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP8[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $76($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $25_1 = 0, $22_1 = 0, i64toi32_i32$0 = 0, $13_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41(24 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $13_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $22_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + break label$3; + } + $22_1 = 1e9; + } + $25_1 = 0; + $77($13_1 | 0, $25_1 | 0, $25_1 | 0, $25_1 | 0, $22_1 | 0); + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 68632; + } + $27_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $27_1 | 0; + } + + function $77($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0; + $7_1 = global$0 - 32 | 0; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + HEAP8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 0] = $8_1; + HEAP8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 21 | 0) >> 0] = $8_1; + return; + } + + function $78($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 116 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!($25() | 0)) { + break label$2 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 0; + break label$1; + } + $9_1 = $4_1 + 8 | 0; + $77($9_1 | 0, 0 | 0, $4_1 + 32 | 0 | 0, 70 | 0, 1e9 | 0); + $50($9_1 | 0, HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $72($9_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 124 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + } + $20_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + global$0 = $4_1 + 128 | 0; + return $20_1 | 0; + } + + function $79($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!($25() | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $78(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + $14_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $14_1 | 0; + } + + function $80($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $17_1 = 0, $26_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + $17_1 = 0; + $77($6_1 | 0, $17_1 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $17_1 | 0); + $50($6_1 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + $26_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $26_1 | 0; + } + + function $81($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $80(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $15_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $15_1 | 0; + } + + function $82($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[(0 + 68604 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $83(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $83($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, $9_1 = 0, $15_1 = 0; + $5_1 = global$0 - 256 | 0; + global$0 = $5_1; + $8_1 = $5_1 + 216 | 0; + $9_1 = 0; + HEAP32[($5_1 + 252 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 248 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 244 | 0) >> 2] = $2_1; + $77($8_1 | 0, $9_1 | 0, $5_1 | 0, 210 | 0, $9_1 | 0); + $50($8_1 | 0, HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0); + $15_1 = HEAP32[(0 + 68604 | 0) >> 2] | 0; + FUNCTION_TABLE[$15_1 | 0](HEAP32[(0 + 68608 | 0) >> 2] | 0, HEAP32[($5_1 + 252 | 0) >> 2] | 0, $72($8_1 | 0) | 0); + global$0 = $5_1 + 256 | 0; + return; + } + + function $84($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $50(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $85($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $33_1 = 0, $36_1 = 0, $68_1 = 0, $144_1 = 0, $149_1 = 0, $143_1 = 0; + $4_1 = global$0 - 288 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 284 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 280 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 272 | 0) >> 2] = HEAP32[($4_1 + 280 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!($25() | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if ((HEAP32[($4_1 + 284 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[($4_1 + 280 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP8[(0 + 114136 | 0) >> 0] = 0; + break label$1; + } + label$5 : { + if (((HEAPU8[(0 + 114136 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$5 + } + $33_1 = 0; + $36_1 = 0; + HEAP8[(0 + 114138 | 0) >> 0] = $36_1; + HEAP8[(0 + 114137 | 0) >> 0] = $36_1; + $86($24($33_1 | 0) | 0 | 0, 256 | 0, $4_1 | 0) | 0; + HEAP32[($4_1 + 268 | 0) >> 2] = $33_1; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 268 | 0) >> 2] | 0 | 0) < (256 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[((HEAP32[($4_1 + 268 | 0) >> 2] | 0) + 114139 | 0) >> 0] = HEAP32[($4_1 + 268 | 0) >> 2] | 0; + HEAP32[($4_1 + 268 | 0) >> 2] = (HEAP32[($4_1 + 268 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($4_1 + 268 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($4_1 + 268 | 0) >> 2] | 0 | 0) < (256 | 0) & 1 | 0)) { + break label$8 + } + $68_1 = 24; + HEAP8[(0 + 114138 | 0) >> 0] = ((HEAPU8[(0 + 114138 | 0) >> 0] | 0) & 255 | 0) + (((HEAPU8[((HEAP32[($4_1 + 268 | 0) >> 2] | 0) + 114139 | 0) >> 0] | 0) & 255 | 0) + (((HEAPU8[($4_1 + (HEAP32[($4_1 + 268 | 0) >> 2] | 0) | 0) >> 0] | 0) << $68_1 | 0) >> $68_1 | 0) | 0) | 0; + HEAP8[($4_1 + 279 | 0) >> 0] = HEAPU8[(((HEAPU8[(0 + 114138 | 0) >> 0] | 0) & 255 | 0) + 114139 | 0) >> 0] | 0; + HEAP8[(((HEAPU8[(0 + 114138 | 0) >> 0] | 0) & 255 | 0) + 114139 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 268 | 0) >> 2] | 0) + 114139 | 0) >> 0] | 0; + HEAP8[((HEAP32[($4_1 + 268 | 0) >> 2] | 0) + 114139 | 0) >> 0] = HEAPU8[($4_1 + 279 | 0) >> 0] | 0; + HEAP32[($4_1 + 268 | 0) >> 2] = (HEAP32[($4_1 + 268 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + HEAP8[(0 + 114136 | 0) >> 0] = 1; + } + label$10 : while (1) { + HEAP8[(0 + 114137 | 0) >> 0] = (HEAPU8[(0 + 114137 | 0) >> 0] | 0) + 1 | 0; + HEAP8[($4_1 + 279 | 0) >> 0] = HEAPU8[(((HEAPU8[(0 + 114137 | 0) >> 0] | 0) & 255 | 0) + 114139 | 0) >> 0] | 0; + HEAP8[(0 + 114138 | 0) >> 0] = ((HEAPU8[(0 + 114138 | 0) >> 0] | 0) & 255 | 0) + ((HEAPU8[($4_1 + 279 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP8[(((HEAPU8[(0 + 114137 | 0) >> 0] | 0) & 255 | 0) + 114139 | 0) >> 0] = HEAPU8[(((HEAPU8[(0 + 114138 | 0) >> 0] | 0) & 255 | 0) + 114139 | 0) >> 0] | 0; + HEAP8[(((HEAPU8[(0 + 114138 | 0) >> 0] | 0) & 255 | 0) + 114139 | 0) >> 0] = HEAPU8[($4_1 + 279 | 0) >> 0] | 0; + HEAP8[($4_1 + 279 | 0) >> 0] = ((HEAPU8[($4_1 + 279 | 0) >> 0] | 0) & 255 | 0) + ((HEAPU8[(((HEAPU8[(0 + 114137 | 0) >> 0] | 0) & 255 | 0) + 114139 | 0) >> 0] | 0) & 255 | 0) | 0; + $143_1 = HEAPU8[(((HEAPU8[($4_1 + 279 | 0) >> 0] | 0) & 255 | 0) + 114139 | 0) >> 0] | 0; + $144_1 = HEAP32[($4_1 + 272 | 0) >> 2] | 0; + HEAP32[($4_1 + 272 | 0) >> 2] = $144_1 + 1 | 0; + HEAP8[$144_1 >> 0] = $143_1; + $149_1 = (HEAP32[($4_1 + 284 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 284 | 0) >> 2] = $149_1; + if ($149_1) { + continue label$10 + } + break label$10; + }; + } + global$0 = $4_1 + 288 | 0; + return; + } + + function $86($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(HEAP32[(0 + 68628 | 0) >> 2] | 0)) { + break label$2 + } + $3289(HEAP32[$5_1 >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + label$3 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 4 | 0) >> 2] = 4; + } + $3288(HEAP32[$5_1 >> 2] | 0 | 0, 68628 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 8 | 0) >> 2] | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0, HEAP32[$5_1 >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $29_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $29_1 | 0; + } + + function $87($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $13_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != ($13_1 | 0) & 1 | 0 ? -1 : $13_1; + break label$1; + } + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $88(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $32_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $32_1 | 0; + } + + function $88($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$5 + } + break label$1; + } + break label$3; + } + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1376 | 0) >> 0] | 0) & 255 | 0) - ((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1376 | 0) >> 0] | 0) & 255 | 0) | 0; + label$6 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$6 + } + break label$1; + } + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $89($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $42_1 = 0, $14_1 = 0, $34_1 = 0, $82_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != ($14_1 | 0) & 1 | 0 ? -1 : $14_1; + break label$1; + } + label$3 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + label$4 : while (1) { + $34_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $34_1 + -1 | 0; + $42_1 = 0; + label$5 : { + if (!(($34_1 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + $42_1 = 0; + if (!((HEAPU8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$5 + } + $42_1 = ((HEAPU8[(((HEAPU8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[(((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0 | 0); + } + label$6 : { + if (!($42_1 & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$8 + } + $82_1 = 0; + break label$7; + } + $82_1 = ((HEAPU8[(((HEAPU8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0) - ((HEAPU8[(((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0) | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = $82_1; + } + return HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $90() { + var $2_1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + HEAP32[($2_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($2_1 + 12 | 0) >> 2] | 0) >>> 0 < 4 >>> 0 & 1 | 0)) { + break label$1 + } + $31(68656 + Math_imul(HEAP32[($2_1 + 12 | 0) >> 2] | 0, 88) | 0 | 0, (HEAP32[($2_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0 | 0) | 0; + HEAP32[($2_1 + 12 | 0) >> 2] = (HEAP32[($2_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[(0 + 114396 | 0) >> 2] = 8; + global$0 = $2_1 + 16 | 0; + return 0 | 0; + } + + function $91($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $312_1 = 0, $71_1 = 0, $9_1 = 0, $40_1 = 0, $31_1 = 0, $67_1 = 0, $228_1 = 0, $309_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 624 | 0; + global$0 = $7_1; + $9_1 = 0; + HEAP32[($7_1 + 616 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 612 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 608 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 604 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 600 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 596 | 0) >> 2] = HEAP32[($7_1 + 608 | 0) >> 2] | 0; + HEAP32[($7_1 + 592 | 0) >> 2] = -1; + HEAP32[($7_1 + 588 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 584 | 0) >> 2] = (HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 1048320 | 0; + HEAP32[($7_1 + 576 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 572 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 568 | 0) >> 2] = (HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 16 | 0; + HEAP32[($7_1 + 564 | 0) >> 2] = (HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 8 | 0; + HEAP32[($7_1 + 560 | 0) >> 2] = (HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 4 | 0; + HEAP32[($7_1 + 556 | 0) >> 2] = (HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 1 | 0; + HEAP32[($7_1 + 552 | 0) >> 2] = (HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 2 | 0; + $31_1 = 0; + label$1 : { + if (!(HEAP32[($7_1 + 560 | 0) >> 2] | 0)) { + break label$1 + } + $40_1 = 1; + label$2 : { + if ((HEAP32[($7_1 + 584 | 0) >> 2] | 0 | 0) == (16384 | 0) & 1 | 0) { + break label$2 + } + $40_1 = 1; + if ((HEAP32[($7_1 + 584 | 0) >> 2] | 0 | 0) == (2048 | 0) & 1 | 0) { + break label$2 + } + $40_1 = (HEAP32[($7_1 + 584 | 0) >> 2] | 0 | 0) == (524288 | 0); + } + $31_1 = $40_1; + } + HEAP32[($7_1 + 548 | 0) >> 2] = $31_1 & 1 | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 612 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[(0 + 114508 | 0) >> 2] | 0 | 0) != ($3248() | 0 | 0) & 1 | 0)) { + break label$3 + } + $67_1 = 0; + (wasm2js_i32$0 = 0, wasm2js_i32$1 = $3248() | 0), HEAP32[(wasm2js_i32$0 + 114508 | 0) >> 2] = wasm2js_i32$1; + $85($67_1 | 0, $67_1 | 0); + } + $71_1 = HEAP32[($7_1 + 596 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $312_1 = 0; + i64toi32_i32$1 = $71_1; + HEAP32[i64toi32_i32$1 >> 2] = $312_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $312_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $71_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $312_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $71_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $312_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $71_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $312_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $71_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $312_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$4 : { + label$5 : { + label$6 : { + if (!((HEAP32[($7_1 + 584 | 0) >> 2] | 0 | 0) == (256 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $92(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 604 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 592 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + break label$7; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $41(12 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if ((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + HEAP32[($7_1 + 620 | 0) >> 2] = 7; + break label$4; + } + } + HEAP32[((HEAP32[($7_1 + 596 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + break label$5; + } + label$10 : { + if ((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $93(HEAP32[((HEAP32[($7_1 + 616 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $7_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 576 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($7_1 + 576 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($7_1 + 620 | 0) >> 2] = HEAP32[($7_1 + 576 | 0) >> 2] | 0; + break label$4; + } + HEAP32[($7_1 + 28 | 0) >> 2] = $7_1 + 32 | 0; + } + } + label$12 : { + if (!(HEAP32[($7_1 + 556 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($7_1 + 588 | 0) >> 2] = HEAP32[($7_1 + 588 | 0) >> 2] | 0; + } + label$13 : { + if (!(HEAP32[($7_1 + 552 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[($7_1 + 588 | 0) >> 2] = HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 2 | 0; + } + label$14 : { + if (!(HEAP32[($7_1 + 560 | 0) >> 2] | 0)) { + break label$14 + } + HEAP32[($7_1 + 588 | 0) >> 2] = HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 64 | 0; + } + label$15 : { + if (!(HEAP32[($7_1 + 568 | 0) >> 2] | 0)) { + break label$15 + } + HEAP32[($7_1 + 588 | 0) >> 2] = HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 131200 | 0; + } + HEAP32[($7_1 + 588 | 0) >> 2] = HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 131072 | 0; + label$16 : { + label$17 : { + if (!((HEAP32[($7_1 + 592 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $94(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 604 | 0) >> 2] | 0 | 0, $7_1 + 20 | 0 | 0, $7_1 + 16 | 0 | 0, $7_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 576 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!(HEAP32[($7_1 + 576 | 0) >> 2] | 0)) { + break label$18 + } + HEAP32[($7_1 + 620 | 0) >> 2] = HEAP32[($7_1 + 576 | 0) >> 2] | 0; + break label$4; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $95(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 592 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + if (!((HEAP32[($7_1 + 592 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$19 + } + label$20 : { + label$21 : { + if (!(HEAP32[($7_1 + 548 | 0) >> 2] | 0)) { + break label$21 + } + if (!((HEAP32[($3169() | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$21 + } + if (!(FUNCTION_TABLE[HEAP32[(0 + 69052 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 28 | 0) >> 2] | 0, 0) | 0)) { + break label$21 + } + HEAP32[($7_1 + 576 | 0) >> 2] = 1544; + break label$20; + } + label$22 : { + if (!((HEAP32[($3169() | 0) >> 2] | 0 | 0) != (31 | 0) & 1 | 0)) { + break label$22 + } + if (!(HEAP32[($7_1 + 552 | 0) >> 2] | 0)) { + break label$22 + } + HEAP32[($7_1 + 604 | 0) >> 2] = (HEAP32[($7_1 + 604 | 0) >> 2] | 0) & -7 | 0; + HEAP32[($7_1 + 588 | 0) >> 2] = (HEAP32[($7_1 + 588 | 0) >> 2] | 0) & -67 | 0; + HEAP32[($7_1 + 604 | 0) >> 2] = HEAP32[($7_1 + 604 | 0) >> 2] | 0 | 1 | 0; + HEAP32[($7_1 + 588 | 0) >> 2] = HEAP32[($7_1 + 588 | 0) >> 2] | 0; + HEAP32[($7_1 + 556 | 0) >> 2] = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $95(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 592 | 0) >> 2] = wasm2js_i32$1; + } + } + } + label$23 : { + if (!((HEAP32[($7_1 + 592 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$23 + } + $228_1 = 39794; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $97($96($228_1 | 0) | 0 | 0, 3916 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, $228_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (HEAP32[($7_1 + 576 | 0) >> 2] | 0) { + break label$24 + } + HEAP32[($7_1 + 576 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + } + break label$16; + } + label$25 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$25 + } + if (!((HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 526336 | 0)) { + break label$25 + } + $98(HEAP32[($7_1 + 592 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + } + label$26 : { + if (!((HEAP32[($7_1 + 600 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[(HEAP32[($7_1 + 600 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 604 | 0) >> 2] | 0; + } + label$27 : { + if (!((HEAP32[((HEAP32[($7_1 + 596 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[(HEAP32[((HEAP32[($7_1 + 596 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 592 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($7_1 + 596 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 3 | 0; + } + label$28 : { + if (!(HEAP32[($7_1 + 564 | 0) >> 2] | 0)) { + break label$28 + } + FUNCTION_TABLE[HEAP32[(0 + 69220 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0; + } + label$29 : { + if (!(HEAP32[($7_1 + 564 | 0) >> 2] | 0)) { + break label$29 + } + HEAP32[($7_1 + 572 | 0) >> 2] = HEAP32[($7_1 + 572 | 0) >> 2] | 0 | 32 | 0; + } + label$30 : { + if (!(HEAP32[($7_1 + 556 | 0) >> 2] | 0)) { + break label$30 + } + HEAP32[($7_1 + 572 | 0) >> 2] = HEAP32[($7_1 + 572 | 0) >> 2] | 0 | 2 | 0; + } + HEAP32[($7_1 + 580 | 0) >> 2] = (HEAP32[($7_1 + 584 | 0) >> 2] | 0 | 0) != (256 | 0) & 1 | 0; + label$31 : { + if (!(HEAP32[($7_1 + 580 | 0) >> 2] | 0)) { + break label$31 + } + HEAP32[($7_1 + 572 | 0) >> 2] = HEAP32[($7_1 + 572 | 0) >> 2] | 0 | 128 | 0; + } + label$32 : { + if (!(HEAP32[($7_1 + 548 | 0) >> 2] | 0)) { + break label$32 + } + HEAP32[($7_1 + 572 | 0) >> 2] = HEAP32[($7_1 + 572 | 0) >> 2] | 0 | 8 | 0; + } + label$33 : { + if (!((HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 64 | 0)) { + break label$33 + } + HEAP32[($7_1 + 572 | 0) >> 2] = HEAP32[($7_1 + 572 | 0) >> 2] | 0 | 64 | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $99(HEAP32[($7_1 + 616 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 592 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 608 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 612 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 572 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 576 | 0) >> 2] = wasm2js_i32$1; + } + label$34 : { + if (!(HEAP32[($7_1 + 576 | 0) >> 2] | 0)) { + break label$34 + } + $42(HEAP32[((HEAP32[($7_1 + 596 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 620 | 0) >> 2] = HEAP32[($7_1 + 576 | 0) >> 2] | 0; + } + $309_1 = HEAP32[($7_1 + 620 | 0) >> 2] | 0; + global$0 = $7_1 + 624 | 0; + return $309_1 | 0; + } + + function $92($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $107$hi = 0, $108$hi = 0, $5_1 = 0, $36_1 = 0, $46_1 = 0, $77_1 = 0, $107_1 = 0, $198_1 = 0, $104_1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $5_1; + $548(); + label$1 : { + if (!((HEAP32[(0 + 114504 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + if (!((0 | 0) == (FUNCTION_TABLE[HEAP32[(0 + 69076 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 108 | 0) >> 2] | 0, $4_1 + 8 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(0 + 114504 | 0) >> 2] | 0; + label$2 : while (1) { + $36_1 = 0; + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $46_1 = 1; + label$4 : { + if ((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $107_1 = i64toi32_i32$0; + $107$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + $108$hi = i64toi32_i32$0; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$0 = $108$hi; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$0 = $108$hi; + $198_1 = i64toi32_i32$1; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$2 = $107_1; + i64toi32_i32$1 = $108$hi; + $46_1 = (i64toi32_i32$2 | 0) != ($198_1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0; + } + $36_1 = $46_1; + } + label$5 : { + if (!($36_1 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + continue label$2; + } + break label$2; + }; + label$6 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 104 | 0) >> 2] = (HEAP32[($4_1 + 104 | 0) >> 2] | 0) & 3 | 0; + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0; + label$7 : while (1) { + $77_1 = 0; + label$8 : { + if (!((HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $77_1 = (HEAP32[((HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0); + } + label$9 : { + if (!($77_1 & 1 | 0)) { + break label$9 + } + HEAP32[$4_1 >> 2] = (HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0) + 8 | 0; + continue label$7; + } + break label$7; + }; + HEAP32[($4_1 + 100 | 0) >> 2] = HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0; + label$10 : { + if (!((HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + } + } + $552(); + $104_1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $104_1 | 0; + } + + function $93($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, i64toi32_i32$0 = 0, $39_1 = 0, $43_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, i64toi32_i32$1 = 0, $126_1 = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $5_1; + HEAP8[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 0] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $590() | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 6410; + break label$1; + } + label$3 : while (1) { + $85(8 | 0, $4_1 + 32 | 0 | 0); + HEAP8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 56 | 0) >> 2] | 0) - 2 | 0) | 0) >> 0] = 0; + $26_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + $27_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $28_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + $126_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $126_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[$4_1 >> 2] = $28_1; + $81($26_1 | 0, $27_1 | 0, 4263 | 0, $4_1 | 0) | 0; + $39_1 = 24; + label$4 : { + label$5 : { + if (((HEAPU8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 56 | 0) >> 2] | 0) - 2 | 0) | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0) { + break label$5 + } + $43_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $43_1 + 1 | 0; + if (!(($43_1 | 0) > (10 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + break label$1; + } + if (!(FUNCTION_TABLE[HEAP32[(0 + 69052 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 52 | 0) >> 2] | 0, 0) | 0)) { + continue label$3 + } + break label$3; + }; + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + } + $58_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $58_1 | 0; + } + + function $94($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $52_1 = 0, $24_1 = 0, $38_1 = 0, $86_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 560 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 552 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 548 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 544 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 540 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 536 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 532 | 0) >> 2] = $8_1; + HEAP32[(HEAP32[($7_1 + 544 | 0) >> 2] | 0) >> 2] = $8_1; + HEAP32[(HEAP32[($7_1 + 540 | 0) >> 2] | 0) >> 2] = $8_1; + HEAP32[(HEAP32[($7_1 + 536 | 0) >> 2] | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 548 | 0) >> 2] | 0) & 526336 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($68(HEAP32[($7_1 + 552 | 0) >> 2] | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : while (1) { + $24_1 = 24; + if (!((((HEAPU8[((HEAP32[($7_1 + 552 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0 | 0) != (45 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : { + if (!(HEAP32[($7_1 + 12 | 0) >> 2] | 0)) { + break label$7 + } + $38_1 = 24; + if (!((((HEAPU8[((HEAP32[($7_1 + 552 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $38_1 | 0) >> $38_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[($7_1 + 556 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$5; + }; + } + $52_1 = $7_1 + 16 | 0; + $3288($52_1 | 0, HEAP32[($7_1 + 552 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP8[($52_1 + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $591($52_1 | 0, HEAP32[($7_1 + 544 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 540 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 532 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + label$8 : { + label$9 : { + if (!((HEAP32[($7_1 + 548 | 0) >> 2] | 0) & 8 | 0)) { + break label$9 + } + HEAP32[(HEAP32[($7_1 + 544 | 0) >> 2] | 0) >> 2] = 384; + break label$8; + } + label$10 : { + if (!((HEAP32[($7_1 + 548 | 0) >> 2] | 0) & 64 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $523(HEAP32[($7_1 + 552 | 0) >> 2] | 0 | 0, 4344 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $591(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 544 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 540 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 532 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + HEAP32[($7_1 + 556 | 0) >> 2] = HEAP32[($7_1 + 532 | 0) >> 2] | 0; + } + $86_1 = HEAP32[($7_1 + 556 | 0) >> 2] | 0; + global$0 = $7_1 + 560 | 0; + return $86_1 | 0; + } + + function $95($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $94$hi = 0, $8_1 = 0, $48_1 = 0, $96$hi = 0, $44_1 = 0, i64toi32_i32$2 = 0, $91_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 128 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 116 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(HEAP32[($5_1 + 116 | 0) >> 2] | 0)) { + break label$2 + } + $8_1 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + break label$1; + } + $8_1 = 420; + } + HEAP32[($5_1 + 108 | 0) >> 2] = $8_1; + label$3 : { + label$4 : while (1) { + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69028 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 124 | 0) >> 2] | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 524288 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[($3169() | 0) >> 2] | 0 | 0) == (27 | 0) & 1 | 0)) { + break label$6 + } + continue label$4; + } + break label$3; + } + label$7 : { + if (!((HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$7 + } + break label$3; + } + FUNCTION_TABLE[HEAP32[(0 + 69040 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 112 | 0) >> 2] | 0) | 0; + $44_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $44_1; + $82(28 | 0, 4126 | 0, $5_1 | 0); + $48_1 = 0; + HEAP32[($5_1 + 112 | 0) >> 2] = -1; + label$8 : { + if (!((FUNCTION_TABLE[HEAP32[(0 + 69028 | 0) >> 2] | 0 | 0](4169, $48_1, HEAP32[($5_1 + 116 | 0) >> 2] | 0) | 0 | 0) < ($48_1 | 0) & 1 | 0)) { + break label$8 + } + break label$3; + } + continue label$4; + }; + } + label$9 : { + if (!((HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!(HEAP32[($5_1 + 116 | 0) >> 2] | 0)) { + break label$10 + } + label$11 : { + if (FUNCTION_TABLE[HEAP32[(0 + 69088 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 112 | 0) >> 2] | 0, $5_1 + 16 | 0) | 0) { + break label$11 + } + i64toi32_i32$0 = 0; + $94$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + $96$hi = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $94$hi; + if (!(((i64toi32_i32$2 | 0) == (0 | 0) & ($96$hi | 0) == ($94$hi | 0) | 0) & 1 | 0)) { + break label$11 + } + if (!(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) & 511 | 0 | 0) != (HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + FUNCTION_TABLE[HEAP32[(0 + 69196 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 112 | 0) >> 2] | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0) | 0; + } + } + } + $91_1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + global$0 = $5_1 + 128 | 0; + return $91_1 | 0; + } + + function $96($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = $6(14 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 4210 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $97($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = HEAP32[($3169() | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3171(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 36 | 0) >> 2] = 1352; + } + $19_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $20_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + $21_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $22_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + $23_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $23_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $22_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $21_1; + HEAP32[$6_1 >> 2] = $20_1; + $82($19_1 | 0, 4179 | 0, $6_1 | 0); + $28_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $28_1 | 0; + } + + function $98($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(FUNCTION_TABLE[HEAP32[(0 + 69280 | 0) >> 2] | 0 | 0]() | 0)) { + break label$2 + } + $10_1 = 0; + break label$1; + } + $10_1 = FUNCTION_TABLE[HEAP32[(0 + 69268 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 12 | 0) >> 2] | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0; + } + global$0 = $5_1 + 16 | 0; + return $10_1 | 0; + } + + function $99($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $24_1 = 0, $30_1 = 0, $40_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $95_1 = 0, $96_1 = 0, $117_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP16[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 1] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) & 255 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0) & 64 | 0)) { + break label$2 + } + $24_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + break label$1; + } + $24_1 = 0; + } + label$3 : { + if (!($525($24_1 | 0, 4351 | 0, 1 | 0) | 0)) { + break label$3 + } + $30_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP16[($30_1 + 18 | 0) >> 1] = (HEAPU16[($30_1 + 18 | 0) >> 1] | 0) & 65535 | 0 | 16 | 0; + } + label$4 : { + if ($3229(HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 1680 | 0) | 0) { + break label$4 + } + $40_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP16[($40_1 + 18 | 0) >> 1] = (HEAPU16[($40_1 + 18 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + } + label$5 : { + label$6 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0) & 128 | 0)) { + break label$6 + } + HEAP32[($7_1 + 24 | 0) >> 2] = 4356; + break label$5; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 32 | 0) >> 2] | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + label$8 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (3732 | 0) & 1 | 0)) { + break label$8 + } + $548(); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $592(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$9 + } + $102(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 39295 | 0); + HEAP32[($7_1 + 40 | 0) >> 2] = -1; + } + $552(); + break label$7; + } + label$10 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (4432 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($3303(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0) + 6 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $41(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + label$12 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($7_1 + 16 | 0) >> 2] = 7; + break label$11; + } + $95_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + $96_1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + $81($95_1 | 0, $96_1 | 0, 4508 | 0, $7_1 | 0) | 0; + } + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + } + $555(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0); + label$13 : { + label$14 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$14 + } + label$15 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$15 + } + $102(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 39380 | 0); + } + break label$13; + } + HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + $546(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + } + $117_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $117_1 | 0; + } + + function $100($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $43_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((FUNCTION_TABLE[HEAP32[(0 + 69220 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!((HEAP32[($3169() | 0) >> 2] | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 5898; + break label$3; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $97(2570 | 0, 4026 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 39933 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69232 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 20 | 0) >> 2] | 0, $5_1 + 8 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$7 + } + $43_1 = 0; + label$8 : { + if (!($101(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $43_1 | 0, $43_1 | 0) | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $97(1290 | 0, 4516 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 39943 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $102(0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 39945 | 0); + break label$6; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $56_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $56_1 | 0; + } + + function $101($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3243(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $8_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $8_1 | 0; + } + + function $102($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $19_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!(FUNCTION_TABLE[HEAP32[(0 + 69040 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $19_1 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$2; + } + $19_1 = 0; + } + $97(4106 | 0, 3921 | 0, $19_1 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $103($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $55$hi = 0, $22_1 = 0, $33_1 = 0, $57$hi = 0, $14_1 = 0, $15_1 = 0, $16_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $50_1 = 0; + $6_1 = global$0 - 112 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (HEAP32[($6_1 + 100 | 0) >> 2] | 0) { + break label$2 + } + $22_1 = 0; + label$3 : { + if (!((0 | 0) == (FUNCTION_TABLE[HEAP32[(0 + 69076 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 104 | 0) >> 2] | 0, $6_1 + 8 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $33_1 = 1; + label$4 : { + if (!(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) & 61440 | 0 | 0) == (32768 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $55$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $57$hi = i64toi32_i32$1; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = $57$hi; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = $57$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $14_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $15_1 = 0 + } else { + $15_1 = 1 + } + $16_1 = $15_1; + } else { + $16_1 = 0 + } + $14_1 = $16_1; + } + $33_1 = $14_1; + } + $22_1 = $33_1; + } + HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] = $22_1 & 1 | 0; + break label$1; + } + $50_1 = (FUNCTION_TABLE[HEAP32[(0 + 69052 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 104 | 0) >> 2] | 0, 6) | 0 | 0) == (0 | 0) & 1 | 0; + HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] = $50_1; + } + global$0 = $6_1 + 112 | 0; + return 0 | 0; + } + + function $104($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $26_1 = 0, $86_1 = 0, $93_1 = 0, $111_1 = 0, $119_1 = 0, $181_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 144 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 132 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 128 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 124 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 116 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 112 | 0) >> 2] = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP32[($6_1 + 108 | 0) >> 2] = $7_1; + label$1 : while (1) { + HEAP32[($6_1 + 104 | 0) >> 2] = 0; + label$2 : { + label$3 : { + if (!(FUNCTION_TABLE[HEAP32[(0 + 69352 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 112 | 0) >> 2] | 0, $6_1 + 16 | 0) | 0)) { + break label$3 + } + label$4 : { + if (!((HEAP32[($3169() | 0) >> 2] | 0 | 0) != (44 | 0) & 1 | 0)) { + break label$4 + } + $26_1 = 40113; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $97($96($26_1 | 0) | 0 | 0, 4114 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, $26_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + } + break label$2; + } + HEAP32[($6_1 + 104 | 0) >> 2] = ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) & 61440 | 0 | 0) == (40960 | 0) & 1 | 0; + } + label$5 : { + if (!(HEAP32[($6_1 + 104 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($6_1 + 116 | 0) >> 2] = (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + 1 | 0; + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 124 | 0) >> 2] = 7; + } + break label$6; + } + label$9 : { + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) >= (100 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $96(40125 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + } + } + label$10 : { + if (HEAP32[($6_1 + 124 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69340 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 112 | 0) >> 2] | 0, HEAP32[($6_1 + 108 | 0) >> 2] | 0, (HEAP32[($6_1 + 132 | 0) >> 2] | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + label$12 : { + if (!((HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$12 + } + $86_1 = 40131; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $97($96($86_1 | 0) | 0 | 0, 4105 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, $86_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + $93_1 = 24; + label$13 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 108 | 0) >> 2] | 0) >> 0] | 0) << $93_1 | 0) >> $93_1 | 0 | 0) != (47 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $68(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$14 : while (1) { + $111_1 = 0; + label$15 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$15 + } + $119_1 = 24; + $111_1 = (((HEAPU8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $119_1 | 0) >> $119_1 | 0 | 0) != (47 | 0); + } + label$16 : { + if (!($111_1 & 1 | 0)) { + break label$16 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$14; + } + break label$14; + }; + label$17 : { + label$18 : { + if (!((((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) > (HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $96(40137 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + break label$17; + } + $3290((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $3288(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 120 | 0) >> 2] = (HEAP32[($6_1 + 120 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + } + } + HEAP8[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + (HEAP32[($6_1 + 120 | 0) >> 2] | 0) | 0) >> 0] = 0; + } + } + HEAP32[($6_1 + 112 | 0) >> 2] = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + } + label$19 : { + if (HEAP32[($6_1 + 124 | 0) >> 2] | 0) { + break label$19 + } + if (!((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $105(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + } + label$20 : { + label$21 : { + if (HEAP32[($6_1 + 104 | 0) >> 2] | 0) { + break label$21 + } + break label$20; + } + HEAP32[($6_1 + 112 | 0) >> 2] = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + if (!(HEAP32[($6_1 + 124 | 0) >> 2] | 0)) { + continue label$1 + } + } + break label$1; + }; + $42(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0); + label$22 : { + if (HEAP32[($6_1 + 124 | 0) >> 2] | 0) { + break label$22 + } + if (!(HEAP32[($6_1 + 116 | 0) >> 2] | 0)) { + break label$22 + } + HEAP32[($6_1 + 124 | 0) >> 2] = 512; + } + $181_1 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + global$0 = $6_1 + 144 | 0; + return $181_1 | 0; + } + + function $105($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $12_1 = 0, $34_1 = 0, $42_1 = 0, $71_1 = 0, $89_1 = 0, $99_1 = 0, $107_1 = 0, $115_1 = 0, $130_1 = 0, $152_1 = 0, $167_1 = 0, $182_1 = 0, $200_1 = 0, $215_1 = 0, $230_1 = 0, $269_1 = 0, $41_1 = 0, $65_1 = 0, $68_1 = 0, $87_1 = 0, $88_1 = 0, $268_1 = 0, $278_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $68(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + $12_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $12_1 | 0) >> $12_1 | 0 | 0) != (47 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((FUNCTION_TABLE[HEAP32[(0 + 69064 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 36 | 0) >> 2] | 0, (HEAP32[($5_1 + 32 | 0) >> 2] | 0) - 2 | 0) | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $34_1 = 40021; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $97($96($34_1 | 0) | 0 | 0, 3934 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, $34_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $68(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $41_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $42_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $42_1 + 1 | 0; + HEAP8[($41_1 + $42_1 | 0) >> 0] = 47; + } + label$4 : { + if (!((((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) > (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) >> 0] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $96(40030 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $65_1 = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0; + $68_1 = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $81($65_1 | 0, $68_1 | 0, 1976 | 0, $5_1 | 0) | 0; + $71_1 = 1; + HEAP32[($5_1 + 16 | 0) >> 2] = $71_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $71_1; + label$5 : { + label$6 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $87_1 = HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0; + $88_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $89_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $89_1 + 1 | 0; + HEAP8[($88_1 + $89_1 | 0) >> 0] = $87_1; + label$7 : while (1) { + $99_1 = 24; + $107_1 = 0; + label$8 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $99_1 | 0) >> $99_1 | 0 | 0) == (47 | 0) & 1 | 0)) { + break label$8 + } + $115_1 = 24; + $107_1 = (((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $115_1 | 0) >> $115_1 | 0 | 0) == (47 | 0); + } + label$9 : { + if (!($107_1 & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $130_1 = 0; + HEAP8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $130_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $130_1; + label$10 : { + label$11 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + $152_1 = 24; + label$12 : { + label$13 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $152_1 | 0) >> $152_1 | 0 | 0) == (47 | 0) & 1 | 0)) { + break label$13 + } + $167_1 = 24; + label$14 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $167_1 | 0) >> $167_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$14 + } + $182_1 = 24; + if (!((((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) << $182_1 | 0) >> $182_1 | 0 | 0) == (47 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + break label$12; + } + $200_1 = 24; + label$15 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $200_1 | 0) >> $200_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$15 + } + $215_1 = 24; + if (!((((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) << $215_1 | 0) >> $215_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$15 + } + $230_1 = 24; + if (!((((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 3 | 0) | 0) >> 0] | 0) << $230_1 | 0) >> $230_1 | 0 | 0) == (47 | 0) & 1 | 0)) { + break label$15 + } + if (!($601(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0) | 0)) { + break label$15 + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 2 | 0; + break label$12; + } + } + label$16 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + label$17 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$17 + } + $268_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $269_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $269_1 + 1 | 0; + HEAP8[($268_1 + $269_1 | 0) >> 0] = 47; + } + HEAP8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $278_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $278_1 | 0; + } + + function $106($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0, $12_1 = 0, $6_1 = 0, $23_1 = 0, $45_1 = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + $3289(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = 0, wasm2js_i32$1 = $3248() | 0), HEAP32[(wasm2js_i32$0 + 114508 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $95(4522 | 0, $6_1 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < ($6_1 | 0) & 1 | 0)) { + break label$2 + } + $23_1 = $5_1 + 8 | 0; + fimport$0($23_1 | 0) | 0; + $8_1 = $23_1; + $9_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $10_1 = HEAPU8[$8_1 >> 0] | 0 | ((HEAPU8[($8_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($8_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($8_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$9_1 >> 0] = $10_1; + HEAP8[($9_1 + 1 | 0) >> 0] = $10_1 >>> 8 | 0; + HEAP8[($9_1 + 2 | 0) >> 0] = $10_1 >>> 16 | 0; + HEAP8[($9_1 + 3 | 0) >> 0] = $10_1 >>> 24 | 0; + $11_1 = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0; + $12_1 = HEAP32[(0 + 114508 | 0) >> 2] | 0; + HEAP8[$11_1 >> 0] = $12_1; + HEAP8[($11_1 + 1 | 0) >> 0] = $12_1 >>> 8 | 0; + HEAP8[($11_1 + 2 | 0) >> 0] = $12_1 >>> 16 | 0; + HEAP8[($11_1 + 3 | 0) >> 0] = $12_1 >>> 24 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = 8; + break label$1; + } + label$3 : while (1) { + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69124 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 16 | 0) >> 2] | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $45_1 = 0; + label$4 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + $45_1 = (HEAP32[($3169() | 0) >> 2] | 0 | 0) == (27 | 0); + } + if ($45_1 & 1 | 0) { + continue label$3 + } + break label$3; + }; + $102(0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 40262 | 0); + } + $58_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $58_1 | 0; + } + + function $107($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 999999 | 0 | 0) / (1e6 | 0) | 0; + $3253(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $13_1 = Math_imul(HEAP32[($4_1 + 4 | 0) >> 2] | 0, 1e6); + global$0 = $4_1 + 16 | 0; + return $13_1 | 0; + } + + function $108($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $7_1 = HEAP32[($3169() | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $7_1 | 0; + } + + function $109($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $19$hi = 0, $20$hi = 0, $21$hi = 0, $22$hi = 0, $23$hi = 0, $24$hi = 0, $18_1 = 0, $64_1 = 0, $16_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $8_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $8_1; + fimport$1($4_1 + 8 | 0 | 0, $8_1 | 0) | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $19$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $20$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$0 = $19$hi; + $18_1 = i64toi32_i32$1; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$1 = __wasm_i64_mul($18_1 | 0, i64toi32_i32$0 | 0, 1e3 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $21$hi = i64toi32_i32$0; + i64toi32_i32$0 = 49096; + $22$hi = i64toi32_i32$0; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$0 = $22$hi; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$3 = 1045635584; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $23$hi = i64toi32_i32$5; + i64toi32_i32$2 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) / (1e3 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $24$hi = i64toi32_i32$5; + i64toi32_i32$5 = $23$hi; + i64toi32_i32$5 = $24$hi; + $64_1 = i64toi32_i32$2; + i64toi32_i32$5 = $23$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $24$hi; + i64toi32_i32$3 = $64_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + $16_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $16_1 | 0; + } + + function $110($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $14_1 = 0, $34_1 = 0, $75_1 = 0, $85_1 = 0, $107_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 12; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $14_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $14_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 < 29 >>> 0 & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((HEAP32[((69024 + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $34_1 = 69024; + HEAP32[(($34_1 + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] = HEAP32[(($34_1 + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 < 29 >>> 0 & 1 | 0)) { + break label$6 + } + label$8 : { + if ($3229(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(69024 + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) >> 2] | 0 | 0) | 0) { + break label$8 + } + label$9 : { + if (!((HEAP32[((69024 + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + $75_1 = 69024; + HEAP32[(($75_1 + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] = HEAP32[(($75_1 + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0; + } + $85_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $85_1; + label$10 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == ($85_1 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((69024 + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[((69024 + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$6; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + $107_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $107_1 | 0; + } + + function $111($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0) >>> 0 < 29 >>> 0 & 1 | 0)) { + break label$2 + } + label$4 : { + if ($3229(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[(69024 + Math_imul(HEAP32[$4_1 >> 2] | 0, 12) | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((69024 + Math_imul(HEAP32[$4_1 >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $31_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $31_1 | 0; + } + + function $112($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $64_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = -1; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$4_1 >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (28 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if ($3229(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[(69024 + Math_imul(HEAP32[$4_1 >> 2] | 0, 12) | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + break label$2; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + label$5 : { + label$6 : { + label$7 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (29 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if (!((HEAP32[((69024 + Math_imul(HEAP32[$4_1 >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(69024 + Math_imul(HEAP32[$4_1 >> 2] | 0, 12) | 0) >> 2] | 0; + break label$5; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $64_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $64_1 | 0; + } + + function $113($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $116(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $115(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + break label$1; + } + label$3 : { + label$4 : { + if ((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + $30_1 = $117(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 256 | 0) >> 2] = $30_1; + if (!(($30_1 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $119(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $120(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, 1 | 0); + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $114($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $39(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $3289(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + } + $15_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $15_1 | 0; + } + + function $115($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + } + $121(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $116($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (3082 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 255 | 0; + label$3 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (14 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (10 | 0) & 1 | 0)) { + break label$1 + } + } + $31_1 = $604(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] = $31_1; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $117($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $308(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 40 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + $17_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $17_1 | 0; + } + + function $118($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $27_1 = 0, $23_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 82 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 81 | 0) >> 0] = 1; + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 184 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $23_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = 1; + HEAP32[($23_1 + 264 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + } + $27_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($27_1 + 272 | 0) >> 2] = (HEAP32[($27_1 + 272 | 0) >> 2] | 0) + 1 | 0; + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 276 | 0) >> 1] = 0; + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0) + 12 | 0) >> 2] = 7; + } + } + return; + } + + function $119($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 128 | 0; + global$0 = $5_1; + $9_1 = $5_1 + 8 | 0; + HEAP32[($5_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 116 | 0) >> 2] = $2_1; + $77($9_1 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0, 70 | 0, HEAP32[((HEAP32[($5_1 + 124 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0); + HEAP8[($5_1 + 29 | 0) >> 0] = 1; + $50($9_1 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $72($9_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(((HEAPU8[($5_1 + 28 | 0) >> 0] | 0) & 255 | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$1 + } + $118(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0); + } + $30_1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + global$0 = $5_1 + 128 | 0; + return $30_1 | 0; + } + + function $120($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP8[($7_1 + 19 | 0) >> 0] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + label$1 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $256(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $121($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $605(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0); + } + $116(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $122($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $56_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = -1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0; + HEAP32[$4_1 >> 2] = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((0 | 0) == ($87(HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + break label$2; + } + label$5 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + if (!((0 | 0) == ($87(8749 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + break label$2; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + -1 | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + -16 | 0; + continue label$3; + }; + } + } + $56_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $56_1 | 0; + } + + function $123($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $25_1 = 0, $42_1 = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + if (((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 203 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + $25_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $492(HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, $25_1 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0, $25_1 | 0, 542 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$3 + } + $349(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 4535 | 0, 0 | 0); + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = 1; + break label$1; + } + $42_1 = 0; + HEAP32[((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$4 : { + if (!((7 | 0) == ($164(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, $42_1 | 0, $42_1 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + $118(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 28 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $58_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $58_1 | 0; + } + + function $124($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $37_1 = 0, $43_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $381(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + continue label$2; + }; + } + $13(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + $382(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0); + label$3 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $37_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($37_1 + 272 | 0) >> 2] = (HEAP32[($37_1 + 272 | 0) >> 2] | 0) - ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0) | 0; + label$4 : { + label$5 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 272 | 0) >> 2] | 0)) { + break label$5 + } + $43_1 = 0; + break label$4; + } + $43_1 = (HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 278 | 0) >> 1] | 0) & 65535 | 0; + } + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 276 | 0) >> 1] = $43_1; + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 0] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $125($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0; + break label$1; + } + $15_1 = 0; + } + return $15_1 | 0; + } + + function $126($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $5_1 = 0, $150_1 = 0, $489$hi = 0, $490$hi = 0, $498$hi = 0, $499$hi = 0, $19_1 = 0, $59_1 = 0, $91_1 = 0, $202_1 = 0, $486$hi = 0, $487$hi = 0, $342_1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $494_1 = 0, $494$hi = 0, $405_1 = 0, $52_1 = 0, $53_1 = 0, $54_1 = 0, $413_1 = 0, $502$hi = 0, $503$hi = 0, $504$hi = 0, $505$hi = 0, $508$hi = 0, $437_1 = 0, $449_1 = 0, $452_1 = 0, $460_1 = 0, $486_1 = 0, $1210_1 = 0, $1213_1 = 0, $489_1 = 0, $1336_1 = 0, $1371_1 = 0, $498_1 = 0, $1383_1 = 0, $412_1 = 0, $502_1 = 0, $1406_1 = 0, $508_1 = 0, $1460$hi = 0, $483_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 108 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $5_1; + $127(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + label$1 : { + if (!((HEAP32[(HEAP32[($4_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + } + HEAP32[($4_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$2 : { + if ($128(HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + $19_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $9(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $9(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 88 | 0) >> 2] = -1; + HEAP32[($4_1 + 84 | 0) >> 2] = $19_1; + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[($4_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($19_1 | 0) & 1 | 0)) { + break label$4 + } + if (!(((HEAPU8[((HEAP32[((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 116 | 0) >> 2] = 5; + break label$3; + } + HEAP32[($4_1 + 116 | 0) >> 2] = 0; + } + label$5 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$5 + } + if (!((0 | 0) == ($125(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + $59_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $129(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, $59_1 | 0, $59_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 84 | 0) >> 2] = 1; + } + label$6 : { + if (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$6 + } + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$6 + } + if (!(($130(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0) | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 116 | 0) >> 2] = 7; + } + label$7 : { + if (!((0 | 0) == (HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + if (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$7 + } + $91_1 = $129(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 2 | 0, (HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 8 | 0 | 0) | 0; + HEAP32[($4_1 + 116 | 0) >> 2] = $91_1; + if (!((0 | 0) == ($91_1 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $131(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $131(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $132($9(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((0 | 0) == (HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 116 | 0) >> 2] = 8; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $133(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 92 | 0) >> 2] = 0; + label$9 : while (1) { + label$10 : { + label$11 : { + if ((HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$11 + } + $150_1 = 0; + if (!((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + } + $150_1 = 0; + if (!((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($4_1 + 88 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$10 + } + $150_1 = (HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0; + } + label$12 : { + if (!($150_1 & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$13 : { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) != ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $134(HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, $4_1 + 76 | 0 | 0, 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$14 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $136(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, $135(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + $137(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + } + } + $202_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + HEAP32[($202_1 + 16 | 0) >> 2] = (HEAP32[($202_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = (HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + label$15 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$15 + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 32 | 0) >> 2] = ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + label$16 : { + label$17 : { + if (!((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >>> 0 > (HEAP32[($4_1 + 88 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$17 + } + HEAP32[($4_1 + 116 | 0) >> 2] = 101; + break label$16; + } + label$18 : { + if (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$18 + } + $138(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0); + } + } + } + label$19 : { + if (!((HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$19 + } + label$20 : { + if (HEAP32[($4_1 + 88 | 0) >> 2] | 0) { + break label$20 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $139(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 88 | 0) >> 2] = 1; + } + label$21 : { + label$22 : { + if (!(HEAP32[($4_1 + 116 | 0) >> 2] | 0)) { + break label$22 + } + if (!((HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$21 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $140(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 1 | 0, (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + label$23 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$23 + } + label$24 : { + if (!((HEAP32[(HEAP32[($4_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + $141(HEAP32[(HEAP32[($4_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$25 : { + if (!((HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$25 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $142(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + } + label$26 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$26 + } + label$27 : { + label$28 : { + if (!((HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0) / (HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = (((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + (HEAP32[($4_1 + 68 | 0) >> 2] | 0) | 0) - 1 | 0 | 0) / (HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) | 0; + label$29 : { + if (!((HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($4_1 + 72 | 0) >> 2] = (HEAP32[($4_1 + 72 | 0) >> 2] | 0) + -1 | 0; + } + break label$27; + } + HEAP32[($4_1 + 72 | 0) >> 2] = Math_imul(HEAP32[($4_1 + 88 | 0) >> 2] | 0, (HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) / (HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0) | 0); + } + label$30 : { + label$31 : { + if (!((HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$31 + } + i64toi32_i32$1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $486_1 = i64toi32_i32$1; + $486$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $487$hi = i64toi32_i32$0; + i64toi32_i32$0 = $486$hi; + i64toi32_i32$0 = $487$hi; + $1210_1 = i64toi32_i32$1; + i64toi32_i32$0 = $486$hi; + i64toi32_i32$1 = $487$hi; + i64toi32_i32$1 = __wasm_i64_mul($486_1 | 0, i64toi32_i32$0 | 0, $1210_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1213_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1213_1; + HEAP32[($4_1 + 60 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $143(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + $144(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, $4_1 + 44 | 0 | 0); + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + label$32 : while (1) { + $342_1 = 0; + label$33 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$33 + } + $342_1 = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($4_1 + 44 | 0) >> 2] | 0) >>> 0; + } + label$34 : { + if (!($342_1 & 1 | 0)) { + break label$34 + } + label$35 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$35 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $134(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, $4_1 + 20 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$36 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$36 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $145(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + $137(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$32; + } + break label$32; + }; + label$37 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$37 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $146(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$1 = (HEAP32[(0 + 69008 | 0) >> 2] | 0) + (HEAP32[($4_1 + 104 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $489_1 = i64toi32_i32$1; + $489$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $490$hi = i64toi32_i32$1; + i64toi32_i32$1 = $489$hi; + i64toi32_i32$1 = $490$hi; + i64toi32_i32$1 = $489$hi; + i64toi32_i32$1 = $490$hi; + $1336_1 = i64toi32_i32$0; + i64toi32_i32$1 = $489$hi; + i64toi32_i32$2 = $489_1; + i64toi32_i32$0 = $490$hi; + i64toi32_i32$3 = $1336_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $49_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $50_1 = 0 + } else { + $50_1 = 1 + } + $51_1 = $50_1; + } else { + $51_1 = 0 + } + $49_1 = $51_1; + } + label$38 : { + label$39 : { + if (!($49_1 & 1 | 0)) { + break label$39 + } + i64toi32_i32$1 = (HEAP32[(0 + 69008 | 0) >> 2] | 0) + (HEAP32[($4_1 + 104 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $494_1 = i64toi32_i32$1; + $494$hi = i64toi32_i32$2; + break label$38; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $494_1 = i64toi32_i32$2; + $494$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $494$hi; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $494_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = (HEAP32[(0 + 69008 | 0) >> 2] | 0) + (HEAP32[($4_1 + 108 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $1371_1 = i64toi32_i32$2; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $1371_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$1; + label$40 : while (1) { + $405_1 = 0; + label$41 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$41 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $498_1 = i64toi32_i32$1; + $498$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $499$hi = i64toi32_i32$1; + i64toi32_i32$1 = $498$hi; + i64toi32_i32$1 = $499$hi; + i64toi32_i32$1 = $498$hi; + i64toi32_i32$1 = $499$hi; + $1383_1 = i64toi32_i32$2; + i64toi32_i32$1 = $498$hi; + i64toi32_i32$3 = $498_1; + i64toi32_i32$2 = $499$hi; + i64toi32_i32$0 = $1383_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $52_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $53_1 = 0 + } else { + $53_1 = 1 + } + $54_1 = $53_1; + } else { + $54_1 = 0 + } + $52_1 = $54_1; + } + $405_1 = $52_1; + } + label$42 : { + if (!($405_1 & 1 | 0)) { + break label$42 + } + $412_1 = $4_1 + 16 | 0; + $413_1 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $413_1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $502_1 = i64toi32_i32$3; + $502$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $503$hi = i64toi32_i32$1; + i64toi32_i32$1 = $502$hi; + i64toi32_i32$1 = $503$hi; + $1406_1 = i64toi32_i32$3; + i64toi32_i32$1 = $502$hi; + i64toi32_i32$3 = $503$hi; + i64toi32_i32$3 = __wasm_i64_sdiv($502_1 | 0, i64toi32_i32$1 | 0, $1406_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $504$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $505$hi = i64toi32_i32$1; + i64toi32_i32$1 = $504$hi; + i64toi32_i32$1 = $505$hi; + i64toi32_i32$1 = $504$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $505$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$4; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $134(HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $412_1 | 0, $413_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$43 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$43 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $135(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $147(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + $137(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + i64toi32_i32$5 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$5 >> 31 | 0; + $508_1 = i64toi32_i32$5; + $508$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $1460$hi = i64toi32_i32$5; + i64toi32_i32$5 = $508$hi; + i64toi32_i32$5 = $1460$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $508$hi; + i64toi32_i32$2 = $508_1; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$4; + continue label$40; + } + break label$40; + }; + label$44 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$44 + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $148(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + label$45 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$45 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $149(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + break label$30; + } + $437_1 = 0; + $150(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $146(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, $437_1 | 0, $437_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + label$46 : { + if (!((0 | 0) == (HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$46 + } + $449_1 = 0; + $452_1 = $151(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $449_1 | 0) | 0; + HEAP32[($4_1 + 116 | 0) >> 2] = $452_1; + if (!(($449_1 | 0) == ($452_1 | 0) & 1 | 0)) { + break label$46 + } + HEAP32[($4_1 + 116 | 0) >> 2] = 101; + } + } + } + label$47 : { + if (!(HEAP32[($4_1 + 84 | 0) >> 2] | 0)) { + break label$47 + } + $460_1 = 0; + $152(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, $460_1 | 0) | 0; + $151(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, $460_1 | 0) | 0; + } + label$48 : { + if (!((HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) == (3082 | 0) & 1 | 0)) { + break label$48 + } + HEAP32[($4_1 + 116 | 0) >> 2] = 7; + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + } + label$49 : { + if (!((HEAP32[(HEAP32[($4_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$49 + } + } + $483_1 = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + global$0 = $4_1 + 128 | 0; + return $483_1 | 0; + } + + function $127($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + return; + } + + function $128($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = 0; + label$1 : { + if (!(HEAP32[($3_1 + 12 | 0) >> 2] | 0)) { + break label$1 + } + $6_1 = 0; + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$1 + } + $6_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (6 | 0); + } + return $6_1 & 1 | 0 | 0; + } + + function $129($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $342$hi = 0, i64toi32_i32$3 = 0, $208_1 = 0, $343$hi = 0, $344$hi = 0, $346$hi = 0, $42_1 = 0, $127_1 = 0, $135_1 = 0, $150_1 = 0, $153_1 = 0, $229_1 = 0, $278_1 = 0, $290_1 = 0, $331_1 = 0, $339_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + $127(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + label$3 : { + if (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + if (HEAP32[($5_1 + 40 | 0) >> 2] | 0) { + break label$2 + } + } + break label$1; + } + i64toi32_i32$0 = 0; + $342$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $343$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $344$hi = i64toi32_i32$1; + i64toi32_i32$1 = $343$hi; + i64toi32_i32$1 = $344$hi; + i64toi32_i32$1 = $343$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $344$hi; + i64toi32_i32$3 = 33554432; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $346$hi = i64toi32_i32$0; + i64toi32_i32$0 = $342$hi; + i64toi32_i32$0 = $346$hi; + i64toi32_i32$0 = $342$hi; + i64toi32_i32$0 = $346$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $342$hi; + i64toi32_i32$3 = 0; + label$4 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$4 + } + if (($153(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0) & 255 | 0) { + break label$4 + } + $42_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP16[($42_1 + 24 | 0) >> 1] = ((HEAPU16[($42_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -2 | 0; + } + label$5 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$5 + } + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 8; + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$6 : { + label$7 : { + label$8 : { + label$9 : { + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$9 + } + if (((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0) { + break label$8 + } + } + if (!(((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$7 + } + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) >> 2] | 0; + break label$6; + } + label$10 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + if (!((HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + break label$11; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$12; + }; + } + } + } + label$14 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 262; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $154(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 1 | 0, 1 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((0 | 0) != (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + break label$1; + } + $127_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP16[($127_1 + 24 | 0) >> 1] = ((HEAPU16[($127_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -17 | 0; + label$16 : { + if (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) { + break label$16 + } + $135_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP16[($135_1 + 24 | 0) >> 1] = (HEAPU16[($135_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 16 | 0; + } + label$17 : while (1) { + label$18 : while (1) { + $150_1 = 0; + label$19 : { + if (!((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$19 + } + $153_1 = $155(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $153_1; + $150_1 = (0 | 0) == ($153_1 | 0); + } + label$20 : { + if (!($150_1 & 1 | 0)) { + break label$20 + } + continue label$18; + } + break label$18; + }; + label$21 : { + if (HEAP32[($5_1 + 24 | 0) >> 2] | 0) { + break label$21 + } + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$21 + } + label$22 : { + label$23 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 8; + break label$22; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $157(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0 | 0, $156(HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + label$25 : { + if (HEAP32[($5_1 + 24 | 0) >> 2] | 0) { + break label$25 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $158(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + break label$24; + } + label$26 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (517 | 0) & 1 | 0)) { + break label$26 + } + if ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) { + break label$26 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 5; + } + } + } + } + label$27 : { + if (!(HEAP32[($5_1 + 24 | 0) >> 2] | 0)) { + break label$27 + } + $159(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0); + } + $208_1 = 0; + label$28 : { + if (!(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) & 255 | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$28 + } + $208_1 = 0; + if ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) { + break label$28 + } + $208_1 = ($160(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + if ($208_1 & 1 | 0) { + continue label$17 + } + break label$17; + }; + label$29 : { + if (HEAP32[($5_1 + 24 | 0) >> 2] | 0) { + break label$29 + } + label$30 : { + if ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) { + break label$30 + } + $229_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($229_1 + 44 | 0) >> 2] = (HEAP32[($229_1 + 44 | 0) >> 2] | 0) + 1 | 0; + label$31 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$31 + } + HEAP8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 0] = 1; + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 76 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 32 | 0; + } + } + HEAP8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 0] = HEAP32[($5_1 + 40 | 0) >> 2] | 0 ? 2 : 1; + label$32 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) > ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$32 + } + HEAP8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0; + } + label$33 : { + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$33 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 80 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $278_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP16[($278_1 + 24 | 0) >> 1] = ((HEAPU16[($278_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -65 | 0; + label$34 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$34 + } + $290_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP16[($290_1 + 24 | 0) >> 1] = (HEAPU16[($290_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 64 | 0; + } + label$35 : { + if (!((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != ($161((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 28 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$35 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$36 : { + if (HEAP32[($5_1 + 24 | 0) >> 2] | 0) { + break label$36 + } + $162((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 28 | 0 | 0, HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + } + } + } + } + } + label$37 : { + if (HEAP32[($5_1 + 24 | 0) >> 2] | 0) { + break label$37 + } + label$38 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$38 + } + $331_1 = $161((HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 40 | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = $331_1; + } + label$39 : { + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$39 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $163(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 456 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + } + $339_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $339_1 | 0; + } + + function $130($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $11_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $164(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $131(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0 | 0, $4_1 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $11_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $11_1 | 0; + } + + function $131($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0; + } + + function $132($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $133($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = $165(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $6_1 | 0; + } + + function $134($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $13_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $13_1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 12 | 0) >> 2] | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0, HEAP32[$6_1 >> 2] | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $13_1 | 0; + } + + function $135($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function $136($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $132$hi = 0, $133$hi = 0, $139$hi = 0, $24_1 = 0, $126$hi = 0, $127$hi = 0, $129$hi = 0, $130$hi = 0, $46_1 = 0, $48_1 = 0, $49_1 = 0, $50_1 = 0, $136$hi = 0, $137$hi = 0, $72_1 = 0, $78_1 = 0, $86_1 = 0, $140$hi = 0, $141$hi = 0, $143$hi = 0, $144$hi = 0, $147$hi = 0, $149$hi = 0, $223_1 = 0, $226_1 = 0, $129_1 = 0, $259_1 = 0, $132_1 = 0, $274_1 = 0, $136_1 = 0, $293_1 = 0, $93_1 = 0, $140_1 = 0, $381_1 = 0, $100_1 = 0, $143_1 = 0, $406_1 = 0, $149_1 = 0, $469$hi = 0, $123_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $9(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $131(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $131(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $24_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + break label$1; + } + $24_1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 48 | 0) >> 2] = $24_1; + i64toi32_i32$0 = 0; + $126$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $127$hi = i64toi32_i32$0; + i64toi32_i32$0 = $126$hi; + i64toi32_i32$0 = $127$hi; + $223_1 = i64toi32_i32$1; + i64toi32_i32$0 = $126$hi; + i64toi32_i32$1 = $127$hi; + i64toi32_i32$1 = __wasm_i64_mul(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, $223_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $226_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $226_1; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 36 | 0) >> 2] = 0; + label$3 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + if (!($166(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + HEAP32[($6_1 + 36 | 0) >> 2] = 8; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $129_1 = i64toi32_i32$0; + $129$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $130$hi = i64toi32_i32$1; + i64toi32_i32$1 = $129$hi; + i64toi32_i32$1 = $130$hi; + $259_1 = i64toi32_i32$0; + i64toi32_i32$1 = $129$hi; + i64toi32_i32$2 = $129_1; + i64toi32_i32$0 = $130$hi; + i64toi32_i32$3 = $259_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$5; + label$4 : while (1) { + $46_1 = 0; + label$5 : { + if (HEAP32[($6_1 + 36 | 0) >> 2] | 0) { + break label$5 + } + i64toi32_i32$1 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $132_1 = i64toi32_i32$5; + $132$hi = i64toi32_i32$2; + i64toi32_i32$1 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $133$hi = i64toi32_i32$5; + i64toi32_i32$5 = $132$hi; + i64toi32_i32$5 = $133$hi; + i64toi32_i32$5 = $132$hi; + i64toi32_i32$5 = $133$hi; + $274_1 = i64toi32_i32$2; + i64toi32_i32$5 = $132$hi; + i64toi32_i32$1 = $132_1; + i64toi32_i32$2 = $133$hi; + i64toi32_i32$3 = $274_1; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$2 | 0)) { + $48_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0) { + $49_1 = 0 + } else { + $49_1 = 1 + } + $50_1 = $49_1; + } else { + $50_1 = 0 + } + $48_1 = $50_1; + } + $46_1 = $48_1; + } + label$6 : { + if (!($46_1 & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $136_1 = i64toi32_i32$1; + $136$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$1 >> 31 | 0; + $137$hi = i64toi32_i32$5; + i64toi32_i32$5 = $136$hi; + i64toi32_i32$5 = $137$hi; + $293_1 = i64toi32_i32$1; + i64toi32_i32$5 = $136$hi; + i64toi32_i32$1 = $137$hi; + i64toi32_i32$1 = __wasm_i64_sdiv($136_1 | 0, i64toi32_i32$5 | 0, $293_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 16 | 0) >> 2] = i64toi32_i32$1 + 1 | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[((HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$7; + } + $72_1 = 0; + $78_1 = $134(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $6_1 + 20 | 0 | 0, $72_1 | 0) | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = $78_1; + label$9 : { + if (!(($72_1 | 0) == ($78_1 | 0) & 1 | 0)) { + break label$9 + } + $86_1 = $145(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = $86_1; + if (!((0 | 0) == ($86_1 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$5 = 0; + $139$hi = i64toi32_i32$5; + $93_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$3 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $140_1 = i64toi32_i32$5; + $140$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $141$hi = i64toi32_i32$1; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$1 = $141$hi; + $381_1 = i64toi32_i32$5; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$5 = $141$hi; + i64toi32_i32$5 = __wasm_i64_srem($140_1 | 0, i64toi32_i32$1 | 0, $381_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 12 | 0) >> 2] = $93_1 + i64toi32_i32$5 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $135(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $100_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $143_1 = i64toi32_i32$1; + $143$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$1 >> 31 | 0; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = $143$hi; + i64toi32_i32$5 = $144$hi; + $406_1 = i64toi32_i32$1; + i64toi32_i32$5 = $143$hi; + i64toi32_i32$1 = $144$hi; + i64toi32_i32$1 = __wasm_i64_srem($143_1 | 0, i64toi32_i32$5 | 0, $406_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 4 | 0) >> 2] = $100_1 + i64toi32_i32$1 | 0; + $3288(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $167(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP8[wasm2js_i32$0 >> 0] = wasm2js_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $147$hi = i64toi32_i32$1; + i64toi32_i32$1 = $139$hi; + i64toi32_i32$1 = $147$hi; + i64toi32_i32$1 = $139$hi; + i64toi32_i32$1 = $147$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $139$hi; + i64toi32_i32$2 = 0; + label$10 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$10 + } + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$10 + } + $162((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 28 | 0 | 0, $133(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0 | 0); + } + } + $137(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$1 >> 31 | 0; + $149_1 = i64toi32_i32$1; + $149$hi = i64toi32_i32$3; + i64toi32_i32$2 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $469$hi = i64toi32_i32$1; + i64toi32_i32$1 = $149$hi; + i64toi32_i32$1 = $469$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $149$hi; + i64toi32_i32$5 = $149_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$4; + continue label$4; + } + break label$4; + }; + $123_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $123_1 | 0; + } + + function $137($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $168(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $138($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $169($9(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = 1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $139($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $127(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $158(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $11_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $11_1 | 0; + } + + function $140($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $34_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + $162((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) + 36 | 0) | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + } + $34_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $34_1 | 0; + } + + function $141($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $38_1 = 0, $47_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $8(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$5 + } + $170(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + break label$4; + } + $38_1 = HEAP32[(((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP16[($38_1 + 78 | 0) >> 1] = (HEAPU16[($38_1 + 78 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + } + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $47_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($47_1 + 24 | 0) >> 2] = (HEAP32[($47_1 + 24 | 0) >> 2] | 0) & -18 | 0; + $171(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + label$6 : { + if (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$6 + } + $172(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $142($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0, $20_1 = 0, $26_1 = 0, $71_1 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $8_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP16[($8_1 + 24 | 0) >> 1] = ((HEAPU16[($8_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -33 | 0; + label$1 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$1 + } + $20_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP16[($20_1 + 24 | 0) >> 1] = (HEAPU16[($20_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 32 | 0; + } + $26_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $129(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $26_1 | 0, $26_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 255 | 0 | 0) & 1 | 0) { + break label$4 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $129(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 2 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$6 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 19 | 0) >> 0] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + } + } + } + } + $71_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP16[($71_1 + 24 | 0) >> 1] = ((HEAPU16[($71_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -33 | 0; + $77_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $77_1 | 0; + } + + function $143($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0; + } + + function $144($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + return; + } + + function $145($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $43_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $173(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if (!(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $174(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $175(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $43_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $43_1 | 0; + } + + function $146($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $44_1 = 0, $54_1 = 0, $147_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!($176(400 | 0) | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 10; + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$5 : { + label$6 : { + label$7 : { + if (!((0 | 0) == ($177(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + $178(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0); + break label$6; + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $44_1 = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $44_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $179(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == ($44_1 | 0) & 1 | 0)) { + break label$10 + } + $54_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $134(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 1 | 0, $5_1 + 4 | 0 | 0, $54_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = $54_1; + } + label$11 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $180(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $137(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + label$12 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$12 + } + $181(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0); + } + break label$8; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $182(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$13 + } + break label$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $183(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$14 + } + break label$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $184(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$15 + } + break label$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $179(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $185(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$16 + } + break label$5; + } + $181(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0); + label$17 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$17 + } + HEAP32[$5_1 >> 2] = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) - ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (((HEAP32[(0 + 69008 | 0) >> 2] | 0 | 0) / (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) & 1 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $186(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$18 + } + break label$5; + } + } + label$19 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$19 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $149(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + label$20 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$20 + } + if ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$20 + } + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] = 5; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $147_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $147_1 | 0; + } + + function $147($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $13_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0, i64toi32_i32$0, i64toi32_i32$1) | 0; + global$0 = $6_1 + 32 | 0; + return $13_1 | 0; + } + + function $148($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $19$hi = 0, $20$hi = 0, i64toi32_i32$3 = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $19_1 = 0, $54_1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $187(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $19_1 = i64toi32_i32$0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $20$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $20$hi; + $54_1 = i64toi32_i32$1; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$2 = $19_1; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$3 = $54_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + if (!($13_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $188(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $16_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $16_1 | 0; + } + + function $149($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $189(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, 21 | 0, HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (12 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + } + label$2 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + if (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $38_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $38_1 | 0; + } + + function $150($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + return; + } + + function $151($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $30_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $127(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $191(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$4 + } + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + } + $30_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($30_1 + 20 | 0) >> 2] = (HEAP32[($30_1 + 20 | 0) >> 2] | 0) + -1 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] = 1; + $192(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + $193(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $38_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $38_1 | 0; + } + + function $152($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $53_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $194(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + } + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $150(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $146(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $53_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $53_1 | 0; + } + + function $153($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 14 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $154($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $80_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 19 | 0) >> 0] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + if (!(((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 262; + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!(((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$7 + } + $80_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($80_1 + 24 | 0) >> 1] = (HEAPU16[($80_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 128 | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 262; + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$5; + }; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + return HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $155($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $18_1 = 0, $19_1 = 0, $292$hi = 0, i64toi32_i32$3 = 0, $26_1 = 0, $293$hi = 0, $294$hi = 0, $296$hi = 0, $72_1 = 0, $154_1 = 0, $209_1 = 0, $210_1 = 0, $219_1 = 0, $225_1 = 0, $289_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $781(HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($3_1 + 36 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $201(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, 1 | 0, $3_1 + 32 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($3_1 + 36 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + break label$1; + } + $26_1 = $161((HEAP32[((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 28 | 0 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $26_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $26_1; + $144(HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, $3_1 + 24 | 0 | 0); + label$4 : { + label$5 : { + if (!(HEAP32[($3_1 + 28 | 0) >> 2] | 0)) { + break label$5 + } + $18_1 = (HEAP32[((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 92 | 0; + $19_1 = (HEAP32[((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 24 | 0; + if (!((HEAPU8[$19_1 >> 0] | 0 | ((HEAPU8[($19_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($19_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($19_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0 | 0) != (HEAPU8[$18_1 >> 0] | 0 | ((HEAPU8[($18_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($18_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($18_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0 | 0))) { + break label$4 + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + } + i64toi32_i32$0 = 0; + $292$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $293$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $294$hi = i64toi32_i32$1; + i64toi32_i32$1 = $293$hi; + i64toi32_i32$1 = $294$hi; + i64toi32_i32$1 = $293$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $294$hi; + i64toi32_i32$3 = 33554432; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $296$hi = i64toi32_i32$0; + i64toi32_i32$0 = $292$hi; + i64toi32_i32$0 = $296$hi; + i64toi32_i32$0 = $292$hi; + i64toi32_i32$0 = $296$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $292$hi; + i64toi32_i32$3 = 0; + label$6 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + label$7 : { + label$8 : { + if (!((HEAP32[($3_1 + 28 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = 26; + label$9 : { + if (!($3228(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 4896 | 0, 16 | 0) | 0)) { + break label$9 + } + break label$7; + } + label$10 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$10 + } + $72_1 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + HEAP16[($72_1 + 24 | 0) >> 1] = (HEAPU16[($72_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + } + label$11 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$11 + } + break label$7; + } + label$12 : { + label$13 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$13 + } + if (((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$13 + } + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $782(HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, $3_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!(HEAP32[($3_1 + 36 | 0) >> 2] | 0)) { + break label$14 + } + break label$7; + } + label$15 : { + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$15 + } + $203(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 36 | 0) >> 2] = 26; + break label$12; + } + } + label$16 : { + if (!($3228((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 21 | 0 | 0, 4912 | 0, 3 | 0) | 0)) { + break label$16 + } + break label$7; + } + HEAP32[($3_1 + 16 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | (((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0; + label$17 : { + label$18 : { + if (((HEAP32[($3_1 + 16 | 0) >> 2] | 0) - 1 | 0) & (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0) { + break label$18 + } + if ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) >>> 0 > 65536 >>> 0 & 1 | 0) { + break label$18 + } + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0) >>> 0 <= 256 >>> 0 & 1 | 0)) { + break label$17 + } + } + break label$7; + } + $154_1 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + HEAP16[($154_1 + 24 | 0) >> 1] = (HEAPU16[($154_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) - ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) | 0; + label$19 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $203(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + $514(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $515(HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($3_1 + 16 | 0) >> 2] | 0) - (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + break label$1; + } + label$20 : { + if ($783(HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$20 + } + if (!((HEAP32[($3_1 + 28 | 0) >> 2] | 0) >>> 0 > (HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(67916 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$7; + } + label$21 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 < 480 >>> 0 & 1 | 0)) { + break label$21 + } + break label$7; + } + $209_1 = 1; + $210_1 = 0; + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $219_1 = $161((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 52 | 0 | 0) | 0 ? $209_1 : $210_1; + HEAP8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 17 | 0) >> 0] = $219_1; + $225_1 = $161((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 64 | 0 | 0) | 0 ? $209_1 : $210_1; + HEAP8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 0] = $225_1; + } + HEAP16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 26 | 0) >> 1] = (((((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 12 | 0) << 6 | 0) >>> 0) / (255 >>> 0) | 0) - 23 | 0; + HEAP16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 1] = (((((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 12 | 0) << 5 | 0) >>> 0) / (255 >>> 0) | 0) - 23 | 0; + HEAP16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 30 | 0) >> 1] = (HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 35 | 0; + HEAP16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 1] = (((((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 12 | 0) << 5 | 0) >>> 0) / (255 >>> 0) | 0) - 23 | 0; + label$22 : { + label$23 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0 | 0) > (127 | 0) & 1 | 0)) { + break label$23 + } + HEAP8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 21 | 0) >> 0] = 127; + break label$22; + } + HEAP8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 21 | 0) >> 0] = HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0; + } + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[($3_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $203(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + } + $289_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $289_1 | 0; + } + + function $156($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0 | 0; + } + + function $157($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$1; + } + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 21 | 0) >> 0] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + label$3 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0)) { + break label$6 + } + if (!($735(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $716(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $735(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $784(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $716(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$8 + } + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $715(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + label$9 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$9 + } + i64toi32_i32$0 = 0; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] = 2; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$0; + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $72_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $72_1 | 0; + } + + function $158($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $12_1 = 0, $13_1 = 0, $23_1 = 0, $26_1 = 0, $28_1 = 0, $63_1 = 0, $149_1 = 0, $153_1 = 0, $85_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($3_1 + 12 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $23_1 = 1; + $26_1 = 32; + $28_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4904 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4908 | 0) >> 2] | 0; + $149_1 = i64toi32_i32$0; + i64toi32_i32$0 = $28_1 + 8 | 0; + $12_1 = $149_1; + HEAP8[i64toi32_i32$0 >> 0] = $12_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $12_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $12_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $12_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4896 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4900 | 0) >> 2] | 0; + $153_1 = i64toi32_i32$1; + i64toi32_i32$1 = $28_1; + $13_1 = $153_1; + HEAP8[i64toi32_i32$1 >> 0] = $13_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $13_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $13_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $13_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] = ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 8 | 0) & 255 | 0; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 17 | 0) >> 0] = ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 16 | 0) & 255 | 0; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 18 | 0) >> 0] = $23_1; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 19 | 0) >> 0] = $23_1; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 0] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 21 | 0) >> 0] = 64; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 22 | 0) >> 0] = $26_1; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 23 | 0) >> 0] = $26_1; + $3289((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 24 | 0 | 0, 0 | 0, 76 | 0) | 0; + $785(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, 13 | 0); + $63_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP16[($63_1 + 24 | 0) >> 1] = (HEAPU16[($63_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0; + $162((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 52 | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0); + $162((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 64 | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0); + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] = 1; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 31 | 0) >> 0] = $23_1; + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $85_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $85_1 | 0; + } + + function $159($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + $203(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $160($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $9_1 = $629((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 400 | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $9_1 | 0; + } + + function $161($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return ((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0 | 0; + } + + function $162($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 24 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 16 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 8 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + return; + } + + function $163($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $786(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $21_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $21_1 | 0; + } + + function $164($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $70_1 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + HEAP32[$6_1 >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[$6_1 >> 2] | 0) + 22 | 0) >> 0] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[$6_1 >> 2] | 0) + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[$6_1 >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + label$1 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + } + label$2 : { + label$3 : { + if (!(((HEAPU16[((HEAP32[$6_1 >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$3 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 8; + break label$2; + } + label$4 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) >= (512 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) <= (65536 | 0) & 1 | 0)) { + break label$4 + } + if (((HEAP32[($6_1 + 20 | 0) >> 2] | 0) - 1 | 0) & (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) { + break label$4 + } + HEAP32[((HEAP32[$6_1 >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $514(HEAP32[$6_1 >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $515(HEAP32[(HEAP32[$6_1 >> 2] | 0) >> 2] | 0 | 0, (HEAP32[$6_1 >> 2] | 0) + 36 | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[$6_1 >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[((HEAP32[$6_1 >> 2] | 0) + 36 | 0) >> 2] | 0) - ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) & 65535 | 0) | 0; + label$5 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$5 + } + $70_1 = HEAP32[$6_1 >> 2] | 0; + HEAP16[($70_1 + 24 | 0) >> 1] = (HEAPU16[($70_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + $77_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $77_1 | 0; + } + + function $165($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0; + } + + function $166($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $167($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function $168($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$2 + } + $755(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + break label$1; + } + $751(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $169($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 88 | 0 | 0; + } + + function $170($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6_1 = 0, $9_1 = 0, $14_1 = 0, $20_1 = 0, $76_1 = 0, $80_1 = 0, $119_1 = 0, $129_1 = 0, $138_1 = 0, $148_1 = 0; + $3_1 = global$0 - 64 | 0; + global$0 = $3_1; + $6_1 = $3_1 + 24 | 0; + $9_1 = $3_1 + 40 | 0; + HEAP32[($3_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$2 = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $119_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1; + HEAP32[i64toi32_i32$0 >> 2] = $119_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $14_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $14_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $129_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1 + $14_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $129_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 40 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $138_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[i64toi32_i32$0 >> 2] = $138_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $20_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $20_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $148_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1 + $20_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $148_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $489((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 40 | 0 | 0); + $209((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 24 | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $10(0 | 0, HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + continue label$2; + }; + } + $209($3_1 + 24 | 0 | 0); + $489((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $11(0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + continue label$4; + }; + } + $209($3_1 + 40 | 0 | 0); + $209((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 56 | 0 | 0); + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] = 0; + label$5 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 78 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$5 + } + $76_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[($76_1 + 4 | 0) >> 2] = (HEAP32[($76_1 + 4 | 0) >> 2] | 0) + 1 | 0; + } + $80_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP16[($80_1 + 78 | 0) >> 1] = ((HEAPU16[($80_1 + 78 | 0) >> 1] | 0) & 65535 | 0) & -10 | 0; + global$0 = $3_1 + 64 | 0; + return; + } + + function $171($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 364 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 364 | 0) >> 2] = $13_1; + $395(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $13_1 | 0); + label$2 : while (1) { + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $841(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + continue label$2 + } + break label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $172($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $82_1 = 0, $84_1 = 0, $4_1 = 0, $44_1 = 0, $51_1 = 0, $85_1 = 0, $88_1 = 0, $91_1 = 0, $217_1 = 0, $227_1 = 0, $293_1 = 0, $303_1 = 0, $313_1 = 0, $323_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 2; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $13(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] = 0; + break label$3; + } + label$5 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $44_1 = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $217_1 = i64toi32_i32$0; + i64toi32_i32$0 = $44_1; + HEAP32[i64toi32_i32$0 >> 2] = $217_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $51_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $51_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $227_1 = i64toi32_i32$1; + i64toi32_i32$1 = $44_1 + $51_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $227_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) <= (2 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 412 | 0 | 0) & 1 | 0)) { + break label$6 + } + $82_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 412 | 0; + $84_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $84_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $293_1 = i64toi32_i32$0; + i64toi32_i32$0 = $82_1; + HEAP32[i64toi32_i32$0 >> 2] = $293_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $85_1 = 24; + i64toi32_i32$2 = i64toi32_i32$2 + $85_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $303_1 = i64toi32_i32$1; + i64toi32_i32$1 = $82_1 + $85_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $303_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $88_1 = 16; + i64toi32_i32$2 = $84_1 + $88_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $313_1 = i64toi32_i32$0; + i64toi32_i32$0 = $82_1 + $88_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $313_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $91_1 = 8; + i64toi32_i32$2 = $84_1 + $91_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $323_1 = i64toi32_i32$1; + i64toi32_i32$1 = $82_1 + $91_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $323_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $13(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 412 | 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $173($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!($650(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $651(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $9_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $9_1 | 0; + } + + function $174($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $12_1 = 0, $72_1 = 0, $130_1 = 0, $169_1 = 0, $179_1 = 0, $185_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = ((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) >>> 0) | 0; + $12_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP8[($12_1 + 20 | 0) >> 0] = (HEAPU8[($12_1 + 20 | 0) >> 0] | 0) & 255 | 0 | 4 | 0; + HEAP32[($3_1 + 32 | 0) >> 2] = (((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) - 1 | 0) & (((HEAP32[($3_1 + 12 | 0) >> 2] | 0) - 1 | 0) ^ -1 | 0) | 0) + 1 | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 > (HEAP32[($3_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = ((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) - (HEAP32[($3_1 + 32 | 0) >> 2] | 0) | 0) + 1 | 0; + break label$1; + } + label$3 : { + label$4 : { + if (!((((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0) - 1 | 0) >>> 0 > (HEAP32[($3_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 28 | 0) >> 2] = ((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[($3_1 + 32 | 0) >> 2] | 0) | 0; + break label$3; + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + } + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$5 : while (1) { + $72_1 = 0; + label$6 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $72_1 = (HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$7 : { + if (!($72_1 & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 32 | 0) >> 2] | 0) + (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0; + label$8 : { + label$9 : { + label$10 : { + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$10 + } + if ($519(HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$9 + } + } + label$11 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (((HEAP32[(0 + 69008 | 0) >> 2] | 0 | 0) / (HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $134(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, $3_1 + 4 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (HEAP32[($3_1 + 40 | 0) >> 2] | 0) { + break label$12 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $175(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$13 + } + HEAP32[($3_1 + 20 | 0) >> 2] = 1; + } + $168(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + } + } + break label$8; + } + $130_1 = $749(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $130_1; + label$14 : { + if (!(($130_1 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$15 + } + HEAP32[($3_1 + 20 | 0) >> 2] = 1; + } + $168(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + label$16 : { + if (HEAP32[($3_1 + 40 | 0) >> 2] | 0) { + break label$16 + } + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$16 + } + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $749(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 32 | 0) >> 2] | 0) + (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$19 : { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + $169_1 = HEAP32[$3_1 >> 2] | 0; + HEAP16[($169_1 + 28 | 0) >> 1] = (HEAPU16[($169_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + $168(HEAP32[$3_1 >> 2] | 0 | 0); + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + } + $179_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP8[($179_1 + 20 | 0) >> 0] = ((HEAPU8[($179_1 + 20 | 0) >> 0] | 0) & 255 | 0) & -5 | 0; + $185_1 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $185_1 | 0; + } + + function $175($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $58_1 = 0, $65_1 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $801(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[$3_1 >> 2] | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + break label$1; + } + } + $750(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if ($662(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $802(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[$3_1 >> 2] | 0)) { + break label$7 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + break label$1; + } + break label$5; + } + label$8 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$8 + } + $58_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($58_1 + 28 | 0) >> 1] = (HEAPU16[($58_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + } + } + } + $65_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($65_1 + 28 | 0) >> 1] = (HEAPU16[($65_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $173(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + label$10 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + } + $93_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $93_1 | 0; + } + + function $176($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(0 + 68612 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = FUNCTION_TABLE[HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + break label$1; + } + $16_1 = 0; + } + global$0 = $3_1 + 16 | 0; + return $16_1 | 0; + } + + function $177($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if ((HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ($759(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) | 0 | 0) >= (25 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $31_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $31_1 | 0; + } + + function $178($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = 1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + continue label$2; + }; + } + return; + } + + function $179($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $20_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + continue label$2; + }; + } + $20_1 = $754(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $20_1 | 0; + } + + function $180($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $14_1 = 0, $40_1 = 0, $88_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[$6_1 >> 2] = $6_1 + 24 | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + $14_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP32[(HEAP32[$6_1 >> 2] | 0) >> 2] = $14_1; + if (!(($14_1 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + HEAP32[$6_1 >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 16 | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$4; + }; + } + break label$1; + } + HEAP32[($6_1 + 8 | 0) >> 2] = 1; + } + $40_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($40_1 + 192 | 0) >> 2] = (HEAP32[($40_1 + 192 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$6 + } + $652(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $653(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$7 + } + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $654(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$9; + }; + } + } + $88_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $88_1 | 0; + } + + function $181($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : while (1) { + $6_1 = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $6_1; + if (!(($6_1 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $644(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + continue label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $182($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $134(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, $4_1 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $145(HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + $652(HEAP32[$4_1 >> 2] | 0 | 0); + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 0] = 1; + } + $137(HEAP32[$4_1 >> 2] | 0 | 0); + } + $37_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $37_1 | 0; + } + + function $183($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $194$hi = 0, $195$hi = 0, $5_1 = 0, $51_1 = 0, $82_1 = 0, $169$hi = 0, $170$hi = 0, $93_1 = 0, $172$hi = 0, $173$hi = 0, $174$hi = 0, $175$hi = 0, $105_1 = 0, $177$hi = 0, $178$hi = 0, $179$hi = 0, $180$hi = 0, $181$hi = 0, $182$hi = 0, $117_1 = 0, $184$hi = 0, $185$hi = 0, $186$hi = 0, $187$hi = 0, $188$hi = 0, $189$hi = 0, $130_1 = 0, $191$hi = 0, $145_1 = 0, $148_1 = 0, $63_1 = 0, $64_1 = 0, $65_1 = 0, $338_1 = 0, $344_1 = 0, $88_1 = 0, $90_1 = 0, $91_1 = 0, $92_1 = 0, $99_1 = 0, $101_1 = 0, $422_1 = 0, $111_1 = 0, $113_1 = 0, $456_1 = 0, $123_1 = 0, $124_1 = 0, $125_1 = 0, $127_1 = 0, $493_1 = 0, $137_1 = 0, $140_1 = 0, $191_1 = 0, $535$hi = 0, $194_1 = 0, $568_1 = 0, $163_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$3 + } + if (((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 19 | 0) >> 0] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!(((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + $51_1 = 24; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) << $51_1 | 0) >> $51_1 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$6 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = $656(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $338_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] = $338_1; + HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $344_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $344_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $82_1 = $664(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, ((HEAP32[(0 + 69008 | 0) >> 2] | 0 | 0) / (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $82_1; + label$7 : { + label$8 : { + if ((0 | 0) != ($82_1 | 0) & 1 | 0) { + break label$8 + } + $88_1 = 0; + $90_1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + $91_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $92_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $169$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $170$hi = i64toi32_i32$0; + i64toi32_i32$0 = $169$hi; + i64toi32_i32$0 = $170$hi; + i64toi32_i32$0 = $169$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $170$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $93_1 = $147($90_1 | 0, $91_1 | 0, $92_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $93_1; + if (($88_1 | 0) != ($93_1 | 0) & 1 | 0) { + break label$8 + } + $99_1 = 0; + $101_1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $172$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $173$hi = i64toi32_i32$2; + i64toi32_i32$2 = $172$hi; + i64toi32_i32$2 = $173$hi; + i64toi32_i32$2 = $172$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $173$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $174$hi = i64toi32_i32$4; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $175$hi = i64toi32_i32$4; + i64toi32_i32$4 = $174$hi; + i64toi32_i32$4 = $175$hi; + $422_1 = i64toi32_i32$0; + i64toi32_i32$4 = $174$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = $175$hi; + i64toi32_i32$3 = $422_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $105_1 = $664($101_1 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $105_1; + if (($99_1 | 0) != ($105_1 | 0) & 1 | 0) { + break label$8 + } + $111_1 = 0; + $113_1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$4 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $177$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $178$hi = i64toi32_i32$2; + i64toi32_i32$2 = $177$hi; + i64toi32_i32$2 = $178$hi; + i64toi32_i32$2 = $177$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $178$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $179$hi = i64toi32_i32$5; + i64toi32_i32$4 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$4 >> 31 | 0; + $180$hi = i64toi32_i32$5; + i64toi32_i32$5 = $179$hi; + i64toi32_i32$5 = $180$hi; + $456_1 = i64toi32_i32$4; + i64toi32_i32$5 = $179$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$4 = $180$hi; + i64toi32_i32$3 = $456_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $181$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $182$hi = i64toi32_i32$0; + i64toi32_i32$0 = $181$hi; + i64toi32_i32$0 = $182$hi; + i64toi32_i32$0 = $181$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$2 = $182$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $117_1 = $664($113_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $117_1; + if (($111_1 | 0) != ($117_1 | 0) & 1 | 0) { + break label$8 + } + $123_1 = 0; + $124_1 = 4815; + $125_1 = 8; + $127_1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $184$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $185$hi = i64toi32_i32$5; + i64toi32_i32$5 = $184$hi; + i64toi32_i32$5 = $185$hi; + i64toi32_i32$5 = $184$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $185$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $186$hi = i64toi32_i32$4; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $187$hi = i64toi32_i32$4; + i64toi32_i32$4 = $186$hi; + i64toi32_i32$4 = $187$hi; + $493_1 = i64toi32_i32$0; + i64toi32_i32$4 = $186$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$0 = $187$hi; + i64toi32_i32$3 = $493_1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $188$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $189$hi = i64toi32_i32$2; + i64toi32_i32$2 = $188$hi; + i64toi32_i32$2 = $189$hi; + i64toi32_i32$2 = $188$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$5 = $189$hi; + i64toi32_i32$3 = 8; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $130_1 = $147($127_1 | 0, $124_1 | 0, $125_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $130_1; + if (!(($123_1 | 0) != ($130_1 | 0) & 1 | 0)) { + break label$7 + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + break label$1; + } + $137_1 = 0; + $140_1 = $4_1 + 8 | 0; + i64toi32_i32$4 = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0; + i64toi32_i32$1 = i64toi32_i32$4 >> 31 | 0; + $191_1 = i64toi32_i32$4; + $191$hi = i64toi32_i32$1; + $145_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = $145_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $535$hi = i64toi32_i32$4; + i64toi32_i32$4 = $191$hi; + i64toi32_i32$4 = $535$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $191$hi; + i64toi32_i32$3 = $191_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$2 = $145_1; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$0; + $148_1 = $187(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, $140_1 | 0) | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $148_1; + label$9 : { + if (!(($137_1 | 0) == ($148_1 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$4 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $194_1 = i64toi32_i32$0; + $194$hi = i64toi32_i32$2; + i64toi32_i32$4 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 76 | 0) >> 2] | 0; + $195$hi = i64toi32_i32$0; + i64toi32_i32$0 = $194$hi; + i64toi32_i32$0 = $195$hi; + i64toi32_i32$0 = $194$hi; + i64toi32_i32$0 = $195$hi; + $568_1 = i64toi32_i32$2; + i64toi32_i32$0 = $194$hi; + i64toi32_i32$4 = $194_1; + i64toi32_i32$2 = $195$hi; + i64toi32_i32$3 = $568_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { + $63_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$4 >>> 0 <= i64toi32_i32$3 >>> 0) { + $64_1 = 0 + } else { + $64_1 = 1 + } + $65_1 = $64_1; + } else { + $65_1 = 0 + } + $63_1 = $65_1; + } + if (!($63_1 & 1 | 0)) { + break label$9 + } + i64toi32_i32$3 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $188(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + } + $163_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $163_1 | 0; + } + + function $184($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $11_1 = 0, $299_1 = 0, $314_1 = 0, $525_1 = 0, $570_1 = 0, $182_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $655(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 48 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $619(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((0 | 0) == ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) & 512 | 0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4815 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 4816 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 4817 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 4818 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4819 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 4820 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 4821 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 4822 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $299_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1 + 12 | 0; + $11_1 = $299_1; + HEAP8[i64toi32_i32$0 >> 0] = $11_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $11_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $11_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $11_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $162(i64toi32_i32$0 + 8 | 0 | 0, HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + i64toi32_i32$1 = $656(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $314_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $314_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, $4_1 + 24 | 0 | 0, 8 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$7 + } + if (!((0 | 0) == ($3228($4_1 + 24 | 0 | 0, 4815 | 0, 8 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, 4823 | 0, 1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + if (!(HEAP32[($4_1 + 48 | 0) >> 2] | 0)) { + break label$8 + } + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != (522 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + break label$1; + } + label$9 : { + if (!((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0)) { + break label$9 + } + if (!((0 | 0) == ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) & 1024 | 0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(HEAP32[($4_1 + 48 | 0) >> 2] | 0)) { + break label$10 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + break label$1; + } + } + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, $4_1 + 12 | 0 | 0, 12 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($4_1 + 48 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + break label$1; + } + } + label$12 : { + if (!((0 | 0) == ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) & 1024 | 0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | (((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0 ? 16 : 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($4_1 + 48 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + break label$1; + } + } + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $525_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 80 | 0) >> 2] = $525_1; + HEAP32[(i64toi32_i32$1 + 84 | 0) >> 2] = i64toi32_i32$0; + label$14 : { + if (!(HEAP32[($4_1 + 52 | 0) >> 2] | 0)) { + break label$14 + } + if (!((0 | 0) == ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) & 512 | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $657(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!(HEAP32[($4_1 + 48 | 0) >> 2] | 0)) { + break label$15 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + break label$1; + } + } + break label$4; + } + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $570_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 80 | 0) >> 2] = $570_1; + HEAP32[(i64toi32_i32$0 + 84 | 0) >> 2] = i64toi32_i32$1; + } + } + $658(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 0] = 4; + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + } + $182_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $182_1 | 0; + } + + function $185($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $21_1 = 0, $22_1 = 0, $5_1 = 0, $159$hi = 0, $160$hi = 0, $64_1 = 0, $162$hi = 0, $163$hi = 0, $128_1 = 0, $132_1 = 0, $145_1 = 0, $23_1 = 0, $284_1 = 0, $376_1 = 0, $379_1 = 0, $447_1 = 0, $457_1 = 0, $156_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $5_1; + label$1 : { + if ((HEAP32[(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $659(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($4_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + label$3 : { + if ((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + } + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $159$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $160$hi = i64toi32_i32$0; + i64toi32_i32$0 = $159$hi; + i64toi32_i32$0 = $160$hi; + i64toi32_i32$0 = $159$hi; + $23_1 = i64toi32_i32$1; + i64toi32_i32$1 = $160$hi; + i64toi32_i32$1 = __wasm_i64_mul($23_1 | 0, i64toi32_i32$0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $284_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $284_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + $615(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, 5 | 0, $4_1 + 24 | 0 | 0); + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + } + label$4 : while (1) { + $64_1 = 0; + label$5 : { + if (HEAP32[($4_1 + 36 | 0) >> 2] | 0) { + break label$5 + } + $64_1 = (HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$6 : { + if (!($64_1 & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + if (!((0 | 0) == (((HEAPU16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$0 = 0; + $162$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $163$hi = i64toi32_i32$0; + i64toi32_i32$0 = $162$hi; + i64toi32_i32$0 = $163$hi; + $376_1 = i64toi32_i32$1; + i64toi32_i32$0 = $162$hi; + i64toi32_i32$1 = $163$hi; + i64toi32_i32$1 = __wasm_i64_mul((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$0 | 0, $376_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $379_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $379_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$9 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$9 + } + $652(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$10 + } + $128_1 = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 104 | 0; + i64toi32_i32$2 = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $447_1 = i64toi32_i32$1; + i64toi32_i32$1 = $128_1; + $21_1 = $447_1; + HEAP8[i64toi32_i32$1 >> 0] = $21_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $21_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $21_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $21_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $132_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $132_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $457_1 = i64toi32_i32$0; + i64toi32_i32$0 = $128_1 + $132_1 | 0; + $22_1 = $457_1; + HEAP8[i64toi32_i32$0 >> 0] = $22_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $22_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $22_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $22_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + } + label$11 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + $145_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($145_1 + 192 | 0) >> 2] = (HEAP32[($145_1 + 192 | 0) >> 2] | 0) + 1 | 0; + $654(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$7; + } + } + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$4; + } + break label$4; + }; + $156_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $156_1 | 0; + } + + function $186($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $76$hi = 0, $77$hi = 0, $80$hi = 0, $81$hi = 0, $87$hi = 0, $88$hi = 0, $5_1 = 0, $73$hi = 0, $74$hi = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $85$hi = 0, $86$hi = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $91$hi = 0, $92$hi = 0, $39_1 = 0, $178_1 = 0, $76_1 = 0, $189_1 = 0, $80_1 = 0, $203_1 = 0, $85_1 = 0, $229_1 = 0, $236_1 = 0, $91_1 = 0, $273_1 = 0, $70_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) >= (4 | 0) & 1 | 0) { + break label$2 + } + if ((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, $4_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $73$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $74$hi = i64toi32_i32$0; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = $74$hi; + i64toi32_i32$0 = $73$hi; + $39_1 = i64toi32_i32$1; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$1 = __wasm_i64_mul($39_1 | 0, i64toi32_i32$0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $178_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $178_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$3 : { + if (HEAP32[($4_1 + 36 | 0) >> 2] | 0) { + break label$3 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $76_1 = i64toi32_i32$0; + $76$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $77$hi = i64toi32_i32$0; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $77$hi; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $77$hi; + $189_1 = i64toi32_i32$1; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$2 = $76_1; + i64toi32_i32$1 = $77$hi; + i64toi32_i32$3 = $189_1; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $80_1 = i64toi32_i32$2; + $80$hi = i64toi32_i32$0; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $81$hi = i64toi32_i32$2; + i64toi32_i32$2 = $80$hi; + i64toi32_i32$2 = $81$hi; + i64toi32_i32$2 = $80$hi; + i64toi32_i32$2 = $81$hi; + $203_1 = i64toi32_i32$0; + i64toi32_i32$2 = $80$hi; + i64toi32_i32$3 = $80_1; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$1 = $203_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $33_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $34_1 = 0 + } else { + $34_1 = 1 + } + $35_1 = $34_1; + } else { + $35_1 = 0 + } + $33_1 = $35_1; + } + label$4 : { + label$5 : { + if (!($33_1 & 1 | 0)) { + break label$5 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $188(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $85_1 = i64toi32_i32$2; + $85$hi = i64toi32_i32$3; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + $86$hi = i64toi32_i32$3; + i64toi32_i32$3 = $85$hi; + i64toi32_i32$3 = $86$hi; + $229_1 = i64toi32_i32$2; + i64toi32_i32$3 = $85$hi; + i64toi32_i32$1 = $85_1; + i64toi32_i32$2 = $86$hi; + i64toi32_i32$0 = $229_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $87$hi = i64toi32_i32$5; + i64toi32_i32$3 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $88$hi = i64toi32_i32$1; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$1 = $88$hi; + $236_1 = i64toi32_i32$5; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$5 = $88$hi; + i64toi32_i32$0 = $236_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$5 | 0)) { + $36_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$3 >>> 0 > i64toi32_i32$0 >>> 0) { + $37_1 = 0 + } else { + $37_1 = 1 + } + $38_1 = $37_1; + } else { + $38_1 = 0 + } + $36_1 = $38_1; + } + label$6 : { + if (!($36_1 & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0; + $3289(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $91_1 = i64toi32_i32$3; + $91$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $92$hi = i64toi32_i32$1; + i64toi32_i32$1 = $91$hi; + i64toi32_i32$1 = $92$hi; + $273_1 = i64toi32_i32$3; + i64toi32_i32$1 = $91$hi; + i64toi32_i32$0 = $91_1; + i64toi32_i32$3 = $92$hi; + i64toi32_i32$5 = $273_1; + i64toi32_i32$2 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$4 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$4 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + } + label$7 : { + if (HEAP32[($4_1 + 36 | 0) >> 2] | 0) { + break label$7 + } + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + } + } + } + $70_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $70_1 | 0; + } + + function $187($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $10_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $188($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $9_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0, i64toi32_i32$0, i64toi32_i32$1) | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $189($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 12; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 8 | 0) >> 2] | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0, HEAP32[$5_1 >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $22_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $22_1 | 0; + } + + function $190($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $12_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + break label$1; + } + $12_1 = 0; + } + global$0 = $4_1 + 16 | 0; + return $12_1 | 0; + } + + function $191($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, $50_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$1; + } + $10_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($10_1 + 100 | 0) >> 2] = (HEAP32[($10_1 + 100 | 0) >> 2] | 0) + 1 | 0; + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] = 1; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $726(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $639(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $50_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $50_1 | 0; + } + + function $192($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $521(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $193($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $37_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 19 | 0) >> 0] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 176 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$2 + } + $805(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] = 1; + break label$1; + } + label$3 : { + if (!((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + $806(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $37_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($37_1 + 44 | 0) >> 2] = (HEAP32[($37_1 + 44 | 0) >> 2] | 0) + -1 | 0; + label$4 : { + if (!((0 | 0) == (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] = 0; + } + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] = 0; + $159(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $194($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $70_1 = 0, $82_1 = 0, $115_1 = 0, $142_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + $807(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $165(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (($808(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0) | 0 | 0) == (HEAP32[$3_1 >> 2] | 0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[$3_1 >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$3 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(68667 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $809(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 > (HEAP32[$3_1 >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(68672 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$6 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[$3_1 >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + $70_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $198(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $70_1 | 0, $70_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + label$7 : while (1) { + $82_1 = 0; + label$8 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) >>> 0 > (HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + $82_1 = (HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$9 : { + if (!($82_1 & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $810(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + -1 | 0; + continue label$7; + } + break label$7; + }; + label$10 : { + label$11 : { + if ((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0) { + break label$11 + } + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$10 + } + } + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$10 + } + $115_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $162((HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 32 | 0 | 0, $115_1 | 0); + $162((HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 36 | 0 | 0, $115_1 | 0); + $162((HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 28 | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 19 | 0) >> 0] = 1; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + label$12 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$12 + } + $200(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $142_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $142_1 | 0; + } + + function $195($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $33_1 = 0, $59_1 = 0, $70_1 = 0, $98_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $127(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + label$3 : { + if (!((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + } + label$4 : { + if (!((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $33_1 = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($33_1 + 16 | 0) >> 2] = (HEAP32[($33_1 + 16 | 0) >> 2] | 0) + -1 | 0; + } + label$5 : { + if (!(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $169($9(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 44 | 0; + continue label$7; + }; + } + HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + } + $59_1 = 0; + $196(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $59_1 | 0, $59_1 | 0) | 0; + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$9 + } + $70_1 = 0; + break label$8; + } + $70_1 = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $70_1; + label$10 : { + if (!((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $115(HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $197(HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $42(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + } + $197(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + $98_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $98_1 | 0; + } + + function $196($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $12_1 = 0, $52_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 24 | 0) >> 2] | 0) { + break label$2 + } + $10_1 = 0; + $12_1 = $198(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $10_1 | 0, $10_1 | 0) | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $12_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $12_1; + label$3 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + } + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + } + label$4 : { + if (!(HEAP32[($5_1 + 24 | 0) >> 2] | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $199(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + } + label$6 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $200(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[$5_1 >> 2] | 0)) { + break label$7 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + } + label$8 : { + if ($201(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, $5_1 + 8 | 0 | 0, 0 | 0) | 0) { + break label$8 + } + $202(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $203(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] = 1; + $192(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + $193(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + $52_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $52_1 | 0; + } + + function $197($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) != (1691352191 | 0) & 1 | 0) { + break label$3 + } + if (!($204(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + } + break label$1; + } + $14_1 = 0; + $205(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, $14_1 | 0); + $206(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = $14_1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $207(HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + label$7 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + } + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$8 : { + if (!((HEAP32[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $170(HEAP32[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + } + $171(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + $172(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 376 | 0) >> 2] | 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$11 : while (1) { + $208(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $13(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + continue label$11 + } + break label$11; + }; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + continue label$10; + }; + } + $209((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 368 | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 392 | 0) >> 2] | 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$14 + } + label$16 : { + if (!((HEAP32[(((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 20 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + FUNCTION_TABLE[HEAP32[(((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 20 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[(((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 20 | 0) >> 2] | 0, 20) | 0) + 8 | 0) >> 2] | 0); + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + $13(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + continue label$13; + }; + } + $209((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 384 | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 348 | 0) >> 2] | 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $210(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0); + $211(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + continue label$18; + }; + } + $209((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 340 | 0 | 0); + $115(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0); + $212(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] = -1254786768; + $13(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] = -1623446221; + label$19 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 280 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$19 + } + $42(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 320 | 0) >> 2] | 0 | 0); + } + $42(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $198($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $57_1 = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if ((0 | 0) == (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + } + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$2; + }; + } + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $811(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + label$7 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $57_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP8[($57_1 + 1 | 0) >> 0] = ((HEAPU8[($57_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -33 | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $64_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $64_1 | 0; + } + + function $199($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $59_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + label$1 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + $127(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$5 + } + if (((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$5 + } + label$6 : { + label$7 : { + if (!((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$7 + } + if (!(((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$6 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $816(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$8 + } + $199(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + break label$2; + } + } + break label$4; + } + $836(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + HEAP8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] = 4; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + $817(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$3; + }; + } + } + $59_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $59_1 | 0; + } + + function $200($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $69_1 = 0, $104_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $727(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 2 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $726(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + } + break label$4; + } + label$7 : { + label$8 : { + label$9 : { + if (!((HEAP32[(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$8 + } + } + $69_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $726(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $69_1 | 0, $69_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$10 + } + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = 4; + HEAP8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] = 6; + $624(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + break label$7; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $728(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $639(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $104_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $104_1 | 0; + } + + function $201($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $21_1 = 0, $23_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $134(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, $6_1 + 4 | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + break label$1; + } + $21_1 = $791(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = $21_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $23_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $23_1 | 0; + } + + function $202($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + $144(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, $4_1 + 4 | 0 | 0); + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $203($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $794(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $204($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $43_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[$3_1 >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!($1848(HEAP32[$3_1 >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $43_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $43_1 | 0; + } + + function $205($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $12_1 = 0, $103_1 = 0, $78_1 = 0, $104$hi = 0, $105$hi = 0, $271_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + $449(); + $8(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + $12_1 = 0; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 1 | 0)) { + break label$1 + } + $12_1 = ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + HEAP32[($4_1 + 12 | 0) >> 2] = $12_1 & 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(($125(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + } + $196(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0 | 0) | 0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $458(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $450(); + label$6 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$6 + } + $395(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0); + $141(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$0 = 0; + $103_1 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 464 | 0) >> 2] = $103_1; + HEAP32[(i64toi32_i32$1 + 468 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 472 | 0) >> 2] = $103_1; + HEAP32[(i64toi32_i32$1 + 476 | 0) >> 2] = i64toi32_i32$0; + $78_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $78_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $104$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $105$hi = i64toi32_i32$1; + i64toi32_i32$1 = $104$hi; + i64toi32_i32$1 = $105$hi; + i64toi32_i32$1 = $104$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $105$hi; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $271_1 = i64toi32_i32$2 & -524289 | 0; + i64toi32_i32$2 = $78_1; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = $271_1; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$0; + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$8 + } + if (((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$7 + } + } + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0); + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $206($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $20_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 444 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 444 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 444 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $13(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + continue label$2; + }; + } + $20_1 = 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 456 | 0) >> 2] = $20_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 460 | 0) >> 2] = $20_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 87 | 0) >> 0] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $207($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $29_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $861(HEAP32[$3_1 >> 2] | 0 | 0) | 0; + } + continue label$2; + }; + } + $29_1 = 0; + $196(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $29_1 | 0, $29_1 | 0) | 0; + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + if (!($863(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + } + $612(HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0); + } + $13(0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0); + $514(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + } + label$8 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + } + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $208($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $14_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[$14_1 >> 2] = (HEAP32[$14_1 >> 2] | 0) + -1 | 0; + label$2 : { + if (HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) { + break label$2 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $209($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $4_1; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $4_1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $210($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $15_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($15_1 + 36 | 0) >> 2] = HEAP32[($15_1 + 36 | 0) >> 2] | 0 | 2 | 0; + $11(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $211($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0); + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $212($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + $227(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $23(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $213($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $35$hi = 0, $37$hi = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0, i64toi32_i32$3 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + break label$2; + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + label$4 : { + if (!($214(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $3(83345 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$0 = 0; + $35$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 136 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 140 | 0) >> 2] | 0; + $37$hi = i64toi32_i32$1; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $35$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $9_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $10_1 = 0 + } else { + $10_1 = 1 + } + $11_1 = $10_1; + } else { + $11_1 = 0 + } + $9_1 = $11_1; + } + label$5 : { + if (!($9_1 & 1 | 0)) { + break label$5 + } + $215(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $216(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $217(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $197(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $32_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $32_1 | 0; + } + + function $214($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $82(21 | 0, 4916 | 0, 0 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $17_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $17_1 | 0; + } + + function $215($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $29$hi = 0, $30$hi = 0, i64toi32_i32$3 = 0, $31$hi = 0, $32$hi = 0, $29_1 = 0, $62_1 = 0, $15_1 = 0, $68_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + $218(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0) | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$0; + $29$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 136 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 140 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$0 = $30$hi; + $62_1 = i64toi32_i32$1; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$2 = $29_1; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$3 = $62_1; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $31$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $32$hi = i64toi32_i32$5; + i64toi32_i32$5 = $31$hi; + i64toi32_i32$5 = $32$hi; + i64toi32_i32$5 = $31$hi; + $15_1 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$2 = $32$hi; + i64toi32_i32$2 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$5 | 0, 1e6 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $68_1 = i64toi32_i32$2; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $68_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$5; + label$1 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 88 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$1 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0 | 0](2, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0, $4_1 + 8 | 0) | 0; + } + i64toi32_i32$5 = 0; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 136 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$2 + 140 | 0) >> 2] = i64toi32_i32$5; + global$0 = $4_1 + 32 | 0; + return; + } + + function $216($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (770837923 | 0) & 1 | 0) { + break label$2 + } + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (832317811 | 0) & 1 | 0)) { + break label$1 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $219(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $220(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $24_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $24_1 | 0; + } + + function $217($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $221(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) | 0; + } + $17_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $17_1 | 0; + } + + function $218($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0.0, i64toi32_i32$1 = 0, $45_1 = 0.0, $10_1 = 0, $11_1 = 0, $40_1 = 0, $40$hi = 0, i64toi32_i32$2 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 28 | 0) >> 2] | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 28 | 0) >> 2] | 0, $4_1 + 8 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $45_1 = +HEAPF64[($4_1 + 8 | 0) >> 3] * 864.0e5; + label$3 : { + label$4 : { + if (!(Math_abs($45_1) < 9223372036854775808.0)) { + break label$4 + } + i64toi32_i32$0 = $45_1; + if (Math_abs(i64toi32_i32$0) >= 1.0) { + if (i64toi32_i32$0 > 0.0) { + $10_1 = ~~Math_min(Math_floor(i64toi32_i32$0 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $10_1 = ~~Math_ceil((i64toi32_i32$0 - +(~~i64toi32_i32$0 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $11_1 = $10_1; + } else { + $11_1 = 0 + } + i64toi32_i32$1 = $11_1; + $40_1 = ~~i64toi32_i32$0 >>> 0; + $40$hi = i64toi32_i32$1; + break label$3; + } + i64toi32_i32$1 = -2147483648; + $40_1 = 0; + $40$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $40$hi; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $40_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + } + $36_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $36_1 | 0; + } + + function $219($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $43_1 = 0, $58_1 = 0, $59_1 = 0, $61_1 = 0, $69_1 = 0, $93_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $224(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + } + $225(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + break label$3; + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + } + label$6 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 5 | 0) & 1 | 0) & 65535 | 0)) { + break label$6 + } + $43_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($43_1 + 150 | 0) >> 1] = (HEAPU16[($43_1 + 150 | 0) >> 1] | 0) & -4 | 0 | 1 | 0; + } + break label$1; + } + label$7 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$7 + } + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) & 3 | 0) & 65535 | 0)) { + break label$7 + } + $58_1 = 0; + $59_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $61_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $69_1 = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0) != ($58_1 | 0) & 1 | 0 ? 1976 : $58_1; + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0; + $113($59_1 | 0, $61_1 | 0, $69_1 | 0, $3_1 | 0); + } + } + label$8 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $13(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] = 0; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 120 | 0) >> 2] = 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1224384374; + $93_1 = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $93_1 | 0; + } + + function $220($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $12(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1443283912; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = 0; + $23(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $221($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $23_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (3082 | 0) & 1 | 0)) { + break label$2 + } + } + $16_1 = 7; + $324(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $115(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $16_1 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = $16_1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) | 0; + } + $23_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $23_1 | 0; + } + + function $222($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $30$hi = 0, $32$hi = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0, i64toi32_i32$3 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = 0; + $30$hi = i64toi32_i32$0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 136 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 140 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$1; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $9_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $10_1 = 0 + } else { + $10_1 = 1 + } + $11_1 = $10_1; + } else { + $11_1 = 0 + } + $9_1 = $11_1; + } + label$3 : { + if (!($9_1 & 1 | 0)) { + break label$3 + } + $215(HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $219(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $223(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $217(HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $27_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $27_1 | 0; + } + + function $223($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0; + $3_1 = global$0 - 16 | 0; + i64toi32_i32$0 = 0; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = 770837923; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = -1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = $4_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 146 | 0) >> 0] = 2; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 147 | 0) >> 0] = 255; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = $4_1; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function $224($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $58_1 = 0, $232_1 = 0, $404_1 = 0, $239_1 = 0, $405$hi = 0, $406$hi = 0, $241_1 = 0, $339_1 = 0, $351_1 = 0, $363_1 = 0, $391_1 = 0, $871_1 = 0, $401_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (770837923 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = 7; + } + $842(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 151 | 0) >> 0] | 0) & 1 | 0) & 65535 | 0)) { + break label$4 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + $843(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) & 255 | 0; + $58_1 = 1; + label$5 : { + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0) { + break label$5 + } + $58_1 = 1; + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (10 | 0) & 1 | 0) { + break label$5 + } + $58_1 = 1; + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0) { + break label$5 + } + $58_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (13 | 0); + } + HEAP32[($3_1 + 4 | 0) >> 2] = $58_1 & 1 | 0; + label$6 : { + if (!(HEAP32[($3_1 + 4 | 0) >> 2] | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0)) { + break label$8 + } + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (9 | 0) & 1 | 0)) { + break label$7 + } + } + label$9 : { + label$10 : { + label$11 : { + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0) { + break label$11 + } + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (13 | 0) & 1 | 0)) { + break label$10 + } + } + if (!((((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 6 | 0) & 1 | 0) & 65535 | 0)) { + break label$10 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 2; + break label$9; + } + $205(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 516 | 0); + $206(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 79 | 0) >> 0] = 1; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + } + } + } + label$12 : { + label$13 : { + if (!(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$13 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 146 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$12 + } + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$12 + } + } + $844(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + label$14 : { + label$15 : { + label$16 : { + if (!((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 336 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$16 + } + if ((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$15 + } + } + if (!((HEAPU8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0)) { + break label$15 + } + if (!((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 180 | 0) >> 2] | 0 | 0) == (((((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0 | 0) == (0 | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$15 + } + label$17 : { + label$18 : { + label$19 : { + if (!(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$19 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 146 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$18 + } + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$18 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $844(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + label$21 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$21 + } + label$22 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0)) { + break label$22 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 20 | 0) >> 2] = 787; + break label$20; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $845(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$23 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$23 + } + if (!((((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0)) { + break label$23 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 5; + break label$1; + } + label$24 : { + label$25 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$25 + } + $232_1 = 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $205(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, $232_1 | 0); + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = $232_1; + break label$24; + } + i64toi32_i32$0 = 0; + $404_1 = 0; + i64toi32_i32$1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 464 | 0) >> 2] = $404_1; + HEAP32[(i64toi32_i32$1 + 468 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 472 | 0) >> 2] = $404_1; + HEAP32[(i64toi32_i32$1 + 476 | 0) >> 2] = i64toi32_i32$0; + $239_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $239_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $405$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $406$hi = i64toi32_i32$1; + i64toi32_i32$1 = $405$hi; + i64toi32_i32$1 = $406$hi; + i64toi32_i32$1 = $405$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $406$hi; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $871_1 = i64toi32_i32$2 & -524289 | 0; + i64toi32_i32$2 = $239_1; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = $871_1; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$0; + $505(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + } + break label$17; + } + $241_1 = 0; + $205(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, $241_1 | 0); + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = $241_1; + } + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 460 | 0) >> 2] = 0; + break label$14; + } + label$26 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$26 + } + label$27 : { + label$28 : { + label$29 : { + if (!(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$29 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 146 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$28 + } + } + HEAP32[($3_1 + 8 | 0) >> 2] = 1; + break label$27; + } + label$30 : { + label$31 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 146 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 2; + break label$30; + } + $205(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 516 | 0); + $206(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 79 | 0) >> 0] = 1; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + } + } + } + } + label$32 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$32 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $846(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$33 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$33 + } + label$34 : { + label$35 : { + if (!(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$35 + } + if (!(((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) & 255 | 0 | 0) == (19 | 0) & 1 | 0)) { + break label$34 + } + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $13(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 124 | 0) >> 2] = 0; + } + $205(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 516 | 0); + $206(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 79 | 0) >> 0] = 1; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + } + } + label$36 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 4 | 0) & 1 | 0) & 65535 | 0)) { + break label$36 + } + label$37 : { + label$38 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$38 + } + $847(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + break label$37; + } + $847(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0); + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + } + } + label$39 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$39 + } + $339_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[($339_1 + 172 | 0) >> 2] = (HEAP32[($339_1 + 172 | 0) >> 2] | 0) + -1 | 0; + label$40 : { + if ((((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0) { + break label$40 + } + $351_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[($351_1 + 180 | 0) >> 2] = (HEAP32[($351_1 + 180 | 0) >> 2] | 0) + -1 | 0; + } + label$41 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 151 | 0) >> 0] | 0) & 1 | 0) & 65535 | 0)) { + break label$41 + } + $363_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[($363_1 + 176 | 0) >> 2] = (HEAP32[($363_1 + 176 | 0) >> 2] | 0) + -1 | 0; + } + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = 832317811; + label$42 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$42 + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = 7; + } + label$43 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$43 + } + } + $391_1 = 5; + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == ($391_1 | 0) & 1 | 0 ? $391_1 : 0; + } + $401_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $401_1 | 0; + } + + function $225($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $36_1 = 0, $17_1 = 0, $37_1 = 0, $29_1 = 0, $52_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP8[($17_1 + 82 | 0) >> 0] = (HEAPU8[($17_1 + 82 | 0) >> 0] | 0) + 1 | 0; + $449(); + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $29_1 = $117(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] = $29_1; + } + $36_1 = -1; + $120(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0, $36_1 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0, 1 | 0, $36_1 | 0); + $450(); + $37_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP8[($37_1 + 82 | 0) >> 0] = (HEAPU8[($37_1 + 82 | 0) >> 0] | 0) + $36_1 | 0; + break label$1; + } + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $605(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0); + } + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $52_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $52_1 | 0; + } + + function $226($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $9_1 = 0, $35_1 = 0, $41_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $4_1; + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + $9_1 = 16; + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[$3_1 >> 2] | 0) + 16 | 0) >> 1] | 0) << $9_1 | 0) >> $9_1 | 0 | 0) & 1 | 0)) { + break label$1 + } + $227((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 40) | 0 | 0); + HEAP16[(((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 40) | 0) + 8 | 0) >> 1] = 1; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$3 : { + if (!(HEAP32[((HEAP32[$3_1 >> 2] | 0) + 208 | 0) >> 2] | 0)) { + break label$3 + } + $35_1 = HEAP32[$3_1 >> 2] | 0; + HEAP16[($35_1 + 150 | 0) >> 1] = (HEAPU16[($35_1 + 150 | 0) >> 1] | 0) & -4 | 0 | 1 | 0; + } + $41_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $41_1 | 0; + } + + function $227($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0) { + break label$2 + } + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$1 + } + } + $228(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $228($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0)) { + break label$1 + } + $272(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + label$2 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$2 + } + $23(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $229($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $19_1 = 0, $23_1 = 0, $33_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$4 + } + $19_1 = $230(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0; + break label$3; + } + $19_1 = 0; + } + label$5 : { + if (!$19_1) { + break label$5 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $23_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP16[($23_1 + 8 | 0) >> 1] = (HEAPU16[($23_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 16 | 0; + label$6 : { + label$7 : { + if (!(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$7 + } + $33_1 = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$6; + } + $33_1 = 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $33_1; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $66(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $38_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $38_1 | 0; + } + + function $230($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $40_1 = 0, $43_1 = 0, $49_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = 1; + } + label$4 : { + if (!($231(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0) | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $3289((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0 | 0, 0 | 0, HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + $40_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($40_1 + 12 | 0) >> 2] = (HEAP32[($40_1 + 12 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) | 0; + $43_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($43_1 + 8 | 0) >> 1] = ((HEAPU16[($43_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -16897 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $49_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $49_1 | 0; + } + + function $231($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $38_1 = 0, $88_1 = 0, $127_1 = 0, $46_1 = 0, $77_1 = 0, $96_1 = 0, $133_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + if (!(HEAP32[$5_1 >> 2] | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $38_1 = $875(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $38_1; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = $38_1; + break label$3; + } + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $46_1 = $45(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $46_1; + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $42(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + HEAP32[$5_1 >> 2] = 0; + break label$1; + } + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + $23(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $77_1 = $64(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $77_1; + } + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + $88_1 = 0; + $262(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = $88_1; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = $88_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 7; + break label$7; + } + $96_1 = $59(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = $96_1; + label$9 : { + if (!(HEAP32[$5_1 >> 2] | 0)) { + break label$9 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $3288(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + label$10 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1024 | 0)) { + break label$10 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0); + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $127_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP16[($127_1 + 8 | 0) >> 1] = ((HEAPU16[($127_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -7169 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + $133_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $133_1 | 0; + } + + function $232($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 7 | 0) >> 0] = $1_1; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 514 | 0 | 0) == (514 | 0) & 1 | 0)) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$1; + } + label$4 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $245(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $51_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $51_1 | 0; + } + + function $233($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $8_1 = $234(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $234($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $57_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 7 | 0) >> 0] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!(((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$3 + } + label$4 : { + if (!(((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0) | 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (!(((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $235(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $57_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $57_1 | 0; + } + + function $235($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 11 | 0) >> 0] = $1_1; + label$1 : { + label$2 : { + if (!(($245(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$1; + } + $18_1 = 0; + } + global$0 = $4_1 + 16 | 0; + return $18_1 | 0; + } + + function $236($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $9_1 = 24; + $15_1 = $234(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, (((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0 ? 2 : 3) & 255 | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $15_1 | 0; + } + + function $237($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $33_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$2 + } + HEAPF64[($3_1 + 8 | 0) >> 3] = +HEAPF64[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 3]; + break label$1; + } + label$3 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 36 | 0)) { + break label$3 + } + i64toi32_i32$2 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + HEAPF64[($3_1 + 8 | 0) >> 3] = +(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0); + break label$1; + } + label$4 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_f64$0 = +$238(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + break label$1; + } + HEAPF64[($3_1 + 8 | 0) >> 3] = +(0 | 0); + } + $33_1 = +HEAPF64[($3_1 + 8 | 0) >> 3]; + global$0 = $3_1 + 16 | 0; + return +$33_1; + } + + function $238($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0.0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAPF64[$3_1 >> 3] = +(0 | 0); + $344(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + $17_1 = +HEAPF64[$3_1 >> 3]; + global$0 = $3_1 + 16 | 0; + return +$17_1; + } + + function $239($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $240(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + global$0 = $3_1 + 16 | 0; + return i64toi32_i32$0 | 0; + } + + function $240($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $64_1 = 0, $79_1 = 0, $106_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $0_1; + HEAP32[$3_1 >> 2] = (HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[$3_1 >> 2] | 0) & 36 | 0)) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $64_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $64_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + label$3 : { + if (!((HEAP32[$3_1 >> 2] | 0) & 8 | 0)) { + break label$3 + } + i64toi32_i32$1 = $241(+(+HEAPF64[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 3])) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $79_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $79_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + label$4 : { + if (!((HEAP32[$3_1 >> 2] | 0) & 18 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = $242(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $106_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $106_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $241($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$2 = 0.0, $23_1 = 0.0, $8_1 = 0, $9_1 = 0, $15_1 = 0, $15$hi = 0; + $3_1 = global$0 - 16 | 0; + HEAPF64[$3_1 >> 3] = $0_1; + label$1 : { + label$2 : { + if (!(+HEAPF64[$3_1 >> 3] <= -9223372036854775808.0 & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = -2147483648; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + label$3 : { + if (!(+HEAPF64[$3_1 >> 3] >= 9223372036854775808.0 & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 2147483647; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + $23_1 = +HEAPF64[$3_1 >> 3]; + label$4 : { + label$5 : { + if (!(Math_abs($23_1) < 9223372036854775808.0)) { + break label$5 + } + i64toi32_i32$2 = $23_1; + if (Math_abs(i64toi32_i32$2) >= 1.0) { + if (i64toi32_i32$2 > 0.0) { + $8_1 = ~~Math_min(Math_floor(i64toi32_i32$2 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $8_1 = ~~Math_ceil((i64toi32_i32$2 - +(~~i64toi32_i32$2 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $9_1 = $8_1; + } else { + $9_1 = 0 + } + i64toi32_i32$0 = $9_1; + $15_1 = ~~i64toi32_i32$2 >>> 0; + $15$hi = i64toi32_i32$0; + break label$4; + } + i64toi32_i32$0 = -2147483648; + $15_1 = 0; + $15$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $15$hi; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $15_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $242($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$1 = $3_1; + HEAP32[$3_1 >> 2] = 0; + HEAP32[($3_1 + 4 | 0) >> 2] = i64toi32_i32$0; + $530(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + i64toi32_i32$0 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $243($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 32768 | 0)) { + break label$2 + } + $15_1 = (HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0; + break label$1; + } + $15_1 = 0; + } + return $15_1 | 0; + } + + function $244($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $42_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 50111 | 0 | 0) == (33281 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[$4_1 >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0 | 0) == (112 | 0) & 1 | 0)) { + break label$2 + } + if ($3229(HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $42_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $42_1 | 0; + } + + function $245($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $23_1 = 0, $92_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 7 | 0) >> 0] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + label$6 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$6 + } + if ($230(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + break label$4; + } + if (!(0 & 1 | 0)) { + break label$4 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $23_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP16[($23_1 + 8 | 0) >> 1] = (HEAPU16[($23_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0; + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) != (((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0) & -9 | 0 | 0) & 1 | 0)) { + break label$7 + } + $328(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, ((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0) & -9 | 0 | 0) | 0; + } + label$8 : { + if (!(((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$8 + } + if (!((1 | 0) == ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!($251(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + } + $876(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$2; + } + $877(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0; + } + label$10 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) == (((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0) & -9 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $92_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $92_1 | 0; + } + + function $246($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $9_1 = 24; + $15_1 = $232(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, (((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0 ? 2 : 3) & 255 | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $15_1 | 0; + } + + function $247($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $8_1 = $232(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 2 & 255 | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $248($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU8[((((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 63 | 0) + 1696 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $249($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function $250($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $74_1 = 0, $23_1 = 0, $32_1 = 0, $34_1 = 0, $38_1 = 0, $41_1 = 0, $54_1 = 0, $60_1 = 0, $147_1 = 0, $167_1 = 0, $71_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $38(40 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $23_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $74_1 = 0; + i64toi32_i32$1 = $23_1; + HEAP32[i64toi32_i32$1 >> 2] = $74_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $74_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $23_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $74_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $23_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $74_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $23_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $74_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $32_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $147_1 = i64toi32_i32$0; + i64toi32_i32$0 = $32_1; + HEAP32[i64toi32_i32$0 >> 2] = $147_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $34_1 = 16; + HEAP32[(i64toi32_i32$0 + $34_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $34_1 | 0) >> 2] | 0; + $38_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $38_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $167_1 = i64toi32_i32$1; + i64toi32_i32$1 = $32_1 + $38_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $167_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $41_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP16[($41_1 + 8 | 0) >> 1] = ((HEAPU16[($41_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -1025 | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + label$4 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0)) { + break label$4 + } + $54_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP16[($54_1 + 8 | 0) >> 1] = ((HEAPU16[($54_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -3073 | 0; + $60_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP16[($60_1 + 8 | 0) >> 1] = (HEAPU16[($60_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 4096 | 0; + label$5 : { + if (!($251(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + $212(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + $71_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $71_1 | 0; + } + + function $251($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $38_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + label$5 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$5 + } + if ($230(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + break label$3; + } + if (!(0 & 1 | 0)) { + break label$3 + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = 7; + break label$1; + } + label$6 : { + label$7 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $252(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($3_1 + 4 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + break label$1; + } + } + } + $38_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($38_1 + 8 | 0) >> 1] = ((HEAPU16[($38_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -4097 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $44_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $44_1 | 0; + } + + function $252($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0, $33_1 = 0, $39_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!($231(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 3 | 0 | 0, 1 | 0) | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $13_1 = 0; + HEAP8[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) >> 0] = $13_1; + HEAP8[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = $13_1; + HEAP8[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] = $13_1; + $33_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($33_1 + 8 | 0) >> 1] = (HEAPU16[($33_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 512 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $39_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $39_1 | 0; + } + + function $253($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $212(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $254($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $255(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0); + global$0 = $6_1 + 16 | 0; + return; + } + + function $255($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP8[($7_1 + 19 | 0) >> 0] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + label$1 : { + if (!(($256(HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) == (18 | 0) & 1 | 0)) { + break label$1 + } + $257(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $256($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $66_1 = 0, $72_1 = 0, $81_1 = 0, $112_1 = 0, $145_1 = 0, $137_1 = 0, $172_1 = 0, $230_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP8[($7_1 + 31 | 0) >> 0] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP16[($7_1 + 14 | 0) >> 1] = 0; + label$1 : { + label$2 : { + if ((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + $262(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + break label$3; + } + HEAP32[($7_1 + 16 | 0) >> 2] = 1e9; + } + HEAP16[($7_1 + 14 | 0) >> 1] = (HEAPU8[($7_1 + 31 | 0) >> 0] | 0) & 255 | 0 ? 2 : 16; + label$5 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!(((HEAPU8[($7_1 + 31 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($3303(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0) & 2147483647 | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$6; + } + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + label$8 : while (1) { + $66_1 = 0; + label$9 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) <= (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $72_1 = 24; + $81_1 = 24; + $66_1 = (((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $72_1 | 0) >> $72_1 | 0 | (((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $81_1 | 0) >> $81_1 | 0) | 0 | 0) != (0 | 0); + } + label$10 : { + if (!($66_1 & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 2 | 0; + continue label$8; + } + break label$8; + }; + } + HEAP16[($7_1 + 14 | 0) >> 1] = (HEAPU16[($7_1 + 14 | 0) >> 1] | 0) & 65535 | 0 | 512 | 0; + } + label$11 : { + label$12 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + label$13 : { + if (!(((HEAPU16[($7_1 + 14 | 0) >> 1] | 0) & 65535 | 0) & 512 | 0)) { + break label$13 + } + $112_1 = 1; + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + (((HEAPU8[($7_1 + 31 | 0) >> 0] | 0) & 255 | 0 | 0) == ($112_1 | 0) & 1 | 0 ? $112_1 : 2) | 0; + } + label$14 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $264(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, 18 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $137_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + label$15 : { + label$16 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0) >>> 0 > 32 >>> 0 & 1 | 0)) { + break label$16 + } + $145_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + break label$15; + } + $145_1 = 32; + } + label$17 : { + if (!($265($137_1 | 0, $145_1 | 0) | 0)) { + break label$17 + } + HEAP32[($7_1 + 44 | 0) >> 2] = 7; + break label$1; + } + $3288(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$11; + } + $227(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $172_1 = $59(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] = $172_1; + break label$18; + } + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP16[($7_1 + 14 | 0) >> 1] = (HEAPU16[($7_1 + 14 | 0) >> 1] | 0) & 65535 | 0 | ((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0 ? 2048 : 1024) | 0; + } + } + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP16[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($7_1 + 14 | 0) >> 1] | 0; + label$20 : { + label$21 : { + if (!(((HEAPU8[($7_1 + 31 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP8[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[($7_1 + 31 | 0) >> 0] | 0; + break label$20; + } + HEAP8[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0; + } + label$22 : { + if (!(((HEAPU8[($7_1 + 31 | 0) >> 0] | 0) & 255 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$22 + } + if (!($266(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$22 + } + HEAP32[($7_1 + 44 | 0) >> 2] = 7; + break label$1; + } + label$23 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($7_1 + 44 | 0) >> 2] = 18; + break label$1; + } + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + } + $230_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $230_1 | 0; + } + + function $257($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = 18; + $256(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, 1760 | 0, -1 | 0, 1 & 255 | 0 | 0, 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $258($0_1, $1_1, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $22$hi = 0, $24$hi = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + i64toi32_i32$0 = 0; + $22$hi = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $24$hi = i64toi32_i32$1; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $22$hi; + label$1 : { + label$2 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 > 2147483647 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + $259(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + i64toi32_i32$2 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $255(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, 0 & 255 | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $259($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$4 + } + break label$3; + } + FUNCTION_TABLE[HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 12 | 0) >> 2] | 0); + } + } + label$5 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $257(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return 18 | 0; + } + + function $260($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = +$1_1; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAPF64[$4_1 >> 3] = $1_1; + $261(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, +(+HEAPF64[$4_1 >> 3])); + global$0 = $4_1 + 16 | 0; + return; + } + + function $261($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = +$1_1; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAPF64[$4_1 >> 3] = $1_1; + $262(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + label$1 : { + if ($55(+(+HEAPF64[$4_1 >> 3])) | 0) { + break label$1 + } + HEAPF64[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 3] = +HEAPF64[$4_1 >> 3]; + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 8; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $262($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0)) { + break label$2 + } + $272(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $263($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + $256(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, -1 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return; + } + + function $264($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0, $23_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + $14_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $14_1; + if (!(($14_1 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $23_1 = HEAP32[$4_1 >> 2] | 0; + HEAP32[($23_1 + 36 | 0) >> 2] = (HEAP32[($23_1 + 36 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $265($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $21_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $231(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $21_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP16[($21_1 + 8 | 0) >> 1] = ((HEAPU16[($21_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & 45 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $27_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $27_1 | 0; + } + + function $266($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $70_1 = 0, $71_1 = 0, $95_1 = 0, $103_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + HEAP8[($3_1 + 7 | 0) >> 0] = 0; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[($3_1 + 6 | 0) >> 0] = HEAPU8[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] | 0; + HEAP8[($3_1 + 5 | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + label$2 : { + if (!(((HEAPU8[($3_1 + 6 | 0) >> 0] | 0) & 255 | 0 | 0) == (254 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[($3_1 + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (255 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($3_1 + 7 | 0) >> 0] = 3; + } + label$3 : { + if (!(((HEAPU8[($3_1 + 6 | 0) >> 0] | 0) & 255 | 0 | 0) == (255 | 0) & 1 | 0)) { + break label$3 + } + if (!(((HEAPU8[($3_1 + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (254 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[($3_1 + 7 | 0) >> 0] = 2; + } + } + label$4 : { + if (!(((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $251(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + $70_1 = 0; + $71_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($71_1 + 12 | 0) >> 2] = (HEAP32[($71_1 + 12 | 0) >> 2] | 0) - 2 | 0; + $3290(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 2 | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) >> 0] = $70_1; + HEAP8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = $70_1; + $95_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($95_1 + 8 | 0) >> 1] = (HEAPU16[($95_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 512 | 0; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[($3_1 + 7 | 0) >> 0] | 0; + } + } + $103_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $103_1 | 0; + } + + function $267($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $268(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $268($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $51_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0)) { + break label$2 + } + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $269(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + break label$1; + } + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $51_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $51_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $269($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $29_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + $262(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $29_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + global$0 = $4_1 + 16 | 0; + return; + } + + function $270($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $268(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $271($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $262(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $272($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 8192 | 0)) { + break label$1 + } + $874(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + } + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1024 | 0)) { + break label$2 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0); + } + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $273($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $227(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + $274(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + global$0 = $6_1 + 32 | 0; + return; + } + + function $274($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $15_1 = 0, $33_1 = 0; + $6_1 = global$0 - 16 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $15_1 = 1352; + } + HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] = $15_1; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 34305; + HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 11 | 0) >> 0] = 112; + label$3 : { + label$4 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $33_1 = HEAP32[$6_1 >> 2] | 0; + break label$3; + } + $33_1 = 2; + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = $33_1; + return; + } + + function $275($0_1) { + $0_1 = $0_1 | 0; + HEAP32[((global$0 - 16 | 0) + 12 | 0) >> 2] = $0_1; + return; + } + + function $276($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 11 | 0) >> 0] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 255 | 0; + $11_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP16[($11_1 + 8 | 0) >> 1] = (HEAPU16[($11_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 32768 | 0; + return; + } + + function $277($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $255(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0); + global$0 = $6_1 + 16 | 0; + return; + } + + function $278($0_1, $1_1, $2_1, $2$hi, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $40$hi = 0, $21_1 = 0, $42$hi = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP8[($7_1 + 11 | 0) >> 0] = $4_1; + label$1 : { + if (!(((HEAPU8[($7_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$1 + } + $21_1 = 24; + HEAP8[($7_1 + 11 | 0) >> 0] = ((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $21_1 | 0) >> $21_1 | 0 ? 2 : 3; + } + i64toi32_i32$0 = 0; + $40$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $42$hi = i64toi32_i32$1; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $40$hi; + label$2 : { + label$3 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 > 2147483647 >>> 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + $259(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + break label$2; + } + i64toi32_i32$2 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $255(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, (HEAPU8[($7_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $279($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $255(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, 2 & 255 | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0); + global$0 = $6_1 + 16 | 0; + return; + } + + function $280($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $281(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $281($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13_1 = 0, $15_1 = 0, $19_1 = 0, $22_1 = 0, $46_1 = 0, $92_1 = 0, $112_1 = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0)) { + break label$1 + } + $272(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + $13_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $92_1 = i64toi32_i32$0; + i64toi32_i32$0 = $13_1; + HEAP32[i64toi32_i32$0 >> 2] = $92_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $15_1 = 16; + HEAP32[(i64toi32_i32$0 + $15_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $15_1 | 0) >> 2] | 0; + $19_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $19_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $112_1 = i64toi32_i32$1; + i64toi32_i32$1 = $13_1 + $19_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $112_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $22_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP16[($22_1 + 8 | 0) >> 1] = ((HEAPU16[($22_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -1025 | 0; + label$2 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0)) { + break label$2 + } + label$3 : { + if (!((0 | 0) == (((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2048 | 0 | 0) & 1 | 0)) { + break label$3 + } + $46_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP16[($46_1 + 8 | 0) >> 1] = (HEAPU16[($46_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 4096 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $251(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + $54_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $54_1 | 0; + } + + function $282($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $227(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 16400; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < ($5_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] = 1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $283($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $22$hi = 0, $23$hi = 0, $22_1 = 0, $56_1 = 0, $19_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $22_1 = i64toi32_i32$0; + $22$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $23$hi = i64toi32_i32$1; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $23$hi; + $56_1 = i64toi32_i32$0; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$2 = $22_1; + i64toi32_i32$0 = $23$hi; + label$1 : { + label$2 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 > $56_1 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 18; + break label$1; + } + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $282(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $19_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $19_1 | 0; + } + + function $284($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $7_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$1; + } + $7_1 = -1; + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = $7_1; + label$3 : { + if (!(((HEAPU16[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$3 + } + $256(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, $285(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, -1 | 0, 1 & 255 | 0 | 0, 0 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $285($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 41742; + $5_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (($5_1 | 0) == (100 | 0)) { + break label$4 + } + if (($5_1 | 0) == (101 | 0)) { + break label$3 + } + if (($5_1 | 0) != (516 | 0)) { + break label$2 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 41756; + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 41778; + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 41800; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) & 255 | 0; + label$5 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) < (29 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[(41120 + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(41120 + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + } + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $286($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $262(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = 7; + $118(HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $287($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $17_1 = 0, $23_1 = 0, $25_1 = 0, $61_1 = 0, $63_1 = 0, $57_1 = 0, $78_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!($288(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $3(83993 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 149 | 0) >> 0] = 0; + label$3 : while (1) { + $17_1 = $289(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $17_1; + $23_1 = 0; + label$4 : { + if (!(($17_1 | 0) == (17 | 0) & 1 | 0)) { + break label$4 + } + $25_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $25_1 + 1 | 0; + $23_1 = ($25_1 | 0) < (50 | 0); + } + label$5 : { + if (!($23_1 & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $290(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $13(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0); + label$7 : { + label$8 : { + if (((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$8 + } + $57_1 = $291(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 124 | 0) >> 2] = $57_1; + $61_1 = $217(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $61_1; + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] = $61_1; + break label$7; + } + $63_1 = 7; + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 124 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $63_1; + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] = $63_1; + } + break label$5; + } + $222(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0; + label$9 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 149 | 0) >> 0] = 1; + } + continue label$3; + } + break label$3; + }; + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $78_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $78_1 | 0; + } + + function $288($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $82(21 | 0, 5146 | 0, 0 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $214(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $17_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $17_1 | 0; + } + + function $289($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $218$hi = 0, $25_1 = 0, $94_1 = 0, $96_1 = 0, $105_1 = 0, $117_1 = 0, $133_1 = 0, $139_1 = 0, $220$hi = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $63_1 = 0, i64toi32_i32$3 = 0, $168_1 = 0, $215_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (770837923 | 0) & 1 | 0)) { + break label$1 + } + $222(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $25_1 = 7; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = $25_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $25_1; + break label$2; + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + if (!(((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) & 3 | 0) & 65535 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = 17; + HEAP32[($3_1 + 16 | 0) >> 2] = 1; + label$6 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 148 | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $225(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + break label$4; + } + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0) { + break label$8 + } + $63_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + HEAP32[($63_1 + 264 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + label$9 : { + label$10 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 88 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$10 + } + if (((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$10 + } + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $218(HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 136 | 0 | 0) | 0; + break label$9; + } + } + $94_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $96_1 = 1; + HEAP32[($94_1 + 172 | 0) >> 2] = (HEAP32[($94_1 + 172 | 0) >> 2] | 0) + $96_1 | 0; + label$11 : { + if ((((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 7 | 0) & $96_1 | 0) & 65535 | 0) { + break label$11 + } + $105_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($105_1 + 180 | 0) >> 2] = (HEAP32[($105_1 + 180 | 0) >> 2] | 0) + 1 | 0; + } + label$12 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 151 | 0) >> 0] | 0) & 1 | 0) & 65535 | 0)) { + break label$12 + } + $117_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($117_1 + 176 | 0) >> 2] = (HEAP32[($117_1 + 176 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] = 0; + } + label$13 : { + label$14 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 2 | 0) & 3 | 0) & 65535 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $292(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$13; + } + $133_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($133_1 + 184 | 0) >> 2] = (HEAP32[($133_1 + 184 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $293(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $139_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($139_1 + 184 | 0) >> 2] = (HEAP32[($139_1 + 184 | 0) >> 2] | 0) + -1 | 0; + } + label$15 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != (100 | 0) & 1 | 0)) { + break label$15 + } + i64toi32_i32$0 = 0; + $218$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 136 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 140 | 0) >> 2] | 0; + $220$hi = i64toi32_i32$1; + i64toi32_i32$1 = $218$hi; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$1 = $218$hi; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $218$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $18_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $18_1 = $20_1; + } + label$16 : { + if (!($18_1 & 1 | 0)) { + break label$16 + } + $215(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + } + label$17 : { + label$18 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$18 + } + if (!((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0)) { + break label$18 + } + $168_1 = $294(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = $168_1; + label$19 : { + if (!(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$19 + } + HEAP32[($3_1 + 16 | 0) >> 2] = 1; + } + break label$17; + } + label$20 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != (101 | 0) & 1 | 0)) { + break label$20 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 148 | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $225(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + } + HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + label$21 : { + if (!((7 | 0) == ($217(HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = 7; + label$22 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 148 | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$22 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + } + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) | 0; + } + $215_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $215_1 | 0; + } + + function $290($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $295(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $296(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $297(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 7 | 0) >> 0] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $298(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0, (HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $3_1 + 16 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$3 + } + $118(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + $299(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + $300(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $301(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + $216(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $39_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $39_1 | 0; + } + + function $291($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ($3303(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $64(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $3288(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $32_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $32_1 | 0; + } + + function $292($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $213$hi = 0, i64toi32_i32$3 = 0, $6_1 = 0, $26_1 = 0, $214$hi = 0, $215$hi = 0, $217$hi = 0, $59_1 = 0, $139_1 = 0, $140_1 = 0, $210_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $0_1; + $6_1 = 0; + HEAP32[($3_1 + 36 | 0) >> 2] = $6_1; + HEAP32[($3_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $6_1; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) + 40 | 0; + $26_1 = 1; + label$1 : { + if (((((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 2 | 0) & 3 | 0) & 65535 | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + i64toi32_i32$0 = 0; + $213$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $214$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $215$hi = i64toi32_i32$1; + i64toi32_i32$1 = $214$hi; + i64toi32_i32$1 = $215$hi; + i64toi32_i32$1 = $214$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $215$hi; + i64toi32_i32$3 = 16777216; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $217$hi = i64toi32_i32$0; + i64toi32_i32$0 = $213$hi; + i64toi32_i32$0 = $217$hi; + i64toi32_i32$0 = $213$hi; + i64toi32_i32$0 = $217$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $213$hi; + i64toi32_i32$3 = 0; + $26_1 = (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0; + } + HEAP32[($3_1 + 16 | 0) >> 2] = $26_1 & 1 | 0; + $21(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, 8 | 0); + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 120 | 0) >> 2] = 0; + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$3 + } + $118(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 44 | 0) >> 2] = 1; + break label$2; + } + label$4 : { + label$5 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($3_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) + 360 | 0; + break label$4; + } + HEAP32[($3_1 + 36 | 0) >> 2] = 0; + } + $59_1 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $883($59_1 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, ((((HEAPU16[($59_1 + 150 | 0) >> 1] | 0) >>> 2 | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0 | 0, (HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 36 | 0 | 0, $3_1 + 28 | 0 | 0, $3_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 28 | 0) >> 2] | 0, 20) | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!(HEAP32[($3_1 + 4 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = 9; + HEAP32[($3_1 + 24 | 0) >> 2] = 1; + $852(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, $285(HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0 | 0, 0 | 0); + break label$7; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $884(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$9 : { + label$10 : { + if (!(((((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 2 | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$0 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $268(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$0 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $268((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 40 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$0 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $268((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 80 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + $256((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 120 | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0, -1 | 0, 1 & 255 | 0 | 0, 3 | 0) | 0; + HEAP16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 144 | 0) >> 1] = 4; + break label$9; + } + $139_1 = -1; + $140_1 = 1; + i64toi32_i32$0 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $268(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + $256((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 40 | 0 | 0, $885((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0, $139_1 | 0, $140_1 & 255 | 0 | 0, 0 | 0) | 0; + i64toi32_i32$0 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $268((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 80 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$0 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $268((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 120 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$0 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $268((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 160 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$1 = 0; + $268((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 240 | 0 | 0, (HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0, i64toi32_i32$1 | 0); + $262((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 280 | 0 | 0); + $256((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 200 | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0, $139_1 | 0, $140_1 & 255 | 0 | 0, 3 | 0) | 0; + HEAP16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 144 | 0) >> 1] = 8; + } + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 120 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + label$11 : { + label$12 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = 7; + HEAP32[($3_1 + 24 | 0) >> 2] = 1; + break label$11; + } + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = 100; + } + } + } + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + } + $210_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $210_1 | 0; + } + + function $293($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$6 = 0, $5_1 = 0, $4719 = 0, $7272 = 0, $2195_1 = 0, $8317 = 0, $8461$hi = 0, $8650 = 0, $4721 = 0, $4753 = 0, $8653 = 0, $24_1 = 0, $8175$hi = 0, $8176$hi = 0, $8183$hi = 0, $8184$hi = 0, $862_1 = 0, $8201$hi = 0, $8205$hi = 0, $8209$hi = 0, $8216$hi = 0, $8220$hi = 0, $8229$hi = 0, $8235$hi = 0, $8252$hi = 0, $8256$hi = 0, $8260$hi = 0, $8270$hi = 0, $8274$hi = 0, $8283$hi = 0, $8302$hi = 0, $8303$hi = 0, $8306$hi = 0, $8307$hi = 0, $2236_1 = 0, $8328$hi = 0, $8329$hi = 0, $8332$hi = 0, $8333$hi = 0, $8336$hi = 0, $8340$hi = 0, $8346$hi = 0, $8355$hi = 0, $8361$hi = 0, $8362$hi = 0, $8369$hi = 0, $8376$hi = 0, $8383$hi = 0, $8390$hi = 0, $8404$hi = 0, $8422$hi = 0, $8423$hi = 0, $8428$hi = 0, $8429$hi = 0, $8433$hi = 0, $8449$hi = 0, $4046 = 0, $8460$hi = 0, $4182 = 0, $8482$hi = 0, $8487$hi = 0, $8495$hi = 0, $8499$hi = 0, $8502$hi = 0, $4903 = 0, $8525$hi = 0, $8536$hi = 0, $8541$hi = 0, $5999 = 0, $6080 = 0, $8561$hi = 0, $8576$hi = 0, $8580$hi = 0, $8584$hi = 0, $8588$hi = 0, $8592$hi = 0, $8593$hi = 0, $8597$hi = 0, $8604$hi = 0, $8609$hi = 0, $8619$hi = 0, $8623$hi = 0, $8630$hi = 0, $8637$hi = 0, $8644$hi = 0, $8647$hi = 0, $7323 = 0, $7478 = 0, $8164$hi = 0, $8165$hi = 0, $42_1 = 0, $166_1 = 0, $346_1 = 0, $354_1 = 0, $434_1 = 0, $508_1 = 0, $510_1 = 0, $514_1 = 0, $517_1 = 0, $523_1 = 0, $563_1 = 0, $589_1 = 0, $627_1 = 0, $629_1 = 0, $651_1 = 0, $593_1 = 0, $594_1 = 0, $595_1 = 0, $8189$hi = 0, $8190$hi = 0, $8192$hi = 0, $8193$hi = 0, $886_1 = 0, $941_1 = 0, $8203$hi = 0, $8207$hi = 0, $8211$hi = 0, $8213$hi = 0, $8218$hi = 0, $8222$hi = 0, $8225$hi = 0, $990_1 = 0, $8233$hi = 0, $8237$hi = 0, $8240$hi = 0, $8241$hi = 0, $8246$hi = 0, $8249$hi = 0, $8254$hi = 0, $8258$hi = 0, $596_1 = 0, $597_1 = 0, $598_1 = 0, $8262$hi = 0, $599_1 = 0, $600_1 = 0, $601_1 = 0, $8264$hi = 0, $8265$hi = 0, $8267 = 0, $8267$hi = 0, $8272$hi = 0, $602_1 = 0, $603_1 = 0, $604_1 = 0, $8276$hi = 0, $605_1 = 0, $606_1 = 0, $607_1 = 0, $1097_1 = 0, $8280$hi = 0, $608_1 = 0, $8284$hi = 0, $609_1 = 0, $8288$hi = 0, $610_1 = 0, $611_1 = 0, $612_1 = 0, $8290$hi = 0, $8291$hi = 0, $8292$hi = 0, $8293$hi = 0, $613_1 = 0, $8294$hi = 0, $8299$hi = 0, $1156_1 = 0, $1172_1 = 0, $1222_1 = 0, $1326_1 = 0, $614_1 = 0, $615_1 = 0, $616_1 = 0, $617_1 = 0, $618_1 = 0, $619_1 = 0, $1397_1 = 0, $1610_1 = 0, $1723_1 = 0, $1834_1 = 0, $8314$hi = 0, $8315$hi = 0, $1911_1 = 0, $1940_1 = 0, $2074_1 = 0, $2122_1 = 0, $2145_1 = 0, $8319$hi = 0, $8322$hi = 0, $8325$hi = 0, $8326$hi = 0, $2282_1 = 0, $2294_1 = 0, $2375_1 = 0, $2441_1 = 0, $2467_1 = 0, $2515_1 = 0, $2535_1 = 0, $2572_1 = 0, $2579_1 = 0, $8338$hi = 0, $620_1 = 0, $621_1 = 0, $622_1 = 0, $8342$hi = 0, $623_1 = 0, $624_1 = 0, $625_1 = 0, $2601_1 = 0, $2607_1 = 0, $2615_1 = 0, $2621_1 = 0, $2632_1 = 0, $2638_1 = 0, $8345 = 0, $2679_1 = 0, $2686_1 = 0, $2700_1 = 0, $2706_1 = 0, $8349$hi = 0, $626_1 = 0, $628_1 = 0, $630_1 = 0, $8351$hi = 0, $8352$hi = 0, $8357$hi = 0, $8359$hi = 0, $8360$hi = 0, $8366$hi = 0, $8367$hi = 0, $8371$hi = 0, $8373$hi = 0, $8374$hi = 0, $8378$hi = 0, $8380$hi = 0, $8381$hi = 0, $8385$hi = 0, $8387$hi = 0, $8388$hi = 0, $8392$hi = 0, $8394$hi = 0, $8395$hi = 0, $8397$hi = 0, $8398$hi = 0, $2809_1 = 0, $2815_1 = 0, $8401$hi = 0, $8402$hi = 0, $8406$hi = 0, $8408$hi = 0, $8411$hi = 0, $8417$hi = 0, $8418$hi = 0, $8420$hi = 0, $8421$hi = 0, $631_1 = 0, $632_1 = 0, $633_1 = 0, $8426$hi = 0, $8427$hi = 0, $634_1 = 0, $635_1 = 0, $636_1 = 0, $8436$hi = 0, $2958_1 = 0, $2979_1 = 0, $3002_1 = 0, $3020_1 = 0, $3117_1 = 0, $3141_1 = 0, $3199_1 = 0, $3221_1 = 0, $3232_1 = 0, $3262_1 = 0, $3328_1 = 0, $3348 = 0, $3365 = 0, $3421 = 0, $3432 = 0, $3452 = 0, $8450$hi = 0, $8451$hi = 0, $8453$hi = 0, $3532 = 0, $3612 = 0, $3671 = 0, $3697 = 0, $3740 = 0, $3806 = 0, $3823 = 0, $3852 = 0, $3869 = 0, $3903 = 0, $3917 = 0, $3918 = 0, $3932 = 0, $3993 = 0, $4020 = 0, $4078 = 0, $4092 = 0, $4136 = 0, $8462$hi = 0, $4157 = 0, $4183 = 0, $4289 = 0, $4360 = 0, $4390 = 0, $4586 = 0, $4593 = 0, $4646 = 0, $4664 = 0, $4722 = 0, $4725 = 0, $4728 = 0, $4731 = 0, $4735 = 0, $4752 = 0, $4791 = 0, $8483$hi = 0, $4807 = 0, $8490$hi = 0, $637_1 = 0, $638_1 = 0, $639_1 = 0, $4825 = 0, $8492$hi = 0, $8493$hi = 0, $8497$hi = 0, $4871 = 0, $8500$hi = 0, $8501$hi = 0, $640_1 = 0, $641_1 = 0, $642_1 = 0, $8505$hi = 0, $8506$hi = 0, $4885 = 0, $8509$hi = 0, $8510$hi = 0, $8512$hi = 0, $8513$hi = 0, $4896 = 0, $4902 = 0, $4909 = 0, $4948 = 0, $4968 = 0, $4977 = 0, $4984 = 0, $5007 = 0, $5019 = 0, $5073 = 0, $5093 = 0, $5115 = 0, $5116 = 0, $5131 = 0, $8528$hi = 0, $643_1 = 0, $644_1 = 0, $645_1 = 0, $5415 = 0, $5427 = 0, $5431 = 0, $5509 = 0, $5543 = 0, $5555 = 0, $5588 = 0, $5620 = 0, $5677 = 0, $8536 = 0, $8539$hi = 0, $646_1 = 0, $647_1 = 0, $648_1 = 0, $8543$hi = 0, $649_1 = 0, $650_1 = 0, $652_1 = 0, $5813 = 0, $5917 = 0, $5925 = 0, $8547$hi = 0, $5942 = 0, $5992 = 0, $6001 = 0, $6023 = 0, $6032 = 0, $6034 = 0, $6037 = 0, $8552$hi = 0, $6183 = 0, $6309 = 0, $6455 = 0, $6456 = 0, $6481 = 0, $6516 = 0, $8562$hi = 0, $8563$hi = 0, $8565$hi = 0, $8567$hi = 0, $6555 = 0, $8570$hi = 0, $6561 = 0, $8573$hi = 0, $6565 = 0, $8578$hi = 0, $8582$hi = 0, $8586$hi = 0, $8590$hi = 0, $653_1 = 0, $654_1 = 0, $655_1 = 0, $8599$hi = 0, $656_1 = 0, $657_1 = 0, $658_1 = 0, $8601$hi = 0, $6645 = 0, $8607$hi = 0, $659_1 = 0, $660_1 = 0, $661_1 = 0, $8611$hi = 0, $662_1 = 0, $663_1 = 0, $664_1 = 0, $8614 = 0, $8614$hi = 0, $8621$hi = 0, $8625$hi = 0, $665_1 = 0, $666_1 = 0, $667_1 = 0, $6690 = 0, $8627$hi = 0, $8628$hi = 0, $8632$hi = 0, $668_1 = 0, $669_1 = 0, $670_1 = 0, $6701 = 0, $8634$hi = 0, $8635$hi = 0, $8639$hi = 0, $6727 = 0, $6812 = 0, $6932 = 0, $6933 = 0, $7152 = 0, $7183 = 0, $8645$hi = 0, $8646$hi = 0, $7308 = 0, $7318 = 0, $7354 = 0, $7373 = 0, $7380 = 0, $8654$hi = 0, $8655$hi = 0, $7585 = 0, $8657$hi = 0, $8658$hi = 0, $7606 = 0, $8660$hi = 0, $8661$hi = 0, $7609 = 0, $7741 = 0, $7748 = 0, $7936 = 0, $7939 = 0, $8031 = 0, $8035 = 0, $8156 = 0, $8855 = 0, $8917 = 0, $9021 = 0, $221_1 = 0, $243_1 = 0, $245_1 = 0, $251_1 = 0, $253_1 = 0, $260_1 = 0, $261_1 = 0, $263_1 = 0, $9388 = 0, $9407 = 0, $312_1 = 0, $9887 = 0, $9907 = 0, $10586 = 0, $8183 = 0, $10599 = 0, $879_1 = 0, $883_1 = 0, $10882 = 0, $10888 = 0, $8213 = 0, $10973$hi = 0, $671_1 = 0, $10977 = 0, $8225 = 0, $11008$hi = 0, $672_1 = 0, $11012 = 0, $11018 = 0, $11122 = 0, $11128 = 0, $8240 = 0, $11160 = 0, $11290 = 0, $11296 = 0, $8246 = 0, $11322$hi = 0, $11326 = 0, $8249 = 0, $11346$hi = 0, $11350 = 0, $11400 = 0, $1093_1 = 0, $11454 = 0, $11466 = 0, $8280 = 0, $11486$hi = 0, $8283 = 0, $8284 = 0, $11495$hi = 0, $11515 = 0, $11522$hi = 0, $11526 = 0, $11538 = 0, $11544 = 0, $8299 = 0, $11591$hi = 0, $8302 = 0, $12066 = 0, $8306 = 0, $12086 = 0, $12437 = 0, $12915 = 0, $1802_1 = 0, $1835_1 = 0, $13097 = 0, $2084_1 = 0, $2090_1 = 0, $8319 = 0, $13922$hi = 0, $2264_1 = 0, $8322 = 0, $13972$hi = 0, $2279_1 = 0, $15029 = 0, $15048 = 0, $15052 = 0, $8361 = 0, $15082 = 0, $2778_1 = 0, $2783_1 = 0, $2788_1 = 0, $2793_1 = 0, $2798_1 = 0, $2830_1 = 0, $8408 = 0, $15407$hi = 0, $15419$hi = 0, $2883_1 = 0, $8417 = 0, $15540 = 0, $8420 = 0, $15549 = 0, $15561 = 0, $8426 = 0, $15581 = 0, $15593 = 0, $3015_1 = 0, $15828 = 0, $15863 = 0, $16039 = 0, $16047 = 0, $3165_1 = 0, $16551 = 0, $16559 = 0, $3449 = 0, $16974 = 0, $16982 = 0, $3591 = 0, $17164 = 0, $8460 = 0, $8461 = 0, $4163 = 0, $18443 = 0, $18602 = 0, $19505 = 0, $19515 = 0, $19525 = 0, $19535 = 0, $19545 = 0, $19572 = 0, $19592 = 0, $19640 = 0, $8482 = 0, $19787 = 0, $8499 = 0, $19959 = 0, $19989 = 0, $20061 = 0, $20113 = 0, $20220 = 0, $20481 = 0, $20882 = 0, $20981 = 0, $20987 = 0, $21174 = 0, $21516 = 0, $5573 = 0, $5579 = 0, $21895 = 0, $21928 = 0, $22270 = 0, $5909 = 0, $5911 = 0, $8547 = 0, $22391$hi = 0, $6056 = 0, $6063 = 0, $6064 = 0, $8552 = 0, $22959$hi = 0, $23610 = 0, $8567 = 0, $23843$hi = 0, $8570 = 0, $23865$hi = 0, $8573 = 0, $23881$hi = 0, $8592 = 0, $24051 = 0, $24065 = 0, $8601 = 0, $24105$hi = 0, $24152 = 0, $24203 = 0, $6850 = 0, $6918 = 0, $7071 = 0, $7126 = 0, $7130 = 0, $7140 = 0, $7141 = 0, $7143 = 0, $25446 = 0, $7248 = 0, $7530 = 0, $26328 = 0, $26391 = 0, $26616 = 0, $8664 = 0, $8665 = 0, $7879 = 0, $7954 = 0, $8109 = 0, $8119 = 0, $8124 = 0, $8126 = 0, $8159 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f64$0 = 0.0; + $3_1 = global$0 - 1968 | 0; + global$0 = $3_1; + $5_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 1964 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 1960 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + HEAP32[($3_1 + 1956 | 0) >> 2] = HEAP32[($3_1 + 1960 | 0) >> 2] | 0; + HEAP32[($3_1 + 1952 | 0) >> 2] = $5_1; + HEAP32[($3_1 + 1948 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 1964 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[($3_1 + 1947 | 0) >> 0] = 0; + HEAP8[($3_1 + 1946 | 0) >> 0] = HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0; + HEAP32[($3_1 + 1940 | 0) >> 2] = $5_1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1928 | 0) >> 2] = 0; + HEAP32[($3_1 + 1932 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 1924 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + HEAP32[($3_1 + 1920 | 0) >> 2] = $5_1; + HEAP32[($3_1 + 1916 | 0) >> 2] = $5_1; + HEAP32[($3_1 + 1912 | 0) >> 2] = $5_1; + HEAP32[($3_1 + 1908 | 0) >> 2] = $5_1; + $843(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$4 + } + break label$3; + } + $24_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] = $24_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 120 | 0) >> 2] = $24_1; + HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 408 | 0) >> 2] = $24_1; + HEAP32[($3_1 + 1904 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!(HEAP32[($3_1 + 1904 | 0) >> 2] | 0)) { + break label$6 + } + break label$5; + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0, 20) | 0; + label$7 : while (1) { + label$8 : { + label$9 : { + label$10 : { + label$11 : { + label$12 : { + label$13 : { + label$14 : { + if (!(1 & 1 | 0)) { + break label$14 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1928 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1932 | 0) >> 2] | 0; + $8164$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $8165$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8164$hi; + i64toi32_i32$1 = $8165$hi; + i64toi32_i32$1 = $8164$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $8165$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1928 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 1932 | 0) >> 2] = i64toi32_i32$5; + $42_1 = HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0; + label$15 : { + label$16 : { + label$17 : { + label$18 : { + label$19 : { + label$20 : { + label$21 : { + label$22 : { + label$23 : { + label$24 : { + label$25 : { + label$26 : { + label$27 : { + label$28 : { + label$29 : { + label$30 : { + label$31 : { + label$32 : { + label$33 : { + label$34 : { + label$35 : { + label$36 : { + label$37 : { + label$38 : { + label$39 : { + label$40 : { + label$41 : { + label$42 : { + label$43 : { + label$44 : { + label$45 : { + label$46 : { + label$47 : { + label$48 : { + label$49 : { + label$50 : { + label$51 : { + label$52 : { + label$53 : { + label$54 : { + label$55 : { + label$56 : { + label$57 : { + label$58 : { + label$59 : { + label$60 : { + label$61 : { + label$62 : { + label$63 : { + label$64 : { + label$65 : { + label$66 : { + label$67 : { + label$68 : { + label$69 : { + label$70 : { + label$71 : { + label$72 : { + label$73 : { + label$74 : { + label$75 : { + label$76 : { + label$77 : { + label$78 : { + label$79 : { + label$80 : { + label$81 : { + label$82 : { + label$83 : { + label$84 : { + label$85 : { + label$86 : { + label$87 : { + label$88 : { + label$89 : { + label$90 : { + label$91 : { + label$92 : { + label$93 : { + label$94 : { + label$95 : { + label$96 : { + label$97 : { + label$98 : { + label$99 : { + label$100 : { + label$101 : { + label$102 : { + switch ($42_1 | 0) { + case 11: + break label$10; + case 12: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + i64toi32_i32$2 = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $8855 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $8855; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + break label$11; + case 65: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul(i64toi32_i32$5, 20) | 0; + HEAP16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] = 128; + break label$8; + case 13: + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$5 = (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $8917 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $8917; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + label$158 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$158 + } + break label$11; + } + break label$8; + case 66: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1896 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul(i64toi32_i32$2, 20) | 0; + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1896 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + HEAP16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] = 128; + break label$8; + case 14: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + i64toi32_i32$1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1892 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $9021 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $9021; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1892 | 0) >> 2] | 0, 20) | 0; + break label$8; + case 67: + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$159 : { + if (((HEAPU16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$159 + } + break label$8; + } + case 68: + HEAP32[($3_1 + 1884 | 0) >> 2] = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + label$160 : { + if (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$160 + } + if (!((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$160 + } + HEAP32[($3_1 + 1888 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1888 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $166_1 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($166_1 + 204 | 0) >> 2] = (HEAP32[($166_1 + 204 | 0) >> 2] | 0) + -1 | 0; + $847(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $848(HEAP32[($3_1 + 1888 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1884 | 0) >> 2] = wasm2js_i32$1; + label$161 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$161 + } + HEAP32[($3_1 + 1884 | 0) >> 2] = (HEAP32[(((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1884 | 0) >> 2] | 0, 20) | 0) + 8 | 0) >> 2] | 0) - 1 | 0; + } + HEAP32[($3_1 + 1960 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + HEAP32[($3_1 + 1924 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1884 | 0) >> 2] | 0, 20) | 0; + break label$8; + } + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 146 | 0) >> 0] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($3_1 + 1884 | 0) >> 2] | 0; + label$162 : { + if (!(HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$162 + } + label$163 : { + label$164 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$164 + } + $221_1 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($3_1 + 64 | 0) >> 2] = HEAP32[(7520 + ((((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + $852($221_1 | 0, 7570 | 0, $3_1 + 64 | 0 | 0); + label$165 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$165 + } + $243_1 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + $245_1 = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0; + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 48 | 0) >> 2] = $245_1; + $251_1 = $351($243_1 | 0, 7591 | 0, $3_1 + 48 | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0) >> 2] = $251_1; + } + break label$163; + } + $253_1 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($3_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $852($253_1 | 0, 1976 | 0, $3_1 + 80 | 0 | 0); + } + $260_1 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $261_1 = HEAP32[($3_1 + 1884 | 0) >> 2] | 0; + $263_1 = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = $263_1; + HEAP32[($3_1 + 32 | 0) >> 2] = $261_1; + $82($260_1 | 0, 7598 | 0, $3_1 + 32 | 0 | 0); + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $224(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$166 : { + label$167 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$167 + } + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] = 5; + break label$166; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 ? 1 : 101; + } + break label$1; + case 69: + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$5 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $9388 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $9388; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + break label$8; + case 70: + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $9407 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $9407; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + break label$8; + case 150: + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 8; + HEAPF64[(HEAP32[($3_1 + 1908 | 0) >> 2] | 0) >> 3] = +HEAPF64[(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 3]; + break label$8; + case 115: + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + $312_1 = $68(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] = $312_1; + label$168 : { + if (!(((HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$168 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $256(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, -1 | 0, 1 & 255 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$169 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$169 + } + break label$13; + } + label$170 : { + if (!((0 | 0) != ($328(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$170 + } + break label$3; + } + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + $346_1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP16[($346_1 + 8 | 0) >> 1] = (HEAPU16[($346_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 2048 | 0; + $354_1 = 24; + label$171 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $354_1 | 0) >> $354_1 | 0 | 0) == (-7 | 0) & 1 | 0)) { + break label$171 + } + $13(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + } + HEAP8[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 1 | 0) >> 0] = 249; + HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + label$172 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$172 + } + break label$13; + } + HEAP8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] = 71; + case 71: + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 2562; + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[($3_1 + 1946 | 0) >> 0] | 0; + label$173 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$173 + } + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $8175$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $8176$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8175$hi; + i64toi32_i32$2 = $8176$hi; + i64toi32_i32$2 = $8175$hi; + i64toi32_i32$2 = $8176$hi; + i64toi32_i32$2 = $8175$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $8176$hi; + i64toi32_i32$3 = (HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + label$174 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$174 + } + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 2576; + } + } + break label$8; + case 72: + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 1880 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + $434_1 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 ? 257 : 1; + HEAP16[($3_1 + 1878 | 0) >> 1] = $434_1; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = $434_1; + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + label$175 : { + label$176 : while (1) { + if (!((HEAP32[($3_1 + 1880 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$175 + } + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 40 | 0; + $262(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($3_1 + 1878 | 0) >> 1] | 0; + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + HEAP32[($3_1 + 1880 | 0) >> 2] = (HEAP32[($3_1 + 1880 | 0) >> 2] | 0) + -1 | 0; + continue label$176; + }; + } + break label$8; + case 73: + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -192 | 0 | 1 | 0; + break label$8; + case 74: + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + $256(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, 0 | 0) | 0; + HEAP8[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[($3_1 + 1946 | 0) >> 0] | 0; + break label$8; + case 75: + HEAP32[($3_1 + 1872 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0, 40) | 0; + label$177 : { + if (!($887(HEAP32[($3_1 + 1872 | 0) >> 2] | 0 | 0) | 0)) { + break label$177 + } + break label$13; + } + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + label$178 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0)) { + break label$178 + } + $262(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0); + } + $508_1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1872 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $9887 = i64toi32_i32$1; + i64toi32_i32$1 = $508_1; + HEAP32[i64toi32_i32$1 >> 2] = $9887; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + $510_1 = 16; + HEAP32[(i64toi32_i32$1 + $510_1 | 0) >> 2] = HEAP32[(i64toi32_i32$3 + $510_1 | 0) >> 2] | 0; + $514_1 = 8; + i64toi32_i32$3 = i64toi32_i32$3 + $514_1 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $9907 = i64toi32_i32$2; + i64toi32_i32$2 = $508_1 + $514_1 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $9907; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + $517_1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP16[($517_1 + 8 | 0) >> 1] = ((HEAPU16[($517_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -5121 | 0; + $523_1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP16[($523_1 + 8 | 0) >> 1] = (HEAPU16[($523_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 2112 | 0; + break label$8; + case 76: + HEAP32[($3_1 + 1868 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 1864 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1860 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1864 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1860 | 0) >> 2] | 0, 40) | 0; + label$179 : while (1) { + $888(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0); + label$180 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4096 | 0)) { + break label$180 + } + if (!($251(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) | 0)) { + break label$180 + } + break label$3; + } + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 40 | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 40 | 0; + $563_1 = (HEAP32[($3_1 + 1868 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($3_1 + 1868 | 0) >> 2] = $563_1; + if ($563_1) { + continue label$179 + } + break label$179; + }; + break label$8; + case 77: + HEAP32[($3_1 + 1856 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + label$181 : while (1) { + $889(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, 4096 | 0); + label$182 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4096 | 0)) { + break label$182 + } + if (!($251(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) | 0)) { + break label$182 + } + break label$3; + } + $589_1 = HEAP32[($3_1 + 1856 | 0) >> 2] | 0; + HEAP32[($3_1 + 1856 | 0) >> 2] = $589_1 + -1 | 0; + label$183 : { + label$184 : { + if ($589_1) { + break label$184 + } + break label$183; + } + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 40 | 0; + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 40 | 0; + continue label$181; + } + break label$181; + }; + break label$8; + case 78: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + $889(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, 4096 | 0); + break label$8; + case 79: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $268(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0); + break label$8; + case 80: + $627_1 = 0; + $629_1 = $844(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, $627_1 | 0) | 0; + HEAP32[($3_1 + 1952 | 0) >> 2] = $629_1; + label$185 : { + if (!(($627_1 | 0) != ($629_1 | 0) & 1 | 0)) { + break label$185 + } + break label$2; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $846(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 2 | 0 | 1 | 0; + $651_1 = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 120 | 0) >> 2] = $651_1; + HEAP32[($3_1 + 1852 | 0) >> 2] = $651_1; + HEAP32[($3_1 + 1848 | 0) >> 2] = 0; + label$186 : { + label$187 : while (1) { + if (!((HEAP32[($3_1 + 1848 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$186 + } + label$188 : { + if (!(((HEAPU16[(((HEAP32[($3_1 + 1852 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1848 | 0) >> 2] | 0, 40) | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4096 | 0)) { + break label$188 + } + if (!($251((HEAP32[($3_1 + 1852 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1848 | 0) >> 2] | 0, 40) | 0 | 0) | 0)) { + break label$188 + } + break label$3; + } + $876((HEAP32[($3_1 + 1852 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1848 | 0) >> 2] | 0, 40) | 0 | 0) | 0; + HEAP32[($3_1 + 1848 | 0) >> 2] = (HEAP32[($3_1 + 1848 | 0) >> 2] | 0) + 1 | 0; + continue label$187; + }; + } + label$189 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$189 + } + break label$3; + } + label$190 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 88 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$190 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0 | 0](4, HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0, HEAP32[($3_1 + 1964 | 0) >> 2] | 0, 0) | 0; + } + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 36 | 0) >> 2] = (((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0) + 1 | 0; + HEAP32[($3_1 + 1952 | 0) >> 2] = 100; + break label$1; + case 110: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1916 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP16[($3_1 + 1838 | 0) >> 1] = HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; + label$191 : { + if (!(((HEAPU16[($3_1 + 1838 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) | 0) & 1 | 0)) { + break label$191 + } + $262(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0); + break label$8; + } + label$192 : { + label$193 : { + if (((HEAPU16[($3_1 + 1838 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0) { + break label$193 + } + label$194 : { + if (!($877(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0)) { + break label$194 + } + break label$3; + } + HEAP16[($3_1 + 1838 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -3 | 0; + break label$192; + } + label$195 : { + if (!(((HEAPU16[($3_1 + 1838 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$195 + } + label$196 : { + if (!($230(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0)) { + break label$196 + } + break label$3; + } + HEAP16[($3_1 + 1838 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -3 | 0; + } + } + HEAP16[($3_1 + 1836 | 0) >> 1] = HEAPU16[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; + label$197 : { + label$198 : { + if (((HEAPU16[($3_1 + 1836 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0) { + break label$198 + } + label$199 : { + if (!($877(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0)) { + break label$199 + } + break label$3; + } + HEAP16[($3_1 + 1836 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -3 | 0; + break label$197; + } + label$200 : { + if (!(((HEAPU16[($3_1 + 1836 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$200 + } + label$201 : { + if (!($230(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) | 0)) { + break label$201 + } + break label$3; + } + HEAP16[($3_1 + 1836 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -3 | 0; + } + } + i64toi32_i32$1 = (HEAP32[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $10586 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1840 | 0) >> 2] = $10586; + HEAP32[($3_1 + 1844 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1840 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1844 | 0) >> 2] | 0; + $8183 = i64toi32_i32$2; + $8183$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $8184$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8183$hi; + i64toi32_i32$1 = $8184$hi; + i64toi32_i32$1 = $8183$hi; + i64toi32_i32$1 = $8184$hi; + $10599 = i64toi32_i32$2; + i64toi32_i32$1 = $8183$hi; + i64toi32_i32$3 = $8183; + i64toi32_i32$2 = $8184$hi; + i64toi32_i32$5 = $10599; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $593_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$5 >>> 0) { + $594_1 = 0 + } else { + $594_1 = 1 + } + $595_1 = $594_1; + } else { + $595_1 = 0 + } + $593_1 = $595_1; + } + label$202 : { + if (!($593_1 & 1 | 0)) { + break label$202 + } + break label$13; + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1840 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1844 | 0) >> 2] | 0; + label$203 : { + if (!($231(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, i64toi32_i32$3 + 3 | 0 | 0, (HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) & 1 | 0 | 0) | 0)) { + break label$203 + } + break label$3; + } + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 2 | 0; + label$204 : { + if (!((HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$204 + } + $3288(HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP16[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($3_1 + 1836 | 0) >> 1] | 0; + } + $862_1 = 0; + $3288((HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0 | 0, HEAP32[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($3_1 + 1838 | 0) >> 1] | 0; + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1840 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1844 | 0) >> 2] | 0; + HEAP8[((HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + i64toi32_i32$1 | 0) >> 0] = $862_1; + $879_1 = HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1840 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1844 | 0) >> 2] | 0; + $8189$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $8190$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8189$hi; + i64toi32_i32$1 = $8190$hi; + i64toi32_i32$1 = $8189$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$3 = $8190$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + HEAP8[($879_1 + i64toi32_i32$0 | 0) >> 0] = $862_1; + $883_1 = HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1840 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1844 | 0) >> 2] | 0; + $8192$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $8193$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8192$hi; + i64toi32_i32$5 = $8193$hi; + i64toi32_i32$5 = $8192$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$4 = $8193$hi; + i64toi32_i32$2 = 2; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + HEAP8[($883_1 + i64toi32_i32$3 | 0) >> 0] = $862_1; + $886_1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP16[($886_1 + 8 | 0) >> 1] = (HEAPU16[($886_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 512 | 0; + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1840 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1844 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP8[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[($3_1 + 1946 | 0) >> 0] | 0; + break label$8; + case 105: + case 106: + case 107: + case 108: + case 109: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $890(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 1832 | 0) >> 1] = wasm2js_i32$1; + HEAP32[($3_1 + 1916 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $890(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 1830 | 0) >> 1] = wasm2js_i32$1; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP16[($3_1 + 1834 | 0) >> 1] = (HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$205 : { + label$206 : { + label$207 : { + label$208 : { + if (!((((HEAPU16[($3_1 + 1832 | 0) >> 1] | 0) & 65535 | 0) & ((HEAPU16[($3_1 + 1830 | 0) >> 1] | 0) & 65535 | 0) | 0) & 4 | 0)) { + break label$208 + } + i64toi32_i32$5 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $10882 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1816 | 0) >> 2] = $10882; + HEAP32[($3_1 + 1820 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$5 = HEAP32[($3_1 + 1916 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $10888 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 1808 | 0) >> 2] = $10888; + HEAP32[($3_1 + 1812 | 0) >> 2] = i64toi32_i32$1; + $941_1 = (HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) + -105 | 0; + label$209 : { + label$210 : { + switch ($941_1 | 0) { + case 0: + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + label$215 : { + if (!($891($3_1 + 1808 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0)) { + break label$215 + } + break label$207; + } + break label$209; + case 1: + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + label$216 : { + if (!($892($3_1 + 1808 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0)) { + break label$216 + } + break label$207; + } + break label$209; + case 2: + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + label$217 : { + if (!($893($3_1 + 1808 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0)) { + break label$217 + } + break label$207; + } + break label$209; + case 3: + i64toi32_i32$0 = 0; + $8201$hi = i64toi32_i32$0; + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + $8203$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8201$hi; + i64toi32_i32$1 = $8203$hi; + i64toi32_i32$1 = $8201$hi; + i64toi32_i32$1 = $8203$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $8201$hi; + i64toi32_i32$2 = 0; + label$218 : { + if (!(((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$218 + } + break label$205; + } + i64toi32_i32$5 = -1; + $8205$hi = i64toi32_i32$5; + i64toi32_i32$2 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + $8207$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8205$hi; + i64toi32_i32$1 = $8207$hi; + i64toi32_i32$1 = $8205$hi; + i64toi32_i32$1 = $8207$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $8205$hi; + i64toi32_i32$0 = -1; + label$219 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$219 + } + i64toi32_i32$2 = -2147483648; + $8209$hi = i64toi32_i32$2; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1808 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1812 | 0) >> 2] | 0; + $8211$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8209$hi; + i64toi32_i32$1 = $8211$hi; + i64toi32_i32$1 = $8209$hi; + i64toi32_i32$1 = $8211$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $8209$hi; + i64toi32_i32$5 = 0; + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$219 + } + break label$207; + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + $8213 = i64toi32_i32$0; + $8213$hi = i64toi32_i32$1; + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1808 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1812 | 0) >> 2] | 0; + $10973$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8213$hi; + i64toi32_i32$0 = $10973$hi; + $671_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8213$hi; + i64toi32_i32$1 = __wasm_i64_sdiv($671_1 | 0, i64toi32_i32$0 | 0, $8213 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $10977 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1808 | 0) >> 2] = $10977; + HEAP32[($3_1 + 1812 | 0) >> 2] = i64toi32_i32$0; + break label$209; + default: + break label$210; + }; + } + i64toi32_i32$0 = 0; + $8216$hi = i64toi32_i32$0; + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + $8218$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8216$hi; + i64toi32_i32$1 = $8218$hi; + i64toi32_i32$1 = $8216$hi; + i64toi32_i32$1 = $8218$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $8216$hi; + i64toi32_i32$2 = 0; + label$220 : { + if (!(((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$220 + } + break label$205; + } + i64toi32_i32$5 = -1; + $8220$hi = i64toi32_i32$5; + i64toi32_i32$2 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + $8222$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8220$hi; + i64toi32_i32$1 = $8222$hi; + i64toi32_i32$1 = $8220$hi; + i64toi32_i32$1 = $8222$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $8220$hi; + i64toi32_i32$0 = -1; + label$221 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$221 + } + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1816 | 0) >> 2] = 1; + HEAP32[($3_1 + 1820 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + $8225 = i64toi32_i32$2; + $8225$hi = i64toi32_i32$1; + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1808 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1812 | 0) >> 2] | 0; + $11008$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8225$hi; + i64toi32_i32$2 = $11008$hi; + $672_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8225$hi; + i64toi32_i32$1 = __wasm_i64_srem($672_1 | 0, i64toi32_i32$2 | 0, $8225 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $11012 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1808 | 0) >> 2] = $11012; + HEAP32[($3_1 + 1812 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1808 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1812 | 0) >> 2] | 0; + $11018 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $11018; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 4 | 0; + break label$206; + } + label$222 : { + if (!(((HEAPU16[($3_1 + 1834 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$222 + } + break label$205; + } + } + (wasm2js_i32$0 = $3_1, wasm2js_f64$0 = +$237(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 1800 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3_1, wasm2js_f64$0 = +$237(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 1792 | 0) >> 3] = wasm2js_f64$0; + $990_1 = (HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) + -105 | 0; + label$223 : { + label$224 : { + switch ($990_1 | 0) { + case 0: + HEAPF64[($3_1 + 1792 | 0) >> 3] = +HEAPF64[($3_1 + 1792 | 0) >> 3] + +HEAPF64[($3_1 + 1800 | 0) >> 3]; + break label$223; + case 1: + HEAPF64[($3_1 + 1792 | 0) >> 3] = +HEAPF64[($3_1 + 1792 | 0) >> 3] - +HEAPF64[($3_1 + 1800 | 0) >> 3]; + break label$223; + case 2: + HEAPF64[($3_1 + 1792 | 0) >> 3] = +HEAPF64[($3_1 + 1792 | 0) >> 3] * +HEAPF64[($3_1 + 1800 | 0) >> 3]; + break label$223; + case 3: + label$229 : { + if (!(+HEAPF64[($3_1 + 1800 | 0) >> 3] == +(0 | 0) & 1 | 0)) { + break label$229 + } + break label$205; + } + HEAPF64[($3_1 + 1792 | 0) >> 3] = +HEAPF64[($3_1 + 1792 | 0) >> 3] / +HEAPF64[($3_1 + 1800 | 0) >> 3]; + break label$223; + default: + break label$224; + }; + } + i64toi32_i32$1 = 0; + $8229$hi = i64toi32_i32$1; + i64toi32_i32$1 = $240(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $11122 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1816 | 0) >> 2] = $11122; + HEAP32[($3_1 + 1820 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $240(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $11128 = i64toi32_i32$2; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1808 | 0) >> 2] = $11128; + HEAP32[($3_1 + 1812 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + $8233$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8229$hi; + i64toi32_i32$2 = $8233$hi; + i64toi32_i32$2 = $8229$hi; + i64toi32_i32$2 = $8233$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $8229$hi; + i64toi32_i32$5 = 0; + label$230 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$230 + } + break label$205; + } + i64toi32_i32$0 = -1; + $8235$hi = i64toi32_i32$0; + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + $8237$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8235$hi; + i64toi32_i32$2 = $8237$hi; + i64toi32_i32$2 = $8235$hi; + i64toi32_i32$2 = $8237$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $8235$hi; + i64toi32_i32$1 = -1; + label$231 : { + if (!(((i64toi32_i32$5 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$231 + } + i64toi32_i32$5 = 0; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1816 | 0) >> 2] = 1; + HEAP32[($3_1 + 1820 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1808 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1812 | 0) >> 2] | 0; + $8240 = i64toi32_i32$5; + $8240$hi = i64toi32_i32$2; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1816 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1820 | 0) >> 2] | 0; + $8241$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8240$hi; + i64toi32_i32$5 = $8241$hi; + $11160 = i64toi32_i32$2; + i64toi32_i32$5 = $8240$hi; + i64toi32_i32$2 = $8241$hi; + i64toi32_i32$2 = __wasm_i64_srem($8240 | 0, i64toi32_i32$5 | 0, $11160 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$1 = 0; + HEAPF64[($3_1 + 1792 | 0) >> 3] = +(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$5 | 0); + } + label$232 : { + if (!($55(+(+HEAPF64[($3_1 + 1792 | 0) >> 3])) | 0)) { + break label$232 + } + break label$205; + } + HEAPF64[(HEAP32[($3_1 + 1908 | 0) >> 2] | 0) >> 3] = +HEAPF64[($3_1 + 1792 | 0) >> 3]; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 8 | 0; + } + break label$8; + } + $262(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0); + break label$8; + case 81: + label$233 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$233 + } + i64toi32_i32$5 = 0; + $268((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0 | 0, 0 | 0, i64toi32_i32$5 | 0); + } + break label$8; + case 101: + case 102: + case 103: + case 104: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1916 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$234 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) | 0) & 1 | 0)) { + break label$234 + } + $262(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0); + break label$8; + } + i64toi32_i32$5 = $240(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $11290 = i64toi32_i32$5; + i64toi32_i32$5 = $3_1; + HEAP32[($3_1 + 1784 | 0) >> 2] = $11290; + HEAP32[($3_1 + 1788 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $240(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $11296 = i64toi32_i32$2; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1768 | 0) >> 2] = $11296; + HEAP32[($3_1 + 1772 | 0) >> 2] = i64toi32_i32$5; + HEAP8[($3_1 + 1767 | 0) >> 0] = HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0; + label$235 : { + label$236 : { + if (!(((HEAPU8[($3_1 + 1767 | 0) >> 0] | 0) & 255 | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$236 + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8246 = i64toi32_i32$5; + $8246$hi = i64toi32_i32$2; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1784 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1788 | 0) >> 2] | 0; + $11322$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8246$hi; + i64toi32_i32$5 = $11322$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $8246$hi; + i64toi32_i32$0 = $8246; + i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2 | 0; + $11326 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1784 | 0) >> 2] = $11326; + HEAP32[($3_1 + 1788 | 0) >> 2] = i64toi32_i32$2; + break label$235; + } + label$237 : { + label$238 : { + if (!(((HEAPU8[($3_1 + 1767 | 0) >> 0] | 0) & 255 | 0 | 0) == (102 | 0) & 1 | 0)) { + break label$238 + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8249 = i64toi32_i32$2; + $8249$hi = i64toi32_i32$1; + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1784 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1788 | 0) >> 2] | 0; + $11346$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8249$hi; + i64toi32_i32$2 = $11346$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $8249$hi; + i64toi32_i32$0 = $8249; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $11350 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + i64toi32_i32$5 = $3_1; + HEAP32[($3_1 + 1784 | 0) >> 2] = $11350; + HEAP32[($3_1 + 1788 | 0) >> 2] = i64toi32_i32$1; + break label$237; + } + i64toi32_i32$1 = 0; + $8252$hi = i64toi32_i32$1; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8254$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8252$hi; + i64toi32_i32$5 = $8254$hi; + i64toi32_i32$5 = $8252$hi; + i64toi32_i32$5 = $8254$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $8252$hi; + i64toi32_i32$0 = 0; + label$239 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$239 + } + i64toi32_i32$2 = 0; + $8256$hi = i64toi32_i32$2; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8258$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8256$hi; + i64toi32_i32$5 = $8258$hi; + i64toi32_i32$5 = $8256$hi; + i64toi32_i32$5 = $8258$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $8256$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$2 | 0)) { + $596_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$1 >>> 0) { + $597_1 = 0 + } else { + $597_1 = 1 + } + $598_1 = $597_1; + } else { + $598_1 = 0 + } + $596_1 = $598_1; + } + label$240 : { + if (!($596_1 & 1 | 0)) { + break label$240 + } + i64toi32_i32$0 = -1; + $8260$hi = i64toi32_i32$0; + HEAP8[($3_1 + 1767 | 0) >> 0] = 207 - ((HEAPU8[($3_1 + 1767 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$1 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8262$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8260$hi; + i64toi32_i32$5 = $8262$hi; + i64toi32_i32$5 = $8260$hi; + i64toi32_i32$5 = $8262$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $8260$hi; + i64toi32_i32$2 = -64; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$0 | 0)) { + $599_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$2 >>> 0) { + $600_1 = 0 + } else { + $600_1 = 1 + } + $601_1 = $600_1; + } else { + $601_1 = 0 + } + $599_1 = $601_1; + } + label$241 : { + label$242 : { + if (!($599_1 & 1 | 0)) { + break label$242 + } + i64toi32_i32$1 = 0; + $8264$hi = i64toi32_i32$1; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8265$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8264$hi; + i64toi32_i32$5 = $8265$hi; + $11400 = i64toi32_i32$1; + i64toi32_i32$5 = $8264$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $8265$hi; + i64toi32_i32$0 = $11400; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + $8267 = i64toi32_i32$4; + $8267$hi = i64toi32_i32$3; + break label$241; + } + i64toi32_i32$3 = 0; + $8267 = 64; + $8267$hi = i64toi32_i32$3; + } + i64toi32_i32$3 = $8267$hi; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1768 | 0) >> 2] = $8267; + HEAP32[($3_1 + 1772 | 0) >> 2] = i64toi32_i32$3; + } + i64toi32_i32$3 = 0; + $8270$hi = i64toi32_i32$3; + i64toi32_i32$5 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8272$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8270$hi; + i64toi32_i32$2 = $8272$hi; + i64toi32_i32$2 = $8270$hi; + i64toi32_i32$2 = $8272$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$3 = $8270$hi; + i64toi32_i32$0 = 64; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$3 | 0)) { + $602_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + $603_1 = 0 + } else { + $603_1 = 1 + } + $604_1 = $603_1; + } else { + $604_1 = 0 + } + $602_1 = $604_1; + } + label$243 : { + label$244 : { + if (!($602_1 & 1 | 0)) { + break label$244 + } + $1093_1 = 1; + i64toi32_i32$5 = 0; + $8274$hi = i64toi32_i32$5; + i64toi32_i32$0 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1784 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1788 | 0) >> 2] | 0; + $8276$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8274$hi; + i64toi32_i32$2 = $8276$hi; + i64toi32_i32$2 = $8274$hi; + i64toi32_i32$2 = $8276$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $8274$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $605_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + $606_1 = 0 + } else { + $606_1 = 1 + } + $607_1 = $606_1; + } else { + $607_1 = 0 + } + $605_1 = $607_1; + } + $1097_1 = $1093_1; + label$245 : { + if ($605_1 & 1 | 0) { + break label$245 + } + $1097_1 = ((HEAPU8[($3_1 + 1767 | 0) >> 0] | 0) & 255 | 0 | 0) == (103 | 0); + } + i64toi32_i32$2 = $1097_1 & 1 | 0 ? 0 : -1; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $11454 = i64toi32_i32$2; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1784 | 0) >> 2] = $11454; + HEAP32[($3_1 + 1788 | 0) >> 2] = i64toi32_i32$0; + break label$243; + } + i64toi32_i32$3 = $3_1 + 1784 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $11466 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1 + 1776 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $11466; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + label$246 : { + label$247 : { + if (!(((HEAPU8[($3_1 + 1767 | 0) >> 0] | 0) & 255 | 0 | 0) == (103 | 0) & 1 | 0)) { + break label$247 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8280 = i64toi32_i32$2; + $8280$hi = i64toi32_i32$0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1776 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1780 | 0) >> 2] | 0; + $11486$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8280$hi; + i64toi32_i32$2 = $11486$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $8280$hi; + i64toi32_i32$5 = $8280; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + $608_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$1 | 0) | 0; + $608_1 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + } + i64toi32_i32$3 = $3_1; + HEAP32[($3_1 + 1776 | 0) >> 2] = $608_1; + HEAP32[($3_1 + 1780 | 0) >> 2] = i64toi32_i32$0; + break label$246; + } + i64toi32_i32$0 = 0; + $8283 = 0; + $8283$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8284 = i64toi32_i32$0; + $8284$hi = i64toi32_i32$3; + i64toi32_i32$2 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1776 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1780 | 0) >> 2] | 0; + $11495$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8284$hi; + i64toi32_i32$0 = $11495$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $8284$hi; + i64toi32_i32$5 = $8284; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $609_1 = i64toi32_i32$0 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$0 >>> i64toi32_i32$1 | 0; + $609_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$1 | 0) | 0; + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1776 | 0) >> 2] = $609_1; + HEAP32[($3_1 + 1780 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$0 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1784 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1788 | 0) >> 2] | 0; + $8288$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8283$hi; + i64toi32_i32$2 = $8288$hi; + i64toi32_i32$2 = $8283$hi; + i64toi32_i32$2 = $8288$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $8283$hi; + i64toi32_i32$5 = $8283; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$3 | 0)) { + $610_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$5 >>> 0) { + $611_1 = 0 + } else { + $611_1 = 1 + } + $612_1 = $611_1; + } else { + $612_1 = 0 + } + $610_1 = $612_1; + } + label$248 : { + if (!($610_1 & 1 | 0)) { + break label$248 + } + i64toi32_i32$0 = -1; + $8290$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $8291$hi = i64toi32_i32$0; + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1768 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1772 | 0) >> 2] | 0; + $8292$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8291$hi; + i64toi32_i32$2 = $8292$hi; + $11515 = i64toi32_i32$0; + i64toi32_i32$2 = $8291$hi; + i64toi32_i32$5 = 64; + i64toi32_i32$0 = $8292$hi; + i64toi32_i32$3 = $11515; + i64toi32_i32$1 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $8293$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8290$hi; + i64toi32_i32$4 = $8293$hi; + i64toi32_i32$4 = $8290$hi; + i64toi32_i32$2 = -1; + i64toi32_i32$5 = $8293$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$0 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + $613_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$0 | 0) | 0; + $613_1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + } + $8294$hi = i64toi32_i32$5; + i64toi32_i32$4 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1776 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1780 | 0) >> 2] | 0; + $11522$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8294$hi; + i64toi32_i32$2 = $11522$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$5 = $8294$hi; + i64toi32_i32$3 = $613_1; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + $11526 = i64toi32_i32$4 | i64toi32_i32$3 | 0; + i64toi32_i32$4 = $3_1; + HEAP32[($3_1 + 1776 | 0) >> 2] = $11526; + HEAP32[($3_1 + 1780 | 0) >> 2] = i64toi32_i32$5; + } + } + i64toi32_i32$2 = $3_1 + 1776 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $11538 = i64toi32_i32$5; + i64toi32_i32$5 = $3_1 + 1784 | 0; + HEAP32[i64toi32_i32$5 >> 2] = $11538; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$4; + } + } + } + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1784 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1788 | 0) >> 2] | 0; + $11544 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$4 >> 2] = $11544; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 4 | 0; + break label$8; + case 82: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + $894(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$4 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$4 >> 31 | 0; + $8299 = i64toi32_i32$4; + $8299$hi = i64toi32_i32$5; + $1156_1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$2 = $1156_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $11591$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8299$hi; + i64toi32_i32$4 = $11591$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $8299$hi; + i64toi32_i32$3 = $8299; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$2 = $1156_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$8; + case 15: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + label$249 : { + if (((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0) { + break label$249 + } + $1172_1 = 24; + $895(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, (67 << $1172_1 | 0) >> $1172_1 | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0); + label$250 : { + if (((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0) { + break label$250 + } + label$251 : { + if (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$251 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 20; + break label$2; + } + break label$11; + } + } + HEAP16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 4 | 0; + break label$8; + case 83: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + label$252 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 36 | 0)) { + break label$252 + } + $896(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0; + } + break label$8; + case 84: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + label$253 : { + label$254 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$254 + } + $1222_1 = $230(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0; + break label$253; + } + $1222_1 = 0; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = $1222_1; + label$255 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$255 + } + break label$2; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $897(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) & 255 | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$256 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$256 + } + break label$2; + } + break label$8; + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP16[($3_1 + 1752 | 0) >> 1] = HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; + HEAP16[($3_1 + 1750 | 0) >> 1] = HEAPU16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; + label$257 : { + label$258 : { + label$259 : { + if (!(((HEAPU16[($3_1 + 1752 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[($3_1 + 1750 | 0) >> 1] | 0) & 65535 | 0) | 0) & 1 | 0)) { + break label$259 + } + label$260 : { + label$261 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$261 + } + label$262 : { + label$263 : { + if (!((((HEAPU16[($3_1 + 1752 | 0) >> 1] | 0) & 65535 | 0) & ((HEAPU16[($3_1 + 1750 | 0) >> 1] | 0) & 65535 | 0) | 0) & 1 | 0)) { + break label$263 + } + if (((HEAPU16[($3_1 + 1750 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0) { + break label$263 + } + HEAP32[($3_1 + 1760 | 0) >> 2] = 0; + break label$262; + } + HEAP32[($3_1 + 1760 | 0) >> 2] = ((HEAPU16[($3_1 + 1750 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0 ? -1 : 1; + } + break label$260; + } + label$264 : { + label$265 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$265 + } + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1940 | 0) >> 2] = 1; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 1 | 0; + break label$264; + } + label$266 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$266 + } + break label$11; + } + } + break label$8; + } + break label$258; + } + HEAP8[($3_1 + 1755 | 0) >> 0] = ((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 71 | 0; + $1326_1 = 24; + label$267 : { + label$268 : { + if (!((((HEAPU8[($3_1 + 1755 | 0) >> 0] | 0) << $1326_1 | 0) >> $1326_1 | 0 | 0) >= (67 | 0) & 1 | 0)) { + break label$268 + } + label$269 : { + if (!(((HEAPU16[($3_1 + 1752 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[($3_1 + 1750 | 0) >> 1] | 0) & 65535 | 0) | 0) & 2 | 0)) { + break label$269 + } + label$270 : { + if (!((((HEAPU16[($3_1 + 1752 | 0) >> 1] | 0) & 65535 | 0) & 46 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$270 + } + $343(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, 0 | 0); + HEAP16[($3_1 + 1750 | 0) >> 1] = HEAPU16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; + } + label$271 : { + if (!((((HEAPU16[($3_1 + 1750 | 0) >> 1] | 0) & 65535 | 0) & 46 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$271 + } + $343(HEAP32[($3_1 + 1912 | 0) >> 2] | 0 | 0, 0 | 0); + } + } + label$272 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & ((HEAPU16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) | 0) & 4 | 0)) { + break label$272 + } + i64toi32_i32$4 = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $8302 = i64toi32_i32$1; + $8302$hi = i64toi32_i32$2; + i64toi32_i32$4 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $8303$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8302$hi; + i64toi32_i32$1 = $8303$hi; + i64toi32_i32$1 = $8302$hi; + i64toi32_i32$1 = $8303$hi; + $12066 = i64toi32_i32$2; + i64toi32_i32$1 = $8302$hi; + i64toi32_i32$4 = $8302; + i64toi32_i32$2 = $8303$hi; + i64toi32_i32$3 = $12066; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $614_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$4 >>> 0 <= i64toi32_i32$3 >>> 0) { + $615_1 = 0 + } else { + $615_1 = 1 + } + $616_1 = $615_1; + } else { + $616_1 = 0 + } + $614_1 = $616_1; + } + label$273 : { + if (!($614_1 & 1 | 0)) { + break label$273 + } + HEAP32[($3_1 + 1760 | 0) >> 2] = 1; + break label$257; + } + i64toi32_i32$3 = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $8306 = i64toi32_i32$4; + $8306$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $8307$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8306$hi; + i64toi32_i32$4 = $8307$hi; + i64toi32_i32$4 = $8306$hi; + i64toi32_i32$4 = $8307$hi; + $12086 = i64toi32_i32$1; + i64toi32_i32$4 = $8306$hi; + i64toi32_i32$3 = $8306; + i64toi32_i32$1 = $8307$hi; + i64toi32_i32$2 = $12086; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$1 | 0)) { + $617_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$2 >>> 0) { + $618_1 = 0 + } else { + $618_1 = 1 + } + $619_1 = $618_1; + } else { + $619_1 = 0 + } + $617_1 = $619_1; + } + label$274 : { + if (!($617_1 & 1 | 0)) { + break label$274 + } + HEAP32[($3_1 + 1760 | 0) >> 2] = -1; + break label$257; + } + HEAP32[($3_1 + 1760 | 0) >> 2] = 0; + break label$257; + } + break label$267; + } + $1397_1 = 24; + label$275 : { + if (!((((HEAPU8[($3_1 + 1755 | 0) >> 0] | 0) << $1397_1 | 0) >> $1397_1 | 0 | 0) == (66 | 0) & 1 | 0)) { + break label$275 + } + label$276 : { + if (((HEAPU16[($3_1 + 1752 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0) { + break label$276 + } + if (!(((HEAPU16[($3_1 + 1752 | 0) >> 1] | 0) & 65535 | 0) & 44 | 0)) { + break label$276 + } + $877(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0, 1 & 255 | 0 | 0) | 0; + HEAP16[($3_1 + 1752 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | (((HEAPU16[($3_1 + 1752 | 0) >> 1] | 0) & 65535 | 0) & 49599 | 0) | 0; + label$277 : { + if (!((HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 1912 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$277 + } + HEAP16[($3_1 + 1750 | 0) >> 1] = (HEAPU16[($3_1 + 1752 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0; + } + } + label$278 : { + if (((HEAPU16[($3_1 + 1750 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0) { + break label$278 + } + if (!(((HEAPU16[($3_1 + 1750 | 0) >> 1] | 0) & 65535 | 0) & 44 | 0)) { + break label$278 + } + $877(HEAP32[($3_1 + 1912 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0, 1 & 255 | 0 | 0) | 0; + HEAP16[($3_1 + 1750 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | (((HEAPU16[($3_1 + 1750 | 0) >> 1] | 0) & 65535 | 0) & 49599 | 0) | 0; + } + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $898(HEAP32[($3_1 + 1912 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1760 | 0) >> 2] = wasm2js_i32$1; + } + } + label$279 : { + label$280 : { + if (!((HEAP32[($3_1 + 1760 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$280 + } + HEAP32[($3_1 + 1756 | 0) >> 2] = (HEAPU8[((((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) - 52 | 0) + 7622 | 0) >> 0] | 0) & 255 | 0; + break label$279; + } + label$281 : { + label$282 : { + if (HEAP32[($3_1 + 1760 | 0) >> 2] | 0) { + break label$282 + } + HEAP32[($3_1 + 1756 | 0) >> 2] = (HEAPU8[((((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) - 52 | 0) + 7628 | 0) >> 0] | 0) & 255 | 0; + break label$281; + } + HEAP32[($3_1 + 1756 | 0) >> 2] = (HEAPU8[((((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) - 52 | 0) + 7634 | 0) >> 0] | 0) & 255 | 0; + } + } + HEAP16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($3_1 + 1750 | 0) >> 1] | 0; + HEAP16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($3_1 + 1752 | 0) >> 1] | 0; + label$283 : { + label$284 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$284 + } + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1940 | 0) >> 2] = HEAP32[($3_1 + 1760 | 0) >> 2] | 0; + label$285 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$285 + } + label$286 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (53 | 0) & 1 | 0 | 0) == (HEAP32[($3_1 + 1756 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$286 + } + break label$8; + } + } + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 4 | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1756 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$4 >> 31 | 0; + $12437 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$4 >> 2] = $12437; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$3; + break label$283; + } + label$287 : { + if (!(HEAP32[($3_1 + 1756 | 0) >> 2] | 0)) { + break label$287 + } + break label$11; + } + } + break label$8; + case 58: + label$288 : { + if (!(HEAP32[($3_1 + 1940 | 0) >> 2] | 0)) { + break label$288 + } + break label$11; + } + break label$8; + case 85: + break label$8; + case 86: + label$289 : { + label$290 : { + if (((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$290 + } + HEAP32[($3_1 + 1712 | 0) >> 2] = 0; + break label$289; + } + HEAP32[($3_1 + 1712 | 0) >> 2] = (HEAP32[(((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + -20 | 0) + 16 | 0) >> 2] | 0) + 4 | 0; + } + HEAP32[($3_1 + 1744 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 1728 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1736 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1732 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 1740 | 0) >> 2] = 0; + label$291 : { + label$292 : while (1) { + if (!((HEAP32[($3_1 + 1740 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 1744 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$291 + } + label$293 : { + label$294 : { + if (!((HEAP32[($3_1 + 1712 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$294 + } + $1610_1 = HEAP32[((HEAP32[($3_1 + 1712 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1740 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$293; + } + $1610_1 = HEAP32[($3_1 + 1740 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 1724 | 0) >> 2] = $1610_1; + HEAP32[($3_1 + 1720 | 0) >> 2] = HEAP32[(((HEAP32[($3_1 + 1728 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($3_1 + 1740 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1716 | 0) >> 2] = ((HEAPU8[((HEAP32[((HEAP32[($3_1 + 1728 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($3_1 + 1740 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $898((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul((HEAP32[($3_1 + 1736 | 0) >> 2] | 0) + (HEAP32[($3_1 + 1724 | 0) >> 2] | 0) | 0, 40) | 0 | 0, (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul((HEAP32[($3_1 + 1732 | 0) >> 2] | 0) + (HEAP32[($3_1 + 1724 | 0) >> 2] | 0) | 0, 40) | 0 | 0, HEAP32[($3_1 + 1720 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1940 | 0) >> 2] = wasm2js_i32$1; + label$295 : { + if (!(HEAP32[($3_1 + 1940 | 0) >> 2] | 0)) { + break label$295 + } + label$296 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($3_1 + 1728 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($3_1 + 1740 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$296 + } + label$297 : { + if (((HEAPU16[(((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul((HEAP32[($3_1 + 1736 | 0) >> 2] | 0) + (HEAP32[($3_1 + 1724 | 0) >> 2] | 0) | 0, 40) | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$297 + } + if (!(((HEAPU16[(((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul((HEAP32[($3_1 + 1732 | 0) >> 2] | 0) + (HEAP32[($3_1 + 1724 | 0) >> 2] | 0) | 0, 40) | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$296 + } + } + HEAP32[($3_1 + 1940 | 0) >> 2] = 0 - (HEAP32[($3_1 + 1940 | 0) >> 2] | 0) | 0; + } + label$298 : { + if (!(HEAP32[($3_1 + 1716 | 0) >> 2] | 0)) { + break label$298 + } + HEAP32[($3_1 + 1940 | 0) >> 2] = 0 - (HEAP32[($3_1 + 1940 | 0) >> 2] | 0) | 0; + } + break label$291; + } + HEAP32[($3_1 + 1740 | 0) >> 2] = (HEAP32[($3_1 + 1740 | 0) >> 2] | 0) + 1 | 0; + continue label$292; + }; + } + break label$8; + case 16: + label$299 : { + label$300 : { + if (!((HEAP32[($3_1 + 1940 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$300 + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + break label$299; + } + label$301 : { + label$302 : { + if (HEAP32[($3_1 + 1940 | 0) >> 2] | 0) { + break label$302 + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + break label$301; + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + } + } + break label$8; + case 43: + case 44: + $1723_1 = 2; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $899((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0 | 0, $1723_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1708 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $899((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0 | 0, $1723_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1704 | 0) >> 2] = wasm2js_i32$1; + label$303 : { + label$304 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$304 + } + HEAP32[($3_1 + 1708 | 0) >> 2] = (HEAPU8[((Math_imul(HEAP32[($3_1 + 1708 | 0) >> 2] | 0, 3) + (HEAP32[($3_1 + 1704 | 0) >> 2] | 0) | 0) + 7640 | 0) >> 0] | 0) & 255 | 0; + break label$303; + } + HEAP32[($3_1 + 1708 | 0) >> 2] = (HEAPU8[((Math_imul(HEAP32[($3_1 + 1708 | 0) >> 2] | 0, 3) + (HEAP32[($3_1 + 1704 | 0) >> 2] | 0) | 0) + 7649 | 0) >> 0] | 0) & 255 | 0; + } + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$305 : { + label$306 : { + if (!((HEAP32[($3_1 + 1708 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$306 + } + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 1 | 0; + break label$305; + } + i64toi32_i32$4 = HEAP32[($3_1 + 1708 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$4 >> 31 | 0; + $12915 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$4 >> 2] = $12915; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$3; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 4 | 0; + } + break label$8; + case 87: + $1802_1 = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$4 = ($899((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0) ^ (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$4 >> 31 | 0; + $268($1802_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$3 | 0); + break label$8; + case 19: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + label$307 : { + label$308 : { + if (((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$308 + } + $1834_1 = 0; + $1835_1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + i64toi32_i32$4 = (($899(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, $1834_1 | 0) | 0 | 0) != ($1834_1 | 0) ^ -1 | 0) & 1 | 0; + i64toi32_i32$3 = i64toi32_i32$4 >> 31 | 0; + $268($1835_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$3 | 0); + break label$307; + } + $262(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0); + } + break label$8; + case 112: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + $262(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0); + label$309 : { + if (((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$309 + } + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + i64toi32_i32$3 = $240(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $8314$hi = i64toi32_i32$4; + i64toi32_i32$4 = -1; + $8315$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8314$hi; + i64toi32_i32$4 = $8315$hi; + i64toi32_i32$4 = $8314$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $8315$hi; + i64toi32_i32$1 = -1; + i64toi32_i32$3 = i64toi32_i32$4 ^ i64toi32_i32$3 | 0; + $13097 = i64toi32_i32$2 ^ i64toi32_i32$1 | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $13097; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + } + break label$8; + case 17: + label$310 : { + label$311 : { + if (!((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$311 + } + HEAP32[($3_1 + 1700 | 0) >> 2] = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + label$312 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1700 | 0) >> 2] | 0) >>> 3 | 0) | 0) >> 0] | 0) & 255 | 0) & (1 << ((HEAP32[($3_1 + 1700 | 0) >> 2] | 0) & 7 | 0) | 0) | 0)) { + break label$312 + } + break label$11; + } + $1911_1 = (HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1700 | 0) >> 2] | 0) >>> 3 | 0) | 0; + HEAP8[$1911_1 >> 0] = (HEAPU8[$1911_1 >> 0] | 0) & 255 | 0 | (1 << ((HEAP32[($3_1 + 1700 | 0) >> 2] | 0) & 7 | 0) | 0) | 0; + break label$310; + } + label$313 : { + if (!((HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$313 + } + break label$11; + } + } + HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$8; + case 18: + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $899((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1696 | 0) >> 2] = wasm2js_i32$1; + label$314 : { + if (!(HEAP32[($3_1 + 1696 | 0) >> 2] | 0)) { + break label$314 + } + break label$11; + } + break label$8; + case 20: + $1940_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = (($899((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0 | 0, ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($1940_1 | 0) ^ -1 | 0) & 1 | 0 | 0) | 0 | 0) != ($1940_1 | 0) ^ -1 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 1692 | 0) >> 2] = wasm2js_i32$1; + label$315 : { + if (!(HEAP32[($3_1 + 1692 | 0) >> 2] | 0)) { + break label$315 + } + break label$11; + } + break label$8; + case 50: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + label$316 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$316 + } + break label$11; + } + break label$8; + case 51: + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + label$317 : { + if (((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$317 + } + break label$11; + } + break label$8; + case 21: + label$318 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$318 + } + $262((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0 | 0); + break label$11; + } + break label$8; + case 89: + HEAP32[($3_1 + 1684 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1688 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $900($3_1 + 1684 | 0 | 0, $3_1 + 1688 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$319 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$319 + } + break label$2; + } + HEAP32[($3_1 + 1664 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1676 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + label$320 : { + label$321 : { + label$322 : { + label$323 : { + label$324 : { + label$325 : { + label$326 : { + label$327 : { + if (!((HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$327 + } + label$328 : { + label$329 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$329 + } + label$330 : { + label$331 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1684 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$331 + } + HEAP32[($3_1 + 1592 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, 40) | 0; + $2074_1 = HEAP32[((HEAP32[($3_1 + 1592 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 84 | 0) >> 2] = $2074_1; + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 80 | 0) >> 2] = $2074_1; + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1592 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$330; + } + $262(HEAP32[($3_1 + 1664 | 0) >> 2] | 0 | 0); + break label$321; + } + break label$328; + } + HEAP32[($3_1 + 1680 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $2084_1 = $821(HEAP32[($3_1 + 1680 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 80 | 0) >> 2] = $2084_1; + $2090_1 = $901(HEAP32[($3_1 + 1680 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 84 | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] = $2090_1; + label$332 : { + if (!((HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$332 + } + break label$13; + } + } + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$333 : { + label$334 : { + if (!(((HEAPU8[(HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$334 + } + HEAP32[(HEAP32[($3_1 + 1676 | 0) >> 2] | 0) >> 2] = (HEAPU8[(HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $2122_1 = 1; + break label$333; + } + $2122_1 = ($902(HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1676 | 0) >> 2] | 0 | 0) | 0) & 255 | 0; + } + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 48 | 0) >> 2] = $2122_1 & 255 | 0; + HEAP16[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 58 | 0) >> 1] = 0; + label$335 : { + label$336 : { + if (!((HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0) >>> 0 < (HEAP32[(HEAP32[($3_1 + 1676 | 0) >> 2] | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$336 + } + $2145_1 = 0; + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] = $2145_1; + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 84 | 0) >> 2] = $2145_1; + label$337 : { + label$338 : { + if ((HEAP32[(HEAP32[($3_1 + 1676 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > 98307 >>> 0 & 1 | 0) { + break label$338 + } + if (!((HEAP32[(HEAP32[($3_1 + 1676 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$337 + } + } + break label$320; + } + break label$335; + } + HEAP32[($3_1 + 1620 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + break label$326; + } + } + if (!(((HEAPU16[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 58 | 0) >> 1] | 0) & 65535 | 0) >>> 0 <= (HEAP32[($3_1 + 1688 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$323 + } + if (!((HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >>> 0 < (HEAP32[(HEAP32[($3_1 + 1676 | 0) >> 2] | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$325 + } + label$339 : { + label$340 : { + if (!((HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$340 + } + $2195_1 = $3_1 + 1624 | 0; + i64toi32_i32$3 = 0; + $8317 = 0; + i64toi32_i32$2 = $2195_1; + HEAP32[i64toi32_i32$2 >> 2] = $8317; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = i64toi32_i32$2 + 32 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $8317; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $2195_1 + 24 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $8317; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $2195_1 + 16 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $8317; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $2195_1 + 8 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $8317; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $903(HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($3_1 + 1676 | 0) >> 2] | 0) >> 2] | 0 | 0, $2195_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$341 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$341 + } + break label$2; + } + HEAP32[($3_1 + 1620 | 0) >> 2] = HEAP32[($3_1 + 1640 | 0) >> 2] | 0; + break label$339; + } + HEAP32[($3_1 + 1620 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + } + } + HEAP32[($3_1 + 1668 | 0) >> 2] = (HEAPU16[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 58 | 0) >> 1] | 0) & 65535 | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1600 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1676 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1668 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1604 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($3_1 + 1616 | 0) >> 2] = (HEAP32[($3_1 + 1620 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 1612 | 0) >> 2] = (HEAP32[($3_1 + 1620 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($3_1 + 1676 | 0) >> 2] | 0) >> 2] | 0) | 0; + label$342 : while (1) { + $2236_1 = (HEAPU8[(HEAP32[($3_1 + 1616 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($3_1 + 1596 | 0) >> 2] = $2236_1; + HEAP32[(((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 88 | 0) + ((HEAP32[($3_1 + 1668 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $2236_1; + label$343 : { + label$344 : { + if (!($2236_1 >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$344 + } + HEAP32[($3_1 + 1616 | 0) >> 2] = (HEAP32[($3_1 + 1616 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$3 = 0; + $8319 = ($904((HEAP32[($3_1 + 1596 | 0) >> 2] | 0) & 255 | 0 | 0) | 0) & 255 | 0; + $8319$hi = i64toi32_i32$3; + i64toi32_i32$4 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1600 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1604 | 0) >> 2] | 0; + $13922$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8319$hi; + i64toi32_i32$2 = $13922$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$3 = $8319$hi; + i64toi32_i32$1 = $8319; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$4 = $3_1; + HEAP32[($3_1 + 1600 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($3_1 + 1604 | 0) >> 2] = i64toi32_i32$0; + break label$343; + } + $2264_1 = ($902(HEAP32[($3_1 + 1616 | 0) >> 2] | 0 | 0, $3_1 + 1596 | 0 | 0) | 0) & 255 | 0; + HEAP32[($3_1 + 1616 | 0) >> 2] = (HEAP32[($3_1 + 1616 | 0) >> 2] | 0) + $2264_1 | 0; + HEAP32[(((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 88 | 0) + ((HEAP32[($3_1 + 1668 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($3_1 + 1596 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $8322 = $378(HEAP32[($3_1 + 1596 | 0) >> 2] | 0 | 0) | 0; + $8322$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1600 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1604 | 0) >> 2] | 0; + $13972$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8322$hi; + i64toi32_i32$4 = $13972$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $8322$hi; + i64toi32_i32$1 = $8322; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1600 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($3_1 + 1604 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$4 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1600 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1604 | 0) >> 2] | 0; + $8325$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $8326$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8325$hi; + i64toi32_i32$2 = $8326$hi; + i64toi32_i32$2 = $8325$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$5 = $8326$hi; + i64toi32_i32$1 = -1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $2279_1 = HEAP32[($3_1 + 1676 | 0) >> 2] | 0; + $2282_1 = (HEAP32[($3_1 + 1668 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 1668 | 0) >> 2] = $2282_1; + HEAP32[($2279_1 + ($2282_1 << 2 | 0) | 0) >> 2] = i64toi32_i32$4 & i64toi32_i32$1 | 0; + $2294_1 = 0; + label$345 : { + if (!((HEAP32[($3_1 + 1668 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($3_1 + 1688 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$345 + } + $2294_1 = (HEAP32[($3_1 + 1616 | 0) >> 2] | 0) >>> 0 < (HEAP32[($3_1 + 1612 | 0) >> 2] | 0) >>> 0; + } + if ($2294_1 & 1 | 0) { + continue label$342 + } + break label$342; + }; + label$346 : { + label$347 : { + label$348 : { + if (!((HEAP32[($3_1 + 1616 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($3_1 + 1612 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$348 + } + if ((HEAP32[($3_1 + 1616 | 0) >> 2] | 0) >>> 0 > (HEAP32[($3_1 + 1612 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$347 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1600 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1604 | 0) >> 2] | 0; + $8328$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $8329$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8328$hi; + i64toi32_i32$4 = $8329$hi; + i64toi32_i32$4 = $8328$hi; + i64toi32_i32$4 = $8329$hi; + i64toi32_i32$4 = $8328$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $8329$hi; + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + if (((i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$4 | 0) != (i64toi32_i32$5 | 0) | 0) & 1 | 0) { + break label$347 + } + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1600 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1604 | 0) >> 2] | 0; + $8332$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $8333$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8332$hi; + i64toi32_i32$4 = $8333$hi; + i64toi32_i32$4 = $8332$hi; + i64toi32_i32$4 = $8333$hi; + i64toi32_i32$4 = $8332$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $8333$hi; + i64toi32_i32$5 = HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + if (!((i64toi32_i32$4 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$5 >>> 0 | 0) | 0) & 1 | 0)) { + break label$346 + } + } + label$349 : { + label$350 : { + if (HEAP32[(HEAP32[($3_1 + 1676 | 0) >> 2] | 0) >> 2] | 0) { + break label$350 + } + HEAP32[($3_1 + 1668 | 0) >> 2] = 0; + HEAP32[($3_1 + 1616 | 0) >> 2] = HEAP32[($3_1 + 1612 | 0) >> 2] | 0; + break label$349; + } + label$351 : { + if (!((HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$351 + } + $227($3_1 + 1624 | 0 | 0); + } + break label$320; + } + } + HEAP16[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 58 | 0) >> 1] = HEAP32[($3_1 + 1668 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 48 | 0) >> 2] = (HEAP32[($3_1 + 1616 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1620 | 0) >> 2] | 0) | 0; + label$352 : { + if (!((HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$352 + } + $227($3_1 + 1624 | 0 | 0); + } + break label$324; + } + HEAP32[($3_1 + 1596 | 0) >> 2] = 0; + } + label$353 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 58 | 0) >> 1] | 0) & 65535 | 0) >>> 0 <= (HEAP32[($3_1 + 1688 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$353 + } + $2375_1 = 24; + label$354 : { + label$355 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $2375_1 | 0) >> $2375_1 | 0 | 0) == (-11 | 0) & 1 | 0)) { + break label$355 + } + $889(HEAP32[($3_1 + 1664 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 2048 | 0); + break label$354; + } + $262(HEAP32[($3_1 + 1664 | 0) >> 2] | 0 | 0); + } + break label$321; + } + break label$322; + } + HEAP32[($3_1 + 1596 | 0) >> 2] = HEAP32[(((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 88 | 0) + ((HEAP32[($3_1 + 1688 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + label$356 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0)) { + break label$356 + } + $262(HEAP32[($3_1 + 1664 | 0) >> 2] | 0 | 0); + } + label$357 : { + label$358 : { + if (!((HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($3_1 + 1676 | 0) >> 2] | 0) + (((HEAP32[($3_1 + 1688 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$358 + } + HEAP32[($3_1 + 1620 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 1676 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1688 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + label$359 : { + label$360 : { + if (!((HEAP32[($3_1 + 1596 | 0) >> 2] | 0) >>> 0 < 12 >>> 0 & 1 | 0)) { + break label$360 + } + $905(HEAP32[($3_1 + 1620 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1596 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1664 | 0) >> 2] | 0 | 0) | 0; + break label$359; + } + $2441_1 = ((HEAP32[($3_1 + 1596 | 0) >> 2] | 0) - 12 | 0) >>> 1 | 0; + HEAP32[($3_1 + 1672 | 0) >> 2] = $2441_1; + HEAP32[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 12 | 0) >> 2] = $2441_1; + HEAP8[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[($3_1 + 1946 | 0) >> 0] | 0; + label$361 : { + label$362 : { + if (!((HEAP32[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) < ((HEAP32[($3_1 + 1672 | 0) >> 2] | 0) + 2 | 0 | 0) & 1 | 0)) { + break label$362 + } + HEAP16[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + label$363 : { + if (!($231(HEAP32[($3_1 + 1664 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 1672 | 0) >> 2] | 0) + 2 | 0 | 0, 0 | 0) | 0)) { + break label$363 + } + break label$3; + } + break label$361; + } + HEAP32[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + $2467_1 = 0; + $3288(HEAP32[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1620 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1672 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($3_1 + 1672 | 0) >> 2] | 0) | 0) >> 0] = $2467_1; + HEAP8[((HEAP32[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1672 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = $2467_1; + HEAP16[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[(7658 + (((HEAP32[($3_1 + 1596 | 0) >> 2] | 0) & 1 | 0) << 1 | 0) | 0) >> 1] | 0; + } + break label$357; + } + HEAP8[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[($3_1 + 1946 | 0) >> 0] | 0; + label$364 : { + label$365 : { + label$366 : { + label$367 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 192 | 0)) { + break label$367 + } + label$368 : { + if (!((HEAP32[($3_1 + 1596 | 0) >> 2] | 0) >>> 0 >= 12 >>> 0 & 1 | 0)) { + break label$368 + } + if (!((HEAP32[($3_1 + 1596 | 0) >> 2] | 0) & 1 | 0)) { + break label$366 + } + } + if (((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0) { + break label$366 + } + } + $2515_1 = $378(HEAP32[($3_1 + 1596 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 1672 | 0) >> 2] = $2515_1; + if ($2515_1) { + break label$365 + } + } + $905(2e3 | 0, HEAP32[($3_1 + 1596 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1664 | 0) >> 2] | 0 | 0) | 0; + break label$364; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $906(HEAP32[((HEAP32[($3_1 + 1684 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1676 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1688 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1672 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1664 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$369 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$369 + } + break label$2; + } + $905(HEAP32[((HEAP32[($3_1 + 1664 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1596 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1664 | 0) >> 2] | 0 | 0) | 0; + $2535_1 = HEAP32[($3_1 + 1664 | 0) >> 2] | 0; + HEAP16[($2535_1 + 8 | 0) >> 1] = ((HEAPU16[($2535_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -4097 | 0; + } + } + } + break label$8; + } + label$370 : { + if (!((HEAP32[((HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$370 + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(88437 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + break label$2; + case 90: + HEAP32[($3_1 + 1588 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + label$371 : while (1) { + $2572_1 = 24; + $895(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, ((HEAPU8[(HEAP32[($3_1 + 1588 | 0) >> 2] | 0) >> 0] | 0) << $2572_1 | 0) >> $2572_1 | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0); + $2579_1 = 24; + label$372 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 1588 | 0) >> 2] | 0) >> 0] | 0) << $2579_1 | 0) >> $2579_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$372 + } + if (!(((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0)) { + break label$372 + } + i64toi32_i32$1 = 32767; + $8336$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $8338$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8336$hi; + i64toi32_i32$4 = $8338$hi; + i64toi32_i32$4 = $8336$hi; + i64toi32_i32$4 = $8338$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $8336$hi; + i64toi32_i32$2 = -1; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$1 | 0)) { + $620_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$5 >>> 0 > i64toi32_i32$2 >>> 0) { + $621_1 = 0 + } else { + $621_1 = 1 + } + $622_1 = $621_1; + } else { + $622_1 = 0 + } + $620_1 = $622_1; + } + label$373 : { + label$374 : { + if (!($620_1 & 1 | 0)) { + break label$374 + } + i64toi32_i32$5 = -32768; + $8340$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $8342$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8340$hi; + i64toi32_i32$4 = $8342$hi; + i64toi32_i32$4 = $8340$hi; + i64toi32_i32$4 = $8342$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $8340$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$5 | 0)) { + $623_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + $624_1 = 0 + } else { + $624_1 = 1 + } + $625_1 = $624_1; + } else { + $625_1 = 0 + } + $623_1 = $625_1; + } + if (!($623_1 & 1 | 0)) { + break label$374 + } + $2601_1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + HEAP16[($2601_1 + 8 | 0) >> 1] = (HEAPU16[($2601_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 32 | 0; + $2607_1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + HEAP16[($2607_1 + 8 | 0) >> 1] = ((HEAPU16[($2607_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -5 | 0; + break label$373; + } + i64toi32_i32$1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + HEAPF64[(HEAP32[($3_1 + 1920 | 0) >> 2] | 0) >> 3] = +(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$4 | 0); + $2615_1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + HEAP16[($2615_1 + 8 | 0) >> 1] = (HEAPU16[($2615_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + $2621_1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + HEAP16[($2621_1 + 8 | 0) >> 1] = ((HEAPU16[($2621_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -5 | 0; + } + } + HEAP32[($3_1 + 1588 | 0) >> 2] = (HEAP32[($3_1 + 1588 | 0) >> 2] | 0) + 1 | 0; + $2632_1 = 24; + label$375 : { + label$376 : { + if (((HEAPU8[(HEAP32[($3_1 + 1588 | 0) >> 2] | 0) >> 0] | 0) << $2632_1 | 0) >> $2632_1 | 0) { + break label$376 + } + break label$375; + } + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 40 | 0; + continue label$371; + } + break label$371; + }; + break label$8; + case 91: + $2638_1 = 0; + i64toi32_i32$4 = 0; + $8345 = 0; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1576 | 0) >> 2] = $8345; + HEAP32[($3_1 + 1580 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 1572 | 0) >> 2] = $2638_1; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1552 | 0) >> 2] = $8345; + HEAP32[($3_1 + 1556 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 1532 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1528 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1540 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1532 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1532 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 1536 | 0) >> 2] = (HEAP32[($3_1 + 1540 | 0) >> 2] | 0) + Math_imul((HEAP32[($3_1 + 1532 | 0) >> 2] | 0) - 1 | 0, 40) | 0; + HEAP32[($3_1 + 1524 | 0) >> 2] = (HEAPU8[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 147 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$377 : { + if (!((HEAP32[($3_1 + 1528 | 0) >> 2] | 0 | 0) != ($2638_1 | 0) & 1 | 0)) { + break label$377 + } + HEAP32[($3_1 + 1584 | 0) >> 2] = HEAP32[($3_1 + 1540 | 0) >> 2] | 0; + label$378 : while (1) { + $2679_1 = 24; + $895(HEAP32[($3_1 + 1584 | 0) >> 2] | 0 | 0, ((HEAPU8[(HEAP32[($3_1 + 1528 | 0) >> 2] | 0) >> 0] | 0) << $2679_1 | 0) >> $2679_1 | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0); + $2686_1 = 24; + label$379 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 1528 | 0) >> 2] | 0) >> 0] | 0) << $2686_1 | 0) >> $2686_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$379 + } + if (!(((HEAPU16[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0)) { + break label$379 + } + $2700_1 = HEAP32[($3_1 + 1584 | 0) >> 2] | 0; + HEAP16[($2700_1 + 8 | 0) >> 1] = (HEAPU16[($2700_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 32 | 0; + $2706_1 = HEAP32[($3_1 + 1584 | 0) >> 2] | 0; + HEAP16[($2706_1 + 8 | 0) >> 1] = ((HEAPU16[($2706_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -5 | 0; + } + HEAP32[($3_1 + 1528 | 0) >> 2] = (HEAP32[($3_1 + 1528 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 1584 | 0) >> 2] = (HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 40 | 0; + if (((HEAPU8[(HEAP32[($3_1 + 1528 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + continue label$378 + } + break label$378; + }; + } + HEAP32[($3_1 + 1584 | 0) >> 2] = HEAP32[($3_1 + 1536 | 0) >> 2] | 0; + label$380 : while (1) { + label$381 : { + label$382 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$382 + } + label$383 : { + label$384 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$384 + } + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = 10; + break label$383; + } + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + } + HEAP32[($3_1 + 1572 | 0) >> 2] = (HEAP32[($3_1 + 1572 | 0) >> 2] | 0) + 1 | 0; + break label$381; + } + label$385 : { + label$386 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 36 | 0)) { + break label$386 + } + i64toi32_i32$4 = 0; + $8346$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[($3_1 + 1584 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $15029 = i64toi32_i32$4; + i64toi32_i32$4 = $3_1; + HEAP32[($3_1 + 1504 | 0) >> 2] = $15029; + HEAP32[($3_1 + 1508 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1504 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1508 | 0) >> 2] | 0; + $8349$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8346$hi; + i64toi32_i32$4 = $8349$hi; + i64toi32_i32$4 = $8346$hi; + i64toi32_i32$4 = $8349$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $8346$hi; + i64toi32_i32$5 = 0; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$2 | 0)) { + $626_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$5 >>> 0) { + $628_1 = 0 + } else { + $628_1 = 1 + } + $630_1 = $628_1; + } else { + $630_1 = 0 + } + $626_1 = $630_1; + } + label$387 : { + label$388 : { + if (!($626_1 & 1 | 0)) { + break label$388 + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1504 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1508 | 0) >> 2] | 0; + $8351$hi = i64toi32_i32$4; + i64toi32_i32$4 = -1; + $8352$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8351$hi; + i64toi32_i32$4 = $8352$hi; + i64toi32_i32$4 = $8351$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $8352$hi; + i64toi32_i32$2 = -1; + i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0; + $15048 = i64toi32_i32$5 ^ i64toi32_i32$2 | 0; + i64toi32_i32$5 = $3_1; + HEAP32[($3_1 + 1496 | 0) >> 2] = $15048; + HEAP32[($3_1 + 1500 | 0) >> 2] = i64toi32_i32$1; + break label$387; + } + i64toi32_i32$4 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1504 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1508 | 0) >> 2] | 0; + $15052 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1496 | 0) >> 2] = $15052; + HEAP32[($3_1 + 1500 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$5 = 0; + $8355$hi = i64toi32_i32$5; + HEAP32[($3_1 + 1572 | 0) >> 2] = (HEAP32[($3_1 + 1572 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$4 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1496 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1500 | 0) >> 2] | 0; + $8357$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8355$hi; + i64toi32_i32$1 = $8357$hi; + i64toi32_i32$1 = $8355$hi; + i64toi32_i32$1 = $8357$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$5 = $8355$hi; + i64toi32_i32$2 = 127; + label$389 : { + label$390 : { + if (!((i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$4 >>> 0 <= i64toi32_i32$2 >>> 0 | 0) | 0) & 1 | 0)) { + break label$390 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1504 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1508 | 0) >> 2] | 0; + $8359$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $8360$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8359$hi; + i64toi32_i32$1 = $8360$hi; + i64toi32_i32$1 = $8359$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $8360$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$4 = i64toi32_i32$1 & i64toi32_i32$4 | 0; + $8361 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $8361$hi = i64toi32_i32$4; + i64toi32_i32$1 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1504 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1508 | 0) >> 2] | 0; + $8362$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8361$hi; + i64toi32_i32$2 = $8362$hi; + i64toi32_i32$2 = $8361$hi; + i64toi32_i32$2 = $8362$hi; + $15082 = i64toi32_i32$4; + i64toi32_i32$2 = $8361$hi; + i64toi32_i32$1 = $8361; + i64toi32_i32$4 = $8362$hi; + i64toi32_i32$5 = $15082; + label$391 : { + label$392 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$392 + } + if (!((HEAP32[($3_1 + 1524 | 0) >> 2] | 0 | 0) >= (4 | 0) & 1 | 0)) { + break label$392 + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1496 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1500 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = i64toi32_i32$1 + 8 | 0; + break label$391; + } + $2778_1 = 1; + i64toi32_i32$5 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $8366$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $8367$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8366$hi; + i64toi32_i32$1 = $8367$hi; + i64toi32_i32$1 = $8366$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $8367$hi; + i64toi32_i32$4 = 1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + i64toi32_i32$5 = $3_1; + HEAP32[($3_1 + 1576 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 1580 | 0) >> 2] = i64toi32_i32$3; + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = $2778_1; + } + break label$389; + } + i64toi32_i32$3 = 0; + $8369$hi = i64toi32_i32$3; + i64toi32_i32$1 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1496 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1500 | 0) >> 2] | 0; + $8371$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8369$hi; + i64toi32_i32$5 = $8371$hi; + i64toi32_i32$5 = $8369$hi; + i64toi32_i32$5 = $8371$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $8369$hi; + i64toi32_i32$4 = 32767; + label$393 : { + label$394 : { + if (!((i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 <= i64toi32_i32$4 >>> 0 | 0) | 0) & 1 | 0)) { + break label$394 + } + $2783_1 = 2; + i64toi32_i32$4 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $8373$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $8374$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8373$hi; + i64toi32_i32$5 = $8374$hi; + i64toi32_i32$5 = $8373$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $8374$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$4 = $3_1; + HEAP32[($3_1 + 1576 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($3_1 + 1580 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = $2783_1; + break label$393; + } + i64toi32_i32$0 = 0; + $8376$hi = i64toi32_i32$0; + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1496 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1500 | 0) >> 2] | 0; + $8378$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8376$hi; + i64toi32_i32$4 = $8378$hi; + i64toi32_i32$4 = $8376$hi; + i64toi32_i32$4 = $8378$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $8376$hi; + i64toi32_i32$3 = 8388607; + label$395 : { + label$396 : { + if (!((i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$5 >>> 0 <= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$396 + } + $2788_1 = 3; + i64toi32_i32$3 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $8380$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $8381$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8380$hi; + i64toi32_i32$4 = $8381$hi; + i64toi32_i32$4 = $8380$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $8381$hi; + i64toi32_i32$0 = 3; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$3 = $3_1; + HEAP32[($3_1 + 1576 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 1580 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = $2788_1; + break label$395; + } + i64toi32_i32$2 = 0; + $8383$hi = i64toi32_i32$2; + i64toi32_i32$4 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1496 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1500 | 0) >> 2] | 0; + $8385$hi = i64toi32_i32$3; + i64toi32_i32$3 = $8383$hi; + i64toi32_i32$3 = $8385$hi; + i64toi32_i32$3 = $8383$hi; + i64toi32_i32$3 = $8385$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $8383$hi; + i64toi32_i32$0 = 2147483647; + label$397 : { + label$398 : { + if (!((i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$4 >>> 0 <= i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { + break label$398 + } + $2793_1 = 4; + i64toi32_i32$0 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $8387$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $8388$hi = i64toi32_i32$3; + i64toi32_i32$3 = $8387$hi; + i64toi32_i32$3 = $8388$hi; + i64toi32_i32$3 = $8387$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$4 = $8388$hi; + i64toi32_i32$2 = 4; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 1576 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($3_1 + 1580 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = $2793_1; + break label$397; + } + i64toi32_i32$1 = 32767; + $8390$hi = i64toi32_i32$1; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1496 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1500 | 0) >> 2] | 0; + $8392$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8390$hi; + i64toi32_i32$0 = $8392$hi; + i64toi32_i32$0 = $8390$hi; + i64toi32_i32$0 = $8392$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $8390$hi; + i64toi32_i32$2 = -1; + label$399 : { + label$400 : { + if (!((i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$3 >>> 0 <= i64toi32_i32$2 >>> 0 | 0) | 0) & 1 | 0)) { + break label$400 + } + $2798_1 = 5; + i64toi32_i32$2 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $8394$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $8395$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8394$hi; + i64toi32_i32$0 = $8395$hi; + i64toi32_i32$0 = $8394$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $8395$hi; + i64toi32_i32$1 = 6; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1576 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 1580 | 0) >> 2] = i64toi32_i32$5; + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = $2798_1; + break label$399; + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $8397$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $8398$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8397$hi; + i64toi32_i32$2 = $8398$hi; + i64toi32_i32$2 = $8397$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $8398$hi; + i64toi32_i32$1 = 8; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 1576 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($3_1 + 1580 | 0) >> 2] = i64toi32_i32$4; + label$401 : { + label$402 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$402 + } + i64toi32_i32$2 = HEAP32[($3_1 + 1584 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + HEAPF64[(HEAP32[($3_1 + 1584 | 0) >> 2] | 0) >> 3] = +(i64toi32_i32$4 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0); + $2809_1 = HEAP32[($3_1 + 1584 | 0) >> 2] | 0; + HEAP16[($2809_1 + 8 | 0) >> 1] = ((HEAPU16[($2809_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -33 | 0; + $2815_1 = HEAP32[($3_1 + 1584 | 0) >> 2] | 0; + HEAP16[($2815_1 + 8 | 0) >> 1] = (HEAPU16[($2815_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = 7; + break label$401; + } + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = 6; + } + } + } + } + } + } + break label$385; + } + label$403 : { + label$404 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$404 + } + $2830_1 = 7; + HEAP32[($3_1 + 1572 | 0) >> 2] = (HEAP32[($3_1 + 1572 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $8401$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $8402$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8401$hi; + i64toi32_i32$4 = $8402$hi; + i64toi32_i32$4 = $8401$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $8402$hi; + i64toi32_i32$1 = 8; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1576 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($3_1 + 1580 | 0) >> 2] = i64toi32_i32$3; + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = $2830_1; + break label$403; + } + HEAP32[($3_1 + 1520 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 1544 | 0) >> 2] = (((HEAP32[($3_1 + 1520 | 0) >> 2] | 0) << 1 | 0) + 12 | 0) + ((((HEAPU16[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0 | 0) != (0 | 0) & 1 | 0) | 0; + label$405 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$405 + } + i64toi32_i32$3 = 0; + $8404$hi = i64toi32_i32$3; + HEAP32[($3_1 + 1544 | 0) >> 2] = (HEAP32[($3_1 + 1544 | 0) >> 2] | 0) + ((HEAP32[(HEAP32[($3_1 + 1584 | 0) >> 2] | 0) >> 2] | 0) << 1 | 0) | 0; + i64toi32_i32$4 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $8406$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8404$hi; + i64toi32_i32$2 = $8406$hi; + i64toi32_i32$2 = $8404$hi; + i64toi32_i32$2 = $8406$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$3 = $8404$hi; + i64toi32_i32$1 = 0; + label$406 : { + label$407 : { + if (!(((i64toi32_i32$4 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$407 + } + label$408 : { + if (!($230(HEAP32[($3_1 + 1584 | 0) >> 2] | 0 | 0) | 0)) { + break label$408 + } + break label$3; + } + HEAP32[($3_1 + 1520 | 0) >> 2] = (HEAP32[($3_1 + 1520 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($3_1 + 1584 | 0) >> 2] | 0) >> 2] | 0) | 0; + break label$406; + } + i64toi32_i32$2 = HEAP32[(HEAP32[($3_1 + 1584 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 >> 31 | 0; + $8408 = i64toi32_i32$2; + $8408$hi = i64toi32_i32$4; + i64toi32_i32$1 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1552 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1556 | 0) >> 2] | 0; + $15407$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8408$hi; + i64toi32_i32$2 = $15407$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$4 = $8408$hi; + i64toi32_i32$3 = $8408; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1552 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 1556 | 0) >> 2] = i64toi32_i32$5; + } + } + i64toi32_i32$5 = 0; + $8411$hi = i64toi32_i32$5; + i64toi32_i32$2 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $15419$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8411$hi; + i64toi32_i32$1 = $15419$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $8411$hi; + i64toi32_i32$3 = HEAP32[($3_1 + 1520 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1576 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 1580 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2883_1 = $907(HEAP32[($3_1 + 1544 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($3_1 + 1572 | 0) >> 2] = (HEAP32[($3_1 + 1572 | 0) >> 2] | 0) + $2883_1 | 0; + HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($3_1 + 1544 | 0) >> 2] | 0; + } + } + } + label$409 : { + label$410 : { + if (!((HEAP32[($3_1 + 1584 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 1540 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$410 + } + break label$409; + } + HEAP32[($3_1 + 1584 | 0) >> 2] = (HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + -40 | 0; + if (1 & 1 | 0) { + continue label$380 + } + } + break label$380; + }; + label$411 : { + label$412 : { + if (!((HEAP32[($3_1 + 1572 | 0) >> 2] | 0 | 0) <= (126 | 0) & 1 | 0)) { + break label$412 + } + HEAP32[($3_1 + 1572 | 0) >> 2] = (HEAP32[($3_1 + 1572 | 0) >> 2] | 0) + 1 | 0; + break label$411; + } + i64toi32_i32$2 = HEAP32[($3_1 + 1572 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $907(i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1548 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 1572 | 0) >> 2] = (HEAP32[($3_1 + 1572 | 0) >> 2] | 0) + (HEAP32[($3_1 + 1548 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1572 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + label$413 : { + if (!((HEAP32[($3_1 + 1548 | 0) >> 2] | 0 | 0) < ($907(i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0 | 0) & 1 | 0)) { + break label$413 + } + HEAP32[($3_1 + 1572 | 0) >> 2] = (HEAP32[($3_1 + 1572 | 0) >> 2] | 0) + 1 | 0; + } + } + i64toi32_i32$2 = HEAP32[($3_1 + 1572 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $8417 = i64toi32_i32$2; + $8417$hi = i64toi32_i32$0; + i64toi32_i32$1 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1576 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1580 | 0) >> 2] | 0; + $8418$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8417$hi; + i64toi32_i32$2 = $8418$hi; + $15540 = i64toi32_i32$0; + i64toi32_i32$2 = $8417$hi; + i64toi32_i32$1 = $8417; + i64toi32_i32$0 = $8418$hi; + i64toi32_i32$3 = $15540; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1560 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($3_1 + 1564 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1560 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1564 | 0) >> 2] | 0; + $8420 = i64toi32_i32$4; + $8420$hi = i64toi32_i32$1; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1552 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1556 | 0) >> 2] | 0; + $8421$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8420$hi; + i64toi32_i32$4 = $8421$hi; + $15549 = i64toi32_i32$1; + i64toi32_i32$4 = $8420$hi; + i64toi32_i32$2 = $8420; + i64toi32_i32$1 = $8421$hi; + i64toi32_i32$3 = $15549; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $8422$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $8423$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8422$hi; + i64toi32_i32$5 = $8423$hi; + i64toi32_i32$5 = $8422$hi; + i64toi32_i32$5 = $8423$hi; + $15561 = i64toi32_i32$2; + i64toi32_i32$5 = $8422$hi; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$2 = $8423$hi; + i64toi32_i32$3 = $15561; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$2 | 0)) { + $631_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$4 >>> 0 > i64toi32_i32$3 >>> 0) { + $632_1 = 0 + } else { + $632_1 = 1 + } + $633_1 = $632_1; + } else { + $633_1 = 0 + } + $631_1 = $633_1; + } + label$414 : { + label$415 : { + if (!($631_1 & 1 | 0)) { + break label$415 + } + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + break label$414; + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1560 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1564 | 0) >> 2] | 0; + $8426 = i64toi32_i32$4; + $8426$hi = i64toi32_i32$5; + i64toi32_i32$3 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1552 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1556 | 0) >> 2] | 0; + $8427$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8426$hi; + i64toi32_i32$4 = $8427$hi; + $15581 = i64toi32_i32$5; + i64toi32_i32$4 = $8426$hi; + i64toi32_i32$3 = $8426; + i64toi32_i32$5 = $8427$hi; + i64toi32_i32$2 = $15581; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $8428$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$3 >> 31 | 0; + $8429$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8428$hi; + i64toi32_i32$0 = $8429$hi; + i64toi32_i32$0 = $8428$hi; + i64toi32_i32$0 = $8429$hi; + $15593 = i64toi32_i32$3; + i64toi32_i32$0 = $8428$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$3 = $8429$hi; + i64toi32_i32$2 = $15593; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$3 | 0)) { + $634_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$4 >>> 0 <= i64toi32_i32$2 >>> 0) { + $635_1 = 0 + } else { + $635_1 = 1 + } + $636_1 = $635_1; + } else { + $636_1 = 0 + } + $634_1 = $636_1; + } + label$416 : { + if (!($634_1 & 1 | 0)) { + break label$416 + } + break label$13; + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1560 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1564 | 0) >> 2] | 0; + label$417 : { + if (!($265(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0) | 0)) { + break label$417 + } + break label$3; + } + } + i64toi32_i32$0 = 0; + $8433$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1560 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1564 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 16; + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1552 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1556 | 0) >> 2] | 0; + $8436$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8433$hi; + i64toi32_i32$0 = $8436$hi; + i64toi32_i32$0 = $8433$hi; + i64toi32_i32$0 = $8436$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $8433$hi; + i64toi32_i32$3 = 0; + label$418 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$418 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1552 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1556 | 0) >> 2] | 0; + HEAP32[(HEAP32[($3_1 + 1908 | 0) >> 2] | 0) >> 2] = i64toi32_i32$2; + $2958_1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP16[($2958_1 + 8 | 0) >> 1] = (HEAPU16[($2958_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 16384 | 0; + } + HEAP32[($3_1 + 1516 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1512 | 0) >> 2] = (HEAP32[($3_1 + 1516 | 0) >> 2] | 0) + (HEAP32[($3_1 + 1572 | 0) >> 2] | 0) | 0; + label$419 : { + label$420 : { + if (!((HEAP32[($3_1 + 1572 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$420 + } + HEAP8[(HEAP32[($3_1 + 1516 | 0) >> 2] | 0) >> 0] = HEAP32[($3_1 + 1572 | 0) >> 2] | 0; + $2979_1 = 1; + break label$419; + } + i64toi32_i32$2 = HEAP32[($3_1 + 1572 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $2979_1 = $908(HEAP32[($3_1 + 1516 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0; + } + HEAP32[($3_1 + 1516 | 0) >> 2] = (HEAP32[($3_1 + 1516 | 0) >> 2] | 0) + ($2979_1 & 255 | 0) | 0; + HEAP32[($3_1 + 1584 | 0) >> 2] = HEAP32[($3_1 + 1540 | 0) >> 2] | 0; + label$421 : while (1) { + HEAP32[($3_1 + 1544 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$422 : { + label$423 : { + if (!((HEAP32[($3_1 + 1544 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$423 + } + HEAP8[(HEAP32[($3_1 + 1516 | 0) >> 2] | 0) >> 0] = HEAP32[($3_1 + 1544 | 0) >> 2] | 0; + $3002_1 = 1; + break label$422; + } + i64toi32_i32$0 = 0; + $3002_1 = $908(HEAP32[($3_1 + 1516 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1544 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + } + HEAP32[($3_1 + 1516 | 0) >> 2] = (HEAP32[($3_1 + 1516 | 0) >> 2] | 0) + ($3002_1 & 255 | 0) | 0; + $3015_1 = $909(HEAP32[($3_1 + 1512 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1584 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1544 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 1512 | 0) >> 2] = (HEAP32[($3_1 + 1512 | 0) >> 2] | 0) + $3015_1 | 0; + $3020_1 = (HEAP32[($3_1 + 1584 | 0) >> 2] | 0) + 40 | 0; + HEAP32[($3_1 + 1584 | 0) >> 2] = $3020_1; + if ($3020_1 >>> 0 <= (HEAP32[($3_1 + 1536 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + continue label$421 + } + break label$421; + }; + break label$8; + case 92: + HEAP32[($3_1 + 1484 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$424 : { + label$425 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$425 + } + i64toi32_i32$0 = $910(HEAP32[($3_1 + 1484 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $15828 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 1488 | 0) >> 2] = $15828; + HEAP32[($3_1 + 1492 | 0) >> 2] = i64toi32_i32$2; + break label$424; + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 1488 | 0) >> 2] = 0; + HEAP32[($3_1 + 1492 | 0) >> 2] = i64toi32_i32$2; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $911(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1484 | 0) >> 2] | 0 | 0, $3_1 + 1488 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$426 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$426 + } + break label$2; + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1488 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1492 | 0) >> 2] | 0; + $15863 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $15863; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$9; + case 0: + HEAP32[($3_1 + 1480 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1476 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$427 : { + label$428 : { + if (HEAP32[($3_1 + 1480 | 0) >> 2] | 0) { + break label$428 + } + label$429 : { + label$430 : { + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 180 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$430 + } + $852(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, 7662 | 0, 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = 5; + break label$429; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $68(HEAP32[($3_1 + 1476 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1472 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $873(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 460 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 456 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$431 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$431 + } + break label$2; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $365(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, ((HEAP32[($3_1 + 1472 | 0) >> 2] | 0) + 32 | 0) + 1 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1468 | 0) >> 2] = wasm2js_i32$1; + label$432 : { + if (!((HEAP32[($3_1 + 1468 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$432 + } + HEAP32[(HEAP32[($3_1 + 1468 | 0) >> 2] | 0) >> 2] = (HEAP32[($3_1 + 1468 | 0) >> 2] | 0) + 32 | 0; + $3288(HEAP32[(HEAP32[($3_1 + 1468 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1476 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 1472 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + label$433 : { + label$434 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$434 + } + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] = 0; + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 87 | 0) >> 0] = 1; + break label$433; + } + $3117_1 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($3117_1 + 456 | 0) >> 2] = (HEAP32[($3117_1 + 456 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[((HEAP32[($3_1 + 1468 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 444 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 444 | 0) >> 2] = HEAP32[($3_1 + 1468 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 464 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 468 | 0) >> 2] | 0; + $16039 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 1468 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $16039; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 472 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 476 | 0) >> 2] | 0; + $16047 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1468 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = $16047; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$0; + } + } + break label$427; + } + HEAP32[($3_1 + 1456 | 0) >> 2] = 0; + HEAP32[($3_1 + 1464 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 444 | 0) >> 2] | 0; + label$435 : while (1) { + $3141_1 = 0; + label$436 : { + if (!((HEAP32[($3_1 + 1464 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$436 + } + $3141_1 = ($88(HEAP32[(HEAP32[($3_1 + 1464 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1476 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + label$437 : { + if (!($3141_1 & 1 | 0)) { + break label$437 + } + HEAP32[($3_1 + 1456 | 0) >> 2] = (HEAP32[($3_1 + 1456 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 1464 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1464 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$435; + } + break label$435; + }; + label$438 : { + label$439 : { + if ((HEAP32[($3_1 + 1464 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$439 + } + $3165_1 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($3_1 + 96 | 0) >> 2] = HEAP32[($3_1 + 1476 | 0) >> 2] | 0; + $852($3165_1 | 0, 7713 | 0, $3_1 + 96 | 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = 1; + break label$438; + } + label$440 : { + label$441 : { + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 180 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$441 + } + if (!((HEAP32[($3_1 + 1480 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$441 + } + $852(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, 7735 | 0, 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = 5; + break label$440; + } + $3199_1 = 0; + label$442 : { + if (!((HEAP32[((HEAP32[($3_1 + 1464 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$442 + } + $3199_1 = ((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 87 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + HEAP32[($3_1 + 1448 | 0) >> 2] = $3199_1 & 1 | 0; + label$443 : { + label$444 : { + if (!(HEAP32[($3_1 + 1448 | 0) >> 2] | 0)) { + break label$444 + } + if (!((HEAP32[($3_1 + 1480 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$444 + } + $3221_1 = $844(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[($3_1 + 1952 | 0) >> 2] = $3221_1; + label$445 : { + if (!$3221_1) { + break label$445 + } + break label$1; + } + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] = 1; + label$446 : { + if (!(($224(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$446 + } + $3232_1 = 5; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 36 | 0) >> 2] = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] = 0; + HEAP32[($3_1 + 1952 | 0) >> 2] = $3232_1; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] = $3232_1; + break label$1; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$447 : { + label$448 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$448 + } + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] = 0; + break label$447; + } + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 87 | 0) >> 0] = 0; + } + break label$443; + } + HEAP32[($3_1 + 1456 | 0) >> 2] = ((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 456 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1456 | 0) >> 2] | 0) | 0) - 1 | 0; + label$449 : { + label$450 : { + if (!((HEAP32[($3_1 + 1480 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$450 + } + $3262_1 = 0; + HEAP32[($3_1 + 1444 | 0) >> 2] = ((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 1 | 0 | 0) != ($3262_1 | 0) & 1 | 0; + HEAP32[($3_1 + 1452 | 0) >> 2] = $3262_1; + label$451 : { + label$452 : while (1) { + if (!((HEAP32[($3_1 + 1452 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$451 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $199(HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1452 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, 516 | 0, (HEAP32[($3_1 + 1444 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$453 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$453 + } + break label$2; + } + HEAP32[($3_1 + 1452 | 0) >> 2] = (HEAP32[($3_1 + 1452 | 0) >> 2] | 0) + 1 | 0; + continue label$452; + }; + } + break label$449; + } + HEAP32[($3_1 + 1444 | 0) >> 2] = 0; + } + HEAP32[($3_1 + 1452 | 0) >> 2] = 0; + label$454 : { + label$455 : while (1) { + if (!((HEAP32[($3_1 + 1452 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$454 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $872(HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1452 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1480 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1456 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$456 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$456 + } + break label$2; + } + HEAP32[($3_1 + 1452 | 0) >> 2] = (HEAP32[($3_1 + 1452 | 0) >> 2] | 0) + 1 | 0; + continue label$455; + }; + } + label$457 : { + if (!(HEAP32[($3_1 + 1444 | 0) >> 2] | 0)) { + break label$457 + } + $395(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, 0 | 0); + $141(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0); + $3328_1 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($3328_1 + 24 | 0) >> 2] = HEAP32[($3328_1 + 24 | 0) >> 2] | 0 | 1 | 0; + } + } + label$458 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$458 + } + break label$2; + } + label$459 : { + label$460 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 444 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 1464 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$459 + } + HEAP32[($3_1 + 1460 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 444 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 444 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1460 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $13(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1460 | 0) >> 2] | 0 | 0); + $3348 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($3348 + 456 | 0) >> 2] = (HEAP32[($3348 + 456 | 0) >> 2] | 0) + -1 | 0; + continue label$460; + }; + } + label$461 : { + label$462 : { + if (!((HEAP32[($3_1 + 1480 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$462 + } + HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 444 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1464 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $13(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1464 | 0) >> 2] | 0 | 0); + label$463 : { + if (HEAP32[($3_1 + 1448 | 0) >> 2] | 0) { + break label$463 + } + $3365 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($3365 + 456 | 0) >> 2] = (HEAP32[($3365 + 456 | 0) >> 2] | 0) + -1 | 0; + } + break label$461; + } + i64toi32_i32$3 = HEAP32[($3_1 + 1464 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $16551 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 464 | 0) >> 2] = $16551; + HEAP32[(i64toi32_i32$0 + 468 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($3_1 + 1464 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $16559 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 472 | 0) >> 2] = $16559; + HEAP32[(i64toi32_i32$2 + 476 | 0) >> 2] = i64toi32_i32$0; + } + label$464 : { + label$465 : { + if (!(HEAP32[($3_1 + 1448 | 0) >> 2] | 0)) { + break label$465 + } + if (!((HEAP32[($3_1 + 1480 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$464 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $873(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1480 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1456 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$466 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$466 + } + break label$2; + } + } + } + } + } + label$467 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$467 + } + break label$2; + } + break label$8; + case 1: + HEAP32[($3_1 + 1440 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1436 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$468 : { + if (!((HEAP32[($3_1 + 1440 | 0) >> 2] | 0 | 0) != ((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$468 + } + label$469 : { + label$470 : { + if (!(HEAP32[($3_1 + 1436 | 0) >> 2] | 0)) { + break label$470 + } + $205(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, 516 | 0); + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] = 1; + break label$469; + } + label$471 : { + if (!(HEAP32[($3_1 + 1440 | 0) >> 2] | 0)) { + break label$471 + } + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 180 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$471 + } + $852(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, 7789 | 0, 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = 5; + break label$2; + } + $3421 = $844(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[($3_1 + 1952 | 0) >> 2] = $3421; + label$472 : { + if (!$3421) { + break label$472 + } + break label$1; + } + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] = HEAP32[($3_1 + 1440 | 0) >> 2] | 0; + } + label$473 : { + if (!(($224(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$473 + } + $3432 = 5; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 36 | 0) >> 2] = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] = 1 - (HEAP32[($3_1 + 1440 | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 1952 | 0) >> 2] = $3432; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] = $3432; + break label$1; + } + $206(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0); + label$474 : { + label$475 : { + if (HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$475 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 101; + break label$474; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 1; + } + break label$1; + } + $3449 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + label$476 : { + label$477 : { + if (HEAP32[($3_1 + 1440 | 0) >> 2] | 0) { + break label$477 + } + $3452 = 7844; + break label$476; + } + $3452 = HEAP32[($3_1 + 1436 | 0) >> 2] | 0 ? 7892 : 7935; + } + $852($3449 | 0, $3452 | 0, 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = 1; + break label$2; + case 2: + HEAP32[($3_1 + 1428 | 0) >> 2] = 0; + label$478 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$478 + } + i64toi32_i32$0 = 0; + $8449$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $8450$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $8451$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8450$hi; + i64toi32_i32$2 = $8451$hi; + i64toi32_i32$2 = $8450$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $8451$hi; + i64toi32_i32$4 = 1048576; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $8453$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8449$hi; + i64toi32_i32$0 = $8453$hi; + i64toi32_i32$0 = $8449$hi; + i64toi32_i32$0 = $8453$hi; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$4 | 0; + i64toi32_i32$3 = $8449$hi; + i64toi32_i32$4 = 0; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$4 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$478 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 8; + break label$2; + } + HEAP32[($3_1 + 1432 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$479 : { + if (!((HEAP32[($3_1 + 1432 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$479 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $129(HEAP32[($3_1 + 1432 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $3_1 + 1428 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$480 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$480 + } + label$481 : { + if (!(((HEAP32[($3_1 + 1952 | 0) >> 2] | 0) & 255 | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$481 + } + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 36 | 0) >> 2] = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($3_1 + 1952 | 0) >> 2] | 0; + break label$1; + } + break label$2; + } + label$482 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) >>> 6 | 0) & 1 | 0) & 65535 | 0)) { + break label$482 + } + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$482 + } + label$483 : { + if (!((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0)) { + break label$483 + } + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 176 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$482 + } + } + label$484 : { + if (HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) { + break label$484 + } + $3532 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($3532 + 460 | 0) >> 2] = (HEAP32[($3532 + 460 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 48 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 456 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 460 | 0) >> 2] | 0) | 0; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $873(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$485 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$485 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $912(HEAP32[($3_1 + 1432 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$4 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 464 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 468 | 0) >> 2] | 0; + $16974 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = $16974; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$4 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 472 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 476 | 0) >> 2] | 0; + $16982 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 80 | 0) >> 2] = $16982; + HEAP32[(i64toi32_i32$0 + 84 | 0) >> 2] = i64toi32_i32$2; + } + } + label$486 : { + if (!((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0)) { + break label$486 + } + label$487 : { + if ((HEAP32[($3_1 + 1428 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$487 + } + if (!((HEAP32[((HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$486 + } + } + $13(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0); + $3591 = $291(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, 7976 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0) >> 2] = $3591; + label$488 : { + if (!((HEAP32[(HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 1428 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$488 + } + $407(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + $3612 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP16[($3612 + 150 | 0) >> 1] = (HEAPU16[($3612 + 150 | 0) >> 1] | 0) & -4 | 0 | 1 | 0; + HEAP32[($3_1 + 1952 | 0) >> 2] = 17; + } + label$489 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$489 + } + break label$2; + } + break label$8; + case 93: + HEAP32[($3_1 + 1420 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1416 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $913(HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1420 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1416 | 0) >> 2] | 0 | 0, $3_1 + 1424 | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = HEAP32[($3_1 + 1424 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $17164 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $17164; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + break label$8; + case 94: + HEAP32[($3_1 + 1412 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $140(HEAP32[((HEAP32[($3_1 + 1412 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$490 : { + label$491 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$491 + } + HEAP32[(HEAP32[((HEAP32[($3_1 + 1412 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - ((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) | 0; + $3671 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($3671 + 24 | 0) >> 2] = HEAP32[($3671 + 24 | 0) >> 2] | 0 | 1 | 0; + break label$490; + } + label$492 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$492 + } + HEAP8[((HEAP32[((HEAP32[($3_1 + 1412 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 76 | 0) >> 0] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + } + label$493 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$493 + } + $395(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, 0 | 0); + $3697 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP16[($3697 + 150 | 0) >> 1] = (HEAPU16[($3697 + 150 | 0) >> 1] | 0) & -4 | 0; + } + label$494 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$494 + } + break label$2; + } + break label$8; + case 95: + HEAP32[($3_1 + 1384 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$495 : { + if (!((HEAP32[($3_1 + 1384 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$495 + } + if (!((HEAP32[((HEAP32[($3_1 + 1384 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$495 + } + break label$101; + } + break; + case 98: + break label$100; + case 96: + case 97: + break label$102; + case 62: + case 171: + break label$16; + case 63: + case 64: + break label$17; + case 170: + break label$18; + case 169: + break label$19; + case 10: + break label$20; + case 168: + break label$21; + case 61: + break label$22; + case 167: + break label$23; + case 9: + break label$24; + case 166: + break label$25; + case 165: + break label$26; + case 164: + break label$27; + case 163: + break label$28; + case 162: + break label$29; + case 161: + break label$30; + case 160: + break label$31; + case 159: + break label$32; + case 60: + break label$33; + case 8: + break label$34; + case 7: + break label$35; + case 6: + break label$36; + case 157: + case 158: + break label$37; + case 156: + break label$38; + case 154: + case 155: + break label$39; + case 59: + break label$40; + case 49: + break label$41; + case 153: + break label$42; + case 48: + break label$43; + case 152: + break label$44; + case 47: + break label$45; + case 151: + break label$46; + case 149: + break label$47; + case 46: + break label$48; + case 45: + break label$49; + case 42: + break label$50; + case 148: + break label$51; + case 147: + break label$52; + case 146: + break label$53; + case 145: + break label$54; + case 144: + break label$55; + case 143: + break label$56; + case 142: + break label$57; + case 141: + break label$58; + case 140: + break label$59; + case 139: + break label$60; + case 138: + break label$61; + case 137: + break label$62; + case 38: + case 39: + case 40: + case 41: + break label$63; + case 136: + break label$64; + case 134: + case 135: + break label$65; + case 133: + break label$66; + case 132: + break label$67; + case 131: + break label$68; + case 4: + case 5: + break label$70; + case 3: + break label$71; + case 37: + break label$72; + case 35: + case 36: + break label$73; + case 34: + break label$74; + case 33: + case 130: + break label$75; + case 129: + break label$76; + case 128: + break label$77; + case 127: + break label$78; + case 126: + break label$79; + case 125: + break label$80; + case 124: + break label$81; + case 123: + break label$82; + case 122: + break label$83; + case 121: + break label$84; + case 120: + break label$85; + case 32: + break label$87; + case 31: + break label$88; + case 28: + case 29: + case 30: + break label$89; + case 27: + break label$90; + case 26: + break label$91; + case 119: + break label$92; + case 118: + break label$93; + case 22: + case 23: + case 24: + case 25: + break label$94; + case 116: + break label$95; + case 114: + break label$96; + case 113: + break label$97; + case 111: + break label$98; + case 99: + case 100: + break label$99; + default: + break label$15; + }; + } + label$496 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 150 | 0) >> 1] | 0) & 3 | 0) & 65535 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$496 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 516; + break label$2; + } + $3740 = 0; + HEAP32[($3_1 + 1408 | 0) >> 2] = $3740; + HEAP32[($3_1 + 1404 | 0) >> 2] = $3740; + HEAP32[($3_1 + 1400 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 1396 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 1380 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 1396 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($3_1 + 1388 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1380 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$497 : { + label$498 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (97 | 0) & 1 | 0)) { + break label$498 + } + HEAP32[($3_1 + 1392 | 0) >> 2] = ((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0 | 4 | 0; + label$499 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($3_1 + 1380 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 76 | 0) >> 0] | 0) & 255 | 0 | 0) < ((HEAPU8[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 147 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$499 + } + HEAP8[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 147 | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($3_1 + 1380 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 76 | 0) >> 0] | 0; + } + break label$497; + } + HEAP32[($3_1 + 1392 | 0) >> 2] = 0; + } + label$500 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$500 + } + HEAP32[($3_1 + 1916 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1400 | 0) >> 2] | 0, 40) | 0; + $894(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1916 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1400 | 0) >> 2] = i64toi32_i32$2; + } + $3806 = 24; + label$501 : { + label$502 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $3806 | 0) >> $3806 | 0 | 0) == (-9 | 0) & 1 | 0)) { + break label$502 + } + HEAP32[($3_1 + 1404 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1408 | 0) >> 2] = (HEAPU16[((HEAP32[($3_1 + 1404 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0; + break label$501; + } + $3823 = 24; + label$503 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $3823 | 0) >> $3823 | 0 | 0) == (-3 | 0) & 1 | 0)) { + break label$503 + } + HEAP32[($3_1 + 1408 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $914(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1408 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1396 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1384 | 0) >> 2] = wasm2js_i32$1; + label$504 : { + if (!((HEAP32[($3_1 + 1384 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$504 + } + break label$3; + } + HEAP8[((HEAP32[($3_1 + 1384 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1; + $3852 = HEAP32[($3_1 + 1384 | 0) >> 2] | 0; + HEAP8[($3852 + 5 | 0) >> 0] = HEAPU8[($3852 + 5 | 0) >> 0] | 0 | 4 | 0; + HEAP32[((HEAP32[($3_1 + 1384 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($3_1 + 1400 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $915(HEAP32[($3_1 + 1388 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1400 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1392 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1404 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1384 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 1384 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($3_1 + 1404 | 0) >> 2] | 0; + $3869 = 24; + HEAP8[((HEAP32[($3_1 + 1384 | 0) >> 2] | 0) + 4 | 0) >> 0] = (((HEAPU8[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $3869 | 0) >> $3869 | 0 | 0) != (-9 | 0) & 1 | 0; + } + $916(HEAP32[((HEAP32[($3_1 + 1384 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 3 | 0 | 0); + label$505 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$505 + } + break label$2; + } + break label$8; + } + HEAP32[($3_1 + 1376 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $3903 = 16; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $914(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($3_1 + 1376 | 0) >> 2] | 0) + 56 | 0) >> 1] | 0) << $3903 | 0) >> $3903 | 0 | 0, -1 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1372 | 0) >> 2] = wasm2js_i32$1; + label$506 : { + if (!((HEAP32[($3_1 + 1372 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$506 + } + break label$3; + } + $3917 = 1; + HEAP8[((HEAP32[($3_1 + 1372 | 0) >> 2] | 0) + 2 | 0) >> 0] = $3917; + $3918 = HEAP32[($3_1 + 1372 | 0) >> 2] | 0; + HEAP8[($3918 + 5 | 0) >> 0] = HEAPU8[($3918 + 5 | 0) >> 0] | 0 | $3917 | 0; + HEAP32[((HEAP32[($3_1 + 1372 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1376 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 1372 | 0) >> 2] | 0) + 4 | 0) >> 0] = HEAPU8[((HEAP32[($3_1 + 1376 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0; + HEAP32[((HEAP32[($3_1 + 1372 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1376 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $3932 = HEAP32[($3_1 + 1372 | 0) >> 2] | 0; + HEAP8[($3932 + 5 | 0) >> 0] = (HEAPU8[($3932 + 5 | 0) >> 0] | 0) & -5 | 0 | ((HEAPU8[((HEAP32[($3_1 + 1376 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 4 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $915(HEAP32[((HEAP32[($3_1 + 1376 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1372 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[((HEAP32[($3_1 + 1372 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1372 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + break label$8; + } + label$507 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$507 + } + HEAP32[(((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0) + 12 | 0) >> 2] = 0; + HEAP32[(((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0) + 16 | 0) >> 2] = 1352; + } + HEAP32[($3_1 + 1368 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$508 : { + label$509 : { + if (!((HEAP32[($3_1 + 1368 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$509 + } + if (!((HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$509 + } + $3993 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1368 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 28 | 0) >> 2] = $3993; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $917(HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, $3993 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + break label$508; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $914(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, -1 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1368 | 0) >> 2] = wasm2js_i32$1; + label$510 : { + if (!((HEAP32[($3_1 + 1368 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$510 + } + break label$3; + } + $4020 = HEAP32[($3_1 + 1368 | 0) >> 2] | 0; + HEAP8[($4020 + 5 | 0) >> 0] = HEAPU8[($4020 + 5 | 0) >> 0] | 0 | 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $492(HEAP32[(HEAP32[($3_1 + 1948 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 5 | 0 | 0, 1054 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$511 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$511 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $129(HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 1 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + } + label$512 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$512 + } + $4046 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1364 | 0) >> 2] = $4046; + HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 44 | 0) >> 2] = $4046; + label$513 : { + label$514 : { + if (!(($4046 | 0) != (0 | 0) & 1 | 0)) { + break label$514 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $918(HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 52 | 0 | 0, (HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$515 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$515 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $915(HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[($3_1 + 1364 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + } + HEAP8[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 4 | 0) >> 0] = 0; + break label$513; + } + $4078 = 1; + HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 52 | 0) >> 2] = $4078; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $915(HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $4078 | 0, 4 | 0, 0 | 0, HEAP32[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 4 | 0) >> 0] = 1; + } + } + $4092 = HEAP32[($3_1 + 1368 | 0) >> 2] | 0; + HEAP8[($4092 + 5 | 0) >> 0] = (HEAPU8[($4092 + 5 | 0) >> 0] | 0) & -5 | 0 | (((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0 | 0) != (8 | 0)) << 2 | 0) | 0; + } + label$516 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$516 + } + break label$2; + } + HEAP8[((HEAP32[($3_1 + 1368 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1; + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $914(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, -1 | 0, 1 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1360 | 0) >> 2] = wasm2js_i32$1; + label$517 : { + if (!((HEAP32[($3_1 + 1360 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$517 + } + break label$3; + } + HEAP32[((HEAP32[($3_1 + 1360 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $919(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1360 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$518 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$518 + } + break label$2; + } + break label$8; + } + i64toi32_i32$0 = 0; + $8460 = 0; + $8460$hi = i64toi32_i32$0; + HEAP32[($3_1 + 1356 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $4136 = HEAP32[($3_1 + 1356 | 0) >> 2] | 0; + i64toi32_i32$4 = $4136; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] | 0; + $8461 = i64toi32_i32$0; + $8461$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $8462$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8461$hi; + i64toi32_i32$2 = $8462$hi; + i64toi32_i32$2 = $8461$hi; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$0 = $8462$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$4 = $4136; + HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $8461$hi; + i64toi32_i32$1 = $8460$hi; + i64toi32_i32$1 = $8461$hi; + i64toi32_i32$1 = $8460$hi; + i64toi32_i32$1 = $8461$hi; + i64toi32_i32$2 = $8461; + i64toi32_i32$4 = $8460$hi; + i64toi32_i32$3 = $8460; + label$519 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$519 + } + break label$11; + } + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $914(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, -1 | 0, 3 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1352 | 0) >> 2] = wasm2js_i32$1; + label$520 : { + if (!((HEAP32[($3_1 + 1352 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$520 + } + break label$3; + } + $4157 = 1; + HEAP8[((HEAP32[($3_1 + 1352 | 0) >> 2] | 0) + 2 | 0) >> 0] = $4157; + HEAP32[((HEAP32[($3_1 + 1352 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 1352 | 0) >> 2] | 0) + 4 | 0) >> 0] = $4157; + $4163 = $920() | 0; + HEAP32[((HEAP32[($3_1 + 1352 | 0) >> 2] | 0) + 40 | 0) >> 2] = $4163; + break label$8; + } + $859(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + break label$8; + } + $4182 = 0; + $4183 = 0; + HEAP32[($3_1 + 1340 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1344 | 0) >> 2] = (HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($3_1 + 1300 | 0) >> 2] = $4183; + HEAP8[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 2 | 0) >> 0] = $4182; + HEAP8[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 3 | 0) >> 0] = $4182; + HEAP32[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 28 | 0) >> 2] = $4183; + label$521 : { + label$522 : { + label$523 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != ($4182 & 255 | 0 | 0) & 1 | 0)) { + break label$523 + } + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP16[($3_1 + 1298 | 0) >> 1] = HEAPU16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; + label$524 : { + if (!((((HEAPU16[($3_1 + 1298 | 0) >> 1] | 0) & 65535 | 0) & 46 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$524 + } + $343(HEAP32[($3_1 + 1912 | 0) >> 2] | 0 | 0, 0 | 0); + } + i64toi32_i32$2 = $240(HEAP32[($3_1 + 1912 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $18443 = i64toi32_i32$2; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1304 | 0) >> 2] = $18443; + HEAP32[($3_1 + 1308 | 0) >> 2] = i64toi32_i32$1; + HEAP16[($3_1 + 1296 | 0) >> 1] = HEAPU16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; + HEAP16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($3_1 + 1298 | 0) >> 1] | 0; + label$525 : { + if (((HEAPU16[($3_1 + 1296 | 0) >> 1] | 0) & 65535 | 0) & 36 | 0) { + break label$525 + } + label$526 : { + if (((HEAPU16[($3_1 + 1296 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0) { + break label$526 + } + label$527 : { + label$528 : { + if (((HEAPU16[($3_1 + 1296 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$528 + } + if (!((HEAP32[($3_1 + 1344 | 0) >> 2] | 0 | 0) >= (24 | 0) & 1 | 0)) { + break label$527 + } + } + break label$11; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $921(HEAP32[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $3_1 + 1348 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$529 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$529 + } + break label$2; + } + break label$521; + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1304 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1308 | 0) >> 2] | 0; + i64toi32_i32$3 = 0; + label$530 : { + label$531 : { + if (!(+HEAPF64[(HEAP32[($3_1 + 1912 | 0) >> 2] | 0) >> 3] < +(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$2 | 0) & 1 | 0)) { + break label$531 + } + label$532 : { + if (!(((HEAP32[($3_1 + 1344 | 0) >> 2] | 0) & 1 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$532 + } + HEAP32[($3_1 + 1344 | 0) >> 2] = (HEAP32[($3_1 + 1344 | 0) >> 2] | 0) + -1 | 0; + } + break label$530; + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1304 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1308 | 0) >> 2] | 0; + i64toi32_i32$3 = 0; + label$533 : { + if (!(+HEAPF64[(HEAP32[($3_1 + 1912 | 0) >> 2] | 0) >> 3] > +(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0) & 1 | 0)) { + break label$533 + } + label$534 : { + if ((HEAP32[($3_1 + 1344 | 0) >> 2] | 0) & 1 | 0) { + break label$534 + } + HEAP32[($3_1 + 1344 | 0) >> 2] = (HEAP32[($3_1 + 1344 | 0) >> 2] | 0) + 1 | 0; + } + } + } + } + $4289 = 0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1304 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1308 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $922(HEAP32[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $4289 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, $4289 | 0, $3_1 + 1348 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1304 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1308 | 0) >> 2] | 0; + $18602 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1340 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] = $18602; + HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] = i64toi32_i32$1; + label$535 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$535 + } + break label$2; + } + break label$522; + } + label$536 : { + if (!($923(HEAP32[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0)) { + break label$536 + } + HEAP32[($3_1 + 1300 | 0) >> 2] = 1; + } + i64toi32_i32$1 = 0; + HEAP32[($3_1 + 1316 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1320 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP16[($3_1 + 1328 | 0) >> 1] = HEAP32[($3_1 + 1316 | 0) >> 2] | 0; + HEAP8[($3_1 + 1330 | 0) >> 0] = ((HEAP32[($3_1 + 1344 | 0) >> 2] | 0) - 22 | 0) & 1 | 0 ? -1 : 1; + HEAP32[($3_1 + 1324 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP8[($3_1 + 1334 | 0) >> 0] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $922(HEAP32[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $3_1 + 1320 | 0 | 0, 0 | 0, i64toi32_i32$1 | 0, 0 | 0, $3_1 + 1348 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$537 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$537 + } + break label$2; + } + label$538 : { + if (!(HEAP32[($3_1 + 1300 | 0) >> 2] | 0)) { + break label$538 + } + if ((HEAPU8[($3_1 + 1334 | 0) >> 0] | 0) & 255 | 0) { + break label$538 + } + break label$521; + } + } + label$539 : { + label$540 : { + if (!((HEAP32[($3_1 + 1344 | 0) >> 2] | 0 | 0) >= (24 | 0) & 1 | 0)) { + break label$540 + } + label$541 : { + label$542 : { + label$543 : { + if ((HEAP32[($3_1 + 1348 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$543 + } + if (HEAP32[($3_1 + 1348 | 0) >> 2] | 0) { + break label$542 + } + if (!((HEAP32[($3_1 + 1344 | 0) >> 2] | 0 | 0) == (25 | 0) & 1 | 0)) { + break label$542 + } + } + $4360 = 0; + HEAP32[($3_1 + 1348 | 0) >> 2] = $4360; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $924(HEAP32[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $4360 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$544 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$544 + } + label$545 : { + label$546 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$546 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 0; + HEAP32[($3_1 + 1348 | 0) >> 2] = 1; + break label$545; + } + break label$2; + } + } + break label$541; + } + HEAP32[($3_1 + 1348 | 0) >> 2] = 0; + } + break label$539; + } + label$547 : { + label$548 : { + label$549 : { + if ((HEAP32[($3_1 + 1348 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$549 + } + if (HEAP32[($3_1 + 1348 | 0) >> 2] | 0) { + break label$548 + } + if (!((HEAP32[($3_1 + 1344 | 0) >> 2] | 0 | 0) == (22 | 0) & 1 | 0)) { + break label$548 + } + } + $4390 = 0; + HEAP32[($3_1 + 1348 | 0) >> 2] = $4390; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $925(HEAP32[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $4390 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$550 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$550 + } + label$551 : { + label$552 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$552 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 0; + HEAP32[($3_1 + 1348 | 0) >> 2] = 1; + break label$551; + } + break label$2; + } + } + break label$547; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $926(HEAP32[((HEAP32[($3_1 + 1340 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1348 | 0) >> 2] = wasm2js_i32$1; + } + } + } + label$553 : { + if (!(HEAP32[($3_1 + 1348 | 0) >> 2] | 0)) { + break label$553 + } + break label$11; + } + label$554 : { + if (!(HEAP32[($3_1 + 1300 | 0) >> 2] | 0)) { + break label$554 + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 20 | 0; + } + break label$8; + } + HEAP32[($3_1 + 1292 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$555 : { + if ($927(HEAP32[((HEAP32[($3_1 + 1292 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0) { + break label$555 + } + break label$8; + } + HEAP32[($3_1 + 1284 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1264 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1292 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP16[($3_1 + 1272 | 0) >> 1] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP8[($3_1 + 1274 | 0) >> 0] = 0; + HEAP32[($3_1 + 1268 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1288 | 0) >> 2] = 0; + label$556 : while (1) { + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $928(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1292 | 0) >> 2] | 0 | 0, $3_1 + 1264 | 0 | 0, $3_1 + 1288 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$557 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$557 + } + break label$2; + } + label$558 : { + if (!((HEAP32[($3_1 + 1288 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$558 + } + break label$12; + } + label$559 : { + if (HEAP32[($3_1 + 1288 | 0) >> 2] | 0) { + break label$559 + } + break label$11; + } + label$560 : { + label$561 : { + if (!((HEAP32[($3_1 + 1284 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$561 + } + break label$560; + } + HEAP32[($3_1 + 1284 | 0) >> 2] = (HEAP32[($3_1 + 1284 | 0) >> 2] | 0) + -1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $924(HEAP32[((HEAP32[($3_1 + 1292 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$562 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$562 + } + label$563 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$563 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 0; + break label$12; + } + break label$2; + } + continue label$556; + } + break label$556; + }; + break label$8; + } + HEAP32[($3_1 + 1260 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$564 : { + label$565 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1260 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$565 + } + HEAP16[((HEAP32[($3_1 + 1260 | 0) >> 2] | 0) + 6 | 0) >> 1] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$564; + } + label$566 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1260 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) > (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$566 + } + HEAP16[((HEAP32[($3_1 + 1260 | 0) >> 2] | 0) + 6 | 0) >> 1] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + } + break label$8; + } + label$567 : { + if ((HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$567 + } + break label$10; + } + break label$8; + } + HEAP32[($3_1 + 1256 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$568 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1256 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) >= (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$568 + } + break label$8; + } + } + HEAP32[($3_1 + 1240 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$569 : { + label$570 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$570 + } + HEAP32[($3_1 + 1208 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1240 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP16[($3_1 + 1216 | 0) >> 1] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1212 | 0) >> 2] = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + HEAP32[($3_1 + 1228 | 0) >> 2] = $3_1 + 1208 | 0; + HEAP32[($3_1 + 1232 | 0) >> 2] = 0; + break label$569; + } + label$571 : { + label$572 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$572 + } + $4586 = $230(HEAP32[($3_1 + 1912 | 0) >> 2] | 0 | 0) | 0; + break label$571; + } + $4586 = 0; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = $4586; + label$573 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$573 + } + break label$3; + } + $4593 = $929(HEAP32[((HEAP32[($3_1 + 1240 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 1228 | 0) >> 2] = $4593; + HEAP32[($3_1 + 1232 | 0) >> 2] = $4593; + label$574 : { + if (!((HEAP32[($3_1 + 1228 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$574 + } + break label$3; + } + $930(HEAP32[((HEAP32[($3_1 + 1240 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1228 | 0) >> 2] | 0 | 0); + } + HEAP8[((HEAP32[($3_1 + 1228 | 0) >> 2] | 0) + 10 | 0) >> 0] = 0; + HEAP32[($3_1 + 1248 | 0) >> 2] = 0; + label$575 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (28 | 0) & 1 | 0)) { + break label$575 + } + HEAP32[($3_1 + 1244 | 0) >> 2] = 0; + label$576 : { + label$577 : while (1) { + if (!((HEAP32[($3_1 + 1244 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($3_1 + 1228 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$576 + } + label$578 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($3_1 + 1228 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 1244 | 0) >> 2] | 0, 40) | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$578 + } + HEAP32[($3_1 + 1248 | 0) >> 2] = 1; + break label$576; + } + HEAP32[($3_1 + 1244 | 0) >> 2] = (HEAP32[($3_1 + 1244 | 0) >> 2] | 0) + 1 | 0; + continue label$577; + }; + } + } + $4646 = 0; + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $922(HEAP32[((HEAP32[($3_1 + 1240 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1228 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0, $4646 | 0, $3_1 + 1236 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$579 : { + if (!((HEAP32[($3_1 + 1232 | 0) >> 2] | 0 | 0) != ($4646 | 0) & 1 | 0)) { + break label$579 + } + $23(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1232 | 0) >> 2] | 0 | 0); + } + label$580 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$580 + } + break label$2; + } + $4664 = 0; + HEAP32[((HEAP32[($3_1 + 1240 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($3_1 + 1236 | 0) >> 2] | 0; + HEAP32[($3_1 + 1252 | 0) >> 2] = (HEAP32[($3_1 + 1236 | 0) >> 2] | 0 | 0) == ($4664 | 0) & 1 | 0; + HEAP8[((HEAP32[($3_1 + 1240 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1 - (HEAP32[($3_1 + 1252 | 0) >> 2] | 0) | 0; + HEAP8[((HEAP32[($3_1 + 1240 | 0) >> 2] | 0) + 3 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 1240 | 0) >> 2] | 0) + 28 | 0) >> 2] = $4664; + label$581 : { + label$582 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (30 | 0) & 1 | 0)) { + break label$582 + } + label$583 : { + if (!(HEAP32[($3_1 + 1252 | 0) >> 2] | 0)) { + break label$583 + } + break label$11; + } + break label$581; + } + label$584 : { + label$585 : { + if (HEAP32[($3_1 + 1248 | 0) >> 2] | 0) { + break label$585 + } + if (HEAP32[($3_1 + 1252 | 0) >> 2] | 0) { + break label$584 + } + } + break label$11; + } + label$586 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (27 | 0) & 1 | 0)) { + break label$586 + } + HEAP16[((HEAP32[($3_1 + 1240 | 0) >> 2] | 0) + 6 | 0) >> 1] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + } + break label$8; + } + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$587 : { + if (((HEAPU16[((HEAP32[($3_1 + 1912 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 36 | 0) { + break label$587 + } + $4719 = $3_1 + 1144 | 0; + $4721 = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + i64toi32_i32$3 = $4721; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $19505 = i64toi32_i32$1; + i64toi32_i32$1 = $4719; + HEAP32[i64toi32_i32$1 >> 2] = $19505; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + $4722 = 32; + i64toi32_i32$3 = i64toi32_i32$3 + $4722 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $19515 = i64toi32_i32$2; + i64toi32_i32$2 = $4719 + $4722 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $19515; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + $4725 = 24; + i64toi32_i32$3 = $4721 + $4725 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $19525 = i64toi32_i32$1; + i64toi32_i32$1 = $4719 + $4725 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $19525; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + $4728 = 16; + i64toi32_i32$3 = $4721 + $4728 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $19535 = i64toi32_i32$2; + i64toi32_i32$2 = $4719 + $4728 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $19535; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + $4731 = 8; + i64toi32_i32$3 = $4721 + $4731 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $19545 = i64toi32_i32$1; + i64toi32_i32$1 = $4719 + $4731 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $19545; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + $4735 = 24; + $895($4719 | 0, (67 << $4735 | 0) >> $4735 | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0); + label$588 : { + if (((HEAPU16[($3_1 + 1152 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0) { + break label$588 + } + break label$11; + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1144 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1148 | 0) >> 2] | 0; + $19572 = i64toi32_i32$2; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1184 | 0) >> 2] = $19572; + HEAP32[($3_1 + 1188 | 0) >> 2] = i64toi32_i32$1; + break label$86; + } + } + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $19592 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1184 | 0) >> 2] = $19592; + HEAP32[($3_1 + 1188 | 0) >> 2] = i64toi32_i32$2; + } + $4752 = 0; + $4753 = 0; + HEAP32[($3_1 + 1204 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1200 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1204 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($3_1 + 1196 | 0) >> 2] = $4753; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 1184 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1188 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $922(HEAP32[($3_1 + 1200 | 0) >> 2] | 0 | 0, $4753 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0, $4753 | 0, $3_1 + 1196 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1184 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1188 | 0) >> 2] | 0; + $19640 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 1204 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $19640; + HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$2; + HEAP8[((HEAP32[($3_1 + 1204 | 0) >> 2] | 0) + 2 | 0) >> 0] = $4752; + HEAP32[((HEAP32[($3_1 + 1204 | 0) >> 2] | 0) + 28 | 0) >> 2] = $4753; + HEAP8[((HEAP32[($3_1 + 1204 | 0) >> 2] | 0) + 3 | 0) >> 0] = $4752; + HEAP32[((HEAP32[($3_1 + 1204 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($3_1 + 1196 | 0) >> 2] | 0; + label$589 : { + if (!(HEAP32[($3_1 + 1196 | 0) >> 2] | 0)) { + break label$589 + } + label$590 : { + label$591 : { + if (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$591 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(90442 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + break label$590; + } + break label$11; + } + } + label$592 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$592 + } + break label$2; + } + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + $4791 = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + i64toi32_i32$3 = $4791; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $8482 = i64toi32_i32$2; + $8482$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $8483$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8482$hi; + i64toi32_i32$1 = $8483$hi; + i64toi32_i32$1 = $8482$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $8483$hi; + i64toi32_i32$4 = 1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$3 = $4791; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $8482$hi; + i64toi32_i32$3 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $8482; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$5; + break label$8; + } + i64toi32_i32$5 = 0; + i64toi32_i32$3 = $3_1; + HEAP32[($3_1 + 1136 | 0) >> 2] = 0; + HEAP32[($3_1 + 1140 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($3_1 + 1128 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 1132 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $4807 = 1; + label$593 : { + if ((((HEAPU8[((HEAP32[($3_1 + 1132 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) >>> $4807 | 0) & $4807 | 0) & 255 | 0) { + break label$593 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $921(HEAP32[((HEAP32[($3_1 + 1132 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $3_1 + 1128 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$594 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$594 + } + break label$2; + } + label$595 : { + label$596 : { + if (!(HEAP32[($3_1 + 1128 | 0) >> 2] | 0)) { + break label$596 + } + i64toi32_i32$5 = 0; + i64toi32_i32$3 = $3_1; + HEAP32[($3_1 + 1136 | 0) >> 2] = 1; + HEAP32[($3_1 + 1140 | 0) >> 2] = i64toi32_i32$5; + break label$595; + } + i64toi32_i32$5 = 2147483647; + $8487$hi = i64toi32_i32$5; + i64toi32_i32$5 = $820(HEAP32[((HEAP32[($3_1 + 1132 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $19787 = i64toi32_i32$5; + i64toi32_i32$5 = $3_1; + HEAP32[($3_1 + 1136 | 0) >> 2] = $19787; + HEAP32[($3_1 + 1140 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 1136 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1140 | 0) >> 2] | 0; + $8490$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8487$hi; + i64toi32_i32$5 = $8490$hi; + i64toi32_i32$5 = $8487$hi; + i64toi32_i32$5 = $8490$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $8487$hi; + i64toi32_i32$4 = -1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$3 | 0)) { + $637_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + $638_1 = 0 + } else { + $638_1 = 1 + } + $639_1 = $638_1; + } else { + $639_1 = 0 + } + $637_1 = $639_1; + } + label$597 : { + label$598 : { + if (!($637_1 & 1 | 0)) { + break label$598 + } + $4825 = HEAP32[($3_1 + 1132 | 0) >> 2] | 0; + HEAP8[($4825 + 5 | 0) >> 0] = HEAPU8[($4825 + 5 | 0) >> 0] | 0 | 2 | 0; + break label$597; + } + i64toi32_i32$4 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1136 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1140 | 0) >> 2] | 0; + $8492$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $8493$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8492$hi; + i64toi32_i32$5 = $8493$hi; + i64toi32_i32$5 = $8492$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $8493$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$4 = $3_1; + HEAP32[($3_1 + 1136 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($3_1 + 1140 | 0) >> 2] = i64toi32_i32$0; + } + } + } + label$599 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$599 + } + label$600 : { + label$601 : { + if (!((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$601 + } + HEAP32[($3_1 + 1116 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0; + label$602 : { + label$603 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 1116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$602 + } + HEAP32[($3_1 + 1116 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$603; + }; + } + HEAP32[($3_1 + 1120 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + break label$600; + } + HEAP32[($3_1 + 1120 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + } + i64toi32_i32$0 = 2147483647; + $8495$hi = i64toi32_i32$0; + $894(HEAP32[($3_1 + 1120 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1120 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $8497$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8495$hi; + i64toi32_i32$4 = $8497$hi; + i64toi32_i32$4 = $8495$hi; + i64toi32_i32$4 = $8497$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $8495$hi; + i64toi32_i32$3 = -1; + label$604 : { + label$605 : { + if (((i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$4 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$605 + } + $4871 = 1; + if (!((((HEAPU8[((HEAP32[($3_1 + 1132 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) >>> $4871 | 0) & $4871 | 0) & 255 | 0)) { + break label$604 + } + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 13; + break label$2; + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 1136 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1140 | 0) >> 2] | 0; + $8499 = i64toi32_i32$5; + $8499$hi = i64toi32_i32$4; + i64toi32_i32$3 = HEAP32[($3_1 + 1120 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $8500$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $8501$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8500$hi; + i64toi32_i32$5 = $8501$hi; + i64toi32_i32$5 = $8500$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$4 = $8501$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $8502$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8499$hi; + i64toi32_i32$2 = $8502$hi; + i64toi32_i32$2 = $8499$hi; + i64toi32_i32$2 = $8502$hi; + i64toi32_i32$2 = $8499$hi; + i64toi32_i32$5 = $8499; + i64toi32_i32$3 = $8502$hi; + i64toi32_i32$0 = i64toi32_i32$1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$3 | 0)) { + $640_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$0 >>> 0) { + $641_1 = 0 + } else { + $641_1 = 1 + } + $642_1 = $641_1; + } else { + $642_1 = 0 + } + $640_1 = $642_1; + } + label$606 : { + if (!($640_1 & 1 | 0)) { + break label$606 + } + i64toi32_i32$0 = HEAP32[($3_1 + 1120 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $8505$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $8506$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8505$hi; + i64toi32_i32$2 = $8506$hi; + i64toi32_i32$2 = $8505$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $8506$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 1136 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 1140 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1136 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1140 | 0) >> 2] | 0; + $19959 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 1120 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $19959; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + $4885 = 1; + label$607 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 1132 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) >>> $4885 | 0) & $4885 | 0) & 255 | 0)) { + break label$607 + } + HEAP32[($3_1 + 1124 | 0) >> 2] = 0; + label$608 : while (1) { + $85(8 | 0, $3_1 + 1136 | 0 | 0); + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1136 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1140 | 0) >> 2] | 0; + $8509$hi = i64toi32_i32$1; + i64toi32_i32$1 = 1073741823; + $8510$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8509$hi; + i64toi32_i32$1 = $8510$hi; + i64toi32_i32$1 = $8509$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $8510$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $19989 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 1136 | 0) >> 2] = $19989; + HEAP32[($3_1 + 1140 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1136 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1140 | 0) >> 2] | 0; + $8512$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $8513$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8512$hi; + i64toi32_i32$2 = $8513$hi; + i64toi32_i32$2 = $8512$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $8513$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 1136 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($3_1 + 1140 | 0) >> 2] = i64toi32_i32$4; + $4896 = 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1136 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1140 | 0) >> 2] | 0; + $4902 = $922(HEAP32[((HEAP32[($3_1 + 1132 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $4896 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0, $4896 | 0, $3_1 + 1128 | 0 | 0) | 0; + HEAP32[($3_1 + 1952 | 0) >> 2] = $4902; + $4903 = 0; + label$609 : { + if ($4902) { + break label$609 + } + $4903 = 0; + if (HEAP32[($3_1 + 1128 | 0) >> 2] | 0) { + break label$609 + } + $4909 = (HEAP32[($3_1 + 1124 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 1124 | 0) >> 2] = $4909; + $4903 = ($4909 | 0) < (100 | 0); + } + if ($4903 & 1 | 0) { + continue label$608 + } + break label$608; + }; + label$610 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$610 + } + break label$2; + } + label$611 : { + if (HEAP32[($3_1 + 1128 | 0) >> 2] | 0) { + break label$611 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 13; + break label$2; + } + } + HEAP8[((HEAP32[($3_1 + 1132 | 0) >> 2] | 0) + 3 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 1132 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1136 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1140 | 0) >> 2] | 0; + $20061 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $20061; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + break label$8; + } + HEAP32[($3_1 + 1112 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1104 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1108 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1108 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $20113 = i64toi32_i32$4; + i64toi32_i32$4 = $3_1; + HEAP32[($3_1 + 1056 | 0) >> 2] = $20113; + HEAP32[($3_1 + 1060 | 0) >> 2] = i64toi32_i32$1; + $4948 = 24; + label$612 : { + label$613 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $4948 | 0) >> $4948 | 0 | 0) == (-6 | 0) & 1 | 0)) { + break label$613 + } + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 228 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$613 + } + $4968 = 24; + HEAP32[($3_1 + 1096 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((((HEAPU8[((HEAP32[($3_1 + 1104 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $4968 | 0) >> $4968 | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1092 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$612; + } + $4977 = 0; + HEAP32[($3_1 + 1092 | 0) >> 2] = $4977; + HEAP32[($3_1 + 1096 | 0) >> 2] = $4977; + } + label$614 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$614 + } + $4984 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($4984 + 44 | 0) >> 2] = (HEAP32[($4984 + 44 | 0) >> 2] | 0) + 1 | 0; + } + label$615 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$615 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 1056 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1060 | 0) >> 2] | 0; + $20220 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $20220; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$4; + } + HEAP32[($3_1 + 1064 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1112 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1076 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$616 : { + label$617 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$617 + } + $5007 = HEAP32[((HEAP32[($3_1 + 1104 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$616; + } + $5007 = 0; + } + HEAP32[($3_1 + 1100 | 0) >> 2] = $5007; + label$618 : { + label$619 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1112 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$619 + } + HEAP32[($3_1 + 1080 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 1112 | 0) >> 2] | 0) >> 2] | 0; + break label$618; + } + HEAP32[($3_1 + 1080 | 0) >> 2] = 0; + } + $5019 = 0; + HEAP32[($3_1 + 1048 | 0) >> 2] = $5019; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $931(HEAP32[((HEAP32[($3_1 + 1104 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $3_1 + 1048 | 0 | 0, ((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 10 | 0 | 0, HEAP32[($3_1 + 1100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($3_1 + 1104 | 0) >> 2] | 0) + 3 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 1104 | 0) >> 2] | 0) + 28 | 0) >> 2] = $5019; + label$620 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$620 + } + break label$2; + } + label$621 : { + if (!((HEAP32[($3_1 + 1092 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$621 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 1056 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 1060 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 228 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0, ((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0 ? 23 : 18, HEAP32[($3_1 + 1096 | 0) >> 2] | 0, HEAP32[(HEAP32[($3_1 + 1092 | 0) >> 2] | 0) >> 2] | 0, i64toi32_i32$4, i64toi32_i32$1); + } + break label$8; + } + HEAP32[($3_1 + 1032 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 1044 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $5073 = 24; + label$622 : { + label$623 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $5073 | 0) >> $5073 | 0 | 0) == (-6 | 0) & 1 | 0)) { + break label$623 + } + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 228 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$623 + } + $5093 = 24; + HEAP32[($3_1 + 1040 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((((HEAPU8[((HEAP32[($3_1 + 1044 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $5093 | 0) >> $5093 | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1036 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$624 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$624 + } + if (!((HEAPU8[((HEAP32[($3_1 + 1044 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0)) { + break label$624 + } + i64toi32_i32$1 = $820(HEAP32[((HEAP32[($3_1 + 1044 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $20481 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 1044 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $20481; + HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$4; + } + break label$622; + } + $5115 = 0; + HEAP32[($3_1 + 1040 | 0) >> 2] = $5115; + HEAP32[($3_1 + 1036 | 0) >> 2] = $5115; + } + $5116 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $932(HEAP32[((HEAP32[($3_1 + 1044 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 1044 | 0) >> 2] | 0) + 28 | 0) >> 2] = $5116; + HEAP32[((HEAP32[($3_1 + 1044 | 0) >> 2] | 0) + 32 | 0) >> 2] = $5116; + label$625 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$625 + } + break label$2; + } + label$626 : { + if (!((HEAP32[($3_1 + 1032 | 0) >> 2] | 0) & 1 | 0)) { + break label$626 + } + $5131 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($5131 + 44 | 0) >> 2] = (HEAP32[($5131 + 44 | 0) >> 2] | 0) + 1 | 0; + label$627 : { + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 228 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$627 + } + if ((HEAP32[((HEAP32[($3_1 + 1036 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$627 + } + i64toi32_i32$2 = HEAP32[($3_1 + 1044 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 228 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0, 9, HEAP32[($3_1 + 1040 | 0) >> 2] | 0, HEAP32[(HEAP32[($3_1 + 1036 | 0) >> 2] | 0) >> 2] | 0, i64toi32_i32$4, i64toi32_i32$1); + } + } + break label$8; + } + $847(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + break label$8; + } + HEAP32[($3_1 + 1028 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1020 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1024 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $933(HEAP32[($3_1 + 1028 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1912 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1020 | 0) >> 2] | 0 | 0, $3_1 + 1024 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$628 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$628 + } + break label$2; + } + label$629 : { + if (!(HEAP32[($3_1 + 1024 | 0) >> 2] | 0)) { + break label$629 + } + break label$11; + } + break label$8; + } + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1016 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $934(HEAP32[($3_1 + 1016 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$630 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$630 + } + break label$2; + } + HEAP32[((HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 1012 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1008 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1012 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $821(HEAP32[($3_1 + 1008 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1004 | 0) >> 2] = wasm2js_i32$1; + label$631 : { + if (!((HEAP32[($3_1 + 1004 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$631 + } + break label$13; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $903(HEAP32[($3_1 + 1008 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1004 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$632 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$632 + } + break label$2; + } + label$633 : { + if (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$633 + } + label$634 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4096 | 0)) { + break label$634 + } + if (!($251(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) | 0)) { + break label$634 + } + break label$3; + } + } + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 1e3 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$635 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1e3 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$635 + } + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + break label$8; + } + label$636 : { + label$637 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1e3 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$637 + } + i64toi32_i32$2 = HEAP32[($3_1 + 1e3 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + $20882 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 992 | 0) >> 2] = $20882; + HEAP32[($3_1 + 996 | 0) >> 2] = i64toi32_i32$4; + break label$636; + } + label$638 : { + label$639 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1e3 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$639 + } + HEAP32[($3_1 + 988 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($3_1 + 1e3 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 984 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 988 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 984 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 1e3 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0, $3_1 + 992 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + $870(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 988 | 0) >> 2] | 0 | 0); + label$640 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$640 + } + break label$2; + } + break label$638; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $935(HEAP32[($3_1 + 1e3 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$641 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$641 + } + break label$2; + } + label$642 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1e3 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$642 + } + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + break label$8; + } + i64toi32_i32$4 = $820(HEAP32[((HEAP32[($3_1 + 1e3 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $20981 = i64toi32_i32$4; + i64toi32_i32$4 = $3_1; + HEAP32[($3_1 + 992 | 0) >> 2] = $20981; + HEAP32[($3_1 + 996 | 0) >> 2] = i64toi32_i32$1; + } + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 992 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 996 | 0) >> 2] | 0; + $20987 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $20987; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + break label$8; + } + HEAP32[($3_1 + 980 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 980 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1; + HEAP32[((HEAP32[($3_1 + 980 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + label$643 : { + if ((HEAPU8[(HEAP32[($3_1 + 980 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$643 + } + $836(HEAP32[((HEAP32[($3_1 + 980 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + } + break label$8; + } + HEAP32[($3_1 + 976 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 972 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 976 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($3_1 + 968 | 0) >> 2] = 0; + label$644 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (130 | 0) & 1 | 0)) { + break label$644 + } + HEAP32[((HEAP32[($3_1 + 976 | 0) >> 2] | 0) + 32 | 0) >> 2] = -1; + label$645 : { + if (!($927(HEAP32[($3_1 + 972 | 0) >> 2] | 0 | 0) | 0)) { + break label$645 + } + break label$8; + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $921(HEAP32[($3_1 + 972 | 0) >> 2] | 0 | 0, $3_1 + 968 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($3_1 + 976 | 0) >> 2] | 0) + 2 | 0) >> 0] = HEAP32[($3_1 + 968 | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 976 | 0) >> 2] | 0) + 3 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 976 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + label$646 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$646 + } + break label$2; + } + label$647 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$647 + } + label$648 : { + if (!(HEAP32[($3_1 + 968 | 0) >> 2] | 0)) { + break label$648 + } + break label$11; + } + } + break label$8; + } + HEAP32[($3_1 + 964 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 960 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 964 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $936(HEAP32[($3_1 + 960 | 0) >> 2] | 0 | 0, $3_1 + 956 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$649 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$649 + } + break label$2; + } + label$650 : { + if (HEAP32[($3_1 + 956 | 0) >> 2] | 0) { + break label$650 + } + i64toi32_i32$4 = 0; + $8525$hi = i64toi32_i32$4; + i64toi32_i32$4 = $910(HEAP32[($3_1 + 960 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $21174 = i64toi32_i32$4; + i64toi32_i32$4 = $3_1; + HEAP32[($3_1 + 944 | 0) >> 2] = $21174; + HEAP32[($3_1 + 948 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 944 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 948 | 0) >> 2] | 0; + $8528$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8525$hi; + i64toi32_i32$4 = $8528$hi; + i64toi32_i32$4 = $8525$hi; + i64toi32_i32$4 = $8528$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $8525$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$1 | 0)) { + $643_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $644_1 = 0 + } else { + $644_1 = 1 + } + $645_1 = $644_1; + } else { + $645_1 = 0 + } + $643_1 = $645_1; + } + label$651 : { + if (!($643_1 & 1 | 0)) { + break label$651 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 944 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 948 | 0) >> 2] | 0; + $5415 = 16; + if (!(((($937(i64toi32_i32$2 | 0, i64toi32_i32$4 | 0) | 0) << $5415 | 0) >> $5415 | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$651 + } + HEAP32[($3_1 + 956 | 0) >> 2] = 1; + } + } + label$652 : { + if (!(HEAP32[($3_1 + 956 | 0) >> 2] | 0)) { + break label$652 + } + break label$11; + } + break label$8; + } + $5427 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($5427 + 168 | 0) >> 2] = (HEAP32[($5427 + 168 | 0) >> 2] | 0) + 1 | 0; + } + $5431 = 1; + HEAP32[($3_1 + 940 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 932 | 0) >> 2] = $5431; + label$653 : { + label$654 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 940 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == ($5431 | 0) & 1 | 0)) { + break label$654 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $938(HEAP32[($3_1 + 940 | 0) >> 2] | 0 | 0, $3_1 + 932 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + break label$653; + } + HEAP32[($3_1 + 936 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 940 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $936(HEAP32[($3_1 + 936 | 0) >> 2] | 0 | 0, $3_1 + 932 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($3_1 + 940 | 0) >> 2] | 0) + 3 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 940 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + } + label$655 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$655 + } + break label$2; + } + HEAP8[((HEAP32[($3_1 + 940 | 0) >> 2] | 0) + 2 | 0) >> 0] = HEAP32[($3_1 + 932 | 0) >> 2] | 0; + label$656 : { + if (!(HEAP32[($3_1 + 932 | 0) >> 2] | 0)) { + break label$656 + } + break label$11; + } + break label$8; + } + HEAP32[($3_1 + 928 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $939(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 928 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + break label$69; + } + HEAP32[($3_1 + 928 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 928 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[((HEAP32[($3_1 + 928 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + label$657 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$657 + } + HEAP8[((HEAP32[($3_1 + 928 | 0) >> 2] | 0) + 2 | 0) >> 0] = 0; + $5509 = ((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 160 | 0) + (((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) << 2 | 0) | 0; + HEAP32[$5509 >> 2] = (HEAP32[$5509 >> 2] | 0) + 1 | 0; + break label$10; + } + label$658 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) != (101 | 0) & 1 | 0)) { + break label$658 + } + break label$2; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 0; + HEAP8[((HEAP32[($3_1 + 928 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1; + break label$9; + } + HEAP32[($3_1 + 924 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1916 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + label$659 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$659 + } + $5543 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($5543 + 44 | 0) >> 2] = (HEAP32[($5543 + 44 | 0) >> 2] | 0) + 1 | 0; + } + label$660 : { + label$661 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$661 + } + $5555 = $230(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) | 0; + break label$660; + } + $5555 = 0; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = $5555; + label$662 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$662 + } + break label$2; + } + i64toi32_i32$2 = HEAP32[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 >> 31 | 0; + $21516 = i64toi32_i32$2; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 888 | 0) >> 2] = $21516; + HEAP32[($3_1 + 892 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 880 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 900 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP16[($3_1 + 904 | 0) >> 1] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $5573 = HEAP32[((HEAP32[($3_1 + 924 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $5579 = ((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 10 | 0; + label$663 : { + label$664 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$664 + } + $5588 = HEAP32[((HEAP32[($3_1 + 924 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$663; + } + $5588 = 0; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $931($5573 | 0, $3_1 + 880 | 0 | 0, $5579 | 0, $5588 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 924 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + label$665 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$665 + } + break label$2; + } + break label$8; + } + HEAP32[($3_1 + 876 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 1916 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + label$666 : { + label$667 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1916 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$667 + } + $5620 = $230(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) | 0; + break label$666; + } + $5620 = 0; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = $5620; + label$668 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$668 + } + break label$2; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $940(HEAP32[($3_1 + 876 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$669 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$669 + } + break label$2; + } + break label$8; + } + i64toi32_i32$4 = 0; + HEAP32[($3_1 + 872 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 868 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 872 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($3_1 + 848 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 872 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP16[($3_1 + 856 | 0) >> 1] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP8[($3_1 + 858 | 0) >> 0] = 0; + HEAP32[($3_1 + 852 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $922(HEAP32[($3_1 + 868 | 0) >> 2] | 0 | 0, $3_1 + 848 | 0 | 0, 0 | 0, i64toi32_i32$4 | 0, 0 | 0, $3_1 + 864 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$670 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$670 + } + break label$2; + } + label$671 : { + label$672 : { + if (HEAP32[($3_1 + 864 | 0) >> 2] | 0) { + break label$672 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $932(HEAP32[($3_1 + 868 | 0) >> 2] | 0 | 0, 4 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$673 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$673 + } + break label$2; + } + break label$671; + } + label$674 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$674 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 779; + break label$2; + } + } + $5677 = 0; + HEAP32[((HEAP32[($3_1 + 872 | 0) >> 2] | 0) + 28 | 0) >> 2] = $5677; + HEAP32[((HEAP32[($3_1 + 872 | 0) >> 2] | 0) + 32 | 0) >> 2] = $5677; + break label$8; + } + HEAP32[($3_1 + 844 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $935(HEAP32[($3_1 + 844 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$675 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$675 + } + break label$2; + } + label$676 : { + label$677 : { + if (((HEAPU8[((HEAP32[($3_1 + 844 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$677 + } + i64toi32_i32$4 = 0; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 832 | 0) >> 2] = 0; + HEAP32[($3_1 + 836 | 0) >> 2] = i64toi32_i32$4; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $941(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 844 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $3_1 + 832 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$678 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$678 + } + break label$2; + } + label$679 : { + label$680 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (134 | 0) & 1 | 0)) { + break label$680 + } + HEAP32[($3_1 + 840 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 840 | 0) >> 2] | 0) + 2 | 0) >> 0] = 0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 832 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 836 | 0) >> 2] | 0; + $21895 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[($3_1 + 840 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$4 + 64 | 0) >> 2] = $21895; + HEAP32[(i64toi32_i32$4 + 68 | 0) >> 2] = i64toi32_i32$2; + HEAP8[((HEAP32[($3_1 + 840 | 0) >> 2] | 0) + 3 | 0) >> 0] = 1; + HEAP32[((HEAP32[($3_1 + 840 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 840 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($3_1 + 844 | 0) >> 2] | 0; + break label$679; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 832 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 836 | 0) >> 2] | 0; + $21928 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $21928; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$4; + } + break label$676; + } + $262((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0 | 0); + } + break label$8; + } + HEAP32[($3_1 + 828 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$681 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 828 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$681 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $942(HEAP32[($3_1 + 828 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$682 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$682 + } + break label$2; + } + } + break label$8; + } + HEAP32[($3_1 + 824 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 800 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 824 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP16[($3_1 + 808 | 0) >> 1] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$683 : { + label$684 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < (40 | 0) & 1 | 0)) { + break label$684 + } + HEAP8[($3_1 + 810 | 0) >> 0] = 255; + break label$683; + } + HEAP8[($3_1 + 810 | 0) >> 0] = 0; + } + i64toi32_i32$4 = 0; + $8536 = 0; + $8536$hi = i64toi32_i32$4; + HEAP32[($3_1 + 804 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 792 | 0) >> 2] = $8536; + HEAP32[($3_1 + 796 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 788 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 824 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = $3_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $821(HEAP32[($3_1 + 788 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 792 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 796 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$3 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 792 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 796 | 0) >> 2] | 0; + $8539$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8536$hi; + i64toi32_i32$2 = $8539$hi; + i64toi32_i32$2 = $8536$hi; + i64toi32_i32$2 = $8539$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$4 = $8536$hi; + i64toi32_i32$1 = $8536; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$4 | 0)) { + $646_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$3 >>> 0 > i64toi32_i32$1 >>> 0) { + $647_1 = 0 + } else { + $647_1 = 1 + } + $648_1 = $647_1; + } else { + $648_1 = 0 + } + $646_1 = $648_1; + } + label$685 : { + label$686 : { + if ($646_1 & 1 | 0) { + break label$686 + } + i64toi32_i32$3 = 0; + $8541$hi = i64toi32_i32$3; + i64toi32_i32$1 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 792 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 796 | 0) >> 2] | 0; + $8543$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8541$hi; + i64toi32_i32$2 = $8543$hi; + i64toi32_i32$2 = $8541$hi; + i64toi32_i32$2 = $8543$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $8541$hi; + i64toi32_i32$4 = 2147483647; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$3 | 0)) { + $649_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$4 >>> 0) { + $650_1 = 0 + } else { + $650_1 = 1 + } + $652_1 = $650_1; + } else { + $652_1 = 0 + } + $649_1 = $652_1; + } + if (!($649_1 & 1 | 0)) { + break label$685 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(91664 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + $5813 = $3_1 + 744 | 0; + $943($5813 | 0, HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, 0 & 65535 | 0 | 0); + i64toi32_i32$4 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 792 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 796 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $903(HEAP32[($3_1 + 788 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, $5813 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$687 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$687 + } + break label$2; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $944(HEAP32[($3_1 + 756 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 760 | 0) >> 2] | 0 | 0, $3_1 + 800 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 820 | 0) >> 2] = wasm2js_i32$1; + $227($3_1 + 744 | 0 | 0); + label$688 : { + label$689 : { + if (((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$689 + } + HEAP32[($3_1 + 820 | 0) >> 2] = 0 - (HEAP32[($3_1 + 820 | 0) >> 2] | 0) | 0; + break label$688; + } + HEAP32[($3_1 + 820 | 0) >> 2] = (HEAP32[($3_1 + 820 | 0) >> 2] | 0) + 1 | 0; + } + label$690 : { + if (!((HEAP32[($3_1 + 820 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$690 + } + break label$11; + } + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + label$691 : { + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 176 | 0) >> 2] | 0 | 0) > ((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$691 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 6; + HEAP8[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 146 | 0) >> 0] = 2; + break label$2; + } + HEAP32[($3_1 + 736 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 740 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $945(HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 736 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $3_1 + 740 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + i64toi32_i32$1 = HEAP32[($3_1 + 740 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $22270 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22270; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + label$692 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$692 + } + break label$2; + } + label$693 : { + if (!(HEAP32[($3_1 + 740 | 0) >> 2] | 0)) { + break label$693 + } + $946(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 736 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 740 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP8[($3_1 + 1947 | 0) >> 0] = (HEAP32[($3_1 + 736 | 0) >> 2] | 0) + 1 | 0; + } + break label$8; + } + HEAP32[($3_1 + 732 | 0) >> 2] = 0; + $5909 = HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + $5911 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$694 : { + label$695 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$695 + } + $5917 = $3_1 + 732 | 0; + break label$694; + } + $5917 = 0; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $917($5909 | 0, $5911 | 0, $5917 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$696 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$696 + } + $5925 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($5925 + 44 | 0) >> 2] = (HEAP32[($5925 + 44 | 0) >> 2] | 0) + (HEAP32[($3_1 + 732 | 0) >> 2] | 0) | 0; + label$697 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$697 + } + i64toi32_i32$1 = HEAP32[($3_1 + 732 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $8547 = i64toi32_i32$1; + $8547$hi = i64toi32_i32$2; + $5942 = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$4 = $5942; + i64toi32_i32$2 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $22391$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8547$hi; + i64toi32_i32$1 = $22391$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $8547$hi; + i64toi32_i32$3 = $8547; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$4 = $5942; + HEAP32[i64toi32_i32$4 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$5; + } + } + label$698 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$698 + } + break label$2; + } + break label$8; + } + HEAP32[($3_1 + 728 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$699 : { + label$700 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 728 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$700 + } + $862(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 728 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + break label$699; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $947(HEAP32[((HEAP32[($3_1 + 728 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$701 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$701 + } + break label$2; + } + } + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 724 | 0) >> 2] = 0; + HEAP32[($3_1 + 720 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $918(HEAP32[((HEAP32[($3_1 + 720 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $3_1 + 724 | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$702 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$702 + } + break label$2; + } + i64toi32_i32$5 = 0; + i64toi32_i32$4 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$4 >> 2] = HEAP32[($3_1 + 724 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$5; + break label$8; + } + $5992 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP8[($5992 + 90 | 0) >> 0] = (HEAPU8[($5992 + 90 | 0) >> 0] | 0) + 1 | 0; + $5999 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $400(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $5999 | 0, $5999 | 0, $5999 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + $6001 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP8[($6001 + 90 | 0) >> 0] = (HEAPU8[($6001 + 90 | 0) >> 0] | 0) + -1 | 0; + label$703 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$703 + } + break label$2; + } + break label$8; + } + HEAP32[($3_1 + 716 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$704 : { + label$705 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$705 + } + $170(HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 716 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0 | 0); + $6023 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($6023 + 24 | 0) >> 2] = (HEAP32[($6023 + 24 | 0) >> 2] | 0) & -17 | 0; + $6032 = 1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $504(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 716 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0 | 0, $6032 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + $6034 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($6034 + 24 | 0) >> 2] = HEAP32[($6034 + 24 | 0) >> 2] | 0 | $6032 | 0; + $6037 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP16[($6037 + 150 | 0) >> 1] = (HEAPU16[($6037 + 150 | 0) >> 1] | 0) & -4 | 0; + break label$704; + } + HEAP32[($3_1 + 712 | 0) >> 2] = 8004; + HEAP32[($3_1 + 680 | 0) >> 2] = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($3_1 + 688 | 0) >> 2] = HEAP32[($3_1 + 716 | 0) >> 2] | 0; + HEAP32[($3_1 + 684 | 0) >> 2] = (HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0; + HEAP32[($3_1 + 696 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $133(HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 716 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 704 | 0) >> 2] = wasm2js_i32$1; + $6056 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + $6063 = HEAP32[((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 716 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $6064 = HEAP32[($3_1 + 712 | 0) >> 2] | 0; + HEAP32[($3_1 + 120 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 116 | 0) >> 2] = $6064; + HEAP32[($3_1 + 112 | 0) >> 2] = $6063; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $351($6056 | 0, 8018 | 0, $3_1 + 112 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 708 | 0) >> 2] = wasm2js_i32$1; + label$706 : { + label$707 : { + if (!((HEAP32[($3_1 + 708 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$707 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 7; + break label$706; + } + $6080 = 0; + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 165 | 0) >> 0] = 1; + HEAP32[($3_1 + 692 | 0) >> 2] = $6080; + HEAP32[($3_1 + 700 | 0) >> 2] = $6080; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $400(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 708 | 0) >> 2] | 0 | 0, 4 | 0, $3_1 + 680 | 0 | 0, $6080 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$708 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$708 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = HEAP32[($3_1 + 692 | 0) >> 2] | 0; + } + label$709 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$709 + } + if (HEAP32[($3_1 + 700 | 0) >> 2] | 0) { + break label$709 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(91917 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + } + $23(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 708 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 165 | 0) >> 0] = 0; + } + } + label$710 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$710 + } + $141(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0); + label$711 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$711 + } + break label$3; + } + break label$2; + } + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $949(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$712 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$712 + } + break label$2; + } + break label$8; + } + $950(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + break label$8; + } + $951(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + break label$8; + } + $952(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + break label$8; + } + HEAP32[($3_1 + 676 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 672 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 660 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 660 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $953(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 672 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($3_1 + 676 | 0) >> 2] | 0 | 0, i64toi32_i32$5 + 1 | 0 | 0, $3_1 + 668 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 664 | 0) >> 2] = wasm2js_i32$1; + $262(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0); + label$713 : { + label$714 : { + if (HEAP32[($3_1 + 668 | 0) >> 2] | 0) { + break label$714 + } + break label$713; + } + label$715 : { + if (!((HEAP32[($3_1 + 664 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$715 + } + break label$3; + } + i64toi32_i32$5 = (HEAP32[($3_1 + 668 | 0) >> 2] | 0) - 1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $8552 = i64toi32_i32$5; + $8552$hi = i64toi32_i32$4; + $6183 = HEAP32[($3_1 + 660 | 0) >> 2] | 0; + i64toi32_i32$1 = $6183; + i64toi32_i32$4 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $22959$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8552$hi; + i64toi32_i32$5 = $22959$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$4 = $8552$hi; + i64toi32_i32$3 = $8552; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$5 - i64toi32_i32$0 | 0; + i64toi32_i32$1 = $6183; + HEAP32[i64toi32_i32$1 >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $256(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 664 | 0) >> 2] | 0 | 0, -1 | 0, 1 & 255 | 0 | 0, 3 | 0) | 0; + } + $328(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + break label$9; + } + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1916 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + label$716 : { + if (((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0) { + break label$716 + } + label$717 : { + if (!($954(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0)) { + break label$717 + } + break label$3; + } + } + i64toi32_i32$5 = HEAP32[($3_1 + 1916 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $955(HEAP32[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + break label$8; + } + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + label$718 : { + label$719 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$719 + } + if ($956(HEAP32[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 + 648 | 0 | 0) | 0) { + break label$718 + } + } + $262(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0); + break label$10; + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 648 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 652 | 0) >> 2] | 0; + $268((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$9; + } + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 644 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$720 : { + if (((HEAPU16[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0) { + break label$720 + } + label$721 : { + if (!($954(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0)) { + break label$721 + } + break label$3; + } + } + label$722 : { + if (!(HEAP32[($3_1 + 644 | 0) >> 2] | 0)) { + break label$722 + } + i64toi32_i32$5 = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $957(HEAP32[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 644 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 640 | 0) >> 2] = wasm2js_i32$1; + label$723 : { + if (!(HEAP32[($3_1 + 640 | 0) >> 2] | 0)) { + break label$723 + } + break label$11; + } + } + label$724 : { + if (!((HEAP32[($3_1 + 644 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$724 + } + i64toi32_i32$5 = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $955(HEAP32[((HEAP32[($3_1 + 1920 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + } + break label$8; + } + HEAP32[($3_1 + 612 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 628 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$725 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$725 + } + HEAP32[($3_1 + 608 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 616 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0; + label$726 : while (1) { + $6309 = 0; + label$727 : { + if (!((HEAP32[($3_1 + 616 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$727 + } + $6309 = (HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 608 | 0) >> 2] | 0 | 0); + } + label$728 : { + if (!($6309 & 1 | 0)) { + break label$728 + } + HEAP32[($3_1 + 616 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$726; + } + break label$726; + }; + label$729 : { + if (!((HEAP32[($3_1 + 616 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$729 + } + break label$8; + } + } + label$730 : { + if (!((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$730 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 1; + $852(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, 8061 | 0, 0 | 0); + break label$2; + } + label$731 : { + label$732 : { + if (((HEAPU16[((HEAP32[($3_1 + 628 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0) { + break label$732 + } + HEAP32[($3_1 + 636 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + label$733 : { + if (HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$733 + } + HEAP32[($3_1 + 636 | 0) >> 2] = (HEAP32[($3_1 + 636 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($3_1 + 632 | 0) >> 2] = ((Math_imul(HEAP32[($3_1 + 636 | 0) >> 2] | 0, 40) + 80 | 0) + ((HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) | 0) + (((HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 7 | 0 | 0) / (8 | 0) | 0) | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 632 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $308(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 616 | 0) >> 2] = wasm2js_i32$1; + label$734 : { + if ((HEAP32[($3_1 + 616 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$734 + } + break label$3; + } + $227(HEAP32[($3_1 + 628 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($3_1 + 628 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1040; + HEAP32[((HEAP32[($3_1 + 628 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($3_1 + 616 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 628 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 632 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 628 | 0) >> 2] | 0) + 36 | 0) >> 2] = 5; + HEAP32[(HEAP32[($3_1 + 616 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($3_1 + 636 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 48 | 0) >> 2] = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 620 | 0) >> 2] = ((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 624 | 0) >> 2] = (HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 80 | 0; + label$735 : { + label$736 : while (1) { + if (!((HEAP32[($3_1 + 624 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 620 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$735 + } + HEAP16[((HEAP32[($3_1 + 624 | 0) >> 2] | 0) + 8 | 0) >> 1] = 128; + HEAP32[((HEAP32[($3_1 + 624 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($3_1 + 624 | 0) >> 2] = (HEAP32[($3_1 + 624 | 0) >> 2] | 0) + 40 | 0; + continue label$736; + }; + } + break label$731; + } + HEAP32[($3_1 + 616 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 628 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + $6455 = 0; + $6456 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($6456 + 204 | 0) >> 2] = (HEAP32[($6456 + 204 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 44 | 0) >> 2] | 0; + $23610 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 616 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $23610; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 1964 | 0) >> 2] | 0) >> 2] | 0) + 100 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 216 | 0) >> 2] = $6455; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 44 | 0) >> 2] = $6455; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] = HEAP32[($3_1 + 616 | 0) >> 2] | 0; + $6481 = (HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 80 | 0; + HEAP32[($3_1 + 1924 | 0) >> 2] = $6481; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 88 | 0) >> 2] = $6481; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 28 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) & 65535 | 0; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0, 40) | 0; + HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) | 0; + $3289(HEAP32[((HEAP32[($3_1 + 616 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 0 | 0, ((HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 7 | 0 | 0) / (8 | 0) | 0 | 0) | 0; + $6516 = HEAP32[(HEAP32[($3_1 + 612 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 1960 | 0) >> 2] = $6516; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] = $6516; + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 108 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 612 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + -20 | 0; + break label$9; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 604 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0; + HEAP32[($3_1 + 600 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 604 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[(((HEAP32[((HEAP32[($3_1 + 604 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 604 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0) | 0, 40) | 0; + $889(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 600 | 0) >> 2] | 0 | 0, 4096 | 0); + break label$8; + } + i64toi32_i32$1 = 0; + $8561$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 36 | 0) >> 2] | 0; + $8562$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $8563$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8562$hi; + i64toi32_i32$0 = $8563$hi; + i64toi32_i32$0 = $8562$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $8563$hi; + i64toi32_i32$3 = 524288; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $8565$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8561$hi; + i64toi32_i32$1 = $8565$hi; + i64toi32_i32$1 = $8561$hi; + i64toi32_i32$1 = $8565$hi; + i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + i64toi32_i32$5 = $8561$hi; + i64toi32_i32$3 = 0; + label$737 : { + label$738 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$738 + } + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $8567 = i64toi32_i32$1; + $8567$hi = i64toi32_i32$0; + $6555 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$3 = $6555; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 472 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 476 | 0) >> 2] | 0; + $23843$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8567$hi; + i64toi32_i32$1 = $23843$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $8567$hi; + i64toi32_i32$5 = $8567; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$3 = $6555; + HEAP32[(i64toi32_i32$3 + 472 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 476 | 0) >> 2] = i64toi32_i32$2; + break label$737; + } + label$739 : { + label$740 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$740 + } + i64toi32_i32$3 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; + $8570 = i64toi32_i32$3; + $8570$hi = i64toi32_i32$2; + $6561 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$1 = $6561; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 464 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 468 | 0) >> 2] | 0; + $23865$hi = i64toi32_i32$3; + i64toi32_i32$3 = $8570$hi; + i64toi32_i32$3 = $23865$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $8570$hi; + i64toi32_i32$5 = $8570; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $6561; + HEAP32[(i64toi32_i32$1 + 464 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 468 | 0) >> 2] = i64toi32_i32$4; + break label$739; + } + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $8573 = i64toi32_i32$1; + $8573$hi = i64toi32_i32$4; + $6565 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + i64toi32_i32$3 = $6565; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 68 | 0) >> 2] | 0; + $23881$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8573$hi; + i64toi32_i32$1 = $23881$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$4 = $8573$hi; + i64toi32_i32$5 = $8573; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$3 = $6565; + HEAP32[(i64toi32_i32$3 + 64 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$3 + 68 | 0) >> 2] = i64toi32_i32$0; + } + } + break label$8; + } + label$741 : { + label$742 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$742 + } + i64toi32_i32$0 = 0; + $8576$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 464 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 468 | 0) >> 2] | 0; + $8578$hi = i64toi32_i32$3; + i64toi32_i32$3 = $8576$hi; + i64toi32_i32$3 = $8578$hi; + i64toi32_i32$3 = $8576$hi; + i64toi32_i32$3 = $8578$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $8576$hi; + i64toi32_i32$5 = 0; + label$743 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$743 + } + i64toi32_i32$1 = 0; + $8580$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 472 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 476 | 0) >> 2] | 0; + $8582$hi = i64toi32_i32$3; + i64toi32_i32$3 = $8580$hi; + i64toi32_i32$3 = $8582$hi; + i64toi32_i32$3 = $8580$hi; + i64toi32_i32$3 = $8582$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $8580$hi; + i64toi32_i32$0 = 0; + if (!(((i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$743 + } + break label$11; + } + break label$741; + } + i64toi32_i32$5 = 0; + $8584$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] | 0; + $8586$hi = i64toi32_i32$3; + i64toi32_i32$3 = $8584$hi; + i64toi32_i32$3 = $8586$hi; + i64toi32_i32$3 = $8584$hi; + i64toi32_i32$3 = $8586$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $8584$hi; + i64toi32_i32$1 = 0; + label$744 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$744 + } + i64toi32_i32$0 = 0; + $8588$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 472 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 476 | 0) >> 2] | 0; + $8590$hi = i64toi32_i32$3; + i64toi32_i32$3 = $8588$hi; + i64toi32_i32$3 = $8590$hi; + i64toi32_i32$3 = $8588$hi; + i64toi32_i32$3 = $8590$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $8588$hi; + i64toi32_i32$5 = 0; + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$744 + } + break label$11; + } + } + break label$8; + } + label$745 : { + label$746 : { + if (!((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$746 + } + HEAP32[($3_1 + 596 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0; + label$747 : { + label$748 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 596 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$747 + } + HEAP32[($3_1 + 596 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 596 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$748; + }; + } + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 596 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + break label$745; + } + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + } + $894(HEAP32[($3_1 + 1920 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 1916 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + $894(HEAP32[($3_1 + 1916 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $8592 = i64toi32_i32$1; + $8592$hi = i64toi32_i32$3; + i64toi32_i32$5 = HEAP32[($3_1 + 1916 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $8593$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8592$hi; + i64toi32_i32$1 = $8593$hi; + i64toi32_i32$1 = $8592$hi; + i64toi32_i32$1 = $8593$hi; + $24051 = i64toi32_i32$3; + i64toi32_i32$1 = $8592$hi; + i64toi32_i32$5 = $8592; + i64toi32_i32$3 = $8593$hi; + i64toi32_i32$0 = $24051; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$3 | 0)) { + $653_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$0 >>> 0) { + $654_1 = 0 + } else { + $654_1 = 1 + } + $655_1 = $654_1; + } else { + $655_1 = 0 + } + $653_1 = $655_1; + } + label$749 : { + if (!($653_1 & 1 | 0)) { + break label$749 + } + i64toi32_i32$0 = HEAP32[($3_1 + 1916 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $24065 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $24065; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$1; + } + break label$8; + } + i64toi32_i32$1 = 0; + $8597$hi = i64toi32_i32$1; + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $8599$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8597$hi; + i64toi32_i32$5 = $8599$hi; + i64toi32_i32$5 = $8597$hi; + i64toi32_i32$5 = $8599$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $8597$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$1 | 0)) { + $656_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $657_1 = 0 + } else { + $657_1 = 1 + } + $658_1 = $657_1; + } else { + $658_1 = 0 + } + $656_1 = $658_1; + } + label$750 : { + if (!($656_1 & 1 | 0)) { + break label$750 + } + i64toi32_i32$5 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$5 >> 31 | 0; + $8601 = i64toi32_i32$5; + $8601$hi = i64toi32_i32$0; + $6645 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$3 = $6645; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $24105$hi = i64toi32_i32$5; + i64toi32_i32$5 = $8601$hi; + i64toi32_i32$5 = $24105$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $8601$hi; + i64toi32_i32$1 = $8601; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$2 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$5 - i64toi32_i32$2 | 0; + i64toi32_i32$3 = $6645; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + break label$11; + } + break label$8; + } + i64toi32_i32$2 = 0; + $8604$hi = i64toi32_i32$2; + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 1912 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$5 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $24152 = i64toi32_i32$2; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 584 | 0) >> 2] = $24152; + HEAP32[($3_1 + 588 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$5 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 584 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 588 | 0) >> 2] | 0; + $8607$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8604$hi; + i64toi32_i32$2 = $8607$hi; + i64toi32_i32$2 = $8604$hi; + i64toi32_i32$2 = $8607$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$3 = $8604$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$3 | 0)) { + $659_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$5 >>> 0 > i64toi32_i32$1 >>> 0) { + $660_1 = 0 + } else { + $660_1 = 1 + } + $661_1 = $660_1; + } else { + $661_1 = 0 + } + $659_1 = $661_1; + } + label$751 : { + label$752 : { + label$753 : { + if ($659_1 & 1 | 0) { + break label$753 + } + i64toi32_i32$5 = 0; + $8609$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $8611$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8609$hi; + i64toi32_i32$2 = $8611$hi; + i64toi32_i32$2 = $8609$hi; + i64toi32_i32$2 = $8611$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $8609$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $662_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $663_1 = 0 + } else { + $663_1 = 1 + } + $664_1 = $663_1; + } else { + $664_1 = 0 + } + $662_1 = $664_1; + } + label$754 : { + label$755 : { + if (!($662_1 & 1 | 0)) { + break label$755 + } + i64toi32_i32$3 = HEAP32[($3_1 + 1912 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $8614 = i64toi32_i32$1; + $8614$hi = i64toi32_i32$2; + break label$754; + } + i64toi32_i32$2 = 0; + $8614 = 0; + $8614$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $8614$hi; + if (!($891($3_1 + 584 | 0 | 0, $8614 | 0, i64toi32_i32$2 | 0) | 0)) { + break label$752 + } + } + i64toi32_i32$2 = -1; + i64toi32_i32$1 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + break label$751; + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 584 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 588 | 0) >> 2] | 0; + $24203 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $24203; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + } + break label$8; + } + i64toi32_i32$1 = 0; + $8619$hi = i64toi32_i32$1; + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $8621$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8619$hi; + i64toi32_i32$2 = $8621$hi; + i64toi32_i32$2 = $8619$hi; + i64toi32_i32$2 = $8621$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $8619$hi; + i64toi32_i32$5 = 0; + label$756 : { + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$756 + } + i64toi32_i32$3 = 0; + $8623$hi = i64toi32_i32$3; + i64toi32_i32$5 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $8625$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8623$hi; + i64toi32_i32$2 = $8625$hi; + i64toi32_i32$2 = $8623$hi; + i64toi32_i32$2 = $8625$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$3 = $8623$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$3 | 0)) { + $665_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$5 >>> 0 <= i64toi32_i32$1 >>> 0) { + $666_1 = 0 + } else { + $666_1 = 1 + } + $667_1 = $666_1; + } else { + $667_1 = 0 + } + $665_1 = $667_1; + } + label$757 : { + if (!($665_1 & 1 | 0)) { + break label$757 + } + $6690 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$1 = $6690; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $8627$hi = i64toi32_i32$2; + i64toi32_i32$2 = -1; + $8628$hi = i64toi32_i32$2; + i64toi32_i32$2 = $8627$hi; + i64toi32_i32$2 = $8628$hi; + i64toi32_i32$2 = $8627$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $8628$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $6690; + HEAP32[i64toi32_i32$1 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + } + break label$11; + } + break label$8; + } + i64toi32_i32$4 = -2147483648; + $8630$hi = i64toi32_i32$4; + HEAP32[($3_1 + 1920 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $8632$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8630$hi; + i64toi32_i32$1 = $8632$hi; + i64toi32_i32$1 = $8630$hi; + i64toi32_i32$1 = $8632$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $8630$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$4 | 0)) { + $668_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $669_1 = 0 + } else { + $669_1 = 1 + } + $670_1 = $669_1; + } else { + $670_1 = 0 + } + $668_1 = $670_1; + } + label$758 : { + if (!($668_1 & 1 | 0)) { + break label$758 + } + $6701 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$3 = $6701; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $8634$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $8635$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8634$hi; + i64toi32_i32$1 = $8635$hi; + i64toi32_i32$1 = $8634$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $8635$hi; + i64toi32_i32$4 = -1; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$3 = $6701; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$0 = 0; + $8637$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($3_1 + 1920 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $8639$hi = i64toi32_i32$3; + i64toi32_i32$3 = $8637$hi; + i64toi32_i32$3 = $8639$hi; + i64toi32_i32$3 = $8637$hi; + i64toi32_i32$3 = $8639$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $8637$hi; + i64toi32_i32$4 = 0; + label$759 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$4 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$759 + } + break label$11; + } + break label$8; + } + HEAP32[($3_1 + 580 | 0) >> 2] = (HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $365(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, ((HEAP32[($3_1 + 580 | 0) >> 2] | 0) << 2 | 0) + 68 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 576 | 0) >> 2] = wasm2js_i32$1; + label$760 : { + if (!((HEAP32[($3_1 + 576 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$760 + } + break label$3; + } + $6727 = 0; + HEAP32[((HEAP32[($3_1 + 576 | 0) >> 2] | 0) + 8 | 0) >> 2] = $6727; + HEAP32[(HEAP32[($3_1 + 576 | 0) >> 2] | 0) >> 2] = ((HEAP32[($3_1 + 576 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($3_1 + 580 | 0) >> 2] | 0) << 2 | 0) | 0; + $943(HEAP32[(HEAP32[($3_1 + 576 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + HEAP32[((HEAP32[($3_1 + 576 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 576 | 0) >> 2] | 0) + 16 | 0) >> 2] = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 576 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 576 | 0) >> 2] | 0) + 24 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 576 | 0) >> 2] | 0) + 20 | 0) >> 2] = $6727; + HEAP8[((HEAP32[($3_1 + 576 | 0) >> 2] | 0) + 25 | 0) >> 0] = HEAP32[($3_1 + 580 | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 1 | 0) >> 0] = 240; + HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($3_1 + 576 | 0) >> 2] | 0; + HEAP8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] = 156; + } + HEAP32[($3_1 + 568 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 564 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$761 : { + if (!((HEAP32[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 564 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$761 + } + HEAP32[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($3_1 + 564 | 0) >> 2] | 0; + HEAP32[($3_1 + 572 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + label$762 : { + label$763 : while (1) { + if (!((HEAP32[($3_1 + 572 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$762 + } + HEAP32[(((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($3_1 + 572 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[($3_1 + 572 | 0) >> 2] | 0) | 0, 40) | 0; + HEAP32[($3_1 + 572 | 0) >> 2] = (HEAP32[($3_1 + 572 | 0) >> 2] | 0) + -1 | 0; + continue label$763; + }; + } + } + $6812 = HEAP32[($3_1 + 564 | 0) >> 2] | 0; + HEAP32[($6812 + 12 | 0) >> 2] = (HEAP32[($6812 + 12 | 0) >> 2] | 0) + 1 | 0; + label$764 : { + label$765 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$765 + } + FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 568 | 0) >> 2] | 0, (HEAPU8[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0, (HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 28 | 0); + break label$764; + } + FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 568 | 0) >> 2] | 0, (HEAPU8[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0, (HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 28 | 0); + } + label$766 : { + if (!(HEAP32[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { + break label$766 + } + label$767 : { + if (!((HEAP32[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$767 + } + $6850 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($3_1 + 568 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + $852($6850 | 0, 1976 | 0, $3_1 + 128 | 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + label$768 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$768 + } + HEAP32[($3_1 + 572 | 0) >> 2] = HEAP32[(((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + -20 | 0) + 4 | 0) >> 2] | 0; + label$769 : { + if (!(HEAP32[($3_1 + 572 | 0) >> 2] | 0)) { + break label$769 + } + i64toi32_i32$1 = 0; + $268((HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 572 | 0) >> 2] | 0, 40) | 0 | 0, 1 | 0, i64toi32_i32$1 | 0); + } + HEAP8[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 24 | 0) >> 0] = 0; + } + $227(HEAP32[(HEAP32[($3_1 + 568 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[(HEAP32[($3_1 + 568 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + HEAP32[((HEAP32[($3_1 + 568 | 0) >> 2] | 0) + 20 | 0) >> 2] = 0; + label$770 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$770 + } + break label$2; + } + } + break label$8; + } + HEAP32[($3_1 + 560 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + label$771 : { + label$772 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$772 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $959(HEAP32[($3_1 + 560 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 560 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + break label$771; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $874(HEAP32[($3_1 + 560 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + } + label$773 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$773 + } + $6918 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $66(HEAP32[($3_1 + 560 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + $852($6918 | 0, 1976 | 0, $3_1 + 144 | 0 | 0); + break label$2; + } + $328(HEAP32[($3_1 + 560 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + label$774 : { + if (!($887(HEAP32[($3_1 + 560 | 0) >> 2] | 0 | 0) | 0)) { + break label$774 + } + break label$13; + } + break label$8; + } + $6932 = $3_1 + 544 | 0; + $6933 = -1; + HEAP32[($3_1 + 544 | 0) >> 2] = 0; + HEAP32[($3_1 + 552 | 0) >> 2] = $6933; + HEAP32[($3_1 + 548 | 0) >> 2] = $6933; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $480(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $6932 + 4 | 0 | 0, $6932 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$775 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$775 + } + label$776 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$776 + } + break label$2; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 0; + HEAP32[($3_1 + 544 | 0) >> 2] = 1; + } + HEAP32[($3_1 + 556 | 0) >> 2] = 0; + HEAP32[($3_1 + 540 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$777 : { + label$778 : while (1) { + if (!((HEAP32[($3_1 + 556 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$777 + } + i64toi32_i32$3 = HEAP32[(($3_1 + 544 | 0) + ((HEAP32[($3_1 + 556 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $268(HEAP32[($3_1 + 540 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0); + HEAP32[($3_1 + 556 | 0) >> 2] = (HEAP32[($3_1 + 556 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 540 | 0) >> 2] = (HEAP32[($3_1 + 540 | 0) >> 2] | 0) + 40 | 0; + continue label$778; + }; + } + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 528 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 536 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $9(HEAP32[($3_1 + 536 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 532 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $132(HEAP32[($3_1 + 532 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 524 | 0) >> 2] = wasm2js_i32$1; + label$779 : { + if (!((HEAP32[($3_1 + 528 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$779 + } + HEAP32[($3_1 + 528 | 0) >> 2] = HEAP32[($3_1 + 524 | 0) >> 2] | 0; + } + label$780 : { + if ($960(HEAP32[($3_1 + 532 | 0) >> 2] | 0 | 0) | 0) { + break label$780 + } + HEAP32[($3_1 + 528 | 0) >> 2] = HEAP32[($3_1 + 524 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $532(HEAP32[($3_1 + 532 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 520 | 0) >> 2] = wasm2js_i32$1; + label$781 : { + if (!((HEAP32[($3_1 + 528 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$781 + } + label$782 : { + if (!($68(HEAP32[($3_1 + 520 | 0) >> 2] | 0 | 0) | 0)) { + break label$782 + } + if ($792(HEAP32[($3_1 + 532 | 0) >> 2] | 0 | 0) | 0) { + break label$781 + } + } + HEAP32[($3_1 + 528 | 0) >> 2] = HEAP32[($3_1 + 524 | 0) >> 2] | 0; + } + label$783 : { + if (!((HEAP32[($3_1 + 528 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 524 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$783 + } + label$784 : { + if ((HEAP32[($3_1 + 524 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0) { + break label$784 + } + if (!((HEAP32[($3_1 + 528 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$783 + } + } + label$785 : { + label$786 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$786 + } + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 176 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$785 + } + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 1; + $7071 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($3_1 + 160 | 0) >> 2] = (HEAP32[($3_1 + 528 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0 ? 8150 : 8155; + $852($7071 | 0, 8098 | 0, $3_1 + 160 | 0 | 0); + break label$2; + } + label$787 : { + label$788 : { + if (!((HEAP32[($3_1 + 524 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$788 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $961(HEAP32[($3_1 + 532 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$789 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$789 + } + $962(HEAP32[($3_1 + 532 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 528 | 0) >> 2] | 0 | 0) | 0; + } + break label$787; + } + label$790 : { + if (!((HEAP32[($3_1 + 524 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$790 + } + $962(HEAP32[($3_1 + 532 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + } + } + label$791 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$791 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $142(HEAP32[($3_1 + 536 | 0) >> 2] | 0 | 0, ((HEAP32[($3_1 + 528 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0 ? 2 : 1) | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + } + } + label$792 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$792 + } + HEAP32[($3_1 + 528 | 0) >> 2] = HEAP32[($3_1 + 524 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $962(HEAP32[($3_1 + 532 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 528 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 528 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = 2562; + $7126 = $963(HEAP32[($3_1 + 528 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] = $7126; + $7130 = $68(HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 12 | 0) >> 2] = $7130; + HEAP8[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 10 | 0) >> 0] = 1; + $328(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + label$793 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$793 + } + break label$2; + } + break label$8; + } + $7140 = (HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0; + $7141 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + $7143 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$794 : { + label$795 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$795 + } + $7152 = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + break label$794; + } + $7152 = 0; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $964($7140 | 0, $7141 | 0, $7143 | 0, $7152 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$796 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$796 + } + break label$2; + } + break label$8; + } + HEAP32[($3_1 + 516 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $965(HEAP32[($3_1 + 516 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$797 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$797 + } + label$798 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) != (101 | 0) & 1 | 0)) { + break label$798 + } + break label$2; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 0; + break label$11; + } + break label$8; + } + label$799 : { + label$800 : { + if (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$800 + } + $395(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + break label$799; + } + $7183 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP16[($7183 + 150 | 0) >> 1] = (HEAPU16[($7183 + 150 | 0) >> 1] | 0) & -4 | 0 | (((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) + 1 | 0) & 3 | 0) | 0; + } + break label$8; + } + HEAP32[($3_1 + 512 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $966(HEAP32[((HEAP32[($3_1 + 512 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + break label$8; + } + HEAP32[($3_1 + 508 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $967(HEAP32[((HEAP32[($3_1 + 508 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + break label$8; + } + HEAP8[($3_1 + 507 | 0) >> 0] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$801 : { + label$802 : { + if ((HEAPU8[($3_1 + 507 | 0) >> 0] | 0) & 255 | 0) { + break label$802 + } + i64toi32_i32$1 = 0; + $8644$hi = i64toi32_i32$1; + i64toi32_i32$4 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$4 + 36 | 0) >> 2] | 0; + $8645$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $8646$hi = i64toi32_i32$3; + i64toi32_i32$3 = $8645$hi; + i64toi32_i32$3 = $8646$hi; + i64toi32_i32$3 = $8645$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $8646$hi; + i64toi32_i32$0 = 1024; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $8647$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8644$hi; + i64toi32_i32$1 = $8647$hi; + i64toi32_i32$1 = $8644$hi; + i64toi32_i32$1 = $8647$hi; + $25446 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + i64toi32_i32$1 = $8644$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = $8647$hi; + i64toi32_i32$0 = $25446; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$801 + } + } + HEAP32[($3_1 + 500 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $968(HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 500 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 507 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$803 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$803 + } + label$804 : { + if (!(((HEAP32[($3_1 + 1952 | 0) >> 2] | 0) & 255 | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$804 + } + HEAP32[($3_1 + 496 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $7248 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($3_1 + 176 | 0) >> 2] = HEAP32[($3_1 + 496 | 0) >> 2] | 0; + $852($7248 | 0, 8162 | 0, $3_1 + 176 | 0 | 0); + } + break label$2; + } + } + break label$8; + } + HEAP32[($3_1 + 492 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $969(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 492 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$805 : { + if (!((HEAP32[($3_1 + 492 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$805 + } + $870(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 492 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + } + label$806 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$806 + } + break label$2; + } + break label$8; + } + $7272 = $3_1 + 448 | 0; + i64toi32_i32$3 = 0; + $8650 = 0; + i64toi32_i32$1 = $7272; + HEAP32[i64toi32_i32$1 >> 2] = $8650; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $8650; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $7272 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $8650; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $7272 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $8650; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $7272 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $8650; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($3_1 + 480 | 0) >> 2] = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $281($7272 | 0, (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $66($7272 | 0) | 0), HEAP32[(wasm2js_i32$0 + 444 | 0) >> 2] = wasm2js_i32$1; + label$807 : { + if (!((HEAP32[($3_1 + 444 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$807 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $970(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 444 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + } + $227($3_1 + 448 | 0 | 0); + label$808 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$808 + } + break label$2; + } + break label$8; + } + $7308 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($7308 + 188 | 0) >> 2] = (HEAP32[($7308 + 188 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $971(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + $7318 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($7318 + 188 | 0) >> 2] = (HEAP32[($7318 + 188 | 0) >> 2] | 0) + -1 | 0; + label$809 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$809 + } + break label$2; + } + break label$8; + } + $7323 = 0; + HEAP32[($3_1 + 440 | 0) >> 2] = $7323; + HEAP32[($3_1 + 436 | 0) >> 2] = $7323; + HEAP32[($3_1 + 432 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$810 : { + label$811 : { + if ((HEAP32[($3_1 + 432 | 0) >> 2] | 0 | 0) == ($7323 | 0) & 1 | 0) { + break label$811 + } + if (!((HEAP32[(HEAP32[($3_1 + 432 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$810 + } + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 6; + break label$2; + } + HEAP32[($3_1 + 428 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 432 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 428 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 432 | 0) >> 2] | 0, $3_1 + 436 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + $870(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 432 | 0) >> 2] | 0 | 0); + label$812 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$812 + } + break label$2; + } + $7354 = 0; + HEAP32[(HEAP32[($3_1 + 436 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 432 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $914(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $7354 | 0, -1 | 0, 2 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 440 | 0) >> 2] = wasm2js_i32$1; + label$813 : { + label$814 : { + if (!((HEAP32[($3_1 + 440 | 0) >> 2] | 0 | 0) != ($7354 | 0) & 1 | 0)) { + break label$814 + } + HEAP32[((HEAP32[($3_1 + 440 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($3_1 + 436 | 0) >> 2] | 0; + $7373 = HEAP32[($3_1 + 432 | 0) >> 2] | 0; + HEAP32[($7373 + 4 | 0) >> 2] = (HEAP32[($7373 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$813; + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 428 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 436 | 0) >> 2] | 0) | 0; + break label$3; + } + break label$8; + } + $7380 = 0; + HEAP32[($3_1 + 412 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 408 | 0) >> 2] = (HEAP32[($3_1 + 412 | 0) >> 2] | 0) + 40 | 0; + HEAP32[($3_1 + 396 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 404 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 396 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($3_1 + 400 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 404 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 416 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 400 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 408 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 424 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($3_1 + 412 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 420 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 392 | 0) >> 2] = $7380; + HEAP32[($3_1 + 384 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0; + HEAP32[($3_1 + 388 | 0) >> 2] = $7380; + label$815 : { + label$816 : while (1) { + if (!((HEAP32[($3_1 + 388 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 424 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$815 + } + HEAP32[((HEAP32[($3_1 + 384 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 388 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($3_1 + 408 | 0) >> 2] | 0) + Math_imul((HEAP32[($3_1 + 388 | 0) >> 2] | 0) + 1 | 0, 40) | 0; + HEAP32[($3_1 + 388 | 0) >> 2] = (HEAP32[($3_1 + 388 | 0) >> 2] | 0) + 1 | 0; + continue label$816; + }; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 416 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 404 | 0) >> 2] | 0, HEAP32[($3_1 + 420 | 0) >> 2] | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, HEAP32[($3_1 + 424 | 0) >> 2] | 0, HEAP32[($3_1 + 384 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + $870(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 400 | 0) >> 2] | 0 | 0); + label$817 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$817 + } + break label$2; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 416 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 404 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 392 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($3_1 + 396 | 0) >> 2] | 0) + 2 | 0) >> 0] = 0; + label$818 : { + if (!(HEAP32[($3_1 + 392 | 0) >> 2] | 0)) { + break label$818 + } + break label$11; + } + break label$8; + } + HEAP32[($3_1 + 332 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 372 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$819 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 332 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$819 + } + $262(HEAP32[($3_1 + 372 | 0) >> 2] | 0 | 0); + break label$8; + } + $7478 = $3_1 + 336 | 0; + HEAP32[($3_1 + 380 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($3_1 + 332 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 376 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 380 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$3 = 0; + $8653 = 0; + i64toi32_i32$1 = $7478; + HEAP32[i64toi32_i32$1 >> 2] = $8653; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $8653; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $7478 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $8653; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $7478 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $8653; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($3_1 + 336 | 0) >> 2] = HEAP32[($3_1 + 372 | 0) >> 2] | 0; + label$820 : { + label$821 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$821 + } + $262(HEAP32[($3_1 + 372 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($3_1 + 372 | 0) >> 2] | 0) + 8 | 0) >> 1] = 16385; + HEAP32[(HEAP32[($3_1 + 372 | 0) >> 2] | 0) >> 2] = 0; + break label$820; + } + HEAP16[((HEAP32[($3_1 + 372 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 372 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 1 | 0; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 376 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 332 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0, $3_1 + 336 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + $870(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 380 | 0) >> 2] | 0 | 0); + label$822 : { + if (!((HEAP32[($3_1 + 356 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$822 + } + $7530 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $66(HEAP32[($3_1 + 372 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_i32$1; + $852($7530 | 0, 1976 | 0, $3_1 + 192 | 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = HEAP32[($3_1 + 356 | 0) >> 2] | 0; + } + $328(HEAP32[($3_1 + 372 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + label$823 : { + if (!($887(HEAP32[($3_1 + 372 | 0) >> 2] | 0 | 0) | 0)) { + break label$823 + } + break label$13; + } + label$824 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$824 + } + break label$2; + } + break label$8; + } + HEAP32[($3_1 + 320 | 0) >> 2] = 0; + HEAP32[($3_1 + 316 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$825 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 316 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$825 + } + break label$8; + } + HEAP32[($3_1 + 328 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($3_1 + 316 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 324 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 328 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 324 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 316 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + $870(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 328 | 0) >> 2] | 0 | 0); + label$826 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$826 + } + break label$2; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 324 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 316 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 320 | 0) >> 2] = wasm2js_i32$1; + label$827 : { + if (HEAP32[($3_1 + 320 | 0) >> 2] | 0) { + break label$827 + } + break label$10; + } + break label$9; + } + i64toi32_i32$0 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $8654$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $8655$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8654$hi; + i64toi32_i32$1 = $8655$hi; + i64toi32_i32$1 = $8654$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $8655$hi; + i64toi32_i32$4 = 67108864; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + HEAP32[($3_1 + 304 | 0) >> 2] = i64toi32_i32$0 & i64toi32_i32$4 | 0; + $7585 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$1 = $7585; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $8657$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $8658$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8657$hi; + i64toi32_i32$0 = $8658$hi; + i64toi32_i32$0 = $8657$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $8658$hi; + i64toi32_i32$4 = 67108864; + i64toi32_i32$3 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $26328 = i64toi32_i32$1 | i64toi32_i32$4 | 0; + i64toi32_i32$1 = $7585; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $26328; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($3_1 + 312 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 308 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 40) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $328(HEAP32[($3_1 + 308 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$828 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$828 + } + break label$2; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($3_1 + 312 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 312 | 0) >> 2] | 0, HEAP32[((HEAP32[($3_1 + 308 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + label$829 : { + if (HEAP32[($3_1 + 304 | 0) >> 2] | 0) { + break label$829 + } + $7606 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + i64toi32_i32$0 = $7606; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $8660$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $8661$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8660$hi; + i64toi32_i32$1 = $8661$hi; + i64toi32_i32$1 = $8660$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $8661$hi; + i64toi32_i32$4 = -67108865; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $26391 = i64toi32_i32$0 & i64toi32_i32$4 | 0; + i64toi32_i32$0 = $7606; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $26391; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$3; + } + $870(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 312 | 0) >> 2] | 0 | 0); + $7609 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP16[($7609 + 150 | 0) >> 1] = (HEAPU16[($7609 + 150 | 0) >> 1] | 0) & -4 | 0; + label$830 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$830 + } + break label$2; + } + break label$8; + } + label$831 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$831 + } + break label$3; + } + HEAP32[($3_1 + 300 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$832 : { + label$833 : { + if ((HEAP32[($3_1 + 300 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$833 + } + if (!((HEAP32[(HEAP32[($3_1 + 300 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$832 + } + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 6; + break label$2; + } + HEAP32[($3_1 + 296 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 300 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 292 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$834 : { + if (!((HEAP32[((HEAP32[($3_1 + 296 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$834 + } + HEAP8[($3_1 + 271 | 0) >> 0] = HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 86 | 0) >> 0] | 0; + HEAP32[($3_1 + 276 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0; + HEAP32[($3_1 + 272 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 288 | 0) >> 2] = 0; + label$835 : { + label$836 : while (1) { + if (!((HEAP32[($3_1 + 288 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 292 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$835 + } + HEAP32[((HEAP32[($3_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 288 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($3_1 + 272 | 0) >> 2] | 0; + HEAP32[($3_1 + 272 | 0) >> 2] = (HEAP32[($3_1 + 272 | 0) >> 2] | 0) + 40 | 0; + HEAP32[($3_1 + 288 | 0) >> 2] = (HEAP32[($3_1 + 288 | 0) >> 2] | 0) + 1 | 0; + continue label$836; + }; + } + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 86 | 0) >> 0] = HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 296 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 300 | 0) >> 2] | 0, HEAP32[($3_1 + 292 | 0) >> 2] | 0, HEAP32[($3_1 + 276 | 0) >> 2] | 0, $3_1 + 280 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 86 | 0) >> 0] = HEAPU8[($3_1 + 271 | 0) >> 0] | 0; + $870(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 300 | 0) >> 2] | 0 | 0); + label$837 : { + if (HEAP32[($3_1 + 1952 | 0) >> 2] | 0) { + break label$837 + } + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$837 + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 280 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 284 | 0) >> 2] | 0; + $26616 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] = $26616; + HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] = i64toi32_i32$0; + } + label$838 : { + label$839 : { + if (!(((HEAP32[($3_1 + 1952 | 0) >> 2] | 0) & 255 | 0 | 0) == (19 | 0) & 1 | 0)) { + break label$839 + } + if (!((HEAPU8[((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0)) { + break label$839 + } + label$840 : { + label$841 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$841 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 0; + break label$840; + } + label$842 : { + label$843 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$843 + } + $7741 = 2; + break label$842; + } + $7741 = (HEAPU16[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + } + HEAP8[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 146 | 0) >> 0] = $7741; + } + break label$838; + } + $7748 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($7748 + 44 | 0) >> 2] = (HEAP32[($7748 + 44 | 0) >> 2] | 0) + 1 | 0; + } + label$844 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$844 + } + break label$2; + } + } + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + $8664 = $133(HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $8664; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$8; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $886(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1908 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 260 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 264 | 0) >> 2] = 0; + label$845 : { + if (!(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$845 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $133(HEAP32[($3_1 + 260 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 264 | 0) >> 2] = wasm2js_i32$1; + label$846 : { + if (!((HEAP32[($3_1 + 264 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$846 + } + HEAP32[($3_1 + 264 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + } + i64toi32_i32$0 = 0; + $8665 = $972(HEAP32[($3_1 + 260 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 264 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $8665; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$8; + } + HEAP32[($3_1 + 252 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 1908 | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 40) | 0; + label$847 : { + if (!((HEAP32[(HEAP32[($3_1 + 252 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$847 + } + HEAP32[((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[(HEAP32[($3_1 + 252 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 1908 | 0) >> 2] | 0; + HEAP32[($3_1 + 256 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + label$848 : { + label$849 : while (1) { + if (!((HEAP32[($3_1 + 256 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$848 + } + HEAP32[(((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($3_1 + 256 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($3_1 + 1924 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[($3_1 + 256 | 0) >> 2] | 0) | 0, 40) | 0; + HEAP32[($3_1 + 256 | 0) >> 2] = (HEAP32[($3_1 + 256 | 0) >> 2] | 0) + -1 | 0; + continue label$849; + }; + } + } + HEAP16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 1 | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 252 | 0) >> 2] | 0, (HEAPU8[((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0, (HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 28 | 0); + label$850 : { + if (!(HEAP32[((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { + break label$850 + } + label$851 : { + if (!((HEAP32[((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$851 + } + $7879 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $66(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 208 | 0) >> 2] = wasm2js_i32$1; + $852($7879 | 0, 1976 | 0, $3_1 + 208 | 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + $851(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 216 | 0 | 0, HEAP32[((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 252 | 0) >> 2] | 0) + 20 | 0) >> 2] = 0; + label$852 : { + if (!(HEAP32[($3_1 + 1952 | 0) >> 2] | 0)) { + break label$852 + } + break label$2; + } + } + label$853 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 1908 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0)) { + break label$853 + } + $328(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0, (HEAPU8[($3_1 + 1946 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + label$854 : { + if (!($887(HEAP32[($3_1 + 1908 | 0) >> 2] | 0 | 0) | 0)) { + break label$854 + } + break label$13; + } + } + break label$8; + } + label$855 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 88 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$855 + } + if (((HEAPU8[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 149 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$855 + } + label$856 : { + label$857 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$857 + } + $7936 = HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$856; + } + $7936 = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0; + } + $7939 = $7936; + HEAP32[($3_1 + 244 | 0) >> 2] = $7939; + if (!(($7939 | 0) != (0 | 0) & 1 | 0)) { + break label$855 + } + label$858 : { + label$859 : { + if (!((HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 184 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$859 + } + $7954 = HEAP32[($3_1 + 1948 | 0) >> 2] | 0; + HEAP32[($3_1 + 224 | 0) >> 2] = HEAP32[($3_1 + 244 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $351($7954 | 0, 8191 | 0, $3_1 + 224 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0 | 0](1, HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0, HEAP32[($3_1 + 1964 | 0) >> 2] | 0, HEAP32[($3_1 + 240 | 0) >> 2] | 0) | 0; + $13(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 240 | 0) >> 2] | 0 | 0); + break label$858; + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0 | 0](1, HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0, HEAP32[($3_1 + 1964 | 0) >> 2] | 0, HEAP32[($3_1 + 244 | 0) >> 2] | 0) | 0; + } + } + label$860 : { + if (!((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) >= (HEAP32[(0 + 68620 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$860 + } + label$861 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 1956 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (171 | 0) & 1 | 0)) { + break label$861 + } + break label$8; + } + HEAP32[($3_1 + 248 | 0) >> 2] = 1; + label$862 : { + label$863 : while (1) { + if (!((HEAP32[($3_1 + 248 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$862 + } + label$864 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 248 | 0) >> 2] | 0, 20) | 0) >> 0] | 0) & 255 | 0 | 0) == (17 | 0) & 1 | 0)) { + break label$864 + } + HEAP32[(((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 248 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] = 0; + } + HEAP32[($3_1 + 248 | 0) >> 2] = (HEAP32[($3_1 + 248 | 0) >> 2] | 0) + 1 | 0; + continue label$863; + }; + } + HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + } + $8031 = HEAP32[($3_1 + 1956 | 0) >> 2] | 0; + HEAP32[($8031 + 4 | 0) >> 2] = (HEAP32[($8031 + 4 | 0) >> 2] | 0) + 1 | 0; + $8035 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($8035 + 184 | 0) >> 2] = (HEAP32[($8035 + 184 | 0) >> 2] | 0) + 1 | 0; + break label$11; + } + break label$8; + } + break label$2; + } + $852(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, 1760 | 0, 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = 18; + break label$2; + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 20 | 0; + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + break label$8; + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + } + HEAP32[($3_1 + 1900 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0; + label$865 : { + if (!(HEAP32[($3_1 + 1900 | 0) >> 2] | 0)) { + break label$865 + } + break label$5; + } + } + HEAP32[($3_1 + 1956 | 0) >> 2] = (HEAP32[($3_1 + 1956 | 0) >> 2] | 0) + 20 | 0; + continue label$7; + }; + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 9; + break label$2; + } + $118(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0); + $852(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0, 8229 | 0, 0 | 0); + HEAP32[($3_1 + 1952 | 0) >> 2] = 7; + } + label$866 : { + label$867 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 1948 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$867 + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 7; + break label$866; + } + label$868 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) == (8458 | 0) & 1 | 0)) { + break label$868 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(93753 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1952 | 0) >> 2] = wasm2js_i32$1; + } + } + label$869 : { + if (!((HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$869 + } + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) != (3082 | 0) & 1 | 0)) { + break label$869 + } + $8109 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $285(HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $852($8109 | 0, 1976 | 0, $3_1 + 16 | 0 | 0); + } + HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($3_1 + 1952 | 0) >> 2] | 0; + $116(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0); + $8119 = HEAP32[($3_1 + 1952 | 0) >> 2] | 0; + $8124 = ((HEAP32[($3_1 + 1956 | 0) >> 2] | 0) - (HEAP32[($3_1 + 1960 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0; + $8126 = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 1964 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $8126; + HEAP32[$3_1 >> 2] = $8124; + $82($8119 | 0, 8197 | 0, $3_1 | 0); + $224(HEAP32[($3_1 + 1964 | 0) >> 2] | 0 | 0) | 0; + label$870 : { + if (!((HEAP32[($3_1 + 1952 | 0) >> 2] | 0 | 0) == (3082 | 0) & 1 | 0)) { + break label$870 + } + $118(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 1952 | 0) >> 2] = 1; + label$871 : { + if (!(((HEAPU8[($3_1 + 1947 | 0) >> 0] | 0) & 255 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$871 + } + $407(HEAP32[($3_1 + 1948 | 0) >> 2] | 0 | 0, ((HEAPU8[($3_1 + 1947 | 0) >> 0] | 0) & 255 | 0) - 1 | 0 | 0); + } + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 1928 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 1932 | 0) >> 2] | 0; + $8156 = HEAP32[($3_1 + 1964 | 0) >> 2] | 0; + HEAP32[($8156 + 176 | 0) >> 2] = (HEAP32[($8156 + 176 | 0) >> 2] | 0) + i64toi32_i32$0 | 0; + $8159 = HEAP32[($3_1 + 1952 | 0) >> 2] | 0; + global$0 = $3_1 + 1968 | 0; + return $8159 | 0; + } + + function $294($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $127(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $973($9(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 236 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 236 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0, HEAP32[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $64_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $64_1 | 0; + } + + function $295($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0; + break label$1; + } + $14_1 = 0; + } + return $14_1 | 0; + } + + function $296($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0; + } + + function $297($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 148 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $298($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $10_1 = 0, $40_1 = 0, $49_1 = 0, $53_1 = 0, $69_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 48 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 8 | 0) >> 2] = $10_1; + HEAP32[(HEAP32[($9_1 + 20 | 0) >> 2] | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + label$3 : { + if (!($401(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + if (!((HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $3(129574 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $8(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0); + label$4 : while (1) { + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $406(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $40_1 = 1; + label$5 : { + if ((HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) == (513 | 0) & 1 | 0) { + break label$5 + } + $49_1 = 0; + label$6 : { + if (!((HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) == (17 | 0) & 1 | 0)) { + break label$6 + } + $407(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, -1 | 0); + $53_1 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + HEAP32[($9_1 + 8 | 0) >> 2] = $53_1 + 1 | 0; + $49_1 = ($53_1 | 0) == (0 | 0); + } + $40_1 = $49_1; + } + if ($40_1 & 1 | 0) { + continue label$4 + } + break label$4; + }; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $217(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($9_1 + 40 | 0) >> 2] | 0) + 408 | 0) >> 2] = 0; + HEAP32[($9_1 + 44 | 0) >> 2] = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + } + $69_1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + global$0 = $9_1 + 48 | 0; + return $69_1 | 0; + } + + function $299($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $44_1 = 0, $7_1 = 0, $47_1 = 0, $48_1 = 0, $52_1 = 0, $55_1 = 0, $58_1 = 0, $189_1 = 0, $209_1 = 0, $219_1 = 0; + $4_1 = global$0 - 240 | 0; + global$0 = $4_1; + $7_1 = $4_1 + 8 | 0; + HEAP32[($4_1 + 236 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 232 | 0) >> 2] = $1_1; + $3288($7_1 | 0, HEAP32[($4_1 + 236 | 0) >> 2] | 0 | 0, 224 | 0) | 0; + $3288(HEAP32[($4_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 232 | 0) >> 2] | 0 | 0, 224 | 0) | 0; + $3288(HEAP32[($4_1 + 232 | 0) >> 2] | 0 | 0, $7_1 | 0, 224 | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 236 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 236 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 236 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 236 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 236 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 236 | 0) >> 2] | 0) + 188 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 188 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 208 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 236 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 148 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 236 | 0) >> 2] | 0) + 148 | 0) >> 0] | 0; + $44_1 = (HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 160 | 0; + $47_1 = (HEAP32[($4_1 + 236 | 0) >> 2] | 0) + 160 | 0; + i64toi32_i32$2 = $47_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $189_1 = i64toi32_i32$0; + i64toi32_i32$0 = $44_1; + HEAP32[i64toi32_i32$0 >> 2] = $189_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $48_1 = 24; + HEAP32[(i64toi32_i32$0 + $48_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $48_1 | 0) >> 2] | 0; + $52_1 = 16; + i64toi32_i32$2 = i64toi32_i32$2 + $52_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $209_1 = i64toi32_i32$1; + i64toi32_i32$1 = $44_1 + $52_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $209_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $55_1 = 8; + i64toi32_i32$2 = $47_1 + $55_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $219_1 = i64toi32_i32$0; + i64toi32_i32$0 = $44_1 + $55_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $219_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $58_1 = HEAP32[($4_1 + 232 | 0) >> 2] | 0; + HEAP32[($58_1 + 180 | 0) >> 2] = (HEAP32[($58_1 + 180 | 0) >> 2] | 0) + 1 | 0; + global$0 = $4_1 + 240 | 0; + return; + } + + function $300($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + $11_1 = 16; + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $11_1 | 0) >> $11_1 | 0 | 0) & 1 | 0)) { + break label$1 + } + $888((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 40) | 0 | 0, (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 40) | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $4_1 + 32 | 0; + return 0 | 0; + } + + function $301($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + return; + } + + function $302($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function $303($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0; + } + + function $304($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 8192 | 0) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $305(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + $18_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $18_1 | 0; + } + + function $305($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $37_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$2 + } + $262(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$1; + } + $265(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] = 8192; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $3289(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + } + $37_1 = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $37_1 | 0; + } + + function $306($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if ((HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $307($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if ((HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + } + break label$1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$2; + }; + } + label$5 : { + label$6 : { + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, 20 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if ((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + break label$6; + } + HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 216 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + label$10 : { + if (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = -1; + } + break label$7; + } + label$11 : { + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); + } + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + break label$5; + } + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + FUNCTION_TABLE[HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 20 | 0) >> 2] | 0); + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $308($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $64(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $3289(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + } + $17_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $17_1 | 0; + } + + function $309($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = (HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 144 | 0) >> 1] | 0) & 65535 | 0; + break label$1; + } + $16_1 = 0; + } + return $16_1 | 0; + } + + function $310($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 144 | 0) >> 1] | 0) & 65535 | 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $311($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $229($312(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $313(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $10_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $312($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $50_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $314() | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 144 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 40) | 0; + break label$3; + } + $115(HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, 25 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $314() | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + $50_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $50_1 | 0; + } + + function $313($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = $217(HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = $16_1; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $314() { + return 10464 | 0; + } + + function $315($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $233($312(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $313(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $10_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $316($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_f64$0 = +$65($312(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0)), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + $313(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $12_1 = +HEAPF64[$4_1 >> 3]; + global$0 = $4_1 + 16 | 0; + return +$12_1; + } + + function $317($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $239($312(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $313(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $10_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $318($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $32_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $62($312(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $32_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[$4_1 >> 2] = $32_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$1; + $313(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $319($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $66($312(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $313(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $10_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $320($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0, $20_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $312(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2048 | 0)) { + break label$1 + } + $14_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP16[($14_1 + 8 | 0) >> 1] = ((HEAPU16[($14_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -2049 | 0; + $20_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP16[($20_1 + 8 | 0) >> 1] = (HEAPU16[($20_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 4096 | 0; + } + $313(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $27_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $27_1 | 0; + } + + function $321($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $248($312(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $313(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $10_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $322($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $323(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $5_1 | 0, $5_1 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $323($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $59_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $309(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0; + label$2 : { + label$3 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $246((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 40) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 40) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[$6_1 >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + $324(HEAP32[$6_1 >> 2] | 0 | 0); + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + } + } + $59_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $59_1 | 0; + } + + function $324($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0, $22_1 = 0, $13_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$1 + } + if (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 184 | 0) >> 2] | 0) { + break label$1 + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 81 | 0) >> 0] = 0; + $13_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + HEAP32[($13_1 + 264 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $15_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($15_1 + 272 | 0) >> 2] = (HEAP32[($15_1 + 272 | 0) >> 2] | 0) + -1 | 0; + label$2 : { + label$3 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 272 | 0) >> 2] | 0)) { + break label$3 + } + $22_1 = 0; + break label$2; + } + $22_1 = (HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 278 | 0) >> 1] | 0) & 65535 | 0; + } + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 276 | 0) >> 1] = $22_1; + } + return; + } + + function $325($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $16_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + $16_1 = $326(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0) | 0; + global$0 = $7_1 + 32 | 0; + return $16_1 | 0; + } + + function $326($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $4_1; + HEAP8[($8_1 + 27 | 0) >> 0] = $5_1; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $327(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul((HEAP32[($8_1 + 40 | 0) >> 2] | 0) - 1 | 0, 40) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $256(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAPU8[($8_1 + 27 | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $328(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (!(HEAP32[($8_1 + 12 | 0) >> 2] | 0)) { + break label$5 + } + $115(HEAP32[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $217(HEAP32[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + break label$1; + } + label$6 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$6 + } + FUNCTION_TABLE[HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 36 | 0) >> 2] | 0); + } + } + $72_1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $72_1 | 0; + } + + function $327($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $44_1 = 0, $52_1 = 0, $82_1 = 0, $88_1 = 0, $74_1 = 0, $95_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!($288(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3(84570 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + if ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (770837923 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + } + $115(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, 21 | 0); + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0; + $82(21 | 0, 10504 | 0, $4_1 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3(84578 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$5 : { + label$6 : { + if ((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0) { + break label$6 + } + $44_1 = 16; + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) > (((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $44_1 | 0) >> $44_1 | 0 | 0) & 1 | 0)) { + break label$5 + } + } + $52_1 = 25; + $115(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, $52_1 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = $52_1; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 40) | 0; + $227(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + HEAP32[((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 64 | 0) >> 2] = 0; + label$7 : { + if (!(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0)) { + break label$7 + } + $74_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) >= (31 | 0) & 1 | 0)) { + break label$9 + } + $82_1 = -2147483648; + break label$8; + } + $82_1 = 1 << (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + } + if (!($74_1 & $82_1 | 0)) { + break label$7 + } + $88_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP16[($88_1 + 150 | 0) >> 1] = (HEAPU16[($88_1 + 150 | 0) >> 1] | 0) & -4 | 0 | 1 | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $95_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $95_1 | 0; + } + + function $328($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $878(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 4 | 0) >> 2] | 0) & 255 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + $28_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $28_1 | 0; + } + + function $329($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = +$2_1; + var $5_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAPF64[($5_1 + 16 | 0) >> 3] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $327(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + $261((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0, 40) | 0 | 0, +(+HEAPF64[($5_1 + 16 | 0) >> 3])); + } + $19_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $19_1 | 0; + } + + function $330($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $10_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $10_1 = $331(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $10_1 | 0; + } + + function $331($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $327(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $268((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0, 40) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + } + $19_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $19_1 | 0; + } + + function $332($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $327(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + } + $10_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $333($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $16_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + $16_1 = $326(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0) | 0; + global$0 = $7_1 + 32 | 0; + return $16_1 | 0; + } + + function $334($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $53_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $9_1 = ($248(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($9_1 | 0) { + case 0: + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $331(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[i64toi32_i32$2 >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$1; + case 1: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $329(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, +(+HEAPF64[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 3])) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$1; + case 3: + label$7 : { + label$8 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $335(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$7; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $325(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + break label$1; + case 2: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $326(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, -1 | 0, (HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$1; + default: + break label$2; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $332(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + $53_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $53_1 | 0; + } + + function $335($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $327(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + $282((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0, 40) | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + $20_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $20_1 | 0; + } + + function $336($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0, $17_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = 16; + $17_1 = ((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $14_1 | 0) >> $14_1 | 0; + break label$1; + } + $17_1 = 0; + } + return $17_1 | 0; + } + + function $337($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 2; + label$3 : while (1) { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$3 + } + break label$3; + }; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $338($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $9_1 = $339(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $68(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $339($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $340(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $26_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $26_1 | 0; + } + + function $340($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $32_1 = 0, $59_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 2; + label$3 : while (1) { + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0; + label$4 : { + if ($3234(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + $32_1 = 24; + if (((HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$3 + } + break label$3; + }; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $59_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $59_1 | 0; + } + + function $341($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $188_1 = 0, $245$hi = 0, i64toi32_i32$6 = 0, $9_1 = 0, $24_1 = 0, $38_1 = 0, $49_1 = 0, $60_1 = 0, $84_1 = 0, $108_1 = 0, $124_1 = 0, $168_1 = 0, $195_1 = 0, $199_1 = 0, $240$hi = 0, $241$hi = 0, $242$hi = 0, $243$hi = 0, $246$hi = 0, $247$hi = 0, $249$hi = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $251$hi = 0, $252$hi = 0, $42_1 = 0, $242_1 = 0, $669_1 = 0, $246_1 = 0, $702_1 = 0, $723_1 = 0, $236_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + $9_1 = 24; + label$1 : { + label$2 : { + label$3 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + break label$2; + } + $24_1 = 24; + label$4 : { + label$5 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0 | 0) == (43 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + break label$4; + } + $38_1 = 24; + label$6 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $38_1 | 0) >> $38_1 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$6 + } + $49_1 = 24; + label$7 : { + if ((((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $49_1 | 0) >> $49_1 | 0 | 0) == (120 | 0) & 1 | 0) { + break label$7 + } + $60_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $60_1 | 0) >> $60_1 | 0 | 0) == (88 | 0) & 1 | 0)) { + break label$6 + } + } + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$6 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 2 | 0; + label$8 : { + label$9 : while (1) { + $84_1 = 24; + if (!((((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $84_1 | 0) >> $84_1 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$10 : while (1) { + $108_1 = 0; + label$11 : { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$11 + } + $108_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (8 | 0); + } + label$12 : { + if (!($108_1 & 1 | 0)) { + break label$12 + } + $124_1 = 24; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) + (($529(((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $124_1 | 0) >> $124_1 | 0 | 0) | 0) & 255 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + } + break label$10; + }; + label$13 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) & -2147483648 | 0) { + break label$13 + } + if (((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0) { + break label$13 + } + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + } + } + label$14 : { + if (((HEAPU8[(((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$14 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$15 : { + label$16 : while (1) { + $168_1 = 24; + if (!((((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $168_1 | 0) >> $168_1 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$17 : while (1) { + $188_1 = 0; + label$18 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (11 | 0) & 1 | 0)) { + break label$18 + } + $195_1 = 24; + $199_1 = (((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $195_1 | 0) >> $195_1 | 0) - 48 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $199_1; + $188_1 = 0; + if (!(($199_1 | 0) >= (0 | 0) & 1 | 0)) { + break label$18 + } + $188_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) <= (9 | 0); + } + label$19 : { + if (!($188_1 & 1 | 0)) { + break label$19 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $240$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $241$hi = i64toi32_i32$1; + i64toi32_i32$1 = $240$hi; + i64toi32_i32$1 = $241$hi; + i64toi32_i32$1 = $240$hi; + $42_1 = i64toi32_i32$0; + i64toi32_i32$0 = $241$hi; + i64toi32_i32$0 = __wasm_i64_mul($42_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $242_1 = i64toi32_i32$0; + $242$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $243$hi = i64toi32_i32$1; + i64toi32_i32$1 = $242$hi; + i64toi32_i32$1 = $243$hi; + $669_1 = i64toi32_i32$0; + i64toi32_i32$1 = $242$hi; + i64toi32_i32$2 = $242_1; + i64toi32_i32$0 = $243$hi; + i64toi32_i32$3 = $669_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + } + break label$17; + }; + label$20 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) > (10 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$5 = 0; + $245$hi = i64toi32_i32$5; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $246_1 = i64toi32_i32$5; + $246$hi = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $247$hi = i64toi32_i32$2; + i64toi32_i32$2 = $246$hi; + i64toi32_i32$2 = $247$hi; + $702_1 = i64toi32_i32$5; + i64toi32_i32$2 = $246$hi; + i64toi32_i32$1 = $246_1; + i64toi32_i32$5 = $247$hi; + i64toi32_i32$3 = $702_1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $249$hi = i64toi32_i32$4; + i64toi32_i32$4 = $245$hi; + i64toi32_i32$4 = $249$hi; + i64toi32_i32$4 = $245$hi; + i64toi32_i32$4 = $249$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = $245$hi; + i64toi32_i32$3 = 2147483647; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$1 | 0)) { + $39_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $40_1 = 0 + } else { + $40_1 = 1 + } + $41_1 = $40_1; + } else { + $41_1 = 0 + } + $39_1 = $41_1; + } + label$21 : { + if (!($39_1 & 1 | 0)) { + break label$21 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$22 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$22 + } + i64toi32_i32$2 = 0; + $251$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $252$hi = i64toi32_i32$4; + i64toi32_i32$4 = $251$hi; + i64toi32_i32$4 = $252$hi; + $723_1 = i64toi32_i32$2; + i64toi32_i32$4 = $251$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = $252$hi; + i64toi32_i32$1 = $723_1; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0; + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$4 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + } + $236_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $236_1 | 0; + } + + function $342($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $248(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $343(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $248(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $18_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $18_1 | 0; + } + + function $343($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $35_1 = 0, $42_1 = 0, $50_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP8[($4_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $344(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + if (!($345(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[($4_1 + 16 | 0) >> 3]), HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + $35_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($35_1 + 8 | 0) >> 1] = (HEAPU16[($35_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + break label$3; + } + HEAPF64[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 3] = +HEAPF64[($4_1 + 16 | 0) >> 3]; + $42_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($42_1 + 8 | 0) >> 1] = (HEAPU16[($42_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + label$5 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$5 + } + $346(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + } + $50_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($50_1 + 8 | 0) >> 1] = ((HEAPU16[($50_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -3 | 0; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $344($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $8_1 = 0, $631$hi = 0, $640$hi = 0, $649$hi = 0, $653$hi = 0, $660$hi = 0, $42_1 = 0, $48_1 = 0, $88_1 = 0, $119_1 = 0, $134_1 = 0, $153_1 = 0, $632$hi = 0, $633$hi = 0, $634$hi = 0, $172_1 = 0, $635$hi = 0, $638$hi = 0, $124_1 = 0, $125_1 = 0, $126_1 = 0, $195_1 = 0, $228_1 = 0, $250_1 = 0, $642$hi = 0, $127_1 = 0, $128_1 = 0, $129_1 = 0, $644$hi = 0, $645$hi = 0, $646$hi = 0, $272_1 = 0, $647$hi = 0, $297_1 = 0, $308_1 = 0, $333_1 = 0, $348_1 = 0, $367_1 = 0, $396_1 = 0, $402_1 = 0, $417_1 = 0, $651$hi = 0, $457_1 = 0, $655$hi = 0, $130_1 = 0, $131_1 = 0, $132_1 = 0, $657$hi = 0, $658$hi = 0, $661$hi = 0, $662$hi = 0, $664$hi = 0, $666$hi = 0, $667$hi = 0, $669$hi = 0, $670$hi = 0, $672_1 = 0, $672$hi = 0, $523_1 = 0, $679$hi = 0, $680$hi = 0, $681$hi = 0, $682$hi = 0, $683$hi = 0, $530_1 = 0, $686$hi = 0, $687$hi = 0, $688$hi = 0, $689$hi = 0, $690$hi = 0, $559_1 = 0, $697$hi = 0, $698$hi = 0, $699$hi = 0, $700$hi = 0, $701$hi = 0, $570_1 = 0, $704$hi = 0, $705$hi = 0, $706$hi = 0, $707$hi = 0, $708$hi = 0, $631_1 = 0, $133_1 = 0, $634_1 = 0, $1101_1 = 0, $135_1 = 0, $646_1 = 0, $1317_1 = 0, $136_1 = 0, $1740_1 = 0, $137_1 = 0, $138_1 = 0, $1762_1 = 0, $1785_1 = 0, $676_1 = 0, $676$hi = 0, $1842_1 = 0, $679_1 = 0, $680_1 = 0, $681_1 = 0, $1881_1 = 0, $683_1 = 0, $1890$hi = 0, $139_1 = 0, $686_1 = 0, $687_1 = 0, $688_1 = 0, $1929_1 = 0, $690_1 = 0, $1941$hi = 0, $140_1 = 0, $694_1 = 0, $694$hi = 0, $1999_1 = 0, $697_1 = 0, $698_1 = 0, $699_1 = 0, $2041_1 = 0, $701_1 = 0, $2053$hi = 0, $141_1 = 0, $704_1 = 0, $705_1 = 0, $706_1 = 0, $2085_1 = 0, $708_1 = 0, $2097$hi = 0, $142_1 = 0, $627_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $6_1 = global$0 - 272 | 0; + global$0 = $6_1; + $7_1 = 0; + $8_1 = 1; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 264 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 260 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 256 | 0) >> 2] = $2_1; + HEAP8[($6_1 + 255 | 0) >> 0] = $3_1; + HEAP32[($6_1 + 240 | 0) >> 2] = $8_1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 232 | 0) >> 2] = 0; + HEAP32[($6_1 + 236 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 228 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 224 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 220 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 216 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 204 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 200 | 0) >> 2] = $8_1; + HEAPF64[(HEAP32[($6_1 + 260 | 0) >> 2] | 0) >> 3] = +($7_1 | 0); + label$1 : { + label$2 : { + if (HEAP32[($6_1 + 256 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($6_1 + 268 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if (!(((HEAPU8[($6_1 + 255 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 248 | 0) >> 2] = 1; + HEAP32[($6_1 + 244 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 256 | 0) >> 2] | 0) | 0; + break label$3; + } + HEAP32[($6_1 + 248 | 0) >> 2] = 2; + HEAP32[($6_1 + 256 | 0) >> 2] = (HEAP32[($6_1 + 256 | 0) >> 2] | 0) & -2 | 0; + HEAP32[($6_1 + 196 | 0) >> 2] = 3 - ((HEAPU8[($6_1 + 255 | 0) >> 0] | 0) & 255 | 0) | 0; + label$5 : while (1) { + $42_1 = 0; + label$6 : { + if (!((HEAP32[($6_1 + 196 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 256 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $48_1 = 24; + $42_1 = (((HEAPU8[((HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 196 | 0) >> 2] | 0) | 0) >> 0] | 0) << $48_1 | 0) >> $48_1 | 0 | 0) == (0 | 0); + } + label$7 : { + if (!($42_1 & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 196 | 0) >> 2] = (HEAP32[($6_1 + 196 | 0) >> 2] | 0) + 2 | 0; + continue label$5; + } + break label$5; + }; + label$8 : { + if (!((HEAP32[($6_1 + 196 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 256 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 200 | 0) >> 2] = -100; + } + HEAP32[($6_1 + 244 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 196 | 0) >> 2] | 0) ^ 1 | 0) | 0; + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (((HEAPU8[($6_1 + 255 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) | 0; + } + label$9 : while (1) { + $88_1 = 0; + label$10 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$10 + } + $88_1 = (((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 | 0) != (0 | 0); + } + label$11 : { + if (!($88_1 & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + continue label$9; + } + break label$9; + }; + label$12 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 268 | 0) >> 2] = 0; + break label$1; + } + $119_1 = 24; + label$13 : { + label$14 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $119_1 | 0) >> $119_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($6_1 + 240 | 0) >> 2] = -1; + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + break label$13; + } + $134_1 = 24; + label$15 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $134_1 | 0) >> $134_1 | 0 | 0) == (43 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + } + } + label$16 : while (1) { + $153_1 = 0; + label$17 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$17 + } + $153_1 = (((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0 | 0) != (0 | 0); + } + label$18 : { + if (!($153_1 & 1 | 0)) { + break label$18 + } + i64toi32_i32$0 = 214748364; + $631_1 = -858993461; + $631$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $632$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $633$hi = i64toi32_i32$1; + i64toi32_i32$1 = $632$hi; + i64toi32_i32$1 = $633$hi; + i64toi32_i32$1 = $632$hi; + $133_1 = i64toi32_i32$0; + i64toi32_i32$0 = $633$hi; + i64toi32_i32$0 = __wasm_i64_mul($133_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $634_1 = i64toi32_i32$0; + $634$hi = i64toi32_i32$1; + $172_1 = 24; + i64toi32_i32$0 = (((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $172_1 | 0) >> $172_1 | 0) - 48 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $635$hi = i64toi32_i32$1; + i64toi32_i32$1 = $634$hi; + i64toi32_i32$1 = $635$hi; + $1101_1 = i64toi32_i32$0; + i64toi32_i32$1 = $634$hi; + i64toi32_i32$2 = $634_1; + i64toi32_i32$0 = $635$hi; + i64toi32_i32$3 = $1101_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 232 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 236 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 204 | 0) >> 2] = (HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$1 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $638$hi = i64toi32_i32$2; + i64toi32_i32$2 = $631$hi; + i64toi32_i32$2 = $638$hi; + i64toi32_i32$2 = $631$hi; + i64toi32_i32$2 = $638$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $631$hi; + i64toi32_i32$3 = $631_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $124_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + $125_1 = 0 + } else { + $125_1 = 1 + } + $126_1 = $125_1; + } else { + $126_1 = 0 + } + $124_1 = $126_1; + } + label$19 : { + if (!($124_1 & 1 | 0)) { + break label$19 + } + label$20 : while (1) { + $195_1 = 0; + label$21 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$21 + } + $195_1 = (((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0 | 0) != (0 | 0); + } + label$22 : { + if (!($195_1 & 1 | 0)) { + break label$22 + } + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 228 | 0) >> 2] = (HEAP32[($6_1 + 228 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + } + break label$20; + }; + } + continue label$16; + } + break label$16; + }; + label$23 : { + label$24 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$24 + } + break label$23; + } + $228_1 = 24; + label$25 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $228_1 | 0) >> $228_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 200 | 0) >> 2] = (HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 1 | 0; + label$26 : while (1) { + $250_1 = 0; + label$27 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$27 + } + $250_1 = (((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0 | 0) != (0 | 0); + } + label$28 : { + if (!($250_1 & 1 | 0)) { + break label$28 + } + i64toi32_i32$1 = 214748364; + $640$hi = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $642$hi = i64toi32_i32$2; + i64toi32_i32$2 = $640$hi; + i64toi32_i32$2 = $642$hi; + i64toi32_i32$2 = $640$hi; + i64toi32_i32$2 = $642$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $640$hi; + i64toi32_i32$5 = -858993461; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $127_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$5 >>> 0) { + $128_1 = 0 + } else { + $128_1 = 1 + } + $129_1 = $128_1; + } else { + $129_1 = 0 + } + $127_1 = $129_1; + } + label$29 : { + if (!($127_1 & 1 | 0)) { + break label$29 + } + i64toi32_i32$5 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $644$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $645$hi = i64toi32_i32$2; + i64toi32_i32$2 = $644$hi; + i64toi32_i32$2 = $645$hi; + i64toi32_i32$2 = $644$hi; + $135_1 = i64toi32_i32$3; + i64toi32_i32$3 = $645$hi; + i64toi32_i32$3 = __wasm_i64_mul($135_1 | 0, i64toi32_i32$2 | 0, 10 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $646_1 = i64toi32_i32$3; + $646$hi = i64toi32_i32$2; + $272_1 = 24; + i64toi32_i32$3 = (((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $272_1 | 0) >> $272_1 | 0) - 48 | 0; + i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; + $647$hi = i64toi32_i32$2; + i64toi32_i32$2 = $646$hi; + i64toi32_i32$2 = $647$hi; + $1317_1 = i64toi32_i32$3; + i64toi32_i32$2 = $646$hi; + i64toi32_i32$5 = $646_1; + i64toi32_i32$3 = $647$hi; + i64toi32_i32$1 = $1317_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$5 = $6_1; + HEAP32[($6_1 + 232 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 236 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 228 | 0) >> 2] = (HEAP32[($6_1 + 228 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($6_1 + 204 | 0) >> 2] = (HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + continue label$26; + } + break label$26; + }; + } + label$30 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$30 + } + break label$23; + } + $297_1 = 24; + label$31 : { + label$32 : { + if ((((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $297_1 | 0) >> $297_1 | 0 | 0) == (101 | 0) & 1 | 0) { + break label$32 + } + $308_1 = 24; + if (!((((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $308_1 | 0) >> $308_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$31 + } + } + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 216 | 0) >> 2] = 0; + HEAP32[($6_1 + 200 | 0) >> 2] = (HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 1 | 0; + label$33 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$33 + } + break label$23; + } + $333_1 = 24; + label$34 : { + label$35 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $333_1 | 0) >> $333_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$35 + } + HEAP32[($6_1 + 224 | 0) >> 2] = -1; + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + break label$34; + } + $348_1 = 24; + label$36 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $348_1 | 0) >> $348_1 | 0 | 0) == (43 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + } + } + label$37 : while (1) { + $367_1 = 0; + label$38 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$38 + } + $367_1 = (((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0 | 0) != (0 | 0); + } + label$39 : { + if (!($367_1 & 1 | 0)) { + break label$39 + } + label$40 : { + label$41 : { + if (!((HEAP32[($6_1 + 220 | 0) >> 2] | 0 | 0) < (1e4 | 0) & 1 | 0)) { + break label$41 + } + $396_1 = 24; + $402_1 = Math_imul(HEAP32[($6_1 + 220 | 0) >> 2] | 0, 10) + ((((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) << $396_1 | 0) >> $396_1 | 0) - 48 | 0) | 0; + break label$40; + } + $402_1 = 1e4; + } + HEAP32[($6_1 + 220 | 0) >> 2] = $402_1; + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 216 | 0) >> 2] = 1; + continue label$37; + } + break label$37; + }; + } + label$42 : while (1) { + $417_1 = 0; + label$43 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 244 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$43 + } + $417_1 = (((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 264 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 | 0) != (0 | 0); + } + label$44 : { + if (!($417_1 & 1 | 0)) { + break label$44 + } + HEAP32[($6_1 + 264 | 0) >> 2] = (HEAP32[($6_1 + 264 | 0) >> 2] | 0) + (HEAP32[($6_1 + 248 | 0) >> 2] | 0) | 0; + continue label$42; + } + break label$42; + }; + } + HEAP32[($6_1 + 220 | 0) >> 2] = Math_imul(HEAP32[($6_1 + 220 | 0) >> 2] | 0, HEAP32[($6_1 + 224 | 0) >> 2] | 0) + (HEAP32[($6_1 + 228 | 0) >> 2] | 0) | 0; + label$45 : { + label$46 : { + if (!((HEAP32[($6_1 + 220 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$46 + } + HEAP32[($6_1 + 224 | 0) >> 2] = -1; + HEAP32[($6_1 + 220 | 0) >> 2] = Math_imul(HEAP32[($6_1 + 220 | 0) >> 2] | 0, -1); + break label$45; + } + HEAP32[($6_1 + 224 | 0) >> 2] = 1; + } + i64toi32_i32$4 = 0; + $649$hi = i64toi32_i32$4; + i64toi32_i32$2 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $651$hi = i64toi32_i32$5; + i64toi32_i32$5 = $649$hi; + i64toi32_i32$5 = $651$hi; + i64toi32_i32$5 = $649$hi; + i64toi32_i32$5 = $651$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $649$hi; + i64toi32_i32$1 = 0; + label$47 : { + label$48 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$48 + } + $457_1 = 0; + HEAPF64[($6_1 + 208 | 0) >> 3] = (HEAP32[($6_1 + 240 | 0) >> 2] | 0 | 0) < ($457_1 | 0) & 1 | 0 ? -0.0 : +($457_1 | 0); + break label$47; + } + label$49 : { + label$50 : while (1) { + if (!((HEAP32[($6_1 + 220 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$49 + } + label$51 : { + label$52 : { + if (!((HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$52 + } + i64toi32_i32$2 = 214748364; + $653$hi = i64toi32_i32$2; + i64toi32_i32$1 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $655$hi = i64toi32_i32$5; + i64toi32_i32$5 = $653$hi; + i64toi32_i32$5 = $655$hi; + i64toi32_i32$5 = $653$hi; + i64toi32_i32$5 = $655$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $653$hi; + i64toi32_i32$4 = -858993460; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$2 | 0)) { + $130_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + $131_1 = 0 + } else { + $131_1 = 1 + } + $132_1 = $131_1; + } else { + $132_1 = 0 + } + $130_1 = $132_1; + } + label$53 : { + if (!($130_1 & 1 | 0)) { + break label$53 + } + break label$49; + } + i64toi32_i32$4 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $657$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $658$hi = i64toi32_i32$5; + i64toi32_i32$5 = $657$hi; + i64toi32_i32$5 = $658$hi; + i64toi32_i32$5 = $657$hi; + $136_1 = i64toi32_i32$1; + i64toi32_i32$1 = $658$hi; + i64toi32_i32$1 = __wasm_i64_mul($136_1 | 0, i64toi32_i32$5 | 0, 10 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $1740_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 232 | 0) >> 2] = $1740_1; + HEAP32[($6_1 + 236 | 0) >> 2] = i64toi32_i32$5; + break label$51; + } + i64toi32_i32$5 = 0; + $660$hi = i64toi32_i32$5; + i64toi32_i32$4 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $661$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $662$hi = i64toi32_i32$1; + i64toi32_i32$1 = $661$hi; + i64toi32_i32$1 = $662$hi; + i64toi32_i32$1 = $661$hi; + $137_1 = i64toi32_i32$5; + i64toi32_i32$5 = $662$hi; + i64toi32_i32$5 = __wasm_i64_srem($137_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $664$hi = i64toi32_i32$1; + i64toi32_i32$1 = $660$hi; + i64toi32_i32$1 = $664$hi; + i64toi32_i32$1 = $660$hi; + i64toi32_i32$1 = $664$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$5 = $660$hi; + i64toi32_i32$2 = 0; + label$54 : { + if (!(((i64toi32_i32$4 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$54 + } + break label$49; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $666$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $667$hi = i64toi32_i32$1; + i64toi32_i32$1 = $666$hi; + i64toi32_i32$1 = $667$hi; + i64toi32_i32$1 = $666$hi; + $138_1 = i64toi32_i32$4; + i64toi32_i32$4 = $667$hi; + i64toi32_i32$4 = __wasm_i64_sdiv($138_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1762_1 = i64toi32_i32$4; + i64toi32_i32$4 = $6_1; + HEAP32[($6_1 + 232 | 0) >> 2] = $1762_1; + HEAP32[($6_1 + 236 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($6_1 + 220 | 0) >> 2] = (HEAP32[($6_1 + 220 | 0) >> 2] | 0) + -1 | 0; + continue label$50; + }; + } + label$55 : { + label$56 : { + if (!((HEAP32[($6_1 + 240 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$56 + } + i64toi32_i32$1 = 0; + $669$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $670$hi = i64toi32_i32$4; + i64toi32_i32$4 = $669$hi; + i64toi32_i32$4 = $670$hi; + $1785_1 = i64toi32_i32$1; + i64toi32_i32$4 = $669$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $670$hi; + i64toi32_i32$5 = $1785_1; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + i64toi32_i32$0 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0; + $672_1 = i64toi32_i32$3; + $672$hi = i64toi32_i32$0; + break label$55; + } + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $672_1 = i64toi32_i32$0; + $672$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $672$hi; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 232 | 0) >> 2] = $672_1; + HEAP32[($6_1 + 236 | 0) >> 2] = i64toi32_i32$2; + label$57 : { + label$58 : { + if (HEAP32[($6_1 + 220 | 0) >> 2] | 0) { + break label$58 + } + i64toi32_i32$4 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + i64toi32_i32$4 = 0; + HEAPF64[($6_1 + 208 | 0) >> 3] = +(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0); + break label$57; + } + label$59 : { + label$60 : { + if (!((HEAP32[($6_1 + 220 | 0) >> 2] | 0 | 0) > (307 | 0) & 1 | 0)) { + break label$60 + } + label$61 : { + label$62 : { + if (!((HEAP32[($6_1 + 220 | 0) >> 2] | 0 | 0) < (342 | 0) & 1 | 0)) { + break label$62 + } + $881($6_1 + 64 | 0 | 0, (HEAP32[($6_1 + 220 | 0) >> 2] | 0) + -308 | 0 | 0); + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + $676_1 = i64toi32_i32$0; + $676$hi = i64toi32_i32$2; + i64toi32_i32$4 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + $1842_1 = i64toi32_i32$2; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 184 | 0) >> 2] = $1842_1; + HEAP32[($6_1 + 188 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $676$hi; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 176 | 0) >> 2] = $676_1; + HEAP32[($6_1 + 180 | 0) >> 2] = i64toi32_i32$0; + label$63 : { + label$64 : { + if (!((HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$64 + } + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $3268($6_1 + 16 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0); + $523_1 = 8; + i64toi32_i32$4 = ($6_1 + 16 | 0) + $523_1 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $679_1 = i64toi32_i32$2; + $679$hi = i64toi32_i32$0; + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $680_1 = i64toi32_i32$0; + $680$hi = i64toi32_i32$2; + i64toi32_i32$4 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 184 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 188 | 0) >> 2] | 0; + $681_1 = i64toi32_i32$2; + $681$hi = i64toi32_i32$0; + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + $682$hi = i64toi32_i32$2; + i64toi32_i32$2 = $680$hi; + i64toi32_i32$2 = $679$hi; + i64toi32_i32$2 = $682$hi; + $1881_1 = i64toi32_i32$0; + i64toi32_i32$2 = $681$hi; + i64toi32_i32$2 = $680$hi; + i64toi32_i32$0 = $679$hi; + i64toi32_i32$4 = $682$hi; + i64toi32_i32$5 = $681$hi; + $3265($6_1 | 0, $680_1 | 0, i64toi32_i32$2 | 0, $679_1 | 0, i64toi32_i32$0 | 0, $1881_1 | 0, i64toi32_i32$4 | 0, $681_1 | 0, i64toi32_i32$5 | 0); + i64toi32_i32$0 = $6_1 + $523_1 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $683_1 = i64toi32_i32$5; + $683$hi = i64toi32_i32$4; + i64toi32_i32$0 = $6_1; + i64toi32_i32$4 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $1890$hi = i64toi32_i32$5; + i64toi32_i32$5 = $683$hi; + i64toi32_i32$5 = $1890$hi; + $139_1 = i64toi32_i32$4; + i64toi32_i32$4 = $683$hi; + (wasm2js_i32$0 = $6_1, wasm2js_f64$0 = +$3276($139_1 | 0, i64toi32_i32$5 | 0, $683_1 | 0, i64toi32_i32$4 | 0)), HEAPF64[(wasm2js_i32$0 + 208 | 0) >> 3] = wasm2js_f64$0; + HEAPF64[($6_1 + 208 | 0) >> 3] = +HEAPF64[($6_1 + 208 | 0) >> 3] / 1.e+308; + break label$63; + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $3268($6_1 + 48 | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0); + $530_1 = 8; + i64toi32_i32$0 = ($6_1 + 48 | 0) + $530_1 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $686_1 = i64toi32_i32$5; + $686$hi = i64toi32_i32$4; + i64toi32_i32$0 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $687_1 = i64toi32_i32$4; + $687$hi = i64toi32_i32$5; + i64toi32_i32$0 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 184 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($6_1 + 188 | 0) >> 2] | 0; + $688_1 = i64toi32_i32$5; + $688$hi = i64toi32_i32$4; + i64toi32_i32$0 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + $689$hi = i64toi32_i32$5; + i64toi32_i32$5 = $687$hi; + i64toi32_i32$5 = $686$hi; + i64toi32_i32$5 = $689$hi; + $1929_1 = i64toi32_i32$4; + i64toi32_i32$5 = $688$hi; + i64toi32_i32$5 = $687$hi; + i64toi32_i32$4 = $686$hi; + i64toi32_i32$0 = $689$hi; + i64toi32_i32$2 = $688$hi; + $3273($6_1 + 32 | 0 | 0, $687_1 | 0, i64toi32_i32$5 | 0, $686_1 | 0, i64toi32_i32$4 | 0, $1929_1 | 0, i64toi32_i32$0 | 0, $688_1 | 0, i64toi32_i32$2 | 0); + i64toi32_i32$4 = ($6_1 + 32 | 0) + $530_1 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $690_1 = i64toi32_i32$2; + $690$hi = i64toi32_i32$0; + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $1941$hi = i64toi32_i32$2; + i64toi32_i32$2 = $690$hi; + i64toi32_i32$2 = $1941$hi; + $140_1 = i64toi32_i32$0; + i64toi32_i32$0 = $690$hi; + (wasm2js_i32$0 = $6_1, wasm2js_f64$0 = +$3276($140_1 | 0, i64toi32_i32$2 | 0, $690_1 | 0, i64toi32_i32$0 | 0)), HEAPF64[(wasm2js_i32$0 + 208 | 0) >> 3] = wasm2js_f64$0; + HEAPF64[($6_1 + 208 | 0) >> 3] = +HEAPF64[($6_1 + 208 | 0) >> 3] * 1.e+308; + } + break label$61; + } + label$65 : { + label$66 : { + if (!((HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$66 + } + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + i64toi32_i32$4 = 0; + HEAPF64[($6_1 + 208 | 0) >> 3] = +(0 | 0) * (+(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$2 | 0)); + break label$65; + } + i64toi32_i32$4 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + i64toi32_i32$4 = 0; + HEAPF64[($6_1 + 208 | 0) >> 3] = +Math_fround(Math_fround(+(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0)) * Math_fround(infinity)); + } + } + break label$59; + } + $881($6_1 + 144 | 0 | 0, HEAP32[($6_1 + 220 | 0) >> 2] | 0 | 0); + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 144 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 148 | 0) >> 2] | 0; + $694_1 = i64toi32_i32$0; + $694$hi = i64toi32_i32$2; + i64toi32_i32$4 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 156 | 0) >> 2] | 0; + $1999_1 = i64toi32_i32$2; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 168 | 0) >> 2] = $1999_1; + HEAP32[($6_1 + 172 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $694$hi; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 160 | 0) >> 2] = $694_1; + HEAP32[($6_1 + 164 | 0) >> 2] = i64toi32_i32$0; + label$67 : { + label$68 : { + if (!((HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$68 + } + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $3268($6_1 + 96 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0); + $559_1 = 8; + i64toi32_i32$4 = ($6_1 + 96 | 0) + $559_1 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $697_1 = i64toi32_i32$2; + $697$hi = i64toi32_i32$0; + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $698_1 = i64toi32_i32$0; + $698$hi = i64toi32_i32$2; + i64toi32_i32$4 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 172 | 0) >> 2] | 0; + $699_1 = i64toi32_i32$2; + $699$hi = i64toi32_i32$0; + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 160 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 164 | 0) >> 2] | 0; + $700$hi = i64toi32_i32$2; + i64toi32_i32$2 = $698$hi; + i64toi32_i32$2 = $697$hi; + i64toi32_i32$2 = $700$hi; + $2041_1 = i64toi32_i32$0; + i64toi32_i32$2 = $699$hi; + i64toi32_i32$2 = $698$hi; + i64toi32_i32$0 = $697$hi; + i64toi32_i32$4 = $700$hi; + i64toi32_i32$5 = $699$hi; + $3265($6_1 + 80 | 0 | 0, $698_1 | 0, i64toi32_i32$2 | 0, $697_1 | 0, i64toi32_i32$0 | 0, $2041_1 | 0, i64toi32_i32$4 | 0, $699_1 | 0, i64toi32_i32$5 | 0); + i64toi32_i32$0 = ($6_1 + 80 | 0) + $559_1 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $701_1 = i64toi32_i32$5; + $701$hi = i64toi32_i32$4; + i64toi32_i32$0 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + $2053$hi = i64toi32_i32$5; + i64toi32_i32$5 = $701$hi; + i64toi32_i32$5 = $2053$hi; + $141_1 = i64toi32_i32$4; + i64toi32_i32$4 = $701$hi; + (wasm2js_i32$0 = $6_1, wasm2js_f64$0 = +$3276($141_1 | 0, i64toi32_i32$5 | 0, $701_1 | 0, i64toi32_i32$4 | 0)), HEAPF64[(wasm2js_i32$0 + 208 | 0) >> 3] = wasm2js_f64$0; + break label$67; + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $3268($6_1 + 128 | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0); + $570_1 = 8; + i64toi32_i32$0 = ($6_1 + 128 | 0) + $570_1 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $704_1 = i64toi32_i32$5; + $704$hi = i64toi32_i32$4; + i64toi32_i32$0 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + $705_1 = i64toi32_i32$4; + $705$hi = i64toi32_i32$5; + i64toi32_i32$0 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($6_1 + 172 | 0) >> 2] | 0; + $706_1 = i64toi32_i32$5; + $706$hi = i64toi32_i32$4; + i64toi32_i32$0 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 160 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 164 | 0) >> 2] | 0; + $707$hi = i64toi32_i32$5; + i64toi32_i32$5 = $705$hi; + i64toi32_i32$5 = $704$hi; + i64toi32_i32$5 = $707$hi; + $2085_1 = i64toi32_i32$4; + i64toi32_i32$5 = $706$hi; + i64toi32_i32$5 = $705$hi; + i64toi32_i32$4 = $704$hi; + i64toi32_i32$0 = $707$hi; + i64toi32_i32$2 = $706$hi; + $3273($6_1 + 112 | 0 | 0, $705_1 | 0, i64toi32_i32$5 | 0, $704_1 | 0, i64toi32_i32$4 | 0, $2085_1 | 0, i64toi32_i32$0 | 0, $706_1 | 0, i64toi32_i32$2 | 0); + i64toi32_i32$4 = ($6_1 + 112 | 0) + $570_1 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $708_1 = i64toi32_i32$2; + $708$hi = i64toi32_i32$0; + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + $2097$hi = i64toi32_i32$2; + i64toi32_i32$2 = $708$hi; + i64toi32_i32$2 = $2097$hi; + $142_1 = i64toi32_i32$0; + i64toi32_i32$0 = $708$hi; + (wasm2js_i32$0 = $6_1, wasm2js_f64$0 = +$3276($142_1 | 0, i64toi32_i32$2 | 0, $708_1 | 0, i64toi32_i32$0 | 0)), HEAPF64[(wasm2js_i32$0 + 208 | 0) >> 3] = wasm2js_f64$0; + } + } + } + } + HEAPF64[(HEAP32[($6_1 + 260 | 0) >> 2] | 0) >> 3] = +HEAPF64[($6_1 + 208 | 0) >> 3]; + label$69 : { + if (!((HEAP32[($6_1 + 264 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 244 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$69 + } + if (!((HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$69 + } + if (!(HEAP32[($6_1 + 216 | 0) >> 2] | 0)) { + break label$69 + } + if (!((HEAP32[($6_1 + 200 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$69 + } + HEAP32[($6_1 + 268 | 0) >> 2] = HEAP32[($6_1 + 200 | 0) >> 2] | 0; + break label$1; + } + label$70 : { + if (!((HEAP32[($6_1 + 200 | 0) >> 2] | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$70 + } + label$71 : { + if ((HEAP32[($6_1 + 200 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0) { + break label$71 + } + if (!(HEAP32[($6_1 + 216 | 0) >> 2] | 0)) { + break label$70 + } + } + if (!((HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$70 + } + HEAP32[($6_1 + 268 | 0) >> 2] = -1; + break label$1; + } + HEAP32[($6_1 + 268 | 0) >> 2] = 0; + } + $627_1 = HEAP32[($6_1 + 268 | 0) >> 2] | 0; + global$0 = $6_1 + 272 | 0; + return $627_1 | 0; + } + + function $345($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = +$1_1; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0.0, $36_1 = 0.0, $12_1 = 0, $13_1 = 0, $31_1 = 0, $31$hi = 0, $82_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAPF64[($5_1 + 16 | 0) >> 3] = $1_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + $36_1 = +HEAPF64[($5_1 + 16 | 0) >> 3]; + label$1 : { + label$2 : { + if (!(Math_abs($36_1) < 9223372036854775808.0)) { + break label$2 + } + i64toi32_i32$0 = $36_1; + if (Math_abs(i64toi32_i32$0) >= 1.0) { + if (i64toi32_i32$0 > 0.0) { + $12_1 = ~~Math_min(Math_floor(i64toi32_i32$0 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $12_1 = ~~Math_ceil((i64toi32_i32$0 - +(~~i64toi32_i32$0 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $13_1 = $12_1; + } else { + $13_1 = 0 + } + i64toi32_i32$1 = $13_1; + $31_1 = ~~i64toi32_i32$0 >>> 0; + $31$hi = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = -2147483648; + $31_1 = 0; + $31$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $31$hi; + i64toi32_i32$2 = $5_1; + HEAP32[$5_1 >> 2] = $31_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!($1059(+(+HEAPF64[($5_1 + 16 | 0) >> 3]), i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $82_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $82_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$3; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (0 | 0) == ($530(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $27_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $27_1 | 0; + } + + function $346($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $29$hi = 0, $33$hi = 0, $31$hi = 0, $12_1 = 0, $13_1 = 0, $14_1 = 0, $35$hi = 0, $15_1 = 0, $16_1 = 0, $17_1 = 0, $55_1 = 0, $101_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $241(+(+HEAPF64[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 3])) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $55_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[i64toi32_i32$0 >> 2] = $55_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + label$1 : { + if (!(+HEAPF64[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 3] == +(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = -2147483648; + $29$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $31$hi = i64toi32_i32$1; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $31$hi; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $31$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $12_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $13_1 = 0 + } else { + $13_1 = 1 + } + $14_1 = $13_1; + } else { + $14_1 = 0 + } + $12_1 = $14_1; + } + if (!($12_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = 2147483647; + $33$hi = i64toi32_i32$2; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $35$hi = i64toi32_i32$1; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $33$hi; + i64toi32_i32$0 = -1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $15_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $16_1 = 0 + } else { + $16_1 = 1 + } + $17_1 = $16_1; + } else { + $17_1 = 0 + } + $15_1 = $17_1; + } + if (!($15_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $101_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $101_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP16[((HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 4 | 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $347($0_1, $1_1, $2_1, $3_1, $4_1, $4$hi, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $10_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $36_1 = 0, $474$hi = 0, $138_1 = 0, $161_1 = 0, $475$hi = 0, $476$hi = 0, $478$hi = 0, $249_1 = 0, $266_1 = 0, $362_1 = 0, $373_1 = 0, $381_1 = 0, $409_1 = 0, $415_1 = 0, $451_1 = 0, $473$hi = 0, $133_1 = 0, $171_1 = 0, $289_1 = 0, $300_1 = 0, $452_1 = 0, $453_1 = 0, $460_1 = 0, $470_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 464 | 0; + global$0 = $9_1; + i64toi32_i32$0 = 0; + $473$hi = i64toi32_i32$0; + $10_1 = 0; + HEAP32[($9_1 + 460 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 456 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 452 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 448 | 0) >> 2] = $3_1; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 440 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 444 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 436 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 432 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 428 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 420 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 416 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 408 | 0) >> 2] = $10_1; + HEAP32[(HEAP32[($9_1 + 432 | 0) >> 2] | 0) >> 2] = $10_1; + HEAP32[($9_1 + 436 | 0) >> 2] = (((HEAP32[($9_1 + 436 | 0) >> 2] | 0 | 0) != ($10_1 | 0) ^ -1 | 0) ^ -1 | 0) & 1 | 0; + i64toi32_i32$0 = $473$hi; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $308(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, 32 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 408 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : while (1) { + $3289($9_1 + 128 | 0 | 0, 0 | 0, 280 | 0) | 0; + label$3 : { + if ((HEAP32[($9_1 + 408 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + break label$1; + } + $36_1 = 0; + HEAP32[($9_1 + 128 | 0) >> 2] = HEAP32[($9_1 + 460 | 0) >> 2] | 0; + $13(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 416 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 416 | 0) >> 2] = $36_1; + $8(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $348($9_1 + 128 | 0 | 0, $36_1 | 0, HEAP32[($9_1 + 452 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 456 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 412 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($9_1 + 412 | 0) >> 2] | 0 | 0) != ($36_1 | 0) & 1 | 0)) { + break label$4 + } + if (!(HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($9_1 + 412 | 0) >> 2] = 0; + HEAP32[($9_1 + 80 | 0) >> 2] = HEAP32[($9_1 + 452 | 0) >> 2] | 0; + $349($9_1 + 128 | 0 | 0, 1783 | 0, $9_1 + 80 | 0 | 0); + } + label$5 : { + if (!((HEAP32[($9_1 + 412 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$5 + } + HEAP32[($9_1 + 412 | 0) >> 2] = 0; + HEAP32[($9_1 + 64 | 0) >> 2] = HEAP32[($9_1 + 452 | 0) >> 2] | 0; + $349($9_1 + 128 | 0 | 0, 1813 | 0, $9_1 + 64 | 0 | 0); + } + label$6 : { + if (!((HEAP32[($9_1 + 412 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($9_1 + 412 | 0) >> 2] = 0; + HEAP32[($9_1 + 48 | 0) >> 2] = HEAP32[($9_1 + 452 | 0) >> 2] | 0; + $349($9_1 + 128 | 0 | 0, 1849 | 0, $9_1 + 48 | 0 | 0); + } + label$7 : { + if ((HEAP32[($9_1 + 412 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + label$8 : { + if (!((HEAP32[($9_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $13(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 416 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 416 | 0) >> 2] = HEAP32[($9_1 + 132 | 0) >> 2] | 0; + HEAP32[($9_1 + 132 | 0) >> 2] = 0; + } + HEAP32[($9_1 + 420 | 0) >> 2] = 1; + break label$1; + } + HEAP32[((HEAP32[($9_1 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($9_1 + 412 | 0) >> 2] | 0; + $133_1 = HEAP32[((HEAP32[((HEAP32[($9_1 + 460 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (($350(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 408 | 0) >> 2] | 0) + 24 | 0) >> 2] = $133_1; + HEAP32[($9_1 + 424 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + $138_1 = 16; + if (!((HEAP32[($9_1 + 424 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $138_1 | 0) >> $138_1 | 0 | 0) & 1 | 0)) { + break label$9 + } + label$11 : { + if ($88(HEAP32[((HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($9_1 + 424 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 448 | 0) >> 2] | 0 | 0) | 0) { + break label$11 + } + break label$9; + } + HEAP32[($9_1 + 424 | 0) >> 2] = (HEAP32[($9_1 + 424 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + $161_1 = 16; + label$12 : { + if (!((HEAP32[($9_1 + 424 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $161_1 | 0) >> $161_1 | 0 | 0) & 1 | 0)) { + break label$12 + } + $13(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 416 | 0) >> 2] | 0 | 0); + $171_1 = HEAP32[($9_1 + 460 | 0) >> 2] | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = HEAP32[($9_1 + 448 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $351($171_1 | 0, 1870 | 0, $9_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 416 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 420 | 0) >> 2] = 1; + break label$1; + } + label$13 : { + if (!(HEAP32[($9_1 + 436 | 0) >> 2] | 0)) { + break label$13 + } + i64toi32_i32$0 = 0; + $474$hi = i64toi32_i32$0; + HEAP32[($9_1 + 124 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[($9_1 + 460 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $475$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $476$hi = i64toi32_i32$1; + i64toi32_i32$1 = $475$hi; + i64toi32_i32$1 = $476$hi; + i64toi32_i32$1 = $475$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $476$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $478$hi = i64toi32_i32$0; + i64toi32_i32$0 = $474$hi; + i64toi32_i32$0 = $478$hi; + i64toi32_i32$0 = $474$hi; + i64toi32_i32$0 = $478$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $474$hi; + i64toi32_i32$3 = 0; + label$14 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($9_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($9_1 + 112 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + label$19 : { + if (!((HEAP32[(((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($9_1 + 112 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($9_1 + 424 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($9_1 + 124 | 0) >> 2] = 1891; + } + HEAP32[($9_1 + 112 | 0) >> 2] = (HEAP32[($9_1 + 112 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + HEAP32[($9_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$16; + }; + } + } + HEAP32[($9_1 + 120 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($9_1 + 108 | 0) >> 2] = 0; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$22 + } + $249_1 = 16; + label$24 : { + label$25 : { + if ((((HEAPU16[((HEAP32[((HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 108 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $249_1 | 0) >> $249_1 | 0 | 0) == (HEAP32[($9_1 + 424 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$25 + } + $266_1 = 16; + if (!((((HEAPU16[((HEAP32[((HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 108 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $266_1 | 0) >> $266_1 | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$24 + } + } + HEAP32[($9_1 + 124 | 0) >> 2] = 1903; + } + HEAP32[($9_1 + 108 | 0) >> 2] = (HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + HEAP32[($9_1 + 120 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$21; + }; + } + label$26 : { + if (!((HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $13(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 416 | 0) >> 2] | 0 | 0); + $289_1 = HEAP32[($9_1 + 460 | 0) >> 2] | 0; + HEAP32[($9_1 + 32 | 0) >> 2] = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $351($289_1 | 0, 1911 | 0, $9_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 416 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 420 | 0) >> 2] = 1; + break label$1; + } + } + $300_1 = $352($9_1 + 128 | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 408 | 0) >> 2] | 0) + 16 | 0) >> 2] = $300_1; + label$27 : { + if (!((HEAP32[((HEAP32[($9_1 + 408 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($9_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 408 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $350(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + $353(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 436 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $355(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, 6 | 0, 1952 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + $356(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0); + label$28 : { + if ((HEAPU8[((HEAP32[($9_1 + 460 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$28 + } + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($9_1 + 436 | 0) >> 2] | 0; + $357(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[(HEAP32[($9_1 + 412 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0); + } + label$29 : { + if ((HEAPU8[((HEAP32[($9_1 + 460 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$29 + } + label$30 : { + if (!(HEAP32[($9_1 + 436 | 0) >> 2] | 0)) { + break label$30 + } + HEAP8[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 0] = 97; + } + $362_1 = 1; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 21 | 0) >> 0] = 253; + $373_1 = 16; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] = (((HEAPU16[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $373_1 | 0) >> $373_1 | 0) + 1 | 0; + $381_1 = 16; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 68 | 0) >> 2] = ((HEAPU16[((HEAP32[($9_1 + 412 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $381_1 | 0) >> $381_1 | 0; + HEAP16[($9_1 + 328 | 0) >> 1] = 0; + HEAP32[($9_1 + 172 | 0) >> 2] = $362_1; + HEAP32[($9_1 + 168 | 0) >> 2] = $362_1; + $358(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, $9_1 + 128 | 0 | 0); + } + } + HEAP16[((HEAP32[($9_1 + 408 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAP32[($9_1 + 424 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($9_1 + 460 | 0) >> 2] | 0; + label$31 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 460 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$31 + } + break label$1; + } + i64toi32_i32$3 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 440 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 444 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $359(HEAP32[($9_1 + 408 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, $9_1 + 416 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 420 | 0) >> 2] = wasm2js_i32$1; + $409_1 = (HEAP32[($9_1 + 428 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($9_1 + 428 | 0) >> 2] = $409_1; + $415_1 = 0; + label$32 : { + if (!(($409_1 | 0) < (50 | 0) & 1 | 0)) { + break label$32 + } + $415_1 = (HEAP32[($9_1 + 420 | 0) >> 2] | 0 | 0) == (17 | 0); + } + if ($415_1 & 1 | 0) { + continue label$2 + } + break label$2; + }; + } + label$33 : { + label$34 : { + if (HEAP32[($9_1 + 420 | 0) >> 2] | 0) { + break label$34 + } + if ((HEAPU8[((HEAP32[($9_1 + 460 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$34 + } + HEAP32[(HEAP32[($9_1 + 432 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 408 | 0) >> 2] | 0; + break label$33; + } + label$35 : { + if (!((HEAP32[($9_1 + 408 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$35 + } + if (!((HEAP32[((HEAP32[($9_1 + 408 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$35 + } + $216(HEAP32[((HEAP32[($9_1 + 408 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + } + $13(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 408 | 0) >> 2] | 0 | 0); + } + $451_1 = 0; + $452_1 = HEAP32[($9_1 + 460 | 0) >> 2] | 0; + $453_1 = HEAP32[($9_1 + 420 | 0) >> 2] | 0; + $460_1 = (HEAP32[($9_1 + 416 | 0) >> 2] | 0 | 0) != ($451_1 | 0) & 1 | 0 ? 1976 : $451_1; + HEAP32[$9_1 >> 2] = HEAP32[($9_1 + 416 | 0) >> 2] | 0; + $113($452_1 | 0, $453_1 | 0, $460_1 | 0, $9_1 | 0); + $13(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 416 | 0) >> 2] | 0 | 0); + $124($9_1 + 128 | 0 | 0); + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $217(HEAP32[($9_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 420 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 420 | 0) >> 2] = wasm2js_i32$1; + $470_1 = HEAP32[($9_1 + 420 | 0) >> 2] | 0; + global$0 = $9_1 + 464 | 0; + return $470_1 | 0; + } + + function $348($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $101_1 = 0, $102_1 = 0, $103_1 = 0, $106_1 = 0, $107_1 = 0, $113_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 16 | 0) { + break label$2 + } + if (!((0 | 0) != ($360(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $361(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if ((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $362((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 340 | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + if ($89(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, 11615 | 0, 7 | 0) | 0) { + break label$6 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $363(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!($364(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + break label$1; + } + } + label$8 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0) & 2 | 0)) { + break label$8 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + break label$3; + } + label$9 : { + if (!(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$9 + } + if (!((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0)) { + break label$9 + } + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + } + } + label$10 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) & 1 | 0 ? 11623 : 11636; + label$11 : { + label$12 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $101_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $102_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $103_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $103_1; + HEAP32[$6_1 >> 2] = $102_1; + $349($101_1 | 0, 11650 | 0, $6_1 | 0); + break label$11; + } + $106_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $107_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $107_1; + $349($106_1 | 0, 11660 | 0, $6_1 + 16 | 0 | 0); + } + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + } + $113_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $113_1 | 0; + } + + function $349($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $119(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 85 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $13(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + break label$1; + } + $29_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($29_1 + 36 | 0) >> 2] = (HEAP32[($29_1 + 36 | 0) >> 2] | 0) + 1 | 0; + $13(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 268 | 0) >> 2] = 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $350($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = -32768; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!(1 & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + break label$2; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + return HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $351($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $13_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $119(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $13_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $13_1 | 0; + } + + function $352($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $35_1 = 0, i64toi32_i32$0 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $365(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 224 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $3289((HEAP32[$3_1 >> 2] | 0) + 104 | 0 | 0, 0 | 0, 120 | 0) | 0; + HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + } + $35_1 = 0; + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 4 | 0) >> 2] = $35_1; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 20 | 0) >> 2] = 381479589; + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + $366(HEAP32[$3_1 >> 2] | 0 | 0, 62 | 0, $35_1 | 0, 1 | 0) | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + } + $51_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $51_1 | 0; + } + + function $353($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $367(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if ((HEAPU8[((HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + HEAP32[$8_1 >> 2] = (HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 4 | 0) >> 2] | 0, 20) | 0; + HEAP8[((HEAP32[$8_1 >> 2] | 0) + 1 | 0) >> 0] = 253; + HEAP32[((HEAP32[$8_1 >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + } + $30_1 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + global$0 = $8_1 + 32 | 0; + return $30_1 | 0; + } + + function $354($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP16[($4_1 + 10 | 0) >> 1] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP16[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) - 1 | 0, 20) | 0) + 2 | 0) >> 1] = HEAPU16[($4_1 + 10 | 0) >> 1] | 0; + } + return; + } + + function $355($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $29_1 = 0, $42_1 = 0, $48_1 = 0, $64_1 = 0, $74_1 = 0, $82_1 = 0, $99_1 = 0, $103_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + if (!($368(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $29_1 = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0, 20) | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $29_1; + HEAP32[$6_1 >> 2] = $29_1; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 0] = HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0; + $42_1 = 24; + HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0; + $48_1 = 24; + HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $48_1 | 0) >> $48_1 | 0; + label$5 : { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 11248 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$5 + } + $64_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $64_1 | 0) >> $64_1 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + $74_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP32[($74_1 + 8 | 0) >> 2] = (HEAP32[($74_1 + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) | 0; + } + $82_1 = 24; + HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) << $82_1 | 0) >> $82_1 | 0; + HEAP8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = 0; + HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + HEAP16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 2 | 0) >> 1] = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 20 | 0; + continue label$4; + }; + } + $99_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($99_1 + 108 | 0) >> 2] = (HEAP32[($99_1 + 108 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + } + $103_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $103_1 | 0; + } + + function $356($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $8_1 = 0, $29_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($8_1 + 152 | 0) >> 2] = HEAP32[($8_1 + 152 | 0) >> 2] | 0 | ($5_1 << (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0) | 0; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + if (!($369(HEAP32[(((HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + $29_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($29_1 + 156 | 0) >> 2] = HEAP32[($29_1 + 156 | 0) >> 2] | 0 | (1 << (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $357($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $55_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (-12 | 0) & 1 | 0)) { + break label$3 + } + $370(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + break label$1; + } + label$4 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) - 1 | 0; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 20) | 0; + label$5 : { + label$6 : { + if ((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$6 + } + $55_1 = 24; + if (!(((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $55_1 | 0) >> $55_1 | 0)) { + break label$5 + } + } + $371(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + break label$1; + } + label$7 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (-3 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = 253; + break label$1; + } + label$8 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + label$9 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (-12 | 0) & 1 | 0)) { + break label$9 + } + $372(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $358($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $149_1 = 0, $150_1 = 0, $197_1 = 0, $280$hi = 0, $9_1 = 0, $60_1 = 0, $71_1 = 0, $99_1 = 0, $122_1 = 0, $133_1 = 0, $280_1 = 0, $151_1 = 0, $286$hi = 0, $184_1 = 0, $245_1 = 0, $416_1 = 0, $159_1 = 0, $165_1 = 0, $171_1 = 0, $177_1 = 0, $707_1 = 0, $204_1 = 0, $212_1 = 0, $220_1 = 0, $228_1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + $9_1 = 16; + HEAP32[($4_1 + 64 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 200 | 0) >> 1] | 0) << $9_1 | 0) >> $9_1 | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = (HEAP32[($4_1 + 60 | 0) >> 2] | 0) + (HEAP32[($4_1 + 56 | 0) >> 2] | 0) | 0; + label$1 : { + if (HEAP32[($4_1 + 56 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 60 | 0) >> 2] = (HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 48 | 0) >> 2] = (Math_imul(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0, 20) + 7 | 0) & -8 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + (HEAP32[($4_1 + 48 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = ((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) - (HEAP32[($4_1 + 48 | 0) >> 2] | 0) | 0) & -8 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $416_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $416_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$0; + $373(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, $4_1 + 52 | 0 | 0); + $60_1 = 0; + label$2 : { + if (!((HEAPU8[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + $60_1 = ((HEAPU8[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + $71_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP16[($71_1 + 150 | 0) >> 1] = (HEAPU16[($71_1 + 150 | 0) >> 1] | 0) & -65 | 0 | (($60_1 & 1 | 0) << 6 | 0) | 0; + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 203 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) < (10 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 10; + } + $99_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP16[($99_1 + 150 | 0) >> 1] = (HEAPU16[($99_1 + 150 | 0) >> 1] | 0) & -13 | 0 | (((HEAPU8[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 203 | 0) >> 0] | 0) & 3 | 0) << 2 | 0) | 0; + label$5 : { + label$6 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 203 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$6 + } + $374(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, 4 | 0); + HEAP32[($4_1 + 20 | 0) >> 2] = 8; + HEAP32[($4_1 + 16 | 0) >> 2] = 12; + break label$5; + } + $122_1 = 8; + $374(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, $122_1 | 0); + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $122_1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $133_1 = 0; + $375(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0 | 0, $133_1 | 0, HEAP32[(11440 + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $133_1 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + } + i64toi32_i32$0 = 0; + $280_1 = 0; + $280$hi = i64toi32_i32$0; + $149_1 = $4_1 + 24 | 0; + $150_1 = 0; + $151_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP16[($151_1 + 150 | 0) >> 1] = (HEAPU16[($151_1 + 150 | 0) >> 1] | 0) & -4 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $280_1; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $159_1 = $376($149_1 | 0, $150_1 | 0, Math_imul(HEAP32[($4_1 + 60 | 0) >> 2] | 0, 40) | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 88 | 0) >> 2] = $159_1; + i64toi32_i32$0 = 0; + $165_1 = $376($149_1 | 0, $150_1 | 0, Math_imul(HEAP32[($4_1 + 64 | 0) >> 2] | 0, 40) | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 100 | 0) >> 2] = $165_1; + i64toi32_i32$0 = 0; + $171_1 = $376($149_1 | 0, $150_1 | 0, (HEAP32[($4_1 + 52 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 92 | 0) >> 2] = $171_1; + i64toi32_i32$0 = 0; + $177_1 = $376($149_1 | 0, $150_1 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 96 | 0) >> 2] = $177_1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $286$hi = i64toi32_i32$1; + i64toi32_i32$1 = $280$hi; + i64toi32_i32$1 = $286$hi; + i64toi32_i32$1 = $280$hi; + i64toi32_i32$1 = $286$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $280$hi; + label$9 : { + if (!(((i64toi32_i32$2 | 0) != ($280_1 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $184_1 = $365(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 192 | 0) >> 2] = $184_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $184_1; + i64toi32_i32$1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $707_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $707_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$2; + label$10 : { + if (((HEAPU8[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$10 + } + $197_1 = $4_1 + 24 | 0; + i64toi32_i32$2 = 0; + $204_1 = $376($197_1 | 0, HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($4_1 + 60 | 0) >> 2] | 0, 40) | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 88 | 0) >> 2] = $204_1; + i64toi32_i32$2 = 0; + $212_1 = $376($197_1 | 0, HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($4_1 + 64 | 0) >> 2] | 0, 40) | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 100 | 0) >> 2] = $212_1; + i64toi32_i32$2 = 0; + $220_1 = $376($197_1 | 0, HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 52 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 92 | 0) >> 2] = $220_1; + i64toi32_i32$2 = 0; + $228_1 = $376($197_1 | 0, HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 96 | 0) >> 2] = $228_1; + } + } + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 128 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 220 | 0) >> 2] = 0; + label$11 : { + label$12 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$12 + } + $245_1 = 0; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 1] = 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 28 | 0) >> 2] = $245_1; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] = $245_1; + break label$11; + } + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 1] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + $377(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $377(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, 128 & 65535 | 0 | 0); + $3289(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + } + $223(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 80 | 0; + return; + } + + function $359($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $63_1 = 0, $77_1 = 0, $107_1 = 0, $199_1 = 0, $74_1 = 0, $117_1 = 0, $147_1 = 0, $468_1 = 0, $152_1 = 0, $162_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 60 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 52 | 0) >> 2] = 0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP16[((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) + 48 | 0) >> 1] = 4; + i64toi32_i32$0 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + $199_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $199_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] = 4; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $293(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $287(HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 58 | 0) >> 1] | 0) & 65535 | 0 | 0) > ((HEAPU16[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$5 + } + $63_1 = HEAP32[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 88 | 0) + (((HEAPU16[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) << 2 | 0) | 0) >> 2] | 0; + break label$4; + } + $63_1 = 0; + } + HEAP32[($5_1 + 40 | 0) >> 2] = $63_1; + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0) >>> 0 < 12 >>> 0 & 1 | 0)) { + break label$7 + } + $74_1 = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (HEAP32[($5_1 + 40 | 0) >> 2] | 0) { + break label$9 + } + $77_1 = 11577; + break label$8; + } + $77_1 = (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0 ? 11582 : 11587; + } + HEAP32[($5_1 + 32 | 0) >> 2] = $77_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($74_1 | 0, 11548 | 0, $5_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 56 | 0) >> 2] = 1; + $213(HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$6; + } + $107_1 = 16; + HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 88 | 0) + ((((HEAPU16[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) + (((HEAPU16[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 56 | 0) >> 1] | 0) << $107_1 | 0) >> $107_1 | 0) | 0) << 2 | 0) | 0) >> 2] | 0; + $117_1 = $378(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 76 | 0) >> 2] | 0) >> 2] = $117_1; + HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $379(HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + } + label$10 : { + label$11 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + break label$10; + } + label$12 : { + if (!((HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $213(HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + label$13 : { + label$14 : { + if (HEAP32[($5_1 + 56 | 0) >> 2] | 0) { + break label$14 + } + $147_1 = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + $468_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $468_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($147_1 | 0, 11595 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 56 | 0) >> 2] = 1; + break label$13; + } + $152_1 = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $380(HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($152_1 | 0, 1976 | 0, $5_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + } + } + HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $162_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + global$0 = $5_1 + 80 | 0; + return $162_1 | 0; + } + + function $360($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $25_1 = 0, $39_1 = 0, $43_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (((HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $501(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $25_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($25_1 + 36 | 0) >> 2] = (HEAP32[($25_1 + 36 | 0) >> 2] | 0) + 1 | 0; + break label$2; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 89 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + $39_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($39_1 + 24 | 0) >> 2] = HEAP32[($39_1 + 24 | 0) >> 2] | 0 | 16 | 0; + } + } + } + $43_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $43_1 | 0; + } + + function $361($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $222_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if ($88(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + break label$4; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$7 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if ($88(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 8749 | 0) | 0) { + break label$9 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + break label$8; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[(((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + if ($89(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 27544 | 0, 7 | 0) | 0) { + break label$10 + } + label$11 : { + label$12 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$12 + } + label$13 : { + label$14 : { + if (!($88((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 7 | 0 | 0, 61157 + 7 | 0 | 0) | 0)) { + break label$14 + } + if (!($88((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 7 | 0 | 0, 61176 + 7 | 0 | 0) | 0)) { + break label$14 + } + if ($88((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 7 | 0 | 0, 8004 + 7 | 0 | 0) | 0) { + break label$13 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 8 | 0 | 0, 8404 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$11; + } + label$15 : { + if ($88((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 7 | 0 | 0, 61176 + 7 | 0 | 0) | 0) { + break label$15 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[(((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 8 | 0 | 0, 8004 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + } + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = 2; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[(((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + break label$18; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + label$21 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$21 + } + if ($89(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 27544 | 0, 7 | 0) | 0) { + break label$21 + } + label$22 : { + label$23 : { + if ($88((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 7 | 0 | 0, 61176 + 7 | 0 | 0) | 0) { + break label$23 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0 | 0, 8004 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$22; + } + label$24 : { + if ($88((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 7 | 0 | 0, 61157 + 7 | 0 | 0) | 0) { + break label$24 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 8 | 0 | 0, 8404 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $222_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $222_1 | 0; + } + + function $362($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $9_1 = HEAP32[(($1124(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0) + 8 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $363($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1155((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 7 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (((HEAPU8[((HEAP32[$4_1 >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 48 | 0) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $412(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 11668 | 0, HEAP32[$4_1 >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $30_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $30_1 | 0; + } + + function $364($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, i64toi32_i32$0 = 0, $50_1 = 0, $97_1 = 0, $106_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $308(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, 80 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $50_1 = $291(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = $50_1; + label$5 : { + if (!((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $13(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 1] = 65535; + $1156(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $291(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0); + $1156(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0); + $1156(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $291(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1055(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $4_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + $97_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $349($97_1 | 0, 1976 | 0, $4_1 | 0); + $13(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + $210(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + } + $106_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $106_1 | 0; + } + + function $365($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $107$hi = 0, $108$hi = 0, $112$hi = 0, $14_1 = 0, $114$hi = 0, $36_1 = 0, $45_1 = 0, $52_1 = 0, $61_1 = 0, $68_1 = 0, $77_1 = 0, $84_1 = 0, $93_1 = 0, $98_1 = 0, $104_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $107$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $108$hi = i64toi32_i32$1; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $108$hi; + i64toi32_i32$3 = (HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 276 | 0) >> 1] | 0) & 65535 | 0; + label$1 : { + label$2 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 272 | 0) >> 2] | 0) { + break label$4 + } + $14_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($14_1 + 292 | 0) >> 2] = (HEAP32[($14_1 + 292 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $541(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$1 = 0; + $112$hi = i64toi32_i32$1; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $114$hi = i64toi32_i32$2; + i64toi32_i32$2 = $112$hi; + i64toi32_i32$2 = $114$hi; + i64toi32_i32$2 = $112$hi; + i64toi32_i32$2 = $114$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $112$hi; + i64toi32_i32$0 = 128; + label$6 : { + if (!((i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + $36_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 312 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $36_1; + label$7 : { + if (!(($36_1 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 312 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $45_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($45_1 + 288 | 0) >> 2] = (HEAP32[($45_1 + 288 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $52_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 308 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $52_1; + label$8 : { + if (!(($52_1 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 308 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $61_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($61_1 + 288 | 0) >> 2] = (HEAP32[($61_1 + 288 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + } + $68_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 304 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $68_1; + label$9 : { + if (!(($68_1 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 304 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $77_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($77_1 + 288 | 0) >> 2] = (HEAP32[($77_1 + 288 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $84_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 300 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $84_1; + label$10 : { + if (!(($84_1 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 300 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $93_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($93_1 + 288 | 0) >> 2] = (HEAP32[($93_1 + 288 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $98_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($98_1 + 296 | 0) >> 2] = (HEAP32[($98_1 + 296 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $541(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $104_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $104_1 | 0; + } + + function $366($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $12_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $12_1 = $367(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $12_1 | 0; + } + + function $367($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $27_1 = 0, $49_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) <= (HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1154(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $27_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[($27_1 + 108 | 0) >> 2] = (HEAP32[($27_1 + 108 | 0) >> 2] | 0) + 1 | 0; + HEAP32[$7_1 >> 2] = (HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 4 | 0) >> 2] | 0, 20) | 0; + HEAP8[(HEAP32[$7_1 >> 2] | 0) >> 0] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP16[((HEAP32[$7_1 >> 2] | 0) + 2 | 0) >> 1] = 0; + HEAP32[((HEAP32[$7_1 >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[$7_1 >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[$7_1 >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[$7_1 >> 2] | 0) + 16 | 0) >> 2] = 0; + HEAP8[((HEAP32[$7_1 >> 2] | 0) + 1 | 0) >> 0] = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + } + $49_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $49_1 | 0; + } + + function $368($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $64$hi = 0, $65$hi = 0, $58$hi = 0, $59$hi = 0, $23_1 = 0, $61_1 = 0, $61$hi = 0, $25_1 = 0, $27_1 = 0, $28_1 = 0, $68$hi = 0, $69$hi = 0, $46_1 = 0, $64_1 = 0, $121_1 = 0, $24_1 = 0, $26_1 = 0, $29_1 = 0, $37_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0)) { + break label$2 + } + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $58$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $59$hi = i64toi32_i32$0; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = $59$hi; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $23_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $23_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $61_1 = $23_1; + $61$hi = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = 0; + $61_1 = 51; + $61$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $61$hi; + i64toi32_i32$2 = $4_1; + HEAP32[$4_1 >> 2] = $61_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $64_1 = i64toi32_i32$1; + $64$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 128 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $65$hi = i64toi32_i32$2; + i64toi32_i32$2 = $64$hi; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$2 = $64$hi; + i64toi32_i32$2 = $65$hi; + $121_1 = i64toi32_i32$1; + i64toi32_i32$2 = $64$hi; + i64toi32_i32$0 = $64_1; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$3 = $121_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$1 | 0)) { + $25_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $27_1 = 0 + } else { + $27_1 = 1 + } + $28_1 = $27_1; + } else { + $28_1 = 0 + } + $25_1 = $28_1; + } + label$3 : { + label$4 : { + if (!($25_1 & 1 | 0)) { + break label$4 + } + $118(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$3; + } + $24_1 = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $26_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $68$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $69$hi = i64toi32_i32$2; + i64toi32_i32$2 = $68$hi; + i64toi32_i32$2 = $69$hi; + i64toi32_i32$2 = $68$hi; + $29_1 = i64toi32_i32$0; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$0 = __wasm_i64_mul($29_1 | 0, i64toi32_i32$2 | 0, 20 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $70($24_1 | 0, $26_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $37_1 = $59(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = $37_1; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 112 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >>> 0) / (20 >>> 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 104 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $46_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != ($46_1 | 0) & 1 | 0 ? $46_1 : 7; + } + $55_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $55_1 | 0; + } + + function $369($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $370($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $8_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 17 | 0; + label$1 : { + label$2 : { + switch ($8_1 | 0) { + case 1: + $837(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + break label$1; + case 0: + case 2: + case 3: + case 4: + case 10: + $13(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + break label$1; + case 8: + label$8 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 480 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + $838(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + break label$1; + case 9: + $839(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + break label$1; + case 6: + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 480 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + $212(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + break label$9; + } + $840(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + break label$1; + case 5: + break label$2; + default: + break label$1; + }; + } + label$11 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 480 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + $841(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $371($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $23_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $23_1 = 24; + $370(HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0 | 0, HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + } + label$2 : { + label$3 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + $357(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) | 0 | 0) / (20 | 0) | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0); + break label$2; + } + label$4 : { + if (HEAP32[$6_1 >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $68(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + i64toi32_i32$1 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $55_1 = $1130(HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = $55_1; + HEAP8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = 249; + } + global$0 = $6_1 + 16 | 0; + return; + } + + function $372($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + return; + } + + function $373($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0, $15_1 = 0, $39_1 = 0, $43_1 = 0, $47_1 = 0, $51_1 = 0, $55_1 = 0, $118_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + $11_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($11_1 + 150 | 0) >> 1] = HEAPU16[($11_1 + 150 | 0) >> 1] | 0 | 128 | 0; + $15_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($15_1 + 150 | 0) >> 1] = (HEAPU16[($15_1 + 150 | 0) >> 1] | 0) & -257 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + label$1 : while (1) { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) <= (62 | 0) & 1 | 0)) { + break label$2 + } + $39_1 = HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0; + label$3 : { + label$4 : { + switch ($39_1 | 0) { + case 2: + label$12 : { + if (!(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$12 + } + $43_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($43_1 + 150 | 0) >> 1] = (HEAPU16[($43_1 + 150 | 0) >> 1] | 0) & -129 | 0; + } + case 0: + case 1: + $47_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($47_1 + 150 | 0) >> 1] = HEAPU16[($47_1 + 150 | 0) >> 1] | 0 | 256 | 0; + break label$3; + case 6: + case 7: + case 8: + $51_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($51_1 + 150 | 0) >> 1] = (HEAPU16[($51_1 + 150 | 0) >> 1] | 0) & 65407 | 0; + $55_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($55_1 + 150 | 0) >> 1] = HEAPU16[($55_1 + 150 | 0) >> 1] | 0 | 256 | 0; + break label$3; + case 3: + case 5: + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = 6; + HEAP8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] = 251; + break label$3; + case 4: + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = 7; + HEAP8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] = 251; + break label$3; + case 10: + label$13 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + break label$3; + case 9: + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + -20 | 0) + 4 | 0) >> 2] | 0; + label$14 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) > (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + break; + default: + break label$4; + }; + } + label$15 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) ^ -1 | 0) << 2 | 0) | 0) >> 2] | 0; + } + } + } + label$16 : { + label$17 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + break label$16; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + -20 | 0; + continue label$1; + } + break label$1; + }; + $118_1 = 0; + $13(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] = $118_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] = $118_1; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return; + } + + function $374($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $39_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 144 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$1 + } + $21(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 144 | 0) >> 1] | 0) & 65535 | 0) << 0 | 0 | 0); + $13(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 0 | 0; + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 144 | 0) >> 1] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $39_1 = $365(HEAP32[$4_1 >> 2] | 0 | 0, Math_imul(HEAP32[($4_1 + 4 | 0) >> 2] | 0, 40) | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] = $39_1; + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$2; + } + $377(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $375($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[$7_1 >> 2] = (HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + Math_imul((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 16 | 0) >> 2] | 0, (HEAPU16[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 144 | 0) >> 1] | 0) & 65535 | 0) | 0, 40) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $256(HEAP32[$7_1 >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0, 1 & 255 | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + } + $42_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $42_1 | 0; + } + + function $376($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $5_1 = 0, i64toi32_i32$0 = 0, $30$hi = 0, $31$hi = 0, $25$hi = 0, $26$hi = 0, $27$hi = 0, $28$hi = 0, $28_1 = 0, $29_1 = 0, $31_1 = 0, $34$hi = 0, $17_1 = 0, $38$hi = 0, $23_1 = 0, $72_1 = 0, $30_1 = 0, $82_1 = 0, $34_1 = 0, $95$hi = 0, $38_1 = 0, $121$hi = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[i64toi32_i32$1 >> 2] = $2_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!((HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $25$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$3 = 7; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $27$hi = i64toi32_i32$5; + i64toi32_i32$5 = -1; + $28$hi = i64toi32_i32$5; + i64toi32_i32$5 = $27$hi; + i64toi32_i32$5 = $28$hi; + i64toi32_i32$5 = $27$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $28$hi; + i64toi32_i32$3 = -8; + i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2 | 0; + $72_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[i64toi32_i32$1 >> 2] = $72_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $30_1 = i64toi32_i32$2; + $30$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + $31$hi = i64toi32_i32$2; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$2 = $31$hi; + $82_1 = i64toi32_i32$1; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$5 = $30_1; + i64toi32_i32$1 = $31$hi; + i64toi32_i32$3 = $82_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $28_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$5 >>> 0 > i64toi32_i32$3 >>> 0) { + $29_1 = 0 + } else { + $29_1 = 1 + } + $31_1 = $29_1; + } else { + $31_1 = 0 + } + $28_1 = $31_1; + } + label$2 : { + label$3 : { + if (!($28_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $34_1 = i64toi32_i32$5; + $34$hi = i64toi32_i32$2; + $17_1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + i64toi32_i32$3 = $17_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $95$hi = i64toi32_i32$5; + i64toi32_i32$5 = $34$hi; + i64toi32_i32$5 = $95$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $34$hi; + i64toi32_i32$1 = $34_1; + i64toi32_i32$0 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$4 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$3 = $17_1; + HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + i64toi32_i32$4 | 0; + break label$2; + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $38_1 = i64toi32_i32$3; + $38$hi = i64toi32_i32$4; + $23_1 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + i64toi32_i32$5 = $23_1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $121$hi = i64toi32_i32$3; + i64toi32_i32$3 = $38$hi; + i64toi32_i32$3 = $121$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$4 = $38$hi; + i64toi32_i32$1 = $38_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$5 = $23_1; + HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] = i64toi32_i32$0; + } + } + return HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $377($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $8_1 = 0; + $6_1 = global$0 - 16 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP16[($6_1 + 2 | 0) >> 1] = $3_1; + label$1 : { + label$2 : while (1) { + $8_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $8_1 + -1 | 0; + if (!(($8_1 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($6_1 + 2 | 0) >> 1] | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 40 | 0; + continue label$2; + }; + } + return; + } + + function $378($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 >= 128 >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - 12 | 0) >>> 1 | 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8256 | 0) >> 0] | 0) & 255 | 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $379($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP8[($5_1 + 1 | 0) >> 0] = (HEAPU8[($5_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 16 | 0; + HEAP8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 11 | 0) >> 0] = 1; + return; + } + + function $380($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $35_1 = 0, $49_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $285(7 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + if ($404(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $285($3(164331 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $285(7 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + label$6 : { + label$7 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0)) { + break label$7 + } + $35_1 = $66(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) | 0; + break label$6; + } + $35_1 = 0; + } + HEAP32[($3_1 + 4 | 0) >> 2] = $35_1; + label$8 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $285(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + $49_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $49_1 | 0; + } + + function $381($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $382($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1138(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $383($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $13(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $213(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + } + $21_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $21_1 | 0; + } + + function $384($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $12_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $12_1 = $386(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, 8 | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $12_1 | 0; + } + + function $385($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if ((HEAPU8[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $388(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $389(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $22_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $22_1 | 0; + } + + function $386($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $90$hi = 0, $91$hi = 0, $88$hi = 0, $89$hi = 0, i64toi32_i32$4 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $88_1 = 0, $174_1 = 0, $186_1 = 0, $85_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3(94204 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$5 + } + if ((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$5 + } + i64toi32_i32$1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $88_1 = i64toi32_i32$1; + $88$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $89$hi = i64toi32_i32$0; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$0 = $89$hi; + $174_1 = i64toi32_i32$1; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$2 = $88_1; + i64toi32_i32$1 = $89$hi; + i64toi32_i32$3 = $174_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $90$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $91$hi = i64toi32_i32$5; + i64toi32_i32$5 = $90$hi; + i64toi32_i32$5 = $91$hi; + i64toi32_i32$5 = $90$hi; + i64toi32_i32$5 = $91$hi; + $186_1 = i64toi32_i32$2; + i64toi32_i32$5 = $90$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $91$hi; + i64toi32_i32$3 = $186_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$2 | 0)) { + $20_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $21_1 = 0 + } else { + $21_1 = 1 + } + $22_1 = $21_1; + } else { + $22_1 = 0 + } + $20_1 = $22_1; + } + if (!($20_1 & 1 | 0)) { + break label$4 + } + } + HEAP32[($7_1 + 20 | 0) >> 2] = 1; + break label$3; + } + label$6 : { + label$7 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 4; + break label$6; + } + $387(HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$9 + } + $216(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$8; + } + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + } + } + } + $115(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $217(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + } + $85_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $85_1 | 0; + } + + function $387($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $127(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $388($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $167_1 = 0, i64toi32_i32$0 = 0, $312_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $823(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAP32[($7_1 + 52 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0) >>> 0 > ((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - ((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0) | 0) >>> 0 & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(69545 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($7_1 + 68 | 0) >> 2] | 0) >>> 0 < ((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + label$5 : { + if (!(((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0) >>> 0 > ((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 32 | 0) >> 2] = ((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $825((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 68 | 0) >> 2] = 0; + HEAP32[($7_1 + 60 | 0) >> 2] = (HEAP32[($7_1 + 60 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) - (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0; + break label$3; + } + HEAP32[($7_1 + 68 | 0) >> 2] = (HEAP32[($7_1 + 68 | 0) >> 2] | 0) - ((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0) | 0; + } + label$6 : { + if (HEAP32[($7_1 + 48 | 0) >> 2] | 0) { + break label$6 + } + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 4 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$8 + } + HEAP32[($7_1 + 20 | 0) >> 2] = (((((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) - ((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0) | 0) + (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0) - 1 | 0) >>> 0) / ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0) | 0; + label$9 : { + label$10 : { + if ((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$10 + } + if (!(((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0 | 0) > ($16(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $45(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 1 | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + } + $3289(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + $167_1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + HEAP8[($167_1 + 1 | 0) >> 0] = (HEAPU8[($167_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 4 | 0; + break label$7; + } + label$12 : { + if (!(HEAP32[((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((((HEAP32[($7_1 + 68 | 0) >> 2] | 0) >>> 0) / ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0) | 0) << 2 | 0) | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($7_1 + 44 | 0) >> 2] = ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) >>> 0) / ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) >>> 0) % ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0) | 0; + } + } + label$13 : { + label$14 : while (1) { + if (!(HEAP32[($7_1 + 24 | 0) >> 2] | 0)) { + break label$13 + } + label$15 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(69607 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + label$16 : { + label$17 : { + if (!((HEAP32[($7_1 + 68 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$17 + } + label$18 : { + label$19 : { + if (!(HEAP32[((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0)) { + break label$19 + } + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + break label$18; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $826(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, $7_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($7_1 + 68 | 0) >> 2] = (HEAP32[($7_1 + 68 | 0) >> 2] | 0) - (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0; + break label$16; + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + label$20 : { + if (!(((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0) >>> 0 > (HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$20 + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $134(HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, $7_1 + 8 | 0 | 0, (HEAP32[($7_1 + 56 | 0) >> 2] | 0 ? 0 : 2) | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (HEAP32[($7_1 + 48 | 0) >> 2] | 0) { + break label$21 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $135(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $825((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0) | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $137(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 68 | 0) >> 2] = 0; + } + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) - (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + label$22 : { + if (HEAP32[($7_1 + 64 | 0) >> 2] | 0) { + break label$22 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($7_1 + 60 | 0) >> 2] = (HEAP32[($7_1 + 60 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + } + label$23 : { + if (!(HEAP32[($7_1 + 48 | 0) >> 2] | 0)) { + break label$23 + } + break label$13; + } + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + } + label$24 : { + if (HEAP32[($7_1 + 48 | 0) >> 2] | 0) { + break label$24 + } + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$24 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(69692 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + } + $312_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $312_1 | 0; + } + + function $389($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $22_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 4; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $392(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$4 + } + $22_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + break label$3; + } + $22_1 = $388(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = $22_1; + } + $30_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $30_1 | 0; + } + + function $390($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $12_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $12_1 = $386(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, 9 | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $12_1 | 0; + } + + function $391($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $19_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = $392(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $19_1 = 0; + } + HEAP32[($6_1 + 8 | 0) >> 2] = $19_1; + label$3 : { + label$4 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + break label$3; + } + label$5 : { + if (!((HEAPU8[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$5 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 4; + break label$3; + } + $198(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + label$6 : { + if (((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 8; + break label$3; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $388(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $47_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $47_1 | 0; + } + + function $392($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $46_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[$3_1 >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] = 1; + label$3 : { + label$4 : { + if (!($176(410 | 0) | 0)) { + break label$4 + } + HEAP32[($3_1 + 4 | 0) >> 2] = 10; + break label$3; + } + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1005(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, 0 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + label$6 : { + if (!(HEAP32[$3_1 >> 2] | 0)) { + break label$6 + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + } + label$7 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$7 + } + if ((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$7 + } + HEAP8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] = 2; + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + $46_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $46_1 | 0; + } + + function $393($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $22_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $22_1 = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + } + $22_1 = 0; + } + return $22_1 | 0; + } + + function $394($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $42_1 = 0, $50_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3(94302 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 4; + break label$3; + } + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $359(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($4_1 + 28 | 0) >> 2] | 0)) { + break label$5 + } + $33_1 = 0; + $34_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $35_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $42_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != ($33_1 | 0) & 1 | 0 ? 1976 : $33_1; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + $113($34_1 | 0, $35_1 | 0, $42_1 | 0, $4_1 | 0); + $13(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $217(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + $50_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $50_1 | 0; + } + + function $395($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $15_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP16[($15_1 + 150 | 0) >> 1] = (HEAPU16[($15_1 + 150 | 0) >> 1] | 0) & -4 | 0 | (((HEAPU16[($4_1 + 8 | 0) >> 1] | 0) + 1 | 0) & 3 | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$2; + }; + } + return; + } + + function $396($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $9_1 = $397(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 1979 | 0, 91 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $397($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $295_1 = 0, $28_1 = 0, $34_1 = 0, $39_1 = 0, $57_1 = 0, $63_1 = 0, $68_1 = 0, $76_1 = 0, $142_1 = 0, $241_1 = 0, $247_1 = 0, $252_1 = 0, $336_1 = 0, $421_1 = 0, $427_1 = 0, $208_1 = 0, $497_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 48 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAPU8[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP8[($6_1 + 43 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + label$4 : { + label$5 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$5 + } + $28_1 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + HEAP32[($6_1 + 72 | 0) >> 2] = $28_1 + 1 | 0; + $34_1 = (HEAPU8[$28_1 >> 0] | 0) & 255 | 0; + break label$4; + } + $34_1 = $398($6_1 + 72 | 0 | 0) | 0; + } + $39_1 = $34_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $39_1; + if (!$39_1) { + break label$2 + } + label$6 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : while (1) { + label$8 : { + label$9 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$9 + } + $57_1 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + HEAP32[($6_1 + 72 | 0) >> 2] = $57_1 + 1 | 0; + $63_1 = (HEAPU8[$57_1 >> 0] | 0) & 255 | 0; + break label$8; + } + $63_1 = $398($6_1 + 72 | 0 | 0) | 0; + } + $68_1 = $63_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $68_1; + $76_1 = 1; + label$10 : { + if (($68_1 | 0) == (HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$10 + } + $76_1 = (HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!($76_1 & 1 | 0)) { + break label$11 + } + label$12 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + if ($398($6_1 + 68 | 0 | 0) | 0) { + break label$12 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 2; + break label$1; + } + continue label$7; + } + break label$7; + }; + label$13 : { + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$13 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + break label$1; + } + label$14 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + label$16 : { + if ((HEAPU8[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) { + break label$16 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $398($6_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$17 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 2; + break label$1; + } + break label$15; + } + label$18 : { + label$19 : while (1) { + if (!(((HEAPU8[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $397((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + -1 | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + break label$1; + } + $142_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = $142_1 + 1 | 0; + label$21 : { + if (!(((HEAPU8[$142_1 >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$21 + } + label$22 : { + label$23 : while (1) { + if (!((((HEAPU8[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + } + continue label$19; + }; + } + HEAP32[($6_1 + 76 | 0) >> 2] = 2; + break label$1; + } + } + label$24 : { + label$25 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0) >>> 0 <= 128 >>> 0 & 1 | 0)) { + break label$25 + } + label$26 : { + label$27 : { + if (!(((HEAPU8[($6_1 + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$27 + } + HEAP8[($6_1 + 29 | 0) >> 0] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) & ((((HEAPU8[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 32 | 0) ^ -1 | 0) | 0; + HEAP8[($6_1 + 30 | 0) >> 0] = HEAPU8[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0; + HEAP8[($6_1 + 31 | 0) >> 0] = 0; + break label$26; + } + HEAP8[($6_1 + 29 | 0) >> 0] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + HEAP8[($6_1 + 30 | 0) >> 0] = 0; + } + label$28 : { + label$29 : while (1) { + $208_1 = $3233(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, $6_1 + 29 | 0 | 0) | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + $208_1 | 0; + label$30 : { + if ((HEAPU8[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$30 + } + break label$28; + } + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $397(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$31 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + break label$1; + } + continue label$29; + }; + } + break label$24; + } + label$32 : while (1) { + label$33 : { + label$34 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$34 + } + $241_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = $241_1 + 1 | 0; + $247_1 = (HEAPU8[$241_1 >> 0] | 0) & 255 | 0; + break label$33; + } + $247_1 = $398($6_1 + 68 | 0 | 0) | 0; + } + $252_1 = $247_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $252_1; + label$35 : { + if (!$252_1) { + break label$35 + } + label$36 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$36 + } + continue label$32; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $397(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$37 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + break label$1; + } + continue label$32; + } + break label$32; + }; + } + HEAP32[($6_1 + 76 | 0) >> 2] = 2; + break label$1; + } + label$38 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$38 + } + label$39 : { + label$40 : { + if ((HEAPU8[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) { + break label$40 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $398($6_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$41 : { + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$41 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + break label$39; + } + $295_1 = 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $295_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $295_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $295_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $398($6_1 + 68 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$42 : { + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$42 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $398($6_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$43 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) == (94 | 0) & 1 | 0)) { + break label$43 + } + HEAP32[($6_1 + 8 | 0) >> 2] = 1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $398($6_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + label$44 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) == (93 | 0) & 1 | 0)) { + break label$44 + } + label$45 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (93 | 0) & 1 | 0)) { + break label$45 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $398($6_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + label$46 : while (1) { + $336_1 = 0; + label$47 : { + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$47 + } + $336_1 = (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) != (93 | 0); + } + label$48 : { + if (!($336_1 & 1 | 0)) { + break label$48 + } + label$49 : { + label$50 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$50 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (93 | 0) & 1 | 0)) { + break label$50 + } + if (!((HEAPU8[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$50 + } + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$50 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $398($6_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$51 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$51 + } + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($6_1 + 52 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$51 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + break label$49; + } + label$52 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$52 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $398($6_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + continue label$46; + } + break label$46; + }; + label$53 : { + label$54 : { + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$54 + } + if ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) ^ (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) { + break label$53 + } + } + HEAP32[($6_1 + 76 | 0) >> 2] = 1; + break label$1; + } + continue label$3; + } + } + label$55 : { + label$56 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$56 + } + $421_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = $421_1 + 1 | 0; + $427_1 = (HEAPU8[$421_1 >> 0] | 0) & 255 | 0; + break label$55; + } + $427_1 = $398($6_1 + 68 | 0 | 0) | 0; + } + HEAP32[($6_1 + 52 | 0) >> 2] = $427_1; + label$57 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$57 + } + continue label$3; + } + label$58 : { + if (!((HEAPU8[($6_1 + 43 | 0) >> 0] | 0) & 255 | 0)) { + break label$58 + } + if (!(((HEAPU8[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[(((HEAP32[($6_1 + 52 | 0) >> 2] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$58 + } + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$58 + } + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$58 + } + continue label$3; + } + label$59 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$59 + } + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$59 + } + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$59 + } + continue label$3; + } + break label$3; + }; + HEAP32[($6_1 + 76 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 76 | 0) >> 2] = (HEAPU8[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 ? 1 : 0; + } + $497_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $497_1 | 0; + } + + function $398($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0, $6_1 = 0, $40_1 = 0, $41_1 = 0, $39_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $6_1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[$5_1 >> 2] = $6_1 + 1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAPU8[$6_1 >> 0] | 0) & 255 | 0; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAPU8[(((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$2 : { + label$3 : while (1) { + if (!((((HEAPU8[(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$2 + } + $39_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 6 | 0; + $40_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $41_1 = HEAP32[$40_1 >> 2] | 0; + HEAP32[$40_1 >> 2] = $41_1 + 1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $39_1 + (((HEAPU8[$41_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$3; + }; + } + label$4 : { + label$5 : { + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$5 + } + if (((HEAP32[($3_1 + 8 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$5 + } + if (!(((HEAP32[($3_1 + 8 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($3_1 + 8 | 0) >> 2] = 65533; + } + } + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $399($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $10_1 = $397(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 1983 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $10_1 | 0; + } + + function $400($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $8_1 = 0, $45_1 = 0, $270$hi = 0, i64toi32_i32$3 = 0, $25_1 = 0, $29_1 = 0, $271$hi = 0, $272$hi = 0, $274$hi = 0, $192_1 = 0, $243_1 = 0, $255_1 = 0, $117_1 = 0, $150_1 = 0, $246_1 = 0, $267_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if ($401(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3(123967 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 52 | 0) >> 2] = 1352; + } + $115(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, 0 | 0); + label$4 : { + label$5 : while (1) { + $25_1 = 0; + label$6 : { + if (HEAP32[($7_1 + 36 | 0) >> 2] | 0) { + break label$6 + } + $29_1 = 24; + $25_1 = (((HEAPU8[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $29_1 | 0) >> $29_1 | 0 | 0) != (0 | 0); + } + label$7 : { + if (!($25_1 & 1 | 0)) { + break label$7 + } + $45_1 = 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $45_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $45_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $45_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $402(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, -1 | 0, $7_1 + 28 | 0 | 0, $7_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($7_1 + 36 | 0) >> 2] | 0)) { + break label$8 + } + continue label$5; + } + label$9 : { + if ((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + continue label$5; + } + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + label$10 : while (1) { + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $287(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + if ((100 | 0) == (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$12 + } + if (!((101 | 0) == (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$11 + } + i64toi32_i32$0 = 0; + $270$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $271$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $272$hi = i64toi32_i32$1; + i64toi32_i32$1 = $271$hi; + i64toi32_i32$1 = $272$hi; + i64toi32_i32$1 = $271$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $272$hi; + i64toi32_i32$3 = 256; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $274$hi = i64toi32_i32$0; + i64toi32_i32$0 = $270$hi; + i64toi32_i32$0 = $274$hi; + i64toi32_i32$0 = $270$hi; + i64toi32_i32$0 = $274$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $270$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$11 + } + } + label$13 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$13 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $309(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $64(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, (((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + break label$4; + } + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + $117_1 = $322(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $117_1; + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + HEAP32[($7_1 + 20 | 0) >> 2] = 1; + } + label$17 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $150_1 = $319(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $150_1; + label$20 : { + if ((HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$20 + } + if (!(($321(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$20 + } + $118(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0); + break label$4; + } + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + } + label$21 : { + if (!(FUNCTION_TABLE[HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 44 | 0) >> 2] | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0)) { + break label$21 + } + $192_1 = 4; + HEAP32[($7_1 + 36 | 0) >> 2] = $192_1; + $216(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + $115(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, $192_1 | 0); + break label$4; + } + } + label$22 : { + label$23 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (100 | 0) & 1 | 0)) { + break label$23 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $216(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + label$24 : { + label$25 : while (1) { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + break label$22; + } + continue label$10; + } + break label$10; + }; + $13(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 24 | 0) >> 2] = 0; + continue label$5; + } + break label$5; + }; + } + label$26 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $216(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + } + $13(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $217(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$27 : { + label$28 : { + if (!(HEAP32[($7_1 + 36 | 0) >> 2] | 0)) { + break label$28 + } + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + $243_1 = 0; + $246_1 = $291($243_1 | 0, $380(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] = $246_1; + label$29 : { + if (!((HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) == ($243_1 | 0) & 1 | 0)) { + break label$29 + } + $255_1 = 7; + HEAP32[($7_1 + 36 | 0) >> 2] = $255_1; + $115(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, $255_1 | 0); + } + break label$27; + } + label$30 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] = 0; + } + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + } + $267_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $267_1 | 0; + } + + function $401($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $27_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $403(1353 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (-1607883113 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (!($404(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + $403(14276 | 0); + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + } + $27_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $27_1 | 0; + } + + function $402($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $298(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, 128 | 0, 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $16_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $16_1 | 0; + } + + function $403($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $82(21 | 0, 14285 | 0, $3_1 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $404($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $30_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (1266094736 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (-1607883113 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (-264537850 | 0) & 1 | 0)) { + break label$2 + } + $403(41937 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + } + $30_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $30_1 | 0; + } + + function $405($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $298(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, $8_1 | 0, $8_1 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $15_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $15_1 | 0; + } + + function $406($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $12_1 = 0, $13_1 = 0, $28_1 = 0, $110_1 = 0, i64toi32_i32$1 = 0, $85_1 = 0, $86_1 = 0, i64toi32_i32$0 = 0, $236_1 = 0, $237_1 = 0, $259_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 368 | 0; + global$0 = $9_1; + $12_1 = $9_1 + 48 | 0; + $13_1 = 0; + HEAP32[($9_1 + 364 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 360 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 356 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 352 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 348 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 344 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 340 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 336 | 0) >> 2] = $13_1; + HEAP32[($9_1 + 332 | 0) >> 2] = $13_1; + $3289($12_1 | 0, 0 | 0, 152 | 0) | 0; + $3289($12_1 + 192 | 0 | 0, 0 | 0, 88 | 0) | 0; + HEAP32[($9_1 + 272 | 0) >> 2] = HEAP32[($9_1 + 348 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($9_1 + 352 | 0) >> 2] | 0) & 1 | 0)) { + break label$1 + } + HEAP8[($9_1 + 72 | 0) >> 0] = (HEAPU8[($9_1 + 72 | 0) >> 0] | 0) + 1 | 0; + $28_1 = HEAP32[($9_1 + 364 | 0) >> 2] | 0; + HEAP32[($28_1 + 272 | 0) >> 2] = (HEAP32[($28_1 + 272 | 0) >> 2] | 0) + 1 | 0; + HEAP16[((HEAP32[($9_1 + 364 | 0) >> 2] | 0) + 276 | 0) >> 1] = 0; + } + HEAP8[($9_1 + 73 | 0) >> 0] = ((HEAP32[($9_1 + 352 | 0) >> 2] | 0) & 4 | 0 | 0) != (0 | 0) & 1 | 0; + label$2 : { + label$3 : { + if (((HEAPU8[((HEAP32[($9_1 + 364 | 0) >> 2] | 0) + 89 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($9_1 + 328 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($9_1 + 328 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($9_1 + 364 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($9_1 + 44 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($9_1 + 364 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 328 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1129(HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 332 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($9_1 + 332 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($9_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9_1 + 364 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 328 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $85_1 = HEAP32[($9_1 + 364 | 0) >> 2] | 0; + $86_1 = HEAP32[($9_1 + 332 | 0) >> 2] | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + $113($85_1 | 0, $86_1 | 0, 8700 | 0, $9_1 + 16 | 0 | 0); + break label$2; + } + } + HEAP32[($9_1 + 328 | 0) >> 2] = (HEAP32[($9_1 + 328 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + $171(HEAP32[($9_1 + 364 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 48 | 0) >> 2] = HEAP32[($9_1 + 364 | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($9_1 + 356 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!(HEAP32[($9_1 + 356 | 0) >> 2] | 0)) { + break label$10 + } + $110_1 = 24; + if (!(((HEAPU8[((HEAP32[($9_1 + 360 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 356 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $110_1 | 0) >> $110_1 | 0)) { + break label$9 + } + } + HEAP32[($9_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 364 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + label$11 : { + if (!((HEAP32[($9_1 + 356 | 0) >> 2] | 0 | 0) > (HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $113(HEAP32[($9_1 + 364 | 0) >> 2] | 0 | 0, 18 | 0, 8730 | 0, 0 | 0); + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $217(HEAP32[($9_1 + 364 | 0) >> 2] | 0 | 0, 18 | 0) | 0), HEAP32[(wasm2js_i32$0 + 332 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + i64toi32_i32$1 = HEAP32[($9_1 + 356 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1130(HEAP32[($9_1 + 364 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 360 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + label$13 : { + if (!((HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + $415($9_1 + 48 | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, $9_1 + 336 | 0 | 0) | 0; + HEAP32[($9_1 + 276 | 0) >> 2] = (HEAP32[($9_1 + 360 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 276 | 0) >> 2] | 0) - (HEAP32[($9_1 + 36 | 0) >> 2] | 0) | 0) | 0; + $13(HEAP32[($9_1 + 364 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0); + break label$12; + } + HEAP32[($9_1 + 276 | 0) >> 2] = (HEAP32[($9_1 + 360 | 0) >> 2] | 0) + (HEAP32[($9_1 + 356 | 0) >> 2] | 0) | 0; + } + break label$8; + } + $415($9_1 + 48 | 0 | 0, HEAP32[($9_1 + 360 | 0) >> 2] | 0 | 0, $9_1 + 336 | 0 | 0) | 0; + } + label$14 : { + if (!((HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($9_1 + 60 | 0) >> 2] = 0; + } + label$15 : { + if (!(((HEAPU8[($9_1 + 65 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$15 + } + $1131($9_1 + 48 | 0 | 0); + } + label$16 : { + if (!((HEAP32[($9_1 + 340 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[(HEAP32[($9_1 + 340 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 276 | 0) >> 2] | 0; + } + label$17 : { + if ((HEAPU8[((HEAP32[($9_1 + 364 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0) { + break label$17 + } + $1132(HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 360 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 276 | 0) >> 2] | 0) - (HEAP32[($9_1 + 360 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($9_1 + 352 | 0) >> 2] | 0) & 255 | 0 | 0); + } + label$18 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 364 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($9_1 + 60 | 0) >> 2] = 7; + } + HEAP32[($9_1 + 332 | 0) >> 2] = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + label$19 : { + label$20 : { + if (!(HEAP32[($9_1 + 332 | 0) >> 2] | 0)) { + break label$20 + } + label$21 : { + if (!((HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + $216(HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) | 0; + } + break label$19; + } + HEAP32[(HEAP32[($9_1 + 344 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + } + label$22 : { + label$23 : { + if (!((HEAP32[($9_1 + 336 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + $236_1 = HEAP32[($9_1 + 364 | 0) >> 2] | 0; + $237_1 = HEAP32[($9_1 + 332 | 0) >> 2] | 0; + HEAP32[$9_1 >> 2] = HEAP32[($9_1 + 336 | 0) >> 2] | 0; + $113($236_1 | 0, $237_1 | 0, 1976 | 0, $9_1 | 0); + $13(HEAP32[($9_1 + 364 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 336 | 0) >> 2] | 0 | 0); + break label$22; + } + $115(HEAP32[($9_1 + 364 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 332 | 0) >> 2] | 0 | 0); + } + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($9_1 + 312 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($9_1 + 28 | 0) >> 2] = HEAP32[($9_1 + 312 | 0) >> 2] | 0; + HEAP32[($9_1 + 312 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $13(HEAP32[($9_1 + 364 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0); + continue label$25; + }; + } + } + $124($9_1 + 48 | 0 | 0); + $259_1 = HEAP32[($9_1 + 332 | 0) >> 2] | 0; + global$0 = $9_1 + 368 | 0; + return $259_1 | 0; + } + + function $407($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, $26_1 = 0, $32_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP16[($18_1 + 78 | 0) >> 1] = (HEAPU16[($18_1 + 78 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + $26_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP16[($26_1 + 78 | 0) >> 1] = (HEAPU16[($26_1 + 78 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + $32_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($32_1 + 24 | 0) >> 2] = (HEAP32[($32_1 + 24 | 0) >> 2] | 0) & -17 | 0; + } + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((((HEAPU16[((HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 78 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$5 + } + $170(HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $408($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $298(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 16 | 0) >> 2] | 0) & 15 | 0 | 128 | 0 | 0, 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $21_1 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + global$0 = $8_1 + 32 | 0; + return $21_1 | 0; + } + + function $409($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $22_1 = 0, $32_1 = 0; + $4_1 = global$0 - 32 | 0; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) >= ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = -1; + } + label$3 : while (1) { + $22_1 = 0; + label$4 : { + if (!((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + $22_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0; + } + label$5 : { + if (!($22_1 & 1 | 0)) { + break label$5 + } + $32_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $32_1 + 1 | 0; + label$6 : { + if (!(((HEAPU8[$32_1 >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : while (1) { + if (!((((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + return HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0; + } + + function $410($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $12_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $12_1 = $411(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $12_1 | 0; + } + + function $411($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + $412(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $217(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + FUNCTION_TABLE[HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 16 | 0) >> 2] | 0); + } + $27_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $27_1 | 0; + } + + function $412($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, $84_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + break label$2; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $68(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $39(((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 24 | 0) + 1 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $118(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 24 | 0; + $3288(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] = 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $474((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 340 | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $118(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + $13(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + break label$6; + } + $210(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + $211(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + } + $84_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $84_1 | 0; + } + + function $413($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $13_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + $13_1 = $411(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $7_1 + 32 | 0; + return $13_1 | 0; + } + + function $414($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $23_1 = 0, $89_1 = 0, $139_1 = 0, $140_1 = 0, $147_1 = 0, $171_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 336 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 328 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 324 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 316 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 308 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 320 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 328 | 0) >> 2] | 0) + 356 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($4_1 + 320 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$3 + } + if (!(HEAP32[((HEAP32[($4_1 + 320 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$2 + } + } + $115(HEAP32[($4_1 + 328 | 0) >> 2] | 0 | 0, 21 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3(140941 | 0) | 0), HEAP32[(wasm2js_i32$0 + 332 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $23_1 = $4_1 + 24 | 0; + HEAP32[($4_1 + 312 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 320 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $3289($23_1 | 0, 0 | 0, 280 | 0) | 0; + HEAP8[($4_1 + 228 | 0) >> 0] = 1; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 328 | 0) >> 2] | 0; + HEAP32[($4_1 + 160 | 0) >> 2] = 1; + label$4 : { + label$5 : { + if (!((0 | 0) == ($415($23_1 | 0, HEAP32[($4_1 + 324 | 0) >> 2] | 0 | 0, $4_1 + 308 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($4_1 + 256 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (((HEAPU8[((HEAP32[($4_1 + 328 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$5 + } + if ((HEAP32[((HEAP32[($4_1 + 256 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + if (HEAP32[((HEAP32[($4_1 + 256 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + if ((HEAP32[((HEAP32[($4_1 + 312 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 256 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 312 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 312 | 0) >> 2] | 0) + 42 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + $89_1 = HEAP32[($4_1 + 312 | 0) >> 2] | 0; + HEAP32[($89_1 + 36 | 0) >> 2] = HEAP32[($89_1 + 36 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 640 | 0) | 0; + HEAP16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] = 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[(HEAP32[((HEAP32[(HEAP32[($4_1 + 320 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!(((HEAPU16[(($416(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 316 | 0) >> 2] = 1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$8 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[((HEAP32[($4_1 + 312 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 312 | 0) >> 2] | 0; + } + } + HEAP32[((HEAP32[($4_1 + 320 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + break label$4; + } + $139_1 = 0; + $140_1 = HEAP32[($4_1 + 328 | 0) >> 2] | 0; + $147_1 = (HEAP32[($4_1 + 308 | 0) >> 2] | 0 | 0) != ($139_1 | 0) & 1 | 0 ? 1976 : $139_1; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 308 | 0) >> 2] | 0; + $113($140_1 | 0, 1 | 0, $147_1 | 0, $4_1 | 0); + $13(HEAP32[($4_1 + 328 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 308 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 316 | 0) >> 2] = 1; + } + HEAP8[($4_1 + 228 | 0) >> 0] = 0; + label$9 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $216(HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + $11(HEAP32[($4_1 + 328 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 256 | 0) >> 2] | 0 | 0); + $124($4_1 + 24 | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $217(HEAP32[($4_1 + 328 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 316 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 316 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 332 | 0) >> 2] = HEAP32[($4_1 + 316 | 0) >> 2] | 0; + } + $171_1 = HEAP32[($4_1 + 332 | 0) >> 2] | 0; + global$0 = $4_1 + 336 | 0; + return $171_1 | 0; + } + + function $415($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $72_1 = 0, i64toi32_i32$2 = 0, $237_1 = 0, $15_1 = 0, $121_1 = 0, $122_1 = 0, $131_1 = 0, $132_1 = 0, i64toi32_i32$1 = 0, $175_1 = 0, $182_1 = 0, $196_1 = 0, $198_1 = 0, $314_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 1312 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 1308 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 1304 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 1300 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 1296 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 1288 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 1280 | 0) >> 2] = -1; + HEAP32[($5_1 + 1276 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 1308 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 1272 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 1276 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 1276 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0) { + break label$1 + } + $15_1 = HEAP32[($5_1 + 1276 | 0) >> 2] | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = 0; + HEAP32[($15_1 + 264 | 0) >> 2] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 228 | 0) >> 2] = HEAP32[($5_1 + 1304 | 0) >> 2] | 0; + HEAP32[($5_1 + 1292 | 0) >> 2] = $5_1 + 56 | 0; + $417(HEAP32[($5_1 + 1292 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 1308 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 124 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 1276 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 1276 | 0) >> 2] | 0) + 232 | 0) >> 2] = HEAP32[($5_1 + 1308 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $418(HEAP32[($5_1 + 1304 | 0) >> 2] | 0 | 0, $5_1 + 1284 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1288 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 1272 | 0) >> 2] = (HEAP32[($5_1 + 1272 | 0) >> 2] | 0) - (HEAP32[($5_1 + 1288 | 0) >> 2] | 0) | 0; + label$4 : { + if (!((HEAP32[($5_1 + 1272 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 12 | 0) >> 2] = 18; + break label$2; + } + label$5 : { + if (!((HEAP32[($5_1 + 1284 | 0) >> 2] | 0 | 0) >= (161 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 1276 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0; + label$6 : { + if (!(HEAP32[($5_1 + 48 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 12 | 0) >> 2] = 9; + break label$2; + } + label$7 : { + if (!((HEAP32[($5_1 + 1284 | 0) >> 2] | 0 | 0) == (179 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 1304 | 0) >> 2] = (HEAP32[($5_1 + 1304 | 0) >> 2] | 0) + (HEAP32[($5_1 + 1288 | 0) >> 2] | 0) | 0; + continue label$3; + } + $72_1 = 24; + label$8 : { + label$9 : { + if (((HEAPU8[(HEAP32[($5_1 + 1304 | 0) >> 2] | 0) >> 0] | 0) << $72_1 | 0) >> $72_1 | 0) { + break label$9 + } + label$10 : { + label$11 : { + if (!((HEAP32[($5_1 + 1280 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 1284 | 0) >> 2] = 0; + break label$10; + } + label$12 : { + if (HEAP32[($5_1 + 1280 | 0) >> 2] | 0) { + break label$12 + } + break label$2; + } + HEAP32[($5_1 + 1284 | 0) >> 2] = 1; + } + HEAP32[($5_1 + 1288 | 0) >> 2] = 0; + break label$8; + } + label$13 : { + label$14 : { + if (!((HEAP32[($5_1 + 1284 | 0) >> 2] | 0 | 0) == (161 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $419((HEAP32[($5_1 + 1304 | 0) >> 2] | 0) + 6 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1284 | 0) >> 2] = wasm2js_i32$1; + break label$13; + } + label$15 : { + label$16 : { + if (!((HEAP32[($5_1 + 1284 | 0) >> 2] | 0 | 0) == (162 | 0) & 1 | 0)) { + break label$16 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $420((HEAP32[($5_1 + 1304 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($5_1 + 1280 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1284 | 0) >> 2] = wasm2js_i32$1; + break label$15; + } + label$17 : { + label$18 : { + if (!((HEAP32[($5_1 + 1284 | 0) >> 2] | 0 | 0) == (163 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $421((HEAP32[($5_1 + 1304 | 0) >> 2] | 0) + 6 | 0 | 0, HEAP32[($5_1 + 1280 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1284 | 0) >> 2] = wasm2js_i32$1; + break label$17; + } + $121_1 = HEAP32[($5_1 + 1308 | 0) >> 2] | 0; + $122_1 = HEAP32[($5_1 + 1288 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[($5_1 + 1304 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $122_1; + $349($121_1 | 0, 14364 | 0, $5_1 + 32 | 0 | 0); + break label$2; + } + } + } + } + } + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 192 | 0) >> 2] = HEAP32[($5_1 + 1304 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 196 | 0) >> 2] = HEAP32[($5_1 + 1288 | 0) >> 2] | 0; + $131_1 = HEAP32[($5_1 + 1292 | 0) >> 2] | 0; + $132_1 = HEAP32[($5_1 + 1284 | 0) >> 2] | 0; + i64toi32_i32$2 = (HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 192 | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[i64toi32_i32$2 >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + $422($131_1 | 0, $132_1 | 0, $5_1 + 24 | 0 | 0); + HEAP32[($5_1 + 1280 | 0) >> 2] = HEAP32[($5_1 + 1284 | 0) >> 2] | 0; + HEAP32[($5_1 + 1304 | 0) >> 2] = (HEAP32[($5_1 + 1304 | 0) >> 2] | 0) + (HEAP32[($5_1 + 1288 | 0) >> 2] | 0) | 0; + label$19 : { + if (!(HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$19 + } + break label$2; + } + continue label$3; + }; + } + $423(HEAP32[($5_1 + 1292 | 0) >> 2] | 0 | 0); + label$20 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 1276 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 12 | 0) >> 2] = 7; + } + label$21 : { + if (!(HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$21 + } + if (!((HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (101 | 0) & 1 | 0)) { + break label$21 + } + if (!((HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$21 + } + $175_1 = HEAP32[($5_1 + 1276 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $285(HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $182_1 = $351($175_1 | 0, 1976 | 0, $5_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 4 | 0) >> 2] = $182_1; + } + label$22 : { + if (!((HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[(HEAP32[($5_1 + 1300 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $196_1 = HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $198_1 = HEAP32[(HEAP32[($5_1 + 1300 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 228 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $198_1; + $82($196_1 | 0, 14391 | 0, $5_1 | 0); + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP32[($5_1 + 1296 | 0) >> 2] = (HEAP32[($5_1 + 1296 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 228 | 0) >> 2] = HEAP32[($5_1 + 1304 | 0) >> 2] | 0; + label$23 : { + if (!((HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + if (!((HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$23 + } + if ((HEAPU8[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$23 + } + $220(HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + label$24 : { + if ((HEAPU8[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$24 + } + $237_1 = 0; + $13(HEAP32[($5_1 + 1276 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 108 | 0) >> 2] = $237_1; + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 104 | 0) >> 2] = $237_1; + } + $42(HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0); + label$25 : { + if ((HEAPU8[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0) { + break label$25 + } + $11(HEAP32[($5_1 + 1276 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0); + } + label$26 : { + if (((HEAPU8[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$26 + } + $10(HEAP32[($5_1 + 1276 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0); + } + label$27 : { + if (!((HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 272 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$27 + } + $424(HEAP32[($5_1 + 1276 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 272 | 0) >> 2] | 0 | 0); + } + $13(HEAP32[($5_1 + 1276 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0); + label$28 : { + label$29 : while (1) { + if (!((HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 112 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + $23(HEAP32[($5_1 + 1276 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + continue label$29; + }; + } + label$30 : { + label$31 : while (1) { + if (!((HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 260 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + $11(HEAP32[($5_1 + 1276 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + continue label$31; + }; + } + HEAP32[((HEAP32[($5_1 + 1276 | 0) >> 2] | 0) + 232 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 1308 | 0) >> 2] | 0) + 124 | 0) >> 2] = 0; + $314_1 = HEAP32[($5_1 + 1296 | 0) >> 2] | 0; + global$0 = $5_1 + 1312 | 0; + return $314_1 | 0; + } + + function $416($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : while (1) { + $14_1 = 0; + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $4_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $14_1 = (((HEAPU8[($4_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($4_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) ^ -1 | 0; + } + label$3 : { + if (!($14_1 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $417($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0; + HEAP16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] = $5_1; + HEAP16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 1] = $5_1; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1208 | 0) >> 2] = ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) + 1188 | 0; + return; + } + + function $418($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $658_1 = 0, $9_1 = 0, $46_1 = 0, $47_1 = 0, $71_1 = 0, $121_1 = 0, $128_1 = 0, $166_1 = 0, $202_1 = 0, $275_1 = 0, $566_1 = 0, $573_1 = 0, $622_1 = 0, $657_1 = 0, $809_1 = 0, $866_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + $9_1 = HEAPU8[((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) + 10544 | 0) >> 0] | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($9_1 | 0) { + case 7: + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + label$31 : { + label$32 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$32; + }; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 179; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + case 11: + label$33 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 2; + label$34 : while (1) { + $46_1 = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $46_1; + $47_1 = 0; + label$35 : { + if (!$46_1) { + break label$35 + } + $47_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (10 | 0); + } + label$36 : { + if (!($47_1 & 1 | 0)) { + break label$36 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$34; + } + break label$34; + }; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 179; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 106; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 17: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 22; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 18: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 23; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 19: + $71_1 = 1; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = $71_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $71_1; + break label$1; + case 20: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 105; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 21: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 107; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 16: + label$37 : { + label$38 : { + if (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) != (42 | 0) & 1 | 0) { + break label$38 + } + if ((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) { + break label$37 + } + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 108; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 3; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0; + label$39 : while (1) { + label$40 : { + label$41 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (42 | 0) & 1 | 0) { + break label$41 + } + $121_1 = 0; + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (47 | 0) & 1 | 0)) { + break label$40 + } + } + $128_1 = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $128_1; + $121_1 = ($128_1 | 0) != (0 | 0); + } + label$42 : { + if (!($121_1 & 1 | 0)) { + break label$42 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$39; + } + break label$39; + }; + label$43 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$43 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 179; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + case 22: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 109; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 14: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 53; + HEAP32[($4_1 + 28 | 0) >> 2] = (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) == (61 | 0) & 1 | 0) + 1 | 0; + break label$1; + case 12: + $166_1 = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $166_1; + label$44 : { + if (!(($166_1 | 0) == (61 | 0) & 1 | 0)) { + break label$44 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 55; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$45 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (62 | 0) & 1 | 0)) { + break label$45 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 52; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$46 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (60 | 0) & 1 | 0)) { + break label$46 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 103; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 56; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 13: + $202_1 = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $202_1; + label$47 : { + if (!(($202_1 | 0) == (61 | 0) & 1 | 0)) { + break label$47 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 57; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$48 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (62 | 0) & 1 | 0)) { + break label$48 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 104; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 54; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 15: + label$49 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) != (61 | 0) & 1 | 0)) { + break label$49 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 180; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 52; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + case 10: + label$50 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) != (124 | 0) & 1 | 0)) { + break label$50 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 102; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 110; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + case 23: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 26; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 24: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 101; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 25: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 112; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 8: + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + label$51 : { + label$52 : while (1) { + $275_1 = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $275_1; + if (!$275_1) { + break label$51 + } + label$53 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$53 + } + label$54 : { + label$55 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$55 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + break label$54; + } + break label$51; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$52; + }; + } + label$56 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (39 | 0) & 1 | 0)) { + break label$56 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 115; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + break label$1; + } + label$57 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$57 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 59; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 180; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + case 26: + label$58 : { + if (((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$58 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 139; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + case 3: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 152; + label$59 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$59 + } + label$60 : { + if (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) == (120 | 0) & 1 | 0) { + break label$60 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) == (88 | 0) & 1 | 0)) { + break label$59 + } + } + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$59 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 3; + label$61 : { + label$62 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$61 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$62; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$63 : { + label$64 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$63 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$64; + }; + } + label$65 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$65 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + label$66 : { + label$67 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$66 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$67; + }; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 150; + } + label$68 : { + label$69 : { + if (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (101 | 0) & 1 | 0) { + break label$69 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$68 + } + } + label$70 : { + if (((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$70 + } + label$71 : { + if (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (43 | 0) & 1 | 0) { + break label$71 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$68 + } + } + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$68 + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 2 | 0; + label$72 : { + label$73 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$72 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$73; + }; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 150; + } + label$74 : { + label$75 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 70 | 0)) { + break label$74 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 180; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$75; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + case 9: + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$76 : while (1) { + $566_1 = 0; + label$77 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (93 | 0) & 1 | 0)) { + break label$77 + } + $573_1 = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $573_1; + $566_1 = ($573_1 | 0) != (0 | 0); + } + label$78 : { + if (!($566_1 & 1 | 0)) { + break label$78 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$76; + } + break label$76; + }; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (93 | 0) & 1 | 0 ? 59 : 180; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + case 6: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 153; + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + label$79 : { + label$80 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$79 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$80; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + case 4: + case 5: + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 153; + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + label$81 : { + label$82 : while (1) { + $622_1 = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $622_1; + if (!$622_1) { + break label$81 + } + label$83 : { + label$84 : { + if (!(((HEAPU8[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 70 | 0)) { + break label$84 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$83; + } + label$85 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (40 | 0) & 1 | 0)) { + break label$85 + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$85 + } + label$86 : while (1) { + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + $657_1 = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $657_1; + $658_1 = 0; + label$87 : { + if (!$657_1) { + break label$87 + } + $658_1 = 0; + if (((HEAPU8[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$87 + } + $658_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (41 | 0); + } + if ($658_1 & 1 | 0) { + continue label$86 + } + break label$86; + }; + label$88 : { + label$89 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (41 | 0) & 1 | 0)) { + break label$89 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + break label$88; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 180; + } + break label$81; + } + label$90 : { + label$91 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (58 | 0) & 1 | 0)) { + break label$91 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (58 | 0) & 1 | 0)) { + break label$91 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + break label$90; + } + break label$81; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$82; + }; + } + label$92 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$92 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 180; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + case 1: + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + label$93 : { + label$94 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 10544 | 0) >> 0] | 0) & 255 | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$93 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$94; + }; + } + label$95 : { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 70 | 0)) { + break label$95 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + break label$2; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 59; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $430(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + case 0: + label$96 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) == (39 | 0) & 1 | 0)) { + break label$96 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 151; + HEAP32[($4_1 + 16 | 0) >> 2] = 2; + label$97 : { + label$98 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$97 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$98; + }; + } + label$99 : { + label$100 : { + if (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (39 | 0) & 1 | 0) { + break label$100 + } + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) % (2 | 0) | 0)) { + break label$99 + } + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 180; + label$101 : while (1) { + $809_1 = 0; + label$102 : { + if (!((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0)) { + break label$102 + } + $809_1 = ((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (39 | 0); + } + label$103 : { + if (!($809_1 & 1 | 0)) { + break label$103 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$101; + } + break label$101; + }; + } + label$104 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$104 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + } + case 2: + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + break label$2; + case 28: + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 180; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + default: + break label$3; + }; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 180; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$105 : { + label$106 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 70 | 0)) { + break label$105 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$106; + }; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 59; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $866_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $866_1 | 0; + } + + function $419($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1178($3_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (59 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 59; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1178($3_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (24 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 59; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 161; + } + $29_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $29_1 | 0; + } + + function $420($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (23 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1178($4_1 + 8 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if ((HEAP32[$4_1 >> 2] | 0 | 0) == (22 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (59 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 162; + break label$1; + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 59; + } + $32_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $32_1 | 0; + } + + function $421($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $24_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (23 | 0) & 1 | 0)) { + break label$2 + } + if (!(($1178($4_1 + 8 | 0 | 0) | 0 | 0) == (22 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 163; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 59; + } + $24_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $24_1 | 0; + } + + function $422($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $67_1 = 0, $28_1 = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $176_1 = 0, $48_1 = 0, $212_1 = 0, $266_1 = 0, $75_1 = 0, $76_1 = 0, $274_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP16[($5_1 + 46 | 0) >> 1] = HEAPU16[(HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0) >> 1] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1179((HEAP32[($5_1 + 56 | 0) >> 2] | 0) & 65535 | 0 | 0, (HEAPU16[($5_1 + 46 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 46 | 0) >> 1] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!(((HEAPU16[($5_1 + 46 | 0) >> 1] | 0) & 65535 | 0 | 0) >= (1191 | 0) & 1 | 0)) { + break label$5 + } + $28_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $33_1 = ((HEAPU16[($5_1 + 46 | 0) >> 1] | 0) & 65535 | 0) - 1191 | 0; + $34_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + $35_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $176_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $176_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1180($28_1 | 0, $33_1 | 0, $34_1 | 0, $5_1 + 8 | 0 | 0, $35_1 | 0) | 0), HEAP16[(wasm2js_i32$0 + 46 | 0) >> 1] = wasm2js_i32$1; + break label$4; + } + label$6 : { + if (!(((HEAPU16[($5_1 + 46 | 0) >> 1] | 0) & 65535 | 0 | 0) <= (1187 | 0) & 1 | 0)) { + break label$6 + } + $48_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $49_1 = HEAPU16[($5_1 + 46 | 0) >> 1] | 0; + $50_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $212_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $212_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + $51_1 = 65535; + $1181($48_1 | 0, $49_1 & $51_1 | 0 | 0, $50_1 & $51_1 | 0 | 0, $5_1 + 16 | 0 | 0); + break label$2; + } + label$7 : { + if (!(((HEAPU16[($5_1 + 46 | 0) >> 1] | 0) & 65535 | 0 | 0) == (1189 | 0) & 1 | 0)) { + break label$7 + } + $67_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[$67_1 >> 2] = (HEAP32[$67_1 >> 2] | 0) + -12 | 0; + $1182(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + break label$1; + } + i64toi32_i32$2 = $2_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $266_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1 + 48 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $266_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $75_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $76_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $274_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $274_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + $1183($75_1 | 0, $76_1 | 0, $5_1 + 24 | 0 | 0); + $1184(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 56 | 0) >> 2] | 0) & 65535 | 0 | 0, $5_1 + 48 | 0 | 0); + break label$2; + } + if ((HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >>> 0 & 1 | 0) { + continue label$3 + } + break label$3; + }; + } + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $423($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >>> 0 & 1 | 0)) { + break label$1 + } + $1185(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + continue label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $424($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$4_1 >> 2] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0; + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $1139(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $425($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU8[((((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 86 | 0) >> 0] | 0) & 255 | 0) - 1 | 0) + 2256 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $426($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $19_1 = 0, $21_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 356 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3(141417 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + $19_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + -1 | 0; + label$3 : { + label$4 : { + switch ($19_1 | 0) { + case 0: + $21_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $21_1 + 4 | 0; + HEAP8[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[$21_1 >> 2] | 0; + break label$3; + case 1: + HEAP8[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 17 | 0) >> 0] = 0; + break label$3; + case 2: + HEAP8[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 17 | 0) >> 0] = 2; + break label$3; + default: + break label$4; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3(141435 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + label$8 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$8 + } + $115(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + $40_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $40_1 | 0; + } + + function $427($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 512 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $428(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $428(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $21_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $21_1 | 0; + } + + function $428($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1173(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1173(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$3; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1173(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1173(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + } + } + $40_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $40_1 | 0; + } + + function $429($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 59; + $430(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $4_1 + 4 | 0 | 0) | 0; + $11_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $11_1 | 0; + } + + function $430($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $75_1 = 0, $82_1 = 0, $92_1 = 0, $99_1 = 0, $116_1 = 0, $121_1 = 0, $130_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = (((((HEAPU8[(((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) ^ Math_imul((HEAPU8[(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0, 3) | 0) ^ (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0 | 0) % (127 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 10800 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 3232 | 0) >> 0] | 0) & 255 | 0 | 0) != (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + HEAP32[($5_1 + 8 | 0) >> 2] = 2272 + ((HEAPU16[(2928 + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) | 0; + $75_1 = 24; + $82_1 = 24; + label$6 : { + if (!(((((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $75_1 | 0) >> $75_1 | 0) & -33 | 0 | 0) != (((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $82_1 | 0) >> $82_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + $92_1 = 24; + $99_1 = 24; + label$7 : { + if (!(((((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $92_1 | 0) >> $92_1 | 0) & -33 | 0 | 0) != (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $99_1 | 0) >> $99_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + break label$4; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 2; + label$8 : while (1) { + $116_1 = 0; + label$9 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $121_1 = 24; + $130_1 = 24; + $116_1 = ((((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $121_1 | 0) >> $121_1 | 0) & -33 | 0 | 0) == (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $130_1 | 0) >> $130_1 | 0 | 0); + } + label$10 : { + if (!($116_1 & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + } + break label$8; + }; + label$11 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + break label$4; + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 10928 | 0) >> 0] | 0) & 255 | 0; + break label$2; + } + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 11088 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + continue label$3; + }; + } + } + return HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0; + } + + function $431() { + return 1024 | 0; + } + + function $432() { + return 3034e3 | 0; + } + + function $433() { + var $2_1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + HEAP32[$2_1 >> 2] = 40892; + $439(4 | 0, $2_1 | 0) | 0; + global$0 = $2_1 + 16 | 0; + return; + } + + function $434() { + $437(72144 | 0, 3 | 0); + return; + } + + function $435() { + $437(72272 | 0, 15 | 0); + return; + } + + function $436() { + $437(72880 | 0, 8 | 0); + return; + } + + function $437($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $24_1 = 0, $53_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 40) | 0) + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $68(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $24_1 = 24; + HEAP32[($4_1 + 4 | 0) >> 2] = ((((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0 | 0) % (23 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $473(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 40) | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 40) | 0; + break label$3; + } + $53_1 = 114412; + HEAP32[(((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 40) | 0) + 12 | 0) >> 2] = 0; + HEAP32[(((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 40) | 0) + 36 | 0) >> 2] = HEAP32[($53_1 + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($53_1 + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 40) | 0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $438() { + var $2_1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + HEAP32[$2_1 >> 2] = 41e3; + $439(18 | 0, $2_1 | 0) | 0; + global$0 = $2_1 + 16 | 0; + return; + } + + function $439($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $108_1 = 0, $83_1 = 0, $82_1 = 0, $18_1 = 0, $36_1 = 0, $17_1 = 0, $218$hi = 0, $224$hi = 0, $229$hi = 0, $234$hi = 0, $235$hi = 0, $12_1 = 0, $14_1 = 0, $33_1 = 0, $44_1 = 0, $49_1 = 0, $54_1 = 0, $59_1 = 0, $64_1 = 0, $74_1 = 0, $79_1 = 0, $105_1 = 0, $111_1 = 0, $123_1 = 0, $128_1 = 0, $133_1 = 0, $138_1 = 0, $143_1 = 0, $148_1 = 0, $157_1 = 0, $164_1 = 0, $222$hi = 0, $72_1 = 0, $75_1 = 0, $76_1 = 0, $226$hi = 0, $77_1 = 0, $78_1 = 0, $80_1 = 0, $231$hi = 0, $81_1 = 0, $84_1 = 0, $85_1 = 0, $86_1 = 0, $87_1 = 0, $88_1 = 0, $181_1 = 0, $186_1 = 0, $281_1 = 0, $288_1 = 0, $295_1 = 0, $302_1 = 0, $330_1 = 0, $337_1 = 0, $344_1 = 0, $348_1 = 0, $73_1 = 0, $438_1 = 0, $452_1 = 0, $459_1 = 0, $466_1 = 0, $473_1 = 0, $480_1 = 0, $515_1 = 0, $522_1 = 0, $529_1 = 0, $536_1 = 0, $543_1 = 0, $547_1 = 0, $630_1 = 0, $647_1 = 0, $234_1 = 0, $694_1 = 0, $704_1 = 0, $708_1 = 0, $712_1 = 0, $195_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(HEAP32[(0 + 68576 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3(162243 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + $12_1 = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + -4 | 0; + label$3 : { + label$4 : { + switch ($12_1 | 0) { + case 0: + $14_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $14_1 + 4 | 0; + $17_1 = HEAP32[$14_1 >> 2] | 0; + i64toi32_i32$2 = $17_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $18_1 = 0; + $281_1 = i64toi32_i32$0; + i64toi32_i32$0 = $18_1; + HEAP32[(i64toi32_i32$0 + 68400 | 0) >> 2] = $281_1; + HEAP32[(i64toi32_i32$0 + 68404 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$2 + 24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $288_1 = i64toi32_i32$1; + i64toi32_i32$1 = $18_1; + HEAP32[(i64toi32_i32$1 + 68424 | 0) >> 2] = $288_1; + HEAP32[(i64toi32_i32$1 + 68428 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $17_1 + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $295_1 = i64toi32_i32$0; + i64toi32_i32$0 = $18_1; + HEAP32[(i64toi32_i32$0 + 68416 | 0) >> 2] = $295_1; + HEAP32[(i64toi32_i32$0 + 68420 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $17_1 + 8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $302_1 = i64toi32_i32$1; + i64toi32_i32$1 = $18_1; + HEAP32[(i64toi32_i32$1 + 68408 | 0) >> 2] = $302_1; + HEAP32[(i64toi32_i32$1 + 68412 | 0) >> 2] = i64toi32_i32$0; + break label$3; + case 1: + label$22 : { + if (!((HEAP32[(0 + 68400 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$22 + } + $433(); + } + $33_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $33_1 + 4 | 0; + $36_1 = HEAP32[$33_1 >> 2] | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68424 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68428 | 0) >> 2] | 0; + $330_1 = i64toi32_i32$0; + i64toi32_i32$0 = $36_1 + 24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $330_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68416 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68420 | 0) >> 2] | 0; + $337_1 = i64toi32_i32$1; + i64toi32_i32$1 = $36_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $337_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68408 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68412 | 0) >> 2] | 0; + $344_1 = i64toi32_i32$0; + i64toi32_i32$0 = $36_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $344_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68400 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68404 | 0) >> 2] | 0; + $348_1 = i64toi32_i32$1; + i64toi32_i32$1 = $36_1; + HEAP32[i64toi32_i32$1 >> 2] = $348_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$3; + case 5: + $44_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $44_1 + 4 | 0; + HEAP32[(0 + 68368 | 0) >> 2] = HEAP32[$44_1 >> 2] | 0; + break label$3; + case 23: + $49_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $49_1 + 4 | 0; + HEAP8[(0 + 68376 | 0) >> 0] = HEAP32[$49_1 >> 2] | 0; + break label$3; + case 3: + $54_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $54_1 + 4 | 0; + HEAP32[(0 + 68552 | 0) >> 2] = HEAP32[$54_1 >> 2] | 0; + $59_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $59_1 + 4 | 0; + HEAP32[(0 + 68556 | 0) >> 2] = HEAP32[$59_1 >> 2] | 0; + $64_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $64_1 + 4 | 0; + HEAP32[(0 + 68560 | 0) >> 2] = HEAP32[$64_1 >> 2] | 0; + break label$3; + case 20: + $73_1 = (($440() | 0) + ($441() | 0) | 0) + ($442() | 0) | 0; + $74_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $74_1 + 4 | 0; + HEAP32[(HEAP32[$74_1 >> 2] | 0) >> 2] = $73_1; + break label$3; + case 10: + break label$3; + case 11: + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + break label$3; + case 14: + $79_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $79_1 + 4 | 0; + $82_1 = HEAP32[$79_1 >> 2] | 0; + i64toi32_i32$2 = $82_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $83_1 = 0; + $438_1 = i64toi32_i32$0; + i64toi32_i32$0 = $83_1; + HEAP32[(i64toi32_i32$0 + 68468 | 0) >> 2] = $438_1; + HEAP32[(i64toi32_i32$0 + 68472 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 68516 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$2 + 40 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $452_1 = i64toi32_i32$1; + i64toi32_i32$1 = $83_1; + HEAP32[(i64toi32_i32$1 + 68508 | 0) >> 2] = $452_1; + HEAP32[(i64toi32_i32$1 + 68512 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $82_1 + 32 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $459_1 = i64toi32_i32$0; + i64toi32_i32$0 = $83_1; + HEAP32[(i64toi32_i32$0 + 68500 | 0) >> 2] = $459_1; + HEAP32[(i64toi32_i32$0 + 68504 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $82_1 + 24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $466_1 = i64toi32_i32$1; + i64toi32_i32$1 = $83_1; + HEAP32[(i64toi32_i32$1 + 68492 | 0) >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 68496 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $82_1 + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $473_1 = i64toi32_i32$0; + i64toi32_i32$0 = $83_1; + HEAP32[(i64toi32_i32$0 + 68484 | 0) >> 2] = $473_1; + HEAP32[(i64toi32_i32$0 + 68488 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $82_1 + 8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $480_1 = i64toi32_i32$1; + i64toi32_i32$1 = $83_1; + HEAP32[(i64toi32_i32$1 + 68476 | 0) >> 2] = $480_1; + HEAP32[(i64toi32_i32$1 + 68480 | 0) >> 2] = i64toi32_i32$0; + break label$3; + case 15: + label$23 : { + if (!((HEAP32[(0 + 68476 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$23 + } + $438(); + } + $105_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $105_1 + 4 | 0; + $108_1 = HEAP32[$105_1 >> 2] | 0; + $111_1 = 0; + HEAP32[($108_1 + 48 | 0) >> 2] = HEAP32[($111_1 + 68516 | 0) >> 2] | 0; + i64toi32_i32$2 = $111_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68508 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68512 | 0) >> 2] | 0; + $515_1 = i64toi32_i32$0; + i64toi32_i32$0 = $108_1 + 40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $515_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68500 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68504 | 0) >> 2] | 0; + $522_1 = i64toi32_i32$1; + i64toi32_i32$1 = $108_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $522_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68492 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68496 | 0) >> 2] | 0; + $529_1 = i64toi32_i32$0; + i64toi32_i32$0 = $108_1 + 24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $529_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68484 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68488 | 0) >> 2] | 0; + $536_1 = i64toi32_i32$1; + i64toi32_i32$1 = $108_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $536_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68476 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68480 | 0) >> 2] | 0; + $543_1 = i64toi32_i32$0; + i64toi32_i32$0 = $108_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $543_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68468 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68472 | 0) >> 2] | 0; + $547_1 = i64toi32_i32$1; + i64toi32_i32$1 = $108_1; + HEAP32[i64toi32_i32$1 >> 2] = $547_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$3; + case 9: + $123_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $123_1 + 4 | 0; + HEAP32[(0 + 68388 | 0) >> 2] = HEAP32[$123_1 >> 2] | 0; + $128_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $128_1 + 4 | 0; + HEAP32[(0 + 68392 | 0) >> 2] = HEAP32[$128_1 >> 2] | 0; + break label$3; + case 12: + $133_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $133_1 + 4 | 0; + HEAP32[(0 + 68604 | 0) >> 2] = HEAP32[$133_1 >> 2] | 0; + $138_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $138_1 + 4 | 0; + HEAP32[(0 + 68608 | 0) >> 2] = HEAP32[$138_1 >> 2] | 0; + break label$3; + case 13: + $143_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $143_1 + 4 | 0; + HEAP8[(0 + 68374 | 0) >> 0] = HEAP32[$143_1 >> 2] | 0; + break label$3; + case 16: + $148_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $148_1 + 4 | 0; + HEAP8[(0 + 68375 | 0) >> 0] = HEAP32[$148_1 >> 2] | 0; + break label$3; + case 18: + i64toi32_i32$0 = 0; + $218$hi = i64toi32_i32$0; + $157_1 = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 7 | 0) & -8 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $157_1 + 8 | 0; + i64toi32_i32$2 = $157_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $630_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $630_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + $164_1 = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 7 | 0) & -8 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $164_1 + 8 | 0; + i64toi32_i32$2 = $164_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $647_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $647_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $222$hi = i64toi32_i32$1; + i64toi32_i32$1 = $218$hi; + i64toi32_i32$1 = $222$hi; + i64toi32_i32$1 = $218$hi; + i64toi32_i32$1 = $222$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $218$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $72_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $75_1 = 0 + } else { + $75_1 = 1 + } + $76_1 = $75_1; + } else { + $76_1 = 0 + } + $72_1 = $76_1; + } + label$24 : { + label$25 : { + if ($72_1 & 1 | 0) { + break label$25 + } + i64toi32_i32$2 = 0; + $224$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $226$hi = i64toi32_i32$1; + i64toi32_i32$1 = $224$hi; + i64toi32_i32$1 = $226$hi; + i64toi32_i32$1 = $224$hi; + i64toi32_i32$1 = $226$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $224$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $77_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $78_1 = 0 + } else { + $78_1 = 1 + } + $80_1 = $78_1; + } else { + $80_1 = 0 + } + $77_1 = $80_1; + } + if (!($77_1 & 1 | 0)) { + break label$24 + } + } + i64toi32_i32$3 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$3; + } + i64toi32_i32$3 = 0; + $229$hi = i64toi32_i32$3; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $231$hi = i64toi32_i32$1; + i64toi32_i32$1 = $229$hi; + i64toi32_i32$1 = $231$hi; + i64toi32_i32$1 = $229$hi; + i64toi32_i32$1 = $231$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $229$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$3 | 0)) { + $81_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$2 >>> 0) { + $84_1 = 0 + } else { + $84_1 = 1 + } + $85_1 = $84_1; + } else { + $85_1 = 0 + } + $81_1 = $85_1; + } + label$26 : { + if (!($81_1 & 1 | 0)) { + break label$26 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $234_1 = i64toi32_i32$0; + $234$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $235$hi = i64toi32_i32$0; + i64toi32_i32$0 = $234$hi; + i64toi32_i32$0 = $235$hi; + i64toi32_i32$0 = $234$hi; + i64toi32_i32$0 = $235$hi; + $694_1 = i64toi32_i32$1; + i64toi32_i32$0 = $234$hi; + i64toi32_i32$2 = $234_1; + i64toi32_i32$1 = $235$hi; + i64toi32_i32$3 = $694_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $86_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $87_1 = 0 + } else { + $87_1 = 1 + } + $88_1 = $87_1; + } else { + $88_1 = 0 + } + $86_1 = $88_1; + } + label$27 : { + if (!($86_1 & 1 | 0)) { + break label$27 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $704_1 = i64toi32_i32$2; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $704_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $708_1 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + HEAP32[(i64toi32_i32$0 + 68544 | 0) >> 2] = $708_1; + HEAP32[(i64toi32_i32$0 + 68548 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $712_1 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + HEAP32[(i64toi32_i32$2 + 68536 | 0) >> 2] = $712_1; + HEAP32[(i64toi32_i32$2 + 68540 | 0) >> 2] = i64toi32_i32$0; + break label$3; + case 21: + $181_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $181_1 + 4 | 0; + HEAP32[(0 + 68572 | 0) >> 2] = HEAP32[$181_1 >> 2] | 0; + break label$3; + case 22: + $186_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $186_1 + 4 | 0; + HEAP32[(0 + 68396 | 0) >> 2] = HEAP32[$186_1 >> 2] | 0; + break label$3; + default: + break label$4; + }; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $195_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $195_1 | 0; + } + + function $440() { + return 88 | 0; + } + + function $441() { + return 40 | 0; + } + + function $442() { + return 32 | 0; + } + + function $443($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $8(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $9(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $444(HEAP32[$3_1 >> 2] | 0 | 0); + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $444($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $445(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $445($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + FUNCTION_TABLE[HEAP32[(0 + 68516 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $446($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $27_1 = 0, $28_1 = 0, $43_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + label$4 : { + if (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) & 3 | 0) { + break label$4 + } + if (!(((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$3 + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $27_1 = 0; + $28_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($28_1 + 196 | 0) >> 2] = (HEAP32[($28_1 + 196 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = $27_1; + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != ($27_1 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $173(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$7 + } + $43_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $180(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $43_1 | 0, $43_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$5; + } + label$8 : { + label$9 : { + if (((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0) { + break label$9 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$8 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $184(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $185(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + label$11 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$11 + } + $644(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $639(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $75_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $75_1 | 0; + } + + function $447($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $131$hi = 0, $132$hi = 0, $135$hi = 0, $8_1 = 0, $11_1 = 0, $17_1 = 0, $21_1 = 0, $25_1 = 0, $56_1 = 0, $60_1 = 0, $123$hi = 0, $78_1 = 0, $126$hi = 0, $127$hi = 0, $128$hi = 0, $87_1 = 0, $136$hi = 0, $137$hi = 0, $139$hi = 0, $291_1 = 0, $321$hi = 0, $325_1 = 0, $128_1 = 0, $349$hi = 0, $353_1 = 0, $131_1 = 0, $363_1 = 0, $119_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + $8_1 = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + -1e3 | 0; + label$1 : { + label$2 : { + switch ($8_1 | 0) { + case 0: + $11_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $11_1 + 4 | 0; + HEAP32[(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] = HEAP32[$11_1 >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + break label$1; + case 1: + $17_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $17_1 + 4 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[$17_1 >> 2] | 0; + $21_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $21_1 + 4 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[$21_1 >> 2] | 0; + $25_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $25_1 + 4 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[$25_1 >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $448(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + break label$1; + default: + break label$2; + }; + } + HEAP32[($5_1 + 32 | 0) >> 2] = 1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 < 16 >>> 0 & 1 | 0)) { + break label$5 + } + label$7 : { + if (!((HEAP32[(3392 + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $56_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $56_1 + 4 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[$56_1 >> 2] | 0; + $60_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $60_1 + 4 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[$60_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $291_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[$5_1 >> 2] = $291_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$1; + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$1 = 0; + $123$hi = i64toi32_i32$1; + $78_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = $78_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $321$hi = i64toi32_i32$0; + i64toi32_i32$0 = $123$hi; + i64toi32_i32$0 = $321$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $123$hi; + i64toi32_i32$3 = HEAP32[((3392 + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $325_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $78_1; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = $325_1; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$1; + break label$8; + } + label$10 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$10 + } + i64toi32_i32$1 = 0; + $126$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $127$hi = i64toi32_i32$1; + i64toi32_i32$1 = $126$hi; + i64toi32_i32$1 = $127$hi; + i64toi32_i32$1 = $126$hi; + i64toi32_i32$0 = HEAP32[((3392 + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $127$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + $128_1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0; + $128$hi = i64toi32_i32$2; + $87_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = $87_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $349$hi = i64toi32_i32$0; + i64toi32_i32$0 = $128$hi; + i64toi32_i32$0 = $349$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $128$hi; + i64toi32_i32$3 = $128_1; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $353_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $87_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $353_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$2; + } + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $131_1 = i64toi32_i32$2; + $131$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $132$hi = i64toi32_i32$2; + i64toi32_i32$2 = $131$hi; + i64toi32_i32$2 = $132$hi; + i64toi32_i32$2 = $131$hi; + i64toi32_i32$2 = $132$hi; + $363_1 = i64toi32_i32$1; + i64toi32_i32$2 = $131$hi; + i64toi32_i32$0 = $131_1; + i64toi32_i32$1 = $132$hi; + i64toi32_i32$3 = $363_1; + label$11 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$11 + } + $395(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0); + } + label$12 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$0 = 0; + $135$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $136$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $137$hi = i64toi32_i32$2; + i64toi32_i32$2 = $136$hi; + i64toi32_i32$2 = $137$hi; + i64toi32_i32$2 = $136$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $137$hi; + i64toi32_i32$1 = HEAP32[((3392 + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $139$hi = i64toi32_i32$0; + i64toi32_i32$0 = $135$hi; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$0 = $135$hi; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + i64toi32_i32$3 = $135$hi; + i64toi32_i32$1 = 0; + HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] = ((i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0; + } + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + break label$5; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + } + $119_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $119_1 | 0; + } + + function $448($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$6 = 0, $119_1 = 0, $154_1 = 0, $178_1 = 0, $194_1 = 0, $7_1 = 0, $214$hi = 0, $215$hi = 0, $53_1 = 0, $219$hi = 0, $220$hi = 0, $222$hi = 0, $223$hi = 0, $224$hi = 0, $225$hi = 0, $227$hi = 0, $228$hi = 0, $230$hi = 0, $231$hi = 0, $232$hi = 0, $233$hi = 0, $235$hi = 0, $236$hi = 0, $118_1 = 0, $214_1 = 0, $262_1 = 0, $265_1 = 0, $390_1 = 0, $219_1 = 0, $418_1 = 0, $222_1 = 0, $437_1 = 0, $227_1 = 0, $469_1 = 0, $230_1 = 0, $488_1 = 0, $235_1 = 0, $517_1 = 0, $211_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $214_1 = i64toi32_i32$1; + $214$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $215$hi = i64toi32_i32$0; + i64toi32_i32$0 = $214$hi; + i64toi32_i32$0 = $215$hi; + $262_1 = i64toi32_i32$1; + i64toi32_i32$0 = $214$hi; + i64toi32_i32$1 = $215$hi; + i64toi32_i32$1 = __wasm_i64_mul($214_1 | 0, i64toi32_i32$0 | 0, $262_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $265_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $265_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!(($7(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $7_1 | 0) | 0 | 0) > ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 5; + break label$1; + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 280 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $42(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 320 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) & -8 | 0; + label$4 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) <= (4 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 32 | 0) >> 2] = 0; + } + label$5 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + label$6 : { + label$7 : { + label$8 : { + if (!(HEAP32[($6_1 + 32 | 0) >> 2] | 0)) { + break label$8 + } + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$7 + } + } + $53_1 = 0; + HEAP32[($6_1 + 32 | 0) >> 2] = $53_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $53_1; + break label$6; + } + label$9 : { + label$10 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + $449(); + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $39(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $450(); + label$11 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + i64toi32_i32$0 = $16(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $390_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $390_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$1; + } + break label$9; + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + } + label$12 : { + label$13 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) >= (384 | 0) & 1 | 0)) { + break label$13 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $219_1 = i64toi32_i32$1; + $219$hi = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 384 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $220$hi = i64toi32_i32$0; + i64toi32_i32$0 = $219$hi; + i64toi32_i32$0 = $220$hi; + $418_1 = i64toi32_i32$1; + i64toi32_i32$0 = $219$hi; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$1 = __wasm_i64_sdiv($219_1 | 0, i64toi32_i32$0 | 0, $418_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $222_1 = i64toi32_i32$0; + $222$hi = i64toi32_i32$1; + i64toi32_i32$0 = Math_imul(HEAP32[($6_1 + 32 | 0) >> 2] | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0); + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $223$hi = i64toi32_i32$1; + i64toi32_i32$1 = $222$hi; + i64toi32_i32$1 = $223$hi; + $437_1 = i64toi32_i32$0; + i64toi32_i32$1 = $222$hi; + i64toi32_i32$2 = $222_1; + i64toi32_i32$0 = $223$hi; + i64toi32_i32$3 = $437_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $224$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $225$hi = i64toi32_i32$5; + i64toi32_i32$5 = $224$hi; + i64toi32_i32$5 = $225$hi; + i64toi32_i32$5 = $224$hi; + i64toi32_i32$2 = $225$hi; + i64toi32_i32$2 = __wasm_i64_sdiv(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, 128 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$2; + break label$12; + } + label$14 : { + label$15 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) >= (256 | 0) & 1 | 0)) { + break label$15 + } + i64toi32_i32$1 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $227_1 = i64toi32_i32$5; + $227$hi = i64toi32_i32$2; + i64toi32_i32$5 = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 128 | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $228$hi = i64toi32_i32$2; + i64toi32_i32$2 = $227$hi; + i64toi32_i32$2 = $228$hi; + $469_1 = i64toi32_i32$5; + i64toi32_i32$2 = $227$hi; + i64toi32_i32$5 = $228$hi; + i64toi32_i32$5 = __wasm_i64_sdiv($227_1 | 0, i64toi32_i32$2 | 0, $469_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $230_1 = i64toi32_i32$2; + $230$hi = i64toi32_i32$5; + i64toi32_i32$2 = Math_imul(HEAP32[($6_1 + 32 | 0) >> 2] | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0); + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $231$hi = i64toi32_i32$5; + i64toi32_i32$5 = $230$hi; + i64toi32_i32$5 = $231$hi; + $488_1 = i64toi32_i32$2; + i64toi32_i32$5 = $230$hi; + i64toi32_i32$1 = $230_1; + i64toi32_i32$2 = $231$hi; + i64toi32_i32$3 = $488_1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + $232$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $233$hi = i64toi32_i32$4; + i64toi32_i32$4 = $232$hi; + i64toi32_i32$4 = $233$hi; + i64toi32_i32$4 = $232$hi; + i64toi32_i32$1 = $233$hi; + i64toi32_i32$1 = __wasm_i64_sdiv(i64toi32_i32$0 | 0, i64toi32_i32$4 | 0, 128 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$1; + break label$14; + } + label$16 : { + label$17 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$17 + } + i64toi32_i32$5 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $235_1 = i64toi32_i32$4; + $235$hi = i64toi32_i32$1; + i64toi32_i32$4 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$4 >> 31 | 0; + $236$hi = i64toi32_i32$1; + i64toi32_i32$1 = $235$hi; + i64toi32_i32$1 = $236$hi; + $517_1 = i64toi32_i32$4; + i64toi32_i32$1 = $235$hi; + i64toi32_i32$4 = $236$hi; + i64toi32_i32$4 = __wasm_i64_sdiv($235_1 | 0, i64toi32_i32$1 | 0, $517_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + break label$16; + } + $118_1 = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $118_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $118_1; + } + } + } + $119_1 = 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 320 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 300 | 0) >> 2] = $119_1; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 304 | 0) >> 2] = $119_1; + HEAP16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 276 | 0) >> 1] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 278 | 0) >> 1] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != ($119_1 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[(HEAP32[$6_1 >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 300 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 300 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + HEAP32[$6_1 >> 2] = (HEAP32[$6_1 >> 2] | 0) + (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$21; + }; + } + $154_1 = 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 308 | 0) >> 2] = $154_1; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 312 | 0) >> 2] = $154_1; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 316 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $154_1; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[(HEAP32[$6_1 >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 308 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 308 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + HEAP32[$6_1 >> 2] = (HEAP32[$6_1 >> 2] | 0) + 128 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + $178_1 = 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 324 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 272 | 0) >> 2] = $178_1; + HEAP8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 280 | 0) >> 0] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == ($178_1 | 0) & 1 | 0 ? 1 : $178_1; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 284 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0; + break label$18; + } + $194_1 = 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 320 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 308 | 0) >> 2] = $194_1; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 312 | 0) >> 2] = $194_1; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 316 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 324 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 272 | 0) >> 2] = 1; + HEAP16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 276 | 0) >> 1] = 0; + HEAP8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 280 | 0) >> 0] = 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 284 | 0) >> 2] = $194_1; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $211_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $211_1 | 0; + } + + function $449() { + label$1 : { + if (!((HEAP32[(0 + 114616 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + FUNCTION_TABLE[HEAP32[(0 + 114616 | 0) >> 2] | 0 | 0](); + } + return; + } + + function $450() { + label$1 : { + if (!((HEAP32[(0 + 114620 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + FUNCTION_TABLE[HEAP32[(0 + 114620 | 0) >> 2] | 0 | 0](); + } + return; + } + + function $451($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $452($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $20_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[i64toi32_i32$1 >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $20_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $20_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$1; + return; + } + + function $453($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0; + } + + function $454($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0; + } + + function $455($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = $456(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $6_1 | 0; + } + + function $456($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if ($404(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3(163006 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$4 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0 | 0](8, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0, 0) | 0; + } + $457(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $458(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + label$5 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + if (!($204(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + $113(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 5 | 0, 41052 | 0, 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 5; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 96 | 0) >> 2] = 1691352191; + $197(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $44_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $44_1 | 0; + } + + function $457($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + $8(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$6 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$6 + } + $2004(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + continue label$5; + }; + } + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 348 | 0) >> 2] | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $2004(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + continue label$8; + }; + } + $171(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 32 | 0; + return; + } + + function $458($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $869(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 68 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $459($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = $456(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $6_1 | 0; + } + + function $460($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0; + $5_1 = global$0 - 16 | 0; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 400 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 404 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 408 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 452 | 0) >> 2] = $6_1; + return $6_1 | 0; + } + + function $461($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $460(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 10 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 452 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$1; + } + $17_1 = 0; + $460(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $17_1 | 0, $17_1 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $462($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $24_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 452 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((Math_imul((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0, 1e3) | 0) > (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $463(HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, 1e6 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + $24_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $24_1 | 0; + } + + function $463($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $9_1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $464($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $11_1 = 0, $20_1 = 0; + $10_1 = global$0 - 32 | 0; + global$0 = $10_1; + $11_1 = 0; + HEAP32[($10_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 8 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 4 | 0) >> 2] = $6_1; + HEAP32[$10_1 >> 2] = $7_1; + $20_1 = $465(HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$10_1 >> 2] | 0 | 0, $11_1 | 0, $11_1 | 0, $11_1 | 0) | 0; + global$0 = $10_1 + 32 | 0; + return $20_1 | 0; + } + + function $465($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1, $9_1, $10_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + $9_1 = $9_1 | 0; + $10_1 = $10_1 | 0; + var $13_1 = 0, $14_1 = 0, i64toi32_i32$0 = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $13_1 = global$0 - 64 | 0; + global$0 = $13_1; + $14_1 = 0; + HEAP32[($13_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($13_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($13_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($13_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($13_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($13_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($13_1 + 36 | 0) >> 2] = $6_1; + HEAP32[($13_1 + 32 | 0) >> 2] = $7_1; + HEAP32[($13_1 + 28 | 0) >> 2] = $8_1; + HEAP32[($13_1 + 24 | 0) >> 2] = $9_1; + HEAP32[($13_1 + 20 | 0) >> 2] = $10_1; + HEAP32[($13_1 + 16 | 0) >> 2] = 1; + HEAP32[($13_1 + 12 | 0) >> 2] = $14_1; + label$1 : { + label$2 : { + if (!((HEAP32[($13_1 + 20 | 0) >> 2] | 0 | 0) != ($14_1 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $39(12 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($13_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + $118(HEAP32[($13_1 + 60 | 0) >> 2] | 0 | 0); + FUNCTION_TABLE[HEAP32[($13_1 + 20 | 0) >> 2] | 0 | 0](HEAP32[($13_1 + 44 | 0) >> 2] | 0); + break label$1; + } + HEAP32[(HEAP32[($13_1 + 12 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($13_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($13_1 + 44 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $466(HEAP32[($13_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($13_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (HEAP32[(HEAP32[($13_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$4 + } + FUNCTION_TABLE[HEAP32[($13_1 + 20 | 0) >> 2] | 0 | 0](HEAP32[($13_1 + 44 | 0) >> 2] | 0); + $42(HEAP32[($13_1 + 12 | 0) >> 2] | 0 | 0); + } + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $217(HEAP32[($13_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $66_1 = HEAP32[($13_1 + 16 | 0) >> 2] | 0; + global$0 = $13_1 + 64 | 0; + return $66_1 | 0; + } + + function $466($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1, $9_1, $10_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + $9_1 = $9_1 | 0; + $10_1 = $10_1 | 0; + var $13_1 = 0, $35_1 = 0, $53_1 = 0, $87_1 = 0, $115_1 = 0, $191_1 = 0, $236_1 = 0, $257_1 = 0, $272_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $13_1 = global$0 - 64 | 0; + global$0 = $13_1; + HEAP32[($13_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($13_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($13_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($13_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($13_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($13_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($13_1 + 32 | 0) >> 2] = $6_1; + HEAP32[($13_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($13_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($13_1 + 20 | 0) >> 2] = $9_1; + HEAP32[($13_1 + 16 | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($13_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + label$4 : { + if (!((HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if ((HEAP32[($13_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + } + $35_1 = 0; + if (((HEAP32[($13_1 + 28 | 0) >> 2] | 0 | 0) == ($35_1 | 0) & 1 | 0 | 0) != ((HEAP32[($13_1 + 32 | 0) >> 2] | 0 | 0) == ($35_1 | 0) & 1 | 0 | 0) & 1 | 0) { + break label$3 + } + $53_1 = 0; + if (((HEAP32[($13_1 + 24 | 0) >> 2] | 0 | 0) == ($53_1 | 0) & 1 | 0 | 0) != ((HEAP32[($13_1 + 20 | 0) >> 2] | 0 | 0) == ($53_1 | 0) & 1 | 0 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[($13_1 + 48 | 0) >> 2] | 0 | 0) < (-1 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[($13_1 + 48 | 0) >> 2] | 0 | 0) > (127 | 0) & 1 | 0) { + break label$3 + } + $87_1 = $68(HEAP32[($13_1 + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($13_1 + 8 | 0) >> 2] = $87_1; + if (!((255 | 0) < ($87_1 | 0) & 1 | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $3(163633 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($13_1 + 4 | 0) >> 2] = (HEAP32[($13_1 + 44 | 0) >> 2] | 0) & 3672064 | 0; + HEAP32[($13_1 + 44 | 0) >> 2] = (HEAP32[($13_1 + 44 | 0) >> 2] | 0) & 7 | 0; + HEAP32[($13_1 + 4 | 0) >> 2] = (HEAP32[($13_1 + 4 | 0) >> 2] | 0) ^ 2097152 | 0; + label$5 : { + label$6 : { + if (!((HEAP32[($13_1 + 44 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$6 + } + $115_1 = 24; + HEAP32[($13_1 + 44 | 0) >> 2] = ((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $115_1 | 0) >> $115_1 | 0 ? 2 : 3; + break label$5; + } + label$7 : { + if (!((HEAP32[($13_1 + 44 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $466(HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 48 | 0) >> 2] | 0 | 0, (HEAP32[($13_1 + 4 | 0) >> 2] | 0 | 1 | 0) ^ 2097152 | 0 | 0, HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[$13_1 >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $466(HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 48 | 0) >> 2] | 0 | 0, (HEAP32[($13_1 + 4 | 0) >> 2] | 0 | 2 | 0) ^ 2097152 | 0 | 0, HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + label$9 : { + if (!(HEAP32[$13_1 >> 2] | 0)) { + break label$9 + } + HEAP32[($13_1 + 60 | 0) >> 2] = HEAP32[$13_1 >> 2] | 0; + break label$1; + } + HEAP32[($13_1 + 44 | 0) >> 2] = 3; + } + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $469(HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 48 | 0) >> 2] | 0 | 0, (HEAP32[($13_1 + 44 | 0) >> 2] | 0) & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($13_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (!(((HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 3 | 0 | 0) == (HEAP32[($13_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $191_1 = 24; + if (!((((HEAPU8[(HEAP32[($13_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $191_1 | 0) >> $191_1 | 0 | 0) == (HEAP32[($13_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if (!(HEAP32[((HEAP32[($13_1 + 56 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0)) { + break label$11 + } + $113(HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, 5 | 0, 41823 | 0, 0 | 0); + HEAP32[($13_1 + 60 | 0) >> 2] = 5; + break label$1; + } + $395(HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, 0 | 0); + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $469(HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 48 | 0) >> 2] | 0 | 0, (HEAP32[($13_1 + 44 | 0) >> 2] | 0) & 255 | 0 | 0, 1 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if ((HEAP32[($13_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + HEAP32[($13_1 + 60 | 0) >> 2] = 7; + break label$1; + } + $208(HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 12 | 0) >> 2] | 0 | 0); + label$13 : { + if (!((HEAP32[($13_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + $236_1 = HEAP32[($13_1 + 16 | 0) >> 2] | 0; + HEAP32[$236_1 >> 2] = (HEAP32[$236_1 >> 2] | 0) + 1 | 0; + } + HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($13_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 3 | 0 | (HEAP32[($13_1 + 4 | 0) >> 2] | 0) | 0; + label$14 : { + label$15 : { + if (!((HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $257_1 = HEAP32[($13_1 + 36 | 0) >> 2] | 0; + break label$14; + } + $257_1 = HEAP32[($13_1 + 32 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $257_1; + HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($13_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($13_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($13_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($13_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($13_1 + 40 | 0) >> 2] | 0; + HEAP8[(HEAP32[($13_1 + 12 | 0) >> 2] | 0) >> 0] = HEAP32[($13_1 + 48 | 0) >> 2] | 0; + HEAP32[($13_1 + 60 | 0) >> 2] = 0; + } + $272_1 = HEAP32[($13_1 + 60 | 0) >> 2] | 0; + global$0 = $13_1 + 64 | 0; + return $272_1 | 0; + } + + function $467($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, $12_1 = 0, $22_1 = 0; + $11_1 = global$0 - 48 | 0; + global$0 = $11_1; + $12_1 = 0; + HEAP32[($11_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 12 | 0) >> 2] = $8_1; + $22_1 = $465(HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 16 | 0) >> 2] | 0 | 0, $12_1 | 0, $12_1 | 0, HEAP32[($11_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $11_1 + 48 | 0; + return $22_1 | 0; + } + + function $468($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1, $9_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + $9_1 = $9_1 | 0; + var $12_1 = 0, $24_1 = 0; + $12_1 = global$0 - 48 | 0; + global$0 = $12_1; + HEAP32[($12_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($12_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($12_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($12_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($12_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($12_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($12_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($12_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($12_1 + 12 | 0) >> 2] = $8_1; + HEAP32[($12_1 + 8 | 0) >> 2] = $9_1; + $24_1 = $465(HEAP32[($12_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($12_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $12_1 + 48 | 0; + return $24_1 | 0; + } + + function $469($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $117_1 = 0, i64toi32_i32$0 = 0, $201_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP8[($7_1 + 47 | 0) >> 0] = $3_1; + HEAP8[($7_1 + 46 | 0) >> 0] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $8_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $68(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $362((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 368 | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $472(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 47 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + label$4 : { + if (((HEAPU8[($7_1 + 46 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$4 + } + label$5 : { + if ((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 2 | 0)) { + break label$4 + } + } + HEAP32[($7_1 + 32 | 0) >> 2] = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = (((HEAPU8[(((HEAPU8[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0) % (23 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $473(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $472(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 47 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$7; + }; + } + } + label$9 : { + label$10 : { + if (!((HEAPU8[($7_1 + 46 | 0) >> 0] | 0) & 255 | 0)) { + break label$10 + } + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$0 = 0; + $117_1 = $308(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 40 | 0) + 1 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = $117_1; + if (!(($117_1 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 40 | 0; + HEAP8[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 0] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAPU8[($7_1 + 47 | 0) >> 0] | 0) & 255 | 0; + $3288((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 40 | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$11 : { + label$12 : while (1) { + if (!(((HEAPU8[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP8[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 0] = HEAPU8[(((HEAPU8[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $474((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 368 | 0 | 0, HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + $13(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + $118(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$9; + } + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + label$14 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + if ((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$15 + } + if (!((HEAPU8[($7_1 + 46 | 0) >> 0] | 0) & 255 | 0)) { + break label$14 + } + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + break label$9; + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + } + $201_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $201_1 | 0; + } + + function $470($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $37_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($469(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + break label$1; + } + $37_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $467(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 11 | 0, $37_1 | 0, $37_1 | 0, 3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $44_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $44_1 | 0; + } + + function $471($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $302(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(41886 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 32 | 0; + return; + } + + function $472($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, $24_1 = 0, $37_1 = 0, $48_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 19 | 0) >> 0] = $2_1; + $8_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) != (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$3 + } + $24_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == ($24_1 | 0) & 1 | 0 ? $24_1 : 6; + break label$1; + } + $37_1 = 24; + label$4 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $37_1 | 0) >> $37_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + $48_1 = 24; + label$5 : { + label$6 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $48_1 | 0) >> $48_1 | 0 | 0) == (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 4; + break label$5; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + } + label$7 : { + label$8 : { + if (!(((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 3 | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 2 | 0; + break label$7; + } + label$9 : { + if (!((((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0) & (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) & 2 | 0)) { + break label$9 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + return HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $473($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $26_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[(114412 + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if ($88(HEAP32[((HEAP32[$4_1 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + break label$1; + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $26_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $26_1 | 0; + } + + function $474($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $59_1 = 0, $107_1 = 0, i64toi32_i32$0 = 0, $93_1 = 0, $112_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1124(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $1125(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + break label$3; + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + break label$1; + } + label$5 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $39(16 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $59_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($59_1 + 4 | 0) >> 2] = (HEAP32[($59_1 + 4 | 0) >> 2] | 0) + 1 | 0; + label$7 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 >= 10 >>> 0 & 1 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 > ((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) << 1 | 0) >>> 0 & 1 | 0)) { + break label$7 + } + label$8 : { + if (!($1126(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 1 | 0 | 0) | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (($1127(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0) >>> 0) % ((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + $93_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $107_1 = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + break label$9; + } + $107_1 = 0; + } + $1128($93_1 | 0, $107_1 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $112_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $112_1 | 0; + } + + function $475($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $477(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $15_1 = 0; + $477(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $15_1 | 0, $15_1 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $476($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + label$1 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) >= (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $449(); + $478(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $450(); + } + global$0 = $6_1 + 16 | 0; + return 0 | 0; + } + + function $477($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 236 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 240 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + return HEAP32[$5_1 >> 2] | 0 | 0; + } + + function $478($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $479(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $5_1 | 0, $5_1 | 0, $5_1 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $479($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $51_1 = 0, $65_1 = 0, $85_1 = 0, $88_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 16 | 0) >> 2] = 10; + label$1 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = -1; + } + label$2 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] = -1; + } + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($7_1 + 44 | 0) >> 2] = 21; + break label$3; + } + label$6 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $51_1 = 24; + if (!(((HEAPU8[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 0] | 0) << $51_1 | 0) >> $51_1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $122(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + label$8 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 1; + $65_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $113($65_1 | 0, 1 | 0, 3520 | 0, $7_1 | 0); + break label$7; + } + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 408 | 0) >> 2] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $480(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $115(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $217(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0) { + break label$9 + } + $85_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + HEAP32[($85_1 + 264 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + } + $88_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $88_1 | 0; + } + + function $480($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $18_1 = 0, $42_1 = 0, $68_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $8_1; + HEAP32[$7_1 >> 2] = $8_1; + HEAP32[($7_1 + 4 | 0) >> 2] = $8_1; + label$1 : while (1) { + $18_1 = 0; + label$2 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = (HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($18_1 & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if ((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (10 | 0) & 1 | 0)) { + break label$4 + } + } + $42_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $481(HEAP32[(((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 16 | 0) >> 2] = $42_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $42_1; + label$6 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[$7_1 >> 2] = 1; + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + } + } + HEAP32[($7_1 + 4 | 0) >> 2] = (HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$7 : { + label$8 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$8 + } + if (!(HEAP32[$7_1 >> 2] | 0)) { + break label$8 + } + $68_1 = 5; + break label$7; + } + $68_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + } + global$0 = $7_1 + 32 | 0; + return $68_1 | 0; + } + + function $481($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + label$1 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0); + label$2 : { + label$3 : { + if (!((HEAPU8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 6; + break label$2; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2005(HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + $30_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $30_1 | 0; + } + + function $482($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if ($404(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $3(164397 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) | 0; + } + $32_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $32_1 | 0; + } + + function $483($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) >= (12 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 108 | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[(3552 + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(3552 + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 108 | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + return HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $484($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $9_1 = $485(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 6 | 0, 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $485($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $68_1 = 0, $94_1 = 0, $67_1 = 0, $7_1 = 0, $72_1 = 0, $74_1 = 0, $113_1 = 0, $351$hi = 0, $352$hi = 0, $178_1 = 0, $270_1 = 0, $277_1 = 0, $537_1 = 0, $544_1 = 0, $551_1 = 0, $558_1 = 0, $565_1 = 0, $569_1 = 0, $587_1 = 0, $604_1 = 0, $179_1 = 0, $180_1 = 0, $187_1 = 0, $222_1 = 0, $249_1 = 0, $340_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $7_1; + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $25() | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + label$4 : { + if ((HEAPU8[(0 + 68372 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0) & 32768 | 0)) { + break label$6 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + break label$5; + } + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0) & 65536 | 0)) { + break label$8 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 1; + break label$7; + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAPU8[(0 + 68373 | 0) >> 0] | 0) & 255 | 0; + } + } + } + label$9 : { + label$10 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0) & 262144 | 0)) { + break label$10 + } + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) & -131073 | 0; + break label$9; + } + label$11 : { + if (!(HEAP32[(0 + 68568 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 131072 | 0; + } + } + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) & -655129 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $114(488 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + label$13 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + break label$12; + } + label$14 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$14 + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = 8; + label$15 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$15 + } + $42(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + break label$12; + } + label$16 : { + if (HEAP32[($6_1 + 16 | 0) >> 2] | 0) { + break label$16 + } + } + } + $67_1 = 1; + $68_1 = 0; + $72_1 = 2261; + $74_1 = 15; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] = 255; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = 2; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 96 | 0) >> 2] = -264537850; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 412 | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 272 | 0) >> 2] = 1; + HEAP16[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 276 | 0) >> 1] = 0; + $94_1 = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 108 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 3592 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 3596 | 0) >> 2] | 0; + $537_1 = i64toi32_i32$0; + i64toi32_i32$0 = $94_1 + 40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $537_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 3584 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 3588 | 0) >> 2] | 0; + $544_1 = i64toi32_i32$1; + i64toi32_i32$1 = $94_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $544_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 3576 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 3580 | 0) >> 2] | 0; + $551_1 = i64toi32_i32$0; + i64toi32_i32$0 = $94_1 + 24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $551_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 3568 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 3572 | 0) >> 2] | 0; + $558_1 = i64toi32_i32$1; + i64toi32_i32$1 = $94_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $558_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 3560 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 3564 | 0) >> 2] | 0; + $565_1 = i64toi32_i32$0; + i64toi32_i32$0 = $94_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $565_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 3552 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 3556 | 0) >> 2] | 0; + $569_1 = i64toi32_i32$1; + i64toi32_i32$1 = $94_1; + HEAP32[i64toi32_i32$1 >> 2] = $569_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 152 | 0) >> 2] = $68_1; + HEAP8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 79 | 0) >> 0] = $67_1; + HEAP8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 84 | 0) >> 0] = 255; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68536 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68540 | 0) >> 2] | 0; + $587_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 48 | 0) >> 2] = $587_1; + HEAP32[(i64toi32_i32$0 + 52 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 92 | 0) >> 2] = $68_1; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 156 | 0) >> 2] = 2147483647; + $113_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = $113_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $351$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $352$hi = i64toi32_i32$0; + i64toi32_i32$0 = $351$hi; + i64toi32_i32$0 = $352$hi; + i64toi32_i32$0 = $351$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $352$hi; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $604_1 = i64toi32_i32$2 | -536575776 | 0; + i64toi32_i32$2 = $113_1; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = $604_1; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$1; + $489((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 384 | 0 | 0); + $489((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 340 | 0 | 0); + $490(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $72_1 | 0, $67_1 & 255 | 0 | 0, $68_1 | 0, $74_1 | 0, $68_1 | 0) | 0; + $490(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $72_1 | 0, 3 & 255 | 0 | 0, $68_1 | 0, $74_1 | 0, $68_1 | 0) | 0; + $490(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $72_1 | 0, 2 & 255 | 0 | 0, $68_1 | 0, $74_1 | 0, $68_1 | 0) | 0; + $490(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 32387 | 0, $67_1 & 255 | 0 | 0, $68_1 | 0, 14 | 0, $68_1 | 0) | 0; + $490(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 41945 | 0, $67_1 & 255 | 0 | 0, $68_1 | 0, 13 | 0, $68_1 | 0) | 0; + label$17 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$17 + } + break label$12; + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if ((1 << ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) & 7 | 0) | 0) & 70 | 0) { + break label$19 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3(165100 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$18; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $491(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0, $6_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$20 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$20 + } + label$21 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$21 + } + $118(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + $178_1 = 0; + $179_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $180_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $187_1 = (HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != ($178_1 | 0) & 1 | 0 ? 1976 : $178_1; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + $113($179_1 | 0, $180_1 | 0, $187_1 | 0, $6_1 | 0); + $42(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + break label$12; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $492(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 256 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$22 + } + label$23 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (3082 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 7; + } + $115(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + break label$12; + } + $127(HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $222_1 = $493(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = $222_1; + label$24 : { + if (((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$24 + } + $494(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 77 | 0) >> 0] | 0) & 255 | 0 | 0); + } + $249_1 = $493(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] = $249_1; + HEAP32[(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] = 8749; + HEAP8[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 0] = 3; + HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = 3385; + HEAP8[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 24 | 0) >> 0] = 1; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 96 | 0) >> 2] = -1607883113; + label$25 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$25 + } + break label$12; + } + $270_1 = 0; + $115(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $270_1 | 0); + $495(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $482(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 4 | 0) >> 2] = $270_1; + label$26 : while (1) { + $277_1 = 0; + label$27 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$27 + } + $277_1 = (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) < (5 | 0); + } + label$28 : { + if (!($277_1 & 1 | 0)) { + break label$28 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(41952 + ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$26; + } + break label$26; + }; + label$29 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$29 + } + $496(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $482(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$30 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$30 + } + break label$12; + } + } + label$31 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$31 + } + $115(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + $448(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[(0 + 68388 | 0) >> 2] | 0 | 0, HEAP32[(0 + 68392 | 0) >> 2] | 0 | 0) | 0; + $475(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 1e3 | 0) | 0; + } + label$32 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$32 + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $482(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$33 : { + label$34 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$34 + } + $455(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + break label$33; + } + label$35 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$35 + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 96 | 0) >> 2] = 1266094736; + } + } + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $497(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) & 255 | 0; + } + $340_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $340_1 | 0; + } + + function $486($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $12_1 = 0, $33_1 = 0, $57_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (!(HEAP32[($7_1 + 24 | 0) >> 2] | 0)) { + break label$2 + } + $12_1 = ((HEAPU8[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (32 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + -1 | 0; + continue label$1; + } + break label$1; + }; + label$4 : while (1) { + $33_1 = 0; + label$5 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$5 + } + $33_1 = ((HEAPU8[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (32 | 0); + } + label$6 : { + if (!($33_1 & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + -1 | 0; + continue label$4; + } + break label$4; + }; + $57_1 = $488(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $7_1 + 32 | 0; + return $57_1 | 0; + } + + function $487($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $18_1 = 0, $8_1 = 0, $9_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + $8_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $9_1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + break label$1; + } + $18_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $89($8_1 | 0, $9_1 | 0, $18_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((0 | 0) == (HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) - (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0; + } + $32_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $32_1 | 0; + } + + function $488($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $16_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + break label$1; + } + $16_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 4 | 0) >> 2] = $16_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3228(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) - (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0; + } + $27_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $27_1 | 0; + } + + function $489($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $4_1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $4_1; + return; + } + + function $490($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $30_1 = 0, $50_1 = 0, $155_1 = 0, $171_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $1_1; + HEAP8[($8_1 + 35 | 0) >> 0] = $2_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAPU8[($8_1 + 35 | 0) >> 0] | 0) & 255 | 0; + label$1 : { + label$2 : { + if ((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0) { + break label$2 + } + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$1 + } + } + $30_1 = 24; + HEAP32[($8_1 + 12 | 0) >> 2] = ((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 ? 2 : 3; + } + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$4 + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $3(164454 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + $50_1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $498(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 12 | 0) >> 2] | 0) & 255 | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, $50_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) != ($50_1 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!(HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0)) { + break label$7 + } + $113(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, 5 | 0, 61082 | 0, 0 | 0); + HEAP32[($8_1 + 44 | 0) >> 2] = 5; + break label$3; + } + $395(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, 0 | 0); + label$8 : { + if (!((((HEAPU8[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) & -9 | 0 | 0) == (HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $362((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 384 | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 4 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[$8_1 >> 2] = (HEAP32[($8_1 + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 4 | 0) >> 2] | 0, 20) | 0; + label$11 : { + if (!(((HEAPU8[((HEAP32[$8_1 >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + if (!((HEAP32[((HEAP32[$8_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$8_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[$8_1 >> 2] | 0) + 8 | 0) >> 2] | 0); + } + HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] = 0; + } + HEAP32[($8_1 + 4 | 0) >> 2] = (HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $498(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 12 | 0) >> 2] | 0) & 255 | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($8_1 + 44 | 0) >> 2] = 7; + break label$3; + } + $155_1 = 0; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] = HEAP32[($8_1 + 12 | 0) >> 2] | 0 | (((HEAPU8[($8_1 + 35 | 0) >> 0] | 0) & 255 | 0) & 8 | 0) | 0; + $115(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, $155_1 | 0); + HEAP32[($8_1 + 44 | 0) >> 2] = $155_1; + } + $171_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $171_1 | 0; + } + + function $491($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $254_1 = 0, $73_1 = 0, $74_1 = 0, $75_1 = 0, $76_1 = 0, $519_1 = 0, $77_1 = 0, $78_1 = 0, $79_1 = 0, $80_1 = 0, $81_1 = 0, $376_1 = 0, $33_1 = 0, $53_1 = 0, $701$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $83_1 = 0, $94_1 = 0, $108_1 = 0, $111_1 = 0, $117_1 = 0, $164_1 = 0, $165_1 = 0, $168_1 = 0, $171_1 = 0, $185_1 = 0, $218_1 = 0, $223_1 = 0, $232_1 = 0, $237_1 = 0, $250_1 = 0, $251_1 = 0, $258_1 = 0, $270_1 = 0, $288_1 = 0, $299_1 = 0, $315_1 = 0, $318_1 = 0, $341_1 = 0, $351_1 = 0, $365_1 = 0, $373_1 = 0, $383_1 = 0, $398_1 = 0, $412_1 = 0, $422_1 = 0, $431_1 = 0, $448_1 = 0, $460_1 = 0, $473_1 = 0, $558_1 = 0, $784_1 = 0, $701_1 = 0, $836$hi = 0, $151_1 = 0, $156_1 = 0, $217_1 = 0, $231_1 = 0, $242_1 = 0, $421_1 = 0, $458_1 = 0, $459_1 = 0, $472_1 = 0, $605_1 = 0, $610_1 = 0, $622_1 = 0, $627_1 = 0, $673_1 = 0, $686_1 = 0, $697_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 176 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 168 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 164 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 160 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 156 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 152 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 148 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 144 | 0) >> 2] = 0; + HEAP32[($8_1 + 140 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 160 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 136 | 0) >> 2] = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $68(HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($8_1 + 140 | 0) >> 2] | 0) & 64 | 0) { + break label$5 + } + if (!((HEAPU8[(0 + 68374 | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + } + if (!((HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0) >= (5 | 0) & 1 | 0)) { + break label$4 + } + if ($3228(HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0, 35882 | 0, 5 | 0) | 0) { + break label$4 + } + $33_1 = 0; + HEAP32[($8_1 + 108 | 0) >> 2] = $33_1; + i64toi32_i32$1 = (HEAP32[($8_1 + 124 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $784_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 96 | 0) >> 2] = $784_1; + HEAP32[($8_1 + 100 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 140 | 0) >> 2] = HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 64 | 0; + HEAP32[($8_1 + 112 | 0) >> 2] = $33_1; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $53_1 = 24; + i64toi32_i32$1 = (((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0) >> 0] | 0) << $53_1 | 0) >> $53_1 | 0 | 0) == (38 | 0) & 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $701_1 = i64toi32_i32$1; + $701$hi = i64toi32_i32$0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 100 | 0) >> 2] | 0; + $836$hi = i64toi32_i32$1; + i64toi32_i32$1 = $701$hi; + i64toi32_i32$1 = $836$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $701$hi; + i64toi32_i32$3 = $701_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $8_1; + HEAP32[($8_1 + 96 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($8_1 + 100 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($8_1 + 112 | 0) >> 2] = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + i64toi32_i32$1 = $8_1; + i64toi32_i32$5 = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 100 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $41(i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if ((HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + HEAP32[($8_1 + 172 | 0) >> 2] = 7; + break label$1; + } + $73_1 = HEAP32[($8_1 + 132 | 0) >> 2] | 0; + $74_1 = 0; + HEAP8[$73_1 >> 0] = $74_1; + HEAP8[($73_1 + 1 | 0) >> 0] = $74_1 >>> 8 | 0; + HEAP8[($73_1 + 2 | 0) >> 0] = $74_1 >>> 16 | 0; + HEAP8[($73_1 + 3 | 0) >> 0] = $74_1 >>> 24 | 0; + HEAP32[($8_1 + 132 | 0) >> 2] = (HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($8_1 + 112 | 0) >> 2] = 5; + $83_1 = 24; + label$9 : { + if (!((((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) << $83_1 | 0) >> $83_1 | 0 | 0) == (47 | 0) & 1 | 0)) { + break label$9 + } + $94_1 = 24; + if (!((((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) << $94_1 | 0) >> $94_1 | 0 | 0) == (47 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($8_1 + 112 | 0) >> 2] = 7; + label$10 : while (1) { + $108_1 = 24; + $111_1 = 0; + label$11 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0) >> 0] | 0) << $108_1 | 0) >> $108_1 | 0)) { + break label$11 + } + $117_1 = 24; + $111_1 = (((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0) >> 0] | 0) << $117_1 | 0) >> $117_1 | 0 | 0) != (47 | 0); + } + label$12 : { + if (!($111_1 & 1 | 0)) { + break label$12 + } + HEAP32[($8_1 + 112 | 0) >> 2] = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + } + break label$10; + }; + label$13 : { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) != (7 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if ((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) != (16 | 0) & 1 | 0) { + break label$14 + } + if (!($3228(35888 | 0, (HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 7 | 0 | 0, 9 | 0) | 0)) { + break label$13 + } + } + $151_1 = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) - 7 | 0; + HEAP32[($8_1 + 4 | 0) >> 2] = (HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 7 | 0; + HEAP32[$8_1 >> 2] = $151_1; + $156_1 = $79(35898 | 0, $8_1 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 148 | 0) >> 2] | 0) >> 2] = $156_1; + HEAP32[($8_1 + 144 | 0) >> 2] = 1; + break label$2; + } + } + HEAP32[($8_1 + 116 | 0) >> 2] = 0; + label$15 : while (1) { + $164_1 = HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($8_1 + 131 | 0) >> 0] = $164_1; + $165_1 = 24; + $168_1 = 0; + label$16 : { + if (!(($164_1 << $165_1 | 0) >> $165_1 | 0)) { + break label$16 + } + $171_1 = 24; + $168_1 = (((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $171_1 | 0) >> $171_1 | 0 | 0) != (35 | 0); + } + label$17 : { + if (!($168_1 & 1 | 0)) { + break label$17 + } + HEAP32[($8_1 + 112 | 0) >> 2] = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 1 | 0; + $185_1 = 24; + label$18 : { + label$19 : { + if (!((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $185_1 | 0) >> $185_1 | 0 | 0) == (37 | 0) & 1 | 0)) { + break label$19 + } + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$19 + } + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$19 + } + $217_1 = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + $218_1 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + HEAP32[($8_1 + 112 | 0) >> 2] = $218_1 + 1 | 0; + $223_1 = 24; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = (($529(((HEAPU8[($217_1 + $218_1 | 0) >> 0] | 0) << $223_1 | 0) >> $223_1 | 0 | 0) | 0) & 255 | 0) << 4 | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $231_1 = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + $232_1 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + HEAP32[($8_1 + 112 | 0) >> 2] = $232_1 + 1 | 0; + $237_1 = 24; + $242_1 = ($529(((HEAPU8[($231_1 + $232_1 | 0) >> 0] | 0) << $237_1 | 0) >> $237_1 | 0 | 0) | 0) & 255 | 0; + HEAP32[($8_1 + 92 | 0) >> 2] = (HEAP32[($8_1 + 92 | 0) >> 2] | 0) + $242_1 | 0; + label$20 : { + if (HEAP32[($8_1 + 92 | 0) >> 2] | 0) { + break label$20 + } + label$21 : while (1) { + $250_1 = HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($8_1 + 131 | 0) >> 0] = $250_1; + $251_1 = 24; + $254_1 = 0; + label$22 : { + if (!(($250_1 << $251_1 | 0) >> $251_1 | 0)) { + break label$22 + } + $258_1 = 24; + $254_1 = 0; + if (!((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $258_1 | 0) >> $258_1 | 0 | 0) != (35 | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + if (HEAP32[($8_1 + 116 | 0) >> 2] | 0) { + break label$23 + } + $270_1 = 24; + $254_1 = 0; + if (!((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $270_1 | 0) >> $270_1 | 0 | 0) != (63 | 0) & 1 | 0)) { + break label$22 + } + } + label$24 : { + if ((HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0) { + break label$24 + } + $288_1 = 24; + $254_1 = 0; + if (!((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $288_1 | 0) >> $288_1 | 0 | 0) != (61 | 0) & 1 | 0)) { + break label$22 + } + $299_1 = 24; + $254_1 = 0; + if (!((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $299_1 | 0) >> $299_1 | 0 | 0) != (38 | 0) & 1 | 0)) { + break label$22 + } + } + $315_1 = 1; + label$25 : { + if ((HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0) { + break label$25 + } + $318_1 = 24; + $315_1 = (((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $318_1 | 0) >> $318_1 | 0 | 0) != (38 | 0); + } + $254_1 = $315_1; + } + label$26 : { + if (!($254_1 & 1 | 0)) { + break label$26 + } + HEAP32[($8_1 + 112 | 0) >> 2] = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 1 | 0; + continue label$21; + } + break label$21; + }; + continue label$15; + } + HEAP8[($8_1 + 131 | 0) >> 0] = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + break label$18; + } + label$27 : { + label$28 : { + if (!((HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$28 + } + $341_1 = 24; + label$29 : { + if ((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $341_1 | 0) >> $341_1 | 0 | 0) == (38 | 0) & 1 | 0) { + break label$29 + } + $351_1 = 24; + if (!((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $351_1 | 0) >> $351_1 | 0 | 0) == (61 | 0) & 1 | 0)) { + break label$28 + } + } + $365_1 = 24; + label$30 : { + if (((HEAPU8[((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 108 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $365_1 | 0) >> $365_1 | 0) { + break label$30 + } + label$31 : while (1) { + $373_1 = 24; + $376_1 = 0; + label$32 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0) >> 0] | 0) << $373_1 | 0) >> $373_1 | 0)) { + break label$32 + } + $383_1 = 24; + $376_1 = 0; + if (!((((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0) >> 0] | 0) << $383_1 | 0) >> $383_1 | 0 | 0) != (35 | 0) & 1 | 0)) { + break label$32 + } + $398_1 = 24; + $376_1 = (((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 112 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $398_1 | 0) >> $398_1 | 0 | 0) != (38 | 0); + } + label$33 : { + if (!($376_1 & 1 | 0)) { + break label$33 + } + HEAP32[($8_1 + 112 | 0) >> 2] = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 1 | 0; + continue label$31; + } + break label$31; + }; + continue label$15; + } + $412_1 = 24; + label$34 : { + label$35 : { + if (!((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $412_1 | 0) >> $412_1 | 0 | 0) == (38 | 0) & 1 | 0)) { + break label$35 + } + $421_1 = HEAP32[($8_1 + 132 | 0) >> 2] | 0; + $422_1 = HEAP32[($8_1 + 108 | 0) >> 2] | 0; + HEAP32[($8_1 + 108 | 0) >> 2] = $422_1 + 1 | 0; + HEAP8[($421_1 + $422_1 | 0) >> 0] = 0; + break label$34; + } + HEAP32[($8_1 + 116 | 0) >> 2] = 2; + } + HEAP8[($8_1 + 131 | 0) >> 0] = 0; + break label$27; + } + label$36 : { + label$37 : { + label$38 : { + if (HEAP32[($8_1 + 116 | 0) >> 2] | 0) { + break label$38 + } + $431_1 = 24; + if ((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $431_1 | 0) >> $431_1 | 0 | 0) == (63 | 0) & 1 | 0) { + break label$37 + } + } + if (!((HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$36 + } + $448_1 = 24; + if (!((((HEAPU8[($8_1 + 131 | 0) >> 0] | 0) << $448_1 | 0) >> $448_1 | 0 | 0) == (38 | 0) & 1 | 0)) { + break label$36 + } + } + HEAP8[($8_1 + 131 | 0) >> 0] = 0; + HEAP32[($8_1 + 116 | 0) >> 2] = 1; + } + } + } + $458_1 = HEAPU8[($8_1 + 131 | 0) >> 0] | 0; + $459_1 = HEAP32[($8_1 + 132 | 0) >> 2] | 0; + $460_1 = HEAP32[($8_1 + 108 | 0) >> 2] | 0; + HEAP32[($8_1 + 108 | 0) >> 2] = $460_1 + 1 | 0; + HEAP8[($459_1 + $460_1 | 0) >> 0] = $458_1; + continue label$15; + } + break label$15; + }; + label$39 : { + if (!((HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$39 + } + $472_1 = HEAP32[($8_1 + 132 | 0) >> 2] | 0; + $473_1 = HEAP32[($8_1 + 108 | 0) >> 2] | 0; + HEAP32[($8_1 + 108 | 0) >> 2] = $473_1 + 1 | 0; + HEAP8[($472_1 + $473_1 | 0) >> 0] = 0; + } + $75_1 = (HEAP32[($8_1 + 132 | 0) >> 2] | 0) + (HEAP32[($8_1 + 108 | 0) >> 2] | 0) | 0; + $76_1 = 0; + HEAP8[$75_1 >> 0] = $76_1; + HEAP8[($75_1 + 1 | 0) >> 0] = $76_1 >>> 8 | 0; + HEAP8[($75_1 + 2 | 0) >> 0] = $76_1 >>> 16 | 0; + HEAP8[($75_1 + 3 | 0) >> 0] = $76_1 >>> 24 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = (HEAP32[($8_1 + 132 | 0) >> 2] | 0) + (($68(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0) | 0) + 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + label$40 : { + label$41 : while (1) { + if (!(((HEAPU8[(HEAP32[($8_1 + 120 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$40 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $68(HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 84 | 0) >> 2] = (HEAP32[($8_1 + 120 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 88 | 0) >> 2] | 0) + 1 | 0) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $68(HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$42 : { + label$43 : { + if (!((HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$43 + } + if ($3228(35926 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, 3 | 0) | 0) { + break label$43 + } + HEAP32[($8_1 + 136 | 0) >> 2] = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + break label$42; + } + $519_1 = 0; + HEAP32[($8_1 + 76 | 0) >> 2] = $519_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $519_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $519_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $519_1; + label$44 : { + if (!((HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$44 + } + if ($3228(35930 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, 5 | 0) | 0) { + break label$44 + } + HEAP32[($8_1 + 68 | 0) >> 2] = 393216; + HEAP32[($8_1 + 76 | 0) >> 2] = 69504; + HEAP32[($8_1 + 64 | 0) >> 2] = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + HEAP32[($8_1 + 72 | 0) >> 2] = 35930; + } + label$45 : { + if (!((HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$45 + } + $77_1 = HEAP32[($8_1 + 120 | 0) >> 2] | 0; + if ((HEAPU8[$77_1 >> 0] | 0 | ((HEAPU8[($77_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($77_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($77_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0 | 0) != (1701080941 | 0)) { + break label$45 + } + HEAP32[($8_1 + 68 | 0) >> 2] = 135; + HEAP32[($8_1 + 76 | 0) >> 2] = 69536; + HEAP32[($8_1 + 64 | 0) >> 2] = (HEAP32[($8_1 + 68 | 0) >> 2] | 0) & (HEAP32[($8_1 + 140 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 72 | 0) >> 2] = 3927; + } + label$46 : { + if (!((HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$46 + } + $558_1 = 0; + HEAP32[($8_1 + 56 | 0) >> 2] = $558_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $558_1; + label$47 : { + label$48 : while (1) { + if (!((HEAP32[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$47 + } + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + label$49 : { + if (!((HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) == ($68(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$49 + } + if (!((0 | 0) == ($3228(HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$49 + } + HEAP32[($8_1 + 56 | 0) >> 2] = HEAP32[(((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0; + break label$47; + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$48; + }; + } + label$50 : { + if (HEAP32[($8_1 + 56 | 0) >> 2] | 0) { + break label$50 + } + $605_1 = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $605_1; + $610_1 = $79(35961 | 0, $8_1 + 16 | 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 148 | 0) >> 2] | 0) >> 2] = $610_1; + HEAP32[($8_1 + 144 | 0) >> 2] = 1; + break label$2; + } + label$51 : { + if (!(((HEAP32[($8_1 + 56 | 0) >> 2] | 0) & -129 | 0 | 0) > (HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$51 + } + $622_1 = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $622_1; + $627_1 = $79(35981 | 0, $8_1 + 32 | 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 148 | 0) >> 2] | 0) >> 2] = $627_1; + HEAP32[($8_1 + 144 | 0) >> 2] = 3; + break label$2; + } + HEAP32[($8_1 + 140 | 0) >> 2] = (HEAP32[($8_1 + 140 | 0) >> 2] | 0) & ((HEAP32[($8_1 + 68 | 0) >> 2] | 0) ^ -1 | 0) | 0 | (HEAP32[($8_1 + 56 | 0) >> 2] | 0) | 0; + } + } + HEAP32[($8_1 + 120 | 0) >> 2] = (HEAP32[($8_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 1 | 0) | 0; + continue label$41; + }; + } + break label$3; + } + i64toi32_i32$5 = (HEAP32[($8_1 + 124 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $41(i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + label$52 : { + if ((HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$52 + } + HEAP32[($8_1 + 172 | 0) >> 2] = 7; + break label$1; + } + $78_1 = HEAP32[($8_1 + 132 | 0) >> 2] | 0; + $79_1 = 0; + HEAP8[$78_1 >> 0] = $79_1; + HEAP8[($78_1 + 1 | 0) >> 0] = $79_1 >>> 8 | 0; + HEAP8[($78_1 + 2 | 0) >> 0] = $79_1 >>> 16 | 0; + HEAP8[($78_1 + 3 | 0) >> 0] = $79_1 >>> 24 | 0; + HEAP32[($8_1 + 132 | 0) >> 2] = (HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 4 | 0; + label$53 : { + if (!(HEAP32[($8_1 + 124 | 0) >> 2] | 0)) { + break label$53 + } + $3288(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0) | 0; + } + $80_1 = (HEAP32[($8_1 + 132 | 0) >> 2] | 0) + (HEAP32[($8_1 + 124 | 0) >> 2] | 0) | 0; + $81_1 = 0; + HEAP8[$80_1 >> 0] = $81_1; + HEAP8[($80_1 + 1 | 0) >> 0] = $81_1 >>> 8 | 0; + HEAP8[($80_1 + 2 | 0) >> 0] = $81_1 >>> 16 | 0; + HEAP8[($80_1 + 3 | 0) >> 0] = $81_1 >>> 24 | 0; + HEAP32[($8_1 + 140 | 0) >> 2] = (HEAP32[($8_1 + 140 | 0) >> 2] | 0) & -65 | 0; + } + $673_1 = $24(HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 156 | 0) >> 2] | 0) >> 2] = $673_1; + label$54 : { + if (!((HEAP32[(HEAP32[($8_1 + 156 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$54 + } + HEAP32[($8_1 + 48 | 0) >> 2] = HEAP32[($8_1 + 136 | 0) >> 2] | 0; + $686_1 = $79(36005 | 0, $8_1 + 48 | 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 148 | 0) >> 2] | 0) >> 2] = $686_1; + HEAP32[($8_1 + 144 | 0) >> 2] = 1; + } + } + label$55 : { + if (!(HEAP32[($8_1 + 144 | 0) >> 2] | 0)) { + break label$55 + } + $497(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 132 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($8_1 + 160 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 140 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 152 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 132 | 0) >> 2] | 0; + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + } + $697_1 = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + global$0 = $8_1 + 176 | 0; + return $697_1 | 0; + } + + function $492($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, $10_1 = 0, i64toi32_i32$1 = 0, $41_1 = 0, $525_1 = 0, $17_1 = 0, $21_1 = 0, $111_1 = 0, $157_1 = 0, $218_1 = 0, i64toi32_i32$2 = 0, $262_1 = 0, $285_1 = 0, $326_1 = 0, $335_1 = 0, $339_1 = 0, $340_1 = 0, $343_1 = 0, $345_1 = 0, $421_1 = 0, $465_1 = 0, $354_1 = 0, $359_1 = 0, $559_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 208 | 0; + global$0 = $8_1; + $10_1 = 0; + HEAP32[($8_1 + 200 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 196 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 192 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 188 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 184 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 180 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 176 | 0) >> 2] = $10_1; + HEAP32[($8_1 + 168 | 0) >> 2] = $10_1; + HEAP32[($8_1 + 164 | 0) >> 2] = $10_1; + $17_1 = 1; + label$1 : { + if ((HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0) == ($10_1 | 0) & 1 | 0) { + break label$1 + } + $21_1 = 24; + $17_1 = (((HEAPU8[(HEAP32[($8_1 + 196 | 0) >> 2] | 0) >> 0] | 0) << $21_1 | 0) >> $21_1 | 0 | 0) == (0 | 0); + } + HEAP32[($8_1 + 44 | 0) >> 2] = $17_1 & 1 | 0; + label$2 : { + label$3 : { + if (!((HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $41_1 = 1; + if (!($3229(HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0, 4605 | 0) | 0)) { + break label$2 + } + } + label$4 : { + if (!(HEAP32[($8_1 + 44 | 0) >> 2] | 0)) { + break label$4 + } + $41_1 = 1; + if ($156(HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + } + $41_1 = ((HEAP32[($8_1 + 180 | 0) >> 2] | 0) & 128 | 0 | 0) != (0 | 0); + } + HEAP32[($8_1 + 40 | 0) >> 2] = $41_1 & 1 | 0; + label$5 : { + if (!(HEAP32[($8_1 + 40 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($8_1 + 184 | 0) >> 2] = HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 2 | 0; + } + label$6 : { + if (!((HEAP32[($8_1 + 180 | 0) >> 2] | 0) & 256 | 0)) { + break label$6 + } + label$7 : { + if (HEAP32[($8_1 + 40 | 0) >> 2] | 0) { + break label$7 + } + if (!(HEAP32[($8_1 + 44 | 0) >> 2] | 0)) { + break label$6 + } + } + HEAP32[($8_1 + 180 | 0) >> 2] = (HEAP32[($8_1 + 180 | 0) >> 2] | 0) & -257 | 0 | 512 | 0; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $114(48 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if ((HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + HEAP32[($8_1 + 204 | 0) >> 2] = 7; + break label$8; + } + HEAP8[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 8 | 0) >> 0] = 0; + HEAP32[(HEAP32[($8_1 + 172 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 192 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 36 | 0) >> 2] = 1; + label$10 : { + if (HEAP32[($8_1 + 44 | 0) >> 2] | 0) { + break label$10 + } + label$11 : { + if (!(HEAP32[($8_1 + 40 | 0) >> 2] | 0)) { + break label$11 + } + if (!((HEAP32[($8_1 + 180 | 0) >> 2] | 0) & 64 | 0)) { + break label$10 + } + } + label$12 : { + if (!((HEAP32[($8_1 + 180 | 0) >> 2] | 0) & 131072 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = ($68(HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0; + label$13 : { + label$14 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) > (HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $111_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + break label$13; + } + $111_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + } + i64toi32_i32$1 = $111_1; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $39(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 9 | 0) >> 0] = 1; + label$15 : { + if ((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$15 + } + $42(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 204 | 0) >> 2] = 7; + break label$8; + } + label$16 : { + label$17 : { + if (!(HEAP32[($8_1 + 40 | 0) >> 2] | 0)) { + break label$17 + } + $3288(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) | 0; + break label$16; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $606(HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!(HEAP32[($8_1 + 164 | 0) >> 2] | 0)) { + break label$18 + } + label$19 : { + label$20 : { + if (!((HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0) == (512 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($8_1 + 164 | 0) >> 2] = 0; + break label$19; + } + $42(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0); + $42(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 204 | 0) >> 2] = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + break label$8; + } + } + } + HEAP32[($8_1 + 176 | 0) >> 2] = HEAP32[(0 + 114612 | 0) >> 2] | 0; + label$21 : { + label$22 : while (1) { + if (!((HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + $157_1 = 0; + label$23 : { + if (!(($157_1 | 0) == ($3229(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, $532(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0, $157_1 | 0) | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$23 + } + if (!(($508(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 192 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($8_1 + 192 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$26 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + if (!((HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + $42(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0); + $42(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 204 | 0) >> 2] = 19; + break label$8; + } + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + -1 | 0; + continue label$25; + }; + } + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + $218_1 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + HEAP32[($218_1 + 68 | 0) >> 2] = (HEAP32[($218_1 + 68 | 0) >> 2] | 0) + 1 | 0; + break label$21; + } + HEAP32[($8_1 + 176 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + continue label$22; + }; + } + $42(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0); + } + } + label$27 : { + label$28 : { + if (!((HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$28 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $114(88 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (!((HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($8_1 + 164 | 0) >> 2] = 7; + break label$27; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $608(HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0, 84 | 0, HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$30 : { + if (HEAP32[($8_1 + 164 | 0) >> 2] | 0) { + break label$30 + } + i64toi32_i32$2 = HEAP32[($8_1 + 192 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $609(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $610(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0, 100 | 0, $8_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + } + label$31 : { + if (!(HEAP32[($8_1 + 164 | 0) >> 2] | 0)) { + break label$31 + } + break label$27; + } + $262_1 = 0; + HEAP8[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[($8_1 + 184 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 192 | 0) >> 2] | 0; + $611(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0, 17 | 0, HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 8 | 0) >> 2] = $262_1; + HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 12 | 0) >> 2] = $262_1; + label$32 : { + if (!((($153(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$32 + } + $285_1 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + HEAP16[($285_1 + 24 | 0) >> 1] = (HEAPU16[($285_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + } + HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 36 | 0) >> 2] = ((HEAPU8[($8_1 + 64 | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | (((HEAPU8[($8_1 + 65 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0; + label$33 : { + label$34 : { + label$35 : { + if ((HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0 < 512 >>> 0 & 1 | 0) { + break label$35 + } + if ((HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0 > 65536 >>> 0 & 1 | 0) { + break label$35 + } + if (!(((HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) - 1 | 0) & (HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) | 0)) { + break label$34 + } + } + $326_1 = 0; + HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 36 | 0) >> 2] = $326_1; + label$36 : { + if (!((HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0) != ($326_1 | 0) & 1 | 0)) { + break label$36 + } + if (HEAP32[($8_1 + 40 | 0) >> 2] | 0) { + break label$36 + } + $335_1 = 0; + HEAP8[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 17 | 0) >> 0] = $335_1; + HEAP8[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 18 | 0) >> 0] = $335_1; + } + HEAP8[($8_1 + 163 | 0) >> 0] = 0; + break label$33; + } + $339_1 = 1; + $340_1 = 0; + $343_1 = $8_1 + 48 | 0; + HEAP8[($8_1 + 163 | 0) >> 0] = HEAPU8[($8_1 + 68 | 0) >> 0] | 0; + $345_1 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + HEAP16[($345_1 + 24 | 0) >> 1] = (HEAPU16[($345_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0; + $354_1 = $161($343_1 + 52 | 0 | 0) | 0 ? $339_1 : $340_1; + HEAP8[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 17 | 0) >> 0] = $354_1; + $359_1 = $161($343_1 + 64 | 0 | 0) | 0 ? $339_1 : $340_1; + HEAP8[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 18 | 0) >> 0] = $359_1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $515(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAPU8[($8_1 + 163 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$37 : { + if (!(HEAP32[($8_1 + 164 | 0) >> 2] | 0)) { + break label$37 + } + break label$27; + } + HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) - ((HEAPU8[($8_1 + 163 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 68 | 0) >> 2] = 1; + label$38 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$38 + } + HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[(0 + 114612 | 0) >> 2] | 0; + HEAP32[(0 + 114612 | 0) >> 2] = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + } + } + label$39 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$39 + } + HEAP32[($8_1 + 16 | 0) >> 2] = 0; + label$40 : { + label$41 : while (1) { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 192 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$40 + } + $421_1 = HEAP32[(((HEAP32[((HEAP32[($8_1 + 192 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = $421_1; + label$42 : { + if (!(($421_1 | 0) != (0 | 0) & 1 | 0)) { + break label$42 + } + if (!((HEAPU8[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0)) { + break label$42 + } + label$43 : { + label$44 : while (1) { + if (!((HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$43 + } + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + continue label$44; + }; + } + label$45 : { + label$46 : { + if (!((HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$46 + } + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + break label$45; + } + label$47 : while (1) { + $465_1 = 0; + label$48 : { + if (!((HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$48 + } + $465_1 = (HEAP32[((HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0; + } + label$49 : { + if (!($465_1 & 1 | 0)) { + break label$49 + } + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$47; + } + break label$47; + }; + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + label$50 : { + if (!((HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$50 + } + HEAP32[((HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + } + break label$40; + } + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$41; + }; + } + } + HEAP32[(HEAP32[($8_1 + 188 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + } + label$51 : { + label$52 : { + if (!(HEAP32[($8_1 + 164 | 0) >> 2] | 0)) { + break label$52 + } + label$53 : { + if (!((HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$53 + } + if (!((HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$53 + } + $612(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + $42(HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0); + $42(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($8_1 + 188 | 0) >> 2] | 0) >> 2] = 0; + break label$51; + } + $525_1 = 0; + label$54 : { + if (!(($613(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, $525_1 | 0, $525_1 | 0) | 0 | 0) == ($525_1 | 0) & 1 | 0)) { + break label$54 + } + $614(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, -2e3 | 0) | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $143(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$55 : { + if (!((HEAP32[(HEAP32[($8_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$55 + } + $615(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, 30 | 0, (HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 4 | 0 | 0); + } + } + label$56 : { + if (!((HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$56 + } + } + HEAP32[($8_1 + 204 | 0) >> 2] = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + } + $559_1 = HEAP32[($8_1 + 204 | 0) >> 2] | 0; + global$0 = $8_1 + 208 | 0; + return $559_1 | 0; + } + + function $493($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $50_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $613(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 84 | 0, 18 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $308(0 | 0, 84 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + label$4 : { + if ((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + $118(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + break label$3; + } + label$5 : { + if (!((0 | 0) == ((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 76 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $489((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0 | 0); + $489((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0 | 0); + $489((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 40 | 0 | 0); + $489((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 56 | 0 | 0); + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 77 | 0) >> 0] = 1; + } + } + $50_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $50_1 | 0; + } + + function $494($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 11 | 0) >> 0] = $1_1; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 78 | 0) >> 0] = HEAPU8[($4_1 + 11 | 0) >> 0] | 0; + $13_1 = $498(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0, 2261 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $13_1; + global$0 = $4_1 + 16 | 0; + return; + } + + function $495($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $470(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 41972 | 0, 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$1 + } + $118(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $496($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $18_1 = 0, $26_1 = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = 1; + label$1 : { + label$2 : { + if (HEAP32[(0 + 114400 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$3 : while (1) { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$4 : { + label$5 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 0 >= (HEAP32[(0 + 114400 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + $18_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $18_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $18_1; + break label$4; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[(0 + 114404 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + $26_1 = 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $26_1; + label$6 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != ($26_1 | 0) & 1 | 0)) { + break label$6 + } + $39_1 = FUNCTION_TABLE[HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 28 | 0) >> 2] | 0, $3_1 + 8 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $39_1; + if (!$39_1) { + break label$6 + } + $40_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + $41_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $113($40_1 | 0, $41_1 | 0, 61043 | 0, $3_1 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + } + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $497($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $522(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $42((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -4 | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $498($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP8[($6_1 + 27 | 0) >> 0] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1123(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + Math_imul(((HEAPU8[($6_1 + 27 | 0) >> 0] | 0) & 255 | 0) - 1 | 0, 20) | 0; + } + break label$1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $36_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $36_1 | 0; + } + + function $499($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $500($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, $12_1 = 0, $130_1 = 0, $56_1 = 0, $86_1 = 0, $103_1 = 0, $118_1 = 0, $157_1 = 0, $166_1 = 0, $258_1 = 0, $249_1 = 0, $250_1 = 0, $259_1 = 0, $260_1 = 0, $267_1 = 0, $274_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11_1 = global$0 - 112 | 0; + global$0 = $11_1; + $12_1 = 0; + HEAP32[($11_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 92 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 88 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 84 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 80 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 76 | 0) >> 2] = $8_1; + HEAP32[($11_1 + 68 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 64 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 60 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 56 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 52 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 48 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 44 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 40 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 36 | 0) >> 2] = $12_1; + $8(HEAP32[($11_1 + 108 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $501(HEAP32[($11_1 + 108 | 0) >> 2] | 0 | 0, $11_1 + 68 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(($12_1 | 0) != (HEAP32[($11_1 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $361(HEAP32[($11_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($11_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($11_1 + 64 | 0) >> 2] = 0; + break label$1; + } + label$5 : { + label$6 : { + if (!((HEAP32[($11_1 + 96 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + break label$5; + } + HEAP32[($11_1 + 56 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + $56_1 = 16; + if (!((HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($11_1 + 64 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $56_1 | 0) >> $56_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($11_1 + 60 | 0) >> 2] = (HEAP32[((HEAP32[($11_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($11_1 + 56 | 0) >> 2] | 0, 20) | 0; + label$9 : { + if (!((0 | 0) == ($88(HEAP32[(HEAP32[($11_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 96 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + break label$7; + } + HEAP32[($11_1 + 56 | 0) >> 2] = (HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + $86_1 = 16; + label$10 : { + if (!((HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($11_1 + 64 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $86_1 | 0) >> $86_1 | 0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + label$12 : { + if ((HEAP32[((HEAP32[($11_1 + 64 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$12 + } + if (!($502(HEAP32[($11_1 + 96 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + $103_1 = 16; + HEAP32[($11_1 + 56 | 0) >> 2] = ((HEAPU16[((HEAP32[($11_1 + 64 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $103_1 | 0) >> $103_1 | 0; + label$13 : { + label$14 : { + if (!((HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$14 + } + $118_1 = (HEAP32[((HEAP32[($11_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($11_1 + 56 | 0) >> 2] | 0, 20) | 0; + break label$13; + } + $118_1 = 0; + } + HEAP32[($11_1 + 60 | 0) >> 2] = $118_1; + break label$11; + } + HEAP32[($11_1 + 64 | 0) >> 2] = 0; + break label$1; + } + } + } + label$15 : { + label$16 : { + if (!((HEAP32[($11_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $130_1 = 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $503(HEAP32[($11_1 + 60 | 0) >> 2] | 0 | 0, $130_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($11_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($11_1 + 44 | 0) >> 2] = ((HEAPU8[((HEAP32[($11_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != ($130_1 | 0) & 1 | 0; + HEAP32[($11_1 + 40 | 0) >> 2] = (((HEAPU16[((HEAP32[($11_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0 | 0) != ($130_1 | 0) & 1 | 0; + $157_1 = 16; + $166_1 = 0; + label$17 : { + if (!((((HEAPU16[((HEAP32[($11_1 + 64 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $157_1 | 0) >> $157_1 | 0 | 0) == (HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + $166_1 = ((HEAP32[((HEAP32[($11_1 + 64 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 8 | 0 | 0) != (0 | 0); + } + HEAP32[($11_1 + 36 | 0) >> 2] = $166_1 & 1 | 0; + break label$15; + } + HEAP32[($11_1 + 52 | 0) >> 2] = 3600; + HEAP32[($11_1 + 40 | 0) >> 2] = 1; + } + label$18 : { + if ((HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$18 + } + HEAP32[($11_1 + 48 | 0) >> 2] = 2261; + } + } + label$19 : { + if (!((HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[(HEAP32[($11_1 + 92 | 0) >> 2] | 0) >> 2] = HEAP32[($11_1 + 52 | 0) >> 2] | 0; + } + label$20 : { + if (!((HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[(HEAP32[($11_1 + 88 | 0) >> 2] | 0) >> 2] = HEAP32[($11_1 + 48 | 0) >> 2] | 0; + } + label$21 : { + if (!((HEAP32[($11_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[(HEAP32[($11_1 + 84 | 0) >> 2] | 0) >> 2] = HEAP32[($11_1 + 44 | 0) >> 2] | 0; + } + label$22 : { + if (!((HEAP32[($11_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[(HEAP32[($11_1 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($11_1 + 40 | 0) >> 2] | 0; + } + label$23 : { + if (!((HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[(HEAP32[($11_1 + 76 | 0) >> 2] | 0) >> 2] = HEAP32[($11_1 + 36 | 0) >> 2] | 0; + } + label$24 : { + if (!((0 | 0) == (HEAP32[($11_1 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + if ((HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$24 + } + $13(HEAP32[($11_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0); + $249_1 = HEAP32[($11_1 + 108 | 0) >> 2] | 0; + $250_1 = HEAP32[($11_1 + 100 | 0) >> 2] | 0; + HEAP32[($11_1 + 20 | 0) >> 2] = HEAP32[($11_1 + 96 | 0) >> 2] | 0; + HEAP32[($11_1 + 16 | 0) >> 2] = $250_1; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $351($249_1 | 0, 3608 | 0, $11_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11_1 + 72 | 0) >> 2] = 1; + } + $258_1 = 0; + $259_1 = HEAP32[($11_1 + 108 | 0) >> 2] | 0; + $260_1 = HEAP32[($11_1 + 72 | 0) >> 2] | 0; + $267_1 = (HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0) != ($258_1 | 0) & 1 | 0 ? 1976 : $258_1; + HEAP32[$11_1 >> 2] = HEAP32[($11_1 + 68 | 0) >> 2] | 0; + $113($259_1 | 0, $260_1 | 0, $267_1 | 0, $11_1 | 0); + $13(HEAP32[($11_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $217(HEAP32[($11_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + $274_1 = HEAP32[($11_1 + 72 | 0) >> 2] | 0; + global$0 = $11_1 + 112 | 0; + return $274_1 | 0; + } + + function $501($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $36_1 = 0, $84_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 8 | 0) >> 2] = (((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 1 | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0; + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 78 | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 77 | 0) >> 0] | 0; + label$1 : { + label$2 : { + if ((((HEAPU16[((HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 78 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0 | 0) == (1 | 0) & 1 | 0) { + break label$2 + } + $36_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $504(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $36_1 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $36_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if ((((HEAPU16[((HEAP32[(((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 78 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0 | 0) == (1 | 0) & 1 | 0) { + break label$6 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $504(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + -1 | 0; + continue label$5; + }; + } + label$8 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$8 + } + $505(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $84_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $84_1 | 0; + } + + function $502($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 61190 | 0) | 0) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 28572 | 0) | 0) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 61198 | 0) | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $17_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $17_1 | 0; + } + + function $503($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + ($3303(HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $20_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $20_1 | 0; + } + + function $504($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $8_1 = 0, $298$hi = 0, $308$hi = 0, $35_1 = 0, $42_1 = 0, $64_1 = 0, $75_1 = 0, $299$hi = 0, $300$hi = 0, $302$hi = 0, $304_1 = 0, $207_1 = 0, $305$hi = 0, $306$hi = 0, $223_1 = 0, $309$hi = 0, $310$hi = 0, $312$hi = 0, $266_1 = 0, $784_1 = 0, $211_1 = 0, $218_1 = 0, $295_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 160 | 0; + global$0 = $6_1; + $8_1 = 0; + HEAP32[($6_1 + 156 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 152 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 148 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 144 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 64 | 0 | -65 | 0; + HEAP8[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 165 | 0) >> 0] = 1; + HEAP32[($6_1 + 96 | 0) >> 2] = 8398; + $35_1 = (HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 8404 : 8004; + HEAP32[($6_1 + 28 | 0) >> 2] = $35_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $35_1; + HEAP32[($6_1 + 104 | 0) >> 2] = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + HEAP32[($6_1 + 108 | 0) >> 2] = 8423; + HEAP32[($6_1 + 112 | 0) >> 2] = 8425; + HEAP32[($6_1 + 116 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 156 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[($6_1 + 152 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[($6_1 + 148 | 0) >> 2] | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[($6_1 + 144 | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $8_1; + $948($6_1 + 32 | 0 | 0, 5 | 0, $6_1 + 96 | 0 | 0, $8_1 | 0) | 0; + $42_1 = HEAP32[($6_1 + 156 | 0) >> 2] | 0; + HEAP32[($42_1 + 24 | 0) >> 2] = (HEAP32[($42_1 + 24 | 0) >> 2] | 0) & (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 44 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($6_1 + 132 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 152 | 0) >> 2] | 0) << 4 | 0) | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $64_1 = HEAP32[((HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP16[($64_1 + 78 | 0) >> 1] = (HEAPU16[($64_1 + 78 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + HEAP32[($6_1 + 140 | 0) >> 2] = 0; + break label$1; + } + $127(HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + label$4 : { + label$5 : { + if ($125(HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + $75_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $129(HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $75_1 | 0, $75_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($6_1 + 140 | 0) >> 2] | 0)) { + break label$6 + } + $1021(HEAP32[($6_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, $285(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) | 0 | 0); + break label$4; + } + HEAP32[($6_1 + 24 | 0) >> 2] = 1; + } + HEAP32[($6_1 + 136 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0) < (5 | 0) & 1 | 0)) { + break label$7 + } + $913(HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 1 | 0 | 0, ($6_1 + 64 | 0) + ((HEAP32[($6_1 + 136 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); + HEAP32[($6_1 + 136 | 0) >> 2] = (HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + i64toi32_i32$0 = 0; + $298$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($6_1 + 156 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $299$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $300$hi = i64toi32_i32$1; + i64toi32_i32$1 = $299$hi; + i64toi32_i32$1 = $300$hi; + i64toi32_i32$1 = $299$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $300$hi; + i64toi32_i32$3 = 33554432; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $302$hi = i64toi32_i32$0; + i64toi32_i32$0 = $298$hi; + i64toi32_i32$0 = $302$hi; + i64toi32_i32$0 = $298$hi; + i64toi32_i32$0 = $302$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $298$hi; + i64toi32_i32$3 = 0; + label$9 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$1 = 0; + $304_1 = 0; + i64toi32_i32$0 = $6_1 + 64 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $304_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = 0; + i64toi32_i32$0 = i64toi32_i32$0 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $304_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[(HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + label$10 : { + if (!(HEAP32[($6_1 + 80 | 0) >> 2] | 0)) { + break label$10 + } + label$11 : { + label$12 : { + if (HEAP32[($6_1 + 152 | 0) >> 2] | 0) { + break label$12 + } + if ((HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 64 | 0) { + break label$12 + } + HEAP8[($6_1 + 19 | 0) >> 0] = ((HEAP32[($6_1 + 80 | 0) >> 2] | 0) & 255 | 0) & 3 | 0; + label$13 : { + if ((HEAPU8[($6_1 + 19 | 0) >> 0] | 0) & 255 | 0) { + break label$13 + } + HEAP8[($6_1 + 19 | 0) >> 0] = 1; + } + $494(HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, (HEAPU8[($6_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0); + break label$11; + } + label$14 : { + if (!(((HEAP32[($6_1 + 80 | 0) >> 2] | 0) & 3 | 0 | 0) != ((HEAPU8[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + $1021(HEAP32[($6_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, 8497 | 0); + HEAP32[($6_1 + 140 | 0) >> 2] = 1; + break label$4; + } + } + } + HEAP8[((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 77 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0; + label$15 : { + if (HEAP32[((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) { + break label$15 + } + HEAP32[((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] = -2e3; + $614(HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) | 0; + } + HEAP8[((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 76 | 0) >> 0] = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + label$16 : { + if ((HEAPU8[((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 76 | 0) >> 0] | 0) & 255 | 0) { + break label$16 + } + HEAP8[((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 76 | 0) >> 0] = 1; + } + label$17 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 76 | 0) >> 0] | 0) & 255 | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$17 + } + $1021(HEAP32[($6_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, 8565 | 0); + HEAP32[($6_1 + 140 | 0) >> 2] = 1; + break label$4; + } + label$18 : { + if (HEAP32[($6_1 + 152 | 0) >> 2] | 0) { + break label$18 + } + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) >= (4 | 0) & 1 | 0)) { + break label$18 + } + $207_1 = HEAP32[($6_1 + 156 | 0) >> 2] | 0; + i64toi32_i32$3 = $207_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $305$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $306$hi = i64toi32_i32$0; + i64toi32_i32$0 = $305$hi; + i64toi32_i32$0 = $306$hi; + i64toi32_i32$0 = $305$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $306$hi; + i64toi32_i32$2 = -3; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $784_1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $207_1; + HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] = $784_1; + HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] = i64toi32_i32$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $133(HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + $211_1 = HEAP32[($6_1 + 156 | 0) >> 2] | 0; + $218_1 = HEAP32[((HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 152 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $218_1; + $223_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $351($211_1 | 0, 8589 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 328 | 0) >> 2] = $223_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $400(HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 4 | 0, $6_1 + 32 | 0 | 0, $223_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 328 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + label$19 : { + if (HEAP32[($6_1 + 140 | 0) >> 2] | 0) { + break label$19 + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + } + $13(HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + label$20 : { + if (HEAP32[($6_1 + 140 | 0) >> 2] | 0) { + break label$20 + } + $949(HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0) | 0; + } + label$21 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($6_1 + 140 | 0) >> 2] = 7; + $141(HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0); + } + label$22 : { + label$23 : { + if (!(HEAP32[($6_1 + 140 | 0) >> 2] | 0)) { + break label$23 + } + i64toi32_i32$1 = 0; + $308$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($6_1 + 156 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $309$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $310$hi = i64toi32_i32$3; + i64toi32_i32$3 = $309$hi; + i64toi32_i32$3 = $310$hi; + i64toi32_i32$3 = $309$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $310$hi; + i64toi32_i32$2 = 134217728; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $312$hi = i64toi32_i32$1; + i64toi32_i32$1 = $308$hi; + i64toi32_i32$1 = $312$hi; + i64toi32_i32$1 = $308$hi; + i64toi32_i32$1 = $312$hi; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + i64toi32_i32$0 = $308$hi; + i64toi32_i32$2 = 0; + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$22 + } + } + $266_1 = HEAP32[(((HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 152 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP16[($266_1 + 78 | 0) >> 1] = (HEAPU16[($266_1 + 78 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + HEAP32[($6_1 + 140 | 0) >> 2] = 0; + } + } + label$24 : { + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$24 + } + $1022(HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + } + } + label$25 : { + if (!(HEAP32[($6_1 + 140 | 0) >> 2] | 0)) { + break label$25 + } + label$26 : { + label$27 : { + if ((HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0) { + break label$27 + } + if (!((HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) == (3082 | 0) & 1 | 0)) { + break label$26 + } + } + $118(HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0); + } + $407(HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0); + } + HEAP8[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 165 | 0) >> 0] = 0; + $295_1 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + global$0 = $6_1 + 160 | 0; + return $295_1 | 0; + } + + function $505($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) & -2 | 0; + return; + } + + function $506($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $92_1 = 0, $42_1 = 0, $53_1 = 0, $64_1 = 0, $77_1 = 0, $104_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $507(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $127(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $9(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $143(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$2; + } + label$4 : { + label$5 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (27 | 0) & 1 | 0)) { + break label$5 + } + $42_1 = $508(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $42_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (28 | 0) & 1 | 0)) { + break label$7 + } + $53_1 = $509(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $53_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$6; + } + label$8 : { + label$9 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (35 | 0) & 1 | 0)) { + break label$9 + } + $64_1 = $510(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $64_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$8; + } + label$10 : { + label$11 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (38 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + $77_1 = $511(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $77_1; + label$12 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$12 + } + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) <= (255 | 0) & 1 | 0)) { + break label$12 + } + $92_1 = 0; + $164(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $92_1 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $92_1 | 0) | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$10; + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 408 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $189(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 408 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + } + } + } + } + } + $104_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $104_1 | 0; + } + + function $507($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $26_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = $122(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $15_1 = 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = $15_1; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + $26_1 = 0; + break label$3; + } + $26_1 = HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + } + global$0 = $4_1 + 16 | 0; + return $26_1 | 0; + } + + function $508($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0; + } + + function $509($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = $512(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $15_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + } + global$0 = $3_1 + 16 | 0; + return $15_1 | 0; + } + + function $510($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0; + } + + function $511($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $127(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAPU8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $513(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) > (HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $20_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + break label$1; + } + $20_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + global$0 = $3_1 + 16 | 0; + return $20_1 | 0; + } + + function $512($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function $513($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $514($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($13_1 + 84 | 0) >> 2] = (HEAP32[($13_1 + 84 | 0) >> 2] | 0) + -4 | 0; + $623(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] = 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $515($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $113$hi = 0, $27_1 = 0, $110$hi = 0, $111$hi = 0, i64toi32_i32$2 = 0, $112$hi = 0, $114$hi = 0, $115$hi = 0, $99_1 = 0, $105_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) { + break label$1 + } + } + if ($630(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) | 0) { + break label$1 + } + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $27_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $27_1; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$3 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) > ($27_1 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $631((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 7; + break label$5; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + $19_1 = 0; + HEAP8[i64toi32_i32$1 >> 0] = $19_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $19_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $19_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $19_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + } + } + label$7 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$7 + } + $632(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $633(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + label$9 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$9 + } + $623(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 208 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $110$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $111$hi = i64toi32_i32$1; + i64toi32_i32$1 = $110$hi; + i64toi32_i32$1 = $111$hi; + i64toi32_i32$1 = $110$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $111$hi; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $112$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $113$hi = i64toi32_i32$5; + i64toi32_i32$5 = $112$hi; + i64toi32_i32$5 = $113$hi; + i64toi32_i32$5 = $112$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $113$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) + $113$hi | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + $114$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $115$hi = i64toi32_i32$4; + i64toi32_i32$4 = $114$hi; + i64toi32_i32$4 = $115$hi; + i64toi32_i32$4 = $114$hi; + i64toi32_i32$1 = $115$hi; + i64toi32_i32$1 = __wasm_i64_sdiv(i64toi32_i32$0 | 0, i64toi32_i32$4 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 152 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$8; + } + $623(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + } + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + label$10 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$10 + } + label$11 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$11 + } + $99_1 = 16; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU16[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 142 | 0) >> 1] | 0) << $99_1 | 0) >> $99_1 | 0; + } + HEAP16[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 142 | 0) >> 1] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $627(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + } + $105_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $105_1 | 0; + } + + function $516($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, $14_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $114(512 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + $14_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $14_1 | 0; + } + + function $517($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $25_1 = 0, $110_1 = 0, $115_1 = 0, $180_1 = 0, $242_1 = 0, $60_1 = 0, i64toi32_i32$0 = 0, $232_1 = 0, $254_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + -1 | 0; + label$3 : while (1) { + $25_1 = 0; + label$4 : { + if (!((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > 4e3 >>> 0 & 1 | 0)) { + break label$4 + } + $25_1 = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$5 : { + if (!($25_1 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0) | 0; + label$6 : { + if (!((HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + $60_1 = $516(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $60_1; + label$7 : { + if (!((HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + label$8 : { + if (!((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0 <= 4e3 >>> 0 & 1 | 0)) { + break label$8 + } + $110_1 = ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 3 | 0) | 0; + HEAP8[$110_1 >> 0] = (HEAPU8[$110_1 >> 0] | 0) & 255 | 0 | (1 << ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 7 | 0) | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $115_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $115_1 + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (($115_1 << 0 | 0) >>> 0) % (125 >>> 0) | 0; + label$9 : { + label$10 : { + label$11 : { + if (HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) { + break label$11 + } + label$12 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 < 124 >>> 0 & 1 | 0)) { + break label$12 + } + break label$9; + } + break label$10; + } + label$13 : while (1) { + label$14 : { + if (!((HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + label$15 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0 >= 125 >>> 0 & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + } + if (HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) { + continue label$13 + } + break label$13; + }; + } + label$16 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 >= 62 >>> 0 & 1 | 0)) { + break label$16 + } + $180_1 = 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $64($180_1 | 0, 500 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$17 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == ($180_1 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + $3288(HEAP32[$4_1 >> 2] | 0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0 | 0, 500 | 0) | 0; + $3289((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0 | 0, 0 | 0, 500 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = ((((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 125 | 0) - 1 | 0) >>> 0) / (125 >>> 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $517(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 < 125 >>> 0 & 1 | 0)) { + break label$18 + } + label$20 : { + if (!(HEAP32[((HEAP32[$4_1 >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0)) { + break label$20 + } + $232_1 = $517(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0 | $232_1 | 0; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + $13(0 | 0, HEAP32[$4_1 >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + break label$1; + } + } + $242_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($242_1 + 4 | 0) >> 2] = (HEAP32[($242_1 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $254_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $254_1 | 0; + } + + function $518($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $62_1 = 0, $67_1 = 0, $119_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + -1 | 0; + label$3 : { + label$4 : while (1) { + if (!(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$5 : { + if ((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + break label$1; + } + continue label$4; + }; + } + label$6 : { + if (!((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) >>> 0 <= 4e3 >>> 0 & 1 | 0)) { + break label$6 + } + $62_1 = ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 3 | 0) | 0; + HEAP8[$62_1 >> 0] = ((HEAPU8[$62_1 >> 0] | 0) & 255 | 0) & ((1 << ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) & 7 | 0) | 0) ^ -1 | 0) | 0; + break label$1; + } + $67_1 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $3288(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0 | 0, 500 | 0) | 0; + $3289((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0 | 0, 0 | 0, 500 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = $67_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $67_1; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 < 125 >>> 0 & 1 | 0)) { + break label$7 + } + label$9 : { + if (!(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0)) { + break label$9 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 4 | 0) >> 2] = ((((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) - 1 | 0) << 0 | 0) >>> 0) % (125 >>> 0) | 0; + $119_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($119_1 + 4 | 0) >> 2] = (HEAP32[($119_1 + 4 | 0) >> 2] | 0) + 1 | 0; + label$10 : { + label$11 : while (1) { + if (!(HEAP32[(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0)) { + break label$10 + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + label$12 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0) >>> 0 >= 125 >>> 0 & 1 | 0)) { + break label$12 + } + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + } + continue label$11; + }; + } + HEAP32[(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $519($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $13_1 = 0; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = ($662(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + global$0 = $4_1 + 16 | 0; + return $13_1 & 1 | 0 | 0; + } + + function $520($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0; + } + + function $521($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 < 125 >>> 0 & 1 | 0)) { + break label$4 + } + $521(HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $522($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, $9_1 = 0, $18_1 = 0, $26_1 = 0, $34_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : while (1) { + $9_1 = 24; + $12_1 = 1; + label$2 : { + if (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -1 | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0) { + break label$2 + } + $18_1 = 24; + $12_1 = 1; + if (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -2 | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0) { + break label$2 + } + $26_1 = 24; + $12_1 = 1; + if (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -3 | 0) >> 0] | 0) << $26_1 | 0) >> $26_1 | 0) { + break label$2 + } + $34_1 = 24; + $12_1 = (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -4 | 0) >> 0] | 0) << $34_1 | 0) >> $34_1 | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$1; + } + break label$1; + }; + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $523($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $25_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $522(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $524(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $25_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $25_1 | 0; + } + + function $524($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0, $27_1 = 0, $35_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + $8_1 = ($68(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + $8_1 | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3229(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $27_1 = ($68(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + $27_1 | 0; + label$4 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$1; + } + $35_1 = ($68(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + $35_1 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $39_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $39_1 | 0; + } + + function $525($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $523(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$2 + } + $29_1 = ($526(HEAP32[$5_1 >> 2] | 0 | 0, (HEAP32[($5_1 + 4 | 0) >> 2] | 0) & 255 | 0 | 0) | 0) & 255 | 0; + break label$1; + } + $29_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + global$0 = $5_1 + 16 | 0; + return $29_1 | 0; + } + + function $526($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $20_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 11 | 0) >> 0] = $1_1; + $20_1 = ((($527(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, (HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) | 0) & 255 | 0 | 0) != (0 | 0) & 1 | 0) & 255 | 0; + global$0 = $4_1 + 16 | 0; + return $20_1 | 0; + } + + function $527($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $65_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 19 | 0) >> 0] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1135(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 31 | 0) >> 0] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $68(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (8 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 35153 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + if ($89(35120 + ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 35145 | 0) >> 0] | 0) & 255 | 0) | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + label$6 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 35161 | 0) >> 0] | 0) & 255 | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$5 + } + } + HEAP8[($5_1 + 31 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 35161 | 0) >> 0] | 0; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP8[($5_1 + 31 | 0) >> 0] = HEAPU8[($5_1 + 19 | 0) >> 0] | 0; + } + $65_1 = (HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0; + global$0 = $5_1 + 32 | 0; + return $65_1 | 0; + } + + function $528($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $19_1 = 0, $30_1 = 0, $44_1 = 0, $118$hi = 0, $119$hi = 0, $22_1 = 0, $120$hi = 0, $71_1 = 0, $121$hi = 0, $89_1 = 0, $92_1 = 0, $302_1 = 0, $114_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + $8_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = 24; + label$3 : { + if ((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) == (120 | 0) & 1 | 0) { + break label$3 + } + $30_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) == (88 | 0) & 1 | 0)) { + break label$2 + } + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 4 | 0) >> 2] = 2; + label$4 : { + label$5 : while (1) { + $44_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $44_1 | 0) >> $44_1 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$6 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $118$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $119$hi = i64toi32_i32$1; + i64toi32_i32$1 = $118$hi; + i64toi32_i32$1 = $119$hi; + i64toi32_i32$1 = $118$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $22_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $22_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $120$hi = i64toi32_i32$0; + $71_1 = 24; + i64toi32_i32$0 = 0; + $121$hi = i64toi32_i32$0; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$0 = $121$hi; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$1 = $22_1; + i64toi32_i32$2 = $121$hi; + i64toi32_i32$3 = ($529(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) >> 0] | 0) << $71_1 | 0) >> $71_1 | 0 | 0) | 0) & 255 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$5; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + i64toi32_i32$0 = $4_1 + 8 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $302_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $302_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$1; + $89_1 = 24; + $92_1 = 0; + label$8 : { + if (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) >> 0] | 0) << $89_1 | 0) >> $89_1 | 0) { + break label$8 + } + $92_1 = ((HEAP32[$4_1 >> 2] | 0) - (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0 | 0) <= (16 | 0); + } + HEAP32[($4_1 + 28 | 0) >> 2] = $92_1 & 1 | 0 ? 0 : 2; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $530(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $68(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0, 1 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $114_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $114_1 | 0; + } + + function $529($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + Math_imul(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 6 | 0) & 1 | 0, 9) | 0; + return ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) & 15 | 0) & 255 | 0 | 0; + } + + function $530($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $175_1 = 0, i64toi32_i32$6 = 0, $316$hi = 0, $38_1 = 0, $44_1 = 0, $83_1 = 0, $113_1 = 0, $128_1 = 0, $148_1 = 0, $152_1 = 0, $182_1 = 0, $184_1 = 0, $309$hi = 0, $310$hi = 0, $311$hi = 0, $312$hi = 0, $313$hi = 0, $314$hi = 0, $318$hi = 0, $320$hi = 0, $321$hi = 0, $323$hi = 0, $324$hi = 0, $277_1 = 0, $327$hi = 0, $328$hi = 0, $302_1 = 0, $46_1 = 0, $311_1 = 0, $736_1 = 0, $773_1 = 0, $781_1 = 0, $792_1 = 0, $968_1 = 0, $305_1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $8_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + HEAP8[($6_1 + 47 | 0) >> 0] = $3_1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = 0; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 48 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[($6_1 + 47 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 40 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 40 | 0) >> 2] = 2; + HEAP32[($6_1 + 48 | 0) >> 2] = (HEAP32[($6_1 + 48 | 0) >> 2] | 0) & -2 | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = 3 - ((HEAPU8[($6_1 + 47 | 0) >> 0] | 0) & 255 | 0) | 0; + label$3 : while (1) { + $38_1 = 0; + label$4 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $44_1 = 24; + $38_1 = (((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) << $44_1 | 0) >> $44_1 | 0 | 0) == (0 | 0); + } + label$5 : { + if (!($38_1 & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 2 | 0; + continue label$3; + } + break label$3; + }; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) ^ 1 | 0) | 0; + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (((HEAPU8[($6_1 + 47 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) | 0; + } + label$6 : while (1) { + $83_1 = 0; + label$7 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + $83_1 = (((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 | 0) != (0 | 0); + } + label$8 : { + if (!($83_1 & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0; + continue label$6; + } + break label$6; + }; + label$9 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$9 + } + $113_1 = 24; + label$10 : { + label$11 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $113_1 | 0) >> $113_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0; + break label$10; + } + $128_1 = 24; + label$12 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $128_1 | 0) >> $128_1 | 0 | 0) == (43 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0; + } + } + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + label$13 : while (1) { + $148_1 = 0; + label$14 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$14 + } + $152_1 = 24; + $148_1 = (((HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $152_1 | 0) >> $152_1 | 0 | 0) == (48 | 0); + } + label$15 : { + if (!($148_1 & 1 | 0)) { + break label$15 + } + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0; + continue label$13; + } + break label$13; + }; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + label$16 : while (1) { + $175_1 = 0; + label$17 : { + if (!(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >>> 0 < (HEAP32[($6_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$17 + } + $182_1 = 24; + $184_1 = ((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) << $182_1 | 0) >> $182_1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = $184_1; + $175_1 = 0; + if (!(($184_1 | 0) >= (48 | 0) & 1 | 0)) { + break label$17 + } + $175_1 = (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) <= (57 | 0); + } + label$18 : { + if (!($175_1 & 1 | 0)) { + break label$18 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $309$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $310$hi = i64toi32_i32$1; + i64toi32_i32$1 = $309$hi; + i64toi32_i32$1 = $310$hi; + i64toi32_i32$1 = $309$hi; + $46_1 = i64toi32_i32$0; + i64toi32_i32$0 = $310$hi; + i64toi32_i32$0 = __wasm_i64_mul($46_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $311_1 = i64toi32_i32$0; + $311$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $312$hi = i64toi32_i32$1; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$1 = $312$hi; + $736_1 = i64toi32_i32$0; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$2 = $311_1; + i64toi32_i32$0 = $312$hi; + i64toi32_i32$3 = $736_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $313$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $314$hi = i64toi32_i32$5; + i64toi32_i32$5 = $313$hi; + i64toi32_i32$5 = $314$hi; + i64toi32_i32$5 = $313$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $314$hi; + i64toi32_i32$3 = 48; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0; + continue label$16; + } + break label$16; + }; + i64toi32_i32$4 = 2147483647; + $316$hi = i64toi32_i32$4; + i64toi32_i32$5 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $318$hi = i64toi32_i32$1; + i64toi32_i32$1 = $316$hi; + i64toi32_i32$1 = $318$hi; + i64toi32_i32$1 = $316$hi; + i64toi32_i32$1 = $318$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$4 = $316$hi; + i64toi32_i32$3 = -1; + label$19 : { + label$20 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$4 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$4 | 0) & i64toi32_i32$5 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$20 + } + i64toi32_i32$5 = -2147483648; + $320$hi = i64toi32_i32$5; + i64toi32_i32$5 = 2147483647; + $321$hi = i64toi32_i32$5; + i64toi32_i32$5 = $320$hi; + i64toi32_i32$5 = $321$hi; + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$5 = $320$hi; + i64toi32_i32$1 = $321$hi; + i64toi32_i32$4 = i64toi32_i32$2 ? 0 : -1; + i64toi32_i32$3 = i64toi32_i32$2 ? i64toi32_i32$5 : i64toi32_i32$1; + $773_1 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$4 >> 2] = $773_1; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$3; + break label$19; + } + label$21 : { + label$22 : { + if (!(HEAP32[($6_1 + 28 | 0) >> 2] | 0)) { + break label$22 + } + i64toi32_i32$3 = 0; + $323$hi = i64toi32_i32$3; + i64toi32_i32$2 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $324$hi = i64toi32_i32$4; + i64toi32_i32$4 = $323$hi; + i64toi32_i32$4 = $324$hi; + $781_1 = i64toi32_i32$3; + i64toi32_i32$4 = $323$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = $324$hi; + i64toi32_i32$5 = $781_1; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$21; + } + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $792_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $792_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$23 : { + label$24 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$24 + } + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($6_1 + 12 | 0) >> 2] = -1; + break label$23; + } + label$25 : { + label$26 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$26 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + break label$25; + } + label$27 : { + if (!(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >>> 0 < (HEAP32[($6_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$27 + } + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + label$28 : { + label$29 : while (1) { + label$30 : { + if (((HEAPU8[(((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[$6_1 >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$30 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + break label$28; + } + HEAP32[$6_1 >> 2] = (HEAP32[$6_1 >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0; + if (((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[$6_1 >> 2] | 0) | 0) >>> 0 < (HEAP32[($6_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + continue label$29 + } + break label$29; + }; + } + } + } + } + label$31 : { + label$32 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 19) | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + break label$31; + } + label$33 : { + label$34 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) > (Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 19) | 0) & 1 | 0)) { + break label$34 + } + $277_1 = 1; + break label$33; + } + $277_1 = $882(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($6_1 + 20 | 0) >> 2] = $277_1; + label$35 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$35 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + break label$31; + } + i64toi32_i32$2 = -2147483648; + $327$hi = i64toi32_i32$2; + i64toi32_i32$2 = 2147483647; + $328$hi = i64toi32_i32$2; + i64toi32_i32$2 = $327$hi; + i64toi32_i32$2 = $328$hi; + i64toi32_i32$3 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $327$hi; + i64toi32_i32$0 = $328$hi; + i64toi32_i32$5 = i64toi32_i32$3 ? 0 : -1; + i64toi32_i32$4 = i64toi32_i32$3 ? i64toi32_i32$2 : i64toi32_i32$0; + $968_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $968_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$4; + label$36 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 2; + break label$31; + } + label$37 : { + label$38 : { + if (!(HEAP32[($6_1 + 28 | 0) >> 2] | 0)) { + break label$38 + } + $302_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + break label$37; + } + $302_1 = 3; + } + HEAP32[($6_1 + 60 | 0) >> 2] = $302_1; + } + $305_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $305_1 | 0; + } + + function $531($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $8_1 = $532(HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, 1 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $532($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + if (!((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + $13_1 = 4614 + 4 | 0; + break label$1; + } + $13_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0; + } + return $13_1 | 0; + } + + function $533($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (((HEAPU16[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function $534($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $535($3_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if ($89(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 3636 | 0, 7 | 0) | 0) { + break label$1 + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 7 | 0; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $68(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$2 : { + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if ($89(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + if ($536((HEAPU8[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) | 0) { + break label$5 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 1; + break label$2; + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $51_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $51_1 | 0; + } + + function $535($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = 13; + return 61216 | 0; + } + + function $536($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP8[($3_1 + 15 | 0) >> 0] = $0_1; + return (((HEAPU8[(((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 70 | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function $537($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $535($3_1 + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[$3_1 >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $29_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $29_1 | 0; + } + + function $538() { + return 3644 | 0; + } + + function $539($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $7_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $7_1 = $59(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $9_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 480 | 0) >> 2] | 0; + HEAP32[$9_1 >> 2] = (HEAP32[$9_1 >> 2] | 0) + $7_1 | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $540($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + if ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + label$2 : { + label$3 : { + if (!($542(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $3288(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $543(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + $13(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + break label$2; + } + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $45(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + $118(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + } + } + } + $40_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $40_1 | 0; + } + + function $541($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $14_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $39(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + $118(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + $14_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $14_1 | 0; + } + + function $542($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $14_1 = 0; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 320 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + $14_1 = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 324 | 0) >> 2] | 0) >>> 0; + } + return $14_1 & 1 | 0 | 0; + } + + function $543($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 316 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $17_1 = (HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 278 | 0) >> 1] | 0) & 65535 | 0; + break label$1; + } + $17_1 = 128; + } + return $17_1 | 0; + } + + function $544($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return 3732 | 0; + } + + function $545($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $546(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + $547(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0; + $548(); + label$1 : { + if (!(HEAP32[((HEAP32[$3_1 >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$1 + } + $549(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + } + $550(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $551(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $552(); + $16_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $16_1 | 0; + } + + function $546($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 160 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 156 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 156 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69088 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 156 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, $3_1 + 64 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($3_1 + 60 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 156 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $82(28 | 0, 3808 | 0, $3_1 | 0); + break label$1; + } + label$4 : { + if (HEAP32[($3_1 + 80 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 156 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $82(28 | 0, 3832 | 0, $3_1 + 16 | 0 | 0); + break label$1; + } + label$5 : { + if (!((HEAP32[($3_1 + 80 | 0) >> 2] | 0) >>> 0 > 1 >>> 0 & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 156 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $82(28 | 0, 3861 | 0, $3_1 + 32 | 0 | 0); + break label$1; + } + if (!($570(HEAP32[($3_1 + 156 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + HEAP32[($3_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 156 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $82(28 | 0, 3888 | 0, $3_1 + 48 | 0 | 0); + } + global$0 = $3_1 + 160 | 0; + return; + } + + function $547($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $565(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $548() { + return; + } + + function $549($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = -1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + return; + } + + function $550($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($13_1 + 36 | 0) >> 2] = (HEAP32[($13_1 + 36 | 0) >> 2] | 0) + -1 | 0; + label$2 : { + if (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $586(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + break label$3; + } + HEAP32[(0 + 114504 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + } + label$5 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + } + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $551($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, $38_1 = 0, $22_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + $102(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 35730 | 0); + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = -1; + } + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $22_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $38_1 = 0; + i64toi32_i32$1 = $22_1; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $552() { + return; + } + + function $553($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $28_1 = 0, i64toi32_i32$1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $554(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) == (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + $28_1 = HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (($28_1 | 0) == (29 | 0)) { + break label$5 + } + if (($28_1 | 0) == (60 | 0)) { + break label$5 + } + if (($28_1 | 0) != (68 | 0)) { + break label$4 + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 8458; + break label$1; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 266; + break label$1; + } + $555(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0); + $3289((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[$6_1 >> 2] | 0) | 0 | 0, 0 | 0, (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[$6_1 >> 2] | 0) | 0 | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 522; + } + $47_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $47_1 | 0; + } + + function $554($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $83$hi = 0, i64toi32_i32$5 = 0, $87$hi = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $89$hi = 0, i64toi32_i32$4 = 0, $118_1 = 0, $89_1 = 0, $235$hi = 0, $80_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + i64toi32_i32$0 = 0; + $83$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = $3249(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $118_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $118_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $87$hi = i64toi32_i32$1; + i64toi32_i32$1 = $83$hi; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$1 = $83$hi; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $83$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $19_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $20_1 = 0 + } else { + $20_1 = 1 + } + $21_1 = $20_1; + } else { + $21_1 = 0 + } + $19_1 = $21_1; + } + label$3 : { + if (!($19_1 & 1 | 0)) { + break label$3 + } + $555(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = -1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69124 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[($3169() | 0) >> 2] | 0 | 0) == (27 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 1; + break label$6; + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + $555(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + break label$4; + } + label$9 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) - (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $89_1 = i64toi32_i32$1; + $89$hi = i64toi32_i32$2; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $235$hi = i64toi32_i32$1; + i64toi32_i32$1 = $89$hi; + i64toi32_i32$1 = $235$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $89$hi; + i64toi32_i32$0 = $89_1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0; + } + } + if ((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + continue label$2 + } + } + break label$2; + }; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0; + } + $80_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $80_1 | 0; + } + + function $555($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + return; + } + + function $556($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $13_1 = 0, $20_1 = 0, $68$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $68_1 = 0, $148$hi = 0, $64_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = 0; + label$1 : while (1) { + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $13_1 = $557(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$6_1 >> 2] = $13_1; + $20_1 = 0; + label$2 : { + if (!(($13_1 | 0) < (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $20_1 = (HEAP32[$6_1 >> 2] | 0 | 0) > (0 | 0); + } + label$3 : { + if (!($20_1 & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[$6_1 >> 2] | 0) | 0; + i64toi32_i32$0 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $68_1 = i64toi32_i32$0; + $68$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $148$hi = i64toi32_i32$0; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$0 = $148$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$3 = $68_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[$6_1 >> 2] | 0) | 0; + continue label$1; + } + break label$1; + }; + label$4 : { + label$5 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[$6_1 >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (51 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 778; + break label$4; + } + $555(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = 13; + break label$4; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $64_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $64_1 | 0; + } + + function $557($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $14_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $14_1 = $578(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0 | 0) | 0; + global$0 = $6_1 + 32 | 0; + return $14_1 | 0; + } + + function $558($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $40$hi = 0, $41$hi = 0, $42$hi = 0, $43$hi = 0, $44$hi = 0, $45$hi = 0, $46$hi = 0, $47$hi = 0, $40_1 = 0, $87_1 = 0, $100_1 = 0, $46_1 = 0, $110_1 = 0, $113_1 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $40_1 = i64toi32_i32$0; + $40$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $41$hi = i64toi32_i32$1; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $41$hi; + $87_1 = i64toi32_i32$0; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$3 = $87_1; + i64toi32_i32$4 = $40_1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $42$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $43$hi = i64toi32_i32$5; + i64toi32_i32$5 = $42$hi; + i64toi32_i32$5 = $43$hi; + i64toi32_i32$5 = $42$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) + $43$hi | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + $44$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $45$hi = i64toi32_i32$4; + i64toi32_i32$4 = $44$hi; + i64toi32_i32$4 = $45$hi; + $100_1 = i64toi32_i32$1; + i64toi32_i32$4 = $44$hi; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$1 = __wasm_i64_sdiv(i64toi32_i32$0 | 0, i64toi32_i32$4 | 0, $100_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $46_1 = i64toi32_i32$1; + $46$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $47$hi = i64toi32_i32$4; + i64toi32_i32$4 = $46$hi; + i64toi32_i32$4 = $47$hi; + $110_1 = i64toi32_i32$1; + i64toi32_i32$4 = $46$hi; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = __wasm_i64_mul($46_1 | 0, i64toi32_i32$4 | 0, $110_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $113_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $113_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$4; + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $559(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$3 + } + $555(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $97(1546 | 0, 3952 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, 37437 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $37_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $37_1 | 0; + } + + function $559($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $17_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : while (1) { + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69100 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 28 | 0) >> 2] | 0, i64toi32_i32$0, i64toi32_i32$1) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $17_1 = 0; + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = (HEAP32[($3169() | 0) >> 2] | 0 | 0) == (27 | 0); + } + if ($17_1 & 1 | 0) { + continue label$1 + } + break label$1; + }; + $27_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $27_1 | 0; + } + + function $560($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $47_1 = 0, $52_1 = 0, $59_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 16 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 15 | 0 | 0) == (3 | 0) & 1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $101(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$2 + } + $555(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $97(1034 | 0, 4252 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, 37392 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69232 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, $4_1) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$5 + } + $47_1 = 0; + $101(HEAP32[$4_1 >> 2] | 0 | 0, $47_1 | 0, $47_1 | 0) | 0; + $102(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, 37406 | 0); + break label$4; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + } + $52_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP16[($52_1 + 18 | 0) >> 1] = ((HEAPU16[($52_1 + 18 | 0) >> 1] | 0) & 65535 | 0) & -9 | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $59_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $59_1 | 0; + } + + function $561($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $28$hi = 0, $31$hi = 0, $77_1 = 0, $25_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69088 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, $4_1 + 8 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 96 | 0) >> 2] | 0)) { + break label$2 + } + $555(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 108 | 0) >> 2] = 1802; + break label$1; + } + i64toi32_i32$0 = 0; + $28$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $77_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $77_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $31$hi = i64toi32_i32$0; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + label$3 : { + if (!(((i64toi32_i32$2 | 0) == (1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + } + HEAP32[($4_1 + 108 | 0) >> 2] = 0; + } + $25_1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $25_1 | 0; + } + + function $562($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5_1 = 0, $80_1 = 0, $84_1 = 0, $117_1 = 0, $192_1 = 0, $262_1 = 0, $514_1 = 0, $271$hi = 0, $577_1 = 0, $273$hi = 0, $609_1 = 0, $275$hi = 0, $721_1 = 0, $277$hi = 0, $733_1 = 0, $266_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) >= (HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 255 | 0 | 0) >= (3 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($4_1 + 48 | 0) >> 2] = 5; + break label$3; + } + label$6 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0) { + break label$7 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = 1; + $80_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($80_1 + 20 | 0) >> 2] = (HEAP32[($80_1 + 20 | 0) >> 2] | 0) + 1 | 0; + $84_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($84_1 + 24 | 0) >> 2] = (HEAP32[($84_1 + 24 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($4_1 + 10 | 0) >> 1] = 0; + label$8 : { + label$9 : { + if ((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$9 + } + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$8 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$8 + } + } + $117_1 = 1; + HEAP16[($4_1 + 8 | 0) >> 1] = (HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == ($117_1 | 0) & 1 | 0 ? 0 : $117_1; + i64toi32_i32$1 = HEAP32[(0 + 69008 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $514_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $514_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$10 : { + if (!($563(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0)) { + break label$10 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = HEAP32[($3169() | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $564(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 3850 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$11 + } + $555(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + break label$3; + } + } + label$12 : { + label$13 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$13 + } + i64toi32_i32$0 = 0; + $271$hi = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[(0 + 69008 | 0) >> 2] | 0) + 2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $577_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $577_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $271$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 510; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$14 : { + if (!($563(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0)) { + break label$14 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = HEAP32[($3169() | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $564(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 3850 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$0 = 0; + $273$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(0 + 69008 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $609_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $609_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $273$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($4_1 + 8 | 0) >> 1] = 2; + label$15 : { + if (!($563(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0)) { + break label$15 + } + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$15 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = HEAP32[($3169() | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 48 | 0) >> 2] = 2058; + } + label$16 : { + if (!(HEAP32[($4_1 + 48 | 0) >> 2] | 0)) { + break label$16 + } + label$17 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$17 + } + $555(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + break label$3; + } + HEAP8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = 1; + $192_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($192_1 + 24 | 0) >> 2] = (HEAP32[($192_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + break label$12; + } + label$18 : { + label$19 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$19 + } + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($4_1 + 48 | 0) >> 2] = 5; + break label$18; + } + HEAP16[($4_1 + 8 | 0) >> 1] = 1; + label$20 : { + label$21 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$21 + } + i64toi32_i32$0 = 0; + $275$hi = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[(0 + 69008 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $721_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $721_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $275$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$20; + } + i64toi32_i32$0 = 0; + $277$hi = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[(0 + 69008 | 0) >> 2] | 0) + 2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $733_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $733_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $277$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 510; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + label$22 : { + if (!($563(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0)) { + break label$22 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = HEAP32[($3169() | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $564(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 3850 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$23 + } + $555(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + } + } + } + label$24 : { + label$25 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$25 + } + HEAP8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 0] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + break label$24; + } + label$26 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$26 + } + $262_1 = 3; + HEAP8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = $262_1; + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 0] = $262_1; + } + } + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + } + $266_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $266_1 | 0; + } + + function $563($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $48_1 = 0, $66$hi = 0, $122_1 = 0, $31_1 = 0, $33_1 = 0, $54_1 = 0, $56_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) & 3 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if ((HEAPU8[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 29 | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + i64toi32_i32$0 = 0; + $66$hi = i64toi32_i32$0; + HEAP16[($4_1 + 26 | 0) >> 1] = 0; + i64toi32_i32$1 = (HEAP32[(0 + 69008 | 0) >> 2] | 0) + 2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $122_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $122_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = 510; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($4_1 + 24 | 0) >> 1] = 1; + $31_1 = HEAP32[(0 + 69112 | 0) >> 2] | 0; + $33_1 = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $4_1 + 24 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[$31_1 | 0]($33_1, 13, $4_1) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + break label$1; + } + HEAP8[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 29 | 0) >> 0] = 1; + $48_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($48_1 + 24 | 0) >> 2] = (HEAP32[($48_1 + 24 | 0) >> 2] | 0) + 1 | 0; + break label$4; + } + HEAP32[($4_1 + 64 | 0) >> 2] = 0; + } + break label$2; + } + $54_1 = HEAP32[(0 + 69112 | 0) >> 2] | 0; + $56_1 = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[$54_1 | 0]($56_1, 13, $4_1 + 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + } + $63_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $63_1 | 0; + } + + function $564($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (($5_1 | 0) == (2 | 0)) { + break label$4 + } + if (($5_1 | 0) == (6 | 0)) { + break label$4 + } + if (($5_1 | 0) == (10 | 0)) { + break label$4 + } + if (($5_1 | 0) == (27 | 0)) { + break label$4 + } + if (($5_1 | 0) == (46 | 0)) { + break label$4 + } + if (($5_1 | 0) == (63 | 0)) { + break label$3 + } + if (($5_1 | 0) != (73 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 5; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 3; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $565($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $41_1 = 0, $70_1 = 0, $110_1 = 0, $85_1 = 0, $92_1 = 0, $106$hi = 0, $201_1 = 0, $108$hi = 0, $234_1 = 0, $103_1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) <= (HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = 0; + $106$hi = i64toi32_i32$0; + $41_1 = 0; + HEAP16[($5_1 + 8 | 0) >> 1] = $41_1; + HEAP16[($5_1 + 10 | 0) >> 1] = $41_1; + i64toi32_i32$1 = (HEAP32[(0 + 69008 | 0) >> 2] | 0) + 2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $201_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $201_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $106$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 510; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$6 : { + if (!($563(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0)) { + break label$6 + } + HEAP32[($5_1 + 4 | 0) >> 2] = 2314; + $555(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + break label$3; + } + } + i64toi32_i32$0 = 0; + $108$hi = i64toi32_i32$0; + HEAP16[($5_1 + 8 | 0) >> 1] = 2; + HEAP16[($5_1 + 10 | 0) >> 1] = 0; + i64toi32_i32$1 = HEAP32[(0 + 69008 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $234_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $234_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $108$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 2; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$7 : { + label$8 : { + if ($563(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0) { + break label$8 + } + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 0] = 1; + break label$7; + } + HEAP32[($5_1 + 4 | 0) >> 2] = 2058; + $555(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + break label$3; + } + } + label$9 : { + if (HEAP32[($5_1 + 52 | 0) >> 2] | 0) { + break label$9 + } + $70_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($70_1 + 20 | 0) >> 2] = (HEAP32[($70_1 + 20 | 0) >> 2] | 0) + -1 | 0; + label$10 : { + if (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) { + break label$10 + } + i64toi32_i32$0 = 0; + $110_1 = 0; + HEAP16[($5_1 + 8 | 0) >> 1] = 2; + HEAP16[($5_1 + 10 | 0) >> 1] = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $110_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $110_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$11 : { + label$12 : { + if ($563(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0) { + break label$12 + } + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 0] = 0; + break label$11; + } + $85_1 = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = 2058; + $555(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 0] = $85_1; + HEAP8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = $85_1; + } + } + $92_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($92_1 + 24 | 0) >> 2] = (HEAP32[($92_1 + 24 | 0) >> 2] | 0) + -1 | 0; + label$13 : { + if (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) { + break label$13 + } + $586(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + } + } + } + label$14 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$14 + } + HEAP8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + $103_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $103_1 | 0; + } + + function $566($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6_1 = 0, $52_1 = 0, $66$hi = 0, $139_1 = 0, $39_1 = 0, $41_1 = 0, $63_1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $6_1 = 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 255 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 48 | 0) >> 2] = 1; + } + label$2 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$2 + } + if (((HEAPU8[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 29 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + $66$hi = i64toi32_i32$0; + HEAP16[($4_1 + 10 | 0) >> 1] = 0; + i64toi32_i32$1 = (HEAP32[(0 + 69008 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $139_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $139_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($4_1 + 8 | 0) >> 1] = 1; + $39_1 = HEAP32[(0 + 69112 | 0) >> 2] | 0; + $41_1 = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $4_1 + 8 | 0; + label$3 : { + label$4 : { + if (!(FUNCTION_TABLE[$39_1 | 0]($41_1, 12, $4_1) | 0)) { + break label$4 + } + HEAP32[($4_1 + 52 | 0) >> 2] = 3594; + $555(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + break label$3; + } + $52_1 = 16; + label$5 : { + if (!((((HEAPU16[($4_1 + 8 | 0) >> 1] | 0) << $52_1 | 0) >> $52_1 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 48 | 0) >> 2] = 1; + } + } + } + HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + $63_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $63_1 | 0; + } + + function $567($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $9_1 = 0, i64toi32_i32$2 = 0, $45_1 = 0, $69_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $9_1 = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($9_1 | 0) { + case 0: + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + case 3: + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + case 5: + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + case 4: + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $568(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + break label$1; + case 9: + $569(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 4 & 255 | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + case 12: + $569(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 16 & 255 | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + case 11: + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $45_1 = $79(1976 | 0, $5_1 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = $45_1; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + case 15: + i64toi32_i32$0 = HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $93(HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + case 19: + $69_1 = $570(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = $69_1; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + default: + break label$2; + }; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 12; + } + $72_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $72_1 | 0; + } + + function $568($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$6 = 0, $76$hi = 0, $77$hi = 0, $89$hi = 0, $94$hi = 0, $97$hi = 0, $98$hi = 0, $67$hi = 0, $68$hi = 0, $69$hi = 0, $70$hi = 0, $71$hi = 0, $72$hi = 0, $73$hi = 0, $74$hi = 0, $63_1 = 0, $65_1 = 0, $66_1 = 0, $80$hi = 0, $81$hi = 0, $82$hi = 0, $83$hi = 0, $84$hi = 0, $85$hi = 0, $86$hi = 0, $87$hi = 0, $90$hi = 0, $91$hi = 0, $92$hi = 0, $93$hi = 0, $68_1 = 0, $69_1 = 0, $70_1 = 0, $71_1 = 0, $72_1 = 0, $74_1 = 0, $101$hi = 0, $102$hi = 0, $50_1 = 0, $105$hi = 0, $67_1 = 0, $159_1 = 0, $172_1 = 0, $73_1 = 0, $182_1 = 0, $185_1 = 0, $76_1 = 0, $193_1 = 0, $80_1 = 0, $214_1 = 0, $82_1 = 0, $222_1 = 0, $84_1 = 0, $230_1 = 0, $89_1 = 0, $90_1 = 0, $247_1 = 0, $97_1 = 0, $269_1 = 0, $105_1 = 0, $315$hi = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 120 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 112 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 116 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[(i64toi32_i32$1 + 120 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(FUNCTION_TABLE[HEAP32[(0 + 69088 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, $4_1 + 16 | 0) | 0)) { + break label$3 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 1802; + break label$1; + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + $67_1 = i64toi32_i32$0; + $67$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $68$hi = i64toi32_i32$1; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$1 = $68$hi; + $159_1 = i64toi32_i32$0; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$2 = $67_1; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$3 = $159_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $69$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $70$hi = i64toi32_i32$5; + i64toi32_i32$5 = $69$hi; + i64toi32_i32$5 = $70$hi; + i64toi32_i32$5 = $69$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $70$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + $71$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $72$hi = i64toi32_i32$4; + i64toi32_i32$4 = $71$hi; + i64toi32_i32$4 = $72$hi; + $172_1 = i64toi32_i32$1; + i64toi32_i32$4 = $71$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = __wasm_i64_sdiv(i64toi32_i32$0 | 0, i64toi32_i32$4 | 0, $172_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $73_1 = i64toi32_i32$1; + $73$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $74$hi = i64toi32_i32$4; + i64toi32_i32$4 = $73$hi; + i64toi32_i32$4 = $74$hi; + $182_1 = i64toi32_i32$1; + i64toi32_i32$4 = $73$hi; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$1 = __wasm_i64_mul($73_1 | 0, i64toi32_i32$4 | 0, $182_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $185_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 104 | 0) >> 2] = $185_1; + HEAP32[(i64toi32_i32$1 + 108 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 108 | 0) >> 2] | 0; + $76_1 = i64toi32_i32$4; + $76$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 56 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 60 | 0) >> 2] | 0; + $77$hi = i64toi32_i32$4; + i64toi32_i32$4 = $76$hi; + i64toi32_i32$4 = $77$hi; + i64toi32_i32$4 = $76$hi; + i64toi32_i32$4 = $77$hi; + $193_1 = i64toi32_i32$1; + i64toi32_i32$4 = $76$hi; + i64toi32_i32$5 = $76_1; + i64toi32_i32$1 = $77$hi; + i64toi32_i32$3 = $193_1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$1 | 0)) { + $63_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$5 >>> 0 <= i64toi32_i32$3 >>> 0) { + $65_1 = 0 + } else { + $65_1 = 1 + } + $66_1 = $65_1; + } else { + $66_1 = 0 + } + $63_1 = $66_1; + } + label$4 : { + if (!($63_1 & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + i64toi32_i32$3 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $80_1 = i64toi32_i32$5; + $80$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $81$hi = i64toi32_i32$4; + i64toi32_i32$4 = $80$hi; + i64toi32_i32$4 = $81$hi; + $214_1 = i64toi32_i32$5; + i64toi32_i32$4 = $80$hi; + i64toi32_i32$5 = $81$hi; + i64toi32_i32$5 = __wasm_i64_sdiv($80_1 | 0, i64toi32_i32$4 | 0, $214_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $82_1 = i64toi32_i32$5; + $82$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $83$hi = i64toi32_i32$4; + i64toi32_i32$4 = $82$hi; + i64toi32_i32$4 = $83$hi; + $222_1 = i64toi32_i32$5; + i64toi32_i32$4 = $82$hi; + i64toi32_i32$5 = $83$hi; + i64toi32_i32$5 = __wasm_i64_mul($82_1 | 0, i64toi32_i32$4 | 0, $222_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $84_1 = i64toi32_i32$5; + $84$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $85$hi = i64toi32_i32$4; + i64toi32_i32$4 = $84$hi; + i64toi32_i32$4 = $85$hi; + $230_1 = i64toi32_i32$5; + i64toi32_i32$4 = $84$hi; + i64toi32_i32$3 = $84_1; + i64toi32_i32$5 = $85$hi; + i64toi32_i32$1 = $230_1; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $86$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $87$hi = i64toi32_i32$0; + i64toi32_i32$0 = $86$hi; + i64toi32_i32$0 = $87$hi; + i64toi32_i32$0 = $86$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$3 = $87$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$5 = i64toi32_i32$4 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$2 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 - i64toi32_i32$2 | 0; + i64toi32_i32$4 = $4_1; + HEAP32[i64toi32_i32$4 >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$2; + label$5 : { + label$6 : while (1) { + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $89_1 = i64toi32_i32$2; + $89$hi = i64toi32_i32$4; + i64toi32_i32$0 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + $90_1 = i64toi32_i32$4; + $90$hi = i64toi32_i32$2; + i64toi32_i32$4 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $91$hi = i64toi32_i32$2; + i64toi32_i32$2 = $90$hi; + i64toi32_i32$2 = $91$hi; + $247_1 = i64toi32_i32$4; + i64toi32_i32$2 = $90$hi; + i64toi32_i32$0 = $90_1; + i64toi32_i32$4 = $91$hi; + i64toi32_i32$1 = $247_1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $92$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $93$hi = i64toi32_i32$5; + i64toi32_i32$5 = $92$hi; + i64toi32_i32$5 = $93$hi; + i64toi32_i32$5 = $92$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$0 = $93$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + $94$hi = i64toi32_i32$3; + i64toi32_i32$3 = $89$hi; + i64toi32_i32$3 = $94$hi; + i64toi32_i32$3 = $89$hi; + i64toi32_i32$3 = $94$hi; + i64toi32_i32$3 = $89$hi; + i64toi32_i32$5 = $89_1; + i64toi32_i32$2 = $94$hi; + i64toi32_i32$1 = i64toi32_i32$4; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$2 | 0)) { + $68_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$1 >>> 0) { + $69_1 = 0 + } else { + $69_1 = 1 + } + $70_1 = $69_1; + } else { + $70_1 = 0 + } + $68_1 = $70_1; + } + if (!($68_1 & 1 | 0)) { + break label$5 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $97_1 = i64toi32_i32$5; + $97$hi = i64toi32_i32$3; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + $98$hi = i64toi32_i32$5; + i64toi32_i32$5 = $97$hi; + i64toi32_i32$5 = $98$hi; + i64toi32_i32$5 = $97$hi; + i64toi32_i32$5 = $98$hi; + $269_1 = i64toi32_i32$3; + i64toi32_i32$5 = $97$hi; + i64toi32_i32$1 = $97_1; + i64toi32_i32$3 = $98$hi; + i64toi32_i32$2 = $269_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$3 | 0)) { + $71_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + $72_1 = 0 + } else { + $72_1 = 1 + } + $74_1 = $72_1; + } else { + $74_1 = 0 + } + $71_1 = $74_1; + } + label$7 : { + if (!($71_1 & 1 | 0)) { + break label$7 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + $101$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $102$hi = i64toi32_i32$5; + i64toi32_i32$5 = $101$hi; + i64toi32_i32$5 = $102$hi; + i64toi32_i32$5 = $101$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $102$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$2 = $4_1; + HEAP32[$4_1 >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$4; + } + $50_1 = 1; + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = i64toi32_i32$5, wasm2js_i32$1 = $557(HEAP32[(i64toi32_i32$5 + 120 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$2 | 0, 1352 | 0, $50_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0 | 0) != ($50_1 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 778; + break label$1; + } + i64toi32_i32$4 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $105_1 = i64toi32_i32$4; + $105$hi = i64toi32_i32$2; + i64toi32_i32$5 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $315$hi = i64toi32_i32$4; + i64toi32_i32$4 = $105$hi; + i64toi32_i32$4 = $315$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $105$hi; + i64toi32_i32$3 = $105_1; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$5 = $4_1; + HEAP32[i64toi32_i32$5 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$0; + continue label$6; + }; + } + } + } + HEAP32[($4_1 + 124 | 0) >> 2] = 0; + } + $64_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + global$0 = $4_1 + 128 | 0; + return $64_1 | 0; + } + + function $569($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $36_1 = 0, $44_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($5_1 + 11 | 0) >> 0] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = (((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) & ((HEAPU8[($5_1 + 11 | 0) >> 0] | 0) & 255 | 0) | 0 | 0) != (0 | 0) & 1 | 0; + break label$1; + } + label$3 : { + label$4 : { + if (HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0) { + break label$4 + } + $36_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($36_1 + 18 | 0) >> 1] = ((HEAPU16[($36_1 + 18 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[($5_1 + 11 | 0) >> 0] | 0) & 255 | 0) ^ -1 | 0) | 0; + break label$3; + } + $44_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($44_1 + 18 | 0) >> 1] = (HEAPU16[($44_1 + 18 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU8[($5_1 + 11 | 0) >> 0] | 0) & 255 | 0) | 0; + } + } + return; + } + + function $570($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $31$hi = 0, $32$hi = 0, $13_1 = 0, $21_1 = 0, $31_1 = 0, $81_1 = 0; + $3_1 = global$0 - 96 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 92 | 0) >> 2] = $0_1; + $13_1 = 0; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $21_1 = 1; + label$2 : { + if (FUNCTION_TABLE[HEAP32[(0 + 69076 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 92 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, $3_1) | 0) { + break label$2 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 84 | 0) >> 2] | 0; + $31_1 = i64toi32_i32$0; + $31$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[((HEAP32[($3_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$0; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $32$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $32$hi; + $81_1 = i64toi32_i32$1; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$2 = $31_1; + i64toi32_i32$1 = $32$hi; + $21_1 = (i64toi32_i32$2 | 0) != ($81_1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0; + } + $13_1 = $21_1; + } + global$0 = $3_1 + 96 | 0; + return $13_1 & 1 | 0 | 0; + } + + function $571($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $572(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $7_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $572($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$2 + } + $12_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($12_1 + 48 | 0) >> 2] = HEAP32[($12_1 + 48 | 0) >> 2] | 0 | 4096 | 0; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = 4096; + } + return; + } + + function $573($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $572(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $7_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $574($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $276$hi = 0, $277$hi = 0, $8_1 = 0, i64toi32_i32$3 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $280$hi = 0, $281$hi = 0, $97_1 = 0, $168_1 = 0, $284$hi = 0, $285$hi = 0, $241_1 = 0, $276_1 = 0, $482_1 = 0, $30_1 = 0, $171_1 = 0, $172_1 = 0, $177_1 = 0, $179_1 = 0, $31_1 = 0, $273_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 176 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 168 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 164 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 160 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 156 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 152 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 148 | 0) >> 2] = HEAP32[($7_1 + 168 | 0) >> 2] | 0; + HEAP32[($7_1 + 136 | 0) >> 2] = $8_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $575() | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $576(HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($7_1 + 136 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($7_1 + 172 | 0) >> 2] = HEAP32[($7_1 + 136 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($7_1 + 144 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 140 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 144 | 0) >> 2] | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $577(HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($7_1 + 136 | 0) >> 2] | 0)) { + break label$6 + } + break label$4; + } + HEAP8[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 23 | 0) >> 0] = 0; + } + HEAP32[($7_1 + 128 | 0) >> 2] = Math_imul(((HEAP32[($7_1 + 164 | 0) >> 2] | 0) + (HEAP32[($7_1 + 132 | 0) >> 2] | 0) | 0 | 0) / (HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0) | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0); + label$7 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) < (HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($7_1 + 120 | 0) >> 2] = Math_imul(HEAP32[($7_1 + 128 | 0) >> 2] | 0, HEAP32[($7_1 + 160 | 0) >> 2] | 0); + HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + label$8 : { + if (!((HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!(FUNCTION_TABLE[HEAP32[(0 + 69088 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, $7_1 + 32 | 0) | 0)) { + break label$9 + } + HEAP32[($7_1 + 136 | 0) >> 2] = 4874; + break label$4; + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $276_1 = i64toi32_i32$0; + $276$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($7_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $277$hi = i64toi32_i32$1; + i64toi32_i32$1 = $276$hi; + i64toi32_i32$1 = $277$hi; + i64toi32_i32$1 = $276$hi; + i64toi32_i32$1 = $277$hi; + $482_1 = i64toi32_i32$0; + i64toi32_i32$1 = $276$hi; + i64toi32_i32$2 = $276_1; + i64toi32_i32$0 = $277$hi; + i64toi32_i32$3 = $482_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $27_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $28_1 = 0 + } else { + $28_1 = 1 + } + $29_1 = $28_1; + } else { + $29_1 = 0 + } + $27_1 = $29_1; + } + label$10 : { + if (!($27_1 & 1 | 0)) { + break label$10 + } + label$11 : { + if (HEAP32[($7_1 + 156 | 0) >> 2] | 0) { + break label$11 + } + break label$4; + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $280$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $281$hi = i64toi32_i32$1; + i64toi32_i32$1 = $280$hi; + i64toi32_i32$1 = $281$hi; + i64toi32_i32$1 = $280$hi; + $30_1 = i64toi32_i32$2; + i64toi32_i32$2 = $281$hi; + i64toi32_i32$2 = __wasm_i64_sdiv($30_1 | 0, i64toi32_i32$1 | 0, 4096 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$2; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) < ((HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0) / (4096 | 0) | 0 | 0) & 1 | 0)) { + break label$12 + } + $97_1 = 1; + HEAP32[($7_1 + 24 | 0) >> 2] = 0; + i64toi32_i32$2 = (((HEAP32[($7_1 + 28 | 0) >> 2] | 0) << 12 | 0) + 4096 | 0) - 1 | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + label$14 : { + if (!(($578(HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0, 1352 | 0, $97_1 | 0, $7_1 + 24 | 0 | 0) | 0 | 0) != ($97_1 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $97(4874 | 0, 3987 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, 38397 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $44(HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 128 | 0) >> 2] | 0) << 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if ((HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$15 + } + HEAP32[($7_1 + 136 | 0) >> 2] = 3082; + break label$4; + } + HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($7_1 + 124 | 0) >> 2] | 0; + label$16 : { + label$17 : while (1) { + if (!(((HEAPU16[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) < (HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($7_1 + 16 | 0) >> 2] = Math_imul(HEAP32[($7_1 + 160 | 0) >> 2] | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0); + label$18 : { + label$19 : { + if (!((HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$19 + } + $168_1 = 1; + $171_1 = HEAP32[(0 + 69292 | 0) >> 2] | 0; + $172_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + $177_1 = (HEAPU8[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0 ? $168_1 : 3; + $179_1 = HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $284$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $285$hi = i64toi32_i32$1; + i64toi32_i32$1 = $284$hi; + i64toi32_i32$1 = $285$hi; + i64toi32_i32$1 = $284$hi; + $31_1 = i64toi32_i32$2; + i64toi32_i32$2 = $285$hi; + i64toi32_i32$2 = __wasm_i64_mul($31_1 | 0, i64toi32_i32$1 | 0, (HEAPU16[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[$171_1 | 0](0, $172_1, $177_1, $168_1, $179_1, i64toi32_i32$2, i64toi32_i32$1) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $97(5386 | 0, 4074 | 0, HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 38424 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + break label$18; + } + i64toi32_i32$2 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $41(i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($7_1 + 136 | 0) >> 2] = 7; + break label$4; + } + $3289(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[((HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 160 | 0) >> 2] | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + $241_1 = HEAP32[($7_1 + 140 | 0) >> 2] | 0; + HEAP16[($241_1 + 20 | 0) >> 1] = ((HEAPU16[($241_1 + 20 | 0) >> 1] | 0) & 65535 | 0) + (HEAP32[($7_1 + 132 | 0) >> 2] | 0) | 0; + continue label$17; + }; + } + } + } + label$24 : { + label$25 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) > (HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[(HEAP32[($7_1 + 152 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 164 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$24; + } + HEAP32[(HEAP32[($7_1 + 152 | 0) >> 2] | 0) >> 2] = 0; + } + label$26 : { + if (!((HEAPU8[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0)) { + break label$26 + } + if (HEAP32[($7_1 + 136 | 0) >> 2] | 0) { + break label$26 + } + HEAP32[($7_1 + 136 | 0) >> 2] = 8; + } + HEAP32[($7_1 + 172 | 0) >> 2] = HEAP32[($7_1 + 136 | 0) >> 2] | 0; + } + $273_1 = HEAP32[($7_1 + 172 | 0) >> 2] | 0; + global$0 = $7_1 + 176 | 0; + return $273_1 | 0; + } + + function $575() { + var $2_1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + HEAP32[($2_1 + 8 | 0) >> 2] = 32768; + (wasm2js_i32$0 = $2_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69328 | 0) >> 2] | 0 | 0]() | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($2_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($2_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($2_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($2_1 + 12 | 0) >> 2] = (HEAP32[($2_1 + 4 | 0) >> 2] | 0 | 0) / (HEAP32[($2_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + $18_1 = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + global$0 = $2_1 + 16 | 0; + return $18_1 | 0; + } + + function $576($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $184_1 = 0, $62_1 = 0, $101_1 = 0, $142_1 = 0, $165_1 = 0, $64_1 = 0, $65_1 = 0, $116_1 = 0, $132_1 = 0, $180_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 128 | 0; + global$0 = $3_1; + $4_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 116 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 108 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41(16 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0) == ($4_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 124 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$0 = 0; + $184_1 = 0; + i64toi32_i32$1 = HEAP32[($3_1 + 116 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $184_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $184_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $548(); + HEAP32[($3_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 112 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$5 : { + if (!(FUNCTION_TABLE[HEAP32[(0 + 69088 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, $3_1 + 8 | 0) | 0)) { + break label$5 + } + HEAP32[($3_1 + 108 | 0) >> 2] = 1802; + break label$3; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = ($3303(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0) + 6 | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41((HEAP32[($3_1 + 96 | 0) >> 2] | 0) + 68 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($3_1 + 112 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 108 | 0) >> 2] = 7; + break label$3; + } + $3289(HEAP32[($3_1 + 112 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($3_1 + 96 | 0) >> 2] | 0) + 68 | 0 | 0) | 0; + $62_1 = (HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 68 | 0; + HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 8 | 0) >> 2] = $62_1; + HEAP32[($3_1 + 100 | 0) >> 2] = $62_1; + $64_1 = HEAP32[($3_1 + 96 | 0) >> 2] | 0; + $65_1 = HEAP32[($3_1 + 100 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $81($64_1 | 0, $65_1 | 0, 4324 | 0, $3_1 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] = -1; + HEAP32[((HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($3_1 + 112 | 0) >> 2] | 0; + HEAP32[(HEAP32[($3_1 + 112 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$7 : { + if (!(((HEAPU8[(0 + 68372 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 4 | 0) >> 2] = 8; + label$8 : { + if (!((HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 108 | 0) >> 2] = 7; + break label$3; + } + } + label$9 : { + if ((HEAPU8[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 29 | 0) >> 0] | 0) & 255 | 0) { + break label$9 + } + $101_1 = 0; + label$10 : { + if (!(($101_1 | 0) == ($525(HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, 4331 | 0, $101_1 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + $116_1 = $95(HEAP32[($3_1 + 100 | 0) >> 2] | 0 | 0, 131138 | 0, (HEAP32[($3_1 + 20 | 0) >> 2] | 0) & 511 | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] = $116_1; + } + label$11 : { + if (!((HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$11 + } + $132_1 = $95(HEAP32[($3_1 + 100 | 0) >> 2] | 0 | 0, 131072 | 0, (HEAP32[($3_1 + 20 | 0) >> 2] | 0) & 511 | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] = $132_1; + label$12 : { + if (!((HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$12 + } + $142_1 = 38253; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $97($96($142_1 | 0) | 0 | 0, 3916 | 0, HEAP32[($3_1 + 100 | 0) >> 2] | 0 | 0, $142_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP8[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 22 | 0) >> 0] = 1; + } + $98(HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $577(HEAP32[($3_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($3_1 + 108 | 0) >> 2] | 0)) { + break label$13 + } + if (!((HEAP32[($3_1 + 108 | 0) >> 2] | 0 | 0) != (1288 | 0) & 1 | 0)) { + break label$13 + } + break label$3; + } + } + } + HEAP32[(HEAP32[($3_1 + 116 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 112 | 0) >> 2] | 0; + $165_1 = HEAP32[($3_1 + 112 | 0) >> 2] | 0; + HEAP32[($165_1 + 28 | 0) >> 2] = (HEAP32[($165_1 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($3_1 + 116 | 0) >> 2] | 0; + $552(); + HEAP32[((HEAP32[($3_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($3_1 + 116 | 0) >> 2] | 0; + HEAP32[($3_1 + 124 | 0) >> 2] = HEAP32[($3_1 + 108 | 0) >> 2] | 0; + break label$1; + } + $583(HEAP32[($3_1 + 120 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0); + $552(); + HEAP32[($3_1 + 124 | 0) >> 2] = HEAP32[($3_1 + 108 | 0) >> 2] | 0; + } + $180_1 = HEAP32[($3_1 + 124 | 0) >> 2] | 0; + global$0 = $3_1 + 128 | 0; + return $180_1 | 0; + } + + function $577($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $19_1 = 0, $40_1 = 0, $56_1 = 0, $74$hi = 0, $9_1 = 0, $11_1 = 0, $71_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $74$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP16[($4_1 + 10 | 0) >> 1] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 128; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $74$hi; + HEAP32[($4_1 + 24 | 0) >> 2] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($4_1 + 8 | 0) >> 1] = 1; + $9_1 = HEAP32[(0 + 69112 | 0) >> 2] | 0; + $11_1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $4_1 + 8 | 0; + label$1 : { + label$2 : { + if (!(FUNCTION_TABLE[$9_1 | 0]($11_1, 12, $4_1) | 0)) { + break label$2 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 3850; + break label$1; + } + $19_1 = 16; + label$3 : { + label$4 : { + if (!((((HEAPU16[($4_1 + 8 | 0) >> 1] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 23 | 0) >> 0] = 1; + HEAP32[($4_1 + 4 | 0) >> 2] = 1288; + break label$5; + } + $40_1 = 1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $580(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $40_1 | 0, 128 | 0, $40_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$7 + } + i64toi32_i32$0 = 0; + if (!($559(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 3 | 0, i64toi32_i32$0 | 0) | 0)) { + break label$7 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $97(4618 | 0, 3952 | 0, HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 38128 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + break label$3; + } + $56_1 = 16; + label$8 : { + if (!((((HEAPU16[($4_1 + 8 | 0) >> 1] | 0) << $56_1 | 0) >> $56_1 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 5; + } + } + } + label$9 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$9 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $580(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0, 128 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $71_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $71_1 | 0; + } + + function $578($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $55$hi = 0, $59$hi = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $32_1 = 0, $94_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $50_1 = 0, $52_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 16 | 0) >> 2] = 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) & 131071 | 0; + label$1 : { + label$2 : while (1) { + i64toi32_i32$0 = 0; + $55$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = $3249(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $94_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $94_1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $59$hi = i64toi32_i32$1; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $17_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $18_1 = 0 + } else { + $18_1 = 1 + } + $19_1 = $18_1; + } else { + $19_1 = 0 + } + $17_1 = $19_1; + } + label$3 : { + if (!($17_1 & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 16 | 0) >> 2] = -1; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69160 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 44 | 0) >> 2] | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $32_1 = 0; + label$4 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + $32_1 = (HEAP32[($3169() | 0) >> 2] | 0 | 0) == (27 | 0); + } + if ($32_1 & 1 | 0) { + continue label$2 + } + break label$2; + }; + } + label$5 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + $50_1 = HEAP32[($3169() | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] = $50_1; + } + $52_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $52_1 | 0; + } + + function $579($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $51_1 = 0, $106_1 = 0, $116_1 = 0, $126_1 = 0, $172_1 = 0, $181_1 = 0, $225_1 = 0, $249_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 1; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 36 | 0; + HEAP16[($6_1 + 30 | 0) >> 1] = ($7_1 << ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0) | 0) - ($7_1 << (HEAP32[($6_1 + 56 | 0) >> 2] | 0) | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) | 0) & ((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) | 0)) { + break label$3 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 1; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + $51_1 = 1; + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) > ((((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & ($51_1 << (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) | 0 ? $51_1 : 0) | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$7 : { + label$8 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $580(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 2 | 0, (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 120 | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($6_1 + 32 | 0) >> 2] | 0) { + break label$9 + } + $3289((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, 0 | 0, (HEAP32[($6_1 + 52 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + } + break label$7; + } + label$10 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & (1 << (HEAP32[($6_1 + 56 | 0) >> 2] | 0) | 0) | 0)) { + break label$10 + } + $106_1 = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$106_1 >> 2] = (HEAP32[$106_1 >> 2] | 0) + -1 | 0; + } + } + label$11 : { + if (HEAP32[($6_1 + 32 | 0) >> 2] | 0) { + break label$11 + } + $116_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP16[($116_1 + 12 | 0) >> 1] = ((HEAPU16[($116_1 + 12 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) ^ -1 | 0) | 0; + $126_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP16[($126_1 + 10 | 0) >> 1] = ((HEAPU16[($126_1 + 10 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) ^ -1 | 0) | 0; + } + } + break label$1; + } + label$12 : { + label$13 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0) & 4 | 0)) { + break label$13 + } + label$14 : { + if (((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & ((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) | 0) { + break label$14 + } + label$15 : { + label$16 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($6_1 + 32 | 0) >> 2] = 5; + break label$15; + } + label$17 : { + if (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) { + break label$17 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $580(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 120 | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + } + label$18 : { + if (HEAP32[($6_1 + 32 | 0) >> 2] | 0) { + break label$18 + } + $172_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP16[($172_1 + 10 | 0) >> 1] = (HEAPU16[($172_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) | 0; + $181_1 = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$181_1 >> 2] = (HEAP32[$181_1 >> 2] | 0) + 1 | 0; + } + } + break label$12; + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$19 + } + label$21 : { + if (((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & (1 << (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) | 0) { + break label$21 + } + if (!(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0)) { + break label$21 + } + HEAP32[($6_1 + 32 | 0) >> 2] = 5; + break label$19; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + label$22 : { + if (HEAP32[($6_1 + 32 | 0) >> 2] | 0) { + break label$22 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $580(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 1 | 0, (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 120 | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (HEAP32[($6_1 + 32 | 0) >> 2] | 0) { + break label$23 + } + $225_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP16[($225_1 + 12 | 0) >> 1] = (HEAPU16[($225_1 + 12 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + } + } + } + } + $249_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $249_1 | 0; + } + + function $580($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $7_1 = 0, $94_1 = 0, $101_1 = 0, $25_1 = 0, $27_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= ($7_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP16[($6_1 + 24 | 0) >> 1] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + HEAP16[($6_1 + 26 | 0) >> 1] = 0; + i64toi32_i32$1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $94_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $94_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $101_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $101_1; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$0; + $25_1 = HEAP32[(0 + 69112 | 0) >> 2] | 0; + $27_1 = HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $6_1 + 24 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[$25_1 | 0]($27_1, 13, $6_1) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 5; + } + } + $40_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $40_1 | 0; + } + + function $581($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $548(); + $552(); + global$0 = $3_1 + 16 | 0; + return; + } + + function $582($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $39_1 = 0, $60_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0; + continue label$4; + }; + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $42(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] = 0; + $548(); + $39_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($39_1 + 28 | 0) >> 2] = (HEAP32[($39_1 + 28 | 0) >> 2] | 0) + -1 | 0; + label$5 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + FUNCTION_TABLE[HEAP32[(0 + 69220 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + } + $583(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + $552(); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $60_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $60_1 | 0; + } + + function $583($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $575() | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$3_1 >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$5 + } + FUNCTION_TABLE[HEAP32[(0 + 69304 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[$3_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + break label$4; + } + $42(HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[$3_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + HEAP32[$3_1 >> 2] = (HEAP32[$3_1 >> 2] | 0) + (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0; + continue label$3; + }; + } + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + $102(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 38071 | 0); + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = -1; + } + HEAP32[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $584($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, i64toi32_i32$0 = 0; + $6_1 = global$0 - 32 | 0; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + HEAP32[($6_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] = $7_1; + return $7_1 | 0; + } + + function $585($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + return 0 | 0; + } + + function $586($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $102(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, 34946 | 0); + $42(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $587($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $7_1 = 0, $9_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $7_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $9_1 = $3174($6_1 | 0, $7_1 | 0, $5_1 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $9_1 | 0; + } + + function $588($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $69_1 = 0, $24_1 = 0, $32_1 = 0, $59_1 = 0, $91_1 = 0, $97_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 560 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 552 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 548 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 540 | 0) >> 2] = -1; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 552 | 0) >> 2] | 0; + $81(512 | 0, $4_1 + 16 | 0 | 0, 1976 | 0, $4_1 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3303($4_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 544 | 0) >> 2] = wasm2js_i32$1; + label$1 : while (1) { + $24_1 = 0; + label$2 : { + if (!((HEAP32[($4_1 + 544 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $32_1 = 24; + $24_1 = (((HEAPU8[(($4_1 + 16 | 0) + (HEAP32[($4_1 + 544 | 0) >> 2] | 0) | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0 | 0) != (47 | 0); + } + label$3 : { + if (!($24_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 544 | 0) >> 2] = (HEAP32[($4_1 + 544 | 0) >> 2] | 0) + -1 | 0; + continue label$1; + } + break label$1; + }; + label$4 : { + label$5 : { + if (!((HEAP32[($4_1 + 544 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[(($4_1 + 16 | 0) + (HEAP32[($4_1 + 544 | 0) >> 2] | 0) | 0) >> 0] = 0; + break label$4; + } + $59_1 = 24; + label$6 : { + if (!((((HEAPU8[($4_1 + 16 | 0) >> 0] | 0) << $59_1 | 0) >> $59_1 | 0 | 0) != (47 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[($4_1 + 16 | 0) >> 0] = 46; + } + HEAP8[($4_1 + 17 | 0) >> 0] = 0; + } + $69_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $95($4_1 + 16 | 0 | 0, $69_1 | 0, $69_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 540 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($4_1 + 540 | 0) >> 2] | 0 | 0) >= ($69_1 | 0) & 1 | 0)) { + break label$7 + } + } + HEAP32[(HEAP32[($4_1 + 548 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 540 | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 540 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 556 | 0) >> 2] = 0; + break label$8; + } + $91_1 = 37351; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $97($96($91_1 | 0) | 0 | 0, 4033 | 0, $4_1 + 16 | 0 | 0, $91_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 556 | 0) >> 2] = wasm2js_i32$1; + } + $97_1 = HEAP32[($4_1 + 556 | 0) >> 2] | 0; + global$0 = $4_1 + 560 | 0; + return $97_1 | 0; + } + + function $589() { + return fimport$2(30 | 0) | 0 | 0; + } + + function $590() { + var $2_1 = 0, $3_1 = 0, $64_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2_1 = global$0 - 112 | 0; + global$0 = $2_1; + $3_1 = 0; + HEAP32[($2_1 + 104 | 0) >> 2] = $3_1; + HEAP32[($2_1 + 12 | 0) >> 2] = HEAP32[(0 + 114408 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[(0 + 69376 | 0) >> 2] | 0 | 0) != ($3_1 | 0) & 1 | 0) { + break label$1 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = $3258(4303 | 0) | 0), HEAP32[(wasm2js_i32$0 + 69376 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if ((HEAP32[(0 + 69380 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = $3258(4317 | 0) | 0), HEAP32[(wasm2js_i32$0 + 69380 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + label$4 : while (1) { + label$5 : { + if (!((HEAP32[($2_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (FUNCTION_TABLE[HEAP32[(0 + 69076 | 0) >> 2] | 0 | 0](HEAP32[($2_1 + 12 | 0) >> 2] | 0, $2_1 + 16 | 0) | 0) { + break label$5 + } + if (!(((HEAP32[($2_1 + 28 | 0) >> 2] | 0) & 61440 | 0 | 0) == (16384 | 0) & 1 | 0)) { + break label$5 + } + if (FUNCTION_TABLE[HEAP32[(0 + 69052 | 0) >> 2] | 0 | 0](HEAP32[($2_1 + 12 | 0) >> 2] | 0, 3) | 0) { + break label$5 + } + HEAP32[($2_1 + 108 | 0) >> 2] = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + break label$3; + } + label$6 : { + label$7 : { + if (!((HEAP32[($2_1 + 104 | 0) >> 2] | 0) >>> 0 >= 6 >>> 0 & 1 | 0)) { + break label$7 + } + break label$6; + } + $64_1 = HEAP32[($2_1 + 104 | 0) >> 2] | 0; + HEAP32[($2_1 + 104 | 0) >> 2] = $64_1 + 1 | 0; + HEAP32[($2_1 + 12 | 0) >> 2] = HEAP32[(69376 + ($64_1 << 2 | 0) | 0) >> 2] | 0; + continue label$4; + } + break label$4; + }; + HEAP32[($2_1 + 108 | 0) >> 2] = 0; + } + $72_1 = HEAP32[($2_1 + 108 | 0) >> 2] | 0; + global$0 = $2_1 + 112 | 0; + return $72_1 | 0; + } + + function $591($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $29_1 = 0; + $6_1 = global$0 - 112 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!(($7_1 | 0) == (FUNCTION_TABLE[HEAP32[(0 + 69076 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 108 | 0) >> 2] | 0, $6_1 + 8 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) & 511 | 0; + HEAP32[(HEAP32[($6_1 + 100 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($6_1 + 4 | 0) >> 2] = 1802; + } + $29_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + global$0 = $6_1 + 112 | 0; + return $29_1 | 0; + } + + function $592($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $151_1 = 0, $81_1 = 0, $148_1 = 0, $45_1 = 0, $94_1 = 0, $95_1 = 0, $119_1 = 0, $138_1 = 0, $232_1 = 0, $351_1 = 0, $361_1 = 0, $145_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 144 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 136 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 132 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 124 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69088 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 124 | 0) >> 2] | 0, $4_1 + 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 128 | 0) >> 2] | 0)) { + break label$2 + } + $555(HEAP32[($4_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (61 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 140 | 0) >> 2] = 22; + break label$1; + } + HEAP32[($4_1 + 140 | 0) >> 2] = 10; + break label$1; + } + i64toi32_i32$0 = 0; + $148_1 = 0; + i64toi32_i32$1 = $4_1 + 104 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $148_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $148_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 104 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + $232_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 112 | 0) >> 2] = $232_1; + HEAP32[($4_1 + 116 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(0 + 114504 | 0) >> 2] | 0; + label$4 : while (1) { + $45_1 = 0; + label$5 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $45_1 = ($3228($4_1 + 104 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0 | 0) != (0 | 0); + } + label$6 : { + if (!($45_1 & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + continue label$4; + } + break label$4; + }; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(56 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 140 | 0) >> 2] = 7; + break label$1; + } + $81_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + $151_1 = 0; + i64toi32_i32$0 = $81_1; + HEAP32[i64toi32_i32$0 >> 2] = $151_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = i64toi32_i32$0 + 48 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $151_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $81_1 + 40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $151_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $81_1 + 32 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $151_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $81_1 + 24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $151_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $81_1 + 16 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $151_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $81_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $151_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $94_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1 + 104 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $351_1 = i64toi32_i32$1; + i64toi32_i32$1 = $94_1; + HEAP32[i64toi32_i32$1 >> 2] = $351_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $95_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $95_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $361_1 = i64toi32_i32$0; + i64toi32_i32$0 = $94_1 + $95_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $361_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$10 : { + if (!(((HEAPU8[(0 + 68372 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 8; + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + $42(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 140 | 0) >> 2] = 7; + break label$1; + } + } + $119_1 = 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = 1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[(0 + 114504 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = $119_1; + label$12 : { + if (!((HEAP32[(0 + 114504 | 0) >> 2] | 0 | 0) != ($119_1 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[((HEAP32[(0 + 114504 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + HEAP32[(0 + 114504 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$7; + } + $138_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($138_1 + 36 | 0) >> 2] = (HEAP32[($138_1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[(HEAP32[($4_1 + 132 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 140 | 0) >> 2] = 0; + } + $145_1 = HEAP32[($4_1 + 140 | 0) >> 2] | 0; + global$0 = $4_1 + 144 | 0; + return $145_1 | 0; + } + + function $593($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = $551(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $5_1 | 0; + } + + function $594($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return 0 | 0; + } + + function $595($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return 0 | 0; + } + + function $596($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = $5_1; + return $5_1 | 0; + } + + function $597($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $598(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + $10_1 = $551(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $10_1 | 0; + } + + function $598($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $57_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69256 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = HEAP32[($3169() | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + break label$5; + } + HEAP32[($4_1 + 8 | 0) >> 2] = 2058; + $555(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $57_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $57_1 | 0; + } + + function $599($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $18_1 = 0, $60_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) > ($5_1 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = 0; + HEAP8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + fimport$3(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $18_1 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $18_1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 69244 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0, 511) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = HEAP32[($3169() | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((20 | 0) == (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 5; + break label$4; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $564(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 3850 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$6 + } + $555(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + $60_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $60_1 | 0; + } + + function $600($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[(0 + 69052 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0, $5_1) | 0 | 0) == ($5_1 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + $19_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $19_1 | 0; + } + + function $601($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $26_1 = 0, $34_1 = 0, $51_1 = 0, $75_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) - 1 | 0; + label$3 : while (1) { + $26_1 = 0; + label$4 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + $34_1 = 24; + $26_1 = (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $34_1 | 0) >> $34_1 | 0 | 0) != (47 | 0); + } + label$5 : { + if (!($26_1 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$3; + } + break label$3; + }; + $51_1 = 24; + label$6 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $51_1 | 0) >> $51_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) - 2 | 0 | 0) & 1 | 0)) { + break label$6 + } + $75_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $75_1 | 0) >> $75_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $602($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return 4356 | 0; + } + + function $603($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return 4432 | 0; + } + + function $604($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, $17_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $12_1 = 0; + $17_1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 12 | 0) >> 2] | 0, $12_1, $12_1) | 0; + break label$1; + } + $17_1 = 0; + } + global$0 = $3_1 + 16 | 0; + return $17_1 | 0; + } + + function $605($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $262(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $606($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $15_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + HEAP8[(HEAP32[$6_1 >> 2] | 0) >> 0] = 0; + $15_1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 12 | 0) >> 2] | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0, HEAP32[$6_1 >> 2] | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $15_1 | 0; + } + + function $607($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $167(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] = 0; + label$2 : { + if (!(($625(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$2 + } + $626(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $608($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$0 = 0, $10_1 = 0, i64toi32_i32$1 = 0, $25_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $30_1 = 0, $31_1 = 0, $32_1 = 0, $436_1 = 0, $42_1 = 0, $45_1 = 0, $67_1 = 0, $70_1 = 0, $114_1 = 0, $354_1 = 0, $357_1 = 0, $418_1 = 0, $128_1 = 0, $134_1 = 0, $1228_1 = 0, $405_1 = 0, $524_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 112 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 92 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 84 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 72 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 68 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 60 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 56 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 48 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 44 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 40 | 0) >> 2] = ((HEAP32[($9_1 + 88 | 0) >> 2] | 0) & 1 | 0 | 0) == ($10_1 | 0) & 1 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $616() | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 32 | 0) >> 2] = 4096; + HEAP32[($9_1 + 28 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 24 | 0) >> 2] = 1; + HEAP32[($9_1 + 20 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = (($617(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0) | 0) + 7 | 0) & -8 | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($9_1 + 100 | 0) >> 2] | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + if (!((HEAP32[($9_1 + 88 | 0) >> 2] | 0) & 2 | 0)) { + break label$2 + } + HEAP32[($9_1 + 60 | 0) >> 2] = 1; + label$3 : { + if (!((HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $42_1 = 24; + if (!(((HEAPU8[(HEAP32[($9_1 + 96 | 0) >> 2] | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0)) { + break label$3 + } + $45_1 = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $291($45_1 | 0, HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) == ($45_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($9_1 + 108 | 0) >> 2] = 7; + break label$1; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $68(HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 96 | 0) >> 2] = 0; + } + } + label$5 : { + if (!((HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $67_1 = 24; + if (!(((HEAPU8[(HEAP32[($9_1 + 96 | 0) >> 2] | 0) >> 0] | 0) << $67_1 | 0) >> $67_1 | 0)) { + break label$5 + } + $70_1 = 0; + HEAP32[($9_1 + 44 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$1 = (HEAP32[($9_1 + 44 | 0) >> 2] | 0) << 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $64($70_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) == ($70_1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($9_1 + 108 | 0) >> 2] = 7; + break label$1; + } + HEAP8[(HEAP32[($9_1 + 48 | 0) >> 2] | 0) >> 0] = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $606(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($9_1 + 68 | 0) >> 2] | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0) == (512 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + label$10 : { + if (!((HEAP32[($9_1 + 84 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$10 + } + HEAP32[($9_1 + 68 | 0) >> 2] = 1550; + break label$9; + } + HEAP32[($9_1 + 68 | 0) >> 2] = 0; + } + } + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $68(HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $114_1 = (HEAP32[($9_1 + 96 | 0) >> 2] | 0) + (($68(HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0) | 0) + 1 | 0) | 0; + HEAP32[($9_1 + 28 | 0) >> 2] = $114_1; + HEAP32[($9_1 + 16 | 0) >> 2] = $114_1; + label$11 : { + label$12 : while (1) { + if (!(((HEAPU8[(HEAP32[($9_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + $128_1 = ($3303(HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = (HEAP32[($9_1 + 16 | 0) >> 2] | 0) + $128_1 | 0; + $134_1 = ($3303(HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = (HEAP32[($9_1 + 16 | 0) >> 2] | 0) + $134_1 | 0; + HEAP32[($9_1 + 20 | 0) >> 2] = (HEAP32[($9_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP32[($9_1 + 24 | 0) >> 2] = ((HEAP32[($9_1 + 16 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[($9_1 + 28 | 0) >> 2] | 0) | 0; + label$13 : { + if (HEAP32[($9_1 + 68 | 0) >> 2] | 0) { + break label$13 + } + if (!(((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 8 | 0 | 0) > (HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $96(56654 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + } + label$14 : { + if (!(HEAP32[($9_1 + 68 | 0) >> 2] | 0)) { + break label$14 + } + $13(0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 108 | 0) >> 2] = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + break label$1; + } + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $114((((((((((((((((((HEAP32[($9_1 + 36 | 0) >> 2] | 0) + 7 | 0) & -8 | 0) + 224 | 0) + (((HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 7 | 0) & -8 | 0) | 0) + ((HEAP32[($9_1 + 52 | 0) >> 2] | 0) << 1 | 0) | 0) + 4 | 0) + 4 | 0) + (HEAP32[($9_1 + 44 | 0) >> 2] | 0) | 0) + 1 | 0) + (HEAP32[($9_1 + 24 | 0) >> 2] | 0) | 0) + (HEAP32[($9_1 + 44 | 0) >> 2] | 0) | 0) + 8 | 0) + 1 | 0) + (HEAP32[($9_1 + 44 | 0) >> 2] | 0) | 0) + 4 | 0) + 1 | 0) + 3 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if ((HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$15 + } + $13(0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 108 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($9_1 + 72 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 224 | 0; + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 212 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + (((HEAP32[($9_1 + 36 | 0) >> 2] | 0) + 7 | 0) & -8 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 7 | 0) & -8 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + (HEAP32[($9_1 + 52 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + (HEAP32[($9_1 + 52 | 0) >> 2] | 0) | 0; + $26_1 = $9_1 + 72 | 0; + $27_1 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $28_1 = HEAPU8[$26_1 >> 0] | 0 | ((HEAPU8[($26_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($26_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($26_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$27_1 >> 0] = $28_1; + HEAP8[($27_1 + 1 | 0) >> 0] = $28_1 >>> 8 | 0; + HEAP8[($27_1 + 2 | 0) >> 0] = $28_1 >>> 16 | 0; + HEAP8[($27_1 + 3 | 0) >> 0] = $28_1 >>> 24 | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 4 | 0; + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 168 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + label$16 : { + if (!((HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$16 + } + $3288(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 1 | 0) | 0; + label$17 : { + label$18 : { + if (!((HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + $3288(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + (HEAP32[($9_1 + 24 | 0) >> 2] | 0) | 0; + break label$17; + } + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 1 | 0; + } + } + label$19 : { + label$20 : { + if (!((HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 172 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $3288(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + (HEAP32[($9_1 + 44 | 0) >> 2] | 0) | 0; + $25_1 = 0; + i64toi32_i32$0 = HEAPU8[($25_1 + 4622 | 0) >> 0] | 0 | ((HEAPU8[($25_1 + 4623 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($25_1 + 4624 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($25_1 + 4625 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[($25_1 + 4626 | 0) >> 0] | 0 | ((HEAPU8[($25_1 + 4627 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($25_1 + 4628 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($25_1 + 4629 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $1228_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $29_1 = $1228_1; + HEAP8[i64toi32_i32$0 >> 0] = $29_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $29_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $29_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $29_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 9 | 0; + break label$19; + } + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 172 | 0) >> 2] = 0; + } + label$21 : { + label$22 : { + if (!((HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 220 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $3288(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + (HEAP32[($9_1 + 44 | 0) >> 2] | 0) | 0; + $30_1 = 0; + $31_1 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $32_1 = HEAPU8[($30_1 + 4631 | 0) >> 0] | 0 | ((HEAPU8[($30_1 + 4632 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($30_1 + 4633 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($30_1 + 4634 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$31_1 >> 0] = $32_1; + HEAP8[($31_1 + 1 | 0) >> 0] = $32_1 >>> 8 | 0; + HEAP8[($31_1 + 2 | 0) >> 0] = $32_1 >>> 16 | 0; + HEAP8[($31_1 + 3 | 0) >> 0] = $32_1 >>> 24 | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = (HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 5 | 0; + break label$21; + } + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 220 | 0) >> 2] = 0; + } + label$23 : { + if (!(HEAP32[($9_1 + 44 | 0) >> 2] | 0)) { + break label$23 + } + $13(0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0); + } + HEAP32[(HEAP32[($9_1 + 72 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 104 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 144 | 0) >> 2] = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + label$24 : { + label$25 : { + label$26 : { + if (!((HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $354_1 = 24; + if (!(((HEAPU8[(HEAP32[($9_1 + 96 | 0) >> 2] | 0) >> 0] | 0) << $354_1 | 0) >> $354_1 | 0)) { + break label$26 + } + $357_1 = 0; + HEAP32[($9_1 + 12 | 0) >> 2] = $357_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $618(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 84 | 0) >> 2] | 0 | 0, $9_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 56 | 0) >> 2] = ((HEAP32[($9_1 + 12 | 0) >> 2] | 0) & 1 | 0 | 0) != ($357_1 | 0) & 1 | 0; + label$27 : { + if (HEAP32[($9_1 + 68 | 0) >> 2] | 0) { + break label$27 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $619(HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$28 : { + if (HEAP32[($9_1 + 56 | 0) >> 2] | 0) { + break label$28 + } + $620(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0); + label$29 : { + if (!((HEAP32[($9_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$29 + } + label$30 : { + label$31 : { + if (!((HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0) >>> 0 > 8192 >>> 0 & 1 | 0)) { + break label$31 + } + HEAP32[($9_1 + 32 | 0) >> 2] = 8192; + break label$30; + } + HEAP32[($9_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0; + } + } + } + $405_1 = $525(HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0 | 0, 4636 | 0, 0 | 0) | 0; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 13 | 0) >> 0] = $405_1; + label$32 : { + label$33 : { + if ((HEAP32[($9_1 + 8 | 0) >> 2] | 0) & 8192 | 0) { + break label$33 + } + if (!($525(HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0 | 0, 4643 | 0, 0 | 0) | 0)) { + break label$32 + } + } + HEAP32[($9_1 + 84 | 0) >> 2] = HEAP32[($9_1 + 84 | 0) >> 2] | 0 | 1 | 0; + break label$25; + } + } + break label$24; + } + } + $418_1 = 1; + HEAP32[($9_1 + 64 | 0) >> 2] = 1; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 0] = $418_1; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 17 | 0) >> 0] = 4; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 13 | 0) >> 0] = $418_1; + HEAP32[($9_1 + 56 | 0) >> 2] = (HEAP32[($9_1 + 84 | 0) >> 2] | 0) & 1 | 0; + } + label$34 : { + if (HEAP32[($9_1 + 68 | 0) >> 2] | 0) { + break label$34 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $515(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, $9_1 + 32 | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + } + label$35 : { + if (HEAP32[($9_1 + 68 | 0) >> 2] | 0) { + break label$35 + } + $436_1 = 0; + HEAP32[($9_1 + 92 | 0) >> 2] = ((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 7 | 0) & -8 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $621(HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0, ((HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0) != ($436_1 | 0) ^ -1 | 0) & 1 | 0 | 0, (((HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0) != ($436_1 | 0) ^ -1 | 0) & 1 | 0 ? 19 : $436_1) | 0, HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + } + label$36 : { + if (!(HEAP32[($9_1 + 68 | 0) >> 2] | 0)) { + break label$36 + } + $622(HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + $623(HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0 | 0); + $42(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 108 | 0) >> 2] = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + break label$1; + } + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 6 | 0) >> 0] = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 156 | 0) >> 2] = 1073741823; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 0] = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 4 | 0) >> 0] = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAPU8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 15 | 0) >> 0] = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 14 | 0) >> 0] = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 7 | 0) >> 0] = HEAPU8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0; + label$37 : { + label$38 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$38 + } + break label$37; + } + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 0] = 1; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 9 | 0) >> 0] = 0; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 10 | 0) >> 0] = 2; + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 11 | 0) >> 0] = 10; + } + i64toi32_i32$1 = -1; + HEAP16[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 140 | 0) >> 1] = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 160 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$0 + 164 | 0) >> 2] = i64toi32_i32$1; + $620(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0); + label$39 : { + label$40 : { + if (HEAP32[($9_1 + 40 | 0) >> 2] | 0) { + break label$40 + } + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 5 | 0) >> 0] = 2; + break label$39; + } + label$41 : { + if (!(HEAP32[($9_1 + 60 | 0) >> 2] | 0)) { + break label$41 + } + HEAP8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 5 | 0) >> 0] = 4; + } + } + HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 200 | 0) >> 2] = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + $624(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($9_1 + 100 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + HEAP32[($9_1 + 108 | 0) >> 2] = 0; + } + $524_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + global$0 = $9_1 + 112 | 0; + return $524_1 | 0; + } + + function $609($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $24_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $24_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 128 | 0) >> 2] = $24_1; + HEAP32[(i64toi32_i32$0 + 132 | 0) >> 2] = i64toi32_i32$1; + $627(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $610($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, i64toi32_i32$0 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = $6_1; + $3289(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + label$1 : { + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) == (522 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$5_1 >> 2] = 0; + } + } + $31_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $31_1 | 0; + } + + function $611($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 176 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 180 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 176 | 0; + $615(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, 15 | 0, HEAP32[$5_1 >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $612($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $78$hi = 0, i64toi32_i32$3 = 0, $81$hi = 0, $5_1 = 0, $79$hi = 0, $80$hi = 0, $130_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0; + $449(); + $634(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] = 0; + HEAP32[$4_1 >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $78$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $79$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $80$hi = i64toi32_i32$1; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$3 = 2048; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $81$hi = i64toi32_i32$0; + i64toi32_i32$0 = $78$hi; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$0 = $78$hi; + i64toi32_i32$0 = $81$hi; + $130_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $78$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = $81$hi; + i64toi32_i32$3 = $130_1; + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$1 + } + if (!((0 | 0) == ($635(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + $636(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] = 0; + $632(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $637(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + break label$2; + } + label$4 : { + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $639(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $638(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + } + $640(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + $450(); + $622(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + $622(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + $623(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + $641(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0); + $42(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $613($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $21_1 = 0, $26_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + label$1 : { + if ((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $21_1 = $308(0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 52 | 0) >> 2] = $21_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + $26_1 = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 52 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $26_1 | 0; + } + + function $614($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $642(HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $615($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 12 | 0) >> 2] | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $616() { + return 48 | 0; + } + + function $617($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (72 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + $14_1 = 72; + } + return $14_1 | 0; + } + + function $618($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 28 | 0) >> 2] | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) & 17334143 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $18_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $18_1 | 0; + } + + function $619($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $8_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $620($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if (!(($619(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0) & 4096 | 0)) { + break label$2 + } + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 148 | 0) >> 2] = 512; + break label$1; + } + $17_1 = $643(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 148 | 0) >> 2] = $17_1; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $621($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $40_1 = 0, $12_1 = 0, $9_1 = 0, $37_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + $9_1 = 1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + $12_1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $40_1 = 0; + i64toi32_i32$1 = $12_1; + HEAP32[i64toi32_i32$1 >> 2] = $40_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $40_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $40_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $40_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $40_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $40_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = $9_1; + HEAP32[((HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 0] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 33 | 0) >> 0] = 2; + HEAP32[((HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = 100; + HEAP32[((HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $9_1; + $37_1 = $633(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $37_1 | 0; + } + + function $622($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $623($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $645(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $624($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] = 20; + break label$1; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] = 21; + } + return; + } + + function $625($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = $753(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $5_1 | 0; + } + + function $626($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $107$hi = 0, i64toi32_i32$3 = 0, $108$hi = 0, $109$hi = 0, $111$hi = 0, $104_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) | 0; + label$1 : { + label$2 : { + if (!($761(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(66738 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 26 | 0) >> 1] = (HEAP32[((HEAP32[$3_1 >> 2] | 0) + 36 | 0) >> 2] | 0) - 1 | 0; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 0] = 0; + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 18 | 0) >> 1] = (((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) + ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] = ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0) + 8 | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (HEAP32[((HEAP32[$3_1 >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 68 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 1] = ((HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) | 0; + label$3 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) >>> 0 > ((((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 36 | 0) >> 2] | 0) - 8 | 0) >>> 0) / (6 >>> 0) | 0) >>> 0 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(66752 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$0 = 0; + $107$hi = i64toi32_i32$0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = -1; + HEAP8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] = 1; + i64toi32_i32$2 = HEAP32[((HEAP32[$3_1 >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $108$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $109$hi = i64toi32_i32$1; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$1 = $109$hi; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$3 = 2097152; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $111$hi = i64toi32_i32$0; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$0 = $111$hi; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$0 = $111$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $107$hi; + i64toi32_i32$3 = 0; + label$4 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $762(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $104_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $104_1 | 0; + } + + function $627($0_1) { + $0_1 = $0_1 | 0; + HEAP32[((global$0 - 16 | 0) + 12 | 0) >> 2] = $0_1; + return; + } + + function $628($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $13_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0, i64toi32_i32$0, i64toi32_i32$1) | 0; + global$0 = $6_1 + 32 | 0; + return $13_1 | 0; + } + + function $629($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $31_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = -1; + break label$4; + } + $31_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($31_1 + 8 | 0) >> 2] = (HEAP32[($31_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + $36_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $36_1 | 0; + } + + function $630($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0; + } + + function $631($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = $770(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $5_1 | 0; + } + + function $632($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 100 | 0) >> 2] = (HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 1 | 0; + $178(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0); + $758(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $633($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $29_1 = 0, $49_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68484 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 4 | 0) >> 2] | 0, (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 40 | 0, (HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $29_1 = HEAP32[(0 + 68488 | 0) >> 2] | 0; + FUNCTION_TABLE[$29_1 | 0](HEAP32[$4_1 >> 2] | 0, $649(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0); + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + FUNCTION_TABLE[HEAP32[(0 + 68512 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0); + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $49_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $49_1 | 0; + } + + function $634($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $635($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $189(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, 20 | 0, $3_1 + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) == (12 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[$3_1 >> 2] = 0; + break label$4; + } + label$6 : { + if (HEAP32[$3_1 >> 2] | 0) { + break label$6 + } + if (!(HEAP32[($3_1 + 4 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[$3_1 >> 2] = 1032; + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + } + $38_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $38_1 | 0; + } + + function $636($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $38_1 = 0, $80$hi = 0, $8_1 = 0, $15_1 = 0, $26_1 = 0, $82$hi = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, i64toi32_i32$3 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $8_1; + label$1 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != ($8_1 | 0) & 1 | 0)) { + break label$1 + } + $15_1 = 0; + HEAP32[($7_1 + 4 | 0) >> 2] = $15_1; + label$2 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != ($15_1 | 0) & 1 | 0)) { + break label$2 + } + $26_1 = $717(HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 4 | 0) | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = $26_1; + if (!((0 | 0) == ($26_1 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if ((HEAPU8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + HEAP8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 43 | 0) >> 0] = 1; + } + $38_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $771(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, $38_1 | 0, $38_1 | 0, $38_1 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, $38_1 | 0, $38_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[$7_1 >> 2] = -1; + $615(HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 10 | 0, $7_1 | 0); + label$5 : { + label$6 : { + if (!((HEAP32[$7_1 >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 4 | 0) >> 2] = 1; + break label$5; + } + i64toi32_i32$0 = 0; + $80$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $82$hi = i64toi32_i32$1; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $17_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $18_1 = 0 + } else { + $18_1 = 1 + } + $19_1 = $18_1; + } else { + $19_1 = 0 + } + $17_1 = $19_1; + } + label$7 : { + if (!($17_1 & 1 | 0)) { + break label$7 + } + i64toi32_i32$2 = 0; + $681(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$2 | 0); + } + } + } + } + $707(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + $622(HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + label$8 : { + if (!(HEAP32[($7_1 + 4 | 0) >> 2] | 0)) { + break label$8 + } + $449(); + $732(HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $450(); + } + $42(HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + $42(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + } + $77_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $77_1 | 0; + } + + function $637($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $42_1 = 0, $92_1 = 0, $96_1 = 0, i64toi32_i32$0 = 0, $117_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $521(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] = $4_1; + $729(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$2 + } + $710(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] = 0; + break label$1; + } + label$3 : { + if (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $42_1 = $619(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0; + break label$4; + } + $42_1 = 0; + } + HEAP32[($3_1 + 4 | 0) >> 2] = $42_1; + label$6 : { + label$7 : { + if ((0 | 0) == ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) & 2048 | 0 | 0) & 1 | 0) { + break label$7 + } + if (!((1 | 0) != (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 5 | 0 | 0) & 1 | 0)) { + break label$6 + } + } + $622(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $736(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$8 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$8 + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 17 | 0) >> 0] = 5; + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] = 0; + } + } + label$9 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$9 + } + label$10 : { + label$11 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$11 + } + $92_1 = 0; + $632(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 0] = $92_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] = $92_1; + break label$10; + } + $96_1 = 0; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] = (HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($96_1 | 0) & 1 | 0 ? $96_1 : 1; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + $624(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$0 = 0; + $117_1 = 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = $117_1; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 80 | 0) >> 2] = $117_1; + HEAP32[(i64toi32_i32$1 + 84 | 0) >> 2] = i64toi32_i32$0; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 19 | 0) >> 0] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $638($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + if (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $26_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $26_1 | 0; + } + + function $639($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $27_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 255 | 0; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (13 | 0) & 1 | 0) { + break label$2 + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (10 | 0) & 1 | 0)) { + break label$1 + } + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] = 6; + $624(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + $27_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $27_1 | 0; + } + + function $640($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $39_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (6 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$3 + } + $449(); + $200(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $450(); + break label$2; + } + label$4 : { + if (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$4 + } + $39_1 = 0; + $726(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $39_1 | 0, $39_1 | 0) | 0; + } + } + } + $637(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $641($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + FUNCTION_TABLE[HEAP32[(0 + 68512 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $642($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $780(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $643($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $648(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (32 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 512; + break label$1; + } + label$3 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) > (65536 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 65536; + } + } + $22_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $22_1 | 0; + } + + function $644($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0, $14_1 = 0, $22_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $660(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0); + $8_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($8_1 + 28 | 0) >> 1] = ((HEAPU16[($8_1 + 28 | 0) >> 1] | 0) & 65535 | 0) & -15 | 0; + $14_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($14_1 + 28 | 0) >> 1] = (HEAPU16[($14_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + $22_1 = 16; + label$1 : { + if (((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 30 | 0) >> 1] | 0) << $22_1 | 0) >> $22_1 | 0) { + break label$1 + } + $661(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $645($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 >= (HEAP32[(0 + 114588 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[(0 + 114592 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + $27_1 = 1; + $43($27_1 | 0, $27_1 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[(0 + 114600 | 0) >> 2] | 0; + HEAP32[(0 + 114600 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[(0 + 114604 | 0) >> 2] = (HEAP32[(0 + 114604 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(0 + 114608 | 0) >> 2] = (HEAP32[(0 + 114604 | 0) >> 2] | 0 | 0) < (HEAP32[(0 + 114584 | 0) >> 2] | 0 | 0) & 1 | 0; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $16(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $43(2 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $646($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 16 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] = 0; + return HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0; + } + + function $647($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $40_1 = 0, $45_1 = 0, $72_1 = 0, $149_1 = 0, $169_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (HEAP32[($6_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(57396 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $718(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $719(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$5 + } + break label$3; + } + label$6 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 24 | 0) >> 2] = 7; + break label$3; + } + } + $40_1 = 0; + $45_1 = $720(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $45_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $45_1; + HEAP8[($6_1 + 19 | 0) >> 0] = ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) & 1 | 0 | 0) != ($40_1 | 0) & 1 | 0; + label$7 : { + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != ($40_1 | 0) & 1 | 0)) { + break label$7 + } + if (((HEAPU8[($6_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$7 + } + $72_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($72_1 + 184 | 0) >> 2] = (HEAP32[($72_1 + 184 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$8 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (((HEAP32[(0 + 69008 | 0) >> 2] | 0 | 0) / (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(57428 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + label$9 : { + label$10 : { + label$11 : { + if (!((HEAP32[(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + if ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$11 + } + if (!((HEAPU8[($6_1 + 19 | 0) >> 0] | 0) & 255 | 0)) { + break label$10 + } + } + label$12 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 156 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 24 | 0) >> 2] = 13; + break label$3; + } + label$13 : { + if (!(((HEAPU8[($6_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$13 + } + $449(); + label$14 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$14 + } + $517(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + } + $665(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + $450(); + } + $3289(HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0) | 0; + break label$9; + } + $149_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($149_1 + 188 | 0) >> 2] = (HEAP32[($149_1 + 188 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $721(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$15 + } + break label$3; + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$16 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $722(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + $723(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + } + $169_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $169_1 | 0; + } + + function $648($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = FUNCTION_TABLE[HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + break label$1; + } + $17_1 = 4096; + } + global$0 = $3_1 + 16 | 0; + return $17_1 | 0; + } + + function $649($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $3_1 = 0, $25$hi = 0, $26$hi = 0, $27$hi = 0, $28$hi = 0, $10_1 = 0, $27_1 = 0, $81_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $25$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $26$hi = i64toi32_i32$0; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = $25$hi; + $10_1 = i64toi32_i32$1; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = __wasm_i64_mul($10_1 | 0, i64toi32_i32$0 | 0, -1024 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $27_1 = i64toi32_i32$1; + $27$hi = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $28$hi = i64toi32_i32$0; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$0 = $28$hi; + $81_1 = i64toi32_i32$1; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = __wasm_i64_sdiv($27_1 | 0, i64toi32_i32$0 | 0, $81_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $650($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $46_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 48) | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + if (!((0 | 0) == ($662(HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $46_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $46_1 | 0; + } + + function $651($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $55$hi = 0, $56$hi = 0, i64toi32_i32$2 = 0, $59$hi = 0, $60$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $44_1 = 0, $127_1 = 0, $130_1 = 0, $38_1 = 0, $39_1 = 0, $41_1 = 0, $52_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $663(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $55$hi = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $56$hi = i64toi32_i32$0; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$0 = $56$hi; + $127_1 = i64toi32_i32$1; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$1 = __wasm_i64_mul(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, $127_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $130_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $130_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $664(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$3 + } + $38_1 = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + $39_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $41_1 = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $59$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $60$hi = i64toi32_i32$0; + i64toi32_i32$0 = $59$hi; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$0 = $59$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $147($38_1 | 0, $39_1 | 0, $41_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + } + } + label$4 : { + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$4 + } + $44_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($44_1 + 52 | 0) >> 2] = (HEAP32[($44_1 + 52 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $665(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + $52_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $52_1 | 0; + } + + function $652($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = ($161((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 104 | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $162((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $162((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 92 | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $162((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 96 | 0 | 0, 3034e3 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $653($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, $71_1 = 0, $36_1 = 0, $9_1 = 0, $466$hi = 0, $467$hi = 0, $470$hi = 0, $471$hi = 0, $478$hi = 0, $487$hi = 0, $488$hi = 0, $24_1 = 0, $41_1 = 0, $73_1 = 0, $96_1 = 0, $440$hi = 0, $441$hi = 0, $442$hi = 0, $443$hi = 0, $445$hi = 0, $446$hi = 0, $447$hi = 0, $448$hi = 0, $449$hi = 0, $450$hi = 0, $214_1 = 0, $233_1 = 0, $454$hi = 0, $247_1 = 0, $457$hi = 0, $458$hi = 0, $459$hi = 0, $460$hi = 0, $461$hi = 0, $462$hi = 0, $463$hi = 0, $464$hi = 0, $85_1 = 0, $86_1 = 0, $87_1 = 0, $475$hi = 0, $480$hi = 0, $88_1 = 0, $89_1 = 0, $90_1 = 0, $483$hi = 0, $484$hi = 0, $485$hi = 0, $486$hi = 0, $91_1 = 0, $92_1 = 0, $93_1 = 0, $491$hi = 0, $492$hi = 0, $493$hi = 0, $494$hi = 0, $364_1 = 0, $391_1 = 0, $423_1 = 0, $437$hi = 0, $660_1 = 0, $824_1 = 0, $921_1 = 0, $454_1 = 0, $1070$hi = 0, $457_1 = 0, $1167_1 = 0, $1178_1 = 0, $463_1 = 0, $1186_1 = 0, $1189_1 = 0, $466_1 = 0, $1197_1 = 0, $470_1 = 0, $1211_1 = 0, $475_1 = 0, $1250$hi = 0, $1310_1 = 0, $1336_1 = 0, $1348_1 = 0, $1380_1 = 0, $434_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 176 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 168 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 164 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 160 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 156 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 152 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 148 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 132 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 128 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 84 | 0) >> 2] = $9_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $675(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!($3228((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 52 | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0, 48 | 0) | 0)) { + break label$1 + } + HEAP32[($8_1 + 84 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 1 | 0; + } + $24_1 = $676(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 144 | 0) >> 2] = $24_1; + label$2 : { + label$3 : { + if (!((0 | 0) != ($24_1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + break label$2; + } + HEAP32[($8_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + label$4 : { + if (HEAP32[($8_1 + 140 | 0) >> 2] | 0) { + break label$4 + } + $36_1 = $8_1 + 48 | 0; + $41_1 = 24; + $162($36_1 | 0, (((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $41_1 | 0) >> $41_1 | 0 | 0) == (0 | 0) & 1 | 0 | 931071618 | 0 | 0); + $162($36_1 + 4 | 0 | 0, 3007e3 | 0); + $162($36_1 + 8 | 0 | 0, HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0); + $162($36_1 + 12 | 0 | 0, HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0); + label$5 : { + if (HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0) { + break label$5 + } + $85(8 | 0, ((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 52 | 0) + 32 | 0 | 0); + } + i64toi32_i32$0 = 0; + $437$hi = i64toi32_i32$0; + $71_1 = $8_1 + 48 | 0; + $73_1 = 0; + i64toi32_i32$2 = ((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 52 | 0) + 32 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $660_1 = i64toi32_i32$0; + i64toi32_i32$0 = $71_1 + 16 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $660_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $677(1 | 0, $71_1 | 0, 24 | 0, $73_1 | 0, $8_1 + 40 | 0 | 0); + $162($71_1 + 24 | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0); + $162($71_1 + 28 | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + $96_1 = 24; + HEAP8[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 65 | 0) >> 0] = (((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $96_1 | 0) >> $96_1 | 0 | 0) == ($73_1 | 0) & 1 | 0; + HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 80 | 0) >> 2] = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 47 | 0) >> 0] = 1; + i64toi32_i32$1 = $437$hi; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $71_1 | 0, 32 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($8_1 + 144 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + break label$2; + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 48 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 148 | 0) >> 2] | 0) >> 2 | 0) & 3 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($8_1 + 144 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + break label$2; + } + } + } + i64toi32_i32$1 = 0; + HEAP32[($8_1 + 88 | 0) >> 2] = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + HEAP32[($8_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $8_1; + HEAP32[($8_1 + 96 | 0) >> 2] = 0; + HEAP32[($8_1 + 100 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($8_1 + 104 | 0) >> 2] = HEAP32[($8_1 + 148 | 0) >> 2] | 0; + HEAP32[($8_1 + 108 | 0) >> 2] = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + $440$hi = i64toi32_i32$1; + i64toi32_i32$0 = (HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $441$hi = i64toi32_i32$1; + i64toi32_i32$1 = $440$hi; + i64toi32_i32$1 = $441$hi; + $824_1 = i64toi32_i32$0; + i64toi32_i32$1 = $440$hi; + i64toi32_i32$0 = $441$hi; + i64toi32_i32$0 = __wasm_i64_mul(((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 1 | 0) - 1 | 0 | 0, i64toi32_i32$1 | 0, $824_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $442$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $443$hi = i64toi32_i32$1; + i64toi32_i32$1 = $442$hi; + i64toi32_i32$1 = $443$hi; + i64toi32_i32$1 = $442$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $443$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $8_1; + HEAP32[($8_1 + 112 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($8_1 + 116 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($8_1 + 124 | 0) >> 2] = (HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 24 | 0; + HEAP32[($8_1 + 136 | 0) >> 2] = HEAP32[($8_1 + 160 | 0) >> 2] | 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + label$11 : { + label$12 : { + if (!(HEAP32[($8_1 + 84 | 0) >> 2] | 0)) { + break label$12 + } + label$13 : { + if ((HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$13 + } + if (HEAP32[($8_1 + 152 | 0) >> 2] | 0) { + break label$12 + } + } + HEAP32[($8_1 + 32 | 0) >> 2] = 0; + $678(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, $8_1 + 32 | 0 | 0) | 0; + label$14 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($8_1 + 84 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$14 + } + i64toi32_i32$5 = 0; + $445$hi = i64toi32_i32$5; + i64toi32_i32$2 = (HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $446$hi = i64toi32_i32$5; + i64toi32_i32$5 = $445$hi; + i64toi32_i32$5 = $446$hi; + $921_1 = i64toi32_i32$2; + i64toi32_i32$5 = $445$hi; + i64toi32_i32$2 = $446$hi; + i64toi32_i32$2 = __wasm_i64_mul((HEAP32[($8_1 + 32 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$5 | 0, $921_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $447$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $448$hi = i64toi32_i32$5; + i64toi32_i32$5 = $447$hi; + i64toi32_i32$5 = $448$hi; + i64toi32_i32$5 = $447$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $448$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $449$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $450$hi = i64toi32_i32$4; + i64toi32_i32$4 = $449$hi; + i64toi32_i32$4 = $450$hi; + i64toi32_i32$4 = $449$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$1 = $450$hi; + i64toi32_i32$3 = 24; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$5 = $8_1; + HEAP32[($8_1 + 24 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($8_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$15 : { + label$16 : { + if (!(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0)) { + break label$16 + } + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$15 + } + } + HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 104 | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$4 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!(HEAP32[($8_1 + 144 | 0) >> 2] | 0)) { + break label$17 + } + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + break label$2; + } + $214_1 = HEAP32[($8_1 + 136 | 0) >> 2] | 0; + HEAP16[($214_1 + 28 | 0) >> 1] = ((HEAPU16[($214_1 + 28 | 0) >> 1] | 0) & 65535 | 0) & -65 | 0; + break label$11; + } + } + HEAP32[($8_1 + 140 | 0) >> 2] = (HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 1 | 0; + label$18 : { + label$19 : { + if (!(HEAP32[($8_1 + 152 | 0) >> 2] | 0)) { + break label$19 + } + if (!((HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$19 + } + $233_1 = HEAP32[($8_1 + 156 | 0) >> 2] | 0; + break label$18; + } + $233_1 = 0; + } + HEAP32[($8_1 + 36 | 0) >> 2] = $233_1; + i64toi32_i32$4 = $8_1; + i64toi32_i32$5 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 116 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $679($8_1 + 88 | 0 | 0, HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!(HEAP32[($8_1 + 144 | 0) >> 2] | 0)) { + break label$20 + } + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + break label$2; + } + HEAP32[($8_1 + 132 | 0) >> 2] = HEAP32[($8_1 + 136 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$5 >> 31 | 0; + $454_1 = i64toi32_i32$5; + $454$hi = i64toi32_i32$0; + i64toi32_i32$4 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($8_1 + 116 | 0) >> 2] | 0; + $1070$hi = i64toi32_i32$5; + i64toi32_i32$5 = $454$hi; + i64toi32_i32$5 = $1070$hi; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$0 = $454$hi; + i64toi32_i32$3 = $454_1; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$4 = $8_1; + HEAP32[($8_1 + 112 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($8_1 + 116 | 0) >> 2] = i64toi32_i32$2; + $247_1 = HEAP32[($8_1 + 136 | 0) >> 2] | 0; + HEAP16[($247_1 + 28 | 0) >> 1] = (HEAPU16[($247_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 64 | 0; + } + HEAP32[($8_1 + 136 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$10; + }; + } + label$21 : { + if (!(HEAP32[($8_1 + 152 | 0) >> 2] | 0)) { + break label$21 + } + if (!(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0)) { + break label$21 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $680(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!(HEAP32[($8_1 + 144 | 0) >> 2] | 0)) { + break label$22 + } + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + break label$2; + } + } + label$23 : { + if (!(HEAP32[($8_1 + 152 | 0) >> 2] | 0)) { + break label$23 + } + if (!((HEAP32[($8_1 + 148 | 0) >> 2] | 0) & 3 | 0)) { + break label$23 + } + HEAP32[($8_1 + 16 | 0) >> 2] = 1; + label$24 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 49 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$24 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $643(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$5 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($8_1 + 116 | 0) >> 2] | 0; + $457_1 = i64toi32_i32$2; + $457$hi = i64toi32_i32$4; + i64toi32_i32$2 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 >> 31 | 0; + $458$hi = i64toi32_i32$4; + i64toi32_i32$4 = $457$hi; + i64toi32_i32$4 = $458$hi; + $1167_1 = i64toi32_i32$2; + i64toi32_i32$4 = $457$hi; + i64toi32_i32$5 = $457_1; + i64toi32_i32$2 = $458$hi; + i64toi32_i32$3 = $1167_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $459$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $460$hi = i64toi32_i32$1; + i64toi32_i32$1 = $459$hi; + i64toi32_i32$1 = $460$hi; + i64toi32_i32$1 = $459$hi; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$5 = $460$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = i64toi32_i32$4 - i64toi32_i32$3 | 0; + i64toi32_i32$0 = (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$0 | 0; + $461$hi = i64toi32_i32$0; + i64toi32_i32$4 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$4 >> 31 | 0; + $462$hi = i64toi32_i32$0; + i64toi32_i32$0 = $461$hi; + i64toi32_i32$0 = $462$hi; + $1178_1 = i64toi32_i32$4; + i64toi32_i32$0 = $461$hi; + i64toi32_i32$4 = $462$hi; + i64toi32_i32$4 = __wasm_i64_sdiv(i64toi32_i32$2 | 0, i64toi32_i32$0 | 0, $1178_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $463_1 = i64toi32_i32$4; + $463$hi = i64toi32_i32$0; + i64toi32_i32$4 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$4 >> 31 | 0; + $464$hi = i64toi32_i32$0; + i64toi32_i32$0 = $463$hi; + i64toi32_i32$0 = $464$hi; + $1186_1 = i64toi32_i32$4; + i64toi32_i32$0 = $463$hi; + i64toi32_i32$4 = $464$hi; + i64toi32_i32$4 = __wasm_i64_mul($463_1 | 0, i64toi32_i32$0 | 0, $1186_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1189_1 = i64toi32_i32$4; + i64toi32_i32$4 = $8_1; + HEAP32[($8_1 + 96 | 0) >> 2] = $1189_1; + HEAP32[($8_1 + 100 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($8_1 + 100 | 0) >> 2] | 0; + $466_1 = i64toi32_i32$0; + $466$hi = i64toi32_i32$4; + i64toi32_i32$1 = $8_1; + i64toi32_i32$4 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 116 | 0) >> 2] | 0; + $467$hi = i64toi32_i32$0; + i64toi32_i32$0 = $466$hi; + i64toi32_i32$0 = $467$hi; + i64toi32_i32$0 = $466$hi; + i64toi32_i32$0 = $467$hi; + $1197_1 = i64toi32_i32$4; + i64toi32_i32$0 = $466$hi; + i64toi32_i32$1 = $466_1; + i64toi32_i32$4 = $467$hi; + i64toi32_i32$3 = $1197_1; + HEAP32[($8_1 + 16 | 0) >> 2] = ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0; + label$25 : { + label$26 : while (1) { + i64toi32_i32$3 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 116 | 0) >> 2] | 0; + $470_1 = i64toi32_i32$1; + $470$hi = i64toi32_i32$0; + i64toi32_i32$3 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 100 | 0) >> 2] | 0; + $471$hi = i64toi32_i32$1; + i64toi32_i32$1 = $470$hi; + i64toi32_i32$1 = $471$hi; + i64toi32_i32$1 = $470$hi; + i64toi32_i32$1 = $471$hi; + $1211_1 = i64toi32_i32$0; + i64toi32_i32$1 = $470$hi; + i64toi32_i32$3 = $470_1; + i64toi32_i32$0 = $471$hi; + i64toi32_i32$4 = $1211_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $85_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$4 >>> 0) { + $86_1 = 0 + } else { + $86_1 = 1 + } + $87_1 = $86_1; + } else { + $87_1 = 0 + } + $85_1 = $87_1; + } + if (!($85_1 & 1 | 0)) { + break label$25 + } + i64toi32_i32$4 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 116 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $679($8_1 + 88 | 0 | 0, HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 156 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$27 : { + if (!(HEAP32[($8_1 + 144 | 0) >> 2] | 0)) { + break label$27 + } + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + break label$2; + } + i64toi32_i32$3 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $475_1 = i64toi32_i32$3; + $475$hi = i64toi32_i32$1; + i64toi32_i32$4 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 116 | 0) >> 2] | 0; + $1250$hi = i64toi32_i32$3; + i64toi32_i32$3 = $475$hi; + i64toi32_i32$3 = $1250$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $475$hi; + i64toi32_i32$0 = $475_1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$4 = $8_1; + HEAP32[($8_1 + 112 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($8_1 + 116 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($8_1 + 128 | 0) >> 2] = (HEAP32[($8_1 + 128 | 0) >> 2] | 0) + 1 | 0; + continue label$26; + }; + } + } + label$28 : { + if (!(HEAP32[($8_1 + 16 | 0) >> 2] | 0)) { + break label$28 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $190(HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 148 | 0) >> 2] | 0) & 3 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + } + } + label$29 : { + if (!(HEAP32[($8_1 + 152 | 0) >> 2] | 0)) { + break label$29 + } + if (!((HEAPU8[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 47 | 0) >> 0] | 0) & 255 | 0)) { + break label$29 + } + i64toi32_i32$2 = 0; + $478$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $480$hi = i64toi32_i32$4; + i64toi32_i32$4 = $478$hi; + i64toi32_i32$4 = $480$hi; + i64toi32_i32$4 = $478$hi; + i64toi32_i32$4 = $480$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $478$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$2 | 0)) { + $88_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + $89_1 = 0 + } else { + $89_1 = 1 + } + $90_1 = $89_1; + } else { + $90_1 = 0 + } + $88_1 = $90_1; + } + if (!($88_1 & 1 | 0)) { + break label$29 + } + i64toi32_i32$0 = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $1310_1 = i64toi32_i32$3; + i64toi32_i32$3 = $8_1; + HEAP32[$8_1 >> 2] = $1310_1; + HEAP32[($8_1 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $483$hi = i64toi32_i32$4; + i64toi32_i32$3 = (HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$4 = i64toi32_i32$3 >> 31 | 0; + $484$hi = i64toi32_i32$4; + i64toi32_i32$4 = $483$hi; + i64toi32_i32$4 = $484$hi; + $1336_1 = i64toi32_i32$3; + i64toi32_i32$4 = $483$hi; + i64toi32_i32$3 = $484$hi; + i64toi32_i32$3 = __wasm_i64_mul((((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + (HEAP32[($8_1 + 128 | 0) >> 2] | 0) | 0) + 1 | 0) - 1 | 0 | 0, i64toi32_i32$4 | 0, $1336_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $485$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $486$hi = i64toi32_i32$4; + i64toi32_i32$4 = $485$hi; + i64toi32_i32$4 = $486$hi; + i64toi32_i32$4 = $485$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $486$hi; + i64toi32_i32$2 = 32; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $487$hi = i64toi32_i32$5; + i64toi32_i32$4 = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] | 0; + $488$hi = i64toi32_i32$0; + i64toi32_i32$0 = $487$hi; + i64toi32_i32$0 = $488$hi; + i64toi32_i32$0 = $487$hi; + i64toi32_i32$0 = $488$hi; + $1348_1 = i64toi32_i32$5; + i64toi32_i32$0 = $487$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$5 = $488$hi; + i64toi32_i32$2 = $1348_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$5 | 0)) { + $91_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$4 >>> 0 <= i64toi32_i32$2 >>> 0) { + $92_1 = 0 + } else { + $92_1 = 1 + } + $93_1 = $92_1; + } else { + $93_1 = 0 + } + $91_1 = $93_1; + } + label$30 : { + if (!($91_1 & 1 | 0)) { + break label$30 + } + i64toi32_i32$4 = 0; + $491$hi = i64toi32_i32$4; + i64toi32_i32$0 = (HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $492$hi = i64toi32_i32$4; + i64toi32_i32$4 = $491$hi; + i64toi32_i32$4 = $492$hi; + $1380_1 = i64toi32_i32$0; + i64toi32_i32$4 = $491$hi; + i64toi32_i32$0 = $492$hi; + i64toi32_i32$0 = __wasm_i64_mul((((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + (HEAP32[($8_1 + 128 | 0) >> 2] | 0) | 0) + 1 | 0) - 1 | 0 | 0, i64toi32_i32$4 | 0, $1380_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $493$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $494$hi = i64toi32_i32$4; + i64toi32_i32$4 = $493$hi; + i64toi32_i32$4 = $494$hi; + i64toi32_i32$4 = $493$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $494$hi; + i64toi32_i32$5 = 32; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$2 = $8_1; + HEAP32[$8_1 >> 2] = i64toi32_i32$3; + HEAP32[($8_1 + 4 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$4 = $8_1; + i64toi32_i32$1 = HEAP32[$8_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + $681(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0); + HEAP8[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 47 | 0) >> 0] = 0; + } + HEAP32[($8_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[($8_1 + 136 | 0) >> 2] = HEAP32[($8_1 + 160 | 0) >> 2] | 0; + label$31 : while (1) { + $364_1 = 0; + label$32 : { + if (!((HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$32 + } + $364_1 = (HEAP32[($8_1 + 144 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$33 : { + if (!($364_1 & 1 | 0)) { + break label$33 + } + label$34 : { + label$35 : { + if (((HEAPU16[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0) { + break label$35 + } + break label$34; + } + HEAP32[($8_1 + 140 | 0) >> 2] = (HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $682(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($8_1 + 136 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$31; + } + break label$31; + }; + label$36 : while (1) { + $391_1 = 0; + label$37 : { + if (HEAP32[($8_1 + 144 | 0) >> 2] | 0) { + break label$37 + } + $391_1 = (HEAP32[($8_1 + 128 | 0) >> 2] | 0 | 0) > (0 | 0); + } + label$38 : { + if (!($391_1 & 1 | 0)) { + break label$38 + } + HEAP32[($8_1 + 140 | 0) >> 2] = (HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 128 | 0) >> 2] = (HEAP32[($8_1 + 128 | 0) >> 2] | 0) + -1 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $682(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + continue label$36; + } + break label$36; + }; + label$39 : { + if (HEAP32[($8_1 + 144 | 0) >> 2] | 0) { + break label$39 + } + HEAP16[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 66 | 0) >> 1] = (HEAP32[($8_1 + 164 | 0) >> 2] | 0) & 65280 | 0 | ((HEAP32[($8_1 + 164 | 0) >> 2] | 0) >> 16 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($8_1 + 140 | 0) >> 2] | 0; + label$40 : { + if (!(HEAP32[($8_1 + 152 | 0) >> 2] | 0)) { + break label$40 + } + $423_1 = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + HEAP32[($423_1 + 60 | 0) >> 2] = (HEAP32[($423_1 + 60 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($8_1 + 156 | 0) >> 2] | 0; + } + label$41 : { + if (!(HEAP32[($8_1 + 152 | 0) >> 2] | 0)) { + break label$41 + } + $683(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 140 | 0) >> 2] | 0; + } + } + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + } + $434_1 = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + global$0 = $8_1 + 176 | 0; + return $434_1 | 0; + } + + function $654($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $684(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $655($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $23_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + $7_1 = 0; + label$2 : { + if (!(($7_1 | 0) == ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $715(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + } + $23_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $23_1 | 0; + } + + function $656($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $3_1 = 0, $14$hi = 0, $14_1 = 0, $17$hi = 0, $19$hi = 0, $20$hi = 0, $21$hi = 0, $22$hi = 0, $23$hi = 0, $24$hi = 0, $25$hi = 0, $26$hi = 0, $42_1 = 0, $84_1 = 0; + $3_1 = global$0 - 32 | 0; + i64toi32_i32$0 = 0; + $14_1 = 0; + $14$hi = i64toi32_i32$0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $14_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $42_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $42_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $17$hi = i64toi32_i32$0; + i64toi32_i32$0 = $14$hi; + i64toi32_i32$0 = $17$hi; + i64toi32_i32$0 = $14$hi; + i64toi32_i32$0 = $17$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$3 = $14_1; + label$1 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $19$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $20$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $20$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $21$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $22$hi = i64toi32_i32$5; + i64toi32_i32$5 = $21$hi; + i64toi32_i32$5 = $22$hi; + i64toi32_i32$5 = $21$hi; + i64toi32_i32$3 = $22$hi; + i64toi32_i32$3 = __wasm_i64_sdiv(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $23$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $24$hi = i64toi32_i32$5; + i64toi32_i32$5 = $23$hi; + i64toi32_i32$5 = $24$hi; + i64toi32_i32$5 = $23$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $24$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $25$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $26$hi = i64toi32_i32$4; + i64toi32_i32$4 = $25$hi; + i64toi32_i32$4 = $26$hi; + i64toi32_i32$4 = $25$hi; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = __wasm_i64_mul(i64toi32_i32$2 | 0, i64toi32_i32$4 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $84_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $84_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$4; + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$4 | 0; + } + + function $657($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $138$hi = 0, i64toi32_i32$5 = 0, $140$hi = 0, $143_1 = 0, $113_1 = 0, $147$hi = 0, $131_1 = 0, i64toi32_i32$4 = 0, $252_1 = 0, $312_1 = 0, $446$hi = 0, $135_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $138$hi = i64toi32_i32$0; + i64toi32_i32$2 = (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $138$hi; + i64toi32_i32$3 = 0; + label$4 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$3 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $252_1 = i64toi32_i32$2; + i64toi32_i32$2 = (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 48) | 0; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = $252_1; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + i64toi32_i32$1 = $656(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $143_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = $143_1; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 80 | 0) >> 2] = $143_1; + HEAP32[(i64toi32_i32$1 + 84 | 0) >> 2] = i64toi32_i32$2; + label$5 : { + label$6 : { + label$7 : { + if ((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0) { + break label$7 + } + if (((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0) { + break label$7 + } + if (!(($619(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0) & 512 | 0)) { + break label$6 + } + } + i64toi32_i32$3 = 0; + i64toi32_i32$2 = HEAPU8[(i64toi32_i32$3 + 4815 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 4816 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 4817 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 4818 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$3 + 4819 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 4820 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 4821 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 4822 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $312_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $18_1 = $312_1; + HEAP8[i64toi32_i32$2 >> 0] = $18_1; + HEAP8[(i64toi32_i32$2 + 1 | 0) >> 0] = $18_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$2 + 2 | 0) >> 0] = $18_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$2 + 3 | 0) >> 0] = $18_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$2 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$2 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$2 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$2 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $162((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0 | 0, -1 | 0); + break label$5; + } + i64toi32_i32$1 = 0; + i64toi32_i32$2 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $19_1 = 0; + HEAP8[i64toi32_i32$2 >> 0] = $19_1; + HEAP8[(i64toi32_i32$2 + 1 | 0) >> 0] = $19_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$2 + 2 | 0) >> 0] = $19_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$2 + 3 | 0) >> 0] = $19_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$2 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$2 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$2 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$2 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $20_1 = i64toi32_i32$2 + 8 | 0; + $21_1 = 0; + HEAP8[$20_1 >> 0] = $21_1; + HEAP8[($20_1 + 1 | 0) >> 0] = $21_1 >>> 8 | 0; + HEAP8[($20_1 + 2 | 0) >> 0] = $21_1 >>> 16 | 0; + HEAP8[($20_1 + 3 | 0) >> 0] = $21_1 >>> 24 | 0; + } + $85(4 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 48 | 0 | 0); + $162((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + $162((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 16 | 0 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $162((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0); + $162((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0); + $3289((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 28 | 0 | 0, 0 | 0, (HEAP32[($3_1 + 16 | 0) >> 2] | 0) - 28 | 0 | 0) | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + label$8 : while (1) { + $113_1 = 0; + label$9 : { + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$9 + } + $113_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0) >>> 0; + } + label$10 : { + if (!($113_1 & 1 | 0)) { + break label$10 + } + i64toi32_i32$3 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = 0; + $147$hi = i64toi32_i32$2; + $131_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$3 = $131_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $446$hi = i64toi32_i32$1; + i64toi32_i32$1 = $147$hi; + i64toi32_i32$1 = $446$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $147$hi; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$3 = $131_1; + HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0; + continue label$8; + } + break label$8; + }; + $135_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $135_1 | 0; + } + + function $658($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($13_1 + 28 | 0) >> 1] = ((HEAPU16[($13_1 + 28 | 0) >> 1] | 0) & 65535 | 0) & -9 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + return; + } + + function $659($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 30 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $618(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $15_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $15_1 | 0; + } + + function $660($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $68_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 11 | 0) >> 0] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + if (!(((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + break label$3; + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$5; + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 33 | 0) >> 0] = 2; + } + } + } + label$8 : { + if (!(((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$8 + } + $68_1 = 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = $68_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != ($68_1 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$9; + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$11 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 33 | 0) >> 0] = 1; + } + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$12 : { + if ((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + if (!((0 | 0) == (((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + } + return; + } + + function $661($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + FUNCTION_TABLE[HEAP32[(0 + 68500 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0, HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0, 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $662($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $73_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 >= (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : while (1) { + if (!(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$5 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + continue label$4; + }; + } + label$6 : { + if (!((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0 <= 4e3 >>> 0 & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = (((HEAPU8[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 3 | 0) | 0) >> 0] | 0) & 255 | 0) & (1 << ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 7 | 0) | 0) | 0 | 0) != (0 | 0) & 1 | 0; + break label$1; + } + $73_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $73_1 + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (($73_1 << 0 | 0) >>> 0) % (125 >>> 0) | 0; + label$7 : { + label$8 : while (1) { + if (!(HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0)) { + break label$7 + } + label$9 : { + if (!((HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >>> 0) % (125 >>> 0) | 0; + continue label$8; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $663($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + if ((HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = 8222; + HEAP32[$3_1 >> 2] = HEAP32[(0 + 68396 | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + } + HEAP32[$3_1 >> 2] = -1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $666(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, 8222 | 0, HEAP32[$3_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $39_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $39_1 | 0; + } + + function $664($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $9_1 = 0, i64toi32_i32$1 = 0, $12_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $9_1 = $5_1 + 8 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + $162($9_1 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $12_1 = $147(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $9_1 | 0, 4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + global$0 = $5_1 + 32 | 0; + return $12_1 | 0; + } + + function $665($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $31_1 = 0, $37_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 48) | 0; + label$3 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + $31_1 = $517(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | $31_1 | 0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $37_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $37_1 | 0; + } + + function $666($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + $3289(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0, 72 | 0) | 0; + label$1 : { + label$2 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $618(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + break label$3; + } + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1020; + } + HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] = 4656; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + } + $41_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $41_1 | 0; + } + + function $667($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $668(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $668($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $669($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $132$hi = 0, $133$hi = 0, $136$hi = 0, $137$hi = 0, $140$hi = 0, $147$hi = 0, $148$hi = 0, $96_1 = 0, $130$hi = 0, $131$hi = 0, $50_1 = 0, $51_1 = 0, $52_1 = 0, $142$hi = 0, $34_1 = 0, $145$hi = 0, $146$hi = 0, $53_1 = 0, $54_1 = 0, $55_1 = 0, $151$hi = 0, $154$hi = 0, $155$hi = 0, $68_1 = 0, $100_1 = 0, $157$hi = 0, $158$hi = 0, $160_1 = 0, $160$hi = 0, $130_1 = 0, $196_1 = 0, $205_1 = 0, $136_1 = 0, $223_1 = 0, $145_1 = 0, $272_1 = 0, $279_1 = 0, $151_1 = 0, $297$hi = 0, $154_1 = 0, $324_1 = 0, $157_1 = 0, $479_1 = 0, $127_1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $130_1 = i64toi32_i32$1; + $130$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $131$hi = i64toi32_i32$1; + i64toi32_i32$1 = $130$hi; + i64toi32_i32$1 = $131$hi; + $196_1 = i64toi32_i32$0; + i64toi32_i32$1 = $130$hi; + i64toi32_i32$2 = $130_1; + i64toi32_i32$0 = $131$hi; + i64toi32_i32$3 = $196_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $132$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $133$hi = i64toi32_i32$2; + i64toi32_i32$2 = $132$hi; + i64toi32_i32$2 = $133$hi; + i64toi32_i32$2 = $132$hi; + i64toi32_i32$2 = $133$hi; + $205_1 = i64toi32_i32$5; + i64toi32_i32$2 = $132$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$5 = $133$hi; + i64toi32_i32$3 = $205_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $50_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $51_1 = 0 + } else { + $51_1 = 1 + } + $52_1 = $51_1; + } else { + $52_1 = 0 + } + $50_1 = $52_1; + } + label$1 : { + label$2 : { + if (!($50_1 & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 522; + break label$1; + } + i64toi32_i32$3 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $136_1 = i64toi32_i32$1; + $136$hi = i64toi32_i32$2; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $137$hi = i64toi32_i32$1; + i64toi32_i32$1 = $136$hi; + i64toi32_i32$1 = $137$hi; + i64toi32_i32$1 = $136$hi; + i64toi32_i32$1 = $137$hi; + $223_1 = i64toi32_i32$2; + i64toi32_i32$1 = $136$hi; + i64toi32_i32$3 = $136_1; + i64toi32_i32$2 = $137$hi; + i64toi32_i32$5 = $223_1; + label$3 : { + label$4 : { + label$5 : { + if (((i64toi32_i32$3 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0) { + break label$5 + } + i64toi32_i32$3 = 0; + $140$hi = i64toi32_i32$3; + i64toi32_i32$5 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $142$hi = i64toi32_i32$1; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$1 = $142$hi; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$1 = $142$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$3 = $140$hi; + i64toi32_i32$2 = 0; + if (!(((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$4 + } + } + i64toi32_i32$5 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$6 : while (1) { + $34_1 = 0; + label$7 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $145_1 = i64toi32_i32$5; + $145$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $146$hi = i64toi32_i32$1; + i64toi32_i32$1 = $145$hi; + i64toi32_i32$1 = $146$hi; + $272_1 = i64toi32_i32$5; + i64toi32_i32$1 = $145$hi; + i64toi32_i32$2 = $145_1; + i64toi32_i32$5 = $146$hi; + i64toi32_i32$3 = $272_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $147$hi = i64toi32_i32$4; + i64toi32_i32$1 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $148$hi = i64toi32_i32$2; + i64toi32_i32$2 = $147$hi; + i64toi32_i32$2 = $148$hi; + i64toi32_i32$2 = $147$hi; + i64toi32_i32$2 = $148$hi; + $279_1 = i64toi32_i32$4; + i64toi32_i32$2 = $147$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$4 = $148$hi; + i64toi32_i32$3 = $279_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$4 | 0)) { + $53_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$1 >>> 0 > i64toi32_i32$3 >>> 0) { + $54_1 = 0 + } else { + $54_1 = 1 + } + $55_1 = $54_1; + } else { + $55_1 = 0 + } + $53_1 = $55_1; + } + $34_1 = $53_1; + } + label$8 : { + if (!($34_1 & 1 | 0)) { + break label$8 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $151_1 = i64toi32_i32$2; + $151$hi = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $297$hi = i64toi32_i32$2; + i64toi32_i32$2 = $151$hi; + i64toi32_i32$2 = $297$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$4 = $151_1; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + continue label$6; + } + break label$6; + }; + break label$3; + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $154_1 = i64toi32_i32$0; + $154$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$0 >> 31 | 0; + $155$hi = i64toi32_i32$3; + i64toi32_i32$3 = $154$hi; + i64toi32_i32$3 = $155$hi; + $324_1 = i64toi32_i32$0; + i64toi32_i32$3 = $154$hi; + i64toi32_i32$0 = $155$hi; + i64toi32_i32$0 = __wasm_i64_srem($154_1 | 0, i64toi32_i32$3 | 0, $324_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 24 | 0) >> 2] = i64toi32_i32$0; + label$9 : while (1) { + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0; + label$10 : { + label$11 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < ((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$11 + } + $68_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + break label$10; + } + $68_1 = (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0; + } + HEAP32[$6_1 >> 2] = $68_1; + $3288(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) + (HEAP32[$6_1 >> 2] | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) - (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + $96_1 = 0; + label$12 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$12 + } + $100_1 = HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = $100_1; + $96_1 = 0; + if (!(($100_1 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $96_1 = (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) > (0 | 0); + } + if ($96_1 & 1 | 0) { + continue label$9 + } + break label$9; + }; + label$13 : { + label$14 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $157_1 = i64toi32_i32$3; + $157$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$3 >> 31 | 0; + $158$hi = i64toi32_i32$0; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$0 = $158$hi; + $479_1 = i64toi32_i32$3; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$2 = $157_1; + i64toi32_i32$3 = $158$hi; + i64toi32_i32$4 = $479_1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $160_1 = i64toi32_i32$1; + $160$hi = i64toi32_i32$5; + break label$13; + } + i64toi32_i32$5 = 0; + $160_1 = 0; + $160$hi = i64toi32_i32$5; + } + i64toi32_i32$5 = $160$hi; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] = $160_1; + HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] = i64toi32_i32$5; + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + } + $127_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $127_1 | 0; + } + + function $670($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $122$hi = 0, $123$hi = 0, $120$hi = 0, $121$hi = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $127$hi = 0, $128$hi = 0, $59_1 = 0, $81_1 = 0, $130$hi = 0, $111_1 = 0, $133$hi = 0, $134$hi = 0, $120_1 = 0, $183_1 = 0, $195_1 = 0, $127_1 = 0, $260_1 = 0, $130_1 = 0, $414$hi = 0, $133_1 = 0, $427_1 = 0, $117_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $120_1 = i64toi32_i32$1; + $120$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $121$hi = i64toi32_i32$1; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$1 = $121$hi; + $183_1 = i64toi32_i32$0; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$2 = $120_1; + i64toi32_i32$0 = $121$hi; + i64toi32_i32$3 = $183_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $122$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $123$hi = i64toi32_i32$5; + i64toi32_i32$5 = $122$hi; + i64toi32_i32$5 = $123$hi; + i64toi32_i32$5 = $122$hi; + i64toi32_i32$5 = $123$hi; + $195_1 = i64toi32_i32$2; + i64toi32_i32$5 = $122$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $123$hi; + i64toi32_i32$3 = $195_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$2 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $35_1 = 0 + } else { + $35_1 = 1 + } + $36_1 = $35_1; + } else { + $36_1 = 0 + } + $34_1 = $36_1; + } + if (!($34_1 & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $671(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$3 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $147(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + break label$1; + } + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $127_1 = i64toi32_i32$5; + $127$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $128$hi = i64toi32_i32$1; + i64toi32_i32$1 = $127$hi; + i64toi32_i32$1 = $128$hi; + $260_1 = i64toi32_i32$5; + i64toi32_i32$1 = $127$hi; + i64toi32_i32$5 = $128$hi; + i64toi32_i32$5 = __wasm_i64_srem($127_1 | 0, i64toi32_i32$1 | 0, $260_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 16 | 0) >> 2] = i64toi32_i32$5; + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) < ((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + $59_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + break label$6; + } + $59_1 = (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0; + } + HEAP32[($6_1 + 12 | 0) >> 2] = $59_1; + label$8 : { + if (HEAP32[($6_1 + 16 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 8 | 0) + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if ((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 3082; + break label$1; + } + $81_1 = 0; + HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] = $81_1; + label$10 : { + label$11 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != ($81_1 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + break label$10; + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + $3288(((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 4 | 0) + (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) - (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $130_1 = i64toi32_i32$5; + $130$hi = i64toi32_i32$1; + $111_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$3 = $111_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $414$hi = i64toi32_i32$5; + i64toi32_i32$5 = $130$hi; + i64toi32_i32$5 = $414$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $130$hi; + i64toi32_i32$2 = $130_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$3 = $111_1; + HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] = i64toi32_i32$4; + continue label$5; + }; + } + i64toi32_i32$3 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 >> 31 | 0; + $133_1 = i64toi32_i32$3; + $133$hi = i64toi32_i32$4; + i64toi32_i32$5 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $134$hi = i64toi32_i32$3; + i64toi32_i32$3 = $133$hi; + i64toi32_i32$3 = $134$hi; + $427_1 = i64toi32_i32$4; + i64toi32_i32$3 = $133$hi; + i64toi32_i32$5 = $133_1; + i64toi32_i32$4 = $134$hi; + i64toi32_i32$2 = $427_1; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + } + $117_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $117_1 | 0; + } + + function $671($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $63$hi = 0, $64$hi = 0, $61$hi = 0, $62$hi = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $67$hi = 0, $68$hi = 0, $71$hi = 0, $61_1 = 0, $150_1 = 0, $157_1 = 0, $67_1 = 0, $169_1 = 0, $71_1 = 0, $204$hi = 0, $57_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 112 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 100 | 0) >> 2] = HEAP32[($3_1 + 108 | 0) >> 2] | 0; + $3288($3_1 + 24 | 0 | 0, HEAP32[($3_1 + 108 | 0) >> 2] | 0 | 0, 72 | 0) | 0; + $3289(HEAP32[($3_1 + 108 | 0) >> 2] | 0 | 0, 0 | 0, 72 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $618(HEAP32[($3_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 80 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 104 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $61_1 = i64toi32_i32$0; + $61$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $62$hi = i64toi32_i32$1; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $62$hi; + $150_1 = i64toi32_i32$0; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$2 = $61_1; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$3 = $150_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $63$hi = i64toi32_i32$5; + i64toi32_i32$1 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + $64$hi = i64toi32_i32$2; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$2 = $64$hi; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$2 = $64$hi; + $157_1 = i64toi32_i32$5; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$5 = $64$hi; + i64toi32_i32$3 = $157_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $23_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $24_1 = 0 + } else { + $24_1 = 1 + } + $25_1 = $24_1; + } else { + $25_1 = 0 + } + $23_1 = $25_1; + } + label$4 : { + if (!($23_1 & 1 | 0)) { + break label$4 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + $67_1 = i64toi32_i32$1; + $67$hi = i64toi32_i32$2; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $68$hi = i64toi32_i32$1; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$1 = $68$hi; + $169_1 = i64toi32_i32$2; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$3 = $67_1; + i64toi32_i32$2 = $68$hi; + i64toi32_i32$5 = $169_1; + i64toi32_i32$0 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + i64toi32_i32$4 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$4 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $147(HEAP32[($3_1 + 100 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($3_1 + 104 | 0) >> 2] | 0)) { + break label$5 + } + break label$2; + } + i64toi32_i32$4 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$4 >> 31 | 0; + $71_1 = i64toi32_i32$4; + $71$hi = i64toi32_i32$3; + i64toi32_i32$1 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $204$hi = i64toi32_i32$4; + i64toi32_i32$4 = $71$hi; + i64toi32_i32$4 = $204$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $71$hi; + i64toi32_i32$5 = $71_1; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + continue label$3; + }; + } + label$6 : { + if (HEAP32[($3_1 + 104 | 0) >> 2] | 0) { + break label$6 + } + $668($3_1 + 24 | 0 | 0); + } + } + label$7 : { + if (!(HEAP32[($3_1 + 104 | 0) >> 2] | 0)) { + break label$7 + } + $622(HEAP32[($3_1 + 100 | 0) >> 2] | 0 | 0); + $3288(HEAP32[($3_1 + 108 | 0) >> 2] | 0 | 0, $3_1 + 24 | 0 | 0, 72 | 0) | 0; + } + $57_1 = HEAP32[($3_1 + 104 | 0) >> 2] | 0; + global$0 = $3_1 + 112 | 0; + return $57_1 | 0; + } + + function $672($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $19$hi = 0, $9_1 = 0, $21$hi = 0, $23_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $19$hi = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $21$hi = i64toi32_i32$1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = $21$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = $21$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + label$1 : { + if (!(((i64toi32_i32$2 | 0) == (0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = 0; + $23_1 = 0; + $9_1 = 0; + $668(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $9_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = $9_1; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $23_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = $9_1; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $23_1; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$2; + } + global$0 = $4_1 + 32 | 0; + return 0 | 0; + } + + function $673($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return 0 | 0; + } + + function $674($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $29_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $29_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return 0 | 0; + } + + function $675($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0 | 0; + } + + function $676($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $20_1 = 0, $7_1 = 0, $27_1 = 0, $51_1 = 0, $48_1 = 0, $61_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + $7_1 = 16; + label$1 : { + label$2 : { + if (((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $7_1 | 0) >> $7_1 | 0) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $685(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$3 + } + $20_1 = 4; + $85($20_1 | 0, $3_1 + 8 | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $686(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $20_1 | 0, $20_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$5 + } + $27_1 = 4; + $687(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $688(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $27_1 | 0, $27_1 | 0); + break label$4; + } + label$6 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + } + } + $689(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 3 | 0); + HEAP16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 1] = 65535; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + label$7 : while (1) { + $48_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + $51_1 = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $51_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $690($48_1 | 0, $3_1 + 4 | 0 | 0, 1 | 0, $51_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + if ((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { + continue label$7 + } + break label$7; + }; + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $61_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $61_1 | 0; + } + + function $677($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $23_1 = 0, $25_1 = 0, $33_1 = 0; + $7_1 = global$0 - 48 | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + $23_1 = 0; + HEAP32[($7_1 + 20 | 0) >> 2] = $23_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $23_1; + } + label$3 : { + label$4 : { + if (!(HEAP32[($7_1 + 44 | 0) >> 2] | 0)) { + break label$4 + } + label$5 : while (1) { + $25_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $25_1 + 4 | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + ((HEAP32[$25_1 >> 2] | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0) | 0; + $33_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $33_1 + 4 | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + ((HEAP32[$33_1 >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0) | 0; + if ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + continue label$5 + } + break label$5; + }; + break label$3; + } + label$6 : while (1) { + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (((((((HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0) & 255 | 0) << 24 | 0) + (((HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0) & 65280 | 0) << 8 | 0) | 0) + (((HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0) & 16711680 | 0) >>> 8 | 0) | 0) + (((HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0) & -16777216 | 0) >>> 24 | 0) | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0) | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (((((((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 255 | 0) << 24 | 0) + (((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 65280 | 0) << 8 | 0) | 0) + (((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16711680 | 0) >>> 8 | 0) | 0) + (((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & -16777216 | 0) >>> 24 | 0) | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0) | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0; + if ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + continue label$6 + } + break label$6; + }; + } + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + return; + } + + function $678($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $12_1 = 0, $19_1 = 0, $52_1 = 0, $84_1 = 0, $98_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!(HEAP32[($5_1 + 56 | 0) >> 2] | 0)) { + break label$3 + } + $12_1 = 16; + if (((HEAPU16[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $12_1 | 0) >> $12_1 | 0) { + break label$2 + } + if ((HEAPU8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 50 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + } + $19_1 = 0; + HEAP32[(HEAP32[($5_1 + 64 | 0) >> 2] | 0) >> 2] = $19_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $19_1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $691(HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $691(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $692(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 8192; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $693(HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : while (1) { + HEAP16[($5_1 + 14 | 0) >> 1] = HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $52_1 = (HEAPU16[($5_1 + 14 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $52_1; + if (!$52_1) { + break label$7 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 40 | 0) >> 2] | 0) | 0; + label$9 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($5_1 + 56 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$9 + } + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$9 + } + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + $84_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $84_1 + -1 | 0; + label$10 : { + if ($84_1) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(62722 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $695(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + continue label$8; + }; + } + label$11 : { + if (!(HEAP32[($5_1 + 60 | 0) >> 2] | 0)) { + break label$11 + } + break label$4; + } + HEAP32[($5_1 + 52 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + -1 | 0; + continue label$5; + }; + } + HEAP32[(HEAP32[($5_1 + 64 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = 0; + } + $98_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + global$0 = $5_1 + 80 | 0; + return $98_1 | 0; + } + + function $679($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, $31$hi = 0, $32$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $21_1 = 0, $22_1 = 0, $24_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $696(HEAP32[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, $6_1 | 0); + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $697(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, $6_1 | 0, 24 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + $21_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $22_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + $24_1 = HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $31$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $32$hi = i64toi32_i32$0; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $32$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$3 = 24; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $697($21_1 | 0, $22_1 | 0, $24_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + $27_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $27_1 | 0; + } + + function $680($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $5_1 = 0, $110$hi = 0, $111$hi = 0, $112$hi = 0, $113$hi = 0, $114$hi = 0, $115$hi = 0, $57_1 = 0, $118$hi = 0, $119$hi = 0, $120$hi = 0, $121$hi = 0, $85_1 = 0, $203_1 = 0, $45_1 = 0, $50_1 = 0, $294_1 = 0, $106_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $38((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 76 | 0) >> 2] = 7; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 24; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + break label$3; + } + i64toi32_i32$0 = 0; + $110$hi = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $111$hi = i64toi32_i32$0; + i64toi32_i32$0 = $110$hi; + i64toi32_i32$0 = $111$hi; + $203_1 = i64toi32_i32$1; + i64toi32_i32$0 = $110$hi; + i64toi32_i32$1 = $111$hi; + i64toi32_i32$1 = __wasm_i64_mul(((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) - 1 | 0) - 1 | 0 | 0, i64toi32_i32$0 | 0, $203_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $112$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $113$hi = i64toi32_i32$0; + i64toi32_i32$0 = $112$hi; + i64toi32_i32$0 = $113$hi; + i64toi32_i32$0 = $112$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $113$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $114$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $115$hi = i64toi32_i32$5; + i64toi32_i32$5 = $114$hi; + i64toi32_i32$5 = $115$hi; + i64toi32_i32$5 = $114$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $115$hi; + i64toi32_i32$3 = 16; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$4; + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, 8 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + $45_1 = $161(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 76 | 0) >> 2] = $45_1; + $50_1 = $161((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 80 | 0) >> 2] = $50_1; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 104 | 0) >> 2] = 0; + label$5 : while (1) { + $57_1 = 0; + label$6 : { + if (HEAP32[($4_1 + 60 | 0) >> 2] | 0) { + break label$6 + } + $57_1 = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($4_1 + 68 | 0) >> 2] | 0) >>> 0; + } + label$7 : { + if (!($57_1 & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = 0; + $118$hi = i64toi32_i32$0; + i64toi32_i32$4 = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$0 = i64toi32_i32$4 >> 31 | 0; + $119$hi = i64toi32_i32$0; + i64toi32_i32$0 = $118$hi; + i64toi32_i32$0 = $119$hi; + $294_1 = i64toi32_i32$4; + i64toi32_i32$0 = $118$hi; + i64toi32_i32$4 = $119$hi; + i64toi32_i32$4 = __wasm_i64_mul((HEAP32[($4_1 + 28 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$0 | 0, $294_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $120$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $121$hi = i64toi32_i32$0; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$0 = $121$hi; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$4 = $121$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 24 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($4_1 + 60 | 0) >> 2] | 0) { + break label$8 + } + $85_1 = $4_1 + 32 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $161(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $161((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $696(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0 | 0, $85_1 | 0); + i64toi32_i32$0 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $85_1 | 0, 24 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + $42(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + } + $106_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $106_1 | 0; + } + + function $681($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $25$hi = 0, $26$hi = 0, i64toi32_i32$3 = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $25_1 = 0, $62_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + $449(); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $25_1 = i64toi32_i32$0; + $25$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$0; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $26$hi; + $62_1 = i64toi32_i32$1; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$2 = $25_1; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$3 = $62_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + if (!($13_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $188(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $450(); + label$2 : { + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$2 + } + $19_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + $82($19_1 | 0, 4789 | 0, $4_1 | 0); + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $682($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $60_1 = 0, $77_1 = 0, $81_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $692(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, $691(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0, $5_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 44 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) - (HEAP32[($5_1 + 40 | 0) >> 2] | 0) | 0; + label$3 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 16384 | 0) - ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) | 0; + $3289((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + label$4 : { + if (!(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0)) { + break label$4 + } + $698(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $693(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : while (1) { + if (!(((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$5 + } + $60_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $60_1 + -1 | 0; + label$7 : { + if ($60_1) { + break label$7 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(60721 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $695(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + continue label$6; + }; + } + HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + $77_1 = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 1 | 0) | 0; + HEAP16[($5_1 + 14 | 0) >> 1] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP16[$77_1 >> 1] = HEAPU16[($5_1 + 14 | 0) >> 1] | 0; + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + } + $81_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $81_1 | 0; + } + + function $683($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $3_1 = 0, $23_1 = 0, $43_1 = 0, $26_1 = 0, $46_1 = 0, $32_1 = 0, $34_1 = 0, $35_1 = 0, $37_1 = 0, $38_1 = 0, $40_1 = 0, $41_1 = 0, $42_1 = 0, $44_1 = 0, $45_1 = 0, $48_1 = 0, $49_1 = 0, $5_1 = 0, $27_1 = 0, $30_1 = 0, $33_1 = 0, $36_1 = 0, $39_1 = 0, $47_1 = 0, $50_1 = 0, $53_1 = 0, $56_1 = 0, $59_1 = 0, $130_1 = 0, $140_1 = 0, $150_1 = 0, $160_1 = 0, $170_1 = 0, $180_1 = 0, $194_1 = 0, $204_1 = 0, $214_1 = 0, $224_1 = 0, $234_1 = 0, $244_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $5_1 = 40; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $675(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 4 | 0) >> 2] = $5_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 0] = 1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = 3007e3; + $677(1 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0 | 0, $5_1 | 0, 0 | 0, ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) + 40 | 0 | 0); + $23_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0; + $26_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0; + i64toi32_i32$2 = $26_1; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $130_1 = i64toi32_i32$0; + i64toi32_i32$0 = $23_1; + $32_1 = $130_1; + HEAP8[i64toi32_i32$0 >> 0] = $32_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $32_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $32_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $32_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $27_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $27_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $140_1 = i64toi32_i32$1; + i64toi32_i32$1 = $23_1 + $27_1 | 0; + $34_1 = $140_1; + HEAP8[i64toi32_i32$1 >> 0] = $34_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $34_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $34_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $34_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $30_1 = 32; + i64toi32_i32$2 = $26_1 + $30_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $150_1 = i64toi32_i32$0; + i64toi32_i32$0 = $23_1 + $30_1 | 0; + $35_1 = $150_1; + HEAP8[i64toi32_i32$0 >> 0] = $35_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $35_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $35_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $35_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $33_1 = 24; + i64toi32_i32$2 = $26_1 + $33_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $160_1 = i64toi32_i32$1; + i64toi32_i32$1 = $23_1 + $33_1 | 0; + $37_1 = $160_1; + HEAP8[i64toi32_i32$1 >> 0] = $37_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $37_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $37_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $37_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $36_1 = 16; + i64toi32_i32$2 = $26_1 + $36_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $170_1 = i64toi32_i32$0; + i64toi32_i32$0 = $23_1 + $36_1 | 0; + $38_1 = $170_1; + HEAP8[i64toi32_i32$0 >> 0] = $38_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $38_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $38_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $38_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $39_1 = 8; + i64toi32_i32$2 = $26_1 + $39_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $180_1 = i64toi32_i32$1; + i64toi32_i32$1 = $23_1 + $39_1 | 0; + $40_1 = $180_1; + HEAP8[i64toi32_i32$1 >> 0] = $40_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $40_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $40_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $40_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $699(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $43_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $46_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0; + i64toi32_i32$2 = $46_1; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $194_1 = i64toi32_i32$0; + i64toi32_i32$0 = $43_1; + $41_1 = $194_1; + HEAP8[i64toi32_i32$0 >> 0] = $41_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $41_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $41_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $41_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $47_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $47_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $204_1 = i64toi32_i32$1; + i64toi32_i32$1 = $43_1 + $47_1 | 0; + $42_1 = $204_1; + HEAP8[i64toi32_i32$1 >> 0] = $42_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $42_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $42_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $42_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $50_1 = 32; + i64toi32_i32$2 = $46_1 + $50_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $214_1 = i64toi32_i32$0; + i64toi32_i32$0 = $43_1 + $50_1 | 0; + $44_1 = $214_1; + HEAP8[i64toi32_i32$0 >> 0] = $44_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $44_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $44_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $44_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $53_1 = 24; + i64toi32_i32$2 = $46_1 + $53_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $224_1 = i64toi32_i32$1; + i64toi32_i32$1 = $43_1 + $53_1 | 0; + $45_1 = $224_1; + HEAP8[i64toi32_i32$1 >> 0] = $45_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $45_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $45_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $45_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $56_1 = 16; + i64toi32_i32$2 = $46_1 + $56_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $234_1 = i64toi32_i32$0; + i64toi32_i32$0 = $43_1 + $56_1 | 0; + $48_1 = $234_1; + HEAP8[i64toi32_i32$0 >> 0] = $48_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $48_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $48_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $48_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $59_1 = 8; + i64toi32_i32$2 = $46_1 + $59_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $244_1 = i64toi32_i32$1; + i64toi32_i32$1 = $43_1 + $59_1 | 0; + $49_1 = $244_1; + HEAP8[i64toi32_i32$1 >> 0] = $49_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $49_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $49_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $49_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $684($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : while (1) { + label$2 : { + if ($128(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $136(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[$5_1 >> 2] | 0)) { + break label$3 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + } + } + $27_1 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $27_1; + if (($27_1 | 0) != (0 | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + global$0 = $5_1 + 16 | 0; + return; + } + + function $685($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0) + 96 | 0 | 0; + } + + function $686($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $700(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 10 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $24_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $24_1 | 0; + } + + function $687($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $17_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $6_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $685(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) + 32 | 0; + $17_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($17_1 + 112 | 0) >> 2] = (HEAP32[($17_1 + 112 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] = $6_1; + $162(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, ($161(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0); + HEAP32[((((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) + 32 | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $683(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + $36_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $6_1; + HEAP32[$36_1 >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 2; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (5 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $688($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $700(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 9 | 0) | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $689($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $700(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0, 5 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $690($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $71_1 = 0, $143_1 = 0, $262_1 = 0, $217_1 = 0, $302_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 32 | 0) >> 2] = 1; + label$3 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) > (100 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 15; + break label$1; + } + label$4 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) >= (10 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 32 | 0) >> 2] = Math_imul(Math_imul((HEAP32[($6_1 + 60 | 0) >> 2] | 0) - 9 | 0, (HEAP32[($6_1 + 60 | 0) >> 2] | 0) - 9 | 0), 39); + } + $463(HEAP32[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + label$5 : { + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + if ((HEAPU8[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 50 | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $701(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if (!((HEAP32[(HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 40 | 0) >> 2] = -1; + break label$8; + } + $71_1 = $702(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $71_1; + label$10 : { + label$11 : { + if (!((0 | 0) == ($71_1 | 0) & 1 | 0)) { + break label$11 + } + $689(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, 2 | 0); + HEAP32[($6_1 + 40 | 0) >> 2] = -1; + break label$10; + } + label$12 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 40 | 0) >> 2] = 261; + } + } + } + } + label$13 : { + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + break label$1; + } + label$14 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 50 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $703(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $685(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$15 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $702(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, 3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $699(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0); + label$16 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$16 + } + label$17 : { + if (!($3228($675(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 52 | 0 | 0, 48 | 0) | 0)) { + break label$17 + } + $689(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, 3 | 0); + HEAP32[($6_1 + 76 | 0) >> 2] = -1; + break label$1; + } + HEAP16[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 1] = 0; + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + break label$1; + } + label$18 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + break label$1; + } + } + $143_1 = 0; + HEAP32[($6_1 + 52 | 0) >> 2] = $143_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $143_1; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (5 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + label$21 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($6_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$21 + } + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$21 + } + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + label$22 : { + if (((HEAPU8[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0) & 2 | 0) { + break label$22 + } + label$23 : { + if ((HEAP32[($6_1 + 52 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$23 + } + if (HEAP32[($6_1 + 48 | 0) >> 2] | 0) { + break label$22 + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (5 | 0) & 1 | 0)) { + break label$24 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $686(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 3 | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$26 + } + $217_1 = ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[$217_1 >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $688(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 3 | 0 | 0, 1 | 0); + break label$24; + } + label$27 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + } + label$28 : { + if (HEAP32[($6_1 + 48 | 0) >> 2] | 0) { + break label$28 + } + HEAP32[($6_1 + 76 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0 ? -1 : 1288; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $702(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 48 | 0) >> 2] | 0) + 3 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$29 + } + label$30 : { + label$31 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$31 + } + $262_1 = -1; + break label$30; + } + $262_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 76 | 0) >> 2] = $262_1; + break label$1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 100 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + $699(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$32 : { + label$33 : { + if ((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$33 + } + if (!($3228($675(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 52 | 0 | 0, 48 | 0) | 0)) { + break label$32 + } + } + $689(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 48 | 0) >> 2] | 0) + 3 | 0 | 0); + HEAP32[($6_1 + 76 | 0) >> 2] = -1; + break label$1; + } + HEAP16[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 1] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + } + $302_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $302_1 | 0; + } + + function $691($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = ((((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4096 | 0) - 4062 | 0) - 1 | 0) >>> 12 | 0; + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $692($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $704(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[$5_1 >> 2] | 0) { + break label$1 + } + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16384 | 0; + label$2 : { + label$3 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 136 | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + break label$2; + } + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = (((HEAP32[($5_1 + 8 | 0) >> 2] | 0) - 1 | 0) << 12 | 0) + 4062 | 0; + } + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + -4 | 0; + } + $39_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $39_1 | 0; + } + + function $693($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return Math_imul(HEAP32[($3_1 + 12 | 0) >> 2] | 0, 383) & 8191 | 0 | 0; + } + + function $694($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = $6(11 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 4769 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $695($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) & 8191 | 0 | 0; + } + + function $696($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $10_1 = 0, $11_1 = 0, $12_1 = 0, $37_1 = 0, $140_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 4 | 0) >> 2] = ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 52 | 0) + 24 | 0; + $162(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0); + $162((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) { + break label$2 + } + $10_1 = ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 52 | 0) + 32 | 0; + i64toi32_i32$0 = HEAPU8[$10_1 >> 0] | 0 | ((HEAPU8[($10_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($10_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($10_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[($10_1 + 4 | 0) >> 0] | 0 | ((HEAPU8[($10_1 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($10_1 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($10_1 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $140_1 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 8 | 0; + $12_1 = $140_1; + HEAP8[i64toi32_i32$0 >> 0] = $12_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $12_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $12_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $12_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $37_1 = 24; + HEAP32[($7_1 + 8 | 0) >> 2] = ((HEAPU8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 65 | 0) >> 0] | 0) & 255 | 0 | 0) == ((((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $37_1 | 0) >> $37_1 | 0 | 0) == (0 | 0) & 1 | 0 | 0) & 1 | 0; + $677(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 8 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + $677(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + $162((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 16 | 0 | 0, HEAP32[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + $162((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$1; + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 8 | 0; + $11_1 = 0; + HEAP8[i64toi32_i32$0 >> 0] = $11_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $11_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $11_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $11_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + i64toi32_i32$0 = i64toi32_i32$0 + 8 | 0; + HEAP8[i64toi32_i32$0 >> 0] = $11_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $11_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $11_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $11_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $697($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, $53$hi = 0, $54$hi = 0, $59$hi = 0, $60$hi = 0, $31_1 = 0, $32_1 = 0, $33_1 = 0, $57$hi = 0, $58$hi = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $63$hi = 0, $64$hi = 0, $67$hi = 0, $53_1 = 0, $93_1 = 0, $57_1 = 0, $108_1 = 0, $117_1 = 0, $63_1 = 0, $131_1 = 0, $67_1 = 0, $169$hi = 0, $50_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $53_1 = i64toi32_i32$0; + $53$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $54$hi = i64toi32_i32$0; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$0 = $54$hi; + $93_1 = i64toi32_i32$1; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$2 = $53_1; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$3 = $93_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $31_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $32_1 = 0 + } else { + $32_1 = 1 + } + $33_1 = $32_1; + } else { + $33_1 = 0 + } + $31_1 = $33_1; + } + label$1 : { + label$2 : { + if (!($31_1 & 1 | 0)) { + break label$2 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $57_1 = i64toi32_i32$2; + $57$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $58$hi = i64toi32_i32$0; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $58$hi; + $108_1 = i64toi32_i32$2; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$3 = $57_1; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$1 = $108_1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $59$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $60$hi = i64toi32_i32$3; + i64toi32_i32$3 = $59$hi; + i64toi32_i32$3 = $60$hi; + i64toi32_i32$3 = $59$hi; + i64toi32_i32$3 = $60$hi; + $117_1 = i64toi32_i32$5; + i64toi32_i32$3 = $59$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$5 = $60$hi; + i64toi32_i32$1 = $117_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$5 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) { + $35_1 = 0 + } else { + $35_1 = 1 + } + $36_1 = $35_1; + } else { + $36_1 = 0 + } + $34_1 = $36_1; + } + if (!($34_1 & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $63_1 = i64toi32_i32$0; + $63$hi = i64toi32_i32$3; + i64toi32_i32$1 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $64$hi = i64toi32_i32$0; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$0 = $64$hi; + $131_1 = i64toi32_i32$3; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$1 = $63_1; + i64toi32_i32$3 = $64$hi; + i64toi32_i32$5 = $131_1; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$4 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$4 | 0; + HEAP32[$6_1 >> 2] = i64toi32_i32$2; + i64toi32_i32$0 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($6_1 + 4 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$4 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$4 >> 31 | 0; + $67_1 = i64toi32_i32$4; + $67$hi = i64toi32_i32$1; + i64toi32_i32$0 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $169$hi = i64toi32_i32$4; + i64toi32_i32$4 = $67$hi; + i64toi32_i32$4 = $169$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$5 = $67_1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[$6_1 >> 2] | 0) | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[$6_1 >> 2] | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) & 3 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$5 + } + if (!(HEAP32[($6_1 + 4 | 0) >> 2] | 0)) { + break label$4 + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$1; + } + } + i64toi32_i32$4 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + } + $50_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $50_1 | 0; + } + + function $698($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $692(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, $691(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) | 0 | 0, $3_1 + 16 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[$3_1 >> 2] | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) - (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (8192 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) > (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP16[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = 0; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) - ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + (((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) | 0; + $3289((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + (((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0 | 0, 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $699($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$1 + } + $711(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $700($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $14_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $14_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 12 | 0) >> 2] | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0, HEAP32[$6_1 >> 2] | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $14_1 | 0; + } + + function $701($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $36_1 = 0, $50_1 = 0, $52_1 = 0, $66_1 = 0, $69_1 = 0, $75_1 = 0, $82_1 = 0, $139_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $704(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, $4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (1288 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 50 | 0) >> 0] = 1; + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 43 | 0) >> 0] = 2; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 1; + break label$4; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + } + break label$2; + } + } + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $36_1 = $705(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0; + break label$6; + } + $36_1 = 1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = $36_1; + label$8 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$8 + } + label$9 : { + label$10 : { + if ((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 50 | 0) >> 0] | 0) & 255 | 0) { + break label$10 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$10 + } + $50_1 = 0; + $52_1 = $702(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $50_1 | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $52_1; + label$11 : { + if (!(($50_1 | 0) == ($52_1 | 0) & 1 | 0)) { + break label$11 + } + $689(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0); + HEAP32[($4_1 + 16 | 0) >> 2] = 264; + } + break label$9; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0; + label$12 : { + label$13 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$13 + } + $66_1 = 0; + $69_1 = $686(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $66_1 | 0, 1 | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $69_1; + if (!(($66_1 | 0) == ($69_1 | 0) & 1 | 0)) { + break label$12 + } + } + $75_1 = 0; + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 0] = 1; + $82_1 = $704(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $75_1 | 0, $4_1 + 8 | 0 | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $82_1; + label$14 : { + if (!(($75_1 | 0) == ($82_1 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $705(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$15 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $706(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 1; + } + } + label$16 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$16 + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 0] = 0; + $688(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0); + } + } + } + } + label$17 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$17 + } + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (3007e3 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $96(61988 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$18 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 50 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + label$19 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$19 + } + $707(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0); + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 50 | 0) >> 0] = 0; + label$20 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (522 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($4_1 + 16 | 0) >> 2] = -1; + } + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 43 | 0) >> 0] = 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $139_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $139_1 | 0; + } + + function $702($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $23_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $700(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0, 6 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + $23_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $23_1 | 0; + } + + function $703($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, $51_1 = 0, $53_1 = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, $49_1 = 0, $50_1 = 0, $212$hi = 0, $227$hi = 0, $228$hi = 0, $19_1 = 0, $43_1 = 0, $54_1 = 0, $57_1 = 0, $60_1 = 0, $63_1 = 0, $66_1 = 0, $214$hi = 0, $52_1 = 0, $55_1 = 0, $56_1 = 0, $217$hi = 0, $220$hi = 0, $221$hi = 0, $222$hi = 0, $223$hi = 0, $225$hi = 0, $226$hi = 0, $58_1 = 0, $59_1 = 0, $61_1 = 0, $232$hi = 0, $338_1 = 0, $348_1 = 0, $358_1 = 0, $368_1 = 0, $378_1 = 0, $388_1 = 0, $217_1 = 0, $466$hi = 0, $554_1 = 0, $225_1 = 0, $569_1 = 0, $576_1 = 0, $232_1 = 0, $638$hi = 0, $203_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $702(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, 3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 28 | 0) >> 2] | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = -1; + } + break label$1; + } + $19_1 = 0; + HEAP16[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 40 | 0) >> 1] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $708(HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $19_1 | 0, 32768 | 0, $19_1 | 0, $4_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (1288 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$6 + } + $43_1 = -1; + break label$5; + } + $43_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = $43_1; + break label$1; + } + $51_1 = (HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 52 | 0; + $53_1 = $675(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = $53_1; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $338_1 = i64toi32_i32$0; + i64toi32_i32$0 = $51_1; + $45_1 = $338_1; + HEAP8[i64toi32_i32$0 >> 0] = $45_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $45_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $45_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $45_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $54_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $54_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $348_1 = i64toi32_i32$1; + i64toi32_i32$1 = $51_1 + $54_1 | 0; + $46_1 = $348_1; + HEAP8[i64toi32_i32$1 >> 0] = $46_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $46_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $46_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $46_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $57_1 = 32; + i64toi32_i32$2 = $53_1 + $57_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $358_1 = i64toi32_i32$0; + i64toi32_i32$0 = $51_1 + $57_1 | 0; + $47_1 = $358_1; + HEAP8[i64toi32_i32$0 >> 0] = $47_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $47_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $47_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $47_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $60_1 = 24; + i64toi32_i32$2 = $53_1 + $60_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $368_1 = i64toi32_i32$1; + i64toi32_i32$1 = $51_1 + $60_1 | 0; + $48_1 = $368_1; + HEAP8[i64toi32_i32$1 >> 0] = $48_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $48_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $48_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $48_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $63_1 = 16; + i64toi32_i32$2 = $53_1 + $63_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $378_1 = i64toi32_i32$0; + i64toi32_i32$0 = $51_1 + $63_1 | 0; + $49_1 = $378_1; + HEAP8[i64toi32_i32$0 >> 0] = $49_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $49_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $49_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $49_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $66_1 = 8; + i64toi32_i32$2 = $53_1 + $66_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $388_1 = i64toi32_i32$1; + i64toi32_i32$1 = $51_1 + $66_1 | 0; + $50_1 = $388_1; + HEAP8[i64toi32_i32$1 >> 0] = $50_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $50_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $50_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $50_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $4_1 + 96 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($4_1 + 28 | 0) >> 2] | 0)) { + break label$7 + } + break label$1; + } + i64toi32_i32$0 = 0; + $212$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + $214$hi = i64toi32_i32$1; + i64toi32_i32$1 = $212$hi; + i64toi32_i32$1 = $214$hi; + i64toi32_i32$1 = $212$hi; + i64toi32_i32$1 = $214$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $212$hi; + i64toi32_i32$3 = 32; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $52_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $55_1 = 0 + } else { + $55_1 = 1 + } + $56_1 = $55_1; + } else { + $56_1 = 0 + } + $52_1 = $56_1; + } + label$8 : { + if (!($52_1 & 1 | 0)) { + break label$8 + } + HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 ? -1 : 0; + break label$1; + } + i64toi32_i32$2 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0, 32 | 0, 0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($4_1 + 28 | 0) >> 2] | 0)) { + break label$9 + } + break label$1; + } + i64toi32_i32$3 = ($4_1 + 48 | 0) + 16 | 0; + i64toi32_i32$2 = HEAPU8[i64toi32_i32$3 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$3 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $217_1 = i64toi32_i32$2; + $217$hi = i64toi32_i32$1; + i64toi32_i32$3 = ((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 52 | 0) + 32 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$3 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$2 = HEAPU8[(i64toi32_i32$3 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $466$hi = i64toi32_i32$2; + i64toi32_i32$2 = $217$hi; + i64toi32_i32$2 = $466$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $217$hi; + i64toi32_i32$0 = $217_1; + label$10 : { + if (!((i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | 0)) { + break label$10 + } + HEAP32[($4_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[($4_1 + 40 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 66 | 0) >> 1] | 0) & 65535 | 0) + 24 | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 24 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + i64toi32_i32$3 = 0; + $220$hi = i64toi32_i32$3; + i64toi32_i32$2 = ((HEAPU16[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 66 | 0) >> 1] | 0) & 65535 | 0) + 24 | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + $221$hi = i64toi32_i32$3; + i64toi32_i32$3 = $220$hi; + i64toi32_i32$3 = $221$hi; + $554_1 = i64toi32_i32$2; + i64toi32_i32$3 = $220$hi; + i64toi32_i32$2 = $221$hi; + i64toi32_i32$2 = __wasm_i64_mul(((HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) + 1 | 0) - 1 | 0 | 0, i64toi32_i32$3 | 0, $554_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $222$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $223$hi = i64toi32_i32$3; + i64toi32_i32$3 = $222$hi; + i64toi32_i32$3 = $223$hi; + i64toi32_i32$3 = $222$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $223$hi; + i64toi32_i32$1 = 32; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 88 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 92 | 0) >> 2] = i64toi32_i32$5; + label$12 : { + label$13 : while (1) { + i64toi32_i32$3 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + $225_1 = i64toi32_i32$5; + $225$hi = i64toi32_i32$0; + i64toi32_i32$5 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$5 >> 31 | 0; + $226$hi = i64toi32_i32$0; + i64toi32_i32$0 = $225$hi; + i64toi32_i32$0 = $226$hi; + $569_1 = i64toi32_i32$5; + i64toi32_i32$0 = $225$hi; + i64toi32_i32$3 = $225_1; + i64toi32_i32$5 = $226$hi; + i64toi32_i32$1 = $569_1; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $227$hi = i64toi32_i32$4; + i64toi32_i32$0 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + $228$hi = i64toi32_i32$3; + i64toi32_i32$3 = $227$hi; + i64toi32_i32$3 = $228$hi; + i64toi32_i32$3 = $227$hi; + i64toi32_i32$3 = $228$hi; + $576_1 = i64toi32_i32$4; + i64toi32_i32$3 = $227$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$4 = $228$hi; + i64toi32_i32$1 = $576_1; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$4 | 0)) { + $58_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$0 >>> 0 > i64toi32_i32$1 >>> 0) { + $59_1 = 0 + } else { + $59_1 = 1 + } + $61_1 = $59_1; + } else { + $61_1 = 0 + } + $58_1 = $61_1; + } + if (!($58_1 & 1 | 0)) { + break label$12 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!(HEAP32[($4_1 + 28 | 0) >> 2] | 0)) { + break label$14 + } + break label$12; + } + label$15 : { + if ($709(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0, $4_1 + 12 | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0) { + break label$15 + } + break label$12; + } + label$16 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$16 + } + HEAP32[($4_1 + 28 | 0) >> 2] = -1; + break label$12; + } + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$0 >> 31 | 0; + $232_1 = i64toi32_i32$0; + $232$hi = i64toi32_i32$3; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + $638$hi = i64toi32_i32$0; + i64toi32_i32$0 = $232$hi; + i64toi32_i32$0 = $638$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $232$hi; + i64toi32_i32$4 = $232_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 88 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 92 | 0) >> 2] = i64toi32_i32$2; + continue label$13; + }; + } + HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 80 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + } + $42(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0); + label$17 : { + if (!(HEAP32[($4_1 + 28 | 0) >> 2] | 0)) { + break label$17 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $42(HEAP32[((HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + HEAP8[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 50 | 0) >> 0] = 0; + $710(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] = 1; + } + $203_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $203_1 | 0; + } + + function $704($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $21_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + $21_1 = HEAP32[((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = $21_1; + if (!(($21_1 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $712(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + $33_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $33_1 | 0; + } + + function $705($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $7_1 = 0, $10_1 = 0, $94_1 = 0, $13_1 = 0, $32_1 = 0, $89_1 = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $52_1 = 0, $53_1 = 0, $54_1 = 0, $55_1 = 0, $56_1 = 0, $57_1 = 0, $14_1 = 0, $17_1 = 0, $20_1 = 0, $23_1 = 0, $26_1 = 0, $33_1 = 0, $36_1 = 0, $39_1 = 0, $42_1 = 0, $45_1 = 0, $95_1 = 0, $98_1 = 0, $101_1 = 0, $104_1 = 0, $107_1 = 0, $176_1 = 0, $186_1 = 0, $196_1 = 0, $206_1 = 0, $216_1 = 0, $226_1 = 0, $238_1 = 0, $248_1 = 0, $258_1 = 0, $268_1 = 0, $278_1 = 0, $288_1 = 0, $378_1 = 0, $388_1 = 0, $398_1 = 0, $408_1 = 0, $418_1 = 0, $428_1 = 0, $127_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + $7_1 = $4_1 + 8 | 0; + $10_1 = $4_1 + 56 | 0; + HEAP32[($4_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 116 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $675(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $13_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $13_1; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $176_1 = i64toi32_i32$0; + i64toi32_i32$0 = $10_1; + $46_1 = $176_1; + HEAP8[i64toi32_i32$0 >> 0] = $46_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $46_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $46_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $46_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $14_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $14_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $186_1 = i64toi32_i32$1; + i64toi32_i32$1 = $10_1 + $14_1 | 0; + $47_1 = $186_1; + HEAP8[i64toi32_i32$1 >> 0] = $47_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $47_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $47_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $47_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $17_1 = 32; + i64toi32_i32$2 = $13_1 + $17_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $196_1 = i64toi32_i32$0; + i64toi32_i32$0 = $10_1 + $17_1 | 0; + $48_1 = $196_1; + HEAP8[i64toi32_i32$0 >> 0] = $48_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $48_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $48_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $48_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $20_1 = 24; + i64toi32_i32$2 = $13_1 + $20_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $206_1 = i64toi32_i32$1; + i64toi32_i32$1 = $10_1 + $20_1 | 0; + $49_1 = $206_1; + HEAP8[i64toi32_i32$1 >> 0] = $49_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $49_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $49_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $49_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $23_1 = 16; + i64toi32_i32$2 = $13_1 + $23_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $216_1 = i64toi32_i32$0; + i64toi32_i32$0 = $10_1 + $23_1 | 0; + $50_1 = $216_1; + HEAP8[i64toi32_i32$0 >> 0] = $50_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $50_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $50_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $50_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $26_1 = 8; + i64toi32_i32$2 = $13_1 + $26_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $226_1 = i64toi32_i32$1; + i64toi32_i32$1 = $10_1 + $26_1 | 0; + $51_1 = $226_1; + HEAP8[i64toi32_i32$1 >> 0] = $51_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $51_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $51_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $51_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $699(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0); + $32_1 = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 48 | 0; + i64toi32_i32$2 = $32_1; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $238_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + $52_1 = $238_1; + HEAP8[i64toi32_i32$0 >> 0] = $52_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $52_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $52_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $52_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $33_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $33_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $248_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + $33_1 | 0; + $53_1 = $248_1; + HEAP8[i64toi32_i32$1 >> 0] = $53_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $53_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $53_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $53_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $36_1 = 32; + i64toi32_i32$2 = $32_1 + $36_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $258_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + $36_1 | 0; + $54_1 = $258_1; + HEAP8[i64toi32_i32$0 >> 0] = $54_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $54_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $54_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $54_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $39_1 = 24; + i64toi32_i32$2 = $32_1 + $39_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $268_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + $39_1 | 0; + $55_1 = $268_1; + HEAP8[i64toi32_i32$1 >> 0] = $55_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $55_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $55_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $55_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $42_1 = 16; + i64toi32_i32$2 = $32_1 + $42_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $278_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + $42_1 | 0; + $56_1 = $278_1; + HEAP8[i64toi32_i32$0 >> 0] = $56_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $56_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $56_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $56_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $45_1 = 8; + i64toi32_i32$2 = $32_1 + $45_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $288_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + $45_1 | 0; + $57_1 = $288_1; + HEAP8[i64toi32_i32$1 >> 0] = $57_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $57_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $57_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $57_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + label$1 : { + label$2 : { + if (!($3228($10_1 | 0, $7_1 | 0, 48 | 0) | 0)) { + break label$2 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if ((HEAPU8[($4_1 + 68 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 1; + break label$1; + } + $677(1 | 0, $4_1 + 56 | 0 | 0, 40 | 0, 0 | 0, $4_1 + 108 | 0 | 0); + label$4 : { + label$5 : { + if ((HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($4_1 + 124 | 0) >> 2] = 1; + break label$1; + } + label$6 : { + if (!($3228((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 52 | 0 | 0, $4_1 + 56 | 0 | 0, 48 | 0) | 0)) { + break label$6 + } + $89_1 = $4_1 + 56 | 0; + HEAP32[(HEAP32[($4_1 + 116 | 0) >> 2] | 0) >> 2] = 1; + $94_1 = (HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 52 | 0; + i64toi32_i32$2 = $89_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $378_1 = i64toi32_i32$0; + i64toi32_i32$0 = $94_1; + HEAP32[i64toi32_i32$0 >> 2] = $378_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $95_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $95_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $388_1 = i64toi32_i32$1; + i64toi32_i32$1 = $94_1 + $95_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $388_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $98_1 = 32; + i64toi32_i32$2 = $89_1 + $98_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $398_1 = i64toi32_i32$0; + i64toi32_i32$0 = $94_1 + $98_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $398_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $101_1 = 24; + i64toi32_i32$2 = $89_1 + $101_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $408_1 = i64toi32_i32$1; + i64toi32_i32$1 = $94_1 + $101_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $408_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $104_1 = 16; + i64toi32_i32$2 = $89_1 + $104_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $418_1 = i64toi32_i32$0; + i64toi32_i32$0 = $94_1 + $104_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $418_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $107_1 = 8; + i64toi32_i32$2 = $89_1 + $107_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $428_1 = i64toi32_i32$1; + i64toi32_i32$1 = $94_1 + $107_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $428_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 36 | 0) >> 2] = (((HEAPU16[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 66 | 0) >> 1] | 0) & 65535 | 0) & 65024 | 0) + ((((HEAPU16[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 66 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) << 16 | 0) | 0; + } + HEAP32[($4_1 + 124 | 0) >> 2] = 0; + } + $127_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + global$0 = $4_1 + 128 | 0; + return $127_1 | 0; + } + + function $706($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $436_1 = 0, $26_1 = 0, $90_1 = 0, $437$hi = 0, $439$hi = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $48_1 = 0, $56_1 = 0, $92_1 = 0, $116_1 = 0, $444$hi = 0, $445$hi = 0, $446$hi = 0, $447$hi = 0, $218_1 = 0, $227_1 = 0, $449$hi = 0, $450$hi = 0, $451$hi = 0, $452$hi = 0, $350_1 = 0, $101_1 = 0, $692_1 = 0, $864_1 = 0, $1014_1 = 0, $421_1 = 0, $432_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 176 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 168 | 0) >> 2] = $0_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1 + 144 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 140 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 45 | 0) >> 0] | 0) & 255 | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $686(HEAP32[($3_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 140 | 0) >> 2] | 0 | 0, 3 - (HEAP32[($3_1 + 140 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($3_1 + 164 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($3_1 + 172 | 0) >> 2] = HEAP32[($3_1 + 164 | 0) >> 2] | 0; + break label$1; + } + $26_1 = (HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 52 | 0; + i64toi32_i32$0 = 0; + $436_1 = 0; + i64toi32_i32$1 = $26_1; + HEAP32[i64toi32_i32$1 >> 2] = $436_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $436_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $26_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $436_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $26_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $436_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $26_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $436_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $26_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $436_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $3_1 + 152 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!(HEAP32[($3_1 + 164 | 0) >> 2] | 0)) { + break label$4 + } + break label$3; + } + i64toi32_i32$0 = 0; + $437$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 156 | 0) >> 2] | 0; + $439$hi = i64toi32_i32$1; + i64toi32_i32$1 = $437$hi; + i64toi32_i32$1 = $439$hi; + i64toi32_i32$1 = $437$hi; + i64toi32_i32$1 = $439$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $437$hi; + i64toi32_i32$3 = 32; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $35_1 = 0 + } else { + $35_1 = 1 + } + $36_1 = $35_1; + } else { + $36_1 = 0 + } + $34_1 = $36_1; + } + label$5 : { + label$6 : { + if (!($34_1 & 1 | 0)) { + break label$6 + } + i64toi32_i32$2 = 0; + $48_1 = 0; + HEAP32[($3_1 + 92 | 0) >> 2] = $48_1; + HEAP32[($3_1 + 88 | 0) >> 2] = $48_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $3_1 + 96 | 0 | 0, 32 | 0, 0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($3_1 + 164 | 0) >> 2] | 0)) { + break label$7 + } + break label$3; + } + $56_1 = $3_1 + 96 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161($56_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161($56_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if (((HEAP32[($3_1 + 72 | 0) >> 2] | 0) & -2 | 0 | 0) != (931071618 | 0) & 1 | 0) { + break label$9 + } + if ((HEAP32[($3_1 + 76 | 0) >> 2] | 0) & ((HEAP32[($3_1 + 76 | 0) >> 2] | 0) - 1 | 0) | 0) { + break label$9 + } + if ((HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0) > (65536 | 0) & 1 | 0) { + break label$9 + } + if (!((HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0) < (512 | 0) & 1 | 0)) { + break label$8 + } + } + break label$5; + } + $90_1 = $3_1 + 96 | 0; + $92_1 = 0; + HEAP8[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 65 | 0) >> 0] = (HEAP32[($3_1 + 72 | 0) >> 2] | 0) & 1 | 0; + HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($3_1 + 76 | 0) >> 2] | 0; + $101_1 = $161($90_1 + 12 | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 112 | 0) >> 2] = $101_1; + i64toi32_i32$3 = $90_1 + 16 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $692_1 = i64toi32_i32$2; + i64toi32_i32$2 = ((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 52 | 0) + 32 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $692_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + $116_1 = 24; + $677(((HEAPU8[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 65 | 0) >> 0] | 0) & 255 | 0 | 0) == ((((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $116_1 | 0) >> $116_1 | 0 | 0) == ($92_1 | 0) & 1 | 0 | 0) & 1 | 0 | 0, $90_1 | 0, 24 | 0, $92_1 | 0, ((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 52 | 0) + 24 | 0 | 0); + label$10 : { + label$11 : { + if ((HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) != ($161($90_1 + 24 | 0 | 0) | 0 | 0) & 1 | 0) { + break label$11 + } + if (!((HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) != ($161(($3_1 + 96 | 0) + 28 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + } + break label$5; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161(($3_1 + 96 | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) != (3007e3 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $96(60854 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + HEAP32[($3_1 + 84 | 0) >> 2] = (HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 32768 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if ((HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$13 + } + HEAP32[($3_1 + 164 | 0) >> 2] = 7; + break label$3; + } + HEAP32[($3_1 + 80 | 0) >> 2] = (HEAP32[($3_1 + 88 | 0) >> 2] | 0) + 24 | 0; + HEAP32[($3_1 + 92 | 0) >> 2] = (HEAP32[($3_1 + 80 | 0) >> 2] | 0) + (HEAP32[($3_1 + 76 | 0) >> 2] | 0) | 0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 156 | 0) >> 2] | 0; + $444$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $445$hi = i64toi32_i32$2; + i64toi32_i32$2 = $444$hi; + i64toi32_i32$2 = $445$hi; + i64toi32_i32$2 = $444$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $445$hi; + i64toi32_i32$0 = 32; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $446$hi = i64toi32_i32$5; + i64toi32_i32$3 = HEAP32[($3_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $447$hi = i64toi32_i32$5; + i64toi32_i32$5 = $446$hi; + i64toi32_i32$5 = $447$hi; + $864_1 = i64toi32_i32$3; + i64toi32_i32$5 = $446$hi; + i64toi32_i32$3 = $447$hi; + i64toi32_i32$3 = __wasm_i64_sdiv(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, $864_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + HEAP32[($3_1 + 56 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($3_1 + 60 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($3_1 + 60 | 0) >> 2] | 0) >>> 0 <= ($691(HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0)) { + break label$14 + } + label$16 : { + label$17 : { + if (!((HEAP32[($3_1 + 56 | 0) >> 2] | 0) >>> 0 < (((HEAP32[($3_1 + 60 | 0) >> 2] | 0) << 12 | 0) + 4062 | 0) >>> 0 & 1 | 0)) { + break label$17 + } + $218_1 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + break label$16; + } + $218_1 = ((HEAP32[($3_1 + 60 | 0) >> 2] | 0) << 12 | 0) + 4062 | 0; + } + HEAP32[($3_1 + 44 | 0) >> 2] = $218_1; + label$18 : { + label$19 : { + if (HEAP32[($3_1 + 60 | 0) >> 2] | 0) { + break label$19 + } + $227_1 = 0; + break label$18; + } + $227_1 = (((HEAP32[($3_1 + 60 | 0) >> 2] | 0) - 1 | 0) << 12 | 0) + 4062 | 0; + } + HEAP32[($3_1 + 40 | 0) >> 2] = $227_1 + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $704(HEAP32[($3_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, $3_1 + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!(HEAP32[($3_1 + 164 | 0) >> 2] | 0)) { + break label$20 + } + break label$14; + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 60 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($3_1 + 92 | 0) >> 2] | 0; + HEAP32[($3_1 + 48 | 0) >> 2] = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + label$21 : { + label$22 : while (1) { + if (!((HEAP32[($3_1 + 48 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($3_1 + 44 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$21 + } + i64toi32_i32$5 = 0; + $449$hi = i64toi32_i32$5; + i64toi32_i32$3 = (HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $450$hi = i64toi32_i32$5; + i64toi32_i32$5 = $449$hi; + i64toi32_i32$5 = $450$hi; + $1014_1 = i64toi32_i32$3; + i64toi32_i32$5 = $449$hi; + i64toi32_i32$3 = $450$hi; + i64toi32_i32$3 = __wasm_i64_mul((HEAP32[($3_1 + 48 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$5 | 0, $1014_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $451$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $452$hi = i64toi32_i32$5; + i64toi32_i32$5 = $451$hi; + i64toi32_i32$5 = $452$hi; + i64toi32_i32$5 = $451$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $452$hi; + i64toi32_i32$0 = 32; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 28 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$5 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 84 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!(HEAP32[($3_1 + 164 | 0) >> 2] | 0)) { + break label$23 + } + break label$21; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $709(HEAP32[($3_1 + 168 | 0) >> 2] | 0 | 0, $3_1 + 20 | 0 | 0, $3_1 + 16 | 0 | 0, HEAP32[($3_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (HEAP32[($3_1 + 64 | 0) >> 2] | 0) { + break label$24 + } + break label$21; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $682(HEAP32[($3_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + if (!(HEAP32[($3_1 + 164 | 0) >> 2] | 0)) { + break label$25 + } + break label$21; + } + label$26 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$26 + } + HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP16[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 66 | 0) >> 1] = (HEAP32[($3_1 + 76 | 0) >> 2] | 0) & 65280 | 0 | ((HEAP32[($3_1 + 76 | 0) >> 2] | 0) >> 16 | 0) | 0; + HEAP32[($3_1 + 144 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + HEAP32[($3_1 + 148 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 48 | 0) >> 2] = (HEAP32[($3_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$22; + }; + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 60 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[($3_1 + 60 | 0) >> 2] | 0 ? 0 : 136; + HEAP32[($3_1 + 32 | 0) >> 2] = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) >>> 2 | 0; + $3288((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, (HEAP32[($3_1 + 92 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, 32768 - (HEAP32[($3_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0; + label$27 : { + if (!((HEAP32[($3_1 + 48 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($3_1 + 44 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$27 + } + break label$14; + } + HEAP32[($3_1 + 60 | 0) >> 2] = (HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + $42(HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0); + } + } + label$28 : { + if (HEAP32[($3_1 + 164 | 0) >> 2] | 0) { + break label$28 + } + $350_1 = 0; + HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[($3_1 + 144 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 80 | 0) >> 2] = HEAP32[($3_1 + 148 | 0) >> 2] | 0; + $683(HEAP32[($3_1 + 168 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $685(HEAP32[($3_1 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = $350_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $350_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 1; + label$29 : { + label$30 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (5 | 0) & 1 | 0)) { + break label$29 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $686(HEAP32[($3_1 + 168 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 3 | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$31 : { + label$32 : { + if (HEAP32[($3_1 + 164 | 0) >> 2] | 0) { + break label$32 + } + label$33 : { + label$34 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$34 + } + if (!(HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0)) { + break label$34 + } + HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + break label$33; + } + HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + } + $688(HEAP32[($3_1 + 168 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 3 | 0 | 0, 1 | 0); + break label$31; + } + label$35 : { + if (!((HEAP32[($3_1 + 164 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$35 + } + break label$3; + } + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$30; + }; + } + label$36 : { + if (!(HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0)) { + break label$36 + } + $421_1 = HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = $421_1; + $82(283 | 0, 4732 | 0, $3_1 | 0); + } + } + } + $688(HEAP32[($3_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 140 | 0) >> 2] | 0 | 0, 3 - (HEAP32[($3_1 + 140 | 0) >> 2] | 0) | 0 | 0); + HEAP32[($3_1 + 172 | 0) >> 2] = HEAP32[($3_1 + 164 | 0) >> 2] | 0; + } + $432_1 = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + global$0 = $3_1 + 176 | 0; + return $432_1 | 0; + } + + function $707($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0) { + break label$2 + } + if (!((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 50 | 0) >> 0] | 0) & 255 | 0)) { + break label$1 + } + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $42(HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$5 + } + $713(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $708($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $16_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + $16_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 28 | 0) >> 2] | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + global$0 = $7_1 + 32 | 0; + return $16_1 | 0; + } + + function $709($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $92$hi = 0, $35_1 = 0, $92_1 = 0, $136$hi = 0, $87_1 = 0, $89_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 16 | 0) >> 2] = ((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 52 | 0) + 24 | 0; + i64toi32_i32$2 = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $92_1 = i64toi32_i32$0; + $92$hi = i64toi32_i32$1; + i64toi32_i32$2 = ((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 52 | 0) + 32 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $136$hi = i64toi32_i32$0; + i64toi32_i32$0 = $92$hi; + i64toi32_i32$0 = $136$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $92$hi; + label$1 : { + label$2 : { + if (!((i64toi32_i32$2 | 0) != ($92_1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0)) { + break label$2 + } + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($7_1 + 12 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $35_1 = 24; + HEAP32[($7_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 65 | 0) >> 0] | 0) & 255 | 0 | 0) == ((((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $35_1 | 0) >> $35_1 | 0 | 0) == (0 | 0) & 1 | 0 | 0) & 1 | 0; + $677(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, 8 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + $677(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + label$4 : { + label$5 : { + if ((HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($161((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 16 | 0 | 0) | 0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != ($161((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 20 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $87_1 = $161((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] = $87_1; + HEAP32[($7_1 + 44 | 0) >> 2] = 1; + } + $89_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $89_1 | 0; + } + + function $710($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0, $20_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $714(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $8_1 = 16; + label$1 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + $20_1 = 16; + $689(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, (((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $20_1 | 0) >> $20_1 | 0) + 3 | 0 | 0); + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] = 65535; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $711($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 12 | 0) >> 2] | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $712($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $122_1 = 0, $66_1 = 0, $144_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0) << 2 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $45(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 7; + break label$1; + } + $3289((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, 0 | 0, (((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0) << 2 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$1 = 0; + $66_1 = $114(32768 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $66_1; + label$6 : { + if ((HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + } + break label$4; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $708(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, 32768 | 0, (HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$8 + } + label$9 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + if (!($176(600 | 0) | 0)) { + break label$9 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + } + break label$7; + } + label$10 : { + if (!(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) & 255 | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$10 + } + $122_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP8[($122_1 + 46 | 0) >> 0] = (HEAPU8[($122_1 + 46 | 0) >> 0] | 0) & 255 | 0 | 2 | 0; + label$11 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + } + } + } + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + $144_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $144_1 | 0; + } + + function $713($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $10_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $714($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $14_1 = 0; + $15_1 = 0; + $688(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $15_1 | 0, 1 | 0); + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 0] = $14_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = $15_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 47 | 0) >> 0] = $14_1; + } + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $715($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : while (1) { + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $716(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $16_1 = 0; + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = (FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 176 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 180 | 0) >> 2] | 0) | 0 | 0) != (0 | 0); + } + if ($16_1 & 1 | 0) { + continue label$1 + } + break label$1; + }; + $29_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $29_1 | 0; + } + + function $716($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0, $57_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) < (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$1 + } + } + label$3 : { + label$4 : { + if (!((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + $31_1 = 0; + break label$3; + } + $31_1 = $717(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = $31_1; + label$5 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + if (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (5 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$5 + } + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 17 | 0) >> 0] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + } + $57_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $57_1 | 0; + } + + function $717($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $10_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $718($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) & ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 33 | 0) >> 0] | 0) & 255 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68496 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $19_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $19_1 | 0; + } + + function $719($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $36_1 = 0, $40_1 = 0, $43_1 = 0, $79_1 = 0, $83_1 = 0, $117_1 = 0, $124_1 = 0, $134_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 33 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!(($15(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : while (1) { + $36_1 = 0; + label$5 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $40_1 = 16; + $43_1 = 1; + label$6 : { + if (((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 30 | 0) >> 1] | 0) << $40_1 | 0) >> $40_1 | 0) { + break label$6 + } + $43_1 = (((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0 | 0) != (0 | 0); + } + $36_1 = $43_1; + } + label$7 : { + if (!($36_1 & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$4; + } + break label$4; + }; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + label$8 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$9 : while (1) { + $79_1 = 0; + label$10 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $83_1 = 16; + $79_1 = (((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 30 | 0) >> 1] | 0) << $83_1 | 0) >> $83_1 | 0 | 0) != (0 | 0); + } + label$11 : { + if (!($79_1 & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$9; + } + break label$9; + }; + } + label$12 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$13 + } + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + break label$1; + } + } + } + $117_1 = 0; + $124_1 = FUNCTION_TABLE[HEAP32[(0 + 68496 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0, 2) | 0; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = $124_1; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) == ($117_1 | 0) & 1 | 0 ? 7 : $117_1; + } + $134_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $134_1 | 0; + } + + function $720($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $20_1 = 0, $22_1 = 0, $24_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $724(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $20_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $22_1 = 1; + HEAP32[($20_1 + 12 | 0) >> 2] = (HEAP32[($20_1 + 12 | 0) >> 2] | 0) + $22_1 | 0; + $24_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($24_1 + 30 | 0) >> 1] = (HEAPU16[($24_1 + 30 | 0) >> 1] | 0) + $22_1 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $28_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $28_1 | 0; + } + + function $721($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $16_1 = 0, $17_1 = 0, $4_1 = 0, $85$hi = 0, $86$hi = 0, $89_1 = 0, $76_1 = 0, $78_1 = 0, $192_1 = 0, $195_1 = 0, $280_1 = 0, $290_1 = 0, $82_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 32 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $678(HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, $3_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($3_1 + 32 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + break label$1; + } + } + label$4 : { + label$5 : { + if (!(HEAP32[($3_1 + 28 | 0) >> 2] | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $725(HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + i64toi32_i32$0 = 0; + $85$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $86$hi = i64toi32_i32$0; + i64toi32_i32$0 = $85$hi; + i64toi32_i32$0 = $86$hi; + $192_1 = i64toi32_i32$1; + i64toi32_i32$0 = $85$hi; + i64toi32_i32$1 = $86$hi; + i64toi32_i32$1 = __wasm_i64_mul((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$0 | 0, $192_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $195_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $195_1; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) == (522 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 32 | 0) >> 2] = 0; + } + } + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if (!(HEAP32[($3_1 + 32 | 0) >> 2] | 0)) { + break label$9 + } + i64toi32_i32$1 = -1; + $89_1 = -1; + i64toi32_i32$0 = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 104 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $89_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = i64toi32_i32$0 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $89_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$8; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 24 | 0; + $76_1 = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 104 | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $280_1 = i64toi32_i32$1; + i64toi32_i32$1 = $76_1; + $16_1 = $280_1; + HEAP8[i64toi32_i32$1 >> 0] = $16_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $16_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $16_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $16_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $78_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $78_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $290_1 = i64toi32_i32$0; + i64toi32_i32$0 = $76_1 + $78_1 | 0; + $17_1 = $290_1; + HEAP8[i64toi32_i32$0 >> 0] = $17_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $17_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $17_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $17_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + } + } + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + } + $82_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $82_1 | 0; + } + + function $722($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$1 + } + $660(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0); + } + $16_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($16_1 + 12 | 0) >> 2] = (HEAP32[($16_1 + 12 | 0) >> 2] | 0) + -1 | 0; + FUNCTION_TABLE[HEAP32[(0 + 68500 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0, HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0, 1); + global$0 = $3_1 + 16 | 0; + return; + } + + function $723($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if ($630(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) | 0) { + break label$1 + } + $640(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $724($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $9_1 = 0, $38_1 = 0, $11_1 = 0, $35_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $11_1 = (HEAP32[$5_1 >> 2] | 0) + 16 | 0; + i64toi32_i32$0 = 0; + $38_1 = 0; + i64toi32_i32$1 = $11_1; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $11_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[$5_1 >> 2] | 0) + 40 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0; + $9_1 = 0; + HEAP8[i64toi32_i32$1 >> 0] = $9_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $9_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $9_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $9_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 28 | 0) >> 1] = 1; + $35_1 = $720(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $35_1 | 0; + } + + function $725($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $50$hi = 0, $45$hi = 0, $46$hi = 0, $47$hi = 0, $48$hi = 0, i64toi32_i32$2 = 0, $49$hi = 0, $39_1 = 0, $110_1 = 0, $29_1 = 0, $30_1 = 0, $42_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAPU16[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 66 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) & 65024 | 0) + (((HEAP32[($6_1 + 12 | 0) >> 2] | 0) & 1 | 0) << 16 | 0) | 0; + i64toi32_i32$0 = 0; + $45$hi = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $46$hi = i64toi32_i32$0; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $46$hi; + $110_1 = i64toi32_i32$1; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = __wasm_i64_mul((HEAP32[($6_1 + 24 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$0 | 0, $110_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $47$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $48$hi = i64toi32_i32$0; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $49$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $50$hi = i64toi32_i32$5; + i64toi32_i32$5 = $49$hi; + i64toi32_i32$5 = $50$hi; + i64toi32_i32$5 = $49$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$3 = 24; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + $50$hi | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $6_1; + HEAP32[$6_1 >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$4; + $29_1 = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $30_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $39_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $39_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + i64toi32_i32$5 = $6_1; + i64toi32_i32$4 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $42_1 = $628($29_1 | 0, $30_1 | 0, $39_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0) | 0; + global$0 = $6_1 + 32 | 0; + return $42_1 | 0; + } + + function $726($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $238$hi = 0, $7_1 = 0, $240$hi = 0, $101_1 = 0, $139_1 = 0, $232_1 = 0, $99_1 = 0, $235_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $729(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + label$3 : { + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!($730(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + $622(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + break label$4; + } + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = 0; + $238$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $240$hi = i64toi32_i32$1; + i64toi32_i32$1 = $238$hi; + i64toi32_i32$1 = $240$hi; + i64toi32_i32$1 = $238$hi; + i64toi32_i32$1 = $240$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $238$hi; + label$8 : { + label$9 : { + if (!(((i64toi32_i32$2 | 0) == (0 | 0) & (i64toi32_i32$1 | 0) == ($238$hi | 0) | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + break label$8; + } + i64toi32_i32$2 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $188(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$10 + } + if (!((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + i64toi32_i32$2 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$2; + break label$6; + } + label$11 : { + label$12 : { + label$13 : { + if (((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0) { + break label$13 + } + if (!((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0)) { + break label$12 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$12 + } + } + $99_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $101_1 = 1; + label$14 : { + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$14 + } + $101_1 = ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + i64toi32_i32$2 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $731($99_1 | 0, $101_1 & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$2; + break label$11; + } + HEAP32[($5_1 + 4 | 0) >> 2] = (((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0) & 1 | 0; + $622(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + label$15 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$15 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $732(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + } + $139_1 = 0; + $521(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] = $139_1; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = $139_1; + label$16 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$16 + } + label$17 : { + label$18 : { + label$19 : { + if ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0) & 255 | 0) { + break label$19 + } + if (!($177(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$18 + } + } + $181(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0); + break label$17; + } + $733(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0); + } + $734(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + label$20 : { + label$21 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $714(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + break label$20; + } + label$22 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$22 + } + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$22 + } + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $186(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + label$23 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$23 + } + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$23 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $189(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, 22 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (12 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + } + label$25 : { + if (((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$25 + } + label$26 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + if (!($735(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { + break label$25 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $736(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] = 1; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 19 | 0) >> 0] = 0; + label$27 : { + label$28 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$28 + } + $232_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + break label$27; + } + $232_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = $232_1; + } + $235_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $235_1 | 0; + } + + function $727($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $18_1 = 0, $93_1 = 0, i64toi32_i32$0 = 0, $106_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = 1; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == ($18_1 | 0) & 1 | 0 ? 0 : $18_1) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $521(HEAP32[(((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 48) | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!($730(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $188(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + } + break label$4; + } + label$8 : { + label$9 : { + if ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + } + label$10 : { + label$11 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$11 + } + $93_1 = 0; + break label$10; + } + $93_1 = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 8 | 0) >> 2] | 0) - 1 | 0, 48) | 0; + } + HEAP32[($5_1 + 4 | 0) >> 2] = $93_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $737(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + } + $106_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $106_1 | 0; + } + + function $728($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $38_1 = 0, $39_1 = 0, $8_1 = 0, i64toi32_i32$6 = 0, $242$hi = 0, $243$hi = 0, $251$hi = 0, $252$hi = 0, $32_1 = 0, $235$hi = 0, $236$hi = 0, $237$hi = 0, $238$hi = 0, $240$hi = 0, $241$hi = 0, $246$hi = 0, $247$hi = 0, $248$hi = 0, $249$hi = 0, $122_1 = 0, $195_1 = 0, $199_1 = 0, $211_1 = 0, $450_1 = 0, $483_1 = 0, $246_1 = 0, $497_1 = 0, $510_1 = 0, $623_1 = 0, $224_1 = 0, $230_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + $8_1 = 0; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $8_1; + HEAP32[($4_1 + 36 | 0) >> 2] = 1; + HEAP32[($4_1 + 32 | 0) >> 2] = $8_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, $4_1 + 56 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 40 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $738(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$3 + } + $32_1 = 24; + if (!(((HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $739(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0, $4_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + label$4 : { + label$5 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$5 + } + if (HEAP32[($4_1 + 36 | 0) >> 2] | 0) { + break label$4 + } + } + break label$1; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + label$6 : while (1) { + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $740(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $4_1 + 52 | 0 | 0, $4_1 + 44 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($4_1 + 40 | 0) >> 2] | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 40 | 0) >> 2] = 0; + } + break label$1; + } + label$9 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $235$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $236$hi = i64toi32_i32$0; + i64toi32_i32$0 = $235$hi; + i64toi32_i32$0 = $236$hi; + i64toi32_i32$0 = $235$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $236$hi; + i64toi32_i32$3 = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $237$hi = i64toi32_i32$5; + i64toi32_i32$2 = (HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $238$hi = i64toi32_i32$5; + i64toi32_i32$5 = $237$hi; + i64toi32_i32$5 = $238$hi; + $450_1 = i64toi32_i32$2; + i64toi32_i32$5 = $237$hi; + i64toi32_i32$2 = $238$hi; + i64toi32_i32$2 = __wasm_i64_sdiv(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, $450_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$2; + } + label$10 : { + if (HEAP32[($4_1 + 52 | 0) >> 2] | 0) { + break label$10 + } + if (HEAP32[($4_1 + 72 | 0) >> 2] | 0) { + break label$10 + } + i64toi32_i32$0 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 84 | 0) >> 2] | 0; + $240$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $241$hi = i64toi32_i32$2; + i64toi32_i32$2 = $240$hi; + i64toi32_i32$2 = $241$hi; + i64toi32_i32$2 = $240$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $241$hi; + i64toi32_i32$3 = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $242$hi = i64toi32_i32$4; + i64toi32_i32$2 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $243$hi = i64toi32_i32$0; + i64toi32_i32$0 = $242$hi; + i64toi32_i32$0 = $243$hi; + i64toi32_i32$0 = $242$hi; + i64toi32_i32$0 = $243$hi; + $483_1 = i64toi32_i32$4; + i64toi32_i32$0 = $242$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$4 = $243$hi; + i64toi32_i32$3 = $483_1; + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $246_1 = i64toi32_i32$2; + $246$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $247$hi = i64toi32_i32$2; + i64toi32_i32$2 = $246$hi; + i64toi32_i32$2 = $247$hi; + $497_1 = i64toi32_i32$0; + i64toi32_i32$2 = $246$hi; + i64toi32_i32$3 = $246_1; + i64toi32_i32$0 = $247$hi; + i64toi32_i32$4 = $497_1; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + $248$hi = i64toi32_i32$1; + i64toi32_i32$3 = (HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $249$hi = i64toi32_i32$1; + i64toi32_i32$1 = $248$hi; + i64toi32_i32$1 = $249$hi; + $510_1 = i64toi32_i32$3; + i64toi32_i32$1 = $248$hi; + i64toi32_i32$3 = $249$hi; + i64toi32_i32$3 = __wasm_i64_sdiv(i64toi32_i32$5 | 0, i64toi32_i32$1 | 0, $510_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$3; + } + i64toi32_i32$2 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $251$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $252$hi = i64toi32_i32$3; + i64toi32_i32$3 = $251$hi; + i64toi32_i32$3 = $252$hi; + i64toi32_i32$3 = $251$hi; + i64toi32_i32$3 = $252$hi; + i64toi32_i32$3 = $251$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $252$hi; + i64toi32_i32$4 = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0; + label$11 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$4 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $186(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($4_1 + 40 | 0) >> 2] | 0)) { + break label$12 + } + break label$1; + } + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 52 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$13 + } + label$15 : { + if (!(HEAP32[($4_1 + 28 | 0) >> 2] | 0)) { + break label$15 + } + $632(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $122_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $741(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 72 | 0 | 0, $122_1 | 0, 1 | 0, $122_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + label$17 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$17 + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + break label$16; + } + label$18 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$18 + } + i64toi32_i32$4 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $623_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = $623_1; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$3; + break label$13; + } + label$19 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (522 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($4_1 + 40 | 0) >> 2] = 0; + break label$1; + } + break label$1; + } + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + continue label$6; + }; + } + label$20 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$20 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $515(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, $4_1 + 20 | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + HEAP8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0; + label$21 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$21 + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0) + 4 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $738(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$22 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$22 + } + label$23 : { + if (((HEAPU8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) >= (4 | 0) & 1 | 0) { + break label$23 + } + if ((HEAPU8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$22 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $149(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$24 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$24 + } + $195_1 = 0; + $199_1 = 24; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $726(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, (((HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $199_1 | 0) >> $199_1 | 0 | 0) != ($195_1 | 0) & 1 | 0 | 0, $195_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$25 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$25 + } + $211_1 = 24; + if (!(((HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $211_1 | 0) >> $211_1 | 0)) { + break label$25 + } + if (!(HEAP32[($4_1 + 36 | 0) >> 2] | 0)) { + break label$25 + } + $38_1 = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + -4 | 0; + $39_1 = 0; + HEAP8[$38_1 >> 0] = $39_1; + HEAP8[($38_1 + 1 | 0) >> 0] = $39_1 >>> 8 | 0; + HEAP8[($38_1 + 2 | 0) >> 0] = $39_1 >>> 16 | 0; + HEAP8[($38_1 + 3 | 0) >> 0] = $39_1 >>> 24 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $742(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$26 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$26 + } + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$26 + } + $224_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $224_1; + $82(539 | 0, 4824 | 0, $4_1 | 0); + } + $620(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + $230_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $230_1 | 0; + } + + function $729($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $38_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $521(HEAP32[(((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 48) | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!($730(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + } + $622(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0); + } + $38_1 = 0; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 92 | 0) >> 2] = $38_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] = $38_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = $38_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $730($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4656 | 0) & 1 | 0 | 0; + } + + function $731($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $61$hi = 0, $66$hi = 0, $72$hi = 0, $76$hi = 0, $77$hi = 0, $63$hi = 0, $68$hi = 0, $74$hi = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $24_1 = 0, $111_1 = 0, $76_1 = 0, $221_1 = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $61$hi = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $63$hi = i64toi32_i32$1; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$3 = 0; + label$1 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 160 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 164 | 0) >> 2] | 0; + $111_1 = i64toi32_i32$2; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $111_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + label$2 : { + label$3 : { + label$4 : { + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$1 = 0; + $66$hi = i64toi32_i32$1; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $68$hi = i64toi32_i32$2; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$2 = $68$hi; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$2 = $68$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $66$hi; + i64toi32_i32$0 = 0; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$3 + } + } + i64toi32_i32$3 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $188(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + i64toi32_i32$3 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, 4864 | 0, 28 | 0, 0 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$5 + } + if (((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$3 = 0; + $72$hi = i64toi32_i32$3; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $74$hi = i64toi32_i32$2; + i64toi32_i32$2 = $72$hi; + i64toi32_i32$2 = $74$hi; + i64toi32_i32$2 = $72$hi; + i64toi32_i32$2 = $74$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $72$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$3 | 0)) { + $19_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$1 >>> 0) { + $20_1 = 0 + } else { + $20_1 = 1 + } + $21_1 = $20_1; + } else { + $21_1 = 0 + } + $19_1 = $21_1; + } + if (!($19_1 & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$7 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $76_1 = i64toi32_i32$0; + $76$hi = i64toi32_i32$2; + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $77$hi = i64toi32_i32$0; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $77$hi; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $77$hi; + $221_1 = i64toi32_i32$2; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$1 = $76_1; + i64toi32_i32$2 = $77$hi; + i64toi32_i32$3 = $221_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { + $22_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $23_1 = 0 + } else { + $23_1 = 1 + } + $24_1 = $23_1; + } else { + $24_1 = 0 + } + $22_1 = $24_1; + } + if (!($22_1 & 1 | 0)) { + break label$7 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $188(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + } + } + $58_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $58_1 | 0; + } + + function $732($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $11_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $11_1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 12 | 0) >> 2] | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $11_1 | 0; + } + + function $733($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($13_1 + 28 | 0) >> 1] = ((HEAPU16[($13_1 + 28 | 0) >> 1] | 0) & 65535 | 0) & -13 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + return; + } + + function $734($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 > (HEAP32[($4_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + $644(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + continue label$3; + }; + } + label$5 : { + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$5 + } + if (!(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$5 + } + $37_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 68496 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0, 1, $37_1) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != ($37_1 | 0) & 1 | 0)) { + break label$6 + } + $3289(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = 1; + } + } + FUNCTION_TABLE[HEAP32[(0 + 68508 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0); + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $735($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $46_1 = 0, $62_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + label$4 : { + if (!((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] = 0; + $15_1 = 16; + label$5 : { + if (!($702(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $15_1 | 0) >> $15_1 | 0) + 3 | 0 | 0) | 0)) { + break label$5 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] = 1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0) & 1 | 0; + break label$3; + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + } + break label$1; + } + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$7 + } + $46_1 = 16; + $689(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $46_1 | 0) >> $46_1 | 0) + 3 | 0 | 0); + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] = 1; + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + break label$6; + } + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0) & 1 | 0; + } + } + $62_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $62_1 | 0; + } + + function $736($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $19_1 = 0, $40_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + $19_1 = 0; + break label$2; + } + $19_1 = $760(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = $19_1; + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 17 | 0) >> 0] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0; + $40_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $40_1 | 0; + } + + function $737($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, $5_1 = 0, $216$hi = 0, $225$hi = 0, $226$hi = 0, $230$hi = 0, $231$hi = 0, $237$hi = 0, $238$hi = 0, $132_1 = 0, $246$hi = 0, $247$hi = 0, $32_1 = 0, $218$hi = 0, $221_1 = 0, $221$hi = 0, $82_1 = 0, $54_1 = 0, $55_1 = 0, $56_1 = 0, $88_1 = 0, $98_1 = 0, $57_1 = 0, $58_1 = 0, $59_1 = 0, $104_1 = 0, $235$hi = 0, $236$hi = 0, $241$hi = 0, $242$hi = 0, $243$hi = 0, $244$hi = 0, $60_1 = 0, $61_1 = 0, $62_1 = 0, $146_1 = 0, $250$hi = 0, $251$hi = 0, $189_1 = 0, $371_1 = 0, $429_1 = 0, $225_1 = 0, $443_1 = 0, $230_1 = 0, $486_1 = 0, $541_1 = 0, $241_1 = 0, $555_1 = 0, $568_1 = 0, $246_1 = 0, $604_1 = 0, $667_1 = 0, $670_1 = 0, $758_1 = 0, $212_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $516(HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 7; + break label$1; + } + } + label$4 : { + label$5 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $32_1 = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + break label$4; + } + $32_1 = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] = $32_1; + HEAP8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0; + label$6 : { + if ((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $743(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $371_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $371_1; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$1; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + if ((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + i64toi32_i32$1 = 0; + $216$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $218$hi = i64toi32_i32$0; + i64toi32_i32$0 = $216$hi; + i64toi32_i32$0 = $218$hi; + i64toi32_i32$0 = $216$hi; + i64toi32_i32$0 = $218$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $216$hi; + i64toi32_i32$3 = 0; + label$9 : { + label$10 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$3 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $221_1 = i64toi32_i32$2; + $221$hi = i64toi32_i32$0; + break label$9; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $221_1 = i64toi32_i32$0; + $221$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $221$hi; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $221_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $429_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = $429_1; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$0; + label$11 : while (1) { + $82_1 = 0; + label$12 : { + if (HEAP32[($4_1 + 28 | 0) >> 2] | 0) { + break label$12 + } + i64toi32_i32$3 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $225_1 = i64toi32_i32$0; + $225$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $226$hi = i64toi32_i32$0; + i64toi32_i32$0 = $225$hi; + i64toi32_i32$0 = $226$hi; + i64toi32_i32$0 = $225$hi; + i64toi32_i32$0 = $226$hi; + $443_1 = i64toi32_i32$2; + i64toi32_i32$0 = $225$hi; + i64toi32_i32$3 = $225_1; + i64toi32_i32$2 = $226$hi; + i64toi32_i32$1 = $443_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$2 | 0)) { + $54_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $55_1 = 0 + } else { + $55_1 = 1 + } + $56_1 = $55_1; + } else { + $56_1 = 0 + } + $54_1 = $56_1; + } + $82_1 = $54_1; + } + label$13 : { + if (!($82_1 & 1 | 0)) { + break label$13 + } + $88_1 = 1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $741(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 72 | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $88_1 | 0, $88_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + continue label$11; + } + break label$11; + }; + break label$7; + } + i64toi32_i32$3 = 0; + i64toi32_i32$0 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] = i64toi32_i32$3; + } + label$14 : while (1) { + $98_1 = 0; + label$15 : { + if (HEAP32[($4_1 + 28 | 0) >> 2] | 0) { + break label$15 + } + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] | 0; + $230_1 = i64toi32_i32$3; + $230$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $231$hi = i64toi32_i32$3; + i64toi32_i32$3 = $230$hi; + i64toi32_i32$3 = $231$hi; + i64toi32_i32$3 = $230$hi; + i64toi32_i32$3 = $231$hi; + $486_1 = i64toi32_i32$0; + i64toi32_i32$3 = $230$hi; + i64toi32_i32$1 = $230_1; + i64toi32_i32$0 = $231$hi; + i64toi32_i32$2 = $486_1; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$0 | 0)) { + $57_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$2 >>> 0) { + $58_1 = 0 + } else { + $58_1 = 1 + } + $59_1 = $58_1; + } else { + $59_1 = 0 + } + $57_1 = $59_1; + } + $98_1 = $57_1; + } + label$16 : { + if (!($98_1 & 1 | 0)) { + break label$16 + } + $104_1 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $104_1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $740(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, $104_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$3 | 0, $4_1 + 16 | 0 | 0, $4_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$17 + } + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 84 | 0) >> 2] | 0; + $235$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $236$hi = i64toi32_i32$1; + i64toi32_i32$1 = $235$hi; + i64toi32_i32$1 = $236$hi; + i64toi32_i32$1 = $235$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $236$hi; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $237$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] | 0; + $238$hi = i64toi32_i32$2; + i64toi32_i32$2 = $237$hi; + i64toi32_i32$2 = $238$hi; + i64toi32_i32$2 = $237$hi; + i64toi32_i32$2 = $238$hi; + $541_1 = i64toi32_i32$5; + i64toi32_i32$2 = $237$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$5 = $238$hi; + i64toi32_i32$0 = $541_1; + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$17 + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $241_1 = i64toi32_i32$1; + $241$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] | 0; + $242$hi = i64toi32_i32$1; + i64toi32_i32$1 = $241$hi; + i64toi32_i32$1 = $242$hi; + $555_1 = i64toi32_i32$2; + i64toi32_i32$1 = $241$hi; + i64toi32_i32$0 = $241_1; + i64toi32_i32$2 = $242$hi; + i64toi32_i32$5 = $555_1; + i64toi32_i32$3 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$4 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$4 | 0; + $243$hi = i64toi32_i32$4; + i64toi32_i32$0 = (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $244$hi = i64toi32_i32$4; + i64toi32_i32$4 = $243$hi; + i64toi32_i32$4 = $244$hi; + $568_1 = i64toi32_i32$0; + i64toi32_i32$4 = $243$hi; + i64toi32_i32$0 = $244$hi; + i64toi32_i32$0 = __wasm_i64_sdiv(i64toi32_i32$3 | 0, i64toi32_i32$4 | 0, $568_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + HEAP32[($4_1 + 16 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$18 : while (1) { + $132_1 = 0; + label$19 : { + if (HEAP32[($4_1 + 28 | 0) >> 2] | 0) { + break label$19 + } + $132_1 = 0; + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$19 + } + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] | 0; + $246_1 = i64toi32_i32$4; + $246$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $247$hi = i64toi32_i32$4; + i64toi32_i32$4 = $246$hi; + i64toi32_i32$4 = $247$hi; + i64toi32_i32$4 = $246$hi; + i64toi32_i32$4 = $247$hi; + $604_1 = i64toi32_i32$0; + i64toi32_i32$4 = $246$hi; + i64toi32_i32$1 = $246_1; + i64toi32_i32$0 = $247$hi; + i64toi32_i32$5 = $604_1; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$0 | 0)) { + $60_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$5 >>> 0) { + $61_1 = 0 + } else { + $61_1 = 1 + } + $62_1 = $61_1; + } else { + $62_1 = 0 + } + $60_1 = $62_1; + } + $132_1 = $60_1; + } + label$20 : { + if (!($132_1 & 1 | 0)) { + break label$20 + } + $146_1 = 1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $741(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 72 | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $146_1 | 0, $146_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + } + break label$18; + }; + continue label$14; + } + break label$14; + }; + label$21 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + i64toi32_i32$1 = 0; + $250$hi = i64toi32_i32$1; + i64toi32_i32$4 = (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$1 = i64toi32_i32$4 >> 31 | 0; + $251$hi = i64toi32_i32$1; + i64toi32_i32$1 = $250$hi; + i64toi32_i32$1 = $251$hi; + $667_1 = i64toi32_i32$4; + i64toi32_i32$1 = $250$hi; + i64toi32_i32$4 = $251$hi; + i64toi32_i32$4 = __wasm_i64_mul(HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, $667_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $670_1 = i64toi32_i32$4; + i64toi32_i32$4 = $4_1; + HEAP32[$4_1 >> 2] = $670_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$1; + label$22 : { + if (!((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $744(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$23 : while (1) { + $189_1 = 0; + label$24 : { + if (HEAP32[($4_1 + 28 | 0) >> 2] | 0) { + break label$24 + } + $189_1 = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0; + } + label$25 : { + if (!($189_1 & 1 | 0)) { + break label$25 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $741(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, $4_1 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + } + break label$23; + }; + } + $521(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + label$26 : { + if (HEAP32[($4_1 + 28 | 0) >> 2] | 0) { + break label$26 + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $758_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = $758_1; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$4; + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + $212_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $212_1 | 0; + } + + function $738($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$6 = 0, $117$hi = 0, $124$hi = 0, $127$hi = 0, $13_1 = 0, $119$hi = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $121$hi = 0, $122$hi = 0, $27_1 = 0, $125$hi = 0, $126$hi = 0, $40_1 = 0, $41_1 = 0, $42_1 = 0, $130$hi = 0, $131$hi = 0, $51_1 = 0, $133$hi = 0, $134$hi = 0, $61_1 = 0, $136$hi = 0, $137$hi = 0, $138$hi = 0, $139$hi = 0, $140$hi = 0, $141$hi = 0, $75_1 = 0, $94_1 = 0, $105_1 = 0, $114_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP8[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 0] = 0; + $13_1 = $187(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $13_1; + label$1 : { + label$2 : { + label$3 : { + if ((0 | 0) != ($13_1 | 0) & 1 | 0) { + break label$3 + } + i64toi32_i32$0 = 0; + $117$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $119$hi = i64toi32_i32$1; + i64toi32_i32$1 = $117$hi; + i64toi32_i32$1 = $119$hi; + i64toi32_i32$1 = $117$hi; + i64toi32_i32$1 = $119$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $117$hi; + i64toi32_i32$3 = 16; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $37_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $38_1 = 0 + } else { + $38_1 = 1 + } + $39_1 = $38_1; + } else { + $39_1 = 0 + } + $37_1 = $39_1; + } + if ($37_1 & 1 | 0) { + break label$3 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $121$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $122$hi = i64toi32_i32$1; + i64toi32_i32$1 = $121$hi; + i64toi32_i32$1 = $122$hi; + i64toi32_i32$1 = $121$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $122$hi; + i64toi32_i32$0 = 16; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $27_1 = $747(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, $5_1 + 24 | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $27_1; + if ((0 | 0) != ($27_1 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$3 + } + i64toi32_i32$5 = 0; + $124$hi = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $125$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $126$hi = i64toi32_i32$3; + i64toi32_i32$3 = $125$hi; + i64toi32_i32$3 = $126$hi; + i64toi32_i32$3 = $125$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $126$hi; + i64toi32_i32$0 = 16; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + $127$hi = i64toi32_i32$4; + i64toi32_i32$4 = $124$hi; + i64toi32_i32$4 = $127$hi; + i64toi32_i32$4 = $124$hi; + i64toi32_i32$4 = $127$hi; + i64toi32_i32$4 = $124$hi; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = $127$hi; + i64toi32_i32$0 = i64toi32_i32$2; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$1 | 0)) { + $40_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $41_1 = 0 + } else { + $41_1 = 1 + } + $42_1 = $41_1; + } else { + $42_1 = 0 + } + $40_1 = $42_1; + } + if ($40_1 & 1 | 0) { + break label$3 + } + if (!(HEAP32[($5_1 + 24 | 0) >> 2] | 0)) { + break label$3 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $130$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $131$hi = i64toi32_i32$4; + i64toi32_i32$4 = $130$hi; + i64toi32_i32$4 = $131$hi; + i64toi32_i32$4 = $130$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $131$hi; + i64toi32_i32$1 = 12; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$2 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 - i64toi32_i32$2 | 0; + $51_1 = $747(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0, $5_1 + 12 | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $51_1; + if ((0 | 0) != ($51_1 | 0) & 1 | 0) { + break label$3 + } + i64toi32_i32$4 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $133$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $134$hi = i64toi32_i32$0; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $134$hi; + i64toi32_i32$1 = 8; + i64toi32_i32$3 = i64toi32_i32$4 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $61_1 = $628(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, $5_1 | 0, 8 | 0, i64toi32_i32$3 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $61_1; + if ((0 | 0) != ($61_1 | 0) & 1 | 0) { + break label$3 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAPU8[$5_1 >> 0] | 0 | ((HEAPU8[($5_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($5_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($5_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$4 = HEAPU8[($5_1 + 4 | 0) >> 0] | 0 | ((HEAPU8[($5_1 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($5_1 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($5_1 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $136$hi = i64toi32_i32$4; + i64toi32_i32$4 = -681336544; + $137$hi = i64toi32_i32$4; + i64toi32_i32$4 = $136$hi; + i64toi32_i32$4 = $137$hi; + i64toi32_i32$4 = $136$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $137$hi; + i64toi32_i32$1 = -117058087; + if ((i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$4 | 0) != (i64toi32_i32$5 | 0) | 0) { + break label$3 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $138$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $139$hi = i64toi32_i32$4; + i64toi32_i32$4 = $138$hi; + i64toi32_i32$4 = $139$hi; + i64toi32_i32$4 = $138$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$5 = 16; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$4 - i64toi32_i32$3 | 0; + $140$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $141$hi = i64toi32_i32$3; + i64toi32_i32$3 = $140$hi; + i64toi32_i32$3 = $141$hi; + i64toi32_i32$3 = $140$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$1 = $141$hi; + i64toi32_i32$5 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$2 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$3 - i64toi32_i32$2 | 0; + $75_1 = $628(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $75_1; + if (!((0 | 0) != ($75_1 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + $94_1 = 24; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) - (((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $94_1 | 0) >> $94_1 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$6 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + } + $105_1 = 0; + HEAP8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) >> 0] = $105_1; + HEAP8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = $105_1; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $114_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $114_1 | 0; + } + + function $739($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $13_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $13_1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 12 | 0) >> 2] | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0, HEAP32[$6_1 >> 2] | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $13_1 | 0; + } + + function $740($0_1, $1_1, $2_1, $2$hi, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $159$hi = 0, $160$hi = 0, $164$hi = 0, $165$hi = 0, $180$hi = 0, $157$hi = 0, $158$hi = 0, $59_1 = 0, $61_1 = 0, $63_1 = 0, $169$hi = 0, $170$hi = 0, $171$hi = 0, $172$hi = 0, $42_1 = 0, $174$hi = 0, $175$hi = 0, $54_1 = 0, $177$hi = 0, $178$hi = 0, $64_1 = 0, $182$hi = 0, $184$hi = 0, $185$hi = 0, $79_1 = 0, $187$hi = 0, $188$hi = 0, $91_1 = 0, $190$hi = 0, $151_1 = 0, $215_1 = 0, $235_1 = 0, $249_1 = 0, $164_1 = 0, $262_1 = 0, $38_1 = 0, $40_1 = 0, $48_1 = 0, $50_1 = 0, $60_1 = 0, $62_1 = 0, $75_1 = 0, $76_1 = 0, $78_1 = 0, $85_1 = 0, $88_1 = 0, $90_1 = 0, $572$hi = 0, $153_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 36 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $4_1; + i64toi32_i32$0 = $656(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $215_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] = $215_1; + HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $157$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $158$hi = i64toi32_i32$0; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$0 = $158$hi; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $158$hi; + i64toi32_i32$3 = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $159$hi = i64toi32_i32$5; + i64toi32_i32$0 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + $160$hi = i64toi32_i32$2; + i64toi32_i32$2 = $159$hi; + i64toi32_i32$2 = $160$hi; + i64toi32_i32$2 = $159$hi; + i64toi32_i32$2 = $160$hi; + $235_1 = i64toi32_i32$5; + i64toi32_i32$2 = $159$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$5 = $160$hi; + i64toi32_i32$3 = $235_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $59_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $61_1 = 0 + } else { + $61_1 = 1 + } + $63_1 = $61_1; + } else { + $63_1 = 0 + } + $59_1 = $63_1; + } + label$1 : { + label$2 : { + if (!($59_1 & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 101; + break label$1; + } + i64toi32_i32$3 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $249_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $249_1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$2; + label$3 : { + label$4 : { + if (HEAP32[($7_1 + 52 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $164_1 = i64toi32_i32$2; + $164$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 84 | 0) >> 2] | 0; + $165$hi = i64toi32_i32$2; + i64toi32_i32$2 = $164$hi; + i64toi32_i32$2 = $165$hi; + i64toi32_i32$2 = $164$hi; + i64toi32_i32$2 = $165$hi; + $262_1 = i64toi32_i32$0; + i64toi32_i32$2 = $164$hi; + i64toi32_i32$3 = $164_1; + i64toi32_i32$0 = $165$hi; + i64toi32_i32$5 = $262_1; + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$3 + } + } + i64toi32_i32$5 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, $7_1 + 20 | 0 | 0, 8 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($7_1 + 28 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$5 = $7_1 + 20 | 0; + i64toi32_i32$2 = HEAPU8[i64toi32_i32$5 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$5 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$5 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$5 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$3 = HEAPU8[(i64toi32_i32$5 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$5 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$5 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$5 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $169$hi = i64toi32_i32$3; + i64toi32_i32$3 = -681336544; + $170$hi = i64toi32_i32$3; + i64toi32_i32$3 = $169$hi; + i64toi32_i32$3 = $170$hi; + i64toi32_i32$3 = $169$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $170$hi; + i64toi32_i32$0 = -117058087; + label$6 : { + if (!((i64toi32_i32$5 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | 0)) { + break label$6 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 101; + break label$1; + } + } + $38_1 = 0; + $40_1 = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $171$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $172$hi = i64toi32_i32$3; + i64toi32_i32$3 = $171$hi; + i64toi32_i32$3 = $172$hi; + i64toi32_i32$3 = $171$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $172$hi; + i64toi32_i32$2 = 8; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $42_1 = $747($40_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $42_1; + label$7 : { + label$8 : { + if (($38_1 | 0) != ($42_1 | 0) & 1 | 0) { + break label$8 + } + $48_1 = 0; + $50_1 = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$3 = $7_1; + i64toi32_i32$4 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $174$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $175$hi = i64toi32_i32$0; + i64toi32_i32$0 = $174$hi; + i64toi32_i32$0 = $175$hi; + i64toi32_i32$0 = $174$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$4 = $175$hi; + i64toi32_i32$2 = 12; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $54_1 = $747($50_1 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0, (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 48 | 0 | 0) | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $54_1; + if (($48_1 | 0) != ($54_1 | 0) & 1 | 0) { + break label$8 + } + $60_1 = 0; + $62_1 = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $177$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $178$hi = i64toi32_i32$3; + i64toi32_i32$3 = $177$hi; + i64toi32_i32$3 = $178$hi; + i64toi32_i32$3 = $177$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $178$hi; + i64toi32_i32$2 = 16; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $64_1 = $747($62_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $64_1; + if (!(($60_1 | 0) != ($64_1 | 0) & 1 | 0)) { + break label$7 + } + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$5 = 0; + $180$hi = i64toi32_i32$5; + i64toi32_i32$3 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $182$hi = i64toi32_i32$0; + i64toi32_i32$0 = $180$hi; + i64toi32_i32$0 = $182$hi; + i64toi32_i32$0 = $180$hi; + i64toi32_i32$0 = $182$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $180$hi; + i64toi32_i32$2 = 0; + label$9 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$9 + } + $75_1 = 0; + $76_1 = $7_1; + $78_1 = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $184$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $185$hi = i64toi32_i32$0; + i64toi32_i32$0 = $184$hi; + i64toi32_i32$0 = $185$hi; + i64toi32_i32$0 = $184$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $185$hi; + i64toi32_i32$5 = 20; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $79_1 = $747($78_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0, $76_1 | 0) | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $79_1; + label$10 : { + label$11 : { + if (($75_1 | 0) != ($79_1 | 0) & 1 | 0) { + break label$11 + } + $85_1 = 0; + $88_1 = $7_1 + 4 | 0; + $90_1 = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = $7_1; + i64toi32_i32$4 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $187$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $188$hi = i64toi32_i32$2; + i64toi32_i32$2 = $187$hi; + i64toi32_i32$2 = $188$hi; + i64toi32_i32$2 = $187$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$4 = $188$hi; + i64toi32_i32$5 = 24; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $91_1 = $747($90_1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0, $88_1 | 0) | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $91_1; + if (!(($85_1 | 0) != ($91_1 | 0) & 1 | 0)) { + break label$10 + } + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + break label$1; + } + label$12 : { + if (HEAP32[($7_1 + 4 | 0) >> 2] | 0) { + break label$12 + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + } + label$13 : { + label$14 : { + if ((HEAP32[($7_1 + 4 | 0) >> 2] | 0) >>> 0 < 512 >>> 0 & 1 | 0) { + break label$14 + } + if ((HEAP32[$7_1 >> 2] | 0) >>> 0 < 32 >>> 0 & 1 | 0) { + break label$14 + } + if ((HEAP32[($7_1 + 4 | 0) >> 2] | 0) >>> 0 > 65536 >>> 0 & 1 | 0) { + break label$14 + } + if ((HEAP32[$7_1 >> 2] | 0) >>> 0 > 65536 >>> 0 & 1 | 0) { + break label$14 + } + if (((HEAP32[($7_1 + 4 | 0) >> 2] | 0) - 1 | 0) & (HEAP32[($7_1 + 4 | 0) >> 2] | 0) | 0) { + break label$14 + } + if (!(((HEAP32[$7_1 >> 2] | 0) - 1 | 0) & (HEAP32[$7_1 >> 2] | 0) | 0)) { + break label$13 + } + } + HEAP32[($7_1 + 60 | 0) >> 2] = 101; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $515(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, $7_1 + 4 | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 148 | 0) >> 2] = HEAP32[$7_1 >> 2] | 0; + } + i64toi32_i32$1 = 0; + $190$hi = i64toi32_i32$1; + $151_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $151_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $572$hi = i64toi32_i32$0; + i64toi32_i32$0 = $190$hi; + i64toi32_i32$0 = $572$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $190$hi; + i64toi32_i32$5 = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + i64toi32_i32$2 = $151_1; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + } + $153_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $153_1 | 0; + } + + function $741($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $43_1 = 0, $44_1 = 0, $310$hi = 0, $311$hi = 0, $13_1 = 0, $301$hi = 0, $302$hi = 0, $304$hi = 0, $42_1 = 0, $307$hi = 0, $308$hi = 0, $99_1 = 0, $110_1 = 0, $145_1 = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $160_1 = 0, $314$hi = 0, $315$hi = 0, $245_1 = 0, $254_1 = 0, $288_1 = 0, $292_1 = 0, $25_1 = 0, $26_1 = 0, $28_1 = 0, $304_1 = 0, $434$hi = 0, $310_1 = 0, $676_1 = 0, $779_1 = 0, $782_1 = 0, $977_1 = 0, $987_1 = 0, $297_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($7_1 + 60 | 0) >> 2] | 0)) { + break label$2 + } + $13_1 = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + break label$1; + } + $13_1 = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 32 | 0) >> 2] = $13_1; + i64toi32_i32$2 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $747(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $7_1 + 44 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!(HEAP32[($7_1 + 52 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + break label$3; + } + $25_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + $26_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $28_1 = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $301$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $302$hi = i64toi32_i32$0; + i64toi32_i32$0 = $301$hi; + i64toi32_i32$0 = $302$hi; + i64toi32_i32$0 = $301$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $302$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $628($25_1 | 0, $26_1 | 0, $28_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($7_1 + 52 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + break label$3; + } + i64toi32_i32$2 = ((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 60 | 0) >> 2] | 0) << 2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $304_1 = i64toi32_i32$2; + $304$hi = i64toi32_i32$5; + $42_1 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = $42_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $434$hi = i64toi32_i32$2; + i64toi32_i32$2 = $304$hi; + i64toi32_i32$2 = $434$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $304$hi; + i64toi32_i32$3 = $304_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $42_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + label$6 : { + label$7 : { + if (!(HEAP32[($7_1 + 44 | 0) >> 2] | 0)) { + break label$7 + } + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) == (((HEAP32[(0 + 69008 | 0) >> 2] | 0 | 0) / (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[($7_1 + 76 | 0) >> 2] = 101; + break label$3; + } + label$8 : { + label$9 : { + if ((HEAP32[($7_1 + 44 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$9 + } + if (!($519(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$3; + } + label$10 : { + if (!(HEAP32[($7_1 + 60 | 0) >> 2] | 0)) { + break label$10 + } + i64toi32_i32$2 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $307$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $308$hi = i64toi32_i32$0; + i64toi32_i32$0 = $307$hi; + i64toi32_i32$0 = $308$hi; + i64toi32_i32$0 = $307$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $308$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$1 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$1 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $747(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0, $7_1 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($7_1 + 52 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + break label$3; + } + label$12 : { + if (HEAP32[($7_1 + 56 | 0) >> 2] | 0) { + break label$12 + } + if (!(($748(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 101; + break label$3; + } + } + label$13 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + $99_1 = $517(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = $99_1; + if (!$99_1) { + break label$13 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + break label$3; + } + label$14 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$14 + } + $110_1 = 16; + if (!((((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 142 | 0) >> 1] | 0) << $110_1 | 0) >> $110_1 | 0 | 0) != ((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 142 | 0) >> 1] = (HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0; + } + label$15 : { + label$16 : { + if (!((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($7_1 + 48 | 0) >> 2] = 0; + break label$15; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $749(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + label$17 : { + label$18 : { + if (!(HEAP32[($7_1 + 60 | 0) >> 2] | 0)) { + break label$18 + } + $145_1 = 1; + label$19 : { + if ((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0) { + break label$19 + } + i64toi32_i32$0 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $310_1 = i64toi32_i32$1; + $310$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 84 | 0) >> 2] | 0; + $311$hi = i64toi32_i32$1; + i64toi32_i32$1 = $310$hi; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$1 = $310$hi; + i64toi32_i32$1 = $311$hi; + $676_1 = i64toi32_i32$2; + i64toi32_i32$1 = $310$hi; + i64toi32_i32$0 = $310_1; + i64toi32_i32$2 = $311$hi; + i64toi32_i32$3 = $676_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $45_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 > i64toi32_i32$3 >>> 0) { + $46_1 = 0 + } else { + $46_1 = 1 + } + $47_1 = $46_1; + } else { + $47_1 = 0 + } + $45_1 = $47_1; + } + $145_1 = $45_1; + } + HEAP32[($7_1 + 28 | 0) >> 2] = $145_1 & 1 | 0; + break label$17; + } + $160_1 = 1; + label$20 : { + if ((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$20 + } + $160_1 = (0 | 0) == (((HEAPU16[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0 | 0); + } + HEAP32[($7_1 + 28 | 0) >> 2] = $160_1 & 1 | 0; + } + label$21 : { + label$22 : { + if (!((HEAP32[(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + if (((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) >= (4 | 0) & 1 | 0) { + break label$23 + } + if ((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$22 + } + } + if (!(HEAP32[($7_1 + 28 | 0) >> 2] | 0)) { + break label$22 + } + i64toi32_i32$0 = 0; + $314$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $315$hi = i64toi32_i32$0; + i64toi32_i32$0 = $314$hi; + i64toi32_i32$0 = $315$hi; + $779_1 = i64toi32_i32$1; + i64toi32_i32$0 = $314$hi; + i64toi32_i32$1 = $315$hi; + i64toi32_i32$1 = __wasm_i64_mul((HEAP32[($7_1 + 44 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$0 | 0, $779_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $782_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $782_1; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$3 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$24 + } + HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + } + label$25 : { + if (!((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + $654(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + } + break label$21; + } + label$26 : { + if (HEAP32[($7_1 + 60 | 0) >> 2] | 0) { + break label$26 + } + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$26 + } + $245_1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + HEAP8[($245_1 + 20 | 0) >> 0] = (HEAPU8[($245_1 + 20 | 0) >> 0] | 0) & 255 | 0 | 2 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $134(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $7_1 + 48 | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + $254_1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + HEAP8[($254_1 + 20 | 0) >> 0] = ((HEAPU8[($254_1 + 20 | 0) >> 0] | 0) & 255 | 0) & -3 | 0; + label$27 : { + if (!(HEAP32[($7_1 + 52 | 0) >> 2] | 0)) { + break label$27 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + break label$3; + } + $750(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + } + } + label$28 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $3288(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 48 | 0) >> 2] | 0); + label$29 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$29 + } + $288_1 = (HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 104 | 0; + i64toi32_i32$3 = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$3 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$3 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $977_1 = i64toi32_i32$1; + i64toi32_i32$1 = $288_1; + $43_1 = $977_1; + HEAP8[i64toi32_i32$1 >> 0] = $43_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $43_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $43_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $43_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $292_1 = 8; + i64toi32_i32$3 = i64toi32_i32$3 + $292_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$3 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$3 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$3 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$3 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$3 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $987_1 = i64toi32_i32$0; + i64toi32_i32$0 = $288_1 + $292_1 | 0; + $44_1 = $987_1; + HEAP8[i64toi32_i32$0 >> 0] = $44_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $44_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $44_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $44_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + } + $751(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + } + $297_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $297_1 | 0; + } + + function $742($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $54_1 = 0, $5_1 = 0, $167$hi = 0, $168$hi = 0, $22_1 = 0, $151$hi = 0, $152$hi = 0, $153$hi = 0, $154$hi = 0, $155$hi = 0, $156$hi = 0, $159$hi = 0, $160$hi = 0, $70_1 = 0, $164$hi = 0, $165$hi = 0, $37_1 = 0, $38_1 = 0, $40_1 = 0, $111_1 = 0, $114_1 = 0, $39_1 = 0, $285_1 = 0, $158_1 = 0, $158$hi = 0, $62_1 = 0, $74_1 = 0, $167_1 = 0, $407_1 = 0, $129_1 = 0, $147_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $5_1; + i64toi32_i32$1 = (HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $114(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 64 | 0) >> 2] = 7; + HEAP32[($4_1 + 56 | 0) >> 2] = 0; + break label$1; + } + $22_1 = 16385; + HEAP32[($4_1 + 20 | 0) >> 2] = $22_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $618(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, $22_1 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 60 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + } + label$3 : { + label$4 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$4 + } + break label$3; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $187(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, $4_1 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$5 + } + break label$3; + } + $39_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $151$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $152$hi = i64toi32_i32$1; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$1 = $152$hi; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $152$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $153$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $154$hi = i64toi32_i32$5; + i64toi32_i32$5 = $153$hi; + i64toi32_i32$5 = $154$hi; + $285_1 = i64toi32_i32$2; + i64toi32_i32$5 = $153$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $285_1; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $155$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $156$hi = i64toi32_i32$4; + i64toi32_i32$4 = $155$hi; + i64toi32_i32$4 = $156$hi; + i64toi32_i32$4 = $155$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$1 = $156$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $39(i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if ((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != ($39_1 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($4_1 + 64 | 0) >> 2] = 7; + break label$3; + } + i64toi32_i32$0 = 0; + $158_1 = 0; + $158$hi = i64toi32_i32$0; + $54_1 = 0; + HEAP8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 3 | 0) >> 0] = $54_1; + HEAP8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 2 | 0) >> 0] = $54_1; + HEAP8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] = $54_1; + HEAP8[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 0] = $54_1; + HEAP32[($4_1 + 52 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0; + $62_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$4 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $159$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $160$hi = i64toi32_i32$5; + i64toi32_i32$5 = $159$hi; + i64toi32_i32$5 = $160$hi; + i64toi32_i32$5 = $159$hi; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$0 = $160$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + HEAP32[($4_1 + 32 | 0) >> 2] = $62_1 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$4 = $158$hi; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $628(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, $158_1 | 0, i64toi32_i32$4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$7 + } + break label$3; + } + $70_1 = 0; + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + i64toi32_i32$4 | 0) >> 0] = $70_1; + $74_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$5 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $164$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $165$hi = i64toi32_i32$4; + i64toi32_i32$4 = $164$hi; + i64toi32_i32$4 = $165$hi; + i64toi32_i32$4 = $164$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $165$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + HEAP8[($74_1 + i64toi32_i32$0 | 0) >> 0] = $70_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + label$8 : { + label$9 : while (1) { + i64toi32_i32$5 = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) - (HEAP32[($4_1 + 52 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $167_1 = i64toi32_i32$5; + $167$hi = i64toi32_i32$1; + i64toi32_i32$4 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $168$hi = i64toi32_i32$5; + i64toi32_i32$5 = $167$hi; + i64toi32_i32$5 = $168$hi; + i64toi32_i32$5 = $167$hi; + i64toi32_i32$5 = $168$hi; + $407_1 = i64toi32_i32$1; + i64toi32_i32$5 = $167$hi; + i64toi32_i32$4 = $167_1; + i64toi32_i32$1 = $168$hi; + i64toi32_i32$3 = $407_1; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$1 | 0)) { + $37_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$4 >>> 0 >= i64toi32_i32$3 >>> 0) { + $38_1 = 0 + } else { + $38_1 = 1 + } + $40_1 = $38_1; + } else { + $40_1 = 0 + } + $37_1 = $40_1; + } + if (!($37_1 & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $739(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$10 + } + break label$3; + } + label$11 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 16385; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $618(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$12 + } + break label$3; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $738(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + $622(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0); + label$13 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$13 + } + break label$3; + } + $111_1 = 24; + $114_1 = 0; + label$14 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $111_1 | 0) >> $111_1 | 0)) { + break label$14 + } + $114_1 = ($3229(HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) | 0 | 0) == (0 | 0); + } + HEAP32[($4_1 + 12 | 0) >> 2] = $114_1 & 1 | 0; + label$15 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$15 + } + break label$3; + } + } + $129_1 = ($68(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + $129_1 | 0; + continue label$9; + }; + } + $622(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $732(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + label$16 : { + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $622(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + $42(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + } + $147_1 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $147_1 | 0; + } + + function $743($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $23_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $746(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, 22 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $179(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : while (1) { + $23_1 = 0; + label$2 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $23_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($23_1 & 1 | 0)) { + break label$3 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $745(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + continue label$1; + } + break label$1; + }; + $39_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $39_1 | 0; + } + + function $744($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $39_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + } + label$2 : { + if (!((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $698(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + $39_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $39_1 | 0; + } + + function $745($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $34_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $749(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(($753(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + $722(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $721(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0); + } + $168(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + } + $178(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0); + $34_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $34_1 | 0; + } + + function $746($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5_1 = 0, $21_1 = 0, $23_1 = 0, $25_1 = 0, $26_1 = 0, $28_1 = 0, $29_1 = 0, $31_1 = 0, $32_1 = 0, $24_1 = 0, $27_1 = 0, $30_1 = 0, $33_1 = 0, $36_1 = 0, $45_1 = 0, $130_1 = 0, $140_1 = 0, $150_1 = 0, $160_1 = 0, $170_1 = 0, $180_1 = 0, $54_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + $21_1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0; + $23_1 = $675(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = $23_1; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $130_1 = i64toi32_i32$0; + i64toi32_i32$0 = $21_1; + $25_1 = $130_1; + HEAP8[i64toi32_i32$0 >> 0] = $25_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $25_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $25_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $25_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $24_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $24_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $140_1 = i64toi32_i32$1; + i64toi32_i32$1 = $21_1 + $24_1 | 0; + $26_1 = $140_1; + HEAP8[i64toi32_i32$1 >> 0] = $26_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $26_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $26_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $26_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $27_1 = 32; + i64toi32_i32$2 = $23_1 + $27_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $150_1 = i64toi32_i32$0; + i64toi32_i32$0 = $21_1 + $27_1 | 0; + $28_1 = $150_1; + HEAP8[i64toi32_i32$0 >> 0] = $28_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $28_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $28_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $28_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $30_1 = 24; + i64toi32_i32$2 = $23_1 + $30_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $160_1 = i64toi32_i32$1; + i64toi32_i32$1 = $21_1 + $30_1 | 0; + $29_1 = $160_1; + HEAP8[i64toi32_i32$1 >> 0] = $29_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $29_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $29_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $29_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $33_1 = 16; + i64toi32_i32$2 = $23_1 + $33_1 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $170_1 = i64toi32_i32$0; + i64toi32_i32$0 = $21_1 + $33_1 | 0; + $31_1 = $170_1; + HEAP8[i64toi32_i32$0 >> 0] = $31_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $31_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $31_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $31_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $36_1 = 8; + i64toi32_i32$2 = $23_1 + $36_1 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $180_1 = i64toi32_i32$1; + i64toi32_i32$1 = $21_1 + $36_1 | 0; + $32_1 = $180_1; + HEAP8[i64toi32_i32$1 >> 0] = $32_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $32_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $32_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $32_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) + 1 | 0; + label$2 : while (1) { + $45_1 = 0; + label$3 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$3 + } + $45_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0; + } + label$4 : { + if (!($45_1 & 1 | 0)) { + break label$4 + } + $54_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[$54_1 | 0](HEAP32[($5_1 + 20 | 0) >> 2] | 0, $752(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + label$5 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $698(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + } + } + $72_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $72_1 | 0; + } + + function $747($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $16_1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $628(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0, 4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + $16_1 = $161($5_1 + 8 | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = $16_1; + } + $18_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $18_1 | 0; + } + + function $748($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) - 200 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) - 200 | 0; + continue label$2; + }; + } + return HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $749($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $718(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $720(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $22_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $22_1 | 0; + } + + function $750($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, $23_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 17 | 0)) { + break label$1 + } + $10_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($10_1 + 28 | 0) >> 1] = ((HEAPU16[($10_1 + 28 | 0) >> 1] | 0) & 65535 | 0) & -17 | 0; + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$2 + } + $23_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($23_1 + 28 | 0) >> 1] = ((HEAPU16[($23_1 + 28 | 0) >> 1] | 0) & 65535 | 0) ^ 3 | 0; + $660(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 2 & 255 | 0 | 0); + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $751($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0, $7_1 = 0, $9_1 = 0, $11_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $7_1 = -1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + $7_1 | 0; + $9_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $11_1 = (HEAPU16[($9_1 + 30 | 0) >> 1] | 0) + $7_1 | 0; + HEAP16[($9_1 + 30 | 0) >> 1] = $11_1; + $12_1 = 16; + label$1 : { + if (($11_1 << $12_1 | 0) >> $12_1 | 0) { + break label$1 + } + label$2 : { + label$3 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$3 + } + $661(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + break label$2; + } + $660(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 3 & 255 | 0 | 0); + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $752($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $691(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0) + ((((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 34 | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + (((((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 1 | 0) - 4062 | 0) & 4095 | 0) << 2 | 0) | 0) >> 2] | 0; + } + $38_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $38_1 | 0; + } + + function $753($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = 16; + return ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 30 | 0) >> 1] | 0) << $6_1 | 0) >> $6_1 | 0 | 0; + } + + function $754($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0, $53_1 = 0, $77_1 = 0, $129_1 = 0, $84_1 = 0, $142_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 160 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 156 | 0) >> 2] = $0_1; + $3289($3_1 + 16 | 0 | 0, 0 | 0, 128 | 0) | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 156 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 156 | 0) >> 2] | 0; + HEAP32[($3_1 + 156 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $16_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $16_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (31 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((HEAP32[(($3_1 + 16 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(($3_1 + 16 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + break label$3; + } + $53_1 = $3_1 + 16 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $757(HEAP32[($53_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($53_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$6 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (31 | 0) & 1 | 0)) { + break label$6 + } + $77_1 = $3_1 + 16 | 0; + $84_1 = $757(HEAP32[($77_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($77_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $84_1; + } + continue label$2; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = 1; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (32 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + label$10 : { + if (!((HEAP32[(($3_1 + 16 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + break label$9; + } + label$11 : { + label$12 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $129_1 = $757(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(($3_1 + 16 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + break label$11; + } + $129_1 = HEAP32[(($3_1 + 16 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $129_1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + $142_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 160 | 0; + return $142_1 | 0; + } + + function $755($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6_1 = 0, $29$hi = 0, $30$hi = 0, $16_1 = 0, $90_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $6_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 120 | 0) >> 2] = (HEAP32[($6_1 + 120 | 0) >> 2] | 0) + -1 | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 136 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $16_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $29$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$0 = $30$hi; + $90_1 = i64toi32_i32$1; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = __wasm_i64_mul((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$0 | 0, $90_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $756($16_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $756($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + return 0 | 0; + } + + function $757($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 64 | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $4_1 + 16 | 0; + label$1 : { + label$2 : while (1) { + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + break label$1; + } + break label$3; + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + break label$1; + } + } + continue label$2; + }; + } + return HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0; + } + + function $758($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $734(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $759($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $32$hi = 0, $33$hi = 0, $34$hi = 0, $35$hi = 0, $27_1 = 0, $11_1 = 0, $34_1 = 0, $101_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $649(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + continue label$2; + }; + } + label$3 : { + label$4 : { + if (!(HEAP32[$3_1 >> 2] | 0)) { + break label$4 + } + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $32$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $33$hi = i64toi32_i32$0; + i64toi32_i32$0 = $32$hi; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$0 = $32$hi; + $11_1 = i64toi32_i32$1; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = __wasm_i64_mul($11_1 | 0, i64toi32_i32$0 | 0, 100 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $34_1 = i64toi32_i32$1; + $34$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $35$hi = i64toi32_i32$0; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$0 = $35$hi; + $101_1 = i64toi32_i32$1; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = __wasm_i64_sdiv($34_1 | 0, i64toi32_i32$0 | 0, $101_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $27_1 = i64toi32_i32$1; + break label$3; + } + $27_1 = 0; + } + global$0 = $3_1 + 16 | 0; + return $27_1 | 0; + } + + function $760($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $10_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $761($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $68_1 = 0, $84_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 3 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) & -9 | 0; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] = 4 - (((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 76 | 0) >> 2] = 23; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1; + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 3 | 0) >> 0] = 1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] = 24; + break label$4; + } + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 3 | 0) >> 0] = 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 76 | 0) >> 2] = 26; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] = 25; + } + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 14 | 0) >> 1] = HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 30 | 0) >> 1] | 0; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 1] = HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 32 | 0) >> 1] | 0; + break label$2; + } + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$7 + } + $68_1 = 0; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] = $68_1; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 3 | 0) >> 0] = $68_1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] = 27; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 14 | 0) >> 1] = HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 26 | 0) >> 1] | 0; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 1] = HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 28 | 0) >> 1] | 0; + break label$6; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66588 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 11 | 0) >> 0] = HEAPU8[((HEAP32[$4_1 >> 2] | 0) + 21 | 0) >> 0] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $84_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $84_1 | 0; + } + + function $762($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $114_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 36 | 0) >> 2] = ((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) + (((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($3_1 + 32 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) - 4 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0; + label$1 : { + if (((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + HEAP32[($3_1 + 32 | 0) >> 2] = (HEAP32[($3_1 + 32 | 0) >> 2] | 0) + -1 | 0; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + label$2 : { + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) << 1 | 0) | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) << 1 | 0) | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$5 : { + label$6 : { + if ((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(66701 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 40 | 0) >> 2] | 0, (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + (HEAP32[($3_1 + 20 | 0) >> 2] | 0) | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(66706 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($3_1 + 44 | 0) >> 2] = 0; + } + $114_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $114_1 | 0; + } + + function $763($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0, $51_1 = 0, $77_1 = 0, $85_1 = 0, $30_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 >= 128 >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 127 | 0; + label$2 : while (1) { + $30_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 7 | 0; + $31_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $31_1 + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $30_1 | (((HEAPU8[($31_1 + 1 | 0) >> 0] | 0) & 255 | 0) & 127 | 0) | 0; + $51_1 = 0; + label$3 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (128 | 0) & 1 | 0)) { + break label$3 + } + $51_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0; + } + if ($51_1 & 1 | 0) { + continue label$2 + } + break label$2; + }; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 9 | 0; + label$5 : while (1) { + $77_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $77_1 + 1 | 0; + $85_1 = 0; + label$6 : { + if (!(((HEAPU8[$77_1 >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$6 + } + $85_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0; + } + label$7 : { + if (!($85_1 & 1 | 0)) { + break label$7 + } + continue label$5; + } + break label$5; + }; + } + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 <= ((HEAPU16[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) | 0; + label$10 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 < 4 >>> 0 & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 4; + } + break label$8; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + ((((HEAP32[($4_1 + 12 | 0) >> 2] | 0) - (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0) >>> 0) % (((HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 4 | 0) >>> 0) | 0) | 0; + label$11 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 > ((HEAPU16[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) & 65535 | 0) + 4 | 0) | 0; + } + return (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 65535 | 0 | 0; + } + + function $764($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $146$hi = 0, $27_1 = 0, $47_1 = 0, $149$hi = 0, $151$hi = 0, $152$hi = 0, $154$hi = 0, $155$hi = 0, $32_1 = 0, $156$hi = 0, $70_1 = 0, $157$hi = 0, $159$hi = 0, $160$hi = 0, $33_1 = 0, $161$hi = 0, $95_1 = 0, $162$hi = 0, $26_1 = 0, $316_1 = 0, $69_1 = 0, $341_1 = 0, $344_1 = 0, $399_1 = 0, $412_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$1 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0) >>> 0 >= 128 >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) & 127 | 0; + label$2 : while (1) { + $26_1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 7 | 0; + $27_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $27_1 + 1 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $26_1 | (((HEAPU8[($27_1 + 1 | 0) >> 0] | 0) & 255 | 0) & 127 | 0) | 0; + $47_1 = 0; + label$3 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (128 | 0) & 1 | 0)) { + break label$3 + } + $47_1 = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0; + } + if ($47_1 & 1 | 0) { + continue label$2 + } + break label$2; + }; + } + i64toi32_i32$0 = 0; + $146$hi = i64toi32_i32$0; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $149$hi = i64toi32_i32$1; + i64toi32_i32$1 = $146$hi; + i64toi32_i32$1 = $149$hi; + i64toi32_i32$1 = $146$hi; + i64toi32_i32$1 = $149$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $146$hi; + i64toi32_i32$3 = 128; + label$4 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 7 | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $151$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $152$hi = i64toi32_i32$1; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$1 = $152$hi; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $152$hi; + i64toi32_i32$0 = 127; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $316_1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $316_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$2; + label$5 : { + label$6 : while (1) { + $69_1 = 128; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $154$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $155$hi = i64toi32_i32$3; + i64toi32_i32$3 = $154$hi; + i64toi32_i32$3 = $155$hi; + i64toi32_i32$3 = $154$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $155$hi; + i64toi32_i32$0 = 7; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $32_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $32_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $156$hi = i64toi32_i32$2; + $70_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $70_1 + 1 | 0; + i64toi32_i32$1 = ((HEAPU8[($70_1 + 1 | 0) >> 0] | 0) & 255 | 0) & 127 | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $157$hi = i64toi32_i32$2; + i64toi32_i32$2 = $156$hi; + i64toi32_i32$2 = $157$hi; + $341_1 = i64toi32_i32$1; + i64toi32_i32$2 = $156$hi; + i64toi32_i32$3 = $32_1; + i64toi32_i32$1 = $157$hi; + i64toi32_i32$0 = $341_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $344_1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $344_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$1; + label$7 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < ($69_1 | 0) & 1 | 0)) { + break label$7 + } + break label$5; + } + label$8 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $159$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $160$hi = i64toi32_i32$3; + i64toi32_i32$3 = $159$hi; + i64toi32_i32$3 = $160$hi; + i64toi32_i32$3 = $159$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $160$hi; + i64toi32_i32$0 = 8; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $33_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $33_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $161$hi = i64toi32_i32$1; + $95_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $95_1 + 1 | 0; + i64toi32_i32$1 = 0; + $162$hi = i64toi32_i32$1; + i64toi32_i32$1 = $161$hi; + i64toi32_i32$1 = $162$hi; + i64toi32_i32$1 = $161$hi; + i64toi32_i32$3 = $33_1; + i64toi32_i32$2 = $162$hi; + i64toi32_i32$0 = (HEAPU8[($95_1 + 1 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $399_1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $399_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$2; + break label$5; + } + continue label$6; + }; + } + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $412_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $412_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0) >>> 0 <= ((HEAPU16[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$10 + } + HEAP16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 18 | 0) >> 1] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 32 | 0) >> 2] | 0) - (HEAP32[($5_1 + 40 | 0) >> 2] | 0) | 0) & 65535 | 0) | 0; + label$11 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$11 + } + HEAP16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 18 | 0) >> 1] = 4; + } + HEAP16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 1] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$9; + } + $768(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $765($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $16_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $16_1 = (($769((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0) & 255 | 0) + 4 | 0; + HEAP16[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 18 | 0) >> 1] = $16_1; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = $6_1; + HEAP16[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 1] = 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = $6_1; + global$0 = $5_1 + 16 | 0; + return; + } + + function $766($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0, $20_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0; + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 9 | 0; + label$1 : while (1) { + $12_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $12_1 + 1 | 0; + $20_1 = 0; + label$2 : { + if (!(((HEAPU8[$12_1 >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$2 + } + $20_1 = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 < (HEAP32[$4_1 >> 2] | 0) >>> 0; + } + label$3 : { + if (!($20_1 & 1 | 0)) { + break label$3 + } + continue label$1; + } + break label$1; + }; + return ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0) & 65535 | 0 | 0; + } + + function $767($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $32_1 = 0, $52_1 = 0, i64toi32_i32$1 = 0, $31_1 = 0, i64toi32_i32$0 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$1 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 >= 128 >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 127 | 0; + label$2 : while (1) { + $31_1 = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 7 | 0; + $32_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $32_1 + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $31_1 | (((HEAPU8[($32_1 + 1 | 0) >> 0] | 0) & 255 | 0) & 127 | 0) | 0; + $52_1 = 0; + label$3 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (128 | 0) & 1 | 0)) { + break label$3 + } + $52_1 = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0; + } + if ($52_1 & 1 | 0) { + continue label$2 + } + break label$2; + }; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 <= ((HEAPU16[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$5 + } + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 1] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) & 65535 | 0) | 0; + label$6 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$6 + } + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 1] = 4; + } + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 1] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$4; + } + $768(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $768($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAPU16[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAPU16[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >>> 0) % (((HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 4 | 0) >>> 0) | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 1] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 1] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + } + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 1] = ((((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) & 65535 | 0) + 4 | 0; + return; + } + + function $769($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $25_1 = 0, $315$hi = 0, $316$hi = 0, $40_1 = 0, $317$hi = 0, $318$hi = 0, $320$hi = 0, $321$hi = 0, $41_1 = 0, $322$hi = 0, $323$hi = 0, $325$hi = 0, $326$hi = 0, $42_1 = 0, $327$hi = 0, $328$hi = 0, $330$hi = 0, $331$hi = 0, $43_1 = 0, $332$hi = 0, $333$hi = 0, $335$hi = 0, $336$hi = 0, $44_1 = 0, $337$hi = 0, $338$hi = 0, $137_1 = 0, $686_1 = 0, $173_1 = 0, $788_1 = 0, $206_1 = 0, $881_1 = 0, $245_1 = 0, $974_1 = 0, $263_1 = 0, $1089_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + $8_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = (HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = 1; + break label$1; + } + $25_1 = 24; + label$3 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $25_1 | 0) >> $25_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = (((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 127 | 0) << 7 | 0 | ((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = 2; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 14 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 2 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$4 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 128 | 0) { + break label$4 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 127 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = 3; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$5 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 128 | 0) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = 4; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$6 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 128 | 0) { + break label$6 + } + $137_1 = 5; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 18 | 0; + i64toi32_i32$0 = 0; + $315$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $316$hi = i64toi32_i32$0; + i64toi32_i32$0 = $315$hi; + i64toi32_i32$0 = $316$hi; + i64toi32_i32$0 = $315$hi; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = $316$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $40_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $40_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $317$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $318$hi = i64toi32_i32$1; + i64toi32_i32$1 = $317$hi; + i64toi32_i32$1 = $318$hi; + i64toi32_i32$1 = $317$hi; + i64toi32_i32$0 = $40_1; + i64toi32_i32$2 = $318$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $686_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $686_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP8[($4_1 + 31 | 0) >> 0] = $137_1; + break label$1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$7 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 128 | 0) { + break label$7 + } + $173_1 = 6; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 18 | 0; + i64toi32_i32$2 = 0; + $320$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $321$hi = i64toi32_i32$2; + i64toi32_i32$2 = $320$hi; + i64toi32_i32$2 = $321$hi; + i64toi32_i32$2 = $320$hi; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $321$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $41_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $41_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $322$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $323$hi = i64toi32_i32$0; + i64toi32_i32$0 = $322$hi; + i64toi32_i32$0 = $323$hi; + i64toi32_i32$0 = $322$hi; + i64toi32_i32$2 = $41_1; + i64toi32_i32$1 = $323$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $788_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $788_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP8[($4_1 + 31 | 0) >> 0] = $173_1; + break label$1; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$8 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 128 | 0) { + break label$8 + } + $206_1 = 7; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & -266354561 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 11 | 0; + i64toi32_i32$1 = 0; + $325$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $326$hi = i64toi32_i32$1; + i64toi32_i32$1 = $325$hi; + i64toi32_i32$1 = $326$hi; + i64toi32_i32$1 = $325$hi; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $326$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $42_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $42_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $327$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $328$hi = i64toi32_i32$2; + i64toi32_i32$2 = $327$hi; + i64toi32_i32$2 = $328$hi; + i64toi32_i32$2 = $327$hi; + i64toi32_i32$1 = $42_1; + i64toi32_i32$0 = $328$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $881_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $881_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = $206_1; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$9 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 128 | 0) { + break label$9 + } + $245_1 = 8; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & -266354561 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 4 | 0; + i64toi32_i32$0 = 0; + $330$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $331$hi = i64toi32_i32$0; + i64toi32_i32$0 = $330$hi; + i64toi32_i32$0 = $331$hi; + i64toi32_i32$0 = $330$hi; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = $331$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $43_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $43_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $332$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $333$hi = i64toi32_i32$1; + i64toi32_i32$1 = $332$hi; + i64toi32_i32$1 = $333$hi; + i64toi32_i32$1 = $332$hi; + i64toi32_i32$0 = $43_1; + i64toi32_i32$2 = $333$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $974_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $974_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP8[($4_1 + 31 | 0) >> 0] = $245_1; + break label$1; + } + $263_1 = 9; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 15 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 8 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + -4 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 127 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 3 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = 0; + $335$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $336$hi = i64toi32_i32$2; + i64toi32_i32$2 = $335$hi; + i64toi32_i32$2 = $336$hi; + i64toi32_i32$2 = $335$hi; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $336$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $44_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $44_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $337$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $338$hi = i64toi32_i32$0; + i64toi32_i32$0 = $337$hi; + i64toi32_i32$0 = $338$hi; + i64toi32_i32$0 = $337$hi; + i64toi32_i32$2 = $44_1; + i64toi32_i32$1 = $338$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $1089_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $1089_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP8[($4_1 + 31 | 0) >> 0] = $263_1; + } + return (HEAPU8[($4_1 + 31 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $770($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $22_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $67_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) <= (HEAP32[(0 + 114576 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(0 + 114600 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $22_1 = 1; + HEAP32[(0 + 114600 | 0) >> 2] = HEAP32[(HEAP32[(0 + 114600 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(0 + 114604 | 0) >> 2] = (HEAP32[(0 + 114604 | 0) >> 2] | 0) + -1 | 0; + HEAP32[(0 + 114608 | 0) >> 2] = (HEAP32[(0 + 114604 | 0) >> 2] | 0 | 0) < (HEAP32[(0 + 114584 | 0) >> 2] | 0 | 0) & 1 | 0; + $46(7 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $48($22_1 | 0, $22_1 | 0); + } + } + label$3 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $39(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $16(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $46(7 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $48(2 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + } + } + $67_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $67_1 | 0; + } + + function $771($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1, $9_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + $9_1 = $9_1 | 0; + var $12_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $166_1 = 0, $124_1 = 0, $50_1 = 0, $27_1 = 0, $147_1 = 0, $159_1 = 0, $119_1 = 0, $162_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $12_1 = global$0 - 64 | 0; + global$0 = $12_1; + HEAP32[($12_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($12_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($12_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($12_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($12_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($12_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($12_1 + 32 | 0) >> 2] = $6_1; + HEAP32[($12_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($12_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($12_1 + 20 | 0) >> 2] = $9_1; + HEAP32[($12_1 + 12 | 0) >> 2] = 0; + HEAP32[($12_1 + 8 | 0) >> 2] = HEAP32[($12_1 + 48 | 0) >> 2] | 0; + HEAP32[($12_1 + 4 | 0) >> 2] = HEAP32[($12_1 + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($12_1 + 60 | 0) >> 2] = 8; + break label$1; + } + $27_1 = 1; + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $686(HEAP32[($12_1 + 56 | 0) >> 2] | 0 | 0, $27_1 | 0, $27_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($12_1 + 16 | 0) >> 2] | 0) { + break label$3 + } + HEAP8[((HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 45 | 0) >> 0] = 1; + label$4 : { + if (!(HEAP32[($12_1 + 48 | 0) >> 2] | 0)) { + break label$4 + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $772(HEAP32[($12_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 40 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (HEAP32[($12_1 + 16 | 0) >> 2] | 0) { + break label$6 + } + HEAP8[((HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 44 | 0) >> 0] = 1; + break label$5; + } + label$7 : { + if (!((HEAP32[($12_1 + 16 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$7 + } + $50_1 = 0; + HEAP32[($12_1 + 8 | 0) >> 2] = $50_1; + HEAP32[($12_1 + 4 | 0) >> 2] = $50_1; + HEAP32[($12_1 + 16 | 0) >> 2] = $50_1; + } + } + } + } + label$8 : { + if (HEAP32[($12_1 + 16 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $701(HEAP32[($12_1 + 56 | 0) >> 2] | 0 | 0, $12_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($12_1 + 12 | 0) >> 2] | 0)) { + break label$9 + } + if (!((HEAP32[(HEAP32[(HEAP32[((HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$0 = 0; + $756(HEAP32[((HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0, 0 | 0) | 0; + } + } + label$10 : { + if (HEAP32[($12_1 + 16 | 0) >> 2] | 0) { + break label$10 + } + label$11 : { + label$12 : { + if (!(HEAP32[((HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0)) { + break label$12 + } + if (!(($773(HEAP32[($12_1 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($12_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $694(63441 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $774(HEAP32[($12_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$13 : { + label$14 : { + if (!(HEAP32[($12_1 + 16 | 0) >> 2] | 0)) { + break label$14 + } + if (!((HEAP32[($12_1 + 16 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$13 + } + } + label$15 : { + if (!((HEAP32[($12_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[(HEAP32[($12_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + } + label$16 : { + if (!((HEAP32[($12_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $119_1 = HEAP32[($685(HEAP32[($12_1 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + HEAP32[(HEAP32[($12_1 + 20 | 0) >> 2] | 0) >> 2] = $119_1; + } + } + } + label$17 : { + if (!(HEAP32[($12_1 + 12 | 0) >> 2] | 0)) { + break label$17 + } + $124_1 = (HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 52 | 0; + i64toi32_i32$0 = 0; + $166_1 = 0; + i64toi32_i32$1 = $124_1; + HEAP32[i64toi32_i32$1 >> 2] = $166_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $166_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $124_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $166_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $124_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $166_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $124_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $166_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $124_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $166_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + $714(HEAP32[($12_1 + 56 | 0) >> 2] | 0 | 0) | 0; + label$18 : { + if (!(((HEAPU8[((HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 45 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + $147_1 = 1; + $688(HEAP32[($12_1 + 56 | 0) >> 2] | 0 | 0, $147_1 | 0, $147_1 | 0); + HEAP8[((HEAP32[($12_1 + 56 | 0) >> 2] | 0) + 45 | 0) >> 0] = 0; + } + label$19 : { + label$20 : { + if (HEAP32[($12_1 + 16 | 0) >> 2] | 0) { + break label$20 + } + if (!((HEAP32[($12_1 + 48 | 0) >> 2] | 0 | 0) != (HEAP32[($12_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + $159_1 = 5; + break label$19; + } + $159_1 = HEAP32[($12_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($12_1 + 60 | 0) >> 2] = $159_1; + } + $162_1 = HEAP32[($12_1 + 60 | 0) >> 2] | 0; + global$0 = $12_1 + 64 | 0; + return $162_1 | 0; + } + + function $772($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $20_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + label$1 : while (1) { + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $686(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $20_1 = 0; + label$2 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $20_1 = 0; + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + $20_1 = (FUNCTION_TABLE[HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0 | 0) != (0 | 0); + } + if ($20_1 & 1 | 0) { + continue label$1 + } + break label$1; + }; + $39_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $39_1 | 0; + } + + function $773($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 66 | 0) >> 1] | 0) & 65535 | 0) & 65024 | 0) + ((((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 66 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) << 16 | 0) | 0 | 0; + } + + function $774($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $10_1 = 0, $343$hi = 0, $344$hi = 0, $353$hi = 0, $354$hi = 0, $313_1 = 0, $69_1 = 0, $125_1 = 0, $340$hi = 0, $341$hi = 0, $57_1 = 0, $58_1 = 0, $59_1 = 0, $347$hi = 0, $348$hi = 0, $349$hi = 0, $350$hi = 0, $351$hi = 0, $352$hi = 0, $60_1 = 0, $61_1 = 0, $62_1 = 0, $175_1 = 0, $357$hi = 0, $358$hi = 0, $359$hi = 0, $360$hi = 0, $361$hi = 0, $362$hi = 0, $365$hi = 0, $366$hi = 0, $369$hi = 0, $370$hi = 0, $334_1 = 0, $79_1 = 0, $695_1 = 0, $698_1 = 0, $343_1 = 0, $726_1 = 0, $751_1 = 0, $754_1 = 0, $761_1 = 0, $893_1 = 0, $938_1 = 0, $941_1 = 0, $1005_1 = 0, $1008_1 = 0, $280_1 = 0, $337_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 144 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 132 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 128 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 124 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 120 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 116 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 112 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 104 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 100 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 96 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $773(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $685(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($9_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[($9_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[($9_1 + 84 | 0) >> 2] = 1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($9_1 + 84 | 0) >> 2] | 0 | 0) < (5 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($9_1 + 72 | 0) >> 2] = HEAP32[(((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 84 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[($9_1 + 92 | 0) >> 2] | 0) >>> 0 > (HEAP32[($9_1 + 76 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $772(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 3 | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (HEAP32[($9_1 + 112 | 0) >> 2] | 0) { + break label$7 + } + label$8 : { + label$9 : { + if (!((HEAP32[($9_1 + 84 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$9 + } + $69_1 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + break label$8; + } + $69_1 = -1; + } + HEAP32[($9_1 + 68 | 0) >> 2] = $69_1; + $79_1 = ((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 84 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($9_1 + 64 | 0) >> 2] = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[$79_1 >> 2] = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + $688(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 3 | 0 | 0, 1 | 0); + break label$6; + } + label$10 : { + label$11 : { + if (!((HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($9_1 + 92 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + HEAP32[($9_1 + 128 | 0) >> 2] = 0; + break label$10; + } + break label$1; + } + } + } + HEAP32[($9_1 + 84 | 0) >> 2] = (HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$12 : { + if (!((HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] | 0) >>> 0 < (HEAP32[($9_1 + 92 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $775(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0, $9_1 + 104 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + } + label$13 : { + if (!((HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + $125_1 = $772(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0, 3 | 0, 1 | 0) | 0; + HEAP32[($9_1 + 112 | 0) >> 2] = $125_1; + if ($125_1) { + break label$13 + } + HEAP32[($9_1 + 60 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, ((HEAP32[($9_1 + 120 | 0) >> 2] | 0) >> 2 | 0) & 3 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (HEAP32[($9_1 + 112 | 0) >> 2] | 0) { + break label$14 + } + i64toi32_i32$0 = 0; + $340$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $341$hi = i64toi32_i32$0; + i64toi32_i32$0 = $340$hi; + i64toi32_i32$0 = $341$hi; + $695_1 = i64toi32_i32$1; + i64toi32_i32$0 = $340$hi; + i64toi32_i32$1 = $341$hi; + i64toi32_i32$1 = __wasm_i64_mul(HEAP32[($9_1 + 88 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, $695_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $698_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 48 | 0) >> 2] = $698_1; + HEAP32[($9_1 + 52 | 0) >> 2] = i64toi32_i32$0; + $189(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 39 | 0, 0 | 0) | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $9_1 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (HEAP32[($9_1 + 112 | 0) >> 2] | 0) { + break label$15 + } + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + $343_1 = i64toi32_i32$0; + $343$hi = i64toi32_i32$1; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 52 | 0) >> 2] | 0; + $344$hi = i64toi32_i32$0; + i64toi32_i32$0 = $343$hi; + i64toi32_i32$0 = $344$hi; + i64toi32_i32$0 = $343$hi; + i64toi32_i32$0 = $344$hi; + $726_1 = i64toi32_i32$1; + i64toi32_i32$0 = $343$hi; + i64toi32_i32$2 = $343_1; + i64toi32_i32$1 = $344$hi; + i64toi32_i32$3 = $726_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $57_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $58_1 = 0 + } else { + $58_1 = 1 + } + $59_1 = $58_1; + } else { + $59_1 = 0 + } + $57_1 = $59_1; + } + if (!($57_1 & 1 | 0)) { + break label$15 + } + i64toi32_i32$3 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + $347$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $348$hi = i64toi32_i32$0; + i64toi32_i32$0 = $347$hi; + i64toi32_i32$0 = $348$hi; + i64toi32_i32$0 = $347$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $348$hi; + i64toi32_i32$1 = 65536; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $349$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $350$hi = i64toi32_i32$5; + i64toi32_i32$3 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $351$hi = i64toi32_i32$5; + i64toi32_i32$5 = $350$hi; + i64toi32_i32$5 = $351$hi; + $751_1 = i64toi32_i32$3; + i64toi32_i32$5 = $350$hi; + i64toi32_i32$3 = $351$hi; + i64toi32_i32$3 = __wasm_i64_mul(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, $751_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $352$hi = i64toi32_i32$5; + i64toi32_i32$5 = $349$hi; + i64toi32_i32$5 = $352$hi; + $754_1 = i64toi32_i32$3; + i64toi32_i32$5 = $349$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$3 = $352$hi; + i64toi32_i32$1 = $754_1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $353$hi = i64toi32_i32$4; + i64toi32_i32$5 = $9_1; + i64toi32_i32$4 = HEAP32[($9_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 52 | 0) >> 2] | 0; + $354$hi = i64toi32_i32$0; + i64toi32_i32$0 = $353$hi; + i64toi32_i32$0 = $354$hi; + i64toi32_i32$0 = $353$hi; + i64toi32_i32$0 = $354$hi; + $761_1 = i64toi32_i32$4; + i64toi32_i32$0 = $353$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$4 = $354$hi; + i64toi32_i32$1 = $761_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$4 | 0)) { + $60_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$1 >>> 0) { + $61_1 = 0 + } else { + $61_1 = 1 + } + $62_1 = $61_1; + } else { + $62_1 = 0 + } + $60_1 = $62_1; + } + label$16 : { + label$17 : { + if (!($60_1 & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $694(61639 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + break label$16; + } + $615(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 5 | 0, $9_1 + 48 | 0 | 0); + } + } + } + label$18 : while (1) { + $175_1 = 0; + label$19 : { + if (HEAP32[($9_1 + 112 | 0) >> 2] | 0) { + break label$19 + } + $175_1 = (0 | 0) == ($776(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, $9_1 + 100 | 0 | 0, $9_1 + 96 | 0 | 0) | 0 | 0); + } + label$20 : { + if (!($175_1 & 1 | 0)) { + break label$20 + } + HEAP32[($9_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 136 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0; + label$21 : { + if (!(HEAP32[($9_1 + 28 | 0) >> 2] | 0)) { + break label$21 + } + HEAP32[($9_1 + 112 | 0) >> 2] = (HEAPU8[((HEAP32[($9_1 + 136 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 ? 7 : 9; + break label$20; + } + label$22 : { + label$23 : { + if ((HEAP32[($9_1 + 96 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($9_1 + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$23 + } + if ((HEAP32[($9_1 + 96 | 0) >> 2] | 0) >>> 0 > (HEAP32[($9_1 + 92 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$23 + } + if (!((HEAP32[($9_1 + 100 | 0) >> 2] | 0) >>> 0 > (HEAP32[($9_1 + 88 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$22 + } + } + continue label$18; + } + i64toi32_i32$5 = 0; + $357$hi = i64toi32_i32$5; + i64toi32_i32$0 = (HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $358$hi = i64toi32_i32$5; + i64toi32_i32$5 = $357$hi; + i64toi32_i32$5 = $358$hi; + $893_1 = i64toi32_i32$0; + i64toi32_i32$5 = $357$hi; + i64toi32_i32$0 = $358$hi; + i64toi32_i32$0 = __wasm_i64_mul((HEAP32[($9_1 + 96 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$5 | 0, $893_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $359$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $360$hi = i64toi32_i32$5; + i64toi32_i32$5 = $359$hi; + i64toi32_i32$5 = $360$hi; + i64toi32_i32$5 = $359$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $360$hi; + i64toi32_i32$4 = 32; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $361$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $362$hi = i64toi32_i32$2; + i64toi32_i32$2 = $361$hi; + i64toi32_i32$2 = $362$hi; + i64toi32_i32$2 = $361$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$1 = $362$hi; + i64toi32_i32$4 = 24; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + i64toi32_i32$5 = $9_1; + HEAP32[($9_1 + 32 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 36 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!(HEAP32[($9_1 + 112 | 0) >> 2] | 0)) { + break label$24 + } + break label$20; + } + i64toi32_i32$5 = 0; + $365$hi = i64toi32_i32$5; + i64toi32_i32$3 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $366$hi = i64toi32_i32$5; + i64toi32_i32$5 = $365$hi; + i64toi32_i32$5 = $366$hi; + $938_1 = i64toi32_i32$3; + i64toi32_i32$5 = $365$hi; + i64toi32_i32$3 = $366$hi; + i64toi32_i32$3 = __wasm_i64_mul((HEAP32[($9_1 + 100 | 0) >> 2] | 0) - 1 | 0 | 0, i64toi32_i32$5 | 0, $938_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $941_1 = i64toi32_i32$3; + i64toi32_i32$3 = $9_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $941_1; + HEAP32[($9_1 + 36 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$2 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $147(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + if (!(HEAP32[($9_1 + 112 | 0) >> 2] | 0)) { + break label$25 + } + break label$20; + } + continue label$18; + } + break label$18; + }; + $189(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 37 | 0, 0 | 0) | 0; + label$26 : { + if (HEAP32[($9_1 + 112 | 0) >> 2] | 0) { + break label$26 + } + label$27 : { + if (!((HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0) == (HEAP32[(($675(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0) | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + i64toi32_i32$3 = 0; + $369$hi = i64toi32_i32$3; + i64toi32_i32$5 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$5 >> 31 | 0; + $370$hi = i64toi32_i32$3; + i64toi32_i32$3 = $369$hi; + i64toi32_i32$3 = $370$hi; + $1005_1 = i64toi32_i32$5; + i64toi32_i32$3 = $369$hi; + i64toi32_i32$5 = $370$hi; + i64toi32_i32$5 = __wasm_i64_mul(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, $1005_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $1008_1 = i64toi32_i32$5; + i64toi32_i32$5 = $9_1; + HEAP32[($9_1 + 16 | 0) >> 2] = $1008_1; + HEAP32[($9_1 + 20 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $188(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$28 : { + if (HEAP32[($9_1 + 112 | 0) >> 2] | 0) { + break label$28 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $190(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($9_1 + 120 | 0) >> 2] | 0) >> 2 | 0) & 3 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + } + } + label$29 : { + if (HEAP32[($9_1 + 112 | 0) >> 2] | 0) { + break label$29 + } + $280_1 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + HEAP32[($9_1 + 12 | 0) >> 2] = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + HEAP32[$280_1 >> 2] = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + } + } + $688(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0, 3 | 0, 1 | 0); + } + label$30 : { + if (!((HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($9_1 + 112 | 0) >> 2] = 0; + } + } + label$31 : { + if (HEAP32[($9_1 + 112 | 0) >> 2] | 0) { + break label$31 + } + if (!(HEAP32[($9_1 + 132 | 0) >> 2] | 0)) { + break label$31 + } + label$32 : { + label$33 : { + if (!((HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$33 + } + HEAP32[($9_1 + 112 | 0) >> 2] = 5; + break label$32; + } + label$34 : { + if (!((HEAP32[($9_1 + 132 | 0) >> 2] | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$34 + } + $313_1 = 4; + $85($313_1 | 0, $9_1 + 8 | 0 | 0); + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $772(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0, $313_1 | 0, $313_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$35 : { + if (HEAP32[($9_1 + 112 | 0) >> 2] | 0) { + break label$35 + } + label$36 : { + if (!((HEAP32[($9_1 + 132 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$36 + } + i64toi32_i32$5 = 0; + $687(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $188(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + } + $334_1 = 4; + $688(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0, $334_1 | 0, $334_1 | 0); + } + } + } + } + } + $777(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0); + $337_1 = HEAP32[($9_1 + 112 | 0) >> 2] | 0; + global$0 = $9_1 + 144 | 0; + return $337_1 | 0; + } + + function $775($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6_1 = 0, $46_1 = 0, $67_1 = 0, $183_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($691(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = (Math_imul((HEAP32[($5_1 + 56 | 0) >> 2] | 0) - 1 | 0, 20) + 28 | 0) + ((HEAP32[($5_1 + 52 | 0) >> 2] | 0) << 1 | 0) | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($5_1 + 76 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $3289(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0) >>> 0 > 4096 >>> 0 & 1 | 0)) { + break label$4 + } + $46_1 = 4096; + break label$3; + } + $46_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41($46_1 << 1 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $691((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$6 : while (1) { + $67_1 = 0; + label$7 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$7 + } + $67_1 = (HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!($67_1 & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $692(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0; + label$10 : { + label$11 : { + if (!(((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0 | 0) == (HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0; + break label$10; + } + HEAP32[($5_1 + 8 | 0) >> 2] = ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 2 | 0; + } + HEAP32[($5_1 + 4 | 0) >> 2] = (((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 20) | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 1 | 0) | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP16[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + $778(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0); + HEAP32[((((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 36 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[((((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 36 | 0) >> 2] | 0, 20) | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 36 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 36 | 0) >> 2] | 0, 20) | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 36 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + $42(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0); + label$14 : { + if (!(HEAP32[($5_1 + 28 | 0) >> 2] | 0)) { + break label$14 + } + $777(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($5_1 + 64 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + $183_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + global$0 = $5_1 + 80 | 0; + return $183_1 | 0; + } + + function $776($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $81_1 = 0, $89_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = -1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 4 | 0) >> 2] = ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 20) | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) << 2 | 0) | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[$5_1 >> 2] | 0) >>> 0 > (HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[$5_1 >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) | 0; + } + break label$3; + } + $81_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[$81_1 >> 2] = (HEAP32[$81_1 >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + }; + } + $89_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = $89_1; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = $89_1; + return (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0 | 0; + } + + function $777($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $778($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $58_1 = 0; + $6_1 = global$0 - 160 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 156 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 152 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 148 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 144 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 144 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 136 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 132 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 124 | 0) >> 2] = $7_1; + $3289($6_1 + 16 | 0 | 0, 0 | 0, 104 | 0) | 0; + HEAP32[($6_1 + 128 | 0) >> 2] = $7_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 136 | 0) >> 2] = 1; + HEAP32[($6_1 + 132 | 0) >> 2] = (HEAP32[($6_1 + 148 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 128 | 0) >> 2] | 0) << 1 | 0) | 0; + HEAP32[($6_1 + 124 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 128 | 0) >> 2] | 0) & (1 << (HEAP32[($6_1 + 124 | 0) >> 2] | 0) | 0) | 0)) { + break label$3 + } + HEAP32[($6_1 + 12 | 0) >> 2] = ($6_1 + 16 | 0) + ((HEAP32[($6_1 + 124 | 0) >> 2] | 0) << 3 | 0) | 0; + $779(HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 + 132 | 0 | 0, $6_1 + 136 | 0 | 0, HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 124 | 0) >> 2] = (HEAP32[($6_1 + 124 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $58_1 = $6_1 + 16 | 0; + HEAP32[(($58_1 + ((HEAP32[($6_1 + 124 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + HEAP32[($58_1 + ((HEAP32[($6_1 + 124 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP32[($6_1 + 128 | 0) >> 2] = (HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($6_1 + 124 | 0) >> 2] = (HEAP32[($6_1 + 124 | 0) >> 2] | 0) + 1 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 124 | 0) >> 2] | 0) >>> 0 < 13 >>> 0 & 1 | 0)) { + break label$5 + } + label$7 : { + if (!((HEAP32[($6_1 + 140 | 0) >> 2] | 0) & (1 << (HEAP32[($6_1 + 124 | 0) >> 2] | 0) | 0) | 0)) { + break label$7 + } + HEAP32[($6_1 + 8 | 0) >> 2] = ($6_1 + 16 | 0) + ((HEAP32[($6_1 + 124 | 0) >> 2] | 0) << 3 | 0) | 0; + $779(HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 + 132 | 0 | 0, $6_1 + 136 | 0 | 0, HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 124 | 0) >> 2] = (HEAP32[($6_1 + 124 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[(HEAP32[($6_1 + 144 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + global$0 = $6_1 + 160 | 0; + return; + } + + function $779($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $9_1 = 0, $22_1 = 0, $77_1 = 0, $85_1 = 0, $102_1 = 0, $76_1 = 0, $84_1 = 0, $100_1 = 0, $101_1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 48 | 0) >> 2] | 0) >> 2] | 0; + label$1 : while (1) { + $22_1 = 1; + label$2 : { + if ((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$2 + } + $22_1 = (HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($22_1 & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if ((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) >= (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 32 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + } + $76_1 = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + $77_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $77_1 + 1 | 0; + HEAP16[($8_1 + 18 | 0) >> 1] = HEAPU16[($76_1 + ($77_1 << 1 | 0) | 0) >> 1] | 0; + break label$4; + } + $84_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $85_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $85_1 + 1 | 0; + HEAP16[($8_1 + 18 | 0) >> 1] = HEAPU16[($84_1 + ($85_1 << 1 | 0) | 0) >> 1] | 0; + } + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + (((HEAPU16[($8_1 + 18 | 0) >> 1] | 0) & 65535 | 0) << 2 | 0) | 0) >> 2] | 0; + $100_1 = HEAPU16[($8_1 + 18 | 0) >> 1] | 0; + $101_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + $102_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $102_1 + 1 | 0; + HEAP16[($101_1 + ($102_1 << 1 | 0) | 0) >> 1] = $100_1; + label$7 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + continue label$1; + } + break label$1; + }; + HEAP32[(HEAP32[($8_1 + 48 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $3288(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 28 | 0) >> 2] | 0) << 1 | 0 | 0) | 0; + global$0 = $8_1 + 64 | 0; + return; + } + + function $780($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $8_1 = HEAP32[(0 + 68488 | 0) >> 2] | 0; + FUNCTION_TABLE[$8_1 | 0](HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0, $649(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $781($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $16_1 = 0, $105_1 = 0, $207_1 = 0, $200_1 = 0, $203_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0) { + break label$2 + } + if ((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + $16_1 = 1; + HEAP32[($3_1 + 36 | 0) >> 2] = $16_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $715(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, $16_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($3_1 + 40 | 0) >> 2] | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $787(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, $3_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (!(HEAP32[($3_1 + 40 | 0) >> 2] | 0)) { + break label$5 + } + break label$1; + } + label$6 : { + if (!(HEAP32[($3_1 + 36 | 0) >> 2] | 0)) { + break label$6 + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 14 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 40 | 0) >> 2] = 776; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $716(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, 4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($3_1 + 40 | 0) >> 2] | 0)) { + break label$8 + } + break label$1; + } + label$9 : { + if ((HEAP32[(HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + HEAP32[($3_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $739(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0, 0 | 0, $3_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($3_1 + 40 | 0) >> 2] | 0) { + break label$10 + } + if (!(HEAP32[($3_1 + 28 | 0) >> 2] | 0)) { + break label$10 + } + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = 2050; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $618(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $3_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (HEAP32[($3_1 + 40 | 0) >> 2] | 0) { + break label$11 + } + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $96(57183 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $622(HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + } + } + label$12 : { + label$13 : { + if (!((HEAP32[(HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $638(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (HEAP32[($3_1 + 40 | 0) >> 2] | 0) { + break label$14 + } + $105_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $728(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, (((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != ($105_1 & 255 | 0 | 0) ^ -1 | 0) & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = $105_1; + } + break label$12; + } + label$15 : { + if (((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$15 + } + $736(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + } + label$16 : { + if (!(HEAP32[($3_1 + 40 | 0) >> 2] | 0)) { + break label$16 + } + $639(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + } + label$17 : { + if (((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$17 + } + if (!((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0)) { + break label$17 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, $3_1 | 0, 16 | 0, 24 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!(HEAP32[($3_1 + 40 | 0) >> 2] | 0)) { + break label$18 + } + label$19 : { + if (!((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) != (522 | 0) & 1 | 0)) { + break label$19 + } + break label$1; + } + i64toi32_i32$0 = 0; + $207_1 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[$3_1 >> 2] = $207_1; + HEAP32[($3_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $3_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $207_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + label$20 : { + if (!($3228((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 104 | 0 | 0, $3_1 | 0, 16 | 0) | 0)) { + break label$20 + } + $632(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $788(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$21 : { + if (!((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $789(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$22 : { + if ((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$22 + } + if ((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$22 + } + if (HEAP32[($3_1 + 40 | 0) >> 2] | 0) { + break label$22 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $790(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + } + label$23 : { + label$24 : { + if (!(HEAP32[($3_1 + 40 | 0) >> 2] | 0)) { + break label$24 + } + $637(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + break label$23; + } + $200_1 = 1; + HEAP8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = $200_1; + HEAP8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 23 | 0) >> 0] = $200_1; + } + $203_1 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $203_1 | 0; + } + + function $782($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + label$2 : { + label$3 : { + if (((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + label$4 : { + if ($792(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 14; + break label$1; + } + $622(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $793(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$5 + } + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 5 | 0) >> 0] = 5; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] = 0; + } + break label$2; + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = 1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + $39_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $39_1 | 0; + } + + function $783($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $8$hi = 0, i64toi32_i32$3 = 0, $3_1 = 0, $9$hi = 0, $10$hi = 0, $12$hi = 0; + $3_1 = global$0 - 16 | 0; + i64toi32_i32$0 = 0; + $8$hi = i64toi32_i32$0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $10$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$1 = $10$hi; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $10$hi; + i64toi32_i32$3 = 268435457; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $12$hi = i64toi32_i32$0; + i64toi32_i32$0 = $8$hi; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$0 = $8$hi; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$3 = 1; + return ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0 | 0; + } + + function $784($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 8; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $686(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($3_1 + 4 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 0] = 1; + label$4 : { + if (!($3228((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 52 | 0 | 0, $675(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, 48 | 0) | 0)) { + break label$4 + } + $688(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0); + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 0] = 0; + HEAP32[($3_1 + 4 | 0) >> 2] = 517; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + $37_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $37_1 | 0; + } + + function $785($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $6_1 = 0, $31_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP8[($4_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0; + label$1 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 12 | 0)) { + break label$1 + } + $3289((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + ((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0) | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - ((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0) | 0 | 0) | 0; + } + $31_1 = 0; + HEAP8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + ((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0) | 0) >> 0] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP16[($4_1 + 12 | 0) >> 1] = ((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 8 | 0 ? 8 : 12) | 0; + $5_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0) + 1 | 0) | 0; + $6_1 = 0; + HEAP8[$5_1 >> 0] = $6_1; + HEAP8[($5_1 + 1 | 0) >> 0] = $6_1 >>> 8 | 0; + HEAP8[($5_1 + 2 | 0) >> 0] = $6_1 >>> 16 | 0; + HEAP8[($5_1 + 3 | 0) >> 0] = $6_1 >>> 24 | 0; + HEAP8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0) + 7 | 0) | 0) >> 0] = $31_1; + HEAP8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0) + 5 | 0) | 0) >> 0] = (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 8 | 0; + HEAP8[(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0) + 5 | 0) | 0) + 1 | 0) >> 0] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - ((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) & 65535 | 0) | 0) & 65535 | 0; + $761(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP16[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 18 | 0) >> 1] = HEAPU16[($4_1 + 12 | 0) >> 1] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + ((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 0] = $31_1; + HEAP16[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 26 | 0) >> 1] = (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) - 1 | 0; + HEAP16[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 1] = 0; + HEAP8[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 0] = 1; + global$0 = $4_1 + 32 | 0; + return; + } + + function $786($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $134$hi = 0, $5_1 = 0, $136$hi = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $296_1 = 0, $87_1 = 0, $130_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $45(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 48) | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + $3289((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 48) | 0 | 0, 0 | 0, Math_imul((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0, 48) | 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 92 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 48) | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + $134$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $136$hi = i64toi32_i32$1; + i64toi32_i32$1 = $134$hi; + i64toi32_i32$1 = $136$hi; + i64toi32_i32$1 = $134$hi; + i64toi32_i32$1 = $136$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + if (!($13_1 & 1 | 0)) { + break label$6 + } + i64toi32_i32$3 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $296_1 = i64toi32_i32$2; + i64toi32_i32$2 = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 48) | 0; + HEAP32[i64toi32_i32$2 >> 2] = $296_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$5; + } + i64toi32_i32$1 = 0; + i64toi32_i32$2 = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 48) | 0; + HEAP32[i64toi32_i32$2 >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[(((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 48) | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $87_1 = $516(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 48) | 0) + 16 | 0) >> 2] = $87_1; + label$7 : { + if ((HEAP32[(((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 48) | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $800(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 48) | 0) + 28 | 0 | 0); + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 96 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $130_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $130_1 | 0; + } + + function $787($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, i64toi32_i32$0 = 0, $121_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + HEAP32[($4_1 + 24 | 0) >> 2] = (((HEAP32[(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($5_1 | 0) ^ -1 | 0) ^ -1 | 0) & 1 | 0; + HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] = $5_1; + label$1 : { + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $739(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0, 0 | 0, $4_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($4_1 + 32 | 0) >> 2] | 0) { + break label$2 + } + if (!(HEAP32[($4_1 + 28 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $795(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, $4_1 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($4_1 + 32 | 0) >> 2] | 0) { + break label$3 + } + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $790(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($4_1 + 32 | 0) >> 2] | 0) { + break label$4 + } + label$5 : { + label$6 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$6 + } + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$6 + } + $449(); + label$7 : { + if ($716(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 2 | 0) | 0) { + break label$7 + } + $732(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + label$8 : { + if (((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$8 + } + $736(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + } + $450(); + break label$5; + } + label$9 : { + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 2049; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $618(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $4_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + label$11 : { + if (HEAP32[($4_1 + 32 | 0) >> 2] | 0) { + break label$11 + } + i64toi32_i32$0 = 0; + HEAP8[($4_1 + 11 | 0) >> 0] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, $4_1 + 11 | 0 | 0, 1 | 0, 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == (522 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + } + label$13 : { + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$13 + } + $622(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] = ((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0) & 1 | 0; + break label$10; + } + label$14 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == (14 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] = 1; + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + } + } + } + } + } + } + $121_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $121_1 | 0; + } + + function $788($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $739(HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0, 0 | 0, $3_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $790(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + label$7 : { + label$8 : { + if (HEAP32[($3_1 + 12 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $732(HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$7; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $782(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + break label$4; + } + label$9 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] = 0; + } + } + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $56_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $56_1 | 0; + } + + function $789($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + $710(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $796(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, $3_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + if (!(HEAP32[($3_1 + 4 | 0) >> 2] | 0)) { + break label$1 + } + } + $632(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + $16_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $16_1 | 0; + } + + function $790($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $50$hi = 0, $51$hi = 0, $52$hi = 0, $53$hi = 0, $54$hi = 0, $55$hi = 0, $50_1 = 0, $126_1 = 0, $139_1 = 0, $46_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $797(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$2 + } + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $187(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $50_1 = i64toi32_i32$0; + $50$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $51$hi; + $126_1 = i64toi32_i32$0; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$3 = $126_1; + i64toi32_i32$4 = $50_1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $52$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $53$hi = i64toi32_i32$5; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$5 = $53$hi; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) + $53$hi | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + $54$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $55$hi = i64toi32_i32$4; + i64toi32_i32$4 = $54$hi; + i64toi32_i32$4 = $55$hi; + $139_1 = i64toi32_i32$1; + i64toi32_i32$4 = $54$hi; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = __wasm_i64_sdiv(i64toi32_i32$0 | 0, i64toi32_i32$4 | 0, $139_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + HEAP32[($4_1 + 16 | 0) >> 2] = i64toi32_i32$1; + } + label$4 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 156 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 156 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $46_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $46_1 | 0; + } + + function $791($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $20_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $167(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $20_1 = $135(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 56 | 0) >> 2] = $20_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 9 | 0) >> 0] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 100 : 0; + } + $36_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $36_1 | 0; + } + + function $792($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $23_1 = 0, $33_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $23_1 = 1; + label$3 : { + if ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + $33_1 = 0; + label$4 : { + if (!((HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$4 + } + $33_1 = (HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0); + } + $23_1 = $33_1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $23_1 & 1 | 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $793($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $34_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $798(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 164 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $799(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[(i64toi32_i32$2 + 160 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $627(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $34_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $34_1 | 0; + } + + function $794($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $751(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $723(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $795($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $10_1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $796($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0, $7_1 = 0, $8_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = 0; + label$1 : while (1) { + $7_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $8_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $11_1 = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + HEAP32[$4_1 >> 2] = $11_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $690($7_1 | 0, $8_1 | 0, 0 | 0, $11_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + if ((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + $20_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $20_1 | 0; + } + + function $797($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = 16; + if (!((((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $14_1 | 0) >> $14_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $798($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $716(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + $736(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + $10_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $10_1 | 0; + } + + function $799($0_1, $1_1, $2_1, $3_1, $4_1, $4$hi, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, $9_1 = 0, i64toi32_i32$1 = 0, $30_1 = 0, $169_1 = 0, $82_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $3_1; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 28 | 0) >> 2] = $5_1; + HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] = $9_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $114((HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 120 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) != ($9_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($8_1 + 60 | 0) >> 2] = 7; + break label$1; + } + $30_1 = 1; + HEAP32[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 120 | 0; + HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + HEAP16[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 1] = 65535; + i64toi32_i32$0 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $169_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $169_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 108 | 0) >> 2] = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 0] = $30_1; + HEAP8[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 49 | 0) >> 0] = $30_1; + HEAP8[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 43 | 0) >> 0] = HEAP32[($8_1 + 44 | 0) >> 2] | 0 ? 2 : 0; + HEAP32[($8_1 + 16 | 0) >> 2] = 524294; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $618(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, $8_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($8_1 + 24 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0) & 1 | 0)) { + break label$3 + } + HEAP8[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 46 | 0) >> 0] = 1; + } + label$4 : { + label$5 : { + if (!(HEAP32[($8_1 + 24 | 0) >> 2] | 0)) { + break label$5 + } + $707(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0); + $622(HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0); + break label$4; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $619(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0) & 1024 | 0)) { + break label$6 + } + HEAP8[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 0] = 0; + } + label$7 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0) & 4096 | 0)) { + break label$7 + } + HEAP8[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 49 | 0) >> 0] = 0; + } + HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + } + $82_1 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $82_1 | 0; + } + + function $800($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + return; + } + + function $801($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $115_1 = 0, $32_1 = 0, $112_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$3 + } + $32_1 = $516(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] = $32_1; + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 7; + break label$1; + } + label$5 : { + if ((HEAP32[(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$7 + } + $803(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + break label$6; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 6; + label$8 : { + label$9 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 4104 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(0 + 68396 | 0) >> 2] | 0; + break label$8; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 2048 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $804(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $635(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $666(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + } + } + label$11 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$11 + } + i64toi32_i32$0 = 0; + $115_1 = 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + i64toi32_i32$1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = $115_1; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAP8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 19 | 0) >> 0] = 0; + i64toi32_i32$1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 80 | 0) >> 2] = $115_1; + HEAP32[(i64toi32_i32$1 + 84 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $657(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + } + label$12 : { + label$13 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$13 + } + $521(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] = 0; + break label$12; + } + HEAP8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] = 3; + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $112_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $112_1 | 0; + } + + function $802($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $69$hi = 0, $70$hi = 0, $72$hi = 0, $73$hi = 0, $74$hi = 0, $75$hi = 0, $77$hi = 0, $47_1 = 0, $48_1 = 0, $98_1 = 0, $26_1 = 0, $27_1 = 0, $29_1 = 0, $34_1 = 0, $72_1 = 0, $194_1 = 0, $77_1 = 0, $229$hi = 0, $60_1 = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $98_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[$3_1 >> 2] = $98_1; + HEAP32[($3_1 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $748(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $12_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP16[($12_1 + 28 | 0) >> 1] = (HEAPU16[($12_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $664(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + break label$1; + } + $26_1 = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + $27_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $29_1 = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $69$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $70$hi = i64toi32_i32$1; + i64toi32_i32$1 = $69$hi; + i64toi32_i32$1 = $70$hi; + i64toi32_i32$1 = $69$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $147($26_1 | 0, $27_1 | 0, $29_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + break label$1; + } + $34_1 = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = $3_1; + i64toi32_i32$5 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $72_1 = i64toi32_i32$5; + $72$hi = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $73$hi = i64toi32_i32$2; + i64toi32_i32$2 = $72$hi; + i64toi32_i32$2 = $73$hi; + $194_1 = i64toi32_i32$5; + i64toi32_i32$2 = $72$hi; + i64toi32_i32$1 = $72_1; + i64toi32_i32$5 = $73$hi; + i64toi32_i32$3 = $194_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $74$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $75$hi = i64toi32_i32$4; + i64toi32_i32$4 = $74$hi; + i64toi32_i32$4 = $75$hi; + i64toi32_i32$4 = $74$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = $75$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $664($34_1 | 0, i64toi32_i32$5 | 0, i64toi32_i32$0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$2 = (HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $77_1 = i64toi32_i32$2; + $77$hi = i64toi32_i32$0; + $47_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = $47_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 76 | 0) >> 2] | 0; + $229$hi = i64toi32_i32$2; + i64toi32_i32$2 = $77$hi; + i64toi32_i32$2 = $229$hi; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$0 = $77$hi; + i64toi32_i32$3 = $77_1; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$4 = $47_1; + HEAP32[(i64toi32_i32$4 + 72 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$4 + 76 | 0) >> 2] = i64toi32_i32$5; + $48_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($48_1 + 44 | 0) >> 2] = (HEAP32[($48_1 + 44 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $517(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $60_1 = $665(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0 | $60_1 | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + } + $64_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $64_1 | 0; + } + + function $803($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $666($4_1 | 0, $4_1 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0, -1 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $804($0_1) { + $0_1 = $0_1 | 0; + HEAP32[((global$0 - 16 | 0) + 12 | 0) >> 2] = $0_1; + return 0 | 0; + } + + function $805($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] = 0; + $16_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($16_1 + 24 | 0) >> 1] = ((HEAPU16[($16_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -193 | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 0] = 1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$3; + }; + } + } + return; + } + + function $806($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $52_1 = 0, $66_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 76 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[$3_1 >> 2] | 0) + 12 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$5 + } + $42(HEAP32[$3_1 >> 2] | 0 | 0); + } + break label$3; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[$3_1 >> 2] | 0) + 12 | 0; + } + continue label$2; + }; + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] = 0; + $52_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($52_1 + 24 | 0) >> 1] = ((HEAPU16[($52_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -193 | 0; + break label$6; + } + label$8 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$8 + } + $66_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($66_1 + 24 | 0) >> 1] = ((HEAPU16[($66_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -129 | 0; + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $807($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP8[($13_1 + 1 | 0) >> 0] = ((HEAPU8[($13_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -5 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$2; + }; + } + return; + } + + function $808($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 2 >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 0) / (5 >>> 0) | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 2 | 0) >>> 0) / ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 2 | 0; + label$3 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $809($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $65_1 = 0, $83_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 0) / (5 >>> 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (((((HEAP32[($5_1 + 20 | 0) >> 2] | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) + ($808(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0) | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >>> 0) / ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 8 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) - (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + label$1 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0 > ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0) >>> 0 & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 < ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0) >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + } + label$2 : while (1) { + $65_1 = 1; + label$3 : { + if (($808(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + $65_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0); + } + label$4 : { + if (!($65_1 & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + } + break label$2; + }; + $83_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $83_1 | 0; + } + + function $810($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $87_1 = 0, $113_1 = 0, $152_1 = 0, $168_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (($808(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$2 + } + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) != ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 101; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $812(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, $6_1 + 35 | 0 | 0, $6_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (!(((HEAPU8[($6_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(68504 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$6 : { + label$7 : { + if (!(((HEAPU8[($6_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (HEAP32[($6_1 + 44 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $813(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, $6_1 + 20 | 0 | 0, $6_1 + 24 | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + $814(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + break label$6; + } + $87_1 = 0; + HEAP8[($6_1 + 11 | 0) >> 0] = 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $87_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $201(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0, $87_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$10 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + label$11 : { + if (HEAP32[($6_1 + 44 | 0) >> 2] | 0) { + break label$11 + } + HEAP8[($6_1 + 11 | 0) >> 0] = 2; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + } + label$12 : while (1) { + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $813(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, $6_1 | 0, $6_1 + 16 | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($6_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$13 + } + $814(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + $814(HEAP32[$6_1 >> 2] | 0 | 0); + $113_1 = 0; + label$14 : { + if (!(HEAP32[($6_1 + 44 | 0) >> 2] | 0)) { + break label$14 + } + $113_1 = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) >>> 0 > (HEAP32[($6_1 + 52 | 0) >> 2] | 0) >>> 0; + } + if ($113_1 & 1 | 0) { + continue label$12 + } + break label$12; + }; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $815(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($6_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $814(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + label$15 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$15 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + } + } + label$16 : { + if (HEAP32[($6_1 + 44 | 0) >> 2] | 0) { + break label$16 + } + label$17 : while (1) { + HEAP32[($6_1 + 48 | 0) >> 2] = (HEAP32[($6_1 + 48 | 0) >> 2] | 0) + -1 | 0; + $152_1 = 1; + label$18 : { + if ((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0) { + break label$18 + } + $152_1 = ($808(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + } + if ($152_1 & 1 | 0) { + continue label$17 + } + break label$17; + }; + HEAP8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 19 | 0) >> 0] = 1; + HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + } + $168_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $168_1 | 0; + } + + function $811($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : while (1) { + label$3 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if ((0 | 0) == (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + } + label$5 : { + label$6 : { + label$7 : { + if (!((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$7 + } + if (!(((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$6 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $816(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((0 | 0) != (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + break label$5; + } + $817(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + continue label$2 + } + break label$2; + }; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $63_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $63_1 | 0; + } + + function $812($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $56_1 = 0, $82_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $808(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $134(HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, $6_1 + 24 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $135(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 12 | 0) >> 2] = Math_imul(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) - (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) - 1 | 0, 5); + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + $137(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(65794 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP8[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0; + label$4 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $56_1 = $161((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = $56_1; + } + $137(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + label$5 : { + label$6 : { + if (((HEAPU8[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < (1 | 0) & 1 | 0) { + break label$6 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$5 + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(65802 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $82_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $82_1 | 0; + } + + function $813($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $15_1 = 0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $8_1 = 0, $116_1 = 0, $485_1 = 0, $533_1 = 0, $550_1 = 0, $568_1 = 0, $601_1 = 0, $619_1 = 0, $653_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 112 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $3_1; + HEAP8[($7_1 + 91 | 0) >> 0] = $4_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $165(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($7_1 + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(70670 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + label$5 : { + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$5 + } + HEAP8[($7_1 + 55 | 0) >> 0] = 0; + HEAP32[($7_1 + 48 | 0) >> 2] = 0; + label$6 : { + label$7 : { + if (!(((HEAPU8[($7_1 + 91 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[($7_1 + 92 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($7_1 + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $812(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0, $7_1 + 47 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + break label$1; + } + label$10 : { + if (!(((HEAPU8[($7_1 + 47 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$10 + } + HEAP8[($7_1 + 55 | 0) >> 0] = 1; + } + } + break label$6; + } + label$11 : { + if (!(((HEAPU8[($7_1 + 91 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$11 + } + HEAP8[($7_1 + 55 | 0) >> 0] = 1; + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + break label$1; + } + $162((HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($7_1 + 76 | 0) >> 2] | 0) - 1 | 0 | 0); + label$13 : while (1) { + HEAP32[($7_1 + 64 | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161(HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + break label$14; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + label$16 : { + label$17 : { + label$18 : { + if ((HEAP32[($7_1 + 56 | 0) >> 2] | 0) >>> 0 > (HEAP32[($7_1 + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$18 + } + $116_1 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = $116_1 + 1 | 0; + if (!($116_1 >>> 0 > (HEAP32[($7_1 + 76 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$17 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(70726 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + break label$16; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $827(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, $7_1 + 68 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + label$19 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$19 + } + HEAP32[($7_1 + 68 | 0) >> 2] = 0; + break label$3; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + label$21 : { + if (HEAP32[($7_1 + 72 | 0) >> 2] | 0) { + break label$21 + } + if (((HEAPU8[($7_1 + 55 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$21 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$22 + } + break label$3; + } + HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + $15_1 = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $16_1 = (HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 32 | 0; + $17_1 = HEAPU8[$15_1 >> 0] | 0 | ((HEAPU8[($15_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($15_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($15_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$16_1 >> 0] = $17_1; + HEAP8[($16_1 + 1 | 0) >> 0] = $17_1 >>> 8 | 0; + HEAP8[($16_1 + 2 | 0) >> 0] = $17_1 >>> 16 | 0; + HEAP8[($16_1 + 3 | 0) >> 0] = $17_1 >>> 24 | 0; + HEAP32[(HEAP32[($7_1 + 100 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = 0; + break label$20; + } + label$23 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0) >>> 0 > (((HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 2 | 0) - 2 | 0) >>> 0 & 1 | 0)) { + break label$23 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(70755 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + label$24 : { + label$25 : { + if (!((HEAPU8[($7_1 + 55 | 0) >> 0] | 0) & 255 | 0)) { + break label$25 + } + label$26 : { + if ((HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$26 + } + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 92 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$25 + } + if (!(((HEAPU8[($7_1 + 91 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$25 + } + } + HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 100 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP8[($7_1 + 55 | 0) >> 0] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$27 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$27 + } + break label$3; + } + label$28 : { + label$29 : { + if (HEAP32[($7_1 + 72 | 0) >> 2] | 0) { + break label$29 + } + label$30 : { + label$31 : { + if ((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$31 + } + $18_1 = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $19_1 = (HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 32 | 0; + $20_1 = HEAPU8[$18_1 >> 0] | 0 | ((HEAPU8[($18_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($18_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($18_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$19_1 >> 0] = $20_1; + HEAP8[($19_1 + 1 | 0) >> 0] = $20_1 >>> 8 | 0; + HEAP8[($19_1 + 2 | 0) >> 0] = $20_1 >>> 16 | 0; + HEAP8[($19_1 + 3 | 0) >> 0] = $20_1 >>> 24 | 0; + break label$30; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$32 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$32 + } + break label$3; + } + $21_1 = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $22_1 = HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $23_1 = HEAPU8[$21_1 >> 0] | 0 | ((HEAPU8[($21_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($21_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($21_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$22_1 >> 0] = $23_1; + HEAP8[($22_1 + 1 | 0) >> 0] = $23_1 >>> 8 | 0; + HEAP8[($22_1 + 2 | 0) >> 0] = $23_1 >>> 16 | 0; + HEAP8[($22_1 + 3 | 0) >> 0] = $23_1 >>> 24 | 0; + } + break label$28; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$33 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0) >>> 0 > (HEAP32[($7_1 + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$33 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(70789 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $827(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $7_1 + 40 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$34 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$34 + } + break label$3; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$35 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$35 + } + $814(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + break label$3; + } + $24_1 = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $25_1 = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $26_1 = HEAPU8[$24_1 >> 0] | 0 | ((HEAPU8[($24_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($24_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($24_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$25_1 >> 0] = $26_1; + HEAP8[($25_1 + 1 | 0) >> 0] = $26_1 >>> 8 | 0; + HEAP8[($25_1 + 2 | 0) >> 0] = $26_1 >>> 16 | 0; + HEAP8[($25_1 + 3 | 0) >> 0] = $26_1 >>> 24 | 0; + $162((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 72 | 0) >> 2] | 0) - 1 | 0 | 0); + $3288((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 12 | 0 | 0, ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) - 1 | 0) << 2 | 0 | 0) | 0; + $814(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + label$36 : { + label$37 : { + if ((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$37 + } + $162((HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 32 | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + break label$36; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$38 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$38 + } + break label$3; + } + $162(HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($7_1 + 68 | 0) >> 2] = 0; + break label$24; + } + label$39 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$39 + } + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + label$40 : { + label$41 : { + if (!((HEAP32[($7_1 + 92 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$41 + } + HEAP32[($7_1 + 32 | 0) >> 2] = 0; + label$42 : { + label$43 : { + if (!(((HEAPU8[($7_1 + 91 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$43 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + label$44 : { + label$45 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 72 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$44 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) + 8 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$46 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($7_1 + 92 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$46 + } + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + break label$44; + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$45; + }; + } + break label$42; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $828(($161((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 8 | 0 | 0) | 0) - (HEAP32[($7_1 + 92 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 20 | 0) >> 2] = 1; + label$47 : { + label$48 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 72 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$47 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $828(($161((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) + 8 | 0) | 0 | 0) | 0) - (HEAP32[($7_1 + 92 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$49 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$49 + } + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$48; + }; + } + } + break label$40; + } + HEAP32[($7_1 + 32 | 0) >> 2] = 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << 2 | 0) + 8 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$50 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0 > (HEAP32[($7_1 + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$50 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(70854 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + label$51 : { + label$52 : { + if (!(((HEAPU8[($7_1 + 55 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$52 + } + if ((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$52 + } + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 92 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$51 + } + if (!(((HEAPU8[($7_1 + 91 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$51 + } + } + HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$53 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$53 + } + break label$3; + } + label$54 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0) >>> 0 < ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) - 1 | 0) >>> 0 & 1 | 0)) { + break label$54 + } + $27_1 = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 72 | 0) >> 2] | 0) << 2 | 0) + 4 | 0) | 0; + $28_1 = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << 2 | 0) + 8 | 0) | 0; + $29_1 = HEAPU8[$27_1 >> 0] | 0 | ((HEAPU8[($27_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($27_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($27_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$28_1 >> 0] = $29_1; + HEAP8[($28_1 + 1 | 0) >> 0] = $29_1 >>> 8 | 0; + HEAP8[($28_1 + 2 | 0) >> 0] = $29_1 >>> 16 | 0; + HEAP8[($28_1 + 3 | 0) >> 0] = $29_1 >>> 24 | 0; + } + $485_1 = 0; + $162((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 72 | 0) >> 2] | 0) - 1 | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = (($829(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != ($485_1 | 0) ^ -1 | 0) & 1 | 0 ? 1 : $485_1), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $827(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$55 : { + if (HEAP32[($7_1 + 80 | 0) >> 2] | 0) { + break label$55 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[(HEAP32[($7_1 + 100 | 0) >> 2] | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$56 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$56 + } + $814(HEAP32[(HEAP32[($7_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($7_1 + 100 | 0) >> 2] | 0) >> 2] = 0; + } + } + HEAP8[($7_1 + 55 | 0) >> 0] = 0; + } + } + } + } + $814(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 64 | 0) >> 2] = 0; + if (((HEAPU8[($7_1 + 55 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + continue label$13 + } + break label$13; + }; + break label$4; + } + $533_1 = 0; + HEAP32[($7_1 + 4 | 0) >> 2] = ($533_1 | 0) == ((HEAPU8[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0 ? 1 : $533_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$57 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$57 + } + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + break label$1; + } + $550_1 = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + HEAP32[($550_1 + 48 | 0) >> 2] = (HEAP32[($550_1 + 48 | 0) >> 2] | 0) + 1 | 0; + label$58 : { + if (!((HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$58 + } + $568_1 = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + HEAP32[($568_1 + 48 | 0) >> 2] = (HEAP32[($568_1 + 48 | 0) >> 2] | 0) + 1 | 0; + } + label$59 : { + if (!((HEAPU8[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0)) { + break label$59 + } + if (!(($808(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$59 + } + HEAP32[$7_1 >> 2] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $827(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, $7_1 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$60 : { + if (HEAP32[($7_1 + 80 | 0) >> 2] | 0) { + break label$60 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[$7_1 >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + $814(HEAP32[$7_1 >> 2] | 0 | 0); + } + label$61 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$61 + } + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + break label$1; + } + $601_1 = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + HEAP32[($601_1 + 48 | 0) >> 2] = (HEAP32[($601_1 + 48 | 0) >> 2] | 0) + 1 | 0; + label$62 : { + if (!((HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$62 + } + $619_1 = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + HEAP32[($619_1 + 48 | 0) >> 2] = (HEAP32[($619_1 + 48 | 0) >> 2] | 0) + 1 | 0; + } + } + $162((HEAP32[((HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 28 | 0 | 0, HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $827(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$63 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$63 + } + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[(HEAP32[($7_1 + 100 | 0) >> 2] | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$64 : { + if (!(HEAP32[($7_1 + 80 | 0) >> 2] | 0)) { + break label$64 + } + $814(HEAP32[(HEAP32[($7_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($7_1 + 100 | 0) >> 2] | 0) >> 2] = 0; + } + } + } + $814(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + $814(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + } + $653_1 = HEAP32[($7_1 + 108 | 0) >> 2] | 0; + global$0 = $7_1 + 112 | 0; + return $653_1 | 0; + } + + function $814($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $819(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $815($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $112_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $1_1; + HEAP8[($8_1 + 35 | 0) >> 0] = $2_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0) >>> 0 < 3 >>> 0 & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $694(68406 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $830(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($8_1 + 4 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + label$4 : { + label$5 : { + label$6 : { + if (((HEAPU8[($8_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) == (5 | 0) & 1 | 0) { + break label$6 + } + if (!(((HEAPU8[($8_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $831(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($8_1 + 4 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + break label$1; + } + break label$4; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $161(HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[$8_1 >> 2] | 0)) { + break label$8 + } + $832(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[$8_1 >> 2] | 0 | 0, 4 & 255 | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, $8_1 + 4 | 0 | 0); + label$9 : { + if (!(HEAP32[($8_1 + 4 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + break label$1; + } + } + } + label$10 : { + if (!(((HEAPU8[($8_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $201(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, $8_1 + 16 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($8_1 + 4 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($8_1 + 4 | 0) >> 2] | 0)) { + break label$12 + } + $814(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $833(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $814(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0); + label$13 : { + if (HEAP32[($8_1 + 4 | 0) >> 2] | 0) { + break label$13 + } + $832(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, $8_1 + 4 | 0 | 0); + } + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + } + $112_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $112_1 | 0; + } + + function $816($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $31_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 64 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 2835; + break label$1; + } + label$3 : { + label$4 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] = 0; + break label$3; + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $818(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + $817(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] = 3; + } + $31_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP8[($31_1 + 1 | 0) >> 0] = ((HEAPU8[($31_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -15 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + $38_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $38_1 | 0; + } + + function $817($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $19_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = 24; + label$1 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + $19_1 = 24; + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) & 1 | 0)) { + break label$2 + } + $819(HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 120 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $819(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 0] = 255; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $818($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, $3_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, $16_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $55$hi = 0, $56$hi = 0, $57$hi = 0, $58$hi = 0, $97_1 = 0, $17_1 = 0, $54_1 = 0, $50_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 69 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = $820(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $97_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] = $97_1; + HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + $17_1 = 0; + i64toi32_i32$1 = 0; + $54_1 = $821(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] = $54_1; + HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $55$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $56$hi = i64toi32_i32$0; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$3 = 9; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $57$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $58$hi = i64toi32_i32$5; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$5 = $58$hi; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$3 = 8; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $39(i64toi32_i32$1 | 0, i64toi32_i32$4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != ($17_1 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$5 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $822(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$4 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$5 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 56 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 60 | 0) >> 2] | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + i64toi32_i32$0 | 0; + $16_1 = 0; + HEAP8[i64toi32_i32$0 >> 0] = $16_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $16_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $16_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $16_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$4; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$4 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$4 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$4 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 16 | 0) >> 0] = 0; + i64toi32_i32$0 = i64toi32_i32$0 + 8 | 0; + HEAP8[i64toi32_i32$0 >> 0] = $16_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $16_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $16_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $16_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$4; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$4 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$4 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$4 >>> 24 | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + break label$5; + } + $42(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + } + break label$3; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 7; + } + } + $50_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $50_1 | 0; + } + + function $819($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $168(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $820($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $823(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $821($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $823(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $6_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $6_1 | 0; + } + + function $822($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $12_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $12_1 = $388(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $12_1 | 0; + } + + function $823($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0) { + break label$2 + } + $8_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP8[($8_1 + 1 | 0) >> 0] = (HEAPU8[($8_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 2 | 0; + $824(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0 | 0); + break label$1; + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $824($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 12 | 0) >> 2] | 0, (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $825($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + label$3 : { + if (!(HEAP32[($7_1 + 12 | 0) >> 2] | 0)) { + break label$3 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($7_1 + 4 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $3288(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0; + break label$2; + } + $3288(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + } + $20_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $20_1 | 0; + } + + function $826($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $8_1 = 0, $31_1 = 0, $90_1 = 0, $125_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $8_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $8_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + label$2 : while (1) { + $31_1 = 1; + label$3 : { + if (($808(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + $31_1 = (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0); + } + label$4 : { + if (!($31_1 & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + label$5 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0) >>> 0 <= ($165(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $812(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $6_1 + 11 | 0 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + if (!(((HEAPU8[($6_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 101; + } + } + } + label$7 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$7 + } + $90_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $201(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $6_1 + 24 | 0 | 0, ((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == ($90_1 | 0) & 1 | 0 ? 2 : $90_1) | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + break label$9; + } + $814(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + label$11 : { + label$12 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$12 + } + $125_1 = 0; + break label$11; + } + $125_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + global$0 = $6_1 + 48 | 0; + return $125_1 | 0; + } + + function $827($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $35_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $201(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + if (!(($625(HEAP32[((HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$4 + } + $814(HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(66994 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP8[(HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0) >> 0] = 0; + break label$2; + } + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + $35_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $35_1 | 0; + } + + function $828($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (-2147483648 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 2147483647; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0 - (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $829($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $25_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + $15_1 = 0; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $25_1 = 1; + label$2 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 > ($520(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0) { + break label$2 + } + $25_1 = ($662(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + $15_1 = $25_1; + } + global$0 = $4_1 + 16 | 0; + return $15_1 & 1 | 0 | 0; + } + + function $830($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $30_1 = 0, $47_1 = 0, $65_1 = 0, $83_1 = 0, $145_1 = 0, $154_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $145(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + break label$1; + } + } + label$4 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$4 + } + $30_1 = $173(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $30_1; + if (!((0 | 0) != ($30_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$5 + } + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + } + $47_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP16[($47_1 + 28 | 0) >> 1] = ((HEAPU16[($47_1 + 28 | 0) >> 1] | 0) & 65535 | 0) & -9 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $749(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $65_1 = 16; + label$7 : { + if (!((((HEAPU16[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 30 | 0) >> 1] | 0) << $65_1 | 0) >> $65_1 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$7 + } + $168(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(59042 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $83_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP16[($83_1 + 28 | 0) >> 1] = (HEAPU16[($83_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | (((HEAPU16[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0) | 0; + label$8 : { + label$9 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + $834(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0 | 0); + break label$8; + } + $722(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $834(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + $750(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + label$10 : { + if (!((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0)) { + break label$10 + } + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $834(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + $168(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$11 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $134(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$12 + } + label$13 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$13 + } + $518(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + break label$1; + } + $145_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP16[($145_1 + 28 | 0) >> 1] = (HEAPU16[($145_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + $750(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + $168(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $154_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $154_1 | 0; + } + + function $831($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0, $120_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + $13_1 = 0; + break label$1; + } + $13_1 = $626(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($3_1 + 28 | 0) >> 2] = $13_1; + label$3 : { + label$4 : { + if (!(HEAP32[($3_1 + 28 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + break label$3; + } + HEAP32[($3_1 + 32 | 0) >> 2] = (HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 36 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 36 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + $835(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, $3_1 + 28 | 0 | 0); + label$7 : { + if (((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$7 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $832(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 5 & 255 | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $3_1 + 28 | 0 | 0); + } + HEAP32[($3_1 + 36 | 0) >> 2] = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$8 : { + if (((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$8 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $832(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 5 & 255 | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $3_1 + 28 | 0 | 0); + } + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + } + $120_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $120_1 | 0; + } + + function $832($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $31_1 = 0, $83_1 = 0, $12_1 = 0, $35_1 = 0, $52_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP8[($7_1 + 39 | 0) >> 0] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!(HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (HEAP32[($7_1 + 40 | 0) >> 2] | 0) { + break label$3 + } + $12_1 = $694(65731 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = $12_1; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $808(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $134(HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, $7_1 + 24 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + break label$1; + } + $31_1 = 24; + label$5 : { + label$6 : { + if (!(((HEAPU8[($167(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0) >> 0] | 0) << $31_1 | 0) >> $31_1 | 0)) { + break label$6 + } + $35_1 = $694(65744 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = $35_1; + break label$5; + } + HEAP32[($7_1 + 12 | 0) >> 2] = Math_imul(((HEAP32[($7_1 + 40 | 0) >> 2] | 0) - (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0) - 1 | 0, 5); + label$7 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$7 + } + $52_1 = $694(65749 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = $52_1; + break label$5; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $135(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if (((HEAPU8[($7_1 + 39 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + break label$9 + } + if (!(($161((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0 | 0) | 0 | 0) != (HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + } + $83_1 = $145(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = $83_1; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = $83_1; + label$10 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$10 + } + HEAP8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[($7_1 + 39 | 0) >> 0] | 0; + $162((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + } + } + } + $137(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 48 | 0; + return; + } + + function $833($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $35_1 = 0, $203_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + HEAP8[($6_1 + 47 | 0) >> 0] = $3_1; + label$1 : { + label$2 : { + label$3 : { + if (!(((HEAPU8[($6_1 + 47 | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (!(($161(HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(68334 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $162(HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$2; + } + label$5 : { + label$6 : { + if (!((HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$6 + } + $35_1 = 0; + break label$5; + } + $35_1 = $626(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($6_1 + 32 | 0) >> 2] = $35_1; + label$7 : { + if (!(HEAP32[($6_1 + 32 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAPU16[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + label$10 : { + label$11 : { + if (!(((HEAPU8[($6_1 + 47 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$11 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 56 | 0) >> 2] | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0, $6_1); + label$12 : { + if (!(((HEAPU16[($6_1 + 16 | 0) >> 1] | 0) & 65535 | 0) >>> 0 < (HEAP32[($6_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$12 + } + label$13 : { + if (!(((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAPU16[($6_1 + 18 | 0) >> 1] | 0) & 65535 | 0) | 0) >>> 0 > ((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (HEAP32[((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0) >>> 0 & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(68353 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$14 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) == ($161(((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAPU16[($6_1 + 18 | 0) >> 1] | 0) & 65535 | 0) | 0) + -4 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$14 + } + $162(((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAPU16[($6_1 + 18 | 0) >> 1] | 0) & 65535 | 0) | 0) + -4 | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$8; + } + } + break label$10; + } + label$15 : { + if (!(($161(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + $162(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$8; + } + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$16 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + label$18 : { + if (((HEAPU8[($6_1 + 47 | 0) >> 0] | 0) & 255 | 0 | 0) != (5 | 0) & 1 | 0) { + break label$18 + } + if (!(($161((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0) | 0 | 0) != (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(68371 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $162((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + } + $203_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $203_1 | 0; + } + + function $834($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(0 + 68504 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0, HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0); + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$1 + } + if (!(((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$1 + } + $660(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 3 & 255 | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $835($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $46_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 44 | 0) >> 2] | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0, $6_1 + 8 | 0); + if (!(((HEAPU16[($6_1 + 24 | 0) >> 1] | 0) & 65535 | 0) >>> 0 < (HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >>> 0 < ((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + ((HEAPU16[($6_1 + 24 | 0) >> 1] | 0) & 65535 | 0) | 0) >>> 0 & 1 | 0)) { + break label$3 + } + $46_1 = $694(66116 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $46_1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) & 65535 | 0) - 4 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $832(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, 3 & 255 | 0 | 0, HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $836($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + HEAP8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] = 1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $837($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $839(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $838($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $11_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[$11_1 >> 2] = (HEAP32[$11_1 >> 2] | 0) + -1 | 0; + label$2 : { + if (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$2 + } + $23(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $839($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16 | 0)) { + break label$1 + } + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $840($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$1 + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $841($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $6_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + if (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $211(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + label$2 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0; + } + $13(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $842($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $24_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$3; + }; + } + $24_1 = 0; + $848(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 196 | 0) >> 2] = $24_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] = $24_1; + } + $849(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $21(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + label$5 : { + label$6 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 200 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $850(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + continue label$6; + }; + } + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $851(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0 | 0, -1 | 0, 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $843($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 156 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$3 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$4 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 156 | 0) >> 2] | 0) & (1 << (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0) | 0)) { + break label$4 + } + if (!((HEAP32[(((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $127(HEAP32[(((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $844($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $30$hi = 0, $36$hi = 0, $31$hi = 0, $32$hi = 0, i64toi32_i32$4 = 0, $34$hi = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $38$hi = 0, $22_1 = 0, $23_1 = 0, $24_1 = 0, $30_1 = 0, $31_1 = 0, $68_1 = 0, $27_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $30_1 = 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 464 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 468 | 0) >> 2] | 0; + $31_1 = i64toi32_i32$0; + $31$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 472 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 476 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$0; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $32$hi; + $68_1 = i64toi32_i32$1; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$2 = $31_1; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$3 = $68_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $34$hi = i64toi32_i32$5; + i64toi32_i32$5 = $30$hi; + i64toi32_i32$5 = $34$hi; + i64toi32_i32$5 = $30$hi; + i64toi32_i32$5 = $34$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$3 = $30_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$2 | 0)) { + $19_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $20_1 = 0 + } else { + $20_1 = 1 + } + $21_1 = $20_1; + } else { + $21_1 = 0 + } + $19_1 = $21_1; + } + if ($19_1 & 1 | 0) { + break label$3 + } + } + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + $36$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 64 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 68 | 0) >> 2] | 0; + $38$hi = i64toi32_i32$5; + i64toi32_i32$5 = $36$hi; + i64toi32_i32$5 = $38$hi; + i64toi32_i32$5 = $36$hi; + i64toi32_i32$5 = $38$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$0 | 0)) { + $22_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$2 >>> 0) { + $23_1 = 0 + } else { + $23_1 = 1 + } + $24_1 = $23_1; + } else { + $24_1 = 0 + } + $22_1 = $24_1; + } + if (!($22_1 & 1 | 0)) { + break label$2 + } + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = 787; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 146 | 0) >> 0] = 2; + $852(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 4961 | 0, 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $27_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $27_1 | 0; + } + + function $845($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5_1 = 0, $173_1 = 0, i64toi32_i32$5 = 0, $11_1 = 0, $36_1 = 0, $108_1 = 0, $141_1 = 0, $184_1 = 0, $257_1 = 0, $453$hi = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $352_1 = 0, $370_1 = 0, $182_1 = 0, $183_1 = 0, $235_1 = 0, $240_1 = 0, $314_1 = 0, $315_1 = 0, $319_1 = 0, $453_1 = 0, $1157$hi = 0, $448_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 176 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 168 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 164 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 156 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 152 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 148 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $853(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 164 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 160 | 0) >> 2] = $5_1; + label$1 : while (1) { + $11_1 = 0; + label$2 : { + if (HEAP32[($4_1 + 152 | 0) >> 2] | 0) { + break label$2 + } + $11_1 = (HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($11_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 144 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$4 : { + if (!(($125(HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + $36_1 = 1; + HEAP32[($4_1 + 148 | 0) >> 2] = $36_1; + $127(HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $9(HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(((HEAPU8[(((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != ($36_1 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAPU8[(($132(HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) | 0) + 4991 | 0) >> 0] | 0) & 255 | 0)) { + break label$5 + } + if ($166(HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + HEAP32[($4_1 + 156 | 0) >> 2] = (HEAP32[($4_1 + 156 | 0) >> 2] | 0) + 1 | 0; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $655(HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 160 | 0) >> 2] = (HEAP32[($4_1 + 160 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$6 : { + label$7 : { + if (!(HEAP32[($4_1 + 152 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($4_1 + 172 | 0) >> 2] = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + break label$6; + } + label$8 : { + if (!(HEAP32[($4_1 + 148 | 0) >> 2] | 0)) { + break label$8 + } + if (!((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($4_1 + 152 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($4_1 + 172 | 0) >> 2] = 531; + break label$6; + } + } + label$10 : { + label$11 : { + label$12 : { + if ((0 | 0) == ($68($531(HEAP32[((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0) & 1 | 0) { + break label$12 + } + if (!((HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$11 + } + } + HEAP32[($4_1 + 160 | 0) >> 2] = 0; + label$13 : while (1) { + $108_1 = 0; + label$14 : { + if (HEAP32[($4_1 + 152 | 0) >> 2] | 0) { + break label$14 + } + $108_1 = (HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + label$15 : { + if (!($108_1 & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 136 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$16 : { + if (!((HEAP32[($4_1 + 136 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $152(HEAP32[($4_1 + 136 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 160 | 0) >> 2] = (HEAP32[($4_1 + 160 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + } + break label$13; + }; + HEAP32[($4_1 + 160 | 0) >> 2] = 0; + label$17 : while (1) { + $141_1 = 0; + label$18 : { + if (HEAP32[($4_1 + 152 | 0) >> 2] | 0) { + break label$18 + } + $141_1 = (HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + label$19 : { + if (!($141_1 & 1 | 0)) { + break label$19 + } + HEAP32[($4_1 + 132 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$20 : { + if (!((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $151(HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 160 | 0) >> 2] = (HEAP32[($4_1 + 160 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + } + break label$17; + }; + label$21 : { + if (HEAP32[($4_1 + 152 | 0) >> 2] | 0) { + break label$21 + } + $854(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0) | 0; + } + break label$10; + } + $173_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 128 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 168 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 124 | 0) >> 2] = $173_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $531(HEAP32[((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 116 | 0) >> 2] = $173_1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 104 | 0) >> 2] = 0; + HEAP32[($4_1 + 108 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 96 | 0) >> 2] = $173_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $68(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $182_1 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + $183_1 = HEAP32[($4_1 + 120 | 0) >> 2] | 0; + $184_1 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $184_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $183_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $184_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $351($182_1 | 0, 4997 | 0, $4_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!((HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($4_1 + 172 | 0) >> 2] = 7; + break label$6; + } + HEAP32[($4_1 + 124 | 0) >> 2] = (HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0; + label$23 : { + label$24 : while (1) { + label$25 : { + if (!(HEAP32[($4_1 + 96 | 0) >> 2] | 0)) { + break label$25 + } + label$26 : { + if (!((HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) > (100 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + $82(13 | 0, 5009 | 0, $4_1 | 0); + $732(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + break label$23; + } + label$27 : { + if (!((HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + $82(13 | 0, 5023 | 0, $4_1 + 32 | 0 | 0); + } + } + HEAP32[($4_1 + 96 | 0) >> 2] = (HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 1 | 0; + $85(4 | 0, $4_1 + 88 | 0 | 0); + $235_1 = (HEAP32[($4_1 + 124 | 0) >> 2] | 0) + (HEAP32[($4_1 + 92 | 0) >> 2] | 0) | 0; + $240_1 = ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) >>> 8 | 0) & 16777215 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 88 | 0) >> 2] | 0) & 255 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $240_1; + $81(13 | 0, $235_1 | 0, 5038 | 0, $4_1 + 16 | 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $739(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, 0 | 0, $4_1 + 100 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + $257_1 = 0; + label$28 : { + if (HEAP32[($4_1 + 152 | 0) >> 2] | 0) { + break label$28 + } + $257_1 = (HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0); + } + if ($257_1 & 1 | 0) { + continue label$24 + } + break label$24; + }; + } + label$29 : { + if (HEAP32[($4_1 + 152 | 0) >> 2] | 0) { + break label$29 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $855(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, $4_1 + 116 | 0 | 0, 16406 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + } + label$30 : { + if (!(HEAP32[($4_1 + 152 | 0) >> 2] | 0)) { + break label$30 + } + $13(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 124 | 0) >> 2] | 0) + -4 | 0 | 0); + HEAP32[($4_1 + 172 | 0) >> 2] = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + break label$6; + } + HEAP32[($4_1 + 160 | 0) >> 2] = 0; + label$31 : { + label$32 : while (1) { + if (!((HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$33 : { + label$34 : { + if (!(($125(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$34 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $856(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$35 : { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$35 + } + break label$33; + } + $314_1 = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + $315_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + $319_1 = ($68(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $147($314_1 | 0, $315_1 | 0, $319_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = ($68(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $453_1 = i64toi32_i32$0; + $453$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + $1157$hi = i64toi32_i32$0; + i64toi32_i32$0 = $453$hi; + i64toi32_i32$0 = $1157$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $453$hi; + i64toi32_i32$3 = $453_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 104 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 108 | 0) >> 2] = i64toi32_i32$5; + label$36 : { + if (!(HEAP32[($4_1 + 152 | 0) >> 2] | 0)) { + break label$36 + } + $857(HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0); + $732(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $13(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 124 | 0) >> 2] | 0) + -4 | 0 | 0); + HEAP32[($4_1 + 172 | 0) >> 2] = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + break label$6; + } + } + } + HEAP32[($4_1 + 160 | 0) >> 2] = (HEAP32[($4_1 + 160 | 0) >> 2] | 0) + 1 | 0; + continue label$32; + }; + } + label$37 : { + if (!((0 | 0) == (($619(HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) | 0) & 1024 | 0 | 0) & 1 | 0)) { + break label$37 + } + $352_1 = $190(HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + HEAP32[($4_1 + 152 | 0) >> 2] = $352_1; + if (!((0 | 0) != ($352_1 | 0) & 1 | 0)) { + break label$37 + } + $857(HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0); + $732(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $13(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 124 | 0) >> 2] | 0) + -4 | 0 | 0); + HEAP32[($4_1 + 172 | 0) >> 2] = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + break label$6; + } + HEAP32[($4_1 + 160 | 0) >> 2] = 0; + label$38 : while (1) { + $370_1 = 0; + label$39 : { + if (HEAP32[($4_1 + 152 | 0) >> 2] | 0) { + break label$39 + } + $370_1 = (HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + label$40 : { + if (!($370_1 & 1 | 0)) { + break label$40 + } + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$41 : { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$41 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $152(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 160 | 0) >> 2] = (HEAP32[($4_1 + 160 | 0) >> 2] | 0) + 1 | 0; + continue label$38; + } + break label$38; + }; + $857(HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0); + label$42 : { + if (!(HEAP32[($4_1 + 152 | 0) >> 2] | 0)) { + break label$42 + } + $13(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 124 | 0) >> 2] | 0) + -4 | 0 | 0); + HEAP32[($4_1 + 172 | 0) >> 2] = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + break label$6; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $732(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + $13(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 124 | 0) >> 2] | 0) + -4 | 0 | 0); + HEAP32[($4_1 + 124 | 0) >> 2] = 0; + label$43 : { + if (!(HEAP32[($4_1 + 152 | 0) >> 2] | 0)) { + break label$43 + } + HEAP32[($4_1 + 172 | 0) >> 2] = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + break label$6; + } + $449(); + HEAP32[($4_1 + 160 | 0) >> 2] = 0; + label$44 : { + label$45 : while (1) { + if (!((HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$44 + } + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$46 : { + if (!((HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$46 + } + $151(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + HEAP32[($4_1 + 160 | 0) >> 2] = (HEAP32[($4_1 + 160 | 0) >> 2] | 0) + 1 | 0; + continue label$45; + }; + } + $450(); + $854(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($4_1 + 172 | 0) >> 2] = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + } + $448_1 = HEAP32[($4_1 + 172 | 0) >> 2] | 0; + global$0 = $4_1 + 176 | 0; + return $448_1 | 0; + } + + function $846($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 460 | 0) >> 2] | 0)) { + break label$2 + } + if (!(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $858(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $14_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $14_1 | 0; + } + + function $847($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $8_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($8_1 + 104 | 0) >> 2] = (HEAP32[($8_1 + 104 | 0) >> 2] | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + return; + } + + function $848($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $124_1 = 0, $47_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $849(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 104 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 96 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $124_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $124_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 100 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + $851(HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 216 | 0 | 0, -1 | 0, $4_1 | 0); + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 216 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = $4_1; + $47_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $47_1 | 0; + } + + function $849($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $859(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $850($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0; + HEAP32[$3_1 >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0, 40) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $859(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$3_1 >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $21(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + $851(HEAP32[(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0 | 0, -1 | 0, 0 | 0); + $13(HEAP32[(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $851($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + if ((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (31 | 0) & 1 | 0) { + break label$5 + } + if ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) & (1 << (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) | 0) { + break label$4 + } + } + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); + } + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $13(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + break label$3; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0; + } + continue label$2; + }; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $852($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $17_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + $13(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $17_1 = $119(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] = $17_1; + global$0 = $5_1 + 16 | 0; + return; + } + + function $853($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $11_1 = 0, $38_1 = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 360 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + label$1 : while (1) { + $11_1 = 0; + label$2 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$2 + } + $11_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 336 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($11_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $38_1 = HEAP32[((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $38_1; + if (!(($38_1 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $870(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 360 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $54_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $54_1 | 0; + } + + function $854($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $869(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 64 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $855($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + i64toi32_i32$1 = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $114(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $618(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$4 + } + $42(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + break label$3; + } + HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + } + break label$1; + } + HEAP32[($7_1 + 8 | 0) >> 2] = 7; + } + $30_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $30_1 | 0; + } + + function $856($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = $871(HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $857($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $622(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $858($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5_1 = 0, $20_1 = 0, $56_1 = 0, $287_1 = 0, $295_1 = 0, $89_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $20_1 = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $20_1; + HEAP32[$4_1 >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != ($20_1 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $872(HEAP32[$4_1 >> 2] | 0 | 0, 2 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $872(HEAP32[$4_1 >> 2] | 0 | 0, 1 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $56_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($56_1 + 460 | 0) >> 2] = (HEAP32[($56_1 + 460 | 0) >> 2] | 0) + -1 | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + label$7 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$7 + } + label$8 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $873(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$9 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$9 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $873(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + label$10 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $287_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 464 | 0) >> 2] = $287_1; + HEAP32[(i64toi32_i32$0 + 468 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 84 | 0) >> 2] | 0; + $295_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 472 | 0) >> 2] = $295_1; + HEAP32[(i64toi32_i32$1 + 476 | 0) >> 2] = i64toi32_i32$0; + } + $89_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $89_1 | 0; + } + + function $859($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, $42_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $13_1 = HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0; + label$3 : { + switch ($13_1 | 0) { + case 1: + $860(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + break label$1; + case 0: + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 1 | 0) & 255 | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $207(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + } + break label$6; + } + $861(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + } + break label$1; + case 2: + break label$3; + default: + break label$1; + }; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + $42_1 = HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($42_1 + 4 | 0) >> 2] = (HEAP32[($42_1 + 4 | 0) >> 2] | 0) + -1 | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$4_1 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $860($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $862(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $861($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $127(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + break label$2; + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + label$6 : { + if (!((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + break label$4; + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[$3_1 >> 2] | 0) + 24 | 0) >> 2] | 0; + if ((HEAP32[$3_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + continue label$5 + } + break label$5; + }; + } + } + $817(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $159(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $862($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $44_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $864(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 59 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$4_1 >> 2] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) + Math_imul(HEAP32[($4_1 + 4 | 0) >> 2] | 0, 72) | 0; + $865(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0); + HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $866(0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + } + $44_1 = 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] = $44_1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = $44_1; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 0] = 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] = $44_1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $44_1; + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] = $44_1; + global$0 = $4_1 + 16 | 0; + return; + } + + function $863($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $5_1 = 0, $37_1 = 0; + $3_1 = global$0 - 16 | 0; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $4_1; + $5_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 68 | 0) >> 2] = (HEAP32[($5_1 + 68 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) <= ($4_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[(0 + 114612 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(0 + 114612 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + break label$2; + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(0 + 114612 | 0) >> 2] | 0; + label$4 : while (1) { + $37_1 = 0; + label$5 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $37_1 = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (!($37_1 & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + continue label$4; + } + break label$4; + }; + label$7 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + } + } + HEAP32[($3_1 + 4 | 0) >> 2] = 1; + } + return HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $864($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $867((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 56) | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $865($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $866($5_1 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + $857(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + } + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $857(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + } + $3289(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, 72 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $866($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + continue label$2; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $867($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, $38_1 = 0, $22_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $756(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + } + $868(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + $22_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $38_1 = 0; + i64toi32_i32$1 = $22_1; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $868($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $864(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $869($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 360 | 0) >> 2] = $13_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $13_1; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 336 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + FUNCTION_TABLE[HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + } + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = 0; + $841(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $13(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 336 | 0) >> 2] = 0; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $870($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $22_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $13(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0 | 0); + $22_1 = $291(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] = $22_1; + $42(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $871($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0; + } + + function $872($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $33_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + label$1 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + $33_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $198(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $33_1 | 0, $33_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $727(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$4 + } + label$5 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + if (!(((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $158(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $202(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + } + $63_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $63_1 | 0; + } + + function $873($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $17_1 = 0, $54_1 = 0, $90_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + label$1 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$2 : while (1) { + $17_1 = 0; + label$3 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$3 + } + $17_1 = (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 336 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($17_1 & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$5 + } + $372(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $54_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$6 : { + label$7 : { + switch ($54_1 | 0) { + case 0: + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + break label$6; + case 2: + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + break label$6; + default: + break label$7; + }; + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0; + } + label$10 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[$5_1 >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $841(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + } + $90_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $90_1 | 0; + } + + function $874($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $60_1 = 0, $43_1 = 0, $8_1 = 0, $59_1 = 0, $44_1 = 0, $47_1 = 0, $50_1 = 0, $53_1 = 0, $173_1 = 0, $183_1 = 0, $193_1 = 0, $203_1 = 0, $213_1 = 0, $56_1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + $8_1 = $4_1 + 40 | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + $59_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $59_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $59_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $59_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $59_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $60_1 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($4_1 + 8 | 0) >> 1] = 1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($8_1); + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $23(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + $43_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $173_1 = i64toi32_i32$0; + i64toi32_i32$0 = $43_1; + HEAP32[i64toi32_i32$0 >> 2] = $173_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $44_1 = 32; + i64toi32_i32$2 = $4_1 + $44_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $183_1 = i64toi32_i32$1; + i64toi32_i32$1 = $43_1 + $44_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $183_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $47_1 = 24; + i64toi32_i32$2 = $4_1 + $47_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $193_1 = i64toi32_i32$0; + i64toi32_i32$0 = $43_1 + $47_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $193_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $50_1 = 16; + i64toi32_i32$2 = $4_1 + $50_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $203_1 = i64toi32_i32$1; + i64toi32_i32$1 = $43_1 + $50_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $203_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $53_1 = 8; + i64toi32_i32$2 = $4_1 + $53_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $213_1 = i64toi32_i32$0; + i64toi32_i32$0 = $43_1 + $53_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $213_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $56_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $56_1 | 0; + } + + function $875($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $70(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + $13(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + $18_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $18_1 | 0; + } + + function $876($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 514 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $252(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $19_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $19_1 | 0; + } + + function $877($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $25_1 = 0, $39_1 = 0, $22_1 = 0, $50_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 32; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($5_1 + 7 | 0) >> 0] = $1_1; + HEAP8[($5_1 + 6 | 0) >> 0] = $2_1; + HEAP32[$5_1 >> 2] = $6_1; + label$1 : { + label$2 : { + if (!($265(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0)) { + break label$2 + } + HEAP8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $879(32 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $22_1 = ($3303(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0) & 1073741823 | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = $22_1; + HEAP8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] = 1; + $25_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP16[($25_1 + 8 | 0) >> 1] = (HEAPU16[($25_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 514 | 0; + label$3 : { + if (!(((HEAPU8[($5_1 + 6 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $39_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP16[($39_1 + 8 | 0) >> 1] = ((HEAPU16[($39_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -45 | 0; + } + $328(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + $50_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $50_1 | 0; + } + + function $878($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $52_1 = 0, $66_1 = 0, $879$hi = 0, $880$hi = 0, $103_1 = 0, $881$hi = 0, $882$hi = 0, $884$hi = 0, $885$hi = 0, $104_1 = 0, $886$hi = 0, $887$hi = 0, $121_1 = 0, $147_1 = 0, $164_1 = 0, $209_1 = 0, $217_1 = 0, $233_1 = 0, $245_1 = 0, $251_1 = 0, $261_1 = 0, $272_1 = 0, $298_1 = 0, $315_1 = 0, $362_1 = 0, $368_1 = 0, $380_1 = 0, $396_1 = 0, $406_1 = 0, $412_1 = 0, $420_1 = 0, $441_1 = 0, $447_1 = 0, $477_1 = 0, $483_1 = 0, $520_1 = 0, $539_1 = 0, $549_1 = 0, $568_1 = 0, $580_1 = 0, $590_1 = 0, $602_1 = 0, $614_1 = 0, $626_1 = 0, $636_1 = 0, $647_1 = 0, $655_1 = 0, $683_1 = 0, $691_1 = 0, $726_1 = 0, $745_1 = 0, $755_1 = 0, $774_1 = 0, $786_1 = 0, $796_1 = 0, $808_1 = 0, $820_1 = 0, $832_1 = 0, $842_1 = 0, $51_1 = 0, $163_1 = 0, $208_1 = 0, $216_1 = 0, $232_1 = 0, $244_1 = 0, $250_1 = 0, $260_1 = 0, $314_1 = 0, $361_1 = 0, $367_1 = 0, $379_1 = 0, $395_1 = 0, $405_1 = 0, $411_1 = 0, $519_1 = 0, $538_1 = 0, $548_1 = 0, $567_1 = 0, $579_1 = 0, $589_1 = 0, $601_1 = 0, $613_1 = 0, $625_1 = 0, $635_1 = 0, $725_1 = 0, $744_1 = 0, $754_1 = 0, $773_1 = 0, $785_1 = 0, $795_1 = 0, $807_1 = 0, $819_1 = 0, $831_1 = 0, $841_1 = 0, $873_1 = 0, $876_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 55 | 0) >> 0] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$3 + } + if (!(((HEAPU8[($4_1 + 55 | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $251(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & -2 | 0) | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + HEAP8[($4_1 + 19 | 0) >> 0] = HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0; + HEAP8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + $51_1 = HEAPU8[($4_1 + 19 | 0) >> 0] | 0; + $52_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $52_1 + 1 | 0; + HEAP8[$52_1 >> 0] = $51_1; + continue label$6; + }; + } + HEAP8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[($4_1 + 55 | 0) >> 0] | 0; + break label$2; + } + label$7 : { + label$8 : { + if (!(((HEAPU8[($4_1 + 55 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + $66_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($66_1 + 12 | 0) >> 2] = (HEAP32[($66_1 + 12 | 0) >> 2] | 0) & -2 | 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $879$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $880$hi = i64toi32_i32$0; + i64toi32_i32$0 = $879$hi; + i64toi32_i32$0 = $880$hi; + i64toi32_i32$0 = $879$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $880$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $103_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $103_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $881$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $882$hi = i64toi32_i32$1; + i64toi32_i32$1 = $881$hi; + i64toi32_i32$1 = $882$hi; + i64toi32_i32$1 = $881$hi; + i64toi32_i32$0 = $103_1; + i64toi32_i32$2 = $882$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$5; + break label$7; + } + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $884$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $885$hi = i64toi32_i32$5; + i64toi32_i32$5 = $884$hi; + i64toi32_i32$5 = $885$hi; + i64toi32_i32$5 = $884$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $885$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $104_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $104_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $886$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $887$hi = i64toi32_i32$0; + i64toi32_i32$0 = $886$hi; + i64toi32_i32$0 = $887$hi; + i64toi32_i32$0 = $886$hi; + i64toi32_i32$5 = $104_1; + i64toi32_i32$1 = $887$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$4; + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $64(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if ((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + label$10 : { + label$11 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!(((HEAPU8[($4_1 + 55 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$14 + } + $121_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $121_1 + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAPU8[$121_1 >> 0] | 0) & 255 | 0; + label$16 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAPU8[(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$17 : while (1) { + $147_1 = 0; + label$18 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $147_1 = (((HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$19 : { + if (!($147_1 & 1 | 0)) { + break label$19 + } + $163_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 6 | 0; + $164_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $164_1 + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $163_1 + (((HEAPU8[$164_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$17; + } + break label$17; + }; + label$20 : { + label$21 : { + if ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$21 + } + if (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$21 + } + if (!(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$20 + } + } + HEAP32[($4_1 + 20 | 0) >> 2] = 65533; + } + } + label$22 : { + label$23 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 <= 65535 >>> 0 & 1 | 0)) { + break label$23 + } + $208_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $209_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $209_1 + 1 | 0; + HEAP8[$209_1 >> 0] = $208_1; + $216_1 = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 8 | 0) & 255 | 0; + $217_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $217_1 + 1 | 0; + HEAP8[$217_1 >> 0] = $216_1; + break label$22; + } + $232_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 10 | 0) & 63 | 0) + ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 65536 | 0) >>> 10 | 0) & 192 | 0) | 0; + $233_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $233_1 + 1 | 0; + HEAP8[$233_1 >> 0] = $232_1; + $244_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 65536 | 0) >>> 18 | 0) & 3 | 0) + 216 | 0; + $245_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $245_1 + 1 | 0; + HEAP8[$245_1 >> 0] = $244_1; + $250_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $251_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $251_1 + 1 | 0; + HEAP8[$251_1 >> 0] = $250_1; + $260_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 8 | 0) & 3 | 0) + 220 | 0; + $261_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $261_1 + 1 | 0; + HEAP8[$261_1 >> 0] = $260_1; + } + continue label$15; + }; + } + break label$12; + } + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$24 + } + $272_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $272_1 + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAPU8[$272_1 >> 0] | 0) & 255 | 0; + label$26 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$26 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAPU8[(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$27 : while (1) { + $298_1 = 0; + label$28 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + $298_1 = (((HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$29 : { + if (!($298_1 & 1 | 0)) { + break label$29 + } + $314_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 6 | 0; + $315_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $315_1 + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $314_1 + (((HEAPU8[$315_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$27; + } + break label$27; + }; + label$30 : { + label$31 : { + if ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$31 + } + if (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$31 + } + if (!(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$30 + } + } + HEAP32[($4_1 + 20 | 0) >> 2] = 65533; + } + } + label$32 : { + label$33 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 <= 65535 >>> 0 & 1 | 0)) { + break label$33 + } + $361_1 = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 8 | 0) & 255 | 0; + $362_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $362_1 + 1 | 0; + HEAP8[$362_1 >> 0] = $361_1; + $367_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $368_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $368_1 + 1 | 0; + HEAP8[$368_1 >> 0] = $367_1; + break label$32; + } + $379_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 65536 | 0) >>> 18 | 0) & 3 | 0) + 216 | 0; + $380_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $380_1 + 1 | 0; + HEAP8[$380_1 >> 0] = $379_1; + $395_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 10 | 0) & 63 | 0) + ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 65536 | 0) >>> 10 | 0) & 192 | 0) | 0; + $396_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $396_1 + 1 | 0; + HEAP8[$396_1 >> 0] = $395_1; + $405_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 8 | 0) & 3 | 0) + 220 | 0; + $406_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $406_1 + 1 | 0; + HEAP8[$406_1 >> 0] = $405_1; + $411_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $412_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $412_1 + 1 | 0; + HEAP8[$412_1 >> 0] = $411_1; + } + continue label$25; + }; + } + } + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) - (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0; + $420_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $420_1 + 1 | 0; + HEAP8[$420_1 >> 0] = 0; + break label$10; + } + label$34 : { + label$35 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$35 + } + label$36 : { + label$37 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$36 + } + $441_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $441_1 + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAPU8[$441_1 >> 0] | 0) & 255 | 0; + $447_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $447_1 + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (((HEAPU8[$447_1 >> 0] | 0) & 255 | 0) << 8 | 0) | 0; + label$38 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 >= 55296 >>> 0 & 1 | 0)) { + break label$38 + } + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 57344 >>> 0 & 1 | 0)) { + break label$38 + } + label$39 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$39 + } + $477_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $477_1 + 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAPU8[$477_1 >> 0] | 0) & 255 | 0; + $483_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $483_1 + 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (((HEAPU8[$483_1 >> 0] | 0) & 255 | 0) << 8 | 0) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (((HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 1023 | 0) + (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 63 | 0) << 10 | 0) | 0) + ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 960 | 0) + 64 | 0) << 10 | 0) | 0; + } + } + label$40 : { + label$41 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$41 + } + $519_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $520_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $520_1 + 1 | 0; + HEAP8[$520_1 >> 0] = $519_1; + break label$40; + } + label$42 : { + label$43 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 2048 >>> 0 & 1 | 0)) { + break label$43 + } + $538_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 31 | 0) & 255 | 0) + 192 | 0; + $539_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $539_1 + 1 | 0; + HEAP8[$539_1 >> 0] = $538_1; + $548_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $549_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $549_1 + 1 | 0; + HEAP8[$549_1 >> 0] = $548_1; + break label$42; + } + label$44 : { + label$45 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 65536 >>> 0 & 1 | 0)) { + break label$45 + } + $567_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 15 | 0) & 255 | 0) + 224 | 0; + $568_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $568_1 + 1 | 0; + HEAP8[$568_1 >> 0] = $567_1; + $579_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $580_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $580_1 + 1 | 0; + HEAP8[$580_1 >> 0] = $579_1; + $589_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $590_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $590_1 + 1 | 0; + HEAP8[$590_1 >> 0] = $589_1; + break label$44; + } + $601_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 18 | 0) & 7 | 0) & 255 | 0) + 240 | 0; + $602_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $602_1 + 1 | 0; + HEAP8[$602_1 >> 0] = $601_1; + $613_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $614_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $614_1 + 1 | 0; + HEAP8[$614_1 >> 0] = $613_1; + $625_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $626_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $626_1 + 1 | 0; + HEAP8[$626_1 >> 0] = $625_1; + $635_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $636_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $636_1 + 1 | 0; + HEAP8[$636_1 >> 0] = $635_1; + } + } + } + continue label$37; + }; + } + break label$34; + } + label$46 : { + label$47 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$46 + } + $647_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $647_1 + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAPU8[$647_1 >> 0] | 0) & 255 | 0) << 8 | 0; + $655_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $655_1 + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + ((HEAPU8[$655_1 >> 0] | 0) & 255 | 0) | 0; + label$48 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 >= 55296 >>> 0 & 1 | 0)) { + break label$48 + } + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 57344 >>> 0 & 1 | 0)) { + break label$48 + } + label$49 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$49 + } + $683_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $683_1 + 1 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAPU8[$683_1 >> 0] | 0) & 255 | 0) << 8 | 0; + $691_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $691_1 + 1 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + ((HEAPU8[$691_1 >> 0] | 0) & 255 | 0) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (((HEAP32[($4_1 + 4 | 0) >> 2] | 0) & 1023 | 0) + (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 63 | 0) << 10 | 0) | 0) + ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 960 | 0) + 64 | 0) << 10 | 0) | 0; + } + } + label$50 : { + label$51 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$51 + } + $725_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $726_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $726_1 + 1 | 0; + HEAP8[$726_1 >> 0] = $725_1; + break label$50; + } + label$52 : { + label$53 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 2048 >>> 0 & 1 | 0)) { + break label$53 + } + $744_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 31 | 0) & 255 | 0) + 192 | 0; + $745_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $745_1 + 1 | 0; + HEAP8[$745_1 >> 0] = $744_1; + $754_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $755_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $755_1 + 1 | 0; + HEAP8[$755_1 >> 0] = $754_1; + break label$52; + } + label$54 : { + label$55 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < 65536 >>> 0 & 1 | 0)) { + break label$55 + } + $773_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 15 | 0) & 255 | 0) + 224 | 0; + $774_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $774_1 + 1 | 0; + HEAP8[$774_1 >> 0] = $773_1; + $785_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $786_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $786_1 + 1 | 0; + HEAP8[$786_1 >> 0] = $785_1; + $795_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $796_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $796_1 + 1 | 0; + HEAP8[$796_1 >> 0] = $795_1; + break label$54; + } + $807_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 18 | 0) & 7 | 0) & 255 | 0) + 240 | 0; + $808_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $808_1 + 1 | 0; + HEAP8[$808_1 >> 0] = $807_1; + $819_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $820_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $820_1 + 1 | 0; + HEAP8[$820_1 >> 0] = $819_1; + $831_1 = ((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $832_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $832_1 + 1 | 0; + HEAP8[$832_1 >> 0] = $831_1; + $841_1 = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $842_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $842_1 + 1 | 0; + HEAP8[$842_1 >> 0] = $841_1; + } + } + } + continue label$47; + }; + } + } + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) - (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0; + } + HEAP8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 32831 | 0 | 514 | 0; + $227(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[($4_1 + 55 | 0) >> 0] | 0; + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $873_1 = $59(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] = $873_1; + } + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + } + $876_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $876_1 | 0; + } + + function $879($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $17_1 = 0, $40_1 = 0.0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0)) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $880(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + break label$1; + } + $17_1 = 0; + $77($5_1 + 8 | 0 | 0, $17_1 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $17_1 | 0); + label$3 : { + label$4 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + $40_1 = +(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0); + break label$3; + } + $40_1 = +HEAPF64[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 3]; + } + HEAPF64[$5_1 >> 3] = $40_1; + $84($5_1 + 8 | 0 | 0, 5120 | 0, $5_1 | 0); + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) >> 0] = 0; + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $880($0_1, $0$hi, $1_1) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $4_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $42$hi = 0, $46$hi = 0, $65$hi = 0, $69$hi = 0, $44$hi = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $48$hi = 0, $51_1 = 0, $51$hi = 0, $52$hi = 0, $53$hi = 0, $57$hi = 0, $58$hi = 0, $59$hi = 0, $60$hi = 0, $15_1 = 0, $62$hi = 0, $63$hi = 0, $67$hi = 0, $71$hi = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $27_1 = 0, $110_1 = 0, $119_1 = 0, $13_1 = 0, $40_1 = 0, $41_1 = 0, $153_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $42$hi = i64toi32_i32$0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = $1_1; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] | 0; + $44$hi = i64toi32_i32$1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $35_1 = 0 + } else { + $35_1 = 1 + } + $36_1 = $35_1; + } else { + $36_1 = 0 + } + $34_1 = $36_1; + } + label$1 : { + label$2 : { + if (!($34_1 & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = -2147483648; + $46$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $46$hi; + i64toi32_i32$0 = 0; + label$3 : { + label$4 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$3 = -2147483648; + $51_1 = 0; + $51$hi = i64toi32_i32$3; + break label$3; + } + i64toi32_i32$3 = 0; + $52$hi = i64toi32_i32$3; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $53$hi = i64toi32_i32$1; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $53$hi; + $110_1 = i64toi32_i32$3; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = $53$hi; + i64toi32_i32$2 = $110_1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$2 | 0; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $51_1 = i64toi32_i32$4; + $51$hi = i64toi32_i32$5; + } + i64toi32_i32$5 = $51$hi; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $51_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$5; + break label$1; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] | 0; + $119_1 = i64toi32_i32$5; + i64toi32_i32$5 = i64toi32_i32$1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $119_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 20; + HEAP8[($4_1 + 21 | 0) >> 0] = 0; + label$5 : while (1) { + $13_1 = $4_1; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $57$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $58$hi = i64toi32_i32$5; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$5 = $58$hi; + i64toi32_i32$5 = $57$hi; + $40_1 = i64toi32_i32$0; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = __wasm_i64_urem($40_1 | 0, i64toi32_i32$5 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $59$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $60$hi = i64toi32_i32$5; + i64toi32_i32$5 = $59$hi; + i64toi32_i32$5 = $60$hi; + i64toi32_i32$5 = $59$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$2 = 48; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $15_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $15_1 + -1 | 0; + HEAP8[($13_1 + $15_1 | 0) >> 0] = i64toi32_i32$3; + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 28 | 0) >> 2] | 0; + $62$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $63$hi = i64toi32_i32$1; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $62$hi; + $41_1 = i64toi32_i32$4; + i64toi32_i32$4 = $63$hi; + i64toi32_i32$4 = __wasm_i64_udiv($41_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $153_1 = i64toi32_i32$4; + i64toi32_i32$4 = i64toi32_i32$5; + HEAP32[(i64toi32_i32$5 + 24 | 0) >> 2] = $153_1; + HEAP32[(i64toi32_i32$5 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $65$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 24 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 28 | 0) >> 2] | 0; + $67$hi = i64toi32_i32$4; + i64toi32_i32$4 = $65$hi; + i64toi32_i32$4 = $67$hi; + i64toi32_i32$4 = $65$hi; + i64toi32_i32$4 = $67$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$2 = 0; + if (((i64toi32_i32$5 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$4 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0) { + continue label$5 + } + break label$5; + }; + i64toi32_i32$5 = 0; + $69$hi = i64toi32_i32$5; + i64toi32_i32$2 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $71$hi = i64toi32_i32$4; + i64toi32_i32$4 = $69$hi; + i64toi32_i32$4 = $71$hi; + i64toi32_i32$4 = $69$hi; + i64toi32_i32$4 = $71$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $69$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$5 | 0)) { + $37_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$1 >>> 0) { + $38_1 = 0 + } else { + $38_1 = 1 + } + $39_1 = $38_1; + } else { + $39_1 = 0 + } + $37_1 = $39_1; + } + label$6 : { + if (!($37_1 & 1 | 0)) { + break label$6 + } + $27_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $27_1 + -1 | 0; + HEAP8[($4_1 + $27_1 | 0) >> 0] = 45; + } + $3288(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, $4_1 + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0) | 0 | 0, 21 - (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0 | 0) | 0; + global$0 = $4_1 + 48 | 0; + return; + } + + function $881($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $4_1 = 0, $29$hi = 0, $21_1 = 0, $23$hi = 0, $24$hi = 0, $25$hi = 0, $29_1 = 0, $30_1 = 0, $99$hi = 0, $21$hi = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $69$hi = 0, $34_1 = 0, $27_1 = 0, $27$hi = 0, $28_1 = 0, $28$hi = 0, $31_1 = 0, $31$hi = 0, $32_1 = 0, $32$hi = 0, $33_1 = 0, $33$hi = 0, $119_1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 1073889280; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $21_1 = 0; + $21$hi = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = $21_1; + HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 1073676288; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $21$hi; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $21_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + label$1 : while (1) { + label$2 : { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $23_1 = i64toi32_i32$0; + $23$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $24_1 = i64toi32_i32$1; + $24$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $25_1 = i64toi32_i32$0; + $25$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $69$hi = i64toi32_i32$0; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$0 = $69$hi; + $34_1 = i64toi32_i32$1; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$2 = $24$hi; + i64toi32_i32$3 = $23$hi; + $3273($4_1 + 16 | 0 | 0, $34_1 | 0, i64toi32_i32$0 | 0, $25_1 | 0, i64toi32_i32$1 | 0, $24_1 | 0, i64toi32_i32$2 | 0, $23_1 | 0, i64toi32_i32$3 | 0); + i64toi32_i32$1 = $4_1 + 24 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $27_1 = i64toi32_i32$3; + $27$hi = i64toi32_i32$2; + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $28_1 = i64toi32_i32$2; + $28$hi = i64toi32_i32$3; + i64toi32_i32$3 = $27$hi; + i64toi32_i32$2 = i64toi32_i32$1; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $27_1; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$3 = $28$hi; + i64toi32_i32$2 = i64toi32_i32$1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $28_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$3; + } + HEAP32[($4_1 + 76 | 0) >> 2] = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 1 | 0; + label$3 : { + label$4 : { + if (HEAP32[($4_1 + 76 | 0) >> 2] | 0) { + break label$4 + } + break label$3; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$3; + $29$hi = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] | 0; + $30_1 = i64toi32_i32$2; + $99$hi = i64toi32_i32$3; + i64toi32_i32$3 = $29$hi; + i64toi32_i32$3 = $99$hi; + i64toi32_i32$3 = $29$hi; + i64toi32_i32$3 = $99$hi; + i64toi32_i32$2 = $29$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$0 = i64toi32_i32$2; + $3273($4_1 | 0, $30_1 | 0, i64toi32_i32$1 | 0, $29_1 | 0, i64toi32_i32$0 | 0, $30_1 | 0, i64toi32_i32$1 | 0, $29_1 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$2 = $4_1 + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $31_1 = i64toi32_i32$0; + $31$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32_1 = i64toi32_i32$1; + $32$hi = i64toi32_i32$0; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$1 = i64toi32_i32$2; + HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] = $31_1; + HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $32$hi; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = $32_1; + HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] = i64toi32_i32$0; + continue label$1; + } + break label$1; + }; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $33_1 = i64toi32_i32$0; + $33$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $119_1 = i64toi32_i32$1; + i64toi32_i32$1 = $0_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $119_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $33$hi; + HEAP32[i64toi32_i32$1 >> 2] = $33_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + global$0 = i64toi32_i32$2 + 80 | 0; + return; + } + + function $882($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $9_1 = 0, $24_1 = 0, $31_1 = 0, $47_1 = 0; + $4_1 = global$0 - 32 | 0; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 12 | 0) >> 2] = 5127; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : while (1) { + $9_1 = 0; + label$2 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + $9_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (18 | 0); + } + label$3 : { + if (!($9_1 & 1 | 0)) { + break label$3 + } + $24_1 = 24; + $31_1 = 24; + HEAP32[($4_1 + 20 | 0) >> 2] = Math_imul((((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0) - (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) << $31_1 | 0) >> $31_1 | 0) | 0, 10); + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$4 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + $47_1 = 24; + HEAP32[($4_1 + 20 | 0) >> 2] = (((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 24 | 0) >> 2] | 0, 18) | 0) >> 0] | 0) << $47_1 | 0) >> $47_1 | 0) - 56 | 0; + } + return HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0; + } + + function $883($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $9_1 = 0, $52_1 = 0, $126_1 = 0, $197_1 = 0, $183_1 = 0, $195_1 = 0, $196_1 = 0, $267_1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) != ($9_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$2 + } + HEAP32[($8_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >>> 2 | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 24 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + (HEAP32[((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + } + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 48 | 0) >> 2] | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + $52_1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = $52_1 + 1 | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = $52_1; + label$7 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + HEAP32[($8_1 + 20 | 0) >> 2] = 101; + break label$5; + } + label$8 : { + label$9 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + break label$8; + } + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) - (HEAP32[((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = (HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0; + } + label$12 : { + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $126_1 = 24; + if (!((((HEAPU8[(((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 24 | 0) >> 2] | 0, 20) | 0) + 1 | 0) >> 0] | 0) << $126_1 | 0) >> $126_1 | 0 | 0) == (-4 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($8_1 + 4 | 0) >> 2] = ((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 1 | 0) << 2 | 0; + HEAP32[$8_1 >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[$8_1 >> 2] | 0 | 0) < (HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + label$15 : { + if (!((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + ((HEAP32[$8_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[(((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 24 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + break label$13; + } + HEAP32[$8_1 >> 2] = (HEAP32[$8_1 >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + label$16 : { + if (!((HEAP32[$8_1 >> 2] | 0 | 0) == (HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $183_1 = $231(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] = $183_1; + label$17 : { + if (!(HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$17 + } + HEAP32[($8_1 + 20 | 0) >> 2] = 1; + break label$5; + } + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $195_1 = HEAP32[(((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 24 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 2] | 0; + $196_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $197_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $197_1 + 1 | 0; + HEAP32[($196_1 + ($197_1 << 2 | 0) | 0) >> 2] = $195_1; + HEAP16[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 16 | 0; + HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) << 2 | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + (HEAP32[((HEAP32[(((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 24 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + } + } + label$18 : { + if (HEAP32[($8_1 + 52 | 0) >> 2] | 0) { + break label$18 + } + break label$5; + } + label$19 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 24 | 0) >> 2] | 0, 20) | 0) >> 0] | 0) & 255 | 0 | 0) == (175 | 0) & 1 | 0)) { + break label$19 + } + break label$5; + } + label$20 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 24 | 0) >> 2] | 0, 20) | 0) >> 0] | 0) & 255 | 0 | 0) == (62 | 0) & 1 | 0)) { + break label$20 + } + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$20 + } + break label$5; + } + continue label$6; + }; + } + HEAP32[(HEAP32[($8_1 + 48 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + $267_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $267_1 | 0; + } + + function $884($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $12_1 = 0, $53_1 = 0, $61_1 = 0, $119_1 = 0, $134_1 = 0, $72_1 = 0, $82_1 = 0, $99_1 = 0, $116_1 = 0, $131_1 = 0, $592_1 = 0, $675_1 = 0, $235_1 = 0, $281_1 = 0; + $4_1 = global$0 - 272 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 268 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 264 | 0) >> 2] = $1_1; + $5_1 = 0; + HEAP32[($4_1 + 260 | 0) >> 2] = $5_1; + $77($4_1 + 232 | 0 | 0, $5_1 | 0, $5_1 | 0, $5_1 | 0, 1e9 | 0); + $12_1 = (HEAP8[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) + 17 | 0; + label$1 : { + label$2 : { + switch ($12_1 | 0) { + case 8: + HEAP32[($4_1 + 224 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 224 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0; + $84($4_1 + 232 | 0 | 0, 5186 | 0, $4_1 + 16 | 0 | 0); + HEAP32[($4_1 + 228 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($4_1 + 228 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($4_1 + 224 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 220 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 224 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($4_1 + 228 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!((HEAP32[($4_1 + 220 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + $53_1 = HEAP32[(HEAP32[($4_1 + 220 | 0) >> 2] | 0) >> 2] | 0; + break label$18; + } + $53_1 = 1352; + } + HEAP32[($4_1 + 216 | 0) >> 2] = $53_1; + label$20 : { + if ($3229(HEAP32[($4_1 + 216 | 0) >> 2] | 0 | 0, 5191 | 0) | 0) { + break label$20 + } + HEAP32[($4_1 + 216 | 0) >> 2] = 5198; + } + $61_1 = 1352; + $72_1 = ((HEAPU8[((HEAP32[((HEAP32[($4_1 + 224 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 228 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 1 | 0 ? 5208 : $61_1; + $82_1 = ((HEAPU8[((HEAP32[((HEAP32[($4_1 + 224 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 228 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 2 | 0 ? 5210 : $61_1; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 216 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $82_1; + HEAP32[$4_1 >> 2] = $72_1; + $84($4_1 + 232 | 0 | 0, 5200 | 0, $4_1 | 0); + HEAP32[($4_1 + 228 | 0) >> 2] = (HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + $51($4_1 + 232 | 0 | 0, 5213 | 0, 1 | 0); + break label$1; + case 15: + HEAP32[($4_1 + 212 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $99_1 = HEAP32[(HEAP32[($4_1 + 212 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[(5216 + (((HEAPU8[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $99_1; + $84($4_1 + 232 | 0 | 0, 5246 | 0, $4_1 + 32 | 0 | 0); + break label$1; + case 9: + HEAP32[($4_1 + 208 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $116_1 = HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $119_1 = 24; + HEAP32[($4_1 + 52 | 0) >> 2] = ((HEAPU8[(HEAP32[($4_1 + 208 | 0) >> 2] | 0) >> 0] | 0) << $119_1 | 0) >> $119_1 | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $116_1; + $84($4_1 + 232 | 0 | 0, 5255 | 0, $4_1 + 48 | 0 | 0); + break label$1; + case 1: + HEAP32[($4_1 + 204 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $131_1 = HEAP32[((HEAP32[($4_1 + 204 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $134_1 = 24; + HEAP32[($4_1 + 68 | 0) >> 2] = ((HEAPU8[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 0] | 0) << $134_1 | 0) >> $134_1 | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = $131_1; + $84($4_1 + 232 | 0 | 0, 5255 | 0, $4_1 + 64 | 0 | 0); + break label$1; + case 3: + i64toi32_i32$2 = HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $592_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 80 | 0) >> 2] = $592_1; + HEAP32[($4_1 + 84 | 0) >> 2] = i64toi32_i32$1; + $84($4_1 + 232 | 0 | 0, 5262 | 0, $4_1 + 80 | 0 | 0); + break label$1; + case 14: + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $84($4_1 + 232 | 0 | 0, 5267 | 0, $4_1 + 96 | 0 | 0); + break label$1; + case 4: + HEAPF64[($4_1 + 112 | 0) >> 3] = +HEAPF64[(HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 3]; + $84($4_1 + 232 | 0 | 0, 5270 | 0, $4_1 + 112 | 0 | 0); + break label$1; + case 6: + HEAP32[($4_1 + 200 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$21 : { + label$22 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$22 + } + HEAP32[($4_1 + 260 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$21; + } + label$23 : { + label$24 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 36 | 0)) { + break label$24 + } + i64toi32_i32$2 = HEAP32[($4_1 + 200 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $675_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 128 | 0) >> 2] = $675_1; + HEAP32[($4_1 + 132 | 0) >> 2] = i64toi32_i32$0; + $84($4_1 + 232 | 0 | 0, 5262 | 0, $4_1 + 128 | 0 | 0); + break label$23; + } + label$25 : { + label$26 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$26 + } + HEAPF64[($4_1 + 144 | 0) >> 3] = +HEAPF64[(HEAP32[($4_1 + 200 | 0) >> 2] | 0) >> 3]; + $84($4_1 + 232 | 0 | 0, 5270 | 0, $4_1 + 144 | 0 | 0); + break label$25; + } + label$27 : { + label$28 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($4_1 + 260 | 0) >> 2] = 1353; + break label$27; + } + HEAP32[($4_1 + 260 | 0) >> 2] = 5276; + } + } + } + } + break label$1; + case 5: + HEAP32[($4_1 + 196 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 160 | 0) >> 2] = HEAP32[($4_1 + 196 | 0) >> 2] | 0; + $84($4_1 + 232 | 0 | 0, 5283 | 0, $4_1 + 160 | 0 | 0); + break label$1; + case 2: + HEAP32[($4_1 + 188 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 184 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 188 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 192 | 0) >> 2] = 1; + label$29 : { + label$30 : while (1) { + if (!((HEAP32[($4_1 + 192 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($4_1 + 184 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$29 + } + $235_1 = (HEAP32[($4_1 + 192 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 91 : 44; + HEAP32[($4_1 + 180 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 188 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 192 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 176 | 0) >> 2] = $235_1; + $84($4_1 + 232 | 0 | 0, 5291 | 0, $4_1 + 176 | 0 | 0); + HEAP32[($4_1 + 192 | 0) >> 2] = (HEAP32[($4_1 + 192 | 0) >> 2] | 0) + 1 | 0; + continue label$30; + }; + } + $51($4_1 + 232 | 0 | 0, 5296 | 0, 1 | 0); + break label$1; + case 13: + HEAP32[($4_1 + 260 | 0) >> 2] = 5298; + break label$1; + case 0: + case 12: + break label$1; + case 11: + HEAP32[($4_1 + 260 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + default: + break label$2; + }; + } + HEAP32[($4_1 + 260 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 264 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + label$31 : { + if (!((HEAP32[($4_1 + 260 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$31 + } + $60($4_1 + 232 | 0 | 0, HEAP32[($4_1 + 260 | 0) >> 2] | 0 | 0); + } + label$32 : { + if (!(((HEAPU8[($4_1 + 252 | 0) >> 0] | 0) & 255 | 0) & 7 | 0)) { + break label$32 + } + $118(HEAP32[($4_1 + 268 | 0) >> 2] | 0 | 0); + } + $281_1 = $72($4_1 + 232 | 0 | 0) | 0; + global$0 = $4_1 + 272 | 0; + return $281_1 | 0; + } + + function $885($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[(5312 + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0; + } + + function $886($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $23_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 40) | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $974(HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP16[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 1] = 4; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + $23_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $23_1 | 0; + } + + function $887($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0)) { + break label$2 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$3 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$3 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) & 1 | 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $888($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $8_1 = 0, $9_1 = 0, $10_1 = 0, $13_1 = 0, $16_1 = 0, $19_1 = 0, $50_1 = 0, $60_1 = 0, $70_1 = 0, $80_1 = 0, $90_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $227(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $8_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $9_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $50_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1; + HEAP32[i64toi32_i32$0 >> 2] = $50_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $10_1 = 32; + i64toi32_i32$2 = i64toi32_i32$2 + $10_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $60_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1 + $10_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $13_1 = 24; + i64toi32_i32$2 = $9_1 + $13_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $70_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1 + $13_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $70_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $16_1 = 16; + i64toi32_i32$2 = $9_1 + $16_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $80_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1 + $16_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $80_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $19_1 = 8; + i64toi32_i32$2 = $9_1 + $19_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $90_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1 + $19_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $90_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $889($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15_1 = 0, $17_1 = 0, $21_1 = 0, $30_1 = 0, $37_1 = 0, $85_1 = 0, $105_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 9216 | 0)) { + break label$2 + } + $975(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + break label$1; + } + $15_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $85_1 = i64toi32_i32$0; + i64toi32_i32$0 = $15_1; + HEAP32[i64toi32_i32$0 >> 2] = $85_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $17_1 = 16; + HEAP32[(i64toi32_i32$0 + $17_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $17_1 | 0) >> 2] | 0; + $21_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $21_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $105_1 = i64toi32_i32$1; + i64toi32_i32$1 = $15_1 + $21_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $105_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + if (((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2048 | 0) { + break label$1 + } + $30_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($30_1 + 8 | 0) >> 1] = ((HEAPU16[($30_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -7169 | 0; + $37_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($37_1 + 8 | 0) >> 1] = (HEAPU16[($37_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $890($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 44 | 0)) { + break label$2 + } + HEAP16[($3_1 + 14 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 44 | 0; + break label$1; + } + label$3 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 18 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $976(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 14 | 0) >> 1] = wasm2js_i32$1; + break label$1; + } + HEAP16[($3_1 + 14 | 0) >> 1] = 0; + } + $27_1 = (HEAPU16[($3_1 + 14 | 0) >> 1] | 0) & 65535 | 0; + global$0 = $3_1 + 16 | 0; + return $27_1 | 0; + } + + function $891($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $4_1 = 0, $26$hi = 0, $31$hi = 0, i64toi32_i32$6 = 0, $37$hi = 0, $38$hi = 0, $41$hi = 0, $49$hi = 0, $52$hi = 0, $29$hi = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $33$hi = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, $35$hi = 0, $36$hi = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, $43$hi = 0, $50_1 = 0, $51_1 = 0, $52_1 = 0, $45$hi = 0, $46$hi = 0, $47$hi = 0, $48$hi = 0, $50$hi = 0, $51$hi = 0, $53_1 = 0, $54_1 = 0, $56_1 = 0, $55$hi = 0, $24_1 = 0, $71_1 = 0, $99_1 = 0, $106_1 = 0, $45_1 = 0, $49_1 = 0, $23_1 = 0, $55_1 = 0, $158$hi = 0; + $4_1 = global$0 - 32 | 0; + i64toi32_i32$0 = 0; + $26$hi = i64toi32_i32$0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $71_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $71_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $29$hi = i64toi32_i32$0; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $39_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $40_1 = 0 + } else { + $40_1 = 1 + } + $41_1 = $40_1; + } else { + $41_1 = 0 + } + $39_1 = $41_1; + } + label$1 : { + label$2 : { + label$3 : { + if (!($39_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = 0; + $31$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $33$hi = i64toi32_i32$0; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { + $42_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $43_1 = 0 + } else { + $43_1 = 1 + } + $44_1 = $43_1; + } else { + $44_1 = 0 + } + $42_1 = $44_1; + } + label$4 : { + if (!($42_1 & 1 | 0)) { + break label$4 + } + i64toi32_i32$3 = 2147483647; + $35$hi = i64toi32_i32$3; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $36$hi = i64toi32_i32$0; + i64toi32_i32$0 = $35$hi; + i64toi32_i32$0 = $36$hi; + $99_1 = i64toi32_i32$3; + i64toi32_i32$0 = $35$hi; + i64toi32_i32$1 = -1; + i64toi32_i32$3 = $36$hi; + i64toi32_i32$2 = $99_1; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $37$hi = i64toi32_i32$5; + i64toi32_i32$0 = $4_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $38$hi = i64toi32_i32$1; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$1 = $38$hi; + $106_1 = i64toi32_i32$5; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$5 = $38$hi; + i64toi32_i32$2 = $106_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$5 | 0)) { + $46_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$2 >>> 0) { + $47_1 = 0 + } else { + $47_1 = 1 + } + $48_1 = $47_1; + } else { + $48_1 = 0 + } + $46_1 = $48_1; + } + if (!($46_1 & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + break label$2; + } + i64toi32_i32$0 = 0; + $41$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $43$hi = i64toi32_i32$1; + i64toi32_i32$1 = $41$hi; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$1 = $41$hi; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$5 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $50_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$5 >>> 0) { + $51_1 = 0 + } else { + $51_1 = 1 + } + $52_1 = $51_1; + } else { + $52_1 = 0 + } + $50_1 = $52_1; + } + label$5 : { + if (!($50_1 & 1 | 0)) { + break label$5 + } + i64toi32_i32$2 = 0; + $45_1 = 0; + $45$hi = i64toi32_i32$2; + i64toi32_i32$5 = $4_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + $46$hi = i64toi32_i32$1; + i64toi32_i32$1 = 2147483647; + $47$hi = i64toi32_i32$1; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $47$hi; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $48$hi = i64toi32_i32$4; + i64toi32_i32$4 = $45$hi; + i64toi32_i32$4 = $48$hi; + i64toi32_i32$4 = $45$hi; + i64toi32_i32$1 = $45_1; + i64toi32_i32$5 = $48$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$4 - i64toi32_i32$3 | 0; + $49_1 = i64toi32_i32$2; + $49$hi = i64toi32_i32$3; + i64toi32_i32$4 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $50$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$3 = $51$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $52$hi = i64toi32_i32$2; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$2 = $52$hi; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$2 = $52$hi; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$1 = $49_1; + i64toi32_i32$4 = $52$hi; + i64toi32_i32$0 = i64toi32_i32$5; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$4 | 0)) { + $53_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0) { + $54_1 = 0 + } else { + $54_1 = 1 + } + $56_1 = $54_1; + } else { + $56_1 = 0 + } + $53_1 = $56_1; + } + if (!($53_1 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + } + $23_1 = 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $55_1 = i64toi32_i32$1; + $55$hi = i64toi32_i32$2; + $24_1 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = $24_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $158$hi = i64toi32_i32$1; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = $158$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$4 = $55_1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $24_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$3; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 28 | 0) >> 2] = $23_1; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $892($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $4_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $20$hi = 0, $24$hi = 0, i64toi32_i32$6 = 0, $22$hi = 0, $26$hi = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $28$hi = 0, $14_1 = 0, $31$hi = 0, $32$hi = 0, $28_1 = 0, $77$hi = 0, $89_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + i64toi32_i32$0 = -2147483648; + $20$hi = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[i64toi32_i32$1 >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $22$hi = i64toi32_i32$1; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = 0; + $24$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $24$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $23_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + $24_1 = 0 + } else { + $24_1 = 1 + } + $25_1 = $24_1; + } else { + $25_1 = 0 + } + $23_1 = $25_1; + } + label$3 : { + if (!($23_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $28_1 = i64toi32_i32$3; + $28$hi = i64toi32_i32$1; + $14_1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $14_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $77$hi = i64toi32_i32$3; + i64toi32_i32$3 = $28$hi; + i64toi32_i32$3 = $77$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$2 = $28_1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + i64toi32_i32$0 = $14_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$5 = 0; + $31$hi = i64toi32_i32$5; + i64toi32_i32$3 = $4_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$0; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $32$hi; + $89_1 = i64toi32_i32$5; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = $32$hi; + i64toi32_i32$2 = $89_1; + i64toi32_i32$1 = i64toi32_i32$3 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$4 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $891(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $17_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $17_1 | 0; + } + + function $893($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $4_1 = 0, i64toi32_i32$5 = 0, $89$hi = 0, $45$hi = 0, $51$hi = 0, $53$hi = 0, $57$hi = 0, $59$hi = 0, $62$hi = 0, $66$hi = 0, $71$hi = 0, $73$hi = 0, $76$hi = 0, $80$hi = 0, $84$hi = 0, i64toi32_i32$6 = 0, $91$hi = 0, $94$hi = 0, $48$hi = 0, $62_1 = 0, $63_1 = 0, $64_1 = 0, $50$hi = 0, $52$hi = 0, $65_1 = 0, $66_1 = 0, $67_1 = 0, $56$hi = 0, $58$hi = 0, $68_1 = 0, $69_1 = 0, $70_1 = 0, $64$hi = 0, $72_1 = 0, $73_1 = 0, $74_1 = 0, $68$hi = 0, $75_1 = 0, $76_1 = 0, $77_1 = 0, $70$hi = 0, $72$hi = 0, $78_1 = 0, $79_1 = 0, $80_1 = 0, $78$hi = 0, $81_1 = 0, $82_1 = 0, $83_1 = 0, $82$hi = 0, $86$hi = 0, $88$hi = 0, $89_1 = 0, $90$hi = 0, $92$hi = 0, $93$hi = 0, $84_1 = 0, $85_1 = 0, $86_1 = 0, $97$hi = 0, $98$hi = 0, $113_1 = 0, $51_1 = 0, $131_1 = 0, $136_1 = 0, $57_1 = 0, $150_1 = 0, $155_1 = 0, $71_1 = 0, $193_1 = 0, $198_1 = 0, $250_1 = 0, $91_1 = 0, $255_1 = 0, $263_1 = 0, $97_1 = 0, $277_1 = 0, $282_1 = 0; + $4_1 = global$0 - 32 | 0; + i64toi32_i32$0 = 0; + $45$hi = i64toi32_i32$0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $113_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $113_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $48$hi = i64toi32_i32$0; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $62_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $63_1 = 0 + } else { + $63_1 = 1 + } + $64_1 = $63_1; + } else { + $64_1 = 0 + } + $62_1 = $64_1; + } + label$1 : { + label$2 : { + label$3 : { + if (!($62_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = 2147483647; + $50$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $51_1 = i64toi32_i32$2; + $51$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $52$hi = i64toi32_i32$2; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$2 = $52$hi; + $131_1 = i64toi32_i32$0; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$0 = __wasm_i64_sdiv(-1 | 0, i64toi32_i32$2 | 0, $131_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $53$hi = i64toi32_i32$2; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$2 = $53$hi; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$2 = $53$hi; + $136_1 = i64toi32_i32$0; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$3 = $51_1; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$1 = $136_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $65_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $66_1 = 0 + } else { + $66_1 = 1 + } + $67_1 = $66_1; + } else { + $67_1 = 0 + } + $65_1 = $67_1; + } + label$4 : { + if (!($65_1 & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$3 = -2147483648; + $56$hi = i64toi32_i32$3; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $57_1 = i64toi32_i32$3; + $57$hi = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $58$hi = i64toi32_i32$3; + i64toi32_i32$3 = $56$hi; + i64toi32_i32$3 = $58$hi; + $150_1 = i64toi32_i32$2; + i64toi32_i32$3 = $56$hi; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$2 = __wasm_i64_sdiv(0 | 0, i64toi32_i32$3 | 0, $150_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $59$hi = i64toi32_i32$3; + i64toi32_i32$3 = $57$hi; + i64toi32_i32$3 = $59$hi; + i64toi32_i32$3 = $57$hi; + i64toi32_i32$3 = $59$hi; + $155_1 = i64toi32_i32$2; + i64toi32_i32$3 = $57$hi; + i64toi32_i32$1 = $57_1; + i64toi32_i32$2 = $59$hi; + i64toi32_i32$0 = $155_1; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$2 | 0)) { + $68_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$0 >>> 0) { + $69_1 = 0 + } else { + $69_1 = 1 + } + $70_1 = $69_1; + } else { + $70_1 = 0 + } + $68_1 = $70_1; + } + label$5 : { + if (!($68_1 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + break label$2; + } + i64toi32_i32$1 = 0; + $62$hi = i64toi32_i32$1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $64$hi = i64toi32_i32$3; + i64toi32_i32$3 = $62$hi; + i64toi32_i32$3 = $64$hi; + i64toi32_i32$3 = $62$hi; + i64toi32_i32$3 = $64$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$1 | 0)) { + $72_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$2 >>> 0) { + $73_1 = 0 + } else { + $73_1 = 1 + } + $74_1 = $73_1; + } else { + $74_1 = 0 + } + $72_1 = $74_1; + } + label$6 : { + if (!($72_1 & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + $66$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $68$hi = i64toi32_i32$3; + i64toi32_i32$3 = $66$hi; + i64toi32_i32$3 = $68$hi; + i64toi32_i32$3 = $66$hi; + i64toi32_i32$3 = $68$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$0 | 0)) { + $75_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$1 >>> 0) { + $76_1 = 0 + } else { + $76_1 = 1 + } + $77_1 = $76_1; + } else { + $77_1 = 0 + } + $75_1 = $77_1; + } + label$7 : { + label$8 : { + if (!($75_1 & 1 | 0)) { + break label$8 + } + i64toi32_i32$2 = -2147483648; + $70$hi = i64toi32_i32$2; + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $71_1 = i64toi32_i32$2; + $71$hi = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $72$hi = i64toi32_i32$2; + i64toi32_i32$2 = $70$hi; + i64toi32_i32$2 = $72$hi; + $193_1 = i64toi32_i32$3; + i64toi32_i32$2 = $70$hi; + i64toi32_i32$3 = $72$hi; + i64toi32_i32$3 = __wasm_i64_sdiv(0 | 0, i64toi32_i32$2 | 0, $193_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $73$hi = i64toi32_i32$2; + i64toi32_i32$2 = $71$hi; + i64toi32_i32$2 = $73$hi; + i64toi32_i32$2 = $71$hi; + i64toi32_i32$2 = $73$hi; + $198_1 = i64toi32_i32$3; + i64toi32_i32$2 = $71$hi; + i64toi32_i32$1 = $71_1; + i64toi32_i32$3 = $73$hi; + i64toi32_i32$0 = $198_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$3 | 0)) { + $78_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$0 >>> 0) { + $79_1 = 0 + } else { + $79_1 = 1 + } + $80_1 = $79_1; + } else { + $80_1 = 0 + } + $78_1 = $80_1; + } + label$9 : { + if (!($78_1 & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + break label$7; + } + i64toi32_i32$1 = 0; + $76$hi = i64toi32_i32$1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$2; + i64toi32_i32$2 = $76$hi; + i64toi32_i32$2 = $78$hi; + i64toi32_i32$2 = $76$hi; + i64toi32_i32$2 = $78$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $76$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $81_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$3 >>> 0) { + $82_1 = 0 + } else { + $82_1 = 1 + } + $83_1 = $82_1; + } else { + $83_1 = 0 + } + $81_1 = $83_1; + } + label$10 : { + if (!($81_1 & 1 | 0)) { + break label$10 + } + i64toi32_i32$0 = -2147483648; + $80$hi = i64toi32_i32$0; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $82$hi = i64toi32_i32$2; + i64toi32_i32$2 = $80$hi; + i64toi32_i32$2 = $82$hi; + i64toi32_i32$2 = $80$hi; + i64toi32_i32$2 = $82$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$1 = 0; + label$11 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$3 = -2147483648; + $84$hi = i64toi32_i32$3; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $86$hi = i64toi32_i32$2; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$2 = $86$hi; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$2 = $86$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $84$hi; + i64toi32_i32$0 = 0; + label$12 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$1 = 2147483647; + $88$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $89_1 = 0; + $89$hi = i64toi32_i32$1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $90$hi = i64toi32_i32$2; + i64toi32_i32$2 = $89$hi; + i64toi32_i32$2 = $90$hi; + $250_1 = i64toi32_i32$1; + i64toi32_i32$2 = $89$hi; + i64toi32_i32$0 = $89_1; + i64toi32_i32$1 = $90$hi; + i64toi32_i32$3 = $250_1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $91_1 = i64toi32_i32$4; + $91$hi = i64toi32_i32$5; + i64toi32_i32$2 = $4_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $92$hi = i64toi32_i32$0; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$0 = $92$hi; + $255_1 = i64toi32_i32$5; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$2 = $89_1; + i64toi32_i32$5 = $92$hi; + i64toi32_i32$3 = $255_1; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$4 | 0; + $93$hi = i64toi32_i32$4; + i64toi32_i32$4 = $88$hi; + i64toi32_i32$4 = $93$hi; + i64toi32_i32$4 = $88$hi; + i64toi32_i32$2 = $93$hi; + i64toi32_i32$2 = __wasm_i64_sdiv(-1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $94$hi = i64toi32_i32$4; + i64toi32_i32$4 = $91$hi; + i64toi32_i32$4 = $94$hi; + i64toi32_i32$4 = $91$hi; + i64toi32_i32$4 = $94$hi; + $263_1 = i64toi32_i32$2; + i64toi32_i32$4 = $91$hi; + i64toi32_i32$0 = $91_1; + i64toi32_i32$2 = $94$hi; + i64toi32_i32$3 = $263_1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$2 | 0)) { + $84_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $85_1 = 0 + } else { + $85_1 = 1 + } + $86_1 = $85_1; + } else { + $86_1 = 0 + } + $84_1 = $86_1; + } + label$13 : { + if (!($84_1 & 1 | 0)) { + break label$13 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + } + } + } + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $97_1 = i64toi32_i32$0; + $97$hi = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $98$hi = i64toi32_i32$0; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$0 = $98$hi; + $277_1 = i64toi32_i32$4; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$4 = $98$hi; + i64toi32_i32$4 = __wasm_i64_mul($97_1 | 0, i64toi32_i32$0 | 0, $277_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $282_1 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$4 >> 2] = $282_1; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $894($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $33_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $240(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $33_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $33_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 4 | 0; + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $895($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, $39_1 = 0, $72_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($5_1 + 11 | 0) >> 0] = $1_1; + HEAP8[($5_1 + 10 | 0) >> 0] = $2_1; + $8_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[($5_1 + 11 | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) >= (67 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0) { + break label$5 + } + label$6 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$6 + } + $343(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0); + } + break label$4; + } + $346(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + } + break label$1; + } + $39_1 = 24; + label$7 : { + if (!((((HEAPU8[($5_1 + 11 | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0 | 0) == (66 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!((0 | 0) == (((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 44 | 0)) { + break label$9 + } + $877(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 10 | 0) >> 0] | 0) & 255 | 0 | 0, 1 & 255 | 0 | 0) | 0; + } + } + $72_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($72_1 + 8 | 0) >> 1] = ((HEAPU16[($72_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -45 | 0; + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $896($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $18_1 = 0.0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $18_1 = +$237(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAPF64[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 3] = $18_1; + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 8 | 0; + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $897($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $15_1 = 0, $45_1 = 0, $63_1 = 0, $74_1 = 0, $86_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($5_1 + 7 | 0) >> 0] = $1_1; + HEAP8[($5_1 + 6 | 0) >> 0] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $15_1 = (HEAPU8[($5_1 + 7 | 0) >> 0] | 0) + -65 | 0; + label$3 : { + label$4 : { + switch ($15_1 | 0) { + case 0: + label$9 : { + label$10 : { + if (((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0) { + break label$10 + } + $977(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 66 & 255 | 0 | 0, (HEAPU8[($5_1 + 6 | 0) >> 0] | 0) & 255 | 0 | 0); + label$11 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$11 + } + HEAP16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 16 | 0; + } + break label$9; + } + $45_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP16[($45_1 + 8 | 0) >> 1] = ((HEAPU16[($45_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -49584 | 0; + } + break label$3; + case 2: + $978(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$3; + case 3: + $894(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$3; + case 4: + $896(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$3; + default: + break label$4; + }; + } + $63_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP16[($63_1 + 8 | 0) >> 1] = (HEAPU16[($63_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | ((((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0) >> 3 | 0) | 0; + $977(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 66 & 255 | 0 | 0, (HEAPU8[($5_1 + 6 | 0) >> 0] | 0) & 255 | 0 | 0); + $74_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP16[($74_1 + 8 | 0) >> 1] = ((HEAPU16[($74_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -16445 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $328(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 6 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + $86_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $86_1 | 0; + } + + function $898($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $134$hi = 0, $135$hi = 0, $138$hi = 0, $139$hi = 0, $143$hi = 0, $144$hi = 0, $147$hi = 0, $148$hi = 0, $25_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $30_1 = 0, $31_1 = 0, $32_1 = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $134_1 = 0, $248_1 = 0, $138_1 = 0, $268_1 = 0, $143_1 = 0, $374_1 = 0, $147_1 = 0, $394_1 = 0, $131_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAPU16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAPU16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0 | (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 1 | 0) - ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 1 | 0) | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0) & 44 | 0)) { + break label$3 + } + label$4 : { + if (!(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) & 36 | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $134_1 = i64toi32_i32$0; + $134$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $135$hi = i64toi32_i32$0; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$0 = $135$hi; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$0 = $135$hi; + $248_1 = i64toi32_i32$1; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$2 = $134_1; + i64toi32_i32$1 = $135$hi; + i64toi32_i32$3 = $248_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $25_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $26_1 = 0 + } else { + $26_1 = 1 + } + $27_1 = $26_1; + } else { + $27_1 = 0 + } + $25_1 = $27_1; + } + label$5 : { + if (!($25_1 & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = -1; + break label$1; + } + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $138_1 = i64toi32_i32$2; + $138$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $139$hi = i64toi32_i32$2; + i64toi32_i32$2 = $138$hi; + i64toi32_i32$2 = $139$hi; + i64toi32_i32$2 = $138$hi; + i64toi32_i32$2 = $139$hi; + $268_1 = i64toi32_i32$0; + i64toi32_i32$2 = $138$hi; + i64toi32_i32$3 = $138_1; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$1 = $268_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $28_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $29_1 = 0 + } else { + $29_1 = 1 + } + $30_1 = $29_1; + } else { + $30_1 = 0 + } + $28_1 = $30_1; + } + label$6 : { + if (!($28_1 & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$7 : { + if (!(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) & 8 | 0)) { + break label$7 + } + label$8 : { + if (!(+HEAPF64[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 3] < +HEAPF64[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 3] & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 28 | 0) >> 2] = -1; + break label$1; + } + label$9 : { + if (!(+HEAPF64[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 3] > +HEAPF64[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 3] & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$10 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 36 | 0)) { + break label$10 + } + label$11 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 8 | 0)) { + break label$11 + } + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $979(i64toi32_i32$3 | 0, i64toi32_i32$2 | 0, +(+HEAPF64[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 3])) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$12 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 36 | 0)) { + break label$12 + } + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $143_1 = i64toi32_i32$2; + $143$hi = i64toi32_i32$3; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $144$hi = i64toi32_i32$2; + i64toi32_i32$2 = $143$hi; + i64toi32_i32$2 = $144$hi; + i64toi32_i32$2 = $143$hi; + i64toi32_i32$2 = $144$hi; + $374_1 = i64toi32_i32$3; + i64toi32_i32$2 = $143$hi; + i64toi32_i32$1 = $143_1; + i64toi32_i32$3 = $144$hi; + i64toi32_i32$0 = $374_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$3 | 0)) { + $31_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$0 >>> 0) { + $32_1 = 0 + } else { + $32_1 = 1 + } + $33_1 = $32_1; + } else { + $33_1 = 0 + } + $31_1 = $33_1; + } + label$13 : { + if (!($31_1 & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 28 | 0) >> 2] = -1; + break label$1; + } + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $147_1 = i64toi32_i32$1; + $147$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $148$hi = i64toi32_i32$1; + i64toi32_i32$1 = $147$hi; + i64toi32_i32$1 = $148$hi; + i64toi32_i32$1 = $147$hi; + i64toi32_i32$1 = $148$hi; + $394_1 = i64toi32_i32$2; + i64toi32_i32$1 = $147$hi; + i64toi32_i32$0 = $147_1; + i64toi32_i32$2 = $148$hi; + i64toi32_i32$3 = $394_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $35_1 = 0 + } else { + $35_1 = 1 + } + $36_1 = $35_1; + } else { + $36_1 = 0 + } + $34_1 = $36_1; + } + label$14 : { + if (!($34_1 & 1 | 0)) { + break label$14 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = -1; + break label$1; + } + label$15 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 8 | 0)) { + break label$15 + } + label$16 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 36 | 0)) { + break label$16 + } + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = 0 - ($979(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, +(+HEAPF64[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 3])) | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$17 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0) & 2 | 0)) { + break label$17 + } + label$18 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 2 | 0) { + break label$18 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$19 : { + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 2 | 0) { + break label$19 + } + HEAP32[($5_1 + 28 | 0) >> 2] = -1; + break label$1; + } + label$20 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $980(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $981(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $131_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $131_1 | 0; + } + + function $899($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $30$hi = 0, i64toi32_i32$2 = 0, $32$hi = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 36 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$1; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $30$hi; + HEAP32[($4_1 + 12 | 0) >> 2] = ((i64toi32_i32$2 | 0) != (0 | 0) | (i64toi32_i32$1 | 0) != ($30$hi | 0) | 0) & 1 | 0; + break label$1; + } + label$3 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = +$237(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != +(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $27_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $27_1 | 0; + } + + function $900($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $35_1 = 0, $67_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $35_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (((HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $35_1; + if (!($35_1 >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$3 + } + if (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $942(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$4 : { + if (!($982(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $983(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $67_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $67_1 | 0; + } + + function $901($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $7_1 = $984(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $7_1 | 0; + } + + function $902($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $81$hi = 0, $82$hi = 0, $79$hi = 0, $80$hi = 0, $81_1 = 0, $245_1 = 0, $76_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) & 128 | 0) { + break label$2 + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 127 | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 7 | 0; + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0 | (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0; + HEAP8[($4_1 + 47 | 0) >> 0] = 2; + break label$1; + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$3 : { + if ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 128 | 0) { + break label$3 + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) & 127 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) << 7 | 0; + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0 | (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0; + HEAP8[($4_1 + 47 | 0) >> 0] = 3; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $769((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + -2 | 0 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $79$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $80$hi = i64toi32_i32$1; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $81_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $81$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $82$hi = i64toi32_i32$2; + i64toi32_i32$2 = $81$hi; + i64toi32_i32$2 = $82$hi; + i64toi32_i32$2 = $81$hi; + i64toi32_i32$2 = $82$hi; + $245_1 = i64toi32_i32$0; + i64toi32_i32$2 = $81$hi; + i64toi32_i32$1 = $81_1; + i64toi32_i32$0 = $82$hi; + i64toi32_i32$3 = $245_1; + label$4 : { + label$5 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = -1; + break label$4; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = i64toi32_i32$1; + } + HEAP8[($4_1 + 47 | 0) >> 0] = HEAPU8[($4_1 + 15 | 0) >> 0] | 0; + } + $76_1 = (HEAPU8[($4_1 + 47 | 0) >> 0] | 0) & 255 | 0; + global$0 = $4_1 + 48 | 0; + return $76_1 | 0; + } + + function $903($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0, $11_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $9_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $9_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $9_1; + $11_1 = $901(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = $11_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4112; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $906(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $29_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $29_1 | 0; + } + + function $904($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP8[($3_1 + 15 | 0) >> 0] = $0_1; + return (HEAPU8[(((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) & 255 | 0) + 8256 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $905($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $6_1 = 0, $8_1 = 0, $19_1 = 0, $28_1 = 0, $45_1 = 0, $69_1 = 0, $178$hi = 0, $126_1 = 0, $179$hi = 0, $180$hi = 0, $29_1 = 0, $181$hi = 0, $232_1 = 0, $268_1 = 0, $317_1 = 0, $379_1 = 0, $96_1 = 0, $97_1 = 0, $178_1 = 0, $171_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($6_1 | 0) { + case 10: + $8_1 = 0; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 1] = 16385; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = $8_1; + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = $8_1; + break label$2; + case 0: + case 11: + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 1] = 1; + break label$2; + case 1: + $19_1 = 24; + i64toi32_i32$1 = ((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $232_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $232_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 1] = 4; + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + break label$1; + case 2: + $28_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $268_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $268_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 1] = 4; + HEAP32[($5_1 + 12 | 0) >> 2] = 2; + break label$1; + case 3: + $45_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $45_1 | 0) >> $45_1 | 0) << 16 | 0 | (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $317_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $317_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 1] = 4; + HEAP32[($5_1 + 12 | 0) >> 2] = 3; + break label$1; + case 4: + $69_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $69_1 | 0) >> $69_1 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $379_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $379_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 1] = 4; + HEAP32[($5_1 + 12 | 0) >> 2] = 4; + break label$1; + case 5: + $96_1 = 6; + $97_1 = 4; + i64toi32_i32$0 = 0; + $178_1 = ((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) | 0; + $178$hi = i64toi32_i32$0; + $126_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $126_1 | 0) >> $126_1 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $179$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $180$hi = i64toi32_i32$0; + i64toi32_i32$0 = $179$hi; + i64toi32_i32$0 = $180$hi; + i64toi32_i32$0 = $179$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $180$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $29_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $29_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $181$hi = i64toi32_i32$1; + i64toi32_i32$1 = $178$hi; + i64toi32_i32$1 = $181$hi; + i64toi32_i32$1 = $178$hi; + i64toi32_i32$0 = $178_1; + i64toi32_i32$2 = $181$hi; + i64toi32_i32$3 = $29_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 1] = $97_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $96_1; + break label$1; + case 6: + case 7: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $985(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + case 8: + case 9: + i64toi32_i32$5 = 0; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) - 8 | 0; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 1] = 4; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + break label$1; + default: + break label$3; + }; + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) - 12 | 0) >>> 1 | 0; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[(8384 + (((HEAP32[($5_1 + 4 | 0) >> 2] | 0) & 1 | 0) << 1 | 0) | 0) >> 1] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + $171_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $171_1 | 0; + } + + function $906($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, $52$hi = 0, i64toi32_i32$0 = 0, $51$hi = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $24_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + i64toi32_i32$0 = $986(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $51$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $52$hi = i64toi32_i32$1; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$3 = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0; + if ((i64toi32_i32$1 | 0) < ($52$hi | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + label$1 : { + label$2 : { + if (!($13_1 & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(77261 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $24_1 = $265(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $24_1; + label$3 : { + if (!((0 | 0) == ($24_1 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $822(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + HEAP8[((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 16; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + break label$4; + } + $227(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + $48_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $48_1 | 0; + } + + function $907($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$0 = 0, $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $12$hi = 0, i64toi32_i32$3 = 0, $13$hi = 0, $14$hi = 0, i64toi32_i32$2 = 0, $14_1 = 0, $15_1 = 0, $16$hi = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 4 | 0) >> 2] = 1; + label$1 : { + label$2 : while (1) { + i64toi32_i32$0 = 0; + $12_1 = 0; + $12$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $13$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $14$hi = i64toi32_i32$1; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $14$hi; + i64toi32_i32$3 = 7; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $14_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $14_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $15_1 = $14_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $15_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + $16$hi = i64toi32_i32$0; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$1 = $15_1; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$3 = $12_1; + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != ($12$hi | 0) | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $908($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4_1 = 0, i64toi32_i32$4 = 0, $24$hi = 0, $31$hi = 0, $26$hi = 0, $28$hi = 0, $29$hi = 0, $33$hi = 0, $35$hi = 0, $36$hi = 0, $25_1 = 0, $37$hi = 0, $38$hi = 0, $39$hi = 0, $40$hi = 0, $42$hi = 0, $43$hi = 0, $14_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $24$hi = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[i64toi32_i32$1 >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$3 = 127; + label$1 : { + label$2 : { + if (!((i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $29$hi = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $29$hi; + i64toi32_i32$0 = 127; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + HEAP8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] = i64toi32_i32$3 & i64toi32_i32$0 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$2 = 0; + $31$hi = i64toi32_i32$2; + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $33$hi = i64toi32_i32$3; + i64toi32_i32$3 = $31$hi; + i64toi32_i32$3 = $33$hi; + i64toi32_i32$3 = $31$hi; + i64toi32_i32$3 = $33$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$0 = 16383; + label$3 : { + if (!((i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + $14_1 = 2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $35$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $36$hi = i64toi32_i32$3; + i64toi32_i32$3 = $35$hi; + i64toi32_i32$3 = $36$hi; + i64toi32_i32$3 = $35$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$2 = 7; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $25_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + $25_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $37$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $38$hi = i64toi32_i32$1; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$3 = $25_1; + i64toi32_i32$0 = $38$hi; + i64toi32_i32$2 = 127; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $39$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $40$hi = i64toi32_i32$0; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$0 = $40$hi; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $40$hi; + i64toi32_i32$2 = 128; + i64toi32_i32$3 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + HEAP8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $42$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $43$hi = i64toi32_i32$1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $43$hi; + i64toi32_i32$2 = 127; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = i64toi32_i32$0 & i64toi32_i32$2 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $14_1; + break label$1; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = i64toi32_i32$1, wasm2js_i32$1 = $987(HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $21_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $21_1 | 0; + } + + function $909($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $35_1 = 0, $71$hi = 0, $72$hi = 0, $40_1 = 0, $74$hi = 0, $75$hi = 0, $19_1 = 0, $133_1 = 0, $139_1 = 0, $37_1 = 0, $66_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 <= 7 >>> 0 & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $133_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1 + 16 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $133_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$3; + } + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $139_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $139_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + } + $35_1 = (HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8256 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $35_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $35_1; + label$5 : while (1) { + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $71$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$3 = 255; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $37_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $40_1 = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $40_1; + HEAP8[($37_1 + $40_1 | 0) >> 0] = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $74$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $75$hi = i64toi32_i32$2; + i64toi32_i32$2 = $74$hi; + i64toi32_i32$2 = $75$hi; + i64toi32_i32$2 = $74$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$3 = 8; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $19_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $19_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $19_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + continue label$5 + } + break label$5; + }; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + label$6 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 >= 12 >>> 0 & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$7 + } + $3288(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $66_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $66_1 | 0; + } + + function $910($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $3_1 = 0, $24_1 = 0, $51$hi = 0, $152$hi = 0, $9_1 = 0, $156_1 = 0, $167_1 = 0; + $3_1 = global$0 - 32 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAPU8[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + i64toi32_i32$0 = -1; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + label$3 : { + if ((HEAPU8[((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + i64toi32_i32$0 = -1; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = (HEAPU16[((HEAP32[((HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = 0; + label$4 : { + label$5 : while (1) { + $24_1 = 24; + if (!(((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) < (((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $51$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $152$hi = i64toi32_i32$1; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $152$hi; + $9_1 = i64toi32_i32$0; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$0 = __wasm_i64_mul($9_1 | 0, i64toi32_i32$1 | 0, (HEAPU16[((HEAP32[(((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 120 | 0) + (((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $156_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $156_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = (HEAPU8[(i64toi32_i32$0 + 7 | 0) >> 0] | 0) + 1 | 0; + continue label$5; + }; + } + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $167_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $167_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$0 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $911($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, $19_1 = 0, $155$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $64_1 = 0, $85_1 = 0, $265$hi = 0, $304_1 = 0, $150_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $988(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$3 : while (1) { + $19_1 = 0; + label$4 : { + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0; + $19_1 = (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0; + } + label$5 : { + if (!($19_1 & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$6 : { + label$7 : { + if ((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) { + break label$7 + } + if (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$6 + } + } + i64toi32_i32$0 = 0; + $155$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $265$hi = i64toi32_i32$1; + i64toi32_i32$1 = $155$hi; + i64toi32_i32$1 = $265$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $155$hi; + i64toi32_i32$3 = (HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$5; + } + label$8 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : while (1) { + $64_1 = 24; + label$10 : { + if (((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $64_1 | 0) >> $64_1 | 0) { + break label$10 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $304_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $304_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $988(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $989(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0); + if (((HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0 | 0) >= ((HEAPU16[((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) { + continue label$9 + } + break label$9; + }; + $85_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP16[($85_1 + 70 | 0) >> 1] = (HEAPU16[($85_1 + 70 | 0) >> 1] | 0) + 1 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0; + label$11 : { + label$12 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == ((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $990(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $161((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $990(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $161((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + continue label$3; + } + break label$3; + }; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + $150_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $150_1 | 0; + } + + function $912($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $163(HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $12_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $12_1 | 0; + } + + function $913($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $18_1 = 0, $32_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (15 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = $510(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = $18_1 + (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + break label$1; + } + $32_1 = $161((HEAP32[((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 2 | 0) + 36 | 0) | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = $32_1; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $914($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $152_1 = 0, $111_1 = 0, $24_1 = 0, $38_1 = 0, $75_1 = 0, $104_1 = 0, $33_1 = 0, $149_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP8[($7_1 + 15 | 0) >> 0] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $24_1 = (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) - (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0, 40) | 0; + break label$1; + } + $24_1 = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 8 | 0) >> 2] = $24_1; + HEAP32[$7_1 >> 2] = 0; + $33_1 = ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 3 | 0) + 96 | 0; + label$3 : { + label$4 : { + if ((HEAPU8[($7_1 + 15 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + $38_1 = $991() | 0; + break label$3; + } + $38_1 = 0; + } + HEAP32[($7_1 + 4 | 0) >> 2] = $33_1 + $38_1 | 0; + label$5 : { + if (!((HEAP32[((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[((HEAP32[((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + $75_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP8[($75_1 + 5 | 0) >> 0] = (HEAPU8[($75_1 + 5 | 0) >> 0] | 0) & -2 | 0; + } + $859(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + } + label$7 : { + if (!((0 | 0) == ($265(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + $104_1 = HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = $104_1; + HEAP32[((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $104_1; + $111_1 = HEAP32[$7_1 >> 2] | 0; + i64toi32_i32$0 = 0; + $152_1 = 0; + i64toi32_i32$1 = $111_1; + HEAP32[i64toi32_i32$1 >> 2] = $152_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $152_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $111_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $152_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $111_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $152_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[(HEAP32[$7_1 >> 2] | 0) >> 0] = HEAPU8[($7_1 + 15 | 0) >> 0] | 0; + HEAP8[((HEAP32[$7_1 >> 2] | 0) + 1 | 0) >> 0] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP16[((HEAP32[$7_1 >> 2] | 0) + 56 | 0) >> 1] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[$7_1 >> 2] | 0) + 72 | 0) >> 2] = ((HEAP32[$7_1 >> 2] | 0) + 88 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0; + label$8 : { + if ((HEAPU8[($7_1 + 15 | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + HEAP32[((HEAP32[$7_1 >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 3 | 0) + 96 | 0) | 0; + $992(HEAP32[((HEAP32[$7_1 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + } + } + $149_1 = HEAP32[$7_1 >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $149_1 | 0; + } + + function $915($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $993(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $994(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $30_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $30_1 | 0; + } + + function $916($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + return; + } + + function $917($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, i64toi32_i32$0 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $198(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(($6_1 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $995(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0, 1 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $996(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $27_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $27_1 | 0; + } + + function $918($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $11_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $127(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $997(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $11_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $11_1 | 0; + } + + function $919($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $188$hi = 0, $199$hi = 0, $6_1 = 0, $40_1 = 0, $56_1 = 0, $191$hi = 0, $29_1 = 0, $30_1 = 0, $31_1 = 0, $193$hi = 0, $194$hi = 0, $196$hi = 0, $197$hi = 0, $201$hi = 0, $32_1 = 0, $33_1 = 0, $34_1 = 0, $204_1 = 0, $204$hi = 0, $125_1 = 0, $456_1 = 0, $35_1 = 0, $475_1 = 0, $196_1 = 0, $484_1 = 0, $487_1 = 0, $138_1 = 0, $184_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 32 | 0) >> 2] = ((((HEAPU16[((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0) << 2 | 0) + 24 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 136; + i64toi32_i32$1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $308(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $40_1 = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $40_1; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] = $40_1; + $3288(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + label$3 : { + if (!(HEAP32[($5_1 + 56 | 0) >> 2] | 0)) { + break label$3 + } + HEAP16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 6 | 0) >> 1] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + } + $127(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + $56_1 = $131(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = $56_1; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = $56_1; + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 59 | 0) >> 0] = 1; + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 58 | 0) >> 0] = 255; + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 57 | 0) >> 0] = ((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 59 | 0) >> 0] | 0) & 255 | 0 | 0) > (1 | 0) & 1 | 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 59 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 72) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$6 : { + if ($156(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + i64toi32_i32$0 = 0; + $188$hi = i64toi32_i32$0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(0 + 68572 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] = Math_imul(HEAP32[($5_1 + 4 | 0) >> 2] | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0); + i64toi32_i32$1 = HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $456_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $456_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $191$hi = i64toi32_i32$1; + i64toi32_i32$1 = $188$hi; + i64toi32_i32$1 = $191$hi; + i64toi32_i32$1 = $188$hi; + i64toi32_i32$1 = $191$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $188$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $29_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $30_1 = 0 + } else { + $30_1 = 1 + } + $31_1 = $30_1; + } else { + $31_1 = 0 + } + $29_1 = $31_1; + } + label$7 : { + label$8 : { + if (!($29_1 & 1 | 0)) { + break label$8 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $193$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $194$hi = i64toi32_i32$1; + i64toi32_i32$1 = $193$hi; + i64toi32_i32$1 = $194$hi; + i64toi32_i32$1 = $193$hi; + $35_1 = i64toi32_i32$2; + i64toi32_i32$2 = $194$hi; + i64toi32_i32$2 = __wasm_i64_mul($35_1 | 0, i64toi32_i32$1 | 0, -1024 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $475_1 = i64toi32_i32$2; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $475_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + break label$7; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $196_1 = i64toi32_i32$1; + $196$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $197$hi = i64toi32_i32$2; + i64toi32_i32$2 = $196$hi; + i64toi32_i32$2 = $197$hi; + $484_1 = i64toi32_i32$1; + i64toi32_i32$2 = $196$hi; + i64toi32_i32$1 = $197$hi; + i64toi32_i32$1 = __wasm_i64_mul($196_1 | 0, i64toi32_i32$2 | 0, $484_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $487_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $487_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$2 = 0; + $199$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $201$hi = i64toi32_i32$1; + i64toi32_i32$1 = $199$hi; + i64toi32_i32$1 = $201$hi; + i64toi32_i32$1 = $199$hi; + i64toi32_i32$1 = $201$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $199$hi; + i64toi32_i32$0 = 536870912; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $32_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $33_1 = 0 + } else { + $33_1 = 1 + } + $34_1 = $33_1; + } else { + $34_1 = 0 + } + $32_1 = $34_1; + } + label$9 : { + label$10 : { + if (!($32_1 & 1 | 0)) { + break label$10 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $204_1 = i64toi32_i32$3; + $204$hi = i64toi32_i32$1; + break label$9; + } + i64toi32_i32$1 = 0; + $204_1 = 536870912; + $204$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $204$hi; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $204_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + label$11 : { + label$12 : { + if (!((HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) > (i64toi32_i32$1 | 0) & 1 | 0)) { + break label$12 + } + $125_1 = HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + break label$11; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $125_1 = i64toi32_i32$3; + } + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = $125_1; + label$13 : { + if ((HEAPU8[(0 + 68376 | 0) >> 0] | 0) & 255 | 0) { + break label$13 + } + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $138_1 = $39(i64toi32_i32$3 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = $138_1; + label$14 : { + if ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$14 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 7; + } + } + } + label$15 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) < (13 | 0) & 1 | 0)) { + break label$15 + } + label$16 : { + if ((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$16 + } + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + } + if (((HEAPU8[(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 2 | 0) { + break label$15 + } + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 0] = 3; + } + } + $184_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $184_1 | 0; + } + + function $920() { + return 114624 | 0; + } + + function $921($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $21_1 = 0, $31_1 = 0, $37_1 = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((0 | 0) == ((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$2 + } + $21_1 = 0; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = $21_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $21_1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $988(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$4 + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $998(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$6 + } + $31_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[($31_1 + 1 | 0) >> 0] = (HEAPU8[($31_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 8 | 0; + break label$5; + } + $37_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[($37_1 + 1 | 0) >> 0] = ((HEAPU8[($37_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -9 | 0; + } + break label$3; + } + label$7 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = 1; + HEAP32[$4_1 >> 2] = 0; + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + $54_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $54_1 | 0; + } + + function $922($0_1, $1_1, $2_1, $2$hi, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $50_1 = 0, $526$hi = 0, $527$hi = 0, $530$hi = 0, $531$hi = 0, $536$hi = 0, $537$hi = 0, $540$hi = 0, $541$hi = 0, $544$hi = 0, $545$hi = 0, $548$hi = 0, $549$hi = 0, $29_1 = 0, $51_1 = 0, $52_1 = 0, $53_1 = 0, $534$hi = 0, $535$hi = 0, i64toi32_i32$4 = 0, $48_1 = 0, $94_1 = 0, $156_1 = 0, $54_1 = 0, $55_1 = 0, $56_1 = 0, $57_1 = 0, $58_1 = 0, $59_1 = 0, $222_1 = 0, $224_1 = 0, $303_1 = 0, $373_1 = 0, $60_1 = 0, $61_1 = 0, $388_1 = 0, $422_1 = 0, $526_1 = 0, $612_1 = 0, $530_1 = 0, $634_1 = 0, $671_1 = 0, $540_1 = 0, $704_1 = 0, $544_1 = 0, $972_1 = 0, $548_1 = 0, $1009_1 = 0, $1083_1 = 0, $523_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 96 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 68 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAPU8[(HEAP32[($7_1 + 88 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $526_1 = i64toi32_i32$0; + $526$hi = i64toi32_i32$1; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $527$hi = i64toi32_i32$0; + i64toi32_i32$0 = $526$hi; + i64toi32_i32$0 = $527$hi; + i64toi32_i32$0 = $526$hi; + i64toi32_i32$0 = $527$hi; + $612_1 = i64toi32_i32$1; + i64toi32_i32$0 = $526$hi; + i64toi32_i32$2 = $526_1; + i64toi32_i32$1 = $527$hi; + i64toi32_i32$3 = $612_1; + label$3 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$3 + } + $29_1 = 0; + HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] = $29_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $29_1; + break label$1; + } + i64toi32_i32$3 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $530_1 = i64toi32_i32$2; + $530$hi = i64toi32_i32$0; + i64toi32_i32$3 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $531$hi = i64toi32_i32$2; + i64toi32_i32$2 = $530$hi; + i64toi32_i32$2 = $531$hi; + i64toi32_i32$2 = $530$hi; + i64toi32_i32$2 = $531$hi; + $634_1 = i64toi32_i32$0; + i64toi32_i32$2 = $530$hi; + i64toi32_i32$3 = $530_1; + i64toi32_i32$0 = $531$hi; + i64toi32_i32$1 = $634_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $51_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $52_1 = 0 + } else { + $52_1 = 1 + } + $53_1 = $52_1; + } else { + $53_1 = 0 + } + $51_1 = $53_1; + } + label$4 : { + if (!($51_1 & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$5 + } + HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] = -1; + HEAP32[($7_1 + 92 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$1 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $534$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $535$hi = i64toi32_i32$2; + i64toi32_i32$2 = $534$hi; + i64toi32_i32$2 = $535$hi; + i64toi32_i32$2 = $534$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $535$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $536$hi = i64toi32_i32$5; + i64toi32_i32$2 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $537$hi = i64toi32_i32$1; + i64toi32_i32$1 = $536$hi; + i64toi32_i32$1 = $537$hi; + i64toi32_i32$1 = $536$hi; + i64toi32_i32$1 = $537$hi; + $671_1 = i64toi32_i32$5; + i64toi32_i32$1 = $536$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$5 = $537$hi; + i64toi32_i32$0 = $671_1; + label$6 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$6 + } + $48_1 = 0; + HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] = $48_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $924(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $48_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (HEAP32[($7_1 + 60 | 0) >> 2] | 0) { + break label$8 + } + $823(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $540_1 = i64toi32_i32$2; + $540$hi = i64toi32_i32$1; + i64toi32_i32$0 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $541$hi = i64toi32_i32$2; + i64toi32_i32$2 = $540$hi; + i64toi32_i32$2 = $541$hi; + i64toi32_i32$2 = $540$hi; + i64toi32_i32$2 = $541$hi; + $704_1 = i64toi32_i32$1; + i64toi32_i32$2 = $540$hi; + i64toi32_i32$0 = $540_1; + i64toi32_i32$1 = $541$hi; + i64toi32_i32$5 = $704_1; + label$9 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($7_1 + 92 | 0) >> 2] = 0; + break label$1; + } + break label$7; + } + label$10 : { + label$11 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$10; + } + HEAP32[($7_1 + 92 | 0) >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + break label$1; + } + } + } + } + } + label$12 : { + label$13 : { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $999(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 11 | 0) >> 0] = 0; + break label$12; + } + HEAP32[($7_1 + 56 | 0) >> 2] = 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $988(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!(HEAP32[($7_1 + 60 | 0) >> 2] | 0)) { + break label$14 + } + label$15 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] = -1; + HEAP32[($7_1 + 92 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 92 | 0) >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + break label$1; + } + label$16 : { + label$17 : while (1) { + $94_1 = 0; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = $94_1; + HEAP32[($7_1 + 48 | 0) >> 2] = ((HEAPU16[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) >> (1 - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0) | 0; + HEAP16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 70 | 0) >> 1] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + label$18 : { + label$19 : { + label$20 : { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) == ($94_1 | 0) & 1 | 0)) { + break label$20 + } + label$21 : while (1) { + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 44 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 44 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + label$22 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + label$24 : while (1) { + $156_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $156_1 + 1 | 0; + if (!((128 | 0) <= ((HEAPU8[$156_1 >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$23 + } + label$25 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$25 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(70248 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + continue label$24; + }; + } + } + $769(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, $7_1 + 16 | 0 | 0) | 0; + i64toi32_i32$5 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $544_1 = i64toi32_i32$0; + $544$hi = i64toi32_i32$2; + i64toi32_i32$5 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $545$hi = i64toi32_i32$0; + i64toi32_i32$0 = $544$hi; + i64toi32_i32$0 = $545$hi; + i64toi32_i32$0 = $544$hi; + i64toi32_i32$0 = $545$hi; + $972_1 = i64toi32_i32$2; + i64toi32_i32$0 = $544$hi; + i64toi32_i32$5 = $544_1; + i64toi32_i32$2 = $545$hi; + i64toi32_i32$1 = $972_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$2 | 0)) { + $54_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$1 >>> 0) { + $55_1 = 0 + } else { + $55_1 = 1 + } + $56_1 = $55_1; + } else { + $56_1 = 0 + } + $54_1 = $56_1; + } + label$26 : { + label$27 : { + label$28 : { + if (!($54_1 & 1 | 0)) { + break label$28 + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 1 | 0; + label$29 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($7_1 + 40 | 0) >> 2] = -1; + break label$26; + } + break label$27; + } + i64toi32_i32$1 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $548_1 = i64toi32_i32$5; + $548$hi = i64toi32_i32$0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $549$hi = i64toi32_i32$5; + i64toi32_i32$5 = $548$hi; + i64toi32_i32$5 = $549$hi; + i64toi32_i32$5 = $548$hi; + i64toi32_i32$5 = $549$hi; + $1009_1 = i64toi32_i32$0; + i64toi32_i32$5 = $548$hi; + i64toi32_i32$1 = $548_1; + i64toi32_i32$0 = $549$hi; + i64toi32_i32$2 = $1009_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$0 | 0)) { + $57_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$2 >>> 0) { + $58_1 = 0 + } else { + $58_1 = 1 + } + $59_1 = $58_1; + } else { + $59_1 = 0 + } + $57_1 = $59_1; + } + label$30 : { + label$31 : { + if (!($57_1 & 1 | 0)) { + break label$31 + } + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) - 1 | 0; + label$32 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($7_1 + 40 | 0) >> 2] = 1; + break label$26; + } + break label$30; + } + HEAP16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 70 | 0) >> 1] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + label$33 : { + if (((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$33 + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + break label$18; + } + $222_1 = 0; + $224_1 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + HEAP8[($224_1 + 1 | 0) >> 0] = (HEAPU8[($224_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 2 | 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $1083_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1083_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$5; + HEAP16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 50 | 0) >> 1] = 0; + HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] = $222_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $222_1; + break label$1; + } + } + HEAP32[($7_1 + 44 | 0) >> 2] = ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) >> 1 | 0; + continue label$21; + } + break label$21; + }; + break label$19; + } + label$34 : while (1) { + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 44 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 44 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAPU8[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$35 : { + label$36 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) <= ((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$36 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 12 | 0) >> 2] | 0, (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + break label$35; + } + label$37 : { + label$38 : { + if (((HEAPU8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 128 | 0) { + break label$38 + } + $303_1 = (((HEAP32[($7_1 + 12 | 0) >> 2] | 0) & 127 | 0) << 7 | 0) + ((HEAPU8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = $303_1; + if (!(($303_1 | 0) <= ((HEAPU16[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$38 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 12 | 0) >> 2] | 0, (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 2 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + break label$37; + } + HEAP32[($7_1 + 4 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + (0 - ((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0) | 0; + HEAP32[$7_1 >> 2] = 18; + FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 32 | 0) >> 2] | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0, (HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 32 | 0); + i64toi32_i32$2 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$5; + label$39 : { + label$40 : { + if ((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0) { + break label$40 + } + if (!((((HEAP32[($7_1 + 12 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 0) | 0) >>> 0 > (HEAP32[((HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$39 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(70323 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$16; + } + i64toi32_i32$5 = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 18 | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $39(i64toi32_i32$5 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$41 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$41 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 7; + break label$16; + } + $373_1 = 0; + HEAP16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 70 | 0) >> 1] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $388(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $373_1 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, $373_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + $50_1 = 0; + HEAP8[i64toi32_i32$5 >> 0] = $50_1; + HEAP8[(i64toi32_i32$5 + 1 | 0) >> 0] = $50_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$5 + 2 | 0) >> 0] = $50_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$5 + 3 | 0) >> 0] = $50_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$5 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$5 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$5 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$5 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $60_1 = i64toi32_i32$5 + 16 | 0; + $61_1 = 0; + HEAP8[$60_1 >> 0] = $61_1; + HEAP8[($60_1 + 1 | 0) >> 0] = $61_1 >>> 8 | 0; + i64toi32_i32$5 = i64toi32_i32$5 + 8 | 0; + HEAP8[i64toi32_i32$5 >> 0] = $50_1; + HEAP8[(i64toi32_i32$5 + 1 | 0) >> 0] = $50_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$5 + 2 | 0) >> 0] = $50_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$5 + 3 | 0) >> 0] = $50_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$5 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$5 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$5 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$5 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $388_1 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + HEAP8[($388_1 + 1 | 0) >> 0] = ((HEAPU8[($388_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -5 | 0; + label$42 : { + if (!(HEAP32[($7_1 + 60 | 0) >> 2] | 0)) { + break label$42 + } + $42(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0); + break label$16; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1000(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0); + } + } + label$43 : { + label$44 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$44 + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 1 | 0; + break label$43; + } + label$45 : { + label$46 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$46 + } + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) - 1 | 0; + break label$45; + } + $422_1 = 0; + HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] = $422_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $422_1; + HEAP16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 70 | 0) >> 1] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + label$47 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$47 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(70355 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + } + break label$16; + } + } + label$48 : { + label$49 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$49 + } + break label$48; + } + HEAP32[($7_1 + 44 | 0) >> 2] = ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) >> 1 | 0; + continue label$34; + } + break label$34; + }; + } + label$50 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$50 + } + HEAP16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 70 | 0) >> 1] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$16; + } + } + label$51 : { + label$52 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) >= ((HEAPU16[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$52 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$51; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + HEAP16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 70 | 0) >> 1] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $990(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$53 : { + label$54 : { + if (!(HEAP32[($7_1 + 60 | 0) >> 2] | 0)) { + break label$54 + } + break label$53; + } + continue label$17; + } + break label$17; + }; + } + HEAP16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 50 | 0) >> 1] = 0; + HEAP32[($7_1 + 92 | 0) >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + } + $523_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + global$0 = $7_1 + 96 | 0; + return $523_1 | 0; + } + + function $923($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) & (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function $924($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, $21_1 = 0, $24_1 = 0, $36_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 50 | 0) >> 1] = 0; + $7_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[($7_1 + 1 | 0) >> 0] = ((HEAPU8[($7_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -7 | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1001(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + $21_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $24_1 = (HEAPU16[($21_1 + 70 | 0) >> 1] | 0) + 1 | 0; + HEAP16[($21_1 + 70 | 0) >> 1] = $24_1; + label$3 : { + if (!(($24_1 & 65535 | 0 | 0) >= ((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$3 + } + $36_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP16[($36_1 + 70 | 0) >> 1] = (HEAPU16[($36_1 + 70 | 0) >> 1] | 0) + -1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1001(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1002(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $55_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $55_1 | 0; + } + + function $925($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $29_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + $6_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[($6_1 + 1 | 0) >> 0] = ((HEAPU8[($6_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -15 | 0; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 50 | 0) >> 1] = 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if (!((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0)) { + break label$3 + } + if ((HEAPU8[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1003(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $29_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP16[($29_1 + 70 | 0) >> 1] = (HEAPU16[($29_1 + 70 | 0) >> 1] | 0) + -1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $33_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $33_1 | 0; + } + + function $926($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (0 | 0) != ((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0 | 0; + } + + function $927($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return ((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0) & 1 | 0 | 0; + } + + function $928($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $42$hi = 0, $47$hi = 0, $42_1 = 0, $45$hi = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $49$hi = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $32_1 = 0, $37_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + i64toi32_i32$0 = 0; + $42_1 = 0; + $42$hi = i64toi32_i32$0; + HEAP32[($6_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $3_1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $42_1; + HEAP32[($6_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $821(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 52 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $45$hi = i64toi32_i32$1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$3 = $42_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $17_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $18_1 = 0 + } else { + $18_1 = 1 + } + $19_1 = $18_1; + } else { + $19_1 = 0 + } + $17_1 = $19_1; + } + label$1 : { + label$2 : { + label$3 : { + if ($17_1 & 1 | 0) { + break label$3 + } + i64toi32_i32$2 = 0; + $47$hi = i64toi32_i32$2; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $49$hi = i64toi32_i32$1; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $47$hi; + i64toi32_i32$0 = 2147483647; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $20_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $21_1 = 0 + } else { + $21_1 = 1 + } + $22_1 = $21_1; + } else { + $22_1 = 0 + } + $20_1 = $22_1; + } + if (!($20_1 & 1 | 0)) { + break label$2 + } + } + HEAP32[(HEAP32[($6_1 + 60 | 0) >> 2] | 0) >> 2] = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(82987 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $943($6_1 | 0, HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, 0 & 65535 | 0 | 0); + i64toi32_i32$0 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $903(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($6_1 + 44 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + break label$1; + } + $32_1 = 0; + $37_1 = $944(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, $32_1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 60 | 0) >> 2] | 0) >> 2] = $37_1; + $227($6_1 | 0); + HEAP32[($6_1 + 76 | 0) >> 2] = $32_1; + } + $39_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $39_1 | 0; + } + + function $929($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[$3_1 >> 2] = Math_imul(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0, 40) + 16 | 0; + i64toi32_i32$1 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $64(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0; + HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + $41_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $41_1 | 0; + } + + function $930($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $27_1 = 0, $48_1 = 0, $76_1 = 0, $98_1 = 0, $113_1 = 0, $105_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 10 | 0) >> 0] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAPU8[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $27_1 = 1; + break label$1; + } + $27_1 = ($902(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0) | 0) & 255 | 0; + } + HEAP32[($6_1 + 20 | 0) >> 2] = $27_1 & 255 | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP16[($6_1 + 18 | 0) >> 1] = 0; + label$3 : while (1) { + $48_1 = 0; + label$4 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + $48_1 = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0; + } + label$5 : { + if (!($48_1 & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + $76_1 = 1; + break label$6; + } + $76_1 = ($902((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0 | 0, $6_1 + 4 | 0 | 0) | 0) & 255 | 0; + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ($76_1 & 255 | 0) | 0; + HEAP8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $98_1 = 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = $98_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = $98_1; + $105_1 = $905((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $105_1 | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 40 | 0; + $113_1 = (HEAPU16[($6_1 + 18 | 0) >> 1] | 0) + 1 | 0; + HEAP16[($6_1 + 18 | 0) >> 1] = $113_1; + label$8 : { + if (!(($113_1 & 65535 | 0 | 0) >= ((HEAPU16[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$5; + } + continue label$3; + } + break label$3; + }; + label$9 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0) >>> 0 > (HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$9 + } + if (!((HEAPU16[($6_1 + 18 | 0) >> 1] | 0) & 65535 | 0)) { + break label$9 + } + $262((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + -40 | 0 | 0); + } + HEAP16[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($6_1 + 18 | 0) >> 1] | 0; + global$0 = $6_1 + 48 | 0; + return; + } + + function $931($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, $118_1 = 0, $29_1 = 0, $30_1 = 0, $31_1 = 0, $448$hi = 0, $449$hi = 0, $455$hi = 0, $456$hi = 0, $8_1 = 0, $82_1 = 0, $260_1 = 0, $363_1 = 0, $366_1 = 0, $369_1 = 0, $377_1 = 0, $397_1 = 0, $448_1 = 0, $604_1 = 0, $455_1 = 0, $833_1 = 0, $423_1 = 0, $1451_1 = 0, $444_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 144 | 0; + global$0 = $6_1; + $8_1 = 0; + HEAP32[($6_1 + 136 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 132 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 128 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 124 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 116 | 0) >> 2] = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + HEAP32[($6_1 + 112 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 88 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 136 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 32 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $198(HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($6_1 + 120 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + break label$1; + } + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$2 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $995(HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, 0 | 0); + label$7 : { + label$8 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$8 + } + i64toi32_i32$2 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $448_1 = i64toi32_i32$1; + $448$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $449$hi = i64toi32_i32$1; + i64toi32_i32$1 = $448$hi; + i64toi32_i32$1 = $449$hi; + i64toi32_i32$1 = $448$hi; + i64toi32_i32$1 = $449$hi; + $604_1 = i64toi32_i32$0; + i64toi32_i32$1 = $448$hi; + i64toi32_i32$2 = $448_1; + i64toi32_i32$0 = $449$hi; + i64toi32_i32$3 = $604_1; + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!((HEAPU16[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0)) { + break label$9 + } + if (!((HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1004(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + break label$7; + } + label$10 : { + if (HEAP32[($6_1 + 116 | 0) >> 2] | 0) { + break label$10 + } + $82_1 = 0; + i64toi32_i32$3 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $922(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $82_1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0, (HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) != ($82_1 | 0) & 1 | 0 | 0, $6_1 + 116 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($6_1 + 120 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + break label$1; + } + } + } + break label$5; + } + label$12 : { + if (HEAP32[($6_1 + 116 | 0) >> 2] | 0) { + break label$12 + } + if ((HEAP32[($6_1 + 128 | 0) >> 2] | 0) & 2 | 0) { + break label$12 + } + label$13 : { + label$14 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$14 + } + i64toi32_i32$1 = 0; + $118_1 = 0; + HEAP32[($6_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP16[($6_1 + 80 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0; + HEAP8[($6_1 + 82 | 0) >> 0] = $118_1; + HEAP8[($6_1 + 83 | 0) >> 0] = $118_1; + HEAP8[($6_1 + 84 | 0) >> 0] = $118_1; + HEAP8[($6_1 + 85 | 0) >> 0] = $118_1; + HEAP8[($6_1 + 86 | 0) >> 0] = $118_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $922(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $6_1 + 72 | 0 | 0, 0 | 0, i64toi32_i32$1 | 0, (HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0, $6_1 + 116 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + break label$13; + } + i64toi32_i32$3 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1005(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 132 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, (HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0, $6_1 + 116 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + } + label$15 : { + if (!(HEAP32[($6_1 + 120 | 0) >> 2] | 0)) { + break label$15 + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + break label$1; + } + } + label$16 : { + if (HEAP32[($6_1 + 116 | 0) >> 2] | 0) { + break label$16 + } + $823(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0); + i64toi32_i32$3 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $455_1 = i64toi32_i32$2; + $455$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $456$hi = i64toi32_i32$2; + i64toi32_i32$2 = $455$hi; + i64toi32_i32$2 = $456$hi; + i64toi32_i32$2 = $455$hi; + i64toi32_i32$2 = $456$hi; + $833_1 = i64toi32_i32$1; + i64toi32_i32$2 = $455$hi; + i64toi32_i32$3 = $455_1; + i64toi32_i32$1 = $456$hi; + i64toi32_i32$0 = $833_1; + label$17 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 132 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($6_1 + 64 | 0) >> 2] = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1004(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + } + HEAP32[($6_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$18 : { + if (!((HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$18 + } + label$19 : { + label$20 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 136 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(73514 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + break label$19; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1006(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + } + label$21 : { + if (!(HEAP32[($6_1 + 120 | 0) >> 2] | 0)) { + break label$21 + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($6_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1007(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, $6_1 + 112 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + label$23 : { + if (!(HEAP32[($6_1 + 120 | 0) >> 2] | 0)) { + break label$23 + } + break label$22; + } + HEAP32[($6_1 + 108 | 0) >> 2] = (HEAPU16[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0; + label$24 : { + label$25 : { + if (HEAP32[($6_1 + 116 | 0) >> 2] | 0) { + break label$25 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (!(HEAP32[($6_1 + 120 | 0) >> 2] | 0)) { + break label$26 + } + break label$22; + } + HEAP32[($6_1 + 92 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 108 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 108 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + label$27 : { + if (((HEAPU8[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$27 + } + $29_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $30_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + $31_1 = HEAPU8[$29_1 >> 0] | 0 | ((HEAPU8[($29_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($29_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($29_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$30_1 >> 0] = $31_1; + HEAP8[($30_1 + 1 | 0) >> 0] = $31_1 >>> 8 | 0; + HEAP8[($30_1 + 2 | 0) >> 0] = $31_1 >>> 16 | 0; + HEAP8[($30_1 + 3 | 0) >> 0] = $31_1 >>> 24 | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1008(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + $260_1 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP8[($260_1 + 1 | 0) >> 0] = ((HEAPU8[($260_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -5 | 0; + label$28 : { + if (!(((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) & 65535 | 0 | 0) == (HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + if (!(((HEAPU16[($6_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) == (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + label$29 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$29 + } + if (!((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$28 + } + } + label$30 : { + if (!((HEAP32[($6_1 + 92 | 0) >> 2] | 0) >>> 0 < (((HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) | 0) + 10 | 0) >>> 0 & 1 | 0)) { + break label$30 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(73560 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$31 : { + if (!(((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 112 | 0) >> 2] | 0) | 0) >>> 0 > (HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$31 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(73563 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $3288(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 140 | 0) >> 2] = 0; + break label$1; + } + $1009(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, (HEAPU16[($6_1 + 26 | 0) >> 1] | 0) & 65535 | 0 | 0, $6_1 + 120 | 0 | 0); + label$32 : { + if (!(HEAP32[($6_1 + 120 | 0) >> 2] | 0)) { + break label$32 + } + break label$22; + } + break label$24; + } + label$33 : { + label$34 : { + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$34 + } + if (!(((HEAPU16[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$34 + } + $363_1 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + $366_1 = (HEAPU16[($363_1 + 70 | 0) >> 1] | 0) + 1 | 0; + HEAP16[($363_1 + 70 | 0) >> 1] = $366_1; + HEAP32[($6_1 + 108 | 0) >> 2] = $366_1 & 65535 | 0; + $369_1 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP8[($369_1 + 1 | 0) >> 0] = ((HEAPU8[($369_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -3 | 0; + break label$33; + } + } + } + $377_1 = 0; + $1010(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, $377_1 | 0, $377_1 | 0, $6_1 + 120 | 0 | 0); + HEAP16[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 50 | 0) >> 1] = 0; + label$35 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$35 + } + $397_1 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP8[($397_1 + 1 | 0) >> 0] = ((HEAPU8[($397_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -3 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1011(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 12 | 0) >> 0] = 0; + HEAP8[(HEAP32[($6_1 + 136 | 0) >> 2] | 0) >> 0] = 1; + label$36 : { + if (!((HEAP32[($6_1 + 128 | 0) >> 2] | 0) & 2 | 0)) { + break label$36 + } + if (HEAP32[($6_1 + 120 | 0) >> 2] | 0) { + break label$36 + } + $817(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0); + label$37 : { + if (!((HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$37 + } + i64toi32_i32$0 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $423_1 = $39(i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 2] = $423_1; + label$38 : { + label$39 : { + if (!((HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$39 + } + HEAP32[($6_1 + 120 | 0) >> 2] = 7; + break label$38; + } + i64toi32_i32$0 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $3288(HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 132 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0) | 0; + } + } + HEAP8[(HEAP32[($6_1 + 136 | 0) >> 2] | 0) >> 0] = 3; + i64toi32_i32$0 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $1451_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] = $1451_1; + HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] = i64toi32_i32$3; + } + } + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + } + $444_1 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + global$0 = $6_1 + 144 | 0; + return $444_1 | 0; + } + + function $932($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $369_1 = 0, $32_1 = 0, i64toi32_i32$2 = 0, $224_1 = 0, $343_1 = 0, $354_1 = 0, $360_1 = 0, $372_1 = 0, $375_1 = 0, $387_1 = 0, i64toi32_i32$1 = 0, $445_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 96 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 88 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 87 | 0) >> 0] = $1_1; + HEAP32[($4_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + HEAP8[($4_1 + 27 | 0) >> 0] = ((HEAPU8[($4_1 + 87 | 0) >> 0] | 0) & 255 | 0) & 2 | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $392(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + break label$1; + } + } + $32_1 = 24; + HEAP32[($4_1 + 56 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 60 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 60 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + if (!($1006(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + HEAP32[($4_1 + 92 | 0) >> 2] = 11; + break label$1; + } + label$5 : { + if (!(((HEAPU8[($4_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + label$8 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + if ((((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (($763(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) | 0) & 65535 | 0) | 0) + 2 | 0 | 0) > ((((HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) << 1 | 0) >>> 0) / (3 >>> 0) | 0 | 0) & 1 | 0) { + break label$8 + } + if (!(((HEAPU16[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $818(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + break label$1; + } + break label$6; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + } + label$10 : { + if (((HEAPU8[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$10 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $925(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + break label$1; + } + } + label$12 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 32 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $198(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + break label$1; + } + } + label$14 : { + if (!((HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + i64toi32_i32$2 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $995(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, 0 | 0); + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$15 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1008(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, $4_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + $1009(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, (HEAPU16[($4_1 + 50 | 0) >> 1] | 0) & 65535 | 0 | 0, $4_1 + 72 | 0 | 0); + label$16 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$16 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + break label$1; + } + label$17 : { + if (((HEAPU8[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$17 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$18 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1006(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$19 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + break label$1; + } + } + $224_1 = 24; + label$20 : { + label$21 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) < ((((HEAPU8[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $224_1 | 0) >> $224_1 | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[(((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 120 | 0) + (((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$20; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + label$22 : { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0) >>> 0 < ((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 4 | 0) >>> 0 & 1 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(73761 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 20 | 0) >> 2] | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (HEAP32[($4_1 + 72 | 0) >> 2] | 0) { + break label$23 + } + $1010(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + -4 | 0 | 0, (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $4_1 + 72 | 0 | 0); + } + $1009(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, $4_1 + 72 | 0 | 0); + label$24 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$24 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + break label$1; + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1011(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + if (HEAP32[($4_1 + 72 | 0) >> 2] | 0) { + break label$25 + } + $343_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $343_1 | 0) >> $343_1 | 0 | 0) > (HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + $819(HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0); + $354_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP8[($354_1 + 68 | 0) >> 0] = (HEAPU8[($354_1 + 68 | 0) >> 0] | 0) + -1 | 0; + label$26 : { + label$27 : while (1) { + $360_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $360_1 | 0) >> $360_1 | 0 | 0) > (HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + $369_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + $372_1 = HEAPU8[($369_1 + 68 | 0) >> 0] | 0; + HEAP8[($369_1 + 68 | 0) >> 0] = $372_1 + -1 | 0; + $375_1 = 24; + $814(HEAP32[(($369_1 + 120 | 0) + ((($372_1 << $375_1 | 0) >> $375_1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + continue label$27; + }; + } + $387_1 = 24; + HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 116 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 120 | 0) + ((((HEAPU8[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $387_1 | 0) >> $387_1 | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1011(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + } + label$28 : { + if (HEAP32[($4_1 + 72 | 0) >> 2] | 0) { + break label$28 + } + label$29 : { + label$30 : { + if (!(HEAP32[($4_1 + 28 | 0) >> 2] | 0)) { + break label$30 + } + HEAP8[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 0] = 2; + label$31 : { + label$32 : { + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) >= ((HEAPU16[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] = -1; + HEAP16[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 70 | 0) >> 1] = ((HEAPU16[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + break label$31; + } + HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + } + break label$29; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $988(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$33 : { + if (!(((HEAPU8[($4_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$33 + } + $817(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0); + HEAP8[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 0] = 3; + } + label$34 : { + if (!((HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$34 + } + HEAP32[($4_1 + 72 | 0) >> 2] = 0; + } + } + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + } + $445_1 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + global$0 = $4_1 + 96 | 0; + return $445_1 | 0; + } + + function $933($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $22_1 = 0, $73_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $22_1 = $929(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] = $22_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $22_1; + label$3 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 7; + break label$1; + } + HEAP16[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1012(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $6_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $930(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 12 | 0) >> 2] | 0, 40) | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = -1; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $73_1 = $1000(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = $73_1; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $75_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $75_1 | 0; + } + + function $934($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1012(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!($265(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 16 | 0; + $3288(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $32_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $32_1 | 0; + } + + function $935($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!($982(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $983(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $10_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $10_1 | 0; + } + + function $936($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $988(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1002(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = 1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + } + } + $22_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $22_1 | 0; + } + + function $937($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $3_1 = 0, i64toi32_i32$4 = 0, $59$hi = 0, $63$hi = 0, $67$hi = 0, $74$hi = 0, $81$hi = 0, $61$hi = 0, $65$hi = 0, $69$hi = 0, $16_1 = 0, $71$hi = 0, $72$hi = 0, $32_1 = 0, $76$hi = 0, $25_1 = 0, $78$hi = 0, $79$hi = 0, $33_1 = 0, $83$hi = 0, $34_1 = 0, $85$hi = 0, $86$hi = 0, $35_1 = 0, $88$hi = 0, $89$hi = 0, $45_1 = 0, $49_1 = 0, $56_1 = 0; + $3_1 = global$0 - 32 | 0; + i64toi32_i32$0 = 0; + $59$hi = i64toi32_i32$0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP16[(i64toi32_i32$1 + 14 | 0) >> 1] = 40; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $61$hi = i64toi32_i32$1; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $59$hi; + i64toi32_i32$3 = 8; + label$1 : { + label$2 : { + label$3 : { + if (!((i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = 0; + $63$hi = i64toi32_i32$2; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $65$hi = i64toi32_i32$1; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$0 = 2; + label$4 : { + if (!((i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP16[($3_1 + 30 | 0) >> 1] = 0; + break label$1; + } + label$5 : { + label$6 : while (1) { + i64toi32_i32$3 = 0; + $67$hi = i64toi32_i32$3; + i64toi32_i32$0 = $3_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $69$hi = i64toi32_i32$1; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$1 = $69$hi; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$1 = $69$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $67$hi; + i64toi32_i32$2 = 8; + if (!((i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + $16_1 = 16; + HEAP16[($3_1 + 14 | 0) >> 1] = (((HEAPU16[($3_1 + 14 | 0) >> 1] | 0) << $16_1 | 0) >> $16_1 | 0) - 10 | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $71$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $32_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $32_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + i64toi32_i32$2 = $3_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = $32_1; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$0; + continue label$6; + }; + } + break label$2; + } + label$7 : { + label$8 : while (1) { + i64toi32_i32$0 = 0; + $74$hi = i64toi32_i32$0; + i64toi32_i32$1 = $3_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $76$hi = i64toi32_i32$2; + i64toi32_i32$2 = $74$hi; + i64toi32_i32$2 = $76$hi; + i64toi32_i32$2 = $74$hi; + i64toi32_i32$2 = $76$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $74$hi; + i64toi32_i32$3 = 255; + if (!((i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$7 + } + $25_1 = 16; + HEAP16[($3_1 + 14 | 0) >> 1] = (((HEAPU16[($3_1 + 14 | 0) >> 1] | 0) << $25_1 | 0) >> $25_1 | 0) + 40 | 0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $79$hi = i64toi32_i32$2; + i64toi32_i32$2 = $78$hi; + i64toi32_i32$2 = $79$hi; + i64toi32_i32$2 = $78$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$0 = 4; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $33_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $33_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$3 = $3_1; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = $33_1; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$1; + continue label$8; + }; + } + label$9 : { + label$10 : while (1) { + i64toi32_i32$1 = 0; + $81$hi = i64toi32_i32$1; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $83$hi = i64toi32_i32$3; + i64toi32_i32$3 = $81$hi; + i64toi32_i32$3 = $83$hi; + i64toi32_i32$3 = $81$hi; + i64toi32_i32$3 = $83$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$0 = 15; + if (!((i64toi32_i32$3 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { + break label$9 + } + $34_1 = 16; + HEAP16[($3_1 + 14 | 0) >> 1] = (((HEAPU16[($3_1 + 14 | 0) >> 1] | 0) << $34_1 | 0) >> $34_1 | 0) + 10 | 0; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $85$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $86$hi = i64toi32_i32$3; + i64toi32_i32$3 = $85$hi; + i64toi32_i32$3 = $86$hi; + i64toi32_i32$3 = $85$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $86$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $35_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + $35_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$0 = $3_1; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $35_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$2; + continue label$10; + }; + } + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $88$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $89$hi = i64toi32_i32$0; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $89$hi; + i64toi32_i32$1 = 7; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $45_1 = 16; + $49_1 = 16; + HEAP16[($3_1 + 30 | 0) >> 1] = ((((HEAPU16[(69408 + ((i64toi32_i32$3 & i64toi32_i32$1 | 0) << 1 | 0) | 0) >> 1] | 0) << $45_1 | 0) >> $45_1 | 0) + (((HEAPU16[($3_1 + 14 | 0) >> 1] | 0) << $49_1 | 0) >> $49_1 | 0) | 0) - 10 | 0; + } + $56_1 = 16; + return ((HEAPU16[($3_1 + 30 | 0) >> 1] | 0) << $56_1 | 0) >> $56_1 | 0 | 0; + } + + function $938($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1013((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 64 | 0 | 0, (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1014(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$5 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1015(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + $41_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $41_1 | 0; + } + + function $939($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $27_1 = 0, $43_1 = 0, $53_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1016(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $4_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$3 + } + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 101; + } + break label$1; + } + $27_1 = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = $27_1; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == ($27_1 | 0) & 1 | 0)) { + break label$4 + } + $866(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + $43_1 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != ($43_1 | 0) & 1 | 0 ? $43_1 : 101; + } + $53_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $53_1 | 0; + } + + function $940($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $305$hi = 0, $306$hi = 0, $312$hi = 0, $313$hi = 0, $317$hi = 0, $318$hi = 0, $48_1 = 0, $64_1 = 0, $96_1 = 0, $119_1 = 0, $130_1 = 0, $141_1 = 0, $147_1 = 0, $302$hi = 0, $303$hi = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $309$hi = 0, $310$hi = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $255_1 = 0, $180_1 = 0, $181_1 = 0, $305_1 = 0, $736_1 = 0, $312_1 = 0, $762_1 = 0, $777_1 = 0, $317_1 = 0, $788_1 = 0, $801_1 = 0, $298_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAPU8[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + label$1 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) >= (128 | 0) & 1 | 0)) { + break label$1 + } + $902((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 1 | 0 | 0, $4_1 + 24 | 0 | 0) | 0; + } + label$2 : { + label$3 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < (10 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (7 | 0) & 1 | 0)) { + break label$3 + } + $48_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP8[($48_1 + 60 | 0) >> 0] = ((HEAPU8[($48_1 + 60 | 0) >> 0] | 0) & 255 | 0) & 1 | 0; + break label$2; + } + label$4 : { + label$5 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) > (10 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 1 | 0)) { + break label$5 + } + $64_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP8[($64_1 + 60 | 0) >> 0] = ((HEAPU8[($64_1 + 60 | 0) >> 0] | 0) & 255 | 0) & 2 | 0; + break label$4; + } + HEAP8[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 60 | 0) >> 0] = 0; + } + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ($907(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $96_1 = 0; + label$9 : { + if (!(HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0)) { + break label$9 + } + $96_1 = ((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 36 | 0) >> 2] = $96_1 & 1 | 0; + break label$7; + } + $119_1 = 1; + label$10 : { + if ((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$10 + } + $130_1 = 0; + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) > (HEAP32[(HEAP32[($4_1 + 48 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $130_1 = ($1017() | 0 | 0) != (0 | 0); + } + $119_1 = $130_1; + } + HEAP32[($4_1 + 36 | 0) >> 2] = $119_1 & 1 | 0; + } + label$12 : { + if (!(HEAP32[($4_1 + 36 | 0) >> 2] | 0)) { + break label$12 + } + $141_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1014(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] = $141_1; + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 48 | 0) >> 2] = $141_1; + } + } + $147_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP32[($147_1 + 44 | 0) >> 2] = (HEAP32[($147_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0; + label$13 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + label$14 : { + label$15 : { + label$16 : { + if (!((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0; + label$17 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + $180_1 = 0; + $181_1 = -1; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $302$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $303$hi = i64toi32_i32$0; + i64toi32_i32$0 = $302$hi; + i64toi32_i32$0 = $303$hi; + i64toi32_i32$0 = $302$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $303$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $37_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $37_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $37_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 4 | 0) >> 2] = $181_1; + label$18 : { + if (!((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != ($180_1 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + } + label$19 : { + label$20 : while (1) { + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $305_1 = i64toi32_i32$1; + $305$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $306$hi = i64toi32_i32$2; + i64toi32_i32$2 = $305$hi; + i64toi32_i32$2 = $306$hi; + i64toi32_i32$2 = $305$hi; + i64toi32_i32$2 = $306$hi; + $736_1 = i64toi32_i32$1; + i64toi32_i32$2 = $305$hi; + i64toi32_i32$0 = $305_1; + i64toi32_i32$1 = $306$hi; + i64toi32_i32$3 = $736_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $38_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$3 >>> 0) { + $39_1 = 0 + } else { + $39_1 = 1 + } + $40_1 = $39_1; + } else { + $40_1 = 0 + } + $38_1 = $40_1; + } + if (!($38_1 & 1 | 0)) { + break label$19 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $309$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $310$hi = i64toi32_i32$2; + i64toi32_i32$2 = $309$hi; + i64toi32_i32$2 = $310$hi; + i64toi32_i32$2 = $309$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $310$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + $41_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $41_1 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + } + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $41_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + continue label$20; + }; + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $312_1 = i64toi32_i32$0; + $312$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$0 >> 31 | 0; + $313$hi = i64toi32_i32$3; + i64toi32_i32$3 = $312$hi; + i64toi32_i32$3 = $313$hi; + i64toi32_i32$3 = $312$hi; + i64toi32_i32$3 = $313$hi; + $762_1 = i64toi32_i32$0; + i64toi32_i32$3 = $312$hi; + i64toi32_i32$2 = $312_1; + i64toi32_i32$0 = $313$hi; + i64toi32_i32$1 = $762_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$0 | 0)) { + $42_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$1 >>> 0) { + $43_1 = 0 + } else { + $43_1 = 1 + } + $44_1 = $43_1; + } else { + $44_1 = 0 + } + $42_1 = $44_1; + } + label$21 : { + if (!($42_1 & 1 | 0)) { + break label$21 + } + i64toi32_i32$3 = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; + $777_1 = i64toi32_i32$3; + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $777_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $317_1 = i64toi32_i32$2; + $317$hi = i64toi32_i32$3; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + $318$hi = i64toi32_i32$3; + i64toi32_i32$3 = $317$hi; + i64toi32_i32$3 = $318$hi; + i64toi32_i32$3 = $317$hi; + i64toi32_i32$3 = $318$hi; + $788_1 = i64toi32_i32$2; + i64toi32_i32$3 = $317$hi; + i64toi32_i32$1 = $317_1; + i64toi32_i32$2 = $318$hi; + i64toi32_i32$0 = $788_1; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$2 | 0)) { + $45_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$0 >>> 0) { + $46_1 = 0 + } else { + $46_1 = 1 + } + $47_1 = $46_1; + } else { + $47_1 = 0 + } + $45_1 = $47_1; + } + label$22 : { + if (!($45_1 & 1 | 0)) { + break label$22 + } + i64toi32_i32$3 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $801_1 = i64toi32_i32$3; + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $801_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $45(HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$23 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 7; + break label$14; + } + label$24 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0; + } + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 52 | 0) >> 2] = i64toi32_i32$3; + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) | 0; + $255_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP32[($255_1 + 48 | 0) >> 2] = (HEAP32[($255_1 + 48 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 7 | 0) & -8 | 0) | 0; + label$25 : { + if (!((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + } + break label$15; + } + i64toi32_i32$3 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $39(i64toi32_i32$3 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 7; + break label$14; + } + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + } + $3288((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + } + $298_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $298_1 | 0; + } + + function $941($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8_1 = 0, $381_1 = 0, $126_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 128 | 0; + global$0 = $5_1; + $8_1 = $5_1 + 48 | 0; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $2_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 104 | 0) >> 2] = 0; + HEAP32[($5_1 + 108 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $821(HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 108 | 0) >> 2] = i64toi32_i32$0; + $943($8_1 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, 0 & 65535 | 0 | 0); + i64toi32_i32$0 = HEAP32[($5_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $903(HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, $8_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($5_1 + 100 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 124 | 0) >> 2] = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 96 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$3 : { + if (!((HEAP32[($5_1 + 96 | 0) >> 2] | 0) >>> 0 >= 128 >>> 0 & 1 | 0)) { + break label$3 + } + $902(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, $5_1 + 96 | 0 | 0) | 0; + } + label$4 : { + label$5 : { + label$6 : { + if ((HEAP32[($5_1 + 96 | 0) >> 2] | 0) >>> 0 < 3 >>> 0 & 1 | 0) { + break label$6 + } + if (!((HEAP32[($5_1 + 96 | 0) >> 2] | 0) >>> 0 > (HEAP32[($5_1 + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + } + break label$4; + } + HEAP32[($5_1 + 92 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 96 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0; + label$7 : { + if (!((HEAP32[($5_1 + 92 | 0) >> 2] | 0) >>> 0 >= 128 >>> 0 & 1 | 0)) { + break label$7 + } + $902((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 96 | 0) >> 2] | 0) - 1 | 0) | 0 | 0, $5_1 + 92 | 0 | 0) | 0; + } + label$8 : { + label$9 : { + if ((HEAP32[($5_1 + 92 | 0) >> 2] | 0) >>> 0 < 1 >>> 0 & 1 | 0) { + break label$9 + } + if ((HEAP32[($5_1 + 92 | 0) >> 2] | 0) >>> 0 > 9 >>> 0 & 1 | 0) { + break label$9 + } + if (!((HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$8 + } + } + break label$4; + } + HEAP32[($5_1 + 88 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 8256 | 0) >> 0] | 0) & 255 | 0; + label$10 : { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0) >>> 0 < ((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + (HEAP32[($5_1 + 88 | 0) >> 2] | 0) | 0) >>> 0 & 1 | 0)) { + break label$10 + } + break label$4; + } + $905((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 60 | 0) >> 2] | 0) - (HEAP32[($5_1 + 88 | 0) >> 2] | 0) | 0) | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $381_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $381_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $227($5_1 + 48 | 0 | 0); + HEAP32[($5_1 + 124 | 0) >> 2] = 0; + break label$1; + } + $227($5_1 + 48 | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(82954 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + } + $126_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + global$0 = $5_1 + 128 | 0; + return $126_1 | 0; + } + + function $942($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, i64toi32_i32$2 = 0, $17_1 = 0, i64toi32_i32$1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $922(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $4_1 | 0, HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, $4_1 | 0, $3_1 + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[$3_1 >> 2] | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + break label$1; + } + label$3 : { + if (!(HEAP32[($3_1 + 4 | 0) >> 2] | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(81498 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $17_1 = 0; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 3 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = $17_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $17_1; + } + $21_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $21_1 | 0; + } + + function $943($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP16[($5_1 + 6 | 0) >> 1] = $2_1; + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($5_1 + 6 | 0) >> 1] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + return; + } + + function $944($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $527$hi = 0, $528$hi = 0, $531$hi = 0, $532$hi = 0, $27_1 = 0, $69_1 = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $246_1 = 0, $307_1 = 0, $402_1 = 0, $449_1 = 0, $505_1 = 0, $518_1 = 0, $91_1 = 0, $828_1 = 0, $834_1 = 0, $527_1 = 0, $842_1 = 0, $531_1 = 0, $858_1 = 0, $258_1 = 0, $375_1 = 0, $447_1 = 0, $489_1 = 0, $494_1 = 0, $521_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 144 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 136 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 132 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 128 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 124 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 104 | 0) >> 2] = 0; + HEAP32[($6_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 92 | 0) >> 2] = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 124 | 0) >> 2] | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + $27_1 = 1; + break label$3; + } + $27_1 = ($902((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + 1 | 0 | 0, $6_1 + 44 | 0 | 0) | 0) & 255 | 0; + } + HEAP32[($6_1 + 108 | 0) >> 2] = ($27_1 & 255 | 0) + 1 | 0; + HEAP32[($6_1 + 112 | 0) >> 2] = (HEAPU8[(HEAP32[($6_1 + 92 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = (HEAP32[($6_1 + 112 | 0) >> 2] | 0) + ($378(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 116 | 0) >> 2] = 1; + HEAP32[($6_1 + 100 | 0) >> 2] = (HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 40 | 0; + break label$1; + } + label$5 : { + label$6 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 92 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 112 | 0) >> 2] = (HEAPU8[(HEAP32[($6_1 + 92 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $69_1 = 1; + break label$5; + } + $69_1 = ($902(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, $6_1 + 112 | 0 | 0) | 0) & 255 | 0; + } + HEAP32[($6_1 + 108 | 0) >> 2] = $69_1 & 255 | 0; + HEAP32[($6_1 + 120 | 0) >> 2] = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + HEAP32[($6_1 + 116 | 0) >> 2] = 0; + } + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 120 | 0) >> 2] | 0) >>> 0 > (HEAP32[($6_1 + 136 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + $91_1 = $694(82497 | 0) | 0; + HEAP8[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 11 | 0) >> 0] = $91_1; + HEAP32[($6_1 + 140 | 0) >> 2] = 0; + break label$7; + } + label$9 : while (1) { + label$10 : { + label$11 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 36 | 0)) { + break label$11 + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 108 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + label$12 : { + label$13 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 >= 10 >>> 0 & 1 | 0)) { + break label$13 + } + HEAP32[($6_1 + 104 | 0) >> 2] = 1; + break label$12; + } + label$14 : { + label$15 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$15 + } + HEAP32[($6_1 + 104 | 0) >> 2] = -1; + break label$14; + } + label$16 : { + label$17 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$17 + } + $905((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 120 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $6_1 + 48 | 0 | 0) | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = 0 - ($979(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, +(+HEAPF64[($6_1 + 48 | 0) >> 3])) | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + break label$16; + } + i64toi32_i32$1 = $1018(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 120 | 0) >> 2] | 0) | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $828_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $828_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $834_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $834_1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $527_1 = i64toi32_i32$1; + $527$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $528$hi = i64toi32_i32$1; + i64toi32_i32$1 = $527$hi; + i64toi32_i32$1 = $528$hi; + i64toi32_i32$1 = $527$hi; + i64toi32_i32$1 = $528$hi; + $842_1 = i64toi32_i32$0; + i64toi32_i32$1 = $527$hi; + i64toi32_i32$2 = $527_1; + i64toi32_i32$0 = $528$hi; + i64toi32_i32$3 = $842_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $35_1 = 0 + } else { + $35_1 = 1 + } + $36_1 = $35_1; + } else { + $36_1 = 0 + } + $34_1 = $36_1; + } + label$18 : { + label$19 : { + if (!($34_1 & 1 | 0)) { + break label$19 + } + HEAP32[($6_1 + 104 | 0) >> 2] = -1; + break label$18; + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $531_1 = i64toi32_i32$2; + $531$hi = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $532$hi = i64toi32_i32$2; + i64toi32_i32$2 = $531$hi; + i64toi32_i32$2 = $532$hi; + i64toi32_i32$2 = $531$hi; + i64toi32_i32$2 = $532$hi; + $858_1 = i64toi32_i32$1; + i64toi32_i32$2 = $531$hi; + i64toi32_i32$3 = $531_1; + i64toi32_i32$1 = $532$hi; + i64toi32_i32$0 = $858_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$1 | 0)) { + $37_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $38_1 = 0 + } else { + $38_1 = 1 + } + $39_1 = $38_1; + } else { + $39_1 = 0 + } + $37_1 = $39_1; + } + label$20 : { + if (!($37_1 & 1 | 0)) { + break label$20 + } + HEAP32[($6_1 + 104 | 0) >> 2] = 1; + } + } + } + } + } + break label$10; + } + label$21 : { + label$22 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$22 + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 108 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + label$23 : { + label$24 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 >= 10 >>> 0 & 1 | 0)) { + break label$24 + } + HEAP32[($6_1 + 104 | 0) >> 2] = 1; + break label$23; + } + label$25 : { + label$26 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$26 + } + HEAP32[($6_1 + 104 | 0) >> 2] = -1; + break label$25; + } + $905((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 120 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $6_1 + 48 | 0 | 0) | 0; + label$27 : { + label$28 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$28 + } + label$29 : { + label$30 : { + if (!(+HEAPF64[($6_1 + 48 | 0) >> 3] < +HEAPF64[(HEAP32[($6_1 + 100 | 0) >> 2] | 0) >> 3] & 1 | 0)) { + break label$30 + } + HEAP32[($6_1 + 104 | 0) >> 2] = -1; + break label$29; + } + label$31 : { + if (!(+HEAPF64[($6_1 + 48 | 0) >> 3] > +HEAPF64[(HEAP32[($6_1 + 100 | 0) >> 2] | 0) >> 3] & 1 | 0)) { + break label$31 + } + HEAP32[($6_1 + 104 | 0) >> 2] = 1; + } + } + break label$27; + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $979(i64toi32_i32$3 | 0, i64toi32_i32$2 | 0, +(+HEAPF64[(HEAP32[($6_1 + 100 | 0) >> 2] | 0) >> 3])) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + } + } + } + break label$21; + } + label$32 : { + label$33 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$33 + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 108 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + label$34 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 >= 128 >>> 0 & 1 | 0)) { + break label$34 + } + $902((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 108 | 0) >> 2] | 0) | 0 | 0, $6_1 + 40 | 0 | 0) | 0; + } + label$35 : { + label$36 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 < 12 >>> 0 & 1 | 0)) { + break label$36 + } + HEAP32[($6_1 + 104 | 0) >> 2] = -1; + break label$35; + } + label$37 : { + label$38 : { + if ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) & 1 | 0) { + break label$38 + } + HEAP32[($6_1 + 104 | 0) >> 2] = 1; + break label$37; + } + HEAP32[($6_1 + 60 | 0) >> 2] = ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) - 12 | 0) >>> 1 | 0; + label$39 : { + label$40 : { + if (((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0) >>> 0 > (HEAP32[($6_1 + 136 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$40 + } + $246_1 = HEAP32[(HEAP32[($6_1 + 128 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 96 | 0) >> 2] = $246_1; + if (!(((HEAPU16[($246_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) <= (HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$39 + } + } + $258_1 = $694(82574 | 0) | 0; + HEAP8[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 11 | 0) >> 0] = $258_1; + HEAP32[($6_1 + 140 | 0) >> 2] = 0; + break label$7; + } + label$41 : { + label$42 : { + if (!((HEAP32[(((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($6_1 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$42 + } + HEAP8[($6_1 + 58 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0; + HEAP32[($6_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP16[($6_1 + 56 | 0) >> 1] = 2; + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 120 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $980($6_1 + 48 | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($6_1 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 11 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + break label$41; + } + label$43 : { + label$44 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$44 + } + $307_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + break label$43; + } + $307_1 = HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 20 | 0) >> 2] = $307_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3228((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 120 | 0) >> 2] | 0) | 0 | 0, HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$45 : { + if (HEAP32[($6_1 + 104 | 0) >> 2] | 0) { + break label$45 + } + HEAP32[($6_1 + 104 | 0) >> 2] = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + } + } + } + } + break label$32; + } + label$46 : { + label$47 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$47 + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 108 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + label$48 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 >= 128 >>> 0 & 1 | 0)) { + break label$48 + } + $902((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 108 | 0) >> 2] | 0) | 0 | 0, $6_1 + 40 | 0 | 0) | 0; + } + label$49 : { + label$50 : { + label$51 : { + if ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 < 12 >>> 0 & 1 | 0) { + break label$51 + } + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0) & 1 | 0)) { + break label$50 + } + } + HEAP32[($6_1 + 104 | 0) >> 2] = -1; + break label$49; + } + HEAP32[($6_1 + 16 | 0) >> 2] = ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) - 12 | 0) >>> 1 | 0; + label$52 : { + if (!(((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0) >>> 0 > (HEAP32[($6_1 + 136 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$52 + } + $375_1 = $694(82604 | 0) | 0; + HEAP8[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 11 | 0) >> 0] = $375_1; + HEAP32[($6_1 + 140 | 0) >> 2] = 0; + break label$7; + } + label$53 : { + label$54 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$54 + } + label$55 : { + label$56 : { + if ($1019((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 120 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$56 + } + HEAP32[($6_1 + 104 | 0) >> 2] = 1; + break label$55; + } + HEAP32[($6_1 + 104 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[(HEAP32[($6_1 + 100 | 0) >> 2] | 0) >> 2] | 0) | 0; + } + break label$53; + } + label$57 : { + label$58 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$58 + } + $402_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + break label$57; + } + $402_1 = HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 12 | 0) >> 2] = $402_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3228((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 120 | 0) >> 2] | 0) | 0 | 0, HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$59 : { + if (HEAP32[($6_1 + 104 | 0) >> 2] | 0) { + break label$59 + } + HEAP32[($6_1 + 104 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + } + } + } + break label$46; + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + (HEAP32[($6_1 + 108 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + HEAP32[($6_1 + 104 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + } + } + } + } + label$60 : { + if (!(HEAP32[($6_1 + 104 | 0) >> 2] | 0)) { + break label$60 + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAPU8[((HEAP32[((HEAP32[(HEAP32[($6_1 + 128 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 116 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + label$61 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$61 + } + label$62 : { + label$63 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) & 2 | 0)) { + break label$63 + } + $447_1 = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) & 1 | 0; + $449_1 = 1; + label$64 : { + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$64 + } + $449_1 = (((HEAPU16[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0 | 0) != (0 | 0); + } + if (!(($447_1 | 0) != ($449_1 & 1 | 0 | 0) & 1 | 0)) { + break label$62 + } + } + HEAP32[($6_1 + 104 | 0) >> 2] = 0 - (HEAP32[($6_1 + 104 | 0) >> 2] | 0) | 0; + } + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[($6_1 + 104 | 0) >> 2] | 0; + break label$7; + } + HEAP32[($6_1 + 116 | 0) >> 2] = (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + 1 | 0; + label$65 : { + label$66 : { + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) == ((HEAPU16[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$66 + } + break label$65; + } + HEAP32[($6_1 + 100 | 0) >> 2] = (HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 40 | 0; + $489_1 = $378(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 120 | 0) >> 2] = (HEAP32[($6_1 + 120 | 0) >> 2] | 0) + $489_1 | 0; + i64toi32_i32$2 = 0; + $494_1 = $907(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[($6_1 + 108 | 0) >> 2] = (HEAP32[($6_1 + 108 | 0) >> 2] | 0) + $494_1 | 0; + $505_1 = 0; + label$67 : { + if (!((HEAP32[($6_1 + 108 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 112 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$67 + } + $505_1 = (HEAP32[($6_1 + 120 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($6_1 + 136 | 0) >> 2] | 0) >>> 0; + } + if ($505_1 & 1 | 0) { + continue label$9 + } + } + break label$9; + }; + HEAP8[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 14 | 0) >> 0] = 1; + $518_1 = 24; + HEAP32[($6_1 + 140 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) << $518_1 | 0) >> $518_1 | 0; + } + $521_1 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + global$0 = $6_1 + 144 | 0; + return $521_1 | 0; + } + + function $945($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $11_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $127(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1020(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $11_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $11_1 | 0; + } + + function $946($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 48 | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 24 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + continue label$5; + }; + } + return; + } + + function $947($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $9_1 = $917(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $9_1 | 0; + } + + function $948($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $101_1 = 0, $13_1 = 0, $17_1 = 0, $106_1 = 0, $194_1 = 0, $263_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $13_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($13_1 + 24 | 0) >> 2] = HEAP32[($13_1 + 24 | 0) >> 2] | 0 | 64 | 0; + $17_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($17_1 + 20 | 0) >> 2] = (HEAP32[($17_1 + 20 | 0) >> 2] | 0) + 1 | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $1023(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $1023(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0); + break label$4; + } + label$6 : { + label$7 : { + if ($89(HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 8623 | 0, 7 | 0) | 0) { + break label$7 + } + HEAP8[($6_1 + 11 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 164 | 0) >> 0] | 0; + HEAP8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 164 | 0) >> 0] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!($1024(HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 160 | 0 | 0) | 0)) { + break label$9 + } + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 160 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$8 + } + } + label$10 : { + if (!(((HEAPU8[(0 + 68377 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + $1023(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 8631 | 0); + } + } + $101_1 = 0; + $106_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP8[($106_1 + 166 | 0) >> 0] = (HEAPU8[($106_1 + 166 | 0) >> 0] | 0) & -2 | 0; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 168 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $101_1; + $406(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, -1 | 0, $101_1 | 0, $101_1 | 0, $6_1 + 4 | 0 | 0, $101_1 | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 164 | 0) >> 0] = HEAPU8[($6_1 + 11 | 0) >> 0] | 0; + label$11 : { + if (!(($101_1 | 0) != (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 166 | 0) >> 0] | 0) & 1 | 0) & 255 | 0)) { + break label$13 + } + break label$12; + } + label$14 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + } + label$15 : { + label$16 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$16 + } + $118(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + break label$15; + } + label$17 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (9 | 0) & 1 | 0)) { + break label$17 + } + if (!(((HEAP32[($6_1 + 12 | 0) >> 2] | 0) & 255 | 0 | 0) != (6 | 0) & 1 | 0)) { + break label$17 + } + $1023(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $380(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0); + } + } + } + } + $213(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0; + break label$6; + } + label$18 : { + label$19 : { + label$20 : { + if ((HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$20 + } + if (!((HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + $194_1 = 24; + if (!(((HEAPU8[(HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] | 0) << $194_1 | 0) >> $194_1 | 0)) { + break label$19 + } + } + $1023(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0); + break label$18; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1025(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$21 : { + label$22 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$22 + } + $1023(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 8648 | 0); + break label$21; + } + label$23 : { + label$24 : { + if (!($1024(HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[$6_1 >> 2] | 0) + 44 | 0 | 0) | 0)) { + break label$24 + } + if ((HEAP32[((HEAP32[$6_1 >> 2] | 0) + 44 | 0) >> 2] | 0) >>> 0 < 2 >>> 0 & 1 | 0) { + break label$24 + } + if ((HEAP32[((HEAP32[$6_1 >> 2] | 0) + 44 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$24 + } + if (!($1026(HEAP32[$6_1 >> 2] | 0 | 0) | 0)) { + break label$23 + } + } + label$25 : { + if (!(((HEAPU8[(0 + 68377 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$25 + } + $1023(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 8631 | 0); + } + } + } + } + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $263_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $263_1 | 0; + } + + function $949($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $24_1 = 0, $7_1 = 0, $8_1 = 0, $65_1 = 0, $117_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $24_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($24_1 + 36 | 0) >> 2] = (HEAP32[($24_1 + 36 | 0) >> 2] | 0) & -17 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $6_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $7_1 = (HEAPU8[($6_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($6_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & -129 | 0; + HEAP8[($6_1 + 55 | 0) >> 0] = $7_1; + HEAP8[($6_1 + 56 | 0) >> 0] = $7_1 >>> 8 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$5 : { + if (!(($361(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 8754 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $65_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $351($65_1 | 0, 8767 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 7; + break label$6; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $400(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 28 | 0, $4_1 + 32 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $13(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $8_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + label$10 : { + if ((((HEAPU8[($8_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($8_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0) { + break label$10 + } + $1028(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + continue label$9; + }; + } + label$11 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$11 + } + $118(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0); + } + $117_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $117_1 | 0; + } + + function $950($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $474((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $11(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + $21_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($21_1 + 24 | 0) >> 2] = HEAP32[($21_1 + 24 | 0) >> 2] | 0 | 1 | 0; + global$0 = $5_1 + 32 | 0; + return; + } + + function $951($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $49_1 = 0, $81_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[(((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 24 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $474(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + break label$2; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : while (1) { + $49_1 = 0; + label$5 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $49_1 = (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (!($49_1 & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$4; + } + break label$4; + }; + label$7 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + } + $1029(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + $81_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($81_1 + 24 | 0) >> 2] = HEAP32[($81_1 + 24 | 0) >> 2] | 0 | 1 | 0; + global$0 = $5_1 + 32 | 0; + return; + } + + function $952($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[(((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 40 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $474(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1030(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 68 | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$4; + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 32 | 0; + continue label$5; + }; + } + } + } + $10(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + $72_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($72_1 + 24 | 0) >> 2] = HEAP32[($72_1 + 24 | 0) >> 2] | 0 | 1 | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $953($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $27_1 = 0, $17_1 = 0, $121_1 = 0, $182_1 = 0, $356$hi = 0, $357$hi = 0, $191_1 = 0, $263_1 = 0, $391_1 = 0, $163_1 = 0, $762_1 = 0, $903_1 = 0, $351_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 288 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 284 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 280 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 276 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 272 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 268 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 264 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 180 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 280 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $391_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1; + HEAP32[($8_1 + 168 | 0) >> 2] = $391_1; + HEAP32[($8_1 + 172 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + HEAP32[($8_1 + 56 | 0) >> 2] = 1; + label$1 : { + if (HEAP32[(HEAP32[($8_1 + 276 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + $17_1 = 1; + HEAP32[($8_1 + 60 | 0) >> 2] = $17_1; + label$2 : { + if (!((HEAP32[((HEAP32[($8_1 + 276 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != ($17_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 56 | 0) >> 2] = 0; + } + } + $27_1 = 0; + $127(HEAP32[($8_1 + 280 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 252 | 0) >> 2] = HEAP32[($8_1 + 284 | 0) >> 2] | 0; + HEAP32[($8_1 + 184 | 0) >> 2] = HEAP32[($8_1 + 180 | 0) >> 2] | 0; + HEAP32[($8_1 + 188 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 180 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $165(HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 196 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 200 | 0) >> 2] = HEAP32[($8_1 + 268 | 0) >> 2] | 0; + HEAP32[($8_1 + 204 | 0) >> 2] = $27_1; + HEAP32[($8_1 + 208 | 0) >> 2] = $27_1; + HEAP32[($8_1 + 212 | 0) >> 2] = $27_1; + HEAP32[($8_1 + 216 | 0) >> 2] = $27_1; + HEAP32[($8_1 + 220 | 0) >> 2] = $27_1; + HEAP32[($8_1 + 192 | 0) >> 2] = $27_1; + HEAP32[($8_1 + 248 | 0) >> 2] = $27_1; + $77(($8_1 + 184 | 0) + 40 | 0 | 0, $27_1 | 0, $8_1 + 64 | 0 | 0, 100 | 0, 1e9 | 0); + HEAP8[($8_1 + 245 | 0) >> 0] = 1; + label$3 : { + label$4 : { + if (HEAP32[($8_1 + 196 | 0) >> 2] | 0) { + break label$4 + } + break label$3; + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $114(((HEAP32[($8_1 + 196 | 0) >> 2] | 0) >>> 3 | 0) + 1 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($8_1 + 208 | 0) >> 2] = 1; + break label$3; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $631(HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 248 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($8_1 + 248 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($8_1 + 208 | 0) >> 2] = 1; + break label$3; + } + HEAP32[($8_1 + 260 | 0) >> 2] = (((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0; + label$7 : { + if (!((HEAP32[($8_1 + 260 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($8_1 + 196 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + $1031($8_1 + 184 | 0 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!(HEAP32[($8_1 + 56 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($8_1 + 212 | 0) >> 2] = 8852; + $1032($8_1 + 184 | 0 | 0, 1 | 0, $161((HEAP32[((HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 32 | 0 | 0) | 0 | 0, $161((HEAP32[((HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 36 | 0 | 0) | 0 | 0); + HEAP32[($8_1 + 212 | 0) >> 2] = 0; + } + label$9 : { + if (HEAP32[($8_1 + 60 | 0) >> 2] | 0) { + break label$9 + } + label$10 : { + label$11 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + $121_1 = 0; + HEAP32[($8_1 + 52 | 0) >> 2] = $121_1; + HEAP32[($8_1 + 260 | 0) >> 2] = $121_1; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 272 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + label$14 : { + if (!((HEAP32[($8_1 + 52 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($8_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$14 + } + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($8_1 + 260 | 0) >> 2] = (HEAP32[($8_1 + 260 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + $163_1 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $163_1; + $1033($8_1 + 184 | 0 | 0, 8868 | 0, $8_1 + 32 | 0 | 0); + } + break label$10; + } + label$16 : { + if (!($161((HEAP32[((HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 64 | 0 | 0) | 0)) { + break label$16 + } + $1033($8_1 + 184 | 0 | 0, 8913 | 0, 0 | 0); + } + } + } + $182_1 = HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $182_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $356$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $357$hi = i64toi32_i32$0; + i64toi32_i32$0 = $356$hi; + i64toi32_i32$0 = $357$hi; + i64toi32_i32$0 = $356$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $357$hi; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $762_1 = i64toi32_i32$2 & -2097153 | 0; + i64toi32_i32$2 = $182_1; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = $762_1; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($8_1 + 260 | 0) >> 2] = 0; + label$17 : while (1) { + $191_1 = 0; + label$18 : { + if (!((HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 272 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $191_1 = (HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$19 : { + if (!($191_1 & 1 | 0)) { + break label$19 + } + label$20 : { + label$21 : { + if (HEAP32[((HEAP32[($8_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) { + break label$21 + } + break label$20; + } + label$22 : { + if (!((HEAPU8[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0)) { + break label$22 + } + if (!((HEAP32[((HEAP32[($8_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 > 1 >>> 0 & 1 | 0)) { + break label$22 + } + if (HEAP32[($8_1 + 60 | 0) >> 2] | 0) { + break label$22 + } + $1034($8_1 + 184 | 0 | 0, HEAP32[((HEAP32[($8_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, 0 | 0); + } + i64toi32_i32$1 = 2147483647; + $1035($8_1 + 184 | 0 | 0, HEAP32[((HEAP32[($8_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $8_1 + 40 | 0 | 0, -1 | 0, i64toi32_i32$1 | 0) | 0; + } + HEAP32[($8_1 + 260 | 0) >> 2] = (HEAP32[($8_1 + 260 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + } + break label$17; + }; + i64toi32_i32$0 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + $903_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $903_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$2; + label$23 : { + if (HEAP32[($8_1 + 60 | 0) >> 2] | 0) { + break label$23 + } + HEAP32[($8_1 + 260 | 0) >> 2] = 1; + label$24 : while (1) { + $263_1 = 0; + label$25 : { + if (!((HEAP32[($8_1 + 260 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($8_1 + 196 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$25 + } + $263_1 = (HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$26 : { + if (!($263_1 & 1 | 0)) { + break label$26 + } + label$27 : { + if ($1036($8_1 + 184 | 0 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) | 0) { + break label$27 + } + label$28 : { + if (($808(HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$28 + } + if (((HEAPU8[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$27 + } + } + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[($8_1 + 260 | 0) >> 2] | 0; + $1033($8_1 + 184 | 0 | 0, 8968 | 0, $8_1 + 16 | 0 | 0); + } + label$29 : { + if (!($1036($8_1 + 184 | 0 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) | 0)) { + break label$29 + } + if (!(($808(HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + if (!((HEAPU8[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0)) { + break label$29 + } + HEAP32[$8_1 >> 2] = HEAP32[($8_1 + 260 | 0) >> 2] | 0; + $1033($8_1 + 184 | 0 | 0, 8990 | 0, $8_1 | 0); + } + HEAP32[($8_1 + 260 | 0) >> 2] = (HEAP32[($8_1 + 260 | 0) >> 2] | 0) + 1 | 0; + continue label$24; + } + break label$24; + }; + } + } + $623(HEAP32[($8_1 + 248 | 0) >> 2] | 0 | 0); + $42(HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0); + label$30 : { + if (!(HEAP32[($8_1 + 208 | 0) >> 2] | 0)) { + break label$30 + } + $69(($8_1 + 184 | 0) + 40 | 0 | 0); + HEAP32[($8_1 + 204 | 0) >> 2] = (HEAP32[($8_1 + 204 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[(HEAP32[($8_1 + 264 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 204 | 0) >> 2] | 0; + label$31 : { + if (HEAP32[($8_1 + 204 | 0) >> 2] | 0) { + break label$31 + } + $69(($8_1 + 184 | 0) + 40 | 0 | 0); + } + $351_1 = $72(($8_1 + 184 | 0) + 40 | 0 | 0) | 0; + global$0 = $8_1 + 288 | 0; + return $351_1 | 0; + } + + function $954($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $227(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1037(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1040; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] = 29; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $24_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $24_1 | 0; + } + + function $955($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $44$hi = 0, $45$hi = 0, $14_1 = 0, $15_1 = 0, $16_1 = 0, $17_1 = 0, $29_1 = 0, $80_1 = 0, $44_1 = 0, $112_1 = 0, i64toi32_i32$3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1039(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $14_1 = 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $80_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $80_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $14_1; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != ($14_1 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $44_1 = i64toi32_i32$1; + $44$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $45$hi = i64toi32_i32$1; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $45$hi; + $112_1 = i64toi32_i32$0; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$2 = $44_1; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$3 = $112_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $15_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $16_1 = 0 + } else { + $16_1 = 1 + } + $17_1 = $16_1; + } else { + $17_1 = 0 + } + $15_1 = $17_1; + } + label$5 : { + if (!($15_1 & 1 | 0)) { + break label$5 + } + $29_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP16[($29_1 + 26 | 0) >> 1] = ((HEAPU16[($29_1 + 26 | 0) >> 1] | 0) & 65535 | 0) & -2 | 0; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$3; + } + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $956($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $21_1 = 0, i64toi32_i32$2 = 0, $19_1 = 0, i64toi32_i32$1 = 0, $133_1 = 0, $53_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + if (((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0) { + break label$1 + } + label$2 : { + if (((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$2 + } + $19_1 = $1040(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $19_1; + } + $21_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP16[($21_1 + 26 | 0) >> 1] = (HEAPU16[($21_1 + 26 | 0) >> 1] | 0) & 65535 | 0 | 3 | 0; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $133_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $133_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $1041(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$3; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $53_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $53_1 | 0; + } + + function $957($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $144$hi = 0, $145$hi = 0, $148$hi = 0, $149$hi = 0, $81_1 = 0, $95_1 = 0, $98_1 = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $55_1 = 0, $93_1 = 0, $144_1 = 0, $423_1 = 0, $148_1 = 0, $445_1 = 0, $140_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0; + label$3 : { + if (((HEAPU16[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1040(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + $55_1 = $1042(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = $55_1; + break label$4; + } + $1043(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0, $5_1 + 4 | 0 | 0); + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1044(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$5; + }; + } + label$7 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + $81_1 = $1039(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $81_1; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = $81_1; + label$8 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + $93_1 = $1042(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = $93_1; + } + } + $95_1 = 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] = $95_1; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = $95_1; + $98_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP16[($98_1 + 26 | 0) >> 1] = (HEAPU16[($98_1 + 26 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + } + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$9 : { + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $144_1 = i64toi32_i32$0; + $144$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $145$hi = i64toi32_i32$0; + i64toi32_i32$0 = $144$hi; + i64toi32_i32$0 = $145$hi; + i64toi32_i32$0 = $144$hi; + i64toi32_i32$0 = $145$hi; + $423_1 = i64toi32_i32$1; + i64toi32_i32$0 = $144$hi; + i64toi32_i32$2 = $144_1; + i64toi32_i32$1 = $145$hi; + i64toi32_i32$3 = $423_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $23_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $24_1 = 0 + } else { + $24_1 = 1 + } + $25_1 = $24_1; + } else { + $25_1 = 0 + } + $23_1 = $25_1; + } + label$14 : { + label$15 : { + if (!($23_1 & 1 | 0)) { + break label$15 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$14; + } + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $148_1 = i64toi32_i32$2; + $148$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $149$hi = i64toi32_i32$2; + i64toi32_i32$2 = $148$hi; + i64toi32_i32$2 = $149$hi; + i64toi32_i32$2 = $148$hi; + i64toi32_i32$2 = $149$hi; + $445_1 = i64toi32_i32$0; + i64toi32_i32$2 = $148$hi; + i64toi32_i32$3 = $148_1; + i64toi32_i32$0 = $149$hi; + i64toi32_i32$1 = $445_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $26_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $27_1 = 0 + } else { + $27_1 = 1 + } + $28_1 = $27_1; + } else { + $28_1 = 0 + } + $26_1 = $28_1; + } + label$16 : { + label$17 : { + if (!($26_1 & 1 | 0)) { + break label$17 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$16; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$9; + } + } + continue label$13; + }; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$11; + }; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $140_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $140_1 | 0; + } + + function $958($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 200 | 0) >> 2] | 0; + HEAP32[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 200 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + return; + } + + function $959($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $22_1 = 0, $19_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + $22_1 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $22_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $262(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($5_1); + $19_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $19_1 | 0; + } + + function $960($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $31$hi = 0, $33$hi = 0, $8_1 = 0, $9_1 = 0, $10_1 = 0, i64toi32_i32$3 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + $31$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $33$hi = i64toi32_i32$1; + i64toi32_i32$1 = $31$hi; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $31$hi; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $8_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $9_1 = 0 + } else { + $9_1 = 1 + } + $10_1 = $9_1; + } else { + $10_1 = 0 + } + $8_1 = $10_1; + } + if (!($8_1 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $961($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $69_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + if ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0) { + break label$1 + } + HEAP32[$4_1 >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $716(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $739(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0, 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + if (!(HEAP32[$4_1 >> 2] | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $793(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + label$4 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $798(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $636(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] = 0; + $627(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + label$6 : { + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$6 + } + if (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$6 + } + $736(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + } + } + $69_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $69_1 | 0; + } + + function $962($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $137_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP8[($4_1 + 23 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAPU8[($4_1 + 23 | 0) >> 0] | 0) & 255 | 0; + } + } + label$3 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != ((HEAPU8[($4_1 + 23 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$5 + } + if (!((((HEAPU8[($4_1 + 23 | 0) >> 0] | 0) & 255 | 0) & 5 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 1 | 0) { + break label$5 + } + $622(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$7 + } + $732(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + break label$6; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0; + label$8 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $781(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$9 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $716(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$10 + } + $732(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + label$11 : { + label$12 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$12 + } + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$12 + } + $736(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + break label$11; + } + label$13 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$13 + } + $637(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + } + } + break label$4; + } + label$14 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$14 + } + $622(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + } + } + $137_1 = (HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0; + global$0 = $4_1 + 32 | 0; + return $137_1 | 0; + } + + function $963($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[(9632 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $964($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $388$hi = 0, $176_1 = 0, $8_1 = 0, $57_1 = 0, $61_1 = 0, $76_1 = 0, $381$hi = 0, $382$hi = 0, $77_1 = 0, $81_1 = 0, $384$hi = 0, $385$hi = 0, $390$hi = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $150_1 = 0, $221_1 = 0, $231_1 = 0, $234_1 = 0, $265_1 = 0, $347_1 = 0, $370_1 = 0, $531_1 = 0, $564_1 = 0, $582_1 = 0, $102_1 = 0, $103_1 = 0, $218_1 = 0, $240_1 = 0, $241_1 = 0, $248_1 = 0, $249_1 = 0, $258_1 = 0, $259_1 = 0, $270_1 = 0, $271_1 = 0, $1216_1 = 0, $377_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 192 | 0; + global$0 = $6_1; + $8_1 = 0; + HEAP32[($6_1 + 184 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 180 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 176 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 172 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 168 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 124 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + $1021(HEAP32[($6_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 180 | 0) >> 2] | 0 | 0, 9695 | 0); + HEAP32[($6_1 + 188 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 172 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$3 + } + $1021(HEAP32[($6_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 180 | 0) >> 2] | 0 | 0, 9735 | 0); + HEAP32[($6_1 + 188 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 132 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!(($248(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0) | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$6 + } + $1021(HEAP32[($6_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 180 | 0) >> 2] | 0 | 0, 9778 | 0); + HEAP32[($6_1 + 188 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + $57_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + HEAP32[($57_1 + 60 | 0) >> 2] = (HEAP32[($57_1 + 60 | 0) >> 2] | 0) & -2 | 0; + $61_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + HEAP32[($61_1 + 60 | 0) >> 2] = HEAP32[($61_1 + 60 | 0) >> 2] | 0 | 6 | 0; + break label$4; + } + HEAP32[($6_1 + 104 | 0) >> 2] = 1352; + } + i64toi32_i32$2 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $531_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 144 | 0) >> 2] = $531_1; + HEAP32[($6_1 + 148 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 156 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0; + HEAP32[($6_1 + 136 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + HEAP8[($6_1 + 131 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 88 | 0) >> 0] | 0; + $76_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + i64toi32_i32$2 = $76_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $381$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $382$hi = i64toi32_i32$0; + i64toi32_i32$0 = $381$hi; + i64toi32_i32$0 = $382$hi; + i64toi32_i32$0 = $381$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $382$hi; + i64toi32_i32$3 = 513; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $564_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $76_1; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = $564_1; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$1; + $77_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + HEAP32[($77_1 + 24 | 0) >> 2] = HEAP32[($77_1 + 24 | 0) >> 2] | 0 | 6 | 0; + $81_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + i64toi32_i32$0 = $81_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $384$hi = i64toi32_i32$2; + i64toi32_i32$2 = -2; + $385$hi = i64toi32_i32$2; + i64toi32_i32$2 = $384$hi; + i64toi32_i32$2 = $385$hi; + i64toi32_i32$2 = $384$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $385$hi; + i64toi32_i32$3 = -268455937; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $582_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $81_1; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $582_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 88 | 0) >> 0] = 0; + HEAP32[($6_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 176 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 164 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 176 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $166($9(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $102_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + $103_1 = HEAP32[($6_1 + 184 | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[($6_1 + 104 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1045($102_1 | 0, $103_1 | 0, 9796 | 0, $6_1 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$8 + } + break label$7; + } + HEAP32[($6_1 + 124 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 112 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($6_1 + 160 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$9 : { + if (!((HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $143($9(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 88 | 0) >> 2] = 0; + HEAP32[($6_1 + 92 | 0) >> 2] = i64toi32_i32$1; + label$10 : { + if (!((HEAP32[(HEAP32[($6_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if ($187(HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, $6_1 + 88 | 0 | 0) | 0) { + break label$11 + } + i64toi32_i32$1 = 0; + $388$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $390$hi = i64toi32_i32$0; + i64toi32_i32$0 = $388$hi; + i64toi32_i32$0 = $390$hi; + i64toi32_i32$0 = $388$hi; + i64toi32_i32$0 = $390$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $388$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $45_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $46_1 = 0 + } else { + $46_1 = 1 + } + $47_1 = $46_1; + } else { + $47_1 = 0 + } + $45_1 = $47_1; + } + if (!($45_1 & 1 | 0)) { + break label$10 + } + } + HEAP32[($6_1 + 168 | 0) >> 2] = 1; + $1021(HEAP32[($6_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 180 | 0) >> 2] | 0 | 0, 9819 | 0); + break label$7; + } + $150_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + HEAP32[($150_1 + 24 | 0) >> 2] = HEAP32[($150_1 + 24 | 0) >> 2] | 0 | 8 | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $511(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + $614(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(((HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 176 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) | 0; + $1046(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0, $1046(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0; + $1047(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0, 33 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1048(HEAP32[($6_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 184 | 0) >> 2] | 0 | 0, 9846 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$12 + } + break label$7; + } + $176_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $129(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0) == ($176_1 | 0) & 1 | 0 ? 2 : $176_1) | 0, $176_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$13 + } + break label$7; + } + label$14 : { + if (!(($132($9(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 92 | 0) >> 2] = 0; + } + label$15 : { + label$16 : { + if ($164(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0, $131(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, 0 | 0) | 0) { + break label$16 + } + label$17 : { + if (HEAP32[($6_1 + 120 | 0) >> 2] | 0) { + break label$17 + } + if ($164(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, 0 | 0) | 0) { + break label$16 + } + } + if (!((HEAPU8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$15 + } + } + HEAP32[($6_1 + 168 | 0) >> 2] = 7; + break label$7; + } + $218_1 = HEAP32[($6_1 + 160 | 0) >> 2] | 0; + $221_1 = 24; + label$18 : { + label$19 : { + if (!((((HEAPU8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 84 | 0) >> 0] | 0) << $221_1 | 0) >> $221_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$19 + } + $231_1 = 24; + $234_1 = ((HEAPU8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 84 | 0) >> 0] | 0) << $231_1 | 0) >> $231_1 | 0; + break label$18; + } + $234_1 = $1049(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0) | 0; + } + $1050($218_1 | 0, $234_1 | 0) | 0; + HEAP8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 164 | 0) >> 0] = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + $240_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + $241_1 = HEAP32[($6_1 + 184 | 0) >> 2] | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1045($240_1 | 0, $241_1 | 0, 9852 | 0, $6_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$20 + } + break label$7; + } + $248_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + $249_1 = HEAP32[($6_1 + 184 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1045($248_1 | 0, $249_1 | 0, 9960 | 0, $6_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$21 + } + break label$7; + } + HEAP8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 164 | 0) >> 0] = 0; + $258_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + $259_1 = HEAP32[($6_1 + 184 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1045($258_1 | 0, $259_1 | 0, 10014 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + $265_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + HEAP32[($265_1 + 24 | 0) >> 2] = (HEAP32[($265_1 + 24 | 0) >> 2] | 0) & -5 | 0; + label$22 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$22 + } + break label$7; + } + $270_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + $271_1 = HEAP32[($6_1 + 184 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1045($270_1 | 0, $271_1 | 0, 10165 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$23 + } + break label$7; + } + HEAP32[($6_1 + 80 | 0) >> 2] = 0; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) < (10 | 0) & 1 | 0)) { + break label$24 + } + $913(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 10295 | 0) >> 0] | 0) & 255 | 0 | 0, $6_1 + 84 | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $140(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 10295 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + ((HEAPU8[(((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 1 | 0) + 10295 | 0) >> 0] | 0) & 255 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$26 + } + break label$7; + } + HEAP32[($6_1 + 80 | 0) >> 2] = (HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 2 | 0; + continue label$25; + }; + } + label$27 : { + if (!((HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$27 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1051(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + } + label$28 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$28 + } + break label$7; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1022(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (!(HEAP32[($6_1 + 168 | 0) >> 2] | 0)) { + break label$29 + } + break label$7; + } + label$30 : { + if (!((HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$30 + } + $1050(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0, $1049(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + } + label$31 : { + if (!((HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$31 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $164(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0, $131(HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + } + } + $347_1 = 0; + HEAP8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 164 | 0) >> 0] = 0; + HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($6_1 + 156 | 0) >> 2] | 0; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 144 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 148 | 0) >> 2] | 0; + $1216_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = $1216_1; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 100 | 0) >> 2] = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 104 | 0) >> 2] = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 88 | 0) >> 0] = HEAPU8[($6_1 + 131 | 0) >> 0] | 0; + $164(HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0, -1 | 0, $347_1 | 0, 1 | 0) | 0; + HEAP8[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 79 | 0) >> 0] = 1; + label$32 : { + if (!((HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0) != ($347_1 | 0) & 1 | 0)) { + break label$32 + } + $370_1 = 0; + $207(HEAP32[((HEAP32[($6_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] = $370_1; + HEAP32[((HEAP32[($6_1 + 124 | 0) >> 2] | 0) + 12 | 0) >> 2] = $370_1; + } + $141(HEAP32[($6_1 + 180 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 188 | 0) >> 2] = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + } + $377_1 = HEAP32[($6_1 + 188 | 0) >> 2] | 0; + global$0 = $6_1 + 192 | 0; + return $377_1 | 0; + } + + function $965($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $53_1 = 0, $76_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($3_1 + 24 | 0) >> 2] = 101; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $165(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $809(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$5 + } + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($3_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(68619 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + label$6 : { + label$7 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$7 + } + $53_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $198(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $53_1 | 0, $53_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$8 + } + $807(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $810(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$9 : { + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$9 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $162((HEAP32[((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 28 | 0 | 0, HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + } + break label$6; + } + HEAP32[($3_1 + 24 | 0) >> 2] = 101; + } + } + } + $76_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $76_1 | 0; + } + + function $966($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP8[($4_1 + 1 | 0) >> 0] = (HEAPU8[($4_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 64 | 0; + return; + } + + function $967($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP8[($4_1 + 1 | 0) >> 0] = ((HEAPU8[($4_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -65 | 0; + return; + } + + function $968($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 23 | 0) >> 0] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[($5_1 + 15 | 0) >> 0] = ((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) & 255 | 0) + 1 | 0; + $127(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $154(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1052(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + $36_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $36_1 | 0; + } + + function $969($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $103_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 336 | 0) >> 2] | 0 | 0) > ($5_1 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 6; + break label$1; + } + label$3 : { + if ((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 336 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1053(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 460 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 456 | 0) >> 2] | 0) | 0; + $1054(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + label$10 : { + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$10 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $103_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $103_1 | 0; + } + + function $970($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $50_1 = 0, $53_1 = 0, $81_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $361(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $362((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 340 | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + $50_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + $53_1 = $351($50_1 | 0, 10313 | 0, $6_1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $53_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1055(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$4 + } + if (!(($1056(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1053(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$5 + } + $1054(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, $1056(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0); + } + } + $81_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $81_1 | 0; + } + + function $971($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $70_1 = 0, $79_1 = 0, $86_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $361(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((HEAP32[((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 6; + break label$1; + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$4; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1057(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[(HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[(HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + $70_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($70_1 + 32 | 0) >> 2] = (HEAP32[($70_1 + 32 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[$5_1 >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$7 + } + $79_1 = 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = $79_1; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] = $79_1; + $841(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + $11(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $86_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $86_1 | 0; + } + + function $972($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $127(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1058(HEAP32[(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $11_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $11_1 | 0; + } + + function $973($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = $1153(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $6_1 | 0; + } + + function $974($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $262(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + $7_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $975($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $272(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $889(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $976($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $180_1 = 0, $227_1 = 0, $74_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$2 + } + $230(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $344(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$5 + } + if (!(($530(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $180_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $180_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP16[($3_1 + 30 | 0) >> 1] = 4; + break label$3; + } + HEAP16[($3_1 + 30 | 0) >> 1] = 8; + break label$3; + } + label$6 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$6 + } + if ($530(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0) { + break label$6 + } + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $227_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $227_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($3_1 + 30 | 0) >> 1] = 4; + break label$3; + } + HEAP16[($3_1 + 30 | 0) >> 1] = 8; + } + $74_1 = (HEAPU16[($3_1 + 30 | 0) >> 1] | 0) & 65535 | 0; + global$0 = $3_1 + 32 | 0; + return $74_1 | 0; + } + + function $977($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($5_1 + 11 | 0) >> 0] = $1_1; + HEAP8[($5_1 + 10 | 0) >> 0] = $2_1; + $9_1 = 24; + $895(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, ((HEAPU8[($5_1 + 11 | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0 | 0, (HEAPU8[($5_1 + 10 | 0) >> 0] | 0) & 255 | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $978($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0.0, $83_1 = 0.0, $12_1 = 0, $13_1 = 0, $78_1 = 0, $78$hi = 0, $80_1 = 0, i64toi32_i32$2 = 0, $69_1 = 0, $82_1 = 0.0, $207_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 45 | 0) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $344(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$6 + } + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + } + if (($530(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) <= (1 | 0) & 1 | 0) { + break label$4 + } + } + $82_1 = +HEAPF64[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 3]; + $83_1 = +HEAPF64[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 3]; + label$7 : { + label$8 : { + if (!(Math_abs($83_1) < 9223372036854775808.0)) { + break label$8 + } + i64toi32_i32$0 = $83_1; + if (Math_abs(i64toi32_i32$0) >= 1.0) { + if (i64toi32_i32$0 > 0.0) { + $12_1 = ~~Math_min(Math_floor(i64toi32_i32$0 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $12_1 = ~~Math_ceil((i64toi32_i32$0 - +(~~i64toi32_i32$0 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $13_1 = $12_1; + } else { + $13_1 = 0 + } + i64toi32_i32$1 = $13_1; + $78_1 = ~~i64toi32_i32$0 >>> 0; + $78$hi = i64toi32_i32$1; + break label$7; + } + i64toi32_i32$1 = -2147483648; + $78_1 = 0; + $78$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $78$hi; + $80_1 = $78_1; + i64toi32_i32$2 = $3_1; + HEAP32[$3_1 >> 2] = $80_1; + HEAP32[($3_1 + 4 | 0) >> 2] = i64toi32_i32$1; + if (!($1059(+$82_1, $80_1 | 0, i64toi32_i32$1 | 0) | 0)) { + break label$3 + } + } + i64toi32_i32$1 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $207_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $207_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 4 | 0; + break label$2; + } + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 8 | 0; + } + } + $69_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($69_1 + 8 | 0) >> 1] = ((HEAPU16[($69_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -16403 | 0; + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $979($0_1, $0$hi, $1_1) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + $1_1 = +$1_1; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $37$hi = 0, $38$hi = 0, $39$hi = 0, $40$hi = 0, $41$hi = 0, $42$hi = 0, $43$hi = 0, $44$hi = 0, $35_1 = 0, $35$hi = 0, $36_1 = 0, $36$hi = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $100_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $130_1 = 0, $31_1 = 0; + $4_1 = global$0 - 96 | 0; + global$0 = $4_1; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 80 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 84 | 0) >> 2] = i64toi32_i32$0; + HEAPF64[($4_1 + 72 | 0) >> 3] = $1_1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 84 | 0) >> 2] | 0; + $3268($4_1 + 32 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + $7_1 = 8; + i64toi32_i32$2 = ($4_1 + 32 | 0) + $7_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $35_1 = i64toi32_i32$1; + $35$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $36_1 = i64toi32_i32$0; + $36$hi = i64toi32_i32$1; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $35_1; + HEAP32[($4_1 + 60 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $36_1; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $37_1 = i64toi32_i32$1; + $37$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $38_1 = i64toi32_i32$0; + $38$hi = i64toi32_i32$1; + $3266($4_1 + 16 | 0 | 0, +(+HEAPF64[($4_1 + 72 | 0) >> 3])); + i64toi32_i32$2 = ($4_1 + 16 | 0) + $7_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $39_1 = i64toi32_i32$1; + $39$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $40$hi = i64toi32_i32$1; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$1 = $40$hi; + $100_1 = i64toi32_i32$0; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$2 = $40$hi; + i64toi32_i32$3 = $39$hi; + label$1 : { + label$2 : { + if (!(($3263($38_1 | 0, i64toi32_i32$1 | 0, $37_1 | 0, i64toi32_i32$0 | 0, $100_1 | 0, i64toi32_i32$2 | 0, $39_1 | 0, i64toi32_i32$3 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 92 | 0) >> 2] = -1; + break label$1; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $41_1 = i64toi32_i32$3; + $41$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $42_1 = i64toi32_i32$2; + $42$hi = i64toi32_i32$3; + $3266($4_1 | 0, +(+HEAPF64[($4_1 + 72 | 0) >> 3])); + i64toi32_i32$0 = $4_1 + 8 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $43_1 = i64toi32_i32$3; + $43$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $44$hi = i64toi32_i32$3; + i64toi32_i32$3 = $42$hi; + i64toi32_i32$3 = $41$hi; + i64toi32_i32$3 = $44$hi; + $130_1 = i64toi32_i32$2; + i64toi32_i32$3 = $43$hi; + i64toi32_i32$3 = $42$hi; + i64toi32_i32$2 = $41$hi; + i64toi32_i32$0 = $44$hi; + i64toi32_i32$1 = $43$hi; + label$3 : { + if (!(($3264($42_1 | 0, i64toi32_i32$3 | 0, $41_1 | 0, i64toi32_i32$2 | 0, $130_1 | 0, i64toi32_i32$0 | 0, $43_1 | 0, i64toi32_i32$1 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 92 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 92 | 0) >> 2] = 0; + } + $31_1 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + global$0 = $4_1 + 96 | 0; + return $31_1 | 0; + } + + function $980($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $97_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 112 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $37_1 = $6_1 + 40 | 0; + $38_1 = 4096; + $39_1 = 1; + $943($37_1 | 0, HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, $39_1 & 65535 | 0 | 0); + $943($6_1 | 0, HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, $39_1 & 65535 | 0 | 0); + $889($37_1 | 0, HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, $38_1 | 0); + $889($6_1 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, $38_1 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $232($37_1 | 0, (HEAPU8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $232($6_1 | 0, (HEAPU8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + } + label$6 : { + if (!((HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[(HEAP32[($6_1 + 92 | 0) >> 2] | 0) >> 0] = 7; + } + HEAP32[($6_1 + 88 | 0) >> 2] = 0; + break label$3; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0, HEAP32[($6_1 + 80 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + } + $227($6_1 + 40 | 0 | 0); + $227($6_1 | 0); + HEAP32[($6_1 + 108 | 0) >> 2] = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + } + $97_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + global$0 = $6_1 + 112 | 0; + return $97_1 | 0; + } + + function $981($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $74_1 = 0, $63_1 = 0, $65_1 = 0, $83_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) | 0) & 16384 | 0)) { + break label$2 + } + label$3 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) | 0) & 16384 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0) | 0; + break label$1; + } + label$4 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$4 + } + label$5 : { + if ($1019(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + break label$1; + } + label$6 : { + if ($1019(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - (HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0) | 0; + break label$1; + } + $63_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $65_1 = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $74_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$7; + } + $74_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3228($63_1 | 0, $65_1 | 0, $74_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + } + $83_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $83_1 | 0; + } + + function $982($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (0 | 0) != ((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0 | 0; + } + + function $983($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1060(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + label$1 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1; + } + $15_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $15_1 | 0; + } + + function $984($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $34_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) > ((HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((0 | 0) > ((HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $34_1 = 0; + break label$2; + } + $34_1 = (HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = $34_1; + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + return HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0; + } + + function $985($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $5_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, $94$hi = 0, $101$hi = 0, $88$hi = 0, $89$hi = 0, $26_1 = 0, $90$hi = 0, $91$hi = 0, $96$hi = 0, $97$hi = 0, $99$hi = 0, $77_1 = 0, $102$hi = 0, $103$hi = 0, $105$hi = 0, $6_1 = 0, $248_1 = 0, $262_1 = 0; + $5_1 = global$0 - 32 | 0; + $6_1 = 6; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = ((HEAPU8[(HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = ((HEAPU8[((HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $88$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $89$hi = i64toi32_i32$1; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$1 = $89$hi; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $26_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $26_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $90$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $91$hi = i64toi32_i32$0; + i64toi32_i32$0 = $90$hi; + i64toi32_i32$0 = $91$hi; + i64toi32_i32$0 = $90$hi; + i64toi32_i32$1 = $26_1; + i64toi32_i32$2 = $91$hi; + i64toi32_i32$3 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = $5_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$5; + label$1 : { + label$2 : { + if (!((HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $248_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $248_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP16[((HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + break label$1; + } + i64toi32_i32$1 = 2146435072; + $94$hi = i64toi32_i32$1; + i64toi32_i32$0 = $5_1 + 8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $262_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $262_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $96$hi = i64toi32_i32$1; + i64toi32_i32$1 = 2146435072; + $97$hi = i64toi32_i32$1; + i64toi32_i32$1 = $96$hi; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$1 = $96$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $97$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + $99$hi = i64toi32_i32$5; + i64toi32_i32$5 = $94$hi; + i64toi32_i32$5 = $99$hi; + i64toi32_i32$5 = $94$hi; + i64toi32_i32$5 = $99$hi; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$3 = 0; + $77_1 = 0; + label$3 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = 0; + $101$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $102$hi = i64toi32_i32$5; + i64toi32_i32$5 = 1048575; + $103$hi = i64toi32_i32$5; + i64toi32_i32$5 = $102$hi; + i64toi32_i32$5 = $103$hi; + i64toi32_i32$5 = $102$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $103$hi; + i64toi32_i32$0 = -1; + i64toi32_i32$1 = i64toi32_i32$5 & i64toi32_i32$1 | 0; + $105$hi = i64toi32_i32$1; + i64toi32_i32$1 = $101$hi; + i64toi32_i32$1 = $105$hi; + i64toi32_i32$1 = $101$hi; + i64toi32_i32$1 = $105$hi; + i64toi32_i32$5 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + i64toi32_i32$3 = $101$hi; + i64toi32_i32$0 = 0; + $77_1 = (i64toi32_i32$5 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0; + } + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] = $77_1 & 1 | 0 ? 1 : 8; + } + return 8 | 0; + } + + function $986($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, $3_1 = 0, i64toi32_i32$1 = 0, $12$hi = 0, $13$hi = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = 0; + $12$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $13$hi = i64toi32_i32$0; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = __wasm_i64_mul(HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $987($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $71$hi = 0, $97$hi = 0, $72$hi = 0, $73$hi = 0, $75$hi = 0, $78$hi = 0, $79$hi = 0, $32_1 = 0, $81$hi = 0, $82$hi = 0, $83$hi = 0, $84$hi = 0, $86$hi = 0, $87$hi = 0, $33_1 = 0, $89$hi = 0, $90$hi = 0, $91$hi = 0, $92$hi = 0, $31_1 = 0, $94$hi = 0, $95$hi = 0, $34_1 = 0, $99$hi = 0, $8_1 = 0; + $4_1 = global$0 - 48 | 0; + i64toi32_i32$0 = 0; + $71$hi = i64toi32_i32$0; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = -16777216; + $73$hi = i64toi32_i32$1; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $75$hi = i64toi32_i32$0; + i64toi32_i32$0 = $71$hi; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$0 = $71$hi; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $71$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$2 + } + $8_1 = 7; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 0] = i64toi32_i32$1; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $79$hi = i64toi32_i32$1; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $79$hi; + i64toi32_i32$2 = 8; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $32_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $32_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $32_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = $8_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $81$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $82$hi = i64toi32_i32$3; + i64toi32_i32$3 = $81$hi; + i64toi32_i32$3 = $82$hi; + i64toi32_i32$3 = $81$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $82$hi; + i64toi32_i32$2 = 127; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + $83$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $84$hi = i64toi32_i32$0; + i64toi32_i32$0 = $83$hi; + i64toi32_i32$0 = $84$hi; + i64toi32_i32$0 = $83$hi; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$2 = 128; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] = i64toi32_i32$3 | i64toi32_i32$2 | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $86$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $87$hi = i64toi32_i32$3; + i64toi32_i32$3 = $86$hi; + i64toi32_i32$3 = $87$hi; + i64toi32_i32$3 = $86$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$2 = 7; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $33_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + $33_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $33_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = (HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0) + -1 | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 44 | 0) >> 2] = 9; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$5 : while (1) { + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $89$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $90$hi = i64toi32_i32$0; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$0 = $90$hi; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $90$hi; + i64toi32_i32$2 = 127; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $91$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $92$hi = i64toi32_i32$1; + i64toi32_i32$1 = $91$hi; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$1 = $91$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $92$hi; + i64toi32_i32$2 = 128; + i64toi32_i32$3 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + $31_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $31_1 + 1 | 0; + HEAP8[(($4_1 + 10 | 0) + $31_1 | 0) >> 0] = i64toi32_i32$0 | i64toi32_i32$2 | 0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $94$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $95$hi = i64toi32_i32$0; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$0 = $95$hi; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $95$hi; + i64toi32_i32$2 = 7; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $34_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $34_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $97$hi = i64toi32_i32$3; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $99$hi = i64toi32_i32$1; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$1 = $99$hi; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$1 = $99$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $97$hi; + i64toi32_i32$2 = 0; + if (((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0) { + continue label$5 + } + break label$5; + }; + HEAP8[($4_1 + 10 | 0) >> 0] = ((HEAPU8[($4_1 + 10 | 0) >> 0] | 0) & 255 | 0) & 127 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[(($4_1 + 10 | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0; + } + + function $988($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $7_1 = 0, $28_1 = 0, $31_1 = 0, $44_1 = 0, $132_1 = 0, $135_1 = 0, $193_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $4_1; + $7_1 = 24; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0 | 0) >= ($4_1 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $819(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0); + label$6 : { + label$7 : while (1) { + $28_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + $31_1 = (HEAPU8[($28_1 + 68 | 0) >> 0] | 0) + -1 | 0; + HEAP8[($28_1 + 68 | 0) >> 0] = $31_1; + if (!(($31_1 & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + $44_1 = 24; + $819(HEAP32[(((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 120 | 0) + ((((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $44_1 | 0) >> $44_1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + continue label$7; + }; + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0; + break label$2; + } + break label$3; + } + label$8 : { + if (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) { + break label$8 + } + HEAP8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] = 1; + HEAP32[($3_1 + 28 | 0) >> 2] = 16; + break label$1; + } + label$9 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + $836(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1061(HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0 | 0, 0 | 0, (HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$11 + } + HEAP8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] = 1; + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 0] = 0; + HEAP8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 69 | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0; + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$12 : { + label$13 : { + if (!((HEAPU8[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$13 + } + if (!(((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0 | 0) != ((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$12 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(69970 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + $132_1 = 0; + HEAP16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 70 | 0) >> 1] = $132_1; + HEAP16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 50 | 0) >> 1] = $132_1; + $135_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP8[($135_1 + 1 | 0) >> 0] = ((HEAPU8[($135_1 + 1 | 0) >> 0] | 0) & 255 | 0) & -15 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] = 0; + break label$14; + } + label$16 : { + label$17 : { + if (((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$17 + } + label$18 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(69983 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $990(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$16; + } + HEAP8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] = 1; + HEAP32[($3_1 + 16 | 0) >> 2] = 16; + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + } + $193_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $193_1 | 0; + } + + function $989($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, $22_1 = 0, $8_1 = 0, $27_1 = 0, $28_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 50 | 0) >> 1] = 0; + $8_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP8[($8_1 + 1 | 0) >> 0] = (HEAPU8[($8_1 + 1 | 0) >> 0] | 0) & 249 | 0; + $12_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($12_1 + 70 | 0) >> 1] = HEAPU16[((((HEAP8[($12_1 + 68 | 0) >> 0] | 0) << 1 | 0) + $12_1 | 0) + 70 | 0) >> 1] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + $22_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $27_1 = (HEAPU8[($22_1 + 68 | 0) >> 0] | 0) + -1 | 0; + HEAP8[($22_1 + 68 | 0) >> 0] = $27_1; + $28_1 = 24; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] = HEAP32[(($22_1 + 120 | 0) + ((($27_1 << $28_1 | 0) >> $28_1 | 0) << 2 | 0) | 0) >> 2] | 0; + $819(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $990($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $28_1 = 0, $36_1 = 0, $10_1 = 0, $23_1 = 0, $24_1 = 0, $31_1 = 0, $45_1 = 0, $59_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $10_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) >= (19 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(69832 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $23_1 = 0; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 50 | 0) >> 1] = $23_1; + $24_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[($24_1 + 1 | 0) >> 0] = (HEAPU8[($24_1 + 1 | 0) >> 0] | 0) & 249 | 0; + $28_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $31_1 = 1; + HEAP16[(($28_1 + ((HEAP8[($28_1 + 68 | 0) >> 0] | 0) << $31_1 | 0) | 0) + 72 | 0) >> 1] = HEAPU16[($28_1 + 70 | 0) >> 1] | 0; + $36_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[(($36_1 + ((HEAP8[($36_1 + 68 | 0) >> 0] | 0) << 2 | 0) | 0) + 120 | 0) >> 2] = HEAP32[($36_1 + 116 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 70 | 0) >> 1] = $23_1; + $45_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[($45_1 + 68 | 0) >> 0] = (HEAPU8[($45_1 + 68 | 0) >> 0] | 0) + $31_1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1061(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 116 | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $59_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $59_1 | 0; + } + + function $991() { + return 200 | 0; + } + + function $992($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, $10_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = 0; + $10_1 = 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $10_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $10_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function $993($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + $127(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $994(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $15_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $15_1 | 0; + } + + function $994($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $40_1 = 0, $76_1 = 0, $82_1 = 0, $98_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$2 + } + $1062(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + label$3 : { + if (!((HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 7; + break label$1; + } + } + label$4 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0) >>> 0 <= 1 >>> 0 & 1 | 0)) { + break label$4 + } + label$5 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0) >>> 0 < 1 >>> 0 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(69138 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$6 : { + if ($165(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + } + } + $40_1 = 0; + HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 68 | 0) >> 0] = 255; + HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 112 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + HEAP8[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAP32[($7_1 + 16 | 0) >> 2] | 0 ? 1 : $40_1; + HEAP8[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] = HEAP32[($7_1 + 16 | 0) >> 2] | 0 ? $40_1 : 2; + HEAP32[$7_1 >> 2] = HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[$7_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + if (!((HEAP32[((HEAP32[$7_1 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $76_1 = HEAP32[$7_1 >> 2] | 0; + HEAP8[($76_1 + 1 | 0) >> 0] = (HEAPU8[($76_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 32 | 0; + $82_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP8[($82_1 + 1 | 0) >> 0] = (HEAPU8[($82_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 32 | 0; + } + HEAP32[$7_1 >> 2] = HEAP32[((HEAP32[$7_1 >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$8; + }; + } + HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP8[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 0] = 1; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + } + $98_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $98_1 | 0; + } + + function $995($0_1, $1_1, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $48$hi = 0, $49$hi = 0, $48_1 = 0, $140_1 = 0; + $6_1 = global$0 - 32 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if ((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + break label$1; + } + HEAP8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 11 | 0) >> 0] = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 16 | 0)) { + break label$4 + } + HEAP8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 11 | 0) >> 0] = 1; + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $48_1 = i64toi32_i32$0; + $48$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $49$hi = i64toi32_i32$0; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = $49$hi; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = $49$hi; + $140_1 = i64toi32_i32$1; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$2 = $48_1; + i64toi32_i32$1 = $49$hi; + if (!(((i64toi32_i32$2 | 0) == ($140_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$5 + } + } + HEAP8[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 0] = 1; + } + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$3; + }; + } + return; + } + + function $996($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $20_1 = 0, $142_1 = 0, $152_1 = 0, $167_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0) >>> 0 > ($165(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(74007 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $20_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1061(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, $6_1 + 40 | 0 | 0, $20_1 | 0, $20_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(74012 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + HEAP8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0) >> 0] = 1; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + label$8 : { + if (((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $996(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, $161(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0 | 0, 1 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$9 + } + break label$4; + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1008(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$10 + } + break label$4; + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + label$11 : { + label$12 : { + if (((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$12 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $996(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, $161((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) | 0 | 0) | 0 | 0, 1 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$13 + } + break label$4; + } + break label$11; + } + label$14 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + $142_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[$142_1 >> 2] = (HEAP32[$142_1 >> 2] | 0) + ((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) | 0; + } + } + label$15 : { + label$16 : { + if (!(HEAP32[($6_1 + 48 | 0) >> 2] | 0)) { + break label$16 + } + $1063(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $6_1 + 36 | 0 | 0); + break label$15; + } + $152_1 = $145(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = $152_1; + label$17 : { + if ($152_1) { + break label$17 + } + $785(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 8 | 0 | 0); + } + } + } + HEAP8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0) >> 0] = 0; + $814(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + $167_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $167_1 | 0; + } + + function $997($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $86_1 = 0, $47_1 = 0, $207_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $807(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + $913(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, 4 | 0, $5_1 + 36 | 0 | 0); + label$4 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0) >>> 0 > ($165(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(73869 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($5_1 + 36 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0; + label$5 : while (1) { + $47_1 = 1; + label$6 : { + if ((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == ($808(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0) { + break label$6 + } + $47_1 = (HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0); + } + label$7 : { + if (!($47_1 & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 36 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $813(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $5_1 + 20 | 0 | 0, $5_1 + 24 | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + label$9 : { + label$10 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $86_1 = 0; + HEAP8[($5_1 + 19 | 0) >> 0] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $86_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $198(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $86_1 | 0, $86_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $814(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + label$11 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $201(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 40 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $812(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 19 | 0 | 0, $5_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + label$14 : { + if (((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0) { + break label$14 + } + if (!(((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$13 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(73917 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + label$15 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$15 + } + $814(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $815(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $814(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + label$16 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$16 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $201(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 40 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$17 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$18 + } + $814(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + break label$9; + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + $832(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, 0 | 0, $5_1 + 32 | 0 | 0); + label$19 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$19 + } + $814(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $140(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$20 + } + $814(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $813(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $5_1 + 40 | 0 | 0, $5_1 + 36 | 0 | 0, 1 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$21 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + } + label$22 : { + label$23 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 13; + break label$22; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 10; + } + $785(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + $137(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + } + $207_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $207_1 | 0; + } + + function $998($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $7_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + label$3 : while (1) { + $7_1 = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $7_1; + if (!((((HEAPU8[($7_1 + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 70 | 0) >> 1] = HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $990(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + break label$1; + } + continue label$3; + }; + } + HEAP16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 70 | 0) >> 1] = ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $44_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $44_1 | 0; + } + + function $999($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) <= (13 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAPU16[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0; + label$3 : { + label$4 : { + if (!(((HEAPU8[(HEAP32[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(((HEAPU8[(HEAP32[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$5 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 30; + break label$1; + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 0] = 1; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 13 | 0) >> 0] = 255; + break label$3; + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 0] = 255; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 13 | 0) >> 0] = 1; + } + label$6 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) & 4 | 0)) { + break label$6 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 31; + break label$1; + } + label$7 : { + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) & 57 | 0) { + break label$7 + } + if (!((HEAP32[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 32; + break label$1; + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = 30; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1000($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $10_1 = $944(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $10_1 | 0; + } + + function $1001($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $20_1 = 0, $60_1 = 0, $63_1 = 0, $117_1 = 0, $166_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$4 + } + $20_1 = $392(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0; + break label$3; + } + $20_1 = 0; + } + HEAP32[($3_1 + 20 | 0) >> 2] = $20_1; + label$5 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + label$6 : { + if (!((1 | 0) == ((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 101; + break label$1; + } + label$7 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] = 0; + label$8 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + $60_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + $63_1 = (HEAPU16[($60_1 + 70 | 0) >> 1] | 0) + 1 | 0; + HEAP16[($60_1 + 70 | 0) >> 1] = $63_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $63_1 & 65535 | 0; + label$9 : { + label$10 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + if (!($176(412 | 0) | 0)) { + break label$9 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(70480 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$11 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) >= ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + if (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$12 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $990(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $161((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1002(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$14 : while (1) { + $117_1 = 24; + label$15 : { + if (((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $117_1 | 0) >> $117_1 | 0) { + break label$15 + } + HEAP8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] = 1; + HEAP32[($3_1 + 28 | 0) >> 2] = 101; + break label$1; + } + $989(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + if (((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0 | 0) >= ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) { + continue label$14 + } + break label$14; + }; + label$16 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$16 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $924(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$17 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1002(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $166_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $166_1 | 0; + } + + function $1002($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $10_1 = 0, $61_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : while (1) { + $7_1 = 0; + label$2 : { + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + $10_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = $10_1; + $7_1 = ((HEAPU8[($10_1 + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0; + } + label$3 : { + if (!($7_1 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[$3_1 >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 64 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 64 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $990(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + continue label$1; + } + break label$1; + }; + $61_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $61_1 | 0; + } + + function $1003($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $20_1 = 0, $115_1 = 0, $122_1 = 0, $147_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$4 + } + $20_1 = $392(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0; + break label$3; + } + $20_1 = 0; + } + HEAP32[($3_1 + 20 | 0) >> 2] = $20_1; + label$5 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + label$6 : { + if (!((1 | 0) == ((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 101; + break label$1; + } + label$7 : { + if (!((2 | 0) == ((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] = 0; + label$8 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (((HEAPU8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$10 + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $990(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $161((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $998(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$9; + } + label$12 : { + label$13 : while (1) { + if ((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 70 | 0) >> 1] | 0) & 65535 | 0) { + break label$12 + } + $115_1 = 24; + label$14 : { + if (((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $115_1 | 0) >> $115_1 | 0) { + break label$14 + } + HEAP8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] = 1; + HEAP32[($3_1 + 28 | 0) >> 2] = 101; + break label$1; + } + $989(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + continue label$13; + }; + } + $122_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP16[($122_1 + 70 | 0) >> 1] = (HEAPU16[($122_1 + 70 | 0) >> 1] | 0) + -1 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$15 : { + label$16 : { + if (!((HEAPU8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0)) { + break label$16 + } + if (((HEAPU8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$16 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $925(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$15; + } + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $147_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $147_1 | 0; + } + + function $1004($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $139_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0) | 0) >>> 0 > (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 0 < ((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) | 0) >>> 0 & 1 | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(73299 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1072(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0, (HEAPU16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0 | 0) == (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) & 65535 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 4 | 0; + label$6 : while (1) { + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $201(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $4_1 + 20 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + break label$1; + } + label$8 : { + label$9 : { + if (!(($625(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(73318 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + break label$8; + } + label$10 : { + label$11 : { + if (!(((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0) >>> 0 < (HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $161(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$10; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) - (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1072(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + $137(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + label$12 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + if ((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$6 + } + break label$6; + }; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $139_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $139_1 | 0; + } + + function $1005($0_1, $1_1, $2_1, $2$hi, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $68_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 20 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $929(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 44 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$0 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $930(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0); + label$6 : { + label$7 : { + if (!((HEAPU16[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0)) { + break label$7 + } + if (!(((HEAPU16[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) > ((HEAPU16[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$6 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(65548 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + break label$3; + } + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + } + i64toi32_i32$1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $922(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $13(HEAP32[((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + $68_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $68_1 | 0; + } + + function $1006($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $212_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP8[($3_1 + 35 | 0) >> 0] = HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = (((((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (((HEAPU8[($3_1 + 35 | 0) >> 0] | 0) & 255 | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (((HEAPU8[($3_1 + 35 | 0) >> 0] | 0) & 255 | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) - 1 | 0) & 65535 | 0) + 1 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = ((((HEAPU8[($3_1 + 35 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) + ((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0) + (((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) - 4 | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (((HEAPU8[($3_1 + 35 | 0) >> 0] | 0) & 255 | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (((HEAPU8[($3_1 + 35 | 0) >> 0] | 0) & 255 | 0) + 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (((HEAPU8[($3_1 + 35 | 0) >> 0] | 0) & 255 | 0) + 7 | 0) | 0) >> 0] | 0) & 255 | 0) + (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(66639 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$4 : while (1) { + label$5 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) > (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(66644 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (HEAP32[($3_1 + 36 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (HEAP32[($3_1 + 36 | 0) >> 2] | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[$3_1 >> 2] = ((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 2 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + (HEAP32[$3_1 >> 2] | 0) | 0; + label$6 : { + label$7 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) >>> 0 <= (((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + (HEAP32[$3_1 >> 2] | 0) | 0) + 3 | 0) >>> 0 & 1 | 0)) { + break label$7 + } + break label$6; + } + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + continue label$4; + } + break label$4; + }; + label$8 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(66654 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$9 : { + if (!(((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + (HEAP32[$3_1 >> 2] | 0) | 0) >>> 0 > (HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(66658 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + label$10 : { + label$11 : { + if ((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$11 + } + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(66670 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) - (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0) & 65535 | 0; + HEAP32[($3_1 + 44 | 0) >> 2] = 0; + } + $212_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $212_1 | 0; + } + + function $1007($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $42_1 = 0, $77_1 = 0, $152_1 = 0, $248_1 = 0, $58_1 = 0, $316_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 72 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$4 + } + HEAP8[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + $42_1 = 1; + break label$3; + } + i64toi32_i32$1 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $42_1 = $908((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ($42_1 & 255 | 0) | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $58_1 = $908((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $58_1 | 0; + break label$1; + } + i64toi32_i32$2 = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 72 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 64 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 80 | 0) >> 2] | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$6 + } + HEAP8[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + $77_1 = 1; + break label$5; + } + i64toi32_i32$1 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $77_1 = $908((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ($77_1 & 255 | 0) | 0; + } + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) <= ((HEAPU16[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 60 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 72 | 0) >> 2] | 0) | 0; + label$9 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 4; + } + HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $3288(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) | 0; + $3289((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 64 | 0) >> 2] | 0) | 0 | 0, 0 | 0, (HEAP32[($6_1 + 72 | 0) >> 2] | 0) - (HEAP32[($6_1 + 64 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + break label$7; + } + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAPU16[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((((HEAP32[($6_1 + 72 | 0) >> 2] | 0) - (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0) >>> 0) % (((HEAP32[((HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 4 | 0) >>> 0) | 0) | 0; + label$10 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) > ((HEAPU16[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + } + $152_1 = 0; + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] = ((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) + 4 | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0) | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $152_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $152_1; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + label$11 : while (1) { + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + label$12 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) > (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + } + label$13 : { + label$14 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) >= (HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $3288(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0; + break label$13; + } + label$15 : { + label$16 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + $3288(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0; + break label$15; + } + $3289(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($6_1 + 72 | 0) >> 2] = (HEAP32[($6_1 + 72 | 0) >> 2] | 0) - (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0; + label$17 : { + label$18 : { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$18 + } + break label$17; + } + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) - (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = (HEAP32[($6_1 + 48 | 0) >> 2] | 0) - (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0; + label$19 : { + if (HEAP32[($6_1 + 48 | 0) >> 2] | 0) { + break label$19 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + label$20 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$20 + } + label$21 : while (1) { + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + $248_1 = 1; + label$22 : { + if (($808(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$22 + } + $248_1 = (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0); + } + if ($248_1 & 1 | 0) { + continue label$21 + } + break label$21; + }; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $813(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, $6_1 + 20 | 0 | 0, $6_1 + 28 | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!((HEAPU8[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0)) { + break label$23 + } + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$23 + } + HEAP8[($6_1 + 15 | 0) >> 0] = HEAP32[($6_1 + 16 | 0) >> 2] | 0 ? 4 : 3; + $832(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, (HEAPU8[($6_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $6_1 + 56 | 0 | 0); + label$24 : { + if (!(HEAP32[($6_1 + 56 | 0) >> 2] | 0)) { + break label$24 + } + $814(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + } + label$25 : { + if (!(HEAP32[($6_1 + 56 | 0) >> 2] | 0)) { + break label$25 + } + $814(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 92 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + break label$7; + } + $162(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0); + $814(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $162(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, 0 | 0); + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 4 | 0; + } + continue label$11; + } + break label$11; + }; + $814(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + } + $316_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + global$0 = $6_1 + 96 | 0; + return $316_1 | 0; + } + + function $1008($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $66_1 = 0, $70_1 = 0, $109_1 = 0, $143_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 40 | 0) >> 2] | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0); + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!(((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) | 0) >>> 0 > (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(71132 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $161(((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) | 0) + -4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 4 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (((((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - ((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) - 1 | 0) >>> 0) / ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0) | 0; + label$4 : { + label$5 : while (1) { + $66_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $66_1 + -1 | 0; + if (!$66_1) { + break label$4 + } + $70_1 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $70_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $70_1; + label$6 : { + label$7 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0 < 2 >>> 0 & 1 | 0) { + break label$7 + } + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0 > ($165(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0)) { + break label$6 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(71149 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$8 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $826(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $5_1 + 4 | 0 | 0, $5_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$1; + } + } + label$10 : { + label$11 : { + label$12 : { + if ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + $109_1 = $1064(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $109_1; + if (!(($109_1 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + } + if (!(($625(HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(71169 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$10; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1065(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$13 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + $137(HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + } + label$14 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$14 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + continue label$5; + }; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $143_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $143_1 | 0; + } + + function $1009($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $8_1 = 0, $9_1 = 0, $57_1 = 0, $141_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 1 | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = ((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0; + label$3 : { + if (!(((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0) >>> 0 > (HEAP32[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + $44_1 = $694(71405 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $44_1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1073(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 28 | 0) >> 2] | 0) & 65535 | 0 | 0, (HEAP32[($6_1 + 36 | 0) >> 2] | 0) & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + break label$1; + } + $57_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP16[($57_1 + 24 | 0) >> 1] = (HEAPU16[($57_1 + 24 | 0) >> 1] | 0) + -1 | 0; + label$5 : { + if ((HEAPU16[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) { + break label$5 + } + $8_1 = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0; + $9_1 = 0; + HEAP8[$8_1 >> 0] = $9_1; + HEAP8[($8_1 + 1 | 0) >> 0] = $9_1 >>> 8 | 0; + HEAP8[($8_1 + 2 | 0) >> 0] = $9_1 >>> 16 | 0; + HEAP8[($8_1 + 3 | 0) >> 0] = $9_1 >>> 24 | 0; + HEAP8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 7 | 0) | 0) >> 0] = 0; + HEAP8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] = (HEAP32[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 8 | 0; + HEAP8[(((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] = HEAP32[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] = (((HEAP32[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - ((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) | 0) - ((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0) - 8 | 0; + break label$1; + } + $3290(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 2 | 0 | 0, (((HEAPU16[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) - (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) << 1 | 0 | 0) | 0; + HEAP8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0) | 0) >> 0] = ((HEAPU16[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) >> 8 | 0; + HEAP8[(((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0) | 0) + 1 | 0) >> 0] = HEAPU16[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0; + $141_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[($141_1 + 20 | 0) >> 2] = (HEAP32[($141_1 + 20 | 0) >> 2] | 0) + 2 | 0; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $1010($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $110_1 = 0, $39_1 = 0, $40_1 = 0, $83_1 = 0, $113_1 = 0, $127_1 = 0, $135_1 = 0, $137_1 = 0, $145_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 48 | 0; + global$0 = $9_1; + HEAP32[($9_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAPU8[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if (!(((HEAP32[($9_1 + 32 | 0) >> 2] | 0) + 2 | 0 | 0) > (HEAP32[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + } + label$4 : { + if (!((HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $3288(HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 36 | 0) >> 2] = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + } + label$5 : { + if (!(HEAP32[($9_1 + 24 | 0) >> 2] | 0)) { + break label$5 + } + $162(HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0); + } + $39_1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + $40_1 = HEAPU8[($39_1 + 12 | 0) >> 0] | 0; + HEAP8[($39_1 + 12 | 0) >> 0] = $40_1 + 1 | 0; + HEAP32[($9_1 + 12 | 0) >> 2] = $40_1 & 255 | 0; + HEAP32[(((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($9_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + HEAP16[(((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($9_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[$9_1 >> 2] | 0)) { + break label$6 + } + HEAP32[(HEAP32[($9_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[$9_1 >> 2] | 0; + break label$1; + } + HEAP32[($9_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1074(HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, $9_1 + 16 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[$9_1 >> 2] | 0)) { + break label$7 + } + HEAP32[(HEAP32[($9_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[$9_1 >> 2] | 0; + break label$1; + } + $83_1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + HEAP32[($83_1 + 20 | 0) >> 2] = (HEAP32[($83_1 + 20 | 0) >> 2] | 0) - (((HEAP32[($9_1 + 32 | 0) >> 2] | 0) + 2 | 0) & 65535 | 0) | 0; + label$8 : { + label$9 : { + if (!(HEAP32[($9_1 + 24 | 0) >> 2] | 0)) { + break label$9 + } + $3288((HEAP32[($9_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 16 | 0) >> 2] | 0) + 4 | 0) | 0 | 0, (HEAP32[($9_1 + 36 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($9_1 + 32 | 0) >> 2] | 0) - 4 | 0 | 0) | 0; + $162((HEAP32[($9_1 + 8 | 0) >> 2] | 0) + (HEAP32[($9_1 + 16 | 0) >> 2] | 0) | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0); + break label$8; + } + $3288((HEAP32[($9_1 + 8 | 0) >> 2] | 0) + (HEAP32[($9_1 + 16 | 0) >> 2] | 0) | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + $110_1 = 1; + HEAP32[($9_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 40 | 0) >> 2] | 0) << $110_1 | 0) | 0; + $113_1 = HEAP32[($9_1 + 4 | 0) >> 2] | 0; + $3290($113_1 + 2 | 0 | 0, $113_1 | 0, ((HEAPU16[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) - (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0) << $110_1 | 0 | 0) | 0; + HEAP8[(HEAP32[($9_1 + 4 | 0) >> 2] | 0) >> 0] = (HEAP32[($9_1 + 16 | 0) >> 2] | 0) >>> 8 | 0; + HEAP8[((HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + $127_1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + HEAP16[($127_1 + 24 | 0) >> 1] = (HEAPU16[($127_1 + 24 | 0) >> 1] | 0) + $110_1 | 0; + $135_1 = (HEAP32[($9_1 + 8 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) + 4 | 0) | 0; + $137_1 = (HEAPU8[$135_1 >> 0] | 0) + $110_1 | 0; + HEAP8[$135_1 >> 0] = $137_1; + label$10 : { + if ($137_1 & 255 | 0) { + break label$10 + } + $145_1 = (HEAP32[($9_1 + 8 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) + 3 | 0) | 0; + HEAP8[$145_1 >> 0] = (HEAPU8[$145_1 >> 0] | 0) + 1 | 0; + } + label$11 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + $835(HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0); + } + } + global$0 = $9_1 + 48 | 0; + return; + } + + function $1011($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $38_1 = 0, $40_1 = 0, $46_1 = 0, $55_1 = 0, $186_1 = 0, $195_1 = 0, $212_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 64 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 52 | 0) >> 2] = (((HEAP32[((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) << 1 | 0) >>> 0) / (3 >>> 0) | 0; + HEAP32[($3_1 + 32 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + if (!($1006(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if ((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) <= (HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + $38_1 = 24; + $40_1 = ((HEAPU8[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $38_1 | 0) >> $38_1 | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $40_1; + label$5 : { + label$6 : { + if ($40_1) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + $46_1 = $1075(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 56 | 0) >> 2] = $46_1; + if ($46_1) { + break label$8 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1076(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, ((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 120 | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$9 + } + $55_1 = 0; + HEAP8[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 68 | 0) >> 0] = 1; + HEAP16[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 70 | 0) >> 1] = $55_1; + HEAP16[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 72 | 0) >> 1] = $55_1; + HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 120 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 116 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0; + } + break label$7; + } + break label$1; + } + break label$5; + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 120 | 0) + (((HEAP32[($3_1 + 28 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAPU16[(((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 72 | 0) + (((HEAP32[($3_1 + 28 | 0) >> 2] | 0) - 1 | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$10 + } + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1006(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$11 + } + label$12 : { + label$13 : { + if (!((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0)) { + break label$13 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$13 + } + if (!(((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0 | 0) == ((HEAPU16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$13 + } + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$13 + } + if (!(((HEAPU16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) == (HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1077(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $3_1 + 39 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + break label$12; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $631(HEAP32[((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1078(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 | 0, ((HEAPU8[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + $623(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 32 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + } + HEAP8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] = 0; + $814(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + $186_1 = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + HEAP8[($186_1 + 68 | 0) >> 0] = (HEAPU8[($186_1 + 68 | 0) >> 0] | 0) + -1 | 0; + $195_1 = 24; + HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 116 | 0) >> 2] = HEAP32[(((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 120 | 0) + ((((HEAPU8[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $195_1 | 0) >> $195_1 | 0) << 2 | 0) | 0) >> 2] | 0; + } + if (!(HEAP32[($3_1 + 56 | 0) >> 2] | 0)) { + continue label$2 + } + break label$2; + }; + } + label$15 : { + if (!((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $623(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + } + $212_1 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + global$0 = $3_1 + 64 | 0; + return $212_1 | 0; + } + + function $1012($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$4_1 >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 56) | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + 8 | 0; + } + return HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $1013($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $51_1 = 0, $70_1 = 0, $95_1 = 0, $135_1 = 0, $16_1 = 0, $155_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 304 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 296 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 292 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1091(HEAP32[($4_1 + 296 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 280 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 280 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 300 | 0) >> 2] = HEAP32[($4_1 + 280 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 284 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 292 | 0) >> 2] | 0) >> 2] | 0; + $16_1 = $1092(HEAP32[((HEAP32[($4_1 + 296 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 296 | 0) >> 2] | 0) + 32 | 0) >> 2] = $16_1; + $3289($4_1 + 16 | 0 | 0, 0 | 0, 256 | 0) | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 284 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 292 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 284 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 292 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$7; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 292 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 284 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + } + break label$5; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 284 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + $51_1 = 0; + HEAP32[((HEAP32[($4_1 + 284 | 0) >> 2] | 0) + 4 | 0) >> 2] = $51_1; + HEAP32[($4_1 + 288 | 0) >> 2] = $51_1; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[(($4_1 + 16 | 0) + ((HEAP32[($4_1 + 288 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $70_1 = $4_1 + 16 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1093(HEAP32[($4_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($70_1 + ((HEAP32[($4_1 + 288 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 284 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($70_1 + ((HEAP32[($4_1 + 288 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($4_1 + 288 | 0) >> 2] = (HEAP32[($4_1 + 288 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + HEAP32[(($4_1 + 16 | 0) + ((HEAP32[($4_1 + 288 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 284 | 0) >> 2] | 0; + HEAP32[($4_1 + 284 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + continue label$4; + }; + } + $95_1 = 0; + HEAP32[($4_1 + 284 | 0) >> 2] = $95_1; + HEAP32[($4_1 + 288 | 0) >> 2] = $95_1; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($4_1 + 288 | 0) >> 2] | 0 | 0) < (64 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + label$14 : { + if (!((HEAP32[(($4_1 + 16 | 0) + ((HEAP32[($4_1 + 288 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + break label$13; + } + label$15 : { + label$16 : { + if (!((HEAP32[($4_1 + 284 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $135_1 = $1093(HEAP32[($4_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[(($4_1 + 16 | 0) + ((HEAP32[($4_1 + 288 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + break label$15; + } + $135_1 = HEAP32[(($4_1 + 16 | 0) + ((HEAP32[($4_1 + 288 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($4_1 + 284 | 0) >> 2] = $135_1; + } + HEAP32[($4_1 + 288 | 0) >> 2] = (HEAP32[($4_1 + 288 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP32[(HEAP32[($4_1 + 292 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 284 | 0) >> 2] | 0; + HEAP32[($4_1 + 300 | 0) >> 2] = (HEAPU8[((HEAP32[((HEAP32[($4_1 + 296 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0; + } + $155_1 = HEAP32[($4_1 + 300 | 0) >> 2] | 0; + global$0 = $4_1 + 304 | 0; + return $155_1 | 0; + } + + function $1014($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 0] = 1; + $12_1 = $1094((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $12_1 | 0; + } + + function $1015($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0; + HEAP32[$3_1 >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1095(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + $12_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1096(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0, $12_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + HEAP32[$3_1 >> 2] = $12_1; + } + label$2 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $864(HEAP32[$3_1 >> 2] | 0 | 0); + } + $20_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $20_1 | 0; + } + + function $1016($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $183_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1116((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 32 | 0) >> 2] | 0, 56) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul((HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 65534 | 0, 56) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 1 | 0, 56) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = ((HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 1; + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 8 | 0) >> 2] = -1; + break label$6; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 28 | 0) >> 2] | 0, $4_1 + 12 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + } + label$8 : { + label$9 : { + label$10 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$10 + } + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$9 + } + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$9 + } + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0 | 0) / (56 | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 24 | 0) >> 2] | 0) ^ 1 | 0) << 2 | 0) | 0) >> 2] | 0, 56) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$8; + } + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0 | 0) / (56 | 0) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 24 | 0) >> 2] | 0) ^ 1 | 0) << 2 | 0) | 0) >> 2] | 0, 56) | 0; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) / (2 | 0) | 0; + continue label$3; + }; + } + HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] = (HEAP32[(((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 56) | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0; + } + label$12 : { + label$13 : { + if (HEAP32[($4_1 + 36 | 0) >> 2] | 0) { + break label$13 + } + $183_1 = (HEAPU8[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0; + break label$12; + } + $183_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + global$0 = $4_1 + 48 | 0; + return $183_1 | 0; + } + + function $1017() { + var $2_1 = 0; + $2_1 = global$0 - 16 | 0; + HEAP32[($2_1 + 12 | 0) >> 2] = HEAP32[(0 + 114128 | 0) >> 2] | 0; + return HEAP32[($2_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1018($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $5_1 = 0, $9_1 = 0, $14_1 = 0, $27_1 = 0, $171$hi = 0, $100_1 = 0, $172$hi = 0, $173$hi = 0, $29_1 = 0, $174$hi = 0, $177$hi = 0, $178$hi = 0, $30_1 = 0, $179$hi = 0, $180$hi = 0, $212_1 = 0, $240_1 = 0, $281_1 = 0, $336_1 = 0, $171_1 = 0, $529_1 = 0, $533_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($5_1 | 0) { + case 0: + case 1: + $9_1 = 24; + i64toi32_i32$1 = ((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $212_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $212_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$1; + case 2: + $14_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $14_1 | 0) >> $14_1 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $240_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $240_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$1; + case 3: + $27_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $27_1 | 0) >> $27_1 | 0) << 16 | 0 | (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $281_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $281_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$1; + case 4: + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $336_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $336_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$1; + case 5: + i64toi32_i32$0 = 0; + $171_1 = ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) | 0; + $171$hi = i64toi32_i32$0; + $100_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $100_1 | 0) >> $100_1 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $172$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $173$hi = i64toi32_i32$0; + i64toi32_i32$0 = $172$hi; + i64toi32_i32$0 = $173$hi; + i64toi32_i32$0 = $172$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $173$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $29_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $29_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $174$hi = i64toi32_i32$1; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$1 = $174$hi; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$0 = $171_1; + i64toi32_i32$2 = $174$hi; + i64toi32_i32$3 = $29_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$5; + break label$1; + case 6: + i64toi32_i32$5 = 0; + i64toi32_i32$0 = $4_1; + HEAP32[$4_1 >> 2] = ((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $177$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $178$hi = i64toi32_i32$0; + i64toi32_i32$0 = $177$hi; + i64toi32_i32$0 = $178$hi; + i64toi32_i32$0 = $177$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $178$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $30_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$2 | 0) | 0; + $30_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $179$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $180$hi = i64toi32_i32$5; + i64toi32_i32$5 = $179$hi; + i64toi32_i32$5 = $180$hi; + i64toi32_i32$5 = $179$hi; + i64toi32_i32$0 = $30_1; + i64toi32_i32$1 = $180$hi; + i64toi32_i32$3 = ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + $529_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + HEAP32[$4_1 >> 2] = $529_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$5 = $4_1; + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $533_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $533_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$1; + default: + break label$2; + }; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 8 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $1019($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1020($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $77_1 = 0, $93_1 = 0, $120_1 = 0, $144_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0) >>> 0 > ($165(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(74116 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $201(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 24 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($5_1 + 28 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $917(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($5_1 + 28 | 0) >> 2] | 0)) { + break label$4 + } + $814(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = 0; + label$5 : { + label$6 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + $913(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 4 | 0, $5_1 + 16 | 0 | 0); + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $1063(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $5_1 + 28 | 0 | 0); + $814(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + label$9 : { + if (!(HEAP32[($5_1 + 28 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + break label$7; + } + $814(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $201(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(HEAP32[($5_1 + 28 | 0) >> 2] | 0)) { + break label$10 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + $77_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $815(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, $77_1 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $77_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $814(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + label$11 : { + if (!(HEAP32[($5_1 + 28 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + $93_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $93_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $201(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0, $93_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $1063(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $5_1 + 28 | 0 | 0); + $814(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + label$12 : { + if (!(HEAP32[($5_1 + 28 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + -1 | 0; + label$13 : while (1) { + $120_1 = 1; + label$14 : { + if ((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == ((((HEAP32[(0 + 69008 | 0) >> 2] | 0) >>> 0) / ((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) | 0) + 1 | 0 | 0) & 1 | 0) { + break label$14 + } + $120_1 = ($808(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + label$15 : { + if (!($120_1 & 1 | 0)) { + break label$15 + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + -1 | 0; + continue label$13; + } + break label$13; + }; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $140(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + $1063(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $5_1 + 28 | 0 | 0); + $814(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + $144_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $144_1 | 0; + } + + function $1021($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $11_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $13(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + $11_1 = $291(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = $11_1; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1022($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $127(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $152(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $151(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $12_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $12_1 | 0; + } + + function $1023($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $86$hi = 0, i64toi32_i32$3 = 0, $87$hi = 0, $88$hi = 0, $90$hi = 0, $70_1 = 0, $36_1 = 0, $45_1 = 0, $55_1 = 0, $73_1 = 0, $74_1 = 0, $82_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = 7; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) & 1 | 0)) { + break label$6 + } + $36_1 = $291(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = $36_1; + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + break label$5; + } + i64toi32_i32$0 = 0; + $86$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $87$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $88$hi = i64toi32_i32$1; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $90$hi = i64toi32_i32$0; + i64toi32_i32$0 = $86$hi; + i64toi32_i32$0 = $90$hi; + i64toi32_i32$0 = $86$hi; + i64toi32_i32$0 = $90$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $86$hi; + i64toi32_i32$3 = 0; + label$7 : { + label$8 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$8 + } + $45_1 = $694(128876 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = $45_1; + break label$7; + } + label$9 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 40 | 0) >> 2] = 5232; + } + $55_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($55_1 | 0, 8661 | 0, $5_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $70_1 = 24; + if (!(((HEAPU8[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 0] | 0) << $70_1 | 0) >> $70_1 | 0)) { + break label$10 + } + $73_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + $74_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $74_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($73_1 | 0, 8692 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $82_1 = $694(128883 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = $82_1; + } + } + } + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1024($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $47$hi = 0, $48$hi = 0, $49$hi = 0, $50$hi = 0, $21_1 = 0, $51$hi = 0, $52$hi = 0, $53$hi = 0, $56$hi = 0, $27_1 = 0, $37_1 = 0, $40_1 = 0, $47_1 = 0, $23_1 = 0, $50_1 = 0, $116_1 = 0; + $4_1 = global$0 - 32 | 0; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$2 + } + i64toi32_i32$0 = 1; + $47_1 = 0; + $47$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $49$hi = i64toi32_i32$1; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $48$hi; + $23_1 = i64toi32_i32$0; + i64toi32_i32$0 = $49$hi; + i64toi32_i32$0 = __wasm_i64_mul($23_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $50_1 = i64toi32_i32$0; + $50$hi = i64toi32_i32$1; + $21_1 = 24; + i64toi32_i32$0 = ((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $21_1 | 0) >> $21_1 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $51$hi; + $116_1 = i64toi32_i32$0; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$3 = $116_1; + i64toi32_i32$4 = $50_1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $52$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $53$hi = i64toi32_i32$5; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$5 = $53$hi; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$3 = 48; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) + $53$hi | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $56$hi = i64toi32_i32$1; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$4 = $47$hi; + i64toi32_i32$3 = $47_1; + label$4 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$4 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$4 | 0) & i64toi32_i32$5 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + $27_1 = 0; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = $27_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $27_1; + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$5 : { + label$6 : { + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$6 + } + $37_1 = 24; + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $37_1 | 0) >> $37_1 | 0)) { + break label$5 + } + } + $40_1 = 0; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = $40_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $40_1; + break label$1; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $1025($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $25_1 = 0, $61_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$4 + } + $25_1 = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) ^ 1 | 0; + break label$3; + } + $25_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 8 | 0) >> 2] = $25_1; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if ($1133(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + break label$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + break label$1; + } + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $61_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $61_1 | 0; + } + + function $1026($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1027($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0, $92_1 = 0, $12_1 = 0, $109_1 = 0, $126_1 = 0, $131_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 128 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 112 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 108 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 104 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[(HEAP32[($6_1 + 112 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($6_1 + 124 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $361(HEAP32[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 112 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 100 | 0) >> 2] = 0; + break label$5; + } + label$7 : { + label$8 : { + if ($87(HEAP32[(HEAP32[($6_1 + 112 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $416(HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + break label$7; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1025(HEAP32[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($6_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!((HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($6_1 + 88 | 0) >> 2] = 0; + HEAP32[($6_1 + 84 | 0) >> 2] = (HEAPU16[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) + 1 | 0; + $9_1 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $11_1 = (HEAPU8[($9_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($9_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 65531 | 0; + HEAP8[($9_1 + 55 | 0) >> 0] = $11_1; + HEAP8[($9_1 + 56 | 0) >> 0] = $11_1 >>> 8 | 0; + $92_1 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $1134(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($92_1 + 8 | 0) >> 2] | 0 | 0, $92_1 | 0); + $10_1 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $12_1 = HEAPU8[($10_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($10_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 128 | 0; + HEAP8[($10_1 + 55 | 0) >> 0] = $12_1; + HEAP8[($10_1 + 56 | 0) >> 0] = $12_1 >>> 8 | 0; + label$11 : { + if (!((HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP16[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 46 | 0) >> 1] = HEAPU16[(HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 1] | 0; + $109_1 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + HEAP32[($109_1 + 36 | 0) >> 2] = HEAP32[($109_1 + 36 | 0) >> 2] | 0 | 16 | 0; + } + break label$9; + } + HEAP16[($6_1 + 56 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0; + $1134(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, 1 | 0, 0 | 0, (HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 46 | 0 | 0, $6_1 + 8 | 0 | 0); + HEAP16[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 48 | 0) >> 1] = HEAPU16[($6_1 + 56 | 0) >> 1] | 0; + $126_1 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + HEAP32[($126_1 + 36 | 0) >> 2] = HEAP32[($126_1 + 36 | 0) >> 2] | 0 | 16 | 0; + } + HEAP32[($6_1 + 124 | 0) >> 2] = 0; + } + $131_1 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + global$0 = $6_1 + 128 | 0; + return $131_1 | 0; + } + + function $1028($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0, $28_1 = 0, $36_1 = 0, $48_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((5 | 0) < ((HEAPU16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = 5; + break label$1; + } + $17_1 = (HEAPU16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + } + HEAP32[($3_1 + 16 | 0) >> 2] = $17_1; + HEAP16[($3_1 + 22 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 46 | 0) >> 1] | 0; + $28_1 = 16; + label$3 : { + if (!((((HEAPU16[($3_1 + 22 | 0) >> 1] | 0) << $28_1 | 0) >> $28_1 | 0 | 0) < (99 | 0) & 1 | 0)) { + break label$3 + } + $36_1 = 99; + HEAP16[($3_1 + 22 | 0) >> 1] = $36_1; + HEAP16[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 46 | 0) >> 1] = $36_1; + } + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $48_1 = 16; + HEAP16[($3_1 + 22 | 0) >> 1] = (((HEAPU16[($3_1 + 22 | 0) >> 1] | 0) << $48_1 | 0) >> $48_1 | 0) - 10 | 0; + } + HEAP16[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 1] = HEAPU16[($3_1 + 22 | 0) >> 1] | 0; + $3288((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 2 | 0 | 0, 8842 | 0, (HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 1 | 0 | 0) | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 1 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) <= ((HEAPU16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = 23; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$7 : { + if (!((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$7 + } + HEAP16[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] = 0; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $1029($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $3_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $1136(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $3_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : { + if (!((((HEAPU8[($3_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($3_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 4 | 0) & 1 | 0) & 65535 | 0)) { + break label$1 + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1030($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $10_1 = $362((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $10_1 | 0; + } + + function $1031($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $15_1 = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 3 | 0) | 0; + HEAP8[$15_1 >> 0] = (HEAPU8[$15_1 >> 0] | 0) & 255 | 0 | (1 << ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 7 | 0) | 0) | 0; + return; + } + + function $1032($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $12_1 = 0, $36_1 = 0, $78_1 = 0, $161_1 = 0, $163_1 = 0, $166_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (!(HEAP32[($6_1 + 68 | 0) >> 2] | 0)) { + break label$2 + } + $12_1 = (HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + label$4 : { + if (!($1145(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + break label$3; + } + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + -1 | 0; + label$5 : { + if (!($134(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, $6_1 + 48 | 0 | 0, 0 | 0) | 0)) { + break label$5 + } + $36_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + $1033($36_1 | 0, 9024 | 0, $6_1 + 16 | 0 | 0); + break label$3; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $135(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!(HEAP32[($6_1 + 72 | 0) >> 2] | 0)) { + break label$7 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + $1034(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, 2 & 255 | 0 | 0, 0 | 0); + } + label$9 : { + label$10 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 > (((HEAP32[((HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 2 | 0) - 2 | 0) >>> 0 & 1 | 0)) { + break label$10 + } + $78_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + $1033($78_1 | 0, 9046 | 0, $6_1 + 32 | 0 | 0); + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + -1 | 0; + break label$9; + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 60 | 0) >> 2] | 0) << 2 | 0) + 8 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$13 + } + $1034(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 2 & 255 | 0 | 0, 0 | 0); + } + $1145(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) - (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0; + } + break label$6; + } + label$14 : { + if (!((HEAPU8[((HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0)) { + break label$14 + } + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + $1034(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, 4 & 255 | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0); + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + $137(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + continue label$1; + } + break label$1; + }; + label$15 : { + if (!(HEAP32[($6_1 + 64 | 0) >> 2] | 0)) { + break label$15 + } + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + $161_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + $163_1 = HEAP32[($6_1 + 72 | 0) >> 2] | 0 ? 9111 : 9116; + $166_1 = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) - (HEAP32[($6_1 + 64 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $166_1; + HEAP32[$6_1 >> 2] = $163_1; + $1033($161_1 | 0, 9085 | 0, $6_1 | 0); + } + global$0 = $6_1 + 80 | 0; + return; + } + + function $1033($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $11_1 = 0, $15_1 = 0, $36_1 = 0, $38_1 = 0, $40_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + $11_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($11_1 + 16 | 0) >> 2] = (HEAP32[($11_1 + 16 | 0) >> 2] | 0) + -1 | 0; + $15_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($15_1 + 20 | 0) >> 2] = (HEAP32[($15_1 + 20 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$3 : { + if (!(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$3 + } + $51((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0 | 0, 9185 | 0, 1 | 0); + } + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $36_1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0; + $38_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $40_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $40_1; + $84($36_1 | 0, $38_1 | 0, $5_1 | 0); + } + $50((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 0] | 0) & 255 | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = 1; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1034($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $34_1 = 0, $55_1 = 0, $56_1 = 0, $59_1 = 0, $60_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP8[($6_1 + 55 | 0) >> 0] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $812(HEAP32[(HEAP32[($6_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, $6_1 + 43 | 0 | 0, $6_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 44 | 0) >> 2] | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if ((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == (3082 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] = 1; + } + $34_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $1033($34_1 | 0, 9187 | 0, $6_1 | 0); + break label$1; + } + label$5 : { + if (((HEAPU8[($6_1 + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[($6_1 + 55 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + } + $55_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $56_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $59_1 = (HEAPU8[($6_1 + 55 | 0) >> 0] | 0) & 255 | 0; + $60_1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + $63_1 = (HEAPU8[($6_1 + 43 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $63_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $60_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $59_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $56_1; + $1033($55_1 | 0, 9216 | 0, $6_1 + 16 | 0 | 0); + } + global$0 = $6_1 + 64 | 0; + return; + } + + function $1035($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $644$hi = 0, $645$hi = 0, $648$hi = 0, $649$hi = 0, $9_1 = 0, $37_1 = 0, $46_1 = 0, $53_1 = 0, $186_1 = 0, $40_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, $45_1 = 0, $38_1 = 0, $47_1 = 0, $54_1 = 0, $228_1 = 0, $229_1 = 0, $230_1 = 0, $644_1 = 0, $1263_1 = 0, $648_1 = 0, $1276_1 = 0, $280_1 = 0, $1288_1 = 0, $1298_1 = 0, $1537_1 = 0, $568_1 = 0, $571_1 = 0, $613_1 = 0, $614_1 = 0, $622_1 = 0, $640_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 288 | 0; + global$0 = $6_1; + $8_1 = 0; + $9_1 = 1; + HEAP32[($6_1 + 280 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 276 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 272 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 264 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 268 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 260 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 248 | 0) >> 2] = -1; + HEAP32[($6_1 + 220 | 0) >> 2] = $9_1; + HEAP32[($6_1 + 216 | 0) >> 2] = $9_1; + HEAP32[($6_1 + 184 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 176 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 172 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 164 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP8[($6_1 + 163 | 0) >> 0] = 0; + HEAP32[($6_1 + 200 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 280 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 192 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (HEAP32[($6_1 + 276 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($6_1 + 284 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!($1145(HEAP32[($6_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 276 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + HEAP32[($6_1 + 284 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 28 | 0) >> 2] = 9270; + HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($6_1 + 276 | 0) >> 2] | 0; + $37_1 = $201(HEAP32[($6_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 276 | 0) >> 2] | 0 | 0, $6_1 + 260 | 0 | 0, 0 | 0) | 0; + HEAP32[($6_1 + 252 | 0) >> 2] = $37_1; + label$4 : { + label$5 : { + if (!$37_1) { + break label$5 + } + $38_1 = HEAP32[($6_1 + 280 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 252 | 0) >> 2] | 0; + $1033($38_1 | 0, 9280 | 0, $6_1 | 0); + break label$4; + } + HEAP8[($6_1 + 163 | 0) >> 0] = HEAPU8[(HEAP32[($6_1 + 260 | 0) >> 2] | 0) >> 0] | 0; + HEAP8[(HEAP32[($6_1 + 260 | 0) >> 2] | 0) >> 0] = 0; + $46_1 = $626(HEAP32[($6_1 + 260 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 252 | 0) >> 2] = $46_1; + label$6 : { + if (!$46_1) { + break label$6 + } + $47_1 = HEAP32[($6_1 + 280 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 252 | 0) >> 2] | 0; + $1033($47_1 | 0, 9318 | 0, $6_1 + 16 | 0 | 0); + break label$4; + } + $53_1 = $1006(HEAP32[($6_1 + 260 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 252 | 0) >> 2] = $53_1; + label$7 : { + if (!$53_1) { + break label$7 + } + $54_1 = HEAP32[($6_1 + 280 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 252 | 0) >> 2] | 0; + $1033($54_1 | 0, 9356 | 0, $6_1 + 32 | 0 | 0); + break label$4; + } + HEAP32[($6_1 + 212 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($6_1 + 232 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0; + HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 28 | 0) >> 2] = 9378; + HEAP32[($6_1 + 188 | 0) >> 2] = (((((HEAPU8[((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) - 1 | 0) & 65535 | 0) + 1 | 0; + HEAP32[($6_1 + 224 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 3 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 3 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($6_1 + 228 | 0) >> 2] = ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 12 | 0) - (((HEAPU8[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0; + HEAP32[($6_1 + 204 | 0) >> 2] = (HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 228 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 224 | 0) >> 2] | 0) - 1 | 0) << 1 | 0) | 0) | 0; + label$8 : { + label$9 : { + if (((HEAPU8[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$9 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 8 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 28 | 0) >> 2] = 9404; + $1034(HEAP32[($6_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 240 | 0) >> 2] | 0 | 0, 5 & 255 | 0 | 0, HEAP32[($6_1 + 276 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 264 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 268 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1035(HEAP32[($6_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 240 | 0) >> 2] | 0 | 0, $6_1 + 264 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 248 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 216 | 0) >> 2] = 0; + break label$8; + } + HEAP32[($6_1 + 184 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 184 | 0) >> 2] | 0) >> 2] = 0; + } + HEAP32[($6_1 + 256 | 0) >> 2] = (HEAP32[($6_1 + 224 | 0) >> 2] | 0) - 1 | 0; + label$11 : while (1) { + $186_1 = 0; + label$12 : { + if (!((HEAP32[($6_1 + 256 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$12 + } + $186_1 = (HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$13 : { + if (!($186_1 & 1 | 0)) { + break label$13 + } + HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($6_1 + 256 | 0) >> 2] | 0; + HEAP32[($6_1 + 196 | 0) >> 2] = ((HEAPU8[(HEAP32[($6_1 + 204 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($6_1 + 204 | 0) >> 2] = (HEAP32[($6_1 + 204 | 0) >> 2] | 0) + -2 | 0; + label$14 : { + label$15 : { + label$16 : { + if ((HEAP32[($6_1 + 196 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 188 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$16 + } + if (!((HEAP32[($6_1 + 196 | 0) >> 2] | 0) >>> 0 > ((HEAP32[($6_1 + 192 | 0) >> 2] | 0) - 4 | 0) >>> 0 & 1 | 0)) { + break label$15 + } + } + $228_1 = HEAP32[($6_1 + 280 | 0) >> 2] | 0; + $229_1 = HEAP32[($6_1 + 196 | 0) >> 2] | 0; + $230_1 = HEAP32[($6_1 + 188 | 0) >> 2] | 0; + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAP32[($6_1 + 192 | 0) >> 2] | 0) - 4 | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = $230_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $229_1; + $1033($228_1 | 0, 9432 | 0, $6_1 + 48 | 0 | 0); + HEAP32[($6_1 + 220 | 0) >> 2] = 0; + break label$14; + } + HEAP32[($6_1 + 208 | 0) >> 2] = (HEAP32[($6_1 + 212 | 0) >> 2] | 0) + (HEAP32[($6_1 + 196 | 0) >> 2] | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 260 | 0) >> 2] | 0, HEAP32[($6_1 + 208 | 0) >> 2] | 0, $6_1 + 136 | 0); + label$17 : { + if (!(((HEAP32[($6_1 + 196 | 0) >> 2] | 0) + ((HEAPU16[($6_1 + 154 | 0) >> 1] | 0) & 65535 | 0) | 0) >>> 0 > (HEAP32[($6_1 + 192 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$17 + } + $1033(HEAP32[($6_1 + 280 | 0) >> 2] | 0 | 0, 9462 | 0, 0 | 0); + HEAP32[($6_1 + 220 | 0) >> 2] = 0; + break label$14; + } + label$18 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + label$19 : { + label$20 : { + label$21 : { + if (!(HEAP32[($6_1 + 216 | 0) >> 2] | 0)) { + break label$21 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + $644_1 = i64toi32_i32$1; + $644$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 264 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 268 | 0) >> 2] | 0; + $645$hi = i64toi32_i32$1; + i64toi32_i32$1 = $644$hi; + i64toi32_i32$1 = $645$hi; + i64toi32_i32$1 = $644$hi; + i64toi32_i32$1 = $645$hi; + $1263_1 = i64toi32_i32$0; + i64toi32_i32$1 = $644$hi; + i64toi32_i32$2 = $644_1; + i64toi32_i32$0 = $645$hi; + i64toi32_i32$3 = $1263_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $40_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $41_1 = 0 + } else { + $41_1 = 1 + } + $42_1 = $41_1; + } else { + $42_1 = 0 + } + $40_1 = $42_1; + } + if ($40_1 & 1 | 0) { + break label$20 + } + break label$19; + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + $648_1 = i64toi32_i32$2; + $648$hi = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 264 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 268 | 0) >> 2] | 0; + $649$hi = i64toi32_i32$2; + i64toi32_i32$2 = $648$hi; + i64toi32_i32$2 = $649$hi; + i64toi32_i32$2 = $648$hi; + i64toi32_i32$2 = $649$hi; + $1276_1 = i64toi32_i32$1; + i64toi32_i32$2 = $648$hi; + i64toi32_i32$3 = $648_1; + i64toi32_i32$1 = $649$hi; + i64toi32_i32$0 = $1276_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$1 | 0)) { + $43_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + $44_1 = 0 + } else { + $44_1 = 1 + } + $45_1 = $44_1; + } else { + $45_1 = 0 + } + $43_1 = $45_1; + } + if (!($43_1 & 1 | 0)) { + break label$19 + } + } + $280_1 = HEAP32[($6_1 + 280 | 0) >> 2] | 0; + i64toi32_i32$0 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + $1288_1 = i64toi32_i32$3; + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $1288_1; + HEAP32[($6_1 + 68 | 0) >> 2] = i64toi32_i32$2; + $1033($280_1 | 0, 9486 | 0, $6_1 + 64 | 0 | 0); + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + $1298_1 = i64toi32_i32$2; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 264 | 0) >> 2] = $1298_1; + HEAP32[($6_1 + 268 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($6_1 + 216 | 0) >> 2] = 0; + } + label$22 : { + if (!((HEAP32[($6_1 + 148 | 0) >> 2] | 0) >>> 0 > ((HEAPU16[($6_1 + 152 | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$22 + } + HEAP32[($6_1 + 132 | 0) >> 2] = (((((HEAP32[($6_1 + 148 | 0) >> 2] | 0) - ((HEAPU16[($6_1 + 152 | 0) >> 1] | 0) & 65535 | 0) | 0) + (HEAP32[($6_1 + 192 | 0) >> 2] | 0) | 0) - 5 | 0) >>> 0) / (((HEAP32[($6_1 + 192 | 0) >> 2] | 0) - 4 | 0) >>> 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161((HEAP32[($6_1 + 208 | 0) >> 2] | 0) + (((HEAPU16[($6_1 + 154 | 0) >> 1] | 0) & 65535 | 0) - 4 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$23 + } + $1034(HEAP32[($6_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0, 3 & 255 | 0 | 0, HEAP32[($6_1 + 276 | 0) >> 2] | 0 | 0); + } + $1032(HEAP32[($6_1 + 280 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0); + } + label$24 : { + label$25 : { + if (((HEAPU8[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$25 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $161(HEAP32[($6_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$26 + } + $1034(HEAP32[($6_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 240 | 0) >> 2] | 0 | 0, 5 & 255 | 0 | 0, HEAP32[($6_1 + 276 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 264 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 268 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1035(HEAP32[($6_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 240 | 0) >> 2] | 0 | 0, $6_1 + 264 | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 244 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 216 | 0) >> 2] = 0; + label$27 : { + if (!((HEAP32[($6_1 + 244 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 248 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + $1033(HEAP32[($6_1 + 280 | 0) >> 2] | 0 | 0, 9510 | 0, 0 | 0); + HEAP32[($6_1 + 248 | 0) >> 2] = HEAP32[($6_1 + 244 | 0) >> 2] | 0; + } + break label$24; + } + $1146(HEAP32[($6_1 + 184 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 196 | 0) >> 2] | 0) << 16 | 0 | (((HEAP32[($6_1 + 196 | 0) >> 2] | 0) + ((HEAPU16[($6_1 + 154 | 0) >> 1] | 0) & 65535 | 0) | 0) - 1 | 0) | 0 | 0); + } + } + HEAP32[($6_1 + 256 | 0) >> 2] = (HEAP32[($6_1 + 256 | 0) >> 2] | 0) + -1 | 0; + continue label$11; + } + break label$11; + }; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 264 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 268 | 0) >> 2] | 0; + $1537_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($6_1 + 272 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $1537_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + label$28 : { + if (!(HEAP32[($6_1 + 220 | 0) >> 2] | 0)) { + break label$28 + } + if (!((HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$28 + } + label$29 : { + if (((HEAPU8[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$29 + } + HEAP32[($6_1 + 184 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 184 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($6_1 + 256 | 0) >> 2] = (HEAP32[($6_1 + 224 | 0) >> 2] | 0) - 1 | 0; + label$30 : { + label$31 : while (1) { + if (!((HEAP32[($6_1 + 256 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($6_1 + 196 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 228 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 256 | 0) >> 2] | 0) << 1 | 0) | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 228 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 256 | 0) >> 2] | 0) << 1 | 0) | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 260 | 0) >> 2] | 0, (HEAP32[($6_1 + 212 | 0) >> 2] | 0) + (HEAP32[($6_1 + 196 | 0) >> 2] | 0) | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + $1146(HEAP32[($6_1 + 184 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 196 | 0) >> 2] | 0) << 16 | 0 | (((HEAP32[($6_1 + 196 | 0) >> 2] | 0) + (HEAP32[($6_1 + 124 | 0) >> 2] | 0) | 0) - 1 | 0) | 0 | 0); + HEAP32[($6_1 + 256 | 0) >> 2] = (HEAP32[($6_1 + 256 | 0) >> 2] | 0) + -1 | 0; + continue label$31; + }; + } + } + HEAP32[($6_1 + 256 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$32 : { + label$33 : while (1) { + if (!((HEAP32[($6_1 + 256 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($6_1 + 120 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 256 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 256 | 0) >> 2] | 0) + 2 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + $1146(HEAP32[($6_1 + 184 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 256 | 0) >> 2] | 0) << 16 | 0 | (((HEAP32[($6_1 + 256 | 0) >> 2] | 0) + (HEAP32[($6_1 + 120 | 0) >> 2] | 0) | 0) - 1 | 0) | 0 | 0); + HEAP32[($6_1 + 116 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + (HEAP32[($6_1 + 256 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + (HEAP32[($6_1 + 256 | 0) >> 2] | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($6_1 + 256 | 0) >> 2] = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + continue label$33; + }; + } + HEAP32[($6_1 + 236 | 0) >> 2] = 0; + HEAP32[($6_1 + 176 | 0) >> 2] = (HEAP32[($6_1 + 188 | 0) >> 2] | 0) - 1 | 0; + label$34 : { + label$35 : while (1) { + if (!($1147(HEAP32[($6_1 + 184 | 0) >> 2] | 0 | 0, $6_1 + 180 | 0 | 0) | 0)) { + break label$34 + } + label$36 : { + if (!(((HEAP32[($6_1 + 176 | 0) >> 2] | 0) & 65535 | 0) >>> 0 >= ((HEAP32[($6_1 + 180 | 0) >> 2] | 0) >>> 16 | 0) >>> 0 & 1 | 0)) { + break label$36 + } + $568_1 = HEAP32[($6_1 + 280 | 0) >> 2] | 0; + $571_1 = (HEAP32[($6_1 + 180 | 0) >> 2] | 0) >>> 16 | 0; + HEAP32[($6_1 + 100 | 0) >> 2] = HEAP32[($6_1 + 276 | 0) >> 2] | 0; + HEAP32[($6_1 + 96 | 0) >> 2] = $571_1; + $1033($568_1 | 0, 9535 | 0, $6_1 + 96 | 0 | 0); + break label$34; + } + HEAP32[($6_1 + 236 | 0) >> 2] = (HEAP32[($6_1 + 236 | 0) >> 2] | 0) + ((((HEAP32[($6_1 + 180 | 0) >> 2] | 0) >>> 16 | 0) - ((HEAP32[($6_1 + 176 | 0) >> 2] | 0) & 65535 | 0) | 0) - 1 | 0) | 0; + HEAP32[($6_1 + 176 | 0) >> 2] = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + continue label$35; + }; + } + HEAP32[($6_1 + 236 | 0) >> 2] = (HEAP32[($6_1 + 236 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 192 | 0) >> 2] | 0) - ((HEAP32[($6_1 + 176 | 0) >> 2] | 0) & 65535 | 0) | 0) - 1 | 0) | 0; + label$37 : { + if (HEAP32[(HEAP32[($6_1 + 184 | 0) >> 2] | 0) >> 2] | 0) { + break label$37 + } + if (!((HEAP32[($6_1 + 236 | 0) >> 2] | 0 | 0) != ((HEAPU8[((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 7 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$37 + } + $613_1 = HEAP32[($6_1 + 280 | 0) >> 2] | 0; + $614_1 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + $622_1 = (HEAPU8[((HEAP32[($6_1 + 212 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 7 | 0) | 0) >> 0] | 0) & 255 | 0; + HEAP32[($6_1 + 88 | 0) >> 2] = HEAP32[($6_1 + 276 | 0) >> 2] | 0; + HEAP32[($6_1 + 84 | 0) >> 2] = $622_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $614_1; + $1033($613_1 | 0, 9572 | 0, $6_1 + 80 | 0 | 0); + } + } + } + label$38 : { + if (HEAP32[($6_1 + 220 | 0) >> 2] | 0) { + break label$38 + } + HEAP8[(HEAP32[($6_1 + 260 | 0) >> 2] | 0) >> 0] = HEAPU8[($6_1 + 163 | 0) >> 0] | 0; + } + $814(HEAP32[($6_1 + 260 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($6_1 + 172 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($6_1 + 164 | 0) >> 2] | 0; + HEAP32[($6_1 + 284 | 0) >> 2] = (HEAP32[($6_1 + 248 | 0) >> 2] | 0) + 1 | 0; + } + $640_1 = HEAP32[($6_1 + 284 | 0) >> 2] | 0; + global$0 = $6_1 + 288 | 0; + return $640_1 | 0; + } + + function $1036($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return ((HEAPU8[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 3 | 0) | 0) >> 0] | 0) & 255 | 0) & (1 << ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 7 | 0) | 0) | 0 | 0; + } + + function $1037($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0, i64toi32_i32$0 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $365(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 32 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $59(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] = $13_1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $13_1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = $13_1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $13_1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0; + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 1] = ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) - 32 | 0) >>> 4 | 0; + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 26 | 0) >> 1] = 1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = $13_1; + } + $36_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $36_1 | 0; + } + + function $1038($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $1041(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $13(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1039($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $30_1 = 0, $34_1 = 0, $35_1 = 0, i64toi32_i32$0 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $365(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 1016 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0; + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 1] = 63; + } + $30_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP16[($30_1 + 24 | 0) >> 1] = (HEAPU16[($30_1 + 24 | 0) >> 1] | 0) + -1 | 0; + $34_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $35_1 = HEAP32[($34_1 + 16 | 0) >> 2] | 0; + HEAP32[($34_1 + 16 | 0) >> 2] = $35_1 + 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $35_1; + } + $38_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $38_1 | 0; + } + + function $1040($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0, $89_1 = 0, $100_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 176 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 172 | 0) >> 2] = $0_1; + $3289($3_1 | 0, 0 | 0, 160 | 0) | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 172 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $14_1 = 0; + HEAP32[($3_1 + 164 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 8 | 0) >> 2] = $14_1; + HEAP32[($3_1 + 168 | 0) >> 2] = $14_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + ((HEAP32[($3_1 + 168 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1044(HEAP32[($3_1 + ((HEAP32[($3_1 + 168 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 172 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + ((HEAP32[($3_1 + 168 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($3_1 + 168 | 0) >> 2] = (HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($3_1 + ((HEAP32[($3_1 + 168 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + HEAP32[($3_1 + 172 | 0) >> 2] = HEAP32[($3_1 + 164 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[($3_1 + 172 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + HEAP32[($3_1 + 168 | 0) >> 2] = 1; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($3_1 + 168 | 0) >> 2] | 0) >>> 0 < 40 >>> 0 & 1 | 0)) { + break label$5 + } + label$7 : { + label$8 : { + if (!((HEAP32[($3_1 + ((HEAP32[($3_1 + 168 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[($3_1 + 172 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $89_1 = $1044(HEAP32[($3_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + ((HEAP32[($3_1 + 168 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + break label$9; + } + $89_1 = HEAP32[($3_1 + ((HEAP32[($3_1 + 168 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($3_1 + 172 | 0) >> 2] = $89_1; + } + HEAP32[($3_1 + 168 | 0) >> 2] = (HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $100_1 = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + global$0 = $3_1 + 176 | 0; + return $100_1 | 0; + } + + function $1041($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $21_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + $13(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + continue label$2; + }; + } + $21_1 = 0; + HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] = $21_1; + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 1] = 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $21_1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = $21_1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $21_1; + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 26 | 0) >> 1] = 1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $1042($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0, $28_1 = 0, $33_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $5_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = $5_1; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = $5_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + $28_1 = $1148($3_1 + 12 | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = $28_1; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $33_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $33_1 | 0; + } + + function $1043($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $1043(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $5_1 | 0); + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $1043(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + break label$3; + } + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1044($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $45$hi = 0, $46$hi = 0, $49$hi = 0, $50$hi = 0, $17_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $18_1 = 0, $32_1 = 0, $45_1 = 0, $78_1 = 0, $49_1 = 0, $96_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $4_1 + 8 | 0; + label$1 : { + label$2 : while (1) { + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $45_1 = i64toi32_i32$0; + $45$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $46$hi = i64toi32_i32$0; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $46$hi; + $78_1 = i64toi32_i32$1; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$2 = $45_1; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$3 = $78_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $17_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $17_1 = $20_1; + } + label$3 : { + label$4 : { + if (!($17_1 & 1 | 0)) { + break label$4 + } + i64toi32_i32$3 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $49_1 = i64toi32_i32$2; + $49$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $50$hi = i64toi32_i32$2; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$2 = $50$hi; + $96_1 = i64toi32_i32$0; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$3 = $49_1; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$1 = $96_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $21_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $22_1 = 0 + } else { + $22_1 = 1 + } + $23_1 = $22_1; + } else { + $23_1 = 0 + } + $21_1 = $23_1; + } + label$5 : { + if (!($21_1 & 1 | 0)) { + break label$5 + } + $18_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = $18_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $18_1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + break label$1; + } + break label$3; + } + $32_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = $32_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $32_1; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + break label$1; + } + } + continue label$2; + }; + } + return HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0; + } + + function $1045($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $119(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 7; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1048(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $13(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + } + $29_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $29_1 | 0; + } + + function $1046($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1149(HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $12_1 = HEAP32[$4_1 >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $12_1 | 0; + } + + function $1047($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $1150(HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $1048($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $18_1 = 0, $24_1 = 0, $61_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $402(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0, $5_1 + 12 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + label$4 : while (1) { + $18_1 = $287(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $18_1; + if (!((100 | 0) == ($18_1 | 0) & 1 | 0)) { + break label$3 + } + $24_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $319(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $24_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != ($24_1 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!($3234(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 10305 | 0, 3 | 0) | 0)) { + break label$6 + } + if ($3234(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 10309 | 0, 3 | 0) | 0) { + break label$5 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1048(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$7 + } + break label$3; + } + } + continue label$4; + }; + } + label$8 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + } + label$9 : { + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$9 + } + $1021(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $380(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0); + } + $213(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + $61_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $61_1 | 0; + } + + function $1049($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0, $35_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $127(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + $17_1 = 0; + break label$1; + } + $17_1 = (((HEAPU8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0) & 1 | 0 ? 1 : 2; + } + HEAP32[($3_1 + 8 | 0) >> 2] = $17_1; + $35_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $35_1 | 0; + } + + function $1050($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $32_1 = 0, $33_1 = 0, $50_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP8[($4_1 + 15 | 0) >> 0] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $127(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$2 + } + if (!((((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0 ? 1 : 0) | 0) != ((HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 8; + break label$1; + } + $32_1 = 1; + $33_1 = 0; + HEAP8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 17 | 0) >> 0] = (HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0 ? $32_1 : $33_1; + HEAP8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 0] = ((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0 ? $32_1 : $33_1; + } + $50_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $50_1 | 0; + } + + function $1051($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $41_1 = 0, $75_1 = 0, $72$hi = 0, $73$hi = 0, $61_1 = 0, $12_1 = 0, $135_1 = 0, $69_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + $127(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + $127(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $143($9(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($4_1 + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = $131(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $72$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $73$hi = i64toi32_i32$0; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = $72$hi; + $12_1 = i64toi32_i32$1; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$1 = __wasm_i64_mul($12_1 | 0, i64toi32_i32$0 | 0, $133(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) | 0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $135_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $135_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $189(HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, 11 | 0, $4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) == (12 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 68 | 0) >> 2] = 0; + } + label$4 : { + if (!(HEAP32[($4_1 + 68 | 0) >> 2] | 0)) { + break label$4 + } + break label$1; + } + } + $41_1 = $4_1 + 16 | 0; + i64toi32_i32$0 = 0; + $75_1 = 0; + i64toi32_i32$1 = $41_1; + HEAP32[i64toi32_i32$1 >> 2] = $75_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $75_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $41_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $75_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $41_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $75_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $41_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $75_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $41_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $75_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = 1; + $126($41_1 | 0, 2147483647 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $195($41_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (HEAP32[($4_1 + 68 | 0) >> 2] | 0) { + break label$6 + } + $61_1 = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP16[($61_1 + 24 | 0) >> 1] = ((HEAPU16[($61_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -3 | 0; + break label$5; + } + $1151($9(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0); + } + } + $69_1 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $69_1 | 0; + } + + function $1052($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 19 | 0) >> 0] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + label$4 : { + label$5 : { + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $114(16 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + break label$4; + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + label$7 : { + if (!(((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) > ((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] = HEAPU8[($5_1 + 19 | 0) >> 0] | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $77_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $77_1 | 0; + } + + function $1053($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $41$hi = 0, $42$hi = 0, i64toi32_i32$4 = 0, $43$hi = 0, $44$hi = 0, $15_1 = 0, $47_1 = 0, $9_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = 5; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 336 | 0) >> 2] | 0 | 0) % (5 | 0) | 0) { + break label$2 + } + $9_1 = 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 336 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $41$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $42$hi = i64toi32_i32$0; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$3 = 5; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $43$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $44$hi = i64toi32_i32$5; + i64toi32_i32$5 = $43$hi; + i64toi32_i32$5 = $44$hi; + i64toi32_i32$5 = $43$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $44$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + $15_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $15_1 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + } + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $15_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$5 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $70(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != ($9_1 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$0 = 0; + $47_1 = 0; + i64toi32_i32$2 = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 336 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[i64toi32_i32$2 >> 2] = $47_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = 0; + i64toi32_i32$2 = i64toi32_i32$2 + 8 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $47_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 360 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $38_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $38_1 | 0; + } + + function $1054($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0, $9_1 = 0, $5_1 = 0, $7_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $7_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 360 | 0) >> 2] | 0; + $8_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $9_1 = HEAP32[($8_1 + 336 | 0) >> 2] | 0; + HEAP32[($8_1 + 336 | 0) >> 2] = $9_1 + 1 | 0; + HEAP32[($7_1 + ($9_1 << 2 | 0) | 0) >> 2] = $5_1; + $372(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1055($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, $155_1 = 0, $163_1 = 0, $190_1 = 0, $198_1 = 0, $236_1 = 0, $250_1 = 0, $260_1 = 0, $286_1 = 0, $318_1 = 0, $340_1 = 0, $349_1 = 0, $30_1 = 0, $34_1 = 0, $128_1 = 0, $133_1 = 0, $135_1 = 0, $140_1 = 0, $170_1 = 0, $171_1 = 0, $176_1 = 0, $358_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 160 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 152 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 148 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 144 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 140 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 136 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[($7_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($7_1 + 100 | 0) >> 2] = 0; + HEAP32[($7_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 356 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $30_1 = HEAP32[($7_1 + 152 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[(HEAP32[($7_1 + 148 | 0) >> 2] | 0) >> 2] | 0; + $34_1 = $351($30_1 | 0, 10332 | 0, $7_1 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $34_1; + HEAP32[($7_1 + 156 | 0) >> 2] = 6; + break label$1; + } + HEAP32[($7_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$3; + }; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $291(HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 148 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($7_1 + 156 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $114(28 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if ((HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + $118(HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0); + $13(HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 156 | 0) >> 2] = 7; + break label$1; + } + HEAP32[(HEAP32[($7_1 + 116 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 152 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 144 | 0) >> 2] | 0; + HEAP8[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $350(HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 92 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 124 | 0) >> 2] = HEAP32[($7_1 + 148 | 0) >> 2] | 0; + HEAP32[($7_1 + 120 | 0) >> 2] = HEAP32[($7_1 + 116 | 0) >> 2] | 0; + HEAP32[($7_1 + 128 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 356 | 0) >> 2] | 0; + HEAP32[($7_1 + 132 | 0) >> 2] = 0; + HEAP32[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 356 | 0) >> 2] = $7_1 + 120 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 152 | 0) >> 2] | 0, HEAP32[((HEAP32[($7_1 + 144 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0, HEAP32[($7_1 + 108 | 0) >> 2] | 0, (HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 8 | 0, $7_1 + 100 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 356 | 0) >> 2] = HEAP32[($7_1 + 128 | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$7 + } + $118(HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0); + } + label$8 : { + label$9 : { + if (!((0 | 0) != (HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + label$11 : { + if (!((HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + $128_1 = HEAP32[($7_1 + 152 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + $133_1 = $351($128_1 | 0, 10374 | 0, $7_1 + 16 | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $133_1; + break label$10; + } + $135_1 = HEAP32[($7_1 + 152 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 100 | 0) >> 2] | 0; + $140_1 = $351($135_1 | 0, 1976 | 0, $7_1 + 32 | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $140_1; + $42(HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0); + } + $13(HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0); + break label$8; + } + label$12 : { + if (!((HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $155_1 = HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + HEAP32[$155_1 >> 2] = 0; + HEAP32[($155_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($155_1 + 8 | 0) >> 2] = 0; + HEAP32[(HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 144 | 0) >> 2] | 0) >> 2] | 0; + $163_1 = HEAP32[($7_1 + 144 | 0) >> 2] | 0; + HEAP32[($163_1 + 8 | 0) >> 2] = (HEAP32[($163_1 + 8 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + label$13 : { + label$14 : { + if (HEAP32[($7_1 + 132 | 0) >> 2] | 0) { + break label$14 + } + HEAP32[($7_1 + 84 | 0) >> 2] = 10404; + $170_1 = HEAP32[($7_1 + 152 | 0) >> 2] | 0; + $171_1 = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 148 | 0) >> 2] | 0) >> 2] | 0; + $176_1 = $351($170_1 | 0, $171_1 | 0, $7_1 + 48 | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $176_1; + $841(HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 112 | 0) >> 2] = 1; + break label$13; + } + HEAP16[($7_1 + 78 | 0) >> 1] = 0; + HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($7_1 + 116 | 0) >> 2] | 0; + HEAP32[($7_1 + 80 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + $190_1 = 16; + if (!((HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $190_1 | 0) >> $190_1 | 0 | 0) & 1 | 0)) { + break label$15 + } + $198_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $503((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 80 | 0) >> 2] | 0, 20) | 0 | 0, 1352 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 64 | 0) >> 2] = $198_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $68(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 64 | 0) >> 2] = $198_1; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + label$19 : { + if (!((0 | 0) == ($89(10450 | 0, (HEAP32[($7_1 + 72 | 0) >> 2] | 0) + (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0 | 0, 6 | 0) | 0 | 0) & 1 | 0)) { + break label$19 + } + label$20 : { + if (!(HEAP32[($7_1 + 64 | 0) >> 2] | 0)) { + break label$20 + } + $236_1 = 24; + if (!((((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 64 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $236_1 | 0) >> $236_1 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$19 + } + } + $250_1 = 24; + label$21 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 6 | 0) | 0) >> 0] | 0) << $250_1 | 0) >> $250_1 | 0)) { + break label$21 + } + $260_1 = 24; + if (!((((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 6 | 0) | 0) >> 0] | 0) << $260_1 | 0) >> $260_1 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$19 + } + } + break label$17; + } + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + label$22 : { + label$23 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + $286_1 = 24; + HEAP32[($7_1 + 56 | 0) >> 2] = (((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 6 | 0) | 0) >> 0] | 0) << $286_1 | 0) >> $286_1 | 0 ? 1 : 0) + 6 | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + label$24 : { + label$25 : while (1) { + if (!(((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + (HEAP32[($7_1 + 56 | 0) >> 2] | 0) | 0 | 0) <= (HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + HEAP8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + (HEAP32[($7_1 + 60 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + (HEAP32[($7_1 + 56 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = (HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + $318_1 = 24; + label$26 : { + if (((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0) >> 0] | 0) << $318_1 | 0) >> $318_1 | 0) { + break label$26 + } + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$26 + } + HEAP8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 64 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] = 0; + } + $340_1 = (HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 80 | 0) >> 2] | 0, 20) | 0; + HEAP16[($340_1 + 16 | 0) >> 1] = (HEAPU16[($340_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0; + HEAP16[($7_1 + 78 | 0) >> 1] = 1024; + break label$22; + } + $349_1 = HEAP32[($7_1 + 148 | 0) >> 2] | 0; + HEAP32[($349_1 + 36 | 0) >> 2] = HEAP32[($349_1 + 36 | 0) >> 2] | 0 | ((HEAPU16[($7_1 + 78 | 0) >> 1] | 0) & 65535 | 0) | 0; + } + HEAP32[($7_1 + 80 | 0) >> 2] = (HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + } + } + } + $13(HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 156 | 0) >> 2] = HEAP32[($7_1 + 112 | 0) >> 2] | 0; + } + $358_1 = HEAP32[($7_1 + 156 | 0) >> 2] | 0; + global$0 = $7_1 + 160 | 0; + return $358_1 | 0; + } + + function $1056($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + label$1 : while (1) { + $15_1 = 0; + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = (HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($15_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + return HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $1057($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 32 | 0; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + break label$3; + } + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 364 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 364 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + continue label$2; + }; + } + return HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0; + } + + function $1058($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 156 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + return HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 156 | 0) >> 2] | 0 | 0; + } + + function $1059($0_1, $1_1, $1$hi) { + $0_1 = +$0_1; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $4_1 = 0, $19_1 = 0, $32$hi = 0, $36$hi = 0, $10_1 = 0, $30$hi = 0, $34$hi = 0, $18_1 = 0, $21_1 = 0, $22_1 = 0, $38$hi = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $30_1 = 0, $81$hi = 0, $20_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAPF64[($4_1 + 24 | 0) >> 3] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + HEAPF64[($4_1 + 8 | 0) >> 3] = +(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0); + $10_1 = 1; + label$1 : { + if (+HEAPF64[($4_1 + 24 | 0) >> 3] == +(0 | 0) & 1 | 0) { + break label$1 + } + i64toi32_i32$2 = $4_1 + 8 | 0; + i64toi32_i32$1 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$0 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $30_1 = i64toi32_i32$1; + $30$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1 + 24 | 0; + i64toi32_i32$0 = HEAPU8[i64toi32_i32$2 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[(i64toi32_i32$2 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$2 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$2 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$2 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $81$hi = i64toi32_i32$1; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$3 = $30_1; + $19_1 = 0; + label$2 : { + if ((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) { + break label$2 + } + $20_1 = 0; + i64toi32_i32$2 = -524288; + $32$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $34$hi = i64toi32_i32$1; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $32$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $18_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + $21_1 = 0 + } else { + $21_1 = 1 + } + $22_1 = $21_1; + } else { + $22_1 = 0 + } + $18_1 = $22_1; + } + $19_1 = $20_1; + if (!($18_1 & 1 | 0)) { + break label$2 + } + i64toi32_i32$3 = 524288; + $36$hi = i64toi32_i32$3; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $38$hi = i64toi32_i32$1; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $36$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$3 | 0)) { + $23_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$2 >>> 0) { + $24_1 = 0 + } else { + $24_1 = 1 + } + $25_1 = $24_1; + } else { + $25_1 = 0 + } + $23_1 = $25_1; + } + $19_1 = $23_1; + } + $10_1 = $19_1; + } + return $10_1 & 1 | 0 | 0; + } + + function $1060($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $33_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = $392(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $17_1 = 0; + } + HEAP32[$4_1 >> 2] = $17_1; + label$3 : { + label$4 : { + if (!(HEAP32[$4_1 >> 2] | 0)) { + break label$4 + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = 1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$6 + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = 1; + break label$5; + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $33_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $33_1 | 0; + } + + function $1061($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $84_1 = 0, $93_1 = 0, $26_1 = 0, $102_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0) >>> 0 > ($165(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(66907 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $134(HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, $7_1 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($7_1 + 4 | 0) >> 2] | 0)) { + break label$4 + } + break label$2; + } + $26_1 = $167(HEAP32[$7_1 >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] = $26_1; + label$5 : { + label$6 : { + if ((HEAPU8[(HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + $791(HEAP32[$7_1 >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $626(HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($7_1 + 4 | 0) >> 2] | 0)) { + break label$7 + } + break label$5; + } + } + label$8 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (((HEAPU16[((HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) < (1 | 0) & 1 | 0) { + break label$9 + } + if (!(((HEAPU8[((HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 69 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(66928 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $814(HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$10 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $84_1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP8[($84_1 + 68 | 0) >> 0] = (HEAPU8[($84_1 + 68 | 0) >> 0] | 0) + -1 | 0; + $93_1 = 24; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 120 | 0) + ((((HEAPU8[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 0] | 0) << $93_1 | 0) >> $93_1 | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + } + $102_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $102_1 | 0; + } + + function $1062($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0, $6_1 = 0, $7_1 = 0, $26_1 = 0, $15_1 = 0, i64toi32_i32$0 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + $15_1 = $631(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] = $15_1; + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $5_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0; + $6_1 = 0; + HEAP8[$5_1 >> 0] = $6_1; + HEAP8[($5_1 + 1 | 0) >> 0] = $6_1 >>> 8 | 0; + HEAP8[($5_1 + 2 | 0) >> 0] = $6_1 >>> 16 | 0; + HEAP8[($5_1 + 3 | 0) >> 0] = $6_1 >>> 24 | 0; + $7_1 = i64toi32_i32$0; + HEAP8[($5_1 + 4 | 0) >> 0] = $7_1; + HEAP8[($5_1 + 5 | 0) >> 0] = $7_1 >>> 8 | 0; + HEAP8[($5_1 + 6 | 0) >> 0] = $7_1 >>> 16 | 0; + HEAP8[($5_1 + 7 | 0) >> 0] = $7_1 >>> 24 | 0; + $26_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($26_1 + 84 | 0) >> 2] = (HEAP32[($26_1 + 84 | 0) >> 2] | 0) + 4 | 0; + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1063($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + $12_1 = $1065(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = $12_1; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1064($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $749(HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $791(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $21_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $21_1 | 0; + } + + function $1065($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $74_1 = 0, $77_1 = 0, $204_1 = 0, $210_1 = 0, $245_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 < 2 >>> 0 & 1 | 0) { + break label$3 + } + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(70981 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $1066(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + break label$4; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1064(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$7 + } + break label$6; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $162((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0 | 0); + label$8 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0)) { + break label$8 + } + label$9 : { + label$10 : { + label$11 : { + if ((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$11 + } + $74_1 = $201(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0, 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $74_1; + if ($74_1) { + break label$10 + } + } + $77_1 = $145(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $77_1; + if (!$77_1) { + break label$9 + } + } + break label$6; + } + $3289(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + } + label$12 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$12 + } + $832(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 2 & 255 | 0 | 0, 0 | 0, $5_1 + 12 | 0 | 0); + label$13 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$13 + } + break label$6; + } + } + label$14 : { + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$14 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0 > ($165(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(71028 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$6; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $201(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $5_1 + 28 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$16 + } + break label$6; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0) >>> 0 > (((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 2 | 0) - 2 | 0) >>> 0 & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(71039 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$6; + } + label$18 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0) >>> 0 < (((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 2 | 0) - 8 | 0) >>> 0 & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$19 + } + $162((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0 | 0); + $162((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 2 | 0) + 8 | 0) | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0); + label$20 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + if (((HEAPU16[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0) { + break label$20 + } + $1067(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1068(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$6; + } + } + label$21 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$21 + } + $204_1 = 0; + $210_1 = $201(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0, $204_1 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $210_1; + if (!(($204_1 | 0) != ($210_1 | 0) & 1 | 0)) { + break label$21 + } + break label$6; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$22 + } + break label$6; + } + $162(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + $162((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0); + $162((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 32 | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0); + } + label$23 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + HEAP8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] = 0; + } + $814(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + $814(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $245_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $245_1 | 0; + } + + function $1066($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $1069(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1067($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $24_1 = 0, $30_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + if (((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$1 + } + if (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) { + break label$1 + } + $24_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($24_1 + 28 | 0) >> 1] = (HEAPU16[($24_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 16 | 0; + $30_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($30_1 + 28 | 0) >> 1] = ((HEAPU16[($30_1 + 28 | 0) >> 1] | 0) & 65535 | 0) & -5 | 0; + } + return; + } + + function $1068($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $16_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + if ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0) { + break label$1 + } + $16_1 = $516(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] = $16_1; + label$2 : { + if ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 7; + } + } + label$3 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 <= ($520(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0) >>> 0 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $517(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $40_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $40_1 | 0; + } + + function $1069($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $9_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($4_1 + 30 | 0) >> 1] = (HEAPU16[($4_1 + 30 | 0) >> 1] | 0) + 1 | 0; + $9_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($9_1 + 12 | 0) >> 2] = (HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 1 | 0; + return; + } + + function $1070($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $242$hi = 0, $243$hi = 0, $246$hi = 0, $247$hi = 0, $6_1 = 0, $13_1 = 0, $17_1 = 0, $22_1 = 0, $35_1 = 0, $227$hi = 0, $108_1 = 0, $228$hi = 0, $229$hi = 0, $44_1 = 0, $230$hi = 0, $233$hi = 0, $234$hi = 0, $45_1 = 0, $235$hi = 0, $236$hi = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, $186_1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $194_1 = 0, $215_1 = 0, $298_1 = 0, $326_1 = 0, $367_1 = 0, $422_1 = 0, $227_1 = 0, $615_1 = 0, $619_1 = 0, $655_1 = 0, $242_1 = 0, $663_1 = 0, $246_1 = 0, $689_1 = 0, $220_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $6_1 + ((HEAPU8[$6_1 >> 0] | 0) & 63 | 0) | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAPU8[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + $13_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($13_1 | 0) { + case 1: + $17_1 = 24; + i64toi32_i32$1 = ((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) << $17_1 | 0) >> $17_1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $298_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $298_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$2; + case 2: + $22_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) << $22_1 | 0) >> $22_1 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $326_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $326_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$2; + case 3: + $35_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) << $35_1 | 0) >> $35_1 | 0) << 16 | 0 | (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $367_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $367_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$2; + case 4: + HEAP32[($5_1 + 32 | 0) >> 2] = ((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $422_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $422_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$2; + case 5: + i64toi32_i32$0 = 0; + $227_1 = ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) | 0; + $227$hi = i64toi32_i32$0; + $108_1 = 24; + i64toi32_i32$1 = (((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) << $108_1 | 0) >> $108_1 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $228$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $229$hi = i64toi32_i32$0; + i64toi32_i32$0 = $228$hi; + i64toi32_i32$0 = $229$hi; + i64toi32_i32$0 = $228$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $229$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $44_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $44_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $230$hi = i64toi32_i32$1; + i64toi32_i32$1 = $227$hi; + i64toi32_i32$1 = $230$hi; + i64toi32_i32$1 = $227$hi; + i64toi32_i32$0 = $227_1; + i64toi32_i32$2 = $230$hi; + i64toi32_i32$3 = $44_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$5; + break label$2; + case 6: + i64toi32_i32$5 = 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = ((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $233$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $234$hi = i64toi32_i32$0; + i64toi32_i32$0 = $233$hi; + i64toi32_i32$0 = $234$hi; + i64toi32_i32$0 = $233$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $234$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $45_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$2 | 0) | 0; + $45_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $235$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $236$hi = i64toi32_i32$5; + i64toi32_i32$5 = $235$hi; + i64toi32_i32$5 = $236$hi; + i64toi32_i32$5 = $235$hi; + i64toi32_i32$0 = $45_1; + i64toi32_i32$1 = $236$hi; + i64toi32_i32$3 = ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) << 24 | 0 | (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0 | (((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0 | ((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + $615_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $615_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$5 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $619_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $619_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$2; + case 8: + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$2; + case 9: + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = 1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$2; + case 0: + case 7: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1000(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + default: + break label$3; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1000(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$5 = HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $655_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $655_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$5 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $242_1 = i64toi32_i32$1; + $242$hi = i64toi32_i32$0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $243$hi = i64toi32_i32$1; + i64toi32_i32$1 = $242$hi; + i64toi32_i32$1 = $243$hi; + i64toi32_i32$1 = $242$hi; + i64toi32_i32$1 = $243$hi; + $663_1 = i64toi32_i32$0; + i64toi32_i32$1 = $242$hi; + i64toi32_i32$5 = $242_1; + i64toi32_i32$0 = $243$hi; + i64toi32_i32$3 = $663_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $46_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$5 >>> 0 <= i64toi32_i32$3 >>> 0) { + $47_1 = 0 + } else { + $47_1 = 1 + } + $48_1 = $47_1; + } else { + $48_1 = 0 + } + $46_1 = $48_1; + } + label$13 : { + label$14 : { + if (!($46_1 & 1 | 0)) { + break label$14 + } + $186_1 = 24; + HEAP32[($5_1 + 36 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) << $186_1 | 0) >> $186_1 | 0; + break label$13; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $246_1 = i64toi32_i32$5; + $246$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $247$hi = i64toi32_i32$5; + i64toi32_i32$5 = $246$hi; + i64toi32_i32$5 = $247$hi; + i64toi32_i32$5 = $246$hi; + i64toi32_i32$5 = $247$hi; + $689_1 = i64toi32_i32$1; + i64toi32_i32$5 = $246$hi; + i64toi32_i32$3 = $246_1; + i64toi32_i32$1 = $247$hi; + i64toi32_i32$0 = $689_1; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$1 | 0)) { + $49_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $50_1 = 0 + } else { + $50_1 = 1 + } + $51_1 = $50_1; + } else { + $51_1 = 0 + } + $49_1 = $51_1; + } + label$15 : { + label$16 : { + if (!($49_1 & 1 | 0)) { + break label$16 + } + $194_1 = 24; + HEAP32[($5_1 + 36 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $194_1 | 0) >> $194_1 | 0; + break label$15; + } + label$17 : { + label$18 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $944(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$17; + } + $215_1 = 24; + HEAP32[($5_1 + 36 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) << $215_1 | 0) >> $215_1 | 0; + HEAP8[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 14 | 0) >> 0] = 1; + } + } + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + } + $220_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $220_1 | 0; + } + + function $1071($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $33_1 = 0, $41_1 = 0, $78_1 = 0, $98_1 = 0, $110_1 = 0, $137_1 = 0, $150_1 = 0, $155_1 = 0, $64_1 = 0, $159_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + label$1 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) >= (128 | 0) & 1 | 0)) { + break label$1 + } + $902((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0 | 0, $5_1 + 24 | 0 | 0) | 0; + } + label$2 : { + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (12 | 0) & 1 | 0)) { + break label$4 + } + $33_1 = 24; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) << $33_1 | 0) >> $33_1 | 0; + break label$3; + } + label$5 : { + label$6 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) & 1 | 0) { + break label$6 + } + $41_1 = 24; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $41_1 | 0) >> $41_1 | 0; + break label$5; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 12 | 0 | 0) / (2 | 0) | 0; + label$7 : { + if (!(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $64_1 = $694(82799 | 0) | 0; + HEAP8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 11 | 0) >> 0] = $64_1; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$2; + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $78_1 = HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$8; + } + $78_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = $78_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3228((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$11 + } + $98_1 = 24; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $98_1 | 0) >> $98_1 | 0; + break label$10; + } + label$12 : { + label$13 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$13 + } + $110_1 = 24; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) << $110_1 | 0) >> $110_1 | 0; + break label$12; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) - (HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + label$14 : { + label$15 : { + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$15 + } + label$16 : { + label$17 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $944(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$16; + } + $137_1 = 24; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) << $137_1 | 0) >> $137_1 | 0; + HEAP8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 14 | 0) >> 0] = 1; + } + break label$14; + } + label$18 : { + label$19 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$19 + } + $150_1 = 24; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $150_1 | 0) >> $150_1 | 0; + break label$18; + } + $155_1 = 24; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) << $155_1 | 0) >> $155_1 | 0; + } + } + } + } + } + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + $159_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $159_1 | 0; + } + + function $1072($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $28_1 = 0, $105_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 16 | 0) >> 2] = 0; + label$4 : while (1) { + $28_1 = 0; + label$5 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $28_1 = ((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + label$6 : { + if (!($28_1 & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + label$7 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($7_1 + 12 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $3289((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0 | 0, 0 | 0, (HEAP32[($7_1 + 24 | 0) >> 2] | 0) - (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0 | 0) | 0; + } + break label$2; + } + label$9 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1072(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($7_1 + 24 | 0) >> 2] | 0) - (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$10 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + } + label$11 : { + if (!($3228(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($7_1 + 4 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $3290(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + } + $105_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $105_1 | 0; + } + + function $1073($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $61_1 = 0, $304_1 = 0, $481_1 = 0, $484_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP16[($5_1 + 38 | 0) >> 1] = $1_1; + HEAP16[($5_1 + 36 | 0) >> 1] = $2_1; + HEAP8[($5_1 + 30 | 0) >> 0] = 0; + HEAP16[($5_1 + 28 | 0) >> 1] = HEAPU16[($5_1 + 36 | 0) >> 1] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0) + ((HEAPU16[($5_1 + 36 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP8[($5_1 + 31 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0; + HEAP16[($5_1 + 34 | 0) >> 1] = ((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 1 | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + HEAP16[($5_1 + 32 | 0) >> 1] = 0; + break label$2; + } + label$4 : { + label$5 : while (1) { + $61_1 = ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP16[($5_1 + 32 | 0) >> 1] = $61_1; + if (!(($61_1 & 65535 | 0 | 0) < ((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!(((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0 | 0) < (((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) + 4 | 0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if ((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) { + break label$7 + } + break label$4; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66467 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP16[($5_1 + 34 | 0) >> 1] = HEAPU16[($5_1 + 32 | 0) >> 1] | 0; + continue label$5; + }; + } + label$8 : { + if (!(((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) >>> 0 > ((HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 4 | 0) >>> 0 & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66472 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$9 : { + if (!((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0)) { + break label$9 + } + if (!(((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 3 | 0) >>> 0 >= ((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$9 + } + HEAP8[($5_1 + 30 | 0) >> 0] = ((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) - (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0; + label$10 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 0 > ((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66484 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) + (((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) + 2 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) + 2 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0; + label$11 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66487 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP16[($5_1 + 36 | 0) >> 1] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) - ((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP16[($5_1 + 32 | 0) >> 1] = ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + } + label$12 : { + if (!(((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0 | 0) > (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) + (((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) + 2 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) + 2 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0; + label$13 : { + if (!(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 3 | 0 | 0) >= ((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) > ((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66500 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP8[($5_1 + 30 | 0) >> 0] = ((HEAPU8[($5_1 + 30 | 0) >> 0] | 0) & 255 | 0) + (((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0) - (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) | 0; + HEAP16[($5_1 + 36 | 0) >> 1] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) - ((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP16[($5_1 + 38 | 0) >> 1] = HEAPU16[($5_1 + 34 | 0) >> 1] | 0; + } + } + label$15 : { + if (!(((HEAPU8[($5_1 + 30 | 0) >> 0] | 0) & 255 | 0 | 0) > ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 7 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66506 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $304_1 = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 7 | 0) | 0; + HEAP8[$304_1 >> 0] = ((HEAPU8[$304_1 >> 0] | 0) & 255 | 0) - ((HEAPU8[($5_1 + 30 | 0) >> 0] | 0) & 255 | 0) | 0; + } + HEAP16[($5_1 + 26 | 0) >> 1] = ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$16 : { + label$17 : { + if (!(((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0 | 0) <= ((HEAPU16[($5_1 + 26 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$17 + } + label$18 : { + if (!(((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0 | 0) < ((HEAPU16[($5_1 + 26 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66514 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$19 : { + if (!(((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0 | 0) != (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$19 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66515 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 1 | 0) | 0) >> 0] = ((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) >> 8 | 0; + HEAP8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 1 | 0) | 0) + 1 | 0) >> 0] = HEAPU16[($5_1 + 32 | 0) >> 1] | 0; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 5 | 0) | 0) >> 0] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 8 | 0; + HEAP8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU8[($5_1 + 31 | 0) >> 0] | 0) & 255 | 0) + 5 | 0) | 0) + 1 | 0) >> 0] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$16; + } + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) | 0) >> 0] = ((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0) >> 8 | 0; + HEAP8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 34 | 0) >> 1] | 0) & 65535 | 0) | 0) + 1 | 0) >> 0] = HEAPU16[($5_1 + 38 | 0) >> 1] | 0; + } + label$20 : { + if (!(((HEAPU16[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 12 | 0)) { + break label$20 + } + $3289((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0, 0 | 0, (HEAPU16[($5_1 + 36 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + } + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0) | 0) >> 0] = ((HEAPU16[($5_1 + 32 | 0) >> 1] | 0) & 65535 | 0) >> 8 | 0; + HEAP8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0) | 0) + 1 | 0) >> 0] = HEAPU16[($5_1 + 32 | 0) >> 1] | 0; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0) + 2 | 0) | 0) >> 0] = ((HEAPU16[($5_1 + 36 | 0) >> 1] | 0) & 65535 | 0) >> 8 | 0; + HEAP8[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (((HEAPU16[($5_1 + 38 | 0) >> 1] | 0) & 65535 | 0) + 2 | 0) | 0) + 1 | 0) >> 0] = HEAPU16[($5_1 + 36 | 0) >> 1] | 0; + $481_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($481_1 + 20 | 0) >> 2] = (HEAP32[($481_1 + 20 | 0) >> 2] | 0) + ((HEAPU16[($5_1 + 28 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $484_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $484_1 | 0; + } + + function $1074($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $103_1 = 0, $142_1 = 0, $129_1 = 0, $198_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAPU16[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) + (((HEAPU16[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (65536 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 20 | 0) >> 2] = 65536; + break label$3; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66371 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + label$5 : { + label$6 : { + if ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + if (!((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0)) { + break label$5 + } + } + if (!(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 2 | 0 | 0) <= (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1079(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $103_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $103_1; + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = $103_1; + label$8 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(66389 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$9 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + break label$1; + } + } + label$10 : { + if (!((((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 2 | 0) + (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $129_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + label$11 : { + label$12 : { + if (!((4 | 0) < ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 2 | 0) | 0 | 0) & 1 | 0)) { + break label$12 + } + $142_1 = 4; + break label$11; + } + $142_1 = (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 2 | 0) | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1080($129_1 | 0, $142_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (((((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) - 1 | 0) & 65535 | 0) + 1 | 0; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) - (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 8 | 0; + HEAP8[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $198_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $198_1 | 0; + } + + function $1075($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + if ((HEAPU8[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $694(73102 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $39_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $39_1 | 0; + } + + function $1076($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $12_1 = 0, $102_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + $12_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $813(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $4_1 + 12 | 0 | 0, $4_1 + 8 | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $12_1 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $1082(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0); + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != ($12_1 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $832(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 5 & 255 | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0); + } + } + label$3 : { + label$4 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + $814(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$3; + } + $3288((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0 | 0, ((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) << 1 | 0 | 0) | 0; + $3288((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0 | 0, ((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) << 2 | 0 | 0) | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0; + $785(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, ((HEAPU8[(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & -9 | 0 | 0); + $162((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $102_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $102_1 | 0; + } + + function $1077($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $29_1 = 0, $152_1 = 0, $160_1 = 0, $173_1 = 0, $176_1 = 0, $177_1 = 0, $184_1 = 0, $221_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 112 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAPU16[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $694(72024 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $813(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, $5_1 + 88 | 0 | 0, $5_1 + 80 | 0 | 0, 0 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($5_1 + 84 | 0) >> 2] | 0) { + break label$3 + } + $29_1 = 1; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 100 | 0) >> 2] | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0) | 0), HEAP16[(wasm2js_i32$0 + 70 | 0) >> 1] = wasm2js_i32$1; + $785(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, 13 | 0); + HEAP32[$5_1 >> 2] = $29_1; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $5_1 + 72 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $5_1 + 70 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = 2; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1083($5_1 | 0, 0 | 0, $29_1 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($5_1 + 84 | 0) >> 2] | 0)) { + break label$4 + } + $814(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 108 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] = (((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - ((HEAPU16[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) | 0) - 2 | 0) - ((HEAPU16[($5_1 + 70 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$5 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $832(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, 5 & 255 | 0 | 0, HEAP32[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $5_1 + 84 | 0 | 0); + label$6 : { + if (!(((HEAPU16[($5_1 + 70 | 0) >> 1] | 0) & 65535 | 0 | 0) > ((HEAPU16[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$6 + } + $835(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, $5_1 + 84 | 0 | 0); + } + } + HEAP32[($5_1 + 72 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 9 | 0; + label$7 : while (1) { + $152_1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $152_1 + 1 | 0; + $160_1 = 0; + label$8 : { + if (!(((HEAPU8[$152_1 >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$8 + } + $160_1 = (HEAP32[($5_1 + 72 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 64 | 0) >> 2] | 0) >>> 0; + } + label$9 : { + if (!($160_1 & 1 | 0)) { + break label$9 + } + continue label$7; + } + break label$7; + }; + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 9 | 0; + label$10 : while (1) { + $173_1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $173_1 + 1 | 0; + $176_1 = HEAPU8[$173_1 >> 0] | 0; + $177_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $177_1 + 1 | 0; + HEAP8[$177_1 >> 0] = $176_1; + $184_1 = 0; + label$11 : { + if (!(($176_1 & 255 | 0) & 128 | 0)) { + break label$11 + } + $184_1 = (HEAP32[($5_1 + 72 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 64 | 0) >> 2] | 0) >>> 0; + } + label$12 : { + if (!($184_1 & 1 | 0)) { + break label$12 + } + continue label$10; + } + break label$10; + }; + label$13 : { + if (HEAP32[($5_1 + 84 | 0) >> 2] | 0) { + break label$13 + } + $1010(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 76 | 0) >> 2] | 0) - (HEAP32[($5_1 + 96 | 0) >> 2] | 0) | 0 | 0, 0 | 0, HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $5_1 + 84 | 0 | 0); + } + $162((HEAP32[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0); + $814(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 108 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + } + $221_1 = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + global$0 = $5_1 + 112 | 0; + return $221_1 | 0; + } + + function $1078($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $63_1 = 0, $64_1 = 0, i64toi32_i32$1 = 0, $65_1 = 0, $66_1 = 0, $67_1 = 0, $68_1 = 0, $69_1 = 0, $70_1 = 0, $71_1 = 0, $72_1 = 0, $73_1 = 0, $213_1 = 0, $247_1 = 0, $363_1 = 0, i64toi32_i32$0 = 0, $791_1 = 0, $1865_1 = 0, $135_1 = 0, $188_1 = 0, $414_1 = 0, $790_1 = 0, $798_1 = 0, $807_1 = 0, $825_1 = 0, $859_1 = 0, $887_1 = 0, $959_1 = 0, $1075_1 = 0, $1122_1 = 0, $1128_1 = 0, $1188_1 = 0, $1194_1 = 0, $1239_1 = 0, $1284_1 = 0, $1315_1 = 0, $1442_1 = 0, $1478_1 = 0, $1514_1 = 0, $1522_1 = 0, $1541_1 = 0, $1615_1 = 0, $1627_1 = 0, $1656_1 = 0, $1699_1 = 0, $1722_1 = 0, $1766_1 = 0, $1825_1 = 0, $1866_1 = 0, $1914_1 = 0, $1964_1 = 0, $2204_1 = 0, $2254_1 = 0, $2283_1 = 0, $2288_1 = 0, $2338_1 = 0, $2375_1 = 0, $2409_1 = 0, $2454_1 = 0, $236_1 = 0, $311_1 = 0, $789_1 = 0, $955_1 = 0, $1267_1 = 0, $1461_1 = 0, $1538_1 = 0, $2494_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 544 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 536 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 532 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 528 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 524 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 520 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 512 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 508 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 484 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 464 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 460 | 0) >> 2] = $8_1; + $63_1 = $7_1 + 307 | 0; + $64_1 = 0; + HEAP8[$63_1 >> 0] = $64_1; + HEAP8[($63_1 + 1 | 0) >> 0] = $64_1 >>> 8 | 0; + HEAP8[($63_1 + 2 | 0) >> 0] = $64_1 >>> 16 | 0; + HEAP8[($63_1 + 3 | 0) >> 0] = $64_1 >>> 24 | 0; + HEAP8[($63_1 + 4 | 0) >> 0] = $64_1; + HEAP32[($7_1 + 160 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 168 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 516 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[($7_1 + 528 | 0) >> 2] | 0 | 0) != ($8_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($7_1 + 540 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($7_1 + 500 | 0) >> 2] = ((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) + ((HEAPU16[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 488 | 0) >> 2] = 0; + break label$3; + } + label$5 : { + label$6 : { + if (HEAP32[($7_1 + 532 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($7_1 + 488 | 0) >> 2] = 0; + break label$5; + } + label$7 : { + label$8 : { + if (!((HEAP32[($7_1 + 532 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 488 | 0) >> 2] = ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) - 2 | 0) + (HEAP32[($7_1 + 520 | 0) >> 2] | 0) | 0; + break label$7; + } + HEAP32[($7_1 + 488 | 0) >> 2] = (HEAP32[($7_1 + 532 | 0) >> 2] | 0) - 1 | 0; + } + } + HEAP32[($7_1 + 500 | 0) >> 2] = 2 - (HEAP32[($7_1 + 520 | 0) >> 2] | 0) | 0; + } + HEAP32[($7_1 + 504 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + label$9 : { + label$10 : { + if (!((((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + (HEAP32[($7_1 + 488 | 0) >> 2] | 0) | 0) - ((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0 | 0) == ((HEAPU16[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 412 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) | 0; + break label$9; + } + HEAP32[($7_1 + 412 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + (HEAP32[($7_1 + 488 | 0) >> 2] | 0) | 0) - ((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + (HEAP32[($7_1 + 488 | 0) >> 2] | 0) | 0) - ((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161(HEAP32[($7_1 + 412 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 312 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + label$12 : while (1) { + $135_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1061(HEAP32[($7_1 + 516 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 312 | 0) >> 2] | 0 | 0, ($7_1 + 444 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, $135_1 | 0, $135_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($7_1 + 484 | 0) >> 2] | 0)) { + break label$13 + } + $3289($7_1 + 444 | 0 | 0, 0 | 0, ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0) << 2 | 0 | 0) | 0; + break label$11; + } + label$14 : { + if (!((HEAP32[((HEAP32[(($7_1 + 444 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1006(HEAP32[(($7_1 + 444 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!(HEAP32[($7_1 + 484 | 0) >> 2] | 0)) { + break label$15 + } + $3289($7_1 + 444 | 0 | 0, 0 | 0, (HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + break label$11; + } + } + $188_1 = HEAP32[($7_1 + 500 | 0) >> 2] | 0; + HEAP32[($7_1 + 500 | 0) >> 2] = $188_1 + -1 | 0; + label$16 : { + label$17 : { + if ($188_1) { + break label$17 + } + break label$16; + } + label$18 : { + label$19 : { + if (!((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0)) { + break label$19 + } + if (!(((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + (HEAP32[($7_1 + 488 | 0) >> 2] | 0) | 0 | 0) == ((HEAPU16[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$19 + } + $213_1 = $7_1 + 404 | 0; + HEAP32[($213_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161(HEAP32[($213_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 312 | 0) >> 2] = wasm2js_i32$1; + $236_1 = (FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 536 | 0) >> 2] | 0, HEAP32[($213_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0) & 65535 | 0; + HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $236_1; + HEAP8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 12 | 0) >> 0] = 0; + break label$18; + } + $247_1 = $7_1 + 404 | 0; + HEAP32[($247_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[((HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + (HEAP32[($7_1 + 488 | 0) >> 2] | 0) | 0) - ((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0) << 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + (HEAP32[($7_1 + 488 | 0) >> 2] | 0) | 0) - ((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0) << 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161(HEAP32[($247_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 312 | 0) >> 2] = wasm2js_i32$1; + $311_1 = (FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 536 | 0) >> 2] | 0, HEAP32[($247_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0) & 65535 | 0; + HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $311_1; + label$20 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 516 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 12 | 0)) { + break label$20 + } + HEAP32[($7_1 + 156 | 0) >> 2] = (HEAP32[(($7_1 + 404 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0; + label$21 : { + if (!(((HEAP32[($7_1 + 156 | 0) >> 2] | 0) + (HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($7_1 + 516 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(72381 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + $3289($7_1 + 444 | 0 | 0, 0 | 0, ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0) << 2 | 0 | 0) | 0; + break label$11; + } + $363_1 = $7_1 + 404 | 0; + $3288((HEAP32[($7_1 + 528 | 0) >> 2] | 0) + (HEAP32[($7_1 + 156 | 0) >> 2] | 0) | 0 | 0, HEAP32[($363_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[($363_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($7_1 + 528 | 0) >> 2] | 0) + ((HEAP32[($363_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0) | 0; + } + $1009(HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + (HEAP32[($7_1 + 488 | 0) >> 2] | 0) | 0) - ((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0 | 0, HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $7_1 + 484 | 0 | 0); + } + continue label$12; + } + break label$12; + }; + $414_1 = 0; + HEAP32[($7_1 + 512 | 0) >> 2] = Math_imul(HEAP32[($7_1 + 504 | 0) >> 2] | 0, ((((HEAP32[((HEAP32[($7_1 + 516 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) - 8 | 0) >>> 0) / (6 >>> 0) | 0) + 4 | 0); + HEAP32[($7_1 + 512 | 0) >> 2] = ((HEAP32[($7_1 + 512 | 0) >> 2] | 0) + 3 | 0) & -4 | 0; + HEAP32[($7_1 + 456 | 0) >> 2] = (((HEAP32[($7_1 + 512 | 0) >> 2] | 0) << 2 | 0) + ((HEAP32[($7_1 + 512 | 0) >> 2] | 0) << 1 | 0) | 0) + (HEAP32[((HEAP32[($7_1 + 516 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 456 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $64($414_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!((HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0) == ($414_1 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($7_1 + 484 | 0) >> 2] = 7; + break label$11; + } + HEAP32[($7_1 + 172 | 0) >> 2] = (HEAP32[($7_1 + 168 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 512 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($7_1 + 316 | 0) >> 2] = (HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 512 | 0) >> 2] | 0) << 1 | 0) | 0; + HEAP32[($7_1 + 164 | 0) >> 2] = HEAP32[($7_1 + 444 | 0) >> 2] | 0; + HEAP16[($7_1 + 482 | 0) >> 1] = ((HEAPU8[((HEAP32[($7_1 + 164 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) << 2 | 0; + HEAP32[($7_1 + 476 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 164 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($7_1 + 500 | 0) >> 2] = 0; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 504 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($7_1 + 152 | 0) >> 2] = HEAP32[(($7_1 + 444 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 148 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($7_1 + 144 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP16[($7_1 + 142 | 0) >> 1] = HEAPU16[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0; + HEAP32[($7_1 + 136 | 0) >> 2] = (HEAP32[($7_1 + 144 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$25 : { + if (!(((HEAPU8[(HEAP32[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[(HEAP32[((HEAP32[($7_1 + 444 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$25 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(72448 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + $3289((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 1 | 0) | 0 | 0, 0 | 0, ((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0) << 1 | 0 | 0) | 0; + label$26 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$26 + } + label$27 : { + if (!((HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$27 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(72472 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + HEAP32[($7_1 + 148 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($7_1 + 496 | 0) >> 2] = 0; + label$28 : { + label$29 : while (1) { + if (!((HEAP32[($7_1 + 496 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($7_1 + 144 | 0) >> 2] | 0) + (((HEAPU16[($7_1 + 142 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + HEAP32[($7_1 + 136 | 0) >> 2] = (HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 2 | 0; + HEAP32[($7_1 + 160 | 0) >> 2] = (HEAP32[($7_1 + 160 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 496 | 0) >> 2] = (HEAP32[($7_1 + 496 | 0) >> 2] | 0) + 1 | 0; + continue label$29; + }; + } + HEAP32[($7_1 + 492 | 0) >> 2] = 0; + label$30 : { + label$31 : while (1) { + if (!((HEAP32[($7_1 + 492 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 492 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 160 | 0) >> 2] = (HEAP32[($7_1 + 160 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 492 | 0) >> 2] = (HEAP32[($7_1 + 492 | 0) >> 2] | 0) + 1 | 0; + continue label$31; + }; + } + } + HEAP32[($7_1 + 132 | 0) >> 2] = ((HEAP32[($7_1 + 144 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) | 0) + (((HEAPU16[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0; + label$32 : { + label$33 : while (1) { + if (!((HEAP32[($7_1 + 136 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 132 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$32 + } + HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($7_1 + 144 | 0) >> 2] | 0) + (((HEAPU16[($7_1 + 142 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU8[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) | 0) | 0; + HEAP32[($7_1 + 136 | 0) >> 2] = (HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 2 | 0; + HEAP32[($7_1 + 160 | 0) >> 2] = (HEAP32[($7_1 + 160 | 0) >> 2] | 0) + 1 | 0; + continue label$33; + }; + } + HEAP32[(($7_1 + 352 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + label$34 : { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < ((HEAP32[($7_1 + 504 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$34 + } + if (HEAP32[($7_1 + 476 | 0) >> 2] | 0) { + break label$34 + } + HEAP16[($7_1 + 130 | 0) >> 1] = HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAPU16[($7_1 + 130 | 0) >> 1] | 0; + HEAP32[($7_1 + 124 | 0) >> 2] = (HEAP32[($7_1 + 316 | 0) >> 2] | 0) + (HEAP32[($7_1 + 464 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 464 | 0) >> 2] = (HEAP32[($7_1 + 464 | 0) >> 2] | 0) + ((HEAPU16[($7_1 + 130 | 0) >> 1] | 0) & 65535 | 0) | 0; + $3288(HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[(($7_1 + 404 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, (HEAPU16[($7_1 + 130 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($7_1 + 124 | 0) >> 2] | 0) + ((HEAPU16[($7_1 + 482 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = ((HEAPU16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) - ((HEAPU16[($7_1 + 482 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$35 : { + label$36 : { + if (((HEAPU8[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$36 + } + $65_1 = (HEAP32[((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 8 | 0; + $66_1 = HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $67_1 = HEAPU8[$65_1 >> 0] | 0 | ((HEAPU8[($65_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($65_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($65_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$66_1 >> 0] = $67_1; + HEAP8[($66_1 + 1 | 0) >> 0] = $67_1 >>> 8 | 0; + HEAP8[($66_1 + 2 | 0) >> 0] = $67_1 >>> 16 | 0; + HEAP8[($66_1 + 3 | 0) >> 0] = $67_1 >>> 24 | 0; + break label$35; + } + label$37 : { + label$38 : while (1) { + if (!(((HEAPU16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$37 + } + $789_1 = HEAP32[($7_1 + 316 | 0) >> 2] | 0; + $790_1 = HEAP32[($7_1 + 464 | 0) >> 2] | 0; + $791_1 = 1; + HEAP32[($7_1 + 464 | 0) >> 2] = $790_1 + $791_1 | 0; + HEAP8[($789_1 + $790_1 | 0) >> 0] = 0; + $798_1 = (HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) << $791_1 | 0) | 0; + HEAP16[$798_1 >> 1] = (HEAPU16[$798_1 >> 1] | 0) + $791_1 | 0; + continue label$38; + }; + } + } + HEAP32[($7_1 + 160 | 0) >> 2] = (HEAP32[($7_1 + 160 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$24; + }; + } + $807_1 = 0; + HEAP32[($7_1 + 472 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 516 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 12 | 0) + ((HEAPU16[($7_1 + 482 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP32[($7_1 + 492 | 0) >> 2] = $807_1; + HEAP32[($7_1 + 500 | 0) >> 2] = $807_1; + label$39 : { + label$40 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 504 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$39 + } + $825_1 = $7_1 + 160 | 0; + HEAP32[($7_1 + 120 | 0) >> 2] = HEAP32[(($7_1 + 444 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(($825_1 + 16 | 0) + ((HEAP32[($7_1 + 492 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[(($825_1 + 40 | 0) + ((HEAP32[($7_1 + 492 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(($7_1 + 352 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$41 : { + if (!(HEAP32[($7_1 + 492 | 0) >> 2] | 0)) { + break label$41 + } + $859_1 = $7_1 + 160 | 0; + if (!((HEAP32[(($859_1 + 40 | 0) + ((HEAP32[($7_1 + 492 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[(($859_1 + 40 | 0) + (((HEAP32[($7_1 + 492 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$41 + } + HEAP32[($7_1 + 492 | 0) >> 2] = (HEAP32[($7_1 + 492 | 0) >> 2] | 0) + -1 | 0; + } + label$42 : { + if (HEAP32[($7_1 + 476 | 0) >> 2] | 0) { + break label$42 + } + $887_1 = $7_1 + 160 | 0; + HEAP32[($7_1 + 492 | 0) >> 2] = (HEAP32[($7_1 + 492 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(($887_1 + 16 | 0) + ((HEAP32[($7_1 + 492 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[(($887_1 + 40 | 0) + ((HEAP32[($7_1 + 492 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[(($7_1 + 352 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($7_1 + 472 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 496 | 0) >> 2] = 0; + label$43 : { + label$44 : while (1) { + if (!((HEAP32[($7_1 + 496 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$43 + } + $955_1 = ((FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 120 | 0) >> 2] | 0, HEAP32[(((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 496 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0) & 65535 | 0) + 2 | 0; + $959_1 = ($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$959_1 >> 2] = (HEAP32[$959_1 >> 2] | 0) + $955_1 | 0; + HEAP32[($7_1 + 496 | 0) >> 2] = (HEAP32[($7_1 + 496 | 0) >> 2] | 0) + 1 | 0; + continue label$44; + }; + } + HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(($7_1 + 352 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 492 | 0) >> 2] = (HEAP32[($7_1 + 492 | 0) >> 2] | 0) + 1 | 0; + continue label$40; + }; + } + HEAP32[($7_1 + 492 | 0) >> 2] = HEAP32[($7_1 + 504 | 0) >> 2] | 0; + HEAP32[($7_1 + 500 | 0) >> 2] = 0; + label$45 : { + label$46 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 492 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$45 + } + label$47 : { + label$48 : while (1) { + if (!((HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 472 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$47 + } + label$49 : { + if (!(((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0 | 0) >= (HEAP32[($7_1 + 492 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$49 + } + HEAP32[($7_1 + 492 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 2 | 0; + label$50 : { + if (!((HEAP32[($7_1 + 492 | 0) >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$50 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(72573 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + HEAP32[(($7_1 + 320 | 0) + (((HEAP32[($7_1 + 492 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[(($7_1 + 384 | 0) + (((HEAP32[($7_1 + 492 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = (($1084($7_1 + 160 | 0 | 0, (HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) - 1 | 0 | 0) | 0) & 65535 | 0) + 2 | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + $1075_1 = ($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$1075_1 >> 2] = (HEAP32[$1075_1 >> 2] | 0) - (HEAP32[($7_1 + 116 | 0) >> 2] | 0) | 0; + label$51 : { + if (HEAP32[($7_1 + 476 | 0) >> 2] | 0) { + break label$51 + } + label$52 : { + label$53 : { + if (!((HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$53 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = (($1084($7_1 + 160 | 0 | 0, HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) & 65535 | 0) + 2 | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + break label$52; + } + HEAP32[($7_1 + 116 | 0) >> 2] = 0; + } + } + $1122_1 = ($7_1 + 320 | 0) + (((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0; + HEAP32[$1122_1 >> 2] = (HEAP32[$1122_1 >> 2] | 0) + (HEAP32[($7_1 + 116 | 0) >> 2] | 0) | 0; + $1128_1 = ($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$1128_1 >> 2] = (HEAP32[$1128_1 >> 2] | 0) + -1 | 0; + continue label$48; + }; + } + label$54 : { + label$55 : while (1) { + if (!((HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$54 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = (($1084($7_1 + 160 | 0 | 0, HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) & 65535 | 0) + 2 | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$56 : { + if (!(((HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + (HEAP32[($7_1 + 116 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($7_1 + 472 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$56 + } + break label$54; + } + $1188_1 = ($7_1 + 320 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$1188_1 >> 2] = (HEAP32[$1188_1 >> 2] | 0) + (HEAP32[($7_1 + 116 | 0) >> 2] | 0) | 0; + $1194_1 = ($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$1194_1 >> 2] = (HEAP32[$1194_1 >> 2] | 0) + 1 | 0; + label$57 : { + if (HEAP32[($7_1 + 476 | 0) >> 2] | 0) { + break label$57 + } + label$58 : { + label$59 : { + if (!((HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$59 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = (($1084($7_1 + 160 | 0 | 0, HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) & 65535 | 0) + 2 | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + break label$58; + } + HEAP32[($7_1 + 116 | 0) >> 2] = 0; + } + } + $1239_1 = ($7_1 + 320 | 0) + (((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0; + HEAP32[$1239_1 >> 2] = (HEAP32[$1239_1 >> 2] | 0) - (HEAP32[($7_1 + 116 | 0) >> 2] | 0) | 0; + continue label$55; + }; + } + label$60 : { + label$61 : { + if (!((HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$61 + } + HEAP32[($7_1 + 492 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + break label$60; + } + $1267_1 = HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$62 : { + label$63 : { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$63 + } + $1284_1 = HEAP32[(($7_1 + 384 | 0) + (((HEAP32[($7_1 + 500 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + break label$62; + } + $1284_1 = 0; + } + label$64 : { + if (!(($1267_1 | 0) <= ($1284_1 | 0) & 1 | 0)) { + break label$64 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(72606 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$46; + }; + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 492 | 0) >> 2] | 0) - 1 | 0; + label$65 : { + label$66 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$65 + } + $1315_1 = $7_1 + 320 | 0; + HEAP32[($7_1 + 112 | 0) >> 2] = HEAP32[($1315_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($1315_1 + (((HEAP32[($7_1 + 500 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 104 | 0) >> 2] = (HEAP32[(($7_1 + 384 | 0) + (((HEAP32[($7_1 + 500 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0) - 1 | 0; + HEAP32[($7_1 + 100 | 0) >> 2] = ((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[($7_1 + 476 | 0) >> 2] | 0) | 0; + $1084($7_1 + 160 | 0 | 0, HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0) | 0; + label$67 : { + label$68 : while (1) { + $1084($7_1 + 160 | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) | 0; + label$69 : { + if (!(HEAP32[($7_1 + 112 | 0) >> 2] | 0)) { + break label$69 + } + label$70 : { + if (HEAP32[($7_1 + 520 | 0) >> 2] | 0) { + break label$70 + } + if (!((((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 100 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) | 0) + 2 | 0 | 0) > ((HEAP32[($7_1 + 108 | 0) >> 2] | 0) - (((HEAPU16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 104 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) == ((HEAP32[($7_1 + 492 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0 ? 0 : 2) | 0) | 0 | 0) & 1 | 0)) { + break label$69 + } + } + break label$67; + } + HEAP32[($7_1 + 112 | 0) >> 2] = (HEAP32[($7_1 + 112 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 100 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) + 2 | 0) | 0; + HEAP32[($7_1 + 108 | 0) >> 2] = (HEAP32[($7_1 + 108 | 0) >> 2] | 0) - (((HEAPU16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 104 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) + 2 | 0) | 0; + HEAP32[(($7_1 + 384 | 0) + (((HEAP32[($7_1 + 500 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + HEAP32[($7_1 + 104 | 0) >> 2] = (HEAP32[($7_1 + 104 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($7_1 + 100 | 0) >> 2] = (HEAP32[($7_1 + 100 | 0) >> 2] | 0) + -1 | 0; + if ((HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + continue label$68 + } + break label$68; + }; + } + $1442_1 = $7_1 + 320 | 0; + HEAP32[($1442_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 112 | 0) >> 2] | 0; + HEAP32[($1442_1 + (((HEAP32[($7_1 + 500 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 108 | 0) >> 2] | 0; + $1461_1 = HEAP32[(($7_1 + 384 | 0) + (((HEAP32[($7_1 + 500 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + label$71 : { + label$72 : { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$72 + } + $1478_1 = HEAP32[(($7_1 + 384 | 0) + (((HEAP32[($7_1 + 500 | 0) >> 2] | 0) - 2 | 0) << 2 | 0) | 0) >> 2] | 0; + break label$71; + } + $1478_1 = 0; + } + label$73 : { + if (!(($1461_1 | 0) <= ($1478_1 | 0) & 1 | 0)) { + break label$73 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(72648 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + -1 | 0; + continue label$66; + }; + } + HEAP32[($7_1 + 468 | 0) >> 2] = (HEAPU8[(HEAP32[((HEAP32[($7_1 + 444 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($7_1 + 500 | 0) >> 2] = 0; + label$74 : { + label$75 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 492 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$74 + } + label$76 : { + label$77 : { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 504 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$77 + } + $1514_1 = $7_1 + 444 | 0; + $1522_1 = HEAP32[($1514_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(($7_1 + 416 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $1522_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $1522_1; + HEAP32[($1514_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $145(HEAP32[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 508 | 0) >> 2] = (HEAP32[($7_1 + 508 | 0) >> 2] | 0) + 1 | 0; + label$78 : { + if (!(HEAP32[($7_1 + 484 | 0) >> 2] | 0)) { + break label$78 + } + break label$11; + } + break label$76; + } + $1538_1 = HEAP32[($7_1 + 516 | 0) >> 2] | 0; + label$79 : { + label$80 : { + if (!(HEAP32[($7_1 + 520 | 0) >> 2] | 0)) { + break label$80 + } + $1541_1 = 1; + break label$79; + } + $1541_1 = HEAP32[($7_1 + 312 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $813($1538_1 | 0, $7_1 + 96 | 0 | 0, $7_1 + 312 | 0 | 0, $1541_1 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + label$81 : { + if (!(HEAP32[($7_1 + 484 | 0) >> 2] | 0)) { + break label$81 + } + break label$11; + } + $785(HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 468 | 0) >> 2] | 0 | 0); + HEAP32[(($7_1 + 416 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + HEAP32[($7_1 + 508 | 0) >> 2] = (HEAP32[($7_1 + 508 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(($7_1 + 352 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + label$82 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 516 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$82 + } + $832(HEAP32[($7_1 + 516 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 5 & 255 | 0 | 0, HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $7_1 + 484 | 0 | 0); + label$83 : { + if (!(HEAP32[($7_1 + 484 | 0) >> 2] | 0)) { + break label$83 + } + break label$11; + } + } + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$75; + }; + } + HEAP32[($7_1 + 500 | 0) >> 2] = 0; + label$84 : { + label$85 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$84 + } + $1615_1 = $7_1 + 416 | 0; + $1627_1 = HEAP32[((HEAP32[($1615_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[(($7_1 + 272 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $1627_1; + HEAP32[(($7_1 + 240 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $1627_1; + HEAP16[(($7_1 + 230 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($1615_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0; + HEAP32[($7_1 + 496 | 0) >> 2] = 0; + label$86 : { + label$87 : while (1) { + if (!((HEAP32[($7_1 + 496 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$86 + } + $1656_1 = $7_1 + 272 | 0; + label$88 : { + if (!((HEAP32[($1656_1 + ((HEAP32[($7_1 + 496 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($1656_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$88 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(72722 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + HEAP32[($7_1 + 496 | 0) >> 2] = (HEAP32[($7_1 + 496 | 0) >> 2] | 0) + 1 | 0; + continue label$87; + }; + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$85; + }; + } + HEAP32[($7_1 + 500 | 0) >> 2] = 0; + label$89 : { + label$90 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$89 + } + HEAP32[($7_1 + 92 | 0) >> 2] = 0; + HEAP32[($7_1 + 496 | 0) >> 2] = 1; + label$91 : { + label$92 : while (1) { + if (!((HEAP32[($7_1 + 496 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$91 + } + $1699_1 = $7_1 + 240 | 0; + label$93 : { + if (!((HEAP32[($1699_1 + ((HEAP32[($7_1 + 496 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 < (HEAP32[($1699_1 + ((HEAP32[($7_1 + 92 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$93 + } + HEAP32[($7_1 + 92 | 0) >> 2] = HEAP32[($7_1 + 496 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 496 | 0) >> 2] = (HEAP32[($7_1 + 496 | 0) >> 2] | 0) + 1 | 0; + continue label$92; + }; + } + $1722_1 = $7_1 + 240 | 0; + HEAP32[($7_1 + 312 | 0) >> 2] = HEAP32[($1722_1 + ((HEAP32[($7_1 + 92 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($1722_1 + ((HEAP32[($7_1 + 92 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + label$94 : { + if (!((HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$94 + } + label$95 : { + if (!((HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$95 + } + $1085(HEAP32[((HEAP32[(($7_1 + 416 | 0) + ((HEAP32[($7_1 + 92 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($7_1 + 516 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($7_1 + 92 | 0) >> 2] | 0) | 0) + 1 | 0 | 0, 0 & 65535 | 0 | 0); + } + $1766_1 = $7_1 + 416 | 0; + $1085(HEAP32[((HEAP32[($1766_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 312 | 0) >> 2] | 0 | 0, (HEAPU16[(($7_1 + 230 | 0) + ((HEAP32[($7_1 + 92 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0); + HEAP32[((HEAP32[($1766_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 312 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$90; + }; + } + $162(HEAP32[($7_1 + 412 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(($7_1 + 416 | 0) + (((HEAP32[($7_1 + 508 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + label$96 : { + if ((HEAP32[($7_1 + 468 | 0) >> 2] | 0) & 8 | 0) { + break label$96 + } + if (!((HEAP32[($7_1 + 504 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$96 + } + label$97 : { + label$98 : { + if (!((HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 504 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$98 + } + $1825_1 = $7_1 + 416 | 0; + break label$97; + } + $1825_1 = $7_1 + 444 | 0; + } + HEAP32[($7_1 + 88 | 0) >> 2] = HEAP32[($1825_1 + (((HEAP32[($7_1 + 504 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + $68_1 = (HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 8 | 0; + $69_1 = (HEAP32[((HEAP32[(($7_1 + 416 | 0) + (((HEAP32[($7_1 + 508 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 8 | 0; + $70_1 = HEAPU8[$68_1 >> 0] | 0 | ((HEAPU8[($68_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($68_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($68_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$69_1 >> 0] = $70_1; + HEAP8[($69_1 + 1 | 0) >> 0] = $70_1 >>> 8 | 0; + HEAP8[($69_1 + 2 | 0) >> 0] = $70_1 >>> 16 | 0; + HEAP8[($69_1 + 3 | 0) >> 0] = $70_1 >>> 24 | 0; + } + label$99 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 516 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$99 + } + $1865_1 = 0; + $1866_1 = HEAP32[($7_1 + 416 | 0) >> 2] | 0; + HEAP32[($7_1 + 84 | 0) >> 2] = $1866_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $1866_1; + HEAP32[($7_1 + 76 | 0) >> 2] = ((HEAPU16[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) + ((HEAPU8[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $1865_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1865_1; + HEAP32[($7_1 + 500 | 0) >> 2] = $1865_1; + label$100 : { + label$101 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$100 + } + HEAP32[($7_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$102 : { + label$103 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$102 + } + HEAP32[($7_1 + 68 | 0) >> 2] = (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 1 | 0; + label$104 : { + label$105 : { + if (!((HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$105 + } + $1914_1 = HEAP32[(($7_1 + 416 | 0) + ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$104; + } + $1914_1 = HEAP32[(($7_1 + 444 | 0) + ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($7_1 + 84 | 0) >> 2] = $1914_1; + HEAP32[($7_1 + 76 | 0) >> 2] = (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) + ((HEAPU8[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0) + (((HEAP32[($7_1 + 476 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0) | 0) | 0; + continue label$103; + }; + } + label$106 : { + label$107 : { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) == (HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$107 + } + $1964_1 = (HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $1964_1; + HEAP32[($7_1 + 80 | 0) >> 2] = HEAP32[(($7_1 + 416 | 0) + ($1964_1 << 2 | 0) | 0) >> 2] | 0; + label$108 : { + if (HEAP32[($7_1 + 476 | 0) >> 2] | 0) { + break label$108 + } + break label$106; + } + } + label$109 : { + label$110 : { + if ((HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) >= (HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$110 + } + if ((HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[(($7_1 + 272 | 0) + ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$110 + } + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$110 + } + if ((HEAP32[($7_1 + 64 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$109 + } + } + label$111 : { + if (((HEAPU16[($7_1 + 482 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0) { + break label$111 + } + $832(HEAP32[($7_1 + 516 | 0) >> 2] | 0 | 0, $161(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) | 0 | 0, 5 & 255 | 0 | 0, HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $7_1 + 484 | 0 | 0); + } + label$112 : { + if (!((($1084($7_1 + 160 | 0 | 0, HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) | 0) & 65535 | 0 | 0) > ((HEAPU16[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$112 + } + $835(HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, $7_1 + 484 | 0 | 0); + } + label$113 : { + if (!(HEAP32[($7_1 + 484 | 0) >> 2] | 0)) { + break label$113 + } + break label$11; + } + } + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$101; + }; + } + } + HEAP32[($7_1 + 500 | 0) >> 2] = 0; + label$114 : { + label$115 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < ((HEAP32[($7_1 + 508 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$114 + } + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[(($7_1 + 416 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 496 | 0) >> 2] = HEAP32[(($7_1 + 384 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 496 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = ((HEAPU16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 496 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) + ((HEAPU16[($7_1 + 482 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = (HEAP32[($7_1 + 528 | 0) >> 2] | 0) + (HEAP32[($7_1 + 460 | 0) >> 2] | 0) | 0; + label$116 : { + label$117 : { + if (((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$117 + } + $71_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + $72_1 = (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 8 | 0; + $73_1 = HEAPU8[$71_1 >> 0] | 0 | ((HEAPU8[($71_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($71_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($71_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$72_1 >> 0] = $73_1; + HEAP8[($72_1 + 1 | 0) >> 0] = $73_1 >>> 8 | 0; + HEAP8[($72_1 + 2 | 0) >> 0] = $73_1 >>> 16 | 0; + HEAP8[($72_1 + 3 | 0) >> 0] = $73_1 >>> 24 | 0; + break label$116; + } + label$118 : { + label$119 : { + if (!(HEAP32[($7_1 + 476 | 0) >> 2] | 0)) { + break label$119 + } + HEAP32[($7_1 + 496 | 0) >> 2] = (HEAP32[($7_1 + 496 | 0) >> 2] | 0) + -1 | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 48 | 0) >> 2] | 0, HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 496 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, $7_1 + 24 | 0); + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($908((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 4 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0) + 4 | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 56 | 0) >> 2] = 0; + break label$118; + } + HEAP32[($7_1 + 60 | 0) >> 2] = (HEAP32[($7_1 + 60 | 0) >> 2] | 0) + -4 | 0; + label$120 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 496 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$120 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 536 | 0) >> 2] | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + } + } + HEAP32[($7_1 + 460 | 0) >> 2] = (HEAP32[($7_1 + 460 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0; + $1010(HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 488 | 0) >> 2] | 0) + (HEAP32[($7_1 + 500 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $7_1 + 484 | 0 | 0); + label$121 : { + if (!(HEAP32[($7_1 + 484 | 0) >> 2] | 0)) { + break label$121 + } + break label$11; + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$115; + }; + } + HEAP32[($7_1 + 500 | 0) >> 2] = 1 - (HEAP32[($7_1 + 508 | 0) >> 2] | 0) | 0; + label$122 : { + label$123 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$122 + } + label$124 : { + label$125 : { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$125 + } + $2204_1 = 0 - (HEAP32[($7_1 + 500 | 0) >> 2] | 0) | 0; + break label$124; + } + $2204_1 = HEAP32[($7_1 + 500 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 20 | 0) >> 2] = $2204_1; + label$126 : { + label$127 : { + if (!(((HEAPU8[(($7_1 + 307 | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$127 + } + break label$126; + } + label$128 : { + label$129 : { + if ((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$129 + } + if (!((HEAP32[(($7_1 + 352 | 0) + (((HEAP32[($7_1 + 20 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (HEAP32[(($7_1 + 384 | 0) + (((HEAP32[($7_1 + 20 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$128 + } + } + label$130 : { + label$131 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$131 + } + $2254_1 = 0; + HEAP32[($7_1 + 12 | 0) >> 2] = $2254_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2254_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 384 | 0) >> 2] | 0; + break label$130; + } + label$132 : { + label$133 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 504 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$133 + } + $2283_1 = (HEAP32[(($7_1 + 352 | 0) + (((HEAP32[($7_1 + 20 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0) + (((HEAP32[($7_1 + 476 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0) | 0; + break label$132; + } + $2283_1 = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + } + $2288_1 = $7_1 + 384 | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = $2283_1; + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($2288_1 + (((HEAP32[($7_1 + 20 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0) + (((HEAP32[($7_1 + 476 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0) | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($2288_1 + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) - (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1086(HEAP32[(($7_1 + 416 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, $7_1 + 160 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + label$134 : { + if (!(HEAP32[($7_1 + 484 | 0) >> 2] | 0)) { + break label$134 + } + break label$11; + } + $2338_1 = ($7_1 + 307 | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0; + HEAP8[$2338_1 >> 0] = (HEAPU8[$2338_1 >> 0] | 0) + 1 | 0; + HEAP32[((HEAP32[(($7_1 + 416 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($7_1 + 472 | 0) >> 2] | 0) - (HEAP32[(($7_1 + 320 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + } + } + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$123; + }; + } + label$135 : { + label$136 : { + if (!(HEAP32[($7_1 + 524 | 0) >> 2] | 0)) { + break label$136 + } + if ((HEAPU16[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) { + break label$136 + } + if (!(((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) <= (HEAP32[((HEAP32[($7_1 + 416 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$136 + } + $2375_1 = $7_1 + 484 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1080(HEAP32[($7_1 + 416 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_i32$1; + $1082(HEAP32[($7_1 + 416 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0, $2375_1 | 0); + $1063(HEAP32[($7_1 + 416 | 0) >> 2] | 0 | 0, $2375_1 | 0); + break label$135; + } + label$137 : { + if (!((HEAPU8[((HEAP32[($7_1 + 516 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0)) { + break label$137 + } + if (((HEAPU16[($7_1 + 482 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0) { + break label$137 + } + HEAP32[($7_1 + 500 | 0) >> 2] = 0; + label$138 : { + label$139 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$138 + } + $2409_1 = $7_1 + 416 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $161((HEAP32[((HEAP32[($2409_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $832(HEAP32[($7_1 + 516 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, 5 & 255 | 0 | 0, HEAP32[((HEAP32[($2409_1 + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $7_1 + 484 | 0 | 0); + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$139; + }; + } + } + } + HEAP32[($7_1 + 500 | 0) >> 2] = HEAP32[($7_1 + 508 | 0) >> 2] | 0; + label$140 : { + label$141 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 504 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$140 + } + $1063(HEAP32[(($7_1 + 444 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $7_1 + 484 | 0 | 0); + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$141; + }; + } + } + $2454_1 = 0; + $13($2454_1 | 0, HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 500 | 0) >> 2] = $2454_1; + label$142 : { + label$143 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 504 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$142 + } + $814(HEAP32[(($7_1 + 444 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$143; + }; + } + HEAP32[($7_1 + 500 | 0) >> 2] = 0; + label$144 : { + label$145 : while (1) { + if (!((HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$144 + } + $814(HEAP32[(($7_1 + 416 | 0) + ((HEAP32[($7_1 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 500 | 0) >> 2] = (HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 1 | 0; + continue label$145; + }; + } + HEAP32[($7_1 + 540 | 0) >> 2] = HEAP32[($7_1 + 484 | 0) >> 2] | 0; + } + $2494_1 = HEAP32[($7_1 + 540 | 0) >> 2] | 0; + global$0 = $7_1 + 544 | 0; + return $2494_1 | 0; + } + + function $1079($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $64_1 = 0, $10_1 = 0, $11_1 = 0, $12_1 = 0, $106_1 = 0, $122_1 = 0, $170_1 = 0, $185_1 = 0, $188_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 4 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 2 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + $64_1 = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) - (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $64_1; + label$4 : { + if (!(($64_1 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 7 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) > (57 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $10_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0; + $11_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0; + $12_1 = HEAPU8[$10_1 >> 0] | 0 | ((HEAPU8[($10_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$11_1 >> 0] = $12_1; + HEAP8[($11_1 + 1 | 0) >> 0] = $12_1 >>> 8 | 0; + $106_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 7 | 0) | 0; + HEAP8[$106_1 >> 0] = ((HEAPU8[$106_1 >> 0] | 0) & 255 | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 255 | 0) | 0; + break label$5; + } + label$8 : { + if (!(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $122_1 = $694(66303 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = $122_1; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 8 | 0; + HEAP8[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 2 | 0) | 0) + 1 | 0) >> 0] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) | 0; + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$9 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) <= ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$10 + } + $170_1 = $694(66317 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = $170_1; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + continue label$3; + }; + } + label$11 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) > (((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0) - 4 | 0 | 0) & 1 | 0)) { + break label$11 + } + $185_1 = $694(66324 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = $185_1; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $188_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $188_1 | 0; + } + + function $1080($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, $487_1 = 0, $519_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + $7_1 = HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = $7_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $7_1; + HEAP32[($4_1 + 88 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 68 | 0) >> 2] | 0) << 1 | 0) | 0; + HEAP32[($4_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 7 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) <= (HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 44 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 1 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$4 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) > ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) - 4 | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66174 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$5 : { + if (!(HEAP32[($4_1 + 44 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($4_1 + 40 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$6 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) > ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) - 4 | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66177 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$7 : { + label$8 : { + if ((0 | 0) == (HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$8 + } + if ((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (HEAP32[($4_1 + 40 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$7 + } + if ((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$7 + } + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 68 | 0) >> 2] | 0) << 1 | 0) | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 2 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$9 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66185 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$10 : { + label$11 : { + if (!(HEAP32[($4_1 + 40 | 0) >> 2] | 0)) { + break label$11 + } + label$12 : { + if (!(((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66188 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 2 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$13 : { + if (!(((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66190 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $3290((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) | 0 | 0, (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) | 0 | 0, (HEAP32[($4_1 + 40 | 0) >> 2] | 0) - ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) | 0 | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0; + break label$10; + } + label$14 : { + if (!(((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66194 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + HEAP32[($4_1 + 72 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0; + $3290((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (HEAP32[($4_1 + 72 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 44 | 0) >> 2] | 0) - (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (HEAP32[($4_1 + 76 | 0) >> 2] | 0) | 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 92 | 0) >> 2] = ((HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$17 : { + label$18 : { + if (!((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] = ((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >> 8 | 0; + HEAP8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0) >> 0] = (HEAP32[($4_1 + 92 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0; + break label$17; + } + label$19 : { + if (!((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] = ((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 8 | 0; + HEAP8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0) >> 0] = (HEAP32[($4_1 + 92 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0; + } + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 2 | 0; + continue label$16; + }; + } + break label$2; + } + } + } + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 80 | 0) >> 2] | 0) - 4 | 0; + HEAP32[($4_1 + 96 | 0) >> 2] = 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 96 | 0) >> 2] | 0) << 1 | 0) | 0) | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = ((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$22 : { + label$23 : { + if ((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$23 + } + if (!((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) > (HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66222 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 104 | 0) >> 2] | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + (HEAP32[($4_1 + 92 | 0) >> 2] | 0) | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 72 | 0) >> 2] = (HEAP32[($4_1 + 72 | 0) >> 2] | 0) - (HEAP32[($4_1 + 84 | 0) >> 2] | 0) | 0; + label$24 : { + label$25 : { + if ((HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$25 + } + if (!(((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + (HEAP32[($4_1 + 84 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66228 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] = (HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 8 | 0; + HEAP8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + label$26 : { + label$27 : { + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$27 + } + label$28 : { + if (!((HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + break label$26; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1081(HEAP32[(HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + $3288((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0 | 0, ((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + (HEAP32[($4_1 + 84 | 0) >> 2] | 0) | 0) - (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + } + $3288((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (HEAP32[($4_1 + 72 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + (HEAP32[($4_1 + 92 | 0) >> 2] | 0) | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($4_1 + 96 | 0) >> 2] = (HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 1 | 0; + continue label$21; + }; + } + HEAP8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 7 | 0) | 0) >> 0] = 0; + } + label$29 : { + if (!(((((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 7 | 0) | 0) >> 0] | 0) & 255 | 0) + (HEAP32[($4_1 + 72 | 0) >> 2] | 0) | 0) - (HEAP32[($4_1 + 52 | 0) >> 2] | 0) | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $694(66249 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $487_1 = 0; + HEAP8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] = (HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 8 | 0; + HEAP8[(((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = $487_1; + HEAP8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] = $487_1; + $3289((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + (HEAP32[($4_1 + 52 | 0) >> 2] | 0) | 0 | 0, 0 | 0, (HEAP32[($4_1 + 72 | 0) >> 2] | 0) - (HEAP32[($4_1 + 52 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($4_1 + 108 | 0) >> 2] = 0; + } + $519_1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $519_1 | 0; + } + + function $1081($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0 | 0; + } + + function $1082($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $96_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 100 : 0; + HEAP32[($5_1 + 8 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + $3288((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0, (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0) | 0; + $3288((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) & 65535 | 0) + (((HEAPU16[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0 | 0) | 0; + HEAP8[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 0] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $626(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1006(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + $96_1 = $831(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = $96_1; + } + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1083($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $238_1 = 0, $81_1 = 0, $293_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + (HEAP32[($6_1 + 48 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (HEAP32[($6_1 + 64 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1081(HEAP32[(HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 36 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0; + label$1 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 > (HEAP32[($6_1 + 48 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 36 | 0) >> 2] = 0; + } + $3288((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 48 | 0) >> 2] | 0) - (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$2 : while (1) { + $81_1 = 0; + label$3 : { + if (!((HEAP32[(((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 40 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) <= (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $81_1 = (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (6 | 0); + } + label$4 : { + if (!($81_1 & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP16[($6_1 + 6 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 52 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 44 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + label$9 : { + if (!(((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + ((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) & 65535 | 0) | 0) >>> 0 > (HEAP32[($6_1 + 44 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(71706 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) - (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0) | 0; + break label$7; + } + label$10 : { + if (!(((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + ((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) & 65535 | 0) | 0) >>> 0 > (HEAP32[($6_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$10 + } + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(71711 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (0 - ((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) & 65535 | 0) | 0) | 0; + HEAP8[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 0] = ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) - (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0) >> 8 | 0; + HEAP8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) - (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 2 | 0; + label$11 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $694(71717 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + $3288(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU16[($6_1 + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + label$12 : { + label$13 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) >= (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + break label$12; + } + label$14 : { + if (!((HEAP32[(((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 40 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) <= (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + continue label$6; + } + break label$6; + }; + $238_1 = 0; + HEAP16[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 1] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 0] = $238_1; + HEAP8[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = $238_1; + HEAP8[(((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 1 | 0) | 0) + 1 | 0) >> 0] = $238_1; + HEAP8[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 3 | 0) | 0) >> 0] = ((HEAPU16[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) >> 8 | 0; + HEAP8[(((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 3 | 0) | 0) + 1 | 0) >> 0] = HEAPU16[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0; + HEAP8[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] = ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) - (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0) >> 8 | 0; + HEAP8[(((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) - (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0; + HEAP8[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 7 | 0) | 0) >> 0] = $238_1; + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + } + $293_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $293_1 | 0; + } + + function $1084($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP16[($4_1 + 14 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1087(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 14 | 0) >> 1] = wasm2js_i32$1; + } + $32_1 = (HEAPU16[($4_1 + 14 | 0) >> 1] | 0) & 65535 | 0; + global$0 = $4_1 + 16 | 0; + return $32_1 | 0; + } + + function $1085($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP16[($5_1 + 6 | 0) >> 1] = $2_1; + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 1] = HEAPU16[($5_1 + 6 | 0) >> 1] | 0; + $834(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1086($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $143_1 = 0, $324_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 60 | 0) >> 2] | 0) << 1 | 0) | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) | 0) + ((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 60 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1088(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 64 | 0) >> 2] | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(71912 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $3290(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0 | 0, (HEAP32[($7_1 + 40 | 0) >> 2] | 0) << 1 | 0 | 0) | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) - (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0; + } + label$4 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1088(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 24 | 0) >> 2] | 0) - (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) - (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((((((HEAPU8[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[(((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) - 1 | 0) & 65535 | 0) + 1 | 0) | 0; + label$5 : { + label$6 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 44 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + break label$5; + } + label$7 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) < ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) - (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + $143_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + break label$8; + } + $143_1 = (HEAP32[($7_1 + 68 | 0) >> 2] | 0) - (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0; + } + HEAP32[($7_1 + 8 | 0) >> 2] = $143_1; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + $3290((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 40 | 0) >> 2] | 0) << 1 | 0 | 0) | 0; + label$10 : { + if (!($1089(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $7_1 + 36 | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0)) { + break label$10 + } + break label$5; + } + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + (HEAP32[($7_1 + 8 | 0) >> 2] | 0) | 0; + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($7_1 + 4 | 0) >> 2] = ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + ((HEAPU16[(((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) | 0) - (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0; + label$13 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$13 + } + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 4 | 0) >> 2] | 0) << 1 | 0) | 0; + label$14 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $3290((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 2 | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 40 | 0) >> 2] | 0) - (HEAP32[($7_1 + 4 | 0) >> 2] | 0) | 0) << 1 | 0 | 0) | 0; + } + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 1 | 0; + $1084(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 4 | 0) >> 2] | 0) + (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0 | 0) | 0; + label$15 : { + if (!($1089(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $7_1 + 36 | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 4 | 0) >> 2] | 0) + (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0 | 0, 1 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0)) { + break label$15 + } + break label$5; + } + } + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 40 | 0) >> 2] | 0) << 1 | 0) | 0; + label$16 : { + if (!($1089(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $7_1 + 36 | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 40 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($7_1 + 60 | 0) >> 2] | 0) - (HEAP32[($7_1 + 40 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0)) { + break label$16 + } + break label$5; + } + HEAP16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 1] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + HEAP8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 0] = 0; + HEAP8[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 3 | 0) | 0) >> 0] = ((HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) >> 8 | 0; + HEAP8[(((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 3 | 0) | 0) + 1 | 0) >> 0] = HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0; + HEAP8[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] = ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) - (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0) >> 8 | 0; + HEAP8[(((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 5 | 0) | 0) + 1 | 0) >> 0] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) - (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + $1090(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1083(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + } + $324_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $324_1 | 0; + } + + function $1087($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $32_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $17_1 = FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + HEAP16[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = $17_1; + $32_1 = (HEAPU16[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; + global$0 = $4_1 + 16 | 0; + return $32_1 | 0; + } + + function $1088($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $133_1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (HEAP32[((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + ((((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) + 8 | 0) + ((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + (HEAP32[($6_1 + 48 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAPU16[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $1073(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) & 65535 | 0 | 0, (HEAP32[($6_1 + 12 | 0) >> 2] | 0) & 65535 | 0 | 0) | 0; + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + label$8 : { + if (!(((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0) >>> 0 > (HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + break label$1; + } + break label$5; + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$9 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $1073(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) & 65535 | 0 | 0, (HEAP32[($6_1 + 12 | 0) >> 2] | 0) & 65535 | 0 | 0) | 0; + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + } + $133_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $133_1 | 0; + } + + function $1089($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $42_1 = 0, $85_1 = 0, $197_1 = 0; + $9_1 = global$0 - 80 | 0; + global$0 = $9_1; + HEAP32[($9_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 52 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 48 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 44 | 0) >> 2] = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + HEAP32[($9_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($9_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 64 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($9_1 + 32 | 0) >> 2] = (HEAP32[($9_1 + 56 | 0) >> 2] | 0) + (HEAP32[($9_1 + 52 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) <= (HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($9_1 + 76 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($9_1 + 28 | 0) >> 2] = 0; + label$3 : while (1) { + $42_1 = 0; + label$4 : { + if (!((HEAP32[(((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 40 | 0) + ((HEAP32[($9_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) <= (HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $42_1 = (HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) < (6 | 0); + } + label$5 : { + if (!($42_1 & 1 | 0)) { + break label$5 + } + HEAP32[($9_1 + 28 | 0) >> 2] = (HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + HEAP32[($9_1 + 24 | 0) >> 2] = HEAP32[(((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($9_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$6 : while (1) { + HEAP32[($9_1 + 20 | 0) >> 2] = (HEAPU16[((HEAP32[((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 44 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; + label$7 : { + label$8 : { + label$9 : { + if ((HEAPU8[((HEAP32[($9_1 + 40 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) { + break label$9 + } + if (!((HEAPU8[((HEAP32[($9_1 + 40 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + } + $85_1 = $1079(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0, $9_1 + 16 | 0 | 0) | 0; + HEAP32[($9_1 + 12 | 0) >> 2] = $85_1; + if (!(($85_1 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + } + label$10 : { + if (!(((HEAP32[($9_1 + 36 | 0) >> 2] | 0) - (HEAP32[($9_1 + 68 | 0) >> 2] | 0) | 0 | 0) < (HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($9_1 + 76 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($9_1 + 36 | 0) >> 2] = (HEAP32[($9_1 + 36 | 0) >> 2] | 0) + (0 - (HEAP32[($9_1 + 20 | 0) >> 2] | 0) | 0) | 0; + HEAP32[($9_1 + 12 | 0) >> 2] = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + } + label$11 : { + if (!(((HEAP32[((HEAP32[((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + (HEAP32[($9_1 + 20 | 0) >> 2] | 0) | 0) >>> 0 > (HEAP32[($9_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + if (!((HEAP32[((HEAP32[((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 < (HEAP32[($9_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + $694(71803 | 0) | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = 1; + break label$1; + } + $3290(HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP8[(HEAP32[($9_1 + 60 | 0) >> 2] | 0) >> 0] = ((HEAP32[($9_1 + 12 | 0) >> 2] | 0) - (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0) >> 8 | 0; + HEAP8[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 1 | 0) >> 0] = (HEAP32[($9_1 + 12 | 0) >> 2] | 0) - (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 60 | 0) >> 2] = (HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 2 | 0; + HEAP32[($9_1 + 44 | 0) >> 2] = (HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 1 | 0; + label$12 : { + label$13 : { + if (!((HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) >= (HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + break label$12; + } + label$14 : { + if (!((HEAP32[(((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 40 | 0) + ((HEAP32[($9_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) <= (HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($9_1 + 28 | 0) >> 2] = (HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($9_1 + 24 | 0) >> 2] = HEAP32[(((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($9_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + continue label$6; + } + break label$6; + }; + HEAP32[(HEAP32[($9_1 + 64 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = 0; + } + $197_1 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + global$0 = $9_1 + 80 | 0; + return $197_1 | 0; + } + + function $1090($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $34_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if ((HEAPU16[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) { + break label$4 + } + $34_1 = FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + HEAP16[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = $34_1; + break label$3; + } + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + }; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1091($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0, $36_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = $929(HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = $16_1; + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 7; + break label$1; + } + HEAP16[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0; + HEAP8[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 11 | 0) >> 0] = 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $36_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $36_1 | 0; + } + + function $1092($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 33; + break label$1; + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 34; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 35; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1093($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $50_1 = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $5_1 + 16 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $6_1; + label$1 : { + label$2 : while (1) { + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 28 | 0) >> 2] | 0, $5_1 + 8 | 0, (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0, HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$1; + } + break label$3; + } + $50_1 = 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $50_1; + label$6 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == ($50_1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + break label$1; + } + } + continue label$2; + }; + } + $66_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $66_1 | 0; + } + + function $1094($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $101_1 = 0, $8_1 = 0, $5_1 = 0, $40_1 = 0, i64toi32_i32$2 = 0, $48_1 = 0, $67_1 = 0, $98_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + $8_1 = $4_1 + 8 | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $5_1; + i64toi32_i32$0 = 0; + $101_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $101_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $101_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $101_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $101_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $101_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1101(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0, (HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$2 + } + } + label$3 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1013(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$4 + } + $40_1 = $4_1 + 8 | 0; + HEAP32[$4_1 >> 2] = 0; + i64toi32_i32$2 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $1102(HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $40_1 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + $48_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($48_1 + 28 | 0) >> 2] = (HEAP32[($48_1 + 28 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $1103($40_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $67_1 = $4_1 + 8 | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $1103($67_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + $1104($67_1 | 0, (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + $42(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + continue label$6; + }; + } + HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1105($4_1 + 8 | 0 | 0, ((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 40 | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + $98_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $98_1 | 0; + } + + function $1095($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $8_1 = 0, $49_1 = 0, $69_1 = 0, $93_1 = 0, $108_1 = 0, i64toi32_i32$0 = 0, $106_1 = 0, $107_1 = 0, $128_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $5_1; + label$1 : while (1) { + $8_1 = 0; + label$2 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$2 + } + $8_1 = (HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 59 | 0) >> 0] | 0) & 255 | 0 | 0); + } + label$3 : { + if (!($8_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = ((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 64 | 0) + Math_imul(HEAP32[($4_1 + 44 | 0) >> 2] | 0, 72) | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1106(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) <= (16 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1107(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, $4_1 + 24 | 0 | 0, $4_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + $49_1 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $49_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1108(16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) == ($49_1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 48 | 0) >> 2] = 7; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$7 : while (1) { + $69_1 = 0; + label$8 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $69_1 = (HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$9 : { + if (!($69_1 & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$10 : { + label$11 : { + if (!(((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$11 + } + $93_1 = (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + break label$10; + } + $93_1 = 16; + } + HEAP32[($4_1 + 8 | 0) >> 2] = $93_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1107(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $4_1 + 24 | 0 | 0, $4_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$12 + } + $106_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + $107_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + $108_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $108_1 + 1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1109($106_1 | 0, $107_1 | 0, $108_1 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0; + continue label$7; + } + break label$7; + }; + } + label$13 : { + label$14 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$14 + } + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + break label$13; + } + $864(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$15 : { + if (!(HEAP32[($4_1 + 48 | 0) >> 2] | 0)) { + break label$15 + } + $864(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 52 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $128_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $128_1 | 0; + } + + function $1096($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $52_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1110((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 56) | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + $1111(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + continue label$6; + }; + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAPU8[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0; + } + $52_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $52_1 | 0; + } + + function $1097($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $38_1 = 0, $62_1 = 0, $179_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAPU8[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAPU8[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + ((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAPU8[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $38_1 = 0; + HEAP8[($8_1 + 11 | 0) >> 0] = HEAPU8[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8388 | 0) >> 0] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = $38_1; + HEAP32[($8_1 + 4 | 0) >> 2] = $38_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) < ((HEAPU8[($8_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $62_1 = ((HEAPU8[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + (HEAP32[($8_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) - ((HEAPU8[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + (HEAP32[($8_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = $62_1; + label$5 : { + if (!$62_1) { + break label$5 + } + label$6 : { + if (!((((HEAPU8[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) ^ ((HEAPU8[(HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0) & 128 | 0)) { + break label$6 + } + HEAP32[($8_1 + 12 | 0) >> 2] = ((HEAPU8[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0 ? -1 : 1; + } + break label$3; + } + HEAP32[($8_1 + 4 | 0) >> 2] = (HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$7 : { + label$8 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) > (7 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) > (7 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) - (HEAP32[($8_1 + 24 | 0) >> 2] | 0) | 0; + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) > (7 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($8_1 + 12 | 0) >> 2] = 1; + break label$9; + } + label$11 : { + label$12 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) > (7 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($8_1 + 12 | 0) >> 2] = -1; + break label$11; + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) - (HEAP32[($8_1 + 24 | 0) >> 2] | 0) | 0; + } + } + label$13 : { + label$14 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$15 + } + HEAP32[($8_1 + 12 | 0) >> 2] = -1; + } + break label$13; + } + label$16 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$16 + } + HEAP32[($8_1 + 12 | 0) >> 2] = 1; + } + } + } + } + label$17 : { + label$18 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$18 + } + label$19 : { + if (!(((HEAPU16[((HEAP32[((HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$19 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1100(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$17; + } + label$20 : { + if (!(((HEAPU8[(HEAP32[((HEAP32[((HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($8_1 + 12 | 0) >> 2] = Math_imul(HEAP32[($8_1 + 12 | 0) >> 2] | 0, -1); + } + } + $179_1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $179_1 | 0; + } + + function $1098($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $67_1 = 0, $57_1 = 0, $58_1 = 0, $115_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + ((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAPU8[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + label$1 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) >= (128 | 0) & 1 | 0)) { + break label$1 + } + $902((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0 | 0, $8_1 + 20 | 0 | 0) | 0; + } + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAPU8[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + label$2 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) >= (128 | 0) & 1 | 0)) { + break label$2 + } + $902((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 1 | 0 | 0, $8_1 + 16 | 0 | 0) | 0; + } + $57_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $58_1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $67_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + break label$3; + } + $67_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $3228($57_1 | 0, $58_1 | 0, ($67_1 - 13 | 0 | 0) / (2 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) - (HEAP32[($8_1 + 16 | 0) >> 2] | 0) | 0; + } + label$6 : { + label$7 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$7 + } + label$8 : { + if (!(((HEAPU16[((HEAP32[((HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1100(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$6; + } + label$9 : { + if (!(((HEAPU8[(HEAP32[((HEAP32[((HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($8_1 + 12 | 0) >> 2] = Math_imul(HEAP32[($8_1 + 12 | 0) >> 2] | 0, -1); + } + } + $115_1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $115_1 | 0; + } + + function $1099($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $24_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + if (HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + $930(HEAP32[((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] = 1; + } + $24_1 = $1000(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $24_1 | 0; + } + + function $1100($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $25_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + if (HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + $930(HEAP32[((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] = 1; + } + $25_1 = $944(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $25_1 | 0; + } + + function $1101($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $30$hi = 0, $30_1 = 0, $32$hi = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!($176(202 | 0) | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 3338; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $855(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 4126 | 0, $5_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + i64toi32_i32$0 = 0; + $30_1 = 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $30_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + $615(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, 18 | 0, $5_1 | 0); + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$1; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$3 = $30_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + label$4 : { + if (!($13_1 & 1 | 0)) { + break label$4 + } + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + $27_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $27_1 | 0; + } + + function $1102($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $6_1 = 0, i64toi32_i32$2 = 0, $45_1 = 0, $8_1 = 0, i64toi32_i32$5 = 0, $47$hi = 0, $48$hi = 0, $50$hi = 0, $51$hi = 0, i64toi32_i32$3 = 0, $19_1 = 0, $47_1 = 0, $126_1 = 0, $50_1 = 0, $148_1 = 0, $153_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $3_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + $8_1 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $45_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $45_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $45_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $45_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $45_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $45_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $19_1 = $39(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $19_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $47_1 = i64toi32_i32$0; + $47$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $48$hi; + $126_1 = i64toi32_i32$0; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = __wasm_i64_srem($47_1 | 0, i64toi32_i32$1 | 0, $126_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $50_1 = i64toi32_i32$1; + $50$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $51$hi = i64toi32_i32$0; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$0 = $51$hi; + $148_1 = i64toi32_i32$1; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$2 = $50_1; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$3 = $148_1; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $153_1 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] = $153_1; + HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] = i64toi32_i32$5; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1103($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $7_1 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $7_1 = $4_1 + 2 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $908($7_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $1104(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $7_1 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 32 | 0; + return; + } + + function $1104($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $15_1 = 0, $54_1 = 0, $66_1 = 0, $96$hi = 0, $97$hi = 0, $99$hi = 0, $90_1 = 0, $68_1 = 0, $73_1 = 0, $78_1 = 0, $96_1 = 0, $282_1 = 0, $83_1 = 0, $99_1 = 0, $312$hi = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + label$1 : while (1) { + $15_1 = 0; + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = (HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($15_1 & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) > ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + } + $3288((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) - (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $54_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($54_1 + 16 | 0) >> 2] = (HEAP32[($54_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $66_1 = 0; + $68_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $73_1 = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + $78_1 = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $96_1 = i64toi32_i32$0; + $96$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $97$hi = i64toi32_i32$1; + i64toi32_i32$1 = $96$hi; + i64toi32_i32$1 = $97$hi; + $282_1 = i64toi32_i32$0; + i64toi32_i32$1 = $96$hi; + i64toi32_i32$2 = $96_1; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$3 = $282_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $83_1 = $147($68_1 | 0, $73_1 | 0, $78_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = $83_1; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = $66_1; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = $66_1; + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $99_1 = i64toi32_i32$2; + $99$hi = i64toi32_i32$5; + $90_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = $90_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $312$hi = i64toi32_i32$2; + i64toi32_i32$2 = $99$hi; + i64toi32_i32$2 = $312$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $99$hi; + i64toi32_i32$3 = $99_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $90_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$4; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + continue label$1; + } + break label$1; + }; + global$0 = $5_1 + 32 | 0; + return; + } + + function $1105($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $69_1 = 0, $51_1 = 0, $63$hi = 0, $64$hi = 0, $66$hi = 0, $67$hi = 0, $25_1 = 0, $30_1 = 0, $35_1 = 0, $63_1 = 0, $154_1 = 0, $40_1 = 0, $66_1 = 0, $177_1 = 0, $60_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $25_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $30_1 = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + $35_1 = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $63_1 = i64toi32_i32$0; + $63$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $64$hi = i64toi32_i32$1; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $64$hi; + $154_1 = i64toi32_i32$0; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$2 = $63_1; + i64toi32_i32$0 = $64$hi; + i64toi32_i32$3 = $154_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $40_1 = $147($25_1 | 0, $30_1 | 0, $35_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = $40_1; + } + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $66_1 = i64toi32_i32$5; + $66$hi = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $67$hi = i64toi32_i32$2; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$2 = $67$hi; + $177_1 = i64toi32_i32$5; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$1 = $66_1; + i64toi32_i32$5 = $67$hi; + i64toi32_i32$3 = $177_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + $42(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $51_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = 0; + $69_1 = 0; + i64toi32_i32$1 = $51_1; + HEAP32[i64toi32_i32$1 >> 2] = $69_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $69_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$1 = $51_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $69_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$1 = $51_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $69_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$1 = $51_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $69_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + $60_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $60_1 | 0; + } + + function $1106($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $15$hi = 0, $16$hi = 0, $13_1 = 0, $14_1 = 0, $16_1 = 0, $19$hi = 0, $20$hi = 0, $17_1 = 0, $15_1 = 0, $42_1 = 0; + $3_1 = global$0 - 16 | 0; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + i64toi32_i32$1 = $3_1; + HEAP32[i64toi32_i32$1 >> 2] = 16; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : while (1) { + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $15_1 = i64toi32_i32$0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $16$hi = i64toi32_i32$1; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$1 = $16$hi; + $42_1 = i64toi32_i32$0; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$2 = $15_1; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$3 = $42_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $16_1 = $14_1; + } else { + $16_1 = 0 + } + $13_1 = $16_1; + } + if (!($13_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $20$hi = i64toi32_i32$1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $20$hi; + i64toi32_i32$0 = 4; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + $17_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $17_1 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + } + i64toi32_i32$3 = $3_1; + HEAP32[$3_1 >> 2] = $17_1; + HEAP32[($3_1 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $1107($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $7_1 = 0, $10_1 = 0, $28_1 = 0, $87_1 = 0, $189_1 = 0, $213_1 = 0, $61_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + i64toi32_i32$2 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $87_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $87_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 24 | 0) >> 2] = $7_1; + $10_1 = $1108(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $10_1; + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = $10_1; + label$1 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 24 | 0) >> 2] = 7; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + label$2 : while (1) { + $28_1 = 0; + label$3 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $28_1 = (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$4 : { + if (!($28_1 & 1 | 0)) { + break label$4 + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 28 | 0) >> 2] | 0, 56) | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1112(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 40 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $189_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $189_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + label$5 : { + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$5 + } + $864(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = 0; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $213_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $213_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $61_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $61_1 | 0; + } + + function $1108($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $23_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $50_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 2; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0; + continue label$2; + }; + } + HEAP32[($3_1 + 4 | 0) >> 2] = Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 60) + 16 | 0; + label$3 : { + label$4 : { + if (!($176(100 | 0) | 0)) { + break label$4 + } + $23_1 = 0; + break label$3; + } + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $23_1 = $114(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + } + HEAP32[$3_1 >> 2] = $23_1; + label$5 : { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[$3_1 >> 2] | 0) + 16 | 0; + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[((HEAP32[$3_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 56) | 0; + } + $50_1 = HEAP32[$3_1 >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $50_1 | 0; + } + + function $1109($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $39_1 = 0, $104_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + $8_1 = 1; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 40 | 0) >> 2] = 0; + HEAP32[($7_1 + 36 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1113(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $7_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 32 | 0) >> 2] = $8_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 4 | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($7_1 + 32 | 0) >> 2] = 1; + label$3 : while (1) { + $39_1 = 0; + label$4 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $39_1 = (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$5 : { + if (!($39_1 & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 20 | 0) >> 2] = ((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) / (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) % (16 | 0) | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 20 | 0) >> 2] | 0, 56) | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1108(16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 40 | 0) >> 2] = 7; + break label$7; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1113(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + } + label$9 : { + if (HEAP32[($7_1 + 40 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) / (16 | 0) | 0; + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + label$10 : { + label$11 : { + if (HEAP32[($7_1 + 40 | 0) >> 2] | 0) { + break label$11 + } + HEAP32[(((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) % (16 | 0) | 0, 56) | 0) + 48 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + break label$10; + } + $868(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0); + } + $104_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $104_1 | 0; + } + + function $1110($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1122(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + $17_1 = HEAP32[$4_1 >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $17_1 | 0; + } + + function $1111($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $76_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) >= ((HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) / (2 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 36 | 0) >> 2] = ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) - ((HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) / (2 | 0) | 0) | 0) << 1 | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + break label$1; + } + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 56) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 32 | 0) >> 2] | 0, 56) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + break label$5; + } + $76_1 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $76_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 16 | 0) >> 2] | 0, $4_1 + 12 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) <= ($76_1 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + break label$7; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + } + } + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return; + } + + function $1112($0_1, $1_1, $2_1, $2$hi, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $29$hi = 0, $30$hi = 0, $32$hi = 0, $20_1 = 0, $29_1 = 0, $88_1 = 0, $32_1 = 0, $100$hi = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1114(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1115(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, $7_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$1; + $29$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$1; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $30$hi; + $88_1 = i64toi32_i32$0; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$2 = $29_1; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$3 = $88_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $32_1 = i64toi32_i32$5; + $32$hi = i64toi32_i32$2; + $20_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = $20_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $100$hi = i64toi32_i32$5; + i64toi32_i32$5 = $32$hi; + i64toi32_i32$5 = $100$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $32$hi; + i64toi32_i32$3 = $32_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $20_1; + HEAP32[i64toi32_i32$1 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + } + label$2 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1116(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $24_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $24_1 | 0; + } + + function $1113($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $10_1 = 0, $12_1 = 0, $45_1 = 0, $63$hi = 0, $56_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $63_1 = 0, $182$hi = 0, $59_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!($176(100 | 0) | 0)) { + break label$2 + } + $10_1 = 0; + break label$1; + } + i64toi32_i32$0 = 0; + $10_1 = $114(64 | 0, i64toi32_i32$0 | 0) | 0; + } + $12_1 = $10_1; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $12_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $12_1; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!(((HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 9 | 0 | 0) > ((HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) / (2 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + $45_1 = (HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 9 | 0; + break label$5; + } + $45_1 = (HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) / (2 | 0) | 0; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $45_1; + i64toi32_i32$1 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $63_1 = i64toi32_i32$1; + $63$hi = i64toi32_i32$0; + $56_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $56_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + $182$hi = i64toi32_i32$1; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $182$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$3 = $63_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $56_1; + HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] = i64toi32_i32$5; + break label$3; + } + $864(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = 7; + } + $59_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $59_1 | 0; + } + + function $1114($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $113$hi = 0, $114$hi = 0, $107$hi = 0, $108$hi = 0, $111$hi = 0, $112$hi = 0, $31_1 = 0, $32_1 = 0, $33_1 = 0, $117$hi = 0, $118$hi = 0, $177_1 = 0, $185_1 = 0, $107_1 = 0, $244_1 = 0, $64_1 = 0, $111_1 = 0, $323_1 = 0, $332_1 = 0, $117_1 = 0, $348_1 = 0, $101_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!($176(201 | 0) | 0)) { + break label$2 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 266; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + $756(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0, HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $177_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $177_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $185_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $185_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1117(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 44 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $107_1 = i64toi32_i32$0; + $107$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $108$hi = i64toi32_i32$1; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$1 = $108$hi; + $244_1 = i64toi32_i32$0; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$0 = $108$hi; + i64toi32_i32$0 = __wasm_i64_srem($107_1 | 0, i64toi32_i32$1 | 0, $244_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $64_1 = $39(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] = $64_1; + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 7; + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + label$7 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$7 + } + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $111_1 = i64toi32_i32$1; + $111$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $112$hi = i64toi32_i32$0; + i64toi32_i32$0 = $111$hi; + i64toi32_i32$0 = $112$hi; + $323_1 = i64toi32_i32$1; + i64toi32_i32$0 = $111$hi; + i64toi32_i32$2 = $111_1; + i64toi32_i32$1 = $112$hi; + i64toi32_i32$3 = $323_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $113$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $114$hi = i64toi32_i32$2; + i64toi32_i32$2 = $113$hi; + i64toi32_i32$2 = $114$hi; + i64toi32_i32$2 = $113$hi; + i64toi32_i32$2 = $114$hi; + $332_1 = i64toi32_i32$5; + i64toi32_i32$2 = $113$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$5 = $114$hi; + i64toi32_i32$3 = $332_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $31_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $32_1 = 0 + } else { + $32_1 = 1 + } + $33_1 = $32_1; + } else { + $33_1 = 0 + } + $31_1 = $33_1; + } + label$8 : { + if (!($31_1 & 1 | 0)) { + break label$8 + } + i64toi32_i32$3 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $117_1 = i64toi32_i32$0; + $117$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $118$hi = i64toi32_i32$0; + i64toi32_i32$0 = $117$hi; + i64toi32_i32$0 = $118$hi; + $348_1 = i64toi32_i32$2; + i64toi32_i32$0 = $117$hi; + i64toi32_i32$3 = $117_1; + i64toi32_i32$2 = $118$hi; + i64toi32_i32$5 = $348_1; + i64toi32_i32$1 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + i64toi32_i32$4 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$4 | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + $101_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $101_1 | 0; + } + + function $1115($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $83$hi = 0, $22_1 = 0, $86$hi = 0, $87$hi = 0, $89$hi = 0, $47_1 = 0, $62_1 = 0, $83_1 = 0, $142$hi = 0, $86_1 = 0, $159_1 = 0, $89_1 = 0, $211$hi = 0, $61_1 = 0, $79_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + $83_1 = ($769((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + i64toi32_i32$0 | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0) & 255 | 0; + $83$hi = i64toi32_i32$1; + $22_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = $22_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $142$hi = i64toi32_i32$0; + i64toi32_i32$0 = $83$hi; + i64toi32_i32$0 = $142$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $83$hi; + i64toi32_i32$3 = $83_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $22_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + break label$2; + } + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $86_1 = i64toi32_i32$5; + $86$hi = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $87$hi = i64toi32_i32$2; + i64toi32_i32$2 = $86$hi; + i64toi32_i32$2 = $87$hi; + $159_1 = i64toi32_i32$5; + i64toi32_i32$2 = $86$hi; + i64toi32_i32$5 = $87$hi; + i64toi32_i32$5 = __wasm_i64_srem($86_1 | 0, i64toi32_i32$2 | 0, $159_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + HEAP32[($4_1 + 32 | 0) >> 2] = i64toi32_i32$5; + label$4 : { + label$5 : { + if (!(HEAP32[($4_1 + 32 | 0) >> 2] | 0)) { + break label$5 + } + if (!(((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0 | 0) >= (9 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$2 = 0; + $89_1 = ($769((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0) & 255 | 0; + $89$hi = i64toi32_i32$2; + $47_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = $47_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $211$hi = i64toi32_i32$5; + i64toi32_i32$5 = $89$hi; + i64toi32_i32$5 = $211$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $89$hi; + i64toi32_i32$3 = $89_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $47_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + break label$4; + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$6 : while (1) { + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1118(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, 1 | 0, $4_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $61_1 = HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0; + $62_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $62_1 + 1 | 0; + HEAP8[(($4_1 + 16 | 0) + ($62_1 & 15 | 0) | 0) >> 0] = $61_1; + if (((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0) { + continue label$6 + } + break label$6; + }; + $769($4_1 + 16 | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $79_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $79_1 | 0; + } + + function $1116($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $57$hi = 0, $58$hi = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $57_1 = 0, $86_1 = 0, $53_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $57_1 = i64toi32_i32$0; + $57$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $58$hi = i64toi32_i32$0; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $58$hi; + $86_1 = i64toi32_i32$1; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$2 = $57_1; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$3 = $86_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $11_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $12_1 = 0 + } else { + $12_1 = 1 + } + $13_1 = $12_1; + } else { + $13_1 = 0 + } + $11_1 = $13_1; + } + label$1 : { + label$2 : { + if (!($11_1 & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = 1; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1119(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + if (HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$3 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1114(HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 32 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$3_1 >> 2] = 0; + } + } + label$5 : { + if (!(HEAP32[$3_1 >> 2] | 0)) { + break label$5 + } + $867(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + } + label$6 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1115(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$7 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1118(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $53_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $53_1 | 0; + } + + function $1117($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $35$hi = 0, $36$hi = 0, $14_1 = 0, $15_1 = 0, $16_1 = 0, $35_1 = 0, $72_1 = 0, $39$hi = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $35_1 = i64toi32_i32$0; + $35$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 156 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $36$hi = i64toi32_i32$1; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $36$hi; + $72_1 = i64toi32_i32$0; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$2 = $35_1; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$3 = $72_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $14_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $15_1 = 0 + } else { + $15_1 = 1 + } + $16_1 = $15_1; + } else { + $16_1 = 0 + } + $14_1 = $16_1; + } + label$1 : { + if (!($14_1 & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = 0; + $39$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = $39$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1120(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + $32_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $32_1 | 0; + } + + function $1118($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$6 = 0, $174$hi = 0, $175$hi = 0, $185$hi = 0, $188$hi = 0, $197$hi = 0, $198$hi = 0, $166$hi = 0, $23_1 = 0, $169$hi = 0, $170$hi = 0, $172$hi = 0, $173$hi = 0, $55_1 = 0, $56_1 = 0, $57_1 = 0, $178$hi = 0, $179$hi = 0, $182$hi = 0, $70_1 = 0, $186$hi = 0, $187$hi = 0, $58_1 = 0, $59_1 = 0, $60_1 = 0, $61_1 = 0, $192_1 = 0, $192$hi = 0, $193$hi = 0, $194$hi = 0, $62_1 = 0, $63_1 = 0, $64_1 = 0, $65_1 = 0, $201$hi = 0, $202$hi = 0, $66_1 = 0, $206$hi = 0, $117_1 = 0, $14_1 = 0, $166_1 = 0, $260$hi = 0, $169_1 = 0, $279_1 = 0, $172_1 = 0, $297_1 = 0, $309_1 = 0, $178_1 = 0, $331_1 = 0, $182_1 = 0, $413$hi = 0, $185_1 = 0, $197_1 = 0, $479_1 = 0, $206_1 = 0, $559$hi = 0, $162_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = 0; + i64toi32_i32$2 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + i64toi32_i32$0 | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $166_1 = i64toi32_i32$0; + $166$hi = i64toi32_i32$1; + $23_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $23_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $260$hi = i64toi32_i32$0; + i64toi32_i32$0 = $166$hi; + i64toi32_i32$0 = $260$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $166$hi; + i64toi32_i32$3 = $166_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $23_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 60 | 0) >> 2] = $14_1; + break label$1; + } + i64toi32_i32$0 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $169_1 = i64toi32_i32$5; + $169$hi = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $170$hi = i64toi32_i32$2; + i64toi32_i32$2 = $169$hi; + i64toi32_i32$2 = $170$hi; + $279_1 = i64toi32_i32$5; + i64toi32_i32$2 = $169$hi; + i64toi32_i32$5 = $170$hi; + i64toi32_i32$5 = __wasm_i64_srem($169_1 | 0, i64toi32_i32$2 | 0, $279_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$5; + label$3 : { + if (HEAP32[($5_1 + 44 | 0) >> 2] | 0) { + break label$3 + } + i64toi32_i32$0 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $172_1 = i64toi32_i32$2; + $172$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $173$hi = i64toi32_i32$2; + i64toi32_i32$2 = $172$hi; + i64toi32_i32$2 = $173$hi; + $297_1 = i64toi32_i32$5; + i64toi32_i32$2 = $172$hi; + i64toi32_i32$0 = $172_1; + i64toi32_i32$5 = $173$hi; + i64toi32_i32$3 = $297_1; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $174$hi = i64toi32_i32$4; + i64toi32_i32$0 = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $175$hi = i64toi32_i32$4; + i64toi32_i32$4 = $174$hi; + i64toi32_i32$4 = $175$hi; + i64toi32_i32$4 = $174$hi; + i64toi32_i32$4 = $175$hi; + $309_1 = i64toi32_i32$0; + i64toi32_i32$4 = $174$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = $175$hi; + i64toi32_i32$3 = $309_1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$0 | 0)) { + $55_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $56_1 = 0 + } else { + $56_1 = 1 + } + $57_1 = $56_1; + } else { + $57_1 = 0 + } + $55_1 = $57_1; + } + label$4 : { + label$5 : { + if (!($55_1 & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$4; + } + i64toi32_i32$3 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $178_1 = i64toi32_i32$2; + $178$hi = i64toi32_i32$4; + i64toi32_i32$3 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $179$hi = i64toi32_i32$2; + i64toi32_i32$2 = $178$hi; + i64toi32_i32$2 = $179$hi; + $331_1 = i64toi32_i32$4; + i64toi32_i32$2 = $178$hi; + i64toi32_i32$3 = $178_1; + i64toi32_i32$4 = $179$hi; + i64toi32_i32$0 = $331_1; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$2 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $628(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$1 >> 31 | 0; + $182_1 = i64toi32_i32$1; + $182$hi = i64toi32_i32$3; + $70_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $70_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $413$hi = i64toi32_i32$1; + i64toi32_i32$1 = $182$hi; + i64toi32_i32$1 = $413$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $182$hi; + i64toi32_i32$0 = $182_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $70_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + break label$7; + } + label$9 : { + if (!((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$5 = 0; + $185_1 = 128; + $185$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $186$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $187$hi = i64toi32_i32$5; + i64toi32_i32$5 = $186$hi; + i64toi32_i32$5 = $187$hi; + i64toi32_i32$5 = $186$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $187$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$3 | 0; + $58_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $58_1 = i64toi32_i32$1 << i64toi32_i32$3 | 0; + } + $188$hi = i64toi32_i32$2; + i64toi32_i32$2 = $185$hi; + i64toi32_i32$2 = $188$hi; + i64toi32_i32$2 = $185$hi; + i64toi32_i32$2 = $188$hi; + i64toi32_i32$2 = $185$hi; + i64toi32_i32$5 = $185_1; + i64toi32_i32$1 = $188$hi; + i64toi32_i32$0 = $58_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$1 | 0)) { + $59_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$5 >>> 0 <= i64toi32_i32$0 >>> 0) { + $60_1 = 0 + } else { + $60_1 = 1 + } + $61_1 = $60_1; + } else { + $61_1 = 0 + } + $59_1 = $61_1; + } + label$10 : { + label$11 : { + if (!($59_1 & 1 | 0)) { + break label$11 + } + i64toi32_i32$5 = 0; + $192_1 = 128; + $192$hi = i64toi32_i32$5; + break label$10; + } + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $193$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $194$hi = i64toi32_i32$5; + i64toi32_i32$5 = $193$hi; + i64toi32_i32$5 = $194$hi; + i64toi32_i32$5 = $193$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $194$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$3 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$3 | 0; + $62_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $62_1 = i64toi32_i32$0 << i64toi32_i32$3 | 0; + } + $192_1 = $62_1; + $192$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $192$hi; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $192_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$2; + label$12 : { + label$13 : while (1) { + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $197_1 = i64toi32_i32$0; + $197$hi = i64toi32_i32$2; + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $198$hi = i64toi32_i32$0; + i64toi32_i32$0 = $197$hi; + i64toi32_i32$0 = $198$hi; + i64toi32_i32$0 = $197$hi; + i64toi32_i32$0 = $198$hi; + $479_1 = i64toi32_i32$2; + i64toi32_i32$0 = $197$hi; + i64toi32_i32$5 = $197_1; + i64toi32_i32$2 = $198$hi; + i64toi32_i32$1 = $479_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { + $63_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$5 >>> 0 <= i64toi32_i32$1 >>> 0) { + $64_1 = 0 + } else { + $64_1 = 1 + } + $65_1 = $64_1; + } else { + $65_1 = 0 + } + $63_1 = $65_1; + } + if (!($63_1 & 1 | 0)) { + break label$12 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $201$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $202$hi = i64toi32_i32$0; + i64toi32_i32$0 = $201$hi; + i64toi32_i32$0 = $202$hi; + i64toi32_i32$0 = $201$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $202$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$3 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$1 << i64toi32_i32$3 | 0; + $66_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$3 | 0) | 0; + $66_1 = i64toi32_i32$1 << i64toi32_i32$3 | 0; + } + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $66_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$5; + continue label$13; + }; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $45(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$14 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + $3288(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$1 >> 31 | 0; + $206_1 = i64toi32_i32$1; + $206$hi = i64toi32_i32$5; + $117_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = $117_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $559$hi = i64toi32_i32$1; + i64toi32_i32$1 = $206$hi; + i64toi32_i32$1 = $559$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $206$hi; + i64toi32_i32$2 = $206_1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $117_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$3; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) - (HEAP32[($5_1 + 40 | 0) >> 2] | 0) | 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + label$17 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1118(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $5_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$18 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $3288((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 52 | 0) >> 2] | 0) - (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0) | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) - (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0; + continue label$16; + }; + } + HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + } + $162_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $162_1 | 0; + } + + function $1119($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $3_1 = 0, i64toi32_i32$1 = 0, $30$hi = 0, $31$hi = 0, $9_1 = 0, $15_1 = 0, $65_1 = 0, $75_1 = 0, $30_1 = 0, $87_1 = 0, $25_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1121(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $9_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0; + i64toi32_i32$2 = ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $65_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1; + HEAP32[i64toi32_i32$0 >> 2] = $65_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $15_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $15_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $75_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1 + $15_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $75_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $30_1 = i64toi32_i32$0; + $30$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $31$hi = i64toi32_i32$0; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$0 = $31$hi; + $87_1 = i64toi32_i32$1; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$2 = $30_1; + i64toi32_i32$1 = $31$hi; + label$1 : { + if (!(((i64toi32_i32$2 | 0) == ($87_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + } + $25_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $25_1 | 0; + } + + function $1120($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, i64toi32_i32$0 = 0; + $6_1 = global$0 - 32 | 0; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + HEAP32[($6_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] = $7_1; + return $7_1 | 0; + } + + function $1121($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $92$hi = 0, $95$hi = 0, $84$hi = 0, $85$hi = 0, $87$hi = 0, $88$hi = 0, $89$hi = 0, $91$hi = 0, $93$hi = 0, $94$hi = 0, $30_1 = 0, $31_1 = 0, $32_1 = 0, $61_1 = 0, $117_1 = 0, $24_1 = 0, $84_1 = 0, $191_1 = 0, $87_1 = 0, $217_1 = 0, $230_1 = 0, $92_1 = 0, $93_1 = 0, $242_1 = 0, $79_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 112 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 104 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[($3_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $117_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 88 | 0) >> 2] = $117_1; + HEAP32[($3_1 + 92 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 84 | 0) >> 2] = ((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 32 | 0) + 16 | 0; + HEAP32[($3_1 + 80 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 92 | 0) >> 2] | 0; + $1102(HEAP32[(HEAP32[($3_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0, $3_1 + 32 | 0 | 0, HEAP32[((HEAP32[((HEAP32[($3_1 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + label$1 : { + label$2 : while (1) { + if (HEAP32[($3_1 + 104 | 0) >> 2] | 0) { + break label$1 + } + $24_1 = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 56) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + $84_1 = i64toi32_i32$0; + $84$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $85$hi = i64toi32_i32$1; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$1 = $85$hi; + $191_1 = i64toi32_i32$0; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$2 = $84_1; + i64toi32_i32$0 = $85$hi; + i64toi32_i32$3 = $191_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$5; + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == ($24_1 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $87_1 = i64toi32_i32$5; + $87$hi = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $88$hi = i64toi32_i32$2; + i64toi32_i32$2 = $87$hi; + i64toi32_i32$2 = $88$hi; + $217_1 = i64toi32_i32$5; + i64toi32_i32$2 = $87$hi; + i64toi32_i32$1 = $87_1; + i64toi32_i32$5 = $88$hi; + i64toi32_i32$3 = $217_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $89$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + i64toi32_i32$1 = $907(i64toi32_i32$1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $91$hi = i64toi32_i32$4; + i64toi32_i32$4 = $89$hi; + i64toi32_i32$4 = $91$hi; + $230_1 = i64toi32_i32$1; + i64toi32_i32$4 = $89$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = $91$hi; + i64toi32_i32$3 = $230_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $92_1 = i64toi32_i32$5; + $92$hi = i64toi32_i32$0; + i64toi32_i32$4 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 92 | 0) >> 2] | 0; + $93_1 = i64toi32_i32$0; + $93$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $94$hi = i64toi32_i32$2; + i64toi32_i32$2 = $93$hi; + i64toi32_i32$2 = $94$hi; + $242_1 = i64toi32_i32$0; + i64toi32_i32$2 = $93$hi; + i64toi32_i32$4 = $93_1; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$3 = $242_1; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $95$hi = i64toi32_i32$5; + i64toi32_i32$5 = $92$hi; + i64toi32_i32$5 = $95$hi; + i64toi32_i32$5 = $92$hi; + i64toi32_i32$5 = $95$hi; + i64toi32_i32$5 = $92$hi; + i64toi32_i32$2 = $92_1; + i64toi32_i32$4 = $95$hi; + i64toi32_i32$3 = i64toi32_i32$1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$4 | 0)) { + $30_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $31_1 = 0 + } else { + $31_1 = 1 + } + $32_1 = $31_1; + } else { + $32_1 = 0 + } + $30_1 = $32_1; + } + label$4 : { + if (!($30_1 & 1 | 0)) { + break label$4 + } + break label$1; + } + $61_1 = $3_1 + 32 | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $1103($61_1 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0); + $1104($61_1 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1016(HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $3_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + continue label$2; + }; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1105($3_1 + 32 | 0 | 0, (HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($3_1 + 104 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($3_1 + 104 | 0) >> 2] = HEAP32[($3_1 + 100 | 0) >> 2] | 0; + } + $79_1 = HEAP32[($3_1 + 104 | 0) >> 2] | 0; + global$0 = $3_1 + 112 | 0; + return $79_1 | 0; + } + + function $1122($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $54$hi = 0, $44_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $51$hi = 0, $164_1 = 0, $54_1 = 0, $174$hi = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1096(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $51$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1101(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] = i64toi32_i32$1; + } + label$3 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + $164_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $164_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $54_1 = i64toi32_i32$1; + $54$hi = i64toi32_i32$0; + $44_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = $44_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + $174$hi = i64toi32_i32$1; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$1 = $174$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$3 = $54_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $44_1; + HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] = i64toi32_i32$5; + } + } + label$4 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1116(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $48_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $48_1 | 0; + } + + function $1123($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $36_1 = 0, i64toi32_i32$0 = 0, $76_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 384 | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($68(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $308(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $36_1 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $36_1; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 60 | 0; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] = 1; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 60 | 0; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 0] = 2; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 60 | 0; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 0] = 3; + $3288(HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $474((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 384 | 0 | 0, HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != ($36_1 | 0) & 1 | 0)) { + break label$3 + } + $118(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + $13(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + } + } + } + $76_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $76_1 | 0; + } + + function $1124($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $43_1 = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (($1127(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0) >>> 0) % ((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$5_1 >> 2] = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + label$4 : { + label$5 : { + label$6 : while (1) { + $43_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $43_1 + -1 | 0; + if (!$43_1) { + break label$5 + } + label$7 : { + if ($88(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$4; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + continue label$6; + }; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 114628; + } + $54_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $54_1 | 0; + } + + function $1125($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $58_1 = 0, $63_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + } + label$3 : { + if (!((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[$5_1 >> 2] = (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0; + label$5 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + } + $58_1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[$58_1 >> 2] = (HEAP32[$58_1 >> 2] | 0) + -1 | 0; + } + $42(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $63_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($63_1 + 4 | 0) >> 2] = (HEAP32[($63_1 + 4 | 0) >> 2] | 0) + -1 | 0; + label$6 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$6 + } + $209(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1126($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $45_1 = 0, i64toi32_i32$0 = 0, $78_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + if (!(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0) >>> 0 > 1024 >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 128; + } + label$2 : { + label$3 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$2; + } + $449(); + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $39((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $450(); + label$4 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$2; + } + $42(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + $45_1 = ($16(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0) >>> 3 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $45_1; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = $45_1; + $3289(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (($1127(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0) >>> 0) % ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $1128(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + continue label$6; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + $78_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $78_1 | 0; + } + + function $1127($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + $5_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $5_1 + 1 | 0; + $8_1 = HEAPU8[$5_1 >> 0] | 0; + HEAP8[($3_1 + 7 | 0) >> 0] = $8_1; + if (!($8_1 & 255 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + ((HEAPU8[(((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, -1640531535); + continue label$2; + }; + } + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $1128($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $17_1 = 0, $20_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0)) { + break label$4 + } + $17_1 = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$3; + } + $17_1 = 0; + } + HEAP32[$5_1 >> 2] = $17_1; + $20_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[$20_1 >> 2] = (HEAP32[$20_1 >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP32[$5_1 >> 2] = 0; + } + label$5 : { + label$6 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$7; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$5; + } + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$9 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + return; + } + + function $1129($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $127(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $154(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, 1 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $11_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $11_1 | 0; + } + + function $1130($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $35$hi = 0, $36$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $15_1 = 0, $13_1 = 0, $32_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $13_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $35$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $36$hi = i64toi32_i32$1; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $15_1 = $365($13_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + break label$1; + } + $15_1 = 0; + } + HEAP32[($5_1 + 12 | 0) >> 2] = $15_1; + label$3 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $3288(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + i64toi32_i32$2 | 0) >> 0] = 0; + } + $32_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $32_1 | 0; + } + + function $1131($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $15_1 = 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $15_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == ($15_1 | 0) & 1 | 0)) { + break label$4 + } + break label$3; + } + label$5 : { + if ($125(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + $32_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $129(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, $32_1 | 0, $32_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if ((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0) { + break label$7 + } + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) == (3082 | 0) & 1 | 0)) { + break label$6 + } + } + $118(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$8 + } + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 1; + } + $913(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0, $3_1 + 12 | 0 | 0); + label$9 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[(HEAP32[(((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $407(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = 17; + } + label$10 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$10 + } + $1022(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $1132($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $28_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP8[($6_1 + 3 | 0) >> 0] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 148 | 0) >> 0] = HEAPU8[($6_1 + 3 | 0) >> 0] | 0; + label$3 : { + if (((HEAPU8[($6_1 + 3 | 0) >> 0] | 0) & 255 | 0) & 128 | 0) { + break label$3 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 208 | 0) >> 2] = 0; + } + i64toi32_i32$1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $28_1 = $1130(HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 188 | 0) >> 2] = $28_1; + } + global$0 = $6_1 + 16 | 0; + return; + } + + function $1133($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0, $19_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $16_1 = 1; + label$1 : { + if (!($88(HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + $19_1 = 0; + label$2 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + $19_1 = ($88(8749 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (0 | 0); + } + $16_1 = $19_1; + } + global$0 = $5_1 + 16 | 0; + return $16_1 & 1 | 0 | 0; + } + + function $1134($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, i64toi32_i32$0 = 0, $13_1 = 0, $16_1 = 0, $30_1 = 0, $32_1 = 0, $38_1 = 0, $68_1 = 0, $24_1 = 0, $25_1 = 0, $26_1 = 0, i64toi32_i32$1 = 0, $27_1 = 0, $136_1 = 0, $139_1 = 0, $143_1 = 0, $158_1 = 0, $60_1 = 0, $124_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = 0; + label$1 : while (1) { + $13_1 = 24; + $16_1 = 0; + label$2 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $13_1 | 0) >> $13_1 | 0)) { + break label$2 + } + $16_1 = (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($16_1 & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + label$4 : while (1) { + $30_1 = 24; + $32_1 = ((HEAPU8[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = $32_1; + $38_1 = 0; + label$5 : { + if (!(($32_1 | 0) >= (48 | 0) & 1 | 0)) { + break label$5 + } + $38_1 = (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) <= (57 | 0); + } + label$6 : { + if (!($38_1 & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 12 | 0) >> 2] = (Math_imul(HEAP32[($7_1 + 12 | 0) >> 2] | 0, 10) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0) - 48 | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + i64toi32_i32$0 = 0; + $60_1 = $937(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP16[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = $60_1; + $68_1 = 24; + label$7 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $68_1 | 0) >> $68_1 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $20_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $24_1 = (HEAPU8[($20_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($20_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 65531 | 0; + HEAP8[($20_1 + 55 | 0) >> 0] = $24_1; + HEAP8[($20_1 + 56 | 0) >> 0] = $24_1 >>> 8 | 0; + $21_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $25_1 = (HEAPU8[($21_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($21_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & -65 | 0; + HEAP8[($21_1 + 55 | 0) >> 0] = $25_1; + HEAP8[($21_1 + 56 | 0) >> 0] = $25_1 >>> 8 | 0; + label$8 : { + label$9 : while (1) { + if (!(((HEAPU8[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + label$10 : { + label$11 : { + if ($396(8808 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0) { + break label$11 + } + $22_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $26_1 = HEAPU8[($22_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($22_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 4 | 0; + HEAP8[($22_1 + 55 | 0) >> 0] = $26_1; + HEAP8[($22_1 + 56 | 0) >> 0] = $26_1 >>> 8 | 0; + break label$10; + } + label$12 : { + label$13 : { + if ($396(8819 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0) { + break label$13 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1135((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 3 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($7_1 + 8 | 0) >> 2] = 2; + } + i64toi32_i32$1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $124_1 = $937(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP16[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 1] = $124_1; + break label$12; + } + label$15 : { + if ($396(8829 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0) { + break label$15 + } + $23_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $27_1 = HEAPU8[($23_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($23_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 64 | 0; + HEAP8[($23_1 + 55 | 0) >> 0] = $27_1; + HEAP8[($23_1 + 56 | 0) >> 0] = $27_1 >>> 8 | 0; + } + } + } + label$16 : while (1) { + $136_1 = 24; + $139_1 = 0; + label$17 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $136_1 | 0) >> $136_1 | 0)) { + break label$17 + } + $143_1 = 24; + $139_1 = (((HEAPU8[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $143_1 | 0) >> $143_1 | 0 | 0) != (32 | 0); + } + label$18 : { + if (!($139_1 & 1 | 0)) { + break label$18 + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + } + break label$16; + }; + label$19 : { + label$20 : while (1) { + $158_1 = 24; + if (!((((HEAPU8[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $158_1 | 0) >> $158_1 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + continue label$9; + }; + } + global$0 = $7_1 + 48 | 0; + return; + } + + function $1135($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + $341(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0) | 0; + $9_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $9_1 | 0; + } + + function $1136($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return; + } + + function $1137($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8404992 | 0) { + break label$1 + } + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (175 | 0) & 1 | 0)) { + break label$2 + } + $1137(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $1137(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$6 + } + $1139(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + break label$5; + } + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$7 + } + $1140(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + } + } + } + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 65536 | 0)) { + break label$8 + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + } + label$9 : { + if ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 134217728 | 0) { + break label$9 + } + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1138($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $22_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0; + label$1 : while (1) { + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 16 | 0; + $22_1 = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $22_1; + if (($22_1 | 0) > (0 | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1139($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1141(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1140($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1142(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1141($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $382(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $1143(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + $18(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + $382(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $18(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + $382(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + $18(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $1144(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $424(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + label$5 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$5 + } + $23(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = 1; + continue label$2; + }; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1142($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + } + return; + } + + function $1143($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $53_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + label$6 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + $53_1 = 1; + label$7 : { + if (!((((HEAPU8[((HEAP32[$4_1 >> 2] | 0) + 37 | 0) >> 0] | 0) >>> $53_1 | 0) & $53_1 | 0) & 255 | 0)) { + break label$7 + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!((((HEAPU8[((HEAP32[$4_1 >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0)) { + break label$8 + } + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + $11(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + label$9 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $1139(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + label$10 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $19(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 72 | 0; + continue label$4; + }; + } + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1144($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $1140(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1145($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0, $21_1 = 0, $35_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$3 + } + if (HEAP32[($4_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + } + $14_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $1033($14_1 | 0, 9137 | 0, $4_1 | 0); + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if (!($1036(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + $21_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $1033($21_1 | 0, 9160 | 0, $4_1 + 16 | 0 | 0); + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0; + label$5 : { + if (!(HEAP32[($4_1 + 32 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + $1031(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $35_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $35_1 | 0; + } + + function $1146($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $8_1 = 0, $19_1 = 0, $25_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $8_1 = (HEAP32[$5_1 >> 2] | 0) + 1 | 0; + HEAP32[$5_1 >> 2] = $8_1; + HEAP32[$4_1 >> 2] = $8_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : while (1) { + $19_1 = (HEAP32[$4_1 >> 2] | 0) >>> 1 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $19_1; + $25_1 = 0; + label$2 : { + if (!($19_1 >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$2 + } + $25_1 = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0; + } + label$3 : { + if (!($25_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + return; + } + + function $1147($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $25_1 = 0, $31_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + $6_1 = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if ($6_1) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + $25_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[$25_1 >> 2] = (HEAP32[$25_1 >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + label$3 : { + label$4 : while (1) { + $31_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $31_1; + if (!($31_1 >>> 0 <= (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + break label$3; + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $1148($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $47_1 = 0, $45_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1148(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $45_1 = $1148(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = $45_1; + break label$3; + } + $47_1 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = $47_1; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = $47_1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $56_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $56_1 | 0; + } + + function $1149($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $1152(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $1150($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $23_1 = 0, $24_1 = 0, $18_1 = 0, $91_1 = 0, $109_1 = 0, $118_1 = 0, $124_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 7 | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] = 1; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] = $18_1; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 9 | 0) >> 0] = $18_1; + break label$1; + } + $23_1 = 1; + $24_1 = 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == ($23_1 | 0) & 1 | 0 ? $23_1 : $24_1; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 >= 3 >>> 0 & 1 | 0 ? $23_1 : $24_1; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 9 | 0) >> 0] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0 ? $23_1 : $24_1; + } + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] = 0; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 8 | 0)) { + break label$6 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] = 3; + break label$5; + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] = 2; + } + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 11 | 0) >> 0] = ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) << 2 | 0; + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + $91_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP8[($91_1 + 11 | 0) >> 0] = (HEAPU8[($91_1 + 11 | 0) >> 0] | 0) & 255 | 0 | ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 0] | 0) & 255 | 0) | 0; + } + label$8 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 16 | 0)) { + break label$8 + } + if (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$8 + } + $109_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP8[($109_1 + 11 | 0) >> 0] = (HEAPU8[($109_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 12 | 0; + } + label$9 : { + label$10 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 32 | 0)) { + break label$10 + } + $118_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP8[($118_1 + 20 | 0) >> 0] = ((HEAPU8[($118_1 + 20 | 0) >> 0] | 0) & 255 | 0) & -2 | 0; + break label$9; + } + $124_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP8[($124_1 + 20 | 0) >> 0] = (HEAPU8[($124_1 + 20 | 0) >> 0] | 0) & 255 | 0 | 1 | 0; + } + return; + } + + function $1151($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + $632(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1152($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $39$hi = 0, $40$hi = 0, $41$hi = 0, $42$hi = 0, $12_1 = 0, $41_1 = 0, $92_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $39$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $40$hi = i64toi32_i32$0; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$0 = $40$hi; + i64toi32_i32$0 = $39$hi; + $12_1 = i64toi32_i32$1; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = __wasm_i64_mul($12_1 | 0, i64toi32_i32$0 | 0, -1024 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $41_1 = i64toi32_i32$1; + $41$hi = i64toi32_i32$0; + i64toi32_i32$1 = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $42$hi = i64toi32_i32$0; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$0 = $42$hi; + $92_1 = i64toi32_i32$1; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = __wasm_i64_sdiv($41_1 | 0, i64toi32_i32$0 | 0, $92_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + HEAP32[($4_1 + 8 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $649(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + $36_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $36_1 | 0; + } + + function $1153($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + } + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $1154($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!($368(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, 1 | 0) | 0)) { + break label$2 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $367(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $18_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $18_1 | 0; + } + + function $1155($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $5_1 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 63; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) <= (HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 16 | 0) >> 2] = ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $87(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(11776 + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($3_1 + 12 | 0) >> 2] | 0) { + break label$3 + } + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) - 1 | 0; + break label$4; + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + continue label$2; + }; + } + label$6 : { + label$7 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $48_1 = 0; + break label$6; + } + $48_1 = 11776 + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0; + } + global$0 = $3_1 + 32 | 0; + return $48_1 | 0; + } + + function $1156($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $44_1 = 0, $45_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 2 | 0) << 2 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!(((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 3 | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + $349($26_1 | 0, 14253 | 0, $5_1 | 0); + } + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $70(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $13(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0); + break label$2; + } + $44_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $45_1 = HEAP32[($44_1 + 56 | 0) >> 2] | 0; + HEAP32[($44_1 + 56 | 0) >> 2] = $45_1 + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $45_1; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1157($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, $9_1 = 0, i64toi32_i32$0 = 0, $138_1 = 0, $12_1 = 0, $36_1 = 0, $97_1 = 0, $113_1 = 0, $38_1 = 0, $131_1 = 0, $135_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 320 | 0; + global$0 = $8_1; + $9_1 = 0; + $12_1 = $8_1 + 248 | 0; + HEAP32[($8_1 + 316 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 312 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 308 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 304 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 300 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 296 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 292 | 0) >> 2] = HEAP32[($8_1 + 312 | 0) >> 2] | 0; + HEAP32[($8_1 + 288 | 0) >> 2] = $9_1; + HEAP8[($8_1 + 275 | 0) >> 0] = 40; + $77($12_1 | 0, $9_1 | 0, $8_1 + 48 | 0 | 0, 200 | 0, $9_1 | 0); + $60($12_1 | 0, 13748 | 0); + HEAP32[($8_1 + 280 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 276 | 0) >> 2] = (HEAPU8[((HEAP32[($8_1 + 292 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($8_1 + 280 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($8_1 + 292 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $36_1 = 24; + $38_1 = ((HEAPU8[($8_1 + 275 | 0) >> 0] | 0) << $36_1 | 0) >> $36_1 | 0; + HEAP32[($8_1 + 4 | 0) >> 2] = HEAP32[(13776 + ((HEAP32[($8_1 + 276 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[$8_1 >> 2] = $38_1; + $84($8_1 + 248 | 0 | 0, 13763 | 0, $8_1 | 0); + HEAP8[($8_1 + 275 | 0) >> 0] = 44; + HEAP32[($8_1 + 280 | 0) >> 2] = (HEAP32[($8_1 + 280 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 276 | 0) >> 2] = (HEAP32[($8_1 + 276 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$3 : { + if (HEAP32[($8_1 + 280 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 292 | 0) >> 2] | 0) >> 2] | 0; + $84($8_1 + 248 | 0 | 0, 13980 | 0, $8_1 + 32 | 0 | 0); + HEAP32[($8_1 + 280 | 0) >> 2] = (HEAP32[($8_1 + 280 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($8_1 + 276 | 0) >> 2] = 0; + label$4 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 292 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 32 | 0)) { + break label$4 + } + $60($8_1 + 248 | 0 | 0, 13986 | 0); + HEAP32[($8_1 + 276 | 0) >> 2] = (HEAP32[($8_1 + 276 | 0) >> 2] | 0) + 1 | 0; + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 292 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 192 | 0)) { + break label$5 + } + $60($8_1 + 248 | 0 | 0, 13998 | 0); + HEAP32[($8_1 + 276 | 0) >> 2] = (HEAP32[($8_1 + 276 | 0) >> 2] | 0) + 1 | 0; + } + $97_1 = $8_1 + 248 | 0; + $51($97_1 | 0, 5213 | 0, 1 | 0); + $72($97_1 | 0) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $414(HEAP32[($8_1 + 316 | 0) >> 2] | 0 | 0, $8_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 284 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (HEAP32[($8_1 + 284 | 0) >> 2] | 0) { + break label$7 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $38(24 | 0) | 0), HEAP32[(wasm2js_i32$0 + 288 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if (!((HEAP32[($8_1 + 288 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($8_1 + 284 | 0) >> 2] = 7; + break label$8; + } + $113_1 = HEAP32[($8_1 + 288 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $138_1 = 0; + i64toi32_i32$1 = $113_1; + HEAP32[i64toi32_i32$1 >> 2] = $138_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $138_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $113_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $138_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($8_1 + 288 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($8_1 + 292 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 288 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 316 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 288 | 0) >> 2] | 0) + 21 | 0) >> 0] = HEAP32[($8_1 + 280 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 288 | 0) >> 2] | 0) + 20 | 0) >> 0] = HEAP32[($8_1 + 276 | 0) >> 2] | 0; + } + break label$6; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $380(HEAP32[($8_1 + 316 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $131_1 = $79(1976 | 0, $8_1 + 16 | 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 296 | 0) >> 2] | 0) >> 2] = $131_1; + } + HEAP32[(HEAP32[($8_1 + 300 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 288 | 0) >> 2] | 0; + $135_1 = HEAP32[($8_1 + 284 | 0) >> 2] | 0; + global$0 = $8_1 + 320 | 0; + return $135_1 | 0; + } + + function $1158($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $12_1 = 0, i64toi32_i32$0 = 0; + $4_1 = global$0 - 48 | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAPF64[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 3] = 1.0; + label$1 : { + label$2 : { + if ((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $12_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $12_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $12_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $12_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + label$6 : { + if ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + break label$5; + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$7 + } + break label$5; + } + label$8 : { + if (!((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$5; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) - ((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[(($4_1 + 12 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0; + continue label$4; + }; + } + label$9 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$9 + } + i64toi32_i32$0 = 0; + HEAPF64[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 3] = 2147483647.0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 2147483647; + HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = 1; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 1; + label$10 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = 0; + HEAPF64[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 3] = 20.0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 20; + HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) - 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = 2; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 1; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0; + } + + function $1159($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $1160($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $28_1 = 0, $16_1 = 0, $25_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $38(24 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $16_1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = 0; + $28_1 = 0; + i64toi32_i32$1 = $16_1; + HEAP32[i64toi32_i32$1 >> 2] = $28_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $28_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $28_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $25_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $25_1 | 0; + } + + function $1161($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $1162(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $1162($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$1 + } + $42(HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1163($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $74_1 = 0, $8_1 = 0, $77_1 = 0, $45_1 = 0, $146_1 = 0, $151_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 144 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 136 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 132 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 128 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 124 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 120 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 116 | 0) >> 2] = HEAP32[($7_1 + 136 | 0) >> 2] | 0; + HEAP32[($7_1 + 112 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] | 0; + $1162(HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 100 | 0) >> 2] = ((HEAPU8[((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 32 | 0 ? $8_1 : 1; + HEAP32[($7_1 + 104 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[$7_1 >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + $45_1 = $79(1976 | 0, $7_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($7_1 + 100 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $45_1; + label$5 : { + if (!((HEAP32[(((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($7_1 + 100 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 140 | 0) >> 2] = 7; + break label$1; + } + } + HEAP32[($7_1 + 104 | 0) >> 2] = (HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 100 | 0) >> 2] = (HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $74_1 = 0; + $77_1 = $7_1 + 72 | 0; + $77($77_1 | 0, $74_1 | 0, $74_1 | 0, $74_1 | 0, HEAP32[((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0); + $60($77_1 | 0, 14237 | 0); + label$6 : { + if (!((HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != ($74_1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $84($7_1 + 72 | 0 | 0, 14245 | 0, $7_1 + 48 | 0 | 0); + } + $60($7_1 + 72 | 0 | 0, HEAP32[(HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] | 0 | 0); + label$7 : { + if (!((HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $84($7_1 + 72 | 0 | 0, 14249 | 0, $7_1 + 32 | 0 | 0); + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $72($7_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 140 | 0) >> 2] = 7; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $402(HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, -1 | 0, (HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + label$9 : { + if (!(HEAP32[($7_1 + 108 | 0) >> 2] | 0)) { + break label$9 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $380(HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $146_1 = $79(1976 | 0, $7_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 8 | 0) >> 2] = $146_1; + HEAP32[($7_1 + 140 | 0) >> 2] = HEAP32[($7_1 + 108 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1164(HEAP32[($7_1 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + } + $151_1 = HEAP32[($7_1 + 140 | 0) >> 2] | 0; + global$0 = $7_1 + 144 | 0; + return $151_1 | 0; + } + + function $1164($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $7_1 = 0, $25$hi = 0, $26$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $4_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 100; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + $7_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $25$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $26$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $7_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$5; + label$1 : { + if (!(($4_1 | 0) != ($287(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $213(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + $1162(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + $22_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $22_1 | 0; + } + + function $1165($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + return (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0 | 0; + } + + function $1166($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $24_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $280(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $320(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0); + break label$1; + } + $24_1 = -1; + $277(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 16 | 0) + (((HEAP32[($5_1 + 20 | 0) >> 2] | 0) - ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $24_1 | 0, $24_1 | 0); + } + global$0 = $5_1 + 32 | 0; + return 0 | 0; + } + + function $1167($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $29_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $29_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return 0 | 0; + } + + function $1168($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $53_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 480 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$5; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $53_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$7; + } + $53_1 = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 8 | 0) >> 2] = $53_1; + $474((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 56 | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + label$9 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + } + $1171(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $1171(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $13(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1169($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, $17_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $7_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $7_1; + label$1 : { + if (!(($7_1 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + $17_1 = 16; + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $17_1 | 0) >> $17_1 | 0 | 0) & 1 | 0)) { + break label$2 + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0); + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 20 | 0; + continue label$3; + }; + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1170($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 480 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + } + $1057(0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$6 + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1171($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + $1139(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1172($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0); + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $382(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $18(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1173($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $63_1 = 0, $212_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$3 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (173 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0; + } + label$4 : { + label$5 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (166 | 0) & 1 | 0) { + break label$5 + } + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (164 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (77 | 0) & 1 | 0)) { + break label$4 + } + } + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $63_1 = 16; + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $63_1 | 0) >> $63_1 | 0; + label$6 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 20) | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $498(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + break label$1; + } + label$7 : { + label$8 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (36 | 0) & 1 | 0) { + break label$8 + } + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (171 | 0) & 1 | 0)) { + break label$7 + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + } + label$9 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (174 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$2; + } + label$10 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1174(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0 | 0, 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$11 : { + label$12 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0)) { + break label$12 + } + label$13 : { + label$14 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0)) { + break label$14 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$13; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$15 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + if (((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$15 + } + if ((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0) { + break label$15 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + label$18 : { + if (!((HEAP32[((HEAP32[(((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0)) { + break label$18 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + break label$16; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + break label$11; + } + break label$1; + } + continue label$2; + }; + } + label$19 : { + if (!($1175(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) | 0)) { + break label$19 + } + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + } + $212_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $212_1 | 0; + } + + function $1174($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $77_1 = 0, $82_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP8[($6_1 + 27 | 0) >> 0] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $498(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($6_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if ((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + } + $1176(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($6_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $498(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($6_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if ((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + if (!($1177(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + } + label$5 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $77_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + $349($77_1 | 0, 14330 | 0, $6_1 | 0); + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = 257; + } + $82_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $82_1 | 0; + } + + function $1175($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1174(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $41_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $41_1 | 0; + } + + function $1176($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $41_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $291(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + break label$1; + } + FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0); + $13(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 248 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $41_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $117(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $120(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, $41_1 | 0); + $55_1 = 24; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $232(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $55_1 | 0) >> $55_1 | 0 ? 2 : 3) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != ($41_1 | 0) & 1 | 0)) { + break label$4 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 248 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0, (HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0); + } + $212(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1177($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15_1 = 0, $30_1 = 0, $31_1 = 0, $33_1 = 0, $37_1 = 0, $118_1 = 0, $138_1 = 0, $45_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $498(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 14361 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $15_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($15_1 | 0) & 1 | 0)) { + break label$4 + } + $30_1 = 0; + $31_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $118_1 = i64toi32_i32$0; + i64toi32_i32$0 = $31_1; + HEAP32[i64toi32_i32$0 >> 2] = $118_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $33_1 = 16; + HEAP32[(i64toi32_i32$0 + $33_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $33_1 | 0) >> 2] | 0; + $37_1 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $37_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $138_1 = i64toi32_i32$1; + i64toi32_i32$1 = $31_1 + $37_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $138_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = $30_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $30_1; + break label$1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + $45_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $45_1 | 0; + } + + function $1178($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, $66_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : while (1) { + $10_1 = $418(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, $3_1 + 4 | 0 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + $10_1 | 0; + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (179 | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + label$2 : { + label$3 : { + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (59 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (115 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (116 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (161 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (162 | 0) & 1 | 0) { + break label$3 + } + if (!(($1186(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (59 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($3_1 + 4 | 0) >> 2] = 59; + } + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $66_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $66_1 | 0; + } + + function $1179($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP16[($4_1 + 28 | 0) >> 1] = $0_1; + HEAP16[($4_1 + 26 | 0) >> 1] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[($4_1 + 26 | 0) >> 1] | 0) & 65535 | 0 | 0) > (552 | 0) & 1 | 0)) { + break label$2 + } + HEAP16[($4_1 + 30 | 0) >> 1] = HEAPU16[($4_1 + 26 | 0) >> 1] | 0; + break label$1; + } + label$3 : while (1) { + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAPU16[(14784 + (((HEAPU16[($4_1 + 26 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + ((HEAPU16[($4_1 + 28 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$4 : { + label$5 : { + if (!(((HEAPU16[(15904 + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) != ((HEAPU16[($4_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP16[($4_1 + 18 | 0) >> 1] = HEAPU16[(14416 + (((HEAPU16[($4_1 + 28 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0; + label$6 : { + if (!((HEAPU16[($4_1 + 18 | 0) >> 1] | 0) & 65535 | 0)) { + break label$6 + } + HEAP16[($4_1 + 28 | 0) >> 1] = HEAPU16[($4_1 + 18 | 0) >> 1] | 0; + break label$4; + } + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - ((HEAPU16[($4_1 + 28 | 0) >> 1] | 0) & 65535 | 0) | 0) + 100 | 0; + label$7 : { + if (!(((HEAPU16[(15904 + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$7 + } + if (!(((HEAPU16[($4_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP16[($4_1 + 30 | 0) >> 1] = HEAPU16[(20192 + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + break label$1; + } + HEAP16[($4_1 + 30 | 0) >> 1] = HEAPU16[(24128 + (((HEAPU16[($4_1 + 26 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0; + break label$1; + } + HEAP16[($4_1 + 30 | 0) >> 1] = HEAPU16[(20192 + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + break label$1; + } + if (1 & 1 | 0) { + continue label$3 + } + break label$3; + }; + } + return (HEAPU16[($4_1 + 30 | 0) >> 1] | 0) & 65535 | 0 | 0; + } + + function $1180($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $674_1 = 0, $2799_1 = 0, $318_1 = 0, $1287_1 = 0, $468_1 = 0, $848_1 = 0, $837_1 = 0, $572_1 = 0, $1196_1 = 0, $1853_1 = 0, $1277_1 = 0, $1448_1 = 0, $1672_1 = 0, $1951_1 = 0, $1952_1 = 0, $2086_1 = 0, $2220_1 = 0, $2548_1 = 0, $3021_1 = 0, $3484 = 0, $3845 = 0, $12_1 = 0, $26_1 = 0, $67_1 = 0, $110_1 = 0, $157_1 = 0, $387_1 = 0, $394_1 = 0, $575_1 = 0, $707_1 = 0, $712_1 = 0, $866_1 = 0, $957_1 = 0, $1121_1 = 0, $1229_1 = 0, $1267_1 = 0, $1268_1 = 0, $1272_1 = 0, $1320_1 = 0, $1324_1 = 0, $1392_1 = 0, $1413_1 = 0, $1480_1 = 0, $1654_1 = 0, $1802_1 = 0, $1838_1 = 0, $1903_1 = 0, $1904_1 = 0, $2035_1 = 0, $2161_1 = 0, $2196_1 = 0, $2212_1 = 0, $2261_1 = 0, $2305_1 = 0, $2309_1 = 0, $2318_1 = 0, $2369_1 = 0, $2373_1 = 0, $2382_1 = 0, $2440_1 = 0, $2650_1 = 0, $2694_1 = 0, $2749_1 = 0, $2831_1 = 0, $2869_1 = 0, $2871_1 = 0, $2881_1 = 0, $2921_1 = 0, $3148_1 = 0, $3285_1 = 0, $3561 = 0, $3572 = 0, $3797 = 0, $3831 = 0, $4055 = 0, $142_1 = 0, $144_1 = 0, $4542 = 0, $4556 = 0, $278_1 = 0, $4707 = 0, $5328 = 0, $5335 = 0, $5339 = 0, $774_1 = 0, $810_1 = 0, $844_1 = 0, $905_1 = 0, $949_1 = 0, $978_1 = 0, $6219 = 0, $1067_1 = 0, $1108_1 = 0, $1142_1 = 0, $1213_1 = 0, $1316_1 = 0, $1397_1 = 0, $1409_1 = 0, $1425_1 = 0, $1443_1 = 0, $1455_1 = 0, $1473_1 = 0, $1487_1 = 0, $1503_1 = 0, $1523_1 = 0, $7326 = 0, $1573_1 = 0, $1593_1 = 0, $1626_1 = 0, $1638_1 = 0, $1650_1 = 0, $1698_1 = 0, $1725_1 = 0, $1750_1 = 0, $1779_1 = 0, $1834_1 = 0, $1849_1 = 0, $1856_1 = 0, $1875_1 = 0, $1884_1 = 0, $1893_1 = 0, $8065 = 0, $1900_1 = 0, $2009_1 = 0, $2013_1 = 0, $8332 = 0, $2019_1 = 0, $2055_1 = 0, $8422 = 0, $2062_1 = 0, $8457 = 0, $2078_1 = 0, $2089_1 = 0, $2114_1 = 0, $2128_1 = 0, $2233_1 = 0, $2274_1 = 0, $2291_1 = 0, $8945 = 0, $2340_1 = 0, $2352_1 = 0, $2411_1 = 0, $2423_1 = 0, $2454_1 = 0, $2465_1 = 0, $2478_1 = 0, $2498_1 = 0, $2519_1 = 0, $2542_1 = 0, $2566_1 = 0, $2598_1 = 0, $2627_1 = 0, $2675_1 = 0, $2690_1 = 0, $2701_1 = 0, $2744_1 = 0, $2751_1 = 0, $2771_1 = 0, $2795_1 = 0, $2823_1 = 0, $2843_1 = 0, $2864_1 = 0, $2888_1 = 0, $2957_1 = 0, $2968_1 = 0, $2978_1 = 0, $2989_1 = 0, $3003_1 = 0, $3011_1 = 0, $3108_1 = 0, $3125_1 = 0, $10961 = 0, $10973 = 0, $11110 = 0, $3487 = 0, $3515 = 0, $3677 = 0, $3699 = 0, $3747 = 0, $3772 = 0, $3805 = 0, $3852 = 0, $12250 = 0, $12259 = 0, $12289 = 0, $12323 = 0, $4013 = 0, $4033 = 0, $4086 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 288 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 280 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 276 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 272 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 268 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 256 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 280 | 0) >> 2] | 0) >> 2] | 0; + $12_1 = 24; + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[($7_1 + 276 | 0) >> 2] | 0) + 25248 | 0) >> 0] | 0) << $12_1 | 0) >> $12_1 | 0) { + break label$2 + } + label$3 : { + if (!((HEAP32[(HEAP32[($7_1 + 280 | 0) >> 2] | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($7_1 + 280 | 0) >> 2] | 0) + 1208 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + $1187(HEAP32[($7_1 + 280 | 0) >> 2] | 0 | 0); + HEAP16[($7_1 + 286 | 0) >> 1] = 0; + break label$1; + } + } + $26_1 = HEAP32[($7_1 + 276 | 0) >> 2] | 0; + label$4 : { + label$5 : { + switch ($26_1 | 0) { + case 0: + HEAP8[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 203 | 0) >> 0] = 1; + break label$4; + case 1: + HEAP8[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 203 | 0) >> 0] = 2; + break label$4; + case 2: + $1188(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0); + break label$4; + case 3: + $1189(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 4: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 7; + break label$4; + case 5: + case 6: + case 7: + case 306: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + break label$4; + case 8: + case 9: + $1190(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, (HEAPU16[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0); + break label$4; + case 10: + $1191(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 11: + $1191(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 1 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 12: + $1191(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 2 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 13: + $67_1 = 0; + $1192(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, $67_1 | 0, $67_1 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 14: + $1193(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0); + break label$4; + case 15: + case 18: + case 21: + case 45: + case 60: + case 70: + case 79: + case 96: + case 232: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + case 16: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = 1; + break label$4; + case 17: + case 46: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + break label$4; + case 19: + $1194(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 255 | 0 | 0, 0 | 0); + break label$4; + case 20: + $110_1 = 0; + $1194(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $110_1 | 0, $110_1 | 0, 0 & 255 | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $1139(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 22: + label$295 : { + label$296 : { + if (!((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$296 + } + if ($89(HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 14175 | 0, 5 | 0) | 0) { + break label$296 + } + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 640; + break label$295; + } + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 0; + $142_1 = HEAP32[($7_1 + 268 | 0) >> 2] | 0; + $144_1 = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = $144_1; + $349($142_1 | 0, 25633 | 0, $7_1 | 0); + } + break label$4; + case 23: + $1195(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 24: + case 63: + case 102: + $157_1 = 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 20 | 0) >> 2] = $157_1; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = $157_1; + break label$4; + case 25: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 8 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) - (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0) | 0; + break label$4; + case 26: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 8 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) - (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0) | 0; + break label$4; + case 27: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) | 0) | 0; + break label$4; + case 28: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + break label$4; + case 29: + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $4542 = i64toi32_i32$0; + i64toi32_i32$0 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 12 | 0) + 4 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $4542; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$4; + case 30: + case 65: + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $4556 = i64toi32_i32$1; + i64toi32_i32$1 = (HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 72 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $4556; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$4; + case 31: + $1196(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) + (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] | 0) | 0 | 0); + break label$4; + case 32: + $1196(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 33: + $1196(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) + (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] | 0) | 0 | 0); + break label$4; + case 34: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 170 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + $1196(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) + (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] | 0) | 0 | 0); + break label$4; + case 35: + $278_1 = HEAP32[($7_1 + 268 | 0) >> 2] | 0; + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $4707 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4707; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1198($278_1 | 0, 115 | 0, $7_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 232 | 0) >> 2] = wasm2js_i32$1; + label$297 : { + if (!((HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$297 + } + $1199(HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0) | 0; + } + $1196(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0); + break label$4; + case 36: + $1200(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 37: + $1201(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 38: + $318_1 = 0; + $1202(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $318_1 | 0, $318_1 | 0, $318_1 | 0, $318_1 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $318_1 | 0, $318_1 | 0, $318_1 | 0, $318_1 | 0, 1 & 255 | 0 | 0); + break label$4; + case 39: + $1203(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 40: + $1204(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 41: + $1205(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 42: + $1206(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 43: + $1207(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0); + break label$4; + case 44: + $1207(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 47: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + case 48: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) & ((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) ^ -1 | 0) | 0 | (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + break label$4; + case 49: + $387_1 = 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $387_1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] = $387_1; + break label$4; + case 50: + $394_1 = 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $394_1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 8 | 0) >> 2] = $394_1; + break label$4; + case 51: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 8 | 0) >> 2] = 255; + break label$4; + case 52: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 8 | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 8 | 0) >> 2] = 65280; + break label$4; + case 53: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 8; + break label$4; + case 54: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 9; + break label$4; + case 55: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 10; + break label$4; + case 56: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 7; + break label$4; + case 57: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 0; + break label$4; + case 58: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = 0; + break label$4; + case 59: + case 74: + case 162: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 61: + case 78: + case 204: + case 207: + case 233: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 1; + break label$4; + case 62: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 0; + break label$4; + case 64: + HEAP32[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 76 | 0) >> 2] = 0; + break label$4; + case 66: + $1201(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0); + break label$4; + case 67: + $468_1 = 0; + $1202(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $468_1 | 0, $468_1 | 0, $468_1 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $468_1 | 0, $468_1 | 0, $468_1 | 0, $468_1 | 0, 1 & 255 | 0 | 0); + break label$4; + case 68: + $1203(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 69: + $1204(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + $1205(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 71: + case 73: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 11; + break label$4; + case 72: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 75: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 4; + break label$4; + case 76: + case 163: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 5; + break label$4; + case 77: + $1208(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 80: + $1209(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 81: + $1208(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 82: + $572_1 = $7_1 + 200 | 0; + $575_1 = 0; + HEAP32[($572_1 + 24 | 0) >> 2] = HEAP32[($575_1 + 25684 | 0) >> 2] | 0; + i64toi32_i32$2 = $575_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 25676 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 25680 | 0) >> 2] | 0; + $5328 = i64toi32_i32$1; + i64toi32_i32$1 = $572_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $5328; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 25668 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 25672 | 0) >> 2] | 0; + $5335 = i64toi32_i32$0; + i64toi32_i32$0 = $572_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $5335; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 25660 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 25664 | 0) >> 2] | 0; + $5339 = i64toi32_i32$1; + i64toi32_i32$1 = $572_1; + HEAP32[i64toi32_i32$1 >> 2] = $5339; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $1210(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + $1139(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 83: + HEAP32[($7_1 + 196 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$298 : { + label$299 : { + if (!((HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$299 + } + HEAP32[((HEAP32[($7_1 + 196 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + $1211(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0); + break label$298; + } + $424(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 196 | 0) >> 2] | 0; + break label$4; + case 84: + HEAP32[($7_1 + 192 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$300 : { + label$301 : { + if (!((HEAP32[($7_1 + 192 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$301 + } + HEAP32[((HEAP32[($7_1 + 192 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + $1211(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 192 | 0) >> 2] | 0 | 0); + break label$300; + } + $424(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 192 | 0) >> 2] | 0; + break label$4; + case 85: + HEAP32[($7_1 + 188 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$302 : { + if (!((HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$302 + } + $1211(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0); + } + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 188 | 0) >> 2] | 0; + break label$4; + case 86: + HEAP32[($7_1 + 184 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 180 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0; + label$303 : { + if (!((HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$303 + } + if (!((HEAP32[((HEAP32[($7_1 + 184 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$303 + } + $674_1 = 0; + HEAP32[($7_1 + 172 | 0) >> 2] = $674_1; + $1211(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1212(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $674_1 | 0, $674_1 | 0, $674_1 | 0, $7_1 + 168 | 0 | 0, HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, $674_1 | 0, $674_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1213(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $674_1 | 0, HEAP32[($7_1 + 176 | 0) >> 2] | 0 | 0, $674_1 | 0, $674_1 | 0, $674_1 | 0, $674_1 | 0, $674_1 | 0, $674_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + } + label$304 : { + label$305 : { + if (!((HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$305 + } + HEAP8[(HEAP32[($7_1 + 184 | 0) >> 2] | 0) >> 0] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 184 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($7_1 + 180 | 0) >> 2] | 0; + label$306 : { + if (!((HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$306 + } + $707_1 = HEAP32[($7_1 + 180 | 0) >> 2] | 0; + HEAP32[($707_1 + 4 | 0) >> 2] = (HEAP32[($707_1 + 4 | 0) >> 2] | 0) & -1025 | 0; + } + $712_1 = HEAP32[($7_1 + 184 | 0) >> 2] | 0; + HEAP32[($712_1 + 4 | 0) >> 2] = (HEAP32[($712_1 + 4 | 0) >> 2] | 0) & -1025 | 0; + label$307 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) != (133 | 0) & 1 | 0)) { + break label$307 + } + HEAP8[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 22 | 0) >> 0] = 1; + } + break label$304; + } + $1139(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0); + } + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 184 | 0) >> 2] | 0; + break label$4; + case 87: + case 89: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + break label$4; + case 88: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 133; + break label$4; + case 90: + $774_1 = $1213(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0) >> 2] = $774_1; + break label$4; + case 91: + $810_1 = $1213(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -108 | 0) + 4 | 0) >> 2] = $810_1; + label$308 : { + label$309 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -108 | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$309 + } + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -108 | 0) + 4 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0; + break label$308; + } + $1144(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0); + } + break label$4; + case 92: + $837_1 = 0; + $844_1 = $1213(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, $837_1 | 0, $837_1 | 0, $837_1 | 0, $837_1 | 0, $837_1 | 0, 512 | 0, $837_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $844_1; + break label$4; + case 93: + $848_1 = 0; + HEAP32[($7_1 + 160 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1213(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, $848_1 | 0, $848_1 | 0, $848_1 | 0, $848_1 | 0, $848_1 | 0, 1536 | 0, $848_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$310 : { + if (!((HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0) != ($848_1 | 0) & 1 | 0)) { + break label$310 + } + $866_1 = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + HEAP32[($866_1 + 4 | 0) >> 2] = (HEAP32[($866_1 + 4 | 0) >> 2] | 0) & -1025 | 0; + } + label$311 : { + label$312 : { + if (!((HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$312 + } + HEAP8[(HEAP32[($7_1 + 164 | 0) >> 2] | 0) >> 0] = 133; + HEAP32[((HEAP32[($7_1 + 164 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 164 | 0) >> 2] | 0; + break label$311; + } + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + } + break label$4; + case 94: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + break label$4; + case 95: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 2; + break label$4; + case 97: + case 130: + case 140: + case 220: + case 223: + case 228: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + case 98: + $905_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $905_1; + label$313 : { + if (!((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$313 + } + $1215(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, 1 | 0); + } + $1216(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 99: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1217(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, 177 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + $949_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $949_1; + break label$4; + case 100: + $957_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 177 | 0, $957_1 | 0, $957_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, 59 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + $978_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $978_1; + break label$4; + case 101: + case 112: + case 244: + case 245: + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $6219 = i64toi32_i32$0; + i64toi32_i32$0 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $6219; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$4; + case 103: + case 106: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + case 104: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $1219(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 105: + label$314 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$314 + } + if (!((HEAP32[(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$314 + } + HEAP8[((((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0, 72) | 0) + 36 | 0) >> 0] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + break label$4; + case 107: + $1067_1 = $1212(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] = $1067_1; + $1220(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0); + break label$4; + case 108: + $1108_1 = $1212(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0) >> 2] = $1108_1; + $1221(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 109: + $1121_1 = 0; + $1142_1 = $1212(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, $1121_1 | 0, $1121_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] = $1142_1; + break label$4; + case 110: + label$315 : { + label$316 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$316 + } + if (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 8 | 0) >> 2] | 0) { + break label$316 + } + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$316 + } + if (!((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$316 + } + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0; + break label$315; + } + label$317 : { + label$318 : { + if (!((HEAP32[(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$318 + } + $1196_1 = 0; + $1213_1 = $1212(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, $1196_1 | 0, $1196_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, $1196_1 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] = $1213_1; + label$319 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0) != ($1196_1 | 0) & 1 | 0)) { + break label$319 + } + $1229_1 = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -68 | 0) >> 2] | 0; + HEAP32[($7_1 + 140 | 0) >> 2] = (Math_imul(HEAP32[$1229_1 >> 2] | 0, 72) + $1229_1 | 0) + -64 | 0; + HEAP32[($7_1 + 136 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -44 | 0) >> 2] | 0) + 8 | 0; + HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$320 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0)) { + break label$320 + } + HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 64 | 0) >> 2] = 0; + $1267_1 = 37; + $1268_1 = (HEAP32[($7_1 + 136 | 0) >> 2] | 0) + $1267_1 | 0; + HEAP8[$1268_1 >> 0] = (HEAPU8[$1268_1 >> 0] | 0) & 251 | 0; + $1272_1 = HEAP32[($7_1 + 140 | 0) >> 2] | 0; + HEAP8[($1272_1 + 37 | 0) >> 0] = HEAPU8[($1272_1 + $1267_1 | 0) >> 0] | 0 | 4 | 0; + } + $1277_1 = 0; + HEAP32[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] = $1277_1; + HEAP32[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 8 | 0) >> 2] = $1277_1; + HEAP32[((HEAP32[($7_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] = $1277_1; + } + $1143(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$317; + } + $1287_1 = 0; + $1219(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1213(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $1287_1 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, $1287_1 | 0, $1287_1 | 0, $1287_1 | 0, $1287_1 | 0, 2048 | 0, $1287_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + $1316_1 = $1212(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, $1287_1 | 0, $1287_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] = $1316_1; + } + } + break label$4; + case 111: + case 125: + $1320_1 = 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = $1320_1; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 20 | 0) >> 2] = $1320_1; + break label$4; + case 113: + $1324_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1222(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $1324_1 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, $1324_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + label$321 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$321 + } + if (!((HEAP32[($7_1 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$321 + } + $1223(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 240 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + } + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 114: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1222(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + label$322 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$322 + } + if (!((HEAP32[($7_1 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$322 + } + $1223(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 240 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + } + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 115: + $1392_1 = 0; + $1397_1 = $1222(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $1392_1 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, $1392_1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = $1397_1; + break label$4; + case 116: + $1409_1 = $1222(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $1409_1; + break label$4; + case 117: + $1413_1 = 0; + $1425_1 = $1222(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $1413_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $1425_1; + label$323 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0) != ($1413_1 | 0) & 1 | 0)) { + break label$323 + } + $1443_1 = $1224(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = $1443_1; + } + break label$4; + case 118: + $1448_1 = 0; + $1455_1 = $1222(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $1448_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, $1448_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $1455_1; + label$324 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) != ($1448_1 | 0) & 1 | 0)) { + break label$324 + } + $1473_1 = $1224(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = $1473_1; + } + break label$4; + case 119: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + break label$4; + case 120: + $1480_1 = 0; + $1487_1 = $1225(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, $1480_1 | 0, $1480_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $1487_1; + break label$4; + case 121: + $1503_1 = $1225(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $1503_1; + break label$4; + case 122: + $1523_1 = $1225(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $1523_1; + break label$4; + case 123: + case 143: + case 150: + case 216: + case 237: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 124: + case 142: + case 144: + case 149: + case 217: + case 219: + case 238: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + case 126: + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $7326 = i64toi32_i32$1; + i64toi32_i32$1 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $7326; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$4; + case 127: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] = 1; + break label$4; + case 128: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 129: + case 164: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + case 131: + case 141: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 132: + $1573_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $1573_1; + $1226(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 133: + $1593_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $1593_1; + $1226(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 134: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + break label$4; + case 135: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + break label$4; + case 136: + case 139: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = -1; + break label$4; + case 137: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 0; + break label$4; + case 138: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 1; + break label$4; + case 145: + $1626_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 146 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $1626_1; + break label$4; + case 146: + $1638_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 146 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $1638_1; + break label$4; + case 147: + $1650_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 146 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $1650_1; + break label$4; + case 148: + $1654_1 = 0; + $1220(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0); + $1227(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $1654_1 | 0, $1654_1 | 0); + break label$4; + case 151: + $1672_1 = 0; + $1220(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0); + $1228(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, 25688 | 0); + $1698_1 = $1229(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] = $1698_1; + $1230(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, $1672_1 | 0, $1672_1 | 0, $1672_1 | 0); + break label$4; + case 152: + $1725_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $1725_1; + $1215(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, 1 | 0); + break label$4; + case 153: + $1750_1 = $1231(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] = $1750_1; + break label$4; + case 154: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + $1215(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 240 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, 1 | 0); + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 155: + $1779_1 = $1231(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $1779_1; + break label$4; + case 156: + $1232(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 157: + $1802_1 = 0; + $1232(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, $1802_1 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, $1802_1 | 0); + break label$4; + case 158: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + case 159: + $1834_1 = $1233(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -120 | 0) + 4 | 0) >> 2] = $1834_1; + break label$4; + case 160: + $1838_1 = 0; + $1849_1 = $1233(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, $1838_1 | 0, $1838_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] = $1849_1; + break label$4; + case 161: + $1853_1 = 0; + $1856_1 = $1233(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, $1853_1 | 0, $1853_1 | 0, $1853_1 | 0, $1853_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $1856_1; + break label$4; + case 165: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 166: + $1875_1 = $1234(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $1875_1; + break label$4; + case 167: + $1884_1 = $1234(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = $1884_1; + break label$4; + case 168: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 169: + case 170: + $1893_1 = HEAP32[($7_1 + 268 | 0) >> 2] | 0; + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $8065 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $8065; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$1; + $1900_1 = $1198($1893_1 | 0, 59 | 0, $7_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = $1900_1; + break label$4; + case 171: + $1903_1 = 59; + $1904_1 = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, $1903_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, $1904_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, $1903_1 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, $1904_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + label$325 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$325 + } + $1223(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + $1223(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 172: + $1951_1 = 59; + $1952_1 = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, $1951_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, $1952_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, $1951_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, $1952_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, $1951_1 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, $1952_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$326 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$326 + } + $1223(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + $1223(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 173: + case 174: + $2009_1 = HEAP32[($7_1 + 268 | 0) >> 2] | 0; + $2013_1 = (HEAPU16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $8332 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $8332; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$0; + $2019_1 = $1198($2009_1 | 0, $2013_1 | 0, $7_1 + 24 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = $2019_1; + break label$4; + case 175: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, 152 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 176: + $2035_1 = 24; + label$327 : { + label$328 : { + label$329 : { + if (!((((HEAPU8[(HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 0] | 0) << $2035_1 | 0) >> $2035_1 | 0 | 0) == (35 | 0) & 1 | 0)) { + break label$329 + } + if (((HEAPU8[(((HEAPU8[((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$328 + } + } + HEAP32[($7_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $2055_1 = HEAP32[($7_1 + 268 | 0) >> 2] | 0; + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $8422 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $8422; + HEAP32[($7_1 + 44 | 0) >> 2] = i64toi32_i32$1; + $2062_1 = $1198($2055_1 | 0, 153 | 0, $7_1 + 40 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = $2062_1; + $1235(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0); + break label$327; + } + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $8457 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + 96 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $8457; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$330 : { + label$331 : { + if ((HEAPU8[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$331 + } + $2078_1 = HEAP32[($7_1 + 268 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $7_1 + 96 | 0; + $349($2078_1 | 0, 25697 | 0, $7_1 + 32 | 0 | 0); + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + break label$330; + } + $2086_1 = 0; + $2089_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 173 | 0, $2086_1 | 0, $2086_1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = $2089_1; + label$332 : { + if (!((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != ($2086_1 | 0) & 1 | 0)) { + break label$332 + } + $341((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 28 | 0 | 0) | 0; + } + } + } + break label$4; + case 177: + $2114_1 = $1236(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, 1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $2114_1; + break label$4; + case 178: + $2128_1 = $1218(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, 36 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, 1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] = $2128_1; + $1237(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0); + break label$4; + case 179: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1238(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 180: + $2161_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1238(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $2161_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, $2161_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 181: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1238(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + $1239(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 240 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 182: + $2196_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1238(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $2196_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, $2196_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + $1239(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 240 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 183: + $2212_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1238(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $2212_1 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, $2212_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 184: + $2220_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $2233_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 174 | 0, $2220_1 | 0, $2220_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2233_1; + label$333 : { + label$334 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0) != ($2220_1 | 0) & 1 | 0)) { + break label$334 + } + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + label$335 : { + if (!(HEAP32[(HEAP32[($7_1 + 92 | 0) >> 2] | 0) >> 2] | 0)) { + break label$335 + } + $2261_1 = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0; + HEAP32[($2261_1 + 4 | 0) >> 2] = HEAP32[($2261_1 + 4 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2097412 | 0) | 0; + } + break label$333; + } + $382(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0); + } + break label$4; + case 185: + $2274_1 = $1240(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $2274_1; + break label$4; + case 186: + case 187: + case 188: + case 189: + case 190: + case 191: + case 192: + $2291_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, (HEAPU16[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $2291_1; + break label$4; + case 193: + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $8945 = i64toi32_i32$0; + i64toi32_i32$0 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $8945; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $2305_1 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0; + HEAP32[($2305_1 + 8 | 0) >> 2] = HEAP32[($2305_1 + 8 | 0) >> 2] | 0 | -2147483648 | 0; + break label$4; + case 194: + $2309_1 = 0; + HEAP32[($7_1 + 84 | 0) >> 2] = (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] | 0) & -2147483648 | 0; + $2318_1 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0; + HEAP32[($2318_1 + 8 | 0) >> 2] = (HEAP32[($2318_1 + 8 | 0) >> 2] | 0) & 2147483647 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $2309_1 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + $2340_1 = $1238(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, $2309_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $2340_1; + label$336 : { + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$336 + } + $2352_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $2352_1; + } + label$337 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$337 + } + $2369_1 = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0; + HEAP32[($2369_1 + 4 | 0) >> 2] = HEAP32[($2369_1 + 4 | 0) >> 2] | 0 | 128 | 0; + } + break label$4; + case 195: + $2373_1 = 0; + HEAP32[($7_1 + 76 | 0) >> 2] = (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 8 | 0) >> 2] | 0) & -2147483648 | 0; + $2382_1 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0; + HEAP32[($2382_1 + 8 | 0) >> 2] = (HEAP32[($2382_1 + 8 | 0) >> 2] | 0) & 2147483647 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $2373_1 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + $2411_1 = $1238(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, $2373_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2411_1; + label$338 : { + if (!(HEAP32[($7_1 + 76 | 0) >> 2] | 0)) { + break label$338 + } + $2423_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2423_1; + } + label$339 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$339 + } + $2440_1 = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0; + HEAP32[($2440_1 + 4 | 0) >> 2] = HEAP32[($2440_1 + 4 | 0) >> 2] | 0 | 128 | 0; + } + break label$4; + case 196: + $2454_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $2454_1; + break label$4; + case 197: + $2465_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 51 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $2465_1; + break label$4; + case 198: + $2478_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 45 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $2478_1; + $1241(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, 50 | 0); + break label$4; + case 199: + $2498_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 168 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $2498_1; + $1241(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, 51 | 0); + break label$4; + case 200: + case 201: + $2519_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, (HEAPU16[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $2519_1; + break label$4; + case 202: + $2542_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, (((HEAPU16[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) == (105 | 0) & 1 | 0 ? 171 : 170) | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $2542_1; + break label$4; + case 203: + case 206: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + break label$4; + case 205: + $2548_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $2548_1 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + $2566_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 48 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, $2548_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2566_1; + label$340 : { + label$341 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0) != ($2548_1 | 0) & 1 | 0)) { + break label$341 + } + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + break label$340; + } + $382(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0); + } + label$342 : { + if (!(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0)) { + break label$342 + } + $2598_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2598_1; + } + break label$4; + case 208: + label$343 : { + label$344 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$344 + } + $1242(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0); + $2627_1 = $1217(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, 152 | 0, (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 ? 8423 : 25721) | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2627_1; + break label$343; + } + label$345 : { + label$346 : { + if (!((HEAP32[(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$346 + } + if (!($1243(HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$346 + } + $2650_1 = 0; + HEAP32[($7_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = $2650_1; + $382(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 171 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, $2650_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + $2675_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2675_1; + label$347 : { + if (!(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0)) { + break label$347 + } + $2690_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2690_1; + } + break label$345; + } + $2694_1 = 0; + $2701_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 49 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, $2694_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2701_1; + label$348 : { + label$349 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0) != ($2694_1 | 0) & 1 | 0)) { + break label$349 + } + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + $1244(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$348; + } + $382(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + } + label$350 : { + if (!(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0)) { + break label$350 + } + $2744_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2744_1; + } + } + } + break label$4; + case 209: + $2749_1 = 0; + $2751_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 136 | 0, $2749_1 | 0, $2749_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $2751_1; + $1245(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 210: + $2771_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 49 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2771_1; + $1245(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + label$351 : { + if (!(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0)) { + break label$351 + } + $2795_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2795_1; + } + break label$4; + case 211: + $2799_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1222(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $2799_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1213(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $2799_1 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, $2799_1 | 0, $2799_1 | 0, $2799_1 | 0, $2799_1 | 0, $2799_1 | 0, $2799_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$352 : { + if (!((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != ($2799_1 | 0) & 1 | 0)) { + break label$352 + } + $2823_1 = HEAP32[($7_1 + 268 | 0) >> 2] | 0; + label$353 : { + label$354 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$354 + } + $2831_1 = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + break label$353; + } + $2831_1 = 0; + } + $1221($2823_1 | 0, $2831_1 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + $2843_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 49 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2843_1; + $1245(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0); + label$355 : { + if (!(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0)) { + break label$355 + } + $2864_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2864_1; + } + break label$4; + case 212: + $2869_1 = 0; + $2871_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 20 | 0, $2869_1 | 0, $2869_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $2871_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $2871_1; + $1245(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 213: + $2881_1 = 0; + $2888_1 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 154 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, $2881_1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2888_1; + label$356 : { + label$357 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0) != ($2881_1 | 0) & 1 | 0)) { + break label$357 + } + label$358 : { + label$359 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$359 + } + $2921_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + break label$358; + } + $2921_1 = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = $2921_1; + $1244(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$356; + } + $382(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0); + $18(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + } + break label$4; + case 214: + $2957_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2957_1; + $2968_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $2968_1; + break label$4; + case 215: + $2978_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $2978_1; + $2989_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $2989_1; + break label$4; + case 218: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 221: + $3003_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $3003_1; + break label$4; + case 222: + $3011_1 = $1214(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = $3011_1; + break label$4; + case 224: + case 229: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 225: + $3021_1 = 0; + $1202(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0 | 0, $1222(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $3021_1 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, $3021_1 | 0) | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -120 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -132 | 0) + 4 | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $3021_1 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0); + label$360 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$360 + } + if (!((HEAP32[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 236 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$360 + } + $1223(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 236 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0) | 0; + } + break label$4; + case 226: + case 268: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 2; + break label$4; + case 227: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + case 230: + $3108_1 = $1246(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $3108_1; + break label$4; + case 231: + $3125_1 = $1246(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = $3125_1; + break label$4; + case 234: + $1247(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 235: + $1248(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 236: + $1248(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 239: + $3148_1 = 0; + $1249(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, $3148_1 | 0, $3148_1 | 0); + break label$4; + case 240: + $1249(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0); + break label$4; + case 241: + $1249(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, 0 | 0); + break label$4; + case 242: + $1249(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, 1 | 0); + break label$4; + case 243: + $1249(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, 1 | 0); + break label$4; + case 246: + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0) | 0) + (HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + $1250(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, $7_1 + 48 | 0 | 0); + break label$4; + case 247: + $1251(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -120 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0) >> 2] | 0 | 0); + $3285_1 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -120 | 0) + 4 | 0; + label$361 : { + label$362 : { + if (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 8 | 0) >> 2] | 0) { + break label$362 + } + i64toi32_i32$2 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $10961 = i64toi32_i32$1; + i64toi32_i32$1 = $3285_1; + HEAP32[i64toi32_i32$1 >> 2] = $10961; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$361; + } + i64toi32_i32$2 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $10973 = i64toi32_i32$0; + i64toi32_i32$0 = $3285_1; + HEAP32[i64toi32_i32$0 >> 2] = $10973; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + break label$4; + case 248: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + break label$4; + case 249: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = 65; + break label$4; + case 250: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 33; + break label$4; + case 251: + case 252: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + break label$4; + case 253: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = 127; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 254: + case 273: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + case 255: + case 274: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 256: + HEAP32[((HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 257: + HEAP32[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 258: + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $11110 = i64toi32_i32$1; + i64toi32_i32$1 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $11110; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $349(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 25723 | 0, 0 | 0); + break label$4; + case 259: + $349(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 25818 | 0, 0 | 0); + break label$4; + case 260: + $349(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 25902 | 0, 0 | 0); + break label$4; + case 261: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1252(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] | 0) & 255 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -96 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 262: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1253(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -72 | 0) + 4 | 0) >> 2] | 0) & 255 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 263: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1254(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 264: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1255(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 265: + $3484 = 0; + $3487 = $1197(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 71 | 0, $3484 | 0, $3484 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $3487; + label$363 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0) != ($3484 | 0) & 1 | 0)) { + break label$363 + } + HEAP8[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = 4; + } + break label$4; + case 266: + $3515 = $1218(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, 71 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, 1 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] = $3515; + label$364 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$364 + } + HEAP8[((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0; + } + break label$4; + case 267: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + break label$4; + case 269: + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = 3; + break label$4; + case 270: + $1256(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 271: + $1257(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 272: + $1258(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 275: + $3561 = 0; + $1259(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $3561 | 0, $3561 | 0); + break label$4; + case 276: + $1259(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 277: + $3572 = 0; + $1260(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $3572 | 0, $3572 | 0); + break label$4; + case 278: + $1260(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 279: + $1261(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 280: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 192 | 0) >> 2] | 0) - (HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) | 0) + (HEAP32[((HEAP32[($7_1 + 268 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0) | 0; + $1262(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0); + break label$4; + case 281: + $1193(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0); + $1263(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 282: + $1264(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 283: + $1265(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0); + break label$4; + case 284: + $1265(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 285: + $1266(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 286: + $1267(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0); + break label$4; + case 287: + case 288: + case 289: + $1268(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0 | 0); + break label$4; + case 290: + case 291: + $1269(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0); + break label$4; + case 292: + $3677 = $1270(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] = $3677; + break label$4; + case 293: + $3699 = $1270(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -84 | 0) + 4 | 0) >> 2] = $3699; + break label$4; + case 294: + HEAP32[($7_1 + 240 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 295: + $1271(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 240 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 296: + label$365 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$365 + } + i64toi32_i32$0 = 0; + $3747 = $1130(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) >> 2] = $3747; + } + HEAP32[($7_1 + 240 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 297: + $3772 = $1272(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = $3772; + break label$4; + case 298: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1272(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 299: + $3797 = 0; + $3805 = $1272(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $3797 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, $3797 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $3805; + break label$4; + case 300: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1272(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 301: + case 320: + HEAP32[($7_1 + 240 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 302: + $3831 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1272(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $3831 | 0, $3831 | 0, ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 303: + $3845 = 0; + $3852 = $1273(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, $3845 | 0, 90 | 0, $3845 | 0, 85 | 0, $3845 | 0, 0 & 255 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 2] = $3852; + break label$4; + case 304: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1273(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] | 0 | 0, 85 | 0, 0 | 0, (HEAPU8[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 305: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1273(HEAP32[($7_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -60 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 307: + case 309: + i64toi32_i32$2 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $12250 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + 240 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $12250; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $12259 = i64toi32_i32$1; + i64toi32_i32$1 = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $12259; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$4; + case 308: + case 310: + case 312: + HEAP32[($7_1 + 240 | 0) >> 2] = (HEAPU16[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($7_1 + 244 | 0) >> 2] = 0; + i64toi32_i32$2 = $7_1 + 240 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $12289 = i64toi32_i32$0; + i64toi32_i32$0 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $12289; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$4; + case 311: + HEAP32[($7_1 + 240 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($7_1 + 244 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $7_1 + 240 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $12323 = i64toi32_i32$1; + i64toi32_i32$1 = ((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $12323; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$4; + case 313: + HEAP8[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 16 | 0) >> 0] = 0; + break label$4; + case 314: + HEAP8[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 0] = HEAPU8[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0; + break label$4; + case 315: + case 316: + HEAP8[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 0] = HEAPU16[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 2 | 0) >> 1] | 0; + break label$4; + case 317: + HEAP8[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 0] = HEAPU16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + break label$4; + case 318: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 319: + HEAP32[((HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 240 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 321: + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $308(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, 100 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + label$366 : { + label$367 : { + if (!((HEAP32[($7_1 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$367 + } + HEAP8[((HEAP32[($7_1 + 240 | 0) >> 2] | 0) + 16 | 0) >> 0] = 163; + HEAP32[((HEAP32[($7_1 + 240 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$366; + } + $18(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + break label$4; + case 322: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 323: + i64toi32_i32$0 = 0; + $4013 = $308(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, 100 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $4013; + label$368 : { + if (!((HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$368 + } + i64toi32_i32$0 = 0; + $4033 = $1130(HEAP32[(HEAP32[($7_1 + 268 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[(HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0) >> 2] = $4033; + } + break label$4; + case 324: + HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + default: + break label$5; + }; + } + } + HEAP32[($7_1 + 264 | 0) >> 2] = (HEAPU16[(26e3 + ((HEAP32[($7_1 + 276 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; + $4055 = 24; + HEAP32[($7_1 + 252 | 0) >> 2] = ((HEAPU8[((HEAP32[($7_1 + 276 | 0) >> 2] | 0) + 25248 | 0) >> 0] | 0) << $4055 | 0) >> $4055 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1274((HEAPU16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 252 | 0) >> 2] | 0, 12) | 0) >> 1] | 0) & 65535 | 0 | 0, (HEAP32[($7_1 + 264 | 0) >> 2] | 0) & 65535 | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 262 | 0) >> 1] = wasm2js_i32$1; + HEAP32[($7_1 + 256 | 0) >> 2] = (HEAP32[($7_1 + 256 | 0) >> 2] | 0) + Math_imul((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 1 | 0, 12) | 0; + HEAP32[(HEAP32[($7_1 + 280 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 256 | 0) >> 2] | 0; + HEAP16[(HEAP32[($7_1 + 256 | 0) >> 2] | 0) >> 1] = HEAPU16[($7_1 + 262 | 0) >> 1] | 0; + HEAP16[((HEAP32[($7_1 + 256 | 0) >> 2] | 0) + 2 | 0) >> 1] = HEAP32[($7_1 + 264 | 0) >> 2] | 0; + HEAP16[($7_1 + 286 | 0) >> 1] = HEAPU16[($7_1 + 262 | 0) >> 1] | 0; + } + $4086 = (HEAPU16[($7_1 + 286 | 0) >> 1] | 0) & 65535 | 0; + global$0 = $7_1 + 288 | 0; + return $4086 | 0; + } + + function $1181($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $7_1 = 0, $20_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $152_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP16[($6_1 + 10 | 0) >> 1] = $1_1; + HEAP16[($6_1 + 8 | 0) >> 1] = $2_1; + $7_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = (HEAP32[$7_1 >> 2] | 0) + 12 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1208 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $20_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[$20_1 >> 2] = (HEAP32[$20_1 >> 2] | 0) + -12 | 0; + $1187(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + break label$1; + } + label$3 : { + if (!(((HEAPU16[($6_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 0) > (552 | 0) & 1 | 0)) { + break label$3 + } + HEAP16[($6_1 + 10 | 0) >> 1] = ((HEAPU16[($6_1 + 10 | 0) >> 1] | 0) & 65535 | 0) + 388 | 0; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP16[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 1] = HEAPU16[($6_1 + 10 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 2 | 0) >> 1] = HEAPU16[($6_1 + 8 | 0) >> 1] | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $152_1 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $152_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + global$0 = $6_1 + 16 | 0; + return; + } + + function $1182($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + return; + } + + function $1183($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $18_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[$2_1 >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $2_1; + $349($18_1 | 0, 25697 | 0, $5_1 | 0); + break label$1; + } + $349(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 39680 | 0, 0 | 0); + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1184($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP16[($5_1 + 10 | 0) >> 1] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $10_1 = (HEAPU16[($5_1 + 10 | 0) >> 1] | 0) + -200 | 0; + label$1 : { + label$2 : { + switch ($10_1 | 0) { + case 0: + case 34: + case 35: + case 47: + $1139(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 11: + case 12: + case 41: + case 43: + case 55: + case 71: + case 73: + case 76: + case 83: + case 88: + case 102: + $18(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 16: + case 26: + case 27: + case 39: + case 42: + case 44: + case 48: + case 49: + case 57: + case 62: + case 70: + case 72: + case 101: + $382(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 33: + case 40: + case 51: + case 52: + case 58: + $1143(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 36: + $424(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 46: + case 97: + $1144(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 56: + case 59: + case 64: + $19(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 66: + case 98: + case 99: + case 100: + case 103: + $1140(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 79: + case 84: + $17(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 81: + $19(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$1; + case 105: + case 106: + case 107: + $18(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$1; + default: + break label$2; + }; + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1185($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $5_1 = HEAP32[$4_1 >> 2] | 0; + HEAP32[$4_1 >> 2] = $5_1 + -12 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $5_1; + $1184(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1186($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU16[(14416 + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0; + } + + function $1187($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >>> 0 & 1 | 0)) { + break label$1 + } + $1185(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + continue label$2; + }; + } + $349(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 26770 | 0, 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $1188($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $122_1 = 0, $51_1 = 0, $138_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if ((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + if (!(HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$3 + } + } + label$5 : { + if (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + } + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1275(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $1276(HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, 68 | 0) | 0; + label$7 : { + if ((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$7 + } + label$8 : { + if (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0) { + break label$8 + } + if (!((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + } + $51_1 = 0; + $1277(HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, $51_1 | 0); + HEAP32[($3_1 + 32 | 0) >> 2] = $51_1; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + label$11 : { + label$12 : { + if (((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0) & (1 << (HEAP32[($3_1 + 32 | 0) >> 2] | 0) | 0) | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + break label$11; + } + $356(HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 32 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + $353(HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) & (1 << (HEAP32[($3_1 + 32 | 0) >> 2] | 0) | 0) | 0 | 0) != (0 | 0) & 1 | 0 | 0, HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + label$13 : { + if ((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0) { + break label$13 + } + $354(HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + } + } + HEAP32[($3_1 + 32 | 0) >> 2] = (HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $122_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1056(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, 163 | 0, $122_1 | 0, $122_1 | 0, $122_1 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, -12 | 0) | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + $138_1 = 0; + HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 208 | 0) >> 2] = $138_1; + $1279(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + $1280(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + label$16 : { + if (!((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != ($138_1 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 23 | 0) >> 0] = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($3_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + label$19 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$19 + } + $1281(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + } + $1282(HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + } + label$20 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + if (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$20 + } + if (((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$20 + } + $358(HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = 101; + break label$1; + } + HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + } + global$0 = $3_1 + 48 | 0; + return; + } + + function $1189($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $7_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!($1283(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 22 | 0, 9846 | 0, $7_1 | 0, $7_1 | 0) | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + break label$1; + } + label$4 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (7 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + if (!($533(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 2; + break label$9; + } + HEAP32[($4_1 + 8 | 0) >> 2] = 1; + } + } + $366(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $356(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + } + $1276(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1190($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $6_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (12 | 0) & 1 | 0; + label$1 : { + label$2 : { + if (!($1283(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 22 | 0, (HEAP32[$4_1 >> 2] | 0 ? 27339 : 27348) | 0, $6_1 | 0, $6_1 | 0) | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $29_1 = 1; + $366(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $29_1 | 0, $29_1 | 0, HEAP32[$4_1 >> 2] | 0 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1191($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1224(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if (!($1283(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[(27356 + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { + break label$2 + } + } + $13(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + break label$1; + } + $40_1 = 0; + $1278(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $40_1 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $40_1 | 0, $40_1 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, -7 | 0) | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1192($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $369$hi = 0, $293_1 = 0, $298_1 = 0, i64toi32_i32$3 = 0, $344_1 = 0, $221_1 = 0, $271_1 = 0, $283_1 = 0, $285_1 = 0, $290_1 = 0, $295_1 = 0, $300_1 = 0, $303_1 = 0, $370$hi = 0, $371$hi = 0, $373$hi = 0, $575_1 = 0, $190_1 = 0, $205_1 = 0, $339_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 112 | 0; + global$0 = $9_1; + HEAP32[($9_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 92 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 84 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 76 | 0) >> 2] = 0; + HEAP32[($9_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAPU8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 160 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($9_1 + 64 | 0) >> 2] = (HEAPU8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 164 | 0) >> 0] | 0) & 255 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $291(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, ((HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 8404 : 8004) | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 60 | 0) >> 2] = HEAP32[($9_1 + 104 | 0) >> 2] | 0; + break label$2; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1284(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0, $9_1 + 60 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + label$5 : { + if (!(HEAP32[($9_1 + 96 | 0) >> 2] | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[($9_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$5 + } + $349(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, 27376 | 0, 0 | 0); + break label$1; + } + label$6 : { + if (!(HEAP32[($9_1 + 96 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($9_1 + 64 | 0) >> 2] = 1; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1224(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$7 + } + $1223(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0) | 0; + } + } + i64toi32_i32$2 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $575_1 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 184 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $575_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$8 : { + if (!((HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + break label$1; + } + label$9 : { + label$10 : { + if (!($1285(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 92 | 0) >> 2] | 0 ? 27417 : 8398) | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) | 0)) { + break label$10 + } + break label$9; + } + label$11 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 164 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($9_1 + 96 | 0) >> 2] = 1; + } + HEAP32[($9_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 64 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$12 : { + if (!($1283(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, 18 | 0, ((HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 8404 : 8004) | 0, 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + break label$9; + } + label$13 : { + if (HEAP32[($9_1 + 88 | 0) >> 2] | 0) { + break label$13 + } + if (!($1283(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, (HEAPU8[(((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 92 | 0) >> 2] | 0) << 1 | 0) | 0) + 27422 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) | 0)) { + break label$13 + } + break label$9; + } + label$14 : { + if ((HEAPU8[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0) { + break label$14 + } + HEAP32[($9_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 64 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$15 : { + if (!((0 | 0) != ($360(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$15 + } + break label$9; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $361(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!((HEAP32[($9_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + label$18 : { + if (HEAP32[($9_1 + 84 | 0) >> 2] | 0) { + break label$18 + } + $190_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + HEAP32[$9_1 >> 2] = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $349($190_1 | 0, 27426 | 0, $9_1 | 0); + break label$17; + } + $1286(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0); + } + break label$9; + } + label$19 : { + if (!(($1025(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + $205_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $349($205_1 | 0, 27450 | 0, $9_1 + 16 | 0 | 0); + break label$9; + } + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $308(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, 80 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($9_1 + 80 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 12 | 0) >> 2] = 7; + $221_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + HEAP32[($221_1 + 36 | 0) >> 2] = (HEAP32[($221_1 + 36 | 0) >> 2] | 0) + 1 | 0; + break label$9; + } + HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + HEAP16[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 40 | 0) >> 1] = 65535; + HEAP32[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 64 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + HEAP16[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 46 | 0) >> 1] = 200; + HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 232 | 0) >> 2] = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + label$21 : { + if (((HEAPU8[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$21 + } + if ($3229(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, 27485 | 0) | 0) { + break label$21 + } + HEAP32[((HEAP32[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + } + label$22 : { + if (((HEAPU8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$22 + } + $271_1 = $1275(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 68 | 0) >> 2] = $271_1; + if (!(($271_1 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + $1287(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0); + label$23 : { + if (!(HEAP32[($9_1 + 88 | 0) >> 2] | 0)) { + break label$23 + } + $1276(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 163 | 0) | 0; + } + $283_1 = 94; + $285_1 = 2; + i64toi32_i32$1 = 0; + $369$hi = i64toi32_i32$1; + $290_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + $293_1 = (HEAP32[($290_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($290_1 + 44 | 0) >> 2] = $293_1; + HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 88 | 0) >> 2] = $293_1; + HEAP32[($9_1 + 40 | 0) >> 2] = $293_1; + $295_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + $298_1 = (HEAP32[($295_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($295_1 + 44 | 0) >> 2] = $298_1; + HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 92 | 0) >> 2] = $298_1; + HEAP32[($9_1 + 36 | 0) >> 2] = $298_1; + $300_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + $303_1 = (HEAP32[($300_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($300_1 + 44 | 0) >> 2] = $303_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $303_1; + $367(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 93 | 0, HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, $285_1 | 0) | 0; + $356(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1288(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 18 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $370$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $371$hi = i64toi32_i32$0; + i64toi32_i32$0 = $370$hi; + i64toi32_i32$0 = $371$hi; + i64toi32_i32$0 = $370$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $371$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $373$hi = i64toi32_i32$1; + i64toi32_i32$1 = $369$hi; + i64toi32_i32$1 = $373$hi; + i64toi32_i32$1 = $369$hi; + i64toi32_i32$1 = $373$hi; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $369$hi; + i64toi32_i32$3 = 0; + HEAP32[($9_1 + 44 | 0) >> 2] = ((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0 ? 1 : 4; + $367(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, $283_1 | 0, HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, $285_1 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, $283_1 | 0, HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 5 | 0, (HEAPU8[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + $1277(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0); + label$24 : { + label$25 : { + label$26 : { + if (HEAP32[($9_1 + 92 | 0) >> 2] | 0) { + break label$26 + } + if (!(HEAP32[($9_1 + 88 | 0) >> 2] | 0)) { + break label$25 + } + } + $366(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) | 0; + break label$24; + } + $339_1 = $367(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 140 | 0, HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 132 | 0) >> 2] = $339_1; + } + $344_1 = 0; + $1289(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0); + $366(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 121 | 0, $344_1 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) | 0; + $1278(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 74 | 0, 6 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, $344_1 | 0, 27501 | 0, -1 | 0) | 0; + $367(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 122 | 0, $344_1 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 8 & 65535 | 0 | 0); + $1276(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 116 | 0) | 0; + } + break label$1; + } + $13(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0); + } + global$0 = $9_1 + 112 | 0; + return; + } + + function $1193($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $11_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $7_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP8[($7_1 + 24 | 0) >> 0] = (HEAPU8[($7_1 + 24 | 0) >> 0] | 0) + 1 | 0; + $11_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($11_1 + 272 | 0) >> 2] = (HEAP32[($11_1 + 272 | 0) >> 2] | 0) + 1 | 0; + HEAP16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 276 | 0) >> 1] = 0; + return; + } + + function $1194($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $323_1 = 0, $44_1 = 0, $79_1 = 0, $103_1 = 0, $138_1 = 0, $142_1 = 0, $176_1 = 0, $229_1 = 0, $256_1 = 0, $259_1 = 0, $260_1 = 0, $263_1 = 0, $264_1 = 0, $267_1 = 0, $290_1 = 0, $302_1 = 0, $307_1 = 0, $370_1 = 0, $382_1 = 0, $495_1 = 0, $497_1 = 0, $99_1 = 0, $180_1 = 0, $394_1 = 0, $395_1 = 0, $396_1 = 0, $403_1 = 0, $410_1 = 0, $411_1 = 0, $413_1 = 0, $415_1 = 0, $417_1 = 0, $418_1 = 0, $453_1 = 0, $459_1 = 0, $460_1 = 0, $461_1 = 0, $527_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 256 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 252 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 248 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 244 | 0) >> 2] = $2_1; + HEAP8[($7_1 + 243 | 0) >> 0] = $3_1; + HEAP32[($7_1 + 236 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 228 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 252 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 244 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($7_1 + 232 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if (!((HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + if (!($1290(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 232 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + $44_1 = HEAP32[($7_1 + 232 | 0) >> 2] | 0; + HEAP32[($44_1 + 36 | 0) >> 2] = HEAP32[($44_1 + 36 | 0) >> 2] | 0 | 4096 | 0; + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 228 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $349(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0, 1352 | 0, 0 | 0); + break label$1; + } + HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 228 | 0) >> 2] | 0) + 160 | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + $79_1 = HEAP32[($7_1 + 232 | 0) >> 2] | 0; + HEAP32[($79_1 + 36 | 0) >> 2] = HEAP32[($79_1 + 36 | 0) >> 2] | 0 | 1 | 0; + } + } + label$8 : { + if (!(((HEAPU8[($7_1 + 243 | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$8 + } + label$9 : { + if (!((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 8 | 0)) { + break label$9 + } + $349(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0, 27594 | 0, 0 | 0); + break label$1; + } + label$10 : { + if ((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 4 | 0) { + break label$10 + } + $99_1 = HEAP32[($7_1 + 252 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[(HEAP32[($7_1 + 232 | 0) >> 2] | 0) >> 2] | 0; + $349($99_1 | 0, 27644 | 0, $7_1 | 0); + break label$1; + } + $103_1 = HEAP32[($7_1 + 232 | 0) >> 2] | 0; + HEAP32[($103_1 + 36 | 0) >> 2] = HEAP32[($103_1 + 36 | 0) >> 2] | 0 | 640 | 0; + $1291(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $350(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $1292(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0, 4 | 0, 0 | 0, HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + label$12 : { + label$13 : { + if (!(HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$13 + } + $382(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + break label$12; + } + } + } + label$14 : { + if (!((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$14 + } + $138_1 = 0; + HEAP32[($7_1 + 212 | 0) >> 2] = $138_1; + HEAP32[($7_1 + 216 | 0) >> 2] = $138_1; + label$15 : { + label$16 : while (1) { + $142_1 = 16; + if (!((HEAP32[($7_1 + 216 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $142_1 | 0) >> $142_1 | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($7_1 + 208 | 0) >> 2] = (HEAPU16[(((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 216 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0; + label$17 : { + label$18 : { + if (!((HEAP32[($7_1 + 208 | 0) >> 2] | 0) & 96 | 0)) { + break label$18 + } + HEAP32[($7_1 + 204 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 216 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0; + label$19 : { + if (!($1292(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0, 8 | 0, HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { + break label$19 + } + $176_1 = 0; + $18(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0); + $180_1 = $1218(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0, 119 | 0, $176_1 | 0, $176_1 | 0) | 0; + HEAP32[(((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 216 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] = $180_1; + } + break label$17; + } + HEAP32[($7_1 + 212 | 0) >> 2] = (HEAP32[($7_1 + 212 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($7_1 + 216 | 0) >> 2] = (HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + label$20 : { + if (HEAP32[($7_1 + 212 | 0) >> 2] | 0) { + break label$20 + } + $349(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0, 27676 | 0, 0 | 0); + break label$1; + } + } + $1293(HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 220 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$21 : { + label$22 : while (1) { + if (!((HEAP32[($7_1 + 220 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + $1294(HEAP32[($7_1 + 220 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 220 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 220 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$22; + }; + } + label$23 : { + if (((HEAPU8[((HEAP32[($7_1 + 228 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$23 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1275(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 196 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$24 + } + break label$1; + } + $229_1 = 0; + $1288(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, 116 | 0, $229_1 | 0) | 0; + label$25 : { + label$26 : { + if (!((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == ($229_1 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($7_1 + 192 | 0) >> 2] = 8398; + HEAP32[($7_1 + 188 | 0) >> 2] = 27720; + break label$25; + } + HEAP32[($7_1 + 192 | 0) >> 2] = 27417; + HEAP32[($7_1 + 188 | 0) >> 2] = 27726; + } + label$27 : { + if (!((HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$27 + } + $256_1 = HEAP32[($7_1 + 252 | 0) >> 2] | 0; + $259_1 = (HEAP32[($256_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($256_1 + 44 | 0) >> 2] = $259_1; + HEAP32[($7_1 + 148 | 0) >> 2] = $259_1; + $260_1 = HEAP32[($7_1 + 252 | 0) >> 2] | 0; + $263_1 = (HEAP32[($260_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($260_1 + 44 | 0) >> 2] = $263_1; + HEAP32[($7_1 + 140 | 0) >> 2] = $263_1; + $264_1 = HEAP32[($7_1 + 252 | 0) >> 2] | 0; + $267_1 = (HEAP32[($264_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($264_1 + 44 | 0) >> 2] = $267_1; + HEAP32[($7_1 + 136 | 0) >> 2] = $267_1; + $1295(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0); + $367(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, 97 | 0, 1 | 0, HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 224 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, 16 & 65535 | 0 | 0); + HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 40 | 0) >> 2] = 2; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($1296(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, 13 | 0, HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0) | 0; + label$28 : { + if (!(HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$28 + } + break label$1; + } + $290_1 = 24; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1297(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, (65 << $290_1 | 0) >> $290_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (!((HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$29 + } + break label$1; + } + $302_1 = $7_1 + 152 | 0; + $307_1 = HEAPU16[((HEAP32[($7_1 + 128 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + HEAP16[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 44 | 0) >> 1] = $307_1; + HEAP16[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 42 | 0) >> 1] = $307_1; + HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 128 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP16[((HEAP32[($7_1 + 128 | 0) >> 2] | 0) + 42 | 0) >> 1] = 0; + HEAP32[((HEAP32[($7_1 + 128 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + $11(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0); + $1298($302_1 | 0, 13 | 0, HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0); + $1210(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, $302_1 | 0) | 0; + label$30 : { + if (!(HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$30 + } + break label$1; + } + $323_1 = 1; + $1299(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 144 | 0) >> 2] | 0) - 1 | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0) | 0; + $1300(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0, 0 | 0); + $366(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, 121 | 0, $323_1 | 0, HEAP32[($7_1 + 136 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, 122 | 0, $323_1 | 0, HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 136 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, 116 | 0, $323_1 | 0) | 0; + } + label$31 : { + label$32 : { + if (!((HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$32 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1301(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + break label$31; + } + label$33 : { + label$34 : { + if (!((HEAPU8[($7_1 + 243 | 0) >> 0] | 0) & 255 | 0)) { + break label$34 + } + $370_1 = (HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 192 | 0; + break label$33; + } + $370_1 = HEAP32[($7_1 + 244 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 124 | 0) >> 2] = $370_1; + HEAP32[($7_1 + 200 | 0) >> 2] = (HEAP32[(HEAP32[($7_1 + 124 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 184 | 0) >> 2] | 0) | 0; + $382_1 = 24; + label$35 : { + if (!((((HEAPU8[(HEAP32[(HEAP32[($7_1 + 124 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) << $382_1 | 0) >> $382_1 | 0 | 0) != (59 | 0) & 1 | 0)) { + break label$35 + } + HEAP32[($7_1 + 200 | 0) >> 2] = (HEAP32[($7_1 + 200 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + } + $394_1 = HEAP32[($7_1 + 228 | 0) >> 2] | 0; + $395_1 = HEAP32[($7_1 + 188 | 0) >> 2] | 0; + $396_1 = HEAP32[($7_1 + 200 | 0) >> 2] | 0; + HEAP32[($7_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 184 | 0) >> 2] | 0; + HEAP32[($7_1 + 84 | 0) >> 2] = $396_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $395_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $351($394_1 | 0, 27731 | 0, $7_1 + 80 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + } + $403_1 = HEAP32[($7_1 + 252 | 0) >> 2] | 0; + $410_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 228 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 224 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $411_1 = HEAP32[($7_1 + 192 | 0) >> 2] | 0; + $413_1 = HEAP32[(HEAP32[($7_1 + 232 | 0) >> 2] | 0) >> 2] | 0; + $415_1 = HEAP32[(HEAP32[($7_1 + 232 | 0) >> 2] | 0) >> 2] | 0; + $417_1 = HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0; + $418_1 = HEAP32[($7_1 + 184 | 0) >> 2] | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = $418_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $417_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $415_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $413_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $411_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $410_1; + $1302($403_1 | 0, 27746 | 0, $7_1 + 48 | 0 | 0); + $13(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0); + $1303(HEAP32[($7_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 224 | 0) >> 2] | 0 | 0); + label$36 : { + if (!((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 8 | 0)) { + break label$36 + } + HEAP32[($7_1 + 120 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 228 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 224 | 0) >> 2] | 0) << 4 | 0) | 0; + label$37 : { + if (!((HEAP32[((HEAP32[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$37 + } + $453_1 = HEAP32[($7_1 + 252 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + $1302($453_1 | 0, 27844 | 0, $7_1 + 32 | 0 | 0); + } + } + $459_1 = HEAP32[($7_1 + 196 | 0) >> 2] | 0; + $460_1 = HEAP32[($7_1 + 224 | 0) >> 2] | 0; + $461_1 = HEAP32[($7_1 + 228 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 232 | 0) >> 2] | 0) >> 2] | 0; + $1304($459_1 | 0, $460_1 | 0, $351($461_1 | 0, 27886 | 0, $7_1 + 16 | 0 | 0) | 0 | 0); + } + if (!(((HEAPU8[((HEAP32[($7_1 + 228 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($7_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $474((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[(HEAP32[($7_1 + 232 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$38 : { + if (!((HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$38 + } + $118(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0); + break label$1; + } + $495_1 = 0; + HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 232 | 0) >> 2] = $495_1; + $497_1 = HEAP32[($7_1 + 228 | 0) >> 2] | 0; + HEAP32[($497_1 + 24 | 0) >> 2] = HEAP32[($497_1 + 24 | 0) >> 2] | 0 | 1 | 0; + label$39 : { + if ((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($495_1 | 0) & 1 | 0) { + break label$39 + } + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 252 | 0) >> 2] | 0) + 184 | 0) >> 2] | 0; + label$40 : { + if (!((HEAP32[(HEAP32[($7_1 + 248 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$40 + } + HEAP32[($7_1 + 248 | 0) >> 2] = HEAP32[($7_1 + 244 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 104 | 0) >> 2] = (HEAP32[(HEAP32[($7_1 + 248 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[($7_1 + 108 | 0) >> 2] | 0) | 0; + $527_1 = ($409(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) | 0) + 13 | 0; + HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 52 | 0) >> 2] = $527_1; + } + } + global$0 = $7_1 + 256 | 0; + return; + } + + function $1195($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $10_1 = 0, $18_1 = 0, $79_1 = 0, $108_1 = 0, $119_1 = 0, $142_1 = 0, $205_1 = 0, $186_1 = 0, $193_1 = 0, $195_1 = 0, $197_1 = 0, $30_1 = 0, $96_1 = 0, $157_1 = 0, $184_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + $10_1 = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + if (!(($10_1 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $18_1 = 16; + label$3 : { + if (!(((((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $18_1 | 0) >> $18_1 | 0) + 1 | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $30_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0; + $349($30_1 | 0, 14253 | 0, $5_1 | 0); + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $64(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$5 + } + $1223(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0; + } + $3288(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) >> 0] = 0; + $1305(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + $79_1 = 16; + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $79_1 | 0) >> $79_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if ($87(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0) | 0) { + break label$8 + } + $96_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $349($96_1 | 0, 30186 | 0, $5_1 + 16 | 0 | 0); + $13(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + $108_1 = 16; + label$9 : { + if ((((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $108_1 | 0) >> $108_1 | 0) & 7 | 0) { + break label$9 + } + $119_1 = 16; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $70(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, Math_imul((((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $119_1 | 0) >> $119_1 | 0) + 8 | 0, 20) | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + $13(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + $142_1 = 16; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $142_1 | 0) >> $142_1 | 0, 20) | 0; + i64toi32_i32$0 = 0; + $205_1 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $205_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $205_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $157_1 = $1306(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 15 | 0) >> 0] = $157_1; + label$11 : { + label$12 : { + if (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$12 + } + HEAP8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 13 | 0) >> 0] = 65; + HEAP8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 14 | 0) >> 0] = 1; + break label$11; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + ($68(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $3288(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) >> 0] = 0; + $1305(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0); + $184_1 = $1307(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 13 | 0) >> 0] = $184_1; + $186_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP16[($186_1 + 16 | 0) >> 1] = (HEAPU16[($186_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + } + $193_1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + $195_1 = 1; + HEAP16[($193_1 + 42 | 0) >> 1] = (HEAPU16[($193_1 + 42 | 0) >> 1] | 0) + $195_1 | 0; + $197_1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + HEAP16[($197_1 + 44 | 0) >> 1] = (HEAPU16[($197_1 + 44 | 0) >> 1] | 0) + $195_1 | 0; + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 76 | 0) >> 2] = 0; + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $1196($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, $67_1 = 0, i64toi32_i32$0 = 0, $113_1 = 0, $23_1 = 0, $39_1 = 0, $52_1 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $23_1 = 0; + label$2 : { + if (!((HEAPU8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + $23_1 = ((HEAPU8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 164 | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0); + } + HEAP32[($6_1 + 64 | 0) >> 2] = $23_1 & 1 | 0; + $39_1 = 16; + HEAP32[($6_1 + 72 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul((((HEAPU16[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $39_1 | 0) >> $39_1 | 0) - 1 | 0, 20) | 0; + label$3 : { + label$4 : { + if ($1308(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 64 | 0) >> 2] | 0) & 255 | 0 | 0) | 0) { + break label$4 + } + $52_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + $349($52_1 | 0, 30212 | 0, $6_1 | 0); + break label$3; + } + label$5 : { + label$6 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$6 + } + $349(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, 30257 | 0, 0 | 0); + break label$5; + } + $67_1 = $6_1 + 8 | 0; + $18(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = 0; + $113_1 = 0; + i64toi32_i32$1 = $67_1; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $67_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $67_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $67_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $67_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($6_1 + 8 | 0) >> 0] = 178; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1309(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = 4096; + $93_1 = $1310(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, $67_1 | 0, 1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] = $93_1; + $13(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + } + } + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$7 + } + $1311(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0); + } + $18(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0); + global$0 = $6_1 + 96 | 0; + return; + } + + function $1197($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $55_1 = 0, $18_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $365(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, 52 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $55_1 = 0; + i64toi32_i32$1 = $18_1; + HEAP32[i64toi32_i32$1 >> 2] = $55_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $55_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $18_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $55_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $18_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $55_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $18_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $55_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $18_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $55_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) & 255 | 0; + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 34 | 0) >> 1] = 65535; + $1237(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + $1312(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $18(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + $18(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + } + $51_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $51_1 | 0; + } + + function $1198($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $24_1 = 0, $22_1 = 0, i64toi32_i32$0 = 0, $79_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAP32[($2_1 + 4 | 0) >> 2] | 0) + 52 | 0) + 1 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $22_1 = 0; + $24_1 = 0; + HEAP8[(HEAP32[$5_1 >> 2] | 0) >> 0] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 1 | 0) >> 0] = $22_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = 8388608; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 34 | 0) >> 1] = 65535; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 2] = $24_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = $24_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 20 | 0) >> 2] = $24_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 40 | 0) >> 2] = $24_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 44 | 0) >> 2] = $24_1; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 2 | 0) >> 0] = $22_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 28 | 0) >> 2] = $24_1; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 32 | 0) >> 1] = 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[$5_1 >> 2] | 0) + 52 | 0; + $3288(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[$2_1 >> 2] | 0 | 0, HEAP32[($2_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[($2_1 + 4 | 0) >> 2] | 0) | 0) >> 0] = $22_1; + label$3 : { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$3 + } + $1313(HEAP32[$5_1 >> 2] | 0 | 0); + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] = 1; + label$4 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1223(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, $2_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + } + $79_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $79_1 | 0; + } + + function $1199($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, $15_1 = 0, $19_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 67108864 | 0) { + break label$2 + } + $10_1 = $1314(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $10_1; + if (!$10_1) { + break label$2 + } + HEAP8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] = 167; + $15_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($15_1 + 4 | 0) >> 2] = HEAP32[($15_1 + 4 | 0) >> 2] | 0 | (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $19_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $19_1 | 0; + } + + function $1200($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0, $17_1 = 0, $29_1 = 0, $39_1 = 0, $61_1 = 0, $66_1 = 0, $9_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + $17_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $17_1 | 0) >> $17_1 | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + $29_1 = 16; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul((((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $29_1 | 0) >> $29_1 | 0) - 1 | 0, 20) | 0; + HEAP8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 0] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $39_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($39_1 + 36 | 0) >> 2] = HEAP32[($39_1 + 36 | 0) >> 2] | 0 | 2048 | 0; + if (!(((HEAPU16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $61_1 = 16; + $66_1 = 16; + label$6 : { + if (!((((HEAPU16[(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 1] | 0) << $61_1 | 0) >> $61_1 | 0 | 0) == ((((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $66_1 | 0) >> $66_1 | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$6 + } + $8_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $9_1 = HEAPU8[($8_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($8_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 8 | 0; + HEAP8[($8_1 + 55 | 0) >> 0] = $9_1; + HEAP8[($8_1 + 56 | 0) >> 0] = $9_1 >>> 8 | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$5; + }; + } + } + return; + } + + function $1201($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $197_1 = 0, $8_1 = 0, $27_1 = 0, $40_1 = 0, $89_1 = 0, $179_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 32 | 0) >> 2] = -1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 4 | 0)) { + break label$3 + } + $22_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + $349($22_1 | 0, 30298 | 0, $7_1 | 0); + break label$1; + } + $27_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($27_1 + 36 | 0) >> 2] = HEAP32[($27_1 + 36 | 0) >> 2] | 0 | 4 | 0; + label$4 : { + label$5 : { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $40_1 = 16; + HEAP32[($7_1 + 32 | 0) >> 2] = (((HEAPU16[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $40_1 | 0) >> $40_1 | 0) - 1 | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 32 | 0) >> 2] | 0, 20) | 0; + $1315(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 24 | 0) >> 2] = 1; + break label$4; + } + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1316(HEAP32[(((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $1317(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + label$8 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (59 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + $89_1 = 16; + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $89_1 | 0) >> $89_1 | 0 | 0) & 1 | 0)) { + break label$9 + } + label$11 : { + if ($88(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 32 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0) | 0) { + break label$11 + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 32 | 0) >> 2] | 0, 20) | 0; + $1315(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + break label$9; + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + } + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + label$12 : { + label$13 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$13 + } + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + if ($88($503(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, 1352 | 0) | 0 | 0, 3600 | 0) | 0) { + break label$13 + } + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1316(HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $1318(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 40 | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + } + HEAP16[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 1] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP8[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 50 | 0) >> 0] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + $179_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($179_1 + 36 | 0) >> 2] = HEAP32[($179_1 + 36 | 0) >> 2] | 0 | ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) << 3 | 0) | 0; + label$15 : { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP8[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 202 | 0) >> 0] = HEAPU8[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0; + } + $1319(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0; + break label$12; + } + label$16 : { + label$17 : { + if (!(HEAP32[($7_1 + 48 | 0) >> 2] | 0)) { + break label$17 + } + $349(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, 30339 | 0, 0 | 0); + break label$16; + } + $197_1 = 0; + $1202(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, $197_1 | 0, $197_1 | 0, $197_1 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, $197_1 | 0, $197_1 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $197_1 | 0, 2 & 255 | 0 | 0); + HEAP32[($7_1 + 56 | 0) >> 2] = $197_1; + } + } + } + $382(HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 64 | 0; + return; + } + + function $1202($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1, $9_1, $10_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + $9_1 = $9_1 | 0; + $10_1 = $10_1 | 0; + var $13_1 = 0, $14_1 = 0, $66_1 = 0, $67_1 = 0, $68_1 = 0, $69_1 = 0, $70_1 = 0, $71_1 = 0, $72_1 = 0, $73_1 = 0, $391_1 = 0, $115_1 = 0, $122_1 = 0, $271_1 = 0, $338_1 = 0, $369_1 = 0, $395_1 = 0, $400_1 = 0, $408_1 = 0, $484_1 = 0, $501_1 = 0, $520_1 = 0, $536_1 = 0, $74_1 = 0, $75_1 = 0, $565_1 = 0, $76_1 = 0, $672_1 = 0, $683_1 = 0, $77_1 = 0, $78_1 = 0, $840_1 = 0, $851_1 = 0, $928_1 = 0, $79_1 = 0, $944_1 = 0, $955_1 = 0, $966_1 = 0, $970_1 = 0, $80_1 = 0, $1033_1 = 0, $1043_1 = 0, $81_1 = 0, $1221_1 = 0, $1237_1 = 0, $1240_1 = 0, $1284_1 = 0, $1411_1 = 0, $1430_1 = 0, $1436_1 = 0, $155_1 = 0, $200_1 = 0, $280_1 = 0, $297_1 = 0, $319_1 = 0, $321_1 = 0, $465_1 = 0, $1114_1 = 0, $1203_1 = 0, $1257_1 = 0, $1297_1 = 0, $1299_1 = 0, $1300_1 = 0, $1308_1 = 0, $1315_1 = 0, $1317_1 = 0, $1319_1 = 0, $1320_1 = 0, $1341_1 = 0, $1342_1 = 0, $1343_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $13_1 = global$0 - 400 | 0; + global$0 = $13_1; + $14_1 = 0; + HEAP32[($13_1 + 396 | 0) >> 2] = $0_1; + HEAP32[($13_1 + 392 | 0) >> 2] = $1_1; + HEAP32[($13_1 + 388 | 0) >> 2] = $2_1; + HEAP32[($13_1 + 384 | 0) >> 2] = $3_1; + HEAP32[($13_1 + 380 | 0) >> 2] = $4_1; + HEAP32[($13_1 + 376 | 0) >> 2] = $5_1; + HEAP32[($13_1 + 372 | 0) >> 2] = $6_1; + HEAP32[($13_1 + 368 | 0) >> 2] = $7_1; + HEAP32[($13_1 + 364 | 0) >> 2] = $8_1; + HEAP32[($13_1 + 360 | 0) >> 2] = $9_1; + HEAP8[($13_1 + 359 | 0) >> 0] = $10_1; + HEAP32[($13_1 + 352 | 0) >> 2] = $14_1; + HEAP32[($13_1 + 348 | 0) >> 2] = $14_1; + HEAP32[($13_1 + 344 | 0) >> 2] = $14_1; + HEAP32[($13_1 + 296 | 0) >> 2] = HEAP32[(HEAP32[($13_1 + 396 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($13_1 + 284 | 0) >> 2] = $14_1; + HEAP32[($13_1 + 276 | 0) >> 2] = $14_1; + HEAP32[($13_1 + 268 | 0) >> 2] = $14_1; + HEAP32[($13_1 + 264 | 0) >> 2] = $14_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAPU8[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + if (!(((HEAPU8[($13_1 + 359 | 0) >> 0] | 0) & 255 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + label$5 : { + if (!((0 | 0) != ($360(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + label$6 : { + if (!($1319(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 380 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + break label$1; + } + label$7 : { + label$8 : { + if (!((HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1284(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 392 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 388 | 0) >> 2] | 0 | 0, $13_1 + 284 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 288 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($13_1 + 288 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$9 + } + break label$1; + } + label$10 : { + if (((HEAPU8[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$10 + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1320(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 352 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (HEAP32[((HEAP32[($13_1 + 388 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$11 + } + if (!((HEAP32[($13_1 + 352 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($13_1 + 288 | 0) >> 2] = 1; + } + } + $115_1 = $13_1 + 304 | 0; + $1321($115_1 | 0, HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 288 | 0) >> 2] | 0 | 0, 30486 | 0, HEAP32[($13_1 + 284 | 0) >> 2] | 0 | 0); + label$12 : { + if (!($1322($115_1 | 0, HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + } + $122_1 = 0; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1323(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, $122_1 | 0, (HEAP32[($13_1 + 384 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 352 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!((HEAP32[($13_1 + 352 | 0) >> 2] | 0 | 0) == ($122_1 | 0) & 1 | 0)) { + break label$13 + } + break label$1; + } + label$14 : { + if (!((HEAP32[($13_1 + 288 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[(((HEAP32[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 288 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $155_1 = HEAP32[($13_1 + 396 | 0) >> 2] | 0; + HEAP32[$13_1 >> 2] = HEAP32[(HEAP32[($13_1 + 352 | 0) >> 2] | 0) >> 2] | 0; + $349($155_1 | 0, 30492 | 0, $13_1 | 0); + break label$1; + } + label$15 : { + if (!((HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $416(HEAP32[($13_1 + 352 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 264 | 0) >> 2] = wasm2js_i32$1; + } + break label$7; + } + HEAP32[($13_1 + 352 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + label$16 : { + if ((HEAP32[($13_1 + 352 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$16 + } + break label$1; + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $350(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 288 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($13_1 + 292 | 0) >> 2] = (HEAP32[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 288 | 0) >> 2] | 0) << 4 | 0) | 0; + label$17 : { + if ($89(HEAP32[(HEAP32[($13_1 + 352 | 0) >> 2] | 0) >> 2] | 0 | 0, 27544 | 0, 7 | 0) | 0) { + break label$17 + } + if ((HEAPU8[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0) { + break label$17 + } + if (!((HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + $200_1 = HEAP32[($13_1 + 396 | 0) >> 2] | 0; + HEAP32[($13_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($13_1 + 352 | 0) >> 2] | 0) >> 2] | 0; + $349($200_1 | 0, 30542 | 0, $13_1 + 16 | 0 | 0); + break label$1; + } + label$18 : { + if (!((HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + $349(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, 30570 | 0, 0 | 0); + break label$1; + } + label$19 : { + if (!(HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$19 + } + $349(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, 30595 | 0, 0 | 0); + break label$1; + } + label$20 : { + label$21 : { + if (!((HEAP32[($13_1 + 284 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1224(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 284 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 344 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!((HEAP32[($13_1 + 344 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$22 + } + break label$1; + } + label$23 : { + if (!((0 | 0) != ($1285(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 344 | 0) >> 2] | 0 | 0, 30486 | 0, HEAP32[(HEAP32[($13_1 + 352 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$23 + } + break label$1; + } + label$24 : { + if (((HEAPU8[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$24 + } + label$25 : { + if (((HEAPU8[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$25 + } + $271_1 = 0; + label$26 : { + if (!(($361(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 344 | 0) >> 2] | 0 | 0, $271_1 | 0) | 0 | 0) != ($271_1 | 0) & 1 | 0)) { + break label$26 + } + $280_1 = HEAP32[($13_1 + 396 | 0) >> 2] | 0; + HEAP32[($13_1 + 128 | 0) >> 2] = HEAP32[($13_1 + 344 | 0) >> 2] | 0; + $349($280_1 | 0, 30629 | 0, $13_1 + 128 | 0 | 0); + break label$1; + } + } + label$27 : { + if (!(($1025(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 344 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($13_1 + 292 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$27 + } + label$28 : { + label$29 : { + if (HEAP32[($13_1 + 360 | 0) >> 2] | 0) { + break label$29 + } + $297_1 = HEAP32[($13_1 + 396 | 0) >> 2] | 0; + HEAP32[($13_1 + 112 | 0) >> 2] = HEAP32[($13_1 + 344 | 0) >> 2] | 0; + $349($297_1 | 0, 30663 | 0, $13_1 + 112 | 0 | 0); + break label$28; + } + $1286(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 288 | 0) >> 2] | 0 | 0); + } + break label$1; + } + } + break label$20; + } + HEAP32[($13_1 + 256 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($13_1 + 260 | 0) >> 2] = 1; + label$30 : { + label$31 : while (1) { + if (!((HEAP32[($13_1 + 256 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($13_1 + 256 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 256 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($13_1 + 260 | 0) >> 2] = (HEAP32[($13_1 + 260 | 0) >> 2] | 0) + 1 | 0; + continue label$31; + }; + } + $319_1 = HEAP32[($13_1 + 296 | 0) >> 2] | 0; + $321_1 = HEAP32[(HEAP32[($13_1 + 352 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($13_1 + 148 | 0) >> 2] = HEAP32[($13_1 + 260 | 0) >> 2] | 0; + HEAP32[($13_1 + 144 | 0) >> 2] = $321_1; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $351($319_1 | 0, 30687 | 0, $13_1 + 144 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 344 | 0) >> 2] = wasm2js_i32$1; + label$32 : { + if (!((HEAP32[($13_1 + 344 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$32 + } + break label$1; + } + label$33 : { + if (!((HEAPU8[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0)) { + break label$33 + } + $338_1 = HEAP32[($13_1 + 344 | 0) >> 2] | 0; + HEAP8[($338_1 + 7 | 0) >> 0] = (HEAPU8[($338_1 + 7 | 0) >> 0] | 0) + 1 | 0; + } + } + label$34 : { + if (((HEAPU8[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$34 + } + HEAP32[($13_1 + 252 | 0) >> 2] = HEAP32[(HEAP32[($13_1 + 292 | 0) >> 2] | 0) >> 2] | 0; + label$35 : { + if (!($1283(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, 18 | 0, ((HEAP32[($13_1 + 288 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 8404 : 8004) | 0, 0 | 0, HEAP32[($13_1 + 252 | 0) >> 2] | 0 | 0) | 0)) { + break label$35 + } + break label$1; + } + $369_1 = 1; + HEAP32[($13_1 + 336 | 0) >> 2] = $369_1; + label$36 : { + if (!((HEAP32[($13_1 + 288 | 0) >> 2] | 0 | 0) == ($369_1 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[($13_1 + 336 | 0) >> 2] = 3; + } + label$37 : { + if (!($1283(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 336 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 344 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($13_1 + 352 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 252 | 0) >> 2] | 0 | 0) | 0)) { + break label$37 + } + break label$1; + } + } + label$38 : { + label$39 : { + if (!((HEAP32[($13_1 + 380 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$39 + } + $391_1 = 0; + $395_1 = $13_1 + 240 | 0; + $400_1 = 16; + HEAP32[($13_1 + 236 | 0) >> 2] = (HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul((((HEAPU16[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $400_1 | 0) >> $400_1 | 0) - 1 | 0, 20) | 0; + $408_1 = HEAP32[($13_1 + 236 | 0) >> 2] | 0; + HEAP16[($408_1 + 16 | 0) >> 1] = (HEAPU16[($408_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + $1324($395_1 | 0, HEAP32[(HEAP32[($13_1 + 236 | 0) >> 2] | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1214(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, $391_1 | 0, $1218(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, 59 | 0, $395_1 | 0, $391_1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 380 | 0) >> 2] = wasm2js_i32$1; + label$40 : { + if (!((HEAP32[($13_1 + 380 | 0) >> 2] | 0 | 0) == ($391_1 | 0) & 1 | 0)) { + break label$40 + } + break label$1; + } + $1226(HEAP32[($13_1 + 380 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 364 | 0) >> 2] | 0 | 0, -1 | 0); + break label$38; + } + $1228(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 380 | 0) >> 2] | 0 | 0, 30486 | 0); + label$41 : { + if (!(HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$41 + } + break label$1; + } + } + HEAP32[($13_1 + 336 | 0) >> 2] = 0; + label$42 : { + label$43 : while (1) { + if (!((HEAP32[($13_1 + 336 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($13_1 + 380 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$42 + } + HEAP32[($13_1 + 232 | 0) >> 2] = HEAP32[(((HEAP32[($13_1 + 380 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($13_1 + 336 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$44 : { + if (!(((HEAPU8[(HEAP32[($13_1 + 232 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$44 + } + $465_1 = ($68(HEAP32[((HEAP32[($13_1 + 232 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($13_1 + 276 | 0) >> 2] = (HEAP32[($13_1 + 276 | 0) >> 2] | 0) + $465_1 | 0; + } + HEAP32[($13_1 + 336 | 0) >> 2] = (HEAP32[($13_1 + 336 | 0) >> 2] | 0) + 1 | 0; + continue label$43; + }; + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $68(HEAP32[($13_1 + 344 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 340 | 0) >> 2] = wasm2js_i32$1; + label$45 : { + label$46 : { + if (!((HEAP32[($13_1 + 264 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$46 + } + $484_1 = (HEAPU16[((HEAP32[($13_1 + 264 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + break label$45; + } + $484_1 = 1; + } + HEAP32[($13_1 + 272 | 0) >> 2] = $484_1; + $501_1 = 16; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1325(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, (((HEAP32[(HEAP32[($13_1 + 380 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($13_1 + 272 | 0) >> 2] | 0) | 0) << $501_1 | 0) >> $501_1 | 0 | 0, ((HEAP32[($13_1 + 340 | 0) >> 2] | 0) + (HEAP32[($13_1 + 276 | 0) >> 2] | 0) | 0) + 1 | 0 | 0, $13_1 + 268 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 348 | 0) >> 2] = wasm2js_i32$1; + label$47 : { + if (!(((HEAPU8[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$47 + } + break label$1; + } + HEAP32[(HEAP32[($13_1 + 348 | 0) >> 2] | 0) >> 2] = HEAP32[($13_1 + 268 | 0) >> 2] | 0; + $520_1 = 1; + HEAP32[($13_1 + 268 | 0) >> 2] = ((HEAP32[($13_1 + 340 | 0) >> 2] | 0) + (HEAP32[($13_1 + 268 | 0) >> 2] | 0) | 0) + $520_1 | 0; + $3288(HEAP32[(HEAP32[($13_1 + 348 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 344 | 0) >> 2] | 0 | 0, (HEAP32[($13_1 + 340 | 0) >> 2] | 0) + $520_1 | 0 | 0) | 0; + HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($13_1 + 352 | 0) >> 2] | 0; + HEAP8[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 54 | 0) >> 0] = HEAP32[($13_1 + 376 | 0) >> 2] | 0; + $66_1 = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + $536_1 = 3; + $74_1 = (HEAPU8[($66_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($66_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 65527 | 0 | (((HEAP32[($13_1 + 376 | 0) >> 2] | 0 | 0) != (0 | 0)) << $536_1 | 0) | 0; + HEAP8[($66_1 + 55 | 0) >> 0] = $74_1; + HEAP8[($66_1 + 56 | 0) >> 0] = $74_1 >>> 8 | 0; + $67_1 = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + $75_1 = (HEAPU8[($67_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($67_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & -4 | 0 | ((HEAPU8[($13_1 + 359 | 0) >> 0] | 0) & $536_1 | 0) | 0; + HEAP8[($67_1 + 55 | 0) >> 0] = $75_1; + HEAP8[($67_1 + 56 | 0) >> 0] = $75_1 >>> 8 | 0; + HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 288 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP16[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 50 | 0) >> 1] = HEAP32[(HEAP32[($13_1 + 380 | 0) >> 2] | 0) >> 2] | 0; + label$48 : { + if (!((HEAP32[($13_1 + 368 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$48 + } + $565_1 = 0; + $1292(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 352 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($13_1 + 368 | 0) >> 2] | 0 | 0, $565_1 | 0) | 0; + HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($13_1 + 368 | 0) >> 2] | 0; + HEAP32[($13_1 + 368 | 0) >> 2] = $565_1; + } + label$49 : { + label$50 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($13_1 + 292 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 76 | 0) >> 0] | 0) & 255 | 0 | 0) >= (4 | 0) & 1 | 0)) { + break label$50 + } + HEAP32[($13_1 + 300 | 0) >> 2] = -1; + break label$49; + } + HEAP32[($13_1 + 300 | 0) >> 2] = 0; + } + HEAP32[($13_1 + 280 | 0) >> 2] = (HEAP32[($13_1 + 380 | 0) >> 2] | 0) + 4 | 0; + label$51 : { + if (!(((HEAPU8[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$51 + } + HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($13_1 + 380 | 0) >> 2] | 0; + HEAP32[($13_1 + 380 | 0) >> 2] = 0; + } + HEAP32[($13_1 + 336 | 0) >> 2] = 0; + label$52 : { + label$53 : while (1) { + if (!((HEAP32[($13_1 + 336 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$52 + } + $1317(HEAP32[(HEAP32[($13_1 + 280 | 0) >> 2] | 0) >> 2] | 0 | 0); + $1292(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 352 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[(HEAP32[($13_1 + 280 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0) | 0; + label$54 : { + if (!(HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$54 + } + break label$1; + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1316(HEAP32[(HEAP32[($13_1 + 280 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_i32$1; + label$55 : { + label$56 : { + if (!(((HEAPU8[(HEAP32[($13_1 + 228 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$56 + } + label$57 : { + if (!((HEAP32[($13_1 + 352 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$57 + } + $349(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, 30710 | 0, 0 | 0); + break label$1; + } + label$58 : { + if (!((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$58 + } + HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($13_1 + 380 | 0) >> 2] | 0; + HEAP32[($13_1 + 380 | 0) >> 2] = 0; + } + HEAP32[($13_1 + 332 | 0) >> 2] = -2; + HEAP16[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 336 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = 65534; + $68_1 = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + $76_1 = (HEAPU8[($68_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($68_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & -9 | 0; + HEAP8[($68_1 + 55 | 0) >> 0] = $76_1; + HEAP8[($68_1 + 56 | 0) >> 0] = $76_1 >>> 8 | 0; + break label$55; + } + $672_1 = 16; + HEAP32[($13_1 + 332 | 0) >> 2] = ((HEAPU16[((HEAP32[($13_1 + 228 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $672_1 | 0) >> $672_1 | 0; + label$59 : { + label$60 : { + if (!((HEAP32[($13_1 + 332 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$60 + } + $683_1 = 16; + HEAP32[($13_1 + 332 | 0) >> 2] = ((HEAPU16[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $683_1 | 0) >> $683_1 | 0; + break label$59; + } + label$61 : { + if ((HEAPU8[(((HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($13_1 + 332 | 0) >> 2] | 0, 20) | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$61 + } + $69_1 = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + $77_1 = (HEAPU8[($69_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($69_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & -9 | 0; + HEAP8[($69_1 + 55 | 0) >> 0] = $77_1; + HEAP8[($69_1 + 56 | 0) >> 0] = $77_1 >>> 8 | 0; + } + label$62 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($13_1 + 332 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$62 + } + $70_1 = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + $78_1 = HEAPU8[($70_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($70_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 1024 | 0; + HEAP8[($70_1 + 55 | 0) >> 0] = $78_1; + HEAP8[($70_1 + 56 | 0) >> 0] = $78_1 >>> 8 | 0; + } + } + HEAP16[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 336 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[($13_1 + 332 | 0) >> 2] | 0; + } + HEAP32[($13_1 + 220 | 0) >> 2] = 0; + label$63 : { + label$64 : { + if (!(((HEAPU8[(HEAP32[(HEAP32[($13_1 + 280 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$64 + } + HEAP32[($13_1 + 220 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($13_1 + 280 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = ($68(HEAP32[($13_1 + 220 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 216 | 0) >> 2] = wasm2js_i32$1; + $3288(HEAP32[($13_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 220 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 216 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($13_1 + 220 | 0) >> 2] = HEAP32[($13_1 + 268 | 0) >> 2] | 0; + HEAP32[($13_1 + 268 | 0) >> 2] = (HEAP32[($13_1 + 268 | 0) >> 2] | 0) + (HEAP32[($13_1 + 216 | 0) >> 2] | 0) | 0; + HEAP32[($13_1 + 276 | 0) >> 2] = (HEAP32[($13_1 + 276 | 0) >> 2] | 0) - (HEAP32[($13_1 + 216 | 0) >> 2] | 0) | 0; + break label$63; + } + label$65 : { + if (!((HEAP32[($13_1 + 332 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$65 + } + HEAP32[($13_1 + 220 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($13_1 + 332 | 0) >> 2] | 0, 20) | 0) + 8 | 0) >> 2] | 0; + } + } + label$66 : { + if ((HEAP32[($13_1 + 220 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$66 + } + HEAP32[($13_1 + 220 | 0) >> 2] = 2261; + } + label$67 : { + if (((HEAPU8[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$67 + } + if (($1326(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 220 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0) { + break label$67 + } + break label$1; + } + HEAP32[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 336 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($13_1 + 220 | 0) >> 2] | 0; + HEAP32[($13_1 + 224 | 0) >> 2] = ((HEAPU8[((HEAP32[($13_1 + 280 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) & (HEAP32[($13_1 + 300 | 0) >> 2] | 0) | 0; + HEAP8[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($13_1 + 336 | 0) >> 2] | 0) | 0) >> 0] = HEAP32[($13_1 + 224 | 0) >> 2] | 0; + HEAP32[($13_1 + 336 | 0) >> 2] = (HEAP32[($13_1 + 336 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($13_1 + 280 | 0) >> 2] = (HEAP32[($13_1 + 280 | 0) >> 2] | 0) + 16 | 0; + continue label$53; + }; + } + label$68 : { + label$69 : { + if (!((HEAP32[($13_1 + 264 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$69 + } + HEAP32[($13_1 + 332 | 0) >> 2] = 0; + label$70 : { + label$71 : while (1) { + if (!((HEAP32[($13_1 + 332 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($13_1 + 264 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$70 + } + $840_1 = 16; + HEAP32[($13_1 + 212 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($13_1 + 264 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 332 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $840_1 | 0) >> $840_1 | 0; + label$72 : { + label$73 : { + if (!($1327(HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($13_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 332 | 0) >> 2] | 0 | 0) | 0)) { + break label$73 + } + $851_1 = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + HEAP16[($851_1 + 52 | 0) >> 1] = (HEAPU16[($851_1 + 52 | 0) >> 1] | 0) + -1 | 0; + break label$72; + } + HEAP16[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 336 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[($13_1 + 212 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 336 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($13_1 + 264 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 332 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP8[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($13_1 + 336 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($13_1 + 264 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($13_1 + 332 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP32[($13_1 + 336 | 0) >> 2] = (HEAP32[($13_1 + 336 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($13_1 + 332 | 0) >> 2] = (HEAP32[($13_1 + 332 | 0) >> 2] | 0) + 1 | 0; + continue label$71; + }; + } + break label$68; + } + HEAP16[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 336 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = 65535; + HEAP32[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 336 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 2261; + } + $1028(HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0); + label$74 : { + if (!((HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$74 + } + $1294(HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0); + } + $1328(HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0); + label$75 : { + if (!((HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$75 + } + $928_1 = 16; + if (!(((HEAPU16[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) >= (((HEAPU16[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $928_1 | 0) >> $928_1 | 0 | 0) & 1 | 0)) { + break label$75 + } + $71_1 = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + $79_1 = HEAPU8[($71_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($71_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 32 | 0; + HEAP8[($71_1 + 55 | 0) >> 0] = $79_1; + HEAP8[($71_1 + 56 | 0) >> 0] = $79_1 >>> 8 | 0; + HEAP32[($13_1 + 332 | 0) >> 2] = 0; + label$76 : { + label$77 : while (1) { + $944_1 = 16; + if (!((HEAP32[($13_1 + 332 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $944_1 | 0) >> $944_1 | 0 | 0) & 1 | 0)) { + break label$76 + } + $955_1 = 16; + label$78 : { + label$79 : { + if (!((HEAP32[($13_1 + 332 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $955_1 | 0) >> $955_1 | 0 | 0) & 1 | 0)) { + break label$79 + } + break label$78; + } + $966_1 = 16; + $970_1 = 16; + label$80 : { + if (!(((($1329(HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0, ((HEAP32[($13_1 + 332 | 0) >> 2] | 0) << $966_1 | 0) >> $966_1 | 0 | 0) | 0) << $970_1 | 0) >> $970_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$80 + } + break label$78; + } + $72_1 = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + $80_1 = (HEAPU8[($72_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($72_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & -33 | 0; + HEAP8[($72_1 + 55 | 0) >> 0] = $80_1; + HEAP8[($72_1 + 56 | 0) >> 0] = $80_1 >>> 8 | 0; + break label$76; + } + HEAP32[($13_1 + 332 | 0) >> 2] = (HEAP32[($13_1 + 332 | 0) >> 2] | 0) + 1 | 0; + continue label$77; + }; + } + } + label$81 : { + if (!((HEAP32[($13_1 + 352 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$81 + } + HEAP32[($13_1 + 208 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$82 : { + label$83 : while (1) { + if (!((HEAP32[($13_1 + 208 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$82 + } + label$84 : { + label$85 : { + if (!(((HEAPU16[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) != ((HEAPU16[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$85 + } + break label$84; + } + HEAP32[($13_1 + 204 | 0) >> 2] = 0; + label$86 : { + label$87 : while (1) { + if (!((HEAP32[($13_1 + 204 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$86 + } + $1033_1 = 16; + $1043_1 = 16; + label$88 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 204 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $1033_1 | 0) >> $1033_1 | 0 | 0) != (((HEAPU16[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 204 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $1043_1 | 0) >> $1043_1 | 0 | 0) & 1 | 0)) { + break label$88 + } + break label$86; + } + HEAP32[($13_1 + 200 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 204 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($13_1 + 196 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 204 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$89 : { + if (!($88(HEAP32[($13_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 196 | 0) >> 2] | 0 | 0) | 0)) { + break label$89 + } + break label$86; + } + HEAP32[($13_1 + 204 | 0) >> 2] = (HEAP32[($13_1 + 204 | 0) >> 2] | 0) + 1 | 0; + continue label$87; + }; + } + label$90 : { + if (!((HEAP32[($13_1 + 204 | 0) >> 2] | 0 | 0) == ((HEAPU16[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$90 + } + label$91 : { + if (!(((HEAPU8[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$91 + } + label$92 : { + if (((HEAPU8[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) == (11 | 0) & 1 | 0) { + break label$92 + } + if (((HEAPU8[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) == (11 | 0) & 1 | 0) { + break label$92 + } + $1114_1 = HEAP32[($13_1 + 396 | 0) >> 2] | 0; + HEAP32[($13_1 + 32 | 0) >> 2] = 0; + $349($1114_1 | 0, 30771 | 0, $13_1 + 32 | 0 | 0); + } + label$93 : { + if (!(((HEAPU8[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$93 + } + HEAP8[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 54 | 0) >> 0] = HEAPU8[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0; + } + } + label$94 : { + if (!(((HEAPU8[($13_1 + 359 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$94 + } + $73_1 = HEAP32[($13_1 + 208 | 0) >> 2] | 0; + $81_1 = (HEAPU8[($73_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($73_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & -4 | 0 | ((HEAPU8[($13_1 + 359 | 0) >> 0] | 0) & 3 | 0) | 0; + HEAP8[($73_1 + 55 | 0) >> 0] = $81_1; + HEAP8[($73_1 + 56 | 0) >> 0] = $81_1 >>> 8 | 0; + } + label$95 : { + if (!(((HEAPU8[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$95 + } + HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 236 | 0) >> 2] | 0; + HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 236 | 0) >> 2] = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + HEAP32[($13_1 + 348 | 0) >> 2] = 0; + } + break label$1; + } + } + HEAP32[($13_1 + 208 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 208 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$83; + }; + } + } + label$96 : { + if (((HEAPU8[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$96 + } + label$97 : { + label$98 : { + if (!(((HEAPU8[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$98 + } + label$99 : { + if (!((HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$99 + } + HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 160 | 0) >> 2] | 0; + label$100 : { + if (!($1026(HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0) | 0)) { + break label$100 + } + $349(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, 8631 | 0, 0 | 0); + $1203_1 = $694(114811 | 0) | 0; + HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 12 | 0) >> 2] = $1203_1; + break label$1; + } + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $474((HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[(HEAP32[($13_1 + 348 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_i32$1; + label$101 : { + if (!((HEAP32[($13_1 + 192 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$101 + } + $118(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0); + break label$1; + } + $1221_1 = HEAP32[($13_1 + 296 | 0) >> 2] | 0; + HEAP32[($1221_1 + 24 | 0) >> 2] = HEAP32[($1221_1 + 24 | 0) >> 2] | 0 | 1 | 0; + break label$97; + } + label$102 : { + label$103 : { + if (!((HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$103 + } + if (!((HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$102 + } + } + $1237_1 = HEAP32[($13_1 + 396 | 0) >> 2] | 0; + $1240_1 = (HEAP32[($1237_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1237_1 + 44 | 0) >> 2] = $1240_1; + HEAP32[($13_1 + 180 | 0) >> 2] = $1240_1; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1275(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + label$104 : { + if (!((HEAP32[($13_1 + 188 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$104 + } + break label$1; + } + $1287(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($13_1 + 288 | 0) >> 2] | 0 | 0); + $1257_1 = $1276(HEAP32[($13_1 + 188 | 0) >> 2] | 0 | 0, 174 | 0) | 0; + HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 44 | 0) >> 2] = $1257_1; + $367(HEAP32[($13_1 + 188 | 0) >> 2] | 0 | 0, 140 | 0, HEAP32[($13_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 180 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + label$105 : { + label$106 : { + if (!((HEAP32[($13_1 + 372 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$106 + } + HEAP32[($13_1 + 176 | 0) >> 2] = ((HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 192 | 0) >> 2] | 0) - (HEAP32[(HEAP32[($13_1 + 284 | 0) >> 2] | 0) >> 2] | 0) | 0) + (HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 196 | 0) >> 2] | 0) | 0; + $1284_1 = 24; + label$107 : { + if (!((((HEAPU8[((HEAP32[(HEAP32[($13_1 + 284 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($13_1 + 176 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $1284_1 | 0) >> $1284_1 | 0 | 0) == (59 | 0) & 1 | 0)) { + break label$107 + } + HEAP32[($13_1 + 176 | 0) >> 2] = (HEAP32[($13_1 + 176 | 0) >> 2] | 0) + -1 | 0; + } + $1297_1 = HEAP32[($13_1 + 296 | 0) >> 2] | 0; + $1299_1 = HEAP32[($13_1 + 376 | 0) >> 2] | 0 ? 30833 : 1352; + $1300_1 = HEAP32[($13_1 + 176 | 0) >> 2] | 0; + HEAP32[($13_1 + 104 | 0) >> 2] = HEAP32[(HEAP32[($13_1 + 284 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($13_1 + 100 | 0) >> 2] = $1300_1; + HEAP32[($13_1 + 96 | 0) >> 2] = $1299_1; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $351($1297_1 | 0, 30813 | 0, $13_1 + 96 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + break label$105; + } + HEAP32[($13_1 + 184 | 0) >> 2] = 0; + } + $1308_1 = HEAP32[($13_1 + 396 | 0) >> 2] | 0; + $1315_1 = HEAP32[((HEAP32[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($13_1 + 288 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $1317_1 = HEAP32[(HEAP32[($13_1 + 348 | 0) >> 2] | 0) >> 2] | 0; + $1319_1 = HEAP32[(HEAP32[($13_1 + 352 | 0) >> 2] | 0) >> 2] | 0; + $1320_1 = HEAP32[($13_1 + 180 | 0) >> 2] | 0; + HEAP32[($13_1 + 80 | 0) >> 2] = HEAP32[($13_1 + 184 | 0) >> 2] | 0; + HEAP32[($13_1 + 76 | 0) >> 2] = $1320_1; + HEAP32[($13_1 + 72 | 0) >> 2] = $1319_1; + HEAP32[($13_1 + 68 | 0) >> 2] = $1317_1; + HEAP32[($13_1 + 64 | 0) >> 2] = $1315_1; + $1302($1308_1 | 0, 30841 | 0, $13_1 + 64 | 0 | 0); + $13(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 184 | 0) >> 2] | 0 | 0); + label$108 : { + if (!((HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$108 + } + $1330(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 180 | 0) >> 2] | 0 | 0); + $1303(HEAP32[($13_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 288 | 0) >> 2] | 0 | 0); + $1341_1 = HEAP32[($13_1 + 188 | 0) >> 2] | 0; + $1342_1 = HEAP32[($13_1 + 288 | 0) >> 2] | 0; + $1343_1 = HEAP32[($13_1 + 296 | 0) >> 2] | 0; + HEAP32[($13_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($13_1 + 348 | 0) >> 2] | 0) >> 2] | 0; + $1304($1341_1 | 0, $1342_1 | 0, $351($1343_1 | 0, 30900 | 0, $13_1 + 48 | 0 | 0) | 0 | 0); + $366(HEAP32[($13_1 + 188 | 0) >> 2] | 0 | 0, 159 | 0, 0 | 0, 1 | 0) | 0; + } + $1277(HEAP32[($13_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + } + } + } + label$109 : { + label$110 : { + label$111 : { + if ((HEAPU8[((HEAP32[($13_1 + 296 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0) { + break label$111 + } + if (!((HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$110 + } + } + HEAP32[((HEAP32[($13_1 + 348 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + HEAP32[($13_1 + 348 | 0) >> 2] = 0; + break label$109; + } + label$112 : { + if (!(((HEAPU8[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$112 + } + HEAP32[((HEAP32[($13_1 + 396 | 0) >> 2] | 0) + 236 | 0) >> 2] = HEAP32[($13_1 + 348 | 0) >> 2] | 0; + HEAP32[($13_1 + 348 | 0) >> 2] = 0; + } + } + } + label$113 : { + if (!((HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$113 + } + $1029(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 348 | 0) >> 2] | 0 | 0); + } + label$114 : { + if (!((HEAP32[($13_1 + 352 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$114 + } + HEAP32[($13_1 + 172 | 0) >> 2] = (HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($13_1 + 172 | 0) >> 2] = (HEAP32[($13_1 + 352 | 0) >> 2] | 0) + 8 | 0; + label$115 : { + label$116 : while (1) { + $1411_1 = HEAP32[(HEAP32[($13_1 + 172 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($13_1 + 168 | 0) >> 2] = $1411_1; + if (!(($1411_1 | 0) != (0 | 0) & 1 | 0)) { + break label$115 + } + label$117 : { + label$118 : { + if (!(((HEAPU8[((HEAP32[($13_1 + 168 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$118 + } + break label$117; + } + label$119 : while (1) { + $1430_1 = HEAP32[((HEAP32[($13_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($13_1 + 164 | 0) >> 2] = $1430_1; + $1436_1 = 0; + label$120 : { + if (!(($1430_1 | 0) != (0 | 0) & 1 | 0)) { + break label$120 + } + $1436_1 = ((HEAPU8[((HEAP32[($13_1 + 164 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) != (5 | 0); + } + label$121 : { + if (!($1436_1 & 1 | 0)) { + break label$121 + } + HEAP32[(HEAP32[($13_1 + 172 | 0) >> 2] | 0) >> 2] = HEAP32[($13_1 + 164 | 0) >> 2] | 0; + HEAP32[((HEAP32[($13_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 164 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($13_1 + 164 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($13_1 + 168 | 0) >> 2] | 0; + HEAP32[($13_1 + 172 | 0) >> 2] = (HEAP32[($13_1 + 164 | 0) >> 2] | 0) + 20 | 0; + continue label$119; + } + break label$119; + }; + break label$115; + } + HEAP32[($13_1 + 172 | 0) >> 2] = (HEAP32[($13_1 + 168 | 0) >> 2] | 0) + 20 | 0; + continue label$116; + }; + } + } + $18(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 368 | 0) >> 2] | 0 | 0); + $382(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 380 | 0) >> 2] | 0 | 0); + $1143(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 384 | 0) >> 2] | 0 | 0); + $13(HEAP32[($13_1 + 296 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 344 | 0) >> 2] | 0 | 0); + global$0 = $13_1 + 400 | 0; + return; + } + + function $1203($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $43_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0) { + break label$2 + } + if ($533(HEAP32[(((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 164 | 0) >> 0] | 0) & 255 | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + $43_1 = $1214(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = $43_1; + label$3 : { + label$4 : { + if (!(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0)) { + break label$4 + } + $1215(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 72 | 0 | 0, 1 | 0); + break label$3; + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + label$5 : { + label$6 : while (1) { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$7 : { + label$8 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + -1 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + -1 | 0; + continue label$8; + }; + } + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[$6_1 >> 2] | 0) | 0; + $1215(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, $6_1 | 0, 1 | 0); + } + break label$1; + } + $18(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1204($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $39_1 = 0, i64toi32_i32$1 = 0, $207_1 = 0, $225_1 = 0, $263_1 = 0, $65_1 = 0, $72_1 = 0, $135_1 = 0, i64toi32_i32$0 = 0, $271_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 96 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $39_1 = 16; + HEAP32[($7_1 + 40 | 0) >> 2] = (((HEAPU16[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $39_1 | 0) >> $39_1 | 0) - 1 | 0; + label$6 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$6 + } + break label$1; + } + label$7 : { + if (!((HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[(HEAP32[($7_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$7 + } + $65_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + $72_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 40 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = $72_1; + $349($65_1 | 0, 31011 | 0, $7_1 | 0); + break label$1; + } + HEAP32[($7_1 + 48 | 0) >> 2] = 1; + break label$4; + } + label$8 : { + if (!((HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[(HEAP32[($7_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[(HEAP32[($7_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $349(HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0, 31074 | 0, 0 | 0); + break label$1; + } + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + } + HEAP32[($7_1 + 56 | 0) >> 2] = (((((HEAP32[($7_1 + 48 | 0) >> 2] | 0) - 1 | 0) << 3 | 0) + 44 | 0) + (HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + 1 | 0; + label$9 : { + if (!((HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($7_1 + 52 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($7_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $135_1 = ($68(HEAP32[((((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + $135_1 | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + } + i64toi32_i32$1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $308(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + break label$1; + } + HEAP32[(HEAP32[($7_1 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + label$13 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$13 + } + $1223(HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) | 0; + } + $3288(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) >> 0] = 0; + $1305(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$15 + } + $207_1 = 16; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] = (((HEAPU16[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $207_1 | 0) >> $207_1 | 0) - 1 | 0; + break label$14; + } + HEAP32[($7_1 + 52 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + $225_1 = 16; + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $225_1 | 0) >> $225_1 | 0 | 0) & 1 | 0)) { + break label$18 + } + label$20 : { + if ($88(HEAP32[((HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 36 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$20 + } + HEAP32[(((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + break label$18; + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + $263_1 = 16; + label$21 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) >= (((HEAPU16[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $263_1 | 0) >> $263_1 | 0 | 0) & 1 | 0)) { + break label$21 + } + $271_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[((((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + $349($271_1 | 0, 31168 | 0, $7_1 + 16 | 0 | 0); + break label$1; + } + label$22 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$22 + } + $1318(HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 3 | 0) | 0 | 0, HEAP32[((((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + } + label$23 : { + if (!((HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($7_1 + 52 | 0) >> 2] = 0; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $68(HEAP32[((((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + label$26 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$26 + } + $1318(HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0); + } + $3288(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + } + HEAP8[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 0] = 0; + HEAP8[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 25 | 0) >> 0] = (HEAP32[($7_1 + 76 | 0) >> 2] | 0) & 255 | 0; + HEAP8[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 26 | 0) >> 0] = ((HEAP32[($7_1 + 76 | 0) >> 2] | 0) >> 8 | 0) & 255 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $474((HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 56 | 0 | 0, HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$27 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + $118(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0); + break label$1; + } + label$28 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = 0; + } + $13(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + $382(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0); + $382(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 96 | 0; + return; + } + + function $1205($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $7_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + label$3 : { + if (($7_1 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + $15_1 = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $15_1; + if (!(($15_1 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + HEAP8[((HEAP32[$4_1 >> 2] | 0) + 24 | 0) >> 0] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + return; + } + + function $1206($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, $26_1 = 0, $78_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + $7_1 = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + label$3 : { + if (($7_1 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + $26_1 = 16; + HEAP32[($4_1 + 16 | 0) >> 2] = (((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $26_1 | 0) >> $26_1 | 0) - 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1224(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + break label$1; + } + label$5 : { + if (!(($1326(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $13(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 20) | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[(((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 20) | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $78_1 = 16; + label$8 : { + if (!((((HEAPU16[(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 1] | 0) << $78_1 | 0) >> $78_1 | 0 | 0) == (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 20) | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$7; + }; + } + break label$1; + } + $13(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1207($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $21_1 = 0, $92_1 = 0, $99_1 = 0, $107_1 = 0, $121_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP8[($5_1 + 19 | 0) >> 0] = 32; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $21_1 = 16; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul((((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $21_1 | 0) >> $21_1 | 0) - 1 | 0, 20) | 0; + label$3 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + $349(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 31214 | 0, 0 | 0); + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + label$6 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$8 + } + if ($89(31257 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, 7 | 0) | 0) { + break label$8 + } + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$10 + } + if ($89(31265 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, 6 | 0) | 0) { + break label$10 + } + HEAP8[($5_1 + 19 | 0) >> 0] = 64; + break label$9; + } + break label$4; + } + } + } + label$11 : { + if (!(((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$11 + } + $92_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($92_1 + 44 | 0) >> 1] = (HEAPU16[($92_1 + 44 | 0) >> 1] | 0) + -1 | 0; + } + $99_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP16[($99_1 + 16 | 0) >> 1] = (HEAPU16[($99_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0) | 0; + $107_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($107_1 + 36 | 0) >> 2] = HEAP32[($107_1 + 36 | 0) >> 2] | 0 | ((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0) | 0; + label$12 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$12 + } + $1315(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + break label$1; + } + $121_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $349($121_1 | 0, 31272 | 0, $5_1 | 0); + } + $18(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 32 | 0; + return; + } + + function $1208($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $22_1 = 0, $33_1 = 0, $58_1 = 0, $124_1 = 0, $137_1 = 0, $152_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!($360(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if (!(HEAP32[($6_1 + 80 | 0) >> 2] | 0)) { + break label$4 + } + $22_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP8[($22_1 + 85 | 0) >> 0] = (HEAPU8[($22_1 + 85 | 0) >> 0] | 0) + 1 | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1323(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($6_1 + 80 | 0) >> 2] | 0)) { + break label$5 + } + $33_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP8[($33_1 + 85 | 0) >> 0] = (HEAPU8[($33_1 + 85 | 0) >> 0] | 0) + -1 | 0; + } + label$6 : { + if (!((HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!(HEAP32[($6_1 + 80 | 0) >> 2] | 0)) { + break label$7 + } + $1331(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $350(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$8 + } + if (!($1332(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + break label$1; + } + $58_1 = 0; + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 8404 : 8004; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 64 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = $58_1; + label$9 : { + if (!($1283(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, 9 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, $58_1 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + break label$1; + } + label$10 : { + label$11 : { + if (!(HEAP32[($6_1 + 84 | 0) >> 2] | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 15; + break label$12; + } + HEAP32[($6_1 + 60 | 0) >> 2] = 17; + } + break label$10; + } + label$14 : { + label$15 : { + if (!(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$15 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 30; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = HEAP32[((HEAP32[(($1056(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + break label$14; + } + label$16 : { + label$17 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 13; + break label$16; + } + HEAP32[($6_1 + 60 | 0) >> 2] = 11; + } + } + } + label$18 : { + if (!($1283(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0)) { + break label$18 + } + break label$1; + } + label$19 : { + if (!($1283(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, 9 | 0, HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0)) { + break label$19 + } + break label$1; + } + label$20 : { + if (!($1333(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0)) { + break label$20 + } + $124_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + $349($124_1 | 0, 31303 | 0, $6_1 | 0); + break label$1; + } + label$21 : { + if (!(HEAP32[($6_1 + 84 | 0) >> 2] | 0)) { + break label$21 + } + if (!((HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$21 + } + $137_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + $349($137_1 | 0, 31331 | 0, $6_1 + 16 | 0 | 0); + break label$1; + } + label$22 : { + if (HEAP32[($6_1 + 84 | 0) >> 2] | 0) { + break label$22 + } + if (!((HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + $152_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + $349($152_1 | 0, 31365 | 0, $6_1 + 32 | 0 | 0); + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1275(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + $1287(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0); + label$24 : { + if (HEAP32[($6_1 + 84 | 0) >> 2] | 0) { + break label$24 + } + $1334(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, 14130 | 0, HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0); + $1335(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0); + } + $1336(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0); + } + } + $1143(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0); + global$0 = $6_1 + 96 | 0; + return; + } + + function $1209($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, i64toi32_i32$0 = 0, $11_1 = 0, $16_1 = 0, $27_1 = 0, $46_1 = 0, $64_1 = 0, i64toi32_i32$2 = 0, $109_1 = 0, $143_1 = 0, $83_1 = 0, $89_1 = 0, i64toi32_i32$1 = 0, $406_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 96 | 0; + global$0 = $10_1; + $11_1 = 0; + HEAP32[($10_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 68 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 64 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 12 | 0) >> 2] = $11_1; + HEAP32[($10_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + $16_1 = 16; + label$1 : { + label$2 : { + if (!((((HEAPU16[((HEAP32[($10_1 + 92 | 0) >> 2] | 0) + 200 | 0) >> 1] | 0) << $16_1 | 0) >> $16_1 | 0 | 0) > ($11_1 | 0) & 1 | 0)) { + break label$2 + } + $349(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 31697 | 0, 0 | 0); + break label$1; + } + $27_1 = 0; + $1192(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, 1 | 0, $27_1 | 0, HEAP32[($10_1 + 64 | 0) >> 2] | 0 | 0); + HEAP32[($10_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 92 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if ((HEAP32[($10_1 + 60 | 0) >> 2] | 0 | 0) == ($27_1 | 0) & 1 | 0) { + break label$4 + } + if (!(HEAP32[((HEAP32[($10_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$3 + } + } + break label$1; + } + $46_1 = $10_1 + 16 | 0; + $1284(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, $10_1 + 12 | 0 | 0) | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $350(HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $1321($46_1 | 0, HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0, 27417 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0); + label$5 : { + if (!($1337($46_1 | 0, HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + break label$1; + } + $64_1 = HEAP32[($10_1 + 72 | 0) >> 2] | 0; + HEAP32[($64_1 + 4 | 0) >> 2] = HEAP32[($64_1 + 4 | 0) >> 2] | 0 | 2097152 | 0; + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[($10_1 + 92 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($10_1 + 72 | 0) >> 2] | 0; + HEAP32[($10_1 + 72 | 0) >> 2] = 0; + break label$6; + } + $83_1 = $1338(HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] = $83_1; + } + $89_1 = $1339(HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] = $89_1; + label$8 : { + if (!(((HEAPU8[((HEAP32[($10_1 + 4 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$1; + } + i64toi32_i32$2 = (HEAP32[($10_1 + 92 | 0) >> 2] | 0) + 192 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $406_1 = i64toi32_i32$0; + i64toi32_i32$0 = $10_1 + 40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $406_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $109_1 = 24; + label$9 : { + if (!((((HEAPU8[(HEAP32[($10_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $109_1 | 0) >> $109_1 | 0 | 0) != (59 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($10_1 + 40 | 0) >> 2] = (HEAP32[($10_1 + 40 | 0) >> 2] | 0) + (HEAP32[($10_1 + 44 | 0) >> 2] | 0) | 0; + } + HEAP32[($10_1 + 44 | 0) >> 2] = 0; + HEAP32[($10_1 + 56 | 0) >> 2] = (HEAP32[($10_1 + 40 | 0) >> 2] | 0) - (HEAP32[(HEAP32[($10_1 + 88 | 0) >> 2] | 0) >> 2] | 0) | 0; + HEAP32[($10_1 + 52 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + label$10 : { + label$11 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($10_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 56 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($10_1 + 56 | 0) >> 2] = (HEAP32[($10_1 + 56 | 0) >> 2] | 0) + -1 | 0; + continue label$11; + }; + } + $143_1 = 0; + HEAP32[($10_1 + 40 | 0) >> 2] = (HEAP32[($10_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 56 | 0) >> 2] | 0) - 1 | 0) | 0; + HEAP32[($10_1 + 44 | 0) >> 2] = 1; + $1194(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, $143_1 | 0, $10_1 + 40 | 0 | 0, 0 & 255 | 0 | 0, $143_1 | 0); + } + $1139(HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0); + label$12 : { + if (!(((HEAPU8[((HEAP32[($10_1 + 92 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$12 + } + $1340(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0); + } + $382(HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0); + global$0 = $10_1 + 96 | 0; + return; + } + + function $1210($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $1228_1 = 0, $1965_1 = 0, $6_1 = 0, $147_1 = 0, $746_1 = 0, $937_1 = 0, $1971_1 = 0, $1592_1 = 0, $26_1 = 0, $1966$hi = 0, $461_1 = 0, $512_1 = 0, $1068_1 = 0, $1467_1 = 0, $1856_1 = 0, $1899_1 = 0, $45_1 = 0, $49_1 = 0, $119_1 = 0, $144_1 = 0, $178_1 = 0, $216_1 = 0, $235_1 = 0, $249_1 = 0, $1968$hi = 0, $411_1 = 0, $463_1 = 0, $465_1 = 0, $472_1 = 0, $493_1 = 0, $509_1 = 0, $510_1 = 0, $513_1 = 0, $601_1 = 0, $650_1 = 0, $656_1 = 0, $658_1 = 0, $670_1 = 0, $677_1 = 0, $678_1 = 0, $748_1 = 0, $749_1 = 0, $771_1 = 0, $802_1 = 0, $816_1 = 0, $821_1 = 0, $890_1 = 0, $898_1 = 0, $901_1 = 0, $989_1 = 0, $1099_1 = 0, $1105_1 = 0, $1235_1 = 0, $1236_1 = 0, $1252_1 = 0, $1255_1 = 0, $1256_1 = 0, $1259_1 = 0, $1260_1 = 0, $1263_1 = 0, $1266_1 = 0, $1269_1 = 0, $1278_1 = 0, $1287_1 = 0, $1335_1 = 0, $1371_1 = 0, $1389_1 = 0, $1416_1 = 0, $1435_1 = 0, $1466_1 = 0, $1540_1 = 0, $1593_1 = 0, $1655_1 = 0, $1662_1 = 0, $1668_1 = 0, $1669_1 = 0, $100_1 = 0, $1718_1 = 0, $1723_1 = 0, $1748_1 = 0, $1753_1 = 0, $1850_1 = 0, $1853_1 = 0, $109_1 = 0, $246_1 = 0, $251_1 = 0, $253_1 = 0, $410_1 = 0, $479_1 = 0, $561_1 = 0, $600_1 = 0, $830_1 = 0, $1331_1 = 0, $1962_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 496 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 488 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 484 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 480 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 456 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 436 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 432 | 0) >> 2] = 1; + HEAP32[($5_1 + 364 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 368 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 488 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 464 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0) { + break label$3 + } + if ((HEAPU8[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if (!(HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + } + HEAP32[($5_1 + 492 | 0) >> 2] = 1; + break label$1; + } + $26_1 = 0; + label$4 : { + if (!($1283(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, 21 | 0, $26_1 | 0, $26_1 | 0, $26_1 | 0) | 0)) { + break label$4 + } + HEAP32[($5_1 + 492 | 0) >> 2] = 1; + break label$1; + } + label$5 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 480 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) <= (6 | 0) & 1 | 0)) { + break label$5 + } + $382(HEAP32[($5_1 + 368 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + $45_1 = HEAP32[($5_1 + 484 | 0) >> 2] | 0; + HEAP32[($45_1 + 4 | 0) >> 2] = (HEAP32[($45_1 + 4 | 0) >> 2] | 0) & -2 | 0; + $49_1 = HEAP32[($5_1 + 484 | 0) >> 2] | 0; + HEAP32[($49_1 + 4 | 0) >> 2] = HEAP32[($49_1 + 4 | 0) >> 2] | 0 | 4194304 | 0; + } + $1341(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, 0 | 0); + label$6 : { + label$7 : { + label$8 : { + if (HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$8 + } + if (!((HEAPU8[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$7 + } + } + break label$6; + } + label$9 : { + if (!((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8388608 | 0)) { + break label$9 + } + HEAP32[($5_1 + 356 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($5_1 + 476 | 0) >> 2] = 1; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($5_1 + 476 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 352 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 476 | 0) >> 2] | 0, 72) | 0; + label$12 : { + if (!((HEAP32[((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$12 + } + $109_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + label$13 : { + label$14 : { + if (!((HEAP32[((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + $119_1 = HEAP32[((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$13; + } + $119_1 = HEAP32[(HEAP32[((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] | 0; + } + HEAP32[$5_1 >> 2] = $119_1; + $349($109_1 | 0, 31733 | 0, $5_1 | 0); + break label$6; + } + HEAP32[($5_1 + 476 | 0) >> 2] = (HEAP32[($5_1 + 476 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + } + label$15 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 480 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$15 + } + $1342(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1343(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 432 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!(HEAP32[($5_1 + 432 | 0) >> 2] | 0)) { + break label$16 + } + break label$6; + } + $144_1 = 0; + $147_1 = $5_1 + 376 | 0; + HEAP32[($5_1 + 452 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 460 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0 | 0) != ($144_1 | 0) & 1 | 0; + i64toi32_i32$0 = 0; + $1965_1 = 0; + i64toi32_i32$1 = $147_1; + HEAP32[i64toi32_i32$1 >> 2] = $1965_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1965_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $147_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1965_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $147_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1965_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $147_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1965_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 376 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($5_1 + 476 | 0) >> 2] = $144_1; + label$17 : while (1) { + $178_1 = 0; + label$18 : { + if ((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$18 + } + $178_1 = (HEAP32[($5_1 + 476 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 452 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$19 : { + if (!($178_1 & 1 | 0)) { + break label$19 + } + HEAP32[($5_1 + 348 | 0) >> 2] = ((HEAP32[($5_1 + 452 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 476 | 0) >> 2] | 0, 72) | 0; + HEAP32[($5_1 + 344 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 340 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$20 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$20 + } + if (!($1344(HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$20 + } + if (((HEAPU16[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 8192 | 0) { + break label$20 + } + $216_1 = HEAP32[($5_1 + 348 | 0) >> 2] | 0; + HEAP8[($216_1 + 36 | 0) >> 0] = ((HEAPU8[($216_1 + 36 | 0) >> 0] | 0) & 255 | 0) & -41 | 0; + $1345(HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + } + label$21 : { + label$22 : { + if (!((HEAP32[($5_1 + 344 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$22 + } + break label$21; + } + $235_1 = 16; + label$23 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $235_1 | 0) >> $235_1 | 0 | 0) != (HEAP32[(HEAP32[((HEAP32[($5_1 + 344 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + $246_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $249_1 = 16; + $251_1 = ((HEAPU16[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $249_1 | 0) >> $249_1 | 0; + $253_1 = HEAP32[(HEAP32[($5_1 + 340 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 344 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $253_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $251_1; + $349($246_1 | 0, 31787 | 0, $5_1 + 16 | 0 | 0); + break label$6; + } + label$24 : { + if (!((HEAP32[((HEAP32[($5_1 + 344 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0)) { + break label$24 + } + break label$21; + } + label$25 : { + if (!((HEAP32[((HEAP32[($5_1 + 344 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + if (HEAP32[($5_1 + 476 | 0) >> 2] | 0) { + break label$25 + } + if (!((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 262144 | 0)) { + break label$25 + } + label$26 : { + if ((HEAP32[(HEAP32[($5_1 + 452 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$26 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 452 | 0) >> 2] | 0) + 116 | 0) >> 0] | 0) & 255 | 0) & 10 | 0)) { + break label$25 + } + } + break label$21; + } + label$27 : { + if (!($1346(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 476 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 460 | 0) >> 2] | 0 | 0) | 0)) { + break label$27 + } + label$28 : { + if (!(HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$28 + } + break label$6; + } + HEAP32[($5_1 + 476 | 0) >> 2] = -1; + } + HEAP32[($5_1 + 452 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$29 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$29 + } + break label$6; + } + label$30 : { + if (((HEAPU8[(HEAP32[($5_1 + 480 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) <= (8 | 0) & 1 | 0) { + break label$30 + } + HEAP32[($5_1 + 376 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + } + } + HEAP32[($5_1 + 476 | 0) >> 2] = (HEAP32[($5_1 + 476 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + } + break label$17; + }; + label$31 : { + if (!((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$31 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1347(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 480 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 432 | 0) >> 2] = wasm2js_i32$1; + label$32 : { + if (!((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$32 + } + $1348(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 492 | 0) >> 2] = HEAP32[($5_1 + 432 | 0) >> 2] | 0; + break label$1; + } + label$33 : { + label$34 : { + if (!((HEAP32[(HEAP32[($5_1 + 452 | 0) >> 2] | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$34 + } + if (((HEAPU16[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 32768 | 0) { + break label$34 + } + if (!($1349(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0) | 0)) { + break label$34 + } + break label$33; + } + } + HEAP32[($5_1 + 476 | 0) >> 2] = 0; + label$35 : { + label$36 : while (1) { + if (!((HEAP32[($5_1 + 476 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 452 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$35 + } + i64toi32_i32$0 = 0; + $1966$hi = i64toi32_i32$0; + HEAP32[($5_1 + 336 | 0) >> 2] = ((HEAP32[($5_1 + 452 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 476 | 0) >> 2] | 0, 72) | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 336 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $1968$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1966$hi; + i64toi32_i32$1 = $1968$hi; + i64toi32_i32$1 = $1966$hi; + i64toi32_i32$1 = $1968$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $1966$hi; + label$37 : { + if (!(((i64toi32_i32$2 | 0) == (0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$37 + } + if (!((HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$37 + } + $1283(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 1352 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($5_1 + 300 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$38 : { + label$39 : { + if (!((HEAP32[($5_1 + 300 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$39 + } + break label$38; + } + $410_1 = $1350(HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0) | 0; + $411_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + HEAP32[($411_1 + 212 | 0) >> 2] = (HEAP32[($411_1 + 212 | 0) >> 2] | 0) + $410_1 | 0; + label$40 : { + label$41 : { + if (((HEAPU16[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 4096 | 0) { + break label$41 + } + if (!($1351(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 300 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, (((HEAPU8[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 32 | 0 | 0) != (0 | 0) & 1 | 0 | 0) | 0)) { + break label$41 + } + break label$40; + } + } + HEAP32[($5_1 + 296 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$42 : { + label$43 : { + if (HEAP32[($5_1 + 476 | 0) >> 2] | 0) { + break label$43 + } + label$44 : { + if ((HEAP32[(HEAP32[($5_1 + 452 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$44 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 452 | 0) >> 2] | 0) + 116 | 0) >> 0] | 0) & 255 | 0) & 10 | 0)) { + break label$43 + } + } + $461_1 = 1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($1296(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0) | 0) + $461_1 | 0), HEAP32[(wasm2js_i32$0 + 292 | 0) >> 2] = wasm2js_i32$1; + $463_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $465_1 = (HEAP32[($463_1 + 44 | 0) >> 2] | 0) + $461_1 | 0; + HEAP32[($463_1 + 44 | 0) >> 2] = $465_1; + HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 28 | 0) >> 2] = $465_1; + $472_1 = 13; + $367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, $472_1 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 292 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 292 | 0) >> 2] | 0; + $1298($5_1 + 304 | 0 | 0, $472_1 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $479_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $1352($479_1 | 0, $461_1 | 0, 31827 | 0, $5_1 + 32 | 0 | 0); + $1210(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 300 | 0) >> 2] | 0 | 0, $5_1 + 304 | 0 | 0) | 0; + HEAP16[((HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 46 | 0) >> 1] = HEAPU16[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + $493_1 = HEAP32[($5_1 + 336 | 0) >> 2] | 0; + HEAP8[($493_1 + 37 | 0) >> 0] = HEAPU8[($493_1 + 37 | 0) >> 0] | 0 | 16 | 0; + HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5_1 + 316 | 0) >> 2] | 0; + $1299(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 292 | 0) >> 2] | 0) - 1 | 0 | 0); + $1353(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0); + break label$42; + } + $509_1 = 0; + HEAP32[($5_1 + 284 | 0) >> 2] = $509_1; + $510_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $512_1 = 1; + $513_1 = (HEAP32[($510_1 + 44 | 0) >> 2] | 0) + $512_1 | 0; + HEAP32[($510_1 + 44 | 0) >> 2] = $513_1; + HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 28 | 0) >> 2] = $513_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 69 | 0, $509_1 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 288 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($5_1 + 288 | 0) >> 2] | 0) + $512_1 | 0; + label$45 : { + label$46 : { + if ((((HEAPU8[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 3 | 0) & $512_1 | 0) & 255 | 0) { + break label$46 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1276(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 284 | 0) >> 2] = wasm2js_i32$1; + break label$45; + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1354(HEAP32[($5_1 + 452 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 336 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 276 | 0) >> 2] = wasm2js_i32$1; + label$47 : { + label$48 : { + if (!((HEAP32[($5_1 + 276 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$48 + } + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 98 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 276 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP16[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 2 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($5_1 + 276 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + break label$47; + } + $1298($5_1 + 304 | 0 | 0, 12 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $561_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $1352($561_1 | 0, 1 | 0, 31841 | 0, $5_1 + 48 | 0 | 0); + $1210(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 300 | 0) >> 2] | 0 | 0, $5_1 + 304 | 0 | 0) | 0; + } + HEAP16[((HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 46 | 0) >> 1] = HEAPU16[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + label$49 : { + if (!(HEAP32[($5_1 + 284 | 0) >> 2] | 0)) { + break label$49 + } + $1277(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 284 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1288(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 65 | 0, HEAP32[((HEAP32[($5_1 + 336 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 280 | 0) >> 2] = wasm2js_i32$1; + $1355(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 280 | 0) >> 2] | 0 | 0); + $1353(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0); + } + label$50 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$50 + } + break label$6; + } + $600_1 = $1350(HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0) | 0; + $601_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + HEAP32[($601_1 + 212 | 0) >> 2] = (HEAP32[($601_1 + 212 | 0) >> 2] | 0) - $600_1 | 0; + HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[($5_1 + 296 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 476 | 0) >> 2] = (HEAP32[($5_1 + 476 | 0) >> 2] | 0) + 1 | 0; + continue label$36; + }; + } + HEAP32[($5_1 + 456 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 448 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 444 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 440 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP8[($5_1 + 416 | 0) >> 0] = ((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0 | 0) != (0 | 0) & 1 | 0; + label$51 : { + if (!(((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 9 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$51 + } + if ($1356(HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 456 | 0) >> 2] | 0 | 0, -1 | 0) | 0) { + break label$51 + } + if (!((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$51 + } + $650_1 = HEAP32[($5_1 + 484 | 0) >> 2] | 0; + HEAP32[($650_1 + 4 | 0) >> 2] = (HEAP32[($650_1 + 4 | 0) >> 2] | 0) & -2 | 0; + $656_1 = $1339(HEAP32[($5_1 + 368 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 456 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 40 | 0) >> 2] = $656_1; + HEAP32[($5_1 + 444 | 0) >> 2] = $656_1; + $658_1 = HEAP32[($5_1 + 484 | 0) >> 2] | 0; + HEAP32[($658_1 + 4 | 0) >> 2] = HEAP32[($658_1 + 4 | 0) >> 2] | 0 | 8 | 0; + } + label$52 : { + label$53 : { + if (!((HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$53 + } + $670_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1357(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, $670_1 | 0, HEAP32[(HEAP32[($5_1 + 456 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 272 | 0) >> 2] = wasm2js_i32$1; + $677_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $678_1 = HEAP32[($677_1 + 40 | 0) >> 2] | 0; + HEAP32[($677_1 + 40 | 0) >> 2] = $678_1 + 1 | 0; + HEAP32[($5_1 + 384 | 0) >> 2] = $678_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1278(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($5_1 + 384 | 0) >> 2] | 0 | 0, ((HEAP32[(HEAP32[($5_1 + 376 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0) + (HEAP32[(HEAP32[($5_1 + 456 | 0) >> 2] | 0) >> 2] | 0) | 0 | 0, $670_1 | 0, HEAP32[($5_1 + 272 | 0) >> 2] | 0 | 0, -9 | 0) | 0), HEAP32[(wasm2js_i32$0 + 396 | 0) >> 2] = wasm2js_i32$1; + break label$52; + } + HEAP32[($5_1 + 396 | 0) >> 2] = -1; + } + label$54 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 480 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (12 | 0) & 1 | 0)) { + break label$54 + } + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[((HEAP32[($5_1 + 480 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 456 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_i32$1; + label$55 : { + if ((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16384 | 0) { + break label$55 + } + HEAP16[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 2 | 0) >> 1] = 320; + } + $1359(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 372 | 0) >> 2] | 0 | 0); + label$56 : { + if (HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$56 + } + if (!((HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$56 + } + $1360(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 111 & 255 | 0 | 0); + HEAP8[($5_1 + 408 | 0) >> 0] = (HEAPU8[($5_1 + 408 | 0) >> 0] | 0) & 255 | 0 | 1 | 0; + } + label$57 : { + label$58 : { + if (!((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$58 + } + $746_1 = 0; + $748_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $749_1 = HEAP32[($748_1 + 40 | 0) >> 2] | 0; + HEAP32[($748_1 + 40 | 0) >> 2] = $749_1 + 1 | 0; + HEAP32[($5_1 + 420 | 0) >> 2] = $749_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1278(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($5_1 + 420 | 0) >> 2] | 0 | 0, $746_1 | 0, $746_1 | 0, $1357(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, $746_1 | 0, $746_1 | 0) | 0 | 0, -9 | 0) | 0), HEAP32[(wasm2js_i32$0 + 424 | 0) >> 2] = wasm2js_i32$1; + $354(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 8 & 65535 | 0 | 0); + HEAP8[($5_1 + 417 | 0) >> 0] = 3; + break label$57; + } + HEAP8[($5_1 + 417 | 0) >> 0] = 0; + } + label$59 : { + label$60 : { + if (HEAP32[($5_1 + 460 | 0) >> 2] | 0) { + break label$60 + } + if (!((HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$60 + } + $771_1 = 0; + HEAP16[($5_1 + 270 | 0) >> 1] = ((HEAPU8[($5_1 + 416 | 0) >> 0] | 0) & 255 | 0 ? 256 : $771_1) | ((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16384 | 0) | 0; + HEAP32[($5_1 + 264 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + label$61 : { + if (!((HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0) != ($771_1 | 0) & 1 | 0)) { + break label$61 + } + $1361(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0); + } + $802_1 = 16; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1362(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 452 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 448 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, (HEAPU16[($5_1 + 270 | 0) >> 1] | 0) & 65535 | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $802_1 | 0) >> $802_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 468 | 0) >> 2] = wasm2js_i32$1; + label$62 : { + if (!((HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$62 + } + break label$6; + } + $816_1 = 16; + $821_1 = 16; + label$63 : { + if (!(((($1363(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0) << $816_1 | 0) >> $816_1 | 0 | 0) < (((HEAPU16[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $821_1 | 0) >> $821_1 | 0 | 0) & 1 | 0)) { + break label$63 + } + $830_1 = $1363(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0; + HEAP16[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 2 | 0) >> 1] = $830_1; + } + label$64 : { + if (!((HEAPU8[($5_1 + 416 | 0) >> 0] | 0) & 255 | 0)) { + break label$64 + } + if (!($1364(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0)) { + break label$64 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1364(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 417 | 0) >> 0] = wasm2js_i32$1; + } + label$65 : { + if (!((HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$65 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1365(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 380 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1366(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 404 | 0) >> 2] = wasm2js_i32$1; + label$66 : { + if (!((HEAP32[($5_1 + 380 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($5_1 + 376 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$66 + } + HEAP32[($5_1 + 376 | 0) >> 2] = 0; + } + } + label$67 : { + if (!((HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$67 + } + if (!((HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$67 + } + $1367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0) | 0; + } + label$68 : { + label$69 : { + if (!((HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$69 + } + $890_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 260 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 256 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 252 | 0) >> 2] = wasm2js_i32$1; + $898_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $901_1 = (HEAP32[($898_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($898_1 + 44 | 0) >> 2] = $901_1; + HEAP32[($5_1 + 248 | 0) >> 2] = $901_1; + $1368(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 11 | 0, $890_1 | 0, HEAP32[($5_1 + 252 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 404 | 0) >> 2] = $890_1; + $1370(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, -1 | 0, $5_1 + 376 | 0 | 0, $5_1 + 416 | 0 | 0, HEAP32[($5_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 252 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 256 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 65 | 0, HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 252 | 0) >> 2] | 0 | 0); + break label$68; + } + $1370(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, -1 | 0, $5_1 + 376 | 0 | 0, $5_1 + 416 | 0 | 0, HEAP32[($5_1 + 480 | 0) >> 2] | 0 | 0, $1371(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0 | 0, $1372(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0 | 0); + $1373(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0); + } + break label$59; + } + $937_1 = 0; + HEAP32[($5_1 + 188 | 0) >> 2] = $937_1; + HEAP32[($5_1 + 184 | 0) >> 2] = $937_1; + HEAP32[($5_1 + 180 | 0) >> 2] = $937_1; + label$70 : { + label$71 : { + if (!((HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0) != ($937_1 | 0) & 1 | 0)) { + break label$71 + } + HEAP32[($5_1 + 176 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 172 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0; + label$72 : { + label$73 : while (1) { + if (!((HEAP32[($5_1 + 176 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$72 + } + HEAP16[((HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 14 | 0) >> 1] = 0; + HEAP32[($5_1 + 176 | 0) >> 2] = (HEAP32[($5_1 + 176 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 172 | 0) >> 2] = (HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 16 | 0; + continue label$73; + }; + } + HEAP32[($5_1 + 176 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 172 | 0) >> 2] = (HEAP32[($5_1 + 444 | 0) >> 2] | 0) + 4 | 0; + label$74 : { + label$75 : while (1) { + if (!((HEAP32[($5_1 + 176 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$74 + } + HEAP16[((HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 14 | 0) >> 1] = 0; + HEAP32[($5_1 + 176 | 0) >> 2] = (HEAP32[($5_1 + 176 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 172 | 0) >> 2] = (HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 16 | 0; + continue label$75; + }; + } + $989_1 = 16; + label$76 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $989_1 | 0) >> $989_1 | 0 | 0) > (66 | 0) & 1 | 0)) { + break label$76 + } + HEAP16[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 2 | 0) >> 1] = 66; + } + label$77 : { + if (!((HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$77 + } + if (!((HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($5_1 + 376 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$77 + } + HEAP32[($5_1 + 168 | 0) >> 2] = 0; + label$78 : { + label$79 : while (1) { + if (!((HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$78 + } + HEAP8[($5_1 + 167 | 0) >> 0] = ((HEAPU8[((((HEAP32[($5_1 + 376 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 168 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0) & 255 | 0) & 1 | 0; + HEAP8[((((HEAP32[($5_1 + 444 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 168 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] = HEAPU8[($5_1 + 167 | 0) >> 0] | 0; + HEAP32[($5_1 + 168 | 0) >> 2] = (HEAP32[($5_1 + 168 | 0) >> 2] | 0) + 1 | 0; + continue label$79; + }; + } + label$80 : { + if ($1356(HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, -1 | 0) | 0) { + break label$80 + } + HEAP32[($5_1 + 180 | 0) >> 2] = 1; + } + } + break label$70; + } + HEAP16[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 2 | 0) >> 1] = 0; + } + i64toi32_i32$2 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $308(HEAP32[($5_1 + 368 | 0) >> 2] | 0 | 0, 56 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 436 | 0) >> 2] = wasm2js_i32$1; + label$81 : { + if (!((HEAP32[($5_1 + 436 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$81 + } + break label$6; + } + $1068_1 = $5_1 + 216 | 0; + HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 128 | 0) >> 2] = HEAP32[($5_1 + 436 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + $1971_1 = 0; + i64toi32_i32$1 = $1068_1; + HEAP32[i64toi32_i32$1 >> 2] = $1971_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1971_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $1068_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1971_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $1068_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1971_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 216 | 0) >> 2] = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + HEAP32[($5_1 + 220 | 0) >> 2] = HEAP32[($5_1 + 452 | 0) >> 2] | 0; + HEAP32[($5_1 + 224 | 0) >> 2] = HEAP32[($5_1 + 436 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + label$82 : { + label$83 : { + if (!((HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$83 + } + $1099_1 = HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0; + break label$82; + } + $1099_1 = 0; + } + $1105_1 = $5_1 + 216 | 0; + HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 12 | 0) >> 2] = $1099_1; + HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 444 | 0) >> 2] | 0; + $1374($1105_1 | 0, HEAP32[($5_1 + 456 | 0) >> 2] | 0 | 0); + $1374($1105_1 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0); + label$84 : { + if (!((HEAP32[($5_1 + 440 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$84 + } + label$85 : { + if (!((HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$85 + } + $1375(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 448 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + } + $1376($5_1 + 216 | 0 | 0, HEAP32[($5_1 + 440 | 0) >> 2] | 0 | 0); + } + HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$86 : { + label$87 : { + if (!((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$87 + } + if (!((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$87 + } + if (!((HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$87 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1377(HEAP32[($5_1 + 368 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, $5_1 + 364 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 363 | 0) >> 0] = wasm2js_i32$1; + break label$86; + } + HEAP8[($5_1 + 363 | 0) >> 0] = 0; + } + HEAP32[($5_1 + 476 | 0) >> 2] = 0; + label$88 : { + label$89 : while (1) { + if (!((HEAP32[($5_1 + 476 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$88 + } + HEAP32[($5_1 + 160 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 476 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($5_1 + 240 | 0) >> 2] = HEAP32[($5_1 + 240 | 0) >> 2] | 0 | 131072 | 0; + $1374($5_1 + 216 | 0 | 0, HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + label$90 : { + if (!((HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$90 + } + $1376($5_1 + 216 | 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 240 | 0) >> 2] = (HEAP32[($5_1 + 240 | 0) >> 2] | 0) & -131073 | 0; + HEAP32[($5_1 + 476 | 0) >> 2] = (HEAP32[($5_1 + 476 | 0) >> 2] | 0) + 1 | 0; + continue label$89; + }; + } + HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$91 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$91 + } + break label$6; + } + label$92 : { + label$93 : { + if (!((HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$93 + } + $1228_1 = 0; + $1235_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $1236_1 = HEAP32[($1235_1 + 40 | 0) >> 2] | 0; + HEAP32[($1235_1 + 40 | 0) >> 2] = $1236_1 + 1 | 0; + HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 4 | 0) >> 2] = $1236_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1357(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0, $1228_1 | 0, HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1278(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 111 | 0, HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $1228_1 | 0, HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, -9 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + $1252_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $1255_1 = (HEAP32[($1252_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1252_1 + 44 | 0) >> 2] = $1255_1; + HEAP32[($5_1 + 204 | 0) >> 2] = $1255_1; + $1256_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $1259_1 = (HEAP32[($1256_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1256_1 + 44 | 0) >> 2] = $1259_1; + HEAP32[($5_1 + 200 | 0) >> 2] = $1259_1; + $1260_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $1263_1 = (HEAP32[($1260_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1260_1 + 44 | 0) >> 2] = $1263_1; + HEAP32[($5_1 + 144 | 0) >> 2] = $1263_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + $1266_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $1269_1 = (HEAP32[($1266_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1266_1 + 44 | 0) >> 2] = $1269_1; + HEAP32[($5_1 + 124 | 0) >> 2] = $1269_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 212 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $1278_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + HEAP32[($1278_1 + 44 | 0) >> 2] = (HEAP32[($1278_1 + 44 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 208 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $1287_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + HEAP32[($1287_1 + 44 | 0) >> 2] = (HEAP32[($1287_1 + 44 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0) | 0; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 69 | 0, $1228_1 | 0, HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 72 | 0, $1228_1 | 0, HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0) | 0) - 1 | 0 | 0) | 0; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1362(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 452 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 448 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0, $1228_1 | 0, ((HEAP32[($5_1 + 180 | 0) >> 2] | 0 ? 512 : $1228_1) | 64 | 0) & 65535 | 0 | 0, $1228_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 468 | 0) >> 2] = wasm2js_i32$1; + label$94 : { + if (!((HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) == ($1228_1 | 0) & 1 | 0)) { + break label$94 + } + break label$6; + } + label$95 : { + label$96 : { + if (!(($1365(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$96 + } + HEAP32[($5_1 + 196 | 0) >> 2] = 0; + break label$95; + } + $1331_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $1335_1 = 0; + label$97 : { + if (!((HEAPU8[($5_1 + 416 | 0) >> 0] | 0) & 255 | 0)) { + break label$97 + } + $1335_1 = ((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0 | 0) == (0 | 0); + } + $1378($1331_1 | 0, ($1335_1 & 1 | 0 ? 31856 : 31865) | 0); + HEAP32[($5_1 + 196 | 0) >> 2] = 1; + HEAP32[($5_1 + 108 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 112 | 0) >> 2] = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + HEAP32[($5_1 + 472 | 0) >> 2] = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + HEAP32[($5_1 + 476 | 0) >> 2] = 0; + label$98 : { + label$99 : while (1) { + if (!((HEAP32[($5_1 + 476 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$98 + } + $1371_1 = 16; + label$100 : { + if (!((((HEAPU16[(((HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 476 | 0) >> 2] | 0, 20) | 0) + 18 | 0) >> 1] | 0) << $1371_1 | 0) >> $1371_1 | 0 | 0) >= (HEAP32[($5_1 + 472 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$100 + } + HEAP32[($5_1 + 112 | 0) >> 2] = (HEAP32[($5_1 + 112 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 472 | 0) >> 2] = (HEAP32[($5_1 + 472 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($5_1 + 476 | 0) >> 2] = (HEAP32[($5_1 + 476 | 0) >> 2] | 0) + 1 | 0; + continue label$99; + }; + } + $1389_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1379(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + $1380(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $1389_1 | 0, 0 & 255 | 0 | 0) | 0; + HEAP32[($5_1 + 472 | 0) >> 2] = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + HEAP32[($5_1 + 476 | 0) >> 2] = $1389_1; + label$101 : { + label$102 : while (1) { + if (!((HEAP32[($5_1 + 476 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$101 + } + HEAP32[($5_1 + 104 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 476 | 0) >> 2] | 0, 20) | 0; + $1416_1 = 16; + label$103 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $1416_1 | 0) >> $1416_1 | 0 | 0) >= (HEAP32[($5_1 + 472 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$103 + } + HEAP32[($5_1 + 100 | 0) >> 2] = (HEAP32[($5_1 + 472 | 0) >> 2] | 0) + (HEAP32[($5_1 + 120 | 0) >> 2] | 0) | 0; + $1435_1 = 16; + $1381(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $1435_1 | 0) >> $1435_1 | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 472 | 0) >> 2] = (HEAP32[($5_1 + 472 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($5_1 + 476 | 0) >> 2] = (HEAP32[($5_1 + 476 | 0) >> 2] | 0) + 1 | 0; + continue label$102; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 132 | 0, HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0) | 0; + $1383(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0); + $1384(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0); + $1373(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0); + $1466_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $1467_1 = HEAP32[($1466_1 + 40 | 0) >> 2] | 0; + HEAP32[($1466_1 + 40 | 0) >> 2] = $1467_1 + 1 | 0; + HEAP32[($5_1 + 188 | 0) >> 2] = $1467_1; + HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 8 | 0) >> 2] = $1467_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 114 | 0, HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 35 | 0, HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 1 | 0) >> 0] = 1; + } + label$104 : { + if (!(HEAP32[($5_1 + 180 | 0) >> 2] | 0)) { + break label$104 + } + if (((HEAPU16[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0) { + break label$104 + } + label$105 : { + if (HEAP32[($5_1 + 196 | 0) >> 2] | 0) { + break label$105 + } + if (!($1385(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0)) { + break label$104 + } + } + HEAP32[($5_1 + 376 | 0) >> 2] = 0; + $1367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0) | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1296(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + label$106 : { + if (!(HEAP32[($5_1 + 196 | 0) >> 2] | 0)) { + break label$106 + } + $367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 126 | 0, HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($5_1 + 472 | 0) >> 2] = 0; + label$107 : { + label$108 : while (1) { + if (!((HEAP32[($5_1 + 472 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$107 + } + label$109 : { + label$110 : { + if (!(HEAP32[($5_1 + 196 | 0) >> 2] | 0)) { + break label$110 + } + $367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 472 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 208 | 0) >> 2] | 0) + (HEAP32[($5_1 + 472 | 0) >> 2] | 0) | 0 | 0) | 0; + break label$109; + } + HEAP8[(HEAP32[($5_1 + 436 | 0) >> 2] | 0) >> 0] = 1; + $1281(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 444 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 472 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 208 | 0) >> 2] | 0) + (HEAP32[($5_1 + 472 | 0) >> 2] | 0) | 0 | 0); + } + HEAP32[($5_1 + 472 | 0) >> 2] = (HEAP32[($5_1 + 472 | 0) >> 2] | 0) + 1 | 0; + continue label$108; + }; + } + $1540_1 = 12; + $1278(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 86 | 0, HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0 | 0, $1386(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) | 0 | 0, -9 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1296(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 16 | 0, (HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 1 | 0 | 0, 0 | 0, (HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $1387(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 444 | 0) >> 2] | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, $1540_1 | 0, HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 48 | 0, HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, $1540_1 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0); + $1388(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 436 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 69 | 0, 1 | 0, HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0) | 0; + label$111 : { + label$112 : { + if (!(HEAP32[($5_1 + 196 | 0) >> 2] | 0)) { + break label$112 + } + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 3 | 0, HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0) | 0; + break label$111; + } + $1373(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0); + $1367(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 132 | 0) >> 2] | 0 | 0) | 0; + } + $1592_1 = 65; + $1593_1 = 69; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1296(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, $1593_1 | 0, 1 | 0, HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) | 0; + $1288(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, $1592_1 | 0, HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1296(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 48 | 0, HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 2 | 0 | 0) | 0; + $1288(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, $1592_1 | 0, HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0) | 0; + $1389(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 436 | 0) >> 2] | 0 | 0); + $1390(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 440 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 1 | 0 | 0, 16 | 0); + $1370(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, -1 | 0, $5_1 + 376 | 0 | 0, $5_1 + 416 | 0 | 0, HEAP32[($5_1 + 480 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, $1592_1 | 0, HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0); + $1391(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 436 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, $1593_1 | 0, 0 | 0, HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0) | 0; + $1288(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, $1592_1 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) | 0; + break label$92; + } + $1655_1 = $1392(HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 436 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 96 | 0) >> 2] = $1655_1; + label$113 : { + label$114 : { + if (!(($1655_1 | 0) != (0 | 0) & 1 | 0)) { + break label$114 + } + $1662_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($5_1 + 488 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $1668_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $1669_1 = HEAP32[($1668_1 + 40 | 0) >> 2] | 0; + HEAP32[($1668_1 + 40 | 0) >> 2] = $1669_1 + 1 | 0; + HEAP32[($5_1 + 88 | 0) >> 2] = $1669_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $1662_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $1662_1; + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $1286(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0); + $1393(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, HEAP32[(HEAP32[($5_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0); + label$115 : { + if (!((HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$115 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $416(HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + } + label$116 : { + if (((HEAPU8[((HEAP32[((HEAP32[($5_1 + 484 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 45 | 0) >> 0] | 0) & 1 | 0) & 255 | 0) { + break label$116 + } + HEAP32[($5_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$117 : { + label$118 : while (1) { + if (!((HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$117 + } + $100_1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + label$119 : { + if ((((HEAPU8[($100_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($100_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 2 | 0) & 1 | 0) & 65535 | 0) { + break label$119 + } + $1718_1 = 16; + $1723_1 = 16; + if (!((((HEAPU16[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $1718_1 | 0) >> $1718_1 | 0 | 0) < (((HEAPU16[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $1723_1 | 0) >> $1723_1 | 0 | 0) & 1 | 0)) { + break label$119 + } + if (!((HEAP32[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$119 + } + label$120 : { + if (!((HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$120 + } + $1748_1 = 16; + $1753_1 = 16; + if (!((((HEAPU16[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $1748_1 | 0) >> $1748_1 | 0 | 0) < (((HEAPU16[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $1753_1 | 0) >> $1753_1 | 0 | 0) & 1 | 0)) { + break label$119 + } + } + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$118; + }; + } + } + label$121 : { + if (!((HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$121 + } + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1394(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + $353(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 96 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + label$122 : { + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$122 + } + $357(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, -9 | 0); + } + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 92 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + $1288(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 116 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) | 0; + $1395(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + break label$113; + } + HEAP32[($5_1 + 68 | 0) >> 2] = 0; + label$123 : { + if (!(HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$123 + } + HEAP32[($5_1 + 476 | 0) >> 2] = 0; + label$124 : { + label$125 : while (1) { + if (!((HEAP32[($5_1 + 476 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$124 + } + label$126 : { + label$127 : { + if (!((HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 476 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$127 + } + break label$126; + } + label$128 : { + if (!((HEAP32[((HEAP32[(((HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 476 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0)) { + break label$128 + } + break label$124; + } + } + HEAP32[($5_1 + 476 | 0) >> 2] = (HEAP32[($5_1 + 476 | 0) >> 2] | 0) + 1 | 0; + continue label$125; + }; + } + label$129 : { + if (!((HEAP32[($5_1 + 476 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$129 + } + $1850_1 = HEAP32[($5_1 + 488 | 0) >> 2] | 0; + $1853_1 = (HEAP32[($1850_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1850_1 + 44 | 0) >> 2] = $1853_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $1853_1; + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) | 0; + } + } + $1856_1 = 0; + $1391(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 436 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1362(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 452 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 448 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 364 | 0) >> 2] | 0 | 0, $1856_1 | 0, ((HEAPU8[($5_1 + 363 | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0, $1856_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 468 | 0) >> 2] = wasm2js_i32$1; + label$130 : { + if (!((HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) == ($1856_1 | 0) & 1 | 0)) { + break label$130 + } + break label$6; + } + $1388(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 436 | 0) >> 2] | 0 | 0); + label$131 : { + if (!(HEAP32[($5_1 + 68 | 0) >> 2] | 0)) { + break label$131 + } + $366(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, 69 | 0, 1 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1366(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$132 : { + if (!((HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) != ($1371(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$132 + } + $1282(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0; + } + $1373(HEAP32[($5_1 + 468 | 0) >> 2] | 0 | 0); + $1389(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 436 | 0) >> 2] | 0 | 0); + } + $1899_1 = 0; + HEAP32[($5_1 + 376 | 0) >> 2] = $1899_1; + $1390(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 440 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, 16 | 0); + $1370(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, -1 | 0, $1899_1 | 0, $1899_1 | 0, HEAP32[($5_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0); + } + $1369(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0); + } + label$133 : { + if (!(((HEAPU8[($5_1 + 417 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$133 + } + $1378(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, 31856 | 0); + } + label$134 : { + if (!((HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$134 + } + $1378(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 380 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0 ? 31874 : 31897) | 0); + $1396(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 484 | 0) >> 2] | 0 | 0, $5_1 + 376 | 0 | 0, HEAP32[(HEAP32[($5_1 + 456 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 480 | 0) >> 2] | 0 | 0); + } + $1369(HEAP32[($5_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 372 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 432 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 488 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0; + } + $382(HEAP32[($5_1 + 368 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 364 | 0) >> 2] | 0 | 0); + $1348(HEAP32[($5_1 + 488 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 492 | 0) >> 2] = HEAP32[($5_1 + 432 | 0) >> 2] | 0; + } + $1962_1 = HEAP32[($5_1 + 492 | 0) >> 2] | 0; + global$0 = $5_1 + 496 | 0; + return $1962_1 | 0; + } + + function $1211($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, $24_1 = 0, $41_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $13_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $13_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $24_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($24_1 + 4 | 0) >> 2] = HEAP32[($24_1 + 4 | 0) >> 2] | 0 | 256 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$4 : { + if ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1024 | 0) { + break label$4 + } + $41_1 = HEAP32[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 124 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $41_1; + if (!(($41_1 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $349(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 33257 | 0, 0 | 0); + } + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1212($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $102_1 = 0, $37_1 = 0, $113_1 = 0, $129_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 64 | 0; + global$0 = $10_1; + HEAP32[($10_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 32 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + label$4 : { + if ((HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + } + $37_1 = HEAP32[($10_1 + 56 | 0) >> 2] | 0; + HEAP32[$10_1 >> 2] = (HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 33327 : 33330; + $349($37_1 | 0, 33291 | 0, $10_1 | 0); + break label$2; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1222(HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$2; + } + HEAP32[($10_1 + 24 | 0) >> 2] = ((HEAP32[($10_1 + 52 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[(HEAP32[($10_1 + 52 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0, 72) | 0; + label$6 : { + if (!(((HEAPU8[((HEAP32[($10_1 + 56 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[(HEAP32[($10_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $102_1 = HEAP32[($10_1 + 44 | 0) >> 2] | 0; + break label$7; + } + $102_1 = HEAP32[($10_1 + 48 | 0) >> 2] | 0; + } + HEAP32[($10_1 + 16 | 0) >> 2] = $102_1; + $1223(HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + label$9 : { + if (!(HEAP32[((HEAP32[($10_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$9 + } + $113_1 = $1224(HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = $113_1; + } + HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($10_1 + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($10_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($10_1 + 28 | 0) >> 2] | 0; + HEAP32[($10_1 + 60 | 0) >> 2] = HEAP32[($10_1 + 52 | 0) >> 2] | 0; + break label$1; + } + $18(HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0); + $19(HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0); + $1139(HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($10_1 + 60 | 0) >> 2] = 0; + } + $129_1 = HEAP32[($10_1 + 60 | 0) >> 2] | 0; + global$0 = $10_1 + 64 | 0; + return $129_1 | 0; + } + + function $1213($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, $68_1 = 0, i64toi32_i32$0 = 0, $39_1 = 0, $15_1 = 0, $32_1 = 0, $41_1 = 0, $50_1 = 0, $53_1 = 0, $109_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11_1 = global$0 - 128 | 0; + global$0 = $11_1; + i64toi32_i32$0 = 0; + HEAP32[($11_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 112 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 108 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 104 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 100 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 96 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 92 | 0) >> 2] = $8_1; + $15_1 = $365(HEAP32[(HEAP32[($11_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0, 76 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($11_1 + 88 | 0) >> 2] = $15_1; + HEAP32[($11_1 + 84 | 0) >> 2] = $15_1; + label$1 : { + if (!((HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($11_1 + 88 | 0) >> 2] = $11_1 + 8 | 0; + } + label$2 : { + if (!((HEAP32[($11_1 + 120 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $32_1 = 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $1214(HEAP32[($11_1 + 124 | 0) >> 2] | 0 | 0, $32_1 | 0, $1217(HEAP32[(HEAP32[($11_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0, 177 | 0, $32_1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + } + $39_1 = 0; + $41_1 = -1; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($11_1 + 120 | 0) >> 2] | 0; + HEAP8[(HEAP32[($11_1 + 88 | 0) >> 2] | 0) >> 0] = 136; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($11_1 + 96 | 0) >> 2] | 0; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] = $39_1; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] = $39_1; + $50_1 = HEAP32[($11_1 + 124 | 0) >> 2] | 0; + $53_1 = (HEAP32[($50_1 + 100 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($50_1 + 100 | 0) >> 2] = $53_1; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] = $53_1; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] = $41_1; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 24 | 0) >> 2] = $41_1; + HEAP16[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 2 | 0) >> 1] = 0; + label$3 : { + if (!((HEAP32[($11_1 + 116 | 0) >> 2] | 0 | 0) == ($39_1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $308(HEAP32[(HEAP32[($11_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0, 80 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + $68_1 = 0; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($11_1 + 116 | 0) >> 2] | 0; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($11_1 + 112 | 0) >> 2] | 0; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($11_1 + 108 | 0) >> 2] | 0; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($11_1 + 104 | 0) >> 2] | 0; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($11_1 + 100 | 0) >> 2] | 0; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 52 | 0) >> 2] = $68_1; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 56 | 0) >> 2] = $68_1; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($11_1 + 92 | 0) >> 2] | 0; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 64 | 0) >> 2] = $68_1; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 68 | 0) >> 2] = $68_1; + HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 72 | 0) >> 2] = $68_1; + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($11_1 + 124 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $1141(HEAP32[(HEAP32[($11_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0) != ($11_1 + 8 | 0 | 0) & 1 | 0 | 0); + HEAP32[($11_1 + 84 | 0) >> 2] = 0; + break label$4; + } + } + $109_1 = HEAP32[($11_1 + 84 | 0) >> 2] | 0; + global$0 = $11_1 + 128 | 0; + return $109_1 | 0; + } + + function $1214($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $75$hi = 0, $76$hi = 0, $25_1 = 0, $77$hi = 0, $78$hi = 0, $79$hi = 0, $80$hi = 0, $26_1 = 0, $81$hi = 0, $82$hi = 0, $50_1 = 0, $51_1 = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $49_1 = 0, $71_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 20 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$2; + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + break label$3; + } + label$6 : { + if ((HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) & ((HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) | 0) { + break label$6 + } + $33_1 = 0; + $34_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $35_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $75$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $76$hi = i64toi32_i32$0; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $76$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $25_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $25_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $77$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $78$hi = i64toi32_i32$1; + i64toi32_i32$1 = $77$hi; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$1 = $77$hi; + i64toi32_i32$0 = $25_1; + i64toi32_i32$2 = $78$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $79$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $80$hi = i64toi32_i32$5; + i64toi32_i32$5 = $79$hi; + i64toi32_i32$5 = $80$hi; + i64toi32_i32$5 = $79$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $26_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $26_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $81$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $82$hi = i64toi32_i32$0; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$0 = $82$hi; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$5 = $26_1; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$3 = 20; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $70($34_1 | 0, $35_1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == ($33_1 | 0) & 1 | 0)) { + break label$7 + } + break label$2; + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + } + $49_1 = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0; + $50_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $51_1 = HEAP32[$50_1 >> 2] | 0; + HEAP32[$50_1 >> 2] = $51_1 + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $49_1 + ($51_1 << 4 | 0) | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0; + HEAP32[i64toi32_i32$5 >> 2] = 0; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] = 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$1; + } + $18(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + $382(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $71_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $71_1 | 0; + } + + function $1215($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $31_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 12 | 0) >> 2] = ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) + (((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0; + i64toi32_i32$0 = 0; + $31_1 = $1130(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $31_1; + label$2 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$2 + } + $1305(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + label$3 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$3 + } + $1223(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + } + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1216($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $39_1 = 0, $37_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 8 | 0) >> 2] = ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) + (((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0; + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $37_1 = $1309(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = $37_1; + $39_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP8[($39_1 + 9 | 0) >> 0] = (HEAPU8[($39_1 + 9 | 0) >> 0] | 0) & -4 | 0 | 1 | 0; + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1217($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $68(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $15_1 = $1218(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0, 0 | 0) | 0; + global$0 = $5_1 + 32 | 0; + return $15_1 | 0; + } + + function $1218($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $125_1 = 0, $54_1 = 0, $7_1 = 0, $84_1 = 0, $121_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $7_1; + label$1 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if ((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (152 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if ($341(HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 + 4 | 0 | 0) | 0) { + break label$2 + } + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0; + } + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $365(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 52 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $54_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $125_1 = 0; + i64toi32_i32$1 = $54_1; + HEAP32[i64toi32_i32$1 >> 2] = $125_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $125_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $54_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $125_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $54_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $125_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $54_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $125_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $54_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $125_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 34 | 0) >> 1] = 65535; + label$5 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$7 + } + $84_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[($84_1 + 4 | 0) >> 2] = HEAP32[($84_1 + 4 | 0) >> 2] | 0 | ((HEAP32[($6_1 + 4 | 0) >> 2] | 0 ? 268435456 : 536870912) | 8389632 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$6; + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 52 | 0; + label$8 : { + if (!(HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$8 + } + $3288(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + } + HEAP8[((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) >> 0] = 0; + label$9 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$9 + } + if (!(((HEAPU8[(((HEAPU8[(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$9 + } + $1313(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + } + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = 1; + } + $121_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $121_1 | 0; + } + + function $1219($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[((((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 72) | 0) + 36 | 0) >> 0] = HEAPU8[((((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - 1 | 0, 72) | 0) + 36 | 0) >> 0] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + -1 | 0; + continue label$3; + }; + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 0] = 0; + } + return; + } + + function $1220($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $47_1 = 0, $58_1 = 0, $56_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[$5_1 >> 2] = ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0, 72) | 0; + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + if ((HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + $47_1 = HEAP32[$5_1 >> 2] | 0; + HEAP8[($47_1 + 37 | 0) >> 0] = HEAPU8[($47_1 + 37 | 0) >> 0] | 0 | 1 | 0; + break label$2; + } + $56_1 = $1224(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 64 | 0) >> 2] = $56_1; + $58_1 = HEAP32[$5_1 >> 2] | 0; + HEAP8[($58_1 + 37 | 0) >> 0] = HEAPU8[($58_1 + 37 | 0) >> 0] | 0 | 2 | 0; + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1221($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $13_1 = 0, $22_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $13_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = (Math_imul(HEAP32[$13_1 >> 2] | 0, 72) + $13_1 | 0) + -64 | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $22_1 = HEAP32[$5_1 >> 2] | 0; + HEAP8[($22_1 + 37 | 0) >> 0] = HEAPU8[($22_1 + 37 | 0) >> 0] | 0 | 4 | 0; + break label$1; + } + $382(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1222($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $28_1 = 0, i64toi32_i32$0 = 0, $89_1 = 0, $93_1 = 0, $98_1 = 0, $102_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $365(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, 80 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $28_1 = 1; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = $28_1; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = $28_1; + $3289((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0 | 0, 0 | 0, 72 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] = -1; + break label$2; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1397(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $1143(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + } + HEAP32[($6_1 + 8 | 0) >> 2] = ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0, 72) | 0; + label$6 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + } + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $89_1 = $1224(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $89_1; + $93_1 = $1224(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = $93_1; + break label$7; + } + $98_1 = $1224(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $98_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + $102_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $102_1 | 0; + } + + function $1223($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $107_1 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $308(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, 16 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $107_1 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[$5_1 >> 2] | 0) + 4 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $107_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 276 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 276 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + } + } + $37_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $37_1 | 0; + } + + function $1224($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1130(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $1305(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + } + $21_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $21_1 | 0; + } + + function $1225($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $19_1 = 0, $130_1 = 0, $131_1 = 0, $132_1 = 0, $133_1 = 0, $153_1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $7_1; + label$1 : while (1) { + $19_1 = 0; + label$2 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = (HEAP32[(($6_1 + 32 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($19_1 & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(($6_1 + 32 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (7 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == ((HEAPU8[((33392 + Math_imul(HEAP32[($6_1 + 20 | 0) >> 2] | 0, 3) | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + if ($89(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, 33344 + ((HEAPU8[(33392 + Math_imul(HEAP32[($6_1 + 20 | 0) >> 2] | 0, 3) | 0) >> 0] | 0) & 255 | 0) | 0 | 0, HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0 | ((HEAPU8[((33392 + Math_imul(HEAP32[($6_1 + 20 | 0) >> 2] | 0, 3) | 0) + 2 | 0) >> 0] | 0) & 255 | 0) | 0; + break label$4; + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$7 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) >= (7 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 64 | 0; + break label$3; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$8 : { + label$9 : { + label$10 : { + if (((HEAP32[($6_1 + 44 | 0) >> 2] | 0) & 33 | 0 | 0) == (33 | 0) & 1 | 0) { + break label$10 + } + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0) & 64 | 0)) { + break label$9 + } + } + HEAP32[($6_1 + 16 | 0) >> 2] = 33413; + label$11 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + $130_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $131_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $132_1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $133_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $133_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $132_1; + HEAP32[$6_1 >> 2] = $131_1; + $349($130_1 | 0, 33415 | 0, $6_1 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$8; + } + label$12 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0) & 32 | 0)) { + break label$12 + } + if (!(((HEAP32[($6_1 + 44 | 0) >> 2] | 0) & 24 | 0 | 0) != (8 | 0) & 1 | 0)) { + break label$12 + } + $349(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, 33459 | 0, 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + } + } + $153_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $153_1 | 0; + } + + function $1226($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $40_1 = 0, $51_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[$5_1 >> 2] = ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) + (((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0; + label$3 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + } + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 0] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$1 + } + $40_1 = HEAP32[$5_1 >> 2] | 0; + HEAP8[($40_1 + 9 | 0) >> 0] = HEAPU8[($40_1 + 9 | 0) >> 0] | 0 | 32 | 0; + label$4 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $51_1 = HEAP32[$5_1 >> 2] | 0; + HEAP8[($51_1 + 8 | 0) >> 0] = (HEAPU8[($51_1 + 8 | 0) >> 0] | 0) & 255 | 0 | 2 | 0; + } + } + return; + } + + function $1227($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $11_1 = 0, i64toi32_i32$2 = 0, $32_1 = 0, $159_1 = 0, $705_1 = 0, $51_1 = 0, $102_1 = 0, $706$hi = 0, i64toi32_i32$3 = 0, $308_1 = 0, $685_1 = 0, $50_1 = 0, $65_1 = 0, $101_1 = 0, $115_1 = 0, $149_1 = 0, $156_1 = 0, $707$hi = 0, $708$hi = 0, $710$hi = 0, $194_1 = 0, $197_1 = 0, $230_1 = 0, $271_1 = 0, $273_1 = 0, $276_1 = 0, $289_1 = 0, $292_1 = 0, $295_1 = 0, $296_1 = 0, $302_1 = 0, $358_1 = 0, $376_1 = 0, $387_1 = 0, $390_1 = 0, $463_1 = 0, $466_1 = 0, $470_1 = 0, $479_1 = 0, $487_1 = 0, $548_1 = 0, $639_1 = 0, $687_1 = 0, $224_1 = 0, $226_1 = 0, $227_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 208 | 0; + global$0 = $7_1; + $11_1 = 0; + HEAP32[($7_1 + 204 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 200 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 196 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 192 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 188 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 160 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 156 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $11_1; + HEAP16[($7_1 + 66 | 0) >> 1] = 1; + HEAP32[($7_1 + 52 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $11_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1 + 136 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 148 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 204 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAPU8[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + } + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1320(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 200 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + $32_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1398(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, 126 | 0, $32_1 | 0, $32_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($32_1 | 0) & 1 | 0; + $50_1 = 1; + label$5 : { + if ((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != ($32_1 | 0) & 1 | 0) { + break label$5 + } + $51_1 = 0; + $50_1 = ($1399(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, $51_1 | 0, $51_1 | 0) | 0 | 0) != ($51_1 | 0); + } + HEAP32[($7_1 + 32 | 0) >> 2] = $50_1 & 1 | 0; + label$6 : { + if (!($1332(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + break label$1; + } + $65_1 = 0; + label$7 : { + if (!($1400(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != ($65_1 | 0) & 1 | 0 ? 1 : $65_1) | 0) | 0)) { + break label$7 + } + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $350(HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1283(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, 9 | 0, HEAP32[(HEAP32[($7_1 + 180 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 100 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + break label$1; + } + $101_1 = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + $102_1 = HEAP32[($101_1 + 40 | 0) >> 2] | 0; + HEAP32[($101_1 + 40 | 0) >> 2] = $102_1 + 1 | 0; + HEAP32[((HEAP32[($7_1 + 200 | 0) >> 2] | 0) + 48 | 0) >> 2] = $102_1; + HEAP32[($7_1 + 164 | 0) >> 2] = $102_1; + HEAP32[($7_1 + 152 | 0) >> 2] = 0; + HEAP32[($7_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $115_1 = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + HEAP32[($115_1 + 40 | 0) >> 2] = (HEAP32[($115_1 + 40 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 152 | 0) >> 2] = (HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + label$11 : { + if (!(HEAP32[($7_1 + 28 | 0) >> 2] | 0)) { + break label$11 + } + $1401(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, $7_1 + 136 | 0 | 0, HEAP32[(HEAP32[($7_1 + 180 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1275(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + break label$1; + } + label$13 : { + if ((HEAPU8[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$13 + } + $1402(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0); + } + $1287(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0); + label$14 : { + if (!(HEAP32[($7_1 + 28 | 0) >> 2] | 0)) { + break label$14 + } + $149_1 = 0; + $1403(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0); + $156_1 = HEAP32[($7_1 + 164 | 0) >> 2] | 0; + HEAP32[($7_1 + 156 | 0) >> 2] = $156_1; + HEAP32[($7_1 + 160 | 0) >> 2] = $156_1; + HEAP32[($7_1 + 192 | 0) >> 2] = $149_1; + HEAP32[($7_1 + 188 | 0) >> 2] = $149_1; + } + $159_1 = $7_1 + 104 | 0; + i64toi32_i32$0 = 0; + $705_1 = 0; + i64toi32_i32$1 = $159_1; + HEAP32[i64toi32_i32$1 >> 2] = $705_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $705_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $159_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $705_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $159_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $705_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 104 | 0) >> 2] = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 200 | 0) >> 2] | 0; + label$15 : { + if (!($1404($159_1 | 0, HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0) | 0)) { + break label$15 + } + break label$1; + } + i64toi32_i32$0 = 0; + $706$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($7_1 + 148 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $707$hi = i64toi32_i32$1; + i64toi32_i32$1 = 1; + $708$hi = i64toi32_i32$1; + i64toi32_i32$1 = $707$hi; + i64toi32_i32$1 = $708$hi; + i64toi32_i32$1 = $707$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $708$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $710$hi = i64toi32_i32$0; + i64toi32_i32$0 = $706$hi; + i64toi32_i32$0 = $710$hi; + i64toi32_i32$0 = $706$hi; + i64toi32_i32$0 = $710$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $706$hi; + i64toi32_i32$3 = 0; + label$16 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$16 + } + if (((HEAPU8[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$16 + } + if ((HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$16 + } + $194_1 = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + $197_1 = (HEAP32[($194_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($194_1 + 44 | 0) >> 2] = $197_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $197_1; + $366(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) | 0; + } + label$17 : { + label$18 : { + if (HEAP32[($7_1 + 92 | 0) >> 2] | 0) { + break label$18 + } + if (!((HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$18 + } + if (HEAP32[($7_1 + 32 | 0) >> 2] | 0) { + break label$18 + } + if (HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$18 + } + $1393(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, HEAP32[(HEAP32[($7_1 + 180 | 0) >> 2] | 0) >> 2] | 0 | 0); + label$19 : { + if ((HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$19 + } + $224_1 = HEAP32[($7_1 + 184 | 0) >> 2] | 0; + $226_1 = HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $227_1 = HEAP32[($7_1 + 100 | 0) >> 2] | 0; + label$20 : { + label$21 : { + if (!(HEAP32[($7_1 + 96 | 0) >> 2] | 0)) { + break label$21 + } + $230_1 = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + break label$20; + } + $230_1 = -1; + } + $1278($224_1 | 0, 138 | 0, $226_1 | 0, $227_1 | 0, $230_1 | 0, HEAP32[(HEAP32[($7_1 + 180 | 0) >> 2] | 0) >> 2] | 0 | 0, -1 | 0) | 0; + } + HEAP32[($7_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + $366(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 138 | 0, HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$23; + }; + } + break label$17; + } + HEAP16[($7_1 + 22 | 0) >> 1] = 20; + label$24 : { + if (!((HEAP32[($7_1 + 128 | 0) >> 2] | 0) & 64 | 0)) { + break label$24 + } + HEAP32[($7_1 + 32 | 0) >> 2] = 1; + } + HEAP16[($7_1 + 22 | 0) >> 1] = (HEAPU16[($7_1 + 22 | 0) >> 1] | 0) & 65535 | 0 | (HEAP32[($7_1 + 32 | 0) >> 2] | 0 ? 0 : 8) | 0; + label$25 : { + label$26 : { + if ((HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$26 + } + $271_1 = 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $271_1; + HEAP16[($7_1 + 66 | 0) >> 1] = 1; + $273_1 = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + $276_1 = (HEAP32[($273_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($273_1 + 44 | 0) >> 2] = $276_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $276_1; + $366(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 72 | 0, $271_1 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) | 0; + break label$25; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $416(HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP16[($7_1 + 66 | 0) >> 1] = HEAPU16[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $289_1 = 16; + $292_1 = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + HEAP32[($292_1 + 44 | 0) >> 2] = (HEAP32[($292_1 + 44 | 0) >> 2] | 0) + (((HEAPU16[($7_1 + 66 | 0) >> 1] | 0) << $289_1 | 0) >> $289_1 | 0) | 0; + $295_1 = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + $296_1 = HEAP32[($295_1 + 40 | 0) >> 2] | 0; + HEAP32[($295_1 + 40 | 0) >> 2] = $296_1 + 1 | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = $296_1; + $302_1 = 16; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, ((HEAPU16[($7_1 + 66 | 0) >> 1] | 0) << $302_1 | 0) >> $302_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $1405(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0); + } + $308_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1362(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, $308_1 | 0, $308_1 | 0, (HEAPU16[($7_1 + 22 | 0) >> 1] | 0) & 65535 | 0 | 0, (HEAP32[($7_1 + 164 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + label$27 : { + if (!((HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0) == ($308_1 | 0) & 1 | 0)) { + break label$27 + } + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1406(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0, $7_1 + 80 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + label$28 : { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$28 + } + $1407(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0); + } + label$29 : { + if (!($1408(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0) | 0)) { + break label$29 + } + $1288(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 136 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0) | 0; + } + label$30 : { + if (!(HEAP32[($7_1 + 96 | 0) >> 2] | 0)) { + break label$30 + } + $366(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + label$31 : { + label$32 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($7_1 + 176 | 0) >> 2] = 0; + label$33 : { + label$34 : while (1) { + $358_1 = 16; + if (!((HEAP32[($7_1 + 176 | 0) >> 2] | 0 | 0) < (((HEAPU16[($7_1 + 66 | 0) >> 1] | 0) << $358_1 | 0) >> $358_1 | 0 | 0) & 1 | 0)) { + break label$33 + } + $376_1 = 16; + $1381(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 176 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $376_1 | 0) >> $376_1 | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + (HEAP32[($7_1 + 176 | 0) >> 2] | 0) | 0 | 0); + HEAP32[($7_1 + 176 | 0) >> 2] = (HEAP32[($7_1 + 176 | 0) >> 2] | 0) + 1 | 0; + continue label$34; + }; + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + break label$31; + } + $387_1 = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + $390_1 = (HEAP32[($387_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($387_1 + 44 | 0) >> 2] = $390_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $390_1; + $1381(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0); + } + label$35 : { + label$36 : { + if (!(HEAP32[($7_1 + 88 | 0) >> 2] | 0)) { + break label$36 + } + HEAP16[($7_1 + 58 | 0) >> 1] = HEAPU16[($7_1 + 66 | 0) >> 1] | 0; + i64toi32_i32$0 = (HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 2 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $365(HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$37 : { + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$37 + } + $1373(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0); + break label$1; + } + $3289(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, 1 | 0, (HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP8[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 152 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = 0; + label$38 : { + if (!((HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$38 + } + HEAP8[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 80 | 0) >> 2] | 0) - (HEAP32[($7_1 + 164 | 0) >> 2] | 0) | 0) | 0) >> 0] = 0; + } + label$39 : { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$39 + } + HEAP8[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 84 | 0) >> 2] | 0) - (HEAP32[($7_1 + 164 | 0) >> 2] | 0) | 0) | 0) >> 0] = 0; + } + label$40 : { + if (!(HEAP32[($7_1 + 36 | 0) >> 2] | 0)) { + break label$40 + } + $1367(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$35; + } + label$41 : { + label$42 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$42 + } + $463_1 = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + $466_1 = (HEAP32[($463_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($463_1 + 44 | 0) >> 2] = $466_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $466_1; + HEAP16[($7_1 + 58 | 0) >> 1] = 0; + $470_1 = 16; + $479_1 = 16; + $1278(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, ((HEAPU16[($7_1 + 66 | 0) >> 1] | 0) << $470_1 | 0) >> $470_1 | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, $1409(HEAP32[(HEAP32[($7_1 + 204 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) | 0 | 0, ((HEAPU16[($7_1 + 66 | 0) >> 1] | 0) << $479_1 | 0) >> $479_1 | 0 | 0) | 0; + $487_1 = 16; + $353(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, ((HEAPU16[($7_1 + 66 | 0) >> 1] | 0) << $487_1 | 0) >> $487_1 | 0 | 0) | 0; + break label$41; + } + HEAP16[($7_1 + 58 | 0) >> 1] = 1; + $366(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 148 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0; + } + $1373(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0); + } + label$43 : { + if (HEAP32[($7_1 + 28 | 0) >> 2] | 0) { + break label$43 + } + HEAP32[($7_1 + 16 | 0) >> 2] = 0; + label$44 : { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$44 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1276(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $1410(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, 97 | 0, 8 & 255 | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, $7_1 + 160 | 0 | 0, $7_1 + 156 | 0 | 0) | 0; + label$45 : { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$45 + } + $1411(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + } + } + label$46 : { + label$47 : { + if (!(HEAP32[($7_1 + 88 | 0) >> 2] | 0)) { + break label$47 + } + label$48 : { + if (HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$48 + } + if (!((HEAPU8[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 160 | 0) >> 2] | 0) - (HEAP32[($7_1 + 164 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0) & 255 | 0)) { + break label$48 + } + $548_1 = 16; + $353(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, ((HEAPU16[($7_1 + 58 | 0) >> 1] | 0) << $548_1 | 0) >> $548_1 | 0 | 0) | 0; + } + break label$46; + } + label$49 : { + label$50 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$50 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$51 : { + label$52 : { + if (!(HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$52 + } + $367(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0; + break label$51; + } + $366(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 127 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0; + } + break label$49; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $367(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 42 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + } + label$53 : { + label$54 : { + if (!(HEAP32[((HEAP32[($7_1 + 180 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$54 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1056(HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $1412(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0); + $1295(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0); + label$55 : { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$55 + } + $1288(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 116 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0) | 0; + label$56 : { + if (!((HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$56 + } + HEAP8[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 20 | 0) >> 0] = 0; + } + } + $1278(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 10 | 0, 0 | 0, 1 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, -12 | 0) | 0; + $354(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 2 & 65535 | 0 | 0); + break label$53; + } + HEAP32[($7_1 + 8 | 0) >> 2] = ((HEAPU8[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0) & 1 | 0; + $639_1 = 16; + $1413(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, ((HEAPU16[($7_1 + 58 | 0) >> 1] | 0) << $639_1 | 0) >> $639_1 | 0 | 0, (HEAP32[($7_1 + 8 | 0) >> 2] | 0) & 255 | 0 | 0, 11 & 255 | 0 | 0, (HEAP32[($7_1 + 88 | 0) >> 2] | 0) & 255 | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0); + } + label$57 : { + label$58 : { + if (!(HEAP32[($7_1 + 88 | 0) >> 2] | 0)) { + break label$58 + } + $1369(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0); + $1373(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0); + break label$57; + } + label$59 : { + label$60 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$60 + } + $366(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + break label$59; + } + $1282(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + } + } + } + label$61 : { + if ((HEAPU8[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$61 + } + if (!((HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$61 + } + $1414(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0); + } + label$62 : { + if (!(HEAP32[($7_1 + 96 | 0) >> 2] | 0)) { + break label$62 + } + $685_1 = 0; + $687_1 = 1; + $366(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0, $687_1 | 0) | 0; + $374(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, $687_1 | 0); + $375(HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0, $685_1 | 0, $685_1 | 0, 33514 | 0, $685_1 | 0) | 0; + } + } + $1415($7_1 + 136 | 0 | 0); + $1143(HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 200 | 0) >> 2] | 0 | 0); + $18(HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0); + $13(HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 208 | 0; + return; + } + + function $1228($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $24_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $24_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $349($24_1 | 0, 33700 | 0, $5_1 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1229($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $45_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1397(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $1143(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + break label$2; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + $3288(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + 72 | 0 | 0, (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0 | 0, Math_imul(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0, 72) | 0) | 0; + $13(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + } + $45_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $45_1 | 0; + } + + function $1230($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, i64toi32_i32$0 = 0, $14_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $1962_1 = 0, $78_1 = 0, $213_1 = 0, $704_1 = 0, $1966$hi = 0, $1015_1 = 0, $1853_1 = 0, $1939_1 = 0, $67_1 = 0, $77_1 = 0, $89_1 = 0, $112_1 = 0, $140_1 = 0, $166_1 = 0, $192_1 = 0, $232_1 = 0, $258_1 = 0, $285_1 = 0, $356_1 = 0, $414_1 = 0, $466_1 = 0, $470_1 = 0, $1963$hi = 0, $1964$hi = 0, $575_1 = 0, $578_1 = 0, $583_1 = 0, $586_1 = 0, $605_1 = 0, $608_1 = 0, $613_1 = 0, $654_1 = 0, $657_1 = 0, $683_1 = 0, $701_1 = 0, $722_1 = 0, $725_1 = 0, $739_1 = 0, $742_1 = 0, $749_1 = 0, $752_1 = 0, $764_1 = 0, $788_1 = 0, $1967$hi = 0, $1968$hi = 0, $1970$hi = 0, $820_1 = 0, $823_1 = 0, $832_1 = 0, $837_1 = 0, $838_1 = 0, $856_1 = 0, $865_1 = 0, $868_1 = 0, $872_1 = 0, $875_1 = 0, $878_1 = 0, $886_1 = 0, $894_1 = 0, $897_1 = 0, $902_1 = 0, $903_1 = 0, $918_1 = 0, $966_1 = 0, $977_1 = 0, $1086_1 = 0, $1089_1 = 0, $1105_1 = 0, $1123_1 = 0, $1137_1 = 0, $1146_1 = 0, $1154_1 = 0, $1162_1 = 0, $1217_1 = 0, $1236_1 = 0, $1286_1 = 0, $1319_1 = 0, $1343_1 = 0, $1417_1 = 0, $1420_1 = 0, $1433_1 = 0, $1453_1 = 0, $1457_1 = 0, $1510_1 = 0, $1521_1 = 0, $1532_1 = 0, $1586_1 = 0, $1589_1 = 0, $1591_1 = 0, $1695_1 = 0, $1743_1 = 0, $1854_1 = 0, $1941_1 = 0, $333_1 = 0, $391_1 = 0, $404_1 = 0, $406_1 = 0, $3124_1 = 0, $676_1 = 0, $890_1 = 0, $1278_1 = 0, $1427_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 336 | 0; + global$0 = $10_1; + $14_1 = 0; + HEAP32[($10_1 + 332 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 328 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 324 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 320 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 316 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 312 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 308 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 304 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 284 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 280 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 240 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 236 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 224 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 220 | 0) >> 2] = -1; + HEAP32[($10_1 + 132 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 128 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 116 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 112 | 0) >> 2] = $14_1; + HEAP16[($10_1 + 110 | 0) >> 1] = 0; + HEAP32[($10_1 + 104 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 100 | 0) >> 2] = 1; + HEAP32[($10_1 + 96 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 92 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 88 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 84 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 80 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 76 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 72 | 0) >> 2] = $14_1; + HEAP32[($10_1 + 68 | 0) >> 2] = $14_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $10_1 + 208 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($10_1 + 244 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 332 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (HEAP32[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAPU8[((HEAP32[($10_1 + 244 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + } + break label$1; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1320(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 328 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 288 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($10_1 + 332 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1398(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, 127 | 0, HEAP32[($10_1 + 324 | 0) >> 2] | 0 | 0, $10_1 + 140 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 148 | 0) >> 2] = (HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + label$5 : { + label$6 : { + if (!((HEAP32[(HEAP32[($10_1 + 328 | 0) >> 2] | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$6 + } + $67_1 = HEAP32[(HEAP32[($10_1 + 324 | 0) >> 2] | 0) >> 2] | 0; + break label$5; + } + $67_1 = 0; + } + HEAP32[($10_1 + 96 | 0) >> 2] = $67_1; + label$7 : { + if (!($1332(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + break label$1; + } + label$8 : { + if (!($1400(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + break label$1; + } + $77_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $78_1 = HEAP32[($77_1 + 40 | 0) >> 2] | 0; + HEAP32[($77_1 + 40 | 0) >> 2] = $78_1 + 1 | 0; + HEAP32[($10_1 + 252 | 0) >> 2] = $78_1; + HEAP32[($10_1 + 256 | 0) >> 2] = $78_1; + HEAP32[($10_1 + 248 | 0) >> 2] = (HEAP32[($10_1 + 252 | 0) >> 2] | 0) + 1 | 0; + label$9 : { + label$10 : { + if ((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$10 + } + $89_1 = 0; + break label$9; + } + $89_1 = $416(HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($10_1 + 268 | 0) >> 2] = $89_1; + HEAP32[($10_1 + 264 | 0) >> 2] = 0; + HEAP32[($10_1 + 272 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($10_1 + 272 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) == (HEAP32[($10_1 + 272 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($10_1 + 252 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + } + $112_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[($112_1 + 40 | 0) >> 2] = (HEAP32[($112_1 + 40 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($10_1 + 272 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 272 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($10_1 + 264 | 0) >> 2] = (HEAP32[($10_1 + 264 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + label$14 : { + if (!((HEAP32[($10_1 + 304 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($10_1 + 252 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 304 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($10_1 + 248 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 304 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($10_1 + 256 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($10_1 + 328 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($10_1 + 252 | 0) >> 2] | 0; + $140_1 = 16; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $365(HEAP32[($10_1 + 244 | 0) >> 2] | 0 | 0, (((((((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $140_1 | 0) >> $140_1 | 0) + (HEAP32[($10_1 + 264 | 0) >> 2] | 0) | 0) + 1 | 0) << 2 | 0) + (HEAP32[($10_1 + 264 | 0) >> 2] | 0) | 0) + 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$15 + } + break label$1; + } + $166_1 = 16; + HEAP32[($10_1 + 240 | 0) >> 2] = (HEAP32[($10_1 + 236 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $166_1 | 0) >> $166_1 | 0) << 2 | 0) | 0; + HEAP32[($10_1 + 232 | 0) >> 2] = ((HEAP32[($10_1 + 240 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 264 | 0) >> 2] | 0) << 2 | 0) | 0) + 4 | 0; + $3289(HEAP32[($10_1 + 232 | 0) >> 2] | 0 | 0, 1 | 0, (HEAP32[($10_1 + 264 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP8[((HEAP32[($10_1 + 232 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 264 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = 0; + HEAP32[($10_1 + 300 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + $192_1 = 16; + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $192_1 | 0) >> $192_1 | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[((HEAP32[($10_1 + 236 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + HEAP32[($10_1 + 300 | 0) >> 2] = (HEAP32[($10_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + $213_1 = $10_1 + 176 | 0; + i64toi32_i32$0 = 0; + $1962_1 = 0; + i64toi32_i32$1 = $213_1; + HEAP32[i64toi32_i32$1 >> 2] = $1962_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1962_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $213_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1962_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $213_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1962_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($10_1 + 176 | 0) >> 2] = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[($10_1 + 180 | 0) >> 2] = HEAP32[($10_1 + 328 | 0) >> 2] | 0; + HEAP32[($10_1 + 184 | 0) >> 2] = HEAP32[($10_1 + 304 | 0) >> 2] | 0; + HEAP32[($10_1 + 200 | 0) >> 2] = 512; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1275(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 276 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!((HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$18 + } + break label$1; + } + $232_1 = 0; + HEAP8[($10_1 + 231 | 0) >> 0] = $232_1; + HEAP8[($10_1 + 230 | 0) >> 0] = $232_1; + HEAP32[($10_1 + 300 | 0) >> 2] = 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($10_1 + 324 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + label$21 : { + if (HEAP32[($10_1 + 96 | 0) >> 2] | 0) { + break label$21 + } + if (!($1404($10_1 + 176 | 0 | 0, HEAP32[(((HEAP32[($10_1 + 324 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$21 + } + break label$1; + } + HEAP32[($10_1 + 296 | 0) >> 2] = 0; + label$22 : { + label$23 : while (1) { + $258_1 = 16; + if (!((HEAP32[($10_1 + 296 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $258_1 | 0) >> $258_1 | 0 | 0) & 1 | 0)) { + break label$22 + } + label$24 : { + if ($88(HEAP32[((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 296 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($10_1 + 324 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$24 + } + $285_1 = 16; + label$25 : { + label$26 : { + if (!((HEAP32[($10_1 + 296 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $285_1 | 0) >> $285_1 | 0 | 0) & 1 | 0)) { + break label$26 + } + HEAP8[($10_1 + 230 | 0) >> 0] = 1; + HEAP32[($10_1 + 224 | 0) >> 2] = HEAP32[(((HEAP32[($10_1 + 324 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($10_1 + 220 | 0) >> 2] = HEAP32[($10_1 + 300 | 0) >> 2] | 0; + break label$25; + } + label$27 : { + label$28 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + if (!(((HEAPU16[(((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 296 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$28 + } + HEAP8[($10_1 + 231 | 0) >> 0] = 1; + break label$27; + } + label$29 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 296 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$29 + } + $333_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[($10_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 296 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + $349($333_1 | 0, 33723 | 0, $10_1 + 16 | 0 | 0); + break label$1; + } + } + } + HEAP32[((HEAP32[($10_1 + 236 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 296 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($10_1 + 300 | 0) >> 2] | 0; + break label$22; + } + HEAP32[($10_1 + 296 | 0) >> 2] = (HEAP32[($10_1 + 296 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + $356_1 = 16; + label$30 : { + if (!((HEAP32[($10_1 + 296 | 0) >> 2] | 0 | 0) >= (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $356_1 | 0) >> $356_1 | 0 | 0) & 1 | 0)) { + break label$30 + } + label$31 : { + label$32 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$32 + } + if (!($502(HEAP32[((((HEAP32[($10_1 + 324 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$32 + } + HEAP32[($10_1 + 296 | 0) >> 2] = -1; + HEAP8[($10_1 + 230 | 0) >> 0] = 1; + HEAP32[($10_1 + 224 | 0) >> 2] = HEAP32[(((HEAP32[($10_1 + 324 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($10_1 + 220 | 0) >> 2] = HEAP32[($10_1 + 300 | 0) >> 2] | 0; + break label$31; + } + $391_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[$10_1 >> 2] = HEAP32[((((HEAP32[($10_1 + 324 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + $349($391_1 | 0, 33759 | 0, $10_1 | 0); + HEAP8[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + break label$1; + } + } + $404_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $406_1 = HEAP32[(HEAP32[($10_1 + 288 | 0) >> 2] | 0) >> 2] | 0; + label$33 : { + label$34 : { + if (!((HEAP32[($10_1 + 296 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$34 + } + $414_1 = 28572; + break label$33; + } + $414_1 = HEAP32[((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 296 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1283($404_1 | 0, 23 | 0, $406_1 | 0, $414_1 | 0, HEAP32[((HEAP32[((HEAP32[($10_1 + 244 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 172 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$35 : { + if (!((HEAP32[($10_1 + 64 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$35 + } + break label$1; + } + label$36 : { + if (!((HEAP32[($10_1 + 64 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[((HEAP32[($10_1 + 236 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 296 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + } + HEAP32[($10_1 + 300 | 0) >> 2] = (HEAP32[($10_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + HEAP8[($10_1 + 229 | 0) >> 0] = ((HEAPU8[($10_1 + 230 | 0) >> 0] | 0) & 255 | 0) + ((HEAPU8[($10_1 + 231 | 0) >> 0] | 0) & 255 | 0) | 0; + label$37 : { + if (!((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$37 + } + label$38 : while (1) { + $466_1 = 0; + HEAP32[($10_1 + 60 | 0) >> 2] = $466_1; + HEAP32[($10_1 + 300 | 0) >> 2] = $466_1; + label$39 : { + label$40 : while (1) { + $470_1 = 16; + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $470_1 | 0) >> $470_1 | 0 | 0) & 1 | 0)) { + break label$39 + } + label$41 : { + label$42 : { + if (!((HEAP32[((HEAP32[($10_1 + 236 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$42 + } + break label$41; + } + label$43 : { + if (((HEAPU16[(((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 300 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0) { + break label$43 + } + break label$41; + } + label$44 : { + if (!($1416(HEAP32[(((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 300 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0, (HEAPU8[($10_1 + 230 | 0) >> 0] | 0) & 255 | 0 | 0) | 0)) { + break label$44 + } + HEAP32[((HEAP32[($10_1 + 236 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 99999; + HEAP32[($10_1 + 60 | 0) >> 2] = 1; + } + } + HEAP32[($10_1 + 300 | 0) >> 2] = (HEAP32[($10_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$40; + }; + } + if (HEAP32[($10_1 + 60 | 0) >> 2] | 0) { + continue label$38 + } + break label$38; + }; + } + i64toi32_i32$0 = -1; + $1963$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $1964$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1963$hi; + i64toi32_i32$0 = $1964$hi; + i64toi32_i32$4 = HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = $1963$hi; + i64toi32_i32$1 = $1964$hi; + i64toi32_i32$3 = i64toi32_i32$4 ? -1 : 0; + i64toi32_i32$2 = i64toi32_i32$4 ? i64toi32_i32$0 : i64toi32_i32$1; + $3124_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($10_1 + 328 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 64 | 0) >> 2] = $3124_1; + HEAP32[(i64toi32_i32$3 + 68 | 0) >> 2] = i64toi32_i32$2; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1399(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0, (HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$45 : { + if (!((HEAP32[($10_1 + 316 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$45 + } + HEAP32[($10_1 + 104 | 0) >> 2] = 1; + } + HEAP32[($10_1 + 260 | 0) >> 2] = 0; + HEAP32[($10_1 + 272 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$46 : { + label$47 : while (1) { + if (!((HEAP32[($10_1 + 272 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$46 + } + label$48 : { + label$49 : { + label$50 : { + if ((HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0) { + break label$50 + } + if ((HEAP32[($10_1 + 164 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0) { + break label$50 + } + if ((HEAP32[($10_1 + 272 | 0) >> 2] | 0 | 0) == (HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$50 + } + if (!($1417(HEAP32[($10_1 + 272 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0, (HEAPU8[($10_1 + 230 | 0) >> 0] | 0) & 255 | 0 | 0) | 0)) { + break label$49 + } + } + $575_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $578_1 = (HEAP32[($575_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($575_1 + 44 | 0) >> 2] = $578_1; + HEAP32[($10_1 + 56 | 0) >> 2] = $578_1; + $583_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[($583_1 + 44 | 0) >> 2] = (HEAP32[($583_1 + 44 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($10_1 + 272 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0) | 0; + break label$48; + } + $586_1 = 0; + HEAP32[($10_1 + 56 | 0) >> 2] = $586_1; + HEAP32[($10_1 + 300 | 0) >> 2] = $586_1; + label$51 : { + label$52 : while (1) { + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($10_1 + 272 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$51 + } + label$53 : { + if (!($1418(HEAP32[($10_1 + 272 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0, (HEAPU8[($10_1 + 230 | 0) >> 0] | 0) & 255 | 0 | 0) | 0)) { + break label$53 + } + $605_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $608_1 = (HEAP32[($605_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($605_1 + 44 | 0) >> 2] = $608_1; + HEAP32[($10_1 + 56 | 0) >> 2] = $608_1; + $613_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[($613_1 + 44 | 0) >> 2] = (HEAP32[($613_1 + 44 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($10_1 + 272 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$54 : { + if (!((HEAP32[($10_1 + 316 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$54 + } + if (!(((HEAPU8[((HEAP32[($10_1 + 272 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$54 + } + HEAP32[($10_1 + 104 | 0) >> 2] = 1; + } + break label$51; + } + HEAP32[($10_1 + 300 | 0) >> 2] = (HEAP32[($10_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$52; + }; + } + } + label$55 : { + if (HEAP32[($10_1 + 56 | 0) >> 2] | 0) { + break label$55 + } + HEAP8[((HEAP32[($10_1 + 232 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 260 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = 0; + } + HEAP32[((HEAP32[($10_1 + 240 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($10_1 + 56 | 0) >> 2] | 0; + HEAP32[($10_1 + 272 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 272 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($10_1 + 260 | 0) >> 2] = (HEAP32[($10_1 + 260 | 0) >> 2] | 0) + 1 | 0; + continue label$47; + }; + } + $654_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $657_1 = (HEAP32[($654_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($654_1 + 44 | 0) >> 2] = $657_1; + HEAP32[((HEAP32[($10_1 + 240 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $657_1; + label$56 : { + if (!(HEAP32[($10_1 + 104 | 0) >> 2] | 0)) { + break label$56 + } + $3289(HEAP32[($10_1 + 232 | 0) >> 2] | 0 | 0, 1 | 0, (HEAP32[($10_1 + 264 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + } + label$57 : { + if ((HEAPU8[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$57 + } + $1402(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0); + } + $676_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $683_1 = 1; + label$58 : { + if ((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$58 + } + $683_1 = (HEAP32[($10_1 + 164 | 0) >> 2] | 0 | 0) != (0 | 0); + } + $1287($676_1 | 0, $683_1 & 1 | 0 | 0, HEAP32[($10_1 + 172 | 0) >> 2] | 0 | 0); + label$59 : { + if (HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$59 + } + HEAP32[($10_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 240 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $701_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $704_1 = (HEAP32[($701_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($701_1 + 44 | 0) >> 2] = $704_1; + HEAP32[($10_1 + 84 | 0) >> 2] = $704_1; + HEAP32[($10_1 + 88 | 0) >> 2] = $704_1; + label$60 : { + label$61 : { + if ((HEAPU8[($10_1 + 231 | 0) >> 0] | 0) & 255 | 0) { + break label$61 + } + if ((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$61 + } + if (!(HEAP32[($10_1 + 164 | 0) >> 2] | 0)) { + break label$60 + } + } + HEAP32[($10_1 + 76 | 0) >> 2] = (HEAP32[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $722_1 = 16; + $725_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[($725_1 + 44 | 0) >> 2] = (HEAP32[($725_1 + 44 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $722_1 | 0) >> $722_1 | 0) | 0; + } + label$62 : { + label$63 : { + if ((HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0) { + break label$63 + } + if ((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$63 + } + if (!(HEAP32[($10_1 + 164 | 0) >> 2] | 0)) { + break label$62 + } + } + $739_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $742_1 = (HEAP32[($739_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($739_1 + 44 | 0) >> 2] = $742_1; + HEAP32[($10_1 + 84 | 0) >> 2] = $742_1; + } + HEAP32[($10_1 + 80 | 0) >> 2] = (HEAP32[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $749_1 = 16; + $752_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[($752_1 + 44 | 0) >> 2] = (HEAP32[($752_1 + 44 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $749_1 | 0) >> $749_1 | 0) | 0; + } + label$64 : { + if (!(HEAP32[($10_1 + 148 | 0) >> 2] | 0)) { + break label$64 + } + $1401(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, $10_1 + 208 | 0 | 0, HEAP32[(HEAP32[($10_1 + 288 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$65 : { + if (HEAP32[($10_1 + 96 | 0) >> 2] | 0) { + break label$65 + } + if (!(HEAP32[($10_1 + 148 | 0) >> 2] | 0)) { + break label$65 + } + $764_1 = 0; + $1403(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 320 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 312 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0); + HEAP32[($10_1 + 312 | 0) >> 2] = $764_1; + HEAP32[($10_1 + 308 | 0) >> 2] = $764_1; + } + label$66 : { + if (HEAP32[($10_1 + 96 | 0) >> 2] | 0) { + break label$66 + } + if (!($1404($10_1 + 176 | 0 | 0, HEAP32[($10_1 + 320 | 0) >> 2] | 0 | 0) | 0)) { + break label$66 + } + break label$1; + } + label$67 : { + if (!(HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$67 + } + $1419(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 328 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 324 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 320 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 316 | 0) >> 2] | 0 | 0); + break label$1; + } + i64toi32_i32$2 = 0; + $1966$hi = i64toi32_i32$2; + $788_1 = $1358(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($10_1 + 160 | 0) >> 2] = $788_1; + HEAP32[($10_1 + 156 | 0) >> 2] = $788_1; + i64toi32_i32$4 = HEAP32[($10_1 + 244 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$4 + 36 | 0) >> 2] | 0; + $1967$hi = i64toi32_i32$3; + i64toi32_i32$3 = 1; + $1968$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1967$hi; + i64toi32_i32$3 = $1968$hi; + i64toi32_i32$3 = $1967$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $1968$hi; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $1970$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1966$hi; + i64toi32_i32$2 = $1970$hi; + i64toi32_i32$2 = $1966$hi; + i64toi32_i32$2 = $1970$hi; + i64toi32_i32$3 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + i64toi32_i32$4 = $1966$hi; + i64toi32_i32$0 = 0; + label$68 : { + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$68 + } + if ((HEAP32[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$68 + } + if (((HEAPU8[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$68 + } + if (!((HEAP32[($10_1 + 304 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$68 + } + $820_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $823_1 = (HEAP32[($820_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($820_1 + 44 | 0) >> 2] = $823_1; + HEAP32[($10_1 + 92 | 0) >> 2] = $823_1; + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0) | 0; + } + label$69 : { + label$70 : { + if (HEAP32[($10_1 + 96 | 0) >> 2] | 0) { + break label$70 + } + if ((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$70 + } + $832_1 = 0; + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 72 | 0, $832_1 | 0, HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0; + $837_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $838_1 = HEAP32[($837_1 + 40 | 0) >> 2] | 0; + HEAP32[($837_1 + 40 | 0) >> 2] = $838_1 + 1 | 0; + HEAP32[($10_1 + 132 | 0) >> 2] = $838_1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, $832_1 | 0, HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + break label$69; + } + label$71 : { + label$72 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$72 + } + $856_1 = (HEAPU16[((HEAP32[($10_1 + 268 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + break label$71; + } + $856_1 = 0; + } + HEAP16[($10_1 + 110 | 0) >> 1] = $856_1; + HEAP32[($10_1 + 112 | 0) >> 2] = (HEAP32[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $865_1 = 16; + $868_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[($868_1 + 44 | 0) >> 2] = (HEAP32[($868_1 + 44 | 0) >> 2] | 0) + (((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $865_1 | 0) >> $865_1 | 0) | 0; + $872_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + HEAP32[($872_1 + 44 | 0) >> 2] = (HEAP32[($872_1 + 44 | 0) >> 2] | 0) + (HEAP32[($10_1 + 96 | 0) >> 2] | 0) | 0; + $875_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $878_1 = (HEAP32[($875_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($875_1 + 44 | 0) >> 2] = $878_1; + HEAP32[($10_1 + 68 | 0) >> 2] = $878_1; + label$73 : { + if (!((HEAP32[($10_1 + 304 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$73 + } + $886_1 = 16; + $890_1 = (((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $886_1 | 0) >> $886_1 | 0) + (HEAP32[($10_1 + 96 | 0) >> 2] | 0) | 0; + label$74 : { + label$75 : { + if (!(HEAP32[($10_1 + 148 | 0) >> 2] | 0)) { + break label$75 + } + $894_1 = 16; + $897_1 = ((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $894_1 | 0) >> $894_1 | 0; + break label$74; + } + $897_1 = 0; + } + HEAP32[($10_1 + 52 | 0) >> 2] = $890_1 + $897_1 | 0; + $902_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $903_1 = HEAP32[($902_1 + 40 | 0) >> 2] | 0; + HEAP32[($902_1 + 40 | 0) >> 2] = $903_1 + 1 | 0; + HEAP32[($10_1 + 132 | 0) >> 2] = $903_1; + label$76 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$76 + } + $918_1 = 16; + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0, ((HEAP32[($10_1 + 112 | 0) >> 2] | 0) + (((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $918_1 | 0) >> $918_1 | 0) | 0) - 1 | 0 | 0) | 0; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$77 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$77 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1394(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$78 : { + if (!((HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$78 + } + HEAP16[((HEAP32[($10_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAP32[($10_1 + 52 | 0) >> 2] | 0; + $1420(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0, -9 | 0); + } + } + label$79 : { + if (!(HEAP32[($10_1 + 96 | 0) >> 2] | 0)) { + break label$79 + } + $1421(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 324 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 328 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 320 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 312 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 308 | 0) >> 2] | 0 | 0); + label$80 : { + if (!(HEAP32[($10_1 + 148 | 0) >> 2] | 0)) { + break label$80 + } + HEAP32[($10_1 + 252 | 0) >> 2] = HEAP32[($10_1 + 132 | 0) >> 2] | 0; + } + } + } + } + label$81 : { + label$82 : { + if (!(HEAP32[($10_1 + 96 | 0) >> 2] | 0)) { + break label$82 + } + $1407(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0); + HEAP32[($10_1 + 168 | 0) >> 2] = 0; + $966_1 = 16; + HEAP32[($10_1 + 128 | 0) >> 2] = ((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $966_1 | 0) >> $966_1 | 0; + HEAP32[($10_1 + 68 | 0) >> 2] = HEAP32[($10_1 + 112 | 0) >> 2] | 0; + break label$81; + } + label$83 : { + label$84 : { + if (!((HEAP32[($10_1 + 304 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$84 + } + $977_1 = 0; + HEAP32[($10_1 + 280 | 0) >> 2] = $977_1; + HEAP32[($10_1 + 168 | 0) >> 2] = 1; + $1390(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 320 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 160 | 0) >> 2] | 0 | 0, 16 | 0); + HEAP32[($10_1 + 100 | 0) >> 2] = $977_1; + break label$83; + } + HEAP32[($10_1 + 152 | 0) >> 2] = 4; + label$85 : { + if (((HEAPU8[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$85 + } + if ((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$85 + } + if (HEAP32[($10_1 + 164 | 0) >> 2] | 0) { + break label$85 + } + if (((HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$85 + } + if (HEAP32[($10_1 + 104 | 0) >> 2] | 0) { + break label$85 + } + HEAP32[($10_1 + 152 | 0) >> 2] = HEAP32[($10_1 + 152 | 0) >> 2] | 0 | 8 | 0; + } + $1015_1 = 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1362(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 328 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 320 | 0) >> 2] | 0 | 0, $1015_1 | 0, $1015_1 | 0, (HEAP32[($10_1 + 152 | 0) >> 2] | 0) & 65535 | 0 | 0, HEAP32[($10_1 + 248 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 280 | 0) >> 2] = wasm2js_i32$1; + label$86 : { + if (!((HEAP32[($10_1 + 280 | 0) >> 2] | 0 | 0) == ($1015_1 | 0) & 1 | 0)) { + break label$86 + } + break label$1; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1406(HEAP32[($10_1 + 280 | 0) >> 2] | 0 | 0, $10_1 + 120 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1408(HEAP32[($10_1 + 280 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$87 : { + if (!((HEAP32[($10_1 + 168 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$87 + } + $1407(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0); + label$88 : { + if (!((HEAP32[($10_1 + 168 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$88 + } + HEAP32[($10_1 + 44 | 0) >> 2] = HEAP32[($10_1 + 124 | 0) >> 2] | 0; + label$89 : { + if (!((HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$89 + } + if (!((HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0) != (HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$89 + } + if (!((HEAPU8[((HEAP32[($10_1 + 232 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 44 | 0) >> 2] | 0) - (HEAP32[($10_1 + 256 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0) & 255 | 0)) { + break label$89 + } + HEAP32[($10_1 + 168 | 0) >> 2] = 0; + } + } + } + } + label$90 : { + label$91 : { + if ((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$91 + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0; + label$92 : { + label$93 : { + if (HEAP32[($10_1 + 168 | 0) >> 2] | 0) { + break label$93 + } + $1086_1 = HEAP32[($10_1 + 332 | 0) >> 2] | 0; + $1089_1 = (HEAP32[($1086_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1086_1 + 44 | 0) >> 2] = $1089_1; + HEAP32[((HEAP32[($10_1 + 240 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $1089_1; + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0; + break label$92; + } + label$94 : { + if (!(HEAP32[($10_1 + 116 | 0) >> 2] | 0)) { + break label$94 + } + $1367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 116 | 0) >> 2] | 0 | 0) | 0; + } + } + break label$90; + } + HEAP32[($10_1 + 300 | 0) >> 2] = 0; + label$95 : { + label$96 : while (1) { + $1105_1 = 16; + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < (((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $1105_1 | 0) >> $1105_1 | 0 | 0) & 1 | 0)) { + break label$95 + } + $1123_1 = 16; + $1381(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[((HEAP32[($10_1 + 268 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $1123_1 | 0) >> $1123_1 | 0 | 0, (HEAP32[($10_1 + 112 | 0) >> 2] | 0) + (HEAP32[($10_1 + 300 | 0) >> 2] | 0) | 0 | 0); + HEAP32[($10_1 + 300 | 0) >> 2] = (HEAP32[($10_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$96; + }; + } + label$97 : { + label$98 : { + if (!(HEAP32[($10_1 + 168 | 0) >> 2] | 0)) { + break label$98 + } + label$99 : { + if (!(HEAP32[($10_1 + 116 | 0) >> 2] | 0)) { + break label$99 + } + $1367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 116 | 0) >> 2] | 0 | 0) | 0; + } + $1137_1 = 16; + HEAP32[($10_1 + 128 | 0) >> 2] = ((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $1137_1 | 0) >> $1137_1 | 0; + HEAP32[($10_1 + 68 | 0) >> 2] = HEAP32[($10_1 + 112 | 0) >> 2] | 0; + break label$97; + } + $1146_1 = 16; + $1154_1 = 16; + $1278(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0, ((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $1146_1 | 0) >> $1146_1 | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, $1409(HEAP32[($10_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) | 0 | 0, ((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $1154_1 | 0) >> $1154_1 | 0 | 0) | 0; + $1162_1 = 16; + $353(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0, ((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $1162_1 | 0) >> $1162_1 | 0 | 0) | 0; + } + } + } + label$100 : { + if (!((HEAP32[($10_1 + 304 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$100 + } + label$101 : { + if (HEAP32[($10_1 + 96 | 0) >> 2] | 0) { + break label$101 + } + if (!((HEAP32[($10_1 + 168 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$101 + } + $1373(HEAP32[($10_1 + 280 | 0) >> 2] | 0 | 0); + } + label$102 : { + if (HEAP32[($10_1 + 148 | 0) >> 2] | 0) { + break label$102 + } + HEAP32[($10_1 + 40 | 0) >> 2] = 0; + label$103 : { + if (!(HEAP32[($10_1 + 168 | 0) >> 2] | 0)) { + break label$103 + } + label$104 : { + if (!((HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$104 + } + HEAP8[((HEAP32[($10_1 + 232 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 120 | 0) >> 2] | 0) - (HEAP32[($10_1 + 256 | 0) >> 2] | 0) | 0) | 0) >> 0] = 0; + } + label$105 : { + if (!((HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$105 + } + HEAP8[((HEAP32[($10_1 + 232 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 124 | 0) >> 2] | 0) - (HEAP32[($10_1 + 256 | 0) >> 2] | 0) | 0) | 0) >> 0] = 0; + } + } + label$106 : { + if (!((HEAP32[($10_1 + 168 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$106 + } + $1217_1 = 0; + if (!(((HEAP32[($10_1 + 264 | 0) >> 2] | 0) - ((HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0) >= ($1217_1 | 0) & 1 | 0) | 0 | 0) > ($1217_1 | 0) & 1 | 0)) { + break label$106 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1276(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + $1236_1 = 0; + $1410(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, 97 | 0, 0 & 255 | 0 | 0, HEAP32[($10_1 + 256 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 232 | 0) >> 2] | 0 | 0, $1236_1 | 0, $1236_1 | 0) | 0; + label$107 : { + if (!(HEAP32[($10_1 + 40 | 0) >> 2] | 0)) { + break label$107 + } + $1411(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0); + } + } + label$108 : { + label$109 : { + if (!(HEAP32[($10_1 + 168 | 0) >> 2] | 0)) { + break label$109 + } + label$110 : { + if (HEAP32[($10_1 + 148 | 0) >> 2] | 0) { + break label$110 + } + if (!((HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0) != (HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$110 + } + if (!((HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0) != (HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$110 + } + $353(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 128 | 0) >> 2] | 0 | 0) | 0; + } + label$111 : { + if (!((HEAP32[($10_1 + 168 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$111 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1358(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + } + $1278_1 = HEAP32[($10_1 + 276 | 0) >> 2] | 0; + label$112 : { + label$113 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$113 + } + $1286_1 = HEAP32[($10_1 + 68 | 0) >> 2] | 0; + break label$112; + } + $1286_1 = HEAP32[($10_1 + 88 | 0) >> 2] | 0; + } + $366($1278_1 | 0, 50 | 0, $1286_1 | 0, HEAP32[($10_1 + 160 | 0) >> 2] | 0 | 0) | 0; + break label$108; + } + label$114 : { + label$115 : { + label$116 : { + if ((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$116 + } + if (!(HEAP32[($10_1 + 96 | 0) >> 2] | 0)) { + break label$115 + } + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1358(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 160 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1296(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 284 | 0) >> 2] = wasm2js_i32$1; + label$117 : { + label$118 : { + if (!(HEAP32[($10_1 + 96 | 0) >> 2] | 0)) { + break label$118 + } + label$119 : { + if (HEAP32[($10_1 + 148 | 0) >> 2] | 0) { + break label$119 + } + label$120 : { + label$121 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$121 + } + HEAP32[($10_1 + 300 | 0) >> 2] = 0; + label$122 : { + label$123 : while (1) { + $1319_1 = 16; + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < (((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $1319_1 | 0) >> $1319_1 | 0 | 0) & 1 | 0)) { + break label$122 + } + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 112 | 0) >> 2] | 0) + (HEAP32[($10_1 + 300 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($10_1 + 300 | 0) >> 2] = (HEAP32[($10_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$123; + }; + } + $1343_1 = 16; + $353(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0, ((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $1343_1 | 0) >> $1343_1 | 0 | 0) | 0; + break label$120; + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0; + } + } + break label$117; + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 127 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + break label$114; + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 160 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1358(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 284 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0; + } + } + } + label$124 : { + if (!(((HEAPU8[($10_1 + 230 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$124 + } + label$125 : { + label$126 : { + if (HEAP32[($10_1 + 96 | 0) >> 2] | 0) { + break label$126 + } + $1281(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0); + break label$125; + } + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 220 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0) | 0; + } + $1288(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 15 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0) | 0; + } + label$127 : { + label$128 : { + if ((HEAPU8[($10_1 + 231 | 0) >> 0] | 0) & 255 | 0) { + break label$128 + } + if (HEAP32[($10_1 + 164 | 0) >> 2] | 0) { + break label$128 + } + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$127 + } + } + label$129 : { + label$130 : { + if (!(HEAP32[($10_1 + 164 | 0) >> 2] | 0)) { + break label$130 + } + $1417_1 = $1422(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0) | 0; + break label$129; + } + $1417_1 = 0; + } + $1420_1 = 0; + HEAP32[($10_1 + 36 | 0) >> 2] = $1417_1; + $1427_1 = $1423(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 324 | 0) >> 2] | 0 | 0, $1420_1 | 0, 3 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 316 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($10_1 + 36 | 0) >> 2] = HEAP32[($10_1 + 36 | 0) >> 2] | 0 | $1427_1 | 0; + HEAP32[($10_1 + 300 | 0) >> 2] = $1420_1; + label$131 : { + label$132 : while (1) { + $1433_1 = 16; + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1433_1 | 0) >> $1433_1 | 0 | 0) & 1 | 0)) { + break label$131 + } + HEAP32[($10_1 + 32 | 0) >> 2] = (HEAPU16[(((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 300 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0; + $1453_1 = 16; + $1457_1 = 16; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = ((($1424(HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << $1453_1 | 0) >> $1453_1 | 0 | 0) | 0) << $1457_1 | 0) >> $1457_1 | 0) + (HEAP32[($10_1 + 76 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 292 | 0) >> 2] = wasm2js_i32$1; + label$133 : { + label$134 : { + label$135 : { + if ((HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { + break label$135 + } + label$136 : { + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < (32 | 0) & 1 | 0)) { + break label$136 + } + if ((HEAP32[($10_1 + 36 | 0) >> 2] | 0) & (1 << (HEAP32[($10_1 + 300 | 0) >> 2] | 0) | 0) | 0) { + break label$135 + } + } + if (!((HEAP32[($10_1 + 32 | 0) >> 2] | 0) & 1 | 0)) { + break label$134 + } + } + $1381(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 292 | 0) >> 2] | 0 | 0); + break label$133; + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($10_1 + 292 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($10_1 + 300 | 0) >> 2] = (HEAP32[($10_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$132; + }; + } + label$137 : { + if ((HEAPU8[($10_1 + 230 | 0) >> 0] | 0) & 255 | 0) { + break label$137 + } + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$137 + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 77 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0) | 0; + } + } + $1510_1 = 1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1423(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 324 | 0) >> 2] | 0 | 0, $1510_1 | 0, $1510_1 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 316 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 300 | 0) >> 2] = 0; + HEAP32[($10_1 + 292 | 0) >> 2] = HEAP32[($10_1 + 80 | 0) >> 2] | 0; + label$138 : { + label$139 : while (1) { + $1521_1 = 16; + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1521_1 | 0) >> $1521_1 | 0 | 0) & 1 | 0)) { + break label$138 + } + $1532_1 = 16; + label$140 : { + label$141 : { + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $1532_1 | 0) >> $1532_1 | 0 | 0) & 1 | 0)) { + break label$141 + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($10_1 + 292 | 0) >> 2] | 0 | 0) | 0; + break label$140; + } + label$142 : { + label$143 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 300 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$143 + } + label$144 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 300 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$144 + } + HEAP32[($10_1 + 292 | 0) >> 2] = (HEAP32[($10_1 + 292 | 0) >> 2] | 0) + -1 | 0; + } + break label$142; + } + HEAP32[($10_1 + 296 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 236 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$145 : { + label$146 : { + if (!((HEAP32[($10_1 + 296 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$146 + } + label$147 : { + label$148 : { + if (!(HEAP32[($10_1 + 96 | 0) >> 2] | 0)) { + break label$148 + } + label$149 : { + label$150 : { + if (!(HEAP32[($10_1 + 148 | 0) >> 2] | 0)) { + break label$150 + } + $1586_1 = 16; + $1589_1 = ((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1586_1 | 0) >> $1586_1 | 0; + break label$149; + } + $1591_1 = 16; + $1589_1 = ((HEAPU16[($10_1 + 110 | 0) >> 1] | 0) << $1591_1 | 0) >> $1591_1 | 0; + } + HEAP32[($10_1 + 28 | 0) >> 2] = $1589_1; + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 28 | 0) >> 2] | 0) + (HEAP32[($10_1 + 296 | 0) >> 2] | 0) | 0 | 0, HEAP32[($10_1 + 292 | 0) >> 2] | 0 | 0) | 0; + break label$147; + } + $1281(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($10_1 + 324 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 296 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 292 | 0) >> 2] | 0 | 0); + } + break label$145; + } + label$151 : { + label$152 : { + label$153 : { + if ((0 | 0) == ((HEAP32[($10_1 + 140 | 0) >> 2] | 0) & 1 | 0 | 0) & 1 | 0) { + break label$153 + } + if ((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) > (31 | 0) & 1 | 0) { + break label$153 + } + if (!((HEAP32[($10_1 + 136 | 0) >> 2] | 0) & (1 << (HEAP32[($10_1 + 300 | 0) >> 2] | 0) | 0) | 0)) { + break label$152 + } + } + $1381(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 292 | 0) >> 2] | 0 | 0); + HEAP32[($10_1 + 100 | 0) >> 2] = 0; + break label$151; + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($10_1 + 292 | 0) >> 2] | 0 | 0) | 0; + } + } + } + } + HEAP32[($10_1 + 300 | 0) >> 2] = (HEAP32[($10_1 + 300 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($10_1 + 292 | 0) >> 2] = (HEAP32[($10_1 + 292 | 0) >> 2] | 0) + 1 | 0; + continue label$139; + }; + } + label$154 : { + if (!((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$154 + } + $1425(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0); + } + label$155 : { + if (!((HEAP32[($10_1 + 140 | 0) >> 2] | 0) & 1 | 0)) { + break label$155 + } + $1300(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0); + $1426(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0, 127 | 0, HEAP32[($10_1 + 324 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 316 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0); + label$156 : { + if (HEAP32[($10_1 + 148 | 0) >> 2] | 0) { + break label$156 + } + label$157 : { + label$158 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$158 + } + $353(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 128 | 0) >> 2] | 0 | 0) | 0; + break label$157; + } + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($10_1 + 300 | 0) >> 2] = 0; + HEAP32[($10_1 + 292 | 0) >> 2] = HEAP32[($10_1 + 80 | 0) >> 2] | 0; + label$159 : { + label$160 : while (1) { + $1695_1 = 16; + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1695_1 | 0) >> $1695_1 | 0 | 0) & 1 | 0)) { + break label$159 + } + label$161 : { + label$162 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 300 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$162 + } + label$163 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($10_1 + 300 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$163 + } + HEAP32[($10_1 + 292 | 0) >> 2] = (HEAP32[($10_1 + 292 | 0) >> 2] | 0) + -1 | 0; + } + break label$161; + } + label$164 : { + if (!((HEAP32[((HEAP32[($10_1 + 236 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 300 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$164 + } + $1743_1 = 16; + if (!((HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0) != (((HEAPU16[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $1743_1 | 0) >> $1743_1 | 0 | 0) & 1 | 0)) { + break label$164 + } + $1381(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 300 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 292 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($10_1 + 300 | 0) >> 2] = (HEAP32[($10_1 + 300 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($10_1 + 292 | 0) >> 2] = (HEAP32[($10_1 + 292 | 0) >> 2] | 0) + 1 | 0; + continue label$160; + }; + } + label$165 : { + if (!((HEAP32[((HEAP32[($10_1 + 288 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$165 + } + $1425(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0); + } + } + } + label$166 : { + if (HEAP32[($10_1 + 148 | 0) >> 2] | 0) { + break label$166 + } + $1427(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 240 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, (HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAP32[($10_1 + 316 | 0) >> 2] | 0) & 255 | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, $10_1 + 104 | 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0, 0 | 0); + label$167 : { + label$168 : { + if (HEAP32[($10_1 + 104 | 0) >> 2] | 0) { + break label$168 + } + if (!((HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0)) { + break label$167 + } + } + label$169 : { + label$170 : { + if (!((HEAP32[($10_1 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$170 + } + $353(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 128 | 0) >> 2] | 0 | 0) | 0; + break label$169; + } + $367(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0; + } + } + label$171 : { + if (!(HEAP32[($10_1 + 164 | 0) >> 2] | 0)) { + break label$171 + } + $1428(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0, (HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0 | 0); + } + $1429(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 240 | 0) >> 2] | 0 | 0, -1 | 0); + label$172 : { + if (!(HEAP32[($10_1 + 100 | 0) >> 2] | 0)) { + break label$172 + } + $1288(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 136 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0) | 0; + } + label$173 : { + label$174 : { + if ((HEAP32[($10_1 + 164 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0) { + break label$174 + } + if (!((HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0)) { + break label$173 + } + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 123 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + label$175 : { + if (!(HEAP32[($10_1 + 164 | 0) >> 2] | 0)) { + break label$175 + } + $1428(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0, (HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0 | 0); + } + $1853_1 = 0; + $1854_1 = 2; + $1430(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 252 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 240 | 0) >> 2] | 0 | 0, ((HEAP32[($10_1 + 168 | 0) >> 2] | 0 | 0) == ($1854_1 | 0) & 1 | 0 ? $1854_1 : $1853_1) | 4 | 0 | 0, $1853_1 | 0, $1853_1 | 0); + label$176 : { + if (!(HEAP32[($10_1 + 164 | 0) >> 2] | 0)) { + break label$176 + } + $1431(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 324 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0, (HEAPU8[($10_1 + 229 | 0) >> 0] | 0) & 255 | 0 | 0); + } + } + label$177 : { + if (!(HEAP32[($10_1 + 92 | 0) >> 2] | 0)) { + break label$177 + } + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + $1426(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0, 127 | 0, HEAP32[($10_1 + 324 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($10_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 316 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0); + label$178 : { + label$179 : { + if (!((HEAP32[($10_1 + 168 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$179 + } + break label$178; + } + label$180 : { + label$181 : { + if (!((HEAP32[($10_1 + 168 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$181 + } + $1369(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0); + $1373(HEAP32[($10_1 + 280 | 0) >> 2] | 0 | 0); + break label$180; + } + $1369(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0); + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 284 | 0) >> 2] | 0 | 0) | 0; + } + } + $1369(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 160 | 0) >> 2] | 0 | 0); + label$182 : { + if ((HEAPU8[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$182 + } + if (!((HEAP32[((HEAP32[($10_1 + 332 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$182 + } + if (!((HEAP32[($10_1 + 304 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$182 + } + $1414(HEAP32[($10_1 + 332 | 0) >> 2] | 0 | 0); + } + label$183 : { + if (!(HEAP32[($10_1 + 92 | 0) >> 2] | 0)) { + break label$183 + } + $1939_1 = 0; + $1941_1 = 1; + $366(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, $1941_1 | 0) | 0; + $374(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, $1941_1 | 0); + $375(HEAP32[($10_1 + 276 | 0) >> 2] | 0 | 0, $1939_1 | 0, $1939_1 | 0, 33778 | 0, $1939_1 | 0) | 0; + } + } + $1415($10_1 + 208 | 0 | 0); + $13(HEAP32[($10_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 236 | 0) >> 2] | 0 | 0); + $1143(HEAP32[($10_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 328 | 0) >> 2] | 0 | 0); + $382(HEAP32[($10_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 324 | 0) >> 2] | 0 | 0); + $18(HEAP32[($10_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 320 | 0) >> 2] | 0 | 0); + global$0 = $10_1 + 336 | 0; + return; + } + + function $1231($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $18_1 = 0, $48_1 = 0, $46_1 = 0, $54_1 = 0, $56_1 = 0, $165_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + } + $18_1 = 0; + } + HEAP32[($6_1 + 16 | 0) >> 2] = $18_1; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + break label$3; + } + label$5 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$3; + } + label$6 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (136 | 0) & 1 | 0)) { + break label$6 + } + $46_1 = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $48_1 = $1432(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $48_1; + if (!(($46_1 | 0) != ($48_1 | 0) & 1 | 0)) { + break label$6 + } + $54_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $56_1 = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $56_1; + $349($54_1 | 0, 26935 | 0, $6_1 | 0); + break label$3; + } + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1433(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + label$10 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + break label$9; + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1214(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[((((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) + (((HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = 0; + } + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + label$12 : { + if (((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$12 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$12 + } + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + } + $1242(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + $19(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + $165_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $165_1 | 0; + } + + function $1232($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $9_1 = 0, i64toi32_i32$2 = 0, $1300_1 = 0, $1446_1 = 0, $72_1 = 0, $472_1 = 0, $1447$hi = 0, i64toi32_i32$3 = 0, $1424_1 = 0, $10_1 = 0, $20_1 = 0, $39_1 = 0, $128_1 = 0, $158_1 = 0, $161_1 = 0, $166_1 = 0, $174_1 = 0, $178_1 = 0, $229_1 = 0, $270_1 = 0, $305_1 = 0, $360_1 = 0, $362_1 = 0, $365_1 = 0, $378_1 = 0, $386_1 = 0, $435_1 = 0, $436_1 = 0, $511_1 = 0, $555_1 = 0, $591_1 = 0, $605_1 = 0, $1448$hi = 0, $1449$hi = 0, $1451$hi = 0, $661_1 = 0, $664_1 = 0, $668_1 = 0, $707_1 = 0, $710_1 = 0, $720_1 = 0, $728_1 = 0, $731_1 = 0, $814_1 = 0, $827_1 = 0, $832_1 = 0, $843_1 = 0, $862_1 = 0, $916_1 = 0, $1024_1 = 0, $1087_1 = 0, $1116_1 = 0, $1128_1 = 0, $1278_1 = 0, $1293_1 = 0, $1327_1 = 0, $1373_1 = 0, $1426_1 = 0, $121_1 = 0, $290_1 = 0, $332_1 = 0, $333_1 = 0, $601_1 = 0, $602_1 = 0, $609_1 = 0, $630_1 = 0, $631_1 = 0, $746_1 = 0, $1285_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 336 | 0; + global$0 = $8_1; + $9_1 = 0; + $10_1 = 0; + HEAP32[($8_1 + 332 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 328 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 324 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 320 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 316 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 312 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 280 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 276 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 272 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 268 | 0) >> 2] = -1; + HEAP32[($8_1 + 260 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 256 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 252 | 0) >> 2] = $9_1; + HEAP8[($8_1 + 219 | 0) >> 0] = $10_1; + HEAP8[($8_1 + 218 | 0) >> 0] = $10_1; + HEAP32[($8_1 + 212 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 204 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 200 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 196 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 180 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 308 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 332 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (HEAP32[((HEAP32[($8_1 + 332 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAPU8[((HEAP32[($8_1 + 308 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + } + break label$1; + } + $20_1 = 0; + HEAP32[($8_1 + 228 | 0) >> 2] = $20_1; + label$4 : { + if (!((HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0) != ($20_1 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($8_1 + 324 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 512 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($8_1 + 324 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $39_1 = 0; + HEAP32[($8_1 + 212 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 324 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 324 | 0) >> 2] | 0) + 28 | 0) >> 2] = $39_1; + $1139(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 324 | 0) >> 2] = $39_1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1320(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 328 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 304 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $350(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!($1283(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, 18 | 0, HEAP32[(HEAP32[($8_1 + 304 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[((HEAP32[($8_1 + 308 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 220 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + break label$1; + } + $72_1 = 0; + HEAP8[($8_1 + 217 | 0) >> 0] = (((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0 | 0) == ($72_1 | 0) ^ -1 | 0) & 1 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1398(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, 125 | 0, $72_1 | 0, $8_1 + 168 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 176 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($72_1 | 0) & 1 | 0; + label$7 : { + if (!($1332(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + break label$1; + } + label$8 : { + if (!($1400(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1275(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 292 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + break label$1; + } + label$10 : { + if ((HEAPU8[((HEAP32[($8_1 + 332 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$10 + } + $1402(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0); + } + $121_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + $128_1 = 1; + label$11 : { + if ((HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$11 + } + $128_1 = (HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0) != (0 | 0); + } + $1287($121_1 | 0, $128_1 & 1 | 0 | 0, HEAP32[($8_1 + 220 | 0) >> 2] | 0 | 0); + label$12 : { + label$13 : { + if (!((HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + if (!($1434(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 316 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 220 | 0) >> 2] | 0 | 0) | 0)) { + break label$13 + } + break label$12; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1435(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 220 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 200 | 0) >> 2] = wasm2js_i32$1; + $158_1 = (HEAP32[((HEAP32[($8_1 + 332 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 192 | 0) >> 2] = $158_1; + HEAP32[($8_1 + 188 | 0) >> 2] = $158_1; + $161_1 = 16; + $166_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + HEAP32[($166_1 + 44 | 0) >> 2] = (HEAP32[($166_1 + 44 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $161_1 | 0) >> $161_1 | 0) + 1 | 0) | 0; + label$14 : { + if (!(HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$14 + } + HEAP32[($8_1 + 188 | 0) >> 2] = (HEAP32[($8_1 + 188 | 0) >> 2] | 0) + 1 | 0; + $174_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + HEAP32[($174_1 + 44 | 0) >> 2] = (HEAP32[($174_1 + 44 | 0) >> 2] | 0) + 1 | 0; + } + $178_1 = 0; + HEAP32[($8_1 + 184 | 0) >> 2] = (HEAP32[($8_1 + 188 | 0) >> 2] | 0) + 1 | 0; + HEAP8[($8_1 + 216 | 0) >> 0] = ((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1088 | 0 | 0) == ($178_1 | 0) & 1 | 0; + label$15 : { + if (!((HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0) != ($178_1 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($8_1 + 300 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($8_1 + 300 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 320 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[(((HEAP32[(HEAP32[($8_1 + 320 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($8_1 + 300 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] = -1; + HEAP32[($8_1 + 300 | 0) >> 2] = (HEAP32[($8_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + HEAP32[($8_1 + 300 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($8_1 + 300 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 320 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($8_1 + 296 | 0) >> 2] = 0; + label$20 : { + label$21 : while (1) { + $229_1 = 16; + if (!((HEAP32[($8_1 + 296 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $229_1 | 0) >> $229_1 | 0 | 0) & 1 | 0)) { + break label$20 + } + label$22 : { + if ($88(HEAP32[((HEAP32[(HEAP32[($8_1 + 320 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($8_1 + 300 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 296 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0) | 0) { + break label$22 + } + HEAP32[(((HEAP32[(HEAP32[($8_1 + 320 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($8_1 + 300 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 296 | 0) >> 2] | 0; + label$23 : { + if (!((HEAP32[($8_1 + 300 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 296 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + HEAP8[($8_1 + 216 | 0) >> 0] = 0; + } + $270_1 = 16; + label$24 : { + if (!((HEAP32[($8_1 + 296 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $270_1 | 0) >> $270_1 | 0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($8_1 + 268 | 0) >> 2] = HEAP32[($8_1 + 300 | 0) >> 2] | 0; + } + label$25 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 296 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$25 + } + $290_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + HEAP32[$8_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 296 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + $349($290_1 | 0, 33800 | 0, $8_1 | 0); + break label$1; + } + break label$20; + } + HEAP32[($8_1 + 296 | 0) >> 2] = (HEAP32[($8_1 + 296 | 0) >> 2] | 0) + 1 | 0; + continue label$21; + }; + } + $305_1 = 16; + label$26 : { + if (!((HEAP32[($8_1 + 296 | 0) >> 2] | 0 | 0) >= (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $305_1 | 0) >> $305_1 | 0 | 0) & 1 | 0)) { + break label$26 + } + label$27 : { + label$28 : { + if (!($502(HEAP32[((HEAP32[(HEAP32[($8_1 + 320 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($8_1 + 300 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$28 + } + if (((HEAPU8[($8_1 + 217 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$28 + } + HEAP32[($8_1 + 268 | 0) >> 2] = HEAP32[($8_1 + 300 | 0) >> 2] | 0; + HEAP8[($8_1 + 216 | 0) >> 0] = 0; + break label$27; + } + $332_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + $333_1 = HEAP32[($8_1 + 328 | 0) >> 2] | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($8_1 + 320 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($8_1 + 300 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $333_1; + $349($332_1 | 0, 33841 | 0, $8_1 + 16 | 0 | 0); + HEAP8[((HEAP32[($8_1 + 332 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + break label$1; + } + } + HEAP32[($8_1 + 300 | 0) >> 2] = (HEAP32[($8_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + } + label$29 : { + label$30 : { + if (!((HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$30 + } + $360_1 = 13; + $362_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + $365_1 = (HEAP32[($362_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($362_1 + 44 | 0) >> 2] = $365_1; + HEAP32[($8_1 + 164 | 0) >> 2] = $365_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = ($1296(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, $360_1 | 0, HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0) | 0; + $1298($8_1 + 224 | 0 | 0, $360_1 | 0, HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0); + label$31 : { + label$32 : { + if (!((HEAPU8[($8_1 + 216 | 0) >> 0] | 0) & 255 | 0)) { + break label$32 + } + $378_1 = HEAP32[($8_1 + 184 | 0) >> 2] | 0; + break label$31; + } + $378_1 = 0; + } + HEAP32[($8_1 + 236 | 0) >> 2] = $378_1; + $386_1 = 16; + HEAP32[($8_1 + 240 | 0) >> 2] = ((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $386_1 | 0) >> $386_1 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1210(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0, $8_1 + 224 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 204 | 0) >> 2] = HEAP32[($8_1 + 236 | 0) >> 2] | 0; + label$33 : { + label$34 : { + if (HEAP32[($8_1 + 156 | 0) >> 2] | 0) { + break label$34 + } + if ((HEAPU8[((HEAP32[($8_1 + 308 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$34 + } + if (!(HEAP32[((HEAP32[($8_1 + 332 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$33 + } + } + break label$1; + } + $1299(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 160 | 0) >> 2] | 0) - 1 | 0 | 0); + HEAP32[($8_1 + 284 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($8_1 + 324 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + label$35 : { + label$36 : { + if ((HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$36 + } + if (!($1436(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 220 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0) | 0)) { + break label$35 + } + } + HEAP8[($8_1 + 219 | 0) >> 0] = 1; + } + label$37 : { + if (!(((HEAPU8[($8_1 + 219 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$37 + } + $435_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + $436_1 = HEAP32[($435_1 + 40 | 0) >> 2] | 0; + HEAP32[($435_1 + 40 | 0) >> 2] = $436_1 + 1 | 0; + HEAP32[($8_1 + 260 | 0) >> 2] = $436_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1382(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1382(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 284 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[($8_1 + 228 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 152 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 148 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 148 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 144 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 144 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 152 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 148 | 0) >> 2] | 0 | 0); + } + break label$29; + } + $472_1 = $8_1 + 112 | 0; + i64toi32_i32$0 = 0; + $1446_1 = 0; + i64toi32_i32$1 = $472_1; + HEAP32[i64toi32_i32$1 >> 2] = $1446_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1446_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $472_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1446_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $472_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1446_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 112 | 0) >> 2] = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + HEAP32[($8_1 + 260 | 0) >> 2] = -1; + label$38 : { + label$39 : { + if (!((HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$39 + } + HEAP32[($8_1 + 284 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 212 | 0) >> 2] | 0) >> 2] | 0; + label$40 : { + if (!($1437($8_1 + 112 | 0 | 0, HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0) | 0)) { + break label$40 + } + break label$1; + } + break label$38; + } + HEAP32[($8_1 + 284 | 0) >> 2] = 0; + } + } + label$41 : { + if (!((HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$41 + } + if (!((HEAP32[($8_1 + 284 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$41 + } + $511_1 = 16; + HEAP32[($8_1 + 268 | 0) >> 2] = ((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $511_1 | 0) >> $511_1 | 0; + label$42 : { + if (!((HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$42 + } + if (!((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$42 + } + HEAP32[($8_1 + 300 | 0) >> 2] = (HEAP32[($8_1 + 268 | 0) >> 2] | 0) - 1 | 0; + label$43 : { + label$44 : while (1) { + if (!((HEAP32[($8_1 + 300 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$43 + } + label$45 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 300 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$45 + } + HEAP32[($8_1 + 268 | 0) >> 2] = (HEAP32[($8_1 + 268 | 0) >> 2] | 0) + -1 | 0; + } + HEAP32[($8_1 + 300 | 0) >> 2] = (HEAP32[($8_1 + 300 | 0) >> 2] | 0) + -1 | 0; + continue label$44; + }; + } + } + } + HEAP32[($8_1 + 300 | 0) >> 2] = 0; + label$46 : { + label$47 : while (1) { + $555_1 = 16; + if (!((HEAP32[($8_1 + 300 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $555_1 | 0) >> $555_1 | 0 | 0) & 1 | 0)) { + break label$46 + } + label$48 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 300 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 98 | 0)) { + break label$48 + } + HEAP32[($8_1 + 280 | 0) >> 2] = (HEAP32[($8_1 + 280 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($8_1 + 300 | 0) >> 2] = (HEAP32[($8_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$47; + }; + } + label$49 : { + if (!((HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$49 + } + if (!(HEAP32[($8_1 + 284 | 0) >> 2] | 0)) { + break label$49 + } + $591_1 = 16; + if (!((HEAP32[($8_1 + 284 | 0) >> 2] | 0 | 0) != ((((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $591_1 | 0) >> $591_1 | 0) - (HEAP32[($8_1 + 280 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$49 + } + $601_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + $602_1 = HEAP32[($8_1 + 328 | 0) >> 2] | 0; + $605_1 = 16; + $609_1 = (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $605_1 | 0) >> $605_1 | 0) - (HEAP32[($8_1 + 280 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 284 | 0) >> 2] | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = $609_1; + HEAP32[($8_1 + 36 | 0) >> 2] = 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $602_1; + $349($601_1 | 0, 33873 | 0, $8_1 + 32 | 0 | 0); + break label$1; + } + label$50 : { + if (!((HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$50 + } + if (!((HEAP32[($8_1 + 284 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($8_1 + 320 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$50 + } + $630_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + $631_1 = HEAP32[($8_1 + 284 | 0) >> 2] | 0; + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 320 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($8_1 + 48 | 0) >> 2] = $631_1; + $349($630_1 | 0, 33925 | 0, $8_1 + 48 | 0 | 0); + break label$1; + } + i64toi32_i32$0 = 0; + $1447$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($8_1 + 308 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $1448$hi = i64toi32_i32$1; + i64toi32_i32$1 = 1; + $1449$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1448$hi; + i64toi32_i32$1 = $1449$hi; + i64toi32_i32$1 = $1448$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $1449$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $1451$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1447$hi; + i64toi32_i32$0 = $1451$hi; + i64toi32_i32$0 = $1447$hi; + i64toi32_i32$0 = $1451$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $1447$hi; + i64toi32_i32$3 = 0; + label$51 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$51 + } + if (((HEAPU8[((HEAP32[($8_1 + 332 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$51 + } + if ((HEAP32[((HEAP32[($8_1 + 332 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$51 + } + $661_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + $664_1 = (HEAP32[($661_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($661_1 + 44 | 0) >> 2] = $664_1; + HEAP32[($8_1 + 196 | 0) >> 2] = $664_1; + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0) | 0; + } + label$52 : { + if (HEAP32[($8_1 + 176 | 0) >> 2] | 0) { + break label$52 + } + $668_1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1410(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, 97 | 0, 0 & 255 | 0 | 0, -1 | 0, $668_1 | 0, $8_1 + 276 | 0 | 0, $8_1 + 272 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $365(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 2 | 0) << 2 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + label$53 : { + if (!((HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0) == ($668_1 | 0) & 1 | 0)) { + break label$53 + } + break label$1; + } + HEAP32[($8_1 + 300 | 0) >> 2] = 0; + HEAP32[($8_1 + 288 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$54 : { + label$55 : while (1) { + if (!((HEAP32[($8_1 + 300 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$54 + } + $707_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + $710_1 = (HEAP32[($707_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($707_1 + 44 | 0) >> 2] = $710_1; + HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 300 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $710_1; + $720_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + HEAP32[($720_1 + 44 | 0) >> 2] = (HEAP32[($720_1 + 44 | 0) >> 2] | 0) + ((HEAPU16[((HEAP32[($8_1 + 288 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0) | 0; + HEAP32[($8_1 + 288 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 288 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($8_1 + 300 | 0) >> 2] = (HEAP32[($8_1 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$55; + }; + } + $728_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + $731_1 = (HEAP32[($728_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($728_1 + 44 | 0) >> 2] = $731_1; + HEAP32[((HEAP32[($8_1 + 180 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 300 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $731_1; + } + label$56 : { + if (!((HEAP32[($8_1 + 312 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$56 + } + label$57 : { + if (!(HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$57 + } + $746_1 = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + HEAP32[($8_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 304 | 0) >> 2] | 0) >> 2] | 0; + $349($746_1 | 0, 33950 | 0, $8_1 + 64 | 0 | 0); + break label$1; + } + label$58 : { + if (!((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$58 + } + $349(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, 33996 | 0, 0 | 0); + break label$1; + } + label$59 : { + if (!($1319(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($8_1 + 312 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0)) { + break label$59 + } + break label$1; + } + HEAP32[((HEAP32[($8_1 + 328 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($8_1 + 276 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 312 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($8_1 + 328 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 312 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($8_1 + 184 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 312 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($8_1 + 276 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 312 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($8_1 + 272 | 0) >> 2] | 0; + label$60 : { + if (!((HEAP32[(HEAP32[($8_1 + 312 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$60 + } + $1438(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 328 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 312 | 0) >> 2] | 0 | 0) | 0; + } + } + label$61 : { + label$62 : { + if (!(((HEAPU8[($8_1 + 219 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$62 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 256 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1296(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 252 | 0) >> 2] = wasm2js_i32$1; + break label$61; + } + label$63 : { + if (!((HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$63 + } + $814_1 = $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[($8_1 + 228 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 252 | 0) >> 2] = $814_1; + HEAP32[($8_1 + 256 | 0) >> 2] = $814_1; + label$64 : { + if (!((HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$64 + } + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 77 | 0, (HEAP32[($8_1 + 204 | 0) >> 2] | 0) + (HEAP32[($8_1 + 268 | 0) >> 2] | 0) | 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) | 0; + } + } + } + $827_1 = 0; + HEAP32[($8_1 + 280 | 0) >> 2] = $827_1; + HEAP32[($8_1 + 208 | 0) >> 2] = HEAP32[($8_1 + 184 | 0) >> 2] | 0; + HEAP32[($8_1 + 300 | 0) >> 2] = $827_1; + label$65 : { + label$66 : while (1) { + $832_1 = 16; + if (!((HEAP32[($8_1 + 300 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $832_1 | 0) >> $832_1 | 0 | 0) & 1 | 0)) { + break label$65 + } + $843_1 = 16; + label$67 : { + label$68 : { + if (!((HEAP32[($8_1 + 300 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $843_1 | 0) >> $843_1 | 0 | 0) & 1 | 0)) { + break label$68 + } + $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 73 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) | 0; + break label$67; + } + $862_1 = (HEAPU16[(((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 300 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($8_1 + 100 | 0) >> 2] = $862_1; + label$69 : { + if (!($862_1 & 98 | 0)) { + break label$69 + } + HEAP32[($8_1 + 280 | 0) >> 2] = (HEAP32[($8_1 + 280 | 0) >> 2] | 0) + 1 | 0; + label$70 : { + if (!((HEAP32[($8_1 + 100 | 0) >> 2] | 0) & 32 | 0)) { + break label$70 + } + HEAP32[($8_1 + 208 | 0) >> 2] = (HEAP32[($8_1 + 208 | 0) >> 2] | 0) + -1 | 0; + break label$67; + } + label$71 : { + if (!((HEAP32[($8_1 + 100 | 0) >> 2] | 0) & 64 | 0)) { + break label$71 + } + label$72 : { + if (!((HEAP32[($8_1 + 168 | 0) >> 2] | 0) & 1 | 0)) { + break label$72 + } + $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 73 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) | 0; + } + break label$67; + } + label$73 : { + if (!((HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$73 + } + $1439(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 300 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0); + break label$67; + } + } + label$74 : { + label$75 : { + if (!((HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$75 + } + HEAP32[($8_1 + 296 | 0) >> 2] = 0; + label$76 : while (1) { + $916_1 = 0; + label$77 : { + if (!((HEAP32[($8_1 + 296 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 320 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$77 + } + $916_1 = (HEAP32[(((HEAP32[(HEAP32[($8_1 + 320 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($8_1 + 296 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 300 | 0) >> 2] | 0 | 0); + } + label$78 : { + if (!($916_1 & 1 | 0)) { + break label$78 + } + HEAP32[($8_1 + 296 | 0) >> 2] = (HEAP32[($8_1 + 296 | 0) >> 2] | 0) + 1 | 0; + continue label$76; + } + break label$76; + }; + label$79 : { + if (!((HEAP32[($8_1 + 296 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($8_1 + 320 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$79 + } + $1439(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 300 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0); + break label$67; + } + HEAP32[($8_1 + 104 | 0) >> 2] = HEAP32[($8_1 + 296 | 0) >> 2] | 0; + break label$74; + } + label$80 : { + if (HEAP32[($8_1 + 284 | 0) >> 2] | 0) { + break label$80 + } + $1439(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 300 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0); + break label$67; + } + HEAP32[($8_1 + 104 | 0) >> 2] = (HEAP32[($8_1 + 300 | 0) >> 2] | 0) - (HEAP32[($8_1 + 280 | 0) >> 2] | 0) | 0; + } + label$81 : { + label$82 : { + if (!(((HEAPU8[($8_1 + 219 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$82 + } + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) | 0; + break label$81; + } + label$83 : { + label$84 : { + if (!((HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$84 + } + label$85 : { + if (!((HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$85 + } + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 78 | 0, (HEAP32[($8_1 + 204 | 0) >> 2] | 0) + (HEAP32[($8_1 + 104 | 0) >> 2] | 0) | 0 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) | 0; + } + break label$83; + } + $1281(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($8_1 + 212 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 104 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0); + } + } + } + HEAP32[($8_1 + 300 | 0) >> 2] = (HEAP32[($8_1 + 300 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 208 | 0) >> 2] = (HEAP32[($8_1 + 208 | 0) >> 2] | 0) + 1 | 0; + continue label$66; + }; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1358(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 264 | 0) >> 2] = wasm2js_i32$1; + label$86 : { + if (!((HEAP32[($8_1 + 168 | 0) >> 2] | 0) & 1 | 0)) { + break label$86 + } + $1024_1 = 16; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1379(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1024_1 | 0) >> $1024_1 | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$87 : { + label$88 : { + if (!((HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$88 + } + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 69 | 0, -1 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) | 0; + break label$87; + } + label$89 : { + label$90 : { + if (!(((HEAPU8[($8_1 + 219 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$90 + } + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) | 0; + break label$89; + } + $1281(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($8_1 + 212 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 268 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 51 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 69 | 0, -1 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 15 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) | 0; + } + $1087_1 = 16; + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 77 | 0, (HEAP32[($8_1 + 188 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 1 | 0 | 0, (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 44 | 0) >> 1] | 0) << $1087_1 | 0) >> $1087_1 | 0) - 1 | 0 | 0) | 0; + label$91 : { + if (!((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$91 + } + $1425(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0); + } + label$92 : { + if (HEAP32[($8_1 + 176 | 0) >> 2] | 0) { + break label$92 + } + $1300(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 1 | 0 | 0); + } + $1116_1 = 16; + $1426(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, 125 | 0, 0 | 0, 1 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 96 | 0) >> 2] | 0) - (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1116_1 | 0) >> $1116_1 | 0) | 0) - 1 | 0 | 0, HEAP32[($8_1 + 316 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0); + $1128_1 = 16; + $1384(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1128_1 | 0) >> $1128_1 | 0) + 1 | 0 | 0); + } + label$93 : { + if (HEAP32[($8_1 + 176 | 0) >> 2] | 0) { + break label$93 + } + label$94 : { + if (!(HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$94 + } + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0) | 0; + } + label$95 : { + label$96 : { + if (!((HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$96 + } + label$97 : { + label$98 : { + if (!(((HEAPU8[($8_1 + 219 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$98 + } + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) | 0; + break label$97; + } + label$99 : { + label$100 : { + if (!((HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$100 + } + break label$99; + } + HEAP32[($8_1 + 88 | 0) >> 2] = HEAP32[(((HEAP32[($8_1 + 212 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 268 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$101 : { + label$102 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (119 | 0) & 1 | 0)) { + break label$102 + } + if (HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$102 + } + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($8_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) | 0; + HEAP8[($8_1 + 218 | 0) >> 0] = 1; + break label$101; + } + $1281(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($8_1 + 212 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 268 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0); + } + } + } + label$103 : { + if (((HEAPU8[($8_1 + 218 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$103 + } + label$104 : { + label$105 : { + if (HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$105 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 51 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($8_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0); + break label$104; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1296(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 84 | 0) >> 2] | 0) + 2 | 0 | 0) | 0; + } + $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 15 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) | 0; + } + break label$95; + } + label$106 : { + label$107 : { + label$108 : { + if (HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$108 + } + if (!((HEAPU8[($8_1 + 217 | 0) >> 0] | 0) & 255 | 0)) { + break label$107 + } + } + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) | 0; + break label$106; + } + $367(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($8_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) | 0; + HEAP8[($8_1 + 218 | 0) >> 0] = 1; + } + } + $1440(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0); + label$109 : { + if (!((HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$109 + } + $1425(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 188 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0); + } + label$110 : { + label$111 : { + if (!(HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$111 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1056(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + $1412(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0); + $1278_1 = 16; + $1278(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 10 | 0, 1 | 0, (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1278_1 | 0) >> $1278_1 | 0) + 2 | 0 | 0, HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0, -12 | 0) | 0; + $1285_1 = HEAP32[($8_1 + 292 | 0) >> 2] | 0; + label$112 : { + label$113 : { + if (!((HEAP32[($8_1 + 316 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$113 + } + $1293_1 = 2; + break label$112; + } + $1293_1 = HEAP32[($8_1 + 316 | 0) >> 2] | 0; + } + $354($1285_1 | 0, $1293_1 & 65535 | 0 | 0); + $1295(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0); + break label$110; + } + $1300_1 = 0; + $1427(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 272 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0, $1300_1 | 0, ((HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0) >= ($1300_1 | 0) & 1 | 0) & 255 | 0 | 0, (HEAP32[($8_1 + 316 | 0) >> 2] | 0) & 255 | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0, $8_1 + 76 | 0 | 0, $1300_1 | 0, HEAP32[($8_1 + 312 | 0) >> 2] | 0 | 0); + $1428(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, $1300_1 | 0, HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0, $1300_1 | 0, $1300_1 | 0); + $1327_1 = 1; + label$114 : { + if (!(HEAP32[($8_1 + 76 | 0) >> 2] | 0)) { + break label$114 + } + $1327_1 = ($1441(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) ^ -1 | 0; + } + HEAP32[($8_1 + 72 | 0) >> 2] = $1327_1 & 1 | 0; + $1430(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 276 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 272 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0, 0 | 0, (HEAPU8[($8_1 + 218 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0); + } + } + label$115 : { + if (!(HEAP32[($8_1 + 196 | 0) >> 2] | 0)) { + break label$115 + } + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + label$116 : { + if (!((HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$116 + } + $1373_1 = 16; + $1426(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, 125 | 0, 0 | 0, 2 | 0, HEAP32[($8_1 + 304 | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 184 | 0) >> 2] | 0) - 2 | 0) - (((HEAPU16[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1373_1 | 0) >> $1373_1 | 0) | 0 | 0, HEAP32[($8_1 + 316 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0); + } + $1369(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0); + label$117 : { + label$118 : { + if (!(((HEAPU8[($8_1 + 219 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$118 + } + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 252 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 256 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 116 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) | 0; + break label$117; + } + label$119 : { + if (!((HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$119 + } + $1282(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 252 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 256 | 0) >> 2] | 0 | 0); + } + } + } + label$120 : { + if ((HEAPU8[((HEAP32[($8_1 + 332 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$120 + } + if (!((HEAP32[((HEAP32[($8_1 + 332 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$120 + } + $1414(HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0); + } + label$121 : { + if (!(HEAP32[($8_1 + 196 | 0) >> 2] | 0)) { + break label$121 + } + $1424_1 = 0; + $1426_1 = 1; + $366(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0, $1426_1 | 0) | 0; + $374(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, $1426_1 | 0); + $375(HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, $1424_1 | 0, $1424_1 | 0, 34017 | 0, $1424_1 | 0) | 0; + } + } + $1143(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 328 | 0) >> 2] | 0 | 0); + $382(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0); + $1172(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 312 | 0) >> 2] | 0 | 0); + $1139(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 324 | 0) >> 2] | 0 | 0); + $19(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0); + $13(HEAP32[($8_1 + 308 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0); + global$0 = $8_1 + 336 | 0; + return; + } + + function $1233($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + i64toi32_i32$0 = 0; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $64(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, 36 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $382(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + $18(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + $382(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + $18(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + } + $37_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $37_1 | 0; + } + + function $1234($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $36_1 = 0, $50_1 = 0, $89_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $308(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 8 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + $36_1 = $1442(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, 8 | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0 | 0, $5_1 + 8 | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $36_1; + label$4 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + $19(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $50_1 = $1224(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $50_1; + label$5 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $1223(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + $89_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $89_1 | 0; + } + + function $1235($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $167$hi = 0, $171$hi = 0, $172$hi = 0, $19_1 = 0, $22_1 = 0, $25_1 = 0, $30_1 = 0, $48_1 = 0, $169$hi = 0, $31_1 = 0, $32_1 = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $89_1 = 0, $94_1 = 0, $104_1 = 0, $112_1 = 0, $128_1 = 0, $132_1 = 0, $135_1 = 0, $143_1 = 0, $151_1 = 0, $284_1 = 0, $171_1 = 0, $346_1 = 0, $83_1 = 0, $146_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $19_1 = 24; + label$3 : { + label$4 : { + if (((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0) { + break label$4 + } + $22_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $25_1 = (HEAPU16[($22_1 + 200 | 0) >> 1] | 0) + 1 | 0; + HEAP16[($22_1 + 200 | 0) >> 1] = $25_1; + HEAP16[($5_1 + 26 | 0) >> 1] = $25_1; + break label$3; + } + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + $30_1 = 24; + label$5 : { + label$6 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) == (63 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$8 + } + $48_1 = 24; + i64toi32_i32$1 = (((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $48_1 | 0) >> $48_1 | 0) - 48 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $284_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $284_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 4 | 0) >> 2] = 1; + break label$7; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (0 | 0) == ($530((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0 | 0, $5_1 + 8 | 0 | 0, (HEAP32[($5_1 + 36 | 0) >> 2] | 0) - 1 | 0 | 0, 1 & 255 | 0 | 0) | 0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$9 : { + label$10 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$10 + } + i64toi32_i32$0 = 0; + $167$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $169$hi = i64toi32_i32$1; + i64toi32_i32$1 = $167$hi; + i64toi32_i32$1 = $169$hi; + i64toi32_i32$1 = $167$hi; + i64toi32_i32$1 = $169$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $167$hi; + i64toi32_i32$3 = 1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $31_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $32_1 = 0 + } else { + $32_1 = 1 + } + $33_1 = $32_1; + } else { + $33_1 = 0 + } + $31_1 = $33_1; + } + if ($31_1 & 1 | 0) { + break label$10 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $171_1 = i64toi32_i32$2; + $171$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $172$hi = i64toi32_i32$1; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$1 = $172$hi; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$1 = $172$hi; + $346_1 = i64toi32_i32$2; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$3 = $171_1; + i64toi32_i32$2 = $172$hi; + i64toi32_i32$0 = $346_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $35_1 = 0 + } else { + $35_1 = 1 + } + $36_1 = $35_1; + } else { + $36_1 = 0 + } + $34_1 = $36_1; + } + if (!($34_1 & 1 | 0)) { + break label$9 + } + } + $83_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0; + $349($83_1 | 0, 34102 | 0, $5_1 | 0); + break label$1; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($5_1 + 26 | 0) >> 1] = i64toi32_i32$3; + $89_1 = 16; + $94_1 = 16; + label$11 : { + label$12 : { + if (!((((HEAPU16[($5_1 + 26 | 0) >> 1] | 0) << $89_1 | 0) >> $89_1 | 0 | 0) > (((HEAPU16[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 200 | 0) >> 1] | 0) << $94_1 | 0) >> $94_1 | 0 | 0) & 1 | 0)) { + break label$12 + } + $104_1 = 16; + HEAP16[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 200 | 0) >> 1] = ((HEAPU16[($5_1 + 26 | 0) >> 1] | 0) << $104_1 | 0) >> $104_1 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + break label$11; + } + $112_1 = 16; + label$13 : { + if (!(($337(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0, ((HEAPU16[($5_1 + 26 | 0) >> 1] | 0) << $112_1 | 0) >> $112_1 | 0 | 0) | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + } + } + break label$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $340(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 26 | 0) >> 1] = wasm2js_i32$1; + $128_1 = 16; + label$14 : { + if (((HEAPU16[($5_1 + 26 | 0) >> 1] | 0) << $128_1 | 0) >> $128_1 | 0) { + break label$14 + } + $132_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $135_1 = (HEAPU16[($132_1 + 200 | 0) >> 1] | 0) + 1 | 0; + HEAP16[($132_1 + 200 | 0) >> 1] = $135_1; + HEAP16[($5_1 + 26 | 0) >> 1] = $135_1; + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + } + } + label$15 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$15 + } + $143_1 = 16; + $146_1 = $1443(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, ((HEAPU16[($5_1 + 26 | 0) >> 1] | 0) << $143_1 | 0) >> $143_1 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 220 | 0) >> 2] = $146_1; + } + } + HEAP16[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 1] = HEAPU16[($5_1 + 26 | 0) >> 1] | 0; + $151_1 = 16; + if (!((((HEAPU16[($5_1 + 26 | 0) >> 1] | 0) << $151_1 | 0) >> $151_1 | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $349(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 34145 | 0, 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1236($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $30_1 = 0, $35_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, 111 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $30_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[($30_1 + 4 | 0) >> 2] = HEAP32[($30_1 + 4 | 0) >> 2] | 0 | 4352 | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + } + } + $35_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $35_1 | 0; + } + + function $1237($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $31_1 = 0, $47_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $18(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0); + $18(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0); + break label$1; + } + label$3 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + $31_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($31_1 + 4 | 0) >> 2] = HEAP32[($31_1 + 4 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[$6_1 >> 2] | 0) + 4 | 0) >> 2] | 0) & 2097412 | 0) | 0; + } + label$4 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $47_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($47_1 + 4 | 0) >> 2] = HEAP32[($47_1 + 4 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2097412 | 0) | 0; + } + $1444(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 16 | 0; + return; + } + + function $1238($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $47_1 = 0, $59_1 = 0, $41_1 = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1218(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, 169 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $382(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $41_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + $349($41_1 | 0, 34168 | 0, $6_1 | 0); + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $47_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($47_1 + 4 | 0) >> 2] = HEAP32[($47_1 + 4 | 0) >> 2] | 0 | 4 | 0; + $1244(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + label$4 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + $59_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($59_1 + 4 | 0) >> 2] = HEAP32[($59_1 + 4 | 0) >> 2] | 0 | 2 | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + $64_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $64_1 | 0; + } + + function $1239($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $15_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $15_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($15_1 + 4 | 0) >> 2] = HEAP32[($15_1 + 4 | 0) >> 2] | 0 | 16777216 | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2 | 0)) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (163 | 0) & 1 | 0)) { + break label$3 + } + $349(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 34202 | 0, 0 | 0); + } + break label$1; + } + $1140(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1240($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $67_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$1; + } + label$4 : { + label$5 : { + if (((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 536870913 | 0 | 0) == (536870912 | 0) & 1 | 0) { + break label$5 + } + if (!(((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 536870913 | 0 | 0) == (536870912 | 0) & 1 | 0)) { + break label$4 + } + } + if (((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$4 + } + $18(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + $18(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1217(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 152 | 0, 25721 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 44 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $67_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $67_1 | 0; + } + + function $1241($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (119 | 0) & 1 | 0)) { + break label$1 + } + if (((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$1 + } + HEAP8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + $18(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1242($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$2 + } + $1311(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + $1137(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1243($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = $1445(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $1244($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + $1444(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $1312(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1245($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $15_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $15_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($15_1 + 4 | 0) >> 2] = HEAP32[($15_1 + 4 | 0) >> 2] | 0 | 2099200 | 0; + $1244(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + $1139(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1246($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $25_1 = 0, $27_1 = 0, $35_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1214(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($7_1 + 16 | 0) >> 2] | 0) { + break label$2 + } + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$1 + } + } + if ((HEAPU8[((HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + $25_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $27_1 = HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = $27_1; + $349($25_1 | 0, 34249 | 0, $7_1 | 0); + } + $1215(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, 1 | 0); + $35_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $35_1 | 0; + } + + function $1247($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $126_1 = 0, $10_1 = 0, $40_1 = 0, $41_1 = 0, $55_1 = 0, $112_1 = 0, $119_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 96 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((0 | 0) != ($360(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1025(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (HEAP32[($5_1 + 84 | 0) >> 2] | 0) { + break label$6 + } + $40_1 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + $41_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + HEAP32[$5_1 >> 2] = $41_1; + $349($40_1 | 0, 34287 | 0, $5_1 | 0); + break label$5; + } + $1331(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + HEAP8[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + break label$1; + } + $10_1 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + label$7 : { + if (!(((HEAPU8[($10_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($10_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0)) { + break label$7 + } + $55_1 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + $349($55_1 | 0, 34305 | 0, $5_1 + 16 | 0 | 0); + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $350(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 64 | 0) >> 2] = 10; + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 68 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = (HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 8404 : 8004; + label$8 : { + if (!($1283(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 9 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + break label$1; + } + label$9 : { + if (!(HEAP32[($5_1 + 68 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($5_1 + 64 | 0) >> 2] = 12; + } + label$10 : { + if (!($1283(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0)) { + break label$10 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $1287(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + $112_1 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + $119_1 = HEAP32[((HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 68 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 80 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $119_1; + $1302($112_1 | 0, 34378 | 0, $5_1 + 32 | 0 | 0); + $126_1 = 0; + $1334(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, 14134 | 0, HEAP32[(HEAP32[($5_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0); + $1303(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + $1446(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + $1278(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, 145 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, $126_1 | 0, $126_1 | 0, HEAP32[(HEAP32[($5_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0, $126_1 | 0) | 0; + } + } + $1143(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 96 | 0; + return; + } + + function $1248($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $52_1 = 0, $6_1 = 0, $45_1 = 0, $56_1 = 0, $59_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1284(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $5_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + } + label$6 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$6 + } + $45_1 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $45_1; + label$7 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != ($45_1 | 0) & 1 | 0)) { + break label$7 + } + $52_1 = 0; + if ($1292(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $52_1 | 0, $52_1 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $52_1 | 0) | 0) { + break label$7 + } + $56_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $59_1 = (HEAP32[($56_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($56_1 + 44 | 0) >> 2] = $59_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $59_1; + $1281(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + $366(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 8 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $356(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + } + $18(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 32 | 0; + return; + } + + function $1249($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $2576_1 = 0, $8_1 = 0, $583_1 = 0, $1249_1 = 0, $2575_1 = 0, $94_1 = 0, $3303$hi = 0, $3308$hi = 0, $3315$hi = 0, $3322$hi = 0, $3332$hi = 0, $3349$hi = 0, $3363$hi = 0, $3373$hi = 0, $3377$hi = 0, $3381$hi = 0, $3385$hi = 0, $1778_1 = 0, $2037_1 = 0, $2276_1 = 0, $2328_1 = 0, $3391$hi = 0, $2574_1 = 0, $2743_1 = 0, $2950_1 = 0, $3176_1 = 0, $3403$hi = 0, $3409$hi = 0, $3413$hi = 0, $3414$hi = 0, $3420$hi = 0, $3428$hi = 0, $81_1 = 0, $102_1 = 0, $129_1 = 0, $176_1 = 0, $196_1 = 0, $203_1 = 0, $276_1 = 0, $279_1 = 0, $3305$hi = 0, $234_1 = 0, $235_1 = 0, $236_1 = 0, $3310$hi = 0, $237_1 = 0, $238_1 = 0, $239_1 = 0, $394_1 = 0, $3316$hi = 0, $3317$hi = 0, $3319$hi = 0, $483_1 = 0, $3324$hi = 0, $240_1 = 0, $241_1 = 0, $242_1 = 0, $3333$hi = 0, $3334$hi = 0, $3336$hi = 0, $638_1 = 0, $673_1 = 0, $3339$hi = 0, $3340$hi = 0, $674_1 = 0, $3342$hi = 0, $3343$hi = 0, $686_1 = 0, $3350$hi = 0, $3351$hi = 0, $3353$hi = 0, $3357$hi = 0, $3358$hi = 0, $845_1 = 0, $3360$hi = 0, $857_1 = 0, $3364$hi = 0, $3365$hi = 0, $3366$hi = 0, $858_1 = 0, $3370$hi = 0, $887_1 = 0, $899_1 = 0, $3375$hi = 0, $956_1 = 0, $964_1 = 0, $974_1 = 0, $987_1 = 0, $3379$hi = 0, $1027_1 = 0, $3383$hi = 0, $1133_1 = 0, $1137_1 = 0, $1146_1 = 0, $1150_1 = 0, $3387$hi = 0, $1243_1 = 0, $1343_1 = 0, $1354_1 = 0, $1570_1 = 0, $1574_1 = 0, $1577_1 = 0, $1578_1 = 0, $1581_1 = 0, $1604_1 = 0, $1652_1 = 0, $1666_1 = 0, $1706_1 = 0, $1824_1 = 0, $1956_1 = 0, $2017_1 = 0, $2149_1 = 0, $2160_1 = 0, $2198_1 = 0, $2216_1 = 0, $2238_1 = 0, $2244_1 = 0, $2278_1 = 0, $2324_1 = 0, $2382_1 = 0, $2394_1 = 0, $2405_1 = 0, $2462_1 = 0, $3392$hi = 0, $3393$hi = 0, $3395$hi = 0, $2544_1 = 0, $2583_1 = 0, $2647_1 = 0, $2741_1 = 0, $2777_1 = 0, $2789_1 = 0, $2857_1 = 0, $2862_1 = 0, $2940_1 = 0, $2943_1 = 0, $2964_1 = 0, $2967_1 = 0, $2987_1 = 0, $2988_1 = 0, $3016_1 = 0, $3035_1 = 0, $3036_1 = 0, $3046_1 = 0, $3092_1 = 0, $243_1 = 0, $3143_1 = 0, $3166_1 = 0, $3407$hi = 0, $244_1 = 0, $245_1 = 0, $246_1 = 0, $3411$hi = 0, $247_1 = 0, $248_1 = 0, $249_1 = 0, $3422$hi = 0, $250_1 = 0, $251_1 = 0, $252_1 = 0, $3424$hi = 0, $3425$hi = 0, $3430$hi = 0, $253_1 = 0, $254_1 = 0, $255_1 = 0, $3432$hi = 0, $3433$hi = 0, $62_1 = 0, $125_1 = 0, $205_1 = 0, $4563 = 0, $513_1 = 0, $632_1 = 0, $4950 = 0, $4959 = 0, $3350 = 0, $5282 = 0, $5302 = 0, $5317 = 0, $3360 = 0, $5346$hi = 0, $5350 = 0, $3366 = 0, $5360$hi = 0, $5364 = 0, $992_1 = 0, $997_1 = 0, $1000_1 = 0, $1002_1 = 0, $1004_1 = 0, $1009_1 = 0, $1030_1 = 0, $1130_1 = 0, $1131_1 = 0, $1135_1 = 0, $1166_1 = 0, $1173_1 = 0, $1180_1 = 0, $6202 = 0, $1247_1 = 0, $1248_1 = 0, $1250_1 = 0, $1252_1 = 0, $1261_1 = 0, $1304_1 = 0, $1305_1 = 0, $1312_1 = 0, $1342_1 = 0, $1425_1 = 0, $1443_1 = 0, $1508_1 = 0, $1509_1 = 0, $1510_1 = 0, $1512_1 = 0, $1526_1 = 0, $1534_1 = 0, $1539_1 = 0, $1544_1 = 0, $1908_1 = 0, $1911_1 = 0, $1913_1 = 0, $2002_1 = 0, $2003_1 = 0, $2157_1 = 0, $2194_1 = 0, $2195_1 = 0, $2212_1 = 0, $2213_1 = 0, $2261_1 = 0, $2262_1 = 0, $2447_1 = 0, $2449_1 = 0, $2536_1 = 0, $2798_1 = 0, $2886_1 = 0, $2921_1 = 0, $3006_1 = 0, $3146_1 = 0, $3153_1 = 0, $3213_1 = 0, $10505 = 0, $3413 = 0, $10536 = 0, $3235_1 = 0, $3256_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 1040 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 1036 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 1032 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 1028 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 1024 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 1020 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 1016 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 1012 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 1008 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 964 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 1036 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1275(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 956 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $1447(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 2; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1284(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1032 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1028 | 0) >> 2] | 0 | 0, $7_1 + 1004 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 972 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($7_1 + 960 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 972 | 0) >> 2] | 0) << 4 | 0) | 0; + label$4 : { + if (!((HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + if (!($123(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1224(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1004 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1016 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($7_1 + 1016 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + break label$1; + } + label$6 : { + label$7 : { + if (!(HEAP32[($7_1 + 1020 | 0) >> 2] | 0)) { + break label$7 + } + $62_1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + HEAP32[($7_1 + 320 | 0) >> 2] = HEAP32[($7_1 + 1024 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $351($62_1 | 0, 34438 | 0, $7_1 + 320 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1012 | 0) >> 2] = wasm2js_i32$1; + break label$6; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1224(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1024 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1012 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($7_1 + 1028 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$9 + } + $81_1 = HEAP32[(HEAP32[($7_1 + 960 | 0) >> 2] | 0) >> 2] | 0; + break label$8; + } + $81_1 = 0; + } + HEAP32[($7_1 + 1008 | 0) >> 2] = $81_1; + label$10 : { + label$11 : { + if (!($1283(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[($7_1 + 1016 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + break label$10; + } + $94_1 = 0; + HEAP32[($7_1 + 976 | 0) >> 2] = $94_1; + HEAP32[($7_1 + 980 | 0) >> 2] = HEAP32[($7_1 + 1016 | 0) >> 2] | 0; + HEAP32[($7_1 + 984 | 0) >> 2] = HEAP32[($7_1 + 1012 | 0) >> 2] | 0; + HEAP32[($7_1 + 988 | 0) >> 2] = $94_1; + HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 408 | 0) >> 2] = $94_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $506(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0, 14 | 0, $7_1 + 976 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 968 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (HEAP32[($7_1 + 968 | 0) >> 2] | 0) { + break label$12 + } + $102_1 = 0; + $374(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 1 | 0); + $375(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, $102_1 | 0, $102_1 | 0, HEAP32[($7_1 + 976 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + $1448(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 976 | 0) >> 2] | 0 | 0); + $42(HEAP32[($7_1 + 976 | 0) >> 2] | 0 | 0); + break label$10; + } + label$13 : { + if (!((HEAP32[($7_1 + 968 | 0) >> 2] | 0 | 0) != (12 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!((HEAP32[($7_1 + 976 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + $125_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[($7_1 + 976 | 0) >> 2] | 0; + $349($125_1 | 0, 1976 | 0, $7_1 | 0); + $42(HEAP32[($7_1 + 976 | 0) >> 2] | 0 | 0); + } + $129_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + HEAP32[($129_1 + 36 | 0) >> 2] = (HEAP32[($129_1 + 36 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 968 | 0) >> 2] | 0; + break label$10; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1155(HEAP32[($7_1 + 1016 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 952 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($7_1 + 952 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$15 + } + break label$10; + } + label$16 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 952 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + if (!($360(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0)) { + break label$17 + } + break label$10; + } + } + label$18 : { + if (((HEAPU8[((HEAP32[($7_1 + 952 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 2 | 0) { + break label$18 + } + label$19 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 952 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$19 + } + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$18 + } + } + $1449(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 952 | 0) >> 2] | 0 | 0); + } + $176_1 = (HEAPU8[((HEAP32[($7_1 + 952 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) + -1 | 0; + label$20 : { + label$21 : { + switch ($176_1 | 0) { + case 30: + HEAP32[($7_1 + 948 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$60 : { + label$61 : { + if ((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$61 + } + label$62 : { + label$63 : { + if (!((HEAP32[($7_1 + 948 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$63 + } + $196_1 = $131(HEAP32[($7_1 + 948 | 0) >> 2] | 0 | 0) | 0; + break label$62; + } + $196_1 = 0; + } + HEAP32[($7_1 + 944 | 0) >> 2] = $196_1; + i64toi32_i32$1 = HEAP32[($7_1 + 944 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$60; + } + $203_1 = 0; + $205_1 = $1135(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 92 | 0) >> 2] = $205_1; + label$64 : { + if (!((7 | 0) == ($164(HEAP32[($7_1 + 948 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, $203_1 | 0, $203_1 | 0) | 0 | 0) & 1 | 0)) { + break label$64 + } + $118(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0); + } + } + break label$20; + case 32: + HEAP32[($7_1 + 940 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 936 | 0) >> 2] = -1; + label$65 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$65 + } + label$66 : { + label$67 : { + if ($87(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, 34442 | 0) | 0) { + break label$67 + } + HEAP32[($7_1 + 936 | 0) >> 2] = 2; + break label$66; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($526(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0) | 0) & 255 | 0), HEAP32[(wasm2js_i32$0 + 936 | 0) >> 2] = wasm2js_i32$1; + } + } + label$68 : { + if (HEAP32[((HEAP32[($7_1 + 1028 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$68 + } + if (!((HEAP32[($7_1 + 936 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$68 + } + HEAP32[($7_1 + 932 | 0) >> 2] = 0; + label$69 : { + label$70 : while (1) { + if (!((HEAP32[($7_1 + 932 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$69 + } + $1451(HEAP32[(((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 932 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 936 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 932 | 0) >> 2] = (HEAP32[($7_1 + 932 | 0) >> 2] | 0) + 1 | 0; + continue label$70; + }; + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1451(HEAP32[($7_1 + 940 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 936 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 936 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 936 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$20; + case 26: + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 920 | 0) >> 2] = 0; + HEAP32[($7_1 + 924 | 0) >> 2] = i64toi32_i32$0; + $1286(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0); + $276_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + $279_1 = (HEAP32[($276_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($276_1 + 44 | 0) >> 2] = $279_1; + HEAP32[($7_1 + 928 | 0) >> 2] = $279_1; + label$71 : { + label$72 : { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($7_1 + 1016 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0 | 0) == (112 | 0) & 1 | 0)) { + break label$72 + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 169 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 928 | 0) >> 2] | 0 | 0) | 0; + break label$71; + } + label$73 : { + label$74 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$74 + } + if ($528(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $7_1 + 920 | 0 | 0) | 0) { + break label$74 + } + i64toi32_i32$0 = 0; + $3303$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 924 | 0) >> 2] | 0; + $3305$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3303$hi; + i64toi32_i32$1 = $3305$hi; + i64toi32_i32$1 = $3303$hi; + i64toi32_i32$1 = $3305$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $3303$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $234_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $235_1 = 0 + } else { + $235_1 = 1 + } + $236_1 = $235_1; + } else { + $236_1 = 0 + } + $234_1 = $236_1; + } + label$75 : { + label$76 : { + if (!($234_1 & 1 | 0)) { + break label$76 + } + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 920 | 0) >> 2] = 0; + HEAP32[($7_1 + 924 | 0) >> 2] = i64toi32_i32$2; + break label$75; + } + i64toi32_i32$2 = 0; + $3308$hi = i64toi32_i32$2; + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 924 | 0) >> 2] | 0; + $3310$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3308$hi; + i64toi32_i32$1 = $3310$hi; + i64toi32_i32$1 = $3308$hi; + i64toi32_i32$1 = $3310$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $3308$hi; + i64toi32_i32$0 = -2; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $237_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $238_1 = 0 + } else { + $238_1 = 1 + } + $239_1 = $238_1; + } else { + $239_1 = 0 + } + $237_1 = $239_1; + } + label$77 : { + if (!($237_1 & 1 | 0)) { + break label$77 + } + i64toi32_i32$3 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 920 | 0) >> 2] = -2; + HEAP32[($7_1 + 924 | 0) >> 2] = i64toi32_i32$3; + } + } + break label$73; + } + i64toi32_i32$3 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 920 | 0) >> 2] = 0; + HEAP32[($7_1 + 924 | 0) >> 2] = i64toi32_i32$3; + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 924 | 0) >> 2] | 0; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 170 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 928 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0) | 0; + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[($7_1 + 928 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + break label$20; + case 25: + HEAP32[($7_1 + 916 | 0) >> 2] = 34447; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1452(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 912 | 0) >> 2] = wasm2js_i32$1; + label$78 : { + label$79 : { + if (HEAP32[((HEAP32[($7_1 + 1028 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$79 + } + if (!((HEAP32[($7_1 + 912 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$79 + } + HEAP32[($7_1 + 912 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 83 | 0) >> 0] | 0) & 255 | 0; + break label$78; + } + label$80 : { + if (HEAP32[((HEAP32[($7_1 + 1028 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$80 + } + HEAP32[($7_1 + 904 | 0) >> 2] = 2; + label$81 : { + label$82 : while (1) { + if (!((HEAP32[($7_1 + 904 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$81 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $9(HEAP32[(((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 904 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 908 | 0) >> 2] = wasm2js_i32$1; + $1453(HEAP32[($7_1 + 908 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 912 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 904 | 0) >> 2] = (HEAP32[($7_1 + 904 | 0) >> 2] | 0) + 1 | 0; + continue label$82; + }; + } + HEAP8[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 83 | 0) >> 0] = HEAP32[($7_1 + 912 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $9(HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 908 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1453(HEAP32[($7_1 + 908 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 912 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 912 | 0) >> 2] = wasm2js_i32$1; + } + label$83 : { + if (!((HEAP32[($7_1 + 912 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$83 + } + HEAP32[($7_1 + 916 | 0) >> 2] = 34454; + } + $1448(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 916 | 0) >> 2] | 0 | 0); + break label$20; + case 22: + label$84 : { + label$85 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$85 + } + HEAP32[($7_1 + 900 | 0) >> 2] = -1; + break label$84; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $68(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 888 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 900 | 0) >> 2] = 0; + label$86 : { + label$87 : while (1) { + $394_1 = $963(HEAP32[($7_1 + 900 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 892 | 0) >> 2] = $394_1; + if (!(($394_1 | 0) != (0 | 0) & 1 | 0)) { + break label$86 + } + label$88 : { + if ($89(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 892 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 888 | 0) >> 2] | 0 | 0) | 0) { + break label$88 + } + break label$86; + } + HEAP32[($7_1 + 900 | 0) >> 2] = (HEAP32[($7_1 + 900 | 0) >> 2] | 0) + 1 | 0; + continue label$87; + }; + } + label$89 : { + if ((HEAP32[($7_1 + 892 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$89 + } + HEAP32[($7_1 + 900 | 0) >> 2] = -1; + } + label$90 : { + if (!((HEAP32[($7_1 + 900 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$90 + } + i64toi32_i32$1 = 0; + $3315$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $3316$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $3317$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3316$hi; + i64toi32_i32$3 = $3317$hi; + i64toi32_i32$3 = $3316$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $3317$hi; + i64toi32_i32$2 = 268435456; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $3319$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3315$hi; + i64toi32_i32$1 = $3319$hi; + i64toi32_i32$1 = $3315$hi; + i64toi32_i32$1 = $3319$hi; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + i64toi32_i32$0 = $3315$hi; + i64toi32_i32$2 = 0; + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$90 + } + HEAP32[($7_1 + 900 | 0) >> 2] = -1; + } + } + label$91 : { + if (!((HEAP32[($7_1 + 900 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$91 + } + if (HEAP32[((HEAP32[($7_1 + 1028 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$91 + } + HEAP32[($7_1 + 972 | 0) >> 2] = 0; + HEAP32[((HEAP32[($7_1 + 1028 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + } + HEAP32[($7_1 + 896 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0; + label$92 : { + label$93 : while (1) { + if (!((HEAP32[($7_1 + 896 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$92 + } + label$94 : { + if (!((HEAP32[(((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 896 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$94 + } + label$95 : { + if ((HEAP32[($7_1 + 896 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$95 + } + if (HEAP32[((HEAP32[($7_1 + 1028 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$94 + } + } + $356(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 896 | 0) >> 2] | 0 | 0); + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 7 | 0, HEAP32[($7_1 + 896 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($7_1 + 900 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($7_1 + 896 | 0) >> 2] = (HEAP32[($7_1 + 896 | 0) >> 2] | 0) + -1 | 0; + continue label$93; + }; + } + $483_1 = 1; + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 80 | 0, $483_1 | 0, $483_1 | 0) | 0; + break label$20; + case 23: + i64toi32_i32$3 = -1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $9(HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 884 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 872 | 0) >> 2] = -2; + HEAP32[($7_1 + 876 | 0) >> 2] = i64toi32_i32$3; + label$96 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$96 + } + i64toi32_i32$3 = -1; + $3322$hi = i64toi32_i32$3; + $528(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $7_1 + 872 | 0 | 0) | 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 872 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 876 | 0) >> 2] | 0; + $3324$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3322$hi; + i64toi32_i32$1 = $3324$hi; + i64toi32_i32$1 = $3322$hi; + i64toi32_i32$1 = $3324$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $3322$hi; + i64toi32_i32$0 = -1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$3 | 0)) { + $240_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$0 >>> 0) { + $241_1 = 0 + } else { + $241_1 = 1 + } + $242_1 = $241_1; + } else { + $242_1 = 0 + } + $240_1 = $242_1; + } + label$97 : { + if (!($240_1 & 1 | 0)) { + break label$97 + } + i64toi32_i32$2 = -1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 872 | 0) >> 2] = -1; + HEAP32[($7_1 + 876 | 0) >> 2] = i64toi32_i32$2; + } + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 872 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 876 | 0) >> 2] | 0; + i64toi32_i32$1 = $1454(HEAP32[($7_1 + 884 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $4563 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 872 | 0) >> 2] = $4563; + HEAP32[($7_1 + 876 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 872 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 876 | 0) >> 2] | 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0); + break label$20; + case 2: + HEAP32[($7_1 + 868 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$98 : { + label$99 : { + if ((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$99 + } + $513_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + i64toi32_i32$2 = $1049(HEAP32[($7_1 + 868 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $1450($513_1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0); + break label$98; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1455(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 864 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 84 | 0) >> 0] = HEAP32[($7_1 + 864 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1050(HEAP32[($7_1 + 868 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 864 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 968 | 0) >> 2] = wasm2js_i32$1; + label$100 : { + if (HEAP32[($7_1 + 968 | 0) >> 2] | 0) { + break label$100 + } + label$101 : { + if ((HEAP32[($7_1 + 864 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$101 + } + if (!((HEAP32[($7_1 + 864 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$100 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 856 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $355(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 5 | 0, 34464 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 860 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 860 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 972 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 860 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($7_1 + 972 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 860 | 0) >> 2] | 0) + 48 | 0) >> 2] = (HEAP32[($7_1 + 856 | 0) >> 2] | 0) + 4 | 0; + HEAP32[((HEAP32[($7_1 + 860 | 0) >> 2] | 0) + 84 | 0) >> 2] = HEAP32[($7_1 + 972 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 860 | 0) >> 2] | 0) + 92 | 0) >> 2] = (HEAP32[($7_1 + 864 | 0) >> 2] | 0) - 1 | 0; + $356(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0); + } + } + break label$20; + case 18: + label$102 : { + label$103 : { + if ((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$103 + } + if (!($341(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $7_1 + 852 | 0 | 0) | 0)) { + break label$103 + } + if (!((HEAP32[($7_1 + 852 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$102 + } + } + HEAP32[($7_1 + 852 | 0) >> 2] = 2147483647; + } + $583_1 = 1; + $1287(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0); + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 69 | 0, HEAP32[($7_1 + 852 | 0) >> 2] | 0 | 0, $583_1 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 60 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 848 | 0) >> 2] = wasm2js_i32$1; + $1288(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 80 | 0, $583_1 | 0) | 0; + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 82 | 0, $583_1 | 0, -1 | 0) | 0; + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 48 | 0, $583_1 | 0, HEAP32[($7_1 + 848 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 848 | 0) >> 2] | 0 | 0); + break label$20; + case 5: + label$104 : { + label$105 : { + if ((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$105 + } + i64toi32_i32$2 = HEAP32[((HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0); + break label$104; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1135(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 844 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] = HEAP32[($7_1 + 844 | 0) >> 2] | 0; + $614(HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) | 0; + } + break label$20; + case 6: + label$106 : { + label$107 : { + if ((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$107 + } + i64toi32_i32$1 = 0; + $3332$hi = i64toi32_i32$1; + $632_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $3333$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $3334$hi = i64toi32_i32$2; + i64toi32_i32$2 = $3333$hi; + i64toi32_i32$2 = $3334$hi; + i64toi32_i32$2 = $3333$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $3334$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $3336$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3332$hi; + i64toi32_i32$1 = $3336$hi; + i64toi32_i32$1 = $3332$hi; + i64toi32_i32$1 = $3336$hi; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $3332$hi; + i64toi32_i32$3 = 0; + label$108 : { + label$109 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$109 + } + $638_1 = 0; + break label$108; + } + $638_1 = $1046(HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + i64toi32_i32$1 = $638_1; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $1450($632_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0); + break label$106; + } + HEAP32[($7_1 + 840 | 0) >> 2] = 1; + label$110 : { + if (!($341(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $7_1 + 840 | 0 | 0) | 0)) { + break label$110 + } + $1046(HEAP32[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 840 | 0) >> 2] | 0 | 0) | 0; + } + label$111 : { + label$112 : { + if (!((($526(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 840 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) & 255 | 0 | 0) | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$112 + } + $673_1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + i64toi32_i32$3 = $673_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $3339$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $3340$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3339$hi; + i64toi32_i32$1 = $3340$hi; + i64toi32_i32$1 = $3339$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $3340$hi; + i64toi32_i32$0 = 32; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $4950 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = $673_1; + HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] = $4950; + HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] = i64toi32_i32$2; + break label$111; + } + $674_1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + i64toi32_i32$1 = $674_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $3342$hi = i64toi32_i32$3; + i64toi32_i32$3 = -1; + $3343$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3342$hi; + i64toi32_i32$3 = $3343$hi; + i64toi32_i32$3 = $3342$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $3343$hi; + i64toi32_i32$0 = -33; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $4959 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + i64toi32_i32$1 = $674_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $4959; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$2; + } + $1456(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0); + } + break label$20; + case 27: + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 832 | 0) >> 2] = 0; + HEAP32[($7_1 + 836 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($7_1 + 968 | 0) >> 2] = 0; + label$113 : { + label$114 : { + if (HEAP32[($7_1 + 968 | 0) >> 2] | 0) { + break label$114 + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 832 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 836 | 0) >> 2] | 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0); + break label$113; + } + label$115 : { + if (!((HEAP32[($7_1 + 968 | 0) >> 2] | 0 | 0) != (12 | 0) & 1 | 0)) { + break label$115 + } + $686_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + HEAP32[($686_1 + 36 | 0) >> 2] = (HEAP32[($686_1 + 36 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 968 | 0) >> 2] | 0; + } + } + break label$20; + case 37: + label$116 : { + label$117 : { + if ((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$117 + } + i64toi32_i32$1 = 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 80 | 0) >> 0] | 0) & 255 | 0 | 0, i64toi32_i32$1 | 0); + break label$116; + } + $1457(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0; + } + break label$20; + case 38: + label$118 : { + label$119 : { + if ((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$119 + } + $1448(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[(0 + 114408 | 0) >> 2] | 0 | 0); + break label$118; + } + label$120 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 1012 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$120 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $739(HEAP32[(HEAP32[($7_1 + 964 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, 1 | 0, $7_1 + 828 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 968 | 0) >> 2] = wasm2js_i32$1; + label$121 : { + label$122 : { + if (HEAP32[($7_1 + 968 | 0) >> 2] | 0) { + break label$122 + } + if (HEAP32[($7_1 + 828 | 0) >> 2] | 0) { + break label$121 + } + } + $349(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, 34484 | 0, 0 | 0); + break label$10; + } + } + label$123 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 80 | 0) >> 0] | 0) & 255 | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$123 + } + $1458(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0; + } + $42(HEAP32[(0 + 114408 | 0) >> 2] | 0 | 0); + label$124 : { + label$125 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 1012 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$125 + } + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 1012 | 0) >> 2] | 0; + (wasm2js_i32$0 = 0, wasm2js_i32$1 = $79(1976 | 0, $7_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 114408 | 0) >> 2] = wasm2js_i32$1; + break label$124; + } + HEAP32[(0 + 114408 | 0) >> 2] = 0; + } + } + break label$20; + case 35: + label$126 : { + label$127 : { + if ((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$127 + } + i64toi32_i32$2 = ((HEAPU8[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0); + break label$126; + } + label$128 : { + label$129 : { + if (((HEAPU8[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$129 + } + $349(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, 34509 | 0, 0 | 0); + break label$128; + } + label$130 : { + if (!((HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$130 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ((($527(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, 0 | 0, 1 & 255 | 0 | 0) | 0) & 255 | 0) + 1 | 0) & 7 | 0), HEAP32[(wasm2js_i32$0 + 824 | 0) >> 2] = wasm2js_i32$1; + label$131 : { + if (HEAP32[($7_1 + 824 | 0) >> 2] | 0) { + break label$131 + } + HEAP32[($7_1 + 824 | 0) >> 2] = 1; + } + HEAP8[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 8 | 0) >> 0] = HEAP32[($7_1 + 824 | 0) >> 2] | 0; + HEAP8[((HEAP32[($7_1 + 960 | 0) >> 2] | 0) + 9 | 0) >> 0] = 1; + $1456(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0); + } + } + } + break label$20; + case 3: + label$132 : { + label$133 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$133 + } + i64toi32_i32$1 = 0; + $3349$hi = i64toi32_i32$1; + $1449(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 952 | 0) >> 2] | 0 | 0); + i64toi32_i32$3 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $3350 = i64toi32_i32$1; + $3350$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($7_1 + 952 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $3351$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3350$hi; + i64toi32_i32$1 = $3351$hi; + $5282 = i64toi32_i32$2; + i64toi32_i32$1 = $3350$hi; + i64toi32_i32$3 = $3350; + i64toi32_i32$2 = $3351$hi; + i64toi32_i32$0 = $5282; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $3353$hi = i64toi32_i32$2; + i64toi32_i32$2 = $3349$hi; + i64toi32_i32$2 = $3353$hi; + i64toi32_i32$2 = $3349$hi; + i64toi32_i32$2 = $3353$hi; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + i64toi32_i32$3 = $3349$hi; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = ((i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0); + break label$132; + } + i64toi32_i32$0 = HEAP32[($7_1 + 952 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $5302 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 816 | 0) >> 2] = $5302; + HEAP32[($7_1 + 820 | 0) >> 2] = i64toi32_i32$2; + label$134 : { + if ((HEAPU8[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0) { + break label$134 + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 820 | 0) >> 2] | 0; + $3357$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $3358$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3357$hi; + i64toi32_i32$1 = $3358$hi; + i64toi32_i32$1 = $3357$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $3358$hi; + i64toi32_i32$3 = -16385; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $5317 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 816 | 0) >> 2] = $5317; + HEAP32[($7_1 + 820 | 0) >> 2] = i64toi32_i32$2; + } + $845_1 = 0; + label$135 : { + label$136 : { + if (!((($526(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $845_1 & 255 | 0 | 0) | 0) & 255 | 0 | 0) != ($845_1 & 255 | 0 | 0) & 1 | 0)) { + break label$136 + } + i64toi32_i32$1 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 816 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 820 | 0) >> 2] | 0; + $3360 = i64toi32_i32$2; + $3360$hi = i64toi32_i32$0; + $857_1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + i64toi32_i32$1 = $857_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $5346$hi = i64toi32_i32$2; + i64toi32_i32$2 = $3360$hi; + i64toi32_i32$2 = $5346$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $3360$hi; + i64toi32_i32$3 = $3360; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $5350 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = $857_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $5350; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + break label$135; + } + i64toi32_i32$0 = 0; + $3363$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 820 | 0) >> 2] | 0; + $3364$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $3365$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3364$hi; + i64toi32_i32$1 = $3365$hi; + i64toi32_i32$1 = $3364$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $3365$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$1 ^ i64toi32_i32$0 | 0; + $3366 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + $3366$hi = i64toi32_i32$0; + $858_1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + i64toi32_i32$1 = $858_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $5360$hi = i64toi32_i32$2; + i64toi32_i32$2 = $3366$hi; + i64toi32_i32$2 = $5360$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $3366$hi; + i64toi32_i32$3 = $3366; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $5364 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $858_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $5364; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 816 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 820 | 0) >> 2] | 0; + $3370$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3363$hi; + i64toi32_i32$1 = $3370$hi; + i64toi32_i32$1 = $3363$hi; + i64toi32_i32$1 = $3370$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $3363$hi; + i64toi32_i32$3 = 524288; + label$137 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$137 + } + i64toi32_i32$2 = 0; + i64toi32_i32$1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 472 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 476 | 0) >> 2] = i64toi32_i32$2; + } + } + $1276(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 159 | 0) | 0; + $1456(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0); + } + break label$20; + case 36: + label$138 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$138 + } + $1331(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $348(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 812 | 0) >> 2] = wasm2js_i32$1; + label$139 : { + if (!((HEAP32[($7_1 + 812 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$139 + } + $887_1 = 0; + HEAP32[($7_1 + 800 | 0) >> 2] = $887_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $416(HEAP32[($7_1 + 812 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 792 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 7; + $1332(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 812 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 808 | 0) >> 2] = $887_1; + HEAP32[($7_1 + 796 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 812 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$140 : { + label$141 : while (1) { + $899_1 = 16; + if (!((HEAP32[($7_1 + 808 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 812 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $899_1 | 0) >> $899_1 | 0 | 0) & 1 | 0)) { + break label$140 + } + HEAP32[($7_1 + 788 | 0) >> 2] = 0; + label$142 : { + label$143 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 796 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 98 | 0)) { + break label$143 + } + i64toi32_i32$2 = 0; + $3373$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($7_1 + 952 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $3375$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3373$hi; + i64toi32_i32$1 = $3375$hi; + i64toi32_i32$1 = $3373$hi; + i64toi32_i32$1 = $3375$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $3373$hi; + i64toi32_i32$0 = 0; + label$144 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$144 + } + HEAP32[($7_1 + 800 | 0) >> 2] = (HEAP32[($7_1 + 800 | 0) >> 2] | 0) + 1 | 0; + break label$142; + } + label$145 : { + label$146 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 796 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$146 + } + HEAP32[($7_1 + 788 | 0) >> 2] = 2; + break label$145; + } + label$147 : { + label$148 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 796 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0)) { + break label$148 + } + HEAP32[($7_1 + 788 | 0) >> 2] = 3; + break label$147; + } + HEAP32[($7_1 + 788 | 0) >> 2] = 1; + } + } + } + label$149 : { + label$150 : { + if (((HEAPU16[((HEAP32[($7_1 + 796 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$150 + } + HEAP32[($7_1 + 804 | 0) >> 2] = 0; + break label$149; + } + label$151 : { + label$152 : { + if (!((HEAP32[($7_1 + 792 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$152 + } + HEAP32[($7_1 + 804 | 0) >> 2] = 1; + break label$151; + } + HEAP32[($7_1 + 804 | 0) >> 2] = 1; + label$153 : while (1) { + $956_1 = 16; + $964_1 = 0; + label$154 : { + if (!((HEAP32[($7_1 + 804 | 0) >> 2] | 0 | 0) <= (((HEAPU16[((HEAP32[($7_1 + 812 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $956_1 | 0) >> $956_1 | 0 | 0) & 1 | 0)) { + break label$154 + } + $974_1 = 16; + $964_1 = (((HEAPU16[((HEAP32[((HEAP32[($7_1 + 792 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 804 | 0) >> 2] | 0) - 1 | 0) << 1 | 0) | 0) >> 1] | 0) << $974_1 | 0) >> $974_1 | 0 | 0) != (HEAP32[($7_1 + 808 | 0) >> 2] | 0 | 0); + } + label$155 : { + if (!($964_1 & 1 | 0)) { + break label$155 + } + HEAP32[($7_1 + 804 | 0) >> 2] = (HEAP32[($7_1 + 804 | 0) >> 2] | 0) + 1 | 0; + continue label$153; + } + break label$153; + }; + } + } + $987_1 = 0; + i64toi32_i32$3 = 0; + $3377$hi = i64toi32_i32$3; + $992_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 952 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $3379$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3377$hi; + i64toi32_i32$1 = $3379$hi; + i64toi32_i32$1 = $3377$hi; + i64toi32_i32$1 = $3379$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $3377$hi; + i64toi32_i32$2 = 0; + $997_1 = ((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0 ? 34562 : 34570; + $1000_1 = (HEAP32[($7_1 + 808 | 0) >> 2] | 0) - (HEAP32[($7_1 + 800 | 0) >> 2] | 0) | 0; + $1002_1 = HEAP32[(HEAP32[($7_1 + 796 | 0) >> 2] | 0) >> 2] | 0; + $1004_1 = $503(HEAP32[($7_1 + 796 | 0) >> 2] | 0 | 0, 1352 | 0) | 0; + $1009_1 = (HEAPU8[((HEAP32[($7_1 + 796 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 ? 1 : $987_1; + label$156 : { + label$157 : { + if (!((HEAP32[((HEAP32[($7_1 + 796 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != ($987_1 | 0) & 1 | 0)) { + break label$157 + } + if (!((HEAP32[($7_1 + 788 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$157 + } + $1027_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 796 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$156; + } + $1027_1 = 0; + } + $1030_1 = HEAP32[($7_1 + 804 | 0) >> 2] | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[($7_1 + 788 | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = $1030_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $1027_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $1009_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1004_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1002_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $1000_1; + $1459($992_1 | 0, 1 | 0, $997_1 | 0, $7_1 + 32 | 0 | 0); + } + HEAP32[($7_1 + 808 | 0) >> 2] = (HEAP32[($7_1 + 808 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 796 | 0) >> 2] = (HEAP32[($7_1 + 796 | 0) >> 2] | 0) + 20 | 0; + continue label$141; + }; + } + } + } + break label$20; + case 19: + label$158 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$158 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1025(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 784 | 0) >> 2] = wasm2js_i32$1; + label$159 : { + if (!((HEAP32[($7_1 + 784 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$159 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $348(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 780 | 0) >> 2] = wasm2js_i32$1; + label$160 : { + if (!((HEAP32[($7_1 + 780 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$160 + } + if (!((HEAP32[((HEAP32[($7_1 + 780 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$160 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $416(HEAP32[($7_1 + 780 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 784 | 0) >> 2] = wasm2js_i32$1; + } + } + label$161 : { + if (!((HEAP32[($7_1 + 784 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$161 + } + i64toi32_i32$0 = 0; + $3381$hi = i64toi32_i32$0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $350(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 784 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 776 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = HEAP32[($7_1 + 952 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $3383$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3381$hi; + i64toi32_i32$1 = $3383$hi; + i64toi32_i32$1 = $3381$hi; + i64toi32_i32$1 = $3383$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $3381$hi; + i64toi32_i32$3 = 0; + label$162 : { + label$163 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$163 + } + HEAP32[($7_1 + 768 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 784 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 6; + break label$162; + } + HEAP32[($7_1 + 768 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 784 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 3; + } + HEAP32[($7_1 + 780 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 784 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $1286(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 776 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 772 | 0) >> 2] = 0; + label$164 : { + label$165 : while (1) { + if (!((HEAP32[($7_1 + 772 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 768 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$164 + } + HEAP16[($7_1 + 766 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($7_1 + 784 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 772 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $1130_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + $1131_1 = HEAP32[($7_1 + 772 | 0) >> 2] | 0; + $1133_1 = 16; + $1135_1 = ((HEAPU16[($7_1 + 766 | 0) >> 1] | 0) << $1133_1 | 0) >> $1133_1 | 0; + $1137_1 = 16; + label$166 : { + label$167 : { + if (!((((HEAPU16[($7_1 + 766 | 0) >> 1] | 0) << $1137_1 | 0) >> $1137_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$167 + } + $1146_1 = 0; + break label$166; + } + $1150_1 = 16; + $1146_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 780 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($7_1 + 766 | 0) >> 1] | 0) << $1150_1 | 0) >> $1150_1 | 0, 20) | 0) >> 2] | 0; + } + HEAP32[($7_1 + 88 | 0) >> 2] = $1146_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $1135_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $1131_1; + $1459($1130_1 | 0, 1 | 0, 34577 | 0, $7_1 + 80 | 0 | 0); + i64toi32_i32$2 = 0; + $3385$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($7_1 + 952 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $3387$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3385$hi; + i64toi32_i32$1 = $3387$hi; + i64toi32_i32$1 = $3385$hi; + i64toi32_i32$1 = $3387$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $3385$hi; + i64toi32_i32$0 = 0; + label$168 : { + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$168 + } + $1166_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + $1173_1 = (HEAPU8[((HEAP32[((HEAP32[($7_1 + 784 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($7_1 + 772 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + $1180_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 784 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 772 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = (HEAP32[($7_1 + 772 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($7_1 + 784 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = $1180_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $1173_1; + $1459($1166_1 | 0, 4 | 0, 34582 | 0, $7_1 + 64 | 0 | 0); + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 80 | 0, 1 | 0, HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 772 | 0) >> 2] = (HEAP32[($7_1 + 772 | 0) >> 2] | 0) + 1 | 0; + continue label$165; + }; + } + } + } + break label$20; + case 20: + label$169 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$169 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $361(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_i32$1; + label$170 : { + if (!((HEAP32[($7_1 + 756 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$170 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $350(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 756 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 748 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 5; + $1286(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 748 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 760 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 756 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 752 | 0) >> 2] = 0; + label$171 : { + label$172 : while (1) { + if (!((HEAP32[($7_1 + 760 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$171 + } + $1243_1 = 0; + HEAP32[($7_1 + 744 | 0) >> 2] = HEAP32[($1243_1 + 34600 | 0) >> 2] | 0; + i64toi32_i32$0 = $1243_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 34592 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 34596 | 0) >> 2] | 0; + $6202 = i64toi32_i32$3; + i64toi32_i32$3 = $7_1; + HEAP32[($7_1 + 736 | 0) >> 2] = $6202; + HEAP32[($7_1 + 740 | 0) >> 2] = i64toi32_i32$1; + $1247_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + $1248_1 = HEAP32[($7_1 + 752 | 0) >> 2] | 0; + $1249_1 = HEAP32[($7_1 + 760 | 0) >> 2] | 0; + $1250_1 = HEAP32[$1249_1 >> 2] | 0; + $1252_1 = (HEAPU8[($1249_1 + 54 | 0) >> 0] | 0 | 0) != (i64toi32_i32$0 | 0); + $1261_1 = HEAP32[(($7_1 + 736 | 0) + ((((HEAPU8[($1249_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($1249_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 112 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 760 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + HEAP32[($7_1 + 108 | 0) >> 2] = $1261_1; + HEAP32[($7_1 + 104 | 0) >> 2] = $1252_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $1250_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $1248_1; + $1459($1247_1 | 0, 1 | 0, 34604 | 0, $7_1 + 96 | 0 | 0); + HEAP32[($7_1 + 760 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 760 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 752 | 0) >> 2] = (HEAP32[($7_1 + 752 | 0) >> 2] | 0) + 1 | 0; + continue label$172; + }; + } + } + } + break label$20; + case 11: + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 3; + HEAP32[($7_1 + 732 | 0) >> 2] = 0; + label$173 : { + label$174 : while (1) { + if (!((HEAP32[($7_1 + 732 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$173 + } + label$175 : { + label$176 : { + if (!((HEAP32[(((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 732 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$176 + } + break label$175; + } + $1304_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + $1305_1 = HEAP32[($7_1 + 732 | 0) >> 2] | 0; + $1312_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 732 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $531(HEAP32[(((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 732 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 132 | 0) >> 2] = $1312_1; + HEAP32[($7_1 + 128 | 0) >> 2] = $1305_1; + $1459($1304_1 | 0, 1 | 0, 34610 | 0, $7_1 + 128 | 0 | 0); + } + HEAP32[($7_1 + 732 | 0) >> 2] = (HEAP32[($7_1 + 732 | 0) >> 2] | 0) + 1 | 0; + continue label$174; + }; + } + break label$20; + case 8: + HEAP32[($7_1 + 728 | 0) >> 2] = 0; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 2; + HEAP32[($7_1 + 724 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 392 | 0) >> 2] | 0; + label$177 : { + label$178 : while (1) { + if (!((HEAP32[($7_1 + 724 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$177 + } + HEAP32[($7_1 + 720 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 724 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1342_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + $1343_1 = HEAP32[($7_1 + 728 | 0) >> 2] | 0; + HEAP32[($7_1 + 728 | 0) >> 2] = $1343_1 + 1 | 0; + HEAP32[($7_1 + 148 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 720 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 144 | 0) >> 2] = $1343_1; + $1459($1342_1 | 0, 1 | 0, 34614 | 0, $7_1 + 144 | 0 | 0); + HEAP32[($7_1 + 724 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 724 | 0) >> 2] | 0) >> 2] | 0; + continue label$178; + }; + } + break label$20; + case 16: + $1354_1 = 0; + HEAP32[($7_1 + 704 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 32 | 0 | 0) != ($1354_1 | 0) & 1 | 0; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 6; + HEAP32[($7_1 + 716 | 0) >> 2] = $1354_1; + label$179 : { + label$180 : while (1) { + if (!((HEAP32[($7_1 + 716 | 0) >> 2] | 0 | 0) < (23 | 0) & 1 | 0)) { + break label$179 + } + HEAP32[($7_1 + 708 | 0) >> 2] = HEAP32[(114412 + ((HEAP32[($7_1 + 716 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$181 : { + label$182 : while (1) { + if (!((HEAP32[($7_1 + 708 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$181 + } + $1460(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 708 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($7_1 + 704 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 708 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 708 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$182; + }; + } + HEAP32[($7_1 + 716 | 0) >> 2] = (HEAP32[($7_1 + 716 | 0) >> 2] | 0) + 1 | 0; + continue label$180; + }; + } + HEAP32[($7_1 + 712 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 376 | 0) >> 2] | 0; + label$183 : { + label$184 : while (1) { + if (!((HEAP32[($7_1 + 712 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$183 + } + HEAP32[($7_1 + 708 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 712 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1460(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 708 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 704 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 712 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 712 | 0) >> 2] | 0) >> 2] | 0; + continue label$184; + }; + } + break label$20; + case 28: + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 1; + HEAP32[($7_1 + 700 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 348 | 0) >> 2] | 0; + label$185 : { + label$186 : while (1) { + if (!((HEAP32[($7_1 + 700 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$185 + } + HEAP32[($7_1 + 696 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 700 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1425_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + HEAP32[($7_1 + 160 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 696 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $1459($1425_1 | 0, 1 | 0, 34617 | 0, $7_1 + 160 | 0 | 0); + HEAP32[($7_1 + 700 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 700 | 0) >> 2] | 0) >> 2] | 0; + continue label$186; + }; + } + break label$20; + case 31: + HEAP32[($7_1 + 692 | 0) >> 2] = 0; + label$187 : { + label$188 : while (1) { + if (!((HEAP32[($7_1 + 692 | 0) >> 2] | 0 | 0) < (64 | 0) & 1 | 0)) { + break label$187 + } + $1443_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + HEAP32[($7_1 + 176 | 0) >> 2] = HEAP32[(11776 + ((HEAP32[($7_1 + 692 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $1459($1443_1 | 0, 1 | 0, 34617 | 0, $7_1 + 176 | 0 | 0); + HEAP32[($7_1 + 692 | 0) >> 2] = (HEAP32[($7_1 + 692 | 0) >> 2] | 0) + 1 | 0; + continue label$188; + }; + } + break label$20; + case 15: + label$189 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$189 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $361(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 684 | 0) >> 2] = wasm2js_i32$1; + label$190 : { + if (!((HEAP32[($7_1 + 684 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$190 + } + HEAP32[($7_1 + 688 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 684 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$191 : { + if (!((HEAP32[($7_1 + 688 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$191 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $350(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 684 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 680 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 676 | 0) >> 2] = 0; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 8; + $1286(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 680 | 0) >> 2] | 0 | 0); + label$192 : { + label$193 : while (1) { + if (!((HEAP32[($7_1 + 688 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$192 + } + HEAP32[($7_1 + 672 | 0) >> 2] = 0; + label$194 : { + label$195 : while (1) { + if (!((HEAP32[($7_1 + 672 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 688 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$194 + } + $1508_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + $1509_1 = HEAP32[($7_1 + 676 | 0) >> 2] | 0; + $1510_1 = HEAP32[($7_1 + 672 | 0) >> 2] | 0; + $1512_1 = HEAP32[((HEAP32[($7_1 + 688 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1526_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 684 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[(((HEAP32[($7_1 + 688 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 672 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + $1534_1 = HEAP32[((((HEAP32[($7_1 + 688 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 672 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0; + $1539_1 = $1461((HEAPU8[((HEAP32[($7_1 + 688 | 0) >> 2] | 0) + 26 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + $1544_1 = $1461((HEAPU8[((HEAP32[($7_1 + 688 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + HEAP32[($7_1 + 220 | 0) >> 2] = 34628; + HEAP32[($7_1 + 216 | 0) >> 2] = $1544_1; + HEAP32[($7_1 + 212 | 0) >> 2] = $1539_1; + HEAP32[($7_1 + 208 | 0) >> 2] = $1534_1; + HEAP32[($7_1 + 204 | 0) >> 2] = $1526_1; + HEAP32[($7_1 + 200 | 0) >> 2] = $1512_1; + HEAP32[($7_1 + 196 | 0) >> 2] = $1510_1; + HEAP32[($7_1 + 192 | 0) >> 2] = $1509_1; + $1459($1508_1 | 0, 1 | 0, 34619 | 0, $7_1 + 192 | 0 | 0); + HEAP32[($7_1 + 672 | 0) >> 2] = (HEAP32[($7_1 + 672 | 0) >> 2] | 0) + 1 | 0; + continue label$195; + }; + } + HEAP32[($7_1 + 676 | 0) >> 2] = (HEAP32[($7_1 + 676 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 688 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 688 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$193; + }; + } + } + } + } + break label$20; + case 14: + HEAP32[($7_1 + 636 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $1570_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + HEAP32[($1570_1 + 44 | 0) >> 2] = (HEAP32[($1570_1 + 44 | 0) >> 2] | 0) + 4 | 0; + $1574_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + $1577_1 = (HEAP32[($1574_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1574_1 + 44 | 0) >> 2] = $1577_1; + HEAP32[($7_1 + 632 | 0) >> 2] = $1577_1; + $1578_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + $1581_1 = (HEAP32[($1578_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1578_1 + 44 | 0) >> 2] = $1581_1; + HEAP32[($7_1 + 628 | 0) >> 2] = $1581_1; + HEAP32[($7_1 + 644 | 0) >> 2] = HEAP32[((HEAP32[(((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 972 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$196 : { + label$197 : while (1) { + if (!((HEAP32[($7_1 + 644 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$196 + } + label$198 : { + label$199 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$199 + } + $1604_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $348(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, $1604_1 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 664 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 644 | 0) >> 2] = $1604_1; + break label$198; + } + HEAP32[($7_1 + 664 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 644 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 644 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 644 | 0) >> 2] | 0) >> 2] | 0; + } + label$200 : { + label$201 : { + if ((HEAP32[($7_1 + 664 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$201 + } + if (!((HEAP32[((HEAP32[($7_1 + 664 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$200 + } + } + continue label$197; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $350(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 664 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 972 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 1008 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 972 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $1286(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0); + $1393(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 664 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, HEAP32[(HEAP32[($7_1 + 664 | 0) >> 2] | 0) >> 2] | 0 | 0); + $1652_1 = 16; + label$202 : { + if (!(((((HEAPU16[((HEAP32[($7_1 + 664 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1652_1 | 0) >> $1652_1 | 0) + (HEAP32[($7_1 + 628 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$202 + } + $1666_1 = 16; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = (((HEAPU16[((HEAP32[($7_1 + 664 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1666_1 | 0) >> $1666_1 | 0) + (HEAP32[($7_1 + 628 | 0) >> 2] | 0) | 0; + } + $1462(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 664 | 0) >> 2] | 0 | 0, 96 | 0); + $1463(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 636 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 664 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 652 | 0) >> 2] = 1; + HEAP32[($7_1 + 668 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 664 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$203 : { + label$204 : while (1) { + if (!((HEAP32[($7_1 + 668 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$203 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $361(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 668 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 660 | 0) >> 2] = wasm2js_i32$1; + label$205 : { + label$206 : { + if (!((HEAP32[($7_1 + 660 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$206 + } + break label$205; + } + $1706_1 = 0; + HEAP32[($7_1 + 656 | 0) >> 2] = $1706_1; + $1393(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 660 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, HEAP32[(HEAP32[($7_1 + 660 | 0) >> 2] | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1464(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 660 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 668 | 0) >> 2] | 0 | 0, $7_1 + 656 | 0 | 0, $1706_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 640 | 0) >> 2] = wasm2js_i32$1; + label$207 : { + label$208 : { + if (HEAP32[($7_1 + 640 | 0) >> 2] | 0) { + break label$208 + } + label$209 : { + label$210 : { + if (!((HEAP32[($7_1 + 656 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$210 + } + $1462(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 652 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 660 | 0) >> 2] | 0 | 0, 96 | 0); + break label$209; + } + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 96 | 0, HEAP32[($7_1 + 652 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 656 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) | 0; + $1405(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 656 | 0) >> 2] | 0 | 0); + } + break label$207; + } + HEAP32[($7_1 + 644 | 0) >> 2] = 0; + break label$203; + } + } + HEAP32[($7_1 + 652 | 0) >> 2] = (HEAP32[($7_1 + 652 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 668 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 668 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$204; + }; + } + label$211 : { + if (!((HEAP32[($7_1 + 668 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$211 + } + break label$196; + } + label$212 : { + if (!((HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 652 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$212 + } + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($7_1 + 652 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 37 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 624 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 652 | 0) >> 2] = 1; + HEAP32[($7_1 + 668 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 664 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$213 : { + label$214 : while (1) { + if (!((HEAP32[($7_1 + 668 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$213 + } + $1778_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $361(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 668 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 660 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 656 | 0) >> 2] = $1778_1; + HEAP32[($7_1 + 616 | 0) >> 2] = $1778_1; + label$215 : { + if (!((HEAP32[($7_1 + 660 | 0) >> 2] | 0 | 0) != ($1778_1 | 0) & 1 | 0)) { + break label$215 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1464(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 660 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 668 | 0) >> 2] | 0 | 0, $7_1 + 656 | 0 | 0, $7_1 + 616 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 640 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 620 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 648 | 0) >> 2] = 0; + label$216 : { + label$217 : while (1) { + if (!((HEAP32[($7_1 + 648 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 668 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$216 + } + label$218 : { + label$219 : { + if (!((HEAP32[($7_1 + 616 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$219 + } + $1824_1 = HEAP32[((HEAP32[($7_1 + 616 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 648 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$218; + } + $1824_1 = HEAP32[(((HEAP32[($7_1 + 668 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 648 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + } + HEAP32[($7_1 + 612 | 0) >> 2] = $1824_1; + $1381(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 664 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 612 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 628 | 0) >> 2] | 0) + (HEAP32[($7_1 + 648 | 0) >> 2] | 0) | 0 | 0); + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 50 | 0, (HEAP32[($7_1 + 628 | 0) >> 2] | 0) + (HEAP32[($7_1 + 648 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 620 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 648 | 0) >> 2] = (HEAP32[($7_1 + 648 | 0) >> 2] | 0) + 1 | 0; + continue label$217; + }; + } + label$220 : { + label$221 : { + if (!((HEAP32[($7_1 + 656 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$221 + } + $1278(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($7_1 + 628 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 668 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 632 | 0) >> 2] | 0 | 0, $1409(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 656 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[((HEAP32[($7_1 + 668 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 30 | 0, HEAP32[($7_1 + 652 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 620 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 632 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + break label$220; + } + label$222 : { + if (!((HEAP32[($7_1 + 660 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$222 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($1296(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) | 0) + 2 | 0), HEAP32[(wasm2js_i32$0 + 608 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 31 | 0, HEAP32[($7_1 + 652 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 608 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 628 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 620 | 0) >> 2] | 0 | 0) | 0; + } + } + label$223 : { + label$224 : { + if ((HEAP32[((HEAP32[($7_1 + 664 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$224 + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 128 | 0, 0 | 0, (HEAP32[($7_1 + 636 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + break label$223; + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, (HEAP32[($7_1 + 636 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + } + $1908_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + $1911_1 = (HEAP32[($7_1 + 636 | 0) >> 2] | 0) + 2 | 0; + $1913_1 = HEAP32[((HEAP32[($7_1 + 668 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 228 | 0) >> 2] = (HEAP32[($7_1 + 652 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($7_1 + 224 | 0) >> 2] = $1913_1; + $1459($1908_1 | 0, $1911_1 | 0, 34633 | 0, $7_1 + 224 | 0 | 0); + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[($7_1 + 636 | 0) >> 2] | 0 | 0, 4 | 0) | 0; + $1369(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 620 | 0) >> 2] | 0 | 0); + $13(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 616 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 652 | 0) >> 2] = (HEAP32[($7_1 + 652 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 668 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 668 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$214; + }; + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 5 | 0, 0 | 0, (HEAP32[($7_1 + 624 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 624 | 0) >> 2] | 0 | 0); + continue label$197; + }; + } + break label$20; + case 7: + label$225 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$225 + } + $1465(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, ($526(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0) | 0) & 255 | 0 | 0); + } + break label$20; + case 21: + $1956_1 = 0; + HEAP32[($7_1 + 588 | 0) >> 2] = $1956_1; + HEAP32[($7_1 + 584 | 0) >> 2] = ((HEAPU8[(((HEAPU8[(HEAP32[($7_1 + 1016 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0 | 0) == (113 | 0) & 1 | 0; + label$226 : { + if (!((HEAP32[(HEAP32[($7_1 + 1028 | 0) >> 2] | 0) >> 2] | 0 | 0) == ($1956_1 | 0) & 1 | 0)) { + break label$226 + } + HEAP32[($7_1 + 972 | 0) >> 2] = -1; + } + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 6; + HEAP32[($7_1 + 592 | 0) >> 2] = 100; + label$227 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$227 + } + label$228 : { + label$229 : { + if (!($341(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $7_1 + 592 | 0 | 0) | 0)) { + break label$229 + } + label$230 : { + if (!((HEAP32[($7_1 + 592 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$230 + } + HEAP32[($7_1 + 592 | 0) >> 2] = 100; + } + break label$228; + } + $2002_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + $2003_1 = HEAP32[($7_1 + 1012 | 0) >> 2] | 0; + label$231 : { + label$232 : { + if (!((HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$232 + } + $2017_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 972 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + break label$231; + } + $2017_1 = 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $348($2002_1 | 0, 0 | 0, $2003_1 | 0, $2017_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 588 | 0) >> 2] = wasm2js_i32$1; + } + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 69 | 0, (HEAP32[($7_1 + 592 | 0) >> 2] | 0) - 1 | 0 | 0, 1 | 0) | 0; + HEAP32[($7_1 + 604 | 0) >> 2] = 0; + label$233 : { + label$234 : while (1) { + if (!((HEAP32[($7_1 + 604 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$233 + } + $2037_1 = 0; + HEAP32[($7_1 + 568 | 0) >> 2] = $2037_1; + HEAP32[($7_1 + 564 | 0) >> 2] = $2037_1; + label$235 : { + label$236 : { + if (!((HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) >= ($2037_1 | 0) & 1 | 0)) { + break label$236 + } + if (!((HEAP32[($7_1 + 604 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$236 + } + break label$235; + } + $1286(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 604 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 576 | 0) >> 2] = (HEAP32[(((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 604 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($7_1 + 568 | 0) >> 2] = 0; + HEAP32[($7_1 + 580 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 576 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$237 : { + label$238 : while (1) { + if (!((HEAP32[($7_1 + 580 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$237 + } + HEAP32[($7_1 + 560 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 580 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$239 : { + label$240 : { + if (!((HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$240 + } + if (!((HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 560 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$240 + } + break label$239; + } + label$241 : { + if ((HEAP32[((HEAP32[($7_1 + 560 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$241 + } + HEAP32[($7_1 + 568 | 0) >> 2] = (HEAP32[($7_1 + 568 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($7_1 + 552 | 0) >> 2] = 0; + HEAP32[($7_1 + 556 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 560 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$242 : { + label$243 : while (1) { + if (!((HEAP32[($7_1 + 556 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$242 + } + HEAP32[($7_1 + 568 | 0) >> 2] = (HEAP32[($7_1 + 568 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 556 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 556 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 552 | 0) >> 2] = (HEAP32[($7_1 + 552 | 0) >> 2] | 0) + 1 | 0; + continue label$243; + }; + } + label$244 : { + if (!((HEAP32[($7_1 + 552 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 564 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$244 + } + HEAP32[($7_1 + 564 | 0) >> 2] = HEAP32[($7_1 + 552 | 0) >> 2] | 0; + } + } + HEAP32[($7_1 + 580 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 580 | 0) >> 2] | 0) >> 2] | 0; + continue label$238; + }; + } + label$245 : { + if (HEAP32[($7_1 + 568 | 0) >> 2] | 0) { + break label$245 + } + break label$235; + } + label$246 : { + if (!((HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$246 + } + HEAP32[($7_1 + 568 | 0) >> 2] = (HEAP32[($7_1 + 568 | 0) >> 2] | 0) + 1 | 0; + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $365(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 568 | 0) >> 2] | 0) + 1 | 0) << 2 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 572 | 0) >> 2] = wasm2js_i32$1; + label$247 : { + if (!((HEAP32[($7_1 + 572 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$247 + } + break label$233; + } + $2149_1 = 0; + HEAP32[($7_1 + 568 | 0) >> 2] = $2149_1; + label$248 : { + if (!((HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0) != ($2149_1 | 0) & 1 | 0)) { + break label$248 + } + $2157_1 = HEAP32[($7_1 + 572 | 0) >> 2] | 0; + $2160_1 = (HEAP32[($7_1 + 568 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 568 | 0) >> 2] = $2160_1; + HEAP32[($2157_1 + ($2160_1 << 2 | 0) | 0) >> 2] = 0; + } + HEAP32[($7_1 + 580 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 576 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$249 : { + label$250 : while (1) { + if (!((HEAP32[($7_1 + 580 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$249 + } + HEAP32[($7_1 + 548 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 580 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$251 : { + label$252 : { + if (!((HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$252 + } + if (!((HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 548 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$252 + } + break label$251; + } + label$253 : { + if ((HEAP32[((HEAP32[($7_1 + 548 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$253 + } + $2194_1 = HEAP32[((HEAP32[($7_1 + 548 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $2195_1 = HEAP32[($7_1 + 572 | 0) >> 2] | 0; + $2198_1 = (HEAP32[($7_1 + 568 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 568 | 0) >> 2] = $2198_1; + HEAP32[($2195_1 + ($2198_1 << 2 | 0) | 0) >> 2] = $2194_1; + } + HEAP32[($7_1 + 544 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 548 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$254 : { + label$255 : while (1) { + if (!((HEAP32[($7_1 + 544 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$254 + } + $2212_1 = HEAP32[((HEAP32[($7_1 + 544 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $2213_1 = HEAP32[($7_1 + 572 | 0) >> 2] | 0; + $2216_1 = (HEAP32[($7_1 + 568 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 568 | 0) >> 2] = $2216_1; + HEAP32[($2213_1 + ($2216_1 << 2 | 0) | 0) >> 2] = $2212_1; + HEAP32[($7_1 + 544 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 544 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$255; + }; + } + } + HEAP32[($7_1 + 580 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 580 | 0) >> 2] | 0) >> 2] | 0; + continue label$250; + }; + } + HEAP32[(HEAP32[($7_1 + 572 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 568 | 0) >> 2] | 0; + label$256 : { + label$257 : { + if (!((HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) > ((HEAP32[($7_1 + 564 | 0) >> 2] | 0) + 8 | 0 | 0) & 1 | 0)) { + break label$257 + } + $2238_1 = HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + break label$256; + } + $2238_1 = (HEAP32[($7_1 + 564 | 0) >> 2] | 0) + 8 | 0; + } + $2244_1 = 2; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = $2238_1; + $1353(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0); + $1278(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 147 | 0, $2244_1 | 0, HEAP32[($7_1 + 568 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($7_1 + 572 | 0) >> 2] | 0 | 0, -15 | 0) | 0; + $354(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 604 | 0) >> 2] | 0) & 255 | 0) & 65535 | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 50 | 0, $2244_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 596 | 0) >> 2] = wasm2js_i32$1; + $2261_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + $2262_1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + HEAP32[($7_1 + 272 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 604 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $2276_1 = 3; + $2278_1 = 0; + $1278($2261_1 | 0, 115 | 0, $2278_1 | 0, $2276_1 | 0, $2278_1 | 0, $351($2262_1 | 0, 34637 | 0, $7_1 + 272 | 0 | 0) | 0 | 0, -7 | 0) | 0; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 110 | 0, 2 | 0, $2276_1 | 0, $2276_1 | 0) | 0; + $1466(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 596 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 580 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 576 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$258 : { + label$259 : while (1) { + if (!((HEAP32[($7_1 + 580 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$258 + } + HEAP32[($7_1 + 540 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 580 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 528 | 0) >> 2] = 0; + HEAP32[($7_1 + 512 | 0) >> 2] = -1; + label$260 : { + label$261 : { + if (!((HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >>> 0 < 1 >>> 0 & 1 | 0)) { + break label$261 + } + break label$260; + } + label$262 : { + if (!((HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$262 + } + if (!((HEAP32[($7_1 + 588 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 540 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$262 + } + break label$260; + } + label$263 : { + label$264 : { + if ((HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$264 + } + $2324_1 = 0; + break label$263; + } + $2324_1 = $416(HEAP32[($7_1 + 540 | 0) >> 2] | 0 | 0) | 0; + } + $2328_1 = 0; + HEAP32[($7_1 + 532 | 0) >> 2] = $2324_1; + $1410(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 540 | 0) >> 2] | 0 | 0, 96 | 0, 0 & 255 | 0 | 0, 1 | 0, $2328_1 | 0, $7_1 + 520 | 0 | 0, $7_1 + 516 | 0 | 0) | 0; + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 69 | 0, $2328_1 | 0, 7 | 0) | 0; + HEAP32[($7_1 + 600 | 0) >> 2] = $2328_1; + HEAP32[($7_1 + 536 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$265 : { + label$266 : while (1) { + if (!((HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$265 + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, (HEAP32[($7_1 + 600 | 0) >> 2] | 0) + 8 | 0 | 0) | 0; + HEAP32[($7_1 + 536 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 600 | 0) >> 2] = (HEAP32[($7_1 + 600 | 0) >> 2] | 0) + 1 | 0; + continue label$266; + }; + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($7_1 + 520 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 82 | 0, 7 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 524 | 0) >> 2] = wasm2js_i32$1; + label$267 : { + if (HEAP32[($7_1 + 584 | 0) >> 2] | 0) { + break label$267 + } + $2382_1 = 16; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 520 | 0) >> 2] | 0 | 0, (((HEAPU16[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 44 | 0) >> 1] | 0) << $2382_1 | 0) >> $2382_1 | 0) - 1 | 0 | 0, 3 | 0) | 0; + $354(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 128 & 65535 | 0 | 0); + } + HEAP32[($7_1 + 600 | 0) >> 2] = 0; + label$268 : { + label$269 : while (1) { + $2394_1 = 16; + if (!((HEAP32[($7_1 + 600 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $2394_1 | 0) >> $2394_1 | 0 | 0) & 1 | 0)) { + break label$268 + } + $2405_1 = 16; + label$270 : { + label$271 : { + if (!((HEAP32[($7_1 + 600 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $2405_1 | 0) >> $2405_1 | 0 | 0) & 1 | 0)) { + break label$271 + } + break label$270; + } + label$272 : { + if ((HEAPU8[(((HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 600 | 0) >> 2] | 0, 20) | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$272 + } + break label$270; + } + $1381(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 540 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 520 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 600 | 0) >> 2] | 0 | 0, 3 | 0); + label$273 : { + if (!(((HEAPU8[($1467(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, -1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$273 + } + $354(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 128 & 65535 | 0 | 0); + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 51 | 0, 3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 504 | 0) >> 2] = wasm2js_i32$1; + $2447_1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + $2449_1 = HEAP32[(HEAP32[($7_1 + 540 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 244 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 600 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + HEAP32[($7_1 + 240 | 0) >> 2] = $2449_1; + $2462_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $351($2447_1 | 0, 34661 | 0, $7_1 + 240 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 508 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 115 | 0, $2462_1 | 0, 3 | 0, $2462_1 | 0, HEAP32[($7_1 + 508 | 0) >> 2] | 0 | 0, -7 | 0) | 0; + $1466(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 504 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 600 | 0) >> 2] = (HEAP32[($7_1 + 600 | 0) >> 2] | 0) + 1 | 0; + continue label$269; + }; + } + label$274 : { + if (!((HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$274 + } + i64toi32_i32$1 = 0; + $3391$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $3392$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $3393$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3392$hi; + i64toi32_i32$3 = $3393$hi; + i64toi32_i32$3 = $3392$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $3393$hi; + i64toi32_i32$2 = 512; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $3395$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3391$hi; + i64toi32_i32$1 = $3395$hi; + i64toi32_i32$1 = $3391$hi; + i64toi32_i32$1 = $3395$hi; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + i64toi32_i32$0 = $3391$hi; + i64toi32_i32$2 = 0; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$274 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1339(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 500 | 0) >> 2] = wasm2js_i32$1; + label$275 : { + if ((HEAPU8[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$275 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 496 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 492 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 52 | 0) >> 2] = (HEAP32[($7_1 + 520 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 484 | 0) >> 2] = (HEAP32[(HEAP32[($7_1 + 500 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0; + label$276 : { + label$277 : while (1) { + if (!((HEAP32[($7_1 + 484 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$276 + } + $1390(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 484 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 496 | 0) >> 2] | 0 | 0, 0 | 0); + HEAP32[($7_1 + 484 | 0) >> 2] = (HEAP32[($7_1 + 484 | 0) >> 2] | 0) + -1 | 0; + continue label$277; + }; + } + $1468(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 500 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 492 | 0) >> 2] | 0 | 0, 16 | 0); + $1369(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 496 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + $2536_1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + HEAP32[($7_1 + 256 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 540 | 0) >> 2] | 0) >> 2] | 0; + $2544_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $351($2536_1 | 0, 34681 | 0, $7_1 + 256 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 488 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 115 | 0, $2544_1 | 0, 3 | 0, $2544_1 | 0, HEAP32[($7_1 + 488 | 0) >> 2] | 0 | 0, -7 | 0) | 0; + $1466(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 492 | 0) >> 2] | 0 | 0); + } + $382(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 500 | 0) >> 2] | 0 | 0); + } + label$278 : { + if (HEAP32[($7_1 + 584 | 0) >> 2] | 0) { + break label$278 + } + HEAP32[($7_1 + 600 | 0) >> 2] = 0; + HEAP32[($7_1 + 536 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$279 : { + label$280 : while (1) { + if (!((HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$279 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 464 | 0) >> 2] = wasm2js_i32$1; + label$281 : { + label$282 : { + if (!((HEAP32[($7_1 + 532 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$282 + } + break label$281; + } + $2574_1 = 110; + $2575_1 = 4; + $2576_1 = 3; + $2583_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1469(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 520 | 0) >> 2] | 0 | 0, $2583_1 | 0, $2583_1 | 0, $7_1 + 476 | 0 | 0, HEAP32[($7_1 + 528 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 512 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 512 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 528 | 0) >> 2] = HEAP32[($7_1 + 536 | 0) >> 2] | 0; + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 82 | 0, (HEAP32[($7_1 + 600 | 0) >> 2] | 0) + 8 | 0 | 0, 1 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $353(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 30 | 0, (HEAP32[($7_1 + 516 | 0) >> 2] | 0) + (HEAP32[($7_1 + 600 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 464 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 512 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 480 | 0) >> 2] = wasm2js_i32$1; + $1463(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, $2576_1 | 0, 34711 | 0) | 0; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, $2574_1 | 0, 7 | 0, $2576_1 | 0, $2576_1 | 0) | 0; + $1463(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, $2575_1 | 0, 34716 | 0) | 0; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, $2574_1 | 0, $2575_1 | 0, $2576_1 | 0, $2576_1 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1463(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, $2575_1 | 0, HEAP32[(HEAP32[($7_1 + 536 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 468 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, $2574_1 | 0, $2575_1 | 0, $2576_1 | 0, $2576_1 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1466(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 472 | 0) >> 2] = wasm2js_i32$1; + $1277(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 480 | 0) >> 2] | 0 | 0); + label$283 : { + if (!((HEAPU8[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$283 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 460 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 452 | 0) >> 2] = 0; + label$284 : { + label$285 : while (1) { + if (!((HEAP32[($7_1 + 452 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$284 + } + $2647_1 = 16; + HEAP32[($7_1 + 448 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 452 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $2647_1 | 0) >> $2647_1 | 0; + label$286 : { + label$287 : { + if (!((HEAP32[($7_1 + 448 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$287 + } + if (!((HEAPU8[(((HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 448 | 0) >> 2] | 0, 20) | 0) + 12 | 0) >> 0] | 0) & 255 | 0)) { + break label$287 + } + break label$286; + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 50 | 0, (HEAP32[($7_1 + 512 | 0) >> 2] | 0) + (HEAP32[($7_1 + 452 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 460 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($7_1 + 452 | 0) >> 2] = (HEAP32[($7_1 + 452 | 0) >> 2] | 0) + 1 | 0; + continue label$285; + }; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 5 | 0, (HEAP32[($7_1 + 516 | 0) >> 2] | 0) + (HEAP32[($7_1 + 600 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 456 | 0) >> 2] = wasm2js_i32$1; + $1282(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 460 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 456 | 0) >> 2] | 0 | 0); + $353(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 39 | 0, (HEAP32[($7_1 + 516 | 0) >> 2] | 0) + (HEAP32[($7_1 + 600 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 460 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 512 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + $1463(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 3 | 0, 34737 | 0) | 0; + $1282(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 468 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 460 | 0) >> 2] | 0 | 0); + } + $1277(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 472 | 0) >> 2] | 0 | 0); + $1470(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 476 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 536 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 600 | 0) >> 2] = (HEAP32[($7_1 + 600 | 0) >> 2] | 0) + 1 | 0; + continue label$280; + }; + } + } + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($7_1 + 520 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 524 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 524 | 0) >> 2] | 0) - 1 | 0 | 0); + label$288 : { + if (HEAP32[($7_1 + 584 | 0) >> 2] | 0) { + break label$288 + } + $1463(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 2 | 0, 34764 | 0) | 0; + HEAP32[($7_1 + 600 | 0) >> 2] = 0; + HEAP32[($7_1 + 536 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 540 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$289 : { + label$290 : while (1) { + if (!((HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$289 + } + label$291 : { + label$292 : { + if (!((HEAP32[($7_1 + 532 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 536 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$292 + } + break label$291; + } + $2741_1 = 4; + $2743_1 = 3; + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 92 | 0, (HEAP32[($7_1 + 516 | 0) >> 2] | 0) + (HEAP32[($7_1 + 600 | 0) >> 2] | 0) | 0 | 0, $2743_1 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 53 | 0, (HEAP32[($7_1 + 600 | 0) >> 2] | 0) + 8 | 0 | 0, 0 | 0, $2743_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 596 | 0) >> 2] = wasm2js_i32$1; + $354(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 144 & 65535 | 0 | 0); + $1463(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, $2741_1 | 0, HEAP32[(HEAP32[($7_1 + 536 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 110 | 0, $2741_1 | 0, 2 | 0, $2743_1 | 0) | 0; + $1466(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 596 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 536 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 536 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 600 | 0) >> 2] = (HEAP32[($7_1 + 600 | 0) >> 2] | 0) + 1 | 0; + continue label$290; + }; + } + } + } + HEAP32[($7_1 + 580 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 580 | 0) >> 2] | 0) >> 2] | 0; + continue label$259; + }; + } + } + HEAP32[($7_1 + 604 | 0) >> 2] = (HEAP32[($7_1 + 604 | 0) >> 2] | 0) + 1 | 0; + continue label$234; + }; + } + $2777_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $355(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 7 | 0, 34800 | 0, $2777_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 444 | 0) >> 2] = wasm2js_i32$1; + label$293 : { + if (!((HEAP32[($7_1 + 444 | 0) >> 2] | 0 | 0) != ($2777_1 | 0) & 1 | 0)) { + break label$293 + } + $2789_1 = 255; + HEAP32[((HEAP32[($7_1 + 444 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1 - (HEAP32[($7_1 + 592 | 0) >> 2] | 0) | 0; + HEAP8[((HEAP32[($7_1 + 444 | 0) >> 2] | 0) + 41 | 0) >> 0] = $2789_1; + HEAP32[((HEAP32[($7_1 + 444 | 0) >> 2] | 0) + 56 | 0) >> 2] = 34828; + HEAP8[((HEAP32[($7_1 + 444 | 0) >> 2] | 0) + 101 | 0) >> 0] = $2789_1; + $2798_1 = $285(11 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 444 | 0) >> 2] | 0) + 116 | 0) >> 2] = $2798_1; + } + $1471(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 0 | 0, ($1296(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) | 0) - 2 | 0 | 0); + break label$20; + case 13: + label$294 : { + label$295 : { + if ((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$295 + } + label$296 : { + if (!($360(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0)) { + break label$296 + } + break label$10; + } + $1448(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[(34832 + (((HEAPU8[((HEAP32[(HEAP32[($7_1 + 1036 | 0) >> 2] | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0) << 3 | 0) | 0) >> 2] | 0 | 0); + break label$294; + } + label$297 : { + if ((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 64 | 0) { + break label$297 + } + HEAP32[($7_1 + 440 | 0) >> 2] = 34832; + label$298 : { + label$299 : while (1) { + if (!((HEAP32[(HEAP32[($7_1 + 440 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$298 + } + label$300 : { + if (!((0 | 0) == ($88(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 440 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$300 + } + label$301 : { + label$302 : { + if (!((HEAPU8[((HEAP32[($7_1 + 440 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0)) { + break label$302 + } + $2857_1 = (HEAPU8[((HEAP32[($7_1 + 440 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0; + break label$301; + } + $2862_1 = 24; + $2857_1 = ((HEAPU8[(0 + 1032 | 0) >> 0] | 0) << $2862_1 | 0) >> $2862_1 | 0 ? 2 : 3; + } + HEAP8[($7_1 + 439 | 0) >> 0] = $2857_1; + HEAP8[((HEAP32[((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 77 | 0) >> 0] = HEAPU8[($7_1 + 439 | 0) >> 0] | 0; + $494(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 439 | 0) >> 0] | 0) & 255 | 0 | 0); + break label$298; + } + HEAP32[($7_1 + 440 | 0) >> 2] = (HEAP32[($7_1 + 440 | 0) >> 2] | 0) + 8 | 0; + continue label$299; + }; + } + label$303 : { + if ((HEAP32[(HEAP32[($7_1 + 440 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$303 + } + $2886_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + HEAP32[($7_1 + 288 | 0) >> 2] = HEAP32[($7_1 + 1012 | 0) >> 2] | 0; + $349($2886_1 | 0, 34962 | 0, $7_1 + 288 | 0 | 0); + } + } + } + break label$20; + case 1: + i64toi32_i32$2 = HEAP32[($7_1 + 952 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + HEAP32[($7_1 + 432 | 0) >> 2] = i64toi32_i32$3; + $356(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0); + label$304 : { + label$305 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$305 + } + if (((HEAPU8[((HEAP32[($7_1 + 952 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 8 | 0) { + break label$305 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $355(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 2 | 0, 34987 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 428 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 428 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 972 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 428 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($7_1 + 972 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 428 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($7_1 + 432 | 0) >> 2] | 0; + $2921_1 = $1135(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 428 | 0) >> 2] | 0) + 32 | 0) >> 2] = $2921_1; + HEAP16[((HEAP32[($7_1 + 428 | 0) >> 2] | 0) + 22 | 0) >> 1] = 1; + break label$304; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $355(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 3 | 0, 34995 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 424 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 424 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 972 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 424 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($7_1 + 972 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 424 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($7_1 + 432 | 0) >> 2] | 0; + $1472(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0); + } + break label$20; + case 9: + HEAP32[($7_1 + 420 | 0) >> 2] = 0; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = 1; + label$306 : { + label$307 : while (1) { + $2940_1 = HEAP32[($7_1 + 420 | 0) >> 2] | 0; + HEAP32[($7_1 + 420 | 0) >> 2] = $2940_1 + 1 | 0; + $2943_1 = $537($2940_1 | 0) | 0; + HEAP32[($7_1 + 416 | 0) >> 2] = $2943_1; + if (!(($2943_1 | 0) != (0 | 0) & 1 | 0)) { + break label$306 + } + $2950_1 = 1; + $1463(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, $2950_1 | 0, HEAP32[($7_1 + 416 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 80 | 0, $2950_1 | 0, $2950_1 | 0) | 0; + continue label$307; + }; + } + $1472(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0); + break label$20; + case 41: + label$308 : { + label$309 : { + if (!((HEAP32[(HEAP32[($7_1 + 1028 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$309 + } + $2964_1 = HEAP32[($7_1 + 972 | 0) >> 2] | 0; + break label$308; + } + $2964_1 = 10; + } + $2967_1 = 0; + HEAP32[($7_1 + 412 | 0) >> 2] = $2964_1; + HEAP32[($7_1 + 408 | 0) >> 2] = $2967_1; + label$310 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != ($2967_1 | 0) & 1 | 0)) { + break label$310 + } + label$311 : { + label$312 : { + if ($88(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, 35007 | 0) | 0) { + break label$312 + } + HEAP32[($7_1 + 408 | 0) >> 2] = 1; + break label$311; + } + label$313 : { + label$314 : { + if ($88(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, 35012 | 0) | 0) { + break label$314 + } + HEAP32[($7_1 + 408 | 0) >> 2] = 2; + break label$313; + } + label$315 : { + if ($88(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, 9675 | 0) | 0) { + break label$315 + } + HEAP32[($7_1 + 408 | 0) >> 2] = 3; + } + } + } + } + $2987_1 = 1; + $2988_1 = 3; + HEAP32[((HEAP32[($7_1 + 1036 | 0) >> 2] | 0) + 44 | 0) >> 2] = $2988_1; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 6 | 0, HEAP32[($7_1 + 412 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 408 | 0) >> 2] | 0 | 0, $2987_1 | 0) | 0; + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 80 | 0, $2987_1 | 0, $2988_1 | 0) | 0; + break label$20; + case 40: + label$316 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$316 + } + $475(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, $1135(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + } + $3006_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + label$317 : { + label$318 : { + if (!((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 236 | 0) >> 2] | 0 | 0) == (12 | 0) & 1 | 0)) { + break label$318 + } + $3016_1 = HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0; + break label$317; + } + $3016_1 = 0; + } + i64toi32_i32$3 = $3016_1; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $1450($3006_1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0); + break label$20; + case 33: + $443(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0) | 0; + break label$20; + case 29: + label$319 : { + label$320 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$320 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1135(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_i32$1; + label$321 : { + if ((HEAP32[($7_1 + 372 | 0) >> 2] | 0) & 2 | 0) { + break label$321 + } + break label$20; + } + break label$319; + } + HEAP32[($7_1 + 372 | 0) >> 2] = 65534; + } + $3035_1 = HEAP32[($7_1 + 1036 | 0) >> 2] | 0; + $3036_1 = HEAP32[($3035_1 + 40 | 0) >> 2] | 0; + HEAP32[($3035_1 + 40 | 0) >> 2] = $3036_1 + 1 | 0; + HEAP32[($7_1 + 400 | 0) >> 2] = $3036_1; + label$322 : { + label$323 : { + if (!((HEAP32[($7_1 + 1008 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$323 + } + $3046_1 = HEAP32[($7_1 + 972 | 0) >> 2] | 0; + break label$322; + } + $3046_1 = (HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0; + } + HEAP32[($7_1 + 404 | 0) >> 2] = $3046_1; + label$324 : { + label$325 : while (1) { + if (!((HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) <= (HEAP32[($7_1 + 404 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$324 + } + label$326 : { + label$327 : { + if (!((HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$327 + } + break label$326; + } + $1286(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 392 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 972 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP32[($7_1 + 396 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 392 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$328 : { + label$329 : while (1) { + if (!((HEAP32[($7_1 + 396 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$328 + } + HEAP32[($7_1 + 388 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 396 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$330 : { + label$331 : { + if ((HEAP32[((HEAP32[($7_1 + 388 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 256 | 0) { + break label$331 + } + break label$330; + } + $3092_1 = 16; + HEAP16[($7_1 + 382 | 0) >> 1] = (((HEAPU16[((HEAP32[($7_1 + 388 | 0) >> 2] | 0) + 46 | 0) >> 1] | 0) << $3092_1 | 0) >> $3092_1 | 0) + 46 | 0; + HEAP32[($7_1 + 384 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 388 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$332 : { + label$333 : while (1) { + if (!((HEAP32[($7_1 + 384 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$332 + } + $243_1 = HEAP32[($7_1 + 384 | 0) >> 2] | 0; + label$334 : { + if ((((HEAPU8[($243_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($243_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0) { + break label$334 + } + HEAP16[($7_1 + 382 | 0) >> 1] = 0; + break label$332; + } + HEAP32[($7_1 + 384 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 384 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$333; + }; + } + label$335 : { + if (!(((HEAPU16[($7_1 + 382 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$335 + } + $1462(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 400 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 972 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 388 | 0) >> 2] | 0 | 0, 96 | 0); + $3143_1 = 16; + $367(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 34 | 0, HEAP32[($7_1 + 400 | 0) >> 2] | 0 | 0, (($1296(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0) | 0) + 2 | 0) + ((HEAP32[($7_1 + 372 | 0) >> 2] | 0) & 1 | 0) | 0 | 0, ((HEAPU16[($7_1 + 382 | 0) >> 1] | 0) << $3143_1 | 0) >> $3143_1 | 0 | 0) | 0; + } + $3146_1 = HEAP32[($7_1 + 964 | 0) >> 2] | 0; + $3153_1 = HEAP32[((HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 972 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 308 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 388 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 304 | 0) >> 2] = $3153_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $351($3146_1 | 0, 35020 | 0, $7_1 + 304 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_i32$1; + label$336 : { + label$337 : { + if (!((HEAP32[($7_1 + 372 | 0) >> 2] | 0) & 1 | 0)) { + break label$337 + } + $3166_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 1036 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 368 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 115 | 0, $3166_1 | 0, HEAP32[($7_1 + 368 | 0) >> 2] | 0 | 0, $3166_1 | 0, HEAP32[($7_1 + 376 | 0) >> 2] | 0 | 0, -7 | 0) | 0; + $366(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[($7_1 + 368 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + break label$336; + } + $3176_1 = 0; + $1278(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 141 | 0, $3176_1 | 0, $3176_1 | 0, $3176_1 | 0, HEAP32[($7_1 + 376 | 0) >> 2] | 0 | 0, -7 | 0) | 0; + } + } + HEAP32[($7_1 + 396 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 396 | 0) >> 2] | 0) >> 2] | 0; + continue label$329; + }; + } + } + HEAP32[($7_1 + 972 | 0) >> 2] = (HEAP32[($7_1 + 972 | 0) >> 2] | 0) + 1 | 0; + continue label$325; + }; + } + $1276(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, 159 | 0) | 0; + break label$20; + default: + label$338 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$338 + } + $461(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, $1135(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + } + i64toi32_i32$3 = HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 452 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0); + break label$20; + case 34: + label$339 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$339 + } + if ($528(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $7_1 + 360 | 0 | 0) | 0) { + break label$339 + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 364 | 0) >> 2] | 0; + i64toi32_i32$3 = $34(i64toi32_i32$1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + } + i64toi32_i32$1 = -1; + $3213_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + i64toi32_i32$1 = $34(-1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $1450($3213_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$3 | 0); + break label$20; + case 17: + label$340 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$340 + } + if ($528(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $7_1 + 352 | 0 | 0) | 0) { + break label$340 + } + i64toi32_i32$3 = 0; + $3403$hi = i64toi32_i32$3; + i64toi32_i32$3 = -1; + i64toi32_i32$3 = $37(-1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $10505 = i64toi32_i32$3; + i64toi32_i32$3 = $7_1; + HEAP32[($7_1 + 344 | 0) >> 2] = $10505; + HEAP32[($7_1 + 348 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 352 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 356 | 0) >> 2] | 0; + $3407$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3403$hi; + i64toi32_i32$3 = $3407$hi; + i64toi32_i32$3 = $3403$hi; + i64toi32_i32$3 = $3407$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $3403$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$1 | 0)) { + $244_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$0 >>> 0) { + $245_1 = 0 + } else { + $245_1 = 1 + } + $246_1 = $245_1; + } else { + $246_1 = 0 + } + $244_1 = $246_1; + } + label$341 : { + if (!($244_1 & 1 | 0)) { + break label$341 + } + i64toi32_i32$2 = 0; + $3409$hi = i64toi32_i32$2; + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 344 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 348 | 0) >> 2] | 0; + $3411$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3409$hi; + i64toi32_i32$3 = $3411$hi; + i64toi32_i32$3 = $3409$hi; + i64toi32_i32$3 = $3411$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $3409$hi; + i64toi32_i32$1 = 0; + label$342 : { + if (((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0) { + break label$342 + } + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 344 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 348 | 0) >> 2] | 0; + $3413 = i64toi32_i32$0; + $3413$hi = i64toi32_i32$3; + i64toi32_i32$1 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 352 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 356 | 0) >> 2] | 0; + $3414$hi = i64toi32_i32$0; + i64toi32_i32$0 = $3413$hi; + i64toi32_i32$0 = $3414$hi; + i64toi32_i32$0 = $3413$hi; + i64toi32_i32$0 = $3414$hi; + $10536 = i64toi32_i32$3; + i64toi32_i32$0 = $3413$hi; + i64toi32_i32$1 = $3413; + i64toi32_i32$3 = $3414$hi; + i64toi32_i32$2 = $10536; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$3 | 0)) { + $247_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$2 >>> 0) { + $248_1 = 0 + } else { + $248_1 = 1 + } + $249_1 = $248_1; + } else { + $249_1 = 0 + } + $247_1 = $249_1; + } + if (!($247_1 & 1 | 0)) { + break label$341 + } + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 352 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 356 | 0) >> 2] | 0; + i64toi32_i32$0 = $37(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + } + } + i64toi32_i32$1 = -1; + $3235_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + i64toi32_i32$1 = $37(-1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1450($3235_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$20; + case 39: + label$343 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$343 + } + if ($528(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $7_1 + 336 | 0 | 0) | 0) { + break label$343 + } + i64toi32_i32$0 = 0; + $3420$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 336 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 340 | 0) >> 2] | 0; + $3422$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3420$hi; + i64toi32_i32$1 = $3422$hi; + i64toi32_i32$1 = $3420$hi; + i64toi32_i32$1 = $3422$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $3420$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $250_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $251_1 = 0 + } else { + $251_1 = 1 + } + $252_1 = $251_1; + } else { + $252_1 = 0 + } + $250_1 = $252_1; + } + if (!($250_1 & 1 | 0)) { + break label$343 + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 336 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 340 | 0) >> 2] | 0; + $3424$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $3425$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3424$hi; + i64toi32_i32$1 = $3425$hi; + i64toi32_i32$1 = $3424$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $3425$hi; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $483(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, 11 | 0, i64toi32_i32$3 & i64toi32_i32$0 | 0 | 0) | 0; + } + $3256_1 = HEAP32[($7_1 + 956 | 0) >> 2] | 0; + i64toi32_i32$3 = $483(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, 11 | 0, -1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; + $1450($3256_1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0); + break label$20; + case 0: + break label$21; + }; + } + label$344 : { + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$344 + } + if ($528(HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0, $7_1 + 328 | 0 | 0) | 0) { + break label$344 + } + i64toi32_i32$2 = 0; + $3428$hi = i64toi32_i32$2; + i64toi32_i32$1 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 328 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 332 | 0) >> 2] | 0; + $3430$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3428$hi; + i64toi32_i32$3 = $3430$hi; + i64toi32_i32$3 = $3428$hi; + i64toi32_i32$3 = $3430$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $3428$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$2 | 0)) { + $253_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + $254_1 = 0 + } else { + $254_1 = 1 + } + $255_1 = $254_1; + } else { + $255_1 = 0 + } + $253_1 = $255_1; + } + if (!($253_1 & 1 | 0)) { + break label$344 + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 328 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 332 | 0) >> 2] | 0; + $3432$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $3433$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3432$hi; + i64toi32_i32$3 = $3433$hi; + i64toi32_i32$3 = $3432$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $3433$hi; + i64toi32_i32$2 = 2147483647; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 448 | 0) >> 2] = i64toi32_i32$0 & i64toi32_i32$2 | 0; + } + i64toi32_i32$0 = HEAP32[((HEAP32[($7_1 + 964 | 0) >> 2] | 0) + 448 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $1450(HEAP32[($7_1 + 956 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + } + label$345 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 952 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$345 + } + if (!((HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$345 + } + } + } + $13(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1016 | 0) >> 2] | 0 | 0); + $13(HEAP32[($7_1 + 964 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 1012 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 1040 | 0; + return; + } + + function $1250($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $43_1 = 0, $47_1 = 0, i64toi32_i32$0 = 0, $103_1 = 0, $110_1 = 0, $111_1 = 0, $113_1 = 0, $120_1 = 0, $121_1 = 0, $122_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 112 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0; + HEAP32[($5_1 + 88 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + 240 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : { + if (HEAP32[((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$3 + } + if ((HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + } + break label$1; + } + HEAP32[($5_1 + 92 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 96 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($5_1 + 108 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 104 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + HEAP32[($5_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + continue label$5; + }; + } + $43_1 = $5_1 + 64 | 0; + $47_1 = $5_1 + 48 | 0; + $1324($47_1 | 0, HEAP32[(HEAP32[($5_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0); + $1321($43_1 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 3377 | 0, $47_1 | 0); + label$6 : { + label$7 : { + if ($1473($43_1 | 0, HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + if (!($1474($5_1 + 64 | 0 | 0, HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + } + break label$1; + } + label$8 : { + label$9 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + 240 | 0) >> 2] = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + HEAP32[($5_1 + 96 | 0) >> 2] = 0; + break label$8; + } + label$10 : { + if (((HEAPU8[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + break label$1; + } + $1287(HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1130(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $103_1 = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + $110_1 = HEAP32[((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 60 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $111_1 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + $113_1 = HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $113_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $111_1; + HEAP32[$5_1 >> 2] = $110_1; + $1302($103_1 | 0, 35331 | 0, $5_1 | 0); + $13(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + $1303(HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + $120_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $121_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $122_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + $1304($120_1 | 0, $121_1 | 0, $351($122_1 | 0, 35406 | 0, $5_1 + 16 | 0 | 0) | 0 | 0); + } + } + label$12 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[(((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 60 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 40 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $474(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + label$14 : { + if (!((HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + $118(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + break label$13; + } + label$15 : { + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + } + } + } + } + $10(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0); + $17(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 112 | 0; + return; + } + + function $1251($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1, $9_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + $9_1 = $9_1 | 0; + var $12_1 = 0, $13_1 = 0, $110_1 = 0, $267_1 = 0, $318_1 = 0, $387_1 = 0, $176_1 = 0, $209_1 = 0, $216_1 = 0, $217_1 = 0, $235_1 = 0, $236_1 = 0, i64toi32_i32$0 = 0, $327_1 = 0, $370_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $12_1 = global$0 - 144 | 0; + global$0 = $12_1; + $13_1 = 0; + HEAP32[($12_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($12_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($12_1 + 132 | 0) >> 2] = $2_1; + HEAP32[($12_1 + 128 | 0) >> 2] = $3_1; + HEAP32[($12_1 + 124 | 0) >> 2] = $4_1; + HEAP32[($12_1 + 120 | 0) >> 2] = $5_1; + HEAP32[($12_1 + 116 | 0) >> 2] = $6_1; + HEAP32[($12_1 + 112 | 0) >> 2] = $7_1; + HEAP32[($12_1 + 108 | 0) >> 2] = $8_1; + HEAP32[($12_1 + 104 | 0) >> 2] = $9_1; + HEAP32[($12_1 + 100 | 0) >> 2] = $13_1; + HEAP32[($12_1 + 92 | 0) >> 2] = $13_1; + HEAP32[($12_1 + 88 | 0) >> 2] = HEAP32[(HEAP32[($12_1 + 140 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!(HEAP32[($12_1 + 108 | 0) >> 2] | 0)) { + break label$3 + } + label$4 : { + if (!((HEAP32[((HEAP32[($12_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$4 + } + $349(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, 35435 | 0, 0 | 0); + break label$1; + } + HEAP32[($12_1 + 84 | 0) >> 2] = 1; + HEAP32[($12_1 + 80 | 0) >> 2] = HEAP32[($12_1 + 136 | 0) >> 2] | 0; + break label$2; + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $1284(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 132 | 0) >> 2] | 0 | 0, $12_1 + 80 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($12_1 + 84 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + } + label$6 : { + label$7 : { + if (!((HEAP32[($12_1 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAPU8[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$6 + } + } + break label$1; + } + label$8 : { + if (!((HEAPU8[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + if (!((HEAP32[($12_1 + 84 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$8 + } + $13(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($12_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($12_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $1320(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if ((HEAPU8[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0) { + break label$9 + } + if (HEAP32[((HEAP32[($12_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$9 + } + if (!((HEAP32[($12_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + if (!((HEAP32[((HEAP32[($12_1 + 96 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($12_1 + 84 | 0) >> 2] = 1; + } + label$10 : { + if (!(((HEAPU8[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + break label$1; + } + $110_1 = $12_1 + 56 | 0; + $1321($110_1 | 0, HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 84 | 0) >> 2] | 0 | 0, 3377 | 0, HEAP32[($12_1 + 80 | 0) >> 2] | 0 | 0); + label$11 : { + if (!($1322($110_1 | 0, HEAP32[($12_1 + 116 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + break label$1; + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $1320(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + label$13 : { + if ((HEAP32[($12_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$13 + } + break label$12; + } + label$14 : { + if (!(HEAP32[((HEAP32[($12_1 + 96 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$14 + } + $349(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, 35481 | 0, 0 | 0); + break label$12; + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $1224(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($12_1 + 92 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$15 + } + break label$1; + } + label$16 : { + if (!($1285(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 92 | 0) >> 2] | 0 | 0, 3377 | 0, HEAP32[(HEAP32[($12_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0)) { + break label$16 + } + break label$1; + } + label$17 : { + if (((HEAPU8[((HEAP32[($12_1 + 140 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$17 + } + label$18 : { + if (!(($362((HEAP32[(((HEAP32[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($12_1 + 84 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 40 | 0 | 0, HEAP32[($12_1 + 92 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + label$19 : { + label$20 : { + if (HEAP32[($12_1 + 104 | 0) >> 2] | 0) { + break label$20 + } + $176_1 = HEAP32[($12_1 + 140 | 0) >> 2] | 0; + HEAP32[($12_1 + 32 | 0) >> 2] = HEAP32[($12_1 + 80 | 0) >> 2] | 0; + $349($176_1 | 0, 35522 | 0, $12_1 + 32 | 0 | 0); + break label$19; + } + $1286(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 84 | 0) >> 2] | 0 | 0); + } + break label$1; + } + } + label$21 : { + if ($89(HEAP32[(HEAP32[($12_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0, 27544 | 0, 7 | 0) | 0) { + break label$21 + } + $349(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, 35548 | 0, 0 | 0); + break label$1; + } + label$22 : { + if (!((HEAP32[((HEAP32[($12_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + if (!((HEAP32[($12_1 + 128 | 0) >> 2] | 0 | 0) != (65 | 0) & 1 | 0)) { + break label$22 + } + $209_1 = HEAP32[($12_1 + 140 | 0) >> 2] | 0; + $216_1 = (HEAP32[($12_1 + 128 | 0) >> 2] | 0 | 0) == (33 | 0) & 1 | 0 ? 35623 : 35630; + $217_1 = HEAP32[($12_1 + 116 | 0) >> 2] | 0; + HEAP32[($12_1 + 8 | 0) >> 2] = 0; + HEAP32[($12_1 + 4 | 0) >> 2] = $217_1; + HEAP32[$12_1 >> 2] = $216_1; + $349($209_1 | 0, 35586 | 0, $12_1 | 0); + break label$12; + } + label$23 : { + if ((HEAP32[((HEAP32[($12_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$23 + } + if (!((HEAP32[($12_1 + 128 | 0) >> 2] | 0 | 0) == (65 | 0) & 1 | 0)) { + break label$23 + } + $235_1 = HEAP32[($12_1 + 140 | 0) >> 2] | 0; + $236_1 = HEAP32[($12_1 + 116 | 0) >> 2] | 0; + HEAP32[($12_1 + 20 | 0) >> 2] = 0; + HEAP32[($12_1 + 16 | 0) >> 2] = $236_1; + $349($235_1 | 0, 35636 | 0, $12_1 + 16 | 0 | 0); + break label$12; + } + label$24 : { + if (((HEAPU8[((HEAP32[($12_1 + 140 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$24 + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $350(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($12_1 + 96 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($12_1 + 48 | 0) >> 2] = 7; + HEAP32[($12_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($12_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$25 : { + label$26 : { + if (!(HEAP32[($12_1 + 108 | 0) >> 2] | 0)) { + break label$26 + } + $267_1 = HEAP32[((HEAP32[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$25; + } + $267_1 = HEAP32[($12_1 + 44 | 0) >> 2] | 0; + } + HEAP32[($12_1 + 40 | 0) >> 2] = $267_1; + label$27 : { + label$28 : { + if ((HEAP32[($12_1 + 52 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$28 + } + if (!(HEAP32[($12_1 + 108 | 0) >> 2] | 0)) { + break label$27 + } + } + HEAP32[($12_1 + 48 | 0) >> 2] = 5; + } + label$29 : { + if (!($1283(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($12_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$29 + } + break label$1; + } + label$30 : { + if (!($1283(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, 18 | 0, ((HEAP32[($12_1 + 52 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 8404 : 8004) | 0, 0 | 0, HEAP32[($12_1 + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$30 + } + break label$1; + } + } + label$31 : { + if (!((HEAP32[($12_1 + 128 | 0) >> 2] | 0 | 0) == (65 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($12_1 + 128 | 0) >> 2] = 33; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $308(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, 36 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$32 : { + if (!((HEAP32[($12_1 + 100 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$32 + } + break label$1; + } + $318_1 = 2; + HEAP32[(HEAP32[($12_1 + 100 | 0) >> 2] | 0) >> 2] = HEAP32[($12_1 + 92 | 0) >> 2] | 0; + HEAP32[($12_1 + 92 | 0) >> 2] = 0; + $327_1 = $291(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($12_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($12_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] = $327_1; + HEAP32[((HEAP32[($12_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($12_1 + 84 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($12_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($12_1 + 96 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP8[((HEAP32[($12_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 0] = HEAP32[($12_1 + 124 | 0) >> 2] | 0; + HEAP8[((HEAP32[($12_1 + 100 | 0) >> 2] | 0) + 9 | 0) >> 0] = (HEAP32[($12_1 + 128 | 0) >> 2] | 0 | 0) == (33 | 0) & 1 | 0 ? 1 : $318_1; + label$33 : { + label$34 : { + if (!(((HEAPU8[((HEAP32[($12_1 + 140 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= ($318_1 | 0) & 1 | 0)) { + break label$34 + } + $1318(HEAP32[($12_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($12_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($12_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($12_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($12_1 + 112 | 0) >> 2] | 0; + HEAP32[($12_1 + 112 | 0) >> 2] = 0; + break label$33; + } + $370_1 = $1310(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 112 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[((HEAP32[($12_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] = $370_1; + } + HEAP32[((HEAP32[($12_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($12_1 + 120 | 0) >> 2] | 0; + HEAP32[($12_1 + 120 | 0) >> 2] = 0; + HEAP32[((HEAP32[($12_1 + 140 | 0) >> 2] | 0) + 240 | 0) >> 2] = HEAP32[($12_1 + 100 | 0) >> 2] | 0; + break label$1; + } + label$35 : { + if (!(((HEAPU8[((HEAP32[($12_1 + 88 | 0) >> 2] | 0) + 164 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$35 + } + $387_1 = HEAP32[($12_1 + 88 | 0) >> 2] | 0; + HEAP8[($387_1 + 166 | 0) >> 0] = HEAPU8[($387_1 + 166 | 0) >> 0] | 0 | 1 | 0; + } + } + $13(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 92 | 0) >> 2] | 0 | 0); + $1143(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 116 | 0) >> 2] | 0 | 0); + $19(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 120 | 0) >> 2] | 0 | 0); + $18(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 112 | 0) >> 2] | 0 | 0); + label$36 : { + label$37 : { + if ((HEAP32[((HEAP32[($12_1 + 140 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$37 + } + $10(HEAP32[($12_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 100 | 0) >> 2] | 0 | 0); + break label$36; + } + } + global$0 = $12_1 + 144 | 0; + return; + } + + function $1252($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $38_1 = 0, $45_1 = 0, $48_1 = 0, $52_1 = 0, $56_1 = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 48 | 0; + global$0 = $10_1; + HEAP32[($10_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 28 | 0) >> 2] = $4_1; + HEAP8[($10_1 + 27 | 0) >> 0] = $5_1; + HEAP32[($10_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1475(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, 127 & 255 | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($10_1 + 44 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$3 + } + $38_1 = 0; + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($10_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($10_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($10_1 + 36 | 0) >> 2] | 0; + HEAP32[($10_1 + 32 | 0) >> 2] = $38_1; + HEAP32[($10_1 + 28 | 0) >> 2] = $38_1; + HEAP32[($10_1 + 36 | 0) >> 2] = $38_1; + break label$2; + } + $45_1 = 1; + $48_1 = $1339(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0, $45_1 | 0) | 0; + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = $48_1; + $52_1 = $1310(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0, $45_1 | 0) | 0; + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $52_1; + $56_1 = $1476(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0, $45_1 | 0) | 0; + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = $56_1; + } + HEAP8[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAPU8[($10_1 + 27 | 0) >> 0] | 0; + } + $382(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0); + $18(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0); + $1143(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0); + $66_1 = HEAP32[($10_1 + 8 | 0) >> 2] | 0; + global$0 = $10_1 + 48 | 0; + return $66_1 | 0; + } + + function $1253($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $44_1 = 0, $68_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 48 | 0; + global$0 = $10_1; + HEAP32[($10_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 32 | 0) >> 2] = $3_1; + HEAP8[($10_1 + 31 | 0) >> 0] = $4_1; + HEAP32[($10_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1475(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, 125 & 255 | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($10_1 + 44 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($10_1 + 32 | 0) >> 2] | 0; + HEAP32[($10_1 + 32 | 0) >> 2] = 0; + break label$3; + } + $44_1 = $1338(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $44_1; + } + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($10_1 + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($10_1 + 24 | 0) >> 2] | 0; + HEAP8[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAPU8[($10_1 + 31 | 0) >> 0] | 0; + label$5 : { + if (!((HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $1319(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($10_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + } + break label$1; + } + $19(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0); + $1172(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0); + } + $1139(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0); + $68_1 = HEAP32[($10_1 + 8 | 0) >> 2] | 0; + global$0 = $10_1 + 48 | 0; + return $68_1 | 0; + } + + function $1254($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $41_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1475(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 126 & 255 | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + break label$2; + } + $41_1 = $1310(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = $41_1; + } + HEAP8[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = 11; + } + $18(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + $47_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $47_1 | 0; + } + + function $1255($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $28_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 48 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $1139(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP8[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 0] = 136; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = 11; + $28_1 = $1477(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] = $28_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + $31_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $31_1 | 0; + } + + function $1256($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $50_1 = 0, $93_1 = 0, $94_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((0 | 0) != ($360(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$7 + } + $50_1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) ^ 1 | 0; + break label$6; + } + $50_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 12 | 0) >> 2] = $50_1; + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + if ($1133(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0) { + break label$9 + } + break label$8; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[(((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 40 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + break label$4; + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$11 : { + if ((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$11 + } + label$12 : { + label$13 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$13 + } + $93_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $94_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + HEAP32[$5_1 >> 2] = $94_1; + $349($93_1 | 0, 35682 | 0, $5_1 | 0); + break label$12; + } + $1331(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + HEAP8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + break label$1; + } + $1478(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0); + } + $1143(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 48 | 0; + return; + } + + function $1257($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $1479(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0, 35704 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0); + global$0 = $6_1 + 16 | 0; + return; + } + + function $1258($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $7_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $1479(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 25 | 0, 36024 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $7_1 | 0, $7_1 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1259($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((0 | 0) != ($360(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $1480(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0); + break label$1; + } + label$4 : { + label$5 : { + if ((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1224(HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$6 : { + if ((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + break label$1; + } + $51_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $498(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, $51_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != ($51_1 | 0) & 1 | 0)) { + break label$7 + } + $1480(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0); + $13(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0); + break label$1; + } + $13(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1284(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$8 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1224(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + break label$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $361(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $1481(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0); + $13(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1025(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $13(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + label$11 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $1287(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $1330(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0); + break label$1; + } + $349(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 36147 | 0, 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1260($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $49_1 = 0, $80_1 = 0, $97_1 = 0, $107_1 = 0, $111_1 = 0, $128_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((0 | 0) != ($360(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + break label$7; + } + $1482(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + break label$3; + } + label$9 : { + label$10 : { + if (HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$10 + } + $49_1 = $1483(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $49_1; + if (!(($49_1 | 0) >= (0 | 0) & 1 | 0)) { + break label$10 + } + $1482(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$9; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1284(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$13 + } + $80_1 = HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + break label$12; + } + $80_1 = 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = $80_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1224(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + $97_1 = $1025(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $97_1; + label$15 : { + label$16 : { + if (!(($97_1 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $1484(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + break label$15; + } + $107_1 = 0; + $111_1 = $348(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $107_1 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $111_1; + label$17 : { + if (!(($111_1 | 0) != ($107_1 | 0) & 1 | 0)) { + break label$17 + } + $1484(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0); + } + } + $13(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + } + } + } + if ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 90 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + $128_1 = $1275(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$5_1 >> 2] = $128_1; + if (!(($128_1 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1276(HEAP32[$5_1 >> 2] | 0 | 0, 159 | 0) | 0; + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1261($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $21_1 = 0, $46_1 = 0, $242_1 = 0, $244_1 = 0, $247_1 = 0, $83_1 = 0, $114_1 = 0, $162_1 = 0, $163_1 = 0, $164_1 = 0, $165_1 = 0, $166_1 = 0, $172_1 = 0, $181_1 = 0, $182_1 = 0, $183_1 = 0, $184_1 = 0, $185_1 = 0, $186_1 = 0, $205_1 = 0, $206_1 = 0, $207_1 = 0, $220_1 = 0, $221_1 = 0, $222_1 = 0, $223_1 = 0, $224_1 = 0, $225_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 192 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 188 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 184 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 180 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 164 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 160 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 188 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 144 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $21_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1323(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, $21_1 | 0, (HEAP32[($5_1 + 184 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0) != ($21_1 | 0) & 1 | 0) { + break label$3 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($5_1 + 188 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 168 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 172 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 176 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $46_1 = HEAP32[($5_1 + 160 | 0) >> 2] | 0; + HEAP32[($46_1 + 24 | 0) >> 2] = HEAP32[($46_1 + 24 | 0) >> 2] | 0 | 2 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1224(HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if ((HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + break label$1; + } + label$5 : { + label$6 : { + if (($361(HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + if (($1025(HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + if (!($1485(HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + } + $83_1 = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $349($83_1 | 0, 36468 | 0, $5_1 | 0); + break label$1; + } + label$7 : { + if (!((0 | 0) != ($1486(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + break label$1; + } + label$8 : { + if (!((0 | 0) != ($1285(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0, 8398 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$1; + } + label$9 : { + if (!((HEAP32[((HEAP32[($5_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $114_1 = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 168 | 0) >> 2] | 0) >> 2] | 0; + $349($114_1 | 0, 36527 | 0, $5_1 + 16 | 0 | 0); + break label$1; + } + label$10 : { + if (!($1283(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, 26 | 0, HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 168 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { + break label$10 + } + break label$1; + } + label$11 : { + if (!($1332(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + break label$1; + } + label$12 : { + if (!(HEAP32[((HEAP32[($5_1 + 168 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$12 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1056(HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!((HEAP32[((HEAP32[(HEAP32[((HEAP32[($5_1 + 144 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 144 | 0) >> 2] = 0; + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + break label$1; + } + $1295(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 152 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 168 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $409(HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + $162_1 = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + $163_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + $164_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + $165_1 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + $166_1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $172_1 = (HEAP32[($5_1 + 176 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0; + HEAP32[($5_1 + 100 | 0) >> 2] = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + HEAP32[($5_1 + 96 | 0) >> 2] = $172_1; + HEAP32[($5_1 + 92 | 0) >> 2] = $166_1; + HEAP32[($5_1 + 88 | 0) >> 2] = $165_1; + HEAP32[($5_1 + 84 | 0) >> 2] = $164_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $163_1; + $1302($162_1 | 0, 36554 | 0, $5_1 + 80 | 0 | 0); + $181_1 = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + $182_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + $183_1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $184_1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $185_1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $186_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + HEAP32[($5_1 + 132 | 0) >> 2] = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + HEAP32[($5_1 + 128 | 0) >> 2] = $186_1; + HEAP32[($5_1 + 124 | 0) >> 2] = $185_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $184_1; + HEAP32[($5_1 + 116 | 0) >> 2] = $183_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $182_1; + $1302($181_1 | 0, 36738 | 0, $5_1 + 112 | 0 | 0); + label$15 : { + if (!(($361(HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, 27485 | 0, HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $205_1 = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + $206_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + $207_1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 168 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 68 | 0) >> 2] = $207_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $206_1; + $1302($205_1 | 0, 37043 | 0, $5_1 + 64 | 0 | 0); + } + label$16 : { + if (!((HEAP32[($5_1 + 176 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$16 + } + $220_1 = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + $221_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + $222_1 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + $223_1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $224_1 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + $225_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = $225_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $224_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $223_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $222_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $221_1; + $1302($220_1 | 0, 37101 | 0, $5_1 + 32 | 0 | 0); + } + label$17 : { + if (!((HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + $242_1 = 0; + $244_1 = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + $247_1 = (HEAP32[($244_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($244_1 + 44 | 0) >> 2] = $247_1; + HEAP32[($5_1 + 136 | 0) >> 2] = $247_1; + $1463(HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0) | 0; + $1278(HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0, 168 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, $242_1 | 0, $242_1 | 0, HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0, -12 | 0) | 0; + } + $1487(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 176 | 0) >> 2] | 0 | 0); + $1488(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 176 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 | 0); + } + $1143(HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0); + $13(HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 140 | 0) >> 2] | 0; + global$0 = $5_1 + 192 | 0; + return; + } + + function $1262($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $306$hi = 0, i64toi32_i32$3 = 0, $36_1 = 0, $307$hi = 0, $308$hi = 0, $310$hi = 0, $211_1 = 0, $216_1 = 0, $224_1 = 0, $243_1 = 0, $246_1 = 0, $277_1 = 0, $250_1 = 0, $251_1 = 0, $253_1 = 0, $254_1 = 0, $258_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 96 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (HEAP32[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAPU8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + } + break label$1; + } + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $350(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 76 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0; + $36_1 = 16; + HEAP32[($4_1 + 60 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul((((HEAPU16[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $36_1 | 0) >> $36_1 | 0) - 1 | 0, 20) | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $361(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!($1283(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, 26 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { + break label$4 + } + break label$1; + } + label$5 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$5 + } + $349(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, 37716 | 0, 0 | 0); + break label$1; + } + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $349(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, 37748 | 0, 0 | 0); + break label$1; + } + label$7 : { + label$8 : { + if (((HEAPU16[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0) { + break label$8 + } + label$9 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + if (!(((HEAPU8[(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (119 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 56 | 0) >> 2] = 0; + } + i64toi32_i32$0 = 0; + $306$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $307$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $308$hi = i64toi32_i32$1; + i64toi32_i32$1 = $307$hi; + i64toi32_i32$1 = $308$hi; + i64toi32_i32$1 = $307$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $308$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $310$hi = i64toi32_i32$0; + i64toi32_i32$0 = $306$hi; + i64toi32_i32$0 = $310$hi; + i64toi32_i32$0 = $306$hi; + i64toi32_i32$0 = $310$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $306$hi; + i64toi32_i32$3 = 0; + label$10 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $1489(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, 37775 | 0); + } + label$11 : { + if (!((HEAPU8[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + if ((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$11 + } + $1489(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, 37834 | 0); + } + label$12 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 40 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1490(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, 65 & 255 | 0 | 0, $4_1 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($4_1 + 36 | 0) >> 2] | 0)) { + break label$13 + } + break label$1; + } + label$14 : { + if ((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$14 + } + $1489(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, 37887 | 0); + } + $212(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0); + } + break label$7; + } + label$15 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0)) { + break label$15 + } + $1489(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, 37933 | 0); + } + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1130(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$17 : while (1) { + $211_1 = 0; + label$18 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 > (HEAP32[($4_1 + 64 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$18 + } + $216_1 = 24; + $224_1 = 1; + label$19 : { + if ((((HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $216_1 | 0) >> $216_1 | 0 | 0) == (59 | 0) & 1 | 0) { + break label$19 + } + $224_1 = (((HEAPU8[(((HEAPU8[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 | 0) != (0 | 0); + } + $211_1 = $224_1; + } + label$20 : { + if (!($211_1 & 1 | 0)) { + break label$20 + } + $243_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $243_1 + -1 | 0; + HEAP8[$243_1 >> 0] = 0; + continue label$17; + } + break label$17; + }; + $246_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP32[($246_1 + 24 | 0) >> 2] = HEAP32[($246_1 + 24 | 0) >> 2] | 0 | 2 | 0; + $250_1 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + $251_1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + $253_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $254_1 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + $258_1 = (HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $258_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $254_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $253_1; + HEAP32[$4_1 >> 2] = $251_1; + $1302($250_1 | 0, 37960 | 0, $4_1 | 0); + $13(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + $277_1 = 2; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1382(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, 93 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $277_1 | 0) | 0; + $356(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + $366(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, -2 | 0) | 0; + $366(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, 48 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0) | 0; + $367(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, 94 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, $277_1 | 0, 3 | 0) | 0; + $1383(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0); + } + $1487(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 96 | 0; + return; + } + + function $1263($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $17_1 = 0, $77_1 = 0, $124_1 = 0, $132_1 = 0, $140_1 = 0, $93_1 = 0, $95_1 = 0, $99_1 = 0, $150_1 = 0, $154_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $17_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1323(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $17_1 | 0, (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) != ($17_1 | 0) & 1 | 0) { + break label$3 + } + break label$1; + } + label$4 : { + if (!(HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$4 + } + $349(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 38118 | 0, 0 | 0); + break label$1; + } + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $349(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 38152 | 0, 0 | 0); + break label$1; + } + label$6 : { + if (!((0 | 0) != ($1486(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + break label$1; + } + i64toi32_i32$0 = 0; + $1295(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $350(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $308(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, 80 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if ((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + break label$1; + } + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 232 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + HEAP16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + $77_1 = 16; + HEAP32[($4_1 + 20 | 0) >> 2] = ((((((HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $77_1 | 0) >> $77_1 | 0) - 1 | 0 | 0) / (8 | 0) | 0) << 3 | 0) + 8 | 0; + i64toi32_i32$0 = 0; + $93_1 = $308(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 20) | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = $93_1; + $95_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + $99_1 = $351($95_1 | 0, 38182 | 0, $4_1 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = $99_1; + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + if ((HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + } + break label$1; + } + $124_1 = 16; + $3288(HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, Math_imul(((HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $124_1 | 0) >> $124_1 | 0, 20) | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + $132_1 = 16; + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $132_1 | 0) >> $132_1 | 0 | 0) & 1 | 0)) { + break label$10 + } + $140_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 24 | 0) >> 2] | 0, 20) | 0; + $150_1 = $291(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = $150_1; + $154_1 = $1306(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 15 | 0) >> 0] = $154_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $140_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $140_1; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + } + $1143(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 48 | 0; + return; + } + + function $1264($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $71_1 = 0, $100_1 = 0, $108_1 = 0, $133_1 = 0, $134_1 = 0, $135_1 = 0, $137_1 = 0, $138_1 = 0, $139_1 = 0, $140_1 = 0, $146_1 = 0, $160_1 = 0, $161_1 = 0, $163_1 = 0, $164_1 = 0, $165_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 128 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 112 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 108 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 124 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 96 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1323(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, $7_1 | 0, (HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((0 | 0) != ($1486(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if (!((0 | 0) != ($1491(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $350(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 84 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$5 : { + if (!($1283(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, 26 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { + break label$5 + } + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1224(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if ((HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + break label$1; + } + HEAP32[($6_1 + 100 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + $71_1 = 16; + if (!((HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $71_1 | 0) >> $71_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + if (!((0 | 0) == ($88(HEAP32[((HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 100 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + break label$7; + } + HEAP32[($6_1 + 100 | 0) >> 2] = (HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + $100_1 = 16; + label$10 : { + if (!((HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $100_1 | 0) >> $100_1 | 0 | 0) & 1 | 0)) { + break label$10 + } + $108_1 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + $349($108_1 | 0, 1870 | 0, $6_1 | 0); + break label$1; + } + $1295(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1224(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if ((HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$11 + } + break label$1; + } + HEAP32[($6_1 + 80 | 0) >> 2] = ((HEAPU8[(((HEAPU8[(HEAP32[(HEAP32[($6_1 + 112 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 128 | 0; + $133_1 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + $134_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + $135_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + $137_1 = HEAP32[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + $138_1 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $139_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $140_1 = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + $146_1 = (HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $146_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $140_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $139_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $138_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $137_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $135_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $134_1; + $1302($133_1 | 0, 38201 | 0, $6_1 + 16 | 0 | 0); + $160_1 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + $161_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + $163_1 = HEAP32[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + $164_1 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $165_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $165_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $164_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $163_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $161_1; + $1302($160_1 | 0, 38419 | 0, $6_1 + 48 | 0 | 0); + $1487(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0); + $1488(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 | 0); + } + $1143(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0); + $13(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0); + $13(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0); + global$0 = $6_1 + 128 | 0; + return; + } + + function $1265($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $104_1 = 0, $107_1 = 0, $54_1 = 0, $64_1 = 0, $71_1 = 0, $73_1 = 0, $75_1 = 0, $76_1 = 0, $90_1 = 0, $92_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $1492(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 248 | 0) >> 2] = 0; + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if (((HEAPU8[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$4 + } + $1295(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0); + label$5 : { + if (!((HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 188 | 0) >> 2] = ((HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 184 | 0) >> 2] | 0) | 0) + (HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + } + $54_1 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 184 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $351($54_1 | 0, 38597 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $350(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + $64_1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + $71_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 84 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $73_1 = HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0; + $75_1 = HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0; + $76_1 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $76_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $75_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $73_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $71_1; + $1302($64_1 | 0, 38621 | 0, $4_1 + 16 | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + $1303(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0); + $1276(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, 159 | 0) | 0; + $90_1 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + $92_1 = HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $92_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $351($90_1 | 0, 38720 | 0, $4_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + $1304(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0); + $104_1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + $107_1 = (HEAP32[($104_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($104_1 + 44 | 0) >> 2] = $107_1; + HEAP32[($4_1 + 80 | 0) >> 2] = $107_1; + $1463(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, 164 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $474((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $118(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 232 | 0) >> 2] = 0; + } + global$0 = $4_1 + 112 | 0; + return; + } + + function $1266($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + $1192(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, $8_1 | 0, $8_1 | 0, 1 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $22_1 = 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $1156(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, $1224(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0); + $1156(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, $22_1 | 0); + $1156(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, $291(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0); + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 188 | 0) >> 2] = ((HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) - (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 184 | 0) >> 2] | 0) | 0; + if (!((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != ($22_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $350(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $1283(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[$7_1 >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $1267($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $1492(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 248 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 252 | 0) >> 2] = $4_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $1268($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 248 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = ((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) - (HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) | 0; + } + return; + } + + function $1269($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 7 | 0) >> 0] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 268 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 268 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + label$2 : { + if (!(((HEAPU8[($5_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 272 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + } + return; + } + + function $1270($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $125_1 = 0, $47_1 = 0, $129_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1224(HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if ($88(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + $47_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + $349($47_1 | 0, 38739 | 0, $7_1 | 0); + } + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + label$5 : { + label$6 : { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = ((HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0) << 4 | 0) + 24 | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $70(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $308(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 24 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + label$8 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + $382(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + $1139(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0); + $13(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + break label$7; + } + HEAP32[((((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[((((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[((((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] = 0; + $125_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[$125_1 >> 2] = (HEAP32[$125_1 >> 2] | 0) + 1 | 0; + } + $129_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $129_1 | 0; + } + + function $1271($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $28_1 = 0, $71_1 = 0, $66_1 = 0, $67_1 = 0, $75_1 = 0, $88_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1493(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $28_1 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $28_1; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != ($28_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 38769; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 38786; + break label$5; + } + label$7 : { + if ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0) { + break label$7 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 38802; + } + } + } + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $66_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $67_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $67_1; + $349($66_1 | 0, 38822 | 0, $5_1 | 0); + break label$8; + } + $71_1 = 0; + $75_1 = $1339(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $71_1 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $75_1; + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($71_1 | 0) & 1 | 0)) { + break label$10 + } + $88_1 = $1339(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = $88_1; + } + $13(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + } + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1272($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, $33_1 = 0, $41_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + $33_1 = $1130(HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $33_1; + } + break label$1; + } + $382(HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + $382(HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + } + $41_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $41_1 | 0; + } + + function $1273($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $10_1 = 0, i64toi32_i32$0 = 0, $85_1 = 0, $89_1 = 0, $99_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 48 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 20 | 0) >> 2] = $5_1; + HEAP8[($9_1 + 19 | 0) >> 0] = $6_1; + HEAP32[($9_1 + 12 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 8 | 0) >> 2] = $10_1; + label$1 : { + if (HEAP32[($9_1 + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($9_1 + 8 | 0) >> 2] = 1; + HEAP32[($9_1 + 36 | 0) >> 2] = 89; + } + label$2 : { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + if (!((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) == (85 | 0) & 1 | 0)) { + break label$6 + } + if ((HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0) == (88 | 0) & 1 | 0) { + break label$5 + } + } + if (!((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) == (86 | 0) & 1 | 0)) { + break label$4 + } + if ((HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0) == (88 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0) == (85 | 0) & 1 | 0)) { + break label$4 + } + } + $349(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, 38855 | 0, 0 | 0); + break label$3; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $308(HEAP32[(HEAP32[($9_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, 100 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$3; + } + HEAP8[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 17 | 0) >> 0] = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + label$8 : { + if ((HEAPU8[($9_1 + 19 | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + if (!(((HEAPU16[((HEAP32[(HEAP32[($9_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$8 + } + HEAP8[($9_1 + 19 | 0) >> 0] = 66; + } + HEAP8[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] = HEAPU8[($9_1 + 19 | 0) >> 0] | 0; + HEAP8[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 19 | 0) >> 0] = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + $85_1 = $1494(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = $85_1; + $89_1 = $1494(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = $89_1; + HEAP32[($9_1 + 44 | 0) >> 2] = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + break label$2; + } + $18(HEAP32[(HEAP32[($9_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0); + $18(HEAP32[(HEAP32[($9_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 44 | 0) >> 2] = 0; + } + $99_1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + global$0 = $9_1 + 48 | 0; + return $99_1 | 0; + } + + function $1274($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP16[($4_1 + 14 | 0) >> 1] = $0_1; + HEAP16[($4_1 + 12 | 0) >> 1] = $1_1; + $14_1 = 16; + HEAP32[($4_1 + 8 | 0) >> 2] = ((HEAPU16[(38896 + (((HEAPU16[($4_1 + 14 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0) << $14_1 | 0) >> $14_1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + ((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) & 65535 | 0) | 0; + return (HEAPU16[(20192 + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0; + } + + function $1275($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + if (((HEAPU16[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0) { + break label$3 + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 23 | 0) >> 0] = 1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $352(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $33_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $33_1 | 0; + } + + function $1276($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $367(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $5_1 | 0, $5_1 | 0, $5_1 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $1277($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $1495(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1278($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 32 | 0; + global$0 = $9_1; + HEAP32[($9_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 8 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 4 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $367(HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $357(HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[$9_1 >> 2] | 0 | 0, HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0); + $20_1 = HEAP32[$9_1 >> 2] | 0; + global$0 = $9_1 + 32 | 0; + return $20_1 | 0; + } + + function $1279($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + $1278(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, 162 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $1280($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $17_1 = 0; + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $1462(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, $17_1 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, 96 | 0); + $1463(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) - 1 | 0 | 0, HEAP32[(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $355(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 12 | 0, 26800 | 0, $17_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == ($17_1 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 64 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) - 1 | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 62 | 0) >> 1] = 16; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 88 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 112 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 124 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 148 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 144 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 208 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$4 : { + if (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] = 1; + } + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $1281($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1496(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2097152 | 0)) { + break label$4 + } + HEAP8[($5_1 + 15 | 0) >> 0] = 77; + break label$3; + } + HEAP8[($5_1 + 15 | 0) >> 0] = 78; + } + $366(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1282($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $6_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $9_1 = $367(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 11 | 0, $6_1 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $1283($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $62_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAPU8[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if (!((HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if (!((HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 332 | 0) >> 2] | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0, HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[$7_1 >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$6 + } + $349(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, 27301 | 0, 0 | 0); + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = 23; + break label$5; + } + label$7 : { + if (!(HEAP32[$7_1 >> 2] | 0)) { + break label$7 + } + if (!((HEAP32[$7_1 >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[$7_1 >> 2] = 1; + $1578(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[$7_1 >> 2] | 0; + } + $62_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $62_1 | 0; + } + + function $1284($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $43_1 = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$3 + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + $349(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 27507 | 0, 0 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1483(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + $43_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $349($43_1 | 0, 27524 | 0, $6_1 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = -1; + break label$1; + } + break label$2; + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 164 | 0) >> 0] | 0) & 255 | 0; + HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + $54_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $54_1 | 0; + } + + function $1285($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $15_1 = 0, $79_1 = 0, $84_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ($783(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$3 + } + $15_1 = 1; + if ((((HEAPU8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 166 | 0) >> 0] | 0) >>> $15_1 | 0) & $15_1 | 0) & 255 | 0) { + break label$3 + } + if (((HEAPU8[(0 + 68377 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$2 + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if ($87(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + if ($87(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + if (!($87(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + } + $349(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 1352 | 0, 0 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + break label$4; + } + label$8 : { + label$9 : { + label$10 : { + if ((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$10 + } + if ((0 | 0) == ($89(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 27544 | 0, 7 | 0) | 0 | 0) & 1 | 0) { + break label$9 + } + } + if (!($1579(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + if (!($1290(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + } + $79_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $349($79_1 | 0, 27552 | 0, $6_1 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $84_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $84_1 | 0; + } + + function $1286($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$1; + } + $15_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + $1565($15_1 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1287($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0, $24_1 = 0, $28_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$1; + } + $16_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + HEAP32[$5_1 >> 2] = $16_1; + $1565(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + $24_1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[($24_1 + 80 | 0) >> 2] = HEAP32[($24_1 + 80 | 0) >> 2] | 0 | (1 << (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0) | 0; + $28_1 = HEAP32[$5_1 >> 2] | 0; + HEAP8[($28_1 + 20 | 0) >> 0] = (HEAPU8[($28_1 + 20 | 0) >> 0] | 0) & 255 | 0 | (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1288($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $10_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $10_1 = $367(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $6_1 | 0, $6_1 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $10_1 | 0; + } + + function $1289($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $7_1 = 1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $1393(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $7_1 | 0, 1 & 255 | 0 | 0, 8004 | 0); + $353(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 97 | 0, 0 | 0, $7_1 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 5 | 0) | 0; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = 1; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1290($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3238(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 95 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $16_1 = 0; + HEAP8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $361(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $16_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] = 95; + label$3 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == ($16_1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1485(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $38_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $38_1 | 0; + } + + function $1291($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $114_1 = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $72_1 = 0, $13_1 = 0, $22_1 = 0, $51_1 = 0, $64_1 = 0, $76_1 = 0, $81_1 = 0, $137_1 = 0, $155_1 = 0, $190_1 = 0, $26_1 = 0, $209_1 = 0, $27_1 = 0, $220_1 = 0, $28_1 = 0, $268_1 = 0, $29_1 = 0, $374_1 = 0, $378_1 = 0, $419_1 = 0, $187_1 = 0, $189_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $13_1 = 1; + label$1 : { + if ((((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 166 | 0) >> 0] | 0) >>> $13_1 | 0) & $13_1 | 0) & 255 | 0) { + break label$1 + } + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + $22_1 = 16; + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $22_1 | 0) >> $22_1 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[(((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 20) | 0) + 12 | 0) >> 0] = 2; + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $51_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($51_1 + 36 | 0) >> 2] = HEAP32[($51_1 + 36 | 0) >> 2] | 0 | 2048 | 0; + } + label$5 : { + if (!(HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 132 | 0) >> 2] | 0)) { + break label$5 + } + $1471(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 132 | 0) >> 2] | 0 | 0, 2 | 0); + } + $64_1 = 16; + label$6 : { + label$7 : { + label$8 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $64_1 | 0) >> $64_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$8 + } + $72_1 = 0; + $76_1 = $4_1 + 8 | 0; + $81_1 = 16; + $1324($76_1 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $81_1 | 0) >> $81_1 | 0, 20) | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1214(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, $72_1 | 0, $1218(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 59 | 0, $76_1 | 0, $72_1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == ($72_1 | 0) & 1 | 0)) { + break label$9 + } + break label$6; + } + label$10 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$10 + } + $1318(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 40 | 0 | 0); + } + $114_1 = 0; + HEAP8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 202 | 0) >> 0] | 0; + HEAP16[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 1] = 65535; + $1202(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, $114_1 | 0, $114_1 | 0, $114_1 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 50 | 0) >> 0] | 0) & 255 | 0 | 0, $114_1 | 0, $114_1 | 0, $114_1 | 0, $114_1 | 0, 2 & 255 | 0 | 0); + label$11 : { + label$12 : { + if ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + if (!(HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$11 + } + } + break label$6; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $416(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + break label$7; + } + $137_1 = 1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $416(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 32 | 0) >> 2] = $137_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $137_1; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$13 + } + label$15 : { + label$16 : { + if (!($1327(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$16 + } + $155_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP16[($155_1 + 52 | 0) >> 1] = (HEAPU16[($155_1 + 52 | 0) >> 1] | 0) + -1 | 0; + break label$15; + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP8[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0) >> 0] | 0; + $187_1 = HEAPU16[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $189_1 = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $190_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $190_1 + 1 | 0; + HEAP16[($189_1 + ($190_1 << 1 | 0) | 0) >> 1] = $187_1; + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + HEAP16[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 50 | 0) >> 1] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + } + $23_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + $26_1 = HEAPU8[($23_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($23_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 32 | 0; + HEAP8[($23_1 + 55 | 0) >> 0] = $26_1; + HEAP8[($23_1 + 56 | 0) >> 0] = $26_1 >>> 8 | 0; + $209_1 = 1; + label$17 : { + if ((((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 166 | 0) >> 0] | 0) >>> $209_1 | 0) & $209_1 | 0) & 255 | 0) { + break label$17 + } + $24_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + $27_1 = HEAPU8[($24_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($24_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 8 | 0; + HEAP8[($24_1 + 55 | 0) >> 0] = $27_1; + HEAP8[($24_1 + 56 | 0) >> 0] = $27_1 >>> 8 | 0; + } + $220_1 = HEAPU16[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0; + HEAP16[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 52 | 0) >> 1] = $220_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $220_1 & 65535 | 0; + label$18 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + if (!((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$18 + } + $1360(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, 11 & 255 | 0 | 0); + } + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + $28_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + label$21 : { + label$22 : { + if (!((((HEAPU8[($28_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($28_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$22 + } + break label$21; + } + $268_1 = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $268_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $268_1; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + label$25 : { + if ($1327(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0) { + break label$25 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$24; + }; + } + label$26 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$26 + } + HEAP16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 52 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0; + break label$21; + } + label$27 : { + if (!($1580(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0 | 0) | 0)) { + break label$27 + } + break label$6; + } + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + label$28 : { + label$29 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + label$30 : { + if ($1327(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0) { + break label$30 + } + HEAP16[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$31 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$31 + } + $25_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $29_1 = HEAPU8[($25_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($25_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 512 | 0; + HEAP8[($25_1 + 55 | 0) >> 0] = $29_1; + HEAP8[($25_1 + 56 | 0) >> 0] = $29_1 >>> 8 | 0; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$29; + }; + } + } + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$20; + }; + } + $374_1 = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $374_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $374_1; + label$32 : { + label$33 : while (1) { + $378_1 = 16; + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $378_1 | 0) >> $378_1 | 0 | 0) & 1 | 0)) { + break label$32 + } + label$34 : { + if ($1581(HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0) { + break label$34 + } + if (((HEAPU16[(((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$34 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$33; + }; + } + label$35 : { + if (!($1580(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 40 | 0) >> 2] | 0) | 0 | 0) | 0)) { + break label$35 + } + break label$6; + } + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + label$36 : { + label$37 : while (1) { + $419_1 = 16; + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $419_1 | 0) >> $419_1 | 0 | 0) & 1 | 0)) { + break label$36 + } + label$38 : { + if ($1581(HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0) { + break label$38 + } + if (((HEAPU16[(((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$38 + } + HEAP16[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 2261; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$37; + }; + } + $1328(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 64 | 0; + return; + } + + function $1292($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $77_1 = 0, $14_1 = 0, $59_1 = 0, $74_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 144 | 0; + global$0 = $7_1; + $14_1 = $7_1 + 8 | 0; + HEAP32[($7_1 + 136 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 132 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 128 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 124 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 120 | 0) >> 2] = $4_1; + i64toi32_i32$0 = 0; + $77_1 = 0; + i64toi32_i32$1 = $14_1; + HEAP32[i64toi32_i32$1 >> 2] = $77_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $77_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $14_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $77_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $14_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $77_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $3289($7_1 + 40 | 0 | 0, 0 | 0, 80 | 0) | 0; + label$1 : { + if (!((HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($7_1 + 40 | 0) >> 2] = 1; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 132 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 64 | 0) >> 2] = HEAP32[($7_1 + 132 | 0) >> 2] | 0; + HEAP32[($7_1 + 88 | 0) >> 2] = -1; + label$2 : { + if (!((HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[((HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 128 | 0) >> 2] = HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 262144 | 0; + } + } + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 136 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = $7_1 + 40 | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 65536 | 0; + $59_1 = $1404($7_1 + 8 | 0 | 0, HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = $59_1; + label$3 : { + label$4 : { + if (!$59_1) { + break label$4 + } + HEAP32[($7_1 + 140 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + break label$3; + } + label$5 : { + if (!((HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1437($7_1 + 8 | 0 | 0, HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($7_1 + 140 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + } + $74_1 = HEAP32[($7_1 + 140 | 0) >> 2] | 0; + global$0 = $7_1 + 144 | 0; + return $74_1 | 0; + } + + function $1293($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $34_1 = 0, i64toi32_i32$0 = 0, $49_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + $7_1 = 16; + HEAP32[$3_1 >> 2] = ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $7_1 | 0) >> $7_1 | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 14 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[$3_1 >> 2] = (HEAP32[$3_1 >> 2] | 0) + -1 | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 20 | 0; + continue label$2; + }; + } + $34_1 = 16; + label$3 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $34_1 | 0) >> $34_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + i64toi32_i32$0 = 0; + $49_1 = $937((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 1] = $49_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $1294($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $27_1 = 0, $36_1 = 0, $45_1 = 0, i64toi32_i32$0 = 0, $64_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP16[($3_1 + 14 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $27_1 = 16; + label$3 : { + label$4 : { + if (!((((HEAPU16[($3_1 + 14 | 0) >> 1] | 0) << $27_1 | 0) >> $27_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + $36_1 = 1; + break label$3; + } + $45_1 = 16; + $36_1 = (HEAPU8[(((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $45_1 | 0) >> $45_1 | 0, 20) | 0) + 14 | 0) >> 0] | 0) & 255 | 0; + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + $36_1 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + i64toi32_i32$0 = 0; + $64_1 = $937((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 1] = $64_1; + global$0 = $3_1 + 32 | 0; + return; + } + + function $1295($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$1; + } + $14_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = $14_1; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 21 | 0) >> 0] = 1; + return; + } + + function $1296($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0; + } + + function $1297($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $80$hi = 0, $81$hi = 0, $11_1 = 0, $83$hi = 0, $84$hi = 0, $59_1 = 0, $110_1 = 0, $119_1 = 0, $128_1 = 0, $141_1 = 0, $76_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 19 | 0) >> 0] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $110_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[$5_1 >> 2] = $110_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$1; + $10_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $10_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $80$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $81$hi = i64toi32_i32$0; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$3 = -5; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $119_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $10_1; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = $119_1; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$1; + $11_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $11_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $83$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $84$hi = i64toi32_i32$2; + i64toi32_i32$2 = $83$hi; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$2 = $83$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$3 = 64; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $128_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $11_1; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $128_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + $1341(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0); + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $141_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $141_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : while (1) { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$4; + }; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $308(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 80 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = 0; + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 46 | 0) >> 1] = 200; + $1582(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 42 | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + $59_1 = 24; + $1583(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, ((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) << $59_1 | 0) >> $59_1 | 0 | 0); + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] = 65535; + label$6 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + $11(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $76_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $76_1 | 0; + } + + function $1298($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0; + $5_1 = global$0 - 16 | 0; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $6_1; + return; + } + + function $1299($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $1288(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 66 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 19 | 0) >> 0] = 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $1300($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $15_1 = 0, $20_1 = 0, i64toi32_i32$1 = 0, $34_1 = 0, $38_1 = 0, $65_1 = 0, $74_1 = 0, $86_1 = 0, $92_1 = 0, i64toi32_i32$0 = 0, $63_1 = 0, $64_1 = 0, $73_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $296(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $20_1 = 16; + i64toi32_i32$1 = (((HEAPU16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $20_1 | 0) >> $20_1 | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $64($15_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != ($15_1 | 0) & 1 | 0) { + break label$3 + } + $118(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + break label$1; + } + $34_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $34_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $34_1; + label$4 : { + label$5 : while (1) { + $38_1 = 16; + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $38_1 | 0) >> $38_1 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (((HEAPU16[(((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$6 + } + $63_1 = HEAPU8[(((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 20) | 0) + 13 | 0) >> 0] | 0; + $64_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $65_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $65_1 + 1 | 0; + HEAP8[($64_1 + $65_1 | 0) >> 0] = $63_1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$7 : while (1) { + $73_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $74_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $74_1 + -1 | 0; + HEAP8[($73_1 + $74_1 | 0) >> 0] = 0; + $86_1 = 0; + label$8 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$8 + } + $92_1 = 24; + $86_1 = (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $92_1 | 0) >> $92_1 | 0 | 0) <= (65 | 0); + } + if ($86_1 & 1 | 0) { + continue label$7 + } + break label$7; + }; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($3303(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) & 1073741823 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$1 + } + label$9 : { + label$10 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$10 + } + $1278(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 90 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + break label$9; + } + $357(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1301($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $11_1 = 0, $50_1 = 0, $53_1 = 0, i64toi32_i32$1 = 0, $88_1 = 0, $97_1 = 0, $129_1 = 0, $23_1 = 0, $35_1 = 0, i64toi32_i32$0 = 0, $87_1 = 0, $120_1 = 0, $156_1 = 0, $159_1 = 0, $163_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + $11_1 = 16; + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $11_1 | 0) >> $11_1 | 0 | 0) & 1 | 0)) { + break label$1 + } + $23_1 = ($1584(HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) + 5 | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + $23_1 | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0; + continue label$2; + }; + } + $35_1 = $1584(HEAP32[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + $35_1 | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) < (50 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 32 | 0) >> 2] = 1352; + HEAP32[($4_1 + 28 | 0) >> 2] = 30108; + HEAP32[($4_1 + 24 | 0) >> 2] = 5213; + break label$3; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 30110; + HEAP32[($4_1 + 28 | 0) >> 2] = 30114; + HEAP32[($4_1 + 24 | 0) >> 2] = 30119; + } + $50_1 = 0; + $53_1 = 16; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (Math_imul(((HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $53_1 | 0) >> $53_1 | 0, 6) + 35 | 0) | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $64($50_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) == ($50_1 | 0) & 1 | 0)) { + break label$6 + } + $118(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + break label$5; + } + $81(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, 30122 | 0, 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $68(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $1585(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, $4_1 + 44 | 0 | 0, HEAP32[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0); + $87_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $88_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $88_1 + 1 | 0; + HEAP8[($87_1 + $88_1 | 0) >> 0] = 40; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + $97_1 = 16; + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $97_1 | 0) >> $97_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + $81((HEAP32[($4_1 + 40 | 0) >> 2] | 0) - (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $120_1 = $68((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + $120_1 | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $1585(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, $4_1 + 44 | 0 | 0, HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0); + $129_1 = 24; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(30144 + (((((HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $129_1 | 0) >> $129_1 | 0) - 65 | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $68(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $3288((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0; + continue label$8; + }; + } + $156_1 = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) - (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0; + $159_1 = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $81($156_1 | 0, $159_1 | 0, 1976 | 0, $4_1 | 0) | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + $163_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $163_1 | 0; + } + + function $1302($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $46_1 = 0, $48_1 = 0, $37_1 = 0, $41_1 = 0, $62_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 112 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 92 | 0) >> 2] = 0; + HEAP32[($5_1 + 88 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($5_1 + 100 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $119(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (((HEAPU8[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$4 + } + HEAP32[((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + 12 | 0) >> 2] = 18; + } + $37_1 = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + HEAP32[($37_1 + 36 | 0) >> 2] = (HEAP32[($37_1 + 36 | 0) >> 2] | 0) + 1 | 0; + break label$1; + } + $41_1 = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + HEAP8[($41_1 + 18 | 0) >> 0] = (HEAPU8[($41_1 + 18 | 0) >> 0] | 0) + 1 | 0; + $46_1 = 192; + $48_1 = 88; + $3288($5_1 | 0, (HEAP32[($5_1 + 108 | 0) >> 2] | 0) + $46_1 | 0 | 0, $48_1 | 0) | 0; + $3289((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + $46_1 | 0 | 0, 0 | 0, $48_1 | 0) | 0; + $415(HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0, $5_1 + 92 | 0 | 0) | 0; + $13(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0); + $13(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0); + $3288((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + $46_1 | 0 | 0, $5_1 | 0, $48_1 | 0) | 0; + $62_1 = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + HEAP8[($62_1 + 18 | 0) >> 0] = (HEAPU8[($62_1 + 18 | 0) >> 0] | 0) + -1 | 0; + } + global$0 = $5_1 + 112 | 0; + return; + } + + function $1303($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $367(HEAP32[$4_1 >> 2] | 0 | 0, 94 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0, (HEAP32[(HEAP32[(((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $1304($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $1278(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 142 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $6_1 | 0, $6_1 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, -7 | 0) | 0; + HEAP32[$5_1 >> 2] = $6_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) < (HEAP32[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $356(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0); + HEAP32[$5_1 >> 2] = (HEAP32[$5_1 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $1295(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1305($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $23_1 = 0, $38_1 = 0, $42_1 = 0, $56_1 = 0, $60_1 = 0, $70_1 = 0, $82_1 = 0, $68_1 = 0, $69_1 = 0, $80_1 = 0, $81_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP8[($3_1 + 11 | 0) >> 0] = HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0; + label$3 : { + if (((HEAPU8[(((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 128 | 0) { + break label$3 + } + break label$1; + } + $23_1 = 24; + label$4 : { + if (!((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0 | 0) == (91 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($3_1 + 11 | 0) >> 0] = 93; + } + HEAP32[($3_1 + 4 | 0) >> 2] = 1; + HEAP32[$3_1 >> 2] = 0; + label$5 : { + label$6 : while (1) { + $38_1 = 24; + $42_1 = 24; + label$7 : { + label$8 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $38_1 | 0) >> $38_1 | 0 | 0) == (((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0 | 0) & 1 | 0)) { + break label$8 + } + $56_1 = 24; + $60_1 = 24; + label$9 : { + label$10 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $56_1 | 0) >> $56_1 | 0 | 0) == (((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $60_1 | 0) >> $60_1 | 0 | 0) & 1 | 0)) { + break label$10 + } + $68_1 = HEAPU8[($3_1 + 11 | 0) >> 0] | 0; + $69_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $70_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[$3_1 >> 2] = $70_1 + 1 | 0; + HEAP8[($69_1 + $70_1 | 0) >> 0] = $68_1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$9; + } + break label$5; + } + break label$7; + } + $80_1 = HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0; + $81_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $82_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[$3_1 >> 2] = $82_1 + 1 | 0; + HEAP8[($81_1 + $82_1 | 0) >> 0] = $80_1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[$3_1 >> 2] | 0) | 0) >> 0] = 0; + } + return; + } + + function $1306($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($3_1 + 7 | 0) >> 0] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($3_1 + 15 | 0) >> 0] = 0; + break label$1; + } + label$3 : { + label$4 : while (1) { + if (!(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[($3_1 + 7 | 0) >> 0] = ((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0) + ((HEAPU8[(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP8[($3_1 + 15 | 0) >> 0] = HEAPU8[($3_1 + 7 | 0) >> 0] | 0; + } + return (HEAPU8[($3_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $1307($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $23_1 = 0, $68_1 = 0, $78_1 = 0, $90_1 = 0, $108_1 = 0, $126_1 = 0, $144_1 = 0, $173_1 = 0, $231_1 = 0, $233_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP8[($4_1 + 19 | 0) >> 0] = 67; + HEAP32[($4_1 + 12 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!(((HEAPU8[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $23_1 = 24; + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 8 | 0) + ((HEAPU8[(((((HEAPU8[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1667785074 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($4_1 + 19 | 0) >> 0] = 66; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1668050786 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[($4_1 + 19 | 0) >> 0] = 66; + break label$5; + } + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1952807028 | 0) & 1 | 0)) { + break label$8 + } + HEAP8[($4_1 + 19 | 0) >> 0] = 66; + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1651273570 | 0) & 1 | 0)) { + break label$10 + } + $68_1 = 24; + label$11 : { + if ((((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $68_1 | 0) >> $68_1 | 0 | 0) == (67 | 0) & 1 | 0) { + break label$11 + } + $78_1 = 24; + if (!((((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $78_1 | 0) >> $78_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$10 + } + } + HEAP8[($4_1 + 19 | 0) >> 0] = 65; + $90_1 = 24; + label$12 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $90_1 | 0) >> $90_1 | 0 | 0) == (40 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + break label$9; + } + label$13 : { + label$14 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1919246700 | 0) & 1 | 0)) { + break label$14 + } + $108_1 = 24; + if (!((((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $108_1 | 0) >> $108_1 | 0 | 0) == (67 | 0) & 1 | 0)) { + break label$14 + } + HEAP8[($4_1 + 19 | 0) >> 0] = 69; + break label$13; + } + label$15 : { + label$16 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1718382433 | 0) & 1 | 0)) { + break label$16 + } + $126_1 = 24; + if (!((((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $126_1 | 0) >> $126_1 | 0 | 0) == (67 | 0) & 1 | 0)) { + break label$16 + } + HEAP8[($4_1 + 19 | 0) >> 0] = 69; + break label$15; + } + label$17 : { + label$18 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1685026146 | 0) & 1 | 0)) { + break label$18 + } + $144_1 = 24; + if (!((((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $144_1 | 0) >> $144_1 | 0 | 0) == (67 | 0) & 1 | 0)) { + break label$18 + } + HEAP8[($4_1 + 19 | 0) >> 0] = 69; + break label$17; + } + label$19 : { + if (!(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & 16777215 | 0 | 0) == (6909556 | 0) & 1 | 0)) { + break label$19 + } + HEAP8[($4_1 + 19 | 0) >> 0] = 68; + break label$1; + } + } + } + } + } + } + } + } + continue label$2; + }; + } + label$20 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + $173_1 = 24; + label$21 : { + if (!((((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $173_1 | 0) >> $173_1 | 0 | 0) < (67 | 0) & 1 | 0)) { + break label$21 + } + label$22 : { + label$23 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + label$24 : { + label$25 : while (1) { + if (!(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$24 + } + label$26 : { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$26 + } + $341(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0; + break label$24; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + break label$22; + } + HEAP32[($4_1 + 8 | 0) >> 2] = 16; + } + } + HEAP32[($4_1 + 8 | 0) >> 2] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) / (4 | 0) | 0) + 1 | 0; + label$27 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (255 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 255; + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 14 | 0) >> 0] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + $231_1 = 24; + $233_1 = ((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $231_1 | 0) >> $231_1 | 0; + global$0 = $4_1 + 32 | 0; + return $233_1 | 0; + } + + function $1308($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 11 | 0) >> 0] = $1_1; + $12_1 = $1445(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, ((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0) + 4 | 0 | 0, 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $12_1 | 0; + } + + function $1309($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $29_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $57_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : while (1) { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[$5_1 >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) - (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0; + label$3 : while (1) { + $29_1 = 0; + label$4 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + $29_1 = (((HEAPU8[(((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + ((HEAP32[$5_1 >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 | 0) != (0 | 0); + } + label$5 : { + if (!($29_1 & 1 | 0)) { + break label$5 + } + HEAP32[$5_1 >> 2] = (HEAP32[$5_1 >> 2] | 0) + -1 | 0; + continue label$3; + } + break label$3; + }; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $57_1 = $1130(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $57_1 | 0; + } + + function $1310($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $18_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = $1537(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + break label$1; + } + $18_1 = 0; + } + global$0 = $5_1 + 16 | 0; + return $18_1 | 0; + } + + function $1311($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $7_1 = 0, i64toi32_i32$0 = 0, $27_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $7_1 = $4_1 + 8 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP8[($4_1 + 39 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0; + i64toi32_i32$0 = 0; + $27_1 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $27_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $27_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $27_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 37; + HEAP32[($4_1 + 16 | 0) >> 2] = 36; + HEAP8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 204 | 0) >> 0] = 3; + $1547($7_1 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 204 | 0) >> 0] = HEAPU8[($4_1 + 39 | 0) >> 0] | 0; + global$0 = $4_1 + 48 | 0; + return; + } + + function $1312($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $20_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 120 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + $349($16_1 | 0, 30060 | 0, $4_1 | 0); + HEAP32[($4_1 + 20 | 0) >> 2] = 1; + } + $20_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $20_1 | 0; + } + + function $1313($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, $19_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $10_1 = 24; + $19_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($19_1 + 4 | 0) >> 2] = HEAP32[($19_1 + 4 | 0) >> 2] | 0 | ((((HEAPU8[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) == (34 | 0) & 1 | 0 ? 67108928 : 67108864) | 0; + $1305(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1314($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 29454 | 0) | 0) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 268435456; + break label$1; + } + label$3 : { + if ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 29459 | 0) | 0) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 536870912; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $13_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $13_1 | 0; + } + + function $1315($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP16[($5_1 + 16 | 0) >> 1] = (HEAPU16[($5_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + label$1 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$1 + } + $349(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 30395 | 0, 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1316($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $12_1 = ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4096 | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1317($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] = 59; + break label$1; + } + label$3 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$3 + } + if (!(((HEAPU8[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 0] = 59; + } + } + return; + } + + function $1318($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 276 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + return; + } + + function $1319($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $48_1 = 0, $44_1 = 0, $68_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((((HEAPU8[(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) + 13 | 0) >> 0] | 0) >>> 5 | 0) & 1 | 0) & 255 | 0)) { + break label$5 + } + HEAP8[($4_1 + 15 | 0) >> 0] = HEAPU8[((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0; + $44_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $48_1 = 1; + label$6 : { + if (!((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0)) { + break label$6 + } + $48_1 = ((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) == (3 | 0); + } + HEAP32[$4_1 >> 2] = $48_1 & 1 | 0 ? 30475 : 30481; + $349($44_1 | 0, 30447 | 0, $4_1 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $68_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $68_1 | 0; + } + + function $1320($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $24_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1323(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $5_1 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $11(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + label$1 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + $24_1 = HEAP32[$4_1 >> 2] | 0; + HEAP32[($24_1 + 32 | 0) >> 2] = (HEAP32[($24_1 + 32 | 0) >> 2] | 0) + 1 | 0; + } + label$2 : { + if (!($1628(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + HEAP32[$4_1 >> 2] = 0; + } + $32_1 = HEAP32[$4_1 >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $32_1 | 0; + } + + function $1321($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0; + $7_1 = global$0 - 32 | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 0] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0; + return; + } + + function $1322($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $72_1 = 0, $55_1 = 0, $57_1 = 0, $59_1 = 0, $110_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $122(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 8 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if ((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != ($122(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + $55_1 = HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + $57_1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $59_1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $59_1; + HEAP32[$4_1 >> 2] = $57_1; + $349($55_1 | 0, 30927 | 0, $4_1 | 0); + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + $13(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $72_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP8[($72_1 + 37 | 0) >> 0] = HEAPU8[($72_1 + 37 | 0) >> 0] | 0 | 64 | 0; + } + label$7 : { + if (!($1337(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + label$8 : { + if (!($1474(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + label$9 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0)) { + break label$9 + } + if (!($1645(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 72 | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $110_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $110_1 | 0; + } + + function $1323($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $34_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + $34_1 = $348(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 32 | 0; + return $34_1 | 0; + } + + function $1324($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $8_1 = $68(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $8_1; + global$0 = $4_1 + 16 | 0; + return; + } + + function $1325($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $9_1 = 0, $21_1 = 0, $29_1 = 0, $36_1 = 0, i64toi32_i32$1 = 0, $65_1 = 0, $79_1 = 0, $91_1 = 0, $103_1 = 0, i64toi32_i32$0 = 0, $113_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP16[($6_1 + 26 | 0) >> 1] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + $9_1 = 16; + $21_1 = 16; + $29_1 = 16; + $36_1 = 16; + HEAP32[($6_1 + 8 | 0) >> 2] = (((((((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $9_1 | 0) >> $9_1 | 0) << 2 | 0) + 7 | 0) & -8 | 0) + 72 | 0) + (((((((((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $21_1 | 0) >> $21_1 | 0) + 1 | 0) << 1 | 0) + ((((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $29_1 | 0) >> $29_1 | 0) << 1 | 0) | 0) + ((((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $36_1 | 0) >> $36_1 | 0) << 0 | 0) | 0) + 7 | 0) & -8 | 0) | 0; + i64toi32_i32$1 = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 72 | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $65_1 = 16; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + ((((((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $65_1 | 0) >> $65_1 | 0) << 2 | 0) + 7 | 0) & -8 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $79_1 = 16; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + (((((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $79_1 | 0) >> $79_1 | 0) + 1 | 0) << 1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $91_1 = 16; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + ((((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $91_1 | 0) >> $91_1 | 0) << 1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 1] = HEAPU16[($6_1 + 26 | 0) >> 1] | 0; + $103_1 = 16; + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 50 | 0) >> 1] = (((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $103_1 | 0) >> $103_1 | 0) - 1 | 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0; + } + $113_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $113_1 | 0; + } + + function $1326($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[($4_1 + 19 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0; + HEAP8[($4_1 + 18 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $498(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 18 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (((HEAPU8[($4_1 + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1174(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $51_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $51_1 | 0; + } + + function $1327($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $15_1 = 0, $32_1 = 0, $61_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + $15_1 = 16; + HEAP32[($6_1 + 4 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $15_1 | 0) >> $15_1 | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $32_1 = 16; + label$4 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $32_1 | 0) >> $32_1 | 0 | 0) == (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + if ($88(HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $61_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $61_1 | 0; + } + + function $1328($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $27_1 = 0, $61$hi = 0, $62$hi = 0, $16_1 = 0, $63$hi = 0, $66$hi = 0, $67$hi = 0, $184$hi = 0, $188_1 = 0, $204_1 = 0; + $3_1 = global$0 - 32 | 0; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = ((HEAPU16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + $27_1 = 16; + HEAP32[($3_1 + 4 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $27_1 | 0) >> $27_1 | 0; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + if (((HEAPU16[(((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 4 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$3 + } + label$4 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (63 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $61$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $62$hi = i64toi32_i32$0; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$3 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $16_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $16_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $63$hi = i64toi32_i32$1; + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $184$hi = i64toi32_i32$2; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$2 = $184$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$3 = $16_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $188_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $188_1; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$1; + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + }; + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $66$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $67$hi = i64toi32_i32$0; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0; + $204_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] = $204_1; + HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] = i64toi32_i32$1; + return; + } + + function $1329($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $27_1 = 0, $41_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP16[($4_1 + 6 | 0) >> 1] = $1_1; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = 16; + $27_1 = 16; + label$4 : { + if (!((((HEAPU16[($4_1 + 6 | 0) >> 1] | 0) << $17_1 | 0) >> $17_1 | 0 | 0) == (((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $27_1 | 0) >> $27_1 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP16[($4_1 + 14 | 0) >> 1] = HEAP32[$4_1 >> 2] | 0; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP16[($4_1 + 14 | 0) >> 1] = 65535; + } + $41_1 = 16; + return ((HEAPU16[($4_1 + 14 | 0) >> 1] | 0) << $41_1 | 0) >> $41_1 | 0 | 0; + } + + function $1330($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $63_1 = 0, $125_1 = 0, $191_1 = 0, $10_1 = 0, $11_1 = 0, $14_1 = 0, $15_1 = 0, $76_1 = 0, $77_1 = 0, $13_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $10_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + $11_1 = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + HEAP32[($10_1 + 40 | 0) >> 2] = $11_1 + 1 | 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $11_1; + $14_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + $15_1 = HEAP32[($14_1 + 40 | 0) >> 2] | 0; + HEAP32[($14_1 + 40 | 0) >> 2] = $15_1 + 1 | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = $15_1; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $350(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!($1283(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, 27 | 0, HEAP32[(HEAP32[($5_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + break label$1; + } + $1393(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, HEAP32[(HEAP32[($5_1 + 64 | 0) >> 2] | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + break label$4; + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + } + $63_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1394(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $76_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + $77_1 = HEAP32[($76_1 + 40 | 0) >> 2] | 0; + HEAP32[($76_1 + 40 | 0) >> 2] = $77_1 + 1 | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = $77_1; + $1278(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 111 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, $63_1 | 0, (HEAPU16[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0, $1386(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, -9 | 0) | 0; + $1462(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, 96 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $63_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $1407(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + $1469(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $63_1 | 0, $5_1 + 36 | 0 | 0, $63_1 | 0, $63_1 | 0) | 0; + $366(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 132 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $1470(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $1277(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + label$6 : { + if (!((HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) < ($63_1 | 0) & 1 | 0)) { + break label$6 + } + $366(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 138 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + $125_1 = 0; + $1278(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 97 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, -9 | 0) | 0; + $354(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, (((HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) >= ($125_1 | 0) & 1 | 0 ? 16 : $125_1) | 1 | 0) & 65535 | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 35 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, $125_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!((HEAPU8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1282(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1296(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $353(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 125 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + $1646(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + break label$7; + } + $1295(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1296(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + $367(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 126 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0; + $13_1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + label$9 : { + if ((((HEAPU8[($13_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($13_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 9 | 0) & 1 | 0) & 65535 | 0) { + break label$9 + } + $1288(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 130 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0; + } + $191_1 = 116; + $366(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 16 & 65535 | 0 | 0); + $1383(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 3 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, $191_1 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0; + $1288(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, $191_1 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0; + $1288(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, $191_1 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $5_1 + 80 | 0; + return; + } + + function $1331($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((0 | 0) == ($88(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + } + $1286(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1332($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0, $15_1 = 0, $27_1 = 0, $39_1 = 0, $52_1 = 0, $63_1 = 0, $77_1 = 0, $87_1 = 0, $131_1 = 0, $146_1 = 0, $166_1 = 0, $173_1 = 0, $187_1 = 0, $47_1 = 0, $209_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + $8_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1634(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $15_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($15_1 + 56 | 0) >> 2] = (HEAP32[($15_1 + 56 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (!(HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $27_1 = 16; + label$4 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $27_1 | 0) >> $27_1 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $39_1 = 16; + label$5 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $39_1 | 0) >> $39_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + $47_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + $349($47_1 | 0, 29500 | 0, $4_1 | 0); + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + $52_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1338(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $52_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != ($52_1 | 0) & 1 | 0)) { + break label$7 + } + $63_1 = 0; + HEAP8[($4_1 + 7 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0; + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 204 | 0) >> 0] = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $1624(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] = 65535; + $77_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($77_1 + 272 | 0) >> 2] = (HEAP32[($77_1 + 272 | 0) >> 2] | 0) + 1 | 0; + HEAP16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 276 | 0) >> 1] = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 328 | 0) >> 2] = $63_1; + $87_1 = 24; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1297(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, (64 << $87_1 | 0) >> $87_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 328 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == ($63_1 | 0) & 1 | 0)) { + break label$9 + } + HEAP16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + break label$8; + } + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $1582(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0 | 0, (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + label$12 : { + if ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + if (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$12 + } + $131_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $131_1 | 0) >> $131_1 | 0 | 0) == (HEAP32[(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $146_1 = 24; + $1583(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, (64 << $146_1 | 0) >> $146_1 | 0 | 0); + } + break label$10; + } + HEAP16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 42 | 0) >> 1] = 0; + HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + } + } + HEAP16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 44 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + $11(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0); + $1139(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + $166_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($166_1 + 272 | 0) >> 2] = (HEAP32[($166_1 + 272 | 0) >> 2] | 0) + -1 | 0; + label$13 : { + label$14 : { + if (!(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 272 | 0) >> 2] | 0)) { + break label$14 + } + $173_1 = 0; + break label$13; + } + $173_1 = (HEAPU16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 278 | 0) >> 1] | 0) & 65535 | 0; + } + HEAP16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 276 | 0) >> 1] = $173_1; + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 204 | 0) >> 0] = HEAPU8[($4_1 + 7 | 0) >> 0] | 0; + break label$6; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + } + $187_1 = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP16[($187_1 + 78 | 0) >> 1] = (HEAPU16[($187_1 + 78 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0; + label$15 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$15 + } + $1169(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 1] = 0; + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + } + $209_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $209_1 | 0; + } + + function $1333($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $35_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ($89(HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, 27544 | 0, 7 | 0) | 0) { + break label$2 + } + label$3 : { + if ($89((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 7 | 0 | 0, 3941 | 0, 4 | 0) | 0) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if ($89((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 7 | 0 | 0, 28289 | 0, 10 | 0) | 0) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 4096 | 0)) { + break label$5 + } + if (!($1579(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $35_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $35_1 | 0; + } + + function $1334($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $47_1 = 0, $48_1 = 0, $49_1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 72 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = 1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) <= (4 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $81(24 | 0, $6_1 + 32 | 0 | 0, 31397 | 0, $6_1 + 16 | 0 | 0) | 0; + label$3 : { + if (!(($361(HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $47_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + $48_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $49_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $49_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $6_1 + 32 | 0; + HEAP32[$6_1 >> 2] = $48_1; + $1302($47_1 | 0, 31411 | 0, $6_1 | 0); + } + HEAP32[($6_1 + 60 | 0) >> 2] = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $6_1 + 80 | 0; + return; + } + + function $1335($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $57_1 = 0, $91$hi = 0, $97$hi = 0, $103$hi = 0, $92$hi = 0, $93$hi = 0, $95$hi = 0, $14_1 = 0, $98$hi = 0, $99$hi = 0, $101$hi = 0, $104$hi = 0, $105$hi = 0, $107$hi = 0, $71_1 = 0, $81_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + $91$hi = i64toi32_i32$0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $92$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $93$hi = i64toi32_i32$1; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$1 = $93$hi; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $93$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $95$hi = i64toi32_i32$0; + i64toi32_i32$0 = $91$hi; + i64toi32_i32$0 = $95$hi; + i64toi32_i32$0 = $91$hi; + i64toi32_i32$0 = $95$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $91$hi; + i64toi32_i32$3 = 0; + label$1 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$1 + } + if (HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$1 + } + $14_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $14_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!(($1650(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) == ($14_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + label$6 : { + if ((HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + i64toi32_i32$1 = 0; + $97$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $98$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $99$hi = i64toi32_i32$0; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$0 = $99$hi; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $99$hi; + i64toi32_i32$2 = 524288; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $101$hi = i64toi32_i32$1; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$1 = $101$hi; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$1 = $101$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $97$hi; + i64toi32_i32$2 = 0; + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$5 + } + } + break label$3; + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$4; + }; + } + label$7 : { + if ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 47 | 0, 1 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + i64toi32_i32$0 = 0; + $103$hi = i64toi32_i32$0; + $57_1 = 0; + HEAP8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 150 | 0) >> 0] = 1; + $1227(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $1476(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $57_1 | 0) | 0 | 0, $57_1 | 0, $57_1 | 0, $57_1 | 0); + HEAP8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 150 | 0) >> 0] = 0; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $104$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $105$hi = i64toi32_i32$1; + i64toi32_i32$1 = $104$hi; + i64toi32_i32$1 = $105$hi; + i64toi32_i32$1 = $104$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $105$hi; + i64toi32_i32$3 = 524288; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $107$hi = i64toi32_i32$0; + i64toi32_i32$0 = $103$hi; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$0 = $103$hi; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $103$hi; + i64toi32_i32$3 = 0; + label$8 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$8 + } + $71_1 = 0; + $366(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 47 | 0, $71_1 | 0, ($1296(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0) | 0; + $81_1 = 24; + $1522(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 787 | 0, 2 | 0, $71_1 | 0, (255 << $81_1 | 0) >> $81_1 | 0 | 0, 4 & 255 | 0 | 0); + } + label$9 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$9 + } + $1369(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1336($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $64_1 = 0, $71_1 = 0, $42_1 = 0, $44_1 = 0, $50_1 = 0, $52_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1275(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $1287(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0); + label$1 : { + if (!(HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$1 + } + $1276(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 163 | 0) | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1651(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $1478(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + continue label$3; + }; + } + label$4 : { + if (!((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 8 | 0)) { + break label$4 + } + $42_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $44_1 = HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $44_1; + $1302($42_1 | 0, 31441 | 0, $6_1 + 16 | 0 | 0); + } + $50_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $52_1 = HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $52_1; + $1302($50_1 | 0, 31486 | 0, $6_1 | 0); + label$5 : { + if (HEAP32[($6_1 + 48 | 0) >> 2] | 0) { + break label$5 + } + if (HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$5 + } + $1652(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (!(HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$6 + } + $64_1 = 0; + $1278(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 165 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, $64_1 | 0, $64_1 | 0, HEAP32[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0, $64_1 | 0) | 0; + $1295(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0); + } + $71_1 = 0; + $1278(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 144 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, $71_1 | 0, $71_1 | 0, HEAP32[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0, $71_1 | 0) | 0; + $1303(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0); + $1653(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0); + global$0 = $6_1 + 64 | 0; + return; + } + + function $1337($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $83_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!($1645(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$5 : { + if (!($1322(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$6 : { + if (!($1474(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$7 : { + if (!($1645(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$8 : { + if (!($1474(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$9 : { + if (!($1645(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$10 : { + if (!($1474(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0)) { + break label$10 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[$4_1 >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + label$14 : { + if (!($1337(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$4_1 >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$14 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $83_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $83_1 | 0; + } + + function $1338($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $27_1 = 0, $9_1 = 0, $28_1 = 0, i64toi32_i32$0 = 0, $33_1 = 0, $39_1 = 0, $45_1 = 0, $51_1 = 0, $57_1 = 0, $63_1 = 0, $75_1 = 0, $92_1 = 0, $98_1 = 0, $123_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $9_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $9_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $9_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $5_1 + 16 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 76 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + $27_1 = 0; + $28_1 = -1; + $33_1 = $1339(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 28 | 0) >> 2] = $33_1; + $39_1 = $1476(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 32 | 0) >> 2] = $39_1; + $45_1 = $1310(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 36 | 0) >> 2] = $45_1; + $51_1 = $1339(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 40 | 0) >> 2] = $51_1; + $57_1 = $1310(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 44 | 0) >> 2] = $57_1; + $63_1 = $1339(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 48 | 0) >> 2] = $63_1; + HEAP8[(HEAP32[$5_1 >> 2] | 0) >> 0] = HEAPU8[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 0] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 52 | 0) >> 2] = $27_1; + $75_1 = $1310(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 60 | 0) >> 2] = $75_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] = $27_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = $27_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & -33 | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 20 | 0) >> 2] = $28_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] = $28_1; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 2 | 0) >> 1] = HEAPU16[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + $92_1 = $1571(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 64 | 0) >> 2] = $92_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 68 | 0) >> 2] = $27_1; + $98_1 = $1572(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 72 | 0) >> 2] = $98_1; + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != ($27_1 | 0) & 1 | 0)) { + break label$4 + } + if ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + $1573(HEAP32[$5_1 >> 2] | 0 | 0); + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[$5_1 >> 2] | 0) + 52 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$2; + }; + } + $123_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $123_1 | 0; + } + + function $1339($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, i64toi32_i32$1 = 0, $72_1 = 0, $80_1 = 0, $84_1 = 0, $100_1 = 0, $105_1 = 0, $111_1 = 0, $120_1 = 0, $15_1 = 0, i64toi32_i32$0 = 0, $52_1 = 0, $91_1 = 0, $144_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $15_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = $59(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365($15_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + $52_1 = $1310(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = $52_1; + label$6 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!(((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (175 | 0) & 1 | 0)) { + break label$6 + } + $72_1 = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $72_1; + if (!(($72_1 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $80_1 = 16; + label$7 : { + label$8 : { + if (((HEAPU16[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $80_1 | 0) >> $80_1 | 0) { + break label$8 + } + $84_1 = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = $84_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $84_1; + break label$7; + } + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + } + $91_1 = $291(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $91_1; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0; + $100_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP8[($100_1 + 9 | 0) >> 0] = (HEAPU8[($100_1 + 9 | 0) >> 0] | 0) & 252 | 0 | ((HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 3 | 0) | 0; + $105_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP8[($105_1 + 9 | 0) >> 0] = (HEAPU8[($105_1 + 9 | 0) >> 0] | 0) & 251 | 0; + $111_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP8[($111_1 + 9 | 0) >> 0] = (HEAPU8[($111_1 + 9 | 0) >> 0] | 0) & 223 | 0 | ((HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 32 | 0) | 0; + $120_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP8[($120_1 + 9 | 0) >> 0] = (HEAPU8[($120_1 + 9 | 0) >> 0] | 0) & -17 | 0 | ((HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 16 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0; + continue label$5; + }; + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + $144_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $144_1 | 0; + } + + function $1340($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $15_1 = 0, i64toi32_i32$0 = 0, $61_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $15_1 = $4_1 + 8 | 0; + i64toi32_i32$0 = 0; + $61_1 = 0; + i64toi32_i32$1 = $15_1; + HEAP32[i64toi32_i32$1 >> 2] = $61_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $61_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $15_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $61_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 37; + $1550($15_1 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (((HEAPU8[(((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 4 | 0) | 0) + 13 | 0) >> 0] | 0) & 3 | 0) & 255 | 0) { + break label$4 + } + $1318(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $4_1 + 48 | 0; + return; + } + + function $1341($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 128 | 0)) { + break label$3 + } + break label$1; + } + $1609(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + label$4 : { + label$5 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$5 + } + if (!((HEAPU8[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + } + break label$1; + } + $1593(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + label$6 : { + label$7 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$7 + } + if (!((HEAPU8[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$6 + } + } + break label$1; + } + $1610(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1342($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $228$hi = 0, $228_1 = 0, $229$hi = 0, $230$hi = 0, $232$hi = 0, $234$hi = 0, $235$hi = 0, $237$hi = 0, $54_1 = 0, $136_1 = 0, $149_1 = 0, $209_1 = 0, $169_1 = 0, $171_1 = 0, $201_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 96 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 203 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + label$5 : while (1) { + if (!((HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$5; + }; + } + i64toi32_i32$0 = 0; + $228_1 = 0; + $228$hi = i64toi32_i32$0; + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 16 | 0) >> 0] = 1; + i64toi32_i32$2 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $229$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $230$hi = i64toi32_i32$1; + i64toi32_i32$1 = $229$hi; + i64toi32_i32$1 = $230$hi; + i64toi32_i32$1 = $229$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $230$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $232$hi = i64toi32_i32$0; + i64toi32_i32$0 = $228$hi; + i64toi32_i32$0 = $232$hi; + i64toi32_i32$0 = $228$hi; + i64toi32_i32$0 = $232$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $228$hi; + i64toi32_i32$3 = $228_1; + HEAP32[($4_1 + 60 | 0) >> 2] = ((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $234$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $235$hi = i64toi32_i32$0; + i64toi32_i32$0 = $234$hi; + i64toi32_i32$0 = $235$hi; + i64toi32_i32$0 = $234$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $235$hi; + i64toi32_i32$2 = 64; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $237$hi = i64toi32_i32$1; + i64toi32_i32$1 = $228$hi; + i64toi32_i32$1 = $237$hi; + i64toi32_i32$1 = $228$hi; + i64toi32_i32$1 = $237$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $228$hi; + i64toi32_i32$2 = $228_1; + $54_1 = 1; + label$6 : { + if (((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != ($228$hi | 0) | 0) & 1 | 0) { + break label$6 + } + $54_1 = (HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0); + } + HEAP32[($4_1 + 56 | 0) >> 2] = $54_1 & 1 | 0; + $374(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 80 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!((HEAP32[((((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (((HEAPU8[(((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 4 | 0) | 0) + 13 | 0) >> 0] | 0) & 3 | 0) & 255 | 0) { + break label$10 + } + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + $375(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + break label$9; + } + label$11 : { + label$12 : { + if (!(HEAP32[($4_1 + 56 | 0) >> 2] | 0)) { + break label$12 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$12 + } + $136_1 = 16; + HEAP32[($4_1 + 40 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $136_1 | 0) >> $136_1 | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$13 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$13 + } + $149_1 = 16; + HEAP32[($4_1 + 40 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $149_1 | 0) >> $149_1 | 0; + } + label$14 : { + label$15 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 14175; + break label$14; + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 40 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + } + label$16 : { + label$17 : { + if (!(HEAP32[($4_1 + 60 | 0) >> 2] | 0)) { + break label$17 + } + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + $169_1 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + $171_1 = HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $171_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $351($169_1 | 0, 28578 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $375(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + break label$16; + } + $375(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + } + break label$11; + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$19 + } + $201_1 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 1 | 0; + $209_1 = $351($201_1 | 0, 29437 | 0, $4_1 + 16 | 0 | 0) | 0; + break label$18; + } + $209_1 = $291(HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($4_1 + 32 | 0) >> 2] = $209_1; + $375(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + } + HEAP32[($4_1 + 80 | 0) >> 2] = (HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + $1654(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 96 | 0; + return; + } + + function $1343($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $53_1 = 0, $276_1 = 0, i64toi32_i32$0 = 0, $25_1 = 0, $328_1 = 0, $377_1 = 0, $5_1 = 0, $54_1 = 0, $57_1 = 0, $64_1 = 0, $68_1 = 0, $126_1 = 0, $127_1 = 0, $128_1 = 0, $132_1 = 0, $156_1 = 0, $159_1 = 0, $204_1 = 0, $219_1 = 0, $247_1 = 0, $250_1 = 0, $252_1 = 0, $255_1 = 0, $303_1 = 0, $309_1 = 0, $316_1 = 0, $335_1 = 0, $286_1 = 0, $373_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 112 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1048576 | 0) { + break label$2 + } + $25_1 = 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 104 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 100 | 0) >> 2] = $25_1; + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 80 | 0) >> 2] = $25_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $25_1; + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $308(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, 80 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) == ($25_1 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $264(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, 7 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $53_1 = 0; + $54_1 = 1; + $57_1 = $4_1 + 32 | 0; + $1655($57_1 | 0, HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0); + $1549($57_1 | 0, HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 32 | 0) >> 2] = $53_1; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 36 | 0) >> 2] = $53_1; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 40 | 0) >> 2] = $53_1; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 44 | 0) >> 2] = $53_1; + $64_1 = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + HEAP32[($64_1 + 4 | 0) >> 2] = (HEAP32[($64_1 + 4 | 0) >> 2] | 0) & -9 | 0; + $68_1 = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + HEAP32[($68_1 + 4 | 0) >> 2] = HEAP32[($68_1 + 4 | 0) >> 2] | 0 | 1048576 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1656(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, $53_1 | 0, HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $54_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1656(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $54_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) != ($53_1 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] | 0 | 0) <= (HEAP32[(HEAP32[($4_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 80 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] | 0; + label$5 : { + if ($1356(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, -1 | 0) | 0) { + break label$5 + } + $382(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($4_1 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + } + $126_1 = $4_1 + 76 | 0; + $127_1 = HEAP32[($4_1 + 120 | 0) >> 2] | 0; + $128_1 = HEAP32[($127_1 + 40 | 0) >> 2] | 0; + HEAP32[($127_1 + 40 | 0) >> 2] = $128_1 + 1 | 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 2] = $128_1; + $132_1 = HEAP32[($4_1 + 120 | 0) >> 2] | 0; + HEAP32[($132_1 + 40 | 0) >> 2] = (HEAP32[($132_1 + 40 | 0) >> 2] | 0) + 3 | 0; + $1657(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, $126_1 | 0); + $1657(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, $126_1 | 0); + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $156_1 = HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + break label$6; + } + $156_1 = 0; + } + $159_1 = 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 76 | 0) >> 2] = $156_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1656(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $159_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1656(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $159_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1048576 | 0)) { + break label$11 + } + $1657(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, $4_1 + 76 | 0 | 0); + label$12 : { + label$13 : { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + $204_1 = HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + break label$12; + } + $204_1 = 0; + } + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 80 | 0) >> 2] = $204_1; + HEAP8[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 96 | 0) >> 0] = 1; + break label$10; + } + label$14 : { + label$15 : { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $219_1 = HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + break label$14; + } + $219_1 = 0; + } + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 80 | 0) >> 2] = $219_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1656(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + } + label$16 : { + if (!((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1310(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1214(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + } + $247_1 = HEAP32[($4_1 + 120 | 0) >> 2] | 0; + $250_1 = (HEAP32[($247_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($247_1 + 44 | 0) >> 2] = $250_1; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 52 | 0) >> 2] = $250_1; + $252_1 = HEAP32[($4_1 + 120 | 0) >> 2] | 0; + $255_1 = (HEAP32[($252_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($252_1 + 44 | 0) >> 2] = $255_1; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] = $255_1; + $366(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$9; + }; + } + label$17 : { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1214(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, 0 | 0, $1217(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, 152 | 0, 25721 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + } + $276_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1213(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, $276_1 | 0, $276_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + $286_1 = $1222(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, $276_1 | 0, $276_1 | 0, $276_1 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 32 | 0) >> 2] = $286_1; + label$18 : { + label$19 : { + if (!((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != ($276_1 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + $1624(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + $303_1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[($303_1 + 4 | 0) >> 2] = HEAP32[($303_1 + 4 | 0) >> 2] | 0 | 64 | 0; + $309_1 = 24; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1297(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0, (64 << $309_1 | 0) >> $309_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $316_1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[($316_1 + 4 | 0) >> 2] = HEAP32[($316_1 + 4 | 0) >> 2] | 0 | ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) & 8 | 0) | 0; + label$20 : { + label$21 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($4_1 + 112 | 0) >> 2] = 7; + break label$20; + } + $328_1 = $4_1 + 32 | 0; + $3288(HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 80 | 0) | 0; + $335_1 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + HEAP32[($335_1 + 36 | 0) >> 2] = HEAP32[($335_1 + 36 | 0) >> 2] | 0 | 2 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $377_1 = 0; + i64toi32_i32$1 = $328_1; + HEAP32[i64toi32_i32$1 >> 2] = $377_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $377_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $328_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $377_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 36 | 0) >> 2] = 40; + HEAP32[($4_1 + 40 | 0) >> 2] = 39; + HEAP32[($4_1 + 44 | 0) >> 2] = 38; + $1549($328_1 | 0, HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) | 0; + } + break label$18; + } + $1139(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0); + } + label$22 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($4_1 + 112 | 0) >> 2] = 7; + } + $13(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0); + } + label$23 : { + if (!(HEAP32[($4_1 + 112 | 0) >> 2] | 0)) { + break label$23 + } + label$24 : { + if (HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$24 + } + $264(HEAP32[(HEAP32[($4_1 + 120 | 0) >> 2] | 0) >> 2] | 0 | 0, 7 | 0) | 0; + } + } + HEAP32[($4_1 + 124 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + } + $373_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + global$0 = $4_1 + 128 | 0; + return $373_1 | 0; + } + + function $1344($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $48_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1527(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (51 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$3; + } + label$5 : { + label$6 : while (1) { + if (!(((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (!($1344(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$6; + }; + } + } + $48_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 41; + HEAP32[($4_1 + 16 | 0) >> 2] = $48_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $48_1; + HEAP16[($4_1 + 28 | 0) >> 1] = 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $1547($4_1 + 8 | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAPU16[($4_1 + 28 | 0) >> 1] | 0) & 65535 | 0; + } + $55_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $55_1 | 0; + } + + function $1345($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $25_1 = 0, $34_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$4 + } + $25_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 1] | 0) << $25_1 | 0) >> $25_1 | 0 | 0) == (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + } + $34_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($34_1 + 4 | 0) >> 2] = (HEAP32[($34_1 + 4 | 0) >> 2] | 0) & -2 | 0; + } + label$5 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (169 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $1345(HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + $1345(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1346($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $342_1 = 0, $400_1 = 0, $481_1 = 0, $326_1 = 0, $194_1 = 0, $402_1 = 0, $443_1 = 0, $451_1 = 0, $619_1 = 0, $675_1 = 0, $718_1 = 0, $651_1 = 0, $723_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 176 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 168 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 164 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 160 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 156 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 152 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 168 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0; + HEAP32[($6_1 + 124 | 0) >> 2] = -1; + HEAP32[($6_1 + 120 | 0) >> 2] = 0; + HEAP32[($6_1 + 104 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 168 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 136 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 108 | 0) >> 2] = ((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 160 | 0) >> 2] | 0, 72) | 0; + HEAP32[($6_1 + 128 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 144 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if ((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 132 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$7 : { + if (!((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$8 : { + if (HEAP32[(HEAP32[($6_1 + 132 | 0) >> 2] | 0) >> 2] | 0) { + break label$8 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$9 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$10 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if ((HEAP32[(HEAP32[($6_1 + 136 | 0) >> 2] | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0) { + break label$11 + } + if (!(HEAP32[($6_1 + 156 | 0) >> 2] | 0)) { + break label$10 + } + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$12 : { + if (!((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$13 : { + if (!(HEAP32[($6_1 + 156 | 0) >> 2] | 0)) { + break label$13 + } + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$14 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$15 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + if (!((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$16 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0)) { + break label$16 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$17 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 32 | 0)) { + break label$17 + } + $194_1 = 1; + HEAP32[($6_1 + 120 | 0) >> 2] = $194_1; + label$18 : { + label$19 : { + if ((HEAP32[(HEAP32[($6_1 + 132 | 0) >> 2] | 0) >> 2] | 0 | 0) > ($194_1 | 0) & 1 | 0) { + break label$19 + } + if (HEAP32[($6_1 + 156 | 0) >> 2] | 0) { + break label$19 + } + if (HEAP32[((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$19 + } + if (!((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$18 + } + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + } + label$20 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + label$21 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$22 : { + label$23 : { + if (HEAP32[($6_1 + 156 | 0) >> 2] | 0) { + break label$23 + } + if ((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0) { + break label$23 + } + if (!((HEAP32[(HEAP32[($6_1 + 136 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$22 + } + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[($6_1 + 144 | 0) >> 2] | 0; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + label$26 : { + label$27 : { + if ((HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 9 | 0) { + break label$27 + } + label$28 : { + if (!((HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + if (((HEAPU8[(HEAP32[($6_1 + 140 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (133 | 0) & 1 | 0) { + break label$27 + } + } + if ((HEAP32[(HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0) { + break label$27 + } + if (!((HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$25; + }; + } + label$29 : { + if (!((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($6_1 + 68 | 0) >> 2] = 0; + label$30 : { + label$31 : while (1) { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$30 + } + label$32 : { + if ((HEAPU16[((((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 68 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) { + break label$32 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$31; + }; + } + } + } + $326_1 = 0; + HEAP32[((HEAP32[($6_1 + 168 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1283(HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0, 21 | 0, $326_1 | 0, $326_1 | 0, $326_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 168 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[($6_1 + 152 | 0) >> 2] | 0; + HEAP32[($6_1 + 144 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + label$33 : { + label$34 : while (1) { + if (!((HEAP32[($6_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$33 + } + $342_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 48 | 0) >> 2] = $342_1; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 32 | 0) >> 2] = $342_1; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 52 | 0) >> 2] = $342_1; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 60 | 0) >> 2] = $342_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1338(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0, $342_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP8[(HEAP32[($6_1 + 164 | 0) >> 2] | 0) >> 0] = 133; + label$35 : { + label$36 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) == ($342_1 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + break label$35; + } + HEAP32[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + label$37 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($6_1 + 164 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + } + label$38 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$38 + } + HEAP32[($6_1 + 172 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 144 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$34; + }; + } + $400_1 = 0; + $402_1 = HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 140 | 0) >> 2] = $402_1; + HEAP32[($6_1 + 144 | 0) >> 2] = $402_1; + $13(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $13(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $13(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] = $400_1; + HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] = $400_1; + HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 12 | 0) >> 2] = $400_1; + HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 20 | 0) >> 2] = $400_1; + label$39 : { + if (!((HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != ($400_1 | 0) & 1 | 0)) { + break label$39 + } + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$40 : { + label$41 : { + if (!((HEAP32[((HEAP32[($6_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$41 + } + label$42 : { + label$43 : { + if (!((HEAP32[((HEAP32[($6_1 + 168 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$43 + } + $443_1 = HEAP32[((HEAP32[($6_1 + 168 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$42; + } + $443_1 = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 44 | 0) >> 2] = $443_1; + HEAP32[((HEAP32[($6_1 + 48 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 260 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + break label$40; + } + $451_1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + HEAP32[($451_1 + 32 | 0) >> 2] = (HEAP32[($451_1 + 32 | 0) >> 2] | 0) + -1 | 0; + } + HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + } + HEAP32[($6_1 + 148 | 0) >> 2] = HEAP32[($6_1 + 164 | 0) >> 2] | 0; + label$44 : { + label$45 : while (1) { + if (!((HEAP32[($6_1 + 148 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$44 + } + HEAP8[($6_1 + 39 | 0) >> 0] = 0; + HEAP32[($6_1 + 132 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 132 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 136 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$46 : { + label$47 : { + if (!((HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$47 + } + HEAP8[($6_1 + 39 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0; + break label$46; + } + $481_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1222(HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0, $481_1 | 0, $481_1 | 0, $481_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + label$48 : { + if (!((HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0) == ($481_1 | 0) & 1 | 0)) { + break label$48 + } + break label$44; + } + HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + } + label$49 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$49 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1397(HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 40 | 0) >> 2] | 0) - 1 | 0 | 0, (HEAP32[($6_1 + 160 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + label$50 : { + if (!((HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$50 + } + break label$44; + } + HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 116 | 0) >> 2] = 0; + label$51 : { + label$52 : while (1) { + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$51 + } + $19(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[($6_1 + 116 | 0) >> 2] | 0) + (HEAP32[($6_1 + 160 | 0) >> 2] | 0) | 0, 72) | 0) + 48 | 0) >> 2] | 0 | 0); + $3288(((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[($6_1 + 116 | 0) >> 2] | 0) + (HEAP32[($6_1 + 160 | 0) >> 2] | 0) | 0, 72) | 0 | 0, ((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 116 | 0) >> 2] | 0, 72) | 0 | 0, 72 | 0) | 0; + HEAP32[($6_1 + 124 | 0) >> 2] = HEAP32[((((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 116 | 0) >> 2] | 0, 72) | 0) + 40 | 0) >> 2] | 0; + $3289(((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 116 | 0) >> 2] | 0, 72) | 0 | 0, 0 | 0, 72 | 0) | 0; + HEAP32[($6_1 + 116 | 0) >> 2] = (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + 1 | 0; + continue label$52; + }; + } + HEAP8[((((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 160 | 0) >> 2] | 0, 72) | 0) + 36 | 0) >> 0] = HEAPU8[($6_1 + 39 | 0) >> 0] | 0; + label$53 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$53 + } + if ((HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4194304 | 0) { + break label$53 + } + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 116 | 0) >> 2] = 0; + label$54 : { + label$55 : while (1) { + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$54 + } + HEAP16[((((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 116 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 1] = 0; + HEAP32[($6_1 + 116 | 0) >> 2] = (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + 1 | 0; + continue label$55; + }; + } + HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + } + $619_1 = 0; + HEAP32[($6_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 36 | 0) >> 2] = $619_1; + label$56 : { + if (!((HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0) > ($619_1 | 0) & 1 | 0)) { + break label$56 + } + $1636(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0); + } + label$57 : { + if (!((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$57 + } + label$58 : { + label$59 : { + if (!((HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$59 + } + $651_1 = $1197(HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0, 44 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 36 | 0) >> 2] = $651_1; + break label$58; + } + HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + } + } + label$60 : { + if ((HEAPU8[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$60 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $1661($6_1 + 8 | 0 | 0, HEAP32[($6_1 + 148 | 0) >> 2] | 0 | 0, 0 | 0); + } + $675_1 = HEAP32[($6_1 + 148 | 0) >> 2] | 0; + HEAP32[($675_1 + 4 | 0) >> 2] = HEAP32[($675_1 + 4 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0) | 0; + label$61 : { + if (!((HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$61 + } + HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 60 | 0) >> 2] = 0; + } + HEAP32[($6_1 + 116 | 0) >> 2] = 0; + label$62 : { + label$63 : while (1) { + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$62 + } + $1662(HEAP32[($6_1 + 148 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[($6_1 + 116 | 0) >> 2] | 0) + (HEAP32[($6_1 + 160 | 0) >> 2] | 0) | 0, 72) | 0 | 0); + HEAP32[($6_1 + 116 | 0) >> 2] = (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + 1 | 0; + continue label$63; + }; + } + HEAP32[($6_1 + 148 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($6_1 + 144 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$45; + }; + } + $718_1 = $6_1 + 72 | 0; + $1655($718_1 | 0, HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0); + $1549($718_1 | 0, HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) | 0; + $1139(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 172 | 0) >> 2] = 1; + } + $723_1 = HEAP32[($6_1 + 172 | 0) >> 2] | 0; + global$0 = $6_1 + 176 | 0; + return $723_1 | 0; + } + + function $1347($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $494_1 = 0, $6_1 = 0, $9_1 = 0, $376_1 = 0, $437_1 = 0, $14_1 = 0, $15_1 = 0, $19_1 = 0, $22_1 = 0, $137_1 = 0, $139_1 = 0, $203_1 = 0, $206_1 = 0, $234_1 = 0, $240_1 = 0, $269_1 = 0, $270_1 = 0, $279_1 = 0, $285_1 = 0, $304_1 = 0, $346_1 = 0, $349_1 = 0, $354_1 = 0, $410_1 = 0, $414_1 = 0, $415_1 = 0, $418_1 = 0, $419_1 = 0, $428_1 = 0, $471_1 = 0, $476_1 = 0, $493_1 = 0, $707_1 = 0, $727_1 = 0, $737_1 = 0, $43_1 = 0, $51_1 = 0, $209_1 = 0, $250_1 = 0, $310_1 = 0, $352_1 = 0, $449_1 = 0, $585_1 = 0, $663_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 256 | 0; + global$0 = $5_1; + $6_1 = 0; + $9_1 = $5_1 + 200 | 0; + HEAP32[($5_1 + 248 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 244 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 240 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 236 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 196 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 192 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 248 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 232 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $14_1 = HEAP32[($5_1 + 240 | 0) >> 2] | 0; + i64toi32_i32$2 = $14_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $707_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1; + HEAP32[i64toi32_i32$0 >> 2] = $707_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $15_1 = 24; + HEAP32[(i64toi32_i32$0 + $15_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $15_1 | 0) >> 2] | 0; + $19_1 = 16; + i64toi32_i32$2 = i64toi32_i32$2 + $19_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $727_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1 + $19_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $727_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $22_1 = 8; + i64toi32_i32$2 = $14_1 + $22_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $737_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1 + $22_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $737_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if ((HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + } + $43_1 = HEAP32[($5_1 + 248 | 0) >> 2] | 0; + $51_1 = (HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 31897 : 31984; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1616((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$5_1 >> 2] = $51_1; + $349($43_1 | 0, 31942 | 0, $5_1 | 0); + HEAP32[($5_1 + 236 | 0) >> 2] = 1; + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(((HEAPU8[($5_1 + 200 | 0) >> 0] | 0) & 255 | 0 | 0) == (12 | 0) & 1 | 0)) { + break label$5 + } + $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP8[($5_1 + 200 | 0) >> 0] = 14; + } + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1024 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1663(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, $5_1 + 200 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($5_1 + 236 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$7 + } + break label$2; + } + HEAP32[($5_1 + 236 | 0) >> 2] = 0; + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0)) { + break label$9 + } + if (!($1664(HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + $1665(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, $5_1 + 200 | 0 | 0); + break label$8; + } + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1666(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 240 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 252 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$11 : { + if (!((HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + $1352(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, 1 | 0, 31990 | 0, 0 | 0); + $1352(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, 1 | 0, 32005 | 0, 0 | 0); + } + $137_1 = (HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) + -132 | 0; + label$12 : { + label$13 : { + switch ($137_1 | 0) { + case 1: + $139_1 = 0; + HEAP32[($5_1 + 188 | 0) >> 2] = $139_1; + HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1210(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, $5_1 + 200 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] = $139_1; + label$16 : { + if (!(HEAP32[($5_1 + 236 | 0) >> 2] | 0)) { + break label$16 + } + break label$2; + } + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$17 : { + if (!(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$17 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1288(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$18 + } + $367(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 153 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + } + $1352(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, 1 | 0, 29932 | 0, 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1210(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, $5_1 + 200 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 196 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + $203_1 = 16; + $206_1 = 16; + $209_1 = $1667(((HEAPU16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $203_1 | 0) >> $203_1 | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $206_1 | 0) >> $206_1 | 0 | 0) | 0; + HEAP16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 2 | 0) >> 1] = $209_1; + label$19 : { + if (!((HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + if (!($1612(HEAP32[((HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 184 | 0 | 0) | 0)) { + break label$19 + } + if (!((HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$19 + } + $234_1 = 16; + i64toi32_i32$0 = HEAP32[($5_1 + 184 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $240_1 = 16; + if (!((((HEAPU16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $234_1 | 0) >> $234_1 | 0 | 0) > ((($937(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0) << $240_1 | 0) >> $240_1 | 0 | 0) & 1 | 0)) { + break label$19 + } + i64toi32_i32$0 = HEAP32[($5_1 + 184 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $250_1 = $937(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 2 | 0) >> 1] = $250_1; + } + label$20 : { + if (!(HEAP32[($5_1 + 188 | 0) >> 2] | 0)) { + break label$20 + } + $1277(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0); + } + break label$12; + case 0: + case 2: + HEAP8[($5_1 + 179 | 0) >> 0] = 0; + HEAP32[($5_1 + 172 | 0) >> 2] = 1; + label$21 : { + label$22 : { + if (!(((HEAPU8[($5_1 + 200 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($5_1 + 180 | 0) >> 2] = HEAP32[($5_1 + 204 | 0) >> 2] | 0; + break label$21; + } + $269_1 = HEAP32[($5_1 + 248 | 0) >> 2] | 0; + $270_1 = HEAP32[($269_1 + 40 | 0) >> 2] | 0; + HEAP32[($269_1 + 40 | 0) >> 2] = $270_1 + 1 | 0; + HEAP32[($5_1 + 180 | 0) >> 2] = $270_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $279_1 = $1632(HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($279_1 + 4 | 0) >> 2] = HEAP32[($279_1 + 4 | 0) >> 2] | 0 | 32 | 0; + } + $285_1 = $5_1 + 136 | 0; + $1298($285_1 | 0, HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1210(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, $285_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!(HEAP32[($5_1 + 236 | 0) >> 2] | 0)) { + break label$23 + } + break label$2; + } + label$24 : { + label$25 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (134 | 0) & 1 | 0)) { + break label$25 + } + HEAP8[($5_1 + 179 | 0) >> 0] = 2; + break label$24; + } + HEAP8[($5_1 + 179 | 0) >> 0] = 1; + } + $304_1 = 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] = $304_1; + HEAP32[($5_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] = $304_1; + HEAP8[($5_1 + 136 | 0) >> 0] = HEAPU8[($5_1 + 179 | 0) >> 0] | 0; + $310_1 = HEAP32[($5_1 + 248 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1616((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $1352($310_1 | 0, 1 | 0, 32024 | 0, $5_1 + 32 | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1210(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, $5_1 + 136 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 196 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + label$26 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (132 | 0) & 1 | 0)) { + break label$26 + } + $346_1 = 16; + $349_1 = 16; + $352_1 = $1667(((HEAPU16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $346_1 | 0) >> $346_1 | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $349_1 | 0) >> $349_1 | 0 | 0) | 0; + HEAP16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 2 | 0) >> 1] = $352_1; + } + $354_1 = 0; + $18(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 8 | 0) >> 2] = $354_1; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] = $354_1; + label$27 : { + if (!(((HEAPU8[($5_1 + 200 | 0) >> 0] | 0) & 255 | 0 | 0) != (HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + if ((HEAPU8[((HEAP32[($5_1 + 192 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$27 + } + $376_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + $1359(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1296(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + $1370(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, $376_1 | 0, $376_1 | 0, $5_1 + 200 | 0 | 0, HEAP32[($5_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 132 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 116 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, $376_1 | 0) | 0; + } + break label$12; + default: + break label$13; + }; + } + $410_1 = $5_1 + 64 | 0; + $414_1 = HEAP32[($5_1 + 248 | 0) >> 2] | 0; + $415_1 = HEAP32[($414_1 + 40 | 0) >> 2] | 0; + HEAP32[($414_1 + 40 | 0) >> 2] = $415_1 + 1 | 0; + HEAP32[($5_1 + 120 | 0) >> 2] = $415_1; + $418_1 = HEAP32[($5_1 + 248 | 0) >> 2] | 0; + $419_1 = HEAP32[($418_1 + 40 | 0) >> 2] | 0; + HEAP32[($418_1 + 40 | 0) >> 2] = $419_1 + 1 | 0; + HEAP32[($5_1 + 116 | 0) >> 2] = $419_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + $428_1 = $1632(HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($428_1 + 4 | 0) >> 2] = HEAP32[($428_1 + 4 | 0) >> 2] | 0 | 32 | 0; + $1298($410_1 | 0, 1 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1210(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, $410_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + label$28 : { + if (!(HEAP32[($5_1 + 236 | 0) >> 2] | 0)) { + break label$28 + } + break label$2; + } + $437_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0, $437_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] = $437_1; + HEAP32[($5_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] = $437_1; + HEAP32[($5_1 + 68 | 0) >> 2] = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $449_1 = HEAP32[($5_1 + 248 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1616((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $1352($449_1 | 0, 1 | 0, 32024 | 0, $5_1 + 16 | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1210(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, $5_1 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 196 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + $471_1 = 16; + $476_1 = 16; + label$29 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $471_1 | 0) >> $471_1 | 0 | 0) > (((HEAPU16[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $476_1 | 0) >> $476_1 | 0 | 0) & 1 | 0)) { + break label$29 + } + HEAP16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 2 | 0) >> 1] = HEAPU16[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + } + $18(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + label$30 : { + if (!(HEAP32[($5_1 + 236 | 0) >> 2] | 0)) { + break label$30 + } + break label$12; + } + $493_1 = 116; + $494_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + $1359(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 127 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + $353(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $494_1 | 0) | 0; + $1383(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + $1370(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $494_1 | 0, $494_1 | 0, $5_1 + 200 | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, $493_1 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0, $494_1 | 0) | 0; + $366(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, $493_1 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $494_1 | 0) | 0; + } + label$31 : { + if (!((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$31 + } + $1348(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0); + } + } + label$32 : { + if (!(HEAP32[((HEAP32[($5_1 + 248 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$32 + } + break label$2; + } + label$33 : { + if (!((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0)) { + break label$33 + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1497(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$34 : { + if ((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$34 + } + HEAP32[($5_1 + 236 | 0) >> 2] = 7; + break label$2; + } + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 20 | 0; + label$35 : { + label$36 : while (1) { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$35 + } + $585_1 = $1668(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] = $585_1; + label$37 : { + if (!((0 | 0) == (HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 192 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 56 | 0) >> 2] = (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0; + continue label$36; + }; + } + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[($5_1 + 244 | 0) >> 2] | 0; + label$38 : { + label$39 : while (1) { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$38 + } + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + label$40 : { + label$41 : while (1) { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$40 + } + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$42 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$42 + } + break label$40; + } + $1495(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + $357(HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $1386(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0, -9 | 0); + HEAP32[(((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + HEAP32[($5_1 + 56 | 0) >> 2] = (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$41; + }; + } + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$39; + }; + } + $838(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0); + } + } + HEAP32[((HEAP32[($5_1 + 240 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 212 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 240 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 216 | 0) >> 2] | 0; + $1139(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 252 | 0) >> 2] = HEAP32[($5_1 + 236 | 0) >> 2] | 0; + } + $663_1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + global$0 = $5_1 + 256 | 0; + return $663_1 | 0; + } + + function $1348($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = $1669(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] = $5_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $1349($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $10_1 = 0, $16_1 = 0, i64toi32_i32$0 = 0, $43_1 = 0, $20_1 = 0, $40_1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + label$1 : while (1) { + $10_1 = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $10_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $10_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $10_1; + $1670($4_1 + 40 | 0 | 0, HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + label$2 : { + if (!(HEAP32[($4_1 + 44 | 0) >> 2] | 0)) { + break label$2 + } + $16_1 = $4_1 + 8 | 0; + $20_1 = 0; + i64toi32_i32$0 = 0; + $43_1 = 0; + i64toi32_i32$1 = $16_1; + HEAP32[i64toi32_i32$1 >> 2] = $43_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $43_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $43_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 43; + HEAP32[($4_1 + 16 | 0) >> 2] = 42; + HEAP32[($4_1 + 20 | 0) >> 2] = $20_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $20_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $4_1 + 40 | 0; + $1547($16_1 | 0, HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + $13(HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + (HEAP32[($4_1 + 48 | 0) >> 2] | 0) | 0; + } + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + continue label$1 + } + break label$1; + }; + $40_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $40_1 | 0; + } + + function $1350($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + $1672(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0); + $9_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $9_1 | 0; + } + + function $1351($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $83_1 = 0, $99_1 = 0, $125_1 = 0, $65_1 = 0, $147_1 = 0, $153_1 = 0, $158_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0)) { + break label$3 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$5; + }; + } + label$7 : { + if (!((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + label$8 : { + label$9 : while (1) { + if (!(((HEAPU8[(HEAP32[($7_1 + 48 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$8 + } + $65_1 = $1351(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + $65_1 | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$9; + }; + } + label$10 : { + if (!(HEAP32[($7_1 + 40 | 0) >> 2] | 0)) { + break label$10 + } + label$11 : { + if (!(((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $83_1 = 16; + if (!((((HEAPU16[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 1] | 0) << $83_1 | 0) >> $83_1 | 0 | 0) != (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + label$12 : { + if (!((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$12 + } + $99_1 = 16; + if (!((((HEAPU16[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 1] | 0) << $99_1 | 0) >> $99_1 | 0 | 0) != (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + label$13 : { + if (!($1673(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$13 + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + $125_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1310(HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, $125_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $1345(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, -1 | 0); + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = $125_1; + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1674($7_1 + 8 | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + label$17 : { + if (!((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0)) { + break label$17 + } + $147_1 = $1240(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] = $147_1; + break label$16; + } + $153_1 = $1240(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] = $153_1; + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$15; + }; + } + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + } + $158_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $158_1 | 0; + } + + function $1352($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP8[($6_1 + 27 | 0) >> 0] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 203 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $119(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + $1278(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 175 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, -7 | 0) | 0; + label$2 : { + if (!(((HEAPU8[($6_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 216 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1353($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 19 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + return; + } + + function $1354($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $99_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + label$6 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 4 | 0) & 1 | 0) & 255 | 0)) { + break label$6 + } + break label$4; + } + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$4; + } + label$8 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$4; + } + label$9 : { + if (!($87(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + break label$4; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$10 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + break label$4; + } + label$11 : { + label$12 : { + if ($1529(0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, -1 | 0) | 0) { + break label$12 + } + if (!($1529(0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$11 + } + } + break label$4; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 72 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $99_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $99_1 | 0; + } + + function $1355($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $1467(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $6_1), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1356($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $101_1 = 0, $107_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$5 : { + if (!((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[(((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$8 : { + if (!(((HEAPU8[((((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + $101_1 = $1529(0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $101_1; + label$9 : { + if (!$101_1) { + break label$9 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $107_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $107_1 | 0; + } + + function $1357($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $44_1 = 0, $68_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1497(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 28 | 0) >> 2] | 0) - (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 36 | 0) >> 2] | 0) << 4 | 0) | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $44_1 = $1675(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) + (((HEAP32[($6_1 + 12 | 0) >> 2] | 0) - (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = $44_1; + HEAP8[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) - (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0) | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0; + continue label$3; + }; + } + } + $68_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $68_1 | 0; + } + + function $1358($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $7_1 = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $7_1; + return $7_1 | 0; + } + + function $1359($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, $24_1 = 0, i64toi32_i32$0 = 0, $93_1 = 0, $6_1 = 0, $21_1 = 0, $47_1 = 0, $53_1 = 0, $65_1 = 0, $90_1 = 0, $95_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $21_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $24_1 = (HEAP32[($21_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($21_1 + 44 | 0) >> 2] = $24_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $24_1; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $24_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!($1612(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 4 | 0 | 0) | 0)) { + break label$4 + } + $366(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 69 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + label$5 : { + label$6 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$6 + } + $1282(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + break label$5; + } + label$7 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$7 + } + $47_1 = 16; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $53_1 = 16; + if (!((((HEAPU16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $47_1 | 0) >> $47_1 | 0 | 0) > ((($937(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) << $53_1 | 0) >> $53_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $63_1 = $937(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 2 | 0) >> 1] = $63_1; + $65_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($65_1 + 4 | 0) >> 2] = HEAP32[($65_1 + 4 | 0) >> 2] | 0 | 16384 | 0; + } + } + break label$3; + } + $1281(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 15 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + } + label$8 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $90_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $93_1 = (HEAP32[($90_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($90_1 + 44 | 0) >> 2] = $93_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $93_1; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = $93_1; + $95_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($95_1 + 44 | 0) >> 2] = (HEAP32[($95_1 + 44 | 0) >> 2] | 0) + 1 | 0; + $1281(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 15 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 153 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1360($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 7 | 0) >> 0] = $2_1; + $6_1 = HEAPU8[($5_1 + 7 | 0) >> 0] | 0; + (wasm2js_i32$0 = $1467(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $6_1), HEAP8[wasm2js_i32$0 >> 0] = wasm2js_i32$1; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1361($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $146_1 = 0, $60_1 = 0, $75_1 = 0, $78_1 = 0, $93_1 = 0, $96_1 = 0, $99_1 = 0, $101_1 = 0, $104_1 = 0, $106_1 = 0, $107_1 = 0, $153_1 = 0, $154_1 = 0, $163_1 = 0, $178_1 = 0, $226_1 = 0, $227_1 = 0, $231_1 = 0, $257_1 = 0, $258_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $6_1 = 98; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $6_1 | 0, (HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $6_1 | 0, (HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 2 | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $6_1 | 0, (HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 3 | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 68 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $60_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($60_1 + 44 | 0) >> 2] = (HEAP32[($60_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + $367(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) - 1 | 0 | 0) | 0; + } + $75_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $78_1 = (HEAP32[($75_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($75_1 + 44 | 0) >> 2] = $78_1; + HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 84 | 0) >> 2] = $78_1; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 69 | 0, 1 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) | 0; + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $93_1 = 69; + $96_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $99_1 = (HEAP32[($96_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($96_1 + 44 | 0) >> 2] = $99_1; + HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 88 | 0) >> 2] = $99_1; + $101_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $104_1 = (HEAP32[($101_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($101_1 + 44 | 0) >> 2] = $104_1; + HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 92 | 0) >> 2] = $104_1; + $106_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $107_1 = HEAP32[($106_1 + 40 | 0) >> 2] | 0; + HEAP32[($106_1 + 40 | 0) >> 2] = $107_1 + 1 | 0; + HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 60 | 0) >> 2] = $107_1; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $93_1 | 0, 1 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $93_1 | 0, 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 98 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + break label$2; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + label$4 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4096 | 0)) { + break label$6 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (90 | 0) & 1 | 0)) { + break label$6 + } + $146_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1357(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $146_1 | 0, $146_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $153_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $154_1 = HEAP32[($153_1 + 40 | 0) >> 2] | 0; + HEAP32[($153_1 + 40 | 0) >> 2] = $154_1 + 1 | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] = $154_1; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $163_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($163_1 + 44 | 0) >> 2] = (HEAP32[($163_1 + 44 | 0) >> 2] | 0) + 3 | 0; + label$7 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != ($146_1 | 0) & 1 | 0)) { + break label$7 + } + $178_1 = 24; + if (!((((HEAPU8[((HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $178_1 | 0) >> $178_1 | 0 | 0) == (105 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] = 1; + } + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + $1420(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, -9 | 0); + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + break label$5; + } + label$8 : { + label$9 : { + label$10 : { + if ((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (32240 | 0) & 1 | 0) { + break label$10 + } + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (32250 | 0) & 1 | 0)) { + break label$9 + } + } + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $226_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $227_1 = HEAP32[($226_1 + 40 | 0) >> 2] | 0; + HEAP32[($226_1 + 40 | 0) >> 2] = $227_1 + 1 | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] = $227_1; + $231_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($231_1 + 44 | 0) >> 2] = (HEAP32[($231_1 + 44 | 0) >> 2] | 0) + 2 | 0; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 98 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + break label$8; + } + label$11 : { + label$12 : { + if ((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (28807 | 0) & 1 | 0) { + break label$12 + } + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (28812 | 0) & 1 | 0)) { + break label$11 + } + } + $257_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $258_1 = HEAP32[($257_1 + 40 | 0) >> 2] | 0; + HEAP32[($257_1 + 40 | 0) >> 2] = $258_1 + 1 | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] = $258_1; + $366(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 98 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + } + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$4; + }; + } + global$0 = $4_1 + 48 | 0; + return; + } + + function $1362($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $1058_1 = 0, i64toi32_i32$4 = 0, $83_1 = 0, $84_1 = 0, $1056_1 = 0, $135_1 = 0, $1059$hi = 0, $1063$hi = 0, $1075$hi = 0, $1081$hi = 0, $1092$hi = 0, $1099$hi = 0, $13_1 = 0, $71_1 = 0, $107_1 = 0, $123_1 = 0, $196_1 = 0, $220_1 = 0, $1061$hi = 0, $277_1 = 0, $307_1 = 0, $334_1 = 0, $358_1 = 0, $363_1 = 0, $1064$hi = 0, $1065$hi = 0, $1067$hi = 0, $1072$hi = 0, $1076$hi = 0, $1077$hi = 0, $1079$hi = 0, $1082$hi = 0, $1083$hi = 0, $1085$hi = 0, $508_1 = 0, $1087$hi = 0, $1088$hi = 0, $1089$hi = 0, $1093$hi = 0, $1094$hi = 0, $1096$hi = 0, $543_1 = 0, $591_1 = 0, $603_1 = 0, $607_1 = 0, $726_1 = 0, $769_1 = 0, $1101$hi = 0, $1103$hi = 0, $1104$hi = 0, $85_1 = 0, $86_1 = 0, $855_1 = 0, $880_1 = 0, $881_1 = 0, $61_1 = 0, $2008_1 = 0, $1072_1 = 0, $2030$hi = 0, $2034_1 = 0, $1076_1 = 0, $2133_1 = 0, $1082_1 = 0, $2190_1 = 0, $1089_1 = 0, $2269$hi = 0, $2273_1 = 0, $1093_1 = 0, $2303_1 = 0, $2818_1 = 0, $948_1 = 0, $1015_1 = 0, $3361 = 0, $1037_1 = 0, $1053_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 224 | 0; + global$0 = $9_1; + $13_1 = $9_1 + 136 | 0; + HEAP32[($9_1 + 216 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 212 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 208 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 204 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 200 | 0) >> 2] = $4_1; + HEAP16[($9_1 + 198 | 0) >> 1] = $5_1; + HEAP32[($9_1 + 192 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 176 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 216 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP8[($9_1 + 111 | 0) >> 0] = 0; + HEAP32[($9_1 + 116 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 216 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $1056_1 = 0; + i64toi32_i32$1 = $13_1; + HEAP32[i64toi32_i32$1 >> 2] = $1056_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1056_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $13_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1056_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!((HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[(HEAP32[($9_1 + 204 | 0) >> 2] | 0) >> 2] | 0 | 0) >= (64 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($9_1 + 204 | 0) >> 2] = 0; + } + HEAP32[($9_1 + 144 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + label$2 : { + if (!(((HEAPU16[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$2 + } + HEAP16[($9_1 + 198 | 0) >> 1] = ((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & -257 | 0; + } + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[($9_1 + 212 | 0) >> 2] | 0) >> 2] | 0 | 0) > (64 | 0) & 1 | 0)) { + break label$4 + } + $61_1 = HEAP32[($9_1 + 216 | 0) >> 2] | 0; + HEAP32[$9_1 >> 2] = 64; + $349($61_1 | 0, 32262 | 0, $9_1 | 0); + HEAP32[($9_1 + 220 | 0) >> 2] = 0; + break label$3; + } + label$5 : { + label$6 : { + if (!(((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$6 + } + $71_1 = 1; + break label$5; + } + $71_1 = HEAP32[(HEAP32[($9_1 + 212 | 0) >> 2] | 0) >> 2] | 0; + } + HEAP32[($9_1 + 184 | 0) >> 2] = $71_1; + HEAP32[($9_1 + 188 | 0) >> 2] = ((Math_imul((HEAP32[($9_1 + 184 | 0) >> 2] | 0) - 1 | 0, 88) + 840 | 0) + 7 | 0) & -8 | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $365(HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 188 | 0) >> 2] | 0) + 72 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + $13(HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 180 | 0) >> 2] = 0; + break label$7; + } + $107_1 = -1; + HEAP32[(HEAP32[($9_1 + 180 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 216 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($9_1 + 212 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($9_1 + 208 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($9_1 + 200 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 24 | 0) >> 2] = $107_1; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 20 | 0) >> 2] = $107_1; + HEAP8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 44 | 0) >> 0] = HEAP32[($9_1 + 184 | 0) >> 2] | 0; + $123_1 = $1358(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 28 | 0) >> 2] = $123_1; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 32 | 0) >> 2] = $123_1; + HEAP16[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 40 | 0) >> 1] = HEAPU16[($9_1 + 198 | 0) >> 1] | 0; + HEAP16[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 42 | 0) >> 1] = HEAP32[($9_1 + 192 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 216 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0; + $135_1 = (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 45 | 0; + i64toi32_i32$0 = 0; + $1058_1 = 0; + i64toi32_i32$1 = $135_1; + HEAP8[i64toi32_i32$1 >> 0] = $1058_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $1058_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $1058_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $1058_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $83_1 = i64toi32_i32$1 + 31 | 0; + $84_1 = 0; + HEAP8[$83_1 >> 0] = $84_1; + HEAP8[($83_1 + 1 | 0) >> 0] = $84_1 >>> 8 | 0; + HEAP8[($83_1 + 2 | 0) >> 0] = $84_1 >>> 16 | 0; + HEAP8[($83_1 + 3 | 0) >> 0] = $84_1 >>> 24 | 0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP8[i64toi32_i32$1 >> 0] = $1058_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $1058_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $1058_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $1058_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + i64toi32_i32$1 = $135_1 + 16 | 0; + HEAP8[i64toi32_i32$1 >> 0] = $1058_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $1058_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $1058_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $1058_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + i64toi32_i32$1 = $135_1 + 8 | 0; + HEAP8[i64toi32_i32$1 >> 0] = $1058_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $1058_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $1058_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $1058_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $3289((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 752 | 0 | 0, 0 | 0, Math_imul(HEAP32[($9_1 + 184 | 0) >> 2] | 0, 88) + 72 | 0 | 0) | 0; + HEAP32[($9_1 + 132 | 0) >> 2] = (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 488 | 0; + HEAP32[($9_1 + 136 | 0) >> 2] = HEAP32[($9_1 + 180 | 0) >> 2] | 0; + HEAP32[($9_1 + 140 | 0) >> 2] = (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 80 | 0; + HEAP32[($9_1 + 148 | 0) >> 2] = (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + (HEAP32[($9_1 + 188 | 0) >> 2] | 0) | 0; + $1676(HEAP32[($9_1 + 148 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($9_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + $1677((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 80 | 0 | 0, HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0); + $1678((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 80 | 0 | 0, HEAP32[($9_1 + 208 | 0) >> 2] | 0 | 0, 44 & 255 | 0 | 0); + label$9 : { + label$10 : { + if (HEAP32[($9_1 + 184 | 0) >> 2] | 0) { + break label$10 + } + label$11 : { + if (!((HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 45 | 0) >> 0] = HEAP32[(HEAP32[($9_1 + 204 | 0) >> 2] | 0) >> 2] | 0; + } + label$12 : { + if (!(((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$12 + } + HEAP8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 47 | 0) >> 0] = 1; + } + $196_1 = 0; + $1352(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, $196_1 | 0, 32290 | 0, $196_1 | 0); + break label$9; + } + HEAP32[($9_1 + 120 | 0) >> 2] = 0; + label$13 : while (1) { + $1679(HEAP32[($9_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($9_1 + 120 | 0) >> 2] | 0, 72) | 0) + 40 | 0) >> 2] | 0 | 0); + $1680(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($9_1 + 120 | 0) >> 2] | 0, 72) | 0 | 0, (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 80 | 0 | 0); + $220_1 = (HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($9_1 + 120 | 0) >> 2] = $220_1; + if (($220_1 | 0) < (HEAP32[(HEAP32[($9_1 + 212 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$13 + } + break label$13; + }; + } + $1681(HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 80 | 0 | 0); + label$14 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + break label$7; + } + HEAP32[($9_1 + 120 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($9_1 + 104 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($9_1 + 120 | 0) >> 2] | 0, 48) | 0; + label$17 : { + label$18 : { + if (!(((HEAPU16[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$18 + } + break label$17; + } + i64toi32_i32$0 = 0; + $1059$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($9_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $1061$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1059$hi; + i64toi32_i32$1 = $1061$hi; + i64toi32_i32$1 = $1059$hi; + i64toi32_i32$1 = $1061$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $1059$hi; + i64toi32_i32$3 = 0; + label$19 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$19 + } + label$20 : { + if (!(HEAP32[($9_1 + 184 | 0) >> 2] | 0)) { + break label$20 + } + if (!($1682(HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0)) { + break label$19 + } + } + $1390(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, 16 | 0); + $277_1 = HEAP32[($9_1 + 104 | 0) >> 2] | 0; + HEAP16[($277_1 + 10 | 0) >> 1] = (HEAPU16[($277_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + } + } + HEAP32[($9_1 + 120 | 0) >> 2] = (HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + label$21 : { + if (!(((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$21 + } + label$22 : { + label$23 : { + if (!($1683(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 80 | 0 | 0, HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0) | 0)) { + break label$23 + } + HEAP8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 47 | 0) >> 0] = 1; + break label$22; + } + label$24 : { + if (!((HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$24 + } + $307_1 = HEAP32[($9_1 + 180 | 0) >> 2] | 0; + HEAP16[($307_1 + 40 | 0) >> 1] = (HEAPU16[($307_1 + 40 | 0) >> 1] | 0) & 65535 | 0 | 128 | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($9_1 + 200 | 0) >> 2] | 0; + } + } + } + label$25 : { + label$26 : { + if ((HEAP32[($9_1 + 184 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0) { + break label$26 + } + if ($1684($9_1 + 136 | 0 | 0) | 0) { + break label$25 + } + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1685($9_1 + 136 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$27 : { + if (!(HEAP32[($9_1 + 112 | 0) >> 2] | 0)) { + break label$27 + } + break label$7; + } + $334_1 = 16; + $1686(HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0, (0 << $334_1 | 0) >> $334_1 | 0 | 0) | 0; + label$28 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$28 + } + break label$7; + } + label$29 : { + if (!((HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$29 + } + $358_1 = 16; + $363_1 = 16; + $1686(HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0, (((((HEAPU16[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) << $358_1 | 0) >> $358_1 | 0) + 1 | 0) << $363_1 | 0) >> $363_1 | 0 | 0) | 0; + label$30 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$30 + } + break label$7; + } + } + } + label$31 : { + if (!((HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$31 + } + i64toi32_i32$2 = 0; + $1063$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($9_1 + 116 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $1064$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1065$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1064$hi; + i64toi32_i32$1 = $1065$hi; + i64toi32_i32$1 = $1064$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $1065$hi; + i64toi32_i32$0 = 4096; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $1067$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1063$hi; + i64toi32_i32$2 = $1067$hi; + i64toi32_i32$2 = $1063$hi; + i64toi32_i32$2 = $1067$hi; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + i64toi32_i32$3 = $1063$hi; + i64toi32_i32$0 = 0; + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$31 + } + i64toi32_i32$1 = -1; + i64toi32_i32$2 = HEAP32[($9_1 + 180 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$1; + } + label$32 : { + label$33 : { + if (HEAP32[((HEAP32[($9_1 + 216 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$33 + } + if (!((HEAPU8[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$32 + } + } + break label$7; + } + i64toi32_i32$1 = -1; + i64toi32_i32$2 = $9_1; + HEAP32[($9_1 + 168 | 0) >> 2] = -1; + HEAP32[($9_1 + 172 | 0) >> 2] = i64toi32_i32$1; + label$34 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$34 + } + if (!((HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$34 + } + if (((HEAPU16[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0) { + break label$34 + } + i64toi32_i32$1 = $1687(HEAP32[($9_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $2008_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $2008_1; + HEAP32[($9_1 + 92 | 0) >> 2] = i64toi32_i32$2; + label$35 : { + if (!((HEAP32[($9_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$35 + } + i64toi32_i32$2 = $1687(HEAP32[($9_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 144 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1072_1 = i64toi32_i32$2; + $1072$hi = i64toi32_i32$1; + i64toi32_i32$0 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + $2030$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1072$hi; + i64toi32_i32$2 = $2030$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $1072$hi; + i64toi32_i32$3 = $1072_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $2034_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $9_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $2034_1; + HEAP32[($9_1 + 92 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($9_1 + 100 | 0) >> 2] = ((HEAPU8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + label$36 : { + label$37 : while (1) { + if (!((HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0) >= (1 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[($9_1 + 124 | 0) >> 2] = HEAP32[((((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 752 | 0) + Math_imul(HEAP32[($9_1 + 100 | 0) >> 2] | 0, 88) | 0) + 72 | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = ((HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0, 72) | 0; + label$38 : { + label$39 : { + if (((HEAPU8[((HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0) { + break label$39 + } + break label$38; + } + label$40 : { + if (((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0) { + break label$40 + } + if ((HEAP32[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 4096 | 0) { + break label$40 + } + break label$38; + } + i64toi32_i32$1 = 0; + $1075$hi = i64toi32_i32$1; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + $1076_1 = i64toi32_i32$1; + $1076$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $1077$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1076$hi; + i64toi32_i32$1 = $1077$hi; + $2133_1 = i64toi32_i32$0; + i64toi32_i32$1 = $1076$hi; + i64toi32_i32$2 = $1076_1; + i64toi32_i32$0 = $1077$hi; + i64toi32_i32$3 = $2133_1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $1079$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1075$hi; + i64toi32_i32$0 = $1079$hi; + i64toi32_i32$0 = $1075$hi; + i64toi32_i32$0 = $1079$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $1075$hi; + i64toi32_i32$3 = 0; + label$41 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$41 + } + break label$38; + } + HEAP32[($9_1 + 80 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 48) | 0; + HEAP32[($9_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$42 : { + label$43 : while (1) { + if (!((HEAP32[($9_1 + 84 | 0) >> 2] | 0) >>> 0 < (HEAP32[($9_1 + 80 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$42 + } + i64toi32_i32$1 = 0; + $1081$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $1082_1 = i64toi32_i32$1; + $1082$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $1083$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1082$hi; + i64toi32_i32$1 = $1083$hi; + $2190_1 = i64toi32_i32$0; + i64toi32_i32$1 = $1082$hi; + i64toi32_i32$3 = $1082_1; + i64toi32_i32$0 = $1083$hi; + i64toi32_i32$2 = $2190_1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $1085$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1081$hi; + i64toi32_i32$0 = $1085$hi; + i64toi32_i32$0 = $1081$hi; + i64toi32_i32$0 = $1085$hi; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $1081$hi; + i64toi32_i32$2 = 0; + label$44 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$44 + } + label$45 : { + label$46 : { + if (!((HEAP32[((HEAP32[(HEAP32[($9_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$46 + } + $508_1 = 16; + if (!((((HEAPU16[((HEAP32[(HEAP32[($9_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 36 | 0) >> 1] | 0) << $508_1 | 0) >> $508_1 | 0 | 0) != (HEAP32[((HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$45 + } + } + break label$42; + } + } + HEAP32[($9_1 + 84 | 0) >> 2] = (HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 48 | 0; + continue label$43; + }; + } + label$47 : { + if (!((HEAP32[($9_1 + 84 | 0) >> 2] | 0) >>> 0 < (HEAP32[($9_1 + 80 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$47 + } + break label$38; + } + i64toi32_i32$2 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $1087$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $1088$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1087$hi; + i64toi32_i32$0 = $1088$hi; + i64toi32_i32$0 = $1087$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $1088$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0; + $1089_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + $1089$hi = i64toi32_i32$1; + i64toi32_i32$0 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 172 | 0) >> 2] | 0; + $2269$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1089$hi; + i64toi32_i32$2 = $2269$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $1089$hi; + i64toi32_i32$3 = $1089_1; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $2273_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $9_1; + HEAP32[($9_1 + 168 | 0) >> 2] = $2273_1; + HEAP32[($9_1 + 172 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($9_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$48 : { + label$49 : while (1) { + if (!((HEAP32[($9_1 + 84 | 0) >> 2] | 0) >>> 0 < (HEAP32[($9_1 + 80 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$48 + } + i64toi32_i32$1 = 0; + $1092$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $1093_1 = i64toi32_i32$1; + $1093$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $1094$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1093$hi; + i64toi32_i32$1 = $1094$hi; + $2303_1 = i64toi32_i32$0; + i64toi32_i32$1 = $1093$hi; + i64toi32_i32$2 = $1093_1; + i64toi32_i32$0 = $1094$hi; + i64toi32_i32$3 = $2303_1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $1096$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1092$hi; + i64toi32_i32$0 = $1096$hi; + i64toi32_i32$0 = $1092$hi; + i64toi32_i32$0 = $1096$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $1092$hi; + i64toi32_i32$3 = 0; + label$50 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$50 + } + $543_1 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + HEAP16[($543_1 + 10 | 0) >> 1] = (HEAPU16[($543_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + } + HEAP32[($9_1 + 84 | 0) >> 2] = (HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 48 | 0; + continue label$49; + }; + } + label$51 : { + if (!((HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0) != (((HEAPU8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$51 + } + HEAP32[($9_1 + 72 | 0) >> 2] = Math_imul((((HEAPU8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0) - 1 | 0) - (HEAP32[($9_1 + 100 | 0) >> 2] | 0) | 0, 88); + $3290(((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 752 | 0) + Math_imul(HEAP32[($9_1 + 100 | 0) >> 2] | 0, 88) | 0 | 0, ((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 752 | 0) + Math_imul((HEAP32[($9_1 + 100 | 0) >> 2] | 0) + 1 | 0, 88) | 0 | 0, HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) | 0; + } + $591_1 = HEAP32[($9_1 + 180 | 0) >> 2] | 0; + HEAP8[($591_1 + 44 | 0) >> 0] = (HEAPU8[($591_1 + 44 | 0) >> 0] | 0) + -1 | 0; + HEAP32[($9_1 + 184 | 0) >> 2] = (HEAP32[($9_1 + 184 | 0) >> 2] | 0) + -1 | 0; + } + HEAP32[($9_1 + 100 | 0) >> 2] = (HEAP32[($9_1 + 100 | 0) >> 2] | 0) + -1 | 0; + continue label$37; + }; + } + } + $603_1 = 16; + $607_1 = HEAP32[(HEAP32[($9_1 + 180 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($607_1 + 136 | 0) >> 2] = (HEAP32[($607_1 + 136 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) << $603_1 | 0) >> $603_1 | 0) | 0; + label$52 : { + if (!(((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0)) { + break label$52 + } + HEAP32[($9_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 824 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($9_1 + 64 | 0) >> 2] = ((HEAP32[($9_1 + 68 | 0) >> 2] | 0) & 4096 | 0 | 0) != (0 | 0) & 1 | 0; + label$53 : { + label$54 : { + if (HEAP32[($9_1 + 64 | 0) >> 2] | 0) { + break label$54 + } + if (!((0 | 0) != (((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0 | 0) & 1 | 0)) { + break label$53 + } + if (HEAP32[((HEAP32[((HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$53 + } + if ((0 | 0) == ((HEAP32[($9_1 + 68 | 0) >> 2] | 0) & 8192 | 0 | 0) & 1 | 0) { + break label$54 + } + if (!(((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$53 + } + } + HEAP8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 46 | 0) >> 0] = HEAP32[($9_1 + 64 | 0) >> 2] | 0 ? 1 : 2; + label$55 : { + if ((HEAP32[((HEAP32[((HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$55 + } + if (!((HEAP32[($9_1 + 68 | 0) >> 2] | 0) & 64 | 0)) { + break label$55 + } + label$56 : { + if (!(((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$56 + } + HEAP8[($9_1 + 111 | 0) >> 0] = 8; + } + HEAP32[((HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 824 | 0) >> 2] | 0) + 36 | 0) >> 2] = (HEAP32[($9_1 + 68 | 0) >> 2] | 0) & -65 | 0; + } + } + } + HEAP32[($9_1 + 120 | 0) >> 2] = 0; + HEAP32[($9_1 + 128 | 0) >> 2] = (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 752 | 0; + label$57 : { + label$58 : while (1) { + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$57 + } + HEAP32[($9_1 + 52 | 0) >> 2] = ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0, 72) | 0; + HEAP32[($9_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $350(HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 124 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + label$59 : { + label$60 : { + label$61 : { + if ((HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 2 | 0) { + break label$61 + } + if (!((HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$60 + } + } + break label$59; + } + label$62 : { + label$63 : { + if (!((HEAP32[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1024 | 0)) { + break label$63 + } + $726_1 = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1056(HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $1278(HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0, 166 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, $726_1 | 0, $726_1 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, -12 | 0) | 0; + break label$62; + } + label$64 : { + label$65 : { + if (!(HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$65 + } + break label$64; + } + label$66 : { + label$67 : { + if ((HEAP32[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 64 | 0) { + break label$67 + } + if (((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$67 + } + HEAP32[($9_1 + 40 | 0) >> 2] = 96; + label$68 : { + if (!((HEAPU8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0)) { + break label$68 + } + HEAP32[($9_1 + 40 | 0) >> 2] = 97; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + } + $1462(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0); + label$69 : { + if ((HEAPU8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0) { + break label$69 + } + $769_1 = 16; + if (!((((HEAPU16[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $769_1 | 0) >> $769_1 | 0 | 0) < (64 | 0) & 1 | 0)) { + break label$69 + } + if ((HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 224 | 0) { + break label$69 + } + i64toi32_i32$3 = HEAP32[($9_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 60 | 0) >> 2] | 0; + $2818_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $2818_1; + HEAP32[($9_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 28 | 0) >> 2] = 0; + label$70 : { + label$71 : while (1) { + i64toi32_i32$0 = 0; + $1099$hi = i64toi32_i32$0; + i64toi32_i32$3 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + $1101$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1099$hi; + i64toi32_i32$1 = $1101$hi; + i64toi32_i32$1 = $1099$hi; + i64toi32_i32$1 = $1101$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $1099$hi; + i64toi32_i32$2 = 0; + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$70 + } + i64toi32_i32$2 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + $1103$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1104$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1103$hi; + i64toi32_i32$1 = $1104$hi; + i64toi32_i32$1 = $1103$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $1104$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $85_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $85_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$2 = $9_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $85_1; + HEAP32[($9_1 + 36 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($9_1 + 28 | 0) >> 2] = (HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$71; + }; + } + $357(HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, -3 | 0); + } + $354(HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0, ((HEAPU8[($9_1 + 111 | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0); + break label$66; + } + $1393(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, HEAP32[(HEAP32[($9_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + } + } + } + label$72 : { + if (!((HEAP32[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 512 | 0)) { + break label$72 + } + HEAP32[($9_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = 96; + label$73 : { + label$74 : { + if (!((HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$74 + } + $86_1 = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + if (!((((HEAPU8[($86_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($86_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$74 + } + if (!(((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$74 + } + HEAP32[($9_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = 0; + break label$73; + } + label$75 : { + label$76 : { + if (!((HEAPU8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0)) { + break label$76 + } + HEAP32[($9_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($9_1 + 20 | 0) >> 2] = HEAP32[($9_1 + 192 | 0) >> 2] | 0; + label$77 : while (1) { + $855_1 = 0; + label$78 : { + if (!((HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$78 + } + $855_1 = (HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0); + } + label$79 : { + if (!($855_1 & 1 | 0)) { + break label$79 + } + HEAP32[($9_1 + 20 | 0) >> 2] = (HEAP32[($9_1 + 20 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($9_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$77; + } + break label$77; + }; + HEAP32[($9_1 + 16 | 0) >> 2] = 97; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + break label$75; + } + label$80 : { + label$81 : { + if (!(HEAP32[($9_1 + 192 | 0) >> 2] | 0)) { + break label$81 + } + if (!(((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$81 + } + HEAP32[($9_1 + 20 | 0) >> 2] = HEAP32[($9_1 + 192 | 0) >> 2] | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = 95; + break label$80; + } + $880_1 = HEAP32[($9_1 + 216 | 0) >> 2] | 0; + $881_1 = HEAP32[($880_1 + 40 | 0) >> 2] | 0; + HEAP32[($880_1 + 40 | 0) >> 2] = $881_1 + 1 | 0; + HEAP32[($9_1 + 20 | 0) >> 2] = $881_1; + } + } + } + HEAP32[((HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + label$82 : { + if (!(HEAP32[($9_1 + 16 | 0) >> 2] | 0)) { + break label$82 + } + $367(HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) | 0; + $1405(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0); + label$83 : { + if (!((HEAP32[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 15 | 0)) { + break label$83 + } + if ((HEAP32[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 32770 | 0) { + break label$83 + } + if ((HEAP32[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 524288 | 0) { + break label$83 + } + if ((HEAP32[((HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1048576 | 0) { + break label$83 + } + if (((HEAPU16[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0) { + break label$83 + } + if (!(((HEAPU8[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 47 | 0) >> 0] | 0) & 255 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$83 + } + $354(HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0, 2 & 65535 | 0 | 0); + } + } + } + label$84 : { + if (!((HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$84 + } + $1286(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0); + } + HEAP32[($9_1 + 120 | 0) >> 2] = (HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($9_1 + 128 | 0) >> 2] = (HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 88 | 0; + continue label$58; + }; + } + $948_1 = $1296(HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 52 | 0) >> 2] = $948_1; + label$85 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$85 + } + break label$7; + } + HEAP32[($9_1 + 120 | 0) >> 2] = 0; + label$86 : { + label$87 : while (1) { + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$86 + } + HEAP32[($9_1 + 128 | 0) >> 2] = ((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 752 | 0) + Math_imul(HEAP32[($9_1 + 120 | 0) >> 2] | 0, 88) | 0; + HEAP32[($9_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$88 : { + if (!((HEAP32[((HEAP32[((HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 16384 | 0)) { + break label$88 + } + i64toi32_i32$1 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 172 | 0) >> 2] | 0; + $1688(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 80 | 0 | 0, ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0, 72) | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0, HEAP32[($9_1 + 128 | 0) >> 2] | 0 | 0); + label$89 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$89 + } + break label$7; + } + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1689(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 128 | 0) >> 2] | 0 | 0, (HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $1015_1 = $1296(HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 32 | 0) >> 2] = $1015_1; + i64toi32_i32$1 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 172 | 0) >> 2] | 0; + i64toi32_i32$3 = $1690(HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 128 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $3361 = i64toi32_i32$3; + i64toi32_i32$3 = $9_1; + HEAP32[($9_1 + 168 | 0) >> 2] = $3361; + HEAP32[($9_1 + 172 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$90 : { + if ((HEAP32[($9_1 + 4 | 0) >> 2] | 0) & 8192 | 0) { + break label$90 + } + if (((HEAPU16[($9_1 + 198 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$90 + } + } + HEAP32[($9_1 + 120 | 0) >> 2] = (HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$87; + }; + } + $1037_1 = $1296(HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 56 | 0) >> 2] = $1037_1; + HEAP32[($9_1 + 220 | 0) >> 2] = HEAP32[($9_1 + 180 | 0) >> 2] | 0; + break label$3; + } + label$91 : { + if (!((HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$91 + } + HEAP32[((HEAP32[($9_1 + 216 | 0) >> 2] | 0) + 136 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $1691(HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0); + } + HEAP32[($9_1 + 220 | 0) >> 2] = 0; + } + $1053_1 = HEAP32[($9_1 + 220 | 0) >> 2] | 0; + global$0 = $9_1 + 224 | 0; + return $1053_1 | 0; + } + + function $1363($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = 16; + return ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) << $6_1 | 0) >> $6_1 | 0 | 0; + } + + function $1364($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 47 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $1365($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = 24; + return ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 45 | 0) >> 0] | 0) << $6_1 | 0) >> $6_1 | 0 | 0; + } + + function $1366($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ((((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 752 | 0) + Math_imul(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0) - 1 | 0, 88) | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1367($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0, $39_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 4 | 0) >> 2] | 0, 20) | 0; + $31_1 = 24; + $370(HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[$4_1 >> 2] | 0) + 1 | 0) >> 0] | 0) << $31_1 | 0) >> $31_1 | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[$4_1 >> 2] | 0) + 1 | 0) >> 0] = 0; + HEAP32[((HEAP32[$4_1 >> 2] | 0) + 16 | 0) >> 2] = 0; + HEAP8[(HEAP32[$4_1 >> 2] | 0) >> 0] = 174; + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + } + $39_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $39_1 | 0; + } + + function $1368($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, $25_1 = 0, i64toi32_i32$0 = 0, $939_1 = 0, $891_1 = 0, $497_1 = 0, $574_1 = 0, $410_1 = 0, $577_1 = 0, $665_1 = 0, $703_1 = 0, $724_1 = 0, $831_1 = 0, $854_1 = 0, $864_1 = 0, $872_1 = 0, $894_1 = 0, $16_1 = 0, $21_1 = 0, $39_1 = 0, $41_1 = 0, $61_1 = 0, $113_1 = 0, $116_1 = 0, $119_1 = 0, $120_1 = 0, $123_1 = 0, $143_1 = 0, $146_1 = 0, $167_1 = 0, $170_1 = 0, $190_1 = 0, $215_1 = 0, $223_1 = 0, $231_1 = 0, $239_1 = 0, $278_1 = 0, $290_1 = 0, $293_1 = 0, $414_1 = 0, $483_1 = 0, $484_1 = 0, $553_1 = 0, $596_1 = 0, $598_1 = 0, $623_1 = 0, $652_1 = 0, $701_1 = 0, $722_1 = 0, $773_1 = 0, $802_1 = 0, $818_1 = 0, $830_1 = 0, $851_1 = 0, $862_1 = 0, $871_1 = 0, $876_1 = 0, $896_1 = 0, $921_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 240 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 236 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 232 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 228 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 224 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 220 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 216 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[($7_1 + 212 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1275(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 208 | 0) >> 2] = wasm2js_i32$1; + $16_1 = 48; + HEAP32[($7_1 + 200 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + $16_1 | 0) >> 2] | 0; + $21_1 = 24; + HEAP32[($7_1 + 196 | 0) >> 2] = HEAP16[((HEAP32[((HEAP32[((HEAP32[($7_1 + 232 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + $21_1 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + $25_1 = 0; + HEAP32[($7_1 + 184 | 0) >> 2] = $25_1; + HEAP32[($7_1 + 180 | 0) >> 2] = $25_1; + HEAP32[($7_1 + 160 | 0) >> 2] = $25_1; + HEAP32[($7_1 + 156 | 0) >> 2] = $25_1; + HEAP32[($7_1 + 152 | 0) >> 2] = $25_1; + HEAP32[($7_1 + 88 | 0) >> 2] = $25_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $25_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(($7_1 + 96 | 0) + $16_1 | 0) >> 2] = $25_1; + i64toi32_i32$0 = 0; + $939_1 = 0; + i64toi32_i32$1 = $7_1 + 136 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $939_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 128 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $939_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = ($7_1 + 96 | 0) + $21_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $939_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $39_1 = $7_1 + 112 | 0; + i64toi32_i32$1 = $39_1; + HEAP32[i64toi32_i32$1 >> 2] = $939_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $41_1 = $7_1 + 104 | 0; + i64toi32_i32$1 = $41_1; + HEAP32[i64toi32_i32$1 >> 2] = $939_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $939_1; + HEAP32[($7_1 + 100 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 96 | 0) >> 2] = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($7_1 + 100 | 0) >> 2] = HEAP32[($7_1 + 216 | 0) >> 2] | 0; + HEAP32[$41_1 >> 2] = HEAP32[($7_1 + 208 | 0) >> 2] | 0; + HEAP32[$39_1 >> 2] = HEAP32[($7_1 + 224 | 0) >> 2] | 0; + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 220 | 0) >> 2] | 0; + HEAP32[($7_1 + 132 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($7_1 + 204 | 0) >> 2] = (HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 124 | 0) >> 2] = (HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 2 | 0; + HEAP32[($7_1 + 140 | 0) >> 2] = (HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 3 | 0; + $61_1 = (HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) + -86 | 0; + label$1 : { + label$2 : { + switch ($61_1 | 0) { + case 0: + label$5 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (89 | 0) & 1 | 0)) { + break label$5 + } + if (!($1692(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($7_1 + 120 | 0) >> 2] = 1; + } + break label$1; + case 4: + label$6 : { + if ($1693(HEAP32[($7_1 + 216 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + label$7 : { + label$8 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) == (88 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (89 | 0) & 1 | 0)) { + break label$9 + } + if (!($1692(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + HEAP32[($7_1 + 120 | 0) >> 2] = 3; + } + break label$7; + } + HEAP32[($7_1 + 120 | 0) >> 2] = 1; + } + } + break label$1; + default: + break label$2; + }; + } + HEAP32[($7_1 + 120 | 0) >> 2] = 2; + } + HEAP32[($7_1 + 172 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 236 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $113_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($113_1 + 44 | 0) >> 2] = (HEAP32[($113_1 + 44 | 0) >> 2] | 0) + (HEAP32[($7_1 + 196 | 0) >> 2] | 0) | 0; + $116_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + $119_1 = (HEAP32[($116_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($116_1 + 44 | 0) >> 2] = $119_1; + HEAP32[($7_1 + 168 | 0) >> 2] = $119_1; + $120_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + $123_1 = (HEAP32[($120_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($120_1 + 44 | 0) >> 2] = $123_1; + HEAP32[($7_1 + 164 | 0) >> 2] = $123_1; + label$10 : { + label$11 : { + if (((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (88 | 0) & 1 | 0) { + break label$11 + } + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (86 | 0) & 1 | 0)) { + break label$10 + } + } + $143_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + $146_1 = (HEAP32[($143_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($143_1 + 44 | 0) >> 2] = $146_1; + HEAP32[($7_1 + 88 | 0) >> 2] = $146_1; + } + label$12 : { + label$13 : { + if (((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) == (88 | 0) & 1 | 0) { + break label$13 + } + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) == (86 | 0) & 1 | 0)) { + break label$12 + } + } + $167_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + $170_1 = (HEAP32[($167_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($167_1 + 44 | 0) >> 2] = $170_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $170_1; + } + label$14 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (76 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + label$16 : { + if (!((HEAP32[($7_1 + 212 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $190_1 = HEAP32[(HEAP32[($7_1 + 212 | 0) >> 2] | 0) >> 2] | 0; + break label$15; + } + $190_1 = 0; + } + HEAP32[($7_1 + 80 | 0) >> 2] = $190_1; + HEAP32[($7_1 + 160 | 0) >> 2] = (HEAP32[($7_1 + 172 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) | 0; + label$17 : { + if (!((HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($7_1 + 160 | 0) >> 2] = (HEAP32[($7_1 + 160 | 0) >> 2] | 0) + (HEAP32[(HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0) | 0; + } + HEAP32[($7_1 + 156 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 236 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $215_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($215_1 + 44 | 0) >> 2] = (HEAP32[($215_1 + 44 | 0) >> 2] | 0) + (HEAP32[($7_1 + 80 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 128 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 236 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $223_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($223_1 + 44 | 0) >> 2] = (HEAP32[($223_1 + 44 | 0) >> 2] | 0) + (HEAP32[($7_1 + 80 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 136 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 236 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $231_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($231_1 + 44 | 0) >> 2] = (HEAP32[($231_1 + 44 | 0) >> 2] | 0) + (HEAP32[($7_1 + 80 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 144 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 236 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $239_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($239_1 + 44 | 0) >> 2] = (HEAP32[($239_1 + 44 | 0) >> 2] | 0) + (HEAP32[($7_1 + 80 | 0) >> 2] | 0) | 0; + } + HEAP32[($7_1 + 192 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($7_1 + 192 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 192 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 172 | 0) >> 2] | 0) + (HEAP32[($7_1 + 192 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($7_1 + 192 | 0) >> 2] = (HEAP32[($7_1 + 192 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0) | 0; + label$20 : { + if (!((HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + $278_1 = 0; + HEAP32[($7_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 172 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1357(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, $278_1 | 0, $278_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + $290_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + $293_1 = (HEAP32[($290_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($290_1 + 44 | 0) >> 2] = $293_1; + HEAP32[($7_1 + 152 | 0) >> 2] = $293_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 86 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + $1420(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, -9 | 0); + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 16 | 0, (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 2 | 0 | 0, (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 2 | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 77 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + } + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 52 | 0, HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1694(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 216 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (!(HEAP32[($7_1 + 88 | 0) >> 2] | 0)) { + break label$21 + } + $1281(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0); + $1695(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, (((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0 ? 3 : 0) + 0 | 0 | 0); + } + label$22 : { + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$22 + } + $1281(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0); + $1695(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, (((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0 ? 3 : 0) + 1 | 0 | 0); + } + label$23 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (89 | 0) & 1 | 0)) { + break label$23 + } + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$23 + } + if (!(HEAP32[($7_1 + 88 | 0) >> 2] | 0)) { + break label$23 + } + $410_1 = 0; + $414_1 = $7_1 + 96 | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = ((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (86 | 0) & 1 | 0 ? 57 : 55; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $410_1 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + $1696($414_1 | 0, $410_1 | 0); + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + $1697($414_1 | 0); + $1288(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 11 | 0, $410_1 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0); + } + label$24 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (86 | 0) & 1 | 0)) { + break label$24 + } + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (89 | 0) & 1 | 0)) { + break label$24 + } + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$24 + } + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 106 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) | 0; + } + label$25 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (90 | 0) & 1 | 0)) { + break label$25 + } + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + $483_1 = 37; + $484_1 = 1; + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $483_1 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0, $484_1 | 0) | 0; + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $483_1 | 0, HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0, $484_1 | 0) | 0; + label$26 : { + if (!(HEAP32[($7_1 + 156 | 0) >> 2] | 0)) { + break label$26 + } + if (!((HEAP32[($7_1 + 212 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $497_1 = 77; + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $497_1 | 0, HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($7_1 + 212 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $497_1 | 0, HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($7_1 + 212 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $497_1 | 0, HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 136 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($7_1 + 212 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $497_1 | 0, HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($7_1 + 212 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + } + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0); + label$27 : { + if (!(HEAP32[($7_1 + 156 | 0) >> 2] | 0)) { + break label$27 + } + $1698(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0); + } + label$28 : { + label$29 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (86 | 0) & 1 | 0)) { + break label$29 + } + $553_1 = 0; + $1699($7_1 + 96 | 0 | 0, 3 | 0, $553_1 | 0, $553_1 | 0) | 0; + label$30 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (90 | 0) & 1 | 0)) { + break label$30 + } + label$31 : { + label$32 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$32 + } + $574_1 = 0; + $577_1 = $7_1 + 96 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $1700($577_1 | 0, 57 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + $1699($577_1 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $574_1 | 0) | 0; + $1699($577_1 | 0, 1 | 0, $574_1 | 0, $574_1 | 0) | 0; + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 11 | 0, $574_1 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + break label$31; + } + $596_1 = $7_1 + 96 | 0; + $598_1 = 0; + $1699($596_1 | 0, 1 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, $598_1 | 0) | 0; + $1699($596_1 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $598_1 | 0) | 0; + } + } + break label$28; + } + label$33 : { + label$34 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) == (88 | 0) & 1 | 0)) { + break label$34 + } + $623_1 = 0; + label$35 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (88 | 0) & 1 | 0)) { + break label$35 + } + $623_1 = ((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0); + } + HEAP32[($7_1 + 40 | 0) >> 2] = $623_1 & 1 | 0; + $1699($7_1 + 96 | 0 | 0, 3 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + label$36 : { + if (!(HEAP32[($7_1 + 40 | 0) >> 2] | 0)) { + break label$36 + } + $1699($7_1 + 96 | 0 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + $652_1 = 0; + $1699($7_1 + 96 | 0 | 0, 1 | 0, $652_1 | 0, $652_1 | 0) | 0; + label$37 : { + if (HEAP32[($7_1 + 40 | 0) >> 2] | 0) { + break label$37 + } + $1699($7_1 + 96 | 0 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + break label$33; + } + $665_1 = 0; + HEAP32[($7_1 + 36 | 0) >> 2] = $665_1; + $1699($7_1 + 96 | 0 | 0, 3 | 0, $665_1 | 0, $665_1 | 0) | 0; + label$38 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (90 | 0) & 1 | 0)) { + break label$38 + } + label$39 : { + label$40 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$40 + } + HEAP32[($7_1 + 32 | 0) >> 2] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$41 : { + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$41 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 236 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $1700($7_1 + 96 | 0 | 0, 57 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + } + $701_1 = $7_1 + 96 | 0; + $703_1 = 0; + $1699($701_1 | 0, 1 | 0, $703_1 | 0, $703_1 | 0) | 0; + $1699($701_1 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $703_1 | 0) | 0; + label$42 : { + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$42 + } + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + } + break label$39; + } + label$43 : { + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$43 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $367(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 48 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + $722_1 = $7_1 + 96 | 0; + $724_1 = 0; + $1699($722_1 | 0, 1 | 0, $724_1 | 0, $724_1 | 0) | 0; + $1699($722_1 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $724_1 | 0) | 0; + label$44 : { + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$44 + } + $1277(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + } + } + } + } + } + $1369(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0); + $1373(HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0); + label$45 : { + if (!((HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$45 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + $1277(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 184 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; + label$46 : { + label$47 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) == (88 | 0) & 1 | 0)) { + break label$47 + } + $773_1 = 0; + label$48 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (88 | 0) & 1 | 0)) { + break label$48 + } + $773_1 = ((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0); + } + HEAP32[($7_1 + 28 | 0) >> 2] = $773_1 & 1 | 0; + $1699($7_1 + 96 | 0 | 0, 3 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + label$49 : { + if (!(HEAP32[($7_1 + 28 | 0) >> 2] | 0)) { + break label$49 + } + $1699($7_1 + 96 | 0 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + $802_1 = 0; + $1699($7_1 + 96 | 0 | 0, 1 | 0, $802_1 | 0, $802_1 | 0) | 0; + break label$46; + } + label$50 : { + label$51 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (86 | 0) & 1 | 0)) { + break label$51 + } + $818_1 = 0; + $1699($7_1 + 96 | 0 | 0, 3 | 0, $818_1 | 0, $818_1 | 0) | 0; + label$52 : { + label$53 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$53 + } + $830_1 = $7_1 + 96 | 0; + $831_1 = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1699($830_1 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $831_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1699($830_1 | 0, $831_1 | 0, 0 | 0, $831_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$52; + } + label$54 : { + label$55 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) == (90 | 0) & 1 | 0)) { + break label$55 + } + $851_1 = $7_1 + 96 | 0; + $854_1 = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1699($851_1 | 0, $854_1 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $854_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1699($851_1 | 0, 2 | 0, 0 | 0, $854_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$54; + } + $862_1 = $7_1 + 96 | 0; + $864_1 = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1699($862_1 | 0, $864_1 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, $864_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1699($862_1 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $864_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + $871_1 = 11; + $872_1 = 0; + $876_1 = 1; + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $871_1 | 0, $872_1 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1699($7_1 + 96 | 0 | 0, $876_1 | 0, $872_1 | 0, $876_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $871_1 | 0, $872_1 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + break label$50; + } + $891_1 = 0; + $894_1 = $7_1 + 96 | 0; + $896_1 = 1; + $1699($894_1 | 0, 3 | 0, $891_1 | 0, $891_1 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1699($894_1 | 0, $896_1 | 0, $891_1 | 0, $896_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $1699($894_1 | 0, 2 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $891_1 | 0) | 0; + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 11 | 0, $891_1 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0); + } + } + $1277(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 176 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0) | 0; + label$56 : { + if (!((HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$56 + } + label$57 : { + if (!(HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0)) { + break label$57 + } + $921_1 = 69; + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $921_1 | 0, 1 | 0, HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, $921_1 | 0, 0 | 0, HEAP32[((HEAP32[($7_1 + 216 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) | 0; + } + $1355(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, $1296(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0) | 0 | 0); + $1288(HEAP32[($7_1 + 208 | 0) >> 2] | 0 | 0, 65 | 0, HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $7_1 + 240 | 0; + return; + } + + function $1369($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) ^ -1 | 0; + label$1 : { + label$2 : { + if (!(((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + $1536(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0); + break label$1; + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1370($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $536_1 = 0, $11_1 = 0, $30_1 = 0, $86_1 = 0, $95_1 = 0, $110_1 = 0, $117_1 = 0, $221_1 = 0, $310_1 = 0, $312_1 = 0, $320_1 = 0, $423_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 160 | 0; + global$0 = $10_1; + $11_1 = 0; + HEAP32[($10_1 + 156 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 152 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 148 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 144 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 140 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 136 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 132 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 128 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 124 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 156 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($10_1 + 112 | 0) >> 2] = (HEAPU8[(HEAP32[($10_1 + 136 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($10_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($10_1 + 100 | 0) >> 2] = $11_1; + label$1 : { + label$2 : { + if (!((HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0) != ($11_1 | 0) & 1 | 0)) { + break label$2 + } + $30_1 = (HEAPU8[((HEAP32[($10_1 + 140 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + break label$1; + } + $30_1 = 0; + } + HEAP32[($10_1 + 116 | 0) >> 2] = $30_1; + label$3 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[(HEAP32[($10_1 + 144 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($10_1 + 144 | 0) >> 2] = 0; + } + label$4 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + if (HEAP32[($10_1 + 116 | 0) >> 2] | 0) { + break label$4 + } + $1701(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 152 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0); + } + HEAP32[($10_1 + 104 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($10_1 + 152 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$6 + } + label$7 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($10_1 + 100 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($10_1 + 144 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + label$8 : { + if (((HEAPU8[((HEAP32[($10_1 + 144 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$8 + } + HEAP32[($10_1 + 100 | 0) >> 2] = (HEAP32[($10_1 + 100 | 0) >> 2] | 0) + 1 | 0; + } + $86_1 = HEAP32[($10_1 + 156 | 0) >> 2] | 0; + HEAP32[($86_1 + 44 | 0) >> 2] = (HEAP32[($86_1 + 44 | 0) >> 2] | 0) + (HEAP32[($10_1 + 100 | 0) >> 2] | 0) | 0; + } + HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[((HEAP32[($10_1 + 156 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $95_1 = HEAP32[($10_1 + 156 | 0) >> 2] | 0; + HEAP32[($95_1 + 44 | 0) >> 2] = (HEAP32[($95_1 + 44 | 0) >> 2] | 0) + (HEAP32[($10_1 + 104 | 0) >> 2] | 0) | 0; + break label$5; + } + label$9 : { + if (!(((HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[($10_1 + 104 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($10_1 + 156 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $110_1 = HEAP32[($10_1 + 156 | 0) >> 2] | 0; + HEAP32[($110_1 + 44 | 0) >> 2] = (HEAP32[($110_1 + 44 | 0) >> 2] | 0) + (HEAP32[($10_1 + 104 | 0) >> 2] | 0) | 0; + } + } + HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($10_1 + 104 | 0) >> 2] | 0; + $117_1 = HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($10_1 + 84 | 0) >> 2] = $117_1; + HEAP32[($10_1 + 80 | 0) >> 2] = $117_1; + label$10 : { + label$11 : { + if (!((HEAP32[($10_1 + 148 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($10_1 + 120 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($10_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 84 | 0) >> 2] | 0) + (HEAP32[($10_1 + 120 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($10_1 + 120 | 0) >> 2] = (HEAP32[($10_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + break label$10; + } + label$14 : { + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + label$16 : { + label$17 : { + if ((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) == (10 | 0) & 1 | 0) { + break label$17 + } + if ((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0) { + break label$17 + } + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) == (13 | 0) & 1 | 0)) { + break label$16 + } + } + HEAP8[($10_1 + 79 | 0) >> 0] = 1; + break label$15; + } + HEAP8[($10_1 + 79 | 0) >> 0] = 0; + } + label$18 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + if (HEAP32[($10_1 + 116 | 0) >> 2] | 0) { + break label$18 + } + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) != (12 | 0) & 1 | 0)) { + break label$18 + } + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) != (14 | 0) & 1 | 0)) { + break label$18 + } + HEAP8[($10_1 + 79 | 0) >> 0] = (HEAPU8[($10_1 + 79 | 0) >> 0] | 0) & 255 | 0 | 12 | 0; + HEAP32[($10_1 + 120 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[(HEAP32[($10_1 + 144 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $221_1 = (HEAPU16[((((HEAP32[(HEAP32[($10_1 + 144 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 120 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($10_1 + 68 | 0) >> 2] = $221_1; + label$21 : { + if (!(($221_1 | 0) > (0 | 0) & 1 | 0)) { + break label$21 + } + HEAP16[((((HEAP32[((HEAP32[($10_1 + 152 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + (((HEAP32[($10_1 + 68 | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0) + 12 | 0) >> 1] = ((HEAP32[($10_1 + 120 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[((HEAP32[($10_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + } + HEAP32[($10_1 + 120 | 0) >> 2] = (HEAP32[($10_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + HEAP32[($10_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 152 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($10_1 + 120 | 0) >> 2] = 0; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($10_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + label$24 : { + if (!(((HEAPU16[((((HEAP32[($10_1 + 72 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 120 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($10_1 + 104 | 0) >> 2] = (HEAP32[($10_1 + 104 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($10_1 + 80 | 0) >> 2] = 0; + } + HEAP32[($10_1 + 120 | 0) >> 2] = (HEAP32[($10_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + } + HEAP32[($10_1 + 88 | 0) >> 2] = HEAP32[($10_1 + 84 | 0) >> 2] | 0; + HEAP8[($10_1 + 92 | 0) >> 0] = HEAPU8[($10_1 + 79 | 0) >> 0] | 0; + label$25 : { + label$26 : { + if (!(HEAP32[((HEAP32[($10_1 + 152 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$26 + } + if (!(((HEAPU8[($10_1 + 79 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$26 + } + if (!((HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[((HEAP32[($10_1 + 144 | 0) >> 2] | 0) + 36 | 0) >> 2] = $10_1 + 88 | 0; + HEAP32[($10_1 + 80 | 0) >> 2] = 0; + break label$25; + } + $1702(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 152 | 0) >> 2] | 0 | 0, $10_1 + 88 | 0 | 0); + } + } + } + label$27 : { + if (!(HEAP32[($10_1 + 116 | 0) >> 2] | 0)) { + break label$27 + } + $310_1 = (HEAPU8[((HEAP32[($10_1 + 140 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) + -1 | 0; + label$28 : { + label$29 : { + switch ($310_1 | 0) { + case 1: + $312_1 = 0; + HEAP32[($10_1 + 56 | 0) >> 2] = (HEAP32[((HEAP32[($10_1 + 156 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $320_1 = HEAP32[($10_1 + 156 | 0) >> 2] | 0; + HEAP32[($320_1 + 44 | 0) >> 2] = (HEAP32[($320_1 + 44 | 0) >> 2] | 0) + (HEAP32[($10_1 + 104 | 0) >> 2] | 0) | 0; + $1367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1467(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + HEAP8[(HEAP32[($10_1 + 64 | 0) >> 2] | 0) >> 0] = 72; + HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($10_1 + 56 | 0) >> 2] | 0; + HEAP32[($10_1 + 64 | 0) >> 2] = $312_1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = ($1296(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0) | 0) + (HEAP32[($10_1 + 104 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 120 | 0) >> 2] = $312_1; + label$32 : { + label$33 : while (1) { + if (!((HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$32 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1173(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($10_1 + 152 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 120 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$34 : { + label$35 : { + if (!((HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0) < ((HEAP32[($10_1 + 104 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$35 + } + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 52 | 0, (HEAP32[($10_1 + 84 | 0) >> 2] | 0) + (HEAP32[($10_1 + 120 | 0) >> 2] | 0) | 0 | 0, HEAP32[($10_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 56 | 0) >> 2] | 0) + (HEAP32[($10_1 + 120 | 0) >> 2] | 0) | 0 | 0) | 0; + break label$34; + } + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 53 | 0, (HEAP32[($10_1 + 84 | 0) >> 2] | 0) + (HEAP32[($10_1 + 120 | 0) >> 2] | 0) | 0 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 56 | 0) >> 2] | 0) + (HEAP32[($10_1 + 120 | 0) >> 2] | 0) | 0 | 0) | 0; + } + $357(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, -2 | 0); + $354(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 128 & 65535 | 0 | 0); + HEAP32[($10_1 + 120 | 0) >> 2] = (HEAP32[($10_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$33; + }; + } + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 77 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 104 | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + break label$28; + case 0: + $1367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + break label$28; + default: + break label$29; + }; + } + $1703(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0); + } + label$36 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$36 + } + $1701(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 152 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0); + } + } + $423_1 = (HEAP32[($10_1 + 112 | 0) >> 2] | 0) + -1 | 0; + label$37 : { + label$38 : { + switch ($423_1 | 0) { + case 0: + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1382(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) | 0; + $1383(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0); + break label$37; + case 1: + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 133 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) | 0; + break label$37; + case 4: + case 7: + case 11: + case 13: + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1379(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 100 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 44 | 0) >> 2] | 0) + (HEAP32[($10_1 + 100 | 0) >> 2] | 0) | 0 | 0) | 0; + label$48 : { + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$48 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = ($1296(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0) | 0) + 4 | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $353(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 30 | 0, (HEAP32[($10_1 + 108 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $353(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 131 | 0, (HEAP32[($10_1 + 108 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) | 0; + } + label$49 : { + label$50 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$50 + } + $1704(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 152 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 44 | 0) >> 2] | 0) + (HEAP32[($10_1 + 100 | 0) >> 2] | 0) | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0); + break label$49; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1382(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 8 & 65535 | 0 | 0); + $1383(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0); + } + $1384(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 100 | 0) >> 2] | 0) + 1 | 0 | 0); + break label$37; + case 14: + label$51 : { + label$52 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$52 + } + $1704(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0); + break label$51; + } + $536_1 = 0; + HEAP32[($10_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1382(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 128 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 91 | 0, (HEAP32[($10_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) < ($536_1 | 0) & 1 | 0) | 0 | 0, (HEAP32[($10_1 + 104 | 0) >> 2] | 0) - ((HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) < ($536_1 | 0) & 1 | 0) | 0 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0) | 0; + label$53 : { + label$54 : { + if (!((HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) < ($536_1 | 0) & 1 | 0)) { + break label$54 + } + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0) | 0; + break label$53; + } + $353(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + } + break label$37; + case 10: + label$55 : { + label$56 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$56 + } + $1704(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0); + break label$55; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1382(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) | 0; + $1383(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0); + } + break label$37; + case 2: + $366(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 69 | 0, 1 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0) | 0; + break label$37; + case 9: + label$57 : { + label$58 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$58 + } + $1704(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0); + break label$57; + } + } + break label$37; + case 8: + case 12: + label$59 : { + label$60 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$60 + } + $1704(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0); + break label$59; + } + label$61 : { + label$62 : { + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) == (13 | 0) & 1 | 0)) { + break label$62 + } + $1288(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + break label$61; + } + $366(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) | 0; + } + } + break label$37; + case 5: + case 6: + HEAP32[($10_1 + 4 | 0) >> 2] = 0; + HEAP32[$10_1 >> 2] = HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($10_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[$10_1 >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1382(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1379(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 8 | 0) >> 2] = ((HEAP32[($10_1 + 12 | 0) >> 2] | 0) + (HEAP32[($10_1 + 20 | 0) >> 2] | 0) | 0) + 1 | 0; + label$63 : { + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$63 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $353(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 30 | 0, (HEAP32[($10_1 + 108 | 0) >> 2] | 0) + 1 | 0 | 0, 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0) | 0; + label$64 : { + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$64 + } + $366(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 131 | 0, (HEAP32[($10_1 + 108 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 16 & 65535 | 0 | 0); + } + HEAP32[($10_1 + 120 | 0) >> 2] = 0; + label$65 : { + label$66 : while (1) { + if (!((HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$65 + } + $366(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 78 | 0, ((HEAP32[($10_1 + 84 | 0) >> 2] | 0) + ((HEAPU16[((((HEAP32[$10_1 >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 120 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) | 0) - 1 | 0 | 0, (HEAP32[($10_1 + 12 | 0) >> 2] | 0) + (HEAP32[($10_1 + 120 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($10_1 + 120 | 0) >> 2] = (HEAP32[($10_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$66; + }; + } + $366(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 120 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 12 | 0) >> 2] | 0) + (HEAP32[($10_1 + 20 | 0) >> 2] | 0) | 0 | 0) | 0; + $367(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 2 | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 2 | 0 | 0) | 0; + label$67 : { + if (!(HEAP32[($10_1 + 4 | 0) >> 2] | 0)) { + break label$67 + } + $1277(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0); + } + $1383(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0); + $1384(HEAP32[($10_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 2 | 0 | 0); + break label$37; + default: + break label$38; + }; + } + } + label$68 : { + if (!((HEAP32[($10_1 + 144 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$68 + } + if (!(HEAP32[((HEAP32[($10_1 + 152 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$68 + } + $366(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 59 | 0, HEAP32[((HEAP32[($10_1 + 152 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 128 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $10_1 + 160 | 0; + return; + } + + function $1371($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0; + } + + function $1372($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0; + } + + function $1373($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $629_1 = 0, $632_1 = 0, $76_1 = 0, $88_1 = 0, $102_1 = 0, $142_1 = 0, $261_1 = 0, $539_1 = 0, $544_1 = 0, $548_1 = 0, $554_1 = 0, $558_1 = 0, $602_1 = 0, $633_1 = 0, $637_1 = 0, $640_1 = 0, $643_1 = 0, $646_1 = 0, $649_1 = 0, $2042_1 = 0, $2062_1 = 0, $2072_1 = 0, $2082_1 = 0, $2092_1 = 0, $2102_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 128 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 120 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 124 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 96 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1296(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 112 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 112 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 108 | 0) >> 2] = ((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 752 | 0) + Math_imul(HEAP32[($3_1 + 112 | 0) >> 2] | 0, 88) | 0; + HEAP32[($3_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 53 | 0) >> 0] | 0) & 255 | 0 | 0) != (174 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 84 | 0) >> 2] = 0; + label$5 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 47 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($3_1 + 112 | 0) >> 2] | 0 | 0) == (((HEAPU8[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 512 | 0)) { + break label$5 + } + $76_1 = HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($3_1 + 80 | 0) >> 2] = $76_1; + if (!((((HEAPU8[($76_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($76_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0)) { + break label$5 + } + $88_1 = (HEAPU16[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 30 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($3_1 + 76 | 0) >> 2] = $88_1; + if (!(($88_1 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + $102_1 = 16; + if (!((((HEAPU16[((HEAP32[((HEAP32[($3_1 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 76 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $102_1 | 0) >> $102_1 | 0 | 0) >= (36 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 72 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 68 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $367(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 72 | 0) >> 2] | 0) + (HEAP32[($3_1 + 68 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($3_1 + 68 | 0) >> 2] = (HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + $142_1 = HEAP32[($3_1 + 120 | 0) >> 2] | 0; + HEAP32[($142_1 + 44 | 0) >> 2] = (HEAP32[($142_1 + 44 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP32[($3_1 + 64 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 53 | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0 ? 22 : 25; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $353(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 11 | 0, 1 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0; + } + $1369(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + $367(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 53 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + $354(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 55 | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0); + label$8 : { + if (!(HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$8 + } + $1369(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $366(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 59 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + } + label$9 : { + if (!(HEAP32[($3_1 + 84 | 0) >> 2] | 0)) { + break label$9 + } + $1277(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 84 | 0) >> 2] | 0 | 0); + } + break label$3; + } + $1369(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + label$10 : { + if (!((HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 2048 | 0)) { + break label$10 + } + if (!((HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$10 + } + $1369(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[($3_1 + 60 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) + Math_imul((HEAP32[($3_1 + 56 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$11 + } + $1277(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0 | 0); + label$13 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (174 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!(HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$14 + } + $261_1 = 0; + label$15 : { + if ((HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1024 | 0) { + break label$15 + } + $261_1 = ((HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 262144 | 0 | 0) != (0 | 0); + } + HEAP32[($3_1 + 52 | 0) >> 2] = $261_1 & 1 | 0; + label$16 : { + if (!(HEAP32[(HEAP32[($3_1 + 108 | 0) >> 2] | 0) >> 2] | 0)) { + break label$16 + } + $366(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 26 | 0, HEAP32[(HEAP32[($3_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, (($1296(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0) | 0) + 2 | 0) + (HEAP32[($3_1 + 52 | 0) >> 2] | 0) | 0 | 0) | 0; + } + label$17 : { + if (!(HEAP32[($3_1 + 52 | 0) >> 2] | 0)) { + break label$17 + } + $353(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 27 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + } + $366(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[(HEAP32[($3_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + } + $1277(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0 | 0); + HEAP32[($3_1 + 56 | 0) >> 2] = (HEAP32[($3_1 + 56 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($3_1 + 60 | 0) >> 2] = (HEAP32[($3_1 + 60 | 0) >> 2] | 0) + -20 | 0; + continue label$12; + }; + } + } + $1369(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + label$18 : { + if (!(HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { + break label$18 + } + $1282(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 2 | 0 | 0); + } + label$19 : { + if (!(HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0)) { + break label$19 + } + $366(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 59 | 0, (HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) >>> 1 | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + } + label$20 : { + if (!(HEAP32[(HEAP32[($3_1 + 108 | 0) >> 2] | 0) >> 2] | 0)) { + break label$20 + } + HEAP32[($3_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1288(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 48 | 0, HEAP32[(HEAP32[($3_1 + 108 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if ((HEAP32[($3_1 + 48 | 0) >> 2] | 0) & 64 | 0) { + break label$21 + } + $1288(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 129 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + } + label$22 : { + label$23 : { + if ((HEAP32[($3_1 + 48 | 0) >> 2] | 0) & 512 | 0) { + break label$23 + } + if (!((HEAP32[($3_1 + 48 | 0) >> 2] | 0) & 8192 | 0)) { + break label$22 + } + if (!((HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + } + $1288(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 129 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + } + label$24 : { + label$25 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 53 | 0) >> 0] | 0) & 255 | 0 | 0) == (65 | 0) & 1 | 0)) { + break label$25 + } + $366(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0; + break label$24; + } + $1282(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0; + } + $1277(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 112 | 0) >> 2] = (HEAP32[($3_1 + 112 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + }; + } + $1369(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 112 | 0) >> 2] = 0; + HEAP32[($3_1 + 108 | 0) >> 2] = (HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 752 | 0; + label$26 : { + label$27 : while (1) { + if (!((HEAP32[($3_1 + 112 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = ((HEAP32[($3_1 + 100 | 0) >> 2] | 0) + Math_imul(HEAPU8[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0, 72) | 0) + 8 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + label$28 : { + label$29 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 4 | 0) & 1 | 0) & 255 | 0)) { + break label$29 + } + $1705(HEAP32[($3_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, 0 | 0); + break label$28; + } + label$30 : { + label$31 : { + if (!((HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 576 | 0)) { + break label$31 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$30; + } + label$32 : { + if (!((HEAP32[((HEAP32[($3_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 8192 | 0)) { + break label$32 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + } + } + label$33 : { + if (!((HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$33 + } + if (((HEAPU8[((HEAP32[($3_1 + 96 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$33 + } + label$34 : { + label$35 : { + label$36 : { + if (!((HEAPU8[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0)) { + break label$36 + } + if (!((HEAP32[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$35 + } + } + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[($3_1 + 92 | 0) >> 2] | 0; + break label$34; + } + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 44 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1467(HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 32 | 0) >> 2] = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + Math_imul((HEAP32[($3_1 + 40 | 0) >> 2] | 0) - (HEAP32[($3_1 + 44 | 0) >> 2] | 0) | 0, 20) | 0; + label$37 : while (1) { + label$38 : { + label$39 : { + if (!((HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$39 + } + break label$38; + } + label$40 : { + label$41 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$41 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$42 : { + label$43 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$43 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $416(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $539_1 = 16; + HEAP32[($3_1 + 16 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $539_1 | 0) >> $539_1 | 0; + break label$42; + } + $544_1 = 16; + $548_1 = 16; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = (($1706(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << $544_1 | 0) >> $544_1 | 0 | 0) | 0) << $548_1 | 0) >> $548_1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $554_1 = 16; + $558_1 = 16; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = (($1329(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << $554_1 | 0) >> $554_1 | 0 | 0) | 0) << $558_1 | 0) >> $558_1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$44 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$44 + } + HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + break label$40; + } + label$45 : { + label$46 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$46 + } + HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP8[(HEAP32[($3_1 + 36 | 0) >> 2] | 0) >> 0] = 135; + break label$45; + } + label$47 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (21 | 0) & 1 | 0)) { + break label$47 + } + HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + } + } + } + $602_1 = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 20 | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = $602_1; + if ($602_1 >>> 0 < (HEAP32[($3_1 + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + continue label$37 + } + break label$37; + }; + } + } + HEAP32[($3_1 + 112 | 0) >> 2] = (HEAP32[($3_1 + 112 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 108 | 0) >> 2] = (HEAP32[($3_1 + 108 | 0) >> 2] | 0) + 88 | 0; + continue label$27; + }; + } + label$48 : { + label$49 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$48 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $629_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $632_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$2 = $632_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2042_1 = i64toi32_i32$0; + i64toi32_i32$0 = $629_1; + HEAP32[i64toi32_i32$0 >> 2] = $2042_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $633_1 = 48; + HEAP32[(i64toi32_i32$0 + $633_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $633_1 | 0) >> 2] | 0; + $637_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $637_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2062_1 = i64toi32_i32$1; + i64toi32_i32$1 = $629_1 + $637_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $2062_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $640_1 = 32; + i64toi32_i32$2 = $632_1 + $640_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2072_1 = i64toi32_i32$0; + i64toi32_i32$0 = $629_1 + $640_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2072_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $643_1 = 24; + i64toi32_i32$2 = $632_1 + $643_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2082_1 = i64toi32_i32$1; + i64toi32_i32$1 = $629_1 + $643_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $2082_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $646_1 = 16; + i64toi32_i32$2 = $632_1 + $646_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2092_1 = i64toi32_i32$0; + i64toi32_i32$0 = $629_1 + $646_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2092_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $649_1 = 8; + i64toi32_i32$2 = $632_1 + $649_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2102_1 = i64toi32_i32$1; + i64toi32_i32$1 = $629_1 + $649_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $2102_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $13(HEAP32[($3_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + continue label$49; + }; + } + HEAP32[((HEAP32[($3_1 + 120 | 0) >> 2] | 0) + 136 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $1691(HEAP32[($3_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 124 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 128 | 0; + return; + } + + function $1374($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0; + HEAP32[$4_1 >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $1376(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0; + continue label$3; + }; + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1375($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $7_1 = 0, i64toi32_i32$0 = 0, $22_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $7_1 = $4_1 + 8 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + $22_1 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 44; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + $1547($7_1 | 0, HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 48 | 0; + return; + } + + function $1376($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $8_1 = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = 45; + HEAP32[($4_1 + 16 | 0) >> 2] = 39; + HEAP32[($4_1 + 20 | 0) >> 2] = 38; + HEAP32[($4_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $8_1; + $1547($4_1 + 8 | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 48 | 0; + return; + } + + function $1377($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $45_1 = 0, $48_1 = 0, $61_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP8[($5_1 + 15 | 0) >> 0] = 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$2 + } + } + HEAP8[($5_1 + 47 | 0) >> 0] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if ($88(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 33134 | 0) | 0) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + label$6 : { + if (!($1534(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + HEAP8[($5_1 + 15 | 0) >> 0] = 2; + } + break label$4; + } + label$7 : { + label$8 : { + if ($88(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 33138 | 0) | 0) { + break label$8 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 2; + HEAP8[($5_1 + 15 | 0) >> 0] = 1; + break label$7; + } + HEAP8[($5_1 + 47 | 0) >> 0] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$1; + } + } + $45_1 = 0; + $48_1 = $1339(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $45_1 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $48_1; + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = $48_1; + label$9 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != ($45_1 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 0] = HEAPU8[($5_1 + 15 | 0) >> 0] | 0; + } + HEAP8[($5_1 + 47 | 0) >> 0] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + $61_1 = (HEAPU8[($5_1 + 47 | 0) >> 0] | 0) & 255 | 0; + global$0 = $5_1 + 48 | 0; + return $61_1 | 0; + } + + function $1378($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $1352($5_1 | 0, 0 | 0, 33142 | 0, $4_1 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1379($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $26_1 = 0, $30_1 = 0, $38_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1382(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) <= (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $26_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($26_1 + 32 | 0) >> 2] = (HEAP32[($26_1 + 32 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + $30_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($30_1 + 28 | 0) >> 2] = (HEAP32[($30_1 + 28 | 0) >> 2] | 0) - (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + break label$3; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $38_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($38_1 + 44 | 0) >> 2] = (HEAP32[($38_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $42_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $42_1 | 0; + } + + function $1380($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $57_1 = 0, $125_1 = 0, $166_1 = 0, $184_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP8[($7_1 + 47 | 0) >> 0] = $4_1; + HEAP8[($7_1 + 27 | 0) >> 0] = ((HEAPU8[($7_1 + 47 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 ? 77 : 78; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (((HEAPU8[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + HEAP8[($7_1 + 47 | 0) >> 0] = ((HEAPU8[($7_1 + 47 | 0) >> 0] | 0) & 255 | 0) & -3 | 0; + } + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!(((HEAPU8[($7_1 + 47 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$5 + } + $57_1 = (HEAPU16[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $57_1; + if (!(($57_1 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!(((HEAPU8[($7_1 + 47 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$7 + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + -1 | 0; + break label$6; + } + $366(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0, ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) - 1 | 0 | 0, (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0; + } + break label$4; + } + label$8 : { + label$9 : { + if (!(((HEAPU8[($7_1 + 47 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$9 + } + if (!($1509(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + $1510(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0; + break label$8; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1496(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + label$12 : { + if (!(((HEAPU8[($7_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0) == (77 | 0) & 1 | 0)) { + break label$12 + } + $125_1 = $1467(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = $125_1; + if (!(((HEAPU8[$125_1 >> 0] | 0) & 255 | 0 | 0) == (77 | 0) & 1 | 0)) { + break label$12 + } + if (!((((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) == (HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + if (!((((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) == ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$12 + } + if ((HEAPU16[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) { + break label$12 + } + $166_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP32[($166_1 + 12 | 0) >> 2] = (HEAP32[($166_1 + 12 | 0) >> 2] | 0) + 1 | 0; + break label$11; + } + $366(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 27 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0; + } + } + } + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 16 | 0; + continue label$3; + }; + } + $184_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $184_1 | 0; + } + + function $1381($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $30_1 = 0, $51_1 = 0, $71_1 = 0, $86_1 = 0, $100_1 = 0, $104_1 = 0, $110_1 = 0, $114_1 = 0, $65_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $367(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + label$3 : { + label$4 : { + if ((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$4 + } + $30_1 = 16; + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) & 1 | 0)) { + break label$3 + } + } + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + label$5 : { + label$6 : { + if (!(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 167; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + break label$5; + } + $51_1 = (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 32 | 0) >> 2] | 0, 20) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = $51_1; + label$7 : { + if (!(((HEAPU16[($51_1 + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1539(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$9 + } + $65_1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + $349($65_1 | 0, 26856 | 0, $7_1 | 0); + break label$8; + } + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $71_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP16[($71_1 + 16 | 0) >> 1] = (HEAPU16[($71_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 256 | 0; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0; + $1499(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + $86_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP16[($86_1 + 16 | 0) >> 1] = ((HEAPU16[($86_1 + 16 | 0) >> 1] | 0) & 65535 | 0) & -257 | 0; + } + break label$1; + } + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$11 + } + $100_1 = 16; + $104_1 = 16; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = (($1329($416(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0 | 0, ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << $100_1 | 0) >> $100_1 | 0 | 0) | 0) << $104_1 | 0) >> $104_1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 20 | 0) >> 2] = 89; + break label$10; + } + $110_1 = 16; + $114_1 = 16; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = (($1424(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << $110_1 | 0) >> $110_1 | 0 | 0) | 0) << $114_1 | 0) >> $114_1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 20 | 0) >> 2] = 89; + } + } + $367(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $1540(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 48 | 0; + return; + } + + function $1382($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, $8_1 = 0, $11_1 = 0, $17_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + $8_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $11_1 = (HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 44 | 0) >> 2] = $11_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $11_1; + break label$1; + } + $12_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $17_1 = (HEAPU8[($12_1 + 19 | 0) >> 0] | 0) + -1 | 0; + HEAP8[($12_1 + 19 | 0) >> 0] = $17_1; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[(($12_1 + 152 | 0) + (($17_1 & 255 | 0) << 2 | 0) | 0) >> 2] | 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1383($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $20_1 = 0, $16_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0) & 255 | 0 | 0) < (8 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $17_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $20_1 = HEAPU8[($17_1 + 19 | 0) >> 0] | 0; + HEAP8[($17_1 + 19 | 0) >> 0] = $20_1 + 1 | 0; + HEAP32[(($17_1 + 152 | 0) + (($20_1 & 255 | 0) << 2 | 0) | 0) >> 2] = $16_1; + } + } + return; + } + + function $1384($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + $1383(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1385($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 0] | 0) >>> 3 | 0) & 1 | 0) & 255 | 0 | 0; + } + + function $1386($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $11_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[$11_1 >> 2] = (HEAP32[$11_1 >> 2] | 0) + 1 | 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1387($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $367(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 76 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0) | 0; + global$0 = $6_1 + 16 | 0; + return; + } + + function $1388($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $43_1 = 0, $46_1 = 0, $76_1 = 0, $99_1 = 0, $111_1 = 0, $143_1 = 0, $146_1 = 0, $148_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $6_1; + HEAP8[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 0] = 1; + HEAP32[($5_1 + 60 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 36 | 0) >> 2] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$3 + } + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$4 : { + if (!(HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0)) { + break label$4 + } + if (!(HEAP32[($5_1 + 72 | 0) >> 2] | 0)) { + break label$4 + } + label$5 : { + if (HEAP32[($5_1 + 56 | 0) >> 2] | 0) { + break label$5 + } + $43_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + $46_1 = (HEAP32[($43_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($43_1 + 44 | 0) >> 2] = $46_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $46_1; + } + $366(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, 77 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $1390(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, 16 | 0); + } + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1379(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $1380(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0, 1 & 255 | 0 | 0) | 0; + break label$6; + } + $76_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $76_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $76_1; + } + label$8 : { + if (!((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$9 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + $1703(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0); + } + label$10 : { + if (!((HEAP32[((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0)) { + break label$10 + } + $99_1 = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $99_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $99_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0; + label$11 : while (1) { + $111_1 = 0; + label$12 : { + if ((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + $111_1 = (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + } + label$13 : { + if (!($111_1 & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1173(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 16 | 0; + continue label$11; + } + break label$11; + }; + label$14 : { + if ((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$14 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 76 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + label$15 : { + if (HEAP32[($5_1 + 56 | 0) >> 2] | 0) { + break label$15 + } + if (!(HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$15 + } + $143_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + $146_1 = (HEAP32[($143_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($143_1 + 44 | 0) >> 2] = $146_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $146_1; + } + $148_1 = 0; + $1278(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, 81 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, $148_1 | 0, $148_1 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, -2 | 0) | 0; + } + $367(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, 155 | 0, 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + $1420(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, -8 | 0); + $354(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) & 255 | 0) & 65535 | 0 | 0); + $1384(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + label$16 : { + if (!(HEAP32[($5_1 + 36 | 0) >> 2] | 0)) { + break label$16 + } + $1369(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 60 | 0) >> 2] = (HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 16 | 0; + continue label$2; + }; + } + label$17 : { + if (HEAP32[($5_1 + 56 | 0) >> 2] | 0) { + break label$17 + } + if (!(HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$17 + } + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + } + label$18 : { + if (!(HEAP32[($5_1 + 56 | 0) >> 2] | 0)) { + break label$18 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1288(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, 18 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $1281(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 60 | 0) >> 2] = (HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 20 | 0; + continue label$20; + }; + } + HEAP8[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 0] = 0; + label$21 : { + if (!(HEAP32[($5_1 + 52 | 0) >> 2] | 0)) { + break label$21 + } + $1411(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 80 | 0; + return; + } + + function $1389($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $33_1 = 0, $22_1 = 0, $24_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $22_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $24_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $33_1 = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + break label$3; + } + $33_1 = 0; + } + $366($22_1 | 0, 158 | 0, $24_1 | 0, $33_1 | 0) | 0; + $1420(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, -8 | 0); + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0; + continue label$2; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1390($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0) ^ 1 | 0; + $30_1 = (HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0) + -19 | 0; + label$4 : { + label$5 : { + label$6 : { + switch ($30_1 | 0) { + case 24: + case 25: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1538(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + label$16 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $1390(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$15; + } + label$17 : { + label$18 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$18 + } + $1390(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + $1390(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$17; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1358(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $1468(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 48 | 0) >> 2] | 0) ^ 16 | 0 | 0); + $1390(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + } + } + break label$4; + case 0: + $1468(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$4; + case 153: + HEAP32[($6_1 + 12 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) == (168 | 0) & 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1502(HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + label$20 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) ^ (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0)) { + break label$20 + } + $1390(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 12 | 0) >> 2] | 0 ? 0 : 16) | 0); + break label$19; + } + $1468(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 12 | 0) >> 2] | 0 ? 0 : 16) | 0); + } + break label$4; + case 26: + case 149: + HEAP32[($6_1 + 40 | 0) >> 2] = ((HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (45 | 0) & 1 | 0 ? 52 : 53; + HEAP32[($6_1 + 48 | 0) >> 2] = 128; + case 33: + case 34: + case 35: + case 36: + case 37: + case 38: + label$21 : { + if (!($1505(HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$21 + } + break label$5; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1507(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1507(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $1508(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 512 | 0 | 0) != (0 | 0) & 1 | 0 | 0) | 0; + break label$4; + case 31: + case 32: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1507(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0; + break label$4; + case 29: + $1518(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, 46 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$4; + case 30: + label$22 : { + label$23 : { + if (!(HEAP32[($6_1 + 48 | 0) >> 2] | 0)) { + break label$23 + } + $1517(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0); + break label$22; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1358(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $1517(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0); + } + break label$4; + default: + break label$6; + }; + } + } + label$24 : { + label$25 : { + if (!(((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 536870913 | 0 | 0) == (536870912 | 0) & 1 | 0)) { + break label$25 + } + $1282(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0; + break label$24; + } + label$26 : { + label$27 : { + if (!(((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 268435457 | 0 | 0) == (268435456 | 0) & 1 | 0)) { + break label$27 + } + break label$26; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1507(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, $6_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0) | 0; + } + } + } + $1383(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 64 | 0; + return; + } + + function $1391($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $70_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAPU8[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + } + break label$1; + } + $20_1 = 0; + $367(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 72 | 0, $20_1 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $20_1; + label$5 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$7 : { + label$8 : { + label$9 : { + if ((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$9 + } + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$8 + } + } + $349(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 33165 | 0, 0 | 0); + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = -1; + break label$7; + } + $70_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1357(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $70_1 | 0, $70_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $1278(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $70_1 | 0, $70_1 | 0, HEAP32[$4_1 >> 2] | 0 | 0, -9 | 0) | 0; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0; + continue label$5; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1392($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$4 : { + if (!(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$5 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (165 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$6 : { + if (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$7 : { + if ((HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777218 | 0)) { + break label$8 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $1393($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $34_1 = 0, $73_1 = 0, i64toi32_i32$1 = 0, $112_1 = 0, $113_1 = 0, i64toi32_i32$0 = 0, $101_1 = 0, $111_1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP8[($7_1 + 35 | 0) >> 0] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if ($369(HEAP32[(((HEAP32[((HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 40 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$3 + } + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $34_1 = HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$4; + } + $34_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 24 | 0) >> 2] = $34_1; + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0; + label$8 : { + if (!((HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $73_1 = 1; + label$9 : { + if ((HEAPU8[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0) { + break label$9 + } + $73_1 = ((HEAPU8[($7_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + HEAP8[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] = $73_1 & 1 | 0; + break label$1; + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($7_1 + 16 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + 1 | 0) << 4 | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $101_1 = $875(HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] = $101_1; + label$10 : { + if (!((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $111_1 = HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + $112_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + $113_1 = HEAP32[($112_1 + 104 | 0) >> 2] | 0; + HEAP32[($112_1 + 104 | 0) >> 2] = $113_1 + 1 | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = $111_1 + ($113_1 << 4 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP8[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] = HEAPU8[($7_1 + 35 | 0) >> 0] | 0; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 104 | 0) >> 2] = 0; + $118(HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 48 | 0; + return; + } + + function $1394($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $6_1 = 0, $66_1 = 0, $7_1 = 0, $109_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $6_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((((HEAPU8[($6_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($6_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 3 | 0) & 1 | 0) & 65535 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1497(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1497(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (2261 | 0) & 1 | 0)) { + break label$9 + } + $66_1 = 0; + break label$8; + } + $66_1 = $1326(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0) | 0; + } + HEAP32[(((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $66_1; + HEAP8[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + label$10 : { + if (!(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$10 + } + label$11 : { + if (((HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 1 | 0) & 65535 | 0) { + break label$11 + } + $5_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $7_1 = HEAPU8[($5_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($5_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 256 | 0; + HEAP8[($5_1 + 55 | 0) >> 0] = $7_1; + HEAP8[($5_1 + 56 | 0) >> 0] = $7_1 >>> 8 | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = 513; + } + $838(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + $109_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $109_1 | 0; + } + + function $1395($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $24_1 = 0, $30_1 = 0, $10_1 = 0, $57_1 = 0, $49_1 = 0, $51_1 = 0, $53_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 203 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$1 + } + $24_1 = 0; + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $30_1 = 1; + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$3 + } + $10_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $30_1 = (((HEAPU8[($10_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($10_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) ^ -1 | 0; + } + $24_1 = $30_1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = $24_1 & 1 | 0; + $49_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $51_1 = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + $53_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0 ? 33234 : 1352; + label$4 : { + label$5 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$5 + } + $57_1 = HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + break label$4; + } + $57_1 = 1352; + } + HEAP32[($5_1 + 8 | 0) >> 2] = $57_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $53_1; + HEAP32[$5_1 >> 2] = $51_1; + $1352($49_1 | 0, 0 | 0, 33216 | 0, $5_1 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1396($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $268_1 = 0, $8_1 = 0, $99_1 = 0, $102_1 = 0, $103_1 = 0, $104_1 = 0, $217_1 = 0, $232_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 112 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 72 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 100 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = (HEAPU8[(HEAP32[($7_1 + 92 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0; + label$1 : { + if (!(HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0)) { + break label$1 + } + $366(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$2 : { + label$3 : { + label$4 : { + if ((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0) { + break label$4 + } + if ((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (13 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (10 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($7_1 + 48 | 0) >> 2] = 0; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$2; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + label$7 : { + if ((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (12 | 0) & 1 | 0) { + break label$7 + } + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (14 | 0) & 1 | 0)) { + break label$6 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 96 | 0) >> 2] = 0; + break label$5; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1379(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + label$8 : { + label$9 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$9 + } + $99_1 = HEAP32[($7_1 + 108 | 0) >> 2] | 0; + $102_1 = (HEAP32[($99_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($99_1 + 44 | 0) >> 2] = $102_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $102_1; + $103_1 = HEAP32[($7_1 + 108 | 0) >> 2] | 0; + $104_1 = HEAP32[($103_1 + 40 | 0) >> 2] | 0; + HEAP32[($103_1 + 40 | 0) >> 2] = $104_1 + 1 | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = $104_1; + label$10 : { + if (!(HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0)) { + break label$10 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1276(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + } + $367(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 114 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, (((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 1 | 0) + (HEAP32[($7_1 + 96 | 0) >> 2] | 0) | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0) | 0; + label$11 : { + if (!(HEAP32[($7_1 + 72 | 0) >> 2] | 0)) { + break label$11 + } + $1277(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($366(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 35 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + $1701(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0); + $367(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 126 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$8; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($366(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 36 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + $1701(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = 1; + } + HEAP32[($7_1 + 32 | 0) >> 2] = 0; + HEAP32[($7_1 + 44 | 0) >> 2] = ((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0) - 1 | 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + label$14 : { + if ((HEAPU16[(((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) { + break label$14 + } + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 96 | 0) >> 2] | 0) - 1 | 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$15 + } + label$17 : { + label$18 : { + if (!(((HEAPU16[(((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($7_1 + 12 | 0) >> 2] = ((HEAPU16[(((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + break label$17; + } + $217_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = $217_1 + -1 | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = $217_1; + } + $367(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + -1 | 0; + continue label$16; + }; + } + $232_1 = (HEAP32[($7_1 + 60 | 0) >> 2] | 0) + -10 | 0; + label$19 : { + label$20 : { + switch ($232_1 | 0) { + case 2: + case 4: + $367(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 8 & 65535 | 0 | 0); + break label$19; + case 1: + $1278(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) | 0; + break label$19; + case 0: + break label$19; + case 5: + $268_1 = 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 91 | 0, (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) < ($268_1 | 0) & 1 | 0) | 0 | 0, (HEAP32[($7_1 + 96 | 0) >> 2] | 0) - ((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) < ($268_1 | 0) & 1 | 0) | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0; + label$25 : { + label$26 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) < ($268_1 | 0) & 1 | 0)) { + break label$26 + } + $367(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0; + break label$25; + } + $353(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + break label$19; + default: + break label$20; + }; + } + label$27 : { + label$28 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$28 + } + $366(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) | 0; + break label$27; + } + $1288(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + } + } + label$29 : { + if (!(HEAP32[($7_1 + 48 | 0) >> 2] | 0)) { + break label$29 + } + label$30 : { + label$31 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$31 + } + $1384(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0); + break label$30; + } + $1383(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0); + } + $1383(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + } + $1369(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0); + label$32 : { + label$33 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$33 + } + $366(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 3 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) | 0; + break label$32; + } + $366(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) | 0; + } + label$34 : { + if (!(HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$34 + } + $1288(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 65 | 0, HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + $1369(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 112 | 0; + return; + } + + function $1397($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $132$hi = 0, $127$hi = 0, $128$hi = 0, $31_1 = 0, $129$hi = 0, $130$hi = 0, $134$hi = 0, $32_1 = 0, $33_1 = 0, $34_1 = 0, $137$hi = 0, $138$hi = 0, $139$hi = 0, $140$hi = 0, $141$hi = 0, $142$hi = 0, $88_1 = 0, $18_1 = 0, $197_1 = 0, $35_1 = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, $124_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0) >>> 0 > (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $18_1 = 200; + i64toi32_i32$1 = HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $127$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $128$hi = i64toi32_i32$0; + i64toi32_i32$0 = $127$hi; + i64toi32_i32$0 = $128$hi; + i64toi32_i32$0 = $127$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $128$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $31_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $31_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $129$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $130$hi = i64toi32_i32$1; + i64toi32_i32$1 = $129$hi; + i64toi32_i32$1 = $130$hi; + $197_1 = i64toi32_i32$2; + i64toi32_i32$1 = $129$hi; + i64toi32_i32$0 = $31_1; + i64toi32_i32$2 = $130$hi; + i64toi32_i32$3 = $197_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + if (!(((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0 | 0) >= ($18_1 | 0) & 1 | 0)) { + break label$3 + } + $35_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = 200; + $349($35_1 | 0, 31906 | 0, $6_1 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$5 = 0; + $132$hi = i64toi32_i32$5; + i64toi32_i32$1 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $134$hi = i64toi32_i32$0; + i64toi32_i32$0 = $132$hi; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$0 = $132$hi; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $132$hi; + i64toi32_i32$3 = 200; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$5 | 0)) { + $32_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $33_1 = 0 + } else { + $33_1 = 1 + } + $34_1 = $33_1; + } else { + $34_1 = 0 + } + $32_1 = $34_1; + } + label$4 : { + if (!($32_1 & 1 | 0)) { + break label$4 + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = 200; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + $42_1 = 0; + $43_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $44_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $137$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $138$hi = i64toi32_i32$0; + i64toi32_i32$0 = $137$hi; + i64toi32_i32$0 = $138$hi; + i64toi32_i32$0 = $137$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$2 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + i64toi32_i32$4 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$4 | 0; + $139$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $140$hi = i64toi32_i32$4; + i64toi32_i32$4 = $139$hi; + i64toi32_i32$4 = $140$hi; + i64toi32_i32$4 = $139$hi; + i64toi32_i32$3 = $140$hi; + i64toi32_i32$3 = __wasm_i64_mul(i64toi32_i32$2 | 0, i64toi32_i32$4 | 0, 72 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $141$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $142$hi = i64toi32_i32$4; + i64toi32_i32$4 = $141$hi; + i64toi32_i32$4 = $142$hi; + i64toi32_i32$4 = $141$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $142$hi; + i64toi32_i32$5 = 80; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $70($43_1 | 0, $44_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == ($42_1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = i64toi32_i32$2; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $3288(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0, 72) | 0 | 0, ((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 72) | 0 | 0, 72 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + -1 | 0; + continue label$7; + }; + } + $88_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[$88_1 >> 2] = (HEAP32[$88_1 >> 2] | 0) + (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0; + $3289(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 28 | 0) >> 2] | 0, 72) | 0 | 0, 0 | 0, Math_imul(HEAP32[($6_1 + 32 | 0) >> 2] | 0, 72) | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[((((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 72) | 0) + 40 | 0) >> 2] = -1; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + $124_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $124_1 | 0; + } + + function $1398($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $63$hi = 0, i64toi32_i32$3 = 0, $8_1 = 0, $64$hi = 0, $65$hi = 0, $67$hi = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + i64toi32_i32$0 = 0; + $63$hi = i64toi32_i32$0; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 4 | 0) >> 2] = $8_1; + i64toi32_i32$2 = HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $64$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $65$hi = i64toi32_i32$1; + i64toi32_i32$1 = $64$hi; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$1 = $64$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $65$hi; + i64toi32_i32$3 = 262144; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $67$hi = i64toi32_i32$0; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$3 = 0; + label$1 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1651(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[$7_1 >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$7_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!(((HEAPU8[((HEAP32[$7_1 >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!($1814(HEAP32[((HEAP32[$7_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0 | ((HEAPU8[((HEAP32[$7_1 >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) | 0; + } + HEAP32[$7_1 >> 2] = HEAP32[((HEAP32[$7_1 >> 2] | 0) + 32 | 0) >> 2] | 0; + continue label$3; + }; + } + label$5 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + } + label$6 : { + label$7 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$7 + } + $58_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + break label$6; + } + $58_1 = 0; + } + global$0 = $7_1 + 32 | 0; + return $58_1 | 0; + } + + function $1399($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $94$hi = 0, i64toi32_i32$3 = 0, $95$hi = 0, $96$hi = 0, $98$hi = 0, $29_1 = 0, $91_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + i64toi32_i32$0 = 0; + $94$hi = i64toi32_i32$0; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $95$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $96$hi = i64toi32_i32$1; + i64toi32_i32$1 = $95$hi; + i64toi32_i32$1 = $96$hi; + i64toi32_i32$1 = $95$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $96$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $98$hi = i64toi32_i32$0; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $94$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if ((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + $29_1 = 1; + label$5 : { + if (($1650(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + $29_1 = (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0); + } + HEAP32[($6_1 + 8 | 0) >> 2] = $29_1 & 1 | 0; + break label$3; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if (!((0 | 0) == ($87(HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$9 : { + if (!($1815(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + HEAP32[($6_1 + 8 | 0) >> 2] = 1; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$7; + }; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1650(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + label$12 : { + if (!($1816(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + label$13 : { + if (!((HEAPU8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 26 | 0) >> 0] | 0) & 255 | 0)) { + break label$13 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($6_1 + 8 | 0) >> 2] = 1; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$11; + }; + } + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + $91_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $91_1 | 0; + } + + function $1400($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0, $23_1 = 0, $31_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!($1817(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + $9_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + $349($9_1 | 0, 33527 | 0, $5_1 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (HEAP32[($5_1 + 32 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $23_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + $349($23_1 | 0, 33556 | 0, $5_1 + 16 | 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $31_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $31_1 | 0; + } + + function $1401($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + return; + } + + function $1402($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($4_1 + 150 | 0) >> 1] = HEAPU16[($4_1 + 150 | 0) >> 1] | 0 | 16 | 0; + return; + } + + function $1403($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $9_1 = 0, $46_1 = 0, $44_1 = 0, $30_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $350(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 72 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1310(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0, $9_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1222(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, $9_1 | 0, $9_1 | 0, $9_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) != ($9_1 | 0) & 1 | 0)) { + break label$1 + } + $30_1 = $291(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($8_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = $30_1; + $40_1 = $291(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = $40_1; + } + $44_1 = $8_1 + 24 | 0; + $46_1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1213(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, $46_1 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0, $46_1 | 0, $46_1 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, 131072 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $1298($44_1 | 0, 12 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0); + $1210(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, $44_1 | 0) | 0; + $1139(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0); + global$0 = $8_1 + 80 | 0; + return; + } + + function $1404($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $20_1 = 0, $29_1 = 0, $43_1 = 0, $50_1 = 0, $54_1 = 0, $64_1 = 0, $74_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 36880 | 0; + $20_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($20_1 + 24 | 0) >> 2] = (HEAP32[($20_1 + 24 | 0) >> 2] | 0) & -36881 | 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 48; + HEAP32[($4_1 + 8 | 0) >> 2] = 47; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + $29_1 = HEAP32[$4_1 >> 2] | 0; + HEAP32[($29_1 + 212 | 0) >> 2] = (HEAP32[($29_1 + 212 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + label$3 : { + if (!($1312(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + $1547($4_1 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0; + $43_1 = HEAP32[$4_1 >> 2] | 0; + HEAP32[($43_1 + 212 | 0) >> 2] = (HEAP32[($43_1 + 212 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + $50_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($50_1 + 4 | 0) >> 2] = HEAP32[($50_1 + 4 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 32784 | 0) | 0; + $54_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($54_1 + 24 | 0) >> 2] = HEAP32[($54_1 + 24 | 0) >> 2] | 0 | (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0; + $64_1 = 1; + label$4 : { + if ((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$4 + } + $64_1 = (HEAP32[((HEAP32[$4_1 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) > (0 | 0); + } + HEAP32[($4_1 + 44 | 0) >> 2] = $64_1 & 1 | 0; + } + $74_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $74_1 | 0; + } + + function $1405($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1394(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1420(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, -9 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1406($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $32_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$2 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $32_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return (HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $1407($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$1; + } + $14_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = $14_1; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] = 1; + return; + } + + function $1408($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 0] | 0) & 1 | 0) & 255 | 0 | 0; + } + + function $1409($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, i64toi32_i32$1 = 0, $54_1 = 0, $65_1 = 0, $74_1 = 0, $95_1 = 0, $106_1 = 0, i64toi32_i32$0 = 0, $23_1 = 0, $130_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + $13_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $23_1 = $64($13_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = $23_1; + label$3 : { + if ((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != ($13_1 | 0) & 1 | 0) { + break label$3 + } + $118(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP16[($4_1 + 10 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $54_1 = 16; + label$6 : { + label$7 : { + if (!((((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $54_1 | 0) >> $54_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$7 + } + $65_1 = 16; + HEAP8[($4_1 + 9 | 0) >> 0] = HEAPU8[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $65_1 | 0) >> $65_1 | 0, 20) | 0) + 13 | 0) >> 0] | 0; + break label$6; + } + $74_1 = 16; + label$8 : { + label$9 : { + if (!((((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $74_1 | 0) >> $74_1 | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[($4_1 + 9 | 0) >> 0] = 68; + break label$8; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1543(HEAP32[(((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 9 | 0) >> 0] = wasm2js_i32$1; + } + } + $95_1 = 24; + label$10 : { + if (!((((HEAPU8[($4_1 + 9 | 0) >> 0] | 0) << $95_1 | 0) >> $95_1 | 0 | 0) < (65 | 0) & 1 | 0)) { + break label$10 + } + HEAP8[($4_1 + 9 | 0) >> 0] = 65; + } + $106_1 = 24; + label$11 : { + if (!((((HEAPU8[($4_1 + 9 | 0) >> 0] | 0) << $106_1 | 0) >> $106_1 | 0 | 0) > (67 | 0) & 1 | 0)) { + break label$11 + } + HEAP8[($4_1 + 9 | 0) >> 0] = 67; + } + HEAP8[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[($4_1 + 9 | 0) >> 0] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP8[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + $130_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $130_1 | 0; + } + + function $1410($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $31_1 = 0, $97_1 = 0, $12_1 = 0, $170_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 64 | 0; + global$0 = $10_1; + HEAP32[($10_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 48 | 0) >> 2] = $2_1; + HEAP8[($10_1 + 47 | 0) >> 0] = $3_1; + HEAP32[($10_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 32 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 28 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($10_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($10_1 + 60 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($10_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 52 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($10_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + } + $31_1 = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + HEAP32[($10_1 + 40 | 0) >> 2] = $31_1 + 1 | 0; + HEAP32[($10_1 + 16 | 0) >> 2] = $31_1; + label$4 : { + if (!((HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($10_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($10_1 + 16 | 0) >> 2] | 0; + } + label$5 : { + label$6 : { + if ((HEAP32[((HEAP32[($10_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$6 + } + label$7 : { + if ((HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$7 + } + if (!((HEAPU8[(HEAP32[($10_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$6 + } + } + $1462(HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0); + break label$5; + } + $1393(HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, ((HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0) == (97 | 0) & 1 | 0) & 255 | 0 | 0, HEAP32[(HEAP32[($10_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!((HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[(HEAP32[($10_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + } + HEAP32[($10_1 + 24 | 0) >> 2] = 0; + HEAP32[($10_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $97_1 = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + HEAP32[($10_1 + 40 | 0) >> 2] = $97_1 + 1 | 0; + HEAP32[($10_1 + 4 | 0) >> 2] = $97_1; + $12_1 = HEAP32[($10_1 + 12 | 0) >> 2] | 0; + label$11 : { + if (!((((HEAPU8[($12_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($12_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[((HEAP32[($10_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$11 + } + label$12 : { + if (!((HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[(HEAP32[($10_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($10_1 + 4 | 0) >> 2] | 0; + } + HEAP8[($10_1 + 47 | 0) >> 0] = 0; + } + label$13 : { + label$14 : { + if ((HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$14 + } + if (!((HEAPU8[((HEAP32[($10_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0)) { + break label$13 + } + } + $367(HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0) | 0; + $1405(HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0); + $354(HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0, ((HEAPU8[($10_1 + 47 | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0); + } + HEAP32[($10_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($10_1 + 24 | 0) >> 2] = (HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + label$15 : { + if (!((HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($10_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[((HEAP32[($10_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + } + HEAP32[($10_1 + 60 | 0) >> 2] = HEAP32[($10_1 + 24 | 0) >> 2] | 0; + } + $170_1 = HEAP32[($10_1 + 60 | 0) >> 2] | 0; + global$0 = $10_1 + 64 | 0; + return $170_1 | 0; + } + + function $1411($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($15_1 + 108 | 0) >> 2] = (HEAP32[($15_1 + 108 | 0) >> 2] | 0) + -1 | 0; + break label$1; + } + $1495(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1412($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, i64toi32_i32$1 = 0, $66_1 = 0, $67_1 = 0, i64toi32_i32$0 = 0, $63_1 = 0, $65_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$1; + } + $15_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = $15_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$3 : { + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + break label$3; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0) + 1 | 0) << 2 | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $45(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 256 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $63_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $65_1 = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0; + $66_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $67_1 = HEAP32[($66_1 + 208 | 0) >> 2] | 0; + HEAP32[($66_1 + 208 | 0) >> 2] = $67_1 + 1 | 0; + HEAP32[($65_1 + ($67_1 << 2 | 0) | 0) >> 2] = $63_1; + break label$3; + } + $118(HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1413($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1, $9_1, $10_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + $9_1 = $9_1 | 0; + $10_1 = $10_1 | 0; + var $13_1 = 0, $256_1 = 0, $51_1 = 0, $167_1 = 0, $37_1 = 0, $40_1 = 0, $72_1 = 0, $77_1 = 0, $86_1 = 0, $115_1 = 0, $119_1 = 0, $164_1 = 0, $181_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $13_1 = global$0 - 80 | 0; + global$0 = $13_1; + HEAP32[($13_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($13_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($13_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($13_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($13_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($13_1 + 56 | 0) >> 2] = $5_1; + HEAP16[($13_1 + 54 | 0) >> 1] = $6_1; + HEAP8[($13_1 + 53 | 0) >> 0] = $7_1; + HEAP8[($13_1 + 52 | 0) >> 0] = $8_1; + HEAP8[($13_1 + 51 | 0) >> 0] = $9_1; + HEAP32[($13_1 + 44 | 0) >> 2] = $10_1; + HEAP32[($13_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($13_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($13_1 + 36 | 0) >> 2] = 0; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1358(HEAP32[($13_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP8[($13_1 + 31 | 0) >> 0] = (HEAP32[((HEAP32[($13_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0 ? 29 : 32; + label$1 : { + if ((HEAPU8[($13_1 + 51 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + $37_1 = 16; + $353(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, (HEAPU8[($13_1 + 31 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($13_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, ((HEAPU16[($13_1 + 54 | 0) >> 1] | 0) << $37_1 | 0) >> $37_1 | 0 | 0) | 0; + } + $40_1 = 0; + label$2 : { + label$3 : { + if ($1399(HEAP32[($13_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, $40_1 | 0, $40_1 | 0) | 0) { + break label$3 + } + if (!((HEAP32[($13_1 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + } + $51_1 = 0; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1423(HEAP32[($13_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 68 | 0) >> 2] | 0 | 0, $51_1 | 0, $51_1 | 0, 3 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, (HEAPU8[($13_1 + 52 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $63_1 = $1422(HEAP32[($13_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($13_1 + 24 | 0) >> 2] = HEAP32[($13_1 + 24 | 0) >> 2] | 0 | $63_1 | 0; + HEAP32[($13_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($13_1 + 76 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $72_1 = 16; + $77_1 = HEAP32[($13_1 + 76 | 0) >> 2] | 0; + HEAP32[($77_1 + 44 | 0) >> 2] = (HEAP32[($77_1 + 44 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($13_1 + 72 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $72_1 | 0) >> $72_1 | 0) + 1 | 0) | 0; + $366(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, 77 | 0, HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($13_1 + 20 | 0) >> 2] = $51_1; + label$4 : { + label$5 : while (1) { + $86_1 = 16; + if (!((HEAP32[($13_1 + 20 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($13_1 + 72 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $86_1 | 0) >> $86_1 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : { + if ((HEAP32[($13_1 + 24 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { + break label$7 + } + if (!((HEAP32[($13_1 + 20 | 0) >> 2] | 0 | 0) <= (31 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[($13_1 + 24 | 0) >> 2] | 0) & (1 << (HEAP32[($13_1 + 20 | 0) >> 2] | 0) | 0) | 0)) { + break label$6 + } + } + $115_1 = 16; + $119_1 = 16; + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = (($1424(HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, ((HEAP32[($13_1 + 20 | 0) >> 2] | 0) << $115_1 | 0) >> $115_1 | 0 | 0) | 0) << $119_1 | 0) >> $119_1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $1381(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 20 | 0) >> 2] | 0 | 0, ((HEAP32[($13_1 + 36 | 0) >> 2] | 0) + (HEAP32[($13_1 + 12 | 0) >> 2] | 0) | 0) + 1 | 0 | 0); + } + HEAP32[($13_1 + 20 | 0) >> 2] = (HEAP32[($13_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + (wasm2js_i32$0 = $13_1, wasm2js_i32$1 = $1296(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $1426(HEAP32[($13_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 68 | 0) >> 2] | 0 | 0, 126 | 0, 0 | 0, 1 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0, (HEAPU8[($13_1 + 52 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($13_1 + 32 | 0) >> 2] | 0 | 0); + label$8 : { + if (!((HEAP32[($13_1 + 16 | 0) >> 2] | 0 | 0) < ($1296(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + $164_1 = 16; + $353(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, (HEAPU8[($13_1 + 31 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($13_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 56 | 0) >> 2] | 0 | 0, ((HEAPU16[($13_1 + 54 | 0) >> 1] | 0) << $164_1 | 0) >> $164_1 | 0 | 0) | 0; + HEAP32[($13_1 + 44 | 0) >> 2] = -1; + } + $167_1 = 0; + $1428(HEAP32[($13_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0, $167_1 | 0, $167_1 | 0, $167_1 | 0); + } + label$9 : { + if (!((HEAP32[((HEAP32[($13_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + $181_1 = 0; + HEAP8[($13_1 + 11 | 0) >> 0] = 0; + $1429(HEAP32[($13_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 60 | 0) >> 2] | 0 | 0, $181_1 | 0, HEAP32[($13_1 + 44 | 0) >> 2] | 0 | 0); + $366(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, 123 | 0, HEAP32[($13_1 + 64 | 0) >> 2] | 0 | 0, ((HEAPU8[($13_1 + 53 | 0) >> 0] | 0) & 255 | 0 ? 1 : $181_1) | 0) | 0; + label$10 : { + label$11 : { + if (!((HEAPU8[((HEAP32[($13_1 + 76 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + if (!((0 | 0) == ($87(HEAP32[(HEAP32[($13_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0, 8754 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + } + $1420(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, -6 | 0); + } + label$12 : { + if (!((HEAPU8[($13_1 + 51 | 0) >> 0] | 0) & 255 | 0)) { + break label$12 + } + $354(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, 4 & 65535 | 0 | 0); + } + label$13 : { + if (!((HEAP32[($13_1 + 44 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$13 + } + if (!((HEAP32[($13_1 + 44 | 0) >> 2] | 0 | 0) != (HEAP32[($13_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + $1288(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, 123 | 0, HEAP32[($13_1 + 44 | 0) >> 2] | 0 | 0) | 0; + } + label$14 : { + if (!(((HEAPU8[($13_1 + 51 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$14 + } + HEAP8[($13_1 + 11 | 0) >> 0] = (HEAPU8[($13_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 2 | 0; + } + $354(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, ((HEAPU8[($13_1 + 11 | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0); + } + $256_1 = 0; + $1431(HEAP32[($13_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, $256_1 | 0, HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0, $256_1 | 0, $256_1 | 0); + $1426(HEAP32[($13_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 68 | 0) >> 2] | 0 | 0, 126 | 0, $256_1 | 0, 2 | 0, HEAP32[($13_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 36 | 0) >> 2] | 0 | 0, (HEAPU8[($13_1 + 52 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($13_1 + 32 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($13_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($13_1 + 32 | 0) >> 2] | 0 | 0); + global$0 = $13_1 + 80 | 0; + return; + } + + function $1414($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1818(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1415($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + } + return; + } + + function $1416($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, $8_1 = 0, i64toi32_i32$0 = 0, $37_1 = 0, $34_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $8_1 = $5_1 + 8 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + $37_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($5_1 + 28 | 0) >> 1] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 49; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $1547($8_1 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0; + label$1 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP16[($5_1 + 28 | 0) >> 1] = ((HEAPU16[($5_1 + 28 | 0) >> 1] | 0) & 65535 | 0) & -3 | 0; + } + $34_1 = ((HEAPU16[($5_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 | 0) & 1 | 0; + global$0 = $5_1 + 48 | 0; + return $34_1 | 0; + } + + function $1417($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1416(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $20_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $20_1 | 0; + } + + function $1418($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $16_1 = 0, $27_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP16[($6_1 + 10 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $16_1 = 16; + label$1 : { + label$2 : { + if (!((((HEAPU16[($6_1 + 10 | 0) >> 1] | 0) << $16_1 | 0) >> $16_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + $27_1 = 16; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + ((((HEAPU16[($6_1 + 10 | 0) >> 1] | 0) << $27_1 | 0) >> $27_1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1416(HEAP32[(((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $51_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $51_1 | 0; + } + + function $1419($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $182_1 = 0, $173_1 = 0, $23_1 = 0, $30_1 = 0, $31_1 = 0, $43_1 = 0, $70_1 = 0, $81_1 = 0, $100_1 = 0, $114_1 = 0, $118_1 = 0, $125_1 = 0, $184_1 = 0, $187_1 = 0, $188_1 = 0, $191_1 = 0, $208_1 = 0, $299_1 = 0, $308_1 = 0, $391_1 = 0, $383_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 128 | 0; + global$0 = $10_1; + HEAP32[($10_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 112 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 108 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 104 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 100 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 96 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($10_1 + 80 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 124 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1056(HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 72 | 0) >> 2] = 0; + $23_1 = 16; + HEAP32[($10_1 + 68 | 0) >> 2] = (((HEAPU16[((HEAP32[($10_1 + 116 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $23_1 | 0) >> $23_1 | 0) + 2 | 0; + HEAP32[($10_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + $30_1 = HEAP32[($10_1 + 124 | 0) >> 2] | 0; + $31_1 = HEAP32[($30_1 + 40 | 0) >> 2] | 0; + HEAP32[($30_1 + 40 | 0) >> 2] = $31_1 + 1 | 0; + HEAP32[($10_1 + 88 | 0) >> 2] = $31_1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $366(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 64 | 0) >> 2] = (HEAP32[((HEAP32[($10_1 + 124 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $43_1 = HEAP32[($10_1 + 124 | 0) >> 2] | 0; + HEAP32[($43_1 + 44 | 0) >> 2] = (HEAP32[($43_1 + 44 | 0) >> 2] | 0) + (HEAP32[($10_1 + 68 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[(HEAP32[($10_1 + 120 | 0) >> 2] | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($10_1 + 32 | 0) >> 2] = 0; + label$4 : { + label$5 : { + if ((HEAP32[((HEAP32[($10_1 + 116 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$5 + } + label$6 : { + label$7 : { + if (!((HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1310(HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$6; + } + $70_1 = 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1197(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, 75 | 0, $70_1 | 0, $70_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + break label$4; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $416(HEAP32[($10_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP16[($10_1 + 22 | 0) >> 1] = HEAPU16[(HEAP32[((HEAP32[($10_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 1] | 0; + $81_1 = 16; + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($10_1 + 104 | 0) >> 2] | 0) + ((((HEAPU16[($10_1 + 22 | 0) >> 1] | 0) << $81_1 | 0) >> $81_1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + $100_1 = 16; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1310(HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($10_1 + 112 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[((HEAP32[($10_1 + 104 | 0) >> 2] | 0) + ((((HEAPU16[($10_1 + 22 | 0) >> 1] | 0) << $100_1 | 0) >> $100_1 | 0) << 2 | 0) | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$8; + } + $114_1 = 16; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1835(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, ((HEAPU16[($10_1 + 22 | 0) >> 1] | 0) << $114_1 | 0) >> $114_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + } + $118_1 = 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1214(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, $118_1 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 84 | 0) >> 2] = $118_1; + label$10 : { + label$11 : while (1) { + $125_1 = 16; + if (!((HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($10_1 + 116 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $125_1 | 0) >> $125_1 | 0 | 0) & 1 | 0)) { + break label$10 + } + label$12 : { + label$13 : { + if (!((HEAP32[((HEAP32[($10_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 84 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1214(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, $1310(HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($10_1 + 112 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[((HEAP32[($10_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 84 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + break label$12; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1214(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, $1835(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($10_1 + 84 | 0) >> 2] = (HEAP32[($10_1 + 84 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + $173_1 = 0; + $1421(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0, $173_1 | 0, $173_1 | 0); + $382(HEAP32[($10_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($10_1 + 40 | 0) >> 2] = $173_1; + break label$2; + } + $182_1 = 0; + $184_1 = HEAP32[($10_1 + 124 | 0) >> 2] | 0; + $187_1 = (HEAP32[($184_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($184_1 + 44 | 0) >> 2] = $187_1; + HEAP32[($10_1 + 60 | 0) >> 2] = $187_1; + $188_1 = HEAP32[($10_1 + 124 | 0) >> 2] | 0; + $191_1 = (HEAP32[($188_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($188_1 + 44 | 0) >> 2] = $191_1; + HEAP32[($10_1 + 56 | 0) >> 2] = $191_1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1362(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0, $182_1 | 0, $182_1 | 0, 4 & 65535 | 0 | 0, $182_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0) == ($182_1 | 0) & 1 | 0)) { + break label$14 + } + break label$1; + } + HEAP32[($10_1 + 84 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + $208_1 = 16; + if (!((HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($10_1 + 116 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $208_1 | 0) >> $208_1 | 0 | 0) & 1 | 0)) { + break label$15 + } + label$17 : { + label$18 : { + if (!((HEAP32[((HEAP32[($10_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 84 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$18 + } + $1281(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($10_1 + 112 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[((HEAP32[($10_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 84 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, ((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 2 | 0) + (HEAP32[($10_1 + 84 | 0) >> 2] | 0) | 0 | 0); + break label$17; + } + $367(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 167 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, ((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 2 | 0) + (HEAP32[($10_1 + 84 | 0) >> 2] | 0) | 0 | 0) | 0; + $354(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + } + HEAP32[($10_1 + 84 | 0) >> 2] = (HEAP32[($10_1 + 84 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + label$19 : { + label$20 : { + if ((HEAP32[((HEAP32[($10_1 + 116 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$20 + } + $366(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 64 | 0) >> 2] | 0 | 0) | 0; + label$21 : { + label$22 : { + if (!((HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + $1281(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 1 | 0 | 0); + break label$21; + } + $366(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + } + break label$19; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $416(HEAP32[($10_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP16[($10_1 + 14 | 0) >> 1] = HEAPU16[(HEAP32[((HEAP32[($10_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 1] | 0; + $299_1 = 16; + $367(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 167 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, ((HEAPU16[($10_1 + 14 | 0) >> 1] | 0) << $299_1 | 0) >> $299_1 | 0 | 0, HEAP32[($10_1 + 64 | 0) >> 2] | 0 | 0) | 0; + $308_1 = 16; + $366(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 78 | 0, ((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 2 | 0) + (((HEAPU16[($10_1 + 14 | 0) >> 1] | 0) << $308_1 | 0) >> $308_1 | 0) | 0 | 0, (HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1406(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, $10_1 + 44 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + label$24 : { + if (!(HEAP32[($10_1 + 40 | 0) >> 2] | 0)) { + break label$24 + } + $1367(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0) | 0; + $1288(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 116 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0) | 0; + break label$23; + } + $1407(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0); + $367(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($10_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 60 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0) | 0; + } + } + label$25 : { + if (HEAP32[($10_1 + 40 | 0) >> 2] | 0) { + break label$25 + } + label$26 : { + if (!((HEAP32[(HEAP32[($10_1 + 120 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$26 + } + $1373(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1288(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 84 | 0) >> 2] = 0; + label$27 : { + label$28 : while (1) { + if (!((HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0) < (HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + $367(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 84 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 64 | 0) >> 2] | 0) + (HEAP32[($10_1 + 84 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($10_1 + 84 | 0) >> 2] = (HEAP32[($10_1 + 84 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + } + $1412(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 116 | 0) >> 2] | 0 | 0); + $1278(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 10 | 0, 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0, -12 | 0) | 0; + $383_1 = HEAP32[($10_1 + 92 | 0) >> 2] | 0; + label$29 : { + label$30 : { + if (!((HEAP32[($10_1 + 96 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$30 + } + $391_1 = 2; + break label$29; + } + $391_1 = HEAP32[($10_1 + 96 | 0) >> 2] | 0; + } + $354($383_1 | 0, $391_1 & 65535 | 0 | 0); + $1295(HEAP32[($10_1 + 124 | 0) >> 2] | 0 | 0); + label$31 : { + if (HEAP32[($10_1 + 40 | 0) >> 2] | 0) { + break label$31 + } + $366(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 36 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $1277(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0); + $366(HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, 116 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + break label$1; + } + $1373(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0); + } + global$0 = $10_1 + 128 | 0; + return; + } + + function $1420($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $370(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[$5_1 >> 2] = (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 1 | 0) >> 0] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1421($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $11_1 = 0, $109_1 = 0, $32_1 = 0, $63_1 = 0, $91_1 = 0, $153_1 = 0, $178_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 112 | 0; + global$0 = $10_1; + $11_1 = 0; + HEAP32[($10_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 92 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 88 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 84 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 80 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 44 | 0) >> 2] = $11_1; + HEAP32[($10_1 + 40 | 0) >> 2] = $11_1; + HEAP32[($10_1 + 36 | 0) >> 2] = $11_1; + HEAP32[($10_1 + 32 | 0) >> 2] = $11_1; + HEAP32[($10_1 + 28 | 0) >> 2] = $11_1; + HEAP32[($10_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($10_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 92 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1476(HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 92 | 0) >> 2] | 0 | 0, $11_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1310(HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 88 | 0) >> 2] | 0 | 0, $11_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) != ($11_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($10_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] = -1; + $32_1 = HEAP32[((HEAP32[($10_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($32_1 + 32 | 0) >> 2] = (HEAP32[($32_1 + 32 | 0) >> 2] | 0) + -1 | 0; + HEAP32[((HEAP32[($10_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + } + label$2 : { + label$3 : { + if (!((HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($10_1 + 76 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($10_1 + 100 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$4 + } + $63_1 = 16; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1835(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[((HEAP32[($10_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 76 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $63_1 | 0) >> $63_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1214(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 76 | 0) >> 2] = (HEAP32[($10_1 + 76 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($10_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 ? 14 : 15; + break label$2; + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($10_1 + 76 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + $91_1 = 16; + if (!((HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $91_1 | 0) >> $91_1 | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1214(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, $1835(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 76 | 0) >> 2] = (HEAP32[($10_1 + 76 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + HEAP32[($10_1 + 8 | 0) >> 2] = 14; + break label$6; + } + $109_1 = 0; + HEAP32[($10_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 ? 14 : 15; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1214(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, $109_1 | 0, $1197(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, 75 | 0, $109_1 | 0, $109_1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + } + label$10 : { + if (!((HEAP32[($10_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($10_1 + 76 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($10_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1214(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, $1310(HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($10_1 + 96 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($10_1 + 76 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 76 | 0) >> 2] = (HEAP32[($10_1 + 76 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + } + $153_1 = 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1213(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0, $153_1 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0, 8519680 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $1298($10_1 + 48 | 0 | 0, HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0); + label$13 : { + label$14 : { + if (!((HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0) != ($153_1 | 0) & 1 | 0)) { + break label$14 + } + $178_1 = (HEAPU16[((HEAP32[($10_1 + 100 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + break label$13; + } + $178_1 = -1; + } + HEAP32[($10_1 + 56 | 0) >> 2] = $178_1; + $1210(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, $10_1 + 48 | 0 | 0) | 0; + $1139(HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0); + global$0 = $10_1 + 112 | 0; + return; + } + + function $1422($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $137$hi = 0, i64toi32_i32$3 = 0, $72_1 = 0, $138$hi = 0, $139$hi = 0, $141$hi = 0, $44_1 = 0, $104_1 = 0, $113_1 = 0, $122_1 = 0, $134_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $137$hi = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $138$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $139$hi = i64toi32_i32$1; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$1 = $139$hi; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $141$hi = i64toi32_i32$0; + i64toi32_i32$0 = $137$hi; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$0 = $137$hi; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $137$hi; + i64toi32_i32$3 = 0; + label$1 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : { + if (!((HEAP32[(((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) > (31 | 0) & 1 | 0)) { + break label$7 + } + $44_1 = -1; + break label$6; + } + $44_1 = 1 << (HEAP32[(((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0) | 0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0 | $44_1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$3; + }; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1650(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $72_1 = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $72_1; + $1464(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0, $72_1 | 0) | 0; + label$10 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != ($72_1 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$11 + } + $104_1 = 16; + label$13 : { + label$14 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $104_1 | 0) >> $104_1 | 0 | 0) > (31 | 0) & 1 | 0)) { + break label$14 + } + $113_1 = -1; + break label$13; + } + $122_1 = 16; + $113_1 = 1 << (((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $122_1 | 0) >> $122_1 | 0) | 0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0 | $113_1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$9; + }; + } + } + $134_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $134_1 | 0; + } + + function $1423($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $10_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 48 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 16 | 0) >> 2] = (HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) != ($10_1 | 0) & 1 | 0 ? 127 : 126; + HEAP32[($9_1 + 12 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 8 | 0) >> 2] = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($9_1 + 28 | 0) >> 2] | 0) & ((HEAPU8[((HEAP32[($9_1 + 8 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0) | 0)) { + break label$3 + } + if (!($1814(HEAP32[((HEAP32[($9_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1819(HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($9_1 + 12 | 0) >> 2] = HEAP32[($9_1 + 12 | 0) >> 2] | 0 | (HEAP32[(((HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($9_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + } + } + HEAP32[($9_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + continue label$2; + }; + } + $72_1 = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + global$0 = $9_1 + 48 | 0; + return $72_1 | 0; + } + + function $1424($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0, $24_1 = 0, $62_1 = 0, $68_1 = 0, $74_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP16[($4_1 + 22 | 0) >> 1] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 32 | 0)) { + break label$3 + } + $11_1 = 16; + if (!((((HEAPU16[($4_1 + 22 | 0) >> 1] | 0) << $11_1 | 0) >> $11_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP16[($4_1 + 30 | 0) >> 1] = HEAPU16[($4_1 + 22 | 0) >> 1] | 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP16[($4_1 + 14 | 0) >> 1] = 0; + label$4 : { + label$5 : while (1) { + $24_1 = 16; + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (((HEAPU16[($4_1 + 22 | 0) >> 1] | 0) << $24_1 | 0) >> $24_1 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (((HEAPU16[(((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$6 + } + HEAP16[($4_1 + 14 | 0) >> 1] = (HEAPU16[($4_1 + 14 | 0) >> 1] | 0) + 1 | 0; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$7 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$7 + } + $62_1 = 16; + $68_1 = 16; + HEAP16[($4_1 + 30 | 0) >> 1] = ((((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 1] | 0) << $62_1 | 0) >> $62_1 | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) - (((HEAPU16[($4_1 + 14 | 0) >> 1] | 0) << $68_1 | 0) >> $68_1 | 0) | 0; + break label$1; + } + HEAP16[($4_1 + 30 | 0) >> 1] = HEAPU16[($4_1 + 14 | 0) >> 1] | 0; + } + $74_1 = 16; + return ((HEAPU16[($4_1 + 30 | 0) >> 1] | 0) << $74_1 | 0) >> $74_1 | 0 | 0; + } + + function $1425($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $111_1 = 0, $117_1 = 0, $18_1 = 0, $27_1 = 0, $78_1 = 0, $102_1 = 0, $121_1 = 0, $145_1 = 0, $153_1 = 0, $168_1 = 0, $172_1 = 0, $180_1 = 0, $197_1 = 0, $213_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 96 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 84 | 0) >> 2] = $2_1; + $1300(HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + label$1 : { + if (!((HEAP32[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 64 | 0)) { + break label$1 + } + $18_1 = $1467(HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $18_1; + if (!(((HEAPU8[$18_1 >> 0] | 0) & 255 | 0 | 0) == (90 | 0) & 1 | 0)) { + break label$1 + } + $27_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $27_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $27_1; + label$2 : { + label$3 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 32 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$5 + } + break label$4; + } + label$6 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 32 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0)) { + break label$6 + } + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0) >> 0] = 64; + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + HEAP32[($5_1 + 80 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + $78_1 = 16; + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $78_1 | 0) >> $78_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 80 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$9 + } + $102_1 = (HEAP32[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 80 | 0) >> 2] | 0, 20) | 0; + HEAP16[($102_1 + 16 | 0) >> 1] = (HEAPU16[($102_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 128 | 0; + } + HEAP32[($5_1 + 80 | 0) >> 2] = (HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + $111_1 = 0; + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = 50; + HEAP32[($5_1 + 56 | 0) >> 2] = $111_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $111_1; + HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 52 | 0) >> 2] = $111_1 - (HEAP32[($5_1 + 88 | 0) >> 2] | 0) | 0; + label$10 : while (1) { + $117_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $117_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $117_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $117_1; + label$11 : { + label$12 : while (1) { + $121_1 = 16; + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $121_1 | 0) >> $121_1 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 80 | 0) >> 2] | 0, 20) | 0; + label$13 : { + label$14 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$14 + } + $145_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP16[($145_1 + 16 | 0) >> 1] = (HEAPU16[($145_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 256 | 0; + HEAP16[($5_1 + 68 | 0) >> 1] = 0; + $1547($5_1 + 48 | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + $153_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP16[($153_1 + 16 | 0) >> 1] = ((HEAPU16[($153_1 + 16 | 0) >> 1] | 0) & 65535 | 0) & -257 | 0; + label$15 : { + if (!(((HEAPU16[($5_1 + 68 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$15 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$13; + } + HEAP32[($5_1 + 40 | 0) >> 2] = 1; + $168_1 = 16; + $172_1 = 16; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ((($1424(HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 80 | 0) >> 2] | 0) << $168_1 | 0) >> $168_1 | 0 | 0) | 0) << $172_1 | 0) >> $172_1 | 0) + (HEAP32[($5_1 + 88 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $1499(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + $180_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP16[($180_1 + 16 | 0) >> 1] = ((HEAPU16[($180_1 + 16 | 0) >> 1] | 0) & 65535 | 0) & -129 | 0; + } + } + HEAP32[($5_1 + 80 | 0) >> 2] = (HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + $197_1 = 0; + label$16 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $197_1 = (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0); + } + if ($197_1 & 1 | 0) { + continue label$10 + } + break label$10; + }; + label$17 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + $213_1 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + $349($213_1 | 0, 26856 | 0, $5_1 | 0); + } + HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + global$0 = $5_1 + 96 | 0; + return; + } + + function $1426($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0; + $11_1 = global$0 - 48 | 0; + global$0 = $11_1; + HEAP32[($11_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 12 | 0) >> 2] = $8_1; + HEAP32[($11_1 + 8 | 0) >> 2] = HEAP32[($11_1 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($11_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($11_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($11_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($11_1 + 8 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + if (!($1814(HEAP32[((HEAP32[($11_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + $1820(HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($11_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($11_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $11_1 + 48 | 0; + return; + } + + function $1427($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1, $9_1, $10_1, $11_1, $12_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + $9_1 = $9_1 | 0; + $10_1 = $10_1 | 0; + $11_1 = $11_1 | 0; + $12_1 = $12_1 | 0; + var $15_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $16_1 = 0, $49_1 = 0, $1446$hi = 0, $1452$hi = 0, $1458$hi = 0, $398_1 = 0, $410_1 = 0, $420_1 = 0, $686_1 = 0, $1464$hi = 0, $1467$hi = 0, $908_1 = 0, $1470$hi = 0, $1473$hi = 0, $30_1 = 0, $72_1 = 0, $159_1 = 0, $1447$hi = 0, $1448$hi = 0, $1450$hi = 0, $253_1 = 0, $348_1 = 0, $379_1 = 0, $1453$hi = 0, $1454$hi = 0, $1456$hi = 0, $392_1 = 0, $1459$hi = 0, $1460$hi = 0, $1462$hi = 0, $409_1 = 0, $427_1 = 0, $430_1 = 0, $551_1 = 0, $572_1 = 0, $733_1 = 0, $742_1 = 0, $772_1 = 0, $790_1 = 0, $794_1 = 0, $1465$hi = 0, $1466$hi = 0, $1471$hi = 0, $1472$hi = 0, $958_1 = 0, $1026_1 = 0, $1030_1 = 0, $85_1 = 0, $1070_1 = 0, $1100_1 = 0, $1121_1 = 0, $1125_1 = 0, $1148_1 = 0, $1184_1 = 0, $1204_1 = 0, $1261_1 = 0, $1265_1 = 0, $1269_1 = 0, $1292_1 = 0, $1301_1 = 0, $1313_1 = 0, $1427_1 = 0, $175_1 = 0, $177_1 = 0, $3446 = 0, $3482 = 0, $4230 = 0, $4250 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $15_1 = global$0 - 288 | 0; + global$0 = $15_1; + $16_1 = 0; + HEAP32[($15_1 + 284 | 0) >> 2] = $0_1; + HEAP32[($15_1 + 280 | 0) >> 2] = $1_1; + HEAP32[($15_1 + 276 | 0) >> 2] = $2_1; + HEAP32[($15_1 + 272 | 0) >> 2] = $3_1; + HEAP32[($15_1 + 268 | 0) >> 2] = $4_1; + HEAP32[($15_1 + 264 | 0) >> 2] = $5_1; + HEAP32[($15_1 + 260 | 0) >> 2] = $6_1; + HEAP8[($15_1 + 259 | 0) >> 0] = $7_1; + HEAP8[($15_1 + 258 | 0) >> 0] = $8_1; + HEAP32[($15_1 + 252 | 0) >> 2] = $9_1; + HEAP32[($15_1 + 248 | 0) >> 2] = $10_1; + HEAP32[($15_1 + 244 | 0) >> 2] = $11_1; + HEAP32[($15_1 + 240 | 0) >> 2] = $12_1; + HEAP32[($15_1 + 228 | 0) >> 2] = $16_1; + HEAP32[($15_1 + 204 | 0) >> 2] = $16_1; + HEAP32[($15_1 + 196 | 0) >> 2] = $16_1; + HEAP8[($15_1 + 194 | 0) >> 0] = 0; + HEAP32[($15_1 + 188 | 0) >> 2] = $16_1; + HEAP32[($15_1 + 184 | 0) >> 2] = $16_1; + HEAP32[($15_1 + 180 | 0) >> 2] = $16_1; + HEAP32[($15_1 + 176 | 0) >> 2] = $16_1; + HEAP32[($15_1 + 168 | 0) >> 2] = $16_1; + HEAP32[($15_1 + 164 | 0) >> 2] = $16_1; + HEAP32[($15_1 + 156 | 0) >> 2] = $16_1; + HEAP8[($15_1 + 195 | 0) >> 0] = (HEAP32[($15_1 + 260 | 0) >> 2] | 0 | 0) != ($16_1 | 0) & 1 | 0; + HEAP32[($15_1 + 224 | 0) >> 2] = HEAP32[(HEAP32[($15_1 + 284 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($15_1 + 236 | 0) >> 2] = HEAP32[((HEAP32[($15_1 + 284 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $30_1 = 16; + HEAP32[($15_1 + 212 | 0) >> 2] = ((HEAPU16[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $30_1 | 0) >> $30_1 | 0; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$2 + } + HEAP32[($15_1 + 228 | 0) >> 2] = 0; + HEAP32[($15_1 + 200 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $416(HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15_1 + 200 | 0) >> 2] = (HEAPU16[((HEAP32[($15_1 + 228 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + } + label$3 : { + if (!((HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 2048 | 0)) { + break label$3 + } + $49_1 = 0; + HEAP32[($15_1 + 152 | 0) >> 2] = $49_1; + HEAP32[($15_1 + 148 | 0) >> 2] = $49_1; + HEAP32[($15_1 + 144 | 0) >> 2] = $49_1; + label$4 : while (1) { + HEAP32[($15_1 + 220 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($15_1 + 220 | 0) >> 2] | 0 | 0) < (HEAP32[($15_1 + 212 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($15_1 + 136 | 0) >> 2] = (HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($15_1 + 220 | 0) >> 2] | 0, 20) | 0; + HEAP32[($15_1 + 208 | 0) >> 2] = (HEAPU8[((HEAP32[($15_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0; + label$7 : { + label$8 : { + if (HEAP32[($15_1 + 208 | 0) >> 2] | 0) { + break label$8 + } + break label$7; + } + $72_1 = 16; + label$9 : { + if (!((HEAP32[($15_1 + 220 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $72_1 | 0) >> $72_1 | 0 | 0) & 1 | 0)) { + break label$9 + } + break label$7; + } + HEAP32[($15_1 + 132 | 0) >> 2] = ((HEAPU16[((HEAP32[($15_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0; + label$10 : { + if (!(HEAP32[($15_1 + 132 | 0) >> 2] | 0)) { + break label$10 + } + if (HEAP32[($15_1 + 152 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[($15_1 + 144 | 0) >> 2] = (HEAP32[($15_1 + 144 | 0) >> 2] | 0) + 1 | 0; + break label$7; + } + label$11 : { + if (!((HEAP32[($15_1 + 244 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[((HEAP32[($15_1 + 244 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 220 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$11 + } + if (HEAP32[($15_1 + 132 | 0) >> 2] | 0) { + break label$11 + } + break label$7; + } + label$12 : { + label$13 : { + if (!(((HEAPU8[($15_1 + 258 | 0) >> 0] | 0) & 255 | 0 | 0) != (11 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($15_1 + 208 | 0) >> 2] = (HEAPU8[($15_1 + 258 | 0) >> 0] | 0) & 255 | 0; + break label$12; + } + label$14 : { + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($15_1 + 208 | 0) >> 2] = 2; + } + } + label$15 : { + label$16 : { + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + label$18 : { + label$19 : { + if (HEAP32[($15_1 + 152 | 0) >> 2] | 0) { + break label$19 + } + if (!((HEAP32[((HEAP32[($15_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$18 + } + } + HEAP32[($15_1 + 208 | 0) >> 2] = 2; + break label$17; + } + } + break label$15; + } + label$20 : { + if (!(HEAP32[($15_1 + 152 | 0) >> 2] | 0)) { + break label$20 + } + if (HEAP32[($15_1 + 132 | 0) >> 2] | 0) { + break label$20 + } + break label$7; + } + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = (($1424(HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, HEAP16[($15_1 + 220 | 0) >> 1] | 0 | 0) | 0) + (HEAP32[($15_1 + 264 | 0) >> 2] | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + $159_1 = (HEAP32[($15_1 + 208 | 0) >> 2] | 0) + -1 | 0; + label$21 : { + label$22 : { + switch ($159_1 | 0) { + case 4: + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1288(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 51 | 0, HEAP32[($15_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15_1 + 148 | 0) >> 2] = (HEAP32[($15_1 + 148 | 0) >> 2] | 0) + 1 | 0; + $1523(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($15_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 140 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 128 | 0) >> 2] | 0 | 0); + break label$21; + case 1: + $1295(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0); + case 0: + case 2: + $175_1 = HEAP32[($15_1 + 224 | 0) >> 2] | 0; + $177_1 = HEAP32[(HEAP32[($15_1 + 280 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($15_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($15_1 + 136 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$15_1 >> 2] = $177_1; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $351($175_1 | 0, 28578 | 0, $15_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 67 | 0, 1299 | 0, HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 140 | 0) >> 2] | 0 | 0) | 0; + $1420(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 124 | 0) >> 2] | 0 | 0, -7 | 0); + $354(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + break label$21; + default: + break label$22; + }; + } + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($15_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 252 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($15_1 + 220 | 0) >> 2] = (HEAP32[($15_1 + 220 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$26 : { + label$27 : { + if (HEAP32[($15_1 + 144 | 0) >> 2] | 0) { + break label$27 + } + if (HEAP32[($15_1 + 148 | 0) >> 2] | 0) { + break label$27 + } + break label$26; + } + label$28 : { + if (!(HEAP32[($15_1 + 152 | 0) >> 2] | 0)) { + break label$28 + } + break label$26; + } + HEAP32[($15_1 + 152 | 0) >> 2] = 1; + label$29 : { + if (!((HEAP32[($15_1 + 148 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$29 + } + if (!((HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$29 + } + $1425(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 264 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0); + } + continue label$4; + } + break label$4; + }; + } + label$30 : { + if (!((HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$30 + } + i64toi32_i32$0 = 0; + $1446$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($15_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $1447$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1448$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1447$hi; + i64toi32_i32$1 = $1448$hi; + i64toi32_i32$1 = $1447$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $1448$hi; + i64toi32_i32$3 = 512; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $1450$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1446$hi; + i64toi32_i32$0 = $1450$hi; + i64toi32_i32$0 = $1446$hi; + i64toi32_i32$0 = $1450$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $1446$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($15_1 + 120 | 0) >> 2] = HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($15_1 + 284 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0 - ((HEAP32[($15_1 + 264 | 0) >> 2] | 0) + 1 | 0) | 0; + label$31 : { + label$32 : { + if (!(((HEAPU8[($15_1 + 258 | 0) >> 0] | 0) & 255 | 0 | 0) != (11 | 0) & 1 | 0)) { + break label$32 + } + $253_1 = (HEAPU8[($15_1 + 258 | 0) >> 0] | 0) & 255 | 0; + break label$31; + } + $253_1 = 2; + } + HEAP32[($15_1 + 208 | 0) >> 2] = $253_1; + HEAP32[($15_1 + 220 | 0) >> 2] = 0; + label$33 : { + label$34 : while (1) { + if (!((HEAP32[($15_1 + 220 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($15_1 + 120 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[($15_1 + 108 | 0) >> 2] = HEAP32[(((HEAP32[($15_1 + 120 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($15_1 + 220 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$35 : { + label$36 : { + if (!((HEAP32[($15_1 + 244 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$36 + } + if ($1416(HEAP32[($15_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 244 | 0) >> 2] | 0 | 0, (HEAPU8[($15_1 + 259 | 0) >> 0] | 0) & 255 | 0 | 0) | 0) { + break label$36 + } + break label$35; + } + label$37 : { + if ((HEAPU8[($15_1 + 194 | 0) >> 0] | 0) & 255 | 0) { + break label$37 + } + $1300(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 264 | 0) >> 2] | 0) + 1 | 0 | 0); + HEAP8[($15_1 + 194 | 0) >> 0] = 1; + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1358(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1310(HEAP32[($15_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 108 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$38 : { + if (((HEAPU8[((HEAP32[($15_1 + 224 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$38 + } + $1468(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 116 | 0) >> 2] | 0 | 0, 16 | 0); + } + $18(HEAP32[($15_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 112 | 0) >> 2] | 0 | 0); + label$39 : { + label$40 : { + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$40 + } + $1282(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 252 | 0) >> 2] | 0 | 0) | 0; + break label$39; + } + HEAP32[($15_1 + 104 | 0) >> 2] = HEAP32[((((HEAP32[($15_1 + 120 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($15_1 + 220 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + label$41 : { + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$41 + } + HEAP32[($15_1 + 208 | 0) >> 2] = 2; + } + $348_1 = 24; + $1522(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, 275 | 0, HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 104 | 0) >> 2] | 0 | 0, (0 << $348_1 | 0) >> $348_1 | 0 | 0, 3 & 255 | 0 | 0); + } + $1369(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 116 | 0) >> 2] | 0 | 0); + } + HEAP32[($15_1 + 220 | 0) >> 2] = (HEAP32[($15_1 + 220 | 0) >> 2] | 0) + 1 | 0; + continue label$34; + }; + } + HEAP32[((HEAP32[($15_1 + 284 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + } + label$42 : { + if (!((HEAP32[($15_1 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$42 + } + label$43 : { + label$44 : { + if (!((HEAP32[(HEAP32[($15_1 + 240 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$44 + } + HEAP8[($15_1 + 258 | 0) >> 0] = 4; + HEAP32[($15_1 + 240 | 0) >> 2] = 0; + break label$43; + } + $379_1 = HEAP32[((HEAP32[($15_1 + 240 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($15_1 + 196 | 0) >> 2] = $379_1; + label$45 : { + if (!(($379_1 | 0) != (0 | 0) & 1 | 0)) { + break label$45 + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1276(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 11 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + } + } + } + i64toi32_i32$1 = 0; + $1452$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($15_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $1453$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $1454$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1453$hi; + i64toi32_i32$0 = $1454$hi; + i64toi32_i32$0 = $1453$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $1454$hi; + i64toi32_i32$2 = 24576; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $1456$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1452$hi; + i64toi32_i32$1 = $1456$hi; + i64toi32_i32$1 = $1452$hi; + i64toi32_i32$1 = $1456$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $1452$hi; + i64toi32_i32$2 = 0; + label$46 : { + label$47 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$47 + } + $392_1 = 0; + HEAP32[($15_1 + 160 | 0) >> 2] = $392_1; + HEAP32[($15_1 + 172 | 0) >> 2] = $392_1; + break label$46; + } + i64toi32_i32$0 = 0; + $1458$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($15_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $1459$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1460$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1459$hi; + i64toi32_i32$1 = $1460$hi; + i64toi32_i32$1 = $1459$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $1460$hi; + i64toi32_i32$3 = 8192; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $1462$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1458$hi; + i64toi32_i32$0 = $1462$hi; + i64toi32_i32$0 = $1458$hi; + i64toi32_i32$0 = $1462$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $1458$hi; + i64toi32_i32$3 = 0; + label$48 : { + label$49 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$49 + } + $398_1 = 0; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1398(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, 126 | 0, $398_1 | 0, $398_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_i32$1; + $409_1 = 1; + label$50 : { + if ((HEAP32[($15_1 + 160 | 0) >> 2] | 0 | 0) != ($398_1 | 0) & 1 | 0) { + break label$50 + } + $410_1 = 0; + $409_1 = ($1399(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, $410_1 | 0, $410_1 | 0) | 0 | 0) != ($410_1 | 0); + } + HEAP32[($15_1 + 172 | 0) >> 2] = $409_1 & 1 | 0; + break label$48; + } + $420_1 = 0; + HEAP32[($15_1 + 160 | 0) >> 2] = $420_1; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1399(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, $420_1 | 0, $420_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + } + label$51 : { + if (!(HEAP32[($15_1 + 172 | 0) >> 2] | 0)) { + break label$51 + } + $427_1 = HEAP32[($15_1 + 284 | 0) >> 2] | 0; + $430_1 = (HEAP32[($427_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($427_1 + 44 | 0) >> 2] = $430_1; + HEAP32[($15_1 + 172 | 0) >> 2] = $430_1; + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($15_1 + 172 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1358(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15_1 + 168 | 0) >> 2] = HEAP32[($15_1 + 164 | 0) >> 2] | 0; + } + } + label$52 : { + if (!((HEAPU8[($15_1 + 259 | 0) >> 0] | 0) & 255 | 0)) { + break label$52 + } + if (!((HEAP32[($15_1 + 228 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$52 + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1358(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15_1 + 208 | 0) >> 2] = (HEAPU8[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 50 | 0) >> 0] | 0) & 255 | 0; + label$53 : { + label$54 : { + if (!(((HEAPU8[($15_1 + 258 | 0) >> 0] | 0) & 255 | 0 | 0) != (11 | 0) & 1 | 0)) { + break label$54 + } + HEAP32[($15_1 + 208 | 0) >> 2] = (HEAPU8[($15_1 + 258 | 0) >> 0] | 0) & 255 | 0; + break label$53; + } + label$55 : { + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$55 + } + HEAP32[($15_1 + 208 | 0) >> 2] = 2; + } + } + label$56 : { + if (!((HEAP32[($15_1 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$56 + } + if (!((HEAP32[((HEAP32[($15_1 + 240 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$56 + } + label$57 : { + label$58 : { + if (!((HEAP32[((HEAP32[($15_1 + 240 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$58 + } + HEAP32[($15_1 + 208 | 0) >> 2] = 4; + break label$57; + } + HEAP32[($15_1 + 208 | 0) >> 2] = 6; + } + } + label$59 : { + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$59 + } + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) != ((HEAPU8[($15_1 + 258 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$59 + } + if (!((HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$59 + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = ($1276(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 11 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + } + label$60 : { + if (!(((HEAPU8[($15_1 + 195 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$60 + } + $367(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[($15_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 260 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 144 & 65535 | 0 | 0); + } + $367(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[($15_1 + 272 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 264 | 0) >> 2] | 0 | 0) | 0; + $551_1 = (HEAP32[($15_1 + 208 | 0) >> 2] | 0) + -1 | 0; + label$61 : { + label$62 : { + switch ($551_1 | 0) { + default: + HEAP32[($15_1 + 208 | 0) >> 2] = 2; + case 0: + case 1: + case 2: + $1837(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0); + break label$61; + case 4: + label$67 : { + label$68 : { + if (!(HEAP32[($15_1 + 172 | 0) >> 2] | 0)) { + break label$68 + } + $1407(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0); + $572_1 = 16; + $1413(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 272 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 264 | 0) >> 2] | 0 | 0, (1 << $572_1 | 0) >> $572_1 | 0 | 0, 0 & 255 | 0 | 0, 5 & 255 | 0 | 0, 1 & 255 | 0 | 0, -1 | 0); + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[($15_1 + 172 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[($15_1 + 156 | 0) >> 2] = (HEAP32[($15_1 + 156 | 0) >> 2] | 0) + 1 | 0; + break label$67; + } + label$69 : { + if (!((HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$69 + } + $1407(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0); + $1429(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 272 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 268 | 0) >> 2] | 0 | 0, 0 | 0, -1 | 0); + } + } + HEAP32[($15_1 + 204 | 0) >> 2] = 1; + break label$61; + case 5: + $1838(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 240 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($15_1 + 272 | 0) >> 2] | 0 | 0); + break; + case 3: + break label$62; + }; + } + $1282(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 252 | 0) >> 2] | 0 | 0) | 0; + } + $1369(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 100 | 0) >> 2] | 0 | 0); + label$70 : { + if (!(HEAP32[($15_1 + 180 | 0) >> 2] | 0)) { + break label$70 + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1276(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 11 | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; + $1277(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 180 | 0) >> 2] | 0) - 1 | 0 | 0); + } + } + HEAP32[($15_1 + 216 | 0) >> 2] = 0; + HEAP32[($15_1 + 232 | 0) >> 2] = HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$71 : { + label$72 : while (1) { + if (!((HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$71 + } + label$73 : { + label$74 : { + if (HEAP32[((HEAP32[($15_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 216 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) { + break label$74 + } + break label$73; + } + label$75 : { + label$76 : { + if (!((HEAP32[($15_1 + 196 | 0) >> 2] | 0 | 0) == (HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$76 + } + HEAP32[($15_1 + 84 | 0) >> 2] = (HEAP32[($15_1 + 184 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1282(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + $1277(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 184 | 0) >> 2] | 0 | 0); + break label$75; + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1358(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + label$77 : { + if ((HEAPU8[($15_1 + 194 | 0) >> 0] | 0) & 255 | 0) { + break label$77 + } + label$78 : { + if ((HEAP32[($15_1 + 196 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$78 + } + if (!((HEAP32[($15_1 + 196 | 0) >> 2] | 0 | 0) == (HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$77 + } + } + $1300(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 264 | 0) >> 2] | 0) + 1 | 0 | 0); + HEAP8[($15_1 + 194 | 0) >> 0] = 1; + } + HEAP32[($15_1 + 88 | 0) >> 2] = (HEAP32[($15_1 + 268 | 0) >> 2] | 0) + (HEAP32[($15_1 + 216 | 0) >> 2] | 0) | 0; + label$79 : { + if (!((HEAP32[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$79 + } + $686_1 = 0; + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 72 | 0, $686_1 | 0, HEAP32[((HEAP32[($15_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 216 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($15_1 + 284 | 0) >> 2] | 0) + 52 | 0) >> 2] = $686_1 - ((HEAP32[($15_1 + 264 | 0) >> 2] | 0) + 1 | 0) | 0; + $1647(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 84 | 0) >> 2] | 0 | 0, 16 | 0); + HEAP32[((HEAP32[($15_1 + 284 | 0) >> 2] | 0) + 52 | 0) >> 2] = $686_1; + } + HEAP32[($15_1 + 96 | 0) >> 2] = (HEAP32[((HEAP32[($15_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 216 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 1 | 0; + HEAP32[($15_1 + 220 | 0) >> 2] = 0; + label$80 : { + label$81 : while (1) { + if (!((HEAP32[($15_1 + 220 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$80 + } + $733_1 = 16; + HEAP32[($15_1 + 76 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 220 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $733_1 | 0) >> $733_1 | 0; + label$82 : { + label$83 : { + if (!((HEAP32[($15_1 + 76 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$83 + } + $742_1 = 0; + HEAP32[((HEAP32[($15_1 + 284 | 0) >> 2] | 0) + 52 | 0) >> 2] = $742_1 - ((HEAP32[($15_1 + 264 | 0) >> 2] | 0) + 1 | 0) | 0; + $1523(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($15_1 + 220 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 96 | 0) >> 2] | 0) + (HEAP32[($15_1 + 220 | 0) >> 2] | 0) | 0 | 0); + HEAP32[((HEAP32[($15_1 + 284 | 0) >> 2] | 0) + 52 | 0) >> 2] = $742_1; + break label$82; + } + label$84 : { + label$85 : { + label$86 : { + if ((HEAP32[($15_1 + 76 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { + break label$86 + } + $772_1 = 16; + if (!((HEAP32[($15_1 + 76 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $772_1 | 0) >> $772_1 | 0 | 0) & 1 | 0)) { + break label$85 + } + } + HEAP32[($15_1 + 72 | 0) >> 2] = HEAP32[($15_1 + 264 | 0) >> 2] | 0; + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 79 | 0, HEAP32[($15_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 96 | 0) >> 2] | 0) + (HEAP32[($15_1 + 220 | 0) >> 2] | 0) | 0 | 0) | 0; + break label$84; + } + $790_1 = 16; + $794_1 = 16; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = (((($1424(HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, ((HEAP32[($15_1 + 76 | 0) >> 2] | 0) << $790_1 | 0) >> $790_1 | 0 | 0) | 0) << $794_1 | 0) >> $794_1 | 0) + (HEAP32[($15_1 + 264 | 0) >> 2] | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 78 | 0, HEAP32[($15_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 96 | 0) >> 2] | 0) + (HEAP32[($15_1 + 220 | 0) >> 2] | 0) | 0 | 0) | 0; + } + } + HEAP32[($15_1 + 220 | 0) >> 2] = (HEAP32[($15_1 + 220 | 0) >> 2] | 0) + 1 | 0; + continue label$81; + }; + } + $367(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($15_1 + 96 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[((HEAP32[($15_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 216 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + label$87 : { + if (!((HEAPU8[($15_1 + 195 | 0) >> 0] | 0) & 255 | 0)) { + break label$87 + } + if (!((HEAP32[($15_1 + 228 | 0) >> 2] | 0 | 0) == (HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$87 + } + if ((HEAPU8[($15_1 + 259 | 0) >> 0] | 0) & 255 | 0) { + break label$87 + } + $1369(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 84 | 0) >> 2] | 0 | 0); + break label$73; + } + HEAP32[($15_1 + 208 | 0) >> 2] = (HEAPU8[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0; + label$88 : { + if (HEAP32[($15_1 + 208 | 0) >> 2] | 0) { + break label$88 + } + $1369(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 84 | 0) >> 2] | 0 | 0); + break label$73; + } + label$89 : { + label$90 : { + if (!(((HEAPU8[($15_1 + 258 | 0) >> 0] | 0) & 255 | 0 | 0) != (11 | 0) & 1 | 0)) { + break label$90 + } + HEAP32[($15_1 + 208 | 0) >> 2] = (HEAPU8[($15_1 + 258 | 0) >> 0] | 0) & 255 | 0; + break label$89; + } + label$91 : { + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$91 + } + HEAP32[($15_1 + 208 | 0) >> 2] = 2; + } + } + label$92 : { + if (!((HEAP32[($15_1 + 196 | 0) >> 2] | 0 | 0) == (HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$92 + } + label$93 : { + label$94 : { + if (!((HEAP32[((HEAP32[($15_1 + 240 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$94 + } + HEAP32[($15_1 + 208 | 0) >> 2] = 4; + break label$93; + } + HEAP32[($15_1 + 208 | 0) >> 2] = 6; + } + } + label$95 : { + if (HEAP32[($15_1 + 216 | 0) >> 2] | 0) { + break label$95 + } + if (!((HEAP32[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$95 + } + if (!((HEAP32[($15_1 + 228 | 0) >> 2] | 0 | 0) == (HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$95 + } + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$95 + } + i64toi32_i32$1 = 0; + $1464$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($15_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $1465$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $1466$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1465$hi; + i64toi32_i32$0 = $1466$hi; + i64toi32_i32$0 = $1465$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $1466$hi; + i64toi32_i32$2 = 8192; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $1467$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1464$hi; + i64toi32_i32$1 = $1467$hi; + i64toi32_i32$1 = $1464$hi; + i64toi32_i32$1 = $1467$hi; + $3446 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$1 = $1464$hi; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = $1467$hi; + i64toi32_i32$2 = $3446; + label$96 : { + if (((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0) { + break label$96 + } + $908_1 = 0; + if (!(($908_1 | 0) == ($1398(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, 126 | 0, $908_1 | 0, $908_1 | 0) | 0 | 0) & 1 | 0)) { + break label$95 + } + } + i64toi32_i32$0 = 0; + $1470$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($15_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $1471$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1472$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1471$hi; + i64toi32_i32$1 = $1472$hi; + i64toi32_i32$1 = $1471$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $1472$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $1473$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1470$hi; + i64toi32_i32$0 = $1473$hi; + i64toi32_i32$0 = $1470$hi; + i64toi32_i32$0 = $1473$hi; + $3482 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $1470$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = $1473$hi; + i64toi32_i32$3 = $3482; + label$97 : { + if (((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0) { + break label$97 + } + if (!((0 | 0) == (HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$95 + } + if (!((0 | 0) == ($1650(HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$95 + } + } + $1369(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 84 | 0) >> 2] | 0 | 0); + break label$73; + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $353(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 28 | 0, HEAP32[($15_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 96 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$98 : { + label$99 : { + if (!((HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) == (HEAP32[($15_1 + 228 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$99 + } + $958_1 = HEAP32[($15_1 + 96 | 0) >> 2] | 0; + break label$98; + } + $958_1 = $1379(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 200 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($15_1 + 92 | 0) >> 2] = $958_1; + label$100 : { + label$101 : { + if ((HEAPU8[($15_1 + 195 | 0) >> 0] | 0) & 255 | 0) { + break label$101 + } + if (!((HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$100 + } + } + label$102 : { + label$103 : { + if ((HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$103 + } + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 135 | 0, HEAP32[($15_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 92 | 0) >> 2] | 0 | 0) | 0; + label$104 : { + if (!(((HEAPU8[($15_1 + 195 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$104 + } + $367(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[($15_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 260 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 144 & 65535 | 0 | 0); + } + break label$102; + } + label$105 : { + if (!((HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) != (HEAP32[($15_1 + 228 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$105 + } + HEAP32[($15_1 + 220 | 0) >> 2] = 0; + label$106 : { + label$107 : while (1) { + if (!((HEAP32[($15_1 + 220 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($15_1 + 228 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$106 + } + $1026_1 = 16; + $1030_1 = 16; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = (($1329(HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[((HEAP32[($15_1 + 228 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 220 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $1026_1 | 0) >> $1026_1 | 0 | 0) | 0) << $1030_1 | 0) >> $1030_1 | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($15_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 68 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 92 | 0) >> 2] | 0) + (HEAP32[($15_1 + 220 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($15_1 + 220 | 0) >> 2] = (HEAP32[($15_1 + 220 | 0) >> 2] | 0) + 1 | 0; + continue label$107; + }; + } + } + label$108 : { + if (!(((HEAPU8[($15_1 + 195 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$108 + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = ($1296(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0) | 0) + (HEAPU16[((HEAP32[($15_1 + 228 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15_1 + 60 | 0) >> 2] = 52; + $85_1 = HEAP32[($15_1 + 232 | 0) >> 2] | 0; + label$109 : { + label$110 : { + if (!((((HEAPU8[($85_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($85_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$110 + } + $1070_1 = HEAP32[($15_1 + 96 | 0) >> 2] | 0; + break label$109; + } + $1070_1 = HEAP32[($15_1 + 92 | 0) >> 2] | 0; + } + HEAP32[($15_1 + 56 | 0) >> 2] = $1070_1; + HEAP32[($15_1 + 220 | 0) >> 2] = 0; + label$111 : { + label$112 : while (1) { + if (!((HEAP32[($15_1 + 220 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($15_1 + 228 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$111 + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1326(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($15_1 + 228 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 220 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + $1100_1 = 16; + HEAP32[($15_1 + 68 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($15_1 + 228 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 220 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $1100_1 | 0) >> $1100_1 | 0; + label$113 : { + if (!((HEAP32[($15_1 + 220 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($15_1 + 228 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$113 + } + HEAP32[($15_1 + 64 | 0) >> 2] = HEAP32[($15_1 + 84 | 0) >> 2] | 0; + HEAP32[($15_1 + 60 | 0) >> 2] = 53; + } + $1121_1 = 16; + $1125_1 = 16; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = (($1424(HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, ((HEAP32[($15_1 + 68 | 0) >> 2] | 0) << $1121_1 | 0) >> $1121_1 | 0 | 0) | 0) << $1125_1 | 0) >> $1125_1 | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 60 | 0) >> 2] | 0 | 0, ((HEAP32[($15_1 + 260 | 0) >> 2] | 0) + 1 | 0) + (HEAP32[($15_1 + 68 | 0) >> 2] | 0) | 0 | 0, HEAP32[($15_1 + 64 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 56 | 0) >> 2] | 0) + (HEAP32[($15_1 + 220 | 0) >> 2] | 0) | 0 | 0, HEAP32[($15_1 + 52 | 0) >> 2] | 0 | 0, -2 | 0) | 0; + $354(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 144 & 65535 | 0 | 0); + HEAP32[($15_1 + 220 | 0) >> 2] = (HEAP32[($15_1 + 220 | 0) >> 2] | 0) + 1 | 0; + continue label$112; + }; + } + } + } + } + $1148_1 = (HEAP32[($15_1 + 208 | 0) >> 2] | 0) + -1 | 0; + label$114 : { + label$115 : { + switch ($1148_1 | 0) { + case 0: + case 1: + case 2: + $1646(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0); + break label$114; + case 5: + $1838(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 240 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 268 | 0) >> 2] | 0) + (HEAP32[($15_1 + 216 | 0) >> 2] | 0) | 0 | 0); + case 3: + $1282(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 252 | 0) >> 2] | 0 | 0) | 0; + break label$114; + default: + break label$115; + }; + } + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = ($1296(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0) | 0) - (HEAP32[($15_1 + 80 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$119 : { + if (!(HEAP32[($15_1 + 172 | 0) >> 2] | 0)) { + break label$119 + } + $1407(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0); + HEAP32[($15_1 + 156 | 0) >> 2] = (HEAP32[($15_1 + 156 | 0) >> 2] | 0) + 1 | 0; + } + label$120 : { + if (!((HEAP32[($15_1 + 160 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$120 + } + if (!((HEAPU8[($15_1 + 195 | 0) >> 0] | 0) & 255 | 0)) { + break label$120 + } + $1288(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 160 | 0, HEAP32[($15_1 + 272 | 0) >> 2] | 0 | 0) | 0; + } + $1184_1 = 0; + $1204_1 = 16; + $1413(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 272 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 92 | 0) >> 2] | 0 | 0, ((HEAP32[($15_1 + 200 | 0) >> 2] | 0) << $1204_1 | 0) >> $1204_1 | 0 | 0, 0 & 255 | 0 | 0, 5 & 255 | 0 | 0, ((HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) == (HEAP32[($15_1 + 228 | 0) >> 2] | 0 | 0) & 1 | 0 ? 1 : $1184_1) & 255 | 0 | 0, HEAP32[($15_1 + 88 | 0) >> 2] | 0 | 0); + label$121 : { + if (!((HEAP32[($15_1 + 160 | 0) >> 2] | 0 | 0) != ($1184_1 | 0) & 1 | 0)) { + break label$121 + } + if (!((HEAPU8[($15_1 + 195 | 0) >> 0] | 0) & 255 | 0)) { + break label$121 + } + $1288(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 161 | 0, HEAP32[($15_1 + 272 | 0) >> 2] | 0 | 0) | 0; + } + label$122 : { + if (!(HEAP32[($15_1 + 172 | 0) >> 2] | 0)) { + break label$122 + } + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[($15_1 + 172 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1276(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 11 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $1369(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 164 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $15_1, wasm2js_i32$1 = $1358(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + label$123 : { + if (!((HEAP32[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$123 + } + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 50 | 0, (HEAP32[($15_1 + 96 | 0) >> 2] | 0) - 1 | 0 | 0, HEAP32[($15_1 + 164 | 0) >> 2] | 0 | 0) | 0; + } + label$124 : { + label$125 : while (1) { + if (!((HEAP32[($15_1 + 48 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$124 + } + $1261_1 = $15_1 + 24 | 0; + i64toi32_i32$3 = $1467(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 80 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $4230 = i64toi32_i32$1; + i64toi32_i32$1 = $1261_1; + HEAP32[i64toi32_i32$1 >> 2] = $4230; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $1265_1 = 16; + HEAP32[(i64toi32_i32$1 + $1265_1 | 0) >> 2] = HEAP32[(i64toi32_i32$3 + $1265_1 | 0) >> 2] | 0; + $1269_1 = 8; + i64toi32_i32$3 = i64toi32_i32$3 + $1269_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $4250 = i64toi32_i32$0; + i64toi32_i32$0 = $1261_1 + $1269_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $4250; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$126 : { + if (!(((HEAPU8[($15_1 + 24 | 0) >> 0] | 0) & 255 | 0 | 0) != (135 | 0) & 1 | 0)) { + break label$126 + } + label$127 : { + label$128 : { + if (!(((HEAPU8[(((HEAPU8[($15_1 + 24 | 0) >> 0] | 0) & 255 | 0) + 11248 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$128 + } + HEAP32[($15_1 + 20 | 0) >> 2] = HEAP32[($15_1 + 164 | 0) >> 2] | 0; + break label$127; + } + HEAP32[($15_1 + 20 | 0) >> 2] = HEAP32[($15_1 + 32 | 0) >> 2] | 0; + } + $1292_1 = 24; + label$129 : { + label$130 : { + if (!((((HEAPU8[($15_1 + 25 | 0) >> 0] | 0) << $1292_1 | 0) >> $1292_1 | 0 | 0) == (-3 | 0) & 1 | 0)) { + break label$130 + } + $1301_1 = HEAP32[($15_1 + 40 | 0) >> 2] | 0; + break label$129; + } + $1301_1 = HEAP32[($15_1 + 40 | 0) >> 2] | 0; + } + HEAP32[($15_1 + 16 | 0) >> 2] = $1301_1; + $1313_1 = 24; + $1278(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, (HEAPU8[($15_1 + 24 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($15_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 16 | 0) >> 2] | 0 | 0, ((HEAPU8[($15_1 + 25 | 0) >> 0] | 0) << $1313_1 | 0) >> $1313_1 | 0 | 0) | 0; + $354(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, (HEAPU16[($15_1 + 26 | 0) >> 1] | 0) & 65535 | 0 | 0); + } + HEAP32[($15_1 + 48 | 0) >> 2] = (HEAP32[($15_1 + 48 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($15_1 + 80 | 0) >> 2] = (HEAP32[($15_1 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$125; + }; + } + $1646(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 44 | 0) >> 2] | 0 | 0); + } + HEAP32[($15_1 + 204 | 0) >> 2] = 1; + } + label$131 : { + label$132 : { + if (!((HEAP32[($15_1 + 196 | 0) >> 2] | 0 | 0) == (HEAP32[($15_1 + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$132 + } + $1282(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, (HEAP32[($15_1 + 184 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $1277(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 188 | 0) >> 2] | 0 | 0); + break label$131; + } + $1369(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 84 | 0) >> 2] | 0 | 0); + } + label$133 : { + if (!((HEAP32[($15_1 + 92 | 0) >> 2] | 0 | 0) != (HEAP32[($15_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$133 + } + $1384(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 200 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($15_1 + 232 | 0) >> 2] = HEAP32[((HEAP32[($15_1 + 232 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($15_1 + 216 | 0) >> 2] = (HEAP32[($15_1 + 216 | 0) >> 2] | 0) + 1 | 0; + continue label$72; + }; + } + label$134 : { + if (!(HEAP32[($15_1 + 180 | 0) >> 2] | 0)) { + break label$134 + } + $1282(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 180 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 176 | 0) >> 2] | 0 | 0); + } + label$135 : { + if (!(HEAP32[($15_1 + 156 | 0) >> 2] | 0)) { + break label$135 + } + $366(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[($15_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 164 | 0) >> 2] | 0 | 0) | 0; + label$136 : { + label$137 : { + if ((HEAP32[($15_1 + 228 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$137 + } + label$138 : { + if (!(((HEAPU8[($15_1 + 195 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$138 + } + $367(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[($15_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 260 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 144 & 65535 | 0 | 0); + } + $367(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[($15_1 + 272 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 264 | 0) >> 2] | 0 | 0) | 0; + $1837(HEAP32[($15_1 + 284 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0); + break label$136; + } + $1282(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 168 | 0) >> 2] | 0 | 0) | 0; + } + $1369(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 164 | 0) >> 2] | 0 | 0); + } + label$139 : { + if ((HEAP32[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$139 + } + HEAP32[($15_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($15_1 + 276 | 0) >> 2] | 0) + ((HEAP32[($15_1 + 216 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $1427_1 = 16; + $367(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, 91 | 0, (HEAP32[($15_1 + 264 | 0) >> 2] | 0) + 1 | 0 | 0, ((HEAPU16[((HEAP32[($15_1 + 280 | 0) >> 2] | 0) + 44 | 0) >> 1] | 0) << $1427_1 | 0) >> $1427_1 | 0 | 0, HEAP32[($15_1 + 12 | 0) >> 2] | 0 | 0) | 0; + label$140 : { + if (((HEAPU8[($15_1 + 194 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$140 + } + $1300(HEAP32[($15_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($15_1 + 280 | 0) >> 2] | 0 | 0, 0 | 0); + } + } + HEAP32[(HEAP32[($15_1 + 248 | 0) >> 2] | 0) >> 2] = HEAP32[($15_1 + 204 | 0) >> 2] | 0; + global$0 = $15_1 + 288 | 0; + return; + } + + function $1428($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $39_1 = 0, $366_1 = 0, $462$hi = 0, $307_1 = 0, $468$hi = 0, $463$hi = 0, $464$hi = 0, $466$hi = 0, $136_1 = 0, $140_1 = 0, $190_1 = 0, $228_1 = 0, $231_1 = 0, $234_1 = 0, $267_1 = 0, $469$hi = 0, $470$hi = 0, $472$hi = 0, $386_1 = 0, $390_1 = 0, $391_1 = 0, $214_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 128 | 0; + global$0 = $8_1; + i64toi32_i32$0 = 0; + $462$hi = i64toi32_i32$0; + HEAP32[($8_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 112 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 108 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 104 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 100 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 124 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 84 | 0) >> 2] = (HEAPU8[((HEAP32[($8_1 + 124 | 0) >> 2] | 0) + 150 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 100 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $463$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $464$hi = i64toi32_i32$1; + i64toi32_i32$1 = $463$hi; + i64toi32_i32$1 = $464$hi; + i64toi32_i32$1 = $463$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $464$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $466$hi = i64toi32_i32$0; + i64toi32_i32$0 = $462$hi; + i64toi32_i32$0 = $466$hi; + i64toi32_i32$0 = $462$hi; + i64toi32_i32$0 = $466$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $462$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $350(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 120 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 92 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($8_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 120 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $39_1 = 0; + HEAP32[($8_1 + 76 | 0) >> 2] = $39_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $39_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $39_1; + label$5 : { + label$6 : { + if (!((HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) != ($39_1 | 0) & 1 | 0)) { + break label$6 + } + if (!($87(HEAP32[(HEAP32[($8_1 + 120 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + if ($1815(HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + break label$5; + } + label$7 : { + label$8 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 124 | 0) >> 2] | 0) + 150 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $361(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + break label$7; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $348(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + label$9 : { + label$10 : { + if (!((HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (!($1464(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, $8_1 + 76 | 0 | 0, $8_1 + 72 | 0 | 0) | 0)) { + break label$9 + } + } + label$11 : { + label$12 : { + if (!(HEAP32[($8_1 + 84 | 0) >> 2] | 0)) { + break label$12 + } + if (!((HEAPU8[((HEAP32[($8_1 + 100 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + } + break label$1; + } + label$13 : { + if (!((HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1275(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = (($1296(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) | 0) + (HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[(((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + $136_1 = 16; + $140_1 = 16; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = (((($1424(HEAP32[(HEAP32[($8_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 44 | 0) >> 2] | 0) << $136_1 | 0) >> $136_1 | 0 | 0) | 0) << $140_1 | 0) >> $140_1 | 0) + (HEAP32[($8_1 + 116 | 0) >> 2] | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + $366(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, 151 | 0, (HEAPU8[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0, -1 | 0) | 0; + } + break label$5; + } + label$16 : { + label$17 : { + if (!((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($8_1 + 68 | 0) >> 2] = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + break label$16; + } + HEAP32[($8_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 68 | 0) >> 2] = $8_1 + 64 | 0; + } + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $190_1 = 16; + label$20 : { + if (!((HEAP32[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($8_1 + 120 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $190_1 | 0) >> $190_1 | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + } + label$21 : { + if (!((HEAP32[((HEAP32[($8_1 + 100 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + $214_1 = HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$22 : { + label$23 : { + if (!((HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + $228_1 = 16; + $231_1 = ((HEAPU16[((HEAP32[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $228_1 | 0) >> $228_1 | 0; + break label$22; + } + $234_1 = 16; + $231_1 = ((HEAPU16[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $234_1 | 0) >> $234_1 | 0; + } + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[($214_1 + Math_imul($231_1, 20) | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1607(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($8_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0; + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + $1393(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, HEAP32[(HEAP32[($8_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0); + $267_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($267_1 + 40 | 0) >> 2] = (HEAP32[($267_1 + 40 | 0) >> 2] | 0) + 1 | 0; + label$24 : { + if (!(HEAP32[($8_1 + 116 | 0) >> 2] | 0)) { + break label$24 + } + $1821(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0); + } + label$25 : { + if (!(HEAP32[($8_1 + 112 | 0) >> 2] | 0)) { + break label$25 + } + if ($1822(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) | 0) { + break label$25 + } + $1821(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0); + } + $13(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0); + } + HEAP32[($8_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$4; + }; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1650(HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$26 : while (1) { + if (!((HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $307_1 = 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $307_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $307_1; + label$27 : { + label$28 : { + if (!((HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) != ($307_1 | 0) & 1 | 0)) { + break label$28 + } + if ($1816(HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) | 0) { + break label$28 + } + break label$27; + } + label$29 : { + if (((HEAPU8[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$29 + } + i64toi32_i32$1 = 0; + $468$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($8_1 + 100 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $469$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $470$hi = i64toi32_i32$0; + i64toi32_i32$0 = $469$hi; + i64toi32_i32$0 = $470$hi; + i64toi32_i32$0 = $469$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $470$hi; + i64toi32_i32$2 = 524288; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $472$hi = i64toi32_i32$1; + i64toi32_i32$1 = $468$hi; + i64toi32_i32$1 = $472$hi; + i64toi32_i32$1 = $468$hi; + i64toi32_i32$1 = $472$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $468$hi; + i64toi32_i32$2 = 0; + if (((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0) { + break label$29 + } + if ((HEAP32[((HEAP32[($8_1 + 124 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$29 + } + if (((HEAPU8[((HEAP32[($8_1 + 124 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$29 + } + break label$27; + } + label$30 : { + if (!($1464(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, $8_1 + 28 | 0 | 0, $8_1 + 20 | 0 | 0) | 0)) { + break label$30 + } + label$31 : { + label$32 : { + if (!(HEAP32[($8_1 + 84 | 0) >> 2] | 0)) { + break label$32 + } + if (!((HEAPU8[((HEAP32[($8_1 + 100 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$31 + } + } + break label$1; + } + break label$27; + } + $366_1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1222(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, $366_1 | 0, $366_1 | 0, $366_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$33 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) != ($366_1 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 8 | 0; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 96 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($8_1 + 96 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + $386_1 = HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($386_1 + 32 | 0) >> 2] = (HEAP32[($386_1 + 32 | 0) >> 2] | 0) + 1 | 0; + $390_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + $391_1 = HEAP32[($390_1 + 40 | 0) >> 2] | 0; + HEAP32[($390_1 + 40 | 0) >> 2] = $391_1 + 1 | 0; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] = $391_1; + label$34 : { + if (!(HEAP32[($8_1 + 112 | 0) >> 2] | 0)) { + break label$34 + } + $1823(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0, -1 | 0); + } + label$35 : { + if (!(HEAP32[($8_1 + 116 | 0) >> 2] | 0)) { + break label$35 + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAPU8[(((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 25 | 0) + ((HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) | 0) >> 0] | 0) & 255 | 0; + $1823(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0, 1 | 0); + label$36 : { + if (((HEAPU8[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$36 + } + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) != (10 | 0) & 1 | 0)) { + break label$36 + } + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) != (8 | 0) & 1 | 0)) { + break label$36 + } + $1295(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0); + } + } + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + $1143(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + } + $13(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0); + } + HEAP32[($8_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$26; + }; + } + global$0 = $8_1 + 128 | 0; + return; + } + + function $1429($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $18_1 = 0, $66_1 = 0, $13_1 = 0, $87_1 = 0, $71_1 = 0, $74_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 32 | 0) >> 2] = -1; + HEAP32[($8_1 + 20 | 0) >> 2] = 0; + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$2 + } + $18_1 = 0; + break label$1; + } + $18_1 = $416(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($8_1 + 12 | 0) >> 2] = $18_1; + HEAP32[($8_1 + 36 | 0) >> 2] = 0; + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + label$6 : { + if (!((HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) { + break label$6 + } + break label$5; + } + label$7 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + break label$5; + } + label$8 : { + if (!(((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + (HEAP32[($8_1 + 36 | 0) >> 2] | 0) | 0 | 0) == (HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$5; + } + $66_1 = 1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1469(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, $66_1 | 0, $8_1 + 28 | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $71_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + $74_1 = (HEAP32[($8_1 + 48 | 0) >> 2] | 0) + (HEAP32[($8_1 + 36 | 0) >> 2] | 0) | 0; + $75_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + $13_1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!((((HEAPU8[($13_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($13_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 3 | 0) & $66_1 | 0) & 65535 | 0)) { + break label$10 + } + $87_1 = (HEAPU16[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + break label$9; + } + $87_1 = (HEAPU16[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0; + } + $367($71_1 | 0, 133 | 0, $74_1 | 0, $75_1 | 0, $87_1 | 0) | 0; + $354(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + $1470(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$4; + }; + } + global$0 = $8_1 + 64 | 0; + return; + } + + function $1430($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, $18_1 = 0, $85_1 = 0, $91_1 = 0, $92_1 = 0, $19_1 = 0, $105_1 = 0, $141_1 = 0, $83_1 = 0, $86_1 = 0, $93_1 = 0; + $11_1 = global$0 - 64 | 0; + global$0 = $11_1; + HEAP32[($11_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 36 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 32 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 28 | 0) >> 2] = $8_1; + HEAP32[($11_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($11_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($11_1 + 12 | 0) >> 2] = 0; + HEAP32[($11_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($11_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) { + break label$4 + } + break label$3; + } + label$5 : { + if (!((HEAP32[((HEAP32[($11_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $366(HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($11_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, ($1296(HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0) | 0; + } + HEAP8[($11_1 + 19 | 0) >> 0] = ((HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0)) << 4 | 0; + $18_1 = HEAP32[($11_1 + 20 | 0) >> 2] | 0; + label$6 : { + if (!((((HEAPU8[($18_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($18_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$6 + } + HEAP8[($11_1 + 19 | 0) >> 0] = (HEAPU8[($11_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 1 | 0; + HEAP8[($11_1 + 19 | 0) >> 0] = (HEAPU8[($11_1 + 19 | 0) >> 0] | 0) & 255 | 0 | ((HEAP32[($11_1 + 36 | 0) >> 2] | 0) & 2 | 0) | 0; + } + $83_1 = HEAP32[($11_1 + 24 | 0) >> 2] | 0; + $85_1 = HEAP32[($11_1 + 12 | 0) >> 2] | 0; + $86_1 = (HEAP32[($11_1 + 48 | 0) >> 2] | 0) + $85_1 | 0; + $91_1 = HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + ($85_1 << 2 | 0) | 0) >> 2] | 0; + $92_1 = 1; + $93_1 = $91_1 + $92_1 | 0; + $19_1 = HEAP32[($11_1 + 20 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((((HEAPU8[($19_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($19_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 3 | 0) & $92_1 | 0) & 65535 | 0)) { + break label$8 + } + $105_1 = (HEAPU16[((HEAP32[($11_1 + 20 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + break label$7; + } + $105_1 = (HEAPU16[((HEAP32[($11_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0; + } + $353($83_1 | 0, 131 | 0, $86_1 | 0, $91_1 | 0, $93_1 | 0, $105_1 | 0) | 0; + $354(HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, ((HEAPU8[($11_1 + 19 | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0); + } + HEAP32[($11_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($11_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($11_1 + 12 | 0) >> 2] = (HEAP32[($11_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$10 + } + break label$9; + } + label$11 : { + label$12 : { + if (!(((HEAPU8[((HEAP32[($11_1 + 60 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP8[($11_1 + 19 | 0) >> 0] = 0; + break label$11; + } + HEAP8[($11_1 + 19 | 0) >> 0] = 1; + label$13 : { + label$14 : { + if (!(HEAP32[($11_1 + 36 | 0) >> 2] | 0)) { + break label$14 + } + $141_1 = HEAP32[($11_1 + 36 | 0) >> 2] | 0; + break label$13; + } + $141_1 = 32; + } + HEAP8[($11_1 + 19 | 0) >> 0] = (HEAPU8[($11_1 + 19 | 0) >> 0] | 0) & 255 | 0 | $141_1 | 0; + } + label$15 : { + if (!(HEAP32[($11_1 + 32 | 0) >> 2] | 0)) { + break label$15 + } + HEAP8[($11_1 + 19 | 0) >> 0] = (HEAPU8[($11_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 8 | 0; + } + label$16 : { + if (!(HEAP32[($11_1 + 28 | 0) >> 2] | 0)) { + break label$16 + } + HEAP8[($11_1 + 19 | 0) >> 0] = (HEAPU8[($11_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 16 | 0; + } + $367(HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($11_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) | 0; + label$17 : { + if (((HEAPU8[((HEAP32[($11_1 + 60 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$17 + } + $1420(HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0, -6 | 0); + } + $354(HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, ((HEAPU8[($11_1 + 19 | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0); + } + global$0 = $11_1 + 64 | 0; + return; + } + + function $1431($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $57$hi = 0, i64toi32_i32$3 = 0, $58$hi = 0, $59$hi = 0, $61$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + i64toi32_i32$0 = 0; + $57$hi = i64toi32_i32$0; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + i64toi32_i32$2 = HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $58$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $59$hi = i64toi32_i32$1; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $59$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $61$hi = i64toi32_i32$0; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $57$hi; + i64toi32_i32$3 = 0; + label$1 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1650(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if ((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + if (!($1816(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1824(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[$8_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $1820(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[$8_1 >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, 2 | 0, 0 | 0); + } + } + HEAP32[($8_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$3; + }; + } + } + global$0 = $8_1 + 32 | 0; + return; + } + + function $1432($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($3_1 + 7 | 0) >> 0] = HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0; + label$1 : { + if (!(((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) == (173 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[($3_1 + 7 | 0) >> 0] = HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0; + } + label$2 : { + label$3 : { + if (!(((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) == (174 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0; + break label$2; + } + label$4 : { + if (!(((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + break label$2; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1433($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0, $57_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 175 | 0, $16_1 | 0, $16_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != ($16_1 | 0) & 1 | 0)) { + break label$3 + } + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 32 | 0) >> 1] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + break label$1; + } + label$4 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (174 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $1318(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + $57_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $57_1 | 0; + } + + function $1434($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $861_1 = 0, $874$hi = 0, $880$hi = 0, $58_1 = 0, $171_1 = 0, $205_1 = 0, $244_1 = 0, $249_1 = 0, $260_1 = 0, $265_1 = 0, $278_1 = 0, $332_1 = 0, $337_1 = 0, $380_1 = 0, $875$hi = 0, $876$hi = 0, $878$hi = 0, $881$hi = 0, $882$hi = 0, $884$hi = 0, $520_1 = 0, $521_1 = 0, $524_1 = 0, $525_1 = 0, $547_1 = 0, $592_1 = 0, $604_1 = 0, $662_1 = 0, $663_1 = 0, $43_1 = 0, $820_1 = 0, $821_1 = 0, $871_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 128 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 112 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 108 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 104 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 100 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if ((HEAP32[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$5 : { + if (!(($1651(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$6 : { + if (!(HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$7 : { + if (!((HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$7 + } + $58_1 = 16; + label$8 : { + if (!((((HEAPU16[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $58_1 | 0) >> $58_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 108 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 50 | 0) >> 0] | 0) & 255 | 0; + } + label$9 : { + if (!((HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($7_1 + 108 | 0) >> 2] = 2; + } + } + label$10 : { + if (!((HEAP32[(HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$11 : { + if (!((HEAP32[((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$12 : { + if (!((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$13 : { + if (!((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$14 : { + if (!((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$15 : { + if (!((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$16 : { + if (!((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$17 : { + if (!((HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$18 : { + if (!((HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$19 : { + if (!(((HEAPU8[(HEAP32[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (177 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + $171_1 = 0; + HEAP32[($7_1 + 80 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 112 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 8 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1323(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, $171_1 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) == ($171_1 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$21 : { + if (!((HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + if (!((HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + $205_1 = 0; + label$22 : { + if (!((((HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0 | 0) == ($205_1 | 0) & 1 | 0 | 0) != (((HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0 | 0) == ($205_1 | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$23 : { + if (!(HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$23 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$24 : { + if (!((HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + $244_1 = 16; + $249_1 = 16; + label$25 : { + if (!((((HEAPU16[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $244_1 | 0) >> $244_1 | 0 | 0) != (((HEAPU16[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $249_1 | 0) >> $249_1 | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + $260_1 = 16; + $265_1 = 16; + label$26 : { + if (!((((HEAPU16[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $260_1 | 0) >> $260_1 | 0 | 0) != (((HEAPU16[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $265_1 | 0) >> $265_1 | 0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + label$27 : { + label$28 : while (1) { + $278_1 = 16; + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $278_1 | 0) >> $278_1 | 0 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 76 | 0) >> 2] | 0, 20) | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 76 | 0) >> 2] | 0, 20) | 0; + label$29 : { + if (!((((HEAPU16[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0 | 0) != (((HEAPU16[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$30 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$30 + } + label$31 : { + if (!($1529(0 | 0, HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$31 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + } + $332_1 = 24; + $337_1 = 24; + label$32 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $332_1 | 0) >> $332_1 | 0 | 0) != (((HEAPU8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $337_1 | 0) >> $337_1 | 0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$33 : { + if (!($87(HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$33 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$34 : { + if (!((HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0)) { + break label$34 + } + if (((HEAPU8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$34 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$35 : { + if (((HEAPU16[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0) { + break label$35 + } + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$35 + } + $380_1 = 0; + label$36 : { + label$37 : { + if (((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == ($380_1 | 0) & 1 | 0 | 0) != ((HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == ($380_1 | 0) & 1 | 0 | 0) & 1 | 0) { + break label$37 + } + if (!((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$36 + } + if (!($3229(HEAP32[((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$36 + } + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + } + HEAP32[($7_1 + 76 | 0) >> 2] = (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$38 : { + label$39 : while (1) { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$38 + } + label$40 : { + if (!((HEAPU8[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$40 + } + HEAP32[($7_1 + 36 | 0) >> 2] = 1; + } + HEAP32[($7_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$41 : { + label$42 : while (1) { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$41 + } + label$43 : { + if (!($1839(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) | 0)) { + break label$43 + } + break label$41; + } + HEAP32[($7_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$42; + }; + } + label$44 : { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$44 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$45 : { + if (!((HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$45 + } + if (!((HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$45 + } + if ($176(411 | 0) | 0) { + break label$45 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$39; + }; + } + label$46 : { + if (!((HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$46 + } + if (!($1356(HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$46 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = 0; + $874$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($7_1 + 100 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $875$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $876$hi = i64toi32_i32$1; + i64toi32_i32$1 = $875$hi; + i64toi32_i32$1 = $876$hi; + i64toi32_i32$1 = $875$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $876$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $878$hi = i64toi32_i32$0; + i64toi32_i32$0 = $874$hi; + i64toi32_i32$0 = $878$hi; + i64toi32_i32$0 = $874$hi; + i64toi32_i32$0 = $878$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $874$hi; + i64toi32_i32$3 = 0; + label$47 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$47 + } + if (!((HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$47 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$1 = 0; + $880$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($7_1 + 100 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $881$hi = i64toi32_i32$0; + i64toi32_i32$0 = 1; + $882$hi = i64toi32_i32$0; + i64toi32_i32$0 = $881$hi; + i64toi32_i32$0 = $882$hi; + i64toi32_i32$0 = $881$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $882$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $884$hi = i64toi32_i32$1; + i64toi32_i32$1 = $880$hi; + i64toi32_i32$1 = $884$hi; + i64toi32_i32$1 = $880$hi; + i64toi32_i32$1 = $884$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $880$hi; + i64toi32_i32$2 = 0; + label$48 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$48 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $350(HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1275(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $1286(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0); + $520_1 = HEAP32[($7_1 + 120 | 0) >> 2] | 0; + $521_1 = HEAP32[($520_1 + 40 | 0) >> 2] | 0; + HEAP32[($520_1 + 40 | 0) >> 2] = $521_1 + 1 | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = $521_1; + $524_1 = HEAP32[($7_1 + 120 | 0) >> 2] | 0; + $525_1 = HEAP32[($524_1 + 40 | 0) >> 2] | 0; + HEAP32[($524_1 + 40 | 0) >> 2] = $525_1 + 1 | 0; + HEAP32[($7_1 + 64 | 0) >> 2] = $525_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1435(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $1462(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0, 97 | 0); + label$49 : { + if ((HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 4 | 0) { + break label$49 + } + $547_1 = 16; + label$50 : { + label$51 : { + if (!((((HEAPU16[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $547_1 | 0) >> $547_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$51 + } + if ((HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$50 + } + } + if (HEAP32[($7_1 + 36 | 0) >> 2] | 0) { + break label$50 + } + if (!((HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$49 + } + if (!((HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$49 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1276(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 11 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + $1277(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0); + } + label$52 : { + label$53 : { + if ((HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$53 + } + $592_1 = 0; + $1462(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0, 96 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, $592_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $604_1 = 16; + label$54 : { + label$55 : { + if (!((((HEAPU16[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $604_1 | 0) >> $604_1 | 0 | 0) >= ($592_1 | 0) & 1 | 0)) { + break label$55 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $367(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + $1837(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0); + $1440(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + break label$54; + } + label$56 : { + label$57 : { + if (!((HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$57 + } + if ((HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 8 | 0) { + break label$57 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$56; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + } + } + label$58 : { + label$59 : { + if (!((HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 4 | 0)) { + break label$59 + } + $1288(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 130 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) | 0; + HEAP8[($7_1 + 19 | 0) >> 0] = 24; + break label$58; + } + HEAP8[($7_1 + 19 | 0) >> 0] = 41; + } + $662_1 = 116; + $663_1 = 0; + $367(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 127 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + $1278(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0, -6 | 0) | 0; + $354(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, ((HEAPU8[($7_1 + 19 | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0); + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $662_1 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, $663_1 | 0) | 0; + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $662_1 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, $663_1 | 0) | 0; + break label$52; + } + $1393(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, HEAP32[(HEAP32[($7_1 + 116 | 0) >> 2] | 0) >> 2] | 0 | 0); + $1393(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, HEAP32[(HEAP32[($7_1 + 92 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$60 : { + label$61 : while (1) { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$60 + } + HEAP8[($7_1 + 18 | 0) >> 0] = 0; + HEAP32[($7_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$62 : { + label$63 : while (1) { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$62 + } + label$64 : { + if (!($1839(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) | 0)) { + break label$64 + } + break label$62; + } + HEAP32[($7_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$63; + }; + } + $367(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 96 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) | 0; + $1405(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0); + $367(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 97 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) | 0; + $1405(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0); + $354(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$65 : { + label$66 : { + if (!((HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 4 | 0)) { + break label$66 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + label$67 : { + label$68 : while (1) { + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$67 + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 76 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$69 : { + if (!($87(2261 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$69 + } + break label$67; + } + HEAP32[($7_1 + 76 | 0) >> 2] = (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 1 | 0; + continue label$68; + }; + } + label$70 : { + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) == ((HEAPU16[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$70 + } + HEAP8[($7_1 + 18 | 0) >> 0] = 16; + $1288(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 130 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) | 0; + } + break label$65; + } + label$71 : { + if (!((HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$71 + } + $43_1 = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + if (!((((HEAPU8[($43_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($43_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$71 + } + HEAP8[($7_1 + 18 | 0) >> 0] = (HEAPU8[($7_1 + 18 | 0) >> 0] | 0) & 255 | 0 | 1 | 0; + } + } + $820_1 = 116; + $821_1 = 0; + $367(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 127 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, ((HEAPU8[($7_1 + 18 | 0) >> 0] | 0) & 255 | 0 | 8 | 0) & 65535 | 0 | 0); + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0); + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $820_1 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, $821_1 | 0) | 0; + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $820_1 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, $821_1 | 0) | 0; + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$61; + }; + } + label$72 : { + if (!(HEAP32[($7_1 + 48 | 0) >> 2] | 0)) { + break label$72 + } + $1277(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + } + $1383(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + label$73 : { + if (!(HEAP32[($7_1 + 52 | 0) >> 2] | 0)) { + break label$73 + } + $861_1 = 0; + $1414(HEAP32[($7_1 + 120 | 0) >> 2] | 0 | 0); + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 68 | 0, $861_1 | 0, $861_1 | 0) | 0; + $1277(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0); + $366(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 116 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, $861_1 | 0) | 0; + HEAP32[($7_1 + 124 | 0) >> 2] = $861_1; + break label$1; + } + HEAP32[($7_1 + 124 | 0) >> 2] = 1; + } + $871_1 = HEAP32[($7_1 + 124 | 0) >> 2] | 0; + global$0 = $7_1 + 128 | 0; + return $871_1 | 0; + } + + function $1435($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $26_1 = 0, $54_1 = 0, $64_1 = 0, $79_1 = 0, $118_1 = 0, $122_1 = 0, $125_1 = 0, $127_1 = 0, i64toi32_i32$0 = 0, $134_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 8 | 0)) { + break label$2 + } + if ((HEAP32[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 4 | 0) { + break label$2 + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $26_1 = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$3; + } + $26_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 8 | 0) >> 2] = $26_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[(((HEAP32[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if ((HEAP32[$5_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$6 + } + if ((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$6 + } + if (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$6 + } + $54_1 = 16; + if (!((((HEAPU16[((HEAP32[$5_1 >> 2] | 0) + 42 | 0) >> 1] | 0) << $54_1 | 0) >> $54_1 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$5 + } + } + $64_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($64_1 + 36 | 0) >> 2] = (HEAP32[($64_1 + 36 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = 523; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + label$7 : while (1) { + $79_1 = 0; + label$8 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $79_1 = (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + label$9 : { + if (!($79_1 & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + continue label$7; + } + break label$7; + }; + label$10 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, 16 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 112 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $118_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($118_1 + 44 | 0) >> 2] = (HEAP32[($118_1 + 44 | 0) >> 2] | 0) + 1 | 0; + $122_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $125_1 = (HEAP32[($122_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($122_1 + 44 | 0) >> 2] = $125_1; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = $125_1; + $127_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($127_1 + 44 | 0) >> 2] = (HEAP32[($127_1 + 44 | 0) >> 2] | 0) + 2 | 0; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $134_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $134_1 | 0; + } + + function $1436($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0, $102_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1296(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$2 + } + $16_1 = $1056(HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $16_1 = 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = $16_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 1; + label$3 : { + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1467(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (96 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$3; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + label$10 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$3; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$9; + }; + } + } + label$11 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (166 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$3; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $102_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $102_1 | 0; + } + + function $1437($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $13_1 = 0, $23_1 = 0, $52_1 = 0, $66_1 = 0, $77_1 = 0, $86_1 = 0, $112_1 = 0, $115_1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + break label$1; + } + $13_1 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = 48; + HEAP32[($4_1 + 24 | 0) >> 2] = 47; + HEAP32[($4_1 + 28 | 0) >> 2] = $13_1; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 36880 | 0; + $23_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($23_1 + 24 | 0) >> 2] = (HEAP32[($23_1 + 24 | 0) >> 2] | 0) & -36881 | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $13_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 48 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + break label$5; + } + $52_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($52_1 + 212 | 0) >> 2] = (HEAP32[($52_1 + 212 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + label$7 : { + if (!($1312(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 2; + break label$1; + } + $1547($4_1 + 16 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $66_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($66_1 + 212 | 0) >> 2] = (HEAP32[($66_1 + 212 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 36880 | 0)) { + break label$8 + } + $77_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($77_1 + 4 | 0) >> 2] = HEAP32[($77_1 + 4 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 32784 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 36880 | 0) | 0; + $86_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($86_1 + 24 | 0) >> 2] = (HEAP32[($86_1 + 24 | 0) >> 2] | 0) & -36881 | 0; + } + label$9 : { + label$10 : { + if ((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$10 + } + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + } + HEAP32[($4_1 + 60 | 0) >> 2] = 2; + break label$1; + } + } + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $112_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($112_1 + 24 | 0) >> 2] = HEAP32[($112_1 + 24 | 0) >> 2] | 0 | (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + } + $115_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $115_1 | 0; + } + + function $1438($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, $8_1 = 0, i64toi32_i32$0 = 0, $257_1 = 0, $50_1 = 0, $62_1 = 0, $74_1 = 0, $156_1 = 0, $189_1 = 0, $254_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 192 | 0; + global$0 = $5_1; + $8_1 = $5_1 + 120 | 0; + HEAP32[($5_1 + 184 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 180 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 176 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + $257_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $257_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $257_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $257_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $257_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 120 | 0) >> 2] = HEAP32[($5_1 + 184 | 0) >> 2] | 0; + HEAP32[($5_1 + 124 | 0) >> 2] = HEAP32[($5_1 + 180 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1437($8_1 | 0, HEAP32[(HEAP32[($5_1 + 176 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($5_1 + 168 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 188 | 0) >> 2] = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1404($5_1 + 120 | 0 | 0, HEAP32[((HEAP32[($5_1 + 176 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($5_1 + 168 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 188 | 0) >> 2] = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 172 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 156 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 176 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 164 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + label$4 : { + if ((HEAP32[((HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$4 + } + if (!((HEAP32[(HEAP32[($5_1 + 156 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + $50_1 = HEAP32[((HEAP32[($5_1 + 156 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 152 | 0) >> 2] = $50_1; + if (!(((HEAPU8[$50_1 >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$4 + } + $62_1 = 16; + if (!((((HEAPU16[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 188 | 0) >> 2] = 0; + break label$1; + } + $74_1 = $5_1 + 16 | 0; + $3289($74_1 | 0, 0 | 0, 104 | 0) | 0; + HEAP8[($5_1 + 16 | 0) >> 0] = 111; + HEAP32[($5_1 + 28 | 0) >> 2] = $74_1 + 52 | 0; + HEAP8[($5_1 + 68 | 0) >> 0] = 164; + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($5_1 + 160 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + label$8 : { + if ((HEAPU8[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + break label$7; + } + label$9 : { + if (!((HEAP32[(HEAP32[($5_1 + 156 | 0) >> 2] | 0) >> 2] | 0 | 0) != ((HEAPU16[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$9 + } + break label$7; + } + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if (!((HEAP32[((HEAP32[($5_1 + 176 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + break label$7; + } + label$12 : { + if (!($1529(HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 176 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + break label$7; + } + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAPU16[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $156_1 = 16; + label$15 : { + label$16 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $156_1 | 0) >> $156_1 | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[$5_1 >> 2] = HEAP32[(((HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$17 : { + if (!(((HEAPU8[(HEAP32[$5_1 >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (111 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[$5_1 >> 2] = $5_1 + 16 | 0; + } + break label$15; + } + $189_1 = $5_1 + 16 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $189_1 + 52 | 0; + HEAP16[($5_1 + 100 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + HEAP32[$5_1 >> 2] = $189_1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + label$20 : { + if (!(($1529(HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 156 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0) | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$20 + } + break label$18; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + label$21 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + break label$13; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + label$22 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + break label$7; + } + HEAP32[((HEAP32[($5_1 + 176 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 160 | 0) >> 2] | 0; + HEAP32[($5_1 + 188 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 160 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$6; + }; + } + $349(HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0, 34031 | 0, 0 | 0); + HEAP32[($5_1 + 188 | 0) >> 2] = 1; + } + $254_1 = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + global$0 = $5_1 + 192 | 0; + return $254_1 | 0; + } + + function $1439($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + if (!($1509(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + $1510(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $1523(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1440($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $366(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 152 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1441($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function $1442($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, $50$hi = 0, $9_1 = 0, $59$hi = 0, $52$hi = 0, $53$hi = 0, $54$hi = 0, $55$hi = 0, $57$hi = 0, $61$hi = 0, $64_1 = 0, $64$hi = 0, $65$hi = 0, $66$hi = 0, $39_1 = 0, $69$hi = 0, $70$hi = 0, $72$hi = 0, $73$hi = 0, $42_1 = 0, $52_1 = 0, $111_1 = 0, $19_1 = 0, $20_1 = 0, $69_1 = 0, $157_1 = 0, $35_1 = 0, $72_1 = 0, $203_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + i64toi32_i32$0 = 0; + $50$hi = i64toi32_i32$0; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + $9_1 = HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] = $9_1; + i64toi32_i32$1 = $9_1; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $52_1 = i64toi32_i32$0; + $52$hi = i64toi32_i32$1; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $53$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $54$hi = i64toi32_i32$0; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $55$hi = i64toi32_i32$5; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$5 = $55$hi; + $111_1 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$0 = $52_1; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$3 = $111_1; + i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2 | 0; + $57$hi = i64toi32_i32$2; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$2 = $57$hi; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$2 = $57$hi; + i64toi32_i32$5 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$5 = 0; + $59$hi = i64toi32_i32$5; + i64toi32_i32$3 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $61$hi = i64toi32_i32$2; + i64toi32_i32$2 = $59$hi; + i64toi32_i32$2 = $61$hi; + i64toi32_i32$2 = $59$hi; + i64toi32_i32$2 = $61$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $59$hi; + i64toi32_i32$0 = 0; + label$3 : { + label$4 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$3 = 0; + $64_1 = 1; + $64$hi = i64toi32_i32$3; + break label$3; + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $65$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $66$hi = i64toi32_i32$2; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $66$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + $39_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$1 | 0) | 0; + $39_1 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + } + $64_1 = $39_1; + $64$hi = i64toi32_i32$3; + } + i64toi32_i32$3 = $64$hi; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $64_1; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$3; + $19_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + $20_1 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $69_1 = i64toi32_i32$3; + $69$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$3 >> 31 | 0; + $70$hi = i64toi32_i32$0; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$0 = $70$hi; + $157_1 = i64toi32_i32$3; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$3 = $70$hi; + i64toi32_i32$3 = __wasm_i64_mul($69_1 | 0, i64toi32_i32$0 | 0, $157_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $70($19_1 | 0, $20_1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] = -1; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + $35_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $72_1 = i64toi32_i32$0; + $72$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$0 >> 31 | 0; + $73$hi = i64toi32_i32$3; + i64toi32_i32$3 = $72$hi; + i64toi32_i32$3 = $73$hi; + $203_1 = i64toi32_i32$0; + i64toi32_i32$3 = $72$hi; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = __wasm_i64_mul($72_1 | 0, i64toi32_i32$3 | 0, $203_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $3289($35_1 + i64toi32_i32$0 | 0 | 0, 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) | 0; + $42_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[$42_1 >> 2] = (HEAP32[$42_1 >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + } + $47_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $47_1 | 0; + } + + function $1443($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $107$hi = 0, $104$hi = 0, $105$hi = 0, $24_1 = 0, $107_1 = 0, $110$hi = 0, $112$hi = 0, $113$hi = 0, $25_1 = 0, $41_1 = 0, $206_1 = 0, $44_1 = 0, $45_1 = 0, $101_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = ((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) / (4 | 0) | 0) + 3 | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!(((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + } + label$4 : { + label$5 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$1 = HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $104$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $105$hi = i64toi32_i32$0; + i64toi32_i32$0 = $104$hi; + i64toi32_i32$0 = $105$hi; + i64toi32_i32$0 = $104$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $105$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $24_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $24_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $107_1 = $24_1; + $107$hi = i64toi32_i32$1; + break label$4; + } + i64toi32_i32$1 = 0; + $107_1 = 10; + $107$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $107$hi; + $41_1 = 0; + i64toi32_i32$2 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $110$hi = i64toi32_i32$1; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$1 = $110$hi; + $206_1 = i64toi32_i32$2; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$0 = $107_1; + i64toi32_i32$2 = $110$hi; + i64toi32_i32$3 = $206_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$5; + $44_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + $45_1 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $112$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $113$hi = i64toi32_i32$0; + i64toi32_i32$0 = $112$hi; + i64toi32_i32$0 = $113$hi; + i64toi32_i32$0 = $112$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $113$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $25_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$2 | 0) | 0; + $25_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $70($44_1 | 0, $45_1 | 0, $25_1 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == ($41_1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + break label$1; + } + label$7 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 2; + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] = i64toi32_i32$5; + } + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0; + $3288(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 44 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + } + $101_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $101_1 | 0; + } + + function $1444($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, $39_1 = 0, $38_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $6_1 = $3_1 + 8 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + $1718(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6_1 | 0); + $1718(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $6_1 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$2 + } + $1672(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0); + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $1719(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0); + $38_1 = ($1840(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0) & 2097412 | 0; + $39_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($39_1 + 4 | 0) >> 2] = HEAP32[($39_1 + 4 | 0) >> 2] | 0 | $38_1 | 0; + } + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $1445($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP16[($5_1 + 28 | 0) >> 1] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 52; + HEAP32[($5_1 + 16 | 0) >> 2] = 51; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $1547($5_1 + 8 | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $16_1 = (HEAPU16[($5_1 + 28 | 0) >> 1] | 0) & 65535 | 0; + global$0 = $5_1 + 48 | 0; + return $16_1 | 0; + } + + function $1446($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $26_1 = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$1 + } + $349(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 31615 | 0, 0 | 0); + } + $367(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 137 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0; + $1295(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + $26_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $34_1 = HEAP32[((HEAP32[((HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $35_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $36_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $36_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $35_1; + HEAP32[$5_1 >> 2] = $34_1; + $1302($26_1 | 0, 31630 | 0, $5_1 | 0); + $1383(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 48 | 0; + return; + } + + function $1447($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($4_1 + 150 | 0) >> 1] = HEAPU16[($4_1 + 150 | 0) >> 1] | 0 | 32 | 0; + return; + } + + function $1448($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = 1; + $1463(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $13_1 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 80 | 0, $13_1 | 0, $13_1 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1449($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $20_1 = 0, $12_1 = 0, $38_1 = 0, $7_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP8[($4_1 + 23 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0; + $7_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAPU8[($4_1 + 23 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + $12_1 = 1; + break label$1; + } + $12_1 = (HEAPU8[($4_1 + 23 | 0) >> 0] | 0) & 255 | 0; + } + $374($7_1 | 0, $12_1 | 0); + label$3 : { + label$4 : { + if ((HEAPU8[($4_1 + 23 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + $20_1 = 0; + $375(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $20_1 | 0, $20_1 | 0, HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, $20_1 | 0) | 0; + break label$3; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < ((HEAPU8[($4_1 + 23 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $38_1 = 0; + $375(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, $38_1 | 0, HEAP32[(13776 + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $38_1 | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1450($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, $6_1 = 0, $8_1 = 0, i64toi32_i32$0 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $6_1 = 1; + $8_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + $1524(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 70 | 0, $8_1 | 0, $6_1 | 0, $8_1 | 0, $4_1 | 0, -14 | 0) | 0; + $366(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 80 | 0, $6_1 | 0, $6_1 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $1451($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $22_1 = 0, $32_1 = 0, $47_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $127(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + $22_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP16[($22_1 + 24 | 0) >> 1] = ((HEAPU16[($22_1 + 24 | 0) >> 1] | 0) & 65535 | 0) & -13 | 0; + $32_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP16[($32_1 + 24 | 0) >> 1] = (HEAPU16[($32_1 + 24 | 0) >> 1] | 0) & 65535 | 0 | ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0; + } + HEAP32[$4_1 >> 2] = (((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) & 12 | 0 | 0) / (4 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + $47_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $47_1 | 0; + } + + function $1452($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $32_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((0 | 0) == ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 34454 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if (!((0 | 0) == ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 34447 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = -1; + } + $32_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $32_1 | 0; + } + + function $1453($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $30_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + if (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + if ($1841(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) | 0) { + break label$1 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + $30_1 = (HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0; + global$0 = $4_1 + 16 | 0; + return $30_1 | 0; + } + + function $1454($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $14$hi = 0, $16$hi = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $47_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + i64toi32_i32$0 = -1; + $14$hi = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[i64toi32_i32$1 >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $16$hi = i64toi32_i32$1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $14$hi; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $11_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $12_1 = 0 + } else { + $12_1 = 1 + } + $13_1 = $12_1; + } else { + $13_1 = 0 + } + $11_1 = $13_1; + } + label$1 : { + if (!($11_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $47_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 160 | 0) >> 2] = $47_1; + HEAP32[(i64toi32_i32$2 + 164 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $1842(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0); + } + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 160 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 164 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$2 | 0; + } + + function $1455($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $51_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((0 | 0) == ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 35038 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((0 | 0) == ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 35007 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if (!((0 | 0) == ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 35043 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 2; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1135(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) <= (2 | 0) & 1 | 0)) { + break label$6 + } + $51_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + break label$5; + } + $51_1 = 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $51_1 & 255 | 0; + } + $56_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $56_1 | 0; + } + + function $1456($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $48$hi = 0, $49$hi = 0, $50$hi = 0, $51$hi = 0, $142_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + $19_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $19_1 + -1 | 0; + if (!(($19_1 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $48$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $49$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $50$hi = i64toi32_i32$1; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$3 = 56; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $51$hi = i64toi32_i32$0; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = $51$hi; + $142_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$1 = (HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$3 = $142_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $1047(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | i64toi32_i32$3 | 0 | 0) | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0; + continue label$3; + }; + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1457($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1843(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!($1458(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 0] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $26_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $26_1 | 0; + } + + function $1458($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $41_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 79 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!($125(HEAP32[((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + } + $349(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 35055 | 0, 0 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + $207(HEAP32[((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = 0; + $141(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $41_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $41_1 | 0; + } + + function $1459($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $28_1 = 0, $14_1 = 0, $15_1 = 0, $20_1 = 0, $31_1 = 0, $49_1 = 0, $59_1 = 0, $58_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + $14_1 = HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($6_1 + 11 | 0) >> 0] = $14_1; + $15_1 = 24; + if (!(($14_1 << $15_1 | 0) >> $15_1 | 0)) { + break label$2 + } + $20_1 = 24; + label$4 : { + label$5 : { + if (!((((HEAPU8[($6_1 + 11 | 0) >> 0] | 0) << $20_1 | 0) >> $20_1 | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$5 + } + $28_1 = 0; + $31_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $31_1 + 4 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[$31_1 >> 2] | 0; + $1278(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) == ($28_1 | 0) & 1 | 0 ? 72 : 115) | 0, $28_1 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0 | 0, $28_1 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, $28_1 | 0) | 0; + break label$4; + } + $49_1 = 24; + label$6 : { + label$7 : { + if (!((((HEAPU8[($6_1 + 11 | 0) >> 0] | 0) << $49_1 | 0) >> $49_1 | 0 | 0) == (105 | 0) & 1 | 0)) { + break label$7 + } + $58_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $59_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $59_1 + 4 | 0; + $366($58_1 | 0, 69 | 0, HEAP32[$59_1 >> 2] | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0 | 0) | 0; + break label$6; + } + break label$1; + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $366(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1460($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $62_1 = 0, $47_1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $59_1 = 0, $64_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + break label$3; + } + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 262144 | 0)) { + break label$5 + } + if (HEAP32[($6_1 + 32 | 0) >> 2] | 0) { + break label$5 + } + break label$3; + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 35190; + break label$6; + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 35192; + break label$8; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 34617; + } + } + $47_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $49_1 = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $50_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $51_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $59_1 = HEAP32[(69488 + (((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 3 | 0) << 2 | 0) | 0) >> 2] | 0; + $62_1 = 24; + $64_1 = ((HEAPU8[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 3934208 | 0) ^ 2097152 | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $64_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $59_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $51_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $50_1; + HEAP32[$6_1 >> 2] = $49_1; + $1459($47_1 | 0, 1 | 0, 35194 | 0, $6_1 | 0); + } + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $1461($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP8[($3_1 + 15 | 0) >> 0] = $0_1; + $6_1 = (HEAPU8[($3_1 + 15 | 0) >> 0] | 0) + -7 | 0; + label$1 : { + label$2 : { + switch ($6_1 | 0) { + case 1: + HEAP32[($3_1 + 8 | 0) >> 2] = 35201; + break label$1; + case 2: + HEAP32[($3_1 + 8 | 0) >> 2] = 35210; + break label$1; + case 3: + HEAP32[($3_1 + 8 | 0) >> 2] = 35222; + break label$1; + case 0: + HEAP32[($3_1 + 8 | 0) >> 2] = 35230; + break label$1; + default: + break label$2; + }; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 35239; + } + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $1462($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1393(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (97 | 0) & 1 | 0 ? 1 : 0) & 255 | 0 | 0, HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$2 + } + $40_1 = 16; + $353(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 1] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) | 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $416(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0; + $1405(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $1463($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $11_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $11_1 = $1278(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 115 | 0, $7_1 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $7_1 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $7_1 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $11_1 | 0; + } + + function $1464($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $9_1 = 0, $23_1 = 0, $43_1 = 0, $16_1 = 0, $175_1 = 0, $187_1 = 0, $214_1 = 0, i64toi32_i32$0 = 0, $297_1 = 0, $300_1 = 0, $311_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + $9_1 = 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + $23_1 = 16; + label$4 : { + if (!((((HEAPU16[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $23_1 | 0) >> $23_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if ((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + $43_1 = 16; + label$6 : { + if ($88(HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $43_1 | 0) >> $43_1 | 0, 20) | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + } + break label$2; + } + label$7 : { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $365(HEAP32[(HEAP32[($7_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 44 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if ((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 1; + break label$1; + } + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + } + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + label$11 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) == (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAPU8[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + if (!((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + $16_1 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + label$14 : { + if (!((((HEAPU8[($16_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($16_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + } + break label$9; + } + break label$12; + } + HEAP32[($7_1 + 32 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP16[($7_1 + 26 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $175_1 = 16; + label$20 : { + if (!((((HEAPU16[($7_1 + 26 | 0) >> 1] | 0) << $175_1 | 0) >> $175_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$20 + } + break label$18; + } + $187_1 = 16; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($7_1 + 26 | 0) >> 1] | 0) << $187_1 | 0) >> $187_1 | 0, 20) | 0) + 8 | 0) >> 2] | 0; + label$21 : { + if ((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$21 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 2261; + } + label$22 : { + if (!($88(HEAP32[((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$22 + } + break label$18; + } + $214_1 = 16; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($7_1 + 26 | 0) >> 1] | 0) << $214_1 | 0) >> $214_1 | 0, 20) | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + label$25 : { + if ($88(HEAP32[((((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$25 + } + label$26 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($7_1 + 28 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + } + break label$23; + } + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$24; + }; + } + label$27 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + break label$18; + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + label$28 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + break label$9; + } + } + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$10; + }; + } + label$29 : { + if ((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$29 + } + label$30 : { + if (((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 150 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$30 + } + $297_1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + $300_1 = HEAP32[(HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = $300_1; + $349($297_1 | 0, 33608 | 0, $7_1 | 0); + } + $13(HEAP32[(HEAP32[($7_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 76 | 0) >> 2] = 1; + break label$1; + } + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + } + $311_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $311_1 | 0; + } + + function $1465($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $10_1 = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $16_1 = 0, $28_1 = 0, $37_1 = 0, $22_1 = 0, $31_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 35249; + HEAP32[$4_1 >> 2] = 12; + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = 1983; + HEAP32[$4_1 >> 2] = 4; + } + $10_1 = 32437; + $11_1 = 3; + $12_1 = 1; + $13_1 = 0; + $14_1 = 2; + $15_1 = 1; + $16_1 = 53; + $17_1 = 0; + $466(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $10_1 | 0, $14_1 | 0, $15_1 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $16_1 | 0, $17_1 | 0, $17_1 | 0, $17_1 | 0, $17_1 | 0, $17_1 | 0) | 0; + $466(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $10_1 | 0, $11_1 | 0, $15_1 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $16_1 | 0, $17_1 | 0, $17_1 | 0, $17_1 | 0, $17_1 | 0, $17_1 | 0) | 0; + $22_1 = HEAP32[$4_1 >> 2] | 0; + $28_1 = $469(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $10_1 | 0, $14_1 | 0, $12_1 & 255 | 0 | 0, $13_1 & 255 | 0 | 0) | 0; + HEAP32[($28_1 + 4 | 0) >> 2] = HEAP32[($28_1 + 4 | 0) >> 2] | 0 | $22_1 | 0; + $31_1 = HEAP32[$4_1 >> 2] | 0; + $37_1 = $469(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $10_1 | 0, $11_1 | 0, $12_1 & 255 | 0 | 0, $13_1 & 255 | 0 | 0) | 0; + HEAP32[($37_1 + 4 | 0) >> 2] = HEAP32[($37_1 + 4 | 0) >> 2] | 0 | $31_1 | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $1466($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $6_1 = 1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $366(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 80 | 0, 3 | 0, $6_1 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $367(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 48 | 0, $6_1 | 0, ($1296(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $1276(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 68 | 0) | 0; + $17_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $17_1 | 0; + } + + function $1467($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) - 1 | 0; + } + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 114644; + break label$2; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 4 | 0) >> 2] | 0, 20) | 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1468($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $27_1 = 0, $180_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($6_1 + 40 | 0) >> 2] = HEAPU8[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 0] | 0; + $27_1 = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + -19 | 0; + label$4 : { + label$5 : { + label$6 : { + switch ($27_1 | 0) { + case 24: + case 25: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1538(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + label$16 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $1468(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$15; + } + label$17 : { + label$18 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1358(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $1390(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 48 | 0) >> 2] | 0) ^ 16 | 0 | 0); + $1468(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + break label$17; + } + $1468(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + $1468(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + } + } + break label$4; + case 0: + $1390(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$4; + case 153: + HEAP32[($6_1 + 12 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) == (168 | 0) & 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1502(HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + label$20 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) ^ (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0)) { + break label$20 + } + $1468(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 12 | 0) >> 2] | 0 ? 16 : 0) | 0); + break label$19; + } + $1390(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 12 | 0) >> 2] | 0 ? 16 : 0) | 0); + } + break label$4; + case 26: + case 149: + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (45 | 0) & 1 | 0 ? 53 : 52; + HEAP32[($6_1 + 48 | 0) >> 2] = 128; + case 33: + case 34: + case 35: + case 36: + case 37: + case 38: + label$21 : { + if (!($1505(HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$21 + } + break label$5; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1507(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1507(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $1508(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 512 | 0 | 0) != (0 | 0) & 1 | 0 | 0) | 0; + break label$4; + case 31: + case 32: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1507(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0; + break label$4; + case 29: + $1518(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, 54 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$4; + case 30: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1358(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + label$23 : { + if (!(HEAP32[($6_1 + 48 | 0) >> 2] | 0)) { + break label$23 + } + $180_1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + break label$22; + } + $180_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + } + HEAP32[$6_1 >> 2] = $180_1; + $1517(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0); + $1282(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0); + break label$4; + default: + break label$6; + }; + } + } + label$24 : { + label$25 : { + if (!(((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 268435457 | 0 | 0) == (268435456 | 0) & 1 | 0)) { + break label$25 + } + $1282(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0; + break label$24; + } + label$26 : { + label$27 : { + if (!(((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 536870913 | 0 | 0) == (536870912 | 0) & 1 | 0)) { + break label$27 + } + break label$26; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1507(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, $6_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 18 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0) | 0; + } + } + } + $1383(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 64 | 0; + return; + } + + function $1469($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $28_1 = 0, $16_1 = 0, $58_1 = 0, $112_1 = 0, $122_1 = 0, $138_1 = 0, $31_1 = 0, $169_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 48 | 0; + global$0 = $10_1; + HEAP32[($10_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($10_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $28_1 = 0; + $31_1 = $1358(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($10_1 + 24 | 0) >> 2] | 0) >> 2] = $31_1; + HEAP32[((HEAP32[($10_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 2] = (HEAP32[($10_1 + 36 | 0) >> 2] | 0) + 1 | 0; + $1647(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($10_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, 16 | 0); + HEAP32[((HEAP32[($10_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 2] = $28_1; + HEAP32[($10_1 + 20 | 0) >> 2] = $28_1; + break label$2; + } + HEAP32[(HEAP32[($10_1 + 24 | 0) >> 2] | 0) >> 2] = 0; + } + } + label$4 : { + label$5 : { + if (!(HEAP32[($10_1 + 28 | 0) >> 2] | 0)) { + break label$5 + } + $16_1 = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + if (!((((HEAPU8[($16_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($16_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 3 | 0) & 1 | 0) & 65535 | 0)) { + break label$5 + } + $58_1 = (HEAPU16[((HEAP32[($10_1 + 40 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + break label$4; + } + $58_1 = (HEAPU16[((HEAP32[($10_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0; + } + HEAP32[$10_1 >> 2] = $58_1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1379(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[$10_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if ((HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$7 + } + if (!((HEAP32[((HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[($10_1 + 20 | 0) >> 2] = 0; + } + HEAP32[($10_1 + 8 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[$10_1 >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + label$10 : { + label$11 : { + if (!((HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $112_1 = 16; + $122_1 = 16; + if (!((((HEAPU16[((HEAP32[((HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $112_1 | 0) >> $112_1 | 0 | 0) == (((HEAPU16[((HEAP32[((HEAP32[($10_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $122_1 | 0) >> $122_1 | 0 | 0) & 1 | 0)) { + break label$11 + } + $138_1 = 16; + if (!((((HEAPU16[((HEAP32[((HEAP32[($10_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 8 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $138_1 | 0) >> $138_1 | 0 | 0) != (-2 | 0) & 1 | 0)) { + break label$11 + } + break label$10; + } + $1648(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 4 | 0) >> 2] | 0) + (HEAP32[($10_1 + 8 | 0) >> 2] | 0) | 0 | 0); + $1649(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, 83 & 255 | 0 | 0) | 0; + } + HEAP32[($10_1 + 8 | 0) >> 2] = (HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$12 : { + if (!(HEAP32[($10_1 + 32 | 0) >> 2] | 0)) { + break label$12 + } + $367(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$10_1 >> 2] | 0 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + $1384(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$10_1 >> 2] | 0 | 0); + $169_1 = HEAP32[($10_1 + 4 | 0) >> 2] | 0; + global$0 = $10_1 + 48 | 0; + return $169_1 | 0; + } + + function $1470($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + $1369(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1471($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $1467(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $6_1), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1472($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[($4_1 + 150 | 0) >> 1] = (HEAPU16[($4_1 + 150 | 0) >> 1] | 0) & -33 | 0; + return; + } + + function $1473($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $70_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!($1337(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$5 : { + if (!($1474(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$6 : { + if (!($1645(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!($1322(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$9 : { + label$10 : { + if ($1645(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0) | 0) { + break label$10 + } + if ($1474(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$10 + } + if ($1645(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$10 + } + if (!($1474(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $70_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $70_1 | 0; + } + + function $1474($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $22_1 = 0, $51_1 = 0, $82_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$4 + } + $22_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($22_1 + 4 | 0) >> 2] = HEAP32[($22_1 + 4 | 0) >> 2] | 0 | 1073741824 | 0; + } + label$5 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (153 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] = 119; + break label$6; + } + $51_1 = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $349($51_1 | 0, 30973 | 0, $4_1 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8404992 | 0)) { + break label$8 + } + break label$2; + } + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$10 + } + label$11 : { + if (!($1337(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + break label$9; + } + label$12 : { + if (!($1645(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + } + label$13 : { + if (!($1474(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$13 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $82_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $82_1 | 0; + } + + function $1475($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, $43_1 = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP8[($7_1 + 27 | 0) >> 0] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $308(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 48 | 0) + 1 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$7_1 >> 2] = (HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 48 | 0; + $3288(HEAP32[$7_1 >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + $1305(HEAP32[$7_1 >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[$7_1 >> 2] | 0; + HEAP8[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 0] = HEAPU8[($7_1 + 27 | 0) >> 0] | 0; + $43_1 = $1477(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] = $43_1; + label$2 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$2 + } + $1223(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0; + } + } + $58_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $58_1 | 0; + } + + function $1476($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $28_1 = 0, $47_1 = 0, $60_1 = 0, $63_1 = 0, $104_1 = 0, $135_1 = 0, $143_1 = 0, i64toi32_i32$2 = 0, $76_1 = 0, $81_1 = 0, $86_1 = 0, $112_1 = 0, $131_1 = 0, $151_1 = 0, $157_1 = 0, $162_1 = 0, $553_1 = 0, $170_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + $28_1 = Math_imul((HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0, 72); + break label$3; + } + $28_1 = 0; + } + HEAP32[($5_1 + 20 | 0) >> 2] = $28_1 + 80 | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $47_1 = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = $47_1; + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = $47_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $60_1 = 72; + $63_1 = 8; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, $60_1) | 0) + $63_1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, $60_1) | 0) + $63_1 | 0; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $76_1 = $291(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = $76_1; + $81_1 = $291(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = $81_1; + $86_1 = $291(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = $86_1; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $104_1 = 1; + label$8 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> $104_1 | 0) & $104_1 | 0) & 255 | 0)) { + break label$8 + } + $112_1 = $291(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 64 | 0) >> 2] = $112_1; + } + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + label$9 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0)) { + break label$9 + } + $131_1 = $1339(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 64 | 0) >> 2] = $131_1; + } + $135_1 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = $135_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $135_1; + label$10 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $143_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($143_1 + 32 | 0) >> 2] = (HEAP32[($143_1 + 32 | 0) >> 2] | 0) + 1 | 0; + } + $151_1 = $1338(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = $151_1; + $157_1 = $1310(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] = $157_1; + $162_1 = $1574(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] = $162_1; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $553_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] = $553_1; + HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + $170_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $170_1 | 0; + } + + function $1477($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1309(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] = 32; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + $48_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $48_1 | 0; + } + + function $1478($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $80_1 = 0, $21_1 = 0, $62_1 = 0, $68_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1030(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $21_1 = 1; + HEAP32[($4_1 + 20 | 0) >> 2] = 16; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == ($21_1 | 0) & 1 | 0 ? 8404 : 8004; + label$3 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == ($21_1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 14; + } + label$4 : { + label$5 : { + if ($1283(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + if (!($1283(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 9 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + } + break label$1; + } + } + $62_1 = $1275(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $62_1; + if (!(($62_1 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $68_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $75_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $75_1; + $1302($68_1 | 0, 31553 | 0, $4_1 | 0); + $80_1 = 0; + $1303(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + $1278(HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, 146 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $80_1 | 0, $80_1 | 0, HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, $80_1 | 0) | 0; + } + global$0 = $4_1 + 48 | 0; + return; + } + + function $1479($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$1 = 0, $17_1 = 0, i64toi32_i32$0 = 0, $142_1 = 0, $26_1 = 0, $37_1 = 0, $48_1 = 0, $74_1 = 0, $107_1 = 0, $114_1 = 0, $123_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 80 | 0; + global$0 = $9_1; + HEAP32[($9_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 56 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 52 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + $17_1 = $9_1 + 16 | 0; + i64toi32_i32$0 = 0; + $142_1 = 0; + i64toi32_i32$1 = $17_1; + HEAP32[i64toi32_i32$1 >> 2] = $142_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $142_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $17_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $142_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $17_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $142_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 16 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $26_1 = $1846($17_1 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 48 | 0) >> 2] = $26_1; + label$3 : { + label$4 : { + if ((0 | 0) != ($26_1 | 0) & 1 | 0) { + break label$4 + } + $37_1 = $1846($9_1 + 16 | 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 48 | 0) >> 2] = $37_1; + if ((0 | 0) != ($37_1 | 0) & 1 | 0) { + break label$4 + } + $48_1 = $1846($9_1 + 16 | 0 | 0, HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 48 | 0) >> 2] = $48_1; + if (!((0 | 0) != ($48_1 | 0) & 1 | 0)) { + break label$3 + } + } + break label$1; + } + label$5 : { + if (!((HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!(((HEAPU8[(HEAP32[($9_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[$9_1 >> 2] = HEAP32[((HEAP32[($9_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$6; + } + HEAP32[$9_1 >> 2] = 0; + } + $74_1 = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1283(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[$9_1 >> 2] | 0 | 0, $74_1 | 0, $74_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($9_1 + 48 | 0) >> 2] | 0)) { + break label$8 + } + break label$1; + } + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1275(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1379(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, 4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $1281(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0); + $1281(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 1 | 0 | 0); + $1281(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 2 | 0 | 0); + label$9 : { + if (!((HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $107_1 = 0; + $114_1 = 24; + $123_1 = 24; + $1514(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, $107_1 | 0, ((HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 3 | 0) - (((HEAPU8[(HEAP32[($9_1 + 68 | 0) >> 2] | 0) >> 0] | 0) << $114_1 | 0) >> $114_1 | 0) | 0 | 0, (HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 3 | 0 | 0, ((HEAPU8[(HEAP32[($9_1 + 68 | 0) >> 2] | 0) >> 0] | 0) << $123_1 | 0) >> $123_1 | 0 | 0, HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, $107_1 | 0) | 0; + $1288(HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0, 159 | 0, (HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) == (24 | 0) & 1 | 0 | 0) | 0; + } + } + $18(HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0); + $18(HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0); + $18(HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0); + global$0 = $9_1 + 80 | 0; + return; + } + + function $1480($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1481(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0; + continue label$2; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1481($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if ((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + if (!($1849(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $1287(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $1330(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0); + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$3; + }; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1482($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $19_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + $1287(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $5_1 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $19_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($19_1 + 40 | 0) >> 2] = (HEAP32[($19_1 + 40 | 0) >> 2] | 0) + 3 | 0; + $1850(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $5_1 | 0, $5_1 | 0); + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1851(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + continue label$2; + }; + } + $1852(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 48 | 0; + return; + } + + function $1483($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1224(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $122(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0); + $13_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $13_1 | 0; + } + + function $1484($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $1287(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $6_1 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $16_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($16_1 + 40 | 0) >> 2] = (HEAP32[($16_1 + 40 | 0) >> 2] | 0) + 3 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$2 + } + $1850(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, 14134 | 0); + break label$1; + } + $1850(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, 14130 | 0); + } + $1851(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $1852(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 32 | 0; + return; + } + + function $1485($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $23_1 = 0, $76_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $68(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!($89(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $23_1 = 24; + label$4 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0 | 0) != (95 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $362((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 340 | 0 | 0, HEAP32[(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$6 : { + if (!((HEAP32[(HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$7 : { + if (!((HEAP32[((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0](((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) + 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $76_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $76_1 | 0; + } + + function $1486($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $23_1 = 0, $29_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((0 | 0) == ($89(HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, 27544 | 0, 7 | 0) | 0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 4096 | 0)) { + break label$2 + } + if (!($1579(HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + } + $23_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + $349($23_1 | 0, 37355 | 0, $4_1 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $29_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $29_1 | 0; + } + + function $1487($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1303(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $1304(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0); + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$2 + } + $1304(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 1 | 0, 0 | 0); + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1488($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $7_1 = 0, $8_1 = 0, $14_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $7_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $8_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $7_1; + $1302($6_1 | 0, 37383 | 0, $5_1 + 16 | 0 | 0); + label$1 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$1 + } + $14_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $1302($14_1 | 0, 37550 | 0, $5_1 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1489($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $8_1 = 0, $9_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + $7_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $8_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + $9_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $9_1; + HEAP32[$6_1 >> 2] = $8_1; + $1302($7_1 | 0, 38080 | 0, $6_1 | 0); + global$0 = $6_1 + 32 | 0; + return; + } + + function $1490($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $26_1 = 0; + $7_1 = global$0 - 16 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $1_1; + HEAP8[($7_1 + 7 | 0) >> 0] = $2_1; + HEAP8[($7_1 + 6 | 0) >> 0] = $3_1; + HEAP32[$7_1 >> 2] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $26_1 = $1541(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAPU8[($7_1 + 6 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[$7_1 >> 2] | 0 | 0, 0 | 0) | 0; + break label$1; + } + $26_1 = 0; + } + global$0 = $7_1 + 16 | 0; + return $26_1 | 0; + } + + function $1491($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $24_1 = 0, $25_1 = 0, $31_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 27417; + } + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 38550; + } + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $24_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $25_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $25_1; + $349($24_1 | 0, 38564 | 0, $4_1 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$3; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $31_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $31_1 | 0; + } + + function $1492($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 248 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 248 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $1156(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0, $1130(HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1493($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $27_1 = 0, $30_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if ($88(HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0) { + break label$3 + } + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$2; + }; + } + label$4 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $27_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $349($27_1 | 0, 28944 | 0, $5_1 | 0); + } + $30_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $30_1 | 0; + } + + function $1494($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $26_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((0 | 0) == ($1243(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$2 + } + $1311(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + $26_1 = 0; + $18(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, 119 | 0, $26_1 | 0, $26_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $33_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $33_1 | 0; + } + + function $1495($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $1467(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $6_1), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1496($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, $1157_1 = 0, i64toi32_i32$0 = 0, $1340_1 = 0, $6_1 = 0, $913_1 = 0, $1119_1 = 0, $1302_1 = 0, $24_1 = 0, $33_1 = 0, $69_1 = 0, $75_1 = 0, $88_1 = 0, $95_1 = 0, $130_1 = 0, $134_1 = 0, $139_1 = 0, $183_1 = 0, $204_1 = 0, $208_1 = 0, $231_1 = 0, $246_1 = 0, $256_1 = 0, $283_1 = 0, $303_1 = 0, $369_1 = 0, $376_1 = 0, $385_1 = 0, $420_1 = 0, $604_1 = 0, $636_1 = 0, $646_1 = 0, $666_1 = 0, $673_1 = 0, $706_1 = 0, $824_1 = 0, $956_1 = 0, $983_1 = 0, $1001_1 = 0, $1006_1 = 0, $1029_1 = 0, $1042_1 = 0, $1049_1 = 0, $1059_1 = 0, $1063_1 = 0, $1084_1 = 0, $1132_1 = 0, $1281_1 = 0, $1293_1 = 0, $1307_1 = 0, $1322_1 = 0, $1327_1 = 0, $226_1 = 0, $656_1 = 0, $736_1 = 0, $974_1 = 0, $980_1 = 0, $989_1 = 0, $991_1 = 0, $1337_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 416 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 408 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 404 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 400 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 396 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 388 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + HEAP32[($5_1 + 384 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 380 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 316 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + label$7 : while (1) { + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 392 | 0) >> 2] = 119; + break label$8; + } + HEAP32[($5_1 + 392 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 404 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + } + $24_1 = (HEAP32[($5_1 + 392 | 0) >> 2] | 0) + -19 | 0; + label$10 : { + switch ($24_1 | 0) { + case 147: + HEAP32[($5_1 + 312 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $33_1 = 16; + HEAP32[($5_1 + 308 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 312 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 34 | 0) >> 1] | 0) << $33_1 | 0) >> $33_1 | 0, 20) | 0; + label$36 : { + if (((HEAPU8[(HEAP32[($5_1 + 312 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$36 + } + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 308 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$1; + } + label$37 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 312 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[($5_1 + 304 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 308 | 0) >> 2] | 0) >> 2] | 0; + $69_1 = 16; + $367(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[((HEAP32[($5_1 + 312 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 308 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $69_1 | 0) >> $69_1 | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + $75_1 = 16; + label$38 : { + label$39 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 308 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $75_1 | 0) >> $75_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$39 + } + break label$38; + } + $88_1 = 16; + $95_1 = 24; + label$40 : { + if (!((((HEAPU8[(((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[($5_1 + 308 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $88_1 | 0) >> $88_1 | 0, 20) | 0) + 13 | 0) >> 0] | 0) << $95_1 | 0) >> $95_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$40 + } + $1288(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 83 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + } + case 145: + HEAP32[($5_1 + 300 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$41 : { + if (!((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0)) { + break label$41 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1496(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 296 | 0) >> 2] = wasm2js_i32$1; + label$42 : { + label$43 : { + if (!((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$43 + } + $130_1 = 16; + $134_1 = 24; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (($1498(HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $130_1 | 0) >> $130_1 | 0 | 0) | 0) << $134_1 | 0) >> $134_1 | 0), HEAP32[(wasm2js_i32$0 + 292 | 0) >> 2] = wasm2js_i32$1; + break label$42; + } + $139_1 = 24; + HEAP32[($5_1 + 292 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $139_1 | 0) >> $139_1 | 0; + } + label$44 : { + if (!((HEAP32[($5_1 + 292 | 0) >> 2] | 0 | 0) > (65 | 0) & 1 | 0)) { + break label$44 + } + $1278(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 90 | 0, HEAP32[($5_1 + 296 | 0) >> 2] | 0 | 0, 1 | 0, 0 | 0, 26848 + (((HEAP32[($5_1 + 292 | 0) >> 2] | 0) - 66 | 0) << 1 | 0) | 0 | 0, -1 | 0) | 0; + } + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 296 | 0) >> 2] | 0; + break label$1; + } + label$45 : { + if (!((HEAP32[($5_1 + 300 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$45 + } + label$46 : { + if (!((HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$46 + } + HEAP32[($5_1 + 284 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $183_1 = 16; + HEAP32[($5_1 + 276 | 0) >> 2] = ((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $183_1 | 0) >> $183_1 | 0; + label$47 : { + if (!((HEAP32[($5_1 + 276 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$47 + } + HEAP32[($5_1 + 412 | 0) >> 2] = -1 - (HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) | 0; + break label$1; + } + HEAP32[($5_1 + 288 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 284 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 276 | 0) >> 2] | 0, 20) | 0; + $204_1 = 16; + $208_1 = 16; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ((($1424(HEAP32[($5_1 + 284 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 276 | 0) >> 2] | 0) << $204_1 | 0) >> $204_1 | 0 | 0) | 0) << $208_1 | 0) >> $208_1 | 0) - (HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 280 | 0) >> 2] = wasm2js_i32$1; + label$48 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 288 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$48 + } + label$49 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 288 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$49 + } + $226_1 = HEAP32[($5_1 + 408 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[(HEAP32[($5_1 + 288 | 0) >> 2] | 0) >> 2] | 0; + $349($226_1 | 0, 26856 | 0, $5_1 | 0); + HEAP32[($5_1 + 412 | 0) >> 2] = 0; + break label$1; + } + $231_1 = HEAP32[($5_1 + 288 | 0) >> 2] | 0; + HEAP16[($231_1 + 16 | 0) >> 1] = (HEAPU16[($231_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 256 | 0; + label$50 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 288 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$50 + } + $1499(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 288 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 280 | 0) >> 2] | 0 | 0); + } + $246_1 = HEAP32[($5_1 + 288 | 0) >> 2] | 0; + HEAP16[($246_1 + 16 | 0) >> 1] = ((HEAPU16[($246_1 + 16 | 0) >> 1] | 0) & 65535 | 0) & -385 | 0; + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 280 | 0) >> 2] | 0; + break label$1; + } + $256_1 = 24; + label$51 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 288 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $256_1 | 0) >> $256_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$51 + } + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 78 | 0, HEAP32[($5_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + $1288(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 83 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 280 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 300 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) - 1 | 0; + } + $283_1 = 16; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1500(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $283_1 | 0) >> $283_1 | 0 | 0, HEAP32[($5_1 + 300 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 296 | 0) >> 2] = wasm2js_i32$1; + label$52 : { + if (!((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$52 + } + $303_1 = 24; + if (!((((HEAPU8[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $303_1 | 0) >> $303_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$52 + } + $1288(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 83 | 0, HEAP32[($5_1 + 296 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 296 | 0) >> 2] | 0; + break label$1; + case 133: + $1501(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + case 148: + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 69 | 0, $1502(HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + case 131: + $1503(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + case 96: + $1463(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + default: + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + case 132: + HEAP32[($5_1 + 268 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 2 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($68(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 272 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1504($296(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 272 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 264 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 74 | 0, (HEAP32[($5_1 + 272 | 0) >> 2] | 0 | 0) / (2 | 0) | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, -7 | 0) | 0; + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + case 134: + $369_1 = 16; + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 75 | 0, ((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $369_1 | 0) >> $369_1 | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + $376_1 = 24; + label$53 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $376_1 | 0) >> $376_1 | 0)) { + break label$53 + } + $385_1 = 16; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $337(HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $385_1 | 0) >> $385_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 260 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0) >> 2] = 0; + $1420(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0, -1 | 0); + } + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + case 154: + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + break label$1; + case 17: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1496(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 388 | 0) >> 2] = wasm2js_i32$1; + label$54 : { + if (!((HEAP32[($5_1 + 388 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$54 + } + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 78 | 0, HEAP32[($5_1 + 388 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 388 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + } + $420_1 = 24; + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 84 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0, (($1307(HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0) << $420_1 | 0) >> $420_1 | 0 | 0) | 0; + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + break label$1; + case 26: + case 149: + HEAP32[($5_1 + 392 | 0) >> 2] = (HEAP32[($5_1 + 392 | 0) >> 2] | 0 | 0) == (45 | 0) & 1 | 0 ? 53 : 52; + HEAP32[($5_1 + 316 | 0) >> 2] = 128; + case 33: + case 34: + case 35: + case 36: + case 37: + case 38: + HEAP32[($5_1 + 256 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$55 : { + label$56 : { + if (!($1505(HEAP32[($5_1 + 256 | 0) >> 2] | 0 | 0) | 0)) { + break label$56 + } + $1506(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 392 | 0) >> 2] | 0) & 255 | 0 | 0, (HEAP32[($5_1 + 316 | 0) >> 2] | 0) & 255 | 0 | 0); + break label$55; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 256 | 0) >> 2] | 0 | 0, $5_1 + 384 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $5_1 + 380 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_i32$1; + $1508(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 256 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 392 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 372 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 388 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 316 | 0) >> 2] | 0 | 32 | 0 | 0, ((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 512 | 0 | 0) != (0 | 0) & 1 | 0 | 0) | 0; + } + break label$2; + case 24: + case 25: + case 82: + case 83: + case 84: + case 85: + case 86: + case 87: + case 88: + case 89: + case 90: + case 91: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 384 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $5_1 + 380 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 392 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 372 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + break label$2; + case 151: + HEAP32[($5_1 + 252 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$57 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 252 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (152 | 0) & 1 | 0)) { + break label$57 + } + $1501(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 252 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + } + label$58 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 252 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (150 | 0) & 1 | 0)) { + break label$58 + } + $1503(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + } + HEAP8[($5_1 + 320 | 0) >> 0] = 152; + HEAP32[($5_1 + 324 | 0) >> 2] = 17408; + HEAP32[($5_1 + 328 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, $5_1 + 320 | 0 | 0, $5_1 + 384 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 380 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 106 | 0, HEAP32[($5_1 + 372 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + break label$2; + case 0: + case 93: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 384 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 392 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 388 | 0) >> 2] | 0 | 0) | 0; + break label$2; + case 153: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 384 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1502(HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 248 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 244 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) == (45 | 0) & 1 | 0; + $353(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 87 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 388 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0 | 0, (HEAP32[($5_1 + 248 | 0) >> 2] | 0) ^ (HEAP32[($5_1 + 244 | 0) >> 2] | 0) | 0 | 0) | 0; + break label$2; + case 31: + case 32: + $604_1 = 69; + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, $604_1 | 0, 1 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 384 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1288(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 392 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, $604_1 | 0, 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 240 | 0) >> 2] | 0 | 0); + break label$2; + case 146: + HEAP32[($5_1 + 236 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$59 : { + label$60 : { + label$61 : { + if ((HEAP32[($5_1 + 236 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$61 + } + $636_1 = 16; + if ((((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 34 | 0) >> 1] | 0) << $636_1 | 0) >> $636_1 | 0 | 0) < (0 | 0) & 1 | 0) { + break label$61 + } + $646_1 = 16; + if (!((((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 34 | 0) >> 1] | 0) << $646_1 | 0) >> $646_1 | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 236 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$60 + } + } + $656_1 = HEAP32[($5_1 + 408 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $349($656_1 | 0, 26886 | 0, $5_1 + 16 | 0 | 0); + break label$59; + } + $666_1 = 16; + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($5_1 + 236 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 34 | 0) >> 1] | 0) << $666_1 | 0) >> $666_1 | 0) << 4 | 0) | 0) + 8 | 0) >> 2] | 0; + break label$1; + } + break label$2; + case 150: + $673_1 = 0; + HEAP32[($5_1 + 216 | 0) >> 2] = $673_1; + HEAP32[($5_1 + 208 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 408 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[($5_1 + 207 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 208 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0; + HEAP32[($5_1 + 200 | 0) >> 2] = $673_1; + label$62 : { + if (!((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$62 + } + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + break label$1; + } + label$63 : { + if (!((HEAPU8[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0)) { + break label$63 + } + if (!($1509(HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0) | 0)) { + break label$63 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1510(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 412 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($5_1 + 232 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$64 : { + label$65 : { + if (!((HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$65 + } + $706_1 = HEAP32[(HEAP32[($5_1 + 232 | 0) >> 2] | 0) >> 2] | 0; + break label$64; + } + $706_1 = 0; + } + HEAP32[($5_1 + 228 | 0) >> 2] = $706_1; + HEAP32[($5_1 + 220 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $469(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 207 | 0) >> 0] | 0) & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_i32$1; + label$66 : { + label$67 : { + if ((HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$67 + } + if (!((HEAP32[((HEAP32[($5_1 + 224 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$66 + } + } + $736_1 = HEAP32[($5_1 + 408 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 220 | 0) >> 2] | 0; + $349($736_1 | 0, 26912 | 0, $5_1 + 32 | 0 | 0); + break label$2; + } + label$68 : { + if (!((HEAP32[((HEAP32[($5_1 + 224 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4194304 | 0)) { + break label$68 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1511(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 224 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 412 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$69 : { + if (!((HEAP32[((HEAP32[($5_1 + 224 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2621440 | 0)) { + break label$69 + } + $1512(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 212 | 0) >> 2] = 0; + label$70 : { + label$71 : while (1) { + if (!((HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$70 + } + label$72 : { + if (!((HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0) < (32 | 0) & 1 | 0)) { + break label$72 + } + if (!($1243(HEAP32[(((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 212 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$72 + } + HEAP32[($5_1 + 216 | 0) >> 2] = HEAP32[($5_1 + 216 | 0) >> 2] | 0 | (1 << (HEAP32[($5_1 + 212 | 0) >> 2] | 0) | 0) | 0; + } + label$73 : { + if (!((HEAP32[((HEAP32[($5_1 + 224 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0)) { + break label$73 + } + if ((HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$73 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1173(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 212 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 200 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($5_1 + 212 | 0) >> 2] = (HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 1 | 0; + continue label$71; + }; + } + label$74 : { + label$75 : { + if (!((HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$75 + } + label$76 : { + label$77 : { + if (!(HEAP32[($5_1 + 216 | 0) >> 2] | 0)) { + break label$77 + } + HEAP32[($5_1 + 376 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $824_1 = HEAP32[($5_1 + 408 | 0) >> 2] | 0; + HEAP32[($824_1 + 44 | 0) >> 2] = (HEAP32[($824_1 + 44 | 0) >> 2] | 0) + (HEAP32[($5_1 + 228 | 0) >> 2] | 0) | 0; + break label$76; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1379(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_i32$1; + } + label$78 : { + if (!((HEAP32[((HEAP32[($5_1 + 224 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 192 | 0)) { + break label$78 + } + HEAP8[($5_1 + 199 | 0) >> 0] = HEAPU8[(HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 0] | 0; + label$79 : { + label$80 : { + if (((HEAPU8[($5_1 + 199 | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0) { + break label$80 + } + if (!(((HEAPU8[($5_1 + 199 | 0) >> 0] | 0) & 255 | 0 | 0) == (166 | 0) & 1 | 0)) { + break label$79 + } + } + HEAP8[((HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 2 | 0) >> 0] = (HEAP32[((HEAP32[($5_1 + 224 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 192 | 0; + } + } + $1380(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, 0 | 0, 3 & 255 | 0 | 0) | 0; + break label$74; + } + HEAP32[($5_1 + 376 | 0) >> 2] = 0; + } + label$81 : { + label$82 : { + if (!((HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$82 + } + if (!((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 128 | 0)) { + break label$82 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1513(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_i32$1; + break label$81; + } + label$83 : { + if (!((HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$83 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1513(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_i32$1; + } + } + label$84 : { + if (!((HEAP32[((HEAP32[($5_1 + 224 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0)) { + break label$84 + } + label$85 : { + if ((HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$85 + } + HEAP32[($5_1 + 200 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 208 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $913_1 = 0; + $1278(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 81 | 0, $913_1 | 0, $913_1 | 0, $913_1 | 0, HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0, -2 | 0) | 0; + } + $1514(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + label$86 : { + if (!(HEAP32[($5_1 + 228 | 0) >> 2] | 0)) { + break label$86 + } + label$87 : { + label$88 : { + if (HEAP32[($5_1 + 216 | 0) >> 2] | 0) { + break label$88 + } + $1384(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0); + break label$87; + } + } + } + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + case 1: + case 117: + label$89 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($5_1 + 408 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$89 + } + HEAP32[($5_1 + 412 | 0) >> 2] = 0; + break label$1; + } + label$90 : { + label$91 : { + if (!((HEAP32[($5_1 + 392 | 0) >> 2] | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$91 + } + $956_1 = HEAP32[(HEAP32[((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 192 | 0) >> 2] = $956_1; + if (!(($956_1 | 0) != (1 | 0) & 1 | 0)) { + break label$91 + } + $1515(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, 1 | 0); + break label$90; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1516(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 412 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + break label$2; + case 156: + label$92 : { + if (HEAP32[((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$92 + } + $974_1 = $1516(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = $974_1; + } + label$93 : { + if (!(HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0)) { + break label$93 + } + $980_1 = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $983_1 = $1432(HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 188 | 0) >> 2] = $983_1; + if (!(($980_1 | 0) != ($983_1 | 0) & 1 | 0)) { + break label$93 + } + $989_1 = HEAP32[($5_1 + 408 | 0) >> 2] | 0; + $991_1 = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = $991_1; + $349($989_1 | 0, 26935 | 0, $5_1 + 48 | 0 | 0); + } + $1001_1 = 16; + HEAP32[($5_1 + 412 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $1001_1 | 0) >> $1001_1 | 0) | 0; + break label$1; + case 30: + $1006_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 72 | 0, $1006_1 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + $1517(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 69 | 0, 1 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0, $1006_1 | 0) | 0; + $1369(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + case 29: + $1029_1 = 0; + $1518(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 404 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0, $1029_1 | 0, $1029_1 | 0); + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 400 | 0) >> 2] | 0; + break label$1; + case 92: + case 152: + case 159: + HEAP32[($5_1 + 404 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$7; + case 58: + break label$10; + case 52: + break label$3; + case 135: + break label$4; + case 157: + break label$5; + case 155: + break label$6; + }; + } + break label$7; + }; + HEAP32[($5_1 + 176 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $1042_1 = 16; + HEAP32[($5_1 + 172 | 0) >> 2] = ((HEAPU16[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $1042_1 | 0) >> $1042_1 | 0; + $1049_1 = 16; + $1059_1 = 16; + $1063_1 = 16; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (Math_imul(HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0, (((HEAPU16[((HEAP32[($5_1 + 176 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $1049_1 | 0) >> $1049_1 | 0) + 1 | 0) + 1 | 0) + ((($1424(HEAP32[($5_1 + 176 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 172 | 0) >> 2] | 0) << $1059_1 | 0) >> $1059_1 | 0 | 0) | 0) << $1063_1 | 0) >> $1063_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 149 | 0, HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + label$94 : { + if (!((HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$94 + } + $1084_1 = 24; + if (!((((HEAPU8[(((HEAP32[((HEAP32[($5_1 + 176 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 172 | 0) >> 2] | 0, 20) | 0) + 13 | 0) >> 0] | 0) << $1084_1 | 0) >> $1084_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$94 + } + $1288(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 83 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + } + break label$2; + } + $349(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, 26965 | 0, 0 | 0); + break label$2; + } + HEAP8[($5_1 + 163 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1288(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 21 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 23 | 0) >> 0] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1496(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 388 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 23 | 0) >> 0] = HEAPU8[($5_1 + 163 | 0) >> 0] | 0; + $1277(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0); + $1471(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 388 | 0) >> 2] | 0 | 0); + break label$2; + } + $1119_1 = 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $1119_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $1119_1; + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 408 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 136 | 0) >> 2] = (HEAP32[($5_1 + 140 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($5_1 + 148 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 140 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + $1132_1 = HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $1132_1; + label$95 : { + if (!(($1132_1 | 0) != ($1119_1 | 0) & 1 | 0)) { + break label$95 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$96 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$96 + } + $18(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + break label$2; + } + $1157_1 = $5_1 + 80 | 0; + $1520(HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, $1519(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, $5_1 + 384 | 0 | 0) | 0 | 0); + i64toi32_i32$0 = 0; + $1340_1 = 0; + i64toi32_i32$1 = $1157_1; + HEAP32[i64toi32_i32$1 >> 2] = $1340_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1340_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $1157_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1340_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $1157_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1340_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $1157_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1340_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $1157_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1340_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($5_1 + 80 | 0) >> 0] = 53; + HEAP32[($5_1 + 92 | 0) >> 2] = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $1157_1; + HEAP32[($5_1 + 384 | 0) >> 2] = 0; + } + HEAP32[($5_1 + 144 | 0) >> 2] = 0; + label$97 : { + label$98 : while (1) { + if (!((HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0) < ((HEAP32[($5_1 + 148 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$97 + } + label$99 : { + label$100 : { + if (!((HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$100 + } + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 144 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + break label$99; + } + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 144 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + $1390(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0, 16 | 0); + $1281(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 144 | 0) >> 2] | 0) + 1 | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0); + $1282(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 144 | 0) >> 2] = (HEAP32[($5_1 + 144 | 0) >> 2] | 0) + 2 | 0; + continue label$98; + }; + } + label$101 : { + label$102 : { + if (!((HEAP32[($5_1 + 148 | 0) >> 2] | 0) & 1 | 0)) { + break label$102 + } + $1281(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 140 | 0) >> 2] | 0) + 4 | 0) + (((HEAP32[($5_1 + 148 | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0); + break label$101; + } + $366(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) | 0; + } + $18(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + $1521(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0); + break label$2; + } + label$103 : { + if ((HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$103 + } + if (((HEAPU8[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$103 + } + $349(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, 26983 | 0, 0 | 0); + HEAP32[($5_1 + 412 | 0) >> 2] = 0; + break label$1; + } + $1281_1 = 24; + label$104 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $1281_1 | 0) >> $1281_1 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$104 + } + $1295(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0); + } + $1293_1 = 24; + label$105 : { + label$106 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $1293_1 | 0) >> $1293_1 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$106 + } + $1302_1 = 0; + $1278(HEAP32[($5_1 + 396 | 0) >> 2] | 0 | 0, 68 | 0, $1302_1 | 0, 4 | 0, $1302_1 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $1302_1 | 0) | 0; + break label$105; + } + $1307_1 = 0; + $1322_1 = 24; + $1327_1 = 24; + $1522(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($5_1 + 408 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 1811 : 1) | 0, ((HEAPU8[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $1322_1 | 0) >> $1322_1 | 0 | 0, HEAP32[((HEAP32[($5_1 + 404 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, ($1307_1 << $1327_1 | 0) >> $1327_1 | 0 | 0, $1307_1 & 255 | 0 | 0); + } + } + $1383(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 384 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($5_1 + 408 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 380 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 412 | 0) >> 2] = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + } + $1337_1 = HEAP32[($5_1 + 412 | 0) >> 2] | 0; + global$0 = $5_1 + 416 | 0; + return $1337_1 | 0; + } + + function $1497($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = Math_imul((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0, 5) - 4 | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) + (((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) << 2 | 0) | 0; + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 6 | 0) >> 1] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0; + HEAP8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = 1; + $3289((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0 | 0, 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $118(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + } + $55_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $55_1 | 0; + } + + function $1498($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $19_1 = 0, $22_1 = 0, $25_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = 24; + $22_1 = ((HEAPU8[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 20) | 0) + 13 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0; + break label$1; + } + $22_1 = 68; + } + $25_1 = 24; + return ($22_1 << $25_1 | 0) >> $25_1 | 0 | 0; + } + + function $1499($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $33_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $367(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 21 | 0, (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) - 1 | 0 | 0, 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + } + $1523(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + $33_1 = 24; + label$3 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $33_1 | 0) >> $33_1 | 0 | 0) >= (66 | 0) & 1 | 0)) { + break label$3 + } + $42_1 = 1; + $1278(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 90 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $42_1 | 0, 0 | 0, (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 13 | 0 | 0, $42_1 | 0) | 0; + } + label$4 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$4 + } + $1277(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1500($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP8[($8_1 + 11 | 0) >> 0] = $5_1; + $1381(HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0); + label$1 : { + if (!(((HEAPU8[($8_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1467(HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$2 + } + HEAP16[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 2 | 0) >> 1] = (HEAPU8[($8_1 + 11 | 0) >> 0] | 0) & 255 | 0; + } + } + $42_1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + global$0 = $8_1 + 32 | 0; + return $42_1 | 0; + } + + function $1501($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $82$hi = 0, $84$hi = 0, $87_1 = 0, $87$hi = 0, $88$hi = 0, $89$hi = 0, $73_1 = 0, $55_1 = 0, $57_1 = 0, $264_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1024 | 0)) { + break label$2 + } + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($6_1 + 40 | 0) >> 2] = 0 - (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0; + } + $366(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 69 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $528(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, $6_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$7 + } + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$6 + } + } + if ((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$6 + } + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$5 + } + i64toi32_i32$0 = -2147483648; + $82$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $84$hi = i64toi32_i32$1; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $82$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$5 + } + } + label$8 : { + label$9 : { + if ($89(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 27038 | 0, 2 | 0) | 0) { + break label$9 + } + $55_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $57_1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0 ? 5208 : 1352; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $57_1; + $349($55_1 | 0, 27041 | 0, $6_1 | 0); + break label$8; + } + $1503(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + } + break label$4; + } + label$10 : { + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$10 + } + label$11 : { + label$12 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$2 = -2147483648; + $87_1 = 0; + $87$hi = i64toi32_i32$2; + break label$11; + } + i64toi32_i32$2 = 0; + $88$hi = i64toi32_i32$2; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $89$hi = i64toi32_i32$1; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$1 = $89$hi; + $264_1 = i64toi32_i32$2; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = $89$hi; + i64toi32_i32$0 = $264_1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $87_1 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + $87$hi = i64toi32_i32$5; + } + i64toi32_i32$5 = $87$hi; + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $87_1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$5; + } + $73_1 = 0; + $1524(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 70 | 0, $73_1 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, $73_1 | 0, $6_1 + 24 | 0 | 0, -14 | 0) | 0; + } + } + global$0 = $6_1 + 64 | 0; + return; + } + + function $1502($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1316(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $10_1 = 24; + $17_1 = (((HEAPU8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) == (0 | 0) & 1 | 0; + global$0 = $3_1 + 16 | 0; + return $17_1 | 0; + } + + function $1503($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $25_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $344(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0, $68(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0, 1 & 255 | 0 | 0) | 0; + label$2 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$2 + } + HEAPF64[($6_1 + 8 | 0) >> 3] = -+HEAPF64[($6_1 + 8 | 0) >> 3]; + } + $25_1 = 0; + $1524(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 150 | 0, $25_1 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $25_1 | 0, $6_1 + 8 | 0 | 0, -13 | 0) | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1504($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, $36_1 = 0, $50_1 = 0, i64toi32_i32$0 = 0, $56_1 = 0, $71_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$1 = ((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) / (2 | 0) | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $36_1 = 24; + $50_1 = 24; + $56_1 = (($529(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $36_1 | 0) >> $36_1 | 0 | 0) | 0) & 255 | 0) << 4 | 0 | (($529(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $50_1 | 0) >> $50_1 | 0 | 0) | 0) & 255 | 0) | 0; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) / (2 | 0) | 0) | 0) >> 0] = $56_1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 2 | 0; + continue label$3; + }; + } + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) / (2 | 0) | 0) | 0) >> 0] = 0; + } + $71_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $71_1 | 0; + } + + function $1505($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $11_1 = ($1432(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) > (1 | 0) & 1 | 0; + global$0 = $3_1 + 16 | 0; + return $11_1 | 0; + } + + function $1506($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $89_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $2_1; + HEAP8[($7_1 + 67 | 0) >> 0] = $3_1; + HEAP8[($7_1 + 66 | 0) >> 0] = $4_1; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1432(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 40 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $8_1; + HEAP8[($7_1 + 35 | 0) >> 0] = HEAPU8[($7_1 + 67 | 0) >> 0] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 24 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 512 | 0 | 0) != ($8_1 | 0) & 1 | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) != ($1432(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $349(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, 26965 | 0, 0 | 0); + break label$1; + } + HEAP8[($7_1 + 66 | 0) >> 0] = (HEAPU8[($7_1 + 66 | 0) >> 0] | 0) & 255 | 0 | 32 | 0; + label$4 : { + if (!(((HEAPU8[($7_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) == (55 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($7_1 + 35 | 0) >> 0] = 56; + } + label$5 : { + if (!(((HEAPU8[($7_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) == (57 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[($7_1 + 35 | 0) >> 0] = 54; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1525(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1525(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!(1 & 1 | 0)) { + break label$6 + } + $89_1 = 0; + HEAP32[($7_1 + 20 | 0) >> 2] = $89_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $89_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1526(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, $7_1 + 12 | 0 | 0, $7_1 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1526(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $7_1 + 8 | 0 | 0, $7_1 + 16 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $1508(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$7_1 >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, (HEAPU8[($7_1 + 66 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $1383(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + label$8 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) == ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$6; + } + label$9 : { + label$10 : { + if (!(((HEAPU8[($7_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) == (53 | 0) & 1 | 0)) { + break label$10 + } + $366(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP8[($7_1 + 66 | 0) >> 0] = (HEAPU8[($7_1 + 66 | 0) >> 0] | 0) & 255 | 0 | 8 | 0; + break label$9; + } + label$11 : { + label$12 : { + if (!(((HEAPU8[($7_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) == (52 | 0) & 1 | 0)) { + break label$12 + } + $366(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, 18 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP8[($7_1 + 66 | 0) >> 0] = (HEAPU8[($7_1 + 66 | 0) >> 0] | 0) & 255 | 0 | 8 | 0; + break label$11; + } + $366(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, 58 | 0, 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + label$13 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) == ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) - 2 | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP8[($7_1 + 35 | 0) >> 0] = HEAPU8[($7_1 + 67 | 0) >> 0] | 0; + } + } + } + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + $1369(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 80 | 0; + return; + } + + function $1507($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1527(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (173 | 0) & 1 | 0)) { + break label$2 + } + if (!($1509(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1510(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1496(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$3; + } + $1383(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + } + } + $56_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $56_1 | 0; + } + + function $1508($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11_1 = global$0 - 64 | 0; + global$0 = $11_1; + HEAP32[($11_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 32 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 24 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($11_1 + 60 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if (!(HEAP32[($11_1 + 24 | 0) >> 2] | 0)) { + break label$4 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $428(HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $428(HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = ($1528(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0) | 0) & 255 | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $1278(HEAP32[((HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 12 | 0) >> 2] | 0 | 0, -2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $354(HEAP32[((HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, ((HEAP32[($11_1 + 20 | 0) >> 2] | 0) & 255 | 0) & 65535 | 0 | 0); + HEAP32[($11_1 + 60 | 0) >> 2] = HEAP32[($11_1 + 16 | 0) >> 2] | 0; + } + $47_1 = HEAP32[($11_1 + 60 | 0) >> 2] | 0; + global$0 = $11_1 + 64 | 0; + return $47_1 | 0; + } + + function $1509($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = $1445(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 2 | 0, 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $1510($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $56_1 = 0, $71_1 = 0, $95_1 = 0, $98_1 = 0, $121_1 = 0, $129_1 = 0, $144_1 = 0, $147_1 = 0, $153_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) >>> 3 | 0) & 1 | 0) & 255 | 0)) { + break label$5 + } + if ($1529(0 | 0, HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, -1 | 0) | 0) { + break label$5 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + -1 | 0; + continue label$4; + }; + } + } + $56_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $56_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != ($56_1 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4 | 0)) { + break label$7 + } + $71_1 = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1276(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 23 | 0) >> 0] = $71_1; + label$8 : { + if (((HEAPU8[((HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != ($71_1 & 255 | 0 | 0) & 1 | 0) { + break label$8 + } + label$9 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$9 + } + $95_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $98_1 = (HEAP32[($95_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($95_1 + 44 | 0) >> 2] = $98_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $98_1; + } + $1281(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0); + } + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 23 | 0) >> 0] = 1; + $18(HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + break label$6; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1214(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $121_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (((HEAP32[$121_1 >> 2] | 0) << 4 | 0) + $121_1 | 0) + -12 | 0; + $129_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP8[($129_1 + 9 | 0) >> 0] = (HEAPU8[($129_1 + 9 | 0) >> 0] | 0) & -9 | 0 | (((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 28 | 0) & 8 | 0) | 0; + label$11 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$11 + } + $144_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $147_1 = (HEAP32[($144_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($144_1 + 44 | 0) >> 2] = $147_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $147_1; + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + } + $153_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $153_1 | 0; + } + + function $1511($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, $49_1 = 0, i64toi32_i32$0 = 0, $121_1 = 0, $11_1 = 0, $118_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 84 | 0) >> 2] | 0) >> 2] | 0; + $11_1 = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($11_1 | 0) { + case 0: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1358(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + $1281(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 60 | 0) >> 2] = 1; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $366(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, 51 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) | 0; + $1281(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 60 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 60 | 0) >> 2] = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + $1521(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0); + break label$2; + case 5: + $49_1 = $6_1 + 8 | 0; + i64toi32_i32$0 = 0; + $121_1 = 0; + i64toi32_i32$1 = $49_1; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $49_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $49_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $49_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $49_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($6_1 + 8 | 0) >> 0] = 154; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1496(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, $49_1 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + break label$1; + default: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1496(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$2; + case 3: + $366(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, 69 | 0, $1529(0 | 0, HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, -1 | 0) | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0; + break label$2; + case 2: + $366(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, 69 | 0, $1530(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, -1 | 0) | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0; + break label$2; + case 1: + break label$3; + }; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$11 : { + label$12 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$12 + } + $366(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, 69 | 0, $1344(HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0; + break label$11; + } + $366(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($6_1 + 92 | 0) >> 2] = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + } + $118_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + global$0 = $6_1 + 96 | 0; + return $118_1 | 0; + } + + function $1512($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $25$hi = 0, i64toi32_i32$3 = 0, $26$hi = 0, $27$hi = 0, $29$hi = 0, $19_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1073741824 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if ((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 524288 | 0) { + break label$3 + } + i64toi32_i32$0 = 0; + $25$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $27$hi = i64toi32_i32$1; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$3 = 128; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $29$hi = i64toi32_i32$0; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $25$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$2 + } + } + $19_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $349($19_1 | 0, 27067 | 0, $5_1 | 0); + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1513($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $87_1 = 0, $7_1 = 0, $88_1 = 0, $89_1 = 0, $92_1 = 0, $95_1 = 0, $98_1 = 0, $119_1 = 0, $336_1 = 0, $346_1 = 0, $356_1 = 0, $366_1 = 0, $376_1 = 0, $124_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $7_1; + HEAP32[$6_1 >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = HEAP32[(($1056(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 20 | 0) >> 2] | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, $6_1 + 12 | 0, $6_1 + 8 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[$6_1 >> 2] | 0) { + break label$7 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, (($68(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) | 0) + 40 | 0) + 1 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + break label$1; + } + $87_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $88_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = $88_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $336_1 = i64toi32_i32$0; + i64toi32_i32$0 = $87_1; + HEAP32[i64toi32_i32$0 >> 2] = $336_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $89_1 = 32; + i64toi32_i32$2 = i64toi32_i32$2 + $89_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $346_1 = i64toi32_i32$1; + i64toi32_i32$1 = $87_1 + $89_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $346_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $92_1 = 24; + i64toi32_i32$2 = $88_1 + $92_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $356_1 = i64toi32_i32$0; + i64toi32_i32$0 = $87_1 + $92_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $356_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $95_1 = 16; + i64toi32_i32$2 = $88_1 + $95_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $366_1 = i64toi32_i32$1; + i64toi32_i32$1 = $87_1 + $95_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $366_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $98_1 = 8; + i64toi32_i32$2 = $88_1 + $98_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $376_1 = i64toi32_i32$0; + i64toi32_i32$0 = $87_1 + $98_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $376_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 40 | 0; + $3288((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 40 | 0 | 0, HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, ($68(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + $119_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP32[($119_1 + 4 | 0) >> 2] = HEAP32[($119_1 + 4 | 0) >> 2] | 0 | 16 | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + } + $124_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $124_1 | 0; + } + + function $1514($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $38_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $47_1 = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 48 | 0; + global$0 = $9_1; + HEAP32[($9_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($9_1 + 8 | 0) >> 2] = (((HEAP32[($9_1 + 24 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) + 32 | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $365(HEAP32[(HEAP32[($9_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$9_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $839(HEAP32[(HEAP32[($9_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $38_1 = 0; + HEAP32[(HEAP32[$9_1 >> 2] | 0) >> 2] = $38_1; + HEAP32[((HEAP32[$9_1 >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[$9_1 >> 2] | 0) + 12 | 0) >> 2] = $38_1; + HEAP32[((HEAP32[$9_1 >> 2] | 0) + 20 | 0) >> 2] = $38_1; + HEAP8[((HEAP32[$9_1 >> 2] | 0) + 25 | 0) >> 0] = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + $47_1 = $1296(HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$9_1 >> 2] | 0) + 16 | 0) >> 2] = $47_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1278(HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 16 | 0) >> 2] | 0 ? 63 : 64) | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[$9_1 >> 2] | 0 | 0, -16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $354(HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0, ((HEAP32[($9_1 + 16 | 0) >> 2] | 0) & 46 | 0) & 65535 | 0 | 0); + HEAP32[($9_1 + 44 | 0) >> 2] = HEAP32[($9_1 + 4 | 0) >> 2] | 0; + } + $64_1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + global$0 = $9_1 + 48 | 0; + return $64_1 | 0; + } + + function $1515($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 27086; + $9_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $10_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $11_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $11_1; + $349($9_1 | 0, $10_1 | 0, $5_1 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1516($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $36_1 = 0, $40_1 = 0, $43_1 = 0, $76_1 = 0, $89_1 = 0, $178_1 = 0, $18_1 = 0, $50_1 = 0, $56_1 = 0, $58_1 = 0, $167_1 = 0, $198_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 96 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 80 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0) { + break label$2 + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 33554432 | 0)) { + break label$3 + } + $18_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $1352($18_1 | 0, 0 | 0, 27130 | 0, $4_1 + 16 | 0 | 0); + $366(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + break label$1; + } + $36_1 = HEAP32[($4_1 + 84 | 0) >> 2] | 0; + HEAP32[($36_1 + 4 | 0) >> 2] = HEAP32[($36_1 + 4 | 0) >> 2] | 0 | 33554432 | 0; + $40_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + $43_1 = (HEAP32[($40_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($40_1 + 44 | 0) >> 2] = $43_1; + HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 48 | 0) >> 2] = $43_1; + $50_1 = ($366(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 44 | 0) >> 2] = $50_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1276(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + $56_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + $58_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0 ? 1352 : 27169; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $58_1; + $1352($56_1 | 0, 1 | 0, 27148 | 0, $4_1 | 0); + label$4 : { + label$5 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$5 + } + $76_1 = HEAP32[(HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + break label$4; + } + $76_1 = 1; + } + HEAP32[($4_1 + 36 | 0) >> 2] = $76_1; + $1298($4_1 + 40 | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0 | 0); + $89_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($89_1 + 44 | 0) >> 2] = (HEAP32[($89_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0; + label$6 : { + label$7 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[($4_1 + 40 | 0) >> 0] = 10; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $367(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0) - 1 | 0 | 0) | 0; + break label$6; + } + HEAP8[($4_1 + 40 | 0) >> 0] = 3; + $366(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0; + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1217(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 152 | 0, 25721 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0) >> 0] = 67; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1197(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, 52 | 0, $1310(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + $18(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + break label$8; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1217(HEAP32[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, 152 | 0, 8423 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $167_1 = $1197(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, 146 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 60 | 0) >> 2] = $167_1; + } + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + label$11 : { + if (!($1210(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, $4_1 + 40 | 0 | 0) | 0)) { + break label$11 + } + HEAP32[($4_1 + 92 | 0) >> 2] = 0; + break label$1; + } + $178_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = $178_1; + HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] = $178_1; + label$12 : { + if (!(HEAP32[($4_1 + 80 | 0) >> 2] | 0)) { + break label$12 + } + $1277(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 65 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + $1355(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) - 1 | 0 | 0, ($1296(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0) - 1 | 0 | 0); + $1353(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + } + $198_1 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + global$0 = $4_1 + 96 | 0; + return $198_1 | 0; + } + + function $1517($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $53_1 = 0, $83_1 = 0, $242_1 = 0, $267_1 = 0, $297_1 = 0, i64toi32_i32$0 = 0, $43_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 144 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 132 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 128 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 124 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $7_1; + HEAP8[($6_1 + 59 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0; + HEAP32[($6_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!($1531(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1532(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1432(HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[(HEAP32[($6_1 + 140 | 0) >> 2] | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($6_1 + 96 | 0) >> 2] | 0, 5) + 1 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($6_1 + 140 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + break label$3; + } + HEAP32[($6_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $43_1 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + $44_1 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $53_1 = 0; + break label$5; + } + $53_1 = $6_1 + 124 | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1533($43_1 | 0, $44_1 | 0, 3 | 0, $53_1 | 0, HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, $6_1 + 60 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 23 | 0) >> 0] = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1519(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, $6_1 + 92 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 23 | 0) >> 0] = HEAPU8[($6_1 + 59 | 0) >> 0] | 0; + HEAP32[($6_1 + 84 | 0) >> 2] = 0; + label$7 : while (1) { + $83_1 = 0; + label$8 : { + if (!((HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $83_1 = (HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 84 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0); + } + label$9 : { + if (!($83_1 & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 84 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + label$10 : { + label$11 : { + if (!((HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 116 | 0) >> 2] = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + break label$10; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1379(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 84 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $367(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 77 | 0, (HEAP32[($6_1 + 112 | 0) >> 2] | 0) + (HEAP32[($6_1 + 84 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 84 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0 | 0, 0 | 0) | 0; + HEAP32[($6_1 + 84 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + } + label$14 : { + label$15 : { + if (!((HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1173(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1358(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 32 | 0) >> 2] = 0; + label$16 : { + if (!((HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1382(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 101 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1507(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, $6_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + if (!(HEAP32[($6_1 + 32 | 0) >> 2] | 0)) { + break label$19 + } + if (!($1534(HEAP32[(((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$19 + } + $367(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 101 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + $1383(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + label$20 : { + label$21 : { + label$22 : { + if ((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < ((HEAP32[(HEAP32[($6_1 + 52 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0) { + break label$22 + } + if (!((HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0 ? 53 : 51; + $1278(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, -2 | 0) | 0; + $242_1 = 24; + $354(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, (((HEAPU8[(HEAP32[($6_1 + 100 | 0) >> 2] | 0) >> 0] | 0) << $242_1 | 0) >> $242_1 | 0) & 65535 | 0 | 0); + break label$20; + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0 ? 52 : 50; + $1278(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, -2 | 0) | 0; + $267_1 = 24; + $354(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, (((HEAPU8[(HEAP32[($6_1 + 100 | 0) >> 2] | 0) >> 0] | 0) << $267_1 | 0) >> $267_1 | 0 | 16 | 0) & 65535 | 0 | 0); + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + label$23 : { + if (!(HEAP32[($6_1 + 32 | 0) >> 2] | 0)) { + break label$23 + } + $366(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0; + } + $1369(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + break label$14; + } + label$24 : { + label$25 : { + if (!((HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($6_1 + 80 | 0) >> 2] = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + break label$24; + } + $297_1 = $1358(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 76 | 0) >> 2] = $297_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $297_1; + } + label$26 : { + if (!(HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$26 + } + break label$14; + } + HEAP32[($6_1 + 84 | 0) >> 2] = 0; + label$27 : { + label$28 : while (1) { + if (!((HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1535(HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (!($1534(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$29 + } + $366(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 50 | 0, (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + (HEAP32[($6_1 + 84 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($6_1 + 84 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + label$30 : { + label$31 : { + if (!((HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$31 + } + $367(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 31 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1276(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 11 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + break label$30; + } + $1278(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 90 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) | 0; + label$32 : { + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$32 + } + $353(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) | 0; + break label$14; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $353(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 30 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + } + label$33 : { + if (!(HEAP32[($6_1 + 124 | 0) >> 2] | 0)) { + break label$33 + } + if (!((HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$33 + } + $366(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 51 | 0, HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0; + } + label$34 : { + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$34 + } + $1282(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0; + } + label$35 : { + if (!(HEAP32[($6_1 + 76 | 0) >> 2] | 0)) { + break label$35 + } + $1369(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $366(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$36 : { + label$37 : { + if (!((HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$37 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1358(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + break label$36; + } + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 84 | 0) >> 2] = 0; + label$38 : { + label$39 : while (1) { + if (!((HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$38 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1382(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1535(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1173(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $1278(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 52 | 0, (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + (HEAP32[($6_1 + 84 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, -2 | 0) | 0; + $1383(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 84 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 1 | 0; + continue label$39; + }; + } + $366(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) | 0; + label$40 : { + if (!((HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$40 + } + $1369(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0); + $366(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $366(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0; + } + $1277(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0); + } + label$41 : { + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$41 + } + $1383(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0); + } + } + $13(HEAP32[(HEAP32[($6_1 + 140 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0); + $13(HEAP32[(HEAP32[($6_1 + 140 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 144 | 0; + return; + } + + function $1518($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var i64toi32_i32$1 = 0, $7_1 = 0, i64toi32_i32$0 = 0, $120_1 = 0, $121_1 = 0, $122_1 = 0, $11_1 = 0, $14_1 = 0, $17_1 = 0, $8_1 = 0, $108_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 208 | 0; + global$0 = $7_1; + $8_1 = 0; + $11_1 = $7_1 + 136 | 0; + $14_1 = $7_1 + 24 | 0; + $17_1 = $7_1 + 80 | 0; + HEAP32[($7_1 + 204 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 200 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 196 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 192 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 188 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 204 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $120_1 = 0; + i64toi32_i32$1 = $17_1; + HEAP32[i64toi32_i32$1 >> 2] = $120_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $120_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $17_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $120_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $17_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $120_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $17_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $120_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $17_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $120_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $121_1 = 0; + i64toi32_i32$1 = $14_1; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $14_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $14_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $14_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $14_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $121_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $122_1 = 0; + i64toi32_i32$1 = $11_1; + HEAP32[i64toi32_i32$1 >> 2] = $122_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $122_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $11_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $122_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $11_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $122_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $11_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $122_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $11_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $122_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1310(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 200 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $8_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if ((HEAPU8[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + HEAP8[($7_1 + 136 | 0) >> 0] = 44; + HEAP32[($7_1 + 148 | 0) >> 2] = $7_1 + 80 | 0; + HEAP32[($7_1 + 152 | 0) >> 2] = $7_1 + 24 | 0; + HEAP8[($7_1 + 80 | 0) >> 0] = 57; + HEAP32[($7_1 + 92 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 200 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP8[($7_1 + 24 | 0) >> 0] = 55; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 200 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $1520(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, $1519(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, $7_1 + 20 | 0 | 0) | 0 | 0); + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 192 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + FUNCTION_TABLE[HEAP32[($7_1 + 192 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 204 | 0) >> 2] | 0, $7_1 + 136 | 0, HEAP32[($7_1 + 196 | 0) >> 2] | 0, HEAP32[($7_1 + 188 | 0) >> 2] | 0); + break label$2; + } + $108_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($108_1 + 4 | 0) >> 2] = HEAP32[($108_1 + 4 | 0) >> 2] | 0 | 1 | 0; + $1496(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, $7_1 + 136 | 0 | 0, HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0) | 0; + } + $1383(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + } + $18(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 208 | 0; + return; + } + + function $1519($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $40_1 = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1432(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1507(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + label$3 : { + label$4 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1516(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $40_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($40_1 + 44 | 0) >> 2] = (HEAP32[($40_1 + 44 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $1439(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0 | 0); + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + } + } + $66_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $66_1 | 0; + } + + function $1520($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1527(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 2 | 0) >> 0] = HEAPU8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] | 0; + HEAP8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] = 173; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $21_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($21_1 + 4 | 0) >> 2] = (HEAP32[($21_1 + 4 | 0) >> 2] | 0) & -4097 | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1521($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU8[($1467(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (77 | 0) & 1 | 0)) { + break label$1 + } + $354(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1522($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP8[($8_1 + 15 | 0) >> 0] = $4_1; + HEAP8[($8_1 + 14 | 0) >> 0] = $5_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1275(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$1 + } + $1295(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0); + } + $26_1 = 24; + $1278(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, 68 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, ((HEAPU8[($8_1 + 15 | 0) >> 0] | 0) << $26_1 | 0) >> $26_1 | 0 | 0) | 0; + $354(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, ((HEAPU8[($8_1 + 14 | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0); + global$0 = $8_1 + 32 | 0; + return; + } + + function $1523($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (((HEAPU8[((HEAP32[$5_1 >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + $1281(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + $18(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1524($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$0 = 0, $12_1 = 0, i64toi32_i32$1 = 0, $13_1 = 0, $81_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 32 | 0; + global$0 = $9_1; + i64toi32_i32$0 = 0; + HEAP32[($9_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 8 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 4 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $365($296(HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, 8 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$9_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $12_1 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAPU8[$12_1 >> 0] | 0 | ((HEAPU8[($12_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($12_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($12_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$1 = HEAPU8[($12_1 + 4 | 0) >> 0] | 0 | ((HEAPU8[($12_1 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($12_1 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($12_1 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $81_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[$9_1 >> 2] | 0; + $13_1 = $81_1; + HEAP8[i64toi32_i32$0 >> 0] = $13_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $13_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $13_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $13_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + } + $29_1 = $1278(HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$9_1 >> 2] | 0 | 0, HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $9_1 + 32 | 0; + return $29_1 | 0; + } + + function $1525($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1516(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $19_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $19_1 | 0; + } + + function $1526($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $22_1 = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 4 | 0) >> 2] = $5_1; + HEAP8[($8_1 + 3 | 0) >> 0] = HEAPU8[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 0] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[($8_1 + 3 | 0) >> 0] | 0) & 255 | 0 | 0) == (173 | 0) & 1 | 0)) { + break label$2 + } + $22_1 = $1535(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 8 | 0) >> 2] | 0) >> 2] = $22_1; + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($8_1 + 16 | 0) >> 2] | 0) | 0; + break label$1; + } + label$3 : { + if (!(((HEAPU8[($8_1 + 3 | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($8_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAP32[($8_1 + 12 | 0) >> 2] | 0) + (HEAP32[($8_1 + 16 | 0) >> 2] | 0) | 0; + break label$1; + } + HEAP32[(HEAP32[($8_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1507(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($8_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $66_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + global$0 = $8_1 + 32 | 0; + return $66_1 | 0; + } + + function $1527($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $12_1 = ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 266240 | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 262144 | 0)) { + break label$5 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + continue label$1; + } + break label$1; + }; + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1528($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1543(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 3 | 0) >> 0] = wasm2js_i32$1; + $10_1 = 24; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($1544(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, ((HEAPU8[($5_1 + 3 | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) | 0) & 255 | 0 | ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) & 255 | 0) | 0), HEAP8[(wasm2js_i32$0 + 3 | 0) >> 0] = wasm2js_i32$1; + $22_1 = (HEAPU8[($5_1 + 3 | 0) >> 0] | 0) & 255 | 0; + global$0 = $5_1 + 16 | 0; + return $22_1 | 0; + } + + function $1529($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $203_1 = 0, $353_1 = 0, $358_1 = 0, $420_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0 ? 0 : 2; + break label$1; + } + label$4 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (153 | 0) & 1 | 0)) { + break label$4 + } + if (!($1554(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + label$5 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) & 1024 | 0)) { + break label$5 + } + label$6 : { + if (!(((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) & 1024 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$7 : { + label$8 : { + if (((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + break label$8 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (71 | 0) & 1 | 0)) { + break label$7 + } + } + label$9 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$9 + } + if (!(($1529(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$10 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$10 + } + if (!(($1529(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$11 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$11 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (166 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + label$14 : { + if (((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (169 | 0) & 1 | 0) { + break label$14 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (165 | 0) & 1 | 0)) { + break label$13 + } + } + label$15 : { + if (!($88(HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$15 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + $203_1 = 0; + label$16 : { + if (!((((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0 | 0) != ($203_1 | 0) & 1 | 0 | 0) != (((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0 | 0) != ($203_1 | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$17 : { + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$17 + } + label$18 : { + if (!($1555(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, 1 | 0) | 0)) { + break label$18 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + } + break label$12; + } + label$19 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (119 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$20 : { + label$21 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$21 + } + label$22 : { + if (!($87(HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$22 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + break label$20; + } + label$23 : { + if (!((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + if (!($3229(HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$23 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + } + } + } + label$24 : { + if (!(((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 514 | 0 | 0) != ((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 514 | 0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$25 : { + if ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) & 16384 | 0) { + break label$25 + } + label$26 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0) & 2048 | 0)) { + break label$26 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$27 : { + if ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) & 8 | 0) { + break label$27 + } + if (!($1529(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$27 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$28 : { + if (!($1529(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$28 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$29 : { + if (!($1356(HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$29 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$30 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (115 | 0) & 1 | 0)) { + break label$30 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (167 | 0) & 1 | 0)) { + break label$30 + } + if ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) & 8192 | 0) { + break label$30 + } + $353_1 = 16; + $358_1 = 16; + label$31 : { + if (!((((HEAPU16[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $353_1 | 0) >> $353_1 | 0 | 0) != (((HEAPU16[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $358_1 | 0) >> $358_1 | 0 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$32 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$32 + } + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (172 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$33 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (49 | 0) & 1 | 0)) { + break label$33 + } + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$33 + } + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 2; + break label$1; + } + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $420_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $420_1 | 0; + } + + function $1530($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $55_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if ($1529(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (43 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if ($1530(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + if (!($1530(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$5 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (51 | 0) & 1 | 0)) { + break label$5 + } + if (!($1558(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { + break label$5 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $55_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $55_1 | 0; + } + + function $1531($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1432(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$3 + } + label$4 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (HEAP32[(HEAP32[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $1515(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + break label$2; + } + label$5 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$5 + } + $1560(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $41_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $41_1 | 0; + } + + function $1532($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, i64toi32_i32$1 = 0, $62_1 = 0, i64toi32_i32$0 = 0, $65_1 = 0, $80_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1432(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$2 + } + $15_1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + break label$1; + } + $15_1 = 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = $15_1; + i64toi32_i32$1 = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $64(HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1535(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1543(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $62_1 = 24; + $65_1 = $1544(HEAP32[(((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, ((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) | 0; + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] = $65_1; + break label$6; + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[($4_1 + 15 | 0) >> 0] | 0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0) >> 0] = 0; + } + $80_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $80_1 | 0; + } + + function $1533($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, $9_1 = 0, $518$hi = 0, $531$hi = 0, $535$hi = 0, $460_1 = 0, $10_1 = 0, $11_1 = 0, $71_1 = 0, $112_1 = 0, $146_1 = 0, $161_1 = 0, $175_1 = 0, $179_1 = 0, $201_1 = 0, $302_1 = 0, $307_1 = 0, $519$hi = 0, $520$hi = 0, $52_1 = 0, $522$hi = 0, $523$hi = 0, $525$hi = 0, $527$hi = 0, $530$hi = 0, $532$hi = 0, $53_1 = 0, $533$hi = 0, $534$hi = 0, $401_1 = 0, $404_1 = 0, $457_1 = 0, $129_1 = 0, $518_1 = 0, $522_1 = 0, $1274_1 = 0, $527_1 = 0, $1290$hi = 0, $1294_1 = 0, $531_1 = 0, $371_1 = 0, $514_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 176 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 172 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 168 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 164 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 160 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 156 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 152 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 144 | 0) >> 2] = $9_1; + $10_1 = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + $11_1 = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + HEAP32[($10_1 + 40 | 0) >> 2] = $11_1 + 1 | 0; + HEAP32[($8_1 + 140 | 0) >> 2] = $11_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1275(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 136 | 0) >> 2] = ((HEAP32[($8_1 + 164 | 0) >> 2] | 0) & 4 | 0 | 0) != ($9_1 | 0) & 1 | 0; + label$1 : { + if (!((HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0) != ($9_1 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$1 + } + HEAP32[($8_1 + 124 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 128 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($8_1 + 128 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($8_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!($1534(HEAP32[(((HEAP32[($8_1 + 124 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 128 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + break label$2; + } + HEAP32[($8_1 + 128 | 0) >> 2] = (HEAP32[($8_1 + 128 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$5 : { + if (!((HEAP32[($8_1 + 128 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($8_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($8_1 + 160 | 0) >> 2] = 0; + } + } + label$6 : { + if (HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$6 + } + $71_1 = $1561(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 148 | 0) >> 2] = $71_1; + if (!(($71_1 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($8_1 + 120 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 172 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 104 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $350(HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + $1286(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0); + $1393(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, HEAP32[(HEAP32[($8_1 + 116 | 0) >> 2] | 0) >> 2] | 0 | 0); + label$7 : { + label$8 : { + if (!((HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + $112_1 = 16; + if (!((((HEAPU16[((HEAP32[((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $112_1 | 0) >> $112_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1276(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + $1462(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0, 96 | 0); + HEAP32[($8_1 + 144 | 0) >> 2] = 1; + $129_1 = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + HEAP32[$8_1 >> 2] = HEAP32[(HEAP32[($8_1 + 116 | 0) >> 2] | 0) >> 2] | 0; + $1352($129_1 | 0, 0 | 0, 27181 | 0, $8_1 | 0); + $1277(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0); + break label$7; + } + HEAP32[($8_1 + 92 | 0) >> 2] = 1; + HEAP32[($8_1 + 88 | 0) >> 2] = 0; + label$9 : while (1) { + $146_1 = 0; + label$10 : { + if (!((HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $146_1 = (HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$11 : { + if (!($146_1 & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1535(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + $161_1 = 4; + HEAP32[($8_1 + 80 | 0) >> 2] = HEAP16[((HEAP32[(((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 88 | 0) >> 2] | 0) << $161_1 | 0) | 0) + $161_1 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1498(HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 79 | 0) >> 0] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1544(HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0, HEAP8[($8_1 + 79 | 0) >> 0] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 78 | 0) >> 0] = wasm2js_i32$1; + $175_1 = (HEAP8[($8_1 + 78 | 0) >> 0] | 0) + -65 | 0; + label$12 : { + label$13 : { + switch ($175_1 | 0) { + case 0: + break label$12; + case 1: + break label$12; + default: + break label$13; + }; + } + $179_1 = 24; + HEAP32[($8_1 + 92 | 0) >> 2] = (((HEAPU8[($8_1 + 79 | 0) >> 0] | 0) << $179_1 | 0) >> $179_1 | 0 | 0) >= (67 | 0) & 1 | 0; + } + HEAP32[($8_1 + 88 | 0) >> 2] = (HEAP32[($8_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + label$16 : { + if (!(HEAP32[($8_1 + 92 | 0) >> 2] | 0)) { + break label$16 + } + HEAP32[($8_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$17 : while (1) { + $201_1 = 0; + label$18 : { + if (!((HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + $201_1 = (HEAP32[($8_1 + 144 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$19 : { + if (!($201_1 & 1 | 0)) { + break label$19 + } + label$20 : { + label$21 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) < (HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + break label$20; + } + label$22 : { + if (!((HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + break label$20; + } + label$23 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) >= (63 | 0) & 1 | 0)) { + break label$23 + } + break label$20; + } + label$24 : { + if (!(HEAP32[($8_1 + 136 | 0) >> 2] | 0)) { + break label$24 + } + label$25 : { + label$26 : { + if (((HEAPU16[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) > (HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$26 + } + if (!(((HEAPU16[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) > (HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + if ((HEAPU8[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0) { + break label$25 + } + } + break label$20; + } + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 64 | 0) >> 2] = 0; + HEAP32[($8_1 + 68 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 88 | 0) >> 2] = 0; + label$27 : { + label$28 : while (1) { + if (!((HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1535(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 48 | 0) >> 2] = HEAP32[(((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 88 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $428(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 40 | 0) >> 2] = 0; + label$29 : { + label$30 : while (1) { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + $302_1 = 16; + $307_1 = 16; + label$31 : { + label$32 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 40 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $302_1 | 0) >> $302_1 | 0 | 0) != (((HEAPU16[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $307_1 | 0) >> $307_1 | 0 | 0) & 1 | 0)) { + break label$32 + } + break label$31; + } + label$33 : { + if (!((HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$33 + } + if (!($88(HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$33 + } + break label$31; + } + break label$29; + } + HEAP32[($8_1 + 40 | 0) >> 2] = (HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$30; + }; + } + label$34 : { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$34 + } + break label$27; + } + i64toi32_i32$0 = 0; + $518_1 = 0; + $518$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $519$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $520$hi = i64toi32_i32$0; + i64toi32_i32$0 = $519$hi; + i64toi32_i32$0 = $520$hi; + i64toi32_i32$0 = $519$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = $520$hi; + i64toi32_i32$3 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $52_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $52_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + i64toi32_i32$2 = $8_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $52_1; + HEAP32[($8_1 + 60 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + $522_1 = i64toi32_i32$1; + $522$hi = i64toi32_i32$2; + i64toi32_i32$0 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + $523$hi = i64toi32_i32$1; + i64toi32_i32$1 = $522$hi; + i64toi32_i32$1 = $523$hi; + $1274_1 = i64toi32_i32$2; + i64toi32_i32$1 = $522$hi; + i64toi32_i32$0 = $522_1; + i64toi32_i32$2 = $523$hi; + i64toi32_i32$3 = $1274_1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $525$hi = i64toi32_i32$2; + i64toi32_i32$2 = $518$hi; + i64toi32_i32$2 = $525$hi; + i64toi32_i32$2 = $518$hi; + i64toi32_i32$2 = $525$hi; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $518$hi; + i64toi32_i32$3 = $518_1; + label$35 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$35 + } + break label$27; + } + i64toi32_i32$3 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + $527_1 = i64toi32_i32$1; + $527$hi = i64toi32_i32$2; + i64toi32_i32$3 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + $1290$hi = i64toi32_i32$1; + i64toi32_i32$1 = $527$hi; + i64toi32_i32$1 = $1290$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $527$hi; + i64toi32_i32$0 = $527_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $1294_1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = $8_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $1294_1; + HEAP32[($8_1 + 68 | 0) >> 2] = i64toi32_i32$2; + label$36 : { + if (!((HEAP32[($8_1 + 156 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[((HEAP32[($8_1 + 156 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 88 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 88 | 0) >> 2] = (HEAP32[($8_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + i64toi32_i32$2 = 0; + $530$hi = i64toi32_i32$2; + i64toi32_i32$1 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + $531_1 = i64toi32_i32$2; + $531$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $532$hi = i64toi32_i32$3; + i64toi32_i32$3 = $530$hi; + i64toi32_i32$3 = $532$hi; + i64toi32_i32$3 = $530$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$2 = $532$hi; + i64toi32_i32$0 = HEAP32[($8_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $53_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $53_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $533$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $534$hi = i64toi32_i32$2; + i64toi32_i32$2 = $533$hi; + i64toi32_i32$2 = $534$hi; + i64toi32_i32$2 = $533$hi; + i64toi32_i32$3 = $53_1; + i64toi32_i32$1 = $534$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $535$hi = i64toi32_i32$5; + i64toi32_i32$5 = $531$hi; + i64toi32_i32$5 = $535$hi; + i64toi32_i32$5 = $531$hi; + i64toi32_i32$5 = $535$hi; + i64toi32_i32$5 = $531$hi; + i64toi32_i32$2 = $531_1; + i64toi32_i32$3 = $535$hi; + i64toi32_i32$0 = i64toi32_i32$4; + label$37 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$37 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1276(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $371_1 = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 96 | 0) >> 2] | 0) >> 2] | 0; + $1352($371_1 | 0, 0 | 0, 27228 | 0, $8_1 + 16 | 0 | 0); + $367(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, 96 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) | 0; + $1405(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 144 | 0) >> 2] = ((HEAPU8[(HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 3 | 0; + label$38 : { + if (!((HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$38 + } + $401_1 = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + $404_1 = (HEAP32[($401_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($401_1 + 44 | 0) >> 2] = $404_1; + HEAP32[(HEAP32[($8_1 + 160 | 0) >> 2] | 0) >> 2] = $404_1; + label$39 : { + if (!((HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$39 + } + $1562(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($8_1 + 160 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + } + $1277(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($8_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$17; + } + break label$17; + }; + } + } + } + label$40 : { + if (HEAP32[($8_1 + 144 | 0) >> 2] | 0) { + break label$40 + } + if (!((HEAP32[($8_1 + 164 | 0) >> 2] | 0) & 1 | 0)) { + break label$40 + } + if ((HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0) { + break label$40 + } + label$41 : { + if (!($1563(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0)) { + break label$41 + } + if (!((HEAP32[(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) <= (2 | 0) & 1 | 0)) { + break label$40 + } + } + HEAP32[($8_1 + 144 | 0) >> 2] = 5; + } + label$42 : { + if (HEAP32[($8_1 + 144 | 0) >> 2] | 0) { + break label$42 + } + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = 0; + HEAP32[($8_1 + 144 | 0) >> 2] = 2; + label$43 : { + label$44 : { + if (!((HEAP32[($8_1 + 164 | 0) >> 2] | 0) & 4 | 0)) { + break label$44 + } + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 136 | 0) >> 2] = 0; + break label$43; + } + label$45 : { + if (!((HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$45 + } + $457_1 = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + $460_1 = (HEAP32[($457_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($457_1 + 44 | 0) >> 2] = $460_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $460_1; + HEAP32[(HEAP32[($8_1 + 160 | 0) >> 2] | 0) >> 2] = $460_1; + } + } + $1564(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0); + label$46 : { + if (!(HEAP32[($8_1 + 28 | 0) >> 2] | 0)) { + break label$46 + } + $1562(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0); + } + HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 136 | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + } + label$47 : { + if (!((HEAP32[($8_1 + 156 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$47 + } + if (!((HEAP32[($8_1 + 144 | 0) >> 2] | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$47 + } + if (!((HEAP32[($8_1 + 144 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$47 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1432(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 24 | 0) >> 2] = 0; + label$48 : { + label$49 : while (1) { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$48 + } + HEAP32[((HEAP32[($8_1 + 156 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$49; + }; + } + } + HEAP32[(HEAP32[($8_1 + 152 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 140 | 0) >> 2] | 0; + $514_1 = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + global$0 = $8_1 + 176 | 0; + return $514_1 | 0; + } + + function $1534($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $52_1 = 0, $74_1 = 0, $15_1 = 0, $44_1 = 0, $66_1 = 0, $91_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : while (1) { + $15_1 = 1; + label$2 : { + if (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (171 | 0) & 1 | 0) { + break label$2 + } + $15_1 = ((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (170 | 0); + } + label$3 : { + if (!($15_1 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + HEAP8[($3_1 + 7 | 0) >> 0] = HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0; + label$4 : { + if (!(((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) == (173 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($3_1 + 7 | 0) >> 0] = HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0; + } + $44_1 = (HEAPU8[($3_1 + 7 | 0) >> 0] | 0) + -115 | 0; + label$5 : { + label$6 : { + switch ($44_1 | 0) { + case 0: + case 35: + case 36: + case 37: + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$5; + case 49: + $52_1 = 1; + label$9 : { + if ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1048576 | 0) { + break label$9 + } + $52_1 = 1; + if ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$9 + } + $66_1 = 16; + $74_1 = 0; + label$10 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $66_1 | 0) >> $66_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$10 + } + $74_1 = 0; + if (!((HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $91_1 = 16; + $74_1 = ((HEAPU8[(((HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $91_1 | 0) >> $91_1 | 0, 20) | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + $52_1 = $74_1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $52_1 & 1 | 0; + break label$5; + default: + break label$6; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1535($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $47_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!($1505(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0) { + break label$4 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + $47_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $47_1 | 0; + } + + function $1536($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $19_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = 10 - (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = 0; + $19_1 = $875(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, (HEAP32[$5_1 >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] = $19_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1537($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, $79_1 = 0, $86_1 = 0, $90_1 = 0, $97_1 = 0, $161_1 = 0, $181_1 = 0, $18_1 = 0, i64toi32_i32$0 = 0, $124_1 = 0, $130_1 = 0, $138_1 = 0, $193_1 = 0, $225_1 = 0, $231_1 = 0, $233_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 134217728; + break label$1; + } + $18_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = $1566(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $365($18_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1567(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) & 4095 | 0; + label$4 : { + label$5 : { + if ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1024 | 0) { + break label$5 + } + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = ($68(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + } + label$6 : { + label$7 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$7 + } + $3288(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + break label$6; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1568(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $3288(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0; + label$8 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0) >>> 0 < 52 >>> 0 & 1 | 0)) { + break label$8 + } + $3289((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0 | 0, 0 | 0, 52 - (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0 | 0) | 0; + } + } + $79_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($79_1 + 4 | 0) >> 2] = (HEAP32[($79_1 + 4 | 0) >> 2] | 0) & -134307841 | 0; + $86_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($86_1 + 4 | 0) >> 2] = HEAP32[($86_1 + 4 | 0) >> 2] | 0 | ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) & 24576 | 0) | 0; + $90_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($90_1 + 4 | 0) >> 2] = HEAP32[($90_1 + 4 | 0) >> 2] | 0 | (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0; + label$9 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$9 + } + } + label$10 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$10 + } + $97_1 = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = $97_1; + HEAP32[$6_1 >> 2] = $97_1; + $3288(HEAP32[$6_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + label$11 : { + if (!((0 | 0) == ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) & 8404992 | 0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$13 + } + $124_1 = $1338(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = $124_1; + break label$12; + } + $130_1 = $1339(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = $130_1; + } + } + label$14 : { + label$15 : { + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16801792 | 0)) { + break label$15 + } + $138_1 = $1569(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $138_1 | 0; + label$16 : { + if ((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8404992 | 0) { + break label$16 + } + label$17 : { + label$18 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + $161_1 = $1537(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 1 | 0, $6_1 + 24 | 0 | 0) | 0; + break label$17; + } + $161_1 = 0; + } + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = $161_1; + label$19 : { + label$20 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + $181_1 = $1537(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 1 | 0, $6_1 + 24 | 0 | 0) | 0; + break label$19; + } + $181_1 = 0; + } + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = $181_1; + } + label$21 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$21 + } + $193_1 = $1570(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] = $193_1; + } + label$22 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + } + break label$14; + } + label$23 : { + if ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8404992 | 0) { + break label$23 + } + label$24 : { + label$25 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (175 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$24; + } + $225_1 = $1310(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = $225_1; + } + $231_1 = $1310(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = $231_1; + } + } + } + $233_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $233_1 | 0; + } + + function $1538($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $61_1 = 0, $95_1 = 0, $98_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0) { + break label$2 + } + if (!(((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (43 | 0) & 1 | 0)) { + break label$1 + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1538(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1538(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + label$5 : { + if (((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 268435457 | 0 | 0) == (268435456 | 0) & 1 | 0) { + break label$5 + } + if (!(((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 536870913 | 0 | 0) == (536870912 | 0) & 1 | 0)) { + break label$4 + } + } + label$6 : { + label$7 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$7 + } + $61_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + break label$6; + } + $61_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $61_1; + break label$3; + } + label$8 : { + label$9 : { + if (((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 268435457 | 0 | 0) == (268435456 | 0) & 1 | 0) { + break label$9 + } + if (!(((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 536870913 | 0 | 0) == (536870912 | 0) & 1 | 0)) { + break label$8 + } + } + label$10 : { + label$11 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$11 + } + $95_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + break label$10; + } + $95_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $95_1; + } + } + } + $98_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $98_1 | 0; + } + + function $1539($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0; + } + + function $1540($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $15_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + if ((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + $15_1 = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $15_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = HEAPU8[(($296(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0) + 78 | 0) >> 0] | 0), HEAP8[(wasm2js_i32$0 + 11 | 0) >> 0] = wasm2js_i32$1; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 20 | 0) >> 2] | 0, 20) | 0; + $1490($296(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($6_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAPU8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) & 255 | 0 | 0, $6_1 + 12 | 0 | 0) | 0; + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != ($15_1 | 0) & 1 | 0)) { + break label$2 + } + $1420(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, -11 | 0); + } + } + $56_1 = 24; + label$3 : { + if (!((((HEAPU8[(((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 20 | 0) >> 2] | 0, 20) | 0) + 13 | 0) >> 0] | 0) << $56_1 | 0) >> $56_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$3 + } + if (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$3 + } + $1288(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 83 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1541($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $9_1 = 0, $422$hi = 0, $17_1 = 0, $23_1 = 0, $52_1 = 0, $75_1 = 0, $419$hi = 0, $420$hi = 0, $233_1 = 0, $424$hi = 0, $426$hi = 0, $427$hi = 0, $398_1 = 0, $163_1 = 0, $419_1 = 0, $766_1 = 0, $169_1 = 0, $170_1 = 0, $1055_1 = 0, $1060_1 = 0, $1252_1 = 0, $416_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $1_1; + HEAP8[($8_1 + 51 | 0) >> 0] = $2_1; + HEAP8[($8_1 + 50 | 0) >> 0] = $3_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 24 | 0) >> 2] = 1; + HEAP32[($8_1 + 20 | 0) >> 2] = 1352; + HEAP32[($8_1 + 16 | 0) >> 2] = $9_1; + label$1 : while (1) { + $17_1 = (HEAPU8[(HEAP32[($8_1 + 52 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $17_1; + $23_1 = 1; + label$2 : { + if (($17_1 | 0) == (171 | 0) & 1 | 0) { + break label$2 + } + $23_1 = (HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (178 | 0); + } + label$3 : { + if (!($23_1 & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + label$4 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (173 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAPU8[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0; + } + label$5 : { + label$6 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (36 | 0) & 1 | 0)) { + break label$6 + } + $52_1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1307(HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $52_1 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1541(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 51 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAPU8[($8_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($52_1 | 0) & 1 | 0)) { + break label$7 + } + $75_1 = 1; + $897(HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0, $75_1 & 255 | 0 | 0) | 0; + $977(HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 50 | 0) >> 0] | 0) & 255 | 0 | 0, $75_1 & 255 | 0 | 0); + } + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + break label$5; + } + label$8 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (170 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (((HEAPU8[(HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (152 | 0) & 1 | 0) { + break label$9 + } + if (!(((HEAPU8[(HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (150 | 0) & 1 | 0)) { + break label$8 + } + } + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAPU8[(HEAP32[($8_1 + 52 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = -1; + HEAP32[($8_1 + 20 | 0) >> 2] = 5208; + } + label$10 : { + label$11 : { + label$12 : { + label$13 : { + if ((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (115 | 0) & 1 | 0) { + break label$13 + } + if ((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (150 | 0) & 1 | 0) { + break label$13 + } + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (152 | 0) & 1 | 0)) { + break label$12 + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1542(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + break label$10; + } + label$15 : { + label$16 : { + if (!((HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1024 | 0)) { + break label$16 + } + $163_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $419_1 = i64toi32_i32$1; + $419$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $420$hi = i64toi32_i32$0; + i64toi32_i32$0 = $419$hi; + i64toi32_i32$0 = $420$hi; + $766_1 = i64toi32_i32$1; + i64toi32_i32$0 = $419$hi; + i64toi32_i32$1 = $420$hi; + i64toi32_i32$1 = __wasm_i64_mul($419_1 | 0, i64toi32_i32$0 | 0, $766_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $268($163_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$15; + } + $169_1 = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + $170_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP32[($8_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$8_1 >> 2] = $170_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $351($169_1 | 0, 27033 | 0, $8_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$17 + } + break label$10; + } + $120(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, 1 | 0); + } + label$18 : { + label$19 : { + label$20 : { + if ((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (152 | 0) & 1 | 0) { + break label$20 + } + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (150 | 0) & 1 | 0)) { + break label$19 + } + } + if (!(((HEAPU8[($8_1 + 50 | 0) >> 0] | 0) & 255 | 0 | 0) == (65 | 0) & 1 | 0)) { + break label$19 + } + $977(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, 67 & 255 | 0 | 0, 1 & 255 | 0 | 0); + break label$18; + } + $977(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 50 | 0) >> 0] | 0) & 255 | 0 | 0, 1 & 255 | 0 | 0); + } + label$21 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 44 | 0)) { + break label$21 + } + $233_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP16[($233_1 + 8 | 0) >> 1] = ((HEAPU16[($233_1 + 8 | 0) >> 1] | 0) & 65535 | 0) & -3 | 0; + } + label$22 : { + if (!(((HEAPU8[($8_1 + 51 | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $328(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 51 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + break label$11; + } + label$23 : { + label$24 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (170 | 0) & 1 | 0)) { + break label$24 + } + label$25 : { + if (!((0 | 0) == ($1541(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 51 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAPU8[($8_1 + 50 | 0) >> 0] | 0) & 255 | 0 | 0, $8_1 + 28 | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$25 + } + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + $978(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0; + label$26 : { + label$27 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$27 + } + HEAPF64[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 3] = -+HEAPF64[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 3]; + break label$26; + } + i64toi32_i32$0 = -2147483648; + $422$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $424$hi = i64toi32_i32$1; + i64toi32_i32$1 = $422$hi; + i64toi32_i32$1 = $424$hi; + i64toi32_i32$1 = $422$hi; + i64toi32_i32$1 = $424$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $422$hi; + i64toi32_i32$3 = 0; + label$28 : { + label$29 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$29 + } + HEAPF64[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 3] = 9223372036854775808.0; + HEAP16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 1] = ((HEAPU16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & -49600 | 0 | 8 | 0; + break label$28; + } + i64toi32_i32$2 = 0; + $426$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $427$hi = i64toi32_i32$1; + i64toi32_i32$1 = $426$hi; + i64toi32_i32$1 = $427$hi; + $1055_1 = i64toi32_i32$2; + i64toi32_i32$1 = $426$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = $427$hi; + i64toi32_i32$0 = $1055_1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $1060_1 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $1060_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$5; + } + } + $977(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, (HEAPU8[($8_1 + 50 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAPU8[($8_1 + 51 | 0) >> 0] | 0) & 255 | 0 | 0); + } + break label$23; + } + label$30 : { + label$31 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (119 | 0) & 1 | 0)) { + break label$31 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1542(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$32 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$32 + } + break label$10; + } + $262(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0); + break label$30; + } + label$33 : { + label$34 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (151 | 0) & 1 | 0)) { + break label$34 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1542(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$35 : { + if ((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$35 + } + break label$10; + } + HEAP32[($8_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 2 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = ($68(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $256(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, $1504(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) / (2 | 0) | 0 | 0, 0 & 255 | 0 | 0, 1 | 0) | 0; + break label$33; + } + label$36 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (167 | 0) & 1 | 0)) { + break label$36 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1542(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$37 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$37 + } + HEAP16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 1] = 4; + $398_1 = 24; + i64toi32_i32$3 = (((HEAPU8[((HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) << $398_1 | 0) >> $398_1 | 0 | 0) == (0 | 0) & 1 | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $1252_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $1252_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$5; + } + } + } + } + } + } + HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + break label$5; + } + $118(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0); + $13(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0); + $212(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 60 | 0) >> 2] = 7; + } + $416_1 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $416_1 | 0; + } + + function $1542($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $6_1 = $117(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $6_1 | 0; + } + + function $1543($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $74_1 = 0, $93_1 = 0, $115_1 = 0, $117_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 135168 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (136 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1543(HEAP32[((HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + break label$3; + } + label$5 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (173 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0; + } + label$6 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (36 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1307(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + break label$3; + } + label$7 : { + label$8 : { + if ((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (166 | 0) & 1 | 0) { + break label$8 + } + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$7 + } + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $74_1 = 16; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1498(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $74_1 | 0) >> $74_1 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + break label$3; + } + label$9 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (175 | 0) & 1 | 0)) { + break label$9 + } + $93_1 = 16; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1543(HEAP32[(((HEAP32[((HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((((HEAPU16[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $93_1 | 0) >> $93_1 | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + break label$3; + } + label$10 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (174 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1543(HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + break label$3; + } + HEAP8[($3_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + } + $115_1 = 24; + $117_1 = ((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $115_1 | 0) >> $115_1 | 0; + global$0 = $3_1 + 16 | 0; + return $117_1 | 0; + } + + function $1544($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $19_1 = 0, $29_1 = 0, $39_1 = 0, $51_1 = 0, $60_1 = 0, $63_1 = 0, $65_1 = 0, $72_1 = 0, $74_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 7 | 0) >> 0] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1543(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 6 | 0) >> 0] = wasm2js_i32$1; + $9_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[($4_1 + 6 | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0 | 0) > (64 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = 24; + if (!((((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) > (64 | 0) & 1 | 0)) { + break label$2 + } + $29_1 = 24; + label$3 : { + label$4 : { + if ((((HEAPU8[($4_1 + 6 | 0) >> 0] | 0) << $29_1 | 0) >> $29_1 | 0 | 0) >= (67 | 0) & 1 | 0) { + break label$4 + } + $39_1 = 24; + if (!((((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0 | 0) >= (67 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP8[($4_1 + 15 | 0) >> 0] = 67; + break label$1; + } + HEAP8[($4_1 + 15 | 0) >> 0] = 65; + break label$1; + } + $51_1 = 24; + label$5 : { + label$6 : { + if (!((((HEAPU8[($4_1 + 6 | 0) >> 0] | 0) << $51_1 | 0) >> $51_1 | 0 | 0) <= (64 | 0) & 1 | 0)) { + break label$6 + } + $60_1 = 24; + $63_1 = ((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $60_1 | 0) >> $60_1 | 0; + break label$5; + } + $65_1 = 24; + $63_1 = ((HEAPU8[($4_1 + 6 | 0) >> 0] | 0) << $65_1 | 0) >> $65_1 | 0; + } + HEAP8[($4_1 + 15 | 0) >> 0] = $63_1 | 64 | 0; + } + $72_1 = 24; + $74_1 = ((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) << $72_1 | 0) >> $72_1 | 0; + global$0 = $4_1 + 16 | 0; + return $74_1 | 0; + } + + function $1545($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 1] = 0; + return 2 | 0; + } + + function $1546($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $23_1 = 0, $68_1 = 0, $143_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$2 + } + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + $23_1 = HEAPU8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] | 0; + label$3 : { + label$4 : { + label$5 : { + label$6 : { + label$7 : { + if (($23_1 | 0) == (59 | 0)) { + break label$7 + } + if (($23_1 | 0) == (139 | 0)) { + break label$5 + } + if (($23_1 | 0) == (153 | 0)) { + break label$4 + } + if (($23_1 + -164 | 0) >>> 0 < 3 >>> 0) { + break label$6 + } + label$8 : { + if (($23_1 | 0) == (169 | 0)) { + break label$8 + } + if (($23_1 | 0) == (173 | 0)) { + break label$5 + } + if (($23_1 | 0) == (176 | 0)) { + break label$5 + } + break label$3; + } + label$9 : { + label$10 : { + if (((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) >= (4 | 0) & 1 | 0) { + break label$10 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 524288 | 0)) { + break label$9 + } + } + if ((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0) { + break label$9 + } + label$11 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$11 + } + $68_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($68_1 + 4 | 0) >> 2] = HEAP32[($68_1 + 4 | 0) >> 2] | 0 | 1073741824 | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + label$12 : { + if (!($1199(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + } + label$13 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0)) { + break label$13 + } + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$14 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + } + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + label$15 : { + label$16 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$16 + } + HEAP8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] = 119; + break label$15; + } + label$17 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$17 + } + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $143_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $143_1 | 0; + } + + function $1547($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = $1548(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $15_1 = 0; + } + global$0 = $4_1 + 16 | 0; + return $15_1 | 0; + } + + function $1548($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $73_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : while (1) { + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 8 | 0) >> 2] | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[$4_1 >> 2] | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) & 2 | 0; + break label$1; + } + if ((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8404992 | 0) { + break label$2 + } + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!($1548(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$8 + } + label$9 : { + if (!($1549(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + break label$7; + } + label$10 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if (!($1550(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + } + label$12 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$12 + } + label$13 : { + if (!($1551(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$13 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + } + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $73_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $73_1 | 0; + } + + function $1549($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $60_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$4 : while (1) { + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 8 | 0) >> 2] | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[$4_1 >> 2] | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) & 2 | 0; + break label$1; + } + label$6 : { + label$7 : { + if ($1552(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + if (!($1553(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 8 | 0) >> 2] | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0); + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + if ((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + continue label$4 + } + break label$4; + }; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $60_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $60_1 | 0; + } + + function $1550($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $36_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!($1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0; + continue label$4; + }; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $36_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $36_1 | 0; + } + + function $1551($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $46_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1550(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1550(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $46_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $46_1 | 0; + } + + function $1552($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $60_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!($1550(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$3 : { + if (!($1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$4 : { + if (!($1550(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$5 : { + if (!($1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$6 : { + if (!($1550(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$7 : { + if (!($1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$8 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1551(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $60_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $60_1 | 0; + } + + function $1553($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $61_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!($1549(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$6 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0)) { + break label$6 + } + if (!($1550(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 72 | 0; + continue label$4; + }; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $61_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $61_1 | 0; + } + + function $1554($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $29_1 = 0, $56_1 = 0, $67_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $6_1; + $1490(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, 65 & 255 | 0 | 0, $5_1 + 4 | 0 | 0) | 0; + label$1 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + $29_1 = 16; + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAPU16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $29_1 | 0) >> $29_1 | 0; + $1556(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1557(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 65 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(($248(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$3 + } + $66(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + $56_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($56_1 | 0) == ($898(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $56_1 | 0) | 0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $212(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + $212(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + $67_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $67_1 | 0; + } + + function $1555($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $99_1 = 0, $106_1 = 0, $115_1 = 0, $118_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$6 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$8 : { + if (!($1529(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$8 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$9 : { + if (!($1529(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$9 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + $99_1 = $1356(HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $99_1; + label$10 : { + if (!$99_1) { + break label$10 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + break label$1; + } + $106_1 = $1356(HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $106_1; + label$11 : { + if (!$106_1) { + break label$11 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + break label$1; + } + label$12 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$12 + } + $115_1 = $1529(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $115_1; + label$13 : { + if (!$115_1) { + break label$13 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $118_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $118_1 | 0; + } + + function $1556($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0, $21_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) >= (32 | 0) & 1 | 0)) { + break label$2 + } + $12_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($12_1 + 208 | 0) >> 2] = HEAP32[($12_1 + 208 | 0) >> 2] | 0 | -2147483648 | 0; + break label$1; + } + $21_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($21_1 + 208 | 0) >> 2] = HEAP32[($21_1 + 208 | 0) >> 2] | 0 | (1 << ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) | 0; + } + return; + } + + function $1557($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 19 | 0) >> 0] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 20 | 0) >> 2] | 0) - 1 | 0, 40) | 0; + label$3 : { + if (!((0 | 0) == (((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $117(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $281(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $977(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0, 1 & 255 | 0 | 0); + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $54_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $54_1 | 0; + } + + function $1558($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $26_1 = 0, $111_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if ($1529(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + HEAP32[($7_1 + 28 | 0) >> 2] = ((HEAPU8[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (119 | 0) & 1 | 0; + break label$1; + } + $26_1 = (HEAPU8[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 0] | 0) + -19 | 0; + label$3 : { + switch ($26_1 | 0) { + case 30: + label$11 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$11 + } + if (!((HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$11 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1558(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + case 29: + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$12 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$13 : { + label$14 : { + if ($1558(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0) { + break label$14 + } + if (!($1558(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0)) { + break label$13 + } + } + HEAP32[($7_1 + 28 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1558(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + case 33: + case 34: + case 35: + case 36: + case 37: + case 38: + case 83: + case 84: + case 85: + case 86: + case 87: + case 91: + HEAP32[($7_1 + 8 | 0) >> 2] = 1; + case 82: + case 88: + case 89: + case 90: + label$15 : { + if (!($1558(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$15 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 1; + break label$1; + } + case 92: + case 151: + case 152: + case 159: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1558(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + case 153: + label$16 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$16 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$17 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (45 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1558(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + case 0: + case 93: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1558(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + default: + break label$3; + }; + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + } + $111_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $111_1 | 0; + } + + function $1559($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, $112_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + $13_1 = (HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) + -43 | 0; + label$3 : { + switch ($13_1 | 0) { + case 0: + case 2: + case 6: + case 7: + case 8: + case 111: + case 125: + case 126: + case 129: + case 131: + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 121: + label$9 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 1] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 1: + label$10 : { + if ((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0) { + break label$10 + } + $1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + label$11 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 1] = 0; + $1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 5: + label$12 : { + if (!(($1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$13 : { + label$14 : { + label$15 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$15 + } + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + if (HEAP32[((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$14 + } + } + if (!(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$13 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + if (!(HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$13 + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + break; + default: + break label$3; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $112_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $112_1 | 0; + } + + function $1560($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$2 + } + $1515(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, 1 | 0); + break label$1; + } + $349(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 26965 | 0, 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1561($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 32 | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0)) { + break label$3 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$5 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 9 | 0)) { + break label$5 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$8 : { + if (!((HEAP32[(HEAP32[($3_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$10 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$10 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[$3_1 >> 2] = HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$13 : { + if (!(((HEAPU8[(HEAP32[$3_1 >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + return HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $1562($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $8_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $366(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 69 | 0, $8_1 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1288(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $367(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $8_1 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 128 & 65535 | 0 | 0); + $1277(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1563($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1243(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $12_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $12_1 | 0; + } + + function $1564($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $237_1 = 0, $6_1 = 0, $50_1 = 0, $54_1 = 0, $57_1 = 0, $112_1 = 0, $176_1 = 0, $187_1 = 0, $232_1 = 0, $26_1 = 0, $64_1 = 0, $95_1 = 0, $97_1 = 0, $151_1 = 0, $206_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 128 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 100 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0) { + break label$2 + } + if (HEAP32[((HEAP32[($5_1 + 124 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 33554432 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1276(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$4 + } + $26_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $1352($26_1 | 0, 0 | 0, 27259 | 0, $5_1 + 16 | 0 | 0); + } + $366(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 98 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0); + break label$1; + } + $50_1 = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + HEAP32[($50_1 + 4 | 0) >> 2] = HEAP32[($50_1 + 4 | 0) >> 2] | 0 | 33554432 | 0; + $54_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + $57_1 = (HEAP32[($54_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($54_1 + 44 | 0) >> 2] = $57_1; + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] = $57_1; + $64_1 = ($366(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 44 | 0) >> 2] = $64_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1276(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($5_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1432(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1497(HEAP32[(HEAP32[($5_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$6 + } + HEAP32[($5_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $95_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + $97_1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0 ? 1352 : 27169; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $97_1; + $1352($95_1 | 0, 1 | 0, 27282 | 0, $5_1 | 0); + label$7 : { + if (!((HEAP32[(HEAP32[($5_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $112_1 = $5_1 + 56 | 0; + $1298($112_1 | 0, 11 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1532(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + label$8 : { + if (!($1210(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, $112_1 | 0) | 0)) { + break label$8 + } + $13(HEAP32[(HEAP32[($5_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + $838(HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0); + break label$1; + } + $13(HEAP32[(HEAP32[($5_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 52 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1535(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $151_1 = $428(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 52 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 52 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $151_1; + HEAP32[($5_1 + 52 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + } + break label$5; + } + label$11 : { + if (!((HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1543(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 47 | 0) >> 0] = wasm2js_i32$1; + $176_1 = 24; + label$12 : { + label$13 : { + if (!((((HEAPU8[($5_1 + 47 | 0) >> 0] | 0) << $176_1 | 0) >> $176_1 | 0 | 0) <= (64 | 0) & 1 | 0)) { + break label$13 + } + HEAP8[($5_1 + 47 | 0) >> 0] = 65; + break label$12; + } + $187_1 = 24; + label$14 : { + if (!((((HEAPU8[($5_1 + 47 | 0) >> 0] | 0) << $187_1 | 0) >> $187_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$14 + } + HEAP8[($5_1 + 47 | 0) >> 0] = 67; + } + } + label$15 : { + if (!((HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $206_1 = $1173(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 2] = $206_1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + label$18 : { + if (!(HEAP32[($5_1 + 112 | 0) >> 2] | 0)) { + break label$18 + } + if ($1243(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0) { + break label$18 + } + $1367(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) | 0; + $232_1 = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + HEAP32[($232_1 + 4 | 0) >> 2] = (HEAP32[($232_1 + 4 | 0) >> 2] | 0) & -33554433 | 0; + HEAP32[($5_1 + 112 | 0) >> 2] = 0; + } + $237_1 = 1; + $1281(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + $1278(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $237_1 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $5_1 + 47 | 0 | 0, $237_1 | 0) | 0; + $353(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $237_1 | 0) | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 16 | 0; + continue label$17; + }; + } + $1383(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + } + label$19 : { + if (!((HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + $357(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0, -9 | 0); + } + if (!(HEAP32[($5_1 + 112 | 0) >> 2] | 0)) { + break label$1 + } + $1277(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 65 | 0, HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + $1355(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) - 1 | 0 | 0, ($1296(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) | 0) - 1 | 0 | 0); + $1353(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 128 | 0; + return; + } + + function $1565($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $20_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0) & (1 << (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0) | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + $17_1 = 1; + $20_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($20_1 + 84 | 0) >> 2] = HEAP32[($20_1 + 84 | 0) >> 2] | 0 | ($17_1 << (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0) | 0; + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == ($17_1 | 0) & 1 | 0)) { + break label$2 + } + $123(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1566($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $26_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1569(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) & 1 | 0)) { + break label$2 + } + $26_1 = ($1566(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) + ($1566(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + $26_1 | 0; + } + } + $29_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $29_1 | 0; + } + + function $1567($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((0 | 0) == (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + if (((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (175 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 4 | 0) >> 2] = 52; + break label$1; + } + label$4 : { + label$5 : { + label$6 : { + if ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + } + HEAP32[($4_1 + 4 | 0) >> 2] = 8220; + break label$4; + } + HEAP32[($4_1 + 4 | 0) >> 2] = 16396; + } + } + return HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $1568($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16384 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 12; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 28; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 52; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1569($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $28_1 = 0, $35_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ($1567(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) & 4095 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1024 | 0) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $28_1 = (($3303(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0) & 1073741823 | 0) + 1 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + $28_1 | 0; + } + $35_1 = ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 7 | 0) & -8 | 0; + global$0 = $4_1 + 16 | 0; + return $35_1 | 0; + } + + function $1570($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $22_1 = 0, $6_1 = 0, i64toi32_i32$0 = 0, $26_1 = 0, $31_1 = 0, $36_1 = 0, $44_1 = 0, $49_1 = 0, $81_1 = 0, $86_1 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = $6_1; + label$1 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $308(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 100 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $22_1 = 0; + $26_1 = $291(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = $26_1; + $31_1 = $291(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = $31_1; + $36_1 = $1310(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, $22_1 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 40 | 0) >> 2] = $36_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $44_1 = $1339(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $22_1 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] = $44_1; + $49_1 = $1339(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $22_1 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = $49_1; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 18 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 17 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 20 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 56 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 52 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 80 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 96 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 96 | 0) >> 0] | 0; + $81_1 = $1310(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, $22_1 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] = $81_1; + $86_1 = $1310(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, $22_1 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 28 | 0) >> 2] = $86_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 19 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 19 | 0) >> 0] | 0; + } + } + $93_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $93_1 | 0; + } + + function $1571($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $5_1 = 0, i64toi32_i32$1 = 0, $42_1 = 0, $52_1 = 0, $69_1 = 0, $86_1 = 0, $97_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = (((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) << 4 | 0) + 24 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $308(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $42_1 = 0; + $52_1 = $1338(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] | 0 | 0, $42_1 | 0) | 0; + HEAP32[((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] = $52_1; + $69_1 = $1339(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, $42_1 | 0) | 0; + HEAP32[((((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] = $69_1; + $86_1 = $291(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = $86_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + } + } + $97_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $97_1 | 0; + } + + function $1572($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $20_1 = 0, $35_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $4_1 + 16 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $17_1 = 0; + $20_1 = $1570(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $17_1 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = $20_1; + label$3 : { + if (!((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == ($17_1 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 36 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$2; + }; + } + $35_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $35_1 | 0; + } + + function $1573($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $5_1 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 56; + HEAP32[($3_1 + 8 | 0) >> 2] = 55; + HEAP32[($3_1 + 12 | 0) >> 2] = $5_1; + HEAP32[$3_1 >> 2] = $5_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + $1549($3_1 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 32 | 0; + return; + } + + function $1574($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $33_1 = 0, $69_1 = 0, $78_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $365(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 8 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $33_1 = $365(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 3 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] = $33_1; + label$4 : { + if (!((HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $23(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + $69_1 = $291(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = $69_1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $78_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $78_1 | 0; + } + + function $1575($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0 ? 0 : 1) | 0; + } + + function $1576($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (169 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $1577(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $1577($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $20_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if ((0 | 0) == (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$2 + } + $20_1 = 0; + if (!(($20_1 | 0) == ($1555($20_1 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $20_1 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0; + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1578($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $349(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 27316 | 0, 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $1579($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$2 = 0, $21$hi = 0, i64toi32_i32$3 = 0, $22$hi = 0, $23$hi = 0, $25$hi = 0; + $3_1 = global$0 - 16 | 0; + i64toi32_i32$0 = 0; + $21$hi = i64toi32_i32$0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $22$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $23$hi = i64toi32_i32$1; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$3 = 268435456; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $25$hi = i64toi32_i32$0; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $21$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 356 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + if (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 184 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1580($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $49_1 = 0, $13_1 = 0, $37_1 = 0, i64toi32_i32$1 = 0, $34_1 = 0, $46_1 = 0, $59_1 = 0, $70_1 = 0, $14_1 = 0, i64toi32_i32$0 = 0, $81_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) >= (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 9); + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $308(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + break label$1; + } + $34_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $37_1 = 2; + $3288(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($34_1 + 32 | 0) >> 2] | 0 | 0, (HEAPU16[($34_1 + 52 | 0) >> 1] | 0) << $37_1 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << $37_1 | 0) | 0; + $46_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $49_1 = 1; + $3288(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($46_1 + 8 | 0) >> 2] | 0 | 0, ((HEAPU16[($46_1 + 50 | 0) >> 1] | 0) << $49_1 | 0) + $37_1 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << $49_1 | 0) | 0; + $59_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $3288(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($59_1 + 4 | 0) >> 2] | 0 | 0, (HEAPU16[($59_1 + 52 | 0) >> 1] | 0) << $49_1 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << $49_1 | 0) | 0; + $70_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $3288(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($70_1 + 28 | 0) >> 2] | 0 | 0, HEAPU16[($70_1 + 52 | 0) >> 1] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 1] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $13_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $14_1 = HEAPU8[($13_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($13_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0 | 16 | 0; + HEAP8[($13_1 + 55 | 0) >> 0] = $14_1; + HEAP8[($13_1 + 56 | 0) >> 0] = $14_1 >>> 8 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $81_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $81_1 | 0; + } + + function $1581($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $16_1 = 0, $20_1 = 0, $15_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + label$1 : { + label$2 : { + label$3 : while (1) { + $7_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $7_1 + -1 | 0; + if (!(($7_1 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = HEAP32[$5_1 >> 2] | 0; + $16_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $16_1 + 2 | 0; + $20_1 = 16; + label$4 : { + if (!(($15_1 | 0) == (((HEAPU16[$16_1 >> 1] | 0) << $20_1 | 0) >> $20_1 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + break label$1; + } + continue label$3; + }; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1582($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $35_1 = 0, $50_1 = 0, $72_1 = 0, $107_1 = 0, $133_1 = 0, $142_1 = 0, $153_1 = 0, $170_1 = 0, $222_1 = 0, $255_1 = 0, $282_1 = 0, $296_1 = 0, i64toi32_i32$0 = 0, $205_1 = 0, $291_1 = 0, $292_1 = 0, $293_1 = 0, $314_1 = 0, $380_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 112 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 88 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + $489($6_1 + 40 | 0 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 100 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($6_1 + 64 | 0) >> 2] | 0, 20) | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) > (32767 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 64 | 0) >> 2] = 32767; + } + break label$1; + } + $35_1 = 0; + HEAP32[($6_1 + 64 | 0) >> 2] = $35_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $35_1; + } + HEAP16[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 1] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 92 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + HEAP32[($6_1 + 84 | 0) >> 2] = 0; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + label$4 : while (1) { + $50_1 = 0; + label$5 : { + if (!((HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $50_1 = ((HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0; + } + label$6 : { + if (!($50_1 & 1 | 0)) { + break label$6 + } + $72_1 = HEAP32[((((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 84 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $72_1; + label$7 : { + label$8 : { + if (!(($72_1 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + if (((HEAPU8[(((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 84 | 0) >> 2] | 0) << 4 | 0) | 0) + 13 | 0) >> 0] | 0) & 3 | 0) & 255 | 0) { + break label$8 + } + break label$7; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1527(HEAP32[(((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 84 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$9 : while (1) { + $107_1 = 0; + label$10 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $107_1 = ((HEAPU8[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (139 | 0); + } + label$11 : { + if (!($107_1 & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$9; + } + break label$9; + }; + label$12 : { + label$13 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$13 + } + $133_1 = HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = $133_1; + if (!(($133_1 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + $142_1 = 16; + HEAP32[($6_1 + 28 | 0) >> 2] = ((HEAPU16[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $142_1 | 0) >> $142_1 | 0; + label$14 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$14 + } + $153_1 = 16; + HEAP32[($6_1 + 28 | 0) >> 2] = ((HEAPU16[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $153_1 | 0) >> $153_1 | 0; + } + label$15 : { + label$16 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$16 + } + $170_1 = HEAP32[((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 28 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + break label$15; + } + $170_1 = 14175; + } + HEAP32[($6_1 + 60 | 0) >> 2] = $170_1; + break label$12; + } + label$17 : { + label$18 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (59 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$17; + } + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[((((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 84 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + } + } + } + label$19 : { + label$20 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + if ($1314(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0) { + break label$20 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $291(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$19; + } + $205_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $351($205_1 | 0, 29437 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + label$21 : while (1) { + $222_1 = 0; + label$22 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + $222_1 = ($362($6_1 + 40 | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + label$23 : { + if (!($222_1 & 1 | 0)) { + break label$23 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $68(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($6_1 + 80 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) - 1 | 0; + label$25 : while (1) { + $255_1 = 0; + label$26 : { + if (!((HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$26 + } + $255_1 = (((HEAPU8[(((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + (HEAP32[($6_1 + 80 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0 | 0) != (0 | 0); + } + label$27 : { + if (!($255_1 & 1 | 0)) { + break label$27 + } + HEAP32[($6_1 + 80 | 0) >> 2] = (HEAP32[($6_1 + 80 | 0) >> 2] | 0) + -1 | 0; + continue label$25; + } + break label$25; + }; + $282_1 = 24; + label$28 : { + if (!((((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + (HEAP32[($6_1 + 80 | 0) >> 2] | 0) | 0) >> 0] | 0) << $282_1 | 0) >> $282_1 | 0 | 0) == (58 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + } + } + $291_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + $292_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $293_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $296_1 = (HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 76 | 0) >> 2] = $296_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $296_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $293_1; + HEAP32[$6_1 >> 2] = $292_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $351($291_1 | 0, 29446 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (!((HEAP32[($6_1 + 76 | 0) >> 2] | 0) >>> 0 > 3 >>> 0 & 1 | 0)) { + break label$29 + } + $85(4 | 0, $6_1 + 76 | 0 | 0); + } + continue label$21; + } + break label$21; + }; + HEAP32[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $314_1 = $1306(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 15 | 0) >> 0] = $314_1; + label$30 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$30 + } + if (!(($474($6_1 + 40 | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$30 + } + $118(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 84 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 20 | 0; + continue label$4; + } + break label$4; + }; + $209($6_1 + 40 | 0 | 0); + label$31 : { + label$32 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($6_1 + 80 | 0) >> 2] = 0; + label$33 : { + label$34 : while (1) { + if (!((HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$33 + } + $13(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 80 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 80 | 0) >> 2] = (HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$34; + }; + } + $13(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 92 | 0) >> 2] | 0) >> 2] = 0; + HEAP16[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 1] = 0; + HEAP32[($6_1 + 108 | 0) >> 2] = 7; + break label$31; + } + HEAP32[($6_1 + 108 | 0) >> 2] = 0; + } + $380_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + global$0 = $6_1 + 112 | 0; + return $380_1 | 0; + } + + function $1583($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $155_1 = 0, $22_1 = 0, $40_1 = 0, $103_1 = 0, $112_1 = 0, $61_1 = 0, $84_1 = 0, $143_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $2_1; + HEAP8[($6_1 + 83 | 0) >> 0] = $3_1; + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $22_1 = $6_1 + 40 | 0; + i64toi32_i32$0 = 0; + $155_1 = 0; + i64toi32_i32$1 = $22_1; + HEAP32[i64toi32_i32$1 >> 2] = $155_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $155_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $155_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $155_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + $40_1 = 16; + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1638($6_1 + 40 | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $61_1 = $1543(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 13 | 0) >> 0] = $61_1; + label$5 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $68(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $68(HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) + 2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $84_1 = $875(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = $84_1; + label$6 : { + if (!((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $3288((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $103_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP16[($103_1 + 16 | 0) >> 1] = (HEAPU16[($103_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + } + } + $112_1 = 24; + label$7 : { + if (!((((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) << $112_1 | 0) >> $112_1 | 0 | 0) <= (64 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 13 | 0) >> 0] = HEAPU8[($6_1 + 83 | 0) >> 0] | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1173(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + $143_1 = $291(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = $143_1; + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0; + continue label$4; + }; + } + HEAP16[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 48 | 0) >> 1] = 1; + } + global$0 = $6_1 + 96 | 0; + return; + } + + function $1584($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $18_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!(((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = 24; + label$3 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 2 | 0 | 0; + } + + function $1585($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $58_1 = 0, $87_1 = 0, $110_1 = 0, $127_1 = 0, $137_1 = 0, $86_1 = 0, $108_1 = 0, $109_1 = 0, $126_1 = 0, $136_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (((HEAPU8[(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 6 | 0) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (95 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $58_1 = 1; + label$4 : { + if (((HEAPU8[(((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$4 + } + $58_1 = 1; + if (($429(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (59 | 0) & 1 | 0) { + break label$4 + } + $58_1 = 1; + if ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + $58_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0); + } + HEAP32[($5_1 + 4 | 0) >> 2] = $58_1 & 1 | 0; + label$5 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$5 + } + $86_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $87_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $87_1 + 1 | 0; + HEAP8[($86_1 + $87_1 | 0) >> 0] = 34; + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + $108_1 = HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0; + $109_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $110_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $110_1 + 1 | 0; + HEAP8[($109_1 + $110_1 | 0) >> 0] = $108_1; + label$8 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$8 + } + $126_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $127_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $127_1 + 1 | 0; + HEAP8[($126_1 + $127_1 | 0) >> 0] = 34; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + label$9 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$9 + } + $136_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $137_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $137_1 + 1 | 0; + HEAP8[($136_1 + $137_1 | 0) >> 0] = 34; + } + HEAP8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return; + } + + function $1586($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $59_1 = 0, i64toi32_i32$0 = 0, $466_1 = 0, $26_1 = 0, $41_1 = 0, $60_1 = 0, $177_1 = 0, $220_1 = 0, $463_1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4 | 0)) { + break label$2 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + if ((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 64 | 0) { + break label$3 + } + $1341(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0); + $26_1 = 1; + label$4 : { + if (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$4 + } + $26_1 = ((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + HEAP32[($4_1 + 108 | 0) >> 2] = $26_1 & 1 | 0 ? 2 : 1; + break label$1; + } + $41_1 = 0; + HEAP32[($4_1 + 60 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != ($41_1 | 0) & 1 | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $41_1; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $59_1 = $4_1 + 64 | 0; + $60_1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[($60_1 + 4 | 0) >> 2] = HEAP32[($60_1 + 4 | 0) >> 2] | 0 | 4 | 0; + i64toi32_i32$0 = 0; + $466_1 = 0; + i64toi32_i32$1 = $59_1; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $59_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $59_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + label$7 : { + if (!($1404($59_1 | 0, HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 65536 | 0)) { + break label$8 + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + } + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 28 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 48 | 0) >> 2] | 0, 72) | 0; + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + if ((HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4 | 0) { + break label$11 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$13; + }; + } + label$14 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $1593(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + label$15 : { + label$16 : { + if (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$16 + } + if (!((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$15 + } + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$18; + }; + } + $177_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP8[($177_1 + 37 | 0) >> 0] = (HEAPU8[($177_1 + 37 | 0) >> 0] | 0) & -9 | 0 | (((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0)) << 3 | 0) | 0; + } + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + HEAP32[($4_1 + 88 | 0) >> 2] = 16385; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + label$19 : { + if (!($1437($4_1 + 64 | 0 | 0, HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$19 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 88 | 0) >> 2] = (HEAP32[($4_1 + 88 | 0) >> 2] | 0) & -16385 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$20 : { + label$21 : { + label$22 : { + if ((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$22 + } + if (!((HEAP32[($4_1 + 88 | 0) >> 2] | 0) & 16 | 0)) { + break label$21 + } + } + $220_1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[($220_1 + 4 | 0) >> 2] = HEAP32[($220_1 + 4 | 0) >> 2] | 0 | ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) & 4096 | 0 | 8 | 0) | 0; + break label$20; + } + HEAP32[($4_1 + 88 | 0) >> 2] = (HEAP32[($4_1 + 88 | 0) >> 2] | 0) & -2 | 0; + } + label$23 : { + if (!((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + if ((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$23 + } + $349(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, 28963 | 0, 0 | 0); + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 88 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 128 | 0; + label$24 : { + if (!($1404($4_1 + 64 | 0 | 0, HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$24 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + label$25 : { + if (!($1404($4_1 + 64 | 0 | 0, HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$25 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + label$26 : { + label$27 : while (1) { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 48 | 0) >> 2] | 0, 72) | 0) + 8 | 0; + label$28 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0)) { + break label$28 + } + if (!($1437($4_1 + 64 | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0)) { + break label$28 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$27; + }; + } + HEAP32[($4_1 + 76 | 0) >> 2] = 0; + HEAP32[($4_1 + 88 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 16385 | 0; + label$29 : { + if (!((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 65536 | 0)) { + break label$29 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + } + label$30 : { + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) <= (HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$30 + } + if (!($1594($4_1 + 64 | 0 | 0, HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, 29007 | 0) | 0)) { + break label$30 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + label$31 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 88 | 0) >> 2] = (HEAP32[($4_1 + 88 | 0) >> 2] | 0) & -16385 | 0; + label$32 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$32 + } + label$33 : { + label$34 : { + if ($1594($4_1 + 64 | 0 | 0, HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 29013 | 0) | 0) { + break label$34 + } + if (!((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$33 + } + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0; + label$35 : { + label$36 : while (1) { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$35 + } + label$37 : { + if (!((HEAP32[((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16 | 0)) { + break label$37 + } + $349(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, 29019 | 0, 0 | 0); + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0; + continue label$36; + }; + } + } + label$38 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$38 + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + label$39 : { + label$40 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$39 + } + label$41 : { + label$42 : { + if ($1437($4_1 + 64 | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$42 + } + if (!($1437($4_1 + 64 | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$41 + } + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$40; + }; + } + } + label$43 : { + if (!((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$43 + } + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[(HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$43 + } + $1595(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$44 : { + if (!(HEAP32[($4_1 + 60 | 0) >> 2] | 0)) { + break label$44 + } + if (!($1596(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$44 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 108 | 0) >> 2] = 1; + } + $463_1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $463_1 | 0; + } + + function $1587($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $118_1 = 0, $12_1 = 0, $28_1 = 0, $43_1 = 0, $115_1 = 0, $143_1 = 0, $201_1 = 0, $226_1 = 0, $236_1 = 0, $247_1 = 0, $266_1 = 0, $277_1 = 0, $302_1 = 0, $380_1 = 0, $434_1 = 0, $450_1 = 0, $461_1 = 0, $476_1 = 0, $482_1 = 0, $496_1 = 0, $536_1 = 0, $552_1 = 0, $577_1 = 0, $591_1 = 0, $617_1 = 0, $621_1 = 0, $650_1 = 0, $654_1 = 0, $778_1 = 0, $214_1 = 0, $260_1 = 0, $376_1 = 0, $377_1 = 0, $426_1 = 0, $427_1 = 0, $428_1 = 0, $444_1 = 0, $445_1 = 0, $455_1 = 0, $456_1 = 0, $470_1 = 0, $471_1 = 0, $527_1 = 0, $794_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 224 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 216 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 212 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 208 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 216 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 204 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 208 | 0) >> 2] | 0) >> 2] | 0; + $12_1 = (HEAPU8[(HEAP32[($4_1 + 212 | 0) >> 2] | 0) >> 0] | 0) + -20 | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($12_1 | 0) { + case 55: + HEAP32[($4_1 + 200 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 196 | 0) >> 2] = (HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 8 | 0; + HEAP8[(HEAP32[($4_1 + 212 | 0) >> 2] | 0) >> 0] = 164; + HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $28_1 = HEAP32[($4_1 + 212 | 0) >> 2] | 0; + HEAP16[($28_1 + 32 | 0) >> 1] = (HEAPU16[($28_1 + 32 | 0) >> 1] | 0) + -1 | 0; + HEAP8[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 1 | 0) >> 0] = 68; + break label$2; + case 39: + case 119: + label$11 : { + label$12 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 212 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (59 | 0) & 1 | 0)) { + break label$12 + } + $43_1 = 0; + HEAP32[($4_1 + 184 | 0) >> 2] = $43_1; + HEAP32[($4_1 + 188 | 0) >> 2] = $43_1; + HEAP32[($4_1 + 192 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$11; + } + HEAP32[($4_1 + 176 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$13 : { + if (!((HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 40 | 0)) { + break label$13 + } + $1588(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 208 | 0) >> 2] | 0 | 0, 27920 | 0, 0 | 0); + } + HEAP32[($4_1 + 180 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 180 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (59 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 184 | 0) >> 2] = 0; + break label$14; + } + HEAP32[($4_1 + 184 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 176 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 176 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 180 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 180 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 180 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 188 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 176 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 192 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 180 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$16 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 204 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$16 + } + $1318(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 180 | 0) >> 2] | 0 | 0); + $1318(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 44 | 0 | 0, HEAP32[($4_1 + 176 | 0) >> 2] | 0 | 0); + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1589(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_i32$1; + break label$1; + case 149: + HEAP32[($4_1 + 172 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$17 : { + label$18 : { + if (!((HEAP32[($4_1 + 172 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + $115_1 = HEAP32[(HEAP32[($4_1 + 172 | 0) >> 2] | 0) >> 2] | 0; + break label$17; + } + $115_1 = 0; + } + $118_1 = 0; + HEAP32[($4_1 + 168 | 0) >> 2] = $115_1; + HEAP32[($4_1 + 164 | 0) >> 2] = $118_1; + HEAP32[($4_1 + 160 | 0) >> 2] = $118_1; + HEAP32[($4_1 + 156 | 0) >> 2] = $118_1; + HEAP8[($4_1 + 143 | 0) >> 0] = HEAPU8[((HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0) + 78 | 0) >> 0] | 0; + HEAP32[($4_1 + 136 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 16385 | 0; + label$19 : { + label$20 : { + if (!((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$20 + } + if (!(((HEAPU8[((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (163 | 0) & 1 | 0)) { + break label$20 + } + $143_1 = HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + break label$19; + } + $143_1 = 0; + } + HEAP32[($4_1 + 132 | 0) >> 2] = $143_1; + HEAP32[($4_1 + 148 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $68(HEAP32[($4_1 + 148 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $469(HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 143 | 0) >> 0] | 0) & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + label$22 : { + if (!((HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $469(HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 148 | 0) >> 2] | 0 | 0, -2 | 0, (HEAPU8[($4_1 + 143 | 0) >> 0] | 0) & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + label$24 : { + if (!((HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($4_1 + 164 | 0) >> 2] = 1; + break label$23; + } + HEAP32[($4_1 + 160 | 0) >> 2] = 1; + } + break label$21; + } + HEAP32[($4_1 + 156 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + label$25 : { + if (!((HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1024 | 0)) { + break label$25 + } + $201_1 = HEAP32[($4_1 + 212 | 0) >> 2] | 0; + HEAP32[($201_1 + 4 | 0) >> 2] = HEAP32[($201_1 + 4 | 0) >> 2] | 0 | 262144 | 0; + label$26 : { + label$27 : { + if (!((HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$27 + } + $214_1 = $1590(HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 28 | 0) >> 2] = $214_1; + label$28 : { + if (!((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$28 + } + $349(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, 27937 | 0, 0 | 0); + $226_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($226_1 + 20 | 0) >> 2] = (HEAP32[($226_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + break label$26; + } + $236_1 = 24; + HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 28 | 0) >> 2] = (((HEAPU8[(HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 0] | 0) << $236_1 | 0) >> $236_1 | 0 | 0) == (117 | 0) & 1 | 0 ? 8388608 : 125829120; + } + } + $247_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1283(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, 31 | 0, $247_1 | 0, HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, $247_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (!(HEAP32[($4_1 + 128 | 0) >> 2] | 0)) { + break label$29 + } + label$30 : { + if (!((HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$30 + } + $260_1 = HEAP32[($4_1 + 204 | 0) >> 2] | 0; + HEAP32[($4_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $349($260_1 | 0, 28008 | 0, $4_1 + 80 | 0 | 0); + $266_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($266_1 + 20 | 0) >> 2] = (HEAP32[($266_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + HEAP8[(HEAP32[($4_1 + 212 | 0) >> 2] | 0) >> 0] = 119; + HEAP32[($4_1 + 220 | 0) >> 2] = 1; + break label$1; + } + label$31 : { + if (!((HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 10240 | 0)) { + break label$31 + } + $277_1 = HEAP32[($4_1 + 212 | 0) >> 2] | 0; + HEAP32[($277_1 + 4 | 0) >> 2] = HEAP32[($277_1 + 4 | 0) >> 2] | 0 | 524288 | 0; + } + label$32 : { + label$33 : { + if ((HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0) { + break label$33 + } + label$34 : { + if (!((HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 42 | 0)) { + break label$34 + } + $1588(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 208 | 0) >> 2] | 0 | 0, 28043 | 0, 0 | 0); + } + break label$32; + } + HEAP8[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 2 | 0) >> 0] = (HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 46 | 0; + label$35 : { + if (!((HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 262144 | 0)) { + break label$35 + } + $302_1 = HEAP32[($4_1 + 212 | 0) >> 2] | 0; + HEAP32[($302_1 + 4 | 0) >> 2] = HEAP32[($302_1 + 4 | 0) >> 2] | 0 | 1073741824 | 0; + } + } + label$36 : { + label$37 : { + if (!((HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 262144 | 0)) { + break label$37 + } + if ((HEAPU8[((HEAP32[($4_1 + 204 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) { + break label$37 + } + if ((HEAP32[((HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 32 | 0) { + break label$37 + } + HEAP32[($4_1 + 164 | 0) >> 2] = 1; + HEAP32[($4_1 + 144 | 0) >> 2] = 0; + break label$36; + } + label$38 : { + if (!((HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2621440 | 0)) { + break label$38 + } + if (((HEAPU8[((HEAP32[($4_1 + 204 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$38 + } + $1512(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0); + } + } + } + label$39 : { + label$40 : { + if (!((0 | 0) == (((HEAPU8[((HEAP32[($4_1 + 204 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$40 + } + label$41 : { + label$42 : { + if (!((HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$42 + } + if (!((HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$42 + } + if (!((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$42 + } + $376_1 = HEAP32[($4_1 + 204 | 0) >> 2] | 0; + $377_1 = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 148 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $377_1; + $349($376_1 | 0, 28071 | 0, $4_1 | 0); + $380_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($380_1 + 20 | 0) >> 2] = (HEAP32[($380_1 + 20 | 0) >> 2] | 0) + 1 | 0; + break label$41; + } + label$43 : { + label$44 : { + label$45 : { + label$46 : { + if (!(HEAP32[($4_1 + 156 | 0) >> 2] | 0)) { + break label$46 + } + if (!((HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 1 | 0)) { + break label$45 + } + } + label$47 : { + if (!(HEAP32[($4_1 + 156 | 0) >> 2] | 0)) { + break label$47 + } + if (!((HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 65536 | 0)) { + break label$47 + } + if (!((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$45 + } + } + if (!(HEAP32[($4_1 + 156 | 0) >> 2] | 0)) { + break label$44 + } + if (!((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$44 + } + if ((HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 16384 | 0) { + break label$44 + } + } + label$48 : { + label$49 : { + label$50 : { + if ((HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 65536 | 0) { + break label$50 + } + if (!((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$49 + } + } + HEAP32[($4_1 + 124 | 0) >> 2] = 28115; + break label$48; + } + HEAP32[($4_1 + 124 | 0) >> 2] = 28122; + } + $426_1 = HEAP32[($4_1 + 204 | 0) >> 2] | 0; + $427_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + $428_1 = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 148 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $428_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $427_1; + $349($426_1 | 0, 28132 | 0, $4_1 + 16 | 0 | 0); + $434_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($434_1 + 20 | 0) >> 2] = (HEAP32[($434_1 + 20 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 156 | 0) >> 2] = 0; + break label$43; + } + label$51 : { + label$52 : { + if (!(HEAP32[($4_1 + 164 | 0) >> 2] | 0)) { + break label$52 + } + if ((HEAPU8[((HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0) { + break label$52 + } + $444_1 = HEAP32[($4_1 + 204 | 0) >> 2] | 0; + $445_1 = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[($4_1 + 148 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $445_1; + $349($444_1 | 0, 28161 | 0, $4_1 + 32 | 0 | 0); + $450_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($450_1 + 20 | 0) >> 2] = (HEAP32[($450_1 + 20 | 0) >> 2] | 0) + 1 | 0; + break label$51; + } + label$53 : { + label$54 : { + if (!(HEAP32[($4_1 + 160 | 0) >> 2] | 0)) { + break label$54 + } + $455_1 = HEAP32[($4_1 + 204 | 0) >> 2] | 0; + $456_1 = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[($4_1 + 148 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $456_1; + $349($455_1 | 0, 28184 | 0, $4_1 + 48 | 0 | 0); + $461_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($461_1 + 20 | 0) >> 2] = (HEAP32[($461_1 + 20 | 0) >> 2] | 0) + 1 | 0; + break label$53; + } + label$55 : { + if (HEAP32[($4_1 + 156 | 0) >> 2] | 0) { + break label$55 + } + if (!((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$55 + } + $470_1 = HEAP32[($4_1 + 204 | 0) >> 2] | 0; + $471_1 = HEAP32[($4_1 + 152 | 0) >> 2] | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[($4_1 + 148 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = $471_1; + $349($470_1 | 0, 28229 | 0, $4_1 + 64 | 0 | 0); + $476_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($476_1 + 20 | 0) >> 2] = (HEAP32[($476_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + } + } + } + } + label$56 : { + if (!(HEAP32[($4_1 + 156 | 0) >> 2] | 0)) { + break label$56 + } + $482_1 = 0; + $496_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($496_1 + 24 | 0) >> 2] = (HEAP32[($496_1 + 24 | 0) >> 2] | 0) & (((((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) != ($482_1 | 0) ^ -1 | 0) & 1 | 0 ? 1 : $482_1) | 16384 | 0) ^ -1 | 0) | 0; + } + break label$39; + } + label$57 : { + if (!((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$57 + } + HEAP32[($4_1 + 156 | 0) >> 2] = 1; + } + } + $1550(HEAP32[($4_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 172 | 0) >> 2] | 0 | 0) | 0; + label$58 : { + if (!(HEAP32[($4_1 + 156 | 0) >> 2] | 0)) { + break label$58 + } + label$59 : { + label$60 : { + if (!((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$60 + } + HEAP32[($4_1 + 120 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$61 : { + if (((HEAPU8[((HEAP32[($4_1 + 204 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$61 + } + $527_1 = HEAP32[($4_1 + 204 | 0) >> 2] | 0; + label$62 : { + label$63 : { + if (!((HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$63 + } + $536_1 = HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + break label$62; + } + $536_1 = 0; + } + $1591($527_1 | 0, $536_1 | 0, HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0); + } + $1550(HEAP32[($4_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + $1550(HEAP32[($4_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + $1547(HEAP32[($4_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + $1577(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0); + $552_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($552_1 + 24 | 0) >> 2] = HEAP32[($552_1 + 24 | 0) >> 2] | 0 | 32768 | 0; + break label$59; + } + HEAP32[($4_1 + 116 | 0) >> 2] = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP8[(HEAP32[($4_1 + 212 | 0) >> 2] | 0) >> 0] = 165; + HEAP8[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 2 | 0) >> 0] = 0; + label$64 : { + if (!((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$64 + } + $1547(HEAP32[($4_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + } + label$65 : while (1) { + $577_1 = 0; + label$66 : { + if (!((HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$66 + } + $577_1 = ($1592(HEAP32[($4_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) ^ -1 | 0; + } + label$67 : { + if (!($577_1 & 1 | 0)) { + break label$67 + } + $591_1 = HEAP32[($4_1 + 212 | 0) >> 2] | 0; + HEAP8[($591_1 + 2 | 0) >> 0] = (HEAPU8[($591_1 + 2 | 0) >> 0] | 0) + 1 | 0; + HEAP32[($4_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$65; + } + break label$65; + }; + label$68 : { + if (!((HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$68 + } + if (!((HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$68 + } + $617_1 = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + HEAP32[($617_1 + 24 | 0) >> 2] = HEAP32[($617_1 + 24 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4096 | 0 | 16 | 0) | 0; + } + } + $621_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($621_1 + 24 | 0) >> 2] = HEAP32[($621_1 + 24 | 0) >> 2] | 0 | (HEAP32[($4_1 + 136 | 0) >> 2] | 0) | 0; + } + HEAP32[($4_1 + 220 | 0) >> 2] = 1; + break label$1; + case 0: + case 116: + case 29: + label$69 : { + if (!((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$69 + } + HEAP32[($4_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$70 : { + if (!((HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 46 | 0)) { + break label$70 + } + $1588(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 208 | 0) >> 2] | 0 | 0, 28278 | 0, HEAP32[($4_1 + 212 | 0) >> 2] | 0 | 0); + } + $1549(HEAP32[($4_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + label$71 : { + if (!((HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$71 + } + $650_1 = HEAP32[($4_1 + 212 | 0) >> 2] | 0; + HEAP32[($650_1 + 4 | 0) >> 2] = HEAP32[($650_1 + 4 | 0) >> 2] | 0 | 32 | 0; + $654_1 = HEAP32[($4_1 + 208 | 0) >> 2] | 0; + HEAP32[($654_1 + 24 | 0) >> 2] = HEAP32[($654_1 + 24 | 0) >> 2] | 0 | 64 | 0; + } + } + break label$2; + case 133: + label$72 : { + if (!((HEAP32[((HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 46 | 0)) { + break label$72 + } + $1588(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 208 | 0) >> 2] | 0 | 0, 28289 | 0, HEAP32[($4_1 + 212 | 0) >> 2] | 0 | 0); + } + break label$2; + case 25: + case 148: + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1527(HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$73 : { + if (!((HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$73 + } + label$74 : { + if (((HEAPU8[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (59 | 0) & 1 | 0) { + break label$74 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (167 | 0) & 1 | 0)) { + break label$73 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1587(HEAP32[($4_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$75 : { + if (!((HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$75 + } + HEAP32[($4_1 + 220 | 0) >> 2] = 2; + break label$1; + } + label$76 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (167 | 0) & 1 | 0)) { + break label$76 + } + HEAP8[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 2 | 0) >> 0] = HEAPU8[(HEAP32[($4_1 + 212 | 0) >> 2] | 0) >> 0] | 0; + HEAP8[(HEAP32[($4_1 + 212 | 0) >> 2] | 0) >> 0] = 172; + HEAP32[($4_1 + 220 | 0) >> 2] = 0; + break label$1; + } + } + break; + case 28: + case 32: + case 33: + case 34: + case 35: + case 36: + case 37: + break label$3; + default: + break label$2; + }; + } + label$77 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$77 + } + break label$2; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1432(HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$78 : { + label$79 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 212 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$79 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1432(HEAP32[((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$80 : { + if (!((HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$80 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1432(HEAP32[((HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + } + break label$78; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1432(HEAP32[((HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + } + label$81 : { + if (!((HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$81 + } + $349(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, 26965 | 0, 0 | 0); + } + } + $778_1 = 1; + label$82 : { + if (HEAP32[((HEAP32[($4_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$82 + } + $778_1 = ((HEAPU8[((HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + HEAP32[($4_1 + 220 | 0) >> 2] = $778_1 & 1 | 0 ? 2 : 0; + } + $794_1 = HEAP32[($4_1 + 220 | 0) >> 2] | 0; + global$0 = $4_1 + 224 | 0; + return $794_1 | 0; + } + + function $1588($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $23_1 = 0, $24_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = 28300; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 32 | 0)) { + break label$2 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 28328; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 4 | 0)) { + break label$4 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 28346; + break label$3; + } + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 8 | 0)) { + break label$5 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 28364; + } + } + } + $23_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $24_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $24_1; + $349($23_1 | 0, 28382 | 0, $6_1 | 0); + label$6 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] = 119; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1589($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $9_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $108_1 = 0, $182_1 = 0, $213_1 = 0, $230_1 = 0, $278_1 = 0, $287_1 = 0, $289_1 = 0, $325_1 = 0, $347_1 = 0, $428_1 = 0, $455_1 = 0, $473_1 = 0, $491_1 = 0, $531_1 = 0, $535_1 = 0, $540_1 = 0, $563_1 = 0, $568_1 = 0, $579_1 = 0, $584_1 = 0, $648_1 = 0, $834_1 = 0, $841_1 = 0, $907$hi = 0, $857_1 = 0, $858_1 = 0, $869_1 = 0, $889_1 = 0, $538_1 = 0, $684_1 = 0, $703_1 = 0, $804_1 = 0, $805_1 = 0, $806_1 = 0, $807_1 = 0, $819_1 = 0, $820_1 = 0, $821_1 = 0, $826_1 = 0, $827_1 = 0, $907_1 = 0, $2719$hi = 0, $2723_1 = 0, $904_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 224 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 216 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 212 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 208 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 204 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 200 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 196 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 184 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 180 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 176 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 216 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 164 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 160 | 0) >> 2] = HEAP32[($8_1 + 200 | 0) >> 2] | 0; + HEAP32[($8_1 + 156 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 152 | 0) >> 2] = 164; + HEAP32[($8_1 + 148 | 0) >> 2] = $9_1; + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 28 | 0) >> 2] = -1; + label$1 : { + if (!((HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0) != ($9_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 6 | 0)) { + break label$3 + } + HEAP32[($8_1 + 212 | 0) >> 2] = 0; + break label$2; + } + HEAP32[($8_1 + 192 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if ($88(HEAP32[((HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 192 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + HEAP32[($8_1 + 156 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 192 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + break label$4; + } + HEAP32[($8_1 + 192 | 0) >> 2] = (HEAP32[($8_1 + 192 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$7 : { + if (!((HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + if ($88(8749 | 0, HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + HEAP32[($8_1 + 156 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($8_1 + 212 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($8_1 + 172 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] | 0; + } + } + } + label$8 : { + label$9 : { + label$10 : while (1) { + HEAP32[($8_1 + 136 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$11 : { + if (!((HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($8_1 + 192 | 0) >> 2] = 0; + HEAP32[($8_1 + 168 | 0) >> 2] = (HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 8 | 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($8_1 + 136 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($8_1 + 148 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (!((HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + if (!((HEAP32[((HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$15 + } + $108_1 = 0; + HEAP32[($8_1 + 128 | 0) >> 2] = $108_1; + HEAP32[($8_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 188 | 0) >> 2] = $108_1; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($8_1 + 140 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + label$18 : { + if (!($1597(((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 188 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0) | 0)) { + break label$18 + } + HEAP32[($8_1 + 184 | 0) >> 2] = (HEAP32[($8_1 + 184 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 180 | 0) >> 2] = 2; + HEAP32[($8_1 + 164 | 0) >> 2] = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + HEAP16[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 32 | 0) >> 1] = HEAP32[($8_1 + 188 | 0) >> 2] | 0; + HEAP32[($8_1 + 128 | 0) >> 2] = 1; + } + HEAP32[($8_1 + 188 | 0) >> 2] = (HEAP32[($8_1 + 188 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + label$19 : { + label$20 : { + if (HEAP32[($8_1 + 128 | 0) >> 2] | 0) { + break label$20 + } + if (!((HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$19 + } + } + break label$14; + } + } + label$21 : { + if (!((HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + if (!((HEAP32[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 156 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + break label$14; + } + label$22 : { + if (!((HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + label$24 : { + if (!((HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + $182_1 = HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$23; + } + $182_1 = HEAP32[(HEAP32[($8_1 + 148 | 0) >> 2] | 0) >> 2] | 0; + } + HEAP32[($8_1 + 124 | 0) >> 2] = $182_1; + label$25 : { + if (!($88(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) | 0)) { + break label$25 + } + break label$14; + } + label$26 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 216 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$26 + } + if (!((HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $1318(HEAP32[($8_1 + 216 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 44 | 0 | 0); + } + } + $213_1 = HEAP32[($8_1 + 180 | 0) >> 2] | 0; + HEAP32[($8_1 + 180 | 0) >> 2] = $213_1 + 1 | 0; + label$27 : { + if (!((0 | 0) == ($213_1 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($8_1 + 164 | 0) >> 2] = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1306(HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 135 | 0) >> 0] = wasm2js_i32$1; + HEAP32[($8_1 + 188 | 0) >> 2] = 0; + HEAP32[($8_1 + 144 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$28 : { + label$29 : while (1) { + $230_1 = 16; + if (!((HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $230_1 | 0) >> $230_1 | 0 | 0) & 1 | 0)) { + break label$28 + } + label$30 : { + label$31 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 144 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[($8_1 + 135 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$31 + } + if ($88(HEAP32[(HEAP32[($8_1 + 144 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) | 0) { + break label$31 + } + label$32 : { + if (!((HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$32 + } + label$33 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$33 + } + break label$30; + } + label$34 : { + if (!($1598(HEAP32[((HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) | 0)) { + break label$34 + } + break label$30; + } + } + HEAP32[($8_1 + 184 | 0) >> 2] = (HEAP32[($8_1 + 184 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 164 | 0) >> 2] = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + $278_1 = 16; + label$35 : { + label$36 : { + if (!((HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $278_1 | 0) >> $278_1 | 0 | 0) & 1 | 0)) { + break label$36 + } + $287_1 = -1; + break label$35; + } + $289_1 = 16; + $287_1 = ((HEAP32[($8_1 + 188 | 0) >> 2] | 0) << $289_1 | 0) >> $289_1 | 0; + } + HEAP16[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 32 | 0) >> 1] = $287_1; + break label$28; + } + } + HEAP32[($8_1 + 188 | 0) >> 2] = (HEAP32[($8_1 + 188 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 144 | 0) >> 2] = (HEAP32[($8_1 + 144 | 0) >> 2] | 0) + 20 | 0; + continue label$29; + }; + } + } + HEAP32[($8_1 + 192 | 0) >> 2] = (HEAP32[($8_1 + 192 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 168 | 0) >> 2] = (HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 72 | 0; + continue label$13; + }; + } + label$37 : { + if (!((HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$38 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$38 + } + $325_1 = HEAP32[($8_1 + 196 | 0) >> 2] | 0; + HEAP32[($325_1 + 4 | 0) >> 2] = HEAP32[($325_1 + 4 | 0) >> 2] | 0 | 1048576 | 0; + } + HEAP32[($8_1 + 156 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + } + } + label$39 : { + if (!((HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$39 + } + if (!((HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$39 + } + if (HEAP32[($8_1 + 180 | 0) >> 2] | 0) { + break label$39 + } + $347_1 = 0; + HEAP32[($8_1 + 148 | 0) >> 2] = $347_1; + label$40 : { + if (!((HEAP32[((HEAP32[($8_1 + 216 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) != ($347_1 | 0) & 1 | 0)) { + break label$40 + } + HEAP32[($8_1 + 120 | 0) >> 2] = (HEAPU8[((HEAP32[($8_1 + 216 | 0) >> 2] | 0) + 148 | 0) >> 0] | 0) & 255 | 0; + label$41 : { + label$42 : { + if (!((HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0) != (126 | 0) & 1 | 0)) { + break label$42 + } + if ($88(28402 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) | 0) { + break label$42 + } + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 28 | 0) >> 2] = 1; + HEAP32[($8_1 + 148 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 216 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0; + break label$41; + } + label$43 : { + if (!((HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0) != (125 | 0) & 1 | 0)) { + break label$43 + } + if ($88(28406 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) | 0) { + break label$43 + } + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + HEAP32[($8_1 + 148 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 216 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0; + } + } + } + label$44 : { + if (!((HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 512 | 0)) { + break label$44 + } + HEAP32[($8_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$45 : { + if (!((HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$45 + } + if ($88(28410 | 0, HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) | 0) { + break label$45 + } + HEAP32[($8_1 + 148 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 28 | 0) >> 2] = 2; + } + } + label$46 : { + if (!((HEAP32[($8_1 + 148 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$46 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1306(HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 111 | 0) >> 0] = wasm2js_i32$1; + HEAP32[($8_1 + 156 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[($8_1 + 180 | 0) >> 2] = (HEAP32[($8_1 + 180 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 112 | 0) >> 2] = 0; + HEAP32[($8_1 + 144 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$47 : { + label$48 : while (1) { + $428_1 = 16; + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $428_1 | 0) >> $428_1 | 0 | 0) & 1 | 0)) { + break label$47 + } + label$49 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 144 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[($8_1 + 111 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$49 + } + if ($88(HEAP32[(HEAP32[($8_1 + 144 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) | 0) { + break label$49 + } + $455_1 = 16; + label$50 : { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $455_1 | 0) >> $455_1 | 0 | 0) & 1 | 0)) { + break label$50 + } + HEAP32[($8_1 + 112 | 0) >> 2] = -1; + } + break label$47; + } + HEAP32[($8_1 + 112 | 0) >> 2] = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 144 | 0) >> 2] = (HEAP32[($8_1 + 144 | 0) >> 2] | 0) + 20 | 0; + continue label$48; + }; + } + $473_1 = 16; + label$51 : { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) >= (((HEAPU16[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $473_1 | 0) >> $473_1 | 0 | 0) & 1 | 0)) { + break label$51 + } + if (!($502(HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) | 0)) { + break label$51 + } + if ((HEAP32[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 512 | 0) { + break label$51 + } + HEAP32[($8_1 + 112 | 0) >> 2] = -1; + } + $491_1 = 16; + label$52 : { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $491_1 | 0) >> $491_1 | 0 | 0) & 1 | 0)) { + break label$52 + } + HEAP32[($8_1 + 184 | 0) >> 2] = (HEAP32[($8_1 + 184 | 0) >> 2] | 0) + 1 | 0; + label$53 : { + label$54 : { + if (!((HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$54 + } + label$55 : { + label$56 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 216 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$56 + } + HEAP16[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 32 | 0) >> 1] = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($8_1 + 148 | 0) >> 2] | 0; + HEAP32[($8_1 + 152 | 0) >> 2] = 164; + break label$55; + } + $531_1 = 16; + $535_1 = 16; + $538_1 = (HEAP32[((HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((($1424(HEAP32[($8_1 + 148 | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 112 | 0) >> 2] | 0) << $531_1 | 0) >> $531_1 | 0 | 0) | 0) << $535_1 | 0) >> $535_1 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 28 | 0) >> 2] = $538_1; + HEAP32[($8_1 + 152 | 0) >> 2] = 173; + $540_1 = HEAP32[($8_1 + 196 | 0) >> 2] | 0; + HEAP32[($540_1 + 4 | 0) >> 2] = HEAP32[($540_1 + 4 | 0) >> 2] | 0 | 4194304 | 0; + } + break label$53; + } + label$57 : { + label$58 : { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$58 + } + HEAP8[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 1 | 0) >> 0] = 68; + break label$57; + } + label$59 : { + label$60 : { + if (HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$60 + } + label$61 : { + label$62 : { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) >= (32 | 0) & 1 | 0)) { + break label$62 + } + $563_1 = -1; + break label$61; + } + $563_1 = 1 << (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0; + } + $568_1 = HEAP32[($8_1 + 216 | 0) >> 2] | 0; + HEAP32[($568_1 + 140 | 0) >> 2] = HEAP32[($568_1 + 140 | 0) >> 2] | 0 | $563_1 | 0; + break label$59; + } + label$63 : { + label$64 : { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) >= (32 | 0) & 1 | 0)) { + break label$64 + } + $579_1 = -1; + break label$63; + } + $579_1 = 1 << (HEAP32[($8_1 + 112 | 0) >> 2] | 0) | 0; + } + $584_1 = HEAP32[($8_1 + 216 | 0) >> 2] | 0; + HEAP32[($584_1 + 144 | 0) >> 2] = HEAP32[($584_1 + 144 | 0) >> 2] | 0 | $579_1 | 0; + } + } + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($8_1 + 148 | 0) >> 2] | 0; + HEAP16[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 32 | 0) >> 1] = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + HEAP32[($8_1 + 152 | 0) >> 2] = 77; + } + } + } + } + label$65 : { + if (HEAP32[($8_1 + 184 | 0) >> 2] | 0) { + break label$65 + } + if (!((HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$65 + } + if (!((HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$65 + } + if ((HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 40 | 0) { + break label$65 + } + if (!($502(HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) | 0)) { + break label$65 + } + if ((HEAP32[((HEAP32[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 512 | 0) { + break label$65 + } + HEAP32[($8_1 + 184 | 0) >> 2] = 1; + HEAP16[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 32 | 0) >> 1] = 65535; + HEAP8[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 1 | 0) >> 0] = 68; + } + label$66 : { + if (!((HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 128 | 0)) { + break label$66 + } + if (HEAP32[($8_1 + 184 | 0) >> 2] | 0) { + break label$66 + } + if (!((HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$66 + } + HEAP32[($8_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($8_1 + 188 | 0) >> 2] = 0; + label$67 : { + label$68 : while (1) { + if (!((HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($8_1 + 140 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$67 + } + $648_1 = 4; + HEAP32[($8_1 + 104 | 0) >> 2] = HEAP32[(((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 188 | 0) >> 2] | 0) << $648_1 | 0) | 0) + 8 | 0) >> 2] | 0; + label$69 : { + if (((HEAPU8[(((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 188 | 0) >> 2] | 0) << $648_1 | 0) | 0) + 13 | 0) >> 0] | 0) & 3 | 0) & 255 | 0) { + break label$69 + } + if ($87(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) | 0) { + break label$69 + } + HEAP32[($8_1 + 100 | 0) >> 2] = HEAP32[(((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 188 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$70 : { + if ((HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 1 | 0) { + break label$70 + } + if (!((HEAP32[((HEAP32[($8_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16 | 0)) { + break label$70 + } + $684_1 = HEAP32[($8_1 + 216 | 0) >> 2] | 0; + HEAP32[$8_1 >> 2] = HEAP32[($8_1 + 104 | 0) >> 2] | 0; + $349($684_1 | 0, 28419 | 0, $8_1 | 0); + HEAP32[($8_1 + 220 | 0) >> 2] = 2; + break label$8; + } + label$71 : { + if (!((HEAP32[((HEAP32[($8_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32768 | 0)) { + break label$71 + } + label$72 : { + if (!((HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 16384 | 0)) { + break label$72 + } + if (!((HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$71 + } + } + $703_1 = HEAP32[($8_1 + 216 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[($8_1 + 104 | 0) >> 2] | 0; + $349($703_1 | 0, 28450 | 0, $8_1 + 16 | 0 | 0); + HEAP32[($8_1 + 220 | 0) >> 2] = 2; + break label$8; + } + label$73 : { + if (!(($1432(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$73 + } + $349(HEAP32[($8_1 + 216 | 0) >> 2] | 0 | 0, 26965 | 0, 0 | 0); + HEAP32[($8_1 + 220 | 0) >> 2] = 2; + break label$8; + } + $1599(HEAP32[($8_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0, 1352 | 0, HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 184 | 0) >> 2] = 1; + HEAP32[($8_1 + 164 | 0) >> 2] = 0; + label$74 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 216 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$74 + } + $1318(HEAP32[($8_1 + 216 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0); + } + break label$9; + } + HEAP32[($8_1 + 188 | 0) >> 2] = (HEAP32[($8_1 + 188 | 0) >> 2] | 0) + 1 | 0; + continue label$68; + }; + } + } + label$75 : { + label$76 : { + if (!(HEAP32[($8_1 + 184 | 0) >> 2] | 0)) { + break label$76 + } + break label$75; + } + HEAP32[($8_1 + 200 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($8_1 + 176 | 0) >> 2] = (HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 1 | 0; + if ((HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + continue label$10 + } + } + break label$10; + }; + label$77 : { + if (HEAP32[($8_1 + 184 | 0) >> 2] | 0) { + break label$77 + } + if (!((HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$77 + } + label$78 : { + if (!((HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 64 | 0)) { + break label$78 + } + if (!($1600(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0) | 0)) { + break label$78 + } + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[($8_1 + 204 | 0) >> 2] | 0; + $82(28 | 0, 28487 | 0, $8_1 + 32 | 0 | 0); + HEAP8[(HEAP32[($8_1 + 196 | 0) >> 2] | 0) >> 0] = 115; + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + HEAP32[($8_1 + 220 | 0) >> 2] = 1; + break label$8; + } + label$79 : { + if (!($1199(HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0) | 0)) { + break label$79 + } + HEAP32[($8_1 + 220 | 0) >> 2] = 1; + break label$8; + } + } + label$80 : { + if (!((HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$80 + } + HEAP32[($8_1 + 96 | 0) >> 2] = HEAP32[($8_1 + 184 | 0) >> 2] | 0 ? 28537 : 28522; + label$81 : { + label$82 : { + if (!((HEAP32[($8_1 + 212 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$82 + } + $804_1 = HEAP32[($8_1 + 216 | 0) >> 2] | 0; + $805_1 = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + $806_1 = HEAP32[($8_1 + 212 | 0) >> 2] | 0; + $807_1 = HEAP32[($8_1 + 208 | 0) >> 2] | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[($8_1 + 204 | 0) >> 2] | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = $807_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $806_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $805_1; + $349($804_1 | 0, 28559 | 0, $8_1 + 48 | 0 | 0); + break label$81; + } + label$83 : { + label$84 : { + if (!((HEAP32[($8_1 + 208 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$84 + } + $819_1 = HEAP32[($8_1 + 216 | 0) >> 2] | 0; + $820_1 = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + $821_1 = HEAP32[($8_1 + 208 | 0) >> 2] | 0; + HEAP32[($8_1 + 72 | 0) >> 2] = HEAP32[($8_1 + 204 | 0) >> 2] | 0; + HEAP32[($8_1 + 68 | 0) >> 2] = $821_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $820_1; + $349($819_1 | 0, 11650 | 0, $8_1 + 64 | 0 | 0); + break label$83; + } + $826_1 = HEAP32[($8_1 + 216 | 0) >> 2] | 0; + $827_1 = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + HEAP32[($8_1 + 84 | 0) >> 2] = HEAP32[($8_1 + 204 | 0) >> 2] | 0; + HEAP32[($8_1 + 80 | 0) >> 2] = $827_1; + $349($826_1 | 0, 11660 | 0, $8_1 + 80 | 0 | 0); + } + } + HEAP8[((HEAP32[($8_1 + 216 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + $834_1 = HEAP32[($8_1 + 160 | 0) >> 2] | 0; + HEAP32[($834_1 + 20 | 0) >> 2] = (HEAP32[($834_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + $841_1 = 16; + label$85 : { + if (!((((HEAPU16[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $841_1 | 0) >> $841_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$85 + } + if (!((HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$85 + } + i64toi32_i32$0 = $1601(HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $907_1 = i64toi32_i32$0; + $907$hi = i64toi32_i32$1; + $857_1 = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + i64toi32_i32$2 = $857_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $2719$hi = i64toi32_i32$0; + i64toi32_i32$0 = $907$hi; + i64toi32_i32$0 = $2719$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $907$hi; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $2723_1 = i64toi32_i32$2 | $907_1 | 0; + i64toi32_i32$2 = $857_1; + HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] = $2723_1; + HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] = i64toi32_i32$1; + } + $858_1 = 0; + $18(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 12 | 0) >> 2] = $858_1; + $18(HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 16 | 0) >> 2] = $858_1; + HEAP8[(HEAP32[($8_1 + 196 | 0) >> 2] | 0) >> 0] = HEAP32[($8_1 + 152 | 0) >> 2] | 0; + $869_1 = HEAP32[($8_1 + 196 | 0) >> 2] | 0; + HEAP32[($869_1 + 4 | 0) >> 2] = HEAP32[($869_1 + 4 | 0) >> 2] | 0 | 8388608 | 0; + } + label$86 : { + if (!((HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$86 + } + label$87 : { + if ((HEAP32[((HEAP32[($8_1 + 196 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4194304 | 0) { + break label$87 + } + $1602(HEAP32[($8_1 + 216 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + label$88 : { + label$89 : while (1) { + $889_1 = HEAP32[($8_1 + 160 | 0) >> 2] | 0; + HEAP32[($889_1 + 16 | 0) >> 2] = (HEAP32[($889_1 + 16 | 0) >> 2] | 0) + 1 | 0; + label$90 : { + if (!((HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$90 + } + break label$88; + } + HEAP32[($8_1 + 160 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 160 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$89; + }; + } + HEAP32[($8_1 + 220 | 0) >> 2] = 1; + break label$8; + } + HEAP32[($8_1 + 220 | 0) >> 2] = 2; + } + $904_1 = HEAP32[($8_1 + 220 | 0) >> 2] | 0; + global$0 = $8_1 + 224 | 0; + return $904_1 | 0; + } + + function $1590($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $42_1 = 0.0, $31_1 = 0, $34_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAPF64[$3_1 >> 3] = -1.0; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (150 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = -1; + break label$1; + } + $344(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $3_1 | 0, $68(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0 | 0, 1 & 255 | 0 | 0) | 0; + label$3 : { + if (!(+HEAPF64[$3_1 >> 3] > 1.0 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = -1; + break label$1; + } + $42_1 = +HEAPF64[$3_1 >> 3] * 134217728.0; + label$4 : { + label$5 : { + if (!(Math_abs($42_1) < 2147483648.0)) { + break label$5 + } + $31_1 = ~~$42_1; + break label$4; + } + $31_1 = -2147483648; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $31_1; + } + $34_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $34_1 | 0; + } + + function $1591($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $31_1 = 0, $166_1 = 0, $167_1 = 0, $36_1 = 0, $42_1 = 0, $48_1 = 0, $54_1 = 0, $207_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 176 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 172 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 168 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 164 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 160 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[(HEAP32[($6_1 + 164 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if ((HEAPU8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1493(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 164 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + $31_1 = 0; + $36_1 = $1339(HEAP32[(HEAP32[($6_1 + 172 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $31_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 8 | 0) >> 2] = $36_1; + $42_1 = $1339(HEAP32[(HEAP32[($6_1 + 172 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $31_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 12 | 0) >> 2] = $42_1; + $48_1 = $1310(HEAP32[(HEAP32[($6_1 + 172 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, $31_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 24 | 0) >> 2] = $48_1; + $54_1 = $1310(HEAP32[(HEAP32[($6_1 + 172 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, $31_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 28 | 0) >> 2] = $54_1; + HEAP8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 17 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0; + HEAP8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0; + HEAP8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0; + HEAP8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 20 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0; + break label$2; + } + $1271(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0); + } + label$5 : { + label$6 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if ((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + if (!((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + } + label$8 : { + if ((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$8 + } + if (!((HEAP32[(HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$6 + } + } + $349(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, 28617 | 0, 0 | 0); + break label$5; + } + label$9 : { + if (!((HEAP32[((HEAP32[($6_1 + 160 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 65536 | 0)) { + break label$9 + } + HEAP32[($6_1 + 152 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 172 | 0) >> 2] | 0) >> 2] | 0; + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $349(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, 28688 | 0, 0 | 0); + break label$10; + } + $3288($6_1 + 16 | 0 | 0, 28816 | 0, 128 | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (8 | 0) & 1 | 0)) { + break label$12 + } + label$14 : { + if (!((HEAP32[((HEAP32[($6_1 + 160 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (HEAP32[(($6_1 + 16 | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $166_1 = $6_1 + 16 | 0; + $167_1 = 0; + $18(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + $18(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 24 | 0) >> 2] = $167_1; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 28 | 0) >> 2] = $167_1; + HEAP8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[(($166_1 + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 17 | 0) >> 0] = HEAP32[(($166_1 + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAP32[(($166_1 + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 20 | 0) >> 0] = 0; + label$15 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (86 | 0) & 1 | 0)) { + break label$15 + } + $207_1 = $1217(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, 152 | 0, 8423 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 24 | 0) >> 2] = $207_1; + } + break label$12; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + } + } + } + HEAP32[((HEAP32[($6_1 + 164 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($6_1 + 160 | 0) >> 2] | 0; + } + global$0 = $6_1 + 176 | 0; + return; + } + + function $1592($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $70_1 = 0, $13_1 = 0, $32_1 = 0, $38_1 = 0, $59_1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $13_1 = $4_1 + 24 | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + $70_1 = 0; + i64toi32_i32$1 = $13_1; + HEAP32[i64toi32_i32$1 >> 2] = $70_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $70_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $13_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $70_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = 58; + HEAP32[($4_1 + 32 | 0) >> 2] = 57; + HEAP32[($4_1 + 48 | 0) >> 2] = $4_1 + 8 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!(HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0)) { + break label$2 + } + $32_1 = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + break label$1; + } + $32_1 = 2147483647; + } + $38_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $32_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $38_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $38_1; + $1550($4_1 + 24 | 0 | 0, HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$3 + } + $1547($4_1 + 24 | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + } + $59_1 = 1; + label$4 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$4 + } + $59_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0); + } + global$0 = $4_1 + 64 | 0; + return $59_1 & 1 | 0 | 0; + } + + function $1593($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 48; + HEAP32[($5_1 + 16 | 0) >> 2] = 47; + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $1549($5_1 + 8 | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 48 | 0; + return; + } + + function $1594($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $46_1 = 0, $145_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 48 | 0) >> 2] | 0) + 4 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1527(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + break label$5; + } + $46_1 = 24; + label$7 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 0] | 0) << $46_1 | 0) >> $46_1 | 0 | 0) != (71 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1611(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP16[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 1] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + break label$5; + } + } + label$9 : { + if (!($1612(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0) | 0)) { + break label$9 + } + label$10 : { + label$11 : { + if ((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0) { + break label$11 + } + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) > (65535 | 0) & 1 | 0)) { + break label$10 + } + } + $1613(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 60 | 0) >> 2] = 1; + break label$1; + } + HEAP16[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 1] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + break label$5; + } + HEAP16[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 1] = 0; + label$12 : { + if (!($1404(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 36 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + label$15 : { + if ($1529(0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 36 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, -1 | 0) | 0) { + break label$15 + } + $1614(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 1] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 16 | 0; + continue label$4; + }; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1615(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + } + $145_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $145_1 | 0; + } + + function $1595($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 512 | 0)) { + break label$2 + } + $349(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 29804 | 0, 0 | 0); + break label$1; + } + $12_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1616((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $349($12_1 | 0, 29850 | 0, $4_1 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1596($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $42_1 = 0, $44_1 = 0, $77_1 = 0, $86_1 = 0, $210_1 = 0, $221_1 = 0, $258_1 = 0, $294_1 = 0, $304_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = 1; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $349(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, 29965 | 0, 0 | 0); + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $42_1 = 4; + $44_1 = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 48 | 0) >> 2] | 0) << $42_1 | 0) | 0; + HEAP8[(($44_1 + $42_1 | 0) + 9 | 0) >> 0] = (HEAPU8[($44_1 + 13 | 0) >> 0] | 0) & -5 | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$7; + }; + } + label$8 : while (1) { + $77_1 = 0; + label$9 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $77_1 = (HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$10 : { + if (!($77_1 & 1 | 0)) { + break label$10 + } + $86_1 = 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $86_1; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $86_1; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 24 | 0) >> 2] = -1; + label$13 : { + label$14 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0)) { + break label$14 + } + break label$13; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1527(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$15 + } + break label$13; + } + label$16 : { + label$17 : { + if (!($1612(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $4_1 + 24 | 0 | 0) | 0)) { + break label$17 + } + label$18 : { + label$19 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0) { + break label$19 + } + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + } + $1613(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, 29007 | 0, (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + break label$1; + } + break label$16; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1611(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$20 + } + label$21 : { + label$22 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + break label$21; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1310(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$23 : { + if (((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$23 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1617(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$24 : { + if (((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$24 + } + $18(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + } + } + } + label$25 : { + label$26 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$26 + } + label$27 : { + if (((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$27 + } + $210_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1217(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, 152 | 0, $210_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$28 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == ($210_1 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + break label$1; + } + $221_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($221_1 + 4 | 0) >> 2] = HEAP32[($221_1 + 4 | 0) >> 2] | 0 | 1024 | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$29 : { + label$30 : { + if (!((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$29; + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$31 : { + label$32 : while (1) { + if (!(((HEAPU8[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$32; + }; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + $18(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + HEAP16[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 1] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + } + $258_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP8[($258_1 + 9 | 0) >> 0] = HEAPU8[($258_1 + 9 | 0) >> 0] | 0 | 4 | 0; + break label$25; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 1; + } + } + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0; + continue label$12; + }; + } + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + continue label$8; + } + break label$8; + }; + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + label$33 : { + label$34 : while (1) { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$33 + } + label$35 : { + if ((((HEAPU8[(((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 48 | 0) >> 2] | 0) << 4 | 0) | 0) + 13 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0) { + break label$35 + } + $294_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + $349($294_1 | 0, 29999 | 0, $4_1 | 0); + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$34; + }; + } + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + } + $304_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $304_1 | 0; + } + + function $1597($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $28_1 = 0, $31_1 = 0, $37_1 = 0, $64_1 = 0, $79_1 = 0, $82_1 = 0, $88_1 = 0, $115_1 = 0, $136_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 3 | 0) & 255 | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + label$3 : while (1) { + $28_1 = 24; + $31_1 = 0; + label$4 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0)) { + break label$4 + } + $37_1 = 24; + $31_1 = (((HEAPU8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $37_1 | 0) >> $37_1 | 0 | 0) != (46 | 0); + } + label$5 : { + if (!($31_1 & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + label$6 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if ($89(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + $64_1 = 24; + if (!(((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $64_1 | 0) >> $64_1 | 0)) { + break label$6 + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + label$8 : while (1) { + $79_1 = 24; + $82_1 = 0; + label$9 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $79_1 | 0) >> $79_1 | 0)) { + break label$9 + } + $88_1 = 24; + $82_1 = (((HEAPU8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $88_1 | 0) >> $88_1 | 0 | 0) != (46 | 0); + } + label$10 : { + if (!($82_1 & 1 | 0)) { + break label$10 + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + } + break label$8; + }; + label$11 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + if ($89(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$12 + } + $115_1 = 24; + if (!(((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $115_1 | 0) >> $115_1 | 0)) { + break label$11 + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) | 0; + label$13 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + if (!($88(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$13 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + } + $136_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $136_1 | 0; + } + + function $1598($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $35_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$4_1 >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if ($88(HEAP32[((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $35_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $35_1 | 0; + } + + function $1599($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $63_1 = 0, $64_1 = 0, $9_1 = 0, $32_1 = 0, $57_1 = 0, $65_1 = 0, $69_1 = 0, $72_1 = 0, $75_1 = 0, $78_1 = 0, $81_1 = 0, $101_1 = 0, $122_1 = 0, $275_1 = 0, $295_1 = 0, $305_1 = 0, $315_1 = 0, $325_1 = 0, $335_1 = 0, $99_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[(((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1310(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, $9_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) != ($9_1 | 0) & 1 | 0)) { + break label$1 + } + $32_1 = 24; + label$2 : { + if (!((((HEAPU8[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0 | 0) != (71 | 0) & 1 | 0)) { + break label$2 + } + $1605(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1606(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $57_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($57_1 + 4 | 0) >> 2] = HEAP32[($57_1 + 4 | 0) >> 2] | 0 | 134217728 | 0; + $18(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0); + $63_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + $64_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $64_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $275_1 = i64toi32_i32$0; + i64toi32_i32$0 = $63_1; + HEAP32[i64toi32_i32$0 >> 2] = $275_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $65_1 = 48; + HEAP32[(i64toi32_i32$0 + $65_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $65_1 | 0) >> 2] | 0; + $69_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $69_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $295_1 = i64toi32_i32$1; + i64toi32_i32$1 = $63_1 + $69_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $295_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $72_1 = 32; + i64toi32_i32$2 = $64_1 + $72_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $305_1 = i64toi32_i32$0; + i64toi32_i32$0 = $63_1 + $72_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $305_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $75_1 = 24; + i64toi32_i32$2 = $64_1 + $75_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $315_1 = i64toi32_i32$1; + i64toi32_i32$1 = $63_1 + $75_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $315_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $78_1 = 16; + i64toi32_i32$2 = $64_1 + $78_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $325_1 = i64toi32_i32$0; + i64toi32_i32$0 = $63_1 + $78_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $325_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $81_1 = 8; + i64toi32_i32$2 = $64_1 + $81_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $335_1 = i64toi32_i32$1; + i64toi32_i32$1 = $63_1 + $81_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $335_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$4 : { + if ((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1024 | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $99_1 = $291(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = $99_1; + $101_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($101_1 + 4 | 0) >> 2] = HEAP32[($101_1 + 4 | 0) >> 2] | 0 | 65536 | 0; + } + label$5 : { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + break label$6; + } + } + } + $13(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0); + } + $122_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($122_1 + 4 | 0) >> 2] = HEAP32[($122_1 + 4 | 0) >> 2] | 0 | 4194304 | 0; + global$0 = $8_1 + 48 | 0; + return; + } + + function $1600($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $4_1 = 0, i64toi32_i32$3 = 0, $38$hi = 0, $44$hi = 0, $50$hi = 0, $39$hi = 0, $40$hi = 0, $42$hi = 0, $45$hi = 0, $46$hi = 0, $48$hi = 0, $51$hi = 0, $52$hi = 0, $54$hi = 0, $35_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 65536 | 0)) { + break label$3 + } + label$4 : { + if (!($783(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $38$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $39$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $40$hi = i64toi32_i32$1; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $40$hi; + i64toi32_i32$3 = 1073741824; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $42$hi = i64toi32_i32$0; + i64toi32_i32$0 = $38$hi; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$0 = $38$hi; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $38$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$1 = 0; + $44$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $45$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $46$hi = i64toi32_i32$0; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$2 = 536870912; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $44$hi; + i64toi32_i32$2 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = ((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0; + break label$1; + } + i64toi32_i32$0 = 0; + $50$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $52$hi = i64toi32_i32$1; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$3 = 1073741824; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $54$hi = i64toi32_i32$0; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$3 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = ((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0; + } + $35_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $35_1 | 0; + } + + function $1601($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $6_1 = 0, $29_1 = 0, $54_1 = 0, $54$hi = 0, $55$hi = 0, $39_1 = 0, $56$hi = 0, $19_1 = 0, $57$hi = 0, $58$hi = 0, $61$hi = 0, $62$hi = 0, $20_1 = 0; + $3_1 = global$0 - 32 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $0_1; + $6_1 = 16; + HEAP32[($3_1 + 16 | 0) >> 2] = ((HEAPU16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $6_1 | 0) >> $6_1 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$2 + } + if (!(((HEAPU16[(((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 16 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$2 + } + $29_1 = 16; + label$3 : { + label$4 : { + if (!((((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $29_1 | 0) >> $29_1 | 0 | 0) >= (64 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = -1; + $54_1 = -1; + $54$hi = i64toi32_i32$0; + break label$3; + } + i64toi32_i32$0 = 0; + $55$hi = i64toi32_i32$0; + $39_1 = 16; + i64toi32_i32$0 = 0; + $56$hi = i64toi32_i32$0; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$3 = ((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $39_1 | 0) >> $39_1 | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $19_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $57$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $58$hi = i64toi32_i32$1; + i64toi32_i32$1 = $57$hi; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$1 = $57$hi; + i64toi32_i32$0 = $19_1; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $54_1 = i64toi32_i32$4; + $54$hi = i64toi32_i32$5; + } + i64toi32_i32$5 = $54$hi; + i64toi32_i32$0 = $3_1; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $54_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$5; + break label$1; + } + label$5 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) >= (64 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 16 | 0) >> 2] = 63; + } + i64toi32_i32$5 = 0; + $61$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $62$hi = i64toi32_i32$5; + i64toi32_i32$5 = $61$hi; + i64toi32_i32$5 = $62$hi; + i64toi32_i32$5 = $61$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$3 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $20_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $20_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $20_1; + HEAP32[($3_1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $1602($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $78_1 = 0, $104_1 = 0, $116_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (77 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0; + break label$4; + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 72) | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 72) | 0) + 16 | 0) >> 2] | 0; + break label$6; + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + $78_1 = 16; + HEAP32[($6_1 + 8 | 0) >> 2] = ((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $78_1 | 0) >> $78_1 | 0; + label$9 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + break label$1; + } + label$10 : { + label$11 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 8 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + break label$10; + } + $104_1 = 16; + label$12 : { + label$13 : { + if (!((((HEAPU16[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $104_1 | 0) >> $104_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$13 + } + $116_1 = 16; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $116_1 | 0) >> $116_1 | 0, 20) | 0) >> 2] | 0; + break label$12; + } + HEAP32[($6_1 + 20 | 0) >> 2] = 28572; + } + } + if (!((2 | 0) == ($1607(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 0] = 119; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $1603($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (2147483647 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!(HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + } + return 0 | 0; + } + + function $1604($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $38_1 = 0, $74_1 = 0, $87_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0) { + break label$2 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (166 | 0) & 1 | 0)) { + break label$1 + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $38_1 = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + break label$3; + } + $38_1 = 0; + } + HEAP32[($4_1 + 8 | 0) >> 2] = $38_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 72) | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + break label$5; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $74_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($74_1 + 8 | 0) >> 2] = (HEAP32[($74_1 + 8 | 0) >> 2] | 0) + 1 | 0; + break label$8; + } + label$10 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $87_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($87_1 + 12 | 0) >> 2] = (HEAP32[($87_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + } + } + return 0 | 0; + } + + function $1605($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $14_1 = 0, i64toi32_i32$0 = 0, $27_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $14_1 = $4_1 + 8 | 0; + i64toi32_i32$0 = 0; + $27_1 = 0; + i64toi32_i32$1 = $14_1; + HEAP32[i64toi32_i32$1 >> 2] = $27_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $27_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $14_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $27_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = 59; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + $1547($14_1 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $4_1 + 48 | 0; + return; + } + + function $1606($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, $13_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $8_1 = $5_1 + 8 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + $1324($8_1 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + $13_1 = $1236(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $8_1 | 0, 0 | 0) | 0; + global$0 = $5_1 + 32 | 0; + return $13_1 | 0; + } + + function $1607($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $45_1 = 0, $60_1 = 0, $66_1 = 0, $81_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 60 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 165 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 332 | 0) >> 2] | 0, 20, HEAP32[($6_1 + 68 | 0) >> 2] | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + $45_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = $45_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(28578 | 0, $6_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if ((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (2 | 0) & 1 | 0) { + break label$6 + } + if (!(HEAP32[($6_1 + 60 | 0) >> 2] | 0)) { + break label$5 + } + } + $60_1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $60_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(28584 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + $66_1 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $349($66_1 | 0, 28590 | 0, $6_1 | 0); + HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] = 23; + break label$3; + } + label$7 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$7 + } + if (!(HEAP32[($6_1 + 48 | 0) >> 2] | 0)) { + break label$7 + } + $1578(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + } + $81_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $81_1 | 0; + } + + function $1608($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (165 | 0) & 1 | 0)) { + break label$1 + } + $17_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[($17_1 + 2 | 0) >> 0] = ((HEAPU8[($17_1 + 2 | 0) >> 0] | 0) & 255 | 0) + (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + } + return 0 | 0; + } + + function $1609($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = 60; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 61; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + $1549($4_1 + 8 | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 63; + HEAP32[($4_1 + 20 | 0) >> 2] = 62; + HEAP16[($4_1 + 28 | 0) >> 1] = 0; + $1549($4_1 + 8 | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 48 | 0; + return; + } + + function $1610($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 42; + HEAP32[($4_1 + 20 | 0) >> 2] = 64; + HEAP32[($4_1 + 12 | 0) >> 2] = 60; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $1549($4_1 + 8 | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 48 | 0; + return; + } + + function $1611($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $56_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (59 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (((HEAPU8[(((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 13 | 0) >> 0] | 0) & 3 | 0) & 255 | 0) { + break label$5 + } + if ($87(HEAP32[((((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $56_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $56_1 | 0; + } + + function $1612($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $24_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1024 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + $24_1 = (HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) + -170 | 0; + label$4 : { + label$5 : { + switch ($24_1 | 0) { + case 1: + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1612(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$4; + case 0: + label$8 : { + if (!($1612(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $4_1 + 12 | 0 | 0) | 0)) { + break label$8 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 0 - (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + } + break label$4; + default: + break label$5; + }; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $42_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $42_1 | 0; + } + + function $1613($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $8_1 = 0, $9_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + $7_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $8_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $9_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $9_1; + HEAP32[$6_1 >> 2] = $8_1; + $349($7_1 | 0, 29717 | 0, $6_1 | 0); + global$0 = $6_1 + 32 | 0; + return; + } + + function $1614($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $15_1 = 0, i64toi32_i32$0 = 0, $28_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $15_1 = $4_1 + 8 | 0; + i64toi32_i32$0 = 0; + $28_1 = 0; + i64toi32_i32$1 = $15_1; + HEAP32[i64toi32_i32$1 >> 2] = $28_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $28_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $15_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $28_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = 65; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $1547($15_1 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $4_1 + 48 | 0; + return; + } + + function $1615($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $41_1 = 0, $107_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if ((HEAPU8[((HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if (!(((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if (!((HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $41_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $349($41_1 | 0, 29773 | 0, $6_1 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) > (HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $1613(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + $1599(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0 | 0, HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0); + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0; + continue label$6; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $107_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $107_1 | 0; + } + + function $1616($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -133 | 0; + label$1 : { + label$2 : { + switch ($6_1 | 0) { + case 0: + HEAP32[($3_1 + 8 | 0) >> 2] = 29932; + break label$1; + case 2: + HEAP32[($3_1 + 8 | 0) >> 2] = 29942; + break label$1; + case 1: + HEAP32[($3_1 + 8 | 0) >> 2] = 29952; + break label$1; + default: + break label$2; + }; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 29959; + } + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $1617($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $85_1 = 0, $11_1 = 0, $82_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + $11_1 = $5_1 + 24 | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $85_1 = 0; + i64toi32_i32$1 = $11_1; + HEAP32[i64toi32_i32$1 >> 2] = $85_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $85_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $11_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $85_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $11_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $85_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = 129; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[($5_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 85 | 0) >> 0] | 0; + label$1 : { + if (((HEAPU8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$1 + } + HEAP8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 85 | 0) >> 0] = 1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1404($5_1 + 24 | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 85 | 0) >> 0] = HEAPU8[($5_1 + 15 | 0) >> 0] | 0; + label$2 : { + label$3 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 76 | 0) >> 2] = 0; + break label$2; + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!(($1529(0 | 0, HEAP32[(((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 60 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, -1 | 0) | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 1 | 0; + break label$2; + } + HEAP32[($5_1 + 60 | 0) >> 2] = (HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($5_1 + 76 | 0) >> 2] = 0; + } + $82_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + global$0 = $5_1 + 80 | 0; + return $82_1 | 0; + } + + function $1618($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return 0 | 0; + } + + function $1619($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $140_1 = 0, $128_1 = 0, i64toi32_i32$0 = 0, $32_1 = 0, $44_1 = 0, $162_1 = 0, $166_1 = 0, $151_1 = 0, $174_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + label$4 : while (1) { + $32_1 = 0; + label$5 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $44_1 = 1; + label$6 : { + if (((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (133 | 0) & 1 | 0) { + break label$6 + } + $44_1 = ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (136 | 0); + } + $32_1 = $44_1; + } + label$7 : { + if (!($32_1 & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$4; + } + break label$4; + }; + label$8 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 4 | 0; + label$9 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[(HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$10 + } + label$12 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0)) { + break label$12 + } + break label$10; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + -1 | 0; + continue label$11; + }; + } + label$13 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $308(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 76 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 2; + break label$1; + } + $128_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[$4_1 >> 2] = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1212(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $128_1 | 0, $128_1 | 0, $128_1 | 0, $4_1 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $128_1 | 0, $128_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == ($128_1 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 2; + break label$1; + } + $140_1 = 0; + $3288(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, 76 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $151_1 = $1214(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $140_1 | 0, $1217(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 177 | 0, $140_1 | 0) | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] = $151_1; + HEAP8[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 0] = 136; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] = $140_1; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] = $140_1; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] = $140_1; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] = $140_1; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 2] = $140_1; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 56 | 0) >> 2] = $140_1; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 64 | 0) >> 2] = $140_1; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 72 | 0) >> 2] = $140_1; + $162_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($162_1 + 4 | 0) >> 2] = (HEAP32[($162_1 + 4 | 0) >> 2] | 0) & -257 | 0; + $166_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($166_1 + 4 | 0) >> 2] = HEAP32[($166_1 + 4 | 0) >> 2] | 0 | 65536 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] = $140_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $140_1; + } + $174_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $174_1 | 0; + } + + function $1620($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = HEAP32[(($1632(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 268 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0; + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1621($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $417_1 = 0, $841$hi = 0, $847$hi = 0, $13_1 = 0, $43_1 = 0, $46_1 = 0, $110_1 = 0, $113_1 = 0, $137_1 = 0, $842$hi = 0, $843$hi = 0, $845$hi = 0, $848$hi = 0, $849$hi = 0, $851$hi = 0, $336_1 = 0, $421_1 = 0, $434_1 = 0, $437_1 = 0, $458_1 = 0, $483_1 = 0, $519_1 = 0, $547_1 = 0, $554_1 = 0, $583_1 = 0, $630_1 = 0, $696_1 = 0, $699_1 = 0, $768_1 = 0, $833_1 = 0, $130_1 = 0, $175_1 = 0, $215_1 = 0, $227_1 = 0, $687_1 = 0, $688_1 = 0, $757_1 = 0, $759_1 = 0, $760_1 = 0, $761_1 = 0, $766_1 = 0, $793_1 = 0, $838_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 240 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 232 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 228 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 224 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 232 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 196 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 224 | 0) >> 2] | 0) >> 2] | 0; + HEAP16[($4_1 + 182 | 0) >> 1] = HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 176 | 0) >> 2] = 0; + $13_1 = HEAP32[($4_1 + 228 | 0) >> 2] | 0; + HEAP32[($13_1 + 4 | 0) >> 2] = HEAP32[($13_1 + 4 | 0) >> 2] | 0 | 64 | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + label$3 : { + if (!(((HEAPU16[($4_1 + 182 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0)) { + break label$3 + } + HEAP32[($4_1 + 236 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$4 + } + $43_1 = HEAP32[($4_1 + 224 | 0) >> 2] | 0; + $46_1 = (HEAP32[($43_1 + 100 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($43_1 + 100 | 0) >> 2] = $46_1; + HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 16 | 0) >> 2] = $46_1; + } + HEAP32[($4_1 + 208 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 204 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $1269(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0); + $1624(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 208 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 220 | 0) >> 2] = 0; + HEAP32[($4_1 + 200 | 0) >> 2] = (HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 8 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 220 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 208 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + break label$7; + } + label$9 : { + if (!($1625(HEAP32[($4_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 200 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + break label$10; + } + label$12 : { + label$13 : { + if (!((HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($4_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$14 : { + if (!($1549(HEAP32[($4_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0) | 0)) { + break label$14 + } + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + label$15 : { + if (!($1626(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 200 | 0) >> 2] | 0 | 0) | 0)) { + break label$15 + } + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + break label$12; + } + $110_1 = 0; + $113_1 = $1323(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, $110_1 | 0, HEAP32[($4_1 + 200 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 172 | 0) >> 2] = $113_1; + HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 16 | 0) >> 2] = $113_1; + label$16 : { + if (!((HEAP32[($4_1 + 172 | 0) >> 2] | 0 | 0) == ($110_1 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + label$17 : { + if (!((HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >>> 0 >= 65535 >>> 0 & 1 | 0)) { + break label$17 + } + $130_1 = HEAP32[($4_1 + 224 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 172 | 0) >> 2] | 0) >> 2] | 0; + $349($130_1 | 0, 29078 | 0, $4_1 | 0); + HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + $137_1 = HEAP32[($4_1 + 172 | 0) >> 2] | 0; + HEAP32[($137_1 + 32 | 0) >> 2] = (HEAP32[($137_1 + 32 | 0) >> 2] | 0) + 1 | 0; + label$18 : { + if (HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$18 + } + if (!($1627(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 200 | 0) >> 2] | 0 | 0) | 0)) { + break label$18 + } + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + label$19 : { + label$20 : { + if (HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$20 + } + if (!((HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + } + HEAP8[($4_1 + 165 | 0) >> 0] = HEAPU16[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0; + label$21 : { + if (!($1332(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 172 | 0) >> 2] | 0 | 0) | 0)) { + break label$21 + } + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + label$22 : { + if (!((HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + i64toi32_i32$0 = 0; + $841$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 196 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $842$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $843$hi = i64toi32_i32$1; + i64toi32_i32$1 = $842$hi; + i64toi32_i32$1 = $843$hi; + i64toi32_i32$1 = $842$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $843$hi; + i64toi32_i32$3 = -2147483648; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $845$hi = i64toi32_i32$0; + i64toi32_i32$0 = $841$hi; + i64toi32_i32$0 = $845$hi; + i64toi32_i32$0 = $841$hi; + i64toi32_i32$0 = $845$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $841$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$22 + } + $175_1 = HEAP32[($4_1 + 224 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 172 | 0) >> 2] | 0) >> 2] | 0; + $349($175_1 | 0, 29117 | 0, $4_1 + 32 | 0 | 0); + } + label$23 : { + if (!(HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$23 + } + if (!((((HEAPU8[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 6 | 0) & 1 | 0) & 255 | 0)) { + break label$23 + } + if (!((HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + i64toi32_i32$1 = 0; + $847$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($4_1 + 196 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $848$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $849$hi = i64toi32_i32$0; + i64toi32_i32$0 = $848$hi; + i64toi32_i32$0 = $849$hi; + i64toi32_i32$0 = $848$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $849$hi; + i64toi32_i32$2 = 128; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $851$hi = i64toi32_i32$1; + i64toi32_i32$1 = $847$hi; + i64toi32_i32$1 = $851$hi; + i64toi32_i32$1 = $847$hi; + i64toi32_i32$1 = $851$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $847$hi; + i64toi32_i32$2 = 0; + if (!(((HEAPU8[((HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) > (((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$23 + } + $215_1 = HEAP32[($4_1 + 224 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 172 | 0) >> 2] | 0) >> 2] | 0; + $349($215_1 | 0, 29148 | 0, $4_1 + 16 | 0 | 0); + } + $227_1 = $1338(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 20 | 0) >> 2] = $227_1; + HEAP16[($4_1 + 166 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + HEAP16[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 42 | 0) >> 1] = 65535; + HEAP16[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 20 | 0) >> 1] = 1; + $1549(HEAP32[($4_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP16[((HEAP32[($4_1 + 232 | 0) >> 2] | 0) + 20 | 0) >> 1] = (HEAPU8[($4_1 + 165 | 0) >> 0] | 0) & 255 | 0; + HEAP16[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 42 | 0) >> 1] = HEAPU16[($4_1 + 166 | 0) >> 1] | 0; + } + } + } + label$24 : { + if (!($1628(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 200 | 0) >> 2] | 0 | 0) | 0)) { + break label$24 + } + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + } + HEAP32[($4_1 + 220 | 0) >> 2] = (HEAP32[($4_1 + 220 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 200 | 0) >> 2] = (HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 72 | 0; + continue label$6; + }; + } + label$25 : { + label$26 : { + if (HEAP32[((HEAP32[($4_1 + 224 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$26 + } + if ((HEAPU8[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$26 + } + if (!($1629(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 228 | 0) >> 2] | 0 | 0) | 0)) { + break label$25 + } + } + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 212 | 0) >> 2] = 0; + label$27 : { + label$28 : while (1) { + if (!((HEAP32[($4_1 + 212 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($4_1 + 192 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 204 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 212 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$29 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 192 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (177 | 0) & 1 | 0)) { + break label$29 + } + break label$27; + } + label$30 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 192 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (139 | 0) & 1 | 0)) { + break label$30 + } + if (!(((HEAPU8[(HEAP32[((HEAP32[($4_1 + 192 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (177 | 0) & 1 | 0)) { + break label$30 + } + break label$27; + } + HEAP32[($4_1 + 176 | 0) >> 2] = HEAP32[($4_1 + 176 | 0) >> 2] | 0 | (HEAP32[((HEAP32[($4_1 + 192 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 212 | 0) >> 2] = (HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + label$31 : { + if (!((HEAP32[($4_1 + 212 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($4_1 + 160 | 0) >> 2] = (HEAP32[($4_1 + 204 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($4_1 + 156 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[(HEAP32[($4_1 + 224 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 152 | 0) >> 2] = i64toi32_i32$0; + $336_1 = 0; + label$32 : { + if (!((HEAP32[($4_1 + 152 | 0) >> 2] | 0) & 4 | 0)) { + break label$32 + } + $336_1 = ((HEAP32[($4_1 + 152 | 0) >> 2] | 0) & 64 | 0 | 0) == (0 | 0); + } + HEAP32[($4_1 + 148 | 0) >> 2] = $336_1 & 1 | 0; + HEAP32[($4_1 + 212 | 0) >> 2] = 0; + label$33 : { + label$34 : while (1) { + if (!((HEAP32[($4_1 + 212 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 204 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[($4_1 + 192 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 160 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 212 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 176 | 0) >> 2] = HEAP32[($4_1 + 176 | 0) >> 2] | 0 | (HEAP32[((HEAP32[($4_1 + 192 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 188 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 192 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$35 : { + label$36 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 192 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (177 | 0) & 1 | 0)) { + break label$36 + } + label$37 : { + if (((HEAPU8[(HEAP32[($4_1 + 192 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (139 | 0) & 1 | 0) { + break label$37 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 188 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (177 | 0) & 1 | 0)) { + break label$36 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1214(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 160 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 212 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + label$38 : { + if (!((HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$38 + } + $417_1 = 4; + $421_1 = HEAP32[($4_1 + 156 | 0) >> 2] | 0; + HEAP32[((((HEAP32[$421_1 >> 2] | 0) << $417_1 | 0) + $421_1 | 0) + -8 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 160 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 212 | 0) >> 2] | 0) << $417_1 | 0) | 0) + 4 | 0) >> 2] | 0; + $434_1 = HEAP32[($4_1 + 156 | 0) >> 2] | 0; + $437_1 = ((HEAP32[$434_1 >> 2] | 0) << $417_1 | 0) + $434_1 | 0; + HEAP8[(($437_1 + -12 | 0) + 9 | 0) >> 0] = (HEAPU8[($437_1 + -3 | 0) >> 0] | 0) & -4 | 0 | ((HEAPU8[(((HEAP32[($4_1 + 160 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 212 | 0) >> 2] | 0) << $417_1 | 0) | 0) + 9 | 0) >> 0] | 0) & 3 | 0) | 0; + HEAP32[(((HEAP32[($4_1 + 160 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 212 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] = 0; + } + HEAP32[((HEAP32[($4_1 + 160 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 212 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = 0; + break label$35; + } + $458_1 = 0; + HEAP32[($4_1 + 144 | 0) >> 2] = $458_1; + HEAP32[($4_1 + 140 | 0) >> 2] = $458_1; + label$39 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 192 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (139 | 0) & 1 | 0)) { + break label$39 + } + HEAP32[($4_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 192 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 220 | 0) >> 2] = 0; + HEAP32[($4_1 + 200 | 0) >> 2] = (HEAP32[($4_1 + 208 | 0) >> 2] | 0) + 8 | 0; + label$40 : { + label$41 : while (1) { + if (!((HEAP32[($4_1 + 220 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 208 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$40 + } + $483_1 = 0; + HEAP32[($4_1 + 136 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 132 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 128 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 124 | 0) >> 2] = $483_1; + label$42 : { + if (!((HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) == ($483_1 | 0) & 1 | 0)) { + break label$42 + } + HEAP32[($4_1 + 128 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 136 | 0) >> 2] | 0) >> 2] | 0; + } + label$43 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$43 + } + break label$40; + } + label$44 : { + label$45 : { + label$46 : { + if ((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$46 + } + if ((HEAP32[((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0) { + break label$45 + } + } + $519_1 = 0; + HEAP32[($4_1 + 132 | 0) >> 2] = $519_1; + label$47 : { + if (!((HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) != ($519_1 | 0) & 1 | 0)) { + break label$47 + } + if (!($88(HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) | 0)) { + break label$47 + } + break label$44; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $350(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 136 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + label$48 : { + label$49 : { + if (!((HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$49 + } + $547_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 120 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + break label$48; + } + $547_1 = 29181; + } + HEAP32[($4_1 + 124 | 0) >> 2] = $547_1; + } + HEAP32[($4_1 + 216 | 0) >> 2] = 0; + label$50 : { + label$51 : while (1) { + $554_1 = 16; + if (!((HEAP32[($4_1 + 216 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 136 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $554_1 | 0) >> $554_1 | 0 | 0) & 1 | 0)) { + break label$50 + } + HEAP32[($4_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 216 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + label$52 : { + label$53 : { + if (!((HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$53 + } + if (!((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$53 + } + $583_1 = 0; + if ($1597(((HEAP32[((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 216 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, $583_1 | 0, HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0, $583_1 | 0) | 0) { + break label$53 + } + break label$52; + } + label$54 : { + if ((HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 131072 | 0) { + break label$54 + } + if (!(((HEAPU16[(((HEAP32[((HEAP32[($4_1 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 216 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$54 + } + break label$52; + } + HEAP32[($4_1 + 144 | 0) >> 2] = 1; + label$55 : { + if (!((HEAP32[($4_1 + 220 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$55 + } + if (!((HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$55 + } + label$56 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$56 + } + $630_1 = 0; + if (!($1630(HEAP32[($4_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 220 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0, $630_1 | 0, $630_1 | 0, 1 | 0) | 0)) { + break label$56 + } + break label$52; + } + label$57 : { + if (!(($1631(HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$57 + } + break label$52; + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1217(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0, 59 | 0, HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 112 | 0) >> 2] = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + HEAP32[($4_1 + 108 | 0) >> 2] = 0; + label$58 : { + label$59 : { + label$60 : { + if (HEAP32[($4_1 + 148 | 0) >> 2] | 0) { + break label$60 + } + if (!((HEAP32[(HEAP32[($4_1 + 208 | 0) >> 2] | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$59 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1217(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0, 59 | 0, HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1197(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + label$61 : { + if (!((HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$61 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1217(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0, 59 | 0, HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1197(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 184 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + } + label$62 : { + if (!(HEAP32[($4_1 + 148 | 0) >> 2] | 0)) { + break label$62 + } + $687_1 = HEAP32[($4_1 + 196 | 0) >> 2] | 0; + $688_1 = HEAP32[($4_1 + 128 | 0) >> 2] | 0; + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + HEAP32[($4_1 + 80 | 0) >> 2] = $688_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $351($687_1 | 0, 28578 | 0, $4_1 + 80 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + } + break label$58; + } + HEAP32[($4_1 + 184 | 0) >> 2] = HEAP32[($4_1 + 188 | 0) >> 2] | 0; + } + $696_1 = 0; + $699_1 = $4_1 + 96 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1214(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 184 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + $1324($699_1 | 0, HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0); + $1215(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0, $699_1 | 0, $696_1 | 0); + label$63 : { + if (!((HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) != ($696_1 | 0) & 1 | 0)) { + break label$63 + } + if (!((HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$63 + } + if (((HEAPU8[((HEAP32[($4_1 + 224 | 0) >> 2] | 0) + 204 | 0) >> 0] | 0) & 255 | 0 | 0) >= (2 | 0) & 1 | 0) { + break label$63 + } + HEAP32[($4_1 + 88 | 0) >> 2] = ((HEAP32[($4_1 + 156 | 0) >> 2] | 0) + 4 | 0) + (((HEAP32[(HEAP32[($4_1 + 156 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0; + $13(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + label$64 : { + label$65 : { + if (!((HEAP32[($4_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$65 + } + $757_1 = $291(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 216 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] = $757_1; + break label$64; + } + $759_1 = HEAP32[($4_1 + 196 | 0) >> 2] | 0; + $760_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + $761_1 = HEAP32[($4_1 + 128 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $761_1; + HEAP32[($4_1 + 64 | 0) >> 2] = $760_1; + $766_1 = $351($759_1 | 0, 29183 | 0, $4_1 + 64 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] = $766_1; + } + $768_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP8[($768_1 + 9 | 0) >> 0] = (HEAPU8[($768_1 + 9 | 0) >> 0] | 0) & -4 | 0 | 2 | 0; + } + $13(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 216 | 0) >> 2] = (HEAP32[($4_1 + 216 | 0) >> 2] | 0) + 1 | 0; + continue label$51; + }; + } + } + HEAP32[($4_1 + 220 | 0) >> 2] = (HEAP32[($4_1 + 220 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 200 | 0) >> 2] = (HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 72 | 0; + continue label$41; + }; + } + label$66 : { + if (HEAP32[($4_1 + 144 | 0) >> 2] | 0) { + break label$66 + } + label$67 : { + label$68 : { + if (!((HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$68 + } + $793_1 = HEAP32[($4_1 + 224 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[($4_1 + 140 | 0) >> 2] | 0; + $349($793_1 | 0, 29192 | 0, $4_1 + 48 | 0 | 0); + break label$67; + } + $349(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, 29210 | 0, 0 | 0); + } + } + } + HEAP32[($4_1 + 212 | 0) >> 2] = (HEAP32[($4_1 + 212 | 0) >> 2] | 0) + 1 | 0; + continue label$34; + }; + } + $382(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($4_1 + 156 | 0) >> 2] | 0; + } + label$69 : { + if (!((HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$69 + } + label$70 : { + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 228 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$70 + } + $349(HEAP32[($4_1 + 224 | 0) >> 2] | 0 | 0, 29230 | 0, 0 | 0); + HEAP32[($4_1 + 236 | 0) >> 2] = 2; + break label$1; + } + label$71 : { + if (!((HEAP32[($4_1 + 176 | 0) >> 2] | 0) & 2097156 | 0)) { + break label$71 + } + $833_1 = HEAP32[($4_1 + 228 | 0) >> 2] | 0; + HEAP32[($833_1 + 4 | 0) >> 2] = HEAP32[($833_1 + 4 | 0) >> 2] | 0 | 262144 | 0; + } + } + HEAP32[($4_1 + 236 | 0) >> 2] = 0; + } + $838_1 = HEAP32[($4_1 + 236 | 0) >> 2] | 0; + global$0 = $4_1 + 240 | 0; + return $838_1 | 0; + } + + function $1622($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, $58_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 128 | 0)) { + break label$2 + } + break label$1; + } + $10_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($10_1 + 4 | 0) >> 2] = HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 128 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0; + label$3 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 2 | 0)) { + break label$4 + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : while (1) { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$7; + }; + } + $58_1 = 24; + $1583(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, (64 << $58_1 | 0) >> $58_1 | 0 | 0); + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 72 | 0; + continue label$3; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1623($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return 0 | 0; + } + + function $1624($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $33_1 = 0, $34_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + $33_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $34_1 = HEAP32[($33_1 + 40 | 0) >> 2] | 0; + HEAP32[($33_1 + 40 | 0) >> 2] = $34_1 + 1 | 0; + HEAP32[((HEAP32[$4_1 >> 2] | 0) + 40 | 0) >> 2] = $34_1; + label$6 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $1624(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 72 | 0; + continue label$3; + }; + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1625($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $47_1 = 0, $69_1 = 0, $91_1 = 0, $101_1 = 0, $115_1 = 0, $177_1 = 0, $181_1 = 0, $199_1 = 0, $209_1 = 0, $210_1 = 0, $35_1 = 0, $37_1 = 0, i64toi32_i32$0 = 0, $65_1 = 0, $76_1 = 0, $191_1 = 0, $283_1 = 0, $285_1 = 0, $287_1 = 0, $323_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 112 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 112 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1633(HEAP32[((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 268 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0, $4_1 + 100 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 68 | 0) >> 2] = -1; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $35_1 = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + $37_1 = HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + $349($35_1 | 0, $37_1 | 0, $4_1 | 0); + HEAP32[($4_1 + 124 | 0) >> 2] = 1; + break label$1; + } + label$5 : { + if (!($1627(HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$0 = 0; + $47_1 = $308(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, 80 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($4_1 + 96 | 0) >> 2] = $47_1; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] = $47_1; + label$6 : { + if (!((HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 2; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + $65_1 = $291(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 96 | 0) >> 2] | 0) >> 2] = $65_1; + HEAP16[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 40 | 0) >> 1] = 65535; + HEAP16[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 46 | 0) >> 1] = 200; + $69_1 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + HEAP32[($69_1 + 36 | 0) >> 2] = HEAP32[($69_1 + 36 | 0) >> 2] | 0 | 514 | 0; + $76_1 = $1338(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 20 | 0) >> 2] = $76_1; + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 7; + break label$1; + } + $91_1 = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 88 | 0) >> 2] = $91_1; + HEAP32[($4_1 + 80 | 0) >> 2] = $91_1; + $101_1 = 1; + label$8 : { + if (((HEAPU8[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (133 | 0) & 1 | 0) { + break label$8 + } + $101_1 = ((HEAPU8[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (132 | 0); + } + HEAP32[($4_1 + 76 | 0) >> 2] = $101_1 & 1 | 0; + label$9 : while (1) { + $115_1 = 0; + label$10 : { + if (!(HEAP32[($4_1 + 76 | 0) >> 2] | 0)) { + break label$10 + } + $115_1 = ((HEAPU8[(HEAP32[($4_1 + 80 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0); + } + label$11 : { + if (!($115_1 & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 56 | 0) >> 2] = ((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 64 | 0) >> 2] | 0, 72) | 0; + label$14 : { + if (!((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + if (!((0 | 0) == ($88(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + $177_1 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + HEAP32[($177_1 + 32 | 0) >> 2] = (HEAP32[($177_1 + 32 | 0) >> 2] | 0) + 1 | 0; + $181_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP8[($181_1 + 37 | 0) >> 0] = HEAPU8[($181_1 + 37 | 0) >> 0] | 0 | 32 | 0; + label$15 : { + if (!((HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0)) { + break label$15 + } + $191_1 = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + $349($191_1 | 0, 29261 | 0, $4_1 + 16 | 0 | 0); + HEAP32[($4_1 + 124 | 0) >> 2] = 1; + break label$1; + } + $199_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + HEAP32[($199_1 + 4 | 0) >> 2] = HEAP32[($199_1 + 4 | 0) >> 2] | 0 | 8192 | 0; + label$16 : { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$16 + } + $209_1 = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + $210_1 = HEAP32[($209_1 + 40 | 0) >> 2] | 0; + HEAP32[($209_1 + 40 | 0) >> 2] = $210_1 + 1 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $210_1; + } + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + label$17 : { + if ((HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0) { + break label$17 + } + break label$11; + } + HEAP32[($4_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$9; + } + break label$9; + }; + HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] = 29304; + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 268 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 268 | 0) >> 2] = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!((HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0)) { + break label$19 + } + HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + $1549(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 64 | 0) >> 2] = 0; + break label$18; + } + $1549(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 268 | 0) >> 2] = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$21; + }; + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$22 : { + if (!((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + if (!((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + if (!((HEAP32[(HEAP32[($4_1 + 92 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[(HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + $283_1 = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + $285_1 = HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + $287_1 = HEAP32[(HEAP32[($4_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = $287_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $285_1; + $349($283_1 | 0, 29327 | 0, $4_1 + 32 | 0 | 0); + HEAP32[((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 268 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 124 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + $1582(HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 42 | 0 | 0, (HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + label$24 : { + if (!(HEAP32[($4_1 + 76 | 0) >> 2] | 0)) { + break label$24 + } + label$25 : { + label$26 : { + if (!((HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0)) { + break label$26 + } + HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] = 29365; + break label$25; + } + HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] = 29399; + } + $1549(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + HEAP32[((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 268 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 124 | 0) >> 2] = 0; + } + $323_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + global$0 = $4_1 + 128 | 0; + return $323_1 | 0; + } + + function $1626($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, $67_1 = 0, i64toi32_i32$0 = 0, $33_1 = 0, $36_1 = 0, $40_1 = 0, $74_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $10_1 = $308(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, 80 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $10_1; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $33_1 = $291(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = $33_1; + break label$3; + } + $36_1 = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $40_1 = $351($36_1 | 0, 29465 | 0, $4_1 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = $40_1; + } + label$5 : { + label$6 : while (1) { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$6; + }; + } + $1582(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 42 | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] = 65535; + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 46 | 0) >> 1] = 200; + $67_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($67_1 + 36 | 0) >> 2] = HEAP32[($67_1 + 36 | 0) >> 2] | 0 | 2 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 ? 1 : 0; + } + $74_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $74_1 | 0; + } + + function $1627($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $21_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0)) { + break label$2 + } + $15_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $349($15_1 | 0, 29477 | 0, $4_1 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $21_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $21_1 | 0; + } + + function $1628($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $36_1 = 0, $57_1 = 0, $58_1 = 0, $67_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = 1; + if (!((((HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> $17_1 | 0) & $17_1 | 0) & 255 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : while (1) { + $36_1 = 0; + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $36_1 = ($88(HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + label$5 : { + if (!($36_1 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + label$6 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + $57_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $58_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = $58_1; + $349($57_1 | 0, 29530 | 0, $4_1 | 0); + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $67_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $67_1 | 0; + } + + function $1629($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $83_1 = 0, $75_1 = 0, $176_1 = 0, $228_1 = 0, $259_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 96 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 72 | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) < ((HEAP32[(HEAP32[($4_1 + 80 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$4 : { + label$5 : { + label$6 : { + if ((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + } + break label$4; + } + HEAP32[($4_1 + 56 | 0) >> 2] = (((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 32 | 0 | 0) != (0 | 0) & 1 | 0; + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if ((HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + if (!((HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + } + $75_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = 0; + $349($75_1 | 0, 29548 | 0, $4_1 | 0); + HEAP32[($4_1 + 92 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 72 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + $83_1 = 16; + if (!((HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $83_1 | 0) >> $83_1 | 0 | 0) & 1 | 0)) { + break label$10 + } + label$12 : { + label$13 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 72 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$13 + } + break label$12; + } + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 72 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + label$14 : { + if (!($1630(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0, $4_1 + 44 | 0 | 0, 1 | 0) | 0)) { + break label$14 + } + $1635(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 36 | 0 | 0); + } + } + HEAP32[($4_1 + 72 | 0) >> 2] = (HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + } + label$15 : { + if (!((HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + if (!((HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $349(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, 29598 | 0, 0 | 0); + HEAP32[($4_1 + 92 | 0) >> 2] = 1; + break label$1; + } + label$16 : { + if (!((HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + if (!(HEAP32[($4_1 + 56 | 0) >> 2] | 0)) { + break label$17 + } + $1636(HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + } + $176_1 = $1240(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 36 | 0) >> 2] = $176_1; + HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + } + label$18 : { + if (!((HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($4_1 + 72 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1637(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + label$22 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$22 + } + if ($1630(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, $4_1 + 32 | 0 | 0, $4_1 + 28 | 0 | 0, 0 | 0) | 0) { + break label$21 + } + } + $228_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $349($228_1 | 0, 29653 | 0, $4_1 + 16 | 0 | 0); + HEAP32[($4_1 + 92 | 0) >> 2] = 1; + break label$1; + } + $1635(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 36 | 0 | 0); + HEAP32[($4_1 + 72 | 0) >> 2] = (HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + } + } + HEAP32[($4_1 + 76 | 0) >> 2] = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 72 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 72 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 92 | 0) >> 2] = 0; + } + $259_1 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + global$0 = $4_1 + 96 | 0; + return $259_1 | 0; + } + + function $1630($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1637(HEAP32[((((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($8_1 + 16 | 0) >> 2] | 0, 72) | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(HEAP32[($8_1 + 20 | 0) >> 2] | 0)) { + break label$5 + } + if ((((HEAPU16[(((HEAP32[((HEAP32[((((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($8_1 + 16 | 0) >> 2] | 0, 72) | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 12 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + } + label$6 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($8_1 + 44 | 0) >> 2] = 0; + } + $75_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $75_1 | 0; + } + + function $1631($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $36_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = -1; + break label$1; + } + HEAP32[$4_1 >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if ($88(HEAP32[((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = -1; + } + $36_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $36_1 | 0; + } + + function $1632($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + continue label$2; + }; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1633($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0, $64_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $16_1; + if (!(($16_1 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if ($88(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0; + break label$1; + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$4; + }; + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $64_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $64_1 | 0; + } + + function $1634($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $37_1 = 0, $55_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!(HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$3 + } + if (!(($1056(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $362((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 340 | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if ((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) >> 2] | 0; + $37_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + $349($37_1 | 0, 10313 | 0, $4_1 + 16 | 0 | 0); + HEAP32[($4_1 + 36 | 0) >> 2] = 1; + break label$4; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1055(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $4_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($4_1 + 36 | 0) >> 2] | 0)) { + break label$6 + } + $55_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $349($55_1 | 0, 1976 | 0, $4_1 | 0); + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + $13(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + $63_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $63_1 | 0; + } + + function $1635($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $36_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 48 | 0; + global$0 = $10_1; + HEAP32[($10_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1639(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1639(HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1197(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$10_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!(HEAP32[($10_1 + 20 | 0) >> 2] | 0)) { + break label$1 + } + $36_1 = HEAP32[$10_1 >> 2] | 0; + HEAP32[($36_1 + 4 | 0) >> 2] = HEAP32[($36_1 + 4 | 0) >> 2] | 0 | 1 | 0; + HEAP16[((HEAP32[$10_1 >> 2] | 0) + 36 | 0) >> 1] = HEAP32[((HEAP32[($10_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + } + $47_1 = $1240(HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($10_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[$10_1 >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($10_1 + 16 | 0) >> 2] | 0) >> 2] = $47_1; + global$0 = $10_1 + 48 | 0; + return; + } + + function $1636($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($13_1 + 4 | 0) >> 2] = HEAP32[($13_1 + 4 | 0) >> 2] | 0 | 1 | 0; + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 1] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$3 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (169 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $1636(HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + $1636(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1637($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, $45_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1306(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + $13_1 = 16; + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $13_1 | 0) >> $13_1 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + if ($88(HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = -1; + } + $45_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $45_1 | 0; + } + + function $1638($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, $12_1 = 0, $15_1 = 0, $26_1 = 0, $49_1 = 0, $175_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 100 | 0) >> 2] = 0; + $7_1 = HEAPU8[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 0] | 0; + label$1 : { + label$2 : { + if (($7_1 | 0) == (136 | 0)) { + break label$2 + } + if (($7_1 | 0) != (164 | 0)) { + break label$1 + } + $12_1 = 0; + HEAP32[($4_1 + 92 | 0) >> 2] = $12_1; + HEAP32[($4_1 + 88 | 0) >> 2] = $12_1; + $15_1 = 16; + HEAP32[($4_1 + 84 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $15_1 | 0) >> $15_1 | 0; + label$3 : while (1) { + $26_1 = 0; + label$4 : { + if (!((HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $26_1 = (HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0; + } + label$5 : { + if (!($26_1 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 96 | 0) >> 2] = 0; + label$6 : while (1) { + $49_1 = 0; + label$7 : { + if (!((HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $49_1 = (HEAP32[((((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 96 | 0) >> 2] | 0, 72) | 0) + 40 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!($49_1 & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 96 | 0) >> 2] = (HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + label$9 : { + label$10 : { + if (!((HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 80 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[((((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 96 | 0) >> 2] | 0, 72) | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 88 | 0) >> 2] = HEAP32[((((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 96 | 0) >> 2] | 0, 72) | 0) + 20 | 0) >> 2] | 0; + break label$9; + } + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + continue label$3; + } + break label$3; + }; + label$11 : { + if (!((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + break label$1; + } + label$12 : { + label$13 : { + if (!((HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 84 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1638($4_1 + 48 | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + } + break label$12; + } + label$15 : { + label$16 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 100 | 0) >> 2] = 3600; + break label$15; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $503((HEAP32[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 84 | 0) >> 2] | 0, 20) | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + } + } + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1638($4_1 + 8 | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + } + $175_1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $175_1 | 0; + } + + function $1639($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $7_1 = 0, $25_1 = 0, $33_1 = 0, $64_1 = 0, $96_1 = 0, $96$hi = 0, $97$hi = 0, $74_1 = 0, $98$hi = 0, $30_1 = 0, $99$hi = 0, $100$hi = 0, $87_1 = 0, $103$hi = 0, $104$hi = 0, $31_1 = 0, $105$hi = 0, $91_1 = 0, $313$hi = 0, $317_1 = 0, $92_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1218(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 164 | 0, $7_1 | 0, $7_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 8 | 0) >> 2] = ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 20 | 0) >> 2] | 0, 72) | 0; + $25_1 = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = $25_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $25_1; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $33_1 = 16; + label$2 : { + label$3 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $33_1 | 0) >> $33_1 | 0 | 0) == (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 1] = 65535; + break label$2; + } + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 1] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 96 | 0)) { + break label$5 + } + if (!(((HEAPU16[(((HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$5 + } + $64_1 = 16; + label$6 : { + label$7 : { + if (!((((HEAPU16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $64_1 | 0) >> $64_1 | 0 | 0) >= (64 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = -1; + $96_1 = -1; + $96$hi = i64toi32_i32$0; + break label$6; + } + i64toi32_i32$0 = 0; + $97$hi = i64toi32_i32$0; + $74_1 = 16; + i64toi32_i32$0 = 0; + $98$hi = i64toi32_i32$0; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = $98$hi; + i64toi32_i32$3 = ((HEAPU16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $74_1 | 0) >> $74_1 | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $30_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $30_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $99$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $100$hi = i64toi32_i32$1; + i64toi32_i32$1 = $99$hi; + i64toi32_i32$1 = $100$hi; + i64toi32_i32$1 = $99$hi; + i64toi32_i32$0 = $30_1; + i64toi32_i32$2 = $100$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $96_1 = i64toi32_i32$4; + $96$hi = i64toi32_i32$5; + } + i64toi32_i32$5 = $96$hi; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] = $96_1; + HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] = i64toi32_i32$5; + break label$4; + } + label$8 : { + label$9 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) >= (64 | 0) & 1 | 0)) { + break label$9 + } + $87_1 = 63; + break label$8; + } + $87_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + i64toi32_i32$5 = 0; + $103$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $104$hi = i64toi32_i32$5; + i64toi32_i32$5 = $103$hi; + i64toi32_i32$5 = $104$hi; + i64toi32_i32$5 = $103$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$0 = $104$hi; + i64toi32_i32$3 = $87_1; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $31_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $31_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $105$hi = i64toi32_i32$0; + $91_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = $91_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 60 | 0) >> 2] | 0; + $313$hi = i64toi32_i32$1; + i64toi32_i32$1 = $105$hi; + i64toi32_i32$1 = $313$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $105$hi; + i64toi32_i32$3 = $31_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $317_1 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + i64toi32_i32$5 = $91_1; + HEAP32[(i64toi32_i32$5 + 56 | 0) >> 2] = $317_1; + HEAP32[(i64toi32_i32$5 + 60 | 0) >> 2] = i64toi32_i32$0; + } + } + } + $92_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $92_1 | 0; + } + + function $1640($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $1142(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $1641($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $128_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2097152 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (!((HEAP32[((((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (((HEAPU8[(((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 13 | 0) >> 0] | 0) & 3 | 0) & 255 | 0) { + break label$7 + } + $1318(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $1318(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 72) | 0) + 8 | 0) >> 2] | 0 | 0); + label$11 : { + if (!($1547(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 72) | 0) + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + $1643(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 72) | 0) + 48 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + } + $1644(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $128_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $128_1 | 0; + } + + function $1642($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $1318(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $5_1 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return $5_1 | 0; + } + + function $1643($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $1318(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1644($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $25_1 = 0, i64toi32_i32$0 = 0, $61_1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $25_1 = $4_1 + 8 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 48 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $61_1 = 0; + i64toi32_i32$1 = $25_1; + HEAP32[i64toi32_i32$1 >> 2] = $61_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $61_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $25_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $61_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $25_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $61_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + $1341(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $25_1 | 0); + $1549(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $1340(HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 48 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $4_1 + 64 | 0; + return; + } + + function $1645($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $37_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!($1474(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $37_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $37_1 | 0; + } + + function $1646($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $64_1 = 0, $49_1 = 0, $8_1 = 0, $96_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $77($5_1 + 16 | 0 | 0, HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 | 0, $6_1 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$5_1 >> 2] = HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0; + $84($5_1 + 16 | 0 | 0, 30997 | 0, $5_1 | 0); + break label$1; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$3 + } + $49_1 = 16; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 44 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $49_1 | 0) >> $49_1 | 0, 20) | 0) >> 2] | 0; + label$5 : { + if (!(HEAP32[($5_1 + 44 | 0) >> 2] | 0)) { + break label$5 + } + $51($5_1 + 16 | 0 | 0, 31008 | 0, 2 | 0); + } + $64_1 = $5_1 + 16 | 0; + $60($64_1 | 0, HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + $51($64_1 | 0, 1365 | 0, 1 | 0); + $60($64_1 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $72($5_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $8_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $96_1 = 24; + $1522(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, ((((HEAPU8[($8_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($8_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0 ? 1555 : 2067) | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, (249 << $96_1 | 0) >> $96_1 | 0 | 0, 2 & 255 | 0 | 0); + global$0 = $5_1 + 64 | 0; + return; + } + + function $1647($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1310(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if ((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + $1390(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + } + $18(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $6_1 + 32 | 0; + return; + } + + function $1648($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $17_1 = 0, $48_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP16[($7_1 + 10 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $17_1 = 16; + label$1 : { + label$2 : { + if (!((((HEAPU16[($7_1 + 10 | 0) >> 1] | 0) << $17_1 | 0) >> $17_1 | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + $1523(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + break label$1; + } + $48_1 = 16; + $1381(HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, ((HEAPU16[($7_1 + 10 | 0) >> 1] | 0) << $48_1 | 0) >> $48_1 | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $1649($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 7 | 0) >> 0] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) - 1 | 0, 20) | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1367(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $40_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $40_1 | 0; + } + + function $1650($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $10_1 = $362((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 56 | 0 | 0, HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $10_1 | 0; + } + + function $1651($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $68_1 = 0, $84_1 = 0, $88_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 150 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + if (!((0 | 0) == ($88(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $68_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$7; + } + $68_1 = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] = $68_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + continue label$5; + }; + } + } + label$9 : { + label$10 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $84_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$9; + } + $84_1 = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = $84_1; + } + $88_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $88_1 | 0; + } + + function $1652($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$1 : while (1) { + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$3 + } + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$6 : { + label$7 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$7 + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 > (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$5; + }; + } + label$8 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$8 + } + global$0 = $4_1 + 32 | 0; + return; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $350(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $1446(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0); + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + continue label$1; + }; + } + + function $1653($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $62_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ((((HEAPU16[((HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 78 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0 | 0) == (2 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $1169(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0); + HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP16[((HEAP32[$4_1 >> 2] | 0) + 42 | 0) >> 1] = 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + continue label$4; + }; + } + $62_1 = HEAP32[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP16[($62_1 + 78 | 0) >> 1] = ((HEAPU16[($62_1 + 78 | 0) >> 1] | 0) & 65535 | 0) & -3 | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1654($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + return; + } + + function $1655($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, $19_1 = 0, $7_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $7_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $19_1 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $19_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $19_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $19_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 66; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 42; + return; + } + + function $1656($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $23_1 = 0, $70_1 = 0, $106_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + label$1 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $23_1 = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + break label$2; + } + $23_1 = 0; + } + HEAP32[($6_1 + 24 | 0) >> 2] = $23_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1310(HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($6_1 + 32 | 0) >> 2] | 0)) { + break label$6 + } + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4096 | 0)) { + break label$7 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$8; + }; + } + label$9 : { + if (!($1612(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0) | 0)) { + break label$9 + } + HEAP8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] = 119; + $70_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[($70_1 + 4 | 0) >> 2] = (HEAP32[($70_1 + 4 | 0) >> 2] | 0) & -805307393 | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1214(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP8[((((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) + (((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0) << 4 | 0) | 0) + 8 | 0) >> 0] = HEAPU8[((((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + $106_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $106_1 | 0; + } + + function $1657($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $11_1 = 0, $38_1 = 0, $39_1 = 0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + $11_1 = $8_1 + 24 | 0; + HEAP32[($8_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $5_1; + i64toi32_i32$0 = 0; + $38_1 = 0; + i64toi32_i32$1 = $11_1; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $11_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $39_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[$8_1 >> 2] = $39_1; + HEAP32[($8_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 16 | 0) >> 2] = 0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $39_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$8_1 >> 2] = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[($8_1 + 4 | 0) >> 2] = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = 68; + HEAP32[($8_1 + 32 | 0) >> 2] = 67; + HEAP32[($8_1 + 48 | 0) >> 2] = $8_1; + $1550($11_1 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + global$0 = $8_1 + 80 | 0; + return; + } + + function $1658($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + -1 | 0; + return; + } + + function $1659($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $6_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + return 0 | 0; + } + + function $1660($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $26_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (165 | 0) & 1 | 0)) { + break label$1 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[($26_1 + 2 | 0) >> 0] = (HEAPU8[($26_1 + 2 | 0) >> 0] | 0) + 1 | 0; + } + return 0 | 0; + } + + function $1661($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $49_1 = 0, $70_1 = 0, $73_1 = 0, $25_1 = 0, $30_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + label$3 : while (1) { + $1712(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $1712(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $1712(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + $25_1 = $1674(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] = $25_1; + $30_1 = $1674(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] = $30_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + $49_1 = 1; + $1661(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $49_1 | 0); + label$6 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 2 | 0) & $49_1 | 0) & 255 | 0)) { + break label$6 + } + $1712(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 72 | 0; + continue label$5; + }; + } + $70_1 = 0; + label$7 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$7 + } + $73_1 = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $73_1; + $70_1 = ($73_1 | 0) != (0 | 0); + } + if ($70_1 & 1 | 0) { + continue label$3 + } + break label$3; + }; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1662($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, $15_1 = 0, $31_1 = 0, $30$hi = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $15_1 = $4_1 + 8 | 0; + i64toi32_i32$0 = 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $31_1 = 0; + i64toi32_i32$1 = $15_1; + HEAP32[i64toi32_i32$1 >> 2] = $31_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $31_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $15_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $31_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = 69; + HEAP32[($4_1 + 16 | 0) >> 2] = 42; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] = i64toi32_i32$0; + $1549($15_1 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $4_1 + 48 | 0; + return; + } + + function $1663($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $62_1 = 0, $63_1 = 0, $43_1 = 0, $44_1 = 0, $73_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + HEAP32[($5_1 + 24 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0; + label$1 : { + label$2 : while (1) { + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 44 | 0) >> 2] = -1; + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0; + if (1 & 1 | 0) { + continue label$2 + } + } + break label$2; + }; + $43_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $44_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 1352 : 32068; + HEAP32[$5_1 >> 2] = $44_1; + $1352($43_1 | 0, 0 | 0, 32045 | 0, $5_1 | 0); + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $62_1 = 0; + $63_1 = 1; + $1370(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, -1 | 0, $62_1 | 0, $62_1 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, $63_1 | 0, $63_1 | 0); + label$8 : { + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$8 + } + break label$6; + } + HEAP16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 2 | 0) >> 1] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + continue label$7; + }; + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + $73_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $73_1 | 0; + } + + function $1664($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $12_1 = ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + return (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function $1665($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $31_1 = 0, $6_1 = 0, $28_1 = 0, $84_1 = 0, $85_1 = 0, $107_1 = 0, $108_1 = 0, $128_1 = 0, $131_1 = 0, $168_1 = 0, $243_1 = 0, $166_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 128 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 108 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 80 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 64 | 0) >> 2] = 8; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$2 + } + $349(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, 32070 | 0, 0 | 0); + break label$1; + } + $28_1 = 0; + label$3 : { + if (!($1283(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, 33 | 0, $28_1 | 0, $28_1 | 0, $28_1 | 0) | 0)) { + break label$3 + } + break label$1; + } + $31_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 2 | 0) >> 1] = 320; + $1359(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 60 | 0) >> 2] = $31_1; + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] = $31_1; + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] = $31_1; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $31_1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 112 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((((HEAPU8[(((HEAP32[($5_1 + 112 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 28 | 0) >> 2] | 0, 72) | 0) + 45 | 0) >> 0] | 0) >>> 5 | 0) & 1 | 0) & 255 | 0)) { + break label$6 + } + HEAP32[($5_1 + 80 | 0) >> 2] = HEAP32[((((HEAP32[($5_1 + 112 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($5_1 + 28 | 0) >> 2] | 0, 72) | 0) + 40 | 0) >> 2] | 0; + break label$4; + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $84_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + $85_1 = HEAP32[($84_1 + 40 | 0) >> 2] | 0; + HEAP32[($84_1 + 40 | 0) >> 2] = $85_1 + 1 | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $85_1; + label$7 : { + label$8 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 120 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (132 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 6 : 5; + $107_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + $108_1 = HEAP32[($107_1 + 40 | 0) >> 2] | 0; + HEAP32[($107_1 + 40 | 0) >> 2] = $108_1 + 1 | 0; + HEAP32[($5_1 + 68 | 0) >> 2] = $108_1; + break label$7; + } + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 7 : 8; + } + $1298($5_1 + 32 | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0); + $128_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + $131_1 = (HEAP32[($128_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($128_1 + 44 | 0) >> 2] = $131_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $131_1; + $367(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 114 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) | 0; + label$9 : { + label$10 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1714(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 2 | 0 | 0, 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, -9 | 0) | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$9; + } + $366(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) | 0; + } + label$11 : { + if (!(HEAP32[($5_1 + 68 | 0) >> 2] | 0)) { + break label$11 + } + $166_1 = $366(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] = $166_1; + $168_1 = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + HEAP32[($168_1 + 4 | 0) >> 2] = HEAP32[($168_1 + 4 | 0) >> 2] | 0 | 32 | 0; + } + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + label$12 : { + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + label$15 : { + if (!((HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0)) { + break label$15 + } + $349(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, 32119 | 0, 0 | 0); + break label$12; + } + HEAP8[(HEAP32[($5_1 + 96 | 0) >> 2] | 0) >> 0] = 133; + label$16 : { + if ((HEAP32[((HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8192 | 0) { + break label$16 + } + break label$13; + } + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$14; + }; + } + HEAP32[($5_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 56 | 0) >> 2] = 0; + $1352(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, 1 | 0, 32161 | 0, 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1210(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + label$17 : { + if (!(HEAP32[($5_1 + 24 | 0) >> 2] | 0)) { + break label$17 + } + break label$12; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $1288(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 129 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) | 0; + label$18 : { + label$19 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + $367(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0; + break label$18; + } + $366(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 127 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0; + } + $243_1 = 0; + $1288(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 123 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + $1701(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + $1370(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, $243_1 | 0, $243_1 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0); + label$20 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$20 + } + $366(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, 59 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) | 0; + } + $1369(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + $1352(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, 1 | 0, 32167 | 0, 0 | 0); + $1210(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $1282(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0); + } + $382(HEAP32[(HEAP32[($5_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + } + global$0 = $5_1 + 128 | 0; + return; + } + + function $1666($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $567_1 = 0, $245_1 = 0, $574_1 = 0, $7_1 = 0, $38_1 = 0, $83_1 = 0, $95_1 = 0, $104_1 = 0, $116_1 = 0, $191_1 = 0, $204_1 = 0, $277_1 = 0, $280_1 = 0, $281_1 = 0, $284_1 = 0, $292_1 = 0, $296_1 = 0, $301_1 = 0, $305_1 = 0, $314_1 = 0, $317_1 = 0, $318_1 = 0, $321_1 = 0, $322_1 = 0, $325_1 = 0, $326_1 = 0, $329_1 = 0, $356_1 = 0, $448_1 = 0, $465_1 = 0, $468_1 = 0, $483_1 = 0, $488_1 = 0, $112_1 = 0, $115_1 = 0, i64toi32_i32$0 = 0, $182_1 = 0, $230_1 = 0, $285_1 = 0, $332_1 = 0, $471_1 = 0, $629_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 240 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 232 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 228 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 224 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 232 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 208 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1358(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 52 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 228 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + HEAP32[($5_1 + 212 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) != (133 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 220 | 0) >> 2] = 1; + label$3 : while (1) { + $38_1 = 0; + label$4 : { + if ((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + $38_1 = (HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0) <= (HEAP32[(HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$5 : { + if (!($38_1 & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 216 | 0) >> 2] = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 216 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) == (HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$6; + } + HEAP32[($5_1 + 216 | 0) >> 2] = (HEAP32[($5_1 + 216 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0; + continue label$7; + }; + } + label$9 : { + if (!((HEAP32[($5_1 + 216 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $83_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1217(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 152 | 0, $83_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == ($83_1 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 236 | 0) >> 2] = 7; + break label$1; + } + $95_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($95_1 + 4 | 0) >> 2] = HEAP32[($95_1 + 4 | 0) >> 2] | 0 | 1024 | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 220 | 0) >> 2] | 0; + $104_1 = $1214(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $104_1; + HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 48 | 0) >> 2] = $104_1; + label$11 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $112_1 = HEAP32[($5_1 + 220 | 0) >> 2] | 0; + $115_1 = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0; + $116_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $116_1 + 1 | 0; + HEAP16[(($115_1 + ($116_1 << 4 | 0) | 0) + 12 | 0) >> 1] = $112_1; + } + } + HEAP32[($5_1 + 220 | 0) >> 2] = (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + label$13 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 220 | 0) >> 2] = 1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 220 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = ((HEAPU16[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + HEAP32[($5_1 + 220 | 0) >> 2] = (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 16 | 0; + continue label$15; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1714(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$12; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $182_1 = $1339(HEAP32[(HEAP32[($5_1 + 232 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 48 | 0) >> 2] = $182_1; + label$16 : { + label$17 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (133 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($5_1 + 76 | 0) >> 2] = 0; + break label$16; + } + $191_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $204_1 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + HEAP32[($204_1 + 44 | 0) >> 2] = (HEAP32[($204_1 + 44 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0; + $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 69 | 0, $191_1 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1497(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) != ($191_1 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($5_1 + 220 | 0) >> 2] = 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $230_1 = $1668(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 220 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $230_1; + HEAP8[((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 220 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($5_1 + 220 | 0) >> 2] = (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + } + } + $245_1 = 0; + HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 52 | 0) >> 2] = $245_1; + HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 56 | 0) >> 2] = $245_1; + $1615(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, 29007 | 0) | 0; + label$21 : { + if (!((HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == ($245_1 | 0) & 1 | 0)) { + break label$21 + } + $1615(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, 29007 | 0) | 0; + } + $1359(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + label$22 : { + label$23 : { + if (!(HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$23 + } + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (133 | 0) & 1 | 0)) { + break label$23 + } + $277_1 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + $280_1 = (HEAP32[($277_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($277_1 + 44 | 0) >> 2] = $280_1; + HEAP32[($5_1 + 84 | 0) >> 2] = $280_1; + $281_1 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + $284_1 = (HEAP32[($281_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($281_1 + 44 | 0) >> 2] = $284_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $284_1; + $285_1 = HEAP32[($5_1 + 208 | 0) >> 2] | 0; + label$24 : { + label$25 : { + if (!(HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$25 + } + $292_1 = (HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0; + break label$24; + } + $292_1 = HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $296_1 = 77; + $366($285_1 | 0, $296_1 | 0, $292_1 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, $296_1 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) | 0; + break label$22; + } + $301_1 = 0; + HEAP32[($5_1 + 80 | 0) >> 2] = $301_1; + HEAP32[($5_1 + 84 | 0) >> 2] = $301_1; + } + $305_1 = 13; + $18(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 60 | 0) >> 2] = 0; + $314_1 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + $317_1 = (HEAP32[($314_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($314_1 + 44 | 0) >> 2] = $317_1; + HEAP32[($5_1 + 140 | 0) >> 2] = $317_1; + $318_1 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + $321_1 = (HEAP32[($318_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($318_1 + 44 | 0) >> 2] = $321_1; + HEAP32[($5_1 + 136 | 0) >> 2] = $321_1; + $322_1 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + $325_1 = (HEAP32[($322_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($322_1 + 44 | 0) >> 2] = $325_1; + HEAP32[($5_1 + 124 | 0) >> 2] = $325_1; + $326_1 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + $329_1 = (HEAP32[($326_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($326_1 + 44 | 0) >> 2] = $329_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $329_1; + $1298($5_1 + 176 | 0 | 0, $305_1 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0); + $1298($5_1 + 144 | 0 | 0, $305_1 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0); + $332_1 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1616((HEAPU8[(HEAP32[($5_1 + 228 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $1352($332_1 | 0, 1 | 0, 32182 | 0, $5_1 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($1296(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $367(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 13 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 132 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $1352(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, 1 | 0, 32193 | 0, 0 | 0); + $356_1 = 0; + $1210(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0, $5_1 + 176 | 0 | 0) | 0; + $1299(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($1296(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $367(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 13 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, $356_1 | 0, HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 12 | 0) >> 2] = $356_1; + $1352(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, 1 | 0, 32198 | 0, 0 | 0); + $1210(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, $5_1 + 144 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + $1299(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1715(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, $5_1 + 176 | 0 | 0, HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + label$27 : { + if ((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (133 | 0) & 1 | 0) { + break label$27 + } + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (132 | 0) & 1 | 0)) { + break label$26 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1715(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, $5_1 + 144 | 0 | 0, HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + } + $838(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + label$28 : { + label$29 : { + label$30 : { + if ((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (134 | 0) & 1 | 0) { + break label$30 + } + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (135 | 0) & 1 | 0)) { + break label$29 + } + } + $448_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 108 | 0) >> 2] = $448_1; + HEAP32[($5_1 + 104 | 0) >> 2] = $448_1; + break label$28; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + $1282(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) | 0; + $465_1 = 16; + $468_1 = 16; + $471_1 = $1667(((HEAPU16[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $465_1 | 0) >> $465_1 | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $468_1 | 0) >> $468_1 | 0 | 0) | 0; + HEAP16[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 2 | 0) >> 1] = $471_1; + } + label$31 : { + label$32 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (135 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($5_1 + 100 | 0) >> 2] = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + $483_1 = 16; + $488_1 = 16; + label$33 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $483_1 | 0) >> $483_1 | 0 | 0) > (((HEAPU16[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $488_1 | 0) >> $488_1 | 0 | 0) & 1 | 0)) { + break label$33 + } + HEAP16[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 2 | 0) >> 1] = HEAPU16[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + } + break label$31; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0; + label$34 : { + label$35 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (133 | 0) & 1 | 0)) { + break label$35 + } + HEAP32[($5_1 + 92 | 0) >> 2] = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + break label$34; + } + label$36 : { + label$37 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (135 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[($5_1 + 92 | 0) >> 2] = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + HEAP32[($5_1 + 96 | 0) >> 2] = (HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 1 | 0; + break label$36; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $1282(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0; + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1296(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + label$38 : { + label$39 : { + if ((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (133 | 0) & 1 | 0) { + break label$39 + } + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (132 | 0) & 1 | 0)) { + break label$38 + } + } + $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) | 0; + } + $567_1 = 0; + $574_1 = 14; + $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, $574_1 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, $574_1 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, $574_1 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0); + $1278(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 85 | 0, $567_1 | 0, $567_1 | 0, $567_1 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, -15 | 0) | 0; + $1278(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 86 | 0, HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, -9 | 0) | 0; + $354(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0); + $367(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, 16 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + label$40 : { + if (!((HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != ($567_1 | 0) & 1 | 0)) { + break label$40 + } + $1139(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0); + } + HEAP32[((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($5_1 + 212 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($5_1 + 228 | 0) >> 2] | 0; + $1348(HEAP32[($5_1 + 232 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 236 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 232 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + } + $629_1 = HEAP32[($5_1 + 236 | 0) >> 2] | 0; + global$0 = $5_1 + 240 | 0; + return $629_1 | 0; + } + + function $1667($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $10_1 = 0, $19_1 = 0, $23_1 = 0, $35_1 = 0, $39_1 = 0, $50_1 = 0, $56_1 = 0, $60_1 = 0, $64_1 = 0, $73_1 = 0, $77_1 = 0, $89_1 = 0, $93_1 = 0, $104_1 = 0, $110_1 = 0, $114_1 = 0, $118_1 = 0, $127_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP16[($4_1 + 12 | 0) >> 1] = $0_1; + HEAP16[($4_1 + 10 | 0) >> 1] = $1_1; + $6_1 = 16; + $10_1 = 16; + label$1 : { + label$2 : { + if (!((((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) << $6_1 | 0) >> $6_1 | 0 | 0) >= (((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = 16; + $23_1 = 16; + label$3 : { + if (!((((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) > ((((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $23_1 | 0) >> $23_1 | 0) + 49 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP16[($4_1 + 14 | 0) >> 1] = HEAPU16[($4_1 + 12 | 0) >> 1] | 0; + break label$1; + } + $35_1 = 16; + $39_1 = 16; + label$4 : { + if (!((((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) << $35_1 | 0) >> $35_1 | 0 | 0) > ((((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $39_1 | 0) >> $39_1 | 0) + 31 | 0 | 0) & 1 | 0)) { + break label$4 + } + $50_1 = 16; + HEAP16[($4_1 + 14 | 0) >> 1] = (((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) << $50_1 | 0) >> $50_1 | 0) + 1 | 0; + break label$1; + } + $56_1 = 16; + $60_1 = 16; + $64_1 = 16; + HEAP16[($4_1 + 14 | 0) >> 1] = (((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) << $56_1 | 0) >> $56_1 | 0) + ((HEAPU8[(((((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) << $60_1 | 0) >> $60_1 | 0) - (((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $64_1 | 0) >> $64_1 | 0) | 0) + 32208 | 0) >> 0] | 0) & 255 | 0) | 0; + break label$1; + } + $73_1 = 16; + $77_1 = 16; + label$5 : { + if (!((((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $73_1 | 0) >> $73_1 | 0 | 0) > ((((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) << $77_1 | 0) >> $77_1 | 0) + 49 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP16[($4_1 + 14 | 0) >> 1] = HEAPU16[($4_1 + 10 | 0) >> 1] | 0; + break label$1; + } + $89_1 = 16; + $93_1 = 16; + label$6 : { + if (!((((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $89_1 | 0) >> $89_1 | 0 | 0) > ((((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) << $93_1 | 0) >> $93_1 | 0) + 31 | 0 | 0) & 1 | 0)) { + break label$6 + } + $104_1 = 16; + HEAP16[($4_1 + 14 | 0) >> 1] = (((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $104_1 | 0) >> $104_1 | 0) + 1 | 0; + break label$1; + } + $110_1 = 16; + $114_1 = 16; + $118_1 = 16; + HEAP16[($4_1 + 14 | 0) >> 1] = (((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $110_1 | 0) >> $110_1 | 0) + ((HEAPU8[(((((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $114_1 | 0) >> $114_1 | 0) - (((HEAPU16[($4_1 + 12 | 0) >> 1] | 0) << $118_1 | 0) >> $118_1 | 0) | 0) + 32208 | 0) >> 0] | 0) & 255 | 0) | 0; + } + $127_1 = 16; + return ((HEAPU16[($4_1 + 14 | 0) >> 1] | 0) << $127_1 | 0) >> $127_1 | 0 | 0; + } + + function $1668($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1668(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[$5_1 >> 2] = 0; + } + label$3 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1173(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + $47_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $47_1 | 0; + } + + function $1669($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1467(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $14_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $14_1 | 0; + } + + function $1670($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$4 + } + $1670(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $1670(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + break label$1; + } + label$5 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (53 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$6 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$6 + } + if (!($1243(HEAP32[$4_1 >> 2] | 0 | 0) | 0)) { + break label$6 + } + $1716(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + if (!(((HEAPU8[(HEAP32[$4_1 >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$1 + } + if (!($1243(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + $1716(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1671($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $59_1 = 0, $64_1 = 0, $73_1 = 0, $77_1 = 0, $81_1 = 0, $99_1 = 0, $105_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 9 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2] | 0; + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + break label$6; + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$6; + } + $59_1 = 16; + $64_1 = 16; + label$9 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $59_1 | 0) >> $59_1 | 0 | 0) != (((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $64_1 | 0) >> $64_1 | 0 | 0) & 1 | 0)) { + break label$9 + } + break label$6; + } + $73_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($73_1 + 8 | 0) >> 2] = (HEAP32[($73_1 + 8 | 0) >> 2] | 0) + 1 | 0; + $77_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($77_1 + 4 | 0) >> 2] = (HEAP32[($77_1 + 4 | 0) >> 2] | 0) & -8388609 | 0; + $81_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($81_1 + 4 | 0) >> 2] = HEAP32[($81_1 + 4 | 0) >> 2] | 0 | 8 | 0; + $99_1 = $1310(HEAP32[(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = $99_1; + break label$4; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + $105_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $105_1 | 0; + } + + function $1672($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1718(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $1718(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $1718(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $1719(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $1719(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $1719(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1673($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $1445(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 3 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $1674($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $103_1 = 0, i64toi32_i32$0 = 0, $273_1 = 0, $19_1 = 0, $58_1 = 0, $74_1 = 0, $122_1 = 0, $134_1 = 0, $152_1 = 0, $201_1 = 0, $205_1 = 0, $191_1 = 0, $192_1 = 0, $234_1 = 0, $239_1 = 0, $261_1 = 0, $270_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 96 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 84 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 92 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$3 + } + $19_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 36 | 0) >> 1] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP16[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 36 | 0) >> 1] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + if ((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0) { + break label$5 + } + $58_1 = 16; + label$6 : { + label$7 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $58_1 | 0) >> $58_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 0] = 119; + break label$6; + } + $74_1 = 16; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) + ((((HEAPU16[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $74_1 | 0) >> $74_1 | 0) << 4 | 0) | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!($1505(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + $1560(HEAP32[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + break label$8; + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + label$10 : { + if (!(HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$10 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$10 + } + $103_1 = $4_1 + 24 | 0; + i64toi32_i32$0 = 0; + $273_1 = 0; + i64toi32_i32$1 = $103_1; + HEAP32[i64toi32_i32$1 >> 2] = $273_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $273_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $103_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $273_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $103_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $273_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $103_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $273_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $103_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $273_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 24 | 0) >> 0] = 176; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 131072; + HEAP32[($4_1 + 76 | 0) >> 2] = $103_1; + } + $122_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1310(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, $122_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) != ($122_1 | 0) & 1 | 0)) { + break label$11 + } + if (!(HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$11 + } + $134_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + HEAP32[($134_1 + 4 | 0) >> 2] = HEAP32[($134_1 + 4 | 0) >> 2] | 0 | 1048576 | 0; + } + label$12 : { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$12 + } + $152_1 = 16; + $1636(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 36 | 0) >> 1] | 0) << $152_1 | 0) >> $152_1 | 0 | 0); + } + $18(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + label$13 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$14 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (111 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1173(HEAP32[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $191_1 = HEAP32[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + $192_1 = HEAP32[($4_1 + 84 | 0) >> 2] | 0; + label$15 : { + label$16 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $201_1 = HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + break label$15; + } + $201_1 = 5191; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1606($191_1 | 0, $192_1 | 0, $201_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + $205_1 = HEAP32[($4_1 + 84 | 0) >> 2] | 0; + HEAP32[($205_1 + 4 | 0) >> 2] = (HEAP32[($205_1 + 4 | 0) >> 2] | 0) & -257 | 0; + } + } + } + break label$4; + } + label$17 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (176 | 0) & 1 | 0)) { + break label$17 + } + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $234_1 = $1674(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] = $234_1; + $239_1 = $1674(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 2] = $239_1; + label$18 : { + label$19 : { + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$19 + } + $1661(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, 1 | 0); + break label$18; + } + $1712(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + label$20 : { + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0)) { + break label$20 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $261_1 = $1674(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = $261_1; + $1712(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $1712(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 84 | 0) >> 2] | 0; + } + $270_1 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + global$0 = $4_1 + 96 | 0; + return $270_1 | 0; + } + + function $1675($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1173(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $18_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $18_1 | 0; + } + + function $1676($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0; + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] = 0; + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 1] = 3; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = 0; + return; + } + + function $1677($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0; + $4_1 = global$0 - 16 | 0; + $6_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 9 | 0) >> 0] = 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 8; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0; + return; + } + + function $1678($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP8[($5_1 + 7 | 0) >> 0] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1527(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] = HEAPU8[($5_1 + 7 | 0) >> 0] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!(((HEAPU8[(HEAP32[$5_1 >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[($5_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $1720(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 & 65535 | 0 | 0) | 0; + break label$1; + } + $1678(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0); + $1678(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1679($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $10_1 = 0, $5_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $8_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0; + $9_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $10_1 = HEAP32[($9_1 + 4 | 0) >> 2] | 0; + HEAP32[($9_1 + 4 | 0) >> 2] = $10_1 + 1 | 0; + HEAP32[($8_1 + ($10_1 << 2 | 0) | 0) >> 2] = $5_1; + return; + } + + function $1680($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $86_1 = 0, $27_1 = 0, $40_1 = 0, $48_1 = 0, $73_1 = 0, $99_1 = 0, $103_1 = 0, $81_1 = 0, $83_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if ((((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0) { + break label$2 + } + break label$1; + } + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + $27_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $27_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $27_1; + label$4 : while (1) { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$5 : while (1) { + $40_1 = 16; + $48_1 = 0; + label$6 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + $48_1 = (((HEAPU16[(((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0 | 0) == (0 | 0); + } + label$7 : { + if (!($48_1 & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + $73_1 = 16; + label$8 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) >= (((HEAPU16[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $73_1 | 0) >> $73_1 | 0 | 0) & 1 | 0)) { + break label$8 + } + $81_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $83_1 = HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $83_1; + $349($81_1 | 0, 32308 | 0, $5_1 | 0); + break label$1; + } + $86_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1218(HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, 164 | 0, $86_1 | 0, $86_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == ($86_1 | 0) & 1 | 0)) { + break label$9 + } + break label$1; + } + $99_1 = 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $103_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $103_1 + 1 | 0; + HEAP16[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 1] = $103_1; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 171 | 0, $1310(HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, $99_1 | 0) | 0 | 0, $99_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$10 + } + $1636(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + } + $1720(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1681($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + $1721(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1682($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $21_1 = 0, $18_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = 0; + $21_1 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[$3_1 >> 2] = $21_1; + HEAP32[($3_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = $3_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $21_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $3_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $21_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($3_1 + 20 | 0) >> 1] = 1; + HEAP32[($3_1 + 4 | 0) >> 2] = 70; + HEAP32[($3_1 + 8 | 0) >> 2] = 51; + $1547($3_1 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $18_1 = (HEAPU16[($3_1 + 20 | 0) >> 1] | 0) & 65535 | 0; + global$0 = $3_1 + 32 | 0; + return $18_1 | 0; + } + + function $1683($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $66_1 = 0, i64toi32_i32$0 = 0, $146_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1527(HEAP32[(((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + break label$5; + } + label$7 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $66_1 = 16; + if (!((((HEAPU16[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $66_1 | 0) >> $66_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + label$10 : { + label$11 : { + if ((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0) { + break label$11 + } + break label$10; + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$0 = -1; + label$14 : { + if (!((0 | 0) == ($1723(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0, i64toi32_i32$0 | 0, 2 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + if (!(($1724(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$15 + } + break label$12; + } + label$16 : { + if ($1725(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$16 + } + break label$12; + } + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + label$17 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == ((HEAPU16[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$9; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $146_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $146_1 | 0; + } + + function $1684($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $32_1 = 0, $216$hi = 0, i64toi32_i32$3 = 0, $26_1 = 0, $55_1 = 0, $18_1 = 0, $19_1 = 0, $217$hi = 0, $218$hi = 0, $220$hi = 0, $165_1 = 0, $182_1 = 0, $217_1 = 0, $566_1 = 0, $211_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$2 + } + HEAP32[($3_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$3 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($3_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $26_1 = 1; + label$4 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> $26_1 | 0) & $26_1 | 0) & 255 | 0)) { + break label$4 + } + HEAP32[($3_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $32_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 80 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] = $32_1; + HEAP16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1723(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0, 0 | 0, i64toi32_i32$0 | 0, 130 | 0, $32_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != ($32_1 | 0) & 1 | 0)) { + break label$6 + } + $55_1 = 1; + HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] = 4353; + HEAP32[(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 1] = $55_1; + HEAP16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 1] = $55_1; + HEAP16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 1] = 33; + break label$5; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + label$10 : { + label$11 : { + if (!((HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + if ((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$11 + } + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$10 + } + } + break label$9; + } + $18_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = (((HEAPU8[($18_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($18_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 3 | 0) & 1 | 0) & 65535 | 0 ? 130 : 2; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1723(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0, HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + break label$12; + } + HEAP32[((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + label$15 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != ((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$15 + } + break label$9; + } + HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] = 4609; + $19_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + label$16 : { + label$17 : { + if ((((HEAPU8[($19_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($19_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 5 | 0) & 1 | 0) & 65535 | 0) { + break label$17 + } + i64toi32_i32$0 = 0; + $216$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $217_1 = i64toi32_i32$0; + $217$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + $218$hi = i64toi32_i32$0; + i64toi32_i32$0 = $217$hi; + i64toi32_i32$0 = $218$hi; + $566_1 = i64toi32_i32$1; + i64toi32_i32$0 = $217$hi; + i64toi32_i32$2 = $217_1; + i64toi32_i32$1 = $218$hi; + i64toi32_i32$3 = $566_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $220$hi = i64toi32_i32$1; + i64toi32_i32$1 = $216$hi; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$1 = $216$hi; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $216$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$16 + } + } + $165_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($165_1 + 36 | 0) >> 2] = HEAP32[($165_1 + 36 | 0) >> 2] | 0 | 64 | 0; + } + HEAP16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 1] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 1] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 1] = 39; + break label$7; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$8; + }; + } + } + label$18 : { + if (!(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$18 + } + $182_1 = 1; + i64toi32_i32$0 = 0; + HEAP16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 22 | 0) >> 1] = $182_1; + HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 824 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 756 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP16[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 50 | 0) >> 1] = $182_1; + label$19 : { + if (!((HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + HEAP8[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 45 | 0) >> 0] = HEAP32[(HEAP32[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; + } + label$20 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$20 + } + HEAP8[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 47 | 0) >> 0] = 1; + } + HEAP32[($3_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 44 | 0) >> 2] = 0; + } + $211_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $211_1 | 0; + } + + function $1685($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $130$hi = 0, $4_1 = 0, $125_1 = 0, $39_1 = 0, $132$hi = 0, $134$hi = 0, $137$hi = 0, $138$hi = 0, $140$hi = 0, $141$hi = 0, $142$hi = 0, $266_1 = 0, $282_1 = 0, $134_1 = 0, $351$hi = 0, $355_1 = 0, $137_1 = 0, $371_1 = 0, $140_1 = 0, $406_1 = 0, $142_1 = 0, $416$hi = 0, $420_1 = 0, $122_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 80 | 0; + global$0 = $3_1; + $4_1 = 0; + i64toi32_i32$0 = 0; + $125_1 = 0; + HEAP32[($3_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 64 | 0) >> 2] = $125_1; + HEAP32[($3_1 + 68 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 56 | 0) >> 2] = $125_1; + HEAP32[($3_1 + 60 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 40 | 0) >> 2] = ((HEAP32[($3_1 + 48 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0, 72) | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($3_1 + 72 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 32 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $1676(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] = 2e4; + HEAP32[($3_1 + 52 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 44 | 0) >> 2] = (HEAP32[($3_1 + 48 | 0) >> 2] | 0) + 8 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 44 | 0) >> 2] | 0) >>> 0 < (HEAP32[($3_1 + 40 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + $39_1 = HEAP32[($3_1 + 76 | 0) >> 2] | 0; + HEAP32[($39_1 + 24 | 0) >> 2] = (HEAP32[($39_1 + 24 | 0) >> 2] | 0) + 1e3 | 0; + i64toi32_i32$0 = $1726((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 488 | 0 | 0, HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $266_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $266_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 10 | 0)) { + break label$4 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + $282_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 64 | 0) >> 2] = $282_1; + HEAP32[($3_1 + 68 | 0) >> 2] = i64toi32_i32$0; + break label$3; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 64 | 0) >> 2] = 0; + HEAP32[($3_1 + 68 | 0) >> 2] = i64toi32_i32$0; + } + label$5 : { + label$6 : { + if (!(HEAP32[((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 72 | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[($3_1 + 40 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = 0; + $130$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $132$hi = i64toi32_i32$1; + i64toi32_i32$1 = $130$hi; + i64toi32_i32$1 = $132$hi; + i64toi32_i32$1 = $130$hi; + i64toi32_i32$1 = $132$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $130$hi; + i64toi32_i32$3 = 0; + label$9 : { + label$10 : { + if (((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$10 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 10 | 0)) { + break label$9 + } + } + i64toi32_i32$2 = $1726((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 488 | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $134_1 = i64toi32_i32$2; + $134$hi = i64toi32_i32$1; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $351$hi = i64toi32_i32$2; + i64toi32_i32$2 = $134$hi; + i64toi32_i32$2 = $351$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $134$hi; + i64toi32_i32$0 = $134_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $355_1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $355_1; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0; + continue label$8; + }; + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + $137_1 = i64toi32_i32$1; + $137$hi = i64toi32_i32$3; + i64toi32_i32$2 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $138$hi = i64toi32_i32$1; + i64toi32_i32$1 = $137$hi; + i64toi32_i32$1 = $138$hi; + $371_1 = i64toi32_i32$3; + i64toi32_i32$1 = $137$hi; + i64toi32_i32$3 = $138$hi; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1727(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, $137_1 | 0, i64toi32_i32$1 | 0, $371_1 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1728(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + if (HEAP32[($3_1 + 32 | 0) >> 2] | 0) { + break label$11 + } + if (!((HEAPU8[((HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 9 | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + $140_1 = i64toi32_i32$1; + $140$hi = i64toi32_i32$3; + i64toi32_i32$2 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $141$hi = i64toi32_i32$1; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$1 = $141$hi; + $406_1 = i64toi32_i32$3; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$3 = $141$hi; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1729(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, $140_1 | 0, i64toi32_i32$1 | 0, $406_1 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$2 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $142_1 = i64toi32_i32$3; + $142$hi = i64toi32_i32$1; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + $416$hi = i64toi32_i32$3; + i64toi32_i32$3 = $142$hi; + i64toi32_i32$3 = $416$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $142$hi; + i64toi32_i32$0 = $142_1; + i64toi32_i32$1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + $420_1 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 56 | 0) >> 2] = $420_1; + HEAP32[($3_1 + 60 | 0) >> 2] = i64toi32_i32$1; + label$12 : { + label$13 : { + if (HEAP32[($3_1 + 32 | 0) >> 2] | 0) { + break label$13 + } + if (!((HEAPU8[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$12 + } + } + label$14 : { + label$15 : { + if (!((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$15 + } + $82(28 | 0, 32449 | 0, 0 | 0); + HEAP32[($3_1 + 32 | 0) >> 2] = 0; + break label$14; + } + break label$1; + } + } + HEAP32[($3_1 + 52 | 0) >> 2] = (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 44 | 0) >> 2] = (HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 72 | 0; + continue label$2; + }; + } + $1730(HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + $122_1 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + global$0 = $3_1 + 80 | 0; + return $122_1 | 0; + } + + function $1686($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $1010_1 = 0, $83_1 = 0, $1011$hi = 0, $1019$hi = 0, $1029$hi = 0, $1030$hi = 0, $6_1 = 0, $7_1 = 0, $23_1 = 0, $44_1 = 0, $136_1 = 0, $150_1 = 0, $162_1 = 0, $1011_1 = 0, $1012$hi = 0, $1013$hi = 0, $1014$hi = 0, $1015$hi = 0, $1017$hi = 0, $1020$hi = 0, $1021$hi = 0, $1023$hi = 0, $199_1 = 0, $212_1 = 0, $217_1 = 0, $221_1 = 0, $224_1 = 0, $231_1 = 0, $234_1 = 0, $240_1 = 0, $245_1 = 0, $1025$hi = 0, $1026$hi = 0, $252_1 = 0, $279_1 = 0, $288_1 = 0, $299_1 = 0, $306_1 = 0, $313_1 = 0, $316_1 = 0, $322_1 = 0, $331_1 = 0, $338_1 = 0, $341_1 = 0, $345_1 = 0, $352_1 = 0, $372_1 = 0, $376_1 = 0, $403_1 = 0, $407_1 = 0, $416_1 = 0, $420_1 = 0, $429_1 = 0, $433_1 = 0, $448_1 = 0, $459_1 = 0, $463_1 = 0, $473_1 = 0, $477_1 = 0, $487_1 = 0, $491_1 = 0, $501_1 = 0, $505_1 = 0, $515_1 = 0, $519_1 = 0, $1033$hi = 0, $1034$hi = 0, $578_1 = 0, $582_1 = 0, $592_1 = 0, $596_1 = 0, $606_1 = 0, $610_1 = 0, $662_1 = 0, $671_1 = 0, $708_1 = 0, $746_1 = 0, $774_1 = 0, $789_1 = 0, $808_1 = 0, $829_1 = 0, $893_1 = 0, $905_1 = 0, $914_1 = 0, $928_1 = 0, $940_1 = 0, $983_1 = 0, $995_1 = 0, $1012_1 = 0, $1448_1 = 0, $1020_1 = 0, $1469_1 = 0, $1025_1 = 0, $1611_1 = 0, $1614_1 = 0, $1674_1 = 0, $319_1 = 0, $1029_1 = 0, $1873_1 = 0, $1033_1 = 0, $2210_1 = 0, $2215_1 = 0, $2221_1 = 0, $2870_1 = 0, $3039_1 = 0, $3225_1 = 0, $1006_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 176 | 0; + global$0 = $4_1; + $6_1 = 0; + $7_1 = 0; + HEAP32[($4_1 + 168 | 0) >> 2] = $0_1; + HEAP16[($4_1 + 166 | 0) >> 1] = $1_1; + HEAP32[($4_1 + 132 | 0) >> 2] = $6_1; + HEAP16[($4_1 + 126 | 0) >> 1] = $7_1; + HEAP16[($4_1 + 124 | 0) >> 1] = $7_1; + HEAP32[($4_1 + 88 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 152 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 168 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 148 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 152 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 156 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$2 + } + $23_1 = 1; + break label$1; + } + $23_1 = (HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0 ? 5 : 10; + } + HEAP32[($4_1 + 160 | 0) >> 2] = $23_1; + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + $44_1 = 16; + if (((HEAPU16[($4_1 + 166 | 0) >> 1] | 0) << $44_1 | 0) >> $44_1 | 0) { + break label$4 + } + } + HEAP32[($4_1 + 128 | 0) >> 2] = 0; + break label$3; + } + HEAP32[($4_1 + 128 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; + } + HEAP32[($4_1 + 80 | 0) >> 2] = Math_imul(((HEAP32[($4_1 + 156 | 0) >> 2] | 0) << 2 | 0) + 32 | 0, HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 1 | 0; + HEAP32[($4_1 + 80 | 0) >> 2] = (HEAP32[($4_1 + 80 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 128 | 0) >> 2] | 0) << 1 | 0) | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $365(HEAP32[($4_1 + 148 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 172 | 0) >> 2] = 7; + break label$6; + } + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[($4_1 + 84 | 0) >> 2] | 0; + HEAP32[($4_1 + 112 | 0) >> 2] = (HEAP32[($4_1 + 108 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 5 | 0) | 0; + $83_1 = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $1010_1 = 0; + i64toi32_i32$1 = $83_1; + HEAP32[i64toi32_i32$1 >> 2] = $1010_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1010_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $83_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1010_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $83_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1010_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 92 | 0) >> 2] = (HEAP32[($4_1 + 112 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 5 | 0) | 0; + HEAP32[($4_1 + 140 | 0) >> 2] = (HEAP32[($4_1 + 160 | 0) >> 2] | 0) << 1 | 0; + HEAP32[($4_1 + 104 | 0) >> 2] = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + HEAP32[($4_1 + 140 | 0) >> 2] = (HEAP32[($4_1 + 140 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 104 | 0) >> 2] = (HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 32 | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = (HEAP32[($4_1 + 92 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 156 | 0) >> 2] | 0) << 2 | 0) | 0; + continue label$9; + }; + } + label$10 : { + if (!(HEAP32[($4_1 + 128 | 0) >> 2] | 0)) { + break label$10 + } + HEAP32[($4_1 + 88 | 0) >> 2] = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + $3289(HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($4_1 + 128 | 0) >> 2] | 0) << 1 | 0 | 0) | 0; + } + label$11 : { + label$12 : { + if (!((HEAP32[((HEAP32[($4_1 + 152 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0) >>> 0 < 48 >>> 0 & 1 | 0)) { + break label$12 + } + $136_1 = HEAP32[((HEAP32[($4_1 + 152 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0; + break label$11; + } + $136_1 = 48; + } + HEAP16[((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 16 | 0) >> 1] = $136_1; + HEAP32[($4_1 + 116 | 0) >> 2] = 1; + label$13 : { + if (!(HEAP32[($4_1 + 128 | 0) >> 2] | 0)) { + break label$13 + } + label$14 : { + label$15 : { + if (!((HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$15 + } + $150_1 = -1; + break label$14; + } + $150_1 = HEAP32[($4_1 + 128 | 0) >> 2] | 0; + } + HEAP8[((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 22 | 0) >> 0] = $150_1; + } + HEAP32[($4_1 + 144 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $162_1 = 0; + HEAP32[($4_1 + 120 | 0) >> 2] = $162_1; + HEAP32[($4_1 + 140 | 0) >> 2] = $162_1; + HEAP32[($4_1 + 104 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + i64toi32_i32$0 = 0; + $1011_1 = 0; + $1011$hi = i64toi32_i32$0; + HEAP8[($4_1 + 73 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1011_1; + HEAP32[($4_1 + 60 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1012_1 = i64toi32_i32$0; + $1012$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1013$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $1014$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1013$hi; + i64toi32_i32$0 = $1014$hi; + i64toi32_i32$0 = $1013$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $1014$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0; + $1015$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1012$hi; + i64toi32_i32$1 = $1015$hi; + $1448_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$1 = $1012$hi; + i64toi32_i32$0 = $1012_1; + i64toi32_i32$2 = $1015$hi; + i64toi32_i32$3 = $1448_1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $1017$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1011$hi; + i64toi32_i32$2 = $1017$hi; + i64toi32_i32$2 = $1011$hi; + i64toi32_i32$2 = $1017$hi; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $1011$hi; + i64toi32_i32$3 = $1011_1; + label$22 : { + label$23 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$23 + } + break label$22; + } + i64toi32_i32$1 = 0; + $1019$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $1020_1 = i64toi32_i32$1; + $1020$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $1021$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1020$hi; + i64toi32_i32$1 = $1021$hi; + $1469_1 = i64toi32_i32$2; + i64toi32_i32$1 = $1020$hi; + i64toi32_i32$3 = $1020_1; + i64toi32_i32$2 = $1021$hi; + i64toi32_i32$0 = $1469_1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $1023$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1019$hi; + i64toi32_i32$2 = $1023$hi; + i64toi32_i32$2 = $1019$hi; + i64toi32_i32$2 = $1023$hi; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + i64toi32_i32$3 = $1019$hi; + i64toi32_i32$0 = 0; + label$24 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$24 + } + break label$22; + } + label$25 : { + if (!((HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 16384 | 0)) { + break label$25 + } + $199_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $199_1 | 0) >> $199_1 | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$25 + } + break label$22; + } + $212_1 = 16; + $217_1 = 16; + $221_1 = 16; + $224_1 = 16; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1667(((HEAPU16[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $221_1 | 0) >> $221_1 | 0 | 0, (((((HEAPU16[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $212_1 | 0) >> $212_1 | 0) + (((HEAPU16[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $217_1 | 0) >> $217_1 | 0) | 0) << $224_1 | 0) >> $224_1 | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 74 | 0) >> 1] = wasm2js_i32$1; + $231_1 = 16; + $234_1 = 16; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1667(((HEAPU16[($4_1 + 74 | 0) >> 1] | 0) << $231_1 | 0) >> $231_1 | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $234_1 | 0) >> $234_1 | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 74 | 0) >> 1] = wasm2js_i32$1; + $240_1 = 16; + $245_1 = 16; + HEAP16[($4_1 + 78 | 0) >> 1] = (((HEAPU16[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $240_1 | 0) >> $240_1 | 0) + (((HEAPU16[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $245_1 | 0) >> $245_1 | 0) | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $1025_1 = i64toi32_i32$1; + $1025$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $1026$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1025$hi; + i64toi32_i32$1 = $1026$hi; + $1611_1 = i64toi32_i32$2; + i64toi32_i32$1 = $1025$hi; + i64toi32_i32$0 = $1025_1; + i64toi32_i32$2 = $1026$hi; + i64toi32_i32$3 = $1611_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $1614_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 64 | 0) >> 2] = $1614_1; + HEAP32[($4_1 + 68 | 0) >> 2] = i64toi32_i32$2; + $252_1 = 24; + label$26 : { + label$27 : { + if (!((((HEAPU8[($4_1 + 73 | 0) >> 0] | 0) << $252_1 | 0) >> $252_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$27 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1731(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0 | 0, (HEAP32[($4_1 + 144 | 0) >> 2] | 0) & 65535 | 0 | 0, HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, $4_1 + 56 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 73 | 0) >> 0] = wasm2js_i32$1; + break label$26; + } + i64toi32_i32$1 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $1674_1 = i64toi32_i32$2; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1674_1; + HEAP32[($4_1 + 60 | 0) >> 2] = i64toi32_i32$0; + } + $279_1 = 24; + label$28 : { + label$29 : { + if (!((((HEAPU8[($4_1 + 73 | 0) >> 0] | 0) << $279_1 | 0) >> $279_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$29 + } + $288_1 = 24; + if (!((((HEAPU8[($4_1 + 73 | 0) >> 0] | 0) << $288_1 | 0) >> $288_1 | 0 | 0) < (HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + $299_1 = 24; + $306_1 = 16; + label$30 : { + if (((HEAPU16[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + ((((HEAPU8[($4_1 + 73 | 0) >> 0] | 0) << $299_1 | 0) >> $299_1 | 0) << 1 | 0) | 0) >> 1] | 0) << $306_1 | 0) >> $306_1 | 0) { + break label$30 + } + $313_1 = 24; + $316_1 = 16; + $319_1 = $1732(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, ((HEAPU16[($4_1 + 166 | 0) >> 1] | 0) << $316_1 | 0) >> $316_1 | 0 | 0, HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, ((HEAPU8[($4_1 + 73 | 0) >> 0] | 0) << $313_1 | 0) >> $313_1 | 0 | 0) | 0; + $322_1 = 24; + HEAP16[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + ((((HEAPU8[($4_1 + 73 | 0) >> 0] | 0) << $322_1 | 0) >> $322_1 | 0) << 1 | 0) | 0) >> 1] = $319_1; + } + $331_1 = 24; + $338_1 = 16; + $341_1 = 16; + $345_1 = 16; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ((($1667(((HEAPU16[($4_1 + 74 | 0) >> 1] | 0) << $338_1 | 0) >> $338_1 | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + ((((HEAPU8[($4_1 + 73 | 0) >> 0] | 0) << $331_1 | 0) >> $331_1 | 0) << 1 | 0) | 0) >> 1] | 0) << $341_1 | 0) >> $341_1 | 0 | 0) | 0) << $345_1 | 0) >> $345_1 | 0) + 5 | 0), HEAP16[(wasm2js_i32$0 + 76 | 0) >> 1] = wasm2js_i32$1; + break label$28; + } + HEAP16[($4_1 + 76 | 0) >> 1] = HEAPU16[($4_1 + 74 | 0) >> 1] | 0; + $352_1 = 16; + HEAP16[($4_1 + 74 | 0) >> 1] = (((HEAPU16[($4_1 + 74 | 0) >> 1] | 0) << $352_1 | 0) >> $352_1 | 0) - 2 | 0; + } + HEAP32[($4_1 + 136 | 0) >> 2] = 0; + HEAP32[($4_1 + 100 | 0) >> 2] = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + label$31 : { + label$32 : while (1) { + if (!((HEAP32[($4_1 + 136 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$31 + } + i64toi32_i32$1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $1029_1 = i64toi32_i32$0; + $1029$hi = i64toi32_i32$2; + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + $1030$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1029$hi; + i64toi32_i32$0 = $1030$hi; + i64toi32_i32$0 = $1029$hi; + i64toi32_i32$0 = $1030$hi; + $1873_1 = i64toi32_i32$2; + i64toi32_i32$0 = $1029$hi; + i64toi32_i32$1 = $1029_1; + i64toi32_i32$2 = $1030$hi; + i64toi32_i32$3 = $1873_1; + label$33 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$33 + } + $372_1 = 24; + $376_1 = 24; + if (((((HEAPU8[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) << $372_1 | 0) >> $372_1 | 0) ^ (((HEAPU8[($4_1 + 73 | 0) >> 0] | 0) << $376_1 | 0) >> $376_1 | 0) | 0) & 128 | 0) { + break label$33 + } + break label$31; + } + HEAP32[($4_1 + 136 | 0) >> 2] = (HEAP32[($4_1 + 136 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 100 | 0) >> 2] = (HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0; + continue label$32; + }; + } + label$34 : { + label$35 : { + if (!((HEAP32[($4_1 + 136 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$35 + } + label$36 : { + if (!((HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$36 + } + $403_1 = 16; + $407_1 = 16; + label$37 : { + if ((((HEAPU16[($4_1 + 76 | 0) >> 1] | 0) << $403_1 | 0) >> $403_1 | 0 | 0) > (((HEAPU16[($4_1 + 126 | 0) >> 1] | 0) << $407_1 | 0) >> $407_1 | 0 | 0) & 1 | 0) { + break label$37 + } + $416_1 = 16; + $420_1 = 16; + if (!((((HEAPU16[($4_1 + 76 | 0) >> 1] | 0) << $416_1 | 0) >> $416_1 | 0 | 0) == (((HEAPU16[($4_1 + 126 | 0) >> 1] | 0) << $420_1 | 0) >> $420_1 | 0 | 0) & 1 | 0)) { + break label$36 + } + $429_1 = 16; + $433_1 = 16; + if (!((((HEAPU16[($4_1 + 74 | 0) >> 1] | 0) << $429_1 | 0) >> $429_1 | 0 | 0) >= (((HEAPU16[($4_1 + 124 | 0) >> 1] | 0) << $433_1 | 0) >> $433_1 | 0 | 0) & 1 | 0)) { + break label$36 + } + } + break label$22; + } + label$38 : { + label$39 : { + if (!((HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$39 + } + $448_1 = HEAP32[($4_1 + 120 | 0) >> 2] | 0; + HEAP32[($4_1 + 120 | 0) >> 2] = $448_1 + 1 | 0; + HEAP32[($4_1 + 136 | 0) >> 2] = $448_1; + break label$38; + } + HEAP32[($4_1 + 136 | 0) >> 2] = HEAP32[($4_1 + 132 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 100 | 0) >> 2] = (HEAP32[($4_1 + 108 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 136 | 0) >> 2] | 0) << 5 | 0) | 0; + break label$34; + } + $459_1 = 16; + $463_1 = 16; + label$40 : { + label$41 : { + if ((((HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $459_1 | 0) >> $459_1 | 0 | 0) < (((HEAPU16[($4_1 + 76 | 0) >> 1] | 0) << $463_1 | 0) >> $463_1 | 0 | 0) & 1 | 0) { + break label$41 + } + $473_1 = 16; + $477_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $473_1 | 0) >> $473_1 | 0 | 0) == (((HEAPU16[($4_1 + 76 | 0) >> 1] | 0) << $477_1 | 0) >> $477_1 | 0 | 0) & 1 | 0)) { + break label$40 + } + $487_1 = 16; + $491_1 = 16; + if ((((HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $487_1 | 0) >> $487_1 | 0 | 0) < (((HEAPU16[($4_1 + 78 | 0) >> 1] | 0) << $491_1 | 0) >> $491_1 | 0 | 0) & 1 | 0) { + break label$41 + } + $501_1 = 16; + $505_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $501_1 | 0) >> $501_1 | 0 | 0) == (((HEAPU16[($4_1 + 78 | 0) >> 1] | 0) << $505_1 | 0) >> $505_1 | 0 | 0) & 1 | 0)) { + break label$40 + } + $515_1 = 16; + $519_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $515_1 | 0) >> $515_1 | 0 | 0) <= (((HEAPU16[($4_1 + 74 | 0) >> 1] | 0) << $519_1 | 0) >> $519_1 | 0 | 0) & 1 | 0)) { + break label$40 + } + } + break label$22; + } + } + i64toi32_i32$3 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $1033_1 = i64toi32_i32$1; + $1033$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $1034$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1033$hi; + i64toi32_i32$1 = $1034$hi; + $2210_1 = i64toi32_i32$0; + i64toi32_i32$1 = $1033$hi; + i64toi32_i32$3 = $1033_1; + i64toi32_i32$0 = $1034$hi; + i64toi32_i32$2 = $2210_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $2215_1 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $2215_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + $2221_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $2221_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$3; + HEAP16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 1] = HEAPU16[($4_1 + 78 | 0) >> 1] | 0; + HEAP16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 18 | 0) >> 1] = HEAPU16[($4_1 + 76 | 0) >> 1] | 0; + HEAP16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 1] = HEAPU16[($4_1 + 74 | 0) >> 1] | 0; + HEAP8[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 22 | 0) >> 0] = HEAPU8[($4_1 + 73 | 0) >> 0] | 0; + $3288(HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 144 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 144 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + label$42 : { + if (!((HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$42 + } + HEAP32[($4_1 + 132 | 0) >> 2] = 0; + HEAP16[($4_1 + 126 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0; + HEAP16[($4_1 + 124 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0; + HEAP32[($4_1 + 136 | 0) >> 2] = 1; + HEAP32[($4_1 + 100 | 0) >> 2] = (HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 32 | 0; + label$43 : { + label$44 : while (1) { + if (!((HEAP32[($4_1 + 136 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$43 + } + $578_1 = 16; + $582_1 = 16; + label$45 : { + label$46 : { + if ((((HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $578_1 | 0) >> $578_1 | 0 | 0) > (((HEAPU16[($4_1 + 126 | 0) >> 1] | 0) << $582_1 | 0) >> $582_1 | 0 | 0) & 1 | 0) { + break label$46 + } + $592_1 = 16; + $596_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $592_1 | 0) >> $592_1 | 0 | 0) == (((HEAPU16[($4_1 + 126 | 0) >> 1] | 0) << $596_1 | 0) >> $596_1 | 0 | 0) & 1 | 0)) { + break label$45 + } + $606_1 = 16; + $610_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $606_1 | 0) >> $606_1 | 0 | 0) > (((HEAPU16[($4_1 + 124 | 0) >> 1] | 0) << $610_1 | 0) >> $610_1 | 0 | 0) & 1 | 0)) { + break label$45 + } + } + HEAP16[($4_1 + 126 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0; + HEAP16[($4_1 + 124 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0; + HEAP32[($4_1 + 132 | 0) >> 2] = HEAP32[($4_1 + 136 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 136 | 0) >> 2] = (HEAP32[($4_1 + 136 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 100 | 0) >> 2] = (HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0; + continue label$44; + }; + } + } + } + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$21; + }; + } + HEAP32[($4_1 + 140 | 0) >> 2] = (HEAP32[($4_1 + 140 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 104 | 0) >> 2] = (HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 32 | 0; + continue label$19; + }; + } + HEAP32[($4_1 + 104 | 0) >> 2] = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + HEAP32[($4_1 + 112 | 0) >> 2] = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + HEAP32[($4_1 + 116 | 0) >> 2] = HEAP32[($4_1 + 120 | 0) >> 2] | 0; + HEAP32[($4_1 + 144 | 0) >> 2] = (HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + label$47 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$47 + } + $349(HEAP32[($4_1 + 152 | 0) >> 2] | 0 | 0, 32510 | 0, 0 | 0); + $23(HEAP32[($4_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 172 | 0) >> 2] = 1; + break label$6; + } + HEAP32[($4_1 + 104 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + HEAP32[($4_1 + 140 | 0) >> 2] = 1; + label$48 : { + label$49 : while (1) { + if (!((HEAP32[($4_1 + 140 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$48 + } + $662_1 = 16; + $671_1 = 16; + label$50 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $662_1 | 0) >> $662_1 | 0 | 0) > (((HEAPU16[(((HEAP32[($4_1 + 112 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 140 | 0) >> 2] | 0) << 5 | 0) | 0) + 18 | 0) >> 1] | 0) << $671_1 | 0) >> $671_1 | 0 | 0) & 1 | 0)) { + break label$50 + } + HEAP32[($4_1 + 104 | 0) >> 2] = (HEAP32[($4_1 + 112 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 140 | 0) >> 2] | 0) << 5 | 0) | 0; + } + HEAP32[($4_1 + 140 | 0) >> 2] = (HEAP32[($4_1 + 140 | 0) >> 2] | 0) + 1 | 0; + continue label$49; + }; + } + HEAP32[($4_1 + 144 | 0) >> 2] = 0; + label$51 : { + label$52 : while (1) { + if (!((HEAP32[($4_1 + 144 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$51 + } + HEAP32[($4_1 + 52 | 0) >> 2] = ((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 752 | 0) + Math_imul(HEAP32[($4_1 + 144 | 0) >> 2] | 0, 88) | 0; + $708_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 144 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 96 | 0) >> 2] = $708_1; + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 72 | 0) >> 2] = $708_1; + HEAP8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 52 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0; + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0, 72) | 0) + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 144 | 0) >> 2] = (HEAP32[($4_1 + 144 | 0) >> 2] | 0) + 1 | 0; + continue label$52; + }; + } + label$53 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$53 + } + if (((HEAPU16[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0) { + break label$53 + } + if ((HEAPU8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 47 | 0) >> 0] | 0) & 255 | 0) { + break label$53 + } + $746_1 = 16; + if (!(((HEAPU16[($4_1 + 166 | 0) >> 1] | 0) << $746_1 | 0) >> $746_1 | 0)) { + break label$53 + } + $774_1 = 24; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (($1731(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, 128 & 65535 | 0 | 0, ((HEAP32[($4_1 + 156 | 0) >> 2] | 0) - 1 | 0) & 65535 | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 156 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $4_1 + 40 | 0 | 0) | 0) << $774_1 | 0) >> $774_1 | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$54 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$54 + } + HEAP8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 47 | 0) >> 0] = 2; + } + } + $789_1 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + HEAP8[($789_1 + 48 | 0) >> 0] = (HEAPU8[($789_1 + 48 | 0) >> 0] | 0) & -5 | 0; + label$55 : { + if (!((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$55 + } + label$56 : { + label$57 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$57 + } + $808_1 = 24; + label$58 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) << $808_1 | 0) >> $808_1 | 0 | 0) == (HEAP32[(HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$58 + } + HEAP8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 47 | 0) >> 0] = 2; + } + break label$56; + } + HEAP8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 45 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $2870_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] = $2870_1; + HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] = i64toi32_i32$0; + $829_1 = 24; + label$59 : { + label$60 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 45 | 0) >> 0] | 0) << $829_1 | 0) >> $829_1 | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$60 + } + HEAP8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 45 | 0) >> 0] = 0; + label$61 : { + if (!((HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$61 + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 156 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$62 : { + if ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 4096 | 0) { + break label$62 + } + if (!(((HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 260 | 0 | 0) != (260 | 0) & 1 | 0)) { + break label$62 + } + i64toi32_i32$0 = 0; + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + $893_1 = 24; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (($1731(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, 2048 & 65535 | 0 | 0, ((HEAP32[($4_1 + 156 | 0) >> 2] | 0) - 1 | 0) & 65535 | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 156 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $4_1 + 24 | 0 | 0) | 0) << $893_1 | 0) >> $893_1 | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$63 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$63 + } + $905_1 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + HEAP8[($905_1 + 48 | 0) >> 0] = HEAPU8[($905_1 + 48 | 0) >> 0] | 0 | 4 | 0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $3039_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] = $3039_1; + HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] = i64toi32_i32$3; + } + } + } + break label$59; + } + label$64 : { + if (!(HEAP32[($4_1 + 156 | 0) >> 2] | 0)) { + break label$64 + } + $914_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 45 | 0) >> 0] | 0) << $914_1 | 0) >> $914_1 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$64 + } + if (!(((HEAPU16[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 3 | 0)) { + break label$64 + } + $928_1 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + HEAP8[($928_1 + 48 | 0) >> 0] = HEAPU8[($928_1 + 48 | 0) >> 0] | 0 | 4 | 0; + } + } + } + label$65 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 512 | 0)) { + break label$65 + } + $940_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 45 | 0) >> 0] | 0) << $940_1 | 0) >> $940_1 | 0 | 0) == (HEAP32[(HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$65 + } + if (!((HEAP32[($4_1 + 156 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$65 + } + i64toi32_i32$3 = 0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$3; + $983_1 = 24; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (($1731(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, 0 & 65535 | 0 | 0, ((HEAP32[($4_1 + 156 | 0) >> 2] | 0) - 1 | 0) & 65535 | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 156 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0) << $983_1 | 0) >> $983_1 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$66 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$66 + } + $995_1 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + HEAP8[($995_1 + 48 | 0) >> 0] = HEAPU8[($995_1 + 48 | 0) >> 0] | 0 | 8 | 0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $3225_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] = $3225_1; + HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] = i64toi32_i32$0; + } + } + } + HEAP16[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 50 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0; + $23(HEAP32[($4_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 172 | 0) >> 2] = 0; + } + $1006_1 = HEAP32[($4_1 + 172 | 0) >> 2] | 0; + global$0 = $4_1 + 176 | 0; + return $1006_1 | 0; + } + + function $1687($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $36$hi = 0, $36_1 = 0, $103$hi = 0, $107_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = $1733(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $36_1 = i64toi32_i32$0; + $36$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $103$hi = i64toi32_i32$0; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$0 = $103$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $107_1 = i64toi32_i32$2 | $36_1 | 0; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $107_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$2; + return i64toi32_i32$1 | 0; + } + + function $1688($0_1, $1_1, $2_1, $3_1, $3$hi, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $419_1 = 0, $8_1 = 0, $340_1 = 0, $498$hi = 0, $509$hi = 0, $525$hi = 0, $533$hi = 0, $542$hi = 0, $547$hi = 0, $556$hi = 0, $564$hi = 0, $384_1 = 0, $500$hi = 0, $504_1 = 0, $504$hi = 0, $505$hi = 0, $506$hi = 0, $98_1 = 0, $510$hi = 0, $511$hi = 0, $513$hi = 0, $111_1 = 0, $515$hi = 0, $122_1 = 0, $518$hi = 0, $519$hi = 0, $520$hi = 0, $521$hi = 0, $522$hi = 0, $523$hi = 0, $129_1 = 0, $138_1 = 0, $141_1 = 0, $526$hi = 0, $527$hi = 0, $528$hi = 0, $99_1 = 0, $529$hi = 0, $531$hi = 0, $534$hi = 0, $535$hi = 0, $537$hi = 0, $170_1 = 0, $179_1 = 0, $188_1 = 0, $542_1 = 0, $543$hi = 0, $544$hi = 0, $100_1 = 0, $548$hi = 0, $549$hi = 0, $551$hi = 0, $553$hi = 0, $253_1 = 0, $557$hi = 0, $558$hi = 0, $559$hi = 0, $101_1 = 0, $560$hi = 0, $562$hi = 0, $565$hi = 0, $566$hi = 0, $568$hi = 0, $309_1 = 0, $351_1 = 0, $352_1 = 0, $415_1 = 0, $462_1 = 0, $469_1 = 0, $497$hi = 0, $87_1 = 0, $510_1 = 0, $818_1 = 0, $108_1 = 0, $110_1 = 0, $515_1 = 0, $872$hi = 0, $876_1 = 0, $518_1 = 0, $911_1 = 0, $914_1 = 0, $525_1 = 0, $527_1 = 0, $548_1 = 0, $1169_1 = 0, $553_1 = 0, $1191$hi = 0, $1195_1 = 0, $556_1 = 0, $558_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 176 | 0; + global$0 = $7_1; + i64toi32_i32$0 = 0; + $497$hi = i64toi32_i32$0; + $8_1 = 0; + HEAP32[($7_1 + 172 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 168 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 164 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 152 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 156 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 148 | 0) >> 2] = $4_1; + HEAP8[($7_1 + 71 | 0) >> 0] = 0; + HEAP32[($7_1 + 64 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 128 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 172 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1276(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 17 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 144 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 120 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 164 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 136 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 48) | 0; + HEAP32[($7_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = $497$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 80 | 0) >> 2] = 0; + HEAP32[($7_1 + 84 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 140 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 136 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $498$hi = i64toi32_i32$0; + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 140 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $500$hi = i64toi32_i32$1; + i64toi32_i32$1 = $498$hi; + i64toi32_i32$1 = $500$hi; + i64toi32_i32$1 = $498$hi; + i64toi32_i32$1 = $500$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $498$hi; + i64toi32_i32$3 = 0; + label$4 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$4 + } + if (((HEAPU16[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0) { + break label$4 + } + if ((HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0) { + break label$4 + } + if (!($1673(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 164 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1240(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, $1310(HEAP32[(HEAP32[($7_1 + 172 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 156 | 0) >> 2] | 0; + label$5 : { + if (!($1734(HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0)) { + break label$5 + } + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$6 : { + label$7 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) >= (64 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$1 = -2147483648; + $504_1 = 0; + $504$hi = i64toi32_i32$1; + break label$6; + } + i64toi32_i32$1 = 0; + $505$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $506$hi = i64toi32_i32$1; + i64toi32_i32$1 = $505$hi; + i64toi32_i32$1 = $506$hi; + i64toi32_i32$1 = $505$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = $506$hi; + i64toi32_i32$0 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + $98_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $98_1 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + } + $504_1 = $98_1; + $504$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $504$hi; + i64toi32_i32$3 = $7_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $504_1; + HEAP32[($7_1 + 36 | 0) >> 2] = i64toi32_i32$2; + label$8 : { + if (((HEAPU8[($7_1 + 71 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$8 + } + $87_1 = HEAP32[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 40 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = $87_1; + $82(284 | 0, 32528 | 0, $7_1 | 0); + HEAP8[($7_1 + 71 | 0) >> 0] = 1; + } + i64toi32_i32$2 = 0; + $509$hi = i64toi32_i32$2; + i64toi32_i32$1 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + $510_1 = i64toi32_i32$2; + $510$hi = i64toi32_i32$3; + i64toi32_i32$1 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $511$hi = i64toi32_i32$2; + i64toi32_i32$2 = $510$hi; + i64toi32_i32$2 = $511$hi; + $818_1 = i64toi32_i32$3; + i64toi32_i32$2 = $510$hi; + i64toi32_i32$1 = $510_1; + i64toi32_i32$3 = $511$hi; + i64toi32_i32$0 = $818_1; + i64toi32_i32$3 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $513$hi = i64toi32_i32$3; + i64toi32_i32$3 = $509$hi; + i64toi32_i32$3 = $513$hi; + i64toi32_i32$3 = $509$hi; + i64toi32_i32$3 = $513$hi; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + i64toi32_i32$1 = $509$hi; + i64toi32_i32$0 = 0; + label$9 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!($1735(HEAP32[(HEAP32[($7_1 + 172 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 144 | 0) >> 2] | 0) + 1 | 0 | 0) | 0)) { + break label$10 + } + break label$1; + } + $108_1 = HEAP32[($7_1 + 140 | 0) >> 2] | 0; + $110_1 = HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + $111_1 = HEAP32[($7_1 + 144 | 0) >> 2] | 0; + HEAP32[($7_1 + 144 | 0) >> 2] = $111_1 + 1 | 0; + HEAP32[($110_1 + ($111_1 << 2 | 0) | 0) >> 2] = $108_1; + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $515_1 = i64toi32_i32$2; + $515$hi = i64toi32_i32$3; + i64toi32_i32$0 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + $872$hi = i64toi32_i32$2; + i64toi32_i32$2 = $515$hi; + i64toi32_i32$2 = $872$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $515$hi; + i64toi32_i32$1 = $515_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $876_1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $876_1; + HEAP32[($7_1 + 84 | 0) >> 2] = i64toi32_i32$3; + } + } + HEAP32[($7_1 + 140 | 0) >> 2] = (HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 48 | 0; + continue label$3; + }; + } + $122_1 = HEAP32[($7_1 + 144 | 0) >> 2] | 0; + HEAP16[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 1] = $122_1; + HEAP16[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 24 | 0) >> 1] = $122_1; + HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] = 16961; + i64toi32_i32$2 = HEAP32[($7_1 + 164 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $518_1 = i64toi32_i32$3; + $518$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + $519$hi = i64toi32_i32$3; + i64toi32_i32$3 = -1; + $520$hi = i64toi32_i32$3; + i64toi32_i32$3 = $519$hi; + i64toi32_i32$3 = $520$hi; + i64toi32_i32$3 = $519$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $520$hi; + i64toi32_i32$1 = -1; + i64toi32_i32$0 = i64toi32_i32$3 ^ i64toi32_i32$0 | 0; + $521$hi = i64toi32_i32$0; + i64toi32_i32$0 = -2147483648; + $522$hi = i64toi32_i32$0; + i64toi32_i32$0 = $521$hi; + i64toi32_i32$0 = $522$hi; + i64toi32_i32$0 = $521$hi; + i64toi32_i32$3 = i64toi32_i32$2 ^ i64toi32_i32$1 | 0; + i64toi32_i32$2 = $522$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $523$hi = i64toi32_i32$2; + i64toi32_i32$2 = $518$hi; + i64toi32_i32$2 = $523$hi; + $911_1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + i64toi32_i32$2 = $518$hi; + i64toi32_i32$0 = $518_1; + i64toi32_i32$3 = $523$hi; + i64toi32_i32$1 = $911_1; + i64toi32_i32$3 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $914_1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $914_1; + HEAP32[($7_1 + 76 | 0) >> 2] = i64toi32_i32$3; + $129_1 = 16; + label$11 : { + label$12 : { + if (!((63 | 0) < (((HEAPU16[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $129_1 | 0) >> $129_1 | 0 | 0) & 1 | 0)) { + break label$12 + } + $138_1 = 63; + break label$11; + } + $141_1 = 16; + $138_1 = ((HEAPU16[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $141_1 | 0) >> $141_1 | 0; + } + HEAP32[($7_1 + 100 | 0) >> 2] = $138_1; + HEAP32[($7_1 + 104 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + i64toi32_i32$3 = 0; + $525_1 = 0; + $525$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $526$hi = i64toi32_i32$3; + i64toi32_i32$2 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $527_1 = i64toi32_i32$3; + $527$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $528$hi = i64toi32_i32$0; + i64toi32_i32$0 = $526$hi; + i64toi32_i32$0 = $528$hi; + i64toi32_i32$0 = $526$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$3 = $528$hi; + i64toi32_i32$1 = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $99_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $99_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $529$hi = i64toi32_i32$3; + i64toi32_i32$3 = $527$hi; + i64toi32_i32$3 = $529$hi; + i64toi32_i32$3 = $527$hi; + i64toi32_i32$0 = $527_1; + i64toi32_i32$2 = $529$hi; + i64toi32_i32$1 = $99_1; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $531$hi = i64toi32_i32$2; + i64toi32_i32$2 = $525$hi; + i64toi32_i32$2 = $531$hi; + i64toi32_i32$2 = $525$hi; + i64toi32_i32$2 = $531$hi; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = $525$hi; + i64toi32_i32$1 = $525_1; + label$15 : { + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($7_1 + 144 | 0) >> 2] = (HEAP32[($7_1 + 144 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($7_1 + 104 | 0) >> 2] = (HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + i64toi32_i32$3 = 0; + $533$hi = i64toi32_i32$3; + i64toi32_i32$1 = HEAP32[($7_1 + 164 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; + $534$hi = i64toi32_i32$2; + i64toi32_i32$2 = -2147483648; + $535$hi = i64toi32_i32$2; + i64toi32_i32$2 = $534$hi; + i64toi32_i32$2 = $535$hi; + i64toi32_i32$2 = $534$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $535$hi; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $537$hi = i64toi32_i32$3; + i64toi32_i32$3 = $533$hi; + i64toi32_i32$3 = $537$hi; + i64toi32_i32$3 = $533$hi; + i64toi32_i32$3 = $537$hi; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + i64toi32_i32$1 = $533$hi; + i64toi32_i32$0 = 0; + label$16 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$16 + } + $170_1 = 16; + HEAP32[($7_1 + 144 | 0) >> 2] = (HEAP32[($7_1 + 144 | 0) >> 2] | 0) + (((((HEAPU16[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $170_1 | 0) >> $170_1 | 0) - 64 | 0) + 1 | 0) | 0; + } + $179_1 = 0; + $188_1 = 16; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1325(HEAP32[(HEAP32[($7_1 + 172 | 0) >> 2] | 0) >> 2] | 0 | 0, (((HEAP32[($7_1 + 144 | 0) >> 2] | 0) + 1 | 0) << $188_1 | 0) >> $188_1 | 0 | 0, $179_1 | 0, $7_1 + 88 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!((HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0) == ($179_1 | 0) & 1 | 0)) { + break label$17 + } + break label$1; + } + i64toi32_i32$2 = 0; + HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($7_1 + 132 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 132 | 0) >> 2] | 0) >> 2] = 32554; + HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 120 | 0) >> 2] | 0; + HEAP32[($7_1 + 108 | 0) >> 2] = 0; + i64toi32_i32$3 = $7_1; + HEAP32[($7_1 + 80 | 0) >> 2] = 0; + HEAP32[($7_1 + 84 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($7_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($7_1 + 140 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 136 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$18 + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 156 | 0) >> 2] | 0; + label$20 : { + if (!($1734(HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0)) { + break label$20 + } + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$21 : { + label$22 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) >= (64 | 0) & 1 | 0)) { + break label$22 + } + i64toi32_i32$3 = -2147483648; + $542_1 = 0; + $542$hi = i64toi32_i32$3; + break label$21; + } + i64toi32_i32$3 = 0; + $543$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $544$hi = i64toi32_i32$3; + i64toi32_i32$3 = $543$hi; + i64toi32_i32$3 = $544$hi; + i64toi32_i32$3 = $543$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$2 = $544$hi; + i64toi32_i32$1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $100_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $100_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $542_1 = $100_1; + $542$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $542$hi; + i64toi32_i32$2 = 0; + $547$hi = i64toi32_i32$2; + i64toi32_i32$2 = $542$hi; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $542_1; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + $548_1 = i64toi32_i32$2; + $548$hi = i64toi32_i32$0; + i64toi32_i32$3 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $549$hi = i64toi32_i32$2; + i64toi32_i32$2 = $548$hi; + i64toi32_i32$2 = $549$hi; + $1169_1 = i64toi32_i32$0; + i64toi32_i32$2 = $548$hi; + i64toi32_i32$3 = $548_1; + i64toi32_i32$0 = $549$hi; + i64toi32_i32$1 = $1169_1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $551$hi = i64toi32_i32$0; + i64toi32_i32$0 = $547$hi; + i64toi32_i32$0 = $551$hi; + i64toi32_i32$0 = $547$hi; + i64toi32_i32$0 = $551$hi; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + i64toi32_i32$3 = $547$hi; + i64toi32_i32$1 = 0; + label$23 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 140 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $553_1 = i64toi32_i32$2; + $553$hi = i64toi32_i32$0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + $1191$hi = i64toi32_i32$2; + i64toi32_i32$2 = $553$hi; + i64toi32_i32$2 = $1191$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $553$hi; + i64toi32_i32$3 = $553_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $1195_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $1195_1; + HEAP32[($7_1 + 84 | 0) >> 2] = i64toi32_i32$0; + HEAP16[((HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 108 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $427(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + label$25 : { + if (!((HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + $253_1 = HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] | 0; + break label$24; + } + $253_1 = 2261; + } + HEAP32[((HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 108 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $253_1; + HEAP32[($7_1 + 108 | 0) >> 2] = (HEAP32[($7_1 + 108 | 0) >> 2] | 0) + 1 | 0; + } + } + HEAP32[($7_1 + 140 | 0) >> 2] = (HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 48 | 0; + continue label$19; + }; + } + HEAP32[($7_1 + 104 | 0) >> 2] = 0; + label$26 : { + label$27 : while (1) { + if (!((HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + i64toi32_i32$0 = 0; + $556_1 = 0; + $556$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $557$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + $558_1 = i64toi32_i32$0; + $558$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $559$hi = i64toi32_i32$1; + i64toi32_i32$1 = $557$hi; + i64toi32_i32$1 = $559$hi; + i64toi32_i32$1 = $557$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$0 = $559$hi; + i64toi32_i32$3 = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $101_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $101_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $560$hi = i64toi32_i32$0; + i64toi32_i32$0 = $558$hi; + i64toi32_i32$0 = $560$hi; + i64toi32_i32$0 = $558$hi; + i64toi32_i32$1 = $558_1; + i64toi32_i32$2 = $560$hi; + i64toi32_i32$3 = $101_1; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $562$hi = i64toi32_i32$2; + i64toi32_i32$2 = $556$hi; + i64toi32_i32$2 = $562$hi; + i64toi32_i32$2 = $556$hi; + i64toi32_i32$2 = $562$hi; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $556$hi; + i64toi32_i32$3 = $556_1; + label$28 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$28 + } + HEAP16[((HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 108 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 108 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 2261; + HEAP32[($7_1 + 108 | 0) >> 2] = (HEAP32[($7_1 + 108 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($7_1 + 104 | 0) >> 2] = (HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 1 | 0; + continue label$27; + }; + } + i64toi32_i32$0 = 0; + $564$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($7_1 + 164 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 60 | 0) >> 2] | 0; + $565$hi = i64toi32_i32$2; + i64toi32_i32$2 = -2147483648; + $566$hi = i64toi32_i32$2; + i64toi32_i32$2 = $565$hi; + i64toi32_i32$2 = $566$hi; + i64toi32_i32$2 = $565$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $566$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $568$hi = i64toi32_i32$0; + i64toi32_i32$0 = $564$hi; + i64toi32_i32$0 = $568$hi; + i64toi32_i32$0 = $564$hi; + i64toi32_i32$0 = $568$hi; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + i64toi32_i32$3 = $564$hi; + i64toi32_i32$1 = 0; + label$29 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($7_1 + 104 | 0) >> 2] = 63; + label$30 : { + label$31 : while (1) { + $309_1 = 16; + if (!((HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $309_1 | 0) >> $309_1 | 0 | 0) & 1 | 0)) { + break label$30 + } + HEAP16[((HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 108 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 108 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 2261; + HEAP32[($7_1 + 108 | 0) >> 2] = (HEAP32[($7_1 + 108 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 104 | 0) >> 2] = (HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 1 | 0; + continue label$31; + }; + } + } + $340_1 = 1; + HEAP16[((HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 108 | 0) >> 2] | 0) << $340_1 | 0) | 0) >> 1] = 65535; + HEAP32[((HEAP32[((HEAP32[($7_1 + 132 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 108 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 2261; + $351_1 = HEAP32[($7_1 + 172 | 0) >> 2] | 0; + $352_1 = HEAP32[($351_1 + 40 | 0) >> 2] | 0; + HEAP32[($351_1 + 40 | 0) >> 2] = $352_1 + $340_1 | 0; + HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 8 | 0) >> 2] = $352_1; + $366(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 99 | 0, HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 144 | 0) >> 2] | 0) + $340_1 | 0 | 0) | 0; + $1405(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 56 | 0) >> 2] = ((HEAP32[((HEAP32[(HEAP32[($7_1 + 168 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAPU8[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0, 72) | 0) + 8 | 0; + label$32 : { + label$33 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 4 | 0) & $340_1 | 0) & 255 | 0)) { + break label$33 + } + $384_1 = 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $366(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 69 | 0, $384_1 | 0, $384_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 13 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, $384_1 | 0, HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + break label$32; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + label$34 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$34 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1358(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + $1390(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, 16 | 0); + $415_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + HEAP32[($415_1 + 36 | 0) >> 2] = HEAP32[($415_1 + 36 | 0) >> 2] | 0 | 131072 | 0; + } + $419_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1469(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0, $419_1 | 0, $419_1 | 0, $419_1 | 0, $419_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 16 & 65535 | 0 | 0); + label$35 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) != ($419_1 | 0) & 1 | 0)) { + break label$35 + } + $1369(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0); + } + label$36 : { + label$37 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 4 | 0) & 1 | 0) & 255 | 0)) { + break label$37 + } + $1495(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + (HEAP32[($7_1 + 108 | 0) >> 2] | 0) | 0 | 0); + $462_1 = HEAP32[($7_1 + 148 | 0) >> 2] | 0; + $1705(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($462_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[($462_1 + 8 | 0) >> 2] | 0 | 0); + $1282(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0) | 0; + $469_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP8[($469_1 + 37 | 0) >> 0] = (HEAPU8[($469_1 + 37 | 0) >> 0] | 0) & -17 | 0; + break label$36; + } + $366(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 116 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $354(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, 3 & 65535 | 0 | 0); + } + $1277(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0); + } + $18(HEAP32[(HEAP32[($7_1 + 172 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 176 | 0; + return; + } + + function $1689($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $60_1 = 0, $7_1 = 0, $17_1 = 0, $88_1 = 0, $12_1 = 0, $188_1 = 0, $232_1 = 0, $255_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 288 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 280 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 276 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 272 | 0) >> 2] = $2_1; + HEAP16[($6_1 + 270 | 0) >> 1] = $3_1; + HEAP32[($6_1 + 264 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$1; + } + $17_1 = HEAP32[($6_1 + 280 | 0) >> 2] | 0; + } + label$3 : { + label$4 : { + if (!(((HEAPU8[($17_1 + 203 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 260 | 0) >> 2] = ((HEAP32[($6_1 + 276 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($6_1 + 272 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0, 72) | 0; + HEAP32[($6_1 + 256 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 252 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 280 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 244 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 272 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[($6_1 + 240 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 244 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if ((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 8192 | 0) { + break label$6 + } + if (!(((HEAPU16[($6_1 + 270 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$5 + } + } + HEAP32[($6_1 + 284 | 0) >> 2] = 0; + break label$3; + } + $60_1 = 1; + label$7 : { + if ((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 48 | 0) { + break label$7 + } + label$8 : { + if ((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 1024 | 0) { + break label$8 + } + $60_1 = 1; + if (((HEAPU16[((HEAP32[($6_1 + 244 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) > (0 | 0) & 1 | 0) { + break label$7 + } + } + $60_1 = (((HEAPU16[($6_1 + 270 | 0) >> 1] | 0) & 65535 | 0) & 3 | 0 | 0) != (0 | 0); + } + $88_1 = $6_1 + 208 | 0; + HEAP32[($6_1 + 248 | 0) >> 2] = $60_1 & 1 | 0; + $77($88_1 | 0, HEAP32[($6_1 + 252 | 0) >> 2] | 0 | 0, $6_1 + 96 | 0 | 0, 100 | 0, 1e9 | 0); + $60($88_1 | 0, (HEAP32[($6_1 + 248 | 0) >> 2] | 0 ? 32565 : 32572) | 0); + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $84($6_1 + 208 | 0 | 0, 32577 | 0, $6_1 + 64 | 0 | 0); + break label$9; + } + HEAP32[($6_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $84($6_1 + 208 | 0 | 0, 32590 | 0, $6_1 + 80 | 0 | 0); + } + label$11 : { + if (!((HEAP32[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $84($6_1 + 208 | 0 | 0, 32600 | 0, $6_1 + 48 | 0 | 0); + } + label$12 : { + label$13 : { + if ((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 1280 | 0) { + break label$13 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + HEAP32[($6_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 244 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (!((HEAP32[((HEAP32[((HEAP32[($6_1 + 260 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$15 + } + $12_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + if (!((((HEAPU8[($12_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($12_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$15 + } + label$16 : { + if (!(HEAP32[($6_1 + 248 | 0) >> 2] | 0)) { + break label$16 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 32607; + } + break label$14; + } + label$17 : { + label$18 : { + if (!((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 131072 | 0)) { + break label$18 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 32619; + break label$17; + } + label$19 : { + label$20 : { + if (!((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 16384 | 0)) { + break label$20 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 32652; + break label$19; + } + label$21 : { + label$22 : { + if (!((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 64 | 0)) { + break label$22 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 32677; + break label$21; + } + HEAP32[($6_1 + 92 | 0) >> 2] = 32695; + } + } + } + } + label$23 : { + if (!((HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + $51($6_1 + 208 | 0 | 0, 32704 | 0, 7 | 0); + $188_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[(HEAP32[($6_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + $84($6_1 + 208 | 0 | 0, $188_1 | 0, $6_1 | 0); + $1736($6_1 + 208 | 0 | 0, HEAP32[($6_1 + 244 | 0) >> 2] | 0 | 0); + } + break label$12; + } + label$24 : { + label$25 : { + if (!((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 256 | 0)) { + break label$25 + } + if (!((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 15 | 0)) { + break label$25 + } + label$26 : { + label$27 : { + if (!((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 5 | 0)) { + break label$27 + } + HEAP32[($6_1 + 84 | 0) >> 2] = 32712; + break label$26; + } + label$28 : { + label$29 : { + if (!(((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 48 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($6_1 + 84 | 0) >> 2] = 32714; + break label$28; + } + label$30 : { + label$31 : { + if (!((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 32 | 0)) { + break label$31 + } + HEAP32[($6_1 + 84 | 0) >> 2] = 32728; + break label$30; + } + HEAP32[($6_1 + 84 | 0) >> 2] = 32730; + } + } + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + $84($6_1 + 208 | 0 | 0, 32732 | 0, $6_1 + 16 | 0 | 0); + break label$24; + } + label$32 : { + if (!((HEAP32[($6_1 + 240 | 0) >> 2] | 0) & 1024 | 0)) { + break label$32 + } + $232_1 = HEAP32[((HEAP32[($6_1 + 244 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 244 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = $232_1; + $84($6_1 + 208 | 0 | 0, 32770 | 0, $6_1 + 32 | 0 | 0); + } + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $72($6_1 + 208 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1278(HEAP32[($6_1 + 256 | 0) >> 2] | 0 | 0, 175 | 0, $1296(HEAP32[($6_1 + 256 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[((HEAP32[($6_1 + 280 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 236 | 0) >> 2] | 0 | 0, -7 | 0) | 0), HEAP32[(wasm2js_i32$0 + 264 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($6_1 + 284 | 0) >> 2] = HEAP32[($6_1 + 264 | 0) >> 2] | 0; + } + $255_1 = HEAP32[($6_1 + 284 | 0) >> 2] | 0; + global$0 = $6_1 + 288 | 0; + return $255_1 | 0; + } + + function $1690($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $5$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $5$hi = $5$hi | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $2291_1 = 0, $658_1 = 0, i64toi32_i32$4 = 0, $1523_1 = 0, $2294_1 = 0, $9_1 = 0, $442_1 = 0, $137_1 = 0, $138_1 = 0, $139_1 = 0, $40_1 = 0, $340_1 = 0, $2386$hi = 0, $832_1 = 0, $1801_1 = 0, $2394$hi = 0, $2407$hi = 0, $2376$hi = 0, $2377$hi = 0, $2378$hi = 0, $2379$hi = 0, $2381$hi = 0, $2382$hi = 0, $140_1 = 0, $2383$hi = 0, $2384$hi = 0, $44_1 = 0, $63_1 = 0, $66_1 = 0, $80_1 = 0, $199_1 = 0, $203_1 = 0, $350_1 = 0, $357_1 = 0, $395_1 = 0, $398_1 = 0, $2387$hi = 0, $2388$hi = 0, $2390$hi = 0, $428_1 = 0, $450_1 = 0, $463_1 = 0, $496_1 = 0, $564_1 = 0, $567_1 = 0, $639_1 = 0, $642_1 = 0, $659_1 = 0, $679_1 = 0, $697_1 = 0, $709_1 = 0, $727_1 = 0, $739_1 = 0, $741_1 = 0, $744_1 = 0, $752_1 = 0, $772_1 = 0, $792_1 = 0, $829_1 = 0, $928_1 = 0, $940_1 = 0, $962_1 = 0, $984_1 = 0, $1075_1 = 0, $1159_1 = 0, $1289_1 = 0, $1379_1 = 0, $1439_1 = 0, $1443_1 = 0, $1524_1 = 0, $1525_1 = 0, $1528_1 = 0, $1531_1 = 0, $1639_1 = 0, $1642_1 = 0, $1648_1 = 0, $1649_1 = 0, $1660_1 = 0, $1663_1 = 0, $1783_1 = 0, $1842_1 = 0, $1885_1 = 0, $1941_1 = 0, $141_1 = 0, $1986_1 = 0, $2395$hi = 0, $2396$hi = 0, $2398$hi = 0, $2106_1 = 0, $2183_1 = 0, $2246_1 = 0, $2295_1 = 0, $2299_1 = 0, $2302_1 = 0, $2305_1 = 0, $2308_1 = 0, $2311_1 = 0, $2408$hi = 0, $2409$hi = 0, $2411$hi = 0, $2361_1 = 0, $2376_1 = 0, $2501_1 = 0, $2506_1 = 0, $130_1 = 0, $247_1 = 0, $2387_1 = 0, $3392 = 0, $449_1 = 0, $462_1 = 0, $678_1 = 0, $708_1 = 0, $750_1 = 0, $841_1 = 0, $1305_1 = 0, $5936 = 0, $1795_1 = 0, $2069_1 = 0, $2395_1 = 0, $7100 = 0, $7505 = 0, $7525 = 0, $7535 = 0, $7545 = 0, $7555 = 0, $7565 = 0, $2330_1 = 0, $2408_1 = 0, $7664 = 0, $7719 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 496 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 484 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 480 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 476 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 472 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 468 | 0) >> 2] = $4_1; + i64toi32_i32$0 = $5$hi; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 456 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 460 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 400 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 396 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 392 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 428 | 0) >> 2] = (HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 80 | 0; + HEAP32[($8_1 + 420 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 484 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 432 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[($8_1 + 416 | 0) >> 2] = ((HEAP32[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0, 72) | 0; + HEAP32[($8_1 + 444 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 416 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 456 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 460 | 0) >> 2] | 0; + $2376_1 = i64toi32_i32$0; + $2376$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1726((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 488 | 0 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $2377$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $2378$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2377$hi; + i64toi32_i32$0 = $2378$hi; + i64toi32_i32$0 = $2377$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $2378$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0; + $2379$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2376$hi; + i64toi32_i32$1 = $2379$hi; + $2501_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$1 = $2376$hi; + i64toi32_i32$0 = $2376_1; + i64toi32_i32$2 = $2379$hi; + i64toi32_i32$3 = $2501_1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $2506_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 468 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 80 | 0) >> 2] = $2506_1; + HEAP32[(i64toi32_i32$0 + 84 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($8_1 + 476 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] | 0; + $2381$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $2382$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2381$hi; + i64toi32_i32$0 = $2382$hi; + i64toi32_i32$0 = $2381$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $2382$hi; + i64toi32_i32$3 = HEAP32[($8_1 + 472 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $140_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $140_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + $2383$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $2384$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2383$hi; + i64toi32_i32$2 = $2384$hi; + i64toi32_i32$2 = $2383$hi; + i64toi32_i32$0 = $140_1; + i64toi32_i32$1 = $2384$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + HEAP32[($8_1 + 436 | 0) >> 2] = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $40_1 = $1358(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 16 | 0) >> 2] = $40_1; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 12 | 0) >> 2] = $40_1; + HEAP32[($8_1 + 412 | 0) >> 2] = $40_1; + $44_1 = $1358(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 24 | 0) >> 2] = $44_1; + HEAP32[($8_1 + 404 | 0) >> 2] = $44_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0 | 0) > ($9_1 | 0) & 1 | 0)) { + break label$1 + } + if (!(((HEAPU8[((HEAP32[($8_1 + 416 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$1 + } + $63_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $66_1 = (HEAP32[($63_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($63_1 + 44 | 0) >> 2] = $66_1; + HEAP32[(HEAP32[($8_1 + 468 | 0) >> 2] | 0) >> 2] = $66_1; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[(HEAP32[($8_1 + 468 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($8_1 + 452 | 0) >> 2] = HEAP32[($8_1 + 472 | 0) >> 2] | 0; + label$2 : while (1) { + $80_1 = 0; + label$3 : { + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + $80_1 = (HEAP32[(((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 752 | 0) + Math_imul(HEAP32[($8_1 + 452 | 0) >> 2] | 0, 88) | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$4 : { + if (!($80_1 & 1 | 0)) { + break label$4 + } + HEAP32[($8_1 + 452 | 0) >> 2] = (HEAP32[($8_1 + 452 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + } + break label$2; + }; + HEAP32[($8_1 + 408 | 0) >> 2] = HEAP32[(((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 452 | 0) >> 2] | 0, 88) | 0) + 764 | 0) >> 2] | 0; + label$5 : { + label$6 : { + label$7 : { + if (!((((HEAPU8[((HEAP32[($8_1 + 416 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 4 | 0) & 1 | 0) & 255 | 0)) { + break label$7 + } + HEAP32[($8_1 + 384 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 416 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $367(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 13 | 0, HEAP32[($8_1 + 384 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($8_1 + 416 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + $130_1 = $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[($8_1 + 384 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 412 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 60 | 0) >> 2] = $130_1; + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = 11; + break label$6; + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1024 | 0)) { + break label$9 + } + HEAP32[($8_1 + 372 | 0) >> 2] = (HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1379(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 372 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 380 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 376 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 372 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($8_1 + 364 | 0) >> 2] = ((HEAP32[($8_1 + 380 | 0) >> 2] | 0) + (HEAP32[($8_1 + 452 | 0) >> 2] | 0) | 0) + 2 | 0; + HEAP32[($8_1 + 424 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 452 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$12 : { + label$13 : { + if (!((HEAP32[($8_1 + 424 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + break label$12; + } + label$14 : { + label$15 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$15 + } + $1737(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 424 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 436 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 364 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 376 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$14; + } + HEAP32[($8_1 + 360 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($8_1 + 424 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $1738(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 360 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 364 | 0) >> 2] | 0 | 0, 1 | 0); + } + } + HEAP32[($8_1 + 452 | 0) >> 2] = (HEAP32[($8_1 + 452 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + $199_1 = 0; + $203_1 = 69; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, $203_1 | 0, HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 380 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, $203_1 | 0, HEAP32[($8_1 + 372 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 380 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $1278(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 9 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 380 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 255 | 0 ? -7 : -1) | 0) | 0; + HEAP8[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 28 | 0) >> 0] = $199_1; + label$16 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 420 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != ($199_1 & 255 | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + } + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8_1 + 444 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = (HEAPU8[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) & 255 | 0 ? 174 : 61; + $247_1 = $1296(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 60 | 0) >> 2] = $247_1; + HEAP32[($8_1 + 368 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = (HEAP32[($8_1 + 372 | 0) >> 2] | 0) - 1 | 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($8_1 + 424 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 452 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$19 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($8_1 + 368 | 0) >> 2] = (HEAP32[($8_1 + 368 | 0) >> 2] | 0) + -1 | 0; + } + label$20 : { + label$21 : { + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$21 + } + if (!((((HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 30 | 0) >> 1] | 0) & 65535 | 0) >> (HEAP32[($8_1 + 452 | 0) >> 2] | 0) | 0) & 1 | 0)) { + break label$21 + } + $1739(HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 424 | 0) >> 2] | 0 | 0); + break label$20; + } + label$22 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$22 + } + if (!(($1432(HEAP32[((HEAP32[(HEAP32[($8_1 + 424 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + if (((HEAPU8[((HEAP32[($8_1 + 420 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$23 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1467(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 368 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 348 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, (HEAPU8[(HEAP32[($8_1 + 348 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[((HEAP32[($8_1 + 348 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 348 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 348 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + $340_1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1197(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, 53 | 0, $340_1 | 0, $340_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 356 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($8_1 + 356 | 0) >> 2] | 0 | 0) != ($340_1 | 0) & 1 | 0)) { + break label$24 + } + $350_1 = 0; + HEAP32[((HEAP32[($8_1 + 356 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($8_1 + 424 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $357_1 = $1217(HEAP32[($8_1 + 420 | 0) >> 2] | 0 | 0, 173 | 0, $350_1 | 0) | 0; + HEAP32[($8_1 + 352 | 0) >> 2] = $357_1; + HEAP32[((HEAP32[($8_1 + 356 | 0) >> 2] | 0) + 16 | 0) >> 2] = $357_1; + label$25 : { + if (!((HEAP32[($8_1 + 352 | 0) >> 2] | 0 | 0) != ($350_1 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[((HEAP32[($8_1 + 352 | 0) >> 2] | 0) + 28 | 0) >> 2] = ((HEAP32[($8_1 + 380 | 0) >> 2] | 0) + (HEAP32[($8_1 + 452 | 0) >> 2] | 0) | 0) + 2 | 0; + $1390(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 356 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 16 | 0); + } + HEAP32[((HEAP32[($8_1 + 356 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + $18(HEAP32[($8_1 + 420 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 356 | 0) >> 2] | 0 | 0); + } + } + } + HEAP32[($8_1 + 452 | 0) >> 2] = (HEAP32[($8_1 + 452 | 0) >> 2] | 0) + -1 | 0; + continue label$18; + }; + } + break label$8; + } + label$26 : { + label$27 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 256 | 0)) { + break label$27 + } + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 5 | 0)) { + break label$27 + } + HEAP32[($8_1 + 424 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] | 0; + $395_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $398_1 = (HEAP32[($395_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($395_1 + 44 | 0) >> 2] = $398_1; + HEAP32[($8_1 + 396 | 0) >> 2] = $398_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1737(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 424 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 436 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 396 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 400 | 0) >> 2] = wasm2js_i32$1; + label$28 : { + if (!((HEAP32[($8_1 + 400 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 396 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + $1383(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 396 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$1 = 0; + $2386$hi = i64toi32_i32$1; + HEAP32[($8_1 + 440 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $367(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 31 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 440 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 400 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = 174; + i64toi32_i32$2 = HEAP32[($8_1 + 424 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $2387_1 = i64toi32_i32$1; + $2387$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($8_1 + 468 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 84 | 0) >> 2] | 0; + $2388$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2387$hi; + i64toi32_i32$1 = $2388$hi; + $3392 = i64toi32_i32$0; + i64toi32_i32$1 = $2387$hi; + i64toi32_i32$2 = $2387_1; + i64toi32_i32$0 = $2388$hi; + i64toi32_i32$3 = $3392; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $2390$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2386$hi; + i64toi32_i32$0 = $2390$hi; + i64toi32_i32$0 = $2386$hi; + i64toi32_i32$0 = $2390$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $2386$hi; + i64toi32_i32$3 = 0; + label$29 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$29 + } + $428_1 = HEAP32[($8_1 + 424 | 0) >> 2] | 0; + HEAP16[($428_1 + 10 | 0) >> 1] = (HEAPU16[($428_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + } + break label$26; + } + label$30 : { + label$31 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 256 | 0)) { + break label$31 + } + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 2 | 0)) { + break label$31 + } + $442_1 = 0; + HEAP32[($8_1 + 344 | 0) >> 2] = 174; + HEAP32[($8_1 + 336 | 0) >> 2] = $442_1; + HEAP32[($8_1 + 452 | 0) >> 2] = $442_1; + HEAP32[($8_1 + 328 | 0) >> 2] = $442_1; + HEAP32[($8_1 + 332 | 0) >> 2] = $442_1; + label$32 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 32 | 0)) { + break label$32 + } + $449_1 = HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + $450_1 = HEAP32[($8_1 + 452 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = $450_1 + 1 | 0; + HEAP32[($8_1 + 332 | 0) >> 2] = HEAP32[($449_1 + ($450_1 << 2 | 0) | 0) >> 2] | 0; + } + label$33 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 16 | 0)) { + break label$33 + } + $462_1 = HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + $463_1 = HEAP32[($8_1 + 452 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = $463_1 + 1 | 0; + HEAP32[($8_1 + 328 | 0) >> 2] = HEAP32[($462_1 + ($463_1 << 2 | 0) | 0) >> 2] | 0; + } + label$34 : { + if (!(HEAP32[($8_1 + 436 | 0) >> 2] | 0)) { + break label$34 + } + HEAP32[($8_1 + 424 | 0) >> 2] = HEAP32[($8_1 + 332 | 0) >> 2] | 0; + HEAP32[($8_1 + 332 | 0) >> 2] = HEAP32[($8_1 + 328 | 0) >> 2] | 0; + HEAP32[($8_1 + 328 | 0) >> 2] = HEAP32[($8_1 + 424 | 0) >> 2] | 0; + } + label$35 : { + label$36 : { + if (!((HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$36 + } + $137_1 = 0; + $138_1 = $8_1 + 308 | 0; + $139_1 = HEAPU8[($137_1 + 32828 | 0) >> 0] | 0 | ((HEAPU8[($137_1 + 32829 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($137_1 + 32830 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($137_1 + 32831 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$138_1 >> 0] = $139_1; + HEAP8[($138_1 + 1 | 0) >> 0] = $139_1 >>> 8 | 0; + HEAP8[($138_1 + 2 | 0) >> 0] = $139_1 >>> 16 | 0; + HEAP8[($138_1 + 3 | 0) >> 0] = $139_1 >>> 24 | 0; + HEAP32[($8_1 + 324 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 332 | 0) >> 2] | 0) >> 2] | 0; + label$37 : { + label$38 : { + if (!($1505(HEAP32[((HEAP32[($8_1 + 324 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$38 + } + $496_1 = $1382(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 316 | 0) >> 2] = $496_1; + HEAP32[($8_1 + 320 | 0) >> 2] = $496_1; + $1738(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 324 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0, 1 | 0); + HEAP32[($8_1 + 312 | 0) >> 2] = (HEAPU8[(($8_1 + 308 | 0) + (((((HEAPU8[(HEAP32[($8_1 + 324 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) - 54 | 0) - 1 | 0) & 3 | 0 | 1 | 0) | 0) >> 0] | 0) & 255 | 0; + break label$37; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1507(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 324 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $8_1 + 316 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 320 | 0) >> 2] = wasm2js_i32$1; + $1739(HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 312 | 0) >> 2] = (HEAPU8[(($8_1 + 308 | 0) + (((HEAPU8[(HEAP32[($8_1 + 324 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) - 54 | 0) | 0) >> 0] | 0) & 255 | 0; + } + $367(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 312 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 412 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 320 | 0) >> 2] | 0 | 0) | 0; + $1383(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 316 | 0) >> 2] | 0 | 0); + break label$35; + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 436 | 0) >> 2] | 0 ? 33 : 37) | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 408 | 0) >> 2] | 0 | 0) | 0; + } + label$39 : { + if (!((HEAP32[($8_1 + 328 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$39 + } + HEAP32[($8_1 + 304 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 328 | 0) >> 2] | 0) >> 2] | 0; + $564_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $567_1 = (HEAP32[($564_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($564_1 + 44 | 0) >> 2] = $567_1; + HEAP32[($8_1 + 336 | 0) >> 2] = $567_1; + $1738(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 336 | 0) >> 2] | 0 | 0, 1 | 0); + label$40 : { + label$41 : { + if (!((0 | 0) == ($1505(HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$41 + } + label$42 : { + if (((HEAPU8[(HEAP32[($8_1 + 304 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (56 | 0) & 1 | 0) { + break label$42 + } + if (!(((HEAPU8[(HEAP32[($8_1 + 304 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (54 | 0) & 1 | 0)) { + break label$41 + } + } + HEAP32[($8_1 + 344 | 0) >> 2] = HEAP32[($8_1 + 436 | 0) >> 2] | 0 ? 55 : 57; + break label$40; + } + HEAP32[($8_1 + 344 | 0) >> 2] = HEAP32[($8_1 + 436 | 0) >> 2] | 0 ? 56 : 54; + } + label$43 : { + if (!((0 | 0) == ($1505(HEAP32[((HEAP32[($8_1 + 304 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$43 + } + $1739(HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 328 | 0) >> 2] | 0 | 0); + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1296(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 340 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = HEAP32[($8_1 + 436 | 0) >> 2] | 0 ? 4 : 5; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8_1 + 444 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($8_1 + 340 | 0) >> 2] | 0; + label$44 : { + if (!((HEAP32[($8_1 + 344 | 0) >> 2] | 0 | 0) != (174 | 0) & 1 | 0)) { + break label$44 + } + $639_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $642_1 = (HEAP32[($639_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($639_1 + 44 | 0) >> 2] = $642_1; + HEAP32[($8_1 + 400 | 0) >> 2] = $642_1; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 400 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 344 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 336 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 412 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 400 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 83 & 65535 | 0 | 0); + } + break label$30; + } + label$45 : { + label$46 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 512 | 0)) { + break label$46 + } + $658_1 = 0; + $659_1 = 0; + HEAP16[($8_1 + 302 | 0) >> 1] = HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0; + HEAP16[($8_1 + 300 | 0) >> 1] = HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0; + HEAP16[($8_1 + 298 | 0) >> 1] = HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0; + HEAP32[($8_1 + 288 | 0) >> 2] = $658_1; + HEAP32[($8_1 + 284 | 0) >> 2] = $658_1; + HEAP32[($8_1 + 260 | 0) >> 2] = $658_1; + HEAP32[($8_1 + 248 | 0) >> 2] = $658_1; + HEAP8[($8_1 + 247 | 0) >> 0] = $659_1; + HEAP8[($8_1 + 246 | 0) >> 0] = $659_1; + HEAP32[($8_1 + 236 | 0) >> 2] = $658_1; + HEAP32[($8_1 + 232 | 0) >> 2] = $658_1; + HEAP32[($8_1 + 392 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($8_1 + 264 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = (HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0; + label$47 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 32 | 0)) { + break label$47 + } + $678_1 = HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + $679_1 = HEAP32[($8_1 + 452 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = $679_1 + 1 | 0; + HEAP32[($8_1 + 288 | 0) >> 2] = HEAP32[($678_1 + ($679_1 << 2 | 0) | 0) >> 2] | 0; + label$48 : { + label$49 : { + if (!((HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) > ((HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$49 + } + $697_1 = HEAP32[($8_1 + 260 | 0) >> 2] | 0; + break label$48; + } + $697_1 = (HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0; + } + HEAP32[($8_1 + 260 | 0) >> 2] = $697_1; + } + label$50 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 16 | 0)) { + break label$50 + } + $708_1 = HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + $709_1 = HEAP32[($8_1 + 452 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = $709_1 + 1 | 0; + HEAP32[($8_1 + 284 | 0) >> 2] = HEAP32[($708_1 + ($709_1 << 2 | 0) | 0) >> 2] | 0; + label$51 : { + label$52 : { + if (!((HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0) > ((HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$52 + } + $727_1 = HEAP32[($8_1 + 260 | 0) >> 2] | 0; + break label$51; + } + $727_1 = (HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0; + } + HEAP32[($8_1 + 260 | 0) >> 2] = $727_1; + label$53 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 284 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$53 + } + $739_1 = 1; + $741_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $744_1 = (HEAP32[($741_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($741_1 + 44 | 0) >> 2] = $744_1; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 44 | 0) >> 2] = $744_1; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 69 | 0, $739_1 | 0, HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + $750_1 = $1296(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 48 | 0) >> 2] = $750_1; + $752_1 = HEAP32[($8_1 + 468 | 0) >> 2] | 0; + HEAP32[($752_1 + 44 | 0) >> 2] = (HEAP32[($752_1 + 44 | 0) >> 2] | 0) << 1 | 0; + $772_1 = HEAP32[($8_1 + 468 | 0) >> 2] | 0; + HEAP32[($772_1 + 44 | 0) >> 2] = HEAP32[($772_1 + 44 | 0) >> 2] | 0 | ((HEAP32[($8_1 + 436 | 0) >> 2] | 0) ^ (((HEAPU8[((HEAP32[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == ($739_1 | 0) & 1 | 0) | 0) | 0; + } + label$54 : { + if (!((HEAP32[($8_1 + 288 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$54 + } + $792_1 = 16; + HEAP32[($8_1 + 452 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0) << $792_1 | 0) >> $792_1 | 0; + label$55 : { + label$56 : { + label$57 : { + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$57 + } + if (!((HEAPU8[(((HEAP32[((HEAP32[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 452 | 0) >> 2] | 0, 20) | 0) + 12 | 0) >> 0] | 0) & 255 | 0)) { + break label$56 + } + } + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$55 + } + } + HEAP8[($8_1 + 247 | 0) >> 0] = 1; + } + } + } + label$58 : { + if ((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 48 | 0) { + break label$58 + } + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 524288 | 0)) { + break label$58 + } + HEAP32[($8_1 + 260 | 0) >> 2] = 1; + HEAP8[($8_1 + 247 | 0) >> 0] = 1; + $829_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $832_1 = (HEAP32[($829_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($829_1 + 44 | 0) >> 2] = $832_1; + HEAP32[($8_1 + 236 | 0) >> 2] = $832_1; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 36 | 0) >> 2] = $832_1; + label$59 : { + if (!(HEAP32[(HEAP32[($8_1 + 468 | 0) >> 2] | 0) >> 2] | 0)) { + break label$59 + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($8_1 + 236 | 0) >> 2] | 0 | 0) | 0; + } + $841_1 = $1358(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 40 | 0) >> 2] = $841_1; + } + label$60 : { + label$61 : { + label$62 : { + if (!(((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0 | 0) < ((HEAPU16[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$62 + } + if ((HEAP32[($8_1 + 436 | 0) >> 2] | 0 | 0) == (((HEAPU8[((HEAP32[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0) & 1 | 0 | 0) & 1 | 0) { + break label$61 + } + } + if (!(HEAP32[($8_1 + 436 | 0) >> 2] | 0)) { + break label$60 + } + if (!(((HEAPU16[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) == ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$60 + } + } + HEAP32[($8_1 + 228 | 0) >> 2] = HEAP32[($8_1 + 284 | 0) >> 2] | 0; + HEAP32[($8_1 + 284 | 0) >> 2] = HEAP32[($8_1 + 288 | 0) >> 2] | 0; + HEAP32[($8_1 + 288 | 0) >> 2] = HEAP32[($8_1 + 228 | 0) >> 2] | 0; + HEAP8[($8_1 + 227 | 0) >> 0] = HEAPU8[($8_1 + 247 | 0) >> 0] | 0; + HEAP8[($8_1 + 247 | 0) >> 0] = HEAPU8[($8_1 + 246 | 0) >> 0] | 0; + HEAP8[($8_1 + 246 | 0) >> 0] = HEAPU8[($8_1 + 227 | 0) >> 0] | 0; + HEAP8[($8_1 + 226 | 0) >> 0] = HEAPU16[($8_1 + 300 | 0) >> 1] | 0; + HEAP16[($8_1 + 300 | 0) >> 1] = HEAPU16[($8_1 + 298 | 0) >> 1] | 0; + HEAP16[($8_1 + 298 | 0) >> 1] = (HEAPU8[($8_1 + 226 | 0) >> 0] | 0) & 255 | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1740(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 436 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 260 | 0) >> 2] | 0 | 0, $8_1 + 252 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 292 | 0) >> 2] = wasm2js_i32$1; + label$63 : { + if (!((HEAP32[($8_1 + 252 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$63 + } + if (!((HEAPU16[($8_1 + 298 | 0) >> 1] | 0) & 65535 | 0)) { + break label$63 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $291(HEAP32[($8_1 + 420 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 252 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 248 | 0) >> 2] = wasm2js_i32$1; + } + label$64 : { + label$65 : { + if (!(HEAP32[($8_1 + 236 | 0) >> 2] | 0)) { + break label$65 + } + $928_1 = HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$64; + } + $928_1 = HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 440 | 0) >> 2] = $928_1; + $940_1 = 1; + label$66 : { + if (!((HEAP32[($8_1 + 288 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$66 + } + $940_1 = (((HEAPU16[((HEAP32[($8_1 + 288 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 40 | 0 | 0) != (0 | 0); + } + HEAP32[($8_1 + 280 | 0) >> 2] = $940_1 & 1 | 0; + $962_1 = 1; + label$67 : { + if (!((HEAP32[($8_1 + 284 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$67 + } + $962_1 = (((HEAPU16[((HEAP32[($8_1 + 284 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 40 | 0 | 0) != (0 | 0); + } + HEAP32[($8_1 + 276 | 0) >> 2] = $962_1 & 1 | 0; + $984_1 = 1; + label$68 : { + if ((HEAP32[($8_1 + 288 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$68 + } + $984_1 = ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0 | 0) > (0 | 0); + } + HEAP32[($8_1 + 272 | 0) >> 2] = $984_1 & 1 | 0; + HEAP32[($8_1 + 268 | 0) >> 2] = (HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0; + label$69 : { + label$70 : { + if (!((HEAP32[($8_1 + 288 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$70 + } + HEAP32[($8_1 + 220 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($8_1 + 288 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $1738(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 220 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 292 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0, (HEAPU16[($8_1 + 300 | 0) >> 1] | 0) & 65535 | 0 | 0); + $1741(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 288 | 0) >> 2] | 0 | 0); + label$71 : { + if (((HEAPU16[((HEAP32[($8_1 + 288 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 0 | 0) { + break label$71 + } + if (!($1534(HEAP32[($8_1 + 220 | 0) >> 2] | 0 | 0) | 0)) { + break label$71 + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 50 | 0, (HEAP32[($8_1 + 292 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0, HEAP32[($8_1 + 440 | 0) >> 2] | 0 | 0) | 0; + } + label$72 : { + if (!((HEAP32[($8_1 + 252 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$72 + } + $1742(HEAP32[($8_1 + 220 | 0) >> 2] | 0 | 0, (HEAPU16[($8_1 + 300 | 0) >> 1] | 0) & 65535 | 0 | 0, (HEAP32[($8_1 + 252 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0); + } + HEAP32[($8_1 + 268 | 0) >> 2] = (HEAP32[($8_1 + 268 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 300 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$73 : { + label$74 : { + if ($1505(HEAP32[($8_1 + 220 | 0) >> 2] | 0 | 0) | 0) { + break label$74 + } + $1739(HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 288 | 0) >> 2] | 0 | 0); + break label$73; + } + HEAP32[($8_1 + 280 | 0) >> 2] = 1; + } + HEAP8[($8_1 + 247 | 0) >> 0] = 0; + break label$69; + } + label$75 : { + label$76 : { + if (!(((HEAPU8[($8_1 + 247 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$76 + } + $1075_1 = 0; + HEAP32[($8_1 + 280 | 0) >> 2] = $1075_1; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 72 | 0, $1075_1 | 0, (HEAP32[($8_1 + 292 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0) | 0; + HEAP32[($8_1 + 272 | 0) >> 2] = 1; + HEAP32[($8_1 + 268 | 0) >> 2] = (HEAP32[($8_1 + 268 | 0) >> 2] | 0) + 1 | 0; + break label$75; + } + label$77 : { + if (!(HEAP32[($8_1 + 236 | 0) >> 2] | 0)) { + break label$77 + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, (HEAP32[($8_1 + 292 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0) | 0; + HEAP32[($8_1 + 272 | 0) >> 2] = 1; + HEAP32[($8_1 + 268 | 0) >> 2] = (HEAP32[($8_1 + 268 | 0) >> 2] | 0) + 1 | 0; + } + } + } + $1743(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 268 | 0) >> 2] | 0) - ((HEAPU8[($8_1 + 247 | 0) >> 0] | 0) & 255 | 0) | 0 | 0, HEAP32[($8_1 + 252 | 0) >> 2] | 0 | 0); + label$78 : { + label$79 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) & 65535 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$79 + } + if (!((HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0) == ((HEAPU16[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$79 + } + break label$78; + } + label$80 : { + if (!(HEAP32[($8_1 + 236 | 0) >> 2] | 0)) { + break label$80 + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 69 | 0, 1 | 0, HEAP32[($8_1 + 236 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($8_1 + 256 | 0) >> 2] = (HEAPU8[(((((HEAP32[($8_1 + 272 | 0) >> 2] | 0) << 2 | 0) + ((HEAP32[($8_1 + 280 | 0) >> 2] | 0) << 1 | 0) | 0) + (HEAP32[($8_1 + 436 | 0) >> 2] | 0) | 0) + 32832 | 0) >> 0] | 0) & 255 | 0; + label$81 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1048576 | 0)) { + break label$81 + } + if (!((HEAP32[($8_1 + 256 | 0) >> 2] | 0 | 0) == (24 | 0) & 1 | 0)) { + break label$81 + } + $1159_1 = 16; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 118 | 0, ((((HEAPU16[(HEAP32[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 1] | 0) << $1159_1 | 0) >> $1159_1 | 0) + 9 | 0 | 0) / (10 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 232 | 0) >> 2] = wasm2js_i32$1; + } + $353(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 256 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 440 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0) | 0; + label$82 : { + if (!(HEAP32[($8_1 + 236 | 0) >> 2] | 0)) { + break label$82 + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, ($1296(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0) | 0; + HEAP32[($8_1 + 256 | 0) >> 2] = (HEAPU8[((((((HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0) << 2 | 0) + 2 | 0) + (HEAP32[($8_1 + 436 | 0) >> 2] | 0) | 0) + 32832 | 0) >> 0] | 0) & 255 | 0; + $353(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 256 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 440 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 268 | 0) >> 2] | 0) - (HEAP32[($8_1 + 280 | 0) >> 2] | 0) | 0 | 0) | 0; + } + } + HEAP32[($8_1 + 268 | 0) >> 2] = (HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0; + label$83 : { + label$84 : { + if (!((HEAP32[($8_1 + 284 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$84 + } + HEAP32[($8_1 + 216 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($8_1 + 284 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $1738(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 216 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 292 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0, (HEAPU16[($8_1 + 298 | 0) >> 1] | 0) & 65535 | 0 | 0); + $1741(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 284 | 0) >> 2] | 0 | 0); + label$85 : { + if (((HEAPU16[((HEAP32[($8_1 + 284 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 0 | 0) { + break label$85 + } + if (!($1534(HEAP32[($8_1 + 216 | 0) >> 2] | 0 | 0) | 0)) { + break label$85 + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 50 | 0, (HEAP32[($8_1 + 292 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0, HEAP32[($8_1 + 440 | 0) >> 2] | 0 | 0) | 0; + } + label$86 : { + label$87 : { + if (!((HEAP32[($8_1 + 248 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$87 + } + $1742(HEAP32[($8_1 + 216 | 0) >> 2] | 0 | 0, (HEAPU16[($8_1 + 298 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($8_1 + 248 | 0) >> 2] | 0 | 0); + $1743(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 292 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0, (HEAPU16[($8_1 + 298 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($8_1 + 248 | 0) >> 2] | 0 | 0); + break label$86; + } + } + HEAP32[($8_1 + 268 | 0) >> 2] = (HEAP32[($8_1 + 268 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 298 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$88 : { + label$89 : { + if ($1505(HEAP32[($8_1 + 216 | 0) >> 2] | 0 | 0) | 0) { + break label$89 + } + $1739(HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 284 | 0) >> 2] | 0 | 0); + break label$88; + } + HEAP32[($8_1 + 276 | 0) >> 2] = 1; + } + break label$83; + } + label$90 : { + if (!(((HEAPU8[($8_1 + 246 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$90 + } + label$91 : { + if (HEAP32[($8_1 + 236 | 0) >> 2] | 0) { + break label$91 + } + $1289_1 = 0; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 72 | 0, $1289_1 | 0, (HEAP32[($8_1 + 292 | 0) >> 2] | 0) + ((HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0) | 0; + HEAP32[($8_1 + 276 | 0) >> 2] = $1289_1; + } + HEAP32[($8_1 + 268 | 0) >> 2] = (HEAP32[($8_1 + 268 | 0) >> 2] | 0) + 1 | 0; + } + } + $13(HEAP32[($8_1 + 420 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 252 | 0) >> 2] | 0 | 0); + $13(HEAP32[($8_1 + 420 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 248 | 0) >> 2] | 0 | 0); + $1305_1 = $1296(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 60 | 0) >> 2] = $1305_1; + label$92 : { + if (!(HEAP32[($8_1 + 268 | 0) >> 2] | 0)) { + break label$92 + } + label$93 : { + if (!(HEAP32[($8_1 + 236 | 0) >> 2] | 0)) { + break label$93 + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[($8_1 + 236 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0) | 0) + 3 | 0 | 0) | 0; + } + HEAP32[($8_1 + 256 | 0) >> 2] = (HEAPU8[((((HEAP32[($8_1 + 436 | 0) >> 2] | 0) << 1 | 0) + (HEAP32[($8_1 + 276 | 0) >> 2] | 0) | 0) + 32840 | 0) >> 0] | 0) & 255 | 0; + $353(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 256 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 440 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 268 | 0) >> 2] | 0 | 0) | 0; + label$94 : { + if (!(HEAP32[($8_1 + 232 | 0) >> 2] | 0)) { + break label$94 + } + $1277(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 232 | 0) >> 2] | 0 | 0); + } + } + label$95 : { + if (!(HEAP32[($8_1 + 236 | 0) >> 2] | 0)) { + break label$95 + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 18 | 0, HEAP32[($8_1 + 236 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0) | 0; + HEAP32[($8_1 + 256 | 0) >> 2] = (HEAPU8[((((HEAP32[($8_1 + 436 | 0) >> 2] | 0) << 1 | 0) + ((HEAPU8[($8_1 + 247 | 0) >> 0] | 0) & 255 | 0) | 0) + 32840 | 0) >> 0] | 0) & 255 | 0; + $353(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 256 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 440 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 292 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 268 | 0) >> 2] | 0) + ((HEAPU8[($8_1 + 247 | 0) >> 0] | 0) & 255 | 0) | 0 | 0) | 0; + } + label$96 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 262144 | 0)) { + break label$96 + } + $367(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 119 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0, (HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0 | 0, (HEAPU16[($8_1 + 302 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + } + $1379_1 = 0; + label$97 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 64 | 0)) { + break label$97 + } + $1379_1 = (((HEAPU16[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0 | 0) == (0 | 0); + } + HEAP32[($8_1 + 240 | 0) >> 2] = $1379_1 & 1 | 0; + label$98 : { + label$99 : { + if (!(HEAP32[($8_1 + 240 | 0) >> 2] | 0)) { + break label$99 + } + break label$98; + } + label$100 : { + label$101 : { + if ((HEAP32[((HEAP32[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$101 + } + $1744(HEAP32[($8_1 + 476 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 392 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0); + break label$100; + } + label$102 : { + if (!((HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$102 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $416(HEAP32[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 212 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1379(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($8_1 + 212 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 400 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 452 | 0) >> 2] = 0; + label$103 : { + label$104 : while (1) { + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($8_1 + 212 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$103 + } + $1439_1 = 16; + $1443_1 = 16; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = (($1329(HEAP32[($8_1 + 392 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[((HEAP32[($8_1 + 212 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 452 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $1439_1 | 0) >> $1439_1 | 0 | 0) | 0) << $1443_1 | 0) >> $1443_1 | 0), HEAP32[(wasm2js_i32$0 + 448 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 448 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 400 | 0) >> 2] | 0) + (HEAP32[($8_1 + 452 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = (HEAP32[($8_1 + 452 | 0) >> 2] | 0) + 1 | 0; + continue label$104; + }; + } + $353(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 29 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 404 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 400 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($8_1 + 212 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + } + } + } + label$105 : { + label$106 : { + if (HEAP32[(HEAP32[($8_1 + 468 | 0) >> 2] | 0) >> 2] | 0) { + break label$106 + } + label$107 : { + if (((HEAPU16[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$107 + } + $1745(HEAP32[($8_1 + 392 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 476 | 0) >> 2] | 0 | 0); + } + label$108 : { + if (!((HEAP32[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$108 + } + $1746(HEAP32[((HEAP32[($8_1 + 392 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 428 | 0) >> 2] | 0 | 0); + } + break label$105; + } + } + label$109 : { + label$110 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 4096 | 0)) { + break label$110 + } + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = 174; + break label$109; + } + label$111 : { + label$112 : { + if (!(HEAP32[($8_1 + 436 | 0) >> 2] | 0)) { + break label$112 + } + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = 4; + break label$111; + } + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = 5; + } + } + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8_1 + 264 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 54 | 0) >> 0] = (HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 65536 | 0 ? 1 : 0; + label$113 : { + label$114 : { + if ((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 15 | 0) { + break label$114 + } + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 55 | 0) >> 0] = 1; + break label$113; + } + } + label$115 : { + if (!(HEAP32[($8_1 + 240 | 0) >> 2] | 0)) { + break label$115 + } + HEAP32[($8_1 + 392 | 0) >> 2] = 0; + } + break label$45; + } + label$116 : { + label$117 : { + if (!((HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 8192 | 0)) { + break label$117 + } + $1523_1 = 0; + HEAP32[($8_1 + 200 | 0) >> 2] = $1523_1; + $1524_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $1525_1 = HEAP32[($1524_1 + 40 | 0) >> 2] | 0; + HEAP32[($1524_1 + 40 | 0) >> 2] = $1525_1 + 1 | 0; + HEAP32[($8_1 + 196 | 0) >> 2] = $1525_1; + $1528_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $1531_1 = (HEAP32[($1528_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1528_1 + 44 | 0) >> 2] = $1531_1; + HEAP32[($8_1 + 192 | 0) >> 2] = $1531_1; + HEAP32[($8_1 + 188 | 0) >> 2] = $1523_1; + HEAP32[($8_1 + 184 | 0) >> 2] = $1523_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1358(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 172 | 0) >> 2] = $1523_1; + HEAP32[($8_1 + 164 | 0) >> 2] = $1523_1; + HEAP32[($8_1 + 160 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 416 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 424 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($8_1 + 432 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 208 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = 65; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8_1 + 192 | 0) >> 2] | 0; + label$118 : { + label$119 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$119 + } + HEAP32[($8_1 + 156 | 0) >> 2] = (((HEAPU8[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0) - (HEAP32[($8_1 + 472 | 0) >> 2] | 0) | 0) - 1 | 0; + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $64(HEAP32[($8_1 + 420 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($8_1 + 156 | 0) >> 2] | 0, 72) + 80 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 204 | 0) >> 2] = wasm2js_i32$1; + label$120 : { + if (!((HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$120 + } + i64toi32_i32$3 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 456 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 460 | 0) >> 2] | 0; + $5936 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 488 | 0) >> 2] = $5936; + HEAP32[($8_1 + 492 | 0) >> 2] = i64toi32_i32$0; + break label$5; + } + HEAP32[((HEAP32[($8_1 + 204 | 0) >> 2] | 0) + 4 | 0) >> 2] = ((HEAP32[($8_1 + 156 | 0) >> 2] | 0) + 1 | 0) & 255 | 0; + HEAP32[(HEAP32[($8_1 + 204 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 204 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $3288((HEAP32[($8_1 + 204 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($8_1 + 416 | 0) >> 2] | 0 | 0, 72 | 0) | 0; + HEAP32[($8_1 + 152 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($8_1 + 448 | 0) >> 2] = 1; + label$121 : { + label$122 : while (1) { + if (!((HEAP32[($8_1 + 448 | 0) >> 2] | 0 | 0) <= (HEAP32[($8_1 + 156 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$121 + } + $3288(((HEAP32[($8_1 + 204 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($8_1 + 448 | 0) >> 2] | 0, 72) | 0 | 0, (HEAP32[($8_1 + 152 | 0) >> 2] | 0) + Math_imul((HEAPU8[(((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 448 | 0) >> 2] | 0, 88) | 0) + 52 | 0) >> 0] | 0) & 255 | 0, 72) | 0 | 0, 72 | 0) | 0; + HEAP32[($8_1 + 448 | 0) >> 2] = (HEAP32[($8_1 + 448 | 0) >> 2] | 0) + 1 | 0; + continue label$122; + }; + } + break label$118; + } + HEAP32[($8_1 + 204 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + label$123 : { + if (((HEAPU16[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0) { + break label$123 + } + label$124 : { + label$125 : { + if ((HEAP32[((HEAP32[($8_1 + 160 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$125 + } + $1639_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $1642_1 = (HEAP32[($1639_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1639_1 + 44 | 0) >> 2] = $1642_1; + HEAP32[($8_1 + 188 | 0) >> 2] = $1642_1; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) | 0; + break label$124; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $416(HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + $1648_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $1649_1 = HEAP32[($1648_1 + 40 | 0) >> 2] | 0; + HEAP32[($1648_1 + 40 | 0) >> 2] = $1649_1 + 1 | 0; + HEAP32[($8_1 + 188 | 0) >> 2] = $1649_1; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 100 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($8_1 + 148 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + $1405(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 148 | 0) >> 2] | 0 | 0); + } + $1660_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + $1663_1 = (HEAP32[($1660_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($1660_1 + 44 | 0) >> 2] = $1663_1; + HEAP32[($8_1 + 184 | 0) >> 2] = $1663_1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; + label$126 : { + if (!((HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$126 + } + HEAP32[($8_1 + 144 | 0) >> 2] = 0; + label$127 : { + label$128 : while (1) { + if (!((HEAP32[($8_1 + 144 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$127 + } + HEAP32[($8_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 144 | 0) >> 2] | 0, 48) | 0) >> 2] | 0; + label$129 : { + label$130 : { + if (!(((HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 144 | 0) >> 2] | 0, 48) | 0 | 0) == (HEAP32[($8_1 + 424 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$130 + } + break label$129; + } + label$131 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 144 | 0) >> 2] | 0, 48) | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 6 | 0)) { + break label$131 + } + break label$129; + } + label$132 : { + if (((HEAPU16[(((HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 144 | 0) >> 2] | 0, 48) | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 8191 | 0) { + break label$132 + } + break label$129; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1310(HEAP32[($8_1 + 420 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1240(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($8_1 + 144 | 0) >> 2] = (HEAP32[($8_1 + 144 | 0) >> 2] | 0) + 1 | 0; + continue label$128; + }; + } + label$133 : { + if (!((HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$133 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1197(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, 65580 | 0, 0 | 0, HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + } + } + $1352(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, 1 | 0, 32844 | 0, 0 | 0); + HEAP32[($8_1 + 168 | 0) >> 2] = 0; + label$134 : { + label$135 : while (1) { + if (!((HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 208 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$134 + } + HEAP32[($8_1 + 136 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 208 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 168 | 0) >> 2] | 0, 48) | 0; + label$136 : { + label$137 : { + if ((HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$137 + } + if (!(((HEAPU16[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 1024 | 0)) { + break label$136 + } + } + $1783_1 = 0; + HEAP32[($8_1 + 128 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 136 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $1783_1; + label$138 : { + if (!((HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0) != ($1783_1 | 0) & 1 | 0)) { + break label$138 + } + HEAP32[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 128 | 0) >> 2] | 0; + HEAP32[($8_1 + 128 | 0) >> 2] = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + } + $1795_1 = HEAP32[($8_1 + 484 | 0) >> 2] | 0; + HEAP32[$8_1 >> 2] = (HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 1 | 0; + $1352($1795_1 | 0, 1 | 0, 32859 | 0, $8_1 | 0); + $1801_1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1362(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 128 | 0) >> 2] | 0 | 0, $1801_1 | 0, $1801_1 | 0, 32 & 65535 | 0 | 0, HEAP32[($8_1 + 196 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + label$139 : { + if (!((HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0) != ($1801_1 | 0) & 1 | 0)) { + break label$139 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1689(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 752 | 0 | 0, 0 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$140 : { + if (((HEAPU16[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0) { + break label$140 + } + label$141 : { + label$142 : { + if (!((HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($8_1 + 208 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$142 + } + $1842_1 = -1; + break label$141; + } + $1842_1 = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 112 | 0) >> 2] = $1842_1; + label$143 : { + label$144 : { + if ((HEAP32[((HEAP32[($8_1 + 160 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$144 + } + $1381(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $353(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 45 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + break label$143; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $416(HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 104 | 0) >> 2] = (HEAPU16[((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1379(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 100 | 0) >> 2] = 0; + label$145 : { + label$146 : while (1) { + if (!((HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$145 + } + $1885_1 = 16; + HEAP32[($8_1 + 92 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 100 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $1885_1 | 0) >> $1885_1 | 0; + $1381(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 96 | 0) >> 2] | 0) + (HEAP32[($8_1 + 100 | 0) >> 2] | 0) | 0 | 0); + HEAP32[($8_1 + 100 | 0) >> 2] = (HEAP32[($8_1 + 100 | 0) >> 2] | 0) + 1 | 0; + continue label$146; + }; + } + label$147 : { + if (!(HEAP32[($8_1 + 112 | 0) >> 2] | 0)) { + break label$147 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $353(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 30 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + } + label$148 : { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$148 + } + $367(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) | 0; + label$149 : { + if (!(HEAP32[($8_1 + 112 | 0) >> 2] | 0)) { + break label$149 + } + $354(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 16 & 65535 | 0 | 0); + } + } + $1384(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + } + } + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($8_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0) | 0; + label$150 : { + if (!(HEAP32[($8_1 + 124 | 0) >> 2] | 0)) { + break label$150 + } + $1277(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0); + } + $1941_1 = 1; + label$151 : { + if (!((((HEAPU8[((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 48 | 0) >> 0] | 0) >>> $1941_1 | 0) & $1941_1 | 0) & 255 | 0)) { + break label$151 + } + HEAP32[($8_1 + 172 | 0) >> 2] = 1; + } + HEAP32[($8_1 + 120 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 824 | 0) >> 2] | 0; + label$152 : { + label$153 : { + if (!((HEAP32[((HEAP32[($8_1 + 120 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 512 | 0)) { + break label$153 + } + label$154 : { + if (!(HEAP32[($8_1 + 168 | 0) >> 2] | 0)) { + break label$154 + } + if (!((HEAP32[((HEAP32[($8_1 + 120 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$153 + } + } + label$155 : { + if (!((HEAP32[((HEAP32[($8_1 + 160 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$155 + } + $141_1 = HEAP32[((HEAP32[($8_1 + 120 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + if ((((HEAPU8[($141_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($141_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0) { + break label$153 + } + } + HEAP32[($8_1 + 200 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 120 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$152; + } + HEAP32[($8_1 + 200 | 0) >> 2] = 0; + } + label$156 : { + if (!($1408(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0) | 0)) { + break label$156 + } + $1986_1 = HEAP32[($8_1 + 476 | 0) >> 2] | 0; + HEAP8[($1986_1 + 48 | 0) >> 0] = HEAPU8[($1986_1 + 48 | 0) >> 0] | 0 | 1 | 0; + } + $1373(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0); + $1348(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($8_1 + 168 | 0) >> 2] = (HEAP32[($8_1 + 168 | 0) >> 2] | 0) + 1 | 0; + continue label$135; + }; + } + $1348(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($8_1 + 200 | 0) >> 2] | 0; + label$157 : { + if (!((HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$157 + } + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($8_1 + 196 | 0) >> 2] | 0; + } + label$158 : { + if (!((HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$158 + } + HEAP32[((HEAP32[($8_1 + 164 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + $18(HEAP32[($8_1 + 420 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 164 | 0) >> 2] | 0 | 0); + } + $1355(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 176 | 0) >> 2] | 0 | 0, $1296(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0) | 0 | 0); + $1282(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0); + label$159 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 476 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$159 + } + $13(HEAP32[($8_1 + 420 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 204 | 0) >> 2] | 0 | 0); + } + label$160 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$160 + } + $1739(HEAP32[($8_1 + 468 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 424 | 0) >> 2] | 0 | 0); + } + break label$116; + } + label$161 : { + label$162 : { + if (!((((HEAPU8[((HEAP32[($8_1 + 416 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 5 | 0) & 1 | 0) & 255 | 0)) { + break label$162 + } + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = 174; + break label$161; + } + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 53 | 0) >> 0] = HEAPU8[((HEAP32[($8_1 + 436 | 0) >> 2] | 0) + 32868 | 0) >> 0] | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8_1 + 444 | 0) >> 2] | 0; + $2069_1 = ($366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($8_1 + 436 | 0) >> 2] | 0) + 32870 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 408 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 60 | 0) >> 2] = $2069_1; + HEAP8[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 55 | 0) >> 0] = 1; + } + } + } + } + } + } + } + HEAP32[($8_1 + 388 | 0) >> 2] = (HEAP32[($8_1 + 392 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 1 : 2; + label$163 : while (1) { + HEAP32[($8_1 + 88 | 0) >> 2] = 0; + HEAP32[($8_1 + 424 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$164 : { + label$165 : while (1) { + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$164 + } + HEAP32[($8_1 + 80 | 0) >> 2] = 0; + label$166 : { + label$167 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 6 | 0)) { + break label$167 + } + break label$166; + } + i64toi32_i32$0 = 0; + $2394$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($8_1 + 424 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $2395_1 = i64toi32_i32$0; + $2395$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($8_1 + 468 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 84 | 0) >> 2] | 0; + $2396$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2395$hi; + i64toi32_i32$0 = $2396$hi; + $7100 = i64toi32_i32$1; + i64toi32_i32$0 = $2395$hi; + i64toi32_i32$3 = $2395_1; + i64toi32_i32$1 = $2396$hi; + i64toi32_i32$2 = $7100; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $2398$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2394$hi; + i64toi32_i32$1 = $2398$hi; + i64toi32_i32$1 = $2394$hi; + i64toi32_i32$1 = $2398$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $2394$hi; + i64toi32_i32$2 = 0; + label$168 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$168 + } + $2106_1 = HEAP32[($8_1 + 476 | 0) >> 2] | 0; + HEAP8[($2106_1 + 48 | 0) >> 0] = HEAPU8[($2106_1 + 48 | 0) >> 0] | 0 | 2 | 0; + break label$166; + } + HEAP32[($8_1 + 84 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 424 | 0) >> 2] | 0) >> 2] | 0; + label$169 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 416 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$169 + } + if ((HEAP32[((HEAP32[($8_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0) { + break label$169 + } + break label$166; + } + label$170 : { + if (!((HEAP32[($8_1 + 388 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$170 + } + if ($1747(HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 392 | 0) >> 2] | 0 | 0) | 0) { + break label$170 + } + HEAP32[($8_1 + 88 | 0) >> 2] = 2; + break label$166; + } + label$171 : { + if (!((HEAP32[($8_1 + 388 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$171 + } + if (!(((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 4096 | 0)) { + break label$171 + } + label$172 : { + if (HEAP32[($8_1 + 88 | 0) >> 2] | 0) { + break label$172 + } + HEAP32[($8_1 + 88 | 0) >> 2] = 3; + } + break label$166; + } + label$173 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 512 | 0)) { + break label$173 + } + HEAP32[($8_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$174 : { + if (!((HEAP32[($8_1 + 76 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$174 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 76 | 0) >> 2] | 0) & 1 | 0 ? 20 : 18) | 0, (HEAP32[($8_1 + 76 | 0) >> 2] | 0) >>> 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + } + $1390(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 404 | 0) >> 2] | 0 | 0, 16 | 0); + label$175 : { + if (!(HEAP32[($8_1 + 80 | 0) >> 2] | 0)) { + break label$175 + } + $1277(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0); + } + $2183_1 = HEAP32[($8_1 + 424 | 0) >> 2] | 0; + HEAP16[($2183_1 + 10 | 0) >> 1] = (HEAPU16[($2183_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + } + HEAP32[($8_1 + 452 | 0) >> 2] = (HEAP32[($8_1 + 452 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($8_1 + 424 | 0) >> 2] = (HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 48 | 0; + continue label$165; + }; + } + HEAP32[($8_1 + 388 | 0) >> 2] = HEAP32[($8_1 + 88 | 0) >> 2] | 0; + if ((HEAP32[($8_1 + 388 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + continue label$163 + } + break label$163; + }; + HEAP32[($8_1 + 424 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$176 : { + label$177 : while (1) { + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$176 + } + label$178 : { + label$179 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 6 | 0)) { + break label$179 + } + break label$178; + } + label$180 : { + if (((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 130 | 0) { + break label$180 + } + break label$178; + } + label$181 : { + if (((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 2048 | 0) { + break label$181 + } + break label$178; + } + label$182 : { + if (!((HEAP32[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$182 + } + break label$178; + } + label$183 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 416 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$183 + } + break label$178; + } + $2246_1 = 0; + HEAP32[($8_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 424 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 456 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 460 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1723(HEAP32[($8_1 + 428 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, 131 | 0, $2246_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$184 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) == ($2246_1 | 0) & 1 | 0)) { + break label$184 + } + break label$178; + } + label$185 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0)) { + break label$185 + } + break label$178; + } + label$186 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$186 + } + if (!((HEAP32[((HEAP32[(HEAP32[($8_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$186 + } + if (!((HEAP32[(HEAP32[((HEAP32[((HEAP32[(HEAP32[($8_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$186 + } + break label$178; + } + $2291_1 = $8_1 + 16 | 0; + $2294_1 = HEAP32[(HEAP32[($8_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = $2294_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $7505 = i64toi32_i32$1; + i64toi32_i32$1 = $2291_1; + HEAP32[i64toi32_i32$1 >> 2] = $7505; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $2295_1 = 48; + HEAP32[(i64toi32_i32$1 + $2295_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $2295_1 | 0) >> 2] | 0; + $2299_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $2299_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $7525 = i64toi32_i32$0; + i64toi32_i32$0 = $2291_1 + $2299_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $7525; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $2302_1 = 32; + i64toi32_i32$2 = $2294_1 + $2302_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $7535 = i64toi32_i32$1; + i64toi32_i32$1 = $2291_1 + $2302_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $7535; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $2305_1 = 24; + i64toi32_i32$2 = $2294_1 + $2305_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $7545 = i64toi32_i32$0; + i64toi32_i32$0 = $2291_1 + $2305_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $7545; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $2308_1 = 16; + i64toi32_i32$2 = $2294_1 + $2308_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $7555 = i64toi32_i32$1; + i64toi32_i32$1 = $2291_1 + $2308_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $7555; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $2311_1 = 8; + i64toi32_i32$2 = $2294_1 + $2311_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $7565 = i64toi32_i32$0; + i64toi32_i32$0 = $2291_1 + $2311_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $7565; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $1390(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, $2291_1 | 0, HEAP32[($8_1 + 404 | 0) >> 2] | 0 | 0, 16 | 0); + } + HEAP32[($8_1 + 452 | 0) >> 2] = (HEAP32[($8_1 + 452 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($8_1 + 424 | 0) >> 2] = (HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 48 | 0; + continue label$177; + }; + } + label$187 : { + if (!(HEAP32[(HEAP32[($8_1 + 468 | 0) >> 2] | 0) >> 2] | 0)) { + break label$187 + } + $2330_1 = $1296(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 468 | 0) >> 2] | 0) + 28 | 0) >> 2] = $2330_1; + $366(HEAP32[($8_1 + 480 | 0) >> 2] | 0 | 0, 69 | 0, 1 | 0, HEAP32[(HEAP32[($8_1 + 468 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 424 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($8_1 + 452 | 0) >> 2] = 0; + label$188 : { + label$189 : while (1) { + if (!((HEAP32[($8_1 + 452 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 428 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$188 + } + label$190 : { + label$191 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 6 | 0)) { + break label$191 + } + break label$190; + } + i64toi32_i32$1 = 0; + $2407$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($8_1 + 424 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $2408_1 = i64toi32_i32$1; + $2408$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($8_1 + 468 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 84 | 0) >> 2] | 0; + $2409$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2408$hi; + i64toi32_i32$1 = $2409$hi; + $7664 = i64toi32_i32$0; + i64toi32_i32$1 = $2408$hi; + i64toi32_i32$2 = $2408_1; + i64toi32_i32$0 = $2409$hi; + i64toi32_i32$3 = $7664; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $2411$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2407$hi; + i64toi32_i32$0 = $2411$hi; + i64toi32_i32$0 = $2407$hi; + i64toi32_i32$0 = $2411$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $2407$hi; + i64toi32_i32$3 = 0; + label$192 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$192 + } + break label$190; + } + $1390(HEAP32[($8_1 + 484 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($8_1 + 424 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 404 | 0) >> 2] | 0 | 0, 16 | 0); + $2361_1 = HEAP32[($8_1 + 424 | 0) >> 2] | 0; + HEAP16[($2361_1 + 10 | 0) >> 1] = (HEAPU16[($2361_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + } + HEAP32[($8_1 + 452 | 0) >> 2] = (HEAP32[($8_1 + 452 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 424 | 0) >> 2] = (HEAP32[($8_1 + 424 | 0) >> 2] | 0) + 48 | 0; + continue label$189; + }; + } + } + i64toi32_i32$3 = HEAP32[($8_1 + 468 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 84 | 0) >> 2] | 0; + $7719 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 488 | 0) >> 2] = $7719; + HEAP32[($8_1 + 492 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$3 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 488 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 492 | 0) >> 2] | 0; + global$0 = $8_1 + 496 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $1691($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 752 | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 88) | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 2048 | 0)) { + break label$3 + } + $13(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $1748((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0 | 0); + label$4 : { + label$5 : while (1) { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $1749(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + continue label$5; + }; + } + $23(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 32 | 0; + return; + } + + function $1692($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $36_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $5_1; + $1490(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0 | 0, 67 & 255 | 0 | 0, $4_1 + 12 | 0 | 0) | 0; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + if (!(($239(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 1; + } + $212(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + $36_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $36_1 | 0; + } + + function $1693($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if ((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (32240 | 0) & 1 | 0) { + break label$6 + } + if ((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (32250 | 0) & 1 | 0) { + break label$6 + } + if ((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (28807 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (28812 | 0) & 1 | 0)) { + break label$5 + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$4; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1694($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $32_1 = 0, $54_1 = 0, $55_1 = 0, $88_1 = 0, $91_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $366(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) > ($1804(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + $32_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$3; + } + $32_1 = $1804(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = $32_1; + label$5 : { + if (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + label$7 : { + if ((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (32240 | 0) & 1 | 0) { + break label$7 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (32250 | 0) & 1 | 0)) { + break label$6 + } + } + $54_1 = 69; + $55_1 = 0; + $366(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $54_1 | 0, $55_1 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $54_1 | 0, $55_1 | 0, (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4096 | 0)) { + break label$8 + } + if (!(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0)) { + break label$8 + } + $1288(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + } + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $88_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($88_1 + 44 | 0) >> 2] = (HEAP32[($88_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + $91_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $91_1 | 0; + } + + function $1695($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 69 | 0, 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$2 + } + $24_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1382(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 115 | 0, $24_1 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $24_1 | 0, 1352 | 0, -1 | 0) | 0; + $367(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 57 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 83 & 65535 | 0 | 0); + break label$1; + } + $366(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 15 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0) | 0; + } + $367(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(69456 + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $1295(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + $366(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 68 | 0, 1 | 0, 2 | 0) | 0; + $1420(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(69424 + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, -1 | 0); + $1383(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 32 | 0; + return; + } + + function $1696($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4096 | 0)) { + break label$4 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (90 | 0) & 1 | 0)) { + break label$4 + } + $37_1 = 0; + $366(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 72 | 0, $37_1 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + $1288(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 33 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, $37_1 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0) - 2 | 0 | 0); + break label$3; + } + label$5 : { + label$6 : { + if (!(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0)) { + break label$6 + } + break label$5; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1804(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$8 + } + $366(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 158 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $1420(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, -8 | 0); + $366(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 77 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + break label$7; + } + $367(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 157 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + $1420(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, -8 | 0); + } + } + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1697($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 80 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0)) { + break label$2 + } + $1805(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[($3_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 60 | 0) >> 2] = HEAP32[($3_1 + 72 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$5 : { + label$6 : { + label$7 : { + if ((HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (32240 | 0) & 1 | 0) { + break label$7 + } + if (!((HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (32250 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1358(HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1382(HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (32240 | 0) & 1 | 0)) { + break label$9 + } + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $1695(HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, 2 | 0); + break label$8; + } + $366(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 69 | 0, 1 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0; + } + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 105 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 54 | 0, (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 31 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + break label$5; + } + label$10 : { + label$11 : { + if ((HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (28807 | 0) & 1 | 0) { + break label$11 + } + if (!((HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (28812 | 0) & 1 | 0)) { + break label$10 + } + } + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1358(HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1382(HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + label$12 : { + label$13 : { + if (!((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$13 + } + $366(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + break label$12; + } + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) + 2 | 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + } + $366(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0; + label$14 : { + label$15 : { + if (!((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (28807 | 0) & 1 | 0 ? 1 : -1; + $366(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0; + break label$14; + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (28807 | 0) & 1 | 0 ? 105 : 106; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1382(HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $1383(HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 31 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + $1369(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($3_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$4; + }; + } + } + $366(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 80 | 0; + return; + } + + function $1698($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1275(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $21_1 = 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1357(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, $21_1 | 0, $21_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 86 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $1420(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$7_1 >> 2] | 0 | 0, -9 | 0); + $367(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 16 | 0, ($1296(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) | 0; + $367(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 77 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 4 | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + break label$1; + } + $366(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $1699($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $8_1 = 0, $154_1 = 0, $177_1 = 0, $270_1 = 0, $277_1 = 0, $300_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + $8_1 = 0; + HEAP32[($6_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 28 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (76 | 0) & 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1358(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 20 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (90 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1296(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == (86 | 0) & 1 | 0)) { + break label$9 + } + $1700(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, 55 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + break label$8; + } + $1700(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, 57 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + break label$6; + } + $1700(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, 54 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + break label$4; + } + $367(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 48 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + } + label$10 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$10 + } + if (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) { + break label$10 + } + $1696(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, 0 | 0); + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1296(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + if (!(HEAP32[($6_1 + 64 | 0) >> 2] | 0)) { + break label$11 + } + if (!(((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$11 + } + $154_1 = 128; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1382(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1382(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $154_1 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $154_1 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 57 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $1383(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + $177_1 = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + -1 | 0; + label$12 : { + label$13 : { + switch ($177_1 | 0) { + case 0: + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $1697(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0); + break label$12; + case 1: + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$16 : { + label$17 : { + if (!(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0)) { + break label$17 + } + $366(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + break label$16; + } + $1806(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + break label$12; + default: + break label$13; + }; + } + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0)) { + break label$19 + } + $366(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 82 | 0, HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + break label$18; + } + $1806(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + } + label$20 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + $1288(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 123 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 2 & 65535 | 0 | 0); + } + label$21 : { + label$22 : { + if (!(HEAP32[($6_1 + 60 | 0) >> 2] | 0)) { + break label$22 + } + $366(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0) + 2 | 0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1276(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 11 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + break label$21; + } + $366(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, (($1296(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0) + 1 | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0 | 0) | 0; + label$23 : { + if (!(HEAP32[($6_1 + 28 | 0) >> 2] | 0)) { + break label$23 + } + $366(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + } + } + label$24 : { + if (!(HEAP32[($6_1 + 28 | 0) >> 2] | 0)) { + break label$24 + } + label$25 : { + label$26 : { + if (!((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $270_1 = HEAP32[(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + break label$25; + } + $270_1 = 0; + } + HEAP32[($6_1 + 8 | 0) >> 2] = $270_1; + label$27 : { + label$28 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$28 + } + $277_1 = $1379(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$27; + } + $277_1 = 0; + } + HEAP32[($6_1 + 4 | 0) >> 2] = $277_1; + $1807(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0); + $1698(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + $1384(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + label$29 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$29 + } + $366(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + } + $1369(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + } + $300_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $300_1 | 0; + } + + function $1700($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $40_1 = 0, $21_1 = 0, $24_1 = 0, $33_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1275(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1382(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1382(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $21_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $24_1 = (HEAP32[($21_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($21_1 + 44 | 0) >> 2] = $24_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $24_1; + HEAP32[($8_1 + 12 | 0) >> 2] = 105; + label$1 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$1 + } + $33_1 = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + -54 | 0; + label$2 : { + label$3 : { + switch ($33_1 | 0) { + case 3: + HEAP32[($8_1 + 56 | 0) >> 2] = 55; + break label$2; + case 0: + HEAP32[($8_1 + 56 | 0) >> 2] = 56; + break label$2; + default: + break label$3; + }; + } + HEAP32[($8_1 + 56 | 0) >> 2] = 57; + } + HEAP32[($8_1 + 12 | 0) >> 2] = 106; + } + $40_1 = 0; + $1807(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + $1807(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0); + $1278(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 115 | 0, $40_1 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, $40_1 | 0, 1352 | 0, -1 | 0) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $367(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 57 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, $40_1 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0); + label$6 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 51 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $75_1 = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + -54 | 0; + label$7 : { + label$8 : { + switch ($75_1 | 0) { + case 3: + $366(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0; + break label$7; + case 0: + $366(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 51 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0; + break label$7; + case 1: + $366(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0; + break label$7; + default: + break label$8; + }; + } + } + $366(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, ($1296(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) | 0) + 3 | 0 | 0) | 0; + $1277(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0); + $366(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0; + label$12 : { + label$13 : { + if ((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) == (54 | 0) & 1 | 0) { + break label$13 + } + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) == (57 | 0) & 1 | 0)) { + break label$12 + } + } + $1495(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, -1 | 0, ($1296(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0); + } + } + $367(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 128 & 65535 | 0 | 0); + $1383(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0); + global$0 = $8_1 + 64 | 0; + return; + } + + function $1701($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $367(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 48 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1702($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $1380(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, (HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1703($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $353(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 30 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 16 & 65535 | 0 | 0); + $1383(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 32 | 0; + return; + } + + function $1704($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $10_1 = 0, $43_1 = 0, $52_1 = 0, $115_1 = 0, $160_1 = 0, $207_1 = 0, $210_1 = 0, $238_1 = 0, $295_1 = 0, $59_1 = 0, $193_1 = 0, $205_1 = 0, $289_1 = 0, $290_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 96 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 68 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($9_1 + 60 | 0) >> 2] = (((HEAPU8[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 | 0) == ($10_1 | 0) & 1 | 0; + HEAP32[($9_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($9_1 + 88 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($9_1 + 52 | 0) >> 2] = ((HEAP32[($9_1 + 56 | 0) >> 2] | 0) + (HEAP32[($9_1 + 60 | 0) >> 2] | 0) | 0) + (HEAP32[($9_1 + 72 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 44 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($9_1 + 28 | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + if (!(HEAP32[($9_1 + 68 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($9_1 + 48 | 0) >> 2] = (HEAP32[($9_1 + 80 | 0) >> 2] | 0) - (HEAP32[($9_1 + 68 | 0) >> 2] | 0) | 0; + break label$1; + } + HEAP32[($9_1 + 48 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $43_1 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + HEAP32[($43_1 + 44 | 0) >> 2] = (HEAP32[($43_1 + 44 | 0) >> 2] | 0) + (HEAP32[($9_1 + 52 | 0) >> 2] | 0) | 0; + } + label$3 : { + label$4 : { + if (!(HEAP32[((HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$4 + } + $52_1 = (HEAP32[((HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + $52_1 = HEAP32[((HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[($9_1 + 32 | 0) >> 2] = $52_1; + $59_1 = $1358(HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 24 | 0) >> 2] = $59_1; + $1380(HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($9_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, ((HEAP32[($9_1 + 76 | 0) >> 2] | 0 ? 4 : 0) | 1 | 0) & 255 | 0 | 0) | 0; + label$5 : { + if (!(HEAP32[($9_1 + 60 | 0) >> 2] | 0)) { + break label$5 + } + $366(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 120 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 56 | 0) >> 2] | 0) | 0 | 0) | 0; + } + label$6 : { + if (HEAP32[($9_1 + 68 | 0) >> 2] | 0) { + break label$6 + } + if (!((HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + $1387(HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 80 | 0) >> 2] | 0 | 0, ((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 56 | 0) >> 2] | 0) | 0) + (HEAP32[($9_1 + 60 | 0) >> 2] | 0) | 0 | 0, HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0); + } + label$7 : { + label$8 : { + if (!((HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1809(HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $115_1 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + HEAP32[($115_1 + 44 | 0) >> 2] = (HEAP32[($115_1 + 44 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 8 | 0) >> 2] = ((HEAP32[($9_1 + 56 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + (HEAP32[($9_1 + 60 | 0) >> 2] | 0) | 0; + label$9 : { + label$10 : { + if (!(HEAP32[($9_1 + 60 | 0) >> 2] | 0)) { + break label$10 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1288(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 20 | 0, (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 56 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$9; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1288(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 113 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $367(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 86 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1467(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($9_1 + 92 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + break label$7; + } + $160_1 = 0; + HEAP32[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($9_1 + 8 | 0) >> 2] | 0) + (HEAP32[($9_1 + 72 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $3289(HEAP32[((HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 0 | 0, (HEAPU16[((HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + $357(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0, -9 | 0); + $193_1 = $1357(HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($9_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, (((HEAPU16[((HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0) - ((HEAPU16[((HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0) & 65535 | 0) | 0) - 1 | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $193_1; + HEAP32[($9_1 + 12 | 0) >> 2] = $160_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1296(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 16 | 0, (HEAP32[($9_1 + 16 | 0) >> 2] | 0) + 1 | 0 | 0, $160_1 | 0, (HEAP32[($9_1 + 16 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $205_1 = $1358(HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] = $205_1; + $207_1 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + $210_1 = (HEAP32[($207_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($207_1 + 44 | 0) >> 2] = $210_1; + HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] = $210_1; + $366(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + $1288(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 139 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + label$12 : { + if (!(HEAP32[($9_1 + 32 | 0) >> 2] | 0)) { + break label$12 + } + $366(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + } + $1277(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0); + $1387(HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0); + } + label$13 : { + if (!(HEAP32[($9_1 + 32 | 0) >> 2] | 0)) { + break label$13 + } + $238_1 = 0; + HEAP32[$9_1 >> 2] = HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $366(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 49 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0) | 0; + $366(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 33 | 0, HEAP32[$9_1 >> 2] | 0 | 0, $238_1 | 0) | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $353(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 38 | 0, HEAP32[$9_1 >> 2] | 0 | 0, $238_1 | 0, (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($9_1 + 56 | 0) >> 2] | 0) - (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $1288(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, 123 | 0, HEAP32[$9_1 >> 2] | 0 | 0) | 0; + } + label$14 : { + if (HEAP32[($9_1 + 44 | 0) >> 2] | 0) { + break label$14 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1809(HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + label$15 : { + label$16 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($9_1 + 36 | 0) >> 2] = 132; + break label$15; + } + HEAP32[($9_1 + 36 | 0) >> 2] = 131; + } + $353(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($9_1 + 52 | 0) >> 2] | 0) - (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0 | 0) | 0; + if (!(HEAP32[($9_1 + 28 | 0) >> 2] | 0)) { + break label$7 + } + $289_1 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + $290_1 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + label$17 : { + label$18 : { + if (!(HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0)) { + break label$18 + } + $295_1 = HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + break label$17; + } + $295_1 = $1296(HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) | 0; + } + $1495($289_1 | 0, $290_1 | 0, $295_1 | 0); + } + global$0 = $9_1 + 96 | 0; + return; + } + + function $1705($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $78_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1467(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : while (1) { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[$7_1 >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + label$6 : { + label$7 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 0] = 77; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + break label$6; + } + label$8 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + label$10 : { + if (!(HEAP32[($7_1 + 12 | 0) >> 2] | 0)) { + break label$10 + } + HEAP8[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 0] = 120; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + break label$9; + } + $78_1 = 0; + HEAP8[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 0] = 72; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = $78_1; + HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = $78_1; + } + } + } + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = (HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 20 | 0; + continue label$3; + }; + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $1706($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0, $38_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP16[($4_1 + 10 | 0) >> 1] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 32 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + $12_1 = 16; + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) <= (((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $12_1 | 0) >> $12_1 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!(((HEAPU16[(((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 4 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$4 + } + HEAP16[($4_1 + 10 | 0) >> 1] = (HEAPU16[($4_1 + 10 | 0) >> 1] | 0) + 1 | 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + $38_1 = 16; + return ((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) << $38_1 | 0) >> $38_1 | 0 | 0; + } + + function $1707($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $4_1 = 0, $61_1 = 0, $82_1 = 0, $41_1 = 0, $62_1 = 0, $42_1 = 0, $46_1 = 0, $49_1 = 0, $52_1 = 0, $55_1 = 0, $58_1 = 0, $63_1 = 0, $67_1 = 0, $70_1 = 0, $73_1 = 0, $76_1 = 0, $79_1 = 0, $83_1 = 0, $87_1 = 0, $90_1 = 0, $93_1 = 0, $96_1 = 0, $99_1 = 0, $221_1 = 0, $241_1 = 0, $251_1 = 0, $261_1 = 0, $271_1 = 0, $281_1 = 0, $289_1 = 0, $309_1 = 0, $319_1 = 0, $329_1 = 0, $339_1 = 0, $349_1 = 0, $355_1 = 0, $375_1 = 0, $385_1 = 0, $395_1 = 0, $405_1 = 0, $415_1 = 0, $112_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (44 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$3 : { + if (!($1810(HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1217(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, 152 | 0, 8423 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $41_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $41_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $221_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[i64toi32_i32$0 >> 2] = $221_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $42_1 = 48; + HEAP32[(i64toi32_i32$0 + $42_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $42_1 | 0) >> 2] | 0; + $46_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $46_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $241_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1 + $46_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $241_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $49_1 = 32; + i64toi32_i32$2 = $41_1 + $49_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $251_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1 + $49_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $251_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $52_1 = 24; + i64toi32_i32$2 = $41_1 + $52_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $261_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1 + $52_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $261_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $55_1 = 16; + i64toi32_i32$2 = $41_1 + $55_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $271_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1 + $55_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $271_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $58_1 = 8; + i64toi32_i32$2 = $41_1 + $58_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $281_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1 + $58_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $281_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $61_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + $62_1 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$2 = $62_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $289_1 = i64toi32_i32$0; + i64toi32_i32$0 = $61_1; + HEAP32[i64toi32_i32$0 >> 2] = $289_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $63_1 = 48; + HEAP32[(i64toi32_i32$0 + $63_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $63_1 | 0) >> 2] | 0; + $67_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $67_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $309_1 = i64toi32_i32$1; + i64toi32_i32$1 = $61_1 + $67_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $309_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $70_1 = 32; + i64toi32_i32$2 = $62_1 + $70_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $319_1 = i64toi32_i32$0; + i64toi32_i32$0 = $61_1 + $70_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $319_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $73_1 = 24; + i64toi32_i32$2 = $62_1 + $73_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $329_1 = i64toi32_i32$1; + i64toi32_i32$1 = $61_1 + $73_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $329_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $76_1 = 16; + i64toi32_i32$2 = $62_1 + $76_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $339_1 = i64toi32_i32$0; + i64toi32_i32$0 = $61_1 + $76_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $339_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $79_1 = 8; + i64toi32_i32$2 = $62_1 + $79_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $349_1 = i64toi32_i32$1; + i64toi32_i32$1 = $61_1 + $79_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $349_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $82_1 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $355_1 = i64toi32_i32$0; + i64toi32_i32$0 = $82_1; + HEAP32[i64toi32_i32$0 >> 2] = $355_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $83_1 = 48; + HEAP32[(i64toi32_i32$0 + $83_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $83_1 | 0) >> 2] | 0; + $87_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $87_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $375_1 = i64toi32_i32$1; + i64toi32_i32$1 = $82_1 + $87_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $375_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $90_1 = 32; + i64toi32_i32$2 = $4_1 + $90_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $385_1 = i64toi32_i32$0; + i64toi32_i32$0 = $82_1 + $90_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $385_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $93_1 = 24; + i64toi32_i32$2 = $4_1 + $93_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $395_1 = i64toi32_i32$1; + i64toi32_i32$1 = $82_1 + $93_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $395_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $96_1 = 16; + i64toi32_i32$2 = $4_1 + $96_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $405_1 = i64toi32_i32$0; + i64toi32_i32$0 = $82_1 + $96_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $405_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $99_1 = 8; + i64toi32_i32$2 = $4_1 + $99_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $415_1 = i64toi32_i32$1; + i64toi32_i32$1 = $82_1 + $99_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $415_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1240(HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 1] = 1; + } + } + HEAP32[($4_1 + 76 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 76 | 0) >> 2] = 0; + } + $112_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $112_1 | 0; + } + + function $1708($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $68_1 = 0, $73_1 = 0, $99_1 = 0, $122_1 = 0, $125_1 = 0, $175_1 = 0, $180_1 = 0, $199_1 = 0, $207_1 = 0, $208_1 = 0, $294_1 = 0, $297_1 = 0, $313_1 = 0, $328_1 = 0, $329_1 = 0, $300_1 = 0, $302_1 = 0, $322_1 = 0, $342_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $16_1 = (HEAPU8[(HEAP32[($4_1 + 68 | 0) >> 2] | 0) >> 0] | 0) + -164 | 0; + label$1 : { + label$2 : { + switch ($16_1 | 0) { + case 0: + case 2: + label$5 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $68_1 = 16; + $73_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) << $68_1 | 0) >> $68_1 | 0 | 0) == (((HEAPU16[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $73_1 | 0) >> $73_1 | 0 | 0) & 1 | 0)) { + break label$11 + } + break label$9; + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0; + continue label$10; + }; + } + label$12 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $99_1 = $1812(HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = $99_1; + if (!(($99_1 | 0) >= (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 20) | 0; + HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0; + $122_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + $125_1 = (HEAP32[($122_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($122_1 + 44 | 0) >> 2] = $125_1; + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = $125_1; + HEAP16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 1] = 65535; + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + label$13 : { + if (!((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + label$16 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$16 + } + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $175_1 = 16; + $180_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $175_1 | 0) >> $175_1 | 0 | 0) == (((HEAPU16[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $180_1 | 0) >> $180_1 | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 1] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + break label$14; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0; + continue label$15; + }; + } + } + $199_1 = 16; + label$17 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $199_1 | 0) >> $199_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$17 + } + $207_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + $208_1 = HEAP32[($207_1 + 12 | 0) >> 2] | 0; + HEAP32[($207_1 + 12 | 0) >> 2] = $208_1 + 1 | 0; + HEAP16[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 1] = $208_1; + } + } + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP8[(HEAP32[($4_1 + 68 | 0) >> 2] | 0) >> 0] = 166; + HEAP16[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 34 | 0) >> 1] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + break label$6; + } + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 72 | 0; + continue label$7; + }; + } + } + HEAP32[($4_1 + 76 | 0) >> 2] = 1; + break label$1; + case 1: + label$18 : { + if ((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 131072 | 0) { + break label$18 + } + if (!((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == ((HEAPU8[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + label$21 : { + if ($1529(0 | 0, HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, -1 | 0) | 0) { + break label$21 + } + break label$19; + } + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0; + continue label$20; + }; + } + label$22 : { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + HEAP8[($4_1 + 11 | 0) >> 0] = HEAPU8[((HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 78 | 0) >> 0] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1813(HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 64 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + $294_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + $297_1 = (HEAP32[($294_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($294_1 + 44 | 0) >> 2] = $297_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $297_1; + $300_1 = HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + $302_1 = HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$24 : { + label$25 : { + if (!((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + $313_1 = HEAP32[(HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0; + break label$24; + } + $313_1 = 0; + } + $322_1 = $469($300_1 | 0, $302_1 | 0, $313_1 | 0, (HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $322_1; + label$26 : { + label$27 : { + if (!((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2 | 0)) { + break label$27 + } + $328_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + $329_1 = HEAP32[($328_1 + 40 | 0) >> 2] | 0; + HEAP32[($328_1 + 40 | 0) >> 2] = $329_1 + 1 | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $329_1; + break label$26; + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = -1; + } + } + } + HEAP16[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 34 | 0) >> 1] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 76 | 0) >> 2] = 0; + break label$1; + default: + break label$2; + }; + } + HEAP32[($4_1 + 76 | 0) >> 2] = 0; + } + $342_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $342_1 | 0; + } + + function $1709($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $22_1 = 0, $51_1 = 0, $87_1 = 0, $72_1 = 0, $108_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + if ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 24576 | 0) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $22_1 = 16; + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 34 | 0) >> 1] | 0) << $22_1 | 0) >> $22_1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (166 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (!((HEAP32[(((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $51_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1310(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $51_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != ($51_1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $72_1 = $1214(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] = $72_1; + } + } + break label$2; + } + label$6 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $87_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1310(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $87_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != ($87_1 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $108_1 = $1214(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] = $108_1; + } + } + } + } + global$0 = $4_1 + 32 | 0; + return 0 | 0; + } + + function $1710($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $24_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $1549(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + $24_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $24_1 | 0; + } + + function $1711($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $252_1 = 0, $197_1 = 0, $69_1 = 0, $114_1 = 0, $143_1 = 0, $186_1 = 0, $193_1 = 0, $223_1 = 0, $170_1 = 0, $249_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 72) | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$7 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + } + $69_1 = (HEAPU8[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 0] | 0) + -164 | 0; + label$8 : { + label$9 : { + switch ($69_1 | 0) { + case 5: + label$12 : { + if ((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 16777216 | 0) { + break label$12 + } + break label$8; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + label$15 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$14; + }; + } + case 0: + case 1: + HEAP32[($4_1 + 12 | 0) >> 2] = -1; + label$16 : { + if (!((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + $114_1 = 0; + label$19 : { + if (!(($114_1 | 0) == ($1529($114_1 | 0, HEAP32[(((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, -1 | 0) | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$17; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + } + label$20 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$20 + } + $143_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1310(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, $143_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != ($143_1 | 0) & 1 | 0)) { + break label$21 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (165 | 0) & 1 | 0)) { + break label$21 + } + HEAP8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] = 169; + } + $170_1 = $1214(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = $170_1; + } + label$22 : { + if (!((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[$4_1 >> 2] = (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0; + $186_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($186_1 + 4 | 0) >> 2] = HEAP32[($186_1 + 4 | 0) >> 2] | 0 | 134217728 | 0; + $18(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + $193_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($193_1 + 4 | 0) >> 2] = (HEAP32[($193_1 + 4 | 0) >> 2] | 0) & -134217729 | 0; + $197_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $252_1 = 0; + i64toi32_i32$1 = $197_1; + HEAP32[i64toi32_i32$1 >> 2] = $252_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $252_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $197_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $252_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $197_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $252_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $197_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $252_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $197_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $252_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 0] = 164; + label$23 : { + label$24 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$24 + } + $223_1 = (HEAP32[(HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0; + break label$23; + } + $223_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + HEAP16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 1] = $223_1; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + label$25 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 2; + break label$1; + } + break label$8; + default: + break label$9; + }; + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $249_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $249_1 | 0; + } + + function $1712($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $30_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$3 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $30_1 = $1674(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = $30_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1713($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $31_1 = 0, $46$hi = 0, $42_1 = 0, $46_1 = 0, $133$hi = 0, $137_1 = 0, $43_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $31_1 = 16; + label$4 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $31_1 | 0) >> $31_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = $1601(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $46_1 = i64toi32_i32$0; + $46$hi = i64toi32_i32$1; + $42_1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = $42_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $133$hi = i64toi32_i32$0; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $137_1 = i64toi32_i32$2 | $46_1 | 0; + i64toi32_i32$2 = $42_1; + HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] = $137_1; + HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $43_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $43_1 | 0; + } + + function $1714($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $72_1 = 0, $103_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1497(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 256 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1173(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1668(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $72_1 = $1606(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = $72_1; + } + HEAP32[(((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP8[((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[((((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + $103_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $103_1 | 0; + } + + function $1715($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, $80_1 = 0, $150_1 = 0, $185_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 80 | 0; + global$0 = $10_1; + HEAP32[($10_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 52 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 48 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 44 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1296(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1358(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(HEAP32[($10_1 + 52 | 0) >> 2] | 0)) { + break label$1 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1288(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1278(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 86 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $1386(HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0, -9 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 16 | 0, (HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 2 | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0; + $1277(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0); + $367(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 77 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + $366(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 69 | 0, 1 | 0, HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0) | 0; + } + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($10_1 + 72 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($10_1 + 76 | 0) >> 2] = 0; + break label$2; + } + $1701(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0); + $80_1 = (HEAPU8[(HEAP32[($10_1 + 60 | 0) >> 2] | 0) >> 0] | 0) + -10 | 0; + label$4 : { + label$5 : { + switch ($80_1 | 0) { + case 2: + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1382(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1382(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0) | 0; + $366(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 8 & 65535 | 0 | 0); + $1383(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0); + break label$4; + case 1: + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1382(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + $1383(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0); + break label$4; + case 0: + label$10 : { + if (HEAP32[((HEAP32[($10_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$10 + } + $1387(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + } + break label$4; + case 3: + label$11 : { + if (HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$11 + } + $150_1 = $1379(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] = $150_1; + HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + $1387(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 14 | 0, HEAP32[((HEAP32[($10_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + break label$4; + default: + break label$5; + }; + } + $366(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 80 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + } + label$12 : { + if (!(HEAP32[((HEAP32[($10_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$12 + } + $366(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 59 | 0, HEAP32[((HEAP32[($10_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0) | 0; + } + $1369(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, 65 | 0, HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($10_1 + 76 | 0) >> 2] = HEAP32[($10_1 + 32 | 0) >> 2] | 0; + } + $185_1 = HEAP32[($10_1 + 76 | 0) >> 2] | 0; + global$0 = $10_1 + 80 | 0; + return $185_1 | 0; + } + + function $1716($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $13_1 = 0, $50_1 = 0, $55_1 = 0, $67_1 = 0, i64toi32_i32$0 = 0, $83_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0)) { + break label$2 + } + break label$1; + } + $13_1 = 24; + label$3 : { + if (!((($1543(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0) << $13_1 | 0) >> $13_1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if ($1717($427(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) { + break label$4 + } + break label$1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $50_1 = 16; + $55_1 = 16; + if (!((((HEAPU16[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $50_1 | 0) >> $50_1 | 0 | 0) == (((HEAPU16[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $55_1 | 0) >> $55_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + break label$1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $67_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($67_1 + 4 | 0) >> 2] = (HEAP32[($67_1 + 4 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = 0; + $83_1 = $875(HEAP32[(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 1 | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = $83_1; + label$8 : { + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 1 | 0) - 2 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 1 | 0) - 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1717($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $12_1 = 1; + label$1 : { + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$1 + } + $12_1 = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (15 | 0); + } + return $12_1 & 1 | 0 | 0; + } + + function $1718($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) > (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + } + } + return; + } + + function $1719($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $1718(HEAP32[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1720($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $133_1 = 0, $78_1 = 0, $117_1 = 0, $77_1 = 0, $98_1 = 0, $30_1 = 0, $72_1 = 0, $76_1 = 0, $102_1 = 0, $108_1 = 0, $128_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP16[($5_1 + 18 | 0) >> 1] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[(HEAP32[(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $30_1 = $365(HEAP32[$5_1 >> 2] | 0 | 0, Math_imul(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, 48) << 1 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = $30_1; + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (!(((HEAPU16[($5_1 + 18 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$4 + } + $18(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $3288(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 48) | 0) | 0; + label$5 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0 | 0) & 1 | 0)) { + break label$5 + } + $13(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + $72_1 = (($59(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0) >>> 0) / (48 >>> 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] = $72_1; + } + $76_1 = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $77_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $78_1 = HEAP32[($77_1 + 12 | 0) >> 2] | 0; + HEAP32[($77_1 + 12 | 0) >> 2] = $78_1 + 1 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $78_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $76_1 + Math_imul($78_1, 48) | 0; + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 262144 | 0)) { + break label$7 + } + i64toi32_i32$1 = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $98_1 = 16; + $102_1 = ((($937(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) << $98_1 | 0) >> $98_1 | 0) - 270 | 0; + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = $102_1; + break label$6; + } + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] = 1; + } + $108_1 = $1527(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = $108_1; + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 1] = HEAPU16[($5_1 + 18 | 0) >> 1] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = -1; + $117_1 = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0; + i64toi32_i32$0 = 0; + $133_1 = 0; + i64toi32_i32$1 = $117_1; + HEAP32[i64toi32_i32$1 >> 2] = $133_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $133_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $117_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $133_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $117_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $133_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + $128_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $128_1 | 0; + } + + function $1721($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $916$hi = 0, $917$hi = 0, $921$hi = 0, $933$hi = 0, $6_1 = 0, $81_1 = 0, $94_1 = 0, $908$hi = 0, $911$hi = 0, $912$hi = 0, $914$hi = 0, $915$hi = 0, $83_1 = 0, $104_1 = 0, $922$hi = 0, $923$hi = 0, $925$hi = 0, $171_1 = 0, $240_1 = 0, $252_1 = 0, $262_1 = 0, $275_1 = 0, $929$hi = 0, $930$hi = 0, $333_1 = 0, $438_1 = 0, $448_1 = 0, $449_1 = 0, $453_1 = 0, $523_1 = 0, $525_1 = 0, $603_1 = 0, $608_1 = 0, $936$hi = 0, $937$hi = 0, $939$hi = 0, $624_1 = 0, $641_1 = 0, $667_1 = 0, $683_1 = 0, $727_1 = 0, $799_1 = 0, $943$hi = 0, $897_1 = 0, $1040_1 = 0, $1092_1 = 0, $1105_1 = 0, $1134_1 = 0, $1147_1 = 0, $1191_1 = 0, $908_1 = 0, $1196$hi = 0, $1200_1 = 0, $1207_1 = 0, $1218_1 = 0, $1235_1 = 0, $922_1 = 0, $1277_1 = 0, $158_1 = 0, $274_1 = 0, $929_1 = 0, $1649_1 = 0, $1654_1 = 0, $1660_1 = 0, $292_1 = 0, $2389_1 = 0, $2398_1 = 0, $936_1 = 0, $2404_1 = 0, $2503_1 = 0, $2578_1 = 0, $943_1 = 0, $3014$hi = 0, $3018_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 272 | 0; + global$0 = $5_1; + $6_1 = 0; + $7_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 268 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 264 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 260 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 256 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 264 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 216 | 0) >> 2] = 0; + HEAP32[($5_1 + 220 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 212 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 208 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 204 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 196 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 256 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 192 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 196 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[($5_1 + 191 | 0) >> 0] = $6_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 192 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != ($6_1 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($5_1 + 252 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 260 | 0) >> 2] | 0, 48) | 0; + HEAP32[($5_1 + 248 | 0) >> 2] = (HEAP32[($5_1 + 256 | 0) >> 2] | 0) + 488 | 0; + HEAP32[($5_1 + 244 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 252 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = $1733(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1040_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 232 | 0) >> 2] = $1040_1; + HEAP32[($5_1 + 236 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 200 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) == (49 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!($1531(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + break label$1; + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$7 + } + i64toi32_i32$1 = $1750(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1092_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1092_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + break label$6; + } + i64toi32_i32$0 = $1687(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1105_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $1105_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + } + break label$3; + } + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) == (50 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + break label$8; + } + i64toi32_i32$1 = $1733(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1134_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1134_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + } + } + HEAP32[(HEAP32[($5_1 + 248 | 0) >> 2] | 0) >> 2] = 0; + i64toi32_i32$0 = $1751(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1147_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 224 | 0) >> 2] = $1147_1; + HEAP32[($5_1 + 228 | 0) >> 2] = i64toi32_i32$1; + label$10 : { + if (!(HEAP32[(HEAP32[($5_1 + 248 | 0) >> 2] | 0) >> 2] | 0)) { + break label$10 + } + $81_1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP16[($81_1 + 10 | 0) >> 1] = (HEAPU16[($81_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 4096 | 0; + } + label$11 : { + if (!((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$11 + } + $94_1 = 16; + i64toi32_i32$1 = $1726(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 36 | 0) >> 1] | 0) << $94_1 | 0) >> $94_1 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1191_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 176 | 0) >> 2] = $1191_1; + HEAP32[($5_1 + 180 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 180 | 0) >> 2] | 0; + $908_1 = i64toi32_i32$0; + $908$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 228 | 0) >> 2] | 0; + $1196$hi = i64toi32_i32$0; + i64toi32_i32$0 = $908$hi; + i64toi32_i32$0 = $1196$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $908$hi; + i64toi32_i32$3 = $908_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $1200_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 224 | 0) >> 2] = $1200_1; + HEAP32[($5_1 + 228 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 180 | 0) >> 2] | 0; + $911$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $912$hi = i64toi32_i32$2; + i64toi32_i32$2 = $911$hi; + i64toi32_i32$2 = $912$hi; + i64toi32_i32$2 = $911$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $912$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $1207_1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 216 | 0) >> 2] = $1207_1; + HEAP32[($5_1 + 220 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 228 | 0) >> 2] | 0; + $914$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $915$hi = i64toi32_i32$0; + i64toi32_i32$0 = $914$hi; + i64toi32_i32$0 = $915$hi; + i64toi32_i32$0 = $914$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $915$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $83_1 = i64toi32_i32$0 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$0 >>> i64toi32_i32$1 | 0; + $83_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$1 | 0) | 0; + } + $916$hi = i64toi32_i32$5; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 180 | 0) >> 2] | 0; + $917$hi = i64toi32_i32$2; + i64toi32_i32$2 = $916$hi; + i64toi32_i32$2 = $917$hi; + i64toi32_i32$2 = $916$hi; + i64toi32_i32$2 = $917$hi; + $1218_1 = i64toi32_i32$5; + i64toi32_i32$2 = $916$hi; + i64toi32_i32$0 = $83_1; + i64toi32_i32$5 = $917$hi; + i64toi32_i32$3 = $1218_1; + label$12 : { + if (!((i64toi32_i32$2 >>> 0 > i64toi32_i32$5 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$0 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$12 + } + $349(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, 32344 | 0, 0 | 0); + break label$1; + } + } + $104_1 = -1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 228 | 0) >> 2] | 0; + $1235_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $1235_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 20 | 0) >> 2] = $104_1; + HEAP32[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 16 | 0) >> 2] = $104_1; + HEAP16[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 12 | 0) >> 1] = 0; + label$13 : { + label$14 : { + if (!($1752(HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) | 0)) { + break label$14 + } + i64toi32_i32$2 = 0; + $921$hi = i64toi32_i32$2; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1316(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1316(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$3 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $922_1 = i64toi32_i32$2; + $922$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 236 | 0) >> 2] | 0; + $923$hi = i64toi32_i32$2; + i64toi32_i32$2 = $922$hi; + i64toi32_i32$2 = $923$hi; + $1277_1 = i64toi32_i32$0; + i64toi32_i32$2 = $922$hi; + i64toi32_i32$3 = $922_1; + i64toi32_i32$0 = $923$hi; + i64toi32_i32$5 = $1277_1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $925$hi = i64toi32_i32$0; + i64toi32_i32$0 = $921$hi; + i64toi32_i32$0 = $925$hi; + i64toi32_i32$0 = $921$hi; + i64toi32_i32$0 = $925$hi; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$5 | 0; + i64toi32_i32$3 = $921$hi; + i64toi32_i32$5 = 0; + HEAP16[($5_1 + 158 | 0) >> 1] = ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0 ? 8191 : 2048; + label$15 : { + if (!((HEAP32[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($5_1 + 164 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($5_1 + 164 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + (((HEAP32[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0) >> 2] | 0; + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 236 | 0) >> 2] | 0; + label$16 : { + if (!($1753(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0, $5_1 + 168 | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) | 0)) { + break label$16 + } + HEAP32[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + $158_1 = ($1754(HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) | 0) & 65535 | 0; + HEAP16[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 12 | 0) >> 1] = $158_1 & ((HEAPU16[($5_1 + 158 | 0) >> 1] | 0) & 65535 | 0) | 0; + } + label$17 : { + if (!((HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$17 + } + $171_1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP16[($171_1 + 10 | 0) >> 1] = (HEAPU16[($171_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 2048 | 0; + } + label$18 : { + if (!((HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + i64toi32_i32$5 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 36 | 0) >> 2] | 0; + if (!($1753(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0, $5_1 + 168 | 0 | 0, HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) | 0)) { + break label$18 + } + HEAP16[($5_1 + 146 | 0) >> 1] = 0; + label$19 : { + label$20 : { + if (!((HEAP32[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 192 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$21 + } + $18(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0); + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1720(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0, 3 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (HEAP32[($5_1 + 140 | 0) >> 2] | 0) { + break label$22 + } + break label$1; + } + HEAP32[($5_1 + 152 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 140 | 0) >> 2] | 0, 48) | 0; + $1755(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0); + label$23 : { + if (!((HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$23 + } + $240_1 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + HEAP16[($240_1 + 10 | 0) >> 1] = (HEAPU16[($240_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 2048 | 0; + } + HEAP32[($5_1 + 252 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 260 | 0) >> 2] | 0, 48) | 0; + $252_1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP16[($252_1 + 10 | 0) >> 1] = (HEAPU16[($252_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + label$24 : { + if (!($1756(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0) | 0)) { + break label$24 + } + $262_1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP16[($262_1 + 12 | 0) >> 1] = (HEAPU16[($262_1 + 12 | 0) >> 1] | 0) & 65535 | 0 | 2048 | 0; + HEAP16[($5_1 + 146 | 0) >> 1] = 2048; + } + break label$19; + } + HEAP32[($5_1 + 148 | 0) >> 2] = HEAP32[($5_1 + 244 | 0) >> 2] | 0; + HEAP32[($5_1 + 152 | 0) >> 2] = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + } + $274_1 = ($1757(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0) | 0) & 65535 | 0; + $275_1 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + HEAP16[($275_1 + 10 | 0) >> 1] = (HEAPU16[($275_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | $274_1 | 0; + HEAP32[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 232 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 236 | 0) >> 2] | 0; + $929_1 = i64toi32_i32$2; + $929$hi = i64toi32_i32$0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 216 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 220 | 0) >> 2] | 0; + $930$hi = i64toi32_i32$2; + i64toi32_i32$2 = $929$hi; + i64toi32_i32$2 = $930$hi; + $1649_1 = i64toi32_i32$0; + i64toi32_i32$2 = $929$hi; + i64toi32_i32$5 = $929_1; + i64toi32_i32$0 = $930$hi; + i64toi32_i32$3 = $1649_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $1654_1 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$5 + 32 | 0) >> 2] = $1654_1; + HEAP32[(i64toi32_i32$5 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 228 | 0) >> 2] | 0; + $1660_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $1660_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$5; + $292_1 = ($1754((HEAPU8[(HEAP32[($5_1 + 148 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0) & 65535 | 0; + HEAP16[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 12 | 0) >> 1] = ($292_1 + ((HEAPU16[($5_1 + 146 | 0) >> 1] | 0) & 65535 | 0) | 0) & ((HEAPU16[($5_1 + 158 | 0) >> 1] | 0) & 65535 | 0) | 0; + } + break label$13; + } + label$25 : { + label$26 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$26 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($5_1 + 136 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 132 | 0) >> 2] = 0; + label$27 : { + label$28 : while (1) { + if (!((HEAP32[($5_1 + 132 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$27 + } + $333_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 32385 | 0) >> 0] | 0) & 255 | 0 | 0, $1310(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $333_1 | 0) | 0 | 0, $1310(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 132 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, $333_1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + $1758(HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1720(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0, 3 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + $1721(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 252 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 260 | 0) >> 2] | 0, 48) | 0; + $1755(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 132 | 0) >> 2] = (HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + break label$25; + } + label$29 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (43 | 0) & 1 | 0)) { + break label$29 + } + $1759(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 252 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 260 | 0) >> 2] | 0, 48) | 0; + } + } + } + label$30 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$30 + } + if (!($1760(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, $5_1 + 212 | 0 | 0, $5_1 + 208 | 0 | 0, $5_1 + 204 | 0 | 0) | 0)) { + break label$30 + } + HEAP16[($5_1 + 94 | 0) >> 1] = 259; + HEAP32[($5_1 + 120 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$31 : { + if (!(HEAP32[($5_1 + 204 | 0) >> 2] | 0)) { + break label$31 + } + if (((HEAPU8[((HEAP32[(HEAP32[($5_1 + 196 | 0) >> 2] | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$31 + } + $438_1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP16[($438_1 + 10 | 0) >> 1] = (HEAPU16[($438_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 1024 | 0; + HEAP32[($5_1 + 88 | 0) >> 2] = 0; + label$32 : { + label$33 : while (1) { + $448_1 = HEAPU8[((HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 88 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($5_1 + 87 | 0) >> 0] = $448_1; + $449_1 = 24; + if (!(($448_1 << $449_1 | 0) >> $449_1 | 0)) { + break label$32 + } + $453_1 = 24; + HEAP8[((HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 88 | 0) >> 2] | 0) | 0) >> 0] = (((HEAPU8[($5_1 + 87 | 0) >> 0] | 0) << $453_1 | 0) >> $453_1 | 0) & ((((HEAPU8[(((HEAPU8[($5_1 + 87 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 32 | 0) ^ -1 | 0) | 0; + HEAP8[((HEAP32[((HEAP32[($5_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 88 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[(((HEAPU8[($5_1 + 87 | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0; + HEAP32[($5_1 + 88 | 0) >> 2] = (HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$33; + }; + } + } + label$34 : { + if (((HEAPU8[((HEAP32[($5_1 + 192 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$34 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (HEAP32[((HEAP32[($5_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (($68(HEAP32[((HEAP32[($5_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + HEAP8[($5_1 + 86 | 0) >> 0] = HEAPU8[(HEAP32[($5_1 + 80 | 0) >> 2] | 0) >> 0] | 0; + label$35 : { + if (!(HEAP32[($5_1 + 204 | 0) >> 2] | 0)) { + break label$35 + } + label$36 : { + if (!(((HEAPU8[($5_1 + 86 | 0) >> 0] | 0) & 255 | 0 | 0) == (64 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[($5_1 + 208 | 0) >> 2] = 0; + } + HEAP8[($5_1 + 86 | 0) >> 0] = HEAPU8[(((HEAPU8[($5_1 + 86 | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0; + } + HEAP8[(HEAP32[($5_1 + 80 | 0) >> 2] | 0) >> 0] = ((HEAPU8[($5_1 + 86 | 0) >> 0] | 0) & 255 | 0) + 1 | 0; + } + $523_1 = 259; + $525_1 = 0; + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[($5_1 + 204 | 0) >> 2] | 0 ? 32387 : 2261; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $525_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, 57 | 0, $1606(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + $1758(HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1720(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0, $523_1 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + $1721(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $525_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, 56 | 0, $1606(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + $1758(HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1720(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, $523_1 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + $1721(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 252 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 260 | 0) >> 2] | 0, 48) | 0; + label$37 : { + if (!(HEAP32[($5_1 + 208 | 0) >> 2] | 0)) { + break label$37 + } + $1755(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0); + $1755(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0); + } + } + label$38 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$38 + } + $603_1 = 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $603_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $603_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1761(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, $5_1 + 191 | 0 | 0, $5_1 + 72 | 0 | 0, $5_1 + 76 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$39 : { + label$40 : while (1) { + $608_1 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + HEAP32[($5_1 + 68 | 0) >> 2] = $608_1 + -1 | 0; + if (!(($608_1 | 0) > (0 | 0) & 1 | 0)) { + break label$39 + } + i64toi32_i32$5 = 0; + $933$hi = i64toi32_i32$5; + i64toi32_i32$5 = $1733(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $2389_1 = i64toi32_i32$5; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $2389_1; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $1733(HEAP32[($5_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $2398_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2398_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $936_1 = i64toi32_i32$5; + $936$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $937$hi = i64toi32_i32$5; + i64toi32_i32$5 = $936$hi; + i64toi32_i32$5 = $937$hi; + $2404_1 = i64toi32_i32$0; + i64toi32_i32$5 = $936$hi; + i64toi32_i32$2 = $936_1; + i64toi32_i32$0 = $937$hi; + i64toi32_i32$3 = $2404_1; + i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$0 | 0; + $939$hi = i64toi32_i32$0; + i64toi32_i32$0 = $933$hi; + i64toi32_i32$0 = $939$hi; + i64toi32_i32$0 = $933$hi; + i64toi32_i32$0 = $939$hi; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $933$hi; + i64toi32_i32$3 = 0; + label$41 : { + if (!(((i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$41 + } + $624_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, 46 | 0, $624_1 | 0, $1310(HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, $624_1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$42 : { + if (!((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$42 + } + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$42 + } + $641_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($641_1 + 4 | 0) >> 2] = HEAP32[($641_1 + 4 | 0) >> 2] | 0 | 1 | 0; + HEAP16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 1] = HEAPU16[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 36 | 0) >> 1] | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1720(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, 3 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 60 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 64 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $2503_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$5 + 32 | 0) >> 2] = $2503_1; + HEAP32[(i64toi32_i32$5 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $667_1 = 16; + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] = ((HEAPU16[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $667_1 | 0) >> $667_1 | 0; + HEAP16[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 1] = 64; + HEAP8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 15 | 0) >> 0] = HEAPU8[($5_1 + 191 | 0) >> 0] | 0; + $1755(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 252 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 260 | 0) >> 2] | 0, 48) | 0; + $683_1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP16[($683_1 + 10 | 0) >> 1] = (HEAPU16[($683_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 8 | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $2578_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $2578_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$5; + } + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + continue label$40; + }; + } + } + label$43 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$43 + } + label$44 : { + if (((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (53 | 0) & 1 | 0) { + break label$44 + } + if (!(((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$43 + } + } + $727_1 = $1432(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 184 | 0) >> 2] = $727_1; + if (!(($727_1 | 0) > (1 | 0) & 1 | 0)) { + break label$43 + } + if (!(($1432(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$43 + } + label$45 : { + if (!((HEAP32[((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$45 + } + if ((HEAP32[((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0) { + break label$43 + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + label$46 : { + label$47 : while (1) { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$46 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1433(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1433(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, (HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $1758(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1720(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 1 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $1721(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$47; + }; + } + HEAP32[($5_1 + 252 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 260 | 0) >> 2] | 0, 48) | 0; + $799_1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + HEAP16[($799_1 + 10 | 0) >> 1] = (HEAPU16[($799_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 6 | 0; + HEAP16[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 12 | 0) >> 1] = 0; + } + label$48 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$48 + } + if (!(((HEAPU8[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (49 | 0) & 1 | 0)) { + break label$48 + } + if (HEAP32[((HEAP32[($5_1 + 252 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$48 + } + if (!(((HEAPU8[(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (174 | 0) & 1 | 0)) { + break label$48 + } + if (!((HEAP32[((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$48 + } + if (!((HEAP32[((HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$48 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$49 : { + label$50 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < ($1432(HEAP32[((HEAP32[($5_1 + 244 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$49 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1720(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, 2 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 4 | 0) >> 2] | 0, 48) | 0) + 28 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + $1721(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + $1755(HEAP32[($5_1 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 260 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$50; + }; + } + } + HEAP32[($5_1 + 252 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 264 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 260 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 216 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 220 | 0) >> 2] | 0; + $943_1 = i64toi32_i32$5; + $943$hi = i64toi32_i32$0; + $897_1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + i64toi32_i32$3 = $897_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $3014$hi = i64toi32_i32$5; + i64toi32_i32$5 = $943$hi; + i64toi32_i32$5 = $3014$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $943$hi; + i64toi32_i32$2 = $943_1; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + $3018_1 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + i64toi32_i32$3 = $897_1; + HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] = $3018_1; + HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] = i64toi32_i32$0; + } + global$0 = $5_1 + 272 | 0; + return; + } + + function $1722($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (169 | 0) & 1 | 0)) { + break label$2 + } + if (((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 524288 | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1723($0_1, $1_1, $2_1, $3_1, $3$hi, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $60$hi = 0, $66$hi = 0, $61$hi = 0, $62$hi = 0, $64$hi = 0, $68$hi = 0, $61_1 = 0, $138_1 = 0, $57_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 144 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 136 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 132 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 128 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 120 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 124 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 116 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 112 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 108 | 0) >> 2] = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1768($8_1 + 8 | 0 | 0, HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 116 | 0) >> 2] = (HEAP32[($8_1 + 116 | 0) >> 2] | 0) & 130 | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $60$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($8_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $61_1 = i64toi32_i32$0; + $61$hi = i64toi32_i32$1; + i64toi32_i32$2 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + $62$hi = i64toi32_i32$0; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$0 = $62$hi; + $138_1 = i64toi32_i32$1; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$2 = $61_1; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$3 = $138_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $64$hi = i64toi32_i32$1; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$1 = $64$hi; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$1 = $64$hi; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $60$hi; + i64toi32_i32$3 = 0; + label$4 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $66$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($8_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $68$hi = i64toi32_i32$1; + i64toi32_i32$1 = $66$hi; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$1 = $66$hi; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$2 = 0; + label$5 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$5 + } + if (!(((HEAPU16[((HEAP32[($8_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & (HEAP32[($8_1 + 116 | 0) >> 2] | 0) | 0)) { + break label$5 + } + HEAP32[($8_1 + 140 | 0) >> 2] = HEAP32[($8_1 + 104 | 0) >> 2] | 0; + break label$1; + } + label$6 : { + if (!((HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($8_1 + 108 | 0) >> 2] = HEAP32[($8_1 + 104 | 0) >> 2] | 0; + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1769($8_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + continue label$3; + }; + } + HEAP32[($8_1 + 140 | 0) >> 2] = HEAP32[($8_1 + 108 | 0) >> 2] | 0; + } + $57_1 = HEAP32[($8_1 + 140 | 0) >> 2] | 0; + global$0 = $8_1 + 144 | 0; + return $57_1 | 0; + } + + function $1724($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $52_1 = 0, $62_1 = 0, $103_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1527(HEAP32[(((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!(((HEAPU8[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$4 + } + $52_1 = 16; + $62_1 = 16; + if (!((((HEAPU16[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $52_1 | 0) >> $52_1 | 0 | 0) == (((HEAPU16[((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1675(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((0 | 0) == ($88(HEAP32[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($7_1 + 44 | 0) >> 2] = -1; + } + $103_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $103_1 | 0; + } + + function $1725($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + $13_1 = 16; + HEAP32[$4_1 >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $13_1 | 0) >> $13_1 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[(((HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[$4_1 >> 2] | 0, 20) | 0) + 12 | 0) >> 0] | 0) & 255 | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1726($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $33$hi = 0, $34$hi = 0, i64toi32_i32$3 = 0, $10_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $33$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $34$hi = i64toi32_i32$0; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $10_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $10_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $10_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + i64toi32_i32$1 = 0; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$2; + return i64toi32_i32$1 | 0; + } + + function $1727($0_1, $1_1, $1$hi, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $199$hi = 0, $208$hi = 0, $225$hi = 0, $226$hi = 0, $229$hi = 0, $230$hi = 0, $234$hi = 0, $239$hi = 0, $240$hi = 0, $243$hi = 0, $244$hi = 0, $251$hi = 0, $252$hi = 0, $6_1 = 0, $43_1 = 0, $197$hi = 0, $200$hi = 0, $201$hi = 0, $202$hi = 0, $203$hi = 0, $204_1 = 0, $205$hi = 0, $207_1 = 0, $78_1 = 0, $209$hi = 0, $211$hi = 0, $212$hi = 0, $213$hi = 0, $214$hi = 0, $217$hi = 0, $96_1 = 0, $220$hi = 0, $221$hi = 0, $222$hi = 0, $223$hi = 0, $237$hi = 0, $247$hi = 0, $248$hi = 0, $249$hi = 0, $250$hi = 0, $255$hi = 0, $256$hi = 0, $257$hi = 0, $258$hi = 0, $422$hi = 0, $85_1 = 0, $200_1 = 0, $444_1 = 0, $492$hi = 0, $86_1 = 0, $211_1 = 0, $511_1 = 0, $514_1 = 0, $220_1 = 0, $584_1 = 0, $587_1 = 0, $225_1 = 0, $595_1 = 0, $229_1 = 0, $609_1 = 0, $619_1 = 0, $630_1 = 0, $239_1 = 0, $650_1 = 0, $243_1 = 0, $663_1 = 0, $247_1 = 0, $248_1 = 0, $683_1 = 0, $697_1 = 0, $251_1 = 0, $714_1 = 0, $255_1 = 0, $756_1 = 0, $257_1 = 0, $797_1 = 0, $193_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 128 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 120 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 116 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 104 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 108 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 100 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 92 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 96 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 84 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0, 72) | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1774(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $5_1 + 54 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 124 | 0) >> 2] = 7; + break label$1; + } + $43_1 = 0; + HEAP16[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 18 | 0) >> 1] = $43_1; + HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] = 1024; + HEAP16[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 1] = $43_1; + HEAP8[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 0] = 0; + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 80 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + if (!($1735(HEAP32[(HEAP32[($5_1 + 92 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + $13(HEAP32[(HEAP32[($5_1 + 92 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 124 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$1 = -1; + $197$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $422$hi = i64toi32_i32$0; + i64toi32_i32$0 = $197$hi; + i64toi32_i32$0 = $422$hi; + $85_1 = i64toi32_i32$1; + i64toi32_i32$1 = $197$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1775(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $85_1 | 0, i64toi32_i32$0 | 0, -1 | 0, i64toi32_i32$1 | 0, 0 & 65535 | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, (HEAPU16[($5_1 + 54 | 0) >> 1] | 0) & 65535 | 0 | 0, $5_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($5_1 + 100 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$1 = 0; + $199$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $200_1 = i64toi32_i32$1; + $200$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $201$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $202$hi = i64toi32_i32$1; + i64toi32_i32$1 = $201$hi; + i64toi32_i32$1 = $202$hi; + i64toi32_i32$1 = $201$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $202$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$1 ^ i64toi32_i32$0 | 0; + $203$hi = i64toi32_i32$0; + i64toi32_i32$0 = $200$hi; + i64toi32_i32$0 = $203$hi; + $444_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$0 = $200$hi; + i64toi32_i32$1 = $200_1; + i64toi32_i32$2 = $203$hi; + i64toi32_i32$3 = $444_1; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $204_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $204_1; + HEAP32[($5_1 + 60 | 0) >> 2] = i64toi32_i32$2; + $205$hi = i64toi32_i32$2; + i64toi32_i32$2 = $199$hi; + i64toi32_i32$2 = $205$hi; + i64toi32_i32$2 = $199$hi; + i64toi32_i32$2 = $205$hi; + i64toi32_i32$0 = $204_1; + i64toi32_i32$1 = $199$hi; + i64toi32_i32$3 = 0; + label$5 : { + if (((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0) { + break label$5 + } + if (!(HEAP32[($5_1 + 72 | 0) >> 2] | 0)) { + break label$4 + } + } + i64toi32_i32$0 = 0; + $207_1 = 0; + $78_1 = 0; + HEAP32[($5_1 + 48 | 0) >> 2] = $78_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $78_1; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $207_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $207_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$6 : { + if (!(HEAP32[($5_1 + 72 | 0) >> 2] | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + $208$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $209$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $492$hi = i64toi32_i32$2; + i64toi32_i32$2 = $209$hi; + i64toi32_i32$2 = $492$hi; + $86_1 = i64toi32_i32$0; + i64toi32_i32$0 = $209$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1775(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $86_1 | 0, i64toi32_i32$2 | 0, -1 | 0, i64toi32_i32$0 | 0, 1 & 65535 | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, (HEAPU16[($5_1 + 54 | 0) >> 1] | 0) & 65535 | 0 | 0, $5_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$3 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $211_1 = i64toi32_i32$0; + $211$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $212$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $213$hi = i64toi32_i32$0; + i64toi32_i32$0 = $212$hi; + i64toi32_i32$0 = $213$hi; + i64toi32_i32$0 = $212$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $213$hi; + i64toi32_i32$1 = -1; + i64toi32_i32$2 = i64toi32_i32$0 ^ i64toi32_i32$2 | 0; + $214$hi = i64toi32_i32$2; + i64toi32_i32$2 = $211$hi; + i64toi32_i32$2 = $214$hi; + $511_1 = i64toi32_i32$3 ^ i64toi32_i32$1 | 0; + i64toi32_i32$2 = $211$hi; + i64toi32_i32$0 = $211_1; + i64toi32_i32$3 = $214$hi; + i64toi32_i32$1 = $511_1; + i64toi32_i32$3 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $514_1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $514_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $217$hi = i64toi32_i32$0; + i64toi32_i32$0 = $208$hi; + i64toi32_i32$0 = $217$hi; + i64toi32_i32$0 = $208$hi; + i64toi32_i32$0 = $217$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $208$hi; + i64toi32_i32$1 = 0; + label$7 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$7 + } + $96_1 = 1; + HEAP32[($5_1 + 48 | 0) >> 2] = $96_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $96_1; + } + } + label$8 : { + label$9 : while (1) { + if (HEAP32[($5_1 + 100 | 0) >> 2] | 0) { + break label$8 + } + i64toi32_i32$2 = -1; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = -1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$1 = (HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[(((HEAP32[((HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 20 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $220_1 = i64toi32_i32$2; + $220$hi = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $221$hi = i64toi32_i32$2; + i64toi32_i32$2 = -1; + $222$hi = i64toi32_i32$2; + i64toi32_i32$2 = $221$hi; + i64toi32_i32$2 = $222$hi; + i64toi32_i32$2 = $221$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $222$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$2 ^ i64toi32_i32$0 | 0; + $223$hi = i64toi32_i32$0; + i64toi32_i32$0 = $220$hi; + i64toi32_i32$0 = $223$hi; + $584_1 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; + i64toi32_i32$0 = $220$hi; + i64toi32_i32$2 = $220_1; + i64toi32_i32$1 = $223$hi; + i64toi32_i32$3 = $584_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $587_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $5_1; + HEAP32[$5_1 >> 2] = $587_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $225_1 = i64toi32_i32$1; + $225$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $226$hi = i64toi32_i32$1; + i64toi32_i32$1 = $225$hi; + i64toi32_i32$1 = $226$hi; + i64toi32_i32$1 = $225$hi; + i64toi32_i32$1 = $226$hi; + $595_1 = i64toi32_i32$2; + i64toi32_i32$1 = $225$hi; + i64toi32_i32$0 = $225_1; + i64toi32_i32$2 = $226$hi; + i64toi32_i32$3 = $595_1; + label$12 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $229_1 = i64toi32_i32$0; + $229$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $230$hi = i64toi32_i32$0; + i64toi32_i32$0 = $229$hi; + i64toi32_i32$0 = $230$hi; + i64toi32_i32$0 = $229$hi; + i64toi32_i32$0 = $230$hi; + $609_1 = i64toi32_i32$1; + i64toi32_i32$0 = $229$hi; + i64toi32_i32$3 = $229_1; + i64toi32_i32$1 = $230$hi; + i64toi32_i32$2 = $609_1; + if (!((i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $619_1 = i64toi32_i32$3; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $619_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + i64toi32_i32$0 = -1; + $234$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $630_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $630_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $237$hi = i64toi32_i32$0; + i64toi32_i32$0 = $234$hi; + i64toi32_i32$0 = $237$hi; + i64toi32_i32$0 = $234$hi; + i64toi32_i32$0 = $237$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $234$hi; + i64toi32_i32$1 = -1; + label$13 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$13 + } + break label$8; + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $239_1 = i64toi32_i32$2; + $239$hi = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $240$hi = i64toi32_i32$2; + i64toi32_i32$2 = $239$hi; + i64toi32_i32$2 = $240$hi; + i64toi32_i32$2 = $239$hi; + i64toi32_i32$2 = $240$hi; + $650_1 = i64toi32_i32$0; + i64toi32_i32$2 = $239$hi; + i64toi32_i32$1 = $239_1; + i64toi32_i32$0 = $240$hi; + i64toi32_i32$3 = $650_1; + label$14 : { + label$15 : { + if (((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$15 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $243_1 = i64toi32_i32$1; + $243$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $244$hi = i64toi32_i32$1; + i64toi32_i32$1 = $243$hi; + i64toi32_i32$1 = $244$hi; + i64toi32_i32$1 = $243$hi; + i64toi32_i32$1 = $244$hi; + $663_1 = i64toi32_i32$2; + i64toi32_i32$1 = $243$hi; + i64toi32_i32$3 = $243_1; + i64toi32_i32$2 = $244$hi; + i64toi32_i32$0 = $663_1; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$14 + } + } + continue label$9; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $247_1 = i64toi32_i32$3; + $247$hi = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $248_1 = i64toi32_i32$1; + $248$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $249$hi = i64toi32_i32$1; + i64toi32_i32$1 = $248$hi; + i64toi32_i32$1 = $249$hi; + $683_1 = i64toi32_i32$3; + i64toi32_i32$1 = $248$hi; + i64toi32_i32$0 = $248_1; + i64toi32_i32$3 = $249$hi; + i64toi32_i32$2 = $683_1; + i64toi32_i32$3 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + $250$hi = i64toi32_i32$3; + i64toi32_i32$3 = $247$hi; + i64toi32_i32$3 = $250$hi; + $697_1 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + i64toi32_i32$3 = $247$hi; + i64toi32_i32$0 = $250$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1775(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $247_1 | 0, i64toi32_i32$3 | 0, $697_1 | 0, i64toi32_i32$0 | 0, 0 & 65535 | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, (HEAPU16[($5_1 + 54 | 0) >> 1] | 0) & 65535 | 0 | 0, $5_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $251_1 = i64toi32_i32$0; + $251$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $252$hi = i64toi32_i32$0; + i64toi32_i32$0 = $251$hi; + i64toi32_i32$0 = $252$hi; + i64toi32_i32$0 = $251$hi; + i64toi32_i32$0 = $252$hi; + $714_1 = i64toi32_i32$3; + i64toi32_i32$0 = $251$hi; + i64toi32_i32$1 = $251_1; + i64toi32_i32$3 = $252$hi; + i64toi32_i32$2 = $714_1; + label$16 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($5_1 + 48 | 0) >> 2] = 1; + label$17 : { + if (HEAP32[($5_1 + 72 | 0) >> 2] | 0) { + break label$17 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + } + } + continue label$9; + }; + } + label$18 : { + if (HEAP32[($5_1 + 100 | 0) >> 2] | 0) { + break label$18 + } + if (HEAP32[($5_1 + 48 | 0) >> 2] | 0) { + break label$18 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $255_1 = i64toi32_i32$1; + $255$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $256$hi = i64toi32_i32$1; + i64toi32_i32$1 = $255$hi; + i64toi32_i32$1 = $256$hi; + $756_1 = i64toi32_i32$0; + i64toi32_i32$1 = $255$hi; + i64toi32_i32$0 = $256$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1775(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $255_1 | 0, i64toi32_i32$1 | 0, $756_1 | 0, i64toi32_i32$0 | 0, 0 & 65535 | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, (HEAPU16[($5_1 + 54 | 0) >> 1] | 0) & 65535 | 0 | 0, $5_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + if (HEAP32[($5_1 + 72 | 0) >> 2] | 0) { + break label$19 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + } + } + label$20 : { + if (HEAP32[($5_1 + 100 | 0) >> 2] | 0) { + break label$20 + } + if (HEAP32[($5_1 + 44 | 0) >> 2] | 0) { + break label$20 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $257_1 = i64toi32_i32$0; + $257$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $258$hi = i64toi32_i32$0; + i64toi32_i32$0 = $257$hi; + i64toi32_i32$0 = $258$hi; + $797_1 = i64toi32_i32$1; + i64toi32_i32$0 = $257$hi; + i64toi32_i32$1 = $258$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1775(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $257_1 | 0, i64toi32_i32$0 | 0, $797_1 | 0, i64toi32_i32$1 | 0, 1 & 65535 | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, (HEAPU16[($5_1 + 54 | 0) >> 1] | 0) & 65535 | 0 | 0, $5_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + } + } + label$21 : { + if (!(HEAP32[((HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0)) { + break label$21 + } + $42(HEAP32[((HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + $23(HEAP32[(HEAP32[($5_1 + 92 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 124 | 0) >> 2] = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + } + $193_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + global$0 = $5_1 + 128 | 0; + return $193_1 | 0; + } + + function $1728($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $301_1 = 0, $47_1 = 0, $613$hi = 0, $619$hi = 0, $631$hi = 0, $638$hi = 0, $642$hi = 0, $5_1 = 0, $44_1 = 0, $78_1 = 0, $79_1 = 0, $614$hi = 0, $615$hi = 0, $617$hi = 0, $153_1 = 0, $620$hi = 0, $621$hi = 0, $623$hi = 0, $170_1 = 0, $171_1 = 0, $181_1 = 0, $185_1 = 0, $201_1 = 0, $203_1 = 0, $208_1 = 0, $210_1 = 0, $218_1 = 0, $234_1 = 0, $237_1 = 0, $626$hi = 0, $627$hi = 0, $253_1 = 0, $262_1 = 0, $80_1 = 0, $339_1 = 0, $344_1 = 0, $353_1 = 0, $81_1 = 0, $632$hi = 0, $633$hi = 0, $636$hi = 0, $398_1 = 0, $640$hi = 0, $82_1 = 0, $416_1 = 0, $421_1 = 0, $449_1 = 0, $454_1 = 0, $461_1 = 0, $468_1 = 0, $644$hi = 0, $479_1 = 0, $511_1 = 0, $521_1 = 0, $525_1 = 0, $539_1 = 0, $550_1 = 0, $553_1 = 0, $561_1 = 0, $577_1 = 0, $590_1 = 0, $603_1 = 0, $620_1 = 0, $1010_1 = 0, $240_1 = 0, $626_1 = 0, $1195_1 = 0, $1200_1 = 0, $1349_1 = 0, $632_1 = 0, $1495_1 = 0, $1498_1 = 0, $556_1 = 0, $610_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 192 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 188 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 176 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 180 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($4_1 + 90 | 0) >> 1] = 65535; + HEAP32[($4_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 68 | 0) >> 2] = 1; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 188 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 172 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 188 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 80 | 0) >> 2] = ((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0, 72) | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 188 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$4 + } + HEAP32[($4_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$3; + } + $44_1 = 0; + $3289($4_1 + 96 | 0 | 0, $44_1 | 0, 72 | 0) | 0; + $47_1 = 1; + HEAP16[($4_1 + 146 | 0) >> 1] = $47_1; + HEAP16[($4_1 + 148 | 0) >> 1] = $47_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $4_1 + 90 | 0; + HEAP32[($4_1 + 104 | 0) >> 2] = $4_1 + 92 | 0; + HEAP8[($4_1 + 150 | 0) >> 0] = 5; + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP16[($4_1 + 144 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0; + $78_1 = HEAPU8[($4_1 + 151 | 0) >> 0] | 0 | ((HEAPU8[($4_1 + 152 | 0) >> 0] | 0) << 8 | 0) | 0 | 3 | 0; + HEAP8[($4_1 + 151 | 0) >> 0] = $78_1; + HEAP8[($4_1 + 152 | 0) >> 0] = $78_1 >>> 8 | 0; + HEAP16[($4_1 + 92 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 46 | 0) >> 1] | 0; + HEAP16[($4_1 + 94 | 0) >> 1] = $44_1; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$5 : { + if (((HEAPU8[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) & $47_1 | 0) & 255 | 0) { + break label$5 + } + HEAP32[($4_1 + 116 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 168 | 0) >> 2] = $4_1 + 96 | 0; + } + } + HEAP16[($4_1 + 62 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 46 | 0) >> 1] | 0; + $79_1 = 16; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1776(((HEAPU16[($4_1 + 62 | 0) >> 1] | 0) << $79_1 | 0) >> $79_1 | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 60 | 0) >> 1] = wasm2js_i32$1; + label$6 : { + if ((HEAP32[((HEAP32[($4_1 + 188 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + if (((HEAPU16[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$6 + } + i64toi32_i32$0 = 0; + $613$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(HEAP32[(HEAP32[($4_1 + 172 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $614$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $615$hi = i64toi32_i32$1; + i64toi32_i32$1 = $614$hi; + i64toi32_i32$1 = $615$hi; + i64toi32_i32$1 = $614$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $615$hi; + i64toi32_i32$3 = 32768; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $617$hi = i64toi32_i32$0; + i64toi32_i32$0 = $613$hi; + i64toi32_i32$0 = $617$hi; + i64toi32_i32$0 = $613$hi; + i64toi32_i32$0 = $617$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $613$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + if (((HEAPU8[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) & 1 | 0) & 255 | 0) { + break label$6 + } + if ((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$6 + } + if ((((HEAPU8[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 3 | 0) & 1 | 0) & 255 | 0) { + break label$6 + } + if ((((HEAPU8[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> 5 | 0) & 1 | 0) & 255 | 0) { + break label$6 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 48) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$7 : while (1) { + $153_1 = 0; + label$8 : { + if (HEAP32[($4_1 + 72 | 0) >> 2] | 0) { + break label$8 + } + $153_1 = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 40 | 0) >> 2] | 0) >>> 0; + } + label$9 : { + if (!($153_1 & 1 | 0)) { + break label$9 + } + i64toi32_i32$1 = 0; + $619$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $620_1 = i64toi32_i32$1; + $620$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $621$hi = i64toi32_i32$1; + i64toi32_i32$1 = $620$hi; + i64toi32_i32$1 = $621$hi; + $1010_1 = i64toi32_i32$0; + i64toi32_i32$1 = $620$hi; + i64toi32_i32$3 = $620_1; + i64toi32_i32$0 = $621$hi; + i64toi32_i32$2 = $1010_1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $623$hi = i64toi32_i32$0; + i64toi32_i32$0 = $619$hi; + i64toi32_i32$0 = $623$hi; + i64toi32_i32$0 = $619$hi; + i64toi32_i32$0 = $623$hi; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $619$hi; + i64toi32_i32$2 = 0; + label$10 : { + label$11 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$11 + } + break label$10; + } + i64toi32_i32$1 = 0; + label$12 : { + if (!($1734(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0)) { + break label$12 + } + $170_1 = 0; + $171_1 = 1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 1] = $171_1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 42 | 0) >> 1] = 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 32 | 0) >> 2] = $170_1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 40 | 0) >> 1] = $171_1; + HEAP32[(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $181_1 = 16; + $185_1 = 16; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 18 | 0) >> 1] = (((HEAPU16[($4_1 + 60 | 0) >> 1] | 0) << $181_1 | 0) >> $181_1 | 0) + (((HEAPU16[($4_1 + 62 | 0) >> 1] | 0) << $185_1 | 0) >> $185_1 | 0) | 0; + label$13 : { + label$14 : { + if (!((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == ($170_1 | 0) & 1 | 0)) { + break label$14 + } + if ((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 2 | 0) { + break label$14 + } + $201_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + $203_1 = 16; + HEAP16[($201_1 + 18 | 0) >> 1] = (((HEAPU16[($201_1 + 18 | 0) >> 1] | 0) << $203_1 | 0) >> $203_1 | 0) + 28 | 0; + break label$13; + } + $208_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + $210_1 = 16; + HEAP16[($208_1 + 18 | 0) >> 1] = (((HEAPU16[($208_1 + 18 | 0) >> 1] | 0) << $210_1 | 0) >> $210_1 | 0) - 10 | 0; + } + $218_1 = 16; + label$15 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $218_1 | 0) >> $218_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 18 | 0) >> 1] = 0; + } + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 22 | 0) >> 1] = 43; + $234_1 = 16; + $237_1 = 16; + $240_1 = $1667(((HEAPU16[($4_1 + 60 | 0) >> 1] | 0) << $234_1 | 0) >> $234_1 | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $237_1 | 0) >> $237_1 | 0 | 0) | 0; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 1] = $240_1; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 16384; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 180 | 0) >> 2] | 0; + $626_1 = i64toi32_i32$1; + $626$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $627$hi = i64toi32_i32$1; + i64toi32_i32$1 = $626$hi; + i64toi32_i32$1 = $627$hi; + $1195_1 = i64toi32_i32$0; + i64toi32_i32$1 = $626$hi; + i64toi32_i32$2 = $626_1; + i64toi32_i32$0 = $627$hi; + i64toi32_i32$3 = $1195_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $1200_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $1200_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1777(HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 48 | 0; + continue label$7; + } + break label$7; + }; + } + label$16 : while (1) { + $253_1 = 0; + label$17 : { + if (HEAP32[($4_1 + 72 | 0) >> 2] | 0) { + break label$17 + } + $253_1 = (HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$18 : { + if (!($253_1 & 1 | 0)) { + break label$18 + } + $262_1 = 0; + HEAP32[($4_1 + 36 | 0) >> 2] = (((HEAPU8[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 32 | 0 | 0) != ($262_1 | 0) & 1 | 0; + label$19 : { + label$20 : { + if (!((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != ($262_1 | 0) & 1 | 0)) { + break label$20 + } + if ($1778(HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0) { + break label$20 + } + break label$19; + } + label$21 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 1 | 0) & 65535 | 0)) { + break label$21 + } + break label$19; + } + HEAP16[($4_1 + 62 | 0) >> 1] = HEAPU16[(HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 1] | 0; + $301_1 = 0; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 1] = $301_1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 26 | 0) >> 1] = $301_1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 28 | 0) >> 1] = $301_1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 42 | 0) >> 1] = $301_1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 40 | 0) >> 1] = $301_1; + HEAP8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 17 | 0) >> 0] = $301_1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 18 | 0) >> 1] = $301_1; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 180 | 0) >> 2] | 0; + $1349_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1349_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAPU16[($4_1 + 62 | 0) >> 1] | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1779(HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + $80_1 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + label$22 : { + label$23 : { + if (!((((HEAPU8[($80_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($80_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 256; + label$24 : { + label$25 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$25 + } + $339_1 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + break label$24; + } + $339_1 = 0; + } + HEAP8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 17 | 0) >> 0] = $339_1; + $344_1 = 16; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 1] = (((HEAPU16[($4_1 + 62 | 0) >> 1] | 0) << $344_1 | 0) >> $344_1 | 0) + 16 | 0; + $353_1 = 16; + $1780(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, ((HEAPU16[($4_1 + 62 | 0) >> 1] | 0) << $353_1 | 0) >> $353_1 | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1777(HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAPU16[($4_1 + 62 | 0) >> 1] | 0; + label$26 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$26 + } + break label$18; + } + break label$22; + } + $81_1 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + label$27 : { + label$28 : { + if (!((((HEAPU8[($81_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($81_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 5 | 0) & 1 | 0) & 65535 | 0)) { + break label$28 + } + i64toi32_i32$2 = 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 576; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$2; + break label$27; + } + i64toi32_i32$2 = 0; + $631$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; + $632_1 = i64toi32_i32$2; + $632$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] | 0; + $633$hi = i64toi32_i32$2; + i64toi32_i32$2 = $632$hi; + i64toi32_i32$2 = $633$hi; + $1495_1 = i64toi32_i32$0; + i64toi32_i32$2 = $632$hi; + i64toi32_i32$1 = $632_1; + i64toi32_i32$0 = $633$hi; + i64toi32_i32$3 = $1495_1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $1498_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1498_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $636$hi = i64toi32_i32$1; + i64toi32_i32$1 = $631$hi; + i64toi32_i32$1 = $636$hi; + i64toi32_i32$1 = $631$hi; + i64toi32_i32$1 = $636$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $631$hi; + i64toi32_i32$3 = 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0 ? 576 : 512; + } + label$29 : { + label$30 : { + if (HEAP32[($4_1 + 64 | 0) >> 2] | 0) { + break label$30 + } + if ((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$30 + } + if ((HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$30 + } + $398_1 = 1; + if ((((HEAPU8[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 37 | 0) >> 0] | 0) >>> $398_1 | 0) & $398_1 | 0) & 255 | 0) { + break label$30 + } + i64toi32_i32$2 = 0; + $638$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $640$hi = i64toi32_i32$1; + i64toi32_i32$1 = $638$hi; + i64toi32_i32$1 = $640$hi; + i64toi32_i32$1 = $638$hi; + i64toi32_i32$1 = $640$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $638$hi; + i64toi32_i32$0 = 0; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$29 + } + $82_1 = HEAP32[($4_1 + 168 | 0) >> 2] | 0; + if ((((HEAPU8[($82_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($82_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 2 | 0) & 1 | 0) & 65535 | 0) { + break label$29 + } + $416_1 = 16; + $421_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $416_1 | 0) >> $416_1 | 0 | 0) < (((HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $421_1 | 0) >> $421_1 | 0 | 0) & 1 | 0)) { + break label$29 + } + if (((HEAPU16[((HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0) { + break label$29 + } + if (!((HEAPU8[(0 + 68375 | 0) >> 0] | 0) & 255 | 0)) { + break label$29 + } + if (((HEAPU16[((HEAP32[(HEAP32[(HEAP32[($4_1 + 172 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0) { + break label$29 + } + } + label$31 : { + label$32 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$32 + } + $449_1 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + break label$31; + } + $449_1 = 0; + } + i64toi32_i32$3 = 0; + $642$hi = i64toi32_i32$3; + HEAP8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 17 | 0) >> 0] = $449_1; + $454_1 = 16; + $461_1 = 16; + $468_1 = 16; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 1] = ((((HEAPU16[($4_1 + 62 | 0) >> 1] | 0) << $454_1 | 0) >> $454_1 | 0) + 1 | 0) + ((Math_imul(((HEAPU16[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $461_1 | 0) >> $461_1 | 0, 15) | 0) / (((HEAPU16[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $468_1 | 0) >> $468_1 | 0 | 0) | 0) | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $644$hi = i64toi32_i32$1; + i64toi32_i32$1 = $642$hi; + i64toi32_i32$1 = $644$hi; + i64toi32_i32$1 = $642$hi; + i64toi32_i32$1 = $644$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $642$hi; + i64toi32_i32$2 = 0; + label$33 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$33 + } + $479_1 = 16; + HEAP16[($4_1 + 22 | 0) >> 1] = (((HEAPU16[($4_1 + 62 | 0) >> 1] | 0) << $479_1 | 0) >> $479_1 | 0) + 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 172 | 0) >> 2] | 0) + 80 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$34 : { + label$35 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$34 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 48) | 0; + label$36 : { + if ($1747(HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0) | 0) { + break label$36 + } + break label$34; + } + $511_1 = 16; + label$37 : { + label$38 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $511_1 | 0) >> $511_1 | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$38 + } + $521_1 = 16; + $525_1 = 16; + HEAP16[($4_1 + 22 | 0) >> 1] = (((HEAPU16[($4_1 + 22 | 0) >> 1] | 0) << $525_1 | 0) >> $525_1 | 0) + (((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $521_1 | 0) >> $521_1 | 0) | 0; + break label$37; + } + HEAP16[($4_1 + 22 | 0) >> 1] = (HEAPU16[($4_1 + 22 | 0) >> 1] | 0) + -1 | 0; + label$39 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 130 | 0)) { + break label$39 + } + $539_1 = 16; + HEAP16[($4_1 + 22 | 0) >> 1] = (((HEAPU16[($4_1 + 22 | 0) >> 1] | 0) << $539_1 | 0) >> $539_1 | 0) - 19 | 0; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$35; + }; + } + $550_1 = 16; + $553_1 = 16; + $556_1 = $1667(((HEAPU16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $550_1 | 0) >> $550_1 | 0 | 0, ((HEAPU16[($4_1 + 22 | 0) >> 1] | 0) << $553_1 | 0) >> $553_1 | 0 | 0) | 0; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 1] = $556_1; + } + $561_1 = 16; + $1780(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, ((HEAPU16[($4_1 + 62 | 0) >> 1] | 0) << $561_1 | 0) >> $561_1 | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1777(HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAPU16[($4_1 + 62 | 0) >> 1] | 0; + label$40 : { + if (!(HEAP32[($4_1 + 72 | 0) >> 2] | 0)) { + break label$40 + } + break label$18; + } + } + } + HEAP8[((HEAP32[($4_1 + 188 | 0) >> 2] | 0) + 20 | 0) >> 0] = 0; + $577_1 = 16; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1781(HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, (0 << $577_1 | 0) >> $577_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$41 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 188 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$41 + } + $590_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP32[($590_1 + 36 | 0) >> 2] = HEAP32[($590_1 + 36 | 0) >> 2] | 0 | 256 | 0; + } + } + label$42 : { + label$43 : { + if (!((HEAP32[((HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$43 + } + $603_1 = 0; + break label$42; + } + $603_1 = HEAP32[((HEAP32[($4_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 168 | 0) >> 2] = $603_1; + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + } + break label$16; + }; + $610_1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + global$0 = $4_1 + 192 | 0; + return $610_1 | 0; + } + + function $1729($0_1, $1_1, $1$hi, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $349_1 = 0, $8_1 = 0, $350$hi = 0, $85_1 = 0, $202_1 = 0, $205_1 = 0, $308_1 = 0, $58_1 = 0, $351$hi = 0, $352$hi = 0, $354$hi = 0, $96_1 = 0, $97_1 = 0, $101_1 = 0, $104_1 = 0, $359$hi = 0, $360$hi = 0, $362$hi = 0, $363$hi = 0, $364$hi = 0, $365$hi = 0, $232_1 = 0, $235_1 = 0, $253_1 = 0, $256_1 = 0, $260_1 = 0, $263_1 = 0, $295_1 = 0, $316_1 = 0, $351_1 = 0, $538_1 = 0, $587_1 = 0, $607_1 = 0, $617_1 = 0, $359_1 = 0, $720_1 = 0, $362_1 = 0, $748_1 = 0, $364_1 = 0, $865_1 = 0, $1111_1 = 0, $346_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 704 | 0; + global$0 = $5_1; + $8_1 = $5_1 + 152 | 0; + HEAP32[($5_1 + 700 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 688 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 692 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 680 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 684 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 676 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 700 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 656 | 0) >> 2] = 0; + HEAP32[($5_1 + 672 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 700 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 660 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 672 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($5_1 + 672 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 48) | 0; + HEAP32[($5_1 + 668 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 700 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $349_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $349_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $349_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $349_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $349_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $349_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $349_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $349_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 92 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 676 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0, 72) | 0; + HEAP32[($5_1 + 652 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 664 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 672 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : while (1) { + $58_1 = 0; + label$2 : { + if (!((HEAP32[($5_1 + 664 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 660 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $58_1 = (HEAP32[($5_1 + 656 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($58_1 & 1 | 0)) { + break label$3 + } + label$4 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 664 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 512 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $350$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 664 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 408 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 412 | 0) >> 2] | 0; + $351_1 = i64toi32_i32$0; + $351$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $352$hi = i64toi32_i32$0; + i64toi32_i32$0 = $351$hi; + i64toi32_i32$0 = $352$hi; + $538_1 = i64toi32_i32$1; + i64toi32_i32$0 = $351$hi; + i64toi32_i32$2 = $351_1; + i64toi32_i32$1 = $352$hi; + i64toi32_i32$3 = $538_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $354$hi = i64toi32_i32$1; + i64toi32_i32$1 = $350$hi; + i64toi32_i32$1 = $354$hi; + i64toi32_i32$1 = $350$hi; + i64toi32_i32$1 = $354$hi; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $350$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$4 + } + $85_1 = $5_1 + 208 | 0; + HEAP32[($5_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 664 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 84 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 48) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = 1; + $96_1 = HEAP32[($5_1 + 700 | 0) >> 2] | 0; + i64toi32_i32$3 = $96_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $587_1 = i64toi32_i32$0; + i64toi32_i32$0 = $85_1; + HEAP32[i64toi32_i32$0 >> 2] = $587_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $97_1 = 24; + HEAP32[(i64toi32_i32$0 + $97_1 | 0) >> 2] = HEAP32[(i64toi32_i32$3 + $97_1 | 0) >> 2] | 0; + $101_1 = 16; + i64toi32_i32$3 = i64toi32_i32$3 + $101_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $607_1 = i64toi32_i32$1; + i64toi32_i32$1 = $85_1 + $101_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $607_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $104_1 = 8; + i64toi32_i32$3 = $96_1 + $104_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $617_1 = i64toi32_i32$0; + i64toi32_i32$0 = $85_1 + $104_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $617_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 216 | 0) >> 2] = 0; + HEAP32[($5_1 + 224 | 0) >> 2] = $5_1 + 96 | 0; + HEAP32[($5_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 84 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + label$7 : { + label$8 : { + label$9 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 1024 | 0)) { + break label$9 + } + HEAP32[($5_1 + 212 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + break label$8; + } + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 240 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 672 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 244 | 0) >> 2] = HEAP32[($5_1 + 672 | 0) >> 2] | 0; + HEAP8[($5_1 + 248 | 0) >> 0] = 44; + HEAP32[($5_1 + 252 | 0) >> 2] = 1; + HEAP32[($5_1 + 260 | 0) >> 2] = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + HEAP32[($5_1 + 212 | 0) >> 2] = $5_1 + 240 | 0; + break label$10; + } + break label$7; + } + } + HEAP16[($5_1 + 96 | 0) >> 1] = 0; + label$12 : { + label$13 : { + if (!(HEAP32[((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$13 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 688 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 692 | 0) >> 2] | 0; + $359_1 = i64toi32_i32$1; + $359$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 684 | 0) >> 2] | 0; + $360$hi = i64toi32_i32$1; + i64toi32_i32$1 = $359$hi; + i64toi32_i32$1 = $360$hi; + $720_1 = i64toi32_i32$0; + i64toi32_i32$1 = $359$hi; + i64toi32_i32$0 = $360$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1727($5_1 + 208 | 0 | 0, $359_1 | 0, i64toi32_i32$1 | 0, $720_1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 656 | 0) >> 2] = wasm2js_i32$1; + break label$12; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 688 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 692 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1728($5_1 + 208 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 656 | 0) >> 2] = wasm2js_i32$1; + } + label$14 : { + if (HEAP32[($5_1 + 656 | 0) >> 2] | 0) { + break label$14 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 688 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 692 | 0) >> 2] | 0; + $362_1 = i64toi32_i32$1; + $362$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 680 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 684 | 0) >> 2] | 0; + $363$hi = i64toi32_i32$1; + i64toi32_i32$1 = $362$hi; + i64toi32_i32$1 = $363$hi; + $748_1 = i64toi32_i32$0; + i64toi32_i32$1 = $362$hi; + i64toi32_i32$0 = $363$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1729($5_1 + 208 | 0 | 0, $362_1 | 0, i64toi32_i32$1 | 0, $748_1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 656 | 0) >> 2] = wasm2js_i32$1; + } + label$15 : { + if ((HEAPU16[($5_1 + 96 | 0) >> 1] | 0) & 65535 | 0) { + break label$15 + } + HEAP16[($5_1 + 152 | 0) >> 1] = 0; + break label$5; + } + label$16 : { + label$17 : { + if (!(HEAP32[($5_1 + 76 | 0) >> 2] | 0)) { + break label$17 + } + $1782($5_1 + 152 | 0 | 0, $5_1 + 96 | 0 | 0); + HEAP32[($5_1 + 76 | 0) >> 2] = 0; + break label$16; + } + $1782($5_1 + 8 | 0 | 0, $5_1 + 152 | 0 | 0); + HEAP16[($5_1 + 152 | 0) >> 1] = 0; + HEAP32[($5_1 + 72 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0) < ((HEAPU16[($5_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($5_1 + 68 | 0) >> 2] = 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) < ((HEAPU16[($5_1 + 96 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$20 + } + $202_1 = $5_1 + 96 | 0; + $205_1 = $5_1 + 8 | 0; + i64toi32_i32$3 = ($205_1 + 8 | 0) + ((HEAP32[($5_1 + 72 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $364_1 = i64toi32_i32$0; + $364$hi = i64toi32_i32$1; + i64toi32_i32$3 = ($202_1 + 8 | 0) + ((HEAP32[($5_1 + 68 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $365$hi = i64toi32_i32$0; + i64toi32_i32$0 = $364$hi; + i64toi32_i32$0 = $365$hi; + $865_1 = i64toi32_i32$1; + i64toi32_i32$0 = $364$hi; + i64toi32_i32$3 = $364_1; + i64toi32_i32$1 = $365$hi; + i64toi32_i32$2 = $865_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $232_1 = 16; + $235_1 = 16; + $253_1 = 16; + $256_1 = 16; + $260_1 = 16; + $263_1 = 16; + $1783($5_1 + 152 | 0 | 0, i64toi32_i32$3 | i64toi32_i32$2 | 0 | 0, i64toi32_i32$1 | 0, (($1667(((HEAPU16[((($205_1 + 8 | 0) + ((HEAP32[($5_1 + 72 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 1] | 0) << $232_1 | 0) >> $232_1 | 0 | 0, ((HEAPU16[((($202_1 + 8 | 0) + ((HEAP32[($5_1 + 68 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 1] | 0) << $235_1 | 0) >> $235_1 | 0 | 0) | 0) << $260_1 | 0) >> $260_1 | 0 | 0, (($1667(((HEAPU16[((($205_1 + 8 | 0) + ((HEAP32[($5_1 + 72 | 0) >> 2] | 0) << 4 | 0) | 0) + 10 | 0) >> 1] | 0) << $253_1 | 0) >> $253_1 | 0 | 0, ((HEAPU16[((($202_1 + 8 | 0) + ((HEAP32[($5_1 + 68 | 0) >> 2] | 0) << 4 | 0) | 0) + 10 | 0) >> 1] | 0) << $256_1 | 0) >> $256_1 | 0 | 0) | 0) << $263_1 | 0) >> $263_1 | 0 | 0) | 0; + HEAP32[($5_1 + 68 | 0) >> 2] = (HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$21; + }; + } + HEAP32[($5_1 + 72 | 0) >> 2] = (HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + } + } + HEAP32[($5_1 + 80 | 0) >> 2] = (HEAP32[($5_1 + 80 | 0) >> 2] | 0) + 48 | 0; + continue label$6; + }; + } + HEAP16[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + 40 | 0) >> 1] = 1; + HEAP32[(HEAP32[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 664 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + 36 | 0) >> 2] = 8192; + HEAP16[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + 18 | 0) >> 1] = 0; + HEAP8[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + 17 | 0) >> 0] = 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = (HEAP32[($5_1 + 668 | 0) >> 2] | 0) + 24 | 0; + HEAP32[i64toi32_i32$3 >> 2] = 0; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 72 | 0) >> 2] = 0; + label$22 : while (1) { + $295_1 = 0; + label$23 : { + if (HEAP32[($5_1 + 656 | 0) >> 2] | 0) { + break label$23 + } + $295_1 = (HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0) < ((HEAPU16[($5_1 + 152 | 0) >> 1] | 0) & 65535 | 0 | 0); + } + label$24 : { + if (!($295_1 & 1 | 0)) { + break label$24 + } + $308_1 = $5_1 + 152 | 0; + $316_1 = 16; + HEAP16[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + 20 | 0) >> 1] = (((HEAPU16[((($308_1 + 8 | 0) + ((HEAP32[($5_1 + 72 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 1] | 0) << $316_1 | 0) >> $316_1 | 0) + 1 | 0; + HEAP16[((HEAP32[($5_1 + 668 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAPU16[((($308_1 + 8 | 0) + ((HEAP32[($5_1 + 72 | 0) >> 2] | 0) << 4 | 0) | 0) + 10 | 0) >> 1] | 0; + i64toi32_i32$0 = ($308_1 + 8 | 0) + ((HEAP32[($5_1 + 72 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $1111_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 668 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1111_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1777(HEAP32[($5_1 + 700 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 668 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 656 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 72 | 0) >> 2] = (HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$22; + } + break label$22; + }; + } + HEAP32[($5_1 + 664 | 0) >> 2] = (HEAP32[($5_1 + 664 | 0) >> 2] | 0) + 48 | 0; + continue label$1; + } + break label$1; + }; + $346_1 = HEAP32[($5_1 + 656 | 0) >> 2] | 0; + global$0 = $5_1 + 704 | 0; + return $346_1 | 0; + } + + function $1730($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0 | 0) & 1 | 0)) { + break label$1 + } + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + } + $1784(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $1676(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1731($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$6 = 0, $57_1 = 0, $902$hi = 0, $903$hi = 0, $910$hi = 0, $354_1 = 0, $926$hi = 0, $947$hi = 0, $955$hi = 0, $960$hi = 0, $973$hi = 0, $974$hi = 0, $984$hi = 0, $985$hi = 0, $896_1 = 0, $897$hi = 0, $898$hi = 0, $125_1 = 0, $899$hi = 0, $900$hi = 0, $906$hi = 0, $108_1 = 0, $911$hi = 0, $912$hi = 0, $126_1 = 0, $913$hi = 0, $914$hi = 0, $916$hi = 0, $184_1 = 0, $191_1 = 0, $918$hi = 0, $919$hi = 0, $226_1 = 0, $263_1 = 0, $921$hi = 0, $922$hi = 0, $127_1 = 0, $923$hi = 0, $317_1 = 0, $128_1 = 0, $341_1 = 0, $464_1 = 0, $480_1 = 0, $528_1 = 0, $927$hi = 0, $928$hi = 0, $129_1 = 0, $929$hi = 0, $930$hi = 0, $932$hi = 0, $593_1 = 0, $934$hi = 0, $935$hi = 0, $130_1 = 0, $936$hi = 0, $725_1 = 0, $752_1 = 0, $939$hi = 0, $940$hi = 0, $131_1 = 0, $941$hi = 0, $944$hi = 0, $948$hi = 0, $949$hi = 0, $132_1 = 0, $950$hi = 0, $951$hi = 0, $953$hi = 0, $958$hi = 0, $961$hi = 0, $962$hi = 0, $963$hi = 0, $964$hi = 0, $966$hi = 0, $968$hi = 0, $969$hi = 0, $133_1 = 0, $970$hi = 0, $977$hi = 0, $978$hi = 0, $134_1 = 0, $979$hi = 0, $980$hi = 0, $982$hi = 0, $983$hi = 0, $890_1 = 0, $36_1 = 0, $896$hi = 0, $902_1 = 0, $1124_1 = 0, $906_1 = 0, $1169$hi = 0, $1173_1 = 0, $1254_1 = 0, $910_1 = 0, $1323_1 = 0, $1645$hi = 0, $1649_1 = 0, $926_1 = 0, $2139_1 = 0, $2515$hi = 0, $2519_1 = 0, $2622$hi = 0, $2626_1 = 0, $944_1 = 0, $2697$hi = 0, $2701_1 = 0, $947_1 = 0, $2732_1 = 0, $2772_1 = 0, $961_1 = 0, $2798_1 = 0, $2820$hi = 0, $2824_1 = 0, $973_1 = 0, $2846_1 = 0, $982_1 = 0, $2912_1 = 0, $984_1 = 0, $2919_1 = 0, $892_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 176 | 0; + global$0 = $9_1; + i64toi32_i32$0 = 0; + HEAP32[($9_1 + 168 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 164 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 160 | 0) >> 2] = $2_1; + HEAP16[($9_1 + 158 | 0) >> 1] = $3_1; + HEAP16[($9_1 + 156 | 0) >> 1] = $4_1; + HEAP32[($9_1 + 152 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 148 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 108 | 0) >> 2] = 0; + HEAP32[($9_1 + 88 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($9_1 + 168 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 80 | 0) >> 2] = 0; + HEAP32[($9_1 + 84 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAPU16[($9_1 + 156 | 0) >> 1] | 0) & 65535 | 0)) { + break label$2 + } + if (!(((HEAPU16[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0)) { + break label$2 + } + HEAP8[($9_1 + 175 | 0) >> 0] = 0; + break label$1; + } + HEAP16[($9_1 + 134 | 0) >> 1] = HEAP32[(HEAP32[($9_1 + 164 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + if (!(((HEAPU16[($9_1 + 134 | 0) >> 1] | 0) & 65535 | 0 | 0) > (63 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[($9_1 + 175 | 0) >> 0] = 0; + break label$1; + } + $36_1 = 386; + i64toi32_i32$0 = 0; + $896_1 = 0; + $896$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $897$hi = i64toi32_i32$0; + HEAP8[($9_1 + 144 | 0) >> 0] = 1; + i64toi32_i32$0 = 0; + $898$hi = i64toi32_i32$0; + i64toi32_i32$0 = $897$hi; + i64toi32_i32$0 = $898$hi; + i64toi32_i32$0 = $897$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = $898$hi; + i64toi32_i32$3 = (HEAPU16[($9_1 + 134 | 0) >> 1] | 0) & 65535 | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $125_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $125_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $899$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $900$hi = i64toi32_i32$1; + i64toi32_i32$1 = $899$hi; + i64toi32_i32$1 = $900$hi; + i64toi32_i32$1 = $899$hi; + i64toi32_i32$0 = $125_1; + i64toi32_i32$2 = $900$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$0 = $9_1; + HEAP32[($9_1 + 72 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($9_1 + 76 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $896$hi; + i64toi32_i32$0 = $9_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $896_1; + HEAP32[($9_1 + 68 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$0 = $9_1; + HEAP32[($9_1 + 56 | 0) >> 2] = $896_1; + HEAP32[($9_1 + 60 | 0) >> 2] = i64toi32_i32$5; + HEAP16[($9_1 + 140 | 0) >> 1] = $36_1; + label$4 : { + if (!(((HEAPU16[($9_1 + 158 | 0) >> 1] | 0) & 65535 | 0) & 2051 | 0)) { + break label$4 + } + HEAP16[($9_1 + 140 | 0) >> 1] = (HEAPU16[($9_1 + 140 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + } + HEAP32[($9_1 + 128 | 0) >> 2] = 0; + label$5 : while (1) { + $57_1 = 0; + label$6 : { + if (!((HEAPU8[($9_1 + 144 | 0) >> 0] | 0) & 255 | 0)) { + break label$6 + } + i64toi32_i32$1 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + $902_1 = i64toi32_i32$5; + $902$hi = i64toi32_i32$0; + i64toi32_i32$1 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $903$hi = i64toi32_i32$5; + i64toi32_i32$5 = $902$hi; + i64toi32_i32$5 = $903$hi; + i64toi32_i32$5 = $902$hi; + i64toi32_i32$5 = $903$hi; + $1124_1 = i64toi32_i32$0; + i64toi32_i32$5 = $902$hi; + i64toi32_i32$1 = $902_1; + i64toi32_i32$0 = $903$hi; + i64toi32_i32$3 = $1124_1; + $57_1 = 0; + if (!((i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + $57_1 = (HEAP32[($9_1 + 128 | 0) >> 2] | 0 | 0) <= ((HEAPU16[($9_1 + 156 | 0) >> 1] | 0) & 65535 | 0 | 0); + } + label$7 : { + if (!($57_1 & 1 | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[($9_1 + 128 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$3 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $906_1 = i64toi32_i32$1; + $906$hi = i64toi32_i32$5; + i64toi32_i32$3 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $1169$hi = i64toi32_i32$1; + i64toi32_i32$1 = $906$hi; + i64toi32_i32$1 = $1169$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $906$hi; + i64toi32_i32$0 = $906_1; + i64toi32_i32$5 = i64toi32_i32$1 | i64toi32_i32$5 | 0; + $1173_1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = $9_1; + HEAP32[($9_1 + 56 | 0) >> 2] = $1173_1; + HEAP32[($9_1 + 60 | 0) >> 2] = i64toi32_i32$5; + } + label$9 : { + label$10 : { + label$11 : { + if (!((HEAP32[($9_1 + 128 | 0) >> 2] | 0 | 0) < ((HEAPU16[($9_1 + 156 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($9_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9_1 + 160 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 128 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$12 : { + if (!(((HEAPU16[($9_1 + 158 | 0) >> 1] | 0) & 65535 | 0) & 2048 | 0)) { + break label$12 + } + break label$9; + } + break label$10; + } + HEAP32[($9_1 + 108 | 0) >> 2] = HEAP32[($9_1 + 152 | 0) >> 2] | 0; + } + label$13 : { + if (!((HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1024 | 0)) { + break label$13 + } + $108_1 = 24; + label$14 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 29 | 0) >> 0] | 0) << $108_1 | 0) >> $108_1 | 0)) { + break label$14 + } + if (((HEAPU16[($9_1 + 158 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0) { + break label$14 + } + i64toi32_i32$1 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $1254_1 = i64toi32_i32$5; + i64toi32_i32$5 = $9_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $1254_1; + HEAP32[($9_1 + 84 | 0) >> 2] = i64toi32_i32$3; + } + break label$7; + } + label$15 : { + if (!(((HEAPU16[($9_1 + 158 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$15 + } + HEAP16[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 30 | 0) >> 1] = 0; + } + HEAP32[($9_1 + 116 | 0) >> 2] = HEAP32[((((HEAP32[((HEAP32[($9_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0, 72) | 0) + 40 | 0) >> 2] | 0; + HEAP32[($9_1 + 124 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0) < ((HEAPU16[($9_1 + 134 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$16 + } + i64toi32_i32$3 = 0; + $910_1 = 0; + $910$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $911$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $912$hi = i64toi32_i32$3; + i64toi32_i32$3 = $911$hi; + i64toi32_i32$3 = $912$hi; + i64toi32_i32$3 = $911$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$5 = $912$hi; + i64toi32_i32$0 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $126_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$2 | 0) | 0; + $126_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $913$hi = i64toi32_i32$5; + i64toi32_i32$3 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + $914$hi = i64toi32_i32$1; + i64toi32_i32$1 = $913$hi; + i64toi32_i32$1 = $914$hi; + $1323_1 = i64toi32_i32$5; + i64toi32_i32$1 = $913$hi; + i64toi32_i32$3 = $126_1; + i64toi32_i32$5 = $914$hi; + i64toi32_i32$0 = $1323_1; + i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + $916$hi = i64toi32_i32$5; + i64toi32_i32$5 = $910$hi; + i64toi32_i32$5 = $916$hi; + i64toi32_i32$5 = $910$hi; + i64toi32_i32$5 = $916$hi; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + i64toi32_i32$3 = $910$hi; + i64toi32_i32$0 = $910_1; + label$18 : { + label$19 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$19 + } + break label$18; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1527(HEAP32[(((HEAP32[($9_1 + 164 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$20 + } + break label$18; + } + label$21 : { + if (!(((HEAPU8[(HEAP32[($9_1 + 100 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$21 + } + break label$18; + } + label$22 : { + if (!((HEAP32[((HEAP32[($9_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + break label$18; + } + $184_1 = 0; + $191_1 = 16; + i64toi32_i32$0 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $918$hi = i64toi32_i32$5; + i64toi32_i32$5 = -1; + $919$hi = i64toi32_i32$5; + i64toi32_i32$5 = $918$hi; + i64toi32_i32$5 = $919$hi; + i64toi32_i32$5 = $918$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $919$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$1 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1723((HEAP32[($9_1 + 168 | 0) >> 2] | 0) + 80 | 0 | 0, HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($9_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $191_1 | 0) >> $191_1 | 0 | 0, i64toi32_i32$0 ^ i64toi32_i32$3 | 0 | 0, i64toi32_i32$1 | 0, (HEAPU16[($9_1 + 140 | 0) >> 1] | 0) & 65535 | 0 | 0, $184_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!((HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0) == ($184_1 | 0) & 1 | 0)) { + break label$23 + } + break label$18; + } + label$24 : { + if (!(((HEAPU16[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($9_1 + 120 | 0) >> 2] = 0; + label$25 : while (1) { + $226_1 = 0; + label$26 : { + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$26 + } + $226_1 = (HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + label$27 : { + if (!($226_1 & 1 | 0)) { + break label$27 + } + HEAP32[($9_1 + 120 | 0) >> 2] = (HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + } + break label$25; + }; + label$28 : { + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) >= ((HEAPU16[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$28 + } + break label$18; + } + } + label$29 : { + if (!(((HEAPU16[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 130 | 0)) { + break label$29 + } + $263_1 = 16; + if (!((((HEAPU16[((HEAP32[($9_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $263_1 | 0) >> $263_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($9_1 + 52 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 168 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1675(HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($9_1 + 164 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $427(HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$30 : { + label$31 : { + if ((HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$31 + } + if (!($88(HEAP32[(HEAP32[($9_1 + 48 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($9_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0)) { + break label$30 + } + } + break label$18; + } + } + i64toi32_i32$1 = 0; + $921$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $922$hi = i64toi32_i32$1; + i64toi32_i32$1 = $921$hi; + i64toi32_i32$1 = $922$hi; + i64toi32_i32$1 = $921$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$0 = $922$hi; + i64toi32_i32$3 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$5 << i64toi32_i32$2 | 0; + $127_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$2 | 0) | 0; + $127_1 = i64toi32_i32$5 << i64toi32_i32$2 | 0; + } + $923$hi = i64toi32_i32$0; + i64toi32_i32$1 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + $1645$hi = i64toi32_i32$5; + i64toi32_i32$5 = $923$hi; + i64toi32_i32$5 = $1645$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $923$hi; + i64toi32_i32$3 = $127_1; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + $1649_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $1649_1; + HEAP32[($9_1 + 84 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($9_1 + 124 | 0) >> 2] = (HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + label$32 : { + if ((HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 4096 | 0) { + break label$32 + } + label$33 : { + label$34 : { + if (!((HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 256 | 0)) { + break label$34 + } + HEAP32[($9_1 + 92 | 0) >> 2] = 0; + HEAP16[($9_1 + 138 | 0) >> 1] = 0; + HEAP16[($9_1 + 136 | 0) >> 1] = 1; + break label$33; + } + $317_1 = HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($9_1 + 92 | 0) >> 2] = $317_1; + label$35 : { + label$36 : { + if (($317_1 | 0) == (0 | 0) & 1 | 0) { + break label$36 + } + $128_1 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + if (!((((HEAPU8[($128_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($128_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 2 | 0) & 1 | 0) & 65535 | 0)) { + break label$35 + } + } + HEAP8[($9_1 + 175 | 0) >> 0] = 0; + break label$1; + } + HEAP16[($9_1 + 138 | 0) >> 1] = HEAPU16[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0; + HEAP16[($9_1 + 136 | 0) >> 1] = HEAPU16[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0; + $341_1 = 0; + label$37 : { + if (!((HEAPU8[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$37 + } + $341_1 = ((HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 32768 | 0 | 0) == (0 | 0); + } + HEAP8[($9_1 + 144 | 0) >> 0] = $341_1 & 1 | 0; + } + $354_1 = 0; + HEAP8[($9_1 + 147 | 0) >> 0] = $354_1; + HEAP8[($9_1 + 146 | 0) >> 0] = $354_1; + HEAP8[($9_1 + 143 | 0) >> 0] = $354_1; + HEAP32[($9_1 + 120 | 0) >> 2] = 0; + label$38 : { + label$39 : while (1) { + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) < ((HEAPU16[($9_1 + 136 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$38 + } + HEAP8[($9_1 + 43 | 0) >> 0] = 1; + label$40 : { + label$41 : { + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$41 + } + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) >= ((HEAPU16[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$41 + } + HEAP16[($9_1 + 40 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 12 | 0) >> 1] | 0; + label$42 : { + if (!(((HEAPU16[($9_1 + 40 | 0) >> 1] | 0) & 65535 | 0) & ((HEAPU16[($9_1 + 140 | 0) >> 1] | 0) & 65535 | 0) | 0)) { + break label$42 + } + label$43 : { + if (!(((HEAPU16[($9_1 + 40 | 0) >> 1] | 0) & 65535 | 0) & 384 | 0)) { + break label$43 + } + HEAP8[($9_1 + 144 | 0) >> 0] = 0; + } + break label$40; + } + label$44 : { + if (!(((HEAPU16[($9_1 + 40 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$44 + } + HEAP32[($9_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($9_1 + 124 | 0) >> 2] = (HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 1 | 0; + label$45 : { + label$46 : while (1) { + if (!((HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$45 + } + label$47 : { + if (!((HEAP32[(HEAP32[((HEAP32[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$47 + } + HEAP8[($9_1 + 43 | 0) >> 0] = 0; + break label$45; + } + HEAP32[($9_1 + 124 | 0) >> 2] = (HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 1 | 0; + continue label$46; + }; + } + } + } + label$48 : { + label$49 : { + if (!((HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$49 + } + $464_1 = 16; + HEAP32[($9_1 + 112 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 120 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $464_1 | 0) >> $464_1 | 0; + HEAP8[($9_1 + 145 | 0) >> 0] = ((HEAPU8[((HEAP32[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($9_1 + 120 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 1 | 0; + $480_1 = 16; + label$50 : { + if (!((HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $480_1 | 0) >> $480_1 | 0 | 0) & 1 | 0)) { + break label$50 + } + HEAP32[($9_1 + 112 | 0) >> 2] = -1; + } + break label$48; + } + HEAP32[($9_1 + 112 | 0) >> 2] = -1; + HEAP8[($9_1 + 145 | 0) >> 0] = 0; + } + label$51 : { + if (!((HEAPU8[($9_1 + 144 | 0) >> 0] | 0) & 255 | 0)) { + break label$51 + } + if (!((HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$51 + } + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) >= ((HEAPU16[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$51 + } + if ((HEAPU8[(((HEAP32[((HEAP32[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($9_1 + 112 | 0) >> 2] | 0, 20) | 0) + 12 | 0) >> 0] | 0) & 255 | 0) { + break label$51 + } + HEAP8[($9_1 + 144 | 0) >> 0] = 0; + } + HEAP8[($9_1 + 142 | 0) >> 0] = 0; + HEAP32[($9_1 + 124 | 0) >> 2] = 0; + label$52 : while (1) { + $528_1 = 0; + label$53 : { + if (!((HEAPU8[($9_1 + 43 | 0) >> 0] | 0) & 255 | 0)) { + break label$53 + } + $528_1 = (HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0) < ((HEAPU16[($9_1 + 134 | 0) >> 1] | 0) & 65535 | 0 | 0); + } + label$54 : { + if (!($528_1 & 1 | 0)) { + break label$54 + } + i64toi32_i32$0 = 0; + $926_1 = 0; + $926$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $927$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $928$hi = i64toi32_i32$0; + i64toi32_i32$0 = $927$hi; + i64toi32_i32$0 = $928$hi; + i64toi32_i32$0 = $927$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$1 = $928$hi; + i64toi32_i32$3 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$5 << i64toi32_i32$2 | 0; + $129_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$2 | 0) | 0; + $129_1 = i64toi32_i32$5 << i64toi32_i32$2 | 0; + } + $929$hi = i64toi32_i32$1; + i64toi32_i32$0 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + $930$hi = i64toi32_i32$5; + i64toi32_i32$5 = $929$hi; + i64toi32_i32$5 = $930$hi; + $2139_1 = i64toi32_i32$1; + i64toi32_i32$5 = $929$hi; + i64toi32_i32$0 = $129_1; + i64toi32_i32$1 = $930$hi; + i64toi32_i32$3 = $2139_1; + i64toi32_i32$1 = i64toi32_i32$5 & i64toi32_i32$1 | 0; + $932$hi = i64toi32_i32$1; + i64toi32_i32$1 = $926$hi; + i64toi32_i32$1 = $932$hi; + i64toi32_i32$1 = $926$hi; + i64toi32_i32$1 = $932$hi; + i64toi32_i32$5 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $926$hi; + i64toi32_i32$3 = $926_1; + label$55 : { + label$56 : { + if (!(((i64toi32_i32$5 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$56 + } + break label$55; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1527(HEAP32[(((HEAP32[($9_1 + 164 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$57 : { + if (!((HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$57 + } + break label$55; + } + label$58 : { + if (((HEAPU16[($9_1 + 158 | 0) >> 1] | 0) & 65535 | 0) & 192 | 0) { + break label$58 + } + HEAP8[($9_1 + 43 | 0) >> 0] = 0; + } + label$59 : { + label$60 : { + if (!((HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) >= (-1 | 0) & 1 | 0)) { + break label$60 + } + label$61 : { + if (!(((HEAPU8[(HEAP32[($9_1 + 100 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0)) { + break label$61 + } + break label$55; + } + label$62 : { + if (!((HEAP32[((HEAP32[($9_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$62 + } + break label$55; + } + $593_1 = 16; + label$63 : { + if (!((((HEAPU16[((HEAP32[($9_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $593_1 | 0) >> $593_1 | 0 | 0) != (HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$63 + } + break label$55; + } + break label$59; + } + HEAP32[($9_1 + 32 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 120 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$64 : { + if (!($1767(HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0) | 0)) { + break label$64 + } + break label$55; + } + } + label$65 : { + if (!((HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$65 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1675(HEAP32[(HEAP32[($9_1 + 168 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($9_1 + 164 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$66 : { + if (!($88(HEAP32[(HEAP32[($9_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($9_1 + 92 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$66 + } + break label$55; + } + } + label$67 : { + if (!(((HEAPU16[($9_1 + 158 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$67 + } + HEAP16[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 30 | 0) >> 1] = (HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 1 | 0; + } + HEAP8[($9_1 + 142 | 0) >> 0] = 1; + break label$54; + } + HEAP32[($9_1 + 124 | 0) >> 2] = (HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 1 | 0; + continue label$52; + } + break label$52; + }; + label$68 : { + if (!((HEAPU8[($9_1 + 142 | 0) >> 0] | 0) & 255 | 0)) { + break label$68 + } + if (((HEAPU16[($9_1 + 158 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0) { + break label$68 + } + label$69 : { + label$70 : { + if (!(((HEAPU8[($9_1 + 147 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$70 + } + label$71 : { + if (!((((HEAPU8[($9_1 + 146 | 0) >> 0] | 0) & 255 | 0) ^ ((HEAPU8[($9_1 + 145 | 0) >> 0] | 0) & 255 | 0) | 0 | 0) != (((HEAPU8[((((HEAP32[($9_1 + 164 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$71 + } + HEAP8[($9_1 + 142 | 0) >> 0] = 0; + } + break label$69; + } + HEAP8[($9_1 + 146 | 0) >> 0] = ((HEAPU8[($9_1 + 145 | 0) >> 0] | 0) & 255 | 0) ^ (((HEAPU8[((((HEAP32[($9_1 + 164 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) | 0; + label$72 : { + if (!(((HEAPU8[($9_1 + 146 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$72 + } + i64toi32_i32$5 = 0; + $934$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $935$hi = i64toi32_i32$5; + i64toi32_i32$5 = $934$hi; + i64toi32_i32$5 = $935$hi; + i64toi32_i32$5 = $934$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = $935$hi; + i64toi32_i32$0 = HEAP32[($9_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + $130_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $130_1 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + } + $936$hi = i64toi32_i32$1; + $725_1 = HEAP32[($9_1 + 148 | 0) >> 2] | 0; + i64toi32_i32$5 = $725_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $2515$hi = i64toi32_i32$3; + i64toi32_i32$3 = $936$hi; + i64toi32_i32$3 = $2515$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $936$hi; + i64toi32_i32$0 = $130_1; + i64toi32_i32$1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + $2519_1 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + i64toi32_i32$5 = $725_1; + HEAP32[i64toi32_i32$5 >> 2] = $2519_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$1; + } + HEAP8[($9_1 + 147 | 0) >> 0] = 1; + } + } + label$73 : { + if (!((HEAPU8[($9_1 + 142 | 0) >> 0] | 0) & 255 | 0)) { + break label$73 + } + if (!(((HEAPU8[((((HEAP32[($9_1 + 164 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$73 + } + label$74 : { + label$75 : { + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) == ((HEAPU16[((HEAP32[($9_1 + 108 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$75 + } + $752_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + HEAP32[($752_1 + 36 | 0) >> 2] = HEAP32[($752_1 + 36 | 0) >> 2] | 0 | 524288 | 0; + break label$74; + } + HEAP8[($9_1 + 142 | 0) >> 0] = 0; + } + } + label$76 : { + label$77 : { + if (!(((HEAPU8[($9_1 + 142 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$77 + } + label$78 : { + if (!((HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$78 + } + HEAP8[($9_1 + 143 | 0) >> 0] = 1; + } + i64toi32_i32$1 = 0; + $939$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $940$hi = i64toi32_i32$1; + i64toi32_i32$1 = $939$hi; + i64toi32_i32$1 = $940$hi; + i64toi32_i32$1 = $939$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = $940$hi; + i64toi32_i32$0 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + $131_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$2 | 0) | 0; + $131_1 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + } + $941$hi = i64toi32_i32$5; + i64toi32_i32$1 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + $2622$hi = i64toi32_i32$3; + i64toi32_i32$3 = $941$hi; + i64toi32_i32$3 = $2622$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $941$hi; + i64toi32_i32$0 = $131_1; + i64toi32_i32$5 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + $2626_1 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $2626_1; + HEAP32[($9_1 + 84 | 0) >> 2] = i64toi32_i32$5; + break label$76; + } + label$79 : { + label$80 : { + if (!(HEAP32[($9_1 + 120 | 0) >> 2] | 0)) { + break label$80 + } + if (!((HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0) < ((HEAPU16[($9_1 + 138 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$79 + } + } + HEAP8[($9_1 + 144 | 0) >> 0] = 0; + } + break label$38; + } + } + HEAP32[($9_1 + 120 | 0) >> 2] = (HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$39; + }; + } + label$81 : { + if (!(((HEAPU8[($9_1 + 143 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$81 + } + HEAP8[($9_1 + 144 | 0) >> 0] = 1; + } + } + label$82 : { + if (!(((HEAPU8[($9_1 + 144 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$82 + } + i64toi32_i32$3 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $944_1 = i64toi32_i32$5; + $944$hi = i64toi32_i32$1; + i64toi32_i32$3 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $2697$hi = i64toi32_i32$5; + i64toi32_i32$5 = $944$hi; + i64toi32_i32$5 = $2697$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $944$hi; + i64toi32_i32$0 = $944_1; + i64toi32_i32$1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + $2701_1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = $9_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $2701_1; + HEAP32[($9_1 + 68 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($9_1 + 124 | 0) >> 2] = 0; + label$83 : { + label$84 : while (1) { + if (!((HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0) < ((HEAPU16[($9_1 + 134 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$83 + } + i64toi32_i32$1 = 0; + $947_1 = 0; + $947$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $948$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $949$hi = i64toi32_i32$1; + i64toi32_i32$1 = $948$hi; + i64toi32_i32$1 = $949$hi; + i64toi32_i32$1 = $948$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$3 = $949$hi; + i64toi32_i32$0 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$5 << i64toi32_i32$2 | 0; + $132_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$2 | 0) | 0; + $132_1 = i64toi32_i32$5 << i64toi32_i32$2 | 0; + } + $950$hi = i64toi32_i32$3; + i64toi32_i32$1 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + $951$hi = i64toi32_i32$5; + i64toi32_i32$5 = $950$hi; + i64toi32_i32$5 = $951$hi; + $2732_1 = i64toi32_i32$3; + i64toi32_i32$5 = $950$hi; + i64toi32_i32$1 = $132_1; + i64toi32_i32$3 = $951$hi; + i64toi32_i32$0 = $2732_1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + $953$hi = i64toi32_i32$3; + i64toi32_i32$3 = $947$hi; + i64toi32_i32$3 = $953$hi; + i64toi32_i32$3 = $947$hi; + i64toi32_i32$3 = $953$hi; + i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + i64toi32_i32$1 = $947$hi; + i64toi32_i32$0 = $947_1; + label$85 : { + label$86 : { + if (!(((i64toi32_i32$5 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$86 + } + break label$85; + } + i64toi32_i32$5 = 0; + $955$hi = i64toi32_i32$5; + HEAP32[($9_1 + 28 | 0) >> 2] = HEAP32[(((HEAP32[($9_1 + 164 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + i64toi32_i32$5 = $1733((HEAP32[($9_1 + 168 | 0) >> 2] | 0) + 488 | 0 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $2772_1 = i64toi32_i32$5; + i64toi32_i32$5 = $9_1; + HEAP32[($9_1 + 16 | 0) >> 2] = $2772_1; + HEAP32[($9_1 + 20 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$0 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + $958$hi = i64toi32_i32$5; + i64toi32_i32$5 = $955$hi; + i64toi32_i32$5 = $958$hi; + i64toi32_i32$5 = $955$hi; + i64toi32_i32$5 = $958$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $955$hi; + i64toi32_i32$1 = 0; + label$87 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$87 + } + if ($1243(HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) | 0) { + break label$87 + } + break label$85; + } + i64toi32_i32$0 = 0; + $960$hi = i64toi32_i32$0; + i64toi32_i32$1 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + $961_1 = i64toi32_i32$0; + $961$hi = i64toi32_i32$5; + i64toi32_i32$1 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $962$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $963$hi = i64toi32_i32$0; + i64toi32_i32$0 = $962$hi; + i64toi32_i32$0 = $963$hi; + i64toi32_i32$0 = $962$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $963$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$5 = i64toi32_i32$0 ^ i64toi32_i32$5 | 0; + $964$hi = i64toi32_i32$5; + i64toi32_i32$5 = $961$hi; + i64toi32_i32$5 = $964$hi; + $2798_1 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; + i64toi32_i32$5 = $961$hi; + i64toi32_i32$0 = $961_1; + i64toi32_i32$1 = $964$hi; + i64toi32_i32$3 = $2798_1; + i64toi32_i32$1 = i64toi32_i32$5 & i64toi32_i32$1 | 0; + $966$hi = i64toi32_i32$1; + i64toi32_i32$1 = $960$hi; + i64toi32_i32$1 = $966$hi; + i64toi32_i32$1 = $960$hi; + i64toi32_i32$1 = $966$hi; + i64toi32_i32$5 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $960$hi; + i64toi32_i32$3 = 0; + label$88 : { + if (!(((i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$88 + } + i64toi32_i32$5 = 0; + $968$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $969$hi = i64toi32_i32$5; + i64toi32_i32$5 = $968$hi; + i64toi32_i32$5 = $969$hi; + i64toi32_i32$5 = $968$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = $969$hi; + i64toi32_i32$0 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + $133_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $133_1 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + } + $970$hi = i64toi32_i32$1; + i64toi32_i32$5 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + $2820$hi = i64toi32_i32$3; + i64toi32_i32$3 = $970$hi; + i64toi32_i32$3 = $2820$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $970$hi; + i64toi32_i32$0 = $133_1; + i64toi32_i32$1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + $2824_1 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + i64toi32_i32$5 = $9_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $2824_1; + HEAP32[($9_1 + 84 | 0) >> 2] = i64toi32_i32$1; + } + } + HEAP32[($9_1 + 124 | 0) >> 2] = (HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 1 | 0; + continue label$84; + }; + } + } + } + HEAP32[($9_1 + 128 | 0) >> 2] = (HEAP32[($9_1 + 128 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + i64toi32_i32$3 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + $973_1 = i64toi32_i32$1; + $973$hi = i64toi32_i32$5; + i64toi32_i32$3 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + $974$hi = i64toi32_i32$1; + i64toi32_i32$1 = $973$hi; + i64toi32_i32$1 = $974$hi; + i64toi32_i32$1 = $973$hi; + i64toi32_i32$1 = $974$hi; + $2846_1 = i64toi32_i32$5; + i64toi32_i32$1 = $973$hi; + i64toi32_i32$3 = $973_1; + i64toi32_i32$5 = $974$hi; + i64toi32_i32$0 = $2846_1; + label$89 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$89 + } + HEAP8[($9_1 + 175 | 0) >> 0] = HEAPU16[($9_1 + 134 | 0) >> 1] | 0; + break label$1; + } + label$90 : { + if (((HEAPU8[($9_1 + 144 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$90 + } + HEAP32[($9_1 + 124 | 0) >> 2] = ((HEAPU16[($9_1 + 134 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + label$91 : { + label$92 : while (1) { + if (!((HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$91 + } + i64toi32_i32$3 = 0; + $977$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $978$hi = i64toi32_i32$3; + i64toi32_i32$3 = $977$hi; + i64toi32_i32$3 = $978$hi; + i64toi32_i32$3 = $977$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$1 = $978$hi; + i64toi32_i32$5 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + $134_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$2 | 0) | 0; + $134_1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + } + $979$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $980$hi = i64toi32_i32$1; + i64toi32_i32$1 = $979$hi; + i64toi32_i32$1 = $980$hi; + i64toi32_i32$1 = $979$hi; + i64toi32_i32$3 = $134_1; + i64toi32_i32$0 = $980$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$2 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$4 | 0; + i64toi32_i32$3 = $9_1; + HEAP32[($9_1 + 8 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($9_1 + 12 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$1 = $9_1; + i64toi32_i32$4 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + $982_1 = i64toi32_i32$4; + $982$hi = i64toi32_i32$3; + i64toi32_i32$1 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + $983$hi = i64toi32_i32$4; + i64toi32_i32$4 = $982$hi; + i64toi32_i32$4 = $983$hi; + $2912_1 = i64toi32_i32$3; + i64toi32_i32$4 = $982$hi; + i64toi32_i32$1 = $982_1; + i64toi32_i32$3 = $983$hi; + i64toi32_i32$5 = $2912_1; + i64toi32_i32$3 = i64toi32_i32$4 & i64toi32_i32$3 | 0; + $984_1 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + $984$hi = i64toi32_i32$3; + i64toi32_i32$4 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + $985$hi = i64toi32_i32$1; + i64toi32_i32$1 = $984$hi; + i64toi32_i32$1 = $985$hi; + i64toi32_i32$1 = $984$hi; + i64toi32_i32$1 = $985$hi; + $2919_1 = i64toi32_i32$3; + i64toi32_i32$1 = $984$hi; + i64toi32_i32$4 = $984_1; + i64toi32_i32$3 = $985$hi; + i64toi32_i32$5 = $2919_1; + label$93 : { + if (!(((i64toi32_i32$4 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$93 + } + HEAP8[($9_1 + 175 | 0) >> 0] = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($9_1 + 124 | 0) >> 2] = (HEAP32[($9_1 + 124 | 0) >> 2] | 0) + -1 | 0; + continue label$92; + }; + } + HEAP8[($9_1 + 175 | 0) >> 0] = 0; + break label$1; + } + HEAP8[($9_1 + 175 | 0) >> 0] = 255; + } + $890_1 = 24; + $892_1 = ((HEAPU8[($9_1 + 175 | 0) >> 0] | 0) << $890_1 | 0) >> $890_1 | 0; + global$0 = $9_1 + 176 | 0; + return $892_1 | 0; + } + + function $1732($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, $16_1 = 0, $22_1 = 0, $26_1 = 0, $40_1 = 0, $44_1 = 0, $62_1 = 0, $71_1 = 0, $77_1 = 0, $81_1 = 0, $85_1 = 0, $90_1 = 0, i64toi32_i32$0 = 0, $83_1 = 0, $92_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP16[($6_1 + 26 | 0) >> 1] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + i64toi32_i32$1 = (Math_imul((HEAP32[($6_1 + 20 | 0) >> 2] | 0) - (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0, 100) | 0) / (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $16_1 = 16; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = ((($937(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) << $16_1 | 0) >> $16_1 | 0) - 66 | 0), HEAP16[(wasm2js_i32$0 + 14 | 0) >> 1] = wasm2js_i32$1; + $22_1 = 16; + $26_1 = 16; + HEAP16[($6_1 + 12 | 0) >> 1] = ((((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $22_1 | 0) >> $22_1 | 0) + (((HEAPU16[($6_1 + 14 | 0) >> 1] | 0) << $26_1 | 0) >> $26_1 | 0) | 0) + 16 | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0)) { + break label$2 + } + $40_1 = 16; + $44_1 = 16; + if (!((((HEAPU16[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) < (((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $44_1 | 0) >> $44_1 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP16[($6_1 + 26 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + break label$1; + } + label$3 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$3 + } + $62_1 = 16; + label$4 : { + if (!((((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) > (10 | 0) & 1 | 0)) { + break label$4 + } + $71_1 = 16; + HEAP16[($6_1 + 26 | 0) >> 1] = (((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $71_1 | 0) >> $71_1 | 0) - 10 | 0; + } + } + } + $77_1 = 16; + $81_1 = 16; + $83_1 = (($1776(((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $77_1 | 0) >> $77_1 | 0 | 0) | 0) << $81_1 | 0) >> $81_1 | 0; + $85_1 = 16; + HEAP16[($6_1 + 12 | 0) >> 1] = (((HEAPU16[($6_1 + 12 | 0) >> 1] | 0) << $85_1 | 0) >> $85_1 | 0) + $83_1 | 0; + $90_1 = 16; + $92_1 = ((HEAPU16[($6_1 + 12 | 0) >> 1] | 0) << $90_1 | 0) >> $90_1 | 0; + global$0 = $6_1 + 32 | 0; + return $92_1 | 0; + } + + function $1733($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $17_1 = 0, $17$hi = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = $1751(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $17_1 = i64toi32_i32$0; + $17$hi = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = 0; + $17_1 = 0; + $17$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $17$hi; + global$0 = $4_1 + 16 | 0; + i64toi32_i32$0 = $17_1; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $1734($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $76$hi = 0, i64toi32_i32$3 = 0, $77$hi = 0, $78$hi = 0, $80$hi = 0, $67_1 = 0, $77_1 = 0, $169_1 = 0, $73_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (((HEAPU16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 130 | 0) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$4 + } + if ((HEAP32[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0) { + break label$4 + } + if (!(((HEAPU16[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$0 = 0; + $76$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $77_1 = i64toi32_i32$0; + $77$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$0; + i64toi32_i32$0 = $77$hi; + i64toi32_i32$0 = $78$hi; + $169_1 = i64toi32_i32$1; + i64toi32_i32$0 = $77$hi; + i64toi32_i32$2 = $77_1; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$3 = $169_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $80$hi = i64toi32_i32$1; + i64toi32_i32$1 = $76$hi; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $76$hi; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $76$hi; + i64toi32_i32$3 = 0; + label$5 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP8[($5_1 + 7 | 0) >> 0] = HEAPU8[(((HEAP32[((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0, 20) | 0) + 13 | 0) >> 0] | 0; + $67_1 = 24; + label$7 : { + if ($1772(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAPU8[($5_1 + 7 | 0) >> 0] | 0) << $67_1 | 0) >> $67_1 | 0 | 0) | 0) { + break label$7 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + } + $73_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $73_1 | 0; + } + + function $1735($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 1] | 0) & 65535 | 0 | 0) >= (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 7 | 0) & -8 | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + break label$1; + } + $3288(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 1] | 0) & 65535 | 0) << 2 | 0 | 0) | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 56 | 0 | 0) & 1 | 0)) { + break label$4 + } + $23(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + } + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 1] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $63_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $63_1 | 0; + } + + function $1736($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $40_1 = 0, $50_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP16[($4_1 + 18 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0; + HEAP16[($4_1 + 16 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + label$1 : { + label$2 : { + if ((HEAPU16[($4_1 + 18 | 0) >> 1] | 0) & 65535 | 0) { + break label$2 + } + if ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 48 | 0) { + break label$2 + } + break label$1; + } + $51(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 32797 | 0, 2 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < ((HEAPU16[($4_1 + 18 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1795(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$5 + } + $51(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 32800 | 0, 5 | 0); + } + $40_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $50_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) >= ((HEAPU16[($4_1 + 16 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0 ? 32806 : 32811; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $84($40_1 | 0, $50_1 | 0, $4_1 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 32 | 0)) { + break label$6 + } + $1796(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 32728 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + } + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 16 | 0)) { + break label$7 + } + $1796(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 32730 | 0); + } + $51(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 5213 | 0, 1 | 0); + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1737($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, $53_1 = 0, $175_1 = 0, $245_1 = 0, $265_1 = 0, $273_1 = 0, $352_1 = 0, $359_1 = 0, $252_1 = 0, $285_1 = 0, $342_1 = 0, $351_1 = 0, $367_1 = 0, $434_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 96 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 84 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (((HEAPU8[(HEAP32[($8_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (53 | 0) & 1 | 0) { + break label$4 + } + if (!(((HEAPU8[(HEAP32[($8_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$3 + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1496(HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + label$5 : { + label$6 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (50 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($8_1 + 56 | 0) >> 2] = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + $366(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) | 0; + break label$5; + } + $53_1 = 0; + HEAP32[($8_1 + 52 | 0) >> 2] = 5; + HEAP32[($8_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $53_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $53_1; + label$7 : { + if ((HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1024 | 0) { + break label$7 + } + if (!((HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAPU8[((HEAP32[((HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($8_1 + 76 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0)) { + break label$7 + } + HEAP32[($8_1 + 72 | 0) >> 2] = ((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0; + } + HEAP32[($8_1 + 56 | 0) >> 2] = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + label$10 : { + if (!((HEAP32[((HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[(HEAP32[((HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $1739(HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 92 | 0) >> 2] = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + if (!((HEAP32[(HEAP32[((HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($8_1 + 32 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP32[($8_1 + 48 | 0) >> 2] = 0; + label$14 : { + label$15 : { + label$16 : { + if (!((HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$16 + } + if (!((HEAP32[(HEAP32[((HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$15 + } + } + $175_1 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1533(HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, 4 | 0, $175_1 | 0, $175_1 | 0, $8_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + break label$14; + } + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1797(HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (((HEAPU8[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$17 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $308(HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 32 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1533(HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, 4 | 0, 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, $8_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[(HEAP32[($8_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + } + $18(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 84 | 0) >> 2] | 0) >> 2] | 0; + } + label$18 : { + if (!((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($8_1 + 72 | 0) >> 2] = ((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0; + } + $366(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 72 | 0) >> 2] | 0 ? 33 : 37) | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $245_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($245_1 + 36 | 0) >> 2] = HEAP32[($245_1 + 36 | 0) >> 2] | 0 | 2048 | 0; + label$19 : { + if (HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) { + break label$19 + } + $252_1 = $1358(HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 16 | 0) >> 2] = $252_1; + } + label$20 : { + if (!((HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$20 + } + if ((HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1048576 | 0) { + break label$20 + } + $265_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($265_1 + 36 | 0) >> 2] = HEAP32[($265_1 + 36 | 0) >> 2] | 0 | 262144 | 0; + } + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + $273_1 = HEAP32[($8_1 + 80 | 0) >> 2] | 0; + HEAP32[($273_1 + 64 | 0) >> 2] = (HEAP32[($273_1 + 64 | 0) >> 2] | 0) + (HEAP32[($8_1 + 32 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = 0; + $285_1 = $875(HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0, 20) | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 68 | 0) >> 2] = $285_1; + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + label$21 : { + label$22 : { + if (!((HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($8_1 + 20 | 0) >> 2] = 0; + HEAP32[($8_1 + 44 | 0) >> 2] = (HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 36 | 0) >> 2] | 0, 20) | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$23 + } + label$25 : { + if (!((HEAP32[(HEAP32[((HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($8_1 + 16 | 0) >> 2] = ((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + (HEAP32[($8_1 + 36 | 0) >> 2] | 0) | 0) - (HEAP32[($8_1 + 76 | 0) >> 2] | 0) | 0; + label$26 : { + label$27 : { + if (!((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$27 + } + $342_1 = $366(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] = $342_1; + break label$26; + } + label$28 : { + label$29 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$29 + } + $351_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $352_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $352_1 + 1 | 0; + $359_1 = HEAP32[($351_1 + ($352_1 << 2 | 0) | 0) >> 2] | 0; + break label$28; + } + $359_1 = 0; + } + HEAP32[($8_1 + 12 | 0) >> 2] = $359_1; + $367_1 = $367(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] = $367_1; + } + $1288(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) | 0; + label$30 : { + label$31 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAP32[($8_1 + 72 | 0) >> 2] | 0 ? 4 : 5; + label$32 : { + label$33 : { + if (!((HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) - (HEAP32[($8_1 + 36 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + break label$32; + } + HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + } + break label$30; + } + HEAP8[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 0] = 174; + } + HEAP32[($8_1 + 44 | 0) >> 2] = (HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 20 | 0; + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$24; + }; + } + label$34 : { + if (!((HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$34 + } + if ((HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1049600 | 0) { + break label$34 + } + $367(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, 119 | 0, HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) | 0; + } + break label$21; + } + HEAP32[((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + 64 | 0) >> 2] = 0; + } + $13(HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0); + } + } + $1739(HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 92 | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + } + $434_1 = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + global$0 = $8_1 + 96 | 0; + return $434_1 | 0; + } + + function $1738($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!($1505(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$4 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1516(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 77 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - 1 | 0 | 0) | 0; + break label$3; + } + HEAP32[$6_1 >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $1281(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[$6_1 >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0 | 0); + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + } + break label$1; + } + $1281(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1739($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $13_1 = 0, $73$hi = 0, i64toi32_i32$3 = 0, $74$hi = 0, $75$hi = 0, $77$hi = 0, $35_1 = 0, $41_1 = 0, $55_1 = 0, $62_1 = 0, $74_1 = 0, $128_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : while (1) { + $13_1 = 0; + label$2 : { + if (((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0) { + break label$2 + } + label$3 : { + if (!(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0)) { + break label$3 + } + $13_1 = 0; + if (!((HEAP32[((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$2 + } + } + i64toi32_i32$0 = 0; + $73$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 84 | 0) >> 2] | 0; + $74_1 = i64toi32_i32$0; + $74$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $75$hi = i64toi32_i32$0; + i64toi32_i32$0 = $74$hi; + i64toi32_i32$0 = $75$hi; + $128_1 = i64toi32_i32$1; + i64toi32_i32$0 = $74$hi; + i64toi32_i32$2 = $74_1; + i64toi32_i32$1 = $75$hi; + i64toi32_i32$3 = $128_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $77$hi = i64toi32_i32$1; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$1 = $77$hi; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$1 = $77$hi; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $73$hi; + i64toi32_i32$3 = 0; + $13_1 = (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0; + } + label$4 : { + if (!($13_1 & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$6 + } + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 1024 | 0)) { + break label$6 + } + $35_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP16[($35_1 + 10 | 0) >> 1] = (HEAPU16[($35_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 512 | 0; + break label$5; + } + $41_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP16[($41_1 + 10 | 0) >> 1] = (HEAPU16[($41_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + } + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$7 + } + break label$4; + } + $55_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($55_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($55_1 + 16 | 0) >> 2] | 0, 48) | 0; + $62_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[($62_1 + 14 | 0) >> 0] = (HEAPU8[($62_1 + 14 | 0) >> 0] | 0) + -1 | 0; + label$8 : { + if (!((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 14 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + break label$4; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + return; + } + + function $1740($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $30_1 = 0, $48_1 = 0, $205_1 = 0, $209_1 = 0, $226_1 = 0, $70_1 = 0, $239_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP16[($7_1 + 58 | 0) >> 1] = HEAPU16[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0; + HEAP16[($7_1 + 56 | 0) >> 1] = HEAPU16[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = ((HEAPU16[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0) + (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0; + $30_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[($30_1 + 44 | 0) >> 2] = (HEAP32[($30_1 + 44 | 0) >> 2] | 0) + (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $291(HEAP32[(HEAP32[($7_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, $1409(HEAP32[(HEAP32[($7_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(((HEAPU16[($7_1 + 56 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$1 + } + $48_1 = 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1288(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0 ? 33 : 37) | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1276(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 11 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $70_1 = $353(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0 ? 22 : 25) | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, $48_1 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, (HEAPU16[($7_1 + 56 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] = $70_1; + $1277(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 36 | 0) >> 2] = $48_1; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) < ((HEAPU16[($7_1 + 56 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + $367(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAPU16[($7_1 + 56 | 0) >> 1] | 0) & 65535 | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) < ((HEAPU16[($7_1 + 58 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1737(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) != ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + $1383(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + break label$7; + } + $366(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 78 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0; + } + } + label$9 : { + label$10 : { + if (!(((HEAPU16[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if (!((HEAP32[((HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$11 + } + label$12 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0) >> 0] = 65; + } + } + break label$9; + } + label$13 : { + if (((HEAPU16[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0) { + break label$13 + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$14 : { + if (((HEAPU16[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 2048 | 0) { + break label$14 + } + if (!($1534(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$14 + } + $366(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 50 | 0, (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0, HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + label$15 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $205_1 = 24; + $209_1 = 24; + label$16 : { + if (!(((($1544(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0) >> 0] | 0) << $205_1 | 0) >> $205_1 | 0 | 0) | 0) << $209_1 | 0) >> $209_1 | 0 | 0) == (65 | 0) & 1 | 0)) { + break label$16 + } + HEAP8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0) >> 0] = 65; + } + $226_1 = 24; + label$17 : { + if (!($1798(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0) >> 0] | 0) << $226_1 | 0) >> $226_1 | 0 | 0) | 0)) { + break label$17 + } + HEAP8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0) >> 0] = 65; + } + } + } + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + $239_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $239_1 | 0; + } + + function $1741($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1467(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) >>> 1 | 0; + HEAP16[((HEAP32[$5_1 >> 2] | 0) + 2 | 0) >> 1] = ((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) & 1 | 0) & 255 | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1742($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $23_1 = 0, $27_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1535(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $23_1 = 24; + $27_1 = 24; + label$3 : { + label$4 : { + if (((($1544(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0 | 0) | 0) << $27_1 | 0) >> $27_1 | 0 | 0) == (65 | 0) & 1 | 0) { + break label$4 + } + $40_1 = 24; + if (!($1798(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) | 0)) { + break label$3 + } + } + HEAP8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = 65; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1743($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $24_1 = 0, $28_1 = 0, $54_1 = 0, $62_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : while (1) { + $24_1 = 0; + label$4 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + $28_1 = 24; + $24_1 = (((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0 | 0) <= (65 | 0); + } + label$5 : { + if (!($24_1 & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + label$6 : while (1) { + $54_1 = 0; + label$7 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$7 + } + $62_1 = 24; + $54_1 = (((HEAPU8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) <= (65 | 0); + } + label$8 : { + if (!($54_1 & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -1 | 0; + continue label$6; + } + break label$6; + }; + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $1278(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 90 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1744($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $13_1 = 0, $36_1 = 0, $47_1 = 0, $65_1 = 0, $89_1 = 0, $94_1 = 0, $98_1 = 0, i64toi32_i32$0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $13_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP8[($13_1 + 48 | 0) >> 0] = HEAPU8[($13_1 + 48 | 0) >> 0] | 0 | 1 | 0; + $367(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 134 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + label$1 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $36_1 = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$2; + } + $36_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + } + if (HEAP32[($36_1 + 80 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $47_1 = 16; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, ((((HEAPU16[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $47_1 | 0) >> $47_1 | 0) + 1 | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $65_1 = 16; + HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] = ((HEAPU16[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $65_1 | 0) >> $65_1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$5 + } + $89_1 = 16; + HEAP32[($6_1 + 8 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $89_1 | 0) >> $89_1 | 0; + $94_1 = 16; + $98_1 = 16; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = (($1424(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << $94_1 | 0) >> $94_1 | 0 | 0) | 0) << $98_1 | 0) >> $98_1 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $357(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, -15 | 0); + } + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $1745($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $156_1 = 0, $143_1 = 0, $16_1 = 0, $30_1 = 0, $65_1 = 0, $86_1 = 0, $97_1 = 0, $112_1 = 0, $128_1 = 0, $138_1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + if ((((HEAPU8[($16_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($16_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 10 | 0) & 1 | 0) & 65535 | 0) { + break label$2 + } + break label$1; + } + $30_1 = $6_1 + 40 | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $156_1 = 0; + i64toi32_i32$1 = $30_1; + HEAP32[i64toi32_i32$1 >> 2] = $156_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $156_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $30_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $156_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 64 | 0) >> 2] = $6_1 + 8 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($6_1 + 80 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + label$3 : while (1) { + if (!((HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP16[($6_1 + 6 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 76 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $65_1 = 16; + label$4 : { + label$5 : { + label$6 : { + if (!((((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) << $65_1 | 0) >> $65_1 | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 76 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$7 : { + if (!($1243(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + break label$4; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 71; + break label$5; + } + $86_1 = 16; + label$8 : { + label$9 : { + if (!((((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) << $86_1 | 0) >> $86_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + $97_1 = 16; + if (!(((HEAPU16[(((HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) << $97_1 | 0) >> $97_1 | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$9 + } + $112_1 = 16; + label$10 : { + if ((HEAP32[(((HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) << $112_1 | 0) >> $112_1 | 0, 20) | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$10 + } + $128_1 = 16; + if ($88(HEAP32[(((HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) << $128_1 | 0) >> $128_1 | 0, 20) | 0) + 8 | 0) >> 2] | 0 | 0, 2261 | 0) | 0) { + break label$9 + } + } + $138_1 = 16; + HEAP32[($6_1 + 24 | 0) >> 2] = ((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) << $138_1 | 0) >> $138_1 | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 72; + break label$8; + } + break label$4; + } + } + $143_1 = $6_1 + 40 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + $1547($143_1 | 0, HEAP32[((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + $1550($143_1 | 0, HEAP32[((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + $1550($143_1 | 0, HEAP32[((HEAP32[($6_1 + 80 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($6_1 + 76 | 0) >> 2] = (HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + global$0 = $6_1 + 96 | 0; + return; + } + + function $1746($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $46_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : while (1) { + if (!(((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$1 + } + $1746(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + label$6 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0)) { + break label$6 + } + break label$5; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$7 : { + if ($1529(0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + $46_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP16[($46_1 + 10 | 0) >> 1] = (HEAPU16[($46_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 4 | 0; + } + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 48 | 0; + continue label$4; + }; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1747($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, $9_1 = 0, i64toi32_i32$0 = 0, $34_1 = 0, $31_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $9_1 = $5_1 + 8 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + $34_1 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[i64toi32_i32$1 >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 73; + HEAP32[($5_1 + 32 | 0) >> 2] = $5_1; + $1547($9_1 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $31_1 = (((HEAPU16[($5_1 + 28 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) ^ -1 | 0) & 1 | 0; + global$0 = $5_1 + 48 | 0; + return $31_1 | 0; + } + + function $1748($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[$3_1 >> 2] = HEAP32[(HEAP32[(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$3 + } + $18(HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$4 : { + label$5 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 16 | 0)) { + break label$5 + } + $1802(HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + break label$4; + } + label$6 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 32 | 0)) { + break label$6 + } + $1803(HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 48 | 0; + continue label$2; + }; + } + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0 | 0) & 1 | 0)) { + break label$7 + } + $13(HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1749($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $1730(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1750($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $48_1 = 0, $92$hi = 0, $95$hi = 0, $98$hi = 0, $101$hi = 0, $104$hi = 0, $107$hi = 0, $110$hi = 0, $113$hi = 0, $92_1 = 0, $157$hi = 0, $161_1 = 0, $95_1 = 0, $173$hi = 0, $177_1 = 0, $98_1 = 0, $189$hi = 0, $193_1 = 0, $101_1 = 0, $205$hi = 0, $209_1 = 0, $104_1 = 0, $221$hi = 0, $225_1 = 0, $107_1 = 0, $278$hi = 0, $282_1 = 0, $110_1 = 0, $305$hi = 0, $309_1 = 0, $113_1 = 0, $358$hi = 0, $362_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = $1687(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $92_1 = i64toi32_i32$0; + $92$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $157$hi = i64toi32_i32$0; + i64toi32_i32$0 = $92$hi; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$3 = $92_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $161_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $161_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $1687(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $95_1 = i64toi32_i32$1; + $95$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $173$hi = i64toi32_i32$1; + i64toi32_i32$1 = $95$hi; + i64toi32_i32$1 = $173$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $95$hi; + i64toi32_i32$3 = $95_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $177_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $177_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $1687(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $98_1 = i64toi32_i32$2; + $98$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $189$hi = i64toi32_i32$2; + i64toi32_i32$2 = $98$hi; + i64toi32_i32$2 = $189$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$3 = $98_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $193_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $193_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $1733(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $101_1 = i64toi32_i32$0; + $101$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $205$hi = i64toi32_i32$0; + i64toi32_i32$0 = $101$hi; + i64toi32_i32$0 = $205$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $101$hi; + i64toi32_i32$3 = $101_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $209_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $209_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $1733(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $104_1 = i64toi32_i32$1; + $104$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $221$hi = i64toi32_i32$1; + i64toi32_i32$1 = $104$hi; + i64toi32_i32$1 = $221$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $104$hi; + i64toi32_i32$3 = $104_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $225_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $225_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$2; + label$3 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $48_1 = 72; + i64toi32_i32$2 = $1750(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, $48_1) | 0) + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $107_1 = i64toi32_i32$2; + $107$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $278$hi = i64toi32_i32$2; + i64toi32_i32$2 = $107$hi; + i64toi32_i32$2 = $278$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$3 = $107_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $282_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $282_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $1733(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, $48_1) | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $110_1 = i64toi32_i32$0; + $110$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $305$hi = i64toi32_i32$0; + i64toi32_i32$0 = $110$hi; + i64toi32_i32$0 = $305$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $110$hi; + i64toi32_i32$3 = $110_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $309_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $309_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$1; + label$6 : { + if (!((((HEAPU8[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, $48_1) | 0) + 45 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0)) { + break label$6 + } + i64toi32_i32$1 = $1687(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 8 | 0) >> 2] | 0, 72) | 0) + 64 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $113_1 = i64toi32_i32$1; + $113$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $358$hi = i64toi32_i32$1; + i64toi32_i32$1 = $113$hi; + i64toi32_i32$1 = $358$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $113$hi; + i64toi32_i32$3 = $113_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $362_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $362_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$2; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$2; + }; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$2 | 0; + } + + function $1751($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $130_1 = 0, $130$hi = 0, $133$hi = 0, $136$hi = 0, $139$hi = 0, $142$hi = 0, $145$hi = 0, $148$hi = 0, $151$hi = 0, $200_1 = 0, $133_1 = 0, $268$hi = 0, $272_1 = 0, $136_1 = 0, $298$hi = 0, $302_1 = 0, $139_1 = 0, $336$hi = 0, $340_1 = 0, $142_1 = 0, $366$hi = 0, $370_1 = 0, $145_1 = 0, $431$hi = 0, $435_1 = 0, $148_1 = 0, $449$hi = 0, $453_1 = 0, $151_1 = 0, $467$hi = 0, $471_1 = 0, $475_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0) { + break label$2 + } + i64toi32_i32$0 = $1726(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $200_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $200_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8404992 | 0)) { + break label$3 + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (176 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$1 = $1726(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $130_1 = i64toi32_i32$1; + $130$hi = i64toi32_i32$0; + break label$4; + } + i64toi32_i32$0 = 0; + $130_1 = 0; + $130$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $130$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $130_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$6 : { + if (!((HEAP32[((HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = $1751(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $133_1 = i64toi32_i32$0; + $133$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $268$hi = i64toi32_i32$0; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$0 = $268$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $133$hi; + i64toi32_i32$3 = $133_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $272_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $272_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$1 = $1751(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $136_1 = i64toi32_i32$1; + $136$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $298$hi = i64toi32_i32$1; + i64toi32_i32$1 = $136$hi; + i64toi32_i32$1 = $298$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $136$hi; + i64toi32_i32$3 = $136_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $302_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $302_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$2; + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$10 + } + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0)) { + break label$11 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = 1; + } + i64toi32_i32$2 = $1750(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $139_1 = i64toi32_i32$2; + $139$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $336$hi = i64toi32_i32$2; + i64toi32_i32$2 = $139$hi; + i64toi32_i32$2 = $336$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$3 = $139_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $340_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $340_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$9; + } + label$12 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$0 = $1687(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $142_1 = i64toi32_i32$0; + $142$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $366$hi = i64toi32_i32$0; + i64toi32_i32$0 = $142$hi; + i64toi32_i32$0 = $366$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $142$hi; + i64toi32_i32$3 = $142_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $370_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $370_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + } + } + label$13 : { + label$14 : { + if (((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (169 | 0) & 1 | 0) { + break label$14 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (165 | 0) & 1 | 0)) { + break label$13 + } + } + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + i64toi32_i32$1 = $1687(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $145_1 = i64toi32_i32$1; + $145$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $431$hi = i64toi32_i32$1; + i64toi32_i32$1 = $145$hi; + i64toi32_i32$1 = $431$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $145$hi; + i64toi32_i32$3 = $145_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $435_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $435_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $1687(HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $148_1 = i64toi32_i32$2; + $148$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $449$hi = i64toi32_i32$2; + i64toi32_i32$2 = $148$hi; + i64toi32_i32$2 = $449$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $148$hi; + i64toi32_i32$3 = $148_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $453_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $453_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $1733(HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $151_1 = i64toi32_i32$0; + $151$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $467$hi = i64toi32_i32$0; + i64toi32_i32$0 = $151$hi; + i64toi32_i32$0 = $467$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$3 = $151_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $471_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $471_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $475_1 = i64toi32_i32$1; + i64toi32_i32$1 = i64toi32_i32$0; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $475_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; + global$0 = i64toi32_i32$0 + 32 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$2 | 0; + } + + function $1752($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $12_1 = 1; + label$1 : { + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (49 | 0) & 1 | 0) { + break label$1 + } + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) >= (53 | 0) & 1 | 0)) { + break label$2 + } + $12_1 = 1; + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) <= (57 | 0) & 1 | 0) { + break label$1 + } + } + $12_1 = 1; + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (50 | 0) & 1 | 0) { + break label$1 + } + $12_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (45 | 0); + } + return $12_1 & 1 | 0 | 0; + } + + function $1753($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $70$hi = 0, $74$hi = 0, $51_1 = 0, $72$hi = 0, $75$hi = 0, $76$hi = 0, $77$hi = 0, $78$hi = 0, $80$hi = 0, $75_1 = 0, $210_1 = 0, $67_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 4 | 0) >> 2] = $4_1; + label$1 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (174 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) >= (54 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) <= (57 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + label$2 : { + label$3 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $51_1 = 16; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = ((HEAPU16[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $51_1 | 0) >> $51_1 | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = 1; + break label$2; + } + i64toi32_i32$0 = 0; + $70$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = $70$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $70$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$3 = 0; + label$4 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$2; + } + i64toi32_i32$2 = 0; + $74$hi = i64toi32_i32$2; + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $75_1 = i64toi32_i32$2; + $75$hi = i64toi32_i32$1; + i64toi32_i32$3 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $76$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $77$hi = i64toi32_i32$2; + i64toi32_i32$2 = $76$hi; + i64toi32_i32$2 = $77$hi; + i64toi32_i32$2 = $76$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $77$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $78$hi = i64toi32_i32$5; + i64toi32_i32$5 = $75$hi; + i64toi32_i32$5 = $78$hi; + $210_1 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$5 = $75$hi; + i64toi32_i32$2 = $75_1; + i64toi32_i32$3 = $78$hi; + i64toi32_i32$0 = $210_1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + $80$hi = i64toi32_i32$3; + i64toi32_i32$3 = $74$hi; + i64toi32_i32$3 = $80$hi; + i64toi32_i32$3 = $74$hi; + i64toi32_i32$3 = $80$hi; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + i64toi32_i32$2 = $74$hi; + i64toi32_i32$0 = 0; + label$5 : { + if (!(((i64toi32_i32$5 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + break label$2; + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1762(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$3 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $67_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $67_1 | 0; + } + + function $1754($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (49 | 0) & 1 | 0)) { + break label$2 + } + HEAP16[($3_1 + 10 | 0) >> 1] = 1; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (50 | 0) & 1 | 0)) { + break label$4 + } + HEAP16[($3_1 + 10 | 0) >> 1] = 256; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$6 + } + HEAP16[($3_1 + 10 | 0) >> 1] = 128; + break label$5; + } + HEAP16[($3_1 + 10 | 0) >> 1] = 2 << ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) - 53 | 0) | 0; + } + } + } + return (HEAPU16[($3_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 0; + } + + function $1755($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $14_1 = 0, $26_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $10_1 = 48; + HEAP32[(((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, $10_1) | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $14_1 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP16[(($14_1 + Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, $10_1) | 0) + 8 | 0) >> 1] = HEAPU16[(($14_1 + Math_imul(HEAP32[($5_1 + 4 | 0) >> 2] | 0, $10_1) | 0) + 8 | 0) >> 1] | 0; + $26_1 = (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 4 | 0) >> 2] | 0, $10_1) | 0; + HEAP8[($26_1 + 14 | 0) >> 0] = (HEAPU8[($26_1 + 14 | 0) >> 0] | 0) + 1 | 0; + return; + } + + function $1756($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $46_1 = 0, $50_1 = 0, $60_1 = 0, $70_1 = 0, $91_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 128 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (53 | 0) & 1 | 0)) { + break label$3 + } + if (!(((HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (45 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1543(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 19 | 0) >> 0] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1543(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 18 | 0) >> 0] = wasm2js_i32$1; + $46_1 = 24; + $50_1 = 24; + label$5 : { + if (!((((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $46_1 | 0) >> $46_1 | 0 | 0) != (((HEAPU8[($4_1 + 18 | 0) >> 0] | 0) << $50_1 | 0) >> $50_1 | 0 | 0) & 1 | 0)) { + break label$5 + } + $60_1 = 24; + label$6 : { + if (!((((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $60_1 | 0) >> $60_1 | 0 | 0) >= (67 | 0) & 1 | 0)) { + break label$6 + } + $70_1 = 24; + if ((((HEAPU8[($4_1 + 18 | 0) >> 0] | 0) << $70_1 | 0) >> $70_1 | 0 | 0) >= (67 | 0) & 1 | 0) { + break label$5 + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $427(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!($1717(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1763(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $91_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $91_1 | 0; + } + + function $1757($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $44_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (((HEAPU8[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (174 | 0) & 1 | 0) { + break label$2 + } + if (((HEAPU8[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (174 | 0) & 1 | 0) { + break label$2 + } + if (!(($428(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0 | 0) != ($428(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + } + $44_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($44_1 + 4 | 0) >> 2] = (HEAP32[($44_1 + 4 | 0) >> 2] | 0) ^ 512 | 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + label$3 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (54 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] = ((((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) - 54 | 0) ^ 2 | 0) + 54 | 0; + } + global$0 = $4_1 + 16 | 0; + return 0 & 65535 | 0 | 0; + } + + function $1758($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($16_1 + 4 | 0) >> 2] = HEAP32[($16_1 + 4 | 0) >> 2] | 0 | ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0) | 0; + HEAP16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 1] | 0; + } + return; + } + + function $1759($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, $516$hi = 0, $540$hi = 0, $545$hi = 0, $549$hi = 0, $269_1 = 0, $553$hi = 0, $480_1 = 0, $22_1 = 0, $32_1 = 0, $515_1 = 0, $75_1 = 0, $518$hi = 0, $100_1 = 0, $523$hi = 0, $526$hi = 0, $530$hi = 0, $533$hi = 0, $537$hi = 0, $543$hi = 0, $547$hi = 0, $238_1 = 0, $241_1 = 0, $253_1 = 0, $256_1 = 0, $551$hi = 0, $270_1 = 0, $279_1 = 0, $304_1 = 0, $554$hi = 0, $555$hi = 0, $557$hi = 0, $355_1 = 0, $372_1 = 0, $405_1 = 0, $412_1 = 0, $424_1 = 0, $440_1 = 0, $520$hi = 0, $523_1 = 0, $927$hi = 0, $931_1 = 0, $526_1 = 0, $950$hi = 0, $954_1 = 0, $980_1 = 0, $530_1 = 0, $1023$hi = 0, $1027_1 = 0, $533_1 = 0, $1032$hi = 0, $1036_1 = 0, $537_1 = 0, $1054$hi = 0, $1058_1 = 0, $1078_1 = 0, $237_1 = 0, $252_1 = 0, $554_1 = 0, $1324_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 176 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 172 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 168 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 164 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 160 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 168 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 156 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 160 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 152 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 156 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 148 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 164 | 0) >> 2] | 0, 48) | 0; + HEAP32[($5_1 + 144 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 148 | 0) >> 2] | 0) >> 2] | 0; + $22_1 = $308(HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0, 416 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($5_1 + 128 | 0) >> 2] = $22_1; + HEAP32[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 24 | 0) >> 2] = $22_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $32_1 = HEAP32[($5_1 + 148 | 0) >> 2] | 0; + HEAP16[($32_1 + 10 | 0) >> 1] = (HEAPU16[($32_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 16 | 0; + HEAP32[($5_1 + 136 | 0) >> 2] = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + $3289((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 24 | 0 | 0, 0 | 0, 384 | 0) | 0; + $1677(HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0); + $1678(HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0, 43 & 255 | 0 | 0); + $1681(HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0); + label$3 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + i64toi32_i32$0 = -1; + $515_1 = -1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $515_1; + HEAP32[($5_1 + 116 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $515_1; + HEAP32[($5_1 + 124 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 140 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($5_1 + 132 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$4 : while (1) { + $75_1 = 0; + label$5 : { + if (!((HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = 0; + $516$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $518$hi = i64toi32_i32$1; + i64toi32_i32$1 = $516$hi; + i64toi32_i32$1 = $518$hi; + i64toi32_i32$1 = $516$hi; + i64toi32_i32$1 = $518$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $516$hi; + i64toi32_i32$3 = 0; + $75_1 = (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0; + } + label$6 : { + if (!($75_1 & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (((HEAPU16[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 511 | 0) { + break label$8 + } + i64toi32_i32$2 = 0; + $520$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 120 | 0) >> 2] = 0; + HEAP32[($5_1 + 124 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $520$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0, 408 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 88 | 0) >> 2] = 0; + HEAP32[($5_1 + 92 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + $100_1 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + HEAP16[($100_1 + 10 | 0) >> 1] = (HEAPU16[($100_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 32 | 0; + HEAP16[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 1] = 1024; + HEAP32[($5_1 + 104 | 0) >> 2] = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + $3289((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 24 | 0 | 0, 0 | 0, 384 | 0) | 0; + $1677(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 168 | 0) >> 2] | 0) >> 2] | 0 | 0); + $1678(HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 132 | 0) >> 2] | 0) >> 2] | 0 | 0, 44 & 255 | 0 | 0); + $1681(HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + label$10 : { + if (((HEAPU8[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$10 + } + HEAP32[($5_1 + 96 | 0) >> 2] = 0; + HEAP32[($5_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + label$14 : { + if ($1752((HEAPU8[(HEAP32[(HEAP32[($5_1 + 100 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0) { + break label$14 + } + if (!(((HEAPU16[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) == (64 | 0) & 1 | 0)) { + break label$13 + } + } + i64toi32_i32$2 = $1726((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 488 | 0 | 0, HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $523_1 = i64toi32_i32$2; + $523$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + $927$hi = i64toi32_i32$2; + i64toi32_i32$2 = $523$hi; + i64toi32_i32$2 = $927$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $523$hi; + i64toi32_i32$0 = $523_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $931_1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 88 | 0) >> 2] = $931_1; + HEAP32[($5_1 + 92 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($5_1 + 96 | 0) >> 2] = (HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 100 | 0) >> 2] = (HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 48 | 0; + continue label$12; + }; + } + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + $526_1 = i64toi32_i32$1; + $526$hi = i64toi32_i32$3; + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $950$hi = i64toi32_i32$1; + i64toi32_i32$1 = $526$hi; + i64toi32_i32$1 = $950$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $526$hi; + i64toi32_i32$0 = $526_1; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $954_1 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $954_1; + HEAP32[($5_1 + 116 | 0) >> 2] = i64toi32_i32$3; + } + break label$7; + } + label$15 : { + label$16 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$16 + } + break label$15; + } + i64toi32_i32$3 = $1726((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 488 | 0 | 0, HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $980_1 = i64toi32_i32$3; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $980_1; + HEAP32[($5_1 + 84 | 0) >> 2] = i64toi32_i32$2; + label$17 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$17 + } + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$2 = $1726((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 488 | 0 | 0, HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $530_1 = i64toi32_i32$2; + $530$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $1023$hi = i64toi32_i32$2; + i64toi32_i32$2 = $530$hi; + i64toi32_i32$2 = $1023$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $530$hi; + i64toi32_i32$0 = $530_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $1027_1 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $1027_1; + HEAP32[($5_1 + 84 | 0) >> 2] = i64toi32_i32$3; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $533_1 = i64toi32_i32$3; + $533$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $1032$hi = i64toi32_i32$3; + i64toi32_i32$3 = $533$hi; + i64toi32_i32$3 = $1032$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $533$hi; + i64toi32_i32$0 = $533_1; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $1036_1 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $1036_1; + HEAP32[($5_1 + 116 | 0) >> 2] = i64toi32_i32$1; + label$18 : { + label$19 : { + if (((HEAPU16[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0) { + break label$19 + } + i64toi32_i32$1 = 0; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 120 | 0) >> 2] = 0; + HEAP32[($5_1 + 124 | 0) >> 2] = i64toi32_i32$1; + break label$18; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $537_1 = i64toi32_i32$1; + $537$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + $1054$hi = i64toi32_i32$1; + i64toi32_i32$1 = $537$hi; + i64toi32_i32$1 = $1054$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $537$hi; + i64toi32_i32$0 = $537_1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $1058_1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $1058_1; + HEAP32[($5_1 + 124 | 0) >> 2] = i64toi32_i32$2; + } + } + } + HEAP32[($5_1 + 140 | 0) >> 2] = (HEAP32[($5_1 + 140 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 132 | 0) >> 2] = (HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 48 | 0; + continue label$4; + } + break label$4; + }; + i64toi32_i32$2 = 0; + $540$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $1078_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 408 | 0) >> 2] = $1078_1; + HEAP32[(i64toi32_i32$2 + 412 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $543$hi = i64toi32_i32$2; + i64toi32_i32$2 = $540$hi; + i64toi32_i32$2 = $543$hi; + i64toi32_i32$2 = $540$hi; + i64toi32_i32$2 = $543$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $540$hi; + i64toi32_i32$0 = 0; + label$20 : { + label$21 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$21 + } + HEAP16[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 12 | 0) >> 1] = 512; + HEAP8[((HEAP32[($5_1 + 168 | 0) >> 2] | 0) + 9 | 0) >> 0] = 1; + break label$20; + } + HEAP16[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 12 | 0) >> 1] = 512; + } + i64toi32_i32$1 = 0; + $545$hi = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $547$hi = i64toi32_i32$2; + i64toi32_i32$2 = $545$hi; + i64toi32_i32$2 = $547$hi; + i64toi32_i32$2 = $545$hi; + i64toi32_i32$2 = $547$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $545$hi; + i64toi32_i32$3 = 0; + label$22 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$22 + } + if (!((HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($5_1 + 72 | 0) >> 2] = 0; + label$23 : { + label$24 : while (1) { + $237_1 = HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $238_1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $238_1 + 1 | 0; + $241_1 = $1764($237_1 | 0, $238_1 | 0) | 0; + HEAP32[($5_1 + 68 | 0) >> 2] = $241_1; + if (!(($241_1 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($5_1 + 64 | 0) >> 2] = 0; + label$25 : { + label$26 : while (1) { + $252_1 = (HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 48 | 0; + $253_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = $253_1 + 1 | 0; + $256_1 = $1764($252_1 | 0, $253_1 | 0) | 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $256_1; + if (!(($256_1 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + $1765(HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + continue label$26; + }; + } + continue label$24; + }; + } + } + i64toi32_i32$0 = 0; + $549$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + $551$hi = i64toi32_i32$2; + i64toi32_i32$2 = $549$hi; + i64toi32_i32$2 = $551$hi; + i64toi32_i32$2 = $549$hi; + i64toi32_i32$2 = $551$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $549$hi; + i64toi32_i32$1 = 0; + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$1 + } + $269_1 = 0; + $270_1 = -1; + HEAP32[($5_1 + 56 | 0) >> 2] = $269_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $270_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $270_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $269_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $269_1; + label$27 : while (1) { + $279_1 = 0; + label$28 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$28 + } + $279_1 = (HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0; + } + label$29 : { + if (!($279_1 & 1 | 0)) { + break label$29 + } + HEAP32[($5_1 + 40 | 0) >> 2] = 0; + HEAP32[($5_1 + 132 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 140 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0; + label$30 : { + label$31 : while (1) { + if (!((HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$30 + } + $304_1 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + HEAP16[($304_1 + 10 | 0) >> 1] = ((HEAPU16[($304_1 + 10 | 0) >> 1] | 0) & 65535 | 0) & -65 | 0; + label$32 : { + label$33 : { + if (!((HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$33 + } + break label$32; + } + i64toi32_i32$3 = 0; + $553$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + $554_1 = i64toi32_i32$3; + $554$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1726((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 488 | 0 | 0, HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $555$hi = i64toi32_i32$3; + i64toi32_i32$3 = $554$hi; + i64toi32_i32$3 = $555$hi; + $1324_1 = i64toi32_i32$2; + i64toi32_i32$3 = $554$hi; + i64toi32_i32$1 = $554_1; + i64toi32_i32$2 = $555$hi; + i64toi32_i32$0 = $1324_1; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $557$hi = i64toi32_i32$2; + i64toi32_i32$2 = $553$hi; + i64toi32_i32$2 = $557$hi; + i64toi32_i32$2 = $553$hi; + i64toi32_i32$2 = $557$hi; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + i64toi32_i32$1 = $553$hi; + i64toi32_i32$0 = 0; + label$34 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$34 + } + break label$32; + } + HEAP32[($5_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 132 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$30; + } + HEAP32[($5_1 + 140 | 0) >> 2] = (HEAP32[($5_1 + 140 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 132 | 0) >> 2] = (HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 48 | 0; + continue label$31; + }; + } + label$35 : { + if (!((HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$35 + } + break label$29; + } + HEAP32[($5_1 + 56 | 0) >> 2] = 1; + label$36 : while (1) { + $355_1 = 0; + label$37 : { + if (!((HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$37 + } + $355_1 = (HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$38 : { + if (!($355_1 & 1 | 0)) { + break label$38 + } + label$39 : { + label$40 : { + if (!((HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$40 + } + $372_1 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + HEAP16[($372_1 + 10 | 0) >> 1] = ((HEAPU16[($372_1 + 10 | 0) >> 1] | 0) & 65535 | 0) & -65 | 0; + break label$39; + } + label$41 : { + label$42 : { + label$43 : { + if ((HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$43 + } + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$42 + } + if (!($1529(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 132 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$42 + } + } + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + break label$41; + } + $405_1 = 24; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (($1543(HEAP32[((HEAP32[(HEAP32[($5_1 + 132 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0) << $405_1 | 0) >> $405_1 | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $412_1 = 24; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (($1543(HEAP32[((HEAP32[(HEAP32[($5_1 + 132 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0) << $412_1 | 0) >> $412_1 | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$44 : { + label$45 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$45 + } + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$45 + } + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + break label$44; + } + $424_1 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + HEAP16[($424_1 + 10 | 0) >> 1] = (HEAPU16[($424_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 64 | 0; + } + } + } + HEAP32[($5_1 + 140 | 0) >> 2] = (HEAP32[($5_1 + 140 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 132 | 0) >> 2] = (HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 48 | 0; + continue label$36; + } + break label$36; + }; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$27; + } + break label$27; + }; + label$46 : { + if (!(HEAP32[($5_1 + 56 | 0) >> 2] | 0)) { + break label$46 + } + $440_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $440_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $440_1; + HEAP32[($5_1 + 140 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($5_1 + 132 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 136 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$47 : { + label$48 : while (1) { + if (!((HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$47 + } + label$49 : { + label$50 : { + if (((HEAPU16[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 64 | 0) { + break label$50 + } + break label$49; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 132 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1214(HEAP32[(HEAP32[($5_1 + 160 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 132 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 140 | 0) >> 2] = (HEAP32[($5_1 + 140 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 132 | 0) >> 2] = (HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 48 | 0; + continue label$48; + }; + } + $480_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1310(HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $480_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1197(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 49 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $480_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$51 : { + label$52 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != ($480_1 | 0) & 1 | 0)) { + break label$52 + } + $1758(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1720(HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 3 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $1721(HEAP32[($5_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $1755(HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0); + break label$51; + } + $382(HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + } + } + global$0 = $5_1 + 176 | 0; + return; + } + + function $1760($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $98_1 = 0, $420$hi = 0, i64toi32_i32$3 = 0, $342_1 = 0, $11_1 = 0, $421$hi = 0, $422$hi = 0, $424$hi = 0, $47_1 = 0, $95_1 = 0, $204_1 = 0, $232_1 = 0, $250_1 = 0, $269_1 = 0, $293_1 = 0, $330_1 = 0, $343_1 = 0, $345_1 = 0, $355_1 = 0, $383_1 = 0, $391_1 = 0, $267_1 = 0, $268_1 = 0, $417_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 112 | 0; + global$0 = $7_1; + $11_1 = 0; + HEAP32[($7_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 88 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = $11_1; + label$1 : { + label$2 : { + if ($1766(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, $7_1 + 60 | 0 | 0) | 0) { + break label$2 + } + HEAP32[($7_1 + 108 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1316(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAPU8[(HEAP32[($7_1 + 80 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) == (153 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $420$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $421$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $422$hi = i64toi32_i32$1; + i64toi32_i32$1 = $421$hi; + i64toi32_i32$1 = $422$hi; + i64toi32_i32$1 = $421$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $422$hi; + i64toi32_i32$3 = 8388608; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $424$hi = i64toi32_i32$0; + i64toi32_i32$0 = $420$hi; + i64toi32_i32$0 = $424$hi; + i64toi32_i32$0 = $420$hi; + i64toi32_i32$0 = $424$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $420$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0; + $47_1 = 16; + HEAP32[($7_1 + 36 | 0) >> 2] = ((HEAPU16[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $47_1 | 0) >> $47_1 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1557(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, 65 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!(($248(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + $1556(HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + break label$3; + } + label$6 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + } + label$7 : { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($7_1 + 64 | 0) >> 2] = 0; + label$8 : while (1) { + $95_1 = HEAPU8[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($7_1 + 71 | 0) >> 0] = $95_1; + $98_1 = 0; + label$9 : { + if (!($95_1 & 255 | 0)) { + break label$9 + } + $98_1 = 0; + if (!(((HEAPU8[($7_1 + 71 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[($7_1 + 60 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + $98_1 = 0; + if (!(((HEAPU8[($7_1 + 71 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[($7_1 + 61 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + $98_1 = ((HEAPU8[($7_1 + 71 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[($7_1 + 62 | 0) >> 0] | 0) & 255 | 0 | 0); + } + label$10 : { + if (!($98_1 & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 1 | 0; + label$11 : { + if (!(((HEAPU8[($7_1 + 71 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[($7_1 + 63 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAPU8[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 1 | 0; + } + continue label$8; + } + break label$8; + }; + label$12 : { + label$13 : { + if (!(HEAP32[($7_1 + 64 | 0) >> 2] | 0)) { + break label$13 + } + if (!((255 | 0) != ((HEAPU8[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 64 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if ((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0) { + break label$14 + } + if (!(((HEAPU8[(HEAP32[($7_1 + 84 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[($7_1 + 63 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$13 + } + } + $204_1 = 0; + label$15 : { + if (!(((HEAPU8[($7_1 + 71 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[($7_1 + 60 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$15 + } + $204_1 = ((HEAPU8[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + HEAP32[(HEAP32[($7_1 + 92 | 0) >> 2] | 0) >> 2] = $204_1 & 1 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1217(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, 115 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $232_1 = 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($7_1 + 24 | 0) >> 2] = $232_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $232_1; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + $250_1 = 24; + label$19 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) << $250_1 | 0) >> $250_1 | 0 | 0) == ((HEAPU8[($7_1 + 63 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0; + } + $267_1 = HEAPU8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0; + $268_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $269_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = $269_1 + 1 | 0; + HEAP8[($268_1 + $269_1 | 0) >> 0] = $267_1; + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + HEAP8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0) >> 0] = 0; + label$20 : { + label$21 : { + if (((HEAPU8[(HEAP32[($7_1 + 76 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0) { + break label$21 + } + $293_1 = 24; + if (((($1543(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) | 0) << $293_1 | 0) >> $293_1 | 0 | 0) != (66 | 0) & 1 | 0) { + break label$21 + } + if (!(HEAP32[((HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$20 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $344(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, $7_1 + 8 | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + label$24 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$24 + } + $330_1 = 24; + if (!((((HEAPU8[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $330_1 | 0) >> $330_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($7_1 + 16 | 0) >> 2] = 1; + break label$23; + } + $342_1 = -1; + $343_1 = ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0) + $342_1 | 0; + $345_1 = 1; + HEAP8[$343_1 >> 0] = (HEAPU8[$343_1 >> 0] | 0) + $345_1 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $344(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, $7_1 + 8 | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, $345_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $355_1 = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + $342_1 | 0) | 0; + HEAP8[$355_1 >> 0] = (HEAPU8[$355_1 >> 0] | 0) + $342_1 | 0; + } + } + label$25 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$25 + } + $18(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + $212(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 108 | 0) >> 2] = 0; + break label$1; + } + } + } + HEAP32[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + label$26 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) == (153 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $383_1 = 16; + $1556(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $383_1 | 0) >> $383_1 | 0 | 0); + label$27 : { + if (!(HEAP32[(HEAP32[($7_1 + 92 | 0) >> 2] | 0) >> 2] | 0)) { + break label$27 + } + $391_1 = 24; + if (!(((HEAPU8[((HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $391_1 | 0) >> $391_1 | 0)) { + break label$27 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $1496(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[$7_1 >> 2] | 0 | 0) | 0; + $1471(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0) - 1 | 0 | 0, 0 | 0); + $1383(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[$7_1 >> 2] | 0 | 0); + } + } + break label$12; + } + HEAP32[($7_1 + 84 | 0) >> 2] = 0; + } + } + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + $212(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + } + $417_1 = HEAP32[($7_1 + 108 | 0) >> 2] | 0; + global$0 = $7_1 + 112 | 0; + return $417_1 | 0; + } + + function $1761($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $293_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + label$3 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (169 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if ((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$6 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 48 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!(HEAP32[((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + if ($88(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[(32400 + ((HEAP32[($7_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$9 + } + HEAP8[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 0] = HEAPU8[((32400 + ((HEAP32[($7_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] | 0; + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + } + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$10 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 48 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (!(HEAP32[((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$10 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = HEAP32[(($1056(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$11 : { + if (!((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 40 | 0) >> 2] | 0, 2, HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, $7_1 + 32 | 0, $7_1 + 28 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) >= (150 | 0) & 1 | 0)) { + break label$12 + } + HEAP8[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 0] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 1; + break label$1; + } + } + } + break label$2; + } + label$13 : { + label$14 : { + if (((HEAPU8[(HEAP32[($7_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (52 | 0) & 1 | 0) { + break label$14 + } + if (((HEAPU8[(HEAP32[($7_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (168 | 0) & 1 | 0) { + break label$14 + } + if (!(((HEAPU8[(HEAP32[($7_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (51 | 0) & 1 | 0)) { + break label$13 + } + } + HEAP32[($7_1 + 24 | 0) >> 2] = 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$15 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$15 + } + if (!((HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + if (!(HEAP32[((HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$15 + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + } + label$16 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + if (!(((HEAPU8[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$16 + } + if (!((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + if (!(HEAP32[((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$16 + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + label$17 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (52 | 0) & 1 | 0)) { + break label$17 + } + HEAP8[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 0] = 68; + } + label$18 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (168 | 0) & 1 | 0)) { + break label$18 + } + HEAP8[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 0] = 69; + } + label$19 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 68 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (51 | 0) & 1 | 0)) { + break label$19 + } + HEAP8[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 0] = 70; + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + } + $293_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $293_1 | 0; + } + + function $1762($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $99$hi = 0, $101$hi = 0, $103$hi = 0, $104$hi = 0, $17_1 = 0, $65_1 = 0, $96_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + i64toi32_i32$0 = 0; + $99$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $101$hi = i64toi32_i32$1; + i64toi32_i32$1 = $99$hi; + i64toi32_i32$1 = $101$hi; + i64toi32_i32$1 = $99$hi; + i64toi32_i32$1 = $101$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $99$hi; + i64toi32_i32$3 = 1; + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $103$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $104$hi = i64toi32_i32$1; + i64toi32_i32$1 = $103$hi; + i64toi32_i32$1 = $104$hi; + i64toi32_i32$1 = $103$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $104$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $17_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $17_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $17_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$2; + continue label$2; + }; + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 72) | 0) + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[((((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 72) | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$6; + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$8 + } + $65_1 = 16; + label$10 : { + label$11 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $65_1 | 0) >> $65_1 | 0 | 0) != (-2 | 0) & 1 | 0)) { + break label$11 + } + break label$10; + } + label$12 : { + if ($1767(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$12 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = -2; + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$3; + } + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$5; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $96_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $96_1 | 0; + } + + function $1763($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1675(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1675(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $22_1 = ($88(HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (0 | 0) & 1 | 0; + global$0 = $5_1 + 32 | 0; + return $22_1 | 0; + } + + function $1764($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) != (1024 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$4 + } + $17_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$3; + } + $17_1 = 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = $17_1; + break label$1; + } + label$5 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 4 | 0) >> 2] | 0, 48) | 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1765($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $88_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP16[($6_1 + 30 | 0) >> 1] = (HEAPU16[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) | 0; + label$1 : { + label$2 : { + if (((HEAPU16[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 62 | 0) { + break label$2 + } + break label$1; + } + label$3 : { + if (((HEAPU16[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 62 | 0) { + break label$3 + } + break label$1; + } + label$4 : { + if (!((((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) & 26 | 0 | 0) != ((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!((((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) & 38 | 0 | 0) != ((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + label$5 : { + if (!($1529(0 | 0, HEAP32[((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$5 + } + break label$1; + } + label$6 : { + if (!($1529(0 | 0, HEAP32[((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$6 + } + break label$1; + } + label$7 : { + if (!(((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) & (((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0) | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if (!(((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0) & 24 | 0)) { + break label$9 + } + HEAP16[($6_1 + 30 | 0) >> 1] = 8; + break label$8; + } + HEAP16[($6_1 + 30 | 0) >> 1] = 32; + } + } + $88_1 = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1310(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, $88_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == ($88_1 | 0) & 1 | 0)) { + break label$10 + } + break label$1; + } + HEAP32[($6_1 + 16 | 0) >> 2] = 53; + label$11 : { + label$12 : while (1) { + if (!(((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) & 65535 | 0 | 0) != (2 << ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) - 53 | 0) | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1720(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 3 & 65535 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $1721(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $1766($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $53_1 = 0, $55_1 = 0, $15_1 = 0, $57_1 = 0, $87_1 = 0, $92_1 = 0, $98_1 = 0, $103_1 = 0, $114_1 = 0, $119_1 = 0, $143_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + label$3 : { + if (((HEAPU8[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (169 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $469(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if ((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + if ((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4 | 0) { + break label$4 + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $53_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $55_1 = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $15_1 = HEAPU8[$55_1 >> 0] | 0 | ((HEAPU8[($55_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$53_1 >> 0] = $15_1; + HEAP8[($53_1 + 1 | 0) >> 0] = $15_1 >>> 8 | 0; + $57_1 = 2; + HEAP8[($53_1 + $57_1 | 0) >> 0] = HEAPU8[($55_1 + $57_1 | 0) >> 0] | 0; + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 3 | 0) >> 0] = 0; + break label$6; + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$8 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (115 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $87_1 = 24; + label$9 : { + label$10 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $87_1 | 0) >> $87_1 | 0)) { + break label$10 + } + $92_1 = 24; + if (!(((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $92_1 | 0) >> $92_1 | 0)) { + break label$9 + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $98_1 = 24; + $103_1 = 24; + label$11 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $98_1 | 0) >> $98_1 | 0 | 0) == (((HEAPU8[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $103_1 | 0) >> $103_1 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $114_1 = 24; + $119_1 = 24; + label$12 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $114_1 | 0) >> $114_1 | 0 | 0) == (((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $119_1 | 0) >> $119_1 | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 3 | 0) >> 0] = HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0; + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = ((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 8 | 0 | 0) == (0 | 0) & 1 | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + } + $143_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $143_1 | 0; + } + + function $1767($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $12_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $12_1 = $1529(0 | 0, $1527(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0, $1527(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $12_1 | 0; + } + + function $1768($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $9_1 = 0, $10_1 = 0, $41_1 = 0, $76_1 = 0, $121_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + $9_1 = 0; + $10_1 = 1; + HEAP32[($8_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 4 | 0) >> 2] = $5_1; + HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = $9_1; + HEAP8[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] = 0; + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $9_1; + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] = $9_1; + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP8[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 17 | 0) >> 0] = $10_1; + HEAP8[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 18 | 0) >> 0] = $10_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) != ($9_1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[$8_1 >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + $41_1 = 16; + HEAP32[($8_1 + 12 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[$8_1 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $41_1 | 0) >> $41_1 | 0; + label$4 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[$8_1 >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[$8_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP16[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 1] = 65534; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1770(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $76_1 = 16; + label$5 : { + label$6 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $76_1 | 0) >> $76_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($8_1 + 12 | 0) >> 2] = -1; + break label$5; + } + label$7 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAPU8[(((HEAP32[((HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 12 | 0) >> 2] | 0, 20) | 0) + 13 | 0) >> 0] | 0; + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[$8_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + } + break label$2; + } + label$8 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($8_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + HEAP16[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 1] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1769(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $121_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + global$0 = $8_1 + 32 | 0; + return $121_1 | 0; + } + + function $1769($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $59_1 = 0, $69_1 = 0, $118_1 = 0, $158_1 = 0, $163_1 = 0, $197_1 = 0, $202_1 = 0, $234_1 = 0, $265_1 = 0, $285_1 = 0, $290_1 = 0, $337_1 = 0, $342_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + HEAP16[($3_1 + 34 | 0) >> 1] = HEAPU16[(((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 72 | 0) + ((((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) - 1 | 0) << 1 | 0) | 0) >> 1] | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[(((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 28 | 0) + ((((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + label$3 : while (1) { + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 16 | 0) >> 2] | 0, 48) | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $59_1 = 16; + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (((HEAPU16[($3_1 + 34 | 0) >> 1] | 0) << $59_1 | 0) >> $59_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + $69_1 = 16; + label$8 : { + if ((((HEAPU16[($3_1 + 34 | 0) >> 1] | 0) << $69_1 | 0) >> $69_1 | 0 | 0) != (-2 | 0) & 1 | 0) { + break label$8 + } + if ($1767(HEAP32[((HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + } + label$9 : { + if (((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) <= (1 | 0) & 1 | 0) { + break label$9 + } + if ((HEAP32[((HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0) { + break label$7 + } + } + label$10 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 2048 | 0)) { + break label$10 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) < (11 | 0) & 1 | 0)) { + break label$10 + } + $118_1 = $1771(HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $118_1; + if (!(($118_1 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + if (!((HEAP32[(((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + $158_1 = 16; + $163_1 = 16; + if (!((((HEAPU16[(((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 72 | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $158_1 | 0) >> $158_1 | 0 | 0) == (((HEAPU16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $163_1 | 0) >> $163_1 | 0 | 0) & 1 | 0)) { + break label$13 + } + break label$11; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + label$14 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == ((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[(((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $197_1 = 1; + HEAP16[(((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << $197_1 | 0) | 0) + 72 | 0) >> 1] = HEAPU16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0; + $202_1 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + HEAP8[($202_1 + 17 | 0) >> 0] = (HEAPU8[($202_1 + 17 | 0) >> 0] | 0) + $197_1 | 0; + } + } + label$15 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & (HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0)) { + break label$15 + } + label$16 : { + if (!((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + if (((HEAPU16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0) { + break label$16 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + $234_1 = 24; + label$17 : { + if ($1772(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) << $234_1 | 0) >> $234_1 | 0 | 0) | 0) { + break label$17 + } + break label$6; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $427(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + label$19 : { + if (!($88(HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$19 + } + break label$6; + } + } + label$20 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 130 | 0)) { + break label$20 + } + $265_1 = HEAP32[((HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $265_1; + if (!(((HEAPU8[$265_1 >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$20 + } + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + $285_1 = 16; + $290_1 = 16; + if (!((((HEAPU16[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $285_1 | 0) >> $285_1 | 0 | 0) == (((HEAPU16[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 1] | 0) << $290_1 | 0) >> $290_1 | 0 | 0) & 1 | 0)) { + break label$20 + } + break label$6; + } + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + } + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 48 | 0; + continue label$5; + }; + } + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + if ((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + continue label$3 + } + break label$3; + }; + label$21 : { + label$22 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) >= ((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$22 + } + break label$21; + } + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + $337_1 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + HEAP8[($337_1 + 18 | 0) >> 0] = (HEAPU8[($337_1 + 18 | 0) >> 0] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + HEAP32[($3_1 + 44 | 0) >> 2] = 0; + } + $342_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $342_1 | 0; + } + + function $1770($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, $9_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = $1543(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] = $6_1; + $9_1 = $1769(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $9_1 | 0; + } + + function $1771($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1527(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $26_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $26_1 | 0; + } + + function $1772($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $20_1 = 0, $30_1 = 0, $40_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 7 | 0) >> 0] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1773(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 6 | 0) >> 0] = wasm2js_i32$1; + $9_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[($4_1 + 6 | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0 | 0) < (66 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + $20_1 = 24; + label$3 : { + if (!((((HEAPU8[($4_1 + 6 | 0) >> 0] | 0) << $20_1 | 0) >> $20_1 | 0 | 0) == (66 | 0) & 1 | 0)) { + break label$3 + } + $30_1 = 24; + HEAP32[($4_1 + 12 | 0) >> 2] = (((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) == (66 | 0) & 1 | 0; + break label$1; + } + $40_1 = 24; + HEAP32[($4_1 + 12 | 0) >> 2] = (((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) >= (67 | 0) & 1 | 0; + } + $48_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $48_1 | 0; + } + + function $1773($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $18_1 = 0, $31_1 = 0, $36_1 = 0, $41_1 = 0, $43_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1543(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 11 | 0) >> 0] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = 24; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1544(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, ((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 11 | 0) >> 0] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$4 + } + $31_1 = 24; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1544(HEAP32[((HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $31_1 | 0) >> $31_1 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 11 | 0) >> 0] = wasm2js_i32$1; + break label$3; + } + $36_1 = 24; + label$5 : { + if (((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $36_1 | 0) >> $36_1 | 0) { + break label$5 + } + HEAP8[($3_1 + 11 | 0) >> 0] = 65; + } + } + } + $41_1 = 24; + $43_1 = ((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $41_1 | 0) >> $41_1 | 0; + global$0 = $3_1 + 16 | 0; + return $43_1 | 0; + } + + function $1774($0_1, $1_1, $2_1, $2$hi, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $416$hi = 0, $423$hi = 0, $9_1 = 0, $417$hi = 0, $418$hi = 0, $420$hi = 0, $55_1 = 0, $148_1 = 0, $424$hi = 0, $425$hi = 0, $427$hi = 0, $382_1 = 0, $417_1 = 0, $499_1 = 0, $424_1 = 0, $865_1 = 0, $413_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 96 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 84 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 68 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $5_1; + HEAP16[($8_1 + 18 | 0) >> 1] = 0; + HEAP32[($8_1 + 48 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + break label$3; + } + i64toi32_i32$0 = 0; + $416$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $417_1 = i64toi32_i32$0; + $417$hi = i64toi32_i32$1; + i64toi32_i32$2 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + $418$hi = i64toi32_i32$0; + i64toi32_i32$0 = $417$hi; + i64toi32_i32$0 = $418$hi; + $499_1 = i64toi32_i32$1; + i64toi32_i32$0 = $417$hi; + i64toi32_i32$2 = $417_1; + i64toi32_i32$1 = $418$hi; + i64toi32_i32$3 = $499_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $420$hi = i64toi32_i32$1; + i64toi32_i32$1 = $416$hi; + i64toi32_i32$1 = $420$hi; + i64toi32_i32$1 = $416$hi; + i64toi32_i32$1 = $420$hi; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $416$hi; + i64toi32_i32$3 = 0; + label$5 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$5 + } + break label$3; + } + label$6 : { + if (((HEAPU16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & -2049 | 0) { + break label$6 + } + break label$3; + } + label$7 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 0 | 0)) { + break label$7 + } + break label$3; + } + HEAP32[($8_1 + 48 | 0) >> 2] = (HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 48 | 0; + continue label$2; + }; + } + $55_1 = 0; + HEAP32[($8_1 + 24 | 0) >> 2] = $55_1; + label$8 : { + if (!((HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) != ($55_1 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 64 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 56 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$11 : { + label$12 : { + if (((HEAPU8[(HEAP32[($8_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0) { + break label$12 + } + if (!((HEAP32[((HEAP32[($8_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + } + break label$9; + } + label$13 : { + if (!(((HEAPU8[((((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 56 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0) & 255 | 0) & 2 | 0)) { + break label$13 + } + break label$9; + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + label$14 : { + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + } + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $308(HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0, ((Math_imul(HEAP32[($8_1 + 48 | 0) >> 2] | 0, 20) + 72 | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 3 | 0) | 0) + 8 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + label$16 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$16 + } + $349(HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0, 8229 | 0, 0 | 0); + HEAP32[($8_1 + 92 | 0) >> 2] = 0; + break label$15; + } + $148_1 = 0; + HEAP32[($8_1 + 32 | 0) >> 2] = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 72 | 0; + HEAP32[($8_1 + 44 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = (HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 48 | 0) >> 2] | 0, 12) | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 88 | 0) >> 2] | 0; + HEAP32[($8_1 + 52 | 0) >> 2] = $148_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $148_1; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + label$19 : { + label$20 : { + if (!((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + break label$19; + } + i64toi32_i32$0 = 0; + $423$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $424_1 = i64toi32_i32$0; + $424$hi = i64toi32_i32$1; + i64toi32_i32$3 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + $425$hi = i64toi32_i32$0; + i64toi32_i32$0 = $424$hi; + i64toi32_i32$0 = $425$hi; + $865_1 = i64toi32_i32$1; + i64toi32_i32$0 = $424$hi; + i64toi32_i32$3 = $424_1; + i64toi32_i32$1 = $425$hi; + i64toi32_i32$2 = $865_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $427$hi = i64toi32_i32$1; + i64toi32_i32$1 = $423$hi; + i64toi32_i32$1 = $427$hi; + i64toi32_i32$1 = $423$hi; + i64toi32_i32$1 = $427$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $423$hi; + i64toi32_i32$2 = 0; + label$21 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$21 + } + break label$19; + } + label$22 : { + if (((HEAPU16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & -2049 | 0) { + break label$22 + } + break label$19; + } + label$23 : { + if (!(((HEAPU16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 0 | 0)) { + break label$23 + } + break label$19; + } + label$24 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$24 + } + if ((HEAP32[((HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0) { + break label$24 + } + break label$19; + } + HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 52 | 0) >> 2] | 0, 12) | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 52 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + HEAP16[($8_1 + 6 | 0) >> 1] = ((HEAPU16[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 8191 | 0; + label$25 : { + if (!(((HEAPU16[($8_1 + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$25 + } + HEAP16[($8_1 + 6 | 0) >> 1] = 2; + } + label$26 : { + label$27 : { + if (!(((HEAPU16[($8_1 + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) == (64 | 0) & 1 | 0)) { + break label$27 + } + HEAP8[(((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 52 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 0] = HEAPU8[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 15 | 0) >> 0] | 0; + break label$26; + } + label$28 : { + label$29 : { + if (!(((HEAPU16[($8_1 + 6 | 0) >> 1] | 0) & 65535 | 0) & 384 | 0)) { + break label$29 + } + label$30 : { + label$31 : { + if (!(((HEAPU16[($8_1 + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) == (256 | 0) & 1 | 0)) { + break label$31 + } + HEAP8[(((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 52 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 0] = 71; + break label$30; + } + HEAP8[(((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 52 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 0] = 72; + } + break label$28; + } + HEAP8[(((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 52 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 0] = HEAPU16[($8_1 + 6 | 0) >> 1] | 0; + label$32 : { + if (!(((HEAPU16[($8_1 + 6 | 0) >> 1] | 0) & 65535 | 0) & 60 | 0)) { + break label$32 + } + if (!($1505(HEAP32[((HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$32 + } + label$33 : { + if (!((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$33 + } + HEAP16[($8_1 + 18 | 0) >> 1] = (HEAPU16[($8_1 + 18 | 0) >> 1] | 0) & 65535 | 0 | (1 << (HEAP32[($8_1 + 52 | 0) >> 2] | 0) | 0) | 0; + } + label$34 : { + if (!(((HEAPU16[($8_1 + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$34 + } + HEAP8[(((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 52 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 0] = 8; + } + label$35 : { + if (!(((HEAPU16[($8_1 + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$35 + } + HEAP8[(((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 52 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 0] = 32; + } + } + } + } + HEAP32[($8_1 + 52 | 0) >> 2] = (HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 48 | 0; + continue label$18; + }; + } + HEAP32[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = 0; + label$36 : { + label$37 : while (1) { + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[$8_1 >> 2] = HEAP32[(((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 56 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + $382_1 = 16; + HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 56 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = ((HEAPU16[((HEAP32[$8_1 >> 2] | 0) + 32 | 0) >> 1] | 0) << $382_1 | 0) >> $382_1 | 0; + HEAP8[(((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 56 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = ((HEAPU8[((((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($8_1 + 56 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 0] | 0) & 255 | 0) & 1 | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$37; + }; + } + HEAP16[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 1] = HEAPU16[($8_1 + 18 | 0) >> 1] | 0; + HEAP32[($8_1 + 92 | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + } + $413_1 = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + global$0 = $8_1 + 96 | 0; + return $413_1 | 0; + } + + function $1775($0_1, $1_1, $1$hi, $2_1, $2$hi, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $75_1 = 0, $10_1 = 0, $374$hi = 0, $375$hi = 0, $372$hi = 0, $373$hi = 0, $143_1 = 0, $380$hi = 0, $203_1 = 0, $250_1 = 0, $264_1 = 0, $326_1 = 0, $342_1 = 0, $346_1 = 0, $472_1 = 0, $372_1 = 0, $522_1 = 0, $374_1 = 0, $531_1 = 0, $614_1 = 0, $190_1 = 0, $380_1 = 0, $856$hi = 0, $860_1 = 0, $300_1 = 0, $333_1 = 0, $336_1 = 0, $368_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 128 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 120 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 112 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 116 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 104 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 108 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($9_1 + 102 | 0) >> 1] = $3_1; + HEAP32[($9_1 + 96 | 0) >> 2] = $4_1; + HEAP16[($9_1 + 94 | 0) >> 1] = $5_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($9_1 + 64 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($9_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($9_1 + 120 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($9_1 + 52 | 0) >> 2] = ((HEAP32[((HEAP32[(HEAP32[($9_1 + 120 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAPU8[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0, 72) | 0; + HEAP32[($9_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 96 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($9_1 + 88 | 0) >> 2] | 0) >> 2] = $10_1; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 116 | 0) >> 2] | 0; + $472_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $472_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($9_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($9_1 + 72 | 0) >> 2] = $10_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($9_1 + 44 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 48) | 0; + HEAP8[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 5 | 0) >> 0] = 0; + i64toi32_i32$2 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $372_1 = i64toi32_i32$1; + $372$hi = i64toi32_i32$0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + $373$hi = i64toi32_i32$1; + i64toi32_i32$1 = $372$hi; + i64toi32_i32$1 = $373$hi; + $522_1 = i64toi32_i32$0; + i64toi32_i32$1 = $372$hi; + i64toi32_i32$2 = $372_1; + i64toi32_i32$0 = $373$hi; + i64toi32_i32$3 = $522_1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $374_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $374$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $375$hi = i64toi32_i32$2; + i64toi32_i32$2 = $374$hi; + i64toi32_i32$2 = $375$hi; + i64toi32_i32$2 = $374$hi; + i64toi32_i32$2 = $375$hi; + $531_1 = i64toi32_i32$0; + i64toi32_i32$2 = $374$hi; + i64toi32_i32$1 = $374_1; + i64toi32_i32$0 = $375$hi; + i64toi32_i32$3 = $531_1; + label$3 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$3 + } + if (((HEAPU16[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & ((HEAPU16[($9_1 + 102 | 0) >> 1] | 0) & 65535 | 0) | 0) { + break label$3 + } + HEAP8[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 5 | 0) >> 0] = 1; + } + HEAP32[($9_1 + 72 | 0) >> 2] = (HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($9_1 + 80 | 0) >> 2] = (HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 12 | 0; + continue label$2; + }; + } + $75_1 = 0; + i64toi32_i32$1 = 0; + $3289(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($9_1 + 48 | 0) >> 2] | 0) << 3 | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 24 | 0) >> 2] = $75_1; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 2] = $75_1; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] = $75_1; + HEAPF64[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 40 | 0) >> 3] = 5.e+98; + i64toi32_i32$2 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] = 25; + HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 56 | 0) >> 2] = $75_1; + i64toi32_i32$3 = HEAP32[($9_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 60 | 0) >> 2] | 0; + $614_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $614_1; + HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$2; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1785(HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!(HEAP32[($9_1 + 64 | 0) >> 2] | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) == (19 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($9_1 + 124 | 0) >> 2] = 0; + break label$4; + } + HEAP32[($9_1 + 124 | 0) >> 2] = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + break label$4; + } + HEAP32[($9_1 + 68 | 0) >> 2] = -1; + HEAP32[($9_1 + 72 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($9_1 + 72 | 0) >> 2] = (HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + HEAP16[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 30 | 0) >> 1] = 0; + HEAP32[($9_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($9_1 + 72 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $143_1 = (HEAP32[((HEAP32[($9_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 72 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0) - 1 | 0; + HEAP32[($9_1 + 40 | 0) >> 2] = $143_1; + label$11 : { + if (!(($143_1 | 0) >= (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($9_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$12 : { + label$13 : { + if ((HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) >= (HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$13 + } + if ((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$13 + } + if ((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$13 + } + if ((HEAP32[((HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$13 + } + if ((HEAPU8[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + } + $190_1 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + HEAP32[$9_1 >> 2] = HEAP32[(HEAP32[((HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] | 0; + $349($190_1 | 0, 32484 | 0, $9_1 | 0); + HEAP32[($9_1 + 124 | 0) >> 2] = 1; + break label$4; + } + HEAP32[($9_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($9_1 + 32 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $380_1 = i64toi32_i32$2; + $380$hi = i64toi32_i32$1; + $203_1 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$3 = $203_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $856$hi = i64toi32_i32$2; + i64toi32_i32$2 = $380$hi; + i64toi32_i32$2 = $856$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $380$hi; + i64toi32_i32$0 = $380_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $860_1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = $203_1; + HEAP32[i64toi32_i32$3 >> 2] = $860_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + label$14 : { + if (!((HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) > (HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($9_1 + 68 | 0) >> 2] = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + } + label$15 : { + if (!(((HEAPU8[(((HEAP32[($9_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 72 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$15 + } + label$16 : { + label$17 : { + if (!((HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$17 + } + if ((1 << (HEAP32[($9_1 + 72 | 0) >> 2] | 0) | 0) & ((HEAPU16[($9_1 + 94 | 0) >> 1] | 0) & 65535 | 0) | 0) { + break label$17 + } + $250_1 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + HEAP16[($250_1 + 30 | 0) >> 1] = (HEAPU16[($250_1 + 30 | 0) >> 1] | 0) & 65535 | 0 | (1 << (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0) | 0; + break label$16; + } + } + } + label$18 : { + if (!(((HEAPU16[((HEAP32[($9_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + $264_1 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + HEAP32[($264_1 + 56 | 0) >> 2] = (HEAP32[($264_1 + 56 | 0) >> 2] | 0) & -2 | 0; + HEAP32[(HEAP32[($9_1 + 88 | 0) >> 2] | 0) >> 2] = 1; + } + } + HEAP32[($9_1 + 72 | 0) >> 2] = (HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($9_1 + 80 | 0) >> 2] = (HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 12 | 0; + continue label$10; + }; + } + HEAP16[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 1] = (HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($9_1 + 72 | 0) >> 2] = 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) <= (HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + label$21 : { + if (!((HEAP32[((HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$21 + } + $300_1 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] | 0; + $349($300_1 | 0, 32484 | 0, $9_1 + 16 | 0 | 0); + HEAP32[($9_1 + 124 | 0) >> 2] = 1; + break label$4; + } + HEAP32[($9_1 + 72 | 0) >> 2] = (HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 28 | 0) >> 0] = HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$22 : { + label$23 : { + if (!(HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0)) { + break label$23 + } + $326_1 = HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$22; + } + $326_1 = 0; + } + HEAP8[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 29 | 0) >> 0] = $326_1; + HEAP16[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 18 | 0) >> 1] = 0; + $333_1 = $1786(+(+HEAPF64[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 40 | 0) >> 3])) | 0; + HEAP16[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 1] = $333_1; + i64toi32_i32$2 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $336_1 = $937(i64toi32_i32$1 | 0, i64toi32_i32$3 | 0) | 0; + HEAP16[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 22 | 0) >> 1] = $336_1; + label$24 : { + label$25 : { + if (!((HEAP32[((HEAP32[($9_1 + 96 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) & 1 | 0)) { + break label$25 + } + $342_1 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + HEAP32[($342_1 + 36 | 0) >> 2] = HEAP32[($342_1 + 36 | 0) >> 2] | 0 | 4096 | 0; + break label$24; + } + $346_1 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + HEAP32[($346_1 + 36 | 0) >> 2] = (HEAP32[($346_1 + 36 | 0) >> 2] | 0) & -4097 | 0; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $1777(HEAP32[($9_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$26 + } + $42(HEAP32[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($9_1 + 60 | 0) >> 2] | 0) + 28 | 0) >> 0] = 0; + } + HEAP32[($9_1 + 124 | 0) >> 2] = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + } + $368_1 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + global$0 = $9_1 + 128 | 0; + return $368_1 | 0; + } + + function $1776($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, $15_1 = 0, $17_1 = 0, i64toi32_i32$1 = 0, $21_1 = 0, $27_1 = 0, i64toi32_i32$0 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP16[($3_1 + 14 | 0) >> 1] = $0_1; + $6_1 = 16; + label$1 : { + label$2 : { + if (!((((HEAPU16[($3_1 + 14 | 0) >> 1] | 0) << $6_1 | 0) >> $6_1 | 0 | 0) <= (10 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = 0; + break label$1; + } + $17_1 = 16; + i64toi32_i32$1 = ((HEAPU16[($3_1 + 14 | 0) >> 1] | 0) << $17_1 | 0) >> $17_1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $21_1 = 16; + $15_1 = ((($937(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) << $21_1 | 0) >> $21_1 | 0) - 33 | 0; + } + $27_1 = 16; + global$0 = $3_1 + 16 | 0; + return ($15_1 << $27_1 | 0) >> $27_1 | 0 | 0; + } + + function $1777($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, $25_1 = 0, i64toi32_i32$2 = 0, $56_1 = 0, $59_1 = 0, $87_1 = 0, $10_1 = 0, $166_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP16[(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 1] = 0; + } + HEAP32[($4_1 + 44 | 0) >> 2] = 101; + break label$1; + } + $25_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($25_1 + 24 | 0) >> 2] = (HEAP32[($25_1 + 24 | 0) >> 2] | 0) + -1 | 0; + $1787(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$2 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $56_1 = 16; + $59_1 = 16; + $1783(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[i64toi32_i32$2 >> 2] | 0 | 0, i64toi32_i32$1 | 0, ((HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $56_1 | 0) >> $56_1 | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $59_1 | 0) >> $59_1 | 0 | 0) | 0; + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1788((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$1 = 0; + $87_1 = $365(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 72 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $87_1; + HEAP32[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 2] = $87_1; + label$9 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 7; + break label$1; + } + $1676(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + break label$7; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1788(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + break label$10; + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$13 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + break label$10; + } + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $1749(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + continue label$11; + }; + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1789(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if ((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1024 | 0) { + break label$14 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$15 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $10_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + if (!((((HEAPU8[($10_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($10_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $166_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $166_1 | 0; + } + + function $1778($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $84$hi = 0, i64toi32_i32$3 = 0, $85$hi = 0, $86$hi = 0, $88$hi = 0, $54_1 = 0, $81_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!(((HEAPU8[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if ($1778(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$3; + }; + } + i64toi32_i32$0 = 0; + $84$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $85$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $86$hi = i64toi32_i32$1; + i64toi32_i32$1 = $85$hi; + i64toi32_i32$1 = $86$hi; + i64toi32_i32$1 = $85$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $86$hi; + i64toi32_i32$3 = 8388608; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $88$hi = i64toi32_i32$0; + i64toi32_i32$0 = $84$hi; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$0 = $84$hi; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$3 = 0; + label$5 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + } + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$9 + } + $54_1 = 16; + if (!((((HEAPU16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 1] | 0) << $54_1 | 0) >> $54_1 | 0 | 0) == (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + } + label$10 : { + if (!(HEAP32[($6_1 + 36 | 0) >> 2] | 0)) { + break label$10 + } + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$8 + } + } + if (!($1530(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 48 | 0; + continue label$7; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $81_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $81_1 | 0; + } + + function $1779($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $11_1 = 0, $18_1 = 0, $71_1 = 0, $93_1 = 0, $103_1 = 0, $117_1 = 0, $142_1 = 0, $169_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + $11_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((((HEAPU8[($11_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($11_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 2 | 0) & 1 | 0) & 65535 | 0)) { + break label$2 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $18_1 = HEAP32[((HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $18_1; + label$3 : { + if (!(($18_1 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1527(HEAP32[(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$6; + } + label$8 : { + label$9 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$9 + } + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $71_1 = 16; + label$10 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $71_1 | 0) >> $71_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$11 + } + $93_1 = 16; + $103_1 = 16; + label$13 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $93_1 | 0) >> $93_1 | 0 | 0) == (((HEAPU16[((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $103_1 | 0) >> $103_1 | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + break label$8; + } + $117_1 = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $117_1; + label$14 : { + if (!(($117_1 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$15 + } + $142_1 = 16; + label$17 : { + label$18 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $142_1 | 0) >> $142_1 | 0 | 0) != (-2 | 0) & 1 | 0)) { + break label$18 + } + break label$17; + } + label$19 : { + if ($1767(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0) { + break label$19 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + } + } + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $169_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $169_1 | 0; + } + + function $1780($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $222$hi = 0, $228$hi = 0, $217$hi = 0, $218$hi = 0, $219$hi = 0, $220$hi = 0, $223$hi = 0, $224$hi = 0, $226$hi = 0, $229$hi = 0, $230$hi = 0, $232$hi = 0, $103_1 = 0, $113_1 = 0, $116_1 = 0, $118_1 = 0, $122_1 = 0, $164_1 = 0, $173_1 = 0, $188_1 = 0, $192_1 = 0, $196_1 = 0, $206_1 = 0, $210_1 = 0, $217_1 = 0, $254_1 = 0, $260_1 = 0, $223_1 = 0, $308_1 = 0, $229_1 = 0, $327_1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP16[($5_1 + 54 | 0) >> 1] = $2_1; + i64toi32_i32$2 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $217_1 = i64toi32_i32$0; + $217$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $218$hi = i64toi32_i32$0; + i64toi32_i32$0 = $217$hi; + i64toi32_i32$0 = $218$hi; + $254_1 = i64toi32_i32$1; + i64toi32_i32$0 = $217$hi; + i64toi32_i32$2 = $217_1; + i64toi32_i32$1 = $218$hi; + i64toi32_i32$3 = $254_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $219$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $220$hi = i64toi32_i32$1; + i64toi32_i32$1 = $219$hi; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$1 = $219$hi; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $220$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + $260_1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $260_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$2; + HEAP16[($5_1 + 22 | 0) >> 1] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 2 | 0)) { + break label$3 + } + break label$1; + } + i64toi32_i32$2 = 0; + $222$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] | 0; + $223_1 = i64toi32_i32$2; + $223$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $224$hi = i64toi32_i32$2; + i64toi32_i32$2 = $223$hi; + i64toi32_i32$2 = $224$hi; + $308_1 = i64toi32_i32$0; + i64toi32_i32$2 = $223$hi; + i64toi32_i32$1 = $223_1; + i64toi32_i32$0 = $224$hi; + i64toi32_i32$3 = $308_1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $226$hi = i64toi32_i32$0; + i64toi32_i32$0 = $222$hi; + i64toi32_i32$0 = $226$hi; + i64toi32_i32$0 = $222$hi; + i64toi32_i32$0 = $226$hi; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $222$hi; + i64toi32_i32$3 = 0; + label$4 : { + label$5 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + i64toi32_i32$2 = 0; + $228$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $229_1 = i64toi32_i32$2; + $229$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $230$hi = i64toi32_i32$2; + i64toi32_i32$2 = $229$hi; + i64toi32_i32$2 = $230$hi; + $327_1 = i64toi32_i32$0; + i64toi32_i32$2 = $229$hi; + i64toi32_i32$3 = $229_1; + i64toi32_i32$0 = $230$hi; + i64toi32_i32$1 = $327_1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $232$hi = i64toi32_i32$0; + i64toi32_i32$0 = $228$hi; + i64toi32_i32$0 = $232$hi; + i64toi32_i32$0 = $228$hi; + i64toi32_i32$0 = $232$hi; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + i64toi32_i32$3 = $228$hi; + i64toi32_i32$1 = 0; + label$6 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = ((HEAPU16[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + break label$9; + } + label$11 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + break label$7; + } + label$12 : { + if (!((HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$12 + } + if (!(((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, 48) | 0 | 0) == (HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + break label$7; + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + -1 | 0; + continue label$8; + }; + } + label$13 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$13 + } + $103_1 = 16; + label$14 : { + label$15 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $103_1 | 0) >> $103_1 | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$15 + } + $113_1 = 16; + $116_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + $118_1 = 16; + HEAP16[($116_1 + 22 | 0) >> 1] = (((HEAPU16[($116_1 + 22 | 0) >> 1] | 0) << $118_1 | 0) >> $118_1 | 0) + (((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $113_1 | 0) >> $113_1 | 0) | 0; + break label$14; + } + $122_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP16[($122_1 + 22 | 0) >> 1] = (HEAPU16[($122_1 + 22 | 0) >> 1] | 0) + -1 | 0; + label$16 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0) & 130 | 0)) { + break label$16 + } + if (((HEAPU16[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 0 | 0) { + break label$16 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$17 : { + label$18 : { + if (!($1612(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0) | 0)) { + break label$18 + } + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) >= (-1 | 0) & 1 | 0)) { + break label$18 + } + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 10; + break label$17; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 20; + } + $164_1 = 16; + label$19 : { + if (!((((HEAPU16[($5_1 + 22 | 0) >> 1] | 0) << $164_1 | 0) >> $164_1 | 0 | 0) < (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $173_1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + HEAP16[($173_1 + 10 | 0) >> 1] = (HEAPU16[($173_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 8192 | 0; + HEAP16[($5_1 + 22 | 0) >> 1] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + } + } + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 48 | 0; + continue label$2; + }; + } + $188_1 = 16; + $192_1 = 16; + $196_1 = 16; + label$20 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $188_1 | 0) >> $188_1 | 0 | 0) > ((((HEAPU16[($5_1 + 54 | 0) >> 1] | 0) << $192_1 | 0) >> $192_1 | 0) - (((HEAPU16[($5_1 + 22 | 0) >> 1] | 0) << $196_1 | 0) >> $196_1 | 0) | 0 | 0) & 1 | 0)) { + break label$20 + } + $206_1 = 16; + $210_1 = 16; + HEAP16[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 22 | 0) >> 1] = (((HEAPU16[($5_1 + 54 | 0) >> 1] | 0) << $206_1 | 0) >> $206_1 | 0) - (((HEAPU16[($5_1 + 22 | 0) >> 1] | 0) << $210_1 | 0) >> $210_1 | 0) | 0; + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $1781($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $8_1 = 0, $980$hi = 0, $198_1 = 0, $501_1 = 0, $891_1 = 0, $896_1 = 0, $115_1 = 0, $78_1 = 0, $84_1 = 0, $981$hi = 0, $982$hi = 0, $984$hi = 0, $166_1 = 0, $172_1 = 0, $200_1 = 0, $986$hi = 0, $987$hi = 0, $988$hi = 0, $989$hi = 0, $990$hi = 0, $991$hi = 0, $283_1 = 0, $116_1 = 0, $296_1 = 0, $315_1 = 0, $320_1 = 0, $324_1 = 0, $329_1 = 0, $335_1 = 0, $344_1 = 0, $348_1 = 0, $367_1 = 0, $370_1 = 0, $388_1 = 0, $117_1 = 0, $443_1 = 0, $447_1 = 0, $456_1 = 0, $466_1 = 0, $503_1 = 0, $511_1 = 0, $516_1 = 0, $547_1 = 0, $560_1 = 0, $563_1 = 0, $568_1 = 0, $586_1 = 0, $596_1 = 0, $599_1 = 0, $601_1 = 0, $606_1 = 0, $608_1 = 0, $619_1 = 0, $631_1 = 0, $635_1 = 0, $637_1 = 0, $646_1 = 0, $648_1 = 0, $655_1 = 0, $662_1 = 0, $670_1 = 0, $677_1 = 0, $680_1 = 0, $693_1 = 0, $698_1 = 0, $701_1 = 0, $709_1 = 0, $714_1 = 0, $716_1 = 0, $721_1 = 0, $726_1 = 0, $728_1 = 0, $736_1 = 0, $771_1 = 0, $776_1 = 0, $118_1 = 0, $119_1 = 0, $871_1 = 0, $887_1 = 0, $889_1 = 0, $893_1 = 0, $898_1 = 0, $905_1 = 0, $918_1 = 0, $932_1 = 0, $937_1 = 0, $940_1 = 0, $942_1 = 0, $947_1 = 0, $956_1 = 0, $960_1 = 0, $964_1 = 0, $1138_1 = 0, $981_1 = 0, $1268_1 = 0, $197_1 = 0, $199_1 = 0, $986_1 = 0, $1470_1 = 0, $988_1 = 0, $1480_1 = 0, $1485_1 = 0, $478_1 = 0, $500_1 = 0, $502_1 = 0, $528_1 = 0, $683_1 = 0, $704_1 = 0, $2703_1 = 0, $897_1 = 0, $976_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 240 | 0; + global$0 = $6_1; + $8_1 = 0; + HEAP32[($6_1 + 232 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 228 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 224 | 0) >> 2] = $2_1; + HEAP16[($6_1 + 222 | 0) >> 1] = $3_1; + HEAP32[($6_1 + 216 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 232 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 212 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 216 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 208 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 212 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 204 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 208 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 236 | 0) >> 2] = 7; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 32 | 0)) { + break label$4 + } + HEAP32[($6_1 + 196 | 0) >> 2] = 24; + break label$3; + } + HEAP32[($6_1 + 196 | 0) >> 2] = 447; + } + $115_1 = HEAP32[($6_1 + 224 | 0) >> 2] | 0; + label$5 : { + if (!((((HEAPU8[($115_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($115_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 2 | 0) & 1 | 0) & 65535 | 0)) { + break label$5 + } + HEAP32[($6_1 + 196 | 0) >> 2] = (HEAP32[($6_1 + 196 | 0) >> 2] | 0) & -61 | 0; + } + HEAP16[($6_1 + 84 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0; + HEAP16[($6_1 + 82 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0; + HEAP16[($6_1 + 80 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 28 | 0) >> 1] | 0; + HEAP16[($6_1 + 78 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0; + HEAP16[($6_1 + 86 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0; + HEAP32[($6_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1138_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $1138_1; + HEAP32[($6_1 + 92 | 0) >> 2] = i64toi32_i32$1; + HEAP16[($6_1 + 70 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1768($6_1 + 96 | 0 | 0, HEAP32[((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 228 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, (HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($6_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 200 | 0) >> 2] = wasm2js_i32$1; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 18 | 0) >> 1] = 0; + HEAP16[($6_1 + 62 | 0) >> 1] = HEAPU16[(HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 1] | 0; + $78_1 = 16; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1776(((HEAPU16[($6_1 + 62 | 0) >> 1] | 0) << $78_1 | 0) >> $78_1 | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 60 | 0) >> 1] = wasm2js_i32$1; + label$6 : while (1) { + $84_1 = 0; + label$7 : { + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$7 + } + $84_1 = (HEAP32[($6_1 + 200 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$8 : { + if (!($84_1 & 1 | 0)) { + break label$8 + } + HEAP16[($6_1 + 50 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + label$9 : { + label$10 : { + label$11 : { + if (((HEAPU16[($6_1 + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) == (256 | 0) & 1 | 0) { + break label$11 + } + if (!(((HEAPU16[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 0 | 0)) { + break label$10 + } + } + if (!($1725(HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0, (HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0)) { + break label$10 + } + break label$9; + } + i64toi32_i32$1 = 0; + $980$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 200 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $981_1 = i64toi32_i32$1; + $981$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $982$hi = i64toi32_i32$1; + i64toi32_i32$1 = $981$hi; + i64toi32_i32$1 = $982$hi; + $1268_1 = i64toi32_i32$0; + i64toi32_i32$1 = $981$hi; + i64toi32_i32$2 = $981_1; + i64toi32_i32$0 = $982$hi; + i64toi32_i32$3 = $1268_1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $984$hi = i64toi32_i32$0; + i64toi32_i32$0 = $980$hi; + i64toi32_i32$0 = $984$hi; + i64toi32_i32$0 = $980$hi; + i64toi32_i32$0 = $984$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $980$hi; + i64toi32_i32$3 = 0; + label$12 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$12 + } + break label$9; + } + label$13 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$13 + } + if (!(((HEAPU16[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$13 + } + break label$9; + } + label$14 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 228 | 0) >> 2] | 0) + 36 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$14 + } + if ((HEAP32[((HEAP32[(HEAP32[($6_1 + 200 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0) { + break label$14 + } + break label$9; + } + label$15 : { + label$16 : { + if (!((HEAPU8[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$16 + } + if (!(((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0 | 0) == (((HEAPU16[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$16 + } + $166_1 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + HEAP8[($166_1 + 20 | 0) >> 0] = (HEAPU8[($166_1 + 20 | 0) >> 0] | 0) & 255 | 0 | 2 | 0; + break label$15; + } + $172_1 = HEAP32[($6_1 + 232 | 0) >> 2] | 0; + HEAP8[($172_1 + 20 | 0) >> 0] = (HEAPU8[($172_1 + 20 | 0) >> 0] | 0) & 255 | 0 | 1 | 0; + } + HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 24 | 0) >> 1] = HEAPU16[($6_1 + 84 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 26 | 0) >> 1] = HEAPU16[($6_1 + 82 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 28 | 0) >> 1] = HEAPU16[($6_1 + 80 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 40 | 0) >> 1] = HEAPU16[($6_1 + 86 | 0) >> 1] | 0; + label$17 : { + if (!($1735(HEAP32[($6_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0 | 0) | 0)) { + break label$17 + } + break label$8; + } + $197_1 = HEAP32[($6_1 + 200 | 0) >> 2] | 0; + $198_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $199_1 = HEAP32[($198_1 + 48 | 0) >> 2] | 0; + $200_1 = HEAPU16[($198_1 + 40 | 0) >> 1] | 0; + HEAP16[($198_1 + 40 | 0) >> 1] = $200_1 + 1 | 0; + HEAP32[($199_1 + (($200_1 & 65535 | 0) << 2 | 0) | 0) >> 2] = $197_1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $986_1 = i64toi32_i32$1; + $986$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($6_1 + 200 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $987$hi = i64toi32_i32$1; + i64toi32_i32$1 = $986$hi; + i64toi32_i32$1 = $987$hi; + $1470_1 = i64toi32_i32$0; + i64toi32_i32$1 = $986$hi; + i64toi32_i32$3 = $986_1; + i64toi32_i32$0 = $987$hi; + i64toi32_i32$2 = $1470_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $988_1 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + $988$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $989$hi = i64toi32_i32$3; + i64toi32_i32$3 = -1; + $990$hi = i64toi32_i32$3; + i64toi32_i32$3 = $989$hi; + i64toi32_i32$3 = $990$hi; + i64toi32_i32$3 = $989$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $990$hi; + i64toi32_i32$2 = -1; + i64toi32_i32$0 = i64toi32_i32$3 ^ i64toi32_i32$0 | 0; + $991$hi = i64toi32_i32$0; + i64toi32_i32$0 = $988$hi; + i64toi32_i32$0 = $991$hi; + $1480_1 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + i64toi32_i32$0 = $988$hi; + i64toi32_i32$3 = $988_1; + i64toi32_i32$1 = $991$hi; + i64toi32_i32$2 = $1480_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $1485_1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $1485_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$1; + label$18 : { + label$19 : { + if (!(((HEAPU16[($6_1 + 50 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 200 | 0) >> 2] | 0) >> 2] | 0; + label$20 : { + label$21 : { + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$21 + } + HEAP32[($6_1 + 40 | 0) >> 2] = 46; + HEAP32[($6_1 + 32 | 0) >> 2] = 0; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$22 + } + label$24 : { + if (!((HEAP32[((HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + if (!((HEAP32[(HEAP32[((HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + } + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + break label$20; + } + label$25 : { + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + if (!(HEAP32[(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0)) { + break label$25 + } + i64toi32_i32$3 = HEAP32[(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $283_1 = 16; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = (($937(i64toi32_i32$3 | 0, i64toi32_i32$1 | 0) | 0) << $283_1 | 0) >> $283_1 | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + } + $116_1 = HEAP32[($6_1 + 224 | 0) >> 2] | 0; + label$26 : { + if (!((((HEAPU8[($116_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($116_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0)) { + break label$26 + } + $296_1 = 16; + if (!((((HEAPU16[($6_1 + 60 | 0) >> 1] | 0) << $296_1 | 0) >> $296_1 | 0 | 0) >= (10 | 0) & 1 | 0)) { + break label$26 + } + HEAP16[($6_1 + 30 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0; + $315_1 = 16; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1776(((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << $315_1 | 0) >> $315_1 | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 28 | 0) >> 1] = wasm2js_i32$1; + HEAP16[($6_1 + 26 | 0) >> 1] = 10; + $320_1 = 16; + $324_1 = 16; + $329_1 = 16; + $335_1 = 16; + label$27 : { + label$28 : { + if (!((((((HEAPU16[($6_1 + 30 | 0) >> 1] | 0) << $320_1 | 0) >> $320_1 | 0) + (((HEAPU16[($6_1 + 28 | 0) >> 1] | 0) << $324_1 | 0) >> $324_1 | 0) | 0) + (((HEAPU16[($6_1 + 26 | 0) >> 1] | 0) << $329_1 | 0) >> $329_1 | 0) | 0 | 0) < ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (((HEAPU16[($6_1 + 60 | 0) >> 1] | 0) << $335_1 | 0) >> $335_1 | 0) | 0 | 0) & 1 | 0)) { + break label$28 + } + $344_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($344_1 + 36 | 0) >> 2] = HEAP32[($344_1 + 36 | 0) >> 2] | 0 | 1048576 | 0; + break label$27; + } + } + } + $348_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($348_1 + 36 | 0) >> 2] = HEAP32[($348_1 + 36 | 0) >> 2] | 0 | 4 | 0; + break label$18; + } + label$29 : { + label$30 : { + if (!(((HEAPU16[($6_1 + 50 | 0) >> 1] | 0) & 65535 | 0) & 130 | 0)) { + break label$30 + } + $367_1 = 16; + HEAP32[($6_1 + 20 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0) << $367_1 | 0) >> $367_1 | 0; + $370_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($370_1 + 36 | 0) >> 2] = HEAP32[($370_1 + 36 | 0) >> 2] | 0 | 1 | 0; + label$31 : { + label$32 : { + if ((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { + break label$32 + } + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$31 + } + $388_1 = 16; + if (((HEAPU16[($6_1 + 222 | 0) >> 1] | 0) << $388_1 | 0) >> $388_1 | 0) { + break label$31 + } + if (!(((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0 | 0) == (((HEAPU16[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$31 + } + } + label$33 : { + label$34 : { + label$35 : { + if ((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { + break label$35 + } + $117_1 = HEAP32[($6_1 + 224 | 0) >> 2] | 0; + if ((((HEAPU8[($117_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($117_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 3 | 0) & 1 | 0) & 65535 | 0) { + break label$35 + } + if (!(((HEAPU16[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$34 + } + if (!((HEAPU8[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$34 + } + if (!(((HEAPU16[($6_1 + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$34 + } + } + $443_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($443_1 + 36 | 0) >> 2] = HEAP32[($443_1 + 36 | 0) >> 2] | 0 | 4096 | 0; + break label$33; + } + $447_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($447_1 + 36 | 0) >> 2] = HEAP32[($447_1 + 36 | 0) >> 2] | 0 | 65536 | 0; + } + } + break label$29; + } + label$36 : { + label$37 : { + if (!(((HEAPU16[($6_1 + 50 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$37 + } + $456_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($456_1 + 36 | 0) >> 2] = HEAP32[($456_1 + 36 | 0) >> 2] | 0 | 8 | 0; + break label$36; + } + label$38 : { + label$39 : { + if (!(((HEAPU16[($6_1 + 50 | 0) >> 1] | 0) & 65535 | 0) & 36 | 0)) { + break label$39 + } + $466_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($466_1 + 36 | 0) >> 2] = HEAP32[($466_1 + 36 | 0) >> 2] | 0 | 34 | 0; + $478_1 = $1792(HEAP32[($6_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 228 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0, (HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($6_1 + 200 | 0) >> 2] | 0 | 0) | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 26 | 0) >> 1] = $478_1; + HEAP32[($6_1 + 52 | 0) >> 2] = HEAP32[($6_1 + 200 | 0) >> 2] | 0; + HEAP32[($6_1 + 56 | 0) >> 2] = 0; + label$40 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$40 + } + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 48 | 0; + label$41 : { + if (!($1735(HEAP32[($6_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0 | 0) | 0)) { + break label$41 + } + break label$8; + } + $500_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $501_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $502_1 = HEAP32[($501_1 + 48 | 0) >> 2] | 0; + $503_1 = HEAPU16[($501_1 + 40 | 0) >> 1] | 0; + HEAP16[($501_1 + 40 | 0) >> 1] = $503_1 + 1 | 0; + HEAP32[($502_1 + (($503_1 & 65535 | 0) << 2 | 0) | 0) >> 2] = $500_1; + $511_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($511_1 + 36 | 0) >> 2] = HEAP32[($511_1 + 36 | 0) >> 2] | 0 | 16 | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 28 | 0) >> 1] = 1; + } + break label$38; + } + $516_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($516_1 + 36 | 0) >> 2] = HEAP32[($516_1 + 36 | 0) >> 2] | 0 | 18 | 0; + $528_1 = $1792(HEAP32[($6_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 228 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0, (HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($6_1 + 200 | 0) >> 2] | 0 | 0) | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 28 | 0) >> 1] = $528_1; + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[($6_1 + 200 | 0) >> 2] | 0; + label$42 : { + label$43 : { + if (!((HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 32 | 0)) { + break label$43 + } + $547_1 = HEAP32[((HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) - 2 | 0) << 2 | 0) | 0) >> 2] | 0; + break label$42; + } + $547_1 = 0; + } + HEAP32[($6_1 + 52 | 0) >> 2] = $547_1; + } + } + } + } + label$44 : { + label$45 : { + if (!((HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 2 | 0)) { + break label$45 + } + $1793(HEAP32[($6_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0) | 0; + break label$44; + } + $560_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $563_1 = (HEAPU16[($560_1 + 24 | 0) >> 1] | 0) + 1 | 0; + HEAP16[($560_1 + 24 | 0) >> 1] = $563_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $563_1 & 65535 | 0; + $568_1 = 16; + label$46 : { + label$47 : { + if (!((((HEAPU16[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $568_1 | 0) >> $568_1 | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$47 + } + $586_1 = 16; + if (!((((HEAPU16[((HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0) << $586_1 | 0) >> $586_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$47 + } + $596_1 = 16; + $599_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $601_1 = 16; + HEAP16[($599_1 + 22 | 0) >> 1] = (((HEAPU16[($599_1 + 22 | 0) >> 1] | 0) << $601_1 | 0) >> $601_1 | 0) + (((HEAPU16[((HEAP32[($6_1 + 200 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $596_1 | 0) >> $596_1 | 0) | 0; + $606_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $608_1 = 16; + HEAP16[($606_1 + 22 | 0) >> 1] = (((HEAPU16[($606_1 + 22 | 0) >> 1] | 0) << $608_1 | 0) >> $608_1 | 0) - (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0; + break label$46; + } + $619_1 = 16; + $631_1 = 16; + $635_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $637_1 = 16; + HEAP16[($635_1 + 22 | 0) >> 1] = (((HEAPU16[($635_1 + 22 | 0) >> 1] | 0) << $637_1 | 0) >> $637_1 | 0) + ((((HEAPU16[((HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $619_1 | 0) >> $619_1 | 0) - (((HEAPU16[((HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 16 | 0) >> 2] | 0) - 1 | 0) << 1 | 0) | 0) >> 1] | 0) << $631_1 | 0) >> $631_1 | 0) | 0) | 0; + label$48 : { + if (!(((HEAPU16[($6_1 + 50 | 0) >> 1] | 0) & 65535 | 0) & 256 | 0)) { + break label$48 + } + $646_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $648_1 = 16; + HEAP16[($646_1 + 22 | 0) >> 1] = (((HEAPU16[($646_1 + 22 | 0) >> 1] | 0) << $648_1 | 0) >> $648_1 | 0) + 10 | 0; + } + } + } + $655_1 = 16; + $662_1 = 16; + $670_1 = 16; + HEAP16[($6_1 + 48 | 0) >> 1] = ((((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $655_1 | 0) >> $655_1 | 0) + 1 | 0) + ((Math_imul(((HEAPU16[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $662_1 | 0) >> $662_1 | 0, 15) | 0) / (((HEAPU16[((HEAP32[((HEAP32[($6_1 + 228 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 48 | 0) >> 1] | 0) << $670_1 | 0) >> $670_1 | 0 | 0) | 0) | 0; + $677_1 = 16; + $680_1 = 16; + $683_1 = $1667(((HEAPU16[($6_1 + 60 | 0) >> 1] | 0) << $677_1 | 0) >> $677_1 | 0 | 0, ((HEAPU16[($6_1 + 48 | 0) >> 1] | 0) << $680_1 | 0) >> $680_1 | 0 | 0) | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 20 | 0) >> 1] = $683_1; + label$49 : { + if ((HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 320 | 0) { + break label$49 + } + $693_1 = 16; + $698_1 = 16; + $701_1 = 16; + $704_1 = $1667(((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $698_1 | 0) >> $698_1 | 0 | 0, (((((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $693_1 | 0) >> $693_1 | 0) + 16 | 0) << $701_1 | 0) >> $701_1 | 0 | 0) | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 20 | 0) >> 1] = $704_1; + } + HEAP16[($6_1 + 46 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0; + $709_1 = 16; + $714_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $716_1 = 16; + HEAP16[($714_1 + 20 | 0) >> 1] = (((HEAPU16[($714_1 + 20 | 0) >> 1] | 0) << $716_1 | 0) >> $716_1 | 0) + ((((HEAPU16[($6_1 + 222 | 0) >> 1] | 0) << $709_1 | 0) >> $709_1 | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) | 0; + $721_1 = 16; + $726_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $728_1 = 16; + HEAP16[($726_1 + 22 | 0) >> 1] = (((HEAPU16[($726_1 + 22 | 0) >> 1] | 0) << $728_1 | 0) >> $728_1 | 0) + ((((HEAPU16[($6_1 + 222 | 0) >> 1] | 0) << $721_1 | 0) >> $721_1 | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) | 0; + $736_1 = 16; + $1780(HEAP32[((HEAP32[($6_1 + 232 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, ((HEAPU16[($6_1 + 62 | 0) >> 1] | 0) << $736_1 | 0) >> $736_1 | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1777(HEAP32[($6_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$50 : { + label$51 : { + if (!((HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 2 | 0)) { + break label$51 + } + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAPU16[($6_1 + 70 | 0) >> 1] | 0; + break label$50; + } + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAPU16[($6_1 + 46 | 0) >> 1] | 0; + } + label$52 : { + if ((HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 16 | 0) { + break label$52 + } + if (!(((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 24 | 0) >> 1] | 0) & 65535 | 0 | 0) < ((HEAPU16[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$52 + } + $771_1 = 16; + $776_1 = 16; + $1781(HEAP32[($6_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0, (((((HEAPU16[($6_1 + 222 | 0) >> 1] | 0) << $771_1 | 0) >> $771_1 | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) << $776_1 | 0) >> $776_1 | 0 | 0) | 0; + } + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAPU16[($6_1 + 70 | 0) >> 1] | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1769($6_1 + 96 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 200 | 0) >> 2] = wasm2js_i32$1; + continue label$6; + } + break label$6; + }; + i64toi32_i32$0 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $2703_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $2703_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 24 | 0) >> 1] = HEAPU16[($6_1 + 84 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 26 | 0) >> 1] = HEAPU16[($6_1 + 82 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 28 | 0) >> 1] = HEAPU16[($6_1 + 80 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 42 | 0) >> 1] = HEAPU16[($6_1 + 78 | 0) >> 1] | 0; + HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAPU16[($6_1 + 70 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 40 | 0) >> 1] = HEAPU16[($6_1 + 86 | 0) >> 1] | 0; + label$53 : { + if (!(((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0 | 0) == ((HEAPU16[($6_1 + 78 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$53 + } + if (!((((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0 | 0) < ((HEAPU16[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$53 + } + if (!(((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0 | 0) == ((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$53 + } + $118_1 = HEAP32[($6_1 + 224 | 0) >> 2] | 0; + if ((((HEAPU8[($118_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($118_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 6 | 0) & 1 | 0) & 65535 | 0) { + break label$53 + } + $119_1 = HEAP32[($6_1 + 224 | 0) >> 2] | 0; + if (!((((HEAPU8[($119_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($119_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 7 | 0) & 1 | 0) & 65535 | 0)) { + break label$53 + } + if (((HEAPU16[((HEAP32[($6_1 + 208 | 0) >> 2] | 0) + 76 | 0) >> 1] | 0) & 65535 | 0) & 16384 | 0) { + break label$53 + } + $871_1 = 16; + if (!((((HEAPU16[((HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0) << 1 | 0) | 0) >> 1] | 0) << $871_1 | 0) >> $871_1 | 0 | 0) >= (42 | 0) & 1 | 0)) { + break label$53 + } + $887_1 = $1735(HEAP32[($6_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0 | 0) | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = $887_1; + if ($887_1) { + break label$53 + } + $889_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $891_1 = 1; + HEAP16[($889_1 + 24 | 0) >> 1] = (HEAPU16[($889_1 + 24 | 0) >> 1] | 0) + $891_1 | 0; + $893_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP16[($893_1 + 42 | 0) >> 1] = (HEAPU16[($893_1 + 42 | 0) >> 1] | 0) + $891_1 | 0; + $896_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $897_1 = HEAP32[($896_1 + 48 | 0) >> 2] | 0; + $898_1 = HEAPU16[($896_1 + 40 | 0) >> 1] | 0; + HEAP16[($896_1 + 40 | 0) >> 1] = $898_1 + $891_1 | 0; + HEAP32[($897_1 + (($898_1 & 65535 | 0) << 2 | 0) | 0) >> 2] = 0; + $905_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + HEAP32[($905_1 + 36 | 0) >> 2] = HEAP32[($905_1 + 36 | 0) >> 2] | 0 | 32768 | 0; + $918_1 = 16; + $932_1 = 16; + HEAP16[($6_1 + 14 | 0) >> 1] = (((HEAPU16[((HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0) << $918_1 | 0) >> $918_1 | 0) - (((HEAPU16[((HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((((HEAPU16[($6_1 + 84 | 0) >> 1] | 0) & 65535 | 0) + 1 | 0) << 1 | 0) | 0) >> 1] | 0) << $932_1 | 0) >> $932_1 | 0) | 0; + $937_1 = 16; + $940_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + $942_1 = 16; + HEAP16[($940_1 + 22 | 0) >> 1] = (((HEAPU16[($940_1 + 22 | 0) >> 1] | 0) << $942_1 | 0) >> $942_1 | 0) - (((HEAPU16[($6_1 + 14 | 0) >> 1] | 0) << $937_1 | 0) >> $937_1 | 0) | 0; + $947_1 = 16; + HEAP16[($6_1 + 14 | 0) >> 1] = (((HEAPU16[($6_1 + 14 | 0) >> 1] | 0) << $947_1 | 0) >> $947_1 | 0) + 5 | 0; + $956_1 = 16; + $960_1 = 16; + $964_1 = 16; + $1781(HEAP32[($6_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0, (((((HEAPU16[($6_1 + 14 | 0) >> 1] | 0) << $956_1 | 0) >> $956_1 | 0) + (((HEAPU16[($6_1 + 222 | 0) >> 1] | 0) << $960_1 | 0) >> $960_1 | 0) | 0) << $964_1 | 0) >> $964_1 | 0 | 0) | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAPU16[($6_1 + 70 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 24 | 0) >> 1] = HEAPU16[($6_1 + 84 | 0) >> 1] | 0; + HEAP16[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 42 | 0) >> 1] = HEAPU16[($6_1 + 78 | 0) >> 1] | 0; + HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 236 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + } + $976_1 = HEAP32[($6_1 + 236 | 0) >> 2] | 0; + global$0 = $6_1 + 240 | 0; + return $976_1 | 0; + } + + function $1782($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP16[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 1] = HEAPU16[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 1] | 0; + $3288((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0 | 0, ((HEAPU16[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0) << 4 | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $1783($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $177$hi = 0, $178$hi = 0, $183$hi = 0, $184$hi = 0, $75_1 = 0, $22_1 = 0, $27_1 = 0, $175$hi = 0, $176$hi = 0, $41_1 = 0, $45_1 = 0, $181$hi = 0, $182$hi = 0, $78_1 = 0, $106_1 = 0, $119_1 = 0, $141_1 = 0, $145_1 = 0, $159_1 = 0, $163_1 = 0, $175_1 = 0, $263_1 = 0, $177_1 = 0, $270_1 = 0, $181_1 = 0, $312_1 = 0, $183_1 = 0, $321_1 = 0, $525_1 = 0; + $6_1 = global$0 - 32 | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP16[($6_1 + 14 | 0) >> 1] = $2_1; + HEAP16[($6_1 + 12 | 0) >> 1] = $3_1; + HEAP16[($6_1 + 10 | 0) >> 1] = HEAPU16[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 1] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : while (1) { + if (!(((HEAPU16[($6_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + $22_1 = 16; + $27_1 = 16; + label$5 : { + if (!((((HEAPU16[($6_1 + 14 | 0) >> 1] | 0) << $22_1 | 0) >> $22_1 | 0 | 0) <= (((HEAPU16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $27_1 | 0) >> $27_1 | 0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $175_1 = i64toi32_i32$0; + $175$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $176$hi = i64toi32_i32$0; + i64toi32_i32$0 = $175$hi; + i64toi32_i32$0 = $176$hi; + $263_1 = i64toi32_i32$1; + i64toi32_i32$0 = $175$hi; + i64toi32_i32$2 = $175_1; + i64toi32_i32$1 = $176$hi; + i64toi32_i32$3 = $263_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $177_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $177$hi = i64toi32_i32$1; + i64toi32_i32$0 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $178$hi = i64toi32_i32$2; + i64toi32_i32$2 = $177$hi; + i64toi32_i32$2 = $178$hi; + i64toi32_i32$2 = $177$hi; + i64toi32_i32$2 = $178$hi; + $270_1 = i64toi32_i32$1; + i64toi32_i32$2 = $177$hi; + i64toi32_i32$0 = $177_1; + i64toi32_i32$1 = $178$hi; + i64toi32_i32$3 = $270_1; + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$5 + } + break label$2; + } + $41_1 = 16; + $45_1 = 16; + label$6 : { + if (!((((HEAPU16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $41_1 | 0) >> $41_1 | 0 | 0) <= (((HEAPU16[($6_1 + 14 | 0) >> 1] | 0) << $45_1 | 0) >> $45_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$3 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $181_1 = i64toi32_i32$0; + $181$hi = i64toi32_i32$2; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $182$hi = i64toi32_i32$0; + i64toi32_i32$0 = $181$hi; + i64toi32_i32$0 = $182$hi; + $312_1 = i64toi32_i32$2; + i64toi32_i32$0 = $181$hi; + i64toi32_i32$3 = $181_1; + i64toi32_i32$2 = $182$hi; + i64toi32_i32$1 = $312_1; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $183_1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $183$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $184$hi = i64toi32_i32$3; + i64toi32_i32$3 = $183$hi; + i64toi32_i32$3 = $184$hi; + i64toi32_i32$3 = $183$hi; + i64toi32_i32$3 = $184$hi; + $321_1 = i64toi32_i32$2; + i64toi32_i32$3 = $183$hi; + i64toi32_i32$0 = $183_1; + i64toi32_i32$2 = $184$hi; + i64toi32_i32$1 = $321_1; + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP16[($6_1 + 10 | 0) >> 1] = (HEAPU16[($6_1 + 10 | 0) >> 1] | 0) + -1 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 16 | 0; + continue label$4; + }; + } + label$7 : { + label$8 : { + if (!(((HEAPU16[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$8 + } + $75_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $78_1 = HEAPU16[$75_1 >> 1] | 0; + HEAP16[$75_1 >> 1] = $78_1 + 1 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = ($75_1 + 8 | 0) + (($78_1 & 65535 | 0) << 4 | 0) | 0; + HEAP16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 1] = HEAPU16[($6_1 + 12 | 0) >> 1] | 0; + break label$7; + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0; + HEAP16[($6_1 + 10 | 0) >> 1] = 1; + label$9 : { + label$10 : while (1) { + if (!(((HEAPU16[($6_1 + 10 | 0) >> 1] | 0) & 65535 | 0 | 0) < ((HEAPU16[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$9 + } + $106_1 = 16; + $119_1 = 16; + label$11 : { + if (!((((HEAPU16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $106_1 | 0) >> $106_1 | 0 | 0) > (((HEAPU16[((((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) + (((HEAPU16[($6_1 + 10 | 0) >> 1] | 0) & 65535 | 0) << 4 | 0) | 0) + 8 | 0) >> 1] | 0) << $119_1 | 0) >> $119_1 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 4 | 0) >> 2] = ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) + (((HEAPU16[($6_1 + 10 | 0) >> 1] | 0) & 65535 | 0) << 4 | 0) | 0; + } + HEAP16[($6_1 + 10 | 0) >> 1] = (HEAPU16[($6_1 + 10 | 0) >> 1] | 0) + 1 | 0; + continue label$10; + }; + } + $141_1 = 16; + $145_1 = 16; + label$12 : { + if (!((((HEAPU16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $141_1 | 0) >> $141_1 | 0 | 0) <= (((HEAPU16[($6_1 + 14 | 0) >> 1] | 0) << $145_1 | 0) >> $145_1 | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + } + i64toi32_i32$1 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $525_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $525_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$3; + HEAP16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] = HEAPU16[($6_1 + 14 | 0) >> 1] | 0; + $159_1 = 16; + $163_1 = 16; + label$13 : { + if (!((((HEAPU16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) << $159_1 | 0) >> $159_1 | 0 | 0) > (((HEAPU16[($6_1 + 12 | 0) >> 1] | 0) << $163_1 | 0) >> $163_1 | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP16[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 1] = HEAPU16[($6_1 + 12 | 0) >> 1] | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + } + return HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $1784($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 17408 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1024 | 0)) { + break label$3 + } + if (!((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + $42(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 0] = 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + break label$2; + } + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 16384 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $23(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + } + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1785($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $42_1 = 0, $48_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = HEAP32[(($1056(HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 32 | 0) >> 2] | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(HEAP32[($5_1 + 28 | 0) >> 2] | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (19 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$3 + } + $118(HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$2; + } + label$4 : { + label$5 : { + if ((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + $42_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $285(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $349($42_1 | 0, 1976 | 0, $5_1 + 16 | 0 | 0); + break label$4; + } + $48_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $349($48_1 | 0, 1976 | 0, $5_1 | 0); + } + } + } + $42(HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + $56_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $56_1 | 0; + } + + function $1786($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0.0, i64toi32_i32$4 = 0, $49_1 = 0.0, $20_1 = 0, $21_1 = 0, $36_1 = 0, $36$hi = 0, $40$hi = 0, $41$hi = 0, $22_1 = 0, $42$hi = 0, $43$hi = 0, i64toi32_i32$6 = 0, $24_1 = 0, $30_1 = 0, $115_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAPF64[($3_1 + 16 | 0) >> 3] = $0_1; + label$1 : { + label$2 : { + if (!(+HEAPF64[($3_1 + 16 | 0) >> 3] <= 1.0 & 1 | 0)) { + break label$2 + } + HEAP16[($3_1 + 30 | 0) >> 1] = 0; + break label$1; + } + label$3 : { + if (!(+HEAPF64[($3_1 + 16 | 0) >> 3] <= 2.0e9 & 1 | 0)) { + break label$3 + } + $49_1 = +HEAPF64[($3_1 + 16 | 0) >> 3]; + label$4 : { + label$5 : { + if (!($49_1 < 18446744073709551615.0 & $49_1 >= 0.0 | 0)) { + break label$5 + } + i64toi32_i32$0 = $49_1; + if (Math_abs(i64toi32_i32$0) >= 1.0) { + if (i64toi32_i32$0 > 0.0) { + $20_1 = ~~Math_min(Math_floor(i64toi32_i32$0 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $20_1 = ~~Math_ceil((i64toi32_i32$0 - +(~~i64toi32_i32$0 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $21_1 = $20_1; + } else { + $21_1 = 0 + } + i64toi32_i32$1 = $21_1; + $36_1 = ~~i64toi32_i32$0 >>> 0; + $36$hi = i64toi32_i32$1; + break label$4; + } + i64toi32_i32$1 = 0; + $36_1 = 0; + $36$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $36$hi; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $937($36_1 | 0, i64toi32_i32$1 | 0) | 0), HEAP16[(wasm2js_i32$0 + 30 | 0) >> 1] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$3 = $3_1 + 16 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $115_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $115_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $40$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $41$hi = i64toi32_i32$1; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $41$hi; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $41$hi; + i64toi32_i32$4 = 52; + i64toi32_i32$5 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $22_1 = i64toi32_i32$1 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$5 | 0; + $22_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$5 | 0) | 0; + } + $42$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $43$hi = i64toi32_i32$2; + i64toi32_i32$2 = $42$hi; + i64toi32_i32$2 = $43$hi; + i64toi32_i32$2 = $42$hi; + i64toi32_i32$1 = $22_1; + i64toi32_i32$3 = $43$hi; + i64toi32_i32$4 = 1022; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$4 | 0; + i64toi32_i32$6 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) + i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 - i64toi32_i32$6 | 0; + HEAP16[($3_1 + 6 | 0) >> 1] = i64toi32_i32$5; + $24_1 = 16; + HEAP16[($3_1 + 30 | 0) >> 1] = Math_imul(((HEAPU16[($3_1 + 6 | 0) >> 1] | 0) << $24_1 | 0) >> $24_1 | 0, 10); + } + $30_1 = 16; + $32_1 = ((HEAPU16[($3_1 + 30 | 0) >> 1] | 0) << $30_1 | 0) >> $30_1 | 0; + global$0 = $3_1 + 32 | 0; + return $32_1 | 0; + } + + function $1787($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $41_1 = 0, $55_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 512 | 0) { + break label$2 + } + break label$1; + } + label$3 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + label$6 : { + if ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 512 | 0) { + break label$6 + } + break label$4; + } + label$7 : { + label$8 : { + if (!($1790(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0; + $41_1 = 16; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 22 | 0) >> 1] = (((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $41_1 | 0) >> $41_1 | 0) - 1 | 0; + break label$7; + } + label$9 : { + if (!($1790(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] = HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0; + $55_1 = 16; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 22 | 0) >> 1] = (((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $55_1 | 0) >> $55_1 | 0) + 1 | 0; + } + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + continue label$3; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1788($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $159$hi = 0, $160$hi = 0, $165$hi = 0, $166$hi = 0, $171$hi = 0, $172$hi = 0, $157$hi = 0, $158$hi = 0, $163$hi = 0, $164$hi = 0, $70_1 = 0, $75_1 = 0, $85_1 = 0, $90_1 = 0, $100_1 = 0, $105_1 = 0, $169$hi = 0, $170$hi = 0, $122_1 = 0, $127_1 = 0, $137_1 = 0, $142_1 = 0, $157_1 = 0, $292_1 = 0, $159_1 = 0, $301_1 = 0, $163_1 = 0, $317_1 = 0, $165_1 = 0, $326_1 = 0, $169_1 = 0, $434_1 = 0, $171_1 = 0, $443_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + label$6 : { + if (((HEAPU8[((HEAP32[$4_1 >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + break label$6 + } + if (!(((HEAPU8[((HEAP32[$4_1 >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + } + break label$4; + } + label$7 : { + if (!((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 36 | 0) >> 2] | 0) & 16384 | 0)) { + break label$7 + } + if ((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) & 65535 | 0) { + break label$7 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 512 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $157_1 = i64toi32_i32$0; + $157$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $158$hi = i64toi32_i32$0; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$0 = $158$hi; + $292_1 = i64toi32_i32$1; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$2 = $157_1; + i64toi32_i32$1 = $158$hi; + i64toi32_i32$3 = $292_1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $159_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $159$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $160$hi = i64toi32_i32$2; + i64toi32_i32$2 = $159$hi; + i64toi32_i32$2 = $160$hi; + i64toi32_i32$2 = $159$hi; + i64toi32_i32$2 = $160$hi; + $301_1 = i64toi32_i32$1; + i64toi32_i32$2 = $159$hi; + i64toi32_i32$0 = $159_1; + i64toi32_i32$1 = $160$hi; + i64toi32_i32$3 = $301_1; + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$7 + } + break label$2; + } + i64toi32_i32$3 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $163_1 = i64toi32_i32$0; + $163$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $164$hi = i64toi32_i32$0; + i64toi32_i32$0 = $163$hi; + i64toi32_i32$0 = $164$hi; + $317_1 = i64toi32_i32$2; + i64toi32_i32$0 = $163$hi; + i64toi32_i32$3 = $163_1; + i64toi32_i32$2 = $164$hi; + i64toi32_i32$1 = $317_1; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $165_1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $165$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $166$hi = i64toi32_i32$3; + i64toi32_i32$3 = $165$hi; + i64toi32_i32$3 = $166$hi; + i64toi32_i32$3 = $165$hi; + i64toi32_i32$3 = $166$hi; + $326_1 = i64toi32_i32$2; + i64toi32_i32$3 = $165$hi; + i64toi32_i32$0 = $165_1; + i64toi32_i32$2 = $166$hi; + i64toi32_i32$1 = $326_1; + label$8 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$8 + } + $70_1 = 16; + $75_1 = 16; + if (!((((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 18 | 0) >> 1] | 0) << $70_1 | 0) >> $70_1 | 0 | 0) <= (((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0) << $75_1 | 0) >> $75_1 | 0 | 0) & 1 | 0)) { + break label$8 + } + $85_1 = 16; + $90_1 = 16; + if (!((((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 20 | 0) >> 1] | 0) << $85_1 | 0) >> $85_1 | 0 | 0) <= (((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $90_1 | 0) >> $90_1 | 0 | 0) & 1 | 0)) { + break label$8 + } + $100_1 = 16; + $105_1 = 16; + if (!((((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 22 | 0) >> 1] | 0) << $100_1 | 0) >> $100_1 | 0 | 0) <= (((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $105_1 | 0) >> $105_1 | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $169_1 = i64toi32_i32$0; + $169$hi = i64toi32_i32$3; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $170$hi = i64toi32_i32$0; + i64toi32_i32$0 = $169$hi; + i64toi32_i32$0 = $170$hi; + $434_1 = i64toi32_i32$3; + i64toi32_i32$0 = $169$hi; + i64toi32_i32$1 = $169_1; + i64toi32_i32$3 = $170$hi; + i64toi32_i32$2 = $434_1; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $171_1 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $171$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $172$hi = i64toi32_i32$1; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$1 = $172$hi; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$1 = $172$hi; + $443_1 = i64toi32_i32$3; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$0 = $171_1; + i64toi32_i32$3 = $172$hi; + i64toi32_i32$2 = $443_1; + label$9 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$9 + } + $122_1 = 16; + $127_1 = 16; + if (!((((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 20 | 0) >> 1] | 0) << $122_1 | 0) >> $122_1 | 0 | 0) >= (((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $127_1 | 0) >> $127_1 | 0 | 0) & 1 | 0)) { + break label$9 + } + $137_1 = 16; + $142_1 = 16; + if (!((((HEAPU16[((HEAP32[$4_1 >> 2] | 0) + 22 | 0) >> 1] | 0) << $137_1 | 0) >> $137_1 | 0 | 0) >= (((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $142_1 | 0) >> $142_1 | 0 | 0) & 1 | 0)) { + break label$9 + } + break label$2; + } + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) + 52 | 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1789($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $22_1 = 0, $23_1 = 0, $24_1 = 0, $28_1 = 0, $31_1 = 0, $34_1 = 0, $37_1 = 0, $127_1 = 0, $147_1 = 0, $157_1 = 0, $167_1 = 0, $177_1 = 0, $63_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + $1784(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (!($1735(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, (HEAPU16[((HEAP32[$5_1 >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $22_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $23_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $23_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $127_1 = i64toi32_i32$0; + i64toi32_i32$0 = $22_1; + HEAP32[i64toi32_i32$0 >> 2] = $127_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $24_1 = 40; + HEAP32[(i64toi32_i32$0 + $24_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $24_1 | 0) >> 2] | 0; + $28_1 = 32; + i64toi32_i32$2 = i64toi32_i32$2 + $28_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $147_1 = i64toi32_i32$1; + i64toi32_i32$1 = $22_1 + $28_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $147_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $31_1 = 24; + i64toi32_i32$2 = $23_1 + $31_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $157_1 = i64toi32_i32$0; + i64toi32_i32$0 = $22_1 + $31_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $157_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $34_1 = 16; + i64toi32_i32$2 = $23_1 + $34_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $167_1 = i64toi32_i32$1; + i64toi32_i32$1 = $22_1 + $34_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $167_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $37_1 = 8; + i64toi32_i32$2 = $23_1 + $37_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $177_1 = i64toi32_i32$0; + i64toi32_i32$0 = $22_1 + $37_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $177_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $3288(HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) << 2 | 0 | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 36 | 0) >> 2] | 0) & 1024 | 0)) { + break label$4 + } + HEAP8[((HEAP32[$5_1 >> 2] | 0) + 28 | 0) >> 0] = 0; + break label$3; + } + label$5 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 36 | 0) >> 2] | 0) & 16384 | 0)) { + break label$5 + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 32 | 0) >> 2] = 0; + } + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + $63_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $63_1 | 0; + } + + function $1790($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $45_1 = 0, $50_1 = 0, $60_1 = 0, $65_1 = 0, $76_1 = 0, $81_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) - ((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0) >= (((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) - ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) & 65535 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) & 65535 | 0 | 0) > ((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $45_1 = 16; + $50_1 = 16; + label$4 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $45_1 | 0) >> $45_1 | 0 | 0) >= (((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $50_1 | 0) >> $50_1 | 0 | 0) & 1 | 0)) { + break label$4 + } + $60_1 = 16; + $65_1 = 16; + label$5 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $60_1 | 0) >> $60_1 | 0 | 0) > (((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 1] | 0) << $65_1 | 0) >> $65_1 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $76_1 = 16; + $81_1 = 16; + label$6 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $76_1 | 0) >> $76_1 | 0 | 0) > (((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $81_1 | 0) >> $81_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + break label$9; + } + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + break label$11; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$12; + }; + } + label$14 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + -1 | 0; + continue label$8; + }; + } + label$15 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 64 | 0)) { + break label$15 + } + if ((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 64 | 0) { + break label$15 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $1791($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0, $35_1 = 0, $47_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $31_1 = 16; + $35_1 = 16; + if (!(((($1329(HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $31_1 | 0) >> $31_1 | 0 | 0) | 0) << $35_1 | 0) >> $35_1 | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 1] = 1; + HEAP32[($4_1 + 12 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $47_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $47_1 | 0; + } + + function $1792($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $25_1 = 0, $99_1 = 0, $111_1 = 0, $143_1 = 0, $151_1 = 0, $156_1 = 0, $160_1 = 0, $194_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1432(HEAP32[((HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0) - (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + $25_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + break label$1; + } + $25_1 = ((HEAPU16[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0) - (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0; + } + HEAP32[($7_1 + 24 | 0) >> 2] = $25_1; + HEAP32[($7_1 + 20 | 0) >> 2] = 1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[($7_1 + 18 | 0) >> 0] = 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[((HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$6 + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + break label$5; + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + } + label$7 : { + label$8 : { + if (((HEAPU8[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (164 | 0) & 1 | 0) { + break label$8 + } + if ((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$8 + } + $99_1 = 16; + $111_1 = 16; + if ((((HEAPU16[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $99_1 | 0) >> $99_1 | 0 | 0) != (((HEAPU16[((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) << 1 | 0) | 0) >> 1] | 0) << $111_1 | 0) >> $111_1 | 0 | 0) & 1 | 0) { + break label$8 + } + if (!(((HEAPU8[((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + } + break label$3; + } + $143_1 = 24; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1544(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, (($1543(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0) << $143_1 | 0) >> $143_1 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 19 | 0) >> 0] = wasm2js_i32$1; + $151_1 = 16; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1498(HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $151_1 | 0) >> $151_1 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 18 | 0) >> 0] = wasm2js_i32$1; + $156_1 = 24; + $160_1 = 24; + label$9 : { + if (!((((HEAPU8[($7_1 + 19 | 0) >> 0] | 0) << $156_1 | 0) >> $156_1 | 0 | 0) != (((HEAPU8[($7_1 + 18 | 0) >> 0] | 0) << $160_1 | 0) >> $160_1 | 0 | 0) & 1 | 0)) { + break label$9 + } + break label$3; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $428(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + break label$3; + } + label$11 : { + if (!($88(HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + break label$3; + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $194_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $194_1 | 0; + } + + function $1793($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $11_1 = 0, $16_1 = 0, $22_1 = 0, $35_1 = 0, $53_1 = 0, $62_1 = 0, $68_1 = 0, $85_1 = 0, $95_1 = 0, $105_1 = 0, $110_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $8_1; + $11_1 = 16; + HEAP32[($7_1 + 4 | 0) >> 2] = ((HEAPU16[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 22 | 0) >> 1] | 0) << $11_1 | 0) >> $11_1 | 0; + $16_1 = 16; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1794(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 4 | 0) >> 2] | 0) << $16_1 | 0) >> $16_1 | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; + $22_1 = 16; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1794(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, ((HEAPU16[($7_1 + 2 | 0) >> 1] | 0) << $22_1 | 0) >> $22_1 | 0 | 0) | 0), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) != ($8_1 | 0) & 1 | 0)) { + break label$1 + } + $35_1 = 16; + if (!((((HEAPU16[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $35_1 | 0) >> $35_1 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $53_1 = 16; + if (!((((HEAPU16[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $53_1 | 0) >> $53_1 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $62_1 = 16; + HEAP16[($7_1 + 2 | 0) >> 1] = (((HEAPU16[($7_1 + 2 | 0) >> 1] | 0) << $62_1 | 0) >> $62_1 | 0) - 20 | 0; + } + $68_1 = 0; + HEAP32[($7_1 + 4 | 0) >> 2] = (HEAP32[($7_1 + 4 | 0) >> 2] | 0) - (((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) != ($68_1 | 0) & 1 | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) != ($68_1 | 0) & 1 | 0) | 0) | 0; + $85_1 = 16; + label$2 : { + if (!((((HEAPU16[($7_1 + 2 | 0) >> 1] | 0) << $85_1 | 0) >> $85_1 | 0 | 0) < (10 | 0) & 1 | 0)) { + break label$2 + } + HEAP16[($7_1 + 2 | 0) >> 1] = 10; + } + $95_1 = 16; + label$3 : { + if (!((((HEAPU16[($7_1 + 2 | 0) >> 1] | 0) << $95_1 | 0) >> $95_1 | 0 | 0) < (HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $105_1 = 16; + HEAP32[($7_1 + 4 | 0) >> 2] = ((HEAPU16[($7_1 + 2 | 0) >> 1] | 0) << $105_1 | 0) >> $105_1 | 0; + } + HEAP16[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 22 | 0) >> 1] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + $110_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $110_1 | 0; + } + + function $1794($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $26_1 = 0, $30_1 = 0, $41_1 = 0, $47_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP16[($4_1 + 10 | 0) >> 1] = $1_1; + HEAP16[($4_1 + 8 | 0) >> 1] = HEAPU16[($4_1 + 10 | 0) >> 1] | 0; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = 16; + label$2 : { + label$3 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $16_1 | 0) >> $16_1 | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$3 + } + $26_1 = 16; + $30_1 = 16; + HEAP16[($4_1 + 8 | 0) >> 1] = (((HEAPU16[($4_1 + 8 | 0) >> 1] | 0) << $30_1 | 0) >> $30_1 | 0) + (((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) << $26_1 | 0) >> $26_1 | 0) | 0; + break label$2; + } + label$4 : { + if (((HEAPU16[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0) & 65535 | 0) & 0 | 0) { + break label$4 + } + $41_1 = 16; + HEAP16[($4_1 + 8 | 0) >> 1] = (((HEAPU16[($4_1 + 8 | 0) >> 1] | 0) << $41_1 | 0) >> $41_1 | 0) - 20 | 0; + } + } + } + $47_1 = 16; + return ((HEAPU16[($4_1 + 8 | 0) >> 1] | 0) << $47_1 | 0) >> $47_1 | 0 | 0; + } + + function $1795($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + $13_1 = 16; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $13_1 | 0) >> $13_1 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 32819; + break label$1; + } + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 14175; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 4 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1796($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $54_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + label$1 : { + if (!(HEAP32[($8_1 + 12 | 0) >> 2] | 0)) { + break label$1 + } + $51(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, 32800 | 0, 5 | 0); + } + label$2 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$2 + } + $51(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, 32826 | 0, 1 | 0); + } + HEAP32[($8_1 + 4 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!(HEAP32[($8_1 + 4 | 0) >> 2] | 0)) { + break label$5 + } + $51(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, 30108 | 0, 1 | 0); + } + $60(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, $1795(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + (HEAP32[($8_1 + 4 | 0) >> 2] | 0) | 0 | 0) | 0 | 0); + HEAP32[($8_1 + 4 | 0) >> 2] = (HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$6 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$6 + } + $51(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, 5213 | 0, 1 | 0); + } + $54_1 = 1; + $51(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, $54_1 | 0); + label$7 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) > ($54_1 | 0) & 1 | 0)) { + break label$7 + } + $51(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, 32826 | 0, 1 | 0); + } + HEAP32[($8_1 + 4 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + label$10 : { + if (!(HEAP32[($8_1 + 4 | 0) >> 2] | 0)) { + break label$10 + } + $51(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, 30108 | 0, 1 | 0); + } + $51(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, 5232 | 0, 1 | 0); + HEAP32[($8_1 + 4 | 0) >> 2] = (HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$11 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$11 + } + $51(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, 5213 | 0, 1 | 0); + } + global$0 = $8_1 + 32 | 0; + return; + } + + function $1797($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $17_1 = 0, $73_1 = 0, $179_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1310(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if ((HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + $17_1 = 0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $17_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $17_1; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!((HEAP32[(HEAP32[((HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - 1 | 0; + label$6 : { + if (!((HEAP32[(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + $73_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1214(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = $73_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1214(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = $73_1; + } + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $382(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + $382(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + $18(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$8 : { + if (!((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP16[((((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 1] = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + } + } + $179_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $179_1 | 0; + } + + function $1798($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0, $28_1 = 0, $68_1 = 0, $72_1 = 0, $82_1 = 0, $92_1 = 0, $95_1 = 0, $116_1 = 0, $124_1 = 0, $128_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 7 | 0) >> 0] = $1_1; + HEAP32[$4_1 >> 2] = 0; + $8_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) == (65 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$3 : while (1) { + $28_1 = 1; + label$4 : { + if (((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (171 | 0) & 1 | 0) { + break label$4 + } + $28_1 = ((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (170 | 0); + } + label$5 : { + if (!($28_1 & 1 | 0)) { + break label$5 + } + label$6 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (170 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[$4_1 >> 2] = 1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + HEAP8[($4_1 + 6 | 0) >> 0] = HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0; + label$7 : { + if (!(((HEAPU8[($4_1 + 6 | 0) >> 0] | 0) & 255 | 0 | 0) == (173 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[($4_1 + 6 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0; + } + $68_1 = (HEAPU8[($4_1 + 6 | 0) >> 0] | 0) + -115 | 0; + label$8 : { + switch ($68_1 | 0) { + case 37: + $72_1 = 24; + HEAP32[($4_1 + 12 | 0) >> 2] = (((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $72_1 | 0) >> $72_1 | 0 | 0) >= (67 | 0) & 1 | 0; + break label$1; + case 35: + $82_1 = 24; + HEAP32[($4_1 + 12 | 0) >> 2] = (((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $82_1 | 0) >> $82_1 | 0 | 0) >= (67 | 0) & 1 | 0; + break label$1; + case 0: + $92_1 = 0; + label$14 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$14 + } + $95_1 = 24; + $92_1 = (((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $95_1 | 0) >> $95_1 | 0 | 0) == (66 | 0); + } + HEAP32[($4_1 + 12 | 0) >> 2] = $92_1 & 1 | 0; + break label$1; + case 36: + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0; + break label$1; + case 49: + $116_1 = 24; + $124_1 = 0; + label$15 : { + if (!((((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) << $116_1 | 0) >> $116_1 | 0 | 0) >= (67 | 0) & 1 | 0)) { + break label$15 + } + $128_1 = 16; + $124_1 = (((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $128_1 | 0) >> $128_1 | 0 | 0) < (0 | 0); + } + HEAP32[($4_1 + 12 | 0) >> 2] = $124_1 & 1 | 0; + break label$1; + default: + break label$8; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1799($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $30_1 = 0, $20_1 = 0, $35_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ($1529(0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + $1801(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + $20_1 = $1543(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = $20_1; + HEAP8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] = 164; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 1] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + $30_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($30_1 + 4 | 0) >> 2] = (HEAP32[($30_1 + 4 | 0) >> 2] | 0) & -266241 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $35_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $35_1 | 0; + } + + function $1800($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $28_1 = 0, $45_1 = 0, $48_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $28_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $28_1 | 0) >> $28_1 | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $1801(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $45_1 = 16; + $48_1 = $1498(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $45_1 | 0) >> $45_1 | 0 | 0) | 0; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = $48_1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + } + } + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $1801($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $4_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $32_1 = 0, $35_1 = 0, $38_1 = 0, $41_1 = 0, $44_1 = 0, $120_1 = 0, $140_1 = 0, $150_1 = 0, $160_1 = 0, $170_1 = 0, $180_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $64(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 60 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $26_1 = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0; + $27_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $27_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $120_1 = i64toi32_i32$0; + i64toi32_i32$0 = $26_1; + HEAP32[i64toi32_i32$0 >> 2] = $120_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $28_1 = 48; + HEAP32[(i64toi32_i32$0 + $28_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $28_1 | 0) >> 2] | 0; + $32_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $32_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $140_1 = i64toi32_i32$1; + i64toi32_i32$1 = $26_1 + $32_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $140_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $35_1 = 32; + i64toi32_i32$2 = $27_1 + $35_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $150_1 = i64toi32_i32$0; + i64toi32_i32$0 = $26_1 + $35_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $150_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $38_1 = 24; + i64toi32_i32$2 = $27_1 + $38_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $160_1 = i64toi32_i32$1; + i64toi32_i32$1 = $26_1 + $38_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $160_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $41_1 = 16; + i64toi32_i32$2 = $27_1 + $41_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $170_1 = i64toi32_i32$0; + i64toi32_i32$0 = $26_1 + $41_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $170_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $44_1 = 8; + i64toi32_i32$2 = $27_1 + $44_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $180_1 = i64toi32_i32$1; + i64toi32_i32$1 = $26_1 + $44_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $180_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1802($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $1748(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1803($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $1748(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $1804($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + } + $16_1 = 0; + } + return $16_1 | 0; + } + + function $1805($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $108_1 = 0, $23_1 = 0, $116_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 80 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 52 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 48 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$2 + } + $23_1 = HEAP32[(HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + } + $23_1 = 0; + } + HEAP32[($3_1 + 40 | 0) >> 2] = $23_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1358(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1358(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1382(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1382(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($3_1 + 40 | 0) >> 2] | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1379(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1379(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + $366(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) | 0; + $1807(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 72 | 0) >> 2] = HEAP32[($3_1 + 64 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $366(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 72 | 0, 0 | 0, HEAP32[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$5; + }; + } + $367(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 24 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1296(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 128 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 54 | 0, HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) | 0; + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (85 | 0) & 1 | 0)) { + break label$7 + } + $367(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) | 0; + break label$6; + } + label$8 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (66 | 0) & 1 | 0)) { + break label$8 + } + $108_1 = 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $108_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $108_1; + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($108_1 | 0) & 1 | 0)) { + break label$9 + } + $116_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1357(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $116_1 | 0, $116_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (94 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $367(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + label$12 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $1807(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + $367(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 86 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0; + $1420(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, -9 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = ($1296(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 16 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0; + break label$11; + } + $366(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 11 | 0, 0 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) | 0; + } + label$13 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$13 + } + $1277(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + } + } + } + $1806(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $1369(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0); + $366(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0) - 1 | 0 | 0); + $1277(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0 | 0); + $1383(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0); + label$14 : { + if (!(HEAP32[($3_1 + 40 | 0) >> 2] | 0)) { + break label$14 + } + $1384(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0); + $1384(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0); + } + $1696(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, 1 | 0); + global$0 = $3_1 + 80 | 0; + return; + } + + function $1806($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $262_1 = 0, $27_1 = 0, $166_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1275(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 96 | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + $27_1 = 0; + break label$3; + } + $27_1 = $1804(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($7_1 + 36 | 0) >> 2] = $27_1; + HEAP32[($7_1 + 32 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + label$8 : { + label$9 : { + if ((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0) { + break label$9 + } + if (!((HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (32240 | 0) & 1 | 0)) { + break label$8 + } + } + $367(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($7_1 + 60 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0 | 0) | 0; + break label$7; + } + $367(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($7_1 + 60 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0 | 0) | 0; + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + label$10 : { + label$11 : { + if (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) { + break label$11 + } + if (!((HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 4096 | 0)) { + break label$11 + } + if (!(((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0 | 0) != (90 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1288(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + label$13 : { + if (HEAP32[($7_1 + 64 | 0) >> 2] | 0) { + break label$13 + } + $366(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 82 | 0, (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 1 | 0 | 0, 1 | 0) | 0; + $366(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 78 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, 2 | 0, (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 2 | 0 | 0) | 0; + $366(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 131 | 0, HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 2 | 0 | 0) | 0; + break label$12; + } + $353(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 24 | 0, HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + $1288(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 123 | 0, HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0) - 2 | 0 | 0); + } + $1277(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + break label$10; + } + label$14 : { + label$15 : { + if (!(HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0)) { + break label$15 + } + $366(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 82 | 0, ((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0 | 0, 1 | 0) | 0; + break label$14; + } + label$16 : { + if (!((HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (74 | 0) & 1 | 0)) { + break label$16 + } + $166_1 = 0; + HEAP32[($7_1 + 24 | 0) >> 2] = $166_1; + label$17 : { + if (!((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != ($166_1 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $367(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $1383(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + } + label$18 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 96 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1296(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1379(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $1380(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 0 | 0, 0 & 255 | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1467(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1467(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($7_1 + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$19 + } + label$21 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (89 | 0) & 1 | 0)) { + break label$21 + } + if (!((HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 20 | 0; + continue label$20; + }; + } + } + label$22 : { + if (!((HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 32 | 0)) { + break label$22 + } + $262_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1675(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, 81 | 0, $262_1 | 0, $262_1 | 0, $262_1 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, -2 | 0) | 0; + } + $367(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 64 | 0) >> 2] | 0 ? 154 : 155) | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + $1420(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, -8 | 0); + $354(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) & 255 | 0) & 65535 | 0 | 0); + label$23 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 96 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$23 + } + $1384(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + } + label$24 : { + if (!(HEAP32[($7_1 + 24 | 0) >> 2] | 0)) { + break label$24 + } + $1277(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0); + } + } + } + } + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $7_1 + 80 | 0; + return; + } + + function $1807($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $33_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1275(HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $24_1 = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $33_1 = HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + break label$2; + } + $33_1 = 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = $24_1 + $33_1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $367(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1808($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + return; + } + + function $1809($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $13_1 = 0, $16_1 = 0, $37_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $13_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $16_1 = (HEAP32[($13_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($13_1 + 44 | 0) >> 2] = $16_1; + HEAP32[$7_1 >> 2] = $16_1; + label$1 : { + if (!((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1702(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + } + $367(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, 91 | 0, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + (HEAP32[($7_1 + 8 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($7_1 + 12 | 0) >> 2] | 0) - (HEAP32[($7_1 + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[$7_1 >> 2] | 0 | 0) | 0; + $37_1 = HEAP32[$7_1 >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $37_1 | 0; + } + + function $1810($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $17_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP16[($5_1 + 28 | 0) >> 1] = 1; + HEAP32[($5_1 + 12 | 0) >> 2] = 75; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $1547($5_1 + 8 | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0; + $17_1 = (HEAPU16[($5_1 + 28 | 0) >> 1] | 0) & 65535 | 0; + global$0 = $5_1 + 48 | 0; + return $17_1 | 0; + } + + function $1811($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + label$4 : { + if (!(($1529(0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, -1 | 0) | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1675(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!($1717(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2048 | 0)) { + break label$6 + } + HEAP16[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 1] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1546(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $55_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $55_1 | 0; + } + + function $1812($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $17_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $15_1 = $1442(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 20 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0 | 0, $4_1 + 4 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = $15_1; + $17_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $17_1 | 0; + } + + function $1813($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $17_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $15_1 = $1442(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, 16 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0 | 0, $4_1 + 4 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = $15_1; + $17_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $17_1 | 0; + } + + function $1814($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $50_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[$4_1 >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!(($1631(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[$4_1 >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $50_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $50_1 | 0; + } + + function $1815($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $40_1 = 0; + $6_1 = global$0 - 32 | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + $40_1 = 16; + label$5 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) & 1 | 0)) { + break label$5 + } + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + return HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $1816($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $28_1 = 0, $51_1 = 0, $98_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + $28_1 = 16; + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $28_1 | 0) >> $28_1 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : { + if ((HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$7 + } + $51_1 = 16; + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $51_1 | 0) >> $51_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + if (!(HEAP32[($6_1 + 28 | 0) >> 2] | 0)) { + break label$6 + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 20) | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!((0 | 0) == ($88(HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + break label$8; + } + label$11 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + } + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $98_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $98_1 | 0; + } + + function $1817($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $34_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (HEAP32[((HEAP32[(HEAP32[(($1056(HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + if ((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 4097 | 0) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 1 | 0)) { + break label$4 + } + $34_1 = 0; + label$5 : { + if ($783(HEAP32[$4_1 >> 2] | 0 | 0) | 0) { + break label$5 + } + $34_1 = ((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + HEAP32[($4_1 + 12 | 0) >> 2] = $34_1 & 1 | 0; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1579(HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $48_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $48_1 | 0; + } + + function $1818($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $17_1 = 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1382(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, 55 | 0, (HEAP32[$3_1 >> 2] | 0) + 2 | 0 | 0, ($1296(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0) + 7 | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0) | 0; + $1462(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, $17_1 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, 97 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $355(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, 5 | 0, 33680 | 0, $17_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == ($17_1 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[$3_1 >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = (HEAP32[$3_1 >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = (HEAP32[$3_1 >> 2] | 0) - 1 | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] = (HEAP32[$3_1 >> 2] | 0) + 1 | 0; + HEAP16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 62 | 0) >> 1] = 8; + $1383(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $1819($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $17_1 = 0, $30_1 = 0, $40_1 = 0, $65_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$1; + } + $17_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 12 | 0) >> 2] = $17_1; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0; + label$3 : while (1) { + $30_1 = 0; + label$4 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $40_1 = 1; + label$5 : { + if ((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$5 + } + $40_1 = (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + } + $30_1 = $40_1; + } + label$6 : { + if (!($30_1 & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + label$7 : { + if ((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1825(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $65_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $65_1 | 0; + } + + function $1820($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $58$hi = 0, i64toi32_i32$3 = 0, $61$hi = 0, $32_1 = 0, $59$hi = 0, $60$hi = 0, $44_1 = 0, $47_1 = 0, $141_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1275(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1819(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $32_1 = 0; + label$2 : { + if (!((HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $58$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $59$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $60$hi = i64toi32_i32$1; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$3 = 8192; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $61$hi = i64toi32_i32$0; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = $61$hi; + $141_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = $61$hi; + i64toi32_i32$3 = $141_1; + $32_1 = (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0; + } + HEAP32[($8_1 + 12 | 0) >> 2] = $32_1 & 1 | 0; + $41_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $42_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + $43_1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + $44_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + $47_1 = (HEAP32[($44_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($44_1 + 44 | 0) >> 2] = $47_1; + $1278($41_1 | 0, 46 | 0, $42_1 | 0, $43_1 | 0, $47_1 | 0, HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, -4 | 0) | 0; + $354(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 12 | 0) >> 2] | 0) & 255 | 0) & 65535 | 0 | 0); + } + global$0 = $8_1 + 48 | 0; + return; + } + + function $1821($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $392$hi = 0, i64toi32_i32$3 = 0, $52_1 = 0, $56_1 = 0, $87_1 = 0, $91_1 = 0, $180_1 = 0, $184_1 = 0, $234_1 = 0, $238_1 = 0, $257_1 = 0, $261_1 = 0, $273_1 = 0, $278_1 = 0, $393$hi = 0, $394$hi = 0, $396$hi = 0, $361_1 = 0, $263_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11_1 = global$0 - 96 | 0; + global$0 = $11_1; + HEAP32[($11_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 68 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 64 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 60 | 0) >> 2] = $8_1; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $1275(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11_1 + 48 | 0) >> 2] = (HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) - 1 | 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $1358(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$1 + } + $366(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 47 | 0, (HEAPU8[((HEAP32[($11_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($11_1 + 56 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($11_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $52_1 = 16; + $56_1 = 16; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = (((($1424(HEAP32[(HEAP32[($11_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($11_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($11_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << $52_1 | 0) >> $52_1 | 0 | 0) | 0) << $56_1 | 0) >> $56_1 | 0) + (HEAP32[($11_1 + 68 | 0) >> 2] | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($11_1 + 56 | 0) >> 2] = (HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$4 : { + if (HEAP32[($11_1 + 60 | 0) >> 2] | 0) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[($11_1 + 80 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $1382(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $87_1 = 16; + $91_1 = 16; + $366(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 78 | 0, (((($1424(HEAP32[(HEAP32[($11_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAP32[(HEAP32[($11_1 + 72 | 0) >> 2] | 0) >> 2] | 0) << $87_1 | 0) >> $87_1 | 0 | 0) | 0) << $91_1 | 0) >> $91_1 | 0) + 1 | 0) + (HEAP32[($11_1 + 68 | 0) >> 2] | 0) | 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $366(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 15 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($11_1 + 84 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($11_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + $367(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 144 & 65535 | 0 | 0); + } + $1462(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 84 | 0) >> 2] | 0 | 0, 96 | 0); + $367(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 32 | 0, HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, ($1296(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0) | 0) - 2 | 0 | 0); + $1277(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 36 | 0) >> 2] | 0 | 0); + $1383(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0); + break label$5; + } + HEAP32[($11_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($11_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $1379(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $1382(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 96 | 0, HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($11_1 + 80 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0) | 0; + $1405(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 80 | 0) >> 2] | 0 | 0); + HEAP32[($11_1 + 56 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $180_1 = 16; + $184_1 = 16; + $366(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 77 | 0, (((($1424(HEAP32[(HEAP32[($11_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($11_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($11_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << $180_1 | 0) >> $180_1 | 0 | 0) | 0) << $184_1 | 0) >> $184_1 | 0) + 1 | 0) + (HEAP32[($11_1 + 68 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($11_1 + 24 | 0) >> 2] | 0) + (HEAP32[($11_1 + 56 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($11_1 + 56 | 0) >> 2] = (HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$10 : { + if (!((HEAP32[($11_1 + 84 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($11_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = (($1296(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0) | 0) + (HEAP32[($11_1 + 28 | 0) >> 2] | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11_1 + 56 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $234_1 = 16; + $238_1 = 16; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = (((($1424(HEAP32[(HEAP32[($11_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($11_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($11_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << $234_1 | 0) >> $234_1 | 0 | 0) | 0) << $238_1 | 0) >> $238_1 | 0) + 1 | 0) + (HEAP32[($11_1 + 68 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11_1 + 8 | 0) >> 2] = (HEAP32[($11_1 + 68 | 0) >> 2] | 0) + 1 | 0; + $257_1 = 16; + $261_1 = 16; + $263_1 = (($1424(HEAP32[((HEAP32[($11_1 + 80 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[((HEAP32[($11_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($11_1 + 56 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $257_1 | 0) >> $257_1 | 0 | 0) | 0) << $261_1 | 0) >> $261_1 | 0; + HEAP32[($11_1 + 8 | 0) >> 2] = (HEAP32[($11_1 + 8 | 0) >> 2] | 0) + $263_1 | 0; + $273_1 = 16; + $278_1 = 16; + label$13 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($11_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($11_1 + 56 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $273_1 | 0) >> $273_1 | 0 | 0) == (((HEAPU16[((HEAP32[($11_1 + 84 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $278_1 | 0) >> $278_1 | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($11_1 + 8 | 0) >> 2] = HEAP32[($11_1 + 68 | 0) >> 2] | 0; + } + $367(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 52 | 0, HEAP32[($11_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 16 & 65535 | 0 | 0); + HEAP32[($11_1 + 56 | 0) >> 2] = (HEAP32[($11_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + $1282(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) | 0; + } + $1278(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0, $1409(HEAP32[(HEAP32[($11_1 + 92 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 80 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $353(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 30 | 0, HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $1383(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0); + $1384(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0); + } + } + label$14 : { + label$15 : { + if (((HEAPU8[((HEAP32[($11_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$15 + } + i64toi32_i32$0 = 0; + $392$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(HEAP32[($11_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $393$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $394$hi = i64toi32_i32$1; + i64toi32_i32$1 = $393$hi; + i64toi32_i32$1 = $394$hi; + i64toi32_i32$1 = $393$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $394$hi; + i64toi32_i32$3 = 524288; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $396$hi = i64toi32_i32$0; + i64toi32_i32$0 = $392$hi; + i64toi32_i32$0 = $396$hi; + i64toi32_i32$0 = $392$hi; + i64toi32_i32$0 = $396$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $392$hi; + i64toi32_i32$3 = 0; + if (((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0) { + break label$15 + } + if ((HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$15 + } + if (((HEAPU8[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$15 + } + $361_1 = 24; + $1522(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, 787 | 0, 2 | 0, 0 | 0, (255 << $361_1 | 0) >> $361_1 | 0 | 0, 4 & 255 | 0 | 0); + break label$14; + } + label$16 : { + if (!((HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$16 + } + if ((HEAPU8[((HEAP32[($11_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0) { + break label$16 + } + $1295(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0); + } + $366(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 151 | 0, (HEAPU8[((HEAP32[($11_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) | 0; + } + $1369(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0); + $1288(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 116 | 0, HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0) | 0; + global$0 = $11_1 + 96 | 0; + return; + } + + function $1822($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$1; + } + $15_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 16 | 0) >> 2] = $15_1; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0) >> 2] | 0; + label$5 : { + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + if (((HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) == (8 | 0) & 1 | 0) { + break label$6 + } + } + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 26 | 0) >> 0] | 0) & 255 | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$5 + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$3; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $1823($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, i64toi32_i32$1 = 0, $213_1 = 0, i64toi32_i32$0 = 0, $254_1 = 0, $225_1 = 0, $11_1 = 0, $53_1 = 0, $56_1 = 0, $64_1 = 0, $80_1 = 0, $90_1 = 0, $131_1 = 0, $135_1 = 0, $143_1 = 0, $151_1 = 0, $175_1 = 0, $183_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 144 | 0; + global$0 = $10_1; + $11_1 = 0; + HEAP32[($10_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 132 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 128 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 124 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 120 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 116 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 112 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 108 | 0) >> 2] = HEAP32[(HEAP32[($10_1 + 140 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($10_1 + 100 | 0) >> 2] = $11_1; + HEAP32[($10_1 + 56 | 0) >> 2] = $11_1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1275(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) < ($11_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $366(HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, 47 | 0, (HEAPU8[((HEAP32[($10_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($10_1 + 104 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($10_1 + 124 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!((HEAP32[($10_1 + 128 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $53_1 = 16; + $56_1 = ((HEAPU16[((HEAP32[((HEAP32[($10_1 + 128 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 104 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $53_1 | 0) >> $53_1 | 0; + break label$4; + } + $56_1 = -1; + } + HEAP16[($10_1 + 38 | 0) >> 1] = $56_1; + $64_1 = 16; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1832(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 116 | 0) >> 2] | 0 | 0, ((HEAPU16[($10_1 + 38 | 0) >> 1] | 0) << $64_1 | 0) >> $64_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($10_1 + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $80_1 = HEAP32[((HEAP32[($10_1 + 120 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$6; + } + $80_1 = HEAP32[((HEAP32[($10_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + } + HEAP16[($10_1 + 38 | 0) >> 1] = $80_1; + $90_1 = 16; + HEAP32[($10_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($10_1 + 124 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($10_1 + 38 | 0) >> 1] | 0) << $90_1 | 0) >> $90_1 | 0, 20) | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1217(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, 59 | 0, HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1197(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, 53 | 0, HEAP32[($10_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1240(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 104 | 0) >> 2] = (HEAP32[($10_1 + 104 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$8 : { + if (!((HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($10_1 + 124 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + label$10 : { + if ((HEAP32[((HEAP32[($10_1 + 132 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$10 + } + $131_1 = 65535; + $135_1 = 16; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1832(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 116 | 0) >> 2] | 0 | 0, ($131_1 << $135_1 | 0) >> $135_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $143_1 = 16; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1833(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($10_1 + 136 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, ($131_1 << $143_1 | 0) >> $143_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1197(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, 52 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$9; + } + $151_1 = 0; + HEAP32[($10_1 + 12 | 0) >> 2] = $151_1; + HEAP32[($10_1 + 104 | 0) >> 2] = $151_1; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($10_1 + 104 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($10_1 + 128 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP16[($10_1 + 10 | 0) >> 1] = HEAPU16[((HEAP32[((HEAP32[($10_1 + 128 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($10_1 + 104 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + $175_1 = 16; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1832(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 116 | 0) >> 2] | 0 | 0, ((HEAPU16[($10_1 + 10 | 0) >> 1] | 0) << $175_1 | 0) >> $175_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $183_1 = 16; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1217(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, 59 | 0, HEAP32[((HEAP32[((HEAP32[($10_1 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($10_1 + 10 | 0) >> 1] | 0) << $183_1 | 0) >> $183_1 | 0, 20) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1197(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, 45 | 0, HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1240(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10_1 + 104 | 0) >> 2] = (HEAP32[($10_1 + 104 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1197(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[($10_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1240(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + } + $213_1 = $10_1 + 64 | 0; + i64toi32_i32$0 = 0; + $254_1 = 0; + i64toi32_i32$1 = $213_1; + HEAP32[i64toi32_i32$1 >> 2] = $254_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $254_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $213_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $254_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $213_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $254_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($10_1 + 68 | 0) >> 2] = HEAP32[($10_1 + 136 | 0) >> 2] | 0; + HEAP32[($10_1 + 64 | 0) >> 2] = HEAP32[($10_1 + 140 | 0) >> 2] | 0; + $1404($213_1 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0) | 0; + label$13 : { + if (HEAP32[((HEAP32[($10_1 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$13 + } + $225_1 = 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $1362(HEAP32[($10_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0, $225_1 | 0, $225_1 | 0, 0 & 65535 | 0 | 0, $225_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, 151 | 0, (HEAPU8[((HEAP32[($10_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($10_1 + 112 | 0) >> 2] | 0 | 0) | 0; + label$14 : { + if (!((HEAP32[($10_1 + 60 | 0) >> 2] | 0 | 0) != ($225_1 | 0) & 1 | 0)) { + break label$14 + } + $1373(HEAP32[($10_1 + 60 | 0) >> 2] | 0 | 0); + } + } + $18(HEAP32[($10_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 100 | 0) >> 2] | 0 | 0); + label$15 : { + if (!(HEAP32[($10_1 + 56 | 0) >> 2] | 0)) { + break label$15 + } + $1411(HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 56 | 0) >> 2] | 0 | 0); + } + global$0 = $10_1 + 144 | 0; + return; + } + + function $1824($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $327_1 = 0, $58_1 = 0, i64toi32_i32$2 = 0, $124_1 = 0, $171_1 = 0, $175_1 = 0, $485$hi = 0, $126_1 = 0, $361_1 = 0, $486$hi = 0, $487$hi = 0, $489$hi = 0, $94_1 = 0, $114_1 = 0, $117_1 = 0, $120_1 = 0, $129_1 = 0, $133_1 = 0, $170_1 = 0, $174_1 = 0, $229_1 = 0, $233_1 = 0, $278_1 = 0, $282_1 = 0, $341_1 = 0, $364_1 = 0, $402_1 = 0, $409_1 = 0, $439_1 = 0, $672_1 = 0, $676_1 = 0, $100_1 = 0, $376_1 = 0, $380_1 = 0, $384_1 = 0, $400_1 = 0, $482_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 160 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 152 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 148 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 144 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 140 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 136 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 152 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 124 | 0) >> 2] = (HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + HEAP32[($6_1 + 132 | 0) >> 2] = (HEAPU8[(((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 25 | 0) + (HEAP32[($6_1 + 124 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $485$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $486$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $487$hi = i64toi32_i32$1; + i64toi32_i32$1 = $486$hi; + i64toi32_i32$1 = $487$hi; + i64toi32_i32$1 = $486$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $487$hi; + i64toi32_i32$3 = 524288; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $489$hi = i64toi32_i32$0; + i64toi32_i32$0 = $485$hi; + i64toi32_i32$0 = $489$hi; + i64toi32_i32$0 = $485$hi; + i64toi32_i32$0 = $489$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $485$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 156 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 128 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($6_1 + 124 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$3 : { + if (!(HEAP32[($6_1 + 132 | 0) >> 2] | 0)) { + break label$3 + } + if ((HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + $58_1 = 0; + HEAP32[($6_1 + 112 | 0) >> 2] = $58_1; + HEAP32[($6_1 + 108 | 0) >> 2] = $58_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $58_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $58_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $58_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $58_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $58_1; + label$4 : { + if (!($1464(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 144 | 0) >> 2] | 0 | 0, $6_1 + 112 | 0 | 0, $6_1 + 108 | 0 | 0) | 0)) { + break label$4 + } + HEAP32[($6_1 + 156 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 88 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$3 = 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 33656 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 33660 | 0) >> 2] | 0; + $672_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1 + 72 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $672_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 33664 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 33668 | 0) >> 2] | 0; + $676_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1 + 64 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $676_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $94_1 = HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 88 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$7; + } + $94_1 = HEAP32[((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 44 | 0) >> 2] = $94_1; + $100_1 = HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $114_1 = 16; + $117_1 = ((HEAPU16[((HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 88 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $114_1 | 0) >> $114_1 | 0; + break label$9; + } + $120_1 = 16; + $117_1 = ((HEAPU16[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $120_1 | 0) >> $120_1 | 0; + } + $124_1 = 0; + $126_1 = 59; + $129_1 = $6_1 + 56 | 0; + $133_1 = $6_1 + 48 | 0; + $1324($133_1 | 0, HEAP32[($100_1 + Math_imul($117_1, 20) | 0) >> 2] | 0 | 0); + $1324($129_1 | 0, HEAP32[((HEAP32[((HEAP32[(HEAP32[($6_1 + 144 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1197(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, 53 | 0, $1197(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, 139 | 0, $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $126_1 | 0, $6_1 + 72 | 0 | 0, $124_1 | 0) | 0 | 0, $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $126_1 | 0, $133_1 | 0, $124_1 | 0) | 0 | 0) | 0 | 0, $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $126_1 | 0, $129_1 | 0, $124_1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1240(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) != ($124_1 | 0) & 1 | 0)) { + break label$11 + } + $170_1 = 139; + $171_1 = 59; + $174_1 = $6_1 + 48 | 0; + $175_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1197(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, 45 | 0, $1197(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, $170_1 | 0, $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $171_1 | 0, $6_1 + 72 | 0 | 0, $175_1 | 0) | 0 | 0, $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $171_1 | 0, $174_1 | 0, $175_1 | 0) | 0 | 0) | 0 | 0, $1197(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, $170_1 | 0, $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $171_1 | 0, $6_1 + 64 | 0 | 0, $175_1 | 0) | 0 | 0, $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $171_1 | 0, $174_1 | 0, $175_1 | 0) | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1240(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + label$12 : { + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) != (7 | 0) & 1 | 0)) { + break label$12 + } + label$13 : { + if ((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) != (10 | 0) & 1 | 0) { + break label$13 + } + if (!((HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + } + label$14 : { + label$15 : { + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) == (10 | 0) & 1 | 0)) { + break label$15 + } + $229_1 = 59; + $233_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1197(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, 139 | 0, $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $229_1 | 0, $6_1 + 64 | 0 | 0, $233_1 | 0) | 0 | 0, $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, $229_1 | 0, $6_1 + 48 | 0 | 0, $233_1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$14; + } + label$16 : { + label$17 : { + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[(HEAP32[($6_1 + 144 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 20) | 0; + label$18 : { + label$19 : { + if (!(((HEAPU16[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) & 96 | 0)) { + break label$19 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$18; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + label$20 : { + label$21 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1310(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$20; + } + $278_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, 119 | 0, $278_1 | 0, $278_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + break label$16; + } + $282_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1218(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, 119 | 0, $282_1 | 0, $282_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1214(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + $1215(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0, $6_1 + 56 | 0 | 0, 0 | 0); + } + HEAP32[($6_1 + 88 | 0) >> 2] = (HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $13(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 120 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($6_1 + 144 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $68(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1217(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, 71 | 0, 4961 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = 2; + } + $327_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1213(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, $1214(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, $327_1 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0, $1222(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, $327_1 | 0, $6_1 + 16 | 0 | 0, $327_1 | 0) | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, $327_1 | 0, $327_1 | 0, $327_1 | 0, $327_1 | 0, $327_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 100 | 0) >> 2] = $327_1; + } + $341_1 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP32[($341_1 + 272 | 0) >> 2] = (HEAP32[($341_1 + 272 | 0) >> 2] | 0) + 1 | 0; + HEAP16[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 276 | 0) >> 1] = 0; + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 116 | 0) >> 2] | 0) + 84 | 0) + 1 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + $361_1 = 1; + $364_1 = (HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 36 | 0; + HEAP32[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 28 | 0) >> 2] = $364_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $364_1; + HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 48 | 0; + $3288(HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) | 0; + $376_1 = $1310(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, $361_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] = $376_1; + $380_1 = $1339(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0, $361_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] = $380_1; + $384_1 = $1338(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, $361_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] = $384_1; + label$25 : { + if (!((HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1197(HEAP32[($6_1 + 152 | 0) >> 2] | 0 | 0, 19 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + $400_1 = $1310(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 12 | 0) >> 2] = $400_1; + } + } + $402_1 = HEAP32[($6_1 + 136 | 0) >> 2] | 0; + HEAP32[($402_1 + 272 | 0) >> 2] = (HEAP32[($402_1 + 272 | 0) >> 2] | 0) + -1 | 0; + label$26 : { + label$27 : { + if (!(HEAP32[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 272 | 0) >> 2] | 0)) { + break label$27 + } + $409_1 = 0; + break label$26; + } + $409_1 = (HEAPU16[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 278 | 0) >> 1] | 0) & 65535 | 0; + } + HEAP16[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 276 | 0) >> 1] = $409_1; + $18(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0); + $18(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0); + $382(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0); + $1139(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0); + label$28 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 136 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$28 + } + $1171(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 156 | 0) >> 2] = 0; + break label$1; + } + $439_1 = (HEAP32[($6_1 + 132 | 0) >> 2] | 0) + -7 | 0; + label$29 : { + label$30 : { + switch ($439_1 | 0) { + case 0: + HEAP8[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 0] = 136; + break label$29; + case 3: + label$33 : { + if ((HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$33 + } + HEAP8[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 0] = 126; + break label$29; + } + break; + default: + break label$30; + }; + } + HEAP8[(HEAP32[($6_1 + 104 | 0) >> 2] | 0) >> 0] = 127; + } + HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 148 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($6_1 + 124 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 8 | 0) >> 0] = (HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 127 : 126; + } + HEAP32[($6_1 + 156 | 0) >> 2] = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + } + $482_1 = HEAP32[($6_1 + 156 | 0) >> 2] | 0; + global$0 = $6_1 + 160 | 0; + return $482_1 | 0; + } + + function $1825($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $20_1 = 0, $207_1 = 0, $71_1 = 0, $17_1 = 0, $39_1 = 0, $49_1 = 0, $129_1 = 0, $113_1 = 0, $114_1 = 0, $180_1 = 0, $201_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + break label$1; + } + $17_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + } + $20_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 72 | 0) >> 2] = $17_1; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $20_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $20_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $20_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, 24 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if ((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) != ($20_1 | 0) & 1 | 0) { + break label$4 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + break label$3; + } + i64toi32_i32$0 = 0; + HEAP32[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 264 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + $39_1 = $308(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, 28 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = $39_1; + HEAP32[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] = $39_1; + label$5 : { + if ((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + break label$3; + } + i64toi32_i32$0 = 0; + $49_1 = -1; + $1826(HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] = $49_1; + HEAP32[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 2] = $49_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $308(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, 280 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if ((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + break label$3; + } + $71_1 = $6_1 + 24 | 0; + i64toi32_i32$0 = 0; + $207_1 = 0; + i64toi32_i32$1 = $71_1; + HEAP32[i64toi32_i32$1 >> 2] = $207_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $207_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $71_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $207_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $71_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $207_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 120 | 0) >> 2] = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 116 | 0) >> 2] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 84 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 148 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 136 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 25 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1275(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[(HEAP32[($6_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $113_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $114_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[(HEAP32[($6_1 + 84 | 0) >> 2] | 0) >> 2] | 0; + $357($113_1 | 0, -1 | 0, $351($114_1 | 0, 33594 | 0, $6_1 | 0) | 0 | 0, -7 | 0); + } + label$9 : { + if (!((HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $129_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1310(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $129_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(($129_1 | 0) == ($1404($6_1 + 24 | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + if ((HEAPU8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$10 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1358(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $1390(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 16 | 0); + } + $18(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0); + } + $1827(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0; + label$11 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$11 + } + $1369(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + $1276(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, 68 | 0) | 0; + $1828(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + label$12 : { + if ((HEAPU8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + if (HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$12 + } + $180_1 = $1829(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 96 | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = $180_1; + } + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0; + $220(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0); + } + $124(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + $13(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 92 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + } + $201_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + global$0 = $6_1 + 96 | 0; + return $201_1 | 0; + } + + function $1826($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + return; + } + + function $1827($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $59_1 = 0, $97_1 = 0, $29_1 = 0, $57_1 = 0, $108_1 = 0, $110_1 = 0, $43_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (11 | 0) & 1 | 0)) { + break label$4 + } + $29_1 = (HEAPU8[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + break label$3; + } + $29_1 = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) & 255 | 0; + } + HEAP8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 149 | 0) >> 0] = $29_1; + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $43_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $44_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $1278($43_1 | 0, 171 | 0, 2147483647 | 0, 1 | 0, 0 | 0, $351($44_1 | 0, 8191 | 0, $5_1 | 0) | 0 | 0, -7 | 0) | 0; + } + $57_1 = (HEAPU8[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 0] | 0) + -125 | 0; + label$6 : { + label$7 : { + switch ($57_1 | 0) { + case 2: + $59_1 = 0; + $1230(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $1830(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0, $1339(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, $59_1 | 0) | 0 | 0, $1310(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $59_1 | 0) | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 149 | 0) >> 0] | 0) & 255 | 0 | 0, $59_1 | 0, $59_1 | 0, $59_1 | 0); + break label$6; + case 0: + $1232(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $1830(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0, $1338(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0, $1574(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 149 | 0) >> 0] | 0) & 255 | 0 | 0, $1831(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) | 0 | 0); + break label$6; + case 1: + $97_1 = 0; + $1227(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $1830(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0, $1310(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $97_1 | 0) | 0 | 0, $97_1 | 0, $97_1 | 0); + break label$6; + default: + break label$7; + }; + } + $108_1 = $5_1 + 8 | 0; + $110_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1338(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $110_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $1298($108_1 | 0, 4 | 0, $110_1 | 0); + $1210(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $108_1 | 0) | 0; + $1139(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (136 | 0) & 1 | 0)) { + break label$11 + } + $1276(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 124 | 0) | 0; + } + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $5_1 + 64 | 0; + return 0 | 0; + } + + function $1828($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$1; + } + $13(HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1829($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $15_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + $373(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = 0; + $15_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $15_1 | 0; + } + + function $1830($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $291(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1222(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $5_1 | 0, $5_1 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1476(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1229(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + break label$1; + } + $13(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + $55_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $55_1 | 0; + } + + function $1831($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $13_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1233(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $1339(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, $13_1 | 0) | 0 | 0, $1310(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $13_1 | 0) | 0 | 0, $1339(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $13_1 | 0) | 0 | 0, $1310(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $13_1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $32_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $32_1 | 0; + } + + function $1832($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $21_1 = 0, $30_1 = 0, $35_1 = 0, $47_1 = 0, $56_1 = 0, $60_1 = 0, $65_1 = 0, $89_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP16[($6_1 + 18 | 0) >> 1] = $3_1; + HEAP32[$6_1 >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1217(HEAP32[$6_1 >> 2] | 0 | 0, 173 | 0, $7_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$1 + } + $21_1 = 16; + label$2 : { + label$3 : { + if (!((((HEAPU16[($6_1 + 18 | 0) >> 1] | 0) << $21_1 | 0) >> $21_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + $30_1 = 16; + $35_1 = 16; + if (!((((HEAPU16[($6_1 + 18 | 0) >> 1] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) != (((HEAPU16[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $35_1 | 0) >> $35_1 | 0 | 0) & 1 | 0)) { + break label$3 + } + $47_1 = 16; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[($6_1 + 18 | 0) >> 1] | 0) << $47_1 | 0) >> $47_1 | 0, 20) | 0; + $56_1 = 16; + $60_1 = 16; + $65_1 = ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((($1424(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, ((HEAPU16[($6_1 + 18 | 0) >> 1] | 0) << $56_1 | 0) >> $56_1 | 0 | 0) | 0) << $60_1 | 0) >> $60_1 | 0) | 0) + 1 | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = $65_1; + HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[$6_1 >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1606(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = 68; + } + } + $89_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $89_1 | 0; + } + + function $1833($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $23_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP16[($6_1 + 18 | 0) >> 1] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1217(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 164 | 0, $7_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP16[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 1] = HEAPU16[($6_1 + 18 | 0) >> 1] | 0; + } + $23_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $23_1 | 0; + } + + function $1834($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, $31_1 = 0, $43_1 = 0, $49_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = 16; + label$2 : { + label$3 : { + if (!((((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + $31_1 = 16; + label$4 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $31_1 | 0) >> $31_1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + $43_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP16[($43_1 + 20 | 0) >> 1] = (HEAPU16[($43_1 + 20 | 0) >> 1] | 0) & 65535 | 0 | 1 | 0; + } + break label$2; + } + $49_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP16[($49_1 + 20 | 0) >> 1] = (HEAPU16[($49_1 + 20 | 0) >> 1] | 0) & 65535 | 0 | 2 | 0; + } + } + return 0 | 0; + } + + function $1835($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1197(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 75 | 0, $5_1 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 1] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + $19_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $19_1 | 0; + } + + function $1836($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, $31_1 = 0, $40_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + $31_1 = 16; + $40_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP16[($40_1 + 20 | 0) >> 1] = (HEAPU16[($40_1 + 20 | 0) >> 1] | 0) & 65535 | 0 | ((HEAPU16[(((HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $31_1 | 0) >> $31_1 | 0, 20) | 0) + 16 | 0) >> 1] | 0) & 65535 | 0) | 0; + } + return 0 | 0; + } + + function $1837($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0, $25_1 = 0, $50_1 = 0, $18_1 = 0, $20_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + $9_1 = 16; + label$1 : { + label$2 : { + if (!((((HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $9_1 | 0) >> $9_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + $20_1 = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + $25_1 = 16; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(((HEAPU16[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $25_1 | 0) >> $25_1 | 0, 20) | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $20_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($18_1 | 0, 28578 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = 1555; + break label$1; + } + $36_1 = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($36_1 | 0, 33791 | 0, $5_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = 2579; + } + $50_1 = 24; + $1522(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, (249 << $50_1 | 0) >> $50_1 | 0 | 0, 2 & 255 | 0 | 0); + global$0 = $5_1 + 48 | 0; + return; + } + + function $1838($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $149_1 = 0, $57_1 = 0, $76_1 = 0, $80_1 = 0, $95_1 = 0, $108_1 = 0, $116_1 = 0, $132_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if ((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0) { + break label$3 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1382(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 135 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 31 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0; + $1383(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $416(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAPU16[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 1 | 0; + $57_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + HEAP32[($57_1 + 44 | 0) >> 2] = (HEAP32[($57_1 + 44 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $76_1 = 16; + $80_1 = 16; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = (($1329(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, ((HEAPU16[((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $76_1 | 0) >> $76_1 | 0 | 0) | 0) << $80_1 | 0) >> $80_1 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $95_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $353(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 30 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, $95_1 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $1278(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 68 | 0, 11 | 0, 2 | 0, $95_1 | 0, 27507 | 0, -1 | 0) | 0; + $1295(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0); + } + } + $108_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1476(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $108_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 24 | 0) >> 2] = $108_1; + label$6 : { + label$7 : while (1) { + $116_1 = 16; + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $116_1 | 0) >> $116_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + $132_1 = 24; + label$8 : { + if (!((((HEAPU8[(((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 24 | 0) >> 2] | 0, 20) | 0) + 13 | 0) >> 0] | 0) << $132_1 | 0) >> $132_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$8 + } + $1288(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 83 | 0, (HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0) | 0; + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + $149_1 = 0; + $1230(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 2 | 0, $149_1 | 0, $149_1 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] = $149_1; + HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] = $149_1; + global$0 = $7_1 + 64 | 0; + return; + } + + function $1839($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $64_1 = 0, $74_1 = 0, $91_1 = 0, $169_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if (((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) != ((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) { + break label$3 + } + if (!(((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) != ((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[$4_1 >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$5 + } + $64_1 = 16; + $74_1 = 16; + label$7 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $64_1 | 0) >> $64_1 | 0 | 0) != (((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $74_1 | 0) >> $74_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $91_1 = 16; + label$8 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $91_1 | 0) >> $91_1 | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!($1529(0 | 0, HEAP32[(((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[$4_1 >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[$4_1 >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + } + label$10 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$11 : { + if (!($87(HEAP32[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$12 : { + if (!($1529(0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, -1 | 0) | 0)) { + break label$12 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + } + $169_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $169_1 | 0; + } + + function $1840($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0 | (HEAP32[((HEAP32[$3_1 >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $1841($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $12_1 = 0; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $12_1 = ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0); + } + return $12_1 & 1 | 0 | 0; + } + + function $1842($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$1 = 0, $39_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[i64toi32_i32$1 >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!((HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $39_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $39_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + } + return; + } + + function $1843($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $18_1 = 0, $28_1 = 0, $42_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + $7_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = 24; + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) <= (50 | 0) & 1 | 0)) { + break label$2 + } + $28_1 = 24; + HEAP32[($3_1 + 12 | 0) >> 2] = (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0) - 48 | 0; + break label$1; + } + label$3 : { + if ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 14186 | 0) | 0) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if ($88(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 9684 | 0) | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $42_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $42_1 | 0; + } + + function $1844($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $4_1 = 0, $6_1 = 0, $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $302(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 35253 | 0, -1 | 0); + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + label$6 : { + if (!(($409(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, -1 | 0) | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$6 + } + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 35286 | 0, -1 | 0); + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $398($5_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == ((HEAPU8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + break label$8 + } + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + } + $6_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $4_1 = $5_1 + 8 | 0; + $7_1 = HEAPU8[$6_1 >> 0] | 0 | ((HEAPU8[($6_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($6_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($6_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$4_1 >> 0] = $7_1; + HEAP8[($4_1 + 1 | 0) >> 0] = $7_1 >>> 8 | 0; + HEAP8[($4_1 + 2 | 0) >> 0] = $7_1 >>> 16 | 0; + HEAP8[($4_1 + 3 | 0) >> 0] = $7_1 >>> 24 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $4_1; + label$9 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == ((HEAPU8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] = 0; + } + label$10 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = 0; + } + } + break label$3; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $267(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, ($397(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) == (0 | 0) & 1 | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1845($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6_1 = 0, $87_1 = 0, $89_1 = 0, i64toi32_i32$3 = 0, $90_1 = 0, $93_1 = 0, $96_1 = 0, $379_1 = 0, $175_1 = 0, $380$hi = 0, $381$hi = 0, $382$hi = 0, $383$hi = 0, $275_1 = 0, $299_1 = 0, $41_1 = 0, $59_1 = 0, $588_1 = 0, $598_1 = 0, $608_1 = 0, $618_1 = 0, $181_1 = 0, $200_1 = 0, $350_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 112 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 92 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 76 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 80 | 0) >> 2] = 1352; + } + label$2 : { + if (!((HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 84 | 0) >> 2] = 1352; + } + label$3 : { + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) >= ((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0) + 2 | 0 | 0) & 1 | 0)) { + break label$5 + } + $41_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($41_1 | 0, 35758 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + HEAP32[($5_1 + 96 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if (!($1133(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + $59_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($59_1 | 0, 35795 | 0, $5_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + HEAP32[($5_1 + 96 | 0) >> 2] = (HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == ((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 412 | 0 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, 48 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + break label$3; + } + $87_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + $89_1 = HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $89_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $588_1 = i64toi32_i32$0; + i64toi32_i32$0 = $87_1; + HEAP32[i64toi32_i32$0 >> 2] = $588_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $90_1 = 24; + i64toi32_i32$2 = i64toi32_i32$2 + $90_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $598_1 = i64toi32_i32$1; + i64toi32_i32$1 = $87_1 + $90_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $598_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $93_1 = 16; + i64toi32_i32$2 = $89_1 + $93_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $608_1 = i64toi32_i32$0; + i64toi32_i32$0 = $87_1 + $93_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $608_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $96_1 = 8; + i64toi32_i32$2 = $89_1 + $96_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $618_1 = i64toi32_i32$1; + i64toi32_i32$1 = $87_1 + $96_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $618_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$9; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $70(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 1 | 0) << 4 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + break label$3; + } + } + HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + HEAP32[($5_1 + 60 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = 0; + $379_1 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $379_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $379_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $491(HEAP32[((HEAP32[(HEAP32[($5_1 + 88 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, $5_1 + 68 | 0 | 0, $5_1 + 52 | 0 | 0, $5_1 + 76 | 0 | 0, $5_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($5_1 + 92 | 0) >> 2] | 0)) { + break label$13 + } + label$14 : { + if (!((HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$14 + } + $118(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + } + $263(HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0); + break label$3; + } + HEAP32[($5_1 + 68 | 0) >> 2] = HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 256 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $492(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $175_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAP32[($175_1 + 20 | 0) >> 2] = (HEAP32[($175_1 + 20 | 0) >> 2] | 0) + 1 | 0; + $181_1 = $291(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] = $181_1; + HEAP8[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 89 | 0) >> 0] = 0; + label$15 : { + label$16 : { + if (!((HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) == (19 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($5_1 + 92 | 0) >> 2] = 1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, 35825 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + break label$15; + } + label$17 : { + if (HEAP32[($5_1 + 92 | 0) >> 2] | 0) { + break label$17 + } + $200_1 = $493(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] = $200_1; + label$18 : { + label$19 : { + if ((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$19 + } + HEAP32[($5_1 + 92 | 0) >> 2] = 7; + break label$18; + } + label$20 : { + if (!((HEAPU8[((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 76 | 0) >> 0] | 0) & 255 | 0)) { + break label$20 + } + if (!(((HEAPU8[((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 77 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 78 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, 8497 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 92 | 0) >> 2] = 1; + } + } + $127(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $9(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $1453(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 83 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + $1451(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $1451(HEAP32[((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, -1 | 0) | 0 | 0) | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $380$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $381$hi = i64toi32_i32$1; + i64toi32_i32$1 = $380$hi; + i64toi32_i32$1 = $381$hi; + i64toi32_i32$1 = $380$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $381$hi; + i64toi32_i32$3 = 56; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $382$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $383$hi = i64toi32_i32$0; + i64toi32_i32$0 = $382$hi; + i64toi32_i32$0 = $383$hi; + i64toi32_i32$0 = $382$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $383$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $1047(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | i64toi32_i32$3 | 0 | 0) | 0; + } + } + HEAP8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 0] = 3; + label$21 : { + if (HEAP32[($5_1 + 92 | 0) >> 2] | 0) { + break label$21 + } + if (!((HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($5_1 + 92 | 0) >> 2] = 7; + } + $497(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + label$22 : { + if (HEAP32[($5_1 + 92 | 0) >> 2] | 0) { + break label$22 + } + $8(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 164 | 0) >> 0] = 0; + $275_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAP32[($275_1 + 24 | 0) >> 2] = (HEAP32[($275_1 + 24 | 0) >> 2] | 0) & -17 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $501(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, $5_1 + 56 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + } + label$23 : { + if (!(HEAP32[($5_1 + 92 | 0) >> 2] | 0)) { + break label$23 + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0; + label$24 : { + if (!((HEAP32[(((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 44 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + $299_1 = 0; + $207(HEAP32[(((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 44 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 44 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] = $299_1; + HEAP32[(((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 44 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] = $299_1; + } + $141(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + label$25 : { + label$26 : { + label$27 : { + if ((HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0) { + break label$27 + } + if (!((HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) == (3082 | 0) & 1 | 0)) { + break label$26 + } + } + $118(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0); + $13(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, 8229 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + break label$25; + } + label$28 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$28 + } + $350_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $351($350_1 | 0, 35854 | 0, $5_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + } + break label$4; + } + break label$3; + } + label$29 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$29 + } + $263(HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, -1 | 0); + $13(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + } + if (!(HEAP32[($5_1 + 92 | 0) >> 2] | 0)) { + break label$3 + } + $284(HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 112 | 0; + return; + } + + function $1846($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (59 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1404(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + HEAP8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] = 115; + } + } + $27_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $27_1 | 0; + } + + function $1847($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $119_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 208 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 204 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 200 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 196 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 196 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 180 | 0) >> 2] = $6_1; + label$1 : { + if (!((HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 192 | 0) >> 2] = 1352; + } + HEAP32[($5_1 + 184 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 188 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 180 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 188 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 184 | 0) >> 2] | 0) << 4 | 0) | 0; + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + label$6 : { + if (!($1133(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + break label$2; + } + } + HEAP32[($5_1 + 184 | 0) >> 2] = (HEAP32[($5_1 + 184 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$7 : { + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 188 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 192 | 0) >> 2] | 0; + $81(128 | 0, $5_1 + 48 | 0 | 0, 36078 | 0, $5_1 | 0) | 0; + break label$8; + } + label$10 : { + if (!((HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 192 | 0) >> 2] | 0; + $81(128 | 0, $5_1 + 48 | 0 | 0, 36099 | 0, $5_1 + 16 | 0 | 0) | 0; + break label$8; + } + label$11 : { + label$12 : { + if ($125(HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$12 + } + if (!($1848(HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + } + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 192 | 0) >> 2] | 0; + $81(128 | 0, $5_1 + 48 | 0 | 0, 36125 | 0, $5_1 + 32 | 0 | 0) | 0; + break label$8; + } + HEAP32[($5_1 + 176 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 188 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($5_1 + 176 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 176 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$15 : { + if (!((HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 176 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 176 | 0) >> 2] | 0) >> 2] | 0; + continue label$14; + }; + } + $119_1 = 0; + $207(HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] = $119_1; + HEAP32[((HEAP32[($5_1 + 180 | 0) >> 2] | 0) + 12 | 0) >> 2] = $119_1; + $172(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0); + break label$7; + } + $263(HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0, $5_1 + 48 | 0 | 0, -1 | 0); + } + global$0 = $5_1 + 208 | 0; + return; + } + + function $1848($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function $1849($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0, $53_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < ((HEAPU16[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $31_1 = 16; + label$4 : { + if (!((((HEAPU16[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) << $31_1 | 0) >> $31_1 | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((0 | 0) == ($88(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $53_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $53_1 | 0; + } + + function $1850($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $51_1 = 0, $94_1 = 0, $65_1 = 0, $67_1 = 0, $68_1 = 0, $117_1 = 0, $119_1 = 0, $120_1 = 0, $121_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 96 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 92 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1275(HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 40 | 0) >> 2] = 1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 88 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[(36208 + ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + HEAP8[(($7_1 + 45 | 0) + (HEAP32[($7_1 + 72 | 0) >> 2] | 0) | 0) >> 0] = 0; + $51_1 = $361(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $51_1; + label$5 : { + label$6 : { + if (!(($51_1 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$7 + } + $65_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + $67_1 = HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] | 0; + $68_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((36208 + ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = $68_1; + HEAP32[$7_1 >> 2] = $67_1; + $1302($65_1 | 0, 36271 | 0, $7_1 | 0); + HEAP32[(($7_1 + 48 | 0) + ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0; + HEAP8[(($7_1 + 45 | 0) + (HEAP32[($7_1 + 72 | 0) >> 2] | 0) | 0) >> 0] = 16; + } + break label$5; + } + $94_1 = $7_1 + 48 | 0; + HEAP32[($94_1 + ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $1393(HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($94_1 + ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + label$8 : { + label$9 : { + if (!((HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $117_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + $119_1 = HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] | 0; + $120_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $121_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = $121_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $120_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $119_1; + $1302($117_1 | 0, 31411 | 0, $7_1 + 16 | 0 | 0); + break label$8; + } + $366(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, 138 | 0, HEAP32[(($7_1 + 48 | 0) + ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) | 0; + } + } + HEAP32[($7_1 + 72 | 0) >> 2] = (HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($7_1 + 72 | 0) >> 2] = 0; + label$10 : while (1) { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$1 + } + $353(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, 97 | 0, (HEAP32[($7_1 + 84 | 0) >> 2] | 0) + (HEAP32[($7_1 + 72 | 0) >> 2] | 0) | 0 | 0, HEAP32[(($7_1 + 48 | 0) + ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 3 | 0) | 0; + $354(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, ((HEAPU8[(($7_1 + 45 | 0) + (HEAP32[($7_1 + 72 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 65535 | 0 | 0); + HEAP32[($7_1 + 72 | 0) >> 2] = (HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + global$0 = $7_1 + 96 | 0; + return; + } + + function $1851($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $233_1 = 0, $234_1 = 0, $13_1 = 0, $16_1 = 0, $19_1 = 0, $22_1 = 0, $25_1 = 0, $28_1 = 0, $31_1 = 0, $34_1 = 0, $37_1 = 0, $51_1 = 0, $104_1 = 0, $107_1 = 0, $120_1 = 0, $29_1 = 0, $30_1 = 0, $208_1 = 0, $228_1 = 0, $460_1 = 0, $497_1 = 0, i64toi32_i32$0 = 0, $365_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 144 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 132 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 128 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 124 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 120 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 116 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 140 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 92 | 0) >> 2] = -1; + HEAP8[($8_1 + 87 | 0) >> 0] = 1; + $13_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $13_1 + 1 | 0; + HEAP32[($8_1 + 80 | 0) >> 2] = $13_1; + $16_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $16_1 + 1 | 0; + HEAP32[($8_1 + 76 | 0) >> 2] = $16_1; + $19_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $19_1 + 1 | 0; + HEAP32[($8_1 + 72 | 0) >> 2] = $19_1; + $22_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $22_1 + 1 | 0; + HEAP32[($8_1 + 68 | 0) >> 2] = $22_1; + $25_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $25_1 + 1 | 0; + HEAP32[($8_1 + 64 | 0) >> 2] = $25_1; + $28_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $28_1 + 1 | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = $28_1; + $31_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $31_1 + 1 | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = $31_1; + $34_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $34_1 + 1 | 0; + HEAP32[($8_1 + 52 | 0) >> 2] = $34_1; + $37_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $37_1 + 1 | 0; + HEAP32[($8_1 + 48 | 0) >> 2] = $37_1; + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) > (HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $51_1 = HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + break label$1; + } + $51_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 44 | 0) >> 2] = $51_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1275(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + } + break label$3; + } + label$6 : { + if (HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$6 + } + break label$3; + } + label$7 : { + if ($399(36294 | 0, HEAP32[(HEAP32[($8_1 + 136 | 0) >> 2] | 0) >> 2] | 0 | 0, 92 | 0) | 0) { + break label$7 + } + break label$3; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $350(HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!($1283(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, 28 | 0, HEAP32[(HEAP32[($8_1 + 136 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 88 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + break label$3; + } + $1393(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 & 255 | 0 | 0, HEAP32[(HEAP32[($8_1 + 136 | 0) >> 2] | 0) >> 2] | 0 | 0); + $104_1 = HEAP32[($8_1 + 120 | 0) >> 2] | 0; + HEAP32[($8_1 + 120 | 0) >> 2] = $104_1 + 1 | 0; + HEAP32[($8_1 + 104 | 0) >> 2] = $104_1; + $107_1 = HEAP32[($8_1 + 120 | 0) >> 2] | 0; + HEAP32[($8_1 + 120 | 0) >> 2] = $107_1 + 1 | 0; + HEAP32[($8_1 + 108 | 0) >> 2] = $107_1; + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) > (HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $120_1 = HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$9; + } + $120_1 = HEAP32[($8_1 + 120 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] = $120_1; + $1462(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0, 96 | 0); + $1463(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($8_1 + 136 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + label$14 : { + if (!((HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + break label$13; + } + label$15 : { + if (!((HEAP32[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP8[($8_1 + 87 | 0) >> 0] = 0; + } + label$16 : { + label$17 : { + if (!((HEAP32[((HEAP32[($8_1 + 136 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$17 + } + $29_1 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + if (!((((HEAPU8[($29_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($29_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) & 3 | 0) & 65535 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($8_1 + 40 | 0) >> 2] = (HEAPU16[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 136 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 40 | 0) >> 2] | 0) - 1 | 0; + break label$16; + } + HEAP32[($8_1 + 40 | 0) >> 2] = HEAPU16[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 52 | 0) >> 1] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 112 | 0) >> 2] | 0) >> 2] | 0; + $30_1 = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!((((HEAPU8[($30_1 + 55 | 0) >> 0] | 0 | ((HEAPU8[($30_1 + 56 | 0) >> 0] | 0) << 8 | 0) | 0) >>> 3 | 0) & 1 | 0) & 65535 | 0)) { + break label$19 + } + $208_1 = ((HEAPU16[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0) - 1 | 0; + break label$18; + } + $208_1 = (HEAP32[($8_1 + 40 | 0) >> 2] | 0) - 1 | 0; + } + HEAP32[($8_1 + 24 | 0) >> 2] = $208_1; + } + $1463(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0; + label$20 : { + label$21 : { + if (!((HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) > ((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + (HEAP32[($8_1 + 24 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$21 + } + $228_1 = HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + break label$20; + } + $228_1 = (HEAP32[($8_1 + 44 | 0) >> 2] | 0) + (HEAP32[($8_1 + 24 | 0) >> 2] | 0) | 0; + } + $233_1 = 0; + $234_1 = 69; + HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 44 | 0) >> 2] = $228_1; + $367(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 96 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) | 0; + $1405(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0); + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, $234_1 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, $234_1 | 0, (HEAPU16[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 37 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $367(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 92 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, $234_1 | 0, HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 448 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0) | 0; + $1514(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, $233_1 | 0, (HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, 4 | 0, 36304 | 0, $233_1 | 0) | 0; + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, $234_1 | 0, $233_1 | 0, HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1296(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) > ($233_1 | 0) & 1 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1358(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $365(HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$23 + } + break label$13; + } + $1276(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 11 | 0) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1296(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$24 + } + if (!(((HEAPU16[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 50 | 0) >> 1] | 0) & 65535 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$24 + } + if (!((HEAPU8[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 54 | 0) >> 0] | 0) & 255 | 0)) { + break label$24 + } + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 51 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($8_1 + 96 | 0) >> 2] = 0; + label$25 : { + label$26 : while (1) { + if (!((HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1326(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 96 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 69 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) | 0; + $365_1 = $1278(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 52 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($8_1 + 44 | 0) >> 2] | 0) + (HEAP32[($8_1 + 96 | 0) >> 2] | 0) | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, -2 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 96 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $365_1; + $354(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 128 & 65535 | 0 | 0); + HEAP32[($8_1 + 96 | 0) >> 2] = (HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 1 | 0; + continue label$26; + }; + } + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 69 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) | 0; + $1282(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 32 | 0) >> 2] | 0) - 1 | 0 | 0); + HEAP32[($8_1 + 96 | 0) >> 2] = 0; + label$27 : { + label$28 : while (1) { + if (!((HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + $1277(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 96 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + $367(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 89 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 44 | 0) >> 2] | 0) + (HEAP32[($8_1 + 96 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($8_1 + 96 | 0) >> 2] = (HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + $1369(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0); + $13(HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0); + } + $1514(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, 2 | 0, 36344 | 0, 0 | 0) | 0; + label$29 : { + label$30 : { + if (!(HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 448 | 0) >> 2] | 0)) { + break label$30 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 50 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 18 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $353(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 25 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $1277(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0); + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) | 0; + $1277(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0); + $1277(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[$8_1 >> 2] | 0 | 0); + break label$29; + } + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + $460_1 = 0; + $1853(HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, $460_1 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0); + $1278(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, 3 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, 36384 | 0, $460_1 | 0) | 0; + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($8_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($8_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 8 & 65535 | 0 | 0); + $1277(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0); + } + HEAP32[($8_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$12; + }; + } + if (!((HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAPU8[($8_1 + 87 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + $497_1 = 0; + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 92 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $1288(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 20 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 72 | 0, $497_1 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) | 0; + $1278(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 91 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, 3 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, 36384 | 0, $497_1 | 0) | 0; + $366(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 121 | 0, HEAP32[($8_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) | 0; + $367(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 122 | 0, HEAP32[($8_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) | 0; + $354(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, 8 & 65535 | 0 | 0); + $1277(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0); + } + global$0 = $8_1 + 144 | 0; + return; + } + + function $1852($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $1275(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1288(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 143 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1853($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $1514(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $7_1 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, 1 | 0, 36408 | 0, $7_1 | 0) | 0; + global$0 = $6_1 + 16 | 0; + return; + } + + function $1854($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) & -2 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 16 | 0) >> 2] = (((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) + 36 | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $308(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + i64toi32_i32$1 = $62(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 0] = 0; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 36 | 0; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0; + $254(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, 36 | 0, 76 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1855($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $13(HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1856($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $46_1 = 0, $68_1 = 0, $81_1 = 0, $104_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $46_1 = (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$46_1 >> 2] = (HEAP32[$46_1 >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $68_1 = (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$68_1 >> 2] = (HEAP32[$68_1 >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + } + $81_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($81_1 + 8 | 0) >> 2] = (HEAP32[($81_1 + 8 | 0) >> 2] | 0) + 1 | 0; + label$9 : { + if (!(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$9 + } + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 > Math_imul(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0) + 1 | 0) >>> 0 & 1 | 0)) { + break label$9 + } + $104_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP8[($104_1 + 24 | 0) >> 0] = (HEAPU8[($104_1 + 24 | 0) >> 0] | 0) + 1 | 0; + $267(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1857($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $84_1 = 0, $84$hi = 0, $88$hi = 0, $89$hi = 0, $90$hi = 0, $91$hi = 0, $92$hi = 0, $93$hi = 0, $25_1 = 0, $246_1 = 0, $254_1 = 0, $257_1 = 0, $66_1 = 0, $263_1 = 0, $70_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = Math_imul((HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 1 | 0, 25); + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $114(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $286(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + break label$1; + } + $25_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAPU8[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $84_1 = HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $84$hi = i64toi32_i32$0; + break label$3; + } + i64toi32_i32$0 = 0; + $84_1 = HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $84$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $84$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $84_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + $81(24 | 0, $25_1 | 0, 36457 | 0, $5_1 + 16 | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + ($68(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $88$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $89$hi = i64toi32_i32$1; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$1 = $89$hi; + $246_1 = i64toi32_i32$0; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$3 = $246_1; + i64toi32_i32$4 = (HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $90$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $91$hi = i64toi32_i32$5; + i64toi32_i32$5 = $90$hi; + i64toi32_i32$5 = $91$hi; + i64toi32_i32$5 = $90$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) + $91$hi | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + $92$hi = i64toi32_i32$4; + i64toi32_i32$5 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $93$hi = i64toi32_i32$1; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$1 = $93$hi; + $254_1 = i64toi32_i32$4; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$4 = $93$hi; + i64toi32_i32$4 = __wasm_i64_udiv(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $254_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $257_1 = i64toi32_i32$4; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $257_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$1; + $66_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $263_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $263_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$4; + $81(24 | 0, $66_1 | 0, 36462 | 0, $5_1 | 0) | 0; + $70_1 = $68(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 60 | 0) >> 2] = (HEAP32[($5_1 + 60 | 0) >> 2] | 0) + $70_1 | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $277(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, -1 | 0, 3 | 0); + } + global$0 = $5_1 + 80 | 0; + return; + } + + function $1858($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $277(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $431() | 0 | 0, -1 | 0, 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1859($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $9_1 = $66(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[$5_1 >> 2] = $9_1; + label$1 : { + if (!(($9_1 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $267(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $534(HEAP32[$5_1 >> 2] | 0 | 0) | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1860($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $277(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $537(HEAP32[$5_1 >> 2] | 0 | 0) | 0 | 0, -1 | 0, 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1861($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7_1 = 0, $43_1 = 0, $62_1 = 0, $309$hi = 0, $310$hi = 0, $133_1 = 0, $192_1 = 0, $248_1 = 0, $99_1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!(($248(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + HEAP32[($5_1 + 28 | 0) >> 2] = 40110; + HEAP32[($5_1 + 24 | 0) >> 2] = 40112; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$4; + } + $43_1 = $66(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $43_1; + label$6 : { + if (!(($43_1 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!(((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + $62_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $62_1 + 1 | 0; + label$9 : { + if (!(((HEAPU8[$62_1 >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + label$11 : while (1) { + if (!((((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + label$12 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$12 + } + $99_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $309$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $310$hi = i64toi32_i32$0; + i64toi32_i32$0 = $309$hi; + i64toi32_i32$0 = $310$hi; + i64toi32_i32$0 = $309$hi; + $15_1 = i64toi32_i32$1; + i64toi32_i32$1 = $310$hi; + i64toi32_i32$1 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$0 | 0, 5 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1862($99_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!(((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $133_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $133_1 + 1 | 0; + label$16 : { + if (!(((HEAPU8[$133_1 >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + label$18 : while (1) { + if (!((((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + } + HEAP8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + } + } + label$19 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$19 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $302(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0) & 1 | 0)) { + break label$20 + } + label$21 : { + label$22 : while (1) { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$21 + } + $192_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $192_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $192_1; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + label$25 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + if ($3228(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$25 + } + break label$23; + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$24; + }; + } + label$26 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + break label$21; + } + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) - (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + continue label$22; + }; + } + } + label$27 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0) & 2 | 0)) { + break label$27 + } + label$28 : { + label$29 : while (1) { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$28 + } + $248_1 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $248_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $248_1; + label$30 : { + label$31 : while (1) { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + label$32 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$32 + } + if ($3228((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) - (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$32 + } + break label$30; + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$31; + }; + } + label$33 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$33 + } + break label$28; + } + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) - (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0; + continue label$29; + }; + } + } + label$34 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$34 + } + $42(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + } + $277(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, -1 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $1862($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $27$hi = 0, $28$hi = 0, i64toi32_i32$3 = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $27_1 = 0, $59_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = i64toi32_i32$1, wasm2js_i32$1 = $303(HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $27_1 = i64toi32_i32$0; + $27$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$1 = $28$hi; + $59_1 = i64toi32_i32$0; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$2 = $27_1; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$3 = $59_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + label$1 : { + label$2 : { + if (!($13_1 & 1 | 0)) { + break label$2 + } + $257(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $39(i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + $286(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + } + $24_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $24_1 | 0; + } + + function $1863($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($302(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) == ($7_1 | 0) & 1 | 0 ? $7_1 : -1), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1864(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 8 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!(($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!(($248(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + label$6 : { + if (!((($898(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0) ^ (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $280(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1864($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 1 | 0, 20) | 0; + return HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0; + } + + function $1865($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $81_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 40 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + label$3 : { + if (!(($248(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$4 + } + $1866(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + } + break label$1; + } + label$5 : { + label$6 : { + if (!(((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1864(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($302(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $898(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + label$9 : { + label$10 : { + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$10 + } + if ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$9 + } + } + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$8 + } + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + } + $281(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + break label$7; + } + $1866(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + } + break label$5; + } + $81_1 = $303(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = $81_1; + $281(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1866($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = -1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 0] = 1; + return; + } + + function $1867($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $1868(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1868($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $304(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!(((HEAPU16[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + $280(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + $227(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1869($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $1868(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1870($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($248(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) - 1 | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $277(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(72112 + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, -1 | 0, 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1871($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + $10_1 = ($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($10_1 | 0) { + case 0: + case 1: + case 3: + $267(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $233(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0); + break label$1; + case 2: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + $28_1 = HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0; + HEAP8[($5_1 + 11 | 0) >> 0] = $28_1; + if (!($28_1 & 255 | 0)) { + break label$6 + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + label$8 : { + if (!(((HEAPU8[($5_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + label$10 : while (1) { + if (!((((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + } + continue label$7; + }; + } + $267(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0); + break label$1; + default: + break label$2; + }; + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1872($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $137_1 = 0, $151_1 = 0, $175_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 1; + HEAP32[($5_1 + 12 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $248(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $248(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + break label$9; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $250(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + break label$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $250(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + break label$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + } + } + label$13 : { + label$14 : { + if ((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$14 + } + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$13 + } + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + } + break label$5; + } + HEAP8[($5_1 + 19 | 0) >> 0] = HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0; + label$15 : while (1) { + $137_1 = 0; + label$16 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $151_1 = 1; + label$17 : { + if (((HEAPU8[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + break label$17 + } + $151_1 = ($3228(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + $137_1 = $151_1; + } + label$18 : { + if (!($137_1 & 1 | 0)) { + break label$18 + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + label$19 : while (1) { + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 1 | 0; + $175_1 = 0; + label$20 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$20 + } + $175_1 = (((HEAPU8[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + if ($175_1 & 1 | 0) { + continue label$19 + } + break label$19; + }; + continue label$15; + } + break label$15; + }; + label$21 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + } + } + $267(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + break label$4; + } + $286(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + } + $253(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $253(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $1873($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $28_1 = 0, $18_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) >= (1 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $18_1; + if (!(($18_1 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $28_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 56 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $28_1; + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0; + $77($5_1 + 16 | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $28_1 | 0, $28_1 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0); + HEAP8[($5_1 + 37 | 0) >> 0] = 2; + $38_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $5_1 + 40 | 0; + $84($5_1 + 16 | 0 | 0, $38_1 | 0, $5_1 | 0); + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + $277(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $72($5_1 + 16 | 0 | 0) | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $1874($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAPU8[(HEAP32[$5_1 >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$1 + } + $267(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $398($5_1 | 0) | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1875($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $187$hi = 0, $192$hi = 0, $13_1 = 0, $190$hi = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $194$hi = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $197$hi = 0, $198$hi = 0, $52_1 = 0, $71_1 = 0, $81_1 = 0, $100_1 = 0, $112_1 = 0, $122_1 = 0, $134_1 = 0, $146_1 = 0, $158_1 = 0, $168_1 = 0, $275_1 = 0, $51_1 = 0, $70_1 = 0, $80_1 = 0, $99_1 = 0, $111_1 = 0, $121_1 = 0, $133_1 = 0, $145_1 = 0, $157_1 = 0, $167_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + i64toi32_i32$1 = ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) << 2 | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $13_1 = $41(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $13_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $13_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + $187$hi = i64toi32_i32$0; + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $275_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $275_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $190$hi = i64toi32_i32$0; + i64toi32_i32$0 = $187$hi; + i64toi32_i32$0 = $190$hi; + i64toi32_i32$0 = $187$hi; + i64toi32_i32$0 = $190$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $187$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $36_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $37_1 = 0 + } else { + $37_1 = 1 + } + $38_1 = $37_1; + } else { + $38_1 = 0 + } + $36_1 = $38_1; + } + label$5 : { + label$6 : { + if ($36_1 & 1 | 0) { + break label$6 + } + i64toi32_i32$2 = 0; + $192$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $194$hi = i64toi32_i32$0; + i64toi32_i32$0 = $192$hi; + i64toi32_i32$0 = $194$hi; + i64toi32_i32$0 = $192$hi; + i64toi32_i32$0 = $194$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $192$hi; + i64toi32_i32$1 = 1114111; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { + $39_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $40_1 = 0 + } else { + $40_1 = 1 + } + $41_1 = $40_1; + } else { + $41_1 = 0 + } + $39_1 = $41_1; + } + if (!($39_1 & 1 | 0)) { + break label$5 + } + } + i64toi32_i32$3 = 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 65533; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$3; + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $197$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $198$hi = i64toi32_i32$0; + i64toi32_i32$0 = $197$hi; + i64toi32_i32$0 = $198$hi; + i64toi32_i32$0 = $197$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $198$hi; + i64toi32_i32$2 = 2097151; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1 & i64toi32_i32$2 | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$8 + } + $51_1 = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 255 | 0; + $52_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $52_1 + 1 | 0; + HEAP8[$52_1 >> 0] = $51_1; + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 < 2048 >>> 0 & 1 | 0)) { + break label$10 + } + $70_1 = ((((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 6 | 0) & 31 | 0) & 255 | 0) + 192 | 0; + $71_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $71_1 + 1 | 0; + HEAP8[$71_1 >> 0] = $70_1; + $80_1 = (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $81_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $81_1 + 1 | 0; + HEAP8[$81_1 >> 0] = $80_1; + break label$9; + } + label$11 : { + label$12 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 < 65536 >>> 0 & 1 | 0)) { + break label$12 + } + $99_1 = ((((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 12 | 0) & 15 | 0) & 255 | 0) + 224 | 0; + $100_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $100_1 + 1 | 0; + HEAP8[$100_1 >> 0] = $99_1; + $111_1 = ((((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $112_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $112_1 + 1 | 0; + HEAP8[$112_1 >> 0] = $111_1; + $121_1 = (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $122_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $122_1 + 1 | 0; + HEAP8[$122_1 >> 0] = $121_1; + break label$11; + } + $133_1 = ((((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 18 | 0) & 7 | 0) & 255 | 0) + 240 | 0; + $134_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $134_1 + 1 | 0; + HEAP8[$134_1 >> 0] = $133_1; + $145_1 = ((((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 12 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $146_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $146_1 + 1 | 0; + HEAP8[$146_1 >> 0] = $145_1; + $157_1 = ((((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $158_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $158_1 + 1 | 0; + HEAP8[$158_1 >> 0] = $157_1; + $167_1 = (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $168_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $168_1 + 1 | 0; + HEAP8[$168_1 >> 0] = $167_1; + } + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + i64toi32_i32$1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) - (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$1 >> 31 | 0; + $278(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$3 | 0, 3 | 0, 1 & 255 | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1876($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$0 = 0, $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $34$hi = 0, $39$hi = 0, $10_1 = 0, $37$hi = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $41$hi = 0, $43$hi = 0, $44$hi = 0, $84_1 = 0, $117_1 = 0, $120_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + $10_1 = ($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($10_1 | 0) { + case 0: + i64toi32_i32$0 = 0; + $34$hi = i64toi32_i32$0; + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $84_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $84_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $37$hi = i64toi32_i32$0; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $19_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $20_1 = 0 + } else { + $20_1 = 1 + } + $21_1 = $20_1; + } else { + $21_1 = 0 + } + $19_1 = $21_1; + } + label$5 : { + if (!($19_1 & 1 | 0)) { + break label$5 + } + i64toi32_i32$2 = -2147483648; + $39$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $41$hi = i64toi32_i32$0; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $39$hi; + i64toi32_i32$1 = 0; + label$6 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$6 + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 40126 | 0, -1 | 0); + break label$1; + } + i64toi32_i32$3 = 0; + $43$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $44$hi = i64toi32_i32$0; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$0 = $44$hi; + $117_1 = i64toi32_i32$3; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = $44$hi; + i64toi32_i32$2 = $117_1; + i64toi32_i32$5 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $120_1 = i64toi32_i32$1 - i64toi32_i32$2 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $120_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $270(HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0); + break label$1; + case 4: + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$1; + default: + break label$2; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$7 : { + if (!(+HEAPF64[$5_1 >> 3] < +(0 | 0) & 1 | 0)) { + break label$7 + } + HEAPF64[$5_1 >> 3] = -+HEAPF64[$5_1 >> 3]; + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1877($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0.0, i64toi32_i32$1 = 0, $105_1 = 0.0, $10_1 = 0, $11_1 = 0, $91_1 = 0, $91$hi = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((5 | 0) == ($248(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) > (30 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 32 | 0) >> 2] = 30; + } + label$5 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + } + } + label$6 : { + if (!(($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$6 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 24 | 0) >> 3] = wasm2js_f64$0; + label$7 : { + label$8 : { + label$9 : { + if (+HEAPF64[($5_1 + 24 | 0) >> 3] < -4503599627370496.0 & 1 | 0) { + break label$9 + } + if (!(+HEAPF64[($5_1 + 24 | 0) >> 3] > 4503599627370496.0 & 1 | 0)) { + break label$8 + } + } + break label$7; + } + label$10 : { + label$11 : { + if (HEAP32[($5_1 + 32 | 0) >> 2] | 0) { + break label$11 + } + $105_1 = +HEAPF64[($5_1 + 24 | 0) >> 3] + (+HEAPF64[($5_1 + 24 | 0) >> 3] < +(0 | 0) & 1 | 0 ? -.5 : .5); + label$12 : { + label$13 : { + if (!(Math_abs($105_1) < 9223372036854775808.0)) { + break label$13 + } + i64toi32_i32$0 = $105_1; + if (Math_abs(i64toi32_i32$0) >= 1.0) { + if (i64toi32_i32$0 > 0.0) { + $10_1 = ~~Math_min(Math_floor(i64toi32_i32$0 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $10_1 = ~~Math_ceil((i64toi32_i32$0 - +(~~i64toi32_i32$0 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $11_1 = $10_1; + } else { + $11_1 = 0 + } + i64toi32_i32$1 = $11_1; + $91_1 = ~~i64toi32_i32$0 >>> 0; + $91$hi = i64toi32_i32$1; + break label$12; + } + i64toi32_i32$1 = -2147483648; + $91_1 = 0; + $91$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $91$hi; + HEAPF64[($5_1 + 24 | 0) >> 3] = +($91_1 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0); + break label$10; + } + $66_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAPF64[($5_1 + 8 | 0) >> 3] = +HEAPF64[($5_1 + 24 | 0) >> 3]; + HEAP32[$5_1 >> 2] = $66_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(40143 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$1; + } + $344(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $5_1 + 24 | 0 | 0, $68(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0, 1 & 255 | 0 | 0) | 0; + $42(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + } + $260(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, +(+HEAPF64[($5_1 + 24 | 0) >> 3])); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1878($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $71$hi = 0, $72$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $42_1 = 0, $19_1 = 0, $20_1 = 0, i64toi32_i32$2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $19_1 = 0; + $20_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $71$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $72$hi = i64toi32_i32$0; + i64toi32_i32$0 = $71$hi; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$0 = $71$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1862($20_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != ($19_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $42_1 = 24; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] = (((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0) & ((((HEAPU8[(((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 32 | 0) ^ -1 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $277(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 3 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1879($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $57$hi = 0, $58$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $19_1 = 0, $20_1 = 0, i64toi32_i32$2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $19_1 = 0; + $20_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $57$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $58$hi = i64toi32_i32$0; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1862($20_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != ($19_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[(((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $277(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 3 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1880($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $69$hi = 0, $70$hi = 0, $21_1 = 0, $71$hi = 0, $72$hi = 0, $16_1 = 0, $41_1 = 0, $50_1 = 0, $6_1 = 0, $13_1 = 0, $40_1 = 0, $49_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $13_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $69$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $70$hi = i64toi32_i32$0; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $70$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $21_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $21_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $71$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$0 = $21_1; + i64toi32_i32$2 = $72$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $16_1 = $1862($13_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $16_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $16_1; + label$1 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($5_1 + 15 | 0) >> 0] = HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0; + $40_1 = HEAPU8[(((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0) >> 4 | 0) & 15 | 0) + 40160 | 0) >> 0] | 0; + $41_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $41_1 + 1 | 0; + HEAP8[$41_1 >> 0] = $40_1; + $49_1 = HEAPU8[((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0) & 15 | 0) + 40160 | 0) >> 0] | 0; + $50_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $50_1 + 1 | 0; + HEAP8[$50_1 >> 0] = $49_1; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] = 0; + $277(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 1 | 0 | 0, 3 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1881($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $16$hi = 0, $18$hi = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $20$hi = 0, $21$hi = 0, $22$hi = 0, $23$hi = 0, $61_1 = 0, $64_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + $16$hi = i64toi32_i32$0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + $85(8 | 0, $5_1 + 8 | 0 | 0); + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $18$hi = i64toi32_i32$1; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $17_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $18_1 = 0 + } else { + $18_1 = 1 + } + $19_1 = $18_1; + } else { + $19_1 = 0 + } + $17_1 = $19_1; + } + label$1 : { + if (!($17_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = 0; + $20$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $21$hi = i64toi32_i32$1; + i64toi32_i32$1 = 2147483647; + $22$hi = i64toi32_i32$1; + i64toi32_i32$1 = $21$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $21$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $22$hi; + i64toi32_i32$0 = -1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $23$hi = i64toi32_i32$2; + i64toi32_i32$2 = $20$hi; + i64toi32_i32$2 = $23$hi; + $61_1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + i64toi32_i32$2 = $20$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = $23$hi; + i64toi32_i32$0 = $61_1; + i64toi32_i32$5 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $64_1 = i64toi32_i32$1 - i64toi32_i32$0 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $64_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0); + global$0 = $5_1 + 32 | 0; + return; + } + + function $1882($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $28$hi = 0, i64toi32_i32$3 = 0, $31$hi = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + $28$hi = i64toi32_i32$0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $55_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $55_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $31$hi = i64toi32_i32$0; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$3 = 1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $11_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $12_1 = 0 + } else { + $12_1 = 1 + } + $13_1 = $12_1; + } else { + $13_1 = 0 + } + $11_1 = $13_1; + } + label$1 : { + if (!($11_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = 1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1862(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $85(i64toi32_i32$0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $254(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, 3 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1883($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1864(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!($898(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0)) { + break label$1 + } + $280(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1884($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $277(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $538() | 0 | 0, -1 | 0, 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1885($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $8_1 = $239(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $82($8_1 | 0, 1976 | 0, $5_1 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1886($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $39_1 = 0, $47_1 = 0, $249$hi = 0, $250$hi = 0, $40_1 = 0, $251$hi = 0, $252$hi = 0, $76_1 = 0, $95_1 = 0, $111_1 = 0, $112_1 = 0, $255$hi = 0, $256$hi = 0, $258$hi = 0, $259$hi = 0, $260$hi = 0, $261$hi = 0, $205_1 = 0, $222_1 = 0, $233_1 = 0, $54_1 = 0, $172_1 = 0, $173_1 = 0, $258_1 = 0, $661_1 = 0, $203_1 = 0, $204_1 = 0, $221_1 = 0, $232_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 160 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 156 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 152 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 148 | 0) >> 2] = $2_1; + $10_1 = ($248(HEAP32[(HEAP32[($5_1 + 148 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($10_1 | 0) { + case 1: + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 148 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 136 | 0) >> 3] = wasm2js_f64$0; + HEAPF64[($5_1 + 16 | 0) >> 3] = +HEAPF64[($5_1 + 136 | 0) >> 3]; + $81(50 | 0, $5_1 + 64 | 0 | 0, 5120 | 0, $5_1 + 16 | 0 | 0) | 0; + $344($5_1 + 64 | 0 | 0, $5_1 + 128 | 0 | 0, 20 | 0, 1 & 255 | 0 | 0) | 0; + label$7 : { + if (!(+HEAPF64[($5_1 + 136 | 0) >> 3] != +HEAPF64[($5_1 + 128 | 0) >> 3] & 1 | 0)) { + break label$7 + } + HEAPF64[$5_1 >> 3] = +HEAPF64[($5_1 + 136 | 0) >> 3]; + $81(50 | 0, $5_1 + 64 | 0 | 0, 40176 | 0, $5_1 | 0) | 0; + } + $39_1 = -1; + $277(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, $5_1 + 64 | 0 | 0, $39_1 | 0, $39_1 | 0); + break label$1; + case 0: + $280(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 148 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 3: + $47_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $47_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[(HEAP32[($5_1 + 148 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 148 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + $54_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $249$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $250$hi = i64toi32_i32$0; + i64toi32_i32$0 = $249$hi; + i64toi32_i32$0 = $250$hi; + i64toi32_i32$0 = $249$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $250$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $40_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $40_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $251$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $252$hi = i64toi32_i32$1; + i64toi32_i32$1 = $251$hi; + i64toi32_i32$1 = $252$hi; + i64toi32_i32$1 = $251$hi; + i64toi32_i32$0 = $40_1; + i64toi32_i32$2 = $252$hi; + i64toi32_i32$3 = 4; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1862($54_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) != ($47_1 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 48 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $76_1 = 24; + HEAP8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 48 | 0) >> 2] | 0) << 1 | 0) + 2 | 0) | 0) >> 0] = HEAPU8[((((((HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + (HEAP32[($5_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) << $76_1 | 0) >> $76_1 | 0) >> 4 | 0) & 15 | 0) + 40160 | 0) >> 0] | 0; + $95_1 = 24; + HEAP8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 48 | 0) >> 2] | 0) << 1 | 0) + 3 | 0) | 0) >> 0] = HEAPU8[(((((HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + (HEAP32[($5_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) << $95_1 | 0) >> $95_1 | 0) & 15 | 0) + 40160 | 0) >> 0] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + $111_1 = -1; + $112_1 = 39; + HEAP8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 52 | 0) >> 2] | 0) << 1 | 0) + 2 | 0) | 0) >> 0] = $112_1; + HEAP8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 52 | 0) >> 2] | 0) << 1 | 0) + 3 | 0) | 0) >> 0] = 0; + HEAP8[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 0] = 88; + HEAP8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 1 | 0) >> 0] = $112_1; + $277(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $111_1 | 0, $111_1 | 0); + $42(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + } + break label$1; + case 2: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 148 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + break label$1; + } + i64toi32_i32$5 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$5; + label$12 : { + label$13 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$12 + } + label$14 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (39 | 0) & 1 | 0)) { + break label$14 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $255$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $256$hi = i64toi32_i32$0; + i64toi32_i32$0 = $255$hi; + i64toi32_i32$0 = $256$hi; + i64toi32_i32$0 = $255$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $256$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$4; + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + $172_1 = 0; + $173_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $258_1 = i64toi32_i32$1; + $258$hi = i64toi32_i32$4; + i64toi32_i32$0 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $259$hi = i64toi32_i32$1; + i64toi32_i32$1 = $258$hi; + i64toi32_i32$1 = $259$hi; + $661_1 = i64toi32_i32$4; + i64toi32_i32$1 = $258$hi; + i64toi32_i32$0 = $258_1; + i64toi32_i32$4 = $259$hi; + i64toi32_i32$3 = $661_1; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $260$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $261$hi = i64toi32_i32$2; + i64toi32_i32$2 = $260$hi; + i64toi32_i32$2 = $261$hi; + i64toi32_i32$2 = $260$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$0 = $261$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1862($173_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != ($172_1 | 0) & 1 | 0)) { + break label$15 + } + HEAP8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] = 39; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = 1; + label$16 : { + label$17 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$16 + } + $203_1 = HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0; + $204_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $205_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $205_1 + 1 | 0; + HEAP8[($204_1 + $205_1 | 0) >> 0] = $203_1; + label$18 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (39 | 0) & 1 | 0)) { + break label$18 + } + $221_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $222_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $222_1 + 1 | 0; + HEAP8[($221_1 + $222_1 | 0) >> 0] = 39; + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + $232_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $233_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $233_1 + 1 | 0; + HEAP8[($232_1 + $233_1 | 0) >> 0] = 39; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 40 | 0) >> 2] | 0) | 0) >> 0] = 0; + $277(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 3 | 0); + } + break label$1; + default: + break label$2; + }; + } + $277(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 1353 | 0, 4 | 0, 0 | 0); + } + global$0 = $5_1 + 160 | 0; + return; + } + + function $1887($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $8_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = $451(HEAP32[$5_1 >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $270($8_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1888($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $267(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $453(HEAP32[$5_1 >> 2] | 0 | 0) | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1889($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $267(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $454(HEAP32[$5_1 >> 2] | 0 | 0) | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1890($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$6 = 0, $67_1 = 0, $198$hi = 0, $199$hi = 0, $104_1 = 0, $193$hi = 0, $196$hi = 0, $197$hi = 0, $35_1 = 0, $36_1 = 0, $37_1 = 0, $203$hi = 0, $204$hi = 0, $205$hi = 0, $206$hi = 0, $207$hi = 0, $208$hi = 0, $336_1 = 0, $102_1 = 0, $103_1 = 0, $193_1 = 0, $481$hi = 0, $501_1 = 0, $135_1 = 0, $137_1 = 0, $203_1 = 0, $204_1 = 0, $553_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if ((HEAPU8[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + $280(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $336_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $336_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1862(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + break label$1; + } + $67_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) - (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $67_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $67_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $67_1; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) <= (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + label$10 : { + label$11 : { + if (((HEAPU8[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + break label$11 + } + if (!($3228((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$10 + } + } + $102_1 = HEAPU8[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0; + $103_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $104_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $104_1 + 1 | 0; + HEAP8[($103_1 + $104_1 | 0) >> 0] = $102_1; + break label$9; + } + label$12 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$0 = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) - (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $193_1 = i64toi32_i32$0; + $193$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $481$hi = i64toi32_i32$0; + i64toi32_i32$0 = $193$hi; + i64toi32_i32$0 = $481$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $193$hi; + i64toi32_i32$3 = $193_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $196$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $197$hi = i64toi32_i32$2; + i64toi32_i32$2 = $196$hi; + i64toi32_i32$2 = $197$hi; + i64toi32_i32$2 = $196$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $197$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $198$hi = i64toi32_i32$4; + i64toi32_i32$0 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $199$hi = i64toi32_i32$4; + i64toi32_i32$4 = $198$hi; + i64toi32_i32$4 = $199$hi; + i64toi32_i32$4 = $198$hi; + i64toi32_i32$4 = $199$hi; + $501_1 = i64toi32_i32$0; + i64toi32_i32$4 = $198$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = $199$hi; + i64toi32_i32$3 = $501_1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$0 | 0)) { + $35_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $36_1 = 0 + } else { + $36_1 = 1 + } + $37_1 = $36_1; + } else { + $37_1 = 0 + } + $35_1 = $37_1; + } + label$13 : { + if (!($35_1 & 1 | 0)) { + break label$13 + } + $257(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + $42(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + label$14 : { + if ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) & ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) - 1 | 0) | 0) { + break label$14 + } + $135_1 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $137_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 >> 31 | 0; + $203_1 = i64toi32_i32$2; + $203$hi = i64toi32_i32$4; + i64toi32_i32$3 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $204_1 = i64toi32_i32$4; + $204$hi = i64toi32_i32$2; + i64toi32_i32$4 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $205$hi = i64toi32_i32$2; + i64toi32_i32$2 = $204$hi; + i64toi32_i32$2 = $205$hi; + $553_1 = i64toi32_i32$4; + i64toi32_i32$2 = $204$hi; + i64toi32_i32$3 = $204_1; + i64toi32_i32$4 = $205$hi; + i64toi32_i32$0 = $553_1; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + $206$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $207$hi = i64toi32_i32$1; + i64toi32_i32$1 = $206$hi; + i64toi32_i32$1 = $207$hi; + i64toi32_i32$1 = $206$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$3 = $207$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $208$hi = i64toi32_i32$5; + i64toi32_i32$5 = $203$hi; + i64toi32_i32$5 = $208$hi; + i64toi32_i32$5 = $203$hi; + i64toi32_i32$1 = $203_1; + i64toi32_i32$2 = $208$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $45($137_1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == ($135_1 | 0) & 1 | 0)) { + break label$15 + } + $286(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + $42(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + } + } + $3288((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 40 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 44 | 0) >> 2] | 0) - 1 | 0) | 0; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + $3288((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 64 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 48 | 0) >> 2] | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 48 | 0) >> 2] | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) | 0; + HEAP8[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] = 0; + $277(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 3 | 0); + } + global$0 = $5_1 + 80 | 0; + return; + } + + function $1891($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$0 = 0, $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $18$hi = 0, $21$hi = 0, i64toi32_i32$3 = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $43_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + $18$hi = i64toi32_i32$0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $43_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $43_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $21$hi = i64toi32_i32$0; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $11_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $12_1 = 0 + } else { + $12_1 = 1 + } + $13_1 = $12_1; + } else { + $13_1 = 0 + } + $11_1 = $13_1; + } + label$1 : { + if (!($11_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $283(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$2 + } + $284(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1892($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$6 = 0, $264$hi = 0, $268$hi = 0, $277$hi = 0, $281$hi = 0, $288$hi = 0, $297$hi = 0, $304$hi = 0, $311$hi = 0, $322$hi = 0, $329$hi = 0, $339$hi = 0, $340$hi = 0, $343$hi = 0, $266$hi = 0, $80_1 = 0, $81_1 = 0, $82_1 = 0, $85_1 = 0, $271$hi = 0, $83_1 = 0, $84_1 = 0, $86_1 = 0, $273$hi = 0, $274$hi = 0, $279$hi = 0, $87_1 = 0, $88_1 = 0, $89_1 = 0, $282$hi = 0, $286$hi = 0, $90_1 = 0, $91_1 = 0, $92_1 = 0, $289$hi = 0, $293$hi = 0, $93_1 = 0, $94_1 = 0, $95_1 = 0, $299$hi = 0, $96_1 = 0, $97_1 = 0, $98_1 = 0, $301$hi = 0, $302$hi = 0, $306$hi = 0, $99_1 = 0, $100_1 = 0, $101_1 = 0, $308$hi = 0, $309$hi = 0, $312$hi = 0, $316$hi = 0, $102_1 = 0, $103_1 = 0, $104_1 = 0, $319$hi = 0, $166_1 = 0, $324$hi = 0, $172_1 = 0, $326$hi = 0, $327$hi = 0, $204_1 = 0, $331$hi = 0, $210_1 = 0, $333$hi = 0, $334$hi = 0, $337$hi = 0, $338$hi = 0, $105_1 = 0, $106_1 = 0, $107_1 = 0, $344$hi = 0, $345$hi = 0, $348$hi = 0, $108_1 = 0, $109_1 = 0, $110_1 = 0, $427_1 = 0, $602_1 = 0, $618_1 = 0, $634_1 = 0, $281_1 = 0, $282_1 = 0, $654$hi = 0, $288_1 = 0, $289_1 = 0, $675$hi = 0, $312_1 = 0, $742$hi = 0, $318_1 = 0, $318$hi = 0, $319_1 = 0, $763$hi = 0, $337_1 = 0, $973_1 = 0, $983_1 = 0, $344_1 = 0, $998_1 = 0, $260_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : { + if (($248(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$2 + } + if (!(($248(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $248(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $427_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $427_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + break label$1; + } + break label$4; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$1; + } + i64toi32_i32$0 = 0; + $264$hi = i64toi32_i32$0; + HEAP32[($5_1 + 40 | 0) >> 2] = 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $266$hi = i64toi32_i32$1; + i64toi32_i32$1 = $264$hi; + i64toi32_i32$1 = $266$hi; + i64toi32_i32$1 = $264$hi; + i64toi32_i32$1 = $266$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $264$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $80_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $81_1 = 0 + } else { + $81_1 = 1 + } + $82_1 = $81_1; + } else { + $82_1 = 0 + } + $80_1 = $82_1; + } + label$8 : { + if (!($80_1 & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + label$9 : { + label$10 : while (1) { + if (!(((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + $85_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $85_1 + 1 | 0; + label$11 : { + if (!(((HEAPU8[$85_1 >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : while (1) { + if (!((((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + } + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + } + } + label$14 : { + label$15 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$15 + } + i64toi32_i32$2 = 0; + $268$hi = i64toi32_i32$2; + i64toi32_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $602_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $602_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $271$hi = i64toi32_i32$1; + i64toi32_i32$1 = $268$hi; + i64toi32_i32$1 = $271$hi; + i64toi32_i32$1 = $268$hi; + i64toi32_i32$1 = $271$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $268$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $83_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $84_1 = 0 + } else { + $84_1 = 1 + } + $86_1 = $84_1; + } else { + $86_1 = 0 + } + $83_1 = $86_1; + } + label$16 : { + if (!($83_1 & 1 | 0)) { + break label$16 + } + i64toi32_i32$3 = 0; + $273$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $274$hi = i64toi32_i32$1; + i64toi32_i32$1 = $273$hi; + i64toi32_i32$1 = $274$hi; + $618_1 = i64toi32_i32$3; + i64toi32_i32$1 = $273$hi; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = $274$hi; + i64toi32_i32$2 = $618_1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + } + break label$14; + } + i64toi32_i32$0 = HEAP32[(($303(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0) + 108 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $634_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $634_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$5 = 0; + $277$hi = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $279$hi = i64toi32_i32$0; + i64toi32_i32$0 = $277$hi; + i64toi32_i32$0 = $279$hi; + i64toi32_i32$0 = $277$hi; + i64toi32_i32$0 = $279$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $277$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$5 | 0)) { + $87_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$2 >>> 0) { + $88_1 = 0 + } else { + $88_1 = 1 + } + $89_1 = $88_1; + } else { + $89_1 = 0 + } + $87_1 = $89_1; + } + label$17 : { + label$18 : { + if (!($87_1 & 1 | 0)) { + break label$18 + } + i64toi32_i32$1 = 0; + $281_1 = 0; + $281$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $282_1 = i64toi32_i32$0; + $282$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $654$hi = i64toi32_i32$0; + i64toi32_i32$0 = $282$hi; + i64toi32_i32$0 = $654$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $282$hi; + i64toi32_i32$5 = $282_1; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$0 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $286$hi = i64toi32_i32$2; + i64toi32_i32$2 = $281$hi; + i64toi32_i32$2 = $286$hi; + i64toi32_i32$2 = $281$hi; + i64toi32_i32$2 = $286$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$4 = $281$hi; + i64toi32_i32$5 = $281_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$4 | 0)) { + $90_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$5 >>> 0) { + $91_1 = 0 + } else { + $91_1 = 1 + } + $92_1 = $91_1; + } else { + $92_1 = 0 + } + $90_1 = $92_1; + } + label$19 : { + if (!($90_1 & 1 | 0)) { + break label$19 + } + i64toi32_i32$0 = 0; + $288_1 = 0; + $288$hi = i64toi32_i32$0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $289_1 = i64toi32_i32$0; + $289$hi = i64toi32_i32$2; + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $675$hi = i64toi32_i32$0; + i64toi32_i32$0 = $289$hi; + i64toi32_i32$0 = $675$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $289$hi; + i64toi32_i32$4 = $289_1; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $293$hi = i64toi32_i32$5; + i64toi32_i32$5 = $288$hi; + i64toi32_i32$5 = $293$hi; + i64toi32_i32$5 = $288$hi; + i64toi32_i32$5 = $293$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $288$hi; + i64toi32_i32$4 = $288_1; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$3 | 0)) { + $93_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$4 >>> 0) { + $94_1 = 0 + } else { + $94_1 = 1 + } + $95_1 = $94_1; + } else { + $95_1 = 0 + } + $93_1 = $95_1; + } + label$20 : { + if (!($93_1 & 1 | 0)) { + break label$20 + } + i64toi32_i32$0 = 0; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$0 = 0; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + break label$17; + } + i64toi32_i32$0 = 0; + $297$hi = i64toi32_i32$0; + i64toi32_i32$4 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $299$hi = i64toi32_i32$5; + i64toi32_i32$5 = $297$hi; + i64toi32_i32$5 = $299$hi; + i64toi32_i32$5 = $297$hi; + i64toi32_i32$5 = $299$hi; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$0 = $297$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$0 | 0)) { + $96_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$4 >>> 0 <= i64toi32_i32$3 >>> 0) { + $97_1 = 0 + } else { + $97_1 = 1 + } + $98_1 = $97_1; + } else { + $98_1 = 0 + } + $96_1 = $98_1; + } + label$21 : { + label$22 : { + if (!($96_1 & 1 | 0)) { + break label$22 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $301$hi = i64toi32_i32$5; + i64toi32_i32$5 = -1; + $302$hi = i64toi32_i32$5; + i64toi32_i32$5 = $301$hi; + i64toi32_i32$5 = $302$hi; + i64toi32_i32$5 = $301$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$4 = $302$hi; + i64toi32_i32$0 = -1; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + break label$21; + } + i64toi32_i32$1 = 0; + $304$hi = i64toi32_i32$1; + i64toi32_i32$5 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $306$hi = i64toi32_i32$3; + i64toi32_i32$3 = $304$hi; + i64toi32_i32$3 = $306$hi; + i64toi32_i32$3 = $304$hi; + i64toi32_i32$3 = $306$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $304$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$1 | 0)) { + $99_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$5 >>> 0 <= i64toi32_i32$0 >>> 0) { + $100_1 = 0 + } else { + $100_1 = 1 + } + $101_1 = $100_1; + } else { + $101_1 = 0 + } + $99_1 = $101_1; + } + label$23 : { + if (!($99_1 & 1 | 0)) { + break label$23 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $308$hi = i64toi32_i32$3; + i64toi32_i32$3 = -1; + $309$hi = i64toi32_i32$3; + i64toi32_i32$3 = $308$hi; + i64toi32_i32$3 = $309$hi; + i64toi32_i32$3 = $308$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $309$hi; + i64toi32_i32$1 = -1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$2; + } + } + } + label$24 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$24 + } + i64toi32_i32$2 = 0; + $311$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $312_1 = i64toi32_i32$2; + $312$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $742$hi = i64toi32_i32$2; + i64toi32_i32$2 = $312$hi; + i64toi32_i32$2 = $742$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $312$hi; + i64toi32_i32$1 = $312_1; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$2 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $316$hi = i64toi32_i32$3; + i64toi32_i32$3 = $311$hi; + i64toi32_i32$3 = $316$hi; + i64toi32_i32$3 = $311$hi; + i64toi32_i32$3 = $316$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $311$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$4 | 0)) { + $102_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$1 >>> 0) { + $103_1 = 0 + } else { + $103_1 = 1 + } + $104_1 = $103_1; + } else { + $104_1 = 0 + } + $102_1 = $104_1; + } + label$25 : { + if (!($102_1 & 1 | 0)) { + break label$25 + } + i64toi32_i32$2 = 0; + $318_1 = 0; + $318$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $319_1 = i64toi32_i32$2; + $319$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $763$hi = i64toi32_i32$2; + i64toi32_i32$2 = $319$hi; + i64toi32_i32$2 = $763$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $319$hi; + i64toi32_i32$4 = $319_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $318$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $318_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$5; + } + } + label$26 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$26 + } + label$27 : while (1) { + $166_1 = 0; + label$28 : { + if (!((HEAPU8[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$28 + } + i64toi32_i32$5 = 0; + $322$hi = i64toi32_i32$5; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $324$hi = i64toi32_i32$1; + i64toi32_i32$1 = $322$hi; + i64toi32_i32$1 = $324$hi; + i64toi32_i32$1 = $322$hi; + i64toi32_i32$1 = $324$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $322$hi; + i64toi32_i32$4 = 0; + $166_1 = (i64toi32_i32$2 | 0) != (i64toi32_i32$4 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$5 | 0) | 0; + } + label$29 : { + if (!($166_1 & 1 | 0)) { + break label$29 + } + $172_1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = $172_1 + 1 | 0; + label$30 : { + if (!(((HEAPU8[$172_1 >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$30 + } + label$31 : { + label$32 : while (1) { + if (!((((HEAPU8[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$32; + }; + } + } + i64toi32_i32$4 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $326$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $327$hi = i64toi32_i32$1; + i64toi32_i32$1 = $326$hi; + i64toi32_i32$1 = $327$hi; + i64toi32_i32$1 = $326$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $327$hi; + i64toi32_i32$5 = -1; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + continue label$27; + } + break label$27; + }; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + label$33 : while (1) { + $204_1 = 0; + label$34 : { + if (!((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$34 + } + i64toi32_i32$0 = 0; + $329$hi = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $331$hi = i64toi32_i32$4; + i64toi32_i32$4 = $329$hi; + i64toi32_i32$4 = $331$hi; + i64toi32_i32$4 = $329$hi; + i64toi32_i32$4 = $331$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $329$hi; + i64toi32_i32$5 = 0; + $204_1 = (i64toi32_i32$1 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$4 | 0) != (i64toi32_i32$0 | 0) | 0; + } + label$35 : { + if (!($204_1 & 1 | 0)) { + break label$35 + } + $210_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $210_1 + 1 | 0; + label$36 : { + if (!(((HEAPU8[$210_1 >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$36 + } + label$37 : { + label$38 : while (1) { + if (!((((HEAPU8[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$38; + }; + } + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $333$hi = i64toi32_i32$4; + i64toi32_i32$4 = -1; + $334$hi = i64toi32_i32$4; + i64toi32_i32$4 = $333$hi; + i64toi32_i32$4 = $334$hi; + i64toi32_i32$4 = $333$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $334$hi; + i64toi32_i32$0 = -1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$3; + continue label$33; + } + break label$33; + }; + i64toi32_i32$5 = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) - (HEAP32[($5_1 + 48 | 0) >> 2] | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$5 >> 31 | 0; + $278(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$3 | 0, -1 | 0, 1 & 255 | 0 | 0); + break label$1; + } + i64toi32_i32$4 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $337_1 = i64toi32_i32$3; + $337$hi = i64toi32_i32$5; + i64toi32_i32$4 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $338$hi = i64toi32_i32$3; + i64toi32_i32$3 = $337$hi; + i64toi32_i32$3 = $338$hi; + $973_1 = i64toi32_i32$5; + i64toi32_i32$3 = $337$hi; + i64toi32_i32$4 = $337_1; + i64toi32_i32$5 = $338$hi; + i64toi32_i32$0 = $973_1; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $339$hi = i64toi32_i32$2; + i64toi32_i32$4 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $340$hi = i64toi32_i32$2; + i64toi32_i32$2 = $339$hi; + i64toi32_i32$2 = $340$hi; + i64toi32_i32$2 = $339$hi; + i64toi32_i32$2 = $340$hi; + $983_1 = i64toi32_i32$4; + i64toi32_i32$2 = $339$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$4 = $340$hi; + i64toi32_i32$0 = $983_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$4 | 0)) { + $105_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $106_1 = 0 + } else { + $106_1 = 1 + } + $107_1 = $106_1; + } else { + $107_1 = 0 + } + $105_1 = $107_1; + } + label$39 : { + if (!($105_1 & 1 | 0)) { + break label$39 + } + i64toi32_i32$3 = 0; + $343$hi = i64toi32_i32$3; + i64toi32_i32$2 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + $344_1 = i64toi32_i32$2; + $344$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $345$hi = i64toi32_i32$2; + i64toi32_i32$2 = $344$hi; + i64toi32_i32$2 = $345$hi; + $998_1 = i64toi32_i32$3; + i64toi32_i32$2 = $344$hi; + i64toi32_i32$0 = $344_1; + i64toi32_i32$3 = $345$hi; + i64toi32_i32$4 = $998_1; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$4 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$4 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $348$hi = i64toi32_i32$0; + i64toi32_i32$0 = $343$hi; + i64toi32_i32$0 = $348$hi; + i64toi32_i32$0 = $343$hi; + i64toi32_i32$0 = $348$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $343$hi; + i64toi32_i32$4 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $108_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$4 >>> 0) { + $109_1 = 0 + } else { + $109_1 = 1 + } + $110_1 = $109_1; + } else { + $110_1 = 0 + } + $108_1 = $110_1; + } + label$40 : { + if (!($108_1 & 1 | 0)) { + break label$40 + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$2; + } + } + i64toi32_i32$4 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $260_1 = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + i64toi32_i32$2 | 0; + i64toi32_i32$4 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $258(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $260_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0, -1 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $1893($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $27_1 = 0, $60$hi = 0, $61$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $36_1 = 0, $50_1 = 0, $56_1 = 0, $26_1 = 0, $150_1 = 0, $69_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 32 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $342(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = 1; + $27_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $27_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $60$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $61$hi = i64toi32_i32$1; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $61$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $27_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == ($26_1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$5 = $62(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $150_1 = i64toi32_i32$5; + i64toi32_i32$5 = $5_1; + HEAP32[$5_1 >> 2] = $150_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + $36_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAPF64[$36_1 >> 3] = +HEAPF64[$36_1 >> 3] + (+(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$5 | 0)); + label$4 : { + if ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0) | 0) { + break label$4 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + if (!($891((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0)) { + break label$4 + } + $50_1 = 1; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 0] = $50_1; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 25 | 0) >> 0] = $50_1; + } + break label$2; + } + $69_1 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0); + $56_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAPF64[$56_1 >> 3] = +HEAPF64[$56_1 >> 3] + $69_1; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 25 | 0) >> 0] = 1; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1894($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $46$hi = 0, $4_1 = 0, $48$hi = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $46$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $9_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $10_1 = 0 + } else { + $10_1 = 1 + } + $11_1 = $10_1; + } else { + $11_1 = 0 + } + $9_1 = $11_1; + } + if (!($9_1 & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $263(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 40126 | 0, -1 | 0); + break label$2; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+HEAPF64[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 3])); + break label$4; + } + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $270(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0); + } + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1895($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $27_1 = 0, $47$hi = 0, $48$hi = 0, $40_1 = 0, $52$hi = 0, $41_1 = 0, $44_1 = 0, $26_1 = 0, $147_1 = 0, $52_1 = 0, $167$hi = 0, $58_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 32 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $342(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = 1; + $27_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $27_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $47$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $27_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == ($26_1 | 0) & 1 | 0)) { + break label$3 + } + if ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + i64toi32_i32$5 = $62(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $147_1 = i64toi32_i32$5; + i64toi32_i32$5 = $5_1; + HEAP32[$5_1 >> 2] = $147_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + $40_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAPF64[$40_1 >> 3] = +HEAPF64[$40_1 >> 3] - (+(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$5 | 0)); + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $52_1 = i64toi32_i32$5; + $52$hi = i64toi32_i32$2; + $41_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = $41_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $167$hi = i64toi32_i32$5; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$5 = $167$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $52$hi; + i64toi32_i32$3 = $52_1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $41_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$4; + break label$2; + } + $58_1 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0); + $44_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAPF64[$44_1 >> 3] = +HEAPF64[$44_1 >> 3] - $58_1; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1896($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $19_1 = 0.0, $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $7_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = +HEAPF64[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 3]; + break label$1; + } + $19_1 = +(0 | 0); + } + $260($7_1 | 0, +$19_1); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1897($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $22$hi = 0, $4_1 = 0, $24$hi = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $22$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $24$hi = i64toi32_i32$1; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $22$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $9_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $10_1 = 0 + } else { + $10_1 = 1 + } + $11_1 = $10_1; + } else { + $11_1 = 0 + } + $9_1 = $11_1; + } + if (!($9_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + i64toi32_i32$3 = 0; + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+HEAPF64[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 3] / (+(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0)))); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1898($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $26_1 = 0, $29$hi = 0, $30$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 8 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + if (!((5 | 0) != ($248(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + } + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $26_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $29$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $30$hi = i64toi32_i32$1; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$2 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $30$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $26_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1899($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$2 = 0, $18_1 = 0, $18$hi = 0, $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $7_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $18_1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + $18$hi = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = 0; + $18_1 = 0; + $18$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $18$hi; + $270($7_1 | 0, $18_1 | 0, i64toi32_i32$1 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1900($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $26_1 = 0, $29$hi = 0, $30$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 8 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + if (!((5 | 0) != ($248(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + } + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $26_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $29$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $30$hi = i64toi32_i32$1; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$2 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$3 = -1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $30$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $26_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1901($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + label$3 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 30108; + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + } + label$6 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $51(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $51(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $1902($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (18 | 0) & 1 | 0)) { + break label$3 + } + $257(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + break label$2; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$5 + } + $286(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + break label$4; + } + $277(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $72(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, -1 | 0, 3 | 0); + } + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1903($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $35_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (18 | 0) & 1 | 0)) { + break label$3 + } + $257(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + break label$2; + } + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$5 + } + $286(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + break label$4; + } + $35_1 = -1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $75(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $277(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, $35_1 | 0, $35_1 | 0); + } + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1904($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $54_1 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + $37_1 = $233(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + $37_1 | 0; + break label$3; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$5; + } + $54_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($54_1 + 16 | 0) >> 2] = (HEAP32[($54_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0; + $3290(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + } + label$7 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) { + break label$7 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1905($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $506_1 = 0, $74_1 = 0, $505_1 = 0, $100_1 = 0, $109_1 = 0, $119_1 = 0, $122_1 = 0, $158_1 = 0, $159_1 = 0, $169_1 = 0, $253_1 = 0, $374_1 = 0, $437_1 = 0, $440_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 432 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 428 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 424 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 420 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 416 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 420 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 388 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 420 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 384 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 420 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 380 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 420 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 420 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 420 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 368 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 420 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 364 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 416 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 388 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[($5_1 + 380 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + label$4 : { + if (!((HEAP32[($5_1 + 372 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + $8(HEAP32[($5_1 + 416 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $361(HEAP32[($5_1 + 416 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 380 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 384 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if ((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$7 + } + $74_1 = 16; + if (!((HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) >= (((HEAPU16[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $74_1 | 0) >> $74_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + } + break label$1; + } + HEAP32[($5_1 + 360 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 376 | 0) >> 2] | 0, 20) | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $505_1 = 0; + i64toi32_i32$1 = $5_1 + 392 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $505_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $505_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $100_1 = 16; + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) == (((HEAPU16[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 1] | 0) << $100_1 | 0) >> $100_1 | 0 | 0) & 1 | 0)) { + break label$9 + } + $109_1 = -1; + break label$8; + } + $109_1 = HEAP32[($5_1 + 376 | 0) >> 2] | 0; + } + $119_1 = $5_1 + 72 | 0; + $122_1 = $5_1 + 40 | 0; + HEAP32[($5_1 + 400 | 0) >> 2] = $109_1; + HEAP32[((HEAP32[($5_1 + 416 | 0) >> 2] | 0) + 328 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1908($119_1 | 0, HEAP32[($5_1 + 384 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 416 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 388 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 364 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 356 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + $506_1 = 0; + i64toi32_i32$1 = $122_1; + HEAP32[i64toi32_i32$1 >> 2] = $506_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $506_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $122_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $506_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 40 | 0) >> 2] = $119_1; + HEAP32[($5_1 + 44 | 0) >> 2] = 78; + HEAP32[($5_1 + 48 | 0) >> 2] = 77; + HEAP32[($5_1 + 64 | 0) >> 2] = $5_1 + 392 | 0; + HEAP32[($5_1 + 404 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + label$10 : { + label$11 : { + if (!(HEAP32[($5_1 + 356 | 0) >> 2] | 0)) { + break label$11 + } + break label$10; + } + label$12 : { + label$13 : { + if (!((HEAP32[($5_1 + 304 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $158_1 = 0; + $159_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($159_1 + 4 | 0) >> 2] = (HEAP32[($159_1 + 4 | 0) >> 2] | 0) & -2097153 | 0; + HEAP32[($5_1 + 84 | 0) >> 2] = $158_1; + $1341($5_1 + 72 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $158_1 | 0); + label$16 : { + label$17 : { + if (!((HEAPU8[((HEAP32[($5_1 + 416 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0)) { + break label$17 + } + $169_1 = 7; + break label$16; + } + $169_1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 356 | 0) >> 2] = $169_1; + label$18 : { + if (HEAP32[($5_1 + 356 | 0) >> 2] | 0) { + break label$18 + } + $1549($5_1 + 40 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + } + label$19 : { + if (!(HEAP32[($5_1 + 356 | 0) >> 2] | 0)) { + break label$19 + } + break label$10; + } + break label$14; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $87(HEAP32[($5_1 + 380 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 304 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 404 | 0) >> 2] = HEAP32[($5_1 + 304 | 0) >> 2] | 0; + label$20 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$20 + } + $1909($5_1 + 72 | 0 | 0, $5_1 + 392 | 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 376 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0); + label$21 : { + if (!((HEAP32[($5_1 + 400 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$21 + } + $1909($5_1 + 72 | 0 | 0, $5_1 + 392 | 0 | 0, (HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 40 | 0 | 0); + } + $1550($5_1 + 40 | 0 | 0, HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + $1550($5_1 + 40 | 0 | 0, HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$23; + }; + } + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[($5_1 + 308 | 0) >> 2] | 0; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + $1550($5_1 + 40 | 0 | 0, HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$25; + }; + } + } + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + label$26 : { + label$27 : while (1) { + $253_1 = 16; + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (((HEAPU16[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 42 | 0) >> 1] | 0) << $253_1 | 0) >> $253_1 | 0 | 0) & 1 | 0)) { + break label$26 + } + $1547($5_1 + 40 | 0 | 0, HEAP32[(((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 32 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$27; + }; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$28 : { + label$29 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + label$30 : { + label$31 : while (1) { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$30 + } + label$32 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$32 + } + if (!((HEAP32[(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 376 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$32 + } + $1909($5_1 + 72 | 0 | 0, $5_1 + 392 | 0 | 0, ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0 | 0); + } + label$33 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 380 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$33 + } + if (!((0 | 0) == ($87(HEAP32[((((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 360 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$33 + } + $1909($5_1 + 72 | 0 | 0, $5_1 + 392 | 0 | 0, HEAP32[((((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$31; + }; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$29; + }; + } + } + break label$12; + } + label$34 : { + label$35 : { + if (!((HEAP32[($5_1 + 308 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$35 + } + $374_1 = $5_1 + 40 | 0; + $1550($374_1 | 0, HEAP32[((HEAP32[($5_1 + 308 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + $1547($374_1 | 0, HEAP32[((HEAP32[($5_1 + 308 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + break label$34; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1910($5_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 356 | 0) >> 2] = wasm2js_i32$1; + label$36 : { + if (!(HEAP32[($5_1 + 356 | 0) >> 2] | 0)) { + break label$36 + } + break label$10; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 312 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$37 : { + label$38 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$37 + } + label$39 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$39 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $348($5_1 + 72 | 0 | 0, 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 384 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$40 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$40 + } + label$41 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$41 + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $1911($5_1 + 72 | 0 | 0, $5_1 + 392 | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 360 | 0) >> 2] | 0 | 0); + } + $437_1 = $5_1 + 72 | 0; + $440_1 = $5_1 + 392 | 0; + $1912($437_1 | 0, $440_1 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 360 | 0) >> 2] | 0 | 0); + $1911($437_1 | 0, $440_1 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 360 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + continue label$38; + }; + } + label$42 : { + if (!((HEAP32[($5_1 + 192 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$42 + } + $1912($5_1 + 72 | 0 | 0, $5_1 + 392 | 0 | 0, HEAP32[((HEAP32[($5_1 + 312 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 360 | 0) >> 2] | 0 | 0); + } + $1913($5_1 + 40 | 0 | 0, HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0); + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1914(HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0, $5_1 + 392 | 0 | 0, HEAP32[($5_1 + 388 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 372 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 368 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 356 | 0) >> 2] = wasm2js_i32$1; + } + label$43 : { + if (!(HEAP32[($5_1 + 356 | 0) >> 2] | 0)) { + break label$43 + } + label$44 : { + label$45 : { + if (!((HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$45 + } + $1915(HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($5_1 + 420 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 420 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $5_1 + 72 | 0 | 0); + break label$44; + } + $284(HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 356 | 0) >> 2] | 0 | 0); + } + } + $1916($5_1 + 72 | 0 | 0); + $1917(HEAP32[($5_1 + 416 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 392 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 416 | 0) >> 2] | 0) + 328 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + global$0 = $5_1 + 432 | 0; + return; + } + + function $1906($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2097152 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + $1644(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $13_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $13_1 | 0; + } + + function $1907($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $19_1 = 0, $55_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (77 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $1909(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + label$3 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$3 + } + $55_1 = 16; + if (!((((HEAPU16[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 1] | 0) << $55_1 | 0) >> $55_1 | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $1909(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + } + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $1908($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $11_1 = 0, $74_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(HEAP32[($7_1 + 12 | 0) >> 2] | 0)) { + break label$2 + } + $11_1 = 1; + break label$1; + } + $11_1 = $122(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0; + } + HEAP8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 164 | 0) >> 0] = $11_1; + $3289(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, 280 | 0) | 0; + HEAP8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 204 | 0) >> 0] = 2; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 136 | 0) >> 2] = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $415(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, $7_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + label$3 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 81 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 8 | 0) >> 2] = 7; + } + label$4 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 236 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $694(107308 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + HEAP8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 164 | 0) >> 0] = 0; + $74_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $74_1 | 0; + } + + function $1909($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $36_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 276 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[(HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $36_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($36_1 + 4 | 0) >> 2] = (HEAP32[($36_1 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0; + continue label$2; + }; + } + return; + } + + function $1910($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $270_1 = 0, $7_1 = 0, $4_1 = 0, $67_1 = 0, $123_1 = 0, $140_1 = 0, $141_1 = 0, $152_1 = 0, $170_1 = 0, $184_1 = 0, $32_1 = 0, $173_1 = 0, $267_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 80 | 0; + global$0 = $3_1; + $4_1 = 0; + $7_1 = $3_1 + 32 | 0; + HEAP32[($3_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $4_1; + i64toi32_i32$0 = 0; + $270_1 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $270_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $270_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $270_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $270_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 32 | 0) >> 2] = HEAP32[($3_1 + 76 | 0) >> 2] | 0; + $32_1 = $361(HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (($350(HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0) << 4 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 120 | 0) >> 2] = $32_1; + HEAP8[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 148 | 0) >> 0] = HEAPU8[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1332(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($3_1 + 28 | 0) >> 2] | 0) { + break label$2 + } + if (!((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1404($3_1 + 32 | 0 | 0, HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($3_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$3 : while (1) { + $67_1 = 0; + label$4 : { + if (HEAP32[($3_1 + 28 | 0) >> 2] | 0) { + break label$4 + } + $67_1 = (HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$5 : { + if (!($67_1 & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $1341(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $3_1 + 32 | 0 | 0); + label$7 : { + if (!(HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + } + label$8 : { + if (HEAP32[($3_1 + 28 | 0) >> 2] | 0) { + break label$8 + } + if (!((HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1830(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + label$10 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$11 : while (1) { + $123_1 = 0; + label$12 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $123_1 = (HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$13 : { + if (!($123_1 & 1 | 0)) { + break label$13 + } + HEAP32[($3_1 + 16 | 0) >> 2] = ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($3_1 + 20 | 0) >> 2] | 0, 72) | 0; + $140_1 = HEAP32[($3_1 + 76 | 0) >> 2] | 0; + $141_1 = HEAP32[($140_1 + 40 | 0) >> 2] | 0; + HEAP32[($140_1 + 40 | 0) >> 2] = $141_1 + 1 | 0; + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] = $141_1; + label$14 : { + label$15 : { + if (!((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $152_1 = 0; + $1341(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $152_1 | 0); + $1626(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $1341(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) + Math_imul((HEAP32[($3_1 + 20 | 0) >> 2] | 0) - 1 | 0, 72) | 0) + 20 | 0) >> 2] | 0 | 0, $152_1 | 0); + break label$14; + } + $170_1 = 0; + $173_1 = $1323(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, $170_1 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = $173_1; + label$16 : { + label$17 : { + if (!((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == ($170_1 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 1; + break label$16; + } + $184_1 = HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($184_1 + 32 | 0) >> 2] = (HEAP32[($184_1 + 32 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1332(HEAP32[($3_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + } + break label$11; + }; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + label$18 : { + if (HEAP32[($3_1 + 28 | 0) >> 2] | 0) { + break label$18 + } + if (!((HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1404($3_1 + 32 | 0 | 0, HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$19 : { + if (HEAP32[($3_1 + 28 | 0) >> 2] | 0) { + break label$19 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1437($3_1 + 32 | 0 | 0, HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$20 : { + if (!((HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 56 | 0) >> 2] = 512; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1437($3_1 + 32 | 0 | 0, HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (HEAP32[($3_1 + 28 | 0) >> 2] | 0) { + break label$21 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1437($3_1 + 32 | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$22 : { + if (HEAP32[($3_1 + 28 | 0) >> 2] | 0) { + break label$22 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1404($3_1 + 32 | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$23 : { + if (HEAP32[($3_1 + 28 | 0) >> 2] | 0) { + break label$23 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1404($3_1 + 32 | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($3_1 + 56 | 0) >> 2] = 0; + } + HEAP32[($3_1 + 36 | 0) >> 2] = 0; + $1143(HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + break label$9; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 7; + } + } + HEAP32[($3_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + $267_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 80 | 0; + return $267_1 | 0; + } + + function $1911($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $25_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $25_1 = 4; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << $25_1 | 0) | 0) + 8 | 0) >> 2] | 0; + label$4 : { + if (((HEAPU8[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << $25_1 | 0) | 0) + 13 | 0) >> 0] | 0) & 3 | 0) & 255 | 0) { + break label$4 + } + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((0 | 0) == ($87(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + $1909(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1912($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0; + label$4 : { + if (!((0 | 0) == ($87(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + $1909(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $1913($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + $1547(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $1549(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + $1547(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + $1550(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $1550(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + $1550(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + $1547(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + $1547(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + } + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $1549(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 72) | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1914($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, $120_1 = 0, $15_1 = 0, i64toi32_i32$0 = 0, $128_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $68(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $68(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $303(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 40 | 0) >> 2] = 0; + $15_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $351($15_1 | 0, 40243 | 0, $7_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 7; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $68(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($7_1 + 56 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + } + i64toi32_i32$1 = ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0) | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $308(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + $3288(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[(HEAP32[($7_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $1922(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if (!($536((HEAPU8[(HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) | 0)) { + break label$9 + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + break label$8; + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[($7_1 + 64 | 0) >> 2] | 0) | 0; + label$10 : { + if (!((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $3290((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) | 0 | 0, (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) | 0 | 0, (HEAP32[($7_1 + 24 | 0) >> 2] | 0) - ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) | 0 | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) | 0; + HEAP8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0) >> 0] = 0; + } + $3288((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $13(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + continue label$7; + }; + } + $120_1 = -1; + $277(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, $120_1 | 0, $120_1 | 0); + $13(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + break label$4; + } + HEAP32[($7_1 + 40 | 0) >> 2] = 7; + } + $42(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + } + $128_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $128_1 | 0; + } + + function $1915($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $14_1 = 0, $15_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $14_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + $15_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $17_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0 ? 40269 : 1352; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = $17_1; + HEAP32[($7_1 + 4 | 0) >> 2] = $15_1; + HEAP32[$7_1 >> 2] = $14_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $79(40248 | 0, $7_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $263(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 48 | 0; + return; + } + + function $1916($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $21_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $216(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + } + $11(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0); + label$2 : { + label$3 : while (1) { + $21_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 236 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $21_1; + if (!(($21_1 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 236 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $1029(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + continue label$3; + }; + } + $10(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0); + $13(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $1917(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 276 | 0) >> 2] | 0 | 0); + $124(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1917($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0; + $13(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0); + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1918($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $107_1 = 0, $314_1 = 0, $310_1 = 0, $315$hi = 0, $46_1 = 0, $49_1 = 0, $54_1 = 0, $309_1 = 0, $311$hi = 0, $312$hi = 0, $104_1 = 0, $116_1 = 0, $316$hi = 0, $317$hi = 0, $319$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 448 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 444 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 440 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 436 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 432 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 436 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 428 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 424 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 420 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 416 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 412 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 424 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 420 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 416 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $46_1 = $5_1 + 128 | 0; + $49_1 = $5_1 + 96 | 0; + $54_1 = $5_1 + 64 | 0; + HEAP32[($5_1 + 120 | 0) >> 2] = 1; + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 432 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 432 | 0) >> 2] | 0) + 328 | 0) >> 2] = 0; + $8(HEAP32[($5_1 + 432 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = 0; + $309_1 = 0; + i64toi32_i32$1 = $49_1; + HEAP32[i64toi32_i32$1 >> 2] = $309_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $309_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $361(HEAP32[($5_1 + 432 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 420 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + $310_1 = 0; + i64toi32_i32$1 = $54_1; + HEAP32[i64toi32_i32$1 >> 2] = $310_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $310_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $54_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $310_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 64 | 0) >> 2] = $46_1; + HEAP32[($5_1 + 68 | 0) >> 2] = 80; + HEAP32[($5_1 + 72 | 0) >> 2] = 79; + HEAP32[($5_1 + 88 | 0) >> 2] = $49_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1908($46_1 | 0, HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 432 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 424 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 412 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($5_1 + 124 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($5_1 + 432 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $311$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $312$hi = i64toi32_i32$1; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$1 = $312$hi; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $312$hi; + i64toi32_i32$3 = 67108864; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = i64toi32_i32$2 & i64toi32_i32$3 | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 360 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 52 | 0) >> 2] = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (HEAP32[($5_1 + 56 | 0) >> 2] | 0) { + break label$7 + } + $104_1 = $5_1 + 128 | 0; + $107_1 = $5_1 + 16 | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $314_1 = 0; + i64toi32_i32$2 = $107_1; + HEAP32[i64toi32_i32$2 >> 2] = $314_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$2 + 24 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $314_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $107_1 + 16 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $314_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $107_1 + 8 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $314_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 16 | 0) >> 2] = $104_1; + $116_1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + HEAP32[($116_1 + 4 | 0) >> 2] = (HEAP32[($116_1 + 4 | 0) >> 2] | 0) & -2097153 | 0; + $1341($104_1 | 0, HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $107_1 | 0); + label$8 : { + label$9 : { + if (!(HEAP32[($5_1 + 164 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($5_1 + 124 | 0) >> 2] = HEAP32[($5_1 + 140 | 0) >> 2] | 0; + break label$8; + } + $1549($5_1 + 64 | 0 | 0, HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + } + break label$5; + } + label$10 : { + label$11 : { + if (!(HEAP32[($5_1 + 56 | 0) >> 2] | 0)) { + break label$11 + } + i64toi32_i32$0 = 0; + $315$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($5_1 + 432 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $316$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $317$hi = i64toi32_i32$2; + i64toi32_i32$2 = $316$hi; + i64toi32_i32$2 = $317$hi; + i64toi32_i32$2 = $316$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $317$hi; + i64toi32_i32$3 = 16384; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $319$hi = i64toi32_i32$0; + i64toi32_i32$0 = $315$hi; + i64toi32_i32$0 = $319$hi; + i64toi32_i32$0 = $315$hi; + i64toi32_i32$0 = $319$hi; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $315$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$10 + } + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + label$14 : { + if ($87(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 420 | 0) >> 2] | 0 | 0) | 0) { + break label$14 + } + $1909($5_1 + 128 | 0 | 0, $5_1 + 96 | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$13; + }; + } + } + label$15 : { + if ($87(HEAP32[($5_1 + 420 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) { + break label$15 + } + HEAP32[($5_1 + 108 | 0) >> 2] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + label$16 : { + if (HEAP32[($5_1 + 56 | 0) >> 2] | 0) { + break label$16 + } + $1550($5_1 + 64 | 0 | 0, HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + } + $1909($5_1 + 128 | 0 | 0, $5_1 + 96 | 0 | 0, HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + } + break label$3; + } + label$17 : { + label$18 : { + if (!((HEAP32[($5_1 + 364 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + $1909($5_1 + 128 | 0 | 0, $5_1 + 96 | 0 | 0, HEAP32[(HEAP32[($5_1 + 364 | 0) >> 2] | 0) >> 2] | 0 | 0); + label$19 : { + if (HEAP32[($5_1 + 56 | 0) >> 2] | 0) { + break label$19 + } + $1547($5_1 + 64 | 0 | 0, HEAP32[((HEAP32[($5_1 + 364 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + } + break label$17; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 368 | 0) >> 2] | 0; + label$20 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 420 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$20 + } + if (!((HEAP32[((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + $1909($5_1 + 128 | 0 | 0, $5_1 + 96 | 0 | 0, HEAP32[((HEAP32[($5_1 + 368 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + label$21 : { + if (HEAP32[($5_1 + 56 | 0) >> 2] | 0) { + break label$21 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1910($5_1 + 128 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (HEAP32[($5_1 + 124 | 0) >> 2] | 0) { + break label$22 + } + $1913($5_1 + 64 | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + label$25 : { + if (!((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 420 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$25 + } + $1909($5_1 + 128 | 0 | 0, $5_1 + 96 | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + continue label$24; + }; + } + } + } + } + } + } + label$26 : { + if (HEAP32[($5_1 + 124 | 0) >> 2] | 0) { + break label$26 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1914(HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0, $5_1 + 96 | 0 | 0, HEAP32[($5_1 + 424 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 416 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + } + label$27 : { + if (!(HEAP32[($5_1 + 124 | 0) >> 2] | 0)) { + break label$27 + } + label$28 : { + label$29 : { + if (!((HEAP32[($5_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$29 + } + $1915(HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 436 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $5_1 + 128 | 0 | 0); + break label$28; + } + $284(HEAP32[($5_1 + 444 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0); + } + } + $1916($5_1 + 128 | 0 | 0); + $1917(HEAP32[($5_1 + 432 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 432 | 0) >> 2] | 0) + 328 | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + } + global$0 = $5_1 + 448 | 0; + return; + } + + function $1919($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $58_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2097152 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 72) | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $1909(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $1644(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $58_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $58_1 | 0; + } + + function $1920($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$1 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (164 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $1909(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $1921($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $66_1 = 0, $126_1 = 0, $6_1 = 0, $123$hi = 0, $124$hi = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 368 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 364 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 360 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 356 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 364 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 352 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 356 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 348 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 344 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 340 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 352 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $123$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $124$hi = i64toi32_i32$1; + i64toi32_i32$1 = $123$hi; + i64toi32_i32$1 = $124$hi; + i64toi32_i32$1 = $123$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $124$hi; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + HEAP32[($5_1 + 336 | 0) >> 2] = i64toi32_i32$2 & 67108864 | 0; + HEAP32[($5_1 + 332 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 328 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 328 | 0) >> 2] = $6_1; + label$1 : { + if (!((HEAP32[($5_1 + 348 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 344 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1908($5_1 + 48 | 0 | 0, HEAP32[($5_1 + 348 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 352 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 344 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 340 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 328 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($5_1 + 328 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + label$4 : { + if (HEAP32[($5_1 + 336 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[($5_1 + 280 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($5_1 + 280 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $63_1 = $5_1 + 48 | 0; + $66_1 = $5_1 + 16 | 0; + i64toi32_i32$0 = 0; + $126_1 = 0; + i64toi32_i32$2 = $66_1; + HEAP32[i64toi32_i32$2 >> 2] = $126_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$2 + 24 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $126_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $66_1 + 16 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $126_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $66_1 + 8 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $126_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 16 | 0) >> 2] = $63_1; + $1341($63_1 | 0, HEAP32[((HEAP32[($5_1 + 280 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $66_1 | 0); + label$5 : { + if (!(HEAP32[($5_1 + 84 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($5_1 + 328 | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + } + break label$3; + } + label$6 : { + if (!((HEAP32[($5_1 + 288 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (HEAP32[($5_1 + 336 | 0) >> 2] | 0) { + break label$7 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1910($5_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 328 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + if (HEAP32[($5_1 + 328 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $350(HEAP32[($5_1 + 352 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 288 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $122(HEAP32[($5_1 + 352 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 348 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $267(HEAP32[($5_1 + 364 | 0) >> 2] | 0 | 0, 1 | 0); + } + } + } + } + } + label$10 : { + if (!(HEAP32[($5_1 + 328 | 0) >> 2] | 0)) { + break label$10 + } + $1915(HEAP32[($5_1 + 364 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 48 | 0 | 0); + } + $1916($5_1 + 48 | 0 | 0); + } + HEAP32[((HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 328 | 0) >> 2] = HEAP32[($5_1 + 332 | 0) >> 2] | 0; + global$0 = $5_1 + 368 | 0; + return; + } + + function $1922($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[$3_1 >> 2] = (HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] | 0) + 12 | 0; + continue label$5; + }; + } + HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $1923($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $16_1 = 0, $19$hi = 0, $20$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 8 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $16_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $20$hi = i64toi32_i32$1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$2 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $20$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $16_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1924($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $19_1 = 0, $19$hi = 0, $8_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 8 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $8_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $19_1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + $19$hi = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = 0; + $19_1 = 0; + $19$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $19$hi; + $270($8_1 | 0, $19_1 | 0, i64toi32_i32$1 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1925($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1926($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $24$hi = 0, $26$hi = 0, $18_1 = 0, $29$hi = 0, $30$hi = 0, i64toi32_i32$4 = 0, $28_1 = 0, $28$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $24$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$3 = 0; + label$2 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = 0; + $28_1 = 0; + $28$hi = i64toi32_i32$2; + $18_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = $18_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $29$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $30$hi = i64toi32_i32$1; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$3 = $18_1; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $28$hi; + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] = $28_1; + HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $270(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$3 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1927($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, $25$hi = 0, $16_1 = 0, $26$hi = 0, $27$hi = 0, i64toi32_i32$4 = 0, $30$hi = 0, $25_1 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $25_1 = 0; + $25$hi = i64toi32_i32$0; + $16_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $16_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $27$hi = i64toi32_i32$1; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $16_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$2; + i64toi32_i32$2 = $25$hi; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$2 = $25$hi; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $25$hi; + i64toi32_i32$3 = $25_1; + label$2 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$3 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $93_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $93_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1928($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $19$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $19$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $270(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$1 = $19$hi; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1929($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $16_1 = 0, $19$hi = 0, $20$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $16_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $20$hi = i64toi32_i32$1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $20$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $16_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1930($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $3_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $27$hi = 0, i64toi32_i32$5 = 0, $30$hi = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $33$hi = 0, $34$hi = 0, $74_1 = 0, $36_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $27$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $74_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $74_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$3 = 1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + label$2 : { + label$3 : { + if (!($13_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + i64toi32_i32$3 = 0; + $36_1 = +(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0); + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $33$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $34$hi = i64toi32_i32$2; + i64toi32_i32$2 = $33$hi; + i64toi32_i32$2 = $34$hi; + i64toi32_i32$2 = $33$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$2 = 0; + HEAPF64[$3_1 >> 3] = $36_1 / (+(i64toi32_i32$3 >>> 0) + 4294967296.0 * +(i64toi32_i32$5 | 0)); + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+HEAPF64[$3_1 >> 3])); + break label$2; + } + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+(0 | 0))); + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1931($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $9_1 = 0, $12$hi = 0, $13$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $9_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $13$hi = i64toi32_i32$1; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $13$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $9_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$5; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1932($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $16_1 = 0, $19$hi = 0, $20$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $16_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $20$hi = i64toi32_i32$1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $20$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $16_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1933($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $20_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + $20_1 = +(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0); + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + HEAPF64[$3_1 >> 3] = $20_1 / (+(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0)); + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+HEAPF64[$3_1 >> 3])); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1934($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $9_1 = 0, $12$hi = 0, $13$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $9_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $13$hi = i64toi32_i32$1; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $13$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $9_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$5; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1935($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $5_1 = 0, i64toi32_i32$3 = 0, $33$hi = 0, $37$hi = 0, i64toi32_i32$5 = 0, $35$hi = 0, $40$hi = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $30_1 = 0, $42$hi = 0, $43$hi = 0, i64toi32_i32$4 = 0, $98_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $33$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $35$hi = i64toi32_i32$1; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$3 = 0; + label$2 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = 0; + $37$hi = i64toi32_i32$2; + i64toi32_i32$2 = $62(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $98_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = $98_1; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $40$hi = i64toi32_i32$2; + i64toi32_i32$2 = $37$hi; + i64toi32_i32$2 = $40$hi; + i64toi32_i32$2 = $37$hi; + i64toi32_i32$2 = $40$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $18_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 > i64toi32_i32$0 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $18_1 = $20_1; + } + label$3 : { + if (!($18_1 & 1 | 0)) { + break label$3 + } + $263(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 40294 | 0, -1 | 0); + } + } + $30_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = $30_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $42$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $43$hi = i64toi32_i32$2; + i64toi32_i32$2 = $42$hi; + i64toi32_i32$2 = $43$hi; + i64toi32_i32$2 = $42$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $43$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $30_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1936($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $3_1 = 0, $46$hi = 0, i64toi32_i32$6 = 0, $65$hi = 0, $66$hi = 0, $48$hi = 0, $58_1 = 0, $59_1 = 0, $60_1 = 0, $50$hi = 0, $51$hi = 0, $53$hi = 0, $54$hi = 0, $56$hi = 0, $57$hi = 0, $58$hi = 0, $59$hi = 0, $61$hi = 0, $62$hi = 0, $62_1 = 0, $63_1 = 0, $64_1 = 0, $69$hi = 0, $70$hi = 0, $71$hi = 0, $72$hi = 0, $74$hi = 0, $75$hi = 0, $76$hi = 0, $77$hi = 0, $78$hi = 0, $79$hi = 0, $80$hi = 0, $81$hi = 0, $50_1 = 0, $132_1 = 0, $22_1 = 0, $56_1 = 0, $57_1 = 0, $166_1 = 0, $169_1 = 0, $61_1 = 0, $184_1 = 0, $187_1 = 0, $193_1 = 0, $65_1 = 0, $201_1 = 0, $36_1 = 0, $69_1 = 0, $221_1 = 0, $41_1 = 0, $76_1 = 0, $77_1 = 0, $240_1 = 0, $248_1 = 0, $251_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $46$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $58_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $59_1 = 0 + } else { + $59_1 = 1 + } + $60_1 = $59_1; + } else { + $60_1 = 0 + } + $58_1 = $60_1; + } + if (!($58_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $50_1 = i64toi32_i32$2; + $50$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $51$hi = i64toi32_i32$2; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$2 = $51$hi; + $132_1 = i64toi32_i32$1; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = __wasm_i64_sdiv($50_1 | 0, i64toi32_i32$2 | 0, $132_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + HEAP32[($3_1 + 36 | 0) >> 2] = i64toi32_i32$1; + label$2 : { + label$3 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$3 + } + $22_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $53$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $54$hi = i64toi32_i32$1; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $54$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $270($22_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0); + break label$2; + } + i64toi32_i32$1 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $56_1 = i64toi32_i32$5; + $56$hi = i64toi32_i32$3; + i64toi32_i32$1 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $57_1 = i64toi32_i32$3; + $57$hi = i64toi32_i32$5; + i64toi32_i32$3 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $58$hi = i64toi32_i32$5; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$5 = $58$hi; + $166_1 = i64toi32_i32$3; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$3 = $58$hi; + i64toi32_i32$3 = __wasm_i64_mul($57_1 | 0, i64toi32_i32$5 | 0, $166_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $59$hi = i64toi32_i32$5; + i64toi32_i32$5 = $56$hi; + i64toi32_i32$5 = $59$hi; + $169_1 = i64toi32_i32$3; + i64toi32_i32$5 = $56$hi; + i64toi32_i32$1 = $56_1; + i64toi32_i32$3 = $59$hi; + i64toi32_i32$0 = $169_1; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $61_1 = i64toi32_i32$4; + $61$hi = i64toi32_i32$1; + i64toi32_i32$4 = (HEAP32[(i64toi32_i32$5 + 36 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$1 = i64toi32_i32$4 >> 31 | 0; + $62$hi = i64toi32_i32$1; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $62$hi; + $184_1 = i64toi32_i32$4; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$4 = $62$hi; + i64toi32_i32$4 = __wasm_i64_mul($61_1 | 0, i64toi32_i32$1 | 0, $184_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $187_1 = i64toi32_i32$4; + i64toi32_i32$4 = i64toi32_i32$5; + HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] = $187_1; + HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $193_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $193_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $65_1 = i64toi32_i32$4; + $65$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $66$hi = i64toi32_i32$4; + i64toi32_i32$4 = $65$hi; + i64toi32_i32$4 = $66$hi; + i64toi32_i32$4 = $65$hi; + i64toi32_i32$4 = $66$hi; + $201_1 = i64toi32_i32$1; + i64toi32_i32$4 = $65$hi; + i64toi32_i32$5 = $65_1; + i64toi32_i32$1 = $66$hi; + i64toi32_i32$0 = $201_1; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$1 | 0)) { + $62_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$0 >>> 0) { + $63_1 = 0 + } else { + $63_1 = 1 + } + $64_1 = $63_1; + } else { + $64_1 = 0 + } + $62_1 = $64_1; + } + label$4 : { + label$5 : { + if (!($62_1 & 1 | 0)) { + break label$5 + } + $36_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = $3_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $69_1 = i64toi32_i32$5; + $69$hi = i64toi32_i32$4; + i64toi32_i32$5 = (HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $70$hi = i64toi32_i32$4; + i64toi32_i32$4 = $69$hi; + i64toi32_i32$4 = $70$hi; + $221_1 = i64toi32_i32$5; + i64toi32_i32$4 = $69$hi; + i64toi32_i32$5 = $70$hi; + i64toi32_i32$5 = __wasm_i64_sdiv($69_1 | 0, i64toi32_i32$4 | 0, $221_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $71$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $72$hi = i64toi32_i32$4; + i64toi32_i32$4 = $71$hi; + i64toi32_i32$4 = $72$hi; + i64toi32_i32$4 = $71$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $72$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $270($36_1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0); + break label$4; + } + $41_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$4 = $3_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 28 | 0) >> 2] | 0; + $74$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $75$hi = i64toi32_i32$0; + i64toi32_i32$0 = $74$hi; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$0 = $74$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $75$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $76_1 = i64toi32_i32$5; + $76$hi = i64toi32_i32$3; + i64toi32_i32$0 = $3_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $77_1 = i64toi32_i32$3; + $77$hi = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$3; + i64toi32_i32$3 = $77$hi; + i64toi32_i32$3 = $78$hi; + $240_1 = i64toi32_i32$4; + i64toi32_i32$3 = $77$hi; + i64toi32_i32$0 = $77_1; + i64toi32_i32$4 = $78$hi; + i64toi32_i32$1 = $240_1; + i64toi32_i32$2 = i64toi32_i32$0 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + $79$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $80$hi = i64toi32_i32$5; + i64toi32_i32$5 = $79$hi; + i64toi32_i32$5 = $80$hi; + $248_1 = i64toi32_i32$0; + i64toi32_i32$5 = $79$hi; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$0 = __wasm_i64_sdiv(i64toi32_i32$2 | 0, i64toi32_i32$5 | 0, $248_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $81$hi = i64toi32_i32$5; + i64toi32_i32$5 = $76$hi; + i64toi32_i32$5 = $81$hi; + $251_1 = i64toi32_i32$0; + i64toi32_i32$5 = $76$hi; + i64toi32_i32$3 = $76_1; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$1 = $251_1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $270($41_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$2 | 0); + } + } + } + global$0 = $3_1 + 48 | 0; + return; + } + + function $1937($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $9_1 = 0, $12$hi = 0, $13$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $9_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $13$hi = i64toi32_i32$1; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $13$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $9_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + global$0 = $5_1 + 16 | 0; + return; + } + + function $1938($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $31_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 8 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $253(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0); + $21_1 = $250(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = $21_1; + label$2 : { + label$3 : { + if (!((HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $286(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + break label$2; + } + $31_1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[($31_1 + 4 | 0) >> 2] = (HEAP32[($31_1 + 4 | 0) >> 2] | 0) + 1 | 0; + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1939($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 8 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $280(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0); + $253(HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] = 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1940($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $280(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1941($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 8 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[($16_1 + 4 | 0) >> 2] = (HEAP32[($16_1 + 4 | 0) >> 2] | 0) + -1 | 0; + label$2 : { + if (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$2 + } + $253(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = 0; + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1942($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$0 = 0, $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0.0, i64toi32_i32$6 = 0, i64toi32_i32$3 = 0, $68$hi = 0, $75$hi = 0, $76$hi = 0, $20_1 = 0, $80_1 = 0.0, $29_1 = 0, $30_1 = 0, $61_1 = 0, $61$hi = 0, $85_1 = 0.0, $31_1 = 0, $32_1 = 0, $65_1 = 0, $65$hi = 0, $70$hi = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $72$hi = 0, $73$hi = 0, i64toi32_i32$5 = 0, $138_1 = 0, $75_1 = 0, $221_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $20_1 = ($342(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$4 : { + label$5 : { + switch ($20_1 | 0) { + case 0: + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $138_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $138_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + break label$4; + case 1: + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0)), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + $80_1 = +HEAPF64[$5_1 >> 3]; + label$8 : { + label$9 : { + if (!(Math_abs($80_1) < 9223372036854775808.0)) { + break label$9 + } + i64toi32_i32$2 = $80_1; + if (Math_abs(i64toi32_i32$2) >= 1.0) { + if (i64toi32_i32$2 > 0.0) { + $29_1 = ~~Math_min(Math_floor(i64toi32_i32$2 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $29_1 = ~~Math_ceil((i64toi32_i32$2 - +(~~i64toi32_i32$2 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $30_1 = $29_1; + } else { + $30_1 = 0 + } + i64toi32_i32$1 = $30_1; + $61_1 = ~~i64toi32_i32$2 >>> 0; + $61$hi = i64toi32_i32$1; + break label$8; + } + i64toi32_i32$1 = -2147483648; + $61_1 = 0; + $61$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $61$hi; + i64toi32_i32$0 = $61_1; + i64toi32_i32$3 = 0; + label$10 : { + if (!(+(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0) != +HEAPF64[$5_1 >> 3] & 1 | 0)) { + break label$10 + } + break label$2; + } + $85_1 = +HEAPF64[$5_1 >> 3]; + label$11 : { + label$12 : { + if (!(Math_abs($85_1) < 9223372036854775808.0)) { + break label$12 + } + i64toi32_i32$2 = $85_1; + if (Math_abs(i64toi32_i32$2) >= 1.0) { + if (i64toi32_i32$2 > 0.0) { + $31_1 = ~~Math_min(Math_floor(i64toi32_i32$2 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $31_1 = ~~Math_ceil((i64toi32_i32$2 - +(~~i64toi32_i32$2 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $32_1 = $31_1; + } else { + $32_1 = 0 + } + i64toi32_i32$1 = $32_1; + $65_1 = ~~i64toi32_i32$2 >>> 0; + $65$hi = i64toi32_i32$1; + break label$11; + } + i64toi32_i32$1 = -2147483648; + $65_1 = 0; + $65$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $65$hi; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $65_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + break label$4; + default: + break label$5; + }; + } + break label$2; + } + i64toi32_i32$1 = 0; + $68$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $70$hi = i64toi32_i32$0; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$4 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $33_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 > i64toi32_i32$4 >>> 0) { + $34_1 = 0 + } else { + $34_1 = 1 + } + $35_1 = $34_1; + } else { + $35_1 = 0 + } + $33_1 = $35_1; + } + label$13 : { + if (!($33_1 & 1 | 0)) { + break label$13 + } + break label$2; + } + $36_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = $36_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $72$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $73$hi = i64toi32_i32$0; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$3 = $73$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$6 = i64toi32_i32$6 + 1 | 0 + } + i64toi32_i32$4 = $36_1; + HEAP32[i64toi32_i32$4 >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$6; + i64toi32_i32$0 = $5_1; + i64toi32_i32$6 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $75_1 = i64toi32_i32$6; + $75$hi = i64toi32_i32$4; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$6 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $76$hi = i64toi32_i32$6; + i64toi32_i32$6 = $75$hi; + i64toi32_i32$6 = $76$hi; + i64toi32_i32$6 = $75$hi; + i64toi32_i32$6 = $76$hi; + $221_1 = i64toi32_i32$4; + i64toi32_i32$6 = $75$hi; + i64toi32_i32$0 = $75_1; + i64toi32_i32$4 = $76$hi; + i64toi32_i32$1 = $221_1; + label$14 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$6 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$14 + } + $44_1 = $250(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = $44_1; + label$15 : { + if ((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$15 + } + $286(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + } + } + } + break label$1; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 32976 | 0, -1 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1943($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $280(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $253(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1944($0_1) { + $0_1 = $0_1 | 0; + HEAP32[((global$0 - 16 | 0) + 12 | 0) >> 2] = $0_1; + return; + } + + function $1945($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + $27_1 = $250(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] = $27_1; + label$2 : { + if ((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + $286(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $1946($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $280(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $253(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1947($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + label$1 : { + if ($1948(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0) { + break label$1 + } + $1949($5_1 | 0); + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $260(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, +((+(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0)) / 864.0e5)); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $1948($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $107_1 = 0, $7_1 = 0, $25_1 = 0, $97_1 = 0, i64toi32_i32$2 = 0, $104_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + $7_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $107_1 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $107_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $107_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $107_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $107_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $107_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $107_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (HEAP32[($6_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $1960(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $25_1 = $248(HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $25_1; + label$3 : { + label$4 : { + label$5 : { + if (($25_1 | 0) == (2 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + } + $1961(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, +(+$65(HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0))); + break label$3; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if (!($1962(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($6_1 + 24 | 0) >> 2] = 1; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : { + if ((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$11 + } + if (!($1963(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$10 + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + $1949(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0); + $97_1 = 24; + label$12 : { + label$13 : { + if (((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 46 | 0) >> 0] | 0) << $97_1 | 0) >> $97_1 | 0) { + break label$13 + } + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + if ($1964(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0) { + break label$12 + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $104_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $104_1 | 0; + } + + function $1949($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0.0, i64toi32_i32$5 = 0, i64toi32_i32$6 = 0, i64toi32_i32$4 = 0, $153$hi = 0, $135_1 = 0, $30_1 = 0, $48_1 = 0, $166_1 = 0.0, $31_1 = 0, $32_1 = 0, $148_1 = 0, $148$hi = 0, $151$hi = 0, $171_1 = 0.0, $33_1 = 0, $34_1 = 0, $153_1 = 0, $156$hi = 0, $125_1 = 0, $159$hi = 0, $141_1 = 0, $65_1 = 0, $66_1 = 0, $111_1 = 0, $151_1 = 0, $463$hi = 0, $159_1 = 0, $500$hi = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 42 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$3; + } + $30_1 = 1; + HEAP32[($3_1 + 24 | 0) >> 2] = 2e3; + HEAP32[($3_1 + 20 | 0) >> 2] = $30_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $30_1; + } + label$5 : { + label$6 : { + if ((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (-4713 | 0) & 1 | 0) { + break label$6 + } + if ((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) > (9999 | 0) & 1 | 0) { + break label$6 + } + $48_1 = 24; + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 41 | 0) >> 0] | 0) << $48_1 | 0) >> $48_1 | 0)) { + break label$5 + } + } + $1965(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + break label$1; + } + label$7 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) <= (2 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0; + } + $65_1 = 0; + $66_1 = 1; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) / (100 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (2 - (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) / (4 | 0) | 0) | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = (Math_imul((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4716 | 0, 36525) | 0) / (100 | 0) | 0; + HEAP32[$3_1 >> 2] = (Math_imul((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0, 306001) | 0) / (1e4 | 0) | 0; + $166_1 = (+((((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + (HEAP32[$3_1 >> 2] | 0) | 0) + (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0) + (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0 | 0) - 1524.5) * 864.0e5; + label$8 : { + label$9 : { + if (!(Math_abs($166_1) < 9223372036854775808.0)) { + break label$9 + } + i64toi32_i32$0 = $166_1; + if (Math_abs(i64toi32_i32$0) >= 1.0) { + if (i64toi32_i32$0 > 0.0) { + $31_1 = ~~Math_min(Math_floor(i64toi32_i32$0 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $31_1 = ~~Math_ceil((i64toi32_i32$0 - +(~~i64toi32_i32$0 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $32_1 = $31_1; + } else { + $32_1 = 0 + } + i64toi32_i32$1 = $32_1; + $148_1 = ~~i64toi32_i32$0 >>> 0; + $148$hi = i64toi32_i32$1; + break label$8; + } + i64toi32_i32$1 = -2147483648; + $148_1 = 0; + $148$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $148$hi; + i64toi32_i32$2 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $148_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 0] = $66_1; + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != ($65_1 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $111_1 = 0; + i64toi32_i32$2 = Math_imul(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0, 36e5) + Math_imul(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0, 6e4) | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $151_1 = i64toi32_i32$2; + $151$hi = i64toi32_i32$1; + $171_1 = +HEAPF64[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 3] * 1.0e3; + label$10 : { + label$11 : { + if (!(Math_abs($171_1) < 9223372036854775808.0)) { + break label$11 + } + i64toi32_i32$0 = $171_1; + if (Math_abs(i64toi32_i32$0) >= 1.0) { + if (i64toi32_i32$0 > 0.0) { + $33_1 = ~~Math_min(Math_floor(i64toi32_i32$0 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $33_1 = ~~Math_ceil((i64toi32_i32$0 - +(~~i64toi32_i32$0 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $34_1 = $33_1; + } else { + $34_1 = 0 + } + i64toi32_i32$1 = $34_1; + $153_1 = ~~i64toi32_i32$0 >>> 0; + $153$hi = i64toi32_i32$1; + break label$10; + } + i64toi32_i32$1 = -2147483648; + $153_1 = 0; + $153$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $153$hi; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$1 = $153$hi; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$3 = $151_1; + i64toi32_i32$2 = $153$hi; + i64toi32_i32$4 = $153_1; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + i64toi32_i32$6 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$6 = i64toi32_i32$6 + 1 | 0 + } + $156$hi = i64toi32_i32$6; + $125_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = $125_1; + i64toi32_i32$6 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $463$hi = i64toi32_i32$3; + i64toi32_i32$3 = $156$hi; + i64toi32_i32$3 = $463$hi; + i64toi32_i32$1 = i64toi32_i32$6; + i64toi32_i32$6 = $156$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$6 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = $125_1; + HEAP32[i64toi32_i32$1 >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$5; + label$12 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0) != ($111_1 & 255 | 0 | 0) & 1 | 0)) { + break label$12 + } + $135_1 = 0; + i64toi32_i32$1 = Math_imul(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0, 6e4); + i64toi32_i32$5 = i64toi32_i32$1 >> 31 | 0; + $159_1 = i64toi32_i32$1; + $159$hi = i64toi32_i32$5; + $141_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$3 = $141_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $500$hi = i64toi32_i32$1; + i64toi32_i32$1 = $159$hi; + i64toi32_i32$1 = $500$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $159$hi; + i64toi32_i32$4 = $159_1; + i64toi32_i32$6 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + i64toi32_i32$2 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0) + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$2 | 0; + i64toi32_i32$3 = $141_1; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$6; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 42 | 0) >> 0] = $135_1; + HEAP8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 43 | 0) >> 0] = $135_1; + HEAP8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 0] = $135_1; + } + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $1950($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $24_1 = 0, $19_1 = 0, $20_1 = 0; + $5_1 = global$0 - 192 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 188 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 184 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 180 | 0) >> 2] = $2_1; + label$1 : { + if ($1948(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, $5_1 + 128 | 0 | 0) | 0) { + break label$1 + } + $1951($5_1 + 128 | 0 | 0); + $19_1 = HEAP32[($5_1 + 136 | 0) >> 2] | 0; + $20_1 = HEAP32[($5_1 + 140 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 144 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $20_1; + HEAP32[$5_1 >> 2] = $19_1; + $81(100 | 0, $5_1 + 16 | 0 | 0, 40810 | 0, $5_1 | 0) | 0; + $24_1 = -1; + $277(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0, $24_1 | 0, $24_1 | 0); + } + global$0 = $5_1 + 192 | 0; + return; + } + + function $1951($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $24_1 = 0, $132_1 = 0.0, $127$hi = 0, $128$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $129$hi = 0, $130$hi = 0, $139_1 = 0.0, $39_1 = 0, $144_1 = 0.0, $58_1 = 0, $148_1 = 0.0, $74_1 = 0, $152_1 = 0.0, $81_1 = 0, $99_1 = 0, $116_1 = 0, $32_1 = 0, $133_1 = 0.0, $134_1 = 0.0, $135_1 = 0.0, $136_1 = 0.0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 42 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$4 + } + $24_1 = 1; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = 2e3; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = $24_1; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = $24_1; + break label$3; + } + i64toi32_i32$2 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + label$5 : { + if ($1964(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0) { + break label$5 + } + $1965(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + break label$1; + } + $32_1 = 14; + $132_1 = 30.6001; + $133_1 = 365.25; + $134_1 = 122.1; + $135_1 = 36524.25; + $136_1 = 1867216.25; + i64toi32_i32$2 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $127$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $128$hi = i64toi32_i32$0; + i64toi32_i32$0 = $127$hi; + i64toi32_i32$0 = $128$hi; + i64toi32_i32$0 = $127$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $128$hi; + i64toi32_i32$3 = 432e5; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $129$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $130$hi = i64toi32_i32$5; + i64toi32_i32$5 = $129$hi; + i64toi32_i32$5 = $130$hi; + i64toi32_i32$5 = $129$hi; + i64toi32_i32$2 = $130$hi; + i64toi32_i32$2 = __wasm_i64_sdiv(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, 864e5 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + HEAP32[($3_1 + 24 | 0) >> 2] = i64toi32_i32$2; + $139_1 = (+(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) - $136_1) / $135_1; + label$6 : { + label$7 : { + if (!(Math_abs($139_1) < 2147483648.0)) { + break label$7 + } + $39_1 = ~~$139_1; + break label$6; + } + $39_1 = -2147483648; + } + HEAP32[($3_1 + 20 | 0) >> 2] = $39_1; + HEAP32[($3_1 + 20 | 0) >> 2] = (((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0) + (HEAP32[($3_1 + 20 | 0) >> 2] | 0) | 0) - ((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) / (4 | 0) | 0) | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1524 | 0; + $144_1 = (+(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) - $134_1) / $133_1; + label$8 : { + label$9 : { + if (!(Math_abs($144_1) < 2147483648.0)) { + break label$9 + } + $58_1 = ~~$144_1; + break label$8; + } + $58_1 = -2147483648; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $58_1; + HEAP32[($3_1 + 8 | 0) >> 2] = (Math_imul((HEAP32[($3_1 + 12 | 0) >> 2] | 0) & 32767 | 0, 36525) | 0) / (100 | 0) | 0; + $148_1 = +((HEAP32[($3_1 + 16 | 0) >> 2] | 0) - (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0 | 0) / $132_1; + label$10 : { + label$11 : { + if (!(Math_abs($148_1) < 2147483648.0)) { + break label$11 + } + $74_1 = ~~$148_1; + break label$10; + } + $74_1 = -2147483648; + } + HEAP32[($3_1 + 4 | 0) >> 2] = $74_1; + $152_1 = $132_1 * +(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + label$12 : { + label$13 : { + if (!(Math_abs($152_1) < 2147483648.0)) { + break label$13 + } + $81_1 = ~~$152_1; + break label$12; + } + $81_1 = -2147483648; + } + HEAP32[$3_1 >> 2] = $81_1; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) - (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0) - (HEAP32[$3_1 >> 2] | 0) | 0; + label$14 : { + label$15 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < ($32_1 | 0) & 1 | 0)) { + break label$15 + } + $99_1 = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) - 1 | 0; + break label$14; + } + $99_1 = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) - 13 | 0; + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = $99_1; + label$16 : { + label$17 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$17 + } + $116_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) - 4716 | 0; + break label$16; + } + $116_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) - 4715 | 0; + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = $116_1; + } + HEAP8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 42 | 0) >> 0] = 1; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $1952($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $36_1 = 0.0, $24_1 = 0, $29_1 = 0, $15_1 = 0, $19_1 = 0, $20_1 = 0; + $5_1 = global$0 - 192 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 188 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 184 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 180 | 0) >> 2] = $2_1; + label$1 : { + if ($1948(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, $5_1 + 128 | 0 | 0) | 0) { + break label$1 + } + $15_1 = $5_1 + 16 | 0; + $1953($5_1 + 128 | 0 | 0); + $19_1 = HEAP32[($5_1 + 148 | 0) >> 2] | 0; + $20_1 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + $36_1 = +HEAPF64[($5_1 + 160 | 0) >> 3]; + label$2 : { + label$3 : { + if (!(Math_abs($36_1) < 2147483648.0)) { + break label$3 + } + $24_1 = ~~$36_1; + break label$2; + } + $24_1 = -2147483648; + } + HEAP32[($5_1 + 8 | 0) >> 2] = $24_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $20_1; + HEAP32[$5_1 >> 2] = $19_1; + $81(100 | 0, $15_1 | 0, 40825 | 0, $5_1 | 0) | 0; + $29_1 = -1; + $277(HEAP32[($5_1 + 188 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0, $29_1 | 0, $29_1 | 0); + } + global$0 = $5_1 + 192 | 0; + return; + } + + function $1953($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $55$hi = 0, $56$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $57$hi = 0, $58$hi = 0, $63_1 = 0.0, $25_1 = 0, $29_1 = 0, $50_1 = 0, $14_1 = 0, $15_1 = 0, $60_1 = 0.0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $14_1 = 1; + $15_1 = 0; + $60_1 = 1.0e3; + $1949(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $55$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $56$hi = i64toi32_i32$1; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$2 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$3 = 432e5; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $56$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $57$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $58$hi = i64toi32_i32$5; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$5 = $58$hi; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$2 = __wasm_i64_srem(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, 864e5 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + HEAP32[($3_1 + 8 | 0) >> 2] = i64toi32_i32$2; + HEAPF64[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 3] = +(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) / $60_1; + $63_1 = +HEAPF64[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 3]; + label$3 : { + label$4 : { + if (!(Math_abs($63_1) < 2147483648.0)) { + break label$4 + } + $25_1 = ~~$63_1; + break label$3; + } + $25_1 = -2147483648; + } + HEAP32[($3_1 + 8 | 0) >> 2] = $25_1; + $29_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAPF64[($29_1 + 32 | 0) >> 3] = +HEAPF64[($29_1 + 32 | 0) >> 3] - +(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) / (3600 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) - Math_imul(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0, 3600) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) / (60 | 0) | 0; + $50_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAPF64[($50_1 + 32 | 0) >> 3] = +HEAPF64[($50_1 + 32 | 0) >> 3] + +((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - Math_imul(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0, 60) | 0 | 0); + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 41 | 0) >> 0] = $15_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] = $14_1; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1954($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $43_1 = 0.0, $27_1 = 0, $36_1 = 0, $15_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0; + $5_1 = global$0 - 208 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 204 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 200 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 196 | 0) >> 2] = $2_1; + label$1 : { + if ($1948(HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, $5_1 + 144 | 0 | 0) | 0) { + break label$1 + } + $15_1 = $5_1 + 32 | 0; + $1955($5_1 + 144 | 0 | 0); + $19_1 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + $20_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + $21_1 = HEAP32[($5_1 + 160 | 0) >> 2] | 0; + $22_1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $23_1 = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + $43_1 = +HEAPF64[($5_1 + 176 | 0) >> 3]; + label$2 : { + label$3 : { + if (!(Math_abs($43_1) < 2147483648.0)) { + break label$3 + } + $27_1 = ~~$43_1; + break label$2; + } + $27_1 = -2147483648; + } + HEAP32[($5_1 + 20 | 0) >> 2] = $27_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $23_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $22_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $21_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $20_1; + HEAP32[$5_1 >> 2] = $19_1; + $81(100 | 0, $15_1 | 0, 40840 | 0, $5_1 | 0) | 0; + $36_1 = -1; + $277(HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0, $36_1 | 0, $36_1 | 0); + } + global$0 = $5_1 + 208 | 0; + return; + } + + function $1955($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $1951(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $1953(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1956($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, $183_1 = 0, $188_1 = 0, $382$hi = 0, $386$hi = 0, $387$hi = 0, i64toi32_i32$6 = 0, $48_1 = 0, $63_1 = 0, $364$hi = 0, $365$hi = 0, $367$hi = 0, $368$hi = 0, $370$hi = 0, $371$hi = 0, $373$hi = 0, $374$hi = 0, $376$hi = 0, $377$hi = 0, $379$hi = 0, $380$hi = 0, $384$hi = 0, $96_1 = 0, $99_1 = 0, $117_1 = 0, $130_1 = 0, $142_1 = 0, $184_1 = 0, $189_1 = 0, $192_1 = 0, $195_1 = 0, $198_1 = 0, $201_1 = 0, $398$hi = 0, $399$hi = 0, $400$hi = 0, $401$hi = 0, $402$hi = 0, $403$hi = 0, $209_1 = 0, $405$hi = 0, $406$hi = 0, $407$hi = 0, $408$hi = 0, $409$hi = 0, $410$hi = 0, $413$hi = 0, $414$hi = 0, $415$hi = 0, $416$hi = 0, $434_1 = 0.0, $298_1 = 0, $419$hi = 0, $420$hi = 0, $421$hi = 0, $422$hi = 0, $423$hi = 0, $424$hi = 0, $309_1 = 0, $315_1 = 0, $335_1 = 0, $342_1 = 0, $386_1 = 0, $656_1 = 0, $128_1 = 0, $129_1 = 0, $146_1 = 0, $158_1 = 0, $166_1 = 0, $171_1 = 0, $180_1 = 0, $910_1 = 0, $920_1 = 0, $930_1 = 0, $940_1 = 0, $950_1 = 0, $960_1 = 0, $398_1 = 0, $973_1 = 0, $100_1 = 0, $220_1 = 0, $237_1 = 0, $250_1 = 0, $258_1 = 0, $263_1 = 0, $274_1 = 0, $101_1 = 0, $289_1 = 0, $294_1 = 0, $102_1 = 0, $314_1 = 0, $321_1 = 0, $330_1 = 0, $334_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 432 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 428 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 424 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 420 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 424 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 420 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 340 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if ((HEAP32[($5_1 + 340 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$4 + } + if (!($1948(HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 424 | 0) >> 2] | 0) - 1 | 0 | 0, (HEAP32[($5_1 + 420 | 0) >> 2] | 0) + 4 | 0 | 0, $5_1 + 368 | 0 | 0) | 0)) { + break label$3 + } + } + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $303(HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 344 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 356 | 0) >> 2] = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 360 | 0) >> 2] = 1; + HEAP32[($5_1 + 364 | 0) >> 2] = i64toi32_i32$0; + label$5 : { + label$6 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + (HEAP32[($5_1 + 356 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $48_1 = 24; + label$7 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + (HEAP32[($5_1 + 356 | 0) >> 2] | 0) | 0) >> 0] | 0) << $48_1 | 0) >> $48_1 | 0 | 0) == (37 | 0) & 1 | 0)) { + break label$7 + } + $63_1 = (HEAP8[(((HEAP32[($5_1 + 356 | 0) >> 2] | 0) + (HEAP32[($5_1 + 340 | 0) >> 2] | 0) | 0) + 1 | 0) >> 0] | 0) + -37 | 0; + label$8 : { + label$9 : { + switch ($63_1 | 0) { + case 35: + case 40: + case 46: + case 50: + case 63: + case 72: + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 364 | 0) >> 2] | 0; + $364$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $365$hi = i64toi32_i32$1; + i64toi32_i32$1 = $364$hi; + i64toi32_i32$1 = $365$hi; + i64toi32_i32$1 = $364$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $365$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 360 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 364 | 0) >> 2] = i64toi32_i32$5; + case 0: + case 82: + break label$8; + case 65: + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 364 | 0) >> 2] | 0; + $367$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $368$hi = i64toi32_i32$2; + i64toi32_i32$2 = $367$hi; + i64toi32_i32$2 = $368$hi; + i64toi32_i32$2 = $367$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $368$hi; + i64toi32_i32$3 = 8; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 360 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 364 | 0) >> 2] = i64toi32_i32$4; + break label$8; + case 69: + i64toi32_i32$2 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 364 | 0) >> 2] | 0; + $370$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $371$hi = i64toi32_i32$1; + i64toi32_i32$1 = $370$hi; + i64toi32_i32$1 = $371$hi; + i64toi32_i32$1 = $370$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $371$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 360 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 364 | 0) >> 2] = i64toi32_i32$0; + break label$8; + case 52: + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 364 | 0) >> 2] | 0; + $373$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $374$hi = i64toi32_i32$2; + i64toi32_i32$2 = $373$hi; + i64toi32_i32$2 = $374$hi; + i64toi32_i32$2 = $373$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $374$hi; + i64toi32_i32$3 = 8; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 360 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 364 | 0) >> 2] = i64toi32_i32$5; + break label$8; + case 37: + case 78: + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 364 | 0) >> 2] | 0; + $376$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $377$hi = i64toi32_i32$1; + i64toi32_i32$1 = $376$hi; + i64toi32_i32$1 = $377$hi; + i64toi32_i32$1 = $376$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $377$hi; + i64toi32_i32$3 = 50; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 360 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 364 | 0) >> 2] = i64toi32_i32$4; + break label$8; + default: + break label$9; + }; + } + break label$1; + } + HEAP32[($5_1 + 356 | 0) >> 2] = (HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($5_1 + 356 | 0) >> 2] = (HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 364 | 0) >> 2] | 0; + $379$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $380$hi = i64toi32_i32$2; + i64toi32_i32$2 = $379$hi; + i64toi32_i32$2 = $380$hi; + i64toi32_i32$2 = $379$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$4 = $380$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 360 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 364 | 0) >> 2] = i64toi32_i32$0; + continue label$6; + }; + } + i64toi32_i32$0 = 0; + $382$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 364 | 0) >> 2] | 0; + $384$hi = i64toi32_i32$1; + i64toi32_i32$1 = $382$hi; + i64toi32_i32$1 = $384$hi; + i64toi32_i32$1 = $382$hi; + i64toi32_i32$1 = $384$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $382$hi; + i64toi32_i32$3 = 100; + label$16 : { + label$17 : { + if (!((i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($5_1 + 348 | 0) >> 2] = $5_1 + 240 | 0; + break label$16; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 364 | 0) >> 2] | 0; + $386_1 = i64toi32_i32$2; + $386$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 344 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $387$hi = i64toi32_i32$1; + i64toi32_i32$1 = $386$hi; + i64toi32_i32$1 = $387$hi; + i64toi32_i32$1 = $386$hi; + i64toi32_i32$1 = $387$hi; + $656_1 = i64toi32_i32$2; + i64toi32_i32$1 = $386$hi; + i64toi32_i32$3 = $386_1; + i64toi32_i32$2 = $387$hi; + i64toi32_i32$0 = $656_1; + label$18 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$3 >>> 0 > i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { + break label$18 + } + $257(HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0); + break label$1; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 360 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 364 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $365(HEAP32[($5_1 + 344 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 348 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + if (!((HEAP32[($5_1 + 348 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$19 + } + $286(HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0); + break label$1; + } + } + $96_1 = 0; + $99_1 = $5_1 + 368 | 0; + $1949($99_1 | 0); + $1955($99_1 | 0); + HEAP32[($5_1 + 352 | 0) >> 2] = $96_1; + HEAP32[($5_1 + 356 | 0) >> 2] = $96_1; + label$20 : { + label$21 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + (HEAP32[($5_1 + 356 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$20 + } + $117_1 = 24; + label$22 : { + label$23 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + (HEAP32[($5_1 + 356 | 0) >> 2] | 0) | 0) >> 0] | 0) << $117_1 | 0) >> $117_1 | 0 | 0) != (37 | 0) & 1 | 0)) { + break label$23 + } + $128_1 = HEAPU8[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + (HEAP32[($5_1 + 356 | 0) >> 2] | 0) | 0) >> 0] | 0; + $129_1 = HEAP32[($5_1 + 348 | 0) >> 2] | 0; + $130_1 = HEAP32[($5_1 + 352 | 0) >> 2] | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = $130_1 + 1 | 0; + HEAP8[($129_1 + $130_1 | 0) >> 0] = $128_1; + break label$22; + } + HEAP32[($5_1 + 356 | 0) >> 2] = (HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 1 | 0; + $142_1 = (HEAP8[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + (HEAP32[($5_1 + 356 | 0) >> 2] | 0) | 0) >> 0] | 0) + -72 | 0; + label$24 : { + label$25 : { + switch ($142_1 | 0) { + case 28: + $146_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 384 | 0) >> 2] | 0; + $81(3 | 0, $146_1 | 0, 40870 | 0, $5_1 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 2 | 0; + break label$24; + case 30: + HEAPF64[($5_1 + 232 | 0) >> 3] = +HEAPF64[($5_1 + 400 | 0) >> 3]; + label$37 : { + if (!(+HEAPF64[($5_1 + 232 | 0) >> 3] > 59.999 & 1 | 0)) { + break label$37 + } + HEAPF64[($5_1 + 232 | 0) >> 3] = 59.999; + } + $158_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + HEAPF64[($5_1 + 16 | 0) >> 3] = +HEAPF64[($5_1 + 232 | 0) >> 3]; + $81(7 | 0, $158_1 | 0, 40875 | 0, $5_1 + 16 | 0 | 0) | 0; + $166_1 = $68((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + $166_1 | 0; + break label$24; + case 0: + $171_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 388 | 0) >> 2] | 0; + $81(3 | 0, $171_1 | 0, 40870 | 0, $5_1 + 32 | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 2 | 0; + break label$24; + case 15: + case 34: + $180_1 = 87; + $183_1 = $5_1 + 176 | 0; + $184_1 = 1; + $188_1 = $5_1 + 368 | 0; + i64toi32_i32$0 = $188_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $910_1 = i64toi32_i32$1; + i64toi32_i32$1 = $183_1; + HEAP32[i64toi32_i32$1 >> 2] = $910_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + $189_1 = 40; + i64toi32_i32$0 = i64toi32_i32$0 + $189_1 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $920_1 = i64toi32_i32$3; + i64toi32_i32$3 = $183_1 + $189_1 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $920_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$1; + $192_1 = 32; + i64toi32_i32$0 = $188_1 + $192_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $930_1 = i64toi32_i32$1; + i64toi32_i32$1 = $183_1 + $192_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $930_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + $195_1 = 24; + i64toi32_i32$0 = $188_1 + $195_1 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $940_1 = i64toi32_i32$3; + i64toi32_i32$3 = $183_1 + $195_1 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $940_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$1; + $198_1 = 16; + i64toi32_i32$0 = $188_1 + $198_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $950_1 = i64toi32_i32$1; + i64toi32_i32$1 = $183_1 + $198_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $950_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + $201_1 = 8; + i64toi32_i32$0 = $188_1 + $201_1 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $960_1 = i64toi32_i32$3; + i64toi32_i32$3 = $183_1 + $201_1 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $960_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP8[($5_1 + 216 | 0) >> 0] = 0; + HEAP32[($5_1 + 188 | 0) >> 2] = $184_1; + HEAP32[($5_1 + 192 | 0) >> 2] = $184_1; + $1949($183_1 | 0); + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 368 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 372 | 0) >> 2] | 0; + $398_1 = i64toi32_i32$1; + $398$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 180 | 0) >> 2] | 0; + $399$hi = i64toi32_i32$1; + i64toi32_i32$1 = $398$hi; + i64toi32_i32$1 = $399$hi; + $973_1 = i64toi32_i32$3; + i64toi32_i32$1 = $398$hi; + i64toi32_i32$0 = $398_1; + i64toi32_i32$3 = $399$hi; + i64toi32_i32$2 = $973_1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $400$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $401$hi = i64toi32_i32$5; + i64toi32_i32$5 = $400$hi; + i64toi32_i32$5 = $401$hi; + i64toi32_i32$5 = $400$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $401$hi; + i64toi32_i32$2 = 432e5; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $402$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $403$hi = i64toi32_i32$4; + i64toi32_i32$4 = $402$hi; + i64toi32_i32$4 = $403$hi; + i64toi32_i32$4 = $402$hi; + i64toi32_i32$1 = $403$hi; + i64toi32_i32$1 = __wasm_i64_sdiv(i64toi32_i32$3 | 0, i64toi32_i32$4 | 0, 864e5 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + HEAP32[($5_1 + 228 | 0) >> 2] = i64toi32_i32$1; + $209_1 = 24; + label$38 : { + label$39 : { + if (!((((HEAPU8[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + (HEAP32[($5_1 + 356 | 0) >> 2] | 0) | 0) >> 0] | 0) << $209_1 | 0) >> $209_1 | 0 | 0) == ($180_1 | 0) & 1 | 0)) { + break label$39 + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 368 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 372 | 0) >> 2] | 0; + $405$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $406$hi = i64toi32_i32$1; + i64toi32_i32$1 = $405$hi; + i64toi32_i32$1 = $406$hi; + i64toi32_i32$1 = $405$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$4 = $406$hi; + i64toi32_i32$2 = 432e5; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $407$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $408$hi = i64toi32_i32$3; + i64toi32_i32$3 = $407$hi; + i64toi32_i32$3 = $408$hi; + i64toi32_i32$3 = $407$hi; + i64toi32_i32$5 = $408$hi; + i64toi32_i32$5 = __wasm_i64_sdiv(i64toi32_i32$0 | 0, i64toi32_i32$3 | 0, 864e5 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $409$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $410$hi = i64toi32_i32$3; + i64toi32_i32$3 = $409$hi; + i64toi32_i32$3 = $410$hi; + i64toi32_i32$3 = $409$hi; + $100_1 = i64toi32_i32$5; + i64toi32_i32$5 = $410$hi; + i64toi32_i32$5 = __wasm_i64_srem($100_1 | 0, i64toi32_i32$3 | 0, 7 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + HEAP32[($5_1 + 172 | 0) >> 2] = i64toi32_i32$5; + $220_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = (((HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 7 | 0) - (HEAP32[($5_1 + 172 | 0) >> 2] | 0) | 0 | 0) / (7 | 0) | 0; + $81(3 | 0, $220_1 | 0, 40870 | 0, $5_1 + 48 | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 2 | 0; + break label$38; + } + $237_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 228 | 0) >> 2] | 0) + 1 | 0; + $81(4 | 0, $237_1 | 0, 40882 | 0, $5_1 + 64 | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 3 | 0; + } + break label$24; + case 2: + $250_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 368 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 372 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + HEAPF64[($5_1 + 80 | 0) >> 3] = (+(i64toi32_i32$3 >>> 0) + 4294967296.0 * +(i64toi32_i32$5 | 0)) / 864.0e5; + $81(20 | 0, $250_1 | 0, 5270 | 0, $5_1 + 80 | 0 | 0) | 0; + $258_1 = $68((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + $258_1 | 0; + break label$24; + case 37: + $263_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[($5_1 + 380 | 0) >> 2] | 0; + $81(3 | 0, $263_1 | 0, 40870 | 0, $5_1 + 96 | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 2 | 0; + break label$24; + case 5: + $274_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 112 | 0) >> 2] = HEAP32[($5_1 + 392 | 0) >> 2] | 0; + $81(3 | 0, $274_1 | 0, 40870 | 0, $5_1 + 112 | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 2 | 0; + break label$24; + case 43: + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 368 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 372 | 0) >> 2] | 0; + $413$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $414$hi = i64toi32_i32$3; + i64toi32_i32$3 = $413$hi; + i64toi32_i32$3 = $414$hi; + i64toi32_i32$3 = $413$hi; + $101_1 = i64toi32_i32$5; + i64toi32_i32$5 = $414$hi; + i64toi32_i32$5 = __wasm_i64_sdiv($101_1 | 0, i64toi32_i32$3 | 0, 1e3 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $415$hi = i64toi32_i32$3; + i64toi32_i32$3 = 49; + $416$hi = i64toi32_i32$3; + i64toi32_i32$3 = $415$hi; + i64toi32_i32$3 = $416$hi; + i64toi32_i32$3 = $415$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $416$hi; + i64toi32_i32$2 = 413362496; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 160 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 164 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 160 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $880(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0 | 0); + $289_1 = $68((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + $289_1 | 0; + break label$24; + case 11: + $294_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + $434_1 = +HEAPF64[($5_1 + 400 | 0) >> 3]; + label$40 : { + label$41 : { + if (!(Math_abs($434_1) < 2147483648.0)) { + break label$41 + } + $298_1 = ~~$434_1; + break label$40; + } + $298_1 = -2147483648; + } + HEAP32[($5_1 + 128 | 0) >> 2] = $298_1; + $81(3 | 0, $294_1 | 0, 40870 | 0, $5_1 + 128 | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 2 | 0; + break label$24; + case 47: + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 368 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 372 | 0) >> 2] | 0; + $419$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $420$hi = i64toi32_i32$0; + i64toi32_i32$0 = $419$hi; + i64toi32_i32$0 = $420$hi; + i64toi32_i32$0 = $419$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $420$hi; + i64toi32_i32$2 = 1296e5; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $421$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $422$hi = i64toi32_i32$4; + i64toi32_i32$4 = $421$hi; + i64toi32_i32$4 = $422$hi; + i64toi32_i32$4 = $421$hi; + i64toi32_i32$3 = $422$hi; + i64toi32_i32$3 = __wasm_i64_sdiv(i64toi32_i32$5 | 0, i64toi32_i32$4 | 0, 864e5 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $423$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $424$hi = i64toi32_i32$4; + i64toi32_i32$4 = $423$hi; + i64toi32_i32$4 = $424$hi; + i64toi32_i32$4 = $423$hi; + $102_1 = i64toi32_i32$3; + i64toi32_i32$3 = $424$hi; + i64toi32_i32$3 = __wasm_i64_srem($102_1 | 0, i64toi32_i32$4 | 0, 7 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $309_1 = 24; + $314_1 = HEAP32[($5_1 + 348 | 0) >> 2] | 0; + $315_1 = HEAP32[($5_1 + 352 | 0) >> 2] | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = $315_1 + 1 | 0; + HEAP8[($314_1 + $315_1 | 0) >> 0] = ((i64toi32_i32$3 << $309_1 | 0) >> $309_1 | 0) + 48 | 0; + break label$24; + case 17: + $321_1 = (HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 144 | 0) >> 2] = HEAP32[($5_1 + 376 | 0) >> 2] | 0; + $81(5 | 0, $321_1 | 0, 40887 | 0, $5_1 + 144 | 0 | 0) | 0; + $330_1 = $68((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = (HEAP32[($5_1 + 352 | 0) >> 2] | 0) + $330_1 | 0; + break label$24; + default: + break label$25; + }; + } + $334_1 = HEAP32[($5_1 + 348 | 0) >> 2] | 0; + $335_1 = HEAP32[($5_1 + 352 | 0) >> 2] | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = $335_1 + 1 | 0; + HEAP8[($334_1 + $335_1 | 0) >> 0] = 37; + } + } + HEAP32[($5_1 + 356 | 0) >> 2] = (HEAP32[($5_1 + 356 | 0) >> 2] | 0) + 1 | 0; + continue label$21; + }; + } + $342_1 = -1; + HEAP8[((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + (HEAP32[($5_1 + 352 | 0) >> 2] | 0) | 0) >> 0] = 0; + $277(HEAP32[($5_1 + 428 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 348 | 0) >> 2] | 0 | 0, $342_1 | 0, ((HEAP32[($5_1 + 348 | 0) >> 2] | 0 | 0) == ($5_1 + 240 | 0 | 0) & 1 | 0 ? $342_1 : 1) | 0); + } + global$0 = $5_1 + 432 | 0; + return; + } + + function $1957($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $1952(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $6_1 | 0, $6_1 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1958($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $1954(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $6_1 | 0, $6_1 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1959($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $1950(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $6_1 | 0, $6_1 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $1960($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $18$hi = 0, $21$hi = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $39_1 = 0, i64toi32_i32$3 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $18$hi = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $1966(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $39_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $39_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $21$hi = i64toi32_i32$0; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $11_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $12_1 = 0 + } else { + $12_1 = 1 + } + $13_1 = $12_1; + } else { + $13_1 = 0 + } + $11_1 = $13_1; + } + label$1 : { + label$2 : { + if (!($11_1 & 1 | 0)) { + break label$2 + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 0] = 1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + } + $15_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $15_1 | 0; + } + + function $1961($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = +$1_1; + var $4_1 = 0, i64toi32_i32$0 = 0.0, i64toi32_i32$1 = 0, $33_1 = 0.0, $10_1 = 0, $11_1 = 0, $21_1 = 0, $21$hi = 0, i64toi32_i32$2 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAPF64[$4_1 >> 3] = $1_1; + HEAPF64[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 3] = +HEAPF64[$4_1 >> 3]; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 41 | 0) >> 0] = 1; + label$1 : { + if (!(+HEAPF64[$4_1 >> 3] >= +(0 | 0) & 1 | 0)) { + break label$1 + } + if (!(+HEAPF64[$4_1 >> 3] < 5373484.5 & 1 | 0)) { + break label$1 + } + $15_1 = 1; + $33_1 = +HEAPF64[$4_1 >> 3] * 864.0e5 + .5; + label$2 : { + label$3 : { + if (!(Math_abs($33_1) < 9223372036854775808.0)) { + break label$3 + } + i64toi32_i32$0 = $33_1; + if (Math_abs(i64toi32_i32$0) >= 1.0) { + if (i64toi32_i32$0 > 0.0) { + $10_1 = ~~Math_min(Math_floor(i64toi32_i32$0 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $10_1 = ~~Math_ceil((i64toi32_i32$0 - +(~~i64toi32_i32$0 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $11_1 = $10_1; + } else { + $11_1 = 0 + } + i64toi32_i32$1 = $11_1; + $21_1 = ~~i64toi32_i32$0 >>> 0; + $21$hi = i64toi32_i32$1; + break label$2; + } + i64toi32_i32$1 = -2147483648; + $21_1 = 0; + $21$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $21$hi; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $21_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 0] = $15_1; + } + return; + } + + function $1962($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if ($1967(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if ($1968(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if ($88(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 40421 | 0) | 0) { + break label$4 + } + if (!($1969(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1960(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$5 : { + if (!(($344(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0, $68(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0, 1 & 255 | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + $1961(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, +(+HEAPF64[($5_1 + 8 | 0) >> 3])); + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + } + $41_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $41_1 | 0; + } + + function $1963($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$6 = 0.0, i64toi32_i32$7 = 0, $297_1 = 0, $563_1 = 0, $582$hi = 0, $549$hi = 0, $550$hi = 0, $176_1 = 0, $177_1 = 0, $215_1 = 0, $14_1 = 0, $526$hi = 0, $27_1 = 0, $34_1 = 0, $598_1 = 0.0, $118_1 = 0, $119_1 = 0, $530_1 = 0, $530$hi = 0, $61_1 = 0, $534$hi = 0, $74_1 = 0, $537$hi = 0, $538$hi = 0, $539$hi = 0, $78_1 = 0, $601_1 = 0.0, $109_1 = 0, $111_1 = 0, $125_1 = 0, $542$hi = 0, $543$hi = 0, $544$hi = 0, $545$hi = 0, $546$hi = 0, $547$hi = 0, $120_1 = 0, $121_1 = 0, $122_1 = 0, $553$hi = 0, $554$hi = 0, $556$hi = 0, $557$hi = 0, $558$hi = 0, $559$hi = 0, $560$hi = 0, $139_1 = 0, $199_1 = 0, $212_1 = 0, $222_1 = 0, $274_1 = 0, $564$hi = 0, $565$hi = 0, $567$hi = 0, $568$hi = 0, $570$hi = 0, $571$hi = 0, $572$hi = 0, $316_1 = 0, $575$hi = 0, $576$hi = 0, $578$hi = 0, $327_1 = 0, $379_1 = 0, $438_1 = 0, $619_1 = 0.0, $445_1 = 0, $448_1 = 0, $464_1 = 0, $474_1 = 0, $480_1 = 0, $622_1 = 0.0, $487_1 = 0, $628_1 = 0.0, $494_1 = 0, $499_1 = 0, $631_1 = 0.0, $506_1 = 0, $641_1 = 0.0, $123_1 = 0, $124_1 = 0, $582_1 = 0, $518_1 = 0, $526_1 = 0, $706$hi = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $840_1 = 0, $534_1 = 0, $854$hi = 0, $537_1 = 0, $873_1 = 0, $879$hi = 0, $126_1 = 0, $1010_1 = 0, $549_1 = 0, $1021_1 = 0, $136_1 = 0, $556_1 = 0, $1043_1 = 0, $560_1 = 0, $1052$hi = 0, $127_1 = 0, $1421_1 = 0, $128_1 = 0, $572_1 = 0, $1429$hi = 0, $1457_1 = 0, $324_1 = 0, $578_1 = 0, $1473$hi = 0, $440_1 = 0, $490_1 = 0, $509_1 = 0, $1935$hi = 0, $523_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 128 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 112 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 108 | 0) >> 2] = 1; + $14_1 = (HEAPU8[((HEAPU8[(HEAP32[($6_1 + 120 | 0) >> 2] | 0) >> 0] | 0) + 1376 | 0) >> 0] | 0) + -43 | 0; + label$1 : { + label$2 : { + switch ($14_1 | 0) { + case 65: + label$8 : { + if ($87(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, 40553 | 0) | 0) { + break label$8 + } + if (!($1969(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + $1949(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = $1970(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, $6_1 + 108 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $526_1 = i64toi32_i32$0; + $526$hi = i64toi32_i32$1; + $27_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$2 = $27_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $706$hi = i64toi32_i32$0; + i64toi32_i32$0 = $526$hi; + i64toi32_i32$0 = $706$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $526$hi; + i64toi32_i32$3 = $526_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $27_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + $1971(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + } + break label$1; + case 74: + label$9 : { + label$10 : { + if ($87(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, 40563 | 0) | 0) { + break label$10 + } + $34_1 = 24; + if (!(((HEAPU8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 41 | 0) >> 0] | 0) << $34_1 | 0) >> $34_1 | 0)) { + break label$10 + } + HEAPF64[($6_1 + 96 | 0) >> 3] = +HEAPF64[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 32 | 0) >> 3] * 1.0e3 + 21086676.0e7; + label$11 : { + if (!(+HEAPF64[($6_1 + 96 | 0) >> 3] >= +(0 | 0) & 1 | 0)) { + break label$11 + } + if (!(+HEAPF64[($6_1 + 96 | 0) >> 3] < 4642690608.0e5 & 1 | 0)) { + break label$11 + } + $45_1 = 0; + $46_1 = 0; + $47_1 = 1; + $1971(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + $598_1 = +HEAPF64[($6_1 + 96 | 0) >> 3] + .5; + label$12 : { + label$13 : { + if (!(Math_abs($598_1) < 9223372036854775808.0)) { + break label$13 + } + i64toi32_i32$6 = $598_1; + if (Math_abs(i64toi32_i32$6) >= 1.0) { + if (i64toi32_i32$6 > 0.0) { + $118_1 = ~~Math_min(Math_floor(i64toi32_i32$6 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $118_1 = ~~Math_ceil((i64toi32_i32$6 - +(~~i64toi32_i32$6 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $119_1 = $118_1; + } else { + $119_1 = 0 + } + i64toi32_i32$5 = $119_1; + $530_1 = ~~i64toi32_i32$6 >>> 0; + $530$hi = i64toi32_i32$5; + break label$12; + } + i64toi32_i32$5 = -2147483648; + $530_1 = 0; + $530$hi = i64toi32_i32$5; + } + i64toi32_i32$5 = $530$hi; + i64toi32_i32$2 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $530_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 40 | 0) >> 0] = $47_1; + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 41 | 0) >> 0] = $46_1; + HEAP32[($6_1 + 108 | 0) >> 2] = $45_1; + } + break label$9; + } + label$14 : { + if ($87(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, 40573 | 0) | 0) { + break label$14 + } + if (!($1969(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0) | 0)) { + break label$14 + } + $61_1 = 24; + label$15 : { + label$16 : { + if (((HEAPU8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 45 | 0) >> 0] | 0) << $61_1 | 0) >> $61_1 | 0) { + break label$16 + } + $1949(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + i64toi32_i32$5 = $1970(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, $6_1 + 108 | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $840_1 = i64toi32_i32$5; + i64toi32_i32$5 = $6_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $840_1; + HEAP32[($6_1 + 92 | 0) >> 2] = i64toi32_i32$2; + label$17 : { + if (HEAP32[($6_1 + 108 | 0) >> 2] | 0) { + break label$17 + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $534_1 = i64toi32_i32$2; + $534$hi = i64toi32_i32$5; + $74_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = $74_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $854$hi = i64toi32_i32$2; + i64toi32_i32$2 = $534$hi; + i64toi32_i32$2 = $854$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $534$hi; + i64toi32_i32$3 = $534_1; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$7 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$7 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + i64toi32_i32$0 = $74_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + $1971(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $537_1 = i64toi32_i32$4; + $537$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1970(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, $6_1 + 108 | 0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $538$hi = i64toi32_i32$4; + i64toi32_i32$4 = $537$hi; + i64toi32_i32$4 = $538$hi; + $873_1 = i64toi32_i32$0; + i64toi32_i32$4 = $537$hi; + i64toi32_i32$2 = $537_1; + i64toi32_i32$0 = $538$hi; + i64toi32_i32$3 = $873_1; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$7 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$1 = i64toi32_i32$7 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$4 - i64toi32_i32$1 | 0; + $539$hi = i64toi32_i32$1; + $78_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$4 = $78_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $879$hi = i64toi32_i32$2; + i64toi32_i32$2 = $539$hi; + i64toi32_i32$2 = $879$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $539$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$4 = $78_1; + HEAP32[i64toi32_i32$4 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$5; + } + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 45 | 0) >> 0] = 1; + break label$15; + } + HEAP32[($6_1 + 108 | 0) >> 2] = 0; + } + } + } + break label$1; + case 76: + label$18 : { + if ($89(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, 40577 | 0, 8 | 0) | 0) { + break label$18 + } + if (!(($344((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 8 | 0 | 0, $6_1 + 96 | 0 | 0, $68((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 8 | 0 | 0) | 0 | 0, 1 & 255 | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$18 + } + $601_1 = +HEAPF64[($6_1 + 96 | 0) >> 3]; + label$19 : { + label$20 : { + if (!(Math_abs($601_1) < 2147483648.0)) { + break label$20 + } + $109_1 = ~~$601_1; + break label$19; + } + $109_1 = -2147483648; + } + $111_1 = $109_1; + HEAP32[($6_1 + 116 | 0) >> 2] = $111_1; + if (!(+($111_1 | 0) == +HEAPF64[($6_1 + 96 | 0) >> 3] & 1 | 0)) { + break label$18 + } + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$18 + } + if (!(+HEAPF64[($6_1 + 96 | 0) >> 3] < 7.0 & 1 | 0)) { + break label$18 + } + $125_1 = 0; + $1955(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 44 | 0) >> 0] = $125_1; + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 40 | 0) >> 0] = $125_1; + $1949(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $542$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $543$hi = i64toi32_i32$4; + i64toi32_i32$4 = $542$hi; + i64toi32_i32$4 = $543$hi; + i64toi32_i32$4 = $542$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $543$hi; + i64toi32_i32$3 = 1296e5; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $544$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $545$hi = i64toi32_i32$0; + i64toi32_i32$0 = $544$hi; + i64toi32_i32$0 = $545$hi; + i64toi32_i32$0 = $544$hi; + i64toi32_i32$2 = $545$hi; + i64toi32_i32$2 = __wasm_i64_sdiv(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, 864e5 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $546$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $547$hi = i64toi32_i32$0; + i64toi32_i32$0 = $546$hi; + i64toi32_i32$0 = $547$hi; + i64toi32_i32$0 = $546$hi; + $126_1 = i64toi32_i32$2; + i64toi32_i32$2 = $547$hi; + i64toi32_i32$2 = __wasm_i64_srem($126_1 | 0, i64toi32_i32$0 | 0, 7 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1010_1 = i64toi32_i32$2; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $1010_1; + HEAP32[($6_1 + 84 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$4 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + $549_1 = i64toi32_i32$0; + $549$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $550$hi = i64toi32_i32$2; + i64toi32_i32$2 = $549$hi; + i64toi32_i32$2 = $550$hi; + i64toi32_i32$2 = $549$hi; + i64toi32_i32$2 = $550$hi; + $1021_1 = i64toi32_i32$0; + i64toi32_i32$2 = $549$hi; + i64toi32_i32$4 = $549_1; + i64toi32_i32$0 = $550$hi; + i64toi32_i32$3 = $1021_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $120_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$4 >>> 0 <= i64toi32_i32$3 >>> 0) { + $121_1 = 0 + } else { + $121_1 = 1 + } + $122_1 = $121_1; + } else { + $122_1 = 0 + } + $120_1 = $122_1; + } + label$21 : { + if (!($120_1 & 1 | 0)) { + break label$21 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + $553$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $554$hi = i64toi32_i32$2; + i64toi32_i32$2 = $553$hi; + i64toi32_i32$2 = $554$hi; + i64toi32_i32$2 = $553$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$4 = $554$hi; + i64toi32_i32$0 = 7; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$7 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$1 = i64toi32_i32$7 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 80 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 84 | 0) >> 2] = i64toi32_i32$1; + } + $136_1 = 0; + i64toi32_i32$3 = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $556_1 = i64toi32_i32$3; + $556$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + $557$hi = i64toi32_i32$3; + i64toi32_i32$3 = $556$hi; + i64toi32_i32$3 = $557$hi; + $1043_1 = i64toi32_i32$1; + i64toi32_i32$3 = $556$hi; + i64toi32_i32$2 = $556_1; + i64toi32_i32$1 = $557$hi; + i64toi32_i32$0 = $1043_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$7 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$5 = i64toi32_i32$7 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + $558$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $559$hi = i64toi32_i32$5; + i64toi32_i32$5 = $558$hi; + i64toi32_i32$5 = $559$hi; + i64toi32_i32$5 = $558$hi; + i64toi32_i32$2 = $559$hi; + i64toi32_i32$2 = __wasm_i64_mul(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, 864e5 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $560_1 = i64toi32_i32$2; + $560$hi = i64toi32_i32$5; + $139_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$3 = $139_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $1052$hi = i64toi32_i32$2; + i64toi32_i32$2 = $560$hi; + i64toi32_i32$2 = $1052$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $560$hi; + i64toi32_i32$0 = $560_1; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$3 = $139_1; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + $1971(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 108 | 0) >> 2] = $136_1; + } + break label$1; + case 72: + label$22 : { + if (!($89(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, 40586 | 0, 9 | 0) | 0)) { + break label$22 + } + break label$1; + } + label$23 : { + if (((HEAPU8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 40 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$23 + } + if (((HEAPU8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 42 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$23 + } + if (((HEAPU8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 43 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$23 + } + break label$1; + } + $176_1 = 0; + $177_1 = 0; + HEAP32[($6_1 + 120 | 0) >> 2] = (HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 9 | 0; + $1951(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 43 | 0) >> 0] = 1; + HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 24 | 0) >> 2] = $177_1; + HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 20 | 0) >> 2] = $177_1; + HEAPF64[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 32 | 0) >> 3] = +($177_1 | 0); + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 41 | 0) >> 0] = $176_1; + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 44 | 0) >> 0] = $176_1; + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 40 | 0) >> 0] = $176_1; + label$24 : { + label$25 : { + if ($87(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, 40596 | 0) | 0) { + break label$25 + } + HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 16 | 0) >> 2] = 1; + HEAP32[($6_1 + 108 | 0) >> 2] = 0; + break label$24; + } + label$26 : { + label$27 : { + if ($87(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, 40602 | 0) | 0) { + break label$27 + } + $199_1 = 1; + HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] = $199_1; + HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 16 | 0) >> 2] = $199_1; + HEAP32[($6_1 + 108 | 0) >> 2] = 0; + break label$26; + } + label$28 : { + if ($87(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, 40607 | 0) | 0) { + break label$28 + } + HEAP32[($6_1 + 108 | 0) >> 2] = 0; + } + } + } + break label$1; + case 0: + case 2: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + HEAP32[($6_1 + 116 | 0) >> 2] = 1; + label$29 : while (1) { + $212_1 = 24; + $215_1 = 0; + label$30 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + (HEAP32[($6_1 + 116 | 0) >> 2] | 0) | 0) >> 0] | 0) << $212_1 | 0) >> $212_1 | 0)) { + break label$30 + } + $222_1 = 24; + $215_1 = 0; + if (!((((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + (HEAP32[($6_1 + 116 | 0) >> 2] | 0) | 0) >> 0] | 0) << $222_1 | 0) >> $222_1 | 0 | 0) != (58 | 0) & 1 | 0)) { + break label$30 + } + $215_1 = (((HEAPU8[(((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + (HEAP32[($6_1 + 116 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0 | 0) != (0 | 0) ^ -1 | 0; + } + label$31 : { + if (!($215_1 & 1 | 0)) { + break label$31 + } + HEAP32[($6_1 + 116 | 0) >> 2] = (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + 1 | 0; + continue label$29; + } + break label$29; + }; + label$32 : { + if (!(($344(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, $6_1 + 96 | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, 1 & 255 | 0 | 0) | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($6_1 + 108 | 0) >> 2] = 1; + break label$1; + } + $274_1 = 24; + label$33 : { + if (!((((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + (HEAP32[($6_1 + 116 | 0) >> 2] | 0) | 0) >> 0] | 0) << $274_1 | 0) >> $274_1 | 0 | 0) == (58 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + label$34 : { + if (((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$34 + } + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 1 | 0; + } + $297_1 = $6_1 + 16 | 0; + i64toi32_i32$4 = 0; + $563_1 = 0; + i64toi32_i32$3 = $297_1; + HEAP32[i64toi32_i32$3 >> 2] = $563_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$3 = i64toi32_i32$3 + 40 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $563_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$3 = $297_1 + 32 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $563_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$3 = $297_1 + 24 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $563_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$3 = $297_1 + 16 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $563_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$3 = $297_1 + 8 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $563_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + label$35 : { + if (!($1968(HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, $297_1 | 0) | 0)) { + break label$35 + } + break label$1; + } + $1949($6_1 + 16 | 0 | 0); + i64toi32_i32$2 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $564$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $565$hi = i64toi32_i32$3; + i64toi32_i32$3 = $564$hi; + i64toi32_i32$3 = $565$hi; + i64toi32_i32$3 = $564$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $565$hi; + i64toi32_i32$0 = 432e5; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$7 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$1 = i64toi32_i32$7 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $567$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $568$hi = i64toi32_i32$2; + i64toi32_i32$2 = $567$hi; + i64toi32_i32$2 = $568$hi; + i64toi32_i32$2 = $567$hi; + $127_1 = i64toi32_i32$1; + i64toi32_i32$1 = $568$hi; + i64toi32_i32$1 = __wasm_i64_sdiv($127_1 | 0, i64toi32_i32$2 | 0, 864e5 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $1421_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1421_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $570$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $571$hi = i64toi32_i32$1; + i64toi32_i32$1 = $570$hi; + i64toi32_i32$1 = $571$hi; + i64toi32_i32$1 = $570$hi; + $128_1 = i64toi32_i32$2; + i64toi32_i32$2 = $571$hi; + i64toi32_i32$2 = __wasm_i64_mul($128_1 | 0, i64toi32_i32$1 | 0, 864e5 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $572_1 = i64toi32_i32$2; + $572$hi = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $1429$hi = i64toi32_i32$2; + i64toi32_i32$2 = $572$hi; + i64toi32_i32$2 = $1429$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $572$hi; + i64toi32_i32$0 = $572_1; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$7 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$5 = i64toi32_i32$7 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$5; + $316_1 = 24; + label$36 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $316_1 | 0) >> $316_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$36 + } + i64toi32_i32$5 = 0; + $575$hi = i64toi32_i32$5; + i64toi32_i32$2 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $576$hi = i64toi32_i32$3; + i64toi32_i32$3 = $575$hi; + i64toi32_i32$3 = $576$hi; + $1457_1 = i64toi32_i32$5; + i64toi32_i32$3 = $575$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = $576$hi; + i64toi32_i32$0 = $1457_1; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$7 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$7 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$4; + } + $324_1 = 0; + $1949(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + $1971(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + i64toi32_i32$3 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $578_1 = i64toi32_i32$4; + $578$hi = i64toi32_i32$2; + $327_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$3 = $327_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $1473$hi = i64toi32_i32$4; + i64toi32_i32$4 = $578$hi; + i64toi32_i32$4 = $1473$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $578$hi; + i64toi32_i32$0 = $578_1; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$3 = $327_1; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 108 | 0) >> 2] = $324_1; + break label$1; + } + HEAP32[($6_1 + 120 | 0) >> 2] = (HEAP32[($6_1 + 120 | 0) >> 2] | 0) + (HEAP32[($6_1 + 116 | 0) >> 2] | 0) | 0; + label$37 : { + label$38 : while (1) { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($6_1 + 120 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[($6_1 + 120 | 0) >> 2] = (HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$38; + }; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $68(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$39 : { + label$40 : { + if ((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) > (10 | 0) & 1 | 0) { + break label$40 + } + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$39 + } + } + break label$1; + } + label$41 : { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 116 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0) + 1376 | 0) >> 0] | 0) & 255 | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$41 + } + HEAP32[($6_1 + 116 | 0) >> 2] = (HEAP32[($6_1 + 116 | 0) >> 2] | 0) + -1 | 0; + } + $379_1 = 0; + $1949(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 108 | 0) >> 2] = 1; + HEAPF64[($6_1 + 72 | 0) >> 3] = +HEAPF64[($6_1 + 96 | 0) >> 3] < +($379_1 | 0) & 1 | 0 ? -.5 : .5; + HEAP32[($6_1 + 68 | 0) >> 2] = $379_1; + label$42 : { + label$43 : while (1) { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0)) { + break label$42 + } + label$44 : { + if (!(((HEAPU8[((40624 + Math_imul(HEAP32[($6_1 + 68 | 0) >> 2] | 0, 24) | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$44 + } + if ($89(HEAP32[((40624 + Math_imul(HEAP32[($6_1 + 68 | 0) >> 2] | 0, 24) | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) | 0) { + break label$44 + } + if (!(+HEAPF64[($6_1 + 96 | 0) >> 3] > -+HEAPF64[((40624 + Math_imul(HEAP32[($6_1 + 68 | 0) >> 2] | 0, 24) | 0) + 8 | 0) >> 3] & 1 | 0)) { + break label$44 + } + if (!(+HEAPF64[($6_1 + 96 | 0) >> 3] < +HEAPF64[((40624 + Math_imul(HEAP32[($6_1 + 68 | 0) >> 2] | 0, 24) | 0) + 8 | 0) >> 3] & 1 | 0)) { + break label$44 + } + $438_1 = (HEAPU8[(Math_imul(HEAP32[($6_1 + 68 | 0) >> 2] | 0, 24) + 40624 | 0) >> 0] | 0) + -1 | 0; + label$45 : { + label$46 : { + switch ($438_1 | 0) { + case 0: + $440_1 = 0; + $1955(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + $619_1 = +HEAPF64[($6_1 + 96 | 0) >> 3]; + label$48 : { + label$49 : { + if (!(Math_abs($619_1) < 2147483648.0)) { + break label$49 + } + $445_1 = ~~$619_1; + break label$48; + } + $445_1 = -2147483648; + } + $448_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + HEAP32[($448_1 + 12 | 0) >> 2] = (HEAP32[($448_1 + 12 | 0) >> 2] | 0) + $445_1 | 0; + label$50 : { + label$51 : { + if (!((HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > ($440_1 | 0) & 1 | 0)) { + break label$51 + } + $464_1 = ((HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0 | 0) / (12 | 0) | 0; + break label$50; + } + $464_1 = ((HEAP32[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 12 | 0 | 0) / (12 | 0) | 0; + } + HEAP32[($6_1 + 4 | 0) >> 2] = $464_1; + $474_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + HEAP32[($474_1 + 8 | 0) >> 2] = (HEAP32[($474_1 + 8 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0; + $480_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + HEAP32[($480_1 + 12 | 0) >> 2] = (HEAP32[($480_1 + 12 | 0) >> 2] | 0) - Math_imul(HEAP32[($6_1 + 4 | 0) >> 2] | 0, 12) | 0; + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 40 | 0) >> 0] = 0; + $622_1 = +HEAPF64[($6_1 + 96 | 0) >> 3]; + label$52 : { + label$53 : { + if (!(Math_abs($622_1) < 2147483648.0)) { + break label$53 + } + $487_1 = ~~$622_1; + break label$52; + } + $487_1 = -2147483648; + } + HEAPF64[($6_1 + 96 | 0) >> 3] = +HEAPF64[($6_1 + 96 | 0) >> 3] - +($487_1 | 0); + break label$45; + case 1: + break label$46; + default: + break label$45; + }; + } + $490_1 = 0; + $628_1 = +HEAPF64[($6_1 + 96 | 0) >> 3]; + label$54 : { + label$55 : { + if (!(Math_abs($628_1) < 2147483648.0)) { + break label$55 + } + $494_1 = ~~$628_1; + break label$54; + } + $494_1 = -2147483648; + } + HEAP32[$6_1 >> 2] = $494_1; + $1955(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + $499_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + HEAP32[($499_1 + 8 | 0) >> 2] = (HEAP32[($499_1 + 8 | 0) >> 2] | 0) + (HEAP32[$6_1 >> 2] | 0) | 0; + HEAP8[((HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 40 | 0) >> 0] = $490_1; + $631_1 = +HEAPF64[($6_1 + 96 | 0) >> 3]; + label$56 : { + label$57 : { + if (!(Math_abs($631_1) < 2147483648.0)) { + break label$57 + } + $506_1 = ~~$631_1; + break label$56; + } + $506_1 = -2147483648; + } + HEAPF64[($6_1 + 96 | 0) >> 3] = +HEAPF64[($6_1 + 96 | 0) >> 3] - +($506_1 | 0); + } + $509_1 = 0; + $1949(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + $641_1 = +HEAPF64[($6_1 + 96 | 0) >> 3] * +HEAPF64[((40624 + Math_imul(HEAP32[($6_1 + 68 | 0) >> 2] | 0, 24) | 0) + 16 | 0) >> 3] + +HEAPF64[($6_1 + 72 | 0) >> 3]; + label$58 : { + label$59 : { + if (!(Math_abs($641_1) < 9223372036854775808.0)) { + break label$59 + } + i64toi32_i32$6 = $641_1; + if (Math_abs(i64toi32_i32$6) >= 1.0) { + if (i64toi32_i32$6 > 0.0) { + $123_1 = ~~Math_min(Math_floor(i64toi32_i32$6 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $123_1 = ~~Math_ceil((i64toi32_i32$6 - +(~~i64toi32_i32$6 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $124_1 = $123_1; + } else { + $124_1 = 0 + } + i64toi32_i32$1 = $124_1; + $582_1 = ~~i64toi32_i32$6 >>> 0; + $582$hi = i64toi32_i32$1; + break label$58; + } + i64toi32_i32$1 = -2147483648; + $582_1 = 0; + $582$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $582$hi; + $518_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$4 = $518_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $1935$hi = i64toi32_i32$3; + i64toi32_i32$3 = $582$hi; + i64toi32_i32$3 = $1935$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $582$hi; + i64toi32_i32$0 = $582_1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$4 = $518_1; + HEAP32[i64toi32_i32$4 >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 108 | 0) >> 2] = $509_1; + break label$42; + } + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$43; + }; + } + $1971(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + break label$1; + default: + break label$2; + }; + } + } + $523_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + global$0 = $6_1 + 128 | 0; + return $523_1 | 0; + } + + function $1964($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $13$hi = 0, $17$hi = 0, $3_1 = 0, $15$hi = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $8_1 = 0, $19$hi = 0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + $4_1 = 0; + i64toi32_i32$0 = 0; + $13$hi = i64toi32_i32$0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + $8_1 = $4_1; + label$1 : { + if (!($13_1 & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = 108096; + $17$hi = i64toi32_i32$2; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$0 = 275971583; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $16_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 > i64toi32_i32$0 >>> 0) { + $17_1 = 0 + } else { + $17_1 = 1 + } + $18_1 = $17_1; + } else { + $18_1 = 0 + } + $16_1 = $18_1; + } + $8_1 = $16_1; + } + return $8_1 & 1 | 0 | 0; + } + + function $1965($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $17_1 = 0, $5_1 = 0, $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $17_1 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[i64toi32_i32$1 >> 2] = $17_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $17_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $17_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $17_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $17_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $17_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 46 | 0) >> 0] = 1; + return; + } + + function $1966($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $23$hi = 0, i64toi32_i32$3 = 0, $25$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + $23$hi = i64toi32_i32$0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 56 | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $25$hi = i64toi32_i32$1; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$3 = 0; + label$1 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == ($23$hi | 0) | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $218(HEAP32[(HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + i64toi32_i32$2 = 0; + i64toi32_i32$1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + } + } + i64toi32_i32$3 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$2 | 0; + } + + function $1967($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0, $50_1 = 0, $70_1 = 0, $84_1 = 0, $21_1 = 0, $104_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + $8_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + } + $21_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $4_1 + 24 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $4_1 + 28 | 0; + HEAP32[$4_1 >> 2] = $4_1 + 32 | 0; + label$3 : { + label$4 : { + if (!(($1972($21_1 | 0, 40425 | 0, $4_1 | 0) | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$3; + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 10 | 0; + label$5 : while (1) { + $50_1 = 1; + label$6 : { + if (((HEAPU8[(((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$6 + } + $50_1 = (84 | 0) == ((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0); + } + label$7 : { + if (!($50_1 & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + label$8 : { + label$9 : { + if ($1968(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0) { + break label$9 + } + break label$8; + } + $70_1 = 24; + label$10 : { + label$11 : { + if (((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $70_1 | 0) >> $70_1 | 0) { + break label$11 + } + HEAP8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 43 | 0) >> 0] = 0; + break label$10; + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$3; + } + } + HEAP8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 0] = 0; + HEAP8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 42 | 0) >> 0] = 1; + label$12 : { + label$13 : { + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$13 + } + $84_1 = 0 - (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0; + break label$12; + } + $84_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = $84_1; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$14 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 44 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + $1949(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $104_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $104_1 | 0; + } + + function $1968($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $28_1 = 0, $57_1 = 0, $121_1 = 0.0, $88_1 = 0, $96_1 = 0, $110_1 = 0, $6_1 = 0, $39_1 = 0, $116_1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAPF64[($4_1 + 32 | 0) >> 3] = +(0 | 0); + $6_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $4_1 + 44 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $4_1 + 48 | 0; + label$1 : { + label$2 : { + if (!(($1972($6_1 | 0, 40450 | 0, $4_1 + 16 | 0 | 0) | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 5 | 0; + $28_1 = 24; + label$3 : { + label$4 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0 | 0) == (58 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 1 | 0; + $39_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $4_1 + 40 | 0; + label$5 : { + if (!(($1972($39_1 | 0, 40458 | 0, $4_1 | 0) | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 2 | 0; + $57_1 = 24; + label$6 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $57_1 | 0) >> $57_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$6 + } + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$6 + } + HEAPF64[($4_1 + 24 | 0) >> 3] = 1.0; + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 1 | 0; + label$7 : { + label$8 : while (1) { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$7 + } + $121_1 = 10.0; + $88_1 = 24; + HEAPF64[($4_1 + 32 | 0) >> 3] = +HEAPF64[($4_1 + 32 | 0) >> 3] * $121_1 + +(((HEAPU8[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $88_1 | 0) >> $88_1 | 0 | 0) - 48.0; + HEAPF64[($4_1 + 24 | 0) >> 3] = +HEAPF64[($4_1 + 24 | 0) >> 3] * $121_1; + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + HEAPF64[($4_1 + 32 | 0) >> 3] = +HEAPF64[($4_1 + 32 | 0) >> 3] / +HEAPF64[($4_1 + 24 | 0) >> 3]; + } + break label$3; + } + HEAP32[($4_1 + 40 | 0) >> 2] = 0; + } + $96_1 = 0; + HEAP8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 0] = $96_1; + HEAP8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 41 | 0) >> 0] = $96_1; + HEAP8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 43 | 0) >> 0] = 1; + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAPF64[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 32 | 0) >> 3] = +(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) + +HEAPF64[($4_1 + 32 | 0) >> 3]; + label$9 : { + if (!($1973(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + break label$1; + } + $110_1 = 0; + HEAP8[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 0] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 ? 1 : $110_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $110_1; + } + $116_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $116_1 | 0; + } + + function $1969($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $39_1 = 0, $49_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, 20) | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (63 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 4 | 0)) { + break label$4 + } + HEAP32[($3_1 + 16 | 0) >> 2] = 40470; + break label$3; + } + label$5 : { + label$6 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0) & 8 | 0)) { + break label$6 + } + HEAP32[($3_1 + 16 | 0) >> 2] = 40489; + break label$5; + } + HEAP32[($3_1 + 16 | 0) >> 2] = 40508; + } + } + $39_1 = HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = $39_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $79(40517 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $263(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 1; + } + $49_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $49_1 | 0; + } + + function $1970($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $9_1 = 0, i64toi32_i32$4 = 0, $100_1 = 0, $24_1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $85_1 = 0, $53_1 = 0, i64toi32_i32$6 = 0, $25_1 = 0, $28_1 = 0, $31_1 = 0, $34_1 = 0, $37_1 = 0, $54_1 = 0, $120_1 = 0.0, $59_1 = 0, $107$hi = 0, $108$hi = 0, $109$hi = 0, $110$hi = 0, $86_1 = 0, $113$hi = 0, $114$hi = 0, $176_1 = 0, $186_1 = 0, $196_1 = 0, $206_1 = 0, $216_1 = 0, $226_1 = 0, $40_1 = 0, $113_1 = 0, $394_1 = 0; + $5_1 = global$0 - 176 | 0; + global$0 = $5_1; + $9_1 = $5_1 + 104 | 0; + $12_1 = $5_1 + 8 | 0; + HEAP32[($5_1 + 164 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 160 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 156 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + $100_1 = 0; + i64toi32_i32$1 = $12_1; + HEAP32[i64toi32_i32$1 >> 2] = $100_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $100_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $100_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $100_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $100_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $24_1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + i64toi32_i32$2 = $24_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $176_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1; + HEAP32[i64toi32_i32$0 >> 2] = $176_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $25_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $25_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $186_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1 + $25_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $186_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $28_1 = 32; + i64toi32_i32$2 = $24_1 + $28_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $196_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1 + $28_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $196_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $31_1 = 24; + i64toi32_i32$2 = $24_1 + $31_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $206_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1 + $31_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $206_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $34_1 = 16; + i64toi32_i32$2 = $24_1 + $34_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $216_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1 + $34_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $216_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $37_1 = 8; + i64toi32_i32$2 = $24_1 + $37_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $226_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1 + $37_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $226_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $1955($9_1 | 0); + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) < (1971 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) >= (2038 | 0) & 1 | 0)) { + break label$2 + } + } + $53_1 = 0; + $54_1 = 1; + HEAP32[($5_1 + 112 | 0) >> 2] = 2e3; + HEAP32[($5_1 + 116 | 0) >> 2] = $54_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $54_1; + HEAP32[($5_1 + 124 | 0) >> 2] = $53_1; + HEAP32[($5_1 + 128 | 0) >> 2] = $53_1; + HEAPF64[($5_1 + 136 | 0) >> 3] = +($53_1 | 0); + break label$1; + } + $120_1 = +HEAPF64[($5_1 + 136 | 0) >> 3] + .5; + label$4 : { + label$5 : { + if (!(Math_abs($120_1) < 2147483648.0)) { + break label$5 + } + $59_1 = ~~$120_1; + break label$4; + } + $59_1 = -2147483648; + } + HEAP32[($5_1 + 4 | 0) >> 2] = $59_1; + HEAPF64[($5_1 + 136 | 0) >> 3] = +(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 132 | 0) >> 2] = 0; + HEAP8[($5_1 + 144 | 0) >> 0] = 0; + $1949($5_1 + 104 | 0 | 0); + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + $107$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $108$hi = i64toi32_i32$1; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$1 = $107$hi; + $40_1 = i64toi32_i32$0; + i64toi32_i32$0 = $108$hi; + i64toi32_i32$0 = __wasm_i64_sdiv($40_1 | 0, i64toi32_i32$1 | 0, 1e3 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $109$hi = i64toi32_i32$1; + i64toi32_i32$1 = 49; + $110$hi = i64toi32_i32$1; + i64toi32_i32$1 = $109$hi; + i64toi32_i32$1 = $110$hi; + i64toi32_i32$1 = $109$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $110$hi; + i64toi32_i32$3 = 413362496; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$4; + label$6 : { + label$7 : { + if (!($1974($5_1 + 52 | 0 | 0, $5_1 + 8 | 0 | 0) | 0)) { + break label$7 + } + i64toi32_i32$5 = 0; + $263(HEAP32[($5_1 + 160 | 0) >> 2] | 0 | 0, 40768 | 0, -1 | 0); + HEAP32[(HEAP32[($5_1 + 156 | 0) >> 2] | 0) >> 2] = 1; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 168 | 0) >> 2] = 0; + HEAP32[($5_1 + 172 | 0) >> 2] = i64toi32_i32$5; + break label$6; + } + $85_1 = 0; + $86_1 = 1; + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1900 | 0; + HEAP32[($5_1 + 68 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 80 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAPF64[($5_1 + 88 | 0) >> 3] = +(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + HEAP8[($5_1 + 98 | 0) >> 0] = $86_1; + HEAP8[($5_1 + 99 | 0) >> 0] = $86_1; + HEAP8[($5_1 + 96 | 0) >> 0] = $85_1; + HEAP8[($5_1 + 97 | 0) >> 0] = $85_1; + HEAP8[($5_1 + 100 | 0) >> 0] = $85_1; + HEAP8[($5_1 + 102 | 0) >> 0] = $85_1; + $1949($5_1 + 56 | 0 | 0); + HEAP32[(HEAP32[($5_1 + 156 | 0) >> 2] | 0) >> 2] = 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $113_1 = i64toi32_i32$5; + $113$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + $114$hi = i64toi32_i32$5; + i64toi32_i32$5 = $113$hi; + i64toi32_i32$5 = $114$hi; + $394_1 = i64toi32_i32$2; + i64toi32_i32$5 = $113$hi; + i64toi32_i32$1 = $113_1; + i64toi32_i32$2 = $114$hi; + i64toi32_i32$3 = $394_1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 168 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 172 | 0) >> 2] = i64toi32_i32$4; + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + global$0 = $5_1 + 176 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$4 | 0; + } + + function $1971($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 42 | 0) >> 0] = $4_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 43 | 0) >> 0] = $4_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 0] = $4_1; + return; + } + + function $1972($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $14_1 = 0, $21_1 = 0, $28_1 = 0, $40_1 = 0, $64_1 = 0, $75_1 = 0, $93_1 = 0, $97_1 = 0, $102_1 = 0, $111_1 = 0, $110_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : while (1) { + $10_1 = 0; + $14_1 = 24; + HEAP8[($5_1 + 14 | 0) >> 0] = (((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $14_1 | 0) >> $14_1 | 0) - 48 | 0; + $21_1 = 24; + HEAP8[($5_1 + 13 | 0) >> 0] = (((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $21_1 | 0) >> $21_1 | 0) - 48 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $10_1; + $28_1 = 24; + HEAP16[($5_1 + 6 | 0) >> 1] = HEAPU16[(40438 + (((((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0) - 97 | 0) << 1 | 0) | 0) >> 1] | 0; + HEAP8[($5_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $10_1; + label$3 : { + label$4 : while (1) { + $40_1 = HEAPU8[($5_1 + 14 | 0) >> 0] | 0; + HEAP8[($5_1 + 14 | 0) >> 0] = $40_1 + -1 | 0; + if (!(($40_1 & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (((HEAPU8[(((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$5 + } + break label$1; + } + $64_1 = 24; + HEAP32[($5_1 + 8 | 0) >> 2] = (Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 10) + (((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $64_1 | 0) >> $64_1 | 0) | 0) - 48 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $75_1 = 24; + label$6 : { + label$7 : { + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (((HEAPU8[($5_1 + 13 | 0) >> 0] | 0) << $75_1 | 0) >> $75_1 | 0 | 0) & 1 | 0) { + break label$7 + } + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) > ((HEAPU16[($5_1 + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) { + break label$7 + } + $93_1 = 24; + if (!(((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $93_1 | 0) >> $93_1 | 0)) { + break label$6 + } + $97_1 = 24; + $102_1 = 24; + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $97_1 | 0) >> $97_1 | 0 | 0) != (((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $102_1 | 0) >> $102_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + } + break label$1; + } + $110_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $111_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $111_1 + 4 | 0; + HEAP32[(HEAP32[$111_1 >> 2] | 0) >> 2] = $110_1; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0; + if (((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + continue label$2 + } + break label$2; + }; + } + return HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0; + } + + function $1973($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $23_1 = 0, $110_1 = 0, $68_1 = 0, $118_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + $23_1 = 24; + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0; + label$3 : { + label$4 : { + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 32 | 0) >> 2] = -1; + break label$5; + } + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (43 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 32 | 0) >> 2] = 1; + break label$7; + } + label$9 : { + label$10 : { + if ((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (90 | 0) & 1 | 0) { + break label$10 + } + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (122 | 0) & 1 | 0)) { + break label$9 + } + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + break label$4; + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + break label$3; + } + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + $68_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $4_1 + 24 | 0; + HEAP32[$4_1 >> 2] = $4_1 + 28 | 0; + label$11 : { + if (!(($1972($68_1 | 0, 40462 | 0, $4_1 | 0) | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$3; + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 5 | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] = Math_imul(HEAP32[($4_1 + 32 | 0) >> 2] | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 28 | 0) >> 2] | 0, 60) | 0); + } + label$12 : { + label$13 : while (1) { + if (!(((HEAPU8[(((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + HEAP8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 45 | 0) >> 0] = 1; + $110_1 = 24; + HEAP32[($4_1 + 44 | 0) >> 2] = (((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $110_1 | 0) >> $110_1 | 0 | 0) != (0 | 0) & 1 | 0; + } + $118_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $118_1 | 0; + } + + function $1974($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $23_1 = 0, $26_1 = 0, $29_1 = 0, $32_1 = 0, $90_1 = 0, $110_1 = 0, $120_1 = 0, $130_1 = 0, $140_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = fimport$4(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!(HEAP32[(0 + 68616 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[$4_1 >> 2] = 0; + } + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $18_1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = $18_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $90_1 = i64toi32_i32$0; + i64toi32_i32$0 = $17_1; + HEAP32[i64toi32_i32$0 >> 2] = $90_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $19_1 = 40; + HEAP32[(i64toi32_i32$0 + $19_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $19_1 | 0) >> 2] | 0; + $23_1 = 32; + i64toi32_i32$2 = i64toi32_i32$2 + $23_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $110_1 = i64toi32_i32$1; + i64toi32_i32$1 = $17_1 + $23_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $110_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $26_1 = 24; + i64toi32_i32$2 = $18_1 + $26_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $120_1 = i64toi32_i32$0; + i64toi32_i32$0 = $17_1 + $26_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $120_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $29_1 = 16; + i64toi32_i32$2 = $18_1 + $29_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $130_1 = i64toi32_i32$1; + i64toi32_i32$1 = $17_1 + $29_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $130_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $32_1 = 8; + i64toi32_i32$2 = $18_1 + $32_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $140_1 = i64toi32_i32$0; + i64toi32_i32$0 = $17_1 + $32_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $140_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0; + $42_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $42_1 | 0; + } + + function $1975($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $64_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $3277((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $64_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $64_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0; + break label$1; + } + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $82(7 | 0, 40924 | 0, $3_1 | 0); + } + $24_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $24_1 | 0; + } + + function $1976($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + -8 | 0; + $3278(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1977($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $88_1 = 0, $28_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + -8 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3280(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $88_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $88_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0; + break label$1; + } + $28_1 = $1978(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $28_1; + $82(7 | 0, 40962 | 0, $4_1 | 0); + } + $32_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $32_1 | 0; + } + + function $1978($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + -8 | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + return HEAP32[i64toi32_i32$2 >> 2] | 0 | 0; + } + + function $1979($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 7 | 0) & -8 | 0 | 0; + } + + function $1980($0_1) { + $0_1 = $0_1 | 0; + HEAP32[((global$0 - 16 | 0) + 12 | 0) >> 2] = $0_1; + return 0 | 0; + } + + function $1981($0_1) { + $0_1 = $0_1 | 0; + HEAP32[((global$0 - 16 | 0) + 12 | 0) >> 2] = $0_1; + return; + } + + function $1982($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3289(114512 | 0, 0 | 0, 100 | 0) | 0; + HEAP32[(0 + 114568 | 0) >> 2] = (HEAP32[(0 + 68552 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0; + label$1 : { + label$2 : { + if (!(HEAP32[(0 + 114568 | 0) >> 2] | 0)) { + break label$2 + } + if (!(HEAP32[(0 + 68560 | 0) >> 2] | 0)) { + break label$2 + } + if (!((HEAP32[(0 + 68552 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(0 + 114572 | 0) >> 2] = HEAP32[(0 + 68560 | 0) >> 2] | 0; + break label$1; + } + HEAP32[(0 + 114572 | 0) >> 2] = 0; + } + HEAP32[(0 + 114524 | 0) >> 2] = 10; + HEAP32[(0 + 114564 | 0) >> 2] = 1; + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $1983($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3289(114512 | 0, 0 | 0, 100 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $1984($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, $38_1 = 0, $64_1 = 0, i64toi32_i32$0 = 0, $87_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = Math_imul(HEAP32[(0 + 114568 | 0) >> 2] | 0, 52) + 68 | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $114(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(HEAP32[(0 + 114568 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 68 | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 10; + break label$2; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 114512; + } + label$4 : { + if ((HEAPU16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 34 | 0) >> 1] | 0) & 65535 | 0) { + break label$4 + } + HEAP16[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 34 | 0) >> 1] = 1; + $38_1 = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = $38_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = $38_1; + } + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) + 32 | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0 ? 1 : 0; + $1985(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + label$5 : { + label$6 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] = 10; + $64_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($64_1 + 8 | 0) >> 2] = (HEAP32[($64_1 + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 10 | 0) - (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0; + break label$5; + } + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 40 | 0; + } + label$7 : { + if (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) { + break label$7 + } + $1986(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + } + } + $87_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $87_1 | 0; + } + + function $1985($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $49_1 = 0, i64toi32_i32$0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) << 1 | 0; + label$1 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0) >>> 0 < 256 >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 20 | 0) >> 2] = 256; + } + label$2 : { + if (!(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0)) { + break label$2 + } + $449(); + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $114((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0)) { + break label$3 + } + $450(); + } + label$4 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$7 : { + label$8 : while (1) { + $49_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $49_1; + if (!(($49_1 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 4 | 0) >> 2] = ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0) % ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + continue label$8; + }; + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $42(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $1986($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0, $18_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0)) { + break label$1 + } + $1996(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0); + } + $13_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($13_1 + 4 | 0) >> 2] = (HEAP32[($13_1 + 4 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0; + $18_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($18_1 + 8 | 0) >> 2] = (HEAP32[($18_1 + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = ((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 10 | 0) - (HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + $1988(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $1987($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$1 : { + if (!(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + $14_1 = HEAP32[$4_1 >> 2] | 0; + HEAP32[($14_1 + 4 | 0) >> 2] = (HEAP32[($14_1 + 4 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0) | 0; + HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] = ((HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0) + 10 | 0) - (HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] = (Math_imul(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0, 9) >>> 0) / (10 >>> 0) | 0; + $1988(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1988($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $16_1 = 0, $19_1 = 0, $42_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : while (1) { + $16_1 = 0; + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $19_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $19_1; + $16_1 = ((HEAPU16[($19_1 + 14 | 0) >> 1] | 0) & 65535 | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($16_1 & 1 | 0)) { + break label$3 + } + $1998(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $1993(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0); + continue label$1; + } + break label$1; + }; + label$4 : { + if (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $42_1 = 0; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] = $42_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] = $42_1; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1989($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $1990($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $9_1 = $1991(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $9_1 | 0; + } + + function $1991($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $26_1 = 0, $62_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((((HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0) | 0) << 2 | 0) | 0) >> 2] | 0; + label$1 : while (1) { + $26_1 = 0; + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $26_1 = (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($26_1 & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $1998(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + break label$4; + } + label$7 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$7 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2000(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $62_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $62_1 | 0; + } + + function $1992($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $33_1 = 0, $37_1 = 0, $31_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + } + $1993(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0); + break label$1; + } + HEAP32[($5_1 + 4 | 0) >> 2] = ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) + 24 | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0; + $31_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $33_1 = HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = $33_1; + HEAP32[($33_1 + 28 | 0) >> 2] = $31_1; + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $37_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($37_1 + 44 | 0) >> 2] = (HEAP32[($37_1 + 44 | 0) >> 2] | 0) + 1 | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $1993($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $34_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0; + continue label$2; + }; + } + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $34_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($34_1 + 48 | 0) >> 2] = (HEAP32[($34_1 + 48 | 0) >> 2] | 0) + -1 | 0; + label$3 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$3 + } + $1999(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $1994($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 32 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAP32[$6_1 >> 2] | 0) << 2 | 0) | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0; + continue label$2; + }; + } + HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAP32[$6_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAP32[$6_1 >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + return; + } + + function $1995($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + $1996(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) - 1 | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $1996($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $40_1 = 0, $55_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) - (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >>> 0 < (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0) | 0; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0; + } + label$3 : while (1) { + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0; + label$4 : { + label$5 : while (1) { + $40_1 = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $40_1; + if (!(($40_1 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($4_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + $55_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($55_1 + 48 | 0) >> 2] = (HEAP32[($55_1 + 48 | 0) >> 2] | 0) + -1 | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $1998(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + $1999(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + break label$6; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0; + } + continue label$5; + }; + } + label$9 : { + label$10 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + break label$9; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0) >>> 0) % ((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0) | 0; + continue label$3; + } + break label$3; + }; + global$0 = $4_1 + 32 | 0; + return; + } + + function $1997($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + $1988(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $1998($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + $15_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($15_1 + 44 | 0) >> 2] = (HEAP32[($15_1 + 44 | 0) >> 2] | 0) + -1 | 0; + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $1999($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $24_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU16[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $645(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + $24_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[$24_1 >> 2] = (HEAP32[$24_1 >> 2] | 0) + -1 | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2000($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $107_1 = 0, $133_1 = 0, $138_1 = 0, $175_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$3 + } + if ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$3 + } + if (!($2001(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + $1985(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + } + label$5 : { + if (!(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { + break label$5 + } + if (((HEAPU16[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0) { + break label$5 + } + label$6 : { + if (((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 1 | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$6 + } + if (!($2001(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + $1993(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0); + $1998(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $1999(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + break label$7; + } + $107_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($107_1 + 16 | 0) >> 2] = (HEAP32[($107_1 + 16 | 0) >> 2] | 0) - ((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0) | 0; + } + } + label$9 : { + if ((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2002(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $133_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) >>> 0) % ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0) | 0; + $138_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($138_1 + 48 | 0) >> 2] = (HEAP32[($138_1 + 48 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] = $133_1; + HEAP32[(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = $133_1; + HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + label$11 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + } + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + $175_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $175_1 | 0; + } + + function $2001($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(HEAP32[(0 + 114580 | 0) >> 2] | 0)) { + break label$2 + } + if (!(((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0 | 0) <= (HEAP32[(0 + 114576 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[(0 + 114608 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $1017() | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $21_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $21_1 | 0; + } + + function $2002($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $37_1 = 0, $51_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0) { + break label$4 + } + if (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) { + break label$3 + } + if (!($2003(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$2; + } + label$5 : { + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$5 + } + $449(); + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $770(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + $450(); + } + label$7 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $37_1 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0; + HEAP16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 1] = $37_1; + HEAP16[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 14 | 0) >> 1] = $37_1; + } + $51_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[$51_1 >> 2] = (HEAP32[$51_1 >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $56_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $56_1 | 0; + } + + function $2003($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $107$hi = 0, $110$hi = 0, $101$hi = 0, $102$hi = 0, $104$hi = 0, $105$hi = 0, $108$hi = 0, $109$hi = 0, i64toi32_i32$3 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $113$hi = 0, $114$hi = 0, $49_1 = 0, $89_1 = 0, $101_1 = 0, $170_1 = 0, $173_1 = 0, $29_1 = 0, $183_1 = 0, $107_1 = 0, $30_1 = 0, $206_1 = 0, $31_1 = 0, $231_1 = 0, $98_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (HEAP32[(0 + 114572 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >>> 0 < 3 >>> 0 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $449(); + label$4 : { + label$5 : { + if (!((HEAP32[(0 + 114572 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $101_1 = i64toi32_i32$1; + $101$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(0 + 114572 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $102$hi = i64toi32_i32$0; + i64toi32_i32$0 = $101$hi; + i64toi32_i32$0 = $102$hi; + $170_1 = i64toi32_i32$1; + i64toi32_i32$0 = $101$hi; + i64toi32_i32$1 = $102$hi; + i64toi32_i32$1 = __wasm_i64_mul($101_1 | 0, i64toi32_i32$0 | 0, $170_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $173_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $173_1; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$0; + break label$4; + } + i64toi32_i32$1 = HEAP32[(0 + 114572 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $104$hi = i64toi32_i32$0; + i64toi32_i32$0 = -1; + $105$hi = i64toi32_i32$0; + i64toi32_i32$0 = $104$hi; + i64toi32_i32$0 = $105$hi; + i64toi32_i32$0 = $104$hi; + $29_1 = i64toi32_i32$1; + i64toi32_i32$1 = $105$hi; + i64toi32_i32$1 = __wasm_i64_mul($29_1 | 0, i64toi32_i32$0 | 0, -1024 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $183_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $183_1; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $107_1 = i64toi32_i32$0; + $107$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $108$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $109$hi = i64toi32_i32$1; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$1 = $109$hi; + i64toi32_i32$1 = $108$hi; + $30_1 = i64toi32_i32$0; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$0 = __wasm_i64_mul($30_1 | 0, i64toi32_i32$1 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $110$hi = i64toi32_i32$1; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$1 = $110$hi; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$1 = $110$hi; + $206_1 = i64toi32_i32$0; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$2 = $107_1; + i64toi32_i32$0 = $110$hi; + i64toi32_i32$3 = $206_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $26_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $27_1 = 0 + } else { + $27_1 = 1 + } + $28_1 = $27_1; + } else { + $28_1 = 0 + } + $26_1 = $28_1; + } + label$6 : { + if (!($26_1 & 1 | 0)) { + break label$6 + } + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $113$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $114$hi = i64toi32_i32$2; + i64toi32_i32$2 = $113$hi; + i64toi32_i32$2 = $114$hi; + i64toi32_i32$2 = $113$hi; + $31_1 = i64toi32_i32$1; + i64toi32_i32$1 = $114$hi; + i64toi32_i32$1 = __wasm_i64_mul($31_1 | 0, i64toi32_i32$2 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $231_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $231_1; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $49_1 = $39(i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] = $49_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $49_1; + $450(); + label$7 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = ($16(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) / (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$8 : while (1) { + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 32 | 0; + HEAP16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 1] = 1; + HEAP16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 14 | 0) >> 1] = 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + $89_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $89_1; + if ($89_1) { + continue label$8 + } + break label$8; + }; + } + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + } + $98_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $98_1 | 0; + } + + function $2004($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[(HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 24 | 0) >> 2] | 0; + $841(HEAP32[$4_1 >> 2] | 0 | 0); + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 24 | 0; + continue label$2; + }; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2005($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $22_1 = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $39_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $8_1; + label$1 : { + if (!((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0) != ($8_1 | 0) & 1 | 0)) { + break label$1 + } + $17_1 = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0; + $18_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + $19_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$3 + } + $22_1 = 0; + break label$2; + } + $22_1 = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 176 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $771($17_1 | 0, $18_1 | 0, $19_1 | 0, $22_1 | 0, HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 180 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 11 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 152 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $39_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $39_1 | 0; + } + + function $2006($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $28_1 = 0, $30_1 = 0, $33_1 = 0, $82_1 = 0, $92_1 = 0, $102_1 = 0, $112_1 = 0, $122_1 = 0, $132_1 = 0, $166_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $7_1 = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $7_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $7_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $7_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $7_1; + $2007($3_1 + 4 | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2008(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + $2009($3_1 + 12 | 0 | 0); + $2010($3_1 + 8 | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $38(20 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if ((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + HEAP32[($3_1 + 20 | 0) >> 2] = 7; + break label$3; + } + $28_1 = 1; + $30_1 = 24; + $33_1 = 24; + $2011(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, ($28_1 << $30_1 | 0) >> $30_1 | 0 | 0, ($28_1 << $33_1 | 0) >> $33_1 | 0 | 0); + } + label$5 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + label$7 : { + if (($2012(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 41978 | 0, 7 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + if (($2012(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 41985 | 0, 7 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + if (!(($2012(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 41992 | 0, 10 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[($3_1 + 20 | 0) >> 2] = 7; + } + } + label$8 : { + if (!((0 | 0) == (HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $82_1 = $2013(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 42002 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $82_1; + if (!((0 | 0) == ($82_1 | 0) & 1 | 0)) { + break label$8 + } + $92_1 = $470(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 42017 | 0, -1 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $92_1; + if (!((0 | 0) == ($92_1 | 0) & 1 | 0)) { + break label$8 + } + $102_1 = $470(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 42025 | 0, 1 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $102_1; + if (!((0 | 0) == ($102_1 | 0) & 1 | 0)) { + break label$8 + } + $112_1 = $470(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 42033 | 0, 1 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $112_1; + if (!((0 | 0) == ($112_1 | 0) & 1 | 0)) { + break label$8 + } + $122_1 = $470(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 42033 | 0, 2 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $122_1; + if (!((0 | 0) == ($122_1 | 0) & 1 | 0)) { + break label$8 + } + $132_1 = $470(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 13390 | 0, 1 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $132_1; + if (!((0 | 0) == ($132_1 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $413(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 42043 | 0, 42048 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 81 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$9 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $413(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, 42144 | 0, 42048 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2015(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$1; + } + label$11 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $2016(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $166_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $166_1 | 0; + } + + function $2007($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = 42152; + return; + } + + function $2008($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $410(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 45216 | 0, 45120 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $9_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $9_1 | 0; + } + + function $2009($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = 47844; + return; + } + + function $2010($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = 47872; + return; + } + + function $2011($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0; + $5_1 = global$0 - 16 | 0; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($5_1 + 11 | 0) >> 0] = $1_1; + HEAP8[($5_1 + 10 | 0) >> 0] = $2_1; + HEAP8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] = HEAPU8[($5_1 + 11 | 0) >> 0] | 0; + HEAP8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAPU8[($5_1 + 10 | 0) >> 0] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $6_1; + return; + } + + function $2012($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $10_1 = 0, $92_1 = 0, i64toi32_i32$1 = 0, $125_1 = 0, $105_1 = 0, $145_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + $10_1 = 24; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2026(((HEAPU8[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 36 | 0) >> 2] | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) & ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2027(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $2028(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + break label$3; + } + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$6 : { + label$7 : { + label$8 : { + if (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$8 + } + if ($2029(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, 8 | 0) | 0) { + break label$7 + } + } + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + if (!($2029(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 1 | 0 | 0) | 0)) { + break label$6 + } + } + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2030(20 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + break label$1; + } + $92_1 = 24; + label$10 : { + label$11 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $92_1 | 0) >> $92_1 | 0)) { + break label$11 + } + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $105_1 = $2030(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $105_1; + label$12 : { + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + $2031(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + break label$1; + } + $3288(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0; + break label$10; + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + $125_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($125_1 + 4 | 0) >> 2] = (HEAP32[($125_1 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) & ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0) | 0; + $2032(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $145_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $145_1 | 0; + } + + function $2013($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $18_1 = 0, $33_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = 524289; + label$1 : { + if (!(($6_1 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $464(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 1 | 0, 524289 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 82 | 0, $18_1 | 0, $18_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (!((0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $33_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $464(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 2 | 0, 524289 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 82 | 0, $33_1 | 0, $33_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $38_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $38_1 | 0; + } + + function $2014($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $2016(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2015($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $410(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 50660 | 0, 50564 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $10_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $2016($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $23_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $4_1; + $2031(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $23_1 = 24; + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $2031(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + $2031(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2017($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = $2018(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $5_1 | 0; + } + + function $2018($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $78_1 = 0, $22_1 = 0, $69_1 = 0, $4_1 = 0, $61_1 = 0, $63_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $4_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $38(48 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == ($4_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 7; + break label$1; + } + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $22_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $78_1 = 0; + i64toi32_i32$1 = $22_1; + HEAP32[i64toi32_i32$1 >> 2] = $78_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $78_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $78_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $78_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $78_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $78_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] = 2; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = 86; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = 85; + HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = 84; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $413(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 50820 | 0, 50724 | 0, HEAP32[$3_1 >> 2] | 0 | 0, 83 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2393(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2394(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2395(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2396(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$7 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2397(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$8 + } + $61_1 = 1; + $63_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $464(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 50820 | 0, $61_1 | 0, $61_1 | 0, HEAP32[$3_1 >> 2] | 0 | 0, 87 | 0, $63_1 | 0, $63_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$9 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$9 + } + $69_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $464(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 50825 | 0, $69_1 | 0, 1 | 0, HEAP32[$3_1 >> 2] | 0 | 0, 88 | 0, $69_1 | 0, $69_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + } + $75_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $75_1 | 0; + } + + function $2019($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $14_1 = 0, $22_1 = 0, $6_1 = 0, $13_1 = 0, $29_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $6_1 = 1; + $7_1 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $464(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, 57376 | 0, 2 | 0, $6_1 | 0, $7_1 | 0, 89 | 0, $7_1 | 0, $7_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + $13_1 = 1; + $14_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $464(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, 57386 | 0, $13_1 | 0, $13_1 | 0, $14_1 | 0, 90 | 0, $14_1 | 0, $14_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + $22_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $464(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, 57397 | 0, -1 | 0, 1 | 0, $22_1 | 0, 91 | 0, $22_1 | 0, $22_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$3 + } + $29_1 = 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $29_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $413(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, 57408 | 0, 80512 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, $29_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $413(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, 57414 | 0, 80512 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $41_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $41_1 | 0; + } + + function $2020($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $156_1 = 0, $12_1 = 0, $80_1 = 0, $112_1 = 0, $380_1 = 0, $126_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 656 | 0; + global$0 = $5_1; + $12_1 = $5_1 + 608 | 0; + HEAP32[($5_1 + 652 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 648 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 644 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + $156_1 = 0; + i64toi32_i32$1 = $12_1; + HEAP32[i64toi32_i32$1 >> 2] = $156_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $156_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $156_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $156_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $3289($5_1 + 104 | 0 | 0, 0 | 0, 504 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[(HEAP32[($5_1 + 644 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 124 | 0) >> 0] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if (((HEAPU8[($5_1 + 124 | 0) >> 0] | 0) & 255 | 0 | 0) < (1 | 0) & 1 | 0) { + break label$3 + } + if (!(((HEAPU8[($5_1 + 124 | 0) >> 0] | 0) & 255 | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + HEAP8[($5_1 + 125 | 0) >> 0] = ((HEAPU8[($5_1 + 124 | 0) >> 0] | 0) & 255 | 0) << 1 | 0; + HEAP8[($5_1 + 127 | 0) >> 0] = (((HEAPU8[($5_1 + 124 | 0) >> 0] | 0) & 255 | 0) << 3 | 0) + 8 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[((HEAP32[($5_1 + 644 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 632 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 644 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$4 + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) < (Math_imul($2912((HEAP32[($5_1 + 632 | 0) >> 2] | 0) + 2 | 0 | 0) | 0, (HEAPU8[($5_1 + 127 | 0) >> 0] | 0) & 255 | 0) | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + $80_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $76($80_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 100 | 0) >> 2] = $80_1; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) < ($2912((HEAP32[($5_1 + 632 | 0) >> 2] | 0) + 2 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + $2913($5_1 + 104 | 0 | 0, $5_1 + 608 | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0, $5_1 + 40 | 0 | 0); + label$8 : { + if (!((HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + $51(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, 33413 | 0, 1 | 0); + } + $112_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $380_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $380_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$1; + $84($112_1 | 0, 57424 | 0, $5_1 + 16 | 0 | 0); + HEAP32[($5_1 + 36 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) < ((HEAPU8[($5_1 + 125 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + $126_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAPF64[$5_1 >> 3] = +Math_fround(HEAPF32[((($5_1 + 40 | 0) + ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) + 8 | 0) >> 2]); + $84($126_1 | 0, 57430 | 0, $5_1 | 0); + HEAP32[($5_1 + 36 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + $51(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, 54645 | 0, 1 | 0); + HEAP32[($5_1 + 100 | 0) >> 2] = (HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $74(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $277(HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0, $71(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) | 0 | 0, -1 | 0, 3 | 0); + $284(HEAP32[($5_1 + 652 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 656 | 0; + return; + } + + function $2021($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (4 | 0) & 1 | 0) { + break label$3 + } + if (!(($233(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$2 + } + } + $263(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 57434 | 0, -1 | 0); + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $267(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $2912(HEAP32[$5_1 >> 2] | 0 | 0) | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $2022($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $57_1 = 0, $60_1 = 0, $49_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$2 + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 57467 | 0, -1 | 0); + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = 8749; + break label$3; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2914($303(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$6 + } + $49_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $57_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$7; + } + $57_1 = 34828; + } + $60_1 = -1; + $277($49_1 | 0, $57_1 | 0, $60_1 | 0, $60_1 | 0); + break label$5; + } + $284(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2023($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $5_1 = $176(500 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $5_1 | 0; + } + + function $2024($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $72_1 = 0, $24_1 = 0, $4_1 = 0, $13_1 = 0, $23_1 = 0, $60_1 = 0, $70_1 = 0, $112_1 = 0, $122_1 = 0, $138_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $4_1; + label$1 : while (1) { + $13_1 = 0; + label$2 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) >>> 0 < 15 >>> 0 & 1 | 0)) { + break label$2 + } + $13_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($13_1 & 1 | 0)) { + break label$3 + } + $23_1 = 0; + $24_1 = 59840; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $464(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($24_1 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, HEAP32[(($24_1 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, 2099201 | 0, ($24_1 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0 | 0, HEAP32[(($24_1 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0 | 0, $23_1 | 0, $23_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$4 : while (1) { + $60_1 = 0; + label$5 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) >>> 0 < 2 >>> 0 & 1 | 0)) { + break label$5 + } + $60_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$6 : { + if (!($60_1 & 1 | 0)) { + break label$6 + } + $70_1 = 0; + $72_1 = 60240; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $468(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($72_1 + Math_imul(HEAP32[($3_1 + 4 | 0) >> 2] | 0, 20) | 0) >> 2] | 0 | 0, HEAP32[(($72_1 + Math_imul(HEAP32[($3_1 + 4 | 0) >> 2] | 0, 20) | 0) + 4 | 0) >> 2] | 0 | 0, 3147777 | 0, $70_1 | 0, HEAP32[(($72_1 + Math_imul(HEAP32[($3_1 + 4 | 0) >> 2] | 0, 20) | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[(($72_1 + Math_imul(HEAP32[($3_1 + 4 | 0) >> 2] | 0, 20) | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[(($72_1 + Math_imul(HEAP32[($3_1 + 4 | 0) >> 2] | 0, 20) | 0) + 16 | 0) >> 2] | 0 | 0, 92 | 0, $70_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$7 : while (1) { + $112_1 = 0; + label$8 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) >>> 0 < 2 >>> 0 & 1 | 0)) { + break label$8 + } + $112_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$9 : { + if (!($112_1 & 1 | 0)) { + break label$9 + } + $122_1 = 60320; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $410(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($122_1 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0, HEAP32[(($122_1 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + $138_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $138_1 | 0; + } + + function $2025($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $6_1 = 0, $32_1 = 0, $149$hi = 0, $150$hi = 0, $23_1 = 0, $24_1 = 0, $52_1 = 0, $71_1 = 0, $85_1 = 0, $95_1 = 0, $108_1 = 0, $118_1 = 0, $154$hi = 0, $134_1 = 0, $256_1 = 0, $428$hi = 0, $432_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = 1; + label$3 : while (1) { + $23_1 = HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($5_1 + 19 | 0) >> 0] = $23_1; + $24_1 = 24; + $32_1 = 1; + label$4 : { + if ((($23_1 << $24_1 | 0) >> $24_1 | 0 | 0) != (44 | 0) & 1 | 0) { + break label$4 + } + $32_1 = 1; + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$4 + } + $32_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$5 : { + if (!($32_1 & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = 0; + $149$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $150$hi = i64toi32_i32$1; + i64toi32_i32$1 = $149$hi; + i64toi32_i32$1 = $150$hi; + i64toi32_i32$1 = $149$hi; + i64toi32_i32$1 = $150$hi; + $256_1 = i64toi32_i32$0; + i64toi32_i32$1 = $149$hi; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = $150$hi; + i64toi32_i32$3 = $256_1; + label$6 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$2 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$2; + break label$1; + } + $52_1 = 24; + label$7 : { + label$8 : { + if (!((((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) << $52_1 | 0) >> $52_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 28 | 0) >> 2] = ((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0; + break label$7; + } + $71_1 = 24; + label$9 : { + label$10 : { + if (!((((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) << $71_1 | 0) >> $71_1 | 0 | 0) == (92 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + break label$9; + } + label$11 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$11 + } + $85_1 = 24; + label$12 : { + label$13 : { + if ((((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) << $85_1 | 0) >> $85_1 | 0 | 0) == (123 | 0) & 1 | 0) { + break label$13 + } + $95_1 = 24; + if (!((((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) << $95_1 | 0) >> $95_1 | 0 | 0) == (91 | 0) & 1 | 0)) { + break label$12 + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + } + $108_1 = 24; + label$14 : { + label$15 : { + if ((((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) << $108_1 | 0) >> $108_1 | 0 | 0) == (125 | 0) & 1 | 0) { + break label$15 + } + $118_1 = 24; + if (!((((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) << $118_1 | 0) >> $118_1 | 0 | 0) == (93 | 0) & 1 | 0)) { + break label$14 + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + -1 | 0; + } + } + } + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + i64toi32_i32$2 = 0; + $154$hi = i64toi32_i32$2; + $134_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$3 = $134_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $428$hi = i64toi32_i32$1; + i64toi32_i32$1 = $154$hi; + i64toi32_i32$1 = $428$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $432_1 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$3 = $134_1; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = $432_1; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $3290((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0) | 0 | 0, i64toi32_i32$5 - 1 | 0 | 0) | 0; + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2026($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 93; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 94; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2027($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $27_1 = 0, $32_1 = 0, $35_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $27_1 = 24; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2082(((HEAPU8[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $27_1 | 0) >> $27_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : while (1) { + $32_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = $32_1 + -1 | 0; + $35_1 = 0; + label$4 : { + if (!$32_1) { + break label$4 + } + $35_1 = (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$5 : { + if (!($35_1 & 1 | 0)) { + break label$5 + } + label$6 : { + if (FUNCTION_TABLE[HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0) { + break label$6 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $56_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $56_1 | 0; + } + + function $2028($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $51_1 = 0, $66_1 = 0, $81_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + } + label$3 : { + if (!((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[$5_1 >> 2] = (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0; + label$4 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + } + $51_1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[$51_1 >> 2] = (HEAP32[$51_1 >> 2] | 0) + -1 | 0; + label$5 : { + if (!((HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = 0; + } + $66_1 = 24; + label$6 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $66_1 | 0) >> $66_1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $2031(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + $2031(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $81_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($81_1 + 4 | 0) >> 2] = (HEAP32[($81_1 + 4 | 0) >> 2] | 0) + -1 | 0; + label$7 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$7 + } + $2016(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $2029($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $27_1 = 0, i64toi32_i32$0 = 0, $62_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2030((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + $2031(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $27_1 = 24; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2026(((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $27_1 | 0) >> $27_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0) & ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $2032(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 3 | 0) | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $62_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $62_1 | 0; + } + + function $2030($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $3289(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + } + $15_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $15_1 | 0; + } + + function $2031($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2032($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $53_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$3; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + $53_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[$53_1 >> 2] = (HEAP32[$53_1 >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + return; + } + + function $2033($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $302(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($233(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + label$6 : { + if ($2131(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + if (!($249(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$8 + } + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$7 + } + } + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 48298 | 0, -1 | 0); + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = HEAP32[($229(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2012(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 8229 | 0, -1 | 0); + } + break label$4; + } + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 48321 | 0, -1 | 0); + break label$1; + } + break label$2; + } + label$10 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2132(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + if ((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$11 + } + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(48343 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + } + label$12 : { + if ($2131(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0) { + break label$12 + } + if (!($249(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + } + $254(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $5_1 + 28 | 0 | 0, 4 | 0, -1 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2034($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, $6_1 = 0, i64toi32_i32$0 = 0, $133_1 = 0, $24_1 = 0, $130_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$0 = 0; + $133_1 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $133_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $133_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$3 : while (1) { + $24_1 = 0; + label$4 : { + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + $24_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + } + label$5 : { + if (!($24_1 & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (19 | 0) & 1 | 0)) { + break label$7 + } + if ($3228(42180 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 19 | 0) | 0) { + break label$7 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + break label$6; + } + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (19 | 0) & 1 | 0)) { + break label$9 + } + if ($3228(42200 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 19 | 0) | 0) { + break label$9 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + break label$8; + } + label$10 : { + label$11 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (19 | 0) & 1 | 0)) { + break label$11 + } + if ($3228(42220 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 19 | 0) | 0) { + break label$11 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = 2; + break label$10; + } + label$12 : { + label$13 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) >= (11 | 0) & 1 | 0)) { + break label$13 + } + if ($3228(42240 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 11 | 0) | 0) { + break label$13 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2035(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 11 | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) - 11 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$12; + } + label$14 : { + label$15 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) >= (11 | 0) & 1 | 0)) { + break label$15 + } + if ($3228(42252 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 11 | 0) | 0) { + break label$15 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2035(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 11 | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) - 11 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$14; + } + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + } + } + } + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + label$16 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$16 + } + $2036(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + $130_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $130_1 | 0; + } + + function $2035($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $20_1 = 0, $46_1 = 0, $63_1 = 0, $141_1 = 0, $167_1 = 0, $184_1 = 0, $238_1 = 0, $62_1 = 0, i64toi32_i32$0 = 0, $183_1 = 0, $293_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (HEAP32[($6_1 + 44 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + $20_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $20_1 + 1 | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAPU8[$20_1 >> 0] | 0) & 255 | 0; + label$3 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAPU8[(((HEAP32[($6_1 + 32 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$4 : while (1) { + $46_1 = 0; + label$5 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $46_1 = (((HEAPU8[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$6 : { + if (!($46_1 & 1 | 0)) { + break label$6 + } + $62_1 = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) << 6 | 0; + $63_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $63_1 + 1 | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = $62_1 + (((HEAPU8[$63_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$4; + } + break label$4; + }; + label$7 : { + label$8 : { + if ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$8 + } + if (((HEAP32[($6_1 + 32 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$8 + } + if (!(((HEAP32[($6_1 + 32 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$7 + } + } + HEAP32[($6_1 + 32 | 0) >> 2] = 65533; + } + } + label$9 : { + if (!(($2043(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + if ($2042(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0) { + break label$9 + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + } + continue label$2; + }; + } + label$10 : { + label$11 : { + if (!(HEAP32[($6_1 + 28 | 0) >> 2] | 0)) { + break label$11 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 7; + break label$10; + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$13 + } + $141_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $141_1 + 1 | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAPU8[$141_1 >> 0] | 0) & 255 | 0; + label$15 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$15 + } + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAPU8[(((HEAP32[($6_1 + 32 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$16 : while (1) { + $167_1 = 0; + label$17 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + $167_1 = (((HEAPU8[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$18 : { + if (!($167_1 & 1 | 0)) { + break label$18 + } + $183_1 = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) << 6 | 0; + $184_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $184_1 + 1 | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = $183_1 + (((HEAPU8[$184_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$16; + } + break label$16; + }; + label$19 : { + label$20 : { + if ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$20 + } + if (((HEAP32[($6_1 + 32 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$20 + } + if (!(((HEAP32[($6_1 + 32 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$19 + } + } + HEAP32[($6_1 + 32 | 0) >> 2] = 65533; + } + } + label$21 : { + if (!(($2043(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + if ($2042(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0) { + break label$21 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$22 : while (1) { + $238_1 = 0; + label$23 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + $238_1 = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + } + label$24 : { + if (!($238_1 & 1 | 0)) { + break label$24 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$22; + } + break label$22; + }; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + label$25 : { + label$26 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 12 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$26; + }; + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + continue label$14; + }; + } + HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + } + $293_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $293_1 | 0; + } + + function $2036($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2037($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $54_1 = 0, $18_1 = 0, $44_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(28 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 7; + break label$1; + } + $18_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $54_1 = 0; + i64toi32_i32$1 = $18_1; + HEAP32[i64toi32_i32$1 >> 2] = $54_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $54_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $18_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $54_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$6 + } + $44_1 = $3303(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $44_1; + break label$5; + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + } + HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $51_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $51_1 | 0; + } + + function $2038($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2039($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $32_1 = 0, $58_1 = 0, $75_1 = 0, i64toi32_i32$1 = 0, $161_1 = 0, $181_1 = 0, $200_1 = 0, $210_1 = 0, $229_1 = 0, $241_1 = 0, $251_1 = 0, $263_1 = 0, $275_1 = 0, $287_1 = 0, $297_1 = 0, $308_1 = 0, $334_1 = 0, $351_1 = 0, $390_1 = 0, $424_1 = 0, $425_1 = 0, $74_1 = 0, i64toi32_i32$0 = 0, $180_1 = 0, $199_1 = 0, $209_1 = 0, $228_1 = 0, $240_1 = 0, $250_1 = 0, $262_1 = 0, $274_1 = 0, $286_1 = 0, $296_1 = 0, $350_1 = 0, $429_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 48 | 0) >> 2] = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 48 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = 0; + HEAP32[($8_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$1 + } + $32_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $32_1 + 1 | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = (HEAPU8[$32_1 >> 0] | 0) & 255 | 0; + label$3 : { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 40 | 0) >> 2] = (HEAPU8[(((HEAP32[($8_1 + 40 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$4 : while (1) { + $58_1 = 0; + label$5 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $58_1 = (((HEAPU8[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$6 : { + if (!($58_1 & 1 | 0)) { + break label$6 + } + $74_1 = (HEAP32[($8_1 + 40 | 0) >> 2] | 0) << 6 | 0; + $75_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $75_1 + 1 | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = $74_1 + (((HEAPU8[$75_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$4; + } + break label$4; + }; + label$7 : { + label$8 : { + if ((HEAP32[($8_1 + 40 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$8 + } + if (((HEAP32[($8_1 + 40 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$8 + } + if (!(((HEAP32[($8_1 + 40 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$7 + } + } + HEAP32[($8_1 + 40 | 0) >> 2] = 65533; + } + } + label$9 : { + if (!($2040(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + break label$1; + } + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + continue label$2; + }; + } + label$10 : { + label$11 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + HEAP32[($8_1 + 76 | 0) >> 2] = 101; + break label$10; + } + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$12 : while (1) { + label$13 : { + if (!(((HEAP32[($8_1 + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0 | 0) >= ((HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) - 4 | 0 | 0) & 1 | 0)) { + break label$13 + } + i64toi32_i32$1 = (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 64 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if ((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$14 + } + HEAP32[($8_1 + 76 | 0) >> 2] = 7; + break label$10; + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0) | 0; + HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + $161_1 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + HEAP32[($161_1 + 24 | 0) >> 2] = (HEAP32[($161_1 + 24 | 0) >> 2] | 0) + 64 | 0; + } + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2041(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!(HEAP32[($8_1 + 16 | 0) >> 2] | 0)) { + break label$15 + } + label$16 : { + label$17 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$17 + } + $180_1 = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) & 255 | 0; + $181_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $181_1 + 1 | 0; + HEAP8[$181_1 >> 0] = $180_1; + break label$16; + } + label$18 : { + label$19 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (2048 | 0) & 1 | 0)) { + break label$19 + } + $199_1 = ((((HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 6 | 0) & 31 | 0) & 255 | 0) + 192 | 0; + $200_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $200_1 + 1 | 0; + HEAP8[$200_1 >> 0] = $199_1; + $209_1 = (((HEAP32[($8_1 + 16 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $210_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $210_1 + 1 | 0; + HEAP8[$210_1 >> 0] = $209_1; + break label$18; + } + label$20 : { + label$21 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (65536 | 0) & 1 | 0)) { + break label$21 + } + $228_1 = ((((HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 12 | 0) & 15 | 0) & 255 | 0) + 224 | 0; + $229_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $229_1 + 1 | 0; + HEAP8[$229_1 >> 0] = $228_1; + $240_1 = ((((HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $241_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $241_1 + 1 | 0; + HEAP8[$241_1 >> 0] = $240_1; + $250_1 = (((HEAP32[($8_1 + 16 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $251_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $251_1 + 1 | 0; + HEAP8[$251_1 >> 0] = $250_1; + break label$20; + } + $262_1 = ((((HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 18 | 0) & 7 | 0) & 255 | 0) + 240 | 0; + $263_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $263_1 + 1 | 0; + HEAP8[$263_1 >> 0] = $262_1; + $274_1 = ((((HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 12 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $275_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $275_1 + 1 | 0; + HEAP8[$275_1 >> 0] = $274_1; + $286_1 = ((((HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $287_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $287_1 + 1 | 0; + HEAP8[$287_1 >> 0] = $286_1; + $296_1 = (((HEAP32[($8_1 + 16 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $297_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $297_1 + 1 | 0; + HEAP8[$297_1 >> 0] = $296_1; + } + } + } + } + label$22 : { + label$23 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$23 + } + break label$22; + } + $308_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $308_1 + 1 | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = (HEAPU8[$308_1 >> 0] | 0) & 255 | 0; + label$24 : { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$24 + } + HEAP32[($8_1 + 40 | 0) >> 2] = (HEAPU8[(((HEAP32[($8_1 + 40 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$25 : while (1) { + $334_1 = 0; + label$26 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + $334_1 = (((HEAPU8[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$27 : { + if (!($334_1 & 1 | 0)) { + break label$27 + } + $350_1 = (HEAP32[($8_1 + 40 | 0) >> 2] | 0) << 6 | 0; + $351_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $351_1 + 1 | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = $350_1 + (((HEAPU8[$351_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$25; + } + break label$25; + }; + label$28 : { + label$29 : { + if ((HEAP32[($8_1 + 40 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$29 + } + if (((HEAP32[($8_1 + 40 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$29 + } + if (!(((HEAP32[($8_1 + 40 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$28 + } + } + HEAP32[($8_1 + 40 | 0) >> 2] = 65533; + } + } + $390_1 = 1; + label$30 : { + if ($2040(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0) { + break label$30 + } + $390_1 = ($2042(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + if ($390_1 & 1 | 0) { + continue label$12 + } + } + break label$12; + }; + HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($8_1 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 64 | 0) >> 2] | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + $424_1 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + $425_1 = HEAP32[($424_1 + 16 | 0) >> 2] | 0; + HEAP32[($424_1 + 16 | 0) >> 2] = $425_1 + 1 | 0; + HEAP32[(HEAP32[($8_1 + 52 | 0) >> 2] | 0) >> 2] = $425_1; + HEAP32[($8_1 + 76 | 0) >> 2] = 0; + } + $429_1 = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + global$0 = $8_1 + 80 | 0; + return $429_1 | 0; + } + + function $2040($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $10_1 = ($2043(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) ^ ($2044(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $10_1 | 0; + } + + function $2041($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $159_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) >= (65 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) <= (90 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 32 | 0; + } + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (65536 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 162; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = -1; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) - ((HEAPU16[(43920 + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 1] | 0) & 65535 | 0) | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + break label$8; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) - 1 | 0; + } + continue label$7; + }; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 43920 + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0; + label$10 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (((HEAPU16[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0) + ((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + if (!((0 | 0) == ((((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) & (((HEAPU16[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0) ^ (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 36 | 0) >> 2] = ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + ((HEAPU16[(44576 + ((((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) >> 1 | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) | 0) & 65535 | 0; + } + label$11 : { + if (!(HEAP32[($4_1 + 40 | 0) >> 2] | 0)) { + break label$11 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2045(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + break label$4; + } + label$12 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) >= (66560 | 0) & 1 | 0)) { + break label$12 + } + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (66600 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0; + } + } + } + $159_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $159_1 | 0; + } + + function $2042($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $35_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 134389727; + HEAP32[$3_1 >> 2] = 221688; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (768 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) > (817 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (800 | 0) & 1 | 0)) { + break label$5 + } + $35_1 = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) & (1 << ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - 768 | 0) | 0) | 0; + break label$4; + } + $35_1 = (HEAP32[$3_1 >> 2] | 0) & (1 << (((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - 768 | 0) - 32 | 0) | 0) | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $35_1; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2043($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $38_1 = 0, $76_1 = 0; + $3_1 = global$0 - 32 | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = ((HEAP32[(43904 + (((HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 5 | 0) << 2 | 0) | 0) >> 2] | 0) & (1 << ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) & 31 | 0) | 0) | 0 | 0) == (0 | 0) & 1 | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 0 < 4194304 >>> 0 & 1 | 0)) { + break label$3 + } + $38_1 = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 10 | 0 | 1023 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $38_1; + HEAP32[($3_1 + 12 | 0) >> 2] = 405; + HEAP32[($3_1 + 8 | 0) >> 2] = $38_1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) >= (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 4 | 0) >> 2] = ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$6 : { + label$7 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0) >>> 0 >= (HEAP32[(42272 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$6; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) - 1 | 0; + } + continue label$5; + }; + } + $76_1 = 42272; + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 0 >= (((HEAP32[($76_1 + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 10 | 0) + ((HEAP32[($76_1 + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) & 1023 | 0) | 0) >>> 0 & 1 | 0; + break label$1; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 1; + } + return HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2044($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 1 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$5 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$6; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 1 | 0; + } + continue label$4; + }; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2045($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $71_1 = 0, $98_1 = 0, $110_1 = 0; + $4_1 = global$0 - 432 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 424 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 420 | 0) >> 2] = $1_1; + $3288($4_1 + 160 | 0 | 0, 44736 | 0, 252 | 0) | 0; + $3288($4_1 + 32 | 0 | 0, 44992 | 0, 126 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 424 | 0) >> 2] | 0) << 3 | 0 | 7 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 125; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 >= ((HEAPU16[(($4_1 + 160 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - 1 | 0; + } + continue label$2; + }; + } + label$5 : { + label$6 : { + if (HEAP32[($4_1 + 420 | 0) >> 2] | 0) { + break label$6 + } + if (!(((HEAPU8[(($4_1 + 32 | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$6 + } + HEAP32[($4_1 + 428 | 0) >> 2] = HEAP32[($4_1 + 424 | 0) >> 2] | 0; + break label$5; + } + $71_1 = $4_1 + 160 | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 424 | 0) >> 2] | 0 | 0) > ((((HEAPU16[($71_1 + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) >> 3 | 0) + (((HEAPU16[($71_1 + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) & 7 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + $98_1 = HEAP32[($4_1 + 424 | 0) >> 2] | 0; + break label$7; + } + $98_1 = ((HEAPU8[(($4_1 + 32 | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 127 | 0; + } + HEAP32[($4_1 + 428 | 0) >> 2] = $98_1; + } + $110_1 = HEAP32[($4_1 + 428 | 0) >> 2] | 0; + global$0 = $4_1 + 432 | 0; + return $110_1 | 0; + } + + function $2046($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $131_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$3 + } + break label$2; + } + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $3303(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$7 + } + if (!((0 | 0) == ($89(3385 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $3303(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$6; + } + break label$2; + } + break label$4; + } + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $3303(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $414(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, 45224 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($8_1 + 4 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 8 | 0) >> 2] = (((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 304 | 0) + (HEAP32[($8_1 + 20 | 0) >> 2] | 0) | 0) + 2 | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$9 : { + if ((HEAP32[$8_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + HEAP32[($8_1 + 60 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + $3289(HEAP32[$8_1 >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[$8_1 >> 2] | 0) + 16 | 0; + HEAP32[((HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 288 | 0; + HEAP32[((HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 256 | 0) >> 2] = 1; + $3288(HEAP32[((HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $3288(HEAP32[((HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0; + $2047(HEAP32[((HEAP32[((HEAP32[$8_1 >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[$8_1 >> 2] | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + break label$1; + } + $2048(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, 45293 | 0, 0 | 0); + HEAP32[($8_1 + 60 | 0) >> 2] = 1; + } + $131_1 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $131_1 | 0; + } + + function $2047($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0, $18_1 = 0, $28_1 = 0, $38_1 = 0, $50_1 = 0, $75_1 = 0, $79_1 = 0, $93_1 = 0, $97_1 = 0, $107_1 = 0, $115_1 = 0, $121_1 = 0, $105_1 = 0, $106_1 = 0, $114_1 = 0, $119_1 = 0, $120_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($3_1 + 11 | 0) >> 0] = HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0; + $8_1 = 24; + label$1 : { + label$2 : { + if ((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) == (91 | 0) & 1 | 0) { + break label$2 + } + $18_1 = 24; + if ((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) == (39 | 0) & 1 | 0) { + break label$2 + } + $28_1 = 24; + if ((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0 | 0) == (34 | 0) & 1 | 0) { + break label$2 + } + $38_1 = 24; + if (!((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $38_1 | 0) >> $38_1 | 0 | 0) == (96 | 0) & 1 | 0)) { + break label$1 + } + } + HEAP32[($3_1 + 4 | 0) >> 2] = 1; + HEAP32[$3_1 >> 2] = 0; + $50_1 = 24; + label$3 : { + if (!((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $50_1 | 0) >> $50_1 | 0 | 0) == (91 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[($3_1 + 11 | 0) >> 0] = 93; + } + label$4 : { + label$5 : while (1) { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + $75_1 = 24; + $79_1 = 24; + label$6 : { + label$7 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $75_1 | 0) >> $75_1 | 0 | 0) == (((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $79_1 | 0) >> $79_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + $93_1 = 24; + $97_1 = 24; + label$8 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $93_1 | 0) >> $93_1 | 0 | 0) != (((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $97_1 | 0) >> $97_1 | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$4; + } + $105_1 = HEAPU8[($3_1 + 11 | 0) >> 0] | 0; + $106_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $107_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[$3_1 >> 2] = $107_1 + 1 | 0; + HEAP8[($106_1 + $107_1 | 0) >> 0] = $105_1; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 2 | 0; + break label$6; + } + $114_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $115_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $115_1 + 1 | 0; + $119_1 = HEAPU8[($114_1 + $115_1 | 0) >> 0] | 0; + $120_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $121_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[$3_1 >> 2] = $121_1 + 1 | 0; + HEAP8[($120_1 + $121_1 | 0) >> 0] = $119_1; + } + continue label$5; + }; + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[$3_1 >> 2] | 0) | 0) >> 0] = 0; + } + return; + } + + function $2048($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $13_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + $42(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $13_1 = $78(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = $13_1; + global$0 = $5_1 + 16 | 0; + return; + } + + function $2049($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $5_1 = 0, $132_1 = 0, $142_1 = 0, $151_1 = 0, $155_1 = 0, $164_1 = 0, $172_1 = 0, $176_1 = 0, $185_1 = 0, $193_1 = 0, $202_1 = 0; + $4_1 = global$0 - 48 | 0; + $5_1 = 1; + $6_1 = -1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$1 + } + if (HEAP32[(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + if ((HEAPU8[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + } + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!(((HEAPU8[(((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 12) | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[(((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 12) | 0) >> 2] | 0; + label$5 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + label$7 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + label$8 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + label$9 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + label$10 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + } + label$11 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + } + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$13 : { + label$14 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + $132_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $132_1 + 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $132_1; + HEAPF64[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 3] = 5.0; + break label$13; + } + $142_1 = 0; + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = $142_1; + HEAPF64[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 3] = 2.0e4; + label$15 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) >= ($142_1 | 0) & 1 | 0)) { + break label$15 + } + $151_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($151_1 + 20 | 0) >> 2] = (HEAP32[($151_1 + 20 | 0) >> 2] | 0) + 2 | 0; + $155_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $155_1 + 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $155_1; + $164_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAPF64[($164_1 + 40 | 0) >> 3] = +HEAPF64[($164_1 + 40 | 0) >> 3] / 2.0; + } + label$16 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$16 + } + $172_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($172_1 + 20 | 0) >> 2] = (HEAP32[($172_1 + 20 | 0) >> 2] | 0) + 4 | 0; + $176_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $176_1 + 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $176_1; + $185_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAPF64[($185_1 + 40 | 0) >> 3] = +HEAPF64[($185_1 + 40 | 0) >> 3] / 2.0; + } + } + label$17 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$17 + } + $193_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $193_1 + 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $193_1; + $202_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAPF64[($202_1 + 40 | 0) >> 3] = +HEAPF64[($202_1 + 40 | 0) >> 3] + -1.0; + } + return 0 | 0; + } + + function $2050($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) < (40 | 0) & 1 | 0)) { + break label$1 + } + $213(HEAP32[(((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 60 | 0) + ((HEAP32[$3_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[$3_1 >> 2] = (HEAP32[$3_1 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $42(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 248 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2051($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $38(120 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[$4_1 >> 2] | 0 | 0, 0 | 0, 120 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $21_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $21_1 | 0; + } + + function $2052($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $2053(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $2054((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2053($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $383(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 252 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2054($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $30_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2065(HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $30_1 = 0; + $42(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $30_1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = $30_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $30_1; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2055($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $10_1 = 0, $9_1 = 0, $21_1 = 0, $28_1 = 0, $34_1 = 0, $44_1 = 0, $68_1 = 0, $167_1 = 0, $100_1 = 0, $113_1 = 0, $130_1 = 0, $143_1 = 0, $195_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 96 | 0; + global$0 = $7_1; + $9_1 = 0; + $10_1 = -1; + HEAP32[($7_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 68 | 0) >> 2] = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + HEAP32[($7_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($7_1 + 88 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $10_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $10_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $10_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $10_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $9_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + $21_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $21_1 + 1 | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = $21_1; + break label$1; + } + HEAP32[($7_1 + 56 | 0) >> 2] = 1; + label$3 : { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0) & 2 | 0)) { + break label$3 + } + $28_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $28_1 + 1 | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = $28_1; + } + label$4 : { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0) & 4 | 0)) { + break label$4 + } + $34_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $34_1 + 1 | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = $34_1; + } + } + label$5 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $44_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $44_1 + 1 | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = $44_1; + } + $2054((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0 | 0); + $42(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0); + $3289((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0, ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 120 | 0) - ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0) | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 72 | 0) >> 2] = 3; + label$6 : { + if (!(HEAP32[($7_1 + 56 | 0) >> 2] | 0)) { + break label$6 + } + $68_1 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP32[($68_1 + 72 | 0) >> 2] = HEAP32[($68_1 + 72 | 0) >> 2] | 0 | 16 | 0; + } + label$7 : { + label$8 : { + label$9 : { + if ((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$9 + } + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$8 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($7_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $100_1 = $79(1976 | 0, $7_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 60 | 0) >> 2] = $100_1; + label$11 : { + if (!((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($7_1 + 92 | 0) >> 2] = 7; + break label$7; + } + $113_1 = $3303(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 64 | 0) >> 2] = $113_1; + } + } + label$12 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $130_1 = $79(1976 | 0, $7_1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 76 | 0) >> 2] = $130_1; + label$13 : { + if (!((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($7_1 + 92 | 0) >> 2] = 7; + break label$7; + } + $143_1 = $3303(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 80 | 0) >> 2] = $143_1; + } + label$14 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($7_1 + 52 | 0) >> 2] = 0; + } + } + $167_1 = 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 84 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2056(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, $167_1 | 0, -2 | 0, HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, $167_1 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (HEAP32[($7_1 + 60 | 0) >> 2] | 0) { + break label$16 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2057(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 60 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + } + label$17 : { + if (HEAP32[($7_1 + 60 | 0) >> 2] | 0) { + break label$17 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2058(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($7_1 + 92 | 0) >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + } + $195_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + global$0 = $7_1 + 96 | 0; + return $195_1 | 0; + } + + function $2056($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $37_1 = 0, $12_1 = 0, $34_1 = 0; + $11_1 = global$0 - 48 | 0; + global$0 = $11_1; + HEAP32[($11_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 12 | 0) >> 2] = $8_1; + $12_1 = HEAP32[($11_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $37_1 = 0; + i64toi32_i32$1 = $12_1; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $34_1 = $2066(HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $11_1 + 48 | 0; + return $34_1 | 0; + } + + function $2057($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $14_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $14_1 = $2067(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $14_1 | 0; + } + + function $2058($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $186$hi = 0, $49_1 = 0, $194$hi = 0, $201$hi = 0, $205$hi = 0, $8_1 = 0, $183$hi = 0, $184$hi = 0, $9_1 = 0, $188$hi = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $33_1 = 0, $72_1 = 0, $129_1 = 0, $134_1 = 0, $191$hi = 0, $192$hi = 0, $196$hi = 0, $48_1 = 0, $50_1 = 0, $51_1 = 0, $139_1 = 0, $198$hi = 0, $199$hi = 0, $203$hi = 0, $207$hi = 0, $156_1 = 0, $209$hi = 0, $210$hi = 0, $158_1 = 0, $212$hi = 0, $213$hi = 0, $174_1 = 0, $216$hi = 0, $217$hi = 0, $175_1 = 0, $126_1 = 0, $131_1 = 0, $132_1 = 0, $166_1 = 0, $180_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 64 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + HEAP32[($3_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $8_1 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 100 | 0) >> 2] | 0; + $183$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $184$hi = i64toi32_i32$1; + i64toi32_i32$1 = $183$hi; + i64toi32_i32$1 = $184$hi; + i64toi32_i32$1 = $183$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $184$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $8_1; + HEAP32[(i64toi32_i32$2 + 96 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 100 | 0) >> 2] = i64toi32_i32$5; + $9_1 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + HEAP32[($9_1 + 104 | 0) >> 2] = (HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 1 | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$5 = 0; + $186$hi = i64toi32_i32$5; + i64toi32_i32$1 = (HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $188$hi = i64toi32_i32$2; + i64toi32_i32$2 = $186$hi; + i64toi32_i32$2 = $188$hi; + i64toi32_i32$2 = $186$hi; + i64toi32_i32$2 = $188$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $186$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $45_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $46_1 = 0 + } else { + $46_1 = 1 + } + $47_1 = $46_1; + } else { + $47_1 = 0 + } + $45_1 = $47_1; + } + label$4 : { + if (!($45_1 & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 60 | 0) >> 2] = 0; + break label$1; + } + $33_1 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + HEAP32[($33_1 + 104 | 0) >> 2] = (HEAP32[($33_1 + 104 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2059(HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$6 + } + $49_1 = 0; + HEAP32[($3_1 + 40 | 0) >> 2] = $49_1; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($3_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $49_1; + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) != ($49_1 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $72_1 = HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + break label$8; + } + $72_1 = HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 20 | 0) >> 2] = $72_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $3228(HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : { + if ((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$11 + } + if (HEAP32[($3_1 + 16 | 0) >> 2] | 0) { + break label$10 + } + if (!((HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + } + HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 88 | 0) >> 2] = 1; + HEAP32[($3_1 + 60 | 0) >> 2] = 0; + break label$1; + } + } + label$12 : { + if (!($2060(HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, 2 | 0) | 0)) { + break label$12 + } + HEAP32[($3_1 + 60 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) << 4 | 0 | 0) | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + i64toi32_i32$1 = 0; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + $126_1 = $2061((HEAP32[($3_1 + 32 | 0) >> 2] | 0) + (HEAP32[($3_1 + 40 | 0) >> 2] | 0) | 0 | 0, $3_1 + 8 | 0 | 0) | 0; + HEAP32[($3_1 + 40 | 0) >> 2] = (HEAP32[($3_1 + 40 | 0) >> 2] | 0) + $126_1 | 0; + $129_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + label$15 : { + label$16 : { + switch ($129_1 | 0) { + case 0: + $131_1 = 0; + $132_1 = 1; + $134_1 = HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + i64toi32_i32$3 = $134_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $191$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $192$hi = i64toi32_i32$2; + i64toi32_i32$2 = $191$hi; + i64toi32_i32$2 = $192$hi; + i64toi32_i32$2 = $191$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $192$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$3 = $134_1; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 24 | 0) >> 2] = $132_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $131_1; + break label$15; + case 1: + i64toi32_i32$4 = 0; + $194$hi = i64toi32_i32$4; + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $196$hi = i64toi32_i32$3; + i64toi32_i32$3 = $194$hi; + i64toi32_i32$3 = $196$hi; + i64toi32_i32$3 = $194$hi; + i64toi32_i32$3 = $196$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $194$hi; + i64toi32_i32$5 = 1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$4 | 0)) { + $48_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$5 >>> 0) { + $50_1 = 0 + } else { + $50_1 = 1 + } + $51_1 = $50_1; + } else { + $51_1 = 0 + } + $48_1 = $51_1; + } + label$20 : { + if (!($48_1 & 1 | 0)) { + break label$20 + } + $139_1 = HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + i64toi32_i32$5 = $139_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $198$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $199$hi = i64toi32_i32$3; + i64toi32_i32$3 = $198$hi; + i64toi32_i32$3 = $199$hi; + i64toi32_i32$3 = $198$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $199$hi; + i64toi32_i32$4 = 1; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$5 = $139_1; + HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($3_1 + 24 | 0) >> 2] = 2; + case 2: + i64toi32_i32$0 = 0; + $201$hi = i64toi32_i32$0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $203$hi = i64toi32_i32$5; + i64toi32_i32$5 = $201$hi; + i64toi32_i32$5 = $203$hi; + i64toi32_i32$5 = $201$hi; + i64toi32_i32$5 = $203$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $201$hi; + i64toi32_i32$4 = 0; + label$21 : { + label$22 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$4 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + break label$21; + } + i64toi32_i32$3 = 0; + $205$hi = i64toi32_i32$3; + i64toi32_i32$4 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $207$hi = i64toi32_i32$5; + i64toi32_i32$5 = $205$hi; + i64toi32_i32$5 = $207$hi; + i64toi32_i32$5 = $205$hi; + i64toi32_i32$5 = $207$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$3 = $205$hi; + i64toi32_i32$0 = 1; + label$23 : { + label$24 : { + if (!(((i64toi32_i32$4 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($3_1 + 24 | 0) >> 2] = 3; + break label$23; + } + $156_1 = (HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0) + (((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0) << 4 | 0) | 0; + i64toi32_i32$0 = $156_1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $209$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $210$hi = i64toi32_i32$5; + i64toi32_i32$5 = $209$hi; + i64toi32_i32$5 = $210$hi; + i64toi32_i32$5 = $209$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$4 = $210$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$0 = $156_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + $158_1 = HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + i64toi32_i32$5 = $158_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + $212$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $213$hi = i64toi32_i32$0; + i64toi32_i32$0 = $212$hi; + i64toi32_i32$0 = $213$hi; + i64toi32_i32$0 = $212$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $213$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$5 = $158_1; + HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] = i64toi32_i32$2; + } + } + break label$15; + default: + break label$16; + }; + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = i64toi32_i32$2; + label$25 : { + if (!($2060(HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 2 | 0 | 0) | 0)) { + break label$25 + } + HEAP32[($3_1 + 60 | 0) >> 2] = 7; + break label$1; + } + $166_1 = 2; + $174_1 = (HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0) + (((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0) << 4 | 0) | 0; + i64toi32_i32$0 = $174_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $216$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $217$hi = i64toi32_i32$2; + i64toi32_i32$2 = $216$hi; + i64toi32_i32$2 = $217$hi; + i64toi32_i32$2 = $216$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $217$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $174_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 24 | 0) >> 2] = $166_1; + } + continue label$14; + }; + } + $175_1 = 0; + HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 104 | 0) >> 2] = $175_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $175_1; + break label$5; + } + HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 88 | 0) >> 2] = 1; + } + HEAP32[($3_1 + 60 | 0) >> 2] = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + } + $180_1 = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + global$0 = $3_1 + 64 | 0; + return $180_1 | 0; + } + + function $2059($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $45_1 = 0, $154_1 = 0, $46_1 = 0, $47_1 = 0, $309_1 = 0, $484$hi = 0, $485$hi = 0, $488$hi = 0, $489$hi = 0, i64toi32_i32$6 = 0, $495$hi = 0, $496$hi = 0, $87_1 = 0, $257_1 = 0, $295_1 = 0, $334_1 = 0, $48_1 = 0, $49_1 = 0, $50_1 = 0, $492$hi = 0, $493$hi = 0, $51_1 = 0, $52_1 = 0, $53_1 = 0, $499$hi = 0, $500$hi = 0, $394_1 = 0, $438_1 = 0, $1141_1 = 0, $484_1 = 0, $1214_1 = 0, $488_1 = 0, $1313_1 = 0, $492_1 = 0, $1327_1 = 0, $495_1 = 0, $1350_1 = 0, $499_1 = 0, $1364_1 = 0, $389_1 = 0, $1448_1 = 0, $422_1 = 0, $1482_1 = 0, $437_1 = 0, $479_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 112 | 0) >> 2] = 0; + HEAP32[($4_1 + 108 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & 2 | 0; + HEAP32[($4_1 + 104 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & 1 | 0; + HEAP32[($4_1 + 100 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & 4 | 0; + HEAP32[($4_1 + 96 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & 8 | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & 16 | 0; + HEAP32[($4_1 + 88 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & 32 | 0; + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 116 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 ? 95 : 96; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 0; + break label$1; + } + label$3 : while (1) { + HEAP32[($4_1 + 64 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 64 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + $2088(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + break label$6; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2086(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + if (!(HEAP32[($4_1 + 112 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($4_1 + 124 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $87_1 = 0; + $2090(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 97 | 0); + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] = $87_1; + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == ($87_1 | 0) & 1 | 0)) { + break label$10 + } + break label$9; + } + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + label$11 : { + if (!((HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$11 + } + label$12 : { + label$13 : { + if ((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$13 + } + label$14 : { + if (HEAP32[($4_1 + 96 | 0) >> 2] | 0) { + break label$14 + } + if ((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$13 + } + } + if (!($3228(HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + } + break label$9; + } + } + HEAP32[($4_1 + 68 | 0) >> 2] = 1; + label$15 : while (1) { + $154_1 = 0; + label$16 : { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $154_1 = 0; + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $154_1 = 0; + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $154_1 = (0 | 0) == ($3228(HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0 | 0); + } + label$17 : { + if (!($154_1 & 1 | 0)) { + break label$17 + } + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + } + break label$15; + }; + label$18 : { + label$19 : { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$19 + } + if (HEAP32[($4_1 + 108 | 0) >> 2] | 0) { + break label$19 + } + if (HEAP32[($4_1 + 88 | 0) >> 2] | 0) { + break label$19 + } + label$20 : { + if (!((HEAPU8[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0)) { + break label$20 + } + if ((HEAP32[((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$19 + } + } + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + label$21 : { + label$22 : { + if (!((HEAP32[((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2095(HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$21; + } + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + } + label$23 : { + if (HEAP32[($4_1 + 112 | 0) >> 2] | 0) { + break label$23 + } + HEAP32[($4_1 + 112 | 0) >> 2] = 100; + } + break label$18; + } + $257_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $257_1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 64 | 0) >> 2] = $257_1; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + $2096(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 64 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + $2090(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0); + label$26 : { + label$27 : while (1) { + if (!((HEAP32[((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $295_1 = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $295_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $295_1; + i64toi32_i32$2 = HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] | 0; + $1141_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1141_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + $2097(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0, $4_1 + 40 | 0 | 0, $4_1 + 36 | 0 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + label$28 : while (1) { + $309_1 = 0; + label$29 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + $309_1 = 0; + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$29 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] | 0; + $484_1 = i64toi32_i32$1; + $484$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $485$hi = i64toi32_i32$1; + i64toi32_i32$1 = $484$hi; + i64toi32_i32$1 = $485$hi; + i64toi32_i32$1 = $484$hi; + i64toi32_i32$1 = $485$hi; + $1214_1 = i64toi32_i32$0; + i64toi32_i32$1 = $484$hi; + i64toi32_i32$2 = $484_1; + i64toi32_i32$0 = $485$hi; + i64toi32_i32$3 = $1214_1; + $309_1 = (i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0; + } + label$30 : { + if (!($309_1 & 1 | 0)) { + break label$30 + } + $334_1 = 0; + $2097(HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $334_1 | 0, $334_1 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + } + break label$28; + }; + label$31 : { + if (!(HEAP32[($4_1 + 100 | 0) >> 2] | 0)) { + break label$31 + } + $2098(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 0 | 0, $4_1 + 40 | 0 | 0, $4_1 + 36 | 0 | 0); + } + label$32 : { + label$33 : { + if (!(HEAP32[($4_1 + 108 | 0) >> 2] | 0)) { + break label$33 + } + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$32 + } + } + label$34 : { + label$35 : { + if (!((HEAPU8[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0)) { + break label$35 + } + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$35 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $488_1 = i64toi32_i32$2; + $488$hi = i64toi32_i32$1; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $489$hi = i64toi32_i32$2; + i64toi32_i32$2 = $488$hi; + i64toi32_i32$2 = $489$hi; + i64toi32_i32$2 = $488$hi; + i64toi32_i32$2 = $489$hi; + $1313_1 = i64toi32_i32$1; + i64toi32_i32$2 = $488$hi; + i64toi32_i32$3 = $488_1; + i64toi32_i32$1 = $489$hi; + i64toi32_i32$0 = $1313_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $48_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 > i64toi32_i32$0 >>> 0) { + $49_1 = 0 + } else { + $49_1 = 1 + } + $50_1 = $49_1; + } else { + $50_1 = 0 + } + $48_1 = $50_1; + } + label$36 : { + if (!($48_1 & 1 | 0)) { + break label$36 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 267; + break label$1; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $492_1 = i64toi32_i32$3; + $492$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $493$hi = i64toi32_i32$3; + i64toi32_i32$3 = $492$hi; + i64toi32_i32$3 = $493$hi; + $1327_1 = i64toi32_i32$2; + i64toi32_i32$3 = $492$hi; + i64toi32_i32$0 = $492_1; + i64toi32_i32$2 = $493$hi; + i64toi32_i32$1 = $1327_1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$5; + break label$34; + } + label$37 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$37 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $495_1 = i64toi32_i32$5; + $495$hi = i64toi32_i32$0; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $496$hi = i64toi32_i32$5; + i64toi32_i32$5 = $495$hi; + i64toi32_i32$5 = $496$hi; + i64toi32_i32$5 = $495$hi; + i64toi32_i32$5 = $496$hi; + $1350_1 = i64toi32_i32$0; + i64toi32_i32$5 = $495$hi; + i64toi32_i32$3 = $495_1; + i64toi32_i32$0 = $496$hi; + i64toi32_i32$1 = $1350_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$0 | 0)) { + $51_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { + $52_1 = 0 + } else { + $52_1 = 1 + } + $53_1 = $52_1; + } else { + $53_1 = 0 + } + $51_1 = $53_1; + } + if (!($51_1 & 1 | 0)) { + break label$37 + } + HEAP32[($4_1 + 124 | 0) >> 2] = 267; + break label$1; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $499_1 = i64toi32_i32$3; + $499$hi = i64toi32_i32$5; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $500$hi = i64toi32_i32$3; + i64toi32_i32$3 = $499$hi; + i64toi32_i32$3 = $500$hi; + $1364_1 = i64toi32_i32$5; + i64toi32_i32$3 = $499$hi; + i64toi32_i32$1 = $499_1; + i64toi32_i32$5 = $500$hi; + i64toi32_i32$0 = $1364_1; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$4; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $389_1 = $2099(i64toi32_i32$4 | 0, i64toi32_i32$1 | 0) | 0; + label$38 : { + label$39 : { + if (!(HEAP32[($4_1 + 104 | 0) >> 2] | 0)) { + break label$39 + } + $394_1 = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + break label$38; + } + $394_1 = 0; + } + HEAP32[($4_1 + 32 | 0) >> 2] = $389_1 + $394_1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2100(HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + (HEAP32[($4_1 + 56 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$40 : { + if (!(HEAP32[($4_1 + 112 | 0) >> 2] | 0)) { + break label$40 + } + HEAP32[($4_1 + 124 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + break label$1; + } + label$41 : { + label$42 : { + if (!(HEAP32[($4_1 + 88 | 0) >> 2] | 0)) { + break label$42 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 56 | 0) >> 2] | 0) | 0; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2101(i64toi32_i32$1 | 0, i64toi32_i32$4 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$43 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$43 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $1448_1 = i64toi32_i32$4; + i64toi32_i32$4 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $1448_1; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + } + break label$41; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $422_1 = $2102((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 56 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0) | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + $422_1 | 0; + i64toi32_i32$3 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $1482_1 = i64toi32_i32$4; + i64toi32_i32$4 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $1482_1; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$1; + label$44 : { + if (!(HEAP32[($4_1 + 104 | 0) >> 2] | 0)) { + break label$44 + } + $3288((HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 56 | 0) >> 2] | 0) | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0; + $437_1 = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $438_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $438_1 + 1 | 0; + HEAP8[($437_1 + $438_1 | 0) >> 0] = 0; + } + } + } + $2090(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0); + continue label$27; + }; + } + label$45 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$45 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2100(HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$46 : { + if (!(HEAP32[($4_1 + 112 | 0) >> 2] | 0)) { + break label$46 + } + HEAP32[($4_1 + 124 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$1 = 0; + i64toi32_i32$4 = (HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 56 | 0) >> 2] | 0) | 0; + $45_1 = 0; + HEAP8[i64toi32_i32$4 >> 0] = $45_1; + HEAP8[(i64toi32_i32$4 + 1 | 0) >> 0] = $45_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$4 + 2 | 0) >> 0] = $45_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$4 + 3 | 0) >> 0] = $45_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$4 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$4 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$4 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$4 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $46_1 = i64toi32_i32$4 + 16 | 0; + $47_1 = 0; + HEAP8[$46_1 >> 0] = $47_1; + HEAP8[($46_1 + 1 | 0) >> 0] = $47_1 >>> 8 | 0; + HEAP8[($46_1 + 2 | 0) >> 0] = $47_1 >>> 16 | 0; + HEAP8[($46_1 + 3 | 0) >> 0] = $47_1 >>> 24 | 0; + i64toi32_i32$4 = i64toi32_i32$4 + 8 | 0; + HEAP8[i64toi32_i32$4 >> 0] = $45_1; + HEAP8[(i64toi32_i32$4 + 1 | 0) >> 0] = $45_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$4 + 2 | 0) >> 0] = $45_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$4 + 3 | 0) >> 0] = $45_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$4 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$4 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$4 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$4 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 112 | 0) >> 2] = 100; + } + } + HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + if (!(HEAP32[($4_1 + 112 | 0) >> 2] | 0)) { + continue label$3 + } + } + break label$3; + }; + HEAP32[($4_1 + 124 | 0) >> 2] = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + } + $479_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + global$0 = $4_1 + 128 | 0; + return $479_1 | 0; + } + + function $2060($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $46_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 4 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $3289((HEAP32[$4_1 >> 2] | 0) + ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, 0 | 0, ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) | 0) << 4 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 112 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $46_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $46_1 | 0; + } + + function $2061($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $7_1 = $2085(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $7_1 | 0; + } + + function $2062($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + return HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0; + } + + function $2063($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $7_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($7_1 | 0) { + case 0: + $277(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, -1 | 0); + break label$1; + case 1: + label$7 : { + label$8 : { + if (!(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 104 | 0) >> 2] | 0)) { + break label$8 + } + $267(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 104 | 0) >> 2] | 0) - 1 | 0 | 0); + break label$7; + } + $277(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 29181 | 0, -1 | 0, 0 | 0); + } + break label$1; + case 2: + i64toi32_i32$2 = (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 112 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 104 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + break label$1; + case 3: + i64toi32_i32$2 = (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 112 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 104 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$1; + default: + break label$2; + }; + } + $267(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 84 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return 0 | 0; + } + + function $2064($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $29_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 100 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $29_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return 0 | 0; + } + + function $2065($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + label$3 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + } + $383(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + } + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2066($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $12_1 = 0, $181$hi = 0, $42_1 = 0, $84_1 = 0, $87_1 = 0, $94_1 = 0, $186$hi = 0, $127_1 = 0, $149_1 = 0, $189$hi = 0, $190$hi = 0, $191$hi = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $389_1 = 0, $396_1 = 0, $403_1 = 0, $506_1 = 0, $147_1 = 0, $189_1 = 0, $190_1 = 0, $548_1 = 0, $178_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11_1 = global$0 - 96 | 0; + global$0 = $11_1; + $12_1 = 0; + HEAP32[($11_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 68 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 64 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 60 | 0) >> 2] = $8_1; + HEAP32[($11_1 + 56 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 52 | 0) >> 2] = $12_1; + label$1 : { + if (!((HEAP32[($11_1 + 80 | 0) >> 2] | 0 | 0) < ($12_1 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 280 | 0) >> 2] | 0 | 0) == (HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($11_1 + 44 | 0) >> 2] = 0; + $37_1 = HEAP32[($11_1 + 92 | 0) >> 2] | 0; + $38_1 = HEAP32[($11_1 + 84 | 0) >> 2] | 0; + $39_1 = HEAP32[($11_1 + 76 | 0) >> 2] | 0; + $40_1 = HEAP32[($11_1 + 72 | 0) >> 2] | 0; + $42_1 = 1; + label$2 : { + if (HEAP32[($11_1 + 68 | 0) >> 2] | 0) { + break label$2 + } + $42_1 = (HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0); + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2068($37_1 | 0, $38_1 | 0, $39_1 | 0, $40_1 | 0, $42_1 & 1 | 0 | 0, $11_1 + 44 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($11_1 + 56 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2069(HEAP32[($11_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + } + label$4 : { + label$5 : { + if (!((HEAP32[($11_1 + 80 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (HEAP32[($11_1 + 56 | 0) >> 2] | 0) { + break label$6 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2070(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 80 | 0) >> 2] | 0 | 0, $11_1 + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : while (1) { + $84_1 = 0; + label$8 : { + if (HEAP32[($11_1 + 56 | 0) >> 2] | 0) { + break label$8 + } + $87_1 = $287(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($11_1 + 56 | 0) >> 2] = $87_1; + $84_1 = (100 | 0) == ($87_1 | 0); + } + label$9 : { + if (!($84_1 & 1 | 0)) { + break label$9 + } + i64toi32_i32$0 = 0; + $181$hi = i64toi32_i32$0; + $94_1 = 4; + HEAP32[($11_1 + 40 | 0) >> 2] = 0; + i64toi32_i32$0 = $318(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $389_1 = i64toi32_i32$0; + i64toi32_i32$0 = $11_1; + HEAP32[($11_1 + 32 | 0) >> 2] = $389_1; + HEAP32[($11_1 + 36 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $318(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $396_1 = i64toi32_i32$1; + i64toi32_i32$1 = $11_1; + HEAP32[($11_1 + 24 | 0) >> 2] = $396_1; + HEAP32[($11_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $318(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, 3 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $403_1 = i64toi32_i32$0; + i64toi32_i32$0 = $11_1; + HEAP32[($11_1 + 16 | 0) >> 2] = $403_1; + HEAP32[($11_1 + 20 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $315(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, $94_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $311(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0, $94_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = HEAP32[($11_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11_1 + 36 | 0) >> 2] | 0; + $186$hi = i64toi32_i32$0; + i64toi32_i32$0 = $181$hi; + i64toi32_i32$0 = $186$hi; + i64toi32_i32$0 = $181$hi; + i64toi32_i32$0 = $186$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $181$hi; + label$10 : { + if (!(((i64toi32_i32$2 | 0) != (0 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[($11_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + label$12 : { + if (!(HEAP32[($11_1 + 68 | 0) >> 2] | 0)) { + break label$12 + } + $127_1 = $11_1 + 24 | 0; + break label$11; + } + $127_1 = 0; + } + HEAP32[($11_1 + 4 | 0) >> 2] = $127_1; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2071(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 12 | 0) >> 2] | 0 | 0, $11_1 + 32 | 0 | 0, HEAP32[($11_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($11_1 + 56 | 0) >> 2] | 0)) { + break label$13 + } + break label$4; + } + label$14 : { + if (HEAP32[($11_1 + 68 | 0) >> 2] | 0) { + break label$14 + } + if (HEAP32[($11_1 + 64 | 0) >> 2] | 0) { + break label$14 + } + i64toi32_i32$2 = HEAP32[($11_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11_1 + 36 | 0) >> 2] | 0; + $506_1 = i64toi32_i32$2; + i64toi32_i32$2 = $11_1; + HEAP32[($11_1 + 24 | 0) >> 2] = $506_1; + HEAP32[($11_1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + } + $147_1 = (HEAP32[((HEAP32[($11_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0; + $149_1 = 0; + label$15 : { + if (HEAP32[($11_1 + 68 | 0) >> 2] | 0) { + break label$15 + } + $149_1 = (HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0); + } + i64toi32_i32$0 = HEAP32[($11_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($11_1 + 36 | 0) >> 2] | 0; + $189_1 = i64toi32_i32$0; + $189$hi = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($11_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11_1 + 28 | 0) >> 2] | 0; + $190_1 = i64toi32_i32$2; + $190$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($11_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($11_1 + 20 | 0) >> 2] | 0; + $191$hi = i64toi32_i32$2; + i64toi32_i32$2 = $189$hi; + i64toi32_i32$2 = $190$hi; + i64toi32_i32$2 = $191$hi; + $548_1 = i64toi32_i32$0; + i64toi32_i32$2 = $189$hi; + i64toi32_i32$0 = $190$hi; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2072($147_1 | 0, $149_1 & 1 | 0 | 0, $189_1 | 0, i64toi32_i32$2 | 0, $190_1 | 0, i64toi32_i32$0 | 0, $548_1 | 0, $191$hi | 0, HEAP32[($11_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 12 | 0) >> 2] | 0 | 0, $11_1 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!(HEAP32[($11_1 + 56 | 0) >> 2] | 0)) { + break label$16 + } + break label$4; + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2069(HEAP32[($11_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + continue label$7; + } + break label$7; + }; + } + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $222(HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!((HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($11_1 + 56 | 0) >> 2] = HEAP32[($11_1 + 48 | 0) >> 2] | 0; + } + $178_1 = HEAP32[($11_1 + 56 | 0) >> 2] | 0; + global$0 = $11_1 + 96 | 0; + return $178_1 | 0; + } + + function $2067($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $13_1 = 0, $45_1 = 0, $50_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + $13_1 = 0; + label$3 : { + if (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$3 + } + $13_1 = (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($13_1 & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$5 : while (1) { + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2086(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + break label$1; + } + $45_1 = 0; + label$7 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $50_1 = $2087(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $50_1; + $45_1 = ($50_1 | 0) < (0 | 0); + } + if ($45_1 & 1 | 0) { + continue label$5 + } + break label$5; + }; + label$8 : { + if (!((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$8 + } + $2088(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + $2090(HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 97 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $72_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $72_1 | 0; + } + + function $2068($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $9_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $78_1 = 0, $76_1 = 0, $77_1 = 0, $155_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 32 | 0) >> 2] = ((HEAP32[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 72 | 0) >> 2] | 0, 24) | 0) + 4 | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($8_1 + 60 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($8_1 + 28 | 0) >> 2] = 0; + HEAP32[($8_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!(HEAP32[($8_1 + 64 | 0) >> 2] | 0)) { + break label$6 + } + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) >= (HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + if (!((0 | 0) == ($3228(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + } + label$7 : { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 16 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $44(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 28 | 0) >> 2] | 0) << 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if ((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + HEAP32[($8_1 + 36 | 0) >> 2] = 7; + HEAP32[($8_1 + 40 | 0) >> 2] = 0; + break label$3; + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + } + $76_1 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + $77_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + $78_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = $78_1 + 1 | 0; + HEAP32[($77_1 + ($78_1 << 2 | 0) | 0) >> 2] = $76_1; + } + HEAP32[($8_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 48 | 0) >> 2] | 0) >> 2] | 0; + continue label$4; + }; + } + label$9 : { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$9 + } + $3221(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, 4 | 0, 98 | 0); + } + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2074(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($8_1 + 44 | 0) >> 2] = $8_1 + 48 | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = 1; + } + } + label$11 : { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$11 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 8 | 0) >> 2] = (((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) + 96 | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + label$13 : { + if ((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$13 + } + HEAP32[($8_1 + 36 | 0) >> 2] = 7; + break label$12; + } + i64toi32_i32$1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + $3289(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 52 | 0) >> 2] | 0) >> 2] = 2147483647; + HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] = (HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 96 | 0; + $3288(HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 40 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + } + } + label$14 : { + if (!(HEAP32[($8_1 + 60 | 0) >> 2] | 0)) { + break label$14 + } + $42(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0); + } + HEAP32[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + $155_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + global$0 = $8_1 + 80 | 0; + return $155_1 | 0; + } + + function $2069($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $34_1 = 0, $35_1 = 0, $31_1 = 0, $33_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) % (16 | 0) | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0) << 2 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $49(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + $2065(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $31_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $33_1 = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + $34_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $35_1 = HEAP32[($34_1 + 4 | 0) >> 2] | 0; + HEAP32[($34_1 + 4 | 0) >> 2] = $35_1 + 1 | 0; + HEAP32[($33_1 + ($35_1 << 2 | 0) | 0) >> 2] = $31_1; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $41_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $41_1 | 0; + } + + function $2070($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8_1 = 0, $27_1 = 0, $31_1 = 0, $44_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 4 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) < ($8_1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 13 | 0, $7_1 + 4 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + $27_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = $2076(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $331($27_1 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $31_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = $2076(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, 1023 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $331($31_1 | 0, 2 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + } + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 12 | 0, $7_1 + 4 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$4 + } + $44_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = $2076(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $331($44_1 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + } + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + $51_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $51_1 | 0; + } + + function $2071($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $40_1 = 0, $133$hi = 0, $134$hi = 0, $78_1 = 0, $139_1 = 0, $139$hi = 0, $133_1 = 0, $268_1 = 0, $82_1 = 0, $130_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 48 | 0; + global$0 = $9_1; + HEAP32[($9_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($9_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$2 + } + $2077(HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, $9_1 + 12 | 0 | 0) | 0; + break label$1; + } + HEAP32[($9_1 + 12 | 0) >> 2] = (HEAPU8[(HEAP32[($9_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2078(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($9_1 + 16 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$3 + } + $40_1 = 0; + HEAP32[($9_1 + 8 | 0) >> 2] = $40_1; + HEAP32[($9_1 + 4 | 0) >> 2] = $40_1; + label$4 : { + if (!((HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0) != ($40_1 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $133_1 = i64toi32_i32$0; + $133$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $134$hi = i64toi32_i32$0; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$0 = $134$hi; + $268_1 = i64toi32_i32$1; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$2 = $133_1; + i64toi32_i32$1 = $134$hi; + i64toi32_i32$3 = $268_1; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$3 = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2079(HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0, $9_1 + 8 | 0 | 0, $9_1 + 4 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($9_1 + 16 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2071(HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $78_1 = 0; + $42(HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 24 | 0) >> 2] = $78_1; + HEAP32[($9_1 + 8 | 0) >> 2] = $78_1; + } + label$6 : { + if (HEAP32[($9_1 + 16 | 0) >> 2] | 0) { + break label$6 + } + $82_1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$3 = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $139_1 = i64toi32_i32$0; + $139$hi = i64toi32_i32$2; + break label$7; + } + i64toi32_i32$3 = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $139_1 = i64toi32_i32$2; + $139$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $139$hi; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2079($82_1 | 0, $139_1 | 0, i64toi32_i32$0 | 0, $9_1 + 8 | 0 | 0, $9_1 + 4 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$9 : { + if (HEAP32[($9_1 + 16 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[$9_1 >> 2] = 0; + label$10 : { + label$11 : { + if (!(((HEAPU8[(HEAP32[($9_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$11 + } + $2077(HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0, $9_1 | 0) | 0; + break label$10; + } + HEAP32[$9_1 >> 2] = (HEAPU8[(HEAP32[($9_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + } + label$12 : { + label$13 : { + if (!((HEAP32[$9_1 >> 2] | 0 | 0) >= (HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($9_1 + 16 | 0) >> 2] = 267; + break label$12; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2071(HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + $42(HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0); + } + $130_1 = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + global$0 = $9_1 + 48 | 0; + return $130_1 | 0; + } + + function $2072($0_1, $1_1, $2_1, $2$hi, $3_1, $3$hi, $4_1, $4$hi, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $28_1 = 0, $29_1 = 0, $30_1 = 0, $80$hi = 0, $84$hi = 0, i64toi32_i32$5 = 0, $82$hi = 0, $86$hi = 0, $92$hi = 0, $93$hi = 0, $204_1 = 0, $210_1 = 0, $216_1 = 0, $285_1 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 64 | 0; + global$0 = $10_1; + i64toi32_i32$0 = 0; + $80$hi = i64toi32_i32$0; + HEAP32[($10_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 52 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $10_1; + HEAP32[($10_1 + 40 | 0) >> 2] = $2_1; + HEAP32[($10_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $10_1; + HEAP32[($10_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $10_1; + HEAP32[($10_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($10_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 12 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 4 | 0) >> 2] = 0; + i64toi32_i32$2 = $10_1; + i64toi32_i32$0 = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($10_1 + 44 | 0) >> 2] | 0; + $82$hi = i64toi32_i32$1; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = 0; + $84$hi = i64toi32_i32$2; + i64toi32_i32$3 = $10_1; + i64toi32_i32$2 = HEAP32[($10_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($10_1 + 36 | 0) >> 2] | 0; + $86$hi = i64toi32_i32$1; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$1 = $86$hi; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$1 = $86$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$0 = 0; + label$3 : { + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($10_1 + 60 | 0) >> 2] = 267; + break label$1; + } + HEAP32[($10_1 + 4 | 0) >> 2] = (HEAP32[($10_1 + 16 | 0) >> 2] | 0) + 20 | 0; + } + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $38((HEAP32[($10_1 + 4 | 0) >> 2] | 0) + 96 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if ((HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + HEAP32[($10_1 + 60 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[($10_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, 96 | 0) | 0; + HEAP32[(HEAP32[($10_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($10_1 + 56 | 0) >> 2] | 0; + HEAP8[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] = (HEAP32[($10_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + i64toi32_i32$0 = $10_1; + i64toi32_i32$3 = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($10_1 + 44 | 0) >> 2] | 0; + $204_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($10_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] = $204_1; + HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $10_1; + i64toi32_i32$1 = HEAP32[($10_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($10_1 + 36 | 0) >> 2] | 0; + $210_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($10_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $210_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$0 = $10_1; + i64toi32_i32$3 = HEAP32[($10_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($10_1 + 28 | 0) >> 2] | 0; + $216_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($10_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] = $216_1; + HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] = i64toi32_i32$1; + label$5 : { + label$6 : { + if (!(HEAP32[($10_1 + 4 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 96 | 0; + HEAP8[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 5 | 0) >> 0] = 1; + HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($10_1 + 16 | 0) >> 2] | 0; + label$7 : { + if (!(HEAP32[($10_1 + 16 | 0) >> 2] | 0)) { + break label$7 + } + $3288(HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + i64toi32_i32$1 = 0; + i64toi32_i32$3 = (HEAP32[((HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + (HEAP32[($10_1 + 16 | 0) >> 2] | 0) | 0; + $28_1 = 0; + HEAP8[i64toi32_i32$3 >> 0] = $28_1; + HEAP8[(i64toi32_i32$3 + 1 | 0) >> 0] = $28_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$3 + 2 | 0) >> 0] = $28_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$3 + 3 | 0) >> 0] = $28_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$3 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$3 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$3 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$3 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + $29_1 = i64toi32_i32$3 + 16 | 0; + $30_1 = 0; + HEAP8[$29_1 >> 0] = $30_1; + HEAP8[($29_1 + 1 | 0) >> 0] = $30_1 >>> 8 | 0; + HEAP8[($29_1 + 2 | 0) >> 0] = $30_1 >>> 16 | 0; + HEAP8[($29_1 + 3 | 0) >> 0] = $30_1 >>> 24 | 0; + i64toi32_i32$3 = i64toi32_i32$3 + 8 | 0; + HEAP8[i64toi32_i32$3 >> 0] = $28_1; + HEAP8[(i64toi32_i32$3 + 1 | 0) >> 0] = $28_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$3 + 2 | 0) >> 0] = $28_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$3 + 3 | 0) >> 0] = $28_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$3 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$3 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$3 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$3 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + break label$5; + } + i64toi32_i32$0 = $10_1; + i64toi32_i32$1 = HEAP32[($10_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($10_1 + 44 | 0) >> 2] | 0; + $92$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $93$hi = i64toi32_i32$3; + i64toi32_i32$3 = $92$hi; + i64toi32_i32$3 = $93$hi; + i64toi32_i32$3 = $92$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $93$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + $285_1 = i64toi32_i32$0 - i64toi32_i32$2 | 0; + i64toi32_i32$0 = HEAP32[($10_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $285_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$5; + } + HEAP32[(HEAP32[($10_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($10_1 + 8 | 0) >> 2] | 0; + HEAP32[($10_1 + 60 | 0) >> 2] = 0; + } + $77_1 = HEAP32[($10_1 + 60 | 0) >> 2] | 0; + global$0 = $10_1 + 64 | 0; + return $77_1 | 0; + } + + function $2073($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $25_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $25_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $25_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = $25_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3228(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$3 + } + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + } + $36_1 = HEAP32[$4_1 >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $36_1 | 0; + } + + function $2074($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $24_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $24_1 = 24; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2026(((HEAPU8[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 20 | 0) >> 2] | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2027(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) & ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $42_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $42_1 | 0; + } + + function $2075($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $127_1 = 0, $42_1 = 0, $44_1 = 0, $46_1 = 0, $67_1 = 0, $80_1 = 0, $82_1 = 0, $152_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 240 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 236 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 232 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 228 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 224 | 0) >> 2] = $3_1; + $3288($6_1 + 64 | 0 | 0, 47664 | 0, 160 | 0) | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 236 | 0) >> 2] | 0) + 60 | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0) { + break label$1 + } + HEAP32[($6_1 + 52 | 0) >> 2] = 5; + label$2 : { + label$3 : { + if (!((HEAP32[($6_1 + 232 | 0) >> 2] | 0 | 0) == (18 | 0) & 1 | 0)) { + break label$3 + } + $42_1 = HEAP32[(($6_1 + 64 | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $44_1 = HEAP32[((HEAP32[($6_1 + 236 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $46_1 = HEAP32[((HEAP32[($6_1 + 236 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 236 | 0) >> 2] | 0) + 228 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $46_1; + HEAP32[$6_1 >> 2] = $44_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79($42_1 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + label$4 : { + label$5 : { + if (!((HEAP32[($6_1 + 232 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) & -5 | 0; + $67_1 = HEAP32[(($6_1 + 64 | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 236 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79($67_1 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + $80_1 = HEAP32[(($6_1 + 64 | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $82_1 = HEAP32[((HEAP32[($6_1 + 236 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 236 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = $82_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79($80_1 | 0, $6_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + } + label$6 : { + label$7 : { + if ((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + HEAP32[($6_1 + 60 | 0) >> 2] = 7; + break label$6; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $408(HEAP32[((HEAP32[($6_1 + 236 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, $6_1 + 56 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[(((HEAP32[($6_1 + 236 | 0) >> 2] | 0) + 60 | 0) + ((HEAP32[($6_1 + 232 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + } + } + label$8 : { + if (!((HEAP32[($6_1 + 224 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $336(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + label$9 : while (1) { + $127_1 = 0; + label$10 : { + if (HEAP32[($6_1 + 60 | 0) >> 2] | 0) { + break label$10 + } + $127_1 = (HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!($127_1 & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $334(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[((HEAP32[($6_1 + 224 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + } + HEAP32[(HEAP32[($6_1 + 228 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + $152_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + global$0 = $6_1 + 240 | 0; + return $152_1 | 0; + } + + function $2076($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, $6_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $16$hi = 0, $17$hi = 0, $18$hi = 0, $19$hi = 0, $20$hi = 0, $21$hi = 0, $25_1 = 0, $23$hi = 0, $24$hi = 0, $16_1 = 0, $51_1 = 0, $18_1 = 0, $59_1 = 0, $23_1 = 0, $74_1 = 0; + $6_1 = global$0 - 32 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + i64toi32_i32$1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $16_1 = i64toi32_i32$1; + $16$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $17$hi = i64toi32_i32$0; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$0 = $17$hi; + $51_1 = i64toi32_i32$1; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$1 = __wasm_i64_mul($16_1 | 0, i64toi32_i32$0 | 0, $51_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $18_1 = i64toi32_i32$1; + $18$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $19$hi = i64toi32_i32$0; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$0 = $19$hi; + $59_1 = i64toi32_i32$1; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$2 = $18_1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$3 = $59_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $20$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $21$hi = i64toi32_i32$5; + i64toi32_i32$5 = $20$hi; + i64toi32_i32$5 = $21$hi; + i64toi32_i32$5 = $20$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $21$hi; + i64toi32_i32$3 = 10; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + $25_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $25_1 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + } + i64toi32_i32$0 = $6_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $25_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $23_1 = i64toi32_i32$2; + $23$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $24$hi = i64toi32_i32$0; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$0 = $24$hi; + $74_1 = i64toi32_i32$2; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$5 = $23_1; + i64toi32_i32$2 = $24$hi; + i64toi32_i32$3 = $74_1; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$HIGH_BITS = i64toi32_i32$4; + return i64toi32_i32$1 | 0; + } + + function $2077($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0, $15_1 = 0, $33_1 = 0, $51_1 = 0, $14_1 = 0, $32_1 = 0, $50_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $6_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $6_1 + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[$6_1 >> 0] | 0) & 255 | 0; + $14_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 127 | 0; + $15_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $15_1 + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $14_1 | (((HEAPU8[$15_1 >> 0] | 0) & 255 | 0) << 7 | 0) | 0; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 16384 | 0) { + break label$2 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 2; + break label$1; + } + $32_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 16383 | 0; + $33_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $33_1 + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $32_1 | (((HEAPU8[$33_1 >> 0] | 0) & 255 | 0) << 14 | 0) | 0; + label$3 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2097152 | 0) { + break label$3 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 3; + break label$1; + } + $50_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2097151 | 0; + $51_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $51_1 + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $50_1 | (((HEAPU8[$51_1 >> 0] | 0) & 255 | 0) << 21 | 0) | 0; + label$4 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 268435456 | 0) { + break label$4 + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 4; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 268435455 | 0; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0 | ((((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 7 | 0) << 28 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 5; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2078($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $12_1 = 0, $243$hi = 0, $244$hi = 0, $11_1 = 0, $42_1 = 0, $51_1 = 0, $74_1 = 0, $103_1 = 0, $241$hi = 0, $242$hi = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $247$hi = 0, $248$hi = 0, $249$hi = 0, $250$hi = 0, $48_1 = 0, $175_1 = 0, $255$hi = 0, $256$hi = 0, $19_1 = 0, $23_1 = 0, $241_1 = 0, $542_1 = 0, $549_1 = 0, $139_1 = 0, $247_1 = 0, $567_1 = 0, $165_1 = 0, $166_1 = 0, $709_1 = 0, $741_1 = 0, $768_1 = 0, $786_1 = 0, $237_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 96 | 0; + global$0 = $8_1; + $11_1 = $8_1 + 24 | 0; + $12_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($8_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $12_1; + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[($8_1 + 80 | 0) >> 2] | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + (HEAP32[($8_1 + 76 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 52 | 0) >> 2] = $12_1; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = 0; + HEAP32[($8_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 36 | 0) >> 2] = 1; + HEAP32[($8_1 + 20 | 0) >> 2] = $12_1; + $19_1 = $2061(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, $11_1 | 0) | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + $19_1 | 0; + $23_1 = $2061(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, $11_1 | 0) | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + $23_1 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 60 | 0) >> 2] | 0) >>> 0 > (HEAP32[($8_1 + 56 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 92 | 0) >> 2] = 267; + break label$1; + } + label$3 : { + label$4 : while (1) { + $42_1 = 0; + label$5 : { + if (!((HEAP32[($8_1 + 60 | 0) >> 2] | 0) >>> 0 < (HEAP32[($8_1 + 56 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + $51_1 = 1; + label$6 : { + if ((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + $51_1 = (HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) != (0 | 0); + } + $42_1 = $51_1; + } + label$7 : { + if (!($42_1 & 1 | 0)) { + break label$7 + } + HEAP32[($8_1 + 8 | 0) >> 2] = 0; + label$8 : { + if (HEAP32[($8_1 + 36 | 0) >> 2] | 0) { + break label$8 + } + label$9 : { + label$10 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$10 + } + $74_1 = $2077(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, $8_1 + 8 | 0 | 0) | 0; + break label$9; + } + HEAP32[($8_1 + 8 | 0) >> 2] = (HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $74_1 = 1; + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + $74_1 | 0; + label$11 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) > (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($8_1 + 64 | 0) >> 2] = 267; + break label$3; + } + } + HEAP32[($8_1 + 36 | 0) >> 2] = 0; + label$12 : { + label$13 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$13 + } + $103_1 = $2077(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, $8_1 + 12 | 0 | 0) | 0; + break label$12; + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $103_1 = 1; + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + $103_1 | 0; + label$14 : { + label$15 : { + if ((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) > ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) - (HEAP32[($8_1 + 80 | 0) >> 2] | 0) | 0 | 0) & 1 | 0) { + break label$15 + } + if ((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) > ((HEAP32[($8_1 + 56 | 0) >> 2] | 0) - (HEAP32[($8_1 + 60 | 0) >> 2] | 0) | 0 | 0) & 1 | 0) { + break label$15 + } + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$14 + } + } + HEAP32[($8_1 + 64 | 0) >> 2] = 267; + break label$3; + } + i64toi32_i32$1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $241_1 = i64toi32_i32$1; + $241$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $242$hi = i64toi32_i32$0; + i64toi32_i32$0 = $241$hi; + i64toi32_i32$0 = $242$hi; + $542_1 = i64toi32_i32$1; + i64toi32_i32$0 = $241$hi; + i64toi32_i32$2 = $241_1; + i64toi32_i32$1 = $242$hi; + i64toi32_i32$3 = $542_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $243$hi = i64toi32_i32$5; + i64toi32_i32$0 = $8_1; + i64toi32_i32$5 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + $244$hi = i64toi32_i32$2; + i64toi32_i32$2 = $243$hi; + i64toi32_i32$2 = $244$hi; + i64toi32_i32$2 = $243$hi; + i64toi32_i32$2 = $244$hi; + $549_1 = i64toi32_i32$5; + i64toi32_i32$2 = $243$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$5 = $244$hi; + i64toi32_i32$3 = $549_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $45_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $46_1 = 0 + } else { + $46_1 = 1 + } + $47_1 = $46_1; + } else { + $47_1 = 0 + } + $45_1 = $47_1; + } + label$16 : { + if (!($45_1 & 1 | 0)) { + break label$16 + } + $139_1 = 0; + i64toi32_i32$2 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $247_1 = i64toi32_i32$2; + $247$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $248$hi = i64toi32_i32$0; + i64toi32_i32$0 = $247$hi; + i64toi32_i32$0 = $248$hi; + $567_1 = i64toi32_i32$2; + i64toi32_i32$0 = $247$hi; + i64toi32_i32$3 = $247_1; + i64toi32_i32$2 = $248$hi; + i64toi32_i32$5 = $567_1; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $249$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $250$hi = i64toi32_i32$4; + i64toi32_i32$4 = $249$hi; + i64toi32_i32$4 = $250$hi; + i64toi32_i32$4 = $249$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$3 = $250$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$2 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + $48_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$2 | 0) | 0; + $48_1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + } + i64toi32_i32$0 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $48_1; + HEAP32[($8_1 + 44 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$4 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $49(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if ((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) != ($139_1 | 0) & 1 | 0) { + break label$17 + } + HEAP32[($8_1 + 64 | 0) >> 2] = 7; + break label$3; + } + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + } + $3288((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + (HEAP32[($8_1 + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAP32[($8_1 + 8 | 0) >> 2] | 0) + (HEAP32[($8_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + (HEAP32[($8_1 + 12 | 0) >> 2] | 0) | 0; + $165_1 = HEAP32[($8_1 + 88 | 0) >> 2] | 0; + $166_1 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $175_1 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + break label$18; + } + $175_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $3228($165_1 | 0, $166_1 | 0, $175_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + label$21 : { + if ((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$21 + } + if (HEAP32[($8_1 + 16 | 0) >> 2] | 0) { + break label$20 + } + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + } + i64toi32_i32$4 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $709_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $709_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($8_1 + 72 | 0) >> 2] = 0; + } + label$22 : { + if (!((HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$22 + } + i64toi32_i32$4 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $741_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $741_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 68 | 0) >> 2] = 0; + } + i64toi32_i32$4 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $255$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $256$hi = i64toi32_i32$3; + i64toi32_i32$3 = $255$hi; + i64toi32_i32$3 = $256$hi; + i64toi32_i32$3 = $255$hi; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$0 = $256$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$4 = $8_1; + HEAP32[($8_1 + 24 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($8_1 + 28 | 0) >> 2] = i64toi32_i32$1; + continue label$4; + } + break label$4; + }; + label$23 : { + if (!((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + i64toi32_i32$3 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $768_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $768_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + } + label$24 : { + if (!((HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + i64toi32_i32$3 = $8_1; + i64toi32_i32$4 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $786_1 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$4 >> 2] = $786_1; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$1; + } + } + $42(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 92 | 0) >> 2] = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + } + $237_1 = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + global$0 = $8_1 + 96 | 0; + return $237_1 | 0; + } + + function $2079($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $30_1 = 0, $123_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $394(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + label$4 : { + if (!((0 | 0) == (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 248 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[$7_1 >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $30_1 = $79(47824 | 0, $7_1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 248 | 0) >> 2] = $30_1; + label$5 : { + if (!((0 | 0) == (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 248 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 44 | 0) >> 2] = 7; + break label$1; + } + } + i64toi32_i32$1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $347(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 248 | 0) >> 2] | 0 | 0, 47836 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, 0 | 0, (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 252 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + label$7 : { + if (HEAP32[($7_1 + 16 | 0) >> 2] | 0) { + break label$7 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $393(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + label$8 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $38((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + label$10 : { + if ((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + HEAP32[($7_1 + 16 | 0) >> 2] = 7; + break label$9; + } + label$11 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) > (16384 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($7_1 + 12 | 0) >> 2] = 4096; + HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $384(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + $11_1 = 0; + HEAP8[i64toi32_i32$1 >> 0] = $11_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $11_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $11_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $11_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $12_1 = i64toi32_i32$1 + 16 | 0; + $13_1 = 0; + HEAP8[$12_1 >> 0] = $13_1; + HEAP8[($12_1 + 1 | 0) >> 0] = $13_1 >>> 8 | 0; + HEAP8[($12_1 + 2 | 0) >> 0] = $13_1 >>> 16 | 0; + HEAP8[($12_1 + 3 | 0) >> 0] = $13_1 >>> 24 | 0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP8[i64toi32_i32$1 >> 0] = $11_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $11_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $11_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $11_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + label$12 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$12 + } + $42(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + } + } + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + } + break label$6; + } + label$13 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($7_1 + 16 | 0) >> 2] = 267; + } + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + } + $123_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $123_1 | 0; + } + + function $2080($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $27_1 = 0, $31_1 = 0, $26_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) <= ($5_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3303(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $26_1 = ((HEAP32[$4_1 >> 2] | 0) << 3 | 0) ^ (HEAP32[$4_1 >> 2] | 0) | 0; + $27_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $27_1 + 1 | 0; + $31_1 = 24; + HEAP32[$4_1 >> 2] = $26_1 ^ (((HEAPU8[$27_1 >> 0] | 0) << $31_1 | 0) >> $31_1 | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + -1 | 0; + continue label$3; + }; + } + $40_1 = (HEAP32[$4_1 >> 2] | 0) & 2147483647 | 0; + global$0 = $4_1 + 16 | 0; + return $40_1 | 0; + } + + function $2081($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0, $21_1 = 0, $25_1 = 0, $20_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + $8_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $8_1 + -1 | 0; + if (!(($8_1 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $20_1 = ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 3 | 0) ^ (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0; + $21_1 = HEAP32[$4_1 >> 2] | 0; + HEAP32[$4_1 >> 2] = $21_1 + 1 | 0; + $25_1 = 24; + HEAP32[($4_1 + 4 | 0) >> 2] = $20_1 ^ (((HEAPU8[$21_1 >> 0] | 0) << $25_1 | 0) >> $25_1 | 0) | 0; + continue label$2; + }; + } + return (HEAP32[($4_1 + 4 | 0) >> 2] | 0) & 2147483647 | 0 | 0; + } + + function $2082($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 99; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 100; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2083($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3234(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $19_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $19_1 | 0; + } + + function $2084($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3228(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $19_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $19_1 | 0; + } + + function $2085($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $113$hi = 0, $7_1 = 0, $23_1 = 0, $42_1 = 0, $61_1 = 0, $89_1 = 0, $115$hi = 0, $116$hi = 0, $117$hi = 0, $118$hi = 0, $29_1 = 0, $119$hi = 0, $122$hi = 0, $123$hi = 0, $125$hi = 0, $22_1 = 0, $41_1 = 0, $60_1 = 0, $113_1 = 0, $356$hi = 0, $388_1 = 0; + $4_1 = global$0 - 48 | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + $7_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $7_1 + 1 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAPU8[$7_1 >> 0] | 0) & 255 | 0; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 128 | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + $22_1 = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 127 | 0; + $23_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $23_1 + 1 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $22_1 | (((HEAPU8[$23_1 >> 0] | 0) & 255 | 0) << 7 | 0) | 0; + label$3 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 16384 | 0) { + break label$3 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 44 | 0) >> 2] = 2; + break label$1; + } + $41_1 = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 16383 | 0; + $42_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $42_1 + 1 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $41_1 | (((HEAPU8[$42_1 >> 0] | 0) & 255 | 0) << 14 | 0) | 0; + label$4 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 2097152 | 0) { + break label$4 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 44 | 0) >> 2] = 3; + break label$1; + } + $60_1 = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 2097151 | 0; + $61_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $61_1 + 1 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $60_1 | (((HEAPU8[$61_1 >> 0] | 0) & 255 | 0) << 21 | 0) | 0; + label$5 : { + if ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 268435456 | 0) { + break label$5 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 44 | 0) >> 2] = 4; + break label$1; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) & 268435455 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = 28; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) <= (63 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + $113_1 = 0; + $113$hi = i64toi32_i32$0; + $89_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $89_1 + 1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = (HEAPU8[$89_1 >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $115$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $116$hi = i64toi32_i32$1; + i64toi32_i32$1 = $115$hi; + i64toi32_i32$1 = $116$hi; + i64toi32_i32$1 = $115$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $116$hi; + i64toi32_i32$3 = 127; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $117$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $118$hi = i64toi32_i32$0; + i64toi32_i32$0 = $117$hi; + i64toi32_i32$0 = $118$hi; + i64toi32_i32$0 = $117$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $118$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $29_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $29_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $119$hi = i64toi32_i32$2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $356$hi = i64toi32_i32$1; + i64toi32_i32$1 = $119$hi; + i64toi32_i32$1 = $356$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $119$hi; + i64toi32_i32$3 = $29_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $122$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $123$hi = i64toi32_i32$0; + i64toi32_i32$0 = $122$hi; + i64toi32_i32$0 = $123$hi; + i64toi32_i32$0 = $122$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $123$hi; + i64toi32_i32$3 = 128; + i64toi32_i32$5 = i64toi32_i32$0 & i64toi32_i32$5 | 0; + $125$hi = i64toi32_i32$5; + i64toi32_i32$5 = $113$hi; + i64toi32_i32$5 = $125$hi; + i64toi32_i32$5 = $113$hi; + i64toi32_i32$5 = $125$hi; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $113$hi; + i64toi32_i32$3 = $113_1; + label$8 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$8 + } + break label$6; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 7 | 0; + continue label$7; + }; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $388_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $388_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) - (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0; + } + return HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0; + } + + function $2086($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $324$hi = 0, $325$hi = 0, $333$hi = 0, $334$hi = 0, $47_1 = 0, $86_1 = 0, $89_1 = 0, $92_1 = 0, $46_1 = 0, $48_1 = 0, $49_1 = 0, $105_1 = 0, $328$hi = 0, $329$hi = 0, $116_1 = 0, $156_1 = 0, $176_1 = 0, $331$hi = 0, $332$hi = 0, $50_1 = 0, $51_1 = 0, $52_1 = 0, $337$hi = 0, $338$hi = 0, $339$hi = 0, $340$hi = 0, $53_1 = 0, $275_1 = 0, $314_1 = 0, $324_1 = 0, $572_1 = 0, $104_1 = 0, $330_1 = 0, $330$hi = 0, $108_1 = 0, $111_1 = 0, $331_1 = 0, $835_1 = 0, $847_1 = 0, $224_1 = 0, $337_1 = 0, $865_1 = 0, $321_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) | 0; + } + label$3 : { + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0) >>> 0 >= ((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) | 0) >>> 0 & 1 | 0)) { + break label$4 + } + } + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $47_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) >> 2] | 0; + $42(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] = $47_1; + label$7 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != ($47_1 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 7; + break label$3; + } + $3288(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $86_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 76 | 0) >> 2] = $86_1; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] = $86_1; + $89_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 72 | 0) >> 2] = $89_1; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] = $89_1; + $92_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + HEAP32[($92_1 + 56 | 0) >> 2] = (HEAP32[($92_1 + 56 | 0) >> 2] | 0) + 4 | 0; + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + break label$3; + } + $2088(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $324_1 = i64toi32_i32$0; + $324$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $325$hi = i64toi32_i32$0; + i64toi32_i32$0 = $324$hi; + i64toi32_i32$0 = $325$hi; + i64toi32_i32$0 = $324$hi; + i64toi32_i32$0 = $325$hi; + $572_1 = i64toi32_i32$1; + i64toi32_i32$0 = $324$hi; + i64toi32_i32$2 = $324_1; + i64toi32_i32$1 = $325$hi; + i64toi32_i32$3 = $572_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $46_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $48_1 = 0 + } else { + $48_1 = 1 + } + $49_1 = $48_1; + } else { + $49_1 = 0 + } + $46_1 = $49_1; + } + label$9 : { + if (!($46_1 & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + break label$3; + } + $104_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + $105_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$3 = $105_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $328$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $329$hi = i64toi32_i32$0; + i64toi32_i32$0 = $328$hi; + i64toi32_i32$0 = $329$hi; + i64toi32_i32$0 = $328$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $329$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $330_1 = i64toi32_i32$4; + $330$hi = i64toi32_i32$5; + i64toi32_i32$3 = $105_1; + HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] = i64toi32_i32$5; + $108_1 = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0; + $111_1 = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 44 | 0; + label$10 : { + label$11 : { + if (!(HEAP32[($5_1 + 48 | 0) >> 2] | 0)) { + break label$11 + } + $116_1 = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 48 | 0; + break label$10; + } + $116_1 = 0; + } + i64toi32_i32$5 = $330$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2079($104_1 | 0, $330_1 | 0, i64toi32_i32$5 | 0, $108_1 | 0, $111_1 | 0, $116_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($5_1 + 44 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + break label$3; + } + label$13 : { + if (!(HEAP32[($5_1 + 48 | 0) >> 2] | 0)) { + break label$13 + } + if (!((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 252 | 0) >> 2] = 0; + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2091(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 20 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!(HEAP32[($5_1 + 44 | 0) >> 2] | 0)) { + break label$14 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + break label$3; + } + label$15 : { + label$16 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$16 + } + $156_1 = $2077(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, $5_1 + 36 | 0 | 0) | 0; + break label$15; + } + HEAP32[($5_1 + 36 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $156_1 = 1; + } + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + $156_1 | 0; + label$17 : { + label$18 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$18 + } + $176_1 = $2077(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0) | 0; + break label$17; + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $176_1 = 1; + } + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + $176_1 | 0; + label$19 : { + label$20 : { + if ((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0) { + break label$20 + } + if ((((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) | 0) - (HEAP32[($5_1 + 40 | 0) >> 2] | 0) | 0 | 0) < (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$20 + } + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + } + HEAP32[($5_1 + 60 | 0) >> 2] = 267; + break label$3; + } + i64toi32_i32$3 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $331_1 = i64toi32_i32$3; + $331$hi = i64toi32_i32$5; + i64toi32_i32$3 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $332$hi = i64toi32_i32$5; + i64toi32_i32$5 = $331$hi; + i64toi32_i32$5 = $332$hi; + $835_1 = i64toi32_i32$3; + i64toi32_i32$5 = $331$hi; + i64toi32_i32$0 = $331_1; + i64toi32_i32$3 = $332$hi; + i64toi32_i32$1 = $835_1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $333$hi = i64toi32_i32$4; + i64toi32_i32$0 = HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $334$hi = i64toi32_i32$4; + i64toi32_i32$4 = $333$hi; + i64toi32_i32$4 = $334$hi; + i64toi32_i32$4 = $333$hi; + i64toi32_i32$4 = $334$hi; + $847_1 = i64toi32_i32$0; + i64toi32_i32$4 = $333$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$0 = $334$hi; + i64toi32_i32$1 = $847_1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$0 | 0)) { + $50_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$5 >>> 0 <= i64toi32_i32$1 >>> 0) { + $51_1 = 0 + } else { + $51_1 = 1 + } + $52_1 = $51_1; + } else { + $52_1 = 0 + } + $50_1 = $52_1; + } + label$21 : { + if (!($50_1 & 1 | 0)) { + break label$21 + } + $224_1 = 0; + i64toi32_i32$4 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$4 >> 31 | 0; + $337_1 = i64toi32_i32$4; + $337$hi = i64toi32_i32$5; + i64toi32_i32$4 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$4 >> 31 | 0; + $338$hi = i64toi32_i32$5; + i64toi32_i32$5 = $337$hi; + i64toi32_i32$5 = $338$hi; + $865_1 = i64toi32_i32$4; + i64toi32_i32$5 = $337$hi; + i64toi32_i32$1 = $337_1; + i64toi32_i32$4 = $338$hi; + i64toi32_i32$0 = $865_1; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $339$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $340$hi = i64toi32_i32$2; + i64toi32_i32$2 = $339$hi; + i64toi32_i32$2 = $340$hi; + i64toi32_i32$2 = $339$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$1 = $340$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $53_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $53_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $53_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != ($224_1 | 0) & 1 | 0) { + break label$22 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 7; + break label$3; + } + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 68 | 0) >> 2] = i64toi32_i32$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2091(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 10 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!(HEAP32[($5_1 + 44 | 0) >> 2] | 0)) { + break label$23 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + break label$3; + } + $3288((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) + (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 60 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0; + label$24 : { + label$25 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$25 + } + $275_1 = $2077(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 76 | 0 | 0) | 0; + break label$24; + } + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 76 | 0) >> 2] = (HEAPU8[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $275_1 = 1; + } + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + $275_1 | 0; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 80 | 0) >> 2] = 0; + label$26 : { + label$27 : { + if ((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) > ((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) - ((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0) | 0 | 0) & 1 | 0) { + break label$27 + } + label$28 : { + if (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) { + break label$28 + } + $314_1 = 24; + if (((HEAPU8[((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $314_1 | 0) >> $314_1 | 0) { + break label$27 + } + } + if (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) { + break label$26 + } + } + HEAP32[($5_1 + 60 | 0) >> 2] = 267; + break label$3; + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + } + $321_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $321_1 | 0; + } + + function $2087($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = $6_1; + label$1 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3228(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3228(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[$5_1 >> 2] | 0) { + break label$4 + } + HEAP32[$5_1 >> 2] = (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) - (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0; + } + } + $38_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $38_1 | 0; + } + + function $2088($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $383(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2089($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $49_1 = 0, $71_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$4_1 >> 2] = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3228(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3228(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + break label$1; + } + $49_1 = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == ($49_1 | 0) & 1 | 0) - ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == ($49_1 | 0) & 1 | 0) | 0; + } + label$6 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) | 0; + } + $71_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $71_1 | 0; + } + + function $2090($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -1 | 0; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) - 1 | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((FUNCTION_TABLE[HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$3; + }; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2091($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0, $35_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = 0; + label$1 : while (1) { + $16_1 = 0; + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = 0; + if (HEAP32[$5_1 >> 2] | 0) { + break label$2 + } + $16_1 = (((HEAP32[($5_1 + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($16_1 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2092(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + continue label$1; + } + break label$1; + }; + $35_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $35_1 | 0; + } + + function $2092($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $8_1 = 0, $9_1 = 0, $10_1 = 0, $20_1 = 0, $36_1 = 0, $58_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) | 0 | 0) < (4096 | 0) & 1 | 0)) { + break label$2 + } + $20_1 = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) | 0; + break label$1; + } + $20_1 = 4096; + } + HEAP32[($3_1 + 8 | 0) >> 2] = $20_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $384(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + $36_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($36_1 + 48 | 0) >> 2] = (HEAP32[($36_1 + 48 | 0) >> 2] | 0) + (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) | 0; + $8_1 = 0; + HEAP8[i64toi32_i32$1 >> 0] = $8_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $8_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $8_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $8_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $9_1 = i64toi32_i32$1 + 16 | 0; + $10_1 = 0; + HEAP8[$9_1 >> 0] = $10_1; + HEAP8[($9_1 + 1 | 0) >> 0] = $10_1 >>> 8 | 0; + HEAP8[($9_1 + 2 | 0) >> 0] = $10_1 >>> 16 | 0; + HEAP8[($9_1 + 3 | 0) >> 0] = $10_1 >>> 24 | 0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP8[i64toi32_i32$1 >> 0] = $8_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $8_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $8_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $8_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $58_1 = 0; + $383(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = $58_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = $58_1; + } + } + $63_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $63_1 | 0; + } + + function $2093($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $41$hi = 0, $42$hi = 0, $45$hi = 0, $46$hi = 0, $5_1 = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $41_1 = 0, $100_1 = 0, $32_1 = 0, $33_1 = 0, $45_1 = 0, $131_1 = 0; + $4_1 = global$0 - 16 | 0; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0) - ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0) | 0; + label$1 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] | 0; + $41_1 = i64toi32_i32$0; + $41$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] | 0; + $42$hi = i64toi32_i32$0; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$0 = $42$hi; + $100_1 = i64toi32_i32$1; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$2 = $41_1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$3 = $100_1; + label$2 : { + label$3 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) | 0; + break label$2; + } + $32_1 = 1; + $33_1 = -1; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 92 | 0) >> 2] | 0; + $45_1 = i64toi32_i32$2; + $45$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 92 | 0) >> 2] | 0; + $46$hi = i64toi32_i32$2; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$2 = $46$hi; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$2 = $46$hi; + $131_1 = i64toi32_i32$0; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$3 = $45_1; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$1 = $131_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $18_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $18_1 = $20_1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = $18_1 & 1 | 0 ? $32_1 : $33_1; + } + } + return HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $2094($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $41$hi = 0, $42$hi = 0, $45$hi = 0, $46$hi = 0, $5_1 = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $41_1 = 0, $100_1 = 0, $32_1 = 0, $33_1 = 0, $45_1 = 0, $131_1 = 0; + $4_1 = global$0 - 16 | 0; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0) - ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0) | 0; + label$1 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] | 0; + $41_1 = i64toi32_i32$0; + $41$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] | 0; + $42$hi = i64toi32_i32$0; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$0 = $42$hi; + $100_1 = i64toi32_i32$1; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$2 = $41_1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$3 = $100_1; + label$2 : { + label$3 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) | 0; + break label$2; + } + $32_1 = 1; + $33_1 = -1; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 92 | 0) >> 2] | 0; + $45_1 = i64toi32_i32$2; + $45$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 92 | 0) >> 2] | 0; + $46$hi = i64toi32_i32$2; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$2 = $46$hi; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$2 = $46$hi; + $131_1 = i64toi32_i32$0; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$3 = $45_1; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$1 = $131_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $18_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $18_1 = $20_1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = $18_1 & 1 | 0 ? $32_1 : $33_1; + } + } + return HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $2095($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 1 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $44(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $3288(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $38_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $38_1 | 0; + } + + function $2096($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = 0; + i64toi32_i32$0 = 0; + HEAP8[($4_1 + 19 | 0) >> 0] = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 88 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 92 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 84 | 0) >> 2] = $18_1; + $2103($18_1 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 88 | 0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 84 | 0 | 0, $4_1 + 19 | 0 | 0); + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2091(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, 10 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2061(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 88 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + } + } + $55_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $55_1 | 0; + } + + function $2097($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $76_1 = 0, $80_1 = 0, $84_1 = 0, $88_1 = 0, $144_1 = 0, $148_1 = 0, $198$hi = 0, $199$hi = 0, $201$hi = 0, $202$hi = 0, $179_1 = 0, $198_1 = 0, $606_1 = 0, $201_1 = 0, $619_1 = 0, $195_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + HEAP8[($6_1 + 19 | 0) >> 0] = 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[($6_1 + 18 | 0) >> 0] = 0; + label$4 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0) - 1 | 0; + } + $2103(0 | 0, HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0, $6_1 + 20 | 0 | 0, (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 88 | 0 | 0, (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 84 | 0 | 0, $6_1 + 18 | 0 | 0); + label$5 : { + label$6 : { + if (!(((HEAPU8[($6_1 + 18 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 80 | 0) >> 2] = 0; + break label$5; + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 80 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + break label$2; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) | 0; + label$7 : while (1) { + label$8 : { + label$9 : while (1) { + $76_1 = 24; + $80_1 = 24; + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $76_1 | 0) >> $76_1 | 0 | (((HEAPU8[($6_1 + 19 | 0) >> 0] | 0) << $80_1 | 0) >> $80_1 | 0) | 0)) { + break label$8 + } + $84_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = $84_1 + 1 | 0; + $88_1 = 24; + HEAP8[($6_1 + 19 | 0) >> 0] = (((HEAPU8[$84_1 >> 0] | 0) << $88_1 | 0) >> $88_1 | 0) & 128 | 0; + continue label$9; + }; + } + label$10 : { + label$11 : { + label$12 : { + if ((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$12 + } + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0 < ((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) | 0) >>> 0 & 1 | 0)) { + break label$11 + } + } + break label$10; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2092(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + break label$1; + } + continue label$7; + } + break label$7; + }; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + label$14 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) | 0) - 1 | 0; + } + label$15 : while (1) { + $144_1 = 0; + label$16 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$16 + } + $148_1 = 24; + $144_1 = (((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $148_1 | 0) >> $148_1 | 0 | 0) == (0 | 0); + } + label$17 : { + if (!($144_1 & 1 | 0)) { + break label$17 + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + } + break label$15; + }; + label$18 : { + label$19 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$19 + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 80 | 0) >> 2] = 0; + break label$18; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2091(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 10 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$20 + } + $179_1 = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ($2085(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0) | 0; + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 80 | 0) >> 2] = $179_1; + label$21 : { + label$22 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$22 + } + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] | 0; + $198_1 = i64toi32_i32$0; + $198$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $199$hi = i64toi32_i32$0; + i64toi32_i32$0 = $198$hi; + i64toi32_i32$0 = $199$hi; + $606_1 = i64toi32_i32$1; + i64toi32_i32$0 = $198$hi; + i64toi32_i32$2 = $198_1; + i64toi32_i32$1 = $199$hi; + i64toi32_i32$3 = $606_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] = i64toi32_i32$5; + break label$21; + } + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 92 | 0) >> 2] | 0; + $201_1 = i64toi32_i32$5; + $201$hi = i64toi32_i32$2; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $202$hi = i64toi32_i32$5; + i64toi32_i32$5 = $201$hi; + i64toi32_i32$5 = $202$hi; + $619_1 = i64toi32_i32$2; + i64toi32_i32$5 = $201$hi; + i64toi32_i32$0 = $201_1; + i64toi32_i32$2 = $202$hi; + i64toi32_i32$3 = $619_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 88 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 92 | 0) >> 2] = i64toi32_i32$4; + } + } + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + } + $195_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $195_1 | 0; + } + + function $2098($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $25_1 = 0, $28_1 = 0, $33_1 = 0, $45_1 = 0, $49_1 = 0, $91_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + label$1 : while (1) { + HEAP8[($6_1 + 11 | 0) >> 0] = 0; + label$2 : while (1) { + $25_1 = 0; + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 20 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + $28_1 = 24; + $33_1 = 24; + $25_1 = ((((HEAPU8[($6_1 + 11 | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0 | (((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $33_1 | 0) >> $33_1 | 0) | 0) & 254 | 0 | 0) != (0 | 0); + } + label$4 : { + if (!($25_1 & 1 | 0)) { + break label$4 + } + $45_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $45_1 + 1 | 0; + $49_1 = 24; + HEAP8[($6_1 + 11 | 0) >> 0] = (((HEAPU8[$45_1 >> 0] | 0) << $49_1 | 0) >> $49_1 | 0) & 128 | 0; + continue label$2; + } + break label$2; + }; + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) - (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0; + break label$5; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) - ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) - (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$7 + } + break label$5; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + label$8 : { + label$9 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$9 + } + $91_1 = $2077(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0) | 0; + break label$8; + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $91_1 = 1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + $91_1 | 0; + continue label$1; + } + break label$1; + }; + label$10 : { + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$10 + } + if (!(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) - ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$10 + } + $3289((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, 0 | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) - ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) | 0 | 0) | 0; + } + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return; + } + + function $2099($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $3_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $15$hi = 0, $12$hi = 0, $13$hi = 0, $12_1 = 0, $17$hi = 0; + $3_1 = global$0 - 16 | 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = 0; + label$1 : while (1) { + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $13$hi = i64toi32_i32$1; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$3 = 7; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $12_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $12_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$2 = $3_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = $12_1; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $15$hi = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $17$hi = i64toi32_i32$2; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$3 = 0; + if (((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + return HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $2100($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $44(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $33_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $33_1 | 0; + } + + function $2101($0_1, $0$hi, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8_1 = 0, $15_1 = 0, $26_1 = 0, $43_1 = 0, $69_1 = 0, $88_1 = 0, $99_1 = 0, $110_1 = 0, $39_1 = 0, $42_1 = 0, $64_1 = 0, $82_1 = 0, $87_1 = 0, $95_1 = 0, $98_1 = 0, $109_1 = 0, $114_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $8_1 = 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0; + $15_1 = 24; + label$1 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $15_1 | 0) >> $15_1 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = 24; + label$2 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $26_1 | 0) >> $26_1 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $39_1 = $2102((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $39_1 | 0; + $42_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $43_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $43_1 + 1 | 0; + HEAP8[($42_1 + $43_1 | 0) >> 0] = 2; + HEAP32[($6_1 + 20 | 0) >> 2] = 1; + } + $2104(0 | 0, $6_1 + 16 | 0 | 0); + } + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + $64_1 = $2061(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + $64_1 | 0; + $69_1 = 24; + label$5 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $69_1 | 0) >> $69_1 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $82_1 = $2102((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $82_1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 1; + } + $87_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $88_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $88_1 + 1 | 0; + HEAP8[($87_1 + $88_1 | 0) >> 0] = 1; + i64toi32_i32$0 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $95_1 = $2102((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $95_1 | 0; + $98_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $99_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $99_1 + 1 | 0; + HEAP8[($98_1 + $99_1 | 0) >> 0] = 2; + } + $2104(0 | 0, $6_1 + 16 | 0 | 0); + continue label$4; + }; + } + label$7 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$7 + } + $109_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $110_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $110_1 + 1 | 0; + HEAP8[($109_1 + $110_1 | 0) >> 0] = 0; + } + $114_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $114_1 | 0; + } + + function $2102($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $33$hi = 0, $25$hi = 0, $26$hi = 0, $27$hi = 0, $28$hi = 0, $7_1 = 0, $30$hi = 0, $31$hi = 0, $20_1 = 0, $35$hi = 0, $15_1 = 0, $52_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $52_1 = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$2; + HEAP32[i64toi32_i32$0 >> 2] = $52_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$1 : while (1) { + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $25$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $26$hi = i64toi32_i32$0; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$3 = 127; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $27$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $28$hi; + i64toi32_i32$3 = 128; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $7_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $7_1 + 1 | 0; + HEAP8[$7_1 >> 0] = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $31$hi = i64toi32_i32$0; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$3 = 7; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $20_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $20_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$1 = $4_1; + HEAP32[i64toi32_i32$1 >> 2] = $20_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $33$hi = i64toi32_i32$2; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $35$hi = i64toi32_i32$1; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $33$hi; + i64toi32_i32$3 = 0; + if (((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + $15_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + -1 | 0; + HEAP8[$15_1 >> 0] = ((HEAPU8[$15_1 >> 0] | 0) & 255 | 0) & 127 | 0; + return (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0 | 0; + } + + function $2103($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $118$hi = 0, $119$hi = 0, $120$hi = 0, $54_1 = 0, $58_1 = 0, $124$hi = 0, $125$hi = 0, $126$hi = 0, $94_1 = 0, $32_1 = 0, $35_1 = 0, $40_1 = 0, $118_1 = 0, $227_1 = 0, $120_1 = 0, $231$hi = 0, $316_1 = 0, $124_1 = 0, $346_1 = 0, $126_1 = 0, $352$hi = 0; + $9_1 = global$0 - 96 | 0; + global$0 = $9_1; + HEAP32[($9_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 68 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 56 | 0) >> 2] = 0; + HEAP32[($9_1 + 60 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 52 | 0) >> 2] = 0; + HEAP32[($9_1 + 48 | 0) >> 2] = HEAP32[($9_1 + 88 | 0) >> 2] | 0; + HEAP32[($9_1 + 44 | 0) >> 2] = (HEAP32[($9_1 + 88 | 0) >> 2] | 0) + (HEAP32[($9_1 + 84 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 40 | 0) >> 2] = 1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($9_1 + 48 | 0) >> 2] | 0) >>> 0 < (HEAP32[($9_1 + 44 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + $32_1 = 0; + $35_1 = $9_1 + 48 | 0; + $40_1 = $2061(HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, $9_1 + 32 | 0 | 0) | 0; + HEAP32[($9_1 + 48 | 0) >> 2] = (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + $40_1 | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $118_1 = i64toi32_i32$1; + $118$hi = i64toi32_i32$0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + $119$hi = i64toi32_i32$1; + i64toi32_i32$1 = $118$hi; + i64toi32_i32$1 = $119$hi; + $227_1 = i64toi32_i32$0; + i64toi32_i32$1 = $118$hi; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$0 = __wasm_i64_mul($118_1 | 0, i64toi32_i32$1 | 0, $227_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $120_1 = i64toi32_i32$0; + $120$hi = i64toi32_i32$1; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $231$hi = i64toi32_i32$0; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$0 = $231$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$3 = $120_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $9_1; + HEAP32[($9_1 + 56 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($9_1 + 60 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($9_1 + 52 | 0) >> 2] = HEAP32[($9_1 + 48 | 0) >> 2] | 0; + $2105($32_1 | 0, $35_1 | 0); + label$5 : while (1) { + $54_1 = 0; + label$6 : { + if (!((HEAP32[($9_1 + 48 | 0) >> 2] | 0) >>> 0 < (HEAP32[($9_1 + 44 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + $58_1 = 24; + $54_1 = (((HEAPU8[(HEAP32[($9_1 + 48 | 0) >> 2] | 0) >> 0] | 0) << $58_1 | 0) >> $58_1 | 0 | 0) == (0 | 0); + } + label$7 : { + if (!($54_1 & 1 | 0)) { + break label$7 + } + HEAP32[($9_1 + 48 | 0) >> 2] = (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + HEAP32[($9_1 + 40 | 0) >> 2] = HEAP32[($9_1 + 92 | 0) >> 2] | 0 ? -1 : 1; + continue label$4; + }; + } + HEAP32[(HEAP32[($9_1 + 72 | 0) >> 2] | 0) >> 2] = (HEAP32[($9_1 + 44 | 0) >> 2] | 0) - (HEAP32[($9_1 + 52 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $316_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $316_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + break label$1; + } + HEAP32[($9_1 + 28 | 0) >> 2] = HEAP32[($9_1 + 92 | 0) >> 2] | 0 ? -1 : 1; + $2106($9_1 + 64 | 0 | 0, HEAP32[($9_1 + 88 | 0) >> 2] | 0 | 0, $9_1 + 16 | 0 | 0); + i64toi32_i32$5 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $124_1 = i64toi32_i32$5; + $124$hi = i64toi32_i32$2; + i64toi32_i32$0 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + $125$hi = i64toi32_i32$5; + i64toi32_i32$5 = $124$hi; + i64toi32_i32$5 = $125$hi; + $346_1 = i64toi32_i32$2; + i64toi32_i32$5 = $124$hi; + i64toi32_i32$2 = $125$hi; + i64toi32_i32$2 = __wasm_i64_mul($124_1 | 0, i64toi32_i32$5 | 0, $346_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $126_1 = i64toi32_i32$2; + $126$hi = i64toi32_i32$5; + $94_1 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$0 = $94_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $352$hi = i64toi32_i32$2; + i64toi32_i32$2 = $126$hi; + i64toi32_i32$2 = $352$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $126$hi; + i64toi32_i32$3 = $126_1; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + i64toi32_i32$0 = $94_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + label$8 : { + label$9 : { + if (!((HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0) == (HEAP32[($9_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[(HEAP32[($9_1 + 68 | 0) >> 2] | 0) >> 0] = 1; + break label$8; + } + HEAP32[($9_1 + 12 | 0) >> 2] = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + $2107(HEAP32[($9_1 + 88 | 0) >> 2] | 0 | 0, $9_1 + 64 | 0 | 0); + HEAP32[(HEAP32[($9_1 + 72 | 0) >> 2] | 0) >> 2] = (HEAP32[($9_1 + 12 | 0) >> 2] | 0) - (HEAP32[($9_1 + 64 | 0) >> 2] | 0) | 0; + } + HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + } + global$0 = $9_1 + 96 | 0; + return; + } + + function $2104($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, $14_1 = 0, $20_1 = 0, $24_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[($4_1 + 19 | 0) >> 0] = 0; + label$1 : { + label$2 : while (1) { + $10_1 = 24; + $14_1 = 24; + if (!((((HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | (((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $14_1 | 0) >> $14_1 | 0) | 0) & 254 | 0)) { + break label$1 + } + $20_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $20_1 + 1 | 0; + $24_1 = 24; + HEAP8[($4_1 + 19 | 0) >> 0] = (((HEAPU8[$20_1 >> 0] | 0) << $24_1 | 0) >> $24_1 | 0) & 128 | 0; + continue label$2; + }; + } + label$3 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $3288(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return; + } + + function $2105($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $10_1 = 0, $14_1 = 0, $18_1 = 0, $22_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[($4_1 + 19 | 0) >> 0] = 0; + label$1 : { + label$2 : while (1) { + $10_1 = 24; + $14_1 = 24; + if (!(((HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | (((HEAPU8[($4_1 + 19 | 0) >> 0] | 0) << $14_1 | 0) >> $14_1 | 0) | 0)) { + break label$1 + } + $18_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $18_1 + 1 | 0; + $22_1 = 24; + HEAP8[($4_1 + 19 | 0) >> 0] = (((HEAPU8[$18_1 >> 0] | 0) << $22_1 | 0) >> $22_1 | 0) & 128 | 0; + continue label$2; + }; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + label$3 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $3288(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return; + } + + function $2106($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $18_1 = 0, $22_1 = 0, i64toi32_i32$1 = 0, $143_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + -2 | 0; + label$1 : while (1) { + $18_1 = 0; + label$2 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $22_1 = 24; + $18_1 = ((((HEAPU8[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 0] | 0) << $22_1 | 0) >> $22_1 | 0) & 128 | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($18_1 & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + -1 | 0; + continue label$1; + } + break label$1; + }; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $2061(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $143_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $143_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + global$0 = $5_1 + 32 | 0; + return; + } + + function $2107($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, $20_1 = 0, $23_1 = 0, $24_1 = 0, $41_1 = 0, $45_1 = 0, $51_1 = 0, $61_1 = 0, $73_1 = 0, $89_1 = 0, $93_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + -2 | 0; + HEAP8[($4_1 + 3 | 0) >> 0] = 0; + label$1 : while (1) { + $18_1 = 0; + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 > (HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $20_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $20_1 + -1 | 0; + $23_1 = HEAPU8[$20_1 >> 0] | 0; + HEAP8[($4_1 + 3 | 0) >> 0] = $23_1; + $24_1 = 24; + $18_1 = (($23_1 << $24_1 | 0) >> $24_1 | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($18_1 & 1 | 0)) { + break label$3 + } + continue label$1; + } + break label$1; + }; + label$4 : while (1) { + $41_1 = 0; + label$5 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 > (HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + $45_1 = 24; + $51_1 = 24; + $41_1 = ((((HEAPU8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] | 0) << $45_1 | 0) >> $45_1 | 0) & 128 | 0 | (((HEAPU8[($4_1 + 3 | 0) >> 0] | 0) << $51_1 | 0) >> $51_1 | 0) | 0 | 0) != (0 | 0); + } + label$6 : { + if (!($41_1 & 1 | 0)) { + break label$6 + } + $61_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $61_1 + -1 | 0; + HEAP8[($4_1 + 3 | 0) >> 0] = HEAPU8[$61_1 >> 0] | 0; + continue label$4; + } + break label$4; + }; + label$7 : { + label$8 : { + if ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 > (HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0) { + break label$8 + } + $73_1 = 24; + if (((HEAPU8[($4_1 + 3 | 0) >> 0] | 0) << $73_1 | 0) >> $73_1 | 0) { + break label$7 + } + if (!((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 2 | 0) >>> 0 & 1 | 0)) { + break label$7 + } + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 2 | 0; + } + label$9 : { + label$10 : while (1) { + $89_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $89_1 + 1 | 0; + $93_1 = 24; + if (!((((HEAPU8[$89_1 >> 0] | 0) << $93_1 | 0) >> $93_1 | 0) & 128 | 0)) { + break label$9 + } + continue label$10; + }; + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + return; + } + + function $2108($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $73_1 = 0, $83_1 = 0, $95_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(132 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, 132 | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[($5_1 + 19 | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0; + label$7 : { + if (!(((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0 | 0) >= (128 | 0) & 1 | 0)) { + break label$7 + } + $42(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP8[(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAPU8[($5_1 + 19 | 0) >> 0] | 0) & 255 | 0) | 0) >> 0] = 1; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + break label$3; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$8 + } + $73_1 = 0; + $83_1 = (($2109(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) != ($73_1 | 0) ^ -1 | 0) & 1 | 0 ? -1 : $73_1; + HEAP8[(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] = $83_1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + } + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $95_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $95_1 | 0; + } + + function $2109($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $19_1 = 0, $43_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = 1; + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) <= (57 | 0) & 1 | 0) { + break label$1 + } + } + label$3 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) >= (65 | 0) & 1 | 0)) { + break label$3 + } + $19_1 = 1; + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) <= (90 | 0) & 1 | 0) { + break label$1 + } + } + $43_1 = 0; + label$4 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) >= (97 | 0) & 1 | 0)) { + break label$4 + } + $43_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) <= (122 | 0); + } + $19_1 = $43_1; + } + return $19_1 & 1 | 0 | 0; + } + + function $2110($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2111($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $40_1 = 0, $36_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(28 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$6 + } + $36_1 = $3303(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $36_1; + break label$5; + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + } + $40_1 = 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = $40_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = $40_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $40_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = $40_1; + HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $40_1; + } + $47_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $47_1 | 0; + } + + function $2112($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2113($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $33_1 = 0, $50_1 = 0, $66_1 = 0, $85_1 = 0, $167_1 = 0, $190_1 = 0, $191_1 = 0, $196_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : while (1) { + $33_1 = 0; + label$5 : { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $33_1 = ($2114(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) != (0 | 0); + } + label$6 : { + if (!($33_1 & 1 | 0)) { + break label$6 + } + $50_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($50_1 + 12 | 0) >> 2] = (HEAP32[($50_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$7 : while (1) { + $66_1 = 0; + label$8 : { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $66_1 = ($2114(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) != (0 | 0) ^ -1 | 0; + } + label$9 : { + if (!($66_1 & 1 | 0)) { + break label$9 + } + $85_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($85_1 + 12 | 0) >> 2] = (HEAP32[($85_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + label$10 : { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - (HEAP32[($8_1 + 20 | 0) >> 2] | 0) | 0; + label$11 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 20 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $44(HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if ((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + HEAP32[($8_1 + 60 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 16 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP8[($8_1 + 7 | 0) >> 0] = HEAPU8[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + (HEAP32[($8_1 + 16 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0; + label$15 : { + label$16 : { + if (!(((HEAPU8[($8_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) >= (65 | 0) & 1 | 0)) { + break label$16 + } + if (!(((HEAPU8[($8_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) <= (90 | 0) & 1 | 0)) { + break label$16 + } + $167_1 = (((HEAPU8[($8_1 + 7 | 0) >> 0] | 0) & 255 | 0) - 65 | 0) + 97 | 0; + break label$15; + } + $167_1 = (HEAPU8[($8_1 + 7 | 0) >> 0] | 0) & 255 | 0; + } + HEAP8[((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[($8_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = $167_1; + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + HEAP32[(HEAP32[($8_1 + 52 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 48 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $190_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + $191_1 = HEAP32[($190_1 + 16 | 0) >> 2] | 0; + HEAP32[($190_1 + 16 | 0) >> 2] = $191_1 + 1 | 0; + HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] = $191_1; + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + break label$1; + } + continue label$3; + }; + } + HEAP32[($8_1 + 60 | 0) >> 2] = 101; + } + $196_1 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $196_1 | 0; + } + + function $2114($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $25_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 11 | 0) >> 0] = $1_1; + $15_1 = 0; + label$1 : { + if (!(((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$1 + } + $25_1 = 24; + $15_1 = (((HEAPU8[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) + ((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0) | 0) >> 0] | 0) << $25_1 | 0) >> $25_1 | 0 | 0) != (0 | 0); + } + return $15_1 & 1 | 0 | 0; + } + + function $2115($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $21_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $21_1 | 0; + } + + function $2116($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2117($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $40_1 = 0, $36_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(28 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$6 + } + $36_1 = $3303(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $36_1; + break label$5; + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + } + $40_1 = 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = $40_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = $40_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $40_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = $40_1; + HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $40_1; + } + $47_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $47_1 | 0; + } + + function $2118($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2119($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $31_1 = 0, $38_1 = 0, $40_1 = 0, $43_1 = 0, $52_1 = 0, $70_1 = 0, $86_1 = 0, $93_1 = 0, $95_1 = 0, $98_1 = 0, $107_1 = 0, $127_1 = 0, $186_1 = 0, $187_1 = 0, $192_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : while (1) { + $31_1 = 0; + label$5 : { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $38_1 = 24; + $40_1 = ((HEAPU8[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $38_1 | 0) >> $38_1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $40_1; + $43_1 = 0; + label$6 : { + if ($40_1 & 128 | 0) { + break label$6 + } + $52_1 = 1; + label$7 : { + if ((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) < (48 | 0) & 1 | 0) { + break label$7 + } + $52_1 = ((HEAPU8[(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) - 48 | 0) + 47904 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0; + } + $43_1 = $52_1; + } + $31_1 = $43_1; + } + label$8 : { + if (!($31_1 & 1 | 0)) { + break label$8 + } + $70_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($70_1 + 12 | 0) >> 2] = (HEAP32[($70_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$9 : while (1) { + $86_1 = 0; + label$10 : { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $93_1 = 24; + $95_1 = ((HEAPU8[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $93_1 | 0) >> $93_1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $95_1; + $98_1 = 0; + label$11 : { + if ($95_1 & 128 | 0) { + break label$11 + } + $107_1 = 1; + label$12 : { + if ((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) < (48 | 0) & 1 | 0) { + break label$12 + } + $107_1 = ((HEAPU8[(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) - 48 | 0) + 47904 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0; + } + $98_1 = $107_1; + } + $86_1 = $98_1 ^ -1 | 0; + } + label$13 : { + if (!($86_1 & 1 | 0)) { + break label$13 + } + $127_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[($127_1 + 12 | 0) >> 2] = (HEAP32[($127_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + label$14 : { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - (HEAP32[($8_1 + 24 | 0) >> 2] | 0) | 0; + label$15 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 20 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $44(HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if ((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$16 + } + HEAP32[($8_1 + 60 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + } + $2120((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + (HEAP32[($8_1 + 24 | 0) >> 2] | 0) | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($8_1 + 52 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $186_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + $187_1 = HEAP32[($186_1 + 16 | 0) >> 2] | 0; + HEAP32[($186_1 + 16 | 0) >> 2] = $187_1 + 1 | 0; + HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] = $187_1; + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + break label$1; + } + continue label$3; + }; + } + HEAP32[($8_1 + 60 | 0) >> 2] = 101; + } + $192_1 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $192_1 | 0; + } + + function $2120($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $52_1 = 0, $53_1 = 0, $40_1 = 0, $50_1 = 0, $62_1 = 0, $73_1 = 0, $83_1 = 0, $110_1 = 0, $122_1 = 0, $147_1 = 0, $208_1 = 0, $219_1 = 0, $230_1 = 0, $248_1 = 0, $252_1 = 0, $269_1 = 0, $413_1 = 0, $463_1 = 0, $468_1 = 0, $486_1 = 0, $497_1 = 0, $508_1 = 0, $519_1 = 0, $537_1 = 0, $555_1 = 0, $573_1 = 0, $584_1 = 0, $595_1 = 0, $606_1 = 0, $624_1 = 0, $635_1 = 0, $653_1 = 0, $684_1 = 0, $702_1 = 0, $713_1 = 0, $730_1 = 0, $741_1 = 0, $772_1 = 0, $783_1 = 0, $801_1 = 0, $812_1 = 0, $830_1 = 0, $861_1 = 0, $872_1 = 0, $885_1 = 0, $900_1 = 0, $907_1 = 0, $903_1 = 0, $904_1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) >= (21 | 0) & 1 | 0)) { + break label$2 + } + } + $2121(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + HEAP32[($6_1 + 56 | 0) >> 2] = 22; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($6_1 + 7 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0) >> 0] | 0; + $40_1 = 24; + label$6 : { + label$7 : { + if (!((((HEAPU8[($6_1 + 7 | 0) >> 0] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) >= (65 | 0) & 1 | 0)) { + break label$7 + } + $50_1 = 24; + if (!((((HEAPU8[($6_1 + 7 | 0) >> 0] | 0) << $50_1 | 0) >> $50_1 | 0 | 0) <= (90 | 0) & 1 | 0)) { + break label$7 + } + $62_1 = 24; + HEAP8[(($6_1 + 16 | 0) + (HEAP32[($6_1 + 56 | 0) >> 2] | 0) | 0) >> 0] = ((((HEAPU8[($6_1 + 7 | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0) + 97 | 0) - 65 | 0; + break label$6; + } + $73_1 = 24; + label$8 : { + label$9 : { + if (!((((HEAPU8[($6_1 + 7 | 0) >> 0] | 0) << $73_1 | 0) >> $73_1 | 0 | 0) >= (97 | 0) & 1 | 0)) { + break label$9 + } + $83_1 = 24; + if (!((((HEAPU8[($6_1 + 7 | 0) >> 0] | 0) << $83_1 | 0) >> $83_1 | 0 | 0) <= (122 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[(($6_1 + 16 | 0) + (HEAP32[($6_1 + 56 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[($6_1 + 7 | 0) >> 0] | 0; + break label$8; + } + $2121(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0); + break label$1; + } + } + HEAP32[($6_1 + 60 | 0) >> 2] = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 56 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) + -1 | 0; + continue label$5; + }; + } + $110_1 = $6_1 + 16 | 0; + $52_1 = $110_1 + 23 | 0; + $53_1 = 0; + HEAP8[$52_1 >> 0] = $53_1; + HEAP8[($52_1 + 1 | 0) >> 0] = $53_1 >>> 8 | 0; + HEAP8[($52_1 + 2 | 0) >> 0] = $53_1 >>> 16 | 0; + HEAP8[($52_1 + 3 | 0) >> 0] = $53_1 >>> 24 | 0; + HEAP8[($52_1 + 4 | 0) >> 0] = $53_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $110_1 + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 1 | 0) | 0; + $122_1 = 24; + label$10 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $122_1 | 0) >> $122_1 | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if ($2122($6_1 + 12 | 0 | 0, 47984 | 0, 47989 | 0, 0 | 0) | 0) { + break label$11 + } + if ($2122($6_1 + 12 | 0 | 0, 47992 | 0, 47996 | 0, 0 | 0) | 0) { + break label$11 + } + $147_1 = 47989; + if ($2122($6_1 + 12 | 0 | 0, $147_1 | 0, $147_1 | 0, 0 | 0) | 0) { + break label$11 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + label$12 : { + label$13 : { + if (!($2122($6_1 + 12 | 0 | 0, 47998 | 0, 48002 | 0, 101 | 0) | 0)) { + break label$13 + } + break label$12; + } + label$14 : { + label$15 : { + if ($2122($6_1 + 12 | 0 | 0, 48005 | 0, 1352 | 0, 102 | 0) | 0) { + break label$15 + } + if (!($2122($6_1 + 12 | 0 | 0, 48009 | 0, 1352 | 0, 102 | 0) | 0)) { + break label$14 + } + } + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + label$16 : { + label$17 : { + label$18 : { + if ($2122($6_1 + 12 | 0 | 0, 48012 | 0, 48015 | 0, 0 | 0) | 0) { + break label$18 + } + if ($2122($6_1 + 12 | 0 | 0, 48019 | 0, 48022 | 0, 0 | 0) | 0) { + break label$18 + } + if (!($2122($6_1 + 12 | 0 | 0, 48026 | 0, 48029 | 0, 0 | 0) | 0)) { + break label$17 + } + } + break label$16; + } + label$19 : { + label$20 : { + if (!($2125(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$20 + } + $208_1 = 24; + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $208_1 | 0) >> $208_1 | 0 | 0) != (108 | 0) & 1 | 0)) { + break label$20 + } + $219_1 = 24; + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $219_1 | 0) >> $219_1 | 0 | 0) != (115 | 0) & 1 | 0)) { + break label$20 + } + $230_1 = 24; + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $230_1 | 0) >> $230_1 | 0 | 0) != (122 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + break label$19; + } + label$21 : { + if (!($2126(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$21 + } + if (!($2127(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$21 + } + $248_1 = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $248_1; + HEAP8[$248_1 >> 0] = 101; + } + } + } + } + } + $252_1 = 24; + label$22 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $252_1 | 0) >> $252_1 | 0 | 0) == (121 | 0) & 1 | 0)) { + break label$22 + } + if (!($2124((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0 | 0) | 0)) { + break label$22 + } + HEAP8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] = 105; + } + $269_1 = (HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) + -97 | 0; + label$23 : { + label$24 : { + switch ($269_1 | 0) { + case 0: + label$32 : { + if ($2122($6_1 + 12 | 0 | 0, 48033 | 0, 48015 | 0, 101 | 0) | 0) { + break label$32 + } + $2122($6_1 + 12 | 0 | 0, 48041 | 0, 48048 | 0, 101 | 0) | 0; + } + break label$23; + case 2: + label$33 : { + if ($2122($6_1 + 12 | 0 | 0, 48053 | 0, 48058 | 0, 101 | 0) | 0) { + break label$33 + } + $2122($6_1 + 12 | 0 | 0, 48063 | 0, 48068 | 0, 101 | 0) | 0; + } + break label$23; + case 4: + $2122($6_1 + 12 | 0 | 0, 48073 | 0, 48029 | 0, 101 | 0) | 0; + break label$23; + case 6: + $2122($6_1 + 12 | 0 | 0, 48078 | 0, 14196 | 0, 101 | 0) | 0; + break label$23; + case 11: + label$34 : { + if ($2122($6_1 + 12 | 0 | 0, 48083 | 0, 48022 | 0, 101 | 0) | 0) { + break label$34 + } + if ($2122($6_1 + 12 | 0 | 0, 48087 | 0, 48092 | 0, 101 | 0) | 0) { + break label$34 + } + if ($2122($6_1 + 12 | 0 | 0, 48095 | 0, 48101 | 0, 101 | 0) | 0) { + break label$34 + } + if ($2122($6_1 + 12 | 0 | 0, 48105 | 0, 48109 | 0, 101 | 0) | 0) { + break label$34 + } + $2122($6_1 + 12 | 0 | 0, 48111 | 0, 48117 | 0, 101 | 0) | 0; + } + break label$23; + case 14: + label$35 : { + if ($2122($6_1 + 12 | 0 | 0, 48121 | 0, 48029 | 0, 101 | 0) | 0) { + break label$35 + } + if ($2122($6_1 + 12 | 0 | 0, 48129 | 0, 48015 | 0, 101 | 0) | 0) { + break label$35 + } + $2122($6_1 + 12 | 0 | 0, 48135 | 0, 48015 | 0, 101 | 0) | 0; + } + break label$23; + case 18: + label$36 : { + if ($2122($6_1 + 12 | 0 | 0, 48140 | 0, 48092 | 0, 101 | 0) | 0) { + break label$36 + } + if ($2122($6_1 + 12 | 0 | 0, 48146 | 0, 48154 | 0, 101 | 0) | 0) { + break label$36 + } + if ($2122($6_1 + 12 | 0 | 0, 48158 | 0, 48166 | 0, 101 | 0) | 0) { + break label$36 + } + $2122($6_1 + 12 | 0 | 0, 48170 | 0, 48117 | 0, 101 | 0) | 0; + } + break label$23; + case 19: + break label$24; + default: + break label$23; + }; + } + label$37 : { + if ($2122($6_1 + 12 | 0 | 0, 48178 | 0, 48092 | 0, 101 | 0) | 0) { + break label$37 + } + if ($2122($6_1 + 12 | 0 | 0, 48184 | 0, 48154 | 0, 101 | 0) | 0) { + break label$37 + } + $2122($6_1 + 12 | 0 | 0, 48190 | 0, 48022 | 0, 101 | 0) | 0; + } + } + $413_1 = (HEAP8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) + -101 | 0; + label$38 : { + label$39 : { + switch ($413_1 | 0) { + case 0: + label$43 : { + if ($2122($6_1 + 12 | 0 | 0, 48197 | 0, 48203 | 0, 101 | 0) | 0) { + break label$43 + } + if ($2122($6_1 + 12 | 0 | 0, 48206 | 0, 1352 | 0, 101 | 0) | 0) { + break label$43 + } + $2122($6_1 + 12 | 0 | 0, 48212 | 0, 48092 | 0, 101 | 0) | 0; + } + break label$38; + case 4: + $2122($6_1 + 12 | 0 | 0, 48218 | 0, 48203 | 0, 101 | 0) | 0; + break label$38; + case 7: + label$44 : { + if ($2122($6_1 + 12 | 0 | 0, 48224 | 0, 48203 | 0, 101 | 0) | 0) { + break label$44 + } + $2122($6_1 + 12 | 0 | 0, 48229 | 0, 1352 | 0, 101 | 0) | 0; + } + break label$38; + case 14: + break label$39; + default: + break label$38; + }; + } + $2122($6_1 + 12 | 0 | 0, 48233 | 0, 1352 | 0, 101 | 0) | 0; + } + $463_1 = (HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) + -97 | 0; + label$45 : { + label$46 : { + switch ($463_1 | 0) { + case 0: + $468_1 = 24; + label$57 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $468_1 | 0) >> $468_1 | 0 | 0) == (108 | 0) & 1 | 0)) { + break label$57 + } + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0 | 0) | 0)) { + break label$57 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0; + } + break label$45; + case 2: + $486_1 = 24; + label$58 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $486_1 | 0) >> $486_1 | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$58 + } + $497_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $497_1 | 0) >> $497_1 | 0 | 0) == (110 | 0) & 1 | 0)) { + break label$58 + } + $508_1 = 24; + label$59 : { + if ((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) << $508_1 | 0) >> $508_1 | 0 | 0) == (97 | 0) & 1 | 0) { + break label$59 + } + $519_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) << $519_1 | 0) >> $519_1 | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$58 + } + } + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0 | 0) | 0)) { + break label$58 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0; + } + break label$45; + case 4: + $537_1 = 24; + label$60 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $537_1 | 0) >> $537_1 | 0 | 0) == (114 | 0) & 1 | 0)) { + break label$60 + } + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0 | 0) | 0)) { + break label$60 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0; + } + break label$45; + case 8: + $555_1 = 24; + label$61 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $555_1 | 0) >> $555_1 | 0 | 0) == (99 | 0) & 1 | 0)) { + break label$61 + } + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0 | 0) | 0)) { + break label$61 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0; + } + break label$45; + case 11: + $573_1 = 24; + label$62 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $573_1 | 0) >> $573_1 | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$62 + } + $584_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $584_1 | 0) >> $584_1 | 0 | 0) == (98 | 0) & 1 | 0)) { + break label$62 + } + $595_1 = 24; + label$63 : { + if ((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) << $595_1 | 0) >> $595_1 | 0 | 0) == (97 | 0) & 1 | 0) { + break label$63 + } + $606_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) << $606_1 | 0) >> $606_1 | 0 | 0) == (105 | 0) & 1 | 0)) { + break label$62 + } + } + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0 | 0) | 0)) { + break label$62 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0; + } + break label$45; + case 13: + $624_1 = 24; + label$64 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $624_1 | 0) >> $624_1 | 0 | 0) == (116 | 0) & 1 | 0)) { + break label$64 + } + $635_1 = 24; + label$65 : { + label$66 : { + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $635_1 | 0) >> $635_1 | 0 | 0) == (97 | 0) & 1 | 0)) { + break label$66 + } + label$67 : { + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0 | 0) | 0)) { + break label$67 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0; + } + break label$65; + } + $653_1 = 24; + label$68 : { + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $653_1 | 0) >> $653_1 | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$68 + } + label$69 : { + if ($2122($6_1 + 12 | 0 | 0, 48238 | 0, 1352 | 0, 103 | 0) | 0) { + break label$69 + } + if ($2122($6_1 + 12 | 0 | 0, 48244 | 0, 1352 | 0, 103 | 0) | 0) { + break label$69 + } + $2122($6_1 + 12 | 0 | 0, 48249 | 0, 1352 | 0, 103 | 0) | 0; + } + } + } + } + break label$45; + case 14: + $684_1 = 24; + label$70 : { + label$71 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $684_1 | 0) >> $684_1 | 0 | 0) == (117 | 0) & 1 | 0)) { + break label$71 + } + label$72 : { + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0 | 0) | 0)) { + break label$72 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0; + } + break label$70; + } + $702_1 = 24; + label$73 : { + label$74 : { + if ((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) << $702_1 | 0) >> $702_1 | 0 | 0) == (115 | 0) & 1 | 0) { + break label$74 + } + $713_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) << $713_1 | 0) >> $713_1 | 0 | 0) == (116 | 0) & 1 | 0)) { + break label$73 + } + } + $2122($6_1 + 12 | 0 | 0, 48253 | 0, 1352 | 0, 103 | 0) | 0; + } + } + break label$45; + case 18: + $730_1 = 24; + label$75 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $730_1 | 0) >> $730_1 | 0 | 0) == (109 | 0) & 1 | 0)) { + break label$75 + } + $741_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $741_1 | 0) >> $741_1 | 0 | 0) == (105 | 0) & 1 | 0)) { + break label$75 + } + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0 | 0) | 0)) { + break label$75 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0; + } + break label$45; + case 19: + label$76 : { + if ($2122($6_1 + 12 | 0 | 0, 48257 | 0, 1352 | 0, 103 | 0) | 0) { + break label$76 + } + $2122($6_1 + 12 | 0 | 0, 48261 | 0, 1352 | 0, 103 | 0) | 0; + } + break label$45; + case 20: + $772_1 = 24; + label$77 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $772_1 | 0) >> $772_1 | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$77 + } + $783_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $783_1 | 0) >> $783_1 | 0 | 0) == (111 | 0) & 1 | 0)) { + break label$77 + } + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0 | 0) | 0)) { + break label$77 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0; + } + break label$45; + case 21: + case 25: + break label$46; + default: + break label$45; + }; + } + $801_1 = 24; + label$78 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $801_1 | 0) >> $801_1 | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$78 + } + $812_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $812_1 | 0) >> $812_1 | 0 | 0) == (105 | 0) & 1 | 0)) { + break label$78 + } + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0 | 0) | 0)) { + break label$78 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 3 | 0; + } + } + $830_1 = 24; + label$79 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $830_1 | 0) >> $830_1 | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$79 + } + label$80 : { + label$81 : { + if (!($2128((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0 | 0) | 0)) { + break label$81 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + break label$80; + } + label$82 : { + if (!($2126((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0 | 0) | 0)) { + break label$82 + } + if ($2127((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0 | 0) | 0) { + break label$82 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + } + } + label$83 : { + if (!($2128(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$83 + } + $861_1 = 24; + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $861_1 | 0) >> $861_1 | 0 | 0) == (108 | 0) & 1 | 0)) { + break label$83 + } + $872_1 = 24; + if (!((((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $872_1 | 0) >> $872_1 | 0 | 0) == (108 | 0) & 1 | 0)) { + break label$83 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + $885_1 = $3303(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $885_1; + HEAP32[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 2] = $885_1; + HEAP8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0) >> 0] = 0; + label$84 : while (1) { + if (!(((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $900_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $900_1 + 1 | 0; + $903_1 = HEAPU8[$900_1 >> 0] | 0; + $904_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + $907_1 = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $907_1; + HEAP8[($904_1 + $907_1 | 0) >> 0] = $903_1; + continue label$84; + }; + } + global$0 = $6_1 + 80 | 0; + return; + } + + function $2121($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $21_1 = 0, $31_1 = 0, $40_1 = 0, $52_1 = 0, $62_1 = 0; + $6_1 = global$0 - 48 | 0; + $7_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[($6_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0; + $21_1 = 24; + label$3 : { + label$4 : { + if (!((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $21_1 | 0) >> $21_1 | 0 | 0) >= (65 | 0) & 1 | 0)) { + break label$4 + } + $31_1 = 24; + if (!((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $31_1 | 0) >> $31_1 | 0 | 0) <= (90 | 0) & 1 | 0)) { + break label$4 + } + $40_1 = 24; + HEAP8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0) >> 0] = ((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $40_1 | 0) >> $40_1 | 0) - 65 | 0) + 97 | 0; + break label$3; + } + $52_1 = 24; + label$5 : { + if (!((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $52_1 | 0) >> $52_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$5 + } + $62_1 = 24; + if (!((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) <= (57 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 1; + } + HEAP8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[($6_1 + 15 | 0) >> 0] | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0 ? 3 : 10; + label$6 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) > ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 1 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) - (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + HEAP8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + return; + } + + function $2122($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $12_1 = 0, $15_1 = 0, $18_1 = 0, $23_1 = 0, $40_1 = 0, $65_1 = 0, $71_1 = 0, $68_1 = 0, $75_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : while (1) { + $12_1 = 24; + $15_1 = 0; + label$2 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $12_1 | 0) >> $12_1 | 0)) { + break label$2 + } + $18_1 = 24; + $23_1 = 24; + $15_1 = (((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) == (((HEAPU8[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0 | 0); + } + label$3 : { + if (!($15_1 & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $40_1 = 24; + label$4 : { + label$5 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $40_1 | 0) >> $40_1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$4; + } + label$6 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (FUNCTION_TABLE[HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) { + break label$6 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$4; + } + label$7 : { + label$8 : while (1) { + if (!(((HEAPU8[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + $65_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $65_1 + 1 | 0; + $68_1 = HEAPU8[$65_1 >> 0] | 0; + $71_1 = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $71_1; + HEAP8[$71_1 >> 0] = $68_1; + continue label$8; + }; + } + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + } + $75_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $75_1 | 0; + } + + function $2123($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0, $23_1 = 0, $31_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : while (1) { + if (!($2129(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $11_1 = 24; + label$3 : { + label$4 : { + if (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $11_1 | 0) >> $11_1 | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$3; + } + label$5 : { + label$6 : while (1) { + if (!($2130(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $23_1 = 24; + HEAP32[($3_1 + 12 | 0) >> 2] = (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0 | 0) != (0 | 0) & 1 | 0; + } + $31_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $31_1 | 0; + } + + function $2124($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, $19_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : while (1) { + if (!($2130(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $12_1 = 24; + $19_1 = (((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $12_1 | 0) >> $12_1 | 0 | 0) != (0 | 0) & 1 | 0; + global$0 = $3_1 + 16 | 0; + return $19_1 | 0; + } + + function $2125($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $10_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = 0; + label$1 : { + if (!($2130(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + $10_1 = 24; + $15_1 = 24; + $7_1 = (((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) == (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $15_1 | 0) >> $15_1 | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return $7_1 & 1 | 0 | 0; + } + + function $2126($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0, $22_1 = 0, $33_1 = 0, $45_1 = 0, $53_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : while (1) { + if (!($2129(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $11_1 = 24; + label$3 : { + label$4 : { + if (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $11_1 | 0) >> $11_1 | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$3; + } + label$5 : { + label$6 : while (1) { + if (!($2130(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $22_1 = 24; + label$7 : { + if (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $22_1 | 0) >> $22_1 | 0) { + break label$7 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$3; + } + label$8 : { + label$9 : while (1) { + if (!($2129(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + $33_1 = 24; + label$10 : { + if (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $33_1 | 0) >> $33_1 | 0) { + break label$10 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$3; + } + label$11 : { + label$12 : while (1) { + if (!($2130(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + $45_1 = 24; + HEAP32[($3_1 + 12 | 0) >> 2] = (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $45_1 | 0) >> $45_1 | 0 | 0) == (0 | 0) & 1 | 0; + } + $53_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $53_1 | 0; + } + + function $2127($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $12_1 = 0, $24_1 = 0, $36_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = 0; + label$1 : { + if (!($2130(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + $12_1 = 24; + $7_1 = 0; + if (!((((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $12_1 | 0) >> $12_1 | 0 | 0) != (119 | 0) & 1 | 0)) { + break label$1 + } + $24_1 = 24; + $7_1 = 0; + if (!((((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0 | 0) != (120 | 0) & 1 | 0)) { + break label$1 + } + $36_1 = 24; + $7_1 = 0; + if (!((((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $36_1 | 0) >> $36_1 | 0 | 0) != (121 | 0) & 1 | 0)) { + break label$1 + } + $7_1 = 0; + if (!($2129((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0 | 0) | 0)) { + break label$1 + } + $7_1 = ($2130((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0 | 0) | 0 | 0) != (0 | 0); + } + global$0 = $3_1 + 16 | 0; + return $7_1 & 1 | 0 | 0; + } + + function $2128($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0, $22_1 = 0, $33_1 = 0, $45_1 = 0, $53_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : while (1) { + if (!($2129(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $11_1 = 24; + label$3 : { + label$4 : { + if (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $11_1 | 0) >> $11_1 | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$3; + } + label$5 : { + label$6 : while (1) { + if (!($2130(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $22_1 = 24; + label$7 : { + if (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $22_1 | 0) >> $22_1 | 0) { + break label$7 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$3; + } + label$8 : { + label$9 : while (1) { + if (!($2129(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + $33_1 = 24; + label$10 : { + if (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $33_1 | 0) >> $33_1 | 0) { + break label$10 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$3; + } + label$11 : { + label$12 : while (1) { + if (!($2130(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + $45_1 = 24; + HEAP32[($3_1 + 12 | 0) >> 2] = (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $45_1 | 0) >> $45_1 | 0 | 0) != (0 | 0) & 1 | 0; + } + $53_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $53_1 | 0; + } + + function $2129($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $13_1 = 0, $19_1 = 0, $35_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($3_1 + 3 | 0) >> 0] = HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0; + $7_1 = 24; + label$1 : { + label$2 : { + if (((HEAPU8[($3_1 + 3 | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $13_1 = 24; + $19_1 = 24; + HEAP32[($3_1 + 4 | 0) >> 2] = ((HEAPU8[(((((HEAPU8[($3_1 + 3 | 0) >> 0] | 0) << $13_1 | 0) >> $13_1 | 0) - 97 | 0) + 48272 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1 - (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2130((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $35_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $35_1 | 0; + } + + function $2130($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $13_1 = 0, $19_1 = 0, $32_1 = 0, $35_1 = 0, $47_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP8[($3_1 + 3 | 0) >> 0] = HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0; + $7_1 = 24; + label$1 : { + label$2 : { + if (((HEAPU8[($3_1 + 3 | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + $13_1 = 24; + $19_1 = 24; + HEAP32[($3_1 + 4 | 0) >> 2] = ((HEAPU8[(((((HEAPU8[($3_1 + 3 | 0) >> 0] | 0) << $13_1 | 0) >> $13_1 | 0) - 97 | 0) + 48272 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0; + label$3 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $32_1 = 24; + $35_1 = 1; + label$4 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0)) { + break label$4 + } + $35_1 = ($2129((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0 | 0) | 0 | 0) != (0 | 0); + } + HEAP32[($3_1 + 12 | 0) >> 2] = $35_1 & 1 | 0; + } + $47_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $47_1 | 0; + } + + function $2131($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $12_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $303(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + $7_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = -1; + HEAP32[($3_1 + 4 | 0) >> 2] = $3_1 + 20 | 0; + $447($7_1 | 0, 1004 | 0, $3_1 | 0) | 0; + $12_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $12_1 | 0; + } + + function $2132($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2074(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$1; + } + $19_1 = 0; + } + global$0 = $5_1 + 16 | 0; + return $19_1 | 0; + } + + function $2133($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $16_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + $16_1 = $2134(1 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $16_1 | 0; + } + + function $2134($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $10_1 = 0, $152_1 = 0, $509_1 = 0, $16_1 = 0, $79_1 = 0, $122_1 = 0, $207_1 = 0, $271_1 = 0, $279_1 = 0, $283_1 = 0, $301_1 = 0, $320_1 = 0, $337_1 = 0, $502_1 = 0, $547_1 = 0, $556_1 = 0, $559_1 = 0, $602_1 = 0, $756_1 = 0, $792_1 = 0, $811_1 = 0, $1227_1 = 0, $1234_1 = 0, $1241_1 = 0, $1248_1 = 0, $1255_1 = 0, $1262_1 = 0, $1269_1 = 0, $1273_1 = 0, $221_1 = 0, $261_1 = 0, $299_1 = 0, $300_1 = 0, $307_1 = 0, $315_1 = 0, $318_1 = 0, $319_1 = 0, $448_1 = 0, $741_1 = 0, $785_1 = 0, $795_1 = 0, $799_1 = 0, $866_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 352 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 348 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 344 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 340 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 336 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 332 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 328 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 324 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 320 | 0) >> 2] = HEAP32[($9_1 + 340 | 0) >> 2] | 0; + HEAP32[($9_1 + 316 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 312 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 288 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 284 | 0) >> 2] = $10_1; + $16_1 = 24; + HEAP32[($9_1 + 268 | 0) >> 2] = (((HEAPU8[((HEAP32[(HEAP32[($9_1 + 332 | 0) >> 2] | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) << $16_1 | 0) >> $16_1 | 0 | 0) == (52 | 0) & 1 | 0; + HEAP32[($9_1 + 260 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 256 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 252 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 248 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 244 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 240 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 236 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 232 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 228 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 224 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 220 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 216 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = ($3303(HEAP32[((HEAP32[($9_1 + 332 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 276 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = ($3303(HEAP32[((HEAP32[($9_1 + 332 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 272 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 296 | 0) >> 2] = ((HEAP32[($9_1 + 336 | 0) >> 2] | 0) - 2 | 0) << 2 | 0; + HEAP32[($9_1 + 300 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 296 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 300 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 264 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($9_1 + 264 | 0) >> 2] | 0 | 0) != ($10_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 296 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 300 | 0) >> 2] | 0; + $3289(HEAP32[($9_1 + 264 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 296 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 300 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (!((HEAP32[($9_1 + 220 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 296 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 300 | 0) >> 2] | 0; + $3289(HEAP32[($9_1 + 220 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + } + label$3 : { + label$4 : { + label$5 : { + if (!((HEAP32[($9_1 + 264 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if ((HEAP32[($9_1 + 220 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + } + HEAP32[($9_1 + 312 | 0) >> 2] = 7; + break label$3; + } + HEAP32[($9_1 + 308 | 0) >> 2] = 3; + label$6 : while (1) { + $79_1 = 0; + label$7 : { + if (HEAP32[($9_1 + 312 | 0) >> 2] | 0) { + break label$7 + } + $79_1 = (HEAP32[($9_1 + 308 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 336 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!($79_1 & 1 | 0)) { + break label$8 + } + HEAP32[($9_1 + 212 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 332 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 308 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$9 : { + label$10 : { + if ((HEAP32[($9_1 + 260 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + if (!(($3303(HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) | 0) >>> 0 > 8 >>> 0 & 1 | 0)) { + break label$10 + } + if (!((0 | 0) == ($89(HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0, 48365 | 0, 8 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + $122_1 = 24; + if (!((0 | 0) == ($2173(((HEAPU8[((HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) << $122_1 | 0) >> $122_1 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2174(HEAP32[($9_1 + 320 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 9 | 0 | 0, $9_1 + 260 | 0 | 0, HEAP32[($9_1 + 324 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 312 | 0) >> 2] = wasm2js_i32$1; + break label$9; + } + label$11 : { + label$12 : { + if (!(HEAP32[($9_1 + 268 | 0) >> 2] | 0)) { + break label$12 + } + if (!($2175(HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0, $9_1 + 208 | 0 | 0, $9_1 + 204 | 0 | 0) | 0)) { + break label$12 + } + $152_1 = $9_1 + 128 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48504 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48508 | 0) >> 2] | 0; + $1227_1 = i64toi32_i32$0; + i64toi32_i32$0 = $152_1 + 56 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1227_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48496 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48500 | 0) >> 2] | 0; + $1234_1 = i64toi32_i32$1; + i64toi32_i32$1 = $152_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1234_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48488 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48492 | 0) >> 2] | 0; + $1241_1 = i64toi32_i32$0; + i64toi32_i32$0 = $152_1 + 40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1241_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48480 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48484 | 0) >> 2] | 0; + $1248_1 = i64toi32_i32$1; + i64toi32_i32$1 = $152_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1248_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48472 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48476 | 0) >> 2] | 0; + $1255_1 = i64toi32_i32$0; + i64toi32_i32$0 = $152_1 + 24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1255_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48464 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48468 | 0) >> 2] | 0; + $1262_1 = i64toi32_i32$1; + i64toi32_i32$1 = $152_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1262_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48456 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48460 | 0) >> 2] | 0; + $1269_1 = i64toi32_i32$0; + i64toi32_i32$0 = $152_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1269_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48448 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48452 | 0) >> 2] | 0; + $1273_1 = i64toi32_i32$1; + i64toi32_i32$1 = $152_1; + HEAP32[i64toi32_i32$1 >> 2] = $1273_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$13 : { + label$14 : { + if ((HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$14 + } + HEAP32[($9_1 + 312 | 0) >> 2] = 7; + break label$13; + } + HEAP32[($9_1 + 124 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($9_1 + 124 | 0) >> 2] | 0 | 0) < (8 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($9_1 + 120 | 0) >> 2] = ($9_1 + 128 | 0) + ((HEAP32[($9_1 + 124 | 0) >> 2] | 0) << 3 | 0) | 0; + label$17 : { + if (!((HEAP32[($9_1 + 208 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + if ($89(HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($9_1 + 120 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$17 + } + break label$15; + } + HEAP32[($9_1 + 124 | 0) >> 2] = (HEAP32[($9_1 + 124 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + $207_1 = HEAP32[($9_1 + 124 | 0) >> 2] | 0; + label$18 : { + label$19 : { + switch ($207_1 | 0) { + case 0: + label$28 : { + label$29 : { + if (($3303(HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) | 0 | 0) != (4 | 0) & 1 | 0) { + break label$29 + } + if (!($89(HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0, 42043 | 0, 4 | 0) | 0)) { + break label$28 + } + } + $221_1 = HEAP32[($9_1 + 324 | 0) >> 2] | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + $2048($221_1 | 0, 48512 | 0, $9_1 + 16 | 0 | 0); + HEAP32[($9_1 + 312 | 0) >> 2] = 1; + } + HEAP32[($9_1 + 248 | 0) >> 2] = 1; + break label$18; + case 1: + $42(HEAP32[($9_1 + 240 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 240 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + HEAP32[($9_1 + 204 | 0) >> 2] = 0; + break label$18; + case 2: + $42(HEAP32[($9_1 + 236 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 236 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + HEAP32[($9_1 + 204 | 0) >> 2] = 0; + break label$18; + case 3: + $42(HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 232 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + HEAP32[($9_1 + 204 | 0) >> 2] = 0; + break label$18; + case 4: + label$30 : { + label$31 : { + if (($3303(HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) | 0 | 0) != (3 | 0) & 1 | 0) { + break label$31 + } + if (!($89(HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0, 48539 | 0, 3 | 0) | 0)) { + break label$30 + } + } + label$32 : { + if (($3303(HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) | 0 | 0) != (4 | 0) & 1 | 0) { + break label$32 + } + if (!($89(HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0, 14093 | 0, 4 | 0) | 0)) { + break label$30 + } + } + $261_1 = HEAP32[($9_1 + 324 | 0) >> 2] | 0; + HEAP32[($9_1 + 32 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + $2048($261_1 | 0, 48543 | 0, $9_1 + 32 | 0 | 0); + HEAP32[($9_1 + 312 | 0) >> 2] = 1; + } + $271_1 = 24; + $279_1 = 1; + label$33 : { + if ((((HEAPU8[(HEAP32[($9_1 + 204 | 0) >> 2] | 0) >> 0] | 0) << $271_1 | 0) >> $271_1 | 0 | 0) == (100 | 0) & 1 | 0) { + break label$33 + } + $283_1 = 24; + $279_1 = (((HEAPU8[(HEAP32[($9_1 + 204 | 0) >> 2] | 0) >> 0] | 0) << $283_1 | 0) >> $283_1 | 0 | 0) == (68 | 0); + } + HEAP32[($9_1 + 244 | 0) >> 2] = $279_1 & 1 | 0; + break label$18; + case 5: + $42(HEAP32[($9_1 + 228 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 228 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + HEAP32[($9_1 + 204 | 0) >> 2] = 0; + break label$18; + case 6: + $42(HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 224 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + HEAP32[($9_1 + 204 | 0) >> 2] = 0; + break label$18; + case 7: + $299_1 = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + $300_1 = HEAP32[($9_1 + 220 | 0) >> 2] | 0; + $301_1 = HEAP32[($9_1 + 216 | 0) >> 2] | 0; + HEAP32[($9_1 + 216 | 0) >> 2] = $301_1 + 1 | 0; + HEAP32[($300_1 + ($301_1 << 2 | 0) | 0) >> 2] = $299_1; + HEAP32[($9_1 + 204 | 0) >> 2] = 0; + break label$18; + default: + break label$19; + }; + } + $307_1 = HEAP32[($9_1 + 324 | 0) >> 2] | 0; + HEAP32[$9_1 >> 2] = HEAP32[($9_1 + 212 | 0) >> 2] | 0; + $2048($307_1 | 0, 48566 | 0, $9_1 | 0); + HEAP32[($9_1 + 312 | 0) >> 2] = 1; + } + $42(HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0); + } + break label$11; + } + $315_1 = ($3303(HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($9_1 + 288 | 0) >> 2] = (HEAP32[($9_1 + 288 | 0) >> 2] | 0) + $315_1 | 0; + $318_1 = HEAP32[($9_1 + 212 | 0) >> 2] | 0; + $319_1 = HEAP32[($9_1 + 264 | 0) >> 2] | 0; + $320_1 = HEAP32[($9_1 + 284 | 0) >> 2] | 0; + HEAP32[($9_1 + 284 | 0) >> 2] = $320_1 + 1 | 0; + HEAP32[($319_1 + ($320_1 << 2 | 0) | 0) >> 2] = $318_1; + } + } + HEAP32[($9_1 + 308 | 0) >> 2] = (HEAP32[($9_1 + 308 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + label$34 : { + if (HEAP32[($9_1 + 312 | 0) >> 2] | 0) { + break label$34 + } + if (!((HEAP32[($9_1 + 228 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$34 + } + $337_1 = 0; + $42(HEAP32[($9_1 + 236 | 0) >> 2] | 0 | 0); + $42(HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 236 | 0) >> 2] = $337_1; + HEAP32[($9_1 + 232 | 0) >> 2] = $337_1; + label$35 : { + if (HEAP32[($9_1 + 284 | 0) >> 2] | 0) { + break label$35 + } + $42(HEAP32[($9_1 + 264 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 264 | 0) >> 2] = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2176(HEAP32[($9_1 + 344 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 332 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 228 | 0) >> 2] | 0 | 0, $9_1 + 264 | 0 | 0, $9_1 + 284 | 0 | 0, $9_1 + 288 | 0 | 0, HEAP32[($9_1 + 324 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 312 | 0) >> 2] = wasm2js_i32$1; + label$36 : { + if (HEAP32[($9_1 + 312 | 0) >> 2] | 0) { + break label$36 + } + if (!((HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[($9_1 + 116 | 0) >> 2] = 0; + label$37 : { + label$38 : while (1) { + if (!((HEAP32[($9_1 + 116 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 284 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$37 + } + label$39 : { + if ($87(HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 264 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$39 + } + HEAP32[($9_1 + 112 | 0) >> 2] = HEAP32[($9_1 + 116 | 0) >> 2] | 0; + label$40 : { + label$41 : while (1) { + if (!((HEAP32[($9_1 + 112 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 284 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$40 + } + HEAP32[((HEAP32[($9_1 + 264 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 112 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 264 | 0) >> 2] | 0) + (((HEAP32[($9_1 + 112 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($9_1 + 112 | 0) >> 2] = (HEAP32[($9_1 + 112 | 0) >> 2] | 0) + 1 | 0; + continue label$41; + }; + } + HEAP32[($9_1 + 284 | 0) >> 2] = (HEAP32[($9_1 + 284 | 0) >> 2] | 0) + -1 | 0; + break label$37; + } + HEAP32[($9_1 + 116 | 0) >> 2] = (HEAP32[($9_1 + 116 | 0) >> 2] | 0) + 1 | 0; + continue label$38; + }; + } + } + } + } + label$42 : { + if (!(HEAP32[($9_1 + 312 | 0) >> 2] | 0)) { + break label$42 + } + break label$3; + } + label$43 : { + if (HEAP32[($9_1 + 284 | 0) >> 2] | 0) { + break label$43 + } + HEAP32[(HEAP32[($9_1 + 264 | 0) >> 2] | 0) >> 2] = 48407; + HEAP32[($9_1 + 288 | 0) >> 2] = 8; + HEAP32[($9_1 + 284 | 0) >> 2] = 1; + } + label$44 : { + if (!((HEAP32[($9_1 + 260 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$44 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2174(HEAP32[($9_1 + 320 | 0) >> 2] | 0 | 0, 41978 | 0, $9_1 + 260 | 0 | 0, HEAP32[($9_1 + 324 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 312 | 0) >> 2] = wasm2js_i32$1; + label$45 : { + if (!(HEAP32[($9_1 + 312 | 0) >> 2] | 0)) { + break label$45 + } + break label$3; + } + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2177(HEAP32[($9_1 + 240 | 0) >> 2] | 0 | 0, $9_1 + 256 | 0 | 0, $9_1 + 252 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 312 | 0) >> 2] = wasm2js_i32$1; + label$46 : { + if (!((HEAP32[($9_1 + 312 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$46 + } + $448_1 = HEAP32[($9_1 + 324 | 0) >> 2] | 0; + HEAP32[($9_1 + 80 | 0) >> 2] = HEAP32[($9_1 + 240 | 0) >> 2] | 0; + $2048($448_1 | 0, 48593 | 0, $9_1 + 80 | 0 | 0); + } + label$47 : { + if (!(HEAP32[($9_1 + 312 | 0) >> 2] | 0)) { + break label$47 + } + break label$3; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 296 | 0) >> 2] = (((((((HEAP32[($9_1 + 284 | 0) >> 2] | 0) << 2 | 0) + 288 | 0) + Math_imul(HEAP32[($9_1 + 256 | 0) >> 2] | 0, 24) | 0) + ((HEAP32[($9_1 + 284 | 0) >> 2] | 0) << 0 | 0) | 0) + (HEAP32[($9_1 + 272 | 0) >> 2] | 0) | 0) + (HEAP32[($9_1 + 276 | 0) >> 2] | 0) | 0) + (HEAP32[($9_1 + 288 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 300 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 296 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 300 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 316 | 0) >> 2] = wasm2js_i32$1; + label$48 : { + if (!((HEAP32[($9_1 + 316 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$48 + } + HEAP32[($9_1 + 312 | 0) >> 2] = 7; + break label$3; + } + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 296 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 300 | 0) >> 2] | 0; + $3289(HEAP32[($9_1 + 316 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($9_1 + 344 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($9_1 + 284 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 268 | 0) >> 2] = 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 28 | 0) >> 2] = (HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 288 | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($9_1 + 260 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 264 | 0) >> 2] = 1048576; + $502_1 = 0; + label$49 : { + if (!(HEAP32[($9_1 + 268 | 0) >> 2] | 0)) { + break label$49 + } + $502_1 = (HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0) == (0 | 0); + } + $509_1 = 0; + HEAP8[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 238 | 0) >> 0] = $502_1 & 1 | 0; + HEAP8[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 237 | 0) >> 0] = HEAP32[($9_1 + 268 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 236 | 0) >> 0] = HEAP32[($9_1 + 268 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 239 | 0) >> 0] = HEAP32[($9_1 + 244 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 48 | 0) >> 2] = 255; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($9_1 + 228 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($9_1 + 224 | 0) >> 2] | 0; + HEAP32[($9_1 + 228 | 0) >> 2] = $509_1; + HEAP32[($9_1 + 224 | 0) >> 2] = $509_1; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 260 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 284 | 0) >> 2] | 0) << 2 | 0) | 0; + $3288(HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 252 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($9_1 + 256 | 0) >> 2] | 0, 24) | 0) | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 256 | 0) >> 2] = HEAP32[($9_1 + 256 | 0) >> 2] | 0; + HEAP32[($9_1 + 308 | 0) >> 2] = $509_1; + label$50 : { + label$51 : while (1) { + if (!((HEAP32[($9_1 + 308 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 256 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$50 + } + $547_1 = 1; + $556_1 = 24; + $559_1 = 24; + $2011(((HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + Math_imul(HEAP32[($9_1 + 308 | 0) >> 2] | 0, 24) | 0) + 4 | 0 | 0, ($547_1 << $556_1 | 0) >> $556_1 | 0 | 0, ($547_1 << $559_1 | 0) >> $559_1 | 0 | 0); + HEAP32[($9_1 + 308 | 0) >> 2] = (HEAP32[($9_1 + 308 | 0) >> 2] | 0) + 1 | 0; + continue label$51; + }; + } + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + Math_imul(HEAP32[($9_1 + 256 | 0) >> 2] | 0, 24) | 0; + HEAP32[($9_1 + 280 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + (HEAP32[($9_1 + 284 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($9_1 + 280 | 0) >> 2] | 0; + $3288(HEAP32[($9_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 332 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 272 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 280 | 0) >> 2] = (HEAP32[($9_1 + 280 | 0) >> 2] | 0) + (HEAP32[($9_1 + 272 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($9_1 + 280 | 0) >> 2] | 0; + $3288(HEAP32[($9_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 332 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 276 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 280 | 0) >> 2] = (HEAP32[($9_1 + 280 | 0) >> 2] | 0) + (HEAP32[($9_1 + 276 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 292 | 0) >> 2] = 0; + label$52 : { + label$53 : while (1) { + if (!((HEAP32[($9_1 + 292 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 284 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$52 + } + $602_1 = 0; + HEAP32[($9_1 + 104 | 0) >> 2] = $602_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2178(HEAP32[((HEAP32[($9_1 + 264 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 292 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $9_1 + 104 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$54 : { + if (!((HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0) > ($602_1 | 0) & 1 | 0)) { + break label$54 + } + $3288(HEAP32[($9_1 + 280 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0) | 0; + } + HEAP8[((HEAP32[($9_1 + 280 | 0) >> 2] | 0) + (HEAP32[($9_1 + 104 | 0) >> 2] | 0) | 0) >> 0] = 0; + $2047(HEAP32[($9_1 + 280 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 292 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($9_1 + 280 | 0) >> 2] | 0; + HEAP32[($9_1 + 280 | 0) >> 2] = (HEAP32[($9_1 + 280 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP32[($9_1 + 292 | 0) >> 2] = (HEAP32[($9_1 + 292 | 0) >> 2] | 0) + 1 | 0; + continue label$53; + }; + } + HEAP32[($9_1 + 292 | 0) >> 2] = 0; + label$55 : { + label$56 : while (1) { + if (!((HEAP32[($9_1 + 292 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 284 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$55 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $3303(HEAP32[((HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 292 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 308 | 0) >> 2] = 0; + label$57 : { + label$58 : while (1) { + if (!((HEAP32[($9_1 + 308 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$57 + } + HEAP32[($9_1 + 96 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 308 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$59 : { + if (!((HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$59 + } + if (!((HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0) == ($3303(HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$59 + } + if (!((0 | 0) == ($89(HEAP32[((HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 292 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$59 + } + HEAP8[((HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + (HEAP32[($9_1 + 292 | 0) >> 2] | 0) | 0) >> 0] = 1; + $42(HEAP32[($9_1 + 96 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 308 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + } + HEAP32[($9_1 + 308 | 0) >> 2] = (HEAP32[($9_1 + 308 | 0) >> 2] | 0) + 1 | 0; + continue label$58; + }; + } + HEAP32[($9_1 + 292 | 0) >> 2] = (HEAP32[($9_1 + 292 | 0) >> 2] | 0) + 1 | 0; + continue label$56; + }; + } + HEAP32[($9_1 + 308 | 0) >> 2] = 0; + label$60 : { + label$61 : while (1) { + if (!((HEAP32[($9_1 + 308 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$60 + } + label$62 : { + if (!((HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 308 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$62 + } + $741_1 = HEAP32[($9_1 + 324 | 0) >> 2] | 0; + HEAP32[($9_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 308 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $2048($741_1 | 0, 33759 | 0, $9_1 + 48 | 0 | 0); + HEAP32[($9_1 + 312 | 0) >> 2] = 1; + } + HEAP32[($9_1 + 308 | 0) >> 2] = (HEAP32[($9_1 + 308 | 0) >> 2] | 0) + 1 | 0; + continue label$61; + }; + } + label$63 : { + if (HEAP32[($9_1 + 312 | 0) >> 2] | 0) { + break label$63 + } + $756_1 = 0; + if (!(((HEAP32[($9_1 + 236 | 0) >> 2] | 0 | 0) == ($756_1 | 0) & 1 | 0 | 0) != ((HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0) == ($756_1 | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$63 + } + HEAP32[($9_1 + 92 | 0) >> 2] = (HEAP32[($9_1 + 236 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0 ? 48381 : 48390; + HEAP32[($9_1 + 312 | 0) >> 2] = 1; + $785_1 = HEAP32[($9_1 + 324 | 0) >> 2] | 0; + HEAP32[($9_1 + 64 | 0) >> 2] = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + $2048($785_1 | 0, 48628 | 0, $9_1 + 64 | 0 | 0); + } + $792_1 = $9_1 + 312 | 0; + $795_1 = $2179(HEAP32[($9_1 + 316 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0, $792_1 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 224 | 0) >> 2] = $795_1; + $799_1 = $2180(HEAP32[($9_1 + 316 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 236 | 0) >> 2] | 0 | 0, $792_1 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 228 | 0) >> 2] = $799_1; + label$64 : { + if (!(HEAP32[($9_1 + 312 | 0) >> 2] | 0)) { + break label$64 + } + break label$3; + } + label$65 : { + if (!(HEAP32[($9_1 + 348 | 0) >> 2] | 0)) { + break label$65 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2181(HEAP32[($9_1 + 316 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 312 | 0) >> 2] = wasm2js_i32$1; + } + label$66 : { + if (HEAP32[($9_1 + 268 | 0) >> 2] | 0) { + break label$66 + } + if (HEAP32[($9_1 + 348 | 0) >> 2] | 0) { + break label$66 + } + HEAP8[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 237 | 0) >> 0] = 2; + } + $811_1 = $9_1 + 312 | 0; + $2182($811_1 | 0, HEAP32[($9_1 + 316 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 232 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 316 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0) - 35 | 0; + $2183($811_1 | 0, HEAP32[($9_1 + 316 | 0) >> 2] | 0 | 0); + } + $42(HEAP32[($9_1 + 240 | 0) >> 2] | 0 | 0); + $42(HEAP32[($9_1 + 252 | 0) >> 2] | 0 | 0); + $42(HEAP32[($9_1 + 236 | 0) >> 2] | 0 | 0); + $42(HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0); + $42(HEAP32[($9_1 + 228 | 0) >> 2] | 0 | 0); + $42(HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 308 | 0) >> 2] = 0; + label$67 : { + label$68 : while (1) { + if (!((HEAP32[($9_1 + 308 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$67 + } + $42(HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 308 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 308 | 0) >> 2] = (HEAP32[($9_1 + 308 | 0) >> 2] | 0) + 1 | 0; + continue label$68; + }; + } + $42(HEAP32[($9_1 + 264 | 0) >> 2] | 0 | 0); + $42(HEAP32[($9_1 + 220 | 0) >> 2] | 0 | 0); + label$69 : { + label$70 : { + if (!(HEAP32[($9_1 + 312 | 0) >> 2] | 0)) { + break label$70 + } + label$71 : { + label$72 : { + if (!((HEAP32[($9_1 + 316 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$72 + } + $2139(HEAP32[($9_1 + 316 | 0) >> 2] | 0 | 0) | 0; + break label$71; + } + label$73 : { + if (!((HEAP32[($9_1 + 260 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$73 + } + FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($9_1 + 260 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[($9_1 + 260 | 0) >> 2] | 0) | 0; + } + } + break label$69; + } + HEAP32[(HEAP32[($9_1 + 328 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 316 | 0) >> 2] | 0; + } + $866_1 = HEAP32[($9_1 + 312 | 0) >> 2] | 0; + global$0 = $9_1 + 352 | 0; + return $866_1 | 0; + } + + function $2135($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $16_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + $16_1 = $2134(0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $16_1 | 0; + } + + function $2136($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $10_1 = 0, $41_1 = 0, $54_1 = 0, $149_1 = 0, $174_1 = 0, $196_1 = 0, $200_1 = 0, $216_1 = 0, $220_1 = 0, $236_1 = 0, $240_1 = 0, i64toi32_i32$0 = 0, $295_1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = -1; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + break label$1; + } + $10_1 = 0; + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] = $10_1; + HEAPF64[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 3] = 5.0e6; + HEAP32[($4_1 + 44 | 0) >> 2] = $10_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 44 | 0) >> 2] | 0, 12) | 0; + label$5 : { + label$6 : { + if ((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (64 | 0) & 1 | 0)) { + break label$7 + } + $41_1 = 0; + i64toi32_i32$0 = 262144; + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] = $41_1; + HEAPF64[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 3] = 1.e+50; + $2137(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0); + HEAP32[($4_1 + 60 | 0) >> 2] = $41_1; + break label$1; + } + break label$5; + } + $54_1 = 1; + label$8 : { + if ((HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$8 + } + $54_1 = (HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0 | 0); + } + HEAP32[($4_1 + 20 | 0) >> 2] = $54_1 & 1 | 0; + label$9 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$9 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$9 + } + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + HEAPF64[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 3] = 1.0; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + } + label$10 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (64 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0) + 2 | 0; + HEAPF64[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 3] = 2.0; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + } + label$11 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + } + label$12 : { + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$12 + } + $149_1 = (HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) + -4 | 0; + label$13 : { + label$14 : { + switch ($149_1 | 0) { + case 0: + case 28: + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + break label$13; + case 4: + case 12: + break label$14; + default: + break label$13; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + } + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$16 : { + if (!((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$16 + } + $2138(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 24 | 0) >> 2] = 1; + label$17 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$17 + } + $174_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $174_1 + 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $174_1; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 1; + } + label$18 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$18 + } + $196_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP32[($196_1 + 20 | 0) >> 2] = HEAP32[($196_1 + 20 | 0) >> 2] | 0 | 65536 | 0; + $200_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $200_1 + 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $200_1; + } + label$19 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$19 + } + $216_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP32[($216_1 + 20 | 0) >> 2] = HEAP32[($216_1 + 20 | 0) >> 2] | 0 | 131072 | 0; + $220_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $220_1 + 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $220_1; + } + label$20 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$20 + } + $236_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP32[($236_1 + 20 | 0) >> 2] = HEAP32[($236_1 + 20 | 0) >> 2] | 0 | 262144 | 0; + $240_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $240_1 + 1 | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $240_1; + } + label$21 : { + if (!((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$22 : { + label$23 : { + if ((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$23 + } + if (!((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$22 + } + } + label$24 : { + label$25 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] = 49472; + break label$24; + } + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] = 49477; + } + HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + } + } + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + } + $295_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $295_1 | 0; + } + + function $2137($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $41_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!(($432() | 0 | 0) >= (3008002 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $41_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 48 | 0) >> 2] = $41_1; + HEAP32[(i64toi32_i32$0 + 52 | 0) >> 2] = i64toi32_i32$1; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2138($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(($432() | 0 | 0) >= (3008012 | 0) & 1 | 0)) { + break label$1 + } + $11_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($11_1 + 56 | 0) >> 2] = HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 1 | 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2139($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $213(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (40 | 0) & 1 | 0)) { + break label$1 + } + $213(HEAP32[(((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 248 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 228 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2140($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, $56_1 = 0, $12_1 = 0, $13_1 = 0, $15_1 = 0, $16_1 = 0, $18_1 = 0, $19_1 = 0, $21_1 = 0, $22_1 = 0, $24_1 = 0, $32_1 = 0, $33_1 = 0; + $3_1 = global$0 - 64 | 0; + global$0 = $3_1; + $6_1 = 0; + HEAP32[($3_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 56 | 0) >> 2] = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + HEAP32[($3_1 + 52 | 0) >> 2] = $6_1; + HEAP32[($3_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $12_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + $13_1 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + $15_1 = HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $16_1 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + $18_1 = HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $19_1 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + $21_1 = HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $22_1 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + $24_1 = HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $32_1 = (HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0 ? 49667 : 1352; + $33_1 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = $33_1; + HEAP32[($3_1 + 32 | 0) >> 2] = $32_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $24_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $22_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $21_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $19_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $18_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $16_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $15_1; + HEAP32[$3_1 >> 2] = $13_1; + $2141($3_1 + 52 | 0 | 0, $12_1 | 0, 49481 | 0, $3_1 | 0); + label$1 : { + label$2 : { + if (HEAP32[($3_1 + 52 | 0) >> 2] | 0) { + break label$2 + } + $56_1 = $2139(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $56_1 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + } + global$0 = $3_1 + 64 | 0; + return $56_1 | 0; + } + + function $2141($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $24_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $78(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 7; + break label$1; + } + $24_1 = 0; + $27_1 = $400(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $24_1 | 0, $24_1 | 0, $24_1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = $27_1; + $42(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2142($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, $20_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + $7_1 = $38(96 | 0) | 0; + HEAP32[$4_1 >> 2] = $7_1; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if ((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[$4_1 >> 2] | 0 | 0, 0 | 0, 96 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $20_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $20_1 | 0; + } + + function $2143($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $2144(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2144($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2189(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $2190(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + $2191(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0); + $2192(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $3289((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0, 92 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2145($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $8_1 = 0, i64toi32_i32$2 = 0, $21_1 = 0, $32_1 = 0, $43_1 = 0, $54_1 = 0, $76_1 = 0, $119_1 = 0, $218_1 = 0, $229_1 = 0, $20_1 = 0, $31_1 = 0, $42_1 = 0, $53_1 = 0, $257$hi = 0, $428_1 = 0, $437_1 = 0, $128_1 = 0, $181_1 = 0, $262_1 = 0, $262$hi = 0, $712_1 = 0, $198_1 = 0, $254_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 112 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 88 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + HEAP32[($7_1 + 64 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($7_1 + 108 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($7_1 + 76 | 0) >> 2] = (HEAP32[($7_1 + 100 | 0) >> 2] | 0) & 65535 | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = 0; + label$3 : { + if (!(HEAP32[($7_1 + 76 | 0) >> 2] | 0)) { + break label$3 + } + $20_1 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + $21_1 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = $21_1 + 1 | 0; + HEAP32[($7_1 + 64 | 0) >> 2] = HEAP32[($20_1 + ($21_1 << 2 | 0) | 0) >> 2] | 0; + } + label$4 : { + if (!((HEAP32[($7_1 + 100 | 0) >> 2] | 0) & 65536 | 0)) { + break label$4 + } + $31_1 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + $32_1 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = $32_1 + 1 | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($31_1 + ($32_1 << 2 | 0) | 0) >> 2] | 0; + } + label$5 : { + if (!((HEAP32[($7_1 + 100 | 0) >> 2] | 0) & 131072 | 0)) { + break label$5 + } + $42_1 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + $43_1 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = $43_1 + 1 | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[($42_1 + ($43_1 << 2 | 0) | 0) >> 2] | 0; + } + label$6 : { + if (!((HEAP32[($7_1 + 100 | 0) >> 2] | 0) & 262144 | 0)) { + break label$6 + } + $53_1 = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + $54_1 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = $54_1 + 1 | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($53_1 + ($54_1 << 2 | 0) | 0) >> 2] | 0; + } + i64toi32_i32$0 = 2147483647; + $257$hi = i64toi32_i32$0; + i64toi32_i32$0 = -2147483648; + $2144(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = $2146(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $428_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] = $428_1; + HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $257$hi; + i64toi32_i32$1 = $2146(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, -1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $437_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 80 | 0) >> 2] = $437_1; + HEAP32[(i64toi32_i32$1 + 84 | 0) >> 2] = i64toi32_i32$0; + label$7 : { + label$8 : { + if (!((HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $76_1 = 24; + HEAP8[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 52 | 0) >> 0] = (((HEAPU8[(HEAP32[($7_1 + 96 | 0) >> 2] | 0) >> 0] | 0) << $76_1 | 0) >> $76_1 | 0 | 0) == (68 | 0) & 1 | 0; + break label$7; + } + HEAP8[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 52 | 0) >> 0] = HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0; + } + HEAP16[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 1] = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + label$9 : { + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$9 + } + if (!(HEAP32[($7_1 + 76 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 76 | 0) >> 2] | 0) - 2 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + if (!(($248(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 108 | 0) >> 2] = 7; + break label$1; + } + $119_1 = 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] = $119_1; + label$11 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) != ($119_1 | 0) & 1 | 0)) { + break label$11 + } + $128_1 = $239(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] = $128_1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2147(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 236 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, -1 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2148(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + $2053(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0); + label$13 : { + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$0 = 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + } + label$14 : { + label$15 : { + if (HEAP32[($7_1 + 76 | 0) >> 2] | 0) { + break label$15 + } + label$16 : { + label$17 : { + label$18 : { + if ((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$18 + } + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + } + $181_1 = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $262_1 = i64toi32_i32$0; + $262$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 84 | 0) >> 2] | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0 ? 49472 : 49477; + $712_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $712_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $262$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $262_1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[$7_1 >> 2] = $181_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $79(49670 | 0, $7_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + break label$16; + } + $198_1 = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0 ? 49472 : 49477; + HEAP32[($7_1 + 32 | 0) >> 2] = $198_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $79(49732 | 0, $7_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + label$19 : { + label$20 : { + if (!((HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + $218_1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + HEAP32[($218_1 + 56 | 0) >> 2] = (HEAP32[($218_1 + 56 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $408(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, -1 | 0, 1 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + $229_1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + HEAP32[($229_1 + 56 | 0) >> 2] = (HEAP32[($229_1 + 56 | 0) >> 2] | 0) + -1 | 0; + $42(HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0); + break label$19; + } + HEAP32[($7_1 + 84 | 0) >> 2] = 7; + } + break label$14; + } + label$21 : { + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2149(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (HEAP32[($7_1 + 84 | 0) >> 2] | 0) { + break label$22 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $334(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + } + } + label$23 : { + if (!(HEAP32[($7_1 + 84 | 0) >> 2] | 0)) { + break label$23 + } + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2150(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + } + $254_1 = HEAP32[($7_1 + 108 | 0) >> 2] | 0; + global$0 = $7_1 + 112 | 0; + return $254_1 | 0; + } + + function $2146($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $71_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $342(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = $62(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $71_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $71_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + } + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $75_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $75_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2147($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1, $9_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + $9_1 = $9_1 | 0; + var $12_1 = 0, $52_1 = 0, $63_1 = 0, $68_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $12_1 = global$0 - 64 | 0; + global$0 = $12_1; + HEAP32[($12_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($12_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($12_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($12_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($12_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($12_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($12_1 + 36 | 0) >> 2] = $6_1; + HEAP32[($12_1 + 32 | 0) >> 2] = $7_1; + HEAP32[($12_1 + 28 | 0) >> 2] = $8_1; + HEAP32[($12_1 + 24 | 0) >> 2] = $9_1; + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $2198(HEAP32[($12_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($12_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($12_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[(HEAP32[($12_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $2199(HEAP32[($12_1 + 28 | 0) >> 2] | 0 | 0, 12 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($12_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $12_1, wasm2js_i32$1 = $2200(HEAP32[(HEAP32[($12_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, 12 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + } + label$3 : { + if (!(HEAP32[($12_1 + 20 | 0) >> 2] | 0)) { + break label$3 + } + $2192(HEAP32[(HEAP32[($12_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($12_1 + 28 | 0) >> 2] | 0) >> 2] = 0; + label$4 : { + label$5 : { + if (!((HEAP32[($12_1 + 20 | 0) >> 2] | 0 | 0) == (18 | 0) & 1 | 0)) { + break label$5 + } + $52_1 = HEAP32[($12_1 + 24 | 0) >> 2] | 0; + HEAP32[$12_1 >> 2] = 12; + $2048($52_1 | 0, 49760 | 0, $12_1 | 0); + HEAP32[($12_1 + 20 | 0) >> 2] = 1; + break label$4; + } + label$6 : { + if (!((HEAP32[($12_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$6 + } + $63_1 = HEAP32[($12_1 + 24 | 0) >> 2] | 0; + HEAP32[($12_1 + 16 | 0) >> 2] = HEAP32[($12_1 + 36 | 0) >> 2] | 0; + $2048($63_1 | 0, 49812 | 0, $12_1 + 16 | 0 | 0); + } + } + } + $68_1 = HEAP32[($12_1 + 20 | 0) >> 2] | 0; + global$0 = $12_1 + 64 | 0; + return $68_1 | 0; + } + + function $2148($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0, $81_1 = 0, $88_1 = 0, i64toi32_i32$0 = 0, $117_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + $13_1 = 0; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = $13_1; + HEAP32[($3_1 + 32 | 0) >> 2] = $13_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $13_1; + $2201(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 + 32 | 0 | 0, $3_1 + 28 | 0 | 0, $3_1 + 36 | 0 | 0); + label$1 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAPU8[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 236 | 0) >> 0] | 0) & 255 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41(Math_imul(HEAP32[($3_1 + 32 | 0) >> 2] | 0, 24) + (((HEAP32[($3_1 + 28 | 0) >> 2] | 0) << 2 | 0) << 1 | 0) | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 32 | 0) >> 2] | 0, 24) | 0; + label$2 : { + label$3 : { + if ((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($3_1 + 36 | 0) >> 2] = 7; + break label$2; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $2202(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0, $3_1 + 8 | 0 | 0, $3_1 + 36 | 0 | 0); + HEAP32[($3_1 + 32 | 0) >> 2] = ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) - (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0 | 0) / (24 | 0) | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - (HEAP32[($3_1 + 20 | 0) >> 2] | 0) | 0) >> 2 | 0; + label$4 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$4 + } + $81_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2203(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, $81_1 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 16 | 0) >> 2] = $81_1; + label$5 : while (1) { + $88_1 = 0; + label$6 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$6 + } + $88_1 = (HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + } + label$7 : { + if (!($88_1 & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2203(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + } + $42(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + } + } + $2204(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 + 36 | 0 | 0); + $117_1 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $117_1 | 0; + } + + function $2149($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $42_1 = 0, $53_1 = 0, $62_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == ($4_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 220 | 0) >> 2] = 0; + break label$3; + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $79(49904 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 7; + break label$1; + } + $42_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[($42_1 + 56 | 0) >> 2] = (HEAP32[($42_1 + 56 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $408(HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0, 1 | 0, (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $53_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[($53_1 + 56 | 0) >> 2] = (HEAP32[($53_1 + 56 | 0) >> 2] | 0) + -1 | 0; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + HEAP8[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 0] = 1; + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + } + $62_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $62_1 | 0; + } + + function $2150($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, $8_1 = 0, $18_1 = 0, $24_1 = 0, $41_1 = 0, $45_1 = 0, i64toi32_i32$1 = 0, $149_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $8_1 = 16; + label$1 : { + label$2 : { + label$3 : { + if ((((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) == (1 | 0) & 1 | 0) { + break label$3 + } + $18_1 = 16; + if (((HEAPU16[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) << $18_1 | 0) >> $18_1 | 0) { + break label$2 + } + } + HEAP32[$3_1 >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $24_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[($24_1 + 56 | 0) >> 2] = (HEAP32[($24_1 + 56 | 0) >> 2] | 0) + 1 | 0; + label$4 : { + label$5 : { + if (!((100 | 0) != ($287(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 6 | 0) >> 0] = 1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $222(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + $41_1 = 0; + i64toi32_i32$0 = $318(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $41_1 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $149_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $149_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 8 | 0) >> 2] = $41_1; + } + $45_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[($45_1 + 56 | 0) >> 2] = (HEAP32[($45_1 + 56 | 0) >> 2] | 0) + -1 | 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2151(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $51_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $51_1 | 0; + } + + function $2151($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $78$hi = 0, $79$hi = 0, $82$hi = 0, $83$hi = 0, $4_1 = 0, $40_1 = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $165_1 = 0, $78_1 = 0, $217_1 = 0, $82_1 = 0, $243_1 = 0, $74_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == ($4_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 6 | 0) >> 0] = 1; + break label$1; + } + label$3 : while (1) { + label$4 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + $222(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + $2240(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0); + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 6 | 0) >> 0] = HEAPU8[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] = 1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 88 | 0) >> 2] = 1; + i64toi32_i32$2 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $165_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $165_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + $40_1 = 0; + label$5 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + $40_1 = ($2241(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0) | 0 | 0) != (0 | 0); + } + if ($40_1 & 1 | 0) { + continue label$3 + } + break label$3; + }; + } + label$6 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + label$7 : { + label$8 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $78_1 = i64toi32_i32$1; + $78$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 84 | 0) >> 2] | 0; + $79$hi = i64toi32_i32$1; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$1 = $79$hi; + $217_1 = i64toi32_i32$0; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$2 = $78_1; + i64toi32_i32$0 = $79$hi; + i64toi32_i32$3 = $217_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $18_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $18_1 = $20_1; + } + if ($18_1 & 1 | 0) { + break label$7 + } + } + if (!((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0)) { + break label$6 + } + i64toi32_i32$3 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $82_1 = i64toi32_i32$2; + $82$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $83$hi = i64toi32_i32$2; + i64toi32_i32$2 = $82$hi; + i64toi32_i32$2 = $83$hi; + i64toi32_i32$2 = $82$hi; + i64toi32_i32$2 = $83$hi; + $243_1 = i64toi32_i32$1; + i64toi32_i32$2 = $82$hi; + i64toi32_i32$3 = $82_1; + i64toi32_i32$1 = $83$hi; + i64toi32_i32$0 = $243_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $21_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $22_1 = 0 + } else { + $22_1 = 1 + } + $23_1 = $22_1; + } else { + $23_1 = 0 + } + $21_1 = $23_1; + } + if (!($21_1 & 1 | 0)) { + break label$6 + } + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 6 | 0) >> 0] = 1; + } + $74_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $74_1 | 0; + } + + function $2152($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $21_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $2144(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 6 | 0) >> 0] = 1; + } + $21_1 = (HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0; + global$0 = $3_1 + 16 | 0; + return $21_1 | 0; + } + + function $2153($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13_1 = 0, i64toi32_i32$2 = 0, $67_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $13_1 = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + switch ($13_1 | 0) { + case 0: + $273(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 49930 | 0, 0 | 0); + break label$1; + case 1: + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + break label$1; + case 2: + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $270(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + break label$1; + } + label$7 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + $267(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0); + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + break; + default: + break label$2; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2154(0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$8 + } + if (!((($310(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0) - 1 | 0 | 0) > (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $280(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $320(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0 | 0) | 0 | 0); + } + } + $67_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $67_1 | 0; + } + + function $2154($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $24_1 = 0, i64toi32_i32$2 = 0, $41_1 = 0, $45_1 = 0, i64toi32_i32$1 = 0, $76_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2149(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + $24_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($24_1 + 56 | 0) >> 2] = (HEAP32[($24_1 + 56 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 7 | 0) >> 0] = 0; + label$4 : { + if (!((100 | 0) == ($287(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + $41_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($41_1 + 56 | 0) >> 2] = (HEAP32[($41_1 + 56 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $45_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($45_1 + 56 | 0) >> 2] = (HEAP32[($45_1 + 56 | 0) >> 2] | 0) + -1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$5 + } + if (!((HEAP32[((HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 267; + HEAP8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 6 | 0) >> 0] = 1; + } + } + } + label$6 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$6 + } + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $284(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $76_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $76_1 | 0; + } + + function $2155($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $29_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $29_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return 0 | 0; + } + + function $2156($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $11_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $11_1 = $2157(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0) | 0; + global$0 = $6_1 + 16 | 0; + return $11_1 | 0; + } + + function $2157($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $307$hi = 0, $308$hi = 0, $300$hi = 0, $301$hi = 0, i64toi32_i32$4 = 0, $302$hi = 0, $303$hi = 0, $24_1 = 0, $304$hi = 0, $305$hi = 0, $25_1 = 0, $78_1 = 0, $307_1 = 0, $653_1 = 0, $297_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $8_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$2 + } + if (!(($248(HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + if (!(($248(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2257(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$3 + } + if (!(($239(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + ((((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0) + 2 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 24 | 0) >> 2] = 19; + break label$1; + } + $78_1 = 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $300$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $301$hi = i64toi32_i32$0; + i64toi32_i32$0 = $300$hi; + i64toi32_i32$0 = $301$hi; + i64toi32_i32$0 = $300$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $301$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $302$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $303$hi = i64toi32_i32$5; + i64toi32_i32$5 = $302$hi; + i64toi32_i32$5 = $303$hi; + i64toi32_i32$5 = $302$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $303$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + $24_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $24_1 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + } + $304$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $305$hi = i64toi32_i32$2; + i64toi32_i32$2 = $304$hi; + i64toi32_i32$2 = $305$hi; + i64toi32_i32$2 = $304$hi; + i64toi32_i32$5 = $24_1; + i64toi32_i32$0 = $305$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + $25_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$1 | 0) | 0; + $25_1 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $41($25_1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == ($78_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 24 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0; + $3289(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, (((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) << 1 | 0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2258(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$5 + } + break label$1; + } + label$6 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 3 | 0) << 2 | 0) | 0) >> 2] | 0; + label$7 : { + if (!(($248(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + label$8 : { + if (!(($248(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (($248(HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0) { + break label$9 + } + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $307_1 = i64toi32_i32$0; + $307$hi = i64toi32_i32$5; + i64toi32_i32$5 = $62(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $308$hi = i64toi32_i32$0; + i64toi32_i32$0 = $307$hi; + i64toi32_i32$0 = $308$hi; + i64toi32_i32$0 = $307$hi; + i64toi32_i32$0 = $308$hi; + $653_1 = i64toi32_i32$5; + i64toi32_i32$0 = $307$hi; + i64toi32_i32$2 = $307_1; + i64toi32_i32$5 = $308$hi; + i64toi32_i32$3 = $653_1; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$8 + } + } + label$10 : { + label$11 : { + if (!(($425(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2259(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + break label$10; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2260(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 8 | 0) >> 2] = 1; + } + } + } + label$12 : { + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$12 + } + break label$1; + } + label$13 : { + if (!(($248(HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2259(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$14 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$14 + } + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$14 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + ((((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0) + 2 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$15 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$15 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2260(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (19 | 0) & 1 | 0)) { + break label$16 + } + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($6_1 + 24 | 0) >> 2] = 267; + } + } + label$17 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$17 + } + i64toi32_i32$3 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2261(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$18 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$18 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2262(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$19 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 238 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$19 + } + $2263($6_1 + 24 | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + label$20 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 236 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$20 + } + $2264($6_1 + 24 | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + } + $42(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + $2053(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0); + $297_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $297_1 | 0; + } + + function $2158($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + $8_1 = $2159(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $2159($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $26_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 237 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $79(50003 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $26_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $500(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $26_1 | 0, $26_1 | 0, $26_1 | 0, $26_1 | 0, $26_1 | 0, $26_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 237 | 0) >> 0] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) == ($26_1 | 0) & 1 | 0; + break label$2; + } + HEAP32[($3_1 + 24 | 0) >> 2] = 7; + } + } + $42_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $42_1 | 0; + } + + function $2160($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $84_1 = 0, $59_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 64; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = $451(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $84_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $84_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2161(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0 > 4 >>> 0 & 1 | 0)) { + break label$1 + } + if (!(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (255 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2162(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $3_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$3_1 >> 2] = Math_imul(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0); + HEAP32[$3_1 >> 2] = (HEAP32[$3_1 >> 2] | 0) + ((HEAP32[$3_1 >> 2] | 0 | 0) / (2 | 0) | 0) | 0; + label$2 : { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) > (64 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2163(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + $2053(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $452(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + $59_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $59_1 | 0; + } + + function $2161($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $7_1 = 0, $58_1 = 0, $77_1 = 0, $99_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $4_1; + label$1 : while (1) { + $7_1 = 0; + label$2 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + $7_1 = (HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($7_1 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2277(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 280 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $2166(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + label$5 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + if (!((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 237 | 0) >> 0] | 0) & 255 | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (255 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$5 + } + $58_1 = 0; + HEAP32[$3_1 >> 2] = $58_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2075(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 22 | 0, $3_1 | 0, $58_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + $330(HEAP32[$3_1 >> 2] | 0 | 0, 1 | 0, 2 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $287(HEAP32[$3_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$8 + } + $77_1 = $317(HEAP32[$3_1 >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = $77_1; + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = 8; + } + break label$7; + } + label$10 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + } + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $222(HEAP32[$3_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + } + $99_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $99_1 | 0; + } + + function $2162($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $9_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $9_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $9_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 36 | 0, $4_1 + 12 | 0 | 0, $9_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + if (!((100 | 0) == ($287(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $317(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + $28_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $28_1 | 0; + } + + function $2163($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $50_1 = 0, $6_1 = 0, $349$hi = 0, $352$hi = 0, $356$hi = 0, $360$hi = 0, $363$hi = 0, $7_1 = 0, $36_1 = 0, $66_1 = 0, $88_1 = 0, $347$hi = 0, $348$hi = 0, $350$hi = 0, $351$hi = 0, $59_1 = 0, $60_1 = 0, $61_1 = 0, $117_1 = 0, $134_1 = 0, $137_1 = 0, $140_1 = 0, $358$hi = 0, $62_1 = 0, $63_1 = 0, $64_1 = 0, $361$hi = 0, $362$hi = 0, $65_1 = 0, $67_1 = 0, $68_1 = 0, $69_1 = 0, $367$hi = 0, $368$hi = 0, $183_1 = 0, $211_1 = 0, $375$hi = 0, $376$hi = 0, $378$hi = 0, $379$hi = 0, $380$hi = 0, $381$hi = 0, $491_1 = 0, $58_1 = 0, $550_1 = 0, $347_1 = 0, $615_1 = 0, $349_1 = 0, $350_1 = 0, $622_1 = 0, $627_1 = 0, $637_1 = 0, $360_1 = 0, $178_1 = 0, $180_1 = 0, $70_1 = 0, $1144_1 = 0, $326_1 = 0, $1180_1 = 0, $339_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 128 | 0; + global$0 = $5_1; + $6_1 = 0; + $7_1 = 640; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 104 | 0) >> 2] = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + HEAP32[($5_1 + 88 | 0) >> 2] = $6_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 80 | 0) >> 2] = 0; + HEAP32[($5_1 + 84 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1 + 64 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38($7_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($5_1 + 124 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($5_1 + 96 | 0) >> 2] = (HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 568 | 0; + HEAP32[($5_1 + 100 | 0) >> 2] = (HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 16 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2300(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $5_1 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$3 : while (1) { + $36_1 = 0; + label$4 : { + if (HEAP32[($5_1 + 108 | 0) >> 2] | 0) { + break label$4 + } + $36_1 = (HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) > (0 | 0); + } + label$5 : { + if (!($36_1 & 1 | 0)) { + break label$5 + } + $50_1 = 0; + i64toi32_i32$1 = (HEAP32[((HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0) << 10 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $491_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $491_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 44 | 0) >> 2] = $50_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $50_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $50_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, 28 | 0, $5_1 + 44 | 0 | 0, $50_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + $58_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + label$6 : { + label$7 : { + if (!((2 | 0) > (HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $66_1 = 2; + break label$6; + } + $66_1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + } + $330($58_1 | 0, 1 | 0, $66_1 | 0) | 0; + label$8 : { + label$9 : { + if (!(($287(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$0 = $318(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $550_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $550_1; + HEAP32[($5_1 + 84 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $317(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + break label$8; + } + HEAP32[($5_1 + 88 | 0) >> 2] = -1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($5_1 + 108 | 0) >> 2] | 0) { + break label$10 + } + if (!(HEAP32[($5_1 + 68 | 0) >> 2] | 0)) { + break label$10 + } + $88_1 = 0; + i64toi32_i32$1 = 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = $88_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2301($5_1 + 64 | 0 | 0, $5_1 + 24 | 0 | 0, $5_1 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + label$12 : { + label$13 : { + if ((HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) < ($88_1 | 0) & 1 | 0) { + break label$13 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $347_1 = i64toi32_i32$1; + $347$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $348$hi = i64toi32_i32$1; + i64toi32_i32$1 = $347$hi; + i64toi32_i32$1 = $348$hi; + $615_1 = i64toi32_i32$0; + i64toi32_i32$1 = $347$hi; + i64toi32_i32$0 = $348$hi; + i64toi32_i32$0 = __wasm_i64_srem($347_1 | 0, i64toi32_i32$1 | 0, $615_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $349_1 = i64toi32_i32$0; + $349$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $350_1 = i64toi32_i32$1; + $350$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $351$hi = i64toi32_i32$1; + i64toi32_i32$1 = $350$hi; + i64toi32_i32$1 = $351$hi; + $622_1 = i64toi32_i32$0; + i64toi32_i32$1 = $350$hi; + i64toi32_i32$0 = $351$hi; + i64toi32_i32$0 = __wasm_i64_srem($350_1 | 0, i64toi32_i32$1 | 0, $622_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $352$hi = i64toi32_i32$1; + i64toi32_i32$1 = $349$hi; + i64toi32_i32$1 = $352$hi; + i64toi32_i32$1 = $349$hi; + i64toi32_i32$1 = $352$hi; + $627_1 = i64toi32_i32$0; + i64toi32_i32$1 = $349$hi; + i64toi32_i32$2 = $349_1; + i64toi32_i32$0 = $352$hi; + i64toi32_i32$3 = $627_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $59_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $60_1 = 0 + } else { + $60_1 = 1 + } + $61_1 = $60_1; + } else { + $61_1 = 0 + } + $59_1 = $61_1; + } + if (!($59_1 & 1 | 0)) { + break label$12 + } + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $637_1 = i64toi32_i32$2; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $637_1; + HEAP32[($5_1 + 84 | 0) >> 2] = i64toi32_i32$1; + label$14 : { + label$15 : { + if (!((HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + $117_1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + break label$14; + } + $117_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + } + label$16 : { + label$17 : { + if (!(($117_1 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + label$18 : { + label$19 : { + if (!((HEAP32[($5_1 + 112 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $134_1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + break label$18; + } + $134_1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + } + $137_1 = $134_1; + break label$16; + } + $137_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + $140_1 = 1; + HEAP32[($5_1 + 88 | 0) >> 2] = $137_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $140_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $140_1; + break label$11; + } + HEAP32[($5_1 + 68 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + } + } + label$20 : { + if (!((HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$20 + } + break label$5; + } + i64toi32_i32$1 = 0; + $356$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $358$hi = i64toi32_i32$2; + i64toi32_i32$2 = $356$hi; + i64toi32_i32$2 = $358$hi; + i64toi32_i32$2 = $356$hi; + i64toi32_i32$2 = $358$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $356$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $62_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $63_1 = 0 + } else { + $63_1 = 1 + } + $64_1 = $63_1; + } else { + $64_1 = 0 + } + $62_1 = $64_1; + } + label$21 : { + label$22 : { + if ($62_1 & 1 | 0) { + break label$22 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $360_1 = i64toi32_i32$3; + $360$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $361$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $362$hi = i64toi32_i32$3; + i64toi32_i32$3 = $361$hi; + i64toi32_i32$3 = $362$hi; + i64toi32_i32$3 = $361$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $362$hi; + i64toi32_i32$1 = 32; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $65_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $65_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $363$hi = i64toi32_i32$2; + i64toi32_i32$2 = $360$hi; + i64toi32_i32$2 = $363$hi; + i64toi32_i32$2 = $360$hi; + i64toi32_i32$2 = $363$hi; + i64toi32_i32$2 = $360$hi; + i64toi32_i32$3 = $360_1; + i64toi32_i32$0 = $363$hi; + i64toi32_i32$1 = $65_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $67_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $68_1 = 0 + } else { + $68_1 = 1 + } + $69_1 = $68_1; + } else { + $69_1 = 0 + } + $67_1 = $69_1; + } + if (!($67_1 & 1 | 0)) { + break label$21 + } + } + HEAP32[($5_1 + 108 | 0) >> 2] = 267; + break label$5; + } + $3289(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 0 | 0, 640 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + label$23 : { + if (HEAP32[($5_1 + 108 | 0) >> 2] | 0) { + break label$23 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2302(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0, $5_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + label$25 : { + if (!(HEAP32[($5_1 + 36 | 0) >> 2] | 0)) { + break label$25 + } + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$24 + } + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$24 + } + } + $178_1 = $5_1 + 16 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + $180_1 = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $367$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $368$hi = i64toi32_i32$3; + i64toi32_i32$3 = $367$hi; + i64toi32_i32$3 = $368$hi; + i64toi32_i32$3 = $367$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $368$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2303($180_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, $178_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$26 + } + $183_1 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + HEAP32[($183_1 + 12 | 0) >> 2] = HEAP32[($183_1 + 12 | 0) >> 2] | 0 | 2 | 0; + } + } + } + label$27 : { + if (HEAP32[($5_1 + 108 | 0) >> 2] | 0) { + break label$27 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2304(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + } + label$28 : { + if (!((0 | 0) == (HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + if (!((HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + $211_1 = $2057(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 96 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 108 | 0) >> 2] = $211_1; + if (!((0 | 0) == ($211_1 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2059(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + label$30 : { + if (HEAP32[($5_1 + 108 | 0) >> 2] | 0) { + break label$30 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + break label$29; + } + label$31 : { + if (!((HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) != (100 | 0) & 1 | 0)) { + break label$31 + } + $2054(HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0); + break label$5; + } + } + label$32 : { + label$33 : { + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$33 + } + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 100 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2305(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$5 | 0, (HEAP32[($5_1 + 36 | 0) >> 2] | 0) - 1 | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$32; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2306(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + } + label$34 : { + if (HEAP32[($5_1 + 108 | 0) >> 2] | 0) { + break label$34 + } + if (!(HEAP32[(HEAP32[($5_1 + 92 | 0) >> 2] | 0) >> 2] | 0)) { + break label$34 + } + label$35 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$35 + } + label$36 : while (1) { + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2307(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$37 : { + if (HEAP32[($5_1 + 108 | 0) >> 2] | 0) { + break label$37 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2059(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + } + label$38 : { + if (!((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$38 + } + if (!((HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$38 + } + HEAP32[($5_1 + 108 | 0) >> 2] = 0; + } + if ((HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0) { + continue label$36 + } + break label$36; + }; + } + label$39 : { + if (HEAP32[($5_1 + 108 | 0) >> 2] | 0) { + break label$39 + } + HEAP32[($5_1 + 104 | 0) >> 2] = (HEAP32[($5_1 + 104 | 0) >> 2] | 0) - ((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0) | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2308(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$5 | 0, HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0, $5_1 + 88 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$40 : { + if (!(HEAP32[($5_1 + 88 | 0) >> 2] | 0)) { + break label$40 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $2309($5_1 + 64 | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0, HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, $5_1 + 108 | 0 | 0); + } + } + } + label$41 : { + if (!(HEAP32[($5_1 + 88 | 0) >> 2] | 0)) { + break label$41 + } + i64toi32_i32$3 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $375$hi = i64toi32_i32$5; + i64toi32_i32$5 = -1; + $376$hi = i64toi32_i32$5; + i64toi32_i32$5 = $375$hi; + i64toi32_i32$5 = $376$hi; + i64toi32_i32$5 = $375$hi; + $70_1 = i64toi32_i32$1; + i64toi32_i32$1 = $376$hi; + i64toi32_i32$1 = __wasm_i64_mul($70_1 | 0, i64toi32_i32$5 | 0, -1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $1144_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $1144_1; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$5; + } + $2310(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, $5_1 + 108 | 0 | 0); + label$42 : { + if (HEAP32[($5_1 + 88 | 0) >> 2] | 0) { + break label$42 + } + if ((HEAPU8[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 48 | 0) >> 0] | 0) & 255 | 0) { + break label$42 + } + $326_1 = HEAP32[($5_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $378$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $379$hi = i64toi32_i32$1; + i64toi32_i32$1 = $378$hi; + i64toi32_i32$1 = $379$hi; + i64toi32_i32$1 = $378$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $379$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $380$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] | 0; + $381$hi = i64toi32_i32$3; + i64toi32_i32$3 = $380$hi; + i64toi32_i32$3 = $381$hi; + $1180_1 = i64toi32_i32$4; + i64toi32_i32$3 = $380$hi; + i64toi32_i32$4 = $381$hi; + $2286($326_1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0, $1180_1 | 0, i64toi32_i32$4 | 0) | 0; + } + } + $2054(HEAP32[($5_1 + 100 | 0) >> 2] | 0 | 0); + continue label$3; + } + break label$3; + }; + label$43 : { + if (!(HEAP32[($5_1 + 60 | 0) >> 2] | 0)) { + break label$43 + } + if (HEAP32[($5_1 + 108 | 0) >> 2] | 0) { + break label$43 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2311(HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0, $5_1 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0); + $42(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 124 | 0) >> 2] = HEAP32[($5_1 + 108 | 0) >> 2] | 0; + } + $339_1 = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + global$0 = $5_1 + 128 | 0; + return $339_1 | 0; + } + + function $2164($0_1) { + $0_1 = $0_1 | 0; + HEAP32[((global$0 - 16 | 0) + 12 | 0) >> 2] = $0_1; + return 0 | 0; + } + + function $2165($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $2166(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2166($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 16 | 0) >> 2] = ((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 24 | 0) >> 2] | 0, 24) | 0) + 4 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $2193(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + continue label$4; + }; + } + $2016(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 268 | 0) >> 2] = 0; + global$0 = $3_1 + 32 | 0; + return; + } + + function $2167($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $11_1 = 0, $82_1 = 0, $89_1 = 0, $96_1 = 0, $100_1 = 0, $50_1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + $11_1 = $7_1 + 16 | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 50040 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 50044 | 0) >> 2] | 0; + $82_1 = i64toi32_i32$0; + i64toi32_i32$0 = $11_1 + 24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $82_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 50032 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 50036 | 0) >> 2] | 0; + $89_1 = i64toi32_i32$1; + i64toi32_i32$1 = $11_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $89_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 50024 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 50028 | 0) >> 2] | 0; + $96_1 = i64toi32_i32$0; + i64toi32_i32$0 = $11_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $96_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 50016 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 50020 | 0) >> 2] | 0; + $100_1 = i64toi32_i32$1; + i64toi32_i32$1 = $11_1; + HEAP32[i64toi32_i32$1 >> 2] = $100_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if ($3229(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[(($7_1 + 16 | 0) + ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[((($7_1 + 16 | 0) + ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + } + $50_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $50_1 | 0; + } + + function $2168($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $21_1 = 0, $23_1 = 0, $25_1 = 0, $42_1 = 0, $44_1 = 0, $46_1 = 0, $63_1 = 0, $65_1 = 0, $67_1 = 0, $74_1 = 0, $76_1 = 0, $78_1 = 0, $83_1 = 0, $85_1 = 0, $87_1 = 0, $94_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 96 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + HEAP32[($4_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2159(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 76 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2161(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $21_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + $23_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $25_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $25_1; + HEAP32[($4_1 + 64 | 0) >> 2] = $23_1; + $2141($4_1 + 76 | 0 | 0, $21_1 | 0, 50280 | 0, $4_1 + 64 | 0 | 0); + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 238 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $42_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + $44_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $46_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 52 | 0) >> 2] = $46_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $44_1; + $2141($4_1 + 76 | 0 | 0, $42_1 | 0, 50333 | 0, $4_1 + 48 | 0 | 0); + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 237 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + $63_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + $65_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $67_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = $67_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $65_1; + $2141($4_1 + 76 | 0 | 0, $63_1 | 0, 50386 | 0, $4_1 + 32 | 0 | 0); + } + $74_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + $76_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $78_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $78_1; + HEAP32[$4_1 >> 2] = $76_1; + $2141($4_1 + 76 | 0 | 0, $74_1 | 0, 50433 | 0, $4_1 | 0); + $83_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + $85_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $87_1 = HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $87_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $85_1; + $2141($4_1 + 76 | 0 | 0, $83_1 | 0, 50487 | 0, $4_1 + 16 | 0 | 0); + $94_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + global$0 = $4_1 + 96 | 0; + return $94_1 | 0; + } + + function $2169($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 240 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2160(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $12_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $12_1 | 0; + } + + function $2170($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return 0 | 0; + } + + function $2171($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $2166(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $2172($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $25_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) >>> 0 < 5 >>> 0 & 1 | 0)) { + break label$2 + } + label$4 : { + if ($87(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(73200 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $25_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $25_1 | 0; + } + + function $2173($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, $11_1 = 0, $14_1 = 0, $18_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP8[($3_1 + 15 | 0) >> 0] = $0_1; + $6_1 = 24; + $11_1 = 1; + label$1 : { + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $6_1 | 0) >> $6_1 | 0) & 128 | 0) { + break label$1 + } + $14_1 = 24; + $18_1 = 24; + $11_1 = (((HEAPU8[((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $14_1 | 0) >> $14_1 | 0) + 48672 | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) != (0 | 0); + } + return $11_1 & 1 | 0 | 0; + } + + function $2174($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $62_1 = 0, $76_1 = 0, $82_1 = 0, i64toi32_i32$1 = 0, $111_1 = 0, $58_1 = 0, $109_1 = 0, $110_1 = 0, $142_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(1976 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 7; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + ($3303(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2178(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, $6_1 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + } + HEAP8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + (HEAP32[($6_1 + 64 | 0) >> 2] | 0) | 0) >> 0] = 0; + $2047(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2132(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, ($3303(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if ((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + $58_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + $2048($58_1 | 0, 48343 | 0, $6_1 | 0); + HEAP32[($6_1 + 72 | 0) >> 2] = 1; + break label$4; + } + $62_1 = 0; + HEAP32[($6_1 + 48 | 0) >> 2] = $62_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $62_1; + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 1 | 0) | 0; + label$6 : while (1) { + $76_1 = 0; + label$7 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 56 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + $82_1 = $2178(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0, $6_1 + 64 | 0 | 0) | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = $82_1; + $76_1 = (0 | 0) != ($82_1 | 0); + } + label$8 : { + if (!($76_1 & 1 | 0)) { + break label$8 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0) << 2 | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $49(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if ((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + $42(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0); + $42(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 92 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $109_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + $110_1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + $111_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $111_1 + 1 | 0; + HEAP32[($110_1 + ($111_1 << 2 | 0) | 0) >> 2] = $109_1; + HEAP8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + (HEAP32[($6_1 + 64 | 0) >> 2] | 0) | 0) >> 0] = 0; + $2047(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 1 | 0) | 0; + continue label$6; + } + break label$6; + }; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 44 | 0) >> 2] | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0, HEAP32[($6_1 + 80 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : { + if (!(HEAP32[($6_1 + 72 | 0) >> 2] | 0)) { + break label$11 + } + $2048(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, 48800 | 0, 0 | 0); + break label$10; + } + HEAP32[(HEAP32[(HEAP32[($6_1 + 80 | 0) >> 2] | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + } + $42(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + } + $42(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 92 | 0) >> 2] = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + } + $142_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + global$0 = $6_1 + 96 | 0; + return $142_1 | 0; + } + + function $2175($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $20_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + $10_1 = 24; + if (!((((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) != (61 | 0) & 1 | 0)) { + break label$2 + } + $20_1 = 24; + label$4 : { + if (((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $20_1 | 0) >> $20_1 | 0) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0; + HEAP32[$5_1 >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(1976 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $2047(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + } + $47_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $47_1 | 0; + } + + function $2176($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $120$hi = 0, $123$hi = 0, $124$hi = 0, $11_1 = 0, $34_1 = 0, $120_1 = 0, $261$hi = 0, $61_1 = 0, $284_1 = 0, $116_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 112 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 92 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 84 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 72 | 0) >> 2] = $10_1; + $11_1 = HEAP32[($9_1 + 104 | 0) >> 2] | 0; + HEAP32[($9_1 + 20 | 0) >> 2] = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = $11_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $79(48818 | 0, $9_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($9_1 + 80 | 0) >> 2] = 7; + break label$1; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $405(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, -1 | 0, $9_1 + 72 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($9_1 + 80 | 0) >> 2] | 0)) { + break label$3 + } + $34_1 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $380(HEAP32[($9_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $2048($34_1 | 0, 1976 | 0, $9_1 | 0); + } + } + $42(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0); + label$4 : { + if (HEAP32[($9_1 + 80 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 56 | 0) >> 2] = 0; + HEAP32[($9_1 + 60 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $309(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 48 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $322(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + $120_1 = ($3303(HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + $120$hi = i64toi32_i32$0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $261$hi = i64toi32_i32$1; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$1 = $261$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$3 = $120_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $9_1; + HEAP32[($9_1 + 56 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($9_1 + 60 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($9_1 + 48 | 0) >> 2] = (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $61_1 = 0; + i64toi32_i32$5 = 0; + $123$hi = i64toi32_i32$5; + i64toi32_i32$1 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $124$hi = i64toi32_i32$2; + i64toi32_i32$2 = $123$hi; + i64toi32_i32$2 = $124$hi; + $284_1 = i64toi32_i32$5; + i64toi32_i32$2 = $123$hi; + i64toi32_i32$1 = (HEAP32[($9_1 + 52 | 0) >> 2] | 0) << 2 | 0; + i64toi32_i32$5 = $124$hi; + i64toi32_i32$3 = $284_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!((HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0) == ($61_1 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($9_1 + 80 | 0) >> 2] = 7; + break label$7; + } + HEAP32[($9_1 + 40 | 0) >> 2] = (HEAP32[($9_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 52 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($9_1 + 48 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $322(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = ($3303(HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $3288(HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + HEAP32[($9_1 + 40 | 0) >> 2] = (HEAP32[($9_1 + 40 | 0) >> 2] | 0) + (HEAP32[($9_1 + 32 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 48 | 0) >> 2] = (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + } + $213(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($9_1 + 92 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$4 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + HEAP32[(HEAP32[($9_1 + 88 | 0) >> 2] | 0) >> 2] = i64toi32_i32$4; + HEAP32[(HEAP32[($9_1 + 96 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + } + $116_1 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + global$0 = $9_1 + 112 | 0; + return $116_1 | 0; + } + + function $2177($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0, $36_1 = 0, i64toi32_i32$0 = 0, $117_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 1; + label$1 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = 24; + if (!(((HEAPU8[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $16_1 | 0) >> $16_1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!(((HEAPU8[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $36_1 = 24; + label$4 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $36_1 | 0) >> $36_1 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 24) | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if ((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 7; + break label$5; + } + $3289(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 24) | 0) | 0; + label$7 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$10 : { + if (!($2184($5_1 + 16 | 0 | 0, $5_1 + 8 | 0 | 0) | 0)) { + break label$10 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + break label$5; + } + label$11 : { + label$12 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$12 + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + -1 | 0; + break label$11; + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 24) | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + } + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $117_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $117_1 | 0; + } + + function $2178($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $28_1 = 0, $32_1 = 0, $35_1 = 0, $39_1 = 0, $43_1 = 0, $51_1 = 0, $52_1 = 0, $56_1 = 0, $60_1 = 0, $76_1 = 0, $79_1 = 0, $83_1 = 0, $110_1 = 0, $119_1 = 0, $134_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($4_1 + 11 | 0) >> 0] = HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0; + $16_1 = HEAP8[($4_1 + 11 | 0) >> 0] | 0; + label$4 : { + label$5 : { + label$6 : { + label$7 : { + label$8 : { + if (!$16_1) { + break label$8 + } + if (($16_1 | 0) == (34 | 0)) { + break label$7 + } + if (($16_1 | 0) == (39 | 0)) { + break label$7 + } + if (($16_1 | 0) == (91 | 0)) { + break label$6 + } + if (($16_1 | 0) == (96 | 0)) { + break label$7 + } + break label$5; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + label$9 : while (1) { + $28_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $28_1 + 1 | 0; + $32_1 = 24; + $35_1 = 0; + label$10 : { + if (!(((HEAPU8[($28_1 + 1 | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0)) { + break label$10 + } + $39_1 = 24; + $43_1 = 24; + $51_1 = 1; + label$11 : { + if ((((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0 | 0) != (((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) << $43_1 | 0) >> $43_1 | 0 | 0) & 1 | 0) { + break label$11 + } + $52_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $52_1 + 1 | 0; + $56_1 = 24; + $60_1 = 24; + $51_1 = (((HEAPU8[($52_1 + 1 | 0) >> 0] | 0) << $56_1 | 0) >> $56_1 | 0 | 0) == (((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) << $60_1 | 0) >> $60_1 | 0 | 0); + } + $35_1 = $51_1; + } + label$12 : { + if (!($35_1 & 1 | 0)) { + break label$12 + } + continue label$9; + } + break label$9; + }; + break label$4; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + label$13 : while (1) { + $76_1 = 24; + $79_1 = 0; + label$14 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $76_1 | 0) >> $76_1 | 0)) { + break label$14 + } + $83_1 = 24; + $79_1 = (((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $83_1 | 0) >> $83_1 | 0 | 0) != (93 | 0); + } + label$15 : { + if (!($79_1 & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + } + break label$13; + }; + label$16 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + break label$4; + } + $110_1 = 24; + label$17 : { + label$18 : { + if (!($2173(((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $110_1 | 0) >> $110_1 | 0 | 0) | 0)) { + break label$18 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + label$19 : { + label$20 : while (1) { + $119_1 = 24; + if (!($2173(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $119_1 | 0) >> $119_1 | 0 | 0) | 0)) { + break label$19 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + break label$17; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + } + continue label$3; + }; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $134_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $134_1 | 0; + } + + function $2179($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $23_1 = 0, $129_1 = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $62_1 = 0, $84_1 = 0, $108_1 = 0, $117_1 = 0, $119_1 = 0, $149_1 = 0; + $5_1 = global$0 - 96 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if ((HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + HEAP32[($5_1 + 72 | 0) >> 2] = 1352; + break label$3; + } + $23_1 = $2185(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $23_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $23_1; + } + $2186(HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0, $5_1 + 80 | 0 | 0, 48838 | 0, 0 | 0); + HEAP32[($5_1 + 68 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $38_1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $39_1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + $40_1 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $40_1; + HEAP32[$5_1 >> 2] = $39_1; + $2186($38_1 | 0, $5_1 + 80 | 0 | 0, 48844 | 0, $5_1 | 0); + HEAP32[($5_1 + 68 | 0) >> 2] = (HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$7 : { + if (!((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $62_1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = 48866; + $2186($62_1 | 0, $5_1 + 80 | 0 | 0, 48859 | 0, $5_1 + 32 | 0 | 0); + } + $42(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + break label$1; + } + $2186(HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0, $5_1 + 80 | 0 | 0, 14175 | 0, 0 | 0); + HEAP32[($5_1 + 68 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $84_1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $2186($84_1 | 0, $5_1 + 80 | 0 | 0, 48873 | 0, $5_1 + 48 | 0 | 0); + HEAP32[($5_1 + 68 | 0) >> 2] = (HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $108_1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $2186($108_1 | 0, $5_1 + 80 | 0 | 0, 48859 | 0, $5_1 + 64 | 0 | 0); + } + } + $117_1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $119_1 = HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$11 : { + label$12 : { + if (!((HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $129_1 = HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$11; + } + $129_1 = HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 1352 : 48905; + HEAP32[($5_1 + 20 | 0) >> 2] = $129_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $119_1; + $2186($117_1 | 0, $5_1 + 80 | 0 | 0, 48882 | 0, $5_1 + 16 | 0 | 0); + $149_1 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + global$0 = $5_1 + 96 | 0; + return $149_1 | 0; + } + + function $2180($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $15_1 = 0, $30_1 = 0, $52_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 1352; + break label$1; + } + $15_1 = $2185(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $15_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $15_1; + } + $2186(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0, 5232 | 0, 0 | 0); + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $30_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $2186($30_1 | 0, $5_1 + 16 | 0 | 0, 48914 | 0, $5_1 | 0); + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $2186(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0, 48921 | 0, 0 | 0); + } + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $52_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $52_1 | 0; + } + + function $2181($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $28_1 = 0, $45_1 = 0, $46_1 = 0, $67_1 = 0, $81_1 = 0, $83_1 = 0, $85_1 = 0, $93_1 = 0, $95_1 = 0, $103_1 = 0, $105_1 = 0, $123_1 = 0, $125_1 = 0, $147_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 128 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 120 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == ($4_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $79(48925 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 116 | 0) >> 2] = 0; + label$2 : while (1) { + $28_1 = 0; + label$3 : { + if (!((HEAP32[($3_1 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $28_1 = (HEAP32[($3_1 + 116 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($28_1 & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $45_1 = HEAP32[($3_1 + 104 | 0) >> 2] | 0; + $46_1 = HEAP32[($3_1 + 116 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 100 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $46_1; + HEAP32[$3_1 >> 2] = $45_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $79(48951 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 116 | 0) >> 2] = (HEAP32[($3_1 + 116 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + label$5 : { + if (!((HEAP32[($3_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($3_1 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $67_1 = HEAP32[($3_1 + 104 | 0) >> 2] | 0; + HEAP32[($3_1 + 84 | 0) >> 2] = HEAP32[($3_1 + 108 | 0) >> 2] | 0; + HEAP32[($3_1 + 80 | 0) >> 2] = $67_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $79(48963 | 0, $3_1 + 80 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (!((HEAP32[($3_1 + 104 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 120 | 0) >> 2] = 7; + } + $81_1 = HEAP32[($3_1 + 112 | 0) >> 2] | 0; + $83_1 = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $85_1 = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 72 | 0) >> 2] = HEAP32[($3_1 + 104 | 0) >> 2] | 0; + HEAP32[($3_1 + 68 | 0) >> 2] = $85_1; + HEAP32[($3_1 + 64 | 0) >> 2] = $83_1; + $2141($3_1 + 120 | 0 | 0, $81_1 | 0, 48974 | 0, $3_1 + 64 | 0 | 0); + $42(HEAP32[($3_1 + 104 | 0) >> 2] | 0 | 0); + } + $93_1 = HEAP32[($3_1 + 112 | 0) >> 2] | 0; + $95_1 = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 32 | 0) >> 2] = $95_1; + $2141($3_1 + 120 | 0 | 0, $93_1 | 0, 49007 | 0, $3_1 + 32 | 0 | 0); + $103_1 = HEAP32[($3_1 + 112 | 0) >> 2] | 0; + $105_1 = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 48 | 0) >> 2] = $105_1; + $2141($3_1 + 120 | 0 | 0, $103_1 | 0, 49079 | 0, $3_1 + 48 | 0 | 0); + label$7 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 238 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + $123_1 = HEAP32[($3_1 + 112 | 0) >> 2] | 0; + $125_1 = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $125_1; + $2141($3_1 + 120 | 0 | 0, $123_1 | 0, 49232 | 0, $3_1 + 16 | 0 | 0); + } + label$8 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 124 | 0) >> 2] | 0) + 237 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + $2187($3_1 + 120 | 0 | 0, HEAP32[($3_1 + 124 | 0) >> 2] | 0 | 0); + } + $147_1 = HEAP32[($3_1 + 120 | 0) >> 2] | 0; + global$0 = $3_1 + 128 | 0; + return $147_1 | 0; + } + + function $2182($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + if (HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79(49377 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 7; + break label$2; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $405(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0, $4_1 + 12 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$5 + } + $287(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $32_1 = $317(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 244 | 0) >> 2] = $32_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $213(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + label$6 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (23 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 244 | 0) >> 2] = 1024; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + } + } + } + $42(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $2183($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $22_1 = 0, $41_1 = 0, $21_1 = 0, $51_1 = 0, $64_1 = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + label$1 : { + if (HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $17_1 = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + break label$2; + } + $17_1 = 49397; + } + HEAP32[($4_1 + 52 | 0) >> 2] = $17_1; + $21_1 = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $22_1 = 1; + HEAP32[($4_1 + 32 | 0) >> 2] = $22_1; + $426($21_1 | 0, $22_1 | 0, $4_1 + 32 | 0 | 0) | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79(49406 | 0, $4_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 68 | 0) >> 2] = 1; + label$4 : while (1) { + $41_1 = 0; + label$5 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $41_1 = (HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (!($41_1 & 1 | 0)) { + break label$6 + } + $51_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $51_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79(49411 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + $64_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + $66_1 = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $66_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $64_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79(49418 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + if ((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + } + HEAP32[($4_1 + 64 | 0) >> 2] = 7; + break label$7; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $414(HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + $42(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($4_1 + 76 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + } + global$0 = $4_1 + 80 | 0; + return; + } + + function $2184($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $26_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 1e7; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2188(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, $4_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) > ($5_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + label$2 : { + label$3 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$2; + } + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $26_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[$26_1 >> 2] = (HEAP32[$26_1 >> 2] | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $29_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $29_1 | 0; + } + + function $2185($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $24_1 = 0, $44_1 = 0, $53_1 = 0, $60_1 = 0, $68_1 = 0, $71_1 = 0, $103_1 = 0, $59_1 = 0, $74_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$1 = ((($3303(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0) << 1 | 0) + 2 | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $103_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $103_1; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $24_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $24_1 + 1 | 0; + HEAP8[$24_1 >> 0] = 34; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $44_1 = 24; + label$4 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $44_1 | 0) >> $44_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$4 + } + $53_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $53_1 + 1 | 0; + HEAP8[$53_1 >> 0] = 34; + } + $59_1 = HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0; + $60_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $60_1 + 1 | 0; + HEAP8[$60_1 >> 0] = $59_1; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $68_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $68_1 + 1 | 0; + HEAP8[$68_1 >> 0] = 34; + $71_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $71_1 + 1 | 0; + HEAP8[$71_1 >> 0] = 0; + } + $74_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $74_1 | 0; + } + + function $2186($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $78(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $31_1 = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $31_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(27033 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 7; + } + $42(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2187($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $7_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $7_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $9_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $9_1; + $2141($5_1 | 0, $7_1 | 0, 49300 | 0, $4_1 | 0); + label$1 : { + if (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 237 | 0) >> 0] = 1; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2188($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $57$hi = 0, $12_1 = 0, $20_1 = 0, $26_1 = 0, $58$hi = 0, $59$hi = 0, $60$hi = 0, $39_1 = 0, $61$hi = 0, i64toi32_i32$4 = 0, $64$hi = 0, $57_1 = 0, $22_1 = 0, $60_1 = 0, $159_1 = 0; + $4_1 = global$0 - 32 | 0; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + $12_1 = 24; + $20_1 = 0; + label$3 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $12_1 | 0) >> $12_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$3 + } + $26_1 = 24; + $20_1 = (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $26_1 | 0) >> $26_1 | 0 | 0) <= (57 | 0); + } + label$4 : { + if (!($20_1 & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + $57_1 = 2147483647; + $57$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $58$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $59$hi = i64toi32_i32$1; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$1 = $58$hi; + $22_1 = i64toi32_i32$0; + i64toi32_i32$0 = $59$hi; + i64toi32_i32$0 = __wasm_i64_mul($22_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $60_1 = i64toi32_i32$0; + $60$hi = i64toi32_i32$1; + $39_1 = 24; + i64toi32_i32$0 = (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0) - 48 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $61$hi = i64toi32_i32$1; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$1 = $61$hi; + $159_1 = i64toi32_i32$0; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$2 = $60_1; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$3 = $159_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $64$hi = i64toi32_i32$2; + i64toi32_i32$2 = $57$hi; + i64toi32_i32$2 = $64$hi; + i64toi32_i32$2 = $57$hi; + i64toi32_i32$2 = $64$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$3 = $57_1; + label$5 : { + if (!((i64toi32_i32$2 >>> 0 > i64toi32_i32$5 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2189($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 220 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $222(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 0] = 0; + } + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2190($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $2193(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2191($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] = 0; + label$2 : { + if ((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2192($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0, $23_1 = 0, $44_1 = 0, $91_1 = 0, $101_1 = 0, $122_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : while (1) { + $13_1 = 0; + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $23_1 = 1; + label$3 : { + if ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + $23_1 = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0); + } + $13_1 = $23_1; + } + label$4 : { + if (!($13_1 & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $44_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$5; + } + $44_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = $44_1; + continue label$1; + } + break label$1; + }; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $2194(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + label$9 : { + label$10 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$11 : while (1) { + $91_1 = 0; + label$12 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $101_1 = 1; + label$13 : { + if ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$13 + } + $101_1 = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0); + } + $91_1 = $101_1; + } + label$14 : { + if (!($91_1 & 1 | 0)) { + break label$14 + } + label$15 : { + label$16 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $122_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$15; + } + $122_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = $122_1; + continue label$11; + } + break label$11; + }; + break label$9; + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + continue label$8; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2193($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2194($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2195(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2195($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $53_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $42(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + $2196(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $15_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $53_1 = 0; + i64toi32_i32$1 = $15_1; + HEAP32[i64toi32_i32$1 >> 2] = $53_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $53_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $15_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $53_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $15_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $53_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $15_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $53_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2197(HEAP32[((((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 24) | 0) + 20 | 0) >> 2] | 0 | 0); + HEAP32[((((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 24) | 0) + 20 | 0) >> 2] = 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2196($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$1 + } + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + } + $8_1 = 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = $8_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = $8_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = $8_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2197($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2054(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2198($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $65_1 = 0, $15_1 = 0, $37_1 = 0, $62_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11_1 = global$0 - 96 | 0; + global$0 = $11_1; + $15_1 = $11_1 + 8 | 0; + HEAP32[($11_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 72 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 68 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 64 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 60 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 56 | 0) >> 2] = $8_1; + i64toi32_i32$0 = 0; + $65_1 = 0; + i64toi32_i32$1 = $15_1; + HEAP32[i64toi32_i32$1 >> 2] = $65_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $65_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $15_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $65_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $15_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $65_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($11_1 + 8 | 0) >> 2] = HEAP32[($11_1 + 88 | 0) >> 2] | 0; + HEAP32[($11_1 + 12 | 0) >> 2] = HEAP32[($11_1 + 84 | 0) >> 2] | 0; + HEAP32[($11_1 + 16 | 0) >> 2] = HEAP32[($11_1 + 80 | 0) >> 2] | 0; + HEAP32[($11_1 + 24 | 0) >> 2] = HEAP32[($11_1 + 72 | 0) >> 2] | 0; + HEAP32[($11_1 + 28 | 0) >> 2] = HEAP32[($11_1 + 68 | 0) >> 2] | 0; + HEAP32[($11_1 + 20 | 0) >> 2] = HEAP32[($11_1 + 76 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $37_1 = 0; + HEAP32[(HEAP32[($11_1 + 56 | 0) >> 2] | 0) >> 2] = $37_1; + HEAP32[($11_1 + 92 | 0) >> 2] = $37_1; + break label$1; + } + label$3 : { + if (!((HEAP32[($11_1 + 60 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $3303(HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2205($11_1 + 8 | 0 | 0, HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0, $11_1 + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($11_1 + 48 | 0) >> 2] | 0) { + break label$4 + } + if (!(HEAP32[($11_1 + 40 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($11_1 + 48 | 0) >> 2] = 1; + } + HEAP32[($11_1 + 92 | 0) >> 2] = HEAP32[($11_1 + 48 | 0) >> 2] | 0; + } + $62_1 = HEAP32[($11_1 + 92 | 0) >> 2] | 0; + global$0 = $11_1 + 96 | 0; + return $62_1 | 0; + } + + function $2199($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $290_1 = 0, $5_1 = 0, $57_1 = 0, $87_1 = 0, $115_1 = 0, $193_1 = 0, $270_1 = 0, i64toi32_i32$0 = 0, $327_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 48 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (HEAP32[($4_1 + 56 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($4_1 + 52 | 0) >> 2] = 1; + } + label$2 : { + if (HEAP32[($4_1 + 52 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$4 + } + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41((HEAP32[($4_1 + 56 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((0 | 0) == (HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 52 | 0) >> 2] = 7; + break label$6; + } + $3289(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + } + label$8 : { + if (HEAP32[($4_1 + 52 | 0) >> 2] | 0) { + break label$8 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$10; + }; + } + label$11 : while (1) { + $57_1 = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = $57_1; + label$12 : { + label$13 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != ($57_1 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + break label$12; + } + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2199($4_1 + 28 | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + label$15 : { + if (!(HEAP32[($4_1 + 52 | 0) >> 2] | 0)) { + break label$15 + } + break label$14; + } + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + label$16 : while (1) { + $87_1 = 0; + label$17 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + $87_1 = (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0); + } + label$18 : { + if (!($87_1 & 1 | 0)) { + break label$18 + } + label$19 : { + label$20 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$19; + } + $115_1 = 0; + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = $115_1; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $115_1; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + } + break label$16; + }; + label$21 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + $2192(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 52 | 0) >> 2] = 18; + break label$14; + } + label$22 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$22 + } + break label$14; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$24; + }; + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$25 : { + label$26 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$25; + } + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + continue label$11; + } + break label$11; + }; + label$27 : { + label$28 : { + if (HEAP32[($4_1 + 52 | 0) >> 2] | 0) { + break label$28 + } + $193_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $193_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $193_1; + label$29 : { + label$30 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + label$31 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$31 + } + label$32 : { + label$33 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + break label$32; + } + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$30; + }; + } + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + break label$27; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + label$34 : { + label$35 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$34 + } + $2192(HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$35; + }; + } + label$36 : { + label$37 : while (1) { + $270_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $270_1; + if (!(($270_1 | 0) != (0 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $42(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + continue label$37; + }; + } + } + $42(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + } + break label$3; + } + label$38 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$38 + } + $290_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] = $290_1; + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] = $290_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $290_1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $290_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2199($4_1 + 12 | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$39 : { + if (HEAP32[($4_1 + 52 | 0) >> 2] | 0) { + break label$39 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2199($4_1 + 8 | 0 | 0, (HEAP32[($4_1 + 56 | 0) >> 2] | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + label$40 : { + label$41 : { + if (!(HEAP32[($4_1 + 52 | 0) >> 2] | 0)) { + break label$41 + } + $2192(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $2192(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + break label$40; + } + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + } + } + } + } + label$42 : { + if (!(HEAP32[($4_1 + 52 | 0) >> 2] | 0)) { + break label$42 + } + $2192(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + $327_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $327_1 | 0; + } + + function $2200($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 18; + break label$2; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2200(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2200(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + } + $33_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $33_1 | 0; + } + + function $2201($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $36_1 = 0, $82_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + label$1 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((0 | 0) == (HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + $36_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[$36_1 >> 2] = (HEAP32[$36_1 >> 2] | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 16 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($7_1 + 24 | 0) >> 2] | 0, 24) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2215(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($7_1 + 12 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 44 | 0) >> 2] = -1; + break label$2; + } + $82_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[$82_1 >> 2] = (HEAP32[$82_1 >> 2] | 0) + ((HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0) | 0; + $2201(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + $2201(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + } + } + global$0 = $7_1 + 48 | 0; + return; + } + + function $2202($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $25_1 = 0, $35_1 = 0, $36_1 = 0, $89_1 = 0, $113_1 = 0, $63_1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $5_1; + label$1 : { + if (HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = 0; + label$4 : while (1) { + $25_1 = 0; + label$5 : { + if (HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] | 0) { + break label$5 + } + $25_1 = (HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (!($25_1 & 1 | 0)) { + break label$6 + } + $35_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + $36_1 = HEAP32[$35_1 >> 2] | 0; + HEAP32[$35_1 >> 2] = $36_1 + 24 | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = $36_1; + HEAP32[(HEAP32[($8_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = ((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($8_1 + 16 | 0) >> 2] | 0, 24) | 0; + HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + $63_1 = $2216(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] = $63_1; + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + break label$2; + } + label$7 : { + if (!((HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($8_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + $89_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[$89_1 >> 2] = (HEAP32[$89_1 >> 2] | 0) + 4 | 0; + } + $2202(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + label$9 : { + if (!((HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($8_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[(HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + $113_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[$113_1 >> 2] = (HEAP32[$113_1 >> 2] | 0) + 4 | 0; + } + $2202(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + } + } + } + global$0 = $8_1 + 48 | 0; + return; + } + + function $2203($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $76_1 = 0, $85_1 = 0, $212_1 = 0, $252_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((HEAP32[(((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 24) | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (HEAP32[(((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 24) | 0) + 16 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$6 : { + label$7 : { + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$7 + } + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2217(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, $6_1 + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + label$8 : while (1) { + $76_1 = 0; + label$9 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $76_1 = (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$10 : { + if (!($76_1 & 1 | 0)) { + break label$10 + } + $85_1 = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = $85_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $85_1; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + if (!((HEAP32[(((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 24) | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + if (!((HEAP32[(((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 24) | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[(((HEAP32[($6_1 + 64 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 24) | 0) + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 24) | 0; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + label$15 : { + label$16 : { + if (!(HEAP32[($6_1 + 44 | 0) >> 2] | 0)) { + break label$16 + } + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) >= (Math_imul((((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) / (4 | 0) | 0) | 0) - 1 | 0 | 0) / ((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) / (4 | 0) | 0 | 0) | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2218(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $2197(HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = 0; + break label$15; + } + label$17 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (12 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0; + } + label$18 : { + label$19 : { + if (!(HEAP32[($6_1 + 44 | 0) >> 2] | 0)) { + break label$19 + } + if (!((HEAP32[((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$18 + } + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) != ((HEAP32[($6_1 + 36 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$18 + } + } + $212_1 = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $212_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $212_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2219(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0, $6_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (HEAP32[($6_1 + 48 | 0) >> 2] | 0) { + break label$20 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2220(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + label$21 : { + if (HEAP32[($6_1 + 48 | 0) >> 2] | 0) { + break label$21 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2221(HEAP32[(HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$22 : { + label$23 : { + if (!(HEAP32[($6_1 + 44 | 0) >> 2] | 0)) { + break label$23 + } + if (!((HEAP32[$6_1 >> 2] | 0 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + } + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + } + } + } + } + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + } + break label$8; + }; + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + } + $252_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $252_1 | 0; + } + + function $2204($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $87_1 = 0, $71_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((0 | 0) == (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + label$4 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (!((HEAP32[((((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 24) | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$5; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 34 | 0) >> 0] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0; + } + $71_1 = $2222(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $71_1; + break label$2; + } + $2204(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + $2204(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + $87_1 = 0; + label$8 : { + if (!((HEAPU8[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 34 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + $87_1 = ((HEAPU8[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 34 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 34 | 0) >> 0] = $87_1 & 1 | 0; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2205($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $9_1 = 0, $19_1 = 0, $42_1 = 0, i64toi32_i32$0 = 0, $185_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + $9_1 = 0; + HEAP32[($7_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 32 | 0) >> 2] = 1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (HEAP32[($7_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + $19_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $19_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $19_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2206(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, $7_1 + 28 | 0 | 0, $7_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($7_1 + 36 | 0) >> 2] | 0) { + break label$4 + } + label$5 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $42_1 = 1; + label$6 : { + if ((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0) { + break label$6 + } + $42_1 = (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0); + } + HEAP32[($7_1 + 20 | 0) >> 2] = $42_1 & 1 | 0; + label$7 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$7 + } + if (!(HEAP32[($7_1 + 32 | 0) >> 2] | 0)) { + break label$7 + } + $2192(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 36 | 0) >> 2] = 1; + break label$1; + } + label$8 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$8 + } + if (HEAP32[($7_1 + 32 | 0) >> 2] | 0) { + break label$8 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2207(48 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if ((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$9 + } + $2192(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 36 | 0) >> 2] = 7; + break label$1; + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = 3; + $2208($7_1 + 56 | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + label$10 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + label$12 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$12 + } + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$12 + } + if ((HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0) { + break label$11 + } + } + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$10 + } + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$10 + } + if (!((HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$10 + } + } + $2192(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 36 | 0) >> 2] = 1; + break label$1; + } + label$13 : { + label$14 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$14 + } + label$15 : { + label$16 : { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + break label$15; + } + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + } + break label$13; + } + $2208($7_1 + 56 | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 32 | 0) >> 2] = ((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + } + } + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) - (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0; + continue label$3; + }; + } + label$17 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$17 + } + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + if (!(HEAP32[($7_1 + 32 | 0) >> 2] | 0)) { + break label$17 + } + HEAP32[($7_1 + 36 | 0) >> 2] = 1; + } + label$18 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = (HEAP32[($7_1 + 68 | 0) >> 2] | 0) - (HEAP32[($7_1 + 44 | 0) >> 2] | 0) | 0; + } + label$19 : { + if (!(HEAP32[($7_1 + 36 | 0) >> 2] | 0)) { + break label$19 + } + $2192(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0); + $2192(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 56 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + $185_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $185_1 | 0; + } + + function $2206($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $20_1 = 0, $24_1 = 0, $103_1 = 0, $114_1 = 0, $125_1 = 0, $151_1 = 0, $157_1 = 0, $167_1 = 0, $177_1 = 0, $186_1 = 0, $220_1 = 0, $237_1 = 0, $243_1 = 0, $283_1 = 0, $295_1 = 0, $320_1 = 0, $330_1 = 0, $341_1 = 0, $373_1 = 0, $408_1 = 0, $143_1 = 0, i64toi32_i32$0 = 0, $412_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 2] = $8_1; + label$1 : while (1) { + $20_1 = 0; + label$2 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $24_1 = 24; + $20_1 = ($2209(((HEAPU8[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0 | 0) | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($20_1 & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$4 : { + label$5 : { + if (HEAP32[($7_1 + 28 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 101; + break label$4; + } + HEAP32[($7_1 + 52 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 24 | 0) >> 2] = 49856 + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 3 | 0) | 0; + label$8 : { + label$9 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) & -2 | 0)) { + break label$9 + } + break label$8; + } + label$10 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) >= ((HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + if (!((0 | 0) == ($3228(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 10; + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0; + label$11 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$11 + } + $103_1 = 24; + label$12 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) << $103_1 | 0) >> $103_1 | 0 | 0) == (47 | 0) & 1 | 0)) { + break label$12 + } + $114_1 = 24; + if (!((((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) << $114_1 | 0) >> $114_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$12 + } + $125_1 = 24; + if (!((((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) << $125_1 | 0) >> $125_1 | 0 | 0) <= (57 | 0) & 1 | 0)) { + break label$12 + } + $143_1 = ($2188((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 1 | 0) | 0 | 0, $7_1 + 20 | 0 | 0) | 0) + 1 | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + $143_1 | 0; + } + } + HEAP8[($7_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0; + $151_1 = 24; + label$13 : { + label$14 : { + if ($2209(((HEAPU8[($7_1 + 15 | 0) >> 0] | 0) << $151_1 | 0) >> $151_1 | 0 | 0) | 0) { + break label$14 + } + $157_1 = 24; + if ((((HEAPU8[($7_1 + 15 | 0) >> 0] | 0) << $157_1 | 0) >> $157_1 | 0 | 0) == (34 | 0) & 1 | 0) { + break label$14 + } + $167_1 = 24; + if ((((HEAPU8[($7_1 + 15 | 0) >> 0] | 0) << $167_1 | 0) >> $167_1 | 0 | 0) == (40 | 0) & 1 | 0) { + break label$14 + } + $177_1 = 24; + if ((((HEAPU8[($7_1 + 15 | 0) >> 0] | 0) << $177_1 | 0) >> $177_1 | 0 | 0) == (41 | 0) & 1 | 0) { + break label$14 + } + $186_1 = 24; + if (((HEAPU8[($7_1 + 15 | 0) >> 0] | 0) << $186_1 | 0) >> $186_1 | 0) { + break label$13 + } + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2207(48 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if ((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$15 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 7; + break label$4; + } + HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0) + (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$4; + } + } + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + $220_1 = 24; + label$16 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $220_1 | 0) >> $220_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($7_1 + 52 | 0) >> 2] = 1; + label$17 : while (1) { + $237_1 = 0; + label$18 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $243_1 = 24; + $237_1 = (((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0) >> 0] | 0) << $243_1 | 0) >> $243_1 | 0 | 0) != (34 | 0); + } + label$19 : { + if (!($237_1 & 1 | 0)) { + break label$19 + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + } + break label$17; + }; + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = (((HEAP32[($7_1 + 32 | 0) >> 2] | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0) + 1 | 0; + label$20 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 1; + break label$4; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2210(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($7_1 + 52 | 0) >> 2] | 0) - 1 | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + $283_1 = 24; + label$21 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $283_1 | 0) >> $283_1 | 0 | 0) == (40 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + $295_1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + HEAP32[($295_1 + 32 | 0) >> 2] = (HEAP32[($295_1 + 32 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2205(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($7_1 + 28 | 0) >> 2] | 0) - 1 | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, $7_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = (((HEAP32[($7_1 + 32 | 0) >> 2] | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0) + 1 | 0) + (HEAP32[($7_1 + 8 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + break label$4; + } + $320_1 = 24; + label$22 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $320_1 | 0) >> $320_1 | 0 | 0) == (41 | 0) & 1 | 0)) { + break label$22 + } + $330_1 = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + HEAP32[($330_1 + 32 | 0) >> 2] = (HEAP32[($330_1 + 32 | 0) >> 2] | 0) + -1 | 0; + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0) + 1 | 0; + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 101; + break label$4; + } + $341_1 = 0; + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = $341_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $341_1; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3303(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$25 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) > (HEAP32[$7_1 >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + $373_1 = 24; + if (!((((HEAPU8[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[$7_1 >> 2] | 0) | 0) >> 0] | 0) << $373_1 | 0) >> $373_1 | 0 | 0) == (58 | 0) & 1 | 0)) { + break label$25 + } + if ($89(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[$7_1 >> 2] | 0 | 0) | 0) { + break label$25 + } + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = (((HEAP32[($7_1 + 32 | 0) >> 2] | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0) + (HEAP32[$7_1 >> 2] | 0) | 0) + 1 | 0; + break label$23; + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$24; + }; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2211(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + (HEAP32[($7_1 + 44 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($7_1 + 64 | 0) >> 2] | 0) - (HEAP32[($7_1 + 44 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $408_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[$408_1 >> 2] = (HEAP32[$408_1 >> 2] | 0) + (HEAP32[($7_1 + 44 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + } + $412_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $412_1 | 0; + } + + function $2207($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $3289(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + } + $15_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $15_1 | 0; + } + + function $2208($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $16_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + label$1 : while (1) { + $16_1 = 0; + label$2 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = ($2212(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0 | 0) <= ($2212(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0); + } + label$3 : { + if (!($16_1 & 1 | 0)) { + break label$3 + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$4; + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return; + } + + function $2209($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0, $7_1 = 0, $19_1 = 0, $30_1 = 0, $41_1 = 0, $52_1 = 0, $62_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP8[($3_1 + 15 | 0) >> 0] = $0_1; + $7_1 = 24; + $15_1 = 1; + label$1 : { + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0 | 0) == (32 | 0) & 1 | 0) { + break label$1 + } + $19_1 = 24; + $15_1 = 1; + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) == (9 | 0) & 1 | 0) { + break label$1 + } + $30_1 = 24; + $15_1 = 1; + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) == (10 | 0) & 1 | 0) { + break label$1 + } + $41_1 = 24; + $15_1 = 1; + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $41_1 | 0) >> $41_1 | 0 | 0) == (13 | 0) & 1 | 0) { + break label$1 + } + $52_1 = 24; + $15_1 = 1; + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $52_1 | 0) >> $52_1 | 0 | 0) == (11 | 0) & 1 | 0) { + break label$1 + } + $62_1 = 24; + $15_1 = (((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) == (12 | 0); + } + return $15_1 & 1 | 0 | 0; + } + + function $2210($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $10_1 = 0, $40_1 = 0, $280_1 = 0, $84_1 = 0, $106_1 = 0, $112_1 = 0, $130_1 = 0, $138_1 = 0, $165_1 = 0, $275_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + $10_1 = 0; + HEAP32[($6_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $10_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $10_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $10_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $10_1; + HEAP32[($6_1 + 44 | 0) >> 2] = 144; + HEAP32[($6_1 + 40 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2213(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0, $6_1 + 56 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($6_1 + 36 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$4 + } + $40_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $40_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $40_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $40_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $40_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 56 | 0) >> 2] | 0, $6_1 + 32 | 0, $6_1 + 28 | 0, $6_1 + 24 | 0, $6_1 + 20 | 0, $6_1 + 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2214(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($6_1 + 36 | 0) >> 2] | 0, 24) + 144 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if ((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + break label$2; + } + i64toi32_i32$1 = (HEAP32[($6_1 + 48 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2214(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if ((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + break label$2; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 48 | 0) + 72 | 0) + Math_imul(HEAP32[($6_1 + 36 | 0) >> 2] | 0, 24) | 0; + $84_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $280_1 = 0; + i64toi32_i32$1 = $84_1; + HEAP32[i64toi32_i32$1 >> 2] = $280_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $280_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $84_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $280_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $3288((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + (HEAP32[($6_1 + 48 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = (HEAP32[($6_1 + 48 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $106_1 = 0; + label$9 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $112_1 = 24; + $106_1 = (((HEAPU8[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $112_1 | 0) >> $112_1 | 0 | 0) == (42 | 0); + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $106_1 & 1 | 0; + $130_1 = 0; + label$10 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$10 + } + $138_1 = 24; + $130_1 = (((HEAPU8[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $138_1 | 0) >> $138_1 | 0 | 0) == (94 | 0); + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $130_1 & 1 | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 56 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 56 | 0) >> 2] = 0; + } + label$11 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$11 + } + $165_1 = 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $165_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2214(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, (Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 24) + 144 | 0) + (HEAP32[($6_1 + 48 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if ((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) != ($165_1 | 0) & 1 | 0) { + break label$12 + } + break label$2; + } + $3289(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, 0 | 0, (((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 48 | 0) + 72 | 0) - (HEAP32[($6_1 + 60 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 60 | 0) >> 2] | 0) >> 2] = 5; + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 48 | 0; + HEAP32[((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = ((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 24) | 0; + label$13 : { + label$14 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + $3288(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) | 0; + $42(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0); + break label$13; + } + } + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[(((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($6_1 + 8 | 0) >> 2] | 0, 24) | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + (HEAP32[((((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($6_1 + 8 | 0) >> 2] | 0, 24) | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + HEAP32[($6_1 + 64 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + HEAP32[($6_1 + 92 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + break label$1; + } + label$17 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 56 | 0) >> 2] | 0) | 0; + } + $42(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0); + $42(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($6_1 + 92 | 0) >> 2] = 7; + } + $275_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + global$0 = $6_1 + 96 | 0; + return $275_1 | 0; + } + + function $2211($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $90_1 = 0, $9_1 = 0, i64toi32_i32$0 = 0, $26_1 = 0, $39_1 = 0, $52_1 = 0, i64toi32_i32$1 = 0, $147_1 = 0, $177_1 = 0, $207_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 52 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $9_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = 24; + label$3 : { + label$4 : { + if ((((HEAPU8[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + (HEAP32[($8_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) << $26_1 | 0) >> $26_1 | 0 | 0) == (40 | 0) & 1 | 0) { + break label$4 + } + $39_1 = 24; + if (!((((HEAPU8[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + (HEAP32[($8_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0 | 0) == (41 | 0) & 1 | 0)) { + break label$3 + } + } + break label$1; + } + $52_1 = 24; + label$5 : { + if (!((((HEAPU8[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + (HEAP32[($8_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) << $52_1 | 0) >> $52_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + HEAP32[($8_1 + 32 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2213(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, $8_1 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($8_1 + 44 | 0) >> 2] | 0) { + break label$6 + } + $90_1 = 0; + HEAP32[($8_1 + 24 | 0) >> 2] = $90_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $90_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $90_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $90_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 40 | 0) >> 2] | 0, $8_1 + 28 | 0, $8_1 + 24 | 0, $8_1 + 20 | 0, $8_1 + 16 | 0, $8_1 + 12 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (HEAP32[($8_1 + 44 | 0) >> 2] | 0) { + break label$8 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[$8_1 >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 144 | 0; + HEAP32[($8_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[$8_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2207(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + label$10 : { + if ((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + HEAP32[($8_1 + 44 | 0) >> 2] = 7; + break label$9; + } + HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] = 5; + HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 48 | 0; + HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] = 1; + HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 96 | 0; + $3288(HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0; + label$11 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $147_1 = 24; + if (!((((HEAPU8[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + (HEAP32[($8_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) << $147_1 | 0) >> $147_1 | 0 | 0) == (42 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 80 | 0) >> 2] = 1; + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + label$12 : { + label$13 : while (1) { + label$14 : { + label$15 : { + if (!(HEAP32[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$15 + } + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$15 + } + $177_1 = 24; + if (!((((HEAPU8[((HEAP32[($8_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 20 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $177_1 | 0) >> $177_1 | 0 | 0) == (94 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 84 | 0) >> 2] = 1; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) + -1 | 0; + break label$14; + } + break label$12; + } + continue label$13; + }; + } + } + HEAP32[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + break label$7; + } + label$16 : { + if (!(HEAP32[($8_1 + 32 | 0) >> 2] | 0)) { + break label$16 + } + if (!((HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($8_1 + 44 | 0) >> 2] = 0; + } + } + FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 40 | 0) >> 2] | 0) | 0; + } + HEAP32[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $207_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + global$0 = $8_1 + 80 | 0; + return $207_1 | 0; + } + + function $2212($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0; + } + + function $2213($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $43_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 28 | 0) >> 2] | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0, $7_1 + 4 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[$7_1 >> 2] | 0) { + break label$1 + } + HEAP32[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) >= (1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 4 | 0) >> 2] | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[$7_1 >> 2] | 0)) { + break label$3 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 4 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = 0; + } + } + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + $43_1 = HEAP32[$7_1 >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $43_1 | 0; + } + + function $2214($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $49(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + $42(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + $15_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $15_1 | 0; + } + + function $2215($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $114_1 = 0, $25_1 = 0, $48_1 = 0, $50_1 = 0, $66_1 = 0, $92_1 = 0, $135_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 20 | 0) >> 2] = 7; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $38(56 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$2 : { + if (!(HEAP32[($7_1 + 32 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($7_1 + 16 | 0) >> 2] = 1; + label$3 : while (1) { + $25_1 = 0; + label$4 : { + if (HEAP32[($7_1 + 12 | 0) >> 2] | 0) { + break label$4 + } + $25_1 = (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0); + } + label$5 : { + if (!($25_1 & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 16 | 0) >> 2] | 0, 24) | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $48_1 = 1; + $50_1 = 0; + HEAP32[($7_1 + 12 | 0) >> 2] = $48_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2056(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, -2 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $50_1 | 0, $50_1 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] = $48_1; + } + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + HEAP32[($7_1 + 16 | 0) >> 2] = 1; + label$7 : while (1) { + $66_1 = 0; + label$8 : { + if (HEAP32[($7_1 + 12 | 0) >> 2] | 0) { + break label$8 + } + $66_1 = (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0); + } + label$9 : { + if (!($66_1 & 1 | 0)) { + break label$9 + } + label$10 : { + if (!((HEAP32[((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 16 | 0) >> 2] | 0, 24) | 0) >> 2] | 0 | 0) == ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$10 + } + $92_1 = 1; + HEAP32[($7_1 + 12 | 0) >> 2] = $92_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2056(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, -2 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $92_1 | 0, 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$11 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2223(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + } + label$12 : { + if (HEAP32[($7_1 + 12 | 0) >> 2] | 0) { + break label$12 + } + $114_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2056(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $114_1 | 0, -2 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, $114_1 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] = ((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) != ($114_1 | 0) ^ -1 | 0) & 1 | 0; + } + } + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + $135_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $135_1 | 0; + } + + function $2216($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $6_1 = 0, $79$hi = 0, $80$hi = 0, i64toi32_i32$5 = 0, $13_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $47_1 = 0, $84$hi = 0, $85$hi = 0, i64toi32_i32$4 = 0, $180_1 = 0, $79_1 = 0, $190_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $6_1; + label$1 : while (1) { + $13_1 = 0; + label$2 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + $13_1 = (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($13_1 & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$4 : { + if ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + if ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $180_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $180_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$1; + label$5 : { + label$6 : while (1) { + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $79_1 = i64toi32_i32$1; + $79$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $80$hi = i64toi32_i32$1; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$1 = $80$hi; + $190_1 = i64toi32_i32$0; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$2 = $79_1; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$3 = $190_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $21_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $22_1 = 0 + } else { + $22_1 = 1 + } + $23_1 = $22_1; + } else { + $23_1 = 0 + } + $21_1 = $23_1; + } + if (!($21_1 & 1 | 0)) { + break label$5 + } + $47_1 = 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2079(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0, $47_1 | 0, $5_1 + 12 | 0 | 0, $47_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($5_1 + 36 | 0) >> 2] | 0)) { + break label$7 + } + break label$5; + } + label$8 : { + if (!(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 35 | 0 | 0) > (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 34 | 0 | 0) / (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0) | 0; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $84$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $85$hi = i64toi32_i32$2; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$2 = $85$hi; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $85$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$5; + continue label$6; + }; + } + } + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $75_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $75_1 | 0; + } + + function $2217($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $81$hi = 0, $85$hi = 0, $80_1 = 0, $17_1 = 0, $83$hi = 0, $87$hi = 0, $90$hi = 0, $91$hi = 0, $92$hi = 0, $93$hi = 0, i64toi32_i32$4 = 0, $94$hi = 0, $95$hi = 0, $36_1 = 0, $51_1 = 0, $259_1 = 0, $90_1 = 0, $265_1 = 0, $92_1 = 0, $275_1 = 0, $285_1 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + $80_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $80_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $80_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2224(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $4_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($4_1 + 32 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + break label$1; + } + $17_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $311(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $17_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != ($17_1 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (HEAP32[$4_1 >> 2] | 0) + ($315(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $36_1 = $2225(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0) | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + $36_1 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + $51_1 = $2225(HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + $51_1 | 0; + continue label$6; + }; + } + } + i64toi32_i32$0 = 0; + $81$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $83$hi = i64toi32_i32$1; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$1 = $83$hi; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$1 = $83$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$3 = 0; + label$7 : { + label$8 : { + if (((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$8 + } + i64toi32_i32$2 = 0; + $85$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $87$hi = i64toi32_i32$1; + i64toi32_i32$1 = $85$hi; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$1 = $85$hi; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $85$hi; + i64toi32_i32$0 = 0; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$7 + } + } + $222(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = 267; + break label$1; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $259_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 64 | 0) >> 2] = $259_1; + HEAP32[(i64toi32_i32$3 + 68 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $90_1 = i64toi32_i32$1; + $90$hi = i64toi32_i32$3; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $91$hi = i64toi32_i32$1; + i64toi32_i32$1 = $90$hi; + i64toi32_i32$1 = $91$hi; + $265_1 = i64toi32_i32$3; + i64toi32_i32$1 = $90$hi; + i64toi32_i32$3 = $91$hi; + i64toi32_i32$3 = __wasm_i64_sdiv($90_1 | 0, i64toi32_i32$1 | 0, $265_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $92_1 = i64toi32_i32$3; + $92$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $93$hi = i64toi32_i32$1; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$1 = $93$hi; + $275_1 = i64toi32_i32$3; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$0 = $92_1; + i64toi32_i32$3 = $93$hi; + i64toi32_i32$2 = $275_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $94$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 244 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $95$hi = i64toi32_i32$5; + i64toi32_i32$5 = $94$hi; + i64toi32_i32$5 = $95$hi; + $285_1 = i64toi32_i32$0; + i64toi32_i32$5 = $94$hi; + i64toi32_i32$0 = $95$hi; + i64toi32_i32$0 = __wasm_i64_sdiv(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, $285_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + } + $77_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $77_1 | 0; + } + + function $2218($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $34_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$0 = 0; + $34_1 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $31_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $31_1 | 0; + } + + function $2219($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $12_1 = 0, $57_1 = 0, $61_1 = 0, $110_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 192 | 0; + global$0 = $7_1; + $12_1 = 0; + HEAP32[($7_1 + 188 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 184 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 180 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 176 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 172 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 164 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 184 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $3289($7_1 + 32 | 0 | 0, 0 | 0, 128 | 0) | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 184 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 ? 8 : $12_1) | 3 | 0 | (HEAP32[((HEAP32[($7_1 + 184 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 ? 32 : $12_1) | 0 | ((HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 188 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0 ? 4 : $12_1) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[($7_1 + 180 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 184 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 184 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2057(HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0, $7_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$1 : while (1) { + $57_1 = 0; + label$2 : { + if (!((0 | 0) == (HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $61_1 = $2059(HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 168 | 0) >> 2] = $61_1; + $57_1 = (100 | 0) == ($61_1 | 0); + } + label$3 : { + if (!($57_1 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2226(HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0, $7_1 + 32 | 0 | 0, HEAP32[((HEAP32[($7_1 + 164 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 164 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + continue label$1; + } + break label$1; + }; + label$4 : { + if (HEAP32[($7_1 + 168 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2227(HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0, $7_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + label$6 : { + if (HEAP32[($7_1 + 168 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[(HEAP32[($7_1 + 172 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 176 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + break label$5; + } + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$7 + } + $42(HEAP32[(($7_1 + 32 | 0) + ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + } + $2197(HEAP32[($7_1 + 164 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 184 | 0) >> 2] | 0) + 20 | 0) >> 2] = 0; + $110_1 = HEAP32[($7_1 + 168 | 0) >> 2] | 0; + global$0 = $7_1 + 192 | 0; + return $110_1 | 0; + } + + function $2220($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $15_1 = 0, $98_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = 0; + $42(HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] = $15_1; + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = $15_1; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + $42(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + break label$5; + } + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) | 0; + break label$7; + } + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) - (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2228((HEAPU8[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, $7_1 + 16 | 0 | 0, $7_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + } + } + } + label$9 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + } + $98_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $98_1 | 0; + } + + function $2221($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $26_1 = 0, $30_1 = 0, $39_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + label$4 : { + label$5 : while (1) { + $26_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $26_1 + 1 | 0; + $30_1 = 24; + if (!((((HEAPU8[$26_1 >> 0] | 0) << $30_1 | 0) >> $30_1 | 0) & 128 | 0)) { + break label$4 + } + continue label$5; + }; + } + $2105(0 | 0, $4_1 + 12 | 0 | 0); + continue label$3; + }; + } + } + $39_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $39_1 | 0; + } + + function $2222($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $11_1 = 0, $7_1 = 0, $53_1 = 0, $108_1 = 0, $115_1 = 0, $159_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $7_1; + $11_1 = 0; + label$1 : { + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$1 + } + $11_1 = 0; + if (!(((HEAPU8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0 | 0) == ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $11_1 = 0; + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) <= (4 | 0) & 1 | 0)) { + break label$1 + } + $11_1 = (HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) > (0 | 0); + } + HEAP32[($5_1 + 16 | 0) >> 2] = $11_1 & 1 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$2 : while (1) { + $53_1 = 0; + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + $53_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($53_1 & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 24) | 0; + label$5 : { + label$6 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$6 + } + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$5 + } + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + } + label$7 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + label$8 : { + label$9 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$9 + } + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$9 + } + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $108_1 = -1; + break label$10; + } + $108_1 = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 8 | 0) >> 2] = $108_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$12 : while (1) { + $115_1 = 0; + label$13 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$13 + } + $115_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + label$14 : { + if (!($115_1 & 1 | 0)) { + break label$14 + } + HEAP32[($5_1 + 4 | 0) >> 2] = ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 24) | 0; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$15 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2238(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + } + break label$12; + }; + HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] = 1; + break label$8; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2239(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + } + $159_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $159_1 | 0; + } + + function $2223($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $15_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + $15_1 = $2066(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, $8_1 | 0, -2 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, $8_1 | 0, $8_1 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $7_1 + 32 | 0; + return $15_1 | 0; + } + + function $2224($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $9_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $9_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 22 | 0, $4_1 + 4 | 0 | 0, $9_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$1 + } + $330(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0, 0 | 0) | 0; + label$2 : { + label$3 : { + if (($287(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) != (100 | 0) & 1 | 0) { + break label$3 + } + if (!(($321(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$4 + } + HEAP32[$4_1 >> 2] = 267; + } + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + } + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $40_1 = HEAP32[$4_1 >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $40_1 | 0; + } + + function $2225($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $28_1 = 0, $48$hi = 0, $50$hi = 0, $51$hi = 0, $52$hi = 0, $53$hi = 0, $23_1 = 0, $54$hi = 0, $57$hi = 0, $58$hi = 0, $60$hi = 0, $48_1 = 0, $152$hi = 0, $184_1 = 0; + $5_1 = global$0 - 48 | 0; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) <= (63 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + $28_1 = (HEAPU8[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + break label$3; + } + $28_1 = 0; + } + i64toi32_i32$0 = 0; + $48_1 = 0; + $48$hi = i64toi32_i32$0; + i64toi32_i32$1 = $28_1; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $28_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $50$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$3 = 127; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $52$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $53$hi = i64toi32_i32$0; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $53$hi; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $23_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $23_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $54$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $152$hi = i64toi32_i32$1; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$1 = $152$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $54$hi; + i64toi32_i32$3 = $23_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $57$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $58$hi = i64toi32_i32$0; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $58$hi; + i64toi32_i32$3 = 128; + i64toi32_i32$5 = i64toi32_i32$0 & i64toi32_i32$5 | 0; + $60$hi = i64toi32_i32$5; + i64toi32_i32$5 = $48$hi; + i64toi32_i32$5 = $60$hi; + i64toi32_i32$5 = $48$hi; + i64toi32_i32$5 = $60$hi; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$3 = $48_1; + label$5 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 7 | 0; + continue label$2; + }; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $184_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $184_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + return (HEAP32[($5_1 + 32 | 0) >> 2] | 0) - (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0 | 0; + } + + function $2226($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $21_1 = 0, $39_1 = 0, i64toi32_i32$0 = 0, $166_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $21_1 = $38(((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 10 | 0) + 1 | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = $21_1; + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $3288(HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $39_1 = (HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = 0; + $9_1 = $39_1; + $10_1 = 0; + HEAP8[$9_1 >> 0] = $10_1; + HEAP8[($9_1 + 1 | 0) >> 0] = $10_1 >>> 8 | 0; + HEAP8[($9_1 + 2 | 0) >> 0] = $10_1 >>> 16 | 0; + HEAP8[($9_1 + 3 | 0) >> 0] = $10_1 >>> 24 | 0; + $11_1 = i64toi32_i32$0; + HEAP8[($9_1 + 4 | 0) >> 0] = $11_1; + HEAP8[($9_1 + 5 | 0) >> 0] = $11_1 >>> 8 | 0; + HEAP8[($9_1 + 6 | 0) >> 0] = $11_1 >>> 16 | 0; + HEAP8[($9_1 + 7 | 0) >> 0] = $11_1 >>> 24 | 0; + $12_1 = $9_1 + 8 | 0; + $13_1 = 0; + HEAP8[$12_1 >> 0] = $13_1; + HEAP8[($12_1 + 1 | 0) >> 0] = $13_1 >>> 8 | 0; + break label$4; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 7; + break label$1; + } + break label$2; + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + break label$6; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2229((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0, $6_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($6_1 + 4 | 0) >> 2] | 0)) { + break label$9 + } + label$10 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $42(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$1; + } + label$11 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $42(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + $42(HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + label$12 : { + if (!(((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $166_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $166_1 | 0; + } + + function $2227($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $105_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if ((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + break label$5; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2229((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0, $4_1 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$7 + } + $42(HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $42(HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + $42(HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $105_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $105_1 | 0; + } + + function $2228($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $167_1 = 0, $171$hi = 0, $172$hi = 0, $175$hi = 0, $176$hi = 0, $179$hi = 0, $187$hi = 0, $168$hi = 0, $169$hi = 0, i64toi32_i32$4 = 0, $38_1 = 0, $59_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $76_1 = 0, $182$hi = 0, $89_1 = 0, $92_1 = 0, $189$hi = 0, $44_1 = 0, $45_1 = 0, $46_1 = 0, $139_1 = 0, $148_1 = 0, $22_1 = 0, $71_1 = 0, $171_1 = 0, $358_1 = 0, $175_1 = 0, $373_1 = 0, $391_1 = 0, $431_1 = 0, $471_1 = 0, $164_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 128 | 0; + global$0 = $8_1; + i64toi32_i32$0 = 0; + $167_1 = 0; + HEAP32[($8_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 112 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 108 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 104 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 100 | 0) >> 2] = $5_1; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 88 | 0) >> 2] = $167_1; + HEAP32[($8_1 + 92 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 80 | 0) >> 2] = $167_1; + HEAP32[($8_1 + 84 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $167_1; + HEAP32[($8_1 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 64 | 0) >> 2] = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + (HEAP32[($8_1 + 108 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 68 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($8_1 + 100 | 0) >> 2] | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = HEAP32[($8_1 + 112 | 0) >> 2] | 0; + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + HEAP32[($8_1 + 44 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : { + if (!(HEAP32[($8_1 + 120 | 0) >> 2] | 0)) { + break label$3 + } + $22_1 = 0; + i64toi32_i32$1 = HEAP32[(HEAP32[($8_1 + 100 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $168$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $169$hi = i64toi32_i32$0; + i64toi32_i32$0 = $168$hi; + i64toi32_i32$0 = $169$hi; + i64toi32_i32$0 = $168$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $169$hi; + i64toi32_i32$3 = 10; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $41(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) == ($22_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($8_1 + 124 | 0) >> 2] = 7; + break label$1; + } + break label$2; + } + HEAP32[($8_1 + 40 | 0) >> 2] = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + } + $38_1 = 0; + HEAP32[($8_1 + 48 | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + $2230($8_1 + 56 | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, $38_1 | 0, $8_1 + 88 | 0 | 0); + $2230($8_1 + 52 | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, $38_1 | 0, $8_1 + 80 | 0 | 0); + label$5 : while (1) { + $59_1 = 0; + label$6 : { + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $59_1 = (HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$7 : { + if (!($59_1 & 1 | 0)) { + break label$7 + } + $71_1 = HEAP32[($8_1 + 120 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$0 = $8_1; + i64toi32_i32$5 = HEAP32[($8_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + $171_1 = i64toi32_i32$5; + $171$hi = i64toi32_i32$2; + i64toi32_i32$0 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + $172$hi = i64toi32_i32$5; + i64toi32_i32$5 = $171$hi; + i64toi32_i32$5 = $172$hi; + i64toi32_i32$5 = $171$hi; + i64toi32_i32$5 = $172$hi; + $358_1 = i64toi32_i32$2; + i64toi32_i32$5 = $171$hi; + i64toi32_i32$0 = $171_1; + i64toi32_i32$2 = $172$hi; + i64toi32_i32$3 = $358_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$2 | 0)) { + $41_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $42_1 = 0 + } else { + $42_1 = 1 + } + $43_1 = $42_1; + } else { + $43_1 = 0 + } + $41_1 = $43_1; + } + label$8 : { + label$9 : { + if (!($41_1 & 1 | 0)) { + break label$9 + } + $76_1 = 1; + break label$8; + } + i64toi32_i32$3 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + $175_1 = i64toi32_i32$0; + $175$hi = i64toi32_i32$5; + i64toi32_i32$3 = $8_1; + i64toi32_i32$5 = HEAP32[($8_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + $176$hi = i64toi32_i32$0; + i64toi32_i32$0 = $175$hi; + i64toi32_i32$0 = $176$hi; + i64toi32_i32$0 = $175$hi; + i64toi32_i32$0 = $176$hi; + $373_1 = i64toi32_i32$5; + i64toi32_i32$0 = $175$hi; + i64toi32_i32$3 = $175_1; + i64toi32_i32$5 = $176$hi; + i64toi32_i32$2 = $373_1; + $76_1 = ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0 ? 0 : -1; + } + i64toi32_i32$3 = 0; + $179$hi = i64toi32_i32$3; + i64toi32_i32$0 = Math_imul($71_1, $76_1); + i64toi32_i32$3 = i64toi32_i32$0 >> 31 | 0; + $391_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $391_1; + HEAP32[($8_1 + 36 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $182$hi = i64toi32_i32$0; + i64toi32_i32$0 = $179$hi; + i64toi32_i32$0 = $182$hi; + i64toi32_i32$0 = $179$hi; + i64toi32_i32$0 = $182$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $179$hi; + i64toi32_i32$5 = 0; + label$10 : { + label$11 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$11 + } + $89_1 = 0; + $92_1 = $8_1 + 48 | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$5 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + $431_1 = i64toi32_i32$2; + i64toi32_i32$2 = $8_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $431_1; + HEAP32[($8_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$5 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + $2231($92_1 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, $8_1 + 72 | 0 | 0, $8_1 + 44 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0); + label$12 : { + if (!(($89_1 | 0) == ($2237($92_1 | 0, HEAP32[($8_1 + 116 | 0) >> 2] | 0 | 0, $89_1 | 0, 1 | 0, $8_1 + 56 | 0 | 0, $8_1 + 52 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($8_1 + 48 | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$5 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $471_1 = i64toi32_i32$2; + i64toi32_i32$2 = $8_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $471_1; + HEAP32[($8_1 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + } + $2230($8_1 + 56 | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, $8_1 + 88 | 0 | 0); + $2230($8_1 + 52 | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, $8_1 + 80 | 0 | 0); + break label$10; + } + i64toi32_i32$0 = 0; + $187$hi = i64toi32_i32$0; + i64toi32_i32$5 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $189$hi = i64toi32_i32$2; + i64toi32_i32$2 = $187$hi; + i64toi32_i32$2 = $189$hi; + i64toi32_i32$2 = $187$hi; + i64toi32_i32$2 = $189$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $187$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $44_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$3 >>> 0) { + $45_1 = 0 + } else { + $45_1 = 1 + } + $46_1 = $45_1; + } else { + $46_1 = 0 + } + $44_1 = $46_1; + } + label$13 : { + label$14 : { + if (!($44_1 & 1 | 0)) { + break label$14 + } + $139_1 = $8_1 + 56 | 0; + $2105(0 | 0, $139_1 | 0); + $2230($139_1 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, $8_1 + 88 | 0 | 0); + break label$13; + } + $148_1 = $8_1 + 52 | 0; + $2105(0 | 0, $148_1 | 0); + $2230($148_1 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, $8_1 + 80 | 0 | 0); + } + } + continue label$5; + } + break label$5; + }; + HEAP32[(HEAP32[($8_1 + 100 | 0) >> 2] | 0) >> 2] = (HEAP32[($8_1 + 48 | 0) >> 2] | 0) - (HEAP32[($8_1 + 40 | 0) >> 2] | 0) | 0; + label$15 : { + if (!(HEAP32[($8_1 + 120 | 0) >> 2] | 0)) { + break label$15 + } + $42(HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($8_1 + 104 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 124 | 0) >> 2] = 0; + } + $164_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + global$0 = $8_1 + 128 | 0; + return $164_1 | 0; + } + + function $2229($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $10_1 = 0, $50_1 = 0, $206_1 = 0, $216$hi = 0, $217$hi = 0, $220$hi = 0, $221$hi = 0, $225$hi = 0, $230$hi = 0, $207$hi = 0, $208$hi = 0, $209$hi = 0, $210$hi = 0, $211$hi = 0, $212$hi = 0, $213$hi = 0, $214$hi = 0, $36_1 = 0, $57_1 = 0, $51_1 = 0, $52_1 = 0, $53_1 = 0, $74_1 = 0, $227$hi = 0, $103_1 = 0, $232$hi = 0, $54_1 = 0, $55_1 = 0, $56_1 = 0, $154_1 = 0, $160_1 = 0, $172_1 = 0, $178_1 = 0, $189_1 = 0, $207_1 = 0, $311_1 = 0, $69_1 = 0, $216_1 = 0, $410_1 = 0, $220_1 = 0, $425_1 = 0, $443_1 = 0, $203_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 112 | 0; + global$0 = $9_1; + $10_1 = 0; + i64toi32_i32$0 = 0; + $206_1 = 0; + HEAP32[($9_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 92 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 84 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 76 | 0) >> 2] = $10_1; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $206_1; + HEAP32[($9_1 + 68 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 56 | 0) >> 2] = $206_1; + HEAP32[($9_1 + 60 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 48 | 0) >> 2] = $206_1; + HEAP32[($9_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 44 | 0) >> 2] = (HEAP32[($9_1 + 100 | 0) >> 2] | 0) + (HEAP32[($9_1 + 96 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 40 | 0) >> 2] = (HEAP32[($9_1 + 92 | 0) >> 2] | 0) + (HEAP32[($9_1 + 88 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 36 | 0) >> 2] = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + HEAP32[($9_1 + 32 | 0) >> 2] = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + HEAP32[($9_1 + 20 | 0) >> 2] = $10_1; + HEAP32[(HEAP32[($9_1 + 84 | 0) >> 2] | 0) >> 2] = $10_1; + HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] = $10_1; + i64toi32_i32$1 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $207_1 = i64toi32_i32$1; + $207$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($9_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $208$hi = i64toi32_i32$0; + i64toi32_i32$0 = $207$hi; + i64toi32_i32$0 = $208$hi; + $311_1 = i64toi32_i32$1; + i64toi32_i32$0 = $207$hi; + i64toi32_i32$2 = $207_1; + i64toi32_i32$1 = $208$hi; + i64toi32_i32$3 = $311_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $209$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $210$hi = i64toi32_i32$5; + i64toi32_i32$5 = $209$hi; + i64toi32_i32$5 = $210$hi; + i64toi32_i32$5 = $209$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $210$hi; + i64toi32_i32$3 = 10; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $211$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $212$hi = i64toi32_i32$4; + i64toi32_i32$4 = $211$hi; + i64toi32_i32$4 = $212$hi; + i64toi32_i32$4 = $211$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$0 = $212$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$1 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$4 - i64toi32_i32$1 | 0; + $213$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $214$hi = i64toi32_i32$1; + i64toi32_i32$1 = $213$hi; + i64toi32_i32$1 = $214$hi; + i64toi32_i32$1 = $213$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$5 = $214$hi; + i64toi32_i32$3 = 8; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0) != ($10_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($9_1 + 108 | 0) >> 2] = 7; + break label$1; + } + $36_1 = 0; + HEAP32[($9_1 + 28 | 0) >> 2] = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + $2230($9_1 + 36 | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, $36_1 | 0, $9_1 + 64 | 0 | 0); + $2230($9_1 + 32 | 0 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, $36_1 | 0, $9_1 + 56 | 0 | 0); + label$3 : while (1) { + $57_1 = 1; + label$4 : { + if ((HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + $57_1 = (HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$5 : { + if (!($57_1 & 1 | 0)) { + break label$5 + } + $69_1 = HEAP32[($9_1 + 104 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$1 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $216_1 = i64toi32_i32$2; + $216$hi = i64toi32_i32$4; + i64toi32_i32$1 = $9_1; + i64toi32_i32$4 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $217$hi = i64toi32_i32$2; + i64toi32_i32$2 = $216$hi; + i64toi32_i32$2 = $217$hi; + i64toi32_i32$2 = $216$hi; + i64toi32_i32$2 = $217$hi; + $410_1 = i64toi32_i32$4; + i64toi32_i32$2 = $216$hi; + i64toi32_i32$1 = $216_1; + i64toi32_i32$4 = $217$hi; + i64toi32_i32$3 = $410_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$4 | 0)) { + $51_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $52_1 = 0 + } else { + $52_1 = 1 + } + $53_1 = $52_1; + } else { + $53_1 = 0 + } + $51_1 = $53_1; + } + label$6 : { + label$7 : { + if (!($51_1 & 1 | 0)) { + break label$7 + } + $74_1 = 1; + break label$6; + } + i64toi32_i32$3 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $220_1 = i64toi32_i32$1; + $220$hi = i64toi32_i32$2; + i64toi32_i32$3 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $221$hi = i64toi32_i32$1; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$1 = $221$hi; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$1 = $221$hi; + $425_1 = i64toi32_i32$2; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$3 = $220_1; + i64toi32_i32$2 = $221$hi; + i64toi32_i32$4 = $425_1; + $74_1 = ((i64toi32_i32$3 | 0) == (i64toi32_i32$4 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0 ? 0 : -1; + } + i64toi32_i32$1 = Math_imul($69_1, $74_1); + i64toi32_i32$3 = i64toi32_i32$1 >> 31 | 0; + $443_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 8 | 0) >> 2] = $443_1; + HEAP32[($9_1 + 12 | 0) >> 2] = i64toi32_i32$3; + label$8 : { + label$9 : { + if (!((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + if (!((HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$3 = 0; + $225$hi = i64toi32_i32$3; + i64toi32_i32$4 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + $227$hi = i64toi32_i32$1; + i64toi32_i32$1 = $225$hi; + i64toi32_i32$1 = $227$hi; + i64toi32_i32$1 = $225$hi; + i64toi32_i32$1 = $227$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$3 = $225$hi; + i64toi32_i32$2 = 0; + if (!(((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$9 + } + $103_1 = $9_1 + 28 | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$4 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $2231($103_1 | 0, HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, $9_1 + 48 | 0 | 0, $9_1 + 20 | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0); + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2232($103_1 | 0, $9_1 + 36 | 0 | 0, $9_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(HEAP32[($9_1 + 76 | 0) >> 2] | 0)) { + break label$10 + } + break label$5; + } + $2230($9_1 + 36 | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, $9_1 + 64 | 0 | 0); + $2230($9_1 + 32 | 0 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, $9_1 + 56 | 0 | 0); + break label$8; + } + label$11 : { + label$12 : { + label$13 : { + if (!((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + if (!((HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$1 = 0; + $230$hi = i64toi32_i32$1; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + $232$hi = i64toi32_i32$4; + i64toi32_i32$4 = $230$hi; + i64toi32_i32$4 = $232$hi; + i64toi32_i32$4 = $230$hi; + i64toi32_i32$4 = $232$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $230$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$1 | 0)) { + $54_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $55_1 = 0 + } else { + $55_1 = 1 + } + $56_1 = $55_1; + } else { + $56_1 = 0 + } + $54_1 = $56_1; + } + if (!($54_1 & 1 | 0)) { + break label$12 + } + } + $154_1 = $9_1 + 36 | 0; + $160_1 = $9_1 + 28 | 0; + i64toi32_i32$3 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $2231($160_1 | 0, HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, $9_1 + 48 | 0 | 0, $9_1 + 20 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$4 | 0); + $2105($160_1 | 0, $154_1 | 0); + $2230($154_1 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, $9_1 + 64 | 0 | 0); + break label$11; + } + $172_1 = $9_1 + 32 | 0; + $178_1 = $9_1 + 28 | 0; + i64toi32_i32$3 = $9_1; + i64toi32_i32$4 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $2231($178_1 | 0, HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, $9_1 + 48 | 0 | 0, $9_1 + 20 | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$2 | 0); + $2105($178_1 | 0, $172_1 | 0); + $2230($172_1 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, $9_1 + 56 | 0 | 0); + } + } + continue label$3; + } + break label$3; + }; + label$14 : { + label$15 : { + if (!(HEAP32[($9_1 + 76 | 0) >> 2] | 0)) { + break label$15 + } + $189_1 = 0; + $42(HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 24 | 0) >> 2] = $189_1; + HEAP32[($9_1 + 28 | 0) >> 2] = $189_1; + break label$14; + } + i64toi32_i32$2 = 0; + i64toi32_i32$4 = (HEAP32[($9_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 28 | 0) >> 2] | 0) - (HEAP32[($9_1 + 24 | 0) >> 2] | 0) | 0) | 0; + $50_1 = 0; + HEAP8[i64toi32_i32$4 >> 0] = $50_1; + HEAP8[(i64toi32_i32$4 + 1 | 0) >> 0] = $50_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$4 + 2 | 0) >> 0] = $50_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$4 + 3 | 0) >> 0] = $50_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$4 + 4 | 0) >> 0] = i64toi32_i32$2; + HEAP8[(i64toi32_i32$4 + 5 | 0) >> 0] = i64toi32_i32$2 >>> 8 | 0; + HEAP8[(i64toi32_i32$4 + 6 | 0) >> 0] = i64toi32_i32$2 >>> 16 | 0; + HEAP8[(i64toi32_i32$4 + 7 | 0) >> 0] = i64toi32_i32$2 >>> 24 | 0; + } + HEAP32[(HEAP32[($9_1 + 84 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] = (HEAP32[($9_1 + 28 | 0) >> 2] | 0) - (HEAP32[($9_1 + 24 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 108 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + } + $203_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + global$0 = $9_1 + 112 | 0; + return $203_1 | 0; + } + + function $2230($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $23_1 = 0, $33$hi = 0, $34$hi = 0, $36$hi = 0, $37$hi = 0, $22_1 = 0, $33_1 = 0, $103_1 = 0, $36_1 = 0, $116_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) >>> 0 >= (HEAP32[($6_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 0; + break label$1; + } + $22_1 = $2085(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0) | 0; + $23_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[$23_1 >> 2] = (HEAP32[$23_1 >> 2] | 0) + $22_1 | 0; + label$3 : { + label$4 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $33_1 = i64toi32_i32$0; + $33$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $34$hi = i64toi32_i32$0; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$0 = $34$hi; + $103_1 = i64toi32_i32$1; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$2 = $33_1; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$3 = $103_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + break label$3; + } + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $36_1 = i64toi32_i32$5; + $36$hi = i64toi32_i32$2; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $37$hi = i64toi32_i32$5; + i64toi32_i32$5 = $36$hi; + i64toi32_i32$5 = $37$hi; + $116_1 = i64toi32_i32$2; + i64toi32_i32$5 = $36$hi; + i64toi32_i32$0 = $36_1; + i64toi32_i32$2 = $37$hi; + i64toi32_i32$3 = $116_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2231($0_1, $1_1, $2_1, $3_1, $4_1, $4$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$6 = 0, $24$hi = 0, $25$hi = 0, $27$hi = 0, $28$hi = 0, $17_1 = 0, $24_1 = 0, $63_1 = 0, $27_1 = 0, $74_1 = 0, $16_1 = 0, $101_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + label$3 : { + if (!(HEAP32[($7_1 + 24 | 0) >> 2] | 0)) { + break label$3 + } + if (HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] | 0) { + break label$2 + } + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $24_1 = i64toi32_i32$0; + $24$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $25$hi = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$0 = $25$hi; + $63_1 = i64toi32_i32$1; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$2 = $24_1; + i64toi32_i32$1 = $25$hi; + i64toi32_i32$3 = $63_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = $7_1; + HEAP32[$7_1 >> 2] = i64toi32_i32$4; + HEAP32[($7_1 + 4 | 0) >> 2] = i64toi32_i32$5; + break label$1; + } + i64toi32_i32$0 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $27_1 = i64toi32_i32$5; + $27$hi = i64toi32_i32$2; + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $28$hi = i64toi32_i32$5; + i64toi32_i32$5 = $27$hi; + i64toi32_i32$5 = $28$hi; + $74_1 = i64toi32_i32$2; + i64toi32_i32$5 = $27$hi; + i64toi32_i32$0 = $27_1; + i64toi32_i32$2 = $28$hi; + i64toi32_i32$3 = $74_1; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$0 = $7_1; + HEAP32[$7_1 >> 2] = i64toi32_i32$1; + HEAP32[($7_1 + 4 | 0) >> 2] = i64toi32_i32$4; + } + i64toi32_i32$5 = $7_1; + i64toi32_i32$4 = HEAP32[$7_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + $16_1 = $2102(HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0) | 0; + $17_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[$17_1 >> 2] = (HEAP32[$17_1 >> 2] | 0) + $16_1 | 0; + i64toi32_i32$5 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $101_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $101_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] = 1; + global$0 = $7_1 + 32 | 0; + return; + } + + function $2232($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $232$hi = 0, $233_1 = 0, $237$hi = 0, $241$hi = 0, $242$hi = 0, $252$hi = 0, $253$hi = 0, $256$hi = 0, $257$hi = 0, $260$hi = 0, $264$hi = 0, $15_1 = 0, $18_1 = 0, $22_1 = 0, $34_1 = 0, $62_1 = 0, $70_1 = 0, $98_1 = 0, $235$hi = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $239$hi = 0, $52_1 = 0, $53_1 = 0, $54_1 = 0, $55_1 = 0, $56_1 = 0, $57_1 = 0, $246_1 = 0, $246$hi = 0, $249$hi = 0, $250$hi = 0, $58_1 = 0, $59_1 = 0, $60_1 = 0, $262$hi = 0, $182_1 = 0, $266$hi = 0, $196_1 = 0, $206_1 = 0, $216_1 = 0, $241_1 = 0, $576_1 = 0, $607_1 = 0, $252_1 = 0, $615_1 = 0, $256_1 = 0, $649_1 = 0, $201_1 = 0, $211_1 = 0, $229_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 64 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + $15_1 = 24; + $18_1 = 1; + label$3 : { + if (((HEAPU8[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $15_1 | 0) >> $15_1 | 0) { + break label$3 + } + $22_1 = 24; + $18_1 = (((HEAPU8[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $22_1 | 0) >> $22_1 | 0 | 0) != (0 | 0); + } + label$4 : { + if (!($18_1 & 1 | 0)) { + break label$4 + } + $34_1 = 24; + label$5 : { + label$6 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $34_1 | 0) >> $34_1 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$8 + } + $2077((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 1 | 0 | 0, $5_1 + 48 | 0 | 0) | 0; + break label$7; + } + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + } + label$9 : { + if (HEAP32[($5_1 + 48 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[($5_1 + 76 | 0) >> 2] = 267; + break label$1; + } + break label$5; + } + $62_1 = 24; + label$10 : { + label$11 : { + if (((HEAPU8[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0) { + break label$11 + } + HEAP32[($5_1 + 48 | 0) >> 2] = 2147483647; + break label$10; + } + HEAP32[($5_1 + 48 | 0) >> 2] = 0; + } + } + $70_1 = 24; + label$12 : { + label$13 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $70_1 | 0) >> $70_1 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + label$15 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$15 + } + $2077((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, $5_1 + 44 | 0 | 0) | 0; + break label$14; + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + } + label$16 : { + if (HEAP32[($5_1 + 44 | 0) >> 2] | 0) { + break label$16 + } + HEAP32[($5_1 + 76 | 0) >> 2] = 267; + break label$1; + } + break label$12; + } + $98_1 = 24; + label$17 : { + label$18 : { + if (((HEAPU8[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $98_1 | 0) >> $98_1 | 0) { + break label$18 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 2147483647; + break label$17; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + } + label$19 : { + label$20 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + i64toi32_i32$0 = 0; + $232$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $233_1 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $233_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $233_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $233_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2233($5_1 + 60 | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 56 | 0) >> 2] = (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + $2234($5_1 + 56 | 0 | 0, $5_1 + 32 | 0 | 0); + $2234($5_1 + 52 | 0 | 0, $5_1 + 24 | 0 | 0); + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $235$hi = i64toi32_i32$1; + i64toi32_i32$1 = $232$hi; + i64toi32_i32$1 = $235$hi; + i64toi32_i32$1 = $232$hi; + i64toi32_i32$1 = $235$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $232$hi; + i64toi32_i32$3 = 2; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $49_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $50_1 = 0 + } else { + $50_1 = 1 + } + $51_1 = $50_1; + } else { + $51_1 = 0 + } + $49_1 = $51_1; + } + label$21 : { + label$22 : { + if ($49_1 & 1 | 0) { + break label$22 + } + i64toi32_i32$2 = 0; + $237$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $239$hi = i64toi32_i32$1; + i64toi32_i32$1 = $237$hi; + i64toi32_i32$1 = $239$hi; + i64toi32_i32$1 = $237$hi; + i64toi32_i32$1 = $239$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $237$hi; + i64toi32_i32$0 = 2; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $52_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $53_1 = 0 + } else { + $53_1 = 1 + } + $54_1 = $53_1; + } else { + $54_1 = 0 + } + $52_1 = $54_1; + } + if (!($52_1 & 1 | 0)) { + break label$21 + } + } + break label$4; + } + label$23 : while (1) { + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $241_1 = i64toi32_i32$3; + $241$hi = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $242$hi = i64toi32_i32$3; + i64toi32_i32$3 = $241$hi; + i64toi32_i32$3 = $242$hi; + i64toi32_i32$3 = $241$hi; + i64toi32_i32$3 = $242$hi; + $576_1 = i64toi32_i32$1; + i64toi32_i32$3 = $241$hi; + i64toi32_i32$0 = $241_1; + i64toi32_i32$1 = $242$hi; + i64toi32_i32$2 = $576_1; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$1 | 0)) { + $55_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$2 >>> 0) { + $56_1 = 0 + } else { + $56_1 = 1 + } + $57_1 = $56_1; + } else { + $57_1 = 0 + } + $55_1 = $57_1; + } + label$24 : { + label$25 : { + if (!($55_1 & 1 | 0)) { + break label$25 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $246_1 = i64toi32_i32$0; + $246$hi = i64toi32_i32$3; + break label$24; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $246_1 = i64toi32_i32$3; + $246$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $246$hi; + $2235($5_1 + 60 | 0 | 0, $5_1 + 16 | 0 | 0, $246_1 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $249$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $250$hi = i64toi32_i32$3; + i64toi32_i32$3 = $249$hi; + i64toi32_i32$3 = $250$hi; + i64toi32_i32$3 = $249$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $250$hi; + i64toi32_i32$1 = 2; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + $607_1 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $607_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $252_1 = i64toi32_i32$5; + $252$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $253$hi = i64toi32_i32$5; + i64toi32_i32$5 = $252$hi; + i64toi32_i32$5 = $253$hi; + i64toi32_i32$5 = $252$hi; + i64toi32_i32$5 = $253$hi; + $615_1 = i64toi32_i32$2; + i64toi32_i32$5 = $252$hi; + i64toi32_i32$3 = $252_1; + i64toi32_i32$2 = $253$hi; + i64toi32_i32$1 = $615_1; + label$26 : { + label$27 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$27 + } + $2236($5_1 + 56 | 0 | 0, $5_1 + 32 | 0 | 0); + $2236($5_1 + 52 | 0 | 0, $5_1 + 24 | 0 | 0); + break label$26; + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $256_1 = i64toi32_i32$3; + $256$hi = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $257$hi = i64toi32_i32$3; + i64toi32_i32$3 = $256$hi; + i64toi32_i32$3 = $257$hi; + i64toi32_i32$3 = $256$hi; + i64toi32_i32$3 = $257$hi; + $649_1 = i64toi32_i32$5; + i64toi32_i32$3 = $256$hi; + i64toi32_i32$1 = $256_1; + i64toi32_i32$5 = $257$hi; + i64toi32_i32$2 = $649_1; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$5 | 0)) { + $58_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$2 >>> 0) { + $59_1 = 0 + } else { + $59_1 = 1 + } + $60_1 = $59_1; + } else { + $60_1 = 0 + } + $58_1 = $60_1; + } + label$28 : { + label$29 : { + if (!($58_1 & 1 | 0)) { + break label$29 + } + $2236($5_1 + 56 | 0 | 0, $5_1 + 32 | 0 | 0); + break label$28; + } + $2236($5_1 + 52 | 0 | 0, $5_1 + 24 | 0 | 0); + } + } + i64toi32_i32$1 = 2147483647; + $260$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $262$hi = i64toi32_i32$3; + i64toi32_i32$3 = $260$hi; + i64toi32_i32$3 = $262$hi; + i64toi32_i32$3 = $260$hi; + i64toi32_i32$3 = $262$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $260$hi; + i64toi32_i32$5 = -1; + $182_1 = 1; + label$30 : { + if (((i64toi32_i32$2 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0) { + break label$30 + } + i64toi32_i32$2 = 2147483647; + $264$hi = i64toi32_i32$2; + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $266$hi = i64toi32_i32$3; + i64toi32_i32$3 = $264$hi; + i64toi32_i32$3 = $266$hi; + i64toi32_i32$3 = $264$hi; + i64toi32_i32$3 = $266$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $264$hi; + i64toi32_i32$1 = -1; + $182_1 = (i64toi32_i32$5 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | 0; + } + if ($182_1 & 1 | 0) { + continue label$23 + } + break label$23; + }; + break label$19; + } + label$31 : { + label$32 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$32 + } + $196_1 = $5_1 + 60 | 0; + $201_1 = $2233($196_1 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + $201_1 | 0; + $2104($196_1 | 0, $5_1 + 56 | 0 | 0); + break label$31; + } + $206_1 = $5_1 + 60 | 0; + $211_1 = $2233($206_1 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + $211_1 | 0; + $2104($206_1 | 0, $5_1 + 52 | 0 | 0); + } + } + continue label$2; + } + break label$2; + }; + $216_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $216_1 + 1 | 0; + HEAP8[$216_1 >> 0] = 0; + HEAP32[(HEAP32[($5_1 + 72 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] = (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(HEAP32[($5_1 + 64 | 0) >> 2] | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = 0; + } + $229_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + global$0 = $5_1 + 80 | 0; + return $229_1 | 0; + } + + function $2233($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $23_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ($2102((HEAP32[$4_1 >> 2] | 0) + 1 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP8[(HEAP32[$4_1 >> 2] | 0) >> 0] = 1; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0; + } + $23_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $23_1 | 0; + } + + function $2234($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $9_1 = 0, $15$hi = 0, $12_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $8_1 = 0, $15_1 = 0, $50$hi = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $2061(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, $4_1 | 0) | 0; + $9_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$9_1 >> 2] = (HEAP32[$9_1 >> 2] | 0) + $8_1 | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $15_1 = i64toi32_i32$0; + $15$hi = i64toi32_i32$1; + $12_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $12_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $50$hi = i64toi32_i32$0; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$3 = $15_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $12_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + global$0 = $4_1 + 16 | 0; + return; + } + + function $2235($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, $16$hi = 0, $17$hi = 0, i64toi32_i32$3 = 0, $10_1 = 0, $16_1 = 0, $42_1 = 0, $9_1 = 0, $61_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $16_1 = i64toi32_i32$0; + $16$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $17$hi = i64toi32_i32$0; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$0 = $17$hi; + $42_1 = i64toi32_i32$1; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$2 = $16_1; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$3 = $42_1; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $9_1 = $2102(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$2 - i64toi32_i32$3 | 0 | 0, i64toi32_i32$5 | 0) | 0; + $10_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[$10_1 >> 2] = (HEAP32[$10_1 >> 2] | 0) + $9_1 | 0; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $61_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $61_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + global$0 = $5_1 + 16 | 0; + return; + } + + function $2236($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $26_1 = 0, $34_1 = 0, $44$hi = 0, $39_1 = 0, $40_1 = 0, $47$hi = 0, $48$hi = 0, $44_1 = 0, $134$hi = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0) & 254 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(((HEAPU8[(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$4 + } + $26_1 = $2077(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, $4_1 + 4 | 0 | 0) | 0; + break label$3; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAPU8[(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $26_1 = 1; + } + $34_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$34_1 >> 2] = (HEAP32[$34_1 >> 2] | 0) + $26_1 | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $44_1 = i64toi32_i32$1; + $44$hi = i64toi32_i32$0; + $39_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $39_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $134$hi = i64toi32_i32$1; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $134$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $44$hi; + i64toi32_i32$3 = $44_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $39_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + $40_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = $40_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $47$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $48$hi = i64toi32_i32$2; + i64toi32_i32$2 = $47$hi; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$2 = $47$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $48$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $40_1; + HEAP32[i64toi32_i32$1 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + break label$1; + } + i64toi32_i32$4 = 2147483647; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2237($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$6 = 0, $371_1 = 0, $373$hi = 0, $383$hi = 0, $387$hi = 0, $390$hi = 0, $393$hi = 0, $394$hi = 0, $397$hi = 0, $400$hi = 0, $413$hi = 0, $416$hi = 0, $419$hi = 0, $420$hi = 0, $186_1 = 0, $10_1 = 0, $19_1 = 0, $41_1 = 0, $53_1 = 0, $75_1 = 0, $94_1 = 0, $374$hi = 0, $375$hi = 0, $377$hi = 0, $378$hi = 0, $381$hi = 0, $88_1 = 0, $89_1 = 0, $90_1 = 0, $385$hi = 0, $91_1 = 0, $92_1 = 0, $93_1 = 0, $388$hi = 0, $389$hi = 0, $95_1 = 0, $96_1 = 0, $97_1 = 0, $398$hi = 0, $399$hi = 0, $98_1 = 0, $99_1 = 0, $101_1 = 0, $404_1 = 0, $404$hi = 0, $407$hi = 0, $408$hi = 0, $410$hi = 0, $411$hi = 0, $414$hi = 0, $415$hi = 0, $102_1 = 0, $103_1 = 0, $104_1 = 0, $105_1 = 0, $106_1 = 0, $107_1 = 0, $154_1 = 0, $423$hi = 0, $424$hi = 0, $167_1 = 0, $426$hi = 0, $427$hi = 0, $195_1 = 0, $206_1 = 0, $228_1 = 0, $251_1 = 0, $267_1 = 0, $273_1 = 0, $295_1 = 0, $304_1 = 0, $310_1 = 0, $332_1 = 0, $341_1 = 0, $363_1 = 0, $100_1 = 0, $387_1 = 0, $388_1 = 0, $723_1 = 0, $393_1 = 0, $744_1 = 0, $397_1 = 0, $398_1 = 0, $761_1 = 0, $136_1 = 0, $139_1 = 0, $142_1 = 0, $413_1 = 0, $414_1 = 0, $824_1 = 0, $419_1 = 0, $842_1 = 0, $368_1 = 0; + $8_1 = global$0 - 96 | 0; + global$0 = $8_1; + $10_1 = 0; + HEAP32[($8_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 68 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 52 | 0) >> 2] = $10_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $10_1; + $19_1 = 24; + label$1 : { + if (!((((HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 1 | 0; + label$2 : { + label$3 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$3 + } + $41_1 = $2077(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, $8_1 + 52 | 0 | 0) | 0; + break label$2; + } + HEAP32[($8_1 + 52 | 0) >> 2] = (HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $41_1 = 1; + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + $41_1 | 0; + } + $53_1 = 24; + label$4 : { + if (!((((HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $53_1 | 0) >> $53_1 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1 | 0; + label$5 : { + label$6 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$6 + } + $75_1 = $2077(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, $8_1 + 48 | 0 | 0) | 0; + break label$5; + } + HEAP32[($8_1 + 48 | 0) >> 2] = (HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $75_1 = 1; + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + $75_1 | 0; + } + label$7 : { + label$8 : while (1) { + label$9 : { + label$10 : { + if (!((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$0 = 0; + $371_1 = 0; + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $371_1; + HEAP32[($8_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $371_1; + HEAP32[($8_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $371_1; + HEAP32[($8_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$11 : { + if (!(HEAP32[($8_1 + 52 | 0) >> 2] | 0)) { + break label$11 + } + $94_1 = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + HEAP32[($8_1 + 64 | 0) >> 2] = $94_1 + 1 | 0; + HEAP8[$94_1 >> 0] = 1; + i64toi32_i32$1 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $100_1 = $2102(HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($8_1 + 64 | 0) >> 2] = (HEAP32[($8_1 + 64 | 0) >> 2] | 0) + $100_1 | 0; + } + i64toi32_i32$0 = 0; + $373$hi = i64toi32_i32$0; + $2234($8_1 + 60 | 0 | 0, $8_1 + 24 | 0 | 0); + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $374$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $375$hi = i64toi32_i32$1; + i64toi32_i32$1 = $374$hi; + i64toi32_i32$1 = $375$hi; + i64toi32_i32$1 = $374$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $375$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = $8_1; + HEAP32[($8_1 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($8_1 + 28 | 0) >> 2] = i64toi32_i32$5; + $2234($8_1 + 56 | 0 | 0, $8_1 + 16 | 0 | 0); + i64toi32_i32$1 = $8_1; + i64toi32_i32$5 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $377$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $378$hi = i64toi32_i32$2; + i64toi32_i32$2 = $377$hi; + i64toi32_i32$2 = $378$hi; + i64toi32_i32$2 = $377$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $378$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 16 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 20 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$2 = $8_1; + i64toi32_i32$4 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $381$hi = i64toi32_i32$1; + i64toi32_i32$1 = $373$hi; + i64toi32_i32$1 = $381$hi; + i64toi32_i32$1 = $373$hi; + i64toi32_i32$1 = $381$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $373$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$4 | 0)) { + $88_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $89_1 = 0 + } else { + $89_1 = 1 + } + $90_1 = $89_1; + } else { + $90_1 = 0 + } + $88_1 = $90_1; + } + label$12 : { + label$13 : { + if ($88_1 & 1 | 0) { + break label$13 + } + i64toi32_i32$2 = 0; + $383$hi = i64toi32_i32$2; + i64toi32_i32$3 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $385$hi = i64toi32_i32$1; + i64toi32_i32$1 = $383$hi; + i64toi32_i32$1 = $385$hi; + i64toi32_i32$1 = $383$hi; + i64toi32_i32$1 = $385$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $383$hi; + i64toi32_i32$4 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $91_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$4 >>> 0) { + $92_1 = 0 + } else { + $92_1 = 1 + } + $93_1 = $92_1; + } else { + $93_1 = 0 + } + $91_1 = $93_1; + } + if (!($91_1 & 1 | 0)) { + break label$12 + } + } + break label$7; + } + label$14 : while (1) { + i64toi32_i32$4 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $387_1 = i64toi32_i32$3; + $387$hi = i64toi32_i32$1; + i64toi32_i32$4 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $388_1 = i64toi32_i32$1; + $388$hi = i64toi32_i32$3; + i64toi32_i32$1 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$1 >> 31 | 0; + $389$hi = i64toi32_i32$3; + i64toi32_i32$3 = $388$hi; + i64toi32_i32$3 = $389$hi; + $723_1 = i64toi32_i32$1; + i64toi32_i32$3 = $388$hi; + i64toi32_i32$4 = $388_1; + i64toi32_i32$1 = $389$hi; + i64toi32_i32$2 = $723_1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $390$hi = i64toi32_i32$0; + i64toi32_i32$0 = $387$hi; + i64toi32_i32$0 = $390$hi; + i64toi32_i32$0 = $387$hi; + i64toi32_i32$0 = $390$hi; + i64toi32_i32$0 = $387$hi; + i64toi32_i32$3 = $387_1; + i64toi32_i32$4 = $390$hi; + i64toi32_i32$2 = i64toi32_i32$5; + label$15 : { + label$16 : { + if (((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0) { + break label$16 + } + if (HEAP32[($8_1 + 76 | 0) >> 2] | 0) { + break label$15 + } + i64toi32_i32$2 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $393_1 = i64toi32_i32$3; + $393$hi = i64toi32_i32$0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $394$hi = i64toi32_i32$3; + i64toi32_i32$3 = $393$hi; + i64toi32_i32$3 = $394$hi; + i64toi32_i32$3 = $393$hi; + i64toi32_i32$3 = $394$hi; + $744_1 = i64toi32_i32$0; + i64toi32_i32$3 = $393$hi; + i64toi32_i32$2 = $393_1; + i64toi32_i32$0 = $394$hi; + i64toi32_i32$4 = $744_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$0 | 0)) { + $95_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$4 >>> 0) { + $96_1 = 0 + } else { + $96_1 = 1 + } + $97_1 = $96_1; + } else { + $97_1 = 0 + } + $95_1 = $97_1; + } + if (!($95_1 & 1 | 0)) { + break label$15 + } + i64toi32_i32$4 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $397_1 = i64toi32_i32$2; + $397$hi = i64toi32_i32$3; + i64toi32_i32$4 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $398_1 = i64toi32_i32$3; + $398$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; + $399$hi = i64toi32_i32$2; + i64toi32_i32$2 = $398$hi; + i64toi32_i32$2 = $399$hi; + $761_1 = i64toi32_i32$3; + i64toi32_i32$2 = $398$hi; + i64toi32_i32$4 = $398_1; + i64toi32_i32$3 = $399$hi; + i64toi32_i32$0 = $761_1; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $400$hi = i64toi32_i32$5; + i64toi32_i32$5 = $397$hi; + i64toi32_i32$5 = $400$hi; + i64toi32_i32$5 = $397$hi; + i64toi32_i32$5 = $400$hi; + i64toi32_i32$5 = $397$hi; + i64toi32_i32$2 = $397_1; + i64toi32_i32$4 = $400$hi; + i64toi32_i32$0 = i64toi32_i32$1; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$4 | 0)) { + $98_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0) { + $99_1 = 0 + } else { + $99_1 = 1 + } + $101_1 = $99_1; + } else { + $101_1 = 0 + } + $98_1 = $101_1; + } + if (!($98_1 & 1 | 0)) { + break label$15 + } + } + label$17 : { + label$18 : { + if (!(HEAP32[($8_1 + 80 | 0) >> 2] | 0)) { + break label$18 + } + i64toi32_i32$0 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $404_1 = i64toi32_i32$2; + $404$hi = i64toi32_i32$5; + break label$17; + } + i64toi32_i32$0 = $8_1; + i64toi32_i32$5 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $404_1 = i64toi32_i32$5; + $404$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $404$hi; + $136_1 = 0; + $139_1 = $8_1 + 64 | 0; + $142_1 = $8_1 + 32 | 0; + i64toi32_i32$5 = $8_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $404_1; + HEAP32[($8_1 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$0 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + $407$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $408$hi = i64toi32_i32$5; + i64toi32_i32$5 = $407$hi; + i64toi32_i32$5 = $408$hi; + i64toi32_i32$5 = $407$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $408$hi; + i64toi32_i32$4 = 2; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $2235($139_1 | 0, $142_1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$5 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $410$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $411$hi = i64toi32_i32$0; + i64toi32_i32$0 = $410$hi; + i64toi32_i32$0 = $411$hi; + i64toi32_i32$0 = $410$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $411$hi; + i64toi32_i32$4 = 2; + i64toi32_i32$2 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = $8_1; + HEAP32[($8_1 + 32 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($8_1 + 36 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($8_1 + 44 | 0) >> 2] = $136_1; + } + label$19 : { + label$20 : { + label$21 : { + label$22 : { + label$23 : { + if (HEAP32[($8_1 + 80 | 0) >> 2] | 0) { + break label$23 + } + i64toi32_i32$0 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $413_1 = i64toi32_i32$3; + $413$hi = i64toi32_i32$5; + i64toi32_i32$0 = $8_1; + i64toi32_i32$5 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $414_1 = i64toi32_i32$5; + $414$hi = i64toi32_i32$3; + i64toi32_i32$5 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$5 >> 31 | 0; + $415$hi = i64toi32_i32$3; + i64toi32_i32$3 = $414$hi; + i64toi32_i32$3 = $415$hi; + $824_1 = i64toi32_i32$5; + i64toi32_i32$3 = $414$hi; + i64toi32_i32$0 = $414_1; + i64toi32_i32$5 = $415$hi; + i64toi32_i32$4 = $824_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $416$hi = i64toi32_i32$2; + i64toi32_i32$2 = $413$hi; + i64toi32_i32$2 = $416$hi; + i64toi32_i32$2 = $413$hi; + i64toi32_i32$2 = $416$hi; + i64toi32_i32$2 = $413$hi; + i64toi32_i32$3 = $413_1; + i64toi32_i32$0 = $416$hi; + i64toi32_i32$4 = i64toi32_i32$1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $102_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 > i64toi32_i32$4 >>> 0) { + $103_1 = 0 + } else { + $103_1 = 1 + } + $104_1 = $103_1; + } else { + $104_1 = 0 + } + $102_1 = $104_1; + } + if ($102_1 & 1 | 0) { + break label$22 + } + } + i64toi32_i32$4 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $419_1 = i64toi32_i32$3; + $419$hi = i64toi32_i32$2; + i64toi32_i32$4 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $420$hi = i64toi32_i32$3; + i64toi32_i32$3 = $419$hi; + i64toi32_i32$3 = $420$hi; + i64toi32_i32$3 = $419$hi; + i64toi32_i32$3 = $420$hi; + $842_1 = i64toi32_i32$2; + i64toi32_i32$3 = $419$hi; + i64toi32_i32$4 = $419_1; + i64toi32_i32$2 = $420$hi; + i64toi32_i32$0 = $842_1; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$2 | 0)) { + $105_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$4 >>> 0 > i64toi32_i32$0 >>> 0) { + $106_1 = 0 + } else { + $106_1 = 1 + } + $107_1 = $106_1; + } else { + $107_1 = 0 + } + $105_1 = $107_1; + } + if (!($105_1 & 1 | 0)) { + break label$21 + } + } + $154_1 = 24; + label$24 : { + if ((((HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $154_1 | 0) >> $154_1 | 0) & 254 | 0) { + break label$24 + } + break label$19; + } + $2234($8_1 + 56 | 0 | 0, $8_1 + 16 | 0 | 0); + i64toi32_i32$0 = $8_1; + i64toi32_i32$4 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + $423$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $424$hi = i64toi32_i32$3; + i64toi32_i32$3 = $423$hi; + i64toi32_i32$3 = $424$hi; + i64toi32_i32$3 = $423$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$4 = $424$hi; + i64toi32_i32$2 = 2; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$0 = $8_1; + HEAP32[($8_1 + 16 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($8_1 + 20 | 0) >> 2] = i64toi32_i32$1; + break label$20; + } + $167_1 = 24; + label$25 : { + if ((((HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) << $167_1 | 0) >> $167_1 | 0) & 254 | 0) { + break label$25 + } + break label$19; + } + $2234($8_1 + 60 | 0 | 0, $8_1 + 24 | 0 | 0); + i64toi32_i32$3 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $426$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $427$hi = i64toi32_i32$0; + i64toi32_i32$0 = $426$hi; + i64toi32_i32$0 = $427$hi; + i64toi32_i32$0 = $426$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $427$hi; + i64toi32_i32$2 = 2; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$3 = $8_1; + HEAP32[($8_1 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($8_1 + 28 | 0) >> 2] = i64toi32_i32$5; + } + continue label$14; + } + break label$14; + }; + label$26 : { + if (!((HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($8_1 + 64 | 0) >> 2] = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + } + $186_1 = 0; + $2104($186_1 | 0, $8_1 + 60 | 0 | 0); + $2104($186_1 | 0, $8_1 + 56 | 0 | 0); + $195_1 = 24; + label$27 : { + label$28 : { + if (($186_1 | 0) == (((HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) << $195_1 | 0) >> $195_1 | 0 | 0) & 1 | 0) { + break label$28 + } + $206_1 = 24; + if (!((0 | 0) == (((HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $206_1 | 0) >> $206_1 | 0 | 0) & 1 | 0)) { + break label$27 + } + } + break label$7; + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 1 | 0; + label$29 : { + label$30 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$30 + } + $228_1 = $2077(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, $8_1 + 52 | 0 | 0) | 0; + break label$29; + } + HEAP32[($8_1 + 52 | 0) >> 2] = (HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $228_1 = 1; + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + $228_1 | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1 | 0; + label$31 : { + label$32 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$32 + } + $251_1 = $2077(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, $8_1 + 48 | 0 | 0) | 0; + break label$31; + } + HEAP32[($8_1 + 48 | 0) >> 2] = (HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $251_1 = 1; + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + $251_1 | 0; + break label$9; + } + label$33 : { + label$34 : { + if (!((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$34 + } + $267_1 = 0; + $2104($267_1 | 0, $8_1 + 60 | 0 | 0); + $273_1 = 24; + label$35 : { + if (!(($267_1 | 0) == (((HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) << $273_1 | 0) >> $273_1 | 0 | 0) & 1 | 0)) { + break label$35 + } + break label$7; + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 1 | 0; + label$36 : { + label$37 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$37 + } + $295_1 = $2077(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, $8_1 + 52 | 0 | 0) | 0; + break label$36; + } + HEAP32[($8_1 + 52 | 0) >> 2] = (HEAPU8[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $295_1 = 1; + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + $295_1 | 0; + break label$33; + } + $304_1 = 0; + $2104($304_1 | 0, $8_1 + 56 | 0 | 0); + $310_1 = 24; + label$38 : { + if (!(($304_1 | 0) == (((HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) << $310_1 | 0) >> $310_1 | 0 | 0) & 1 | 0)) { + break label$38 + } + break label$7; + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1 | 0; + label$39 : { + label$40 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$40 + } + $332_1 = $2077(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, $8_1 + 48 | 0 | 0) | 0; + break label$39; + } + HEAP32[($8_1 + 48 | 0) >> 2] = (HEAPU8[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $332_1 = 1; + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + $332_1 | 0; + } + } + continue label$8; + }; + } + $341_1 = 0; + $2105($341_1 | 0, $8_1 + 56 | 0 | 0); + $2105($341_1 | 0, $8_1 + 60 | 0 | 0); + HEAP32[(HEAP32[($8_1 + 72 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + label$41 : { + label$42 : { + if (!((HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$42 + } + HEAP32[($8_1 + 92 | 0) >> 2] = 0; + break label$41; + } + $363_1 = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + HEAP32[($8_1 + 64 | 0) >> 2] = $363_1 + 1 | 0; + HEAP8[$363_1 >> 0] = 0; + HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + HEAP32[($8_1 + 92 | 0) >> 2] = 1; + } + $368_1 = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + global$0 = $8_1 + 96 | 0; + return $368_1 | 0; + } + + function $2238($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $87_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 ? 95 : 96; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2067(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!($2087(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + } + break label$3; + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2096(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + $2090(HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + } + $87_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $87_1 | 0; + } + + function $2239($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $10_1 = 0, $39_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : while (1) { + $10_1 = 0; + label$2 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + $10_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($10_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 8 | 0) >> 2] = ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 24) | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $39_1 = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $39_1; + HEAP32[$4_1 >> 2] = $39_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2219(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, $4_1 + 4 | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2220(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $55_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $55_1 | 0; + } + + function $2240($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, $74_1 = 0, $436$hi = 0, $437$hi = 0, $440$hi = 0, $441$hi = 0, $444$hi = 0, $449$hi = 0, $454$hi = 0, $455$hi = 0, $458$hi = 0, $459$hi = 0, $463$hi = 0, $467$hi = 0, $471$hi = 0, $472$hi = 0, $475$hi = 0, $476$hi = 0, $480$hi = 0, $372_1 = 0, $486$hi = 0, $487$hi = 0, $490$hi = 0, $491$hi = 0, $15_1 = 0, $77_1 = 0, $78_1 = 0, $79_1 = 0, $105_1 = 0, $447$hi = 0, $451$hi = 0, $80_1 = 0, $81_1 = 0, $82_1 = 0, $136_1 = 0, $175_1 = 0, $217_1 = 0, $237_1 = 0, $83_1 = 0, $84_1 = 0, $85_1 = 0, $254_1 = 0, $465$hi = 0, $86_1 = 0, $87_1 = 0, $88_1 = 0, $469$hi = 0, $89_1 = 0, $90_1 = 0, $91_1 = 0, $301_1 = 0, $92_1 = 0, $93_1 = 0, $94_1 = 0, $324_1 = 0, $482$hi = 0, $95_1 = 0, $96_1 = 0, $97_1 = 0, $99_1 = 0, $100_1 = 0, $101_1 = 0, $394_1 = 0, $579_1 = 0, $622_1 = 0, $98_1 = 0, $436_1 = 0, $718_1 = 0, $440_1 = 0, $737_1 = 0, $755_1 = 0, $805_1 = 0, $247_1 = 0, $454_1 = 0, $1046_1 = 0, $458_1 = 0, $1065_1 = 0, $1083_1 = 0, $317_1 = 0, $471_1 = 0, $1216_1 = 0, $475_1 = 0, $1235_1 = 0, $1253_1 = 0, $1289_1 = 0, $1297_1 = 0, $387_1 = 0, $486_1 = 0, $1385_1 = 0, $490_1 = 0, $1404_1 = 0, $1446_1 = 0, $428_1 = 0, $1488_1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($5_1 + 64 | 0) >> 2] = HEAPU8[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0; + HEAP8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 33 | 0) >> 0] = 1; + $15_1 = (HEAP32[(HEAP32[($5_1 + 72 | 0) >> 2] | 0) >> 2] | 0) + -1 | 0; + label$2 : { + label$3 : { + switch ($15_1 | 0) { + case 0: + case 2: + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 34 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $579_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $579_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$1; + HEAP8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0; + break label$7; + } + label$9 : { + label$10 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 34 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $622_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $622_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0; + break label$9; + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + label$11 : while (1) { + $74_1 = 0; + label$12 : { + if (((HEAPU8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$12 + } + $74_1 = 0; + if (((HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$12 + } + $74_1 = (HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$13 : { + if (!($74_1 & 1 | 0)) { + break label$13 + } + $98_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$2 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $436_1 = i64toi32_i32$0; + $436$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $437$hi = i64toi32_i32$0; + i64toi32_i32$0 = $436$hi; + i64toi32_i32$0 = $437$hi; + i64toi32_i32$0 = $436$hi; + i64toi32_i32$0 = $437$hi; + $718_1 = i64toi32_i32$1; + i64toi32_i32$0 = $436$hi; + i64toi32_i32$2 = $436_1; + i64toi32_i32$1 = $437$hi; + i64toi32_i32$3 = $718_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $77_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $78_1 = 0 + } else { + $78_1 = 1 + } + $79_1 = $78_1; + } else { + $79_1 = 0 + } + $77_1 = $79_1; + } + label$14 : { + label$15 : { + if (!($77_1 & 1 | 0)) { + break label$15 + } + $105_1 = 1; + break label$14; + } + i64toi32_i32$3 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $440_1 = i64toi32_i32$2; + $440$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $441$hi = i64toi32_i32$2; + i64toi32_i32$2 = $440$hi; + i64toi32_i32$2 = $441$hi; + i64toi32_i32$2 = $440$hi; + i64toi32_i32$2 = $441$hi; + $737_1 = i64toi32_i32$0; + i64toi32_i32$2 = $440$hi; + i64toi32_i32$3 = $440_1; + i64toi32_i32$0 = $441$hi; + i64toi32_i32$1 = $737_1; + $105_1 = ((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0 ? 0 : -1; + } + i64toi32_i32$3 = 0; + $444$hi = i64toi32_i32$3; + i64toi32_i32$2 = Math_imul($98_1, $105_1); + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + $755_1 = i64toi32_i32$2; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $755_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $447$hi = i64toi32_i32$2; + i64toi32_i32$2 = $444$hi; + i64toi32_i32$2 = $447$hi; + i64toi32_i32$2 = $444$hi; + i64toi32_i32$2 = $447$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $444$hi; + i64toi32_i32$0 = 0; + label$16 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$16 + } + break label$13; + } + i64toi32_i32$1 = 0; + $449$hi = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $451$hi = i64toi32_i32$2; + i64toi32_i32$2 = $449$hi; + i64toi32_i32$2 = $451$hi; + i64toi32_i32$2 = $449$hi; + i64toi32_i32$2 = $451$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $449$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $80_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$3 >>> 0) { + $81_1 = 0 + } else { + $81_1 = 1 + } + $82_1 = $81_1; + } else { + $82_1 = 0 + } + $80_1 = $82_1; + } + label$17 : { + label$18 : { + if (!($80_1 & 1 | 0)) { + break label$18 + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + break label$17; + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + } + continue label$11; + } + break label$11; + }; + i64toi32_i32$3 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $805_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $805_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$2; + $136_1 = 1; + label$19 : { + if ((HEAPU8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) { + break label$19 + } + $136_1 = ((HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + HEAP8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 0] = $136_1 & 1 | 0; + label$20 : { + if (!((HEAP32[(HEAP32[($5_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$20 + } + if (!((HEAPU8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0)) { + break label$20 + } + label$21 : { + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$22 : while (1) { + $175_1 = 0; + label$23 : { + if (HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0) { + break label$23 + } + $175_1 = ((HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + label$24 : { + if (!($175_1 & 1 | 0)) { + break label$24 + } + $3289(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) | 0; + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + continue label$22; + } + break label$22; + }; + } + label$25 : { + if (!((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$26 : while (1) { + $217_1 = 0; + label$27 : { + if (HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0) { + break label$27 + } + $217_1 = ((HEAPU8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + label$28 : { + if (!($217_1 & 1 | 0)) { + break label$28 + } + $3289(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) | 0; + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + continue label$26; + } + break label$26; + }; + } + $237_1 = 1; + HEAP8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 0] = $237_1; + HEAP8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 0] = $237_1; + } + } + } + break label$2; + case 3: + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $247_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$3 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $454_1 = i64toi32_i32$2; + $454$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $455$hi = i64toi32_i32$2; + i64toi32_i32$2 = $454$hi; + i64toi32_i32$2 = $455$hi; + i64toi32_i32$2 = $454$hi; + i64toi32_i32$2 = $455$hi; + $1046_1 = i64toi32_i32$0; + i64toi32_i32$2 = $454$hi; + i64toi32_i32$3 = $454_1; + i64toi32_i32$0 = $455$hi; + i64toi32_i32$1 = $1046_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $83_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $84_1 = 0 + } else { + $84_1 = 1 + } + $85_1 = $84_1; + } else { + $85_1 = 0 + } + $83_1 = $85_1; + } + label$29 : { + label$30 : { + if (!($83_1 & 1 | 0)) { + break label$30 + } + $254_1 = 1; + break label$29; + } + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $458_1 = i64toi32_i32$3; + $458$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $459$hi = i64toi32_i32$3; + i64toi32_i32$3 = $458$hi; + i64toi32_i32$3 = $459$hi; + i64toi32_i32$3 = $458$hi; + i64toi32_i32$3 = $459$hi; + $1065_1 = i64toi32_i32$2; + i64toi32_i32$3 = $458$hi; + i64toi32_i32$1 = $458_1; + i64toi32_i32$2 = $459$hi; + i64toi32_i32$0 = $1065_1; + $254_1 = ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0 ? 0 : -1; + } + i64toi32_i32$3 = Math_imul($247_1, $254_1); + i64toi32_i32$1 = i64toi32_i32$3 >> 31 | 0; + $1083_1 = i64toi32_i32$3; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1083_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + label$31 : { + label$32 : { + label$33 : { + if ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) { + break label$33 + } + if ((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) { + break label$32 + } + i64toi32_i32$1 = 0; + $463$hi = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $465$hi = i64toi32_i32$3; + i64toi32_i32$3 = $463$hi; + i64toi32_i32$3 = $465$hi; + i64toi32_i32$3 = $463$hi; + i64toi32_i32$3 = $465$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $463$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$1 | 0)) { + $86_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$2 >>> 0) { + $87_1 = 0 + } else { + $87_1 = 1 + } + $88_1 = $87_1; + } else { + $88_1 = 0 + } + $86_1 = $88_1; + } + if (!($86_1 & 1 | 0)) { + break label$32 + } + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + break label$31; + } + label$34 : { + label$35 : { + label$36 : { + if ((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) { + break label$36 + } + i64toi32_i32$0 = 0; + $467$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $469$hi = i64toi32_i32$3; + i64toi32_i32$3 = $467$hi; + i64toi32_i32$3 = $469$hi; + i64toi32_i32$3 = $467$hi; + i64toi32_i32$3 = $469$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $467$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$0 | 0)) { + $89_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$1 >>> 0) { + $90_1 = 0 + } else { + $90_1 = 1 + } + $91_1 = $90_1; + } else { + $91_1 = 0 + } + $89_1 = $91_1; + } + if (!($89_1 & 1 | 0)) { + break label$35 + } + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + break label$34; + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + } + } + $301_1 = 0; + label$37 : { + if (!((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0)) { + break label$37 + } + $301_1 = ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + HEAP8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 0] = $301_1 & 1 | 0; + $317_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $471_1 = i64toi32_i32$2; + $471$hi = i64toi32_i32$3; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $472$hi = i64toi32_i32$2; + i64toi32_i32$2 = $471$hi; + i64toi32_i32$2 = $472$hi; + i64toi32_i32$2 = $471$hi; + i64toi32_i32$2 = $472$hi; + $1216_1 = i64toi32_i32$3; + i64toi32_i32$2 = $471$hi; + i64toi32_i32$1 = $471_1; + i64toi32_i32$3 = $472$hi; + i64toi32_i32$0 = $1216_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$3 | 0)) { + $92_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0) { + $93_1 = 0 + } else { + $93_1 = 1 + } + $94_1 = $93_1; + } else { + $94_1 = 0 + } + $92_1 = $94_1; + } + label$38 : { + label$39 : { + if (!($92_1 & 1 | 0)) { + break label$39 + } + $324_1 = 1; + break label$38; + } + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; + $475_1 = i64toi32_i32$1; + $475$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; + $476$hi = i64toi32_i32$1; + i64toi32_i32$1 = $475$hi; + i64toi32_i32$1 = $476$hi; + i64toi32_i32$1 = $475$hi; + i64toi32_i32$1 = $476$hi; + $1235_1 = i64toi32_i32$2; + i64toi32_i32$1 = $475$hi; + i64toi32_i32$0 = $475_1; + i64toi32_i32$2 = $476$hi; + i64toi32_i32$3 = $1235_1; + $324_1 = ((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0 ? 0 : -1; + } + i64toi32_i32$1 = Math_imul($317_1, $324_1); + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $1253_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1253_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$40 : { + label$41 : { + label$42 : { + if ((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) { + break label$42 + } + if ((HEAPU8[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) { + break label$41 + } + i64toi32_i32$0 = 0; + $480$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $482$hi = i64toi32_i32$1; + i64toi32_i32$1 = $480$hi; + i64toi32_i32$1 = $482$hi; + i64toi32_i32$1 = $480$hi; + i64toi32_i32$1 = $482$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $480$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $95_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$2 >>> 0) { + $96_1 = 0 + } else { + $96_1 = 1 + } + $97_1 = $96_1; + } else { + $97_1 = 0 + } + $95_1 = $97_1; + } + if (!($95_1 & 1 | 0)) { + break label$41 + } + } + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $1289_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] = $1289_1; + HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] = i64toi32_i32$1; + break label$40; + } + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $1297_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $1297_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$3; + } + break label$2; + case 1: + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$43 : { + if ((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 33 | 0) >> 0] | 0) & 255 | 0) { + break label$43 + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + label$44 : { + if ((HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) { + break label$44 + } + label$45 : while (1) { + $372_1 = 0; + label$46 : { + if (HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0) { + break label$46 + } + $372_1 = 0; + if (((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$46 + } + $387_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $486_1 = i64toi32_i32$3; + $486$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $487$hi = i64toi32_i32$3; + i64toi32_i32$3 = $486$hi; + i64toi32_i32$3 = $487$hi; + i64toi32_i32$3 = $486$hi; + i64toi32_i32$3 = $487$hi; + $1385_1 = i64toi32_i32$1; + i64toi32_i32$3 = $486$hi; + i64toi32_i32$2 = $486_1; + i64toi32_i32$1 = $487$hi; + i64toi32_i32$0 = $1385_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$1 | 0)) { + $99_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$0 >>> 0) { + $100_1 = 0 + } else { + $100_1 = 1 + } + $101_1 = $100_1; + } else { + $101_1 = 0 + } + $99_1 = $101_1; + } + label$47 : { + label$48 : { + if (!($99_1 & 1 | 0)) { + break label$48 + } + $394_1 = 1; + break label$47; + } + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; + $490_1 = i64toi32_i32$2; + $490$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; + $491$hi = i64toi32_i32$2; + i64toi32_i32$2 = $490$hi; + i64toi32_i32$2 = $491$hi; + i64toi32_i32$2 = $490$hi; + i64toi32_i32$2 = $491$hi; + $1404_1 = i64toi32_i32$3; + i64toi32_i32$2 = $490$hi; + i64toi32_i32$0 = $490_1; + i64toi32_i32$3 = $491$hi; + i64toi32_i32$1 = $1404_1; + $394_1 = ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0 ? 0 : -1; + } + $372_1 = (Math_imul($387_1, $394_1) | 0) > (0 | 0); + } + label$49 : { + if (!($372_1 & 1 | 0)) { + break label$49 + } + $2240(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + continue label$45; + } + break label$45; + }; + } + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $1446_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $1446_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$2; + HEAP8[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0; + break label$2; + default: + break label$3; + }; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $2196(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $428_1 = $2242(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 32 | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] = $428_1; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $1488_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] = $1488_1; + HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] = i64toi32_i32$0; + } + } + global$0 = $5_1 + 80 | 0; + return; + } + + function $2241($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2154(0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2243(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (0 | 0) == ($2244(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $4_1 + 4 | 0 | 0) | 0 | 0) & 1 | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $2245(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + $41_1 = 0; + label$4 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$4 + } + $41_1 = (HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0); + } + global$0 = $4_1 + 16 | 0; + return $41_1 & 1 | 0 | 0; + } + + function $2242($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2246(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$4 + } + $2103((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$3; + } + $2247(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + } + $55_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $55_1 | 0; + } + + function $2243($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $78_1 = 0, i64toi32_i32$2 = 0, $4_1 = 0, $12_1 = 0, $30_1 = 0, $93_1 = 0, $224$hi = 0, $225$hi = 0, $226$hi = 0, $197_1 = 0, $277_1 = 0, $224_1 = 0, $225_1 = 0, $575_1 = 0, $220_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 80 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 72 | 0) >> 2] = $4_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + $12_1 = 0; + HEAP32[($3_1 + 48 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = $318(HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $12_1 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $277_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 56 | 0) >> 2] = $277_1; + HEAP32[($3_1 + 60 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 68 | 0) >> 2] = $12_1; + label$2 : while (1) { + $30_1 = 0; + label$3 : { + if (!((HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $30_1 = (HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$4 : { + if (!($30_1 & 1 | 0)) { + break label$4 + } + label$5 : { + if ((HEAPU8[((HEAP32[((HEAP32[($3_1 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + (HEAP32[($3_1 + 68 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $319(HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 32 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2213(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0, -1 | 0, $3_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : while (1) { + if (HEAP32[($3_1 + 72 | 0) >> 2] | 0) { + break label$6 + } + $78_1 = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $78_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $78_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $78_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $78_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 32 | 0) >> 2] | 0, $3_1 + 28 | 0, $3_1 + 24 | 0, $3_1 + 20 | 0, $3_1 + 16 | 0, $3_1 + 12 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$8 : while (1) { + $93_1 = 0; + label$9 : { + if (!((HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $93_1 = (HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$10 : { + if (!($93_1 & 1 | 0)) { + break label$10 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 52 | 0) >> 2] | 0) >> 2] | 0; + label$11 : { + label$12 : { + if ((HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($3_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$12 + } + if (!((HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + } + label$13 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$13 + } + if (HEAP32[($3_1 + 12 | 0) >> 2] | 0) { + break label$11 + } + } + label$14 : { + if ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$14 + } + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$11 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + } + if (!((0 | 0) == ($3228(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$11 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + $224_1 = i64toi32_i32$1; + $224$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $225_1 = i64toi32_i32$1; + $225$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $226$hi = i64toi32_i32$0; + i64toi32_i32$0 = $224$hi; + i64toi32_i32$0 = $225$hi; + i64toi32_i32$0 = $226$hi; + $575_1 = i64toi32_i32$1; + i64toi32_i32$0 = $224$hi; + i64toi32_i32$1 = $225$hi; + i64toi32_i32$2 = $226$hi; + $2250((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 12 | 0 | 0, $224_1 | 0, i64toi32_i32$0 | 0, $225_1 | 0, i64toi32_i32$1 | 0, $575_1 | 0, i64toi32_i32$2 | 0, $3_1 + 72 | 0 | 0) | 0; + } + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$8; + } + break label$8; + }; + continue label$7; + }; + } + label$15 : { + if (!((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 32 | 0) >> 2] | 0) | 0; + } + label$16 : { + if (!((HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($3_1 + 72 | 0) >> 2] = 0; + } + } + HEAP32[($3_1 + 68 | 0) >> 2] = (HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$17 : while (1) { + $197_1 = 0; + label$18 : { + if (!((HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + $197_1 = (HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$19 : { + if (!($197_1 & 1 | 0)) { + break label$19 + } + label$20 : { + if (!((HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + i64toi32_i32$2 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2251((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 12 | 0 | 0, 0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$17; + } + break label$17; + }; + } + $220_1 = HEAP32[($3_1 + 72 | 0) >> 2] | 0; + global$0 = $3_1 + 80 | 0; + return $220_1 | 0; + } + + function $2244($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $20_1 = 0, $201$hi = 0, $202$hi = 0, $205$hi = 0, $206$hi = 0, $209$hi = 0, $210$hi = 0, $181_1 = 0, $214$hi = 0, $215$hi = 0, $12_1 = 0, $102_1 = 0, $117_1 = 0, $201_1 = 0, $373_1 = 0, $205_1 = 0, $404_1 = 0, $209_1 = 0, $529_1 = 0, $165_1 = 0, $603_1 = 0, $214_1 = 0, $624_1 = 0, $198_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + label$1 : { + if (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + $12_1 = (HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + -1 | 0; + label$2 : { + label$3 : { + switch ($12_1 | 0) { + case 0: + case 2: + $20_1 = 0; + label$7 : { + if (!($2244(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + $20_1 = 0; + if (!($2244(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + $20_1 = ($2252(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + HEAP32[($5_1 + 16 | 0) >> 2] = $20_1 & 1 | 0; + label$8 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$8 + } + if (!((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$9 + } + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$8 + } + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $201_1 = i64toi32_i32$0; + $201$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $202$hi = i64toi32_i32$0; + i64toi32_i32$0 = $201$hi; + i64toi32_i32$0 = $202$hi; + i64toi32_i32$0 = $201$hi; + i64toi32_i32$0 = $202$hi; + $373_1 = i64toi32_i32$1; + i64toi32_i32$0 = $201$hi; + i64toi32_i32$2 = $201_1; + i64toi32_i32$1 = $202$hi; + i64toi32_i32$3 = $373_1; + label$12 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$12 + } + $2196(HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$11; + }; + } + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $205_1 = i64toi32_i32$2; + $205$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $206$hi = i64toi32_i32$2; + i64toi32_i32$2 = $205$hi; + i64toi32_i32$2 = $206$hi; + i64toi32_i32$2 = $205$hi; + i64toi32_i32$2 = $206$hi; + $404_1 = i64toi32_i32$0; + i64toi32_i32$2 = $205$hi; + i64toi32_i32$3 = $205_1; + i64toi32_i32$0 = $206$hi; + i64toi32_i32$1 = $404_1; + label$13 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$13 + } + $2196(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + } + break label$2; + case 3: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2244(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2244(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $102_1 = 1; + label$14 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$14 + } + $102_1 = (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0); + } + HEAP32[($5_1 + 16 | 0) >> 2] = $102_1 & 1 | 0; + break label$2; + case 1: + $117_1 = 0; + label$15 : { + if (!($2244(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$15 + } + $117_1 = ($2244(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) ^ -1 | 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = $117_1 & 1 | 0; + break label$2; + default: + break label$3; + }; + } + label$16 : { + label$17 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $209_1 = i64toi32_i32$3; + $209$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $210$hi = i64toi32_i32$3; + i64toi32_i32$3 = $209$hi; + i64toi32_i32$3 = $210$hi; + i64toi32_i32$3 = $209$hi; + i64toi32_i32$3 = $210$hi; + $529_1 = i64toi32_i32$2; + i64toi32_i32$3 = $209$hi; + i64toi32_i32$1 = $209_1; + i64toi32_i32$2 = $210$hi; + i64toi32_i32$0 = $529_1; + label$18 : { + if (((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0) { + break label$18 + } + if (!((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 34 | 0) >> 0] | 0) & 255 | 0)) { + break label$17 + } + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$19 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 34 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$19 + } + $2196(HEAP32[$5_1 >> 2] | 0 | 0); + } + $165_1 = $2253(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $165_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $603_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $603_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$3; + break label$16; + } + $181_1 = 0; + label$20 : { + if ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) { + break label$20 + } + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; + $214_1 = i64toi32_i32$3; + $214$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $215$hi = i64toi32_i32$3; + i64toi32_i32$3 = $214$hi; + i64toi32_i32$3 = $215$hi; + i64toi32_i32$3 = $214$hi; + i64toi32_i32$3 = $215$hi; + $624_1 = i64toi32_i32$1; + i64toi32_i32$3 = $214$hi; + i64toi32_i32$0 = $214_1; + i64toi32_i32$1 = $215$hi; + i64toi32_i32$2 = $624_1; + $181_1 = 0; + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$20 + } + $181_1 = (HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) > (0 | 0); + } + HEAP32[($5_1 + 16 | 0) >> 2] = $181_1 & 1 | 0; + } + } + } + $198_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $198_1 | 0; + } + + function $2245($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $2193(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2246($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $155_1 = 0, $48_1 = 0, $56_1 = 0, $390$hi = 0, $391$hi = 0, $394$hi = 0, $395$hi = 0, $399$hi = 0, $400$hi = 0, $403$hi = 0, $404$hi = 0, $407$hi = 0, $408$hi = 0, $411$hi = 0, $412$hi = 0, $53_1 = 0, $78_1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $111_1 = 0, $52_1 = 0, $54_1 = 0, $55_1 = 0, $184_1 = 0, $209_1 = 0, $57_1 = 0, $58_1 = 0, $59_1 = 0, $233_1 = 0, $269_1 = 0, $102_1 = 0, $390_1 = 0, $639_1 = 0, $394_1 = 0, $666_1 = 0, $705_1 = 0, $175_1 = 0, $399_1 = 0, $785_1 = 0, $403_1 = 0, $812_1 = 0, $224_1 = 0, $407_1 = 0, $889_1 = 0, $411_1 = 0, $916_1 = 0, $955_1 = 0, $1195_1 = 0, $386_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 208 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 200 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 196 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 192 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 188 | 0) >> 2] = 0; + HEAP32[($5_1 + 184 | 0) >> 2] = HEAP32[($5_1 + 196 | 0) >> 2] | 0; + HEAP32[($5_1 + 180 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 200 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[($5_1 + 179 | 0) >> 0] = 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 196 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2248(HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 196 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 184 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($5_1 + 184 | 0) >> 2] | 0) + 28 | 0 | 0, (HEAP32[($5_1 + 184 | 0) >> 2] | 0) + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 184 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($5_1 + 179 | 0) >> 0] = 1; + } + break label$2; + } + HEAP32[($5_1 + 172 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 200 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0; + $3289($5_1 + 64 | 0 | 0, 0 | 0, 96 | 0) | 0; + label$5 : { + label$6 : while (1) { + if ((HEAPU8[($5_1 + 179 | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + $53_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $53_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = 0; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 44 | 0) >> 2] = $53_1; + label$7 : while (1) { + $56_1 = 0; + label$8 : { + if (HEAP32[($5_1 + 188 | 0) >> 2] | 0) { + break label$8 + } + $56_1 = 0; + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 196 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $56_1 = ((HEAPU8[($5_1 + 179 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + label$9 : { + if (!($56_1 & 1 | 0)) { + break label$9 + } + $78_1 = $5_1 + 64 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2249(HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $78_1 + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0 | 0, $5_1 + 179 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($78_1 + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0) >> 2] | 0) { + break label$10 + } + label$11 : { + if (!(HEAP32[($5_1 + 60 | 0) >> 2] | 0)) { + break label$11 + } + $102_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $390_1 = i64toi32_i32$0; + $390$hi = i64toi32_i32$1; + i64toi32_i32$2 = ($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $391$hi = i64toi32_i32$0; + i64toi32_i32$0 = $390$hi; + i64toi32_i32$0 = $391$hi; + i64toi32_i32$0 = $390$hi; + i64toi32_i32$0 = $391$hi; + $639_1 = i64toi32_i32$1; + i64toi32_i32$0 = $390$hi; + i64toi32_i32$2 = $390_1; + i64toi32_i32$1 = $391$hi; + i64toi32_i32$3 = $639_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $49_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $50_1 = 0 + } else { + $50_1 = 1 + } + $51_1 = $50_1; + } else { + $51_1 = 0 + } + $49_1 = $51_1; + } + label$12 : { + label$13 : { + if (!($49_1 & 1 | 0)) { + break label$13 + } + $111_1 = 1; + break label$12; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $394_1 = i64toi32_i32$2; + $394$hi = i64toi32_i32$0; + i64toi32_i32$3 = ($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $395$hi = i64toi32_i32$2; + i64toi32_i32$2 = $394$hi; + i64toi32_i32$2 = $395$hi; + i64toi32_i32$2 = $394$hi; + i64toi32_i32$2 = $395$hi; + $666_1 = i64toi32_i32$0; + i64toi32_i32$2 = $394$hi; + i64toi32_i32$3 = $394_1; + i64toi32_i32$0 = $395$hi; + i64toi32_i32$1 = $666_1; + $111_1 = ((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0 ? 0 : -1; + } + if (!((Math_imul($102_1, $111_1) | 0) < (0 | 0) & 1 | 0)) { + break label$10 + } + } + i64toi32_i32$1 = ($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $705_1 = i64toi32_i32$3; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $705_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($5_1 + 60 | 0) >> 2] = 1; + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 196 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + label$16 : while (1) { + $155_1 = 0; + label$17 : { + if (HEAP32[($5_1 + 188 | 0) >> 2] | 0) { + break label$17 + } + $155_1 = 0; + if ((HEAPU8[($5_1 + 179 | 0) >> 0] | 0) & 255 | 0) { + break label$17 + } + $155_1 = 0; + if (HEAP32[(($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0) >> 2] | 0) { + break label$17 + } + $175_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$1 = ($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $399_1 = i64toi32_i32$2; + $399$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $400$hi = i64toi32_i32$2; + i64toi32_i32$2 = $399$hi; + i64toi32_i32$2 = $400$hi; + i64toi32_i32$2 = $399$hi; + i64toi32_i32$2 = $400$hi; + $785_1 = i64toi32_i32$3; + i64toi32_i32$2 = $399$hi; + i64toi32_i32$1 = $399_1; + i64toi32_i32$3 = $400$hi; + i64toi32_i32$0 = $785_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$3 | 0)) { + $52_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0) { + $54_1 = 0 + } else { + $54_1 = 1 + } + $55_1 = $54_1; + } else { + $55_1 = 0 + } + $52_1 = $55_1; + } + label$18 : { + label$19 : { + if (!($52_1 & 1 | 0)) { + break label$19 + } + $184_1 = 1; + break label$18; + } + i64toi32_i32$0 = ($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $403_1 = i64toi32_i32$1; + $403$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $404$hi = i64toi32_i32$1; + i64toi32_i32$1 = $403$hi; + i64toi32_i32$1 = $404$hi; + i64toi32_i32$1 = $403$hi; + i64toi32_i32$1 = $404$hi; + $812_1 = i64toi32_i32$2; + i64toi32_i32$1 = $403$hi; + i64toi32_i32$0 = $403_1; + i64toi32_i32$2 = $404$hi; + i64toi32_i32$3 = $812_1; + $184_1 = ((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0 ? 0 : -1; + } + $155_1 = (Math_imul($175_1, $184_1) | 0) < (0 | 0); + } + label$20 : { + if (!($155_1 & 1 | 0)) { + break label$20 + } + $209_1 = $5_1 + 64 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2249(HEAP32[($5_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $209_1 + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0 | 0, $5_1 + 179 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + $224_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$3 = $209_1 + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $407_1 = i64toi32_i32$0; + $407$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $408$hi = i64toi32_i32$0; + i64toi32_i32$0 = $407$hi; + i64toi32_i32$0 = $408$hi; + i64toi32_i32$0 = $407$hi; + i64toi32_i32$0 = $408$hi; + $889_1 = i64toi32_i32$1; + i64toi32_i32$0 = $407$hi; + i64toi32_i32$3 = $407_1; + i64toi32_i32$1 = $408$hi; + i64toi32_i32$2 = $889_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $57_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$2 >>> 0) { + $58_1 = 0 + } else { + $58_1 = 1 + } + $59_1 = $58_1; + } else { + $59_1 = 0 + } + $57_1 = $59_1; + } + label$21 : { + label$22 : { + if (!($57_1 & 1 | 0)) { + break label$22 + } + $233_1 = 1; + break label$21; + } + i64toi32_i32$2 = ($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $411_1 = i64toi32_i32$3; + $411$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $412$hi = i64toi32_i32$3; + i64toi32_i32$3 = $411$hi; + i64toi32_i32$3 = $412$hi; + i64toi32_i32$3 = $411$hi; + i64toi32_i32$3 = $412$hi; + $916_1 = i64toi32_i32$0; + i64toi32_i32$3 = $411$hi; + i64toi32_i32$2 = $411_1; + i64toi32_i32$0 = $412$hi; + i64toi32_i32$1 = $916_1; + $233_1 = ((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0 ? 0 : -1; + } + label$23 : { + if (!((Math_imul($224_1, $233_1) | 0) > (0 | 0) & 1 | 0)) { + break label$23 + } + i64toi32_i32$1 = ($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $955_1 = i64toi32_i32$2; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $955_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + continue label$16; + } + break label$16; + }; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + label$24 : { + if ((HEAPU8[($5_1 + 179 | 0) >> 0] | 0) & 255 | 0) { + break label$24 + } + $269_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $269_1; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((($5_1 + 64 | 0) + Math_imul((HEAP32[((HEAP32[($5_1 + 196 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) - 1 | 0, 24) | 0) + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + if ((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != ($269_1 | 0) & 1 | 0) { + break label$25 + } + HEAP32[($5_1 + 204 | 0) >> 2] = 7; + break label$1; + } + $3288(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((($5_1 + 64 | 0) + Math_imul((HEAP32[((HEAP32[($5_1 + 196 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) - 1 | 0, 24) | 0) + 16 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0; + $48_1 = 0; + HEAP8[i64toi32_i32$2 >> 0] = $48_1; + HEAP8[(i64toi32_i32$2 + 1 | 0) >> 0] = $48_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$2 + 2 | 0) >> 0] = $48_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$2 + 3 | 0) >> 0] = $48_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$2 + 4 | 0) >> 0] = i64toi32_i32$3; + HEAP8[(i64toi32_i32$2 + 5 | 0) >> 0] = i64toi32_i32$3 >>> 8 | 0; + HEAP8[(i64toi32_i32$2 + 6 | 0) >> 0] = i64toi32_i32$3 >>> 16 | 0; + HEAP8[(i64toi32_i32$2 + 7 | 0) >> 0] = i64toi32_i32$3 >>> 24 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + label$26 : { + label$27 : while (1) { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < ((HEAP32[((HEAP32[($5_1 + 196 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$26 + } + label$28 : { + if (HEAP32[(($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0) >> 2] | 0) { + break label$28 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((($5_1 + 64 | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 24) | 0) + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 196 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) - 1 | 0) - (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2237($5_1 + 20 | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0, $5_1 + 28 | 0 | 0, $5_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$29 + } + break label$26; + } + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) - (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0; + } + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$27; + }; + } + label$30 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($5_1 + 196 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$30 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $1195_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($5_1 + 184 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = $1195_1; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($5_1 + 184 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 184 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 184 | 0) >> 2] | 0) + 24 | 0) >> 2] = 1; + break label$5; + } + $42(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0); + } + continue label$6; + }; + } + } + HEAP8[(HEAP32[($5_1 + 192 | 0) >> 2] | 0) >> 0] = HEAPU8[($5_1 + 179 | 0) >> 0] | 0; + HEAP32[($5_1 + 204 | 0) >> 2] = HEAP32[($5_1 + 188 | 0) >> 2] | 0; + } + $386_1 = HEAP32[($5_1 + 204 | 0) >> 2] | 0; + global$0 = $5_1 + 208 | 0; + return $386_1 | 0; + } + + function $2247($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $30_1 = 0, $98$hi = 0, $55_1 = 0, $101$hi = 0, $56_1 = 0, $76_1 = 0, $80_1 = 0, $25_1 = 0, $40_1 = 0, $98_1 = 0, $223$hi = 0, $101_1 = 0, $234$hi = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + } + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$5 + } + $25_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $30_1 = (HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $30_1; + if (!($25_1 >>> 0 >= $30_1 >>> 0 & 1 | 0)) { + break label$4 + } + } + HEAP8[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 0] = 1; + break label$3; + } + $40_1 = $2061(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + $40_1 | 0; + label$6 : { + label$7 : { + label$8 : { + if (!((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $98_1 = i64toi32_i32$0; + $98$hi = i64toi32_i32$1; + $55_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = $55_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $223$hi = i64toi32_i32$0; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$0 = $223$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $98$hi; + i64toi32_i32$3 = $98_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $55_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + break label$6; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $101_1 = i64toi32_i32$5; + $101$hi = i64toi32_i32$2; + $56_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = $56_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $234$hi = i64toi32_i32$5; + i64toi32_i32$5 = $101$hi; + i64toi32_i32$5 = $234$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $101$hi; + i64toi32_i32$3 = $101_1; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$0 = $56_1; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$4; + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $2105(0 | 0, $5_1 + 16 | 0 | 0); + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0; + label$9 : while (1) { + $76_1 = 0; + label$10 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$10 + } + $80_1 = 24; + $76_1 = (((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $80_1 | 0) >> $80_1 | 0 | 0) == (0 | 0); + } + label$11 : { + if (!($76_1 & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP8[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 0] = 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2248($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $50_1 = 0, $162$hi = 0, $163$hi = 0, $20_1 = 0, $83_1 = 0, $257_1 = 0, $162_1 = 0, $336_1 = 0, $505_1 = 0, $158_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 ? 95 : 96; + label$1 : { + label$2 : { + if (HEAP32[($7_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + $20_1 = 0; + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = $20_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $20_1; + break label$1; + } + label$3 : { + label$4 : while (1) { + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = 0; + break label$3; + } + i64toi32_i32$2 = HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] | 0; + $257_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[$7_1 >> 2] = $257_1; + HEAP32[($7_1 + 4 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2097(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0, $7_1 + 16 | 0 | 0, $7_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 8 | 0) >> 2] = 1; + label$6 : while (1) { + $50_1 = 0; + label$7 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$7 + } + $50_1 = 0; + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $50_1 = 0; + if (!((HEAP32[((HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 92 | 0) >> 2] | 0; + $162_1 = i64toi32_i32$1; + $162$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[$7_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + $163$hi = i64toi32_i32$1; + i64toi32_i32$1 = $162$hi; + i64toi32_i32$1 = $163$hi; + i64toi32_i32$1 = $162$hi; + i64toi32_i32$1 = $163$hi; + $336_1 = i64toi32_i32$0; + i64toi32_i32$1 = $162$hi; + i64toi32_i32$2 = $162_1; + i64toi32_i32$0 = $163$hi; + $50_1 = (i64toi32_i32$2 | 0) == ($336_1 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0; + } + label$8 : { + if (!($50_1 & 1 | 0)) { + break label$8 + } + $83_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2097(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $83_1 | 0, $83_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + label$9 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + break label$1; + } + $2090(HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + label$10 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[((HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2095(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + label$12 : { + if (!((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$12 + } + $2098(HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 1 | 0, $7_1 + 16 | 0 | 0, $7_1 + 12 | 0 | 0); + } + label$13 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[$7_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + $505_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $505_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + break label$3; + } + continue label$4; + }; + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + } + $158_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $158_1 | 0; + } + + function $2249($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $137_1 = 0, $68_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2247(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $137_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $137_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + HEAP32[($7_1 + 4 | 0) >> 2] = ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($7_1 + 20 | 0) >> 2] | 0, 24) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2248(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 0] = 1; + } + break label$3; + } + HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] = 1; + } + } + $68_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $68_1 | 0; + } + + function $2250($0_1, $1_1, $1$hi, $2_1, $2$hi, $3_1, $3$hi, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + var i64toi32_i32$2 = 0, $7_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $115$hi = 0, $109$hi = 0, $110$hi = 0, i64toi32_i32$6 = 0, $123$hi = 0, $127$hi = 0, $128$hi = 0, $135$hi = 0, $8_1 = 0, $113$hi = 0, $115_1 = 0, $36_1 = 0, $44_1 = 0, $125$hi = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $64_1 = 0, $74_1 = 0, $137$hi = 0, $52_1 = 0, $53_1 = 0, $54_1 = 0, $139$hi = 0, $140$hi = 0, $141$hi = 0, $142$hi = 0, $109_1 = 0, $189_1 = 0, $113_1 = 0, $120$hi = 0, $277_1 = 0, $127_1 = 0, $299_1 = 0, $133$hi = 0, $350_1 = 0, $87_1 = 0, $381_1 = 0, $396_1 = 0, $106_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != ($8_1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $109_1 = i64toi32_i32$0; + $109$hi = i64toi32_i32$1; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $110$hi = i64toi32_i32$0; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$0 = $110$hi; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$0 = $110$hi; + $189_1 = i64toi32_i32$1; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$2 = $109_1; + i64toi32_i32$1 = $110$hi; + i64toi32_i32$3 = $189_1; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$2 + } + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + $113_1 = i64toi32_i32$2; + $113$hi = i64toi32_i32$0; + label$4 : { + label$5 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$3 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $115_1 = i64toi32_i32$0; + $115$hi = i64toi32_i32$2; + break label$4; + } + i64toi32_i32$2 = 0; + $115_1 = 0; + $115$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $115$hi; + i64toi32_i32$2 = $113$hi; + i64toi32_i32$2 = $115$hi; + i64toi32_i32$2 = $113$hi; + i64toi32_i32$3 = $113_1; + i64toi32_i32$0 = $115$hi; + i64toi32_i32$1 = $115_1; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + i64toi32_i32$3 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$5; + label$6 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $36_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[$36_1 >> 2] = (HEAP32[$36_1 >> 2] | 0) + 1 | 0; + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $44_1 = $2251(i64toi32_i32$2 + 24 | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$3 | 0) | 0; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = $44_1; + label$7 : { + if (!((0 | 0) != ($44_1 | 0) & 1 | 0)) { + break label$7 + } + break label$1; + } + i64toi32_i32$3 = 0; + $120$hi = i64toi32_i32$3; + i64toi32_i32$3 = -1; + i64toi32_i32$5 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$5 + 24 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$5 + 28 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$3 = $120$hi; + i64toi32_i32$5 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$5 + 32 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$5 + 36 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $7_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $277_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = $277_1; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$5 = 0; + $123$hi = i64toi32_i32$5; + i64toi32_i32$2 = $7_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $125$hi = i64toi32_i32$3; + i64toi32_i32$3 = $123$hi; + i64toi32_i32$3 = $125$hi; + i64toi32_i32$3 = $123$hi; + i64toi32_i32$3 = $125$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $123$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$5 | 0)) { + $49_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$1 >>> 0) { + $50_1 = 0 + } else { + $50_1 = 1 + } + $51_1 = $50_1; + } else { + $51_1 = 0 + } + $49_1 = $51_1; + } + label$8 : { + if (!($49_1 & 1 | 0)) { + break label$8 + } + i64toi32_i32$1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $127_1 = i64toi32_i32$2; + $127$hi = i64toi32_i32$3; + i64toi32_i32$1 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + $128$hi = i64toi32_i32$2; + i64toi32_i32$2 = $127$hi; + i64toi32_i32$2 = $128$hi; + i64toi32_i32$2 = $127$hi; + i64toi32_i32$2 = $128$hi; + $299_1 = i64toi32_i32$3; + i64toi32_i32$2 = $127$hi; + i64toi32_i32$1 = $127_1; + i64toi32_i32$3 = $128$hi; + i64toi32_i32$5 = $299_1; + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$1 = 0; + $64_1 = $2251($7_1 + 24 | 0 | 0, 1 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = $64_1; + label$9 : { + label$10 : { + if ((0 | 0) != ($64_1 | 0) & 1 | 0) { + break label$10 + } + i64toi32_i32$5 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + $74_1 = $2251($7_1 + 24 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = $74_1; + if (!((0 | 0) != ($74_1 | 0) & 1 | 0)) { + break label$9 + } + } + break label$1; + } + i64toi32_i32$2 = 0; + $133$hi = i64toi32_i32$2; + i64toi32_i32$5 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + $350_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] = $350_1; + HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $133$hi; + i64toi32_i32$2 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$1 = 0; + $135$hi = i64toi32_i32$1; + i64toi32_i32$5 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + $137$hi = i64toi32_i32$2; + i64toi32_i32$2 = $135$hi; + i64toi32_i32$2 = $137$hi; + i64toi32_i32$2 = $135$hi; + i64toi32_i32$2 = $137$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $135$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$1 | 0)) { + $52_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + $53_1 = 0 + } else { + $53_1 = 1 + } + $54_1 = $53_1; + } else { + $54_1 = 0 + } + $52_1 = $54_1; + } + label$11 : { + if (!($52_1 & 1 | 0)) { + break label$11 + } + $87_1 = $7_1 + 24 | 0; + i64toi32_i32$3 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $139$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $140$hi = i64toi32_i32$2; + i64toi32_i32$2 = $139$hi; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$2 = $139$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $140$hi; + i64toi32_i32$1 = 2; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $141$hi = i64toi32_i32$4; + i64toi32_i32$2 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $142$hi = i64toi32_i32$3; + i64toi32_i32$3 = $141$hi; + i64toi32_i32$3 = $142$hi; + $381_1 = i64toi32_i32$4; + i64toi32_i32$3 = $141$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$4 = $142$hi; + i64toi32_i32$1 = $381_1; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2251($87_1 | 0, i64toi32_i32$5 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$12 + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $396_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $396_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$2; + } + } + } + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + label$13 : { + label$14 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = 1; + break label$13; + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + } + $106_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $106_1 | 0; + } + + function $2251($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $80_1 = 0, $79_1 = 0, $90_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $38(140 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 100; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = 0; + break label$2; + } + label$5 : { + if (!((((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 10 | 0) + 1 | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $44(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$6 + } + $42(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0; + } + } + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $79_1 = $2102((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $80_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$80_1 >> 2] = (HEAP32[$80_1 >> 2] | 0) + $79_1 | 0; + HEAP8[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $90_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $90_1 | 0; + } + + function $2252($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $74_1 = 0, $171$hi = 0, $174$hi = 0, $177$hi = 0, $178$hi = 0, $22_1 = 0, $127_1 = 0, $150_1 = 0, $171_1 = 0, $272$hi = 0, $49_1 = 0, $174_1 = 0, $294$hi = 0, $167_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = 1; + label$1 : { + if (HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if ((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$2 + } + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$1 + } + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $171_1 = i64toi32_i32$1; + $171$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $272$hi = i64toi32_i32$1; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$1 = $272$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $171$hi; + i64toi32_i32$3 = $171_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$4; + }; + } + $49_1 = 0; + i64toi32_i32$2 = HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $174_1 = i64toi32_i32$2; + $174$hi = i64toi32_i32$5; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $294$hi = i64toi32_i32$2; + i64toi32_i32$2 = $174$hi; + i64toi32_i32$2 = $294$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $174$hi; + i64toi32_i32$3 = $174_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$2 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $177$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $178$hi = i64toi32_i32$1; + i64toi32_i32$1 = $177$hi; + i64toi32_i32$1 = $178$hi; + i64toi32_i32$1 = $177$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $178$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$2 << i64toi32_i32$5 | 0; + $22_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$5 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$5 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$5 | 0) | 0; + $22_1 = i64toi32_i32$2 << i64toi32_i32$5 | 0; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41($22_1 | 0, i64toi32_i32$4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if ((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) != ($49_1 | 0) & 1 | 0) { + break label$6 + } + HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] = 7; + HEAP32[($4_1 + 52 | 0) >> 2] = 0; + break label$5; + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$7 : while (1) { + $74_1 = 0; + label$8 : { + if (!(HEAP32[($4_1 + 52 | 0) >> 2] | 0)) { + break label$8 + } + $74_1 = 0; + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $74_1 = (HEAP32[(HEAP32[($4_1 + 48 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0); + } + label$9 : { + if (!($74_1 & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2254(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, $4_1 + 32 | 0 | 0, $4_1 + 28 | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$7; + } + break label$7; + }; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$10 : while (1) { + $127_1 = 0; + label$11 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $127_1 = (HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$12 : { + if (!($127_1 & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$13 : { + label$14 : { + if (!((HEAP32[(HEAP32[($4_1 + 48 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$14 + } + $150_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + break label$13; + } + $150_1 = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = $150_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2254(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, $4_1 + 32 | 0 | 0, $4_1 + 28 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$10; + } + break label$10; + }; + } + $42(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + } + $167_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $167_1 | 0; + } + + function $2253($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $5_1 = 0, $48_1 = 0, $84_1 = 0, i64toi32_i32$2 = 0, $168_1 = 0, i64toi32_i32$1 = 0, $443_1 = 0, $174_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 52 | 0) >> 2] = -1; + HEAP32[($4_1 + 64 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 48 | 0) >> 2] = ((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($4_1 + 64 | 0) >> 2] | 0, 24) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2255(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $4_1 + 40 | 0 | 0, $4_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($4_1 + 32 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + break label$1; + } + label$6 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + $48_1 = 0; + $42(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = $48_1; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] = $48_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $48_1; + break label$1; + } + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + break label$7; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $2237($4_1 + 28 | 0 | 0, (HEAP32[($4_1 + 64 | 0) >> 2] | 0) - (HEAP32[($4_1 + 52 | 0) >> 2] | 0) | 0 | 0, 0 | 0, 1 | 0, $4_1 + 24 | 0 | 0, $4_1 + 20 | 0 | 0) | 0; + $42(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) - (HEAP32[($4_1 + 60 | 0) >> 2] | 0) | 0; + label$9 : { + if (HEAP32[($4_1 + 56 | 0) >> 2] | 0) { + break label$9 + } + $84_1 = 0; + $42(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = $84_1; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] = $84_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $84_1; + break label$1; + } + } + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$10 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$11 : { + label$12 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $443_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $443_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 2] = 1; + break label$11; + } + label$13 : { + label$14 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) - (HEAP32[($4_1 + 52 | 0) >> 2] | 0) | 0; + break label$13; + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 52 | 0) >> 2] | 0) - (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $38((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$15 : { + if ((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$15 + } + $42(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 76 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + label$16 : { + label$17 : { + if (!($2237($4_1 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, 1 | 0, $4_1 + 8 | 0 | 0, $4_1 + 4 | 0 | 0) | 0)) { + break label$17 + } + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 2] = 1; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0; + break label$16; + } + $168_1 = 0; + $42(HEAP32[$4_1 >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = $168_1; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] = $168_1; + } + $42(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + } + } + HEAP32[($4_1 + 76 | 0) >> 2] = 0; + } + $174_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $174_1 | 0; + } + + function $2254($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $23_1 = 0, $60_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] | 0) | 0; + $23_1 = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = $23_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $23_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2256($7_1 + 8 | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $7_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(HEAP32[($7_1 + 4 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[($7_1 + 16 | 0) >> 2] = ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0) - 1 | 0; + label$2 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + $3289((HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) - (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + } + HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + } + $60_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $60_1 | 0; + } + + function $2255($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $6_1; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(HEAP32[(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2061(HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = (HEAP32[(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $3288(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $51_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $51_1 | 0; + } + + function $2256($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $13_1 = 0, $12_1 = 0, $25_1 = 0, $77_1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + $12_1 = 1; + $13_1 = 0; + HEAP32[($8_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[$8_1 >> 2] = $12_1; + $2237($8_1 + 12 | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, $13_1 | 0, $13_1 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $25_1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = $25_1; + HEAP32[($8_1 + 4 | 0) >> 2] = $25_1; + HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + $2237($8_1 + 8 | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, $12_1 | 0, $13_1 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2232(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, $8_1 + 40 | 0 | 0, $8_1 + 4 | 0 | 0) | 0; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $2105(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, $8_1 + 40 | 0 | 0); + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $2105(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, $8_1 + 4 | 0 | 0); + break label$5; + } + HEAP32[$8_1 >> 2] = 0; + } + } + } + $77_1 = HEAP32[$8_1 >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $77_1 | 0; + } + + function $2257($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $121_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $66(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $233(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$4 + } + if (!((0 | 0) == ($89(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 13390 | 0, 8 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2265(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$6 + } + if (!((0 | 0) == ($89(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 49941 | 0, 7 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2266(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (15 | 0) & 1 | 0)) { + break label$8 + } + if (!((0 | 0) == ($89(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 49949 | 0, 15 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2267(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (6 | 0) & 1 | 0)) { + break label$10 + } + if (!((0 | 0) == ($89(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 49965 | 0, 6 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2268(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 6 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$9; + } + label$11 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (10 | 0) & 1 | 0)) { + break label$11 + } + if (!((0 | 0) == ($89(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 49972 | 0, 10 | 0) | 0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2269(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 10 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $121_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $121_1 | 0; + } + + function $2258($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + if (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 268 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2075(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 16 | 0, $3_1 + 4 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + $332(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + $287(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $222(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + } + $20_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $20_1 | 0; + } + + function $2259($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $13_1 = 0, $82_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $13_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $13_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $13_1; + $2270($6_1 + 12 | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0); + label$1 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($6_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2271(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $6_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + label$4 : { + if (!(HEAP32[($6_1 + 4 | 0) >> 2] | 0)) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2272(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + $3289(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, (((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) << 1 | 0 | 0) | 0; + break label$3; + } + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0; + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $2273($6_1 + 12 | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, $6_1 + 24 | 0 | 0); + } + label$6 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 238 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + $2273($6_1 + 12 | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 19 | 0, $6_1 + 24 | 0 | 0); + } + } + } + } + $82_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $82_1 | 0; + } + + function $2260($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $229_1 = 0, $424_1 = 0, $137_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 3 | 0) << 2 | 0) | 0) >> 2] | 0; + label$3 : { + if (!(($248(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + label$4 : { + if (!(($248(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 19; + break label$1; + } + i64toi32_i32$0 = $62(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $229_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $229_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 18 | 0, $5_1 + 8 | 0 | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$5 + } + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $330(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0, $239(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + label$7 : { + if (!((5 | 0) != ($248(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 3 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!((5 | 0) == ($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + if (!((5 | 0) != ($248(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $334(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 3 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + } + $287(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = $451(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $424_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $424_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $137_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $137_1 | 0; + } + + function $2261($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $47$hi = 0, $48$hi = 0, $51$hi = 0, $52$hi = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $47_1 = 0, $78_1 = 0, $51_1 = 0, $93_1 = 0, $158_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $47_1 = i64toi32_i32$0; + $47$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 272 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 276 | 0) >> 2] | 0; + $48$hi = i64toi32_i32$0; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$0 = $48$hi; + $78_1 = i64toi32_i32$1; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$2 = $47_1; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$3 = $78_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $20_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $21_1 = 0 + } else { + $21_1 = 1 + } + $22_1 = $21_1; + } else { + $22_1 = 0 + } + $20_1 = $22_1; + } + label$1 : { + label$2 : { + label$3 : { + if ($20_1 & 1 | 0) { + break label$3 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $51_1 = i64toi32_i32$2; + $51$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 272 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 276 | 0) >> 2] | 0; + $52$hi = i64toi32_i32$2; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$2 = $52$hi; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$2 = $52$hi; + $93_1 = i64toi32_i32$0; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$3 = $51_1; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$1 = $93_1; + label$4 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$4 + } + if (!(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 284 | 0) >> 2] | 0)) { + break label$3 + } + } + if ((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 280 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 268 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2161(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($6_1 + 4 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$1; + } + } + i64toi32_i32$1 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $158_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 272 | 0) >> 2] = $158_1; + HEAP32[(i64toi32_i32$3 + 276 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 280 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 284 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $44_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $44_1 | 0; + } + + function $2262($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $59_1 = 0, $53_1 = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = 2; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) - 2 | 0; + label$4 : { + if ((HEAPU8[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2274(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $53_1 = $233(HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + $59_1 = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$59_1 >> 2] = (HEAP32[$59_1 >> 2] | 0) + $53_1 | 0; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $66_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $66_1 | 0; + } + + function $2263($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $53$hi = 0, $54$hi = 0, i64toi32_i32$2 = 0, $10_1 = 0, $49_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + i64toi32_i32$1 = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $53$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $54$hi = i64toi32_i32$0; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$0 = $53$hi; + $10_1 = i64toi32_i32$1; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$1 = __wasm_i64_mul($10_1 | 0, i64toi32_i32$0 | 0, 10 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = 7; + break label$1; + } + $2275(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 20 | 0, $5_1 + 8 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$4 + } + $42(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 272 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 276 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $325(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 3 | 0) | 0; + $287(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $49_1 = $222(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = $49_1; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2264($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $191$hi = 0, $192$hi = 0, $53_1 = 0, $91_1 = 0, $176_1 = 0, $177_1 = 0, $15_1 = 0, $185_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0; + label$1 : { + label$2 : { + if (!(HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + i64toi32_i32$1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $191$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $192$hi = i64toi32_i32$0; + i64toi32_i32$0 = $191$hi; + i64toi32_i32$0 = $192$hi; + i64toi32_i32$0 = $191$hi; + $15_1 = i64toi32_i32$1; + i64toi32_i32$1 = $192$hi; + i64toi32_i32$1 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$0 | 0, 14 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $41(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = 7; + break label$1; + } + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, 22 | 0, $7_1 + 28 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$4 + } + $42(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + break label$1; + } + $330(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0, 0 | 0) | 0; + label$5 : { + label$6 : { + if (!(($287(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$6 + } + $53_1 = 0; + $2276(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, $311(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, $53_1 | 0) | 0 | 0, $315(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, $53_1 | 0) | 0 | 0); + break label$5; + } + $3289(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $222(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$7 + } + $42(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + break label$1; + } + label$8 : { + label$9 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$9 + } + if (!((HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] | 0) >>> 0 < (0 - (HEAP32[($7_1 + 44 | 0) >> 2] | 0) | 0) >>> 0 & 1 | 0)) { + break label$9 + } + HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] = 0; + break label$8; + } + $91_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[$91_1 >> 2] = (HEAP32[$91_1 >> 2] | 0) + (HEAP32[($7_1 + 44 | 0) >> 2] | 0) | 0; + } + HEAP32[($7_1 + 24 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < ((HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + label$12 : { + label$13 : { + if (!(((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0) >>> 0 < (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$13 + } + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + break label$12; + } + HEAP32[($7_1 + 12 | 0) >> 2] = ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0) - (HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + } + HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + $2275(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, $7_1 + 36 | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, 23 | 0, $7_1 + 28 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$14 + } + $42(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + break label$1; + } + $176_1 = 2; + $177_1 = 0; + $330(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0, $177_1 | 0) | 0; + $325(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, $176_1 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $177_1 | 0) | 0; + $287(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $185_1 = $222(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = $185_1; + $332(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, $176_1 | 0) | 0; + $42(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 64 | 0; + return; + } + + function $2265($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $33_1 = 0, $38_1 = 0, $74_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2161(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 27 | 0, $4_1 + 12 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$2 + } + $330(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 280 | 0) >> 2] | 0 | 0) | 0; + $330(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) | 0; + label$3 : { + label$4 : while (1) { + if (!(($287(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$3 + } + $33_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $317(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $33_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 4 | 0) >> 2] = $33_1; + label$5 : while (1) { + $38_1 = 0; + label$6 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$6 + } + $38_1 = (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0); + } + label$7 : { + if (!($38_1 & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2277(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, -2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 1; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + continue label$4; + }; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + } + $2053(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + label$10 : { + label$11 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$11 + } + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$11 + } + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$11 + } + $74_1 = 101; + break label$10; + } + $74_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + global$0 = $4_1 + 32 | 0; + return $74_1 | 0; + } + + function $2266($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, $8_1 = 0, i64toi32_i32$3 = 0, $75_1 = 0, $219$hi = 0, $220$hi = 0, i64toi32_i32$4 = 0, $221$hi = 0, $222$hi = 0, $26_1 = 0, $223$hi = 0, $224$hi = 0, $65_1 = 0, $93_1 = 0, $135_1 = 0, $181_1 = 0, $32_1 = 0, $321_1 = 0, $79_1 = 0, $80_1 = 0, $129_1 = 0, $216_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 64 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 60 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2272(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$1 + } + $8_1 = 0; + HEAP32[($3_1 + 52 | 0) >> 2] = $8_1; + HEAP32[($3_1 + 48 | 0) >> 2] = $8_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $8_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $8_1; + HEAP32[($3_1 + 36 | 0) >> 2] = $8_1; + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $79(49993 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if ((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($3_1 + 56 | 0) >> 2] = 7; + break label$2; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $402(HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, -1 | 0, $3_1 + 40 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$4 + } + $32_1 = 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $219$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $220$hi = i64toi32_i32$0; + i64toi32_i32$0 = $219$hi; + i64toi32_i32$0 = $220$hi; + i64toi32_i32$0 = $219$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $221$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $222$hi = i64toi32_i32$5; + i64toi32_i32$5 = $221$hi; + i64toi32_i32$5 = $222$hi; + i64toi32_i32$5 = $221$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $222$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + $26_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $26_1 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + } + $223$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $224$hi = i64toi32_i32$2; + i64toi32_i32$2 = $223$hi; + i64toi32_i32$2 = $224$hi; + i64toi32_i32$2 = $223$hi; + i64toi32_i32$0 = $224$hi; + i64toi32_i32$0 = __wasm_i64_mul($26_1 | 0, i64toi32_i32$2 | 0, 3 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $321_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $321_1; + HEAP32[($3_1 + 28 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$5 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41(i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0) == ($32_1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 56 | 0) >> 2] = 7; + break label$5; + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + $3289(HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($3_1 + 48 | 0) >> 2] = (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0; + HEAP32[($3_1 + 44 | 0) >> 2] = (HEAP32[($3_1 + 48 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0; + } + } + label$7 : while (1) { + $65_1 = 0; + label$8 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$8 + } + $65_1 = (100 | 0) == ($287(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0 | 0); + } + label$9 : { + if (!($65_1 & 1 | 0)) { + break label$9 + } + $75_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2278(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $79_1 = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + $80_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $318(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, $75_1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2261($79_1 | 0, $75_1 | 0, $80_1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + $3289(HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, ((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $75_1; + label$10 : while (1) { + $93_1 = 0; + label$11 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$11 + } + $93_1 = (HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + label$12 : { + if (!($93_1 & 1 | 0)) { + break label$12 + } + label$13 : { + if ((HEAPU8[((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + (HEAP32[($3_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$13 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $319(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2274(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + $129_1 = $315(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $135_1 = (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$135_1 >> 2] = (HEAP32[$135_1 >> 2] | 0) + $129_1 | 0; + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + } + break label$10; + }; + label$14 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 238 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + $2263($3_1 + 56 | 0 | 0, HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0); + } + label$15 : { + label$16 : { + if (!(HEAP32[($3_1 + 56 | 0) >> 2] | 0)) { + break label$16 + } + $213(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 40 | 0) >> 2] = 0; + break label$15; + } + HEAP32[($3_1 + 36 | 0) >> 2] = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + $181_1 = (HEAP32[($3_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$181_1 >> 2] = (HEAP32[$181_1 >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + } + continue label$7; + } + break label$7; + }; + label$19 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 236 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$19 + } + $2264($3_1 + 56 | 0 | 0, HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0); + } + $42(HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0); + label$20 : { + if (!((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $213(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$21 + } + HEAP32[($3_1 + 56 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + } + } + } + $216_1 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + global$0 = $3_1 + 64 | 0; + return $216_1 | 0; + } + + function $2267($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2279(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $3_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 267; + } + $13_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $13_1 | 0; + } + + function $2268($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $25_1 = 0, $37_1 = 0, $69_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 8; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2280($4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $15_1 = 24; + label$1 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $15_1 | 0) >> $15_1 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$1 + } + $25_1 = 24; + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $25_1 | 0) >> $25_1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2280($4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $37_1 = 24; + label$2 : { + label$3 : { + label$4 : { + if (((HEAPU8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $37_1 | 0) >> $37_1 | 0) { + break label$4 + } + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($4_1 + 20 | 0) >> 2] = 1; + break label$2; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$5 : { + if (((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 237 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$5 + } + $2187($4_1 + 20 | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2163(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $2053(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + $69_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $69_1 | 0; + } + + function $2269($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $54_1 = 0, $10_1 = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $9_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $9_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $9_1; + $10_1 = $2280($4_1 + 20 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) > (16 | 0) & 1 | 0)) { + break label$1 + } + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] = 8; + } + label$3 : { + label$4 : { + if (((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 237 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$4 + } + $2187($4_1 + 16 | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + label$5 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$3; + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 23 | 0, $4_1 + 12 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$3; + } + $54_1 = 2; + $330(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, $54_1 | 0) | 0; + $330(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $54_1 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + $287(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $64_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $64_1 | 0; + } + + function $2270($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $28_1 = 0, $39_1 = 0, $80_1 = 0, $171_1 = 0, $74_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!(HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, 7 | 0, $7_1 + 36 | 0 | 0, $7_1 + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (HEAP32[($7_1 + 40 | 0) >> 2] | 0) { + break label$4 + } + label$5 : { + if (!((100 | 0) == ($287(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + $28_1 = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2278(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $318(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $171_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $171_1; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2261(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, $28_1 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 32 | 0) >> 2] = $28_1; + label$6 : while (1) { + $39_1 = 0; + label$7 : { + if (HEAP32[($7_1 + 40 | 0) >> 2] | 0) { + break label$7 + } + $39_1 = (HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!($39_1 & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) - 1 | 0; + label$9 : { + if ((HEAPU8[((HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$9 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $319(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2274(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, -1 | 0, (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $74_1 = $315(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0; + $80_1 = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$80_1 >> 2] = (HEAP32[$80_1 >> 2] | 0) + $74_1 | 0; + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + label$10 : { + if (!(HEAP32[($7_1 + 40 | 0) >> 2] | 0)) { + break label$10 + } + $222(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + break label$1; + } + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = 1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $222(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + $222(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + } + global$0 = $7_1 + 64 | 0; + return; + } + + function $2271($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $14_1 = 0, $36_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $14_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $14_1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0, $5_1 + 16 | 0 | 0, $5_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + if (!((100 | 0) == ($287(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + $36_1 = $317(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $36_1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + $40_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $40_1 | 0; + } + + function $2272($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0, $19_1 = 0, $54_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + $2166(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + label$1 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$1 + } + $2273($4_1 + 4 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 2 | 0, 0 | 0); + } + $17_1 = $4_1 + 4 | 0; + $19_1 = 0; + $2273($17_1 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 3 | 0, $19_1 | 0); + $2273($17_1 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 4 | 0, $19_1 | 0); + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 238 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $2273($4_1 + 4 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 5 | 0, 0 | 0); + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 237 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $2273($4_1 + 4 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 6 | 0, 0 | 0); + } + $54_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $54_1 | 0; + } + + function $2273($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2075(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + $287(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $222(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2274($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $19_1 = 0, $41_1 = 0, $60_1 = 0, $112_1 = 0, $154_1 = 0, $164_1 = 0, $167_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = 0; + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = $19_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $19_1; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2213(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, -1 | 0, $7_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($7_1 + 52 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$4 : while (1) { + $41_1 = 0; + label$5 : { + if (!((0 | 0) == (HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $60_1 = FUNCTION_TABLE[HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 16 | 0) >> 2] | 0, $7_1 + 32 | 0, $7_1 + 28 | 0, $7_1 + 48 | 0, $7_1 + 44 | 0, $7_1 + 40 | 0) | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = $60_1; + $41_1 = (0 | 0) == ($60_1 | 0); + } + label$6 : { + if (!($41_1 & 1 | 0)) { + break label$6 + } + label$7 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) >= (HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 1 | 0; + } + label$8 : { + label$9 : { + if ((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$9 + } + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$8 + } + } + HEAP32[($7_1 + 52 | 0) >> 2] = 1; + break label$6; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2297(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 8 | 0) >> 2] = 1; + label$10 : while (1) { + $112_1 = 0; + label$11 : { + if (HEAP32[($7_1 + 52 | 0) >> 2] | 0) { + break label$11 + } + $112_1 = (HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0); + } + label$12 : { + if (!($112_1 & 1 | 0)) { + break label$12 + } + HEAP32[($7_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 8 | 0) >> 2] | 0, 24) | 0; + label$13 : { + label$14 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + break label$13; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2297(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + } + break label$10; + }; + continue label$4; + } + break label$4; + }; + FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0; + $154_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[$154_1 >> 2] = (HEAP32[$154_1 >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0; + label$15 : { + label$16 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$16 + } + $164_1 = 0; + break label$15; + } + $164_1 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 76 | 0) >> 2] = $164_1; + } + $167_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $167_1 | 0; + } + + function $2275($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, i64toi32_i32$0 = 0, $25_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $25_1 = $2102((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + $25_1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return; + } + + function $2276($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, $15_1 = 0, $20_1 = 0, $29_1 = 0, $71$hi = 0, $72$hi = 0, $63_1 = 0, $42_1 = 0, $62_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$1 : { + if (!(HEAP32[($6_1 + 16 | 0) >> 2] | 0)) { + break label$1 + } + $15_1 = 24; + if ((((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $15_1 | 0) >> $15_1 | 0) & 128 | 0) { + break label$1 + } + $20_1 = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $20_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $20_1; + label$2 : while (1) { + $29_1 = 0; + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $29_1 = (HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($29_1 & 1 | 0)) { + break label$4 + } + $42_1 = $2061((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0 | 0, $6_1 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + $42_1 | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $71$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $71$hi; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = (HEAP32[$6_1 >> 2] | 0) & -1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + } + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $62_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $63_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $63_1 + 1 | 0; + HEAP32[($62_1 + ($63_1 << 2 | 0) | 0) >> 2] = 0; + continue label$6; + }; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2277($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $189$hi = 0, $190$hi = 0, $195$hi = 0, $196$hi = 0, $186_1 = 0, $46_1 = 0, $86_1 = 0, $30_1 = 0, $31_1 = 0, $32_1 = 0, $97_1 = 0, $193_1 = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $199$hi = 0, $200$hi = 0, $337_1 = 0, $361_1 = 0, $189_1 = 0, $401_1 = 0, $195_1 = 0, $600_1 = 0, $199_1 = 0, $617_1 = 0, $183_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 128 | 0; + global$0 = $6_1; + $7_1 = 0; + i64toi32_i32$0 = 0; + $186_1 = 0; + HEAP32[($6_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 112 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $7_1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $186_1; + HEAP32[($6_1 + 100 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 92 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + i64toi32_i32$1 = $6_1; + HEAP32[$6_1 >> 2] = $186_1; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2056(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, $7_1 | 0, $7_1 | 0, 1 | 0, $7_1 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if (HEAP32[($6_1 + 108 | 0) >> 2] | 0) { + break label$3 + } + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + } + break label$1; + } + label$4 : { + if (!((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2281(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($6_1 + 108 | 0) >> 2] | 0)) { + break label$5 + } + break label$1; + } + } + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + $46_1 = 0; + if (!(($46_1 | 0) == ((HEAP32[((HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != ($46_1 | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 108 | 0) >> 2] = 101; + break label$1; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $337_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $337_1; + HEAP32[($6_1 + 100 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + break label$6; + } + i64toi32_i32$1 = $2076(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $361_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $361_1; + HEAP32[($6_1 + 100 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2282(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 1 | 0 | 0, $6_1 + 104 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + $86_1 = 0; + label$9 : { + if (!((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $189_1 = i64toi32_i32$0; + $189$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $190$hi = i64toi32_i32$0; + i64toi32_i32$0 = $189$hi; + i64toi32_i32$0 = $190$hi; + i64toi32_i32$0 = $189$hi; + i64toi32_i32$0 = $190$hi; + $401_1 = i64toi32_i32$1; + i64toi32_i32$0 = $189$hi; + i64toi32_i32$2 = $189_1; + i64toi32_i32$1 = $190$hi; + i64toi32_i32$3 = $401_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $30_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $31_1 = 0 + } else { + $31_1 = 1 + } + $32_1 = $31_1; + } else { + $32_1 = 0 + } + $30_1 = $32_1; + } + $86_1 = $30_1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = $86_1 & 1 | 0; + } + label$10 : { + if (!(HEAP32[($6_1 + 108 | 0) >> 2] | 0)) { + break label$10 + } + break label$1; + } + $97_1 = $6_1 + 72 | 0; + i64toi32_i32$2 = 0; + $193_1 = 0; + i64toi32_i32$0 = $97_1; + HEAP32[i64toi32_i32$0 >> 2] = $193_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$0 = i64toi32_i32$0 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $193_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($6_1 + 84 | 0) >> 2] = 1; + HEAP32[($6_1 + 84 | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0 | (HEAP32[($6_1 + 12 | 0) >> 2] | 0 ? 2 : 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2057(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0, $97_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + label$12 : while (1) { + if (!((0 | 0) == (HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2059(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!((HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0) != (100 | 0) & 1 | 0)) { + break label$13 + } + break label$11; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2283(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, $6_1 + 92 | 0 | 0, 1 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + continue label$12; + }; + } + label$14 : { + if (!(HEAP32[($6_1 + 108 | 0) >> 2] | 0)) { + break label$14 + } + break label$1; + } + label$15 : { + if (!((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2284(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!(HEAP32[($6_1 + 108 | 0) >> 2] | 0)) { + break label$16 + } + break label$1; + } + } + label$17 : { + if (!((HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2285(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0, HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (HEAP32[($6_1 + 108 | 0) >> 2] | 0) { + break label$18 + } + label$19 : { + label$20 : { + if ((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { + break label$20 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $195_1 = i64toi32_i32$0; + $195$hi = i64toi32_i32$2; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $196$hi = i64toi32_i32$0; + i64toi32_i32$0 = $195$hi; + i64toi32_i32$0 = $196$hi; + i64toi32_i32$0 = $195$hi; + i64toi32_i32$0 = $196$hi; + $600_1 = i64toi32_i32$2; + i64toi32_i32$0 = $195$hi; + i64toi32_i32$3 = $195_1; + i64toi32_i32$2 = $196$hi; + i64toi32_i32$1 = $600_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$2 | 0)) { + $33_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $34_1 = 0 + } else { + $34_1 = 1 + } + $35_1 = $34_1; + } else { + $35_1 = 0 + } + $33_1 = $35_1; + } + if (!($33_1 & 1 | 0)) { + break label$19 + } + } + i64toi32_i32$1 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $199_1 = i64toi32_i32$3; + $199$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; + $200$hi = i64toi32_i32$3; + i64toi32_i32$3 = $199$hi; + i64toi32_i32$3 = $200$hi; + $617_1 = i64toi32_i32$0; + i64toi32_i32$3 = $199$hi; + i64toi32_i32$0 = $200$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2286(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, $199_1 | 0, i64toi32_i32$3 | 0, $617_1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + $2287(HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0); + $2054($6_1 + 16 | 0 | 0); + $183_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + global$0 = $6_1 + 128 | 0; + return $183_1 | 0; + } + + function $2278($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $317(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $19_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $19_1 | 0; + } + + function $2279($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $151_1 = 0, $9_1 = 0, $242$hi = 0, $243$hi = 0, $229_1 = 0, $23_1 = 0, $33_1 = 0, $230$hi = 0, $231$hi = 0, $86_1 = 0, $96_1 = 0, $103_1 = 0, $234$hi = 0, $236$hi = 0, $238$hi = 0, $240$hi = 0, $230_1 = 0, $362_1 = 0, $365_1 = 0, $470_1 = 0, $234_1 = 0, $626_1 = 0, $629_1 = 0, $238_1 = 0, $711_1 = 0, $714_1 = 0, $242_1 = 0, $775_1 = 0, $226_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + $9_1 = 0; + i64toi32_i32$0 = 0; + $229_1 = 0; + HEAP32[($4_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 116 | 0) >> 2] = $9_1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $229_1; + HEAP32[($4_1 + 108 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 96 | 0) >> 2] = $229_1; + HEAP32[($4_1 + 100 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 92 | 0) >> 2] = $9_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, 27 | 0, $4_1 + 92 | 0 | 0, $9_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$1 + } + $330(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 280 | 0) >> 2] | 0 | 0) | 0; + $330(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) | 0; + label$2 : while (1) { + $23_1 = 0; + label$3 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$3 + } + $23_1 = ($287(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0); + } + label$4 : { + if (!($23_1 & 1 | 0)) { + break label$4 + } + $33_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $317(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, $33_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 80 | 0) >> 2] = $33_1; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + $230_1 = i64toi32_i32$0; + $230$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2298(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, $4_1 + 116 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $231$hi = i64toi32_i32$0; + i64toi32_i32$0 = $230$hi; + i64toi32_i32$0 = $231$hi; + $362_1 = i64toi32_i32$1; + i64toi32_i32$0 = $230$hi; + i64toi32_i32$2 = $230_1; + i64toi32_i32$1 = $231$hi; + i64toi32_i32$3 = $362_1; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0; + $365_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $365_1; + HEAP32[($4_1 + 108 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 80 | 0) >> 2] = (HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + continue label$2; + } + break label$2; + }; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$7 + } + HEAP32[($4_1 + 116 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + } + } + label$8 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$8 + } + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 224 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79(49993 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + label$10 : { + if ((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + HEAP32[($4_1 + 116 | 0) >> 2] = 7; + break label$9; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $402(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, -1 | 0, $4_1 + 72 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0); + } + label$11 : while (1) { + $86_1 = 0; + label$12 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$12 + } + $86_1 = (100 | 0) == ($287(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) | 0 | 0); + } + label$13 : { + if (!($86_1 & 1 | 0)) { + break label$13 + } + $96_1 = 0; + i64toi32_i32$1 = $318(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, $96_1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $470_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $470_1; + HEAP32[($4_1 + 60 | 0) >> 2] = i64toi32_i32$2; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2278(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 48 | 0) >> 2] = $96_1; + label$14 : while (1) { + $103_1 = 0; + label$15 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$15 + } + $103_1 = (HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + label$16 : { + if (!($103_1 & 1 | 0)) { + break label$16 + } + label$17 : { + if ((HEAPU8[((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + (HEAP32[($4_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$17 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $319(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 40 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2213(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, -1 | 0, $4_1 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + label$19 : while (1) { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$18 + } + $151_1 = 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $151_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $151_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $151_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $151_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 40 | 0) >> 2] | 0, $4_1 + 36 | 0, $4_1 + 32 | 0, $4_1 + 28 | 0, $4_1 + 24 | 0, $4_1 + 20 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (HEAP32[($4_1 + 116 | 0) >> 2] | 0) { + break label$20 + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + $234_1 = i64toi32_i32$2; + $234$hi = i64toi32_i32$1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$2 = $2299(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $236$hi = i64toi32_i32$1; + i64toi32_i32$1 = $234$hi; + i64toi32_i32$1 = $236$hi; + $626_1 = i64toi32_i32$2; + i64toi32_i32$1 = $234$hi; + i64toi32_i32$0 = $234_1; + i64toi32_i32$2 = $236$hi; + i64toi32_i32$3 = $626_1; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + $629_1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 96 | 0) >> 2] = $629_1; + HEAP32[($4_1 + 100 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + label$21 : { + label$22 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + label$23 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 24) | 0) >> 2] | 0 | 0) <= (HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + $238_1 = i64toi32_i32$2; + $238$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$2 = $2299(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 260 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 24) | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $240$hi = i64toi32_i32$0; + i64toi32_i32$0 = $238$hi; + i64toi32_i32$0 = $240$hi; + $711_1 = i64toi32_i32$2; + i64toi32_i32$0 = $238$hi; + i64toi32_i32$1 = $238_1; + i64toi32_i32$2 = $240$hi; + i64toi32_i32$3 = $711_1; + i64toi32_i32$2 = i64toi32_i32$0 ^ i64toi32_i32$2 | 0; + $714_1 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 96 | 0) >> 2] = $714_1; + HEAP32[($4_1 + 100 | 0) >> 2] = i64toi32_i32$2; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$22; + }; + } + } + continue label$19; + }; + } + label$24 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 40 | 0) >> 2] | 0) | 0; + } + label$25 : { + if (!((HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($4_1 + 116 | 0) >> 2] = 0; + } + } + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + } + break label$14; + }; + continue label$11; + } + break label$11; + }; + $213(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) | 0; + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + $242_1 = i64toi32_i32$2; + $242$hi = i64toi32_i32$1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + $243$hi = i64toi32_i32$2; + i64toi32_i32$2 = $242$hi; + i64toi32_i32$2 = $243$hi; + i64toi32_i32$2 = $242$hi; + i64toi32_i32$2 = $243$hi; + $775_1 = i64toi32_i32$1; + i64toi32_i32$2 = $242$hi; + i64toi32_i32$0 = $242_1; + i64toi32_i32$1 = $243$hi; + i64toi32_i32$3 = $775_1; + HEAP32[(HEAP32[($4_1 + 120 | 0) >> 2] | 0) >> 2] = ((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0; + $226_1 = HEAP32[($4_1 + 116 | 0) >> 2] | 0; + global$0 = $4_1 + 128 | 0; + return $226_1 | 0; + } + + function $2280($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $19_1 = 0, $11_1 = 0, $24_1 = 0, $43_1 = 0, $47_1 = 0, $42_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : while (1) { + $11_1 = 24; + $19_1 = 0; + label$2 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $11_1 | 0) >> $11_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$2 + } + $24_1 = 24; + $19_1 = 0; + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0 | 0) <= (57 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = (HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (214748363 | 0); + } + label$3 : { + if (!($19_1 & 1 | 0)) { + break label$3 + } + $42_1 = Math_imul(HEAP32[($3_1 + 4 | 0) >> 2] | 0, 10); + $43_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $43_1 + 1 | 0; + $47_1 = 24; + HEAP32[($3_1 + 4 | 0) >> 2] = ($42_1 + (((HEAPU8[$43_1 >> 0] | 0) << $47_1 | 0) >> $47_1 | 0) | 0) - 48 | 0; + continue label$1; + } + break label$1; + }; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + return HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $2281($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $21_1 = 0, $25_1 = 0, $137_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2075(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 15 | 0, $6_1 + 8 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 4 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $21_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $2076(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $331($21_1 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $25_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = $2076(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 1023 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $331($25_1 | 0, 2 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + label$3 : { + if (!((100 | 0) == ($287(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = $318(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $137_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $137_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $222(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $41_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $41_1 | 0; + } + + function $2282($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $12_1 = 0, $18_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $52_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + $12_1 = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[$7_1 >> 2] = $12_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 8 | 0, $7_1 + 4 | 0 | 0, $12_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + $18_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = $2076(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $331($18_1 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + label$2 : { + if (!((100 | 0) == ($287(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $317(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $222(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (HEAP32[($7_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[$7_1 >> 2] | 0 | 0) >= (16 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2277(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = 0; + break label$4; + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[$7_1 >> 2] | 0; + } + } + $52_1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $52_1 | 0; + } + + function $2283($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $301_1 = 0, $30_1 = 0, $307$hi = 0, $311$hi = 0, $167_1 = 0, $309$hi = 0, $146_1 = 0, $312$hi = 0, $153_1 = 0, $316$hi = 0, $185_1 = 0, $49_1 = 0, $496_1 = 0, $504_1 = 0, $111_1 = 0, $117_1 = 0, $145_1 = 0, $311_1 = 0, $176_1 = 0, $316_1 = 0, $778$hi = 0, $216_1 = 0, $225_1 = 0, $245_1 = 0, $298_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 80 | 0; + global$0 = $9_1; + HEAP32[($9_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 52 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 48 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 68 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $38(64 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($9_1 + 76 | 0) >> 2] = 7; + break label$1; + } + $30_1 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $301_1 = 0; + i64toi32_i32$1 = $30_1; + HEAP32[i64toi32_i32$1 >> 2] = $301_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 56 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $301_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $30_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $301_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $30_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $301_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $30_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $301_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $30_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $301_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $30_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $301_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $30_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $301_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($9_1 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + $49_1 = $38(HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] = $49_1; + label$4 : { + if ((HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + HEAP32[($9_1 + 76 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2075(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, 10 | 0, $9_1 + 20 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($9_1 + 24 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($9_1 + 76 | 0) >> 2] = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + break label$1; + } + label$6 : { + if (!((100 | 0) == ($287(HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = $318(HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $496_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $496_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $504_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $504_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $222(HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($9_1 + 24 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($9_1 + 76 | 0) >> 2] = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($9_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2288(HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 40 | 0) >> 2] = (HEAP32[($9_1 + 56 | 0) >> 2] | 0) - (HEAP32[($9_1 + 44 | 0) >> 2] | 0) | 0; + label$8 : { + if (!((HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($9_1 + 76 | 0) >> 2] = 267; + break label$1; + } + i64toi32_i32$1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $111_1 = $2099(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $117_1 = ($111_1 + ($2099(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) | 0) + (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = ($117_1 + ($2099(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) | 0) + (HEAP32[($9_1 + 48 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + if (!(((HEAP32[($9_1 + 32 | 0) >> 2] | 0) + (HEAP32[($9_1 + 36 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$0 = 2147483647; + $307$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $309$hi = i64toi32_i32$1; + i64toi32_i32$1 = $307$hi; + i64toi32_i32$1 = $309$hi; + i64toi32_i32$1 = $307$hi; + i64toi32_i32$1 = $309$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $307$hi; + i64toi32_i32$3 = -1; + label$10 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($9_1 + 76 | 0) >> 2] = 267; + break label$1; + } + $145_1 = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + $146_1 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$3 = $146_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $311_1 = i64toi32_i32$2; + $311$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $312$hi = i64toi32_i32$1; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$1 = $312$hi; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $312$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$3 = $146_1; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $311$hi; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2289($145_1 | 0, $311_1 | 0, i64toi32_i32$5 | 0, HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($9_1 + 16 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($9_1 + 76 | 0) >> 2] = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + break label$1; + } + $153_1 = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + HEAP32[($153_1 + 52 | 0) >> 2] = (HEAP32[($153_1 + 52 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2290(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($9_1 + 16 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($9_1 + 76 | 0) >> 2] = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + break label$1; + } + $167_1 = 0; + HEAP32[($9_1 + 32 | 0) >> 2] = $167_1; + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] = $167_1; + HEAP32[($9_1 + 44 | 0) >> 2] = $167_1; + HEAP32[($9_1 + 40 | 0) >> 2] = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $176_1 = (($2099(i64toi32_i32$3 | 0, i64toi32_i32$5 | 0) | 0) + 1 | 0) + (HEAP32[($9_1 + 56 | 0) >> 2] | 0) | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = ($176_1 + ($2099(i64toi32_i32$3 | 0, i64toi32_i32$5 | 0) | 0) | 0) + (HEAP32[($9_1 + 48 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$3 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$3 >> 31 | 0; + $316_1 = i64toi32_i32$3; + $316$hi = i64toi32_i32$5; + $185_1 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = $185_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; + $778$hi = i64toi32_i32$3; + i64toi32_i32$3 = $316$hi; + i64toi32_i32$3 = $778$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $316$hi; + i64toi32_i32$0 = $316_1; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $185_1; + HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] = i64toi32_i32$4; + label$13 : { + if (!((HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $44(HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if ((HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$14 + } + HEAP32[($9_1 + 76 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + } + i64toi32_i32$1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $216_1 = $2102((HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 32 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0) | 0; + HEAP32[($9_1 + 32 | 0) >> 2] = (HEAP32[($9_1 + 32 | 0) >> 2] | 0) + $216_1 | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $225_1 = $2102((HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 32 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0) | 0; + HEAP32[($9_1 + 32 | 0) >> 2] = (HEAP32[($9_1 + 32 | 0) >> 2] | 0) + $225_1 | 0; + $3288((HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 32 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($9_1 + 60 | 0) >> 2] | 0) + (HEAP32[($9_1 + 44 | 0) >> 2] | 0) | 0 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 32 | 0) >> 2] = (HEAP32[($9_1 + 32 | 0) >> 2] | 0) + (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $245_1 = $2102((HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 32 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0) | 0; + HEAP32[($9_1 + 32 | 0) >> 2] = (HEAP32[($9_1 + 32 | 0) >> 2] | 0) + $245_1 | 0; + $3288((HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($9_1 + 32 | 0) >> 2] | 0) | 0 | 0, HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] = (HEAP32[($9_1 + 32 | 0) >> 2] | 0) + (HEAP32[($9_1 + 48 | 0) >> 2] | 0) | 0; + label$15 : { + label$16 : { + if (!(HEAP32[($9_1 + 64 | 0) >> 2] | 0)) { + break label$16 + } + label$17 : { + if (!((HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $44(HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 56 | 0) >> 2] | 0) << 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if ((HEAP32[($9_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$18 + } + HEAP32[($9_1 + 76 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($9_1 + 56 | 0) >> 2] | 0) << 1 | 0; + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + } + $3288(HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) | 0; + break label$15; + } + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + HEAP32[($9_1 + 76 | 0) >> 2] = 0; + } + $298_1 = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + global$0 = $9_1 + 80 | 0; + return $298_1 | 0; + } + + function $2284($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $9_1 = 0, $12_1 = 0, $53_1 = 0, $57_1 = 0, $70_1 = 0, $80_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $9_1; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (HEAP32[($8_1 + 16 | 0) >> 2] | 0) { + break label$2 + } + $12_1 = (HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2291(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$4 : { + label$5 : { + if (!(HEAP32[($8_1 + 16 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2075(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, 26 | 0, $8_1 + 8 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($8_1 + 16 | 0) >> 2] | 0) { + break label$8 + } + $53_1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $2076(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $331($53_1 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $57_1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = $2076(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 1023 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $331($57_1 | 0, 2 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + } + break label$6; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2075(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, 16 | 0, $8_1 + 8 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($8_1 + 16 | 0) >> 2] | 0) { + break label$9 + } + $70_1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $2076(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $331($70_1 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + } + } + label$10 : { + if (HEAP32[($8_1 + 16 | 0) >> 2] | 0) { + break label$10 + } + $287(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $222(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + } + $80_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $80_1 | 0; + } + + function $2285($0_1, $1_1, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $64$hi = 0, $74_1 = 0, $15_1 = 0, $18_1 = 0, $65$hi = 0, i64toi32_i32$4 = 0, $67$hi = 0, $68$hi = 0, $69$hi = 0, $70$hi = 0, $71$hi = 0, $72$hi = 0, $73$hi = 0, $74$hi = 0, $75$hi = 0, $76$hi = 0, $55_1 = 0, $115_1 = 0, $17_1 = 0, $64_1 = 0, $67_1 = 0, $172_1 = 0, $69_1 = 0, $70_1 = 0, $71_1 = 0, $72_1 = 0, $210_1 = 0, $75_1 = 0, $240_1 = 0, $59_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 4 | 0) >> 2] = $15_1; + HEAP32[$6_1 >> 2] = $15_1; + i64toi32_i32$2 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $115_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $115_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$1; + $17_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $18_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = $18_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $64_1 = i64toi32_i32$1; + $64$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $65$hi = i64toi32_i32$0; + i64toi32_i32$0 = $64$hi; + i64toi32_i32$0 = $65$hi; + i64toi32_i32$0 = $64$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $18_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $64$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2289($17_1 | 0, $64_1 | 0, i64toi32_i32$5 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$3 + } + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $67_1 = i64toi32_i32$5; + $67$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $68$hi = i64toi32_i32$5; + i64toi32_i32$5 = $67$hi; + i64toi32_i32$5 = $68$hi; + $172_1 = i64toi32_i32$2; + i64toi32_i32$5 = $67$hi; + i64toi32_i32$2 = $68$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2292(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, 1 | 0, $67_1 | 0, i64toi32_i32$5 | 0, $172_1 | 0, i64toi32_i32$2 | 0, $6_1 + 16 | 0 | 0, $6_1 + 4 | 0 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $69_1 = i64toi32_i32$2; + $69$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $70_1 = i64toi32_i32$5; + $70$hi = i64toi32_i32$2; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $71_1 = i64toi32_i32$2; + $71$hi = i64toi32_i32$5; + i64toi32_i32$0 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $72_1 = i64toi32_i32$5; + $72$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] | 0; + $73$hi = i64toi32_i32$5; + i64toi32_i32$5 = $69$hi; + i64toi32_i32$5 = $70$hi; + i64toi32_i32$5 = $71$hi; + i64toi32_i32$5 = $72$hi; + i64toi32_i32$5 = $73$hi; + $210_1 = i64toi32_i32$2; + i64toi32_i32$5 = $69$hi; + i64toi32_i32$2 = $70$hi; + i64toi32_i32$0 = $71$hi; + i64toi32_i32$3 = $72$hi; + i64toi32_i32$1 = $73$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2293(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, $69_1 | 0, i64toi32_i32$5 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, $70_1 | 0, i64toi32_i32$2 | 0, $71_1 | 0, i64toi32_i32$0 | 0, $72_1 | 0, i64toi32_i32$3 | 0, $210_1 | 0, i64toi32_i32$1 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + break label$1; + } + i64toi32_i32$1 = 0; + $74_1 = 0; + $74$hi = i64toi32_i32$1; + i64toi32_i32$0 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $75_1 = i64toi32_i32$1; + $75$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] | 0; + $76$hi = i64toi32_i32$1; + i64toi32_i32$1 = $75$hi; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$1 = $76$hi; + $240_1 = i64toi32_i32$3; + i64toi32_i32$1 = $75$hi; + i64toi32_i32$3 = $74$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$5 = $76$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2293(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, $75_1 | 0, i64toi32_i32$1 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, $74_1 | 0, i64toi32_i32$0 | 0, $74_1 | 0, i64toi32_i32$0 | 0, $74_1 | 0, i64toi32_i32$0 | 0, $240_1 | 0, i64toi32_i32$5 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + $55_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[($55_1 + 52 | 0) >> 2] = (HEAP32[($55_1 + 52 | 0) >> 2] | 0) + 1 | 0; + $59_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $59_1 | 0; + } + + function $2286($0_1, $1_1, $1$hi, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $123$hi = 0, $127$hi = 0, $128$hi = 0, $46_1 = 0, $10_1 = 0, $105$hi = 0, $106$hi = 0, $107$hi = 0, $108$hi = 0, $109$hi = 0, $110$hi = 0, $43_1 = 0, $111$hi = 0, $112$hi = 0, $114$hi = 0, $115$hi = 0, $116$hi = 0, $117$hi = 0, $119$hi = 0, $120$hi = 0, $123_1 = 0, $125$hi = 0, $44_1 = 0, $45_1 = 0, $47_1 = 0, $48_1 = 0, $49_1 = 0, $50_1 = 0, $75_1 = 0, $79_1 = 0, $14_1 = 0, $15_1 = 0, $51_1 = 0, $52_1 = 0, $53_1 = 0, $189_1 = 0, $17_1 = 0, $127_1 = 0, $257_1 = 0, $78_1 = 0, $102_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 96 | 0; + global$0 = $5_1; + $10_1 = 0; + HEAP32[($5_1 + 92 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 84 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 68 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 37 | 0, $5_1 + 64 | 0 | 0, $10_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 68 | 0) >> 2] | 0) { + break label$1 + } + $14_1 = 2; + $15_1 = 1; + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $105$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $106$hi = i64toi32_i32$1; + i64toi32_i32$1 = $105$hi; + i64toi32_i32$1 = $106$hi; + i64toi32_i32$1 = $105$hi; + $51_1 = i64toi32_i32$0; + i64toi32_i32$0 = $106$hi; + i64toi32_i32$0 = __wasm_i64_sdiv($51_1 | 0, i64toi32_i32$1 | 0, 1024 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $107$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $108$hi = i64toi32_i32$1; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$1 = $107$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $108$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $109$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $110$hi = i64toi32_i32$5; + i64toi32_i32$5 = $109$hi; + i64toi32_i32$5 = $110$hi; + i64toi32_i32$5 = $109$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $110$hi; + i64toi32_i32$3 = 10; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$0 | 0; + $43_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$0 | 0) | 0; + $43_1 = i64toi32_i32$1 << i64toi32_i32$0 | 0; + } + $111$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $112$hi = i64toi32_i32$2; + i64toi32_i32$2 = $111$hi; + i64toi32_i32$2 = $112$hi; + i64toi32_i32$2 = $111$hi; + i64toi32_i32$5 = $43_1; + i64toi32_i32$1 = $112$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$2 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + $114$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $115$hi = i64toi32_i32$5; + i64toi32_i32$5 = $114$hi; + i64toi32_i32$5 = $115$hi; + i64toi32_i32$5 = $114$hi; + $52_1 = i64toi32_i32$4; + i64toi32_i32$4 = $115$hi; + i64toi32_i32$4 = __wasm_i64_mul($52_1 | 0, i64toi32_i32$5 | 0, 3 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $116$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $117$hi = i64toi32_i32$5; + i64toi32_i32$5 = $116$hi; + i64toi32_i32$5 = $117$hi; + i64toi32_i32$5 = $116$hi; + $53_1 = i64toi32_i32$4; + i64toi32_i32$4 = $117$hi; + i64toi32_i32$4 = __wasm_i64_sdiv($53_1 | 0, i64toi32_i32$5 | 0, 2 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $189_1 = i64toi32_i32$4; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $189_1; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$5; + $17_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $119$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $120$hi = i64toi32_i32$4; + i64toi32_i32$4 = $119$hi; + i64toi32_i32$4 = $120$hi; + i64toi32_i32$4 = $119$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $120$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $331($17_1 | 0, $15_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$4 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, $14_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0; + label$2 : { + label$3 : while (1) { + if (!((100 | 0) == ($287(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = 0; + $123_1 = 0; + $123$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $123_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$2; + $2294(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, 2 | 0, $5_1 + 24 | 0 | 0, $5_1 + 32 | 0 | 0); + i64toi32_i32$4 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $125$hi = i64toi32_i32$0; + i64toi32_i32$0 = $123$hi; + i64toi32_i32$0 = $125$hi; + i64toi32_i32$0 = $123$hi; + i64toi32_i32$0 = $125$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $123$hi; + i64toi32_i32$3 = $123_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$2 | 0)) { + $44_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$4 >>> 0 > i64toi32_i32$3 >>> 0) { + $45_1 = 0 + } else { + $45_1 = 1 + } + $47_1 = $45_1; + } else { + $47_1 = 0 + } + $44_1 = $47_1; + } + label$4 : { + label$5 : { + if ($44_1 & 1 | 0) { + break label$5 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $127_1 = i64toi32_i32$4; + $127$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $128$hi = i64toi32_i32$4; + i64toi32_i32$4 = $127$hi; + i64toi32_i32$4 = $128$hi; + i64toi32_i32$4 = $127$hi; + i64toi32_i32$4 = $128$hi; + $257_1 = i64toi32_i32$0; + i64toi32_i32$4 = $127$hi; + i64toi32_i32$3 = $127_1; + i64toi32_i32$0 = $128$hi; + i64toi32_i32$2 = $257_1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$0 | 0)) { + $48_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$2 >>> 0) { + $49_1 = 0 + } else { + $49_1 = 1 + } + $50_1 = $49_1; + } else { + $50_1 = 0 + } + $48_1 = $50_1; + } + if (!($48_1 & 1 | 0)) { + break label$4 + } + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + break label$2; + } + HEAP32[($5_1 + 60 | 0) >> 2] = 1; + continue label$3; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($5_1 + 60 | 0) >> 2] | 0)) { + break label$6 + } + $46_1 = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $46_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $46_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $46_1; + label$7 : { + if (HEAP32[($5_1 + 68 | 0) >> 2] | 0) { + break label$7 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 38 | 0, $5_1 + 16 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + if (HEAP32[($5_1 + 68 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 39 | 0, $5_1 + 12 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + } + label$9 : { + if (HEAP32[($5_1 + 68 | 0) >> 2] | 0) { + break label$9 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$4 | 0) | 0; + label$10 : { + label$11 : while (1) { + if (!((100 | 0) == ($287(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + $75_1 = 1; + $78_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $79_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $79_1 + 1 | 0; + $330($78_1 | 0, $75_1 | 0, $79_1 | 0) | 0; + $330(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 2 | 0, $317(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0; + $330(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 3 | 0, $317(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, $75_1 | 0) | 0 | 0) | 0; + $287(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($5_1 + 68 | 0) >> 2] | 0)) { + break label$12 + } + $222(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0; + break label$10; + } + continue label$11; + }; + } + } + label$13 : { + if (HEAP32[($5_1 + 68 | 0) >> 2] | 0) { + break label$13 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + } + label$14 : { + if (HEAP32[($5_1 + 68 | 0) >> 2] | 0) { + break label$14 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$3 | 0) | 0; + $287(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + } + } + } + $102_1 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + global$0 = $5_1 + 96 | 0; + return $102_1 | 0; + } + + function $2287($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + $2295(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2288($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $16_1 = 0, $21_1 = 0, $28_1 = 0; + $6_1 = global$0 - 32 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$1 : while (1) { + $16_1 = 0; + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $21_1 = 24; + $28_1 = 24; + $16_1 = (((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $21_1 | 0) >> $21_1 | 0 | 0) == (((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0 | 0); + } + label$3 : { + if (!($16_1 & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + return HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2289($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2075(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 9 | 0, $6_1 + 4 | 0 | 0, 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[$6_1 >> 2] | 0) { + break label$1 + } + $15_1 = 2; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $331(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $325(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, $15_1 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $287(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $222(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $332(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, $15_1 | 0) | 0; + } + $26_1 = HEAP32[$6_1 >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $26_1 | 0; + } + + function $2290($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $260_1 = 0, $185_1 = 0, $123_1 = 0, $40_1 = 0, $44_1 = 0, $75_1 = 0, $99_1 = 0, $108_1 = 0, $253_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2288(HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) - (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0; + label$3 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 267; + break label$1; + } + i64toi32_i32$1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $40_1 = $2099(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $44_1 = $40_1 + ($2099(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + ($44_1 + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) | 0; + label$4 : { + label$5 : { + if ((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$5 + } + if ((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + } + label$6 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $75_1 = $38(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] = $75_1; + label$7 : { + if ((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 7; + break label$1; + } + } + label$8 : { + if (!((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $99_1 = $2102((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + $99_1 | 0; + } + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $108_1 = $2102((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + $108_1 | 0; + $3288((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($7_1 + 44 | 0) >> 2] | 0) + (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + $123_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($123_1 + 12 | 0) >> 2] = (HEAP32[($123_1 + 12 | 0) >> 2] | 0) + 1 | 0; + label$9 : { + label$10 : { + if (!(HEAP32[($7_1 + 48 | 0) >> 2] | 0)) { + break label$10 + } + label$11 : { + if (!((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $44(HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 40 | 0) >> 2] | 0) << 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if ((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) << 1 | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $3288(HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + break label$9; + } + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $38((HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0) + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if ((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$13 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 7; + break label$1; + } + $185_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $260_1 = 0; + i64toi32_i32$1 = $185_1; + HEAP32[i64toi32_i32$1 >> 2] = $260_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $260_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $185_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $260_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $185_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $260_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $185_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $260_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] = 11; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 40 | 0; + label$14 : { + label$15 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2290(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, $7_1 + 4 | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!((HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + break label$14; + } + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2290(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, $7_1 + 28 | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + } + $253_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $253_1 | 0; + } + + function $2291($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, $28$hi = 0, $30$hi = 0, $25_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $28$hi = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $30$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$3 = 0; + label$1 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != ($28$hi | 0) | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 17 | 0, $4_1 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $331(HEAP32[$4_1 >> 2] | 0 | 0, 1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $331(HEAP32[$4_1 >> 2] | 0 | 0, 2 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0; + $287(HEAP32[$4_1 >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + $25_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $25_1 | 0; + } + + function $2292($0_1, $1_1, $2_1, $3_1, $3$hi, $4_1, $4$hi, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var $10_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $11_1 = 0, $88$hi = 0, $89$hi = 0, $43_1 = 0, $95$hi = 0, $96$hi = 0, $98$hi = 0, $101$hi = 0, $102$hi = 0, $189_1 = 0, $193_1 = 0, $98_1 = 0, $291$hi = 0, $101_1 = 0, $330_1 = 0, $84_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $10_1 = global$0 - 80 | 0; + global$0 = $10_1; + $11_1 = 0; + HEAP32[($10_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($10_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($10_1 + 68 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $10_1; + HEAP32[($10_1 + 56 | 0) >> 2] = $3_1; + HEAP32[($10_1 + 60 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $10_1; + HEAP32[($10_1 + 48 | 0) >> 2] = $4_1; + HEAP32[($10_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($10_1 + 44 | 0) >> 2] = $5_1; + HEAP32[($10_1 + 40 | 0) >> 2] = $6_1; + HEAP32[($10_1 + 36 | 0) >> 2] = $7_1; + HEAP32[($10_1 + 32 | 0) >> 2] = $11_1; + label$1 : { + label$2 : { + if ((HEAP32[(HEAP32[($10_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($11_1 | 0) & 1 | 0) { + break label$2 + } + i64toi32_i32$2 = $10_1; + i64toi32_i32$0 = HEAP32[($10_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($10_1 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $2296(HEAP32[($10_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = $10_1; + i64toi32_i32$1 = HEAP32[($10_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($10_1 + 52 | 0) >> 2] | 0; + $88$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $89$hi = i64toi32_i32$0; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $89$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = HEAP32[($10_1 + 44 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[(HEAP32[($10_1 + 36 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($10_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) - (HEAP32[($10_1 + 28 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($10_1 + 40 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($10_1 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($10_1 + 28 | 0) >> 2] | 0) | 0; + break label$1; + } + i64toi32_i32$0 = $10_1; + i64toi32_i32$5 = HEAP32[($10_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($10_1 + 52 | 0) >> 2] | 0; + $189_1 = i64toi32_i32$5; + i64toi32_i32$5 = $10_1; + HEAP32[($10_1 + 16 | 0) >> 2] = $189_1; + HEAP32[($10_1 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$0 = $10_1; + i64toi32_i32$2 = HEAP32[($10_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($10_1 + 60 | 0) >> 2] | 0; + $193_1 = i64toi32_i32$2; + i64toi32_i32$2 = $10_1; + HEAP32[($10_1 + 8 | 0) >> 2] = $193_1; + HEAP32[($10_1 + 12 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($10_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$3 : while (1) { + $43_1 = 0; + label$4 : { + if (!((HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $43_1 = (HEAP32[($10_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$5 : { + if (!($43_1 & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = $10_1; + i64toi32_i32$5 = HEAP32[($10_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($10_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $2296(HEAP32[($10_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 68 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$10_1 >> 2] = (HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) - (HEAP32[($10_1 + 4 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = $10_1; + i64toi32_i32$2 = HEAP32[($10_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($10_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $2289(HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$5 | 0, (HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($10_1 + 4 | 0) >> 2] | 0) | 0 | 0, HEAP32[$10_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $10_1; + i64toi32_i32$5 = HEAP32[($10_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($10_1 + 20 | 0) >> 2] | 0; + $95$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $96$hi = i64toi32_i32$2; + i64toi32_i32$2 = $95$hi; + i64toi32_i32$2 = $96$hi; + i64toi32_i32$2 = $95$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $96$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $10_1; + HEAP32[($10_1 + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($10_1 + 20 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$0 = (HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $98_1 = i64toi32_i32$0; + $98$hi = i64toi32_i32$4; + i64toi32_i32$2 = $10_1; + i64toi32_i32$4 = HEAP32[($10_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($10_1 + 12 | 0) >> 2] | 0; + $291$hi = i64toi32_i32$0; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$0 = $291$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $98$hi; + i64toi32_i32$3 = $98_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$2 = $10_1; + HEAP32[($10_1 + 8 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($10_1 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($10_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($10_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + label$6 : { + if (HEAP32[($10_1 + 32 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$0 = $10_1; + i64toi32_i32$1 = HEAP32[($10_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($10_1 + 52 | 0) >> 2] | 0; + $101_1 = i64toi32_i32$1; + $101$hi = i64toi32_i32$2; + i64toi32_i32$0 = $10_1; + i64toi32_i32$2 = HEAP32[($10_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($10_1 + 20 | 0) >> 2] | 0; + $102$hi = i64toi32_i32$1; + i64toi32_i32$1 = $101$hi; + i64toi32_i32$1 = $102$hi; + $330_1 = i64toi32_i32$2; + i64toi32_i32$1 = $101$hi; + i64toi32_i32$2 = $102$hi; + (wasm2js_i32$0 = $10_1, wasm2js_i32$1 = $2292(HEAP32[($10_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($10_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($10_1 + 68 | 0) >> 2] | 0) + 1 | 0 | 0, $101_1 | 0, i64toi32_i32$1 | 0, $330_1 | 0, i64toi32_i32$2 | 0, HEAP32[($10_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($10_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + } + $84_1 = HEAP32[($10_1 + 32 | 0) >> 2] | 0; + global$0 = $10_1 + 80 | 0; + return $84_1 | 0; + } + + function $2293($0_1, $1_1, $1$hi, $2_1, $3_1, $3$hi, $4_1, $4$hi, $5_1, $5$hi, $6_1, $6$hi, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + $5_1 = $5_1 | 0; + $5$hi = $5$hi | 0; + $6_1 = $6_1 | 0; + $6$hi = $6$hi | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $62$hi = 0, $67$hi = 0, $49_1 = 0, $70_1 = 0, $70$hi = 0, $168_1 = 0, $59_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11_1 = global$0 - 96 | 0; + global$0 = $11_1; + HEAP32[($11_1 + 88 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $11_1; + HEAP32[($11_1 + 80 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 84 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($11_1 + 76 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $11_1; + HEAP32[($11_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 68 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $11_1; + HEAP32[($11_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 60 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $5$hi; + i64toi32_i32$1 = $11_1; + HEAP32[($11_1 + 48 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 52 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$1 = $11_1; + HEAP32[($11_1 + 40 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($11_1 + 36 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 32 | 0) >> 2] = $8_1; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2075(HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, 11 | 0, $11_1 + 28 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($11_1 + 24 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + $62$hi = i64toi32_i32$0; + i64toi32_i32$2 = $11_1; + i64toi32_i32$0 = HEAP32[($11_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($11_1 + 84 | 0) >> 2] | 0; + $331(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $330(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = HEAP32[($11_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11_1 + 68 | 0) >> 2] | 0; + $331(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, 3 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = $11_1; + i64toi32_i32$0 = HEAP32[($11_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($11_1 + 60 | 0) >> 2] | 0; + $331(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, 4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = HEAP32[($11_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11_1 + 44 | 0) >> 2] | 0; + $67$hi = i64toi32_i32$0; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $62$hi; + label$3 : { + label$4 : { + if (!(((i64toi32_i32$2 | 0) == (0 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($11_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11_1 + 52 | 0) >> 2] | 0; + $331(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, 5 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0; + break label$3; + } + i64toi32_i32$0 = HEAP32[($11_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($11_1 + 52 | 0) >> 2] | 0; + $70_1 = i64toi32_i32$0; + $70$hi = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($11_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11_1 + 44 | 0) >> 2] | 0; + $168_1 = i64toi32_i32$2; + i64toi32_i32$2 = $11_1; + HEAP32[($11_1 + 8 | 0) >> 2] = $168_1; + HEAP32[($11_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$2 = $11_1; + HEAP32[$11_1 >> 2] = $70_1; + HEAP32[($11_1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $79(49983 | 0, $11_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($11_1 + 92 | 0) >> 2] = 7; + break label$1; + } + $333(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0, -1 | 0, 3 | 0) | 0; + } + $49_1 = 6; + $325(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, $49_1 | 0, HEAP32[($11_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $287(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $222(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $332(HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, $49_1 | 0) | 0; + } + HEAP32[($11_1 + 92 | 0) >> 2] = HEAP32[($11_1 + 24 | 0) >> 2] | 0; + } + $59_1 = HEAP32[($11_1 + 92 | 0) >> 2] | 0; + global$0 = $11_1 + 96 | 0; + return $59_1 | 0; + } + + function $2294($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $32_1 = 0, $135$hi = 0, $136$hi = 0, $137$hi = 0, $138$hi = 0, $103_1 = 0, $142$hi = 0, $143$hi = 0, $144$hi = 0, $145$hi = 0, $147$hi = 0, $148$hi = 0, $31_1 = 0, $137_1 = 0, $261_1 = 0, $277_1 = 0, $33_1 = 0, $144_1 = 0, $411_1 = 0, $147_1 = 0, $430_1 = 0, $435_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $319(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + label$2 : while (1) { + $32_1 = 0; + label$3 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$3 + } + $32_1 = ((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) <= (57 | 0); + } + label$4 : { + if (!($32_1 & 1 | 0)) { + break label$4 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $135$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $136$hi = i64toi32_i32$1; + i64toi32_i32$1 = $135$hi; + i64toi32_i32$1 = $136$hi; + i64toi32_i32$1 = $135$hi; + $31_1 = i64toi32_i32$0; + i64toi32_i32$0 = $136$hi; + i64toi32_i32$0 = __wasm_i64_mul($31_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $137_1 = i64toi32_i32$0; + $137$hi = i64toi32_i32$1; + i64toi32_i32$0 = ((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) - 48 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $138$hi = i64toi32_i32$1; + i64toi32_i32$1 = $137$hi; + i64toi32_i32$1 = $138$hi; + $261_1 = i64toi32_i32$0; + i64toi32_i32$1 = $137$hi; + i64toi32_i32$2 = $137_1; + i64toi32_i32$0 = $138$hi; + i64toi32_i32$3 = $261_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + i64toi32_i32$1 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $277_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $277_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + label$5 : { + label$6 : while (1) { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + i64toi32_i32$2 = 0; + i64toi32_i32$5 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$2; + label$7 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = -1; + } + label$8 : while (1) { + $103_1 = 0; + label$9 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$9 + } + $103_1 = ((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) <= (57 | 0); + } + label$10 : { + if (!($103_1 & 1 | 0)) { + break label$10 + } + i64toi32_i32$1 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $142$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $143$hi = i64toi32_i32$5; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$5 = $143$hi; + i64toi32_i32$5 = $142$hi; + $33_1 = i64toi32_i32$2; + i64toi32_i32$2 = $143$hi; + i64toi32_i32$2 = __wasm_i64_mul($33_1 | 0, i64toi32_i32$5 | 0, 10 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $144_1 = i64toi32_i32$2; + $144$hi = i64toi32_i32$5; + i64toi32_i32$2 = ((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) - 48 | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $145$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$5 = $145$hi; + $411_1 = i64toi32_i32$2; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$1 = $144_1; + i64toi32_i32$2 = $145$hi; + i64toi32_i32$3 = $411_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + } + break label$8; + }; + i64toi32_i32$5 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $147_1 = i64toi32_i32$4; + $147$hi = i64toi32_i32$1; + i64toi32_i32$4 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$4 >> 31 | 0; + $148$hi = i64toi32_i32$1; + i64toi32_i32$1 = $147$hi; + i64toi32_i32$1 = $148$hi; + $430_1 = i64toi32_i32$4; + i64toi32_i32$1 = $147$hi; + i64toi32_i32$4 = $148$hi; + i64toi32_i32$4 = __wasm_i64_mul($147_1 | 0, i64toi32_i32$1 | 0, $430_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $435_1 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$4 >> 2] = $435_1; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$1; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2295($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $2295(HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0); + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) != ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0 | 0) & 1 | 0)) { + break label$4 + } + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + } + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + continue label$3; + }; + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2296($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = 10 - ($2099(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $2102((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $20_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $20_1 | 0; + } + + function $2297($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $9_1 = 0, $26_1 = 0, $65$hi = 0, $66$hi = 0, $67$hi = 0, $59_1 = 0, $65_1 = 0, $66_1 = 0, $154_1 = 0, $62_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + HEAP32[$8_1 >> 2] = $9_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2132(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) != ($9_1 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($26_1 + 268 | 0) >> 2] = (HEAP32[($26_1 + 268 | 0) >> 2] | 0) - (((HEAP32[(HEAP32[($8_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($8_1 + 8 | 0) >> 2] | 0) | 0) + 20 | 0) | 0; + } + i64toi32_i32$2 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 272 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 276 | 0) >> 2] | 0; + $65_1 = i64toi32_i32$0; + $65$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $66_1 = i64toi32_i32$0; + $66$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $67$hi = i64toi32_i32$1; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$1 = $66$hi; + i64toi32_i32$1 = $67$hi; + $154_1 = i64toi32_i32$0; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$2 = $67$hi; + label$2 : { + if (!($2250($8_1 + 4 | 0 | 0, $65_1 | 0, i64toi32_i32$1 | 0, $66_1 | 0, i64toi32_i32$0 | 0, $154_1 | 0, i64toi32_i32$2 | 0, $8_1 | 0) | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) == ($2012(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $42(HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[$8_1 >> 2] = 7; + } + } + label$4 : { + if (HEAP32[$8_1 >> 2] | 0) { + break label$4 + } + $59_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($59_1 + 268 | 0) >> 2] = (HEAP32[($59_1 + 268 | 0) >> 2] | 0) + (((HEAP32[(HEAP32[($8_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($8_1 + 8 | 0) >> 2] | 0) | 0) + 20 | 0) | 0; + } + $62_1 = HEAP32[$8_1 >> 2] | 0; + global$0 = $8_1 + 32 | 0; + return $62_1 | 0; + } + + function $2298($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $12_1 = 0, $135_1 = 0, $8_1 = 0, $136_1 = 0, $138$hi = 0, $142$hi = 0, $146_1 = 0, $146$hi = 0, i64toi32_i32$6 = 0, $134_1 = 0, $53_1 = 0, $140$hi = 0, $144$hi = 0, $148$hi = 0, $150$hi = 0, $151$hi = 0, $153$hi = 0, $154$hi = 0, $156$hi = 0, $157$hi = 0, $158$hi = 0, $161$hi = 0, $165$hi = 0, $67_1 = 0, $79_1 = 0, $102_1 = 0, $108_1 = 0, $150_1 = 0, $469_1 = 0, $153_1 = 0, $478_1 = 0, $489$hi = 0, $161_1 = 0, $162_1 = 0, $162$hi = 0, $124_1 = 0, $523_1 = 0, $526_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 144 | 0; + global$0 = $6_1; + $8_1 = 0; + $12_1 = $6_1 + 56 | 0; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 132 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 128 | 0) >> 2] = $3_1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $134_1 = 0; + i64toi32_i32$1 = $6_1 + 112 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $134_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $134_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $135_1 = 0; + i64toi32_i32$1 = $12_1; + HEAP32[i64toi32_i32$1 >> 2] = $135_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $135_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $135_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $135_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $135_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $135_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $12_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $135_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 124 | 0) >> 2] = 3; + HEAP32[($6_1 + 124 | 0) >> 2] = HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 16 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2056(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, -2 | 0, $8_1 | 0, $8_1 | 0, $8_1 | 0, 1 | 0, $12_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($6_1 + 52 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2057(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, $6_1 + 56 | 0 | 0, $6_1 + 112 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($6_1 + 52 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + label$4 : while (1) { + $53_1 = $2059(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, $6_1 + 56 | 0 | 0) | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = $53_1; + if (!((100 | 0) == ($53_1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + $136_1 = 0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[($6_1 + 104 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 108 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $136_1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $136_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $136_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + $67_1 = $2061(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $6_1 + 24 | 0 | 0) | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + $67_1 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[$6_1 >> 2] = 0; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$0; + $79_1 = $2085(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + $79_1 | 0; + label$7 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0) >>> 0 < (HEAP32[($6_1 + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = 0; + $138$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $138$hi; + i64toi32_i32$3 = 0; + label$8 : { + label$9 : { + label$10 : { + if (((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$10 + } + i64toi32_i32$2 = 0; + $142$hi = i64toi32_i32$2; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $144$hi = i64toi32_i32$1; + i64toi32_i32$1 = $142$hi; + i64toi32_i32$1 = $144$hi; + i64toi32_i32$1 = $142$hi; + i64toi32_i32$1 = $144$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $142$hi; + i64toi32_i32$0 = 1; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$9 + } + } + i64toi32_i32$3 = 0; + $146_1 = 0; + $146$hi = i64toi32_i32$3; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $146_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $146_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$0 = $6_1; + i64toi32_i32$3 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $148$hi = i64toi32_i32$1; + i64toi32_i32$1 = $146$hi; + i64toi32_i32$1 = $148$hi; + i64toi32_i32$1 = $146$hi; + i64toi32_i32$1 = $148$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $146$hi; + i64toi32_i32$2 = $146_1; + label$11 : { + label$12 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$12 + } + $102_1 = $2061(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0) | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + $102_1 | 0; + break label$11; + } + $108_1 = $2085(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + $108_1 | 0; + label$13 : { + label$14 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $150_1 = i64toi32_i32$0; + $150$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $151$hi = i64toi32_i32$0; + i64toi32_i32$0 = $150$hi; + i64toi32_i32$0 = $151$hi; + $469_1 = i64toi32_i32$1; + i64toi32_i32$0 = $150$hi; + i64toi32_i32$2 = $150_1; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$3 = $469_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$5; + break label$13; + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $153_1 = i64toi32_i32$5; + $153$hi = i64toi32_i32$2; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $154$hi = i64toi32_i32$5; + i64toi32_i32$5 = $153$hi; + i64toi32_i32$5 = $154$hi; + $478_1 = i64toi32_i32$2; + i64toi32_i32$5 = $153$hi; + i64toi32_i32$0 = $153_1; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $478_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$4; + } + } + break label$8; + } + i64toi32_i32$5 = $6_1; + i64toi32_i32$4 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $156$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $157$hi = i64toi32_i32$0; + i64toi32_i32$0 = $156$hi; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$0 = $156$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$4 = $157$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$2 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$1 | 0; + $158$hi = i64toi32_i32$1; + i64toi32_i32$0 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $489$hi = i64toi32_i32$5; + i64toi32_i32$5 = $158$hi; + i64toi32_i32$5 = $489$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $158$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$5 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $161_1 = i64toi32_i32$2; + $161$hi = i64toi32_i32$0; + i64toi32_i32$5 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $162_1 = i64toi32_i32$0; + $162$hi = i64toi32_i32$2; + i64toi32_i32$5 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $124_1 = i64toi32_i32$2; + i64toi32_i32$5 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = $162$hi; + i64toi32_i32$2 = $2299(HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, $162_1 | 0, i64toi32_i32$2 | 0, $124_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $165$hi = i64toi32_i32$0; + i64toi32_i32$0 = $161$hi; + i64toi32_i32$0 = $165$hi; + $523_1 = i64toi32_i32$2; + i64toi32_i32$0 = $161$hi; + i64toi32_i32$5 = $161_1; + i64toi32_i32$2 = $165$hi; + i64toi32_i32$3 = $523_1; + i64toi32_i32$2 = i64toi32_i32$0 ^ i64toi32_i32$2 | 0; + $526_1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0; + i64toi32_i32$5 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $526_1; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$2; + } + } + continue label$6; + }; + } + continue label$4; + }; + } + } + $2054($6_1 + 56 | 0 | 0); + HEAP32[(HEAP32[($6_1 + 128 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 144 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$5; + return i64toi32_i32$2 | 0; + } + + function $2299($0_1, $1_1, $2_1, $3_1, $4_1, $4$hi, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $9_1 = 0, $37$hi = 0, $38$hi = 0, $53_1 = 0, $39$hi = 0, $40$hi = 0, $41$hi = 0, $44$hi = 0, $45$hi = 0, $54_1 = 0, $46$hi = 0, $47$hi = 0, $48$hi = 0, $51$hi = 0, $52$hi = 0, $55_1 = 0, $53$hi = 0, $54$hi = 0, $55$hi = 0, $58$hi = 0, $59$hi = 0, $56_1 = 0, $60$hi = 0, $61$hi = 0, $62$hi = 0, $65$hi = 0, $66$hi = 0, $57_1 = 0, $67$hi = 0, $30_1 = 0, $68$hi = 0, $69$hi = 0, $10_1 = 0, $94_1 = 0, $106_1 = 0, $110$hi = 0, $126_1 = 0, $130$hi = 0, $146_1 = 0, $150$hi = 0, $166_1 = 0, $170$hi = 0, $214_1 = 0, $218$hi = 0; + $9_1 = global$0 - 48 | 0; + $10_1 = 0; + HEAP32[($9_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $3_1; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $9_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $4_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = $5_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $6_1; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $94_1 = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$2; + HEAP32[i64toi32_i32$0 >> 2] = $94_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $37$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $38$hi = i64toi32_i32$0; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$0 = $38$hi; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $53_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $53_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $39$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $40$hi = i64toi32_i32$1; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$1 = $40$hi; + $106_1 = i64toi32_i32$2; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$0 = $53_1; + i64toi32_i32$2 = $40$hi; + i64toi32_i32$3 = $106_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $41$hi = i64toi32_i32$5; + i64toi32_i32$1 = $9_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $110$hi = i64toi32_i32$0; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$0 = $110$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $41$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $9_1; + HEAP32[i64toi32_i32$1 >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$4 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $44$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $45$hi = i64toi32_i32$1; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$4 = $45$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$0 << i64toi32_i32$5 | 0; + $54_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$5 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$5 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$5 | 0) | 0; + $54_1 = i64toi32_i32$0 << i64toi32_i32$5 | 0; + } + $46$hi = i64toi32_i32$4; + i64toi32_i32$0 = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $47$hi = i64toi32_i32$4; + i64toi32_i32$4 = $46$hi; + i64toi32_i32$4 = $47$hi; + $126_1 = i64toi32_i32$0; + i64toi32_i32$4 = $46$hi; + i64toi32_i32$1 = $54_1; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$3 = $126_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $48$hi = i64toi32_i32$2; + i64toi32_i32$4 = $9_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $130$hi = i64toi32_i32$1; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $130$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$4 = $9_1; + HEAP32[i64toi32_i32$4 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $51$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $52$hi = i64toi32_i32$4; + i64toi32_i32$4 = $51$hi; + i64toi32_i32$4 = $52$hi; + i64toi32_i32$4 = $51$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $55_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$2 | 0) | 0; + $55_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $53$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$1 >> 31 | 0; + $54$hi = i64toi32_i32$5; + i64toi32_i32$5 = $53$hi; + i64toi32_i32$5 = $54$hi; + $146_1 = i64toi32_i32$1; + i64toi32_i32$5 = $53$hi; + i64toi32_i32$4 = $55_1; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$3 = $146_1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $55$hi = i64toi32_i32$0; + i64toi32_i32$5 = $9_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $150$hi = i64toi32_i32$4; + i64toi32_i32$4 = $55$hi; + i64toi32_i32$4 = $150$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$5 = $9_1; + HEAP32[i64toi32_i32$5 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $58$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $59$hi = i64toi32_i32$5; + i64toi32_i32$5 = $58$hi; + i64toi32_i32$5 = $59$hi; + i64toi32_i32$5 = $58$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $59$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 << i64toi32_i32$0 | 0; + $56_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$0 | 0) | 0; + $56_1 = i64toi32_i32$4 << i64toi32_i32$0 | 0; + } + $60$hi = i64toi32_i32$2; + i64toi32_i32$4 = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $61$hi = i64toi32_i32$2; + i64toi32_i32$2 = $60$hi; + i64toi32_i32$2 = $61$hi; + $166_1 = i64toi32_i32$4; + i64toi32_i32$2 = $60$hi; + i64toi32_i32$5 = $56_1; + i64toi32_i32$4 = $61$hi; + i64toi32_i32$3 = $166_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $62$hi = i64toi32_i32$1; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $170$hi = i64toi32_i32$5; + i64toi32_i32$5 = $62$hi; + i64toi32_i32$5 = $170$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$2 = $9_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = $10_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$5 = $9_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $65$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $66$hi = i64toi32_i32$2; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + $57_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$1 | 0) | 0; + $57_1 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + } + $67$hi = i64toi32_i32$0; + $30_1 = 24; + i64toi32_i32$5 = ((HEAPU8[((HEAP32[($9_1 + 44 | 0) >> 2] | 0) + (HEAP32[($9_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0; + i64toi32_i32$0 = i64toi32_i32$5 >> 31 | 0; + $68$hi = i64toi32_i32$0; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$0 = $68$hi; + $214_1 = i64toi32_i32$5; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$2 = $57_1; + i64toi32_i32$5 = $68$hi; + i64toi32_i32$3 = $214_1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $69$hi = i64toi32_i32$4; + i64toi32_i32$0 = $9_1; + i64toi32_i32$4 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $218$hi = i64toi32_i32$2; + i64toi32_i32$2 = $69$hi; + i64toi32_i32$2 = $218$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$4 = $69$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$0 = $9_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = (HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $2300($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $24_1 = 0, $15_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $9_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $9_1; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $9_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 22 | 0, $4_1 + 20 | 0 | 0, $9_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + $15_1 = 1; + $330(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $15_1 | 0, $15_1 | 0) | 0; + label$2 : { + if (!((100 | 0) == ($287(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + $24_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $311(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $24_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $315(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $24_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != ($24_1 | 0) & 1 | 0)) { + break label$3 + } + $2312(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0); + label$4 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$4 + } + $3288(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($4_1 + 16 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + } + $51_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $51_1 | 0; + } + + function $2301($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $17_1 = 0, $31_1 = 0, $40_1 = 0, $67_1 = 0, $76_1 = 0, $115_1 = 0, $97_1 = 0, $137_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0; + $17_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $17_1 | 0) >> $17_1 | 0) & 128 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 267; + break label$1; + } + label$3 : while (1) { + $31_1 = 0; + label$4 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + $40_1 = 24; + $31_1 = ((((HEAPU8[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $40_1 | 0) >> $40_1 | 0) & 128 | 0 | 0) != (0 | 0); + } + label$5 : { + if (!($31_1 & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + continue label$3; + } + break label$3; + }; + label$6 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 267; + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + label$7 : while (1) { + $67_1 = 0; + label$8 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + $76_1 = 24; + $67_1 = ((((HEAPU8[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $76_1 | 0) >> $76_1 | 0) & 128 | 0 | 0) != (0 | 0); + } + label$9 : { + if (!($67_1 & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + continue label$7; + } + break label$7; + }; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $97_1 = $2061((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + $97_1 | 0; + label$10 : { + label$11 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$11 + } + $115_1 = $2077((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + break label$10; + } + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = (HEAPU8[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + $115_1 = 1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + $115_1 | 0; + label$12 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 267; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $137_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $137_1 | 0; + } + + function $2302($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $10_1 = 0, $26$hi = 0, $27$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $14_1 = 0, $15_1 = 0, $16_1 = 0, i64toi32_i32$2 = 0, $19_1 = 0, $23_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $10_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 8 | 0, $5_1 + 4 | 0 | 0, $10_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + $14_1 = 0; + $15_1 = 1; + $16_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $27$hi = i64toi32_i32$1; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $331($16_1 | 0, $15_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + $287(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $19_1 = $317(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $14_1 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = $19_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $23_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $23_1 | 0; + } + + function $2303($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $44$hi = 0, $45$hi = 0, $47$hi = 0, $48$hi = 0, $27_1 = 0, $49$hi = 0, $50$hi = 0, $51$hi = 0, $52$hi = 0, $28_1 = 0, $15_1 = 0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $37_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 15 | 0, $5_1 + 8 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($5_1 + 4 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $15_1 = 100; + $16_1 = 0; + $17_1 = 2; + $18_1 = 1; + $19_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $44$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $45$hi = i64toi32_i32$1; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $331($19_1 | 0, $18_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + $20_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $47$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $48$hi = i64toi32_i32$2; + i64toi32_i32$2 = $47$hi; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$2 = $47$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $48$hi; + i64toi32_i32$3 = 10; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $27_1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + $27_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$0 | 0) | 0; + } + $49$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $50$hi = i64toi32_i32$5; + i64toi32_i32$5 = $49$hi; + i64toi32_i32$5 = $50$hi; + i64toi32_i32$5 = $49$hi; + i64toi32_i32$2 = $27_1; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $51$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $52$hi = i64toi32_i32$4; + i64toi32_i32$4 = $51$hi; + i64toi32_i32$4 = $52$hi; + i64toi32_i32$4 = $51$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$2 = $52$hi; + i64toi32_i32$3 = 10; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + $28_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$1 | 0) | 0; + $28_1 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + } + $331($20_1 | 0, $17_1 | 0, $28_1 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = $16_1; + label$3 : { + if (!(($15_1 | 0) == ($287(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $37_1 = ($321(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = $37_1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $41_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $41_1 | 0; + } + + function $2304($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $104_1 = 0, $8_1 = 0, $52_1 = 0, $7_1 = 0, $71_1 = 0, $109$hi = 0, $110$hi = 0, $111$hi = 0, $90_1 = 0, $25_1 = 0, $75_1 = 0, $109_1 = 0, $110_1 = 0, $311_1 = 0, $101_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $7_1; + $8_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $104_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $25_1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = $25_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $3289(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2075(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, 12 | 0, $6_1 + 16 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$3 + } + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $331(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = 0; + label$4 : while (1) { + $52_1 = 0; + label$5 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$5 + } + $52_1 = 0; + if (!(($287(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$5 + } + $52_1 = (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (!($52_1 & 1 | 0)) { + break label$6 + } + $71_1 = 4; + $75_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = $318(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $109_1 = i64toi32_i32$1; + $109$hi = i64toi32_i32$0; + i64toi32_i32$0 = $318(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $110_1 = i64toi32_i32$0; + $110$hi = i64toi32_i32$1; + i64toi32_i32$1 = $318(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 3 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $111$hi = i64toi32_i32$0; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$0 = $110$hi; + i64toi32_i32$0 = $111$hi; + $311_1 = i64toi32_i32$1; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$1 = $110$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2072($75_1 | 0, 0 | 0, $109_1 | 0, i64toi32_i32$0 | 0, $110_1 | 0, i64toi32_i32$1 | 0, $311_1 | 0, $111$hi | 0, $311(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $71_1 | 0) | 0 | 0, $315(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $71_1 | 0) | 0 | 0, (HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $90_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($90_1 + 4 | 0) >> 2] = (HEAP32[($90_1 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $222(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$7 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + } + } + $101_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $101_1 | 0; + } + + function $2305($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $62_1 = 0, $63_1 = 0, $64_1 = 0, $65_1 = 0, $66_1 = 0, $67_1 = 0, $20_1 = 0, $388_1 = 0, $392$hi = 0, $401$hi = 0, $86_1 = 0, $323_1 = 0, $13_1 = 0, $389$hi = 0, $390$hi = 0, $396$hi = 0, $68_1 = 0, $69_1 = 0, $70_1 = 0, $398$hi = 0, $399$hi = 0, $50_1 = 0, $403$hi = 0, $98_1 = 0, $132_1 = 0, $407$hi = 0, $408$hi = 0, $409$hi = 0, $410$hi = 0, $415$hi = 0, $416$hi = 0, $418$hi = 0, $419$hi = 0, $211_1 = 0, $245_1 = 0, $285_1 = 0, $348_1 = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $21_1 = 0, $515_1 = 0, $522_1 = 0, $71_1 = 0, $558_1 = 0, $407_1 = 0, $793_1 = 0, $812_1 = 0, $818_1 = 0, $824_1 = 0, $415_1 = 0, $867_1 = 0, $418_1 = 0, $923_1 = 0, $201_1 = 0, $1203_1 = 0, $338_1 = 0, $385_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 208 | 0; + global$0 = $8_1; + $13_1 = 0; + HEAP32[($8_1 + 200 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 192 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 196 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 188 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 184 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 180 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 176 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 168 | 0) >> 2] = $13_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2075(HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0, 32 | 0, $8_1 + 168 | 0 | 0, $13_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$2 + } + $17_1 = 100; + $18_1 = 2; + $19_1 = 1; + $20_1 = 0; + i64toi32_i32$0 = 0; + $388_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 160 | 0) >> 2] = $388_1; + HEAP32[($8_1 + 164 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 152 | 0) >> 2] = $388_1; + HEAP32[($8_1 + 156 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 144 | 0) >> 2] = $388_1; + HEAP32[($8_1 + 148 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 140 | 0) >> 2] = $20_1; + HEAP32[($8_1 + 136 | 0) >> 2] = $20_1; + HEAP32[($8_1 + 128 | 0) >> 2] = $20_1; + $21_1 = HEAP32[($8_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 192 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 196 | 0) >> 2] | 0; + $389$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $390$hi = i64toi32_i32$1; + i64toi32_i32$1 = $389$hi; + i64toi32_i32$1 = $390$hi; + i64toi32_i32$1 = $389$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $390$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $331($21_1 | 0, $19_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + $330(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, $18_1 | 0, HEAP32[($8_1 + 188 | 0) >> 2] | 0 | 0) | 0; + label$3 : { + label$4 : { + if (!(($287(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0 | 0) == ($17_1 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$5 = 0; + $392$hi = i64toi32_i32$5; + i64toi32_i32$5 = $318(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $515_1 = i64toi32_i32$5; + i64toi32_i32$5 = $8_1; + HEAP32[($8_1 + 160 | 0) >> 2] = $515_1; + HEAP32[($8_1 + 164 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $318(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $522_1 = i64toi32_i32$2; + i64toi32_i32$2 = $8_1; + HEAP32[($8_1 + 152 | 0) >> 2] = $522_1; + HEAP32[($8_1 + 156 | 0) >> 2] = i64toi32_i32$5; + $2294(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, 3 | 0, $8_1 + 144 | 0 | 0, (HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 40 | 0 | 0); + i64toi32_i32$1 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] | 0; + $396$hi = i64toi32_i32$2; + i64toi32_i32$2 = $392$hi; + i64toi32_i32$2 = $396$hi; + i64toi32_i32$2 = $392$hi; + i64toi32_i32$2 = $396$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $392$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$5 | 0)) { + $68_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0) { + $69_1 = 0 + } else { + $69_1 = 1 + } + $70_1 = $69_1; + } else { + $70_1 = 0 + } + $68_1 = $70_1; + } + label$5 : { + if (!($68_1 & 1 | 0)) { + break label$5 + } + i64toi32_i32$3 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $398$hi = i64toi32_i32$2; + i64toi32_i32$2 = -1; + $399$hi = i64toi32_i32$2; + i64toi32_i32$2 = $398$hi; + i64toi32_i32$2 = $399$hi; + i64toi32_i32$2 = $398$hi; + $71_1 = i64toi32_i32$1; + i64toi32_i32$1 = $399$hi; + i64toi32_i32$1 = __wasm_i64_mul($71_1 | 0, i64toi32_i32$2 | 0, -1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $558_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $558_1; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$2; + } + $50_1 = 4; + i64toi32_i32$2 = 0; + $401$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $403$hi = i64toi32_i32$1; + i64toi32_i32$1 = $401$hi; + i64toi32_i32$1 = $403$hi; + i64toi32_i32$1 = $401$hi; + i64toi32_i32$1 = $403$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $401$hi; + i64toi32_i32$5 = 0; + HEAP8[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 48 | 0) >> 0] = ((i64toi32_i32$3 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $315(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, $50_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $311(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0, $50_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + $222(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 204 | 0) >> 2] = HEAP32[($8_1 + 136 | 0) >> 2] | 0 ? 7 : 267; + break label$1; + } + break label$3; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $222(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 204 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + i64toi32_i32$5 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 148 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2313(HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0, $8_1 + 128 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$7 + } + if (!(HEAP32[($8_1 + 128 | 0) >> 2] | 0)) { + break label$7 + } + $86_1 = 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $86_1; + HEAP32[($8_1 + 120 | 0) >> 2] = $86_1; + i64toi32_i32$5 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 156 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2079(HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$3 | 0, $8_1 + 124 | 0 | 0, $8_1 + 120 | 0 | 0, $86_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2314($8_1 + 72 | 0 | 0, HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + label$9 : while (1) { + $98_1 = 0; + label$10 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$10 + } + $98_1 = (HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$11 : { + if (!($98_1 & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2315($8_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + continue label$9; + } + break label$9; + }; + label$12 : { + if (!(($2316(HEAP32[($8_1 + 184 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 180 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($8_1 + 128 | 0) >> 2] = 0; + } + $2317($8_1 + 72 | 0 | 0); + } + $42(HEAP32[($8_1 + 124 | 0) >> 2] | 0 | 0); + } + label$13 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$13 + } + if (!(HEAP32[($8_1 + 128 | 0) >> 2] | 0)) { + break label$13 + } + $132_1 = 24; + HEAP32[($8_1 + 64 | 0) >> 2] = ((HEAPU8[(HEAP32[($8_1 + 140 | 0) >> 2] | 0) >> 0] | 0) << $132_1 | 0) >> $132_1 | 0; + label$14 : { + label$15 : { + if ((HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0) { + break label$15 + } + if (!((HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) >= (16 | 0) & 1 | 0)) { + break label$14 + } + } + $222(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 204 | 0) >> 2] = 267; + break label$1; + } + i64toi32_i32$5 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 148 | 0) >> 2] | 0; + $407_1 = i64toi32_i32$3; + $407$hi = i64toi32_i32$1; + i64toi32_i32$5 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 160 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + $408$hi = i64toi32_i32$3; + i64toi32_i32$3 = $407$hi; + i64toi32_i32$3 = $408$hi; + $793_1 = i64toi32_i32$1; + i64toi32_i32$3 = $407$hi; + i64toi32_i32$5 = $407_1; + i64toi32_i32$1 = $408$hi; + i64toi32_i32$2 = $793_1; + i64toi32_i32$0 = i64toi32_i32$5 - i64toi32_i32$2 | 0; + i64toi32_i32$4 = (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + $409$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $410$hi = i64toi32_i32$4; + i64toi32_i32$4 = $409$hi; + i64toi32_i32$4 = $410$hi; + i64toi32_i32$4 = $409$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$5 = $410$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] = (i64toi32_i32$1 | 0) / (16 | 0) | 0; + i64toi32_i32$4 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 160 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 164 | 0) >> 2] | 0; + $812_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $812_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$4 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 144 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 148 | 0) >> 2] | 0; + $818_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] = $818_1; + HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$4 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 192 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 196 | 0) >> 2] | 0; + $824_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $824_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$3; + HEAP32[((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($8_1 + 188 | 0) >> 2] | 0; + HEAP32[($8_1 + 68 | 0) >> 2] = (HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 1 | 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$16 + } + i64toi32_i32$4 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$4 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 28 | 0) >> 2] | 0; + $415_1 = i64toi32_i32$3; + $415$hi = i64toi32_i32$0; + i64toi32_i32$3 = Math_imul(HEAP32[($8_1 + 68 | 0) >> 2] | 0, HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0); + i64toi32_i32$0 = i64toi32_i32$3 >> 31 | 0; + $416$hi = i64toi32_i32$0; + i64toi32_i32$0 = $415$hi; + i64toi32_i32$0 = $416$hi; + $867_1 = i64toi32_i32$3; + i64toi32_i32$0 = $415$hi; + i64toi32_i32$4 = $415_1; + i64toi32_i32$3 = $416$hi; + i64toi32_i32$2 = $867_1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$4 = ((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 56 | 0) + ((HEAP32[($8_1 + 68 | 0) >> 2] | 0) << 5 | 0) | 0; + HEAP32[i64toi32_i32$4 >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($8_1 + 68 | 0) >> 2] = (HEAP32[($8_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + HEAP32[($8_1 + 60 | 0) >> 2] = ((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 56 | 0) + ((HEAP32[($8_1 + 64 | 0) >> 2] | 0) << 5 | 0) | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 176 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; + $418_1 = i64toi32_i32$1; + $418$hi = i64toi32_i32$4; + i64toi32_i32$1 = Math_imul(HEAP32[(HEAP32[($8_1 + 176 | 0) >> 2] | 0) >> 2] | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0); + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $419$hi = i64toi32_i32$4; + i64toi32_i32$4 = $418$hi; + i64toi32_i32$4 = $419$hi; + $923_1 = i64toi32_i32$1; + i64toi32_i32$4 = $418$hi; + i64toi32_i32$0 = $418_1; + i64toi32_i32$1 = $419$hi; + i64toi32_i32$2 = $923_1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$3; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + $201_1 = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 20 | 0; + label$18 : { + label$19 : { + if (!((HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $211_1 = HEAP32[($8_1 + 136 | 0) >> 2] | 0; + break label$18; + } + $211_1 = HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + } + $2312($201_1 | 0, $211_1 + 20 | 0 | 0, $8_1 + 172 | 0 | 0); + label$20 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$20 + } + $3288(HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 136 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($8_1 + 136 | 0) >> 2] | 0; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = (HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[($8_1 + 136 | 0) >> 2] | 0) | 0; + $62_1 = 0; + HEAP8[i64toi32_i32$0 >> 0] = $62_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $62_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $62_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $62_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$5; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$5 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$5 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$5 >>> 24 | 0; + $64_1 = i64toi32_i32$0 + 16 | 0; + $65_1 = 0; + HEAP8[$64_1 >> 0] = $65_1; + HEAP8[($64_1 + 1 | 0) >> 0] = $65_1 >>> 8 | 0; + HEAP8[($64_1 + 2 | 0) >> 0] = $65_1 >>> 16 | 0; + HEAP8[($64_1 + 3 | 0) >> 0] = $65_1 >>> 24 | 0; + i64toi32_i32$0 = i64toi32_i32$0 + 8 | 0; + HEAP8[i64toi32_i32$0 >> 0] = $62_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $62_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $62_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $62_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$5; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$5 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$5 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$5 >>> 24 | 0; + } + HEAP32[($8_1 + 68 | 0) >> 2] = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + label$21 : while (1) { + $245_1 = 0; + label$22 : { + if (!((HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$22 + } + $245_1 = (HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$23 : { + if (!($245_1 & 1 | 0)) { + break label$23 + } + HEAP32[($8_1 + 60 | 0) >> 2] = ((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 56 | 0) + ((HEAP32[($8_1 + 68 | 0) >> 2] | 0) << 5 | 0) | 0; + label$24 : { + if (!((HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2314($8_1 + 8 | 0 | 0, HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + label$25 : while (1) { + $285_1 = 0; + label$26 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $285_1 = (HEAP32[($8_1 + 172 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$27 : { + if (!($285_1 & 1 | 0)) { + break label$27 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2315($8_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + continue label$25; + } + break label$25; + }; + $2312((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, $8_1 + 172 | 0 | 0); + label$28 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$28 + } + $3288(HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + label$29 : { + if (!((HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$29 + } + $323_1 = 0; + HEAP32[($8_1 + 4 | 0) >> 2] = $323_1; + HEAP32[$8_1 >> 2] = $323_1; + HEAP32[($8_1 + 60 | 0) >> 2] = ((HEAP32[($8_1 + 176 | 0) >> 2] | 0) + 56 | 0) + (((HEAP32[($8_1 + 68 | 0) >> 2] | 0) - 1 | 0) << 5 | 0) | 0; + i64toi32_i32$4 = $8_1; + i64toi32_i32$5 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $1203_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $1203_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$4 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2079(HEAP32[($8_1 + 200 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$5 | 0, $8_1 + 4 | 0 | 0, $8_1 | 0, $323_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + $338_1 = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 20 | 0; + label$30 : { + label$31 : { + if (!((HEAP32[$8_1 >> 2] | 0 | 0) > (HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$31 + } + $348_1 = HEAP32[$8_1 >> 2] | 0; + break label$30; + } + $348_1 = HEAP32[((HEAP32[($8_1 + 200 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0; + } + $2312($338_1 | 0, $348_1 + 20 | 0 | 0, $8_1 + 172 | 0 | 0); + label$32 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$32 + } + $3288(HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$8_1 >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[$8_1 >> 2] | 0; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = (HEAP32[((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[$8_1 >> 2] | 0) | 0; + $63_1 = 0; + HEAP8[i64toi32_i32$0 >> 0] = $63_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $63_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $63_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $63_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$5; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$5 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$5 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$5 >>> 24 | 0; + $66_1 = i64toi32_i32$0 + 16 | 0; + $67_1 = 0; + HEAP8[$66_1 >> 0] = $67_1; + HEAP8[($66_1 + 1 | 0) >> 0] = $67_1 >>> 8 | 0; + HEAP8[($66_1 + 2 | 0) >> 0] = $67_1 >>> 16 | 0; + HEAP8[($66_1 + 3 | 0) >> 0] = $67_1 >>> 24 | 0; + i64toi32_i32$0 = i64toi32_i32$0 + 8 | 0; + HEAP8[i64toi32_i32$0 >> 0] = $63_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $63_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $63_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $63_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$5; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$5 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$5 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$5 >>> 24 | 0; + } + $42(HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0); + } + } + } + $2317($8_1 + 8 | 0 | 0); + HEAP32[($8_1 + 68 | 0) >> 2] = (HEAP32[($8_1 + 68 | 0) >> 2] | 0) + -1 | 0; + continue label$21; + } + break label$21; + }; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $222(HEAP32[($8_1 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + label$33 : { + if (HEAP32[($8_1 + 172 | 0) >> 2] | 0) { + break label$33 + } + HEAP32[($8_1 + 172 | 0) >> 2] = HEAP32[($8_1 + 132 | 0) >> 2] | 0; + } + } + HEAP32[($8_1 + 204 | 0) >> 2] = HEAP32[($8_1 + 172 | 0) >> 2] | 0; + } + $385_1 = HEAP32[($8_1 + 204 | 0) >> 2] | 0; + global$0 = $8_1 + 208 | 0; + return $385_1 | 0; + } + + function $2306($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $108$hi = 0, $109$hi = 0, $111$hi = 0, $61_1 = 0, $66_1 = 0, $116$hi = 0, $117$hi = 0, $247_1 = 0, $111_1 = 0, $271$hi = 0, $316_1 = 0, $116_1 = 0, $360_1 = 0, $102_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + $12_1 = 0; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $12_1; + HEAP32[($7_1 + 4 | 0) >> 2] = $12_1; + HEAP32[$7_1 >> 2] = $12_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 29 | 0, $7_1 + 4 | 0 | 0, $12_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($7_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $331(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $331(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, 2 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + label$2 : { + if (!((100 | 0) == ($287(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $317(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $222(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + label$4 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + break label$3; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, 10 | 0, $7_1 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($7_1 + 16 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + if (!((100 | 0) == ($287(HEAP32[$7_1 >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$1 = $318(HEAP32[$7_1 >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $247_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $247_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $108$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $109$hi = i64toi32_i32$1; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$1 = $109$hi; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$2 = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 4 | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $111_1 = i64toi32_i32$2; + $111$hi = i64toi32_i32$5; + $61_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = $61_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $271$hi = i64toi32_i32$2; + i64toi32_i32$2 = $111$hi; + i64toi32_i32$2 = $271$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $111$hi; + i64toi32_i32$3 = $111_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $61_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$4; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $222(HEAP32[$7_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + break label$3; + } + $66_1 = 0; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2289(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0, $66_1 | 0, $66_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($7_1 + 16 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + break label$3; + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $316_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $316_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $116_1 = i64toi32_i32$4; + $116$hi = i64toi32_i32$1; + i64toi32_i32$4 = Math_imul(HEAP32[($7_1 + 12 | 0) >> 2] | 0, HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] | 0); + i64toi32_i32$1 = i64toi32_i32$4 >> 31 | 0; + $117$hi = i64toi32_i32$1; + i64toi32_i32$1 = $116$hi; + i64toi32_i32$1 = $117$hi; + $360_1 = i64toi32_i32$4; + i64toi32_i32$1 = $116$hi; + i64toi32_i32$2 = $116_1; + i64toi32_i32$4 = $117$hi; + i64toi32_i32$3 = $360_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$2 = ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 56 | 0) + ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) << 5 | 0) | 0; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + } + $102_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $102_1 | 0; + } + + function $2307($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $6_1 = 0, $70_1 = 0, $83_1 = 0, $84_1 = 0, $141$hi = 0, $142$hi = 0, $146$hi = 0, $107_1 = 0, $33_1 = 0, $40_1 = 0, $82_1 = 0, $90_1 = 0, $97_1 = 0, $104_1 = 0, $146_1 = 0, $430$hi = 0, $134_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[$5_1 >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2288(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) - (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2099(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $33_1 = $2099(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + ($33_1 + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $40_1 = $2099(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + ($40_1 + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) | 0; + label$1 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) > ($6_1 | 0) & 1 | 0)) { + break label$1 + } + if (!(((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2289(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $70_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($70_1 + 4 | 0) >> 2] = (HEAP32[($70_1 + 4 | 0) >> 2] | 0) + 1 | 0; + label$2 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2318(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $82_1 = 1; + $83_1 = 0; + $84_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $84_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $141$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $142$hi = i64toi32_i32$0; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$0 = $142$hi; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $142$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $84_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 12 | 0) >> 2] = $83_1; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] = $83_1; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $82_1; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $90_1 = $2099(i64toi32_i32$2 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + ($90_1 + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0) | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $97_1 = $2099(i64toi32_i32$2 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + ($97_1 + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) | 0; + } + $104_1 = $5_1 + 16 | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $146_1 = i64toi32_i32$2; + $146$hi = i64toi32_i32$5; + $107_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = $107_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] | 0; + $430$hi = i64toi32_i32$2; + i64toi32_i32$2 = $146$hi; + i64toi32_i32$2 = $430$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $146$hi; + i64toi32_i32$3 = $146_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $107_1; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$4; + $2312((HEAP32[$5_1 >> 2] | 0) + 20 | 0 | 0, (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0, $104_1 | 0); + label$3 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + if (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] = 1; + HEAP8[(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 20 | 0) >> 2] | 0) >> 0] = 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2319((HEAP32[$5_1 >> 2] | 0) + 20 | 0 | 0, (HEAP32[$5_1 >> 2] | 0) + 8 | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $134_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $134_1 | 0; + } + + function $2308($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7_1 = 0, $20_1 = 0, $29_1 = 0, $103_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 44 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0; + label$1 : while (1) { + $20_1 = 0; + label$2 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + $20_1 = (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($20_1 & 1 | 0)) { + break label$3 + } + $29_1 = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $29_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $29_1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2291(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$9 + } + i64toi32_i32$0 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2320(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] = 0; + break label$7; + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2321(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + -1 | 0; + continue label$1; + } + break label$1; + }; + label$10 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$10 + } + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$0 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2322(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + $103_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $103_1 | 0; + } + + function $2309($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $21_1 = 0, $32_1 = 0, $20_1 = 0, $31_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + $2312(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + label$1 : { + if (HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $20_1 = $2102((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $21_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($21_1 + 4 | 0) >> 2] = (HEAP32[($21_1 + 4 | 0) >> 2] | 0) + $20_1 | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $31_1 = $2102((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $32_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($32_1 + 4 | 0) >> 2] = (HEAP32[($32_1 + 4 | 0) >> 2] | 0) + $31_1 | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2310($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $152$hi = 0, $145$hi = 0, $146$hi = 0, i64toi32_i32$4 = 0, $147$hi = 0, $148$hi = 0, $149$hi = 0, $150$hi = 0, $152_1 = 0, $69_1 = 0, $118_1 = 0, $147_1 = 0, $121_1 = 0, $148_1 = 0, $149_1 = 0, $150_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 15; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 5 | 0) | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + $42(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + }; + } + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + label$6 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) + 32 | 0) + 20 | 0; + $2312(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 11 | 0, $5_1 + 20 | 0 | 0); + label$7 : { + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$7 + } + HEAP8[(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 0] = 1; + i64toi32_i32$2 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $69_1 = ($2102((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $69_1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 5 | 0) | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 8 | 0) >> 2] = ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 56 | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) << 5 | 0) | 0; + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$10 + } + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$10 + } + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2289(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$11 : { + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$11 + } + $118_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $145$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $146$hi = i64toi32_i32$1; + i64toi32_i32$1 = $145$hi; + i64toi32_i32$1 = $146$hi; + i64toi32_i32$1 = $145$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $146$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $147_1 = i64toi32_i32$4; + $147$hi = i64toi32_i32$5; + $121_1 = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $148_1 = i64toi32_i32$5; + $148$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; + $149_1 = i64toi32_i32$2; + $149$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $150_1 = i64toi32_i32$5; + $150$hi = i64toi32_i32$2; + label$12 : { + label$13 : { + if ((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 0] | 0) & 255 | 0) { + break label$13 + } + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] | 0; + $152_1 = i64toi32_i32$2; + $152$hi = i64toi32_i32$5; + break label$12; + } + i64toi32_i32$5 = 0; + $152_1 = 0; + $152$hi = i64toi32_i32$5; + } + i64toi32_i32$5 = $152$hi; + i64toi32_i32$5 = $147$hi; + i64toi32_i32$5 = $148$hi; + i64toi32_i32$5 = $149$hi; + i64toi32_i32$5 = $150$hi; + i64toi32_i32$5 = $152$hi; + i64toi32_i32$5 = $147$hi; + i64toi32_i32$2 = $148$hi; + i64toi32_i32$1 = $149$hi; + i64toi32_i32$3 = $150$hi; + i64toi32_i32$0 = $152$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2293($118_1 | 0, $147_1 | 0, i64toi32_i32$5 | 0, $121_1 | 0, $148_1 | 0, i64toi32_i32$2 | 0, $149_1 | 0, i64toi32_i32$1 | 0, $150_1 | 0, i64toi32_i32$3 | 0, $152_1 | 0, i64toi32_i32$0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2311($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $13_1 = 0, $15_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $9_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $9_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 23 | 0, $4_1 + 4 | 0 | 0, $9_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$1 + } + $13_1 = 2; + $15_1 = 1; + $330(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $15_1 | 0, $15_1 | 0) | 0; + $325(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $13_1 | 0, HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $287(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $332(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $13_1 | 0) | 0; + } + $26_1 = HEAP32[$4_1 >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $26_1 | 0; + } + + function $2312($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $44(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$2; + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 7; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2313($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $10_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $10_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 34 | 0, $5_1 + 4 | 0 | 0, $10_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[$5_1 >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + label$2 : { + if (!((100 | 0) == ($287(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $29_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $29_1 | 0; + } + + function $2314($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $60_1 = 0, $7_1 = 0, $30_1 = 0, $55_1 = 0, $42_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $7_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $60_1 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $30_1 = 24; + if (!(((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0)) { + break label$2 + } + $42_1 = ($2061((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $42_1; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $55_1 = $2315(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + break label$3; + } + $55_1 = 0; + } + global$0 = $5_1 + 16 | 0; + return $55_1 | 0; + } + + function $2315($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, $4_1 = 0, $211$hi = 0, $218$hi = 0, $213$hi = 0, $17_1 = 0, $215$hi = 0, $216$hi = 0, i64toi32_i32$4 = 0, $49_1 = 0, $60_1 = 0, $82_1 = 0, $93_1 = 0, $142_1 = 0, $220$hi = 0, $168_1 = 0, $180_1 = 0, $204_1 = 0, $208_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + $211$hi = i64toi32_i32$0; + $4_1 = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == ($4_1 | 0) & 1 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + i64toi32_i32$2 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $213$hi = i64toi32_i32$1; + i64toi32_i32$1 = $211$hi; + i64toi32_i32$1 = $213$hi; + i64toi32_i32$1 = $211$hi; + i64toi32_i32$1 = $213$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $211$hi; + i64toi32_i32$3 = 0; + label$1 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$1 + } + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + $17_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = $17_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $215$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $216$hi = i64toi32_i32$1; + i64toi32_i32$1 = $215$hi; + i64toi32_i32$1 = $216$hi; + i64toi32_i32$1 = $215$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $216$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$3 = $17_1; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$5; + } + label$2 : { + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] = 0; + break label$3; + } + label$5 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + label$7 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$7 + } + $49_1 = $2077((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0, $3_1 + 16 | 0 | 0) | 0; + break label$6; + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAPU8[((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + $49_1 = 1; + } + $60_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($60_1 + 8 | 0) >> 2] = (HEAP32[($60_1 + 8 | 0) >> 2] | 0) + $49_1 | 0; + } + label$8 : { + label$9 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$9 + } + $82_1 = $2077((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0, $3_1 + 12 | 0 | 0) | 0; + break label$8; + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + $82_1 = 1; + } + $93_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($93_1 + 8 | 0) >> 2] = (HEAP32[($93_1 + 8 | 0) >> 2] | 0) + $82_1 | 0; + label$10 : { + label$11 : { + if ((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$11 + } + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) > ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) & 1 | 0) { + break label$11 + } + if (HEAP32[($3_1 + 12 | 0) >> 2] | 0) { + break label$10 + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = 267; + break label$2; + } + $2312((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0 | 0, (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0 | 0, $3_1 + 8 | 0 | 0); + label$12 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$12 + } + i64toi32_i32$5 = 0; + $218$hi = i64toi32_i32$5; + $3288((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0 | 0, (HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + $142_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($142_1 + 8 | 0) >> 2] = (HEAP32[($142_1 + 8 | 0) >> 2] | 0) + (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $220$hi = i64toi32_i32$3; + i64toi32_i32$3 = $218$hi; + i64toi32_i32$3 = $220$hi; + i64toi32_i32$3 = $218$hi; + i64toi32_i32$3 = $220$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $218$hi; + i64toi32_i32$0 = 0; + label$13 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + label$15 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$15 + } + $168_1 = $2077((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0 | 0) | 0; + break label$14; + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAPU8[((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + $168_1 = 1; + } + $180_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($180_1 + 8 | 0) >> 2] = (HEAP32[($180_1 + 8 | 0) >> 2] | 0) + $168_1 | 0; + label$16 : { + if (!(((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 267; + break label$2; + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] = (HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + $204_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[($204_1 + 8 | 0) >> 2] = (HEAP32[($204_1 + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + } + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + } + $208_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $208_1 | 0; + } + + function $2316($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $15_1 = 0, $23_1 = 0, $30_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + break label$1; + } + $15_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 12 | 0) >> 2] = $15_1; + label$3 : { + label$4 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$4 + } + $23_1 = $3228(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + break label$3; + } + $23_1 = 0; + } + HEAP32[($6_1 + 8 | 0) >> 2] = $23_1; + label$5 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) - (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0; + } + $30_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $30_1 | 0; + } + + function $2317($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2318($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $192$hi = 0, $16_1 = 0, $89_1 = 0, $110_1 = 0, $121_1 = 0, $134_1 = 0, $185$hi = 0, $186$hi = 0, $163_1 = 0, $189$hi = 0, $190$hi = 0, $194$hi = 0, $215_1 = 0, $46_1 = 0, $85_1 = 0, $109_1 = 0, $120_1 = 0, $143_1 = 0, $157_1 = 0, $160_1 = 0, $605_1 = 0, $641_1 = 0, $174_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $3_1; + i64toi32_i32$2 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] | 0; + $215_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $215_1; + HEAP32[($6_1 + 52 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (16 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = 0; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = 0; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 28 | 0) >> 2] = ((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 56 | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 5 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $16_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2288(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) - (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0; + label$4 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) <= ($16_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 76 | 0) >> 2] = 267; + break label$1; + } + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2099(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $46_1 = $2099(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + ($46_1 + (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0) | 0; + label$5 : { + label$6 : { + label$7 : { + if (!(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$7 + } + if (!(((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0 | 0) <= (HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0; + label$8 : { + if (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$8 + } + $2312(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 232 | 0) >> 2] | 0 | 0, $6_1 + 24 | 0 | 0); + label$9 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$9 + } + HEAP8[(HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) >> 0] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $85_1 = ($2102((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) + 1 | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = $85_1; + } + } + $89_1 = $6_1 + 24 | 0; + $2312(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0 | 0, $89_1 | 0); + $2312((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, $89_1 | 0); + label$10 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$10 + } + label$11 : { + if (!(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$11 + } + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $109_1 = $2102((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $110_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($110_1 + 4 | 0) >> 2] = (HEAP32[($110_1 + 4 | 0) >> 2] | 0) + $109_1 | 0; + } + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $120_1 = $2102((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $121_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($121_1 + 4 | 0) >> 2] = (HEAP32[($121_1 + 4 | 0) >> 2] | 0) + $120_1 | 0; + $3288((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $134_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($134_1 + 4 | 0) >> 2] = (HEAP32[($134_1 + 4 | 0) >> 2] | 0) + (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0; + $3288(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + } + break label$5; + } + $143_1 = 0; + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2289(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP8[(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 0] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $157_1 = (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $185$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $186$hi = i64toi32_i32$0; + i64toi32_i32$0 = $185$hi; + i64toi32_i32$0 = $186$hi; + i64toi32_i32$0 = $185$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $186$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $160_1 = ($2102($157_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0) + 1 | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = $160_1; + i64toi32_i32$0 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $605_1 = i64toi32_i32$5; + i64toi32_i32$5 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $605_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$2; + $163_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = $163_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $189$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $190$hi = i64toi32_i32$5; + i64toi32_i32$5 = $189$hi; + i64toi32_i32$5 = $190$hi; + i64toi32_i32$5 = $189$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $190$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $163_1; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = $143_1; + } + label$12 : { + label$13 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$13 + } + i64toi32_i32$4 = 0; + $192$hi = i64toi32_i32$4; + i64toi32_i32$5 = $6_1; + i64toi32_i32$4 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $194$hi = i64toi32_i32$0; + i64toi32_i32$0 = $192$hi; + i64toi32_i32$0 = $194$hi; + i64toi32_i32$0 = $192$hi; + i64toi32_i32$0 = $194$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$4 = $192$hi; + i64toi32_i32$3 = 0; + if (!(((i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$12 + } + } + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $641_1 = i64toi32_i32$5; + i64toi32_i32$5 = $6_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $641_1; + HEAP32[($6_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($6_1 + 76 | 0) >> 2] = 0; + } + $174_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $174_1 | 0; + } + + function $2319($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $12_1 = 0, $57_1 = 0, $69_1 = 0, $82_1 = 0, $99_1 = 0, $110_1 = 0, $56_1 = 0, $68_1 = 0, $98_1 = 0, $114_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + $12_1 = 0; + HEAP32[($8_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $12_1; + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == ($12_1 | 0) & 1 | 0; + $2312(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, $8_1 + 16 | 0 | 0); + label$1 : { + label$2 : { + if (!(HEAP32[($8_1 + 16 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2288(HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 4 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) - (HEAP32[($8_1 + 8 | 0) >> 2] | 0) | 0; + label$3 : { + if (!((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 44 | 0) >> 2] = 267; + break label$1; + } + $3288(HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + label$4 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $56_1 = $2102((HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $57_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($57_1 + 4 | 0) >> 2] = (HEAP32[($57_1 + 4 | 0) >> 2] | 0) + $56_1 | 0; + } + i64toi32_i32$1 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $68_1 = $2102((HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $69_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($69_1 + 4 | 0) >> 2] = (HEAP32[($69_1 + 4 | 0) >> 2] | 0) + $68_1 | 0; + $3288((HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($8_1 + 32 | 0) >> 2] | 0) + (HEAP32[($8_1 + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $82_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($82_1 + 4 | 0) >> 2] = (HEAP32[($82_1 + 4 | 0) >> 2] | 0) + (HEAP32[($8_1 + 4 | 0) >> 2] | 0) | 0; + label$5 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $98_1 = $2102((HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $99_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($99_1 + 4 | 0) >> 2] = (HEAP32[($99_1 + 4 | 0) >> 2] | 0) + $98_1 | 0; + $3288((HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0; + $110_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($110_1 + 4 | 0) >> 2] = (HEAP32[($110_1 + 4 | 0) >> 2] | 0) + (HEAP32[($8_1 + 20 | 0) >> 2] | 0) | 0; + } + HEAP32[($8_1 + 44 | 0) >> 2] = 0; + } + $114_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $114_1 | 0; + } + + function $2320($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $10_1 = 0, i64toi32_i32$1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $10_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 30 | 0, $5_1 + 4 | 0 | 0, $10_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $330(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $287(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $22_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $22_1 | 0; + } + + function $2321($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $12_1 = 0, $146_1 = 0, $151$hi = 0, $76_1 = 0, $158$hi = 0, $48_1 = 0, $65_1 = 0, $153$hi = 0, $160$hi = 0, $105_1 = 0, $163$hi = 0, $164$hi = 0, $121_1 = 0, $125_1 = 0, $146$hi = 0, $289_1 = 0, $353_1 = 0, $143_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 128 | 0; + global$0 = $7_1; + $12_1 = 0; + i64toi32_i32$0 = 0; + $146_1 = 0; + $146$hi = i64toi32_i32$0; + HEAP32[($7_1 + 124 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 112 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 116 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 108 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 104 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $12_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1 + 80 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1 + 64 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + i64toi32_i32$0 = $146$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $146_1; + HEAP32[($7_1 + 60 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $146_1; + HEAP32[($7_1 + 52 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $146_1; + HEAP32[($7_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 36 | 0) >> 2] = $12_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0, 32 | 0, $7_1 + 36 | 0 | 0, $12_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($7_1 + 96 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 116 | 0) >> 2] | 0; + $331(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $330(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) | 0; + label$2 : { + if (!((100 | 0) == ($287(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + $48_1 = 4; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $311(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $48_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $315(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $48_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = $318(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $289_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $289_1; + HEAP32[($7_1 + 44 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2323(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, $7_1 + 80 | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, $7_1 + 56 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $222(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($7_1 + 96 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($7_1 + 96 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + } + } + label$4 : while (1) { + $65_1 = 0; + label$5 : { + if (HEAP32[($7_1 + 96 | 0) >> 2] | 0) { + break label$5 + } + i64toi32_i32$0 = 0; + $151$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + $153$hi = i64toi32_i32$1; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$1 = $153$hi; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$1 = $153$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $151$hi; + i64toi32_i32$3 = 0; + $65_1 = (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0; + } + label$6 : { + if (!($65_1 & 1 | 0)) { + break label$6 + } + $76_1 = 0; + HEAP32[($7_1 + 20 | 0) >> 2] = $76_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $76_1; + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + $353_1 = i64toi32_i32$2; + i64toi32_i32$2 = $7_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $353_1; + HEAP32[($7_1 + 52 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$3 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2079(HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, $7_1 + 20 | 0 | 0, $7_1 + 16 | 0 | 0, $76_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($7_1 + 96 | 0) >> 2] | 0) { + break label$7 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2323(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, $7_1 + 64 | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, $7_1 + 56 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + if (HEAP32[($7_1 + 96 | 0) >> 2] | 0) { + break label$8 + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2289(HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + continue label$4; + } + break label$4; + }; + label$9 : { + if (HEAP32[($7_1 + 96 | 0) >> 2] | 0) { + break label$9 + } + i64toi32_i32$1 = 0; + $158$hi = i64toi32_i32$1; + i64toi32_i32$3 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + $160$hi = i64toi32_i32$2; + i64toi32_i32$2 = $158$hi; + i64toi32_i32$2 = $160$hi; + i64toi32_i32$2 = $158$hi; + i64toi32_i32$2 = $160$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $158$hi; + i64toi32_i32$0 = 0; + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$9 + } + $105_1 = 0; + HEAP32[($7_1 + 12 | 0) >> 2] = $105_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0, 17 | 0, $7_1 + 12 | 0 | 0, $105_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($7_1 + 96 | 0) >> 2] | 0) { + break label$10 + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + $331(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + $163$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $164$hi = i64toi32_i32$3; + i64toi32_i32$3 = $163$hi; + i64toi32_i32$3 = $164$hi; + i64toi32_i32$3 = $163$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $164$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + $331(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, 2 | 0, i64toi32_i32$0 - i64toi32_i32$1 | 0 | 0, i64toi32_i32$5 | 0) | 0; + $287(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $222(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + } + } + label$11 : { + if (HEAP32[($7_1 + 96 | 0) >> 2] | 0) { + break label$11 + } + $121_1 = 0; + HEAP32[($7_1 + 8 | 0) >> 2] = $121_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2075(HEAP32[($7_1 + 124 | 0) >> 2] | 0 | 0, 33 | 0, $7_1 + 8 | 0 | 0, $121_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (HEAP32[($7_1 + 96 | 0) >> 2] | 0) { + break label$12 + } + $125_1 = 2; + i64toi32_i32$3 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + $331(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$5 | 0, i64toi32_i32$0 | 0) | 0; + $325(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, $125_1 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$3 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($7_1 + 116 | 0) >> 2] | 0; + $331(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 3 | 0, i64toi32_i32$0 | 0, i64toi32_i32$5 | 0) | 0; + $330(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) | 0; + $287(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $222(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + $332(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, $125_1 | 0) | 0; + } + } + $42(HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0); + $42(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0); + $143_1 = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + global$0 = $7_1 + 128 | 0; + return $143_1 | 0; + } + + function $2322($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, $9_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $51_1 = 0, $77_1 = 0, $49_1 = 0, $50_1 = 0, $118_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $9_1 = 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 40 | 0) >> 2] = $9_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $9_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $9_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $9_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $9_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, 35 | 0, $4_1 + 24 | 0 | 0, $9_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $331(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + label$2 : { + label$3 : while (1) { + if (!((100 | 0) == ($287(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 16 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $44(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 7; + break label$2; + } + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + $49_1 = $317(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $50_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + $51_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = $51_1 + 1 | 0; + HEAP32[($50_1 + ($51_1 << 2 | 0) | 0) >> 2] = $49_1; + continue label$3; + }; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + } + label$7 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$7 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2075(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, 31 | 0, $4_1 + 20 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + label$8 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$8 + } + i64toi32_i32$1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $331(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 2 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + } + HEAP8[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 240 | 0) >> 0] = 1; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + label$9 : while (1) { + $77_1 = 0; + label$10 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$10 + } + $77_1 = (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!($77_1 & 1 | 0)) { + break label$11 + } + label$12 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $330(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 3 | 0, HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + $330(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $287(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + HEAP8[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 240 | 0) >> 0] = 0; + $42(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0); + $118_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $118_1 | 0; + } + + function $2323($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $30_1 = 0, $52_1 = 0, $80_1 = 0, $103_1 = 0, $298_1 = 0, $361_1 = 0, $112_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 112 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 92 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 88 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 84 | 0) >> 2] = $5_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($8_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 108 | 0) >> 2] = 267; + break label$1; + } + $30_1 = 24; + HEAP32[($8_1 + 8 | 0) >> 2] = (((HEAPU8[(HEAP32[($8_1 + 104 | 0) >> 2] | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) == (0 | 0) & 1 | 0; + $2312(HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, $8_1 + 12 | 0 | 0); + label$3 : { + if (!(HEAP32[($8_1 + 12 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($8_1 + 108 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + break label$1; + } + HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2314($8_1 + 32 | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : while (1) { + $52_1 = 0; + label$5 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$5 + } + $52_1 = (HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$6 : { + if (!($52_1 & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2316(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + label$10 : { + if ((HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$10 + } + if (HEAP32[($8_1 + 8 | 0) >> 2] | 0) { + break label$9 + } + if (HEAP32[($8_1 + 4 | 0) >> 2] | 0) { + break label$9 + } + } + break label$7; + } + $80_1 = 24; + i64toi32_i32$0 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + $2324(HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, ((HEAPU8[(HEAP32[($8_1 + 104 | 0) >> 2] | 0) >> 0] | 0) << $80_1 | 0) >> $80_1 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$1 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + $298_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $298_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2319(HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, $8_1 + 16 | 0 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($8_1 + 12 | 0) >> 2] | 0)) { + break label$11 + } + break label$6; + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2315($8_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + continue label$4; + } + break label$4; + }; + label$12 : { + if (HEAP32[((HEAP32[($8_1 + 96 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$12 + } + $103_1 = 24; + i64toi32_i32$0 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + $2324(HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, ((HEAPU8[(HEAP32[($8_1 + 104 | 0) >> 2] | 0) >> 0] | 0) << $103_1 | 0) >> $103_1 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$1 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + $361_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $361_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + $2317($8_1 + 32 | 0 | 0); + $42(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 108 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + } + $112_1 = HEAP32[($8_1 + 108 | 0) >> 2] | 0; + global$0 = $8_1 + 112 | 0; + return $112_1 | 0; + } + + function $2324($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $24$hi = 0, $26$hi = 0, $18_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + $24$hi = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 0] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$2 | 0) != (0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $18_1 = ($2102((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $18_1; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $2325($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = 50048; + HEAP32[($5_1 + 24 | 0) >> 2] = 50052; + HEAP32[($5_1 + 20 | 0) >> 2] = 50057; + HEAP32[($5_1 + 16 | 0) >> 2] = -1; + HEAP32[($5_1 + 12 | 0) >> 2] = 15; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) > (6 | 0) & 1 | 0)) { + break label$2 + } + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 50068 | 0, -1 | 0); + break label$1; + } + label$3 : { + if (!($2326(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 42017 | 0, HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0) | 0)) { + break label$3 + } + break label$1; + } + $31_1 = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + -2 | 0; + label$4 : { + switch ($31_1 | 0) { + case 4: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + case 3: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + case 2: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + case 1: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + case 0: + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break; + default: + break label$4; + }; + } + label$10 : { + label$11 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + if ((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$1; + } + label$12 : { + label$13 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$13 + } + $277(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 1352 | 0, -1 | 0, 0 | 0); + break label$12; + } + label$14 : { + if (!((0 | 0) == ($2154(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$14 + } + $2327(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + } + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2326($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $10_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + $10_1 = $244(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 49930 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(50116 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $263(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + } + $28_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $28_1 | 0; + } + + function $2327($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $10_1 = 0, $230_1 = 0, $231_1 = 0, $142_1 = 0, i64toi32_i32$3 = 0, $239$hi = 0, $240$hi = 0, $28_1 = 0, $229_1 = 0, $84_1 = 0, $97_1 = 0, $100_1 = 0, $141_1 = 0, $143_1 = 0, $146_1 = 0, $236$hi = 0, $179_1 = 0, $544_1 = 0, $554_1 = 0, $564_1 = 0, $236_1 = 0, $582$hi = 0, $586_1 = 0, $239_1 = 0, $601_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 240 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 236 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 232 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 228 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 224 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 220 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 216 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 212 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 208 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 232 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($9_1 + 204 | 0) >> 2] = $10_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $9_1 + 184 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($9_1 + 180 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 76 | 0) >> 2] = -1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($9_1 + 232 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != ($10_1 | 0) & 1 | 0) { + break label$2 + } + $28_1 = 0; + $277(HEAP32[($9_1 + 236 | 0) >> 2] | 0 | 0, 1352 | 0, $28_1 | 0, $28_1 | 0); + break label$1; + } + label$3 : { + if (!((HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) < (-64 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($9_1 + 212 | 0) >> 2] = -64; + } + label$4 : { + if (!((HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) > (64 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($9_1 + 212 | 0) >> 2] = 64; + } + HEAP32[($9_1 + 180 | 0) >> 2] = 1; + label$5 : { + label$6 : { + label$7 : while (1) { + if (!(1 & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + $229_1 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $229_1; + HEAP32[($9_1 + 68 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 56 | 0) >> 2] = $229_1; + HEAP32[($9_1 + 60 | 0) >> 2] = i64toi32_i32$0; + label$8 : { + label$9 : { + if (!((HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($9_1 + 76 | 0) >> 2] = (((HEAP32[($9_1 + 212 | 0) >> 2] | 0) + (HEAP32[($9_1 + 180 | 0) >> 2] | 0) | 0) - 1 | 0 | 0) / (HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0) | 0; + break label$8; + } + HEAP32[($9_1 + 76 | 0) >> 2] = Math_imul(HEAP32[($9_1 + 212 | 0) >> 2] | 0, -1); + } + HEAP32[($9_1 + 72 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($9_1 + 52 | 0) >> 2] = -1; + HEAP32[($9_1 + 44 | 0) >> 2] = ($9_1 + 80 | 0) + Math_imul(HEAP32[($9_1 + 72 | 0) >> 2] | 0, 24) | 0; + $84_1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $230_1 = 0; + i64toi32_i32$1 = $84_1; + HEAP32[i64toi32_i32$1 >> 2] = $230_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $230_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $84_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $230_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 48 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($9_1 + 208 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $97_1 = 0; + $100_1 = $9_1 + 16 | 0; + i64toi32_i32$0 = 0; + $231_1 = 0; + i64toi32_i32$1 = $100_1; + HEAP32[i64toi32_i32$1 >> 2] = $231_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $231_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $100_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $231_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 12 | 0) >> 2] = $97_1; + label$14 : { + label$15 : { + if (!((HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0) >= ($97_1 | 0) & 1 | 0)) { + break label$15 + } + if (!((HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0) != (HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + break label$14; + } + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2334(HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 48 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $9_1 + 56 | 0 | 0, $9_1 + 16 | 0 | 0, $9_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 204 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!(HEAP32[($9_1 + 204 | 0) >> 2] | 0)) { + break label$16 + } + break label$5; + } + label$17 : { + if (!((HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($9_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + $141_1 = $9_1 + 16 | 0; + $142_1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = $141_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $544_1 = i64toi32_i32$1; + i64toi32_i32$1 = $142_1; + HEAP32[i64toi32_i32$1 >> 2] = $544_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $143_1 = 16; + i64toi32_i32$2 = i64toi32_i32$2 + $143_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $554_1 = i64toi32_i32$0; + i64toi32_i32$0 = $142_1 + $143_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $554_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $146_1 = 8; + i64toi32_i32$2 = $141_1 + $146_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $564_1 = i64toi32_i32$1; + i64toi32_i32$1 = $142_1 + $146_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $564_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 52 | 0) >> 2] = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + } + } + HEAP32[($9_1 + 48 | 0) >> 2] = (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + i64toi32_i32$2 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $236_1 = i64toi32_i32$0; + $236$hi = i64toi32_i32$1; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $582$hi = i64toi32_i32$0; + i64toi32_i32$0 = $236$hi; + i64toi32_i32$0 = $582$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $236$hi; + i64toi32_i32$3 = $236_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $586_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $9_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $586_1; + HEAP32[($9_1 + 68 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($9_1 + 72 | 0) >> 2] = (HEAP32[($9_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + i64toi32_i32$0 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $239_1 = i64toi32_i32$1; + $239$hi = i64toi32_i32$2; + i64toi32_i32$0 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $240$hi = i64toi32_i32$1; + i64toi32_i32$1 = $239$hi; + i64toi32_i32$1 = $240$hi; + i64toi32_i32$1 = $239$hi; + i64toi32_i32$1 = $240$hi; + $601_1 = i64toi32_i32$2; + i64toi32_i32$1 = $239$hi; + i64toi32_i32$0 = $239_1; + i64toi32_i32$2 = $240$hi; + i64toi32_i32$3 = $601_1; + label$18 : { + label$19 : { + if (((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0) { + break label$19 + } + if (!((HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$18 + } + } + break label$6; + } + HEAP32[($9_1 + 180 | 0) >> 2] = (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($9_1 + 200 | 0) >> 2] = 0; + label$20 : while (1) { + $179_1 = 0; + label$21 : { + if (!((HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + $179_1 = (HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$22 : { + if (!($179_1 & 1 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2335(HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0, ($9_1 + 80 | 0) + Math_imul(HEAP32[($9_1 + 200 | 0) >> 2] | 0, 24) | 0 | 0, HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0, (HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0) == ((HEAP32[($9_1 + 180 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 220 | 0) >> 2] | 0 | 0, $9_1 + 184 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 204 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 200 | 0) >> 2] = (HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + } + break label$20; + }; + } + $2053(HEAP32[($9_1 + 208 | 0) >> 2] | 0 | 0); + label$23 : { + if (!(HEAP32[($9_1 + 204 | 0) >> 2] | 0)) { + break label$23 + } + $284(HEAP32[($9_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0); + $42(HEAP32[($9_1 + 184 | 0) >> 2] | 0 | 0); + break label$1; + } + $277(HEAP32[($9_1 + 236 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 184 | 0) >> 2] | 0 | 0, -1 | 0, 3 | 0); + } + global$0 = $9_1 + 240 | 0; + return; + } + + function $2328($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!($2326(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 42025 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, $5_1 | 0) | 0)) { + break label$2 + } + break label$1; + } + if (!((0 | 0) == ($2154(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + $2329(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $2329($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $67_1 = 0, $307_1 = 0, $33_1 = 0, $25_1 = 0, i64toi32_i32$2 = 0, $137_1 = 0, $191_1 = 0, $209_1 = 0, $431_1 = 0, $241_1 = 0, $246_1 = 0, $247_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 208 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 204 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 200 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 196 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 200 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 192 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1 + 168 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + $25_1 = 0; + $277(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, 1352 | 0, $25_1 | 0, $25_1 | 0); + break label$1; + } + $33_1 = $4_1 + 136 | 0; + i64toi32_i32$0 = 0; + $307_1 = 0; + i64toi32_i32$1 = $33_1; + HEAP32[i64toi32_i32$1 >> 2] = $307_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $307_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $33_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $307_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $33_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $307_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2336(HEAP32[($4_1 + 200 | 0) >> 2] | 0 | 0, 0 | 0, $4_1 + 184 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!(HEAP32[($4_1 + 188 | 0) >> 2] | 0)) { + break label$4 + } + break label$3; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(Math_imul(HEAP32[($4_1 + 184 | 0) >> 2] | 0, 12) | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((0 | 0) == (HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 188 | 0) >> 2] = 7; + break label$3; + } + i64toi32_i32$2 = HEAP32[($4_1 + 200 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $431_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 152 | 0) >> 2] = $431_1; + HEAP32[($4_1 + 156 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 136 | 0) >> 2] = HEAP32[($4_1 + 200 | 0) >> 2] | 0; + HEAP32[($4_1 + 180 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 180 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $67_1 = 0; + HEAP32[($4_1 + 124 | 0) >> 2] = $67_1; + HEAP32[($4_1 + 120 | 0) >> 2] = $67_1; + HEAP32[($4_1 + 116 | 0) >> 2] = $67_1; + HEAP32[($4_1 + 112 | 0) >> 2] = $67_1; + HEAP32[($4_1 + 140 | 0) >> 2] = HEAP32[($4_1 + 180 | 0) >> 2] | 0; + HEAP32[($4_1 + 144 | 0) >> 2] = $67_1; + $2338(HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 104 | 0, $4_1 + 136 | 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $319(HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 180 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $315(HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 180 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) == ($67_1 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!(($321(HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 180 | 0) >> 2] | 0) + 1 | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$10 + } + break label$8; + } + HEAP32[($4_1 + 188 | 0) >> 2] = 7; + break label$3; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2213(HEAP32[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, $4_1 + 132 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($4_1 + 188 | 0) >> 2] | 0)) { + break label$11 + } + break label$3; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 192 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 132 | 0) >> 2] | 0, $4_1 + 128 | 0, $4_1 + 124 | 0, $4_1 + 120 | 0, $4_1 + 116 | 0, $4_1 + 112 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + label$13 : while (1) { + if (HEAP32[($4_1 + 188 | 0) >> 2] | 0) { + break label$12 + } + $137_1 = 0; + HEAP32[($4_1 + 96 | 0) >> 2] = 2147483647; + HEAP32[($4_1 + 92 | 0) >> 2] = $137_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $137_1; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 88 | 0) >> 2] = (HEAP32[($4_1 + 160 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 100 | 0) >> 2] | 0, 12) | 0; + label$16 : { + if (!((HEAP32[(HEAP32[($4_1 + 88 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + if (!(((HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) < (HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 96 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 100 | 0) >> 2] = (HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + label$17 : { + label$18 : { + if ((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$18 + } + HEAP32[($4_1 + 188 | 0) >> 2] = 101; + break label$17; + } + $191_1 = 24; + label$19 : { + label$20 : { + if (!((0 | 0) == ((((HEAPU8[(HEAP32[(HEAP32[($4_1 + 92 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) << $191_1 | 0) >> $191_1 | 0) & 254 | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[(HEAP32[($4_1 + 92 | 0) >> 2] | 0) >> 2] = 0; + break label$19; + } + $2346(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 4 | 0 | 0); + } + label$21 : while (1) { + $209_1 = 0; + label$22 : { + if (HEAP32[($4_1 + 188 | 0) >> 2] | 0) { + break label$22 + } + $209_1 = (HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0); + } + label$23 : { + if (!($209_1 & 1 | 0)) { + break label$23 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 192 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 132 | 0) >> 2] | 0, $4_1 + 128 | 0, $4_1 + 124 | 0, $4_1 + 120 | 0, $4_1 + 116 | 0, $4_1 + 112 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + continue label$21; + } + break label$21; + }; + label$24 : { + label$25 : { + if (HEAP32[($4_1 + 188 | 0) >> 2] | 0) { + break label$25 + } + $241_1 = HEAP32[($4_1 + 180 | 0) >> 2] | 0; + $246_1 = ((HEAP32[($4_1 + 92 | 0) >> 2] | 0) - (HEAP32[($4_1 + 160 | 0) >> 2] | 0) | 0 | 0) / (12 | 0) | 0; + $247_1 = HEAP32[($4_1 + 120 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 116 | 0) >> 2] | 0) - (HEAP32[($4_1 + 120 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $247_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $246_1; + HEAP32[$4_1 >> 2] = $241_1; + $81(64 | 0, $4_1 + 16 | 0 | 0, 50145 | 0, $4_1 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2341($4_1 + 168 | 0 | 0, $4_1 + 16 | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + break label$24; + } + label$26 : { + if (!((HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$26 + } + if (!((HEAP32[((HEAP32[($4_1 + 196 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($4_1 + 188 | 0) >> 2] = 267; + } + } + } + continue label$13; + }; + } + label$27 : { + if (!((HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($4_1 + 188 | 0) >> 2] = 0; + } + FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 192 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 132 | 0) >> 2] | 0) | 0; + label$28 : { + if (!(HEAP32[($4_1 + 188 | 0) >> 2] | 0)) { + break label$28 + } + break label$3; + } + } + HEAP32[($4_1 + 180 | 0) >> 2] = (HEAP32[($4_1 + 180 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + $42(HEAP32[($4_1 + 160 | 0) >> 2] | 0 | 0); + $2053(HEAP32[($4_1 + 196 | 0) >> 2] | 0 | 0); + label$29 : { + label$30 : { + if (!(HEAP32[($4_1 + 188 | 0) >> 2] | 0)) { + break label$30 + } + $284(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 188 | 0) >> 2] | 0 | 0); + $42(HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0); + break label$29; + } + $277(HEAP32[($4_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 168 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 172 | 0) >> 2] | 0) - 1 | 0 | 0, 3 | 0); + } + } + global$0 = $4_1 + 208 | 0; + return; + } + + function $2330($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!($2326(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 13390 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2331(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $18_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + label$3 : { + label$4 : { + label$5 : { + if (!$18_1) { + break label$5 + } + if (($18_1 | 0) == (101 | 0)) { + break label$4 + } + break label$3; + } + $277(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 50158 | 0, -1 | 0, 0 | 0); + break label$1; + } + $277(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 50174 | 0, -1 | 0, 0 | 0); + break label$1; + } + $284(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2331($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $29_1 = 0, $5_1 = 0, $22_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $5_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $400(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 50196 | 0, $5_1 | 0, $5_1 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2265(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + label$4 : { + if (!(HEAP32[($3_1 + 8 | 0) >> 2] | 0)) { + break label$4 + } + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$3 + } + } + $22_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $400(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 50211 | 0, $22_1 | 0, $22_1 | 0, $22_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($3_1 + 4 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + break label$2; + } + $29_1 = 0; + $400(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 50224 | 0, $29_1 | 0, $29_1 | 0, $29_1 | 0) | 0; + $400(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 50211 | 0, $29_1 | 0, $29_1 | 0, $29_1 | 0) | 0; + } + } + $2053(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $36_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $36_1 | 0; + } + + function $2332($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (!((0 | 0) == ($2326(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 42033 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $2333(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2333($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $26_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 50241; + } + label$3 : { + label$4 : { + if ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + $26_1 = 0; + $254(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 1352 | 0, $26_1 | 0, $26_1 | 0); + break label$3; + } + $2352(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $2053(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2334($0_1, $1_1, $2_1, $3_1, $3$hi, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $129_1 = 0, $16_1 = 0, $133$hi = 0, $134$hi = 0, $25_1 = 0, $135$hi = 0, $79_1 = 0, $325$hi = 0, $329_1 = 0, $412_1 = 0, $418_1 = 0, $126_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 112 | 0; + global$0 = $9_1; + $16_1 = $9_1 + 40 | 0; + HEAP32[($9_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 96 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 92 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 84 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 76 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 28 | 0) >> 2] = -1; + i64toi32_i32$0 = 0; + $129_1 = 0; + i64toi32_i32$1 = $16_1; + HEAP32[i64toi32_i32$1 >> 2] = $129_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $129_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $129_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2336(HEAP32[($9_1 + 100 | 0) >> 2] | 0 | 0, $9_1 + 68 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($9_1 + 72 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($9_1 + 108 | 0) >> 2] = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 32 | 0) >> 2] = Math_imul(HEAP32[($9_1 + 68 | 0) >> 2] | 0, 24); + HEAP32[($9_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($9_1 + 108 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + $3289(HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($9_1 + 40 | 0) >> 2] = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + HEAP32[($9_1 + 44 | 0) >> 2] = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + HEAP32[($9_1 + 48 | 0) >> 2] = HEAP32[($9_1 + 104 | 0) >> 2] | 0; + HEAP32[($9_1 + 52 | 0) >> 2] = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[($9_1 + 60 | 0) >> 2] = -1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2338(HEAP32[((HEAP32[($9_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 105 | 0, $9_1 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($9_1 + 72 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[($9_1 + 24 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (!((HEAP32[(((HEAP32[($9_1 + 56 | 0) >> 2] | 0) + Math_imul(HEAP32[($9_1 + 24 | 0) >> 2] | 0, 24) | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = 0; + $133$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $134$hi = i64toi32_i32$0; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = $134$hi; + i64toi32_i32$3 = (HEAP32[($9_1 + 24 | 0) >> 2] | 0 | 0) % (64 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $25_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $25_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $135$hi = i64toi32_i32$1; + $79_1 = HEAP32[($9_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$0 = $79_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $325$hi = i64toi32_i32$2; + i64toi32_i32$2 = $135$hi; + i64toi32_i32$2 = $325$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $135$hi; + i64toi32_i32$3 = $25_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $329_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = $79_1; + HEAP32[i64toi32_i32$0 >> 2] = $329_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($9_1 + 24 | 0) >> 2] = (HEAP32[($9_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[(HEAP32[($9_1 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + label$8 : { + label$9 : while (1) { + if (!((($2339($9_1 + 40 | 0 | 0) | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + $2340($9_1 + 40 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, $9_1 + 20 | 0 | 0, $9_1 + 16 | 0 | 0, $9_1 + 8 | 0 | 0, $9_1 | 0); + label$10 : { + if (!((HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[($9_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[$9_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 4 | 0) >> 2] | 0; + $412_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $412_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + $418_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($9_1 + 80 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $418_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 28 | 0) >> 2] = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + } + continue label$9; + }; + } + HEAP32[(HEAP32[($9_1 + 76 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + } + $42(HEAP32[($9_1 + 56 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 108 | 0) >> 2] = HEAP32[($9_1 + 72 | 0) >> 2] | 0; + } + $126_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + global$0 = $9_1 + 112 | 0; + return $126_1 | 0; + } + + function $2335($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $12_1 = 0, $79_1 = 0, $224$hi = 0, $225$hi = 0, $226$hi = 0, $227$hi = 0, $27_1 = 0, $228$hi = 0, $230$hi = 0, $278_1 = 0, $224_1 = 0, $226_1 = 0, $220_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11_1 = global$0 - 128 | 0; + global$0 = $11_1; + $12_1 = 0; + HEAP32[($11_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 112 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 108 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 104 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 100 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 96 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 92 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 88 | 0) >> 2] = $8_1; + HEAP32[($11_1 + 84 | 0) >> 2] = HEAP32[(HEAP32[($11_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($11_1 + 68 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 64 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 60 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($11_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($11_1 + 116 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $278_1 = i64toi32_i32$0; + i64toi32_i32$0 = $11_1; + HEAP32[($11_1 + 48 | 0) >> 2] = $278_1; + HEAP32[($11_1 + 52 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($11_1 + 44 | 0) >> 2] = (HEAP32[(HEAP32[($11_1 + 116 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $319(HEAP32[((HEAP32[($11_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0) == ($12_1 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(($321(HEAP32[((HEAP32[($11_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($11_1 + 124 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($11_1 + 124 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $315(HEAP32[((HEAP32[($11_1 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($11_1 + 84 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2213(HEAP32[((HEAP32[($11_1 + 84 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($11_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 72 | 0) >> 2] | 0 | 0, $11_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($11_1 + 80 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($11_1 + 124 | 0) >> 2] = HEAP32[($11_1 + 80 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + label$6 : while (1) { + if (HEAP32[($11_1 + 80 | 0) >> 2] | 0) { + break label$5 + } + $79_1 = 0; + HEAP32[($11_1 + 28 | 0) >> 2] = -1; + HEAP32[($11_1 + 24 | 0) >> 2] = $79_1; + HEAP32[($11_1 + 20 | 0) >> 2] = $79_1; + HEAP32[($11_1 + 16 | 0) >> 2] = $79_1; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($11_1 + 36 | 0) >> 2] | 0, $11_1 + 32 | 0, $11_1 + 28 | 0, $11_1 + 24 | 0, $11_1 + 20 | 0, $11_1 + 68 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[($11_1 + 80 | 0) >> 2] | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[($11_1 + 80 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2341(HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($11_1 + 76 | 0) >> 2] | 0) + (HEAP32[($11_1 + 64 | 0) >> 2] | 0) | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + break label$5; + } + label$9 : { + if (!((HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + continue label$6; + } + label$10 : { + if (HEAP32[($11_1 + 60 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[($11_1 + 12 | 0) >> 2] = (HEAP32[($11_1 + 72 | 0) >> 2] | 0) - (HEAP32[($11_1 + 24 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2342(HEAP32[($11_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($11_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 104 | 0) >> 2] | 0 | 0, (HEAP32[($11_1 + 76 | 0) >> 2] | 0) + (HEAP32[($11_1 + 24 | 0) >> 2] | 0) | 0 | 0, HEAP32[($11_1 + 12 | 0) >> 2] | 0 | 0, $11_1 + 56 | 0 | 0, $11_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11_1 + 60 | 0) >> 2] = 1; + label$11 : { + if (HEAP32[($11_1 + 80 | 0) >> 2] | 0) { + break label$11 + } + label$12 : { + label$13 : { + label$14 : { + if ((HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$14 + } + if (!((HEAP32[($11_1 + 112 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$13 + } + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2341(HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + break label$12; + } + label$15 : { + if (!(HEAP32[($11_1 + 24 | 0) >> 2] | 0)) { + break label$15 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2341(HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + } + } + label$16 : { + label$17 : { + if (HEAP32[($11_1 + 80 | 0) >> 2] | 0) { + break label$17 + } + if (!((HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + } + continue label$6; + } + } + label$18 : { + if (!((HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0) >= ((HEAP32[($11_1 + 56 | 0) >> 2] | 0) + (HEAP32[($11_1 + 104 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$18 + } + label$19 : { + if (!(HEAP32[($11_1 + 108 | 0) >> 2] | 0)) { + break label$19 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2341(HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + break label$5; + } + i64toi32_i32$1 = 0; + $224_1 = 0; + $224$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $225$hi = i64toi32_i32$1; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = HEAP32[($11_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11_1 + 52 | 0) >> 2] | 0; + $226_1 = i64toi32_i32$1; + $226$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $227$hi = i64toi32_i32$0; + i64toi32_i32$0 = $225$hi; + i64toi32_i32$0 = $227$hi; + i64toi32_i32$0 = $225$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = $227$hi; + i64toi32_i32$3 = (HEAP32[($11_1 + 68 | 0) >> 2] | 0) - (HEAP32[($11_1 + 56 | 0) >> 2] | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $27_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $27_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $228$hi = i64toi32_i32$1; + i64toi32_i32$1 = $226$hi; + i64toi32_i32$1 = $228$hi; + i64toi32_i32$1 = $226$hi; + i64toi32_i32$0 = $226_1; + i64toi32_i32$2 = $228$hi; + i64toi32_i32$3 = $27_1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $230$hi = i64toi32_i32$2; + i64toi32_i32$2 = $224$hi; + i64toi32_i32$2 = $230$hi; + i64toi32_i32$2 = $224$hi; + i64toi32_i32$2 = $230$hi; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $224$hi; + i64toi32_i32$3 = $224_1; + HEAP32[($11_1 + 16 | 0) >> 2] = ((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0; + label$20 : { + if (!((HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0) > (HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2341(HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($11_1 + 76 | 0) >> 2] | 0) + (HEAP32[($11_1 + 64 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($11_1 + 24 | 0) >> 2] | 0) - (HEAP32[($11_1 + 64 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + label$21 : { + if (HEAP32[($11_1 + 80 | 0) >> 2] | 0) { + break label$21 + } + if (!(HEAP32[($11_1 + 16 | 0) >> 2] | 0)) { + break label$21 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2341(HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 100 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + label$22 : { + if (HEAP32[($11_1 + 80 | 0) >> 2] | 0) { + break label$22 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2341(HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($11_1 + 76 | 0) >> 2] | 0) + (HEAP32[($11_1 + 24 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($11_1 + 20 | 0) >> 2] | 0) - (HEAP32[($11_1 + 24 | 0) >> 2] | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + label$23 : { + if (HEAP32[($11_1 + 80 | 0) >> 2] | 0) { + break label$23 + } + if (!(HEAP32[($11_1 + 16 | 0) >> 2] | 0)) { + break label$23 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = $2341(HEAP32[($11_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 96 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($11_1 + 64 | 0) >> 2] = HEAP32[($11_1 + 20 | 0) >> 2] | 0; + continue label$6; + }; + } + FUNCTION_TABLE[HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($11_1 + 36 | 0) >> 2] | 0) | 0; + HEAP32[($11_1 + 124 | 0) >> 2] = HEAP32[($11_1 + 80 | 0) >> 2] | 0; + } + $220_1 = HEAP32[($11_1 + 124 | 0) >> 2] | 0; + global$0 = $11_1 + 128 | 0; + return $220_1 | 0; + } + + function $2336($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + HEAP32[$5_1 >> 2] = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2338(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 106 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + $33_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $33_1 | 0; + } + + function $2337($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $33_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 24) | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2345(HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $33_1 = 0; + HEAP32[$5_1 >> 2] = $33_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $2346($5_1 + 8 | 0 | 0, $5_1 | 0); + label$3 : { + label$4 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) < ($33_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 4 | 0) >> 2] = 267; + break label$3; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; + } + break label$1; + } + } + $55_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $55_1 | 0; + } + + function $2338($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $11_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = 0; + $11_1 = $2344(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $5_1 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $11_1 | 0; + } + + function $2339($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, $90_1 = 0, $126_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + $12_1 = 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = $12_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $12_1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 20 | 0) >> 2] | 0, 24) | 0; + $2347((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 12 | 0 | 0, (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + break label$2; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 2147483647; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 20 | 0) >> 2] | 0, 24) | 0; + label$8 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + label$9 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (2147483647 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 1; + break label$1; + } + $90_1 = ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) + 1 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $90_1; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = $90_1; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[$3_1 >> 2] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 20 | 0) >> 2] | 0, 24) | 0; + $2347((HEAP32[$3_1 >> 2] | 0) + 12 | 0 | 0, (HEAP32[$3_1 >> 2] | 0) + 8 | 0 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0 | 0); + $2347((HEAP32[$3_1 >> 2] | 0) + 20 | 0 | 0, (HEAP32[$3_1 >> 2] | 0) + 16 | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $126_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $126_1 | 0; + } + + function $2340($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $121$hi = 0, $120$hi = 0, $9_1 = 0, $119_1 = 0, $49_1 = 0, $121_1 = 0, $122$hi = 0, $44_1 = 0, $124$hi = 0, $45_1 = 0, $126$hi = 0, $127$hi = 0, $128$hi = 0, $129$hi = 0, $131$hi = 0, $133$hi = 0, $136$hi = 0, $137$hi = 0, $46_1 = 0, $138$hi = 0, $92_1 = 0, $119$hi = 0, $120_1 = 0, $126_1 = 0, $301_1 = 0, $128_1 = 0, $306_1 = 0, $133_1 = 0, $336$hi = 0, $340_1 = 0, $371$hi = 0, $375_1 = 0, $440_1 = 0, $446_1 = 0; + $8_1 = global$0 - 96 | 0; + global$0 = $8_1; + $9_1 = 0; + i64toi32_i32$0 = 0; + $119_1 = 0; + $119$hi = i64toi32_i32$0; + HEAP32[($8_1 + 92 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 80 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 84 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 76 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($8_1 + 56 | 0) >> 2] = $9_1; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $119_1; + HEAP32[($8_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $119_1; + HEAP32[($8_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 52 | 0) >> 2] = $9_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 52 | 0) >> 2] | 0, 24) | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$4 : while (1) { + $49_1 = 0; + label$5 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) < ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + $49_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) >= (HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (!($49_1 & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + $120_1 = 0; + $120$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $121_1 = 1; + $121$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $122$hi = i64toi32_i32$0; + i64toi32_i32$0 = $121$hi; + i64toi32_i32$0 = $122$hi; + i64toi32_i32$0 = $121$hi; + i64toi32_i32$2 = $121_1; + i64toi32_i32$1 = $122$hi; + i64toi32_i32$3 = (HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) % (64 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $44_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $44_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + i64toi32_i32$2 = $8_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $44_1; + HEAP32[($8_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $124$hi = i64toi32_i32$1; + i64toi32_i32$1 = $121$hi; + i64toi32_i32$1 = $124$hi; + i64toi32_i32$1 = $121$hi; + i64toi32_i32$0 = $121_1; + i64toi32_i32$2 = $124$hi; + i64toi32_i32$3 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) - (HEAP32[($8_1 + 60 | 0) >> 2] | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $45_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $45_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + i64toi32_i32$0 = $8_1; + HEAP32[$8_1 >> 2] = $45_1; + HEAP32[($8_1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $8_1; + i64toi32_i32$2 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + $126_1 = i64toi32_i32$2; + $126$hi = i64toi32_i32$0; + i64toi32_i32$1 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + $127$hi = i64toi32_i32$2; + i64toi32_i32$2 = $126$hi; + i64toi32_i32$2 = $127$hi; + $301_1 = i64toi32_i32$0; + i64toi32_i32$2 = $126$hi; + i64toi32_i32$1 = $126_1; + i64toi32_i32$0 = $127$hi; + i64toi32_i32$3 = $301_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $128_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + $128$hi = i64toi32_i32$0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + $129$hi = i64toi32_i32$1; + i64toi32_i32$1 = $128$hi; + i64toi32_i32$1 = $129$hi; + $306_1 = i64toi32_i32$0; + i64toi32_i32$1 = $128$hi; + i64toi32_i32$2 = $128_1; + i64toi32_i32$0 = $129$hi; + i64toi32_i32$3 = $306_1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $131$hi = i64toi32_i32$0; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$0 = $131$hi; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$0 = $131$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $120$hi; + i64toi32_i32$3 = $120_1; + label$7 : { + label$8 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1 | 0; + break label$7; + } + HEAP32[($8_1 + 56 | 0) >> 2] = (HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 1e3 | 0; + } + i64toi32_i32$3 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + $133_1 = i64toi32_i32$1; + $133$hi = i64toi32_i32$0; + i64toi32_i32$3 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + $336$hi = i64toi32_i32$1; + i64toi32_i32$1 = $133$hi; + i64toi32_i32$1 = $336$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$2 = $133_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $340_1 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + i64toi32_i32$3 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $340_1; + HEAP32[($8_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 16 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$1 = $8_1; + i64toi32_i32$0 = HEAP32[$8_1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + $136$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $137$hi = i64toi32_i32$3; + i64toi32_i32$3 = $136$hi; + i64toi32_i32$3 = $137$hi; + i64toi32_i32$3 = $136$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $137$hi; + i64toi32_i32$2 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $46_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + $46_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + $138$hi = i64toi32_i32$0; + i64toi32_i32$3 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $371$hi = i64toi32_i32$1; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$1 = $371$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $138$hi; + i64toi32_i32$2 = $46_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $375_1 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + i64toi32_i32$3 = $8_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $375_1; + HEAP32[($8_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + $92_1 = 24; + label$11 : { + if (!((0 | 0) == ((((HEAPU8[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $92_1 | 0) >> $92_1 | 0) & 254 | 0 | 0) & 1 | 0)) { + break label$11 + } + break label$6; + } + $2346($8_1 + 24 | 0 | 0, $8_1 + 20 | 0 | 0); + continue label$4; + } + break label$4; + }; + } + HEAP32[($8_1 + 52 | 0) >> 2] = (HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[(HEAP32[($8_1 + 76 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 72 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + $440_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $440_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $8_1; + i64toi32_i32$3 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $446_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $446_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$0; + global$0 = $8_1 + 96 | 0; + return; + } + + function $2341($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $69$hi = 0, $70$hi = 0, $71$hi = 0, $72$hi = 0, $58_1 = 0, $28_1 = 0, $69_1 = 0, $144_1 = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + label$3 : { + if (!((((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $28_1 = 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $69_1 = i64toi32_i32$1; + $69$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $70$hi = i64toi32_i32$0; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$0 = $70$hi; + $144_1 = i64toi32_i32$1; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$1 = $70$hi; + i64toi32_i32$3 = $144_1; + i64toi32_i32$4 = $69_1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $71$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $72$hi = i64toi32_i32$5; + i64toi32_i32$5 = $71$hi; + i64toi32_i32$5 = $72$hi; + i64toi32_i32$5 = $71$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$3 = 100; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + $72$hi | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$5 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $49(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != ($28_1 | 0) & 1 | 0) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 7; + break label$2; + } + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = i64toi32_i32$0; + } + $3288((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $58_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($58_1 + 4 | 0) >> 2] = (HEAP32[($58_1 + 4 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0; + HEAP8[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $66_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $66_1 | 0; + } + + function $2342($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $141$hi = 0, $146$hi = 0, $154$hi = 0, $95_1 = 0, $144$hi = 0, $147$hi = 0, $148$hi = 0, $149$hi = 0, $38_1 = 0, $150$hi = 0, $152$hi = 0, $155$hi = 0, $156$hi = 0, $157$hi = 0, $39_1 = 0, $158$hi = 0, $160$hi = 0, $69_1 = 0, $131_1 = 0, $162$hi = 0, $163$hi = 0, $40_1 = 0, $189_1 = 0, $146_1 = 0, $148_1 = 0, $154_1 = 0, $156_1 = 0, $138_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 96 | 0; + global$0 = $9_1; + i64toi32_i32$0 = 0; + $141$hi = i64toi32_i32$0; + HEAP32[($9_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 72 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 68 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 64 | 0) >> 2] = $6_1; + i64toi32_i32$2 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $189_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1; + HEAP32[($9_1 + 56 | 0) >> 2] = $189_1; + HEAP32[($9_1 + 60 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $144$hi = i64toi32_i32$0; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$0 = $144$hi; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$0 = $144$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $141$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($9_1 + 52 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + i64toi32_i32$2 = 0; + $146_1 = 0; + $146$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $147$hi = i64toi32_i32$2; + i64toi32_i32$3 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $148_1 = i64toi32_i32$2; + $148$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $149$hi = i64toi32_i32$0; + i64toi32_i32$0 = $147$hi; + i64toi32_i32$0 = $149$hi; + i64toi32_i32$0 = $147$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = $149$hi; + i64toi32_i32$1 = HEAP32[($9_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + $38_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $38_1 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + } + $150$hi = i64toi32_i32$2; + i64toi32_i32$2 = $148$hi; + i64toi32_i32$2 = $150$hi; + i64toi32_i32$2 = $148$hi; + i64toi32_i32$0 = $148_1; + i64toi32_i32$3 = $150$hi; + i64toi32_i32$1 = $38_1; + i64toi32_i32$3 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $152$hi = i64toi32_i32$3; + i64toi32_i32$3 = $146$hi; + i64toi32_i32$3 = $152$hi; + i64toi32_i32$3 = $146$hi; + i64toi32_i32$3 = $152$hi; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = $146$hi; + i64toi32_i32$1 = $146_1; + if (!((((i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | 0) ^ -1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($9_1 + 52 | 0) >> 2] = (HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($9_1 + 48 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + i64toi32_i32$2 = 0; + $154_1 = 0; + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $155$hi = i64toi32_i32$2; + i64toi32_i32$1 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $156_1 = i64toi32_i32$2; + $156$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $157$hi = i64toi32_i32$3; + i64toi32_i32$3 = $155$hi; + i64toi32_i32$3 = $157$hi; + i64toi32_i32$3 = $155$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$2 = $157$hi; + i64toi32_i32$0 = ((HEAP32[($9_1 + 80 | 0) >> 2] | 0) - 1 | 0) - (HEAP32[($9_1 + 48 | 0) >> 2] | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $39_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $39_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $158$hi = i64toi32_i32$2; + i64toi32_i32$2 = $156$hi; + i64toi32_i32$2 = $158$hi; + i64toi32_i32$2 = $156$hi; + i64toi32_i32$3 = $156_1; + i64toi32_i32$1 = $158$hi; + i64toi32_i32$0 = $39_1; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $160$hi = i64toi32_i32$1; + i64toi32_i32$1 = $154$hi; + i64toi32_i32$1 = $160$hi; + i64toi32_i32$1 = $154$hi; + i64toi32_i32$1 = $160$hi; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + i64toi32_i32$3 = $154$hi; + i64toi32_i32$0 = $154_1; + if (!((((i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) ^ -1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($9_1 + 48 | 0) >> 2] = (HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($9_1 + 44 | 0) >> 2] = ((HEAP32[($9_1 + 52 | 0) >> 2] | 0) - (HEAP32[($9_1 + 48 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$7 : { + if (!((HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($9_1 + 36 | 0) >> 2] = 0; + HEAP32[($9_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2213(HEAP32[((HEAP32[($9_1 + 88 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, $9_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($9_1 + 32 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($9_1 + 92 | 0) >> 2] = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + break label$1; + } + label$9 : while (1) { + $69_1 = 0; + label$10 : { + if (HEAP32[($9_1 + 32 | 0) >> 2] | 0) { + break label$10 + } + $69_1 = (HEAP32[($9_1 + 36 | 0) >> 2] | 0 | 0) < ((HEAP32[($9_1 + 80 | 0) >> 2] | 0) + (HEAP32[($9_1 + 44 | 0) >> 2] | 0) | 0 | 0); + } + label$11 : { + if (!($69_1 & 1 | 0)) { + break label$11 + } + $95_1 = 0; + HEAP32[($9_1 + 16 | 0) >> 2] = $95_1; + HEAP32[($9_1 + 12 | 0) >> 2] = $95_1; + HEAP32[($9_1 + 8 | 0) >> 2] = $95_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($9_1 + 24 | 0) >> 2] | 0, $9_1 + 20 | 0, $9_1 + 16 | 0, $9_1 + 12 | 0, $9_1 + 8 | 0, $9_1 + 36 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + continue label$9; + } + break label$9; + }; + FUNCTION_TABLE[HEAP32[((HEAP32[($9_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($9_1 + 24 | 0) >> 2] | 0) | 0; + label$12 : { + if (!(HEAP32[($9_1 + 32 | 0) >> 2] | 0)) { + break label$12 + } + if (!((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) != (101 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($9_1 + 92 | 0) >> 2] = HEAP32[($9_1 + 32 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($9_1 + 40 | 0) >> 2] = (((HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0) + (HEAP32[($9_1 + 36 | 0) >> 2] | 0) | 0) - (HEAP32[($9_1 + 80 | 0) >> 2] | 0) | 0; + label$13 : { + if (!((HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$13 + } + $131_1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[$131_1 >> 2] = (HEAP32[$131_1 >> 2] | 0) + (HEAP32[($9_1 + 40 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 60 | 0) >> 2] | 0; + $162$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $163$hi = i64toi32_i32$1; + i64toi32_i32$1 = $162$hi; + i64toi32_i32$1 = $163$hi; + i64toi32_i32$1 = $162$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $163$hi; + i64toi32_i32$3 = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $40_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $40_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$0 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $40_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + } + } + } + HEAP32[($9_1 + 92 | 0) >> 2] = 0; + } + $138_1 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + global$0 = $9_1 + 96 | 0; + return $138_1 | 0; + } + + function $2343($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $16_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $10_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($10_1 + 4 | 0) >> 2] = (HEAP32[($10_1 + 4 | 0) >> 2] | 0) + 1 | 0; + $16_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($16_1 + 8 | 0) >> 2] = (HEAP32[($16_1 + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) | 0; + return HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0; + } + + function $2344($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $42_1 = 0, $46_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2344(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$3 + } + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2344(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $42_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$42_1 >> 2] = (HEAP32[$42_1 >> 2] | 0) + 1 | 0; + } + $46_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $46_1 | 0; + } + + function $2345($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $475$hi = 0, $476$hi = 0, $479$hi = 0, $480$hi = 0, $484$hi = 0, $485$hi = 0, $488$hi = 0, $489$hi = 0, $492$hi = 0, $493$hi = 0, $496$hi = 0, $497$hi = 0, $501$hi = 0, $502$hi = 0, $43_1 = 0, $104_1 = 0, $139_1 = 0, $199_1 = 0, $59_1 = 0, $60_1 = 0, $61_1 = 0, $228_1 = 0, $245_1 = 0, $273_1 = 0, $282_1 = 0, $62_1 = 0, $63_1 = 0, $64_1 = 0, $309_1 = 0, $326_1 = 0, $380_1 = 0, $402_1 = 0, $425_1 = 0, $443_1 = 0, $454_1 = 0, $466_1 = 0, $575_1 = 0, $475_1 = 0, $591_1 = 0, $479_1 = 0, $784_1 = 0, $914_1 = 0, $222_1 = 0, $484_1 = 0, $992_1 = 0, $488_1 = 0, $1009_1 = 0, $303_1 = 0, $492_1 = 0, $1145_1 = 0, $496_1 = 0, $1162_1 = 0, $1245_1 = 0, $501_1 = 0, $1261_1 = 0, $471_1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$2 = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $575_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $575_1; + HEAP32[($6_1 + 52 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $475_1 = i64toi32_i32$1; + $475$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $476$hi = i64toi32_i32$1; + i64toi32_i32$1 = $475$hi; + i64toi32_i32$1 = $476$hi; + i64toi32_i32$1 = $475$hi; + i64toi32_i32$1 = $476$hi; + $591_1 = i64toi32_i32$0; + i64toi32_i32$1 = $475$hi; + i64toi32_i32$2 = $475_1; + i64toi32_i32$0 = $476$hi; + i64toi32_i32$3 = $591_1; + label$3 : { + label$4 : { + if (((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$4 + } + if (!((HEAPU8[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0)) { + break label$3 + } + } + $43_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $43_1; + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 239 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = $43_1; + HEAP8[($6_1 + 35 | 0) >> 0] = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (!((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 36 | 0) >> 2] = 1; + } + label$8 : { + if (!((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + } + label$9 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[($6_1 + 35 | 0) >> 0] = 1; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$6; + }; + } + label$10 : { + if (HEAP32[($6_1 + 36 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + break label$1; + } + label$11 : { + if (!(HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0; + $2348(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $6_1 + 44 | 0 | 0); + label$12 : while (1) { + $104_1 = 0; + label$13 : { + if (HEAP32[($6_1 + 44 | 0) >> 2] | 0) { + break label$13 + } + $104_1 = ((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0; + } + label$14 : { + if (!($104_1 & 1 | 0)) { + break label$14 + } + $2240(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $6_1 + 44 | 0 | 0); + label$15 : { + if (HEAP32[($6_1 + 16 | 0) >> 2] | 0) { + break label$15 + } + i64toi32_i32$3 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $479_1 = i64toi32_i32$2; + $479$hi = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $480$hi = i64toi32_i32$2; + i64toi32_i32$2 = $479$hi; + i64toi32_i32$2 = $480$hi; + i64toi32_i32$2 = $479$hi; + i64toi32_i32$2 = $480$hi; + $784_1 = i64toi32_i32$1; + i64toi32_i32$2 = $479$hi; + i64toi32_i32$3 = $479_1; + i64toi32_i32$1 = $480$hi; + i64toi32_i32$0 = $784_1; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$15 + } + break label$14; + } + continue label$12; + } + break label$12; + }; + } + label$16 : { + if (!(((HEAPU8[($6_1 + 35 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$16 + } + label$17 : while (1) { + $139_1 = 0; + label$18 : { + if (HEAP32[($6_1 + 44 | 0) >> 2] | 0) { + break label$18 + } + $139_1 = ((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) ^ -1 | 0; + } + label$19 : { + if (!($139_1 & 1 | 0)) { + break label$19 + } + $2240(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $6_1 + 44 | 0 | 0); + continue label$17; + } + break label$17; + }; + } + label$20 : { + if (!(HEAP32[($6_1 + 44 | 0) >> 2] | 0)) { + break label$20 + } + HEAP32[($6_1 + 92 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($6_1 + 20 | 0) >> 2] = 1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + label$21 : { + label$22 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + HEAP8[($6_1 + 15 | 0) >> 0] = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + label$23 : { + if (!((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] | 0; + $914_1 = i64toi32_i32$3; + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $914_1; + HEAP32[($6_1 + 52 | 0) >> 2] = i64toi32_i32$2; + label$24 : { + label$25 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0 | 0) == (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + $199_1 = 1; + label$26 : { + if (!(HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$26 + } + $199_1 = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) >>> 0 >= ((HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) >>> 0; + } + HEAP8[($6_1 + 15 | 0) >> 0] = $199_1 & 1 | 0; + label$27 : while (1) { + label$28 : { + label$29 : { + if ((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$29 + } + $222_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $484_1 = i64toi32_i32$2; + $484$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $485$hi = i64toi32_i32$2; + i64toi32_i32$2 = $484$hi; + i64toi32_i32$2 = $485$hi; + i64toi32_i32$2 = $484$hi; + i64toi32_i32$2 = $485$hi; + $992_1 = i64toi32_i32$3; + i64toi32_i32$2 = $484$hi; + i64toi32_i32$0 = $484_1; + i64toi32_i32$3 = $485$hi; + i64toi32_i32$1 = $992_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$3 | 0)) { + $59_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$1 >>> 0) { + $60_1 = 0 + } else { + $60_1 = 1 + } + $61_1 = $60_1; + } else { + $61_1 = 0 + } + $59_1 = $61_1; + } + label$30 : { + label$31 : { + if (!($59_1 & 1 | 0)) { + break label$31 + } + $228_1 = 1; + break label$30; + } + i64toi32_i32$1 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $488_1 = i64toi32_i32$0; + $488$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $489$hi = i64toi32_i32$0; + i64toi32_i32$0 = $488$hi; + i64toi32_i32$0 = $489$hi; + i64toi32_i32$0 = $488$hi; + i64toi32_i32$0 = $489$hi; + $1009_1 = i64toi32_i32$2; + i64toi32_i32$0 = $488$hi; + i64toi32_i32$1 = $488_1; + i64toi32_i32$2 = $489$hi; + i64toi32_i32$3 = $1009_1; + $228_1 = ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0 ? 0 : -1; + } + $245_1 = 0; + if (!((Math_imul($222_1, $228_1) | 0) < (0 | 0) & 1 | 0)) { + break label$28 + } + } + $245_1 = ((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + label$32 : { + if (!($245_1 & 1 | 0)) { + break label$32 + } + $2349(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $6_1 + 64 | 0 | 0, $6_1 + 48 | 0 | 0, $6_1 + 15 | 0 | 0); + continue label$27; + } + break label$27; + }; + break label$24; + } + $273_1 = 1; + label$33 : { + if (!(HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$33 + } + $282_1 = 0; + label$34 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$34 + } + $282_1 = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) >>> 0 <= (HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0) >>> 0; + } + $273_1 = $282_1; + } + HEAP8[($6_1 + 15 | 0) >> 0] = $273_1 & 1 | 0; + label$35 : while (1) { + label$36 : { + label$37 : { + if ((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$37 + } + $303_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $492_1 = i64toi32_i32$1; + $492$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $493$hi = i64toi32_i32$1; + i64toi32_i32$1 = $492$hi; + i64toi32_i32$1 = $493$hi; + i64toi32_i32$1 = $492$hi; + i64toi32_i32$1 = $493$hi; + $1145_1 = i64toi32_i32$0; + i64toi32_i32$1 = $492$hi; + i64toi32_i32$3 = $492_1; + i64toi32_i32$0 = $493$hi; + i64toi32_i32$2 = $1145_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $62_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$2 >>> 0) { + $63_1 = 0 + } else { + $63_1 = 1 + } + $64_1 = $63_1; + } else { + $64_1 = 0 + } + $62_1 = $64_1; + } + label$38 : { + label$39 : { + if (!($62_1 & 1 | 0)) { + break label$39 + } + $309_1 = 1; + break label$38; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $496_1 = i64toi32_i32$3; + $496$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $497$hi = i64toi32_i32$3; + i64toi32_i32$3 = $496$hi; + i64toi32_i32$3 = $497$hi; + i64toi32_i32$3 = $496$hi; + i64toi32_i32$3 = $497$hi; + $1162_1 = i64toi32_i32$1; + i64toi32_i32$3 = $496$hi; + i64toi32_i32$2 = $496_1; + i64toi32_i32$1 = $497$hi; + i64toi32_i32$0 = $1162_1; + $309_1 = ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0 ? 0 : -1; + } + $326_1 = 0; + if (!((Math_imul($303_1, $309_1) | 0) > (0 | 0) & 1 | 0)) { + break label$36 + } + } + $326_1 = ((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + label$40 : { + if (!($326_1 & 1 | 0)) { + break label$40 + } + $2103(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $6_1 + 64 | 0 | 0, $6_1 + 48 | 0 | 0, $6_1 | 0, $6_1 + 15 | 0 | 0); + continue label$35; + } + break label$35; + }; + } + HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $1245_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 56 | 0) >> 2] = $1245_1; + HEAP32[(i64toi32_i32$2 + 60 | 0) >> 2] = i64toi32_i32$3; + label$41 : { + label$42 : { + if ((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) & 255 | 0) { + break label$42 + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $501_1 = i64toi32_i32$3; + $501$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $502$hi = i64toi32_i32$3; + i64toi32_i32$3 = $501$hi; + i64toi32_i32$3 = $502$hi; + i64toi32_i32$3 = $501$hi; + i64toi32_i32$3 = $502$hi; + $1261_1 = i64toi32_i32$2; + i64toi32_i32$3 = $501$hi; + i64toi32_i32$0 = $501_1; + i64toi32_i32$2 = $502$hi; + i64toi32_i32$1 = $1261_1; + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$41 + } + } + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$22; + }; + } + label$43 : { + label$44 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$44 + } + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + break label$43; + } + HEAP32[($6_1 + 64 | 0) >> 2] = 0; + } + } + label$45 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$45 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + break label$1; + } + $380_1 = 24; + label$46 : { + label$47 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 0] | 0) << $380_1 | 0) >> $380_1 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$47 + } + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 1 | 0; + label$48 : { + label$49 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$49 + } + $402_1 = $2077(HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, $6_1 + 60 | 0 | 0) | 0; + break label$48; + } + HEAP32[($6_1 + 60 | 0) >> 2] = (HEAPU8[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $402_1 = 1; + } + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + $402_1 | 0; + break label$46; + } + HEAP32[($6_1 + 60 | 0) >> 2] = 0; + } + label$50 : { + label$51 : while (1) { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$50 + } + $2104(0 | 0, $6_1 + 64 | 0 | 0); + $425_1 = 24; + label$52 : { + if (((HEAPU8[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 0] | 0) << $425_1 | 0) >> $425_1 | 0) { + break label$52 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + 1 | 0; + label$53 : { + label$54 : { + if (!(((HEAPU8[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$54 + } + $443_1 = $2077(HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0, $6_1 + 60 | 0 | 0) | 0; + break label$53; + } + HEAP32[($6_1 + 60 | 0) >> 2] = (HEAPU8[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $443_1 = 1; + } + HEAP32[($6_1 + 64 | 0) >> 2] = (HEAP32[($6_1 + 64 | 0) >> 2] | 0) + $443_1 | 0; + continue label$51; + }; + } + $454_1 = 24; + label$55 : { + if (((HEAPU8[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 0] | 0) << $454_1 | 0) >> $454_1 | 0) { + break label$55 + } + HEAP32[($6_1 + 64 | 0) >> 2] = 0; + } + label$56 : { + label$57 : { + if (!((HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$57 + } + $466_1 = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + break label$56; + } + $466_1 = 0; + } + HEAP32[(HEAP32[($6_1 + 76 | 0) >> 2] | 0) >> 2] = $466_1; + HEAP32[($6_1 + 92 | 0) >> 2] = 0; + } + $471_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + global$0 = $6_1 + 96 | 0; + return $471_1 | 0; + } + + function $2346($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, $26_1 = 0, $32_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$2 + } + $18_1 = $2077(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, $4_1 + 4 | 0 | 0) | 0; + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAPU8[(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $18_1 = 1; + } + $26_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$26_1 >> 2] = (HEAP32[$26_1 >> 2] | 0) + $18_1 | 0; + $32_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[$32_1 >> 2] = (HEAP32[$32_1 >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 2 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $2347($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $27_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $27_1 = 24; + label$4 : { + if (!((0 | 0) == ((((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $27_1 | 0) >> $27_1 | 0) & 254 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 12 | 0) >> 2] = -1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + break label$2; + } + $2346($5_1 + 16 | 0 | 0, $5_1 + 12 | 0 | 0); + continue label$3; + }; + } + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2348($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $61_1 = 0, $65_1 = 0, $59_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $2196(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + label$3 : { + if (!(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 8 | 0) >> 2] = ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 72 | 0) + Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 24) | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $2350(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $59_1 = $2222(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $59_1; + } + $61_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = $61_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] = $61_1; + } + $65_1 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 0] = $65_1; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 33 | 0) >> 0] = $65_1; + $2348(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + $2348(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2349($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $38_1 = 0, $42_1 = 0, $82$hi = 0, $83$hi = 0, $84$hi = 0, $77_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $21_1 = 0, $71_1 = 0, $82_1 = 0, $246_1 = 0, $84_1 = 0, $252$hi = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + $21_1 = $2061(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) + $21_1 | 0; + break label$1; + } + $2105(0 | 0, $8_1 + 20 | 0 | 0); + label$3 : while (1) { + $38_1 = 0; + label$4 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < ((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + (HEAP32[($8_1 + 36 | 0) >> 2] | 0) | 0) >>> 0 & 1 | 0)) { + break label$4 + } + $42_1 = 24; + $38_1 = (((HEAPU8[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0 | 0) == (0 | 0); + } + label$5 : { + if (!($38_1 & 1 | 0)) { + break label$5 + } + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + label$6 : { + label$7 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 >= ((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + (HEAP32[($8_1 + 36 | 0) >> 2] | 0) | 0) >>> 0 & 1 | 0)) { + break label$7 + } + HEAP8[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 0] = 1; + break label$6; + } + $71_1 = $2061(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, $8_1 + 8 | 0 | 0) | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) + $71_1 | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0 ? -1 : 1; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $82_1 = i64toi32_i32$1; + $82$hi = i64toi32_i32$0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + $83$hi = i64toi32_i32$1; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$1 = $83$hi; + $246_1 = i64toi32_i32$0; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$0 = $83$hi; + i64toi32_i32$0 = __wasm_i64_mul($82_1 | 0, i64toi32_i32$1 | 0, $246_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $84_1 = i64toi32_i32$0; + $84$hi = i64toi32_i32$1; + $77_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $77_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $252$hi = i64toi32_i32$0; + i64toi32_i32$0 = $84$hi; + i64toi32_i32$0 = $252$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$3 = $84_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $77_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + } + } + HEAP32[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return; + } + + function $2350($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $16_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0; + $3_1 = global$0 - 16 | 0; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = 1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $16_1 = 0; + HEAP32[((HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 80 | 0) >> 2] = $16_1; + HEAP32[((HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 84 | 0) >> 2] = $16_1; + i64toi32_i32$1 = HEAP32[((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 88 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 92 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return 0 | 0; + } + + function $2351($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $42_1 = 0, $43_1 = 0, $41_1 = 0, $62_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2345(HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $5_1 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + $2346($5_1 + 20 | 0 | 0, $5_1 + 16 | 0 | 0); + } + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $41_1 = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $42_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + $43_1 = HEAP32[($42_1 + 8 | 0) >> 2] | 0; + HEAP32[($42_1 + 8 | 0) >> 2] = $43_1 + 1 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $41_1 + Math_imul($43_1, 12) | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) - (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0) - 1 | 0; + HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $62_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $62_1 | 0; + } + + function $2352($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, $6_1 = 0, i64toi32_i32$0 = 0, $164_1 = 0, $9_1 = 0, $45_1 = 0, $73_1 = 0, $88_1 = 0, $110_1 = 0, $48_1 = 0, $91_1 = 0, $100_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 96 | 0; + global$0 = $5_1; + $6_1 = 0; + $9_1 = $5_1 + 48 | 0; + HEAP32[($5_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $6_1; + i64toi32_i32$0 = 0; + $164_1 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[i64toi32_i32$1 >> 2] = $164_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $164_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $164_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $164_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$1 + } + if (!($3229(HEAP32[((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + $2191(HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] = 0; + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $45_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $45_1; + $48_1 = $2353(HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 24 | 0) >> 2] = $48_1; + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $45_1; + label$4 : { + label$5 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + $73_1 = 24; + label$6 : { + if (!($2354(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $73_1 | 0) >> $73_1 | 0 | 0, $5_1 + 16 | 0 | 0) | 0)) { + break label$6 + } + $263(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + break label$2; + } + $88_1 = 24; + $91_1 = $2355($5_1 + 48 | 0 | 0, ((HEAPU8[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $88_1 | 0) >> $88_1 | 0 | 0) | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + $91_1 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $100_1 = $2356(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] = $100_1; + label$7 : { + if ((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + HEAP32[($5_1 + 40 | 0) >> 2] = 7; + } + $110_1 = 1; + HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 88 | 0) >> 2] = $110_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $110_1; + } + label$8 : { + if (HEAP32[($5_1 + 40 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2357(HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 40 | 0) >> 2] = 7; + } + } + label$10 : { + if (HEAP32[($5_1 + 40 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2358(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 48 | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($5_1 + 36 | 0) >> 2] | 0)) { + break label$11 + } + $2359(HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0); + } + } + label$12 : { + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$12 + } + $284(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + label$13 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + FUNCTION_TABLE[HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 32 | 0) >> 2] | 0); + } + break label$2; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0; + $254(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 96 | 0; + return; + } + + function $2353($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + $2338(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 107 | 0, $3_1 + 8 | 0 | 0) | 0; + $10_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $10_1 | 0; + } + + function $2354($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, $18_1 = 0, $28_1 = 0, $42_1 = 0, $56_1 = 0, $70_1 = 0, $80_1 = 0, $90_1 = 0, $100_1 = 0, $111_1 = 0, $109_1 = 0, $116_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP8[($5_1 + 23 | 0) >> 0] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + $8_1 = 24; + label$1 : { + label$2 : { + label$3 : { + if ((((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) == (112 | 0) & 1 | 0) { + break label$3 + } + $18_1 = 24; + if ((((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) == (99 | 0) & 1 | 0) { + break label$3 + } + $28_1 = 24; + label$4 : { + if (!((((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0 | 0) == (110 | 0) & 1 | 0)) { + break label$4 + } + if ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 236 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + } + $42_1 = 24; + label$5 : { + if (!((((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0 | 0) == (97 | 0) & 1 | 0)) { + break label$5 + } + if ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 236 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + } + $56_1 = 24; + label$6 : { + if (!((((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $56_1 | 0) >> $56_1 | 0 | 0) == (108 | 0) & 1 | 0)) { + break label$6 + } + if ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 238 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + } + $70_1 = 24; + if ((((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $70_1 | 0) >> $70_1 | 0 | 0) == (115 | 0) & 1 | 0) { + break label$3 + } + $80_1 = 24; + if ((((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $80_1 | 0) >> $80_1 | 0 | 0) == (120 | 0) & 1 | 0) { + break label$3 + } + $90_1 = 24; + if ((((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $90_1 | 0) >> $90_1 | 0 | 0) == (121 | 0) & 1 | 0) { + break label$3 + } + $100_1 = 24; + if (!((((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $100_1 | 0) >> $100_1 | 0 | 0) == (98 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $109_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $111_1 = 24; + HEAP32[$5_1 >> 2] = ((HEAPU8[($5_1 + 23 | 0) >> 0] | 0) << $111_1 | 0) >> $111_1 | 0; + $2048($109_1 | 0, 50245 | 0, $5_1 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + } + $116_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $116_1 | 0; + } + + function $2355($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 11 | 0) >> 0] = $1_1; + $7_1 = (HEAP8[($4_1 + 11 | 0) >> 0] | 0) + -97 | 0; + label$1 : { + label$2 : { + switch ($7_1 | 0) { + case 2: + case 13: + case 15: + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + break label$1; + case 0: + case 11: + case 18: + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + case 24: + HEAP32[($4_1 + 4 | 0) >> 2] = Math_imul(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); + break label$1; + case 1: + HEAP32[($4_1 + 4 | 0) >> 2] = Math_imul(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 31 | 0 | 0) / (32 | 0) | 0); + break label$1; + default: + break label$2; + }; + } + HEAP32[($4_1 + 4 | 0) >> 2] = Math_imul(Math_imul(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0), 3); + } + return HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $2356($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $61$hi = 0, $62$hi = 0, $30_1 = 0, $63$hi = 0, $64$hi = 0, $65$hi = 0, $66$hi = 0, $31_1 = 0, $67$hi = 0, $68$hi = 0, $71$hi = 0, $72$hi = 0, $73$hi = 0, $74$hi = 0, $78$hi = 0, $79$hi = 0, $5_1 = 0, $71_1 = 0, $123_1 = 0, $18_1 = 0, $54_1 = 0, $55_1 = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + $61$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $62$hi = i64toi32_i32$0; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $30_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $30_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $63$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $64$hi = i64toi32_i32$1; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $64$hi; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$0 = $30_1; + i64toi32_i32$2 = $64$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $65$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $66$hi = i64toi32_i32$5; + i64toi32_i32$5 = $65$hi; + i64toi32_i32$5 = $66$hi; + i64toi32_i32$5 = $65$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $31_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $31_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $67$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $68$hi = i64toi32_i32$0; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$5 = $31_1; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$3 = 20; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = $4_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3303(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$0 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $71_1 = i64toi32_i32$4; + $71$hi = i64toi32_i32$5; + i64toi32_i32$0 = $4_1; + i64toi32_i32$5 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $72$hi = i64toi32_i32$4; + i64toi32_i32$4 = $71$hi; + i64toi32_i32$4 = $72$hi; + $123_1 = i64toi32_i32$5; + i64toi32_i32$4 = $71$hi; + i64toi32_i32$0 = $71_1; + i64toi32_i32$5 = $72$hi; + i64toi32_i32$3 = $123_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $73$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $74$hi = i64toi32_i32$2; + i64toi32_i32$2 = $73$hi; + i64toi32_i32$2 = $74$hi; + i64toi32_i32$2 = $73$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$0 = $74$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(i64toi32_i32$5 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = 1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $3289(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) + 4 | 0) - (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + HEAP32[(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) + (((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + i64toi32_i32$4 | 0; + $54_1 = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $55_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $79$hi = i64toi32_i32$4; + i64toi32_i32$4 = $78$hi; + i64toi32_i32$4 = $79$hi; + i64toi32_i32$4 = $78$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $3288($54_1 | 0, $55_1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] = $18_1; + } + $58_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $58_1 | 0; + } + + function $2357($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, i64toi32_i32$0 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + HEAP32[$4_1 >> 2] = $5_1; + label$1 : { + label$2 : { + if ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = 1; + HEAP32[$4_1 >> 2] = ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) + 4 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 108; + break label$1; + } + label$3 : { + label$4 : { + if ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1; + HEAP32[$4_1 >> 2] = ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) + (((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 108; + break label$3; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 3; + label$6 : { + if (!(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$6 + } + $3288(HEAP32[$4_1 >> 2] | 0 | 0, ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) + 4 | 0 | 0, (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + } + } + } + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + $63_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $63_1 | 0; + } + + function $2358($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $123_1 = 0, $12_1 = 0, $18_1 = 0, $37_1 = 0, $56_1 = 0, $251$hi = 0, $252$hi = 0, $254$hi = 0, $255$hi = 0, $256$hi = 0, $257$hi = 0, i64toi32_i32$4 = 0, $258$hi = 0, $259$hi = 0, $165_1 = 0, $177_1 = 0, $191_1 = 0, $209_1 = 0, $233_1 = 0, $237_1 = 0, $91_1 = 0, $254_1 = 0, $38_1 = 0, $509_1 = 0, $514_1 = 0, $143_1 = 0, $236_1 = 0, $246_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 112 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 84 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 108 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 80 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $7_1; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (HEAP32[($6_1 + 92 | 0) >> 2] | 0) { + break label$2 + } + $18_1 = 24; + $12_1 = (((HEAPU8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (HEAP32[($6_1 + 88 | 0) >> 2] | 0) | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + HEAP8[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (HEAP32[($6_1 + 88 | 0) >> 2] | 0) | 0) >> 0] | 0; + $37_1 = (HEAP8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (HEAP32[($6_1 + 88 | 0) >> 2] | 0) | 0) >> 0] | 0) + -97 | 0; + label$4 : { + label$5 : { + switch ($37_1 | 0) { + case 15: + label$13 : { + if (!(HEAP32[($6_1 + 104 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[(HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + break label$4; + case 2: + label$14 : { + if (!(HEAP32[($6_1 + 104 | 0) >> 2] | 0)) { + break label$14 + } + HEAP32[(HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + break label$4; + case 13: + label$15 : { + if (!(HEAP32[($6_1 + 104 | 0) >> 2] | 0)) { + break label$15 + } + $56_1 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 72 | 0) >> 2] = 0; + HEAP32[($6_1 + 76 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2362(HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, $6_1 + 80 | 0 | 0, $6_1 + 72 | 0 | 0, $56_1 | 0, $56_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + HEAP32[(HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >> 2] = i64toi32_i32$0; + } + break label$4; + case 0: + label$16 : { + if (!(HEAP32[($6_1 + 104 | 0) >> 2] | 0)) { + break label$16 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2362(HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, $6_1 + 80 | 0 | 0, $6_1 + 64 | 0 | 0, $6_1 + 60 | 0 | 0, $6_1 + 56 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (HEAP32[($6_1 + 92 | 0) >> 2] | 0) { + break label$17 + } + HEAP32[($6_1 + 52 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $91_1 = $2061(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, $6_1 + 40 | 0 | 0) | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + $91_1 | 0; + label$20 : { + if (!((HEAP32[($6_1 + 60 | 0) >> 2] | 0) >>> 0 > (HEAP32[($6_1 + 56 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$20 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 267; + break label$18; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $251$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $252$hi = i64toi32_i32$0; + i64toi32_i32$0 = $251$hi; + i64toi32_i32$0 = $252$hi; + i64toi32_i32$0 = $251$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $252$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$1 = 0; + $254_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $254$hi = i64toi32_i32$1; + i64toi32_i32$0 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + $255$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $256$hi = i64toi32_i32$2; + i64toi32_i32$2 = $255$hi; + i64toi32_i32$2 = $256$hi; + i64toi32_i32$2 = $255$hi; + $38_1 = i64toi32_i32$1; + i64toi32_i32$1 = $256$hi; + i64toi32_i32$1 = __wasm_i64_sdiv($38_1 | 0, i64toi32_i32$2 | 0, 2 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $257$hi = i64toi32_i32$2; + i64toi32_i32$2 = $254$hi; + i64toi32_i32$2 = $257$hi; + $509_1 = i64toi32_i32$1; + i64toi32_i32$2 = $254$hi; + i64toi32_i32$0 = $254_1; + i64toi32_i32$1 = $257$hi; + i64toi32_i32$3 = $509_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $258$hi = i64toi32_i32$5; + i64toi32_i32$2 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + $259$hi = i64toi32_i32$0; + i64toi32_i32$0 = $258$hi; + i64toi32_i32$0 = $259$hi; + $514_1 = i64toi32_i32$5; + i64toi32_i32$0 = $258$hi; + i64toi32_i32$5 = $259$hi; + i64toi32_i32$5 = __wasm_i64_sdiv(i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, $514_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + HEAP32[($6_1 + 48 | 0) >> 2] = i64toi32_i32$5; + HEAP32[((HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 52 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + } + } + break label$4; + case 11: + HEAP32[($6_1 + 36 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2363(HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$5 | 0, $6_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (HEAP32[($6_1 + 92 | 0) >> 2] | 0) { + break label$21 + } + $123_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $311(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $123_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ($315(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $123_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 32 | 0) >> 2] = $123_1; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + $143_1 = $2225(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + $143_1 | 0; + label$24 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0) >>> 0 > (HEAP32[($6_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$24 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 267; + break label$22; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = i64toi32_i32$5; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + } + $222(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0; + break label$4; + case 18: + $165_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2336(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, $165_1 | 0, $165_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + if (HEAP32[($6_1 + 92 | 0) >> 2] | 0) { + break label$25 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2364(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + } + break label$4; + case 1: + case 24: + $177_1 = 24; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = ($2355(HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (HEAP32[($6_1 + 88 | 0) >> 2] | 0) | 0) >> 0] | 0) << $177_1 | 0) >> $177_1 | 0 | 0) | 0) << 2 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $3289(HEAP32[((HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2365(HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + break label$4; + default: + break label$5; + }; + } + $191_1 = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2336(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, $191_1 | 0, $191_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (!(HEAP32[($6_1 + 92 | 0) >> 2] | 0)) { + break label$26 + } + break label$4; + } + label$27 : { + if (!(HEAP32[($6_1 + 104 | 0) >> 2] | 0)) { + break label$27 + } + label$28 : { + if (!((HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + $209_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2362(HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, $6_1 + 80 | 0 | 0, (HEAP32[($6_1 + 100 | 0) >> 2] | 0) + 16 | 0 | 0, $209_1 | 0, $209_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (!(HEAP32[($6_1 + 92 | 0) >> 2] | 0)) { + break label$29 + } + break label$4; + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2338(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, 109 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + $2241(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, $6_1 + 92 | 0 | 0) | 0; + label$30 : { + if (!(HEAP32[($6_1 + 92 | 0) >> 2] | 0)) { + break label$30 + } + break label$4; + } + } + $2338(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, 110 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) | 0; + } + $233_1 = 24; + $236_1 = $2355(HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0, ((HEAPU8[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (HEAP32[($6_1 + 88 | 0) >> 2] | 0) | 0) >> 0] | 0) << $233_1 | 0) >> $233_1 | 0 | 0) | 0; + $237_1 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + HEAP32[($237_1 + 28 | 0) >> 2] = (HEAP32[($237_1 + 28 | 0) >> 2] | 0) + ($236_1 << 2 | 0) | 0; + HEAP32[($6_1 + 88 | 0) >> 2] = (HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $222(HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) | 0; + $246_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + global$0 = $6_1 + 112 | 0; + return $246_1 | 0; + } + + function $2359($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + $3288(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) + (((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0 | 0, ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) + 4 | 0 | 0, (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2360($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $7_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = (HEAP32[$7_1 >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + return 0 | 0; + } + + function $2361($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (0 - (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -4 | 0) >> 2] | 0) | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) + 4 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = 0; + break label$1; + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] = 0; + } + label$3 : { + if ((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + if ((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2362($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $21_1 = 0, $80$hi = 0, $82$hi = 0, i64toi32_i32$3 = 0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $43_1 = 0, $224_1 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if ((HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2224(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + break label$1; + } + } + $21_1 = 0; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $315(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $21_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $311(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $21_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) == ($21_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 267; + break label$1; + } + i64toi32_i32$0 = 0; + $80$hi = i64toi32_i32$0; + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + $43_1 = $2225(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, $7_1 + 16 | 0 | 0) | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + $43_1 | 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $82$hi = i64toi32_i32$1; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $80$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $16_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $17_1 = 0 + } else { + $17_1 = 1 + } + $18_1 = $17_1; + } else { + $18_1 = 0 + } + $16_1 = $18_1; + } + label$5 : { + label$6 : { + if ($16_1 & 1 | 0) { + break label$6 + } + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0) >>> 0 > (HEAP32[($7_1 + 28 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + } + HEAP32[($7_1 + 60 | 0) >> 2] = 267; + break label$1; + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $224_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $224_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + label$7 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + } + label$8 : { + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + } + $77_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $77_1 | 0; + } + + function $2363($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $8_1 = $2368(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 32 | 0; + return $8_1 | 0; + } + + function $2364($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $63_1 = 0, $120_1 = 0, i64toi32_i32$0 = 0, $204_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $5_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 4 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 4 | 0 | 0) | 0; + $2338(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 111 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) - (HEAP32[((HEAP32[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 40 | 0) >> 2] = 0; + label$5 : { + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $63_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $63_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $63_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $63_1; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) << 4 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2345(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(HEAP32[($4_1 + 32 | 0) >> 2] | 0)) { + break label$10 + } + break label$5; + } + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $2370(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0; + label$12 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 32 | 0) >> 2] = 267; + break label$5; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$13 + } + $120_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $120_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $120_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $120_1; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) << 4 | 0) | 0; + label$17 : { + label$18 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + break label$17; + } + label$19 : { + label$20 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$20 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + label$21 : { + label$22 : { + label$23 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$23 + } + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[(((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + -16 | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + break label$21; + } + HEAP32[($4_1 + 8 | 0) >> 2] = 1; + } + label$24 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + label$25 : { + if (!($2370(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$25 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + -1 | 0; + } + continue label$14; + }; + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + $42(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + } + $204_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $204_1 | 0; + } + + function $2365($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $39$hi = 0, $40$hi = 0, $39_1 = 0, $75_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $39_1 = i64toi32_i32$0; + $39$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $40$hi = i64toi32_i32$0; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$0 = $40$hi; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$0 = $40$hi; + $75_1 = i64toi32_i32$1; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$2 = $39_1; + i64toi32_i32$1 = $40$hi; + if (!(((i64toi32_i32$2 | 0) == ($75_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2365(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2365(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + break label$2; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2371(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + $36_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $36_1 | 0; + } + + function $2366($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $21_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $21_1 = $2372(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 28 | 0) >> 2] | 0) + (Math_imul(Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 3), HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $21_1 | 0; + } + + function $2367($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $23_1 = 0, $46_1 = 0, $71_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = Math_imul(Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0), 3); + HEAP32[($5_1 + 4 | 0) >> 2] = $6_1; + label$1 : while (1) { + $23_1 = 0; + label$2 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $23_1 = (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($23_1 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2345(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $46_1 = $2373($5_1 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 4 | 0) >> 2] | 0, 3) | 0) << 2 | 0) | 0) >> 2] = $46_1; + break label$4; + } + HEAP32[((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 4 | 0) >> 2] | 0, 3) | 0) << 2 | 0) | 0) >> 2] = 0; + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $71_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $71_1 | 0; + } + + function $2368($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $10_1 = 0, i64toi32_i32$1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $10_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2075(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 21 | 0, $5_1 + 8 | 0 | 0, $10_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $287(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + label$4 : { + if ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (100 | 0) & 1 | 0) { + break label$4 + } + if (!(($321(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$3 + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($5_1 + 4 | 0) >> 2] = 267; + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + break label$2; + } + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + } + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $42_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $42_1 | 0; + } + + function $2369($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5_1 >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + return 0 | 0; + } + + function $2370($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $31$hi = 0, $35$hi = 0, $33$hi = 0, $37$hi = 0, $39$hi = 0, $40$hi = 0, i64toi32_i32$5 = 0, $23_1 = 0, $11_1 = 0, $28_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + $31$hi = i64toi32_i32$0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + $11_1 = $2061(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $3_1 + 16 | 0 | 0) | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + $11_1 | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $33$hi = i64toi32_i32$1; + i64toi32_i32$1 = $31$hi; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $31$hi; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + label$3 : { + if (((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$3 + } + i64toi32_i32$2 = 0; + $35$hi = i64toi32_i32$2; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $37$hi = i64toi32_i32$1; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $35$hi; + i64toi32_i32$0 = 1; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$3 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $39$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $40$hi = i64toi32_i32$1; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $40$hi; + i64toi32_i32$2 = 2; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $23_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[($23_1 + 12 | 0) >> 2] = (HEAP32[($23_1 + 12 | 0) >> 2] | 0) + (i64toi32_i32$0 - i64toi32_i32$2 | 0) | 0; + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + $28_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $28_1 | 0; + } + + function $2371($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $69_1 = 0, $103_1 = 0, $109_1 = 0, $131_1 = 0, $150_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + $16_1 = 24; + label$1 : { + label$2 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) << $16_1 | 0) >> $16_1 | 0 | 0) == (121 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = Math_imul(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0, HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0); + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = Math_imul(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0, ((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 31 | 0 | 0) / (32 | 0) | 0); + } + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : while (1) { + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2373($4_1 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if ((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$7 + } + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + } + $69_1 = 24; + label$8 : { + label$9 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) << $69_1 | 0) >> $69_1 | 0 | 0) == (121 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + break label$8; + } + label$10 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$10 + } + $103_1 = (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0 | 0) / (32 | 0) | 0) | 0) << 2 | 0) | 0; + HEAP32[$103_1 >> 2] = HEAP32[$103_1 >> 2] | 0 | (1 << ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 31 | 0) | 0) | 0; + } + } + } + $109_1 = 24; + label$11 : { + label$12 : { + if (!((((HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $109_1 | 0) >> $109_1 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$12 + } + break label$11; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + label$13 : { + label$14 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$14 + } + $131_1 = $2077(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0) | 0; + break label$13; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $131_1 = 1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + $131_1 | 0; + label$15 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 267; + break label$3; + } + continue label$5; + } + break label$5; + }; + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $150_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $150_1 | 0; + } + + function $2372($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $112_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 34 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + if (!((HEAP32[(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 3) + 1 | 0) << 2 | 0) | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 3) + 2 | 0) << 2 | 0) | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2374(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 3) + 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 3) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 3) + 2 | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5_1 + 8 | 0) >> 2] | 0, 3) + 2 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + } + $112_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $112_1 | 0; + } + + function $2373($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, $14_1 = 0, $21_1 = 0, $25_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[($3_1 + 7 | 0) >> 0] = 0; + HEAP32[$3_1 >> 2] = 0; + label$1 : { + label$2 : while (1) { + $10_1 = 24; + $14_1 = 24; + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | (((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) << $14_1 | 0) >> $14_1 | 0) | 0) & 254 | 0)) { + break label$1 + } + $21_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $21_1 + 1 | 0; + $25_1 = 24; + HEAP8[($3_1 + 7 | 0) >> 0] = (((HEAPU8[$21_1 >> 0] | 0) << $25_1 | 0) >> $25_1 | 0) & 128 | 0; + label$3 : { + if (((HEAPU8[($3_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[$3_1 >> 2] = (HEAP32[$3_1 >> 2] | 0) + 1 | 0; + } + continue label$2; + }; + } + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + return HEAP32[$3_1 >> 2] | 0 | 0; + } + + function $2374($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $136_1 = 0, $223$hi = 0, $224$hi = 0, $5_1 = 0, $26_1 = 0, $59_1 = 0, $102_1 = 0, $166_1 = 0, $205_1 = 0, $263_1 = 0, $312_1 = 0, $71_1 = 0, $500_1 = 0, $573_1 = 0, $223_1 = 0, $647_1 = 0, $215_1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $263_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $263_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + label$3 : while (1) { + $26_1 = 0; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $26_1 = (HEAP32[(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0); + } + label$5 : { + if (!($26_1 & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $312_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $312_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + label$9 : { + if (!((HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$9 + } + $59_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + break label$8; + } + $59_1 = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 8 | 0) >> 2] = $59_1; + i64toi32_i32$0 = 0; + $71_1 = $41(Math_imul(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0, 3) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = $71_1; + label$10 : { + if ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, 0 | 0, Math_imul(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0, 3) << 2 | 0 | 0) | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$7; + }; + } + $2348(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0); + label$11 : while (1) { + $102_1 = 0; + label$12 : { + if ((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + $102_1 = (HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$13 : { + if (!($102_1 & 1 | 0)) { + break label$13 + } + label$14 : while (1) { + label$15 : { + if ((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0) { + break label$15 + } + $222(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + } + $2240(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0); + HEAP8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 6 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0; + HEAP8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 7 | 0) >> 0] = 1; + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 88 | 0) >> 2] = 1; + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $500_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $500_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + $136_1 = 0; + label$16 : { + if ((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0) { + break label$16 + } + $136_1 = 0; + if (!((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$16 + } + $136_1 = ($2241(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0) | 0 | 0) != (0 | 0); + } + if ($136_1 & 1 | 0) { + continue label$14 + } + break label$14; + }; + label$17 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$17 + } + if ((HEAPU8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0) { + break label$17 + } + $2375(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + continue label$11; + } + break label$11; + }; + $166_1 = 0; + HEAP8[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 6 | 0) >> 0] = $166_1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $573_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $573_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + label$18 : { + label$19 : { + if (!(((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) != ($166_1 & 255 | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 0] = HEAPU8[($4_1 + 15 | 0) >> 0] | 0; + break label$18; + } + $2348(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0); + label$20 : while (1) { + $2240(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0); + label$21 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($4_1 + 48 | 0) >> 2] = 267; + } + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $223_1 = i64toi32_i32$0; + $223$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $224$hi = i64toi32_i32$0; + i64toi32_i32$0 = $223$hi; + i64toi32_i32$0 = $224$hi; + i64toi32_i32$0 = $223$hi; + i64toi32_i32$0 = $224$hi; + $647_1 = i64toi32_i32$1; + i64toi32_i32$0 = $223$hi; + i64toi32_i32$2 = $223_1; + i64toi32_i32$1 = $224$hi; + $205_1 = 0; + label$22 : { + if (!(((i64toi32_i32$2 | 0) != ($647_1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$22 + } + $205_1 = (HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0); + } + if ($205_1 & 1 | 0) { + continue label$20 + } + break label$20; + }; + } + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + } + $215_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $215_1 | 0; + } + + function $2375($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $36_1 = 0, $53_1 = 0, $57_1 = 0, $73_1 = 0, $91_1 = 0, $96_1 = 0, $113_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$3 : while (1) { + HEAP8[($4_1 + 11 | 0) >> 0] = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + $36_1 = 24; + if (!((((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $36_1 | 0) >> $36_1 | 0 | ((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0) | 0) & 254 | 0)) { + break label$4 + } + label$6 : { + if (((HEAPU8[($4_1 + 11 | 0) >> 0] | 0) & 255 | 0) & 128 | 0) { + break label$6 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + } + $53_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $53_1 + 1 | 0; + $57_1 = 24; + HEAP8[($4_1 + 11 | 0) >> 0] = (((HEAPU8[$53_1 >> 0] | 0) << $57_1 | 0) >> $57_1 | 0) & 128 | 0; + continue label$5; + }; + } + $73_1 = (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 3) + 1 | 0) << 2 | 0) | 0; + HEAP32[$73_1 >> 2] = (HEAP32[$73_1 >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0; + $91_1 = (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 3) + 2 | 0) << 2 | 0) | 0; + HEAP32[$91_1 >> 2] = (HEAP32[$91_1 >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) | 0; + $96_1 = 24; + label$7 : { + label$8 : { + if (((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $96_1 | 0) >> $96_1 | 0) { + break label$8 + } + break label$7; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + label$9 : { + label$10 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$10 + } + $113_1 = $2077(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0) | 0; + break label$9; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + $113_1 = 1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + $113_1 | 0; + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$3 + } + } + break label$3; + }; + } + $2375(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + $2375(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $2376($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, $10_1 = 0, $68_1 = 0, i64toi32_i32$0 = 0, $115_1 = 0, $58_1 = 0, $112_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + $10_1 = 0; + HEAP32[($8_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $10_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $10_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $10_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $414(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, 50673 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($8_1 + 20 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 48 | 0) >> 2] | 0) - 3 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2377(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 12 | 0 | 0, $8_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($8_1 + 20 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($8_1 + 8 | 0) >> 2] = 41978; + break label$4; + } + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2378(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, $8_1 + 28 | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (HEAP32[($8_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($8_1 + 4 | 0) >> 2] = 0; + label$7 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($8_1 + 4 | 0) >> 2] = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 4 | 0; + } + $58_1 = HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$9 + } + $68_1 = (HEAP32[($8_1 + 12 | 0) >> 2] | 0) - 1 | 0; + break label$8; + } + $68_1 = 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[$58_1 | 0]($68_1, HEAP32[($8_1 + 4 | 0) >> 2] | 0, $8_1 + 24 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + if (HEAP32[($8_1 + 20 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $38(20 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($8_1 + 20 | 0) >> 2] = 7; + } + } + label$12 : { + label$13 : { + if (HEAP32[($8_1 + 20 | 0) >> 2] | 0) { + break label$13 + } + i64toi32_i32$0 = 0; + $115_1 = 0; + i64toi32_i32$1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $115_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $115_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + break label$12; + } + label$14 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 24 | 0) >> 2] | 0) | 0; + } + } + $42(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + } + $112_1 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $112_1 | 0; + } + + function $2377($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $39_1 = 0, $26_1 = 0, i64toi32_i32$0 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 44 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = 0; + break label$1; + } + $10_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $10_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $10_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $26_1 = ($3303(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + $26_1 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + i64toi32_i32$0 = 0; + $39_1 = $41(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($5_1 + 24 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $39_1; + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = $39_1; + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 32 | 0) >> 2] = 7; + break label$5; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $3288(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + $2047(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + } + } + $93_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $93_1 | 0; + } + + function $2378($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $22_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3303(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2132(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + $22_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $2048($22_1 | 0, 48343 | 0, $6_1 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $29_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $29_1 | 0; + } + + function $2379($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $47_1 = 0, $65_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAPU8[(((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[$4_1 >> 2] | 0, 12) | 0) + 5 | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + if (HEAP32[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[$4_1 >> 2] | 0, 12) | 0) >> 2] | 0) { + break label$4 + } + if (!(((HEAPU8[(((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[$4_1 >> 2] | 0, 12) | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + $47_1 = 1; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = $47_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 3 | 0) | 0) >> 2] = $47_1; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 1; + HEAPF64[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 40 | 0) >> 3] = 1.0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $65_1 = 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = $65_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $65_1; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2380($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2381($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, $31_1 = 0, $16_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $38(36 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $16_1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = 0; + $31_1 = 0; + i64toi32_i32$1 = $16_1; + HEAP32[i64toi32_i32$1 >> 2] = $31_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $31_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $31_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $31_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $28_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $28_1 | 0; + } + + function $2382($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $2383(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2383($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $21_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + $21_1 = 0; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $21_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $21_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = $21_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = $21_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = $21_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = $21_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $21_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2384($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $30_1 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + $8_1 = 1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + $2383(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + label$1 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = (HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $30_1 = $41(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = $30_1; + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 7; + break label$2; + } + label$4 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + $3288(HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0; + } + HEAP8[((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($7_1 + 4 | 0) >> 2] | 0) | 0) >> 0] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[(HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + } + } + label$6 : { + label$7 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + break label$6; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2385(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + $77_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $77_1 | 0; + } + + function $2385($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $7_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!(HEAP32[$3_1 >> 2] | 0)) { + break label$1 + } + $2383(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + label$2 : { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$3_1 >> 2] = 0; + } + } + $42_1 = HEAP32[$3_1 >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $42_1 | 0; + } + + function $2386($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + return (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0 | 0; + } + + function $2387($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $9_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $7_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($7_1 | 0) { + case 0: + $9_1 = -1; + $277(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $9_1 | 0, $9_1 | 0); + break label$1; + case 1: + $277(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, -1 | 0); + break label$1; + case 2: + $267(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + break label$1; + case 3: + $267(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + break label$1; + default: + break label$2; + }; + } + $267(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$5_1 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return 0 | 0; + } + + function $2388($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $34_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $34_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return 0 | 0; + } + + function $2389($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); + } + $42(HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0); + } + $42(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + continue label$5; + }; + } + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 32 | 0; + return; + } + + function $2390($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $20_1 = 0, i64toi32_i32$1 = 0, $7_1 = 0, $21_1 = 0, $84_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2465(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$2 + } + $20_1 = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$0 = HEAP32[$20_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($20_1 + 4 | 0) >> 2] | 0; + $84_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $84_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $21_1 = 8; + HEAP32[(i64toi32_i32$0 + $21_1 | 0) >> 2] = HEAP32[($20_1 + $21_1 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + } + $33_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $33_1 | 0; + } + + function $2391($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, $8_1 = 0, $65$hi = 0, $66$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $40_1 = 0, $179_1 = 0, $61_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = $8_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($3303(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $65$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $66$hi = i64toi32_i32$1; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$1 = $66$hi; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$3 = 28; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $41(i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != ($8_1 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $3289(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $3288(HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $179_1 = i64toi32_i32$2; + i64toi32_i32$2 = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $179_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + $40_1 = 8; + HEAP32[(i64toi32_i32$2 + $40_1 | 0) >> 2] = HEAP32[(i64toi32_i32$1 + $40_1 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + } + break label$1; + } + HEAP32[($7_1 + 12 | 0) >> 2] = 7; + } + $61_1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $61_1 | 0; + } + + function $2392($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, $57$hi = 0, $58$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $15_1 = 0, $53_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $470(HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + $15_1 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($3303(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $57$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $58$hi = i64toi32_i32$1; + i64toi32_i32$1 = $57$hi; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$1 = $57$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$3 = 24; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $7_1; + HEAP32[$7_1 >> 2] = i64toi32_i32$4; + HEAP32[($7_1 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $7_1; + i64toi32_i32$5 = HEAP32[$7_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $41(i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) != ($15_1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = $7_1; + i64toi32_i32$2 = HEAP32[$7_1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + $3289(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $3288(HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + break label$2; + } + HEAP32[($7_1 + 20 | 0) >> 2] = 7; + } + } + $53_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $53_1 | 0; + } + + function $2393($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $24_1 = 0, $16_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $7_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $464(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 54464 | 0, 2 | 0, 1 | 0, $7_1 | 0, 112 | 0, $7_1 | 0, $7_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + $16_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $464(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 54476 | 0, 2 | 0, 1 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 112 | 0, $16_1 | 0, $16_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + $24_1 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $464(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 54493 | 0, -1 | 0, 1 | 0, $24_1 | 0, 113 | 0, $24_1 | 0, $24_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $28_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $28_1 | 0; + } + + function $2394($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $8_1 = 0, $5_1 = 0, $19_1 = 0, $30_1 = 0, $74_1 = 0, $81_1 = 0, $88_1 = 0, $92_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $5_1 = 0; + $8_1 = $4_1 + 16 | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 54888 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 54892 | 0) >> 2] | 0; + $74_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1 + 24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $74_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 54880 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 54884 | 0) >> 2] | 0; + $81_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $81_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 54872 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 54876 | 0) >> 2] | 0; + $88_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $88_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 54864 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 54868 | 0) >> 2] | 0; + $92_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $92_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $5_1; + label$1 : while (1) { + $19_1 = 0; + label$2 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + $19_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (4 | 0); + } + label$3 : { + if (!($19_1 & 1 | 0)) { + break label$3 + } + $30_1 = 0; + HEAP32[$4_1 >> 2] = ($4_1 + 16 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $464(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 | 0, -1 | 0, 1 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $30_1 | 0, $30_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $48_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $48_1 | 0; + } + + function $2395($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$2 = 0, $7_1 = 0, $32_1 = 0, $4_1 = 0, $21_1 = 0, $86_1 = 0, $93_1 = 0, $100_1 = 0, $107_1 = 0, $114_1 = 0, $118_1 = 0, $60_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 80 | 0; + global$0 = $3_1; + $4_1 = 0; + $7_1 = $3_1 + 16 | 0; + HEAP32[($3_1 + 76 | 0) >> 2] = $0_1; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56408 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56412 | 0) >> 2] | 0; + $86_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + 40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $86_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56400 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56404 | 0) >> 2] | 0; + $93_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $93_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56392 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56396 | 0) >> 2] | 0; + $100_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + 24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $100_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56384 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56388 | 0) >> 2] | 0; + $107_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $107_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56376 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56380 | 0) >> 2] | 0; + $114_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $114_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56368 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56372 | 0) >> 2] | 0; + $118_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $118_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : while (1) { + $21_1 = 0; + label$2 : { + if (HEAP32[($3_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + $21_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (3 | 0); + } + label$3 : { + if (!($21_1 & 1 | 0)) { + break label$3 + } + $32_1 = $3_1 + 16 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 76 | 0) >> 2] | 0, HEAP32[($32_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0, HEAP32[(($32_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0, HEAP32[(($32_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] | 0, HEAP32[(($32_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $60_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 80 | 0; + return $60_1 | 0; + } + + function $2396($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$2 = 0, $7_1 = 0, $4_1 = 0, $25_1 = 0, $37_1 = 0, $85_1 = 0, $92_1 = 0, $99_1 = 0, $106_1 = 0, $113_1 = 0, $120_1 = 0, $127_1 = 0, $131_1 = 0, $57_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 96 | 0; + global$0 = $3_1; + $4_1 = 0; + $7_1 = $3_1 + 16 | 0; + HEAP32[($3_1 + 92 | 0) >> 2] = $0_1; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56552 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56556 | 0) >> 2] | 0; + $85_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + 56 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $85_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56544 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56548 | 0) >> 2] | 0; + $92_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $92_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56536 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56540 | 0) >> 2] | 0; + $99_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + 40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $99_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56528 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56532 | 0) >> 2] | 0; + $106_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $106_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56520 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56524 | 0) >> 2] | 0; + $113_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + 24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $113_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56512 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56516 | 0) >> 2] | 0; + $120_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $120_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56504 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56508 | 0) >> 2] | 0; + $127_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $127_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 56496 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 56500 | 0) >> 2] | 0; + $131_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $131_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : while (1) { + $25_1 = 0; + label$2 : { + if (HEAP32[($3_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + $25_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (4 | 0); + } + label$3 : { + if (!($25_1 & 1 | 0)) { + break label$3 + } + $37_1 = $3_1 + 16 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0](HEAP32[($3_1 + 92 | 0) >> 2] | 0, HEAP32[($37_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0, HEAP32[($3_1 + 92 | 0) >> 2] | 0, ($37_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0, 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $57_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 96 | 0; + return $57_1 | 0; + } + + function $2397($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $11_1 = $413(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 56940 | 0, 56844 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $11_1 | 0; + } + + function $2398($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $302(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $244(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, 57272 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2399($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $7_1 = -1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $277(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 57285 | 0, $7_1 | 0, $7_1 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $2400($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $16_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + $16_1 = $2401(1 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $16_1 | 0; + } + + function $2401($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, $13_1 = 0, i64toi32_i32$0 = 0, $69_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 48 | 0; + global$0 = $9_1; + i64toi32_i32$0 = 0; + $13_1 = 0; + HEAP32[($9_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 16 | 0) >> 2] = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + HEAP32[($9_1 + 12 | 0) >> 2] = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + HEAP32[($9_1 + 8 | 0) >> 2] = $13_1; + HEAP32[($9_1 + 4 | 0) >> 2] = $13_1; + HEAP32[$9_1 >> 2] = $13_1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2468($9_1 + 8 | 0 | 0, 32 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($9_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2469(HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0, $9_1 + 4 | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($9_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[((HEAP32[$9_1 >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($9_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[$9_1 >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($9_1 + 16 | 0) >> 2] | 0; + } + label$3 : { + if (HEAP32[($9_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2470(HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[$9_1 >> 2] | 0) + 16 | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($9_1 + 8 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2471(HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$9_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[$9_1 >> 2] | 0) + 20 | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($9_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2472(HEAP32[($9_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (HEAP32[($9_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[((HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 104 | 0) >> 2] = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2473(HEAP32[((HEAP32[$9_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $2474(HEAP32[((HEAP32[$9_1 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 4 | 0) >> 2] | 0) + 104 | 0) >> 2] = 0; + } + label$7 : { + label$8 : { + if (!(HEAP32[($9_1 + 8 | 0) >> 2] | 0)) { + break label$8 + } + $2407(HEAP32[$9_1 >> 2] | 0 | 0); + HEAP32[$9_1 >> 2] = 0; + break label$7; + } + label$9 : { + if (!(HEAP32[($9_1 + 44 | 0) >> 2] | 0)) { + break label$9 + } + } + } + HEAP32[(HEAP32[($9_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[$9_1 >> 2] | 0; + $69_1 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + global$0 = $9_1 + 48 | 0; + return $69_1 | 0; + } + + function $2402($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $16_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + $16_1 = $2401(0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $16_1 | 0; + } + + function $2403($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $111_1 = 0, $125_1 = 0, $144_1 = 0, $198_1 = 0, $218_1 = 0, $246_1 = 0, $252_1 = 0, $312_1 = 0, $318_1 = 0, $343_1 = 0, $349_1 = 0, $15_1 = 0, $110_1 = 0, $124_1 = 0, $131_1 = 0, $138_1 = 0, $196_1 = 0, $197_1 = 0, $204_1 = 0, $213_1 = 0, $245_1 = 0, $311_1 = 0, $342_1 = 0, $435_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 84 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 64 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0)) { + break label$2 + } + $15_1 = $79(52595 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] = $15_1; + HEAP32[($4_1 + 108 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $38(((HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0) << 3 | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] = 1; + HEAP32[($4_1 + 80 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 80 | 0) >> 2] | 0, 12) | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + label$6 : { + label$7 : { + label$8 : { + label$9 : { + if (((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (64 | 0) & 1 | 0) { + break label$9 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + } + label$10 : { + label$11 : { + if (!((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$10 + } + } + HEAPF64[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 40 | 0) >> 3] = 1.e+50; + HEAP8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + (HEAP32[($4_1 + 72 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP32[($4_1 + 108 | 0) >> 2] = 0; + break label$1; + } + label$12 : { + label$13 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!(HEAP32[($4_1 + 48 | 0) >> 2] | 0)) { + break label$14 + } + break label$6; + } + $110_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + $111_1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = $111_1 + 1 | 0; + HEAP8[($110_1 + $111_1 | 0) >> 0] = 114; + HEAP32[($4_1 + 48 | 0) >> 2] = 1; + break label$12; + } + label$15 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($4_1 + 52 | 0) >> 2] = 1; + $124_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + $125_1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = $125_1 + 1 | 0; + HEAP8[($124_1 + $125_1 | 0) >> 0] = 77; + $131_1 = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + (HEAP32[($4_1 + 72 | 0) >> 2] | 0) | 0; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + $81(6 | 0, $131_1 | 0, 5267 | 0, $4_1 | 0) | 0; + $138_1 = $3303((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + (HEAP32[($4_1 + 72 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + $138_1 | 0; + } + } + $144_1 = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $144_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $144_1; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 1; + break label$7; + } + label$16 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + label$18 : { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$18 + } + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + if (!($2404(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$18 + } + $196_1 = ((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (65 | 0) & 1 | 0 ? 76 : 71; + $197_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + $198_1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = $198_1 + 1 | 0; + HEAP8[($197_1 + $198_1 | 0) >> 0] = $196_1; + $204_1 = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + (HEAP32[($4_1 + 72 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + $81(6 | 0, $204_1 | 0, 5267 | 0, $4_1 + 16 | 0 | 0) | 0; + $213_1 = $3303((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + (HEAP32[($4_1 + 72 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + $213_1 | 0; + $218_1 = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $218_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $218_1; + break label$17; + } + label$19 : { + if (HEAP32[($4_1 + 64 | 0) >> 2] | 0) { + break label$19 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$19 + } + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$19 + } + $245_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + $246_1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = $246_1 + 1 | 0; + HEAP8[($245_1 + $246_1 | 0) >> 0] = 61; + HEAP32[($4_1 + 64 | 0) >> 2] = 1; + $252_1 = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $252_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $252_1; + } + } + } + } + } + HEAP32[($4_1 + 80 | 0) >> 2] = (HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$20 : { + if (HEAP32[($4_1 + 64 | 0) >> 2] | 0) { + break label$20 + } + HEAP32[($4_1 + 80 | 0) >> 2] = 0; + label$21 : { + label$22 : while (1) { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 80 | 0) >> 2] | 0, 12) | 0; + label$23 : { + label$24 : { + if (!((HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$24 + } + if (!((HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0)) { + break label$24 + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0; + label$25 : { + label$26 : { + label$27 : { + if ((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == (16 | 0) & 1 | 0) { + break label$27 + } + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$26 + } + } + label$28 : { + if (!(HEAP32[($4_1 + 56 | 0) >> 2] | 0)) { + break label$28 + } + break label$23; + } + $311_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + $312_1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = $312_1 + 1 | 0; + HEAP8[($311_1 + $312_1 | 0) >> 0] = 60; + $318_1 = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $318_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $318_1; + HEAP32[($4_1 + 56 | 0) >> 2] = 1; + break label$25; + } + label$29 : { + label$30 : { + if ((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0) { + break label$30 + } + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$29 + } + } + label$31 : { + if (!(HEAP32[($4_1 + 60 | 0) >> 2] | 0)) { + break label$31 + } + break label$23; + } + $342_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + $343_1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = $343_1 + 1 | 0; + HEAP8[($342_1 + $343_1 | 0) >> 0] = 62; + $349_1 = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $349_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 80 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $349_1; + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + } + } + } + } + HEAP32[($4_1 + 80 | 0) >> 2] = (HEAP32[($4_1 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$22; + }; + } + } + HEAP8[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + (HEAP32[($4_1 + 72 | 0) >> 2] | 0) | 0) >> 0] = 0; + label$32 : { + if (!((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + label$33 : { + label$34 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$34 + } + if (!(HEAP32[($4_1 + 52 | 0) >> 2] | 0)) { + break label$34 + } + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 32 | 0; + break label$33; + } + label$35 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$35 + } + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 64 | 0; + } + } + label$36 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0) & 96 | 0)) { + break label$36 + } + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + label$37 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 128 | 0; + } + } + } + label$38 : { + label$39 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$39 + } + HEAPF64[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 40 | 0) >> 3] = HEAP32[($4_1 + 52 | 0) >> 2] | 0 ? 100.0 : 10.0; + label$40 : { + if (HEAP32[($4_1 + 52 | 0) >> 2] | 0) { + break label$40 + } + $2405(HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0); + } + break label$38; + } + label$41 : { + label$42 : { + if (!(HEAP32[($4_1 + 56 | 0) >> 2] | 0)) { + break label$42 + } + if (!(HEAP32[($4_1 + 60 | 0) >> 2] | 0)) { + break label$42 + } + HEAPF64[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 40 | 0) >> 3] = HEAP32[($4_1 + 52 | 0) >> 2] | 0 ? 500.0 : 25.0e4; + break label$41; + } + label$43 : { + label$44 : { + label$45 : { + if (HEAP32[($4_1 + 56 | 0) >> 2] | 0) { + break label$45 + } + if (!(HEAP32[($4_1 + 60 | 0) >> 2] | 0)) { + break label$44 + } + } + HEAPF64[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 40 | 0) >> 3] = HEAP32[($4_1 + 52 | 0) >> 2] | 0 ? 750.0 : 75.0e4; + break label$43; + } + HEAPF64[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 40 | 0) >> 3] = HEAP32[($4_1 + 52 | 0) >> 2] | 0 ? 1.0e3 : 1.0e6; + } + } + } + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 84 | 0) >> 2] | 0; + HEAP32[($4_1 + 108 | 0) >> 2] = 0; + } + $435_1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $435_1 | 0; + } + + function $2404($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) == (66 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (66 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) == (65 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (65 | 0) & 1 | 0) { + break label$4 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (66 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2405($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 1 | 0; + return; + } + + function $2406($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2407(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2407($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $2486(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + $2488(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + $2483(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2408($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2409(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + $2407(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + $10_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $10_1 | 0; + } + + function $2409($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $5_1 = 0, $7_1 = 0, $9_1 = 0, $11_1 = 0, $13_1 = 0, $15_1 = 0, $31_1 = 0, $33_1 = 0, $45_1 = 0, $47_1 = 0, $53_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 64 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 60 | 0) >> 2] = $0_1; + $5_1 = HEAP32[(HEAP32[($3_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + $7_1 = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $9_1 = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $11_1 = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $13_1 = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $15_1 = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 48 | 0) >> 2] = $15_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $13_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $11_1; + HEAP32[($3_1 + 36 | 0) >> 2] = $9_1; + HEAP32[($3_1 + 32 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2512($5_1 | 0, 0 | 0, 52634 | 0, $3_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$1 + } + if (!(HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$1 + } + $31_1 = HEAP32[(HEAP32[($3_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + $33_1 = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $33_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2512($31_1 | 0, 0 | 0, 52738 | 0, $3_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$2 + } + if (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) { + break label$2 + } + $45_1 = HEAP32[(HEAP32[($3_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + $47_1 = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = $47_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2512($45_1 | 0, 0 | 0, 52776 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + $53_1 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + global$0 = $3_1 + 64 | 0; + return $53_1 | 0; + } + + function $2410($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $41_1 = 0, $52$hi = 0, $53$hi = 0, i64toi32_i32$3 = 0, $46_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2411(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) + 120 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $3289(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 120 | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $41_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $41_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $52$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $53$hi = i64toi32_i32$1; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $41_1; + HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + break label$2; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 7; + } + } + HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $46_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $46_1 | 0; + } + + function $2411($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$3; + }; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2539(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $28_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $28_1 | 0; + } + + function $2412($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $2413(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[$3_1 >> 2] = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 44 | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$3_1 >> 2] = (HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] | 0) + 4 | 0; + continue label$3; + }; + } + HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $42(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2413($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $42(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0); + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2423(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $2541(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + } + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $213(HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$3 + } + $2426(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0); + } + $42(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + continue label$5; + }; + } + $213(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) | 0; + $42(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0); + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) & 16 | 0)) { + break label$7 + } + $42(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0); + } + $2492(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $3289((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0 | 0, 0 | 0, 120 - (((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) - (HEAP32[($3_1 + 28 | 0) >> 2] | 0) | 0) | 0 | 0) | 0; + global$0 = $3_1 + 32 | 0; + return; + } + + function $2414($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $8_1 = 0, $274_1 = 0, $50_1 = 0, $56_1 = 0, $87_1 = 0, $102_1 = 0, $110_1 = 0, $116_1 = 0, $128_1 = 0, $170_1 = 0, $192_1 = 0, $207_1 = 0, $215_1 = 0, $221_1 = 0, $275_1 = 0, $283_1 = 0, $291_1 = 0, $20_1 = 0, $49_1 = 0, $427$hi = 0, $1092_1 = 0, $1101_1 = 0, $431$hi = 0, $1110_1 = 0, $1119_1 = 0, $1151_1 = 0, $1161_1 = 0, $1171_1 = 0, $1181_1 = 0, $371_1 = 0, $424_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 112 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 88 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 104 | 0) >> 2] | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0)) { + break label$2 + } + $20_1 = $79(52595 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 8 | 0) >> 2] = $20_1; + HEAP32[($7_1 + 108 | 0) >> 2] = 1; + break label$1; + } + label$3 : { + if (!(HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$3 + } + $2413(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0); + $3289((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 24 | 0 | 0, 0 | 0, 120 - (((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 24 | 0) - (HEAP32[($7_1 + 76 | 0) >> 2] | 0) | 0) | 0 | 0) | 0; + } + HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 104 | 0) >> 2] = (HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + label$4 : { + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $49_1 = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + $50_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $50_1 + 1 | 0; + $56_1 = (HEAP8[($49_1 + $50_1 | 0) >> 0] | 0) + -60 | 0; + label$7 : { + label$8 : { + switch ($56_1 | 0) { + case 54: + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$7; + case 17: + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($7_1 + 24 | 0) >> 2] = 1352; + } + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + label$15 : while (1) { + $87_1 = 24; + HEAP32[($7_1 + 44 | 0) >> 2] = Math_imul(HEAP32[($7_1 + 44 | 0) >> 2] | 0, 10) + ((((HEAPU8[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) << $87_1 | 0) >> $87_1 | 0) - 48 | 0) | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + $102_1 = 24; + $110_1 = 0; + label$16 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) << $102_1 | 0) >> $102_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$16 + } + $116_1 = 24; + $110_1 = (((HEAPU8[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) << $116_1 | 0) >> $116_1 | 0 | 0) <= (57 | 0); + } + if ($110_1 & 1 | 0) { + continue label$15 + } + break label$15; + }; + $128_1 = 24; + label$17 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 0] | 0) << $128_1 | 0) >> $128_1 | 0 | 0) == (42 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2415(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 8 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2416(HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, $7_1 + 28 | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + if (HEAP32[($7_1 + 72 | 0) >> 2] | 0) { + break label$18 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2417((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 52 | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + } + label$19 : { + if (!(HEAP32[($7_1 + 72 | 0) >> 2] | 0)) { + break label$19 + } + break label$4; + } + break label$7; + case 11: + case 16: + $170_1 = 24; + HEAP32[($7_1 + 16 | 0) >> 2] = (((HEAPU8[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 32 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $170_1 | 0) >> $170_1 | 0 | 0) == (71 | 0) & 1 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + label$20 : while (1) { + $192_1 = 24; + HEAP32[($7_1 + 44 | 0) >> 2] = Math_imul(HEAP32[($7_1 + 44 | 0) >> 2] | 0, 10) + ((((HEAPU8[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) << $192_1 | 0) >> $192_1 | 0) - 48 | 0) | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 1 | 0; + $207_1 = 24; + $215_1 = 0; + label$21 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) << $207_1 | 0) >> $207_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$21 + } + $221_1 = 24; + $215_1 = (((HEAPU8[((HEAP32[($7_1 + 96 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) << $221_1 | 0) >> $221_1 | 0 | 0) <= (57 | 0); + } + if ($215_1 & 1 | 0) { + continue label$20 + } + break label$20; + }; + label$22 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2418(HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, $7_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + } + label$23 : { + if (HEAP32[($7_1 + 72 | 0) >> 2] | 0) { + break label$23 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2417((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 52 | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + } + label$24 : { + if (!(HEAP32[($7_1 + 72 | 0) >> 2] | 0)) { + break label$24 + } + break label$4; + } + break label$7; + case 1: + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$7; + case 0: + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$7; + default: + break label$8; + }; + } + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 88 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $274_1 = 0; + $275_1 = 1; + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 100 | 0) >> 2] | 0) & 32 | 0 ? $275_1 : $274_1; + $283_1 = (HEAP32[($7_1 + 100 | 0) >> 2] | 0) & 128 | 0 ? $275_1 : $274_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $283_1; + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 28 | 0) >> 2] = $283_1; + label$25 : { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != ($274_1 | 0) & 1 | 0)) { + break label$25 + } + $291_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = $291_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $291_1; + } + label$26 : { + label$27 : { + if (!(HEAP32[($7_1 + 68 | 0) >> 2] | 0)) { + break label$27 + } + i64toi32_i32$0 = -2147483648; + $427$hi = i64toi32_i32$0; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$0 = $2419(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, -1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1092_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $1092_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $427$hi; + i64toi32_i32$1 = $2419(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1101_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $1101_1; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$0; + break label$26; + } + i64toi32_i32$0 = -2147483648; + $431$hi = i64toi32_i32$0; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$0 = $2419(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, -1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1110_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $1110_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $431$hi; + i64toi32_i32$1 = $2419(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1119_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1119_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + } + label$28 : { + label$29 : { + if (!((HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$29 + } + label$30 : { + label$31 : { + if (!(HEAP32[((HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0)) { + break label$31 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $1151_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $1151_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $1161_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1161_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + break label$30; + } + i64toi32_i32$2 = HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $1171_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $1171_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $1181_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1181_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] = 2; + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2420(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + break label$28; + } + label$32 : { + label$33 : { + if (!((HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$33 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2421(HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$34 : { + if (HEAP32[($7_1 + 72 | 0) >> 2] | 0) { + break label$34 + } + label$35 : { + label$36 : { + if (!(HEAP32[($7_1 + 64 | 0) >> 2] | 0)) { + break label$36 + } + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] = 4; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2422(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + break label$35; + } + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] = 1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2420(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + } + } + break label$32; + } + label$37 : { + label$38 : { + if (!((HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$38 + } + HEAP32[$7_1 >> 2] = HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $371_1 = $79(52814 | 0, $7_1 | 0) | 0; + HEAP32[(HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) >> 2] = $371_1; + HEAP32[($7_1 + 72 | 0) >> 2] = 1; + break label$37; + } + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 6 : 5; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2424(HEAP32[((HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $2423(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 48 | 0 | 0, (HEAP32[($7_1 + 84 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$39 : { + if (HEAP32[($7_1 + 72 | 0) >> 2] | 0) { + break label$39 + } + label$40 : { + label$41 : { + if (!((HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$41 + } + $334(HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0; + break label$40; + } + i64toi32_i32$2 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, 2 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2425(HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + } + $2426(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + 104 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 72 | 0) >> 2] | 0; + } + $424_1 = HEAP32[($7_1 + 108 | 0) >> 2] | 0; + global$0 = $7_1 + 112 | 0; + return $424_1 | 0; + } + + function $2415($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $11_1 = 0, $28_1 = 0, $31_1 = 0, $37_1 = 0, i64toi32_i32$2 = 0, $247_1 = 0, $285_1 = 0, $92_1 = 0, $95_1 = 0, $98_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + $11_1 = 24; + if (!((((HEAPU8[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $11_1 | 0) >> $11_1 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$3 : while (1) { + $28_1 = 24; + $31_1 = 0; + label$4 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0)) { + break label$4 + } + $37_1 = 24; + $31_1 = (((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) << $37_1 | 0) >> $37_1 | 0 | 0) != (32 | 0); + } + label$5 : { + if (!($31_1 & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] = 3; + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$7 + } + if (!((0 | 0) == ($89(52850 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$1 = $2549(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $247_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $247_1; + HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$0; + break label$6; + } + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$9 + } + if (!((0 | 0) == ($89(11523 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $285_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] = $285_1; + HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] = i64toi32_i32$1; + break label$8; + } + $92_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $92_1; + $95_1 = $79(52856 | 0, $5_1 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = $95_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + } + } + $98_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $98_1 | 0; + } + + function $2416($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $9_1 = 0, $162_1 = 0, $145_1 = 0, $13_1 = 0, $52_1 = 0, $107_1 = 0, $44_1 = 0, $45_1 = 0, $267_1 = 0, $131_1 = 0, $159_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 112 | 0; + global$0 = $8_1; + $9_1 = 0; + $13_1 = $8_1 + 56 | 0; + HEAP32[($8_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 92 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 88 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 84 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] = $9_1; + HEAP32[(HEAP32[($8_1 + 84 | 0) >> 2] | 0) >> 2] = $9_1; + i64toi32_i32$0 = 0; + $162_1 = 0; + i64toi32_i32$1 = $13_1; + HEAP32[i64toi32_i32$1 >> 2] = $162_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $162_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $13_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $162_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 80 | 0) >> 2] = HEAP32[($8_1 + 100 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2551(114 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == ($9_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 108 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($8_1 + 56 | 0) >> 2] = HEAP32[($8_1 + 104 | 0) >> 2] | 0; + label$3 : while (1) { + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2552($8_1 + 56 | 0 | 0, $8_1 + 44 | 0 | 0, $8_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $44_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $45_1 = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + $267_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $267_1; + HEAP32[($8_1 + 12 | 0) >> 2] = i64toi32_i32$1; + $2553($44_1 | 0, $45_1 | 0, $8_1 + 8 | 0 | 0, $8_1 + 56 | 0 | 0); + $52_1 = 0; + label$4 : { + if (HEAP32[($8_1 + 64 | 0) >> 2] | 0) { + break label$4 + } + $52_1 = (HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0); + } + if ($52_1 & 1 | 0) { + continue label$3 + } + break label$3; + }; + $2555(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, 115 | 0); + label$5 : { + if (!((HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (HEAP32[($8_1 + 64 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($8_1 + 28 | 0) >> 2] = 8; + i64toi32_i32$0 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2468(($8_1 + 56 | 0) + 8 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] = 1; + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + $2556($8_1 + 56 | 0 | 0, HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + } + } + label$7 : { + label$8 : { + if (HEAP32[($8_1 + 64 | 0) >> 2] | 0) { + break label$8 + } + $107_1 = $38(24 | 0) | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = $107_1; + HEAP32[(HEAP32[($8_1 + 88 | 0) >> 2] | 0) >> 2] = $107_1; + label$9 : { + label$10 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($8_1 + 64 | 0) >> 2] = 7; + $2542(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0); + break label$9; + } + label$11 : { + label$12 : { + if ((HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + i64toi32_i32$1 = 0; + HEAP32[($8_1 + 20 | 0) >> 2] = 40; + $131_1 = $2468(($8_1 + 56 | 0) + 8 | 0 | 0, 40 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = $131_1; + label$13 : { + if (!((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + } + break label$11; + } + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + } + $145_1 = 0; + HEAP32[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 2] = $145_1; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 104 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] = $145_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $145_1; + } + break label$7; + } + $2542(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0); + } + $42(HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($8_1 + 84 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + HEAP32[($8_1 + 108 | 0) >> 2] = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + } + $159_1 = HEAP32[($8_1 + 108 | 0) >> 2] | 0; + global$0 = $8_1 + 112 | 0; + return $159_1 | 0; + } + + function $2417($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $104_1 = 0, $8_1 = 0, $23_1 = 0, $39_1 = 0, $101_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $8_1 = $4_1 + 24 | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + $104_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $104_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $23_1 = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + $39_1 = $2557($4_1 + 24 | 0 | 0, 2 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $23_1 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = $39_1; + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] = $23_1; + label$3 : { + if (HEAP32[($4_1 + 32 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $44(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 32 | 0) >> 2] = 7; + break label$4; + } + $3290((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + } + $42(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + } + $101_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $101_1 | 0; + } + + function $2418($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, $20_1 = 0, $263$hi = 0, $264$hi = 0, $267$hi = 0, $268$hi = 0, $271$hi = 0, $272$hi = 0, $8_1 = 0, $258$hi = 0, $259$hi = 0, $56_1 = 0, $260$hi = 0, $261$hi = 0, $57_1 = 0, $59_1 = 0, $60_1 = 0, $42_1 = 0, $46_1 = 0, $58_1 = 0, $62_1 = 0, $74_1 = 0, $78_1 = 0, $97_1 = 0, $115_1 = 0, $123_1 = 0, $133_1 = 0, $143_1 = 0, $148_1 = 0, $156_1 = 0, $160_1 = 0, $178_1 = 0, $61_1 = 0, $63_1 = 0, $64_1 = 0, $195_1 = 0, $201_1 = 0, $229_1 = 0, $263_1 = 0, $358_1 = 0, $267_1 = 0, $375_1 = 0, $96_1 = 0, $113_1 = 0, $114_1 = 0, $132_1 = 0, $142_1 = 0, $147_1 = 0, $189_1 = 0, $271_1 = 0, $709_1 = 0, $254_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3303(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $258$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $259$hi = i64toi32_i32$1; + i64toi32_i32$1 = $258$hi; + i64toi32_i32$1 = $259$hi; + i64toi32_i32$1 = $258$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $259$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $56_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $56_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $260$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $261$hi = i64toi32_i32$0; + i64toi32_i32$0 = $260$hi; + i64toi32_i32$0 = $261$hi; + i64toi32_i32$0 = $260$hi; + i64toi32_i32$1 = $56_1; + i64toi32_i32$2 = $261$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $41(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 24 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 24 | 0) >> 2] = 7; + break label$1; + } + $20_1 = 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $20_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $20_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $20_1; + label$3 : { + label$4 : { + if (HEAP32[($7_1 + 56 | 0) >> 2] | 0) { + break label$4 + } + HEAP8[($7_1 + 21 | 0) >> 0] = 95; + HEAP8[($7_1 + 22 | 0) >> 0] = 37; + HEAP8[($7_1 + 23 | 0) >> 0] = 0; + break label$3; + } + HEAP8[($7_1 + 21 | 0) >> 0] = 42; + HEAP8[($7_1 + 22 | 0) >> 0] = 63; + HEAP8[($7_1 + 23 | 0) >> 0] = 91; + } + label$5 : { + label$6 : while (1) { + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$1 >> 31 | 0; + $263_1 = i64toi32_i32$1; + $263$hi = i64toi32_i32$5; + i64toi32_i32$0 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $264$hi = i64toi32_i32$1; + i64toi32_i32$1 = $263$hi; + i64toi32_i32$1 = $264$hi; + i64toi32_i32$1 = $263$hi; + i64toi32_i32$1 = $264$hi; + $358_1 = i64toi32_i32$5; + i64toi32_i32$1 = $263$hi; + i64toi32_i32$0 = $263_1; + i64toi32_i32$5 = $264$hi; + i64toi32_i32$3 = $358_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$5 | 0)) { + $57_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 > i64toi32_i32$3 >>> 0) { + $59_1 = 0 + } else { + $59_1 = 1 + } + $60_1 = $59_1; + } else { + $60_1 = 0 + } + $57_1 = $60_1; + } + if (!($57_1 & 1 | 0)) { + break label$5 + } + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $267_1 = i64toi32_i32$1; + $267$hi = i64toi32_i32$0; + i64toi32_i32$3 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $268$hi = i64toi32_i32$1; + i64toi32_i32$1 = $267$hi; + i64toi32_i32$1 = $268$hi; + i64toi32_i32$1 = $267$hi; + i64toi32_i32$1 = $268$hi; + $375_1 = i64toi32_i32$0; + i64toi32_i32$1 = $267$hi; + i64toi32_i32$3 = $267_1; + i64toi32_i32$0 = $268$hi; + i64toi32_i32$5 = $375_1; + label$7 : { + label$8 : { + if (((i64toi32_i32$3 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$8 + } + $42_1 = 24; + $46_1 = 24; + if ((((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0 | 0) == (((HEAPU8[($7_1 + 21 | 0) >> 0] | 0) << $46_1 | 0) >> $46_1 | 0 | 0) & 1 | 0) { + break label$8 + } + $58_1 = 24; + $62_1 = 24; + if ((((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $58_1 | 0) >> $58_1 | 0 | 0) == (((HEAPU8[($7_1 + 22 | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) & 1 | 0) { + break label$8 + } + $74_1 = 24; + $78_1 = 24; + if (!((((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $74_1 | 0) >> $74_1 | 0 | 0) == (((HEAPU8[($7_1 + 23 | 0) >> 0] | 0) << $78_1 | 0) >> $78_1 | 0 | 0) & 1 | 0)) { + break label$7 + } + } + label$9 : { + if (!(((HEAP32[($7_1 + 12 | 0) >> 2] | 0) - (HEAP32[($7_1 + 8 | 0) >> 2] | 0) | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$9 + } + $96_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $97_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $97_1 + 1 | 0; + HEAP8[($96_1 + $97_1 | 0) >> 0] = 34; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $113_1 = HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + (HEAP32[($7_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0; + $114_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $115_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $115_1 + 1 | 0; + HEAP8[($114_1 + $115_1 | 0) >> 0] = $113_1; + $123_1 = 24; + label$12 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + (HEAP32[($7_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $123_1 | 0) >> $123_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$12 + } + $132_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $133_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $133_1 + 1 | 0; + HEAP8[($132_1 + $133_1 | 0) >> 0] = 34; + } + HEAP32[($7_1 + 4 | 0) >> 2] = (HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + $142_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $143_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $143_1 + 1 | 0; + HEAP8[($142_1 + $143_1 | 0) >> 0] = 34; + $147_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $148_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $148_1 + 1 | 0; + HEAP8[($147_1 + $148_1 | 0) >> 0] = 32; + } + $156_1 = 24; + $160_1 = 24; + label$13 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $156_1 | 0) >> $156_1 | 0 | 0) == (((HEAPU8[($7_1 + 23 | 0) >> 0] | 0) << $160_1 | 0) >> $160_1 | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 2 | 0; + $178_1 = 24; + label$14 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 12 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $178_1 | 0) >> $178_1 | 0 | 0) == (94 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + label$15 : while (1) { + $189_1 = 0; + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$1 >> 31 | 0; + $271_1 = i64toi32_i32$1; + $271$hi = i64toi32_i32$3; + i64toi32_i32$5 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $272$hi = i64toi32_i32$1; + i64toi32_i32$1 = $271$hi; + i64toi32_i32$1 = $272$hi; + i64toi32_i32$1 = $271$hi; + i64toi32_i32$1 = $272$hi; + $709_1 = i64toi32_i32$3; + i64toi32_i32$1 = $271$hi; + i64toi32_i32$5 = $271_1; + i64toi32_i32$3 = $272$hi; + i64toi32_i32$0 = $709_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$3 | 0)) { + $61_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$0 >>> 0) { + $63_1 = 0 + } else { + $63_1 = 1 + } + $64_1 = $63_1; + } else { + $64_1 = 0 + } + $61_1 = $64_1; + } + $195_1 = $189_1; + label$16 : { + if (!($61_1 & 1 | 0)) { + break label$16 + } + $201_1 = 24; + $195_1 = (((HEAPU8[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $201_1 | 0) >> $201_1 | 0 | 0) != (93 | 0); + } + label$17 : { + if (!($195_1 & 1 | 0)) { + break label$17 + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + } + break label$15; + }; + } + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$18 : { + label$19 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[$7_1 >> 2] = 0; + label$20 : { + if (!(HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0)) { + break label$20 + } + $229_1 = 1; + HEAP32[$7_1 >> 2] = $229_1; + label$21 : { + if (!((HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == ($229_1 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + } + HEAP8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2416(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[$7_1 >> 2] | 0 | 0, HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + break label$18; + } + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = 0; + } + $42(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + } + $254_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $254_1 | 0; + } + + function $2419($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $71_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $342(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = $62(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $71_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $71_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + } + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $75_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $75_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2420($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, $16_1 = 0, i64toi32_i32$1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2558(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!($2429(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + $16_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($16_1 + 60 | 0) >> 2] = HEAP32[($16_1 + 60 | 0) >> 2] | 0 | 1 | 0; + } + $2430(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + $21_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $21_1 | 0; + } + + function $2421($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $13_1 = 0, $6_1 = 0, $44_1 = 0, $57_1 = 0, $78_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0)) { + break label$2 + } + $13_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 8 | 0) >> 2] = $13_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $13_1; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == ($13_1 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(($248(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + } + break label$3; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2537(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0, $5_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + label$7 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$7 + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $44_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($44_1 + 60 | 0) >> 2] = HEAP32[($44_1 + 60 | 0) >> 2] | 0 | 16 | 0; + break label$6; + } + label$8 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $57_1 = $79(53643 | 0, $5_1 | 0) | 0; + HEAP32[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] = $57_1; + } + } + break label$1; + } + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0; + break label$9; + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] = 53676; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 76 | 0) >> 2] = 0; + } + } + $78_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $78_1 | 0; + } + + function $2422($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $32_1 = 0, $63_1 = 0, $40_1 = 0, $41_1 = 0, $43_1 = 0, $45_1 = 0, $46_1 = 0, $48_1 = 0, $55_1 = 0, $94_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2559(HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = (((HEAP32[($5_1 + 52 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) + 32 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 76 | 0) >> 2] = 7; + break label$1; + } + $32_1 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $3289(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $40_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + $41_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $43_1 = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $45_1 = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $46_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + $48_1 = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $55_1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != ($32_1 | 0) & 1 | 0 ? 31008 : 1352; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != ($32_1 | 0) & 1 | 0)) { + break label$4 + } + $63_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + break label$3; + } + $63_1 = 1352; + } + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 64 | 0) >> 2] | 0 ? 49472 : 49477; + HEAP32[($5_1 + 20 | 0) >> 2] = $63_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $55_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $48_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $46_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $45_1; + HEAP32[$5_1 >> 2] = $43_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2560($40_1 | 0, $41_1 | 0, 53681 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + label$5 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2431(HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + } + label$6 : { + if (!(HEAP32[($5_1 + 36 | 0) >> 2] | 0)) { + break label$6 + } + $213(HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + $42(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 56 | 0) >> 2] = 0; + } + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + } + $94_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + global$0 = $5_1 + 80 | 0; + return $94_1 | 0; + } + + function $2423($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 ? 1 : 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 2; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2424($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2523(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[(((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + } + $21_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $21_1 | 0; + } + + function $2425($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $18_1 = 0, i64toi32_i32$2 = 0, $28_1 = 0, $35_1 = 0, $38_1 = 0, $48_1 = 0, $55_1 = 0, $65_1 = 0, i64toi32_i32$1 = 0, $27_1 = 0, $77_1 = 0, $82_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + $18_1 = $2427(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0) | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $18_1; + label$4 : { + label$5 : { + if ($18_1) { + break label$5 + } + if (!(HEAP32[($3_1 + 12 | 0) >> 2] | 0)) { + break label$4 + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$2 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2428(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $27_1 = $2429(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + $28_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($28_1 + 60 | 0) >> 2] = HEAP32[($28_1 + 60 | 0) >> 2] | 0 | $27_1 | 0; + $2430(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + break label$2; + } + $35_1 = (HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + -3 | 0; + label$6 : { + label$7 : { + switch ($35_1 | 0) { + case 0: + $38_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($38_1 + 60 | 0) >> 2] = HEAP32[($38_1 + 60 | 0) >> 2] | 0 | 1 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + break label$6; + case 1: + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2431(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$6; + default: + break label$7; + }; + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $48_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($48_1 + 64 | 0) >> 2] = (HEAP32[($48_1 + 64 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $287(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $55_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($55_1 + 64 | 0) >> 2] = (HEAP32[($55_1 + 64 | 0) >> 2] | 0) + -1 | 0; + label$10 : { + label$11 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) != (100 | 0) & 1 | 0)) { + break label$11 + } + $65_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[($65_1 + 60 | 0) >> 2] = HEAP32[($65_1 + 60 | 0) >> 2] | 0 | 1 | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $222(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($3_1 + 16 | 0) >> 2] | 0)) { + break label$12 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $380(HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $77_1 = $79(1976 | 0, $3_1 | 0) | 0; + HEAP32[((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] = $77_1; + } + break label$10; + } + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + } + } + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + } + $82_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $82_1 | 0; + } + + function $2426($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $2542(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2427($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $49$hi = 0, $50$hi = 0, $30_1 = 0, $39_1 = 0, $92_1 = 0, $49_1 = 0, $126_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) & 32 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = $2715(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $92_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[$4_1 >> 2] = $92_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2558(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $49_1 = i64toi32_i32$0; + $49$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2715(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $50$hi = i64toi32_i32$0; + i64toi32_i32$0 = $49$hi; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$0 = $49$hi; + i64toi32_i32$0 = $50$hi; + $126_1 = i64toi32_i32$1; + i64toi32_i32$0 = $49$hi; + i64toi32_i32$1 = $50$hi; + if (!((($49_1 | 0) != ($126_1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = 1; + } + $30_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($30_1 + 60 | 0) >> 2] = (HEAP32[($30_1 + 60 | 0) >> 2] | 0) & -33 | 0; + $2430(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + label$3 : { + if (!($2429(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + $39_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($39_1 + 60 | 0) >> 2] = HEAP32[($39_1 + 60 | 0) >> 2] | 0 | 1 | 0; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = 1; + } + } + $44_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $44_1 | 0; + } + + function $2428($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $30$hi = 0, $31$hi = 0, $30_1 = 0, $78_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : while (1) { + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 28 | 0) >> 2] | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0, 0, 0, i64toi32_i32$0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + if (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + continue label$1 + } + break label$1; + }; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $30_1 = i64toi32_i32$0; + $30$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $31$hi = i64toi32_i32$0; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$0 = $31$hi; + $78_1 = i64toi32_i32$1; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$1 = $31$hi; + label$2 : { + if (!(($2603(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $30_1 | 0, i64toi32_i32$0 | 0, $78_1 | 0, i64toi32_i32$1 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + } + $26_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $26_1 | 0; + } + + function $2429($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function $2430($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 78 | 0; + return; + } + + function $2431($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $28_1 = 0, i64toi32_i32$0 = 0, $17_1 = 0, $29_1 = 0, $38_1 = 0, i64toi32_i32$1 = 0, $166_1 = 0, $60_1 = 0, $92_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $287(HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 36 | 0) >> 2] = 0; + $17_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + HEAP32[($17_1 + 60 | 0) >> 2] = HEAP32[($17_1 + 60 | 0) >> 2] | 0 | 1 | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$3 + } + $28_1 = 0; + $29_1 = 1; + HEAP32[($3_1 + 16 | 0) >> 2] = $28_1; + HEAP32[($3_1 + 36 | 0) >> 2] = $28_1; + i64toi32_i32$0 = $318(HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, $28_1 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $166_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $166_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $315(HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, $29_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $38_1 = $311(HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, $29_1 | 0) | 0; + HEAP32[($3_1 + 32 | 0) >> 2] = $38_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $38_1; + label$4 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) > ($28_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < ((HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$5 + } + $60_1 = $2534(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0) | 0; + HEAP32[($3_1 + 32 | 0) >> 2] = (HEAP32[($3_1 + 32 | 0) >> 2] | 0) + $60_1 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[(((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[(((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 24 | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0) - (HEAP32[($3_1 + 32 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + } + $2430(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + } + } + $92_1 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $92_1 | 0; + } + + function $2432($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + return ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) & 1 | 0 ? 1 : 0) | 0; + } + + function $2433($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $86_1 = 0, $119_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + } + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$9 + } + $2434(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + break label$8; + } + label$10 : { + label$11 : { + if ((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$11 + } + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$10 + } + } + label$12 : { + label$13 : { + if ((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$13 + } + $86_1 = $2435(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $86_1; + if (!((0 | 0) == ($86_1 | 0) & 1 | 0)) { + break label$12 + } + } + $2436(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0); + } + } + } + break label$6; + } + label$14 : { + if ($2437(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$14 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2438(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$15 + } + $280(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $320(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0 | 0) | 0 | 0); + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = 0; + } + } + } + } + $119_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $119_1 | 0; + } + + function $2434($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $5_1 = 0, $14_1 = 0, $73_1 = 0, $108_1 = 0, $140_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + $5_1 = 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2559(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 40 | 0) >> 2] = $5_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$0; + $14_1 = HEAP32[((HEAP32[((HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($14_1 | 0) { + case 0: + HEAP32[($4_1 + 52 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) < ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2716(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, $4_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2520($4_1 + 48 | 0 | 0, $4_1 + 32 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + HEAP32[($4_1 + 52 | 0) >> 2] = (HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($4_1 + 52 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2716(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, $4_1 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $2510($4_1 + 48 | 0 | 0, $4_1 + 32 | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 52 | 0) >> 2] = (HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + break label$1; + case 2: + HEAP32[($4_1 + 52 | 0) >> 2] = 0; + label$9 : while (1) { + $73_1 = 0; + label$10 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$10 + } + $73_1 = (HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) < ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) - 1 | 0 | 0); + } + label$11 : { + if (!($73_1 & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2717(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, $4_1 + 12 | 0 | 0, $4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2520($4_1 + 48 | 0 | 0, $4_1 + 32 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + HEAP32[($4_1 + 52 | 0) >> 2] = (HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + HEAP32[($4_1 + 52 | 0) >> 2] = 0; + label$12 : while (1) { + $108_1 = 0; + label$13 : { + if (HEAP32[($4_1 + 48 | 0) >> 2] | 0) { + break label$13 + } + $108_1 = (HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0); + } + label$14 : { + if (!($108_1 & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2717(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, $4_1 + 4 | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $2510($4_1 + 48 | 0 | 0, $4_1 + 32 | 0 | 0, HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 52 | 0) >> 2] = (HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + } + break label$12; + }; + break label$1; + default: + break label$2; + }; + } + } + $254(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, 3 | 0); + $140_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $140_1 | 0; + } + + function $2435($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, $38_1 = 0, i64toi32_i32$1 = 0, $57_1 = 0, $64_1 = 0, $78_1 = 0, $105_1 = 0, $110_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 80 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 72 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 64 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2481($3_1 + 64 | 0 | 0, 49993 | 0, $3_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $38_1 = 0; + HEAP32[($3_1 + 44 | 0) >> 2] = $38_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $408(HEAP32[(HEAP32[($3_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0, -1 | 0, 1 | 0, $3_1 + 44 | 0 | 0, $38_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0); + label$3 : { + if (HEAP32[($3_1 + 64 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (!((100 | 0) == ($287(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + $57_1 = $309(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 84 | 0) >> 2] = $57_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0) << 2 | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + $64_1 = $2468($3_1 + 64 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 88 | 0) >> 2] = $64_1; + label$6 : { + if (HEAP32[($3_1 + 64 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $78_1 = $320(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $78_1; + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + } + HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 92 | 0) >> 2] = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + break label$4; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $213(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + label$9 : { + if (HEAP32[($3_1 + 64 | 0) >> 2] | 0) { + break label$9 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2456(HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + $105_1 = $79(53736 | 0, $3_1 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] = $105_1; + HEAP32[($3_1 + 64 | 0) >> 2] = 1; + } + } + HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 80 | 0) >> 2] = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + $110_1 = HEAP32[($3_1 + 64 | 0) >> 2] | 0; + global$0 = $3_1 + 80 | 0; + return $110_1 | 0; + } + + function $2436($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 96 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](53760, HEAP32[($7_1 + 24 | 0) >> 2] | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0); + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 96 | 0) >> 2] = 0; + global$0 = $7_1 + 32 | 0; + return; + } + + function $2437($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 | 0; + } + + function $2438($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $27_1 = 0, $46_1 = 0, $54_1 = 0, $65_1 = 0, $18_1 = 0, $19_1 = 0, $22_1 = 0, $43_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $88_1 = 0, $92_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2423(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $18_1 = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $19_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $22_1 = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0; + label$2 : { + label$3 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$3 + } + $27_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0; + break label$2; + } + $27_1 = 0; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2424($18_1 | 0, $19_1 | 0, $22_1 | 0, $27_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) & 2 | 0)) { + break label$4 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $222(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + $43_1 = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = $2440(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $331($43_1 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $46_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($46_1 + 64 | 0) >> 2] = (HEAP32[($46_1 + 64 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $287(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $54_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($54_1 + 64 | 0) >> 2] = (HEAP32[($54_1 + 64 | 0) >> 2] | 0) + -1 | 0; + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + $65_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($65_1 + 60 | 0) >> 2] = (HEAP32[($65_1 + 60 | 0) >> 2] | 0) & -3 | 0; + break label$5; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$8 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 267; + break label$7; + } + label$9 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $380(HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $88_1 = $79(1976 | 0, $4_1 | 0) | 0; + HEAP32[(HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) >> 2] = $88_1; + } + } + } + } + $92_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $92_1 | 0; + } + + function $2439($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $10_1 = 0, $64_1 = 0, $75_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $10_1 = (HEAP32[$4_1 >> 2] | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($10_1 | 0) { + case 2: + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$1; + case 0: + case 1: + case 3: + i64toi32_i32$0 = $2440(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $64_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $64_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$1; + default: + break label$2; + }; + } + i64toi32_i32$1 = $318(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $75_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $75_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $2440($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $49_1 = 0, $57_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $49_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $49_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = $2715(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $57_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $57_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2441($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $250$hi = 0, $251$hi = 0, $105_1 = 0, $109_1 = 0, $511_1 = 0, $601_1 = 0, $635_1 = 0, $643_1 = 0, $250_1 = 0, $663_1 = 0, $241_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + HEAP32[($6_1 + 72 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = 0; + HEAP32[((HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = (HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 8 | 0; + $2442(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $248(HEAP32[(HEAP32[($6_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + if (!(($248(HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!(HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0)) { + break label$4 + } + if (!((0 | 0) == ($87(9656 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2443(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2444(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + ((((HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 2 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + break label$1; + } + HEAP32[($6_1 + 56 | 0) >> 2] = 4; + label$5 : { + if (HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $425(HEAP32[(HEAP32[($6_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + if (!($2437(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + $105_1 = (HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0 ? 53877 : 53884; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $105_1; + $109_1 = $79(53840 | 0, $6_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] = $109_1; + HEAP32[($6_1 + 64 | 0) >> 2] = 1; + break label$6; + } + label$8 : { + label$9 : { + if (!((HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($6_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $511_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $511_1; + HEAP32[($6_1 + 52 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2445(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + break label$8; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $342(HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 64 | 0) >> 2] = 20; + break label$10; + } + label$12 : { + label$13 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$14 + } + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $601_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $601_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2445(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + $2446($6_1 + 64 | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0); + break label$12; + } + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($6_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $635_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $635_1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $62(HEAP32[((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $643_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $643_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$15 : { + label$16 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$16 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $250_1 = i64toi32_i32$0; + $250$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $251$hi = i64toi32_i32$0; + i64toi32_i32$0 = $250$hi; + i64toi32_i32$0 = $251$hi; + i64toi32_i32$0 = $250$hi; + i64toi32_i32$0 = $251$hi; + $663_1 = i64toi32_i32$1; + i64toi32_i32$0 = $250$hi; + i64toi32_i32$2 = $250_1; + i64toi32_i32$1 = $251$hi; + i64toi32_i32$3 = $663_1; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + label$18 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$18 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2445(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$19 : { + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$19 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2445(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + $2446($6_1 + 64 | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0); + break label$17; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2447(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$20 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2445(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + label$21 : { + if (HEAP32[($6_1 + 64 | 0) >> 2] | 0) { + break label$21 + } + i64toi32_i32$3 = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2448(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + } + break label$15; + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2445(HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + $2446($6_1 + 64 | 0 | 0, HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0); + } + } + } + } + } + } + HEAP32[((HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = 0; + $241_1 = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + global$0 = $6_1 + 96 | 0; + return $241_1 | 0; + } + + function $2442($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $30_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $30_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($30_1 + 60 | 0) >> 2] = HEAP32[($30_1 + 60 | 0) >> 2] | 0 | 32 | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$2; + }; + } + return; + } + + function $2443($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $67_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $248(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $67_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $67_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2445(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $24_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $24_1 | 0; + } + + function $2444($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $113_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if (!(($6_1 | 0) == ($87(53896 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) { + break label$4 + } + $2755(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 53907 | 0, 0 | 0); + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + break label$3; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2756(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$1; + } + label$5 : { + label$6 : { + if (!((0 | 0) == ($87(49941 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + $2755(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 53987 | 0, 0 | 0); + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + break label$7; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2757(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$5; + } + label$9 : { + label$10 : { + if (!((0 | 0) == ($87(13390 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2758(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$9; + } + label$11 : { + label$12 : { + if (!((0 | 0) == ($87(54043 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2759(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + label$13 : { + label$14 : { + if (!((0 | 0) == ($87(49949 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2760(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$13; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2473(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$15 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2536(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$16 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$16 + } + label$17 : { + label$18 : { + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$18 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + break label$17; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2487(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + } + } + } + } + } + $113_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $113_1 | 0; + } + + function $2445($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2745(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2761(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + if (!(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2523(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 7 | 0, $5_1 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $331(HEAP32[$5_1 >> 2] | 0 | 0, 1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $287(HEAP32[$5_1 >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + label$4 : { + if (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) { + break label$4 + } + label$5 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2523(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 5 | 0, $5_1 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $331(HEAP32[$5_1 >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $287(HEAP32[$5_1 >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + $44_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $44_1 | 0; + } + + function $2446($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2447(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2448(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[i64toi32_i32$2 >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return; + } + + function $2447($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $31_1 = 0, $36_1 = 0, $122_1 = 0, $225_1 = 0, $67_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(($248(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $122_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $122_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$3; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2762(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$1; + } + $31_1 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $31_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2523(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 3 | 0, $5_1 + 8 | 0 | 0, $31_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 4 | 0) >> 2] = 1; + label$5 : while (1) { + $36_1 = 0; + label$6 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$6 + } + $36_1 = (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) <= ((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0 | 0); + } + label$7 : { + if (!($36_1 & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $334(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + label$8 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$8 + } + $287(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$1 = $451(HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $225_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $225_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + $67_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $67_1 | 0; + } + + function $2448($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $27_1 = 0, $105$hi = 0, $87_1 = 0, $91_1 = 0, $108$hi = 0, $109$hi = 0, $105_1 = 0, $301$hi = 0, $99_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2745(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 40 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2763(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + label$2 : while (1) { + $27_1 = 0; + label$3 : { + if (HEAP32[($5_1 + 40 | 0) >> 2] | 0) { + break label$3 + } + $27_1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($27_1 & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + label$5 : { + if ((HEAPU8[((HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2591(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, $5_1 + 24 | 0 | 0, 116 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $2520($5_1 + 40 | 0 | 0, $5_1 + 8 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $105_1 = i64toi32_i32$0; + $105$hi = i64toi32_i32$1; + $87_1 = (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$2 = $87_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $301$hi = i64toi32_i32$0; + i64toi32_i32$0 = $105$hi; + i64toi32_i32$0 = $301$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $105$hi; + i64toi32_i32$3 = $105_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $87_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + $91_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$0 = $91_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $108$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $109$hi = i64toi32_i32$2; + i64toi32_i32$2 = $108$hi; + i64toi32_i32$2 = $109$hi; + i64toi32_i32$2 = $108$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $109$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $91_1; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$4; + label$6 : { + if (HEAP32[($5_1 + 40 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2765(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, $5_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $99_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $99_1 | 0; + } + + function $2449($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2411(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2450($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 8 | 0; + $2442(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2451(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = 0; + $17_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $17_1 | 0; + } + + function $2451($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $44_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + i64toi32_i32$0 = $451(HEAP32[(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $44_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[$3_1 >> 2] = $44_1; + HEAP32[($3_1 + 4 | 0) >> 2] = i64toi32_i32$1; + label$1 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2766(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + label$2 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2822(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$1 = HEAP32[$3_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + $452(HEAP32[(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + $21_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $21_1 | 0; + } + + function $2452($0_1) { + $0_1 = $0_1 | 0; + HEAP32[((global$0 - 16 | 0) + 12 | 0) >> 2] = $0_1; + return 0 | 0; + } + + function $2453($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2454(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $8_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $2454($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + $8_1 = $2474(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $2455($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $25_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2456(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$7_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = 117; + HEAP32[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[$7_1 >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + } + $25_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $25_1 | 0; + } + + function $2456($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $23_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if ($87(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[$4_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + break label$1; + } + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 20 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $23_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $23_1 | 0; + } + + function $2457($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $66_1 = 0, $97_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $302(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $66_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $66_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2823(HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) { + break label$2 + } + } + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $97_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[$5_1 >> 2] = $97_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(54401 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + break label$1; + } + $2436(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 40 | 0) >> 2] | 0) - 1 | 0 | 0, (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2458($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $9_1 = $2459(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $2459($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2451(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $2824(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $4_1 | 0, 51618 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $2824(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $4_1 | 0, 14134 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $2824(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $4_1 | 0, 51903 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + label$1 : { + if (!(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$1 + } + $2824(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $4_1 | 0, 50539 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) { + break label$2 + } + $2824(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, $4_1 | 0, 48407 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + $31_1 = HEAP32[$4_1 >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $31_1 | 0; + } + + function $2460($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $6_1 = $2461(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $6_1 | 0; + } + + function $2461($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2442(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $7_1 = $2451(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $2462($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $6_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $6_1 = $2461(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $6_1 | 0; + } + + function $2463($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $2442(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + $9_1 = $2454(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $2464($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $25_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) >>> 0 < 5 >>> 0 & 1 | 0)) { + break label$2 + } + label$4 : { + if ($87(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(73232 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $25_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $25_1 | 0; + } + + function $2465($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $29_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if ($87(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + break label$3; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + continue label$4; + }; + } + } + $29_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $29_1 | 0; + } + + function $2466($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6_1 = 0, $73_1 = 0, $516_1 = 0, $518$hi = 0, $255_1 = 0, $520$hi = 0, $126_1 = 0, $282_1 = 0, $331_1 = 0, $364_1 = 0, $577_1 = 0, $603_1 = 0, $87_1 = 0, $734_1 = 0, $143_1 = 0, $179_1 = 0, $187_1 = 0, $212_1 = 0, $245_1 = 0, $386_1 = 0, $425_1 = 0, $443_1 = 0, $469_1 = 0, $490_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 272 | 0; + global$0 = $5_1; + $6_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 268 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 264 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 260 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 220 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 204 | 0) >> 2] = $6_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 192 | 0) >> 2] = 0; + HEAP32[($5_1 + 196 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($302(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0) | 0 | 0) != ($6_1 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1 + 208 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($5_1 + 260 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $577_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 248 | 0) >> 2] = $577_1; + HEAP32[($5_1 + 252 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 260 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[((HEAP32[($5_1 + 260 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = (HEAP32[($5_1 + 224 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $603_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 192 | 0) >> 2] = $603_1; + HEAP32[($5_1 + 196 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 192 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 196 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2468($5_1 + 204 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + $3288(HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 228 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) | 0; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 248 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + $2825(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $5_1 + 244 | 0 | 0, $5_1 + 232 | 0 | 0, $5_1 + 240 | 0 | 0, $5_1 + 236 | 0 | 0); + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 248 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + $2826($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + label$4 : { + label$5 : { + if (!(HEAP32[($5_1 + 232 | 0) >> 2] | 0)) { + break label$5 + } + $73_1 = $5_1 + 144 | 0; + HEAP32[($5_1 + 176 | 0) >> 2] = HEAP32[($5_1 + 220 | 0) >> 2] | 0; + HEAP32[($5_1 + 180 | 0) >> 2] = HEAP32[($5_1 + 224 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $516_1 = 0; + i64toi32_i32$1 = $73_1; + HEAP32[i64toi32_i32$1 >> 2] = $516_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $516_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $73_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $516_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $73_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $516_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 144 | 0) >> 2] = $5_1 + 176 | 0; + HEAP32[($5_1 + 160 | 0) >> 2] = HEAP32[($5_1 + 236 | 0) >> 2] | 0; + $2628($73_1 | 0) | 0; + label$6 : { + label$7 : while (1) { + if (HEAP32[($5_1 + 152 | 0) >> 2] | 0) { + break label$6 + } + $87_1 = HEAP32[($5_1 + 160 | 0) >> 2] | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + $734_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $734_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[$5_1 >> 2] = $87_1; + $2503($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, 54504 | 0, $5_1 | 0); + $2628($5_1 + 144 | 0 | 0) | 0; + continue label$7; + }; + } + break label$4; + } + label$8 : { + label$9 : { + if (HEAP32[($5_1 + 244 | 0) >> 2] | 0) { + break label$9 + } + i64toi32_i32$1 = 0; + $518$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 248 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 252 | 0) >> 2] | 0; + $520$hi = i64toi32_i32$0; + i64toi32_i32$0 = $518$hi; + i64toi32_i32$0 = $520$hi; + i64toi32_i32$0 = $518$hi; + i64toi32_i32$0 = $520$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $518$hi; + label$10 : { + label$11 : { + if (!(((i64toi32_i32$2 | 0) == (1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$11 + } + $2827($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0); + break label$10; + } + $2828($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0); + } + break label$8; + } + label$12 : { + label$13 : { + if (!(HEAP32[($5_1 + 188 | 0) >> 2] | 0)) { + break label$13 + } + $126_1 = ($2532((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + 2 | 0 | 0) | 0) & 65535 | 0; + HEAP32[($5_1 + 124 | 0) >> 2] = $126_1; + HEAP32[($5_1 + 120 | 0) >> 2] = $126_1; + HEAP32[($5_1 + 112 | 0) >> 2] = 0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $5_1 + 128 | 0; + HEAP32[i64toi32_i32$0 >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = 0; + label$14 : { + label$15 : { + if (!((HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + $143_1 = $2534((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 120 | 0) >> 2] | 0) | 0 | 0, $5_1 + 116 | 0 | 0) | 0; + HEAP32[($5_1 + 120 | 0) >> 2] = (HEAP32[($5_1 + 120 | 0) >> 2] | 0) + $143_1 | 0; + break label$14; + } + HEAP32[($5_1 + 116 | 0) >> 2] = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + } + $2829($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($5_1 + 116 | 0) >> 2] | 0) - 4 | 0 | 0); + HEAP32[($5_1 + 108 | 0) >> 2] = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $179_1 = $2534((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 108 | 0) >> 2] | 0) | 0 | 0, $5_1 + 104 | 0 | 0) | 0; + HEAP32[($5_1 + 108 | 0) >> 2] = (HEAP32[($5_1 + 108 | 0) >> 2] | 0) + $179_1 | 0; + HEAP32[($5_1 + 132 | 0) >> 2] = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + $2510($5_1 + 204 | 0 | 0, $5_1 + 128 | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 108 | 0) >> 2] | 0) | 0 | 0); + $187_1 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $187_1; + $2503($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, 54514 | 0, $5_1 + 16 | 0 | 0); + HEAP32[($5_1 + 108 | 0) >> 2] = (HEAP32[($5_1 + 108 | 0) >> 2] | 0) + (HEAP32[($5_1 + 104 | 0) >> 2] | 0) | 0; + label$18 : { + label$19 : { + if (!((HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $212_1 = $2534((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 120 | 0) >> 2] | 0) | 0 | 0, $5_1 + 100 | 0 | 0) | 0; + HEAP32[($5_1 + 120 | 0) >> 2] = (HEAP32[($5_1 + 120 | 0) >> 2] | 0) + $212_1 | 0; + HEAP32[($5_1 + 116 | 0) >> 2] = (HEAP32[($5_1 + 116 | 0) >> 2] | 0) + (HEAP32[($5_1 + 100 | 0) >> 2] | 0) | 0; + break label$18; + } + HEAP32[($5_1 + 116 | 0) >> 2] = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + } + $2829($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 108 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 116 | 0) >> 2] | 0) - (HEAP32[($5_1 + 108 | 0) >> 2] | 0) | 0 | 0); + HEAP32[($5_1 + 108 | 0) >> 2] = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + label$20 : { + if (!((HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + $245_1 = $2534((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 108 | 0) >> 2] | 0) | 0 | 0, $5_1 + 112 | 0 | 0) | 0; + HEAP32[($5_1 + 108 | 0) >> 2] = (HEAP32[($5_1 + 108 | 0) >> 2] | 0) + $245_1 | 0; + } + continue label$17; + }; + } + $2521($5_1 + 128 | 0 | 0); + break label$12; + } + $255_1 = 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $255_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $255_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $255_1; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $5_1 + 88 | 0; + HEAP32[i64toi32_i32$0 >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = 0; + label$21 : { + if (!((HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$21 + } + $2637($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, 7 | 0, 54525 | 0); + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($2532(HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + $282_1 = ($2532((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + 2 | 0 | 0) | 0) & 65535 | 0; + HEAP32[($5_1 + 84 | 0) >> 2] = $282_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $282_1; + label$22 : { + label$23 : { + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + $2534((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 80 | 0) >> 2] | 0) | 0 | 0, $5_1 + 72 | 0 | 0) | 0; + break label$22; + } + label$24 : { + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($5_1 + 204 | 0) >> 2] = 267; + break label$1; + } + } + label$25 : { + label$26 : { + if (!(HEAP32[($5_1 + 68 | 0) >> 2] | 0)) { + break label$26 + } + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + break label$25; + } + label$27 : { + label$28 : { + if (!(HEAP32[($5_1 + 72 | 0) >> 2] | 0)) { + break label$28 + } + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + break label$27; + } + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + } + } + label$29 : { + if (!((HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($5_1 + 204 | 0) >> 2] = 267; + break label$1; + } + $2830($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($5_1 + 64 | 0) >> 2] | 0) - 4 | 0 | 0) | 0; + label$30 : { + label$31 : { + if (!(HEAP32[($5_1 + 72 | 0) >> 2] | 0)) { + break label$31 + } + $331_1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + break label$30; + } + $331_1 = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 60 | 0) >> 2] = $331_1 - (HEAP32[($5_1 + 64 | 0) >> 2] | 0) | 0; + label$32 : { + if (!(((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + (HEAP32[($5_1 + 64 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($5_1 + 204 | 0) >> 2] = 267; + break label$1; + } + $2831($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 64 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0; + label$33 : while (1) { + $364_1 = 0; + label$34 : { + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$34 + } + $364_1 = (HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$35 : { + if (!($364_1 & 1 | 0)) { + break label$35 + } + HEAP32[($5_1 + 56 | 0) >> 2] = (HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) & 1 | 0; + $386_1 = $2534((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 80 | 0) >> 2] | 0) | 0 | 0, $5_1 + 52 | 0 | 0) | 0; + HEAP32[($5_1 + 80 | 0) >> 2] = (HEAP32[($5_1 + 80 | 0) >> 2] | 0) + $386_1 | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + (HEAP32[($5_1 + 52 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + label$36 : { + label$37 : { + if (!((HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$37 + } + $2534((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 80 | 0) >> 2] | 0) | 0 | 0, $5_1 + 52 | 0 | 0) | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + (HEAP32[($5_1 + 52 | 0) >> 2] | 0) | 0; + break label$36; + } + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + } + label$38 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$38 + } + HEAP32[($5_1 + 204 | 0) >> 2] = 267; + break label$35; + } + label$39 : { + if (HEAP32[($5_1 + 56 | 0) >> 2] | 0) { + break label$39 + } + $425_1 = $2534((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 64 | 0) >> 2] | 0) | 0 | 0, $5_1 + 52 | 0 | 0) | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 64 | 0) >> 2] | 0) + $425_1 | 0; + label$40 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$40 + } + HEAP32[($5_1 + 204 | 0) >> 2] = 267; + break label$35; + } + HEAP32[($5_1 + 92 | 0) >> 2] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + } + $443_1 = $2534((HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 64 | 0) >> 2] | 0) | 0 | 0, $5_1 + 52 | 0 | 0) | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 64 | 0) >> 2] | 0) + $443_1 | 0; + label$41 : { + if (!(((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + (HEAP32[($5_1 + 52 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($5_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$41 + } + HEAP32[($5_1 + 204 | 0) >> 2] = 267; + break label$35; + } + $2510($5_1 + 204 | 0 | 0, $5_1 + 88 | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 64 | 0) >> 2] | 0) | 0 | 0); + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 64 | 0) >> 2] | 0) + (HEAP32[($5_1 + 52 | 0) >> 2] | 0) | 0; + $469_1 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $469_1; + $2503($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, 54514 | 0, $5_1 + 32 | 0 | 0); + $490_1 = $2831($5_1 + 204 | 0 | 0, $5_1 + 208 | 0 | 0, (HEAP32[($5_1 + 220 | 0) >> 2] | 0) + (HEAP32[($5_1 + 64 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 48 | 0) >> 2] | 0) - (HEAP32[($5_1 + 64 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 64 | 0) >> 2] | 0) + $490_1 | 0; + continue label$33; + } + break label$33; + }; + $2521($5_1 + 88 | 0 | 0); + } + } + } + } + $42(HEAP32[($5_1 + 220 | 0) >> 2] | 0 | 0); + label$42 : { + label$43 : { + if (HEAP32[($5_1 + 204 | 0) >> 2] | 0) { + break label$43 + } + $277(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 212 | 0) >> 2] | 0 | 0, -1 | 0); + break label$42; + } + $284(HEAP32[($5_1 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 204 | 0) >> 2] | 0 | 0); + } + $2521($5_1 + 208 | 0 | 0); + global$0 = $5_1 + 272 | 0; + return; + } + + function $2467($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $48$hi = 0, $49$hi = 0, $19_1 = 0, $50$hi = 0, $51$hi = 0, $52$hi = 0, $53$hi = 0, $54$hi = 0, $55$hi = 0, $153_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 24 | 0) >> 2] | 0) { + break label$2 + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 54681 | 0, -1 | 0); + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((0 | 0) == ($87(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 54718 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$6 + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 54726 | 0, -1 | 0); + break label$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $48$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $49$hi = i64toi32_i32$0; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = $49$hi; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $19_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $50$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$0 = $19_1; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $52$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $53$hi = i64toi32_i32$5; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$5 = $53$hi; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $54$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $55$hi = i64toi32_i32$4; + i64toi32_i32$4 = $54$hi; + i64toi32_i32$4 = $55$hi; + $153_1 = i64toi32_i32$1; + i64toi32_i32$4 = $54$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$3 = $153_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$4 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$5 | 0); + } + break label$3; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 54773 | 0, -1 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2468($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $28$hi = 0, $30$hi = 0, i64toi32_i32$3 = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $24_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$1 : { + if (HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $11_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $12_1 = 0 + } else { + $12_1 = 1 + } + $13_1 = $12_1; + } else { + $13_1 = 0 + } + $11_1 = $13_1; + } + label$4 : { + if (!($11_1 & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = 7; + } + break label$2; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $3289(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$2 | 0) | 0; + } + } + $24_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $24_1 | 0; + } + + function $2469($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $80_1 = 0, $24_1 = 0, $25_1 = 0, i64toi32_i32$0 = 0, $9_1 = 0, $11_1 = 0, i64toi32_i32$1 = 0, $71_1 = 0, $109_1 = 0, $134_1 = 0, $157_1 = 0, $186_1 = 0, $36_1 = 0, $47_1 = 0, $51_1 = 0, $65_1 = 0, $171_1 = 0, $176_1 = 0, $177_1 = 0, $178_1 = 0, $238_1 = 0, $240_1 = 0, $247_1 = 0, $263_1 = 0, $273_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 128 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 112 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 108 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 104 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 100 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 96 | 0) >> 2] = $9_1; + $11_1 = $38(108 | 0) | 0; + HEAP32[($8_1 + 92 | 0) >> 2] = $11_1; + HEAP32[(HEAP32[($8_1 + 104 | 0) >> 2] | 0) >> 2] = $11_1; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0) == ($9_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 124 | 0) >> 2] = 7; + break label$1; + } + $24_1 = $8_1 + 96 | 0; + $25_1 = -1; + $3289(HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0, 0 | 0, 108 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 92 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 116 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 72 | 0) >> 2] = $25_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 80 | 0) >> 2] = Math_imul(HEAP32[($8_1 + 112 | 0) >> 2] | 0, 5); + HEAP32[($8_1 + 84 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 84 | 0) >> 2] | 0; + $36_1 = $2468($24_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 16 | 0) >> 2] = $36_1; + HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 112 | 0) >> 2] | 0) << 2 | 0) | 0; + $47_1 = $2475($24_1 | 0, HEAP32[((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $25_1 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] = $47_1; + $51_1 = $2475($24_1 | 0, HEAP32[((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, $25_1 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] = $51_1; + HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 44 | 0) >> 2] = 1; + HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + label$3 : { + if (HEAP32[($8_1 + 96 | 0) >> 2] | 0) { + break label$3 + } + if ($87(HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 50840 | 0) | 0) { + break label$3 + } + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $65_1 = $79(50845 | 0, $8_1 + 32 | 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 100 | 0) >> 2] | 0) >> 2] = $65_1; + HEAP32[($8_1 + 96 | 0) >> 2] = 1; + } + HEAP32[($8_1 + 88 | 0) >> 2] = 3; + label$4 : while (1) { + $71_1 = 0; + label$5 : { + if (HEAP32[($8_1 + 96 | 0) >> 2] | 0) { + break label$5 + } + $71_1 = (HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 112 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (!($71_1 & 1 | 0)) { + break label$6 + } + $80_1 = 0; + HEAP32[($8_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 88 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($8_1 + 68 | 0) >> 2] = $80_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $80_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $80_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $80_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2476($8_1 + 96 | 0 | 0, HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, $8_1 + 68 | 0 | 0, $8_1 + 56 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2477(HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != ($80_1 | 0) & 1 | 0)) { + break label$7 + } + $109_1 = 24; + if (!((((HEAPU8[(HEAP32[($8_1 + 72 | 0) >> 2] | 0) >> 0] | 0) << $109_1 | 0) >> $109_1 | 0 | 0) == (61 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($8_1 + 60 | 0) >> 2] = 1; + HEAP32[($8_1 + 72 | 0) >> 2] = (HEAP32[($8_1 + 72 | 0) >> 2] | 0) + 1 | 0; + label$8 : { + if (!(HEAP32[($8_1 + 56 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($8_1 + 72 | 0) >> 2] = 0; + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2477(HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $134_1 = 24; + if (!(((HEAPU8[(HEAP32[($8_1 + 72 | 0) >> 2] | 0) >> 0] | 0) << $134_1 | 0) >> $134_1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2476($8_1 + 96 | 0 | 0, HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0, $8_1 + 64 | 0 | 0, $8_1 + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $157_1 = 24; + if (!(((HEAPU8[(HEAP32[($8_1 + 72 | 0) >> 2] | 0) >> 0] | 0) << $157_1 | 0) >> $157_1 | 0)) { + break label$10 + } + HEAP32[($8_1 + 72 | 0) >> 2] = 0; + } + } + label$11 : { + if (HEAP32[($8_1 + 96 | 0) >> 2] | 0) { + break label$11 + } + label$12 : { + label$13 : { + if (!((HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[$8_1 >> 2] = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + $171_1 = $79(50874 | 0, $8_1 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 100 | 0) >> 2] | 0) >> 2] = $171_1; + HEAP32[($8_1 + 96 | 0) >> 2] = 1; + break label$12; + } + label$14 : { + label$15 : { + if (!(HEAP32[($8_1 + 60 | 0) >> 2] | 0)) { + break label$15 + } + $176_1 = HEAP32[($8_1 + 120 | 0) >> 2] | 0; + $177_1 = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + $178_1 = HEAP32[($8_1 + 68 | 0) >> 2] | 0; + label$16 : { + label$17 : { + if (!((HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + $186_1 = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + break label$16; + } + $186_1 = 1352; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2478($176_1 | 0, $177_1 | 0, $178_1 | 0, $186_1 | 0, HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + break label$14; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2479(HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 68 | 0) >> 2] = 0; + } + } + } + $42(HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0); + $42(HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 88 | 0) >> 2] = (HEAP32[($8_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + label$18 : { + if (HEAP32[($8_1 + 96 | 0) >> 2] | 0) { + break label$18 + } + if (!((HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2480(HEAP32[($8_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + } + label$19 : { + if (HEAP32[($8_1 + 96 | 0) >> 2] | 0) { + break label$19 + } + if (!((HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($8_1 + 48 | 0) >> 2] = 0; + label$20 : { + label$21 : { + if (HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) { + break label$21 + } + HEAP32[($8_1 + 48 | 0) >> 2] = 48407; + break label$20; + } + label$22 : { + if (!(HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$22 + } + HEAP32[($8_1 + 48 | 0) >> 2] = 50539; + } + } + label$23 : { + if (!((HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + $238_1 = HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $240_1 = HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $240_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $238_1; + $247_1 = $2481($8_1 + 96 | 0 | 0, 50894 | 0, $8_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] = $247_1; + } + } + label$24 : { + if (HEAP32[($8_1 + 96 | 0) >> 2] | 0) { + break label$24 + } + if (!((HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$24 + } + $263_1 = $2475($8_1 + 96 | 0 | 0, 14175 | 0, -1 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] = $263_1; + } + label$25 : { + if (HEAP32[($8_1 + 96 | 0) >> 2] | 0) { + break label$25 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2482(HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + } + label$26 : { + if (!(HEAP32[($8_1 + 96 | 0) >> 2] | 0)) { + break label$26 + } + $2483(HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($8_1 + 104 | 0) >> 2] | 0) >> 2] = 0; + } + HEAP32[($8_1 + 124 | 0) >> 2] = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + } + $273_1 = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + global$0 = $8_1 + 128 | 0; + return $273_1 | 0; + } + + function $2470($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $11_1 = 0, i64toi32_i32$0 = 0, $23_1 = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + $11_1 = $2468($6_1 + 12 | 0 | 0, 88 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $11_1; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = $11_1; + label$1 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = 64; + HEAP32[$6_1 >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $23_1 = $2481($6_1 + 12 | 0 | 0, 51610 | 0, $6_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = $23_1; + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2484(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 51618 | 0, 51623 | 0, 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2484(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 14134 | 0, 51658 | 0, 1 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2485(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + } + label$5 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$5 + } + $2486(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + } + $54_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $54_1 | 0; + } + + function $2471($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $8_1 = 0, $16_1 = 0, $129$hi = 0, $130$hi = 0, $131$hi = 0, $132$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $39_1 = 0, $23_1 = 0, $74_1 = 0, $77_1 = 0, $83_1 = 0, $123_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $8_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 3 | 0) + 72 | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $16_1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $16_1; + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = $16_1; + label$1 : { + label$2 : { + if ((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) != ($8_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $3289(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 72 | 0; + HEAP32[(HEAP32[($7_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + label$3 : { + if (!(HEAP32[($7_1 + 48 | 0) >> 2] | 0)) { + break label$3 + } + label$4 : { + if (HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) { + break label$4 + } + $39_1 = 0; + HEAP32[($7_1 + 20 | 0) >> 2] = Math_imul(HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 10) + 32 | 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $129$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $130$hi = i64toi32_i32$0; + i64toi32_i32$0 = $129$hi; + i64toi32_i32$0 = $130$hi; + i64toi32_i32$0 = $129$hi; + $23_1 = i64toi32_i32$1; + i64toi32_i32$1 = $130$hi; + i64toi32_i32$1 = __wasm_i64_mul($23_1 | 0, i64toi32_i32$0 | 0, 10 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $131$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $132$hi = i64toi32_i32$0; + i64toi32_i32$0 = $131$hi; + i64toi32_i32$0 = $132$hi; + i64toi32_i32$0 = $131$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $132$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $41(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == ($39_1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 36 | 0) >> 2] = 7; + break label$5; + } + $81(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, 51842 | 0, 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3303(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $74_1 = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) - (HEAP32[($7_1 + 8 | 0) >> 2] | 0) | 0; + $77_1 = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + (HEAP32[($7_1 + 8 | 0) >> 2] | 0) | 0; + HEAP32[$7_1 >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $81($74_1 | 0, $77_1 | 0, 51865 | 0, $7_1 | 0) | 0; + $83_1 = $3303((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + (HEAP32[($7_1 + 8 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + $83_1 | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2484(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, 48407 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0); + } + label$9 : { + if (HEAP32[($7_1 + 36 | 0) >> 2] | 0) { + break label$9 + } + if (!(HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$9 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2484(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, 50539 | 0, 51871 | 0, 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + if (HEAP32[($7_1 + 36 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2484(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, 51903 | 0, 51910 | 0, 1 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + if (HEAP32[($7_1 + 36 | 0) >> 2] | 0) { + break label$11 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2487(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, 51927 | 0, 0 | 0, 4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + } + label$12 : { + if (!(HEAP32[($7_1 + 36 | 0) >> 2] | 0)) { + break label$12 + } + $2488(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = 0; + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + } + $123_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $123_1 | 0; + } + + function $2472($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $19_1 = 0, $33_1 = 0, $34_1 = 0, $49_1 = 0, $51_1 = 0, $71_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 36 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2481($3_1 + 36 | 0 | 0, 52380 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 40 | 0) >> 2] = 0; + label$1 : while (1) { + $19_1 = 0; + label$2 : { + if (!((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = (HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($19_1 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 40 | 0) >> 2] | 0 ? 31008 : 1352; + $33_1 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + $34_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $34_1; + HEAP32[$3_1 >> 2] = $33_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2481($3_1 + 36 | 0 | 0, 52396 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 40 | 0) >> 2] = (HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $49_1 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + $51_1 = HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = 50840; + HEAP32[($3_1 + 20 | 0) >> 2] = $51_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $49_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2481($3_1 + 36 | 0 | 0, 52403 | 0, $3_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $414(HEAP32[(HEAP32[($3_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + } + $71_1 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $71_1 | 0; + } + + function $2473($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2489(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $2490(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $8_1 = $2491(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $8_1 | 0; + } + + function $2474($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2492(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $2493(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $2494(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2475($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = 0; + label$1 : { + if (HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $3288(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP8[((HEAP32[$5_1 >> 2] | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0) >> 0] = 0; + break label$3; + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = 7; + } + } + $38_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $38_1 | 0; + } + + function $2476($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $7_1 = 0, $67$hi = 0, $68$hi = 0, $70$hi = 0, $71$hi = 0, $27_1 = 0, $22_1 = 0, $23_1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3303(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $67$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $68$hi = i64toi32_i32$1; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $41(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $7_1; + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] = 7; + break label$1; + } + $22_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $23_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $70$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $71$hi = i64toi32_i32$2; + i64toi32_i32$2 = $70$hi; + i64toi32_i32$2 = $71$hi; + i64toi32_i32$2 = $70$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $71$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $3288($22_1 | 0, $23_1 | 0, i64toi32_i32$0 | 0) | 0; + $27_1 = 24; + label$3 : { + label$4 : { + if (!($2495(((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $27_1 | 0) >> $27_1 | 0 | 0) | 0)) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2496(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = 1; + break label$3; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2497(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) - (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) | 0) >> 0] = 0; + } + } + } + label$6 : { + label$7 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + $42(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + break label$6; + } + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + } + $63_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $63_1 | 0; + } + + function $2477($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0, $21_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : while (1) { + $14_1 = 24; + if (!($2498(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $14_1 | 0) >> $14_1 | 0 | 0) | 0)) { + break label$2 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + $21_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $21_1 | 0; + } + + function $2478($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $448_1 = 0, $134_1 = 0, $37_1 = 0, $52_1 = 0, $66_1 = 0, $79_1 = 0, $85_1 = 0, $96_1 = 0, $126_1 = 0, $139_1 = 0, $160_1 = 0, $197_1 = 0, $209_1 = 0, $479$hi = 0, $480$hi = 0, $60_1 = 0, $482$hi = 0, $483$hi = 0, $61_1 = 0, $253_1 = 0, $257_1 = 0, $271_1 = 0, $487$hi = 0, $488$hi = 0, $400_1 = 0, $411_1 = 0, $421_1 = 0, $432_1 = 0, $460_1 = 0, $28_1 = 0, $106_1 = 0, $119_1 = 0, $185_1 = 0, $206_1 = 0, $242_1 = 0, $320_1 = 0, $340_1 = 0, $356_1 = 0, $363_1 = 0, $382_1 = 0, $390_1 = 0, $426_1 = 0, $1433_1 = 0, $1440_1 = 0, $1447_1 = 0, $1451_1 = 0, $463_1 = 0, $466_1 = 0, $471_1 = 0, $474_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 160 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 152 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 148 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 144 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 140 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 136 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 132 | 0) >> 2] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3303(HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ($89(48374 | 0, HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0) | 0) { + break label$2 + } + HEAP32[($7_1 + 124 | 0) >> 2] = 124; + HEAP32[($7_1 + 116 | 0) >> 2] = 1; + label$3 : { + if (!((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + $28_1 = $2468($7_1 + 132 | 0 | 0, 124 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 28 | 0) >> 2] = $28_1; + label$4 : { + if (!(HEAP32[($7_1 + 132 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($7_1 + 156 | 0) >> 2] = HEAP32[($7_1 + 132 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($7_1 + 120 | 0) >> 2] = HEAP32[($7_1 + 140 | 0) >> 2] | 0; + label$5 : while (1) { + HEAP32[($7_1 + 112 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + $37_1 = 24; + if (!((((HEAPU8[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $37_1 | 0) >> $37_1 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 120 | 0) >> 2] = (HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + label$8 : { + label$9 : { + label$10 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$10 + } + $52_1 = 24; + if (!((((HEAPU8[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $52_1 | 0) >> $52_1 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 120 | 0) >> 2] = (HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 1 | 0; + label$11 : { + label$12 : while (1) { + $66_1 = 24; + if (!((((HEAPU8[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $66_1 | 0) >> $66_1 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($7_1 + 120 | 0) >> 2] = (HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + break label$9; + } + $79_1 = 24; + label$13 : { + if (((HEAPU8[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $79_1 | 0) >> $79_1 | 0) { + break label$13 + } + break label$8; + } + } + $85_1 = 24; + label$14 : { + label$15 : { + if ((((HEAPU8[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $85_1 | 0) >> $85_1 | 0 | 0) < (48 | 0) & 1 | 0) { + break label$15 + } + $96_1 = 24; + if (!((((HEAPU8[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $96_1 | 0) >> $96_1 | 0 | 0) > (57 | 0) & 1 | 0)) { + break label$14 + } + } + $106_1 = $79(51040 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $106_1; + HEAP32[($7_1 + 132 | 0) >> 2] = 1; + break label$8; + } + label$16 : { + if (!((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (31 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[$7_1 >> 2] = 31; + $119_1 = $79(51071 | 0, $7_1 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $119_1; + HEAP32[($7_1 + 132 | 0) >> 2] = 1; + break label$8; + } + label$17 : while (1) { + $126_1 = 24; + $134_1 = 0; + label$18 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $126_1 | 0) >> $126_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$18 + } + $139_1 = 24; + $134_1 = 0; + if (!((((HEAPU8[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $139_1 | 0) >> $139_1 | 0 | 0) <= (57 | 0) & 1 | 0)) { + break label$18 + } + $134_1 = (HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) < (1e3 | 0); + } + label$19 : { + if (!($134_1 & 1 | 0)) { + break label$19 + } + $160_1 = 24; + HEAP32[($7_1 + 112 | 0) >> 2] = Math_imul(HEAP32[($7_1 + 112 | 0) >> 2] | 0, 10) + ((((HEAPU8[(HEAP32[($7_1 + 120 | 0) >> 2] | 0) >> 0] | 0) << $160_1 | 0) >> $160_1 | 0) - 48 | 0) | 0; + HEAP32[($7_1 + 120 | 0) >> 2] = (HEAP32[($7_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + } + break label$17; + }; + label$20 : { + label$21 : { + if ((HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0) { + break label$21 + } + if (!((HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) >= (1e3 | 0) & 1 | 0)) { + break label$20 + } + } + $185_1 = $79(51104 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $185_1; + HEAP32[($7_1 + 132 | 0) >> 2] = 1; + break label$8; + } + HEAP32[((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 112 | 0) >> 2] | 0; + $197_1 = HEAP32[($7_1 + 148 | 0) >> 2] | 0; + HEAP32[($197_1 + 24 | 0) >> 2] = (HEAP32[($197_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 116 | 0) >> 2] = 0; + continue label$5; + } + break label$5; + }; + HEAP32[($7_1 + 156 | 0) >> 2] = HEAP32[($7_1 + 132 | 0) >> 2] | 0; + break label$1; + } + label$22 : { + if ($89(48365 | 0, HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0) | 0) { + break label$22 + } + $206_1 = 0; + $209_1 = $7_1 + 132 | 0; + HEAP32[($7_1 + 108 | 0) >> 2] = HEAP32[($7_1 + 140 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = ($3303(HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 100 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 100 | 0) >> 2] | 0; + $479$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $480$hi = i64toi32_i32$1; + i64toi32_i32$1 = $479$hi; + i64toi32_i32$1 = $480$hi; + i64toi32_i32$1 = $479$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $480$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $60_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $60_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2468($209_1 | 0, $60_1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 100 | 0) >> 2] | 0; + $482$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $483$hi = i64toi32_i32$2; + i64toi32_i32$2 = $482$hi; + i64toi32_i32$2 = $483$hi; + i64toi32_i32$2 = $482$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $483$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $61_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $61_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2468($209_1 | 0, $61_1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + label$23 : { + if (!((HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) != ($206_1 | 0) & 1 | 0)) { + break label$23 + } + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + label$24 : { + label$25 : { + if (!((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + $242_1 = $79(51141 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $242_1; + HEAP32[($7_1 + 132 | 0) >> 2] = 1; + break label$24; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 96 | 0) >> 2] = 0; + HEAP32[($7_1 + 100 | 0) >> 2] = i64toi32_i32$0; + label$26 : while (1) { + $253_1 = 0; + label$27 : { + if (!((HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$27 + } + $257_1 = 24; + $253_1 = (((HEAPU8[(HEAP32[($7_1 + 108 | 0) >> 2] | 0) >> 0] | 0) << $257_1 | 0) >> $257_1 | 0 | 0) != (0 | 0); + } + label$28 : { + if (!($253_1 & 1 | 0)) { + break label$28 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2477(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + $271_1 = 24; + label$29 : { + label$30 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 80 | 0) >> 2] | 0) >> 0] | 0) << $271_1 | 0) >> $271_1 | 0 | 0) == (39 | 0) & 1 | 0)) { + break label$30 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2499(HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + break label$29; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2497(HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + } + label$31 : { + if (!((HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$31 + } + $3288(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 108 | 0) >> 2] | 0) - (HEAP32[($7_1 + 80 | 0) >> 2] | 0) | 0 | 0) | 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 100 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + (i64toi32_i32$0 << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + $2500(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 84 | 0) >> 2] = (HEAP32[($7_1 + 84 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 108 | 0) >> 2] | 0) - (HEAP32[($7_1 + 80 | 0) >> 2] | 0) | 0) + 1 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2477(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 100 | 0) >> 2] | 0; + $487$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $488$hi = i64toi32_i32$0; + i64toi32_i32$0 = $487$hi; + i64toi32_i32$0 = $488$hi; + i64toi32_i32$0 = $487$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $488$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $7_1; + HEAP32[($7_1 + 96 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($7_1 + 100 | 0) >> 2] = i64toi32_i32$5; + continue label$26; + } + break label$26; + }; + label$32 : { + label$33 : { + if (!((HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$33 + } + $320_1 = $79(51174 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $320_1; + HEAP32[($7_1 + 132 | 0) >> 2] = 1; + break label$32; + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 100 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2501(HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, HEAP32[($7_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + } + } + } + $42(HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0); + $42(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 156 | 0) >> 2] = HEAP32[($7_1 + 132 | 0) >> 2] | 0; + break label$1; + } + label$34 : { + if ($89(48407 | 0, HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0) | 0) { + break label$34 + } + label$35 : { + label$36 : { + if (!(HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0)) { + break label$36 + } + $340_1 = $79(51208 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $340_1; + HEAP32[($7_1 + 132 | 0) >> 2] = 1; + break label$35; + } + label$37 : { + label$38 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 140 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$38 + } + HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] = 2; + $356_1 = HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($7_1 + 140 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $356_1; + $363_1 = $2481($7_1 + 132 | 0 | 0, 51240 | 0, $7_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 36 | 0) >> 2] = $363_1; + break label$37; + } + HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + } + } + HEAP32[($7_1 + 156 | 0) >> 2] = HEAP32[($7_1 + 132 | 0) >> 2] | 0; + break label$1; + } + label$39 : { + if ($89(51246 | 0, HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0) | 0) { + break label$39 + } + label$40 : { + label$41 : { + if (!((HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$41 + } + $382_1 = $79(51260 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $382_1; + HEAP32[($7_1 + 132 | 0) >> 2] = 1; + break label$40; + } + $390_1 = $2475($7_1 + 132 | 0 | 0, HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 40 | 0) >> 2] = $390_1; + } + HEAP32[($7_1 + 156 | 0) >> 2] = HEAP32[($7_1 + 132 | 0) >> 2] | 0; + break label$1; + } + label$42 : { + if ($89(51298 | 0, HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0) | 0) { + break label$42 + } + $400_1 = 24; + label$43 : { + label$44 : { + label$45 : { + label$46 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 140 | 0) >> 2] | 0) >> 0] | 0) << $400_1 | 0) >> $400_1 | 0 | 0) != (48 | 0) & 1 | 0)) { + break label$46 + } + $411_1 = 24; + if ((((HEAPU8[(HEAP32[($7_1 + 140 | 0) >> 2] | 0) >> 0] | 0) << $411_1 | 0) >> $411_1 | 0 | 0) != (49 | 0) & 1 | 0) { + break label$45 + } + } + $421_1 = 24; + if (!(((HEAPU8[((HEAP32[($7_1 + 140 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $421_1 | 0) >> $421_1 | 0)) { + break label$44 + } + } + $426_1 = $79(51309 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $426_1; + HEAP32[($7_1 + 132 | 0) >> 2] = 1; + break label$43; + } + $432_1 = 24; + HEAP32[((HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 44 | 0) >> 2] = (((HEAPU8[(HEAP32[($7_1 + 140 | 0) >> 2] | 0) >> 0] | 0) << $432_1 | 0) >> $432_1 | 0 | 0) == (49 | 0) & 1 | 0; + } + HEAP32[($7_1 + 156 | 0) >> 2] = HEAP32[($7_1 + 132 | 0) >> 2] | 0; + break label$1; + } + label$47 : { + if ($89(11541 | 0, HEAP32[($7_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 128 | 0) >> 2] | 0 | 0) | 0) { + break label$47 + } + $448_1 = $7_1 + 48 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 51384 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 51388 | 0) >> 2] | 0; + $1433_1 = i64toi32_i32$2; + i64toi32_i32$2 = $448_1 + 24 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $1433_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 51376 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 51380 | 0) >> 2] | 0; + $1440_1 = i64toi32_i32$5; + i64toi32_i32$5 = $448_1 + 16 | 0; + HEAP32[i64toi32_i32$5 >> 2] = $1440_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 51368 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 51372 | 0) >> 2] | 0; + $1447_1 = i64toi32_i32$2; + i64toi32_i32$2 = $448_1 + 8 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $1447_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 51360 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 51364 | 0) >> 2] | 0; + $1451_1 = i64toi32_i32$5; + i64toi32_i32$5 = $448_1; + HEAP32[i64toi32_i32$5 >> 2] = $1451_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + $460_1 = $2502(i64toi32_i32$5 | 0, HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 148 | 0) >> 2] | 0) + 48 | 0 | 0) | 0; + HEAP32[($7_1 + 132 | 0) >> 2] = $460_1; + label$48 : { + if (!$460_1) { + break label$48 + } + $463_1 = $79(51392 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $463_1; + } + HEAP32[($7_1 + 156 | 0) >> 2] = HEAP32[($7_1 + 132 | 0) >> 2] | 0; + break label$1; + } + $466_1 = HEAP32[($7_1 + 128 | 0) >> 2] | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[($7_1 + 144 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = $466_1; + $471_1 = $79(51423 | 0, $7_1 + 32 | 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 136 | 0) >> 2] | 0) >> 2] = $471_1; + HEAP32[($7_1 + 156 | 0) >> 2] = 1; + } + $474_1 = HEAP32[($7_1 + 156 | 0) >> 2] | 0; + global$0 = $7_1 + 160 | 0; + return $474_1 | 0; + } + + function $2479($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $62_1 = 0, $63_1 = 0, $27_1 = 0, $56_1 = 0, $59_1 = 0, $61_1 = 0, $69_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + label$3 : { + if (($7_1 | 0) == ($87(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, 50840 | 0) | 0 | 0) & 1 | 0) { + break label$3 + } + if (!((0 | 0) == ($87(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, 14175 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + $27_1 = $79(51519 | 0, $6_1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $27_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!((0 | 0) == ($87(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 51549 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) >> 0] = 1; + break label$5; + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $56_1 = $79(51559 | 0, $6_1 + 16 | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $56_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + } + } + } + $59_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + $61_1 = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $62_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $63_1 = HEAP32[($62_1 + 12 | 0) >> 2] | 0; + HEAP32[($62_1 + 12 | 0) >> 2] = $63_1 + 1 | 0; + HEAP32[($61_1 + ($63_1 << 2 | 0) | 0) >> 2] = $59_1; + $69_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $69_1 | 0; + } + + function $2480($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $2501(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $5_1 | 0, $5_1 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $2481($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[$5_1 >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $78(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = 7; + } + } + $22_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $22_1 | 0; + } + + function $2482($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, i64toi32_i32$0 = 0, $70_1 = 0; + $3_1 = global$0 - 64 | 0; + global$0 = $3_1; + $6_1 = $3_1 + 40 | 0; + HEAP32[($3_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 52 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + HEAP32[$6_1 >> 2] = 0; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $2503($3_1 + 52 | 0 | 0, $3_1 + 40 | 0 | 0, 51590 | 0, $3_1 + 32 | 0 | 0); + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 56 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $2503($3_1 + 52 | 0 | 0, $3_1 + 40 | 0 | 0, 51595 | 0, $3_1 | 0); + break label$4; + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + $2503($3_1 + 52 | 0 | 0, $3_1 + 40 | 0 | 0, 51602 | 0, $3_1 + 16 | 0 | 0); + } + HEAP32[($3_1 + 56 | 0) >> 2] = (HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + $70_1 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + global$0 = $3_1 + 64 | 0; + return $70_1 | 0; + } + + function $2483($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0); + } + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $42(HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2484($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $12_1 = 0, $14_1 = 0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $37_1 = 0, $38_1 = 0, $41_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + $12_1 = HEAP32[(HEAP32[($7_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + $14_1 = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $16_1 = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $17_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + $18_1 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0 ? 51732 : 1352; + HEAP32[($7_1 + 28 | 0) >> 2] = $18_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $17_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $16_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $14_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2512($12_1 | 0, $7_1 + 36 | 0 | 0, 51702 | 0, $7_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $37_1 = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $38_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = $38_1; + HEAP32[$7_1 >> 2] = $37_1; + $41_1 = $79(51747 | 0, $7_1 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = $41_1; + $42(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + } + $44_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $44_1 | 0; + } + + function $2485($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $24_1 = 0, $23$hi = 0, $20_1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + $23$hi = i64toi32_i32$0; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + $2494(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + $2493(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = 0; + $24_1 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[$3_1 >> 2] = $24_1; + HEAP32[($3_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $3_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $24_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $3_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $24_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $3_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $24_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $3_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $24_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $23$hi; + $2513(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, 1352 | 0, 0 | 0); + $2514(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, $3_1 | 0); + $20_1 = $2491(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 48 | 0; + return $20_1 | 0; + } + + function $2486($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $29_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + $2494(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) | 0; + $2515(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + $29_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $29_1 | 0; + } + + function $2487($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $11_1 = 0, $15_1 = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $11_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $11_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2523(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 9 | 0, $6_1 + 12 | 0 | 0, $11_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$1 + } + $15_1 = 0; + $333(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, -1 | 0, $15_1 | 0) | 0; + label$2 : { + label$3 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != ($15_1 | 0) & 1 | 0)) { + break label$3 + } + $334(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + break label$2; + } + $330(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + } + $287(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $222(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $332(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + } + label$4 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2524(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + } + } + $58_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $58_1 | 0; + } + + function $2488($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $31_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (11 | 0) & 1 | 0)) { + break label$2 + } + $213(HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + $31_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $31_1 | 0; + } + + function $2489($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $58_1 = 0, $17_1 = 0, $26_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = $2525(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $58_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] = $58_1; + HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] = i64toi32_i32$1; + label$2 : { + if (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $17_1 = $2526(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] = $17_1; + } + } + label$3 : { + label$4 : { + if (!(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$3; + } + $2527(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + } + $26_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $26_1 | 0; + } + + function $2490($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0, $15_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $12_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $15_1 = (HEAP32[$12_1 >> 2] | 0) + -1 | 0; + HEAP32[$12_1 >> 2] = $15_1; + if (!((0 | 0) >= ($15_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $42(HEAP32[((((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2491($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = 0; + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $2492($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + $383(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2493($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $2516(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2494($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $2490(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] = 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2495($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0, $7_1 = 0, $19_1 = 0, $30_1 = 0, $40_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP8[($3_1 + 15 | 0) >> 0] = $0_1; + $7_1 = 24; + $15_1 = 1; + label$1 : { + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0 | 0) == (34 | 0) & 1 | 0) { + break label$1 + } + $19_1 = 24; + $15_1 = 1; + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) == (39 | 0) & 1 | 0) { + break label$1 + } + $30_1 = 24; + $15_1 = 1; + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) == (91 | 0) & 1 | 0) { + break label$1 + } + $40_1 = 24; + $15_1 = (((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) == (96 | 0); + } + return $15_1 & 1 | 0 | 0; + } + + function $2496($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $10_1 = 0, $35_1 = 0, $39_1 = 0, $53_1 = 0, $57_1 = 0, $73_1 = 0, $78_1 = 0, $84_1 = 0, $71_1 = 0, $72_1 = 0, $77_1 = 0, $82_1 = 0, $83_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 1; + HEAP32[$3_1 >> 2] = 0; + HEAP8[($3_1 + 11 | 0) >> 0] = HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0; + $10_1 = 24; + label$1 : { + if (!((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) == (91 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[($3_1 + 11 | 0) >> 0] = 93; + } + label$2 : { + label$3 : while (1) { + if (!(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $35_1 = 24; + $39_1 = 24; + label$4 : { + label$5 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) << $35_1 | 0) >> $35_1 | 0 | 0) == (((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0 | 0) & 1 | 0)) { + break label$5 + } + $53_1 = 24; + $57_1 = 24; + label$6 : { + if (!((((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $53_1 | 0) >> $53_1 | 0 | 0) != (((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $57_1 | 0) >> $57_1 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$2; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 2 | 0; + $71_1 = HEAPU8[($3_1 + 11 | 0) >> 0] | 0; + $72_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $73_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[$3_1 >> 2] = $73_1 + 1 | 0; + HEAP8[($72_1 + $73_1 | 0) >> 0] = $71_1; + break label$4; + } + $77_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $78_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $78_1 + 1 | 0; + $82_1 = HEAPU8[($77_1 + $78_1 | 0) >> 0] | 0; + $83_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $84_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[$3_1 >> 2] = $84_1 + 1 | 0; + HEAP8[($83_1 + $84_1 | 0) >> 0] = $82_1; + } + continue label$3; + }; + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + (HEAP32[$3_1 >> 2] | 0) | 0) >> 0] = 0; + return HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $2497($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $22_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + $7_1 = 24; + if (!($2504(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0 | 0) | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$3 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + } + $22_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $22_1 | 0; + } + + function $2498($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP8[($3_1 + 15 | 0) >> 0] = $0_1; + $6_1 = 24; + return (((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $6_1 | 0) >> $6_1 | 0 | 0) == (32 | 0) & 1 | 0 | 0; + } + + function $2499($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, $65_1 = 0, $31_1 = 0, $45_1 = 0, $57_1 = 0, $69_1 = 0, $81_1 = 0, $93_1 = 0, $101_1 = 0, $105_1 = 0, $121_1 = 0, $158_1 = 0, $172_1 = 0, $185_1 = 0, $192_1 = 0, $203_1 = 0, $216_1 = 0, $226_1 = 0, $236_1 = 0, $245_1 = 0, $260_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $6_1 = HEAP8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0; + label$1 : { + label$2 : { + label$3 : { + if (($6_1 | 0) == (39 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (($6_1 | 0) == (78 | 0)) { + break label$5 + } + if (($6_1 | 0) == (88 | 0)) { + break label$4 + } + if (($6_1 | 0) == (110 | 0)) { + break label$5 + } + if (($6_1 | 0) == (120 | 0)) { + break label$4 + } + break label$2; + } + label$6 : { + label$7 : { + if ($89(11577 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 4 | 0) | 0) { + break label$7 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0; + break label$6; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + } + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + $31_1 = 24; + label$8 : { + label$9 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $31_1 | 0) >> $31_1 | 0 | 0) == (39 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + label$10 : while (1) { + $45_1 = 24; + label$11 : { + label$12 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $45_1 | 0) >> $45_1 | 0 | 0) >= (97 | 0) & 1 | 0)) { + break label$12 + } + $57_1 = 24; + $65_1 = 1; + if ((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $57_1 | 0) >> $57_1 | 0 | 0) <= (102 | 0) & 1 | 0) { + break label$11 + } + } + $69_1 = 24; + label$13 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $69_1 | 0) >> $69_1 | 0 | 0) >= (65 | 0) & 1 | 0)) { + break label$13 + } + $81_1 = 24; + $65_1 = 1; + if ((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $81_1 | 0) >> $81_1 | 0 | 0) <= (70 | 0) & 1 | 0) { + break label$11 + } + } + $93_1 = 24; + $101_1 = 0; + label$14 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $93_1 | 0) >> $93_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$14 + } + $105_1 = 24; + $101_1 = (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $105_1 | 0) >> $105_1 | 0 | 0) <= (57 | 0); + } + $65_1 = $101_1; + } + label$15 : { + if (!($65_1 & 1 | 0)) { + break label$15 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + } + break label$10; + }; + $121_1 = 24; + label$16 : { + label$17 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $121_1 | 0) >> $121_1 | 0 | 0) == (39 | 0) & 1 | 0)) { + break label$17 + } + if (!((0 | 0) == (((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0 | 0) % (2 | 0) | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + break label$16; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + } + break label$8; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + } + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + $158_1 = 24; + label$20 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $158_1 | 0) >> $158_1 | 0 | 0) == (39 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + $172_1 = 24; + label$21 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $172_1 | 0) >> $172_1 | 0 | 0) != (39 | 0) & 1 | 0)) { + break label$21 + } + break label$18; + } + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + $185_1 = 24; + label$22 : { + if (((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $185_1 | 0) >> $185_1 | 0) { + break label$22 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + } + continue label$19; + }; + } + break label$1; + } + $192_1 = 24; + label$23 : { + label$24 : { + if ((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $192_1 | 0) >> $192_1 | 0 | 0) == (43 | 0) & 1 | 0) { + break label$24 + } + $203_1 = 24; + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $203_1 | 0) >> $203_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$23 + } + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + label$25 : { + label$26 : while (1) { + $216_1 = 24; + if (!($2505(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $216_1 | 0) >> $216_1 | 0 | 0) | 0)) { + break label$25 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$26; + }; + } + $226_1 = 24; + label$27 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $226_1 | 0) >> $226_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$27 + } + $236_1 = 24; + if (!($2505(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $236_1 | 0) >> $236_1 | 0 | 0) | 0)) { + break label$27 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 2 | 0; + label$28 : { + label$29 : while (1) { + $245_1 = 24; + if (!($2505(((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $245_1 | 0) >> $245_1 | 0 | 0) | 0)) { + break label$28 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$29; + }; + } + } + label$30 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + } + } + $260_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $260_1 | 0; + } + + function $2500($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $8_1 = 0, $18_1 = 0, $28_1 = 0, $38_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($3_1 + 11 | 0) >> 0] = HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0; + $8_1 = 24; + label$1 : { + label$2 : { + if ((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) == (91 | 0) & 1 | 0) { + break label$2 + } + $18_1 = 24; + if ((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) == (39 | 0) & 1 | 0) { + break label$2 + } + $28_1 = 24; + if ((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0 | 0) == (34 | 0) & 1 | 0) { + break label$2 + } + $38_1 = 24; + if (!((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $38_1 | 0) >> $38_1 | 0 | 0) == (96 | 0) & 1 | 0)) { + break label$1 + } + } + $2496(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2501($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $12_1 = 0, $41_1 = 0, $71_1 = 0, $9_1 = 0, $28_1 = 0, $31_1 = 0, $33_1 = 0, $36_1 = 0, $62_1 = 0, $68_1 = 0, $74_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 4 | 0) >> 2] = 0; + $9_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + $12_1 = 0; + break label$1; + } + $12_1 = HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2465($9_1 | 0, $12_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 4 | 0) >> 2] = 1; + HEAP32[$7_1 >> 2] = HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + $28_1 = $79(51451 | 0, $7_1 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = $28_1; + break label$3; + } + $31_1 = HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $33_1 = HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $36_1 = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0; + label$5 : { + label$6 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + $41_1 = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) - 1 | 0; + break label$5; + } + $41_1 = 0; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[$31_1 | 0]($33_1, $36_1, $41_1, (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 56 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 60 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 8 | 0; + label$7 : { + label$8 : { + if (!(HEAP32[($7_1 + 4 | 0) >> 2] | 0)) { + break label$8 + } + label$9 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $62_1 = $79(51473 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = $62_1; + } + break label$7; + } + $68_1 = $2506(HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 68 | 0) >> 2] = $68_1; + } + } + label$10 : { + if (!(HEAP32[($7_1 + 4 | 0) >> 2] | 0)) { + break label$10 + } + $71_1 = 0; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 60 | 0) >> 2] = $71_1; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] = $71_1; + } + $74_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $74_1 | 0; + } + + function $2502($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $49_1 = 0, $59_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 4 | 0) >> 2] = -1; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if ($89(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + label$5 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $49_1 = 0; + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < ($49_1 | 0) & 1 | 0 ? 1 : $49_1; + } + $59_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $59_1 | 0; + } + + function $2503($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $78(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 7; + break label$2; + } + $2509(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + $42(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2504($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0, $14_1 = 0, $18_1 = 0; + $3_1 = global$0 - 144 | 0; + global$0 = $3_1; + HEAP8[($3_1 + 143 | 0) >> 0] = $0_1; + $3288($3_1 | 0, 50912 | 0, 128 | 0) | 0; + $9_1 = 24; + $14_1 = 1; + label$1 : { + if ((((HEAPU8[($3_1 + 143 | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0) & 128 | 0) { + break label$1 + } + $18_1 = 24; + $14_1 = ((HEAPU8[($3_1 + (((HEAPU8[($3_1 + 143 | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + global$0 = $3_1 + 144 | 0; + return $14_1 & 1 | 0 | 0; + } + + function $2505($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $15_1 = 0, $18_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP8[($3_1 + 15 | 0) >> 0] = $0_1; + $7_1 = 24; + $15_1 = 0; + label$1 : { + if (!((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = 24; + $15_1 = (((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) <= (57 | 0); + } + return $15_1 & 1 | 0 | 0; + } + + function $2506($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (118 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0 ? 65 : 66; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2507($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $22_1 = 0, $56_1 = 0, $67_1 = 0, $77_1 = 0, $84_1 = 0, $102_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 7; + break label$1; + } + HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] = 1; + HEAP32[($6_1 + 4 | 0) >> 2] = 0; + label$3 : while (1) { + $22_1 = 0; + label$4 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$4 + } + $22_1 = (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + label$5 : { + if (!($22_1 & 1 | 0)) { + break label$5 + } + HEAP32[$6_1 >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + label$6 : { + label$7 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 51504 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + $56_1 = 24; + label$8 : { + label$9 : { + label$10 : { + label$11 : { + if (!((((HEAPU8[(HEAP32[$6_1 >> 2] | 0) >> 0] | 0) << $56_1 | 0) >> $56_1 | 0 | 0) != (48 | 0) & 1 | 0)) { + break label$11 + } + $67_1 = 24; + if ((((HEAPU8[(HEAP32[$6_1 >> 2] | 0) >> 0] | 0) << $67_1 | 0) >> $67_1 | 0 | 0) != (49 | 0) & 1 | 0) { + break label$10 + } + } + $77_1 = 24; + if (!(((HEAPU8[((HEAP32[$6_1 >> 2] | 0) + 1 | 0) >> 0] | 0) << $77_1 | 0) >> $77_1 | 0)) { + break label$9 + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + break label$8; + } + $84_1 = 24; + HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] = (((HEAPU8[(HEAP32[$6_1 >> 2] | 0) >> 0] | 0) << $84_1 | 0) >> $84_1 | 0 | 0) == (48 | 0) & 1 | 0; + } + break label$6; + } + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 2 | 0; + continue label$3; + } + break label$3; + }; + label$12 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$12 + } + $2508(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + } + } + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + $102_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $102_1 | 0; + } + + function $2508($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2509($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $14_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $2510(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[$5_1 >> 2] | 0) + 1 | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + $14_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($14_1 + 4 | 0) >> 2] = (HEAP32[($14_1 + 4 | 0) >> 2] | 0) + -1 | 0; + global$0 = $5_1 + 16 | 0; + return; + } + + function $2510($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $37_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + label$1 : { + if (!(HEAP32[($6_1 + 4 | 0) >> 2] | 0)) { + break label$1 + } + label$2 : { + label$3 : { + label$4 : { + if (!(((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0) >>> 0 <= (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + if (0 & 1 | 0) { + break label$3 + } + break label$2; + } + if (!($2511(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0) | 0)) { + break label$2 + } + } + break label$1; + } + $3288((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $37_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($37_1 + 4 | 0) >> 2] = (HEAP32[($37_1 + 4 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0; + } + global$0 = $6_1 + 16 | 0; + return; + } + + function $2511($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $18_1 = 0, $49$hi = 0, $50$hi = 0, $53$hi = 0, $54$hi = 0, $15_1 = 0, $45_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$4 + } + $18_1 = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$3; + } + $18_1 = 64; + } + i64toi32_i32$1 = $18_1; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $18_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$5 : { + label$6 : while (1) { + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $49$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $50$hi = i64toi32_i32$1; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + if (!((i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $53$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $54$hi = i64toi32_i32$1; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $54$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + $15_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $15_1 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + } + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $15_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$2; + continue label$6; + }; + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $49(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = 7; + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = i64toi32_i32$3; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $45_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $45_1 | 0; + } + + function $2512($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $21_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $78(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 7; + break label$1; + } + $21_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $400(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, $21_1 | 0, $21_1 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + $29_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $29_1 | 0; + } + + function $2513($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $31_1 = 0, $19_1 = 0, $22_1 = 0, $24_1 = 0, $44_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + $19_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $22_1 = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 44 | 0; + $24_1 = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $24_1; + $2517($19_1 | 0, $22_1 | 0, $79(51791 | 0, $6_1 | 0) | 0 | 0) | 0; + label$4 : { + if (!(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$4 + } + break label$1; + } + } + $31_1 = 2; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $325(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, $31_1 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $287(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + $44_1 = $222(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] = $44_1; + $332(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, $31_1 | 0) | 0; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2514($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $108_1 = 0, i64toi32_i32$2 = 0, $78_1 = 0, $47_1 = 0, $56_1 = 0, $63_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + } + label$3 : { + if (!((0 | 0) == ($2511((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, $4_1 + 24 | 0 | 0, 31 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $2518(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 4; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $47_1 = $2519((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + $47_1 | 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $56_1 = $2519((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + $56_1 | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $63_1 = $2519((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + $63_1 | 0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $78_1 = $4_1 + 24 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 12) | 0; + i64toi32_i32$0 = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $2520((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, $78_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $2520((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, $78_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $108_1 = $4_1 + 24 | 0; + i64toi32_i32$0 = HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 12) | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $2520((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, $108_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$0 = HEAP32[(((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $2520((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, $108_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$0 = HEAP32[(((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $2520((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, $108_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + i64toi32_i32$1 = 0; + $2513(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 10 | 0, i64toi32_i32$1 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + $2521($4_1 + 24 | 0 | 0); + } + global$0 = $4_1 + 48 | 0; + return; + } + + function $2515($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $2516(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2516($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[$3_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] | 0; + $42(HEAP32[$3_1 >> 2] | 0 | 0); + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + continue label$4; + }; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $3289(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2517($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $23_1 = 0, $29_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $23_1 = $408(HEAP32[(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, -1 | 0, 5 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = $23_1; + break label$2; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = 7; + } + } + $42(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + $29_1 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $29_1 | 0; + } + + function $2518($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 24 | 0) & 255 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 16 | 0) & 255 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 8 | 0) & 255 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0 | 0) & 255 | 0; + return; + } + + function $2519($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4_1 = 0, i64toi32_i32$4 = 0, $24$hi = 0, $31$hi = 0, $26$hi = 0, $28$hi = 0, $29$hi = 0, $33$hi = 0, $35$hi = 0, $36$hi = 0, $25_1 = 0, $37$hi = 0, $38$hi = 0, $39$hi = 0, $40$hi = 0, $42$hi = 0, $43$hi = 0, $14_1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $24$hi = i64toi32_i32$0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[i64toi32_i32$1 >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$3 = 127; + label$1 : { + label$2 : { + if (!((i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $29$hi = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $29$hi; + i64toi32_i32$0 = 127; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + HEAP8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] = i64toi32_i32$3 & i64toi32_i32$0 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$2 = 0; + $31$hi = i64toi32_i32$2; + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $33$hi = i64toi32_i32$3; + i64toi32_i32$3 = $31$hi; + i64toi32_i32$3 = $33$hi; + i64toi32_i32$3 = $31$hi; + i64toi32_i32$3 = $33$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$0 = 16383; + label$3 : { + if (!((i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + $14_1 = 2; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $35$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $36$hi = i64toi32_i32$3; + i64toi32_i32$3 = $35$hi; + i64toi32_i32$3 = $36$hi; + i64toi32_i32$3 = $35$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$2 = 7; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $25_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + $25_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $37$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $38$hi = i64toi32_i32$1; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$3 = $25_1; + i64toi32_i32$0 = $38$hi; + i64toi32_i32$2 = 127; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $39$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $40$hi = i64toi32_i32$0; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$0 = $40$hi; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $40$hi; + i64toi32_i32$2 = 128; + i64toi32_i32$3 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + HEAP8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $42$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $43$hi = i64toi32_i32$1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $43$hi; + i64toi32_i32$2 = 127; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = i64toi32_i32$0 & i64toi32_i32$2 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $14_1; + break label$1; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = i64toi32_i32$1, wasm2js_i32$1 = $2522(HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $21_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $21_1 | 0; + } + + function $2520($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $33_1 = 0, $32_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (!(((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 9 | 0) >>> 0 <= (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + if (0 & 1 | 0) { + break label$3 + } + break label$2; + } + if (!($2511(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 9 | 0 | 0) | 0)) { + break label$2 + } + } + break label$1; + } + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $32_1 = $2519((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $33_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($33_1 + 4 | 0) >> 2] = (HEAP32[($33_1 + 4 | 0) >> 2] | 0) + $32_1 | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $2521($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, i64toi32_i32$0 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + $6_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + HEAP32[$6_1 >> 2] = 0; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2522($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $71$hi = 0, $97$hi = 0, $72$hi = 0, $73$hi = 0, $75$hi = 0, $78$hi = 0, $79$hi = 0, $32_1 = 0, $81$hi = 0, $82$hi = 0, $83$hi = 0, $84$hi = 0, $86$hi = 0, $87$hi = 0, $33_1 = 0, $89$hi = 0, $90$hi = 0, $91$hi = 0, $92$hi = 0, $31_1 = 0, $94$hi = 0, $95$hi = 0, $34_1 = 0, $99$hi = 0, $8_1 = 0; + $4_1 = global$0 - 48 | 0; + i64toi32_i32$0 = 0; + $71$hi = i64toi32_i32$0; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = -16777216; + $73$hi = i64toi32_i32$1; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $75$hi = i64toi32_i32$0; + i64toi32_i32$0 = $71$hi; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$0 = $71$hi; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $71$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$2 + } + $8_1 = 7; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 0] = i64toi32_i32$1; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $79$hi = i64toi32_i32$1; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $79$hi; + i64toi32_i32$2 = 8; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $32_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $32_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $32_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = $8_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $81$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $82$hi = i64toi32_i32$3; + i64toi32_i32$3 = $81$hi; + i64toi32_i32$3 = $82$hi; + i64toi32_i32$3 = $81$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $82$hi; + i64toi32_i32$2 = 127; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + $83$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $84$hi = i64toi32_i32$0; + i64toi32_i32$0 = $83$hi; + i64toi32_i32$0 = $84$hi; + i64toi32_i32$0 = $83$hi; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$2 = 128; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] = i64toi32_i32$3 | i64toi32_i32$2 | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $86$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $87$hi = i64toi32_i32$3; + i64toi32_i32$3 = $86$hi; + i64toi32_i32$3 = $87$hi; + i64toi32_i32$3 = $86$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$2 = 7; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $33_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + $33_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $33_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = (HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0) + -1 | 0; + continue label$4; + }; + } + HEAP32[($4_1 + 44 | 0) >> 2] = 9; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$5 : while (1) { + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $89$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $90$hi = i64toi32_i32$0; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$0 = $90$hi; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $90$hi; + i64toi32_i32$2 = 127; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $91$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $92$hi = i64toi32_i32$1; + i64toi32_i32$1 = $91$hi; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$1 = $91$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $92$hi; + i64toi32_i32$2 = 128; + i64toi32_i32$3 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + $31_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $31_1 + 1 | 0; + HEAP8[(($4_1 + 10 | 0) + $31_1 | 0) >> 0] = i64toi32_i32$0 | i64toi32_i32$2 | 0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $94$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $95$hi = i64toi32_i32$0; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$0 = $95$hi; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $95$hi; + i64toi32_i32$2 = 7; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $34_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $34_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $97$hi = i64toi32_i32$3; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $99$hi = i64toi32_i32$1; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$1 = $99$hi; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$1 = $99$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $97$hi; + i64toi32_i32$2 = 0; + if (((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0) & 1 | 0) { + continue label$5 + } + break label$5; + }; + HEAP8[($4_1 + 10 | 0) >> 0] = ((HEAPU8[($4_1 + 10 | 0) >> 0] | 0) & 255 | 0) & 127 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[(($4_1 + 10 | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0; + } + + function $2523($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7_1 = 0, $21_1 = 0, $33_1 = 0, $195_1 = 0, $212_1 = 0, $304_1 = 0, $311_1 = 0, $318_1 = 0, $322_1 = 0, $326_1 = 0, $42_1 = 0, $44_1 = 0, $57_1 = 0, $59_1 = 0, $61_1 = 0, $63_1 = 0, $65_1 = 0, $80_1 = 0, $82_1 = 0, $84_1 = 0, $148_1 = 0, $150_1 = 0, $152_1 = 0, $165_1 = 0, $167_1 = 0, $229_1 = 0, $242_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 208 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 204 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 200 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 196 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 192 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 188 | 0) >> 2] = $7_1; + label$1 : { + if (!((HEAP32[(((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($6_1 + 200 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$1 + } + $21_1 = 0; + HEAP32[($6_1 + 184 | 0) >> 2] = HEAP32[($21_1 + 52376 | 0) >> 2] | 0; + i64toi32_i32$2 = $21_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52368 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52372 | 0) >> 2] | 0; + $304_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1 + 176 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $304_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52360 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52364 | 0) >> 2] | 0; + $311_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1 + 168 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $311_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52352 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52356 | 0) >> 2] | 0; + $318_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1 + 160 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $318_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52344 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52348 | 0) >> 2] | 0; + $322_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 152 | 0) >> 2] = $322_1; + HEAP32[($6_1 + 156 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52336 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52340 | 0) >> 2] | 0; + $326_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 144 | 0) >> 2] = $326_1; + HEAP32[($6_1 + 148 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 140 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 204 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 136 | 0) >> 2] = i64toi32_i32$2; + $33_1 = HEAP32[($6_1 + 200 | 0) >> 2] | 0; + label$2 : { + label$3 : { + switch ($33_1 | 0) { + case 10: + $42_1 = HEAP32[(($6_1 + 144 | 0) + ((HEAP32[($6_1 + 200 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $44_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = $44_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79($42_1 | 0, $6_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + break label$2; + case 0: + case 1: + $57_1 = HEAP32[(($6_1 + 144 | 0) + ((HEAP32[($6_1 + 200 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $59_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $61_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $63_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $65_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $65_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $63_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $61_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $59_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79($57_1 | 0, $6_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + break label$2; + case 2: + $80_1 = HEAP32[(($6_1 + 144 | 0) + ((HEAP32[($6_1 + 200 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $82_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $84_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 88 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 84 | 0) >> 2] = $84_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $82_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79($80_1 | 0, $6_1 + 80 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + break label$2; + case 3: + case 4: + HEAP32[($6_1 + 132 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$0 = ((HEAP32[($6_1 + 132 | 0) >> 2] | 0) << 1 | 0) + 1 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 124 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 124 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] = 63; + HEAP8[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 124 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) | 0) >> 0] = 44; + HEAP32[($6_1 + 124 | 0) >> 2] = (HEAP32[($6_1 + 124 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + HEAP8[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 124 | 0) >> 2] | 0) << 1 | 0) - 1 | 0) | 0) >> 0] = 0; + $148_1 = HEAP32[(($6_1 + 144 | 0) + ((HEAP32[($6_1 + 200 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $150_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $152_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 104 | 0) >> 2] = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + HEAP32[($6_1 + 100 | 0) >> 2] = $152_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $150_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79($148_1 | 0, $6_1 + 96 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0); + } + break label$2; + default: + break label$3; + }; + } + $165_1 = HEAP32[(($6_1 + 144 | 0) + ((HEAP32[($6_1 + 200 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $167_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $167_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79($165_1 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + label$12 : { + if (!((HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6_1 + 188 | 0) >> 2] = 7; + break label$11; + } + HEAP32[($6_1 + 120 | 0) >> 2] = 1; + label$13 : { + if (!((HEAP32[($6_1 + 200 | 0) >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($6_1 + 120 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 4 | 0; + } + $195_1 = HEAP32[(HEAP32[($6_1 + 204 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($195_1 + 64 | 0) >> 2] = (HEAP32[($195_1 + 64 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $408(HEAP32[(HEAP32[($6_1 + 140 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, -1 | 0, HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($6_1 + 200 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + $212_1 = HEAP32[(HEAP32[($6_1 + 204 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($212_1 + 64 | 0) >> 2] = (HEAP32[($212_1 + 64 | 0) >> 2] | 0) + -1 | 0; + $42(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0); + label$14 : { + if (!(HEAP32[($6_1 + 188 | 0) >> 2] | 0)) { + break label$14 + } + if (!((HEAP32[($6_1 + 192 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $380(HEAP32[(HEAP32[($6_1 + 140 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $229_1 = $79(1976 | 0, $6_1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 192 | 0) >> 2] | 0) >> 2] = $229_1; + } + } + } + HEAP32[(HEAP32[($6_1 + 196 | 0) >> 2] | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($6_1 + 200 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $222(HEAP32[(HEAP32[($6_1 + 196 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + $242_1 = HEAP32[($6_1 + 188 | 0) >> 2] | 0; + global$0 = $6_1 + 208 | 0; + return $242_1 | 0; + } + + function $2524($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + $2518($4_1 + 12 | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $347(HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 47836 | 0, 10 | 0, i64toi32_i32$0 | 0, 1 | 0, $4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + $390(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $4_1 + 12 | 0 | 0, 4 | 0, 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $383(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $33_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $33_1 | 0; + } + + function $2525($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $14_1 = 0, $17_1 = 0, $23_1 = 0, $136_1 = 0, $41_1 = 0, $150_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $0_1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $14_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $17_1 = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 68 | 0; + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $23_1 = $2517($14_1 | 0, $17_1 | 0, $79(52429 | 0, $3_1 | 0) | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] = $23_1; + label$4 : { + if (!(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$4 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + } + label$5 : { + if (!((100 | 0) == ($287(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = $318(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $136_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $136_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + $41_1 = $222(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] = $41_1; + } + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $150_1 = i64toi32_i32$1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $150_1; + HEAP32[($3_1 + 28 | 0) >> 2] = i64toi32_i32$0; + } + i64toi32_i32$0 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2526($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $7_1 = 0, $8_1 = 0, $9_1 = 0, $31_1 = 0, $47_1 = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2528(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + $7_1 = 0; + HEAP8[i64toi32_i32$1 >> 0] = $7_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $7_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $7_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $7_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $8_1 = i64toi32_i32$1 + 16 | 0; + $9_1 = 0; + HEAP8[$8_1 >> 0] = $9_1; + HEAP8[($8_1 + 1 | 0) >> 0] = $9_1 >>> 8 | 0; + HEAP8[($8_1 + 2 | 0) >> 0] = $9_1 >>> 16 | 0; + HEAP8[($8_1 + 3 | 0) >> 0] = $9_1 >>> 24 | 0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP8[i64toi32_i32$1 >> 0] = $7_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $7_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $7_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $7_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + $31_1 = $2529(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $3_1 + 16 | 0 | 0, $3_1 + 24 | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = $31_1; + label$2 : { + if (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + if (!(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + } + $47_1 = $2530(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = $47_1; + } + $2531(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + label$4 : { + if (!(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$4 + } + $2490(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + } + } + $54_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $54_1 | 0; + } + + function $2527($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + return; + } + + function $2528($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8_1 = 0, $66_1 = 0, $87_1 = 0, $100_1 = 0, $121_1 = 0, $117_1 = 0, $125_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + $8_1 = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $8_1; + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) != ($8_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + i64toi32_i32$0 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $394(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$3 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$3 + } + $2492(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + } + } + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $347(HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 47836 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, 0 | 0, (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 24 | 0) >> 2] = 267; + } + label$7 : { + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$7 + } + $66_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $66_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $393(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) + 20 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) != ($66_1 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $87_1 = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0; + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = $87_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $87_1; + break label$8; + } + HEAP32[($4_1 + 24 | 0) >> 2] = 7; + } + label$10 : { + if (HEAP32[($4_1 + 24 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $384(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + label$12 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$12 + } + $42(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$11; + } + $100_1 = 0; + HEAP8[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0) >> 0] = $100_1; + HEAP8[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = $100_1; + $117_1 = ($2532((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 2 | 0 | 0) | 0) & 65535 | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = $117_1; + } + } + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $121_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($121_1 + 64 | 0) >> 2] = (HEAP32[($121_1 + 64 | 0) >> 2] | 0) + 1 | 0; + } + $125_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $125_1 | 0; + } + + function $2529($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $104_1 = 0, $15_1 = 0, $28_1 = 0, $34_1 = 0, $99_1 = 0, $136_1 = 0, $142_1 = 0, $161_1 = 0, $195_1 = 0, $204_1 = 0, $213_1 = 0, $266_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + label$1 : { + if (!((HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$1 + } + $15_1 = $2533(HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 64 | 0) >> 2] | 0) >> 2] = $15_1; + } + HEAP32[($6_1 + 52 | 0) >> 2] = 4; + $28_1 = $2534((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0, $6_1 + 44 | 0 | 0) | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + $28_1 | 0; + $34_1 = $2534((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0, $6_1 + 40 | 0 | 0) | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + $34_1 | 0; + label$2 : { + label$3 : { + label$4 : { + if ((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) > (2e3 | 0) & 1 | 0) { + break label$4 + } + if ((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$4 + } + if ((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) > (2e3 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($6_1 + 76 | 0) >> 2] = 267; + break label$2; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = Math_imul((HEAP32[($6_1 + 44 | 0) >> 2] | 0) - 1 | 0, 12) + 40 | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2468($6_1 + 56 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 1; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + $99_1 = ($2535((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0) | 0) & 255 | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + $99_1 | 0; + HEAP32[($6_1 + 48 | 0) >> 2] = 0; + label$6 : while (1) { + $104_1 = 0; + label$7 : { + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$7 + } + $104_1 = (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!($104_1 & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 24 | 0) >> 2] = ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($6_1 + 48 | 0) >> 2] | 0, 12) | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + label$9 : { + label$10 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) >= (HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($6_1 + 56 | 0) >> 2] = 267; + break label$9; + } + $136_1 = $2534((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + $136_1 | 0; + $142_1 = $2534((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0, $6_1 + 20 | 0 | 0) | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + $142_1 | 0; + label$11 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 56 | 0) >> 2] = 267; + } + i64toi32_i32$1 = 0; + $161_1 = $2468($6_1 + 56 | 0 | 0, Math_imul(HEAP32[($6_1 + 20 | 0) >> 2] | 0, 12) | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $161_1; + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) - (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0; + } + label$12 : { + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$12 + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 12) | 0; + label$15 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) >= (HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($6_1 + 56 | 0) >> 2] = 267; + break label$13; + } + $195_1 = $2534((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + $195_1 | 0; + $204_1 = $2534((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + $204_1 | 0; + $213_1 = $2534((HEAP32[($6_1 + 72 | 0) >> 2] | 0) + (HEAP32[($6_1 + 52 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0) | 0; + HEAP32[($6_1 + 52 | 0) >> 2] = (HEAP32[($6_1 + 52 | 0) >> 2] | 0) + $213_1 | 0; + label$16 : { + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($6_1 + 56 | 0) >> 2] = 267; + break label$13; + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + label$17 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$17 + } + if (!(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + -12 | 0) >> 2] | 0)) { + break label$17 + } + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$17 + } + HEAP32[($6_1 + 56 | 0) >> 2] = 267; + } + label$18 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) == ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$18 + } + if (!(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0)) { + break label$18 + } + HEAP32[($6_1 + 56 | 0) >> 2] = 267; + } + } + HEAP32[($6_1 + 48 | 0) >> 2] = (HEAP32[($6_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + label$19 : { + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$19 + } + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$19 + } + HEAP32[($6_1 + 56 | 0) >> 2] = 267; + } + label$20 : { + if (!(HEAP32[($6_1 + 56 | 0) >> 2] | 0)) { + break label$20 + } + $2490(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + } + HEAP32[(HEAP32[($6_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 76 | 0) >> 2] = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + } + $266_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + global$0 = $6_1 + 80 | 0; + return $266_1 | 0; + } + + function $2530($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0, $7_1 = 0, $52_1 = 0, $16_1 = 0, $18_1 = 0, $94_1 = 0, $97_1 = 0, $103_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + $7_1 = 4; + $9_1 = 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = 52452; + HEAP32[($4_1 + 44 | 0) >> 2] = $9_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $9_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $9_1; + HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 76 | 0) >> 2] = 4050; + HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 80 | 0) >> 2] = $7_1; + HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 88 | 0) >> 2] = $7_1; + HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 84 | 0) >> 2] = 16; + HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 92 | 0) >> 2] = 1048576; + $16_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $18_1 = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $18_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2481($4_1 + 40 | 0 | 0, $16_1 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $402(HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0, -1 | 0, $4_1 + 44 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0); + } + label$2 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + label$4 : while (1) { + if (!((100 | 0) == ($287(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $52_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $319(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $52_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $320(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!(($52_1 | 0) == ($87(HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, 51927 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $239(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + $2536(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $4_1 + 24 | 0 | 0) | 0; + } + continue label$4; + }; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $213(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$7 + } + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 40 | 0) >> 2] = 1; + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $94_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 4; + HEAP32[$4_1 >> 2] = $94_1; + $97_1 = $79(52484 | 0, $4_1 | 0) | 0; + HEAP32[(HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) >> 2] = $97_1; + } + } + label$9 : { + if (HEAP32[($4_1 + 40 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + } + $103_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $103_1 | 0; + } + + function $2531($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2532($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (((((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 65535 | 0) << 8 | 0) + ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0) & 65535 | 0 | 0; + } + + function $2533($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (((((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0) + (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0) + (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0) + ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0 | 0; + } + + function $2534($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $80_1 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 128 | 0) { + break label$2 + } + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$3 : { + if ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) & 128 | 0) { + break label$3 + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 127 | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 7 | 0; + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0 | (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = 2; + break label$1; + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$4 : { + if ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 128 | 0) { + break label$4 + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) & 127 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) << 7 | 0; + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0 | (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = 3; + break label$1; + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + -2 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2535(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 2147483647 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0; + } + $80_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $80_1 | 0; + } + + function $2535($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $298$hi = 0, $299$hi = 0, $38_1 = 0, $300$hi = 0, $301$hi = 0, $303$hi = 0, $304$hi = 0, $39_1 = 0, $305$hi = 0, $306$hi = 0, $308$hi = 0, $309$hi = 0, $40_1 = 0, $310$hi = 0, $311$hi = 0, $313$hi = 0, $314$hi = 0, $41_1 = 0, $315$hi = 0, $316$hi = 0, $318$hi = 0, $319$hi = 0, $42_1 = 0, $320$hi = 0, $321$hi = 0, $120_1 = 0, $650_1 = 0, $156_1 = 0, $752_1 = 0, $189_1 = 0, $845_1 = 0, $228_1 = 0, $938_1 = 0, $246_1 = 0, $1053_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 128 | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = 1; + break label$1; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + label$3 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 128 | 0) { + break label$3 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 127 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = 2; + break label$1; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$4 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 128 | 0) { + break label$4 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 127 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = 3; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$5 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 128 | 0) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = 4; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$6 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 128 | 0) { + break label$6 + } + $120_1 = 5; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 18 | 0; + i64toi32_i32$0 = 0; + $298$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $299$hi = i64toi32_i32$0; + i64toi32_i32$0 = $298$hi; + i64toi32_i32$0 = $299$hi; + i64toi32_i32$0 = $298$hi; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = $299$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $38_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $38_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $300$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $301$hi = i64toi32_i32$1; + i64toi32_i32$1 = $300$hi; + i64toi32_i32$1 = $301$hi; + i64toi32_i32$1 = $300$hi; + i64toi32_i32$0 = $38_1; + i64toi32_i32$2 = $301$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $650_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $650_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP8[($4_1 + 31 | 0) >> 0] = $120_1; + break label$1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$7 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 128 | 0) { + break label$7 + } + $156_1 = 6; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 18 | 0; + i64toi32_i32$2 = 0; + $303$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $304$hi = i64toi32_i32$2; + i64toi32_i32$2 = $303$hi; + i64toi32_i32$2 = $304$hi; + i64toi32_i32$2 = $303$hi; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $304$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $39_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $39_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $305$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $306$hi = i64toi32_i32$0; + i64toi32_i32$0 = $305$hi; + i64toi32_i32$0 = $306$hi; + i64toi32_i32$0 = $305$hi; + i64toi32_i32$2 = $39_1; + i64toi32_i32$1 = $306$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $752_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $752_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP8[($4_1 + 31 | 0) >> 0] = $156_1; + break label$1; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$8 : { + if ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 128 | 0) { + break label$8 + } + $189_1 = 7; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & -266354561 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 11 | 0; + i64toi32_i32$1 = 0; + $308$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $309$hi = i64toi32_i32$1; + i64toi32_i32$1 = $308$hi; + i64toi32_i32$1 = $309$hi; + i64toi32_i32$1 = $308$hi; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $309$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $40_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $40_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $310$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $311$hi = i64toi32_i32$2; + i64toi32_i32$2 = $310$hi; + i64toi32_i32$2 = $311$hi; + i64toi32_i32$2 = $310$hi; + i64toi32_i32$1 = $40_1; + i64toi32_i32$0 = $311$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $845_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $845_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4_1 + 31 | 0) >> 0] = $189_1; + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 14 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + label$9 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 128 | 0) { + break label$9 + } + $228_1 = 8; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & -266354561 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 7 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) >>> 4 | 0; + i64toi32_i32$0 = 0; + $313$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $314$hi = i64toi32_i32$0; + i64toi32_i32$0 = $313$hi; + i64toi32_i32$0 = $314$hi; + i64toi32_i32$0 = $313$hi; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = $314$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $41_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $41_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $315$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $316$hi = i64toi32_i32$1; + i64toi32_i32$1 = $315$hi; + i64toi32_i32$1 = $316$hi; + i64toi32_i32$1 = $315$hi; + i64toi32_i32$0 = $41_1; + i64toi32_i32$2 = $316$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $938_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $938_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP8[($4_1 + 31 | 0) >> 0] = $228_1; + break label$1; + } + $246_1 = 9; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 15 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | ((HEAPU8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 2080895 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 8 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 4 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + -4 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 127 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 3 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0 | (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = 0; + $318$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $319$hi = i64toi32_i32$2; + i64toi32_i32$2 = $318$hi; + i64toi32_i32$2 = $319$hi; + i64toi32_i32$2 = $318$hi; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = $319$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $42_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $42_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $320$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $321$hi = i64toi32_i32$0; + i64toi32_i32$0 = $320$hi; + i64toi32_i32$0 = $321$hi; + i64toi32_i32$0 = $320$hi; + i64toi32_i32$2 = $42_1; + i64toi32_i32$1 = $321$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $1053_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $1053_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP8[($4_1 + 31 | 0) >> 0] = $246_1; + } + return (HEAPU8[($4_1 + 31 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $2536($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $247_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!(($7_1 | 0) == ($87(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, 52549 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + label$3 : { + if (!((1 | 0) == ($342(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $239(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + label$5 : { + label$6 : { + if ((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) < (32 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) > (65536 | 0) & 1 | 0)) { + break label$5 + } + } + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = 1; + break label$4; + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + } + break label$1; + } + label$7 : { + label$8 : { + if (!((0 | 0) == ($87(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, 52554 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 36 | 0) >> 2] = -1; + label$9 : { + if (!((1 | 0) == ($342(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $239(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + label$11 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = 1; + break label$10; + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 92 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + break label$7; + } + label$12 : { + label$13 : { + if (!((0 | 0) == ($87(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, 52563 | 0) | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($6_1 + 32 | 0) >> 2] = -1; + label$14 : { + if (!((1 | 0) == ($342(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $239(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + label$15 : { + label$16 : { + label$17 : { + if ((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$17 + } + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) > (64 | 0) & 1 | 0)) { + break label$16 + } + } + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = 1; + break label$15; + } + label$18 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($6_1 + 32 | 0) >> 2] = 4; + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 80 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + } + break label$12; + } + label$19 : { + label$20 : { + if (!((0 | 0) == ($87(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, 52573 | 0) | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($6_1 + 28 | 0) >> 2] = -1; + label$21 : { + if (!((1 | 0) == ($342(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $239(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$22 : { + label$23 : { + label$24 : { + if ((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0) { + break label$24 + } + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) > (16 | 0) & 1 | 0)) { + break label$23 + } + } + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = 1; + break label$22; + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 88 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + } + break label$19; + } + label$25 : { + label$26 : { + if (!((0 | 0) == ($87(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, 52583 | 0) | 0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($6_1 + 24 | 0) >> 2] = -1; + label$27 : { + if (!((1 | 0) == ($342(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$27 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $239(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$28 : { + label$29 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = 1; + break label$28; + } + label$30 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($6_1 + 24 | 0) >> 2] = 16; + } + label$31 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) >= (2e3 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($6_1 + 24 | 0) >> 2] = 1999; + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 84 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + } + break label$25; + } + label$32 : { + label$33 : { + if (!((0 | 0) == ($87(HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, 50840 | 0) | 0 | 0) & 1 | 0)) { + break label$33 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2537(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0, $6_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$34 : { + label$35 : { + if (HEAP32[($6_1 + 44 | 0) >> 2] | 0) { + break label$35 + } + $42(HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 96 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 100 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + break label$34; + } + label$36 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$36 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = 1; + } + } + break label$32; + } + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = 1; + } + } + } + } + } + } + $247_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $247_1 | 0; + } + + function $2537($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $58_1 = 0, $77_1 = 0, $123_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] = $6_1; + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2477(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2497(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$1 = ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2468($5_1 + 16 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $3288(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 32 | 0) >> 2] | 0) - (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0 | 0) | 0; + } + break label$3; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + } + label$6 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2477(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $58_1 = 24; + label$7 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $58_1 | 0) >> $58_1 | 0 | 0) != (40 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + } + label$8 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2477(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + $77_1 = 24; + label$9 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 0] | 0) << $77_1 | 0) >> $77_1 | 0 | 0) != (41 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2538(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + break label$10; + } + i64toi32_i32$1 = ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2468($5_1 + 16 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $3288(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 32 | 0) >> 2] | 0) - (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0) | 0; + } + } + } + } + } + label$13 : { + label$14 : { + if (!(HEAP32[($5_1 + 16 | 0) >> 2] | 0)) { + break label$14 + } + $42(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + break label$13; + } + HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + $123_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $123_1 | 0; + } + + function $2538($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $21_1 = 0, $32_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2477(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2499(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2477(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$4 + } + $21_1 = 24; + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $21_1 | 0) >> $21_1 | 0 | 0) == (41 | 0) & 1 | 0)) { + break label$3 + } + } + break label$1; + } + $32_1 = 24; + label$5 : { + if (!((((HEAPU8[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0 | 0) != (44 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $44_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $44_1 | 0; + } + + function $2539($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = $2540(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $6_1 | 0; + } + + function $2540($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $14$hi = 0, $15$hi = 0, $14_1 = 0, $36_1 = 0, $11_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $2525(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $14_1 = i64toi32_i32$0; + $14$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $15$hi = i64toi32_i32$0; + i64toi32_i32$0 = $14$hi; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$0 = $14$hi; + i64toi32_i32$0 = $15$hi; + $36_1 = i64toi32_i32$1; + i64toi32_i32$0 = $14$hi; + i64toi32_i32$2 = $14_1; + i64toi32_i32$1 = $15$hi; + label$1 : { + if (!(((i64toi32_i32$2 | 0) != ($36_1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$1 + } + $2494(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + $11_1 = $2491(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $11_1 | 0; + } + + function $2541($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + $222(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 28 | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $213(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $2542($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2542(HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $2543(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2543($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2544(HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2544($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $2545(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $2545(HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $2521((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 16 | 0 | 0); + $42(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + continue label$5; + }; + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$6 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + $2521((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0 | 0); + } + $42(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $2545($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $2546(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $2492(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2546($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2547(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 88) | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $2521((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2547($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2521((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0 | 0); + $2531(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $2531(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + $2548(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0); + $3289(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, 88 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2548($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2531(HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 5 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2549($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0; + } + + function $2550($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $4_1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $4_1 | 0; + } + + function $2551($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, $14_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0](1212, i64toi32_i32$0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $2561(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + $14_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $14_1 | 0; + } + + function $2552($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $22_1 = 0, $10_1 = 0, $66_1 = 0, $80_1 = 0, $90_1 = 0, $106_1 = 0, $120_1 = 0, $13_1 = 0, $110_1 = 0, $180_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + $10_1 = 24; + if (!($2562(((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $10_1 | 0) >> $10_1 | 0 | 0) | 0)) { + break label$1 + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + $22_1 = HEAP8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0; + label$3 : { + label$4 : { + label$5 : { + label$6 : { + label$7 : { + if (!$22_1) { + break label$7 + } + if (($22_1 | 0) == (34 | 0)) { + break label$6 + } + label$8 : { + label$9 : { + label$10 : { + label$11 : { + label$12 : { + label$13 : { + label$14 : { + label$15 : { + label$16 : { + label$17 : { + if (($22_1 | 0) == (40 | 0)) { + break label$17 + } + if (($22_1 | 0) == (41 | 0)) { + break label$16 + } + if (($22_1 | 0) == (42 | 0)) { + break label$10 + } + if (($22_1 | 0) == (43 | 0)) { + break label$11 + } + if (($22_1 | 0) == (44 | 0)) { + break label$12 + } + if (($22_1 | 0) == (45 | 0)) { + break label$9 + } + if (($22_1 | 0) == (58 | 0)) { + break label$13 + } + if (($22_1 | 0) == (94 | 0)) { + break label$8 + } + if (($22_1 | 0) == (123 | 0)) { + break label$15 + } + if (($22_1 | 0) == (125 | 0)) { + break label$14 + } + break label$5; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 10; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 11; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 7; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 8; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 5; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 13; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 14; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 15; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 6; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 12; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + break label$4; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 9; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + label$18 : { + label$19 : while (1) { + if (!(1 & 1 | 0)) { + break label$18 + } + $66_1 = 24; + label$20 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $66_1 | 0) >> $66_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + $80_1 = 24; + label$21 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $80_1 | 0) >> $80_1 | 0 | 0) != (34 | 0) & 1 | 0)) { + break label$21 + } + break label$18; + } + } + $90_1 = 24; + label$22 : { + if (((HEAPU8[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $90_1 | 0) >> $90_1 | 0) { + break label$22 + } + $2563(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 52884 | 0, 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$3; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) - (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0; + break label$4; + } + $106_1 = 24; + label$23 : { + if ($2504(((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $106_1 | 0) >> $106_1 | 0 | 0) | 0) { + break label$23 + } + $110_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $2563($110_1 | 0, 52904 | 0, $5_1 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$3; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 9; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + label$24 : { + label$25 : while (1) { + $120_1 = 24; + if (!($2504(((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) << $120_1 | 0) >> $120_1 | 0 | 0) | 0)) { + break label$24 + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0; + label$26 : { + if (!((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$26 + } + $13_1 = HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + if ((HEAPU8[$13_1 >> 0] | 0 | ((HEAPU8[($13_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | 0) != (21071 | 0)) { + break label$26 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 1; + } + label$27 : { + if (!((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$27 + } + if ($3228(HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0, 49895 | 0, 3 | 0) | 0) { + break label$27 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 3; + } + label$28 : { + if (!((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$28 + } + if ($3228(HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0, 49891 | 0, 3 | 0) | 0) { + break label$28 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 2; + } + } + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = (HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + $180_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $180_1 | 0; + } + + function $2553($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $67_1 = 0, $29_1 = 0, $34_1 = 0, $35_1 = 0, $176_1 = 0, $48_1 = 0, $211_1 = 0, $265_1 = 0, $75_1 = 0, $76_1 = 0, $273_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 32 | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + HEAP8[($6_1 + 39 | 0) >> 0] = HEAPU8[(HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2564((HEAP32[($6_1 + 56 | 0) >> 2] | 0) & 255 | 0 | 0, (HEAPU8[($6_1 + 39 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 39 | 0) >> 0] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!(((HEAPU8[($6_1 + 39 | 0) >> 0] | 0) & 255 | 0 | 0) >= (83 | 0) & 1 | 0)) { + break label$5 + } + $29_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + $34_1 = ((HEAPU8[($6_1 + 39 | 0) >> 0] | 0) & 255 | 0) - 83 | 0; + $35_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $176_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $176_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2565($29_1 | 0, $34_1 | 0, $35_1 | 0, $6_1 + 8 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 39 | 0) >> 0] = wasm2js_i32$1; + break label$4; + } + label$6 : { + if (!(((HEAPU8[($6_1 + 39 | 0) >> 0] | 0) & 255 | 0 | 0) <= (79 | 0) & 1 | 0)) { + break label$6 + } + $48_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + $49_1 = HEAPU8[($6_1 + 39 | 0) >> 0] | 0; + $50_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $211_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $211_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + $51_1 = 255; + $2566($48_1 | 0, $49_1 & $51_1 | 0 | 0, $50_1 & $51_1 | 0 | 0, $6_1 + 16 | 0 | 0); + break label$2; + } + label$7 : { + if (!(((HEAPU8[($6_1 + 39 | 0) >> 0] | 0) & 255 | 0 | 0) == (81 | 0) & 1 | 0)) { + break label$7 + } + $67_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[$67_1 >> 2] = (HEAP32[$67_1 >> 2] | 0) + -12 | 0; + $2567(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + break label$1; + } + i64toi32_i32$2 = $2_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $265_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1 + 40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $265_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $75_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + $76_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $273_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $273_1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$0; + $2568($75_1 | 0, $76_1 | 0, $6_1 + 24 | 0 | 0); + $2569(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 56 | 0) >> 2] | 0) & 255 | 0 | 0, $6_1 + 40 | 0 | 0); + break label$2; + } + if ((HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 8 | 0) >>> 0 & 1 | 0) { + continue label$3 + } + break label$3; + }; + } + } + global$0 = $6_1 + 64 | 0; + return; + } + + function $2554($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2555($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $2570(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + FUNCTION_TABLE[HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 12 | 0) >> 2] | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2556($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $20_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + $20_1 = $79(53506 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $20_1; + break label$1; + } + $2571(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $5_1 | 0); + } + $42(HEAP32[$5_1 >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $2557($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $187_1 = 0, $228_1 = 0, $239_1 = 0, $258_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($7_1 + 32 | 0) >> 2] = 0; + label$3 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) != (9 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) != (9 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + break label$1; + } + label$6 : { + label$7 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$7 + } + if (!(HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2586(HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$6; + } + label$8 : { + label$9 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($7_1 + 32 | 0) >> 2] = 2; + break label$8; + } + label$10 : { + label$11 : { + if ((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$11 + } + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$10 + } + } + HEAP32[($7_1 + 32 | 0) >> 2] = 2; + label$12 : { + if (!((HEAP32[(HEAP32[($7_1 + 48 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - 1 | 0) | 0; + } + label$13 : { + if (!((HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - 1 | 0) | 0; + } + } + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = (((HEAP32[($7_1 + 32 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) + 40 | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2468((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 8 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + $2587(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + label$15 : { + label$16 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[(HEAP32[(((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + label$19 : { + if (HEAP32[((HEAP32[(((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) { + break label$19 + } + $187_1 = 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] = $187_1; + HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] = $187_1; + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + label$20 : { + if (!(HEAP32[((HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0)) { + break label$20 + } + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$21 : { + label$22 : { + if ((HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0) { + break label$22 + } + if ((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0) { + break label$22 + } + if (!((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$21 + } + if (!((HEAPU8[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0)) { + break label$21 + } + } + $228_1 = 1; + HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] = $228_1; + HEAP32[$7_1 >> 2] = (HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == ($228_1 | 0) & 1 | 0 ? 53418 : 49899; + $239_1 = $79(53368 | 0, $7_1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] = $239_1; + $42(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + } + } + break label$15; + } + $2588(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + $2588(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0); + } + } + } + } + label$23 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$23 + } + $2542(HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0); + $2542(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0); + $2543(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + } + $258_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $258_1 | 0; + } + + function $2558($0_1, $1_1, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $51$hi = 0, $52$hi = 0, $51_1 = 0, $122_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2653(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($6_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + if (!((0 | 0) == (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $51_1 = i64toi32_i32$0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $52$hi = i64toi32_i32$0; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$0 = $52$hi; + $122_1 = i64toi32_i32$1; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$1 = $52$hi; + if (!(($2603(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, $51_1 | 0, i64toi32_i32$0 | 0, $122_1 | 0, i64toi32_i32$1 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0, 1, i64toi32_i32$1, i64toi32_i32$0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + label$3 : while (1) { + if (!(HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0, 0, 0, i64toi32_i32$0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + continue label$3; + }; + } + $48_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $48_1 | 0; + } + + function $2559($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $13_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$1; + } + $13_1 = 0; + } + return $13_1 | 0; + } + + function $2560($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $36_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $78(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 7; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $408(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, -1 | 0, 1 | 0, $6_1 + 16 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $380(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $36_1 = $79(1976 | 0, $6_1 | 0) | 0; + HEAP32[(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0) >> 2] = $36_1; + } + $42(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + $44_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $44_1 | 0; + } + + function $2561($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 0] = $4_1; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 9 | 0) >> 0] = $4_1; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1208 | 0) >> 2] = ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) + 1188 | 0; + return; + } + + function $2562($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $15_1 = 0, $7_1 = 0, $19_1 = 0, $30_1 = 0, $40_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP8[($3_1 + 15 | 0) >> 0] = $0_1; + $7_1 = 24; + $15_1 = 1; + label$1 : { + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $7_1 | 0) >> $7_1 | 0 | 0) == (32 | 0) & 1 | 0) { + break label$1 + } + $19_1 = 24; + $15_1 = 1; + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $19_1 | 0) >> $19_1 | 0 | 0) == (9 | 0) & 1 | 0) { + break label$1 + } + $30_1 = 24; + $15_1 = 1; + if ((((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) == (10 | 0) & 1 | 0) { + break label$1 + } + $40_1 = 24; + $15_1 = (((HEAPU8[($3_1 + 15 | 0) >> 0] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) == (13 | 0); + } + return $15_1 & 1 | 0 | 0; + } + + function $2563($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $14_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$1 + } + $14_1 = $78(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $14_1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $2564($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP8[($4_1 + 14 | 0) >> 0] = $0_1; + HEAP8[($4_1 + 13 | 0) >> 0] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[($4_1 + 13 | 0) >> 0] | 0) & 255 | 0 | 0) > (34 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($4_1 + 15 | 0) >> 0] = HEAPU8[($4_1 + 13 | 0) >> 0] | 0; + break label$1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAPU8[(((HEAPU8[($4_1 + 13 | 0) >> 0] | 0) & 255 | 0) + 52944 | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + ((HEAPU8[($4_1 + 14 | 0) >> 0] | 0) & 255 | 0) | 0; + label$3 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 52992 | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[($4_1 + 14 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[($4_1 + 15 | 0) >> 0] = HEAPU8[(((HEAPU8[($4_1 + 13 | 0) >> 0] | 0) & 255 | 0) + 53120 | 0) >> 0] | 0; + break label$1; + } + HEAP8[($4_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 53168 | 0) >> 0] | 0; + } + return (HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $2565($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $13_1 = 0, $27_1 = 0, $178_1 = 0, $186_1 = 0, $261_1 = 0, i64toi32_i32$2 = 0, $313_1 = 0, $37_1 = 0, $61_1 = 0, $70_1 = 0, $214_1 = 0, i64toi32_i32$1 = 0, $954_1 = 0, $344_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + $13_1 = 24; + label$1 : { + label$2 : { + if (((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 53280 | 0) >> 0] | 0) << $13_1 | 0) >> $13_1 | 0) { + break label$2 + } + label$3 : { + if (!((HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1208 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + $2572(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + HEAP8[($6_1 + 47 | 0) >> 0] = 0; + break label$1; + } + } + $27_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + label$4 : { + label$5 : { + switch ($27_1 | 0) { + case 0: + $2573(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$4; + case 1: + $37_1 = $2574(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = $37_1; + break label$4; + case 2: + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 3: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2575(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 4: + $61_1 = $2575(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $61_1; + $70_1 = $2574(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $70_1; + break label$4; + case 5: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2575(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 6: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2575(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 7: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2557(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 8: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2557(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 9: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2557(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 3 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 10: + $2556(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[$6_1 >> 2] = HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 11: + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0; + break label$4; + case 12: + case 13: + HEAP32[$6_1 >> 2] = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 14: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2576(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 15: + $178_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2557(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 9 | 0, $178_1 | 0, $178_1 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 16: + $186_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2557(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 9 | 0, $186_1 | 0, $186_1 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $2556(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 17: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2577(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 18: + $2578(HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + $214_1 = $2577(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = $214_1; + break label$4; + case 19: + $2579(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -48 | 0) + 4 | 0 | 0); + $2580(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0); + HEAP32[$6_1 >> 2] = HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -24 | 0) + 4 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -48 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 20: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2577(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 21: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2577(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 22: + $261_1 = 0; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = $261_1; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] = $261_1; + break label$4; + case 23: + i64toi32_i32$2 = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $954_1 = i64toi32_i32$0; + i64toi32_i32$0 = ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $954_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$4; + case 24: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2581(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -36 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 25: + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2581(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + -12 | 0) + 4 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$4; + case 26: + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + break label$4; + case 27: + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$4; + default: + break label$5; + }; + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 53312 | 0) >> 0] | 0) & 255 | 0; + $313_1 = 24; + HEAP32[($6_1 + 16 | 0) >> 2] = ((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 53280 | 0) >> 0] | 0) << $313_1 | 0) >> $313_1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2582((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 12) | 0) >> 0] | 0) & 255 | 0 | 0, (HEAP32[($6_1 + 28 | 0) >> 2] | 0) & 255 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 27 | 0) >> 0] = wasm2js_i32$1; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + Math_imul((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0, 12) | 0; + HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] = HEAPU8[($6_1 + 27 | 0) >> 0] | 0; + HEAP8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP8[($6_1 + 47 | 0) >> 0] = HEAPU8[($6_1 + 27 | 0) >> 0] | 0; + } + $344_1 = (HEAPU8[($6_1 + 47 | 0) >> 0] | 0) & 255 | 0; + global$0 = $6_1 + 48 | 0; + return $344_1 | 0; + } + + function $2566($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $7_1 = 0, $20_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $152_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($6_1 + 11 | 0) >> 0] = $1_1; + HEAP8[($6_1 + 10 | 0) >> 0] = $2_1; + $7_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = (HEAP32[$7_1 >> 2] | 0) + 12 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1208 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $20_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[$20_1 >> 2] = (HEAP32[$20_1 >> 2] | 0) + -12 | 0; + $2572(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + break label$1; + } + label$3 : { + if (!(((HEAPU8[($6_1 + 11 | 0) >> 0] | 0) & 255 | 0 | 0) > (34 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[($6_1 + 11 | 0) >> 0] = ((HEAPU8[($6_1 + 11 | 0) >> 0] | 0) & 255 | 0) + 31 | 0; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 0] = HEAPU8[($6_1 + 11 | 0) >> 0] | 0; + HEAP8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAPU8[($6_1 + 10 | 0) >> 0] | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $152_1 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $152_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + global$0 = $6_1 + 16 | 0; + return; + } + + function $2567($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + return; + } + + function $2568($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, $9_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $8_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $9_1 = HEAP32[($2_1 + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[$2_1 >> 2] | 0; + HEAP32[$5_1 >> 2] = $9_1; + $2563($8_1 | 0, 53425 | 0, $5_1 | 0); + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return; + } + + function $2569($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($5_1 + 11 | 0) >> 0] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $10_1 = (HEAPU8[($5_1 + 11 | 0) >> 0] | 0) + -16 | 0; + label$1 : { + label$2 : { + switch ($10_1 | 0) { + case 0: + break label$1; + case 1: + case 2: + case 3: + $2542(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 4: + case 5: + $42(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 6: + case 7: + $2543(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + case 8: + $2583(HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + break label$1; + default: + break label$2; + }; + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $2570($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >>> 0 & 1 | 0)) { + break label$1 + } + $2584(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + continue label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2571($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $41_1 = 0, $60_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + if (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + label$3 : { + label$4 : { + if ((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $2651(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + label$7 : { + if (HEAP32[(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0) { + break label$7 + } + $41_1 = 0; + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = $41_1; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = $41_1; + } + break label$5; + } + label$8 : { + label$9 : { + if (!((HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = 0; + break label$8; + } + $60_1 = $2652((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $60_1; + } + } + break label$2; + } + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $2571(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2572($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >>> 0 > ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >>> 0 & 1 | 0)) { + break label$1 + } + $2584(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + continue label$2; + }; + } + $2563(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 53340 | 0, 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2573($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + return; + } + + function $2574($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $25_1 = 0, $59_1 = 0, $60_1 = 0, i64toi32_i32$0 = 0, $55_1 = 0, $58_1 = 0, $73_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2468((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0, ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) + 8 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $25_1 = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $25_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $25_1; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + label$6 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + } + $55_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $58_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0; + $59_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $60_1 = HEAP32[$59_1 >> 2] | 0; + HEAP32[$59_1 >> 2] = $60_1 + 1 | 0; + HEAP32[($58_1 + ($60_1 << 2 | 0) | 0) >> 2] = $55_1; + break label$4; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + $42(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + $73_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $73_1 | 0; + } + + function $2575($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $55_1 = 0, $71_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2475((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $2500(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + break label$2; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $55_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $2563($55_1 | 0, 33759 | 0, $5_1 | 0); + break label$5; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2585(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + label$7 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + $42(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + $71_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $71_1 | 0; + } + + function $2576($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $35_1 = 0, $83_1 = 0, $94_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$2 + } + $2542(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + $2542(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) + (((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + break label$3; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + label$5 : { + label$6 : { + if (HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) { + break label$6 + } + $2542(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $35_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($35_1 + 12 | 0) >> 2] = (HEAP32[($35_1 + 12 | 0) >> 2] | 0) + -1 | 0; + break label$5; + } + label$7 : { + label$8 : { + if (HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$8 + } + label$9 : { + label$10 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$9; + } + HEAP32[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) + (((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0) - (HEAP32[((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) << 2 | 0) | 0; + $3290(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + $83_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($83_1 + 12 | 0) >> 2] = (HEAP32[($83_1 + 12 | 0) >> 2] | 0) + -1 | 0; + $2542(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + break label$7; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2557(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + } + $94_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $94_1 | 0; + } + + function $2577($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $95_1 = 0, $99_1 = 0, $117_1 = 0, $121_1 = 0, $129_1 = 0, $130_1 = 0, $125_1 = 0, $128_1 = 0, $137_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 44 | 0) >> 2] = 8; + HEAP32[($5_1 + 40 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = 48; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] = 7; + break label$6; + } + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $3289(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + } + break label$4; + } + label$8 : { + label$9 : { + if ((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) % (8 | 0) | 0) { + break label$9 + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 2 | 0) + 16 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $49(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] = 7; + } + break label$8; + } + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + } + } + } + label$11 : { + label$12 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + $2543(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0); + $2583(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + break label$11; + } + label$13 : { + if (!((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) + (((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) { + break label$15 + } + $2544(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + $95_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($95_1 + 8 | 0) >> 2] = (HEAP32[($95_1 + 8 | 0) >> 2] | 0) + -1 | 0; + $99_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP32[($99_1 + 12 | 0) >> 2] = (HEAP32[($99_1 + 12 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$14; + } + label$16 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) { + break label$16 + } + $2544(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 2 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + $117_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP32[($117_1 + 12 | 0) >> 2] = (HEAP32[($117_1 + 12 | 0) >> 2] | 0) + -1 | 0; + $121_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($121_1 + 8 | 0) >> 2] = (HEAP32[($121_1 + 8 | 0) >> 2] | 0) + -1 | 0; + } + } + } + $125_1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + $128_1 = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0; + $129_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $130_1 = HEAP32[($129_1 + 8 | 0) >> 2] | 0; + HEAP32[($129_1 + 8 | 0) >> 2] = $130_1 + 1 | 0; + HEAP32[($128_1 + ($130_1 << 2 | 0) | 0) >> 2] = $125_1; + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + } + $137_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $137_1 | 0; + } + + function $2578($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0)) { + break label$1 + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 21 | 0) >> 0] = 1; + } + return; + } + + function $2579($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $18_1 = 0, $20_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0) { + break label$2 + } + $5_1 = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + if (!((HEAPU8[$5_1 >> 0] | 0 | ((HEAPU8[($5_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($5_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($5_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0 | 0) != (1380009294 | 0))) { + break label$1 + } + } + $18_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $20_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $20_1; + $2563($18_1 | 0, 53425 | 0, $4_1 | 0); + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2580($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $32_1 = 0, $42_1 = 0, $64_1 = 0, $50_1 = 0, $52_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$2 : { + label$3 : { + if (!(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($5_1 + 11 | 0) >> 0] = HEAPU8[((HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0; + $32_1 = 24; + label$6 : { + label$7 : { + if ((((HEAPU8[($5_1 + 11 | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0 | 0) < (48 | 0) & 1 | 0) { + break label$7 + } + $42_1 = 24; + if (!((((HEAPU8[($5_1 + 11 | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0 | 0) > (57 | 0) & 1 | 0)) { + break label$6 + } + } + $50_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $52_1 = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $52_1; + $2563($50_1 | 0, 53456 | 0, $5_1 | 0); + break label$1; + } + $64_1 = 24; + HEAP32[($5_1 + 16 | 0) >> 2] = Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 10) + ((((HEAPU8[((HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $64_1 | 0) >> $64_1 | 0) - 48 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + break label$2; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 10; + } + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2581($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $40_1 = 0, $56_1 = 0, $95_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2589(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0 ? 2 : 0) | 1 | 0; + $2500(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3303(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2591(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, $6_1 + 16 | 0 | 0, 119 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + label$2 : { + label$3 : { + label$4 : { + label$5 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$5 + } + $40_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $40_1; + if (!$40_1) { + break label$4 + } + } + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $2544(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + break label$3; + } + label$6 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!($2592(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + $2544(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$2; + } + $56_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($56_1 + 12 | 0) >> 2] = (HEAP32[($56_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + label$8 : { + label$9 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2468((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0 | 0, 36 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$8; + } + label$10 : { + if (!(HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0)) { + break label$10 + } + HEAP8[(((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 20 | 0) + (((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0) >> 0] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + } + } + HEAP32[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + $95_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $95_1 | 0; + } + + function $2582($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP8[($4_1 + 15 | 0) >> 0] = $0_1; + HEAP8[($4_1 + 14 | 0) >> 0] = $1_1; + $9_1 = 24; + HEAP32[($4_1 + 8 | 0) >> 2] = ((HEAPU8[(((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) & 255 | 0) + 53488 | 0) >> 0] | 0) << $9_1 | 0) >> $9_1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + ((HEAPU8[($4_1 + 14 | 0) >> 0] | 0) & 255 | 0) | 0; + return (HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 53168 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $2583($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2544(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2584($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $5_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $5_1 = HEAP32[$4_1 >> 2] | 0; + HEAP32[$4_1 >> 2] = $5_1 + -12 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $5_1; + $2569(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2585($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $15_1 = 0, i64toi32_i32$0 = 0, $109_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + } + $15_1 = 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = $15_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $49(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 2 | 0) + 8 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] = 7; + break label$4; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + break label$3; + } + label$9 : { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + break label$6; + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$11; + }; + } + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + $109_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $109_1 | 0; + } + + function $2586($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $58_1 = 0, i64toi32_i32$1 = 0, $32_1 = 0, $64_1 = 0, $65_1 = 0, $61_1 = 0, $63_1 = 0, $84_1 = 0, $90_1 = 0, $106_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) + 40 | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2468((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = 2; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $2587(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $32_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($32_1 + 12 | 0) >> 2] = (HEAP32[($32_1 + 12 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2468((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0, 36 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!($2592(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + $2544(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + break label$5; + } + $58_1 = 0; + $61_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $63_1 = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $64_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $65_1 = HEAP32[($64_1 + 12 | 0) >> 2] | 0; + HEAP32[($64_1 + 12 | 0) >> 2] = $65_1 + 1 | 0; + HEAP32[($63_1 + ($65_1 << 2 | 0) | 0) >> 2] = $61_1; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = 1; + $84_1 = $2475((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[((((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] = $84_1; + $90_1 = $2557(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 9 | 0, $58_1 | 0, $58_1 | 0, $2577(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $58_1 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + HEAP32[(((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $90_1; + } + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$7 : { + label$8 : { + if (!(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$8 + } + $2542(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + break label$7; + } + $2543(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + } + } + $106_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $106_1 | 0; + } + + function $2587($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $7_1 = (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($7_1 | 0) { + case 8: + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + if ((HEAPU8[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) { + break label$7 + } + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = 4; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 120; + break label$6; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 121; + } + break label$1; + case 0: + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 122; + break label$1; + case 1: + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 123; + break label$1; + default: + break label$2; + }; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 124; + } + return; + } + + function $2588($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $40_1 = 0, $48_1 = 0, $49_1 = 0, $44_1 = 0, $47_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) << 2 | 0; + $3288(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $40_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($40_1 + 28 | 0) >> 2] = (HEAP32[($40_1 + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0; + $42(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + $44_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $47_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0; + $48_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $49_1 = HEAP32[($48_1 + 28 | 0) >> 2] | 0; + HEAP32[($48_1 + 28 | 0) >> 2] = $49_1 + 1 | 0; + HEAP32[($47_1 + ($49_1 << 2 | 0) | 0) >> 2] = $44_1; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2589($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, $15_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + $13_1 = $2475($4_1 + 4 | 0 | 0, HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = $13_1; + $15_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $15_1 | 0; + } + + function $2590($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $190_1 = 0, $143_1 = 0, $115_1 = 0, $153_1 = 0, $166_1 = 0, $167_1 = 0, $191_1 = 0, $165_1 = 0, $178_1 = 0, $183_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 48 | 0) >> 2] = 0; + HEAP32[($8_1 + 44 | 0) >> 2] = 8; + HEAP32[($8_1 + 40 | 0) >> 2] = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($8_1 + 76 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0) > (32768 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 60 | 0) >> 2] = 32768; + } + label$4 : { + label$5 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($8_1 + 68 | 0) >> 2] | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 24 | 0) >> 2] = ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 28 | 0) + 1 | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($8_1 + 48 | 0) >> 2] = 7; + break label$6; + } + i64toi32_i32$1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $3289(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = ((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 16 | 0) + 12 | 0; + $3288(HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) + (((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP32[((((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0) + (((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0) + 12 | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + } + break label$4; + } + label$8 : { + label$9 : { + if ((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$9 + } + if ((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) % (8 | 0) | 0) { + break label$8 + } + } + label$10 : { + label$11 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $115_1 = HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$10; + } + $115_1 = 0; + } + HEAP32[($8_1 + 12 | 0) >> 2] = $115_1 + 8 | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $49(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 12 | 0) >> 2] | 0) << 4 | 0) + 36 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + label$13 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($8_1 + 48 | 0) >> 2] = 7; + break label$12; + } + label$14 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + $143_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $190_1 = 0; + i64toi32_i32$1 = $143_1; + HEAP32[i64toi32_i32$1 >> 2] = $190_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $190_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $143_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $190_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $143_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $190_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + $153_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $153_1; + HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] = $153_1; + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[($8_1 + 12 | 0) >> 2] | 0) - 8 | 0; + } + } + label$15 : { + if (HEAP32[($8_1 + 48 | 0) >> 2] | 0) { + break label$15 + } + $165_1 = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 20 | 0; + $166_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + $167_1 = HEAP32[($166_1 + 16 | 0) >> 2] | 0; + HEAP32[($166_1 + 16 | 0) >> 2] = $167_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $165_1 + ($167_1 << 4 | 0) | 0; + i64toi32_i32$0 = 0; + $191_1 = 0; + i64toi32_i32$1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $191_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $191_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $178_1 = $2475($8_1 + 48 | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = $178_1; + } + } + HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + HEAP32[($8_1 + 76 | 0) >> 2] = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + } + $183_1 = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + global$0 = $8_1 + 80 | 0; + return $183_1 | 0; + } + + function $2591($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $28_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + global$0 = $8_1 + 32 | 0; + return $28_1 | 0; + } + + function $2592($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $25_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) % (8 | 0) | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = ((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) << 2 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $25_1 = 7; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $25_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $25_1; + break label$1; + } + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $30_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $30_1 | 0; + } + + function $2593($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $28_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[$6_1 >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$2 + } + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2598(HEAP32[$6_1 >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2599(HEAP32[$6_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + label$4 : { + if (HEAP32[($6_1 + 4 | 0) >> 2] | 0) { + break label$4 + } + if ((HEAPU8[((HEAP32[$6_1 >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2600(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + $28_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $28_1 | 0; + } + + function $2594($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $119$hi = 0, $120$hi = 0, $123$hi = 0, $124$hi = 0, $127$hi = 0, $128$hi = 0, $28_1 = 0, $29_1 = 0, $30_1 = 0, $77_1 = 0, $96_1 = 0, $190_1 = 0, $224_1 = 0, $119_1 = 0, $232_1 = 0, $123_1 = 0, $249_1 = 0, $127_1 = 0, $263_1 = 0, $114_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 20 | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = $7_1; + HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + i64toi32_i32$0 = $2601(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $190_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $190_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if ((HEAPU8[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $224_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $224_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $119_1 = i64toi32_i32$0; + $119$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $120$hi = i64toi32_i32$0; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$0 = $120$hi; + $232_1 = i64toi32_i32$1; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$2 = $119_1; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$3 = $232_1; + label$6 : { + label$7 : { + label$8 : { + if (((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0) { + break label$8 + } + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$7 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $123_1 = i64toi32_i32$2; + $123$hi = i64toi32_i32$0; + i64toi32_i32$3 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $124$hi = i64toi32_i32$2; + i64toi32_i32$2 = $123$hi; + i64toi32_i32$2 = $124$hi; + i64toi32_i32$2 = $123$hi; + i64toi32_i32$2 = $124$hi; + $249_1 = i64toi32_i32$0; + i64toi32_i32$2 = $123$hi; + i64toi32_i32$3 = $123_1; + i64toi32_i32$0 = $124$hi; + i64toi32_i32$1 = $249_1; + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$1 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $127_1 = i64toi32_i32$3; + $127$hi = i64toi32_i32$2; + i64toi32_i32$1 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $128$hi = i64toi32_i32$3; + i64toi32_i32$3 = $127$hi; + i64toi32_i32$3 = $128$hi; + i64toi32_i32$3 = $127$hi; + i64toi32_i32$3 = $128$hi; + $263_1 = i64toi32_i32$2; + i64toi32_i32$3 = $127$hi; + i64toi32_i32$1 = $127_1; + i64toi32_i32$2 = $128$hi; + i64toi32_i32$0 = $263_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$2 | 0)) { + $28_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0) { + $29_1 = 0 + } else { + $29_1 = 1 + } + $30_1 = $29_1; + } else { + $30_1 = 0 + } + $28_1 = $30_1; + } + if (!(($28_1 & 1 | 0 | 0) == (HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + } + label$9 : { + label$10 : { + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$10 + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2598(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + break label$9; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2599(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + if (!(HEAP32[($6_1 + 32 | 0) >> 2] | 0)) { + break label$11 + } + break label$3; + } + label$12 : { + if ((HEAPU8[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + break label$6; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + } + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$4; + }; + } + $77_1 = 1; + label$13 : { + if (HEAP32[($6_1 + 32 | 0) >> 2] | 0) { + break label$13 + } + $77_1 = (HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0); + } + HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] = $77_1 & 1 | 0; + break label$1; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (!(HEAP32[($6_1 + 52 | 0) >> 2] | 0)) { + break label$15 + } + i64toi32_i32$0 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2598(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + break label$14; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2599(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + $96_1 = 1; + label$16 : { + if (HEAP32[($6_1 + 32 | 0) >> 2] | 0) { + break label$16 + } + $96_1 = ((HEAPU8[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] = $96_1 & 1 | 0; + } + label$17 : { + if (HEAP32[((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$17 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2602(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + $114_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $114_1 | 0; + } + + function $2595($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $61$hi = 0, $62$hi = 0, $65$hi = 0, $66$hi = 0, $86_1 = 0, $61_1 = 0, $136_1 = 0, $65_1 = 0, $156_1 = 0, $57_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $86_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $86_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$4 : { + if (HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $61_1 = i64toi32_i32$1; + $61$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $62$hi = i64toi32_i32$1; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $62$hi; + $136_1 = i64toi32_i32$0; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$2 = $61_1; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$3 = $136_1; + label$5 : { + label$6 : { + if (((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$6 + } + if (!(HEAP32[($6_1 + 32 | 0) >> 2] | 0)) { + break label$5 + } + i64toi32_i32$3 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $65_1 = i64toi32_i32$2; + $65$hi = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $66$hi = i64toi32_i32$2; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$2 = $66$hi; + $156_1 = i64toi32_i32$1; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$1 = $66$hi; + if (!(($2603(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $65_1 | 0, i64toi32_i32$2 | 0, $156_1 | 0, i64toi32_i32$1 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 40 | 0) >> 2] | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0, i64toi32_i32$1, i64toi32_i32$2) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$7 : { + if (!(HEAP32[$6_1 >> 2] | 0)) { + break label$7 + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + break label$1; + } + } + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $2604(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $57_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $57_1 | 0; + } + + function $2596($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $21_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0, i64toi32_i32$0, i64toi32_i32$1) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($6_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2605(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + $21_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $21_1 | 0; + } + + function $2597($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $22_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0, i64toi32_i32$0, i64toi32_i32$1) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($6_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2606(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (!(HEAP32[($6_1 + 4 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + $22_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $22_1 | 0; + } + + function $2598($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $11_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $2607(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + $11_1 = $2491(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 32 | 0; + return $11_1 | 0; + } + + function $2599($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, $11_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $2608(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, 0 | 0, i64toi32_i32$0 | 0); + $11_1 = $2491(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $11_1 | 0; + } + + function $2600($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $19_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $83_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + if (HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $19_1 = 0; + i64toi32_i32$2 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $83_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $83_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == ($19_1 | 0) & 1 | 0; + return $19_1 | 0; + } + + function $2601($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $53$hi = 0, $54$hi = 0, i64toi32_i32$3 = 0, $15_1 = 0, $16_1 = 0, $17_1 = 0, $115_1 = 0, $29_1 = 0, $53_1 = 0, $129_1 = 0, $147_1 = 0; + $5_1 = global$0 - 48 | 0; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((0 | 0) == ((HEAPU8[((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $115_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $115_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + label$4 : { + label$5 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$5 + } + $29_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $53_1 = i64toi32_i32$1; + $53$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $54$hi = i64toi32_i32$1; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$1 = $54$hi; + $129_1 = i64toi32_i32$0; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$2 = $53_1; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$3 = $129_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $15_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $16_1 = 0 + } else { + $16_1 = 1 + } + $17_1 = $16_1; + } else { + $17_1 = 0 + } + $15_1 = $17_1; + } + if (!(($29_1 | 0) != ($15_1 & 1 | 0 | 0) & 1 | 0)) { + break label$4 + } + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $147_1 = i64toi32_i32$2; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $147_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + } + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + label$6 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (HEAP32[($5_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = 1; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$2; + return i64toi32_i32$1 | 0; + } + + function $2602($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $157$hi = 0, $158$hi = 0, $161$hi = 0, $162$hi = 0, $5_1 = 0, $140_1 = 0, $221_1 = 0, $229_1 = 0, $323_1 = 0, $157_1 = 0, $331_1 = 0, $161_1 = 0, $397_1 = 0, $470_1 = 0, $151_1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = $2601((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $221_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $221_1; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$2 = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $229_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $229_1; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$0; + } + label$3 : { + label$4 : while (1) { + HEAP32[($4_1 + 36 | 0) >> 2] = 1; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 24 | 0) >> 2] = ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 4 | 0) | 0; + label$9 : { + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + i64toi32_i32$0 = $2601(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $323_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $323_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $157_1 = i64toi32_i32$1; + $157$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $158$hi = i64toi32_i32$1; + i64toi32_i32$1 = $157$hi; + i64toi32_i32$1 = $158$hi; + i64toi32_i32$1 = $157$hi; + i64toi32_i32$1 = $158$hi; + $331_1 = i64toi32_i32$0; + i64toi32_i32$1 = $157$hi; + i64toi32_i32$2 = $157_1; + i64toi32_i32$0 = $158$hi; + i64toi32_i32$3 = $331_1; + label$12 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$12 + } + break label$9; + } + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + label$13 : { + if (!($2633(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0, $4_1 + 56 | 0 | 0) | 0)) { + break label$13 + } + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + break label$3; + } + break label$10; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $161_1 = i64toi32_i32$2; + $161$hi = i64toi32_i32$1; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $162$hi = i64toi32_i32$2; + i64toi32_i32$2 = $161$hi; + i64toi32_i32$2 = $162$hi; + i64toi32_i32$2 = $161$hi; + i64toi32_i32$2 = $162$hi; + $397_1 = i64toi32_i32$1; + i64toi32_i32$2 = $161$hi; + i64toi32_i32$3 = $161_1; + i64toi32_i32$1 = $162$hi; + i64toi32_i32$0 = $397_1; + label$14 : { + label$15 : { + if (((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0) { + break label$15 + } + if (!((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0)) { + break label$14 + } + } + break label$9; + } + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + label$16 : { + if (!($2634(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0, $4_1 + 56 | 0 | 0, (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 4 | 0 | 0) | 0)) { + break label$16 + } + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + break label$3; + } + } + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + if (!(HEAP32[($4_1 + 36 | 0) >> 2] | 0)) { + continue label$4 + } + break label$4; + }; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $470_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = $470_1; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$2; + $140_1 = 0; + label$17 : { + if (!((0 | 0) == ($2635($4_1 + 56 | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$17 + } + $140_1 = (HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0); + } + HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] = $140_1 & 1 | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + } + $151_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $151_1 | 0; + } + + function $2603($0_1, $1_1, $1$hi, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $5_1 = 0, $23$hi = 0, $24$hi = 0, $27$hi = 0, $28$hi = 0, $31$hi = 0, $32$hi = 0, $35$hi = 0, $36$hi = 0, $26_1 = 0, $28_1 = 0, $29_1 = 0, $30_1 = 0, $32_1 = 0, $33_1 = 0, $34_1 = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $23_1 = 0, $61_1 = 0, $27_1 = 0, $77_1 = 0, $31_1 = 0, $91_1 = 0, $35_1 = 0, $107_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $2_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $23_1 = i64toi32_i32$0; + $23$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $24$hi = i64toi32_i32$0; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$0 = $24$hi; + $61_1 = i64toi32_i32$1; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$2 = $23_1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$3 = $61_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $26_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $28_1 = 0 + } else { + $28_1 = 1 + } + $29_1 = $28_1; + } else { + $29_1 = 0 + } + $26_1 = $29_1; + } + label$3 : { + if (!($26_1 & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = -1; + break label$1; + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $27_1 = i64toi32_i32$2; + $27$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $28$hi = i64toi32_i32$2; + i64toi32_i32$2 = $27$hi; + i64toi32_i32$2 = $28$hi; + i64toi32_i32$2 = $27$hi; + i64toi32_i32$2 = $28$hi; + $77_1 = i64toi32_i32$0; + i64toi32_i32$2 = $27$hi; + i64toi32_i32$3 = $27_1; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$1 = $77_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $30_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $32_1 = 0 + } else { + $32_1 = 1 + } + $33_1 = $32_1; + } else { + $33_1 = 0 + } + $30_1 = $33_1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = $30_1 & 1 | 0; + break label$1; + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $31_1 = i64toi32_i32$3; + $31$hi = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$3; + i64toi32_i32$3 = $31$hi; + i64toi32_i32$3 = $32$hi; + i64toi32_i32$3 = $31$hi; + i64toi32_i32$3 = $32$hi; + $91_1 = i64toi32_i32$2; + i64toi32_i32$3 = $31$hi; + i64toi32_i32$1 = $31_1; + i64toi32_i32$2 = $32$hi; + i64toi32_i32$0 = $91_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$2 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0) { + $36_1 = 0 + } else { + $36_1 = 1 + } + $37_1 = $36_1; + } else { + $37_1 = 0 + } + $34_1 = $37_1; + } + label$4 : { + if (!($34_1 & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = -1; + break label$1; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $35_1 = i64toi32_i32$1; + $35$hi = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $36$hi = i64toi32_i32$1; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $36$hi; + $107_1 = i64toi32_i32$3; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$0 = $35_1; + i64toi32_i32$3 = $36$hi; + i64toi32_i32$2 = $107_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$3 | 0)) { + $38_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$2 >>> 0) { + $39_1 = 0 + } else { + $39_1 = 1 + } + $40_1 = $39_1; + } else { + $40_1 = 0 + } + $38_1 = $40_1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = $38_1 & 1 | 0; + } + return HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2604($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $152_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2648(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$4 + } + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$3 + } + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$3 + } + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $152_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $152_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return; + } + + function $2605($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $84$hi = 0, $85$hi = 0, $7_1 = 0, $81$hi = 0, $82$hi = 0, $104_1 = 0, $81_1 = 0, $158_1 = 0, $84_1 = 0, $224_1 = 0, $238_1 = 0, $290_1 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + i64toi32_i32$2 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $104_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $104_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + $7_1 = 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = $7_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + HEAP32[($4_1 + 32 | 0) >> 2] = $7_1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $81_1 = i64toi32_i32$1; + $81$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $82$hi = i64toi32_i32$1; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$1 = $82$hi; + $158_1 = i64toi32_i32$0; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$0 = $82$hi; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2603(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, $81_1 | 0, i64toi32_i32$1 | 0, $158_1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 40 | 0) >> 2] | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0, 1, i64toi32_i32$0, i64toi32_i32$1) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + break label$1; + } + } + label$7 : { + if (!(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$7 + } + $2649(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + break label$3; + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $84_1 = i64toi32_i32$1; + $84$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $85$hi = i64toi32_i32$1; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$1 = $85$hi; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$1 = $85$hi; + $224_1 = i64toi32_i32$0; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$2 = $84_1; + i64toi32_i32$0 = $85$hi; + i64toi32_i32$3 = $224_1; + label$8 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $238_1 = i64toi32_i32$2; + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $238_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + } + label$9 : { + if (!(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + continue label$2 + } + break label$2; + }; + label$10 : { + if (!(HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$10 + } + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $2650(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $290_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $290_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $77_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $77_1 | 0; + } + + function $2606($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $12_1 = 0, $217_1 = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + $12_1 = (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2648(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 28 | 0) >> 2] | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0, 1, i64toi32_i32$0, i64toi32_i32$1) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2648(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + label$6 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + if (!(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$5 + } + } + break label$3; + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($4_1 + 28 | 0) >> 2] | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0, 0, 0, i64toi32_i32$1) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + continue label$1; + } + break label$1; + }; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $217_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $217_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$7 : { + if (!(HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$7 + } + $2650(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + $64_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $64_1 | 0; + } + + function $2607($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $27$hi = 0, $28$hi = 0, $31$hi = 0, $32$hi = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $70_1 = 0, $27_1 = 0, $83_1 = 0, $31_1 = 0, $103_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : while (1) { + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $2608(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + label$3 : { + if (!($2609(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + break label$1; + } + i64toi32_i32$1 = $2610(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $70_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $70_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$4 : { + if (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $27_1 = i64toi32_i32$0; + $27$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $28$hi = i64toi32_i32$0; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$0 = $28$hi; + $83_1 = i64toi32_i32$1; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$2 = $27_1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$3 = $83_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $18_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $18_1 = $20_1; + } + if (!($18_1 & 1 | 0)) { + break label$4 + } + break label$1; + } + label$5 : { + if (!(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0)) { + break label$5 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $31_1 = i64toi32_i32$2; + $31$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$2; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$2 = $32$hi; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$2 = $32$hi; + $103_1 = i64toi32_i32$0; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$3 = $31_1; + i64toi32_i32$0 = $32$hi; + i64toi32_i32$1 = $103_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $21_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 > i64toi32_i32$1 >>> 0) { + $22_1 = 0 + } else { + $22_1 = 1 + } + $23_1 = $22_1; + } else { + $23_1 = 0 + } + $21_1 = $23_1; + } + if (!($21_1 & 1 | 0)) { + break label$5 + } + break label$1; + } + continue label$2; + }; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2608($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAPU16[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 88) | 0; + label$3 : { + label$4 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$4 + } + if (!((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $2611(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + break label$3; + } + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 44 | 0) >> 2] | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0, $6_1 + 12 | 0); + } + label$5 : { + label$6 : { + if ((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$6 + } + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$6 + } + if (!($2612(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0) | 0)) { + break label$5 + } + } + $2613(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, 1 | 0); + $2614(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 8 | 0) >> 2] = ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + label$7 : { + if (!((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$1; + } + } + label$8 : { + label$9 : { + if (!((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 255 | 0)) { + break label$9 + } + if (!(HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0)) { + break label$8 + } + } + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 40 | 0) >> 2] | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0); + break label$1; + } + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + continue label$2; + }; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2609($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = 1; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + $8_1 = ((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + return $8_1 & 1 | 0 | 0; + } + + function $2610($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$2 = ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2611($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $102$hi = 0, $103$hi = 0, $106$hi = 0, $107$hi = 0, $110$hi = 0, $111$hi = 0, $114$hi = 0, $115$hi = 0, $20_1 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $46_1 = 0, $30_1 = 0, $31_1 = 0, $32_1 = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $102_1 = 0, $173_1 = 0, $106_1 = 0, $240_1 = 0, $110_1 = 0, $342_1 = 0, $114_1 = 0, $362_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = 1; + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + label$3 : while (1) { + $20_1 = 0; + label$4 : { + if ($2615(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $102_1 = i64toi32_i32$0; + $102$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2616(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $103$hi = i64toi32_i32$0; + i64toi32_i32$0 = $102$hi; + i64toi32_i32$0 = $103$hi; + i64toi32_i32$0 = $102$hi; + i64toi32_i32$0 = $103$hi; + $173_1 = i64toi32_i32$1; + i64toi32_i32$0 = $102$hi; + i64toi32_i32$2 = $102_1; + i64toi32_i32$1 = $103$hi; + i64toi32_i32$3 = $173_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $27_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $28_1 = 0 + } else { + $28_1 = 1 + } + $29_1 = $28_1; + } else { + $29_1 = 0 + } + $27_1 = $29_1; + } + $20_1 = $27_1; + } + label$5 : { + if (!($20_1 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2617(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $2618(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + continue label$3; + } + break label$3; + }; + label$6 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $2619(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[$5_1 >> 2] = 0; + } + break label$1; + } + label$7 : while (1) { + $46_1 = 0; + label$8 : { + if ($2615(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$8 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $106_1 = i64toi32_i32$2; + $106$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2616(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $107$hi = i64toi32_i32$2; + i64toi32_i32$2 = $106$hi; + i64toi32_i32$2 = $107$hi; + i64toi32_i32$2 = $106$hi; + i64toi32_i32$2 = $107$hi; + $240_1 = i64toi32_i32$0; + i64toi32_i32$2 = $106$hi; + i64toi32_i32$3 = $106_1; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$1 = $240_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $30_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $31_1 = 0 + } else { + $31_1 = 1 + } + $32_1 = $31_1; + } else { + $32_1 = 0 + } + $30_1 = $32_1; + } + $46_1 = $30_1; + } + label$9 : { + if (!($46_1 & 1 | 0)) { + break label$9 + } + $2620(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + continue label$7; + } + break label$7; + }; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2617(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + $2621(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[$5_1 >> 2] = 0; + } + } + label$11 : while (1) { + label$12 : { + if (!(HEAP32[$5_1 >> 2] | 0)) { + break label$12 + } + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$12 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 28 | 0) >> 2] | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0, 0); + } + label$13 : { + label$14 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + break label$13; + } + label$15 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$15 + } + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] | 0; + $110_1 = i64toi32_i32$3; + $110$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $111$hi = i64toi32_i32$3; + i64toi32_i32$3 = $110$hi; + i64toi32_i32$3 = $111$hi; + i64toi32_i32$3 = $110$hi; + i64toi32_i32$3 = $111$hi; + $342_1 = i64toi32_i32$2; + i64toi32_i32$3 = $110$hi; + i64toi32_i32$1 = $110_1; + i64toi32_i32$2 = $111$hi; + i64toi32_i32$0 = $342_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$2 | 0)) { + $33_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + $34_1 = 0 + } else { + $34_1 = 1 + } + $35_1 = $34_1; + } else { + $35_1 = 0 + } + $33_1 = $35_1; + } + if (!($33_1 & 1 | 0)) { + break label$15 + } + break label$13; + } + label$16 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$16 + } + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] | 0; + $114_1 = i64toi32_i32$1; + $114$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $115$hi = i64toi32_i32$1; + i64toi32_i32$1 = $114$hi; + i64toi32_i32$1 = $115$hi; + i64toi32_i32$1 = $114$hi; + i64toi32_i32$1 = $115$hi; + $362_1 = i64toi32_i32$3; + i64toi32_i32$1 = $114$hi; + i64toi32_i32$0 = $114_1; + i64toi32_i32$3 = $115$hi; + i64toi32_i32$2 = $362_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$3 | 0)) { + $36_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 > i64toi32_i32$2 >>> 0) { + $37_1 = 0 + } else { + $37_1 = 1 + } + $38_1 = $37_1; + } else { + $38_1 = 0 + } + $36_1 = $38_1; + } + if (!($36_1 & 1 | 0)) { + break label$16 + } + break label$13; + } + HEAP32[$5_1 >> 2] = 1; + if (!(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + continue label$11 + } + } + break label$11; + }; + global$0 = $5_1 + 32 | 0; + return; + } + + function $2612($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $141$hi = 0, $142$hi = 0, $145$hi = 0, $146$hi = 0, $152$hi = 0, $153$hi = 0, $156$hi = 0, $157$hi = 0, $161$hi = 0, $162$hi = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $149$hi = 0, $150$hi = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $42_1 = 0, $141_1 = 0, $202_1 = 0, $145_1 = 0, $219_1 = 0, $267_1 = 0, $152_1 = 0, $330_1 = 0, $156_1 = 0, $350_1 = 0, $376_1 = 0, $161_1 = 0, $392_1 = 0, $418_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[($5_1 + 20 | 0) >> 2] | 0, 88) | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $141_1 = i64toi32_i32$0; + $141$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + $142$hi = i64toi32_i32$0; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$0 = $142$hi; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$0 = $142$hi; + $202_1 = i64toi32_i32$1; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$2 = $141_1; + i64toi32_i32$1 = $142$hi; + i64toi32_i32$3 = $202_1; + label$1 : { + label$2 : { + label$3 : { + if (((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0) { + break label$3 + } + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $145_1 = i64toi32_i32$2; + $145$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 68 | 0) >> 2] | 0; + $146$hi = i64toi32_i32$2; + i64toi32_i32$2 = $145$hi; + i64toi32_i32$2 = $146$hi; + i64toi32_i32$2 = $145$hi; + i64toi32_i32$2 = $146$hi; + $219_1 = i64toi32_i32$0; + i64toi32_i32$2 = $145$hi; + i64toi32_i32$3 = $145_1; + i64toi32_i32$0 = $146$hi; + i64toi32_i32$1 = $219_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $35_1 = 0 + } else { + $35_1 = 1 + } + $36_1 = $35_1; + } else { + $36_1 = 0 + } + $34_1 = $36_1; + } + if (!(($34_1 & 1 | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + } + i64toi32_i32$3 = -2147483648; + $149$hi = i64toi32_i32$3; + i64toi32_i32$3 = 2147483647; + $150$hi = i64toi32_i32$3; + HEAP32[($5_1 + 4 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAP32[($5_1 + 20 | 0) >> 2] | 0) ^ 1 | 0, 88) | 0; + i64toi32_i32$3 = $149$hi; + i64toi32_i32$3 = $150$hi; + i64toi32_i32$4 = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + i64toi32_i32$3 = $149$hi; + i64toi32_i32$2 = $150$hi; + i64toi32_i32$0 = i64toi32_i32$4 ? 0 : -1; + i64toi32_i32$1 = i64toi32_i32$4 ? i64toi32_i32$3 : i64toi32_i32$2; + $267_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] = $267_1; + HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 8 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$4 : { + label$5 : while (1) { + if (!(1 & 1 | 0)) { + break label$4 + } + HEAP32[$5_1 >> 2] = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + label$6 : { + if (!(((HEAPU8[((HEAP32[$5_1 >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$4 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 76 | 0) >> 2] | 0; + $152_1 = i64toi32_i32$1; + $152$hi = i64toi32_i32$0; + i64toi32_i32$4 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 76 | 0) >> 2] | 0; + $153$hi = i64toi32_i32$1; + i64toi32_i32$1 = $152$hi; + i64toi32_i32$1 = $153$hi; + i64toi32_i32$1 = $152$hi; + i64toi32_i32$1 = $153$hi; + $330_1 = i64toi32_i32$0; + i64toi32_i32$1 = $152$hi; + i64toi32_i32$4 = $152_1; + i64toi32_i32$0 = $153$hi; + i64toi32_i32$3 = $330_1; + label$7 : { + if (!(((i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$3 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $156_1 = i64toi32_i32$4; + $156$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $157$hi = i64toi32_i32$4; + i64toi32_i32$4 = $156$hi; + i64toi32_i32$4 = $157$hi; + i64toi32_i32$4 = $156$hi; + i64toi32_i32$4 = $157$hi; + $350_1 = i64toi32_i32$1; + i64toi32_i32$4 = $156$hi; + i64toi32_i32$3 = $156_1; + i64toi32_i32$1 = $157$hi; + i64toi32_i32$0 = $350_1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$1 | 0)) { + $37_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $38_1 = 0 + } else { + $38_1 = 1 + } + $39_1 = $38_1; + } else { + $39_1 = 0 + } + $37_1 = $39_1; + } + label$8 : { + label$9 : { + if (!(($37_1 & 1 | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] | 0; + $376_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 64 | 0) >> 2] = $376_1; + HEAP32[(i64toi32_i32$3 + 68 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$8; + } + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 72 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] | 0; + $161_1 = i64toi32_i32$4; + $161$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] | 0; + $162$hi = i64toi32_i32$4; + i64toi32_i32$4 = $161$hi; + i64toi32_i32$4 = $162$hi; + i64toi32_i32$4 = $161$hi; + i64toi32_i32$4 = $162$hi; + $392_1 = i64toi32_i32$3; + i64toi32_i32$4 = $161$hi; + i64toi32_i32$0 = $161_1; + i64toi32_i32$3 = $162$hi; + i64toi32_i32$1 = $392_1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$3 | 0)) { + $40_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$1 >>> 0) { + $41_1 = 0 + } else { + $41_1 = 1 + } + $42_1 = $41_1; + } else { + $42_1 = 0 + } + $40_1 = $42_1; + } + label$10 : { + if (!(($40_1 & 1 | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] | 0; + $418_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] = $418_1; + HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] = i64toi32_i32$4; + } + } + } + HEAP16[(HEAP32[$5_1 >> 2] | 0) >> 1] = ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) - ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 80 | 0) | 0 | 0) / (88 | 0) | 0; + label$11 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$11 + } + break label$4; + } + HEAP32[($5_1 + 4 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 8 | 0) >> 2] | 0) ^ 1 | 0) << 2 | 0) | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) / (2 | 0) | 0; + continue label$5; + }; + } + } + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + return HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2613($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $21_1 = 0, $33_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = ((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$1 : while (1) { + $21_1 = 0; + label$2 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) >= (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $21_1 = (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($21_1 & 1 | 0)) { + break label$3 + } + $33_1 = $2622(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = $33_1; + label$4 : { + if (!$33_1) { + break label$4 + } + HEAP32[($6_1 + 4 | 0) >> 2] = ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[($6_1 + 8 | 0) >> 2] | 0, 88) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0, 0); + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) / (2 | 0) | 0; + continue label$1; + } + break label$1; + }; + global$0 = $6_1 + 32 | 0; + return; + } + + function $2614($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $78_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $78_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] = $78_1; + HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] = i64toi32_i32$1; + return; + } + + function $2615($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = 1; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + $8_1 = (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0); + } + return $8_1 & 1 | 0 | 0; + } + + function $2616($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2617($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0; + } + + function $2618($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $2623(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $2619($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $65_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$1; + } + $2531(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) - 1 | 0; + $2624(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + label$3 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($2532(HEAP32[(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + label$6 : { + if ((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$4; + } + $65_1 = ($2535((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0 | 0) | 0) & 255 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + $65_1 | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $2625(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2620($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $2626(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $2621($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $12_1 = 0, $24_1 = 0, $119$hi = 0, $120$hi = 0, $25_1 = 0, $121$hi = 0, $122$hi = 0, $123$hi = 0, $124$hi = 0, $125$hi = 0, $126$hi = 0, $97_1 = 0, $23_1 = 0, $28_1 = 0, $209_1 = 0, $96_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + $2531(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $12_1 = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + $23_1 = 0; + $24_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($24_1 + 8 | 0) >> 2] = (HEAP32[($24_1 + 8 | 0) >> 2] | 0) + -1 | 0; + $28_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $119$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $120$hi = i64toi32_i32$0; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $25_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $25_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $121$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $122$hi = i64toi32_i32$1; + i64toi32_i32$1 = $121$hi; + i64toi32_i32$1 = $122$hi; + i64toi32_i32$1 = $121$hi; + i64toi32_i32$0 = $25_1; + i64toi32_i32$2 = $122$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $123$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $124$hi = i64toi32_i32$5; + i64toi32_i32$5 = $123$hi; + i64toi32_i32$5 = $124$hi; + i64toi32_i32$5 = $123$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $124$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $125$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $126$hi = i64toi32_i32$4; + i64toi32_i32$4 = $125$hi; + i64toi32_i32$4 = $126$hi; + $209_1 = i64toi32_i32$1; + i64toi32_i32$4 = $125$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $126$hi; + i64toi32_i32$3 = $209_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2528($28_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != ($23_1 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + } + break label$5; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ($2532(HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + } + label$9 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + $96_1 = ($2535(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 72 | 0 | 0) | 0) & 255 | 0; + $97_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($97_1 + 20 | 0) >> 2] = (HEAP32[($97_1 + 20 | 0) >> 2] | 0) + $96_1 | 0; + break label$3; + } + $2531(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + } + continue label$1; + } + break label$1; + }; + label$10 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0; + $2627(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $2622($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $139$hi = 0, $140$hi = 0, $143$hi = 0, $144$hi = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $139_1 = 0, $363_1 = 0, $109_1 = 0, $110_1 = 0, $143_1 = 0, $393_1 = 0, $136_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) >= ((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) / (2 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 32 | 0) >> 2] = ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) - ((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) / (2 | 0) | 0) | 0) << 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAPU16[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAPU16[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + ((((HEAP32[($4_1 + 36 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 1] | 0) & 65535 | 0; + } + HEAP32[($4_1 + 20 | 0) >> 2] = ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[($4_1 + 32 | 0) >> 2] | 0, 88) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[($4_1 + 28 | 0) >> 2] | 0, 88) | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] = 0; + label$3 : { + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + break label$6; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2632((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 60 | 0 | 0, (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 60 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$8 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $139_1 = i64toi32_i32$0; + $139$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $140$hi = i64toi32_i32$0; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$0 = $140$hi; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$0 = $140$hi; + $363_1 = i64toi32_i32$1; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$2 = $139_1; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$3 = $363_1; + label$9 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$9 + } + HEAP8[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 84 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 84 | 0) >> 0] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + break label$3; + } + $109_1 = -1; + $110_1 = 1; + i64toi32_i32$3 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $143_1 = i64toi32_i32$2; + $143$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 76 | 0) >> 2] | 0; + $144$hi = i64toi32_i32$2; + i64toi32_i32$2 = $143$hi; + i64toi32_i32$2 = $144$hi; + i64toi32_i32$2 = $143$hi; + i64toi32_i32$2 = $144$hi; + $393_1 = i64toi32_i32$0; + i64toi32_i32$2 = $143$hi; + i64toi32_i32$3 = $143_1; + i64toi32_i32$0 = $144$hi; + i64toi32_i32$1 = $393_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $18_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $18_1 = $20_1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = ($18_1 & 1 | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) & 1 | 0 ? $109_1 : $110_1; + } + label$10 : { + label$11 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + break label$10; + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + } + } + HEAP16[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 1] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + $136_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $136_1 | 0; + } + + function $2623($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $65_1 = 0, $35_1 = 0, $66$hi = 0, $67$hi = 0, $28_1 = 0, $68$hi = 0, $69$hi = 0, $70$hi = 0, $71$hi = 0, $72$hi = 0, $29_1 = 0, $73$hi = 0, $74$hi = 0, $75$hi = 0, $32_1 = 0, $42_1 = 0, $70_1 = 0, $204_1 = 0, $51_1 = 0, $62_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 5 | 0) | 0; + label$1 : { + if (!($2628(HEAP32[$5_1 >> 2] | 0 | 0) | 0)) { + break label$1 + } + label$2 : { + if (!(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2623(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + label$3 : { + if (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$3 + } + $32_1 = 0; + $2531(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0); + $35_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = 0; + $65_1 = 0; + i64toi32_i32$1 = $35_1; + HEAP32[i64toi32_i32$1 >> 2] = $65_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $65_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $35_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $65_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $35_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $65_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $42_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $66$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $67$hi = i64toi32_i32$0; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $67$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $28_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $28_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $68$hi = i64toi32_i32$1; + i64toi32_i32$1 = 16; + $69$hi = i64toi32_i32$1; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$1 = $69$hi; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$0 = $28_1; + i64toi32_i32$2 = $69$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $70_1 = i64toi32_i32$4; + $70$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $71$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $72$hi = i64toi32_i32$5; + i64toi32_i32$5 = $71$hi; + i64toi32_i32$5 = $72$hi; + i64toi32_i32$5 = $71$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$3 = 31; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $29_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $29_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $73$hi = i64toi32_i32$0; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$5 = $70_1; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$3 = $29_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $74$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 48 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $75$hi = i64toi32_i32$4; + i64toi32_i32$4 = $74$hi; + i64toi32_i32$4 = $75$hi; + $204_1 = i64toi32_i32$5; + i64toi32_i32$4 = $74$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$5 = $75$hi; + i64toi32_i32$3 = $204_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $51_1 = $2528($42_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = $51_1; + label$4 : { + if (!((HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0) != ($32_1 | 0) & 1 | 0)) { + break label$4 + } + $2628(HEAP32[$5_1 >> 2] | 0 | 0) | 0; + } + } + } + } + $62_1 = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $62_1 | 0; + } + + function $2624($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $10_1 = 0, $86$hi = 0, $87$hi = 0, $23_1 = 0, $88$hi = 0, $89$hi = 0, $90$hi = 0, $91$hi = 0, $92$hi = 0, $93$hi = 0, $81_1 = 0, $35_1 = 0, $194_1 = 0, $42_1 = 0, $80_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $2531(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $10_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($10_1 + 8 | 0) >> 2] = (HEAP32[($10_1 + 8 | 0) >> 2] | 0) + 1 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[$4_1 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $35_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(HEAP32[$4_1 >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $86$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $87$hi = i64toi32_i32$0; + i64toi32_i32$0 = $86$hi; + i64toi32_i32$0 = $87$hi; + i64toi32_i32$0 = $86$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $87$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $23_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $23_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $88$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $89$hi = i64toi32_i32$1; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$1 = $89$hi; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$0 = $23_1; + i64toi32_i32$2 = $89$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $90$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $91$hi = i64toi32_i32$5; + i64toi32_i32$5 = $90$hi; + i64toi32_i32$5 = $91$hi; + i64toi32_i32$5 = $90$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $91$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $92$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $93$hi = i64toi32_i32$4; + i64toi32_i32$4 = $92$hi; + i64toi32_i32$4 = $93$hi; + $194_1 = i64toi32_i32$1; + i64toi32_i32$4 = $92$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $93$hi; + i64toi32_i32$3 = $194_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $42_1 = $2629($35_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = $42_1; + break label$3; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + } + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0; + break label$6; + } + $80_1 = $2534((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0 | 0) | 0; + $81_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($81_1 + 36 | 0) >> 2] = (HEAP32[($81_1 + 36 | 0) >> 2] | 0) + $80_1 | 0; + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2625($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $30_1 = 0, $84_1 = 0, $83_1 = 0, $105_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $30_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + break label$4; + } + $30_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 16 | 0) >> 2] = $30_1; + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 84 | 0) >> 0] = 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] = 1; + label$6 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + if ((HEAPU8[((HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 84 | 0) >> 0] = 1; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + if ((HEAPU8[((HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] = 1; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + break label$7; + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] = 0; + } + } + break label$2; + } + $83_1 = HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + $84_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $84_1 + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[($83_1 + $84_1 | 0) >> 0] | 0) & 255 | 0; + label$9 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 128 | 0)) { + break label$9 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + -1 | 0; + $105_1 = $2534((HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0 | 0, $4_1 + 12 | 0 | 0) | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + $105_1 | 0; + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 84 | 0) >> 0] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 1 | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 1 | 0; + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $2626($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $68_1 = 0, $35_1 = 0, $69$hi = 0, $70$hi = 0, $28_1 = 0, $71$hi = 0, $72$hi = 0, $73$hi = 0, $74$hi = 0, $75$hi = 0, $29_1 = 0, $76$hi = 0, $77$hi = 0, $78$hi = 0, $32_1 = 0, $42_1 = 0, $73_1 = 0, $207_1 = 0, $51_1 = 0, $65_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 5 | 0) | 0; + label$1 : { + if (!($2630(HEAP32[$5_1 >> 2] | 0 | 0) | 0)) { + break label$1 + } + label$2 : { + if (!(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2626(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + label$3 : { + if (HEAP32[((HEAP32[$5_1 >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$3 + } + $32_1 = 0; + $2531(HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0); + $35_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = 0; + $68_1 = 0; + i64toi32_i32$1 = $35_1; + HEAP32[i64toi32_i32$1 >> 2] = $68_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $68_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $35_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $68_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $35_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $68_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $42_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $69$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $70$hi = i64toi32_i32$0; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $70$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $28_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $28_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $71$hi = i64toi32_i32$1; + i64toi32_i32$1 = 16; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$0 = $28_1; + i64toi32_i32$2 = $72$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $73_1 = i64toi32_i32$4; + $73$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $74$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $75$hi = i64toi32_i32$5; + i64toi32_i32$5 = $74$hi; + i64toi32_i32$5 = $75$hi; + i64toi32_i32$5 = $74$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$3 = 31; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $29_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $29_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $76$hi = i64toi32_i32$0; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$5 = $73_1; + i64toi32_i32$1 = $76$hi; + i64toi32_i32$3 = $29_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $77$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[((HEAP32[$5_1 >> 2] | 0) + 48 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $78$hi = i64toi32_i32$4; + i64toi32_i32$4 = $77$hi; + i64toi32_i32$4 = $78$hi; + $207_1 = i64toi32_i32$5; + i64toi32_i32$4 = $77$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$5 = $78$hi; + i64toi32_i32$3 = $207_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $51_1 = $2528($42_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = $51_1; + label$4 : { + if (!((HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0) != ($32_1 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : while (1) { + if ($2628(HEAP32[$5_1 >> 2] | 0 | 0) | 0) { + break label$5 + } + continue label$6; + }; + } + HEAP32[((HEAP32[$5_1 >> 2] | 0) + 8 | 0) >> 2] = 0; + } + } + } + } + $65_1 = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $65_1 | 0; + } + + function $2627($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $151$hi = 0, $99_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $136_1 = 0, $75_1 = 0, $96_1 = 0, $151_1 = 0, $379$hi = 0, $133_1 = 0, $135_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 60 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + label$1 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + } + label$2 : while (1) { + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + if ((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + label$6 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + if ((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + } + } + break label$3; + } + $75_1 = $2631((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0 | 0, $4_1 + 20 | 0 | 0, $4_1 + 16 | 0 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + $75_1 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + } + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$7; + } + $96_1 = ($2535((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0 | 0, $4_1 + 24 | 0 | 0) | 0) & 255 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + $96_1 | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $151_1 = i64toi32_i32$0; + $151$hi = i64toi32_i32$1; + $99_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $99_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $379$hi = i64toi32_i32$0; + i64toi32_i32$0 = $151$hi; + i64toi32_i32$0 = $379$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $151$hi; + i64toi32_i32$3 = $151_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $99_1; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$5; + label$9 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$5 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] = 7; + break label$7; + } + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + $133_1 = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $135_1 = HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + $136_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = $136_1 + 1 | 0; + HEAP32[($135_1 + ($136_1 << 2 | 0) | 0) >> 2] = $133_1; + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + continue label$2; + } + break label$2; + }; + HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $2625(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 64 | 0; + return; + } + + function $2628($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $18_1 = 0, $32_1 = 0, $81_1 = 0, $102$hi = 0, $93_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $17_1 = 0, $31_1 = 0, $90_1 = 0, $102_1 = 0, $313$hi = 0, $99_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + $17_1 = $2534((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0 | 0) | 0; + $18_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[($18_1 + 4 | 0) >> 2] = (HEAP32[($18_1 + 4 | 0) >> 2] | 0) + $17_1 | 0; + $31_1 = ($2535((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0 | 0) | 0) & 255 | 0; + $32_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[($32_1 + 4 | 0) >> 2] = (HEAP32[($32_1 + 4 | 0) >> 2] | 0) + $31_1 | 0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!(((HEAPU8[((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($3_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + break label$3; + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$6 : { + label$7 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $81_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[($81_1 + 16 | 0) >> 2] = (HEAP32[($81_1 + 16 | 0) >> 2] | 0) + (((HEAP32[($3_1 + 20 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + 1 | 0) | 0; + $90_1 = ($2535((HEAP32[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($3_1 + 20 | 0) >> 2] | 0) | 0 | 0, $3_1 + 8 | 0 | 0) | 0) & 255 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + $90_1 | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $102_1 = i64toi32_i32$0; + $102$hi = i64toi32_i32$1; + $93_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $93_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $313$hi = i64toi32_i32$0; + i64toi32_i32$0 = $102$hi; + i64toi32_i32$0 = $313$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $102$hi; + i64toi32_i32$3 = $102_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $93_1; + HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] = i64toi32_i32$5; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$6; + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + } + } + $99_1 = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $99_1 | 0; + } + + function $2629($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $35_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2528(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + $2531(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + } + $35_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $35_1 | 0; + } + + function $2630($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $30_1 = 0, $179$hi = 0, $62_1 = 0, i64toi32_i32$3 = 0, $63_1 = 0, $79_1 = 0, $135_1 = 0, $168_1 = 0, $179_1 = 0, $314$hi = 0, $318_1 = 0, $176_1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($3_1 + 44 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + label$3 : { + label$4 : { + if (!((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) > (9 | 0) & 1 | 0)) { + break label$4 + } + $30_1 = (HEAP32[($3_1 + 40 | 0) >> 2] | 0) - 9 | 0; + break label$3; + } + $30_1 = 0; + } + HEAP32[($3_1 + 20 | 0) >> 2] = $30_1; + HEAP32[($3_1 + 40 | 0) >> 2] = (HEAP32[($3_1 + 40 | 0) >> 2] | 0) + -1 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) > (HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (((HEAPU8[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 40 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0) { + break label$7 + } + break label$5; + } + HEAP32[($3_1 + 40 | 0) >> 2] = (HEAP32[($3_1 + 40 | 0) >> 2] | 0) + -1 | 0; + continue label$6; + }; + } + $2535((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + (HEAP32[($3_1 + 40 | 0) >> 2] | 0) | 0 | 0, $3_1 + 24 | 0 | 0) | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + $179_1 = i64toi32_i32$0; + $179$hi = i64toi32_i32$1; + $62_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = $62_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $314$hi = i64toi32_i32$0; + i64toi32_i32$0 = $179$hi; + i64toi32_i32$0 = $314$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $179$hi; + i64toi32_i32$3 = $179_1; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $318_1 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$2 = $62_1; + HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] = $318_1; + HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] = i64toi32_i32$5; + $63_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + HEAP32[($63_1 + 16 | 0) >> 2] = (HEAP32[($63_1 + 16 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 40 | 0) >> 2] | 0) - 1 | 0; + label$8 : while (1) { + $79_1 = 0; + label$9 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $79_1 = ((HEAPU8[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + label$10 : { + if (!($79_1 & 1 | 0)) { + break label$10 + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + -1 | 0; + continue label$8; + } + break label$8; + }; + label$11 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + if (!(((HEAPU8[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$11 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$12 : { + if (!(((HEAP32[($3_1 + 16 | 0) >> 2] | 0) - 8 | 0 | 0) >= (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($3_1 + 4 | 0) >> 2] = 1; + label$13 : while (1) { + $135_1 = 0; + label$14 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) <= (8 | 0) & 1 | 0)) { + break label$14 + } + $135_1 = (((HEAPU8[((HEAP32[($3_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) - (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0 | 0) != (0 | 0); + } + label$15 : { + if (!($135_1 & 1 | 0)) { + break label$15 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + } + break label$13; + }; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) > (8 | 0) & 1 | 0; + } + label$16 : { + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$16 + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + -1 | 0; + } + } + $168_1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + HEAP32[($168_1 + 16 | 0) >> 2] = (HEAP32[($168_1 + 16 | 0) >> 2] | 0) - (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($3_1 + 40 | 0) >> 2] | 0) - (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0; + } + $176_1 = HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $176_1 | 0; + } + + function $2631($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, $7_1 = 0, $27_1 = 0, $38_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + $7_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $8_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $8_1 + 1 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAPU8[($7_1 + $8_1 | 0) >> 0] | 0) & 255 | 0; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0) & 128 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + -1 | 0; + $27_1 = $2534((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0, $5_1 + 16 | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + $27_1 | 0; + } + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) / (2 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) & 1 | 0; + $38_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $38_1 | 0; + } + + function $2632($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $22_1 = 0, $36_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $16_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$1; + } + $16_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 4 | 0) >> 2] = $16_1; + label$3 : { + label$4 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$4 + } + $22_1 = 0; + break label$3; + } + $22_1 = $3228(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[$4_1 >> 2] = $22_1; + label$5 : { + label$6 : { + if (HEAP32[$4_1 >> 2] | 0) { + break label$6 + } + $36_1 = (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + break label$5; + } + $36_1 = HEAP32[$4_1 >> 2] | 0; + } + global$0 = $4_1 + 16 | 0; + return $36_1 | 0; + } + + function $2633($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $56$hi = 0, $57$hi = 0, $60$hi = 0, $61$hi = 0, $7_1 = 0, $12_1 = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $86_1 = 0, $128_1 = 0, $56_1 = 0, $139_1 = 0, $60_1 = 0, $156_1 = 0, $207_1 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $86_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $86_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 8 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$2 + } + $12_1 = (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + label$4 : { + if ((HEAPU8[((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $128_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[$6_1 >> 2] = $128_1; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$5 : { + label$6 : { + label$7 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$7 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $56_1 = i64toi32_i32$0; + $56$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $57$hi = i64toi32_i32$0; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$0 = $57$hi; + $139_1 = i64toi32_i32$1; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$2 = $56_1; + i64toi32_i32$1 = $57$hi; + i64toi32_i32$3 = $139_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $23_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $24_1 = 0 + } else { + $24_1 = 1 + } + $25_1 = $24_1; + } else { + $25_1 = 0 + } + $23_1 = $25_1; + } + if ($23_1 & 1 | 0) { + break label$6 + } + } + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$5 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $60_1 = i64toi32_i32$2; + $60$hi = i64toi32_i32$0; + i64toi32_i32$3 = $6_1; + i64toi32_i32$0 = HEAP32[$6_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + $61$hi = i64toi32_i32$2; + i64toi32_i32$2 = $60$hi; + i64toi32_i32$2 = $61$hi; + i64toi32_i32$2 = $60$hi; + i64toi32_i32$2 = $61$hi; + $156_1 = i64toi32_i32$0; + i64toi32_i32$2 = $60$hi; + i64toi32_i32$3 = $60_1; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$1 = $156_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $26_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $27_1 = 0 + } else { + $27_1 = 1 + } + $28_1 = $27_1; + } else { + $28_1 = 0 + } + $26_1 = $28_1; + } + if (!($26_1 & 1 | 0)) { + break label$5 + } + } + i64toi32_i32$1 = $6_1; + i64toi32_i32$3 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2598(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + label$8 : { + label$9 : { + if (!(HEAP32[($6_1 + 28 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = 1; + break label$8; + } + i64toi32_i32$2 = $2601(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $207_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $207_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + } + $51_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $51_1 | 0; + } + + function $2634($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $37$hi = 0, $38$hi = 0, $41$hi = 0, $42$hi = 0, $24_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $30_1 = 0, $25_1 = 0, $68_1 = 0, $74_1 = 0, $37_1 = 0, $85_1 = 0, $41_1 = 0, $102_1 = 0, $147_1 = 0, $153_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $4_1; + i64toi32_i32$2 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $68_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $68_1; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $74_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $74_1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (HEAP32[($7_1 + 36 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $37_1 = i64toi32_i32$0; + $37$hi = i64toi32_i32$1; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $38$hi = i64toi32_i32$0; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$0 = $38$hi; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$0 = $38$hi; + $85_1 = i64toi32_i32$1; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$2 = $37_1; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$3 = $85_1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $24_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $26_1 = 0 + } else { + $26_1 = 1 + } + $27_1 = $26_1; + } else { + $27_1 = 0 + } + $24_1 = $27_1; + } + if ($24_1 & 1 | 0) { + break label$3 + } + } + if (!(HEAP32[($7_1 + 36 | 0) >> 2] | 0)) { + break label$2 + } + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $41_1 = i64toi32_i32$2; + $41$hi = i64toi32_i32$0; + i64toi32_i32$3 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $42$hi = i64toi32_i32$2; + i64toi32_i32$2 = $41$hi; + i64toi32_i32$2 = $42$hi; + i64toi32_i32$2 = $41$hi; + i64toi32_i32$2 = $42$hi; + $102_1 = i64toi32_i32$0; + i64toi32_i32$2 = $41$hi; + i64toi32_i32$3 = $41_1; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$1 = $102_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $28_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $29_1 = 0 + } else { + $29_1 = 1 + } + $30_1 = $29_1; + } else { + $30_1 = 0 + } + $28_1 = $30_1; + } + if (!($28_1 & 1 | 0)) { + break label$2 + } + } + i64toi32_i32$1 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2598(HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (HEAP32[($7_1 + 4 | 0) >> 2] | 0) { + break label$6 + } + if (!((HEAPU8[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0)) { + break label$5 + } + } + $25_1 = 1; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] = $25_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $25_1; + break label$1; + } + i64toi32_i32$1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $147_1 = i64toi32_i32$2; + i64toi32_i32$2 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $147_1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$3; + } + i64toi32_i32$1 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $153_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $153_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($7_1 + 44 | 0) >> 2] = 0; + } + $32_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $32_1 | 0; + } + + function $2635($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $149$hi = 0, $150$hi = 0, $55_1 = 0, $149_1 = 0, $238_1 = 0, $146_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 36 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 20 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$5 : { + if ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $149_1 = i64toi32_i32$0; + $149$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $150$hi = i64toi32_i32$0; + i64toi32_i32$0 = $149$hi; + i64toi32_i32$0 = $150$hi; + i64toi32_i32$0 = $149$hi; + i64toi32_i32$0 = $150$hi; + $238_1 = i64toi32_i32$1; + i64toi32_i32$0 = $149$hi; + i64toi32_i32$2 = $149_1; + i64toi32_i32$1 = $150$hi; + label$6 : { + if (!(((i64toi32_i32$2 | 0) == ($238_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + } + } + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$4; + }; + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$7 : while (1) { + $55_1 = 0; + label$8 : { + if (HEAP32[($5_1 + 40 | 0) >> 2] | 0) { + break label$8 + } + $55_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + } + label$9 : { + if (!($55_1 & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$10 : { + label$11 : { + label$12 : { + if ((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0) { + break label$12 + } + if ((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + if ((HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$12 + } + if (!((HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2636(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$13 + } + break label$9; + } + break label$10; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $2637($5_1 + 40 | 0 | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + label$14 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$15 + } + if (!($2638(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$14 + } + } + HEAP32[($5_1 + 60 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + } + $146_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $146_1 | 0; + } + + function $2636($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $57_1 = 0, $264$hi = 0, $265$hi = 0, $268$hi = 0, $269$hi = 0, $272$hi = 0, $273$hi = 0, $74_1 = 0, $261$hi = 0, $262$hi = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $42_1 = 0, $276$hi = 0, $277$hi = 0, $279$hi = 0, $280$hi = 0, $201_1 = 0, $576_1 = 0, $261_1 = 0, $617_1 = 0, $264_1 = 0, $630_1 = 0, $268_1 = 0, $648_1 = 0, $272_1 = 0, $670_1 = 0, $276_1 = 0, $687_1 = 0, $252_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 224 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 216 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 212 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 208 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1 + 200 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 92 | 0) >> 2] = $5_1 + 96 | 0; + HEAP32[($5_1 + 84 | 0) >> 2] = 0; + HEAP32[($5_1 + 80 | 0) >> 2] = (HEAPU8[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0; + $2639((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 4 | 0 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 72 | 0) >> 2] = Math_imul(HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, 24); + HEAP32[($5_1 + 76 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($5_1 + 220 | 0) >> 2] = 7; + break label$1; + } + } + $3289(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 0 | 0, Math_imul(HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0, 24) | 0) | 0; + HEAP32[($5_1 + 88 | 0) >> 2] = 0; + label$4 : { + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $57_1 = 0; + HEAP32[($5_1 + 68 | 0) >> 2] = ((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 88 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = $57_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $57_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $57_1; + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($57_1 | 0) & 1 | 0)) { + break label$8 + } + $74_1 = $5_1 + 40 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = $74_1; + HEAP32[i64toi32_i32$0 >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[($5_1 + 216 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2640(HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, $74_1 | 0, $5_1 + 56 | 0 | 0, $5_1 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($5_1 + 84 | 0) >> 2] | 0)) { + break label$9 + } + $42(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + break label$4; + } + label$10 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 1; + } + break label$7; + } + HEAP32[($5_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + $2641(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 88 | 0) >> 2] | 0, 24) | 0 | 0) | 0; + HEAP8[(((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 88 | 0) >> 2] | 0, 24) | 0) + 12 | 0) >> 0] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + label$11 : { + if (!(((HEAPU8[(((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 88 | 0) >> 2] | 0, 24) | 0) + 13 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + break label$4; + } + HEAP32[($5_1 + 88 | 0) >> 2] = (HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$12 : while (1) { + i64toi32_i32$2 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $576_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $576_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + label$13 : while (1) { + HEAP32[($5_1 + 36 | 0) >> 2] = 1; + HEAP32[($5_1 + 88 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 88 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $261_1 = i64toi32_i32$1; + $261$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $262$hi = i64toi32_i32$0; + i64toi32_i32$0 = $261$hi; + i64toi32_i32$0 = $262$hi; + $617_1 = i64toi32_i32$1; + i64toi32_i32$0 = $261$hi; + i64toi32_i32$2 = $261_1; + i64toi32_i32$1 = $262$hi; + i64toi32_i32$3 = $617_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $264_1 = i64toi32_i32$5; + $264$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $265$hi = i64toi32_i32$5; + i64toi32_i32$5 = $264$hi; + i64toi32_i32$5 = $265$hi; + i64toi32_i32$5 = $264$hi; + i64toi32_i32$5 = $265$hi; + $630_1 = i64toi32_i32$2; + i64toi32_i32$5 = $264$hi; + i64toi32_i32$0 = $264_1; + i64toi32_i32$2 = $265$hi; + i64toi32_i32$3 = $630_1; + label$16 : { + if (!(((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($5_1 + 36 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $268_1 = i64toi32_i32$0; + $268$hi = i64toi32_i32$5; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $269$hi = i64toi32_i32$0; + i64toi32_i32$0 = $268$hi; + i64toi32_i32$0 = $269$hi; + i64toi32_i32$0 = $268$hi; + i64toi32_i32$0 = $269$hi; + $648_1 = i64toi32_i32$5; + i64toi32_i32$0 = $268$hi; + i64toi32_i32$3 = $268_1; + i64toi32_i32$5 = $269$hi; + i64toi32_i32$2 = $648_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$5 | 0)) { + $37_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$2 >>> 0) { + $38_1 = 0 + } else { + $38_1 = 1 + } + $39_1 = $38_1; + } else { + $39_1 = 0 + } + $37_1 = $39_1; + } + if (!($37_1 & 1 | 0)) { + break label$17 + } + label$19 : { + if (!($2642(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$19 + } + break label$4; + } + continue label$18; + }; + } + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $272_1 = i64toi32_i32$3; + $272$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $273$hi = i64toi32_i32$3; + i64toi32_i32$3 = $272$hi; + i64toi32_i32$3 = $273$hi; + i64toi32_i32$3 = $272$hi; + i64toi32_i32$3 = $273$hi; + $670_1 = i64toi32_i32$0; + i64toi32_i32$3 = $272$hi; + i64toi32_i32$2 = $272_1; + i64toi32_i32$0 = $273$hi; + i64toi32_i32$5 = $670_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$0 | 0)) { + $40_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$5 >>> 0) { + $41_1 = 0 + } else { + $41_1 = 1 + } + $42_1 = $41_1; + } else { + $42_1 = 0 + } + $40_1 = $42_1; + } + label$20 : { + if (!($40_1 & 1 | 0)) { + break label$20 + } + i64toi32_i32$5 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $276_1 = i64toi32_i32$2; + $276$hi = i64toi32_i32$3; + i64toi32_i32$2 = HEAP32[($5_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + $277$hi = i64toi32_i32$3; + i64toi32_i32$3 = $276$hi; + i64toi32_i32$3 = $277$hi; + $687_1 = i64toi32_i32$2; + i64toi32_i32$3 = $276$hi; + i64toi32_i32$5 = $276_1; + i64toi32_i32$2 = $277$hi; + i64toi32_i32$0 = $687_1; + i64toi32_i32$1 = i64toi32_i32$5 - i64toi32_i32$0 | 0; + i64toi32_i32$4 = (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$4; + } + } + HEAP32[($5_1 + 88 | 0) >> 2] = (HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + if (!(HEAP32[($5_1 + 36 | 0) >> 2] | 0)) { + continue label$13 + } + break label$13; + }; + label$21 : { + label$22 : { + if (!(HEAP32[($5_1 + 80 | 0) >> 2] | 0)) { + break label$22 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $279$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $280$hi = i64toi32_i32$5; + i64toi32_i32$5 = $279$hi; + i64toi32_i32$5 = $280$hi; + i64toi32_i32$5 = $279$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$4 = $280$hi; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$4 = i64toi32_i32$5 & i64toi32_i32$4 | 0; + if (i64toi32_i32$3 & i64toi32_i32$0 | 0) { + break label$21 + } + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2643((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 4 | 0 | 0, $5_1 + 200 | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!(HEAP32[($5_1 + 84 | 0) >> 2] | 0)) { + break label$23 + } + break label$4; + } + } + HEAP32[($5_1 + 88 | 0) >> 2] = 0; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + label$26 : { + if (!($2642((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 88 | 0) >> 2] | 0, 24) | 0 | 0) | 0)) { + break label$26 + } + break label$4; + } + HEAP32[($5_1 + 88 | 0) >> 2] = (HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + continue label$12; + }; + } + $201_1 = 0; + HEAP32[(HEAP32[($5_1 + 208 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > ($201_1 | 0) & 1 | 0; + HEAP32[($5_1 + 88 | 0) >> 2] = $201_1; + label$27 : { + label$28 : while (1) { + if (!((HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 212 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + label$29 : { + if (!(((HEAPU8[(((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 88 | 0) >> 2] | 0, 24) | 0) + 12 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$29 + } + $42(HEAP32[((HEAP32[($5_1 + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 88 | 0) >> 2] | 0, 24) | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 88 | 0) >> 2] = (HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + label$30 : { + if (!((HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0) != ($5_1 + 96 | 0 | 0) & 1 | 0)) { + break label$30 + } + $42(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 220 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + } + $252_1 = HEAP32[($5_1 + 220 | 0) >> 2] | 0; + global$0 = $5_1 + 224 | 0; + return $252_1 | 0; + } + + function $2637($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + $2510(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0); + global$0 = $6_1 + 16 | 0; + return; + } + + function $2638($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$6 = 0, $237$hi = 0, $238$hi = 0, $241$hi = 0, $242$hi = 0, $245$hi = 0, $246$hi = 0, $249$hi = 0, $250$hi = 0, $255$hi = 0, $256$hi = 0, $261$hi = 0, $262$hi = 0, $232$hi = 0, $233$hi = 0, $234$hi = 0, $235$hi = 0, $48_1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $52_1 = 0, $53_1 = 0, $54_1 = 0, $55_1 = 0, $56_1 = 0, $57_1 = 0, $58_1 = 0, $59_1 = 0, $171_1 = 0, $60_1 = 0, $61_1 = 0, $62_1 = 0, $438_1 = 0, $232_1 = 0, $494_1 = 0, $504_1 = 0, $237_1 = 0, $517_1 = 0, $241_1 = 0, $532_1 = 0, $245_1 = 0, $550_1 = 0, $249_1 = 0, $572_1 = 0, $584_1 = 0, $627_1 = 0, $255_1 = 0, $668_1 = 0, $709_1 = 0, $261_1 = 0, $745_1 = 0, $765_1 = 0, $226_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 288 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 280 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 276 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $4_1 + 80 | 0; + HEAP32[($4_1 + 72 | 0) >> 2] = (HEAP32[($4_1 + 276 | 0) >> 2] | 0) + 12 | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 280 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 276 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = Math_imul(HEAP32[((HEAP32[($4_1 + 276 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 48); + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2468($4_1 + 64 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $3289($4_1 + 80 | 0 | 0, 0 | 0, 192 | 0) | 0; + } + label$3 : { + label$4 : { + if (!(HEAP32[($4_1 + 64 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[(HEAP32[($4_1 + 280 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + HEAP32[($4_1 + 284 | 0) >> 2] = 0; + break label$3; + } + HEAP32[($4_1 + 68 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 276 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0; + $2644(HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 68 | 0) >> 2] | 0, 48) | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP32[(((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 68 | 0) >> 2] | 0, 48) | 0) + 40 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$7 : while (1) { + i64toi32_i32$2 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $438_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $438_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$8 : { + label$9 : while (1) { + HEAP32[($4_1 + 60 | 0) >> 2] = 1; + HEAP32[($4_1 + 68 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 276 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 68 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $232_1 = i64toi32_i32$0; + $232$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[((HEAP32[(((HEAP32[($4_1 + 276 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $233$hi = i64toi32_i32$1; + i64toi32_i32$1 = $232$hi; + i64toi32_i32$1 = $233$hi; + $494_1 = i64toi32_i32$0; + i64toi32_i32$1 = $232$hi; + i64toi32_i32$2 = $232_1; + i64toi32_i32$0 = $233$hi; + i64toi32_i32$3 = $494_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $234$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[(HEAP32[($4_1 + 276 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $235$hi = i64toi32_i32$5; + i64toi32_i32$5 = $234$hi; + i64toi32_i32$5 = $235$hi; + $504_1 = i64toi32_i32$2; + i64toi32_i32$5 = $234$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $235$hi; + i64toi32_i32$3 = $504_1; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $237_1 = i64toi32_i32$4; + $237$hi = i64toi32_i32$1; + i64toi32_i32$5 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $238$hi = i64toi32_i32$4; + i64toi32_i32$4 = $237$hi; + i64toi32_i32$4 = $238$hi; + i64toi32_i32$4 = $237$hi; + i64toi32_i32$4 = $238$hi; + $517_1 = i64toi32_i32$1; + i64toi32_i32$4 = $237$hi; + i64toi32_i32$5 = $237_1; + i64toi32_i32$1 = $238$hi; + i64toi32_i32$3 = $517_1; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$1 | 0)) { + $48_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$3 >>> 0) { + $49_1 = 0 + } else { + $49_1 = 1 + } + $50_1 = $49_1; + } else { + $50_1 = 0 + } + $48_1 = $50_1; + } + label$12 : { + label$13 : { + if ($48_1 & 1 | 0) { + break label$13 + } + i64toi32_i32$3 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $241_1 = i64toi32_i32$5; + $241$hi = i64toi32_i32$4; + i64toi32_i32$3 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $242$hi = i64toi32_i32$5; + i64toi32_i32$5 = $241$hi; + i64toi32_i32$5 = $242$hi; + i64toi32_i32$5 = $241$hi; + i64toi32_i32$5 = $242$hi; + $532_1 = i64toi32_i32$4; + i64toi32_i32$5 = $241$hi; + i64toi32_i32$3 = $241_1; + i64toi32_i32$4 = $242$hi; + i64toi32_i32$1 = $532_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$4 | 0)) { + $51_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $52_1 = 0 + } else { + $52_1 = 1 + } + $53_1 = $52_1; + } else { + $53_1 = 0 + } + $51_1 = $53_1; + } + if (!($51_1 & 1 | 0)) { + break label$12 + } + } + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $245_1 = i64toi32_i32$3; + $245$hi = i64toi32_i32$5; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $246$hi = i64toi32_i32$3; + i64toi32_i32$3 = $245$hi; + i64toi32_i32$3 = $246$hi; + i64toi32_i32$3 = $245$hi; + i64toi32_i32$3 = $246$hi; + $550_1 = i64toi32_i32$5; + i64toi32_i32$3 = $245$hi; + i64toi32_i32$1 = $245_1; + i64toi32_i32$5 = $246$hi; + i64toi32_i32$4 = $550_1; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$5 | 0)) { + $54_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$4 >>> 0) { + $55_1 = 0 + } else { + $55_1 = 1 + } + $56_1 = $55_1; + } else { + $56_1 = 0 + } + $54_1 = $56_1; + } + if (!($54_1 & 1 | 0)) { + break label$14 + } + label$16 : { + if (!($2645(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$16 + } + break label$8; + } + continue label$15; + }; + } + i64toi32_i32$4 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] | 0; + $249_1 = i64toi32_i32$1; + $249$hi = i64toi32_i32$3; + i64toi32_i32$4 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $250$hi = i64toi32_i32$1; + i64toi32_i32$1 = $249$hi; + i64toi32_i32$1 = $250$hi; + i64toi32_i32$1 = $249$hi; + i64toi32_i32$1 = $250$hi; + $572_1 = i64toi32_i32$3; + i64toi32_i32$1 = $249$hi; + i64toi32_i32$4 = $249_1; + i64toi32_i32$3 = $250$hi; + i64toi32_i32$5 = $572_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$3 | 0)) { + $57_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$4 >>> 0 <= i64toi32_i32$5 >>> 0) { + $58_1 = 0 + } else { + $58_1 = 1 + } + $59_1 = $58_1; + } else { + $59_1 = 0 + } + $57_1 = $59_1; + } + label$17 : { + if (!($57_1 & 1 | 0)) { + break label$17 + } + i64toi32_i32$5 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $584_1 = i64toi32_i32$4; + i64toi32_i32$4 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $584_1; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + } + } + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + if (!(HEAP32[($4_1 + 60 | 0) >> 2] | 0)) { + continue label$9 + } + break label$9; + }; + HEAP32[($4_1 + 68 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 276 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + i64toi32_i32$5 = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 68 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $627_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $627_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 68 | 0) >> 2] | 0, 48) | 0) + 32 | 0; + label$20 : { + label$21 : { + if (!(HEAP32[((HEAP32[(((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 68 | 0) >> 2] | 0, 48) | 0) + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$21 + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $255_1 = i64toi32_i32$4; + $255$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $256$hi = i64toi32_i32$4; + i64toi32_i32$4 = $255$hi; + i64toi32_i32$4 = $256$hi; + i64toi32_i32$4 = $255$hi; + i64toi32_i32$4 = $256$hi; + $668_1 = i64toi32_i32$1; + i64toi32_i32$4 = $255$hi; + i64toi32_i32$5 = $255_1; + i64toi32_i32$1 = $256$hi; + i64toi32_i32$3 = $668_1; + if (!(((i64toi32_i32$5 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$4 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$20 + } + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $2643(HEAP32[(((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 68 | 0) >> 2] | 0, 48) | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$4 | 0) | 0; + } + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + $171_1 = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $171_1; + i64toi32_i32$3 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $709_1 = i64toi32_i32$4; + i64toi32_i32$4 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $709_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 68 | 0) >> 2] = $171_1; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 276 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + i64toi32_i32$3 = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 68 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $261_1 = i64toi32_i32$5; + $261$hi = i64toi32_i32$4; + i64toi32_i32$3 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $262$hi = i64toi32_i32$5; + i64toi32_i32$5 = $261$hi; + i64toi32_i32$5 = $262$hi; + i64toi32_i32$5 = $261$hi; + i64toi32_i32$5 = $262$hi; + $745_1 = i64toi32_i32$4; + i64toi32_i32$5 = $261$hi; + i64toi32_i32$3 = $261_1; + i64toi32_i32$4 = $262$hi; + i64toi32_i32$1 = $745_1; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$4 | 0)) { + $60_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $61_1 = 0 + } else { + $61_1 = 1 + } + $62_1 = $61_1; + } else { + $62_1 = 0 + } + $60_1 = $62_1; + } + label$24 : { + if (!($60_1 & 1 | 0)) { + break label$24 + } + i64toi32_i32$1 = (HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 68 | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $765_1 = i64toi32_i32$3; + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $765_1; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + label$25 : { + if (!($2645((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 40 | 0) >> 2] | 0, 48) | 0 | 0) | 0)) { + break label$25 + } + break label$8; + } + continue label$7; + } + break label$7; + }; + HEAP32[$4_1 >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0; + HEAP32[(HEAP32[($4_1 + 280 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + label$26 : { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) != ($4_1 + 80 | 0 | 0) & 1 | 0)) { + break label$26 + } + $42(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 284 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + $226_1 = HEAP32[($4_1 + 284 | 0) >> 2] | 0; + global$0 = $4_1 + 288 | 0; + return $226_1 | 0; + } + + function $2639($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + return; + } + + function $2640($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $180$hi = 0, $181$hi = 0, $189$hi = 0, $190$hi = 0, $193$hi = 0, $194$hi = 0, $198$hi = 0, $8_1 = 0, $30_1 = 0, $31_1 = 0, $32_1 = 0, $200$hi = 0, $180_1 = 0, $270_1 = 0, $186$hi = 0, $189_1 = 0, $497_1 = 0, $193_1 = 0, $535_1 = 0, $555_1 = 0, $595_1 = 0, $177_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 208 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 204 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 192 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 196 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 188 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 184 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 180 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $7_1 + 80 | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 68 | 0) >> 2] = 4; + HEAP32[($7_1 + 64 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 204 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if ((HEAPU8[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + i64toi32_i32$2 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $180_1 = i64toi32_i32$0; + $180$hi = i64toi32_i32$1; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 192 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 196 | 0) >> 2] | 0; + $181$hi = i64toi32_i32$0; + i64toi32_i32$0 = $180$hi; + i64toi32_i32$0 = $181$hi; + i64toi32_i32$0 = $180$hi; + i64toi32_i32$0 = $181$hi; + $270_1 = i64toi32_i32$1; + i64toi32_i32$0 = $180$hi; + i64toi32_i32$2 = $180_1; + i64toi32_i32$1 = $181$hi; + i64toi32_i32$3 = $270_1; + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$6 + } + break label$4; + } + label$7 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 48 | 0) >> 2] = Math_imul(HEAP32[($7_1 + 68 | 0) >> 2] | 0, 24) << 1 | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $41(i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 64 | 0) >> 2] = 7; + break label$1; + } + $3288(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($7_1 + 72 | 0) >> 2] | 0, 24) | 0) | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = (HEAP32[($7_1 + 68 | 0) >> 2] | 0) << 1 | 0; + label$9 : { + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) != ($7_1 + 80 | 0 | 0) & 1 | 0)) { + break label$9 + } + $42(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + } + $2641(HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 72 | 0) >> 2] | 0, 24) | 0 | 0) | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = (HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 1 | 0; + } + } + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$3; + }; + } + label$10 : { + label$11 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[(HEAP32[($7_1 + 184 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 180 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$10; + } + i64toi32_i32$0 = -1; + $186$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $7_1 + 32 | 0; + HEAP32[i64toi32_i32$2 >> 2] = 0; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $186$hi; + i64toi32_i32$2 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = -1; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$0; + $2639(HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0); + label$12 : while (1) { + i64toi32_i32$0 = 2147483647; + i64toi32_i32$2 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = -1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 20 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + label$15 : { + label$16 : { + if ((HEAPU8[(((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 20 | 0) >> 2] | 0, 24) | 0) + 13 | 0) >> 0] | 0) & 255 | 0) { + break label$16 + } + i64toi32_i32$3 = (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 20 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $189_1 = i64toi32_i32$0; + $189$hi = i64toi32_i32$2; + i64toi32_i32$3 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $190$hi = i64toi32_i32$0; + i64toi32_i32$0 = $189$hi; + i64toi32_i32$0 = $190$hi; + i64toi32_i32$0 = $189$hi; + i64toi32_i32$0 = $190$hi; + $497_1 = i64toi32_i32$2; + i64toi32_i32$0 = $189$hi; + i64toi32_i32$3 = $189_1; + i64toi32_i32$2 = $190$hi; + i64toi32_i32$1 = $497_1; + label$17 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$17 + } + label$18 : { + if (!($2642((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 20 | 0) >> 2] | 0, 24) | 0 | 0) | 0)) { + break label$18 + } + break label$15; + } + } + i64toi32_i32$1 = (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 20 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $193_1 = i64toi32_i32$3; + $193$hi = i64toi32_i32$0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $194$hi = i64toi32_i32$3; + i64toi32_i32$3 = $193$hi; + i64toi32_i32$3 = $194$hi; + i64toi32_i32$3 = $193$hi; + i64toi32_i32$3 = $194$hi; + $535_1 = i64toi32_i32$0; + i64toi32_i32$3 = $193$hi; + i64toi32_i32$1 = $193_1; + i64toi32_i32$0 = $194$hi; + i64toi32_i32$2 = $535_1; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$0 | 0)) { + $30_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$2 >>> 0) { + $31_1 = 0 + } else { + $31_1 = 1 + } + $32_1 = $31_1; + } else { + $32_1 = 0 + } + $30_1 = $32_1; + } + label$19 : { + if (!($30_1 & 1 | 0)) { + break label$19 + } + i64toi32_i32$2 = (HEAP32[($7_1 + 76 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 20 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $555_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $555_1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$3; + } + } + } + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + i64toi32_i32$3 = 2147483647; + $198$hi = i64toi32_i32$3; + i64toi32_i32$2 = $7_1; + i64toi32_i32$3 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $200$hi = i64toi32_i32$1; + i64toi32_i32$1 = $198$hi; + i64toi32_i32$1 = $200$hi; + i64toi32_i32$1 = $198$hi; + i64toi32_i32$1 = $200$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $198$hi; + i64toi32_i32$0 = -1; + label$20 : { + label$21 : { + label$22 : { + if (((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0) { + break label$22 + } + if (!(HEAP32[($7_1 + 64 | 0) >> 2] | 0)) { + break label$21 + } + } + break label$20; + } + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2643(HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0, $7_1 + 32 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $7_1; + i64toi32_i32$1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $595_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $595_1; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$2; + continue label$12; + } + break label$12; + }; + label$23 : { + if (HEAP32[($7_1 + 64 | 0) >> 2] | 0) { + break label$23 + } + HEAP32[(HEAP32[($7_1 + 184 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 188 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 180 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 188 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + } + } + label$24 : { + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) != ($7_1 + 80 | 0 | 0) & 1 | 0)) { + break label$24 + } + $42(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0); + } + $177_1 = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + global$0 = $7_1 + 208 | 0; + return $177_1 | 0; + } + + function $2641($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $22_1 = 0, $6_1 = 0, $19_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $22_1 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $6_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $2642(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $19_1 = (HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) & 255 | 0; + global$0 = $5_1 + 16 | 0; + return $19_1 | 0; + } + + function $2642($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $20_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!($2646(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0)) { + break label$1 + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 13 | 0) >> 0] = 1; + } + $20_1 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 13 | 0) >> 0] | 0) & 255 | 0; + global$0 = $3_1 + 16 | 0; + return $20_1 | 0; + } + + function $2643($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $34_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (!(((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 15 | 0) >>> 0 <= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + if (0 & 1 | 0) { + break label$3 + } + break label$2; + } + if (!($2511($5_1 + 4 | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 15 | 0 | 0) | 0)) { + break label$2 + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $2647(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $34_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $34_1 | 0; + } + + function $2644($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $22_1 = 0, $6_1 = 0, $19_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $6_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $22_1 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $6_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $6_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $22_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $2645(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $19_1 = $2645(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $19_1 | 0; + } + + function $2645($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $26$hi = 0, $28$hi = 0, $44_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $44_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $44_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + label$1 : { + if (!($2646(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0 | 0) | 0)) { + break label$1 + } + i64toi32_i32$1 = 1073741824; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$1 = 1073741824; + $26$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $28$hi = i64toi32_i32$0; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $26$hi; + global$0 = $3_1 + 16 | 0; + return ((i64toi32_i32$2 | 0) == (0 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0 | 0; + } + + function $2646($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $20_1 = 0, $54_1 = 0, $125$hi = 0, $126$hi = 0, $29_1 = 0, $79_1 = 0, $129$hi = 0, $130$hi = 0, $176_1 = 0, $19_1 = 0, $39_1 = 0, $53_1 = 0, $73_1 = 0, $78_1 = 0, $98_1 = 0, $110_1 = 0, $129_1 = 0, $404_1 = 0, $120_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = -1; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $176_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $176_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$1; + $19_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + $20_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $20_1 + 1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAPU8[($19_1 + $20_1 | 0) >> 0] | 0) & 255 | 0; + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0) & 128 | 0)) { + break label$3 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + -1 | 0; + $39_1 = $2534((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, $6_1 + 12 | 0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $39_1 | 0; + } + label$4 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $53_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + $54_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $54_1 + 1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAPU8[($53_1 + $54_1 | 0) >> 0] | 0) & 255 | 0; + label$6 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0) & 128 | 0)) { + break label$6 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + -1 | 0; + $73_1 = $2534((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, $6_1 + 12 | 0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $73_1 | 0; + } + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $125$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $126$hi = i64toi32_i32$1; + i64toi32_i32$1 = $125$hi; + i64toi32_i32$1 = $126$hi; + i64toi32_i32$1 = $125$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $126$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $29_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $29_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $29_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + $78_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + $79_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $79_1 + 1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAPU8[($78_1 + $79_1 | 0) >> 0] | 0) & 255 | 0; + label$7 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0) & 128 | 0)) { + break label$7 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + -1 | 0; + $98_1 = $2534((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, $6_1 + 12 | 0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $98_1 | 0; + } + label$8 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$0 = -1; + i64toi32_i32$2 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = -1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 44 | 0) >> 2] = 1; + break label$1; + } + } + $110_1 = 0; + i64toi32_i32$1 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $129_1 = i64toi32_i32$0; + $129$hi = i64toi32_i32$2; + i64toi32_i32$0 = ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) - 2 | 0) & 2147483647 | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $130$hi = i64toi32_i32$2; + i64toi32_i32$2 = $129$hi; + i64toi32_i32$2 = $130$hi; + $404_1 = i64toi32_i32$0; + i64toi32_i32$2 = $129$hi; + i64toi32_i32$1 = $129_1; + i64toi32_i32$0 = $130$hi; + i64toi32_i32$3 = $404_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $110_1; + } + $120_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $120_1 | 0; + } + + function $2647($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, $43$hi = 0, $46$hi = 0, $41$hi = 0, $42$hi = 0, $44$hi = 0, $45$hi = 0, $13_1 = 0, $14_1 = 0, $49$hi = 0, $50$hi = 0, $40_1 = 0, $24_1 = 0, $52$hi = 0, $53$hi = 0, $55$hi = 0, $56$hi = 0, $57$hi = 0, $58$hi = 0, $35_1 = 0, $43_1 = 0, $87_1 = 0, $12_1 = 0, $22_1 = 0, $23_1 = 0, $148_1 = 0, $32_1 = 0, $55_1 = 0, $167_1 = 0, $34_1 = 0, $189_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $41$hi = i64toi32_i32$1; + i64toi32_i32$1 = 2147483647; + $42$hi = i64toi32_i32$1; + i64toi32_i32$1 = $41$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $41$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $43_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $43$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $44$hi = i64toi32_i32$2; + i64toi32_i32$2 = 2147483647; + $45$hi = i64toi32_i32$2; + i64toi32_i32$2 = $44$hi; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$2 = $44$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $46$hi = i64toi32_i32$0; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$0 = $46$hi; + $87_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$2 = $43_1; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$3 = $87_1; + label$1 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$1 + } + $12_1 = HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $13_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $14_1 = HEAP32[($13_1 + 4 | 0) >> 2] | 0; + HEAP32[($13_1 + 4 | 0) >> 2] = $14_1 + 1 | 0; + HEAP8[($12_1 + $14_1 | 0) >> 0] = 1; + $22_1 = (HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $49$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $50$hi = i64toi32_i32$0; + i64toi32_i32$0 = $49$hi; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$0 = $49$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$1 = 32; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $40_1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + $40_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + $23_1 = $2519($22_1 | 0, $40_1 | 0, i64toi32_i32$2 | 0) | 0; + $24_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($24_1 + 4 | 0) >> 2] = (HEAP32[($24_1 + 4 | 0) >> 2] | 0) + $23_1 | 0; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $52$hi = i64toi32_i32$3; + i64toi32_i32$3 = 2147483647; + $53$hi = i64toi32_i32$3; + i64toi32_i32$3 = $52$hi; + i64toi32_i32$3 = $53$hi; + i64toi32_i32$3 = $52$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $53$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $148_1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $148_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + } + $32_1 = (HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $55_1 = i64toi32_i32$2; + $55$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $56$hi = i64toi32_i32$2; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$2 = $56$hi; + $167_1 = i64toi32_i32$0; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$3 = $55_1; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$1 = $167_1; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $57$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $58$hi = i64toi32_i32$5; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$5 = $58$hi; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$3 = $58$hi; + i64toi32_i32$1 = 2; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $34_1 = $2519($32_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$4 | 0) | 0; + $35_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($35_1 + 4 | 0) >> 2] = (HEAP32[($35_1 + 4 | 0) >> 2] | 0) + $34_1 | 0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$4 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $189_1 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$4 >> 2] = $189_1; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$2; + global$0 = $5_1 + 16 | 0; + return; + } + + function $2648($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $19$hi = 0, $20$hi = 0, $19_1 = 0, $60_1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = -1; + break label$1; + } + label$3 : { + if (!(HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $19_1 = i64toi32_i32$0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $20$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $20$hi; + $60_1 = i64toi32_i32$1; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$1 = $20$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2603(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $19_1 | 0, i64toi32_i32$0 | 0, $60_1 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $16_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $16_1 | 0; + } + + function $2649($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $2649(HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2650($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[(((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $2650(HEAP32[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $2651($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $15_1 = 0, $54_1 = 0, $50_1 = 0, $53_1 = 0; + $4_1 = global$0 - 32 | 0; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $5_1; + label$1 : while (1) { + $15_1 = 0; + label$2 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $15_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($15_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[(((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) - (HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + label$4 : { + label$5 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$5 + } + $50_1 = HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $53_1 = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 4 | 0; + $54_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $54_1 + 1 | 0; + HEAP32[($53_1 + ($54_1 << 2 | 0) | 0) >> 2] = $50_1; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + break label$6; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + } + continue label$1; + } + break label$1; + }; + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + return; + } + + function $2652($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $34_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = (((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) << 2 | 0) + 8 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2468(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $3288(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + } + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + } + $34_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $34_1 | 0; + } + + function $2653($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $6_1 = 0, $37_1 = 0, $47_1 = 0, $81_1 = 0, i64toi32_i32$2 = 0, $86_1 = 0, i64toi32_i32$1 = 0, $289_1 = 0, $113_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + $6_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $6_1; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$2 + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2654(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + break label$4; + } + $37_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $37_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $37_1; + label$6 : while (1) { + $47_1 = 0; + label$7 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $47_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$8 : { + if (!($47_1 & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2653(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + $81_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($81_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $289_1 = i64toi32_i32$0; + i64toi32_i32$0 = $81_1; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $289_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + $86_1 = (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + -1 | 0; + label$9 : { + label$10 : { + switch ($86_1 | 0) { + case 1: + label$13 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$13 + } + $2649(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + } + break label$9; + case 0: + label$14 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $2649(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + } + break label$9; + default: + break label$10; + }; + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + } + } + label$15 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$15 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2655(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $113_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $113_1 | 0; + } + + function $2654($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $67_1 = 0, $117_1 = 0, $119_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$4 : { + if (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + if (!((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $2545(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + $67_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2656(HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $3303(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0, ((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 ? 1 : $67_1) | (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 ? 2 : $67_1) | 0 | 0, HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(HEAP32[($4_1 + 4 | 0) >> 2] | 0)) { + break label$10 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + break label$1; + } + label$11 : { + if (!((0 | 0) == ((HEAPU8[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$8; + }; + } + label$12 : { + if (HEAP32[($4_1 + 8 | 0) >> 2] | 0) { + break label$12 + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $117_1 = 0; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = $117_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $117_1; + } + $119_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $119_1 | 0; + } + + function $2655($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$1 + } + $11_1 = (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + -1 | 0; + label$2 : { + label$3 : { + switch ($11_1 | 0) { + case 8: + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2602(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$2; + case 3: + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2600(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$2; + case 1: + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2605(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$2; + case 0: + $2604(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + break label$2; + default: + break label$3; + }; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2606(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + $27_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $27_1 | 0; + } + + function $2656($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $11_1 = 0, i64toi32_i32$0 = 0, $163_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + $11_1 = $8_1 + 32 | 0; + HEAP32[($8_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 48 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + HEAP32[$11_1 >> 2] = 0; + HEAP32[($11_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($11_1 + 8 | 0) >> 2] = 0; + label$1 : { + if ($2511((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 36 | 0 | 0, $11_1 | 0, (HEAP32[($8_1 + 68 | 0) >> 2] | 0) + 1 | 0 | 0) | 0) { + break label$1 + } + HEAP32[($8_1 + 28 | 0) >> 2] = 0; + label$2 : { + if (!(HEAP32[($8_1 + 68 | 0) >> 2] | 0)) { + break label$2 + } + $3288((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) | 0; + } + label$3 : { + if (!((HEAP32[($8_1 + 64 | 0) >> 2] | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2657(HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 28 | 0) >> 2] = 1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((HEAP32[((HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (((HEAP32[($8_1 + 28 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + label$7 : { + label$8 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2489(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP8[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 0] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 48 | 0; + label$9 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $2658(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 16 | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 68 | 0) >> 2] | 0) + 1 | 0 | 0, -1 | 0, 0 | 0, $8_1 + 48 | 0 | 0); + $2490(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0); + } + break label$7; + } + HEAP32[($8_1 + 16 | 0) >> 2] = ((HEAP32[($8_1 + 64 | 0) >> 2] | 0) & 2 | 0 | 0) != (0 | 0) & 1 | 0; + HEAP8[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 0] = 48; + $2659(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 68 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, $8_1 + 48 | 0 | 0); + $2660((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0); + label$10 : { + if (HEAP32[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[($8_1 + 12 | 0) >> 2] = ((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + label$11 : { + if (!((HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 48 | 0) >> 2] | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0); + } + } + } + label$12 : { + if (!(HEAP32[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$12 + } + $2545(HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($8_1 + 48 | 0) >> 2] = 0; + $2492(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0); + } + HEAP32[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + $2521($8_1 + 32 | 0 | 0); + } + $163_1 = $2491(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 80 | 0; + return $163_1 | 0; + } + + function $2657($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $15_1 = 0, $35_1 = 0, $41_1 = 0, $14_1 = 0; + $4_1 = global$0 - 16 | 0; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + HEAP32[$4_1 >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $14_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $15_1 = HEAP32[$4_1 >> 2] | 0; + HEAP32[$4_1 >> 2] = $15_1 + 1 | 0; + label$3 : { + if (!(((HEAPU8[($14_1 + $15_1 | 0) >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$3 + } + label$4 : while (1) { + $35_1 = 0; + label$5 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $41_1 = 24; + $35_1 = ((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) >> 0] | 0) << $41_1 | 0) >> $41_1 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$6 : { + if (!($35_1 & 1 | 0)) { + break label$6 + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0; + } + + function $2658($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, $12_1 = 0, $23_1 = 0, $58_1 = 0, $64_1 = 0, $72_1 = 0, $128_1 = 0, $170_1 = 0, $224_1 = 0, $248_1 = 0, $127_1 = 0, $169_1 = 0, $214_1 = 0, $220_1 = 0, $223_1 = 0, i64toi32_i32$0 = 0; + $11_1 = global$0 - 96 | 0; + global$0 = $11_1; + $12_1 = 0; + HEAP32[($11_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 68 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 64 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 60 | 0) >> 2] = $8_1; + HEAP32[($11_1 + 56 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 52 | 0) >> 2] = $12_1; + label$1 : { + if (HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + $23_1 = 0; + HEAP32[($11_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($11_1 + 56 | 0) >> 2] = (HEAP32[($11_1 + 56 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != ($23_1 | 0) & 1 | 0 ? 1 : $23_1) | 0; + break label$2; + } + label$4 : { + label$5 : { + if (!((HEAP32[((((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($11_1 + 68 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($11_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $58_1 = HEAP32[((((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($11_1 + 68 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0; + break label$4; + } + $58_1 = HEAP32[($11_1 + 64 | 0) >> 2] | 0; + } + HEAP32[($11_1 + 56 | 0) >> 2] = $58_1; + } + } + $64_1 = $2661(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($11_1 + 40 | 0) >> 2] = $64_1; + HEAP32[(HEAP32[($11_1 + 60 | 0) >> 2] | 0) >> 2] = $64_1; + label$6 : { + label$7 : { + if (!((HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$6; + } + $72_1 = 0; + HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 52 | 0) >> 2] = ($72_1 | 0) != ((HEAP32[($11_1 + 84 | 0) >> 2] | 0) & 2 | 0 | 0) & 1 | 0; + HEAP8[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 0] = ($72_1 | 0) != ((HEAP32[($11_1 + 84 | 0) >> 2] | 0) & 16 | 0 | 0) & 1 | 0; + HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($11_1 + 80 | 0) >> 2] | 0; + label$8 : { + if ((HEAP32[($11_1 + 84 | 0) >> 2] | 0) & 32 | 0) { + break label$8 + } + $2660((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0); + } + label$9 : { + if (HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$9 + } + label$10 : { + label$11 : { + if (!((HEAP32[($11_1 + 68 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($11_1 + 36 | 0) >> 2] = ((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0, 12) | 0; + label$12 : { + if (!((HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $127_1 = (HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 80 | 0; + $128_1 = HEAP32[($11_1 + 52 | 0) >> 2] | 0; + HEAP32[($11_1 + 52 | 0) >> 2] = $128_1 + 1 | 0; + HEAP32[($11_1 + 32 | 0) >> 2] = $127_1 + Math_imul($128_1, 88) | 0; + $2662(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0); + } + HEAP32[($11_1 + 44 | 0) >> 2] = (HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 24 | 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($11_1 + 44 | 0) >> 2] | 0) >>> 0 < (HEAP32[($11_1 + 36 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$13 + } + HEAP32[($11_1 + 48 | 0) >> 2] = (HEAP32[((HEAP32[($11_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($11_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($11_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($11_1 + 48 | 0) >> 2] | 0, 12) | 0; + $169_1 = (HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 80 | 0; + $170_1 = HEAP32[($11_1 + 52 | 0) >> 2] | 0; + HEAP32[($11_1 + 52 | 0) >> 2] = $170_1 + 1 | 0; + HEAP32[($11_1 + 24 | 0) >> 2] = $169_1 + Math_imul($170_1, 88) | 0; + label$17 : { + label$18 : { + if (!((HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$18 + } + $2663(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0); + break label$17; + } + $2664(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 84 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($11_1 + 48 | 0) >> 2] = (HEAP32[($11_1 + 48 | 0) >> 2] | 0) + -1 | 0; + continue label$16; + }; + } + HEAP32[($11_1 + 44 | 0) >> 2] = (HEAP32[($11_1 + 44 | 0) >> 2] | 0) + 12 | 0; + continue label$14; + }; + } + break label$10; + } + HEAP32[($11_1 + 44 | 0) >> 2] = ((HEAP32[($11_1 + 88 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($11_1 + 68 | 0) >> 2] | 0, 12) | 0; + HEAP32[($11_1 + 48 | 0) >> 2] = (HEAP32[($11_1 + 56 | 0) >> 2] | 0) - 1 | 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($11_1 + 48 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$19 + } + $214_1 = HEAP32[($11_1 + 92 | 0) >> 2] | 0; + $220_1 = (HEAP32[((HEAP32[($11_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($11_1 + 48 | 0) >> 2] | 0, 12) | 0; + $223_1 = (HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 80 | 0; + $224_1 = HEAP32[($11_1 + 52 | 0) >> 2] | 0; + HEAP32[($11_1 + 52 | 0) >> 2] = $224_1 + 1 | 0; + $2663($214_1 | 0, $220_1 | 0, $223_1 + Math_imul($224_1, 88) | 0 | 0); + HEAP32[($11_1 + 48 | 0) >> 2] = (HEAP32[($11_1 + 48 | 0) >> 2] | 0) + -1 | 0; + continue label$20; + }; + } + } + } + label$21 : { + if (HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$21 + } + HEAP32[($11_1 + 52 | 0) >> 2] = (HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) - 1 | 0; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$22 + } + $248_1 = $2622(HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($11_1 + 20 | 0) >> 2] = $248_1; + label$24 : { + if (!$248_1) { + break label$24 + } + HEAP32[($11_1 + 16 | 0) >> 2] = ((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[($11_1 + 20 | 0) >> 2] | 0, 88) | 0; + label$25 : { + if (HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$25 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($11_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($11_1 + 92 | 0) >> 2] | 0, HEAP32[($11_1 + 16 | 0) >> 2] | 0, 0); + } + $2613(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0); + } + HEAP32[($11_1 + 52 | 0) >> 2] = (HEAP32[($11_1 + 52 | 0) >> 2] | 0) + -1 | 0; + continue label$23; + }; + } + $2614(HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0); + label$26 : { + label$27 : { + if (!((HEAPU8[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 255 | 0)) { + break label$27 + } + if (!($2665(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0) | 0)) { + break label$27 + } + i64toi32_i32$0 = 0; + $2608(HEAP32[($11_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0, 0 | 0, 0 | 0, i64toi32_i32$0 | 0); + break label$26; + } + label$28 : { + if ((HEAPU8[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) { + break label$28 + } + HEAP32[($11_1 + 12 | 0) >> 2] = ((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($11_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0](HEAP32[($11_1 + 40 | 0) >> 2] | 0, HEAP32[($11_1 + 12 | 0) >> 2] | 0); + } + } + break label$6; + } + $2546(HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($11_1 + 60 | 0) >> 2] | 0) >> 2] = 0; + } + global$0 = $11_1 + 96 | 0; + return; + } + + function $2659($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $238$hi = 0, $239$hi = 0, $41_1 = 0, $43_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $114_1 = 0, $131_1 = 0, $243$hi = 0, $244$hi = 0, $216_1 = 0, $238_1 = 0, $475_1 = 0, $243_1 = 0, $603_1 = 0, $617_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 112 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 92 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 88 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 76 | 0) >> 2] = 32; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[(HEAP32[($8_1 + 108 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 72 | 0) >> 2] = 126; + HEAP32[($8_1 + 68 | 0) >> 2] = 125; + break label$1; + } + HEAP32[($8_1 + 72 | 0) >> 2] = 128; + HEAP32[($8_1 + 68 | 0) >> 2] = 127; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2670(HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, 384 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2489(HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $41_1 = 56; + $43_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($8_1 + 64 | 0) >> 2] = $41_1; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 48 | 0) >> 2] = 0; + HEAP32[($8_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8_1 + 44 | 0) >> 2] = $43_1; + HEAP32[($8_1 + 20 | 0) >> 2] = 1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $8_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + $2658(HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0, $41_1 | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0, -1 | 0, $43_1 | 0, $8_1 + 44 | 0 | 0); + $2660((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0); + label$4 : { + label$5 : while (1) { + if ($2609(HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($8_1 + 16 | 0) >> 2] = ((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 44 | 0) >> 2] | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0); + label$6 : { + if (!(HEAP32[($8_1 + 20 | 0) >> 2] | 0)) { + break label$6 + } + label$7 : { + label$8 : { + if ((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$8 + } + if (!($3228(HEAP32[($8_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) | 0)) { + break label$7 + } + } + break label$4; + } + } + label$9 : { + label$10 : { + if (HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$10 + } + break label$9; + } + i64toi32_i32$2 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $238_1 = i64toi32_i32$0; + $238$hi = i64toi32_i32$1; + i64toi32_i32$2 = $8_1; + i64toi32_i32$1 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + $239$hi = i64toi32_i32$0; + i64toi32_i32$0 = $238$hi; + i64toi32_i32$0 = $239$hi; + i64toi32_i32$0 = $238$hi; + i64toi32_i32$0 = $239$hi; + $475_1 = i64toi32_i32$1; + i64toi32_i32$0 = $238$hi; + i64toi32_i32$2 = $238_1; + i64toi32_i32$1 = $239$hi; + i64toi32_i32$3 = $475_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $26_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $27_1 = 0 + } else { + $27_1 = 1 + } + $28_1 = $27_1; + } else { + $28_1 = 0 + } + $26_1 = $28_1; + } + label$11 : { + if (!($26_1 & 1 | 0)) { + break label$11 + } + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + label$12 : while (1) { + $114_1 = 0; + label$13 : { + if (HEAP32[((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$13 + } + $114_1 = (HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$14 : { + if (!($114_1 & 1 | 0)) { + break label$14 + } + label$15 : { + label$16 : { + if (HEAP32[(((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 60 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0) { + break label$16 + } + $131_1 = $8_1 + 24 | 0; + $2671($131_1 | 0, (HEAP32[($8_1 + 80 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 60 | 0) >> 2] | 0, 12) | 0 | 0); + $2639($131_1 | 0); + break label$15; + } + FUNCTION_TABLE[HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 108 | 0) >> 2] | 0, $8_1 + 24 | 0, (HEAP32[($8_1 + 80 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 60 | 0) >> 2] | 0, 12) | 0); + $2639((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 60 | 0) >> 2] | 0, 12) | 0 | 0); + } + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + } + break label$12; + }; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $8_1; + HEAP32[($8_1 + 48 | 0) >> 2] = 0; + HEAP32[($8_1 + 52 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$3 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $243_1 = i64toi32_i32$2; + $243$hi = i64toi32_i32$0; + i64toi32_i32$3 = $8_1; + i64toi32_i32$0 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + $244$hi = i64toi32_i32$2; + i64toi32_i32$2 = $243$hi; + i64toi32_i32$2 = $244$hi; + $603_1 = i64toi32_i32$0; + i64toi32_i32$2 = $243$hi; + i64toi32_i32$3 = $243_1; + i64toi32_i32$0 = $244$hi; + i64toi32_i32$1 = $603_1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + FUNCTION_TABLE[HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 108 | 0) >> 2] | 0, i64toi32_i32$3 - i64toi32_i32$1 | 0, i64toi32_i32$5, HEAP32[($8_1 + 44 | 0) >> 2] | 0, $8_1 + 24 | 0); + i64toi32_i32$2 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $617_1 = i64toi32_i32$5; + i64toi32_i32$5 = $8_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $617_1; + HEAP32[($8_1 + 52 | 0) >> 2] = i64toi32_i32$3; + } + $2672(HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, $8_1 + 20 | 0 | 0); + continue label$5; + }; + } + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0) < (32 | 0) & 1 | 0)) { + break label$17 + } + label$19 : { + if (HEAP32[((HEAP32[($8_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$19 + } + FUNCTION_TABLE[HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 108 | 0) >> 2] | 0, $8_1 + 24 | 0, (HEAP32[($8_1 + 80 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 60 | 0) >> 2] | 0, 12) | 0); + } + $2521((HEAP32[($8_1 + 80 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 60 | 0) >> 2] | 0, 12) | 0 | 0); + HEAP32[($8_1 + 60 | 0) >> 2] = (HEAP32[($8_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + $2546(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0); + i64toi32_i32$3 = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2670(HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, ((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 12 | 0) + 8 | 0 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] = (HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 12 | 0; + $216_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] = $216_1; + HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] = $216_1; + label$21 : { + if (!(HEAP32[($8_1 + 28 | 0) >> 2] | 0)) { + break label$21 + } + $3288(HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0; + } + $2673(HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0); + } + $2521($8_1 + 24 | 0 | 0); + } + $2490(HEAP32[($8_1 + 84 | 0) >> 2] | 0 | 0); + $42(HEAP32[($8_1 + 80 | 0) >> 2] | 0 | 0); + global$0 = $8_1 + 112 | 0; + return; + } + + function $2660($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = 129; + break label$2; + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = 130; + break label$4; + } + label$6 : { + label$7 : { + if (HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >> 2] | 0) { + break label$7 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = 131; + break label$6; + } + label$8 : { + label$9 : { + if (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = 132; + break label$8; + } + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) <= (100 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = 133; + $2511(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + break label$10; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = 134; + } + } + } + } + } + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2661($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = 2; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) << 1 | 0; + continue label$2; + }; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2670(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (Math_imul((HEAP32[$4_1 >> 2] | 0) - 1 | 0, 88) + 168 | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 72 | 0) >> 2] = ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[$4_1 >> 2] | 0, 88) | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] = 135; + } + $51_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $51_1 | 0; + } + + function $2662($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $18_1 = 0, $44_1 = 0, $91_1 = 0, $110_1 = 0, $130_1 = 0, $32_1 = 0, i64toi32_i32$0 = 0, $77_1 = 0, $122_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) == ($8_1 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0) & 8 | 0)) { + break label$2 + } + } + $18_1 = 0; + HEAP32[($7_1 + 8 | 0) >> 2] = $18_1; + $32_1 = $2681(HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] = $32_1; + $2682(HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $7_1 + 20 | 0 | 0, $7_1 + 8 | 0 | 0, $7_1 + 24 | 0 | 0); + label$4 : { + label$5 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) != ($18_1 | 0) & 1 | 0)) { + break label$5 + } + $44_1 = $3303(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0; + break label$4; + } + $44_1 = 0; + } + HEAP32[($7_1 + 16 | 0) >> 2] = $44_1; + label$6 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2670(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, 12 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + } + } + break label$1; + } + $77_1 = $2683(HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 12 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, $7_1 + 12 | 0 | 0, $7_1 + 24 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] = $77_1; + label$8 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 12 | 0; + } + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $91_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($91_1 + 4 | 0) >> 2] = HEAP32[($91_1 + 4 | 0) >> 2] | 0 | 1 | 0; + } + label$9 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $2637((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 60 | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + $110_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $110_1; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $110_1; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + $122_1 = ($2535(HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 72 | 0 | 0) | 0) & 255 | 0; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = $122_1; + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$10 : { + label$11 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0) & 2 | 0)) { + break label$11 + } + $130_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($130_1 + 4 | 0) >> 2] = HEAP32[($130_1 + 4 | 0) >> 2] | 0 | 2 | 0; + $2627(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + break label$10; + } + $2625(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + } + } + $2684(HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 48 | 0; + return; + } + + function $2663($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + label$3 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$3 + } + $3289(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0, 88 | 0) | 0; + $2684(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0; + $2624(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = 4; + HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0; + $2685(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0); + $2625(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $2664($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $9_1 = 0, $116$hi = 0, $117$hi = 0, $21_1 = 0, $119$hi = 0, $120$hi = 0, $85_1 = 0, $99_1 = 0, $221_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 20 | 0) >> 2] = 1; + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) & 8 | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = $9_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $9_1; + $3289(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, 88 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2686(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + $330(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + $325(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + label$3 : { + if (!((100 | 0) == ($287(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = $317(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $221_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1; + HEAP32[$8_1 >> 2] = $221_1; + HEAP32[($8_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$0 = HEAP32[$8_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + $116$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $117$hi = i64toi32_i32$1; + i64toi32_i32$1 = $116$hi; + i64toi32_i32$1 = $117$hi; + i64toi32_i32$1 = $116$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $117$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $21_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $21_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + HEAP32[($8_1 + 20 | 0) >> 2] = $21_1; + i64toi32_i32$1 = $8_1; + i64toi32_i32$0 = HEAP32[$8_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + $119$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $120$hi = i64toi32_i32$2; + i64toi32_i32$2 = $119$hi; + i64toi32_i32$2 = $120$hi; + i64toi32_i32$2 = $119$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = i64toi32_i32$1 & i64toi32_i32$3 | 0; + } + $48_1 = $222(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] = $48_1; + $332(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + label$4 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = 0; + } + HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) - 1 | 0; + $2624(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + label$5 : { + if (!((HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $2687(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (HEAP32[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$6 + } + if (HEAP32[($8_1 + 16 | 0) >> 2] | 0) { + break label$6 + } + $85_1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[($85_1 + 4 | 0) >> 2] = HEAP32[($85_1 + 4 | 0) >> 2] | 0 | 1 | 0; + label$7 : { + if (!((HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0) & 2 | 0)) { + break label$8 + } + $99_1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[($99_1 + 4 | 0) >> 2] = HEAP32[($99_1 + 4 | 0) >> 2] | 0 | 2 | 0; + } + label$9 : { + if (!(HEAP32[($8_1 + 12 | 0) >> 2] | 0)) { + break label$9 + } + $2688(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + } + label$10 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0) & 2 | 0)) { + break label$10 + } + $2689(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + } + } + } + $2684(HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $8_1 + 48 | 0; + return; + } + + function $2665($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $19_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + $19_1 = 0; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + $19_1 = 0; + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $19_1 = (HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) == (0 | 0); + } + return $19_1 & 1 | 0 | 0; + } + + function $2666($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $2520((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + global$0 = $6_1 + 32 | 0; + return; + } + + function $2667($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, $116_1 = 0, $118$hi = 0, $119$hi = 0, i64toi32_i32$6 = 0, $130$hi = 0, $131$hi = 0, $7_1 = 0, $43_1 = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $122$hi = 0, $123$hi = 0, $126$hi = 0, $127$hi = 0, $118_1 = 0, $271_1 = 0, $122_1 = 0, $298_1 = 0, $78_1 = 0, $313_1 = 0, $126_1 = 0, $331_1 = 0, $86_1 = 0, $346_1 = 0, $130_1 = 0, $366_1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + $116_1 = 0; + $7_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $7_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $116_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $116_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $116_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + $2511((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, $5_1 | 0, (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0) | 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + $2704(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, $5_1 + 48 | 0 | 0, $5_1 + 32 | 0 | 0); + $2704(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, $5_1 + 44 | 0 | 0, $5_1 + 24 | 0 | 0); + label$3 : while (1) { + $43_1 = 1; + label$4 : { + if ((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$4 + } + $43_1 = (HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) >= (0 | 0); + } + label$5 : { + if (!($43_1 & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if ((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$8 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $118_1 = i64toi32_i32$0; + $118$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $119$hi = i64toi32_i32$0; + i64toi32_i32$0 = $118$hi; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$0 = $118$hi; + i64toi32_i32$0 = $119$hi; + $271_1 = i64toi32_i32$1; + i64toi32_i32$0 = $118$hi; + i64toi32_i32$2 = $118_1; + i64toi32_i32$1 = $119$hi; + i64toi32_i32$3 = $271_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $34_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $35_1 = 0 + } else { + $35_1 = 1 + } + $36_1 = $35_1; + } else { + $36_1 = 0 + } + $34_1 = $36_1; + } + if (!($34_1 & 1 | 0)) { + break label$7 + } + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $122_1 = i64toi32_i32$2; + $122$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $123$hi = i64toi32_i32$2; + i64toi32_i32$2 = $122$hi; + i64toi32_i32$2 = $123$hi; + $298_1 = i64toi32_i32$0; + i64toi32_i32$2 = $122$hi; + i64toi32_i32$3 = $122_1; + i64toi32_i32$0 = $123$hi; + i64toi32_i32$1 = $298_1; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $78_1 = $2519((HEAP32[$5_1 >> 2] | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + $78_1 | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $313_1 = i64toi32_i32$5; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $313_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$3; + $2704(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, $5_1 + 48 | 0 | 0, $5_1 + 32 | 0 | 0); + break label$6; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $126_1 = i64toi32_i32$3; + $126$hi = i64toi32_i32$5; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $127$hi = i64toi32_i32$3; + i64toi32_i32$3 = $126$hi; + i64toi32_i32$3 = $127$hi; + $331_1 = i64toi32_i32$5; + i64toi32_i32$3 = $126$hi; + i64toi32_i32$2 = $126_1; + i64toi32_i32$5 = $127$hi; + i64toi32_i32$1 = $331_1; + i64toi32_i32$0 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + $86_1 = $2519((HEAP32[$5_1 >> 2] | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$4 | 0) | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + $86_1 | 0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $346_1 = i64toi32_i32$4; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $346_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$2; + label$9 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $130_1 = i64toi32_i32$2; + $130$hi = i64toi32_i32$4; + i64toi32_i32$3 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $131$hi = i64toi32_i32$2; + i64toi32_i32$2 = $130$hi; + i64toi32_i32$2 = $131$hi; + i64toi32_i32$2 = $130$hi; + i64toi32_i32$2 = $131$hi; + $366_1 = i64toi32_i32$4; + i64toi32_i32$2 = $130$hi; + i64toi32_i32$3 = $130_1; + i64toi32_i32$4 = $131$hi; + i64toi32_i32$1 = $366_1; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$4 | 0) | 0) & 1 | 0)) { + break label$9 + } + $2704(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, $5_1 + 48 | 0 | 0, $5_1 + 32 | 0 | 0); + } + $2704(HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0, $5_1 + 44 | 0 | 0, $5_1 + 24 | 0 | 0); + } + continue label$3; + } + break label$3; + }; + $2671($5_1 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + $2521($5_1 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $2668($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $14_1 = 0, $30_1 = 0, $53_1 = 0, $66_1 = 0, $78_1 = 0, $52_1 = 0, $65_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = (((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 9 | 0) + 9 | 0) + 8 | 0; + label$1 : { + if (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + label$3 : { + if (!(((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[$6_1 >> 2] | 0) | 0) >>> 0 <= (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + $30_1 = 0; + break label$2; + } + $30_1 = $2511((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[$6_1 >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0) | 0; + } + if (!((0 | 0) == ($30_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $52_1 = $2519((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $53_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($53_1 + 4 | 0) >> 2] = (HEAP32[($53_1 + 4 | 0) >> 2] | 0) + $52_1 | 0; + i64toi32_i32$0 = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) << 1 | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $65_1 = $2519((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $66_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($66_1 + 4 | 0) >> 2] = (HEAP32[($66_1 + 4 | 0) >> 2] | 0) + $65_1 | 0; + $3288((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $78_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($78_1 + 4 | 0) >> 2] = (HEAP32[($78_1 + 4 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = (HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + $14_1 = 0; + HEAP8[i64toi32_i32$0 >> 0] = $14_1; + HEAP8[(i64toi32_i32$0 + 1 | 0) >> 0] = $14_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 2 | 0) >> 0] = $14_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 3 | 0) >> 0] = $14_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$0 + 4 | 0) >> 0] = i64toi32_i32$1; + HEAP8[(i64toi32_i32$0 + 5 | 0) >> 0] = i64toi32_i32$1 >>> 8 | 0; + HEAP8[(i64toi32_i32$0 + 6 | 0) >> 0] = i64toi32_i32$1 >>> 16 | 0; + HEAP8[(i64toi32_i32$0 + 7 | 0) >> 0] = i64toi32_i32$1 >>> 24 | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2669($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$6 = 0, $82_1 = 0, $395$hi = 0, $396$hi = 0, $403$hi = 0, $404$hi = 0, $411_1 = 0, $417$hi = 0, $418$hi = 0, $423$hi = 0, $427$hi = 0, $431$hi = 0, $432$hi = 0, $435$hi = 0, $436$hi = 0, $440$hi = 0, $444$hi = 0, $449$hi = 0, $453$hi = 0, $454$hi = 0, $10_1 = 0, $83_1 = 0, $85_1 = 0, $86_1 = 0, $399$hi = 0, $400$hi = 0, $407$hi = 0, $408$hi = 0, $107_1 = 0, $109_1 = 0, $413$hi = 0, $414$hi = 0, $87_1 = 0, $88_1 = 0, $89_1 = 0, $425$hi = 0, $90_1 = 0, $91_1 = 0, $92_1 = 0, $429$hi = 0, $93_1 = 0, $94_1 = 0, $95_1 = 0, $96_1 = 0, $97_1 = 0, $98_1 = 0, $442$hi = 0, $99_1 = 0, $100_1 = 0, $101_1 = 0, $447$hi = 0, $102_1 = 0, $103_1 = 0, $104_1 = 0, $451$hi = 0, $105_1 = 0, $106_1 = 0, $108_1 = 0, $460$hi = 0, $461$hi = 0, $464$hi = 0, $465$hi = 0, $386_1 = 0, $395_1 = 0, $565_1 = 0, $399_1 = 0, $588_1 = 0, $53_1 = 0, $603_1 = 0, $403_1 = 0, $658_1 = 0, $407_1 = 0, $681_1 = 0, $84_1 = 0, $696_1 = 0, $413_1 = 0, $791_1 = 0, $119_1 = 0, $806_1 = 0, $417_1 = 0, $880_1 = 0, $431_1 = 0, $978_1 = 0, $435_1 = 0, $992_1 = 0, $453_1 = 0, $1102_1 = 0, $301_1 = 0, $460_1 = 0, $1341_1 = 0, $335_1 = 0, $1356_1 = 0, $464_1 = 0, $1415_1 = 0, $360_1 = 0, $1430_1 = 0, $1491_1 = 0; + $5_1 = global$0 - 176 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 172 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 168 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 164 | 0) >> 2] = $2_1; + label$1 : { + if (!(HEAP32[((HEAP32[($5_1 + 164 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$1 + } + $10_1 = $5_1 + 72 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 152 | 0) >> 2] = 0; + HEAP32[($5_1 + 156 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $10_1; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1 + 56 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + label$2 : { + if (!($2511((HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 36 | 0 | 0, $10_1 | 0, ((((HEAP32[((HEAP32[($5_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 164 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + 9 | 0) + 10 | 0) + 10 | 0 | 0) | 0)) { + break label$2 + } + break label$1; + } + $2705(HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0, $5_1 + 120 | 0 | 0); + $2705(HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0, $5_1 + 88 | 0 | 0); + label$3 : { + label$4 : while (1) { + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + $395_1 = i64toi32_i32$0; + $395$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $396$hi = i64toi32_i32$0; + i64toi32_i32$0 = $395$hi; + i64toi32_i32$0 = $396$hi; + i64toi32_i32$0 = $395$hi; + i64toi32_i32$0 = $396$hi; + $565_1 = i64toi32_i32$1; + i64toi32_i32$0 = $395$hi; + i64toi32_i32$2 = $395_1; + i64toi32_i32$1 = $396$hi; + i64toi32_i32$3 = $565_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $83_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $85_1 = 0 + } else { + $85_1 = 1 + } + $86_1 = $85_1; + } else { + $86_1 = 0 + } + $83_1 = $86_1; + } + label$5 : { + label$6 : { + if (!($83_1 & 1 | 0)) { + break label$6 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + $399_1 = i64toi32_i32$2; + $399$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + $400$hi = i64toi32_i32$2; + i64toi32_i32$2 = $399$hi; + i64toi32_i32$2 = $400$hi; + $588_1 = i64toi32_i32$0; + i64toi32_i32$2 = $399$hi; + i64toi32_i32$3 = $399_1; + i64toi32_i32$0 = $400$hi; + i64toi32_i32$1 = $588_1; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $53_1 = $2519((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + $53_1 | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + $603_1 = i64toi32_i32$5; + i64toi32_i32$5 = $5_1; + HEAP32[($5_1 + 152 | 0) >> 2] = $603_1; + HEAP32[($5_1 + 156 | 0) >> 2] = i64toi32_i32$3; + $3288((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 140 | 0) >> 2] | 0) + (HEAP32[($5_1 + 144 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 140 | 0) >> 2] | 0) + (HEAP32[($5_1 + 144 | 0) >> 2] | 0) | 0) | 0; + $2706($5_1 + 120 | 0 | 0); + label$7 : { + if (!((HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$3; + } + break label$5; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $403_1 = i64toi32_i32$3; + $403$hi = i64toi32_i32$5; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + $404$hi = i64toi32_i32$3; + i64toi32_i32$3 = $403$hi; + i64toi32_i32$3 = $404$hi; + i64toi32_i32$3 = $403$hi; + i64toi32_i32$3 = $404$hi; + $658_1 = i64toi32_i32$5; + i64toi32_i32$3 = $403$hi; + i64toi32_i32$2 = $403_1; + i64toi32_i32$5 = $404$hi; + i64toi32_i32$1 = $658_1; + label$8 : { + label$9 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $407_1 = i64toi32_i32$2; + $407$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + $408$hi = i64toi32_i32$2; + i64toi32_i32$2 = $407$hi; + i64toi32_i32$2 = $408$hi; + $681_1 = i64toi32_i32$3; + i64toi32_i32$2 = $407$hi; + i64toi32_i32$1 = $407_1; + i64toi32_i32$3 = $408$hi; + i64toi32_i32$5 = $681_1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $84_1 = $2519((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$4 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + $84_1 | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $696_1 = i64toi32_i32$4; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 152 | 0) >> 2] = $696_1; + HEAP32[($5_1 + 156 | 0) >> 2] = i64toi32_i32$1; + $3288((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 108 | 0) >> 2] | 0) + (HEAP32[($5_1 + 112 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 108 | 0) >> 2] | 0) + (HEAP32[($5_1 + 112 | 0) >> 2] | 0) | 0) | 0; + $2706($5_1 + 88 | 0 | 0); + label$10 : { + if (!((HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + break label$3; + } + break label$8; + } + $107_1 = $5_1 + 56 | 0; + i64toi32_i32$1 = 0; + $411_1 = 0; + $109_1 = 0; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $411_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $411_1; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 36 | 0) >> 2] = $109_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $109_1; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 136 | 0) >> 2] | 0) + (HEAP32[($5_1 + 144 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 104 | 0) >> 2] | 0) + (HEAP32[($5_1 + 112 | 0) >> 2] | 0) | 0; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $411_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = 0; + i64toi32_i32$4 = $5_1; + HEAP32[$5_1 >> 2] = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $413_1 = i64toi32_i32$1; + $413$hi = i64toi32_i32$4; + i64toi32_i32$2 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + $414$hi = i64toi32_i32$1; + i64toi32_i32$1 = $413$hi; + i64toi32_i32$1 = $414$hi; + $791_1 = i64toi32_i32$4; + i64toi32_i32$1 = $413$hi; + i64toi32_i32$2 = $413_1; + i64toi32_i32$4 = $414$hi; + i64toi32_i32$5 = $791_1; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$0 | 0; + $119_1 = $2519((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + $119_1 | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $806_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 152 | 0) >> 2] = $806_1; + HEAP32[($5_1 + 156 | 0) >> 2] = i64toi32_i32$2; + $2639($107_1 | 0); + $2511((HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 36 | 0 | 0, $107_1 | 0, ((((HEAP32[($5_1 + 140 | 0) >> 2] | 0) + (HEAP32[($5_1 + 108 | 0) >> 2] | 0) | 0) + 10 | 0) + 10 | 0) + 8 | 0 | 0) | 0; + label$11 : { + if (!(HEAP32[((HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$11 + } + break label$3; + } + $2646(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, $5_1 + 36 | 0 | 0, $5_1 + 48 | 0 | 0) | 0; + $2646(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0, $5_1 + 40 | 0 | 0) | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $417_1 = i64toi32_i32$2; + $417$hi = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $418$hi = i64toi32_i32$2; + i64toi32_i32$2 = $417$hi; + i64toi32_i32$2 = $418$hi; + i64toi32_i32$2 = $417$hi; + i64toi32_i32$2 = $418$hi; + $880_1 = i64toi32_i32$0; + i64toi32_i32$2 = $417$hi; + i64toi32_i32$1 = $417_1; + i64toi32_i32$0 = $418$hi; + i64toi32_i32$5 = $880_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $87_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$5 >>> 0) { + $88_1 = 0 + } else { + $88_1 = 1 + } + $89_1 = $88_1; + } else { + $89_1 = 0 + } + $87_1 = $89_1; + } + label$12 : { + label$13 : { + if (!($87_1 & 1 | 0)) { + break label$13 + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $2647($5_1 + 56 | 0 | 0, $5_1 + 8 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0); + $2646(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, $5_1 + 36 | 0 | 0, $5_1 + 48 | 0 | 0) | 0; + break label$12; + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $2647($5_1 + 56 | 0 | 0, $5_1 + 8 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0); + $2646(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0, $5_1 + 40 | 0 | 0) | 0; + } + i64toi32_i32$1 = 0; + $423$hi = i64toi32_i32$1; + i64toi32_i32$5 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $425$hi = i64toi32_i32$2; + i64toi32_i32$2 = $423$hi; + i64toi32_i32$2 = $425$hi; + i64toi32_i32$2 = $423$hi; + i64toi32_i32$2 = $425$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $423$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$1 | 0)) { + $90_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + $91_1 = 0 + } else { + $91_1 = 1 + } + $92_1 = $91_1; + } else { + $92_1 = 0 + } + $90_1 = $92_1; + } + label$14 : { + if (!($90_1 & 1 | 0)) { + break label$14 + } + i64toi32_i32$5 = 0; + $427$hi = i64toi32_i32$5; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $429$hi = i64toi32_i32$2; + i64toi32_i32$2 = $427$hi; + i64toi32_i32$2 = $429$hi; + i64toi32_i32$2 = $427$hi; + i64toi32_i32$2 = $429$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $427$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $93_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) { + $94_1 = 0 + } else { + $94_1 = 1 + } + $95_1 = $94_1; + } else { + $95_1 = 0 + } + $93_1 = $95_1; + } + if (!($93_1 & 1 | 0)) { + break label$14 + } + label$15 : { + label$16 : while (1) { + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $431_1 = i64toi32_i32$0; + $431$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $432$hi = i64toi32_i32$0; + i64toi32_i32$0 = $431$hi; + i64toi32_i32$0 = $432$hi; + i64toi32_i32$0 = $431$hi; + i64toi32_i32$0 = $432$hi; + $978_1 = i64toi32_i32$2; + i64toi32_i32$0 = $431$hi; + i64toi32_i32$1 = $431_1; + i64toi32_i32$2 = $432$hi; + i64toi32_i32$5 = $978_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$2 | 0)) { + $96_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$5 >>> 0) { + $97_1 = 0 + } else { + $97_1 = 1 + } + $98_1 = $97_1; + } else { + $98_1 = 0 + } + $96_1 = $98_1; + } + label$17 : { + label$18 : { + if (!($96_1 & 1 | 0)) { + break label$18 + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $435_1 = i64toi32_i32$1; + $435$hi = i64toi32_i32$0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $436$hi = i64toi32_i32$1; + i64toi32_i32$1 = $435$hi; + i64toi32_i32$1 = $436$hi; + i64toi32_i32$1 = $435$hi; + i64toi32_i32$1 = $436$hi; + $992_1 = i64toi32_i32$0; + i64toi32_i32$1 = $435$hi; + i64toi32_i32$5 = $435_1; + i64toi32_i32$0 = $436$hi; + i64toi32_i32$2 = $992_1; + label$19 : { + if (!(((i64toi32_i32$5 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$19 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $2647($5_1 + 56 | 0 | 0, $5_1 + 8 | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0); + } + i64toi32_i32$1 = 0; + $440$hi = i64toi32_i32$1; + $2646(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, $5_1 + 36 | 0 | 0, $5_1 + 48 | 0 | 0) | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $442$hi = i64toi32_i32$5; + i64toi32_i32$5 = $440$hi; + i64toi32_i32$5 = $442$hi; + i64toi32_i32$5 = $440$hi; + i64toi32_i32$5 = $442$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $440$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$1 | 0)) { + $99_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$0 >>> 0) { + $100_1 = 0 + } else { + $100_1 = 1 + } + $101_1 = $100_1; + } else { + $101_1 = 0 + } + $99_1 = $101_1; + } + label$20 : { + if (!($99_1 & 1 | 0)) { + break label$20 + } + break label$15; + } + break label$17; + } + i64toi32_i32$2 = 0; + $444$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $2647($5_1 + 56 | 0 | 0, $5_1 + 8 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$5 | 0); + $2646(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 108 | 0) >> 2] | 0 | 0, $5_1 + 32 | 0 | 0, $5_1 + 40 | 0 | 0) | 0; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $447$hi = i64toi32_i32$2; + i64toi32_i32$2 = $444$hi; + i64toi32_i32$2 = $447$hi; + i64toi32_i32$2 = $444$hi; + i64toi32_i32$2 = $447$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $444$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$5 | 0)) { + $102_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$1 >>> 0) { + $103_1 = 0 + } else { + $103_1 = 1 + } + $104_1 = $103_1; + } else { + $104_1 = 0 + } + $102_1 = $104_1; + } + label$21 : { + if (!($102_1 & 1 | 0)) { + break label$21 + } + break label$15; + } + } + continue label$16; + }; + } + } + i64toi32_i32$0 = 0; + $449$hi = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $451$hi = i64toi32_i32$2; + i64toi32_i32$2 = $449$hi; + i64toi32_i32$2 = $451$hi; + i64toi32_i32$2 = $449$hi; + i64toi32_i32$2 = $451$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $449$hi; + i64toi32_i32$5 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $105_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + $106_1 = 0 + } else { + $106_1 = 1 + } + $108_1 = $106_1; + } else { + $108_1 = 0 + } + $105_1 = $108_1; + } + label$22 : { + label$23 : { + if (!($105_1 & 1 | 0)) { + break label$23 + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $453_1 = i64toi32_i32$1; + $453$hi = i64toi32_i32$2; + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $454$hi = i64toi32_i32$1; + i64toi32_i32$1 = $453$hi; + i64toi32_i32$1 = $454$hi; + i64toi32_i32$1 = $453$hi; + i64toi32_i32$1 = $454$hi; + $1102_1 = i64toi32_i32$2; + i64toi32_i32$1 = $453$hi; + i64toi32_i32$5 = $453_1; + i64toi32_i32$2 = $454$hi; + i64toi32_i32$0 = $1102_1; + label$24 : { + if (!(((i64toi32_i32$5 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$24 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $2647($5_1 + 56 | 0 | 0, $5_1 + 8 | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0); + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 140 | 0) >> 2] | 0) - (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0; + break label$22; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $2647($5_1 + 56 | 0 | 0, $5_1 + 8 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$5 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 108 | 0) >> 2] | 0) - (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0; + } + label$25 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$25 + } + $3288((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + (HEAP32[($5_1 + 60 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 60 | 0) >> 2] = (HEAP32[($5_1 + 60 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0; + } + label$26 : { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) > ((HEAP32[($5_1 + 140 | 0) >> 2] | 0) + (HEAP32[($5_1 + 108 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$26 + } + label$27 : { + if (HEAP32[((HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$27 + } + HEAP32[((HEAP32[($5_1 + 172 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + } + break label$3; + } + i64toi32_i32$1 = (HEAP32[($5_1 + 60 | 0) >> 2] | 0) << 1 | 0; + i64toi32_i32$5 = i64toi32_i32$1 >> 31 | 0; + $301_1 = $2519((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + $301_1 | 0; + $3288((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + (HEAP32[($5_1 + 60 | 0) >> 2] | 0) | 0; + $2706($5_1 + 120 | 0 | 0); + $2706($5_1 + 88 | 0 | 0); + label$28 : { + label$29 : { + if ((HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$29 + } + if (!((HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$28 + } + } + break label$3; + } + } + } + continue label$4; + }; + } + label$30 : { + label$31 : { + if (!((HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$31 + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + $460_1 = i64toi32_i32$5; + $460$hi = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + $461$hi = i64toi32_i32$5; + i64toi32_i32$5 = $460$hi; + i64toi32_i32$5 = $461$hi; + $1341_1 = i64toi32_i32$1; + i64toi32_i32$5 = $460$hi; + i64toi32_i32$0 = $460_1; + i64toi32_i32$1 = $461$hi; + i64toi32_i32$2 = $1341_1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + $335_1 = $2519((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$3 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + $335_1 | 0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 132 | 0) >> 2] | 0; + $1356_1 = i64toi32_i32$3; + i64toi32_i32$3 = $5_1; + HEAP32[($5_1 + 152 | 0) >> 2] = $1356_1; + HEAP32[($5_1 + 156 | 0) >> 2] = i64toi32_i32$0; + $3288((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 120 | 0) >> 2] | 0) - (HEAP32[($5_1 + 136 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 120 | 0) >> 2] | 0) - (HEAP32[($5_1 + 136 | 0) >> 2] | 0) | 0) | 0; + break label$30; + } + label$32 : { + if (!((HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$32 + } + i64toi32_i32$5 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $464_1 = i64toi32_i32$0; + $464$hi = i64toi32_i32$3; + i64toi32_i32$5 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 152 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + $465$hi = i64toi32_i32$0; + i64toi32_i32$0 = $464$hi; + i64toi32_i32$0 = $465$hi; + $1415_1 = i64toi32_i32$3; + i64toi32_i32$0 = $464$hi; + i64toi32_i32$5 = $464_1; + i64toi32_i32$3 = $465$hi; + i64toi32_i32$2 = $1415_1; + i64toi32_i32$1 = i64toi32_i32$5 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$4 | 0; + $360_1 = $2519((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + $360_1 | 0; + i64toi32_i32$0 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $1430_1 = i64toi32_i32$4; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 152 | 0) >> 2] = $1430_1; + HEAP32[($5_1 + 156 | 0) >> 2] = i64toi32_i32$5; + $3288((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 88 | 0) >> 2] | 0) - (HEAP32[($5_1 + 104 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = (HEAP32[($5_1 + 76 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 88 | 0) >> 2] | 0) - (HEAP32[($5_1 + 104 | 0) >> 2] | 0) | 0) | 0; + } + } + $2521(HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0); + $2521($5_1 + 56 | 0 | 0); + i64toi32_i32$5 = 0; + i64toi32_i32$4 = (HEAP32[($5_1 + 72 | 0) >> 2] | 0) + (HEAP32[($5_1 + 76 | 0) >> 2] | 0) | 0; + $82_1 = 0; + HEAP8[i64toi32_i32$4 >> 0] = $82_1; + HEAP8[(i64toi32_i32$4 + 1 | 0) >> 0] = $82_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$4 + 2 | 0) >> 0] = $82_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$4 + 3 | 0) >> 0] = $82_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$4 + 4 | 0) >> 0] = i64toi32_i32$5; + HEAP8[(i64toi32_i32$4 + 5 | 0) >> 0] = i64toi32_i32$5 >>> 8 | 0; + HEAP8[(i64toi32_i32$4 + 6 | 0) >> 0] = i64toi32_i32$5 >>> 16 | 0; + HEAP8[(i64toi32_i32$4 + 7 | 0) >> 0] = i64toi32_i32$5 >>> 24 | 0; + i64toi32_i32$0 = $5_1 + 72 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $1491_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $1491_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$4; + $386_1 = 8; + HEAP32[(i64toi32_i32$5 + $386_1 | 0) >> 2] = HEAP32[(i64toi32_i32$0 + $386_1 | 0) >> 2] | 0; + } + global$0 = $5_1 + 176 | 0; + return; + } + + function $2670($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $8_1 = $2468((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $2671($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $7_1 = 0, $9_1 = 0, $15_1 = 0, $20_1 = 0, $44_1 = 0, $62_1 = 0, $78_1 = 0; + $4_1 = global$0 - 32 | 0; + $7_1 = $4_1 + 8 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $44_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[i64toi32_i32$0 >> 2] = $44_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $9_1 = 8; + HEAP32[(i64toi32_i32$0 + $9_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $9_1 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $62_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $62_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $15_1 = 8; + HEAP32[(i64toi32_i32$1 + $15_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $15_1 | 0) >> 2] | 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $78_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $78_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $20_1 = 8; + HEAP32[(i64toi32_i32$0 + $20_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $20_1 | 0) >> 2] | 0; + return; + } + + function $2672($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $44_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + label$2 : while (1) { + $10_1 = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAPU16[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 88) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $10_1; + FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 28 | 0) >> 2] | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0, $5_1 + 8 | 0); + label$3 : { + label$4 : { + if ((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == ($10_1 | 0) & 1 | 0) { + break label$4 + } + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$4 + } + if (!($2612(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0) | 0)) { + break label$3 + } + } + $44_1 = 1; + $2613(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, $44_1 | 0); + $2614(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $44_1; + } + if ($2665(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0) { + continue label$2 + } + break label$2; + }; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2673($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $52_1 = 0, $42_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2661(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 8 | 0) >> 2] = ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 80 | 0) + 88 | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $42_1 = ($2535(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 72 | 0 | 0) | 0) & 255 | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $42_1; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP16[((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] = 1; + label$4 : { + label$5 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = 1; + $52_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($52_1 + 4 | 0) >> 2] = HEAP32[($52_1 + 4 | 0) >> 2] | 0 | 2 | 0; + $2627(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + break label$4; + } + $2625(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + break label$2; + } + HEAP8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 0] = 1; + } + $2684(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + } + $2531(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + global$0 = $6_1 + 32 | 0; + return; + } + + function $2674($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $26_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $26_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $26_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + return; + } + + function $2675($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $62_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $62_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $62_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) | 0 | 0) <= (HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + break label$1; + } + $2639((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0 | 0); + $2707(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0 | 0); + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2676($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + return; + } + + function $2677($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $109_1 = 0, $43_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $109_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $109_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$1 : { + label$2 : { + if (!(((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) | 0 | 0) <= (HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + $43_1 = $2708($4_1 + 16 | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = $43_1; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + break label$3; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 36 | 0; + $2639((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 28 | 0 | 0); + $2709(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 28 | 0 | 0); + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + } + break label$1; + } + $2639((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 28 | 0 | 0); + $2707(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 28 | 0 | 0); + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $2678($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $20_1 = 0, i64toi32_i32$2 = 0, $53_1 = 0, $94_1 = 0, i64toi32_i32$1 = 0, $219_1 = 0, $93_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2679(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0); + break label$1; + } + $20_1 = 0; + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $20_1; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $20_1; + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $219_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $219_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$3 : { + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0) >>> 0 < (HEAP32[($4_1 + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + $53_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = $53_1 + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (((HEAPU8[$53_1 >> 0] | 0) & 255 | 0) - 2 | 0) | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0; + label$8 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$3; + } + continue label$7; + }; + } + label$9 : { + if (!((HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $93_1 = ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) - (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0) + 2 | 0; + $94_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $94_1 + 1 | 0; + HEAP8[$94_1 >> 0] = $93_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + continue label$5; + }; + } + } + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0; + } + global$0 = $4_1 + 48 | 0; + return; + } + + function $2679($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $68_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $2639((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0 | 0); + $2707(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0 | 0); + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $68_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $68_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $2680($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + return; + } + + function $2681($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $12_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $12_1 = $2690(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $12_1 | 0; + } + + function $2682($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $40_1 = 0, $9_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + $9_1 = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $9_1; + label$1 : { + label$2 : { + if (!(($9_1 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 40 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3303(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $2691(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - (((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 40 | 0) + 1 | 0) | 0; + break label$1; + } + $40_1 = 0; + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = $40_1; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = $40_1; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = $40_1; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2683($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, $71_1 = 0, $102_1 = 0, i64toi32_i32$0 = 0, $94_1 = 0, $106_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2692(HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 28 | 0) >> 2] = 0; + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($8_1 + 28 | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 40 | 0; + label$3 : { + if (!((HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$3 + } + if ($3228(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) | 0) { + break label$3 + } + break label$1; + } + HEAP32[($8_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + continue label$2; + }; + } + label$4 : { + label$5 : { + label$6 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($8_1 + 20 | 0) >> 2] = ((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + 40 | 0) + 1 | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - (HEAP32[($8_1 + 20 | 0) >> 2] | 0) | 0; + i64toi32_i32$1 = ((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + (HEAP32[($8_1 + 16 | 0) >> 2] | 0) | 0) + 10 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $71_1 = $41(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] = $71_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $71_1; + label$7 : { + label$8 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($8_1 + 8 | 0) >> 2] = (HEAP32[($8_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 52 | 0) >> 2] | 0) - (HEAP32[($8_1 + 20 | 0) >> 2] | 0) | 0) | 0; + $3288((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + (HEAP32[($8_1 + 52 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + (HEAP32[($8_1 + 20 | 0) >> 2] | 0) | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $94_1 = $2691(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 16 | 0) >> 2] | 0) + $94_1 | 0; + HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + break label$7; + } + HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($8_1 + 60 | 0) >> 2] = 7; + break label$4; + } + break label$5; + } + $102_1 = 0; + HEAP32[(HEAP32[($8_1 + 40 | 0) >> 2] | 0) >> 2] = $102_1; + HEAP32[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 2] = $102_1; + } + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + } + $106_1 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $106_1 | 0; + } + + function $2684($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = 136; + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = 137; + break label$3; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = 138; + } + } + return; + } + + function $2685($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $88_1 = 0, $92_1 = 0, $17_1 = 0, $87_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $17_1 = $2534((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0, $5_1 + 8 | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + $17_1 | 0; + label$1 : { + label$2 : { + label$3 : { + if (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $2510((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 60 | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0); + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0; + break label$4; + } + $87_1 = $2534((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) | 0 | 0, $5_1 + 4 | 0 | 0) | 0; + $88_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($88_1 + 36 | 0) >> 2] = (HEAP32[($88_1 + 36 | 0) >> 2] | 0) + $87_1 | 0; + $92_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($92_1 + 40 | 0) >> 2] = (HEAP32[($92_1 + 40 | 0) >> 2] | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0; + } + $2700(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2686($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0, $17_1 = 0, $19_1 = 0, $25_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + $14_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $17_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0; + $19_1 = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = $19_1; + $2517($14_1 | 0, $17_1 | 0, $79(53559 | 0, $3_1 | 0) | 0 | 0) | 0; + } + $25_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $25_1 | 0; + } + + function $2687($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $11_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $379$hi = 0, $380$hi = 0, $39_1 = 0, $85_1 = 0, $196_1 = 0, $377$hi = 0, $378$hi = 0, i64toi32_i32$4 = 0, $30_1 = 0, $31_1 = 0, $32_1 = 0, $25_1 = 0, $38_1 = 0, $58_1 = 0, $179_1 = 0, $195_1 = 0, $215_1 = 0, $260_1 = 0, $291_1 = 0, $1062_1 = 0, $362_1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + $11_1 = 0; + HEAP32[($7_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $11_1; + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + $25_1 = $2534((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0, $7_1 + 28 | 0 | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + $25_1 | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$1; + } + label$3 : { + label$4 : { + label$5 : while (1) { + $38_1 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + $39_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = $39_1 + 1 | 0; + HEAP32[($7_1 + 32 | 0) >> 2] = (HEAPU8[($38_1 + $39_1 | 0) >> 0] | 0) & 255 | 0; + label$6 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0) & 128 | 0)) { + break label$6 + } + HEAP32[($7_1 + 56 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + -1 | 0; + $58_1 = $2534((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 56 | 0) >> 2] | 0) | 0 | 0, $7_1 + 32 | 0 | 0) | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + $58_1 | 0; + } + label$7 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 40 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + break label$4; + } + label$8 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + label$10 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0) >>> 0 < ((HEAP32[($7_1 + 60 | 0) >> 2] | 0) - (HEAP32[($7_1 + 40 | 0) >> 2] | 0) | 0) >>> 0 & 1 | 0)) { + break label$10 + } + $85_1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + break label$9; + } + $85_1 = (HEAP32[($7_1 + 60 | 0) >> 2] | 0) - (HEAP32[($7_1 + 40 | 0) >> 2] | 0) | 0; + } + HEAP32[($7_1 + 16 | 0) >> 2] = $85_1; + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + label$13 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$13 + } + break label$11; + } + HEAP32[($7_1 + 12 | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + label$14 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + break label$3; + } + break label$4; + } + label$16 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[($7_1 + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$16 + } + if (!(((HEAPU8[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0) & 255 | 0 | 0) > ((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 40 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$16 + } + break label$4; + } + } + label$17 : { + label$18 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($7_1 + 20 | 0) >> 2] = 1; + break label$17; + } + $179_1 = $2534((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0, $7_1 + 36 | 0 | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + $179_1 | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + (HEAP32[($7_1 + 36 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + label$19 : { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) >= (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$1; + } + $195_1 = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + $196_1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = $196_1 + 1 | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAPU8[($195_1 + $196_1 | 0) >> 0] | 0) & 255 | 0; + label$20 : { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0) & 128 | 0)) { + break label$20 + } + HEAP32[($7_1 + 56 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + -1 | 0; + $215_1 = $2534((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 56 | 0) >> 2] | 0) | 0 | 0, $7_1 + 36 | 0 | 0) | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + $215_1 | 0; + } + continue label$5; + } + break label$5; + }; + } + label$21 : { + if (HEAP32[($7_1 + 72 | 0) >> 2] | 0) { + break label$21 + } + $2531(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + break label$1; + } + label$22 : { + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$22 + } + label$23 : while (1) { + $2624(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + label$24 : { + if (!((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$24 + } + break label$1; + } + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + label$25 : { + label$26 : { + if ((HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$26 + } + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $260_1 = $2534((HEAP32[(HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0, $7_1 + 56 | 0 | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + $260_1 | 0; + label$27 : { + label$28 : { + if ((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0) { + break label$28 + } + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + } + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$1; + } + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $291_1 = $2534((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 56 | 0) >> 2] | 0) | 0 | 0, $7_1 + 32 | 0 | 0) | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + $291_1 | 0; + break label$25; + } + if (1 & 1 | 0) { + continue label$23 + } + } + break label$23; + }; + } + } + i64toi32_i32$1 = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $377$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $378$hi = i64toi32_i32$0; + i64toi32_i32$0 = $377$hi; + i64toi32_i32$0 = $378$hi; + i64toi32_i32$0 = $377$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $378$hi; + i64toi32_i32$3 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $379$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $380$hi = i64toi32_i32$5; + i64toi32_i32$5 = $379$hi; + i64toi32_i32$5 = $380$hi; + i64toi32_i32$5 = $379$hi; + i64toi32_i32$5 = $380$hi; + $1062_1 = i64toi32_i32$2; + i64toi32_i32$5 = $379$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $380$hi; + i64toi32_i32$3 = $1062_1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$2 | 0)) { + $30_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $31_1 = 0 + } else { + $31_1 = 1 + } + $32_1 = $31_1; + } else { + $32_1 = 0 + } + $30_1 = $32_1; + } + label$29 : { + label$30 : { + if ($30_1 & 1 | 0) { + break label$30 + } + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0) >>> 0 < 1 >>> 0 & 1 | 0)) { + break label$29 + } + } + HEAP32[((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$1; + } + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $2637((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 60 | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0); + $2510((HEAP32[($7_1 + 76 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 60 | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 56 | 0) >> 2] | 0) | 0 | 0); + label$31 : { + label$32 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0; + break label$31; + } + $362_1 = $2534((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + (HEAP32[($7_1 + 24 | 0) >> 2] | 0) | 0 | 0, $7_1 + 8 | 0 | 0) | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + $362_1 | 0; + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + (HEAP32[($7_1 + 8 | 0) >> 2] | 0) | 0; + } + HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + $2700(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + $2625(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 80 | 0; + return; + } + + function $2688($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $37_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $37_1 = $2701(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] = $37_1; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $2689($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $5_1 = 0, $184$hi = 0, $185$hi = 0, $36_1 = 0, $186$hi = 0, $187$hi = 0, $188$hi = 0, $189$hi = 0, $190$hi = 0, $191$hi = 0, $45_1 = 0, $54_1 = 0, $83_1 = 0, $193$hi = 0, $194$hi = 0, $37_1 = 0, $195$hi = 0, $196$hi = 0, $197$hi = 0, $198$hi = 0, $199$hi = 0, $200$hi = 0, $19_1 = 0, $270_1 = 0, $44_1 = 0, $93_1 = 0, $442_1 = 0, $158_1 = 0, $178_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2617(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + $19_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $184$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $185$hi = i64toi32_i32$0; + i64toi32_i32$0 = $184$hi; + i64toi32_i32$0 = $185$hi; + i64toi32_i32$0 = $184$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $185$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $36_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $36_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $186$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $187$hi = i64toi32_i32$1; + i64toi32_i32$1 = $186$hi; + i64toi32_i32$1 = $187$hi; + i64toi32_i32$1 = $186$hi; + i64toi32_i32$0 = $36_1; + i64toi32_i32$2 = $187$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $188$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $189$hi = i64toi32_i32$5; + i64toi32_i32$5 = $188$hi; + i64toi32_i32$5 = $189$hi; + i64toi32_i32$5 = $188$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $189$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $190$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $191$hi = i64toi32_i32$4; + i64toi32_i32$4 = $190$hi; + i64toi32_i32$4 = $191$hi; + $270_1 = i64toi32_i32$1; + i64toi32_i32$4 = $190$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $191$hi; + i64toi32_i32$3 = $270_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2528($19_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$3; + } + HEAP32[($4_1 + 48 | 0) >> 2] = 4; + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 9 | 0; + label$5 : while (1) { + $44_1 = HEAP32[(HEAP32[($4_1 + 52 | 0) >> 2] | 0) >> 2] | 0; + $45_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $45_1 + 1 | 0; + $54_1 = 0; + label$6 : { + if (!(((HEAPU8[($44_1 + $45_1 | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$6 + } + $54_1 = (HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0); + } + label$7 : { + if (!($54_1 & 1 | 0)) { + break label$7 + } + continue label$5; + } + break label$5; + }; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + label$8 : { + if (!((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0; + label$9 : while (1) { + $83_1 = 0; + label$10 : { + if (HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$10 + } + $83_1 = (HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!($83_1 & 1 | 0)) { + break label$11 + } + $93_1 = 0; + i64toi32_i32$5 = HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $193$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $194$hi = i64toi32_i32$2; + i64toi32_i32$2 = $193$hi; + i64toi32_i32$2 = $194$hi; + i64toi32_i32$2 = $193$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$5 = $194$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + $37_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$1 | 0) | 0; + $37_1 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + } + $195$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $196$hi = i64toi32_i32$5; + i64toi32_i32$5 = $195$hi; + i64toi32_i32$5 = $196$hi; + i64toi32_i32$5 = $195$hi; + i64toi32_i32$2 = $37_1; + i64toi32_i32$4 = $196$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $197$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $198$hi = i64toi32_i32$0; + i64toi32_i32$0 = $197$hi; + i64toi32_i32$0 = $198$hi; + i64toi32_i32$0 = $197$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$2 = $198$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $199$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $200$hi = i64toi32_i32$1; + i64toi32_i32$1 = $199$hi; + i64toi32_i32$1 = $200$hi; + $442_1 = i64toi32_i32$5; + i64toi32_i32$1 = $199$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$5 = $200$hi; + i64toi32_i32$3 = $442_1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$1 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2528(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != ($93_1 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ($2532(HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0; + label$13 : { + if (!(HEAP32[($4_1 + 16 | 0) >> 2] | 0)) { + break label$13 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + } + $2531(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + label$14 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$14 + } + break label$11; + } + } + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + } + } + label$15 : { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $2531(HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ($2532(HEAP32[(HEAP32[($4_1 + 64 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $158_1 = ($2535((HEAP32[(HEAP32[($4_1 + 64 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 72 | 0 | 0) | 0) & 255 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + $158_1 | 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + label$16 : { + label$17 : { + if (!((HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0; + break label$16; + } + $178_1 = $2698(HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 40 | 0) >> 2] = $178_1; + } + } + $2627(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 80 | 0; + return; + } + + function $2690($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $73_1 = 0, $116_1 = 0, $135_1 = 0, i64toi32_i32$0 = 0, $140_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = 32; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $41(128 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, 128 | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + label$8 : { + if ((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$8 + } + if (!(((HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 1 | 0 | 0) >= (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + if (!((0 | 0) == ($3228((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 40 | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + } + $73_1 = 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[$6_1 >> 2] | 0) + 4 | 0) >> 2] = $73_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $73_1; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2696(HEAP32[$6_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[$6_1 >> 2] | 0; + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + continue label$6; + }; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $116_1 = 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $116_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $116_1; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (32 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2696(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + $135_1 = 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] = $135_1; + $42(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $135_1; + } + $140_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $140_1 | 0; + } + + function $2691($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $17_1 = 0, $40_1 = 0, $42_1 = 0, $57_1 = 0, i64toi32_i32$1 = 0, $124_1 = 0, $41_1 = 0, $56_1 = 0, i64toi32_i32$0 = 0, $131_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = 0; + label$1 : { + if (!(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $17_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + break label$2; + } + $17_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 28 | 0) >> 2] = $17_1; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + $40_1 = 0; + $41_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $42_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $42_1 + 1 | 0; + HEAP8[($41_1 + $42_1 | 0) >> 0] = $40_1; + label$7 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) != ($40_1 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + $56_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $57_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $57_1 + 1 | 0; + HEAP8[($56_1 + $57_1 | 0) >> 0] = 0; + } + } + break label$4; + } + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) - 1 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 1 | 0) + ((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0) | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) <= (127 | 0) & 1 | 0)) { + break label$9 + } + HEAP8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) >> 0] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + break label$8; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2697(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $3290((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) | 0 | 0, (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0) | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2519((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) - 1 | 0) | 0; + } + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + label$10 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + $124_1 = 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 0] = $124_1; + HEAP8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 25 | 0) >> 0] = $124_1; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + } + } + $131_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $131_1 | 0; + } + + function $2692($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 13; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) - 1 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 3 | 0) ^ (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) ^ ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + }; + } + return ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0) % ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) >>> 0) | 0 | 0; + } + + function $2693($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $18_1 = 0, $56$hi = 0, $51_1 = 0, i64toi32_i32$3 = 0, $56_1 = 0, $177$hi = 0, $181_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + $18_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($18_1 + 44 | 0) >> 2] = (HEAP32[($18_1 + 44 | 0) >> 2] | 0) + -1 | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $2625(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) | 0; + } + $2535((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0, $5_1 | 0) | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $56_1 = i64toi32_i32$0; + $56$hi = i64toi32_i32$1; + $51_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = $51_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $177$hi = i64toi32_i32$0; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$0 = $177$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $56$hi; + i64toi32_i32$3 = $56_1; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $181_1 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$2 = $51_1; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = $181_1; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$5; + break label$1; + } + $2621(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2694($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $101_1 = 0, $167$hi = 0, $62_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $57_1 = 0, $167_1 = 0, $306$hi = 0, $93_1 = 0, $147_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2624(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + label$3 : { + label$4 : { + if (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + } + break label$1; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 32 | 0) >> 2] = 4; + } + label$5 : { + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $57_1 = ($2535((HEAP32[(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0 | 0, $5_1 + 24 | 0 | 0) | 0) & 255 | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + $57_1 | 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $167_1 = i64toi32_i32$0; + $167$hi = i64toi32_i32$1; + $62_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = $62_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $306$hi = i64toi32_i32$0; + i64toi32_i32$0 = $167$hi; + i64toi32_i32$0 = $306$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $167$hi; + i64toi32_i32$3 = $167_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $62_1; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$5; + break label$6; + } + label$8 : { + label$9 : { + if ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0) { + break label$9 + } + label$10 : { + label$11 : { + if (!((HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$12 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) != ($2698(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$12 + } + $93_1 = $2534((HEAP32[(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0 | 0, $5_1 + 20 | 0 | 0) | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + $93_1 | 0; + } + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + $2685(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + break label$10; + } + $101_1 = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $101_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $101_1; + $2699(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $2682(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0, $5_1 + 16 | 0 | 0, $5_1 + 8 | 0 | 0); + label$13 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == ($101_1 | 0) & 1 | 0)) { + break label$13 + } + break label$5; + } + HEAP32[(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $2637((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 60 | 0 | 0, $3303(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $147_1 = ($2535(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 72 | 0 | 0) | 0) & 255 | 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = $147_1; + } + label$14 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] = 1; + } + break label$8; + } + break label$5; + } + } + $2625(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + break label$1; + } + $2531(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2695($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $73_1 = 0, i64toi32_i32$5 = 0, $6_1 = 0, $308$hi = 0, $62_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $156_1 = 0, $272_1 = 0, $273_1 = 0, $284_1 = 0, $295_1 = 0, $48_1 = 0, $59_1 = 0, $308_1 = 0, $456$hi = 0, $136_1 = 0, $174_1 = 0, $199_1 = 0, $222_1 = 0, $271_1 = 0, $294_1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 40 | 0) >> 2] = 1; + label$6 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) != ($2698(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + $48_1 = $2534((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0 | 0, $5_1 + 36 | 0 | 0) | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + $48_1 | 0; + } + break label$4; + } + $59_1 = ($2535((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0 | 0, $5_1 + 16 | 0 | 0) | 0) & 255 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + $59_1 | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $308_1 = i64toi32_i32$0; + $308$hi = i64toi32_i32$1; + $62_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $62_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] | 0; + $456$hi = i64toi32_i32$0; + i64toi32_i32$0 = $308$hi; + i64toi32_i32$0 = $456$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $308$hi; + i64toi32_i32$3 = $308_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $62_1; + HEAP32[(i64toi32_i32$2 + 72 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 76 | 0) >> 2] = i64toi32_i32$5; + } + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + break label$2; + } + label$7 : { + label$8 : { + if (!((HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + $73_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $73_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $73_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $73_1; + label$9 : { + if (!(($73_1 | 0) == ((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$9 + } + $2699(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $2682(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0, $5_1 + 12 | 0 | 0, $5_1 + 4 | 0 | 0); + } + label$10 : { + label$11 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + $2531(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + break label$10; + } + HEAP32[(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + $2637((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 60 | 0 | 0, $3303(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $136_1 = ($2535(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 72 | 0 | 0) | 0) & 255 | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] = $136_1; + HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] = 1; + } + break label$7; + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (HEAP32[($5_1 + 44 | 0) >> 2] | 0) { + break label$12 + } + $2624(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$14 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + break label$12; + } + $156_1 = ($2532(HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 65535 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $156_1; + label$15 : { + label$16 : { + if (!$156_1) { + break label$16 + } + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $174_1 = ($2535((HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 44 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 72 | 0 | 0) | 0) & 255 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + $174_1 | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + label$17 : { + if (!((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + $199_1 = (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ($2534((HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0 | 0) | 0) | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] = $199_1; + } + break label$15; + } + label$18 : { + if (!((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $222_1 = (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ($2534((HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0, $5_1 + 44 | 0 | 0) | 0) | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 36 | 0) >> 2] = $222_1; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = 1; + } + } + label$19 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$1; + } + continue label$13; + }; + } + } + } + if (!((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$20 : { + label$21 : { + if (!(HEAP32[($5_1 + 40 | 0) >> 2] | 0)) { + break label$21 + } + label$22 : { + label$23 : { + if (!((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 1 | 0)) { + break label$23 + } + $2531(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + break label$22; + } + $2685(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0); + $2625(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + label$24 : { + if (!((HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] = 1; + } + } + break label$20; + } + $271_1 = HEAP32[(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + $272_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + $273_1 = HEAP32[($272_1 + 20 | 0) >> 2] | 0; + HEAP32[($272_1 + 20 | 0) >> 2] = $273_1 + 1 | 0; + HEAP32[$5_1 >> 2] = (HEAPU8[($271_1 + $273_1 | 0) >> 0] | 0) & 255 | 0; + label$25 : { + if (!((HEAP32[$5_1 >> 2] | 0) & 128 | 0)) { + break label$25 + } + $284_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP32[($284_1 + 20 | 0) >> 2] = (HEAP32[($284_1 + 20 | 0) >> 2] | 0) + -1 | 0; + $294_1 = $2534((HEAP32[(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0 | 0, $5_1 | 0) | 0; + $295_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP32[($295_1 + 20 | 0) >> 2] = (HEAP32[($295_1 + 20 | 0) >> 2] | 0) + $294_1 | 0; + } + HEAP8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 84 | 0) >> 0] = (HEAP32[$5_1 >> 2] | 0) & 1 | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 80 | 0) >> 2] = (HEAP32[$5_1 >> 2] | 0) >> 1 | 0; + } + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $2696($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $19_1 = 0, $59_1 = 0, $66_1 = 0; + $4_1 = global$0 - 48 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $4_1 + 28 | 0; + label$1 : while (1) { + $19_1 = 1; + label$2 : { + if ((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + $19_1 = (HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($19_1 & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = 0; + break label$6; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 40 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 40 | 0; + label$8 : { + label$9 : while (1) { + $59_1 = 24; + $66_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $59_1 | 0) >> $59_1 | 0 | 0) == (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $66_1 | 0) >> $66_1 | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$10 : { + label$11 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) > ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$10; + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = 0; + } + } + continue label$1; + } + break label$1; + }; + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2697($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 < 16384 >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 2; + break label$1; + } + label$3 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 < 2097152 >>> 0 & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 3; + break label$1; + } + label$4 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 < 268435456 >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 4; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 5; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2698($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2534((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0, $3_1 + 8 | 0 | 0) | 0; + $12_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $12_1 | 0; + } + + function $2699($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + return; + } + + function $2700($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $45_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) >= (HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2624(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + } + break label$1; + } + HEAP32[$4_1 >> 2] = 4; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0; + } + $45_1 = ($2535((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 72 | 0 | 0) | 0) & 255 | 0; + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + $45_1 | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2701($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $113_1 = 0, $7_1 = 0, $52_1 = 0, $11_1 = 0, $102$hi = 0, $103$hi = 0, $30_1 = 0, $104$hi = 0, $105$hi = 0, $106$hi = 0, $107$hi = 0, $108$hi = 0, $31_1 = 0, $109$hi = 0, $110$hi = 0, $111$hi = 0, $37_1 = 0, $106_1 = 0, $220_1 = 0, $60_1 = 0, $97_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $7_1; + label$1 : while (1) { + $11_1 = 0; + label$2 : { + if (HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $11_1 = (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($11_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 5 | 0) + 40 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $49(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] = 7; + break label$4; + } + $37_1 = 0; + i64toi32_i32$0 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $102$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $103$hi = i64toi32_i32$1; + i64toi32_i32$1 = $102$hi; + i64toi32_i32$1 = $103$hi; + i64toi32_i32$1 = $102$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $103$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $30_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $30_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $104$hi = i64toi32_i32$0; + i64toi32_i32$0 = 16; + $105$hi = i64toi32_i32$0; + i64toi32_i32$0 = $104$hi; + i64toi32_i32$0 = $105$hi; + i64toi32_i32$0 = $104$hi; + i64toi32_i32$1 = $30_1; + i64toi32_i32$2 = $105$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $106_1 = i64toi32_i32$4; + $106$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$1 >> 31 | 0; + $107$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $108$hi = i64toi32_i32$5; + i64toi32_i32$5 = $107$hi; + i64toi32_i32$5 = $108$hi; + i64toi32_i32$5 = $107$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $108$hi; + i64toi32_i32$3 = 31; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + $31_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $31_1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + } + $109$hi = i64toi32_i32$1; + i64toi32_i32$1 = $106$hi; + i64toi32_i32$1 = $109$hi; + i64toi32_i32$1 = $106$hi; + i64toi32_i32$5 = $106_1; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$3 = $31_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $110$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $111$hi = i64toi32_i32$4; + i64toi32_i32$4 = $110$hi; + i64toi32_i32$4 = $111$hi; + $220_1 = i64toi32_i32$5; + i64toi32_i32$4 = $110$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$5 = $111$hi; + i64toi32_i32$3 = $220_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($6_1 + 4 | 0) >> 2] = ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 5 | 0) | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $52_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + $113_1 = 0; + i64toi32_i32$1 = $52_1; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $52_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $52_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $113_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$4 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $60_1 = $2528(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] = $60_1; + label$6 : { + if (!((HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($37_1 | 0) & 1 | 0)) { + break label$6 + } + if (((HEAPU8[(HEAP32[(HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 1 | 0) { + break label$6 + } + HEAP32[($6_1 + 36 | 0) >> 2] = 1; + } + HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$7 : { + if (HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$7 + } + HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$9 + } + $2702(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) | 0; + break label$8; + } + $2703(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0); + } + } + label$10 : { + if (!(HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$10 + } + $2548(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + } + $97_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $97_1 | 0; + } + + function $2702($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $24_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $2628(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 5 | 0) | 0 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $24_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $24_1 | 0; + } + + function $2703($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $68_1 = 0, $43_1 = 0, $12_1 = 0, $30_1 = 0, $69$hi = 0, $70$hi = 0, $27_1 = 0, $71$hi = 0, $72$hi = 0, $73$hi = 0, $74$hi = 0, $75$hi = 0, $28_1 = 0, $76$hi = 0, $77$hi = 0, $78$hi = 0, $50_1 = 0, $73_1 = 0, $222_1 = 0, $61_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $12_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) >= (0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 5 | 0) | 0; + label$4 : { + label$5 : while (1) { + if ($2628(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + continue label$5; + }; + } + $30_1 = 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = $30_1; + label$6 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) > ($30_1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + -32 | 0; + $2531(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + $43_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $68_1 = 0; + i64toi32_i32$1 = $43_1; + HEAP32[i64toi32_i32$1 >> 2] = $68_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $68_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $43_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $68_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $43_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $68_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $50_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $69$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $70$hi = i64toi32_i32$0; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$0 = $70$hi; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $70$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $27_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $27_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $71$hi = i64toi32_i32$1; + i64toi32_i32$1 = 16; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $71$hi; + i64toi32_i32$0 = $27_1; + i64toi32_i32$2 = $72$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $73_1 = i64toi32_i32$4; + $73$hi = i64toi32_i32$5; + i64toi32_i32$0 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $74$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $75$hi = i64toi32_i32$5; + i64toi32_i32$5 = $74$hi; + i64toi32_i32$5 = $75$hi; + i64toi32_i32$5 = $74$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$3 = 31; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $28_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $28_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $76$hi = i64toi32_i32$0; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$5 = $73_1; + i64toi32_i32$1 = $76$hi; + i64toi32_i32$3 = $28_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $77$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $78$hi = i64toi32_i32$4; + i64toi32_i32$4 = $77$hi; + i64toi32_i32$4 = $78$hi; + $222_1 = i64toi32_i32$5; + i64toi32_i32$4 = $77$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$5 = $78$hi; + i64toi32_i32$3 = $222_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $61_1 = $2528($50_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = $61_1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + -1 | 0; + continue label$1; + } + break label$1; + }; + global$0 = $4_1 + 32 | 0; + return; + } + + function $2704($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $34$hi = 0, $31_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $29_1 = 0, $34_1 = 0, $108$hi = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = -1; + break label$1; + } + $29_1 = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (($2535((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0 | 0, $5_1 + 8 | 0 | 0) | 0) & 255 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = $29_1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $34_1 = i64toi32_i32$0; + $34$hi = i64toi32_i32$1; + $31_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = $31_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $108$hi = i64toi32_i32$0; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$0 = $108$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$3 = $34_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $31_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2705($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, $24_1 = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $5_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $24_1 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[i64toi32_i32$1 >> 2] = $24_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $24_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $24_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $24_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + $2706(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $2706($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $61$hi = 0, $31_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $28_1 = 0, $61_1 = 0, $136$hi = 0, $42_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = ((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0) + (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 0 >= (HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + break label$1; + } + $28_1 = ($2535(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $3_1 + 16 | 0 | 0) | 0) & 255 | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + $28_1 | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $61_1 = i64toi32_i32$0; + $61$hi = i64toi32_i32$1; + $31_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $31_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $136$hi = i64toi32_i32$0; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$0 = $136$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$3 = $61_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $31_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$5; + label$3 : { + label$4 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$4 + } + $42_1 = $2534(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = $42_1; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 1 | 0; + break label$3; + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = ((HEAPU8[(HEAP32[($3_1 + 24 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) >> 1 | 0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = 1; + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $2707($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $9_1 = 0, $22_1 = 0, $86_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(((HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) + 8 | 0) | 0) >>> 0 <= (HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $22_1 = 0; + break label$1; + } + $22_1 = $2511((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) + 8 | 0) + (HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0) | 0; + } + label$3 : { + if (!((0 | 0) == ($22_1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = (HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) | 0) | 0; + $9_1 = 0; + HEAP8[i64toi32_i32$1 >> 0] = $9_1; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $9_1 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $9_1 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $9_1 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + label$4 : { + label$5 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + $2711(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, 139 | 0); + break label$4; + } + label$6 : { + label$7 : { + if (HEAP32[((HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) { + break label$7 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2713(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $2711(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0, 140 | 0); + break label$6; + } + i64toi32_i32$0 = 0; + $86_1 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[$6_1 >> 2] = $86_1; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $6_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $86_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $2711(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $6_1 | 0, 141 | 0); + } + } + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2708($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $29_1 = 0, $45_1 = 0, $49_1 = 0, $84_1 = 0, $96_1 = 0, $65_1 = 0, $108_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : while (1) { + if (!(((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : while (1) { + $29_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $29_1 + 1 | 0; + if (!(((HEAPU8[$29_1 >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$6 + } + continue label$7; + }; + } + label$8 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($5_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + continue label$5; + }; + } + $45_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $45_1 + 1 | 0; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = $45_1; + $49_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $49_1 + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAPU8[$49_1 >> 0] | 0) & 255 | 0; + label$9 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) & 128 | 0)) { + break label$9 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -1 | 0; + $65_1 = $2534(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + $65_1 | 0; + } + continue label$3; + }; + } + label$10 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$11 : while (1) { + $84_1 = 0; + label$12 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$12 + } + $84_1 = ((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0); + } + label$13 : { + if (!($84_1 & 1 | 0)) { + break label$13 + } + label$14 : { + label$15 : while (1) { + $96_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $96_1 + 1 | 0; + if (!(((HEAPU8[$96_1 >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$14 + } + continue label$15; + }; + } + continue label$11; + } + break label$11; + }; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) - (HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) | 0; + } + $108_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $108_1 | 0; + } + + function $2709($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + label$1 : { + if (HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + $2639(HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2708($7_1 + 4 | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[$7_1 >> 2] | 0)) { + break label$4 + } + $2510(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$7_1 >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $7_1 + 32 | 0; + return; + } + + function $2710($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $22_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + label$1 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $3288((HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0) | 0; + $22_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($22_1 + 4 | 0) >> 2] = (HEAP32[($22_1 + 4 | 0) >> 2] | 0) + (HEAP32[$6_1 >> 2] | 0) | 0; + } + global$0 = $6_1 + 16 | 0; + return; + } + + function $2711($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $29_1 = 0, $114$hi = 0, $115$hi = 0, $24_1 = 0, $116$hi = 0, $117$hi = 0, $118$hi = 0, $119$hi = 0, $120$hi = 0, $121$hi = 0, $96_1 = 0, $63_1 = 0, $67_1 = 0, $299_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < ((HEAP32[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + $29_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + break label$1; + } + $29_1 = (HEAP32[((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + } + HEAP32[($6_1 + 16 | 0) >> 2] = $29_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + label$3 : { + if ((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 2 | 0) { + break label$3 + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + label$4 : { + label$5 : while (1) { + FUNCTION_TABLE[HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 44 | 0) >> 2] | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0); + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) - (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0; + $2531(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + label$6 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + $63_1 = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + $67_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $114$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $115$hi = i64toi32_i32$0; + i64toi32_i32$0 = $114$hi; + i64toi32_i32$0 = $115$hi; + i64toi32_i32$0 = $114$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $115$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $24_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $24_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $116$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $117$hi = i64toi32_i32$1; + i64toi32_i32$1 = $116$hi; + i64toi32_i32$1 = $117$hi; + i64toi32_i32$1 = $116$hi; + i64toi32_i32$0 = $24_1; + i64toi32_i32$2 = $117$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $118$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $119$hi = i64toi32_i32$5; + i64toi32_i32$5 = $118$hi; + i64toi32_i32$5 = $119$hi; + i64toi32_i32$5 = $118$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $120$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $121$hi = i64toi32_i32$4; + i64toi32_i32$4 = $120$hi; + i64toi32_i32$4 = $121$hi; + $299_1 = i64toi32_i32$1; + i64toi32_i32$4 = $120$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $121$hi; + i64toi32_i32$3 = $299_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2629($67_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == ($63_1 | 0) & 1 | 0)) { + break label$7 + } + break label$4; + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < ((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 4 | 0 | 0) & 1 | 0)) { + break label$9 + } + $96_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + break label$8; + } + $96_1 = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 4 | 0; + } + HEAP32[($6_1 + 16 | 0) >> 2] = $96_1; + label$10 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + } + continue label$5; + }; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2712($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $16_1 = 0, $25_1 = 0, $62_1 = 0, $75_1 = 0, $122_1 = 0, $146_1 = 0, $192_1 = 0, $24_1 = 0, $44_1 = 0, i64toi32_i32$0 = 0, $60_1 = 0, $145_1 = 0, $165_1 = 0, $171_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $16_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $16_1; + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + $24_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $25_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $25_1 + 1 | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAPU8[($24_1 + $25_1 | 0) >> 0] | 0) & 255 | 0; + label$3 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0) & 128 | 0)) { + break label$3 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + -1 | 0; + $44_1 = $2534((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, $6_1 + 16 | 0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $44_1 | 0; + } + label$4 : { + label$5 : { + if (!($2713(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + i64toi32_i32$0 = 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = 1; + $60_1 = $2519((HEAP32[(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, 1 | 0, i64toi32_i32$0 | 0) | 0; + $62_1 = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($62_1 + 4 | 0) >> 2] = (HEAP32[($62_1 + 4 | 0) >> 2] | 0) + $60_1 | 0; + break label$4; + } + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + } + label$6 : while (1) { + label$7 : while (1) { + $75_1 = 0; + label$8 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $75_1 = ((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (1 | 0); + } + label$9 : { + if (!($75_1 & 1 | 0)) { + break label$9 + } + label$10 : { + label$11 : while (1) { + if (!(((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$10 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + label$12 : { + if (!(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$12 + } + $3288((HEAP32[(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) - (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0 | 0) | 0; + $122_1 = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($122_1 + 4 | 0) >> 2] = (HEAP32[($122_1 + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) - (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) | 0; + } + label$13 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + label$14 : { + label$15 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = 2; + break label$14; + } + $145_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $146_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $146_1 + 1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAPU8[($145_1 + $146_1 | 0) >> 0] | 0) & 255 | 0; + label$16 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0) & 128 | 0)) { + break label$16 + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + -1 | 0; + $165_1 = $2534((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 24 | 0) >> 2] | 0) | 0 | 0, $6_1 + 12 | 0 | 0) | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + $165_1 | 0; + } + $171_1 = $2713(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = $171_1; + label$17 : { + if (!(HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0)) { + break label$17 + } + $3288((HEAP32[(HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) - (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0 | 0) | 0; + $192_1 = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($192_1 + 4 | 0) >> 2] = (HEAP32[($192_1 + 4 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) - (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0) | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + } + } + } + if ((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$6 + } + break label$6; + }; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2713($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[(((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2714($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, $60_1 = 0, $29_1 = 0, i64toi32_i32$0 = 0, $58_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $29_1 = $2534((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0 | 0, $6_1 + 4 | 0 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + $29_1 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 2 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + label$4 : { + if (!($2713(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + i64toi32_i32$1 = ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 2 | 0) - (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $58_1 = $2519((HEAP32[(HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $60_1 = HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($60_1 + 4 | 0) >> 2] = (HEAP32[($60_1 + 4 | 0) >> 2] | 0) + $58_1 | 0; + HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + } + continue label$3; + }; + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2715($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$2 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2716($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $31$hi = 0, $32$hi = 0, $28_1 = 0, $31_1 = 0, $85_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $31_1 = i64toi32_i32$0; + $31$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$0; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $32$hi; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$0 = $32$hi; + $85_1 = i64toi32_i32$1; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$2 = $31_1; + i64toi32_i32$1 = $32$hi; + if (!(((i64toi32_i32$2 | 0) == ($85_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$1; + } + $28_1 = 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $28_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $28_1; + } + return HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0; + } + + function $2717($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $68$hi = 0, $69$hi = 0, $62_1 = 0, $68_1 = 0, $128_1 = 0, $65_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $68_1 = i64toi32_i32$0; + $68$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $69$hi = i64toi32_i32$0; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$0 = $69$hi; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$0 = $69$hi; + $128_1 = i64toi32_i32$1; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$2 = $68_1; + i64toi32_i32$1 = $69$hi; + i64toi32_i32$3 = $128_1; + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 20 | 0; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2640(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + break label$1; + } + $62_1 = 0; + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = $62_1; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = $62_1; + } + $65_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $65_1 | 0; + } + + function $2718($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + return HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function $2719($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + return HEAP32[((HEAP32[((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0; + } + + function $2720($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $11_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + $11_1 = $2721(HEAP32[((HEAP32[$4_1 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $11_1 | 0; + } + + function $2721($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $19$hi = 0, $22$hi = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $50_1 = 0, i64toi32_i32$3 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2745(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = 0; + $19$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $50_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $50_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $22$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $22$hi; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $22$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $11_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $12_1 = 0 + } else { + $12_1 = 1 + } + $13_1 = $12_1; + } else { + $13_1 = 0 + } + $11_1 = $13_1; + } + label$2 : { + if (!($11_1 & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 267; + } + } + $16_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $16_1 | 0; + } + + function $2722($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $13_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + $13_1 = $2723(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 32 | 0; + return $13_1 | 0; + } + + function $2723($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $59$hi = 0, $34_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $59_1 = 0, $138$hi = 0, $185_1 = 0, $55_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2745(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$2 = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $59_1 = i64toi32_i32$0; + $59$hi = i64toi32_i32$1; + $34_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = $34_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $138$hi = i64toi32_i32$0; + i64toi32_i32$0 = $59$hi; + i64toi32_i32$0 = $138$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$3 = $59_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $34_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + break label$2; + } + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $185_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $185_1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + break label$6; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 25; + } + } + } + $55_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $55_1 | 0; + } + + function $2724($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $18_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $18_1 = $2591(HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 8 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $7_1 + 32 | 0; + return $18_1 | 0; + } + + function $2725($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $7_1 = $2559(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $2726($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $9_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $9_1 = $2727(HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $9_1 | 0; + } + + function $2727($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2728($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, $22_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) & 8 | 0)) { + break label$2 + } + $13_1 = $2729(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$4_1 >> 2] = $13_1; + if (!((0 | 0) == ($13_1 | 0) & 1 | 0)) { + break label$1 + } + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + } + $22_1 = HEAP32[$4_1 >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $22_1 | 0; + } + + function $2729($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $224$hi = 0, $225$hi = 0, $4_1 = 0, $37_1 = 0, $46_1 = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $141_1 = 0, $229$hi = 0, $230$hi = 0, $27_1 = 0, $232$hi = 0, $233$hi = 0, $215_1 = 0, $26_1 = 0, $224_1 = 0, $472_1 = 0, $165_1 = 0, $219_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 64 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($3_1 + 60 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2559(HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) == ($4_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 32 | 0) >> 2] = Math_imul(HEAP32[($3_1 + 48 | 0) >> 2] | 0, 24); + HEAP32[($3_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + $26_1 = $2468($3_1 + 56 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 104 | 0) >> 2] = $26_1; + } + HEAP32[($3_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $37_1 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $37_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $37_1; + label$3 : while (1) { + $46_1 = 0; + label$4 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $46_1 = (HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$5 : { + if (!($46_1 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2741(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, $3_1 + 20 | 0 | 0, $3_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$6 + } + $2641(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 24 | 0) >> 2] | 0, 24) | 0 | 0) | 0; + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + label$7 : { + if (HEAP32[($3_1 + 56 | 0) >> 2] | 0) { + break label$7 + } + label$8 : while (1) { + HEAP32[($3_1 + 8 | 0) >> 2] = -1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + label$11 : { + if ((HEAPU8[(((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 24 | 0) >> 2] | 0, 24) | 0) + 13 | 0) >> 0] | 0) & 255 | 0) { + break label$11 + } + label$12 : { + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$12 + } + i64toi32_i32$2 = (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 24 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $224_1 = i64toi32_i32$1; + $224$hi = i64toi32_i32$0; + i64toi32_i32$2 = (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $225$hi = i64toi32_i32$1; + i64toi32_i32$1 = $224$hi; + i64toi32_i32$1 = $225$hi; + i64toi32_i32$1 = $224$hi; + i64toi32_i32$1 = $225$hi; + $472_1 = i64toi32_i32$0; + i64toi32_i32$1 = $224$hi; + i64toi32_i32$2 = $224_1; + i64toi32_i32$0 = $225$hi; + i64toi32_i32$3 = $472_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $23_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $24_1 = 0 + } else { + $24_1 = 1 + } + $25_1 = $24_1; + } else { + $25_1 = 0 + } + $23_1 = $25_1; + } + if (!($23_1 & 1 | 0)) { + break label$11 + } + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + label$13 : { + label$14 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$14 + } + break label$13; + } + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0; + label$15 : { + if (!((HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + label$16 : { + label$17 : { + if (!(HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0)) { + break label$17 + } + $141_1 = (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) << 1 | 0; + break label$16; + } + $141_1 = 32; + } + HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 108 | 0) >> 2] = $141_1; + i64toi32_i32$2 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0, Math_imul((HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0) << 2 | 0, 3) | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$18 : { + label$19 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 116 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + break label$18; + } + HEAP32[($3_1 + 56 | 0) >> 2] = 7; + break label$13; + } + } + $165_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + (Math_imul((HEAP32[($3_1 + 28 | 0) >> 2] | 0) - 1 | 0, 3) << 2 | 0) | 0; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $229$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $230$hi = i64toi32_i32$1; + i64toi32_i32$1 = $229$hi; + i64toi32_i32$1 = $230$hi; + i64toi32_i32$1 = $229$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $230$hi; + i64toi32_i32$0 = 32; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $27_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $27_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $27_1; + i64toi32_i32$1 = (HEAP32[($3_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $232$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $233$hi = i64toi32_i32$3; + i64toi32_i32$3 = $232$hi; + i64toi32_i32$3 = $233$hi; + i64toi32_i32$3 = $232$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $233$hi; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = i64toi32_i32$1 & i64toi32_i32$0 | 0; + label$20 : { + label$21 : { + if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) < ($165_1 | 0) & 1 | 0) { + break label$21 + } + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) >= (HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + } + HEAP32[($3_1 + 56 | 0) >> 2] = 267; + break label$13; + } + $2642((HEAP32[($3_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 24) | 0 | 0) | 0; + continue label$8; + } + break label$8; + }; + } + HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 112 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + $215_1 = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + HEAP32[($215_1 + 60 | 0) >> 2] = (HEAP32[($215_1 + 60 | 0) >> 2] | 0) & -9 | 0; + } + $219_1 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + global$0 = $3_1 + 64 | 0; + return $219_1 | 0; + } + + function $2730($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $16_1 = 0, $72_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) & 8 | 0)) { + break label$2 + } + $16_1 = $2729(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7_1 + 4 | 0) >> 2] = $16_1; + if (!((0 | 0) == ($16_1 | 0) & 1 | 0)) { + break label$1 + } + } + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($7_1 + 4 | 0) >> 2] = 25; + break label$3; + } + HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + (Math_imul(HEAP32[($7_1 + 24 | 0) >> 2] | 0, 3) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($7_1 + 24 | 0) >> 2] | 0, 3) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($7_1 + 24 | 0) >> 2] | 0, 3) + 2 | 0) << 2 | 0) | 0) >> 2] | 0; + } + } + $72_1 = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $72_1 | 0; + } + + function $2731($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $2440(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + global$0 = $3_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2732($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $20_1 = 0, $32_1 = 0, $39_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ($2437(HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$2 + } + } + $20_1 = 0; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = $20_1; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = $20_1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2438(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$4 + } + $32_1 = $319(HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = $32_1; + $39_1 = $315(HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = $39_1; + } + } + $41_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $41_1 | 0; + } + + function $2733($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $61_1 = 0, $111_1 = 0, $122_1 = 0, $139_1 = 0, $218_1 = 0, $164_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = 0; + label$1 : { + if (!((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) & 4 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$3 + } + i64toi32_i32$0 = $2440(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $218_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $218_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2734(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if ((HEAPU8[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + HEAP32[((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = -1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + break label$4; + } + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$9 : while (1) { + $61_1 = 0; + label$10 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$10 + } + $61_1 = (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!($61_1 & 1 | 0)) { + break label$11 + } + label$12 : { + if ((HEAPU8[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2732(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0, $5_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$13 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2591(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 8 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 142 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + } + } + $111_1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + HEAP32[($111_1 + 60 | 0) >> 2] = (HEAP32[($111_1 + 60 | 0) >> 2] | 0) & -5 | 0; + } + label$14 : { + label$15 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$15 + } + $122_1 = 0; + HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] = $122_1; + HEAP32[$5_1 >> 2] = $122_1; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $139_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + HEAP32[$139_1 >> 2] = (HEAP32[$139_1 >> 2] | 0) + (HEAP32[((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + HEAP32[$5_1 >> 2] = (HEAP32[$5_1 >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + break label$14; + } + label$18 : { + label$19 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$18; + } + HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($5_1 + 36 | 0) >> 2] = 25; + } + } + $164_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $164_1 | 0; + } + + function $2734($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $27_1 = 0, $10_1 = 0, i64toi32_i32$1 = 0, $18_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $10_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2523(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 8 | 0, $5_1 + 20 | 0 | 0, $10_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + $18_1 = 1; + HEAP32[($5_1 + 12 | 0) >> 2] = $18_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $18_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + label$2 : { + if (!((100 | 0) == ($287(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + $27_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $311(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $27_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $315(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $27_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(($27_1 | 0) == ($2754(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$4 + } + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 267; + } + } + $48_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $48_1 | 0; + } + + function $2735($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $13_1 = 0; + $8_1 = global$0 - 32 | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 4 | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) & 1 | 0) { + break label$1 + } + $13_1 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + HEAP32[$13_1 >> 2] = (HEAP32[$13_1 >> 2] | 0) + 1 | 0; + } + return 0 | 0; + } + + function $2736($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $36_1 = 0, $68$hi = 0, $65_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2410(HEAP32[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($6_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = 2147483647; + $68$hi = i64toi32_i32$0; + i64toi32_i32$0 = -2147483648; + HEAP32[((HEAP32[$6_1 >> 2] | 0) + 24 | 0) >> 2] = 1; + i64toi32_i32$1 = HEAP32[$6_1 >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$1 = HEAP32[$6_1 >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[$6_1 >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2737(HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[$6_1 >> 2] | 0) + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($6_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2420(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : while (1) { + $36_1 = 0; + label$4 : { + if (HEAP32[($6_1 + 4 | 0) >> 2] | 0) { + break label$4 + } + $36_1 = ((HEAP32[((HEAP32[$6_1 >> 2] | 0) + 60 | 0) >> 2] | 0) & 1 | 0 | 0) == (0 | 0); + } + label$5 : { + if (!($36_1 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0](53760, HEAP32[$6_1 >> 2] | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(HEAP32[($6_1 + 4 | 0) >> 2] | 0)) { + break label$6 + } + label$7 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 4 | 0) >> 2] = 0; + } + break label$5; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2425(HEAP32[$6_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + continue label$3; + } + break label$3; + }; + } + $2412(HEAP32[$6_1 >> 2] | 0 | 0) | 0; + $65_1 = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $65_1 | 0; + } + + function $2737($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $172_1 = 0, $12_1 = 0, $84_1 = 0, $110_1 = 0, $120_1 = 0, $232$hi = 0, $25_1 = 0, $31_1 = 0, $37_1 = 0, $229_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + $232$hi = i64toi32_i32$0; + $12_1 = 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $12_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $12_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + i64toi32_i32$0 = $232$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2468($5_1 + 64 | 0 | 0, 24 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = 0; + $25_1 = $2468($5_1 + 64 | 0 | 0, 4 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] = $25_1; + } + label$2 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + $31_1 = $2468($5_1 + 64 | 0 | 0, 40 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] = $31_1; + } + label$3 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$3 + } + i64toi32_i32$0 = 0; + $37_1 = $2468($5_1 + 64 | 0 | 0, 20 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] = $37_1; + } + label$4 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = (((HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) << 2 | 0) + 8 | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2468($5_1 + 64 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $3288(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + } + HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + } + label$7 : { + label$8 : { + if (!(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + label$9 : while (1) { + $84_1 = 0; + label$10 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$10 + } + $84_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!($84_1 & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0; + label$12 : while (1) { + $110_1 = 0; + label$13 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + $110_1 = (HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$14 : { + if (!($110_1 & 1 | 0)) { + break label$14 + } + $120_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2590($5_1 + 48 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $3303(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0, $120_1 | 0, $120_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$12; + } + break label$12; + }; + label$15 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$15 + } + HEAP8[(((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) >> 0] = HEAPU8[(((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) >> 0] | 0; + HEAP8[((((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) + 1 | 0) >> 0] = HEAPU8[((((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) + 1 | 0) >> 0] | 0; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + break label$7; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2468($5_1 + 64 | 0 | 0, 36 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + } + label$16 : { + label$17 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$17 + } + $172_1 = 1; + HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] = $172_1; + HEAP32[(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $172_1; + HEAP32[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == ($172_1 | 0) & 1 | 0)) { + break label$19 + } + if (!((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$19 + } + if ((HEAPU8[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) { + break label$19 + } + HEAP32[(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] = 4; + HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = 120; + break label$18; + } + HEAP32[(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] = 9; + HEAP32[((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = 121; + } + break label$16; + } + $2426(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + $2544(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + $229_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + global$0 = $5_1 + 80 | 0; + return $229_1 | 0; + } + + function $2738($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $46_1 = 0, i64toi32_i32$0 = 0, $80_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + label$4 : { + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0); + } + break label$5; + } + $46_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $46_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2468($5_1 + 4 | 0 | 0, 16 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == ($46_1 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + FUNCTION_TABLE[HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 20 | 0) >> 2] | 0); + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + break label$4; + } + HEAP32[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $80_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $80_1 | 0; + } + + function $2739($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $37_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + label$4 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$5 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$5 + } + $37_1 = 0; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = $37_1; + HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = $37_1; + } + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2740($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $17_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2741(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, $7_1 + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[$7_1 >> 2] | 0) { + break label$1 + } + $17_1 = 0; + HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($7_1 + 4 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] = $17_1; + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = $17_1; + $2742(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + } + $29_1 = HEAP32[$7_1 >> 2] | 0; + global$0 = $7_1 + 32 | 0; + return $29_1 | 0; + } + + function $2741($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $46_1 = 0, i64toi32_i32$2 = 0, $89_1 = 0, $107_1 = 0, i64toi32_i32$1 = 0, $139_1 = 0, $141_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($6_1 + 60 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) & 64 | 0)) { + break label$1 + } + label$2 : { + if (!(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2747(HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 40 | 0) >> 2] = 7; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + label$4 : while (1) { + $46_1 = 0; + label$5 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $46_1 = (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$6 : { + if (!($46_1 & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2732(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, $6_1 + 20 | 0 | 0, $6_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$7 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2748(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + $42(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + label$8 : { + if (!((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $2749(HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0); + } + } + $89_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + HEAP32[($89_1 + 60 | 0) >> 2] = (HEAP32[($89_1 + 60 | 0) >> 2] | 0) & -65 | 0; + } + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + label$11 : { + label$12 : { + if (HEAP32[($6_1 + 56 | 0) >> 2] | 0) { + break label$12 + } + $107_1 = 0; + break label$11; + } + $107_1 = HEAP32[(((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 24 | 0) + (((HEAP32[($6_1 + 56 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($6_1 + 12 | 0) >> 2] = $107_1; + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = (HEAP32[(((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 24 | 0) + ((HEAP32[($6_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) - (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($6_1 + 52 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + break label$9; + } + $139_1 = $2716(HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 48 | 0) >> 2] | 0) >> 2] = $139_1; + } + $141_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + global$0 = $6_1 + 64 | 0; + return $141_1 | 0; + } + + function $2742($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $16_1 = 0, $26_1 = 0, $37_1 = 0, $42_1 = 0, $51_1 = 0, $57_1 = 0, $25_1 = 0, $41_1 = 0, $50_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + $16_1 = -1; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = $16_1; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = $16_1; + break label$1; + } + $25_1 = $2534(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0) | 0; + $26_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$26_1 >> 2] = (HEAP32[$26_1 >> 2] | 0) + $25_1 | 0; + label$3 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + $37_1 = $6_1 + 12 | 0; + $41_1 = $2534(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, $37_1 | 0) | 0; + $42_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$42_1 >> 2] = (HEAP32[$42_1 >> 2] | 0) + $41_1 | 0; + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = 0; + $50_1 = $2534(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, $37_1 | 0) | 0; + $51_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$51_1 >> 2] = (HEAP32[$51_1 >> 2] | 0) + $50_1 | 0; + } + $57_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[$57_1 >> 2] = (HEAP32[$57_1 >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) - 2 | 0) | 0; + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2743($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $31_1 = 0, $118_1 = 0, $117_1 = 0, $123_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$6 + } + $31_1 = 0; + break label$5; + } + $31_1 = HEAP32[(((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 24 | 0) + (((HEAP32[($6_1 + 40 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($6_1 + 8 | 0) >> 2] = $31_1; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[(((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 24 | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) - (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0; + break label$3; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2717(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $6_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$7 + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = 0; + $2744(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + } + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2741(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, $6_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$8 + } + HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0; + label$9 : { + label$10 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = -1; + break label$9; + } + label$11 : { + label$12 : { + if (!(((HEAPU8[(HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$12 + } + $117_1 = ($2534((HEAP32[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + $118_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[$118_1 >> 2] = (HEAP32[$118_1 >> 2] | 0) + $117_1 | 0; + break label$11; + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = 0; + } + } + } + } + $123_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $123_1 | 0; + } + + function $2744($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $35_1 = 0, $41_1 = 0, $72_1 = 0, $83_1 = 0, $34_1 = 0, $71_1 = 0, $82_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = -1; + break label$3; + } + $34_1 = $2534(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0; + $35_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[$35_1 >> 2] = (HEAP32[$35_1 >> 2] | 0) + $34_1 | 0; + $41_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[$41_1 >> 2] = (HEAP32[$41_1 >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) - 2 | 0) | 0; + } + break label$1; + } + label$5 : while (1) { + label$6 : { + if (!((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = -1; + break label$1; + } + label$7 : { + label$8 : { + if (!(((HEAPU8[(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + break label$7; + } + $71_1 = $2534(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, $5_1 + 4 | 0 | 0) | 0; + $72_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[$72_1 >> 2] = (HEAP32[$72_1 >> 2] | 0) + $71_1 | 0; + continue label$5; + } + break label$5; + }; + $82_1 = ($2534((HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0) + 1 | 0; + $83_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[$83_1 >> 2] = (HEAP32[$83_1 >> 2] | 0) + $82_1 | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2745($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2746(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + } + $18_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $18_1 | 0; + } + + function $2746($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $21_1 = 0, $41_1 = 0, $72$hi = 0, $29_1 = 0, $61_1 = 0, $69_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + $72$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $3289(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 3 | 0 | 0) | 0; + i64toi32_i32$0 = $72$hi; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2528(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + if (!(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$1 + } + $21_1 = 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $21_1; + $29_1 = ($2535((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0) & 255 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + $29_1 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $21_1; + label$2 : while (1) { + $41_1 = 0; + label$3 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $41_1 = (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($41_1 & 1 | 0)) { + break label$4 + } + $61_1 = ($2535((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0 | 0) | 0) & 255 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + $61_1 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + } + $2531(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $69_1 = $2491(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 32 | 0; + return $69_1 | 0; + } + + function $2747($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $76$hi = 0, $77$hi = 0, $76_1 = 0, $206_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) << 4 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $3289(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) << 4 | 0 | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!(HEAP32[($4_1 + 24 | 0) >> 2] | 0)) { + break label$5 + } + label$6 : { + if (!(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$6 + } + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $76_1 = i64toi32_i32$0; + $76$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $77$hi = i64toi32_i32$0; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $77$hi; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $77$hi; + $206_1 = i64toi32_i32$1; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$2 = $76_1; + i64toi32_i32$1 = $77$hi; + if (((i64toi32_i32$2 | 0) != ($206_1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0) { + break label$6 + } + if (!(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$5 + } + } + HEAP32[(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] = 1; + break label$4; + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + $72_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $72_1 | 0; + } + + function $2748($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $81$hi = 0, $82$hi = 0, $19_1 = 0, $83$hi = 0, $84$hi = 0, $9_1 = 0, $78_1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + $9_1 = 0; + HEAP32[($8_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $81$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $82$hi = i64toi32_i32$0; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$0 = $82$hi; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $82$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $19_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $83$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $84$hi = i64toi32_i32$1; + i64toi32_i32$1 = $83$hi; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$1 = $83$hi; + i64toi32_i32$0 = $19_1; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$0 = $8_1; + HEAP32[($8_1 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($8_1 + 28 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($8_1 + 36 | 0) >> 2] = $9_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[((HEAP32[($8_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$3 : { + label$4 : { + label$5 : { + label$6 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if ((0 | 0) == ($2750(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0) { + break label$5 + } + } + if (!(HEAP32[(((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0)) { + break label$4 + } + } + HEAP32[(((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] = 0; + break label$3; + } + HEAP32[(((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 36 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] = 1; + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $78_1 = $2591(HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, $8_1 + 16 | 0 | 0, 143 | 0) | 0; + global$0 = $8_1 + 64 | 0; + return $78_1 | 0; + } + + function $2749($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $2752(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $2750($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[(((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[$4_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2751($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $23_1 = 0, $110$hi = 0, $111$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $107_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) > (32768 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($8_1 + 44 | 0) >> 2] = 32768; + } + label$2 : { + if ((HEAP32[($8_1 + 52 | 0) >> 2] | 0) & 1 | 0) { + break label$2 + } + $23_1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = $23_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $110$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $111$hi = i64toi32_i32$1; + i64toi32_i32$1 = $110$hi; + i64toi32_i32$1 = $111$hi; + i64toi32_i32$1 = $110$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $111$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $23_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$5; + } + HEAP32[($8_1 + 24 | 0) >> 2] = 0; + label$3 : { + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + label$7 : { + if (HEAP32[(((HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] | 0) { + break label$7 + } + break label$6; + } + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 20 | 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $3303(HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : { + if ((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$11 + } + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAPU8[(HEAP32[($8_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0)) { + break label$10 + } + } + if ($3228(HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) | 0) { + break label$10 + } + i64toi32_i32$1 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2643((HEAP32[((HEAP32[((HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($8_1 + 12 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($8_1 + 60 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + break label$3; + } + break label$8; + } + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$9; + }; + } + } + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($8_1 + 60 | 0) >> 2] = 0; + } + $107_1 = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $107_1 | 0; + } + + function $2752($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $11_1 = 0, $46_1 = 0, $112_1 = 0, $90_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $112_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $112_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + $11_1 = (HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0) + -1 | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($11_1 | 0) { + case 3: + case 8: + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0; + break label$1; + case 1: + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$9 : { + if ($2752(HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0) { + break label$9 + } + $2753(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + break label$2; + case 0: + $46_1 = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $46_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $46_1; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$12 : { + if (!($2752(HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0)) { + break label$12 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + break label$1; + default: + break label$3; + }; + } + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$13 : { + label$14 : { + if ((0 | 0) == ($2752(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0 | 0) & 1 | 0) { + break label$14 + } + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + if (!((0 | 0) != ($2752(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0 | 0) & 1 | 0)) { + break label$13 + } + } + $2753(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + $90_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $90_1 | 0; + } + + function $2753($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[((HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $2753(HEAP32[(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2754($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $31_1 = 0, $44_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) >= (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + $31_1 = $2534((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + $31_1 | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0; + } + $44_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $44_1 | 0; + } + + function $2755($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $11_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $11_1 = $78(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $11_1; + global$0 = $5_1 + 16 | 0; + return; + } + + function $2756($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0, $11_1 = 0, $13_1 = 0, $15_1 = 0, $27_1 = 0, $29_1 = 0, $45_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + $9_1 = HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + $11_1 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $13_1 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $15_1 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $15_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $13_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $11_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2512($9_1 | 0, 0 | 0, 54049 | 0, $3_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$1 + } + if (!(HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$1 + } + $27_1 = HEAP32[(HEAP32[($3_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + $29_1 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = $29_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2512($27_1 | 0, 0 | 0, 54099 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2485(HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2487(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, 51927 | 0, 0 | 0, 4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + $45_1 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $45_1 | 0; + } + + function $2757($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $46_1 = 0, $36_1 = 0, $56_1 = 0, $135$hi = 0, $108_1 = 0, $112_1 = 0, $138$hi = 0, $139$hi = 0, $245_1 = 0, $135_1 = 0, $378$hi = 0, $127_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 64 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 60 | 0) >> 2] = $0_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 44 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 40 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $3_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2756(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2745(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2523(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, 10 | 0, $3_1 + 40 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : while (1) { + $36_1 = 0; + label$4 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + $36_1 = (100 | 0) == ($287(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0 | 0); + } + label$5 : { + if (!($36_1 & 1 | 0)) { + break label$5 + } + $46_1 = 0; + i64toi32_i32$0 = $318(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, $46_1 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $245_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $245_1; + HEAP32[($3_1 + 12 | 0) >> 2] = i64toi32_i32$1; + $2639($3_1 + 48 | 0 | 0); + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2763(HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $46_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 28 | 0) >> 2] = $46_1; + label$6 : while (1) { + $56_1 = 0; + label$7 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$7 + } + $56_1 = (HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!($56_1 & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 32 | 0) >> 2] = 0; + label$9 : { + if ((HEAPU8[((HEAP32[((HEAP32[($3_1 + 44 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[($3_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$9 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $319(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $315(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2591(HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$3_1 >> 2] | 0 | 0, $3_1 + 24 | 0 | 0, 116 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$1 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2520($3_1 + 20 | 0 | 0, $3_1 + 48 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$1 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $135_1 = i64toi32_i32$1; + $135$hi = i64toi32_i32$0; + $108_1 = (HEAP32[((HEAP32[($3_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$2 = $108_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $378$hi = i64toi32_i32$1; + i64toi32_i32$1 = $135$hi; + i64toi32_i32$1 = $378$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $135$hi; + i64toi32_i32$3 = $135_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $108_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($3_1 + 28 | 0) >> 2] = (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + $112_1 = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$1 = $112_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $138$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $139$hi = i64toi32_i32$2; + i64toi32_i32$2 = $138$hi; + i64toi32_i32$2 = $139$hi; + i64toi32_i32$2 = $138$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $139$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $112_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$4; + label$10 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$10 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2765(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0, $3_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + continue label$3; + } + break label$3; + }; + $42(HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $222(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$11 + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + } + label$12 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$12 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2766(HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $127_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + global$0 = $3_1 + 64 | 0; + return $127_1 | 0; + } + + function $2758($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = $2767(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $6_1 | 0; + } + + function $2759($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = $2768(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $8_1 | 0; + } + + function $2760($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, $283_1 = 0, $8_1 = 0, $290$hi = 0, $291$hi = 0, $295$hi = 0, $296$hi = 0, $300$hi = 0, $301$hi = 0, $5_1 = 0, $47_1 = 0, $57_1 = 0, $84_1 = 0, $109_1 = 0, $287$hi = 0, $191_1 = 0, i64toi32_i32$4 = 0, $212_1 = 0, $217_1 = 0, $481_1 = 0, $184_1 = 0, $287_1 = 0, $708$hi = 0, $290_1 = 0, $824_1 = 0, $295_1 = 0, $874_1 = 0, $300_1 = 0, $915_1 = 0, $280_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + $5_1 = 0; + $8_1 = $4_1 + 48 | 0; + HEAP32[($4_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = $5_1; + i64toi32_i32$0 = 0; + $283_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $283_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $283_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $283_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $283_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(Math_imul(HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 12) | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($4_1 + 88 | 0) >> 2] = (HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + $3289(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 3 | 0 | 0) | 0; + $47_1 = 1; + label$3 : { + if (!(HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0)) { + break label$3 + } + $57_1 = 0; + label$4 : { + if (!((HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + $57_1 = (HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0); + } + $47_1 = $57_1; + } + HEAP32[($4_1 + 40 | 0) >> 2] = $47_1 & 1 | 0; + label$5 : { + if (!(HEAP32[($4_1 + 40 | 0) >> 2] | 0)) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2523(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, 10 | 0, $4_1 + 44 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$6 + } + label$7 : { + label$8 : while (1) { + if (!((100 | 0) == ($287(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + $84_1 = 0; + i64toi32_i32$0 = $318(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $84_1 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $481_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $481_1; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($4_1 + 60 | 0) >> 2] = $84_1; + label$9 : { + if (!(HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$9 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2734(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + } + label$10 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$10 + } + if (!((HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2769(($4_1 + 48 | 0) + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + label$11 : while (1) { + $109_1 = 0; + label$12 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$12 + } + $109_1 = (HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + label$13 : { + if (!($109_1 & 1 | 0)) { + break label$13 + } + label$14 : { + label$15 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$15 + } + break label$14; + } + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + label$16 : { + if (!((HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$16 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2769(($4_1 + 48 | 0) + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + } + label$17 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$17 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $319(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $315(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2591(HEAP32[($4_1 + 96 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, $4_1 + 48 | 0 | 0, 144 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + } + label$18 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$18 + } + if (!(HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$18 + } + if (!((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($4_1 + 92 | 0) >> 2] = 267; + } + $184_1 = 2; + i64toi32_i32$1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $287_1 = i64toi32_i32$1; + $287$hi = i64toi32_i32$0; + $191_1 = (HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$2 = $191_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $708$hi = i64toi32_i32$1; + i64toi32_i32$1 = $287$hi; + i64toi32_i32$1 = $708$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $287$hi; + i64toi32_i32$3 = $287_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $191_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + label$19 : { + if (!((HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == ($184_1 | 0) & 1 | 0)) { + break label$19 + } + $2771(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 72 | 0) >> 2] = 0; + } + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + } + break label$11; + }; + $2771(HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 72 | 0) >> 2] = 0; + label$20 : { + if (!(HEAP32[($4_1 + 92 | 0) >> 2] | 0)) { + break label$20 + } + break label$7; + } + continue label$8; + }; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$21 + } + HEAP32[($4_1 + 92 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + } + label$22 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$22 + } + $212_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2745(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, $212_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 20 | 0) >> 2] = $212_1; + label$23 : while (1) { + $217_1 = 0; + label$24 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$24 + } + $217_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + label$25 : { + if (!($217_1 & 1 | 0)) { + break label$25 + } + i64toi32_i32$1 = (HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $290_1 = i64toi32_i32$5; + $290$hi = i64toi32_i32$2; + i64toi32_i32$1 = (HEAP32[($4_1 + 84 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $291$hi = i64toi32_i32$5; + i64toi32_i32$5 = $290$hi; + i64toi32_i32$5 = $291$hi; + i64toi32_i32$5 = $290$hi; + i64toi32_i32$5 = $291$hi; + $824_1 = i64toi32_i32$2; + i64toi32_i32$5 = $290$hi; + i64toi32_i32$1 = $290_1; + i64toi32_i32$2 = $291$hi; + i64toi32_i32$3 = $824_1; + label$26 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($4_1 + 92 | 0) >> 2] = 267; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + } + break label$23; + }; + } + label$27 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$27 + } + if (HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) { + break label$27 + } + i64toi32_i32$1 = 0; + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2772(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, 48407 | 0, $4_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$28 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$28 + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $295_1 = i64toi32_i32$1; + $295$hi = i64toi32_i32$5; + i64toi32_i32$3 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $296$hi = i64toi32_i32$1; + i64toi32_i32$1 = $295$hi; + i64toi32_i32$1 = $296$hi; + i64toi32_i32$1 = $295$hi; + i64toi32_i32$1 = $296$hi; + $874_1 = i64toi32_i32$5; + i64toi32_i32$1 = $295$hi; + i64toi32_i32$3 = $295_1; + i64toi32_i32$5 = $296$hi; + i64toi32_i32$2 = $874_1; + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($4_1 + 92 | 0) >> 2] = 267; + } + } + label$29 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$29 + } + if (!(HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$29 + } + i64toi32_i32$3 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$3; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2772(HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0, 50539 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$30 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$30 + } + i64toi32_i32$2 = $4_1; + i64toi32_i32$3 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $300_1 = i64toi32_i32$3; + $300$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $301$hi = i64toi32_i32$3; + i64toi32_i32$3 = $300$hi; + i64toi32_i32$3 = $301$hi; + i64toi32_i32$3 = $300$hi; + i64toi32_i32$3 = $301$hi; + $915_1 = i64toi32_i32$1; + i64toi32_i32$3 = $300$hi; + i64toi32_i32$2 = $300_1; + i64toi32_i32$1 = $301$hi; + i64toi32_i32$5 = $915_1; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($4_1 + 92 | 0) >> 2] = 267; + } + } + } + label$31 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$31 + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2773(HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + } + $280_1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $280_1 | 0; + } + + function $2761($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $146$hi = 0, $153$hi = 0, $6_1 = 0, $36_1 = 0, $44_1 = 0, $147$hi = 0, $113_1 = 0, $151$hi = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $155$hi = 0, $29_1 = 0, $30_1 = 0, $31_1 = 0, $135_1 = 0, $157$hi = 0, $158$hi = 0, $147_1 = 0, $411$hi = 0, $141_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 44 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2523(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, 2 | 0, $5_1 + 36 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(HEAP32[($5_1 + 32 | 0) >> 2] | 0)) { + break label$3 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + label$4 : { + if (!(($287(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) != (100 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + } + $36_1 = 1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = -1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2763(HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $36_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 24 | 0) >> 2] = $36_1; + label$5 : while (1) { + $44_1 = 0; + label$6 : { + if (HEAP32[($5_1 + 32 | 0) >> 2] | 0) { + break label$6 + } + $44_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + } + label$7 : { + if (!($44_1 & 1 | 0)) { + break label$7 + } + label$8 : { + if ((HEAPU8[((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + label$9 : { + label$10 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $319(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $315(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$9; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + i64toi32_i32$0 = 0; + $146$hi = i64toi32_i32$0; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2591(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 4 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, $5_1 + 8 | 0 | 0, 116 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $147_1 = i64toi32_i32$1; + $147$hi = i64toi32_i32$0; + $113_1 = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0) << 3 | 0) | 0; + i64toi32_i32$2 = $113_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $411$hi = i64toi32_i32$1; + i64toi32_i32$1 = $147$hi; + i64toi32_i32$1 = $411$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $147$hi; + i64toi32_i32$3 = $147_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = $113_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0) << 3 | 0) | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $151$hi = i64toi32_i32$2; + i64toi32_i32$2 = $146$hi; + i64toi32_i32$2 = $151$hi; + i64toi32_i32$2 = $146$hi; + i64toi32_i32$2 = $151$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $146$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$5 | 0)) { + $26_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0) { + $27_1 = 0 + } else { + $27_1 = 1 + } + $28_1 = $27_1; + } else { + $28_1 = 0 + } + $26_1 = $28_1; + } + label$11 : { + if (!($26_1 & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 32 | 0) >> 2] = 267; + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + label$12 : { + label$13 : { + if (HEAP32[($5_1 + 32 | 0) >> 2] | 0) { + break label$13 + } + i64toi32_i32$1 = 0; + $153$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $155$hi = i64toi32_i32$2; + i64toi32_i32$2 = $153$hi; + i64toi32_i32$2 = $155$hi; + i64toi32_i32$2 = $153$hi; + i64toi32_i32$2 = $155$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $153$hi; + i64toi32_i32$5 = 1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $29_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$5 >>> 0) { + $30_1 = 0 + } else { + $30_1 = 1 + } + $31_1 = $30_1; + } else { + $31_1 = 0 + } + $29_1 = $31_1; + } + if (!($29_1 & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 32 | 0) >> 2] = 267; + break label$12; + } + $135_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$5 = $135_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $157$hi = i64toi32_i32$2; + i64toi32_i32$2 = -1; + $158$hi = i64toi32_i32$2; + i64toi32_i32$2 = $157$hi; + i64toi32_i32$2 = $158$hi; + i64toi32_i32$2 = $157$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$3 = $158$hi; + i64toi32_i32$1 = -1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$5 = $135_1; + HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] = i64toi32_i32$4; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (HEAP32[($5_1 + 32 | 0) >> 2] | 0) { + break label$14 + } + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + } + $141_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $141_1 | 0; + } + + function $2762($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $11_1 = 0, i64toi32_i32$1 = 0, $99_1 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 20; + label$1 : { + if (!(HEAP32[((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$1 + } + $11_1 = 0; + HEAP32[$4_1 >> 2] = $11_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2523(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 6 | 0, $4_1 | 0, $11_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + $332(HEAP32[$4_1 >> 2] | 0 | 0, 1 | 0) | 0; + $332(HEAP32[$4_1 >> 2] | 0 | 0, 2 | 0) | 0; + $287(HEAP32[$4_1 >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + i64toi32_i32$0 = $451(HEAP32[(HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $99_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $99_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + } + $27_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $27_1 | 0; + } + + function $2763($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $52$hi = 0, $53$hi = 0, $56$hi = 0, $57$hi = 0, $20_1 = 0, $21_1 = 0, $23_1 = 0, $22_1 = 0, $52_1 = 0, $117_1 = 0, $56_1 = 0, $132_1 = 0, $173_1 = 0, $49_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + $22_1 = $2774(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = $22_1; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $52_1 = i64toi32_i32$0; + $52$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $53$hi = i64toi32_i32$0; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$0 = $53$hi; + $117_1 = i64toi32_i32$1; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$2 = $52_1; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$3 = $117_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $20_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $21_1 = 0 + } else { + $21_1 = 1 + } + $23_1 = $21_1; + } else { + $23_1 = 0 + } + $20_1 = $23_1; + } + label$2 : { + label$3 : { + if ($20_1 & 1 | 0) { + break label$3 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $56_1 = i64toi32_i32$2; + $56$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] | 0; + $57$hi = i64toi32_i32$2; + i64toi32_i32$2 = $56$hi; + i64toi32_i32$2 = $57$hi; + i64toi32_i32$2 = $56$hi; + i64toi32_i32$2 = $57$hi; + $132_1 = i64toi32_i32$0; + i64toi32_i32$2 = $56$hi; + i64toi32_i32$3 = $56_1; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$1 = $132_1; + label$4 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$4 + } + if (!(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0)) { + break label$3 + } + } + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + } + $2775(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $173_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 24 | 0) >> 2] = $173_1; + HEAP32[(i64toi32_i32$3 + 28 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $49_1 = $2491(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $49_1 | 0; + } + + function $2764($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $26_1 = 0, $39_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 4 | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[$8_1 >> 2] = HEAP32[((HEAP32[(HEAP32[($8_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) > (32768 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($8_1 + 16 | 0) >> 2] = 32768; + } + label$2 : { + label$3 : { + if (!((HEAP32[($8_1 + 24 | 0) >> 2] | 0) & 1 | 0)) { + break label$3 + } + if (HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$2 + } + } + $26_1 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + HEAP32[($26_1 + 8 | 0) >> 2] = (HEAP32[($26_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + $39_1 = $2776(HEAP32[$8_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - 1 | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $39_1 | 0; + } + + function $2765($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $14_1 = 0, $18_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + label$1 : { + if (!(HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 44 | 0) >> 2] | 0)) { + break label$1 + } + $14_1 = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $14_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2523(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 6 | 0, $5_1 + 4 | 0 | 0, $14_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$2 + } + $18_1 = 2; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $331(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $325(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $18_1 | 0, HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $287(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $222(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $332(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $18_1 | 0) | 0; + } + } + $31_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $31_1 | 0; + } + + function $2766($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4_1 = 0, $10_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = 0; + $10_1 = $3_1 + 8 | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $10_1; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + i64toi32_i32$2 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $2520($3_1 + 4 | 0 | 0, $10_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = $4_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2520($3_1 + 4 | 0 | 0, $3_1 + 8 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$3 : { + if (HEAP32[($3_1 + 4 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2777(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $47_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $47_1 | 0; + } + + function $2767($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $41_1 = 0, $70_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $4_1; + $2775(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2489(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $2494(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0); + label$1 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2816(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $2490(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0); + label$2 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (HEAP32[((((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($3_1 + 16 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$5 : while (1) { + $41_1 = 0; + label$6 : { + if (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$6 + } + $41_1 = (HEAP32[((((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($3_1 + 16 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0 | 0) > (0 | 0); + } + label$7 : { + if (!($41_1 & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1e3; + $2801(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, $3_1 + 20 | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0); + continue label$5; + } + break label$5; + }; + $2514(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + $2490(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + } + $70_1 = $2491(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 32 | 0; + return $70_1 | 0; + } + + function $2768($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $54_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2489(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + $2494(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + label$2 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2816(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $2490(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 2; + HEAP32[($4_1 + 24 | 0) >> 2] = Math_imul(HEAP32[($4_1 + 24 | 0) >> 2] | 0, -1); + } + label$3 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if (!(HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { + break label$3 + } + label$4 : { + if (!($2800(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $4_1 + 20 | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + $2514(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + } + } + $2490(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + } + $54_1 = $2491(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0; + global$0 = $4_1 + 32 | 0; + return $54_1 | 0; + } + + function $2769($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, $8_1 = 0, $10_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + $8_1 = $2468($3_1 + 8 | 0 | 0, 2048 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = $8_1; + $10_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $10_1 | 0; + } + + function $2770($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $26_1 = 0, $32_1 = 0, $43_1 = 0, $115$hi = 0, $60_1 = 0, $64_1 = 0, $119$hi = 0, $107_1 = 0, $115_1 = 0, $270$hi = 0, $274_1 = 0, $119_1 = 0, $389$hi = 0, $393_1 = 0, $111_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 64 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 60 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = 0; + label$1 : { + if (!((HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) > (32768 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($8_1 + 48 | 0) >> 2] = 32768; + } + label$2 : { + label$3 : { + if (!((HEAP32[($8_1 + 56 | 0) >> 2] | 0) & 1 | 0)) { + break label$3 + } + if (HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$2 + } + } + $26_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($26_1 + 12 | 0) >> 2] = (HEAP32[($26_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + $32_1 = HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + label$4 : { + label$5 : { + switch ($32_1 | 0) { + case 0: + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$4; + case 2: + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = 0; + break label$4; + default: + break label$5; + }; + } + $43_1 = 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $43_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $43_1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2817(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, $8_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($8_1 + 20 | 0) >> 2] | 0) { + break label$8 + } + if (HEAP32[($8_1 + 28 | 0) >> 2] | 0) { + break label$8 + } + i64toi32_i32$2 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = $2818(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $115_1 = i64toi32_i32$1; + $115$hi = i64toi32_i32$0; + $60_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = $60_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $270$hi = i64toi32_i32$1; + i64toi32_i32$1 = $115$hi; + i64toi32_i32$1 = $270$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $115$hi; + i64toi32_i32$3 = $115_1; + i64toi32_i32$0 = i64toi32_i32$1 ^ i64toi32_i32$0 | 0; + $274_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$2 = $60_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = $274_1; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($8_1 + 24 | 0) >> 2] = 0; + label$9 : while (1) { + $64_1 = 0; + label$10 : { + if (HEAP32[($8_1 + 20 | 0) >> 2] | 0) { + break label$10 + } + $64_1 = (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!($64_1 & 1 | 0)) { + break label$11 + } + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2813(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($8_1 + 4 | 0) >> 2] | 0)) { + break label$12 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2817(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0, $8_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (HEAP32[($8_1 + 28 | 0) >> 2] | 0) { + break label$13 + } + i64toi32_i32$1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $2818(i64toi32_i32$0 | 0, i64toi32_i32$2 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $119_1 = i64toi32_i32$2; + $119$hi = i64toi32_i32$0; + $107_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = $107_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $389$hi = i64toi32_i32$2; + i64toi32_i32$2 = $119$hi; + i64toi32_i32$2 = $389$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$3 = $119_1; + i64toi32_i32$0 = i64toi32_i32$2 ^ i64toi32_i32$0 | 0; + $393_1 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; + i64toi32_i32$1 = $107_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $393_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + } + } + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + $111_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + global$0 = $8_1 + 64 | 0; + return $111_1 | 0; + } + + function $2771($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 < 512 >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $42(HEAP32[$3_1 >> 2] | 0 | 0); + continue label$5; + }; + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2772($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $27_1 = 0, $9_1 = 0, $11_1 = 0, i64toi32_i32$1 = 0, $148_1 = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + $9_1 = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $11_1 = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $11_1; + HEAP32[$5_1 >> 2] = $9_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(54278 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 7; + break label$1; + } + $27_1 = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $27_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $402(HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, -1 | 0, $5_1 + 20 | 0 | 0, $27_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($5_1 + 24 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + if (!((100 | 0) == ($287(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = $318(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $148_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $148_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $213(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + } + $42(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + $47_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $47_1 | 0; + } + + function $2773($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $70_1 = 0, $189$hi = 0, $190$hi = 0, $103_1 = 0, $175$hi = 0, $109_1 = 0, $112_1 = 0, $178$hi = 0, $179$hi = 0, $34_1 = 0, $181$hi = 0, $182$hi = 0, $185$hi = 0, $170$hi = 0, $375_1 = 0, $175_1 = 0, $427$hi = 0, $431_1 = 0, $143_1 = 0, $185_1 = 0, $537$hi = 0, $541_1 = 0, $189_1 = 0, $569_1 = 0, $167_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 128 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + $170$hi = i64toi32_i32$0; + HEAP32[($5_1 + 124 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 112 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 116 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 108 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 104 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 124 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = $170$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 96 | 0) >> 2] = 0; + HEAP32[($5_1 + 100 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1 + 80 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 68 | 0) >> 2] = 32; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2489(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 64 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) < (HEAP32[((((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($5_1 + 64 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 56 | 0) >> 2] = (HEAP32[((((HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($5_1 + 64 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 60 | 0) >> 2] | 0, 12) | 0; + $2819(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 60 | 0) >> 2] = (HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($5_1 + 64 | 0) >> 2] = (HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + $70_1 = 0; + $2658(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, 32 | 0, $70_1 | 0, $70_1 | 0, $70_1 | 0, -1 | 0, $70_1 | 0, $5_1 + 76 | 0 | 0); + label$6 : { + label$7 : while (1) { + if ($2609(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 36 | 0) >> 2] = 0; + i64toi32_i32$0 = $2610(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $375_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $375_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2805(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, $5_1 + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 104 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!((0 | 0) == ($2665(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + $103_1 = 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = $2818(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, $103_1 | 0, $103_1 | 0, -1 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $175_1 = i64toi32_i32$0; + $175$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $427$hi = i64toi32_i32$0; + i64toi32_i32$0 = $175$hi; + i64toi32_i32$0 = $427$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $175$hi; + i64toi32_i32$3 = $175_1; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0; + $431_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 96 | 0) >> 2] = $431_1; + HEAP32[($5_1 + 100 | 0) >> 2] = i64toi32_i32$1; + } + break label$8; + } + $109_1 = $5_1 + 80 | 0; + $112_1 = 0; + HEAP32[($5_1 + 84 | 0) >> 2] = $112_1; + $2707(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0 | 0, $112_1 | 0, $109_1 | 0); + $2510((HEAP32[($5_1 + 124 | 0) >> 2] | 0) + 36 | 0 | 0, $109_1 | 0, 4 | 0, 54310 | 0); + label$11 : { + label$12 : while (1) { + if (!((0 | 0) == ($2646(HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 84 | 0) >> 2] | 0 | 0, $5_1 + 36 | 0 | 0, $5_1 + 40 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$11 + } + $143_1 = -1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $178$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $179$hi = i64toi32_i32$2; + i64toi32_i32$2 = $178$hi; + i64toi32_i32$2 = $179$hi; + i64toi32_i32$2 = $178$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $179$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $34_1 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + $34_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + HEAP32[($5_1 + 16 | 0) >> 2] = $34_1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $181$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $182$hi = i64toi32_i32$0; + i64toi32_i32$0 = $181$hi; + i64toi32_i32$0 = $182$hi; + i64toi32_i32$0 = $181$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $182$hi; + i64toi32_i32$3 = 2147483647; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $2818(i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $143_1 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $185_1 = i64toi32_i32$2; + $185$hi = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $537$hi = i64toi32_i32$2; + i64toi32_i32$2 = $185$hi; + i64toi32_i32$2 = $537$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $185$hi; + i64toi32_i32$3 = $185_1; + i64toi32_i32$1 = i64toi32_i32$2 ^ i64toi32_i32$1 | 0; + $541_1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 96 | 0) >> 2] = $541_1; + HEAP32[($5_1 + 100 | 0) >> 2] = i64toi32_i32$1; + continue label$12; + }; + } + } + i64toi32_i32$1 = 0; + $2608(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, 0 | 0, 0 | 0, i64toi32_i32$1 | 0); + continue label$7; + }; + } + $2546(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + label$13 : { + if (HEAP32[((HEAP32[($5_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$13 + } + if (!(HEAP32[($5_1 + 108 | 0) >> 2] | 0)) { + break label$13 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + $189_1 = i64toi32_i32$1; + $189$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 100 | 0) >> 2] | 0; + $190$hi = i64toi32_i32$1; + i64toi32_i32$1 = $189$hi; + i64toi32_i32$1 = $190$hi; + i64toi32_i32$1 = $189$hi; + i64toi32_i32$1 = $190$hi; + $569_1 = i64toi32_i32$0; + i64toi32_i32$1 = $189$hi; + i64toi32_i32$2 = $189_1; + i64toi32_i32$0 = $190$hi; + i64toi32_i32$3 = $569_1; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$13 + } + HEAP32[((HEAP32[($5_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + } + $2490(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0); + $2521($5_1 + 80 | 0 | 0); + $167_1 = $2491(HEAP32[($5_1 + 124 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 128 | 0; + return $167_1 | 0; + } + + function $2774($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $55_1 = 0, $6_1 = 0, $8_1 = 0, $19_1 = 0, $35_1 = 0, $52_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + $8_1 = $38(24 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $8_1; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = $8_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 16 | 0) >> 2] = 7; + break label$1; + } + $19_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $55_1 = 0; + i64toi32_i32$1 = $19_1; + HEAP32[i64toi32_i32$1 >> 2] = $55_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $55_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $19_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $55_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1024; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $35_1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = $35_1; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = 7; + break label$3; + } + i64toi32_i32$1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $3289(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + } + } + $52_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $52_1 | 0; + } + + function $2775($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + $2778(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2776($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8_1 = 0, $19_1 = 0, $32_1 = 0, $65_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $19_1 = 24; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2812(HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, (48 << $19_1 | 0) >> $19_1 | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 24 | 0) >> 2] = $8_1; + label$1 : while (1) { + $32_1 = 0; + label$2 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $32_1 = (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($32_1 & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2813(HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($7_1 + 8 | 0) >> 2] | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $65_1 = 24; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2812(HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, ((((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 48 | 0) + 1 | 0) << $65_1 | 0) >> $65_1 | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($7_1 + 24 | 0) >> 2] = (HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $72_1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $72_1 | 0; + } + + function $2777($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $10_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $2513(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + $10_1 = $2491(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $10_1 | 0; + } + + function $2778($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, $16_1 = 0, $35_1 = 0, $42_1 = 0, $94_1 = 0, $402_1 = 0, $101_1 = 0, $403$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $146_1 = 0, $158_1 = 0, $184_1 = 0, $185_1 = 0, $208_1 = 0, $209_1 = 0, $267_1 = 0, $311_1 = 0, $361_1 = 0, $372_1 = 0, $373_1 = 0, $384_1 = 0, $393_1 = 0, $37_1 = 0, $110_1 = 0, $119_1 = 0, $403_1 = 0, $683$hi = 0, $145_1 = 0, $157_1 = 0, $183_1 = 0, $207_1 = 0, $371_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 208 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 204 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 200 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 188 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2489(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 196 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2779(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 196 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_i32$1; + $2494(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0); + label$1 : { + if (!(HEAP32[($3_1 + 192 | 0) >> 2] | 0)) { + break label$1 + } + $16_1 = $3_1 + 72 | 0; + HEAP32[($3_1 + 184 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 204 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + HEAP32[($3_1 + 180 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($3_1 + 204 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + $2780(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, $16_1 | 0, HEAP32[($3_1 + 192 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 172 | 0) >> 2] = ($16_1 + 4 | 0) + 8 | 0; + HEAP32[($3_1 + 168 | 0) >> 2] = ($16_1 + 4 | 0) + 20 | 0; + label$2 : { + if (HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $35_1 = 0; + $37_1 = $2681(HEAP32[($3_1 + 200 | 0) >> 2] | 0 | 0, $35_1 | 0, $35_1 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] = $37_1; + } + label$3 : while (1) { + $42_1 = 0; + label$4 : { + if (HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$4 + } + $42_1 = (0 | 0) == ($2781(HEAP32[($3_1 + 200 | 0) >> 2] | 0 | 0) | 0 | 0); + } + label$5 : { + if (!($42_1 & 1 | 0)) { + break label$5 + } + $2682(HEAP32[($3_1 + 200 | 0) >> 2] | 0 | 0, $3_1 + 68 | 0 | 0, $3_1 + 64 | 0 | 0, $3_1 + 60 | 0 | 0); + $2782(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, $3_1 + 72 | 0 | 0, $3303(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0); + label$6 : { + if (!(HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$6 + } + break label$5; + } + label$7 : { + label$8 : { + if (!((HEAP32[($3_1 + 184 | 0) >> 2] | 0 | 0) >= ((((HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + (HEAP32[($3_1 + 60 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$8 + } + $3288((HEAP32[(HEAP32[($3_1 + 172 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) | 0; + $94_1 = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + HEAP32[($94_1 + 4 | 0) >> 2] = (HEAP32[($94_1 + 4 | 0) >> 2] | 0) + (HEAP32[($3_1 + 60 | 0) >> 2] | 0) | 0; + break label$7; + } + i64toi32_i32$0 = 0; + $402_1 = 0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 48 | 0) >> 2] = $402_1; + HEAP32[($3_1 + 52 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 40 | 0) >> 2] = $402_1; + HEAP32[($3_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 36 | 0) >> 2] = 0; + label$9 : while (1) { + $101_1 = 0; + label$10 : { + if (HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$10 + } + $101_1 = (HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0); + } + label$11 : { + if (!($101_1 & 1 | 0)) { + break label$11 + } + $110_1 = 0; + $119_1 = ($2535((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + (HEAP32[($3_1 + 36 | 0) >> 2] | 0) | 0 | 0, $3_1 + 40 | 0 | 0) | 0) & 255 | 0; + HEAP32[($3_1 + 36 | 0) >> 2] = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + $119_1 | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + $403_1 = i64toi32_i32$0; + $403$hi = i64toi32_i32$1; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + $683$hi = i64toi32_i32$0; + i64toi32_i32$0 = $403$hi; + i64toi32_i32$0 = $683$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $403$hi; + i64toi32_i32$3 = $403_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 48 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 52 | 0) >> 2] = i64toi32_i32$5; + label$12 : { + label$13 : { + if (!(((HEAPU8[($3_1 + 129 | 0) >> 0] | 0) & 255 | 0 | 0) != ($110_1 & 255 | 0 | 0) & 1 | 0)) { + break label$13 + } + $2783(HEAP32[(HEAP32[($3_1 + 172 | 0) >> 2] | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & 65535 | 0 | 0); + i64toi32_i32$0 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + $145_1 = $2519((HEAP32[(HEAP32[($3_1 + 172 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0; + $146_1 = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + HEAP32[($146_1 + 4 | 0) >> 2] = (HEAP32[($146_1 + 4 | 0) >> 2] | 0) + $145_1 | 0; + HEAP8[($3_1 + 129 | 0) >> 0] = 0; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($3_1 + 52 | 0) >> 2] | 0; + $2784(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, $3_1 + 72 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$5 | 0); + label$14 : { + if (!(HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$14 + } + break label$11; + } + break label$12; + } + i64toi32_i32$0 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + $157_1 = $2519((HEAP32[(HEAP32[($3_1 + 172 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0; + $158_1 = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + HEAP32[($158_1 + 4 | 0) >> 2] = (HEAP32[($158_1 + 4 | 0) >> 2] | 0) + $157_1 | 0; + } + label$15 : { + label$16 : { + if (!((HEAP32[($3_1 + 180 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + if ((HEAPU8[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + (HEAP32[($3_1 + 36 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$17 + } + $183_1 = HEAP32[(HEAP32[($3_1 + 172 | 0) >> 2] | 0) >> 2] | 0; + $184_1 = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + $185_1 = HEAP32[($184_1 + 4 | 0) >> 2] | 0; + HEAP32[($184_1 + 4 | 0) >> 2] = $185_1 + 1 | 0; + HEAP8[($183_1 + $185_1 | 0) >> 0] = 0; + HEAP32[($3_1 + 36 | 0) >> 2] = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 1 | 0; + label$18 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + if ((HEAPU8[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + (HEAP32[($3_1 + 36 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$18 + } + $207_1 = HEAP32[(HEAP32[($3_1 + 172 | 0) >> 2] | 0) >> 2] | 0; + $208_1 = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + $209_1 = HEAP32[($208_1 + 4 | 0) >> 2] | 0; + HEAP32[($208_1 + 4 | 0) >> 2] = $209_1 + 1 | 0; + HEAP8[($207_1 + $209_1 | 0) >> 0] = 0; + HEAP32[($3_1 + 36 | 0) >> 2] = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + } + label$19 : { + if (!(((HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0) >= (HEAP32[($3_1 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $2785(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, $3_1 + 72 | 0 | 0); + } + break label$15; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2631((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + (HEAP32[($3_1 + 36 | 0) >> 2] | 0) | 0 | 0, $3_1 + 28 | 0 | 0, $3_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 24 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) + (HEAP32[($3_1 + 28 | 0) >> 2] | 0) | 0; + label$20 : { + label$21 : { + if (!((((HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0 | 0) <= (HEAP32[($3_1 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + $3288((HEAP32[(HEAP32[($3_1 + 172 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($3_1 + 64 | 0) >> 2] | 0) + (HEAP32[($3_1 + 36 | 0) >> 2] | 0) | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) | 0; + $267_1 = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + HEAP32[($267_1 + 4 | 0) >> 2] = (HEAP32[($267_1 + 4 | 0) >> 2] | 0) + (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0; + break label$20; + } + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 64 | 0) >> 2] | 0) + (HEAP32[($3_1 + 36 | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + label$22 : { + label$23 : while (1) { + if (HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$22 + } + HEAP32[($3_1 + 12 | 0) >> 2] = ((HEAP32[($3_1 + 184 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) - (HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$24 : { + label$25 : { + if (!(((HEAP32[($3_1 + 24 | 0) >> 2] | 0) - (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0 | 0) <= (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) - (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0; + break label$24; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2786((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + $3288((HEAP32[(HEAP32[($3_1 + 172 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + (HEAP32[($3_1 + 16 | 0) >> 2] | 0) | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $311_1 = HEAP32[($3_1 + 172 | 0) >> 2] | 0; + HEAP32[($311_1 + 4 | 0) >> 2] = (HEAP32[($311_1 + 4 | 0) >> 2] | 0) + (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0; + label$26 : { + if (!(((HEAP32[((HEAP32[($3_1 + 172 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0) >= (HEAP32[($3_1 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + $2785(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, $3_1 + 72 | 0 | 0); + } + label$27 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) >= (HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + break label$22; + } + continue label$23; + }; + } + } + HEAP32[($3_1 + 36 | 0) >> 2] = (HEAP32[($3_1 + 36 | 0) >> 2] | 0) + (HEAP32[($3_1 + 24 | 0) >> 2] | 0) | 0; + } + continue label$9; + } + break label$9; + }; + } + label$28 : { + if (HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$28 + } + $2699(HEAP32[($3_1 + 200 | 0) >> 2] | 0 | 0); + } + continue label$3; + } + break label$3; + }; + $2516(HEAP32[($3_1 + 200 | 0) >> 2] | 0 | 0); + $2787(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, $3_1 + 72 | 0 | 0, $3_1 + 188 | 0 | 0); + label$29 : { + if (HEAP32[((HEAP32[($3_1 + 196 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) { + break label$29 + } + $2788((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0 | 0, $3_1 + 196 | 0 | 0); + } + $361_1 = 0; + $2789((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($3_1 + 196 | 0) >> 2] | 0 | 0, $361_1 | 0, 1 | 0, $361_1 | 0); + label$30 : { + if (HEAP32[((HEAP32[($3_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$30 + } + $371_1 = HEAP32[((HEAP32[($3_1 + 196 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $372_1 = HEAP32[($3_1 + 196 | 0) >> 2] | 0; + $373_1 = HEAP32[($372_1 + 28 | 0) >> 2] | 0; + HEAP32[($372_1 + 28 | 0) >> 2] = $373_1 + 1 | 0; + HEAP32[($3_1 + 176 | 0) >> 2] = $371_1 + Math_imul($373_1, 12) | 0; + HEAP32[(HEAP32[($3_1 + 176 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 192 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 176 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + HEAP32[((HEAP32[($3_1 + 176 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($3_1 + 188 | 0) >> 2] | 0; + $384_1 = HEAP32[($3_1 + 196 | 0) >> 2] | 0; + HEAP32[($384_1 + 16 | 0) >> 2] = (HEAP32[($384_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + $2790(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($3_1 + 196 | 0) >> 2] | 0 | 0); + } + $393_1 = $3_1 + 196 | 0; + $2791(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, $393_1 | 0, HEAP32[($3_1 + 188 | 0) >> 2] | 0 | 0); + $2792(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, $393_1 | 0); + $2514(HEAP32[($3_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 196 | 0) >> 2] | 0 | 0); + $2490(HEAP32[($3_1 + 196 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 208 | 0; + return; + } + + function $2779($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $91_1 = 0, $142_1 = 0; + $4_1 = global$0 - 304 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 300 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 296 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 292 | 0) >> 2] = 0; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 300 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($4_1 + 296 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) >= (2e3 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($4_1 + 300 | 0) >> 2] | 0) + 36 | 0) >> 2] = 13; + break label$2; + } + $3289($4_1 + 32 | 0 | 0, 0 | 0, 252 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 296 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((((HEAP32[($4_1 + 296 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($4_1 + 28 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((((HEAP32[($4_1 + 296 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($4_1 + 28 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 24 | 0) >> 2] | 0, 12) | 0) >> 2] | 0; + label$8 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) <= (2e3 | 0) & 1 | 0)) { + break label$8 + } + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$8 + } + $91_1 = ($4_1 + 32 | 0) + ((((HEAP32[($4_1 + 12 | 0) >> 2] | 0) - 1 | 0 | 0) / (32 | 0) | 0) << 2 | 0) | 0; + HEAP32[$91_1 >> 2] = HEAP32[$91_1 >> 2] | 0 | (1 << (((HEAP32[($4_1 + 12 | 0) >> 2] | 0) - 1 | 0 | 0) % (32 | 0) | 0) | 0) | 0; + } + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[(($4_1 + 32 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(($4_1 + 32 | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 292 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0) & (1 << (HEAP32[($4_1 + 292 | 0) >> 2] | 0) | 0) | 0)) { + break label$11 + } + HEAP32[($4_1 + 292 | 0) >> 2] = (HEAP32[($4_1 + 292 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP32[($4_1 + 292 | 0) >> 2] = (HEAP32[($4_1 + 292 | 0) >> 2] | 0) + (((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 5 | 0) + 1 | 0) | 0; + } + } + $142_1 = HEAP32[($4_1 + 292 | 0) >> 2] | 0; + global$0 = $4_1 + 304 | 0; + return $142_1 | 0; + } + + function $2780($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $8_1 = 0, $9_1 = 0, $7_1 = 0, $51_1 = 0, $54_1 = 0, $56_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $7_1 = 1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) + 20 | 0; + $3289(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, 96 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $2793(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $7_1 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $7_1; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 58 | 0) >> 0] = 1; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 88 | 0) >> 2] = $7_1; + $2511((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0 | 0, ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) + 20 | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $2511((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0 | 0, ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0) + 8 | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + $51_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $54_1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0; + $56_1 = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $56_1; + $2517($51_1 | 0, $54_1 | 0, $79(54128 | 0, $5_1 | 0) | 0 | 0) | 0; + } + label$2 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $8_1 = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $9_1 = 0; + HEAP8[$8_1 >> 0] = $9_1; + HEAP8[($8_1 + 1 | 0) >> 0] = $9_1 >>> 8 | 0; + HEAP8[($8_1 + 2 | 0) >> 0] = $9_1 >>> 16 | 0; + HEAP8[($8_1 + 3 | 0) >> 0] = $9_1 >>> 24 | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] = 4; + $330(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2781($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0 | 0; + } + + function $2782($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $25_1 = 0, $95_1 = 0, $152_1 = 0, $94_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0) + 20 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $25_1 = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + break label$1; + } + $25_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 16 | 0) >> 2] = $25_1; + label$3 : { + label$4 : { + if (!(((((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0) + 2 | 0 | 0) >= (HEAP32[((HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$5 + } + $2785(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + label$6 : { + if (!(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$6 + } + break label$3; + } + } + label$7 : { + label$8 : { + if (!(((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0) | 0) >>> 0 <= (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + break label$7; + } + $2511((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0 | 0, ((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 20 | 0) + (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0 | 0) | 0; + } + } + i64toi32_i32$1 = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $94_1 = $2519((HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $95_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($95_1 + 4 | 0) >> 2] = (HEAP32[($95_1 + 4 | 0) >> 2] | 0) + $94_1 | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 58 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + label$11 : { + if (!((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + label$12 : { + if (!(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$12 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = ($2794(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $2795(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + label$13 : { + if (!(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$13 + } + break label$3; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0; + } + break label$9; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2794(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2520((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + } + $152_1 = 0; + i64toi32_i32$1 = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) - (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2520((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + $2510((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAP32[($6_1 + 36 | 0) >> 2] | 0) - (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6_1 + 32 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0 | 0); + $2637((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 32 | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 58 | 0) >> 0] = $152_1; + HEAP8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 57 | 0) >> 0] = $152_1; + HEAP8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 56 | 0) >> 0] = 1; + HEAP32[(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2783($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP16[($4_1 + 10 | 0) >> 1] = $1_1; + HEAP8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] = ((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) & 65535 | 0) >> 8 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = ((HEAPU16[($4_1 + 10 | 0) >> 1] | 0) & 65535 | 0) & 255 | 0; + return; + } + + function $2784($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $118_1 = 0, $6_1 = 0, $10_1 = 0, $161$hi = 0, $162$hi = 0, $37_1 = 0, $163$hi = 0, $164$hi = 0, $165$hi = 0, $166$hi = 0, $167$hi = 0, $39_1 = 0, $168$hi = 0, $169$hi = 0, $170$hi = 0, $107_1 = 0, $177$hi = 0, $178$hi = 0, $38_1 = 0, $165_1 = 0, $295_1 = 0, $172$hi = 0, $354_1 = 0, $429_1 = 0, $177_1 = 0, $464_1 = 0, $537_1 = 0, $562_1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 40 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $6_1; + label$1 : while (1) { + $10_1 = 0; + label$2 : { + if (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $10_1 = (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($10_1 & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 44 | 0) >> 2] | 0) << 5 | 0) | 0; + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 0] = 1; + $38_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(HEAP32[($5_1 + 56 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $161$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $162$hi = i64toi32_i32$0; + i64toi32_i32$0 = $161$hi; + i64toi32_i32$0 = $162$hi; + i64toi32_i32$0 = $161$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $162$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $37_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $37_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $163$hi = i64toi32_i32$1; + i64toi32_i32$1 = 16; + $164$hi = i64toi32_i32$1; + i64toi32_i32$1 = $163$hi; + i64toi32_i32$1 = $164$hi; + i64toi32_i32$1 = $163$hi; + i64toi32_i32$0 = $37_1; + i64toi32_i32$2 = $164$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $165_1 = i64toi32_i32$4; + $165$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $166$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $167$hi = i64toi32_i32$5; + i64toi32_i32$5 = $166$hi; + i64toi32_i32$5 = $167$hi; + i64toi32_i32$5 = $166$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $167$hi; + i64toi32_i32$3 = 31; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $39_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $39_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $168$hi = i64toi32_i32$0; + i64toi32_i32$0 = $165$hi; + i64toi32_i32$0 = $168$hi; + i64toi32_i32$0 = $165$hi; + i64toi32_i32$5 = $165_1; + i64toi32_i32$1 = $168$hi; + i64toi32_i32$3 = $39_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $169$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $170$hi = i64toi32_i32$4; + i64toi32_i32$4 = $169$hi; + i64toi32_i32$4 = $170$hi; + $295_1 = i64toi32_i32$5; + i64toi32_i32$4 = $169$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$5 = $170$hi; + i64toi32_i32$3 = $295_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $2513($38_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + $2793(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 2 | 0 | 0) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 44 | 0) >> 2] | 0) << 5 | 0) | 0; + label$6 : { + if (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$6 + } + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$2 = 0; + $172$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2796((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $354_1 = i64toi32_i32$2; + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $354_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = $172$hi; + $2520((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 32 | 0) + 16 | 0 | 0, 0 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$2 = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $2520((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 32 | 0) + 16 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$4 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $2520((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 32 | 0) + 16 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0); + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = 1; + i64toi32_i32$4 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $429_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] = $429_1; + HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] = i64toi32_i32$0; + } + $2639((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0 | 0); + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + $107_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[$107_1 >> 2] = (HEAP32[$107_1 >> 2] | 0) + 1 | 0; + break label$4; + } + HEAP32[($5_1 + 40 | 0) >> 2] = 1; + } + label$7 : { + label$8 : { + if (!(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$8 + } + i64toi32_i32$4 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $177_1 = i64toi32_i32$0; + $177$hi = i64toi32_i32$2; + i64toi32_i32$4 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 12 | 0) >> 2] | 0; + $178$hi = i64toi32_i32$0; + i64toi32_i32$0 = $177$hi; + i64toi32_i32$0 = $178$hi; + $464_1 = i64toi32_i32$2; + i64toi32_i32$0 = $177$hi; + i64toi32_i32$4 = $177_1; + i64toi32_i32$2 = $178$hi; + i64toi32_i32$3 = $464_1; + i64toi32_i32$5 = i64toi32_i32$4 - i64toi32_i32$3 | 0; + i64toi32_i32$1 = (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$1 | 0; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$1; + break label$7; + } + label$9 : { + label$10 : { + if (HEAP32[($5_1 + 44 | 0) >> 2] | 0) { + break label$10 + } + $118_1 = HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$9; + } + $118_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + -32 | 0) >> 2] | 0; + } + i64toi32_i32$4 = $118_1; + i64toi32_i32$1 = i64toi32_i32$4 >> 31 | 0; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $118_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$4 = ((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0; + i64toi32_i32$1 = i64toi32_i32$4 >> 31 | 0; + $2520((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $2520((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0); + i64toi32_i32$0 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $537_1 = i64toi32_i32$4; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $537_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $2520((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 | 0); + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $562_1 = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$4 + 8 | 0) >> 2] = $562_1; + HEAP32[(i64toi32_i32$4 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + global$0 = $5_1 + 64 | 0; + return; + } + + function $2785($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $38_1 = 0, $78$hi = 0, $79$hi = 0, $24_1 = 0, $80$hi = 0, $81$hi = 0, $82$hi = 0, $83$hi = 0, $84$hi = 0, $85$hi = 0, $66_1 = 0, $70_1 = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $190_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0; + $2783((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 2 | 0 | 0, (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & 65535 | 0 | 0); + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 58 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + $2797(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + break label$1; + } + $2510((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + $38_1 = 1; + $39_1 = 0; + $40_1 = 4; + $41_1 = 54185; + i64toi32_i32$1 = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $78$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $79$hi = i64toi32_i32$0; + i64toi32_i32$0 = $78$hi; + i64toi32_i32$0 = $79$hi; + i64toi32_i32$0 = $78$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $24_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $24_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $80$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $81$hi = i64toi32_i32$1; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$1 = $80$hi; + i64toi32_i32$0 = $24_1; + i64toi32_i32$2 = $81$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $82$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $83$hi = i64toi32_i32$5; + i64toi32_i32$5 = $82$hi; + i64toi32_i32$5 = $83$hi; + i64toi32_i32$5 = $82$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $83$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $84$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $85$hi = i64toi32_i32$4; + i64toi32_i32$4 = $84$hi; + i64toi32_i32$4 = $85$hi; + $190_1 = i64toi32_i32$1; + i64toi32_i32$4 = $84$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $85$hi; + i64toi32_i32$3 = $190_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$4 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $2513(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$5 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $2639((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0 | 0); + $2639((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0 | 0); + $2510((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0 | 0, $40_1 | 0, $41_1 | 0); + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = $39_1; + $66_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[$66_1 >> 2] = (HEAP32[$66_1 >> 2] | 0) + 1 | 0; + $70_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[($70_1 + 60 | 0) >> 2] = (HEAP32[($70_1 + 60 | 0) >> 2] | 0) + 1 | 0; + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 58 | 0) >> 0] = $38_1; + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 57 | 0) >> 0] = $38_1; + global$0 = $4_1 + 32 | 0; + return; + } + + function $2786($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2534(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : while (1) { + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2534((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + break label$2; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0; + continue label$3; + }; + } + } + $36_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $36_1 | 0; + } + + function $2787($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$2 + } + $2785(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = (HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0; + label$3 : { + if (!((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$3 + } + $2798(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + } + $2521((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 32 | 0 | 0); + $2521((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0); + $2521((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0 | 0); + $2521((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 76 | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $2521(((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 5 | 0) | 0) + 16 | 0 | 0); + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $42(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 32 | 0; + return; + } + + function $2788($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + label$1 : { + if (HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = Math_imul((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0, 12) + 40 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $49(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 12) | 0; + HEAP32[i64toi32_i32$0 >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = 0; + $38_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + HEAP32[($38_1 + 20 | 0) >> 2] = (HEAP32[($38_1 + 20 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + break label$2; + } + HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] = 7; + } + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $2789($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + label$1 : { + if (HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($7_1 + 24 | 0) >> 2] = ((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($7_1 + 36 | 0) >> 2] | 0, 12) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($7_1 + 32 | 0) >> 2] | 0) | 0, 12); + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (HEAP32[($7_1 + 28 | 0) >> 2] | 0) { + break label$5 + } + $3289((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 12) | 0 | 0, 0 | 0, Math_imul(HEAP32[($7_1 + 32 | 0) >> 2] | 0, 12) | 0) | 0; + break label$4; + } + HEAP32[($7_1 + 4 | 0) >> 2] = Math_imul(HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 12); + $3290((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 32 | 0) >> 2] | 0, 12) | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0; + $3289(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, Math_imul(HEAP32[($7_1 + 32 | 0) >> 2] | 0, 12) | 0) | 0; + } + HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + break label$2; + } + HEAP32[(HEAP32[($7_1 + 44 | 0) >> 2] | 0) >> 2] = 7; + } + } + global$0 = $7_1 + 48 | 0; + return; + } + + function $2790($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $58_1 = 0, $84_1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($5_1 + 44 | 0) >> 2] = -1; + HEAP32[($5_1 + 40 | 0) >> 2] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($5_1 + 56 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0; + label$2 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + HEAP32[($5_1 + 36 | 0) >> 2] = (HEAP32[((((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($5_1 + 56 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0) + Math_imul((HEAP32[((((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($5_1 + 56 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0) - 1 | 0, 12) | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 56 | 0) >> 2] | 0) - 1 | 0; + label$3 : while (1) { + $58_1 = 0; + label$4 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + $58_1 = (HEAP32[((((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($5_1 + 48 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$5 : { + if (!($58_1 & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + -1 | 0; + continue label$3; + } + break label$3; + }; + label$6 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + $84_1 = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $84_1; + HEAP32[($5_1 + 16 | 0) >> 2] = ((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($5_1 + 48 | 0) >> 2] | 0, 12) | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $84_1; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[(((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0) - (HEAP32[(((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0) | 0) + 1 | 0; + label$9 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + label$10 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + } + label$11 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + } + $2799(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $2791($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$2 = 0, $5_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $48$hi = 0, $49$hi = 0, $50$hi = 0, $51$hi = 0, $52$hi = 0, $53$hi = 0, $54$hi = 0, $55$hi = 0, $57$hi = 0, $31_1 = 0, $103_1 = 0, $48_1 = 0, $112_1 = 0, $122_1 = 0, $52_1 = 0, $53_1 = 0, $134_1 = 0, $137_1 = 0, $57_1 = 0, $152$hi = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $103_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $103_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $48_1 = i64toi32_i32$1; + $48$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $49$hi = i64toi32_i32$0; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = $49$hi; + $112_1 = i64toi32_i32$1; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$2 = $48_1; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$3 = $112_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $50$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $51$hi = i64toi32_i32$5; + i64toi32_i32$5 = $50$hi; + i64toi32_i32$5 = $51$hi; + $122_1 = i64toi32_i32$2; + i64toi32_i32$5 = $50$hi; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$2 = __wasm_i64_udiv(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, $122_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $52_1 = i64toi32_i32$2; + $52$hi = i64toi32_i32$5; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $53_1 = i64toi32_i32$5; + $53$hi = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $54$hi = i64toi32_i32$2; + i64toi32_i32$2 = $53$hi; + i64toi32_i32$2 = $54$hi; + $134_1 = i64toi32_i32$5; + i64toi32_i32$2 = $53$hi; + i64toi32_i32$5 = $54$hi; + i64toi32_i32$5 = __wasm_i64_udiv($53_1 | 0, i64toi32_i32$2 | 0, $134_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $55$hi = i64toi32_i32$2; + i64toi32_i32$2 = $52$hi; + i64toi32_i32$2 = $55$hi; + $137_1 = i64toi32_i32$5; + i64toi32_i32$2 = $52$hi; + i64toi32_i32$0 = $52_1; + i64toi32_i32$5 = $55$hi; + i64toi32_i32$3 = $137_1; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $57_1 = i64toi32_i32$0; + $57$hi = i64toi32_i32$4; + $31_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $31_1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $152$hi = i64toi32_i32$0; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $152$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $57$hi; + i64toi32_i32$3 = $57_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$2 = $31_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP32[$5_1 >> 2] = Math_imul(Math_imul(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0), HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0); + $2800(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2792($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 84 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$1 : while (1) { + $14_1 = 0; + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $14_1 = (HEAP32[((((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($14_1 & 1 | 0)) { + break label$3 + } + $2801(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $4_1 + 16 | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0); + $2790(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return; + } + + function $2793($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, $51_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 5 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = 7; + break label$2; + } + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) | 0) << 5 | 0; + $3289((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0) << 5 | 0) | 0 | 0, 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + } + } + $51_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $51_1 | 0; + } + + function $2794($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) < (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[$5_1 >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != ((HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + (HEAP32[$5_1 >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[$5_1 >> 2] = (HEAP32[$5_1 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return HEAP32[$5_1 >> 2] | 0 | 0; + } + + function $2795($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$6_1 >> 2] = $3_1; + $2798(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + label$1 : { + if (HEAP32[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + $2637((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 76 | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0); + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + global$0 = $6_1 + 16 | 0; + return; + } + + function $2796($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $6_1 = $3_1 + 16 | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = (($2535((HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 1 | 0 | 0, $6_1 | 0) | 0) & 255 | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $2535((HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0 | 0, $6_1 | 0) | 0; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2797($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $26_1 = 0, i64toi32_i32$0 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + if (!((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 57 | 0) >> 0] | 0) & 255 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + $2520((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0 | 0, 0 | 0, i64toi32_i32$0 | 0); + } + $26_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($26_1 + 64 | 0) >> 2] = (HEAP32[($26_1 + 64 | 0) >> 2] | 0) + 1 | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $2798($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $22_1 = 0, $25_1 = 0, $52$hi = 0, $53$hi = 0, $54$hi = 0, $19_1 = 0, $55$hi = 0, $26_1 = 0, $34_1 = 0, $52_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2802(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$5 + } + $22_1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + break label$4; + } + $22_1 = 1352; + } + $25_1 = 2; + $26_1 = 3; + HEAP32[$4_1 >> 2] = $22_1; + $325(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, $25_1 | 0, HEAP32[$4_1 >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $34_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $52_1 = i64toi32_i32$1; + $52$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $53$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $54$hi = i64toi32_i32$0; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $19_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $55$hi = i64toi32_i32$1; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$0 = $52_1; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$3 = $19_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $331($34_1 | 0, $26_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + $287(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + $44_1 = $222(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = $44_1; + $332(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, $25_1 | 0) | 0; + } + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 88 | 0) >> 2] = 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2799($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $76_1 = 0, $61_1 = 0, $77_1 = 0, $81_1 = 0, $85_1 = 0, i64toi32_i32$1 = 0, $265_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 20 | 0) >> 2] = ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 12) | 0; + label$1 : { + if (HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 16 | 0) >> 2] = ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($6_1 + 28 | 0) >> 2] | 0, 12) | 0; + label$4 : { + if (!(HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0)) { + break label$4 + } + break label$1; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2804((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 12) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + break label$1; + } + $61_1 = 1; + $2789((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, $61_1 | 0, $61_1 | 0); + label$8 : { + if (!(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$8 + } + break label$1; + } + $76_1 = (HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 24 | 0) >> 2] | 0, 12) | 0; + i64toi32_i32$0 = HEAP32[$76_1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($76_1 + 4 | 0) >> 2] | 0; + $265_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $265_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $77_1 = 8; + HEAP32[(i64toi32_i32$0 + $77_1 | 0) >> 2] = HEAP32[($76_1 + $77_1 | 0) >> 2] | 0; + $81_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($81_1 + 4 | 0) >> 2] = (HEAP32[($81_1 + 4 | 0) >> 2] | 0) + 1 | 0; + $85_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($85_1 + 4 | 0) >> 2] = (HEAP32[($85_1 + 4 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + -1 | 0; + continue label$6; + }; + } + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2800($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $29_1 = 0, $19_1 = 0, $113_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + label$1 : while (1) { + $19_1 = 0; + label$2 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + $19_1 = (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($19_1 & 1 | 0)) { + break label$3 + } + $29_1 = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $29_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $29_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $29_1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 4 | 0) >> 2] = ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 12) | 0; + label$6 : { + if (!(HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0)) { + break label$6 + } + label$7 : { + if (!((HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) > (HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + } + break label$4; + } + label$8 : { + if (!((HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$9 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + if (HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($6_1 + 12 | 0) >> 2] | 0, 12) | 0) >> 2] | 0) { + break label$9 + } + break label$3; + } + HEAP32[($6_1 + 24 | 0) >> 2] = 1; + $2801(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, $6_1 + 20 | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $6_1 + 28 | 0 | 0); + label$10 : { + if (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$10 + } + if (HEAP32[(((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($6_1 + 12 | 0) >> 2] | 0, 12) | 0) >> 2] | 0) { + break label$10 + } + $2790(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + continue label$1; + } + break label$1; + }; + HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $113_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $113_1 | 0; + } + + function $2801($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $169_1 = 0, $7_1 = 0, $25_1 = 0, $136_1 = 0, $143_1 = 0, $158_1 = 0, $306_1 = 0, $384_1 = 0, $388_1 = 0, $394_1 = 0, $398_1 = 0, $418_1 = 0, $257_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 208 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 204 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 200 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 196 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 192 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 188 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 200 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 184 | 0) >> 2] = ((HEAP32[($6_1 + 188 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($6_1 + 196 | 0) >> 2] | 0, 12) | 0; + HEAP32[($6_1 + 176 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 192 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$2 + } + $25_1 = HEAP32[(HEAP32[($6_1 + 192 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + } + $25_1 = 0; + } + HEAP32[($6_1 + 172 | 0) >> 2] = $25_1; + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($6_1 + 204 | 0) >> 2] | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 32; + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + $3289($6_1 + 72 | 0 | 0, 0 | 0, 96 | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1 + 56 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + label$3 : { + label$4 : { + label$5 : { + if (!(HEAP32[(HEAP32[($6_1 + 184 | 0) >> 2] | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($6_1 + 180 | 0) >> 2] = ((HEAP32[($6_1 + 188 | 0) >> 2] | 0) + 24 | 0) + Math_imul((HEAP32[($6_1 + 196 | 0) >> 2] | 0) + 1 | 0, 12) | 0; + HEAP32[($6_1 + 168 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 184 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0, 12) | 0; + $2780(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, $6_1 + 72 | 0 | 0, HEAP32[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 76 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 160 | 0) >> 2] = 0; + break label$4; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2779(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 188 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($6_1 + 196 | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($6_1 + 188 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$6 + } + $2788((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($6_1 + 200 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 188 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 200 | 0) >> 2] | 0) >> 2] | 0; + } + $2789((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0 | 0, HEAP32[($6_1 + 188 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 196 | 0) >> 2] | 0) + 1 | 0 | 0, 1 | 0, 0 | 0); + label$7 : { + if (!(HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$7 + } + break label$3; + } + HEAP32[($6_1 + 184 | 0) >> 2] = ((HEAP32[($6_1 + 188 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($6_1 + 196 | 0) >> 2] | 0, 12) | 0; + HEAP32[($6_1 + 180 | 0) >> 2] = ((HEAP32[($6_1 + 188 | 0) >> 2] | 0) + 24 | 0) + Math_imul((HEAP32[($6_1 + 196 | 0) >> 2] | 0) + 1 | 0, 12) | 0; + $2780(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, $6_1 + 72 | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, 12) | 0; + $136_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + HEAP32[($136_1 + 4 | 0) >> 2] = (HEAP32[($136_1 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + HEAP32[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $143_1 = HEAP32[($6_1 + 188 | 0) >> 2] | 0; + HEAP32[($143_1 + 16 | 0) >> 2] = (HEAP32[($143_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 168 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 184 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + $158_1 = 0; + label$8 : { + if (!((HEAP32[((HEAP32[($6_1 + 180 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + $158_1 = (HEAP32[((HEAP32[($6_1 + 188 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == ((HEAP32[($6_1 + 196 | 0) >> 2] | 0) + 2 | 0 | 0); + } + $169_1 = 0; + HEAP32[($6_1 + 52 | 0) >> 2] = $158_1 & 1 | 0; + $2658(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 188 | 0) >> 2] | 0 | 0, 32 | 0, $169_1 | 0, $169_1 | 0, $169_1 | 0, HEAP32[($6_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0, $6_1 + 176 | 0 | 0); + label$9 : { + label$10 : while (1) { + if ($2609(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 176 | 0) >> 2] | 0 | 0) | 0) { + break label$9 + } + HEAP32[($6_1 + 32 | 0) >> 2] = ((HEAP32[($6_1 + 176 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($6_1 + 176 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2805(HEAP32[($6_1 + 176 | 0) >> 2] | 0 | 0, $6_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + label$12 : { + if ((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$12 + } + label$13 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$13 + } + if (0 & 1 | 0) { + break label$12 + } + break label$11; + } + if (!($3228(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$11 + } + } + label$14 : { + if (!((HEAP32[($6_1 + 192 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) > (HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + break label$9; + } + $2637((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0 | 0, $6_1 + 56 | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + } + label$15 : { + label$16 : { + if (HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) { + break label$16 + } + label$17 : { + if (HEAP32[($6_1 + 52 | 0) >> 2] | 0) { + break label$17 + } + if ((HEAPU8[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 84 | 0) >> 0] | 0) & 255 | 0) { + break label$16 + } + } + break label$15; + } + label$18 : { + if (HEAP32[((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$18 + } + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$18 + } + $2782(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, $6_1 + 72 | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 40 | 0) >> 2] = 1; + } + $257_1 = HEAP32[($6_1 + 204 | 0) >> 2] | 0; + i64toi32_i32$0 = $2610(HEAP32[($6_1 + 176 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $2806($257_1 | 0, $6_1 + 72 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + label$19 : { + label$20 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$20 + } + label$21 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 84 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$21 + } + i64toi32_i32$1 = 0; + $2520((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0 | 0, (($6_1 + 72 | 0) + 4 | 0) + 8 | 0 | 0, 0 | 0, i64toi32_i32$1 | 0); + label$22 : { + if (!((HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$22 + } + i64toi32_i32$1 = 0; + $2520((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0 | 0, (($6_1 + 72 | 0) + 4 | 0) + 8 | 0 | 0, 0 | 0, i64toi32_i32$1 | 0); + } + } + break label$19; + } + $306_1 = $6_1 + 72 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = ((HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0) << 1 | 0) + ((HEAPU8[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 84 | 0) >> 0] | 0) & 255 | 0) | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $2520((HEAP32[($6_1 + 204 | 0) >> 2] | 0) + 36 | 0 | 0, ($306_1 + 4 | 0) + 8 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + $2711(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, $306_1 | 0, 145 | 0); + } + } + i64toi32_i32$1 = 0; + $2608(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 176 | 0) >> 2] | 0 | 0, 0 | 0, 0 | 0, i64toi32_i32$1 | 0); + continue label$10; + }; + } + $2787(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, $6_1 + 72 | 0 | 0, (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 8 | 0 | 0); + label$23 : { + label$24 : { + if (!($2609(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 176 | 0) >> 2] | 0 | 0) | 0)) { + break label$24 + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$25 : { + label$26 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + $2808(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6_1 + 184 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 16 | 0) >> 2] | 0, 12) | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$26; + }; + } + label$27 : { + if (!((HEAP32[((HEAP32[($6_1 + 184 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($6_1 + 12 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($6_1 + 184 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[($6_1 + 168 | 0) >> 2] | 0) | 0, 12); + $3290(HEAP32[((HEAP32[($6_1 + 184 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 184 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 168 | 0) >> 2] | 0, 12) | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + $384_1 = HEAP32[($6_1 + 188 | 0) >> 2] | 0; + HEAP32[($384_1 + 16 | 0) >> 2] = (HEAP32[($384_1 + 16 | 0) >> 2] | 0) - (HEAP32[($6_1 + 168 | 0) >> 2] | 0) | 0; + $388_1 = HEAP32[($6_1 + 184 | 0) >> 2] | 0; + HEAP32[($388_1 + 4 | 0) >> 2] = (HEAP32[($388_1 + 4 | 0) >> 2] | 0) - (HEAP32[($6_1 + 168 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($6_1 + 184 | 0) >> 2] | 0) >> 2] = 0; + label$28 : { + if (HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) { + break label$28 + } + $394_1 = HEAP32[($6_1 + 180 | 0) >> 2] | 0; + HEAP32[($394_1 + 4 | 0) >> 2] = (HEAP32[($394_1 + 4 | 0) >> 2] | 0) + -1 | 0; + $398_1 = HEAP32[($6_1 + 188 | 0) >> 2] | 0; + HEAP32[($398_1 + 16 | 0) >> 2] = (HEAP32[($398_1 + 16 | 0) >> 2] | 0) + -1 | 0; + } + break label$23; + } + $2809(HEAP32[($6_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 176 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 184 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + } + $2546(HEAP32[($6_1 + 176 | 0) >> 2] | 0 | 0); + $2521($6_1 + 56 | 0 | 0); + if (!((HEAP32[($6_1 + 192 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $418_1 = HEAP32[($6_1 + 192 | 0) >> 2] | 0; + HEAP32[$418_1 >> 2] = (HEAP32[$418_1 >> 2] | 0) - (HEAP32[($6_1 + 132 | 0) >> 2] | 0) | 0; + } + global$0 = $6_1 + 208 | 0; + return; + } + + function $2802($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $28_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > ($5_1 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) >= (4 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + } + $2803(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 64 | 0) >> 2] = 0; + $28_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $28_1 | 0; + } + + function $2803($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $47$hi = 0, $48$hi = 0, $23_1 = 0, $49$hi = 0, $50$hi = 0, $51$hi = 0, $52$hi = 0, $53$hi = 0, $25_1 = 0, $54$hi = 0, $55$hi = 0, $56$hi = 0, $24_1 = 0, $51_1 = 0, $144_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) << 5 | 0) | 0; + label$3 : { + if (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) { + break label$3 + } + break label$1; + } + label$4 : { + if (!(HEAP32[($5_1 + 20 | 0) >> 2] | 0)) { + break label$4 + } + $24_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $47$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $48$hi = i64toi32_i32$0; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$0 = $48$hi; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $23_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $23_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $49$hi = i64toi32_i32$1; + i64toi32_i32$1 = 16; + $50$hi = i64toi32_i32$1; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$0 = $23_1; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $51_1 = i64toi32_i32$4; + $51$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $52$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $53$hi = i64toi32_i32$5; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$5 = $53$hi; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$3 = 31; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $25_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $25_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $54$hi = i64toi32_i32$0; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$5 = $51_1; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$3 = $25_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $55$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$5 >> 31 | 0; + $56$hi = i64toi32_i32$4; + i64toi32_i32$4 = $55$hi; + i64toi32_i32$4 = $56$hi; + $144_1 = i64toi32_i32$5; + i64toi32_i32$4 = $55$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$5 = $56$hi; + i64toi32_i32$3 = $144_1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $2513($24_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + } + $2639((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 16 | 0 | 0); + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2804($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0; + } + + function $2805($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + return HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0; + } + + function $2806($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $73$hi = 0, $74$hi = 0, i64toi32_i32$3 = 0, $65_1 = 0, $73_1 = 0, $222_1 = 0, $232_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 4 | 0; + label$2 : { + if (!(((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0 | 0) >= (HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $2785(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 57 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $2783(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & 65535 | 0 | 0); + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $2784(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + } + label$4 : { + label$5 : { + label$6 : { + if ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + if (!((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 57 | 0) >> 0] | 0) & 255 | 0)) { + break label$5 + } + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $2520((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$4; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $73_1 = i64toi32_i32$0; + $73$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $74$hi = i64toi32_i32$0; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = $74$hi; + $222_1 = i64toi32_i32$1; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$2 = $73_1; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$3 = $222_1; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $2520((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, i64toi32_i32$2 - i64toi32_i32$3 | 0 | 0, i64toi32_i32$5 | 0); + } + $65_1 = 0; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $232_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$5 + 48 | 0) >> 2] = $232_1; + HEAP32[(i64toi32_i32$5 + 52 | 0) >> 2] = i64toi32_i32$2; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 0] = $65_1; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 57 | 0) >> 0] = $65_1; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2807($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $2810(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + global$0 = $6_1 + 32 | 0; + return; + } + + function $2808($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $4_1 = 0, $46$hi = 0, $47$hi = 0, $36_1 = 0, $48$hi = 0, $49$hi = 0, $50$hi = 0, $51$hi = 0, $52$hi = 0, $53$hi = 0, $55$hi = 0, $56$hi = 0, $37_1 = 0, $57$hi = 0, $58$hi = 0, $59$hi = 0, $60$hi = 0, $61$hi = 0, $62$hi = 0, $63$hi = 0, $64$hi = 0, $66$hi = 0, $67$hi = 0, $5_1 = 0, $66_1 = 0, $129_1 = 0, $22_1 = 0, $25_1 = 0, $27_1 = 0, $42_1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + i64toi32_i32$1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $46$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $47$hi = i64toi32_i32$0; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$0 = $46$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $36_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $36_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $49$hi = i64toi32_i32$1; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$0 = $36_1; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $50$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $51$hi = i64toi32_i32$5; + i64toi32_i32$5 = $50$hi; + i64toi32_i32$5 = $51$hi; + i64toi32_i32$5 = $50$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $52$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $53$hi = i64toi32_i32$4; + i64toi32_i32$4 = $52$hi; + i64toi32_i32$4 = $53$hi; + i64toi32_i32$4 = $52$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 32 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$5 = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $55$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $56$hi = i64toi32_i32$2; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$2 = $56$hi; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$5 = $56$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + $37_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$1 | 0) | 0; + $37_1 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + } + $57$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $58$hi = i64toi32_i32$5; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$5 = $58$hi; + i64toi32_i32$5 = $57$hi; + i64toi32_i32$2 = $37_1; + i64toi32_i32$4 = $58$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $59$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $60$hi = i64toi32_i32$0; + i64toi32_i32$0 = $59$hi; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$0 = $59$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$2 = $60$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $61$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $62$hi = i64toi32_i32$1; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$5 = $62$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $63$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $64$hi = i64toi32_i32$4; + i64toi32_i32$4 = $63$hi; + i64toi32_i32$4 = $64$hi; + i64toi32_i32$4 = $63$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$0 = $64$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$2 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$4 - i64toi32_i32$2 | 0; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $66_1 = i64toi32_i32$2; + $66$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 28 | 0) >> 2] | 0; + $67$hi = i64toi32_i32$2; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$2 = $67$hi; + $129_1 = i64toi32_i32$1; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$1 = $67$hi; + $2811(HEAP32[(i64toi32_i32$4 + 44 | 0) >> 2] | 0 | 0, $66_1 | 0, i64toi32_i32$2 | 0, $129_1 | 0, i64toi32_i32$1 | 0); + label$1 : { + if (!((HEAP32[((HEAP32[(i64toi32_i32$4 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) == ($5_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + $22_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $25_1 = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 56 | 0; + $27_1 = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $27_1; + $2517($22_1 | 0, $25_1 | 0, $79(54189 | 0, $4_1 | 0) | 0 | 0) | 0; + } + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $330(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0; + $287(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + $42_1 = $222(HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] = $42_1; + } + global$0 = $4_1 + 48 | 0; + return; + } + + function $2809($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $35_1 = 0, $36_1 = 0, $117_1 = 0, $21_1 = 0, $54_1 = 0, $242$hi = 0, $243$hi = 0, $37_1 = 0, $244$hi = 0, $245$hi = 0, $246$hi = 0, $247$hi = 0, $248$hi = 0, $249$hi = 0, $192_1 = 0, $255$hi = 0, $256$hi = 0, $38_1 = 0, $257$hi = 0, $258$hi = 0, $259$hi = 0, $260$hi = 0, $261$hi = 0, $262$hi = 0, $263$hi = 0, $264$hi = 0, $59_1 = 0, $418_1 = 0, $226_1 = 0, $775_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 52 | 0) >> 2] = 0; + label$1 : while (1) { + $21_1 = 0; + label$2 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $21_1 = (HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($21_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 36 | 0) >> 2] = ((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 80 | 0) + Math_imul(HEAP32[($4_1 + 52 | 0) >> 2] | 0, 88) | 0; + label$4 : { + label$5 : { + if (!((HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + $54_1 = 0; + HEAP32[((HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] = $54_1; + HEAP32[((HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] = $54_1; + break label$6; + } + $59_1 = 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + $35_1 = $4_1 + 12 | 0; + $36_1 = 0; + HEAP8[$35_1 >> 0] = $36_1; + HEAP8[($35_1 + 1 | 0) >> 0] = $36_1 >>> 8 | 0; + HEAP8[($35_1 + 2 | 0) >> 0] = $36_1 >>> 16 | 0; + HEAP8[($35_1 + 3 | 0) >> 0] = $36_1 >>> 24 | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $242$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $243$hi = i64toi32_i32$0; + i64toi32_i32$0 = $242$hi; + i64toi32_i32$0 = $243$hi; + i64toi32_i32$0 = $242$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $243$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $37_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $37_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $244$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $245$hi = i64toi32_i32$1; + i64toi32_i32$1 = $244$hi; + i64toi32_i32$1 = $245$hi; + i64toi32_i32$1 = $244$hi; + i64toi32_i32$0 = $37_1; + i64toi32_i32$2 = $245$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $246$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $247$hi = i64toi32_i32$5; + i64toi32_i32$5 = $246$hi; + i64toi32_i32$5 = $247$hi; + i64toi32_i32$5 = $246$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $247$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $248$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $249$hi = i64toi32_i32$4; + i64toi32_i32$4 = $248$hi; + i64toi32_i32$4 = $249$hi; + $418_1 = i64toi32_i32$1; + i64toi32_i32$4 = $248$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $249$hi; + i64toi32_i32$3 = $418_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$4 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2629(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != ($59_1 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + label$10 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$9; + } + $2639($4_1 + 40 | 0 | 0); + label$11 : { + label$12 : { + if (!(((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) >>> 0 <= (HEAP32[($4_1 + 48 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$12 + } + break label$11; + } + $2511((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, $4_1 + 40 | 0 | 0, (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0 | 0) | 0; + } + $117_1 = $4_1 + 40 | 0; + $2510((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, $117_1 | 0, 4 | 0, $4_1 + 12 | 0 | 0); + i64toi32_i32$2 = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $2520((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, $117_1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$5 | 0); + $2510((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, $117_1 | 0, HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); + $2510((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, $117_1 | 0, (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0 | 0, (HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 32 | 0) >> 2] | 0) | 0 | 0); + label$13 : { + if (HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$13 + } + $2783((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 2 | 0 | 0, (HEAP32[($4_1 + 44 | 0) >> 2] | 0) & 65535 | 0 | 0); + } + i64toi32_i32$5 = 0; + $2520((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, $4_1 + 40 | 0 | 0, 4 | 0, i64toi32_i32$5 | 0); + label$14 : { + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $192_1 = $4_1 + 40 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = (((HEAP32[($4_1 + 44 | 0) >> 2] | 0) - 1 | 0) - (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0) - 4 | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $2520((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, $192_1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$5 | 0); + $2510((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 36 | 0 | 0, $192_1 | 0, (HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) | 0 | 0, (HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) | 0 | 0); + } + HEAP32[((HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $226_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $255$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $256$hi = i64toi32_i32$5; + i64toi32_i32$5 = $255$hi; + i64toi32_i32$5 = $256$hi; + i64toi32_i32$5 = $255$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $256$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + $38_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $38_1 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + } + $257$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $258$hi = i64toi32_i32$2; + i64toi32_i32$2 = $257$hi; + i64toi32_i32$2 = $258$hi; + i64toi32_i32$2 = $257$hi; + i64toi32_i32$5 = $38_1; + i64toi32_i32$4 = $258$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $259$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $260$hi = i64toi32_i32$0; + i64toi32_i32$0 = $259$hi; + i64toi32_i32$0 = $260$hi; + i64toi32_i32$0 = $259$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$5 = $260$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $261$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $262$hi = i64toi32_i32$1; + i64toi32_i32$1 = $261$hi; + i64toi32_i32$1 = $262$hi; + i64toi32_i32$1 = $261$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $262$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $263$hi = i64toi32_i32$4; + i64toi32_i32$1 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $264$hi = i64toi32_i32$0; + i64toi32_i32$0 = $263$hi; + i64toi32_i32$0 = $264$hi; + $775_1 = i64toi32_i32$4; + i64toi32_i32$0 = $263$hi; + i64toi32_i32$4 = $264$hi; + $2811($226_1 | 0, i64toi32_i32$5 | 0, i64toi32_i32$0 | 0, $775_1 | 0, i64toi32_i32$4 | 0); + i64toi32_i32$1 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + $2513(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0); + } + $2531(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0); + } + } + } + HEAP32[($4_1 + 52 | 0) >> 2] = (HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $2521($4_1 + 40 | 0 | 0); + global$0 = $4_1 + 64 | 0; + return; + } + + function $2810($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $15_1 = 0, $55_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + label$1 : while (1) { + $15_1 = 0; + label$2 : { + if (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $15_1 = (((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0) + (HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0 | 0) >= (HEAP32[((HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($15_1 & 1 | 0)) { + break label$3 + } + HEAP32[($6_1 + 16 | 0) >> 2] = ((HEAP32[((HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 76 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) | 0) - (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $55_1 = ($2535((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0 | 0, $6_1 | 0) | 0) & 255 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + $55_1 | 0; + continue label$5; + }; + } + $2510((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) - (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0; + $2785(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + continue label$1; + } + break label$1; + }; + label$6 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + $2510((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 36 | 0 | 0, (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2811($0_1, $1_1, $1$hi, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $19_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + $19_1 = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $19_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(54229 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!($2517(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 48 | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + break label$1; + } + } + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, 2 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $287(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + $40_1 = $222(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] = $40_1; + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2812($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $396_1 = 0, $127_1 = 0, $389$hi = 0, $403$hi = 0, $404$hi = 0, $10_1 = 0, $45_1 = 0, $49_1 = 0, $392$hi = 0, $53_1 = 0, $54_1 = 0, $55_1 = 0, $178_1 = 0, $187_1 = 0, $203_1 = 0, $267_1 = 0, $407$hi = 0, $408$hi = 0, $277_1 = 0, $291_1 = 0, $293_1 = 0, $322_1 = 0, $335_1 = 0, $336_1 = 0, $347_1 = 0, $354_1 = 0, $369_1 = 0, $383_1 = 0, $186_1 = 0, $849_1 = 0, $925_1 = 0, $403_1 = 0, $1027_1 = 0, $407_1 = 0, $1041_1 = 0, $1044_1 = 0, $276_1 = 0, $1081_1 = 0, $334_1 = 0, $346_1 = 0, $368_1 = 0, $386_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 112 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 104 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 96 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 100 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 92 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 88 | 0) >> 2] = $3_1; + HEAP8[($9_1 + 87 | 0) >> 0] = $4_1; + HEAP32[($9_1 + 80 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 76 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 60 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 56 | 0) >> 2] = (HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0) == ($10_1 | 0) & 1 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2814(HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($9_1 + 87 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($9_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($9_1 + 52 | 0) >> 2] = (HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 40 | 0; + $45_1 = 24; + $49_1 = 24; + label$3 : { + if (!((((HEAPU8[(HEAP32[($9_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $45_1 | 0) >> $45_1 | 0 | 0) == (((HEAPU8[($9_1 + 87 | 0) >> 0] | 0) << $49_1 | 0) >> $49_1 | 0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + if ($3228((HEAP32[($9_1 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($9_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) | 0) { + break label$3 + } + break label$1; + } + HEAP32[($9_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 68 | 0) >> 2] | 0) >> 2] | 0; + continue label$2; + }; + } + label$4 : { + label$5 : { + label$6 : { + if (!((HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + $389$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 40 | 0) >> 2] = ((((HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 1 | 0) + 40 | 0) + 1 | 0) + 64 | 0; + HEAP32[($9_1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + $392$hi = i64toi32_i32$1; + i64toi32_i32$1 = $389$hi; + i64toi32_i32$1 = $392$hi; + i64toi32_i32$1 = $389$hi; + i64toi32_i32$1 = $392$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $389$hi; + i64toi32_i32$3 = 128; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $53_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $54_1 = 0 + } else { + $54_1 = 1 + } + $55_1 = $54_1; + } else { + $55_1 = 0 + } + $53_1 = $55_1; + } + label$7 : { + if (!($53_1 & 1 | 0)) { + break label$7 + } + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 40 | 0) >> 2] = 128; + HEAP32[($9_1 + 44 | 0) >> 2] = i64toi32_i32$2; + } + label$8 : { + if (!(((HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 1 | 0 | 0) >= (HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2815(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($9_1 + 36 | 0) >> 2] | 0)) { + break label$9 + } + HEAP32[($9_1 + 108 | 0) >> 2] = HEAP32[($9_1 + 36 | 0) >> 2] | 0; + break label$4; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2814(HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($9_1 + 87 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($9_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$3 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $41(i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if ((HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + HEAP32[($9_1 + 108 | 0) >> 2] = 7; + break label$4; + } + $127_1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + $396_1 = 0; + i64toi32_i32$2 = $127_1; + HEAP32[i64toi32_i32$2 >> 2] = $396_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$2 + 32 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $396_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $127_1 + 24 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $396_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $127_1 + 16 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $396_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $127_1 + 8 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $396_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$3 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($9_1 + 48 | 0) >> 2] = (HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 40 | 0; + HEAP8[(HEAP32[($9_1 + 48 | 0) >> 2] | 0) >> 0] = HEAPU8[($9_1 + 87 | 0) >> 0] | 0; + $3288((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($9_1 + 80 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 76 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($9_1 + 76 | 0) >> 2] | 0; + HEAP8[((HEAP32[($9_1 + 48 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = 0; + HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] = (((HEAP32[($9_1 + 76 | 0) >> 2] | 0) + 1 | 0) + 1 | 0) + 40 | 0; + HEAP32[(HEAP32[($9_1 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $178_1 = HEAP32[($9_1 + 104 | 0) >> 2] | 0; + HEAP32[($178_1 + 8 | 0) >> 2] = (HEAP32[($178_1 + 8 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$3 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + $186_1 = $2519((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + $187_1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[($187_1 + 16 | 0) >> 2] = (HEAP32[($187_1 + 16 | 0) >> 2] | 0) + $186_1 | 0; + i64toi32_i32$3 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + $849_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $849_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$11 : { + if (!((HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$11 + } + $203_1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[($203_1 + 16 | 0) >> 2] = (HEAP32[($203_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP16[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 26 | 0) >> 1] = HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0 ? -1 : 0; + } + break label$5; + } + label$12 : { + if (!(((HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0 | 0) < (22 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$1 = (HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 1 | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $925_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 24 | 0) >> 2] = $925_1; + HEAP32[($9_1 + 28 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $49(HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!((HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($9_1 + 108 | 0) >> 2] = 7; + break label$4; + } + i64toi32_i32$3 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($9_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 72 | 0) >> 2] | 0) << 2 | 0) | 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[(HEAP32[($9_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($9_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($9_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + continue label$15; + }; + } + HEAP32[(HEAP32[($9_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + HEAP32[($9_1 + 68 | 0) >> 2] = HEAP32[($9_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($9_1 + 60 | 0) >> 2] = (HEAP32[($9_1 + 60 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + } + HEAP32[($9_1 + 64 | 0) >> 2] = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$3 = $9_1; + i64toi32_i32$2 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + $403_1 = i64toi32_i32$2; + $403$hi = i64toi32_i32$1; + i64toi32_i32$3 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $404$hi = i64toi32_i32$2; + i64toi32_i32$2 = $403$hi; + i64toi32_i32$2 = $404$hi; + i64toi32_i32$2 = $403$hi; + i64toi32_i32$2 = $404$hi; + $1027_1 = i64toi32_i32$1; + i64toi32_i32$2 = $403$hi; + i64toi32_i32$3 = $403_1; + i64toi32_i32$1 = $404$hi; + i64toi32_i32$0 = $1027_1; + label$16 : { + if (!(((i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$16 + } + $267_1 = 1; + i64toi32_i32$0 = $9_1; + i64toi32_i32$3 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + $407_1 = i64toi32_i32$3; + $407$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $408$hi = i64toi32_i32$3; + i64toi32_i32$3 = $407$hi; + i64toi32_i32$3 = $408$hi; + $1041_1 = i64toi32_i32$2; + i64toi32_i32$3 = $407$hi; + i64toi32_i32$0 = $407_1; + i64toi32_i32$2 = $408$hi; + i64toi32_i32$1 = $1041_1; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + $1044_1 = i64toi32_i32$0 - i64toi32_i32$1 | 0; + i64toi32_i32$0 = $9_1; + HEAP32[($9_1 + 8 | 0) >> 2] = $1044_1; + HEAP32[($9_1 + 12 | 0) >> 2] = i64toi32_i32$5; + $2691(HEAP32[($9_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 68 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$3 = $9_1; + i64toi32_i32$5 = HEAP32[($9_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 12 | 0) >> 2] | 0; + $276_1 = $2519((HEAP32[($9_1 + 64 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$0 | 0) | 0; + $277_1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[($277_1 + 16 | 0) >> 2] = (HEAP32[($277_1 + 16 | 0) >> 2] | 0) + $276_1 | 0; + i64toi32_i32$3 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9_1 + 100 | 0) >> 2] | 0; + $1081_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $1081_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($9_1 + 56 | 0) >> 2] = $267_1; + HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$17 : { + if (!((HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0) != ($267_1 | 0) & 1 | 0)) { + break label$17 + } + $291_1 = 0; + $293_1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[($293_1 + 16 | 0) >> 2] = (HEAP32[($293_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP16[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 26 | 0) >> 1] = HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0 ? -1 : $291_1; + HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = $291_1; + } + } + label$18 : { + label$19 : { + if (!((HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$19 + } + label$20 : { + label$21 : { + if (!((HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$21 + } + HEAP8[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 25 | 0) >> 0] = 1; + break label$20; + } + $322_1 = 16; + label$22 : { + if (!((HEAP32[($9_1 + 92 | 0) >> 2] | 0 | 0) != (((HEAPU16[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 26 | 0) >> 1] | 0) << $322_1 | 0) >> $322_1 | 0 | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + label$24 : { + if (HEAP32[(HEAP32[($9_1 + 104 | 0) >> 2] | 0) >> 2] | 0) { + break label$24 + } + $334_1 = HEAP32[($9_1 + 64 | 0) >> 2] | 0; + $335_1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + $336_1 = HEAP32[($335_1 + 16 | 0) >> 2] | 0; + HEAP32[($335_1 + 16 | 0) >> 2] = $336_1 + 1 | 0; + HEAP8[($334_1 + $336_1 | 0) >> 0] = 1; + i64toi32_i32$0 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $346_1 = $2519((HEAP32[($9_1 + 64 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$5 | 0) | 0; + $347_1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[($347_1 + 16 | 0) >> 2] = (HEAP32[($347_1 + 16 | 0) >> 2] | 0) + $346_1 | 0; + HEAP16[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 26 | 0) >> 1] = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + break label$23; + } + HEAP32[($9_1 + 56 | 0) >> 2] = 1; + $354_1 = HEAP32[($9_1 + 92 | 0) >> 2] | 0; + HEAP32[($9_1 + 88 | 0) >> 2] = $354_1; + HEAP16[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 26 | 0) >> 1] = $354_1; + } + } + label$25 : { + if (!(HEAP32[($9_1 + 56 | 0) >> 2] | 0)) { + break label$25 + } + i64toi32_i32$0 = ((HEAP32[($9_1 + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) | 0) + 2 | 0; + i64toi32_i32$5 = i64toi32_i32$0 >> 31 | 0; + $368_1 = $2519((HEAP32[($9_1 + 64 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$5 | 0) | 0; + $369_1 = HEAP32[($9_1 + 68 | 0) >> 2] | 0; + HEAP32[($369_1 + 16 | 0) >> 2] = (HEAP32[($369_1 + 16 | 0) >> 2] | 0) + $368_1 | 0; + HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($9_1 + 88 | 0) >> 2] | 0; + } + } + break label$18; + } + HEAP8[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 0] = 1; + } + HEAP32[($9_1 + 60 | 0) >> 2] = (HEAP32[($9_1 + 60 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($9_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + $383_1 = HEAP32[((HEAP32[($9_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[$383_1 >> 2] = (HEAP32[$383_1 >> 2] | 0) + (HEAP32[($9_1 + 60 | 0) >> 2] | 0) | 0; + HEAP32[($9_1 + 108 | 0) >> 2] = 0; + } + $386_1 = HEAP32[($9_1 + 108 | 0) >> 2] | 0; + global$0 = $9_1 + 112 | 0; + return $386_1 | 0; + } + + function $2813($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $24_1 = 0, $49_1 = 0, $23_1 = 0; + $5_1 = global$0 - 32 | 0; + $6_1 = 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $6_1; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $23_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $24_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $24_1 + 1 | 0; + label$5 : { + if (!(((HEAPU8[($23_1 + $24_1 | 0) >> 0] | 0) & 255 | 0 | 0) >= (192 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$7 : { + label$8 : while (1) { + $49_1 = 24; + if (!(((((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $49_1 | 0) >> $49_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + label$9 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) >= (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + break label$7; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + continue label$8; + }; + } + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + return HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2814($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0; + $6_1 = global$0 - 32 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP8[($6_1 + 27 | 0) >> 0] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = 13; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - 1 | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 8 | 0) >> 2] = (((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 3 | 0) ^ (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) ^ ((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + }; + } + HEAP32[($6_1 + 8 | 0) >> 2] = (((HEAP32[($6_1 + 8 | 0) >> 2] | 0) << 3 | 0) ^ (HEAP32[($6_1 + 8 | 0) >> 2] | 0) | 0) ^ ((HEAPU8[($6_1 + 27 | 0) >> 0] | 0) & 255 | 0) | 0; + return ((HEAP32[($6_1 + 8 | 0) >> 2] | 0) >>> 0) % ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) >>> 0) | 0 | 0; + } + + function $2815($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + label$6 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2692(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[$3_1 >> 2] | 0) + 40 | 0 | 0, $3303((HEAP32[$3_1 >> 2] | 0) + 40 | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[$3_1 >> 2] | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + continue label$6; + }; + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + } + $93_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $93_1 | 0; + } + + function $2816($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, $188$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $165_1 = 0, $178_1 = 0, $68_1 = 0, $350$hi = 0, $411_1 = 0, $111_1 = 0, $547_1 = 0, $184_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = 40; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[((((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($4_1 + 32 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0; + label$5 : { + label$6 : { + if ((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[(((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($4_1 + 32 | 0) >> 2] | 0, 12) | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + } + $2527(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $68_1 = 0; + i64toi32_i32$0 = 0; + $188$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $350$hi = i64toi32_i32$1; + i64toi32_i32$1 = $188$hi; + i64toi32_i32$1 = $350$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $188$hi; + i64toi32_i32$3 = Math_imul((HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 1 | 0, 12); + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2468((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 36 | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) != ($68_1 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$2 = 0; + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 12); + HEAP32[($4_1 + 44 | 0) >> 2] = i64toi32_i32$2; + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(HEAP32[($4_1 + 48 | 0) >> 2] | 0) >> 2] = 1; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $411_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = $411_1; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 24 | 0) >> 2] = ((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0, 12) | 0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + $111_1 = $2468((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 36 | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $111_1; + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + i64toi32_i32$1 = (HEAP32[((((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($4_1 + 20 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 16 | 0) >> 2] | 0, 12) | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $547_1 = i64toi32_i32$2; + i64toi32_i32$2 = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 12 | 0) >> 2] | 0, 12) | 0; + HEAP32[i64toi32_i32$2 >> 2] = $547_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + $165_1 = 8; + HEAP32[(i64toi32_i32$2 + $165_1 | 0) >> 2] = HEAP32[(i64toi32_i32$1 + $165_1 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + -1 | 0; + continue label$11; + }; + } + $178_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $178_1; + HEAP32[((HEAP32[($4_1 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2] = $178_1; + break label$8; + } + $42(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 48 | 0) >> 2] = 0; + } + } + HEAP32[($4_1 + 60 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + } + $184_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $184_1 | 0; + } + + function $2817($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $36_1 = 0, i64toi32_i32$0 = 0, $138_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 48 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $8_1; + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = $8_1; + label$1 : { + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) != ($8_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($7_1 + 16 | 0) >> 2] = 13; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) - 1 | 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + $36_1 = 24; + HEAP32[($7_1 + 16 | 0) >> 2] = (((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 3 | 0) ^ (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0) ^ (((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + (HEAP32[($7_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) << $36_1 | 0) >> $36_1 | 0) | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[($7_1 + 20 | 0) >> 2] | 0) + -1 | 0; + continue label$3; + }; + } + HEAP32[($7_1 + 16 | 0) >> 2] = (((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 3 | 0) ^ (HEAP32[($7_1 + 16 | 0) >> 2] | 0) | 0) ^ (HEAP32[($7_1 + 40 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) & 511 | 0; + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if (!((HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + if ($3228(HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + HEAP32[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 2] = 1; + break label$4; + } + HEAP32[($7_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$5; + }; + } + label$7 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2468($7_1 + 24 | 0 | 0, (HEAP32[($7_1 + 32 | 0) >> 2] | 0) + 16 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = (HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 16 | 0; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + $3288(HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($7_1 + 44 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + } + } + } + $138_1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + global$0 = $7_1 + 48 | 0; + return $138_1 | 0; + } + + function $2818($0_1, $0$hi, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $43$hi = 0, $44$hi = 0, $45_1 = 0, $45$hi = 0, $46$hi = 0, $47$hi = 0, $50$hi = 0, $51$hi = 0, $46_1 = 0, $52$hi = 0, $53$hi = 0, $54$hi = 0, $57$hi = 0, $58$hi = 0, $47_1 = 0, $59$hi = 0, $60$hi = 0, $61$hi = 0, $64$hi = 0, $65$hi = 0, $48_1 = 0, $66$hi = 0, $36_1 = 0, $67$hi = 0, $68$hi = 0, $9_1 = 0, $91_1 = 0, $103_1 = 0, $107$hi = 0, $123_1 = 0, $127$hi = 0, $158_1 = 0, $162$hi = 0, $206_1 = 0, $210$hi = 0; + $8_1 = global$0 - 48 | 0; + $9_1 = 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $8_1; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $2_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = $3_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $4_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = $5_1; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] | 0; + $91_1 = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$2; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $91_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $43$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $44$hi = i64toi32_i32$0; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$0 = $44$hi; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $45_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $45_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $45$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $46$hi = i64toi32_i32$1; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$1 = $46$hi; + $103_1 = i64toi32_i32$2; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$0 = $45_1; + i64toi32_i32$2 = $46$hi; + i64toi32_i32$3 = $103_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $47$hi = i64toi32_i32$5; + i64toi32_i32$1 = $8_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $107$hi = i64toi32_i32$0; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $47$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $8_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $50$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $51$hi = i64toi32_i32$1; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$4 = $51$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$0 << i64toi32_i32$5 | 0; + $46_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$5 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$5 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$5 | 0) | 0; + $46_1 = i64toi32_i32$0 << i64toi32_i32$5 | 0; + } + $52$hi = i64toi32_i32$4; + i64toi32_i32$0 = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $53$hi = i64toi32_i32$4; + i64toi32_i32$4 = $52$hi; + i64toi32_i32$4 = $53$hi; + $123_1 = i64toi32_i32$0; + i64toi32_i32$4 = $52$hi; + i64toi32_i32$1 = $46_1; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$3 = $123_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $54$hi = i64toi32_i32$2; + i64toi32_i32$4 = $8_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 12 | 0) >> 2] | 0; + $127$hi = i64toi32_i32$1; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$1 = $127$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $54$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$4 = $8_1; + HEAP32[(i64toi32_i32$4 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$4 + 12 | 0) >> 2] = i64toi32_i32$5; + label$1 : { + if (!((HEAP32[(i64toi32_i32$4 + 28 | 0) >> 2] | 0 | 0) >= ($9_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$1 = $8_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $57$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $58$hi = i64toi32_i32$4; + i64toi32_i32$4 = $57$hi; + i64toi32_i32$4 = $58$hi; + i64toi32_i32$4 = $57$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $58$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $47_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$2 | 0) | 0; + $47_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $59$hi = i64toi32_i32$5; + i64toi32_i32$1 = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) + 48 | 0; + i64toi32_i32$5 = i64toi32_i32$1 >> 31 | 0; + $60$hi = i64toi32_i32$5; + i64toi32_i32$5 = $59$hi; + i64toi32_i32$5 = $60$hi; + $158_1 = i64toi32_i32$1; + i64toi32_i32$5 = $59$hi; + i64toi32_i32$4 = $47_1; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$3 = $158_1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $61$hi = i64toi32_i32$0; + i64toi32_i32$5 = $8_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + $162$hi = i64toi32_i32$4; + i64toi32_i32$4 = $61$hi; + i64toi32_i32$4 = $162$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$5 = $8_1; + HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] = i64toi32_i32$2; + } + HEAP32[($8_1 + 16 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$4 = $8_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 12 | 0) >> 2] | 0; + $64$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $65$hi = i64toi32_i32$5; + i64toi32_i32$5 = $64$hi; + i64toi32_i32$5 = $65$hi; + i64toi32_i32$5 = $64$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$3 = 3; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 << i64toi32_i32$0 | 0; + $48_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$0 | 0) | 0; + $48_1 = i64toi32_i32$4 << i64toi32_i32$0 | 0; + } + $66$hi = i64toi32_i32$2; + $36_1 = 24; + i64toi32_i32$4 = ((HEAPU8[((HEAP32[($8_1 + 24 | 0) >> 2] | 0) + (HEAP32[($8_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) << $36_1 | 0) >> $36_1 | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $67$hi = i64toi32_i32$2; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$2 = $67$hi; + $206_1 = i64toi32_i32$4; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$5 = $48_1; + i64toi32_i32$4 = $67$hi; + i64toi32_i32$3 = $206_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $68$hi = i64toi32_i32$1; + i64toi32_i32$2 = $8_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $210$hi = i64toi32_i32$5; + i64toi32_i32$5 = $68$hi; + i64toi32_i32$5 = $210$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$2 = $8_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = (HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + i64toi32_i32$5 = $8_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$2; + return i64toi32_i32$0 | 0; + } + + function $2819($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $182_1 = 0, $317$hi = 0, $318$hi = 0, $31_1 = 0, $43_1 = 0, $287$hi = 0, $288$hi = 0, $55_1 = 0, $289$hi = 0, $290$hi = 0, $291$hi = 0, $292$hi = 0, $293$hi = 0, $294$hi = 0, $127_1 = 0, $131_1 = 0, $145_1 = 0, $297$hi = 0, $298$hi = 0, $56_1 = 0, $299$hi = 0, $300$hi = 0, $301$hi = 0, $302$hi = 0, $303$hi = 0, $304$hi = 0, $307$hi = 0, $308$hi = 0, $57_1 = 0, $309$hi = 0, $310$hi = 0, $311$hi = 0, $312$hi = 0, $313$hi = 0, $314$hi = 0, $16_1 = 0, $18_1 = 0, $20_1 = 0, $60_1 = 0, $477_1 = 0, $116_1 = 0, $135_1 = 0, $136_1 = 0, $204_1 = 0, $815_1 = 0, $228_1 = 0, $891_1 = 0, $317_1 = 0, $972_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 116 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 124 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 112 | 0) >> 2] = 0; + HEAP32[($4_1 + 104 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 1 | 0; + HEAP32[($4_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + $16_1 = HEAP32[($4_1 + 124 | 0) >> 2] | 0; + $18_1 = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $20_1 = HEAP32[((HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $20_1; + HEAP32[$4_1 >> 2] = $18_1; + $2517($16_1 | 0, $4_1 + 112 | 0 | 0, $79(54315 | 0, $4_1 | 0) | 0 | 0) | 0; + label$3 : while (1) { + $31_1 = 0; + label$4 : { + if (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$4 + } + $31_1 = (100 | 0) == ($287(HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0) | 0 | 0); + } + label$5 : { + if (!($31_1 & 1 | 0)) { + break label$5 + } + $43_1 = 1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $311(HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0, $43_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $315(HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0, $43_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $317(HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0, 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $317(HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0, 3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + continue label$3; + } + $60_1 = 0; + i64toi32_i32$1 = HEAP32[(HEAP32[($4_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $287$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $288$hi = i64toi32_i32$0; + i64toi32_i32$0 = $287$hi; + i64toi32_i32$0 = $288$hi; + i64toi32_i32$0 = $287$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $288$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $55_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $55_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $289$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $290$hi = i64toi32_i32$1; + i64toi32_i32$1 = $289$hi; + i64toi32_i32$1 = $290$hi; + i64toi32_i32$1 = $289$hi; + i64toi32_i32$0 = $55_1; + i64toi32_i32$2 = $290$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $291$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $292$hi = i64toi32_i32$5; + i64toi32_i32$5 = $291$hi; + i64toi32_i32$5 = $292$hi; + i64toi32_i32$5 = $291$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $292$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $293$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $294$hi = i64toi32_i32$4; + i64toi32_i32$4 = $293$hi; + i64toi32_i32$4 = $294$hi; + $477_1 = i64toi32_i32$1; + i64toi32_i32$4 = $293$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $294$hi; + i64toi32_i32$3 = $477_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 88 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 92 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$4 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2629(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) == ($60_1 | 0) & 1 | 0)) { + break label$7 + } + break label$5; + } + label$8 : { + label$9 : { + if (!((HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$8; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2698(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ($2532(HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : { + label$12 : { + if ((HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$12 + } + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$10; + } + $116_1 = $2534((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 64 | 0) >> 2] | 0) | 0 | 0, $4_1 + 56 | 0 | 0) | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + $116_1 | 0; + label$13 : { + label$14 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $127_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + break label$13; + } + $127_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + } + label$15 : { + label$16 : { + if ($127_1) { + break label$16 + } + $131_1 = 0; + break label$15; + } + $135_1 = (HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 64 | 0) >> 2] | 0) | 0; + $136_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + label$17 : { + label$18 : { + if (!((HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $145_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + break label$17; + } + $145_1 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + } + $131_1 = $3228($135_1 | 0, $136_1 | 0, $145_1 | 0) | 0; + } + HEAP32[($4_1 + 52 | 0) >> 2] = $131_1; + label$19 : { + if (HEAP32[($4_1 + 52 | 0) >> 2] | 0) { + break label$19 + } + HEAP32[($4_1 + 52 | 0) >> 2] = (HEAP32[($4_1 + 56 | 0) >> 2] | 0) - (HEAP32[($4_1 + 76 | 0) >> 2] | 0) | 0; + } + label$20 : { + if (!((HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + } + } + $2820(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0); + } + $2531(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0); + label$21 : { + if (!(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$21 + } + break label$5; + } + $2821(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($4_1 + 72 | 0) >> 2] | 0) - 1 | 0 | 0); + label$22 : { + if (!(HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$22 + } + break label$5; + } + label$23 : { + label$24 : { + if (!(HEAP32[($4_1 + 68 | 0) >> 2] | 0)) { + break label$24 + } + $182_1 = 0; + HEAP32[($4_1 + 48 | 0) >> 2] = $182_1; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = $182_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2701(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, $182_1 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + label$26 : while (1) { + if ($2615(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0) { + break label$25 + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; + label$27 : { + label$28 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < ($2617(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$27 + } + $204_1 = 0; + i64toi32_i32$2 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $297$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $298$hi = i64toi32_i32$5; + i64toi32_i32$5 = $297$hi; + i64toi32_i32$5 = $298$hi; + i64toi32_i32$5 = $297$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$2 = $298$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + $56_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $56_1 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + } + $299$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $300$hi = i64toi32_i32$2; + i64toi32_i32$2 = $299$hi; + i64toi32_i32$2 = $300$hi; + i64toi32_i32$2 = $299$hi; + i64toi32_i32$5 = $56_1; + i64toi32_i32$4 = $300$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $301$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $302$hi = i64toi32_i32$0; + i64toi32_i32$0 = $301$hi; + i64toi32_i32$0 = $302$hi; + i64toi32_i32$0 = $301$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$5 = $302$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $303$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $304$hi = i64toi32_i32$1; + i64toi32_i32$1 = $303$hi; + i64toi32_i32$1 = $304$hi; + $815_1 = i64toi32_i32$2; + i64toi32_i32$1 = $303$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $304$hi; + i64toi32_i32$3 = $815_1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$1 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2528(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$29 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) != ($204_1 | 0) & 1 | 0)) { + break label$29 + } + label$30 : { + if (!(($2532(HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 65535 | 0)) { + break label$30 + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + } + $2531(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + $228_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2617(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$4 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$4 >> 31 | 0; + $307$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $308$hi = i64toi32_i32$0; + i64toi32_i32$0 = $307$hi; + i64toi32_i32$0 = $308$hi; + i64toi32_i32$0 = $307$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$4 = $308$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $57_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$2 | 0) | 0; + $57_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $309$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $310$hi = i64toi32_i32$4; + i64toi32_i32$4 = $309$hi; + i64toi32_i32$4 = $310$hi; + i64toi32_i32$4 = $309$hi; + i64toi32_i32$0 = $57_1; + i64toi32_i32$1 = $310$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $311$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $312$hi = i64toi32_i32$5; + i64toi32_i32$5 = $311$hi; + i64toi32_i32$5 = $312$hi; + i64toi32_i32$5 = $311$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$0 = $312$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $313$hi = i64toi32_i32$2; + i64toi32_i32$4 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $314$hi = i64toi32_i32$2; + i64toi32_i32$2 = $313$hi; + i64toi32_i32$2 = $314$hi; + $891_1 = i64toi32_i32$4; + i64toi32_i32$2 = $313$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$4 = $314$hi; + i64toi32_i32$3 = $891_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$5 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2528(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$31 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) != ($228_1 | 0) & 1 | 0)) { + break label$31 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ($2532(HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 65535 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$32 : { + label$33 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 84 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$32; + } + $2535((HEAP32[(HEAP32[($4_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0 | 0, $4_1 + 16 | 0 | 0) | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$5 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $317_1 = i64toi32_i32$5; + $317$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2616(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $318$hi = i64toi32_i32$5; + i64toi32_i32$5 = $317$hi; + i64toi32_i32$5 = $318$hi; + i64toi32_i32$5 = $317$hi; + i64toi32_i32$5 = $318$hi; + $972_1 = i64toi32_i32$1; + i64toi32_i32$5 = $317$hi; + i64toi32_i32$2 = $317_1; + i64toi32_i32$1 = $318$hi; + i64toi32_i32$3 = $972_1; + label$34 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$34 + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + } + } + $2531(HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0); + } + $2618(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0) | 0; + continue label$26; + }; + } + HEAP32[($4_1 + 100 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + $2548(HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0); + break label$23; + } + HEAP32[($4_1 + 100 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 104 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + continue label$3; + } + break label$3; + }; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $213(HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + if (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + } + global$0 = $4_1 + 128 | 0; + return; + } + + function $2820($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $29_1 = 0, $46_1 = 0, $77_1 = 0, $113_1 = 0, $120_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 68 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $4_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : while (1) { + $29_1 = 0; + label$2 : { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $29_1 = (HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($29_1 & 1 | 0)) { + break label$3 + } + $46_1 = $2534((HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 64 | 0) >> 2] | 0) | 0 | 0, $4_1 + 20 | 0 | 0) | 0; + HEAP32[($4_1 + 64 | 0) >> 2] = (HEAP32[($4_1 + 64 | 0) >> 2] | 0) + $46_1 | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $77_1 = $2534((HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0 | 0, $4_1 + 16 | 0 | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + $77_1 | 0; + label$8 : { + label$9 : { + if (!(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$8; + } + $2637((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0 | 0, $4_1 + 48 | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0 | 0); + } + break label$6; + } + $113_1 = $2534((HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0 | 0, $4_1 + 12 | 0 | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + $113_1 | 0; + $120_1 = $2534((HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0 | 0, $4_1 + 8 | 0 | 0) | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 24 | 0) >> 2] | 0) + $120_1 | 0; + label$10 : { + label$11 : { + label$12 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$12 + } + if (!(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + } + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + break label$10; + } + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $2510((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0 | 0, $4_1 + 48 | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0 | 0); + } + label$13 : { + if (HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$13 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2632($4_1 + 48 | 0 | 0, $4_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + } + } + } + } + $2637((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0 | 0, $4_1 + 32 | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 48 | 0) >> 2] | 0 | 0); + continue label$1; + } + break label$1; + }; + $2521($4_1 + 48 | 0 | 0); + $2521($4_1 + 32 | 0 | 0); + global$0 = $4_1 + 80 | 0; + return; + } + + function $2821($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $12_1 = 0, $72$hi = 0, $73$hi = 0, $24_1 = 0, $74$hi = 0, $75$hi = 0, $76$hi = 0, $77$hi = 0, $78$hi = 0, $79$hi = 0, $21_1 = 0, $22_1 = 0, $146_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + label$1 : while (1) { + $12_1 = 0; + label$2 : { + if (HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$2 + } + $12_1 = (HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) <= (HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($12_1 & 1 | 0)) { + break label$3 + } + $21_1 = 0; + $22_1 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(HEAP32[($7_1 + 24 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $72$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $73$hi = i64toi32_i32$0; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$3 = 37; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $24_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $24_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $74$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $75$hi = i64toi32_i32$1; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$1 = $75$hi; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$0 = $24_1; + i64toi32_i32$2 = $75$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $76$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $77$hi = i64toi32_i32$5; + i64toi32_i32$5 = $76$hi; + i64toi32_i32$5 = $77$hi; + i64toi32_i32$5 = $76$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $77$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $78$hi = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $79$hi = i64toi32_i32$4; + i64toi32_i32$4 = $78$hi; + i64toi32_i32$4 = $79$hi; + $146_1 = i64toi32_i32$1; + i64toi32_i32$4 = $78$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$3 = $146_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2528($22_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) != ($21_1 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if ((HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + } + label$6 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + if (!((0 | 0) != (($2532(HEAP32[(HEAP32[($7_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = 267; + } + } + $2531(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + global$0 = $7_1 + 32 | 0; + return; + } + + function $2822($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2775(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $2492(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $7_1 = $2491(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $7_1 | 0; + } + + function $2823($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $21$hi = 0, $22$hi = 0, $21_1 = 0, $60_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $21_1 = i64toi32_i32$0; + $21$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $22$hi = i64toi32_i32$0; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$0 = $22$hi; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$0 = $22$hi; + $60_1 = i64toi32_i32$1; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$2 = $21_1; + i64toi32_i32$1 = $22$hi; + label$3 : { + if (!(((i64toi32_i32$2 | 0) == ($60_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + continue label$2; + }; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2824($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $10_1 = 0, $12_1 = 0, $14_1 = 0, $15_1 = 0, $16_1 = 0, $22_1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + label$1 : { + if (HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + $10_1 = HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + $12_1 = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $14_1 = HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $15_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $16_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $16_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $15_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $14_1; + HEAP32[$6_1 >> 2] = $12_1; + $22_1 = $2512($10_1 | 0, 0 | 0, 54422 | 0, $6_1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] = $22_1; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2825($0_1, $0$hi, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $16$hi = 0, $17$hi = 0, $19$hi = 0, $20$hi = 0, $26_1 = 0, $22$hi = 0, $23$hi = 0, $25$hi = 0, $26$hi = 0, $27_1 = 0, $28$hi = 0, $29$hi = 0, $31$hi = 0, $32$hi = 0, $28_1 = 0, $34$hi = 0, $35$hi = 0; + $7_1 = global$0 - 32 | 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $7_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $2_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = $3_1; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $4_1; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $16$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $17$hi = i64toi32_i32$1; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $17$hi; + i64toi32_i32$3 = 2147483647; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + HEAP32[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 2] = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $19$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $20$hi = i64toi32_i32$2; + i64toi32_i32$2 = $19$hi; + i64toi32_i32$2 = $20$hi; + i64toi32_i32$2 = $19$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$3 = 31; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $26_1 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + $26_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$1 = $7_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $26_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $22$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $23$hi = i64toi32_i32$1; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$3 = 31; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + HEAP32[(HEAP32[($7_1 + 12 | 0) >> 2] | 0) >> 2] = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $25$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $26$hi = i64toi32_i32$2; + i64toi32_i32$2 = $25$hi; + i64toi32_i32$2 = $26$hi; + i64toi32_i32$2 = $25$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$3 = 5; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $27_1 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + $27_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$1 = $7_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $27_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $29$hi = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $31$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $32$hi = i64toi32_i32$2; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$2 = $32$hi; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $32$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $28_1 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + $28_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$1 = $7_1; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $28_1; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $34$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $35$hi = i64toi32_i32$1; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $35$hi; + i64toi32_i32$3 = 65535; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + HEAP32[(HEAP32[($7_1 + 20 | 0) >> 2] | 0) >> 2] = i64toi32_i32$2 & i64toi32_i32$3 | 0; + return; + } + + function $2826($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $43$hi = 0, i64toi32_i32$2 = 0, $45$hi = 0, $32_1 = 0, $33_1 = 0, $35_1 = 0, $36_1 = 0, $37_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $2825(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $5_1 + 28 | 0 | 0, $5_1 + 16 | 0 | 0, $5_1 + 24 | 0 | 0, $5_1 + 20 | 0 | 0); + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$1 = 0; + $43$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $45$hi = i64toi32_i32$0; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $43$hi; + label$3 : { + label$4 : { + if (!(((i64toi32_i32$2 | 0) == (1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$4 + } + $2503(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 54533 | 0, 0 | 0); + break label$3; + } + $2503(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, 54545 | 0, 0 | 0); + } + break label$1; + } + $32_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $33_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $35_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0 ? 54583 : 1352; + $36_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $37_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $37_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $36_1; + HEAP32[$5_1 >> 2] = $35_1; + $2503($32_1 | 0, $33_1 | 0, 54557 | 0, $5_1 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2827($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $24_1 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, i64toi32_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = 1352; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $24_1 = ($2535((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + (HEAP32[($6_1 + 28 | 0) >> 2] | 0) | 0 | 0, $6_1 + 16 | 0 | 0) | 0) & 255 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + $24_1 | 0; + $27_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + $28_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + $29_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $29_1; + $2503($27_1 | 0, $28_1 | 0, 54590 | 0, $6_1 | 0); + HEAP32[($6_1 + 24 | 0) >> 2] = 33413; + continue label$2; + }; + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $2828($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2529(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $7_1 | 0, $6_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + break label$1; + } + $2832(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + $2490(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2829($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $68$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $24_1 = 0, $68_1 = 0, $133$hi = 0, $61_1 = 0, $62_1 = 0, $221_1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = 0; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1352; + $24_1 = ($2535((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + (HEAP32[($6_1 + 44 | 0) >> 2] | 0) | 0 | 0, $6_1 + 16 | 0 | 0) | 0) & 255 | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + $24_1 | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $68_1 = i64toi32_i32$0; + $68$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $133$hi = i64toi32_i32$0; + i64toi32_i32$0 = $68$hi; + i64toi32_i32$0 = $133$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $68$hi; + i64toi32_i32$3 = $68_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$5; + label$3 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + if ((HEAPU8[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + (HEAP32[($6_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + label$4 : { + label$5 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + if ((HEAPU8[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + (HEAP32[($6_1 + 44 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = 54647; + break label$4; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 29181; + } + } + $61_1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $62_1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $221_1 = i64toi32_i32$5; + i64toi32_i32$5 = $6_1; + HEAP32[$6_1 >> 2] = $221_1; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$2; + $2503($61_1 | 0, $62_1 | 0, 54649 | 0, $6_1 | 0); + continue label$2; + }; + } + global$0 = $6_1 + 64 | 0; + return; + } + + function $2830($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $21_1 = 0, $24_1 = 0, $25_1 = 0, $28_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $21_1 = $2534((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0 | 0, $6_1 + 8 | 0 | 0) | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + $21_1 | 0; + $24_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $25_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + $2503($24_1 | 0, $25_1 | 0, 54657 | 0, $6_1 | 0); + continue label$2; + }; + } + $28_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $28_1 | 0; + } + + function $2831($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $7_1 = 0, $72_1 = 0, $104$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $21_1 = 0, $22_1 = 0, $158_1 = 0, $44_1 = 0, $47_1 = 0, $48_1 = 0, $49_1 = 0, $55_1 = 0, $56_1 = 0, $59_1 = 0, $75_1 = 0, $93_1 = 0, $104_1 = 0, $325$hi = 0, $96_1 = 0, $97_1 = 0, $337_1 = 0, $99_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 96 | 0; + global$0 = $6_1; + $7_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $3_1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 72 | 0) >> 2] = 0; + HEAP32[($6_1 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 68 | 0) >> 2] = $7_1; + label$1 : { + if (!((HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) > ($7_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = ($2535(HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0, $6_1 + 72 | 0 | 0) | 0) & 255 | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + $21_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $22_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + $158_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $158_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$1; + $2503($21_1 | 0, $22_1 | 0, 54661 | 0, $6_1 + 32 | 0 | 0); + } + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $44_1 = $2631((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 68 | 0) >> 2] | 0) | 0 | 0, $6_1 + 64 | 0 | 0, $6_1 + 60 | 0 | 0) | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + $44_1 | 0; + $47_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $48_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + $49_1 = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0 ? 29181 : 1352; + HEAP32[($6_1 + 16 | 0) >> 2] = $49_1; + $2503($47_1 | 0, $48_1 | 0, 54670 | 0, $6_1 + 16 | 0 | 0); + $55_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $56_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + $59_1 = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 68 | 0) >> 2] | 0) | 0; + label$4 : { + label$5 : { + if (!(((HEAP32[($6_1 + 80 | 0) >> 2] | 0) - (HEAP32[($6_1 + 68 | 0) >> 2] | 0) | 0 | 0) < (HEAP32[($6_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $72_1 = (HEAP32[($6_1 + 80 | 0) >> 2] | 0) - (HEAP32[($6_1 + 68 | 0) >> 2] | 0) | 0; + break label$4; + } + $72_1 = HEAP32[($6_1 + 64 | 0) >> 2] | 0; + } + $75_1 = $2830($55_1 | 0, $56_1 | 0, $59_1 | 0, $72_1 | 0) | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + $75_1 | 0; + label$6 : { + if (!((HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $93_1 = ($2535((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (HEAP32[($6_1 + 68 | 0) >> 2] | 0) | 0 | 0, $6_1 + 48 | 0 | 0) | 0) & 255 | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + $93_1 | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 52 | 0) >> 2] | 0; + $104_1 = i64toi32_i32$1; + $104$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + $325$hi = i64toi32_i32$1; + i64toi32_i32$1 = $104$hi; + i64toi32_i32$1 = $325$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $104$hi; + i64toi32_i32$3 = $104_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $6_1; + HEAP32[($6_1 + 72 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($6_1 + 76 | 0) >> 2] = i64toi32_i32$5; + $96_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $97_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = $6_1; + i64toi32_i32$5 = HEAP32[($6_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + $337_1 = i64toi32_i32$5; + i64toi32_i32$5 = $6_1; + HEAP32[$6_1 >> 2] = $337_1; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$2; + $2503($96_1 | 0, $97_1 | 0, 54661 | 0, $6_1 | 0); + } + continue label$3; + }; + } + $99_1 = HEAP32[($6_1 + 68 | 0) >> 2] | 0; + global$0 = $6_1 + 96 | 0; + return $99_1 | 0; + } + + function $2832($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $22_1 = 0, $23_1 = 0, $24_1 = 0, $26_1 = 0, $47_1 = 0, $48_1 = 0, $50_1 = 0, $52_1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 48 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5_1 + 40 | 0) >> 2] = ((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 24 | 0) + Math_imul(HEAP32[($5_1 + 48 | 0) >> 2] | 0, 12) | 0; + $22_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $23_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + $24_1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + $26_1 = HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $26_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $24_1; + $2503($22_1 | 0, $23_1 | 0, 54595 | 0, $5_1 + 16 | 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 12) | 0; + $47_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $48_1 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + $50_1 = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + $52_1 = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $52_1; + HEAP32[$5_1 >> 2] = $50_1; + $2503($47_1 | 0, $48_1 | 0, 54622 | 0, $5_1 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $2503(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, 54645 | 0, 0 | 0); + HEAP32[($5_1 + 48 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $2833($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $2834(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $2834($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $8_1 = 0, $7_1 = 0, $89_1 = 0, $93_1 = 0, $168_1 = 0, i64toi32_i32$0 = 0, $92_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 80 | 0; + global$0 = $6_1; + $7_1 = 1; + $8_1 = 0; + HEAP32[($6_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 64 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $302(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $303(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 52 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 28 | 0) >> 2] = 54896; + HEAP32[($6_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) < ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$6_1 >> 2] = HEAP32[($6_1 + 64 | 0) >> 2] | 0 ? 54827 : 54817; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(54904 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $263(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$1; + } + label$3 : { + if (!(HEAP32[($6_1 + 64 | 0) >> 2] | 0)) { + break label$3 + } + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 16 | 0) >> 2] = 2; + } + HEAP32[($6_1 + 24 | 0) >> 2] = ((HEAP32[($6_1 + 72 | 0) >> 2] | 0) - (HEAP32[($6_1 + 16 | 0) >> 2] | 0) | 0) + 3 | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $41((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + $286(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = 8749; + HEAP32[((HEAP32[($6_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = 14130; + HEAP32[($6_1 + 36 | 0) >> 2] = 3; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($6_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $89_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + break label$7; + } + $89_1 = 1352; + } + $92_1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + $93_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = $93_1 + 1 | 0; + HEAP32[($92_1 + ($93_1 << 2 | 0) | 0) >> 2] = $89_1; + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($6_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 52 | 0) >> 2] = 1352; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2469(HEAP32[($6_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, $6_1 + 20 | 0 | 0, $6_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2416(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, $6_1 + 44 | 0 | 0, $6_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + if (HEAP32[($6_1 + 40 | 0) >> 2] | 0) { + break label$11 + } + label$12 : { + label$13 : { + if (!((HEAP32[((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(1352 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + break label$12; + } + label$14 : { + label$15 : { + if (!(HEAP32[($6_1 + 64 | 0) >> 2] | 0)) { + break label$15 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2841(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + break label$14; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2842(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + } + label$16 : { + label$17 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($6_1 + 40 | 0) >> 2] = 7; + break label$16; + } + $168_1 = -1; + $277(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, $168_1 | 0, $168_1 | 0); + $42(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + } + label$18 : { + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$18 + } + label$19 : { + label$20 : { + if (!((HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + $263(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + break label$19; + } + $284(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + } + } + $42(HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + $2483(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + $2426(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 80 | 0; + return; + } + + function $2835($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $2834(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $2836($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$2 + } + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 55036 | 0, -1 | 0); + break label$1; + } + i64toi32_i32$0 = 0; + $38_1 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $38_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $38_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $2837(55087 | 0, $5_1 | 0) | 0; + $2837(55090 | 0, $5_1 | 0) | 0; + $2837(55093 | 0, $5_1 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $267(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + ($2838(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0) | 0) >> 0] | 0) & 255 | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2837($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $44_1 = 0, $140_1 = 0, $13_1 = 0, $71_1 = 0, $36_1 = 0, $150_1 = 0, $80_1 = 0, $101_1 = 0, $169_1 = 0, $176_1 = 0, $95_1 = 0, $116_1 = 0, $191_1 = 0, $10_1 = 0, $124_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP8[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 0] = 1; + $10_1 = (HEAP8[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0] | 0) + -67 | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($10_1 | 0) { + case 0: + $13_1 = HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + label$10 : { + label$11 : { + label$12 : { + if (($13_1 | 0) == (42 | 0)) { + break label$12 + } + label$13 : { + label$14 : { + label$15 : { + label$16 : { + label$17 : { + if (($13_1 | 0) == (99 | 0)) { + break label$17 + } + if (($13_1 | 0) == (102 | 0)) { + break label$16 + } + if (($13_1 | 0) == (110 | 0)) { + break label$15 + } + if (($13_1 | 0) == (111 | 0)) { + break label$13 + } + if (($13_1 | 0) == (115 | 0)) { + break label$14 + } + break label$11; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = 1; + break label$10; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 2 | 0) >> 0] = 1; + break label$10; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 3 | 0) >> 0] = 1; + break label$10; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 0] = 1; + break label$10; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 31 | 0) >> 0] = 1; + break label$10; + } + $36_1 = 1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = $36_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 2 | 0) >> 0] = $36_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 3 | 0) >> 0] = $36_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 0] = $36_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 31 | 0) >> 0] = $36_1; + break label$10; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + break label$2; + case 9: + $44_1 = HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + label$18 : { + label$19 : { + label$20 : { + if (($44_1 | 0) == (42 | 0)) { + break label$20 + } + label$21 : { + if (($44_1 | 0) == (67 | 0)) { + break label$21 + } + label$22 : { + label$23 : { + label$24 : { + label$25 : { + label$26 : { + if (($44_1 | 0) == (108 | 0)) { + break label$26 + } + if (($44_1 | 0) == (109 | 0)) { + break label$25 + } + if (($44_1 | 0) == (111 | 0)) { + break label$24 + } + if (($44_1 | 0) == (116 | 0)) { + break label$23 + } + if (($44_1 | 0) == (117 | 0)) { + break label$22 + } + break label$19; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 5 | 0) >> 0] = 1; + break label$18; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 6 | 0) >> 0] = 1; + break label$18; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 7 | 0) >> 0] = 1; + break label$18; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 0] = 1; + break label$18; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 9 | 0) >> 0] = 1; + break label$18; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 30 | 0) >> 0] = 1; + break label$18; + } + $71_1 = 1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 5 | 0) >> 0] = $71_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 6 | 0) >> 0] = $71_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 7 | 0) >> 0] = $71_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 0] = $71_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 9 | 0) >> 0] = $71_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 30 | 0) >> 0] = $71_1; + break label$18; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + break label$2; + case 10: + $80_1 = HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + label$27 : { + label$28 : { + label$29 : { + if (($80_1 | 0) == (42 | 0)) { + break label$29 + } + label$30 : { + label$31 : { + label$32 : { + if (($80_1 | 0) == (99 | 0)) { + break label$32 + } + if (($80_1 | 0) == (101 | 0)) { + break label$31 + } + if (($80_1 | 0) == (110 | 0)) { + break label$30 + } + break label$28; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 0] = 1; + break label$27; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 11 | 0) >> 0] = 1; + break label$27; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 0] = 1; + break label$27; + } + $95_1 = 1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 10 | 0) >> 0] = $95_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 11 | 0) >> 0] = $95_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 12 | 0) >> 0] = $95_1; + break label$27; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + break label$2; + case 11: + $101_1 = HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + label$33 : { + label$34 : { + label$35 : { + if (($101_1 | 0) == (42 | 0)) { + break label$35 + } + label$36 : { + label$37 : { + label$38 : { + if (($101_1 | 0) == (100 | 0)) { + break label$38 + } + if (($101_1 | 0) == (108 | 0)) { + break label$37 + } + if (($101_1 | 0) == (111 | 0)) { + break label$36 + } + break label$34; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 13 | 0) >> 0] = 1; + break label$33; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 14 | 0) >> 0] = 1; + break label$33; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 15 | 0) >> 0] = 1; + break label$33; + } + $116_1 = 1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 13 | 0) >> 0] = $116_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 14 | 0) >> 0] = $116_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 15 | 0) >> 0] = $116_1; + break label$33; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + break label$2; + case 13: + $124_1 = (HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) + -42 | 0; + label$39 : { + label$40 : { + switch ($124_1 | 0) { + case 57: + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] = 1; + break label$39; + case 58: + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + break label$39; + case 59: + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 18 | 0) >> 0] = 1; + break label$39; + case 60: + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 19 | 0) >> 0] = 1; + break label$39; + case 63: + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 0] = 1; + break label$39; + case 69: + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 21 | 0) >> 0] = 1; + break label$39; + case 73: + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 22 | 0) >> 0] = 1; + break label$39; + case 0: + $140_1 = 1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] = $140_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 17 | 0) >> 0] = $140_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 18 | 0) >> 0] = $140_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 19 | 0) >> 0] = $140_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 0] = $140_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 21 | 0) >> 0] = $140_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 22 | 0) >> 0] = $140_1; + break label$39; + default: + break label$40; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + break label$2; + case 16: + $150_1 = HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + label$49 : { + label$50 : { + label$51 : { + if (($150_1 | 0) == (42 | 0)) { + break label$51 + } + label$52 : { + label$53 : { + label$54 : { + label$55 : { + if (($150_1 | 0) == (99 | 0)) { + break label$55 + } + if (($150_1 | 0) == (107 | 0)) { + break label$54 + } + if (($150_1 | 0) == (109 | 0)) { + break label$53 + } + if (($150_1 | 0) == (111 | 0)) { + break label$52 + } + break label$50; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 23 | 0) >> 0] = 1; + break label$49; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] = 1; + break label$49; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 25 | 0) >> 0] = 1; + break label$49; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 26 | 0) >> 0] = 1; + break label$49; + } + $169_1 = 1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 23 | 0) >> 0] = $169_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] = $169_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 25 | 0) >> 0] = $169_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 26 | 0) >> 0] = $169_1; + break label$49; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + break label$2; + case 23: + break label$3; + default: + break label$2; + }; + } + $176_1 = HEAP8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + label$56 : { + label$57 : { + label$58 : { + if (($176_1 | 0) == (42 | 0)) { + break label$58 + } + label$59 : { + label$60 : { + label$61 : { + if (($176_1 | 0) == (108 | 0)) { + break label$61 + } + if (($176_1 | 0) == (112 | 0)) { + break label$60 + } + if (($176_1 | 0) == (115 | 0)) { + break label$59 + } + break label$57; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 27 | 0) >> 0] = 1; + break label$56; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 0] = 1; + break label$56; + } + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 29 | 0) >> 0] = 1; + break label$56; + } + $191_1 = 1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 27 | 0) >> 0] = $191_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 28 | 0) >> 0] = $191_1; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 29 | 0) >> 0] = $191_1; + break label$56; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2838($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $13_1 = 0; + $3_1 = global$0 - 32 | 0; + HEAP32[($3_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 20 | 0) >> 2] = -1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 0 >= 1048576 >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $13_1 = 73264; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAPU16[($13_1 + (((HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 16 | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAPU16[($13_1 + ((((HEAP32[($3_1 + 24 | 0) >> 2] | 0) >>> 16 | 0) + 1 | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; + HEAP16[($3_1 + 6 | 0) >> 1] = (HEAP32[($3_1 + 24 | 0) >> 2] | 0) & 65535 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[$3_1 >> 2] = ((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + (HEAP32[($3_1 + 12 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$5 : { + label$6 : { + if (!(((HEAPU16[($3_1 + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) >= ((HEAPU16[(73312 + ((HEAP32[$3_1 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[$3_1 >> 2] | 0) + 1 | 0; + break label$5; + } + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; + } + continue label$4; + }; + } + label$7 : { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$8 : { + if (!(((HEAPU16[($3_1 + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) >= (((HEAPU16[(73312 + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) + (((HEAPU16[(76848 + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) >> 5 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 8 | 0) >> 2] = ((HEAPU16[(76848 + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) & 31 | 0; + label$9 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (30 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($3_1 + 28 | 0) >> 2] = (((HEAPU16[($3_1 + 6 | 0) >> 1] | 0) & 65535 | 0) - ((HEAPU16[(73312 + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) | 0) & 1 | 0 ? 5 : 9; + } + return HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2839($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$2 + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 55096 | 0, -1 | 0); + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $267(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $2840(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2840($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $159_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) >= (65 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) <= (90 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 32 | 0; + } + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (65536 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 162; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = -1; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 16 | 0) >> 2] = ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) - ((HEAPU16[(55152 + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 1] | 0) & 65535 | 0) | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + break label$8; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) - 1 | 0; + } + continue label$7; + }; + } + HEAP32[($4_1 + 32 | 0) >> 2] = 55152 + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0; + label$10 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (((HEAPU16[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0) + ((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + if (!((0 | 0) == ((((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) & 1 | 0) & (((HEAPU16[(HEAP32[($4_1 + 32 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0) ^ (HEAP32[($4_1 + 44 | 0) >> 2] | 0) | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 36 | 0) >> 2] = ((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + ((HEAPU16[(55808 + ((((HEAPU8[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) >> 1 | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) | 0) & 65535 | 0; + } + label$11 : { + if (!(HEAP32[($4_1 + 40 | 0) >> 2] | 0)) { + break label$11 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2845(HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + break label$4; + } + label$12 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) >= (66560 | 0) & 1 | 0)) { + break label$12 + } + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) < (66600 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 40 | 0; + } + } + } + $159_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $159_1 | 0; + } + + function $2841($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $176_1 = 0, $251_1 = 0, $270_1 = 0, $25_1 = 0, $61_1 = 0, $68_1 = 0, $85_1 = 0, $119_1 = 0, $196_1 = 0, $198_1 = 0, $300_1 = 0, $310_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 176 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 168 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 164 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 160 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 156 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if ((HEAP32[(HEAP32[($5_1 + 160 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[(HEAP32[($5_1 + 160 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP32[($5_1 + 152 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $25_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + HEAP32[($5_1 + 80 | 0) >> 2] = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843($25_1 | 0, 54945 | 0, $5_1 + 80 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 172 | 0) >> 2] = 0; + break label$1; + } + label$6 : { + if (!((HEAP32[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 140 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($5_1 + 136 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + $61_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 140 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843($61_1 | 0, 54949 | 0, $5_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + break label$7; + } + $68_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + HEAP32[($5_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 140 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843($68_1 | 0, 54958 | 0, $5_1 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 148 | 0) >> 2] = 1; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $85_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + HEAP32[($5_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 140 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 148 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843($85_1 | 0, 54657 | 0, $5_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 148 | 0) >> 2] = (HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 54967 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + if (!((HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5_1 + 172 | 0) >> 2] = 0; + break label$1; + } + } + label$12 : { + if (!((HEAP32[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$12 + } + $119_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 152 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843($119_1 | 0, 54970 | 0, $5_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!((HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5_1 + 172 | 0) >> 2] = 0; + break label$1; + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 49667 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($5_1 + 172 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 148 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($5_1 + 132 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 152 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($5_1 + 148 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 54980 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 144 | 0) >> 2] = 0; + label$17 : while (1) { + $176_1 = 0; + label$18 : { + if (!((HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + $176_1 = (HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + } + label$19 : { + if (!($176_1 & 1 | 0)) { + break label$19 + } + HEAP32[($5_1 + 128 | 0) >> 2] = HEAP32[((((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 144 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] | 0; + $196_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + $198_1 = HEAP32[($5_1 + 144 | 0) >> 2] | 0 ? 33413 : 1352; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 128 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $198_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843($196_1 | 0, 27033 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!(((HEAPU8[(((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($5_1 + 144 | 0) >> 2] | 0) << 4 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 29181 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($5_1 + 144 | 0) >> 2] = (HEAP32[($5_1 + 144 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + } + break label$17; + }; + label$21 : { + if (!((HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 54645 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + } + label$22 : { + if (!((HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($5_1 + 172 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 148 | 0) >> 2] = (HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + break label$2; + } + HEAP32[($5_1 + 124 | 0) >> 2] = 0; + $251_1 = (HEAP32[(HEAP32[($5_1 + 160 | 0) >> 2] | 0) >> 2] | 0) + -2 | 0; + label$23 : { + label$24 : { + switch ($251_1 | 0) { + case 0: + HEAP32[($5_1 + 124 | 0) >> 2] = 49891; + break label$23; + case 1: + HEAP32[($5_1 + 124 | 0) >> 2] = 49895; + break label$23; + default: + break label$24; + }; + } + HEAP32[($5_1 + 124 | 0) >> 2] = 49888; + } + HEAP32[($5_1 + 112 | 0) >> 2] = HEAP32[($5_1 + 124 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(1976 | 0, $5_1 + 112 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 120 | 0) >> 2] = 0; + label$27 : while (1) { + $270_1 = 0; + label$28 : { + if (!((HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + $270_1 = (HEAP32[($5_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + } + label$29 : { + if (!($270_1 & 1 | 0)) { + break label$29 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2841(HEAP32[($5_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 164 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 160 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($5_1 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$30 : { + label$31 : { + if ((HEAP32[($5_1 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$31 + } + $42(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 156 | 0) >> 2] = 0; + break label$30; + } + $300_1 = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + HEAP32[($5_1 + 96 | 0) >> 2] = HEAP32[($5_1 + 116 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2843($300_1 | 0, 54983 | 0, $5_1 + 96 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($5_1 + 120 | 0) >> 2] = (HEAP32[($5_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$27; + } + break label$27; + }; + } + HEAP32[($5_1 + 172 | 0) >> 2] = HEAP32[($5_1 + 156 | 0) >> 2] | 0; + } + $310_1 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + global$0 = $5_1 + 176 | 0; + return $310_1 | 0; + } + + function $2842($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $308_1 = 0, $258_1 = 0, $328_1 = 0, $332_1 = 0, $62_1 = 0, $76_1 = 0, $103_1 = 0, $200_1 = 0, $202_1 = 0, $239_1 = 0, $325_1 = 0, $335_1 = 0, $336_1 = 0, $354_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 144 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 136 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 132 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 128 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (HEAP32[(HEAP32[($4_1 + 132 | 0) >> 2] | 0) >> 2] | 0) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79(54989 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + label$4 : { + label$5 : { + if ((HEAP32[(HEAP32[($4_1 + 132 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[(HEAP32[($4_1 + 132 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($4_1 + 124 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2843(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, 54992 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4_1 + 112 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $62_1 = HEAP32[($4_1 + 128 | 0) >> 2] | 0; + $76_1 = HEAP32[((HEAP32[((HEAP32[($4_1 + 136 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[(((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4_1 + 112 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 112 | 0) >> 2] | 0 | 0) == ((HEAP32[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0 ? 1352 : 33413; + HEAP32[$4_1 >> 2] = $76_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2843($62_1 | 0, 27033 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 112 | 0) >> 2] = (HEAP32[($4_1 + 112 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$10 : { + if (!((HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $103_1 = HEAP32[($4_1 + 128 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 108 | 0) >> 2] | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0 ? 54645 : 1352; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2843($103_1 | 0, 54994 | 0, $4_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + if (!((HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 140 | 0) >> 2] = 0; + break label$1; + } + } + label$12 : { + if (!((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2843(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, 55e3 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!((HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($4_1 + 140 | 0) >> 2] = 0; + break label$1; + } + } + HEAP32[($4_1 + 120 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 104 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($4_1 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$16 : { + if (!(HEAP32[($4_1 + 120 | 0) >> 2] | 0)) { + break label$16 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2843(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0, 33413 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!((HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($4_1 + 140 | 0) >> 2] = 0; + break label$1; + } + } + HEAP32[($4_1 + 116 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2844(((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($4_1 + 116 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!((HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + $200_1 = HEAP32[($4_1 + 128 | 0) >> 2] | 0; + $202_1 = HEAP32[($4_1 + 116 | 0) >> 2] | 0 ? 55006 : 1352; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $202_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2843($200_1 | 0, 27033 | 0, $4_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0); + } + label$21 : { + label$22 : { + if ((HEAP32[($4_1 + 100 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$22 + } + if (!((HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$21 + } + } + $42(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 140 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4_1 + 116 | 0) >> 2] = (HEAP32[($4_1 + 116 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + HEAP32[($4_1 + 120 | 0) >> 2] = (HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + label$23 : { + if (!((HEAP32[((HEAP32[($4_1 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$23 + } + $239_1 = HEAP32[($4_1 + 128 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 124 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2843($239_1 | 0, 55010 | 0, $4_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($4_1 + 140 | 0) >> 2] = 0; + break label$1; + } + } + break label$3; + } + HEAP32[($4_1 + 96 | 0) >> 2] = 0; + $258_1 = (HEAP32[(HEAP32[($4_1 + 132 | 0) >> 2] | 0) >> 2] | 0) + -2 | 0; + label$25 : { + label$26 : { + switch ($258_1 | 0) { + case 0: + HEAP32[($4_1 + 96 | 0) >> 2] = 32800; + break label$25; + case 1: + HEAP32[($4_1 + 96 | 0) >> 2] = 55016; + break label$25; + default: + break label$26; + }; + } + HEAP32[($4_1 + 96 | 0) >> 2] = 55022; + } + HEAP32[($4_1 + 92 | 0) >> 2] = 0; + label$29 : { + label$30 : while (1) { + if (!((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2842(HEAP32[($4_1 + 136 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($4_1 + 92 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + label$31 : { + label$32 : { + if (!((HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$32 + } + $42(HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 128 | 0) >> 2] = 0; + break label$31; + } + HEAP32[($4_1 + 84 | 0) >> 2] = HEAP32[(HEAP32[(((HEAP32[($4_1 + 132 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($4_1 + 92 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0; + $308_1 = 0; + label$33 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) != (9 | 0) & 1 | 0)) { + break label$33 + } + $308_1 = 0; + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$33 + } + $308_1 = (HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) != (0 | 0); + } + HEAP32[($4_1 + 80 | 0) >> 2] = $308_1 & 1 | 0; + $325_1 = HEAP32[($4_1 + 128 | 0) >> 2] | 0; + label$34 : { + label$35 : { + if (HEAP32[($4_1 + 92 | 0) >> 2] | 0) { + break label$35 + } + $328_1 = 1352; + break label$34; + } + $328_1 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + } + $332_1 = 1352; + $335_1 = HEAP32[($4_1 + 80 | 0) >> 2] | 0 ? 32826 : $332_1; + $336_1 = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 76 | 0) >> 2] = HEAP32[($4_1 + 80 | 0) >> 2] | 0 ? 5213 : $332_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $336_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $335_1; + HEAP32[($4_1 + 64 | 0) >> 2] = $328_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2843($325_1 | 0, 55027 | 0, $4_1 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + } + label$36 : { + if (!((HEAP32[($4_1 + 128 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$36 + } + break label$29; + } + HEAP32[($4_1 + 92 | 0) >> 2] = (HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 1 | 0; + continue label$30; + }; + } + } + HEAP32[($4_1 + 140 | 0) >> 2] = HEAP32[($4_1 + 128 | 0) >> 2] | 0; + } + $354_1 = HEAP32[($4_1 + 140 | 0) >> 2] | 0; + global$0 = $4_1 + 144 | 0; + return $354_1 | 0; + } + + function $2843($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $26_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $78(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = $26_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $79(27033 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $42(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + $33_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $33_1 | 0; + } + + function $2844($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $139$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $45_1 = 0, $62_1 = 0, $72_1 = 0, $76_1 = 0, $81_1 = 0, $88_1 = 0, $101_1 = 0, $120_1 = 0, $125_1 = 0, $131_1 = 0, $139_1 = 0, $188$hi = 0, $44_1 = 0, $71_1 = 0, $79_1 = 0, $80_1 = 0, $87_1 = 0, $100_1 = 0, $119_1 = 0, $124_1 = 0, $130_1 = 0, $135_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$1 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$1 = ((($3303(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) << 1 | 0) + 3 | 0) + 2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $139_1 = i64toi32_i32$1; + $139$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $188$hi = i64toi32_i32$1; + i64toi32_i32$1 = $139$hi; + i64toi32_i32$1 = $188$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $139$hi; + i64toi32_i32$3 = $139_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$2; + }; + } + i64toi32_i32$1 = $3_1; + i64toi32_i32$5 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $41(i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[$3_1 >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $44_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $45_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $45_1 + 1 | 0; + HEAP8[($44_1 + $45_1 | 0) >> 0] = 34; + label$6 : { + label$7 : while (1) { + if (!(((HEAPU8[(HEAP32[$3_1 >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + $62_1 = 24; + label$8 : { + if (!((((HEAPU8[(HEAP32[$3_1 >> 2] | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$8 + } + $71_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $72_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $72_1 + 1 | 0; + HEAP8[($71_1 + $72_1 | 0) >> 0] = 34; + } + $76_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[$3_1 >> 2] = $76_1 + 1 | 0; + $79_1 = HEAPU8[$76_1 >> 0] | 0; + $80_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $81_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $81_1 + 1 | 0; + HEAP8[($80_1 + $81_1 | 0) >> 0] = $79_1; + continue label$7; + }; + } + $87_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $88_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $88_1 + 1 | 0; + HEAP8[($87_1 + $88_1 | 0) >> 0] = 34; + label$9 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $100_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $101_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $101_1 + 1 | 0; + HEAP8[($100_1 + $101_1 | 0) >> 0] = 124; + } + HEAP32[($3_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + continue label$5; + }; + } + label$10 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + $119_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $120_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $120_1 + 1 | 0; + HEAP8[($119_1 + $120_1 | 0) >> 0] = 32; + $124_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $125_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $125_1 + 1 | 0; + HEAP8[($124_1 + $125_1 | 0) >> 0] = 42; + } + $130_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $131_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $131_1 + 1 | 0; + HEAP8[($130_1 + $131_1 | 0) >> 0] = 0; + } + $135_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $135_1 | 0; + } + + function $2845($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $71_1 = 0, $98_1 = 0, $110_1 = 0; + $4_1 = global$0 - 432 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 424 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 420 | 0) >> 2] = $1_1; + $3288($4_1 + 160 | 0 | 0, 55968 | 0, 252 | 0) | 0; + $3288($4_1 + 32 | 0 | 0, 56224 | 0, 126 | 0) | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 424 | 0) >> 2] | 0) << 3 | 0 | 7 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 125; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0) >>> 0 >= ((HEAPU16[(($4_1 + 160 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - 1 | 0; + } + continue label$2; + }; + } + label$5 : { + label$6 : { + if (HEAP32[($4_1 + 420 | 0) >> 2] | 0) { + break label$6 + } + if (!(((HEAPU8[(($4_1 + 32 | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$6 + } + HEAP32[($4_1 + 428 | 0) >> 2] = HEAP32[($4_1 + 424 | 0) >> 2] | 0; + break label$5; + } + $71_1 = $4_1 + 160 | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 424 | 0) >> 2] | 0 | 0) > ((((HEAPU16[($71_1 + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) >> 3 | 0) + (((HEAPU16[($71_1 + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) & 7 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + $98_1 = HEAP32[($4_1 + 424 | 0) >> 2] | 0; + break label$7; + } + $98_1 = ((HEAPU8[(($4_1 + 32 | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 127 | 0; + } + HEAP32[($4_1 + 428 | 0) >> 2] = $98_1; + } + $110_1 = HEAP32[($4_1 + 428 | 0) >> 2] | 0; + global$0 = $4_1 + 432 | 0; + return $110_1 | 0; + } + + function $2846($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $466_1 = 0, $23_1 = 0, $9_1 = 0, $394_1 = 0, $64_1 = 0, $467_1 = 0, $125_1 = 0, $157_1 = 0, $330_1 = 0, $456_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 208 | 0; + global$0 = $7_1; + $9_1 = 0; + HEAP32[($7_1 + 204 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 200 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 196 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 192 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 188 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 116 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $9_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 192 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 40 | 0) >> 2] = 50068; + $263(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, -1 | 0); + break label$1; + } + $23_1 = $7_1 + 120 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + $466_1 = 0; + i64toi32_i32$1 = $23_1; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 56 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $23_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $23_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $23_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $23_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $23_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $23_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $466_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $239(HEAP32[(HEAP32[($7_1 + 188 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2847(HEAP32[((HEAP32[($7_1 + 188 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2847(HEAP32[((HEAP32[($7_1 + 188 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2847(HEAP32[((HEAP32[($7_1 + 188 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($7_1 + 188 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + $64_1 = HEAP32[($7_1 + 112 | 0) >> 2] | 0; + break label$3; + } + $64_1 = 0; + } + HEAP32[($7_1 + 84 | 0) >> 2] = $64_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $38(HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7_1 + 116 | 0) >> 2] = 7; + } + label$6 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$6 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0, $7_1 + 100 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$0 = 0; + $467_1 = 0; + i64toi32_i32$1 = $7_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $467_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $467_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 96 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + label$10 : { + if ((HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$10 + } + if (!((HEAP32[($7_1 + 112 | 0) >> 2] | 0 | 0) == (HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + } + $125_1 = 0; + HEAP32[($7_1 + 48 | 0) >> 2] = $125_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $125_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0, ($7_1 + 48 | 0) + 16 | 0, $7_1 + 36 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($7_1 + 116 | 0) >> 2] | 0)) { + break label$11 + } + break label$7; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0, $7_1 + 48 | 0, 146) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($7_1 + 116 | 0) >> 2] | 0)) { + break label$12 + } + break label$7; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0, $7_1 + 32 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!(HEAP32[($7_1 + 116 | 0) >> 2] | 0)) { + break label$13 + } + break label$7; + } + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + label$14 : while (1) { + $157_1 = 0; + label$15 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$15 + } + $157_1 = (HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0); + } + label$16 : { + if (!($157_1 & 1 | 0)) { + break label$16 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0, $7_1 + 24 | 0, $7_1 + 20 | 0, $7_1 + 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + label$18 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + break label$17; + } + label$19 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($7_1 + 116 | 0) >> 2] = 267; + } + label$20 : { + if (!(HEAP32[($7_1 + 116 | 0) >> 2] | 0)) { + break label$20 + } + break label$17; + } + $3289(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2849(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, $7_1 + 8 | 0 | 0, $7_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$21 + } + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + HEAP32[($7_1 + 80 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + } + label$22 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$22 + } + if (!(HEAP32[($7_1 + 56 | 0) >> 2] | 0)) { + break label$22 + } + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($7_1 + 4 | 0) >> 2] = 0; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) < ((HEAP32[($7_1 + 56 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$23 + } + label$25 : { + if (!((HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + break label$23; + } + HEAP32[($7_1 + 4 | 0) >> 2] = (HEAP32[($7_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$24; + }; + } + label$26 : { + if (!((HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + $3289(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7_1 + 92 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2849(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, $7_1 + 8 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 ? 100 : 120) | 0; + label$27 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$27 + } + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[($7_1 + 96 | 0) >> 2] | 0; + HEAP32[($7_1 + 80 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 60 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($7_1 + 72 | 0) >> 2] = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + } + } + } + } + HEAP32[($7_1 + 28 | 0) >> 2] = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + } + break label$14; + }; + } + HEAP32[($7_1 + 96 | 0) >> 2] = (HEAP32[($7_1 + 96 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + label$28 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$28 + } + $330_1 = $7_1 + 120 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0, $330_1 + 48 | 0, $330_1 + 52 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + label$29 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$29 + } + if (HEAP32[($7_1 + 72 | 0) >> 2] | 0) { + break label$29 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0, $7_1 + 72 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + label$30 : { + if (!((HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$30 + } + label$31 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$31 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2850(HEAP32[($7_1 + 204 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, $7_1 + 120 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($7_1 + 152 | 0) >> 2] = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + HEAP32[($7_1 + 156 | 0) >> 2] = ((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + (HEAP32[($7_1 + 104 | 0) >> 2] | 0) | 0) - 1 | 0; + label$32 : { + if (!((HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$32 + } + $2851($7_1 + 116 | 0 | 0, $7_1 + 120 | 0 | 0, HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, -1 | 0); + } + label$33 : while (1) { + $394_1 = 0; + label$34 : { + if (!((HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$34 + } + $394_1 = 0; + if (!((HEAP32[($7_1 + 140 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$34 + } + $394_1 = (HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$35 : { + if (!($394_1 & 1 | 0)) { + break label$35 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2852($7_1 + 120 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + continue label$33; + } + break label$33; + }; + label$36 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$36 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 204 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 200 | 0) >> 2] | 0, HEAP32[($7_1 + 168 | 0) >> 2] | 0, HEAP32[($7_1 + 172 | 0) >> 2] | 0, $7_1 + 120 | 0, 147) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + } + label$37 : { + label$38 : { + if (!((HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0) >= ((HEAP32[($7_1 + 72 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$38 + } + $2851($7_1 + 116 | 0 | 0, $7_1 + 120 | 0 | 0, (HEAP32[($7_1 + 168 | 0) >> 2] | 0) + (HEAP32[($7_1 + 176 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($7_1 + 172 | 0) >> 2] | 0) - (HEAP32[($7_1 + 176 | 0) >> 2] | 0) | 0 | 0); + break label$37; + } + $2851($7_1 + 116 | 0 | 0, $7_1 + 120 | 0 | 0, HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, -1 | 0); + } + } + label$39 : { + label$40 : { + if (HEAP32[($7_1 + 116 | 0) >> 2] | 0) { + break label$40 + } + $456_1 = -1; + $277(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, $456_1 | 0, $456_1 | 0); + break label$39; + } + $284(HEAP32[($7_1 + 196 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 116 | 0) >> 2] | 0 | 0); + } + $42(HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0); + $42(HEAP32[($7_1 + 88 | 0) >> 2] | 0 | 0); + $42(HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 208 | 0; + return; + } + + function $2847($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $14_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $66(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $14_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + break label$1; + } + $14_1 = 1352; + } + global$0 = $3_1 + 16 | 0; + return $14_1 | 0; + } + + function $2848($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $40_1 = 0, $50_1 = 0, $60_1 = 0, $70_1 = 0, $92_1 = 0, $102_1 = 0, $117_1 = 0, $121_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 20 | 0) >> 2] = 0; + label$1 : { + if ((HEAP32[($8_1 + 40 | 0) >> 2] | 0) & 1 | 0) { + break label$1 + } + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (!((HEAP32[(HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[($8_1 + 11 | 0) >> 0] = 0; + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) - 1 | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($8_1 + 11 | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (HEAP32[($8_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0; + $40_1 = 24; + label$6 : { + if (!((((HEAPU8[($8_1 + 11 | 0) >> 0] | 0) << $40_1 | 0) >> $40_1 | 0 | 0) != (32 | 0) & 1 | 0)) { + break label$6 + } + $50_1 = 24; + if (!((((HEAPU8[($8_1 + 11 | 0) >> 0] | 0) << $50_1 | 0) >> $50_1 | 0 | 0) != (9 | 0) & 1 | 0)) { + break label$6 + } + $60_1 = 24; + if (!((((HEAPU8[($8_1 + 11 | 0) >> 0] | 0) << $60_1 | 0) >> $60_1 | 0 | 0) != (10 | 0) & 1 | 0)) { + break label$6 + } + $70_1 = 24; + if (!((((HEAPU8[($8_1 + 11 | 0) >> 0] | 0) << $70_1 | 0) >> $70_1 | 0 | 0) != (13 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$5; + }; + } + label$7 : { + if (!((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) != ((HEAP32[($8_1 + 28 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$7 + } + $92_1 = 24; + label$8 : { + if ((((HEAPU8[($8_1 + 11 | 0) >> 0] | 0) << $92_1 | 0) >> $92_1 | 0 | 0) == (46 | 0) & 1 | 0) { + break label$8 + } + $102_1 = 24; + if (!((((HEAPU8[($8_1 + 11 | 0) >> 0] | 0) << $102_1 | 0) >> $102_1 | 0 | 0) == (58 | 0) & 1 | 0)) { + break label$7 + } + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2857(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + break label$2; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2857(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $117_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[$117_1 >> 2] = (HEAP32[$117_1 >> 2] | 0) + 1 | 0; + } + $121_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $121_1 | 0; + } + + function $2849($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1, $8_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + $8_1 = $8_1 | 0; + var $11_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $12_1 = 0, $150$hi = 0, $151$hi = 0, $157$hi = 0, $158$hi = 0, $162$hi = 0, $147$hi = 0, $148$hi = 0, $33_1 = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $155$hi = 0, $156$hi = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, $164$hi = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $15_1 = 0, $147_1 = 0, $218_1 = 0, $150_1 = 0, $335_1 = 0, $458_1 = 0, $155_1 = 0, $467_1 = 0, $477_1 = 0, $495_1 = 0, $144_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11_1 = global$0 - 96 | 0; + global$0 = $11_1; + $12_1 = 0; + $15_1 = $11_1 + 32 | 0; + HEAP32[($11_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($11_1 + 68 | 0) >> 2] = $6_1; + HEAP32[($11_1 + 64 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 60 | 0) >> 2] = $8_1; + HEAP32[($11_1 + 48 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 44 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 40 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 36 | 0) >> 2] = -1; + HEAP32[($11_1 + 28 | 0) >> 2] = $12_1; + HEAP32[($11_1 + 24 | 0) >> 2] = $12_1; + i64toi32_i32$1 = HEAP32[($11_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $147_1 = i64toi32_i32$1; + $147$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($11_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $148$hi = i64toi32_i32$0; + i64toi32_i32$0 = $147$hi; + i64toi32_i32$0 = $148$hi; + $218_1 = i64toi32_i32$1; + i64toi32_i32$0 = $147$hi; + i64toi32_i32$2 = $147_1; + i64toi32_i32$1 = $148$hi; + i64toi32_i32$3 = $218_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $11_1; + HEAP32[($11_1 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($11_1 + 20 | 0) >> 2] = i64toi32_i32$5; + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($11_1 + 88 | 0) >> 2] | 0, $15_1) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11_1 + 52 | 0) >> 2] = $12_1; + label$1 : while (1) { + $33_1 = 0; + label$2 : { + if (!((HEAP32[($11_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($11_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $33_1 = (HEAP32[($11_1 + 56 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($33_1 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[($11_1 + 88 | 0) >> 2] | 0, HEAP32[($11_1 + 52 | 0) >> 2] | 0, $11_1 + 48 | 0, $11_1 + 44 | 0, $11_1 + 40 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($11_1 + 56 | 0) >> 2] | 0) { + break label$4 + } + if (!((HEAP32[($11_1 + 44 | 0) >> 2] | 0 | 0) == (HEAP32[($11_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[($11_1 + 40 | 0) >> 2] | 0 | 0) >= (HEAP32[($11_1 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($11_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $150_1 = i64toi32_i32$2; + $150$hi = i64toi32_i32$5; + i64toi32_i32$0 = $11_1; + i64toi32_i32$5 = HEAP32[($11_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($11_1 + 20 | 0) >> 2] | 0; + $151$hi = i64toi32_i32$2; + i64toi32_i32$2 = $150$hi; + i64toi32_i32$2 = $151$hi; + i64toi32_i32$2 = $150$hi; + i64toi32_i32$2 = $151$hi; + $335_1 = i64toi32_i32$5; + i64toi32_i32$2 = $150$hi; + i64toi32_i32$0 = $150_1; + i64toi32_i32$5 = $151$hi; + i64toi32_i32$3 = $335_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$5 | 0)) { + $39_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$3 >>> 0) { + $40_1 = 0 + } else { + $40_1 = 1 + } + $41_1 = $40_1; + } else { + $41_1 = 0 + } + $39_1 = $41_1; + } + if (!($39_1 & 1 | 0)) { + break label$4 + } + HEAP32[($11_1 + 28 | 0) >> 2] = (HEAP32[($11_1 + 28 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($11_1 + 80 | 0) >> 2] | 0) + (HEAP32[($11_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 ? 1 : 1e3) | 0; + HEAP8[((HEAP32[($11_1 + 80 | 0) >> 2] | 0) + (HEAP32[($11_1 + 48 | 0) >> 2] | 0) | 0) >> 0] = 1; + label$5 : { + if (!((HEAP32[($11_1 + 36 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($11_1 + 36 | 0) >> 2] = HEAP32[($11_1 + 40 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $11_1, wasm2js_i32$1 = (HEAP32[($11_1 + 40 | 0) >> 2] | 0) + (FUNCTION_TABLE[HEAP32[((HEAP32[($11_1 + 92 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0](HEAP32[($11_1 + 88 | 0) >> 2] | 0, HEAP32[($11_1 + 48 | 0) >> 2] | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($11_1 + 52 | 0) >> 2] = (HEAP32[($11_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + HEAP32[(HEAP32[($11_1 + 64 | 0) >> 2] | 0) >> 2] = HEAP32[($11_1 + 28 | 0) >> 2] | 0; + label$6 : { + if (!((HEAP32[($11_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$2 = (HEAP32[($11_1 + 36 | 0) >> 2] | 0) - (((HEAP32[($11_1 + 68 | 0) >> 2] | 0) - ((HEAP32[($11_1 + 24 | 0) >> 2] | 0) - (HEAP32[($11_1 + 36 | 0) >> 2] | 0) | 0) | 0 | 0) / (2 | 0) | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $458_1 = i64toi32_i32$2; + i64toi32_i32$2 = $11_1; + HEAP32[($11_1 + 8 | 0) >> 2] = $458_1; + HEAP32[($11_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$3 = $11_1; + i64toi32_i32$0 = HEAP32[($11_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($11_1 + 12 | 0) >> 2] | 0; + $155_1 = i64toi32_i32$0; + $155$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($11_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $156$hi = i64toi32_i32$2; + i64toi32_i32$2 = $155$hi; + i64toi32_i32$2 = $156$hi; + $467_1 = i64toi32_i32$0; + i64toi32_i32$2 = $155$hi; + i64toi32_i32$3 = $155_1; + i64toi32_i32$0 = $156$hi; + i64toi32_i32$5 = $467_1; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $157$hi = i64toi32_i32$4; + i64toi32_i32$3 = HEAP32[($11_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$3 >> 31 | 0; + $158$hi = i64toi32_i32$4; + i64toi32_i32$4 = $157$hi; + i64toi32_i32$4 = $158$hi; + i64toi32_i32$4 = $157$hi; + i64toi32_i32$4 = $158$hi; + $477_1 = i64toi32_i32$3; + i64toi32_i32$4 = $157$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$3 = $158$hi; + i64toi32_i32$5 = $477_1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$3 | 0)) { + $42_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$5 >>> 0) { + $43_1 = 0 + } else { + $43_1 = 1 + } + $44_1 = $43_1; + } else { + $44_1 = 0 + } + $42_1 = $44_1; + } + label$7 : { + if (!($42_1 & 1 | 0)) { + break label$7 + } + i64toi32_i32$4 = (HEAP32[($11_1 + 84 | 0) >> 2] | 0) - (HEAP32[($11_1 + 68 | 0) >> 2] | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $495_1 = i64toi32_i32$4; + i64toi32_i32$4 = $11_1; + HEAP32[($11_1 + 8 | 0) >> 2] = $495_1; + HEAP32[($11_1 + 12 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$2 = 0; + $162$hi = i64toi32_i32$2; + i64toi32_i32$5 = $11_1; + i64toi32_i32$2 = HEAP32[($11_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($11_1 + 12 | 0) >> 2] | 0; + $164$hi = i64toi32_i32$4; + i64toi32_i32$4 = $162$hi; + i64toi32_i32$4 = $164$hi; + i64toi32_i32$4 = $162$hi; + i64toi32_i32$4 = $164$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $162$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$2 | 0)) { + $45_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$3 >>> 0) { + $46_1 = 0 + } else { + $46_1 = 1 + } + $47_1 = $46_1; + } else { + $47_1 = 0 + } + $45_1 = $47_1; + } + label$8 : { + if (!($45_1 & 1 | 0)) { + break label$8 + } + i64toi32_i32$5 = 0; + i64toi32_i32$4 = $11_1; + HEAP32[($11_1 + 8 | 0) >> 2] = 0; + HEAP32[($11_1 + 12 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$3 = $11_1; + i64toi32_i32$5 = HEAP32[($11_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($11_1 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($11_1 + 60 | 0) >> 2] | 0) >> 2] = i64toi32_i32$5; + } + $144_1 = HEAP32[($11_1 + 56 | 0) >> 2] | 0; + global$0 = $11_1 + 96 | 0; + return $144_1 | 0; + } + + function $2850($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $34_1 = 0, $7_1 = 0, $31_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + $7_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $34_1 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $34_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 24 | 0) >> 2] | 0, (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2852(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $31_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $31_1 | 0; + } + + function $2851($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $26_1 = 0, $27_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + label$1 : { + if (HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3303(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $26_1 = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + $27_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $27_1; + HEAP32[$6_1 >> 2] = $26_1; + $30_1 = $79(56416 | 0, $6_1 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] = $30_1; + label$3 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 7; + } + } + global$0 = $6_1 + 32 | 0; + return; + } + + function $2852($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $10_1 = 0, $88_1 = 0, $92_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = -1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = $4_1; + label$1 : while (1) { + $10_1 = 0; + label$2 : { + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$2 + } + $10_1 = (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($10_1 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, $3_1 + 20 | 0, $3_1 + 16 | 0, $3_1 + 12 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($3_1 + 24 | 0) >> 2] | 0) { + break label$4 + } + label$5 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) - 1 | 0) + (FUNCTION_TABLE[HEAP32[((HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + break label$6; + } + label$8 : { + label$9 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + } + break label$8; + } + break label$3; + } + } + } + $88_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[($88_1 + 12 | 0) >> 2] = (HEAP32[($88_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + continue label$1; + } + break label$1; + }; + $92_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $92_1 | 0; + } + + function $2853($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $16_1 = 0, $17_1 = 0, $66_1 = 0, $111_1 = 0, $186_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $16_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + $17_1 = HEAP32[($16_1 + 28 | 0) >> 2] | 0; + HEAP32[($16_1 + 28 | 0) >> 2] = $17_1 + 1 | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = $17_1; + label$3 : { + if (!((HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if ((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($8_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$6 : { + if (!(HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0)) { + break label$6 + } + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + } + } + label$7 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $66_1 = $8_1 + 12 | 0; + $2851($66_1 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($8_1 + 24 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0 | 0); + $2851($66_1 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, -1 | 0); + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + } + label$8 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!(HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0)) { + break label$9 + } + if (!((HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $2851($8_1 + 12 | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, -1 | 0); + } + $111_1 = $8_1 + 12 | 0; + $2851($111_1 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($8_1 + 20 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0 | 0); + $2851($111_1 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, -1 | 0); + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + label$10 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2852(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + label$11 : { + if (!((HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $2851($8_1 + 12 | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($8_1 + 20 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) | 0 | 0); + HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + label$12 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $2851($8_1 + 12 | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, -1 | 0); + } + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + } + $186_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $186_1 | 0; + } + + function $2854($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, $22_1 = 0, i64toi32_i32$0 = 0, $102_1 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 112 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $4_1; + label$1 : { + label$2 : { + if (!((HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7_1 + 12 | 0) >> 2] = 56423; + $263(HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0); + break label$1; + } + $22_1 = $7_1 + 24 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $239(HEAP32[(HEAP32[($7_1 + 92 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + $102_1 = 0; + i64toi32_i32$1 = $22_1; + HEAP32[i64toi32_i32$1 >> 2] = $102_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 56 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $102_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $102_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $102_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $102_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $102_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $102_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $22_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $102_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 108 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 104 | 0) >> 2] | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0, $22_1 + 48 | 0, $22_1 + 52 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2850(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0, $7_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 108 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 104 | 0) >> 2] | 0, HEAP32[($7_1 + 72 | 0) >> 2] | 0, HEAP32[($7_1 + 76 | 0) >> 2] | 0, $7_1 + 24 | 0, 147) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $2851($7_1 + 20 | 0 | 0, $7_1 + 24 | 0 | 0, (HEAP32[($7_1 + 72 | 0) >> 2] | 0) + (HEAP32[($7_1 + 80 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($7_1 + 76 | 0) >> 2] | 0) - (HEAP32[($7_1 + 80 | 0) >> 2] | 0) | 0 | 0); + label$6 : { + if (HEAP32[($7_1 + 20 | 0) >> 2] | 0) { + break label$6 + } + $93_1 = -1; + $277(HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0, $93_1 | 0, $93_1 | 0); + } + $42(HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0); + } + if (!(HEAP32[($7_1 + 20 | 0) >> 2] | 0)) { + break label$1 + } + $284(HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 112 | 0; + return; + } + + function $2855($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $11_1 = 0, $124_1 = 0.0, $34_1 = 0, $128_1 = 0.0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 112 | 0; + global$0 = $7_1; + $11_1 = 0; + $124_1 = +($11_1 | 0); + HEAP32[($7_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 96 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $4_1; + HEAPF64[($7_1 + 80 | 0) >> 3] = 1.2; + HEAPF64[($7_1 + 72 | 0) >> 3] = .75; + HEAPF64[($7_1 + 56 | 0) >> 3] = $124_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $11_1; + HEAPF64[($7_1 + 32 | 0) >> 3] = $124_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $11_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2856(HEAP32[($7_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 104 | 0) >> 2] | 0 | 0, $7_1 + 52 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($7_1 + 68 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $3289(HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0) << 3 | 0 | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 108 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 104 | 0) >> 2] | 0, $7_1 + 44 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($7_1 + 48 | 0) >> 2] = 0; + label$2 : while (1) { + $34_1 = 0; + label$3 : { + if (HEAP32[($7_1 + 68 | 0) >> 2] | 0) { + break label$3 + } + $34_1 = (HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($34_1 & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 108 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 104 | 0) >> 2] | 0, HEAP32[($7_1 + 48 | 0) >> 2] | 0, $7_1 + 24 | 0, $7_1 + 20 | 0, $7_1 + 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($7_1 + 68 | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + label$7 : { + if (!((HEAP32[($7_1 + 96 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $128_1 = +$65(HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + break label$6; + } + $128_1 = 1.0; + } + HEAPF64[($7_1 + 8 | 0) >> 3] = $128_1; + $75_1 = (HEAP32[($7_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 24 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAPF64[$75_1 >> 3] = +HEAPF64[$75_1 >> 3] + +HEAPF64[($7_1 + 8 | 0) >> 3]; + } + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + } + break label$2; + }; + label$8 : { + if (HEAP32[($7_1 + 68 | 0) >> 2] | 0) { + break label$8 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($7_1 + 108 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0](HEAP32[($7_1 + 104 | 0) >> 2] | 0, -1, $7_1 + 4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + HEAPF64[($7_1 + 32 | 0) >> 3] = +(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0); + } + label$9 : { + label$10 : { + if (HEAP32[($7_1 + 68 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[($7_1 + 48 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($7_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAPF64[($7_1 + 56 | 0) >> 3] = +HEAPF64[($7_1 + 56 | 0) >> 3] + +HEAPF64[((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3] * (+HEAPF64[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3] * 2.2 / (+HEAPF64[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3] + 1.2 * (.25 + .75 * +HEAPF64[($7_1 + 32 | 0) >> 3] / +HEAPF64[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 3]))); + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + $260(HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, +(-1.0 * +HEAPF64[($7_1 + 56 | 0) >> 3])); + break label$9; + } + $284(HEAP32[($7_1 + 100 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + } + global$0 = $7_1 + 112 | 0; + return; + } + + function $2856($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $6_1 = 0, $123_1 = 0, $76_1 = 0, $138_1 = 0.0, $130$hi = 0, $131$hi = 0, i64toi32_i32$3 = 0, $134_1 = 0.0, $130_1 = 0, $388_1 = 0, $140_1 = 0.0, $120_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 72 | 0) >> 2] | 0, $6_1) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $123_1 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $123_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $123_1; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 72 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = (((HEAP32[($5_1 + 56 | 0) >> 2] | 0) << 1 | 0) << 3 | 0) + 24 | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 64 | 0) >> 2] = 7; + break label$2; + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $3289(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 24 | 0; + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 56 | 0) >> 2] | 0) << 3 | 0) | 0; + } + label$4 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 72 | 0) >> 2] | 0, $5_1 + 48 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 72 | 0) >> 2] | 0, -1, $5_1 + 40 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$6 + } + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + $134_1 = +(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0); + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + HEAPF64[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 3] = $134_1 / (+(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0)); + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + label$7 : while (1) { + $76_1 = 0; + label$8 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$8 + } + $76_1 = (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); + } + label$9 : { + if (!($76_1 & 1 | 0)) { + break label$9 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 72 | 0) >> 2] | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0, $5_1 + 16 | 0, 148) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($5_1 + 64 | 0) >> 2] | 0) { + break label$10 + } + $138_1 = .5; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $130_1 = i64toi32_i32$0; + $130$hi = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $131$hi = i64toi32_i32$0; + i64toi32_i32$0 = $130$hi; + i64toi32_i32$0 = $131$hi; + $388_1 = i64toi32_i32$1; + i64toi32_i32$0 = $130$hi; + i64toi32_i32$2 = $130_1; + i64toi32_i32$1 = $131$hi; + i64toi32_i32$3 = $388_1; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$0 = 0; + $140_1 = +(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$5 | 0) + $138_1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3202(+($140_1 / (+(i64toi32_i32$5 >>> 0) + 4294967296.0 * +(i64toi32_i32$2 | 0) + $138_1)))), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + label$11 : { + if (!(+HEAPF64[($5_1 + 8 | 0) >> 3] <= +(0 | 0) & 1 | 0)) { + break label$11 + } + HEAPF64[($5_1 + 8 | 0) >> 3] = 1.0e-06; + } + HEAPF64[((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3] = +HEAPF64[($5_1 + 8 | 0) >> 3]; + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + label$12 : { + label$13 : { + if (!(HEAP32[($5_1 + 64 | 0) >> 2] | 0)) { + break label$13 + } + $42(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + break label$12; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0](HEAP32[($5_1 + 72 | 0) >> 2] | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0, 3) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + } + label$14 : { + if (!(HEAP32[($5_1 + 64 | 0) >> 2] | 0)) { + break label$14 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + } + } + HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $120_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + global$0 = $5_1 + 80 | 0; + return $120_1 | 0; + } + + function $2857($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $20_1 = 0, $46_1 = 0, $47_1 = 0, i64toi32_i32$0 = 0, $43_1 = 0, $45_1 = 0, $53_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0)) { + break label$4 + } + $20_1 = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 1 | 0; + break label$3; + } + $20_1 = 64; + } + HEAP32[($4_1 + 16 | 0) >> 2] = $20_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + } + $43_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $45_1 = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $46_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $47_1 = HEAP32[($46_1 + 8 | 0) >> 2] | 0; + HEAP32[($46_1 + 8 | 0) >> 2] = $47_1 + 1 | 0; + HEAP32[($45_1 + ($47_1 << 2 | 0) | 0) >> 2] = $43_1; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $53_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $53_1 | 0; + } + + function $2858($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $5_1 = 0, i64toi32_i32$5 = 0, $8_1 = 0, $9$hi = 0, $10$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $6_1 = 0; + $5_1 = global$0 - 16 | 0; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $8_1 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$2 = $8_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $10$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$1 = $10$hi; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$2 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $10$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $8_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + return $6_1 | 0; + } + + function $2859($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $48_1 = 0, $89_1 = 0, $123_1 = 0, $134_1 = 0, $145_1 = 0, $155_1 = 0, $161_1 = 0, i64toi32_i32$0 = 0, $35_1 = 0, $227_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) % (2 | 0) | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(180 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 56560; + $3289(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0, 180 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 136 | 0) >> 2] = 1; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 132 | 0) >> 2] = 64; + i64toi32_i32$0 = 0; + $35_1 = $41((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 132 | 0) >> 2] | 0) << 0 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 128 | 0) >> 2] = $35_1; + label$5 : { + if (!((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 7; + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$6 : while (1) { + $48_1 = 0; + label$7 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$7 + } + $48_1 = (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!($48_1 & 1 | 0)) { + break label$8 + } + label$9 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 56569 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 2 | 0; + continue label$6; + } + break label$6; + }; + label$10 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2860(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$11 : while (1) { + $89_1 = 0; + label$12 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$12 + } + $89_1 = (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0); + } + label$13 : { + if (!($89_1 & 1 | 0)) { + break label$13 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 56580 | 0) | 0 | 0) & 1 | 0)) { + break label$15 + } + $123_1 = 24; + label$16 : { + label$17 : { + label$18 : { + label$19 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $123_1 | 0) >> $123_1 | 0 | 0) != (48 | 0) & 1 | 0)) { + break label$19 + } + $134_1 = 24; + if (!((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $134_1 | 0) >> $134_1 | 0 | 0) != (49 | 0) & 1 | 0)) { + break label$19 + } + $145_1 = 24; + if ((((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $145_1 | 0) >> $145_1 | 0 | 0) != (50 | 0) & 1 | 0) { + break label$18 + } + } + $155_1 = 24; + if (!(((HEAPU8[((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $155_1 | 0) >> $155_1 | 0)) { + break label$17 + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + break label$16; + } + $161_1 = 24; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 136 | 0) >> 2] = (((HEAPU8[(HEAP32[($6_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $161_1 | 0) >> $161_1 | 0) - 48 | 0; + } + break label$14; + } + label$20 : { + label$21 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 56598 | 0) | 0 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2861(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$20; + } + label$22 : { + label$23 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 56609 | 0) | 0 | 0) & 1 | 0)) { + break label$23 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2861(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$22; + } + label$24 : { + label$25 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 56569 | 0) | 0 | 0) & 1 | 0)) { + break label$25 + } + break label$24; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + } + } + } + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 2 | 0; + continue label$11; + } + break label$11; + }; + break label$3; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 7; + } + label$26 : { + if (!(HEAP32[($6_1 + 28 | 0) >> 2] | 0)) { + break label$26 + } + $2862(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + } + $227_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $227_1 | 0; + } + + function $2860($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $67_1 = 0, $20_1 = 0, $28_1 = 0, $32_1 = 0, $46_1 = 0, $59_1 = 0, $72_1 = 0, $83_1 = 0, $100_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!(((HEAPU8[(HEAP32[$4_1 >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : while (1) { + $20_1 = 24; + $28_1 = 1; + label$5 : { + if ((((HEAPU8[(HEAP32[$4_1 >> 2] | 0) >> 0] | 0) << $20_1 | 0) >> $20_1 | 0 | 0) == (32 | 0) & 1 | 0) { + break label$5 + } + $32_1 = 24; + $28_1 = (((HEAPU8[(HEAP32[$4_1 >> 2] | 0) >> 0] | 0) << $32_1 | 0) >> $32_1 | 0 | 0) == (9 | 0); + } + label$6 : { + if (!($28_1 & 1 | 0)) { + break label$6 + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + $46_1 = 24; + label$7 : { + if (!(((HEAPU8[(HEAP32[$4_1 >> 2] | 0) >> 0] | 0) << $46_1 | 0) >> $46_1 | 0)) { + break label$7 + } + if (!($2837(HEAP32[$4_1 >> 2] | 0 | 0, (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 148 | 0 | 0) | 0)) { + break label$7 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$8 : while (1) { + $59_1 = 24; + $67_1 = 0; + label$9 : { + if (!((((HEAPU8[(HEAP32[$4_1 >> 2] | 0) >> 0] | 0) << $59_1 | 0) >> $59_1 | 0 | 0) != (32 | 0) & 1 | 0)) { + break label$9 + } + $72_1 = 24; + $67_1 = 0; + if (!((((HEAPU8[(HEAP32[$4_1 >> 2] | 0) >> 0] | 0) << $72_1 | 0) >> $72_1 | 0 | 0) != (9 | 0) & 1 | 0)) { + break label$9 + } + $83_1 = 24; + $67_1 = (((HEAPU8[(HEAP32[$4_1 >> 2] | 0) >> 0] | 0) << $83_1 | 0) >> $83_1 | 0 | 0) != (0 | 0); + } + label$10 : { + if (!($67_1 & 1 | 0)) { + break label$10 + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$8; + } + break label$8; + }; + continue label$3; + }; + } + $2876((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $100_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $100_1 | 0; + } + + function $2861($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $46_1 = 0, $72_1 = 0, $89_1 = 0, i64toi32_i32$0 = 0, $88_1 = 0, $207_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $6_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) > ($6_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0) | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + $46_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $46_1 + 1 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAPU8[$46_1 >> 0] | 0) & 255 | 0; + label$6 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAPU8[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$7 : while (1) { + $72_1 = 0; + label$8 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $72_1 = (((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$9 : { + if (!($72_1 & 1 | 0)) { + break label$9 + } + $88_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 6 | 0; + $89_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $89_1 + 1 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $88_1 + (((HEAPU8[$89_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$7; + } + break label$7; + }; + label$10 : { + label$11 : { + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$11 + } + if (((HEAP32[($5_1 + 8 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$11 + } + if (!(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$10 + } + } + HEAP32[($5_1 + 8 | 0) >> 2] = 65533; + } + } + label$12 : { + label$13 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$13 + } + HEAP8[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + (HEAP32[($5_1 + 8 | 0) >> 2] | 0) | 0) >> 0] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + break label$12; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (HEAPU8[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 148 | 0) + ($2838(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) | 0) >> 0] | 0) & 255 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + if ($2865(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) { + break label$14 + } + HEAP32[$5_1 >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + label$17 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >>> 0 > (HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$17 + } + break label$15; + } + HEAP32[$5_1 >> 2] = (HEAP32[$5_1 >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + $3290((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0 | 0, (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0 | 0, ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) - (HEAP32[$5_1 >> 2] | 0) | 0) << 2 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + } + continue label$5; + }; + } + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 144 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 140 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$2; + } + HEAP32[($5_1 + 32 | 0) >> 2] = 7; + } + } + $207_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $207_1 | 0; + } + + function $2862($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2863($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $146_1 = 0, i64toi32_i32$2 = 0, $44_1 = 0, $70_1 = 0, $87_1 = 0, $162_1 = 0, $181_1 = 0, $191_1 = 0, $210_1 = 0, $222_1 = 0, $232_1 = 0, $244_1 = 0, $256_1 = 0, $268_1 = 0, $278_1 = 0, $307_1 = 0, $312_1 = 0, $489$hi = 0, $490$hi = 0, i64toi32_i32$3 = 0, $50_1 = 0, $362_1 = 0, $376_1 = 0, $402_1 = 0, $419_1 = 0, $86_1 = 0, $161_1 = 0, $180_1 = 0, $190_1 = 0, $209_1 = 0, $221_1 = 0, $231_1 = 0, $243_1 = 0, $255_1 = 0, $267_1 = 0, $277_1 = 0, $306_1 = 0, $311_1 = 0, $335_1 = 0, $418_1 = 0, $486_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 52 | 0) >> 2] = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + HEAP32[($8_1 + 48 | 0) >> 2] = 0; + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 52 | 0) >> 2] | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = (HEAP32[($8_1 + 64 | 0) >> 2] | 0) + (HEAP32[($8_1 + 60 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 132 | 0) >> 2] | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 28 | 0) >> 2] | 0) - 6 | 0) | 0; + label$1 : { + label$2 : while (1) { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + if (HEAP32[($8_1 + 48 | 0) >> 2] | 0) { + break label$6 + } + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + label$7 : while (1) { + label$8 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($8_1 + 40 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + break label$1; + } + label$9 : { + label$10 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$10 + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) - (HEAP32[($8_1 + 64 | 0) >> 2] | 0) | 0; + $44_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $44_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[$44_1 >> 0] | 0) & 255 | 0; + label$11 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$11 + } + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$12 : while (1) { + $70_1 = 0; + label$13 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + $70_1 = (((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$14 : { + if (!($70_1 & 1 | 0)) { + break label$14 + } + $86_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) << 6 | 0; + $87_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $87_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $86_1 + (((HEAPU8[$87_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$12; + } + break label$12; + }; + label$15 : { + label$16 : { + if ((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$16 + } + if (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$16 + } + if (!(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$15 + } + } + HEAP32[($8_1 + 20 | 0) >> 2] = 65533; + } + } + label$17 : { + if (!($2864(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$17 + } + break label$5; + } + break label$9; + } + label$18 : { + if (!(((HEAPU8[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + ((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) - (HEAP32[($8_1 + 64 | 0) >> 2] | 0) | 0; + break label$4; + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + continue label$7; + }; + } + break label$1; + } + $146_1 = 0; + break label$3; + } + $146_1 = 1; + } + label$19 : while (1) { + label$20 : { + label$21 : { + switch ($146_1 | 0) { + case 0: + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2840(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!(HEAP32[($8_1 + 20 | 0) >> 2] | 0)) { + break label$23 + } + label$24 : { + label$25 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$25 + } + $161_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $162_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $162_1 + 1 | 0; + HEAP8[$162_1 >> 0] = $161_1; + break label$24; + } + label$26 : { + label$27 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 2048 >>> 0 & 1 | 0)) { + break label$27 + } + $180_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 31 | 0) & 255 | 0) + 192 | 0; + $181_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $181_1 + 1 | 0; + HEAP8[$181_1 >> 0] = $180_1; + $190_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $191_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $191_1 + 1 | 0; + HEAP8[$191_1 >> 0] = $190_1; + break label$26; + } + label$28 : { + label$29 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 65536 >>> 0 & 1 | 0)) { + break label$29 + } + $209_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 15 | 0) & 255 | 0) + 224 | 0; + $210_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $210_1 + 1 | 0; + HEAP8[$210_1 >> 0] = $209_1; + $221_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $222_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $222_1 + 1 | 0; + HEAP8[$222_1 >> 0] = $221_1; + $231_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $232_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $232_1 + 1 | 0; + HEAP8[$232_1 >> 0] = $231_1; + break label$28; + } + $243_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 18 | 0) & 7 | 0) & 255 | 0) + 240 | 0; + $244_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $244_1 + 1 | 0; + HEAP8[$244_1 >> 0] = $243_1; + $255_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $256_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $256_1 + 1 | 0; + HEAP8[$256_1 >> 0] = $255_1; + $267_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $268_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $268_1 + 1 | 0; + HEAP8[$268_1 >> 0] = $267_1; + $277_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $278_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $278_1 + 1 | 0; + HEAP8[$278_1 >> 0] = $277_1; + } + } + } + } + break label$20; + default: + break label$21; + }; + } + label$30 : { + label$31 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (65 | 0) & 1 | 0)) { + break label$31 + } + if (!(((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) <= (90 | 0) & 1 | 0)) { + break label$31 + } + $306_1 = ((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 32 | 0; + $307_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $307_1 + 1 | 0; + HEAP8[$307_1 >> 0] = $306_1; + break label$30; + } + $311_1 = HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0; + $312_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $312_1 + 1 | 0; + HEAP8[$312_1 >> 0] = $311_1; + } + HEAP32[($8_1 + 36 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($8_1 + 8 | 0) >> 2] = (HEAP32[($8_1 + 36 | 0) >> 2] | 0) - (HEAP32[($8_1 + 64 | 0) >> 2] | 0) | 0; + label$32 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0) >>> 0 < (HEAP32[($8_1 + 40 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$32 + } + label$33 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0) >>> 0 > (HEAP32[($8_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$33 + } + $335_1 = 0; + i64toi32_i32$1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $489$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $490$hi = i64toi32_i32$0; + i64toi32_i32$0 = $489$hi; + i64toi32_i32$0 = $490$hi; + i64toi32_i32$0 = $489$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $490$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $50_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $50_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $41($50_1 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$34 : { + if (!((HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0) == ($335_1 | 0) & 1 | 0)) { + break label$34 + } + HEAP32[($8_1 + 48 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 16 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0) | 0) | 0; + $3288(HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) | 0; + $42(HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 128 | 0) >> 2] = HEAP32[($8_1 + 32 | 0) >> 2] | 0; + $362_1 = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) << 1 | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $362_1; + HEAP32[((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 132 | 0) >> 2] = $362_1; + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 28 | 0) >> 2] | 0) - 6 | 0) | 0; + } + label$35 : { + if (!(((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 128 | 0)) { + break label$35 + } + $376_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $376_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[$376_1 >> 0] | 0) & 255 | 0; + label$36 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$36 + } + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$37 : while (1) { + $402_1 = 0; + label$38 : { + if (!((HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$38 + } + $402_1 = (((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$39 : { + if (!($402_1 & 1 | 0)) { + break label$39 + } + $418_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) << 6 | 0; + $419_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = $419_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $418_1 + (((HEAPU8[$419_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$37; + } + break label$37; + }; + label$40 : { + label$41 : { + if ((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$41 + } + if (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$41 + } + if (!(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$40 + } + } + HEAP32[($8_1 + 20 | 0) >> 2] = 65533; + } + } + label$42 : { + label$43 : { + if ($2864(HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0) { + break label$43 + } + if (!($2865(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$42 + } + } + $146_1 = 0; + continue label$19; + } + break label$32; + } + label$44 : { + if ((HEAPU8[((HEAP32[($8_1 + 44 | 0) >> 2] | 0) + ((HEAPU8[(HEAP32[($8_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) | 0) >> 0] | 0) & 255 | 0) { + break label$44 + } + break label$32; + } + $146_1 = 1; + continue label$19; + } + break label$19; + }; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 72 | 0) >> 2] | 0, 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0, (HEAP32[($8_1 + 16 | 0) >> 2] | 0) - (HEAP32[($8_1 + 32 | 0) >> 2] | 0) | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + continue label$2; + }; + } + label$45 : { + if (!((HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$45 + } + HEAP32[($8_1 + 48 | 0) >> 2] = 0; + } + $486_1 = HEAP32[($8_1 + 48 | 0) >> 2] | 0; + global$0 = $8_1 + 80 | 0; + return $486_1 | 0; + } + + function $2864($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $17_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $17_1 = ((HEAPU8[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 148 | 0) + ($2838(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) | 0) >> 0] | 0) & 255 | 0) ^ ($2877(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0) | 0; + global$0 = $4_1 + 16 | 0; + return $17_1 | 0; + } + + function $2865($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $35_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 134389727; + HEAP32[$3_1 >> 2] = 221688; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (768 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) > (817 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (800 | 0) & 1 | 0)) { + break label$5 + } + $35_1 = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) & (1 << ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - 768 | 0) | 0) | 0; + break label$4; + } + $35_1 = (HEAP32[$3_1 >> 2] | 0) & (1 << (((HEAP32[($3_1 + 8 | 0) >> 2] | 0) - 768 | 0) - 32 | 0) | 0) | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $35_1; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2866($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $31_1 = 0, $91_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) % (2 | 0) | 0)) { + break label$2 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(128 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 7; + break label$3; + } + $3289(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, 128 | 0) | 0; + $3288(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, 80384 | 0, 128 | 0) | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = 0; + label$5 : while (1) { + $31_1 = 0; + label$6 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$6 + } + $31_1 = (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + } + label$7 : { + if (!($31_1 & 1 | 0)) { + break label$7 + } + HEAP32[$6_1 >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 56598 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + $2867(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, 1 | 0); + break label$8; + } + label$10 : { + label$11 : { + if (!((0 | 0) == ($87(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 56609 | 0) | 0 | 0) & 1 | 0)) { + break label$11 + } + $2867(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, 0 | 0); + break label$10; + } + HEAP32[($6_1 + 12 | 0) >> 2] = 1; + } + } + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 2 | 0; + continue label$5; + } + break label$5; + }; + label$12 : { + if (!(HEAP32[($6_1 + 12 | 0) >> 2] | 0)) { + break label$12 + } + $2868(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 8 | 0) >> 2] = 0; + } + } + } + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + $91_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $91_1 | 0; + } + + function $2867($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $23_1 = 0, $34_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!(((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[$5_1 >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $23_1 = 24; + label$3 : { + if ((((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[$5_1 >> 2] | 0) | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0) & 128 | 0) { + break label$3 + } + $34_1 = 24; + HEAP8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + (HEAP32[$5_1 >> 2] | 0) | 0) >> 0] | 0) << $34_1 | 0) >> $34_1 | 0) | 0) >> 0] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + HEAP32[$5_1 >> 2] = (HEAP32[$5_1 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function $2868($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $2869($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, $13_1 = 0, $24_1 = 0, $41_1 = 0, $47_1 = 0, $52_1 = 0, $59_1 = 0, $94_1 = 0, $100_1 = 0, $105_1 = 0, $112_1 = 0, $200$hi = 0, $201$hi = 0, i64toi32_i32$3 = 0, $26_1 = 0, $149_1 = 0, $197_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 128 | 0; + global$0 = $8_1; + $13_1 = 0; + HEAP32[($8_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 112 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 108 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 104 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 100 | 0) >> 2] = HEAP32[($8_1 + 124 | 0) >> 2] | 0; + HEAP32[($8_1 + 96 | 0) >> 2] = $13_1; + HEAP32[($8_1 + 88 | 0) >> 2] = $13_1; + HEAP32[($8_1 + 12 | 0) >> 2] = 64; + HEAP32[($8_1 + 8 | 0) >> 2] = $8_1 + 16 | 0; + HEAP32[($8_1 + 4 | 0) >> 2] = HEAP32[($8_1 + 100 | 0) >> 2] | 0; + label$1 : while (1) { + $24_1 = 0; + label$2 : { + if (!((HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $24_1 = (HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($24_1 & 1 | 0)) { + break label$3 + } + label$4 : while (1) { + $41_1 = 0; + label$5 : { + if (!((HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $47_1 = 24; + $52_1 = 0; + label$6 : { + if ((((HEAPU8[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + (HEAP32[($8_1 + 88 | 0) >> 2] | 0) | 0) >> 0] | 0) << $47_1 | 0) >> $47_1 | 0) & 128 | 0) { + break label$6 + } + $59_1 = 24; + $52_1 = ((HEAPU8[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + (HEAP32[($8_1 + 88 | 0) >> 2] | 0) | 0) >> 0] | 0) << $59_1 | 0) >> $59_1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) == (0 | 0); + } + $41_1 = $52_1; + } + label$7 : { + if (!($41_1 & 1 | 0)) { + break label$7 + } + HEAP32[($8_1 + 88 | 0) >> 2] = (HEAP32[($8_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + label$8 : { + if (!((HEAP32[($8_1 + 88 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$3; + } + HEAP32[($8_1 + 92 | 0) >> 2] = (HEAP32[($8_1 + 88 | 0) >> 2] | 0) + 1 | 0; + label$9 : while (1) { + $94_1 = 0; + label$10 : { + if (!((HEAP32[($8_1 + 92 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $100_1 = 24; + $105_1 = 1; + label$11 : { + if ((((HEAPU8[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + (HEAP32[($8_1 + 92 | 0) >> 2] | 0) | 0) >> 0] | 0) << $100_1 | 0) >> $100_1 | 0) & 128 | 0) { + break label$11 + } + $112_1 = 24; + $105_1 = ((HEAPU8[((HEAP32[($8_1 + 4 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($8_1 + 112 | 0) >> 2] | 0) + (HEAP32[($8_1 + 92 | 0) >> 2] | 0) | 0) >> 0] | 0) << $112_1 | 0) >> $112_1 | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + $94_1 = $105_1; + } + label$12 : { + if (!($94_1 & 1 | 0)) { + break label$12 + } + HEAP32[($8_1 + 92 | 0) >> 2] = (HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + HEAP32[$8_1 >> 2] = (HEAP32[($8_1 + 92 | 0) >> 2] | 0) - (HEAP32[($8_1 + 88 | 0) >> 2] | 0) | 0; + label$13 : { + if (!((HEAP32[$8_1 >> 2] | 0 | 0) > (HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) != ($8_1 + 16 | 0 | 0) & 1 | 0)) { + break label$14 + } + $42(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0); + } + $149_1 = 0; + i64toi32_i32$1 = HEAP32[$8_1 >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $200$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $201$hi = i64toi32_i32$0; + i64toi32_i32$0 = $200$hi; + i64toi32_i32$0 = $201$hi; + i64toi32_i32$0 = $200$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $201$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $26_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $26_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $41($26_1 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) == ($149_1 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($8_1 + 96 | 0) >> 2] = 7; + break label$3; + } + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[$8_1 >> 2] | 0) << 1 | 0; + } + $2870(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + (HEAP32[($8_1 + 88 | 0) >> 2] | 0) | 0 | 0, HEAP32[$8_1 >> 2] | 0 | 0); + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 120 | 0) >> 2] | 0, 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0, HEAP32[$8_1 >> 2] | 0, HEAP32[($8_1 + 88 | 0) >> 2] | 0, HEAP32[($8_1 + 92 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 88 | 0) >> 2] = (HEAP32[($8_1 + 92 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$16 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) != ($8_1 + 16 | 0 | 0) & 1 | 0)) { + break label$16 + } + $42(HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0); + } + label$17 : { + if (!((HEAP32[($8_1 + 96 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($8_1 + 96 | 0) >> 2] = 0; + } + $197_1 = HEAP32[($8_1 + 96 | 0) >> 2] | 0; + global$0 = $8_1 + 128 | 0; + return $197_1 | 0; + } + + function $2870($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $20_1 = 0, $30_1 = 0, $39_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[($5_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0; + $20_1 = 24; + label$3 : { + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $20_1 | 0) >> $20_1 | 0 | 0) >= (65 | 0) & 1 | 0)) { + break label$3 + } + $30_1 = 24; + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) <= (90 | 0) & 1 | 0)) { + break label$3 + } + $39_1 = 24; + HEAP8[($5_1 + 15 | 0) >> 0] = (((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0) + 32 | 0; + } + HEAP8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[($5_1 + 15 | 0) >> 0] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function $2871($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $51_1 = 0, $58_1 = 0, $75_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 12 | 0) >> 2] = 41992; + label$1 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) > ($7_1 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(144 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $3289(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0, 144 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0, $6_1 + 16 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + HEAP32[($6_1 + 24 | 0) >> 2] = 7; + } + label$4 : { + if (HEAP32[($6_1 + 24 | 0) >> 2] | 0) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + $51_1 = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) - 1 | 0; + break label$5; + } + $51_1 = 0; + } + HEAP32[($6_1 + 8 | 0) >> 2] = $51_1; + label$7 : { + label$8 : { + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$8 + } + $58_1 = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 4 | 0; + break label$7; + } + $58_1 = 0; + } + HEAP32[($6_1 + 4 | 0) >> 2] = $58_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 16 | 0) >> 2] | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0, (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 12 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + } + label$9 : { + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$9 + } + $2872(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $75_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $75_1 | 0; + } + + function $2872($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0); + } + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2873($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $26_1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 20 | 0) >> 2] = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 16 | 0; + $26_1 = FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($8_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, $8_1 + 8 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0, 149) | 0; + global$0 = $8_1 + 48 | 0; + return $26_1 | 0; + } + + function $2874($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $145_1 = 0, $26_1 = 0, $49_1 = 0, $55_1 = 0, $65_1 = 0, $75_1 = 0, $84_1 = 0, $93_1 = 0, $112_1 = 0, $123_1 = 0, $155_1 = 0, $195_1 = 0, $210_1 = 0, $111_1 = 0, $246_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 16 | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if ((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) > (64 | 0) & 1 | 0) { + break label$4 + } + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$3 + } + } + break label$2; + } + $26_1 = $8_1 + 8 | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $3288(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $2878(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, $26_1 | 0); + label$5 : { + if (!($2879(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, $26_1 | 0) | 0)) { + break label$5 + } + label$6 : { + if ($2880(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, $8_1 + 8 | 0 | 0) | 0) { + break label$6 + } + HEAP8[($8_1 + 7 | 0) >> 0] = HEAPU8[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0; + $49_1 = 24; + label$7 : { + label$8 : { + if ($2881(((HEAPU8[($8_1 + 7 | 0) >> 0] | 0) << $49_1 | 0) >> $49_1 | 0 | 0, 0 | 0) | 0) { + break label$8 + } + $55_1 = 24; + if (!((((HEAPU8[($8_1 + 7 | 0) >> 0] | 0) << $55_1 | 0) >> $55_1 | 0 | 0) != (108 | 0) & 1 | 0)) { + break label$8 + } + $65_1 = 24; + if (!((((HEAPU8[($8_1 + 7 | 0) >> 0] | 0) << $65_1 | 0) >> $65_1 | 0 | 0) != (115 | 0) & 1 | 0)) { + break label$8 + } + $75_1 = 24; + if (!((((HEAPU8[($8_1 + 7 | 0) >> 0] | 0) << $75_1 | 0) >> $75_1 | 0 | 0) != (122 | 0) & 1 | 0)) { + break label$8 + } + $84_1 = 24; + $93_1 = 24; + if (!((((HEAPU8[($8_1 + 7 | 0) >> 0] | 0) << $84_1 | 0) >> $84_1 | 0 | 0) == (((HEAPU8[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 2 | 0) | 0) >> 0] | 0) << $93_1 | 0) >> $93_1 | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($8_1 + 8 | 0) >> 2] = (HEAP32[($8_1 + 8 | 0) >> 2] | 0) + -1 | 0; + break label$7; + } + label$9 : { + if (!($2882(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + if (!($2883(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0)) { + break label$9 + } + $111_1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + $112_1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + HEAP32[($8_1 + 8 | 0) >> 2] = $112_1 + 1 | 0; + HEAP8[($111_1 + $112_1 | 0) >> 0] = 101; + } + } + } + } + $123_1 = 24; + label$10 : { + if (!((((HEAPU8[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $123_1 | 0) >> $123_1 | 0 | 0) == (121 | 0) & 1 | 0)) { + break label$10 + } + if (!($2884(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0 | 0) | 0)) { + break label$10 + } + HEAP8[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] = 105; + } + $145_1 = $8_1 + 8 | 0; + $2885(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, $145_1 | 0) | 0; + $2886(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, $145_1 | 0) | 0; + $2887(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, $145_1 | 0) | 0; + $155_1 = 24; + label$11 : { + if (!((((HEAPU8[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $155_1 | 0) >> $155_1 | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if ($2888(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0 | 0) | 0) { + break label$13 + } + if (!($2882(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0 | 0) | 0)) { + break label$12 + } + if ($2883(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0 | 0) | 0) { + break label$12 + } + } + HEAP32[($8_1 + 8 | 0) >> 2] = (HEAP32[($8_1 + 8 | 0) >> 2] | 0) + -1 | 0; + } + } + label$14 : { + if (!((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$14 + } + $195_1 = 24; + if (!((((HEAPU8[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $195_1 | 0) >> $195_1 | 0 | 0) == (108 | 0) & 1 | 0)) { + break label$14 + } + $210_1 = 24; + if (!((((HEAPU8[((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 2 | 0) | 0) >> 0] | 0) << $210_1 | 0) >> $210_1 | 0 | 0) == (108 | 0) & 1 | 0)) { + break label$14 + } + if (!($2888(HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 8 | 0) >> 2] | 0) - 1 | 0 | 0) | 0)) { + break label$14 + } + HEAP32[($8_1 + 8 | 0) >> 2] = (HEAP32[($8_1 + 8 | 0) >> 2] | 0) + -1 | 0; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0](HEAP32[(HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 2] | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0](HEAP32[(HEAP32[($8_1 + 16 | 0) >> 2] | 0) >> 2] | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0, HEAP32[($8_1 + 28 | 0) >> 2] | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + $246_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $246_1 | 0; + } + + function $2875($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $681_1 = 0, $22_1 = 0, $48_1 = 0, $65_1 = 0, $124_1 = 0, $143_1 = 0, $153_1 = 0, $172_1 = 0, $184_1 = 0, $194_1 = 0, $206_1 = 0, $218_1 = 0, $230_1 = 0, $240_1 = 0, $244_1 = 0, $270_1 = 0, $287_1 = 0, $345_1 = 0, $364_1 = 0, $374_1 = 0, $393_1 = 0, $405_1 = 0, $415_1 = 0, $427_1 = 0, $439_1 = 0, $451_1 = 0, $461_1 = 0, $465_1 = 0, $491_1 = 0, $508_1 = 0, $559_1 = 0, $578_1 = 0, $588_1 = 0, $607_1 = 0, $619_1 = 0, $629_1 = 0, $641_1 = 0, $653_1 = 0, $665_1 = 0, $675_1 = 0, $64_1 = 0, $123_1 = 0, $142_1 = 0, $152_1 = 0, $171_1 = 0, $183_1 = 0, $193_1 = 0, $205_1 = 0, $217_1 = 0, $229_1 = 0, $239_1 = 0, $286_1 = 0, $344_1 = 0, $363_1 = 0, $373_1 = 0, $392_1 = 0, $404_1 = 0, $414_1 = 0, $426_1 = 0, $438_1 = 0, $450_1 = 0, $460_1 = 0, $507_1 = 0, $558_1 = 0, $577_1 = 0, $587_1 = 0, $606_1 = 0, $618_1 = 0, $628_1 = 0, $640_1 = 0, $652_1 = 0, $664_1 = 0, $674_1 = 0, $694_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 96 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 84 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 80 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 76 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 68 | 0) >> 2] = HEAP32[($8_1 + 92 | 0) >> 2] | 0; + HEAP32[($8_1 + 64 | 0) >> 2] = 0; + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[($8_1 + 80 | 0) >> 2] | 0; + HEAP32[($8_1 + 24 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) + (HEAP32[($8_1 + 76 | 0) >> 2] | 0) | 0; + label$1 : while (1) { + HEAP32[($8_1 + 16 | 0) >> 2] = $8_1 + 32 | 0; + HEAP32[($8_1 + 12 | 0) >> 2] = (HEAP32[($8_1 + 28 | 0) >> 2] | 0) - (HEAP32[($8_1 + 80 | 0) >> 2] | 0) | 0; + $22_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $22_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[$22_1 >> 0] | 0) & 255 | 0; + label$2 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$3 : while (1) { + $48_1 = 0; + label$4 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $48_1 = (((HEAPU8[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$5 : { + if (!($48_1 & 1 | 0)) { + break label$5 + } + $64_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) << 6 | 0; + $65_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $65_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $64_1 + (((HEAPU8[$65_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$3; + } + break label$3; + }; + label$6 : { + label$7 : { + if ((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$7 + } + if (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$7 + } + if (!(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[($8_1 + 20 | 0) >> 2] = 65533; + } + } + label$8 : { + label$9 : { + if (HEAP32[($8_1 + 20 | 0) >> 2] | 0) { + break label$9 + } + break label$8; + } + HEAP32[($8_1 + 8 | 0) >> 2] = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + label$10 : { + label$11 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0) >>> 0 < (HEAP32[($8_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$11 + } + label$12 : { + if (!(HEAP32[(HEAP32[($8_1 + 68 | 0) >> 2] | 0) >> 2] | 0)) { + break label$12 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2840(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$13 : { + label$14 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$14 + } + $123_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $124_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $124_1 + 1 | 0; + HEAP8[$124_1 >> 0] = $123_1; + break label$13; + } + label$15 : { + label$16 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 2048 >>> 0 & 1 | 0)) { + break label$16 + } + $142_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 31 | 0) & 255 | 0) + 192 | 0; + $143_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $143_1 + 1 | 0; + HEAP8[$143_1 >> 0] = $142_1; + $152_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $153_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $153_1 + 1 | 0; + HEAP8[$153_1 >> 0] = $152_1; + break label$15; + } + label$17 : { + label$18 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 65536 >>> 0 & 1 | 0)) { + break label$18 + } + $171_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 15 | 0) & 255 | 0) + 224 | 0; + $172_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $172_1 + 1 | 0; + HEAP8[$172_1 >> 0] = $171_1; + $183_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $184_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $184_1 + 1 | 0; + HEAP8[$184_1 >> 0] = $183_1; + $193_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $194_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $194_1 + 1 | 0; + HEAP8[$194_1 >> 0] = $193_1; + break label$17; + } + $205_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 18 | 0) & 7 | 0) & 255 | 0) + 240 | 0; + $206_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $206_1 + 1 | 0; + HEAP8[$206_1 >> 0] = $205_1; + $217_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $218_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $218_1 + 1 | 0; + HEAP8[$218_1 >> 0] = $217_1; + $229_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $230_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $230_1 + 1 | 0; + HEAP8[$230_1 >> 0] = $229_1; + $239_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $240_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $240_1 + 1 | 0; + HEAP8[$240_1 >> 0] = $239_1; + } + } + } + $244_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $244_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[$244_1 >> 0] | 0) & 255 | 0; + label$19 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$19 + } + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$20 : while (1) { + $270_1 = 0; + label$21 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + $270_1 = (((HEAPU8[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$22 : { + if (!($270_1 & 1 | 0)) { + break label$22 + } + $286_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) << 6 | 0; + $287_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $287_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $286_1 + (((HEAPU8[$287_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$20; + } + break label$20; + }; + label$23 : { + label$24 : { + if ((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$24 + } + if (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$24 + } + if (!(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$23 + } + } + HEAP32[($8_1 + 20 | 0) >> 2] = 65533; + } + } + label$25 : { + if (HEAP32[($8_1 + 20 | 0) >> 2] | 0) { + break label$25 + } + break label$8; + } + break label$10; + } + break label$8; + } + label$26 : { + label$27 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0) >>> 0 < (HEAP32[($8_1 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$27 + } + label$28 : { + if (!(HEAP32[(HEAP32[($8_1 + 68 | 0) >> 2] | 0) >> 2] | 0)) { + break label$28 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2840(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$29 : { + label$30 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$30 + } + $344_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $345_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $345_1 + 1 | 0; + HEAP8[$345_1 >> 0] = $344_1; + break label$29; + } + label$31 : { + label$32 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 2048 >>> 0 & 1 | 0)) { + break label$32 + } + $363_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 31 | 0) & 255 | 0) + 192 | 0; + $364_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $364_1 + 1 | 0; + HEAP8[$364_1 >> 0] = $363_1; + $373_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $374_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $374_1 + 1 | 0; + HEAP8[$374_1 >> 0] = $373_1; + break label$31; + } + label$33 : { + label$34 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 65536 >>> 0 & 1 | 0)) { + break label$34 + } + $392_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 15 | 0) & 255 | 0) + 224 | 0; + $393_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $393_1 + 1 | 0; + HEAP8[$393_1 >> 0] = $392_1; + $404_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $405_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $405_1 + 1 | 0; + HEAP8[$405_1 >> 0] = $404_1; + $414_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $415_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $415_1 + 1 | 0; + HEAP8[$415_1 >> 0] = $414_1; + break label$33; + } + $426_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 18 | 0) & 7 | 0) & 255 | 0) + 240 | 0; + $427_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $427_1 + 1 | 0; + HEAP8[$427_1 >> 0] = $426_1; + $438_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $439_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $439_1 + 1 | 0; + HEAP8[$439_1 >> 0] = $438_1; + $450_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $451_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $451_1 + 1 | 0; + HEAP8[$451_1 >> 0] = $450_1; + $460_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $461_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $461_1 + 1 | 0; + HEAP8[$461_1 >> 0] = $460_1; + } + } + } + $465_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $465_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[$465_1 >> 0] | 0) & 255 | 0; + label$35 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 >= 192 >>> 0 & 1 | 0)) { + break label$35 + } + HEAP32[($8_1 + 20 | 0) >> 2] = (HEAPU8[(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) - 192 | 0) + 5056 | 0) >> 0] | 0) & 255 | 0; + label$36 : while (1) { + $491_1 = 0; + label$37 : { + if (!((HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$37 + } + $491_1 = (((HEAPU8[(HEAP32[($8_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0); + } + label$38 : { + if (!($491_1 & 1 | 0)) { + break label$38 + } + $507_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) << 6 | 0; + $508_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + HEAP32[($8_1 + 28 | 0) >> 2] = $508_1 + 1 | 0; + HEAP32[($8_1 + 20 | 0) >> 2] = $507_1 + (((HEAPU8[$508_1 >> 0] | 0) & 255 | 0) & 63 | 0) | 0; + continue label$36; + } + break label$36; + }; + label$39 : { + label$40 : { + if ((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0) { + break label$40 + } + if (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$40 + } + if (!(((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$39 + } + } + HEAP32[($8_1 + 20 | 0) >> 2] = 65533; + } + } + label$41 : { + if (HEAP32[($8_1 + 20 | 0) >> 2] | 0) { + break label$41 + } + break label$8; + } + label$42 : { + if (!(HEAP32[(HEAP32[($8_1 + 68 | 0) >> 2] | 0) >> 2] | 0)) { + break label$42 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2840(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + label$43 : { + label$44 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$44 + } + $558_1 = (HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 255 | 0; + $559_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $559_1 + 1 | 0; + HEAP8[$559_1 >> 0] = $558_1; + break label$43; + } + label$45 : { + label$46 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 2048 >>> 0 & 1 | 0)) { + break label$46 + } + $577_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 31 | 0) & 255 | 0) + 192 | 0; + $578_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $578_1 + 1 | 0; + HEAP8[$578_1 >> 0] = $577_1; + $587_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $588_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $588_1 + 1 | 0; + HEAP8[$588_1 >> 0] = $587_1; + break label$45; + } + label$47 : { + label$48 : { + if (!((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 0 < 65536 >>> 0 & 1 | 0)) { + break label$48 + } + $606_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 15 | 0) & 255 | 0) + 224 | 0; + $607_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $607_1 + 1 | 0; + HEAP8[$607_1 >> 0] = $606_1; + $618_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $619_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $619_1 + 1 | 0; + HEAP8[$619_1 >> 0] = $618_1; + $628_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $629_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $629_1 + 1 | 0; + HEAP8[$629_1 >> 0] = $628_1; + break label$47; + } + $640_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 18 | 0) & 7 | 0) & 255 | 0) + 240 | 0; + $641_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $641_1 + 1 | 0; + HEAP8[$641_1 >> 0] = $640_1; + $652_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 12 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $653_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $653_1 + 1 | 0; + HEAP8[$653_1 >> 0] = $652_1; + $664_1 = ((((HEAP32[($8_1 + 20 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $665_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $665_1 + 1 | 0; + HEAP8[$665_1 >> 0] = $664_1; + $674_1 = (((HEAP32[($8_1 + 20 | 0) >> 2] | 0) & 63 | 0) & 255 | 0) + 128 | 0; + $675_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 16 | 0) >> 2] = $675_1 + 1 | 0; + HEAP8[$675_1 >> 0] = $674_1; + } + } + } + break label$26; + } + break label$8; + } + $681_1 = $8_1 + 32 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($8_1 + 72 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 88 | 0) >> 2] | 0, 0, $681_1, (HEAP32[($8_1 + 16 | 0) >> 2] | 0) - $681_1 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0, ((HEAP32[($8_1 + 16 | 0) >> 2] | 0) + (HEAP32[($8_1 + 12 | 0) >> 2] | 0) | 0) - $681_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$49 : { + if (!(HEAP32[($8_1 + 64 | 0) >> 2] | 0)) { + break label$49 + } + break label$8; + } + HEAP32[($8_1 + 28 | 0) >> 2] = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + $694_1 = HEAP32[($8_1 + 64 | 0) >> 2] | 0; + global$0 = $8_1 + 96 | 0; + return $694_1 | 0; + } + + function $2876($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $13_1 = 0, $47_1 = 0; + $4_1 = global$0 - 32 | 0; + $5_1 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$1 + } + $13_1 = 76848; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (((HEAPU16[($13_1 + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) & 31 | 0) | 0) >> 0] | 0) & 255 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (((HEAPU16[($13_1 + ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0) >> 5 | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0; + label$3 : while (1) { + $47_1 = 0; + label$4 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$4 + } + $47_1 = (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + label$5 : { + if (!($47_1 & 1 | 0)) { + break label$5 + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] = 0; + return; + } + + function $2877($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0) - 1 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) >= (HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 4 | 0) >> 2] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0; + label$5 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$6; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 1 | 0; + } + continue label$4; + }; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $2878($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $14_1 = 0, $29_1 = 0, $51_1 = 0, $66_1 = 0, $88_1 = 0, $111_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $14_1 = 24; + label$1 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $14_1 | 0) >> $14_1 | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$1 + } + $29_1 = 24; + label$2 : { + label$3 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 2 | 0) | 0) >> 0] | 0) << $29_1 | 0) >> $29_1 | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + label$6 : { + label$7 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$7 + } + $51_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 4 | 0) | 0) >> 0] | 0) << $51_1 | 0) >> $51_1 | 0 | 0) == (115 | 0) & 1 | 0)) { + break label$7 + } + $66_1 = 24; + if ((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 3 | 0) | 0) >> 0] | 0) << $66_1 | 0) >> $66_1 | 0 | 0) == (115 | 0) & 1 | 0) { + break label$6 + } + } + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$5 + } + $88_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 3 | 0) | 0) >> 0] | 0) << $88_1 | 0) >> $88_1 | 0 | 0) == (105 | 0) & 1 | 0)) { + break label$5 + } + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 2 | 0; + break label$4; + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 1 | 0; + } + break label$2; + } + $111_1 = 24; + label$8 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 2 | 0) | 0) >> 0] | 0) << $111_1 | 0) >> $111_1 | 0 | 0) != (115 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 1 | 0; + } + } + } + return; + } + + function $2879($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $5_1 = 0, $6_1 = 0, $7_1 = 0, $118_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $15_1 = (HEAP8[(((HEAP32[$4_1 >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0) + -2 | 0) >> 0] | 0) + -101 | 0; + label$1 : { + label$2 : { + switch ($15_1 | 0) { + case 0: + label$4 : { + label$5 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$5 + } + if (!((0 | 0) == ($3228(56620 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$6 + } + $5_1 = 0; + $6_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0; + $7_1 = HEAPU8[($5_1 + 48002 | 0) >> 0] | 0 | ((HEAPU8[($5_1 + 48003 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$6_1 >> 0] = $7_1; + HEAP8[($6_1 + 1 | 0) >> 0] = $7_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) + 2 | 0; + } + break label$4; + } + label$7 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$7 + } + if (!((0 | 0) == ($3228(56624 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0 | 0, 2 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + if (!($2884(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 2 | 0 | 0) | 0)) { + break label$8 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 2 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + } + } + } + break label$1; + case 9: + break label$2; + default: + break label$1; + }; + } + label$9 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$9 + } + if (!((0 | 0) == ($3228(56627 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!($2884(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$10 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + } + } + } + $118_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $118_1 | 0; + } + + function $2880($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $43_1 = 0, $46_1 = 0, $81_1 = 0, $84_1 = 0, $119_1 = 0, $122_1 = 0, $15_1 = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $131_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $15_1 = (HEAP8[(((HEAP32[$4_1 >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0) + -2 | 0) >> 0] | 0) + -97 | 0; + label$1 : { + label$2 : { + switch ($15_1 | 0) { + case 0: + label$5 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$5 + } + if (!((0 | 0) == ($3228(56631 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0 | 0, 2 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + $43_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0; + $46_1 = 0; + HEAP8[($43_1 + 2 | 0) >> 0] = HEAPU8[($46_1 + 48017 | 0) >> 0] | 0; + $11_1 = HEAPU8[($46_1 + 48015 | 0) >> 0] | 0 | ((HEAPU8[($46_1 + 48016 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$43_1 >> 0] = $11_1; + HEAP8[($43_1 + 1 | 0) >> 0] = $11_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) + 3 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + } + break label$1; + case 1: + label$6 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$6 + } + if (!((0 | 0) == ($3228(56634 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0 | 0, 2 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + $81_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0; + $84_1 = 0; + HEAP8[($81_1 + 2 | 0) >> 0] = HEAPU8[($84_1 + 48024 | 0) >> 0] | 0; + $12_1 = HEAPU8[($84_1 + 48022 | 0) >> 0] | 0 | ((HEAPU8[($84_1 + 48023 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$81_1 >> 0] = $12_1; + HEAP8[($81_1 + 1 | 0) >> 0] = $12_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) + 3 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + } + break label$1; + case 8: + break label$2; + default: + break label$1; + }; + } + label$7 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$7 + } + if (!((0 | 0) == ($3228(56637 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0 | 0, 2 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + $119_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0; + $122_1 = 0; + HEAP8[($119_1 + 2 | 0) >> 0] = HEAPU8[($122_1 + 48031 | 0) >> 0] | 0; + $13_1 = HEAPU8[($122_1 + 48029 | 0) >> 0] | 0 | ((HEAPU8[($122_1 + 48030 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$119_1 >> 0] = $13_1; + HEAP8[($119_1 + 1 | 0) >> 0] = $13_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) + 3 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 1; + } + } + $131_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $131_1 | 0; + } + + function $2881($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, $8_1 = 0, $20_1 = 0, $31_1 = 0, $42_1 = 0, $53_1 = 0, $63_1 = 0, $66_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP8[($4_1 + 15 | 0) >> 0] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $8_1 = 24; + $16_1 = 1; + label$1 : { + if ((((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) << $8_1 | 0) >> $8_1 | 0 | 0) == (97 | 0) & 1 | 0) { + break label$1 + } + $20_1 = 24; + $16_1 = 1; + if ((((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) << $20_1 | 0) >> $20_1 | 0 | 0) == (101 | 0) & 1 | 0) { + break label$1 + } + $31_1 = 24; + $16_1 = 1; + if ((((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) << $31_1 | 0) >> $31_1 | 0 | 0) == (105 | 0) & 1 | 0) { + break label$1 + } + $42_1 = 24; + $16_1 = 1; + if ((((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0 | 0) == (111 | 0) & 1 | 0) { + break label$1 + } + $53_1 = 24; + $16_1 = 1; + if ((((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) << $53_1 | 0) >> $53_1 | 0 | 0) == (117 | 0) & 1 | 0) { + break label$1 + } + $63_1 = 0; + label$2 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $66_1 = 24; + $63_1 = (((HEAPU8[($4_1 + 15 | 0) >> 0] | 0) << $66_1 | 0) >> $66_1 | 0 | 0) == (121 | 0); + } + $16_1 = $63_1; + } + return $16_1 & 1 | 0 | 0; + } + + function $2882($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $26_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2890(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[$4_1 >> 2] | 0)) { + break label$2 + } + if (!((0 | 0) == ($2890((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - (HEAP32[$4_1 >> 2] | 0) | 0 | 0, 1 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $26_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $26_1 | 0; + } + + function $2883($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $51_1 = 0, $12_1 = 0, $27_1 = 0, $42_1 = 0, $65_1 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + $12_1 = 24; + label$1 : { + label$2 : { + label$3 : { + if ((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $12_1 | 0) >> $12_1 | 0 | 0) == (119 | 0) & 1 | 0) { + break label$3 + } + $27_1 = 24; + if ((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $27_1 | 0) >> $27_1 | 0 | 0) == (120 | 0) & 1 | 0) { + break label$3 + } + $42_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 20 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0 | 0) == (121 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $51_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $51_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $51_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $51_1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $65_1 = 24; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = (($2881(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) << $65_1 | 0) >> $65_1 | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 1 | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($4_1 + 28 | 0) >> 2] = ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) & 7 | 0 | 0) == (5 | 0) & 1 | 0; + } + $93_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $93_1 | 0; + } + + function $2884($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $24_1 = 0, $33_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) < (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $24_1 = 24; + label$4 : { + if (!($2881(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0) >> 0] | 0) << $24_1 | 0) >> $24_1 | 0 | 0, (HEAP32[$4_1 >> 2] | 0 | 0) > (0 | 0) & 1 | 0 | 0) | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[$4_1 >> 2] = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $33_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $33_1 | 0; + } + + function $2885($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $47_1 = 0, $50_1 = 0, $206_1 = 0, $209_1 = 0, $248_1 = 0, $251_1 = 0, $290_1 = 0, $293_1 = 0, $371_1 = 0, $374_1 = 0, $452_1 = 0, $455_1 = 0, $494_1 = 0, $497_1 = 0, $536_1 = 0, $539_1 = 0, $578_1 = 0, $581_1 = 0, $659_1 = 0, $662_1 = 0, $701_1 = 0, $704_1 = 0, $743_1 = 0, $746_1 = 0, $824_1 = 0, $827_1 = 0, $866_1 = 0, $869_1 = 0, $15_1 = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, $45_1 = 0, $46_1 = 0, $48_1 = 0, $49_1 = 0, $51_1 = 0, $52_1 = 0, $53_1 = 0, $54_1 = 0, $55_1 = 0, $56_1 = 0, $57_1 = 0, $58_1 = 0, $59_1 = 0, $60_1 = 0, $61_1 = 0, $62_1 = 0, $63_1 = 0, $64_1 = 0, $65_1 = 0, $66_1 = 0, $878_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $15_1 = (HEAP8[(((HEAP32[$4_1 >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0) + -2 | 0) >> 0] | 0) + -97 | 0; + label$1 : { + label$2 : { + switch ($15_1 | 0) { + case 0: + label$10 : { + label$11 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (7 | 0) & 1 | 0)) { + break label$11 + } + if (!((0 | 0) == ($3228(56640 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0 | 0, 7 | 0) | 0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 7 | 0 | 0) | 0)) { + break label$12 + } + $47_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0; + $50_1 = 0; + HEAP8[($47_1 + 2 | 0) >> 0] = HEAPU8[($50_1 + 48017 | 0) >> 0] | 0; + $42_1 = HEAPU8[($50_1 + 48015 | 0) >> 0] | 0 | ((HEAPU8[($50_1 + 48016 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$47_1 >> 0] = $42_1; + HEAP8[($47_1 + 1 | 0) >> 0] = $42_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) + 3 | 0; + } + break label$10; + } + label$13 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (6 | 0) & 1 | 0)) { + break label$13 + } + if (!((0 | 0) == ($3228(56648 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 6 | 0) | 0 | 0, 6 | 0) | 0 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 6 | 0 | 0) | 0)) { + break label$14 + } + $33_1 = 0; + $34_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 6 | 0) | 0; + $35_1 = HEAPU8[($33_1 + 48048 | 0) >> 0] | 0 | ((HEAPU8[($33_1 + 48049 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($33_1 + 48050 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($33_1 + 48051 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$34_1 >> 0] = $35_1; + HEAP8[($34_1 + 1 | 0) >> 0] = $35_1 >>> 8 | 0; + HEAP8[($34_1 + 2 | 0) >> 0] = $35_1 >>> 16 | 0; + HEAP8[($34_1 + 3 | 0) >> 0] = $35_1 >>> 24 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 6 | 0) + 4 | 0; + } + } + } + break label$1; + case 2: + label$15 : { + label$16 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$16 + } + if (!((0 | 0) == ($3228(56655 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$17 + } + $36_1 = 0; + $37_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0; + $38_1 = HEAPU8[($36_1 + 48058 | 0) >> 0] | 0 | ((HEAPU8[($36_1 + 48059 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($36_1 + 48060 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($36_1 + 48061 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$37_1 >> 0] = $38_1; + HEAP8[($37_1 + 1 | 0) >> 0] = $38_1 >>> 8 | 0; + HEAP8[($37_1 + 2 | 0) >> 0] = $38_1 >>> 16 | 0; + HEAP8[($37_1 + 3 | 0) >> 0] = $38_1 >>> 24 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) + 4 | 0; + } + break label$15; + } + label$18 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$18 + } + if (!((0 | 0) == ($3228(56660 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$18 + } + label$19 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$19 + } + $39_1 = 0; + $40_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0; + $41_1 = HEAPU8[($39_1 + 48068 | 0) >> 0] | 0 | ((HEAPU8[($39_1 + 48069 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($39_1 + 48070 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($39_1 + 48071 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + HEAP8[$40_1 >> 0] = $41_1; + HEAP8[($40_1 + 1 | 0) >> 0] = $41_1 >>> 8 | 0; + HEAP8[($40_1 + 2 | 0) >> 0] = $41_1 >>> 16 | 0; + HEAP8[($40_1 + 3 | 0) >> 0] = $41_1 >>> 24 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) + 4 | 0; + } + } + } + break label$1; + case 4: + label$20 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$20 + } + if (!((0 | 0) == ($3228(56665 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$20 + } + label$21 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$21 + } + $206_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0; + $209_1 = 0; + HEAP8[($206_1 + 2 | 0) >> 0] = HEAPU8[($209_1 + 48031 | 0) >> 0] | 0; + $43_1 = HEAPU8[($209_1 + 48029 | 0) >> 0] | 0 | ((HEAPU8[($209_1 + 48030 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$206_1 >> 0] = $43_1; + HEAP8[($206_1 + 1 | 0) >> 0] = $43_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) + 3 | 0; + } + } + break label$1; + case 6: + label$22 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$22 + } + if (!((0 | 0) == ($3228(56670 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$23 + } + $248_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0; + $251_1 = 0; + HEAP8[($248_1 + 2 | 0) >> 0] = HEAPU8[($251_1 + 14198 | 0) >> 0] | 0; + $44_1 = HEAPU8[($251_1 + 14196 | 0) >> 0] | 0 | ((HEAPU8[($251_1 + 14197 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$248_1 >> 0] = $44_1; + HEAP8[($248_1 + 1 | 0) >> 0] = $44_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) + 3 | 0; + } + } + break label$1; + case 11: + label$24 : { + label$25 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$25 + } + if (!((0 | 0) == ($3228(56675 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$25 + } + label$26 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$26 + } + $290_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0; + $293_1 = 0; + HEAP8[($290_1 + 2 | 0) >> 0] = HEAPU8[($293_1 + 48024 | 0) >> 0] | 0; + $45_1 = HEAPU8[($293_1 + 48022 | 0) >> 0] | 0 | ((HEAPU8[($293_1 + 48023 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$290_1 >> 0] = $45_1; + HEAP8[($290_1 + 1 | 0) >> 0] = $45_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) + 3 | 0; + } + break label$24; + } + label$27 : { + label$28 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$28 + } + if (!((0 | 0) == ($3228(56679 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$28 + } + label$29 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$29 + } + $46_1 = 0; + $48_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0; + $49_1 = HEAPU8[($46_1 + 48092 | 0) >> 0] | 0 | ((HEAPU8[($46_1 + 48093 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$48_1 >> 0] = $49_1; + HEAP8[($48_1 + 1 | 0) >> 0] = $49_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) + 2 | 0; + } + break label$27; + } + label$30 : { + label$31 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$31 + } + if (!((0 | 0) == ($3228(56684 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$31 + } + label$32 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$32 + } + $371_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0; + $374_1 = 0; + HEAP8[($371_1 + 2 | 0) >> 0] = HEAPU8[($374_1 + 48103 | 0) >> 0] | 0; + $51_1 = HEAPU8[($374_1 + 48101 | 0) >> 0] | 0 | ((HEAPU8[($374_1 + 48102 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$371_1 >> 0] = $51_1; + HEAP8[($371_1 + 1 | 0) >> 0] = $51_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) + 3 | 0; + } + break label$30; + } + label$33 : { + label$34 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$34 + } + if (!((0 | 0) == ($3228(56690 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$34 + } + label$35 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$35 + } + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0) >> 0] = HEAPU8[(0 + 48109 | 0) >> 0] | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) + 1 | 0; + } + break label$33; + } + label$36 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$36 + } + if (!((0 | 0) == ($3228(56694 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$36 + } + label$37 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$37 + } + $452_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0; + $455_1 = 0; + HEAP8[($452_1 + 2 | 0) >> 0] = HEAPU8[($455_1 + 48119 | 0) >> 0] | 0; + $52_1 = HEAPU8[($455_1 + 48117 | 0) >> 0] | 0 | ((HEAPU8[($455_1 + 48118 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$452_1 >> 0] = $52_1; + HEAP8[($452_1 + 1 | 0) >> 0] = $52_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) + 3 | 0; + } + } + } + } + } + } + break label$1; + case 14: + label$38 : { + label$39 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (7 | 0) & 1 | 0)) { + break label$39 + } + if (!((0 | 0) == ($3228(56700 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0 | 0, 7 | 0) | 0 | 0) & 1 | 0)) { + break label$39 + } + label$40 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 7 | 0 | 0) | 0)) { + break label$40 + } + $494_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0; + $497_1 = 0; + HEAP8[($494_1 + 2 | 0) >> 0] = HEAPU8[($497_1 + 48031 | 0) >> 0] | 0; + $53_1 = HEAPU8[($497_1 + 48029 | 0) >> 0] | 0 | ((HEAPU8[($497_1 + 48030 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$494_1 >> 0] = $53_1; + HEAP8[($494_1 + 1 | 0) >> 0] = $53_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) + 3 | 0; + } + break label$38; + } + label$41 : { + label$42 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$42 + } + if (!((0 | 0) == ($3228(56708 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$42 + } + label$43 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$43 + } + $536_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0; + $539_1 = 0; + HEAP8[($536_1 + 2 | 0) >> 0] = HEAPU8[($539_1 + 48017 | 0) >> 0] | 0; + $54_1 = HEAPU8[($539_1 + 48015 | 0) >> 0] | 0 | ((HEAPU8[($539_1 + 48016 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$536_1 >> 0] = $54_1; + HEAP8[($536_1 + 1 | 0) >> 0] = $54_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) + 3 | 0; + } + break label$41; + } + label$44 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$44 + } + if (!((0 | 0) == ($3228(56714 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$44 + } + label$45 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$45 + } + $578_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0; + $581_1 = 0; + HEAP8[($578_1 + 2 | 0) >> 0] = HEAPU8[($581_1 + 48017 | 0) >> 0] | 0; + $55_1 = HEAPU8[($581_1 + 48015 | 0) >> 0] | 0 | ((HEAPU8[($581_1 + 48016 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$578_1 >> 0] = $55_1; + HEAP8[($578_1 + 1 | 0) >> 0] = $55_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) + 3 | 0; + } + } + } + } + break label$1; + case 18: + label$46 : { + label$47 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$47 + } + if (!((0 | 0) == ($3228(56719 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$47 + } + label$48 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$48 + } + $56_1 = 0; + $57_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0; + $58_1 = HEAPU8[($56_1 + 48092 | 0) >> 0] | 0 | ((HEAPU8[($56_1 + 48093 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$57_1 >> 0] = $58_1; + HEAP8[($57_1 + 1 | 0) >> 0] = $58_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) + 2 | 0; + } + break label$46; + } + label$49 : { + label$50 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (7 | 0) & 1 | 0)) { + break label$50 + } + if (!((0 | 0) == ($3228(56725 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0 | 0, 7 | 0) | 0 | 0) & 1 | 0)) { + break label$50 + } + label$51 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 7 | 0 | 0) | 0)) { + break label$51 + } + $659_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0; + $662_1 = 0; + HEAP8[($659_1 + 2 | 0) >> 0] = HEAPU8[($662_1 + 48156 | 0) >> 0] | 0; + $59_1 = HEAPU8[($662_1 + 48154 | 0) >> 0] | 0 | ((HEAPU8[($662_1 + 48155 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$659_1 >> 0] = $59_1; + HEAP8[($659_1 + 1 | 0) >> 0] = $59_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) + 3 | 0; + } + break label$49; + } + label$52 : { + label$53 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (7 | 0) & 1 | 0)) { + break label$53 + } + if (!((0 | 0) == ($3228(56733 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0 | 0, 7 | 0) | 0 | 0) & 1 | 0)) { + break label$53 + } + label$54 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 7 | 0 | 0) | 0)) { + break label$54 + } + $701_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0; + $704_1 = 0; + HEAP8[($701_1 + 2 | 0) >> 0] = HEAPU8[($704_1 + 48168 | 0) >> 0] | 0; + $60_1 = HEAPU8[($704_1 + 48166 | 0) >> 0] | 0 | ((HEAPU8[($704_1 + 48167 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$701_1 >> 0] = $60_1; + HEAP8[($701_1 + 1 | 0) >> 0] = $60_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) + 3 | 0; + } + break label$52; + } + label$55 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (7 | 0) & 1 | 0)) { + break label$55 + } + if (!((0 | 0) == ($3228(56741 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0 | 0, 7 | 0) | 0 | 0) & 1 | 0)) { + break label$55 + } + label$56 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 7 | 0 | 0) | 0)) { + break label$56 + } + $743_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) | 0; + $746_1 = 0; + HEAP8[($743_1 + 2 | 0) >> 0] = HEAPU8[($746_1 + 48119 | 0) >> 0] | 0; + $61_1 = HEAPU8[($746_1 + 48117 | 0) >> 0] | 0 | ((HEAPU8[($746_1 + 48118 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$743_1 >> 0] = $61_1; + HEAP8[($743_1 + 1 | 0) >> 0] = $61_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 7 | 0) + 3 | 0; + } + } + } + } + } + break label$1; + case 19: + break label$2; + default: + break label$1; + }; + } + label$57 : { + label$58 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$58 + } + if (!((0 | 0) == ($3228(56749 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$58 + } + label$59 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$59 + } + $62_1 = 0; + $63_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0; + $64_1 = HEAPU8[($62_1 + 48092 | 0) >> 0] | 0 | ((HEAPU8[($62_1 + 48093 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$63_1 >> 0] = $64_1; + HEAP8[($63_1 + 1 | 0) >> 0] = $64_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) + 2 | 0; + } + break label$57; + } + label$60 : { + label$61 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$61 + } + if (!((0 | 0) == ($3228(56755 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$61 + } + label$62 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$62 + } + $824_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0; + $827_1 = 0; + HEAP8[($824_1 + 2 | 0) >> 0] = HEAPU8[($827_1 + 48156 | 0) >> 0] | 0; + $65_1 = HEAPU8[($827_1 + 48154 | 0) >> 0] | 0 | ((HEAPU8[($827_1 + 48155 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$824_1 >> 0] = $65_1; + HEAP8[($824_1 + 1 | 0) >> 0] = $65_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) + 3 | 0; + } + break label$60; + } + label$63 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (6 | 0) & 1 | 0)) { + break label$63 + } + if (!((0 | 0) == ($3228(56761 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 6 | 0) | 0 | 0, 6 | 0) | 0 | 0) & 1 | 0)) { + break label$63 + } + label$64 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 6 | 0 | 0) | 0)) { + break label$64 + } + $866_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 6 | 0) | 0; + $869_1 = 0; + HEAP8[($866_1 + 2 | 0) >> 0] = HEAPU8[($869_1 + 48024 | 0) >> 0] | 0; + $66_1 = HEAPU8[($869_1 + 48022 | 0) >> 0] | 0 | ((HEAPU8[($869_1 + 48023 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$866_1 >> 0] = $66_1; + HEAP8[($866_1 + 1 | 0) >> 0] = $66_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 6 | 0) + 3 | 0; + } + } + } + } + } + $878_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $878_1 | 0; + } + + function $2886($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $5_1 = 0, $6_1 = 0, $7_1 = 0, $8_1 = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $14_1 = 0, $16_1 = 0, $17_1 = 0, $263_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $15_1 = (HEAP8[(((HEAP32[$4_1 >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0) + -2 | 0) >> 0] | 0) + -97 | 0; + label$1 : { + label$2 : { + switch ($15_1 | 0) { + case 0: + label$8 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$8 + } + if (!((0 | 0) == ($3228(56768 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$9 + } + $5_1 = 0; + $6_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0; + $7_1 = HEAPU8[($5_1 + 48203 | 0) >> 0] | 0 | ((HEAPU8[($5_1 + 48204 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$6_1 >> 0] = $7_1; + HEAP8[($6_1 + 1 | 0) >> 0] = $7_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) + 2 | 0; + } + } + break label$1; + case 18: + label$10 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$10 + } + if (!((0 | 0) == ($3228(56773 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$11 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 4 | 0; + } + } + break label$1; + case 19: + label$12 : { + label$13 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$13 + } + if (!((0 | 0) == ($3228(56778 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$14 + } + $8_1 = 0; + $9_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0; + $10_1 = HEAPU8[($8_1 + 48203 | 0) >> 0] | 0 | ((HEAPU8[($8_1 + 48204 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$9_1 >> 0] = $10_1; + HEAP8[($9_1 + 1 | 0) >> 0] = $10_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) + 2 | 0; + } + break label$12; + } + label$15 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$15 + } + if (!((0 | 0) == ($3228(56784 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$15 + } + label$16 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$16 + } + $11_1 = 0; + $12_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0; + $13_1 = HEAPU8[($11_1 + 48203 | 0) >> 0] | 0 | ((HEAPU8[($11_1 + 48204 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$12_1 >> 0] = $13_1; + HEAP8[($12_1 + 1 | 0) >> 0] = $13_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) + 2 | 0; + } + } + } + break label$1; + case 20: + label$17 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$17 + } + if (!((0 | 0) == ($3228(48166 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$17 + } + label$18 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$18 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + } + break label$1; + case 21: + label$19 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$19 + } + if (!((0 | 0) == ($3228(56790 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$19 + } + label$20 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$20 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 5 | 0; + } + } + break label$1; + case 25: + break label$2; + default: + break label$1; + }; + } + label$21 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$21 + } + if (!((0 | 0) == ($3228(56796 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$21 + } + label$22 : { + if (!($2889(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$22 + } + $14_1 = 0; + $16_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0; + $17_1 = HEAPU8[($14_1 + 48092 | 0) >> 0] | 0 | ((HEAPU8[($14_1 + 48093 | 0) >> 0] | 0) << 8 | 0) | 0; + HEAP8[$16_1 >> 0] = $17_1; + HEAP8[($16_1 + 1 | 0) >> 0] = $17_1 >>> 8 | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) + 2 | 0; + } + } + } + $263_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $263_1 | 0; + } + + function $2887($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $15_1 = 0, $587_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + $15_1 = (HEAP8[(((HEAP32[$4_1 >> 2] | 0) + (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0) + -2 | 0) >> 0] | 0) + -97 | 0; + label$1 : { + label$2 : { + switch ($15_1 | 0) { + case 0: + label$14 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$14 + } + if (!((0 | 0) == ($3228(48092 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0 | 0, 2 | 0) | 0 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 2 | 0 | 0) | 0)) { + break label$15 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 2 | 0; + } + } + break label$1; + case 2: + label$16 : { + label$17 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$17 + } + if (!((0 | 0) == ($3228(48068 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$17 + } + label$18 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$18 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 4 | 0; + } + break label$16; + } + label$19 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$19 + } + if (!((0 | 0) == ($3228(48058 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$19 + } + label$20 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$20 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 4 | 0; + } + } + } + break label$1; + case 4: + label$21 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$21 + } + if (!((0 | 0) == ($3228(56802 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0 | 0, 2 | 0) | 0 | 0) & 1 | 0)) { + break label$21 + } + label$22 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 2 | 0 | 0) | 0)) { + break label$22 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 2 | 0; + } + } + break label$1; + case 8: + label$23 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$23 + } + if (!((0 | 0) == ($3228(48203 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0 | 0, 2 | 0) | 0 | 0) & 1 | 0)) { + break label$23 + } + label$24 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 2 | 0 | 0) | 0)) { + break label$24 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 2 | 0; + } + } + break label$1; + case 11: + label$25 : { + label$26 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$26 + } + if (!((0 | 0) == ($3228(56805 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$26 + } + label$27 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$27 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 4 | 0; + } + break label$25; + } + label$28 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$28 + } + if (!((0 | 0) == ($3228(56810 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$28 + } + label$29 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$29 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 4 | 0; + } + } + } + break label$1; + case 13: + label$30 : { + label$31 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$31 + } + if (!((0 | 0) == ($3228(56815 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$31 + } + label$32 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$32 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + break label$30; + } + label$33 : { + label$34 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (5 | 0) & 1 | 0)) { + break label$34 + } + if (!((0 | 0) == ($3228(56819 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 5 | 0) | 0 | 0, 5 | 0) | 0 | 0) & 1 | 0)) { + break label$34 + } + label$35 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 5 | 0 | 0) | 0)) { + break label$35 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 5 | 0; + } + break label$33; + } + label$36 : { + label$37 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (4 | 0) & 1 | 0)) { + break label$37 + } + if (!((0 | 0) == ($3228(56825 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 4 | 0) | 0 | 0, 4 | 0) | 0 | 0) & 1 | 0)) { + break label$37 + } + label$38 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 4 | 0 | 0) | 0)) { + break label$38 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 4 | 0; + } + break label$36; + } + label$39 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$39 + } + if (!((0 | 0) == ($3228(48101 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$39 + } + label$40 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$40 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + } + } + } + } + break label$1; + case 14: + label$41 : { + label$42 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$42 + } + if (!((0 | 0) == ($3228(56830 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$42 + } + label$43 : { + if (!($2891(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$43 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + break label$41; + } + label$44 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$44 + } + if (!((0 | 0) == ($3228(56834 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 2 | 0) | 0 | 0, 2 | 0) | 0 | 0) & 1 | 0)) { + break label$44 + } + label$45 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 2 | 0 | 0) | 0)) { + break label$45 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 2 | 0; + } + } + } + break label$1; + case 18: + label$46 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$46 + } + if (!((0 | 0) == ($3228(56837 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$46 + } + label$47 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$47 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + } + break label$1; + case 19: + label$48 : { + label$49 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$49 + } + if (!((0 | 0) == ($3228(48015 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$49 + } + label$50 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$50 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + break label$48; + } + label$51 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$51 + } + if (!((0 | 0) == ($3228(48261 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$51 + } + label$52 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$52 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + } + } + break label$1; + case 20: + label$53 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$53 + } + if (!((0 | 0) == ($3228(48117 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$53 + } + label$54 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$54 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + } + break label$1; + case 21: + label$55 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$55 + } + if (!((0 | 0) == ($3228(48154 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$55 + } + label$56 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$56 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + } + break label$1; + case 25: + break label$2; + default: + break label$1; + }; + } + label$57 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) > (3 | 0) & 1 | 0)) { + break label$57 + } + if (!((0 | 0) == ($3228(48029 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[$4_1 >> 2] | 0) - 3 | 0) | 0 | 0, 3 | 0) | 0 | 0) & 1 | 0)) { + break label$57 + } + label$58 : { + if (!($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$4_1 >> 2] | 0) - 3 | 0 | 0) | 0)) { + break label$58 + } + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[$4_1 >> 2] | 0) - 3 | 0; + } + } + } + $587_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $587_1 | 0; + } + + function $2888($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2890(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[$4_1 >> 2] | 0)) { + break label$2 + } + if (!($2890((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + (HEAP32[$4_1 >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - (HEAP32[$4_1 >> 2] | 0) | 0 | 0, 1 | 0) | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $20_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $20_1 | 0; + } + + function $2889($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $17_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $17_1 = ((($2890(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0 | 0) != ($5_1 | 0) ^ -1 | 0) ^ -1 | 0) & 1 | 0; + global$0 = $4_1 + 16 | 0; + return $17_1 | 0; + } + + function $2890($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $15_1 = 0, $21_1 = 0, $31_1 = 0, $56_1 = 0, $64_1 = 0, $76_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $15_1 = 0; + $21_1 = 24; + $31_1 = (($2881(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $21_1 | 0) >> $21_1 | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != ($15_1 | 0) ^ -1 | 0) & 1 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $31_1; + label$3 : { + if (!(($15_1 | 0) == ($31_1 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + label$4 : { + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $56_1 = 24; + $64_1 = ($2881(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) << $56_1 | 0) >> $56_1 | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) ^ -1 | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $64_1 & 1 | 0; + label$7 : { + if (!($64_1 & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + break label$4; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $76_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $76_1 | 0; + } + + function $2891($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $12_1 = 0, $28_1 = 0, $36_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $12_1 = 24; + label$1 : { + label$2 : { + if ((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $12_1 | 0) >> $12_1 | 0 | 0) == (115 | 0) & 1 | 0) { + break label$2 + } + $28_1 = 24; + $36_1 = 0; + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $28_1 | 0) >> $28_1 | 0 | 0) == (116 | 0) & 1 | 0)) { + break label$1 + } + } + $36_1 = ($2888(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + global$0 = $4_1 + 16 | 0; + return $36_1 & 1 | 0 | 0; + } + + function $2892($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $15_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + $15_1 = $2893(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $15_1 | 0; + } + + function $2893($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, $19_1 = 0, $17_1 = 0, i64toi32_i32$1 = 0, $25_1 = 0, $11_1 = 0, $14_1 = 0, $64_1 = 0, $71_1 = 0, $78_1 = 0, $191_1 = 0, $58_1 = 0, $155_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + $11_1 = 0; + $14_1 = $8_1 + 44 | 0; + HEAP32[($8_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $5_1; + $17_1 = 0; + HEAP32[($14_1 + 8 | 0) >> 2] = HEAP32[($17_1 + 57076 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($17_1 + 57068 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($17_1 + 57072 | 0) >> 2] | 0; + $191_1 = i64toi32_i32$0; + i64toi32_i32$0 = $14_1; + HEAP32[i64toi32_i32$0 >> 2] = $191_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($8_1 + 40 | 0) >> 2] = $11_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $11_1; + $25_1 = 0; + label$1 : { + if (!((HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$1 + } + $25_1 = 0; + if (!(($3303(HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$1 + } + $19_1 = HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $25_1 = ((HEAPU8[$19_1 >> 0] | 0 | ((HEAPU8[($19_1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[($19_1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[($19_1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0 | 0) != (1886217588 | 0) | 0) == (0 | 0); + } + HEAP32[($8_1 + 32 | 0) >> 2] = $25_1 & 1 | 0; + label$2 : { + label$3 : { + if (!((HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$3 + } + if (HEAP32[($8_1 + 32 | 0) >> 2] | 0) { + break label$3 + } + $58_1 = $79(57080 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 2] = $58_1; + HEAP32[($8_1 + 36 | 0) >> 2] = 1; + break label$2; + } + label$4 : { + label$5 : { + if (!(HEAP32[($8_1 + 32 | 0) >> 2] | 0)) { + break label$5 + } + $64_1 = HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$4; + } + $64_1 = HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 24 | 0) >> 2] = $64_1; + label$6 : { + label$7 : { + if (!(HEAP32[($8_1 + 32 | 0) >> 2] | 0)) { + break label$7 + } + $71_1 = HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + break label$6; + } + $71_1 = HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 20 | 0) >> 2] = $71_1; + label$8 : { + label$9 : { + if (!(HEAP32[($8_1 + 32 | 0) >> 2] | 0)) { + break label$9 + } + $78_1 = HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + break label$8; + } + $78_1 = HEAP32[((HEAP32[($8_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[($8_1 + 16 | 0) >> 2] = $78_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = ($3303(HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = ($3303(HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2911(HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, $8_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (HEAP32[($8_1 + 36 | 0) >> 2] | 0) { + break label$10 + } + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $414(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[(($8_1 + 44 | 0) + ((HEAP32[($8_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($8_1 + 28 | 0) >> 2] = ((HEAP32[($8_1 + 12 | 0) >> 2] | 0) + 36 | 0) + (HEAP32[($8_1 + 8 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $2468($8_1 + 36 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($8_1 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($8_1 + 76 | 0) >> 2] | 0; + HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 36 | 0; + HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[($8_1 + 8 | 0) >> 2] | 0) | 0; + $3288(HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $3288(HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $2500(HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $2500(HEAP32[((HEAP32[($8_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + } + } + HEAP32[(HEAP32[($8_1 + 60 | 0) >> 2] | 0) >> 2] = HEAP32[($8_1 + 40 | 0) >> 2] | 0; + $155_1 = HEAP32[($8_1 + 36 | 0) >> 2] | 0; + global$0 = $8_1 + 80 | 0; + return $155_1 | 0; + } + + function $2894($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $15_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + $15_1 = $2893(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $15_1 | 0; + } + + function $2895($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $6_1 = 0, $97_1 = 0, $118_1 = 0, $139_1 = 0; + $4_1 = global$0 - 48 | 0; + $5_1 = 0; + $6_1 = -1; + HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 36 | 0) >> 2] | 0, 12) | 0; + label$3 : { + label$4 : { + if ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) { + break label$4 + } + break label$3; + } + label$5 : { + if (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$5 + } + label$6 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + label$8 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (16 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + label$9 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (32 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + label$10 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + } + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$11 : { + label$12 : { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 1 | 0; + $97_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $97_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $97_1; + HEAPF64[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 3] = 100.0; + break label$11; + } + HEAPF64[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 3] = 1.0e6; + label$13 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 2 | 0; + $118_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $118_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $118_1; + HEAPF64[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 3] = +HEAPF64[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 3] / 2.0; + } + label$14 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 4 | 0; + $139_1 = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $139_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $139_1; + HEAPF64[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 3] = +HEAPF64[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 40 | 0) >> 3] / 2.0; + } + } + label$15 : { + if (!((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$15 + } + if (HEAP32[(HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$15 + } + if ((HEAPU8[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0) { + break label$15 + } + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + } + HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + return 0 | 0; + } + + function $2896($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2897($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2898($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5_1 = 0, $10_1 = 0, $14_1 = 0, $18_1 = 0, $20_1 = 0, $22_1 = 0, $323_1 = 0, $93_1 = 0, $99_1 = 0, $148_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 88 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 84 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 80 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0)) { + break label$2 + } + $10_1 = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $10_1; + $14_1 = $79(57164 | 0, $4_1 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] = $14_1; + HEAP32[($4_1 + 108 | 0) >> 2] = 1; + break label$1; + } + $18_1 = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $20_1 = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + $22_1 = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $22_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $20_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $18_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2481($4_1 + 84 | 0 | 0, 57195 | 0, $4_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $402(HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, -1 | 0, $4_1 + 80 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + $42(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0); + label$4 : { + if (!((HEAP32[($4_1 + 84 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 84 | 0) >> 2] = 0; + } + HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] = 1; + label$5 : { + if (!((HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if (!(($287(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = $318(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $323_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 64 | 0) >> 2] = $323_1; + HEAP32[($4_1 + 68 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2899(HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + label$6 : { + if (HEAP32[($4_1 + 84 | 0) >> 2] | 0) { + break label$6 + } + label$7 : { + label$8 : { + if (!((HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $213(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 80 | 0) >> 2] = 0; + label$9 : { + if (HEAP32[($4_1 + 84 | 0) >> 2] | 0) { + break label$9 + } + $93_1 = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $93_1; + $99_1 = $79(57246 | 0, $4_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] = $99_1; + HEAP32[($4_1 + 84 | 0) >> 2] = 1; + } + break label$7; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2461(HEAP32[($4_1 + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + } + label$10 : { + if (HEAP32[($4_1 + 84 | 0) >> 2] | 0) { + break label$10 + } + HEAP32[($4_1 + 60 | 0) >> 2] = (((HEAP32[((HEAP32[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 3 | 0) << 1 | 0) + 80 | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2468($4_1 + 84 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + } + label$11 : { + label$12 : { + if (!((HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 80 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 80 | 0; + HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 36 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[((HEAP32[($4_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + break label$11; + } + $213(HEAP32[($4_1 + 80 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 88 | 0) >> 2] | 0; + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[($4_1 + 84 | 0) >> 2] | 0; + } + $148_1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $148_1 | 0; + } + + function $2899($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2823(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $17_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $17_1 | 0; + } + + function $2900($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $2901(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $2521((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0 | 0); + $213(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2901($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$0; + $2545(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $4_1; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = -1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $4_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $2902($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $8_1 = 0, $20_1 = 0, $31_1 = 0, $42_1 = 0, $19_1 = 0, $30_1 = 0, $41_1 = 0, $91_1 = 0, $97_1 = 0, $159_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + $8_1 = 0; + HEAP32[($7_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 56 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($7_1 + 44 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 36 | 0) >> 2] = 8; + HEAP32[($7_1 + 32 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $8_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $8_1; + $2901(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0); + label$1 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0) & 1 | 0)) { + break label$1 + } + $19_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + $20_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = $20_1 + 1 | 0; + HEAP32[($7_1 + 24 | 0) >> 2] = HEAP32[($19_1 + ($20_1 << 2 | 0) | 0) >> 2] | 0; + } + label$2 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0) & 2 | 0)) { + break label$2 + } + $30_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + $31_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = $31_1 + 1 | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($30_1 + ($31_1 << 2 | 0) | 0) >> 2] | 0; + } + label$3 : { + if (!((HEAP32[($7_1 + 72 | 0) >> 2] | 0) & 4 | 0)) { + break label$3 + } + $41_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + $42_1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = $42_1 + 1 | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($41_1 + ($42_1 << 2 | 0) | 0) >> 2] | 0; + } + label$4 : { + label$5 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $233(HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + break label$4; + } + label$6 : { + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $233(HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + if (!((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 12 | 0) >> 2] = 1352; + } + $91_1 = $233(HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] = $91_1; + $97_1 = $38((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] = $97_1; + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($7_1 + 44 | 0) >> 2] = 7; + break label$9; + } + $3288(HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + } + } + } + label$11 : { + if (HEAP32[($7_1 + 44 | 0) >> 2] | 0) { + break label$11 + } + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2656(HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + label$12 : { + if (HEAP32[($7_1 + 44 | 0) >> 2] | 0) { + break label$12 + } + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2903(HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + label$13 : { + if (HEAP32[($7_1 + 44 | 0) >> 2] | 0) { + break label$13 + } + if (HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$13 + } + label$14 : { + if ((HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0) { + break label$14 + } + if (!((HEAP32[((HEAP32[((HEAP32[((HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$13 + } + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2904(HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + $159_1 = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $159_1 | 0; + } + + function $2903($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $41_1 = 0, $76_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2906(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $41_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + break label$4; + } + $41_1 = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $41_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $3228(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if ((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$7 + } + if (HEAP32[($3_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + } + } + $2637($3_1 + 24 | 0 | 0, (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 48 | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + } + $76_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $76_1 | 0; + } + + function $2904($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, $360$hi = 0, $380$hi = 0, $381$hi = 0, $391$hi = 0, $13_1 = 0, $357$hi = 0, $358$hi = 0, $25_1 = 0, $362$hi = 0, $47_1 = 0, $97_1 = 0, $160_1 = 0, $179_1 = 0, $365$hi = 0, $366$hi = 0, $181_1 = 0, $368$hi = 0, $369$hi = 0, $371$hi = 0, $372$hi = 0, $48_1 = 0, $220_1 = 0, $374$hi = 0, $375$hi = 0, $227_1 = 0, $377$hi = 0, $378$hi = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $261_1 = 0, $385$hi = 0, $386$hi = 0, $263_1 = 0, $388$hi = 0, $389$hi = 0, $328_1 = 0, $393$hi = 0, $340_1 = 0, $4_1 = 0, $380_1 = 0, $969_1 = 0, $354_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 80 | 0; + global$0 = $3_1; + $4_1 = 2; + HEAP32[($3_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 68 | 0) >> 2] = HEAP32[($3_1 + 72 | 0) >> 2] | 0; + HEAP32[($3_1 + 64 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 72 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 60 | 0) >> 2] = 0; + HEAP32[($3_1 + 56 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $13_1 = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + i64toi32_i32$2 = $13_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $357$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $358$hi = i64toi32_i32$1; + i64toi32_i32$1 = $357$hi; + i64toi32_i32$1 = $358$hi; + i64toi32_i32$1 = $357$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $358$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $13_1; + HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] = i64toi32_i32$5; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == ($4_1 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2905(HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$3 : { + if (HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$3 + } + $25_1 = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + HEAP32[($25_1 + 28 | 0) >> 2] = (HEAP32[($25_1 + 28 | 0) >> 2] | 0) + 1 | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$5 = 0; + $360$hi = i64toi32_i32$5; + i64toi32_i32$1 = (HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $362$hi = i64toi32_i32$2; + i64toi32_i32$2 = $360$hi; + i64toi32_i32$2 = $362$hi; + i64toi32_i32$2 = $360$hi; + i64toi32_i32$2 = $362$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $360$hi; + i64toi32_i32$3 = 0; + label$6 : { + if (!(((i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + $47_1 = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + HEAP32[($47_1 + 28 | 0) >> 2] = (HEAP32[($47_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + label$7 : { + label$8 : { + if (HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$8 + } + if (!((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) >= (HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + } + label$9 : { + label$10 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + break label$9; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2906(HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!((HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + $97_1 = HEAP32[($3_1 + 48 | 0) >> 2] | 0; + break label$12; + } + $97_1 = HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 44 | 0) >> 2] = $97_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $3228(HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + label$15 : { + if ((HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$15 + } + if (HEAP32[($3_1 + 40 | 0) >> 2] | 0) { + break label$14 + } + if (!((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + } + HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + HEAP32[($3_1 + 76 | 0) >> 2] = 0; + break label$1; + } + } + $2637($3_1 + 60 | 0 | 0, (HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 48 | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0); + $3289(HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($3_1 + 56 | 0) >> 2] | 0) << 3 | 0 | 0) | 0; + $3289(HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[($3_1 + 56 | 0) >> 2] | 0) << 3 | 0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (HEAP32[($3_1 + 60 | 0) >> 2] | 0) { + break label$16 + } + HEAP32[($3_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 16 | 0) >> 2] = 0; + HEAP32[($3_1 + 20 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + HEAP32[($3_1 + 32 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + $160_1 = HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$18 : { + label$19 : { + switch ($160_1 | 0) { + case 1: + label$22 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$22 + } + label$23 : { + label$24 : while (1) { + if (!((0 | 0) == ($2646(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0, $3_1 + 16 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$23 + } + $179_1 = HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = $179_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $365$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $366$hi = i64toi32_i32$2; + i64toi32_i32$2 = $365$hi; + i64toi32_i32$2 = $366$hi; + i64toi32_i32$2 = $365$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $366$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$3 = $179_1; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + continue label$24; + }; + } + } + $181_1 = HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = $181_1; + i64toi32_i32$4 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $368$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $369$hi = i64toi32_i32$3; + i64toi32_i32$3 = $368$hi; + i64toi32_i32$3 = $369$hi; + i64toi32_i32$3 = $368$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = $369$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$2 = $181_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$18; + case 0: + label$25 : { + label$26 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$26 + } + HEAP32[($3_1 + 8 | 0) >> 2] = -1; + label$27 : { + label$28 : while (1) { + if (!((0 | 0) == ($2646(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0, $3_1 + 16 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$27 + } + i64toi32_i32$3 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $371$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $372$hi = i64toi32_i32$2; + i64toi32_i32$2 = $371$hi; + i64toi32_i32$2 = $372$hi; + i64toi32_i32$2 = $371$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $372$hi; + i64toi32_i32$5 = 32; + i64toi32_i32$4 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $48_1 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >> i64toi32_i32$4 | 0; + $48_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + HEAP32[($3_1 + 4 | 0) >> 2] = $48_1; + label$29 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + label$30 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) >= (HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($3_1 + 60 | 0) >> 2] = 267; + break label$27; + } + $220_1 = (HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$2 = $220_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $374$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $375$hi = i64toi32_i32$3; + i64toi32_i32$3 = $374$hi; + i64toi32_i32$3 = $375$hi; + i64toi32_i32$3 = $374$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $375$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$2 = $220_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + $227_1 = (HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$3 = $227_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $377$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $378$hi = i64toi32_i32$2; + i64toi32_i32$2 = $377$hi; + i64toi32_i32$2 = $378$hi; + i64toi32_i32$2 = $377$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $378$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$3 = $227_1; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + continue label$28; + }; + } + break label$25; + } + label$31 : { + label$32 : { + if (!((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$32 + } + label$33 : { + label$34 : while (1) { + if (!((0 | 0) == ($2646(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, $3_1 + 12 | 0 | 0, $3_1 + 16 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$33 + } + i64toi32_i32$2 = $3_1; + i64toi32_i32$4 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $380_1 = i64toi32_i32$4; + $380$hi = i64toi32_i32$3; + i64toi32_i32$4 = HEAP32[($3_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$4 >> 31 | 0; + $381$hi = i64toi32_i32$3; + i64toi32_i32$3 = $380$hi; + i64toi32_i32$3 = $381$hi; + i64toi32_i32$3 = $380$hi; + i64toi32_i32$3 = $381$hi; + $969_1 = i64toi32_i32$4; + i64toi32_i32$3 = $380$hi; + i64toi32_i32$2 = $380_1; + i64toi32_i32$4 = $381$hi; + i64toi32_i32$5 = $969_1; + if ((i64toi32_i32$3 | 0) > (i64toi32_i32$4 | 0)) { + $49_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) >= (i64toi32_i32$4 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + $50_1 = 0 + } else { + $50_1 = 1 + } + $51_1 = $50_1; + } else { + $51_1 = 0 + } + $49_1 = $51_1; + } + label$35 : { + if (!($49_1 & 1 | 0)) { + break label$35 + } + HEAP32[($3_1 + 60 | 0) >> 2] = 267; + break label$33; + } + i64toi32_i32$5 = $3_1; + i64toi32_i32$2 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + $261_1 = (HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (i64toi32_i32$2 << 3 | 0) | 0; + i64toi32_i32$5 = $261_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $385$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $386$hi = i64toi32_i32$2; + i64toi32_i32$2 = $385$hi; + i64toi32_i32$2 = $386$hi; + i64toi32_i32$2 = $385$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$3 = $386$hi; + i64toi32_i32$4 = 1; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$5 = $261_1; + HEAP32[i64toi32_i32$5 >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$0; + continue label$34; + }; + } + break label$31; + } + $263_1 = HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = $263_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $388$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $389$hi = i64toi32_i32$5; + i64toi32_i32$5 = $388$hi; + i64toi32_i32$5 = $389$hi; + i64toi32_i32$5 = $388$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $389$hi; + i64toi32_i32$4 = 1; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$2 = $263_1; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$3; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + } + } + break label$18; + default: + break label$19; + }; + } + } + label$36 : { + if (HEAP32[($3_1 + 60 | 0) >> 2] | 0) { + break label$36 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2907(HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + } + label$37 : { + if (!((HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$37 + } + break label$16; + } + label$38 : { + if (HEAP32[($3_1 + 60 | 0) >> 2] | 0) { + break label$38 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2906(HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $3_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$39 : { + label$40 : { + if ((HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$40 + } + if (!((HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$39 + } + if (!($3228(HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 48 | 0) >> 2] | 0 | 0) | 0)) { + break label$39 + } + } + break label$16; + } + label$41 : { + if (!(((HEAPU8[((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$41 + } + break label$16; + } + } + continue label$17; + }; + } + } + } + label$42 : { + if (HEAP32[($3_1 + 60 | 0) >> 2] | 0) { + break label$42 + } + if (HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$42 + } + if (HEAP32[((HEAP32[($3_1 + 64 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) { + break label$42 + } + label$43 : while (1) { + $328_1 = 0; + label$44 : { + if (!((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$44 + } + i64toi32_i32$1 = 0; + $391$hi = i64toi32_i32$1; + i64toi32_i32$5 = (HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $393$hi = i64toi32_i32$2; + i64toi32_i32$2 = $391$hi; + i64toi32_i32$2 = $393$hi; + i64toi32_i32$2 = $391$hi; + i64toi32_i32$2 = $393$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $391$hi; + i64toi32_i32$4 = 0; + $328_1 = (i64toi32_i32$5 | 0) == (i64toi32_i32$4 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0; + } + label$45 : { + if (!($328_1 & 1 | 0)) { + break label$45 + } + $340_1 = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + HEAP32[($340_1 + 28 | 0) >> 2] = (HEAP32[($340_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$43; + } + break label$43; + }; + label$46 : { + if (!((HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$46 + } + HEAP32[($3_1 + 60 | 0) >> 2] = 267; + } + } + HEAP32[($3_1 + 76 | 0) >> 2] = HEAP32[($3_1 + 60 | 0) >> 2] | 0; + } + $354_1 = HEAP32[($3_1 + 76 | 0) >> 2] | 0; + global$0 = $3_1 + 80 | 0; + return $354_1 | 0; + } + + function $2905($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $25_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $61_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 64 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 72 | 0; + label$1 : while (1) { + $25_1 = 1; + label$2 : { + if ((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$2 + } + $25_1 = ($2646(HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0); + } + label$3 : { + if (!($25_1 & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 72 | 0) >> 2] = 0; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2907(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($3_1 + 20 | 0) >> 2] | 0) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2903(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$6 + } + if (!((HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + } + break label$3; + } + } + label$7 : { + if (!(HEAP32[($3_1 + 20 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = 1; + break label$3; + } + continue label$1; + } + break label$1; + }; + $61_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return $61_1 | 0; + } + + function $2906($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $16_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2805(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $4_1 + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - 1 | 0; + $16_1 = (HEAP32[$4_1 >> 2] | 0) + 1 | 0; + global$0 = $4_1 + 16 | 0; + return $16_1 | 0; + } + + function $2907($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, $50_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $2608(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, 0 | 0, i64toi32_i32$0 | 0); + label$1 : { + if (HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[$3_1 >> 2] = ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 80 | 0) + Math_imul((HEAPU16[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, 88) | 0; + label$2 : { + if (!((HEAP32[((HEAP32[$3_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[(HEAP32[((HEAP32[$3_1 >> 2] | 0) + 60 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (48 | 0) & 1 | 0)) { + break label$2 + } + $2531(HEAP32[((HEAP32[$3_1 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 12 | 0) >> 2] = 0; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] = 1; + } + } + $50_1 = $2491(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $50_1 | 0; + } + + function $2908($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + return HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0; + } + + function $2909($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $164$hi = 0, $91_1 = 0, $157$hi = 0, $158$hi = 0, $20_1 = 0, $161$hi = 0, $162$hi = 0, $166$hi = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $307_1 = 0, $325_1 = 0, $357_1 = 0, $365_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + $277(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0, -1 | 0); + break label$1; + } + label$3 : { + label$4 : { + if (HEAP32[($5_1 + 24 | 0) >> 2] | 0) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $277(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, -1 | 0, 0 | 0); + } + break label$5; + } + label$8 : { + label$9 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$2 = (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $307_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $307_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$1; + break label$8; + } + i64toi32_i32$2 = (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $325_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $325_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + } + } + break label$3; + } + label$10 : { + label$11 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$13 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $357_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $357_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$1; + break label$12; + } + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $365_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $365_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + } + break label$10; + } + $91_1 = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + -1 | 0; + label$14 : { + label$15 : { + switch ($91_1 | 0) { + case 0: + i64toi32_i32$2 = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + break label$14; + case 1: + HEAP32[($5_1 + 8 | 0) >> 2] = -1; + label$18 : { + label$19 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$19 + } + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + $157$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $158$hi = i64toi32_i32$0; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$0 = $158$hi; + i64toi32_i32$0 = $157$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $158$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $20_1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + $20_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + HEAP32[($5_1 + 8 | 0) >> 2] = $20_1; + break label$18; + } + label$20 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$20 + } + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = i64toi32_i32$1; + } + } + label$21 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$21 + } + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[((HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $277(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, -1 | 0, 0 | 0); + } + break label$14; + default: + break label$15; + }; + } + label$22 : { + if (HEAP32[($5_1 + 28 | 0) >> 2] | 0) { + break label$22 + } + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] | 0; + $161$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $162$hi = i64toi32_i32$1; + i64toi32_i32$1 = $161$hi; + i64toi32_i32$1 = $162$hi; + i64toi32_i32$1 = $161$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $162$hi; + i64toi32_i32$3 = 2147483647; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + HEAP32[$5_1 >> 2] = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $267(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0); + } + } + } + } + } + i64toi32_i32$2 = 0; + $164$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $166$hi = i64toi32_i32$0; + i64toi32_i32$0 = $164$hi; + i64toi32_i32$0 = $166$hi; + i64toi32_i32$0 = $164$hi; + i64toi32_i32$0 = $166$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $164$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { + $21_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $22_1 = 0 + } else { + $22_1 = 1 + } + $23_1 = $22_1; + } else { + $23_1 = 0 + } + $21_1 = $23_1; + } + label$23 : { + if (!($21_1 & 1 | 0)) { + break label$23 + } + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + } + global$0 = $5_1 + 48 | 0; + return 0 | 0; + } + + function $2910($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $29_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $29_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $29_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return 0 | 0; + } + + function $2911($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $32_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2475($5_1 + 16 | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, -1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$1 + } + $2500(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + label$2 : { + label$3 : { + if ($87(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 57113 | 0) | 0) { + break label$3 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + break label$2; + } + label$4 : { + label$5 : { + if ($87(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 57117 | 0) | 0) { + break label$5 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 1; + break label$4; + } + label$6 : { + label$7 : { + if ($87(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 57121 | 0) | 0) { + break label$7 + } + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 2; + break label$6; + } + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $32_1 = $79(57130 | 0, $5_1 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = $32_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + } + } + } + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + $36_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $36_1 | 0; + } + + function $2912($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + return (((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 8 | 0) + ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) | 0 | 0; + } + + function $2913($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $89_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 4 | 0) >> 2] = 0; + i64toi32_i32$0 = $2915(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $89_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $89_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (Math_imul((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 12 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 8 | 0; + label$1 : while (1) { + $2916(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); + $2916((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0 | 0); + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = (HEAP32[($6_1 + 4 | 0) >> 2] | 0) + 2 | 0; + if ((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + global$0 = $6_1 + 32 | 0; + return; + } + + function $2914($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $150_1 = 0, $9_1 = 0, $10_1 = 0, $31_1 = 0, $140_1 = 0, $96_1 = 0, $125_1 = 0, $128_1 = 0, $35_1 = 0, $56_1 = 0, $147_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 128 | 0; + global$0 = $6_1; + $9_1 = $6_1 + 56 | 0; + $10_1 = 0; + HEAP32[($6_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 116 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 112 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $10_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $10_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $10_1; + i64toi32_i32$0 = 0; + $150_1 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[i64toi32_i32$1 >> 2] = $150_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $150_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $150_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $150_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $150_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $9_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $150_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 56 | 0) >> 2] = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + HEAP32[($6_1 + 60 | 0) >> 2] = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + label$1 : { + if (!($499(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0) | 0)) { + break label$1 + } + $31_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $400(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, 9846 | 0, $31_1 | 0, $31_1 | 0, $31_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 48 | 0) >> 2] = 1; + } + label$2 : { + if (HEAP32[($6_1 + 96 | 0) >> 2] | 0) { + break label$2 + } + $35_1 = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $35_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2918($6_1 + 56 | 0 | 0, 57518 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = ($309(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0) - 2 | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + $213(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($6_1 + 96 | 0) >> 2] = 0; + } + $56_1 = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + HEAP32[$6_1 >> 2] = $56_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2918($6_1 + 56 | 0 | 0, 48818 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = ((($309(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0) - 1 | 0) - (HEAP32[($6_1 + 44 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$6 + } + $2919($6_1 + 56 | 0 | 0, 57546 | 0, 0 | 0); + break label$5; + } + label$7 : { + if (!((100 | 0) == ($287(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + $96_1 = 1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = ($321(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, $96_1 | 0) | 0 | 0) == ($96_1 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $213(HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) != (11 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 96 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + } + } + label$9 : { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) >= (1 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (HEAP32[($6_1 + 96 | 0) >> 2] | 0) { + break label$10 + } + $125_1 = 0; + i64toi32_i32$0 = 0; + $2920($6_1 + 56 | 0 | 0, $125_1 | 0, $125_1 | 0, 1 | 0, i64toi32_i32$0 | 0); + } + $128_1 = $6_1 + 56 | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2921($128_1 | 0, 57577 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $2921($128_1 | 0, 57584 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + } + $213(HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) | 0; + label$11 : { + if (!(HEAP32[($6_1 + 48 | 0) >> 2] | 0)) { + break label$11 + } + $140_1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $400(HEAP32[($6_1 + 124 | 0) >> 2] | 0 | 0, 57592 | 0, $140_1 | 0, $140_1 | 0, $140_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (HEAP32[($6_1 + 96 | 0) >> 2] | 0) { + break label$12 + } + HEAP32[($6_1 + 96 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + } + HEAP32[(HEAP32[($6_1 + 112 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $147_1 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + global$0 = $6_1 + 128 | 0; + return $147_1 | 0; + } + + function $2915($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $2917((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (Math_imul((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + global$0 = $5_1 + 16 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $2916($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = (((((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0) + (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0) + (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0) + (((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) << 0 | 0) | 0; + return; + } + + function $2917($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $3_1 = 0, $36$hi = 0, $37$hi = 0, $45_1 = 0, $38$hi = 0, $39$hi = 0, $40$hi = 0, $47_1 = 0, $41$hi = 0, $42$hi = 0, $43$hi = 0, $44$hi = 0, $48_1 = 0, $45$hi = 0, $46$hi = 0, $47$hi = 0, $48$hi = 0, $49_1 = 0, $49$hi = 0, $50$hi = 0, $51$hi = 0, $52$hi = 0, $51_1 = 0, $53$hi = 0, $54$hi = 0, $55$hi = 0, $56$hi = 0, $52_1 = 0, $57$hi = 0, $58$hi = 0, $59$hi = 0, $60$hi = 0, $53_1 = 0, $61$hi = 0, $62$hi = 0, $63$hi = 0, $64$hi = 0, $55_1 = 0, $65$hi = 0, $38_1 = 0, $42_1 = 0, $46_1 = 0, $50_1 = 0, $54_1 = 0, $58_1 = 0, $62_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = 0; + $36$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $37$hi = i64toi32_i32$0; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$2 = (HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$3 = 56; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $45_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $45_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $38_1 = $45_1; + $38$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $39$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $40$hi = i64toi32_i32$1; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$0 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$2 = $40$hi; + i64toi32_i32$3 = 48; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $47_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $47_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $41$hi = i64toi32_i32$2; + i64toi32_i32$2 = $38$hi; + i64toi32_i32$2 = $41$hi; + i64toi32_i32$2 = $38$hi; + i64toi32_i32$1 = $38_1; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$3 = $47_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $42_1 = i64toi32_i32$4; + $42$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $43$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $44$hi = i64toi32_i32$5; + i64toi32_i32$5 = $43$hi; + i64toi32_i32$5 = $44$hi; + i64toi32_i32$5 = $43$hi; + i64toi32_i32$2 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$3 = 40; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + $48_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$0 | 0) | 0; + $48_1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + } + $45$hi = i64toi32_i32$1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$5 = $42_1; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$3 = $48_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $46_1 = i64toi32_i32$0; + $46$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $47$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $48$hi = i64toi32_i32$4; + i64toi32_i32$4 = $47$hi; + i64toi32_i32$4 = $48$hi; + i64toi32_i32$4 = $47$hi; + i64toi32_i32$1 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$5 = $48$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $49_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$2 | 0) | 0; + $49_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $49$hi = i64toi32_i32$5; + i64toi32_i32$5 = $46$hi; + i64toi32_i32$5 = $49$hi; + i64toi32_i32$5 = $46$hi; + i64toi32_i32$4 = $46_1; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$3 = $49_1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $50_1 = i64toi32_i32$2; + $50$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $51$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $52$hi = i64toi32_i32$0; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$0 = $51$hi; + i64toi32_i32$5 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$4 = $52$hi; + i64toi32_i32$3 = 24; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + $51_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$1 | 0) | 0; + $51_1 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + } + $53$hi = i64toi32_i32$4; + i64toi32_i32$4 = $50$hi; + i64toi32_i32$4 = $53$hi; + i64toi32_i32$4 = $50$hi; + i64toi32_i32$0 = $50_1; + i64toi32_i32$5 = $53$hi; + i64toi32_i32$3 = $51_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $54_1 = i64toi32_i32$1; + $54$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $55$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $56$hi = i64toi32_i32$2; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$2 = $56$hi; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$4 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$3 = 16; + i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$4 << i64toi32_i32$5 | 0; + $52_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$5 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$5 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$5 | 0) | 0; + $52_1 = i64toi32_i32$4 << i64toi32_i32$5 | 0; + } + $57$hi = i64toi32_i32$0; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$2 = $54_1; + i64toi32_i32$4 = $57$hi; + i64toi32_i32$3 = $52_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $58_1 = i64toi32_i32$5; + $58$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $59$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $60$hi = i64toi32_i32$1; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$0 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$2 = $60$hi; + i64toi32_i32$3 = 8; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $53_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $53_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $61$hi = i64toi32_i32$2; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$2 = $61$hi; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$1 = $58_1; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$3 = $53_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $62_1 = i64toi32_i32$4; + $62$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $63$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $64$hi = i64toi32_i32$5; + i64toi32_i32$5 = $63$hi; + i64toi32_i32$5 = $64$hi; + i64toi32_i32$5 = $63$hi; + i64toi32_i32$2 = (HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] | 0) & 255 | 0; + i64toi32_i32$1 = $64$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + $55_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$0 | 0) | 0; + $55_1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + } + $65$hi = i64toi32_i32$1; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$5 = $62_1; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$3 = $55_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$4; + return i64toi32_i32$0 | 0; + } + + function $2918($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $32_1 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $78(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] = 7; + break label$2; + } + $32_1 = $402(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0, $5_1 + 12 | 0 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] = $32_1; + } + } + $42(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + $37_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $37_1 | 0; + } + + function $2919($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $58_1 = 0, $35_1 = 0, $43_1 = 0, $46_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) < (100 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $78(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] = 7; + break label$2; + } + $35_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + $43_1 = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 9185 : 1352; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $43_1; + HEAP32[$5_1 >> 2] = $35_1; + $46_1 = $79(57596 | 0, $5_1 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] = $46_1; + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] = 7; + } + } + $58_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($58_1 + 48 | 0) >> 2] = (HEAP32[($58_1 + 48 | 0) >> 2] | 0) + 1 | 0; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $2920($0_1, $1_1, $2_1, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $7_1 = 0, $145$hi = 0, $146$hi = 0, $124_1 = 0, $148$hi = 0, $149$hi = 0, $130_1 = 0, $26_1 = 0, $214_1 = 0, $45_1 = 0, $73_1 = 0, $74_1 = 0, $318_1 = 0, $374_1 = 0, $145_1 = 0, $414_1 = 0, $148_1 = 0, $451_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 112 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 88 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 92 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 84 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $7_1; + i64toi32_i32$0 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2922(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $6_1 + 80 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$3 + } + $26_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + $214_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[$6_1 >> 2] = $214_1; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$0; + $2919($26_1 | 0, 57603 | 0, $6_1 | 0); + break label$2; + } + label$4 : { + if (!((HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2912(HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0) > (40 | 0) & 1 | 0)) { + break label$5 + } + $45_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 104 | 0) >> 2] | 0; + $2919($45_1 | 0, 57637 | 0, $6_1 + 16 | 0 | 0); + $42(HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0); + break label$1; + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2912((HEAP32[($6_1 + 84 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((Math_imul(HEAP32[($6_1 + 76 | 0) >> 2] | 0, (((HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) + 8 | 0) + 4 | 0 | 0) > (HEAP32[($6_1 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $73_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $74_1 = HEAP32[($6_1 + 76 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 80 | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $74_1; + $318_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $318_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$1; + $2919($73_1 | 0, 57667 | 0, $6_1 + 32 | 0 | 0); + break label$6; + } + HEAP32[($6_1 + 72 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 68 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) + (Math_imul(HEAP32[($6_1 + 72 | 0) >> 2] | 0, (((HEAP32[((HEAP32[($6_1 + 108 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) + 8 | 0) + 4 | 0) | 0; + i64toi32_i32$1 = $2917(HEAP32[($6_1 + 68 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $374_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $374_1; + HEAP32[($6_1 + 60 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $2923(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($6_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0); + label$10 : { + label$11 : { + if (!((HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$11 + } + i64toi32_i32$1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $145_1 = i64toi32_i32$1; + $145$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $146$hi = i64toi32_i32$1; + i64toi32_i32$1 = $145$hi; + i64toi32_i32$1 = $146$hi; + $414_1 = i64toi32_i32$0; + i64toi32_i32$1 = $145$hi; + i64toi32_i32$0 = $146$hi; + $2924(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 0 | 0, $145_1 | 0, i64toi32_i32$1 | 0, $414_1 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$0 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $2920(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 104 | 0) >> 2] | 0) - 1 | 0 | 0, (HEAP32[($6_1 + 68 | 0) >> 2] | 0) + 8 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + $124_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + HEAP32[($124_1 + 36 | 0) >> 2] = (HEAP32[($124_1 + 36 | 0) >> 2] | 0) + 1 | 0; + break label$10; + } + i64toi32_i32$1 = HEAP32[($6_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + $148_1 = i64toi32_i32$1; + $148$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + $149$hi = i64toi32_i32$1; + i64toi32_i32$1 = $148$hi; + i64toi32_i32$1 = $149$hi; + $451_1 = i64toi32_i32$0; + i64toi32_i32$1 = $148$hi; + i64toi32_i32$0 = $149$hi; + $2924(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, 1 | 0, $148_1 | 0, i64toi32_i32$1 | 0, $451_1 | 0, i64toi32_i32$0 | 0); + $130_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + HEAP32[($130_1 + 32 | 0) >> 2] = (HEAP32[($130_1 + 32 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6_1 + 72 | 0) >> 2] = (HEAP32[($6_1 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + } + } + $42(HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 112 | 0; + return; + } + + function $2921($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $49$hi = 0, $50$hi = 0, $8_1 = 0, $10_1 = 0, $12_1 = 0, $130_1 = 0, $49_1 = 0, $138_1 = 0, $38_1 = 0, $39_1 = 0, $53_1 = 0, $53$hi = 0, $157_1 = 0, $44_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 68 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$1 + } + $8_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + $10_1 = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $12_1 = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = $12_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $10_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2918($8_1 | 0, 58144 | 0, $5_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(($287(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = $318(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $130_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $130_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $49_1 = i64toi32_i32$1; + $49$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + $50$hi = i64toi32_i32$1; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $50$hi; + $138_1 = i64toi32_i32$0; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$2 = $49_1; + i64toi32_i32$0 = $50$hi; + label$4 : { + if (!(((i64toi32_i32$2 | 0) != ($138_1 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$4 + } + $38_1 = HEAP32[($5_1 + 76 | 0) >> 2] | 0; + $39_1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + $53_1 = i64toi32_i32$2; + $53$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $157_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $157_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $53$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $53_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$2; + HEAP32[$5_1 >> 2] = $39_1; + $2919($38_1 | 0, 58175 | 0, $5_1 | 0); + } + } + $44_1 = $213(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 40 | 0) >> 2] = $44_1; + } + } + global$0 = $5_1 + 80 | 0; + return; + } + + function $2922($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $41_1 = 0, $17_1 = 0, $19_1 = 0, $25_1 = 0, $76_1 = 0, $261_1 = 0, $78_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 44 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 40 | 0) >> 2] = 0; + label$1 : { + if (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + $17_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $19_1 = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $19_1; + $25_1 = $2918($17_1 | 0, 57722 | 0, $5_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] = $25_1; + } + label$2 : { + if (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$0 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + label$3 : { + if (!(($287(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$3 + } + $41_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $315(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $41_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $311(HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, $41_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == ($41_1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] = 7; + break label$4; + } + $3288(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + } + } + $2925(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); + label$6 : { + if (HEAP32[((HEAP32[($5_1 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$6 + } + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + $76_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + $261_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = $261_1; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + $2919($76_1 | 0, 57767 | 0, $5_1 | 0); + } + } + $78_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $78_1 | 0; + } + + function $2923($0_1, $1_1, $1$hi, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $234_1 = 0, $106_1 = 0, $107_1 = 0, $108_1 = 0, $365_1 = 0; + $7_1 = global$0 - 96 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 92 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 84 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 76 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $2916((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 3 | 0) | 0 | 0, $7_1 + 64 | 0 | 0); + $2916((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0 | 0, $7_1 + 56 | 0 | 0); + label$3 : { + label$4 : { + label$5 : { + if (!(HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$5 + } + if ((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$4 + } + break label$3; + } + if (!(Math_fround(HEAPF32[($7_1 + 64 | 0) >> 2]) > Math_fround(HEAPF32[($7_1 + 56 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + } + $49_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + $50_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $51_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + $234_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $234_1; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($7_1 + 20 | 0) >> 2] = $51_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $50_1; + $2919($49_1 | 0, 57799 | 0, $7_1 + 16 | 0 | 0); + } + label$6 : { + if (!((HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $2916((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 3 | 0) | 0 | 0, $7_1 + 48 | 0 | 0); + $2916((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + ((((HEAP32[($7_1 + 36 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0 | 0, $7_1 + 40 | 0 | 0); + label$7 : { + label$8 : { + label$9 : { + label$10 : { + if (!(HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$10 + } + if ((HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$8 + } + break label$9; + } + if (Math_fround(HEAPF32[($7_1 + 64 | 0) >> 2]) < Math_fround(HEAPF32[($7_1 + 48 | 0) >> 2]) & 1 | 0) { + break label$8 + } + } + label$11 : { + if (!(HEAP32[((HEAP32[($7_1 + 92 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0)) { + break label$11 + } + if ((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) > (HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$8 + } + break label$7; + } + if (!(Math_fround(HEAPF32[($7_1 + 56 | 0) >> 2]) > Math_fround(HEAPF32[($7_1 + 40 | 0) >> 2]) & 1 | 0)) { + break label$7 + } + } + $106_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + $107_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + $108_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + $365_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $365_1; + HEAP32[($7_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7_1 + 4 | 0) >> 2] = $108_1; + HEAP32[$7_1 >> 2] = $107_1; + $2919($106_1 | 0, 57847 | 0, $7_1 | 0); + } + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + global$0 = $7_1 + 96 | 0; + return; + } + + function $2924($0_1, $1_1, $2_1, $2$hi, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $112$hi = 0, $113$hi = 0, $140_1 = 0, $28_1 = 0, $33_1 = 0, $35_1 = 0, $40_1 = 0, $71_1 = 0, $109_1 = 0, $109$hi = 0, $283_1 = 0, $307_1 = 0, $112_1 = 0, $315_1 = 0, $91_1 = 0, $116_1 = 0, $116$hi = 0, $117_1 = 0, $117$hi = 0, $93_1 = 0, $118_1 = 0, $118$hi = 0, $342_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 144 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 136 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 128 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 132 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 120 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 124 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 58016 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 58020 | 0) >> 2] | 0; + $140_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1 + 104 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $140_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$1 : { + if (!((HEAP32[(((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 24 | 0) + ((HEAP32[($6_1 + 136 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + $28_1 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + $33_1 = HEAP32[(($6_1 + 104 | 0) + ((HEAP32[($6_1 + 136 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $35_1 = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($6_1 + 84 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6_1 + 80 | 0) >> 2] = $35_1; + $40_1 = $2918($28_1 | 0, $33_1 | 0, $6_1 + 80 | 0 | 0) | 0; + HEAP32[(((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 24 | 0) + ((HEAP32[($6_1 + 136 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $40_1; + } + label$2 : { + label$3 : { + if (!(HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0)) { + break label$3 + } + break label$2; + } + HEAP32[($6_1 + 112 | 0) >> 2] = HEAP32[(((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 24 | 0) + ((HEAP32[($6_1 + 136 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + $331(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $287(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$5 + } + $71_1 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + $109_1 = i64toi32_i32$0; + $109$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 136 | 0) >> 2] | 0 ? 58069 : 58077; + $283_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $283_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $109$hi; + i64toi32_i32$1 = $6_1; + HEAP32[$6_1 >> 2] = $109_1; + HEAP32[($6_1 + 4 | 0) >> 2] = i64toi32_i32$0; + $2919($71_1 | 0, 58024 | 0, $6_1 | 0); + break label$4; + } + label$6 : { + if (!((HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = $318(HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $307_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $307_1; + HEAP32[($6_1 + 100 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $112_1 = i64toi32_i32$1; + $112$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + $113$hi = i64toi32_i32$1; + i64toi32_i32$1 = $112$hi; + i64toi32_i32$1 = $113$hi; + i64toi32_i32$1 = $112$hi; + i64toi32_i32$1 = $113$hi; + $315_1 = i64toi32_i32$0; + i64toi32_i32$1 = $112$hi; + i64toi32_i32$2 = $112_1; + i64toi32_i32$0 = $113$hi; + label$7 : { + if (!(((i64toi32_i32$2 | 0) != ($315_1 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$7 + } + $91_1 = HEAP32[($6_1 + 140 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + $116_1 = i64toi32_i32$2; + $116$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 100 | 0) >> 2] | 0; + $117_1 = i64toi32_i32$1; + $117$hi = i64toi32_i32$2; + $93_1 = HEAP32[($6_1 + 136 | 0) >> 2] | 0 ? 58069 : 58077; + i64toi32_i32$2 = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + $118_1 = i64toi32_i32$2; + $118$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + $342_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1 + 64 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $342_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $118$hi; + i64toi32_i32$1 = $6_1 + 56 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $118_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($6_1 + 48 | 0) >> 2] = $93_1; + i64toi32_i32$2 = $117$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $117_1; + HEAP32[($6_1 + 44 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $116$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $116_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$2; + $2919($91_1 | 0, 58086 | 0, $6_1 + 32 | 0 | 0); + } + } + } + $2925(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0); + } + global$0 = $6_1 + 144 | 0; + return; + } + + function $2925($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2926($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $16_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + $16_1 = $2927(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $16_1 | 0; + } + + function $2927($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $13_1 = 0, $16_1 = 0, $26_1 = 0, $64_1 = 0, $154_1 = 0, $162_1 = 0, $188_1 = 0, $236_1 = 0, $402_1 = 0, $406_1 = 0, $60_1 = 0, $63_1 = 0, $128_1 = 0, $131_1 = 0, $166_1 = 0, $170_1 = 0, $192_1 = 0, $197_1 = 0, $199_1 = 0, $230_1 = 0, $247_1 = 0, $300_1 = 0, $331_1 = 0, $340_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9_1 = global$0 - 240 | 0; + global$0 = $9_1; + $13_1 = $9_1 + 144 | 0; + $16_1 = 0; + HEAP32[($9_1 + 232 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 228 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 224 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 220 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 216 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 212 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 208 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 204 | 0) >> 2] = $16_1; + HEAP32[($9_1 + 188 | 0) >> 2] = (HEAP32[($9_1 + 228 | 0) >> 2] | 0 | 0) != ($16_1 | 0) & 1 | 0 ? 1 : $16_1; + HEAP32[($9_1 + 176 | 0) >> 2] = 4; + $26_1 = 0; + HEAP32[($13_1 + 16 | 0) >> 2] = HEAP32[($26_1 + 58416 | 0) >> 2] | 0; + i64toi32_i32$2 = $26_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 58408 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 58412 | 0) >> 2] | 0; + $402_1 = i64toi32_i32$0; + i64toi32_i32$0 = $13_1 + 8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $402_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 58400 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 58404 | 0) >> 2] | 0; + $406_1 = i64toi32_i32$1; + i64toi32_i32$1 = $13_1; + HEAP32[i64toi32_i32$1 >> 2] = $406_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0) > (103 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP32[$9_1 >> 2] = HEAP32[(($9_1 + 144 | 0) + ((((HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0) >= (6 | 0) & 1 | 0) + 2 | 0) << 2 | 0) | 0) >> 2] | 0; + $60_1 = $79(1976 | 0, $9_1 | 0) | 0; + HEAP32[(HEAP32[($9_1 + 212 | 0) >> 2] | 0) >> 2] = $60_1; + HEAP32[($9_1 + 236 | 0) >> 2] = 1; + break label$1; + } + $63_1 = HEAP32[($9_1 + 232 | 0) >> 2] | 0; + $64_1 = 1; + HEAP32[($9_1 + 128 | 0) >> 2] = $64_1; + $426($63_1 | 0, $64_1 | 0, $9_1 + 128 | 0 | 0) | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $3303(HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 196 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $3303(HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $41((((HEAP32[($9_1 + 196 | 0) >> 2] | 0) + 504 | 0) + (HEAP32[($9_1 + 192 | 0) >> 2] | 0) | 0) + 2 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 200 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if ((HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + HEAP32[($9_1 + 236 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0, 0 | 0, (((HEAP32[($9_1 + 196 | 0) >> 2] | 0) + 504 | 0) + (HEAP32[($9_1 + 192 | 0) >> 2] | 0) | 0) + 2 | 0 | 0) | 0; + HEAP32[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 40 | 0) >> 2] = 1; + HEAP32[(HEAP32[($9_1 + 200 | 0) >> 2] | 0) >> 2] = 80512; + HEAP32[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 32 | 0) >> 2] = (HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 504 | 0; + HEAP32[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 36 | 0) >> 2] = (HEAP32[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 196 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP8[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 22 | 0) >> 0] = HEAP32[($9_1 + 188 | 0) >> 2] | 0; + $3288(HEAP32[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 196 | 0) >> 2] | 0 | 0) | 0; + $3288(HEAP32[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 192 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $76(HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + $128_1 = HEAP32[($9_1 + 184 | 0) >> 2] | 0; + $131_1 = $2967(HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($9_1 + 112 | 0) >> 2] = $131_1; + $84($128_1 | 0, 58420 | 0, $9_1 + 112 | 0 | 0); + HEAP32[($9_1 + 176 | 0) >> 2] = 4; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($9_1 + 140 | 0) >> 2] = HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 176 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $154_1 = 24; + label$7 : { + label$8 : { + if (!((((HEAPU8[(HEAP32[($9_1 + 140 | 0) >> 2] | 0) >> 0] | 0) << $154_1 | 0) >> $154_1 | 0 | 0) == (43 | 0) & 1 | 0)) { + break label$8 + } + $162_1 = HEAP32[($9_1 + 200 | 0) >> 2] | 0; + HEAP8[($162_1 + 25 | 0) >> 0] = (HEAPU8[($162_1 + 25 | 0) >> 0] | 0) + 1 | 0; + $166_1 = HEAP32[($9_1 + 184 | 0) >> 2] | 0; + $170_1 = $2967((HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP32[($9_1 + 20 | 0) >> 2] = (HEAP32[($9_1 + 140 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($9_1 + 16 | 0) >> 2] = $170_1; + $84($166_1 | 0, 58444 | 0, $9_1 + 16 | 0 | 0); + break label$7; + } + label$9 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + break label$5; + } + $188_1 = HEAP32[($9_1 + 200 | 0) >> 2] | 0; + HEAP8[($188_1 + 21 | 0) >> 0] = (HEAPU8[($188_1 + 21 | 0) >> 0] | 0) + 1 | 0; + $192_1 = HEAP32[($9_1 + 184 | 0) >> 2] | 0; + $197_1 = HEAP32[(80608 + ((HEAP32[($9_1 + 188 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $199_1 = $2967(HEAP32[($9_1 + 140 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 100 | 0) >> 2] = HEAP32[($9_1 + 140 | 0) >> 2] | 0; + HEAP32[($9_1 + 96 | 0) >> 2] = $199_1; + $84($192_1 | 0, $197_1 | 0, $9_1 + 96 | 0 | 0); + } + HEAP32[($9_1 + 176 | 0) >> 2] = (HEAP32[($9_1 + 176 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $84(HEAP32[($9_1 + 184 | 0) >> 2] | 0 | 0, 58471 | 0, 0 | 0); + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $71(HEAP32[($9_1 + 184 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + label$11 : { + if ((HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$11 + } + HEAP32[($9_1 + 204 | 0) >> 2] = 7; + break label$10; + } + label$12 : { + label$13 : { + if (!((HEAP32[($9_1 + 176 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($9_1 + 64 | 0) >> 2] = HEAP32[($9_1 + 160 | 0) >> 2] | 0; + $230_1 = $79(1976 | 0, $9_1 + 64 | 0 | 0) | 0; + HEAP32[(HEAP32[($9_1 + 212 | 0) >> 2] | 0) >> 2] = $230_1; + HEAP32[($9_1 + 204 | 0) >> 2] = 1; + break label$12; + } + $236_1 = $414(HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9_1 + 204 | 0) >> 2] = $236_1; + label$14 : { + if (!((0 | 0) != ($236_1 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $380(HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + $247_1 = $79(1976 | 0, $9_1 + 80 | 0 | 0) | 0; + HEAP32[(HEAP32[($9_1 + 212 | 0) >> 2] | 0) >> 2] = $247_1; + } + } + } + $42(HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0); + label$15 : { + label$16 : { + if (!(HEAP32[($9_1 + 204 | 0) >> 2] | 0)) { + break label$16 + } + break label$15; + } + HEAP8[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 20 | 0) >> 0] = ((HEAPU8[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) / (2 | 0) | 0; + label$17 : { + label$18 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($9_1 + 172 | 0) >> 2] = 2; + break label$17; + } + label$19 : { + label$20 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) > (10 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($9_1 + 172 | 0) >> 2] = 3; + break label$19; + } + label$21 : { + label$22 : { + if (!(((HEAPU8[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) % (2 | 0) | 0)) { + break label$22 + } + HEAP32[($9_1 + 172 | 0) >> 2] = 1; + break label$21; + } + HEAP32[($9_1 + 172 | 0) >> 2] = 0; + } + } + } + label$23 : { + if (!(HEAP32[($9_1 + 172 | 0) >> 2] | 0)) { + break label$23 + } + HEAP32[($9_1 + 32 | 0) >> 2] = HEAP32[(($9_1 + 144 | 0) + ((HEAP32[($9_1 + 172 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $300_1 = $79(1976 | 0, $9_1 + 32 | 0 | 0) | 0; + HEAP32[(HEAP32[($9_1 + 212 | 0) >> 2] | 0) >> 2] = $300_1; + break label$15; + } + HEAP8[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 23 | 0) >> 0] = (((HEAPU8[((HEAP32[($9_1 + 200 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) + 8 | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2968(HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 208 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 204 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!(HEAP32[($9_1 + 204 | 0) >> 2] | 0)) { + break label$24 + } + break label$15; + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $2969(HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 204 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + if (!(HEAP32[($9_1 + 204 | 0) >> 2] | 0)) { + break label$25 + } + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $380(HEAP32[($9_1 + 232 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $331_1 = $79(1976 | 0, $9_1 + 48 | 0 | 0) | 0; + HEAP32[(HEAP32[($9_1 + 212 | 0) >> 2] | 0) >> 2] = $331_1; + break label$15; + } + HEAP32[(HEAP32[($9_1 + 216 | 0) >> 2] | 0) >> 2] = HEAP32[($9_1 + 200 | 0) >> 2] | 0; + HEAP32[($9_1 + 236 | 0) >> 2] = 0; + break label$1; + } + label$26 : { + if (HEAP32[($9_1 + 204 | 0) >> 2] | 0) { + break label$26 + } + HEAP32[($9_1 + 204 | 0) >> 2] = 1; + } + $2931(HEAP32[($9_1 + 200 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 236 | 0) >> 2] = HEAP32[($9_1 + 204 | 0) >> 2] | 0; + } + $340_1 = HEAP32[($9_1 + 236 | 0) >> 2] | 0; + global$0 = $9_1 + 240 | 0; + return $340_1 | 0; + } + + function $2928($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $16_1 = 0; + $8_1 = global$0 - 32 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $5_1; + $16_1 = $2927(HEAP32[($8_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + global$0 = $8_1 + 32 | 0; + return $16_1 | 0; + } + + function $2929($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $168_1 = 0, $269_1 = 0, i64toi32_i32$4 = 0, $5_1 = 0, $8_1 = 0, $116_1 = 0, $58_1 = 0, $200_1 = 0, $202_1 = 0, $212_1 = 0, $249_1 = 0, $271$hi = 0, $272$hi = 0, i64toi32_i32$3 = 0, $25_1 = 0, $201_1 = 0, $211_1 = 0, $277_1 = 0.0, $838_1 = 0, $266_1 = 0; + $4_1 = global$0 - 112 | 0; + global$0 = $4_1; + $5_1 = 0; + $8_1 = $4_1 + 16 | 0; + HEAP32[($4_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 96 | 0) >> 2] = HEAP32[($4_1 + 104 | 0) >> 2] | 0; + HEAP32[($4_1 + 92 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 84 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 68 | 0) >> 2] = $5_1; + i64toi32_i32$0 = 0; + $269_1 = 0; + i64toi32_i32$1 = $8_1; + HEAP32[i64toi32_i32$1 >> 2] = $269_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 40 | 0) >> 0] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $269_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $269_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $269_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $8_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $269_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 88 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!(((HEAPU8[(((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 88 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (64 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 84 | 0) >> 2] = 1; + } + HEAP32[($4_1 + 88 | 0) >> 2] = (HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($4_1 + 88 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + $58_1 = 0; + label$6 : { + if (!((HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $58_1 = (HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) < (40 | 0); + } + label$7 : { + if (!($58_1 & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 88 | 0) >> 2] | 0, 12) | 0; + label$8 : { + if (HEAP32[($4_1 + 84 | 0) >> 2] | 0) { + break label$8 + } + if (!((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + if (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) { + break label$8 + } + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = 0; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 0; + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + $116_1 = 1; + i64toi32_i32$0 = 0; + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 2] = $116_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = $116_1; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 1; + HEAPF64[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 40 | 0) >> 3] = 30.0; + i64toi32_i32$1 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 1; + HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 56 | 0) >> 2] = $116_1; + HEAP32[($4_1 + 108 | 0) >> 2] = 0; + break label$4; + } + label$11 : { + if (!((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$13 + } + if ((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) <= ((HEAPU8[((HEAP32[($4_1 + 96 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + break label$12 + } + } + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (64 | 0) & 1 | 0)) { + break label$11 + } + } + $168_1 = HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0; + label$14 : { + label$15 : { + label$16 : { + label$17 : { + label$18 : { + label$19 : { + label$20 : { + label$21 : { + if (($168_1 | 0) == (2 | 0)) { + break label$21 + } + if (($168_1 | 0) == (4 | 0)) { + break label$20 + } + if (($168_1 | 0) == (8 | 0)) { + break label$19 + } + if (($168_1 | 0) == (16 | 0)) { + break label$18 + } + if (($168_1 | 0) == (32 | 0)) { + break label$17 + } + if (($168_1 | 0) == (64 | 0)) { + break label$16 + } + break label$15; + } + HEAP8[($4_1 + 7 | 0) >> 0] = 65; + break label$14; + } + HEAP8[($4_1 + 7 | 0) >> 0] = 69; + break label$14; + } + HEAP8[($4_1 + 7 | 0) >> 0] = 66; + break label$14; + } + HEAP8[($4_1 + 7 | 0) >> 0] = 67; + break label$14; + } + HEAP8[($4_1 + 7 | 0) >> 0] = 68; + break label$14; + } + HEAP8[($4_1 + 7 | 0) >> 0] = 70; + break label$14; + } + HEAP8[($4_1 + 7 | 0) >> 0] = 0; + } + label$22 : { + if (!(((HEAPU8[($4_1 + 7 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$22 + } + $200_1 = $4_1 + 16 | 0; + $201_1 = HEAPU8[($4_1 + 7 | 0) >> 0] | 0; + $202_1 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $202_1 + 1 | 0; + HEAP8[($200_1 + $202_1 | 0) >> 0] = $201_1; + $211_1 = ((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0) + 48 | 0; + $212_1 = HEAP32[($4_1 + 68 | 0) >> 2] | 0; + HEAP32[($4_1 + 68 | 0) >> 2] = $212_1 + 1 | 0; + HEAP8[($200_1 + $212_1 | 0) >> 0] = $211_1; + HEAP32[((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) / (2 | 0) | 0; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 88 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 1; + } + } + HEAP32[($4_1 + 88 | 0) >> 2] = (HEAP32[($4_1 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 20 | 0) >> 2] = 2; + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 28 | 0) >> 2] = 1; + label$23 : { + if (!((HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[$4_1 >> 2] = $4_1 + 16 | 0; + $249_1 = $79(1976 | 0, $4_1 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 24 | 0) >> 2] = $249_1; + if (!((0 | 0) == ($249_1 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($4_1 + 108 | 0) >> 2] = 7; + break label$4; + } + $277_1 = 6.0; + i64toi32_i32$2 = HEAP32[($4_1 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $271$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $272$hi = i64toi32_i32$1; + i64toi32_i32$1 = $271$hi; + i64toi32_i32$1 = $272$hi; + i64toi32_i32$1 = $271$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $272$hi; + i64toi32_i32$3 = (HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) / (2 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $25_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $25_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$2 = $4_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $25_1; + HEAP32[($4_1 + 76 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + HEAPF64[((HEAP32[($4_1 + 100 | 0) >> 2] | 0) + 40 | 0) >> 3] = $277_1 * (+(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$2 | 0)); + i64toi32_i32$1 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 76 | 0) >> 2] | 0; + $838_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($4_1 + 100 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] = $838_1; + HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 108 | 0) >> 2] = HEAP32[($4_1 + 92 | 0) >> 2] | 0; + } + $266_1 = HEAP32[($4_1 + 108 | 0) >> 2] | 0; + global$0 = $4_1 + 112 | 0; + return $266_1 | 0; + } + + function $2930($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $2931(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2931($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + if (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) { + break label$1 + } + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 0] = 0; + $2933(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) | 0; + $213(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0) | 0; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2932($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $31_1 = 0, $6_1 = 0, $8_1 = 0, $10_1 = 0, $12_1 = 0, $14_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 48 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 40 | 0) >> 2] = HEAP32[($3_1 + 44 | 0) >> 2] | 0; + $6_1 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $8_1 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $10_1 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $12_1 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $14_1 = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $14_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $12_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $10_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $8_1; + HEAP32[$3_1 >> 2] = $6_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $79(59507 | 0, $3_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($3_1 + 36 | 0) >> 2] = 7; + break label$1; + } + $31_1 = 0; + $2933(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $400(HEAP32[((HEAP32[($3_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0, $31_1 | 0, $31_1 | 0, $31_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($3_1 + 32 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (HEAP32[($3_1 + 36 | 0) >> 2] | 0) { + break label$3 + } + $2931(HEAP32[($3_1 + 40 | 0) >> 2] | 0 | 0); + } + $40_1 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + global$0 = $3_1 + 48 | 0; + return $40_1 | 0; + } + + function $2933($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + if (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] = 0; + $383(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $2934($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $21_1 = 0, i64toi32_i32$0 = 0, $27_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 7; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(248 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $3289(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, 248 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + $21_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($21_1 + 56 | 0) >> 2] = (HEAP32[($21_1 + 56 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $27_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $27_1 | 0; + } + + function $2935($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $12_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $2936(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + $213(HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + $42(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0); + $12_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($12_1 + 56 | 0) >> 2] = (HEAP32[($12_1 + 56 | 0) >> 2] | 0) + -1 | 0; + $2933(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2936($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 12 | 0) >> 2] | 0, 24) | 0) + 16 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + FUNCTION_TABLE[HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0); + } + $42(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + $42(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + } + HEAP32[($3_1 + 20 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) < (5 | 0) & 1 | 0)) { + break label$6 + } + $2945(HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($3_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + $42(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $3289(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, 0 | 0, 248 | 0) | 0; + HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + global$0 = $3_1 + 32 | 0; + return; + } + + function $2937($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $9_1 = 0, $55_1 = 0, $160_1 = 0, $172_1 = 0, $267_1 = 0, $300$hi = 0, $377_1 = 0, $309_1 = 0.0, $495_1 = 0, $104_1 = 0, $312_1 = 0.0, $297_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 96 | 0; + global$0 = $7_1; + $9_1 = 0; + HEAP32[($7_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 76 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7_1 + 64 | 0) >> 2] = HEAP32[($7_1 + 88 | 0) >> 2] | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $9_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $9_1; + $2938(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + $2936(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($7_1 + 84 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($7_1 + 84 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = 0; + $300$hi = i64toi32_i32$0; + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($7_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $377_1 = i64toi32_i32$0; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $377_1; + HEAP32[($7_1 + 36 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $300$hi; + i64toi32_i32$0 = $7_1; + HEAP32[($7_1 + 24 | 0) >> 2] = 0; + HEAP32[($7_1 + 28 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $342(HEAP32[(HEAP32[($7_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + label$6 : { + if ((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$6 + } + if (!((HEAP32[($7_1 + 20 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$5 + } + $309_1 = +$65(HEAP32[(HEAP32[($7_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0); + i64toi32_i32$1 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + if (!($309_1 == +(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0) & 1 | 0)) { + break label$5 + } + } + i64toi32_i32$0 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2939(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $7_1 + 44 | 0 | 0, $7_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + $55_1 = 0; + HEAP32[($7_1 + 52 | 0) >> 2] = $55_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $55_1; + } + label$7 : { + label$8 : { + if (HEAP32[($7_1 + 52 | 0) >> 2] | 0) { + break label$8 + } + if (!((HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2940(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, +(+(0 | 0)), 0 & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($7_1 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + $495_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($7_1 + 40 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $495_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP8[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + i64toi32_i32$0 = HEAP32[($7_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2941(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $7_1 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP8[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAP32[($7_1 + 48 | 0) >> 2] | 0; + break label$7; + } + HEAP8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 4 | 0) >> 0] = 1; + } + break label$2; + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2942(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$1 | 0, 0 | 0, $7_1 + 60 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($7_1 + 52 | 0) >> 2] | 0) { + break label$9 + } + if (!((HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$1 = 0; + $104_1 = $41(Math_imul(HEAP32[($7_1 + 76 | 0) >> 2] | 0, 24) | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] = $104_1; + HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + label$10 : { + label$11 : { + if ((HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$11 + } + HEAP32[($7_1 + 52 | 0) >> 2] = 7; + break label$10; + } + $3289(HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, 0 | 0, Math_imul(HEAP32[($7_1 + 76 | 0) >> 2] | 0, 24) | 0) | 0; + $3289((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 84 | 0 | 0, 0 | 0, ((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 1 | 0) << 2 | 0 | 0) | 0; + HEAP32[($7_1 + 56 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($7_1 + 76 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 56 | 0) >> 2] | 0, 24) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $342(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $160_1 = 24; + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = ((HEAPU8[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 56 | 0) >> 2] | 0) << 1 | 0) | 0) >> 0] | 0) << $160_1 | 0) >> $160_1 | 0; + $172_1 = 24; + HEAP32[(HEAP32[($7_1 + 16 | 0) >> 2] | 0) >> 2] = (((HEAPU8[((HEAP32[($7_1 + 80 | 0) >> 2] | 0) + (((HEAP32[($7_1 + 56 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) | 0) >> 0] | 0) << $172_1 | 0) >> $172_1 | 0) - 48 | 0; + label$14 : { + label$15 : { + if (!((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) >= (70 | 0) & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2943(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (!(HEAP32[($7_1 + 52 | 0) >> 2] | 0)) { + break label$16 + } + break label$12; + } + HEAP32[((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] = (HEAPU8[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0; + HEAP32[((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 84 | 0; + HEAP32[((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 1 | 0; + break label$14; + } + label$17 : { + label$18 : { + label$19 : { + if ((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$19 + } + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$18 + } + } + $312_1 = +$65(HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 56 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAPF64[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 3] = $312_1; + break label$17; + } + HEAPF64[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 3] = +(0 | 0); + label$20 : { + label$21 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = 64; + break label$20; + } + label$22 : { + label$23 : { + label$24 : { + if ((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (67 | 0) & 1 | 0) { + break label$24 + } + if (!((HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (66 | 0) & 1 | 0)) { + break label$23 + } + } + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = 63; + break label$22; + } + HEAP32[((HEAP32[($7_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = 64; + } + } + } + } + HEAP32[($7_1 + 56 | 0) >> 2] = (HEAP32[($7_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + } + } + label$25 : { + if (HEAP32[($7_1 + 52 | 0) >> 2] | 0) { + break label$25 + } + $267_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2940(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, +(+($267_1 | 0)), ((HEAP32[((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 1 | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == ($267_1 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($7_1 + 92 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = HEAP32[($7_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = 1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + HEAP8[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 18 | 0) >> 0] = 0; + HEAP8[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 17 | 0) >> 0] = 1; + HEAP32[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2944(HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + } + } + $2945(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) | 0; + $2931(HEAP32[($7_1 + 68 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 92 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + } + $297_1 = HEAP32[($7_1 + 92 | 0) >> 2] | 0; + global$0 = $7_1 + 96 | 0; + return $297_1 | 0; + } + + function $2938($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 40 | 0) >> 2] = (HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 1 | 0; + return; + } + + function $2939($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $21_1 = 0, $98_1 = 0, $116_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 0; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + label$1 : { + label$2 : { + if (!(($287(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$2 + } + $21_1 = 0; + i64toi32_i32$1 = $318(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, $21_1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $98_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $98_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$3 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) != ($21_1 | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $116_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $116_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2942(HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $222(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $222(HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $40_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $40_1 | 0; + } + + function $2940($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = +$1_1; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $100_1 = 0, $17_1 = 0, $103_1 = 0, $104_1 = 0, $107_1 = 0, $356_1 = 0, $366_1 = 0, $376_1 = 0, $123_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAPF64[($5_1 + 16 | 0) >> 3] = $1_1; + HEAP8[($5_1 + 15 | 0) >> 0] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2950(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $17_1 = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 84 | 0) + (((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0; + HEAP32[$17_1 >> 2] = (HEAP32[$17_1 >> 2] | 0) + 1 | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$3 + } + if (+HEAPF64[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 3] > +HEAPF64[($5_1 + 16 | 0) >> 3] & 1 | 0) { + break label$3 + } + if (!(+HEAPF64[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 3] == +HEAPF64[($5_1 + 16 | 0) >> 3] & 1 | 0)) { + break label$2 + } + if (!(((HEAPU8[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) > ((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2976(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, +(+HEAPF64[($5_1 + 16 | 0) >> 3]), (HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[$5_1 >> 2] = (((HEAP32[($5_1 + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) | 0 | 0) / (24 | 0) | 0) + 1 | 0; + label$6 : { + label$7 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) < (5 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + break label$6; + } + $2945(HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] = 0; + $100_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $103_1 = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0; + i64toi32_i32$2 = $103_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $356_1 = i64toi32_i32$0; + i64toi32_i32$0 = $100_1; + HEAP32[i64toi32_i32$0 >> 2] = $356_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $104_1 = 16; + i64toi32_i32$2 = i64toi32_i32$2 + $104_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $366_1 = i64toi32_i32$1; + i64toi32_i32$1 = $100_1 + $104_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $366_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $107_1 = 8; + i64toi32_i32$2 = $103_1 + $107_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $376_1 = i64toi32_i32$0; + i64toi32_i32$0 = $100_1 + $107_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $376_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + HEAPF64[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0) >> 3] = +HEAPF64[($5_1 + 16 | 0) >> 3]; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 56 | 0) >> 0] = HEAPU8[($5_1 + 15 | 0) >> 0] | 0; + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 5 | 0) >> 0] = 1; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 40 | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2976(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, +(+HEAPF64[($5_1 + 16 | 0) >> 3]), (HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $123_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $123_1 | 0; + } + + function $2941($0_1, $1_1, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $36$hi = 0, $37$hi = 0, $36_1 = 0, $95_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 20 | 0) >> 2] = $3_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2912((HEAP32[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = $2915(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $36_1 = i64toi32_i32$0; + $36$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + $37$hi = i64toi32_i32$0; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$0 = $37$hi; + $95_1 = i64toi32_i32$1; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$1 = $37$hi; + label$4 : { + if (!((($36_1 | 0) == ($95_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6_1 + 16 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 267; + } + $33_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $33_1 | 0; + } + + function $2942($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $7_1 = 0, $165_1 = 0, $277$hi = 0, $9_1 = 0, $34_1 = 0, $65_1 = 0, $174_1 = 0, $279$hi = 0, $261_1 = 0, $663_1 = 0, $202_1 = 0, $269_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $7_1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $9_1 = $2977(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $9_1; + label$1 : { + label$2 : { + if (!(($9_1 | 0) != ($7_1 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if ((HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + label$5 : { + if (!($2978(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 267; + break label$1; + } + $34_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($34_1 + 16 | 0) >> 2] = (HEAP32[($34_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + break label$3; + } + label$6 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 267; + break label$1; + } + } + $65_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($65_1 + 16 | 0) >> 2] = (HEAP32[($65_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$7 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 76 | 0) >> 2] = 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $394(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + label$8 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$8 + } + $2933(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + label$9 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 7; + break label$1; + } + } + } + label$10 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[$6_1 >> 2] = HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(59589 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6_1 + 44 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $347(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, 51618 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, 0 | 0, (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 76 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + } + label$12 : { + label$13 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$13 + } + $2933(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = 0; + label$14 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 267; + } + break label$12; + } + label$15 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == ($393(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$15 + } + i64toi32_i32$1 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $41((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 32 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + label$17 : { + if ((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$17 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 7; + break label$16; + } + $165_1 = 0; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 32 | 0; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = 1; + $174_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($174_1 + 60 | 0) >> 2] = (HEAP32[($174_1 + 60 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $663_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $663_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = $165_1; + HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] = $165_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $384(HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $165_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + } + } + label$18 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$18 + } + i64toi32_i32$0 = 0; + $277$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $279$hi = i64toi32_i32$1; + i64toi32_i32$1 = $277$hi; + i64toi32_i32$1 = $279$hi; + i64toi32_i32$1 = $277$hi; + i64toi32_i32$1 = $279$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $277$hi; + if (!(((i64toi32_i32$2 | 0) == (1 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$18 + } + $202_1 = $2912(HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] = $202_1; + label$19 : { + if (!((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) > (40 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 267; + } + } + label$20 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$20 + } + label$21 : { + if (!(($2912((HEAP32[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0 | 0) > (((HEAP32[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 4 | 0 | 0) / ((HEAPU8[((HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($6_1 + 20 | 0) >> 2] = 267; + } + } + label$22 : { + label$23 : { + if (HEAP32[($6_1 + 20 | 0) >> 2] | 0) { + break label$23 + } + label$24 : { + label$25 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + $2979(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0); + $2974(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + break label$24; + } + HEAP32[($6_1 + 20 | 0) >> 2] = 267; + } + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + break label$22; + } + label$26 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $261_1 = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($261_1 + 60 | 0) >> 2] = (HEAP32[($261_1 + 60 | 0) >> 2] | 0) + -1 | 0; + $42(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + } + HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] = 0; + } + HEAP32[($6_1 + 44 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + $269_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $269_1 | 0; + } + + function $2943($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $244(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 59597 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) + 80 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, 80 | 0) | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 80 | 0; + $3288(HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 32 | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$4; + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = 71; + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $72_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $72_1 | 0; + } + + function $2944($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $256$hi = 0, $257$hi = 0, $22_1 = 0, $28_1 = 0, $135_1 = 0, $150_1 = 0, $244_1 = 0, $623_1 = 0, $256_1 = 0, $661_1 = 0, $684_1 = 0, $775_1 = 0, $252_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 96 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 80 | 0) >> 2] = HEAP32[(HEAP32[($3_1 + 88 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3_1 + 68 | 0) >> 2] = 0; + HEAP32[($3_1 + 60 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 52 | 0) >> 2] = ((HEAPU8[((HEAP32[($3_1 + 80 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0; + label$1 : { + label$2 : while (1) { + $22_1 = $2950(HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 84 | 0) >> 2] = $22_1; + $28_1 = 0; + label$3 : { + if (!(($22_1 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $28_1 = ((HEAPU8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) > (0 | 0); + } + label$4 : { + if (!($28_1 & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2951(HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0, $3_1 + 68 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[($3_1 + 68 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($3_1 + 92 | 0) >> 2] = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2912((HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (Math_imul((HEAPU8[((HEAP32[($3_1 + 80 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0, (HEAPU8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) + 4 | 0) | 0; + label$6 : { + label$7 : while (1) { + if (!(((HEAPU8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) < (HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAPF64[($3_1 + 8 | 0) >> 3] = -1.0; + HEAP32[($3_1 + 72 | 0) >> 2] = 2; + HEAP32[($3_1 + 56 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[((HEAP32[($3_1 + 88 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 56 | 0) >> 2] | 0, 24) | 0; + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) >= (70 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2980(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 84 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0, $3_1 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($3_1 + 68 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($3_1 + 92 | 0) >> 2] = HEAP32[($3_1 + 68 | 0) >> 2] | 0; + break label$1; + } + break label$10; + } + label$13 : { + label$14 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$14 + } + $2981(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $3_1 + 72 | 0 | 0); + break label$13; + } + $2982(HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0, $3_1 + 72 | 0 | 0); + } + } + label$15 : { + if (HEAP32[($3_1 + 72 | 0) >> 2] | 0) { + break label$15 + } + $135_1 = HEAP32[($3_1 + 84 | 0) >> 2] | 0; + HEAP8[($135_1 + 18 | 0) >> 0] = (HEAPU8[($135_1 + 18 | 0) >> 0] | 0) + 1 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($3_1 + 80 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0) | 0; + break label$8; + } + HEAP32[($3_1 + 56 | 0) >> 2] = (HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$16 : { + if (HEAP32[($3_1 + 72 | 0) >> 2] | 0) { + break label$16 + } + continue label$7; + } + break label$7; + }; + $150_1 = HEAP32[($3_1 + 84 | 0) >> 2] | 0; + HEAP8[($150_1 + 18 | 0) >> 0] = (HEAPU8[($150_1 + 18 | 0) >> 0] | 0) + 1 | 0; + HEAP8[($3_1 + 40 | 0) >> 0] = ((HEAPU8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + label$17 : { + label$18 : { + if (!(((HEAPU8[($3_1 + 40 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + i64toi32_i32$0 = $2917(HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $623_1 = i64toi32_i32$0; + i64toi32_i32$0 = $3_1; + HEAP32[($3_1 + 32 | 0) >> 2] = $623_1; + HEAP32[($3_1 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($3_1 + 56 | 0) >> 2] = 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($3_1 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($3_1 + 88 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + i64toi32_i32$2 = (HEAP32[((HEAP32[($3_1 + 88 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 56 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $256_1 = i64toi32_i32$1; + $256$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + $257$hi = i64toi32_i32$1; + i64toi32_i32$1 = $256$hi; + i64toi32_i32$1 = $257$hi; + i64toi32_i32$1 = $256$hi; + i64toi32_i32$1 = $257$hi; + $661_1 = i64toi32_i32$0; + i64toi32_i32$1 = $256$hi; + i64toi32_i32$2 = $256_1; + i64toi32_i32$0 = $257$hi; + i64toi32_i32$3 = $661_1; + label$21 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($3_1 + 92 | 0) >> 2] = 267; + break label$1; + } + HEAP32[($3_1 + 56 | 0) >> 2] = (HEAP32[($3_1 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + HEAP8[($3_1 + 42 | 0) >> 0] = 0; + break label$17; + } + i64toi32_i32$3 = HEAP32[($3_1 + 84 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $684_1 = i64toi32_i32$2; + i64toi32_i32$2 = $3_1; + HEAP32[($3_1 + 32 | 0) >> 2] = $684_1; + HEAP32[($3_1 + 36 | 0) >> 2] = i64toi32_i32$1; + HEAP8[($3_1 + 42 | 0) >> 0] = ((HEAPU8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + } + label$22 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) >= (HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + $2947(HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0); + } + label$23 : { + if (!(+HEAPF64[($3_1 + 8 | 0) >> 3] < +(0 | 0) & 1 | 0)) { + break label$23 + } + HEAPF64[($3_1 + 8 | 0) >> 3] = +(0 | 0); + } + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2940(HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0, +(+HEAPF64[($3_1 + 8 | 0) >> 3]), (HEAPU8[($3_1 + 40 | 0) >> 0] | 0) & 255 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($3_1 + 84 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($3_1 + 92 | 0) >> 2] = 7; + break label$1; + } + HEAP8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 17 | 0) >> 0] = HEAP32[($3_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = HEAP32[($3_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($3_1 + 36 | 0) >> 2] | 0; + $775_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($3_1 + 84 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $775_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$2; + HEAP8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 18 | 0) >> 0] = HEAPU8[($3_1 + 42 | 0) >> 0] | 0; + } + label$25 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 84 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) >= (HEAP32[($3_1 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + $2947(HEAP32[($3_1 + 88 | 0) >> 2] | 0 | 0); + } + continue label$2; + } + break label$2; + }; + $244_1 = 0; + HEAP8[((HEAP32[($3_1 + 88 | 0) >> 2] | 0) + 4 | 0) >> 0] = (HEAP32[($3_1 + 84 | 0) >> 2] | 0 | 0) == ($244_1 | 0) & 1 | 0; + HEAP32[($3_1 + 92 | 0) >> 2] = $244_1; + } + $252_1 = HEAP32[($3_1 + 92 | 0) >> 2] | 0; + global$0 = $3_1 + 96 | 0; + return $252_1 | 0; + } + + function $2945($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $50$hi = 0, i64toi32_i32$2 = 0, $5_1 = 0, $12_1 = 0, $18_1 = 0, $52$hi = 0, $47_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + $12_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($12_1 + 16 | 0) >> 2] = (HEAP32[($12_1 + 16 | 0) >> 2] | 0) + -1 | 0; + label$2 : { + if (HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + $50$hi = i64toi32_i32$0; + $18_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($18_1 + 60 | 0) >> 2] = (HEAP32[($18_1 + 60 | 0) >> 2] | 0) + -1 | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $52$hi = i64toi32_i32$1; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $50$hi; + label$3 : { + if (!(((i64toi32_i32$2 | 0) == (1 | 0) & (i64toi32_i32$1 | 0) == ($50$hi | 0) | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = -1; + } + label$4 : { + if (!((HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2945(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + label$5 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2972(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + $2973(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + } + $47_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $47_1 | 0; + } + + function $2946($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $23_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 6 | 0) >> 0] = 0; + $222(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + } + $2947(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $2944(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $23_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $23_1 | 0; + } + + function $2947($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $89_1 = 0, $62_1 = 0, $80_1 = 0, $84_1 = 0, $87_1 = 0, $95_1 = 0, $96_1 = 0, $99_1 = 0, $134_1 = 0, $412_1 = 0, $422_1 = 0, $432_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 24 | 0) >> 2] = 1 - ((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) | 0; + label$1 : { + if (!((HEAP32[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $2945(HEAP32[(HEAP32[($3_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + } + label$2 : { + label$3 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $62_1 = ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 84 | 0) + (((HEAPU8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0; + HEAP32[$62_1 >> 2] = (HEAP32[$62_1 >> 2] | 0) + -1 | 0; + HEAP8[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] = 0; + break label$2; + } + label$4 : { + if (!(HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$4 + } + $80_1 = ((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 84 | 0) + (((HEAPU8[((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0; + HEAP32[$80_1 >> 2] = (HEAP32[$80_1 >> 2] | 0) + -1 | 0; + $84_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + $87_1 = (HEAP32[($84_1 + 24 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($84_1 + 24 | 0) >> 2] = $87_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $87_1; + $89_1 = HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $95_1 = (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 12 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = $95_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $412_1 = i64toi32_i32$0; + i64toi32_i32$0 = $89_1; + HEAP32[i64toi32_i32$0 >> 2] = $412_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $96_1 = 16; + i64toi32_i32$2 = i64toi32_i32$2 + $96_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $422_1 = i64toi32_i32$1; + i64toi32_i32$1 = $89_1 + $96_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $422_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $99_1 = 8; + i64toi32_i32$2 = $95_1 + $99_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $432_1 = i64toi32_i32$0; + i64toi32_i32$0 = $89_1 + $99_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $432_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$5 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 64 | 0) + (((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 64 | 0) + (((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = 0; + } + HEAP32[($3_1 + 24 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + $134_1 = ((HEAP32[($3_1 + 24 | 0) >> 2] | 0) << 1 | 0) + 1 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $134_1; + if (!(($134_1 | 0) < (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($3_1 + 16 | 0) >> 2] = (HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 1 | 0; + label$8 : { + label$9 : { + if (!((HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + if (!(($2983((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 16 | 0) >> 2] | 0, 24) | 0 | 0, (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 20 | 0) >> 2] | 0, 24) | 0 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + label$11 : { + if (!(($2983((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 16 | 0) >> 2] | 0, 24) | 0 | 0, (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 24 | 0) >> 2] | 0, 24) | 0 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$11 + } + $2984(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + break label$10; + } + break label$6; + } + break label$8; + } + label$12 : { + label$13 : { + if (!(($2983((HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 20 | 0) >> 2] | 0, 24) | 0 | 0, (HEAP32[((HEAP32[($3_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 24 | 0) >> 2] | 0, 24) | 0 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$13 + } + $2984(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($3_1 + 24 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + break label$12; + } + break label$6; + } + } + continue label$7; + }; + } + } + } + global$0 = $3_1 + 32 | 0; + return; + } + + function $2948($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + return (HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0; + } + + function $2949($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $83_1 = 0, $28_1 = 0, $97_1 = 0, $139_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2950(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2951(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + label$5 : { + if (HEAP32[($5_1 + 32 | 0) >> 2] | 0) { + break label$5 + } + $28_1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = $2915(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $270($28_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) <= ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + $2952(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0, (HEAP32[($5_1 + 32 | 0) >> 2] | 0) - 1 | 0 | 0, $5_1 + 16 | 0 | 0); + label$8 : { + label$9 : { + if ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$9 + } + $260(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, +(+Math_fround(HEAPF32[($5_1 + 16 | 0) >> 2]))); + break label$8; + } + $267(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + } + break label$6; + } + label$10 : { + if (((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 6 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$10 + } + label$11 : { + if (!((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + $83_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $408(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0, -1 | 0, $83_1 | 0, (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0 | 0, $83_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$12 + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + } + $97_1 = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = $2915(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $331($97_1 | 0, 1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $287(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + label$14 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$14 + } + HEAP8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 6 | 0) >> 0] = 1; + break label$13; + } + $222(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + label$15 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) == (101 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + } + $280(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $320(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) - ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) | 0) + 1 | 0 | 0) | 0 | 0); + } + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + } + $139_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $139_1 | 0; + } + + function $2950($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0, $16_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + $11_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0; + break label$1; + } + label$3 : { + label$4 : { + if (!(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { + break label$4 + } + $16_1 = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$3; + } + $16_1 = 0; + } + $11_1 = $16_1; + } + return $11_1 | 0; + } + + function $2951($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $52_1 = 0, $52$hi = 0, $39_1 = 0, $48_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = 1 - ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) | 0; + label$1 : { + if (!((HEAP32[(((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!(HEAP32[($4_1 + 12 | 0) >> 2] | 0)) { + break label$3 + } + i64toi32_i32$2 = HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $52_1 = i64toi32_i32$0; + $52$hi = i64toi32_i32$1; + break label$2; + } + i64toi32_i32$2 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $52_1 = i64toi32_i32$1; + $52$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $52$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $52_1; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $39_1 = $2942(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, 0 | 0, ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0; + HEAP32[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 2] = $39_1; + } + $48_1 = HEAP32[(((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $48_1 | 0; + } + + function $2952($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0; + $7_1 = global$0 - 32 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 12 | 0) >> 2] = $4_1; + $2916((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + ((Math_imul((HEAPU8[((HEAP32[($7_1 + 28 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0, HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 12 | 0) + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) | 0 | 0, HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $7_1 + 32 | 0; + return; + } + + function $2953($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $101_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2950(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2951(HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, $4_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = $2915(HEAP32[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[((HEAP32[($4_1 + 16 | 0) >> 2] | 0) + 18 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $101_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $101_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + $30_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $30_1 | 0; + } + + function $2954($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $51_1 = 0, $117_1 = 0, $340$hi = 0, $341$hi = 0, $7_1 = 0, $349_1 = Math_fround(0), $350_1 = Math_fround(0), $126_1 = 0, $141_1 = 0, $745_1 = 0, $340_1 = 0, $772_1 = 0, $244_1 = 0, $916_1 = 0, $335_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 112 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 104 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 92 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 88 | 0) >> 2] = HEAP32[($6_1 + 104 | 0) >> 2] | 0; + HEAP32[($6_1 + 84 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($6_1 + 108 | 0) >> 2] = 518; + break label$1; + } + i64toi32_i32$0 = 0; + $2938(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0); + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = 0; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$0; + label$3 : { + label$4 : { + if (!((HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 100 | 0) >> 2] | 0) - 4 | 0; + label$5 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) > ((HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0; + } + label$6 : { + label$7 : { + if ((HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$7 + } + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $51_1 = $6_1 + 32 | 0; + $349_1 = Math_fround($2955(HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 3 | 0) << 2 | 0) | 0) >> 2] | 0 | 0)); + HEAPF32[(($51_1 + 8 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $349_1; + $350_1 = Math_fround($2956(HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) << 2 | 0) | 0) >> 2] | 0 | 0)); + HEAPF32[(($51_1 + 8 | 0) + (((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $350_1; + label$10 : { + if (!(Math_fround(HEAPF32[(($51_1 + 8 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) > Math_fround(HEAPF32[(($51_1 + 8 | 0) + (((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2957(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 2 | 0; + continue label$9; + }; + } + break label$6; + } + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $117_1 = $6_1 + 32 | 0; + $126_1 = $239(HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 3 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[(($117_1 + 8 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $126_1; + $141_1 = $239(HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[(($117_1 + 8 | 0) + (((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $141_1; + label$13 : { + if (!((HEAP32[(($117_1 + 8 | 0) + ((HEAP32[($6_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) > (HEAP32[(($117_1 + 8 | 0) + (((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2957(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 2 | 0; + continue label$12; + }; + } + } + label$14 : { + if (!(($248(HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$14 + } + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $745_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $745_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$1; + label$15 : { + label$16 : { + if (($248(HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0) { + break label$16 + } + i64toi32_i32$1 = $62(HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $340_1 = i64toi32_i32$1; + $340$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $341$hi = i64toi32_i32$1; + i64toi32_i32$1 = $340$hi; + i64toi32_i32$1 = $341$hi; + i64toi32_i32$1 = $340$hi; + i64toi32_i32$1 = $341$hi; + $772_1 = i64toi32_i32$0; + i64toi32_i32$1 = $340$hi; + i64toi32_i32$2 = $340_1; + i64toi32_i32$0 = $341$hi; + i64toi32_i32$3 = $772_1; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$15 + } + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $287(HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $222(HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!((100 | 0) == (HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + label$18 : { + label$19 : { + if (!(($425(HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$19 + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2958(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + break label$18; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2957(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = 1; + } + } + label$20 : { + if (!(($248(HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$20 + } + $244_1 = HEAP32[($6_1 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = $62(HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2958($244_1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + label$21 : { + if (HEAP32[($6_1 + 84 | 0) >> 2] | 0) { + break label$21 + } + if (!((HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$22 : { + if (HEAP32[($6_1 + 28 | 0) >> 2] | 0) { + break label$22 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2959(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + i64toi32_i32$3 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $916_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $916_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + label$23 : { + if (HEAP32[($6_1 + 84 | 0) >> 2] | 0) { + break label$23 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2960(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0, 0 | 0, $6_1 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + label$24 : { + if (HEAP32[($6_1 + 84 | 0) >> 2] | 0) { + break label$24 + } + HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 72 | 0) >> 2] = -1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2961(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2945(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + if (HEAP32[($6_1 + 84 | 0) >> 2] | 0) { + break label$25 + } + HEAP32[($6_1 + 84 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + } + label$26 : { + if (HEAP32[($6_1 + 84 | 0) >> 2] | 0) { + break label$26 + } + if (!((HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0)) { + break label$26 + } + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $331(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[$6_1 >> 2] = 0; + label$27 : { + label$28 : while (1) { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$27 + } + $334(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, (HEAP32[$6_1 >> 2] | 0) + 2 | 0 | 0, HEAP32[((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + (((((HEAPU8[((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) + 3 | 0) + (HEAP32[$6_1 >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[$6_1 >> 2] = (HEAP32[$6_1 >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + $287(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $222(HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + } + } + $2931(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 108 | 0) >> 2] = HEAP32[($6_1 + 84 | 0) >> 2] | 0; + } + $335_1 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + global$0 = $6_1 + 112 | 0; + return $335_1 | 0; + } + + function $2955($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $19_1 = 0.0, $14_1 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_f64$0 = +$65(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 16 | 0) >> 3] = wasm2js_f64$0; + HEAPF32[($3_1 + 12 | 0) >> 2] = Math_fround(+HEAPF64[($3_1 + 16 | 0) >> 3]); + label$1 : { + if (!(+Math_fround(HEAPF32[($3_1 + 12 | 0) >> 2]) > +HEAPF64[($3_1 + 16 | 0) >> 3] & 1 | 0)) { + break label$1 + } + $19_1 = +HEAPF64[($3_1 + 16 | 0) >> 3]; + HEAPF32[($3_1 + 12 | 0) >> 2] = Math_fround($19_1 * ($19_1 < 0.0 ? 1.0000001192092896 : .9999998807907104)); + } + $14_1 = Math_fround(HEAPF32[($3_1 + 12 | 0) >> 2]); + global$0 = $3_1 + 32 | 0; + return Math_fround($14_1); + } + + function $2956($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $19_1 = 0.0, $14_1 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 28 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_f64$0 = +$65(HEAP32[($3_1 + 28 | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 16 | 0) >> 3] = wasm2js_f64$0; + HEAPF32[($3_1 + 12 | 0) >> 2] = Math_fround(+HEAPF64[($3_1 + 16 | 0) >> 3]); + label$1 : { + if (!(+Math_fround(HEAPF32[($3_1 + 12 | 0) >> 2]) < +HEAPF64[($3_1 + 16 | 0) >> 3] & 1 | 0)) { + break label$1 + } + $19_1 = +HEAPF64[($3_1 + 16 | 0) >> 3]; + HEAPF32[($3_1 + 12 | 0) >> 2] = Math_fround($19_1 * ($19_1 < 0.0 ? .9999998807907104 : 1.0000001192092896)); + } + $14_1 = Math_fround(HEAPF32[($3_1 + 12 | 0) >> 2]); + global$0 = $3_1 + 32 | 0; + return Math_fround($14_1); + } + + function $2957($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $63_1 = 0, $7_1 = 0, $38_1 = 0, $41_1 = 0, $52_1 = 0, $53_1 = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 68 | 0) >> 2] = 0; + $7_1 = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79(48818 | 0, $4_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $402(HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0, -1 | 0, $4_1 + 68 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4_1 + 60 | 0) >> 2] = 7; + } + $42(HEAP32[($4_1 + 64 | 0) >> 2] | 0 | 0); + label$3 : { + if (HEAP32[($4_1 + 60 | 0) >> 2] | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (HEAP32[($4_1 + 72 | 0) >> 2] | 0) { + break label$5 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $322(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + $38_1 = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $38_1; + $41_1 = $79(59611 | 0, $4_1 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] = $41_1; + break label$4; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $322(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $322(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, (HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $52_1 = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $53_1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $53_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $52_1; + $58_1 = $79(59643 | 0, $4_1 + 16 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] = $58_1; + } + } + $213(HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) | 0; + label$6 : { + label$7 : { + if (HEAP32[($4_1 + 60 | 0) >> 2] | 0) { + break label$7 + } + $63_1 = 19; + break label$6; + } + $63_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + } + global$0 = $4_1 + 80 | 0; + return $63_1 | 0; + } + + function $2958($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5_1 = 0, $75_1 = 0, $96_1 = 0, $121_1 = 0, $137$hi = 0, $329_1 = 0, $134_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $137$hi = i64toi32_i32$0; + $5_1 = 0; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 48 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 40 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $5_1; + i64toi32_i32$0 = $137$hi; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2942(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, $5_1 | 0, $4_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$0 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2939(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $4_1 + 40 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + label$2 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$2 + } + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2941(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, $4_1 + 36 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$3 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2985(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2945(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + } + } + label$5 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$5 + } + i64toi32_i32$0 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 52 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $287(HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$6 + } + if (!((HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + if (!(($2912((HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$6 + } + $75_1 = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = $75_1; + i64toi32_i32$1 = $2915(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, $75_1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $329_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $329_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2942(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0, $4_1 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$7 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2986(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2945(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$8 + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + } + label$9 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$9 + } + $96_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($96_1 + 28 | 0) >> 2] = (HEAP32[($96_1 + 28 | 0) >> 2] | 0) + -1 | 0; + $2987(HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + } + } + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + label$12 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$12 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2988(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + $121_1 = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($121_1 + 60 | 0) >> 2] = (HEAP32[($121_1 + 60 | 0) >> 2] | 0) + -1 | 0; + $42(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 40 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + continue label$11; + }; + } + label$13 : { + label$14 : { + if (HEAP32[($4_1 + 44 | 0) >> 2] | 0) { + break label$14 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2945(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + break label$13; + } + $2945(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) | 0; + } + $134_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $134_1 | 0; + } + + function $2959($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $69_1 = 0, $19_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $332(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, 1 | 0) | 0; + $332(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, 2 | 0) | 0; + $287(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $451(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $69_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = $69_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $19_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $19_1 | 0; + } + + function $2960($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7_1 = 0, $27_1 = 0, $42_1 = 0, $15_1 = 0, $87_1 = 0.0, $281_1 = 0, $80_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f64$0 = 0.0; + $6_1 = global$0 - 144 | 0; + global$0 = $6_1; + $7_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 132 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 128 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 116 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2942(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, $7_1 | 0, $6_1 + 116 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 120 | 0) >> 2] = $7_1; + label$1 : while (1) { + $15_1 = 0; + label$2 : { + if (HEAP32[($6_1 + 124 | 0) >> 2] | 0) { + break label$2 + } + $15_1 = (HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0) < ((HEAP32[((HEAP32[($6_1 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) - (HEAP32[($6_1 + 132 | 0) >> 2] | 0) | 0 | 0); + } + label$3 : { + if (!($15_1 & 1 | 0)) { + break label$3 + } + $27_1 = 0; + $87_1 = +($27_1 | 0); + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 104 | 0) >> 2] = 0; + HEAP32[($6_1 + 108 | 0) >> 2] = i64toi32_i32$0; + HEAPF64[($6_1 + 96 | 0) >> 3] = $87_1; + HEAPF64[($6_1 + 88 | 0) >> 3] = $87_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2912((HEAP32[((HEAP32[($6_1 + 116 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 24 | 0) >> 2] = $27_1; + HEAP32[($6_1 + 112 | 0) >> 2] = $27_1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $42_1 = $6_1 + 32 | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = 0; + $2913(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 112 | 0) >> 2] | 0 | 0, $42_1 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_f64$0 = +$2989(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, $42_1 | 0, HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $6_1, wasm2js_f64$0 = +$2990(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, $42_1 | 0)), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$6 : { + label$7 : { + if (!(HEAP32[($6_1 + 112 | 0) >> 2] | 0)) { + break label$7 + } + if (+HEAPF64[($6_1 + 8 | 0) >> 3] < +HEAPF64[($6_1 + 96 | 0) >> 3] & 1 | 0) { + break label$7 + } + if (!(+HEAPF64[($6_1 + 8 | 0) >> 3] == +HEAPF64[($6_1 + 96 | 0) >> 3] & 1 | 0)) { + break label$6 + } + if (!(+HEAPF64[$6_1 >> 3] < +HEAPF64[($6_1 + 88 | 0) >> 3] & 1 | 0)) { + break label$6 + } + } + HEAP32[($6_1 + 20 | 0) >> 2] = 1; + } + label$8 : { + if (!(HEAP32[($6_1 + 20 | 0) >> 2] | 0)) { + break label$8 + } + HEAPF64[($6_1 + 96 | 0) >> 3] = +HEAPF64[($6_1 + 8 | 0) >> 3]; + HEAPF64[($6_1 + 88 | 0) >> 3] = +HEAPF64[$6_1 >> 3]; + i64toi32_i32$0 = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + $281_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $281_1; + HEAP32[($6_1 + 108 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($6_1 + 112 | 0) >> 2] = (HEAP32[($6_1 + 112 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $42(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + i64toi32_i32$1 = HEAP32[($6_1 + 104 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2942(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, $6_1 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + $2945(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 116 | 0) >> 2] = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($6_1 + 120 | 0) >> 2] = (HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + HEAP32[(HEAP32[($6_1 + 128 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + $80_1 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + global$0 = $6_1 + 144 | 0; + return $80_1 | 0; + } + + function $2961($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $76$hi = 0, $7_1 = 0, $78$hi = 0, $80$hi = 0, $81$hi = 0, $82$hi = 0, $83$hi = 0, $80_1 = 0, $259_1 = 0, $82_1 = 0, $275_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $7_1; + label$1 : { + if (!((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) > ($7_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2977(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $2945(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + $2979(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + } + } + label$3 : { + label$4 : { + if (!($2991(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + label$5 : { + label$6 : { + label$7 : { + if ((HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) <= (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$7 + } + i64toi32_i32$1 = 0; + $76$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$0; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $78$hi; + i64toi32_i32$0 = $76$hi; + i64toi32_i32$0 = $78$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $76$hi; + i64toi32_i32$3 = 1; + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$6 + } + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2992(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$5; + } + HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2993(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + break label$3; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2994(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (HEAP32[($6_1 + 12 | 0) >> 2] | 0) { + break label$8 + } + label$9 : { + label$10 : { + if (HEAP32[($6_1 + 16 | 0) >> 2] | 0) { + break label$10 + } + i64toi32_i32$3 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $80_1 = i64toi32_i32$2; + $80$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $81$hi = i64toi32_i32$2; + i64toi32_i32$2 = $80$hi; + i64toi32_i32$2 = $81$hi; + $259_1 = i64toi32_i32$0; + i64toi32_i32$2 = $80$hi; + i64toi32_i32$0 = $81$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2995(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, $80_1 | 0, i64toi32_i32$2 | 0, $259_1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$9; + } + i64toi32_i32$3 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $82_1 = i64toi32_i32$0; + $82$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $83$hi = i64toi32_i32$0; + i64toi32_i32$0 = $82$hi; + i64toi32_i32$0 = $83$hi; + $275_1 = i64toi32_i32$2; + i64toi32_i32$0 = $82$hi; + i64toi32_i32$2 = $83$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2996(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, $82_1 | 0, i64toi32_i32$0 | 0, $275_1 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + } + $72_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $72_1 | 0; + } + + function $2962($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $6_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP8[($6_1 + 24 | 0) >> 0] = (HEAPU8[($6_1 + 24 | 0) >> 0] | 0) + 1 | 0; + return 0 | 0; + } + + function $2963($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 0] = 0; + $2933(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $2964($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $41_1 = 0, $8_1 = 0, $10_1 = 0, $11_1 = 0, $13_1 = 0, $15_1 = 0, $16_1 = 0, $18_1 = 0, $20_1 = 0, $48_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 64 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 52 | 0) >> 2] = HEAP32[($4_1 + 60 | 0) >> 2] | 0; + HEAP32[($4_1 + 48 | 0) >> 2] = 7; + $8_1 = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $10_1 = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $11_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + $13_1 = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $15_1 = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $16_1 = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + $18_1 = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + $20_1 = HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 56 | 0) >> 2] | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $20_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $18_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $16_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $15_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $13_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $11_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $10_1; + HEAP32[$4_1 >> 2] = $8_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79(59680 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $41_1 = 0; + $2933(HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $400(HEAP32[((HEAP32[($4_1 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0, $41_1 | 0, $41_1 | 0, $41_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0); + } + $48_1 = HEAP32[($4_1 + 48 | 0) >> 2] | 0; + global$0 = $4_1 + 64 | 0; + return $48_1 | 0; + } + + function $2965($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP8[($4_1 + 3 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0; + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] = 0; + $2933(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] = HEAPU8[($4_1 + 3 | 0) >> 0] | 0; + global$0 = $4_1 + 16 | 0; + return 0 | 0; + } + + function $2966($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $25_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0) >>> 0 < 3 >>> 0 & 1 | 0)) { + break label$2 + } + label$4 : { + if ($87(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[(80656 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + } + $25_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $25_1 | 0; + } + + function $2967($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $9_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + $9_1 = $418(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $3_1 + 8 | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $9_1 | 0; + } + + function $2968($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $53_1 = 0, $56_1 = 0, $75_1 = 0, $91_1 = 0, $94_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 112 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 104 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 100 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 96 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 100 | 0) >> 2] | 0)) { + break label$2 + } + HEAP32[($6_1 + 84 | 0) >> 2] = 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(49377 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2970(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, $6_1 + 84 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (HEAP32[($6_1 + 92 | 0) >> 2] | 0) { + break label$4 + } + HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[($6_1 + 84 | 0) >> 2] | 0) - 64 | 0; + label$5 : { + if (!((Math_imul((HEAPU8[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0, 51) + 4 | 0 | 0) < (HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 2] = Math_imul((HEAPU8[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0, 51) + 4 | 0; + } + break label$3; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $380(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $53_1 = $79(1976 | 0, $6_1 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] = $53_1; + } + break label$1; + } + $56_1 = HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($6_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 64 | 0) >> 2] = $56_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $79(58474 | 0, $6_1 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2970(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!(HEAP32[($6_1 + 92 | 0) >> 2] | 0)) { + break label$7 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $380(HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $75_1 = $79(1976 | 0, $6_1 + 32 | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] = $75_1; + break label$6; + } + label$8 : { + if (!((HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) < (448 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6_1 + 92 | 0) >> 2] = 267; + HEAP32[($6_1 + 48 | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $91_1 = $79(58531 | 0, $6_1 + 48 | 0 | 0) | 0; + HEAP32[(HEAP32[($6_1 + 96 | 0) >> 2] | 0) >> 2] = $91_1; + } + } + } + $42(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0); + $94_1 = HEAP32[($6_1 + 92 | 0) >> 2] | 0; + global$0 = $6_1 + 112 | 0; + return $94_1 | 0; + } + + function $2969($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $68_1 = 0, $111_1 = 0, $15_1 = 0, $16_1 = 0, $32_1 = 0, $38_1 = 0, $39_1 = 0, $44_1 = 0, $45_1 = 0, $50_1 = 0, $51_1 = 0, $52_1 = 0, $138_1 = 0, $139_1 = 0, $180_1 = 0, $185_1 = 0, $198_1 = 0, $199_1 = 0, $229_1 = 0, $230_1 = 0, $233_1 = 0, $238_1 = 0, $239_1 = 0, $273_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 256 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 248 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 244 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 240 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 236 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 232 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 228 | 0) >> 2] = 0; + HEAP32[($7_1 + 184 | 0) >> 2] = 5; + HEAP32[((HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 244 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($7_1 + 232 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $76(HEAP32[($7_1 + 244 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; + $15_1 = HEAP32[($7_1 + 176 | 0) >> 2] | 0; + $16_1 = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + HEAP32[($7_1 + 148 | 0) >> 2] = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($7_1 + 144 | 0) >> 2] = $16_1; + $84($15_1 | 0, 58975 | 0, $7_1 + 144 | 0 | 0); + HEAP32[($7_1 + 172 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($7_1 + 172 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + $32_1 = HEAP32[($7_1 + 176 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = HEAP32[($7_1 + 172 | 0) >> 2] | 0; + $84($32_1 | 0, 59037 | 0, $7_1 | 0); + HEAP32[($7_1 + 172 | 0) >> 2] = (HEAP32[($7_1 + 172 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + $38_1 = HEAP32[($7_1 + 176 | 0) >> 2] | 0; + $39_1 = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + HEAP32[($7_1 + 100 | 0) >> 2] = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($7_1 + 96 | 0) >> 2] = $39_1; + $84($38_1 | 0, 59042 | 0, $7_1 + 96 | 0 | 0); + $44_1 = HEAP32[($7_1 + 176 | 0) >> 2] | 0; + $45_1 = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + HEAP32[($7_1 + 116 | 0) >> 2] = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($7_1 + 112 | 0) >> 2] = $45_1; + $84($44_1 | 0, 59106 | 0, $7_1 + 112 | 0 | 0); + $50_1 = HEAP32[($7_1 + 176 | 0) >> 2] | 0; + $51_1 = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + $52_1 = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($7_1 + 136 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($7_1 + 132 | 0) >> 2] = $52_1; + HEAP32[($7_1 + 128 | 0) >> 2] = $51_1; + $84($50_1 | 0, 59176 | 0, $7_1 + 128 | 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $71(HEAP32[($7_1 + 176 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + HEAP32[($7_1 + 252 | 0) >> 2] = 7; + break label$1; + } + $68_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $400(HEAP32[($7_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0, $68_1 | 0, $68_1 | 0, $68_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($7_1 + 180 | 0) >> 2] | 0 | 0); + label$6 : { + if (!(HEAP32[($7_1 + 228 | 0) >> 2] | 0)) { + break label$6 + } + HEAP32[($7_1 + 252 | 0) >> 2] = HEAP32[($7_1 + 228 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($7_1 + 192 | 0) >> 2] = (HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 80 | 0; + HEAP32[($7_1 + 196 | 0) >> 2] = (HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 84 | 0; + HEAP32[($7_1 + 200 | 0) >> 2] = (HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 88 | 0; + HEAP32[($7_1 + 204 | 0) >> 2] = (HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 92 | 0; + HEAP32[($7_1 + 208 | 0) >> 2] = (HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 96 | 0; + HEAP32[($7_1 + 212 | 0) >> 2] = (HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 100 | 0; + HEAP32[($7_1 + 216 | 0) >> 2] = (HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 104 | 0; + HEAP32[($7_1 + 220 | 0) >> 2] = (HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 108 | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $2971(HEAP32[($7_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 248 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 188 | 0) >> 2] = 0; + label$7 : while (1) { + $111_1 = 0; + label$8 : { + if (!((HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0) < (8 | 0) & 1 | 0)) { + break label$8 + } + $111_1 = (HEAP32[($7_1 + 228 | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$9 : { + if (!($111_1 & 1 | 0)) { + break label$9 + } + label$10 : { + label$11 : { + label$12 : { + if ((HEAP32[($7_1 + 188 | 0) >> 2] | 0 | 0) != (3 | 0) & 1 | 0) { + break label$12 + } + if ((HEAPU8[((HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0) { + break label$11 + } + } + HEAP32[($7_1 + 164 | 0) >> 2] = HEAP32[(80624 + ((HEAP32[($7_1 + 188 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$10; + } + HEAP32[($7_1 + 164 | 0) >> 2] = 59225; + } + $138_1 = HEAP32[($7_1 + 164 | 0) >> 2] | 0; + $139_1 = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = $139_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $79($138_1 | 0, $7_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + label$14 : { + if (!((HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $408(HEAP32[($7_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0, -1 | 0, 5 | 0, HEAP32[(($7_1 + 192 | 0) + ((HEAP32[($7_1 + 188 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_i32$1; + break label$13; + } + HEAP32[($7_1 + 228 | 0) >> 2] = 7; + } + $42(HEAP32[($7_1 + 168 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 188 | 0) >> 2] = (HEAP32[($7_1 + 188 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + } + break label$7; + }; + label$15 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$15 + } + $180_1 = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + HEAP32[($7_1 + 84 | 0) >> 2] = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($7_1 + 80 | 0) >> 2] = $180_1; + $185_1 = $79(59333 | 0, $7_1 + 80 | 0 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 64 | 0) >> 2] = $185_1; + label$16 : { + label$17 : { + if (!((HEAP32[((HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($7_1 + 228 | 0) >> 2] = 7; + break label$16; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $76(HEAP32[($7_1 + 244 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_i32$1; + $198_1 = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + $199_1 = HEAP32[($7_1 + 240 | 0) >> 2] | 0; + HEAP32[($7_1 + 68 | 0) >> 2] = HEAP32[($7_1 + 236 | 0) >> 2] | 0; + HEAP32[($7_1 + 64 | 0) >> 2] = $199_1; + $84($198_1 | 0, 59378 | 0, $7_1 + 64 | 0 | 0); + HEAP32[($7_1 + 156 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + label$20 : { + if (!(HEAP32[($7_1 + 156 | 0) >> 2] | 0)) { + break label$20 + } + $51(HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0, 30108 | 0, 1 | 0); + } + label$21 : { + label$22 : { + if (!((HEAP32[($7_1 + 156 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 26 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$22 + } + $229_1 = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + $230_1 = HEAP32[($7_1 + 156 | 0) >> 2] | 0; + $233_1 = (HEAP32[($7_1 + 156 | 0) >> 2] | 0) + 2 | 0; + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[($7_1 + 156 | 0) >> 2] | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = $233_1; + HEAP32[($7_1 + 32 | 0) >> 2] = $230_1; + $84($229_1 | 0, 59405 | 0, $7_1 + 32 | 0 | 0); + break label$21; + } + $238_1 = HEAP32[($7_1 + 160 | 0) >> 2] | 0; + $239_1 = HEAP32[($7_1 + 156 | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 156 | 0) >> 2] | 0) + 2 | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = $239_1; + $84($238_1 | 0, 59427 | 0, $7_1 + 48 | 0 | 0); + } + HEAP32[($7_1 + 156 | 0) >> 2] = (HEAP32[($7_1 + 156 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + $84(HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0, 59435 | 0, 0 | 0); + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $71(HEAP32[($7_1 + 160 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + label$24 : { + if (!((HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($7_1 + 228 | 0) >> 2] = 7; + break label$23; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $408(HEAP32[($7_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0, -1 | 0, 5 | 0, (HEAP32[($7_1 + 248 | 0) >> 2] | 0) + 112 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_i32$1; + $42(HEAP32[($7_1 + 152 | 0) >> 2] | 0 | 0); + } + } + } + HEAP32[($7_1 + 252 | 0) >> 2] = HEAP32[($7_1 + 228 | 0) >> 2] | 0; + } + $273_1 = HEAP32[($7_1 + 252 | 0) >> 2] | 0; + global$0 = $7_1 + 256 | 0; + return $273_1 | 0; + } + + function $2970($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $18_1 = 0, $33_1 = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 7; + label$1 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $18_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $402(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, -1 | 0, $5_1 + 12 | 0 | 0, $18_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$2 + } + label$3 : { + if (!((100 | 0) == ($287(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $33_1 = $317(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = $33_1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $213(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + } + $37_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $37_1 | 0; + } + + function $2971($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $6_1 = 0, $85$hi = 0, $90$hi = 0, $22_1 = 0, $87$hi = 0, $92$hi = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $95_1 = 0, $95$hi = 0, $25_1 = 0, $27_1 = 0, $228_1 = 0, $79_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + $6_1 = 0; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 32 | 0) >> 2] = 59451; + i64toi32_i32$1 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $500(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, 8754 | 0, $6_1 | 0, $6_1 | 0, $6_1 | 0, $6_1 | 0, $6_1 | 0, $6_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!(HEAP32[($4_1 + 20 | 0) >> 2] | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = 1048576; + HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] = i64toi32_i32$0; + label$3 : { + label$4 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + $22_1 = 0; + break label$3; + } + $22_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 44 | 0) >> 2] = $22_1; + break label$1; + } + $25_1 = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + $27_1 = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[$4_1 >> 2] = $27_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79($25_1 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 7; + break label$5; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $402(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, -1 | 0, $4_1 + 24 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$8 + } + label$9 : { + if (!(($287(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$9 + } + i64toi32_i32$0 = $318(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $228_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $228_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $213(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$7; + } + label$10 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) != (7 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + } + } + label$11 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$11 + } + i64toi32_i32$1 = 0; + $85$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $87$hi = i64toi32_i32$0; + i64toi32_i32$0 = $85$hi; + i64toi32_i32$0 = $87$hi; + i64toi32_i32$0 = $85$hi; + i64toi32_i32$0 = $87$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $85$hi; + i64toi32_i32$3 = 0; + label$12 : { + label$13 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$13 + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 48 | 0) >> 2] = 1048576; + HEAP32[(i64toi32_i32$0 + 52 | 0) >> 2] = i64toi32_i32$2; + break label$12; + } + i64toi32_i32$2 = 0; + $90$hi = i64toi32_i32$2; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $92$hi = i64toi32_i32$0; + i64toi32_i32$0 = $90$hi; + i64toi32_i32$0 = $92$hi; + i64toi32_i32$0 = $90$hi; + i64toi32_i32$0 = $92$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $90$hi; + i64toi32_i32$1 = 100; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { + $19_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $20_1 = 0 + } else { + $20_1 = 1 + } + $21_1 = $20_1; + } else { + $21_1 = 0 + } + $19_1 = $21_1; + } + label$14 : { + label$15 : { + if (!($19_1 & 1 | 0)) { + break label$15 + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $95_1 = i64toi32_i32$3; + $95$hi = i64toi32_i32$0; + break label$14; + } + i64toi32_i32$0 = 0; + $95_1 = 100; + $95$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $95$hi; + i64toi32_i32$3 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 48 | 0) >> 2] = $95_1; + HEAP32[(i64toi32_i32$3 + 52 | 0) >> 2] = i64toi32_i32$0; + } + } + $42(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + } + $79_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $79_1 | 0; + } + + function $2972($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, $44$hi = 0, $49$hi = 0, $46$hi = 0, $19_1 = 0, $20_1 = 0, $51$hi = 0, $167_1 = 0, $41_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = 0; + label$1 : { + if (!(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $44$hi = i64toi32_i32$0; + HEAP32[$4_1 >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $46$hi = i64toi32_i32$1; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $44$hi; + i64toi32_i32$3 = 0; + label$2 : { + label$3 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $331(HEAP32[$4_1 >> 2] | 0 | 0, 1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + break label$2; + } + $332(HEAP32[$4_1 >> 2] | 0 | 0, 1 | 0) | 0; + } + i64toi32_i32$1 = 0; + $49$hi = i64toi32_i32$1; + $19_1 = 2; + $20_1 = 0; + $325(HEAP32[$4_1 >> 2] | 0 | 0, $19_1 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, $20_1 | 0) | 0; + $287(HEAP32[$4_1 >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = $20_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[$4_1 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $332(HEAP32[$4_1 >> 2] | 0 | 0, $19_1 | 0) | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $51$hi = i64toi32_i32$2; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$2 = $51$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$0 = 0; + label$4 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$4 + } + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$3 = $451(HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $167_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] = $167_1; + HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] = i64toi32_i32$2; + $2974(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + } + $41_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $41_1 | 0; + } + + function $2973($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $36$hi = 0, i64toi32_i32$3 = 0, $38$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + i64toi32_i32$0 = 0; + $36$hi = i64toi32_i32$0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $38$hi = i64toi32_i32$1; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$3 = 0; + label$1 : { + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != ($36$hi | 0) | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) + (($2975(i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0) << 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 28 | 0; + continue label$3; + }; + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = 0; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $2974($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2975(HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 116 | 0) + ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return; + } + + function $2975($0_1, $0$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = global$0 - 16 | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $0_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + return (i64toi32_i32$0 >>> 0) % (97 >>> 0) | 0 | 0; + } + + function $2976($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = +$1_1; + $2_1 = $2_1 | 0; + var $5_1 = 0, $40_1 = 0, $41_1 = 0, i64toi32_i32$0 = 0, $86_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAPF64[($5_1 + 32 | 0) >> 3] = $1_1; + HEAP8[($5_1 + 31 | 0) >> 0] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) << 1 | 0) + 8 | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 24) | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + $40_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $41_1 = HEAP32[($40_1 + 24 | 0) >> 2] | 0; + HEAP32[($40_1 + 24 | 0) >> 2] = $41_1 + 1 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $41_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 24) | 0; + HEAPF64[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 3] = +HEAPF64[($5_1 + 32 | 0) >> 3]; + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 16 | 0) >> 0] = HEAPU8[($5_1 + 31 | 0) >> 0] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 20 | 0) >> 2] = ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) - 1 | 0 | 0) / (2 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 20 | 0) >> 2] | 0, 24) | 0; + label$6 : { + if (!(($2983(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + $2984(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + continue label$5; + }; + } + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + } + $86_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $86_1 | 0; + } + + function $2977($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $33$hi = 0, $34$hi = 0, $21_1 = 0, $33_1 = 0, $87_1 = 0, $29_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = HEAP32[(((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 116 | 0) + (($2975(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0) << 2 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : while (1) { + $21_1 = 0; + label$2 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $33_1 = i64toi32_i32$1; + $33$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + $34$hi = i64toi32_i32$1; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $34$hi; + $87_1 = i64toi32_i32$0; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$2 = $33_1; + i64toi32_i32$0 = $34$hi; + $21_1 = (i64toi32_i32$2 | 0) != ($87_1 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0; + } + label$3 : { + if (!($21_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + $29_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $29_1 | 0; + } + + function $2978($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : while (1) { + label$3 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] | 0; + if ((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + continue label$2 + } + break label$2; + }; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2979($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $11_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($11_1 + 16 | 0) >> 2] = (HEAP32[($11_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + return; + } + + function $2980($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, i64toi32_i32$0 = 0, $39_1 = 0, $91_1 = 0, $95_1 = 0, $106_1 = 0, $117_1 = 0, $128_1 = 0, $139_1 = 0, $254_1 = 0.0, $188_1 = 0, i64toi32_i32$1 = 0, $327_1 = 0, $219_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 144 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 132 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 128 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 124 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 120 | 0) >> 2] = $5_1; + HEAP32[($8_1 + 116 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[($8_1 + 112 | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (71 | 0) & 1 | 0)) { + break label$1 + } + if (!(((HEAPU8[((HEAP32[($8_1 + 128 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = $2917(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $327_1 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($8_1 + 116 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $327_1; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$1; + } + HEAP32[($8_1 + 132 | 0) >> 2] = (HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 8 | 0; + label$2 : { + label$3 : { + if (HEAP32[($8_1 + 136 | 0) >> 2] | 0) { + break label$3 + } + $39_1 = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + -4 | 0; + label$4 : { + switch ($39_1 | 0) { + case 6: + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 36 | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 88 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 32 | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 80 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + case 4: + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 28 | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 72 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 24 | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 64 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + case 2: + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 20 | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 56 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 16 | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 48 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + case 0: + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 12 | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 40 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 8 | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 32 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + break; + default: + break label$4; + }; + } + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 4 | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 24 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + $2916(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, $8_1 + 104 | 0 | 0); + HEAPF64[($8_1 + 16 | 0) >> 3] = +Math_fround(HEAPF32[($8_1 + 104 | 0) >> 2]); + break label$2; + } + $91_1 = (HEAP32[($8_1 + 112 | 0) >> 2] | 0) + -4 | 0; + label$9 : { + switch ($91_1 | 0) { + case 6: + $95_1 = $8_1 + 104 | 0; + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 36 | 0 | 0, $95_1 | 0); + HEAPF64[($8_1 + 88 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 32 | 0 | 0, $95_1 | 0); + HEAPF64[($8_1 + 80 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + case 4: + $106_1 = $8_1 + 104 | 0; + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 28 | 0 | 0, $106_1 | 0); + HEAPF64[($8_1 + 72 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 24 | 0 | 0, $106_1 | 0); + HEAPF64[($8_1 + 64 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + case 2: + $117_1 = $8_1 + 104 | 0; + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 20 | 0 | 0, $117_1 | 0); + HEAPF64[($8_1 + 56 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 16 | 0 | 0, $117_1 | 0); + HEAPF64[($8_1 + 48 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + case 0: + $128_1 = $8_1 + 104 | 0; + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 12 | 0 | 0, $128_1 | 0); + HEAPF64[($8_1 + 40 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 8 | 0 | 0, $128_1 | 0); + HEAPF64[($8_1 + 32 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + break; + default: + break label$9; + }; + } + $139_1 = $8_1 + 104 | 0; + $2916((HEAP32[($8_1 + 132 | 0) >> 2] | 0) + 4 | 0 | 0, $139_1 | 0); + HEAPF64[($8_1 + 24 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + $2916(HEAP32[($8_1 + 132 | 0) >> 2] | 0 | 0, $139_1 | 0); + HEAPF64[($8_1 + 16 | 0) >> 3] = +(HEAP32[($8_1 + 104 | 0) >> 2] | 0 | 0); + } + label$14 : { + label$15 : { + if (!((HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (70 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($8_1 + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 116 | 0) >> 2] | 0, HEAP32[($8_1 + 112 | 0) >> 2] | 0, $8_1 + 16 | 0, $8_1 + 12 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$16 + } + HEAP32[(HEAP32[($8_1 + 120 | 0) >> 2] | 0) >> 2] = 0; + } + HEAPF64[(HEAP32[($8_1 + 124 | 0) >> 2] | 0) >> 3] = +(0 | 0); + break label$14; + } + HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 20 | 0) >> 2] = $8_1 + 16 | 0; + HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 32 | 0) >> 2] = ((HEAPU8[((HEAP32[($8_1 + 128 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0) - 1 | 0; + $254_1 = +HEAPF64[(HEAP32[($8_1 + 128 | 0) >> 2] | 0) >> 3]; + HEAPF64[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 48 | 0) >> 3] = $254_1; + HEAPF64[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 64 | 0) >> 3] = $254_1; + $188_1 = (HEAPU8[((HEAP32[($8_1 + 128 | 0) >> 2] | 0) + 17 | 0) >> 0] | 0) & 255 | 0; + HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 56 | 0) >> 2] = $188_1; + HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 60 | 0) >> 2] = $188_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[($8_1 + 140 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0](HEAP32[($8_1 + 116 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!((HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($8_1 + 120 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[(HEAP32[($8_1 + 120 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + } + label$18 : { + label$19 : { + if (+HEAPF64[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 64 | 0) >> 3] < +HEAPF64[(HEAP32[($8_1 + 124 | 0) >> 2] | 0) >> 3] & 1 | 0) { + break label$19 + } + if (!(+HEAPF64[(HEAP32[($8_1 + 124 | 0) >> 2] | 0) >> 3] < +(0 | 0) & 1 | 0)) { + break label$18 + } + } + HEAPF64[(HEAP32[($8_1 + 124 | 0) >> 2] | 0) >> 3] = +HEAPF64[((HEAP32[($8_1 + 116 | 0) >> 2] | 0) + 64 | 0) >> 3]; + } + } + $219_1 = HEAP32[($8_1 + 108 | 0) >> 2] | 0; + global$0 = $8_1 + 144 | 0; + return $219_1 | 0; + } + + function $2981($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $71_1 = 0.0, $45_1 = 0; + $6_1 = global$0 - 32 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (((HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0) << 2 | 0) + 8 | 0) | 0; + HEAP32[$6_1 >> 2] = (((((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0) + (((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0) + (((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0) + ((HEAPU8[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($6_1 + 24 | 0) >> 2] | 0)) { + break label$2 + } + $71_1 = +(HEAP32[$6_1 >> 2] | 0 | 0); + break label$1; + } + $71_1 = +Math_fround(HEAPF32[$6_1 >> 2]); + } + HEAPF64[($6_1 + 8 | 0) >> 3] = $71_1; + $45_1 = (HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + -63 | 0; + label$3 : { + label$4 : { + label$5 : { + switch ($45_1 | 0) { + case 0: + break label$3; + case 1: + break label$4; + case 3: + label$12 : { + if (!(+HEAPF64[($6_1 + 8 | 0) >> 3] <= +HEAPF64[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 3] & 1 | 0)) { + break label$12 + } + break label$3; + } + break label$4; + case 4: + label$13 : { + if (!(+HEAPF64[($6_1 + 8 | 0) >> 3] < +HEAPF64[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 3] & 1 | 0)) { + break label$13 + } + break label$3; + } + break label$4; + case 5: + label$14 : { + if (!(+HEAPF64[($6_1 + 8 | 0) >> 3] >= +HEAPF64[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 3] & 1 | 0)) { + break label$14 + } + break label$3; + } + break label$4; + case 6: + label$15 : { + if (!(+HEAPF64[($6_1 + 8 | 0) >> 3] > +HEAPF64[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 3] & 1 | 0)) { + break label$15 + } + break label$3; + } + break label$4; + default: + break label$5; + }; + } + label$16 : { + if (!(+HEAPF64[($6_1 + 8 | 0) >> 3] == +HEAPF64[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 3] & 1 | 0)) { + break label$16 + } + break label$3; + } + } + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = 0; + } + return; + } + + function $2982($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $20_1 = 0, $100_1 = 0.0, $106_1 = 0.0; + $6_1 = global$0 - 48 | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 36 | 0) >> 2] = ((((HEAP32[(HEAP32[($6_1 + 44 | 0) >> 2] | 0) >> 2] | 0) & 254 | 0) << 2 | 0) + (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0) + 8 | 0; + $20_1 = (HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + -63 | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($20_1 | 0) { + case 0: + break label$1; + case 1: + break label$2; + case 2: + case 3: + case 4: + HEAP32[($6_1 + 16 | 0) >> 2] = (((((HEAPU8[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0) + (((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0) + (((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0) + ((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0; + label$7 : { + label$8 : { + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$8 + } + $100_1 = +(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + break label$7; + } + $100_1 = +Math_fround(HEAPF32[($6_1 + 16 | 0) >> 2]); + } + HEAPF64[($6_1 + 24 | 0) >> 3] = $100_1; + label$9 : { + if (!(+HEAPF64[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 3] >= +HEAPF64[($6_1 + 24 | 0) >> 3] & 1 | 0)) { + break label$9 + } + break label$1; + } + label$10 : { + if (!((HEAP32[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (65 | 0) & 1 | 0)) { + break label$10 + } + break label$2; + } + break; + default: + break label$3; + }; + } + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (((((HEAPU8[(HEAP32[($6_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 24 | 0) + (((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) << 16 | 0) | 0) + (((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0) << 8 | 0) | 0) + ((HEAPU8[((HEAP32[($6_1 + 36 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) | 0; + label$11 : { + label$12 : { + if (!(HEAP32[($6_1 + 40 | 0) >> 2] | 0)) { + break label$12 + } + $106_1 = +(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0); + break label$11; + } + $106_1 = +Math_fround(HEAPF32[($6_1 + 8 | 0) >> 2]); + } + HEAPF64[($6_1 + 24 | 0) >> 3] = $106_1; + label$13 : { + if (!(+HEAPF64[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 8 | 0) >> 3] <= +HEAPF64[($6_1 + 24 | 0) >> 3] & 1 | 0)) { + break label$13 + } + break label$1; + } + } + HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] = 0; + } + return; + } + + function $2983($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + if (!(+HEAPF64[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 3] < +HEAPF64[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 3] & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = -1; + break label$1; + } + label$3 : { + if (!(+HEAPF64[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 3] > +HEAPF64[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 3] & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) < ((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4_1 + 12 | 0) >> 2] = -1; + break label$1; + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) > ((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $2984($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $9_1 = 0, $27_1 = 0, $45_1 = 0, $15_1 = 0, $16_1 = 0, $19_1 = 0, $33_1 = 0, $34_1 = 0, $37_1 = 0, $46_1 = 0, $49_1 = 0, $161_1 = 0, $171_1 = 0, $181_1 = 0, $209_1 = 0, $219_1 = 0, $229_1 = 0, $245_1 = 0, $255_1 = 0, $265_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $9_1 = $5_1 + 8 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + $15_1 = (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 40 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = $15_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $161_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1; + HEAP32[i64toi32_i32$0 >> 2] = $161_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $16_1 = 16; + i64toi32_i32$2 = i64toi32_i32$2 + $16_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $171_1 = i64toi32_i32$1; + i64toi32_i32$1 = $9_1 + $16_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $171_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $19_1 = 8; + i64toi32_i32$2 = $15_1 + $19_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $181_1 = i64toi32_i32$0; + i64toi32_i32$0 = $9_1 + $19_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $181_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $27_1 = (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 40 | 0) >> 2] | 0, 24) | 0; + $33_1 = (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 36 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = $33_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $209_1 = i64toi32_i32$1; + i64toi32_i32$1 = $27_1; + HEAP32[i64toi32_i32$1 >> 2] = $209_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $34_1 = 16; + i64toi32_i32$2 = i64toi32_i32$2 + $34_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $219_1 = i64toi32_i32$0; + i64toi32_i32$0 = $27_1 + $34_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $219_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $37_1 = 8; + i64toi32_i32$2 = $33_1 + $37_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $229_1 = i64toi32_i32$1; + i64toi32_i32$1 = $27_1 + $37_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $229_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $45_1 = (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 36 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $245_1 = i64toi32_i32$0; + i64toi32_i32$0 = $45_1; + HEAP32[i64toi32_i32$0 >> 2] = $245_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $46_1 = 16; + i64toi32_i32$2 = i64toi32_i32$2 + $46_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $255_1 = i64toi32_i32$1; + i64toi32_i32$1 = $45_1 + $46_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $255_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $49_1 = 8; + i64toi32_i32$2 = $9_1 + $49_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $265_1 = i64toi32_i32$0; + i64toi32_i32$0 = $45_1 + $49_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $265_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = (HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 1 | 0; + label$1 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) < (5 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) >= (5 | 0) & 1 | 0)) { + break label$3 + } + $2945(HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0; + HEAP32[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + break label$2; + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($5_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[(((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + } + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $2985($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $10_1 = 0, $58_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + $10_1 = $2997(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + if (!((0 | 0) != ($10_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $2998(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!(($2912((HEAP32[((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0 | 0) < ((((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 4 | 0 | 0) / ((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) / (3 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2986(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2999(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + } + $58_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $58_1 | 0; + } + + function $2986($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $39_1 = 0, $55_1 = 0, $71_1 = 0, $256_1 = 0, $77_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3000(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2985(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2945(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (HEAP32[($5_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + } + label$3 : { + label$4 : { + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$3; + } + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $287(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) | 0; + $39_1 = $222(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $39_1; + label$5 : { + if (!((0 | 0) != ($39_1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$3; + } + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $287(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) | 0; + $55_1 = $222(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $55_1; + label$6 : { + if (!((0 | 0) != ($55_1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$3; + } + $2973(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $256_1 = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $256_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + $71_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($71_1 + 16 | 0) >> 2] = (HEAP32[($71_1 + 16 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $77_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $77_1 | 0; + } + + function $2987($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 8 | 0) & 255 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 0 | 0) & 255 | 0; + return; + } + + function $2988($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, $5_1 = 0, $13_1 = 0, $24_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $52_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 80 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 64 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2912((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4_1 + 68 | 0) >> 2] = $5_1; + label$1 : while (1) { + $13_1 = 0; + label$2 : { + if (HEAP32[($4_1 + 64 | 0) >> 2] | 0) { + break label$2 + } + $13_1 = (HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!($13_1 & 1 | 0)) { + break label$3 + } + $24_1 = $4_1 + 8 | 0; + $2913(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 68 | 0) >> 2] | 0 | 0, $24_1 | 0); + i64toi32_i32$2 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2960(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, $24_1 | 0, i64toi32_i32$0 | 0, $4_1 + 56 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($4_1 + 64 | 0) >> 2] | 0) { + break label$4 + } + i64toi32_i32$2 = HEAP32[($4_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2961(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2945(HEAP32[($4_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (HEAP32[($4_1 + 64 | 0) >> 2] | 0) { + break label$5 + } + HEAP32[($4_1 + 64 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + } + HEAP32[($4_1 + 68 | 0) >> 2] = (HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + $52_1 = HEAP32[($4_1 + 64 | 0) >> 2] | 0; + global$0 = $4_1 + 80 | 0; + return $52_1 | 0; + } + + function $2989($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5_1 = 0, $8_1 = 0, $9_1 = 0, $10_1 = 0, $13_1 = 0, $16_1 = 0, $19_1 = 0, $22_1 = 0, $61_1 = 0, $71_1 = 0, $81_1 = 0, $91_1 = 0, $101_1 = 0, $111_1 = 0, $40_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + $8_1 = $5_1 + 8 | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + $9_1 = HEAP32[($5_1 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $61_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1; + HEAP32[i64toi32_i32$0 >> 2] = $61_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $10_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $10_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $71_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1 + $10_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $71_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $13_1 = 32; + i64toi32_i32$2 = $9_1 + $13_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $81_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1 + $13_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $81_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $16_1 = 24; + i64toi32_i32$2 = $9_1 + $16_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $91_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1 + $16_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $91_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $19_1 = 16; + i64toi32_i32$2 = $9_1 + $19_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $101_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1 + $19_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $101_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $22_1 = 8; + i64toi32_i32$2 = $9_1 + $22_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $111_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1 + $22_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $111_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$2990(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, $8_1 | 0)), HEAPF64[(wasm2js_i32$0 + 56 | 0) >> 3] = wasm2js_f64$0; + $3001(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, $8_1 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + $40_1 = +$2990(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, $8_1 | 0) - +HEAPF64[($5_1 + 56 | 0) >> 3]; + global$0 = $5_1 + 80 | 0; + return +$40_1; + } + + function $2990($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$6 = 0, $12_1 = 0, $14_1 = 0, $19_1 = 0, $24_1 = 0, $29_1 = 0, $34_1 = 0, $40_1 = 0, $72$hi = 0, $73$hi = 0, $75$hi = 0, $76$hi = 0, $78$hi = 0, $79$hi = 0, $81$hi = 0, $82$hi = 0, $84$hi = 0, $85$hi = 0, $72_1 = 0, $297_1 = 0, $75_1 = 0, $318_1 = 0, $78_1 = 0, $344_1 = 0, $81_1 = 0, $370_1 = 0, $84_1 = 0, $396_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAPF64[$4_1 >> 3] = 1.0; + label$1 : { + label$2 : { + if ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + $12_1 = (HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) + -2 | 0; + label$3 : { + switch ($12_1 | 0) { + case 3: + $14_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAPF64[$4_1 >> 3] = +Math_fround(Math_fround(HEAPF32[($14_1 + 44 | 0) >> 2]) - Math_fround(HEAPF32[($14_1 + 40 | 0) >> 2])); + case 2: + $19_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAPF64[$4_1 >> 3] = +HEAPF64[$4_1 >> 3] * +Math_fround(Math_fround(HEAPF32[($19_1 + 36 | 0) >> 2]) - Math_fround(HEAPF32[($19_1 + 32 | 0) >> 2])); + case 1: + $24_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAPF64[$4_1 >> 3] = +HEAPF64[$4_1 >> 3] * +Math_fround(Math_fround(HEAPF32[($24_1 + 28 | 0) >> 2]) - Math_fround(HEAPF32[($24_1 + 24 | 0) >> 2])); + case 0: + $29_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAPF64[$4_1 >> 3] = +HEAPF64[$4_1 >> 3] * +Math_fround(Math_fround(HEAPF32[($29_1 + 20 | 0) >> 2]) - Math_fround(HEAPF32[($29_1 + 16 | 0) >> 2])); + break; + default: + break label$3; + }; + } + $34_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAPF64[$4_1 >> 3] = +HEAPF64[$4_1 >> 3] * +Math_fround(Math_fround(HEAPF32[($34_1 + 12 | 0) >> 2]) - Math_fround(HEAPF32[($34_1 + 8 | 0) >> 2])); + break label$1; + } + $40_1 = (HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) + -2 | 0; + label$8 : { + switch ($40_1 | 0) { + case 3: + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $72_1 = i64toi32_i32$1; + $72$hi = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $73$hi = i64toi32_i32$0; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$0 = $73$hi; + $297_1 = i64toi32_i32$1; + i64toi32_i32$0 = $72$hi; + i64toi32_i32$2 = $72_1; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$3 = $297_1; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$0 = 0; + HEAPF64[$4_1 >> 3] = +(i64toi32_i32$4 >>> 0) + 4294967296.0 * +(i64toi32_i32$5 | 0); + case 2: + i64toi32_i32$2 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $75_1 = i64toi32_i32$2; + $75$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $76$hi = i64toi32_i32$5; + i64toi32_i32$5 = $75$hi; + i64toi32_i32$5 = $76$hi; + $318_1 = i64toi32_i32$2; + i64toi32_i32$5 = $75$hi; + i64toi32_i32$0 = $75_1; + i64toi32_i32$2 = $76$hi; + i64toi32_i32$3 = $318_1; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$5 = 0; + HEAPF64[$4_1 >> 3] = +HEAPF64[$4_1 >> 3] * (+(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$4 | 0)); + case 1: + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $78_1 = i64toi32_i32$0; + $78$hi = i64toi32_i32$4; + i64toi32_i32$0 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $79$hi = i64toi32_i32$4; + i64toi32_i32$4 = $78$hi; + i64toi32_i32$4 = $79$hi; + $344_1 = i64toi32_i32$0; + i64toi32_i32$4 = $78$hi; + i64toi32_i32$5 = $78_1; + i64toi32_i32$0 = $79$hi; + i64toi32_i32$3 = $344_1; + i64toi32_i32$2 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$4 - i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$4 = 0; + HEAPF64[$4_1 >> 3] = +HEAPF64[$4_1 >> 3] * (+(i64toi32_i32$5 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0)); + case 0: + i64toi32_i32$5 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $81_1 = i64toi32_i32$5; + $81$hi = i64toi32_i32$1; + i64toi32_i32$5 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $82$hi = i64toi32_i32$1; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$1 = $82$hi; + $370_1 = i64toi32_i32$5; + i64toi32_i32$1 = $81$hi; + i64toi32_i32$4 = $81_1; + i64toi32_i32$5 = $82$hi; + i64toi32_i32$3 = $370_1; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$2 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$1 = 0; + HEAPF64[$4_1 >> 3] = +HEAPF64[$4_1 >> 3] * (+(i64toi32_i32$4 >>> 0) + 4294967296.0 * +(i64toi32_i32$2 | 0)); + break; + default: + break label$8; + }; + } + i64toi32_i32$4 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $84_1 = i64toi32_i32$4; + $84$hi = i64toi32_i32$2; + i64toi32_i32$4 = HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $85$hi = i64toi32_i32$2; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$2 = $85$hi; + $396_1 = i64toi32_i32$4; + i64toi32_i32$2 = $84$hi; + i64toi32_i32$1 = $84_1; + i64toi32_i32$4 = $85$hi; + i64toi32_i32$3 = $396_1; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$2 = 0; + HEAPF64[$4_1 >> 3] = +HEAPF64[$4_1 >> 3] * (+(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 | 0)); + } + return +(+HEAPF64[$4_1 >> 3]); + } + + function $2991($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $46_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 4 | 0 | 0) / ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2912((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $3002(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0); + $2987((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0 | 0); + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + } + $46_1 = (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0; + global$0 = $5_1 + 32 | 0; + return $46_1 | 0; + } + + function $2992($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $66_1 = 0, $7_1 = 0, $67_1 = 0, $301$hi = 0, $311$hi = 0, $312$hi = 0, $315$hi = 0, $323$hi = 0, $324$hi = 0, $327$hi = 0, $68_1 = 0, $71_1 = 0, $74_1 = 0, $77_1 = 0, $80_1 = 0, $309$hi = 0, $97_1 = 0, $111_1 = 0, $156_1 = 0, $169_1 = 0, $319$hi = 0, $203_1 = 0, $220_1 = 0, $329$hi = 0, $487_1 = 0, $497_1 = 0, $507_1 = 0, $517_1 = 0, $527_1 = 0, $537_1 = 0, $730_1 = 0, $761_1 = 0, $767_1 = 0, $917_1 = 0, $323_1 = 0, $942_1 = 0, $1010_1 = 0, $297_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 176 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 172 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 168 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 164 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 160 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 152 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 148 | 0) >> 2] = $7_1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2912((HEAP32[((HEAP32[($6_1 + 168 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 132 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 128 | 0) >> 2] = $7_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $41(Math_imul((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 1 | 0, 52) | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($6_1 + 148 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($6_1 + 136 | 0) >> 2] = (HEAP32[($6_1 + 140 | 0) >> 2] | 0) + Math_imul((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 1 | 0, 48) | 0; + $3289(HEAP32[($6_1 + 136 | 0) >> 2] | 0 | 0, 0 | 0, ((HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 1 | 0) << 2 | 0 | 0) | 0; + HEAP32[($6_1 + 156 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 144 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $2913(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 140 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 156 | 0) >> 2] | 0, 48) | 0 | 0); + HEAP32[($6_1 + 156 | 0) >> 2] = (HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + i64toi32_i32$0 = 0; + $301$hi = i64toi32_i32$0; + $3005(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0); + $66_1 = (HEAP32[($6_1 + 140 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 144 | 0) >> 2] | 0, 48) | 0; + $67_1 = HEAP32[($6_1 + 164 | 0) >> 2] | 0; + i64toi32_i32$2 = $67_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $487_1 = i64toi32_i32$0; + i64toi32_i32$0 = $66_1; + HEAP32[i64toi32_i32$0 >> 2] = $487_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $68_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $68_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $497_1 = i64toi32_i32$1; + i64toi32_i32$1 = $66_1 + $68_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $497_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $71_1 = 32; + i64toi32_i32$2 = $67_1 + $71_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $507_1 = i64toi32_i32$0; + i64toi32_i32$0 = $66_1 + $71_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $507_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $74_1 = 24; + i64toi32_i32$2 = $67_1 + $74_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $517_1 = i64toi32_i32$1; + i64toi32_i32$1 = $66_1 + $74_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $517_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $77_1 = 16; + i64toi32_i32$2 = $67_1 + $77_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $527_1 = i64toi32_i32$0; + i64toi32_i32$0 = $66_1 + $77_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $527_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $80_1 = 8; + i64toi32_i32$2 = $67_1 + $80_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $537_1 = i64toi32_i32$1; + i64toi32_i32$1 = $66_1 + $80_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $537_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 144 | 0) >> 2] = (HEAP32[($6_1 + 144 | 0) >> 2] | 0) + 1 | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $309$hi = i64toi32_i32$1; + i64toi32_i32$1 = $301$hi; + i64toi32_i32$1 = $309$hi; + i64toi32_i32$1 = $301$hi; + i64toi32_i32$1 = $309$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $301$hi; + i64toi32_i32$3 = 1; + label$5 : { + label$6 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3006(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3006(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + $97_1 = HEAP32[($6_1 + 172 | 0) >> 2] | 0; + HEAP32[($97_1 + 28 | 0) >> 2] = (HEAP32[($97_1 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($6_1 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + $2987(HEAP32[((HEAP32[($6_1 + 168 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6_1 + 172 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + break label$5; + } + HEAP32[($6_1 + 132 | 0) >> 2] = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3006(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 132 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + $111_1 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + HEAP32[($111_1 + 16 | 0) >> 2] = (HEAP32[($111_1 + 16 | 0) >> 2] | 0) + 1 | 0; + } + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + if ((HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + } + HEAP32[($6_1 + 148 | 0) >> 2] = 7; + break label$1; + } + $3289(HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($6_1 + 172 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + $3289(HEAP32[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($6_1 + 172 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3007(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0, $6_1 + 80 | 0 | 0, $6_1 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (!(HEAP32[($6_1 + 148 | 0) >> 2] | 0)) { + break label$9 + } + break label$1; + } + $156_1 = $2972(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 148 | 0) >> 2] = $156_1; + label$10 : { + label$11 : { + if ((0 | 0) != ($156_1 | 0) & 1 | 0) { + break label$11 + } + i64toi32_i32$2 = 0; + $311$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $312$hi = i64toi32_i32$1; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$1 = $312$hi; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$1 = $312$hi; + $730_1 = i64toi32_i32$2; + i64toi32_i32$1 = $311$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = $312$hi; + i64toi32_i32$0 = $730_1; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$10 + } + $169_1 = $2972(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6_1 + 148 | 0) >> 2] = $169_1; + if (!((0 | 0) != ($169_1 | 0) & 1 | 0)) { + break label$10 + } + } + break label$1; + } + i64toi32_i32$3 = 0; + $315$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($6_1 + 128 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $761_1 = i64toi32_i32$3; + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $761_1; + HEAP32[($6_1 + 36 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($6_1 + 132 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $767_1 = i64toi32_i32$1; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 80 | 0) >> 2] = $767_1; + HEAP32[($6_1 + 84 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $319$hi = i64toi32_i32$1; + i64toi32_i32$1 = $315$hi; + i64toi32_i32$1 = $319$hi; + i64toi32_i32$1 = $315$hi; + i64toi32_i32$1 = $319$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $315$hi; + i64toi32_i32$2 = 1; + label$12 : { + label$13 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2961(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 132 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 + 80 | 0 | 0, (HEAP32[($6_1 + 160 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!(HEAP32[($6_1 + 148 | 0) >> 2] | 0)) { + break label$14 + } + break label$1; + } + break label$12; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 132 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3000(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, $6_1 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (HEAP32[($6_1 + 148 | 0) >> 2] | 0) { + break label$15 + } + $203_1 = $6_1 + 80 | 0; + $3002(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, $203_1 | 0, HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2994(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, $203_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + } + label$16 : { + if (!(HEAP32[($6_1 + 148 | 0) >> 2] | 0)) { + break label$16 + } + break label$1; + } + } + $220_1 = $2961(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6_1 + 128 | 0) >> 2] | 0) >> 2] | 0 | 0, $6_1 + 32 | 0 | 0, (HEAP32[($6_1 + 160 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + HEAP32[($6_1 + 148 | 0) >> 2] = $220_1; + label$17 : { + if (!$220_1) { + break label$17 + } + break label$1; + } + HEAP32[($6_1 + 156 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0) < ($2912((HEAP32[((HEAP32[($6_1 + 128 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$18 + } + i64toi32_i32$0 = $2915(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $917_1 = i64toi32_i32$0; + i64toi32_i32$0 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $917_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3008(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $323_1 = i64toi32_i32$0; + $323$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 164 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $324$hi = i64toi32_i32$0; + i64toi32_i32$0 = $323$hi; + i64toi32_i32$0 = $324$hi; + i64toi32_i32$0 = $323$hi; + i64toi32_i32$0 = $324$hi; + $942_1 = i64toi32_i32$1; + i64toi32_i32$0 = $323$hi; + i64toi32_i32$2 = $323_1; + i64toi32_i32$1 = $324$hi; + i64toi32_i32$3 = $942_1; + label$20 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($6_1 + 152 | 0) >> 2] = 1; + } + label$21 : { + if (!(HEAP32[($6_1 + 148 | 0) >> 2] | 0)) { + break label$21 + } + break label$1; + } + HEAP32[($6_1 + 156 | 0) >> 2] = (HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + i64toi32_i32$2 = 0; + $327$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($6_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $329$hi = i64toi32_i32$0; + i64toi32_i32$0 = $327$hi; + i64toi32_i32$0 = $329$hi; + i64toi32_i32$0 = $327$hi; + i64toi32_i32$0 = $329$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $327$hi; + i64toi32_i32$1 = 1; + label$22 : { + label$23 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($6_1 + 156 | 0) >> 2] = 0; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0) < ($2912((HEAP32[((HEAP32[($6_1 + 132 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$24 + } + i64toi32_i32$3 = $2915(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 156 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1010_1 = i64toi32_i32$3; + i64toi32_i32$3 = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1010_1; + HEAP32[($6_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3008(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$3 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (!(HEAP32[($6_1 + 148 | 0) >> 2] | 0)) { + break label$26 + } + break label$1; + } + HEAP32[($6_1 + 156 | 0) >> 2] = (HEAP32[($6_1 + 156 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + break label$22; + } + label$27 : { + if (HEAP32[($6_1 + 152 | 0) >> 2] | 0) { + break label$27 + } + i64toi32_i32$1 = HEAP32[($6_1 + 164 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3008(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 160 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + } + } + label$28 : { + if (HEAP32[($6_1 + 148 | 0) >> 2] | 0) { + break label$28 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2945(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 128 | 0) >> 2] = 0; + } + label$29 : { + if (HEAP32[($6_1 + 148 | 0) >> 2] | 0) { + break label$29 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2945(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 132 | 0) >> 2] = 0; + } + } + $2945(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 128 | 0) >> 2] | 0 | 0) | 0; + $2945(HEAP32[($6_1 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 132 | 0) >> 2] | 0 | 0) | 0; + $42(HEAP32[($6_1 + 140 | 0) >> 2] | 0 | 0); + $297_1 = HEAP32[($6_1 + 148 | 0) >> 2] | 0; + global$0 = $6_1 + 176 | 0; + return $297_1 | 0; + } + + function $2993($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $79_1 = 0, $446_1 = 0, $80_1 = 0, $10_1 = 0, $454$hi = 0, $455$hi = 0, $7_1 = 0, $81_1 = 0, $84_1 = 0, $87_1 = 0, $90_1 = 0, $93_1 = 0, $467_1 = 0.0, $156_1 = 0, $473_1 = 0.0, $194_1 = 0, $214_1 = 0, $235_1 = 0, $485_1 = 0.0, $489_1 = 0.0, $313_1 = 0, $326_1 = 0, $342_1 = 0, $458$hi = 0, $459$hi = 0, $460$hi = 0, $461$hi = 0, $401_1 = 0, $676_1 = 0, $686_1 = 0, $696_1 = 0, $706_1 = 0, $716_1 = 0, $726_1 = 0, $487_1 = 0.0, $454_1 = 0, $1391_1 = 0, $458_1 = 0, $1413_1 = 0, $460_1 = 0, $1429_1 = 0, $443_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 128 | 0; + global$0 = $6_1; + $7_1 = 0; + $10_1 = $6_1 + 48 | 0; + HEAP32[($6_1 + 120 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 116 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 112 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 108 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $7_1; + i64toi32_i32$0 = 0; + $446_1 = 0; + i64toi32_i32$1 = $10_1; + HEAP32[i64toi32_i32$1 >> 2] = $446_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $446_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $10_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $446_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $10_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $446_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $10_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $446_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = ($2912((HEAP32[((HEAP32[($6_1 + 116 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0) + 1 | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 32 | 0) >> 2] = ((HEAP32[($6_1 + 88 | 0) >> 2] | 0) + 1 | 0) & -2 | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $41((HEAP32[($6_1 + 32 | 0) >> 2] | 0) << 6 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0) != ($7_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($6_1 + 124 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($6_1 + 104 | 0) >> 2] = (HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 32 | 0) >> 2] | 0, 48) | 0; + HEAP32[($6_1 + 100 | 0) >> 2] = (HEAP32[($6_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($6_1 + 92 | 0) >> 2] = (HEAP32[($6_1 + 100 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 32 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == ((HEAP32[($6_1 + 88 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$6 + } + $79_1 = (HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0; + $80_1 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$2 = $80_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $676_1 = i64toi32_i32$0; + i64toi32_i32$0 = $79_1; + HEAP32[i64toi32_i32$0 >> 2] = $676_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $81_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $81_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $686_1 = i64toi32_i32$1; + i64toi32_i32$1 = $79_1 + $81_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $686_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $84_1 = 32; + i64toi32_i32$2 = $80_1 + $84_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $696_1 = i64toi32_i32$0; + i64toi32_i32$0 = $79_1 + $84_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $696_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $87_1 = 24; + i64toi32_i32$2 = $80_1 + $87_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $706_1 = i64toi32_i32$1; + i64toi32_i32$1 = $79_1 + $87_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $706_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $90_1 = 16; + i64toi32_i32$2 = $80_1 + $90_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $716_1 = i64toi32_i32$0; + i64toi32_i32$0 = $79_1 + $90_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $716_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $93_1 = 8; + i64toi32_i32$2 = $80_1 + $93_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $726_1 = i64toi32_i32$1; + i64toi32_i32$1 = $79_1 + $93_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $726_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$5; + } + $2913(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0 | 0); + } + HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + label$9 : { + label$10 : { + if ((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$10 + } + $467_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0) + 8 | 0) >> 2]); + break label$9; + } + $467_1 = +(HEAP32[((((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0) + 8 | 0) + (((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $156_1 = ($6_1 + 48 | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAPF64[$156_1 >> 3] = +HEAPF64[$156_1 >> 3] + $467_1; + label$11 : { + label$12 : { + if ((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + $473_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) + ((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0) | 0) + 12 | 0) >> 2]); + break label$11; + } + $473_1 = +(HEAP32[((((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0) + 8 | 0) + ((((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $194_1 = ($6_1 + 48 | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAPF64[$194_1 >> 3] = +HEAPF64[$194_1 >> 3] + $473_1; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($6_1 + 44 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$13 + } + $214_1 = $6_1 + 48 | 0; + HEAPF64[($214_1 + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3] = +HEAPF64[($214_1 + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3] / (+(HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0) * 2.0); + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + $235_1 = 0; + HEAPF64[((HEAP32[($6_1 + 92 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3] = +($235_1 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = $235_1; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$17 + } + label$19 : { + label$20 : { + if ((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$20 + } + $485_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) + ((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0) | 0) + 12 | 0) >> 2]); + break label$19; + } + $485_1 = +(HEAP32[((((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0) + 8 | 0) + ((((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $487_1 = $485_1; + label$21 : { + label$22 : { + if ((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$22 + } + $489_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0) + 8 | 0) >> 2]); + break label$21; + } + $489_1 = +(HEAP32[((((HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 40 | 0) >> 2] | 0, 48) | 0) + 8 | 0) + (((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $313_1 = $6_1 + 48 | 0; + HEAPF64[($6_1 + 24 | 0) >> 3] = $487_1 - $489_1; + $326_1 = (HEAP32[($6_1 + 92 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAPF64[$326_1 >> 3] = +HEAPF64[$326_1 >> 3] + (+HEAPF64[($6_1 + 24 | 0) >> 3] - +HEAPF64[($313_1 + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3]) * (+HEAPF64[($6_1 + 24 | 0) >> 3] - +HEAPF64[($313_1 + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3]); + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + $3009(HEAP32[($6_1 + 104 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 100 | 0) >> 2] | 0 | 0); + $3005(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 40 | 0) >> 2] = 0; + label$23 : while (1) { + $342_1 = 0; + label$24 : { + if (HEAP32[($6_1 + 36 | 0) >> 2] | 0) { + break label$24 + } + $342_1 = (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) < ((HEAP32[($6_1 + 88 | 0) >> 2] | 0) - (((((HEAP32[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 4 | 0 | 0) / ((HEAPU8[((HEAP32[($6_1 + 120 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) / (3 | 0) | 0) + 1 | 0) | 0 | 0); + } + label$25 : { + if (!($342_1 & 1 | 0)) { + break label$25 + } + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0; + $2991(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $454_1 = i64toi32_i32$0; + $454$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($6_1 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $455$hi = i64toi32_i32$0; + i64toi32_i32$0 = $454$hi; + i64toi32_i32$0 = $455$hi; + i64toi32_i32$0 = $454$hi; + i64toi32_i32$0 = $455$hi; + $1391_1 = i64toi32_i32$1; + i64toi32_i32$0 = $454$hi; + i64toi32_i32$2 = $454_1; + i64toi32_i32$1 = $455$hi; + i64toi32_i32$3 = $1391_1; + label$26 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$26 + } + label$27 : { + label$28 : { + if (HEAP32[($6_1 + 108 | 0) >> 2] | 0) { + break label$28 + } + i64toi32_i32$3 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $458_1 = i64toi32_i32$2; + $458$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $459$hi = i64toi32_i32$2; + i64toi32_i32$2 = $458$hi; + i64toi32_i32$2 = $459$hi; + $1413_1 = i64toi32_i32$0; + i64toi32_i32$2 = $458$hi; + i64toi32_i32$0 = $459$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2995(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, $458_1 | 0, i64toi32_i32$2 | 0, $1413_1 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + break label$27; + } + i64toi32_i32$3 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $460_1 = i64toi32_i32$0; + $460$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($6_1 + 116 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $461$hi = i64toi32_i32$0; + i64toi32_i32$0 = $460$hi; + i64toi32_i32$0 = $461$hi; + $1429_1 = i64toi32_i32$2; + i64toi32_i32$0 = $460$hi; + i64toi32_i32$2 = $461$hi; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2996(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, $460_1 | 0, i64toi32_i32$0 | 0, $1429_1 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + } + break label$23; + }; + label$29 : { + if (HEAP32[($6_1 + 36 | 0) >> 2] | 0) { + break label$29 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2999(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + label$30 : while (1) { + $401_1 = 0; + label$31 : { + if (HEAP32[($6_1 + 36 | 0) >> 2] | 0) { + break label$31 + } + $401_1 = (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 88 | 0) >> 2] | 0 | 0); + } + label$32 : { + if (!($401_1 & 1 | 0)) { + break label$32 + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($6_1 + 104 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2960(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0, $6_1 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$33 : { + if (HEAP32[($6_1 + 36 | 0) >> 2] | 0) { + break label$33 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2961(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2945(HEAP32[($6_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$34 : { + if (HEAP32[($6_1 + 36 | 0) >> 2] | 0) { + break label$34 + } + HEAP32[($6_1 + 36 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + } + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$30; + } + break label$30; + }; + $42(HEAP32[($6_1 + 96 | 0) >> 2] | 0 | 0); + HEAP32[($6_1 + 124 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + $443_1 = HEAP32[($6_1 + 124 | 0) >> 2] | 0; + global$0 = $6_1 + 128 | 0; + return $443_1 | 0; + } + + function $2994($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $21_1 = 0, $36_1 = 0, $45_1 = 0, $53_1 = 0; + $5_1 = global$0 - 96 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 88 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 84 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 80 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[(HEAP32[($5_1 + 76 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 68 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + $21_1 = (HEAP32[($5_1 + 72 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 72 | 0) >> 2] = $21_1; + label$4 : { + label$5 : { + if (($21_1 | 0) > (1e3 | 0) & 1 | 0) { + break label$5 + } + if (!($3000(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, $5_1 + 12 | 0 | 0) | 0)) { + break label$4 + } + } + HEAP32[($5_1 + 92 | 0) >> 2] = 267; + break label$1; + } + $36_1 = $5_1 + 16 | 0; + $2913(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $36_1 | 0); + label$6 : { + if ($3010(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, $36_1 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0) | 0) { + break label$6 + } + $45_1 = $5_1 + 16 | 0; + $3001(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, $45_1 | 0, HEAP32[($5_1 + 80 | 0) >> 2] | 0 | 0); + $3002(HEAP32[($5_1 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0, $45_1 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($5_1 + 76 | 0) >> 2] = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + continue label$3; + }; + } + HEAP32[($5_1 + 92 | 0) >> 2] = 0; + } + $53_1 = HEAP32[($5_1 + 92 | 0) >> 2] | 0; + global$0 = $5_1 + 96 | 0; + return $53_1 | 0; + } + + function $2995($0_1, $1_1, $1$hi, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $16_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0, 2 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $287(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) | 0; + $16_1 = $222(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 32 | 0; + return $16_1 | 0; + } + + function $2996($0_1, $1_1, $1$hi, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $16_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0, 2 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + $287(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) | 0; + $16_1 = $222(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) | 0; + global$0 = $5_1 + 32 | 0; + return $16_1 | 0; + } + + function $2997($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, $9_1 = 0, $90$hi = 0, $96$hi = 0, $97$hi = 0, $92$hi = 0, $51_1 = 0, $193_1 = 0, $96_1 = 0, $220_1 = 0, $87_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$1 : while (1) { + $9_1 = 0; + label$2 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$2 + } + i64toi32_i32$0 = 0; + $90$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $92$hi = i64toi32_i32$1; + i64toi32_i32$1 = $90$hi; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$1 = $90$hi; + i64toi32_i32$1 = $92$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $90$hi; + i64toi32_i32$3 = 1; + $9_1 = 0; + if (!(((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + $9_1 = (HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($9_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + i64toi32_i32$3 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $331(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, 1 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $287(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (100 | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$1 = $318(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $193_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $193_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + label$5 : while (1) { + $51_1 = 0; + label$6 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $96_1 = i64toi32_i32$2; + $96$hi = i64toi32_i32$1; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $97$hi = i64toi32_i32$2; + i64toi32_i32$2 = $96$hi; + i64toi32_i32$2 = $97$hi; + i64toi32_i32$2 = $96$hi; + i64toi32_i32$2 = $97$hi; + $220_1 = i64toi32_i32$1; + i64toi32_i32$2 = $96$hi; + i64toi32_i32$3 = $96_1; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$0 = $220_1; + $51_1 = (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | 0; + } + label$7 : { + if (!($51_1 & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + continue label$5; + } + break label$5; + }; + label$8 : { + if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2942(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0, 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $222(HEAP32[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$9 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + label$10 : { + if (HEAP32[($4_1 + 20 | 0) >> 2] | 0) { + break label$10 + } + if ((HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + HEAP32[($4_1 + 20 | 0) >> 2] = 267; + } + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 2] | 0; + continue label$1; + } + break label$1; + }; + $87_1 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $87_1 | 0; + } + + function $2998($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (Math_imul((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + ((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = Math_imul((($2912((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0) - (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) - 1 | 0, (HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0)), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $3290(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $2987((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0, ($2912((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0) - 1 | 0 | 0); + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + global$0 = $5_1 + 32 | 0; + return; + } + + function $2999($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $38_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $63_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 128 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 124 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 120 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 116 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 120 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4_1 + 112 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2912((HEAP32[((HEAP32[($4_1 + 120 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + $2913(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, 0 | 0, $4_1 + 56 | 0 | 0); + HEAP32[($4_1 + 108 | 0) >> 2] = 1; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0) < (HEAP32[($4_1 + 104 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $38_1 = $4_1 + 8 | 0; + $2913(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, $38_1 | 0); + $3001(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, $4_1 + 56 | 0 | 0, $38_1 | 0); + HEAP32[($4_1 + 108 | 0) >> 2] = (HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + i64toi32_i32$2 = HEAP32[($4_1 + 120 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + HEAP32[($4_1 + 60 | 0) >> 2] = i64toi32_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3000(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 120 | 0) >> 2] | 0 | 0, $4_1 + 108 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (HEAP32[($4_1 + 112 | 0) >> 2] | 0) { + break label$4 + } + $3002(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0, $4_1 + 56 | 0 | 0, HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $2999(HEAP32[($4_1 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 116 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + } + } + $63_1 = HEAP32[($4_1 + 112 | 0) >> 2] | 0; + global$0 = $4_1 + 128 | 0; + return $63_1 | 0; + } + + function $3000($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $23_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $2941(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = -1; + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $23_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $23_1 | 0; + } + + function $3001($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $228_1 = Math_fround(0), $234_1 = Math_fround(0), $139_1 = 0, $191_1 = 0; + $5_1 = global$0 - 16 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = 0; + label$1 : { + label$2 : { + if ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$2 + } + label$3 : while (1) { + label$4 : { + label$5 : { + if (!(Math_fround(HEAPF32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2]) < Math_fround(HEAPF32[(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$5 + } + $228_1 = Math_fround(HEAPF32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2]); + break label$4; + } + $228_1 = Math_fround(HEAPF32[(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2]); + } + HEAPF32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] = $228_1; + label$6 : { + label$7 : { + if (!(Math_fround(HEAPF32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2]) > Math_fround(HEAPF32[(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$7 + } + $234_1 = Math_fround(HEAPF32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2]); + break label$6; + } + $234_1 = Math_fround(HEAPF32[(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2]); + } + HEAPF32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $234_1; + HEAP32[$5_1 >> 2] = (HEAP32[$5_1 >> 2] | 0) + 2 | 0; + if ((HEAP32[$5_1 >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + continue label$3 + } + break label$3; + }; + break label$1; + } + label$8 : while (1) { + label$9 : { + label$10 : { + if (!((HEAP32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) < (HEAP32[(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $139_1 = HEAP32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$9; + } + $139_1 = HEAP32[(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[$5_1 >> 2] | 0) << 2 | 0) | 0) >> 2] = $139_1; + label$11 : { + label$12 : { + if (!((HEAP32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) > (HEAP32[(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $191_1 = HEAP32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + break label$11; + } + $191_1 = HEAP32[(((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[$5_1 >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $191_1; + HEAP32[$5_1 >> 2] = (HEAP32[$5_1 >> 2] | 0) + 2 | 0; + if ((HEAP32[$5_1 >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0) { + continue label$8 + } + break label$8; + }; + } + return; + } + + function $3002($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $21_1 = 0, $42_1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + (Math_imul((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0) + 4 | 0) | 0; + i64toi32_i32$2 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $21_1 = $3003(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[i64toi32_i32$2 >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + $21_1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $42_1 = $3004(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, ((HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0; + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[($6_1 + 8 | 0) >> 2] | 0) + $42_1 | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + global$0 = $6_1 + 32 | 0; + return; + } + + function $3003($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $4_1 = 0, $22$hi = 0, $23$hi = 0, $42_1 = 0, $24$hi = 0, $25$hi = 0, $27$hi = 0, $28$hi = 0, $43_1 = 0, $29$hi = 0, $30$hi = 0, $32$hi = 0, $33$hi = 0, $44_1 = 0, $34$hi = 0, $35$hi = 0, $37$hi = 0, $38$hi = 0, $45_1 = 0, $39$hi = 0, $40$hi = 0, $42$hi = 0, $43$hi = 0, $46_1 = 0, $44$hi = 0, $45$hi = 0, $47$hi = 0, $48$hi = 0, $47_1 = 0, $49$hi = 0, $50$hi = 0, $52$hi = 0, $53$hi = 0, $48_1 = 0, $54$hi = 0, $55$hi = 0, $57$hi = 0, $58$hi = 0, $49_1 = 0, $59$hi = 0, $60$hi = 0, $5_1 = 0; + $4_1 = global$0 - 16 | 0; + $5_1 = 8; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4_1; + HEAP32[i64toi32_i32$1 >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $22$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $23$hi = i64toi32_i32$1; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $23$hi; + i64toi32_i32$3 = 56; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $42_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $42_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $24$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $25$hi = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$1 = $42_1; + i64toi32_i32$2 = $25$hi; + i64toi32_i32$3 = 255; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + HEAP8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $27$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $28$hi; + i64toi32_i32$3 = 48; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $43_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $43_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $29$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $30$hi = i64toi32_i32$2; + i64toi32_i32$2 = $29$hi; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$2 = $29$hi; + i64toi32_i32$1 = $43_1; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$3 = 255; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $33$hi = i64toi32_i32$1; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$3 = 40; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $44_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $44_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $34$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $35$hi = i64toi32_i32$0; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$0 = $35$hi; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$1 = $44_1; + i64toi32_i32$2 = $35$hi; + i64toi32_i32$3 = 255; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $37$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $38$hi = i64toi32_i32$1; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$1 = $38$hi; + i64toi32_i32$1 = $37$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $38$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $45_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $45_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $39$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $40$hi = i64toi32_i32$2; + i64toi32_i32$2 = $39$hi; + i64toi32_i32$2 = $40$hi; + i64toi32_i32$2 = $39$hi; + i64toi32_i32$1 = $45_1; + i64toi32_i32$0 = $40$hi; + i64toi32_i32$3 = 255; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $42$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $43$hi = i64toi32_i32$1; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$1 = $42$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$3 = 24; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $46_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $46_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $44$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $45$hi = i64toi32_i32$0; + i64toi32_i32$0 = $44$hi; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$0 = $44$hi; + i64toi32_i32$1 = $46_1; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$3 = 255; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $47$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$3 = 16; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $47_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $47_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $49$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $50$hi = i64toi32_i32$2; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$1 = $47_1; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$3 = 255; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $52$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $53$hi = i64toi32_i32$1; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$1 = $52$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $53$hi; + i64toi32_i32$3 = 8; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $48_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $48_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $54$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $55$hi = i64toi32_i32$0; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$0 = $55$hi; + i64toi32_i32$0 = $54$hi; + i64toi32_i32$1 = $48_1; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$3 = 255; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 6 | 0) >> 0] = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $57$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $58$hi = i64toi32_i32$1; + i64toi32_i32$1 = $57$hi; + i64toi32_i32$1 = $58$hi; + i64toi32_i32$1 = $57$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $49_1 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$4 | 0; + $49_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $59$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $60$hi = i64toi32_i32$2; + i64toi32_i32$2 = $59$hi; + i64toi32_i32$2 = $60$hi; + i64toi32_i32$2 = $59$hi; + i64toi32_i32$1 = $49_1; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$3 = 255; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 7 | 0) >> 0] = i64toi32_i32$1 & i64toi32_i32$3 | 0; + return $5_1 | 0; + } + + function $3004($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] = ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 24 | 0) & 255 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] = ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 16 | 0) & 255 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] = ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 8 | 0) & 255 | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] = ((HEAP32[($4_1 + 4 | 0) >> 2] | 0) >>> 0 | 0) & 255 | 0; + return 4 | 0; + } + + function $3005($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $3289((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 2 | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 2 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + global$0 = $4_1 + 16 | 0; + return; + } + + function $3006($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $18_1 = 0, $30_1 = 0, i64toi32_i32$0 = 0, $38_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 32 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $18_1 = 1; + $3289(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, 0 | 0, (HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 32 | 0 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 32 | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = $18_1; + $30_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[($30_1 + 60 | 0) >> 2] = (HEAP32[($30_1 + 60 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] = $18_1; + $2979(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + $38_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $38_1 | 0; + } + + function $3007($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $9_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $163_1 = 0, $166_1 = 0, $334_1 = 0, $361_1 = 0, $177_1 = 0, $209_1 = 0, $345_1 = 0, $376_1 = 0, $10_1 = 0, $478_1 = 0.0, $284_1 = 0, $287_1 = 0, $129_1 = 0, $178_1 = 0, $181_1 = 0, $184_1 = 0, $187_1 = 0, $190_1 = 0, $210_1 = 0, $213_1 = 0, $216_1 = 0, $219_1 = 0, $222_1 = 0, $346_1 = 0, $349_1 = 0, $352_1 = 0, $355_1 = 0, $358_1 = 0, $377_1 = 0, $380_1 = 0, $383_1 = 0, $386_1 = 0, $389_1 = 0, $407_1 = 0, $418_1 = 0, $883_1 = 0, $893_1 = 0, $903_1 = 0, $913_1 = 0, $923_1 = 0, $933_1 = 0, $970_1 = 0, $980_1 = 0, $990_1 = 0, $1000_1 = 0, $1010_1 = 0, $1020_1 = 0, $479_1 = 0.0, $482_1 = 0.0, $1342_1 = 0, $1352_1 = 0, $1362_1 = 0, $1372_1 = 0, $1382_1 = 0, $1392_1 = 0, $1428_1 = 0, $1438_1 = 0, $1448_1 = 0, $1458_1 = 0, $1468_1 = 0, $1478_1 = 0, $447_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f64$0 = 0.0; + $9_1 = global$0 - 256 | 0; + global$0 = $9_1; + $10_1 = 0; + HEAP32[($9_1 + 248 | 0) >> 2] = $0_1; + HEAP32[($9_1 + 244 | 0) >> 2] = $1_1; + HEAP32[($9_1 + 240 | 0) >> 2] = $2_1; + HEAP32[($9_1 + 236 | 0) >> 2] = $3_1; + HEAP32[($9_1 + 232 | 0) >> 2] = $4_1; + HEAP32[($9_1 + 228 | 0) >> 2] = $5_1; + HEAP32[($9_1 + 224 | 0) >> 2] = $6_1; + HEAP32[($9_1 + 208 | 0) >> 2] = $10_1; + HEAP32[($9_1 + 204 | 0) >> 2] = $10_1; + HEAPF64[($9_1 + 192 | 0) >> 3] = +($10_1 | 0); + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $9_1; + HEAP32[($9_1 + 184 | 0) >> 2] = Math_imul(((HEAPU8[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) + 1 | 0, ((HEAP32[($9_1 + 240 | 0) >> 2] | 0) << 2 | 0) + 4 | 0); + HEAP32[($9_1 + 188 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$0 = HEAP32[($9_1 + 184 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9_1 + 188 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9_1, wasm2js_i32$1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAP32[($9_1 + 220 | 0) >> 2] | 0 | 0) != ($10_1 | 0) & 1 | 0) { + break label$2 + } + HEAP32[($9_1 + 252 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($9_1 + 216 | 0) >> 2] = ((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0) + (Math_imul((HEAPU8[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0, HEAP32[($9_1 + 240 | 0) >> 2] | 0) << 2 | 0) | 0; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = HEAP32[($9_1 + 184 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9_1 + 188 | 0) >> 2] | 0; + $3289(HEAP32[($9_1 + 220 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0; + HEAP32[($9_1 + 212 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = ((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0) + (Math_imul(HEAP32[($9_1 + 212 | 0) >> 2] | 0, HEAP32[($9_1 + 240 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($9_1 + 180 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($9_1 + 180 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 240 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[((HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + ((HEAP32[($9_1 + 180 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($9_1 + 180 | 0) >> 2] | 0; + HEAP32[($9_1 + 180 | 0) >> 2] = (HEAP32[($9_1 + 180 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $3011(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 240 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 216 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 212 | 0) >> 2] = (HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($9_1 + 212 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + $129_1 = 0; + $478_1 = +($129_1 | 0); + HEAPF64[($9_1 + 168 | 0) >> 3] = $478_1; + HEAPF64[($9_1 + 160 | 0) >> 3] = $478_1; + HEAPF64[($9_1 + 152 | 0) >> 3] = $478_1; + HEAP32[($9_1 + 148 | 0) >> 2] = $129_1; + HEAP32[($9_1 + 144 | 0) >> 2] = (((HEAP32[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 4 | 0 | 0) / ((HEAPU8[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) / (3 | 0) | 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($9_1 + 144 | 0) >> 2] | 0 | 0) <= ((HEAP32[($9_1 + 240 | 0) >> 2] | 0) - ((((HEAP32[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 4 | 0 | 0) / ((HEAPU8[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) / (3 | 0) | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + $163_1 = $9_1 + 48 | 0; + $166_1 = $9_1 + 96 | 0; + $177_1 = (HEAP32[($9_1 + 244 | 0) >> 2] | 0) + Math_imul(HEAP32[(HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$2 = $177_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $883_1 = i64toi32_i32$0; + i64toi32_i32$0 = $166_1; + HEAP32[i64toi32_i32$0 >> 2] = $883_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $178_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $178_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $893_1 = i64toi32_i32$1; + i64toi32_i32$1 = $166_1 + $178_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $893_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $181_1 = 32; + i64toi32_i32$2 = $177_1 + $181_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $903_1 = i64toi32_i32$0; + i64toi32_i32$0 = $166_1 + $181_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $903_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $184_1 = 24; + i64toi32_i32$2 = $177_1 + $184_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $913_1 = i64toi32_i32$1; + i64toi32_i32$1 = $166_1 + $184_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $913_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $187_1 = 16; + i64toi32_i32$2 = $177_1 + $187_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $923_1 = i64toi32_i32$0; + i64toi32_i32$0 = $166_1 + $187_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $923_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $190_1 = 8; + i64toi32_i32$2 = $177_1 + $190_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $933_1 = i64toi32_i32$1; + i64toi32_i32$1 = $166_1 + $190_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $933_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $209_1 = (HEAP32[($9_1 + 244 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + (((HEAP32[($9_1 + 240 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$2 = $209_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $970_1 = i64toi32_i32$0; + i64toi32_i32$0 = $163_1; + HEAP32[i64toi32_i32$0 >> 2] = $970_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $210_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $210_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $980_1 = i64toi32_i32$1; + i64toi32_i32$1 = $163_1 + $210_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $980_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $213_1 = 32; + i64toi32_i32$2 = $209_1 + $213_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $990_1 = i64toi32_i32$0; + i64toi32_i32$0 = $163_1 + $213_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $990_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $216_1 = 24; + i64toi32_i32$2 = $209_1 + $216_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1000_1 = i64toi32_i32$1; + i64toi32_i32$1 = $163_1 + $216_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1000_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $219_1 = 16; + i64toi32_i32$2 = $209_1 + $219_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1010_1 = i64toi32_i32$0; + i64toi32_i32$0 = $163_1 + $219_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1010_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $222_1 = 8; + i64toi32_i32$2 = $209_1 + $222_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1020_1 = i64toi32_i32$1; + i64toi32_i32$1 = $163_1 + $222_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1020_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 44 | 0) >> 2] = 1; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) < ((HEAP32[($9_1 + 240 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$11 + } + label$13 : { + label$14 : { + if (!((HEAP32[($9_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 144 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $3001(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, $9_1 + 96 | 0 | 0, (HEAP32[($9_1 + 244 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + ((HEAP32[($9_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0 | 0); + break label$13; + } + $3001(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, $9_1 + 48 | 0 | 0, (HEAP32[($9_1 + 244 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + ((HEAP32[($9_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0 | 0); + } + HEAP32[($9_1 + 44 | 0) >> 2] = (HEAP32[($9_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + $284_1 = $9_1 + 48 | 0; + $287_1 = $9_1 + 96 | 0; + $479_1 = +$3012(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, $287_1 | 0); + HEAPF64[($9_1 + 168 | 0) >> 3] = +HEAPF64[($9_1 + 168 | 0) >> 3] + $479_1; + $482_1 = +$3012(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, $284_1 | 0); + HEAPF64[($9_1 + 168 | 0) >> 3] = +HEAPF64[($9_1 + 168 | 0) >> 3] + $482_1; + (wasm2js_i32$0 = $9_1, wasm2js_f64$0 = +$3013(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, $287_1 | 0, $284_1 | 0, 1 | 0)), HEAPF64[(wasm2js_i32$0 + 32 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $9_1, wasm2js_f64$0 = +$2990(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, $287_1 | 0) + +$2990(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, $284_1 | 0)), HEAPF64[(wasm2js_i32$0 + 24 | 0) >> 3] = wasm2js_f64$0; + label$15 : { + label$16 : { + if ((HEAP32[($9_1 + 144 | 0) >> 2] | 0 | 0) == ((((HEAP32[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) - 4 | 0 | 0) / ((HEAPU8[((HEAP32[($9_1 + 248 | 0) >> 2] | 0) + 23 | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) / (3 | 0) | 0 | 0) & 1 | 0) { + break label$16 + } + if (+HEAPF64[($9_1 + 32 | 0) >> 3] < +HEAPF64[($9_1 + 160 | 0) >> 3] & 1 | 0) { + break label$16 + } + if (!(+HEAPF64[($9_1 + 32 | 0) >> 3] == +HEAPF64[($9_1 + 160 | 0) >> 3] & 1 | 0)) { + break label$15 + } + if (!(+HEAPF64[($9_1 + 24 | 0) >> 3] < +HEAPF64[($9_1 + 152 | 0) >> 3] & 1 | 0)) { + break label$15 + } + } + HEAP32[($9_1 + 148 | 0) >> 2] = HEAP32[($9_1 + 144 | 0) >> 2] | 0; + HEAPF64[($9_1 + 160 | 0) >> 3] = +HEAPF64[($9_1 + 32 | 0) >> 3]; + HEAPF64[($9_1 + 152 | 0) >> 3] = +HEAPF64[($9_1 + 24 | 0) >> 3]; + } + HEAP32[($9_1 + 144 | 0) >> 2] = (HEAP32[($9_1 + 144 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + label$17 : { + label$18 : { + if (!(HEAP32[($9_1 + 212 | 0) >> 2] | 0)) { + break label$18 + } + if (!(+HEAPF64[($9_1 + 168 | 0) >> 3] < +HEAPF64[($9_1 + 192 | 0) >> 3] & 1 | 0)) { + break label$17 + } + } + HEAP32[($9_1 + 208 | 0) >> 2] = HEAP32[($9_1 + 212 | 0) >> 2] | 0; + HEAPF64[($9_1 + 192 | 0) >> 3] = +HEAPF64[($9_1 + 168 | 0) >> 3]; + HEAP32[($9_1 + 204 | 0) >> 2] = HEAP32[($9_1 + 148 | 0) >> 2] | 0; + } + HEAP32[($9_1 + 212 | 0) >> 2] = (HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + $334_1 = HEAP32[($9_1 + 228 | 0) >> 2] | 0; + $345_1 = (HEAP32[($9_1 + 244 | 0) >> 2] | 0) + Math_imul(HEAP32[(HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 208 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$2 = $345_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1342_1 = i64toi32_i32$0; + i64toi32_i32$0 = $334_1; + HEAP32[i64toi32_i32$0 >> 2] = $1342_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $346_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $346_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1352_1 = i64toi32_i32$1; + i64toi32_i32$1 = $334_1 + $346_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1352_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $349_1 = 32; + i64toi32_i32$2 = $345_1 + $349_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1362_1 = i64toi32_i32$0; + i64toi32_i32$0 = $334_1 + $349_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1362_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $352_1 = 24; + i64toi32_i32$2 = $345_1 + $352_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1372_1 = i64toi32_i32$1; + i64toi32_i32$1 = $334_1 + $352_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1372_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $355_1 = 16; + i64toi32_i32$2 = $345_1 + $355_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1382_1 = i64toi32_i32$0; + i64toi32_i32$0 = $334_1 + $355_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1382_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $358_1 = 8; + i64toi32_i32$2 = $345_1 + $358_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1392_1 = i64toi32_i32$1; + i64toi32_i32$1 = $334_1 + $358_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1392_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $361_1 = HEAP32[($9_1 + 224 | 0) >> 2] | 0; + $376_1 = (HEAP32[($9_1 + 244 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 208 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + ((HEAP32[($9_1 + 204 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0; + i64toi32_i32$2 = $376_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1428_1 = i64toi32_i32$0; + i64toi32_i32$0 = $361_1; + HEAP32[i64toi32_i32$0 >> 2] = $1428_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $377_1 = 40; + i64toi32_i32$2 = i64toi32_i32$2 + $377_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1438_1 = i64toi32_i32$1; + i64toi32_i32$1 = $361_1 + $377_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1438_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $380_1 = 32; + i64toi32_i32$2 = $376_1 + $380_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1448_1 = i64toi32_i32$0; + i64toi32_i32$0 = $361_1 + $380_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1448_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $383_1 = 24; + i64toi32_i32$2 = $376_1 + $383_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1458_1 = i64toi32_i32$1; + i64toi32_i32$1 = $361_1 + $383_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1458_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $386_1 = 16; + i64toi32_i32$2 = $376_1 + $386_1 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1468_1 = i64toi32_i32$0; + i64toi32_i32$0 = $361_1 + $386_1 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1468_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $389_1 = 8; + i64toi32_i32$2 = $376_1 + $389_1 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1478_1 = i64toi32_i32$1; + i64toi32_i32$1 = $361_1 + $389_1 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1478_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($9_1 + 212 | 0) >> 2] = 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 240 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + label$21 : { + label$22 : { + if (!((HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + $407_1 = HEAP32[($9_1 + 236 | 0) >> 2] | 0; + break label$21; + } + $407_1 = HEAP32[($9_1 + 232 | 0) >> 2] | 0; + } + HEAP32[($9_1 + 20 | 0) >> 2] = $407_1; + label$23 : { + label$24 : { + if (!((HEAP32[($9_1 + 212 | 0) >> 2] | 0 | 0) < (HEAP32[($9_1 + 204 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + $418_1 = HEAP32[($9_1 + 228 | 0) >> 2] | 0; + break label$23; + } + $418_1 = HEAP32[($9_1 + 224 | 0) >> 2] | 0; + } + HEAP32[($9_1 + 16 | 0) >> 2] = $418_1; + HEAP32[($9_1 + 12 | 0) >> 2] = (HEAP32[($9_1 + 244 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($9_1 + 220 | 0) >> 2] | 0) + ((HEAP32[($9_1 + 208 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + ((HEAP32[($9_1 + 212 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0; + $2991(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $3001(HEAP32[($9_1 + 248 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($9_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 212 | 0) >> 2] = (HEAP32[($9_1 + 212 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + $42(HEAP32[($9_1 + 220 | 0) >> 2] | 0 | 0); + HEAP32[($9_1 + 252 | 0) >> 2] = 0; + } + $447_1 = HEAP32[($9_1 + 252 | 0) >> 2] | 0; + global$0 = $9_1 + 256 | 0; + return $447_1 | 0; + } + + function $3008($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $40$hi = 0, $41$hi = 0, $40_1 = 0, $126_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0 ? 151 : 150; + label$1 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $2977(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $2945(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[$6_1 >> 2] | 0) >> 2] | 0 | 0) | 0; + $2979(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + HEAP32[(HEAP32[$6_1 >> 2] | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + } + } + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $40_1 = i64toi32_i32$1; + $40$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $41$hi = i64toi32_i32$1; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $41$hi; + $126_1 = i64toi32_i32$0; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$0 = $41$hi; + $36_1 = FUNCTION_TABLE[HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0](HEAP32[($6_1 + 28 | 0) >> 2] | 0, $40_1, i64toi32_i32$1, $126_1, i64toi32_i32$0) | 0; + global$0 = $6_1 + 32 | 0; + return $36_1 | 0; + } + + function $3009($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $14_1 = 0, $49_1 = 0; + $6_1 = global$0 - 64 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + label$1 : { + if (!((HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$1 + } + $14_1 = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = $14_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $14_1; + HEAP32[($6_1 + 36 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0 | 0) / (2 | 0) | 0; + HEAP32[($6_1 + 32 | 0) >> 2] = (HEAP32[($6_1 + 56 | 0) >> 2] | 0) - (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 60 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 60 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0; + $3009(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + $3009(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0); + $3288(HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($6_1 + 36 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 48 | 0) >> 2] | 0; + label$2 : while (1) { + $49_1 = 1; + label$3 : { + if ((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + $49_1 = (HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($49_1 & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + break label$5; + } + label$7 : { + label$8 : { + if (!((HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + break label$7; + } + HEAPF64[($6_1 + 16 | 0) >> 3] = +HEAPF64[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 3 | 0) | 0) >> 3]; + HEAPF64[($6_1 + 8 | 0) >> 3] = +HEAPF64[((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 3 | 0) | 0) >> 3]; + label$9 : { + label$10 : { + if (!(+HEAPF64[($6_1 + 16 | 0) >> 3] < +HEAPF64[($6_1 + 8 | 0) >> 3] & 1 | 0)) { + break label$10 + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + break label$9; + } + HEAP32[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + (((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + (HEAP32[($6_1 + 40 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 40 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + 1 | 0; + } + } + } + continue label$2; + } + break label$2; + }; + } + global$0 = $6_1 + 64 | 0; + return; + } + + function $3010($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 32 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 4 | 0) >> 2] = ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$5_1 >> 2] = ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($5_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; + label$4 : { + label$5 : { + label$6 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$6 + } + if (Math_fround(HEAPF32[(HEAP32[$5_1 >> 2] | 0) >> 2]) < Math_fround(HEAPF32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2]) & 1 | 0) { + break label$5 + } + if (Math_fround(HEAPF32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2]) & 1 | 0) { + break label$5 + } + } + if (!(HEAP32[($5_1 + 8 | 0) >> 2] | 0)) { + break label$4 + } + if ((HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$5 + } + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 2 | 0; + continue label$3; + }; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + } + return HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $3011($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $16_1 = 0, $55_1 = 0, $286_1 = 0.0, $290_1 = 0.0, $294_1 = 0.0, $298_1 = 0.0; + $8_1 = global$0 - 80 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 68 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 64 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 60 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 56 | 0) >> 2] = $5_1; + label$1 : { + if (!((HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$1 + } + $16_1 = 0; + HEAP32[($8_1 + 52 | 0) >> 2] = $16_1; + HEAP32[($8_1 + 48 | 0) >> 2] = $16_1; + HEAP32[($8_1 + 44 | 0) >> 2] = (HEAP32[($8_1 + 68 | 0) >> 2] | 0 | 0) / (2 | 0) | 0; + HEAP32[($8_1 + 40 | 0) >> 2] = (HEAP32[($8_1 + 68 | 0) >> 2] | 0) - (HEAP32[($8_1 + 44 | 0) >> 2] | 0) | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 72 | 0) >> 2] | 0; + HEAP32[($8_1 + 32 | 0) >> 2] = (HEAP32[($8_1 + 72 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 44 | 0) >> 2] | 0) << 2 | 0) | 0; + $3011(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0); + $3011(HEAP32[($8_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0); + $3288(HEAP32[($8_1 + 56 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0, (HEAP32[($8_1 + 44 | 0) >> 2] | 0) << 2 | 0 | 0) | 0; + HEAP32[($8_1 + 36 | 0) >> 2] = HEAP32[($8_1 + 56 | 0) >> 2] | 0; + label$2 : while (1) { + $55_1 = 1; + label$3 : { + if ((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + $55_1 = (HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0); + } + label$4 : { + if (!($55_1 & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if ((HEAPU8[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + $286_1 = +Math_fround(HEAPF32[((((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 52 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0) + ((HEAP32[($8_1 + 64 | 0) >> 2] | 0) << 3 | 0) | 0) + 8 | 0) >> 2]); + break label$5; + } + $286_1 = +(HEAP32[((((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 52 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0) + 8 | 0) + (((HEAP32[($8_1 + 64 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + HEAPF64[($8_1 + 24 | 0) >> 3] = $286_1; + label$7 : { + label$8 : { + if ((HEAPU8[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + $290_1 = +Math_fround(HEAPF32[((((HEAP32[($8_1 + 64 | 0) >> 2] | 0) << 3 | 0) + ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 52 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0) | 0) + 12 | 0) >> 2]); + break label$7; + } + $290_1 = +(HEAP32[((((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 52 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0) + 8 | 0) + ((((HEAP32[($8_1 + 64 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + HEAPF64[($8_1 + 16 | 0) >> 3] = $290_1; + label$9 : { + label$10 : { + if ((HEAPU8[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$10 + } + $294_1 = +Math_fround(HEAPF32[((((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0) + ((HEAP32[($8_1 + 64 | 0) >> 2] | 0) << 3 | 0) | 0) + 8 | 0) >> 2]); + break label$9; + } + $294_1 = +(HEAP32[((((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0) + 8 | 0) + (((HEAP32[($8_1 + 64 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + HEAPF64[($8_1 + 8 | 0) >> 3] = $294_1; + label$11 : { + label$12 : { + if ((HEAPU8[((HEAP32[($8_1 + 76 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + $298_1 = +Math_fround(HEAPF32[((((HEAP32[($8_1 + 64 | 0) >> 2] | 0) << 3 | 0) + ((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0) | 0) + 12 | 0) >> 2]); + break label$11; + } + $298_1 = +(HEAP32[((((HEAP32[($8_1 + 60 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 48) | 0) + 8 | 0) + ((((HEAP32[($8_1 + 64 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + HEAPF64[$8_1 >> 3] = $298_1; + label$13 : { + label$14 : { + if (!((HEAP32[($8_1 + 52 | 0) >> 2] | 0 | 0) != (HEAP32[($8_1 + 44 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + if ((HEAP32[($8_1 + 48 | 0) >> 2] | 0 | 0) == (HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$15 + } + if (+HEAPF64[($8_1 + 24 | 0) >> 3] < +HEAPF64[($8_1 + 8 | 0) >> 3] & 1 | 0) { + break label$15 + } + if (!(+HEAPF64[($8_1 + 24 | 0) >> 3] == +HEAPF64[($8_1 + 8 | 0) >> 3] & 1 | 0)) { + break label$14 + } + if (!(+HEAPF64[($8_1 + 16 | 0) >> 3] < +HEAPF64[$8_1 >> 3] & 1 | 0)) { + break label$14 + } + } + HEAP32[((HEAP32[($8_1 + 72 | 0) >> 2] | 0) + (((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + (HEAP32[($8_1 + 48 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 52 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($8_1 + 52 | 0) >> 2] = (HEAP32[($8_1 + 52 | 0) >> 2] | 0) + 1 | 0; + break label$13; + } + HEAP32[((HEAP32[($8_1 + 72 | 0) >> 2] | 0) + (((HEAP32[($8_1 + 52 | 0) >> 2] | 0) + (HEAP32[($8_1 + 48 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($8_1 + 32 | 0) >> 2] | 0) + ((HEAP32[($8_1 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($8_1 + 48 | 0) >> 2] = (HEAP32[($8_1 + 48 | 0) >> 2] | 0) + 1 | 0; + } + continue label$2; + } + break label$2; + }; + } + global$0 = $8_1 + 80 | 0; + return; + } + + function $3012($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $66_1 = 0.0, $70_1 = 0.0, $68_1 = 0.0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAPF64[($4_1 + 16 | 0) >> 3] = +(0 | 0); + HEAP32[($4_1 + 12 | 0) >> 2] = ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0) - 2 | 0; + label$1 : while (1) { + label$2 : { + label$3 : { + if ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$3 + } + $66_1 = +Math_fround(HEAPF32[((((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) + 12 | 0) >> 2]); + break label$2; + } + $66_1 = +(HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $68_1 = $66_1; + label$4 : { + label$5 : { + if ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$5 + } + $70_1 = +Math_fround(HEAPF32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) + 8 | 0) >> 2]); + break label$4; + } + $70_1 = +(HEAP32[(((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + HEAPF64[($4_1 + 16 | 0) >> 3] = +HEAPF64[($4_1 + 16 | 0) >> 3] + ($68_1 - $70_1); + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) - 2 | 0; + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + return +(+HEAPF64[($4_1 + 16 | 0) >> 3]); + } + + function $3013($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $245_1 = 0.0, $249_1 = 0.0, $253_1 = 0.0, $256_1 = 0.0, $258_1 = 0.0, $263_1 = 0.0, $267_1 = 0.0, $271_1 = 0.0, $274_1 = 0.0, $276_1 = 0.0, $247_1 = 0.0, $265_1 = 0.0; + $6_1 = global$0 - 64 | 0; + $7_1 = 0; + HEAP32[($6_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 48 | 0) >> 2] = $3_1; + HEAPF64[($6_1 + 32 | 0) >> 3] = +($7_1 | 0); + HEAP32[($6_1 + 44 | 0) >> 2] = $7_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAPF64[($6_1 + 16 | 0) >> 3] = 1.0; + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) < ((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + label$6 : { + if ((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + $245_1 = +Math_fround(HEAPF32[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) + 8 | 0) >> 2]); + break label$5; + } + $245_1 = +(HEAP32[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $247_1 = $245_1; + label$7 : { + label$8 : { + if ((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + $249_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 48) | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) + 8 | 0) >> 2]); + break label$7; + } + $249_1 = +(HEAP32[((((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 48) | 0) + 8 | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + label$9 : { + label$10 : { + if (!($247_1 > $249_1 & 1 | 0)) { + break label$10 + } + label$11 : { + label$12 : { + if ((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$12 + } + $253_1 = +Math_fround(HEAPF32[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) + 8 | 0) >> 2]); + break label$11; + } + $253_1 = +(HEAP32[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $256_1 = $253_1; + break label$9; + } + label$13 : { + label$14 : { + if ((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$14 + } + $258_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 48) | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) + 8 | 0) >> 2]); + break label$13; + } + $258_1 = +(HEAP32[((((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 48) | 0) + 8 | 0) + ((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $256_1 = $258_1; + } + HEAPF64[($6_1 + 8 | 0) >> 3] = $256_1; + label$15 : { + label$16 : { + if ((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$16 + } + $263_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($6_1 + 56 | 0) >> 2] | 0) | 0) + 12 | 0) >> 2]); + break label$15; + } + $263_1 = +(HEAP32[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $265_1 = $263_1; + label$17 : { + label$18 : { + if ((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$18 + } + $267_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) + ((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 48) | 0) | 0) + 12 | 0) >> 2]); + break label$17; + } + $267_1 = +(HEAP32[((((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 48) | 0) + 8 | 0) + (((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + label$19 : { + label$20 : { + if (!($265_1 < $267_1 & 1 | 0)) { + break label$20 + } + label$21 : { + label$22 : { + if ((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$22 + } + $271_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($6_1 + 56 | 0) >> 2] | 0) | 0) + 12 | 0) >> 2]); + break label$21; + } + $271_1 = +(HEAP32[(((HEAP32[($6_1 + 56 | 0) >> 2] | 0) + 8 | 0) + (((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $274_1 = $271_1; + break label$19; + } + label$23 : { + label$24 : { + if ((HEAPU8[((HEAP32[($6_1 + 60 | 0) >> 2] | 0) + 22 | 0) >> 0] | 0) & 255 | 0) { + break label$24 + } + $276_1 = +Math_fround(HEAPF32[((((HEAP32[($6_1 + 28 | 0) >> 2] | 0) << 2 | 0) + ((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 48) | 0) | 0) + 12 | 0) >> 2]); + break label$23; + } + $276_1 = +(HEAP32[((((HEAP32[($6_1 + 52 | 0) >> 2] | 0) + Math_imul(HEAP32[($6_1 + 44 | 0) >> 2] | 0, 48) | 0) + 8 | 0) + (((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + } + $274_1 = $276_1; + } + HEAPF64[$6_1 >> 3] = $274_1; + label$25 : { + if (!(+HEAPF64[$6_1 >> 3] < +HEAPF64[($6_1 + 8 | 0) >> 3] & 1 | 0)) { + break label$25 + } + HEAPF64[($6_1 + 16 | 0) >> 3] = +(0 | 0); + break label$3; + } + HEAPF64[($6_1 + 16 | 0) >> 3] = +HEAPF64[($6_1 + 16 | 0) >> 3] * (+HEAPF64[$6_1 >> 3] - +HEAPF64[($6_1 + 8 | 0) >> 3]); + HEAP32[($6_1 + 28 | 0) >> 2] = (HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 2 | 0; + continue label$4; + }; + } + HEAPF64[($6_1 + 32 | 0) >> 3] = +HEAPF64[($6_1 + 32 | 0) >> 3] + +HEAPF64[($6_1 + 16 | 0) >> 3]; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return +(+HEAPF64[($6_1 + 32 | 0) >> 3]); + } + + function $3014($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $66_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!($3015($5_1 + 16 | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) | 0)) { + break label$3 + } + break label$1; + } + HEAP32[($5_1 + 4 | 0) >> 2] = 1; + label$4 : { + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 56 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + break label$4; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3016($5_1 + 16 | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(((HEAPU8[($5_1 + 37 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$4; + } + label$9 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $66_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP8[($66_1 + 1 | 0) >> 0] = (HEAPU8[($66_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 4 | 0; + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$10 : { + if (((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$10 + } + $3017(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 0 | 0); + } + } + $3018($5_1 + 16 | 0 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $3015($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $109_1 = 0, $7_1 = 0, $106_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + $7_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $109_1 = 0; + i64toi32_i32$1 = $7_1; + HEAP32[i64toi32_i32$1 >> 2] = $109_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $109_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $109_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $109_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3051(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = -1; + } + label$4 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + label$6 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 60384 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 12 | 0) >> 2] = -1; + } + } + label$8 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + label$11 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$11 + } + $286(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + break label$10; + } + $263(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 60356 | 0, -1 | 0); + } + } + $3018(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = 0; + } + $106_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + global$0 = $5_1 + 32 | 0; + return $106_1 | 0; + } + + function $3016($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $7_1 = 0, $18_1 = 0, $27_1 = 0, $46_1 = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $7_1; + label$1 : { + label$2 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) == ($7_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + $18_1 = 24; + label$3 : { + label$4 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $18_1 | 0) >> $18_1 | 0 | 0) != (36 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6_1 + 8 | 0) >> 2] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + break label$3; + } + $27_1 = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3052(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $27_1 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, $6_1 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == ($27_1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + break label$1; + } + } + $46_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP8[($46_1 + 21 | 0) >> 0] = (HEAPU8[($46_1 + 21 | 0) >> 0] | 0) + 1 | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3053(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[$6_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $263(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[$6_1 >> 2] | 0 | 0); + break label$6; + } + $286(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + } + $64_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $64_1 | 0; + } + + function $3017($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 144 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 132 | 0) >> 2] = $2_1; + $3020($5_1 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0); + $3029(HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, $5_1 | 0, HEAP32[($5_1 + 132 | 0) >> 2] | 0 | 0); + $3024($5_1 | 0); + $276(HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, 74 | 0); + global$0 = $5_1 + 144 | 0; + return; + } + + function $3018($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $4_1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $4_1; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $4_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $3019($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $10_1 = 0, $33_1 = 0; + $5_1 = global$0 - 144 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 132 | 0) >> 2] = $2_1; + $3020($5_1 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0); + $10_1 = 24; + $3021($5_1 | 0, (91 << $10_1 | 0) >> $10_1 | 0 | 0); + HEAP32[($5_1 + 128 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5_1 + 128 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $3022($5_1 | 0); + $3023($5_1 | 0, HEAP32[((HEAP32[($5_1 + 132 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 128 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 128 | 0) >> 2] = (HEAP32[($5_1 + 128 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $33_1 = 24; + $3021($5_1 | 0, (93 << $33_1 | 0) >> $33_1 | 0 | 0); + $3024($5_1 | 0); + $276(HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, 74 | 0); + global$0 = $5_1 + 144 | 0; + return; + } + + function $3020($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 25 | 0) >> 0] = 0; + $3059(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $3021($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $21$hi = 0, $22$hi = 0, $25$hi = 0, $16_1 = 0, $26$hi = 0, i64toi32_i32$4 = 0, $21_1 = 0, $48_1 = 0, $13_1 = 0, $15_1 = 0, $25_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP8[($4_1 + 11 | 0) >> 0] = $1_1; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $21_1 = i64toi32_i32$0; + $21$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $22$hi = i64toi32_i32$0; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$0 = $22$hi; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$0 = $22$hi; + $48_1 = i64toi32_i32$1; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$2 = $21_1; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$3 = $48_1; + label$1 : { + label$2 : { + if (!((i64toi32_i32$0 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + if (!($3060(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0) | 0)) { + break label$2 + } + break label$1; + } + $13_1 = HEAPU8[($4_1 + 11 | 0) >> 0] | 0; + $15_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $16_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$3 = $16_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $25_1 = i64toi32_i32$2; + $25$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $26$hi = i64toi32_i32$0; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $26$hi; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $26$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$3 = $16_1; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $25$hi; + HEAP8[($15_1 + $25_1 | 0) >> 0] = $13_1; + } + global$0 = $4_1 + 16 | 0; + return; + } + + function $3022($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $41$hi = 0, $43$hi = 0, $45$hi = 0, $46$hi = 0, i64toi32_i32$5 = 0, $16_1 = 0, $26_1 = 0, $36_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = 0; + $41$hi = i64toi32_i32$0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $43$hi = i64toi32_i32$1; + i64toi32_i32$1 = $41$hi; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$1 = $41$hi; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $41$hi; + i64toi32_i32$3 = 0; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + i64toi32_i32$3 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $45$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $46$hi = i64toi32_i32$1; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $46$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + HEAP8[($3_1 + 11 | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + (i64toi32_i32$3 - i64toi32_i32$0 | 0) | 0) >> 0] | 0; + $16_1 = 24; + if (!((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $16_1 | 0) >> $16_1 | 0 | 0) != (91 | 0) & 1 | 0)) { + break label$1 + } + $26_1 = 24; + if (!((((HEAPU8[($3_1 + 11 | 0) >> 0] | 0) << $26_1 | 0) >> $26_1 | 0 | 0) != (123 | 0) & 1 | 0)) { + break label$1 + } + $36_1 = 24; + $3021(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, (44 << $36_1 | 0) >> $36_1 | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3023($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $8_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + $8_1 = ($248(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($8_1 | 0) { + case 4: + $3030(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, 11577 | 0, 4 | 0); + break label$1; + case 0: + case 1: + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $66(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $233(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $3030(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0); + break label$1; + case 2: + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $66(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $233(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!(($243(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) == (74 | 0) & 1 | 0)) { + break label$7 + } + $3030(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + break label$6; + } + $3036(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + } + break label$1; + default: + break label$2; + }; + } + label$8 : { + if ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0) { + break label$8 + } + $263(HEAP32[(HEAP32[($4_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, 60670 | 0, -1 | 0); + HEAP8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 25 | 0) >> 0] = 2; + $3032(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0); + } + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $3024($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $278(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, ((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 ? -1 : 3) | 0, 1 & 255 | 0 | 0); + $3059(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3025($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $72$hi = 0, $73$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $65_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3026(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3016(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + label$5 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$1; + } + label$6 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + $65_1 = $3027((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 20 | 0) >> 2] | 0, 12) | 0 | 0) | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + $65_1 | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $73$hi = i64toi32_i32$1; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$5; + continue label$8; + }; + } + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3026($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $6_1 = 0, $165_1 = 0, $119_1 = 0, $161_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $6_1; + HEAP32[($5_1 + 4 | 0) >> 2] = -1; + HEAP32[$5_1 >> 2] = $6_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $306(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + -429938 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$3; + } + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + if ($3228(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0) { + break label$7 + } + HEAP8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 21 | 0) >> 0] = 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + break label$6; + } + label$8 : { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + } + label$9 : { + if (!((HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) >>> 0 > (HEAP32[$5_1 >> 2] | 0) >>> 0 & 1 | 0)) { + break label$9 + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$10 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP8[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 21 | 0) >> 0] = 0; + HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] = (HEAP32[$5_1 >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + break label$1; + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $41(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 32 | 0) + 1 | 0 | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$11 + } + $286(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + $119_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $165_1 = 0; + i64toi32_i32$1 = $119_1; + HEAP32[i64toi32_i32$1 >> 2] = $165_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $165_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $119_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $165_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $119_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $165_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 32 | 0; + $3288(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) | 0; + label$12 : { + if (!($3015(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + $42(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = 0; + break label$1; + } + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] = (HEAP32[$5_1 >> 2] | 0) + 1 | 0; + $307(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -429938 | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, 152 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $306(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + -429938 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + $161_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + global$0 = $5_1 + 48 | 0; + return $161_1 | 0; + } + + function $3027($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $18_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (6 | 0) & 1 | 0)) { + break label$2 + } + $18_1 = (HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0; + break label$1; + } + $18_1 = 1; + } + return $18_1 | 0; + } + + function $3028($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $27_1 = 0, $30_1 = 0, $119_1 = 0, $121_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 160 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 156 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 152 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 148 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3026(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 148 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + $27_1 = $5_1 + 8 | 0; + $3020($27_1 | 0, HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0); + $30_1 = 24; + $3021($27_1 | 0, (91 << $30_1 | 0) >> $30_1 | 0 | 0); + HEAP32[($5_1 + 4 | 0) >> 2] = 1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3016(HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 136 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 144 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + break label$4; + } + label$7 : { + label$8 : { + if (!((HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$8 + } + $3022($5_1 + 8 | 0 | 0); + label$9 : { + label$10 : { + if (!((HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $3029(HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0, 0 | 0); + break label$9; + } + $3030($5_1 + 8 | 0 | 0, 11577 | 0, 4 | 0); + } + break label$7; + } + label$11 : { + if (!((HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $3031(HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 0 | 0); + } + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$12 : { + if (!((HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0) > (2 | 0) & 1 | 0)) { + break label$12 + } + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $119_1 = $5_1 + 8 | 0; + $121_1 = 24; + $3021($119_1 | 0, (93 << $121_1 | 0) >> $121_1 | 0 | 0); + $3024($119_1 | 0); + $276(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 74 | 0); + } + $3032($5_1 + 8 | 0 | 0); + } + global$0 = $5_1 + 160 | 0; + return; + } + + function $3029($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $31_1 = 0, $61_1 = 0, $113_1 = 0, $119_1 = 0, $152_1 = 0, $191_1 = 0, $95_1 = 0, $173_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 24 | 0)) { + break label$2 + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$3 + } + $3023(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + $31_1 = (HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) + -1 | 0; + label$4 : { + switch ($31_1 | 0) { + default: + $3030(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 11577 | 0, 4 | 0); + break label$1; + case 0: + $3030(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 29454 | 0, 4 | 0); + break label$1; + case 1: + $3030(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, 29459 | 0, 5 | 0); + break label$1; + case 4: + label$11 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$11 + } + $3036(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$1; + } + case 2: + case 3: + $3030(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + break label$1; + case 5: + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + $61_1 = 24; + $3021(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (91 << $61_1 | 0) >> $61_1 | 0 | 0); + label$12 : while (1) { + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$13 + } + label$15 : { + if (((HEAPU8[(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$15 + } + $3022(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + $3029((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + $95_1 = $3027((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 16 | 0) >> 2] | 0, 12) | 0 | 0) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + $95_1 | 0; + continue label$14; + }; + } + label$16 : { + label$17 : { + if (((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 32 | 0) { + break label$17 + } + break label$16; + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 12) | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = 1; + continue label$12; + } + break label$12; + }; + $113_1 = 24; + $3021(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (93 << $113_1 | 0) >> $113_1 | 0 | 0); + break label$1; + case 6: + break label$4; + }; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + $119_1 = 24; + $3021(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (123 << $119_1 | 0) >> $119_1 | 0 | 0); + label$18 : while (1) { + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$19 + } + label$21 : { + if (((HEAPU8[(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0, 12) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$21 + } + $3022(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + $3029((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 12) | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + $152_1 = 24; + $3021(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (58 << $152_1 | 0) >> $152_1 | 0 | 0); + $3029((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0, 12) | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + $173_1 = ($3027((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0, 12) | 0 | 0) | 0) + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + $173_1 | 0; + continue label$20; + }; + } + label$22 : { + label$23 : { + if (((HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 32 | 0) { + break label$23 + } + break label$22; + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, 12) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + continue label$18; + } + break label$18; + }; + $191_1 = 24; + $3021(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, (125 << $191_1 | 0) >> $191_1 | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3030($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$2 = 0, $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $31$hi = 0, $32$hi = 0, $29$hi = 0, $30$hi = 0, $36$hi = 0, $26_1 = 0, $63_1 = 0, $72_1 = 0, $118$hi = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 4 | 0) >> 2] | 0) { + break label$2 + } + break label$1; + } + i64toi32_i32$0 = 0; + $29$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$1; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $30$hi; + $63_1 = i64toi32_i32$0; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$3 = $63_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $31$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $32$hi = i64toi32_i32$2; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$2 = $32$hi; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$2 = $32$hi; + $72_1 = i64toi32_i32$5; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$5 = $32$hi; + i64toi32_i32$3 = $72_1; + label$3 : { + if (!((i64toi32_i32$2 >>> 0 > i64toi32_i32$5 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + if (!($3060(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0)) { + break label$3 + } + break label$1; + } + i64toi32_i32$3 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $3288((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + i64toi32_i32$1 | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = 0; + $36$hi = i64toi32_i32$2; + $26_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$3 = $26_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $118$hi = i64toi32_i32$1; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = $118$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $36$hi; + i64toi32_i32$5 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$3 = $26_1; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$4; + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $3031($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, $507$hi = 0, $511$hi = 0, $9_1 = 0, $21_1 = 0, $36_1 = 0, $44_1 = 0, $48_1 = 0, $57_1 = 0, $61_1 = 0, $509$hi = 0, $80_1 = 0, $81_1 = 0, $82_1 = 0, $513$hi = 0, $83_1 = 0, $84_1 = 0, $85_1 = 0, $75_1 = 0, $86_1 = 0, $112_1 = 0, $516$hi = 0, $517$hi = 0, $518$hi = 0, $519$hi = 0, $127_1 = 0, $521$hi = 0, $522$hi = 0, $197_1 = 0, $207_1 = 0, $215_1 = 0, $219_1 = 0, $246_1 = 0, $263_1 = 0, $273_1 = 0, $302_1 = 0, $317_1 = 0, $331_1 = 0, $359_1 = 0, $371_1 = 0, $383_1 = 0, $393_1 = 0, $403_1 = 0, $415_1 = 0, $425_1 = 0, $431_1 = 0, $442_1 = 0, $453_1 = 0, $464_1 = 0, $475_1 = 0, $486_1 = 0, $87_1 = 0, $812_1 = 0, $205_1 = 0, $206_1 = 0, $212_1 = 0, $244_1 = 0, $245_1 = 0, $261_1 = 0, $262_1 = 0, $271_1 = 0, $272_1 = 0, $357_1 = 0, $358_1 = 0, $369_1 = 0, $370_1 = 0, $381_1 = 0, $382_1 = 0, $391_1 = 0, $392_1 = 0, $401_1 = 0, $402_1 = 0, $413_1 = 0, $414_1 = 0, $423_1 = 0, $424_1 = 0, $484_1 = 0, $485_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + $9_1 = (HEAPU8[(HEAP32[($5_1 + 76 | 0) >> 2] | 0) >> 0] | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($9_1 | 0) { + default: + $271(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0); + break label$1; + case 0: + $267(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, 1 | 0); + break label$1; + case 1: + $267(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, 0 | 0); + break label$1; + case 2: + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 52 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $21_1 = 24; + label$9 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $21_1 | 0) >> $21_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 52 | 0) >> 2] = (HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 1 | 0; + } + label$10 : { + label$11 : { + label$12 : while (1) { + $36_1 = 24; + $44_1 = 0; + label$13 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $36_1 | 0) >> $36_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$13 + } + $48_1 = 24; + $44_1 = (((HEAPU8[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $48_1 | 0) >> $48_1 | 0 | 0) <= (57 | 0); + } + label$14 : { + if (!($44_1 & 1 | 0)) { + break label$14 + } + i64toi32_i32$0 = 214748364; + $507$hi = i64toi32_i32$0; + $57_1 = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 52 | 0) >> 2] = $57_1 + 1 | 0; + $61_1 = 24; + HEAP32[($5_1 + 48 | 0) >> 2] = (((HEAPU8[$57_1 >> 0] | 0) << $61_1 | 0) >> $61_1 | 0) - 48 | 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $509$hi = i64toi32_i32$1; + i64toi32_i32$1 = $507$hi; + i64toi32_i32$1 = $509$hi; + i64toi32_i32$1 = $507$hi; + i64toi32_i32$1 = $509$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $507$hi; + i64toi32_i32$3 = -858993460; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $80_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $81_1 = 0 + } else { + $81_1 = 1 + } + $82_1 = $81_1; + } else { + $82_1 = 0 + } + $80_1 = $82_1; + } + label$15 : { + if (!($80_1 & 1 | 0)) { + break label$15 + } + i64toi32_i32$2 = 214748364; + $511$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $513$hi = i64toi32_i32$1; + i64toi32_i32$1 = $511$hi; + i64toi32_i32$1 = $513$hi; + i64toi32_i32$1 = $511$hi; + i64toi32_i32$1 = $513$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $511$hi; + i64toi32_i32$0 = -858993460; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $83_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$0 >>> 0) { + $84_1 = 0 + } else { + $84_1 = 1 + } + $85_1 = $84_1; + } else { + $85_1 = 0 + } + $83_1 = $85_1; + } + label$16 : { + if (!($83_1 & 1 | 0)) { + break label$16 + } + break label$10; + } + $75_1 = 24; + label$17 : { + if (!((((HEAPU8[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $75_1 | 0) >> $75_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$17 + } + $86_1 = 24; + if (!((((HEAPU8[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 0] | 0) << $86_1 | 0) >> $86_1 | 0 | 0) <= (57 | 0) & 1 | 0)) { + break label$17 + } + break label$10; + } + label$18 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (9 | 0) & 1 | 0)) { + break label$18 + } + break label$10; + } + label$19 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$19 + } + $112_1 = 24; + label$20 : { + if (!((((HEAPU8[(HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 0] | 0) << $112_1 | 0) >> $112_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$20 + } + i64toi32_i32$3 = -2147483648; + $270(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, 0 | 0, i64toi32_i32$3 | 0); + break label$11; + } + break label$10; + } + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $516$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $517$hi = i64toi32_i32$1; + i64toi32_i32$1 = $516$hi; + i64toi32_i32$1 = $517$hi; + i64toi32_i32$1 = $516$hi; + $87_1 = i64toi32_i32$3; + i64toi32_i32$3 = $517$hi; + i64toi32_i32$3 = __wasm_i64_mul($87_1 | 0, i64toi32_i32$1 | 0, 10 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $518$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $519$hi = i64toi32_i32$1; + i64toi32_i32$1 = $518$hi; + i64toi32_i32$1 = $519$hi; + i64toi32_i32$1 = $518$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $519$hi; + i64toi32_i32$2 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5_1 + 60 | 0) >> 2] = i64toi32_i32$5; + continue label$12; + } + break label$12; + }; + $127_1 = 24; + label$21 : { + if (!((((HEAPU8[(HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 0] | 0) << $127_1 | 0) >> $127_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$21 + } + i64toi32_i32$5 = 0; + $521$hi = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $522$hi = i64toi32_i32$0; + i64toi32_i32$0 = $521$hi; + i64toi32_i32$0 = $522$hi; + $812_1 = i64toi32_i32$5; + i64toi32_i32$0 = $521$hi; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = $522$hi; + i64toi32_i32$2 = $812_1; + i64toi32_i32$3 = i64toi32_i32$1 - i64toi32_i32$2 | 0; + i64toi32_i32$4 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$4 | 0; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($5_1 + 60 | 0) >> 2] = i64toi32_i32$4; + } + i64toi32_i32$0 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$1 | 0); + } + break label$1; + } + i64toi32_i32$1 = 0; + i64toi32_i32$4 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = i64toi32_i32$1; + case 3: + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $344(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, $5_1 + 40 | 0 | 0, $68(HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) | 0 | 0, 1 & 255 | 0 | 0) | 0; + $260(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, +(+HEAPF64[($5_1 + 40 | 0) >> 3])); + break label$1; + case 4: + label$22 : { + label$23 : { + if (((HEAPU8[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 2 | 0) { + break label$23 + } + $277(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 2 | 0 | 0, -1 | 0); + break label$22; + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 76 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$24 + } + $286(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0); + break label$1; + } + HEAP32[($5_1 + 32 | 0) >> 2] = 1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + label$25 : { + label$26 : while (1) { + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 < ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) - 1 | 0) >>> 0 & 1 | 0)) { + break label$25 + } + HEAP8[($5_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0) >> 0] | 0; + $197_1 = 24; + label$27 : { + label$28 : { + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $197_1 | 0) >> $197_1 | 0 | 0) != (92 | 0) & 1 | 0)) { + break label$28 + } + $205_1 = HEAPU8[($5_1 + 15 | 0) >> 0] | 0; + $206_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $207_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $207_1 + 1 | 0; + HEAP8[($206_1 + $207_1 | 0) >> 0] = $205_1; + break label$27; + } + $212_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $215_1 = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $215_1; + HEAP8[($5_1 + 15 | 0) >> 0] = HEAPU8[($212_1 + $215_1 | 0) >> 0] | 0; + $219_1 = 24; + label$29 : { + label$30 : { + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $219_1 | 0) >> $219_1 | 0 | 0) == (117 | 0) & 1 | 0)) { + break label$30 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3063(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0; + label$31 : { + if (HEAP32[($5_1 + 8 | 0) >> 2] | 0) { + break label$31 + } + break label$25; + } + label$32 : { + label$33 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 <= 127 >>> 0 & 1 | 0)) { + break label$33 + } + $244_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $245_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $246_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $246_1 + 1 | 0; + HEAP8[($245_1 + $246_1 | 0) >> 0] = $244_1; + break label$32; + } + label$34 : { + label$35 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 0 <= 2047 >>> 0 & 1 | 0)) { + break label$35 + } + $261_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 6 | 0 | 192 | 0; + $262_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $263_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $263_1 + 1 | 0; + HEAP8[($262_1 + $263_1 | 0) >> 0] = $261_1; + $271_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 63 | 0 | 128 | 0; + $272_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $273_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $273_1 + 1 | 0; + HEAP8[($272_1 + $273_1 | 0) >> 0] = $271_1; + break label$34; + } + label$36 : { + label$37 : { + if (!(((HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 64512 | 0 | 0) == (55296 | 0) & 1 | 0)) { + break label$37 + } + if (!((HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 < ((HEAP32[($5_1 + 28 | 0) >> 2] | 0) - 6 | 0) >>> 0 & 1 | 0)) { + break label$37 + } + $302_1 = 24; + if (!((((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $302_1 | 0) >> $302_1 | 0 | 0) == (92 | 0) & 1 | 0)) { + break label$37 + } + $317_1 = 24; + if (!((((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 2 | 0) | 0) >> 0] | 0) << $317_1 | 0) >> $317_1 | 0 | 0) == (117 | 0) & 1 | 0)) { + break label$37 + } + $331_1 = $3063(((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0) + 3 | 0 | 0) | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $331_1; + if (!(($331_1 & 64512 | 0 | 0) == (56320 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[($5_1 + 8 | 0) >> 2] = ((((HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 1023 | 0) << 10 | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) & 1023 | 0) | 0) + 65536 | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 6 | 0; + $357_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 18 | 0 | 240 | 0; + $358_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $359_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $359_1 + 1 | 0; + HEAP8[($358_1 + $359_1 | 0) >> 0] = $357_1; + $369_1 = ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 12 | 0) & 63 | 0 | 128 | 0; + $370_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $371_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $371_1 + 1 | 0; + HEAP8[($370_1 + $371_1 | 0) >> 0] = $369_1; + $381_1 = ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0 | 128 | 0; + $382_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $383_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $383_1 + 1 | 0; + HEAP8[($382_1 + $383_1 | 0) >> 0] = $381_1; + $391_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 63 | 0 | 128 | 0; + $392_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $393_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $393_1 + 1 | 0; + HEAP8[($392_1 + $393_1 | 0) >> 0] = $391_1; + break label$36; + } + $401_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 12 | 0 | 224 | 0; + $402_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $403_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $403_1 + 1 | 0; + HEAP8[($402_1 + $403_1 | 0) >> 0] = $401_1; + $413_1 = ((HEAP32[($5_1 + 8 | 0) >> 2] | 0) >>> 6 | 0) & 63 | 0 | 128 | 0; + $414_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $415_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $415_1 + 1 | 0; + HEAP8[($414_1 + $415_1 | 0) >> 0] = $413_1; + $423_1 = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) & 63 | 0 | 128 | 0; + $424_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $425_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $425_1 + 1 | 0; + HEAP8[($424_1 + $425_1 | 0) >> 0] = $423_1; + } + } + } + break label$29; + } + $431_1 = 24; + label$38 : { + label$39 : { + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $431_1 | 0) >> $431_1 | 0 | 0) == (98 | 0) & 1 | 0)) { + break label$39 + } + HEAP8[($5_1 + 15 | 0) >> 0] = 8; + break label$38; + } + $442_1 = 24; + label$40 : { + label$41 : { + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $442_1 | 0) >> $442_1 | 0 | 0) == (102 | 0) & 1 | 0)) { + break label$41 + } + HEAP8[($5_1 + 15 | 0) >> 0] = 12; + break label$40; + } + $453_1 = 24; + label$42 : { + label$43 : { + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $453_1 | 0) >> $453_1 | 0 | 0) == (110 | 0) & 1 | 0)) { + break label$43 + } + HEAP8[($5_1 + 15 | 0) >> 0] = 10; + break label$42; + } + $464_1 = 24; + label$44 : { + label$45 : { + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $464_1 | 0) >> $464_1 | 0 | 0) == (114 | 0) & 1 | 0)) { + break label$45 + } + HEAP8[($5_1 + 15 | 0) >> 0] = 13; + break label$44; + } + $475_1 = 24; + label$46 : { + if (!((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) << $475_1 | 0) >> $475_1 | 0 | 0) == (116 | 0) & 1 | 0)) { + break label$46 + } + HEAP8[($5_1 + 15 | 0) >> 0] = 9; + } + } + } + } + } + $484_1 = HEAPU8[($5_1 + 15 | 0) >> 0] | 0; + $485_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $486_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $486_1 + 1 | 0; + HEAP8[($485_1 + $486_1 | 0) >> 0] = $484_1; + } + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$26; + }; + } + HEAP8[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + $277(HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, 3 | 0); + } + break label$1; + case 5: + case 6: + break label$2; + }; + } + $3017(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 80 | 0; + return; + } + + function $3032($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$1 + } + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + $3059(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $3033($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $85_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = HEAP32[($302(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if ((HEAP32[($5_1 + 72 | 0) >> 2] | 0) & 1 | 0) { + break label$3 + } + $3034(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 12 | 0) >> 2] | 0 ? 60753 : 60757) | 0); + break label$1; + } + label$4 : { + if (!($3015($5_1 + 32 | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, $66(HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) | 0)) { + break label$4 + } + break label$1; + } + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + label$5 : { + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 72 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3016($5_1 + 32 | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $5_1 + 16 | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(((HEAPU8[($5_1 + 52 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + $286(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0); + break label$5; + } + label$9 : { + if (!(((HEAPU8[($5_1 + 53 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + break label$5; + } + label$10 : { + if (!((HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if (HEAP32[($5_1 + 16 | 0) >> 2] | 0) { + break label$11 + } + if (!(HEAP32[($5_1 + 12 | 0) >> 2] | 0)) { + break label$10 + } + } + $85_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP8[($85_1 + 1 | 0) >> 0] = (HEAPU8[($85_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 8 | 0; + HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 2 | 0; + continue label$7; + }; + } + label$12 : { + label$13 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$13 + } + $280(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 68 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + break label$12; + } + $3017(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 68 | 0) >> 2] | 0 | 0); + } + } + $3018($5_1 + 32 | 0 | 0); + } + global$0 = $5_1 + 80 | 0; + return; + } + + function $3034($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[$4_1 >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $79(60764 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $263(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, -1 | 0); + $42(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $3035($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $49_1 = 0, $15_1 = 0, $18_1 = 0, $67_1 = 0, $84_1 = 0, $86_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 160 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 156 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 152 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 148 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 152 | 0) >> 2] | 0) & 1 | 0)) { + break label$2 + } + $263(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 60807 | 0, -1 | 0); + break label$1; + } + $15_1 = $5_1 + 16 | 0; + $3020($15_1 | 0, HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0); + $18_1 = 24; + $3021($15_1 | 0, (123 << $18_1 | 0) >> $18_1 | 0 | 0); + HEAP32[($5_1 + 144 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5_1 + 144 | 0) >> 2] | 0 | 0) < (HEAP32[($5_1 + 152 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!(($248(HEAP32[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 144 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$5 + } + $263(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 60858 | 0, -1 | 0); + $3032($5_1 + 16 | 0 | 0); + break label$1; + } + $49_1 = $5_1 + 16 | 0; + $3022($49_1 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 144 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 144 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $3036($49_1 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $67_1 = 24; + $3021($49_1 | 0, (58 << $67_1 | 0) >> $67_1 | 0 | 0); + $3023($49_1 | 0, HEAP32[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 144 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 144 | 0) >> 2] = (HEAP32[($5_1 + 144 | 0) >> 2] | 0) + 2 | 0; + continue label$4; + }; + } + $84_1 = $5_1 + 16 | 0; + $86_1 = 24; + $3021($84_1 | 0, (125 << $86_1 | 0) >> $86_1 | 0 | 0); + $3024($84_1 | 0); + $276(HEAP32[($5_1 + 156 | 0) >> 2] | 0 | 0, 74 | 0); + } + global$0 = $5_1 + 160 | 0; + return; + } + + function $3036($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, $5_1 = 0, $179$hi = 0, $180$hi = 0, $183$hi = 0, $192$hi = 0, $193$hi = 0, $196$hi = 0, $199$hi = 0, $202$hi = 0, $205$hi = 0, $208$hi = 0, $211$hi = 0, $220$hi = 0, $221$hi = 0, $224$hi = 0, $227$hi = 0, $175$hi = 0, $176$hi = 0, $177$hi = 0, $178$hi = 0, $22_1 = 0, $184$hi = 0, $186$hi = 0, $187$hi = 0, $188$hi = 0, $189$hi = 0, $190$hi = 0, $191$hi = 0, $95_1 = 0, $100_1 = 0, $197$hi = 0, $105_1 = 0, $200$hi = 0, $110_1 = 0, $203$hi = 0, $115_1 = 0, $206$hi = 0, $127_1 = 0, $209$hi = 0, $139_1 = 0, $212$hi = 0, $214$hi = 0, $215$hi = 0, $216$hi = 0, $217$hi = 0, $218$hi = 0, $219$hi = 0, $161_1 = 0, $225$hi = 0, $167_1 = 0, $228$hi = 0, $251_1 = 0, $263_1 = 0, $18_1 = 0, $19_1 = 0, $21_1 = 0, $183_1 = 0, $433_1 = 0, $96_1 = 0, $97_1 = 0, $99_1 = 0, $196_1 = 0, $104_1 = 0, $199_1 = 0, $109_1 = 0, $202_1 = 0, $114_1 = 0, $205_1 = 0, $124_1 = 0, $126_1 = 0, $208_1 = 0, $136_1 = 0, $138_1 = 0, $211_1 = 0, $630_1 = 0, $158_1 = 0, $160_1 = 0, $224_1 = 0, $164_1 = 0, $166_1 = 0, $227_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$0 = 0; + $175$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $176$hi = i64toi32_i32$1; + i64toi32_i32$1 = $175$hi; + i64toi32_i32$1 = $176$hi; + $251_1 = i64toi32_i32$0; + i64toi32_i32$1 = $175$hi; + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = $176$hi; + i64toi32_i32$3 = $251_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $177$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $178$hi = i64toi32_i32$5; + i64toi32_i32$5 = $177$hi; + i64toi32_i32$5 = $178$hi; + i64toi32_i32$5 = $177$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $178$hi; + i64toi32_i32$3 = 2; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $179$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + $180$hi = i64toi32_i32$1; + i64toi32_i32$1 = $179$hi; + i64toi32_i32$1 = $180$hi; + i64toi32_i32$1 = $179$hi; + i64toi32_i32$1 = $180$hi; + $263_1 = i64toi32_i32$4; + i64toi32_i32$1 = $179$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$4 = $180$hi; + i64toi32_i32$3 = $263_1; + label$1 : { + label$2 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$4 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$4 | 0) & i64toi32_i32$5 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + if (!($3060(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 2 | 0 | 0) | 0)) { + break label$2 + } + break label$1; + } + $18_1 = 0; + $19_1 = 34; + $21_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $22_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$3 = $22_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $183_1 = i64toi32_i32$5; + $183$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $184$hi = i64toi32_i32$1; + i64toi32_i32$1 = $183$hi; + i64toi32_i32$1 = $184$hi; + i64toi32_i32$1 = $183$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $184$hi; + i64toi32_i32$4 = 1; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$3 = $22_1; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $183$hi; + HEAP8[($21_1 + $183_1 | 0) >> 0] = $19_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $18_1; + label$3 : while (1) { + label$4 : { + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 20 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + HEAP8[($5_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0; + label$7 : { + label$8 : { + if (((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) == (34 | 0) & 1 | 0) { + break label$8 + } + if (!(((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) == (92 | 0) & 1 | 0)) { + break label$7 + } + } + break label$5; + } + label$9 : { + if (!(((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) <= (31 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + if (!(((HEAPU8[(((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0) + 60704 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP8[($5_1 + 15 | 0) >> 0] = HEAPU8[(((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0) + 60704 | 0) >> 0] | 0; + break label$5; + } + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $186$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $187$hi = i64toi32_i32$3; + i64toi32_i32$3 = $186$hi; + i64toi32_i32$3 = $187$hi; + i64toi32_i32$3 = $186$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $187$hi; + i64toi32_i32$4 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $188$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $189$hi = i64toi32_i32$2; + i64toi32_i32$2 = $188$hi; + i64toi32_i32$2 = $189$hi; + i64toi32_i32$2 = $188$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$1 = $189$hi; + i64toi32_i32$4 = 7; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $190$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $191$hi = i64toi32_i32$5; + i64toi32_i32$5 = $190$hi; + i64toi32_i32$5 = $191$hi; + i64toi32_i32$5 = $190$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$3 = $191$hi; + i64toi32_i32$4 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $192$hi = i64toi32_i32$0; + i64toi32_i32$5 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + $193$hi = i64toi32_i32$2; + i64toi32_i32$2 = $192$hi; + i64toi32_i32$2 = $193$hi; + i64toi32_i32$2 = $192$hi; + i64toi32_i32$2 = $193$hi; + $433_1 = i64toi32_i32$0; + i64toi32_i32$2 = $192$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$0 = $193$hi; + i64toi32_i32$4 = $433_1; + label$11 : { + if (!((i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$4 >>> 0 | 0) | 0) & 1 | 0)) { + break label$11 + } + if (!($3060(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 7 | 0) - (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0 | 0) | 0)) { + break label$11 + } + break label$1; + } + $95_1 = 48; + $96_1 = 117; + $97_1 = 92; + $99_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $100_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$4 = $100_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] | 0; + $196_1 = i64toi32_i32$5; + $196$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $197$hi = i64toi32_i32$2; + i64toi32_i32$2 = $196$hi; + i64toi32_i32$2 = $197$hi; + i64toi32_i32$2 = $196$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$5 = $197$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$4 = $100_1; + HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] = i64toi32_i32$3; + HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $196$hi; + HEAP8[($99_1 + $196_1 | 0) >> 0] = $97_1; + $104_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $105_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $105_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $199_1 = i64toi32_i32$1; + $199$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $200$hi = i64toi32_i32$4; + i64toi32_i32$4 = $199$hi; + i64toi32_i32$4 = $200$hi; + i64toi32_i32$4 = $199$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $200$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + i64toi32_i32$2 = $105_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$3 = $199$hi; + HEAP8[($104_1 + $199_1 | 0) >> 0] = $96_1; + $109_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $110_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$4 = $110_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] | 0; + $202_1 = i64toi32_i32$3; + $202$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $203$hi = i64toi32_i32$2; + i64toi32_i32$2 = $202$hi; + i64toi32_i32$2 = $203$hi; + i64toi32_i32$2 = $202$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$3 = $203$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$4 = $110_1; + HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $202$hi; + HEAP8[($109_1 + $202_1 | 0) >> 0] = $95_1; + $114_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $115_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $115_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $205_1 = i64toi32_i32$5; + $205$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $206$hi = i64toi32_i32$4; + i64toi32_i32$4 = $205$hi; + i64toi32_i32$4 = $206$hi; + i64toi32_i32$4 = $205$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $206$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$2 = $115_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$3; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $205$hi; + HEAP8[($114_1 + $205_1 | 0) >> 0] = $95_1; + $124_1 = (((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0) >> 4 | 0) + 48 | 0; + $126_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $127_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$4 = $127_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] | 0; + $208_1 = i64toi32_i32$1; + $208$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $209$hi = i64toi32_i32$2; + i64toi32_i32$2 = $208$hi; + i64toi32_i32$2 = $209$hi; + i64toi32_i32$2 = $208$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $209$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + i64toi32_i32$4 = $127_1; + HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$3 = $208$hi; + HEAP8[($126_1 + $208_1 | 0) >> 0] = $124_1; + HEAP8[($5_1 + 15 | 0) >> 0] = HEAPU8[((((HEAPU8[($5_1 + 15 | 0) >> 0] | 0) & 255 | 0) & 15 | 0) + 60736 | 0) >> 0] | 0; + } + break label$4; + } + $136_1 = 34; + $138_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $139_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $139_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $211_1 = i64toi32_i32$3; + $211$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $212$hi = i64toi32_i32$4; + i64toi32_i32$4 = $211$hi; + i64toi32_i32$4 = $212$hi; + i64toi32_i32$4 = $211$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $212$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $139_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $211$hi; + HEAP8[($138_1 + $211_1 | 0) >> 0] = $136_1; + break label$1; + } + i64toi32_i32$4 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 20 | 0) >> 2] | 0; + $214$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $215$hi = i64toi32_i32$2; + i64toi32_i32$2 = $214$hi; + i64toi32_i32$2 = $215$hi; + i64toi32_i32$2 = $214$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$5 = $215$hi; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $216$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $217$hi = i64toi32_i32$1; + i64toi32_i32$1 = $216$hi; + i64toi32_i32$1 = $217$hi; + i64toi32_i32$1 = $216$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$4 = $217$hi; + i64toi32_i32$0 = 3; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $218$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $219$hi = i64toi32_i32$3; + i64toi32_i32$3 = $218$hi; + i64toi32_i32$3 = $219$hi; + i64toi32_i32$3 = $218$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$2 = $219$hi; + i64toi32_i32$0 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$0 | 0; + i64toi32_i32$5 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + $220$hi = i64toi32_i32$5; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $221$hi = i64toi32_i32$1; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$1 = $221$hi; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$1 = $221$hi; + $630_1 = i64toi32_i32$5; + i64toi32_i32$1 = $220$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$5 = $221$hi; + i64toi32_i32$0 = $630_1; + label$12 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$5 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$4 >>> 0 > i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { + break label$12 + } + if (!($3060(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 3 | 0) - (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0 | 0) | 0)) { + break label$12 + } + break label$1; + } + $158_1 = 92; + $160_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $161_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = $161_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $224_1 = i64toi32_i32$3; + $224$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $225$hi = i64toi32_i32$1; + i64toi32_i32$1 = $224$hi; + i64toi32_i32$1 = $225$hi; + i64toi32_i32$1 = $224$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $225$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $161_1; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$4 = $224$hi; + HEAP8[($160_1 + $224_1 | 0) >> 0] = $158_1; + } + $164_1 = HEAPU8[($5_1 + 15 | 0) >> 0] | 0; + $166_1 = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $167_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = $167_1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $227_1 = i64toi32_i32$4; + $227$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $228$hi = i64toi32_i32$0; + i64toi32_i32$0 = $227$hi; + i64toi32_i32$0 = $228$hi; + i64toi32_i32$0 = $227$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$4 = $228$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$1 = $167_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = i64toi32_i32$3; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $227$hi; + HEAP8[($166_1 + $227_1 | 0) >> 0] = $164_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3037($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $25_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 96 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 92 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 88 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 84 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!($3015($5_1 + 48 | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, $66(HEAP32[(HEAP32[($5_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!($3015($5_1 + 16 | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, $66(HEAP32[((HEAP32[($5_1 + 84 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0)) { + break label$3 + } + $3018($5_1 + 48 | 0 | 0); + break label$1; + } + $25_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3038($5_1 + 48 | 0 | 0, $25_1 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != ($25_1 | 0) & 1 | 0)) { + break label$5 + } + $3017(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0, 0 | 0); + break label$4; + } + $286(HEAP32[($5_1 + 92 | 0) >> 2] | 0 | 0); + } + $3018($5_1 + 48 | 0 | 0); + $3018($5_1 + 16 | 0 | 0); + } + global$0 = $5_1 + 96 | 0; + return; + } + + function $3038($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $214_1 = 0, $115_1 = 0, $176_1 = 0, $247_1 = 0, $268_1 = 0, $191_1 = 0, $296_1 = 0, $300_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 48 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 48 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (7 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 52 | 0) >> 2] | 0, 12) | 0; + label$3 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (7 | 0) & 1 | 0)) { + break label$3 + } + $3065(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[($5_1 + 52 | 0) >> 2] | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = 1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[(((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 44 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = 1; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + label$8 : { + if (!((HEAP32[(((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 40 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + if ($3234(HEAP32[(((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 40 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0) { + break label$8 + } + label$9 : { + if (!(((HEAPU8[(((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0, 12) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 20 | 0)) { + break label$9 + } + break label$6; + } + label$10 : { + label$11 : { + if ((HEAPU8[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0, 12) | 0) >> 0] | 0) & 255 | 0) { + break label$11 + } + $115_1 = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0, 12) | 0; + HEAP8[($115_1 + 1 | 0) >> 0] = (HEAPU8[($115_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 4 | 0; + break label$10; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3038(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + (HEAP32[($5_1 + 40 | 0) >> 2] | 0) | 0) + 1 | 0 | 0, (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0, 12) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 52 | 0) >> 2] | 0, 12) | 0; + label$13 : { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != ((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0, 12) | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[(((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0, 12) | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $176_1 = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0, 12) | 0; + HEAP8[($176_1 + 1 | 0) >> 0] = (HEAPU8[($176_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 16 | 0; + } + } + break label$6; + } + $191_1 = ($3027((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 40 | 0) >> 2] | 0) + 1 | 0, 12) | 0 | 0) | 0) + 1 | 0; + HEAP32[($5_1 + 40 | 0) >> 2] = (HEAP32[($5_1 + 40 | 0) >> 2] | 0) + $191_1 | 0; + continue label$7; + }; + } + label$14 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$14 + } + if (!((HEAPU8[((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0, 12) | 0) >> 0] | 0) & 255 | 0)) { + break label$14 + } + $214_1 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3054(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, 7 | 0, 2 | 0, $214_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $3054(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3054(HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0, 1 | 0, $214_1 | 0, $214_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($5_1 + 60 | 0) >> 2] = 0; + break label$1; + } + $3065(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 52 | 0) >> 2] | 0, 12) | 0; + $247_1 = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 36 | 0) >> 2] | 0, 12) | 0; + HEAP8[($247_1 + 1 | 0) >> 0] = (HEAPU8[($247_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 32 | 0; + HEAP32[(((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 36 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 36 | 0) >> 2] | 0) | 0; + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + $268_1 = (HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 12) | 0; + HEAP8[($268_1 + 1 | 0) >> 0] = (HEAPU8[($268_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 16 | 0; + HEAP32[(((HEAP32[((HEAP32[($5_1 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] = (HEAP32[($5_1 + 48 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0, 12) | 0; + } + $296_1 = ($3027((HEAP32[($5_1 + 48 | 0) >> 2] | 0) + Math_imul((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 1 | 0, 12) | 0 | 0) | 0) + 1 | 0; + HEAP32[($5_1 + 44 | 0) >> 2] = (HEAP32[($5_1 + 44 | 0) >> 2] | 0) + $296_1 | 0; + continue label$5; + }; + } + HEAP32[($5_1 + 60 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + } + $300_1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + global$0 = $5_1 + 64 | 0; + return $300_1 | 0; + } + + function $3039($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 144 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 140 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 136 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 132 | 0) >> 2] = $2_1; + $3020($5_1 | 0, HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0); + $3023($5_1 | 0, HEAP32[(HEAP32[($5_1 + 132 | 0) >> 2] | 0) >> 2] | 0 | 0); + $3024($5_1 | 0); + $276(HEAP32[($5_1 + 140 | 0) >> 2] | 0 | 0, 74 | 0); + global$0 = $5_1 + 144 | 0; + return; + } + + function $3040($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $64_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if ((HEAP32[($5_1 + 56 | 0) >> 2] | 0) & 1 | 0) { + break label$3 + } + $3034(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 40030 | 0); + break label$1; + } + label$4 : { + if (!($3015($5_1 + 16 | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) | 0)) { + break label$4 + } + break label$1; + } + HEAP32[($5_1 + 4 | 0) >> 2] = 1; + label$5 : { + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5_1 + 4 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5_1 + 56 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3016($5_1 + 16 | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(((HEAPU8[($5_1 + 37 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$8 + } + break label$5; + } + label$9 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $64_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP8[($64_1 + 1 | 0) >> 0] = (HEAPU8[($64_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 8 | 0; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 2 | 0; + continue label$7; + }; + } + label$10 : { + label$11 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$11 + } + $280(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + break label$10; + } + $3017(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 52 | 0) >> 2] | 0 | 0); + } + } + $3018($5_1 + 16 | 0 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $3041($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3026(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3016(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $277(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[(60896 + (((HEAPU8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0) >> 2] | 0 | 0, -1 | 0, 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3042($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3026(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $6_1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $267(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[$5_1 >> 2] | 0 | 0) != ($6_1 | 0) & 1 | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $3043($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $47$hi = 0, $28_1 = 0, $49$hi = 0, $37_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, 128 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[$5_1 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $3020(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + $28_1 = 24; + $3021(HEAP32[$5_1 >> 2] | 0 | 0, (91 << $28_1 | 0) >> $28_1 | 0 | 0); + break label$2; + } + i64toi32_i32$0 = 0; + $47$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $49$hi = i64toi32_i32$1; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $47$hi; + label$4 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 > 1 >>> 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + $37_1 = 24; + $3021(HEAP32[$5_1 >> 2] | 0 | 0, (44 << $37_1 | 0) >> $37_1 | 0 | 0); + HEAP32[(HEAP32[$5_1 >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + } + } + $3023(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[(HEAP32[($5_1 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $3044($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3045(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $3045($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $5_1 = 0, $19_1 = 0, $63_1 = 0, $74$hi = 0, $75$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $304(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $19_1 = 24; + $3021(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, (93 << $19_1 | 0) >> $19_1 | 0 | 0); + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + $286(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + break label$3; + } + label$6 : { + label$7 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$7 + } + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $277(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, ((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 ? -1 : 3) | 0); + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] = 1; + break label$6; + } + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $277(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, -1 | 0); + $63_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $63_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $74$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $75$hi = i64toi32_i32$1; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$1 = $75$hi; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $63_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + } + } + break label$1; + } + $277(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 60941 | 0, 2 | 0, 0 | 0); + } + $276(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 74 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $3046($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3045(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $3047($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $61$hi = 0, $28_1 = 0, $63$hi = 0, $37_1 = 0, $53_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 128 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + $3020(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + $28_1 = 24; + $3021(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, (123 << $28_1 | 0) >> $28_1 | 0 | 0); + break label$2; + } + i64toi32_i32$0 = 0; + $61$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $63$hi = i64toi32_i32$1; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$1 = $61$hi; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $61$hi; + label$4 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 > 1 >>> 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + $37_1 = 24; + $3021(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, (44 << $37_1 | 0) >> $37_1 | 0 | 0); + HEAP32[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + } + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $3036(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + $53_1 = 24; + $3021(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, (58 << $53_1 | 0) >> $53_1 | 0 | 0); + $3023(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3048($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3049(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 1 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $3049($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $5_1 = 0, $17_1 = 0, $61_1 = 0, $72$hi = 0, $73$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $304(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, $5_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) != ($5_1 | 0) & 1 | 0)) { + break label$2 + } + $17_1 = 24; + $3021(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, (125 << $17_1 | 0) >> $17_1 | 0 | 0); + label$3 : { + label$4 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + $286(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); + } + break label$3; + } + label$6 : { + label$7 : { + if (!(HEAP32[($4_1 + 8 | 0) >> 2] | 0)) { + break label$7 + } + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $277(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, ((HEAPU8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 ? -1 : 3) | 0); + HEAP8[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 24 | 0) >> 0] = 1; + break label$6; + } + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $277(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, -1 | 0); + $61_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $61_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $72$hi = i64toi32_i32$1; + i64toi32_i32$1 = -1; + $73$hi = i64toi32_i32$1; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$1 = $73$hi; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $61_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + } + } + break label$1; + } + $277(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 60944 | 0, 2 | 0, 0 | 0); + } + $276(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, 74 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $3050($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3049(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $3051($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $38_1 = 0, $278_1 = 0, $634_1 = 0, $29_1 = 0, $30_1 = 0, $71_1 = 0, $74_1 = 0, $94_1 = 0, $149_1 = 0, $179_1 = 0, $195_1 = 0, $231_1 = 0, $241_1 = 0, $270_1 = 0, $311_1 = 0, $314_1 = 0, $327_1 = 0, $383_1 = 0, $393_1 = 0, $422_1 = 0, $439_1 = 0, $447_1 = 0, $459_1 = 0, $463_1 = 0, $473_1 = 0, $483_1 = 0, $493_1 = 0, $503_1 = 0, $513_1 = 0, $523_1 = 0, $533_1 = 0, $543_1 = 0, $561_1 = 0, $607_1 = 0, $641_1 = 0, $669_1 = 0, $676_1 = 0, $704_1 = 0, $711_1 = 0, $721_1 = 0, $731_1 = 0, $740_1 = 0, $742_1 = 0, $752_1 = 0, $763_1 = 0, $771_1 = 0, $786_1 = 0, $801_1 = 0, $819_1 = 0, $829_1 = 0, $839_1 = 0, $854_1 = 0, $876_1 = 0, $886_1 = 0, $901_1 = 0, $921_1 = 0, $929_1 = 0, $939_1 = 0, $958_1 = 0, $968_1 = 0, $987_1 = 0, $1012_1 = 0, $1023_1 = 0, $1033_1 = 0, $456_1 = 0, $1038_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 48 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 60384 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4_1 + 36 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $29_1 = HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($4_1 + 35 | 0) >> 0] = $29_1; + $30_1 = 24; + label$3 : { + label$4 : { + if (!((($29_1 << $30_1 | 0) >> $30_1 | 0 | 0) == (123 | 0) & 1 | 0)) { + break label$4 + } + $38_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3054(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, 7 | 0, $38_1 | 0, $38_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < ($38_1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + label$6 : while (1) { + label$7 : { + label$8 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 60384 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + $71_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + $74_1 = (HEAPU16[($71_1 + 22 | 0) >> 1] | 0) + 1 | 0; + HEAP16[($71_1 + 22 | 0) >> 1] = $74_1; + label$9 : { + if (!(($74_1 & 65535 | 0 | 0) > (2e3 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3051(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$10 + } + $94_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP16[($94_1 + 22 | 0) >> 1] = (HEAPU16[($94_1 + 22 | 0) >> 1] | 0) + -1 | 0; + label$11 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (-2 | 0) & 1 | 0)) { + break label$11 + } + if (!((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) == ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + label$12 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + HEAP32[($4_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0, 12) | 0; + label$13 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 16 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + $149_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP8[($149_1 + 1 | 0) >> 0] = (HEAPU8[($149_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 64 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$14 : { + label$15 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 60384 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + $179_1 = 24; + label$16 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) << $179_1 | 0) >> $179_1 | 0 | 0) != (58 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3051(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $195_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP16[($195_1 + 22 | 0) >> 1] = (HEAPU16[($195_1 + 22 | 0) >> 1] | 0) + -1 | 0; + label$17 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$18 : { + label$19 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 60384 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + HEAP8[($4_1 + 35 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0; + $231_1 = 24; + label$20 : { + label$21 : { + label$22 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $231_1 | 0) >> $231_1 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$22 + } + break label$21; + } + $241_1 = 24; + label$23 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $241_1 | 0) >> $241_1 | 0 | 0) != (125 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + break label$20; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + HEAP32[(((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 24 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] = ((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) - 1 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + $270_1 = 24; + label$24 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $270_1 | 0) >> $270_1 | 0 | 0) == (91 | 0) & 1 | 0)) { + break label$24 + } + $278_1 = 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3054(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, 6 | 0, $278_1 | 0, $278_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < ($278_1 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + label$26 : while (1) { + label$27 : { + label$28 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 60384 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + $311_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + $314_1 = (HEAPU16[($311_1 + 22 | 0) >> 1] | 0) + 1 | 0; + HEAP16[($311_1 + 22 | 0) >> 1] = $314_1; + label$29 : { + if (!(($314_1 & 65535 | 0 | 0) > (2e3 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3051(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $327_1 = HEAP32[($4_1 + 40 | 0) >> 2] | 0; + HEAP16[($327_1 + 22 | 0) >> 1] = (HEAPU16[($327_1 + 22 | 0) >> 1] | 0) + -1 | 0; + label$30 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$30 + } + label$31 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0 | 0) == (-3 | 0) & 1 | 0)) { + break label$31 + } + if (!((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) == ((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) & 1 | 0)) { + break label$31 + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + HEAP32[($4_1 + 28 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + label$32 : { + label$33 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 60384 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$33; + }; + } + HEAP8[($4_1 + 35 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0; + $383_1 = 24; + label$34 : { + label$35 : { + label$36 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $383_1 | 0) >> $383_1 | 0 | 0) == (44 | 0) & 1 | 0)) { + break label$36 + } + break label$35; + } + $393_1 = 24; + label$37 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $393_1 | 0) >> $393_1 | 0 | 0) != (93 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + break label$34; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$26; + } + break label$26; + }; + HEAP32[(((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($4_1 + 24 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 2] = ((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0) - (HEAP32[($4_1 + 24 | 0) >> 2] | 0) | 0) - 1 | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + $422_1 = 24; + label$38 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $422_1 | 0) >> $422_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$38 + } + HEAP8[($4_1 + 11 | 0) >> 0] = 0; + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + label$39 : while (1) { + HEAP8[($4_1 + 35 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0; + $439_1 = 24; + label$40 : { + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $439_1 | 0) >> $439_1 | 0) & -32 | 0) { + break label$40 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + $447_1 = 24; + label$41 : { + label$42 : { + label$43 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $447_1 | 0) >> $447_1 | 0 | 0) == (92 | 0) & 1 | 0)) { + break label$43 + } + $456_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $459_1 = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 28 | 0) >> 2] = $459_1; + HEAP8[($4_1 + 35 | 0) >> 0] = HEAPU8[($456_1 + $459_1 | 0) >> 0] | 0; + $463_1 = 24; + label$44 : { + label$45 : { + label$46 : { + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $463_1 | 0) >> $463_1 | 0 | 0) == (34 | 0) & 1 | 0) { + break label$46 + } + $473_1 = 24; + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $473_1 | 0) >> $473_1 | 0 | 0) == (92 | 0) & 1 | 0) { + break label$46 + } + $483_1 = 24; + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $483_1 | 0) >> $483_1 | 0 | 0) == (47 | 0) & 1 | 0) { + break label$46 + } + $493_1 = 24; + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $493_1 | 0) >> $493_1 | 0 | 0) == (98 | 0) & 1 | 0) { + break label$46 + } + $503_1 = 24; + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $503_1 | 0) >> $503_1 | 0 | 0) == (102 | 0) & 1 | 0) { + break label$46 + } + $513_1 = 24; + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $513_1 | 0) >> $513_1 | 0 | 0) == (110 | 0) & 1 | 0) { + break label$46 + } + $523_1 = 24; + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $523_1 | 0) >> $523_1 | 0 | 0) == (114 | 0) & 1 | 0) { + break label$46 + } + $533_1 = 24; + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $533_1 | 0) >> $533_1 | 0 | 0) == (116 | 0) & 1 | 0) { + break label$46 + } + $543_1 = 24; + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $543_1 | 0) >> $543_1 | 0 | 0) == (117 | 0) & 1 | 0)) { + break label$45 + } + if (!($3055(((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) | 0)) { + break label$45 + } + } + HEAP8[($4_1 + 11 | 0) >> 0] = 2; + break label$44; + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + break label$42; + } + $561_1 = 24; + label$47 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $561_1 | 0) >> $561_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$47 + } + break label$41; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$39; + } + break label$39; + }; + $3054(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, 5 | 0, ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0) - (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0; + label$48 : { + if (((HEAPU8[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0) { + break label$48 + } + HEAP8[(((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0, 12) | 0) + 1 | 0) >> 0] = HEAPU8[($4_1 + 11 | 0) >> 0] | 0; + } + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + $607_1 = 24; + label$49 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $607_1 | 0) >> $607_1 | 0 | 0) == (110 | 0) & 1 | 0)) { + break label$49 + } + if ($3234((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0 | 0, 11577 | 0, 4 | 0) | 0) { + break label$49 + } + if (((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 6 | 0) { + break label$49 + } + $634_1 = 0; + $3054(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, $634_1 | 0, $634_1 | 0, $634_1 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0; + break label$3; + } + $641_1 = 24; + label$50 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $641_1 | 0) >> $641_1 | 0 | 0) == (116 | 0) & 1 | 0)) { + break label$50 + } + if ($3234((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0 | 0, 29454 | 0, 4 | 0) | 0) { + break label$50 + } + if (((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 6 | 0) { + break label$50 + } + $669_1 = 0; + $3054(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, 1 | 0, $669_1 | 0, $669_1 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0; + break label$3; + } + $676_1 = 24; + label$51 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $676_1 | 0) >> $676_1 | 0 | 0) == (102 | 0) & 1 | 0)) { + break label$51 + } + if ($3234((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0 | 0, 29459 | 0, 5 | 0) | 0) { + break label$51 + } + if (((HEAPU8[(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 5 | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 6 | 0) { + break label$51 + } + $704_1 = 0; + $3054(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, 2 | 0, $704_1 | 0, $704_1 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 5 | 0; + break label$3; + } + $711_1 = 24; + label$52 : { + label$53 : { + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $711_1 | 0) >> $711_1 | 0 | 0) == (45 | 0) & 1 | 0) { + break label$53 + } + $721_1 = 24; + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $721_1 | 0) >> $721_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$52 + } + $731_1 = 24; + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $731_1 | 0) >> $731_1 | 0 | 0) <= (57 | 0) & 1 | 0)) { + break label$52 + } + } + $740_1 = 0; + HEAP8[($4_1 + 10 | 0) >> 0] = $740_1; + HEAP8[($4_1 + 9 | 0) >> 0] = $740_1; + $742_1 = 24; + label$54 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $742_1 | 0) >> $742_1 | 0 | 0) <= (48 | 0) & 1 | 0)) { + break label$54 + } + $752_1 = 24; + label$55 : { + label$56 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $752_1 | 0) >> $752_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$56 + } + $763_1 = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + break label$55; + } + $763_1 = HEAP32[($4_1 + 36 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 28 | 0) >> 2] = $763_1; + $771_1 = 24; + label$57 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0) << $771_1 | 0) >> $771_1 | 0 | 0) == (48 | 0) & 1 | 0)) { + break label$57 + } + $786_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $786_1 | 0) >> $786_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$57 + } + $801_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0) << $801_1 | 0) >> $801_1 | 0 | 0) <= (57 | 0) & 1 | 0)) { + break label$57 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 1 | 0; + label$58 : { + label$59 : while (1) { + HEAP8[($4_1 + 35 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 28 | 0) >> 2] | 0) | 0) >> 0] | 0; + $819_1 = 24; + label$60 : { + label$61 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $819_1 | 0) >> $819_1 | 0 | 0) >= (48 | 0) & 1 | 0)) { + break label$61 + } + $829_1 = 24; + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $829_1 | 0) >> $829_1 | 0 | 0) <= (57 | 0) & 1 | 0)) { + break label$61 + } + break label$60; + } + $839_1 = 24; + label$62 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $839_1 | 0) >> $839_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$62 + } + $854_1 = 24; + label$63 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $854_1 | 0) >> $854_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$63 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + label$64 : { + if (!(((HEAPU8[($4_1 + 10 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$64 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + HEAP8[($4_1 + 10 | 0) >> 0] = 1; + break label$60; + } + $876_1 = 24; + label$65 : { + label$66 : { + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $876_1 | 0) >> $876_1 | 0 | 0) == (101 | 0) & 1 | 0) { + break label$66 + } + $886_1 = 24; + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $886_1 | 0) >> $886_1 | 0 | 0) == (69 | 0) & 1 | 0)) { + break label$65 + } + } + $901_1 = 24; + label$67 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $901_1 | 0) >> $901_1 | 0 | 0) < (48 | 0) & 1 | 0)) { + break label$67 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + label$68 : { + if (!(((HEAPU8[($4_1 + 9 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$68 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + $921_1 = 1; + HEAP8[($4_1 + 9 | 0) >> 0] = $921_1; + HEAP8[($4_1 + 10 | 0) >> 0] = $921_1; + HEAP8[($4_1 + 35 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0; + $929_1 = 24; + label$69 : { + label$70 : { + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $929_1 | 0) >> $929_1 | 0 | 0) == (43 | 0) & 1 | 0) { + break label$70 + } + $939_1 = 24; + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $939_1 | 0) >> $939_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$69 + } + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP8[($4_1 + 35 | 0) >> 0] = HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0; + } + $958_1 = 24; + label$71 : { + label$72 : { + if ((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $958_1 | 0) >> $958_1 | 0 | 0) < (48 | 0) & 1 | 0) { + break label$72 + } + $968_1 = 24; + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $968_1 | 0) >> $968_1 | 0 | 0) > (57 | 0) & 1 | 0)) { + break label$71 + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + break label$60; + } + break label$58; + } + HEAP32[($4_1 + 28 | 0) >> 2] = (HEAP32[($4_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$59; + }; + } + $987_1 = 24; + label$73 : { + if (!((((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 28 | 0) >> 2] | 0) - 1 | 0) | 0) >> 0] | 0) << $987_1 | 0) >> $987_1 | 0 | 0) < (48 | 0) & 1 | 0)) { + break label$73 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + break label$3; + } + $3054(HEAP32[($4_1 + 40 | 0) >> 2] | 0 | 0, ((HEAPU8[($4_1 + 10 | 0) >> 0] | 0) & 255 | 0 ? 4 : 3) | 0, (HEAP32[($4_1 + 28 | 0) >> 2] | 0) - (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 36 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($4_1 + 44 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + break label$3; + } + $1012_1 = 24; + label$74 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $1012_1 | 0) >> $1012_1 | 0 | 0) == (125 | 0) & 1 | 0)) { + break label$74 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -2; + break label$3; + } + $1023_1 = 24; + label$75 : { + if (!((((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $1023_1 | 0) >> $1023_1 | 0 | 0) == (93 | 0) & 1 | 0)) { + break label$75 + } + HEAP32[($4_1 + 44 | 0) >> 2] = -3; + break label$3; + } + $1033_1 = 24; + label$76 : { + if (((HEAPU8[($4_1 + 35 | 0) >> 0] | 0) << $1033_1 | 0) >> $1033_1 | 0) { + break label$76 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + break label$3; + } + HEAP32[($4_1 + 44 | 0) >> 2] = -1; + } + $1038_1 = HEAP32[($4_1 + 44 | 0) >> 2] | 0; + global$0 = $4_1 + 48 | 0; + return $1038_1 | 0; + } + + function $3052($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, $124_1 = 0, $16_1 = 0, $30_1 = 0, $55_1 = 0, $72_1 = 0, $75_1 = 0, $81_1 = 0, $121_1 = 0, $131_1 = 0, $144_1 = 0, $271_1 = 0, $282_1 = 0, $292_1 = 0, $320_1 = 0, $341_1 = 0, $352_1 = 0, $423_1 = 0, $449_1 = 0, $485_1 = 0, $525_1 = 0, $534_1 = 0, $653_1 = 0, $198_1 = 0, $399_1 = 0, $571_1 = 0, $663_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 80 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 72 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 68 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 64 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 60 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 68 | 0) >> 2] | 0, 12) | 0; + $16_1 = 24; + label$1 : { + label$2 : { + if (((HEAPU8[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 0] | 0) << $16_1 | 0) >> $16_1 | 0) { + break label$2 + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 8 | 0)) { + break label$3 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + $30_1 = 24; + label$4 : { + label$5 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (7 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 1 | 0; + $55_1 = 24; + label$7 : { + label$8 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 0] | 0) << $55_1 | 0) >> $55_1 | 0 | 0) == (34 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($7_1 + 40 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = 1; + label$9 : while (1) { + $72_1 = 24; + $75_1 = 0; + label$10 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0) >> 0] | 0) << $72_1 | 0) >> $72_1 | 0)) { + break label$10 + } + $81_1 = 24; + $75_1 = (((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0) >> 0] | 0) << $81_1 | 0) >> $81_1 | 0 | 0) != (34 | 0); + } + label$11 : { + if (!($75_1 & 1 | 0)) { + break label$11 + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + } + break label$9; + }; + HEAP32[($7_1 + 44 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) - 1 | 0; + label$12 : { + label$13 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + break label$12; + } + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + break label$7; + } + HEAP32[($7_1 + 40 | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + HEAP32[($7_1 + 52 | 0) >> 2] = 0; + label$14 : while (1) { + $121_1 = 24; + $124_1 = 0; + label$15 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0) >> 0] | 0) << $121_1 | 0) >> $121_1 | 0)) { + break label$15 + } + $131_1 = 24; + $124_1 = 0; + if (!((((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0) >> 0] | 0) << $131_1 | 0) >> $131_1 | 0 | 0) != (46 | 0) & 1 | 0)) { + break label$15 + } + $144_1 = 24; + $124_1 = (((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0) >> 0] | 0) << $144_1 | 0) >> $144_1 | 0 | 0) != (91 | 0); + } + label$16 : { + if (!($124_1 & 1 | 0)) { + break label$16 + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + } + break label$14; + }; + HEAP32[($7_1 + 44 | 0) >> 2] = HEAP32[($7_1 + 52 | 0) >> 2] | 0; + } + label$17 : { + if (HEAP32[($7_1 + 44 | 0) >> 2] | 0) { + break label$17 + } + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 48 | 0) >> 2] = 1; + label$18 : while (1) { + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$19 + } + label$21 : { + if (!($3057((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 48 | 0) >> 2] | 0, 12) | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0) | 0)) { + break label$21 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3052(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, ((HEAP32[($7_1 + 68 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) + 1 | 0 | 0, (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 1 | 0; + $198_1 = $3027((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 48 | 0) >> 2] | 0, 12) | 0 | 0) | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + $198_1 | 0; + continue label$20; + }; + } + label$22 : { + label$23 : { + if (((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 32 | 0) { + break label$23 + } + break label$22; + } + HEAP32[($7_1 + 68 | 0) >> 2] = (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 68 | 0) >> 2] | 0, 12) | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = 1; + continue label$18; + } + break label$18; + }; + label$24 : { + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3054(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, 7 | 0, 2 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3054(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, 5 | 0, HEAP32[($7_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 52 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3058(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$25 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + label$26 : { + if (!((HEAP32[($7_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 68 | 0) >> 2] | 0, 12) | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($7_1 + 32 | 0) >> 2] | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0; + $271_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP8[($271_1 + 1 | 0) >> 0] = (HEAPU8[($271_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 32 | 0; + $282_1 = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 28 | 0) >> 2] | 0, 12) | 0; + HEAP8[($282_1 + 1 | 0) >> 0] = (HEAPU8[($282_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 1 | 0; + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 24 | 0) >> 2] | 0; + break label$1; + } + break label$4; + } + $292_1 = 24; + label$27 : { + label$28 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 64 | 0) >> 2] | 0) >> 0] | 0) << $292_1 | 0) >> $292_1 | 0 | 0) == (91 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($7_1 + 52 | 0) >> 2] = 0; + HEAP32[($7_1 + 48 | 0) >> 2] = 1; + label$29 : { + label$30 : while (1) { + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$29 + } + $320_1 = 24; + HEAP32[($7_1 + 52 | 0) >> 2] = (Math_imul(HEAP32[($7_1 + 52 | 0) >> 2] | 0, 10) + (((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) << $320_1 | 0) >> $320_1 | 0) | 0) - 48 | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$30; + }; + } + label$31 : { + label$32 : { + if ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) >>> 0 < 2 >>> 0 & 1 | 0) { + break label$32 + } + $341_1 = 24; + if (!((((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) << $341_1 | 0) >> $341_1 | 0 | 0) != (93 | 0) & 1 | 0)) { + break label$31 + } + } + $352_1 = 24; + label$33 : { + label$34 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $352_1 | 0) >> $352_1 | 0 | 0) == (35 | 0) & 1 | 0)) { + break label$34 + } + HEAP32[($7_1 + 20 | 0) >> 2] = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($7_1 + 16 | 0) >> 2] = HEAP32[($7_1 + 68 | 0) >> 2] | 0; + label$35 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (6 | 0) & 1 | 0)) { + break label$35 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + label$36 : while (1) { + label$37 : { + label$38 : while (1) { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$37 + } + label$39 : { + if (((HEAPU8[(((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 48 | 0) >> 2] | 0, 12) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$39 + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + 1 | 0; + } + $399_1 = $3027((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 48 | 0) >> 2] | 0, 12) | 0 | 0) | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + $399_1 | 0; + continue label$38; + }; + } + label$40 : { + label$41 : { + if (((HEAPU8[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 32 | 0) { + break label$41 + } + break label$40; + } + HEAP32[($7_1 + 16 | 0) >> 2] = (HEAP32[($7_1 + 16 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 16 | 0) >> 2] | 0, 12) | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = 1; + continue label$36; + } + break label$36; + }; + HEAP32[($7_1 + 48 | 0) >> 2] = 2; + $423_1 = 24; + label$42 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $423_1 | 0) >> $423_1 | 0 | 0) == (45 | 0) & 1 | 0)) { + break label$42 + } + if (!(((HEAPU8[(((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0)) { + break label$42 + } + HEAP32[($7_1 + 12 | 0) >> 2] = 0; + HEAP32[($7_1 + 48 | 0) >> 2] = 3; + label$43 : while (1) { + $449_1 = 24; + HEAP32[($7_1 + 12 | 0) >> 2] = (Math_imul(HEAP32[($7_1 + 12 | 0) >> 2] | 0, 10) + (((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) << $449_1 | 0) >> $449_1 | 0) | 0) - 48 | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 1 | 0; + if (((HEAPU8[(((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + continue label$43 + } + break label$43; + }; + label$44 : { + if (!((HEAP32[($7_1 + 12 | 0) >> 2] | 0) >>> 0 > (HEAP32[($7_1 + 52 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$44 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) - (HEAP32[($7_1 + 12 | 0) >> 2] | 0) | 0; + } + $485_1 = 24; + label$45 : { + if (!((((HEAPU8[((HEAP32[($7_1 + 64 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) << $485_1 | 0) >> $485_1 | 0 | 0) != (93 | 0) & 1 | 0)) { + break label$45 + } + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + break label$33; + } + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + } + label$46 : { + if (!(((HEAPU8[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) != (6 | 0) & 1 | 0)) { + break label$46 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($7_1 + 64 | 0) >> 2] = (HEAP32[($7_1 + 64 | 0) >> 2] | 0) + ((HEAP32[($7_1 + 48 | 0) >> 2] | 0) + 1 | 0) | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = 1; + label$47 : while (1) { + label$48 : while (1) { + $525_1 = 0; + label$49 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$49 + } + $534_1 = 1; + label$50 : { + if ((HEAP32[($7_1 + 52 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0) { + break label$50 + } + $534_1 = (((HEAPU8[(((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 48 | 0) >> 2] | 0, 12) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 4 | 0 | 0) != (0 | 0); + } + $525_1 = $534_1; + } + label$51 : { + if (!($525_1 & 1 | 0)) { + break label$51 + } + label$52 : { + if (((HEAPU8[(((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 48 | 0) >> 2] | 0, 12) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 4 | 0) { + break label$52 + } + HEAP32[($7_1 + 52 | 0) >> 2] = (HEAP32[($7_1 + 52 | 0) >> 2] | 0) + -1 | 0; + } + $571_1 = $3027((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 48 | 0) >> 2] | 0, 12) | 0 | 0) | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = (HEAP32[($7_1 + 48 | 0) >> 2] | 0) + $571_1 | 0; + continue label$48; + } + break label$48; + }; + label$53 : { + label$54 : { + if (((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 32 | 0) { + break label$54 + } + break label$53; + } + HEAP32[($7_1 + 68 | 0) >> 2] = (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 68 | 0) >> 2] | 0, 12) | 0; + HEAP32[($7_1 + 48 | 0) >> 2] = 1; + continue label$47; + } + break label$47; + }; + label$55 : { + if (!((HEAP32[($7_1 + 48 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$55 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3052(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, (HEAP32[($7_1 + 68 | 0) >> 2] | 0) + (HEAP32[($7_1 + 48 | 0) >> 2] | 0) | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$56 : { + if (HEAP32[($7_1 + 52 | 0) >> 2] | 0) { + break label$56 + } + if (!((HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$56 + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3054(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, 6 | 0, 1 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3058(HEAP32[($7_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 64 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$57 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$57 + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + break label$1; + } + label$58 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$58 + } + HEAP32[($7_1 + 36 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 68 | 0) >> 2] | 0, 12) | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = (HEAP32[($7_1 + 8 | 0) >> 2] | 0) - (HEAP32[($7_1 + 68 | 0) >> 2] | 0) | 0; + $653_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP8[($653_1 + 1 | 0) >> 0] = (HEAPU8[($653_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 32 | 0; + } + HEAP32[($7_1 + 76 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; + break label$1; + } + break label$27; + } + HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($7_1 + 64 | 0) >> 2] | 0; + } + } + HEAP32[($7_1 + 76 | 0) >> 2] = 0; + } + $663_1 = HEAP32[($7_1 + 76 | 0) >> 2] | 0; + global$0 = $7_1 + 80 | 0; + return $663_1 | 0; + } + + function $3053($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $6_1 = $79(60644 | 0, $3_1 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $6_1 | 0; + } + + function $3054($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $36_1 = 0, $37_1 = 0, $40_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3056(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($6_1 + 8 | 0) >> 2] = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0, 12) | 0; + HEAP8[(HEAP32[($6_1 + 8 | 0) >> 2] | 0) >> 0] = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + HEAP8[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] = 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + $36_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + $37_1 = HEAP32[$36_1 >> 2] | 0; + HEAP32[$36_1 >> 2] = $37_1 + 1 | 0; + HEAP32[($6_1 + 28 | 0) >> 2] = $37_1; + } + $40_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $40_1 | 0; + } + + function $3055($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (((HEAPU8[(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + (HEAP32[($3_1 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) + 2e3 | 0) >> 0] | 0) & 255 | 0) & 8 | 0) { + break label$4 + } + HEAP32[($3_1 + 12 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($3_1 + 4 | 0) >> 2] = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = 1; + } + return HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0; + } + + function $3056($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, i64toi32_i32$0 = 0, $50_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[($6_1 + 8 | 0) >> 2] = ((HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 1 | 0) + 10 | 0; + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, Math_imul(HEAP32[($6_1 + 8 | 0) >> 2] | 0, 12) | 0, i64toi32_i32$0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 0] = 1; + HEAP32[($6_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3054(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $50_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $50_1 | 0; + } + + function $3057($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $56_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $1_1; + HEAP32[$5_1 >> 2] = $2_1; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (HEAP32[$5_1 >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($3234(HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0 | 0) == (0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$4 : { + if (!((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != ((HEAP32[$5_1 >> 2] | 0) + 2 | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($3234((HEAP32[((HEAP32[($5_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0) | 0 | 0) == (0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $56_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $56_1 | 0; + } + + function $3058($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $14_1 = 0, $11_1 = 0, $21_1 = 0, $35_1 = 0, $44_1 = 0, $51_1 = 0, $74_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 32 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[(HEAP32[($6_1 + 16 | 0) >> 2] | 0) >> 2] = 1; + $11_1 = 24; + label$1 : { + label$2 : { + if (((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $11_1 | 0) >> $11_1 | 0) { + break label$2 + } + $14_1 = 0; + $3054(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, $14_1 | 0, $14_1 | 0, $14_1 | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0)) { + break label$4 + } + $21_1 = 0; + break label$3; + } + $21_1 = (HEAP32[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul((HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0, 12) | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = $21_1; + break label$1; + } + $35_1 = 24; + label$5 : { + label$6 : { + if (!((((HEAPU8[(HEAP32[($6_1 + 20 | 0) >> 2] | 0) >> 0] | 0) << $35_1 | 0) >> $35_1 | 0 | 0) == (46 | 0) & 1 | 0)) { + break label$6 + } + $44_1 = 0; + $3054(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 7 | 0, $44_1 | 0, $44_1 | 0) | 0; + break label$5; + } + label$7 : { + label$8 : { + if ($3234(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 60640 | 0, 3 | 0) | 0) { + break label$8 + } + $51_1 = 0; + $3054(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, 6 | 0, $51_1 | 0, $51_1 | 0) | 0; + break label$7; + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + } + label$9 : { + if (!(((HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6_1 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3052(HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($6_1 + 24 | 0) >> 2] | 0) >> 2] | 0) - 1 | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $74_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + global$0 = $6_1 + 32 | 0; + return $74_1 | 0; + } + + function $3059($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $12$hi = 0; + $3_1 = global$0 - 16 | 0; + i64toi32_i32$0 = 0; + $12$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 26 | 0; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = 100; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 0] = 1; + return; + } + + function $3060($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $74$hi = 0, $75$hi = 0, $78$hi = 0, $79$hi = 0, $22_1 = 0, $81_1 = 0, $81$hi = 0, $82$hi = 0, $83$hi = 0, $84$hi = 0, $85$hi = 0, $113_1 = 0, $273_1 = 0, $71_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + i64toi32_i32$0 = 0; + $74$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $75$hi = i64toi32_i32$1; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$1 = $75$hi; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$1 = $75$hi; + $113_1 = i64toi32_i32$0; + i64toi32_i32$1 = $74$hi; + i64toi32_i32$2 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = $75$hi; + i64toi32_i32$3 = $113_1; + label$1 : { + label$2 : { + if (!((i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$3 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $78$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $79$hi = i64toi32_i32$1; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$1 = $79$hi; + i64toi32_i32$1 = $78$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $79$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + $22_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $22_1 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + } + $81_1 = $22_1; + $81$hi = i64toi32_i32$2; + break label$1; + } + i64toi32_i32$1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $82$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $83$hi = i64toi32_i32$3; + i64toi32_i32$3 = $82$hi; + i64toi32_i32$3 = $83$hi; + i64toi32_i32$3 = $82$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $83$hi; + i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $84$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $85$hi = i64toi32_i32$5; + i64toi32_i32$5 = $84$hi; + i64toi32_i32$5 = $85$hi; + i64toi32_i32$5 = $84$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$1 = $85$hi; + i64toi32_i32$0 = 10; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $81_1 = i64toi32_i32$2; + $81$hi = i64toi32_i32$4; + } + i64toi32_i32$4 = $81$hi; + i64toi32_i32$3 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $81_1; + HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$4; + label$3 : { + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 25 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + break label$3; + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $41(i64toi32_i32$4 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$7 + } + $3061(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$3; + } + i64toi32_i32$5 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $3288(HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0) | 0; + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 0] = 0; + break label$4; + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $49(HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, i64toi32_i32$4 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$8 + } + $3061(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($4_1 + 28 | 0) >> 2] = 7; + break label$3; + } + HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + } + i64toi32_i32$5 = $4_1; + i64toi32_i32$3 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $273_1 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] = $273_1; + HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + } + $71_1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + global$0 = $4_1 + 32 | 0; + return $71_1 | 0; + } + + function $3061($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 25 | 0) >> 0] = 1; + $286(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + $3032(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $3062($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3018(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $3063($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $6_1 = 0, $16_1 = 0, $27_1 = 0, $38_1 = 0, $45_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $6_1 = 24; + $16_1 = 24; + $27_1 = 24; + $38_1 = 24; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = ((((($3064(((HEAPU8[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $6_1 | 0) >> $6_1 | 0 | 0) | 0) & 255 | 0) << 12 | 0) + ((($3064(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) << $16_1 | 0) >> $16_1 | 0 | 0) | 0) & 255 | 0) << 8 | 0) | 0) + ((($3064(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) << $27_1 | 0) >> $27_1 | 0 | 0) | 0) & 255 | 0) << 4 | 0) | 0) + (($3064(((HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 3 | 0) >> 0] | 0) << $38_1 | 0) >> $38_1 | 0 | 0) | 0) & 255 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $45_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $45_1 | 0; + } + + function $3064($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 12 | 0) >> 2] = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + Math_imul(((HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 6 | 0) & 1 | 0, 9) | 0; + return ((HEAP32[($3_1 + 12 | 0) >> 2] | 0) & 15 | 0) & 255 | 0 | 0; + } + + function $3065($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $19_1 = 0, $25_1 = 0, $43_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = 2; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) <= (HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $19_1 = HEAPU8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) | 0) >> 0] | 0; + label$3 : { + label$4 : { + switch ($19_1 | 0) { + case 0: + $25_1 = (HEAP32[($3_1 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) | 0; + HEAP8[($25_1 + 1 | 0) >> 0] = (HEAPU8[($25_1 + 1 | 0) >> 0] | 0) & 255 | 0 | 4 | 0; + break label$3; + case 7: + break label$4; + default: + break label$3; + }; + } + $3065((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) | 0 | 0); + } + $43_1 = ($3027((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) | 0 | 0) | 0) + 1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + $43_1 | 0; + continue label$2; + }; + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3066($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var $8_1 = 0, $24_1 = 0, $15_1 = 0, i64toi32_i32$0 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8_1 = global$0 - 48 | 0; + global$0 = $8_1; + HEAP32[($8_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($8_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($8_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($8_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($8_1 + 24 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 20 | 0) >> 2] = $5_1; + (wasm2js_i32$0 = $8_1, wasm2js_i32$1 = $414(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, 60947 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($8_1 + 12 | 0) >> 2] | 0) { + break label$2 + } + $15_1 = $38(12 | 0) | 0; + HEAP32[(HEAP32[($8_1 + 24 | 0) >> 2] | 0) >> 2] = $15_1; + HEAP32[($8_1 + 16 | 0) >> 2] = $15_1; + label$3 : { + if (!((HEAP32[($8_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($8_1 + 44 | 0) >> 2] = 7; + break label$1; + } + $24_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + HEAP32[$24_1 >> 2] = 0; + HEAP32[($24_1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($24_1 + 8 | 0) >> 2] = 0; + $426(HEAP32[($8_1 + 40 | 0) >> 2] | 0 | 0, 2 | 0, 0 | 0) | 0; + } + HEAP32[($8_1 + 44 | 0) >> 2] = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + } + $32_1 = HEAP32[($8_1 + 44 | 0) >> 2] | 0; + global$0 = $8_1 + 48 | 0; + return $32_1 | 0; + } + + function $3067($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $6_1 = 0; + $4_1 = global$0 - 48 | 0; + $5_1 = 0; + $6_1 = -1; + HEAP32[($4_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 16 | 0) >> 2] = $5_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 32 | 0) >> 2] = $5_1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4_1 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) < (8 | 0) & 1 | 0)) { + break label$4 + } + break label$3; + } + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0) - 8 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = 1 << (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + label$5 : { + label$6 : { + if ((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 5 | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + HEAP32[($4_1 + 20 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0 | (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0; + break label$5; + } + label$7 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) & 255 | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[(($4_1 + 24 | 0) + ((HEAP32[($4_1 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4_1 + 32 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = HEAP32[($4_1 + 16 | 0) >> 2] | 0 | (HEAP32[($4_1 + 4 | 0) >> 2] | 0) | 0; + } + } + } + HEAP32[($4_1 + 32 | 0) >> 2] = (HEAP32[($4_1 + 32 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0; + continue label$2; + }; + } + label$8 : { + label$9 : { + if (!((HEAP32[($4_1 + 20 | 0) >> 2] | 0) & ((HEAP32[($4_1 + 16 | 0) >> 2] | 0) ^ -1 | 0) | 0)) { + break label$9 + } + HEAP32[($4_1 + 44 | 0) >> 2] = 19; + break label$8; + } + label$10 : { + label$11 : { + if (!((HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] = 0; + break label$10; + } + HEAPF64[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 3] = 1.0; + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = 1; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 1; + label$12 : { + label$13 : { + if (!((HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] = 1; + break label$12; + } + HEAP32[($4_1 + 32 | 0) >> 2] = HEAP32[($4_1 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) >> 2] = 2; + HEAP8[(((HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($4_1 + 32 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 0] = 1; + HEAP32[((HEAP32[($4_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] = 3; + } + } + HEAP32[($4_1 + 44 | 0) >> 2] = 0; + } + return HEAP32[($4_1 + 44 | 0) >> 2] | 0 | 0; + } + + function $3068($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $3069($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$1 = 0, $4_1 = 0, i64toi32_i32$0 = 0, $36_1 = 0, $16_1 = 0, $33_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $38(64 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$4_1 >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $16_1 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$0 = 0; + $36_1 = 0; + i64toi32_i32$1 = $16_1; + HEAP32[i64toi32_i32$1 >> 2] = $36_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 56 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $16_1 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($4_1 + 4 | 0) >> 2] | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + } + $33_1 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $33_1 | 0; + } + + function $3070($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + $3071(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $42(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $3071($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0); + $42(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0); + $3018((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 32 | 0 | 0); + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $4_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = $4_1; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = $4_1; + global$0 = $3_1 + 16 | 0; + return; + } + + function $3072($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $7_1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $284$hi = 0, $285$hi = 0, $95_1 = 0, $289$hi = 0, $290$hi = 0, $130_1 = 0, $139_1 = 0, $194_1 = 0, $266_1 = 0, $270_1 = 0, $24_1 = 0, $354_1 = 0, $29_1 = 0, $62_1 = 0, $106_1 = 0, $536_1 = 0, $111_1 = 0, $165_1 = 0, $280_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7_1 = global$0 - 64 | 0; + global$0 = $7_1; + HEAP32[($7_1 + 56 | 0) >> 2] = $0_1; + HEAP32[($7_1 + 52 | 0) >> 2] = $1_1; + HEAP32[($7_1 + 48 | 0) >> 2] = $2_1; + HEAP32[($7_1 + 44 | 0) >> 2] = $3_1; + HEAP32[($7_1 + 40 | 0) >> 2] = $4_1; + HEAP32[($7_1 + 36 | 0) >> 2] = HEAP32[($7_1 + 56 | 0) >> 2] | 0; + HEAP32[($7_1 + 28 | 0) >> 2] = 0; + $3071(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + label$1 : { + label$2 : { + if (HEAP32[($7_1 + 52 | 0) >> 2] | 0) { + break label$2 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + $24_1 = 0; + i64toi32_i32$1 = $233(HEAP32[(HEAP32[($7_1 + 40 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $354_1 = i64toi32_i32$1; + i64toi32_i32$1 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $354_1; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $284$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $285$hi = i64toi32_i32$1; + i64toi32_i32$1 = $284$hi; + i64toi32_i32$1 = $285$hi; + i64toi32_i32$1 = $284$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $285$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $29_1 = $41(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] = $29_1; + label$4 : { + if (!((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == ($24_1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$1 = $7_1; + i64toi32_i32$5 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $3288(HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0, i64toi32_i32$5 + 1 | 0 | 0) | 0; + label$5 : { + if (!($3015((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 32 | 0 | 0, 0 | 0, HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($7_1 + 12 | 0) >> 2] = 7; + label$6 : { + if ((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 52 | 0) >> 0] | 0) & 255 | 0) { + break label$6 + } + $42(HEAP32[((HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $62_1 = $79(60356 | 0, 0 | 0) | 0; + HEAP32[((HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] = $62_1; + label$7 : { + if (!((HEAP32[((HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($7_1 + 12 | 0) >> 2] = 1; + } + } + $3071(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 60 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; + break label$1; + } + label$8 : { + if (!((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0)) { + break label$8 + } + if (!($3073((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 32 | 0 | 0) | 0)) { + break label$8 + } + $3071(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 60 | 0) >> 2] = 7; + break label$1; + } + HEAP32[($7_1 + 8 | 0) >> 2] = 0; + label$9 : { + label$10 : { + if (!((HEAP32[($7_1 + 52 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$10 + } + $95_1 = 0; + HEAP32[($7_1 + 4 | 0) >> 2] = $95_1; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0) == ($95_1 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + $106_1 = 0; + i64toi32_i32$5 = $233(HEAP32[((HEAP32[($7_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $536_1 = i64toi32_i32$5; + i64toi32_i32$5 = $7_1; + HEAP32[($7_1 + 16 | 0) >> 2] = $536_1; + HEAP32[($7_1 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $7_1; + i64toi32_i32$2 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $289$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $290$hi = i64toi32_i32$5; + i64toi32_i32$5 = $289$hi; + i64toi32_i32$5 = $290$hi; + i64toi32_i32$5 = $289$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = $290$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $111_1 = $41(i64toi32_i32$0 | 0, i64toi32_i32$4 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] = $111_1; + label$12 : { + if (!((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == ($106_1 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 7; + break label$1; + } + i64toi32_i32$5 = $7_1; + i64toi32_i32$4 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7_1 + 20 | 0) >> 2] | 0; + $3288(HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[($7_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$4 + 1 | 0 | 0) | 0; + $130_1 = 24; + label$13 : { + label$14 : { + if (!((((HEAPU8[(HEAP32[($7_1 + 28 | 0) >> 2] | 0) >> 0] | 0) << $130_1 | 0) >> $130_1 | 0 | 0) != (36 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($7_1 + 4 | 0) >> 2] = HEAP32[($7_1 + 28 | 0) >> 2] | 0; + break label$13; + } + $139_1 = 0; + (wasm2js_i32$0 = $7_1, wasm2js_i32$1 = $3052((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 32 | 0 | 0, $139_1 | 0, (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 1 | 0 | 0, $139_1 | 0, $7_1 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$15 : { + if (!((HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $42(HEAP32[((HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + $165_1 = $3053(HEAP32[($7_1 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] = $165_1; + $3071(HEAP32[($7_1 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($7_1 + 60 | 0) >> 2] = (HEAP32[((HEAP32[(HEAP32[($7_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 1 : 7; + break label$1; + } + label$16 : { + if (!((HEAP32[($7_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + break label$1; + } + break label$9; + } + HEAP32[($7_1 + 8 | 0) >> 2] = HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + } + $194_1 = ((HEAP32[($7_1 + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) | 0 | 0) / (12 | 0) | 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] = $194_1; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = $194_1; + HEAP8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 0] = HEAPU8[(HEAP32[($7_1 + 8 | 0) >> 2] | 0) >> 0] | 0; + label$17 : { + label$18 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) >= (6 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] = ((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + 1 | 0; + label$19 : { + label$20 : { + if (!(((HEAPU8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP8[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 20 | 0) >> 0] = HEAPU8[((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 12) | 0) >> 0] | 0; + label$21 : { + if (!((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$21 + } + if (!(((HEAPU8[(((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0, 12) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 64 | 0)) { + break label$21 + } + $266_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($266_1 + 12 | 0) >> 2] = (HEAP32[($266_1 + 12 | 0) >> 2] | 0) + -1 | 0; + } + break label$19; + } + $270_1 = HEAP32[($7_1 + 36 | 0) >> 2] | 0; + HEAP32[($270_1 + 12 | 0) >> 2] = (HEAP32[($270_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + break label$17; + } + HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] = (HEAP32[((HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($7_1 + 60 | 0) >> 2] = 0; + } + $280_1 = HEAP32[($7_1 + 60 | 0) >> 2] | 0; + global$0 = $7_1 + 64 | 0; + return $280_1 | 0; + } + + function $3073($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $21_1 = 0, $10_1 = 0, i64toi32_i32$0 = 0, $23_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $0_1; + i64toi32_i32$0 = 0; + $10_1 = $41((HEAP32[(HEAP32[($3_1 + 8 | 0) >> 2] | 0) >> 2] | 0) << 2 | 0 | 0, i64toi32_i32$0 | 0) | 0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = $10_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $10_1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] = 1; + HEAP32[($3_1 + 12 | 0) >> 2] = 7; + break label$1; + } + $21_1 = 0; + $3080(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, $21_1 | 0, $21_1 | 0); + HEAP32[($3_1 + 12 | 0) >> 2] = $21_1; + } + $23_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + global$0 = $3_1 + 16 | 0; + return $23_1 | 0; + } + + function $3074($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $27_1 = 0, $31_1 = 0, $35_1 = 0, $87_1 = 0, $94_1 = 0, $104_1 = 0, $107_1 = 0, $123_1 = 0, $126_1 = 0, $103_1 = 0, $122_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(((HEAPU8[(((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 12) | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 64 | 0)) { + break label$3 + } + $27_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($27_1 + 12 | 0) >> 2] = (HEAP32[($27_1 + 12 | 0) >> 2] | 0) + 1 | 0; + } + $31_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($31_1 + 12 | 0) >> 2] = (HEAP32[($31_1 + 12 | 0) >> 2] | 0) + 1 | 0; + $35_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($35_1 + 4 | 0) >> 2] = (HEAP32[($35_1 + 4 | 0) >> 2] | 0) + 1 | 0; + label$4 : { + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[$3_1 >> 2] = (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + Math_imul(HEAP32[($3_1 + 4 | 0) >> 2] | 0, 12) | 0; + HEAP8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] = HEAPU8[(HEAP32[$3_1 >> 2] | 0) >> 0] | 0; + label$5 : { + if (!(((HEAPU8[(HEAP32[$3_1 >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!((HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0) == ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[$3_1 >> 2] | 0) + 8 | 0) >> 2] = 0; + break label$6; + } + $87_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[($87_1 + 8 | 0) >> 2] = (HEAP32[($87_1 + 8 | 0) >> 2] | 0) + 1 | 0; + } + } + } + break label$1; + } + $94_1 = (HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) + -6 | 0; + label$8 : { + label$9 : { + switch ($94_1 | 0) { + case 0: + $103_1 = $3027((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0, 12) | 0 | 0) | 0; + $104_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($104_1 + 12 | 0) >> 2] = (HEAP32[($104_1 + 12 | 0) >> 2] | 0) + $103_1 | 0; + $107_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($107_1 + 4 | 0) >> 2] = (HEAP32[($107_1 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$8; + case 1: + $122_1 = ($3027((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + Math_imul((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 1 | 0, 12) | 0 | 0) | 0) + 1 | 0; + $123_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($123_1 + 12 | 0) >> 2] = (HEAP32[($123_1 + 12 | 0) >> 2] | 0) + $122_1 | 0; + $126_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($126_1 + 4 | 0) >> 2] = (HEAP32[($126_1 + 4 | 0) >> 2] | 0) + 1 | 0; + break label$8; + default: + break label$9; + }; + } + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + } + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $3075($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + return (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >>> 0 >= (HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0 | 0; + } + + function $3076($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, $267_1 = 0, $7_1 = 0, $15_1 = 0, $301$hi = 0, $302$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $208_1 = 0, $129_1 = 0, $597_1 = 0, $238_1 = 0, $242_1 = 0; + $5_1 = global$0 - 320 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 316 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 312 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 308 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 304 | 0) >> 2] = HEAP32[($5_1 + 316 | 0) >> 2] | 0; + $7_1 = HEAP32[($5_1 + 304 | 0) >> 2] | 0; + HEAP32[($5_1 + 300 | 0) >> 2] = (HEAP32[($7_1 + 40 | 0) >> 2] | 0) + Math_imul(HEAP32[($7_1 + 12 | 0) >> 2] | 0, 12) | 0; + $15_1 = HEAP32[($5_1 + 308 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($15_1 | 0) { + case 0: + label$12 : { + if (HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) { + break label$12 + } + break label$1; + } + label$13 : { + label$14 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$14 + } + $3031(HEAP32[($5_1 + 300 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0, 0 | 0); + break label$13; + } + label$15 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$15 + } + label$16 : { + label$17 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$17 + } + label$18 : { + if (HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) { + break label$18 + } + break label$1; + } + HEAP32[($5_1 + 296 | 0) >> 2] = HEAP32[(((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0; + break label$16; + } + HEAP32[($5_1 + 296 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + i64toi32_i32$0 = 0; + $270(HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 296 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0); + } + } + break label$1; + case 1: + label$19 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 64 | 0)) { + break label$19 + } + HEAP32[($5_1 + 300 | 0) >> 2] = (HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 12 | 0; + } + $3031(HEAP32[($5_1 + 300 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0, 0 | 0); + break label$1; + case 2: + label$20 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 64 | 0)) { + break label$20 + } + HEAP32[($5_1 + 300 | 0) >> 2] = (HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 12 | 0; + } + $277(HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0, HEAP32[(60896 + (((HEAPU8[(HEAP32[($5_1 + 300 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) << 2 | 0) | 0) >> 2] | 0 | 0, -1 | 0, 0 | 0); + break label$1; + case 3: + label$21 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 64 | 0)) { + break label$21 + } + HEAP32[($5_1 + 300 | 0) >> 2] = (HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 12 | 0; + } + label$22 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 300 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) >= (6 | 0) & 1 | 0)) { + break label$22 + } + break label$1; + } + $3031(HEAP32[($5_1 + 300 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0, 0 | 0); + break label$1; + case 4: + $129_1 = HEAP32[($5_1 + 312 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $301$hi = i64toi32_i32$0; + i64toi32_i32$1 = (((HEAPU8[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 64 | 0 | 0) != (0 | 0) & 1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $302$hi = i64toi32_i32$0; + i64toi32_i32$0 = $301$hi; + i64toi32_i32$0 = $302$hi; + $597_1 = i64toi32_i32$1; + i64toi32_i32$0 = $301$hi; + i64toi32_i32$1 = $302$hi; + i64toi32_i32$3 = $597_1; + i64toi32_i32$4 = (HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $270($129_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$5 | 0); + break label$1; + case 5: + label$23 : { + if (!((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$23 + } + if (!((HEAPU8[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0)) { + break label$23 + } + i64toi32_i32$5 = 0; + $270(HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, i64toi32_i32$5 | 0); + } + break label$1; + case 6: + $3020($5_1 + 168 | 0 | 0, HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0); + label$24 : { + label$25 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$25 + } + $3077(HEAP32[($5_1 + 304 | 0) >> 2] | 0 | 0, $5_1 + 168 | 0 | 0, HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + break label$24; + } + label$26 : { + label$27 : { + if (!((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$27 + } + $3030($5_1 + 168 | 0 | 0, HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, $3303(HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) | 0 | 0); + break label$26; + } + $208_1 = 24; + $3021($5_1 + 168 | 0 | 0, (36 << $208_1 | 0) >> $208_1 | 0 | 0); + } + label$28 : { + label$29 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $3078(30 | 0, $5_1 + 168 | 0 | 0, 61030 | 0, $5_1 | 0); + break label$28; + } + label$30 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 255 | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$30 + } + $238_1 = HEAP32[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + $242_1 = (HEAP32[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 2 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $242_1; + $3078($238_1 | 0, $5_1 + 168 | 0 | 0, 61035 | 0, $5_1 + 16 | 0 | 0); + } + } + } + $3024($5_1 + 168 | 0 | 0); + break label$1; + case 7: + label$31 : { + if (!(((HEAPU8[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 21 | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$31 + } + $267_1 = $5_1 + 40 | 0; + $3020($267_1 | 0, HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0); + $3077(HEAP32[($5_1 + 304 | 0) >> 2] | 0 | 0, $267_1 | 0, HEAP32[((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + $3024($267_1 | 0); + break label$1; + } + default: + HEAP32[($5_1 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + label$32 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$32 + } + HEAP32[($5_1 + 36 | 0) >> 2] = 61041; + } + $277(HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0, -1 | 0, 0 | 0); + break label$1; + case 8: + break label$2; + }; + } + $277(HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0, -1 | 0, 0 | 0); + } + global$0 = $5_1 + 320 | 0; + return 0 | 0; + } + + function $3077($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0, $44_1 = 0, $61_1 = 0, $62_1 = 0, $66_1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (HEAP32[($5_1 + 36 | 0) >> 2] | 0) { + break label$2 + } + $9_1 = 24; + $3021(HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, (36 << $9_1 | 0) >> $9_1 | 0 | 0); + break label$1; + } + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $3077(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 36 | 0) >> 2] | 0, 12) | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 12) | 0; + label$3 : { + if (!(((HEAPU8[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$3 + } + $44_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + HEAP32[$5_1 >> 2] = HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $3078(30 | 0, $44_1 | 0, 61030 | 0, $5_1 | 0); + break label$1; + } + label$4 : { + if (((HEAPU8[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0) & 64 | 0) { + break label$4 + } + HEAP32[($5_1 + 32 | 0) >> 2] = (HEAP32[($5_1 + 32 | 0) >> 2] | 0) + -12 | 0; + } + $61_1 = (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 1 | 0; + $62_1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + $66_1 = (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - 2 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $66_1; + $3078($61_1 | 0, $62_1 | 0, 61035 | 0, $5_1 + 16 | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3078($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $6_1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $38$hi = 0, $39$hi = 0, $36$hi = 0, $37$hi = 0, $44$hi = 0, $33_1 = 0, $36_1 = 0, $68_1 = 0, $77_1 = 0, $44_1 = 0, $142$hi = 0; + $6_1 = global$0 - 16 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $2_1; + i64toi32_i32$2 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $36_1 = i64toi32_i32$0; + $36$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $37$hi = i64toi32_i32$1; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$1 = $37$hi; + $68_1 = i64toi32_i32$0; + i64toi32_i32$1 = $36$hi; + i64toi32_i32$2 = $36_1; + i64toi32_i32$0 = $37$hi; + i64toi32_i32$3 = $68_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $38$hi = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $39$hi = i64toi32_i32$2; + i64toi32_i32$2 = $38$hi; + i64toi32_i32$2 = $39$hi; + i64toi32_i32$2 = $38$hi; + i64toi32_i32$2 = $39$hi; + $77_1 = i64toi32_i32$5; + i64toi32_i32$2 = $38$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$5 = $39$hi; + i64toi32_i32$3 = $77_1; + label$1 : { + label$2 : { + if (!((i64toi32_i32$2 >>> 0 > i64toi32_i32$5 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + if (!($3060(HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$2 + } + break label$1; + } + HEAP32[$6_1 >> 2] = $3_1; + i64toi32_i32$3 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $80(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + i64toi32_i32$1 | 0 | 0, HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6_1 >> 2] | 0 | 0) | 0; + i64toi32_i32$3 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = $3303((HEAP32[((HEAP32[($6_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + i64toi32_i32$2 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $44_1 = i64toi32_i32$2; + $44$hi = i64toi32_i32$1; + $33_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = $33_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $44$hi; + i64toi32_i32$2 = $142$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$5 = $44_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$3 = $33_1; + HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] = i64toi32_i32$4; + } + global$0 = $6_1 + 16 | 0; + return; + } + + function $3079($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = HEAP32[((HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return 0 | 0; + } + + function $3080($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $22_1 = 0, $43_1 = 0, $80_1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = (HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 24 | 0) >> 2] | 0, 12) | 0; + HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $22_1 = (HEAPU8[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 0] | 0) + -6 | 0; + label$1 : { + label$2 : { + switch ($22_1 | 0) { + case 0: + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$5 + } + $3080(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + $43_1 = $3027((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 12) | 0 | 0) | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + $43_1 | 0; + continue label$6; + }; + } + break label$1; + case 1: + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0) >>> 0 <= (HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + $3080(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, ((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) + 1 | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + $80_1 = ($3027(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($5_1 + 12 | 0) >> 2] | 0, 12) | 0) + 12 | 0 | 0) | 0) + 1 | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + $80_1 | 0; + continue label$8; + }; + } + break label$1; + default: + break label$2; + }; + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3081($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + (wasm2js_i32$0 = $4_1, wasm2js_i32$1 = $3069(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (HEAP32[($4_1 + 4 | 0) >> 2] | 0) { + break label$1 + } + HEAP32[$4_1 >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP8[((HEAP32[$4_1 >> 2] | 0) + 21 | 0) >> 0] = 1; + } + $13_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $13_1 | 0; + } + + function $3082($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $25_1 = 0, $78_1 = 0, $20_1 = 0, $24_1 = 0, $37_1 = 0, $72_1 = 0, $90_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 < 40 >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[($3_1 + 4 | 0) >> 2] = 0; + $20_1 = (HEAPU8[(Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) + 61493 | 0) >> 0] | 0) + -1 | 0; + label$3 : { + label$4 : { + switch ($20_1 | 0) { + case 0: + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + break label$3; + case 1: + break label$4; + default: + break label$3; + }; + } + HEAP32[($3_1 + 4 | 0) >> 2] = -1; + } + $24_1 = 0; + $25_1 = 61488; + $37_1 = 24; + $464(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($25_1 + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) | 0) >> 2] | 0 | 0, ((HEAPU8[(($25_1 + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) | 0) + 4 | 0) >> 0] | 0) << $37_1 | 0) >> $37_1 | 0 | 0, (HEAPU8[(($25_1 + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) | 0) + 6 | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[(($25_1 + Math_imul(HEAP32[($3_1 + 8 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0 | 0, $24_1 | 0, $24_1 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($3_1 + 8 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0) >>> 0 < 6 >>> 0 & 1 | 0)) { + break label$6 + } + HEAP32[$3_1 >> 2] = 0; + $72_1 = (HEAPU8[(((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) + 62213 | 0) >> 0] | 0) + -1 | 0; + label$8 : { + label$9 : { + switch ($72_1 | 0) { + case 0: + HEAP32[$3_1 >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + break label$8; + case 1: + break label$9; + default: + break label$8; + }; + } + HEAP32[$3_1 >> 2] = -1; + } + $78_1 = 62208; + $90_1 = 24; + $464(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($78_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] | 0 | 0, ((HEAPU8[(($78_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 0] | 0) << $90_1 | 0) >> $90_1 | 0 | 0, 1 | 0, HEAP32[$3_1 >> 2] | 0 | 0, 0 | 0, HEAP32[(($78_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[(($78_1 + ((HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 4 | 0) | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $3083($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 378 | 0, 62439 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3178(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3084($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 379 | 0, 62448 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3181(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3085($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 380 | 0, 62457 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3184(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3086($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $44_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $44_1 = +(0 | 0); + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = $44_1; + HEAPF64[$5_1 >> 3] = $44_1; + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62466 | 0, 62378 | 0, 570 | 0, 62474 | 0); + abort(); + } + label$2 : { + label$3 : { + label$4 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0) { + break label$4 + } + if (!(($248(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0)), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+$3186(+(+HEAPF64[($5_1 + 8 | 0) >> 3]), +(+HEAPF64[$5_1 >> 3])))); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3087($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 394 | 0, 62483 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3180(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3088($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 402 | 0, 62493 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3183(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3089($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 410 | 0, 62503 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3188(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3090($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $74_1 = 0, $78_1 = 0, $89_1 = 0, $93_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $5_1 + 44 | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $5_1 + 36 | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $7_1; + label$1 : { + if ((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62466 | 0, 62378 | 0, 1680 | 0, 62513 | 0); + abort(); + } + label$2 : { + label$3 : { + label$4 : { + if (($248(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0) { + break label$4 + } + if (!(($248(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + } + $271(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $3091(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0); + $3091(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (!(($3092(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) == ($3092(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 1 | 0; + } + label$8 : { + label$9 : while (1) { + $74_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $74_1 + 1 | 0; + $78_1 = 24; + if (!(((((HEAPU8[($74_1 + 1 | 0) >> 0] | 0) << $78_1 | 0) >> $78_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$8 + } + continue label$9; + }; + } + label$10 : { + label$11 : while (1) { + $89_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $89_1 + 1 | 0; + $93_1 = 24; + if (!(((((HEAPU8[($89_1 + 1 | 0) >> 0] | 0) << $93_1 | 0) >> $93_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$10 + } + continue label$11; + }; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + $267(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $3091($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $13_1 = 0, $62_1 = 0, $98_1 = 0, $114_1 = 0, $52_1 = 0, $96_1 = 0, $97_1 = 0, $113_1 = 0; + $4_1 = global$0 - 32 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 20 | 0) >> 2] = 0; + label$1 : while (1) { + $13_1 = 0; + label$2 : { + if (!((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0)) { + break label$2 + } + $13_1 = ($3163((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) | 0 | 0) != (0 | 0) ^ -1 | 0; + } + label$3 : { + if (!($13_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$1; + } + break label$1; + }; + label$4 : { + label$5 : { + if (!(((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0)) { + break label$5 + } + $52_1 = $3168((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) | 0; + HEAP8[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 0] = $52_1; + HEAP32[($4_1 + 16 | 0) >> 2] = 1; + label$6 : while (1) { + $62_1 = 0; + label$7 : { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$7 + } + $62_1 = ((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0) != (0 | 0); + } + label$8 : { + if (!($62_1 & 1 | 0)) { + break label$8 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAPU8[((((HEAPU8[((HEAP32[($4_1 + 28 | 0) >> 2] | 0) + (HEAP32[($4_1 + 20 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0) & 127 | 0) + 62528 | 0) >> 0] | 0) & 255 | 0; + label$9 : { + if (!((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$9 + } + $96_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 48 | 0; + $97_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $98_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $98_1 + 1 | 0; + HEAP8[($97_1 + $98_1 | 0) >> 0] = $96_1; + } + HEAP32[($4_1 + 20 | 0) >> 2] = (HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + } + break label$6; + }; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($4_1 + 16 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$10 + } + $113_1 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + $114_1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; + HEAP32[($4_1 + 16 | 0) >> 2] = $114_1 + 1 | 0; + HEAP8[($113_1 + $114_1 | 0) >> 0] = 48; + continue label$11; + }; + } + HEAP8[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + (HEAP32[($4_1 + 16 | 0) >> 2] | 0) | 0) >> 0] = 0; + break label$4; + } + $3231(HEAP32[($4_1 + 24 | 0) >> 2] | 0 | 0, 62656 | 0) | 0; + } + global$0 = $4_1 + 32 | 0; + return; + } + + function $3092($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0, $14_1 = 0, $20_1 = 0, $30_1 = 0, $42_1 = 0, $19_1 = 0, $29_1 = 0, $41_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $4_1 + 1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = HEAPU8[$4_1 >> 0] | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAPU8[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 62672 | 0) >> 0] | 0; + $14_1 = (HEAP32[($3_1 + 4 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + label$2 : { + switch ($14_1 | 0) { + case 3: + HEAP32[($3_1 + 8 | 0) >> 2] = 65533; + break label$1; + case 2: + $19_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 6 | 0; + $20_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $20_1 + 1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $19_1 + ((HEAPU8[$20_1 >> 0] | 0) & 255 | 0) | 0; + case 1: + $29_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 6 | 0; + $30_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $30_1 + 1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $29_1 + ((HEAPU8[$30_1 >> 0] | 0) & 255 | 0) | 0; + break; + case 0: + break label$2; + default: + break label$1; + }; + } + $41_1 = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) << 6 | 0; + $42_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $42_1 + 1 | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = $41_1 + ((HEAPU8[$42_1 >> 0] | 0) & 255 | 0) | 0; + HEAP32[($3_1 + 8 | 0) >> 2] = (HEAP32[($3_1 + 8 | 0) >> 2] | 0) - (HEAP32[(62928 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) | 0; + label$6 : { + label$7 : { + if (!((HEAP32[(62944 + ((HEAP32[($3_1 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) & (HEAP32[($3_1 + 8 | 0) >> 2] | 0) | 0)) { + break label$7 + } + if (((HEAP32[($3_1 + 8 | 0) >> 2] | 0) & -2048 | 0 | 0) == (55296 | 0) & 1 | 0) { + break label$7 + } + if (!(((HEAP32[($3_1 + 8 | 0) >> 2] | 0) & -2 | 0 | 0) == (65534 | 0) & 1 | 0)) { + break label$6 + } + } + HEAP32[($3_1 + 8 | 0) >> 2] = 65533; + } + } + return HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0; + } + + function $3093($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 498 | 0, 62960 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3094(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3094($0_1) { + $0_1 = +$0_1; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAPF64[($3_1 + 8 | 0) >> 3] = $0_1; + return +(180.0 * +HEAPF64[($3_1 + 8 | 0) >> 3] / 3.141592653589793); + } + + function $3095($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 499 | 0, 62972 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3096(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3096($0_1) { + $0_1 = +$0_1; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + HEAPF64[($3_1 + 8 | 0) >> 3] = $0_1; + return +(+HEAPF64[($3_1 + 8 | 0) >> 3] * 3.141592653589793 / 180.0); + } + + function $3097($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 420 | 0, 62984 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3193(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3098($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 419 | 0, 62992 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3205(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3099($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 421 | 0, 63e3 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3209(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3100($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 422 | 0, 63008 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3101(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3101($0_1) { + $0_1 = +$0_1; + var $3_1 = 0, $9_1 = 0.0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAPF64[($3_1 + 8 | 0) >> 3] = $0_1; + $9_1 = 1.0 / +$3209(+(+HEAPF64[($3_1 + 8 | 0) >> 3])); + global$0 = $3_1 + 16 | 0; + return +$9_1; + } + + function $3102($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 446 | 0, 63016 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3195(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3103($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 438 | 0, 63025 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3206(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3104($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 454 | 0, 63034 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3210(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3105($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 456 | 0, 63043 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3106(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3106($0_1) { + $0_1 = +$0_1; + var $3_1 = 0, $9_1 = 0.0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAPF64[($3_1 + 8 | 0) >> 3] = $0_1; + $9_1 = 1.0 / +$3210(+(+HEAPF64[($3_1 + 8 | 0) >> 3])); + global$0 = $3_1 + 16 | 0; + return +$9_1; + } + + function $3107($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 474 | 0, 63052 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3196(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3108($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 472 | 0, 63060 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3202(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3109($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 473 | 0, 63068 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3286(+(+HEAPF64[($5_1 + 8 | 0) >> 3]))), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3110($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $54_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $54_1 = +(0 | 0); + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 24 | 0) >> 3] = $54_1; + HEAPF64[($5_1 + 16 | 0) >> 3] = $54_1; + label$1 : { + if ((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62466 | 0, 62378 | 0, 546 | 0, 63078 | 0); + abort(); + } + label$2 : { + label$3 : { + label$4 : { + if (($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0) { + break label$4 + } + if (!(($248(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + } + $271(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 24 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 16 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$3204(+(+HEAPF64[($5_1 + 24 | 0) >> 3]), +(+HEAPF64[($5_1 + 16 | 0) >> 3]))), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + label$5 : { + label$6 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$6 + } + $260(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, +(+HEAPF64[($5_1 + 8 | 0) >> 3])); + break label$5; + } + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3111($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$0 = 0, $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $60$hi = 0, $30_1 = 0, $65$hi = 0, $22_1 = 0, $63$hi = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $67$hi = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $48_1 = 0, $50_1 = 0, $131_1 = 0, $31_1 = 0, $32_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + i64toi32_i32$1 = $5_1; + HEAP32[$5_1 >> 2] = 0; + HEAP32[($5_1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 590 | 0, 63088 | 0); + abort(); + } + $22_1 = ($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$2 : { + label$3 : { + switch ($22_1 | 0) { + case 0: + i64toi32_i32$0 = 0; + $60$hi = i64toi32_i32$0; + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $131_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[i64toi32_i32$0 >> 2] = $131_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $63$hi = i64toi32_i32$0; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $19_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $20_1 = 0 + } else { + $20_1 = 1 + } + $21_1 = $20_1; + } else { + $21_1 = 0 + } + $19_1 = $21_1; + } + label$6 : { + label$7 : { + if (!($19_1 & 1 | 0)) { + break label$7 + } + $30_1 = 1; + break label$6; + } + $31_1 = -1; + $32_1 = 0; + i64toi32_i32$2 = 0; + $65$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[$5_1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + $67$hi = i64toi32_i32$0; + i64toi32_i32$0 = $65$hi; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$0 = $65$hi; + i64toi32_i32$0 = $67$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $65$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$2 | 0)) { + $23_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $24_1 = 0 + } else { + $24_1 = 1 + } + $25_1 = $24_1; + } else { + $25_1 = 0 + } + $23_1 = $25_1; + } + $30_1 = $23_1 & 1 | 0 ? $31_1 : $32_1; + } + i64toi32_i32$0 = $30_1; + i64toi32_i32$3 = i64toi32_i32$0 >> 31 | 0; + i64toi32_i32$0 = $5_1; + HEAP32[i64toi32_i32$0 >> 2] = $30_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$0 | 0); + break label$2; + case 4: + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + default: + break label$3; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + label$8 : { + label$9 : { + if (!(+HEAPF64[($5_1 + 8 | 0) >> 3] > +(0 | 0) & 1 | 0)) { + break label$9 + } + $48_1 = 1; + break label$8; + } + $50_1 = 0; + $48_1 = +HEAPF64[($5_1 + 8 | 0) >> 3] < +($50_1 | 0) & 1 | 0 ? -1 : $50_1; + } + HEAPF64[($5_1 + 8 | 0) >> 3] = +($48_1 | 0); + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[($5_1 + 8 | 0) >> 3])); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3112($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 8 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 375 | 0, 63097 | 0); + abort(); + } + label$2 : { + label$3 : { + if (($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) != (5 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 8 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAPF64[$5_1 >> 3] = Math_sqrt(+HEAPF64[($5_1 + 8 | 0) >> 3]); + label$4 : { + label$5 : { + if (HEAP32[($3169() | 0) >> 2] | 0) { + break label$5 + } + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3])); + break label$4; + } + $263(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, $3171(HEAP32[($3169() | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3169() | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3113($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $22_1 = 0, $35$hi = 0, $36$hi = 0, $95_1 = 0, $26_1 = 0, $35_1 = 0, $103_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAPF64[$5_1 >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 514 | 0, 63106 | 0); + abort(); + } + $22_1 = ($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$2 : { + label$3 : { + switch ($22_1 | 0) { + case 0: + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $95_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $95_1; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$1; + $26_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $35_1 = i64toi32_i32$1; + $35$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $36$hi = i64toi32_i32$1; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $36$hi; + $103_1 = i64toi32_i32$0; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$0 = __wasm_i64_mul($35_1 | 0, i64toi32_i32$1 | 0, $103_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $270($26_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + break label$2; + case 4: + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + default: + break label$3; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + $260(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, +(+HEAPF64[$5_1 >> 3] * +HEAPF64[$5_1 >> 3])); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3114($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0.0, i64toi32_i32$1 = 0, $22_1 = 0, $45_1 = 0.0, $13_1 = 0, $14_1 = 0, $39_1 = 0, $39$hi = 0, $100_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 24 | 0) >> 3] = +(0 | 0); + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if ((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 620 | 0, 63117 | 0); + abort(); + } + $22_1 = ($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$2 : { + label$3 : { + switch ($22_1 | 0) { + case 0: + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $100_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $100_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$2; + case 4: + $271(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + default: + break label$3; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 24 | 0) >> 3] = wasm2js_f64$0; + $30_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $45_1 = Math_ceil(+HEAPF64[($5_1 + 24 | 0) >> 3]); + label$6 : { + label$7 : { + if (!(Math_abs($45_1) < 9223372036854775808.0)) { + break label$7 + } + i64toi32_i32$3 = $45_1; + if (Math_abs(i64toi32_i32$3) >= 1.0) { + if (i64toi32_i32$3 > 0.0) { + $13_1 = ~~Math_min(Math_floor(i64toi32_i32$3 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $13_1 = ~~Math_ceil((i64toi32_i32$3 - +(~~i64toi32_i32$3 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $14_1 = $13_1; + } else { + $14_1 = 0 + } + i64toi32_i32$0 = $14_1; + $39_1 = ~~i64toi32_i32$3 >>> 0; + $39$hi = i64toi32_i32$0; + break label$6; + } + i64toi32_i32$0 = -2147483648; + $39_1 = 0; + $39$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $39$hi; + $270($30_1 | 0, $39_1 | 0, i64toi32_i32$0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3115($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0.0, i64toi32_i32$1 = 0, $22_1 = 0, $45_1 = 0.0, $13_1 = 0, $14_1 = 0, $39_1 = 0, $39$hi = 0, $100_1 = 0, $30_1 = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAPF64[($5_1 + 24 | 0) >> 3] = +(0 | 0); + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = 0; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if ((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 645 | 0, 63126 | 0); + abort(); + } + $22_1 = ($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$2 : { + label$3 : { + switch ($22_1 | 0) { + case 0: + i64toi32_i32$0 = $62(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $100_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $100_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $270(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + break label$2; + case 4: + $271(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + default: + break label$3; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 24 | 0) >> 3] = wasm2js_f64$0; + $30_1 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $45_1 = Math_floor(+HEAPF64[($5_1 + 24 | 0) >> 3]); + label$6 : { + label$7 : { + if (!(Math_abs($45_1) < 9223372036854775808.0)) { + break label$7 + } + i64toi32_i32$3 = $45_1; + if (Math_abs(i64toi32_i32$3) >= 1.0) { + if (i64toi32_i32$3 > 0.0) { + $13_1 = ~~Math_min(Math_floor(i64toi32_i32$3 / 4294967296.0), 4294967296.0 - 1.0) >>> 0 + } else { + $13_1 = ~~Math_ceil((i64toi32_i32$3 - +(~~i64toi32_i32$3 >>> 0 >>> 0)) / 4294967296.0) >>> 0 + } + $14_1 = $13_1; + } else { + $14_1 = 0 + } + i64toi32_i32$0 = $14_1; + $39_1 = ~~i64toi32_i32$3 >>> 0; + $39$hi = i64toi32_i32$0; + break label$6; + } + i64toi32_i32$0 = -2147483648; + $39_1 = 0; + $39$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $39$hi; + $270($30_1 | 0, $39_1 | 0, i64toi32_i32$0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3116($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $260(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, +(3.141592653589793)); + global$0 = $5_1 + 16 | 0; + return; + } + + function $3117($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$0 = 0, $5_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $88$hi = 0, $104$hi = 0, $105$hi = 0, $91$hi = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $94$hi = 0, $95$hi = 0, $97$hi = 0, $98$hi = 0, $100$hi = 0, $101$hi = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $108$hi = 0, $109$hi = 0, $111$hi = 0, $112$hi = 0, $80_1 = 0, $161_1 = 0, $30_1 = 0, $189_1 = 0, $94_1 = 0, $195_1 = 0, $198_1 = 0, $104_1 = 0, $297_1 = 0, $76_1 = 0, $108_1 = 0, $311_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0) { + break label$3 + } + if (!((5 | 0) == ($248(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + i64toi32_i32$0 = 0; + $88$hi = i64toi32_i32$0; + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $161_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $161_1; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $91$hi = i64toi32_i32$0; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$0 = $91$hi; + i64toi32_i32$0 = $88$hi; + i64toi32_i32$0 = $91$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $88$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $36_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $37_1 = 0 + } else { + $37_1 = 1 + } + $38_1 = $37_1; + } else { + $38_1 = 0 + } + $36_1 = $38_1; + } + label$4 : { + if (!($36_1 & 1 | 0)) { + break label$4 + } + $263(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 63136 | 0, -1 | 0); + break label$1; + } + $30_1 = 0; + i64toi32_i32$0 = $233(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $189_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $189_1; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; + $94_1 = i64toi32_i32$2; + $94$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $95$hi = i64toi32_i32$2; + i64toi32_i32$2 = $94$hi; + i64toi32_i32$2 = $95$hi; + $195_1 = i64toi32_i32$0; + i64toi32_i32$2 = $94$hi; + i64toi32_i32$0 = $95$hi; + i64toi32_i32$0 = __wasm_i64_mul($94_1 | 0, i64toi32_i32$2 | 0, $195_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $198_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $198_1; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $97$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $98$hi = i64toi32_i32$0; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $98$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(i64toi32_i32$4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; + $100$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $101$hi = i64toi32_i32$3; + i64toi32_i32$3 = $100$hi; + i64toi32_i32$3 = $101$hi; + i64toi32_i32$3 = $100$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $101$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) != ($30_1 | 0) & 1 | 0)) { + break label$6 + } + if ((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + } + $286(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + label$7 : { + if (!((HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $42(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!((HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $42(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + } + break label$1; + } + i64toi32_i32$4 = 0; + $3231(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + i64toi32_i32$0 = $5_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$4; + label$9 : { + label$10 : while (1) { + i64toi32_i32$3 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $104_1 = i64toi32_i32$4; + $104$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $105$hi = i64toi32_i32$4; + i64toi32_i32$4 = $104$hi; + i64toi32_i32$4 = $105$hi; + i64toi32_i32$4 = $104$hi; + i64toi32_i32$4 = $105$hi; + $297_1 = i64toi32_i32$0; + i64toi32_i32$4 = $104$hi; + i64toi32_i32$3 = $104_1; + i64toi32_i32$0 = $105$hi; + i64toi32_i32$1 = $297_1; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$0 | 0)) { + $39_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $40_1 = 0 + } else { + $40_1 = 1 + } + $41_1 = $40_1; + } else { + $41_1 = 0 + } + $39_1 = $41_1; + } + if (!($39_1 & 1 | 0)) { + break label$9 + } + $76_1 = HEAP32[($5_1 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $108_1 = i64toi32_i32$3; + $108$hi = i64toi32_i32$4; + i64toi32_i32$1 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $109$hi = i64toi32_i32$3; + i64toi32_i32$3 = $108$hi; + i64toi32_i32$3 = $109$hi; + $311_1 = i64toi32_i32$4; + i64toi32_i32$3 = $108$hi; + i64toi32_i32$4 = $109$hi; + i64toi32_i32$4 = __wasm_i64_mul($108_1 | 0, i64toi32_i32$3 | 0, $311_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $3231($76_1 + i64toi32_i32$4 | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + $111$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $112$hi = i64toi32_i32$4; + i64toi32_i32$4 = $111$hi; + i64toi32_i32$4 = $112$hi; + i64toi32_i32$4 = $111$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $112$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = i64toi32_i32$5; + HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$2; + continue label$10; + }; + } + $80_1 = -1; + $277(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0, $80_1 | 0, $80_1 | 0); + $42(HEAP32[($5_1 + 48 | 0) >> 2] | 0 | 0); + $42(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $3118($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $7_1; + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0) { + break label$1 + } + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(63149 | 0, 62378 | 0, 1038 | 0, 63167 | 0); + abort(); + } + label$2 : { + label$3 : { + label$4 : { + if ((5 | 0) == ($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0) { + break label$4 + } + if (!((5 | 0) == ($248(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$5 + } + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = ($239(HEAP32[((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + } + break label$6; + } + HEAP32[($5_1 + 8 | 0) >> 2] = 0; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3119(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $267(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 1 | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3119($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $96_1 = 0, $7_1 = 0, $11_1 = 0, $23_1 = 0, $24_1 = 0, $35_1 = 0, $39_1 = 0, $59_1 = 0, $63_1 = 0, $74_1 = 0, $78_1 = 0, $110_1 = 0, $114_1 = 0, $146_1 = 0, $149_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + $7_1 = 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $7_1; + HEAP32[($6_1 + 20 | 0) >> 2] = -1; + $11_1 = 24; + label$1 : { + label$2 : { + if (!(($7_1 | 0) == (((HEAPU8[(HEAP32[($6_1 + 40 | 0) >> 2] | 0) >> 0] | 0) << $11_1 | 0) >> $11_1 | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6_1 + 44 | 0) >> 2] = -1; + break label$1; + } + label$3 : while (1) { + $23_1 = 0; + label$4 : { + if (!($3092(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$4 + } + $24_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $24_1 + 1 | 0; + $23_1 = ($24_1 | 0) < (HEAP32[($6_1 + 32 | 0) >> 2] | 0 | 0); + } + label$5 : { + if (!($23_1 & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : while (1) { + $35_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = $35_1 + 1 | 0; + $39_1 = 24; + if (!(((((HEAPU8[($35_1 + 1 | 0) >> 0] | 0) << $39_1 | 0) >> $39_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$6 + } + continue label$7; + }; + } + continue label$3; + } + break label$3; + }; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!($3092(HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) | 0)) { + break label$8 + } + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + label$10 : while (1) { + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3092(HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $3092(HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + label$12 : while (1) { + $59_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $59_1 + 1 | 0; + $63_1 = 24; + if (!(((((HEAPU8[($59_1 + 1 | 0) >> 0] | 0) << $63_1 | 0) >> $63_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$11 + } + continue label$12; + }; + } + label$13 : { + label$14 : while (1) { + $74_1 = HEAP32[($6_1 + 12 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $74_1 + 1 | 0; + $78_1 = 24; + if (!(((((HEAPU8[($74_1 + 1 | 0) >> 0] | 0) << $78_1 | 0) >> $78_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$13 + } + continue label$14; + }; + } + $96_1 = 0; + label$15 : { + if (!((HEAP32[($6_1 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + $96_1 = 0; + if (!(HEAP32[($6_1 + 8 | 0) >> 2] | 0)) { + break label$15 + } + $96_1 = (HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0); + } + if ($96_1 & 1 | 0) { + continue label$10 + } + break label$10; + }; + label$16 : { + if (HEAP32[($6_1 + 8 | 0) >> 2] | 0) { + break label$16 + } + HEAP32[($6_1 + 20 | 0) >> 2] = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + break label$8; + } + label$17 : { + label$18 : while (1) { + $110_1 = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + HEAP32[($6_1 + 36 | 0) >> 2] = $110_1 + 1 | 0; + $114_1 = 24; + if (!(((((HEAPU8[($110_1 + 1 | 0) >> 0] | 0) << $114_1 | 0) >> $114_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$17 + } + continue label$18; + }; + } + HEAP32[($6_1 + 24 | 0) >> 2] = (HEAP32[($6_1 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$19 : { + if (!((HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($6_1 + 36 | 0) >> 2] | 0; + } + label$20 : { + label$21 : { + if (!((HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$21 + } + $146_1 = (HEAP32[($6_1 + 20 | 0) >> 2] | 0) + (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0; + break label$20; + } + $146_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 44 | 0) >> 2] = $146_1; + } + $149_1 = HEAP32[($6_1 + 44 | 0) >> 2] | 0; + global$0 = $6_1 + 48 | 0; + return $149_1 | 0; + } + + function $3120($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $47_1 = 0, $48_1 = 0, $59_1 = 0, $89_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $7_1; + label$1 : { + if ((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62466 | 0, 62378 | 0, 1073 | 0, 63181 | 0); + abort(); + } + label$2 : { + label$3 : { + label$4 : { + if ((5 | 0) == ($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0) { + break label$4 + } + if (!((5 | 0) == ($248(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + } + $271(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + label$5 : while (1) { + $47_1 = 0; + label$6 : { + if (!($3092(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$6 + } + $48_1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = $48_1 + 1 | 0; + $47_1 = ($48_1 | 0) < (HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + label$7 : { + if (!($47_1 & 1 | 0)) { + break label$7 + } + label$8 : { + label$9 : while (1) { + $59_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $59_1 + 1 | 0; + if (!((((HEAPU8[($59_1 + 1 | 0) >> 0] | 0) & 255 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$8 + } + continue label$9; + }; + } + continue label$5; + } + break label$5; + }; + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(((HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$10 + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + $89_1 = -1; + $3236(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP8[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + (HEAP32[($5_1 + 28 | 0) >> 2] | 0) | 0) >> 0] = 0; + $277(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $89_1 | 0, $89_1 | 0); + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3121($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $47_1 = 0, $51_1 = 0, $78_1 = 0, $87_1 = 0, $91_1 = 0, $115_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $7_1; + label$1 : { + if ((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62466 | 0, 62378 | 0, 1113 | 0, 63190 | 0); + abort(); + } + label$2 : { + label$3 : { + label$4 : { + if ((5 | 0) == ($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0) { + break label$4 + } + if (!((5 | 0) == ($248(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + } + $271(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $239(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + if (!($3092(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + label$7 : { + label$8 : while (1) { + $47_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $47_1 + 1 | 0; + $51_1 = 24; + if (!(((((HEAPU8[($47_1 + 1 | 0) >> 0] | 0) << $51_1 | 0) >> $51_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$7 + } + continue label$8; + }; + } + HEAP32[($5_1 + 28 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($5_1 + 12 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = (HEAP32[($5_1 + 28 | 0) >> 2] | 0) - (HEAP32[($5_1 + 32 | 0) >> 2] | 0) | 0; + label$9 : { + if (!((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5_1 + 24 | 0) >> 2] = 0; + } + label$10 : { + label$11 : while (1) { + $78_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $78_1 + -1 | 0; + if (!(($78_1 | 0) > (0 | 0) & 1 | 0)) { + break label$10 + } + label$12 : { + label$13 : while (1) { + $87_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $87_1 + 1 | 0; + $91_1 = 24; + if (!(((((HEAPU8[($87_1 + 1 | 0) >> 0] | 0) << $91_1 | 0) >> $91_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$12 + } + continue label$13; + }; + } + continue label$11; + }; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(((HEAP32[($5_1 + 12 | 0) >> 2] | 0) - (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if ((HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$14 + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + $115_1 = -1; + $3231(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + $277(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $115_1 | 0, $115_1 | 0); + $42(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3122($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $49_1 = 0, $57_1 = 0, $61_1 = 0, $89_1 = 0, $95_1 = 0, $88_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $7_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $7_1; + label$1 : { + if ((1 | 0) == (HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$1 + } + fimport$5(63200 | 0, 62378 | 0, 1323 | 0, 63208 | 0); + abort(); + } + label$2 : { + label$3 : { + if (!((5 | 0) == ($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 24 | 0) >> 2] | 0) + (HEAP32[($5_1 + 16 | 0) >> 2] | 0) | 0; + $49_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $49_1 + -1 | 0; + HEAP8[$49_1 >> 0] = 0; + HEAP32[($5_1 + 28 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + if (!($3092(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0) | 0)) { + break label$5 + } + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + label$7 : { + label$8 : while (1) { + $57_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 28 | 0) >> 2] = $57_1 + 1 | 0; + $61_1 = 24; + if (!(((((HEAPU8[($57_1 + 1 | 0) >> 0] | 0) << $61_1 | 0) >> $61_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$7 + } + continue label$8; + }; + } + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + label$9 : { + label$10 : while (1) { + if (!(((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (0 - (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) | 0) >>> 0 >= (HEAP32[($5_1 + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$9 + } + $88_1 = HEAPU8[((HEAP32[($5_1 + 28 | 0) >> 2] | 0) + (0 - (HEAP32[($5_1 + 12 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0; + $89_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $89_1 + -1 | 0; + HEAP8[$89_1 >> 0] = $88_1; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + continue label$6; + }; + } + $95_1 = -1; + $277(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, $95_1 | 0, $95_1 | 0); + $42(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3123($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $41_1 = 0, $44_1 = 0, $45_1 = 0, $49_1 = 0, $62_1 = 0, $67_1 = 0, $73_1 = 0, $76_1 = 0, $72_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + $6_1 = 1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[$5_1 >> 2] = $6_1; + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == ($6_1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 724 | 0, 63220 | 0); + abort(); + } + label$2 : { + label$3 : { + if (!((5 | 0) == ($248(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3124(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + $286(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0); + break label$2; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + label$5 : { + label$6 : while (1) { + $41_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $41_1 + 1 | 0; + $44_1 = HEAPU8[$41_1 >> 0] | 0; + HEAP8[($5_1 + 7 | 0) >> 0] = $44_1; + $45_1 = 24; + if (!(($44_1 << $45_1 | 0) >> $45_1 | 0)) { + break label$5 + } + $49_1 = 24; + label$7 : { + label$8 : { + if (!($3164(((HEAPU8[($5_1 + 7 | 0) >> 0] | 0) << $49_1 | 0) >> $49_1 | 0 | 0) | 0)) { + break label$8 + } + HEAP32[$5_1 >> 2] = 1; + break label$7; + } + label$9 : { + label$10 : { + if (!((HEAP32[$5_1 >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$10 + } + $62_1 = 24; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3168(((HEAPU8[($5_1 + 7 | 0) >> 0] | 0) << $62_1 | 0) >> $62_1 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 7 | 0) >> 0] = wasm2js_i32$1; + break label$9; + } + $67_1 = 24; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3166(((HEAPU8[($5_1 + 7 | 0) >> 0] | 0) << $67_1 | 0) >> $67_1 | 0 | 0) | 0), HEAP8[(wasm2js_i32$0 + 7 | 0) >> 0] = wasm2js_i32$1; + } + HEAP32[$5_1 >> 2] = 0; + } + $72_1 = HEAPU8[($5_1 + 7 | 0) >> 0] | 0; + $73_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $73_1 + 1 | 0; + HEAP8[$73_1 >> 0] = $72_1; + continue label$6; + }; + } + $76_1 = -1; + HEAP8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] = 0; + $277(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $76_1 | 0, $76_1 | 0); + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3124($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $11_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $38(($3303(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $11_1 = $3231(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $11_1 | 0; + } + + function $3125($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $94$hi = 0, $100$hi = 0, $101$hi = 0, $113$hi = 0, $114$hi = 0, $97$hi = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $56_1 = 0, $104$hi = 0, $105$hi = 0, $106$hi = 0, $107$hi = 0, $108$hi = 0, $109$hi = 0, $111$hi = 0, $112$hi = 0, $44_1 = 0, $45_1 = 0, $46_1 = 0, $80_1 = 0, $88_1 = 0, $179_1 = 0, $206_1 = 0, $100_1 = 0, $214_1 = 0, $59_1 = 0, $104_1 = 0, $259_1 = 0, $264_1 = 0, $111_1 = 0, $303_1 = 0, $310_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 12 | 0) >> 2] = 0; + label$1 : { + if ((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62466 | 0, 62378 | 0, 771 | 0, 63231 | 0); + abort(); + } + label$2 : { + label$3 : { + if (!(($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + i64toi32_i32$0 = 0; + $94$hi = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $179_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $179_1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $97$hi = i64toi32_i32$0; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $94$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $38_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $39_1 = 0 + } else { + $39_1 = 1 + } + $40_1 = $39_1; + } else { + $40_1 = 0 + } + $38_1 = $40_1; + } + label$4 : { + if (!($38_1 & 1 | 0)) { + break label$4 + } + $263(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, 63136 | 0, -1 | 0); + break label$2; + } + i64toi32_i32$0 = $3126(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $206_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 16 | 0) >> 2] = $206_1; + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $100_1 = i64toi32_i32$2; + $100$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $101$hi = i64toi32_i32$2; + i64toi32_i32$2 = $100$hi; + i64toi32_i32$2 = $101$hi; + i64toi32_i32$2 = $100$hi; + i64toi32_i32$2 = $101$hi; + $214_1 = i64toi32_i32$0; + i64toi32_i32$2 = $100$hi; + i64toi32_i32$3 = $100_1; + i64toi32_i32$0 = $101$hi; + i64toi32_i32$1 = $214_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $41_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { + $42_1 = 0 + } else { + $42_1 = 1 + } + $43_1 = $42_1; + } else { + $43_1 = 0 + } + $41_1 = $43_1; + } + label$5 : { + label$6 : { + if (!($41_1 & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3124(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + $56_1 = -1; + $277(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $56_1 | 0, $56_1 | 0); + break label$5; + } + $59_1 = 0; + i64toi32_i32$3 = 0; + $104_1 = $3303(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + $104$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $105$hi = i64toi32_i32$2; + i64toi32_i32$2 = $104$hi; + i64toi32_i32$2 = $105$hi; + $259_1 = i64toi32_i32$3; + i64toi32_i32$2 = $104$hi; + i64toi32_i32$1 = $104_1; + i64toi32_i32$3 = $105$hi; + i64toi32_i32$0 = $259_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $106$hi = i64toi32_i32$5; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $107$hi = i64toi32_i32$1; + i64toi32_i32$1 = $106$hi; + i64toi32_i32$1 = $107$hi; + $264_1 = i64toi32_i32$5; + i64toi32_i32$1 = $106$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$5 = $107$hi; + i64toi32_i32$0 = $264_1; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$4 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$4 | 0; + $108$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $109$hi = i64toi32_i32$4; + i64toi32_i32$4 = $108$hi; + i64toi32_i32$4 = $109$hi; + i64toi32_i32$4 = $108$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$2 = $109$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if ((HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0) != ($59_1 | 0) & 1 | 0) { + break label$8 + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + HEAP32[$5_1 >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 12 | 0) >> 2] = 1; + label$9 : { + label$10 : while (1) { + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$1 >> 31 | 0; + $111_1 = i64toi32_i32$1; + $111$hi = i64toi32_i32$3; + i64toi32_i32$4 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + $112$hi = i64toi32_i32$1; + i64toi32_i32$1 = $111$hi; + i64toi32_i32$1 = $112$hi; + $303_1 = i64toi32_i32$3; + i64toi32_i32$1 = $111$hi; + i64toi32_i32$4 = $111_1; + i64toi32_i32$3 = $112$hi; + i64toi32_i32$0 = $303_1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $113$hi = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $114$hi = i64toi32_i32$4; + i64toi32_i32$4 = $113$hi; + i64toi32_i32$4 = $114$hi; + i64toi32_i32$4 = $113$hi; + i64toi32_i32$4 = $114$hi; + $310_1 = i64toi32_i32$5; + i64toi32_i32$4 = $113$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$5 = $114$hi; + i64toi32_i32$0 = $310_1; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$5 | 0)) { + $44_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0) { + $45_1 = 0 + } else { + $45_1 = 1 + } + $46_1 = $45_1; + } else { + $46_1 = 0 + } + $44_1 = $46_1; + } + if (!($44_1 & 1 | 0)) { + break label$9 + } + $80_1 = HEAP32[$5_1 >> 2] | 0; + HEAP32[$5_1 >> 2] = $80_1 + 1 | 0; + HEAP8[$80_1 >> 0] = 32; + HEAP32[($5_1 + 12 | 0) >> 2] = (HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + $3231(HEAP32[$5_1 >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0; + } + $88_1 = -1; + $277(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $88_1 | 0, $88_1 | 0); + $42(HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3126($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $5_1 = 0, $30_1 = 0, $33_1 = 0, $56_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + $5_1 = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $5_1; + label$1 : { + label$2 : { + if (!((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) >= ($5_1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (HEAP32[($4_1 + 8 | 0) >> 2] | 0) | 0; + break label$1; + } + HEAP32[$4_1 >> 2] = -1; + } + label$3 : { + if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 <= (HEAP32[$4_1 >> 2] | 0) >>> 0 & 1 | 0) { + break label$3 + } + fimport$5(63240 | 0, 62378 | 0, 316 | 0, 63249 | 0); + abort(); + } + label$4 : while (1) { + $30_1 = 24; + $33_1 = 0; + label$5 : { + if (!(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) << $30_1 | 0) >> $30_1 | 0)) { + break label$5 + } + $33_1 = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) >>> 0 < (HEAP32[$4_1 >> 2] | 0) >>> 0; + } + label$6 : { + if (!($33_1 & 1 | 0)) { + break label$6 + } + HEAP32[($4_1 + 12 | 0) >> 2] = (HEAP32[($4_1 + 12 | 0) >> 2] | 0) + (((HEAPU8[(((HEAPU8[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0) + 62672 | 0) >> 0] | 0) & 255 | 0) + 1 | 0) | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = (HEAP32[($4_1 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + $56_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + global$0 = $4_1 + 16 | 0; + return $56_1 | 0; + } + + function $3127($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $98$hi = 0, $104$hi = 0, $105$hi = 0, $119$hi = 0, $120$hi = 0, $101$hi = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, $56_1 = 0, $109$hi = 0, $110$hi = 0, $111$hi = 0, $112$hi = 0, $113$hi = 0, $114$hi = 0, $117$hi = 0, $118$hi = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $84_1 = 0, $92_1 = 0, $185_1 = 0, $212_1 = 0, $104_1 = 0, $220_1 = 0, $59_1 = 0, $109_1 = 0, $269_1 = 0, $274_1 = 0, $75_1 = 0, $117_1 = 0, $325_1 = 0, $332_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$1 : { + if ((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62466 | 0, 62378 | 0, 825 | 0, 63268 | 0); + abort(); + } + label$2 : { + label$3 : { + if (!(($248(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + break label$2; + } + i64toi32_i32$0 = 0; + $98$hi = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $185_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $185_1; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $101$hi = i64toi32_i32$0; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$0 = $101$hi; + i64toi32_i32$0 = $98$hi; + i64toi32_i32$0 = $101$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $98$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $39_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $40_1 = 0 + } else { + $40_1 = 1 + } + $41_1 = $40_1; + } else { + $41_1 = 0 + } + $39_1 = $41_1; + } + label$4 : { + if (!($39_1 & 1 | 0)) { + break label$4 + } + $263(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 63136 | 0, -1 | 0); + break label$2; + } + i64toi32_i32$0 = $3126(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $212_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $212_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $104_1 = i64toi32_i32$2; + $104$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $105$hi = i64toi32_i32$2; + i64toi32_i32$2 = $104$hi; + i64toi32_i32$2 = $105$hi; + i64toi32_i32$2 = $104$hi; + i64toi32_i32$2 = $105$hi; + $220_1 = i64toi32_i32$0; + i64toi32_i32$2 = $104$hi; + i64toi32_i32$3 = $104_1; + i64toi32_i32$0 = $105$hi; + i64toi32_i32$1 = $220_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $42_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { + $43_1 = 0 + } else { + $43_1 = 1 + } + $44_1 = $43_1; + } else { + $44_1 = 0 + } + $42_1 = $44_1; + } + label$5 : { + label$6 : { + if (!($42_1 & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3124(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + $286(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + break label$2; + } + $56_1 = -1; + $277(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $56_1 | 0, $56_1 | 0); + break label$5; + } + $59_1 = 0; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = $5_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $109_1 = i64toi32_i32$3; + $109$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $110$hi = i64toi32_i32$3; + i64toi32_i32$3 = $109$hi; + i64toi32_i32$3 = $110$hi; + $269_1 = i64toi32_i32$2; + i64toi32_i32$3 = $109$hi; + i64toi32_i32$1 = $109_1; + i64toi32_i32$2 = $110$hi; + i64toi32_i32$0 = $269_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $111$hi = i64toi32_i32$5; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $112$hi = i64toi32_i32$1; + i64toi32_i32$1 = $111$hi; + i64toi32_i32$1 = $112$hi; + $274_1 = i64toi32_i32$5; + i64toi32_i32$1 = $111$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$5 = $112$hi; + i64toi32_i32$0 = $274_1; + i64toi32_i32$2 = i64toi32_i32$4 - i64toi32_i32$0 | 0; + i64toi32_i32$4 = (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$4 | 0; + $113$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $114$hi = i64toi32_i32$4; + i64toi32_i32$4 = $113$hi; + i64toi32_i32$4 = $114$hi; + i64toi32_i32$4 = $113$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$3 = $114$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != ($59_1 | 0) & 1 | 0) { + break label$8 + } + $286(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + break label$2; + } + $75_1 = $3231(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$4 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $75_1 + i64toi32_i32$2 | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + label$9 : { + label$10 : while (1) { + i64toi32_i32$2 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0; + $117_1 = i64toi32_i32$2; + $117$hi = i64toi32_i32$1; + i64toi32_i32$4 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $118$hi = i64toi32_i32$2; + i64toi32_i32$2 = $117$hi; + i64toi32_i32$2 = $118$hi; + $325_1 = i64toi32_i32$1; + i64toi32_i32$2 = $117$hi; + i64toi32_i32$4 = $117_1; + i64toi32_i32$1 = $118$hi; + i64toi32_i32$0 = $325_1; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $119$hi = i64toi32_i32$5; + i64toi32_i32$2 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $120$hi = i64toi32_i32$4; + i64toi32_i32$4 = $119$hi; + i64toi32_i32$4 = $120$hi; + i64toi32_i32$4 = $119$hi; + i64toi32_i32$4 = $120$hi; + $332_1 = i64toi32_i32$5; + i64toi32_i32$4 = $119$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$5 = $120$hi; + i64toi32_i32$0 = $332_1; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$5 | 0)) { + $45_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0) { + $46_1 = 0 + } else { + $46_1 = 1 + } + $47_1 = $46_1; + } else { + $47_1 = 0 + } + $45_1 = $47_1; + } + if (!($45_1 & 1 | 0)) { + break label$9 + } + $84_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $84_1 + 1 | 0; + HEAP8[$84_1 >> 0] = 32; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + HEAP8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] = 0; + } + $92_1 = -1; + $277(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $92_1 | 0, $92_1 | 0); + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $3128($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $113$hi = 0, $119$hi = 0, $120$hi = 0, $133$hi = 0, $134$hi = 0, $140$hi = 0, $141$hi = 0, $116$hi = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, $49_1 = 0, $50_1 = 0, $51_1 = 0, $56_1 = 0, $124$hi = 0, $125$hi = 0, $126$hi = 0, $127$hi = 0, $128$hi = 0, $129$hi = 0, $131$hi = 0, $132$hi = 0, $52_1 = 0, $53_1 = 0, $54_1 = 0, $82_1 = 0, $138$hi = 0, $139$hi = 0, $55_1 = 0, $57_1 = 0, $58_1 = 0, $99_1 = 0, $107_1 = 0, $206_1 = 0, $233_1 = 0, $119_1 = 0, $241_1 = 0, $59_1 = 0, $124_1 = 0, $290_1 = 0, $295_1 = 0, $131_1 = 0, $337_1 = 0, $344_1 = 0, $138_1 = 0, $393_1 = 0, $400_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 64 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 60 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 52 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 20 | 0) >> 2] = 0; + label$1 : { + if ((HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62466 | 0, 62378 | 0, 880 | 0, 63277 | 0); + abort(); + } + label$2 : { + label$3 : { + if (!(($248(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + $271(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + break label$2; + } + i64toi32_i32$0 = 0; + $113$hi = i64toi32_i32$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 52 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$0 = $62(HEAP32[((HEAP32[($5_1 + 52 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $206_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $206_1; + HEAP32[($5_1 + 44 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $116$hi = i64toi32_i32$0; + i64toi32_i32$0 = $113$hi; + i64toi32_i32$0 = $116$hi; + i64toi32_i32$0 = $113$hi; + i64toi32_i32$0 = $116$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $113$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $46_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $47_1 = 0 + } else { + $47_1 = 1 + } + $48_1 = $47_1; + } else { + $48_1 = 0 + } + $46_1 = $48_1; + } + label$4 : { + if (!($46_1 & 1 | 0)) { + break label$4 + } + $263(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, 63136 | 0, -1 | 0); + break label$2; + } + i64toi32_i32$0 = $3126(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0, -1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $233_1 = i64toi32_i32$0; + i64toi32_i32$0 = $5_1; + HEAP32[($5_1 + 32 | 0) >> 2] = $233_1; + HEAP32[($5_1 + 36 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $119_1 = i64toi32_i32$2; + $119$hi = i64toi32_i32$0; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $120$hi = i64toi32_i32$2; + i64toi32_i32$2 = $119$hi; + i64toi32_i32$2 = $120$hi; + i64toi32_i32$2 = $119$hi; + i64toi32_i32$2 = $120$hi; + $241_1 = i64toi32_i32$0; + i64toi32_i32$2 = $119$hi; + i64toi32_i32$3 = $119_1; + i64toi32_i32$0 = $120$hi; + i64toi32_i32$1 = $241_1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $49_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { + $50_1 = 0 + } else { + $50_1 = 1 + } + $51_1 = $50_1; + } else { + $51_1 = 0 + } + $49_1 = $51_1; + } + label$5 : { + label$6 : { + if (!($49_1 & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3124(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$7 + } + $286(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + break label$2; + } + $56_1 = -1; + $277(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $56_1 | 0, $56_1 | 0); + break label$5; + } + $59_1 = 0; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = $5_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3303(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5_1 + 28 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $124_1 = i64toi32_i32$3; + $124$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $125$hi = i64toi32_i32$3; + i64toi32_i32$3 = $124$hi; + i64toi32_i32$3 = $125$hi; + $290_1 = i64toi32_i32$2; + i64toi32_i32$3 = $124$hi; + i64toi32_i32$1 = $124_1; + i64toi32_i32$2 = $125$hi; + i64toi32_i32$0 = $290_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $126$hi = i64toi32_i32$5; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $127$hi = i64toi32_i32$1; + i64toi32_i32$1 = $126$hi; + i64toi32_i32$1 = $127$hi; + $295_1 = i64toi32_i32$5; + i64toi32_i32$1 = $126$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$5 = $127$hi; + i64toi32_i32$0 = $295_1; + i64toi32_i32$2 = i64toi32_i32$4 - i64toi32_i32$0 | 0; + i64toi32_i32$4 = (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$4 | 0; + $128$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $129$hi = i64toi32_i32$4; + i64toi32_i32$4 = $128$hi; + i64toi32_i32$4 = $129$hi; + i64toi32_i32$4 = $128$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$3 = $129$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(i64toi32_i32$5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != ($59_1 | 0) & 1 | 0) { + break label$8 + } + $286(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0); + break label$2; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = 1; + label$9 : { + label$10 : while (1) { + i64toi32_i32$1 = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) << 1 | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $131_1 = i64toi32_i32$1; + $131$hi = i64toi32_i32$2; + i64toi32_i32$4 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $132$hi = i64toi32_i32$1; + i64toi32_i32$1 = $131$hi; + i64toi32_i32$1 = $132$hi; + $337_1 = i64toi32_i32$2; + i64toi32_i32$1 = $131$hi; + i64toi32_i32$4 = $131_1; + i64toi32_i32$2 = $132$hi; + i64toi32_i32$0 = $337_1; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $133$hi = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $134$hi = i64toi32_i32$4; + i64toi32_i32$4 = $133$hi; + i64toi32_i32$4 = $134$hi; + i64toi32_i32$4 = $133$hi; + i64toi32_i32$4 = $134$hi; + $344_1 = i64toi32_i32$5; + i64toi32_i32$4 = $133$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$5 = $134$hi; + i64toi32_i32$0 = $344_1; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$5 | 0)) { + $52_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0) { + $53_1 = 0 + } else { + $53_1 = 1 + } + $54_1 = $53_1; + } else { + $54_1 = 0 + } + $52_1 = $54_1; + } + if (!($52_1 & 1 | 0)) { + break label$9 + } + $82_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $82_1 + 1 | 0; + HEAP8[$82_1 >> 0] = 32; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + $3231(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + i64toi32_i32$1 | 0; + label$11 : { + label$12 : while (1) { + i64toi32_i32$1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$1 >> 31 | 0; + $138_1 = i64toi32_i32$1; + $138$hi = i64toi32_i32$4; + i64toi32_i32$0 = $5_1; + i64toi32_i32$4 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $139$hi = i64toi32_i32$1; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$1 = $139$hi; + $393_1 = i64toi32_i32$4; + i64toi32_i32$1 = $138$hi; + i64toi32_i32$0 = $138_1; + i64toi32_i32$4 = $139$hi; + i64toi32_i32$5 = $393_1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $140$hi = i64toi32_i32$3; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[($5_1 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + $141$hi = i64toi32_i32$0; + i64toi32_i32$0 = $140$hi; + i64toi32_i32$0 = $141$hi; + i64toi32_i32$0 = $140$hi; + i64toi32_i32$0 = $141$hi; + $400_1 = i64toi32_i32$3; + i64toi32_i32$0 = $140$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$3 = $141$hi; + i64toi32_i32$5 = $400_1; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$3 | 0)) { + $55_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 > i64toi32_i32$5 >>> 0) { + $57_1 = 0 + } else { + $57_1 = 1 + } + $58_1 = $57_1; + } else { + $58_1 = 0 + } + $55_1 = $58_1; + } + if (!($55_1 & 1 | 0)) { + break label$11 + } + $99_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = $99_1 + 1 | 0; + HEAP8[$99_1 >> 0] = 32; + HEAP32[($5_1 + 20 | 0) >> 2] = (HEAP32[($5_1 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] = 0; + } + $107_1 = -1; + $277(HEAP32[($5_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $107_1 | 0, $107_1 | 0); + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 64 | 0; + return; + } + + function $3129($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $7_1 = 0, $59_1 = 0, $63_1 = 0, $64_1 = 0, $74_1 = 0, $78_1 = 0, $91_1 = 0, $95_1 = 0, $116_1 = 0, $120_1 = 0, $130_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + $7_1 = 0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $7_1; + HEAP32[$5_1 >> 2] = $7_1; + label$1 : { + if ((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62466 | 0, 62378 | 0, 939 | 0, 63286 | 0); + abort(); + } + label$2 : { + label$3 : { + label$4 : { + if (($248(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0) { + break label$4 + } + if (!(($248(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + } + $271(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $66(HEAP32[((HEAP32[($5_1 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38(($3303(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if ((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + $286(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + HEAP32[($5_1 + 8 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + $59_1 = $3092(HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $59_1; + if (!$59_1) { + break label$6 + } + HEAP32[($5_1 + 20 | 0) >> 2] = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + label$8 : while (1) { + $63_1 = $3092(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$5_1 >> 2] = $63_1; + $64_1 = 0; + label$9 : { + if (!$63_1) { + break label$9 + } + $64_1 = (HEAP32[$5_1 >> 2] | 0 | 0) != (HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + label$10 : { + if (!($64_1 & 1 | 0)) { + break label$10 + } + label$11 : { + label$12 : while (1) { + $74_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + HEAP32[($5_1 + 20 | 0) >> 2] = $74_1 + 1 | 0; + $78_1 = 24; + if (!(((((HEAPU8[($74_1 + 1 | 0) >> 0] | 0) << $78_1 | 0) >> $78_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$11 + } + continue label$12; + }; + } + continue label$8; + } + break label$8; + }; + label$13 : { + if (!(HEAP32[$5_1 >> 2] | 0)) { + break label$13 + } + HEAP32[($5_1 + 16 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + label$14 : { + label$15 : while (1) { + $91_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = $91_1 + 1 | 0; + $95_1 = 24; + if (!(((((HEAPU8[($91_1 + 1 | 0) >> 0] | 0) << $95_1 | 0) >> $95_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$14 + } + continue label$15; + }; + } + $3236(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, (HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0 | 0) | 0; + HEAP32[($5_1 + 8 | 0) >> 2] = (HEAP32[($5_1 + 8 | 0) >> 2] | 0) + ((HEAP32[($5_1 + 16 | 0) >> 2] | 0) - (HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0) | 0; + } + label$16 : { + label$17 : while (1) { + $116_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + HEAP32[($5_1 + 24 | 0) >> 2] = $116_1 + 1 | 0; + $120_1 = 24; + if (!(((((HEAPU8[($116_1 + 1 | 0) >> 0] | 0) << $120_1 | 0) >> $120_1 | 0) & 192 | 0 | 0) == (128 | 0) & 1 | 0)) { + break label$16 + } + continue label$17; + }; + } + continue label$7; + }; + } + $130_1 = -1; + HEAP8[(HEAP32[($5_1 + 8 | 0) >> 2] | 0) >> 0] = 0; + $277(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, $130_1 | 0, $130_1 | 0); + $42(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3130($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $29_1 = 0, $39$hi = 0, $40$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $34_1 = 0, $36_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + if ((HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 1395 | 0, 63300 | 0); + abort(); + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, 24 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((5 | 0) != ($342(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + $29_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $29_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $39$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $40$hi = i64toi32_i32$1; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + $40$hi | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $29_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + HEAPF64[($5_1 + 8 | 0) >> 3] = +HEAPF64[$5_1 >> 3] - +HEAPF64[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 3]; + i64toi32_i32$1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = 0; + $34_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAPF64[$34_1 >> 3] = +HEAPF64[$34_1 >> 3] + +HEAPF64[($5_1 + 8 | 0) >> 3] / (+(i64toi32_i32$5 >>> 0) + 4294967296.0 * +(i64toi32_i32$2 | 0)); + $36_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + HEAPF64[($36_1 + 8 | 0) >> 3] = +HEAPF64[($36_1 + 8 | 0) >> 3] + +HEAPF64[($5_1 + 8 | 0) >> 3] * (+HEAPF64[$5_1 >> 3] - +HEAPF64[(HEAP32[($5_1 + 16 | 0) >> 2] | 0) >> 3]); + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3131($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $24$hi = 0, i64toi32_i32$5 = 0, $4_1 = 0, $26$hi = 0, $12_1 = 0, $13_1 = 0, $14_1 = 0, $28$hi = 0, $29$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $24$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$3 = 1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $12_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $13_1 = 0 + } else { + $13_1 = 1 + } + $14_1 = $13_1; + } else { + $14_1 = 0 + } + $12_1 = $14_1; + } + if (!($12_1 & 1 | 0)) { + break label$2 + } + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $29$hi = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $29$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$1 = 0; + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +Math_sqrt(+HEAPF64[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 3] / (+(i64toi32_i32$3 >>> 0) + 4294967296.0 * +(i64toi32_i32$5 | 0)))); + break label$1; + } + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+(0 | 0))); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3132($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $24$hi = 0, i64toi32_i32$5 = 0, $4_1 = 0, $26$hi = 0, $12_1 = 0, $13_1 = 0, $14_1 = 0, $28$hi = 0, $29$hi = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $24$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$3 = 1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $12_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $13_1 = 0 + } else { + $13_1 = 1 + } + $14_1 = $13_1; + } else { + $14_1 = 0 + } + $12_1 = $14_1; + } + if (!($12_1 & 1 | 0)) { + break label$2 + } + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $29$hi = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $29$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $29$hi; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$1 = 0; + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+HEAPF64[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 3] / (+(i64toi32_i32$3 >>> 0) + 4294967296.0 * +(i64toi32_i32$5 | 0)))); + break label$1; + } + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+(0 | 0))); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3133($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $101$hi = 0, $105$hi = 0, $39_1 = 0, $51_1 = 0, $55_1 = 0, $62_1 = 0, $67_1 = 0, $71_1 = 0, $102$hi = 0, $103$hi = 0, i64toi32_i32$4 = 0, $41_1 = 0, $97$hi = 0, $54_1 = 0, $218_1 = 0, $66_1 = 0, $250_1 = 0, $101_1 = 0, $277_1 = 0, $291_1 = 0, $302_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f64$0 = 0.0; + $5_1 = global$0 - 80 | 0; + global$0 = $5_1; + i64toi32_i32$0 = 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 72 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 68 | 0) >> 2] = $2_1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = 0; + HEAP32[($5_1 + 60 | 0) >> 2] = i64toi32_i32$0; + HEAPF64[($5_1 + 48 | 0) >> 3] = +(0 | 0); + label$1 : { + if ((HEAP32[($5_1 + 72 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$1 + } + fimport$5(62370 | 0, 62378 | 0, 1418 | 0, 63313 | 0); + abort(); + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $342(HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$3 + } + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $304(HEAP32[($5_1 + 76 | 0) >> 2] | 0 | 0, 64 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((0 | 0) == (HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $39_1 = 1; + $41_1 = $3279($39_1 | 0, 12 | 0) | 0; + HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] = $41_1; + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 36 | 0) >> 2] | 0 | 0) == ($39_1 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$0 = 0; + $97$hi = i64toi32_i32$0; + $51_1 = $5_1 + 24 | 0; + $54_1 = HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $3135($51_1 | 0, 517 | 0); + i64toi32_i32$2 = $51_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $218_1 = i64toi32_i32$0; + i64toi32_i32$0 = $54_1; + HEAP32[i64toi32_i32$0 >> 2] = $218_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $55_1 = 8; + HEAP32[(i64toi32_i32$0 + $55_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $55_1 | 0) >> 2] | 0; + i64toi32_i32$1 = $97$hi; + i64toi32_i32$0 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 48 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 52 | 0) >> 2] = i64toi32_i32$1; + break label$5; + } + $62_1 = $5_1 + 8 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 48 | 0) >> 2] = 1; + HEAP32[(i64toi32_i32$0 + 52 | 0) >> 2] = i64toi32_i32$1; + $66_1 = HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $3135($62_1 | 0, 518 | 0); + i64toi32_i32$2 = $62_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $250_1 = i64toi32_i32$1; + i64toi32_i32$1 = $66_1; + HEAP32[i64toi32_i32$1 >> 2] = $250_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $67_1 = 8; + HEAP32[(i64toi32_i32$1 + $67_1 | 0) >> 2] = HEAP32[(i64toi32_i32$2 + $67_1 | 0) >> 2] | 0; + } + } + i64toi32_i32$0 = 0; + $101_1 = 0; + $101$hi = i64toi32_i32$0; + $71_1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = $71_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $102$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $103$hi = i64toi32_i32$1; + i64toi32_i32$1 = $102$hi; + i64toi32_i32$1 = $103$hi; + i64toi32_i32$1 = $102$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $103$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $71_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] | 0; + $105$hi = i64toi32_i32$2; + i64toi32_i32$2 = $101$hi; + i64toi32_i32$2 = $105$hi; + i64toi32_i32$2 = $101$hi; + i64toi32_i32$2 = $105$hi; + $277_1 = i64toi32_i32$5; + i64toi32_i32$2 = $101$hi; + i64toi32_i32$1 = $101_1; + i64toi32_i32$5 = $105$hi; + i64toi32_i32$3 = $277_1; + label$7 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$1 = $62(HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $291_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[($5_1 + 56 | 0) >> 2] = $291_1; + HEAP32[($5_1 + 60 | 0) >> 2] = i64toi32_i32$2; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3279(1 | 0, 8 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[($5_1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 60 | 0) >> 2] | 0; + $302_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[($5_1 + 44 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $302_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + $3137(HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$2; + } + (wasm2js_i32$0 = $5_1, wasm2js_f64$0 = +$65(HEAP32[(HEAP32[($5_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0)), HEAPF64[(wasm2js_i32$0 + 48 | 0) >> 3] = wasm2js_f64$0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3279(1 | 0, 8 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAPF64[(HEAP32[($5_1 + 40 | 0) >> 2] | 0) >> 3] = +HEAPF64[($5_1 + 48 | 0) >> 3]; + $3137(HEAP32[((HEAP32[($5_1 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0); + } + global$0 = $5_1 + 80 | 0; + return; + } + + function $3134($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $19$hi = 0, $20$hi = 0, $23$hi = 0, $24$hi = 0, $17_1 = 0, $18_1 = 0, $20_1 = 0, $40_1 = 0, $46_1 = 0, $19_1 = 0, $54_1 = 0, $23_1 = 0, $70_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + i64toi32_i32$2 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $40_1 = i64toi32_i32$0; + i64toi32_i32$0 = $4_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $40_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $46_1 = i64toi32_i32$1; + i64toi32_i32$1 = $4_1; + HEAP32[$4_1 >> 2] = $46_1; + HEAP32[($4_1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $19_1 = i64toi32_i32$0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $20$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = $20$hi; + $54_1 = i64toi32_i32$1; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$2 = $19_1; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$3 = $54_1; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $23_1 = i64toi32_i32$2; + $23$hi = i64toi32_i32$0; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + $24$hi = i64toi32_i32$2; + i64toi32_i32$2 = $23$hi; + i64toi32_i32$2 = $24$hi; + i64toi32_i32$2 = $23$hi; + i64toi32_i32$2 = $24$hi; + $70_1 = i64toi32_i32$0; + i64toi32_i32$2 = $23$hi; + i64toi32_i32$3 = $23_1; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$1 = $70_1; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $17_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$1 >>> 0) { + $18_1 = 0 + } else { + $18_1 = 1 + } + $20_1 = $18_1; + } else { + $20_1 = 0 + } + $17_1 = $20_1; + } + label$3 : { + if (!($17_1 & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $3135($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $1_1; + HEAP32[($0_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + HEAP32[$0_1 >> 2] = 0; + return; + } + + function $3136($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 32 | 0; + HEAP32[($4_1 + 24 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $1_1; + HEAPF64[($4_1 + 8 | 0) >> 3] = +HEAPF64[(HEAP32[($4_1 + 24 | 0) >> 2] | 0) >> 3]; + HEAPF64[$4_1 >> 3] = +HEAPF64[(HEAP32[($4_1 + 20 | 0) >> 2] | 0) >> 3]; + label$1 : { + label$2 : { + if (!(+HEAPF64[($4_1 + 8 | 0) >> 3] == +HEAPF64[$4_1 >> 3] & 1 | 0)) { + break label$2 + } + HEAP32[($4_1 + 28 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!(+HEAPF64[($4_1 + 8 | 0) >> 3] < +HEAPF64[$4_1 >> 3] & 1 | 0)) { + break label$3 + } + HEAP32[($4_1 + 28 | 0) >> 2] = -1; + break label$1; + } + HEAP32[($4_1 + 28 | 0) >> 2] = 1; + } + return HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0; + } + + function $3137($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0; + $4_1 = global$0 - 16 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + $3148(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); + global$0 = $4_1 + 16 | 0; + return; + } + + function $3138($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $43$hi = 0, $44$hi = 0, $47$hi = 0, $48$hi = 0, $4_1 = 0, $119_1 = 0, $133_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $43$hi = i64toi32_i32$0; + $3140(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, 519 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $3141(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + $3278(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] | 0; + $44$hi = i64toi32_i32$1; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$1 = $44$hi; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$1 = $44$hi; + $119_1 = i64toi32_i32$0; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$0 = $44$hi; + i64toi32_i32$3 = $119_1; + label$2 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = 0; + $47$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 52 | 0) >> 2] | 0; + $48$hi = i64toi32_i32$1; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $48$hi; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$1 = $48$hi; + $133_1 = i64toi32_i32$2; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$0 = $133_1; + label$3 : { + label$4 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$4 + } + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $270(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0); + break label$3; + } + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+HEAPF64[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 3])); + } + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3139($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $5_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $39$hi = 0, $40$hi = 0, $44$hi = 0, $45$hi = 0, $51$hi = 0, $52$hi = 0, $58$hi = 0, $59$hi = 0, $65$hi = 0, $66$hi = 0, $18_1 = 0, $48$hi = 0, $49$hi = 0, $42_1 = 0, $43_1 = 0, $45_1 = 0, $31_1 = 0, $62$hi = 0, $63$hi = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, $94_1 = 0, $109_1 = 0, $44_1 = 0, $119_1 = 0, $51_1 = 0, $144_1 = 0, $55$hi = 0, $156_1 = 0, $162_1 = 0, $58_1 = 0, $182_1 = 0, $65_1 = 0, $207_1 = 0, $69$hi = 0, $225_1 = 0; + $5_1 = global$0 - 48 | 0; + i64toi32_i32$0 = 0; + $39$hi = i64toi32_i32$0; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = $2_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $40$hi = i64toi32_i32$1; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$1 = $40$hi; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$1 = $40$hi; + $94_1 = i64toi32_i32$0; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $40$hi; + i64toi32_i32$3 = $94_1; + label$1 : { + label$2 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = HEAP32[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $109_1 = i64toi32_i32$1; + i64toi32_i32$1 = $5_1; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $109_1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $44_1 = i64toi32_i32$2; + $44$hi = i64toi32_i32$1; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[($5_1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5_1 + 36 | 0) >> 2] | 0; + $45$hi = i64toi32_i32$2; + i64toi32_i32$2 = $44$hi; + i64toi32_i32$2 = $45$hi; + i64toi32_i32$2 = $44$hi; + i64toi32_i32$2 = $45$hi; + $119_1 = i64toi32_i32$1; + i64toi32_i32$2 = $44$hi; + i64toi32_i32$3 = $44_1; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$0 = $119_1; + label$3 : { + label$4 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$4 + } + $18_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = $18_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] | 0; + $48$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $49$hi = i64toi32_i32$2; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$2 = $48$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $49$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = $18_1; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$5; + break label$3; + } + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $51_1 = i64toi32_i32$5; + $51$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $52$hi = i64toi32_i32$5; + i64toi32_i32$5 = $51$hi; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$5 = $51$hi; + i64toi32_i32$5 = $52$hi; + $144_1 = i64toi32_i32$0; + i64toi32_i32$5 = $51$hi; + i64toi32_i32$2 = $51_1; + i64toi32_i32$0 = $52$hi; + i64toi32_i32$1 = $144_1; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$0 | 0)) { + $42_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$1 >>> 0) { + $43_1 = 0 + } else { + $43_1 = 1 + } + $45_1 = $43_1; + } else { + $45_1 = 0 + } + $42_1 = $45_1; + } + label$5 : { + if (!($42_1 & 1 | 0)) { + break label$5 + } + i64toi32_i32$2 = 0; + $55$hi = i64toi32_i32$2; + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $156_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$2 >> 2] = $156_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $162_1 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$5 + 32 | 0) >> 2] = $162_1; + HEAP32[(i64toi32_i32$5 + 36 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$5 + 40 | 0) >> 2] = 1; + HEAP32[(i64toi32_i32$5 + 44 | 0) >> 2] = i64toi32_i32$2; + } + } + break label$1; + } + HEAPF64[($5_1 + 8 | 0) >> 3] = +HEAPF64[(HEAP32[($5_1 + 44 | 0) >> 2] | 0) >> 3]; + i64toi32_i32$1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $58_1 = i64toi32_i32$2; + $58$hi = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $59$hi = i64toi32_i32$2; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$2 = $59$hi; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$2 = $59$hi; + $182_1 = i64toi32_i32$5; + i64toi32_i32$2 = $58$hi; + i64toi32_i32$1 = $58_1; + i64toi32_i32$5 = $59$hi; + i64toi32_i32$0 = $182_1; + label$6 : { + label$7 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$7 + } + $31_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = $31_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] | 0; + $62$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $63$hi = i64toi32_i32$2; + i64toi32_i32$2 = $62$hi; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$2 = $62$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$5 = 1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $31_1; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = i64toi32_i32$3; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$4; + break label$6; + } + i64toi32_i32$2 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $65_1 = i64toi32_i32$4; + $65$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $66$hi = i64toi32_i32$4; + i64toi32_i32$4 = $65$hi; + i64toi32_i32$4 = $66$hi; + i64toi32_i32$4 = $65$hi; + i64toi32_i32$4 = $66$hi; + $207_1 = i64toi32_i32$0; + i64toi32_i32$4 = $65$hi; + i64toi32_i32$2 = $65_1; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$5 = $207_1; + if ((i64toi32_i32$4 | 0) < (i64toi32_i32$0 | 0)) { + $46_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$5 >>> 0) { + $47_1 = 0 + } else { + $47_1 = 1 + } + $48_1 = $47_1; + } else { + $48_1 = 0 + } + $46_1 = $48_1; + } + label$8 : { + if (!($46_1 & 1 | 0)) { + break label$8 + } + i64toi32_i32$2 = 0; + $69$hi = i64toi32_i32$2; + HEAPF64[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 3] = +HEAPF64[($5_1 + 8 | 0) >> 3]; + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 36 | 0) >> 2] | 0; + $225_1 = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] = $225_1; + HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$4 = $69$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$2 + 40 | 0) >> 2] = 1; + HEAP32[(i64toi32_i32$2 + 44 | 0) >> 2] = i64toi32_i32$4; + } + } + } + return; + } + + function $3140($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $3149(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $3141($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3150(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $3142($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + HEAPF64[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 3] = (+(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0)) / 2.0; + $3143(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3143($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $49$hi = 0, $50$hi = 0, $53$hi = 0, $54$hi = 0, $4_1 = 0, $139_1 = 0, $153_1 = 0, $63_1 = 0.0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = 0; + $49$hi = i64toi32_i32$0; + HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] = 0; + $3140(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0, 520 | 0, HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); + $3141(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + $3278(HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + $50$hi = i64toi32_i32$1; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $50$hi; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$1 = $50$hi; + $139_1 = i64toi32_i32$0; + i64toi32_i32$1 = $49$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$3 = $139_1; + label$2 : { + label$3 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$3 + } + i64toi32_i32$2 = 0; + $53$hi = i64toi32_i32$2; + i64toi32_i32$3 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $54$hi = i64toi32_i32$1; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$1 = $54$hi; + $153_1 = i64toi32_i32$2; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = $54$hi; + i64toi32_i32$0 = $153_1; + label$4 : { + label$5 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$5 + } + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $270(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0); + break label$4; + } + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $63_1 = (+(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$3 | 0)) * 1.0; + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +($63_1 / (+(i64toi32_i32$3 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0)))); + } + break label$2; + } + i64toi32_i32$0 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $260(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, +(+HEAPF64[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 3] / (+(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$3 | 0)))); + } + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3144($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + HEAPF64[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 3] = (+(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0)) / 4.0; + $3143(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3145($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4_1 = 0, $18$hi = 0, $19$hi = 0, $8_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + (wasm2js_i32$0 = $3_1, wasm2js_i32$1 = $304(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, $4_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) != ($4_1 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $18$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = $18$hi; + $8_1 = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = __wasm_i64_mul($8_1 | 0, i64toi32_i32$1 | 0, 3 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$2 = 0; + HEAPF64[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 24 | 0) >> 3] = (+(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0)) / 4.0; + $3143(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3146($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $9_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3279(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $9_1 = HEAP32[$5_1 >> 2] | 0; + global$0 = $5_1 + 16 | 0; + return $9_1 | 0; + } + + function $3147($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3278(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + global$0 = $3_1 + 16 | 0; + return; + } + + function $3148($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $37_1 = 0, $59$hi = 0, $60$hi = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 32 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 28 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3146(1 | 0, 24 | 0, 62361 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = 1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((0 | 0) == (HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $37_1 = HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = $37_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $59$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $60$hi = i64toi32_i32$1; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $37_1; + HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] = i64toi32_i32$5; + $3147(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + break label$3; + } + label$5 : { + label$6 : { + if (!((HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + $3148(HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + break label$5; + } + $3148((HEAP32[(HEAP32[($5_1 + 28 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0); + } + } + } + global$0 = $5_1 + 32 | 0; + return; + } + + function $3149($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + label$1 : { + if (!((HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $3149(HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0, i64toi32_i32$1, HEAP32[($5_1 + 4 | 0) >> 2] | 0); + label$3 : { + if (!((HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $3149(HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + } + } + global$0 = $5_1 + 16 | 0; + return; + } + + function $3150($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + label$1 : { + if (!((0 | 0) != (HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $3147(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + label$2 : { + if (!((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $3150(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $3150(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + $3147(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); + } + global$0 = $3_1 + 16 | 0; + return; + } + + function $3151($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $5_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $52$hi = 0, $56$hi = 0, $46$hi = 0, $47$hi = 0, $49$hi = 0, $50$hi = 0, $31_1 = 0, $53$hi = 0, $54$hi = 0, $60$hi = 0, $39_1 = 0, $41_1 = 0, $63$hi = 0, $44_1 = 0, $46_1 = 0, $134_1 = 0, $49_1 = 0, $149_1 = 0, $52_1 = 0, $199_1 = 0, $214_1 = 0, $60_1 = 0, $221$hi = 0, $63_1 = 0, $253$hi = 0; + $5_1 = global$0 - 80 | 0; + HEAP32[($5_1 + 76 | 0) >> 2] = $0_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5_1; + HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] = $2_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + HEAPF64[($5_1 + 32 | 0) >> 3] = +HEAPF64[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 3]; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = 0; + HEAPF64[($5_1 + 24 | 0) >> 3] = +(i64toi32_i32$0 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 | 0) - +HEAPF64[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 3]; + i64toi32_i32$2 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $46_1 = i64toi32_i32$1; + $46$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = HEAP32[($5_1 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 68 | 0) >> 2] | 0; + $47$hi = i64toi32_i32$1; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$1 = $47$hi; + $134_1 = i64toi32_i32$0; + i64toi32_i32$1 = $46$hi; + i64toi32_i32$2 = $46_1; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$3 = $134_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + HEAP32[($5_1 + 20 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $49_1 = i64toi32_i32$5; + $49$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $50$hi = i64toi32_i32$5; + i64toi32_i32$5 = $49$hi; + i64toi32_i32$5 = $50$hi; + $149_1 = i64toi32_i32$2; + i64toi32_i32$5 = $49$hi; + i64toi32_i32$1 = $49_1; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$3 = $149_1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + HEAP32[($5_1 + 16 | 0) >> 2] = i64toi32_i32$0; + label$3 : { + if (!(+(HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) >= +HEAPF64[($5_1 + 32 | 0) >> 3] & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!(+(HEAP32[($5_1 + 16 | 0) >> 2] | 0 | 0) >= +HEAPF64[($5_1 + 24 | 0) >> 3] & 1 | 0)) { + break label$5 + } + i64toi32_i32$4 = 0; + $52_1 = 0; + $52$hi = i64toi32_i32$4; + $31_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$5 = $31_1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 44 | 0) >> 2] | 0; + $53$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $54$hi = i64toi32_i32$1; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$1 = $54$hi; + i64toi32_i32$1 = $53$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$4 = $54$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$5 = $31_1; + HEAP32[(i64toi32_i32$5 + 40 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$5 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] | 0; + $56$hi = i64toi32_i32$5; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$5 = $56$hi; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$5 = $56$hi; + $199_1 = i64toi32_i32$0; + i64toi32_i32$5 = $52$hi; + i64toi32_i32$1 = $52_1; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$3 = $199_1; + label$6 : { + label$7 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$5 = HEAP32[(HEAP32[($5_1 + 76 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $214_1 = i64toi32_i32$5; + i64toi32_i32$5 = $5_1; + HEAP32[(i64toi32_i32$5 + 48 | 0) >> 2] = $214_1; + HEAP32[(i64toi32_i32$5 + 52 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 48 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$5 + 52 | 0) >> 2] | 0; + $60_1 = i64toi32_i32$1; + $60$hi = i64toi32_i32$5; + $39_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + i64toi32_i32$3 = $39_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $221$hi = i64toi32_i32$1; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$1 = $221$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = $60$hi; + i64toi32_i32$0 = $60_1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$3 = $39_1; + HEAP32[i64toi32_i32$3 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + break label$6; + } + HEAPF64[($5_1 + 40 | 0) >> 3] = +HEAPF64[(HEAP32[($5_1 + 76 | 0) >> 2] | 0) >> 3]; + $41_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + HEAPF64[($41_1 + 8 | 0) >> 3] = +HEAPF64[($41_1 + 8 | 0) >> 3] + +HEAPF64[($5_1 + 40 | 0) >> 3]; + } + break label$4; + } + HEAP32[((HEAP32[($5_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] = 1; + } + } + i64toi32_i32$1 = $5_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] | 0; + $63_1 = i64toi32_i32$2; + $63$hi = i64toi32_i32$3; + $44_1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = $44_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $253$hi = i64toi32_i32$2; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$2 = $253$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $63$hi; + i64toi32_i32$0 = $63_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $44_1; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$4; + } + return; + } + + function $3152($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 16 | 0; + $4_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] = $4_1; + HEAP8[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 0] = 0; + HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $4_1; + return; + } + + function $3153($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $20_1 = 0, $15_1 = 0, $36_1 = 0, $41_1 = 0, $49_1 = 0, $59_1 = 0, $68_1 = 0, $72_1 = 0, $77_1 = 0, $81_1 = 0, $85_1 = 0, $107_1 = 0, $112_1 = 0, $120_1 = 0, $125_1 = 0, $135_1 = 0, $144_1 = 0, $148_1 = 0, $153_1 = 0, $157_1 = 0, $161_1 = 0, $183_1 = 0, $188_1 = 0, $196_1 = 0, $201_1 = 0, $211_1 = 0, $220_1 = 0, $224_1 = 0, $229_1 = 0, $234_1 = 0, $238_1 = 0, $246_1 = 0, $256_1 = 0, $265_1 = 0, $269_1 = 0, $274_1 = 0, $278_1 = 0, $281_1 = 0; + $6_1 = global$0 - 48 | 0; + HEAP32[($6_1 + 40 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 28 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 24 | 0) >> 2] = HEAP32[($6_1 + 40 | 0) >> 2] | 0; + HEAP32[($6_1 + 20 | 0) >> 2] = (HEAP32[($6_1 + 40 | 0) >> 2] | 0) + (HEAP32[($6_1 + 36 | 0) >> 2] | 0) | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = HEAP32[($6_1 + 32 | 0) >> 2] | 0; + HEAP8[($6_1 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0; + $15_1 = HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($15_1 | 0) { + default: + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0; + break label$1; + case 0: + $20_1 = 0; + break label$2; + case 1: + $20_1 = 1; + break label$2; + case 2: + break label$3; + }; + } + $20_1 = 2; + } + label$7 : while (1) { + label$8 : { + switch ($20_1 | 0) { + case 0: + label$11 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 0] = HEAPU8[($6_1 + 15 | 0) >> 0] | 0; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0; + break label$1; + } + $36_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $36_1 + 1 | 0; + HEAP8[($6_1 + 14 | 0) >> 0] = HEAPU8[$36_1 >> 0] | 0; + $41_1 = 24; + HEAP8[($6_1 + 15 | 0) >> 0] = ((((HEAPU8[($6_1 + 14 | 0) >> 0] | 0) << $41_1 | 0) >> $41_1 | 0) & 252 | 0) >> 2 | 0; + $49_1 = 24; + label$12 : { + label$13 : { + label$14 : { + if ((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $49_1 | 0) >> $49_1 | 0 | 0) < (0 | 0) & 1 | 0) { + break label$14 + } + $59_1 = 24; + if (!((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $59_1 | 0) >> $59_1 | 0 | 0) > (63 | 0) & 1 | 0)) { + break label$13 + } + } + $68_1 = 61; + break label$12; + } + $72_1 = 24; + $77_1 = 24; + $68_1 = ((HEAPU8[((HEAP32[(0 + 80860 | 0) >> 2] | 0) + (((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $72_1 | 0) >> $72_1 | 0) | 0) >> 0] | 0) << $77_1 | 0) >> $77_1 | 0; + } + $81_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $81_1 + 1 | 0; + HEAP8[$81_1 >> 0] = $68_1; + $85_1 = 24; + HEAP8[($6_1 + 15 | 0) >> 0] = ((((HEAPU8[($6_1 + 14 | 0) >> 0] | 0) << $85_1 | 0) >> $85_1 | 0) & 3 | 0) << 4 | 0; + $20_1 = 1; + continue label$7; + case 1: + label$15 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 0] = HEAPU8[($6_1 + 15 | 0) >> 0] | 0; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 1; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0; + break label$1; + } + $107_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $107_1 + 1 | 0; + HEAP8[($6_1 + 14 | 0) >> 0] = HEAPU8[$107_1 >> 0] | 0; + $112_1 = 24; + $120_1 = 24; + HEAP8[($6_1 + 15 | 0) >> 0] = ((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $120_1 | 0) >> $120_1 | 0 | (((((HEAPU8[($6_1 + 14 | 0) >> 0] | 0) << $112_1 | 0) >> $112_1 | 0) & 240 | 0) >> 4 | 0) | 0; + $125_1 = 24; + label$16 : { + label$17 : { + label$18 : { + if ((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $125_1 | 0) >> $125_1 | 0 | 0) < (0 | 0) & 1 | 0) { + break label$18 + } + $135_1 = 24; + if (!((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $135_1 | 0) >> $135_1 | 0 | 0) > (63 | 0) & 1 | 0)) { + break label$17 + } + } + $144_1 = 61; + break label$16; + } + $148_1 = 24; + $153_1 = 24; + $144_1 = ((HEAPU8[((HEAP32[(0 + 80860 | 0) >> 2] | 0) + (((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $148_1 | 0) >> $148_1 | 0) | 0) >> 0] | 0) << $153_1 | 0) >> $153_1 | 0; + } + $157_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $157_1 + 1 | 0; + HEAP8[$157_1 >> 0] = $144_1; + $161_1 = 24; + HEAP8[($6_1 + 15 | 0) >> 0] = ((((HEAPU8[($6_1 + 14 | 0) >> 0] | 0) << $161_1 | 0) >> $161_1 | 0) & 15 | 0) << 2 | 0; + $20_1 = 2; + continue label$7; + default: + break label$8; + }; + } + label$19 : { + if (!((HEAP32[($6_1 + 24 | 0) >> 2] | 0 | 0) == (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP8[((HEAP32[($6_1 + 28 | 0) >> 2] | 0) + 4 | 0) >> 0] = HEAPU8[($6_1 + 15 | 0) >> 0] | 0; + HEAP32[(HEAP32[($6_1 + 28 | 0) >> 2] | 0) >> 2] = 2; + HEAP32[($6_1 + 44 | 0) >> 2] = (HEAP32[($6_1 + 16 | 0) >> 2] | 0) - (HEAP32[($6_1 + 32 | 0) >> 2] | 0) | 0; + break label$1; + } + $183_1 = HEAP32[($6_1 + 24 | 0) >> 2] | 0; + HEAP32[($6_1 + 24 | 0) >> 2] = $183_1 + 1 | 0; + HEAP8[($6_1 + 14 | 0) >> 0] = HEAPU8[$183_1 >> 0] | 0; + $188_1 = 24; + $196_1 = 24; + HEAP8[($6_1 + 15 | 0) >> 0] = ((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $196_1 | 0) >> $196_1 | 0 | (((((HEAPU8[($6_1 + 14 | 0) >> 0] | 0) << $188_1 | 0) >> $188_1 | 0) & 192 | 0) >> 6 | 0) | 0; + $201_1 = 24; + label$20 : { + label$21 : { + label$22 : { + if ((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $201_1 | 0) >> $201_1 | 0 | 0) < (0 | 0) & 1 | 0) { + break label$22 + } + $211_1 = 24; + if (!((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $211_1 | 0) >> $211_1 | 0 | 0) > (63 | 0) & 1 | 0)) { + break label$21 + } + } + $220_1 = 61; + break label$20; + } + $224_1 = 24; + $229_1 = 24; + $220_1 = ((HEAPU8[((HEAP32[(0 + 80860 | 0) >> 2] | 0) + (((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $224_1 | 0) >> $224_1 | 0) | 0) >> 0] | 0) << $229_1 | 0) >> $229_1 | 0; + } + $234_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $234_1 + 1 | 0; + HEAP8[$234_1 >> 0] = $220_1; + $238_1 = 24; + HEAP8[($6_1 + 15 | 0) >> 0] = ((((HEAPU8[($6_1 + 14 | 0) >> 0] | 0) << $238_1 | 0) >> $238_1 | 0) & 63 | 0) >> 0 | 0; + $246_1 = 24; + label$23 : { + label$24 : { + label$25 : { + if ((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $246_1 | 0) >> $246_1 | 0 | 0) < (0 | 0) & 1 | 0) { + break label$25 + } + $256_1 = 24; + if (!((((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $256_1 | 0) >> $256_1 | 0 | 0) > (63 | 0) & 1 | 0)) { + break label$24 + } + } + $265_1 = 61; + break label$23; + } + $269_1 = 24; + $274_1 = 24; + $265_1 = ((HEAPU8[((HEAP32[(0 + 80860 | 0) >> 2] | 0) + (((HEAPU8[($6_1 + 15 | 0) >> 0] | 0) << $269_1 | 0) >> $269_1 | 0) | 0) >> 0] | 0) << $274_1 | 0) >> $274_1 | 0; + } + $278_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + HEAP32[($6_1 + 16 | 0) >> 2] = $278_1 + 1 | 0; + HEAP8[$278_1 >> 0] = $265_1; + $281_1 = HEAP32[($6_1 + 28 | 0) >> 2] | 0; + HEAP32[($281_1 + 8 | 0) >> 2] = (HEAP32[($281_1 + 8 | 0) >> 2] | 0) + 1 | 0; + $20_1 = 0; + continue label$7; + }; + } + return HEAP32[($6_1 + 44 | 0) >> 2] | 0 | 0; + } + + function $3154($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $4_1 = 0, $7_1 = 0, $12_1 = 0, $23_1 = 0, $32_1 = 0, $37_1 = 0, $42_1 = 0, $46_1 = 0, $47_1 = 0, $50_1 = 0, $53_1 = 0, $59_1 = 0, $70_1 = 0, $79_1 = 0, $84_1 = 0, $89_1 = 0, $94_1 = 0, $97_1 = 0; + $4_1 = global$0 - 16 | 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; + $7_1 = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($7_1 | 0) { + case 1: + $12_1 = 24; + label$5 : { + label$6 : { + label$7 : { + if ((((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) << $12_1 | 0) >> $12_1 | 0 | 0) < (0 | 0) & 1 | 0) { + break label$7 + } + $23_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) << $23_1 | 0) >> $23_1 | 0 | 0) > (63 | 0) & 1 | 0)) { + break label$6 + } + } + $32_1 = 61; + break label$5; + } + $37_1 = 24; + $42_1 = 24; + $32_1 = ((HEAPU8[((HEAP32[(0 + 80860 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) << $37_1 | 0) >> $37_1 | 0) | 0) >> 0] | 0) << $42_1 | 0) >> $42_1 | 0; + } + $46_1 = 61; + $47_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $47_1 + 1 | 0; + HEAP8[$47_1 >> 0] = $32_1; + $50_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $50_1 + 1 | 0; + HEAP8[$50_1 >> 0] = $46_1; + $53_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $53_1 + 1 | 0; + HEAP8[$53_1 >> 0] = $46_1; + break label$1; + case 2: + $59_1 = 24; + label$8 : { + label$9 : { + label$10 : { + if ((((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) << $59_1 | 0) >> $59_1 | 0 | 0) < (0 | 0) & 1 | 0) { + break label$10 + } + $70_1 = 24; + if (!((((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) << $70_1 | 0) >> $70_1 | 0 | 0) > (63 | 0) & 1 | 0)) { + break label$9 + } + } + $79_1 = 61; + break label$8; + } + $84_1 = 24; + $89_1 = 24; + $79_1 = ((HEAPU8[((HEAP32[(0 + 80860 | 0) >> 2] | 0) + (((HEAPU8[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 0] | 0) << $84_1 | 0) >> $84_1 | 0) | 0) >> 0] | 0) << $89_1 | 0) >> $89_1 | 0; + } + $94_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $94_1 + 1 | 0; + HEAP8[$94_1 >> 0] = $79_1; + $97_1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $97_1 + 1 | 0; + HEAP8[$97_1 >> 0] = 61; + break label$1; + case 0: + break label$2; + default: + break label$1; + }; + } + } + return (HEAP32[($4_1 + 4 | 0) >> 2] | 0) - (HEAP32[($4_1 + 12 | 0) >> 2] | 0) | 0 | 0; + } + + function $3155($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0, $7_1 = 0, $10_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + $7_1 = 0; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $10_1 = $467(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 63322 | 0, 1 | 0, 2053 | 0, $7_1 | 0, 567 | 0, $7_1 | 0, $7_1 | 0, $7_1 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $10_1 | 0; + } + + function $3156($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $17_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5_1 = global$0 - 48 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 36 | 0) >> 2] = $2_1; + label$1 : { + label$2 : { + if (!((HEAP32[($5_1 + 40 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$2 + } + $271(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0); + break label$1; + } + $17_1 = $5_1 + 8 | 0; + HEAP32[($5_1 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 36 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $229(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $233(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $38((HEAP32[($5_1 + 24 | 0) >> 2] | 0) << 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $3152($17_1 | 0); + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = $3153(HEAP32[($5_1 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, $17_1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5_1, wasm2js_i32$1 = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) + ($3154((HEAP32[($5_1 + 20 | 0) >> 2] | 0) + (HEAP32[($5_1 + 4 | 0) >> 2] | 0) | 0 | 0, $17_1 | 0) | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $277(HEAP32[($5_1 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0, HEAP32[$5_1 >> 2] | 0 | 0, 3 | 0); + } + global$0 = $5_1 + 48 | 0; + return; + } + + function $3157($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $6_1 = 0, $7_1 = 0, $8_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + $6_1 = 0; + $7_1 = 1; + $8_1 = 2053; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $3160(); + $467(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, $7_1 | 0, $8_1 | 0, $6_1 | 0, 569 | 0, $6_1 | 0, $6_1 | 0, $6_1 | 0) | 0; + $467(HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, $7_1 | 0, $8_1 | 0, $6_1 | 0, 568 | 0, $6_1 | 0, $6_1 | 0, $6_1 | 0) | 0; + global$0 = $5_1 + 16 | 0; + return $6_1 | 0; + } + + function $3158($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $3161(97248 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $3159($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + HEAP32[($5_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $2_1; + $3161(80864 | 0, HEAP32[($5_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0); + global$0 = $5_1 + 16 | 0; + return; + } + + function $3160() { + var $2_1 = 0, $39_1 = 0, $58_1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + HEAP32[($2_1 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($2_1 + 12 | 0) >> 2] | 0 | 0) < (8192 | 0) & 1 | 0)) { + break label$1 + } + HEAP16[(80864 + ((HEAP32[($2_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + HEAP16[(97248 + ((HEAP32[($2_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + HEAP32[($2_1 + 12 | 0) >> 2] = (HEAP32[($2_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($2_1 + 12 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($2_1 + 12 | 0) >> 2] | 0 | 0) < (127 | 0) & 1 | 0)) { + break label$3 + } + $39_1 = $3168(HEAP32[($2_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP16[(80864 + ((HEAP32[($2_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = $39_1; + HEAP32[($2_1 + 12 | 0) >> 2] = (HEAP32[($2_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($2_1 + 12 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($2_1 + 12 | 0) >> 2] | 0 | 0) < (127 | 0) & 1 | 0)) { + break label$5 + } + $58_1 = $3166(HEAP32[($2_1 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP16[(97248 + ((HEAP32[($2_1 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = $58_1; + HEAP32[($2_1 + 12 | 0) >> 2] = (HEAP32[($2_1 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP16[(0 + 81320 | 0) >> 1] = 196; + HEAP16[(0 + 97640 | 0) >> 1] = 228; + HEAP16[(0 + 81312 | 0) >> 1] = 192; + HEAP16[(0 + 97632 | 0) >> 1] = 224; + HEAP16[(0 + 81314 | 0) >> 1] = 193; + HEAP16[(0 + 97634 | 0) >> 1] = 225; + HEAP16[(0 + 81316 | 0) >> 1] = 194; + HEAP16[(0 + 97636 | 0) >> 1] = 226; + HEAP16[(0 + 81318 | 0) >> 1] = 195; + HEAP16[(0 + 97638 | 0) >> 1] = 227; + HEAP16[(0 + 81322 | 0) >> 1] = 197; + HEAP16[(0 + 97642 | 0) >> 1] = 229; + HEAP16[(0 + 81788 | 0) >> 1] = 461; + HEAP16[(0 + 98170 | 0) >> 1] = 462; + HEAP16[(0 + 81386 | 0) >> 1] = 260; + HEAP16[(0 + 97768 | 0) >> 1] = 261; + HEAP16[(0 + 81382 | 0) >> 1] = 258; + HEAP16[(0 + 97764 | 0) >> 1] = 259; + HEAP16[(0 + 81324 | 0) >> 1] = 198; + HEAP16[(0 + 97644 | 0) >> 1] = 230; + HEAP16[(0 + 81378 | 0) >> 1] = 256; + HEAP16[(0 + 97760 | 0) >> 1] = 257; + HEAP16[(0 + 81326 | 0) >> 1] = 199; + HEAP16[(0 + 97646 | 0) >> 1] = 231; + HEAP16[(0 + 81390 | 0) >> 1] = 262; + HEAP16[(0 + 97772 | 0) >> 1] = 263; + HEAP16[(0 + 81394 | 0) >> 1] = 264; + HEAP16[(0 + 97776 | 0) >> 1] = 265; + HEAP16[(0 + 81402 | 0) >> 1] = 268; + HEAP16[(0 + 97784 | 0) >> 1] = 269; + HEAP16[(0 + 81410 | 0) >> 1] = 270; + HEAP16[(0 + 97788 | 0) >> 1] = 273; + HEAP16[(0 + 81406 | 0) >> 1] = 272; + HEAP16[(0 + 97792 | 0) >> 1] = 271; + HEAP16[(0 + 81344 | 0) >> 1] = 272; + HEAP16[(0 + 97792 | 0) >> 1] = 240; + HEAP16[(0 + 81328 | 0) >> 1] = 200; + HEAP16[(0 + 97648 | 0) >> 1] = 232; + HEAP16[(0 + 81330 | 0) >> 1] = 201; + HEAP16[(0 + 97650 | 0) >> 1] = 233; + HEAP16[(0 + 81332 | 0) >> 1] = 202; + HEAP16[(0 + 97652 | 0) >> 1] = 234; + HEAP16[(0 + 81334 | 0) >> 1] = 203; + HEAP16[(0 + 97654 | 0) >> 1] = 235; + HEAP16[(0 + 81430 | 0) >> 1] = 282; + HEAP16[(0 + 97812 | 0) >> 1] = 283; + HEAP16[(0 + 81426 | 0) >> 1] = 280; + HEAP16[(0 + 97808 | 0) >> 1] = 281; + HEAP16[(0 + 81422 | 0) >> 1] = 278; + HEAP16[(0 + 97804 | 0) >> 1] = 279; + HEAP16[(0 + 81414 | 0) >> 1] = 274; + HEAP16[(0 + 97796 | 0) >> 1] = 275; + HEAP16[(0 + 81434 | 0) >> 1] = 284; + HEAP16[(0 + 97816 | 0) >> 1] = 285; + HEAP16[(0 + 81446 | 0) >> 1] = 290; + HEAP16[(0 + 97828 | 0) >> 1] = 291; + HEAP16[(0 + 81438 | 0) >> 1] = 286; + HEAP16[(0 + 97820 | 0) >> 1] = 287; + HEAP16[(0 + 81450 | 0) >> 1] = 292; + HEAP16[(0 + 97832 | 0) >> 1] = 293; + HEAP16[(0 + 81336 | 0) >> 1] = 204; + HEAP16[(0 + 97656 | 0) >> 1] = 236; + HEAP16[(0 + 81338 | 0) >> 1] = 205; + HEAP16[(0 + 97658 | 0) >> 1] = 237; + HEAP16[(0 + 81340 | 0) >> 1] = 206; + HEAP16[(0 + 97660 | 0) >> 1] = 238; + HEAP16[(0 + 81342 | 0) >> 1] = 207; + HEAP16[(0 + 97662 | 0) >> 1] = 239; + HEAP16[(0 + 81474 | 0) >> 1] = 73; + HEAP16[(0 + 97394 | 0) >> 1] = 305; + HEAP16[(0 + 81462 | 0) >> 1] = 298; + HEAP16[(0 + 97844 | 0) >> 1] = 299; + HEAP16[(0 + 81470 | 0) >> 1] = 302; + HEAP16[(0 + 97852 | 0) >> 1] = 303; + HEAP16[(0 + 81482 | 0) >> 1] = 308; + HEAP16[(0 + 97864 | 0) >> 1] = 309; + HEAP16[(0 + 81486 | 0) >> 1] = 310; + HEAP16[(0 + 97868 | 0) >> 1] = 311; + HEAP16[(0 + 81492 | 0) >> 1] = 313; + HEAP16[(0 + 97874 | 0) >> 1] = 314; + HEAP16[(0 + 81496 | 0) >> 1] = 315; + HEAP16[(0 + 97878 | 0) >> 1] = 316; + HEAP16[(0 + 81508 | 0) >> 1] = 321; + HEAP16[(0 + 97890 | 0) >> 1] = 322; + HEAP16[(0 + 81500 | 0) >> 1] = 317; + HEAP16[(0 + 97882 | 0) >> 1] = 318; + HEAP16[(0 + 81346 | 0) >> 1] = 209; + HEAP16[(0 + 97666 | 0) >> 1] = 241; + HEAP16[(0 + 81512 | 0) >> 1] = 323; + HEAP16[(0 + 97894 | 0) >> 1] = 324; + HEAP16[(0 + 81520 | 0) >> 1] = 327; + HEAP16[(0 + 97902 | 0) >> 1] = 328; + HEAP16[(0 + 81516 | 0) >> 1] = 325; + HEAP16[(0 + 97898 | 0) >> 1] = 326; + HEAP16[(0 + 81356 | 0) >> 1] = 214; + HEAP16[(0 + 97676 | 0) >> 1] = 246; + HEAP16[(0 + 81348 | 0) >> 1] = 210; + HEAP16[(0 + 97668 | 0) >> 1] = 242; + HEAP16[(0 + 81350 | 0) >> 1] = 211; + HEAP16[(0 + 97670 | 0) >> 1] = 243; + HEAP16[(0 + 81352 | 0) >> 1] = 212; + HEAP16[(0 + 97672 | 0) >> 1] = 244; + HEAP16[(0 + 81354 | 0) >> 1] = 213; + HEAP16[(0 + 97674 | 0) >> 1] = 245; + HEAP16[(0 + 81538 | 0) >> 1] = 336; + HEAP16[(0 + 97920 | 0) >> 1] = 337; + HEAP16[(0 + 81360 | 0) >> 1] = 216; + HEAP16[(0 + 97680 | 0) >> 1] = 248; + HEAP16[(0 + 81542 | 0) >> 1] = 338; + HEAP16[(0 + 97924 | 0) >> 1] = 339; + HEAP16[(0 + 81546 | 0) >> 1] = 340; + HEAP16[(0 + 97928 | 0) >> 1] = 341; + HEAP16[(0 + 81554 | 0) >> 1] = 344; + HEAP16[(0 + 97936 | 0) >> 1] = 345; + HEAP16[(0 + 81310 | 0) >> 1] = 7838; + HEAP16[(0 + 112924 | 0) >> 1] = 223; + HEAP16[(0 + 81558 | 0) >> 1] = 346; + HEAP16[(0 + 97940 | 0) >> 1] = 347; + HEAP16[(0 + 81562 | 0) >> 1] = 348; + HEAP16[(0 + 97944 | 0) >> 1] = 349; + HEAP16[(0 + 81566 | 0) >> 1] = 350; + HEAP16[(0 + 97948 | 0) >> 1] = 351; + HEAP16[(0 + 81570 | 0) >> 1] = 352; + HEAP16[(0 + 97952 | 0) >> 1] = 353; + HEAP16[(0 + 81938 | 0) >> 1] = 536; + HEAP16[(0 + 98320 | 0) >> 1] = 537; + HEAP16[(0 + 81578 | 0) >> 1] = 356; + HEAP16[(0 + 97960 | 0) >> 1] = 357; + HEAP16[(0 + 81574 | 0) >> 1] = 354; + HEAP16[(0 + 97956 | 0) >> 1] = 355; + HEAP16[(0 + 81372 | 0) >> 1] = 222; + HEAP16[(0 + 97692 | 0) >> 1] = 254; + HEAP16[(0 + 81942 | 0) >> 1] = 538; + HEAP16[(0 + 98324 | 0) >> 1] = 539; + HEAP16[(0 + 81368 | 0) >> 1] = 220; + HEAP16[(0 + 97688 | 0) >> 1] = 252; + HEAP16[(0 + 81362 | 0) >> 1] = 217; + HEAP16[(0 + 97682 | 0) >> 1] = 249; + HEAP16[(0 + 81364 | 0) >> 1] = 218; + HEAP16[(0 + 97684 | 0) >> 1] = 250; + HEAP16[(0 + 81366 | 0) >> 1] = 219; + HEAP16[(0 + 97686 | 0) >> 1] = 251; + HEAP16[(0 + 81602 | 0) >> 1] = 368; + HEAP16[(0 + 97984 | 0) >> 1] = 369; + HEAP16[(0 + 81586 | 0) >> 1] = 360; + HEAP16[(0 + 97968 | 0) >> 1] = 361; + HEAP16[(0 + 81606 | 0) >> 1] = 370; + HEAP16[(0 + 97988 | 0) >> 1] = 371; + HEAP16[(0 + 81598 | 0) >> 1] = 366; + HEAP16[(0 + 97980 | 0) >> 1] = 367; + HEAP16[(0 + 81590 | 0) >> 1] = 362; + HEAP16[(0 + 97972 | 0) >> 1] = 363; + HEAP16[(0 + 81610 | 0) >> 1] = 372; + HEAP16[(0 + 97992 | 0) >> 1] = 373; + HEAP16[(0 + 81370 | 0) >> 1] = 221; + HEAP16[(0 + 97690 | 0) >> 1] = 253; + HEAP16[(0 + 81374 | 0) >> 1] = 376; + HEAP16[(0 + 98e3 | 0) >> 1] = 255; + HEAP16[(0 + 81614 | 0) >> 1] = 374; + HEAP16[(0 + 97996 | 0) >> 1] = 375; + HEAP16[(0 + 81620 | 0) >> 1] = 377; + HEAP16[(0 + 98002 | 0) >> 1] = 378; + HEAP16[(0 + 81628 | 0) >> 1] = 381; + HEAP16[(0 + 98010 | 0) >> 1] = 382; + HEAP16[(0 + 81624 | 0) >> 1] = 379; + HEAP16[(0 + 98006 | 0) >> 1] = 380; + global$0 = $2_1 + 16 | 0; + return; + } + + function $3161($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $6_1 = 0, $28_1 = 0, $83_1 = 0, $92_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6_1 = global$0 - 48 | 0; + global$0 = $6_1; + HEAP32[($6_1 + 44 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 40 | 0) >> 2] = $1_1; + HEAP32[($6_1 + 36 | 0) >> 2] = $2_1; + HEAP32[($6_1 + 32 | 0) >> 2] = $3_1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($6_1 + 36 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0) { + break label$3 + } + if (!(($248(HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + } + $271(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0); + break label$1; + } + label$4 : { + label$5 : { + if ($233(HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) { + break label$5 + } + $28_1 = 0; + $277(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, 63406 | 0, $28_1 | 0, $28_1 | 0); + break label$4; + } + HEAP32[($6_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($6_1 + 32 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $247(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $236(HEAP32[($6_1 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6_1, wasm2js_i32$1 = $38(HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6_1 + 12 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($6_1 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[($6_1 + 11 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0; + HEAP8[($6_1 + 10 | 0) >> 0] = HEAPU8[((HEAP32[($6_1 + 24 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] | 0; + HEAP16[($6_1 + 8 | 0) >> 1] = ((HEAPU8[($6_1 + 10 | 0) >> 0] | 0) & 255 | 0) << 8 | 0 | ((HEAPU8[($6_1 + 11 | 0) >> 0] | 0) & 255 | 0) | 0; + label$8 : { + label$9 : { + if (!(((HEAPU16[($6_1 + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) < (8192 | 0) & 1 | 0)) { + break label$9 + } + HEAP16[($6_1 + 6 | 0) >> 1] = HEAPU16[((HEAP32[($6_1 + 44 | 0) >> 2] | 0) + (((HEAPU16[($6_1 + 8 | 0) >> 1] | 0) & 65535 | 0) << 1 | 0) | 0) >> 1] | 0; + $83_1 = 16; + HEAP8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) >> 0] = (((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) << $83_1 | 0) >> $83_1 | 0) & 255 | 0; + $92_1 = 16; + HEAP8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = (((HEAPU16[($6_1 + 6 | 0) >> 1] | 0) << $92_1 | 0) >> $92_1 | 0) >> 8 | 0; + break label$8; + } + HEAP8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + (HEAP32[($6_1 + 12 | 0) >> 2] | 0) | 0) >> 0] = HEAPU8[($6_1 + 11 | 0) >> 0] | 0; + HEAP8[((HEAP32[($6_1 + 16 | 0) >> 2] | 0) + ((HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 1 | 0) | 0) >> 0] = HEAPU8[($6_1 + 10 | 0) >> 0] | 0; + } + HEAP32[($6_1 + 12 | 0) >> 2] = (HEAP32[($6_1 + 12 | 0) >> 2] | 0) + 2 | 0; + continue label$7; + }; + } + $279(HEAP32[($6_1 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6_1 + 20 | 0) >> 2] | 0 | 0, 3 | 0); + } + } + global$0 = $6_1 + 48 | 0; + return; + } + + function $3162($0_1) { + $0_1 = $0_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + $3155(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; + $3157(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0, 63329 | 0, 63335 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return 0 | 0; + } + + function $3163($0_1) { + $0_1 = $0_1 | 0; + return (($0_1 | 32 | 0) + -97 | 0) >>> 0 < 26 >>> 0 | 0; + } + + function $3164($0_1) { + $0_1 = $0_1 | 0; + return ($0_1 | 0) == (32 | 0) | ($0_1 | 0) == (9 | 0) | 0 | 0; + } + + function $3165($0_1) { + $0_1 = $0_1 | 0; + return ($0_1 + -65 | 0) >>> 0 < 26 >>> 0 | 0; + } + + function $3166($0_1) { + $0_1 = $0_1 | 0; + return ($3165($0_1 | 0) | 0 ? $0_1 | 32 | 0 : $0_1) | 0; + } + + function $3167($0_1) { + $0_1 = $0_1 | 0; + return ($0_1 + -97 | 0) >>> 0 < 26 >>> 0 | 0; + } + + function $3168($0_1) { + $0_1 = $0_1 | 0; + return ($3167($0_1 | 0) | 0 ? $0_1 & 95 | 0 : $0_1) | 0; + } + + function $3169() { + return 114664 | 0; + } + + function $3170($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $3_1 = 0, $4_1 = 0; + $2_1 = 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : while (1) { + if ((HEAPU8[($2_1 + 63408 | 0) >> 0] | 0 | 0) == ($0_1 | 0)) { + break label$3 + } + $3_1 = 87; + $2_1 = $2_1 + 1 | 0; + if (($2_1 | 0) != (87 | 0)) { + continue label$4 + } + break label$2; + }; + } + $3_1 = $2_1; + if ($2_1) { + break label$2 + } + $4_1 = 63504; + break label$1; + } + $2_1 = 63504; + label$5 : while (1) { + $0_1 = HEAPU8[$2_1 >> 0] | 0; + $4_1 = $2_1 + 1 | 0; + $2_1 = $4_1; + if ($0_1) { + continue label$5 + } + $2_1 = $4_1; + $3_1 = $3_1 + -1 | 0; + if ($3_1) { + continue label$5 + } + break label$5; + }; + } + return $3177($4_1 | 0, HEAP32[($1_1 + 20 | 0) >> 2] | 0 | 0) | 0 | 0; + } + + function $3171($0_1) { + $0_1 = $0_1 | 0; + return $3170($0_1 | 0, HEAP32[(($3172() | 0) + 176 | 0) >> 2] | 0 | 0) | 0 | 0; + } + + function $3172() { + return $3211() | 0 | 0; + } + + function $3173($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 144 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 140 | 0) >> 2] = $2_1 + 4 | 0; + $2_1 = HEAP32[$2_1 >> 2] | 0; + $2_1 = ($1_1 | 0) == (4 | 0) ? $2_1 | 32768 | 0 : $2_1; + label$1 : { + label$2 : { + if ($1_1 >>> 0 > 16 >>> 0) { + break label$2 + } + label$3 : { + if ((1 << $1_1 | 0) & 110592 | 0) { + break label$3 + } + label$4 : { + if (($1_1 | 0) == (9 | 0)) { + break label$4 + } + if (($1_1 | 0) != (14 | 0)) { + break label$2 + } + HEAP32[($3_1 + 16 | 0) >> 2] = $2_1; + $1_1 = $3175(fimport$6($0_1 | 0, 14 | 0, $3_1 + 16 | 0 | 0) | 0 | 0) | 0; + break label$1; + } + HEAP32[($3_1 + 48 | 0) >> 2] = $3_1 + 128 | 0; + label$5 : { + $1_1 = fimport$6($0_1 | 0, 16 | 0, $3_1 + 48 | 0 | 0) | 0; + if (!$1_1) { + break label$5 + } + label$6 : { + if (($1_1 | 0) != (-28 | 0)) { + break label$6 + } + HEAP32[($3_1 + 32 | 0) >> 2] = $2_1; + $1_1 = fimport$6($0_1 | 0, 9 | 0, $3_1 + 32 | 0 | 0) | 0; + break label$1; + } + $1_1 = $3175($1_1 | 0) | 0; + break label$1; + } + $1_1 = HEAP32[($3_1 + 132 | 0) >> 2] | 0; + $1_1 = (HEAP32[($3_1 + 128 | 0) >> 2] | 0 | 0) == (2 | 0) ? 0 - $1_1 | 0 : $1_1; + break label$1; + } + HEAP32[($3_1 + 112 | 0) >> 2] = $2_1; + $1_1 = $3175(fimport$6($0_1 | 0, $1_1 | 0, $3_1 + 112 | 0 | 0) | 0 | 0) | 0; + break label$1; + } + label$7 : { + if (($1_1 | 0) == (1030 | 0)) { + break label$7 + } + HEAP32[$3_1 >> 2] = $2_1; + $1_1 = $3175(fimport$6($0_1 | 0, $1_1 | 0, $3_1 | 0) | 0 | 0) | 0; + break label$1; + } + HEAP32[($3_1 + 96 | 0) >> 2] = $2_1; + label$8 : { + $1_1 = fimport$6($0_1 | 0, 1030 | 0, $3_1 + 96 | 0 | 0) | 0; + if (($1_1 | 0) == (-28 | 0)) { + break label$8 + } + $1_1 = $3175($1_1 | 0) | 0; + break label$1; + } + HEAP32[($3_1 + 80 | 0) >> 2] = 0; + label$9 : { + $1_1 = fimport$6($0_1 | 0, 1030 | 0, $3_1 + 80 | 0 | 0) | 0; + if (($1_1 | 0) == (-28 | 0)) { + break label$9 + } + label$10 : { + if (($1_1 | 0) < (0 | 0)) { + break label$10 + } + fimport$7($1_1 | 0) | 0; + } + $1_1 = $3175(-28 | 0) | 0; + break label$1; + } + HEAP32[($3_1 + 64 | 0) >> 2] = $2_1; + $1_1 = $3175(fimport$6($0_1 | 0, 0 | 0, $3_1 + 64 | 0 | 0) | 0 | 0) | 0; + } + global$0 = $3_1 + 144 | 0; + return $1_1 | 0; + } + + function $3174($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + label$1 : { + label$2 : { + if ($1_1 & 4194368 | 0) { + break label$2 + } + $2_1 = 0; + break label$1; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $2_1 + 4 | 0; + $2_1 = HEAP32[$2_1 >> 2] | 0; + } + HEAP32[$3_1 >> 2] = $2_1; + $1_1 = $3175(fimport$8($0_1 | 0, $1_1 | 32768 | 0 | 0, $3_1 | 0) | 0 | 0) | 0; + global$0 = $3_1 + 16 | 0; + return $1_1 | 0; + } + + function $3175($0_1) { + $0_1 = $0_1 | 0; + var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + label$1 : { + if ($0_1 >>> 0 < -4095 >>> 0) { + break label$1 + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 0 - $0_1 | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $0_1 = -1; + } + return $0_1 | 0; + } + + function $3176($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + return $0_1 | 0; + } + + function $3177($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + return $3176($0_1 | 0, $1_1 | 0) | 0 | 0; + } + + function $3178($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $3_1 = 0.0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $2_1 = 0, $1_1 = 0, $2$hi = 0, $4_1 = 0.0, $12_1 = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $63_1 = 0.0; + label$1 : { + label$2 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $2_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $2$hi = i64toi32_i32$0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $12_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $12_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $12_1 & 2147483647 | 0; + if ($1_1 >>> 0 < 1072693248 >>> 0) { + break label$2 + } + i64toi32_i32$1 = $2$hi; + if (!($1_1 + -1072693248 | 0 | $2_1 | 0)) { + break label$1 + } + return +(0.0 / ($0_1 - $0_1)); + } + label$3 : { + label$4 : { + if ($1_1 >>> 0 > 1071644671 >>> 0) { + break label$4 + } + $3_1 = 1.5707963267948966; + if ($1_1 >>> 0 < 1012924417 >>> 0) { + break label$3 + } + return +(6.123233995736766e-17 - +$3179(+($0_1 * $0_1)) * $0_1 - $0_1 + 1.5707963267948966); + } + label$5 : { + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + if ($13_1) { + break label$5 + } + $0_1 = ($0_1 + 1.0) * .5; + $3_1 = +$3207(+$0_1); + $0_1 = 1.5707963267948966 - ($3_1 + ($3_1 * +$3179(+$0_1) + -6.123233995736766e-17)); + return +($0_1 + $0_1); + } + $3_1 = (1.0 - $0_1) * .5; + $4_1 = +$3207(+$3_1); + $63_1 = $4_1 * +$3179(+$3_1); + wasm2js_scratch_store_f64(+$4_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$3 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = -1; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$3 & i64toi32_i32$2 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + $0_1 = $63_1 + ($3_1 - $0_1 * $0_1) / ($4_1 + $0_1) + $0_1; + $3_1 = $0_1 + $0_1; + } + return +$3_1; + } + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = -1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$3 | 0)) { + $16_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$2 >>> 0) { + $17_1 = 0 + } else { + $17_1 = 1 + } + $18_1 = $17_1; + } else { + $18_1 = 0 + } + $16_1 = $18_1; + } + return +($16_1 ? 0.0 : 3.141592653589793); + } + + function $3179($0_1) { + $0_1 = +$0_1; + return +(((((($0_1 * 3.479331075960212e-05 + 7.915349942898145e-04) * $0_1 + -.04005553450067941) * $0_1 + .20121253213486293) * $0_1 + -.3255658186224009) * $0_1 + .16666666666666666) * $0_1 / (((($0_1 * .07703815055590194 + -.6882839716054533) * $0_1 + 2.0209457602335057) * $0_1 + -2.403394911734414) * $0_1 + 1.0)); + } + + function $3180($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $1_1 = 0, i64toi32_i32$2 = 0; + label$1 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 52; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $7_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $7_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $7_1 & 2047 | 0; + if ($1_1 >>> 0 > 1023 >>> 0) { + break label$1 + } + $0_1 = $0_1 + -1.0; + return +(+$3203(+($0_1 + +$3207(+($0_1 * $0_1 + ($0_1 + $0_1)))))); + } + label$2 : { + if ($1_1 >>> 0 > 1048 >>> 0) { + break label$2 + } + return +(+$3202(+($0_1 + $0_1 + -1.0 / (+$3207(+($0_1 * $0_1 + -1.0)) + $0_1)))); + } + return +(+$3202(+$0_1) + .6931471805599453); + } + + function $3181($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $1_1 = 0, $5_1 = 0.0, $2_1 = 0, $3_1 = 0.0, $2$hi = 0, $15_1 = 0, $4_1 = 0.0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $67_1 = 0.0, $84_1 = 0.0, $86_1 = 0.0; + label$1 : { + label$2 : { + label$3 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $2_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $2$hi = i64toi32_i32$0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $15_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $15_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $15_1 & 2147483647 | 0; + if ($1_1 >>> 0 < 1072693248 >>> 0) { + break label$3 + } + i64toi32_i32$1 = $2$hi; + if ($1_1 + -1072693248 | 0 | $2_1 | 0) { + break label$2 + } + return +($0_1 * 1.5707963267948966 + 7.52316384526264e-37); + } + label$4 : { + if ($1_1 >>> 0 > 1071644671 >>> 0) { + break label$4 + } + if (($1_1 + -1048576 | 0) >>> 0 < 1044381696 >>> 0) { + break label$1 + } + return +(+$3182(+($0_1 * $0_1)) * $0_1 + $0_1); + } + $3_1 = (1.0 - +$3200(+$0_1)) * .5; + $0_1 = +$3207(+$3_1); + $4_1 = +$3182(+$3_1); + label$5 : { + label$6 : { + if ($1_1 >>> 0 < 1072640819 >>> 0) { + break label$6 + } + $0_1 = $0_1 + $0_1 * $4_1; + $0_1 = 1.5707963267948966 - ($0_1 + $0_1 + -6.123233995736766e-17); + break label$5; + } + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$0 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$2 | 0); + $5_1 = +wasm2js_scratch_load_f64(); + $67_1 = ($0_1 + $0_1) * $4_1; + $0_1 = ($3_1 - $5_1 * $5_1) / ($0_1 + $5_1); + $0_1 = .7853981633974483 - ($5_1 + $5_1) - ($67_1 - (6.123233995736766e-17 - ($0_1 + $0_1))) + .7853981633974483; + } + $84_1 = $0_1; + $86_1 = -$0_1; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $16_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $17_1 = 0 + } else { + $17_1 = 1 + } + $18_1 = $17_1; + } else { + $18_1 = 0 + } + $16_1 = $18_1; + } + return +($16_1 ? $84_1 : $86_1); + } + $0_1 = 0.0 / ($0_1 - $0_1); + } + return +$0_1; + } + + function $3182($0_1) { + $0_1 = +$0_1; + return +(((((($0_1 * 3.479331075960212e-05 + 7.915349942898145e-04) * $0_1 + -.04005553450067941) * $0_1 + .20121253213486293) * $0_1 + -.3255658186224009) * $0_1 + .16666666666666666) * $0_1 / (((($0_1 * .07703815055590194 + -.6882839716054533) * $0_1 + 2.0209457602335057) * $0_1 + -2.403394911734414) * $0_1 + 1.0)); + } + + function $3183($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $1_1 = 0, $2_1 = 0, $12_1 = 0, $3_1 = 0.0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $2$hi = 0, $47_1 = 0.0, $49_1 = 0.0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $2_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $2$hi = i64toi32_i32$0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + label$1 : { + label$2 : { + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 52; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $12_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $12_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $12_1 & 2047 | 0; + if ($1_1 >>> 0 < 1049 >>> 0) { + break label$2 + } + $0_1 = +$3202(+$0_1) + .6931471805599453; + break label$1; + } + label$3 : { + if ($1_1 >>> 0 < 1024 >>> 0) { + break label$3 + } + $0_1 = +$3202(+($0_1 + $0_1 + 1.0 / (+$3207(+($0_1 * $0_1 + 1.0)) + $0_1))); + break label$1; + } + if ($1_1 >>> 0 < 997 >>> 0) { + break label$1 + } + $3_1 = $0_1 * $0_1; + $0_1 = +$3203(+($3_1 / (+$3207(+($3_1 + 1.0)) + 1.0) + $0_1)); + } + $47_1 = $0_1; + $49_1 = -$0_1; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + return +($13_1 ? $47_1 : $49_1); + } + + function $3184($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $1_1 = 0, $5_1 = 0.0, i64toi32_i32$4 = 0, $2_1 = 0, $4_1 = 0.0, $3_1 = 0, $20_1 = 0, $6_1 = 0.0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $3$hi = 0, $110_1 = 0.0, $112_1 = 0.0, $119_1 = 0, $119$hi = 0, $122_1 = 0, $122$hi = 0, $124_1 = 0.0; + label$1 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $3_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $3$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $20_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $20_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $20_1 & 2147483647 | 0; + if ($1_1 >>> 0 >= 1141899264 >>> 0) { + break label$1 + } + label$2 : { + label$3 : { + label$4 : { + if ($1_1 >>> 0 > 1071382527 >>> 0) { + break label$4 + } + if ($1_1 >>> 0 < 1044381696 >>> 0) { + break label$2 + } + $2_1 = -1; + $1_1 = 1; + break label$3; + } + $0_1 = +$3200(+$0_1); + label$5 : { + label$6 : { + if ($1_1 >>> 0 > 1072889855 >>> 0) { + break label$6 + } + label$7 : { + if ($1_1 >>> 0 > 1072037887 >>> 0) { + break label$7 + } + $0_1 = ($0_1 + $0_1 + -1.0) / ($0_1 + 2.0); + $1_1 = 0; + $2_1 = 0; + break label$3; + } + $0_1 = ($0_1 + -1.0) / ($0_1 + 1.0); + $2_1 = 1; + break label$5; + } + label$8 : { + if ($1_1 >>> 0 > 1073971199 >>> 0) { + break label$8 + } + $0_1 = ($0_1 + -1.5) / ($0_1 * 1.5 + 1.0); + $2_1 = 2; + break label$5; + } + $0_1 = -1.0 / $0_1; + $2_1 = 3; + } + $1_1 = 0; + } + $4_1 = $0_1 * $0_1; + $5_1 = $4_1 * $4_1; + $6_1 = $5_1 * ($5_1 * ($5_1 * ($5_1 * ($5_1 * -.036531572744216916 + -.058335701337905735) + -.0769187620504483) + -.11111110405462356) + -.19999999999876483); + $5_1 = $4_1 * ($5_1 * ($5_1 * ($5_1 * ($5_1 * ($5_1 * .016285820115365782 + .049768779946159324) + .06661073137387531) + .09090887133436507) + .14285714272503466) + .3333333333333293); + label$9 : { + if (!$1_1) { + break label$9 + } + return +($0_1 - $0_1 * ($6_1 + $5_1)); + } + $1_1 = $2_1 << 3 | 0; + $0_1 = +HEAPF64[($1_1 + 65312 | 0) >> 3] - ($0_1 * ($6_1 + $5_1) - +HEAPF64[($1_1 + 65344 | 0) >> 3] - $0_1); + $110_1 = $0_1; + $112_1 = -$0_1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $21_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $22_1 = 0 + } else { + $22_1 = 1 + } + $23_1 = $22_1; + } else { + $23_1 = 0 + } + $21_1 = $23_1; + } + $0_1 = $21_1 ? $110_1 : $112_1; + } + return +$0_1; + } + wasm2js_scratch_store_f64(+(1.5707963267948966)); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$3 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$2 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $119_1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $119$hi = i64toi32_i32$1; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$3 = -2147483648; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $122_1 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $122$hi = i64toi32_i32$3; + i64toi32_i32$3 = $119$hi; + i64toi32_i32$1 = $119_1; + i64toi32_i32$0 = $122$hi; + i64toi32_i32$2 = $122_1; + i64toi32_i32$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 | i64toi32_i32$2 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + $124_1 = +wasm2js_scratch_load_f64(); + i64toi32_i32$0 = $3185(+$0_1) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$2 = -1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = 2146435072; + i64toi32_i32$2 = 0; + return +(i64toi32_i32$0 >>> 0 > i64toi32_i32$3 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$2 >>> 0 | 0) | 0 ? $0_1 : $124_1); + } + + function $3185($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $3186($0_1, $1_1) { + $0_1 = +$0_1; + $1_1 = +$1_1; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $7_1 = 0, $2_1 = 0, $8_1 = 0.0, $7$hi = 0, $6_1 = 0, $5_1 = 0, $24_1 = 0, $25_1 = 0, $4_1 = 0, $26_1 = 0, $27_1 = 0, $3_1 = 0, $37_1 = 0, $60_1 = 0, $60$hi = 0, $63_1 = 0, $63$hi = 0, $81_1 = 0, $81$hi = 0, $84_1 = 0, $84$hi = 0; + label$1 : { + label$2 : { + i64toi32_i32$0 = $3187(+$1_1) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = 2146435072; + i64toi32_i32$3 = 0; + if (i64toi32_i32$0 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) { + break label$2 + } + i64toi32_i32$1 = $3187(+$0_1) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$2 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = 2146435072; + i64toi32_i32$2 = 1; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0) { + break label$1 + } + } + return +($0_1 + $1_1); + } + label$3 : { + wasm2js_scratch_store_f64(+$1_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $7_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $7$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $24_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $24_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $24_1; + i64toi32_i32$1 = $7$hi; + $3_1 = $7_1; + if ($2_1 + -1072693248 | 0 | $7_1 | 0) { + break label$3 + } + return +(+$3184(+$0_1)); + } + i64toi32_i32$1 = $7$hi; + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 62; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $25_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $25_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $4_1 = $25_1 & 2 | 0; + $37_1 = $4_1; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$2 = wasm2js_scratch_load_i32(1 | 0) | 0; + $7_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $7$hi = i64toi32_i32$2; + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $26_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $26_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + $5_1 = $37_1 | $26_1 | 0; + label$4 : { + label$5 : { + label$6 : { + i64toi32_i32$0 = $7$hi; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $27_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $27_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $6_1 = $27_1 & 2147483647 | 0; + i64toi32_i32$1 = $7$hi; + if ($6_1 | $7_1 | 0) { + break label$6 + } + $8_1 = $0_1; + label$7 : { + switch ($5_1 | 0) { + case 2: + break label$5; + case 3: + break label$7; + default: + break label$4; + }; + } + return +(-3.141592653589793); + } + label$8 : { + $2_1 = $2_1 & 2147483647 | 0; + if ($2_1 | $3_1 | 0) { + break label$8 + } + wasm2js_scratch_store_f64(+(1.5707963267948966)); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$2 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $60_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $60$hi = i64toi32_i32$2; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$2 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$0 = -2147483648; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $63_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $63$hi = i64toi32_i32$0; + i64toi32_i32$0 = $60$hi; + i64toi32_i32$2 = $60_1; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$3 = $63_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 | i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + return +(+wasm2js_scratch_load_f64()); + } + label$9 : { + label$10 : { + if (($2_1 | 0) != (2146435072 | 0)) { + break label$10 + } + if (($6_1 | 0) != (2146435072 | 0)) { + break label$9 + } + return +(+HEAPF64[(($5_1 << 3 | 0) + 65376 | 0) >> 3]); + } + label$11 : { + label$12 : { + if (($6_1 | 0) == (2146435072 | 0)) { + break label$12 + } + if (($2_1 + 67108864 | 0) >>> 0 >= $6_1 >>> 0) { + break label$11 + } + } + wasm2js_scratch_store_f64(+(1.5707963267948966)); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$2 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $81_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $81$hi = i64toi32_i32$2; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$2 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$0 = -2147483648; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $84_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $84$hi = i64toi32_i32$0; + i64toi32_i32$0 = $81$hi; + i64toi32_i32$2 = $81_1; + i64toi32_i32$1 = $84$hi; + i64toi32_i32$3 = $84_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 | i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + return +(+wasm2js_scratch_load_f64()); + } + label$13 : { + label$14 : { + if (!$4_1) { + break label$14 + } + $8_1 = 0.0; + if (($6_1 + 67108864 | 0) >>> 0 < $2_1 >>> 0) { + break label$13 + } + } + $8_1 = +$3184(+(+$3200(+($0_1 / $1_1)))); + } + label$15 : { + switch ($5_1 | 0) { + case 1: + return +-$8_1; + case 2: + return +(3.141592653589793 - ($8_1 + -1.2246467991473532e-16)); + case 0: + break label$4; + default: + break label$15; + }; + } + return +($8_1 + -1.2246467991473532e-16 + -3.141592653589793); + } + return +(+HEAPF64[(($5_1 << 3 | 0) + 65408 | 0) >> 3]); + } + $8_1 = 3.141592653589793; + } + return +$8_1; + } + + function $3187($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $3188($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $2_1 = 0, $12_1 = 0, $1_1 = 0, $3_1 = 0.0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $2$hi = 0, $38_1 = 0.0, $40_1 = 0.0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $2_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $2$hi = i64toi32_i32$0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + label$1 : { + label$2 : { + label$3 : { + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 52; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $12_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $12_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $12_1 & 2047 | 0; + if ($1_1 >>> 0 > 1021 >>> 0) { + break label$3 + } + if ($1_1 >>> 0 < 991 >>> 0) { + break label$1 + } + $3_1 = $0_1 + $0_1; + $0_1 = $3_1 + $3_1 * $0_1 / (1.0 - $0_1); + break label$2; + } + $0_1 = $0_1 / (1.0 - $0_1); + $0_1 = $0_1 + $0_1; + } + $0_1 = +$3203(+$0_1) * .5; + } + $38_1 = $0_1; + $40_1 = -$0_1; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + return +($13_1 ? $38_1 : $40_1); + } + + function $3189($0_1, $1_1) { + $0_1 = +$0_1; + $1_1 = +$1_1; + var $2_1 = 0.0, $3_1 = 0.0, $4_1 = 0.0, $16_1 = 0.0; + $2_1 = $0_1 * $0_1; + $3_1 = $2_1 * .5; + $4_1 = 1.0 - $3_1; + $16_1 = 1.0 - $4_1 - $3_1; + $3_1 = $2_1 * $2_1; + return +($4_1 + ($16_1 + ($2_1 * ($2_1 * ($2_1 * ($2_1 * 2.480158728947673e-05 + -.001388888888887411) + .0416666666666666) + $3_1 * $3_1 * ($2_1 * ($2_1 * -1.1359647557788195e-11 + 2.087572321298175e-09) + -2.7557314351390663e-07)) - $0_1 * $1_1))); + } + + function $3190($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $22_1 = 0.0, $11_1 = 0, $6_1 = 0, $5_1 = 0, $23_1 = 0.0, $13_1 = 0, $14_1 = 0, $9_1 = 0, $20_1 = 0, $8_1 = 0, $10_1 = 0, $12_1 = 0, $18_1 = 0, $24_1 = 0.0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7_1 = 0, $16_1 = 0, $19_1 = 0, $15_1 = 0, $17_1 = 0, $207_1 = 0, $210_1 = 0, $539_1 = 0.0, $577_1 = 0.0, $609_1 = 0, $615_1 = 0; + $5_1 = global$0 - 560 | 0; + global$0 = $5_1; + $6_1 = ($2_1 + -3 | 0 | 0) / (24 | 0) | 0; + $7_1 = ($6_1 | 0) > (0 | 0) ? $6_1 : 0; + $8_1 = Math_imul($7_1, -24) + $2_1 | 0; + label$1 : { + $9_1 = HEAP32[(($4_1 << 2 | 0) + 65440 | 0) >> 2] | 0; + $10_1 = $3_1 + -1 | 0; + if (($9_1 + $10_1 | 0 | 0) < (0 | 0)) { + break label$1 + } + $11_1 = $9_1 + $3_1 | 0; + $2_1 = $7_1 - $10_1 | 0; + $6_1 = 0; + label$2 : while (1) { + label$3 : { + label$4 : { + if (($2_1 | 0) >= (0 | 0)) { + break label$4 + } + $22_1 = 0.0; + break label$3; + } + $22_1 = +(HEAP32[(($2_1 << 2 | 0) + 65456 | 0) >> 2] | 0 | 0); + } + HEAPF64[(($5_1 + 320 | 0) + ($6_1 << 3 | 0) | 0) >> 3] = $22_1; + $2_1 = $2_1 + 1 | 0; + $6_1 = $6_1 + 1 | 0; + if (($6_1 | 0) != ($11_1 | 0)) { + continue label$2 + } + break label$2; + }; + } + $12_1 = $8_1 + -24 | 0; + $11_1 = 0; + $13_1 = ($9_1 | 0) > (0 | 0) ? $9_1 : 0; + $14_1 = ($3_1 | 0) < (1 | 0); + label$5 : while (1) { + label$6 : { + label$7 : { + if (!$14_1) { + break label$7 + } + $22_1 = 0.0; + break label$6; + } + $6_1 = $11_1 + $10_1 | 0; + $2_1 = 0; + $22_1 = 0.0; + label$8 : while (1) { + $22_1 = $22_1 + +HEAPF64[($0_1 + ($2_1 << 3 | 0) | 0) >> 3] * +HEAPF64[(($5_1 + 320 | 0) + (($6_1 - $2_1 | 0) << 3 | 0) | 0) >> 3]; + $2_1 = $2_1 + 1 | 0; + if (($2_1 | 0) != ($3_1 | 0)) { + continue label$8 + } + break label$8; + }; + } + HEAPF64[($5_1 + ($11_1 << 3 | 0) | 0) >> 3] = $22_1; + $2_1 = ($11_1 | 0) == ($13_1 | 0); + $11_1 = $11_1 + 1 | 0; + if (!$2_1) { + continue label$5 + } + break label$5; + }; + $15_1 = 47 - $8_1 | 0; + $16_1 = 48 - $8_1 | 0; + $17_1 = $8_1 + -25 | 0; + $11_1 = $9_1; + label$9 : { + label$10 : while (1) { + $22_1 = +HEAPF64[($5_1 + ($11_1 << 3 | 0) | 0) >> 3]; + $2_1 = 0; + $6_1 = $11_1; + label$11 : { + $10_1 = ($11_1 | 0) < (1 | 0); + if ($10_1) { + break label$11 + } + label$12 : while (1) { + $13_1 = $2_1 << 2 | 0; + label$13 : { + label$14 : { + $23_1 = $22_1 * 5.9604644775390625e-08; + if (!(Math_abs($23_1) < 2147483648.0)) { + break label$14 + } + $14_1 = ~~$23_1; + break label$13; + } + $14_1 = -2147483648; + } + $13_1 = ($5_1 + 480 | 0) + $13_1 | 0; + label$15 : { + label$16 : { + $23_1 = +($14_1 | 0); + $22_1 = $22_1 + $23_1 * -16777216.0; + if (!(Math_abs($22_1) < 2147483648.0)) { + break label$16 + } + $14_1 = ~~$22_1; + break label$15; + } + $14_1 = -2147483648; + } + HEAP32[$13_1 >> 2] = $14_1; + $6_1 = $6_1 + -1 | 0; + $22_1 = +HEAPF64[($5_1 + ($6_1 << 3 | 0) | 0) >> 3] + $23_1; + $2_1 = $2_1 + 1 | 0; + if (($2_1 | 0) != ($11_1 | 0)) { + continue label$12 + } + break label$12; + }; + } + $22_1 = +$3287(+$22_1, $12_1 | 0); + label$17 : { + label$18 : { + $22_1 = $22_1 + +$3201(+($22_1 * .125)) * -8.0; + if (!(Math_abs($22_1) < 2147483648.0)) { + break label$18 + } + $18_1 = ~~$22_1; + break label$17; + } + $18_1 = -2147483648; + } + $22_1 = $22_1 - +($18_1 | 0); + label$19 : { + label$20 : { + label$21 : { + label$22 : { + label$23 : { + $19_1 = ($12_1 | 0) < (1 | 0); + if ($19_1) { + break label$23 + } + $2_1 = (($11_1 << 2 | 0) + ($5_1 + 480 | 0) | 0) + -4 | 0; + $207_1 = $2_1; + $2_1 = HEAP32[$2_1 >> 2] | 0; + $210_1 = $2_1; + $2_1 = $2_1 >> $16_1 | 0; + $6_1 = $210_1 - ($2_1 << $16_1 | 0) | 0; + HEAP32[$207_1 >> 2] = $6_1; + $20_1 = $6_1 >> $15_1 | 0; + $18_1 = $2_1 + $18_1 | 0; + break label$22; + } + if ($12_1) { + break label$21 + } + $20_1 = (HEAP32[((($11_1 << 2 | 0) + ($5_1 + 480 | 0) | 0) + -4 | 0) >> 2] | 0) >> 23 | 0; + } + if (($20_1 | 0) < (1 | 0)) { + break label$19 + } + break label$20; + } + $20_1 = 2; + if (!($22_1 >= .5 ^ 1 | 0)) { + break label$20 + } + $20_1 = 0; + break label$19; + } + $2_1 = 0; + $14_1 = 0; + label$24 : { + if ($10_1) { + break label$24 + } + label$25 : while (1) { + $10_1 = ($5_1 + 480 | 0) + ($2_1 << 2 | 0) | 0; + $6_1 = HEAP32[$10_1 >> 2] | 0; + $13_1 = 16777215; + label$26 : { + label$27 : { + if ($14_1) { + break label$27 + } + $13_1 = 16777216; + if ($6_1) { + break label$27 + } + $14_1 = 0; + break label$26; + } + HEAP32[$10_1 >> 2] = $13_1 - $6_1 | 0; + $14_1 = 1; + } + $2_1 = $2_1 + 1 | 0; + if (($2_1 | 0) != ($11_1 | 0)) { + continue label$25 + } + break label$25; + }; + } + label$28 : { + if ($19_1) { + break label$28 + } + label$29 : { + switch ($17_1 | 0) { + case 0: + $2_1 = (($11_1 << 2 | 0) + ($5_1 + 480 | 0) | 0) + -4 | 0; + HEAP32[$2_1 >> 2] = (HEAP32[$2_1 >> 2] | 0) & 8388607 | 0; + break label$28; + case 1: + break label$29; + default: + break label$28; + }; + } + $2_1 = (($11_1 << 2 | 0) + ($5_1 + 480 | 0) | 0) + -4 | 0; + HEAP32[$2_1 >> 2] = (HEAP32[$2_1 >> 2] | 0) & 4194303 | 0; + } + $18_1 = $18_1 + 1 | 0; + if (($20_1 | 0) != (2 | 0)) { + break label$19 + } + $22_1 = 1.0 - $22_1; + $20_1 = 2; + if (!$14_1) { + break label$19 + } + $22_1 = $22_1 - +$3287(+(1.0), $12_1 | 0); + } + label$31 : { + if ($22_1 != 0.0) { + break label$31 + } + $6_1 = 0; + $2_1 = $11_1; + label$32 : { + if (($2_1 | 0) <= ($9_1 | 0)) { + break label$32 + } + label$33 : while (1) { + $2_1 = $2_1 + -1 | 0; + $6_1 = HEAP32[(($5_1 + 480 | 0) + ($2_1 << 2 | 0) | 0) >> 2] | 0 | $6_1 | 0; + if (($2_1 | 0) > ($9_1 | 0)) { + continue label$33 + } + break label$33; + }; + if (!$6_1) { + break label$32 + } + $8_1 = $12_1; + label$34 : while (1) { + $8_1 = $8_1 + -24 | 0; + $11_1 = $11_1 + -1 | 0; + if (!(HEAP32[(($5_1 + 480 | 0) + ($11_1 << 2 | 0) | 0) >> 2] | 0)) { + continue label$34 + } + break label$9; + }; + } + $2_1 = 1; + label$35 : while (1) { + $6_1 = $2_1; + $2_1 = $2_1 + 1 | 0; + if (!(HEAP32[(($5_1 + 480 | 0) + (($9_1 - $6_1 | 0) << 2 | 0) | 0) >> 2] | 0)) { + continue label$35 + } + break label$35; + }; + $13_1 = $6_1 + $11_1 | 0; + label$36 : while (1) { + $6_1 = $11_1 + $3_1 | 0; + $11_1 = $11_1 + 1 | 0; + HEAPF64[(($5_1 + 320 | 0) + ($6_1 << 3 | 0) | 0) >> 3] = +(HEAP32[((($11_1 + $7_1 | 0) << 2 | 0) + 65456 | 0) >> 2] | 0 | 0); + $2_1 = 0; + $22_1 = 0.0; + label$37 : { + if (($3_1 | 0) < (1 | 0)) { + break label$37 + } + label$38 : while (1) { + $22_1 = $22_1 + +HEAPF64[($0_1 + ($2_1 << 3 | 0) | 0) >> 3] * +HEAPF64[(($5_1 + 320 | 0) + (($6_1 - $2_1 | 0) << 3 | 0) | 0) >> 3]; + $2_1 = $2_1 + 1 | 0; + if (($2_1 | 0) != ($3_1 | 0)) { + continue label$38 + } + break label$38; + }; + } + HEAPF64[($5_1 + ($11_1 << 3 | 0) | 0) >> 3] = $22_1; + if (($11_1 | 0) < ($13_1 | 0)) { + continue label$36 + } + break label$36; + }; + $11_1 = $13_1; + continue label$10; + } + break label$10; + }; + label$39 : { + label$40 : { + $22_1 = +$3287(+$22_1, 0 - $12_1 | 0 | 0); + if ($22_1 >= 16777216.0 ^ 1 | 0) { + break label$40 + } + $3_1 = $11_1 << 2 | 0; + label$41 : { + label$42 : { + $23_1 = $22_1 * 5.9604644775390625e-08; + if (!(Math_abs($23_1) < 2147483648.0)) { + break label$42 + } + $2_1 = ~~$23_1; + break label$41; + } + $2_1 = -2147483648; + } + $3_1 = ($5_1 + 480 | 0) + $3_1 | 0; + label$43 : { + label$44 : { + $22_1 = $22_1 + +($2_1 | 0) * -16777216.0; + if (!(Math_abs($22_1) < 2147483648.0)) { + break label$44 + } + $6_1 = ~~$22_1; + break label$43; + } + $6_1 = -2147483648; + } + HEAP32[$3_1 >> 2] = $6_1; + $11_1 = $11_1 + 1 | 0; + break label$39; + } + label$45 : { + label$46 : { + if (!(Math_abs($22_1) < 2147483648.0)) { + break label$46 + } + $2_1 = ~~$22_1; + break label$45; + } + $2_1 = -2147483648; + } + $8_1 = $12_1; + } + HEAP32[(($5_1 + 480 | 0) + ($11_1 << 2 | 0) | 0) >> 2] = $2_1; + } + $22_1 = +$3287(+(1.0), $8_1 | 0); + label$47 : { + if (($11_1 | 0) <= (-1 | 0)) { + break label$47 + } + $2_1 = $11_1; + label$48 : while (1) { + HEAPF64[($5_1 + ($2_1 << 3 | 0) | 0) >> 3] = $22_1 * +(HEAP32[(($5_1 + 480 | 0) + ($2_1 << 2 | 0) | 0) >> 2] | 0 | 0); + $22_1 = $22_1 * 5.9604644775390625e-08; + $3_1 = ($2_1 | 0) > (0 | 0); + $2_1 = $2_1 + -1 | 0; + if ($3_1) { + continue label$48 + } + break label$48; + }; + $13_1 = 0; + if (($11_1 | 0) < (0 | 0)) { + break label$47 + } + $9_1 = ($9_1 | 0) > (0 | 0) ? $9_1 : 0; + $6_1 = $11_1; + label$49 : while (1) { + $0_1 = $9_1 >>> 0 < $13_1 >>> 0 ? $9_1 : $13_1; + $14_1 = $11_1 - $6_1 | 0; + $2_1 = 0; + $22_1 = 0.0; + label$50 : while (1) { + $22_1 = $22_1 + +HEAPF64[(($2_1 << 3 | 0) + 68224 | 0) >> 3] * +HEAPF64[($5_1 + (($2_1 + $6_1 | 0) << 3 | 0) | 0) >> 3]; + $3_1 = ($2_1 | 0) != ($0_1 | 0); + $2_1 = $2_1 + 1 | 0; + if ($3_1) { + continue label$50 + } + break label$50; + }; + HEAPF64[(($5_1 + 160 | 0) + ($14_1 << 3 | 0) | 0) >> 3] = $22_1; + $6_1 = $6_1 + -1 | 0; + $2_1 = ($13_1 | 0) != ($11_1 | 0); + $13_1 = $13_1 + 1 | 0; + if ($2_1) { + continue label$49 + } + break label$49; + }; + } + label$51 : { + label$52 : { + label$53 : { + switch ($4_1 | 0) { + case 3: + $24_1 = 0.0; + label$56 : { + if (($11_1 | 0) < (1 | 0)) { + break label$56 + } + $22_1 = +HEAPF64[(($5_1 + 160 | 0) + ($11_1 << 3 | 0) | 0) >> 3]; + $2_1 = $11_1; + label$57 : while (1) { + $3_1 = $2_1 + -1 | 0; + $6_1 = ($5_1 + 160 | 0) + ($3_1 << 3 | 0) | 0; + $23_1 = +HEAPF64[$6_1 >> 3]; + $539_1 = $23_1; + $23_1 = $23_1 + $22_1; + HEAPF64[(($5_1 + 160 | 0) + ($2_1 << 3 | 0) | 0) >> 3] = $22_1 + ($539_1 - $23_1); + HEAPF64[$6_1 >> 3] = $23_1; + $6_1 = ($2_1 | 0) > (1 | 0); + $22_1 = $23_1; + $2_1 = $3_1; + if ($6_1) { + continue label$57 + } + break label$57; + }; + if (($11_1 | 0) < (2 | 0)) { + break label$56 + } + $22_1 = +HEAPF64[(($5_1 + 160 | 0) + ($11_1 << 3 | 0) | 0) >> 3]; + $2_1 = $11_1; + label$58 : while (1) { + $3_1 = $2_1 + -1 | 0; + $6_1 = ($5_1 + 160 | 0) + ($3_1 << 3 | 0) | 0; + $23_1 = +HEAPF64[$6_1 >> 3]; + $577_1 = $23_1; + $23_1 = $23_1 + $22_1; + HEAPF64[(($5_1 + 160 | 0) + ($2_1 << 3 | 0) | 0) >> 3] = $22_1 + ($577_1 - $23_1); + HEAPF64[$6_1 >> 3] = $23_1; + $6_1 = ($2_1 | 0) > (2 | 0); + $22_1 = $23_1; + $2_1 = $3_1; + if ($6_1) { + continue label$58 + } + break label$58; + }; + $24_1 = 0.0; + if (($11_1 | 0) <= (1 | 0)) { + break label$56 + } + label$59 : while (1) { + $24_1 = $24_1 + +HEAPF64[(($5_1 + 160 | 0) + ($11_1 << 3 | 0) | 0) >> 3]; + $2_1 = ($11_1 | 0) > (2 | 0); + $11_1 = $11_1 + -1 | 0; + if ($2_1) { + continue label$59 + } + break label$59; + }; + } + if ($20_1) { + break label$52 + } + i64toi32_i32$0 = HEAP32[($5_1 + 160 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5_1 + 164 | 0) >> 2] | 0; + $609_1 = i64toi32_i32$0; + i64toi32_i32$0 = $1_1; + HEAP32[$1_1 >> 2] = $609_1; + HEAP32[($1_1 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5_1 + 168 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5_1 + 172 | 0) >> 2] | 0; + HEAPF64[($1_1 + 16 | 0) >> 3] = $24_1; + $615_1 = i64toi32_i32$1; + i64toi32_i32$1 = $1_1; + HEAP32[($1_1 + 8 | 0) >> 2] = $615_1; + HEAP32[($1_1 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$51; + case 0: + $22_1 = 0.0; + label$60 : { + if (($11_1 | 0) < (0 | 0)) { + break label$60 + } + label$61 : while (1) { + $22_1 = $22_1 + +HEAPF64[(($5_1 + 160 | 0) + ($11_1 << 3 | 0) | 0) >> 3]; + $2_1 = ($11_1 | 0) > (0 | 0); + $11_1 = $11_1 + -1 | 0; + if ($2_1) { + continue label$61 + } + break label$61; + }; + } + HEAPF64[$1_1 >> 3] = $20_1 ? -$22_1 : $22_1; + break label$51; + case 1: + case 2: + break label$53; + default: + break label$51; + }; + } + $22_1 = 0.0; + label$62 : { + if (($11_1 | 0) < (0 | 0)) { + break label$62 + } + $2_1 = $11_1; + label$63 : while (1) { + $22_1 = $22_1 + +HEAPF64[(($5_1 + 160 | 0) + ($2_1 << 3 | 0) | 0) >> 3]; + $3_1 = ($2_1 | 0) > (0 | 0); + $2_1 = $2_1 + -1 | 0; + if ($3_1) { + continue label$63 + } + break label$63; + }; + } + HEAPF64[$1_1 >> 3] = $20_1 ? -$22_1 : $22_1; + $22_1 = +HEAPF64[($5_1 + 160 | 0) >> 3] - $22_1; + $2_1 = 1; + label$64 : { + if (($11_1 | 0) < (1 | 0)) { + break label$64 + } + label$65 : while (1) { + $22_1 = $22_1 + +HEAPF64[(($5_1 + 160 | 0) + ($2_1 << 3 | 0) | 0) >> 3]; + $3_1 = ($2_1 | 0) != ($11_1 | 0); + $2_1 = $2_1 + 1 | 0; + if ($3_1) { + continue label$65 + } + break label$65; + }; + } + HEAPF64[($1_1 + 8 | 0) >> 3] = $20_1 ? -$22_1 : $22_1; + break label$51; + } + HEAPF64[$1_1 >> 3] = -+HEAPF64[($5_1 + 160 | 0) >> 3]; + $22_1 = +HEAPF64[($5_1 + 168 | 0) >> 3]; + HEAPF64[($1_1 + 16 | 0) >> 3] = -$24_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = -$22_1; + } + global$0 = $5_1 + 560 | 0; + return $18_1 & 7 | 0 | 0; + } + + function $3191($0_1, $1_1) { + $0_1 = +$0_1; + $1_1 = $1_1 | 0; + var $8_1 = 0.0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $3_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $2_1 = 0, $4_1 = 0, $9_1 = 0.0, $7_1 = 0, $5_1 = 0, $6_1 = 0, $7$hi = 0, $10_1 = 0.0, $11_1 = 0.0, $22_1 = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $30_1 = 0, $31_1 = 0, $32_1 = 0, $33_1 = 0, $34_1 = 0, $35_1 = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $152_1 = 0, $185_1 = 0, $290_1 = 0, $293_1 = 0; + $2_1 = global$0 - 48 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $7_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $7$hi = i64toi32_i32$0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $22_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $22_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $3_1 = $22_1; + $4_1 = $3_1 & 2147483647 | 0; + if ($4_1 >>> 0 > 1074752122 >>> 0) { + break label$4 + } + if (($3_1 & 1048575 | 0 | 0) == (598523 | 0)) { + break label$3 + } + label$5 : { + if ($4_1 >>> 0 > 1073928572 >>> 0) { + break label$5 + } + label$6 : { + i64toi32_i32$1 = $7$hi; + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $23_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$3 >>> 0) { + $24_1 = 0 + } else { + $24_1 = 1 + } + $25_1 = $24_1; + } else { + $25_1 = 0 + } + $23_1 = $25_1; + } + if ($23_1) { + break label$6 + } + $0_1 = $0_1 + -1.5707963267341256; + $8_1 = $0_1 + -6.077100506506192e-11; + HEAPF64[$1_1 >> 3] = $8_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = $0_1 - $8_1 + -6.077100506506192e-11; + $3_1 = 1; + break label$1; + } + $0_1 = $0_1 + 1.5707963267341256; + $8_1 = $0_1 + 6.077100506506192e-11; + HEAPF64[$1_1 >> 3] = $8_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = $0_1 - $8_1 + 6.077100506506192e-11; + $3_1 = -1; + break label$1; + } + label$7 : { + i64toi32_i32$0 = $7$hi; + i64toi32_i32$3 = $7_1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $26_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$2 >>> 0) { + $27_1 = 0 + } else { + $27_1 = 1 + } + $28_1 = $27_1; + } else { + $28_1 = 0 + } + $26_1 = $28_1; + } + if ($26_1) { + break label$7 + } + $0_1 = $0_1 + -3.1415926534682512; + $8_1 = $0_1 + -1.2154201013012384e-10; + HEAPF64[$1_1 >> 3] = $8_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = $0_1 - $8_1 + -1.2154201013012384e-10; + $3_1 = 2; + break label$1; + } + $0_1 = $0_1 + 3.1415926534682512; + $8_1 = $0_1 + 1.2154201013012384e-10; + HEAPF64[$1_1 >> 3] = $8_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = $0_1 - $8_1 + 1.2154201013012384e-10; + $3_1 = -2; + break label$1; + } + label$8 : { + if ($4_1 >>> 0 > 1075594811 >>> 0) { + break label$8 + } + label$9 : { + if ($4_1 >>> 0 > 1075183036 >>> 0) { + break label$9 + } + if (($4_1 | 0) == (1074977148 | 0)) { + break label$3 + } + label$10 : { + i64toi32_i32$3 = $7$hi; + i64toi32_i32$2 = $7_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$0 | 0)) { + $29_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$1 >>> 0) { + $30_1 = 0 + } else { + $30_1 = 1 + } + $31_1 = $30_1; + } else { + $31_1 = 0 + } + $29_1 = $31_1; + } + if ($29_1) { + break label$10 + } + $0_1 = $0_1 + -4.712388980202377; + $8_1 = $0_1 + -1.8231301519518578e-10; + HEAPF64[$1_1 >> 3] = $8_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = $0_1 - $8_1 + -1.8231301519518578e-10; + $3_1 = 3; + break label$1; + } + $0_1 = $0_1 + 4.712388980202377; + $8_1 = $0_1 + 1.8231301519518578e-10; + HEAPF64[$1_1 >> 3] = $8_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = $0_1 - $8_1 + 1.8231301519518578e-10; + $3_1 = -3; + break label$1; + } + if (($4_1 | 0) == (1075388923 | 0)) { + break label$3 + } + label$11 : { + i64toi32_i32$2 = $7$hi; + i64toi32_i32$1 = $7_1; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$3 | 0)) { + $32_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$0 >>> 0) { + $33_1 = 0 + } else { + $33_1 = 1 + } + $34_1 = $33_1; + } else { + $34_1 = 0 + } + $32_1 = $34_1; + } + if ($32_1) { + break label$11 + } + $0_1 = $0_1 + -6.2831853069365025; + $8_1 = $0_1 + -2.430840202602477e-10; + HEAPF64[$1_1 >> 3] = $8_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = $0_1 - $8_1 + -2.430840202602477e-10; + $3_1 = 4; + break label$1; + } + $0_1 = $0_1 + 6.2831853069365025; + $8_1 = $0_1 + 2.430840202602477e-10; + HEAPF64[$1_1 >> 3] = $8_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = $0_1 - $8_1 + 2.430840202602477e-10; + $3_1 = -4; + break label$1; + } + if ($4_1 >>> 0 > 1094263290 >>> 0) { + break label$2 + } + } + $8_1 = $0_1 * .6366197723675814 + 6755399441055744.0 + -6755399441055744.0; + $9_1 = $0_1 + $8_1 * -1.5707963267341256; + $10_1 = $8_1 * 6.077100506506192e-11; + $0_1 = $9_1 - $10_1; + HEAPF64[$1_1 >> 3] = $0_1; + $5_1 = $4_1 >>> 20 | 0; + $152_1 = $5_1; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 52; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $35_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $35_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $6_1 = ($152_1 - ($35_1 & 2047 | 0) | 0 | 0) < (17 | 0); + label$12 : { + label$13 : { + if (!(Math_abs($8_1) < 2147483648.0)) { + break label$13 + } + $3_1 = ~~$8_1; + break label$12; + } + $3_1 = -2147483648; + } + label$14 : { + if ($6_1) { + break label$14 + } + $0_1 = $8_1 * 6.077100506303966e-11; + $11_1 = $9_1 - $0_1; + $10_1 = $8_1 * 2.0222662487959506e-21 - ($9_1 - $11_1 - $0_1); + $0_1 = $11_1 - $10_1; + HEAPF64[$1_1 >> 3] = $0_1; + label$15 : { + $185_1 = $5_1; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$2 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 52; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $36_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $36_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + if (($185_1 - ($36_1 & 2047 | 0) | 0 | 0) >= (50 | 0)) { + break label$15 + } + $9_1 = $11_1; + break label$14; + } + $0_1 = $8_1 * 2.0222662487111665e-21; + $9_1 = $11_1 - $0_1; + $10_1 = $8_1 * 8.4784276603689e-32 - ($11_1 - $9_1 - $0_1); + $0_1 = $9_1 - $10_1; + HEAPF64[$1_1 >> 3] = $0_1; + } + HEAPF64[($1_1 + 8 | 0) >> 3] = $9_1 - $0_1 - $10_1; + break label$1; + } + label$16 : { + if ($4_1 >>> 0 < 2146435072 >>> 0) { + break label$16 + } + $0_1 = $0_1 - $0_1; + HEAPF64[$1_1 >> 3] = $0_1; + HEAPF64[($1_1 + 8 | 0) >> 3] = $0_1; + $3_1 = 0; + break label$1; + } + i64toi32_i32$0 = $7$hi; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = 1048575; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = 1096810496; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$2 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + $3_1 = 0; + $6_1 = 1; + label$17 : while (1) { + $3_1 = ($2_1 + 16 | 0) + ($3_1 << 3 | 0) | 0; + label$18 : { + label$19 : { + if (!(Math_abs($0_1) < 2147483648.0)) { + break label$19 + } + $5_1 = ~~$0_1; + break label$18; + } + $5_1 = -2147483648; + } + $8_1 = +($5_1 | 0); + HEAPF64[$3_1 >> 3] = $8_1; + $0_1 = ($0_1 - $8_1) * 16777216.0; + $3_1 = 1; + $5_1 = $6_1 & 1 | 0; + $6_1 = 0; + if ($5_1) { + continue label$17 + } + break label$17; + }; + HEAPF64[($2_1 + 32 | 0) >> 3] = $0_1; + label$20 : { + label$21 : { + if ($0_1 == 0.0) { + break label$21 + } + $3_1 = 2; + break label$20; + } + $6_1 = 1; + label$22 : while (1) { + $3_1 = $6_1; + $6_1 = $3_1 + -1 | 0; + if (+HEAPF64[(($2_1 + 16 | 0) + ($3_1 << 3 | 0) | 0) >> 3] == 0.0) { + continue label$22 + } + break label$22; + }; + } + $3_1 = $3190($2_1 + 16 | 0 | 0, $2_1 | 0, ($4_1 >>> 20 | 0) + -1046 | 0 | 0, $3_1 + 1 | 0 | 0, 1 | 0) | 0; + label$23 : { + i64toi32_i32$2 = $7$hi; + i64toi32_i32$1 = $7_1; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $37_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $38_1 = 0 + } else { + $38_1 = 1 + } + $39_1 = $38_1; + } else { + $39_1 = 0 + } + $37_1 = $39_1; + } + if ($37_1) { + break label$23 + } + HEAPF64[$1_1 >> 3] = -+HEAPF64[$2_1 >> 3]; + HEAPF64[($1_1 + 8 | 0) >> 3] = -+HEAPF64[($2_1 + 8 | 0) >> 3]; + $3_1 = 0 - $3_1 | 0; + break label$1; + } + i64toi32_i32$3 = $2_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $290_1 = i64toi32_i32$1; + i64toi32_i32$1 = $1_1; + HEAP32[$1_1 >> 2] = $290_1; + HEAP32[($1_1 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $293_1 = i64toi32_i32$2; + i64toi32_i32$2 = $1_1; + HEAP32[($1_1 + 8 | 0) >> 2] = $293_1; + HEAP32[($1_1 + 12 | 0) >> 2] = i64toi32_i32$1; + } + global$0 = $2_1 + 48 | 0; + return $3_1 | 0; + } + + function $3192($0_1, $1_1, $2_1) { + $0_1 = +$0_1; + $1_1 = +$1_1; + $2_1 = $2_1 | 0; + var $3_1 = 0.0, $5_1 = 0.0, $4_1 = 0.0; + $3_1 = $0_1 * $0_1; + $4_1 = $3_1 * ($3_1 * $3_1) * ($3_1 * 1.58969099521155e-10 + -2.5050760253406863e-08) + ($3_1 * ($3_1 * 2.7557313707070068e-06 + -1.984126982985795e-04) + .00833333333332249); + $5_1 = $3_1 * $0_1; + label$1 : { + if ($2_1) { + break label$1 + } + return +($5_1 * ($3_1 * $4_1 + -.16666666666666632) + $0_1); + } + return +($0_1 - ($3_1 * ($1_1 * .5 - $5_1 * $4_1) - $1_1 + $5_1 * .16666666666666632)); + } + + function $3193($0_1) { + $0_1 = +$0_1; + var $1_1 = 0, $3_1 = 0.0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, $2_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $9_1 = 0, i64toi32_i32$2 = 0; + $1_1 = global$0 - 16 | 0; + global$0 = $1_1; + label$1 : { + label$2 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $9_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $9_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $9_1 & 2147483647 | 0; + if ($2_1 >>> 0 > 1072243195 >>> 0) { + break label$2 + } + $3_1 = 1.0; + if ($2_1 >>> 0 < 1044816030 >>> 0) { + break label$1 + } + $3_1 = +$3189(+$0_1, +(0.0)); + break label$1; + } + label$3 : { + if ($2_1 >>> 0 < 2146435072 >>> 0) { + break label$3 + } + $3_1 = $0_1 - $0_1; + break label$1; + } + label$4 : { + switch (($3191(+$0_1, $1_1 | 0) | 0) & 3 | 0 | 0) { + case 0: + $3_1 = +$3189(+(+HEAPF64[$1_1 >> 3]), +(+HEAPF64[($1_1 + 8 | 0) >> 3])); + break label$1; + case 1: + $3_1 = -+$3192(+(+HEAPF64[$1_1 >> 3]), +(+HEAPF64[($1_1 + 8 | 0) >> 3]), 1 | 0); + break label$1; + case 2: + $3_1 = -+$3189(+(+HEAPF64[$1_1 >> 3]), +(+HEAPF64[($1_1 + 8 | 0) >> 3])); + break label$1; + default: + break label$4; + }; + } + $3_1 = +$3192(+(+HEAPF64[$1_1 >> 3]), +(+HEAPF64[($1_1 + 8 | 0) >> 3]), 1 | 0); + } + global$0 = $1_1 + 16 | 0; + return +$3_1; + } + + function $3194($0_1) { + $0_1 = +$0_1; + return +(+$3196(+($0_1 + -1416.0996898839683)) * 2247116418577894884661631.0e283 * 2247116418577894884661631.0e283); + } + + function $3195($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, $1_1 = 0, $2_1 = 0, $10_1 = 0, $3_1 = 0.0, $20_1 = 0.0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $2_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + wasm2js_scratch_store_i32(0 | 0, $2_1 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + label$1 : { + label$2 : { + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $10_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $10_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $10_1; + if ($1_1 >>> 0 > 1072049729 >>> 0) { + break label$2 + } + $3_1 = 1.0; + if ($1_1 >>> 0 < 1045430272 >>> 0) { + break label$1 + } + $0_1 = +$3198(+$0_1); + $20_1 = $0_1 * $0_1; + $0_1 = $0_1 + 1.0; + return +($20_1 / ($0_1 + $0_1) + 1.0); + } + label$3 : { + if ($1_1 >>> 0 > 1082535489 >>> 0) { + break label$3 + } + $0_1 = +$3196(+$0_1); + return +(($0_1 + 1.0 / $0_1) * .5); + } + $3_1 = +$3194(+$0_1); + } + return +$3_1; + } + + function $3196($0_1) { + $0_1 = +$0_1; + var $4_1 = 0.0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $2_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $6_1 = 0.0, $1_1 = 0, $5_1 = 0.0, $3_1 = 0, $13_1 = 0, $14_1 = 0, $3$hi = 0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $3_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $3$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $13_1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + label$7 : { + label$8 : { + i64toi32_i32$1 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $14_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $14_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $14_1 & 2147483647 | 0; + if ($2_1 >>> 0 < 1082532651 >>> 0) { + break label$8 + } + label$9 : { + i64toi32_i32$2 = $3197(+$0_1) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + i64toi32_i32$1 = 2146435072; + i64toi32_i32$3 = 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0 | 0) | 0) { + break label$9 + } + return +$0_1; + } + label$10 : { + if ($0_1 > 709.782712893384 ^ 1 | 0) { + break label$10 + } + return +($0_1 * 8988465674311579538646525.0e283); + } + if ($0_1 < -708.3964185322641 ^ 1 | 0) { + break label$7 + } + $4_1 = 0.0; + if (!($0_1 < -745.1332191019411)) { + break label$7 + } + break label$2; + } + if ($2_1 >>> 0 < 1071001155 >>> 0) { + break label$4 + } + if ($2_1 >>> 0 < 1072734898 >>> 0) { + break label$6 + } + } + label$11 : { + $4_1 = $0_1 * 1.4426950408889634 + +HEAPF64[(($1_1 << 3 | 0) + 68288 | 0) >> 3]; + if (!(Math_abs($4_1) < 2147483648.0)) { + break label$11 + } + $2_1 = ~~$4_1; + break label$5; + } + $2_1 = -2147483648; + break label$5; + } + $2_1 = ($1_1 ^ 1 | 0) - $1_1 | 0; + } + $4_1 = +($2_1 | 0); + $0_1 = $0_1 + $4_1 * -.6931471803691238; + $5_1 = $4_1 * 1.9082149292705877e-10; + $6_1 = $0_1 - $5_1; + break label$3; + } + if ($2_1 >>> 0 <= 1043333120 >>> 0) { + break label$1 + } + $2_1 = 0; + $5_1 = 0.0; + $6_1 = $0_1; + } + $4_1 = $6_1 * $6_1; + $4_1 = $6_1 - $4_1 * ($4_1 * ($4_1 * ($4_1 * ($4_1 * 4.1381367970572385e-08 + -1.6533902205465252e-06) + 6.613756321437934e-05) + -2.7777777777015593e-03) + .16666666666666602); + $4_1 = $0_1 + ($6_1 * $4_1 / (2.0 - $4_1) - $5_1) + 1.0; + if (!$2_1) { + break label$2 + } + $4_1 = +$3287(+$4_1, $2_1 | 0); + } + return +$4_1; + } + return +($0_1 + 1.0); + } + + function $3197($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $3198($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, $3_1 = 0.0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $1_1 = 0, $4_1 = 0.0, $5_1 = 0.0, $2_1 = 0, $2$hi = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $6_1 = 0.0, $24_1 = 0, $25_1 = 0, $39_1 = 0, $39$hi = 0, $42_1 = 0, $42$hi = 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $2_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $2$hi = i64toi32_i32$0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $17_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $17_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $17_1 & 2147483647 | 0; + if ($1_1 >>> 0 < 1078159482 >>> 0) { + break label$6 + } + i64toi32_i32$1 = $3199(+$0_1) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = 2146435072; + i64toi32_i32$3 = 0; + if (i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) { + break label$1 + } + label$7 : { + i64toi32_i32$2 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$1 | 0)) { + $18_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $18_1 = $20_1; + } + if ($18_1) { + break label$7 + } + return +(-1.0); + } + if ($0_1 > 709.782712893384 ^ 1 | 0) { + break label$5 + } + return +($0_1 * 8988465674311579538646525.0e283); + } + if ($1_1 >>> 0 < 1071001155 >>> 0) { + break label$3 + } + if ($1_1 >>> 0 > 1072734897 >>> 0) { + break label$5 + } + label$8 : { + i64toi32_i32$3 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$2 | 0)) { + $21_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$1 >>> 0) { + $22_1 = 0 + } else { + $22_1 = 1 + } + $23_1 = $22_1; + } else { + $23_1 = 0 + } + $21_1 = $23_1; + } + if ($21_1) { + break label$8 + } + $3_1 = $0_1 + -.6931471803691238; + $1_1 = 1; + $4_1 = 1.9082149292705877e-10; + break label$4; + } + $3_1 = $0_1 + .6931471803691238; + $1_1 = -1; + $4_1 = -1.9082149292705877e-10; + break label$4; + } + label$9 : { + label$10 : { + wasm2js_scratch_store_f64(+(.5)); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$3 = 2147483647; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $39_1 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $39$hi = i64toi32_i32$3; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$3 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = -2147483648; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $42_1 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $42$hi = i64toi32_i32$1; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$3 = $39_1; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$2 = $42_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$3 | i64toi32_i32$2 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + $3_1 = $0_1 * 1.4426950408889634 + +wasm2js_scratch_load_f64(); + if (!(Math_abs($3_1) < 2147483648.0)) { + break label$10 + } + $1_1 = ~~$3_1; + break label$9; + } + $1_1 = -2147483648; + } + $3_1 = +($1_1 | 0); + $4_1 = $3_1 * 1.9082149292705877e-10; + $3_1 = $0_1 + $3_1 * -.6931471803691238; + } + $0_1 = $3_1 - $4_1; + $4_1 = $3_1 - $0_1 - $4_1; + break label$2; + } + if ($1_1 >>> 0 < 1016070144 >>> 0) { + break label$1 + } + $1_1 = 0; + } + $5_1 = $0_1 * .5; + $3_1 = $0_1 * $5_1; + $6_1 = $3_1 * ($3_1 * ($3_1 * ($3_1 * ($3_1 * -2.0109921818362437e-07 + 4.008217827329362e-06) + -7.93650757867488e-05) + 1.5873015872548146e-03) + -.03333333333333313) + 1.0; + $5_1 = 3.0 - $5_1 * $6_1; + $5_1 = $3_1 * (($6_1 - $5_1) / (6.0 - $0_1 * $5_1)); + label$11 : { + if ($1_1) { + break label$11 + } + return +($0_1 - ($0_1 * $5_1 - $3_1)); + } + $3_1 = $0_1 * ($5_1 - $4_1) - $4_1 - $3_1; + label$12 : { + switch ($1_1 + 1 | 0 | 0) { + case 0: + return +(($0_1 - $3_1) * .5 + -.5); + case 2: + label$15 : { + if ($0_1 < -.25 ^ 1 | 0) { + break label$15 + } + return +(($3_1 - ($0_1 + .5)) * -2.0); + } + $0_1 = $0_1 - $3_1; + return +($0_1 + $0_1 + 1.0); + default: + break label$12; + }; + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $1_1 + 1023 | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = 52; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $24_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $24_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + wasm2js_scratch_store_i32(0 | 0, $24_1 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$3 | 0); + $4_1 = +wasm2js_scratch_load_f64(); + label$16 : { + if ($1_1 >>> 0 < 57 >>> 0) { + break label$16 + } + $0_1 = $0_1 - $3_1 + 1.0; + return +((($1_1 | 0) == (1024 | 0) ? ($0_1 + $0_1) * 8988465674311579538646525.0e283 : $0_1 * $4_1) + -1.0); + } + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1023 - $1_1 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = 52; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $25_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $25_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $2_1 = $25_1; + $2$hi = i64toi32_i32$1; + label$17 : { + label$18 : { + if (($1_1 | 0) > (19 | 0)) { + break label$18 + } + $0_1 = $0_1 - $3_1; + i64toi32_i32$1 = $2$hi; + wasm2js_scratch_store_i32(0 | 0, $2_1 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $3_1 = 1.0 - +wasm2js_scratch_load_f64(); + break label$17; + } + i64toi32_i32$1 = $2$hi; + wasm2js_scratch_store_i32(0 | 0, $2_1 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $3_1 = $0_1 - ($3_1 + +wasm2js_scratch_load_f64()); + $0_1 = 1.0; + } + $0_1 = ($3_1 + $0_1) * $4_1; + } + return +$0_1; + } + + function $3199($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $3200($0_1) { + $0_1 = +$0_1; + return +Math_abs($0_1); + } + + function $3201($0_1) { + $0_1 = +$0_1; + return +Math_floor($0_1); + } + + function $3202($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $5_1 = 0.0, $4_1 = 0, $1_1 = 0, $4$hi = 0, $2_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $24_1 = 0, $25_1 = 0, $26_1 = 0, $3_1 = 0, $27_1 = 0, $28_1 = 0, $6_1 = 0.0, $50_1 = 0.0, $55$hi = 0, $57_1 = 0, $57$hi = 0, $61_1 = 0.0, $63_1 = 0.0, $68_1 = 0.0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $4_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $4$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $20_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $21_1 = 0 + } else { + $21_1 = 1 + } + $22_1 = $21_1; + } else { + $22_1 = 0 + } + $20_1 = $22_1; + } + if ($20_1) { + break label$5 + } + i64toi32_i32$2 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 32; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $23_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $23_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $23_1; + if ($1_1 >>> 0 > 1048575 >>> 0) { + break label$4 + } + } + label$6 : { + i64toi32_i32$0 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$3 = 2147483647; + i64toi32_i32$1 = -1; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | 0) { + break label$6 + } + return +(-1.0 / ($0_1 * $0_1)); + } + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = -1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$3 | 0)) { + $24_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$2 >>> 0) { + $25_1 = 0 + } else { + $25_1 = 1 + } + $26_1 = $25_1; + } else { + $26_1 = 0 + } + $24_1 = $26_1; + } + if ($24_1) { + break label$3 + } + return +(($0_1 - $0_1) / 0.0); + } + if ($1_1 >>> 0 > 2146435071 >>> 0) { + break label$1 + } + $2_1 = 1072693248; + $3_1 = -1023; + label$7 : { + if (($1_1 | 0) == (1072693248 | 0)) { + break label$7 + } + $2_1 = $1_1; + break label$2; + } + i64toi32_i32$1 = $4$hi; + if ($4_1) { + break label$2 + } + return +(0.0); + } + wasm2js_scratch_store_f64(+($0_1 * 18014398509481984.0)); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + $4_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $4$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $27_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $27_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $27_1; + $3_1 = -1077; + } + $1_1 = $2_1 + 614242 | 0; + $5_1 = +($3_1 + ($1_1 >>> 20 | 0) | 0 | 0); + $50_1 = $5_1 * .6931471803691238; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = ($1_1 & 1048575 | 0) + 1072079006 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $28_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $28_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $55$hi = i64toi32_i32$2; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $57_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $57$hi = i64toi32_i32$1; + i64toi32_i32$1 = $55$hi; + i64toi32_i32$2 = $28_1; + i64toi32_i32$0 = $57$hi; + i64toi32_i32$3 = $57_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 | i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + $0_1 = +wasm2js_scratch_load_f64() + -1.0; + $61_1 = $0_1; + $63_1 = $5_1 * 1.9082149292705877e-10; + $5_1 = $0_1 / ($0_1 + 2.0); + $68_1 = $5_1; + $6_1 = $0_1 * ($0_1 * .5); + $5_1 = $5_1 * $5_1; + $0_1 = $5_1 * $5_1; + $0_1 = $50_1 + ($61_1 + ($63_1 + $68_1 * ($6_1 + ($0_1 * ($0_1 * ($0_1 * .15313837699209373 + .22222198432149784) + .3999999999940942) + $5_1 * ($0_1 * ($0_1 * ($0_1 * .14798198605116586 + .1818357216161805) + .2857142874366239) + .6666666666666735))) - $6_1)); + } + return +$0_1; + } + + function $3203($0_1) { + $0_1 = +$0_1; + var $4_1 = 0.0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $1_1 = 0, $5_1 = 0.0, $3_1 = 0, $3$hi = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $24_1 = 0, $6_1 = 0.0, $2_1 = 0, $61$hi = 0, $63_1 = 0, $63$hi = 0, $70_1 = 0.0, $75_1 = 0.0, $80_1 = 0.0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $3_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $3$hi = i64toi32_i32$0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $19_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $19_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $19_1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + i64toi32_i32$1 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $20_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$3 >>> 0) { + $21_1 = 0 + } else { + $21_1 = 1 + } + $22_1 = $21_1; + } else { + $22_1 = 0 + } + $20_1 = $22_1; + } + if ($20_1) { + break label$6 + } + if ($1_1 >>> 0 > 1071284857 >>> 0) { + break label$5 + } + } + label$7 : { + if ($1_1 >>> 0 < -1074790400 >>> 0) { + break label$7 + } + $4_1 = -infinity; + if ($0_1 == -1.0) { + break label$2 + } + return +(($0_1 - $0_1) / 0.0); + } + if (($1_1 << 1 | 0) >>> 0 < 2034237440 >>> 0) { + break label$1 + } + $5_1 = 0.0; + if ($1_1 >>> 0 >= -1076707643 >>> 0) { + break label$4 + } + $4_1 = 0.0; + break label$3; + } + if ($1_1 >>> 0 > 2146435071 >>> 0) { + break label$1 + } + } + $4_1 = $0_1 + 1.0; + wasm2js_scratch_store_f64(+$4_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $3_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $3$hi = i64toi32_i32$0; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $23_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $23_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $23_1 + 614242 | 0; + $2_1 = ($1_1 >>> 20 | 0) + -1023 | 0; + $5_1 = 0.0; + label$8 : { + if ($1_1 >>> 0 > 1129316351 >>> 0) { + break label$8 + } + $5_1 = ($1_1 >>> 0 > 1074790399 >>> 0 ? $0_1 - $4_1 + 1.0 : $0_1 - ($4_1 + -1.0)) / $4_1; + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = ($1_1 & 1048575 | 0) + 1072079006 | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $24_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $24_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $61$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = -1; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + $63_1 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $63$hi = i64toi32_i32$0; + i64toi32_i32$0 = $61$hi; + i64toi32_i32$3 = $24_1; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$2 = $63_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$3 | i64toi32_i32$2 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $0_1 = +wasm2js_scratch_load_f64() + -1.0; + $4_1 = +($2_1 | 0); + } + $70_1 = $4_1 * .6931471803691238; + $75_1 = $5_1 + $4_1 * 1.9082149292705877e-10; + $4_1 = $0_1 / ($0_1 + 2.0); + $80_1 = $4_1; + $6_1 = $0_1 * ($0_1 * .5); + $5_1 = $4_1 * $4_1; + $4_1 = $5_1 * $5_1; + $4_1 = $70_1 + ($0_1 + ($75_1 + $80_1 * ($6_1 + ($4_1 * ($4_1 * ($4_1 * .15313837699209373 + .22222198432149784) + .3999999999940942) + $5_1 * ($4_1 * ($4_1 * ($4_1 * .14798198605116586 + .1818357216161805) + .2857142874366239) + .6666666666666735))) - $6_1)); + } + return +$4_1; + } + return +$0_1; + } + + function $3204($0_1, $1_1) { + $0_1 = +$0_1; + $1_1 = +$1_1; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $13_1 = 0.0, $3_1 = 0, $4_1 = 0, $5_1 = 0, $2_1 = 0, $15_1 = 0.0, $16_1 = 0.0, $7_1 = 0, $11_1 = 0, $14_1 = 0.0, $8_1 = 0, $9_1 = 0, $11$hi = 0, $17_1 = 0.0, $18_1 = 0.0, $6_1 = 0, $46_1 = 0, $12_1 = 0, $47_1 = 0, $10_1 = 0, $48_1 = 0, $49_1 = 0, $19_1 = 0.0, $20_1 = 0.0, $50_1 = 0, $21_1 = 0.0, $51_1 = 0, $52_1 = 0, $53_1 = 0, $54_1 = 0, $12$hi = 0, $275_1 = 0.0, $278$hi = 0, $281_1 = 0, $281$hi = 0, $301_1 = 0.0, $306_1 = 0.0, $309_1 = 0.0, $310_1 = 0.0, $311_1 = 0.0, $312_1 = 0.0, $510_1 = 0.0, $511_1 = 0.0, $525_1 = 0, $568_1 = 0.0, $595$hi = 0, $597_1 = 0, $597$hi = 0; + $13_1 = 1.0; + label$1 : { + wasm2js_scratch_store_f64(+$1_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $11_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $11$hi = i64toi32_i32$0; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $46_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $46_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $46_1; + $3_1 = $2_1 & 2147483647 | 0; + i64toi32_i32$1 = $11$hi; + $4_1 = $11_1; + if (!($3_1 | $4_1 | 0)) { + break label$1 + } + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + $12_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$0 = $12_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $47_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $47_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $5_1 = $47_1; + label$2 : { + i64toi32_i32$2 = $12$hi; + $6_1 = $12_1; + if ($6_1) { + break label$2 + } + if (($5_1 | 0) == (1072693248 | 0)) { + break label$1 + } + } + label$3 : { + label$4 : { + $7_1 = $5_1 & 2147483647 | 0; + if ($7_1 >>> 0 > 2146435072 >>> 0) { + break label$4 + } + if (($6_1 | 0) != (0 | 0) & ($7_1 | 0) == (2146435072 | 0) | 0) { + break label$4 + } + if ($3_1 >>> 0 > 2146435072 >>> 0) { + break label$4 + } + if (!$4_1) { + break label$3 + } + if (($3_1 | 0) != (2146435072 | 0)) { + break label$3 + } + } + return +($0_1 + $1_1); + } + label$5 : { + label$6 : { + label$7 : { + label$8 : { + if (($5_1 | 0) > (-1 | 0)) { + break label$8 + } + $8_1 = 2; + if ($3_1 >>> 0 > 1128267775 >>> 0) { + break label$7 + } + if ($3_1 >>> 0 < 1072693248 >>> 0) { + break label$8 + } + $9_1 = $3_1 >>> 20 | 0; + label$9 : { + if ($3_1 >>> 0 < 1094713344 >>> 0) { + break label$9 + } + $8_1 = 0; + $9_1 = 1075 - $9_1 | 0; + $10_1 = $4_1 >>> $9_1 | 0; + if (($10_1 << $9_1 | 0 | 0) != ($4_1 | 0)) { + break label$7 + } + $8_1 = 2 - ($10_1 & 1 | 0) | 0; + break label$7; + } + $8_1 = 0; + if ($4_1) { + break label$5 + } + $8_1 = 0; + $4_1 = 1043 - $9_1 | 0; + $9_1 = $3_1 >>> $4_1 | 0; + if (($9_1 << $4_1 | 0 | 0) != ($3_1 | 0)) { + break label$6 + } + $8_1 = 2 - ($9_1 & 1 | 0) | 0; + break label$6; + } + $8_1 = 0; + } + if ($4_1) { + break label$5 + } + } + label$10 : { + if (($3_1 | 0) != (2146435072 | 0)) { + break label$10 + } + if (!($7_1 + -1072693248 | 0 | $6_1 | 0)) { + break label$1 + } + label$11 : { + if ($7_1 >>> 0 < 1072693248 >>> 0) { + break label$11 + } + return +(($2_1 | 0) > (-1 | 0) ? $1_1 : 0.0); + } + return +(($2_1 | 0) > (-1 | 0) ? 0.0 : -$1_1); + } + label$12 : { + if (($3_1 | 0) != (1072693248 | 0)) { + break label$12 + } + label$13 : { + if (($2_1 | 0) <= (-1 | 0)) { + break label$13 + } + return +$0_1; + } + return +(1.0 / $0_1); + } + label$14 : { + if (($2_1 | 0) != (1073741824 | 0)) { + break label$14 + } + return +($0_1 * $0_1); + } + if (($5_1 | 0) < (0 | 0)) { + break label$5 + } + if (($2_1 | 0) != (1071644672 | 0)) { + break label$5 + } + return +(+$3207(+$0_1)); + } + $13_1 = +$3200(+$0_1); + label$15 : { + if ($6_1) { + break label$15 + } + label$16 : { + if (($5_1 & 1073741823 | 0 | 0) == (1072693248 | 0)) { + break label$16 + } + if ($7_1) { + break label$15 + } + } + $13_1 = ($2_1 | 0) < (0 | 0) ? 1.0 / $13_1 : $13_1; + if (($5_1 | 0) > (-1 | 0)) { + break label$1 + } + label$17 : { + if ($8_1 | ($7_1 + -1072693248 | 0) | 0) { + break label$17 + } + $1_1 = $13_1 - $13_1; + return +($1_1 / $1_1); + } + return +(($8_1 | 0) == (1 | 0) ? -$13_1 : $13_1); + } + $14_1 = 1.0; + label$18 : { + if (($5_1 | 0) > (-1 | 0)) { + break label$18 + } + label$19 : { + switch ($8_1 | 0) { + case 0: + $1_1 = $0_1 - $0_1; + return +($1_1 / $1_1); + case 1: + break label$19; + default: + break label$18; + }; + } + $14_1 = -1.0; + } + label$21 : { + label$22 : { + if ($3_1 >>> 0 < 1105199105 >>> 0) { + break label$22 + } + label$23 : { + if ($3_1 >>> 0 < 1139802113 >>> 0) { + break label$23 + } + label$24 : { + if ($7_1 >>> 0 > 1072693247 >>> 0) { + break label$24 + } + return +(($2_1 | 0) < (0 | 0) ? infinity : 0.0); + } + return +(($2_1 | 0) > (0 | 0) ? infinity : 0.0); + } + label$25 : { + if ($7_1 >>> 0 > 1072693246 >>> 0) { + break label$25 + } + return +(($2_1 | 0) < (0 | 0) ? $14_1 * 1.e+300 * 1.e+300 : $14_1 * 1.0e-300 * 1.0e-300); + } + label$26 : { + if ($7_1 >>> 0 < 1072693249 >>> 0) { + break label$26 + } + return +(($2_1 | 0) > (0 | 0) ? $14_1 * 1.e+300 * 1.e+300 : $14_1 * 1.0e-300 * 1.0e-300); + } + $0_1 = $13_1 + -1.0; + $13_1 = $0_1 * 1.4426950216293335; + $15_1 = $0_1 * 1.9259629911266175e-08 + $0_1 * $0_1 * (.5 - $0_1 * ($0_1 * -.25 + .3333333333333333)) * -1.4426950408889634; + wasm2js_scratch_store_f64(+($13_1 + $15_1)); + i64toi32_i32$2 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + $16_1 = $0_1 - $13_1; + break label$21; + } + $0_1 = $13_1 * 9007199254740992.0; + $3_1 = $7_1 >>> 0 < 1048576 >>> 0; + $13_1 = $3_1 ? $0_1 : $13_1; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $48_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $48_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $3_1 ? $48_1 : $7_1; + $4_1 = $2_1 & 1048575 | 0; + $5_1 = $4_1 | 1072693248 | 0; + $2_1 = ($3_1 ? -1076 : -1023) + ($2_1 >> 20 | 0) | 0; + $3_1 = 0; + label$27 : { + if ($4_1 >>> 0 < 235663 >>> 0) { + break label$27 + } + label$28 : { + if ($4_1 >>> 0 >= 767610 >>> 0) { + break label$28 + } + $3_1 = 1; + break label$27; + } + $5_1 = $5_1 + -1048576 | 0; + $2_1 = $2_1 + 1 | 0; + } + $4_1 = $3_1 << 3 | 0; + $17_1 = +HEAPF64[($4_1 + 68336 | 0) >> 3]; + $275_1 = $17_1; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $49_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $49_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $278$hi = i64toi32_i32$2; + wasm2js_scratch_store_f64(+$13_1); + i64toi32_i32$2 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $281_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $281$hi = i64toi32_i32$0; + i64toi32_i32$0 = $278$hi; + i64toi32_i32$2 = $49_1; + i64toi32_i32$1 = $281$hi; + i64toi32_i32$3 = $281_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 | i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $15_1 = +wasm2js_scratch_load_f64(); + $16_1 = +HEAPF64[($4_1 + 68304 | 0) >> 3]; + $18_1 = $15_1 - $16_1; + $19_1 = 1.0 / ($16_1 + $15_1); + $13_1 = $18_1 * $19_1; + wasm2js_scratch_store_f64(+$13_1); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$0 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$2 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + $301_1 = $0_1; + $20_1 = $0_1 * $0_1; + $306_1 = $20_1 + 3.0; + $309_1 = $13_1 + $0_1; + $310_1 = $19_1; + $311_1 = $18_1; + $312_1 = $0_1; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = (($5_1 >> 1 | 0 | 536870912 | 0) + ($3_1 << 18 | 0) | 0) + 524288 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $50_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $50_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + wasm2js_scratch_store_i32(0 | 0, $50_1 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + $21_1 = +wasm2js_scratch_load_f64(); + $15_1 = $310_1 * ($311_1 - $312_1 * $21_1 - $0_1 * ($15_1 - ($21_1 - $16_1))); + $0_1 = $13_1 * $13_1; + $16_1 = $309_1 * $15_1 + $0_1 * $0_1 * ($0_1 * ($0_1 * ($0_1 * ($0_1 * ($0_1 * .20697501780033842 + .23066074577556175) + .272728123808534) + .33333332981837743) + .4285714285785502) + .5999999999999946); + wasm2js_scratch_store_f64(+($306_1 + $16_1)); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = -1; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + $18_1 = $301_1 * $0_1; + $13_1 = $15_1 * $0_1 + $13_1 * ($16_1 - ($0_1 + -3.0 - $20_1)); + wasm2js_scratch_store_f64(+($18_1 + $13_1)); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$0 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$2 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + $16_1 = $0_1 * .9617967009544373; + $15_1 = +HEAPF64[($4_1 + 68320 | 0) >> 3] + (($13_1 - ($0_1 - $18_1)) * .9617966939259756 + $0_1 * -7.028461650952758e-09); + $13_1 = +($2_1 | 0); + wasm2js_scratch_store_f64(+($275_1 + ($16_1 + $15_1) + $13_1)); + i64toi32_i32$2 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + $16_1 = $0_1 - $13_1 - $17_1 - $16_1; + } + i64toi32_i32$0 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = -1; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $17_1 = +wasm2js_scratch_load_f64(); + $13_1 = $0_1 * $17_1; + $1_1 = ($15_1 - $16_1) * $1_1 + ($1_1 - $17_1) * $0_1; + $0_1 = $13_1 + $1_1; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + $11_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $11$hi = i64toi32_i32$1; + $3_1 = $11_1; + label$29 : { + label$30 : { + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $51_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $51_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $5_1 = $51_1; + if (($5_1 | 0) < (1083179008 | 0)) { + break label$30 + } + label$31 : { + if (!($5_1 + -1083179008 | 0 | $3_1 | 0)) { + break label$31 + } + return +($14_1 * 1.e+300 * 1.e+300); + } + if ($1_1 + 8.008566259537294e-17 > $0_1 - $13_1 ^ 1 | 0) { + break label$29 + } + return +($14_1 * 1.e+300 * 1.e+300); + } + if (($5_1 & 2147482624 | 0) >>> 0 < 1083231232 >>> 0) { + break label$29 + } + label$32 : { + if (!($5_1 + 1064252416 | 0 | $3_1 | 0)) { + break label$32 + } + return +($14_1 * 1.0e-300 * 1.0e-300); + } + if ($1_1 <= $0_1 - $13_1 ^ 1 | 0) { + break label$29 + } + return +($14_1 * 1.0e-300 * 1.0e-300); + } + $3_1 = 0; + label$33 : { + $4_1 = $5_1 & 2147483647 | 0; + if ($4_1 >>> 0 < 1071644673 >>> 0) { + break label$33 + } + $4_1 = (1048576 >>> (($4_1 >>> 20 | 0) + -1022 | 0) | 0) + $5_1 | 0; + $2_1 = ($4_1 >>> 20 | 0) & 2047 | 0; + $3_1 = ($4_1 & 1048575 | 0 | 1048576 | 0) >>> (1043 - $2_1 | 0) | 0; + $3_1 = ($5_1 | 0) < (0 | 0) ? 0 - $3_1 | 0 : $3_1; + $510_1 = $1_1; + $511_1 = $13_1; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = (-1048576 >> ($2_1 + -1023 | 0) | 0) & $4_1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $52_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $52_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + wasm2js_scratch_store_i32(0 | 0, $52_1 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + $13_1 = $511_1 - +wasm2js_scratch_load_f64(); + wasm2js_scratch_store_f64(+($510_1 + $13_1)); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $11_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $11$hi = i64toi32_i32$0; + } + label$34 : { + label$35 : { + $525_1 = $3_1 << 20 | 0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = -1; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + $15_1 = $0_1 * .6931471824645996; + $13_1 = ($1_1 - ($0_1 - $13_1)) * .6931471805599453 + $0_1 * -1.904654299957768e-09; + $1_1 = $15_1 + $13_1; + $0_1 = $1_1 * $1_1; + $0_1 = $1_1 - $0_1 * ($0_1 * ($0_1 * ($0_1 * ($0_1 * 4.1381367970572385e-08 + -1.6533902205465252e-06) + 6.613756321437934e-05) + -2.7777777777015593e-03) + .16666666666666602); + $568_1 = $1_1 * $0_1 / ($0_1 + -2.0); + $0_1 = $13_1 - ($1_1 - $15_1); + $1_1 = $1_1 - ($568_1 - ($0_1 + $1_1 * $0_1)) + 1.0; + wasm2js_scratch_store_f64(+$1_1); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + $11_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $11$hi = i64toi32_i32$1; + i64toi32_i32$0 = $11_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $53_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $53_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $5_1 = $525_1 + $53_1 | 0; + if (($5_1 | 0) > (1048575 | 0)) { + break label$35 + } + $1_1 = +$3287(+$1_1, $3_1 | 0); + break label$34; + } + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $54_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $54_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $595$hi = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $597_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $597$hi = i64toi32_i32$1; + i64toi32_i32$1 = $595$hi; + i64toi32_i32$0 = $54_1; + i64toi32_i32$2 = $597$hi; + i64toi32_i32$3 = $597_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$2 | 0); + $1_1 = +wasm2js_scratch_load_f64(); + } + $13_1 = $14_1 * $1_1; + } + return +$13_1; + } + + function $3205($0_1) { + $0_1 = +$0_1; + var $1_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, $2_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8_1 = 0, i64toi32_i32$2 = 0; + $1_1 = global$0 - 16 | 0; + global$0 = $1_1; + label$1 : { + label$2 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $8_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $8_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $8_1 & 2147483647 | 0; + if ($2_1 >>> 0 > 1072243195 >>> 0) { + break label$2 + } + if ($2_1 >>> 0 < 1045430272 >>> 0) { + break label$1 + } + $0_1 = +$3192(+$0_1, +(0.0), 0 | 0); + break label$1; + } + label$3 : { + if ($2_1 >>> 0 < 2146435072 >>> 0) { + break label$3 + } + $0_1 = $0_1 - $0_1; + break label$1; + } + label$4 : { + switch (($3191(+$0_1, $1_1 | 0) | 0) & 3 | 0 | 0) { + case 0: + $0_1 = +$3192(+(+HEAPF64[$1_1 >> 3]), +(+HEAPF64[($1_1 + 8 | 0) >> 3]), 1 | 0); + break label$1; + case 1: + $0_1 = +$3189(+(+HEAPF64[$1_1 >> 3]), +(+HEAPF64[($1_1 + 8 | 0) >> 3])); + break label$1; + case 2: + $0_1 = -+$3192(+(+HEAPF64[$1_1 >> 3]), +(+HEAPF64[($1_1 + 8 | 0) >> 3]), 1 | 0); + break label$1; + default: + break label$4; + }; + } + $0_1 = -+$3189(+(+HEAPF64[$1_1 >> 3]), +(+HEAPF64[($1_1 + 8 | 0) >> 3])); + } + global$0 = $1_1 + 16 | 0; + return +$0_1; + } + + function $3206($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $4_1 = 0.0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $3_1 = 0.0, $1_1 = 0, $2_1 = 0, $14_1 = 0, $6_1 = 0, $6$hi = 0, $9_1 = 0, $9$hi = 0; + wasm2js_scratch_store_f64(+(.5)); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $6_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $6$hi = i64toi32_i32$1; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$2 = -2147483648; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $9_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $9$hi = i64toi32_i32$2; + i64toi32_i32$2 = $6$hi; + i64toi32_i32$1 = $6_1; + i64toi32_i32$0 = $9$hi; + i64toi32_i32$3 = $9_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 | i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + $3_1 = +wasm2js_scratch_load_f64(); + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $2_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + wasm2js_scratch_store_i32(0 | 0, $2_1 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $4_1 = +wasm2js_scratch_load_f64(); + label$1 : { + label$2 : { + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $14_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $14_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $14_1; + if ($1_1 >>> 0 > 1082535489 >>> 0) { + break label$2 + } + $4_1 = +$3198(+$4_1); + label$3 : { + if ($1_1 >>> 0 > 1072693247 >>> 0) { + break label$3 + } + if ($1_1 >>> 0 < 1045430272 >>> 0) { + break label$1 + } + return +($3_1 * ($4_1 + $4_1 - $4_1 * $4_1 / ($4_1 + 1.0))); + } + return +($3_1 * ($4_1 + $4_1 / ($4_1 + 1.0))); + } + $0_1 = ($3_1 + $3_1) * +$3194(+$4_1); + } + return +$0_1; + } + + function $3207($0_1) { + $0_1 = +$0_1; + return +Math_sqrt($0_1); + } + + function $3208($0_1, $1_1, $2_1) { + $0_1 = +$0_1; + $1_1 = +$1_1; + $2_1 = $2_1 | 0; + var $8_1 = 0.0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $6_1 = 0.0, i64toi32_i32$4 = 0, $7_1 = 0.0, $4_1 = 0, $5_1 = 0, $5$hi = 0, $3_1 = 0, $17_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $16_1 = 0.0, $18_1 = 0.0; + label$1 : { + label$2 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $5_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $5$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = 2147483640; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = 1072010279; + i64toi32_i32$3 = 1; + $3_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + if (!$3_1) { + break label$2 + } + break label$1; + } + $16_1 = $0_1; + $18_1 = -$0_1; + i64toi32_i32$0 = $5$hi; + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = -1; + i64toi32_i32$2 = -1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $17_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$2 >>> 0) { + $19_1 = 0 + } else { + $19_1 = 1 + } + $20_1 = $19_1; + } else { + $20_1 = 0 + } + $17_1 = $20_1; + } + $4_1 = $17_1; + $0_1 = .7853981633974483 - ($4_1 ? $16_1 : $18_1) + (3.061616997868383e-17 - ($4_1 ? $1_1 : -$1_1)); + i64toi32_i32$3 = $5$hi; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 63; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $21_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + $21_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $4_1 = $21_1; + $1_1 = 0.0; + } + $6_1 = $0_1 * $0_1; + $7_1 = $0_1 * $6_1; + $8_1 = $6_1 * $6_1; + $6_1 = $7_1 * .3333333333333341 + ($1_1 + $6_1 * ($1_1 + $7_1 * ($8_1 * ($8_1 * ($8_1 * ($8_1 * ($8_1 * -1.8558637485527546e-05 + 7.817944429395571e-05) + 5.880412408202641e-04) + 3.5920791075913124e-03) + .021869488294859542) + .13333333333320124 + $6_1 * ($8_1 * ($8_1 * ($8_1 * ($8_1 * ($8_1 * 2.590730518636337e-05 + 7.140724913826082e-05) + 2.464631348184699e-04) + 1.4562094543252903e-03) + .0088632398235993) + .05396825397622605)))); + $8_1 = $0_1 + $6_1; + label$3 : { + if ($3_1) { + break label$3 + } + $1_1 = +(1 - ($2_1 << 1 | 0) | 0 | 0); + $8_1 = $0_1 + ($6_1 - $8_1 * $8_1 / ($8_1 + $1_1)); + $8_1 = $1_1 - ($8_1 + $8_1); + return +($4_1 ? -$8_1 : $8_1); + } + label$4 : { + if (!$2_1) { + break label$4 + } + $1_1 = -1.0 / $8_1; + wasm2js_scratch_store_f64(+$8_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$3 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$2 = -1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$3 & i64toi32_i32$1 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$2 | 0); + $7_1 = +wasm2js_scratch_load_f64(); + wasm2js_scratch_store_f64(+$1_1); + i64toi32_i32$2 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$0 & i64toi32_i32$1 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$3 | 0); + $8_1 = +wasm2js_scratch_load_f64(); + $8_1 = $1_1 * ($7_1 * $8_1 + 1.0 + ($6_1 - ($7_1 - $0_1)) * $8_1) + $8_1; + } + return +$8_1; + } + + function $3209($0_1) { + $0_1 = +$0_1; + var $1_1 = 0, i64toi32_i32$4 = 0, $2_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8_1 = 0, i64toi32_i32$2 = 0; + $1_1 = global$0 - 16 | 0; + global$0 = $1_1; + label$1 : { + label$2 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $8_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $8_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $8_1 & 2147483647 | 0; + if ($2_1 >>> 0 > 1072243195 >>> 0) { + break label$2 + } + if ($2_1 >>> 0 < 1044381696 >>> 0) { + break label$1 + } + $0_1 = +$3208(+$0_1, +(0.0), 0 | 0); + break label$1; + } + label$3 : { + if ($2_1 >>> 0 < 2146435072 >>> 0) { + break label$3 + } + $0_1 = $0_1 - $0_1; + break label$1; + } + $2_1 = $3191(+$0_1, $1_1 | 0) | 0; + $0_1 = +$3208(+(+HEAPF64[$1_1 >> 3]), +(+HEAPF64[($1_1 + 8 | 0) >> 3]), $2_1 & 1 | 0 | 0); + } + global$0 = $1_1 + 16 | 0; + return +$0_1; + } + + function $3210($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $1_1 = 0, $2_1 = 0, $3_1 = 0, $12_1 = 0, $13_1 = 0, $14_1 = 0, $15_1 = 0, $2$hi = 0, $47_1 = 0.0, $49_1 = 0.0; + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $2_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $2$hi = i64toi32_i32$0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $3_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + wasm2js_scratch_store_i32(0 | 0, $3_1 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + $0_1 = +wasm2js_scratch_load_f64(); + label$1 : { + label$2 : { + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $12_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $12_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $12_1; + if ($1_1 >>> 0 < 1071748075 >>> 0) { + break label$2 + } + label$3 : { + if ($1_1 >>> 0 < 1077149697 >>> 0) { + break label$3 + } + $0_1 = -0.0 / $0_1 + 1.0; + break label$1; + } + $0_1 = 1.0 - 2.0 / (+$3198(+($0_1 + $0_1)) + 2.0); + break label$1; + } + label$4 : { + if ($1_1 >>> 0 < 1070618799 >>> 0) { + break label$4 + } + $0_1 = +$3198(+($0_1 + $0_1)); + $0_1 = $0_1 / ($0_1 + 2.0); + break label$1; + } + if ($1_1 >>> 0 < 1048576 >>> 0) { + break label$1 + } + $0_1 = +$3198(+($0_1 * -2.0)); + $0_1 = -$0_1 / ($0_1 + 2.0); + } + $47_1 = $0_1; + $49_1 = -$0_1; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $13_1 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $14_1 = 0 + } else { + $14_1 = 1 + } + $15_1 = $14_1; + } else { + $15_1 = 0 + } + $13_1 = $15_1; + } + return +($13_1 ? $47_1 : $49_1); + } + + function $3211() { + return 113632 | 0; + } + + function $3212() { + + } + + function $3213($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $5$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $5$hi = $5$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $21_1 = 0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + label$1 : { + i64toi32_i32$0 = $5$hi; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = -4096; + i64toi32_i32$3 = 4095; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + if (!($5_1 & i64toi32_i32$3 | 0 | i64toi32_i32$1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 28), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + return -1 | 0; + } + label$2 : { + if ($1_1 >>> 0 < 2147483647 >>> 0) { + break label$2 + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 48), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + return -1 | 0; + } + label$3 : { + if (!($3_1 & 16 | 0)) { + break label$3 + } + $3212(); + } + $16_1 = $0_1; + $17_1 = $1_1; + $18_1 = $2_1; + $19_1 = $3_1; + $20_1 = $4_1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 12; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $21_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $21_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + return $3175(fimport$9($16_1 | 0, $17_1 | 0, $18_1 | 0, $19_1 | 0, $20_1 | 0, $21_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3214($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $3212(); + return $3175(fimport$10($0_1 | 0, $1_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3215($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $4_1 = 0, $3_1 = 0; + $2_1 = 0; + label$1 : while (1) { + $3_1 = $0_1 + $2_1 | 0; + HEAP8[$3_1 >> 0] = HEAPU8[($2_1 + 68352 | 0) >> 0] | 0; + $4_1 = ($2_1 | 0) != (14 | 0); + $2_1 = $2_1 + 1 | 0; + if ($4_1) { + continue label$1 + } + break label$1; + }; + label$2 : { + if (!$1_1) { + break label$2 + } + $2_1 = 14; + $4_1 = $1_1; + label$3 : while (1) { + $2_1 = $2_1 + 1 | 0; + $3_1 = $4_1 >>> 0 > 9 >>> 0; + $4_1 = ($4_1 >>> 0) / (10 >>> 0) | 0; + if ($3_1) { + continue label$3 + } + break label$3; + }; + HEAP8[($0_1 + $2_1 | 0) >> 0] = 0; + label$4 : while (1) { + $2_1 = $2_1 + -1 | 0; + $4_1 = ($1_1 >>> 0) / (10 >>> 0) | 0; + HEAP8[($0_1 + $2_1 | 0) >> 0] = $1_1 - Math_imul($4_1, 10) | 0 | 48 | 0; + $3_1 = $1_1 >>> 0 > 9 >>> 0; + $1_1 = $4_1; + if ($3_1) { + continue label$4 + } + break label$4; + }; + return; + } + HEAP8[$3_1 >> 0] = 48; + HEAP8[($0_1 + 15 | 0) >> 0] = 0; + } + + function $3216($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $3_1 = 0; + $2_1 = global$0 - 32 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + label$3 : { + $3_1 = fimport$11($0_1 | 0, $1_1 | 0) | 0; + if (($3_1 | 0) != (-8 | 0)) { + break label$3 + } + if ($3260($0_1 | 0) | 0) { + break label$2 + } + } + $0_1 = $3175($3_1 | 0) | 0; + break label$1; + } + $3215($2_1 | 0, $0_1 | 0); + $0_1 = $3175(fimport$12($2_1 | 0, $1_1 | 0) | 0 | 0) | 0; + } + global$0 = $2_1 + 32 | 0; + return $0_1 | 0; + } + + function $3217($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $3_1 = 0; + $2_1 = global$0 - 32 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + label$3 : { + $3_1 = fimport$13($0_1 | 0, $1_1 | 0) | 0; + if (($3_1 | 0) != (-8 | 0)) { + break label$3 + } + if ($3260($0_1 | 0) | 0) { + break label$2 + } + } + $0_1 = $3175($3_1 | 0) | 0; + break label$1; + } + $3215($2_1 | 0, $0_1 | 0); + $0_1 = $3175(fimport$14($2_1 | 0, $1_1 | 0) | 0 | 0) | 0; + } + global$0 = $2_1 + 32 | 0; + return $0_1 | 0; + } + + function $3218($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + return $3175(fimport$15($0_1 | 0, $1_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3219($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + return $3175(fimport$16($0_1 | 0, $1_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3220($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + return $3175(fimport$14($0_1 | 0, $1_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3221($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $4_1 = 0, $8_1 = 0, $7_1 = 0, $5_1 = 0, $6_1 = 0, $33_1 = 0; + $4_1 = global$0 - 208 | 0; + global$0 = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = 1; + HEAP32[($4_1 + 12 | 0) >> 2] = 0; + label$1 : { + $5_1 = Math_imul($2_1, $1_1); + if (!$5_1) { + break label$1 + } + HEAP32[($4_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($4_1 + 20 | 0) >> 2] = $2_1; + $6_1 = 0 - $2_1 | 0; + $1_1 = $2_1; + $7_1 = $1_1; + $8_1 = 2; + label$2 : while (1) { + $33_1 = $7_1 + $2_1 | 0; + $7_1 = $1_1; + $1_1 = $33_1 + $1_1 | 0; + HEAP32[(($4_1 + 16 | 0) + ($8_1 << 2 | 0) | 0) >> 2] = $1_1; + $8_1 = $8_1 + 1 | 0; + if ($1_1 >>> 0 < $5_1 >>> 0) { + continue label$2 + } + break label$2; + }; + label$3 : { + label$4 : { + $7_1 = ($0_1 + $5_1 | 0) + $6_1 | 0; + if ($7_1 >>> 0 > $0_1 >>> 0) { + break label$4 + } + $8_1 = 1; + $1_1 = 1; + break label$3; + } + $8_1 = 1; + $1_1 = 1; + label$5 : while (1) { + label$6 : { + label$7 : { + if (($8_1 & 3 | 0 | 0) != (3 | 0)) { + break label$7 + } + $3222($0_1 | 0, $2_1 | 0, $3_1 | 0, $1_1 | 0, $4_1 + 16 | 0 | 0); + $3223($4_1 + 8 | 0 | 0, 2 | 0); + $1_1 = $1_1 + 2 | 0; + break label$6; + } + label$8 : { + label$9 : { + $8_1 = $1_1 + -1 | 0; + if ((HEAP32[(($4_1 + 16 | 0) + ($8_1 << 2 | 0) | 0) >> 2] | 0) >>> 0 < ($7_1 - $0_1 | 0) >>> 0) { + break label$9 + } + $3224($0_1 | 0, $2_1 | 0, $3_1 | 0, $4_1 + 8 | 0 | 0, $1_1 | 0, 0 | 0, $4_1 + 16 | 0 | 0); + break label$8; + } + $3222($0_1 | 0, $2_1 | 0, $3_1 | 0, $1_1 | 0, $4_1 + 16 | 0 | 0); + } + label$10 : { + if (($1_1 | 0) != (1 | 0)) { + break label$10 + } + $3225($4_1 + 8 | 0 | 0, 1 | 0); + $1_1 = 0; + break label$6; + } + $3225($4_1 + 8 | 0 | 0, $8_1 | 0); + $1_1 = 1; + } + $8_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $8_1; + $0_1 = $0_1 + $2_1 | 0; + if ($0_1 >>> 0 < $7_1 >>> 0) { + continue label$5 + } + break label$5; + }; + } + $3224($0_1 | 0, $2_1 | 0, $3_1 | 0, $4_1 + 8 | 0 | 0, $1_1 | 0, 0 | 0, $4_1 + 16 | 0 | 0); + label$11 : while (1) { + label$12 : { + label$13 : { + label$14 : { + label$15 : { + if (($1_1 | 0) != (1 | 0)) { + break label$15 + } + if (($8_1 | 0) != (1 | 0)) { + break label$15 + } + if (HEAP32[($4_1 + 12 | 0) >> 2] | 0) { + break label$14 + } + break label$1; + } + if (($1_1 | 0) > (1 | 0)) { + break label$13 + } + } + $8_1 = $3226($4_1 + 8 | 0 | 0) | 0; + $3223($4_1 + 8 | 0 | 0, $8_1 | 0); + $1_1 = $8_1 + $1_1 | 0; + $8_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + break label$12; + } + $3225($4_1 + 8 | 0 | 0, 2 | 0); + HEAP32[($4_1 + 8 | 0) >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) ^ 7 | 0; + $3223($4_1 + 8 | 0 | 0, 1 | 0); + $5_1 = $0_1 + $6_1 | 0; + $7_1 = $1_1 + -2 | 0; + $3224($5_1 - (HEAP32[(($4_1 + 16 | 0) + ($7_1 << 2 | 0) | 0) >> 2] | 0) | 0 | 0, $2_1 | 0, $3_1 | 0, $4_1 + 8 | 0 | 0, $1_1 + -1 | 0 | 0, 1 | 0, $4_1 + 16 | 0 | 0); + $3225($4_1 + 8 | 0 | 0, 1 | 0); + $8_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 1 | 0; + HEAP32[($4_1 + 8 | 0) >> 2] = $8_1; + $3224($5_1 | 0, $2_1 | 0, $3_1 | 0, $4_1 + 8 | 0 | 0, $7_1 | 0, 1 | 0, $4_1 + 16 | 0 | 0); + $1_1 = $7_1; + } + $0_1 = $0_1 + $6_1 | 0; + continue label$11; + }; + } + global$0 = $4_1 + 208 | 0; + } + + function $3222($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var $8_1 = 0, $5_1 = 0, $6_1 = 0, $10_1 = 0, $9_1 = 0, $7_1 = 0; + $5_1 = global$0 - 240 | 0; + global$0 = $5_1; + HEAP32[$5_1 >> 2] = $0_1; + $6_1 = 1; + label$1 : { + if (($3_1 | 0) < (2 | 0)) { + break label$1 + } + $7_1 = 0 - $1_1 | 0; + $6_1 = 1; + $8_1 = $0_1; + label$2 : while (1) { + label$3 : { + $8_1 = $8_1 + $7_1 | 0; + $9_1 = $3_1 + -2 | 0; + $10_1 = $8_1 - (HEAP32[($4_1 + ($9_1 << 2 | 0) | 0) >> 2] | 0) | 0; + if ((FUNCTION_TABLE[$2_1 | 0]($0_1, $10_1) | 0 | 0) < (0 | 0)) { + break label$3 + } + if ((FUNCTION_TABLE[$2_1 | 0]($0_1, $8_1) | 0 | 0) > (-1 | 0)) { + break label$1 + } + } + $0_1 = (FUNCTION_TABLE[$2_1 | 0]($10_1, $8_1) | 0 | 0) > (-1 | 0); + $8_1 = $0_1 ? $10_1 : $8_1; + HEAP32[($5_1 + ($6_1 << 2 | 0) | 0) >> 2] = $8_1; + $6_1 = $6_1 + 1 | 0; + $3_1 = $0_1 ? $3_1 + -1 | 0 : $9_1; + if (($3_1 | 0) < (2 | 0)) { + break label$1 + } + $0_1 = HEAP32[$5_1 >> 2] | 0; + continue label$2; + }; + } + $3227($1_1 | 0, $5_1 | 0, $6_1 | 0); + global$0 = $5_1 + 240 | 0; + } + + function $3223($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $3_1 = 0; + label$1 : { + label$2 : { + if ($1_1 >>> 0 > 31 >>> 0) { + break label$2 + } + $2_1 = HEAP32[($0_1 + 4 | 0) >> 2] | 0; + $3_1 = HEAP32[$0_1 >> 2] | 0; + break label$1; + } + $3_1 = HEAP32[($0_1 + 4 | 0) >> 2] | 0; + $2_1 = 0; + HEAP32[($0_1 + 4 | 0) >> 2] = 0; + HEAP32[$0_1 >> 2] = $3_1; + $1_1 = $1_1 + -32 | 0; + } + HEAP32[($0_1 + 4 | 0) >> 2] = $2_1 >>> $1_1 | 0; + HEAP32[$0_1 >> 2] = $2_1 << (32 - $1_1 | 0) | 0 | ($3_1 >>> $1_1 | 0) | 0; + } + + function $3224($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + var $7_1 = 0, $8_1 = 0, $9_1 = 0, $11_1 = 0, $10_1 = 0; + $7_1 = global$0 - 240 | 0; + global$0 = $7_1; + $8_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[($7_1 + 232 | 0) >> 2] = $8_1; + $3_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + HEAP32[$7_1 >> 2] = $0_1; + HEAP32[($7_1 + 236 | 0) >> 2] = $3_1; + $9_1 = 1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + if (($8_1 | 0) != (1 | 0)) { + break label$5 + } + if (!$3_1) { + break label$4 + } + } + $9_1 = 1; + $8_1 = $0_1 - (HEAP32[($6_1 + ($4_1 << 2 | 0) | 0) >> 2] | 0) | 0; + if ((FUNCTION_TABLE[$2_1 | 0]($8_1, $0_1) | 0 | 0) < (1 | 0)) { + break label$4 + } + $10_1 = 0 - $1_1 | 0; + $11_1 = !$5_1; + $9_1 = 1; + label$6 : { + label$7 : while (1) { + $3_1 = $8_1; + label$8 : { + if (!($11_1 & 1 | 0)) { + break label$8 + } + if (($4_1 | 0) < (2 | 0)) { + break label$8 + } + $8_1 = HEAP32[((($4_1 << 2 | 0) + $6_1 | 0) + -8 | 0) >> 2] | 0; + $11_1 = $0_1 + $10_1 | 0; + if ((FUNCTION_TABLE[$2_1 | 0]($11_1, $3_1) | 0 | 0) > (-1 | 0)) { + break label$6 + } + if ((FUNCTION_TABLE[$2_1 | 0]($11_1 - $8_1 | 0, $3_1) | 0 | 0) > (-1 | 0)) { + break label$6 + } + } + HEAP32[($7_1 + ($9_1 << 2 | 0) | 0) >> 2] = $3_1; + $0_1 = $3226($7_1 + 232 | 0 | 0) | 0; + $3223($7_1 + 232 | 0 | 0, $0_1 | 0); + $9_1 = $9_1 + 1 | 0; + $4_1 = $0_1 + $4_1 | 0; + label$9 : { + if ((HEAP32[($7_1 + 232 | 0) >> 2] | 0 | 0) != (1 | 0)) { + break label$9 + } + if (!(HEAP32[($7_1 + 236 | 0) >> 2] | 0)) { + break label$2 + } + } + $5_1 = 0; + $11_1 = 1; + $0_1 = $3_1; + $8_1 = $3_1 - (HEAP32[($6_1 + ($4_1 << 2 | 0) | 0) >> 2] | 0) | 0; + if ((FUNCTION_TABLE[$2_1 | 0]($8_1, HEAP32[$7_1 >> 2] | 0) | 0 | 0) > (0 | 0)) { + continue label$7 + } + break label$3; + }; + } + $3_1 = $0_1; + break label$2; + } + $3_1 = $0_1; + } + if ($5_1) { + break label$1 + } + } + $3227($1_1 | 0, $7_1 | 0, $9_1 | 0); + $3222($3_1 | 0, $1_1 | 0, $2_1 | 0, $4_1 | 0, $6_1 | 0); + } + global$0 = $7_1 + 240 | 0; + } + + function $3225($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $3_1 = 0; + label$1 : { + label$2 : { + if ($1_1 >>> 0 > 31 >>> 0) { + break label$2 + } + $2_1 = HEAP32[$0_1 >> 2] | 0; + $3_1 = HEAP32[($0_1 + 4 | 0) >> 2] | 0; + break label$1; + } + $3_1 = HEAP32[$0_1 >> 2] | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = $3_1; + $2_1 = 0; + HEAP32[$0_1 >> 2] = 0; + $1_1 = $1_1 + -32 | 0; + } + HEAP32[$0_1 >> 2] = $2_1 << $1_1 | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = $2_1 >>> (32 - $1_1 | 0) | 0 | ($3_1 << $1_1 | 0) | 0; + } + + function $3226($0_1) { + $0_1 = $0_1 | 0; + var $1_1 = 0; + label$1 : { + $1_1 = __wasm_ctz_i32((HEAP32[$0_1 >> 2] | 0) + -1 | 0 | 0) | 0; + if ($1_1) { + break label$1 + } + $0_1 = __wasm_ctz_i32(HEAP32[($0_1 + 4 | 0) >> 2] | 0 | 0) | 0; + return ($0_1 ? $0_1 + 32 | 0 : 0) | 0; + } + return $1_1 | 0; + } + + function $3227($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $5_1 = 0, $3_1 = 0, $6_1 = 0, $7_1 = 0, $4_1 = 0; + $3_1 = global$0 - 256 | 0; + global$0 = $3_1; + label$1 : { + if (($2_1 | 0) < (2 | 0)) { + break label$1 + } + $4_1 = $1_1 + ($2_1 << 2 | 0) | 0; + HEAP32[$4_1 >> 2] = $3_1; + if (!$0_1) { + break label$1 + } + $5_1 = $3_1; + label$2 : while (1) { + $6_1 = $0_1 >>> 0 < 256 >>> 0 ? $0_1 : 256; + $3288($5_1 | 0, HEAP32[$1_1 >> 2] | 0 | 0, $6_1 | 0) | 0; + $5_1 = 0; + label$3 : while (1) { + $7_1 = $1_1 + ($5_1 << 2 | 0) | 0; + $5_1 = $5_1 + 1 | 0; + $3288(HEAP32[$7_1 >> 2] | 0 | 0, HEAP32[($1_1 + ($5_1 << 2 | 0) | 0) >> 2] | 0 | 0, $6_1 | 0) | 0; + HEAP32[$7_1 >> 2] = (HEAP32[$7_1 >> 2] | 0) + $6_1 | 0; + if (($5_1 | 0) != ($2_1 | 0)) { + continue label$3 + } + break label$3; + }; + $0_1 = $0_1 - $6_1 | 0; + if (!$0_1) { + break label$1 + } + $5_1 = HEAP32[$4_1 >> 2] | 0; + continue label$2; + }; + } + global$0 = $3_1 + 256 | 0; + } + + function $3228($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0, $4_1 = 0, $5_1 = 0; + $3_1 = 0; + label$1 : { + if (!$2_1) { + break label$1 + } + label$2 : { + label$3 : while (1) { + $4_1 = HEAPU8[$0_1 >> 0] | 0; + $5_1 = HEAPU8[$1_1 >> 0] | 0; + if (($4_1 | 0) != ($5_1 | 0)) { + break label$2 + } + $1_1 = $1_1 + 1 | 0; + $0_1 = $0_1 + 1 | 0; + $2_1 = $2_1 + -1 | 0; + if ($2_1) { + continue label$3 + } + break label$1; + }; + } + $3_1 = $4_1 - $5_1 | 0; + } + return $3_1 | 0; + } + + function $3229($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $3_1 = 0, $2_1 = 0; + $2_1 = HEAPU8[$1_1 >> 0] | 0; + label$1 : { + $3_1 = HEAPU8[$0_1 >> 0] | 0; + if (!$3_1) { + break label$1 + } + if (($3_1 | 0) != ($2_1 & 255 | 0 | 0)) { + break label$1 + } + label$2 : while (1) { + $2_1 = HEAPU8[($1_1 + 1 | 0) >> 0] | 0; + $3_1 = HEAPU8[($0_1 + 1 | 0) >> 0] | 0; + if (!$3_1) { + break label$1 + } + $1_1 = $1_1 + 1 | 0; + $0_1 = $0_1 + 1 | 0; + if (($3_1 | 0) == ($2_1 & 255 | 0 | 0)) { + continue label$2 + } + break label$2; + }; + } + return $3_1 - ($2_1 & 255 | 0) | 0 | 0; + } + + function $3230($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0; + label$1 : { + label$2 : { + if (($1_1 ^ $0_1 | 0) & 3 | 0) { + break label$2 + } + label$3 : { + if (!($1_1 & 3 | 0)) { + break label$3 + } + label$4 : while (1) { + $2_1 = HEAPU8[$1_1 >> 0] | 0; + HEAP8[$0_1 >> 0] = $2_1; + if (!$2_1) { + break label$1 + } + $0_1 = $0_1 + 1 | 0; + $1_1 = $1_1 + 1 | 0; + if ($1_1 & 3 | 0) { + continue label$4 + } + break label$4; + }; + } + $2_1 = HEAP32[$1_1 >> 2] | 0; + if ((($2_1 ^ -1 | 0) & ($2_1 + -16843009 | 0) | 0) & -2139062144 | 0) { + break label$2 + } + label$5 : while (1) { + HEAP32[$0_1 >> 2] = $2_1; + $2_1 = HEAP32[($1_1 + 4 | 0) >> 2] | 0; + $0_1 = $0_1 + 4 | 0; + $1_1 = $1_1 + 4 | 0; + if (!((($2_1 ^ -1 | 0) & ($2_1 + -16843009 | 0) | 0) & -2139062144 | 0)) { + continue label$5 + } + break label$5; + }; + } + $2_1 = HEAPU8[$1_1 >> 0] | 0; + HEAP8[$0_1 >> 0] = $2_1; + if (!$2_1) { + break label$1 + } + label$6 : while (1) { + $2_1 = HEAPU8[($1_1 + 1 | 0) >> 0] | 0; + HEAP8[($0_1 + 1 | 0) >> 0] = $2_1; + $0_1 = $0_1 + 1 | 0; + $1_1 = $1_1 + 1 | 0; + if ($2_1) { + continue label$6 + } + break label$6; + }; + } + return $0_1 | 0; + } + + function $3231($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $3230($0_1 | 0, $1_1 | 0) | 0; + return $0_1 | 0; + } + + function $3232($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $3_1 = 0, $2_1 = 0; + label$1 : { + label$2 : { + $2_1 = $1_1 & 255 | 0; + if (!$2_1) { + break label$2 + } + label$3 : { + if (!($0_1 & 3 | 0)) { + break label$3 + } + label$4 : while (1) { + $3_1 = HEAPU8[$0_1 >> 0] | 0; + if (!$3_1) { + break label$1 + } + if (($3_1 | 0) == ($1_1 & 255 | 0 | 0)) { + break label$1 + } + $0_1 = $0_1 + 1 | 0; + if ($0_1 & 3 | 0) { + continue label$4 + } + break label$4; + }; + } + label$5 : { + $3_1 = HEAP32[$0_1 >> 2] | 0; + if ((($3_1 ^ -1 | 0) & ($3_1 + -16843009 | 0) | 0) & -2139062144 | 0) { + break label$5 + } + $2_1 = Math_imul($2_1, 16843009); + label$6 : while (1) { + $3_1 = $3_1 ^ $2_1 | 0; + if ((($3_1 ^ -1 | 0) & ($3_1 + -16843009 | 0) | 0) & -2139062144 | 0) { + break label$5 + } + $3_1 = HEAP32[($0_1 + 4 | 0) >> 2] | 0; + $0_1 = $0_1 + 4 | 0; + if (!((($3_1 ^ -1 | 0) & ($3_1 + -16843009 | 0) | 0) & -2139062144 | 0)) { + continue label$6 + } + break label$6; + }; + } + label$7 : { + label$8 : while (1) { + $3_1 = $0_1; + $2_1 = HEAPU8[$3_1 >> 0] | 0; + if (!$2_1) { + break label$7 + } + $0_1 = $3_1 + 1 | 0; + if (($2_1 | 0) != ($1_1 & 255 | 0 | 0)) { + continue label$8 + } + break label$8; + }; + } + return $3_1 | 0; + } + return $0_1 + ($3303($0_1 | 0) | 0) | 0 | 0; + } + return $0_1 | 0; + } + + function $3233($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $3_1 = 0, $4_1 = 0, $2_1 = 0; + $2_1 = global$0 - 32 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + label$3 : { + $3_1 = HEAP8[$1_1 >> 0] | 0; + if (!$3_1) { + break label$3 + } + if (HEAPU8[($1_1 + 1 | 0) >> 0] | 0) { + break label$2 + } + } + $4_1 = $3232($0_1 | 0, $3_1 | 0) | 0; + break label$1; + } + $3289($2_1 | 0, 0 | 0, 32 | 0) | 0; + label$4 : { + $3_1 = HEAPU8[$1_1 >> 0] | 0; + if (!$3_1) { + break label$4 + } + label$5 : while (1) { + $4_1 = $2_1 + (($3_1 >>> 3 | 0) & 28 | 0) | 0; + HEAP32[$4_1 >> 2] = HEAP32[$4_1 >> 2] | 0 | (1 << ($3_1 & 31 | 0) | 0) | 0; + $3_1 = HEAPU8[($1_1 + 1 | 0) >> 0] | 0; + $1_1 = $1_1 + 1 | 0; + if ($3_1) { + continue label$5 + } + break label$5; + }; + } + $4_1 = $0_1; + $3_1 = HEAPU8[$0_1 >> 0] | 0; + if (!$3_1) { + break label$1 + } + $1_1 = $0_1; + label$6 : while (1) { + label$7 : { + if (!(((HEAP32[($2_1 + (($3_1 >>> 3 | 0) & 28 | 0) | 0) >> 2] | 0) >>> ($3_1 & 31 | 0) | 0) & 1 | 0)) { + break label$7 + } + $4_1 = $1_1; + break label$1; + } + $3_1 = HEAPU8[($1_1 + 1 | 0) >> 0] | 0; + $4_1 = $1_1 + 1 | 0; + $1_1 = $4_1; + if ($3_1) { + continue label$6 + } + break label$6; + }; + } + global$0 = $2_1 + 32 | 0; + return $4_1 - $0_1 | 0 | 0; + } + + function $3234($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $4_1 = 0, $3_1 = 0, $5_1 = 0; + label$1 : { + if ($2_1) { + break label$1 + } + return 0 | 0; + } + $3_1 = 0; + label$2 : { + $4_1 = HEAPU8[$0_1 >> 0] | 0; + if (!$4_1) { + break label$2 + } + label$3 : { + label$4 : while (1) { + $5_1 = HEAPU8[$1_1 >> 0] | 0; + if (($4_1 & 255 | 0 | 0) != ($5_1 | 0)) { + break label$3 + } + $2_1 = $2_1 + -1 | 0; + if (!$2_1) { + break label$3 + } + if (!$5_1) { + break label$3 + } + $1_1 = $1_1 + 1 | 0; + $4_1 = HEAPU8[($0_1 + 1 | 0) >> 0] | 0; + $0_1 = $0_1 + 1 | 0; + if ($4_1) { + continue label$4 + } + break label$2; + }; + } + $3_1 = $4_1; + } + return ($3_1 & 255 | 0) - (HEAPU8[$1_1 >> 0] | 0) | 0 | 0; + } + + function $3235($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0; + label$1 : { + label$2 : { + label$3 : { + if (($1_1 ^ $0_1 | 0) & 3 | 0) { + break label$3 + } + $3_1 = ($2_1 | 0) != (0 | 0); + label$4 : { + if (!$2_1) { + break label$4 + } + if (!($1_1 & 3 | 0)) { + break label$4 + } + label$5 : while (1) { + $3_1 = HEAPU8[$1_1 >> 0] | 0; + HEAP8[$0_1 >> 0] = $3_1; + if (!$3_1) { + break label$1 + } + $0_1 = $0_1 + 1 | 0; + $1_1 = $1_1 + 1 | 0; + $2_1 = $2_1 + -1 | 0; + $3_1 = ($2_1 | 0) != (0 | 0); + if (!$2_1) { + break label$4 + } + if ($1_1 & 3 | 0) { + continue label$5 + } + break label$5; + }; + } + if (!$3_1) { + break label$2 + } + if (!(HEAPU8[$1_1 >> 0] | 0)) { + break label$1 + } + if ($2_1 >>> 0 < 4 >>> 0) { + break label$3 + } + label$6 : while (1) { + $3_1 = HEAP32[$1_1 >> 2] | 0; + if ((($3_1 ^ -1 | 0) & ($3_1 + -16843009 | 0) | 0) & -2139062144 | 0) { + break label$3 + } + HEAP32[$0_1 >> 2] = $3_1; + $0_1 = $0_1 + 4 | 0; + $1_1 = $1_1 + 4 | 0; + $2_1 = $2_1 + -4 | 0; + if ($2_1 >>> 0 > 3 >>> 0) { + continue label$6 + } + break label$6; + }; + } + if (!$2_1) { + break label$2 + } + label$7 : while (1) { + $3_1 = HEAPU8[$1_1 >> 0] | 0; + HEAP8[$0_1 >> 0] = $3_1; + if (!$3_1) { + break label$1 + } + $0_1 = $0_1 + 1 | 0; + $1_1 = $1_1 + 1 | 0; + $2_1 = $2_1 + -1 | 0; + if ($2_1) { + continue label$7 + } + break label$7; + }; + } + $2_1 = 0; + } + $3289($0_1 | 0, 0 | 0, $2_1 | 0) | 0; + return $0_1 | 0; + } + + function $3236($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3235($0_1 | 0, $1_1 | 0, $2_1 | 0) | 0; + return $0_1 | 0; + } + + function $3237($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0; + $1_1 = $1_1 & 255 | 0; + label$1 : while (1) { + label$2 : { + if ($2_1) { + break label$2 + } + return 0 | 0; + } + $2_1 = $2_1 + -1 | 0; + $3_1 = $0_1 + $2_1 | 0; + if ((HEAPU8[$3_1 >> 0] | 0 | 0) != ($1_1 | 0)) { + continue label$1 + } + break label$1; + }; + return $3_1 | 0; + } + + function $3238($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + return $3237($0_1 | 0, $1_1 | 0, ($3303($0_1 | 0) | 0) + 1 | 0 | 0) | 0 | 0; + } + + function $3239($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + return $3175(fimport$17($0_1 | 0, $1_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3240($0_1) { + $0_1 = $0_1 | 0; + return $0_1 | 0; + } + + function $3241($0_1) { + $0_1 = $0_1 | 0; + $0_1 = fimport$7($3240($0_1 | 0) | 0 | 0) | 0; + return $3259((($0_1 | 0) == (27 | 0) ? 0 : $0_1) | 0) | 0 | 0; + } + + function $3242($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0, $4_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + label$1 : { + label$2 : { + label$3 : { + $4_1 = fimport$18($0_1 | 0, $1_1 | 0, $2_1 | 0) | 0; + if (($4_1 | 0) != (-8 | 0)) { + break label$3 + } + if ($3260($0_1 | 0) | 0) { + break label$2 + } + } + $0_1 = $3175($4_1 | 0) | 0; + break label$1; + } + $3215($3_1 | 0, $0_1 | 0); + $0_1 = $3175(fimport$19($3_1 | 0, $1_1 | 0, $2_1 | 0) | 0 | 0) | 0; + } + global$0 = $3_1 + 32 | 0; + return $0_1 | 0; + } + + function $3243($0_1) { + $0_1 = $0_1 | 0; + return $3259(fimport$20($0_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3244($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $2_1 = 0, $4_1 = 0, i64toi32_i32$2 = 0; + $2_1 = $0_1; + i64toi32_i32$0 = $1$hi; + $4_1 = $1_1; + i64toi32_i32$2 = $1_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $10_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $10_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + return $3175(fimport$21($2_1 | 0, 0 | 0, $4_1 | 0, $10_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3245($0_1) { + $0_1 = $0_1 | 0; + var $1_1 = 0, $2_1 = 0; + label$1 : { + $1_1 = ($3303($0_1 | 0) | 0) + 1 | 0; + $2_1 = $3277($1_1 | 0) | 0; + if ($2_1) { + break label$1 + } + return 0 | 0; + } + return $3288($2_1 | 0, $0_1 | 0, $1_1 | 0) | 0 | 0; + } + + function $3246($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2_1 = global$0 - 4096 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + label$3 : { + if ($0_1) { + break label$3 + } + $1_1 = 4096; + $0_1 = $2_1; + break label$2; + } + if ($1_1) { + break label$2 + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 28), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $3_1 = 0; + break label$1; + } + $3_1 = 0; + if (($3175(fimport$22($0_1 | 0, $1_1 | 0) | 0 | 0) | 0 | 0) < (0 | 0)) { + break label$1 + } + $3_1 = $0_1; + if (($0_1 | 0) != ($2_1 | 0)) { + break label$1 + } + $3_1 = $3245($2_1 | 0) | 0; + } + global$0 = $2_1 + 4096 | 0; + return $3_1 | 0; + } + + function $3247() { + return fimport$23() | 0 | 0; + } + + function $3248() { + return fimport$24() | 0 | 0; + } + + function $3249($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $3_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + i64toi32_i32$0 = $1$hi; + $0_1 = $3259($3344($0_1 | 0, $1_1 | 0, i64toi32_i32$0 | 0, $2_1 & 255 | 0 | 0, $3_1 + 8 | 0 | 0) | 0 | 0) | 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $1_1 = i64toi32_i32$0; + $1$hi = i64toi32_i32$1; + global$0 = i64toi32_i32$2 + 16 | 0; + i64toi32_i32$1 = -1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $0_1 ? -1 : $1_1; + i64toi32_i32$2 = $0_1 ? i64toi32_i32$1 : i64toi32_i32$0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$2; + return i64toi32_i32$3 | 0; + } + + function $3250($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + return $3175(fimport$25($0_1 | 0, $1_1 | 0, $2_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3251($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + return $3175(fimport$26($0_1 | 0, $1_1 | 0, $2_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3252($0_1) { + $0_1 = $0_1 | 0; + return $3175(fimport$27($0_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3253($0_1) { + $0_1 = $0_1 | 0; + var $1_1 = 0, $2_1 = 0; + $1_1 = global$0 - 16 | 0; + global$0 = $1_1; + HEAP32[($1_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($1_1 + 12 | 0) >> 2] = 0; + $0_1 = fimport$28($1_1 + 8 | 0 | 0, $1_1 + 8 | 0 | 0) | 0; + $2_1 = HEAP32[($1_1 + 8 | 0) >> 2] | 0; + global$0 = $1_1 + 16 | 0; + return ($0_1 ? $2_1 : 0) | 0; + } + + function $3254($0_1) { + $0_1 = $0_1 | 0; + return $3175(fimport$29($0_1 | 0) | 0 | 0) | 0 | 0; + } + + function $3255($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0; + $3_1 = global$0 - 16 | 0; + global$0 = $3_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $1_1; + label$1 : { + label$2 : { + $0_1 = fimport$30($0_1 | 0, $3_1 + 8 | 0 | 0, 1 | 0, $3_1 + 4 | 0 | 0) | 0; + if (!$0_1) { + break label$2 + } + $0_1 = $3259($0_1 | 0) | 0; + break label$1; + } + $0_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + } + global$0 = $3_1 + 16 | 0; + return $0_1 | 0; + } + + function $3256() { + var $0_1 = 0, $1_1 = 0, $2_1 = 0; + $0_1 = global$0 - 16 | 0; + global$0 = $0_1; + label$1 : { + if (fimport$31($0_1 + 12 | 0 | 0, $0_1 + 8 | 0 | 0) | 0) { + break label$1 + } + $1_1 = $3277(((HEAP32[($0_1 + 12 | 0) >> 2] | 0) << 2 | 0) + 4 | 0 | 0) | 0; + HEAP32[(0 + 114732 | 0) >> 2] = $1_1; + if (!$1_1) { + break label$1 + } + label$2 : { + label$3 : { + $1_1 = $3277(HEAP32[($0_1 + 8 | 0) >> 2] | 0 | 0) | 0; + if (!$1_1) { + break label$3 + } + $2_1 = HEAP32[(0 + 114732 | 0) >> 2] | 0; + if ($2_1) { + break label$2 + } + } + HEAP32[(0 + 114732 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($2_1 + ((HEAP32[($0_1 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + if (!(fimport$32(HEAP32[(0 + 114732 | 0) >> 2] | 0 | 0, $1_1 | 0) | 0)) { + break label$1 + } + HEAP32[(0 + 114732 | 0) >> 2] = 0; + } + global$0 = $0_1 + 16 | 0; + } + + function $3257($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $0_1 = $3232($0_1 | 0, $1_1 | 0) | 0; + return ((HEAPU8[$0_1 >> 0] | 0 | 0) == ($1_1 & 255 | 0 | 0) ? $0_1 : 0) | 0; + } + + function $3258($0_1) { + $0_1 = $0_1 | 0; + var $1_1 = 0, $3_1 = 0, $4_1 = 0, $2_1 = 0, $5_1 = 0; + $1_1 = 0; + $2_1 = $3303($0_1 | 0) | 0; + label$1 : { + label$2 : { + if (!(HEAP32[(0 + 114732 | 0) >> 2] | 0)) { + break label$2 + } + if (!(HEAPU8[$0_1 >> 0] | 0)) { + break label$2 + } + if ($3257($0_1 | 0, 61 | 0) | 0) { + break label$2 + } + $1_1 = 0; + $3_1 = HEAP32[(HEAP32[(0 + 114732 | 0) >> 2] | 0) >> 2] | 0; + if (!$3_1) { + break label$2 + } + label$3 : { + label$4 : while (1) { + $4_1 = $3234($0_1 | 0, $3_1 | 0, $2_1 | 0) | 0; + $3_1 = HEAP32[(0 + 114732 | 0) >> 2] | 0; + label$5 : { + if ($4_1) { + break label$5 + } + $4_1 = HEAP32[($3_1 + ($1_1 << 2 | 0) | 0) >> 2] | 0; + $5_1 = $4_1 + $2_1 | 0; + if ((HEAPU8[$5_1 >> 0] | 0 | 0) == (61 | 0)) { + break label$3 + } + } + $1_1 = $1_1 + 1 | 0; + $3_1 = HEAP32[($3_1 + ($1_1 << 2 | 0) | 0) >> 2] | 0; + if ($3_1) { + continue label$4 + } + break label$1; + }; + } + if (!$4_1) { + break label$1 + } + $1_1 = $5_1 + 1 | 0; + } + return $1_1 | 0; + } + return 0 | 0; + } + + function $3259($0_1) { + $0_1 = $0_1 | 0; + var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + label$1 : { + if ($0_1) { + break label$1 + } + return 0 | 0; + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = $0_1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + return -1 | 0; + } + + function $3260($0_1) { + $0_1 = $0_1 | 0; + var $1_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1_1 = global$0 - 32 | 0; + global$0 = $1_1; + label$1 : { + label$2 : { + $0_1 = fimport$33($0_1 | 0, $1_1 + 8 | 0 | 0) | 0; + if ($0_1) { + break label$2 + } + $0_1 = 1; + break label$1; + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = $0_1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $0_1 = 0; + } + global$0 = $1_1 + 32 | 0; + return $0_1 | 0; + } + + function $3261($0_1, $1_1, $1$hi, $2_1, $2$hi, $3_1, $3$hi, $4_1, $4$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + var i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $6_1 = 0, $7_1 = 0, $5_1 = 0, $9$hi = 0, $9_1 = 0, $10$hi = 0, $11$hi = 0, $10_1 = 0, $11_1 = 0, i64toi32_i32$6 = 0, $12$hi = 0, $8_1 = 0, $135_1 = 0, $136_1 = 0, $137_1 = 0, $138_1 = 0, $139_1 = 0, $140_1 = 0, $141_1 = 0, $142_1 = 0, $143_1 = 0, $12_1 = 0, $144_1 = 0, $145_1 = 0, $146_1 = 0, $147_1 = 0, $148_1 = 0, $149_1 = 0, $150_1 = 0, $154_1 = 0, $155_1 = 0, $156_1 = 0, $157_1 = 0, $158_1 = 0, $21_1 = 0, $27_1 = 0, $28$hi = 0, $32_1 = 0, $39_1 = 0, $43_1 = 0, $44$hi = 0, $48_1 = 0, $53_1 = 0, $55_1 = 0, $63_1 = 0, $65_1 = 0, $73_1 = 0, $73$hi = 0, $79_1 = 0, $79$hi = 0, $83_1 = 0, $83$hi = 0, $93_1 = 0, $93$hi = 0, $121_1 = 0, $124_1 = 0, $151_1 = 0, $152_1 = 0, $152$hi = 0, $153_1 = 0, $153$hi = 0, $160$hi = 0, $163$hi = 0, $183_1 = 0, $184_1 = 0, $184$hi = 0, $185_1 = 0, $185$hi = 0, $192$hi = 0, $195$hi = 0, $208_1 = 0, $208$hi = 0, $210$hi = 0, $214_1 = 0, $214$hi = 0, $216$hi = 0, $242_1 = 0, $242$hi = 0, $244_1 = 0, $244$hi = 0, $248_1 = 0, $248$hi = 0, $250_1 = 0, $251$hi = 0, $269$hi = 0, $272_1 = 0, $273$hi = 0, $282_1 = 0, $283_1 = 0, $283$hi = 0, $284_1 = 0, $284$hi = 0, $291$hi = 0, $294$hi = 0, $309_1 = 0, $309$hi = 0, $315_1 = 0, $316$hi = 0, $322_1 = 0, $322$hi = 0, $324$hi = 0, $325_1 = 0, $325$hi = 0, $327_1 = 0, $327$hi = 0, $354_1 = 0, $354$hi = 0, $356_1 = 0, $356$hi = 0, $360_1 = 0, $360$hi = 0, $362_1 = 0, $363$hi = 0, $369_1 = 0, $369$hi = 0, $371$hi = 0, $375$hi = 0, $377_1 = 0, $377$hi = 0, $380$hi = 0, $386_1 = 0, $386$hi = 0, $390$hi = 0, $394_1 = 0, $395$hi = 0, $400_1 = 0, $400$hi = 0, $408_1 = 0, $409$hi = 0, $411_1 = 0, $411$hi = 0, $417_1 = 0, $418$hi = 0, $422_1 = 0, $423$hi = 0, $426_1 = 0, $426$hi = 0, $432_1 = 0, $433$hi = 0, $437_1 = 0, $438$hi = 0; + $5_1 = global$0 - 112 | 0; + global$0 = $5_1; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $9_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $9$hi = i64toi32_i32$1; + label$1 : { + label$2 : { + label$3 : { + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = -1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $10_1 = i64toi32_i32$4; + $10$hi = i64toi32_i32$5; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = -1; + $21_1 = (i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$5 = 2147483647; + i64toi32_i32$0 = -1; + i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + $11_1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + $11$hi = i64toi32_i32$5; + i64toi32_i32$5 = $10$hi; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$5 = $10$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$0 = $1_1; + $27_1 = i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$0 = $11_1; + i64toi32_i32$5 = $28$hi; + i64toi32_i32$3 = $27_1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = -1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $10_1 = i64toi32_i32$5; + $10$hi = i64toi32_i32$2; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$1 = 2147418111; + i64toi32_i32$3 = -1; + $32_1 = i64toi32_i32$2 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$5 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$2 = 2147418111; + i64toi32_i32$1 = -1; + if ((i64toi32_i32$5 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) | 0 ? $21_1 : $32_1) { + break label$3 + } + i64toi32_i32$3 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$4 = -1; + i64toi32_i32$2 = -1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $10_1 = i64toi32_i32$0; + $10$hi = i64toi32_i32$5; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$1 = -1; + i64toi32_i32$2 = -1; + $39_1 = (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$1 | 0) | 0; + i64toi32_i32$3 = $9$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$1 = $3_1; + $43_1 = i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $44$hi = i64toi32_i32$2; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$1 = $9_1; + i64toi32_i32$3 = $44$hi; + i64toi32_i32$5 = $43_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$1 = -1; + i64toi32_i32$5 = -1; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $10_1 = i64toi32_i32$3; + $10$hi = i64toi32_i32$4; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$2 = 2147418111; + i64toi32_i32$5 = -1; + $48_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$4 = 2147418111; + i64toi32_i32$2 = -1; + if ((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$4 | 0) | 0 ? $39_1 : $48_1) { + break label$2 + } + } + label$4 : { + i64toi32_i32$5 = $1$hi; + $53_1 = !($1_1 | i64toi32_i32$5 | 0); + i64toi32_i32$5 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$0 = 2147418112; + i64toi32_i32$4 = 0; + $55_1 = i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$4 >>> 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$4 = $11_1; + i64toi32_i32$5 = 2147418112; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$4 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) | 0 ? $53_1 : $55_1) { + break label$4 + } + i64toi32_i32$4 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = 32768; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + $4_1 = i64toi32_i32$0 | i64toi32_i32$5 | 0; + $4$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + $3_1 = $1_1; + $3$hi = i64toi32_i32$2; + break label$1; + } + label$5 : { + i64toi32_i32$2 = $3$hi; + $63_1 = !($3_1 | i64toi32_i32$2 | 0); + i64toi32_i32$2 = $9$hi; + i64toi32_i32$4 = $9_1; + i64toi32_i32$0 = 2147418112; + i64toi32_i32$5 = 0; + $65_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$5 = $9_1; + i64toi32_i32$2 = 2147418112; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) | 0 ? $63_1 : $65_1) { + break label$5 + } + i64toi32_i32$5 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$4 = 32768; + i64toi32_i32$2 = 0; + i64toi32_i32$4 = i64toi32_i32$5 | i64toi32_i32$4 | 0; + $4_1 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $4$hi = i64toi32_i32$4; + break label$1; + } + label$6 : { + i64toi32_i32$4 = $1$hi; + i64toi32_i32$4 = $11$hi; + i64toi32_i32$5 = $11_1; + i64toi32_i32$0 = 2147418112; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = i64toi32_i32$4 ^ i64toi32_i32$0 | 0; + $73_1 = i64toi32_i32$5 ^ i64toi32_i32$2 | 0; + $73$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$4 = $1_1; + i64toi32_i32$5 = $73$hi; + i64toi32_i32$2 = $73_1; + i64toi32_i32$5 = i64toi32_i32$0 | i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$4 | 0) | 0) { + break label$6 + } + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$2 = $3_1; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$4 = $1_1; + i64toi32_i32$5 = i64toi32_i32$0 ^ i64toi32_i32$5 | 0; + $79_1 = i64toi32_i32$2 ^ i64toi32_i32$4 | 0; + $79$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$4 = $2_1; + i64toi32_i32$2 = i64toi32_i32$5 ^ i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$0 ^ i64toi32_i32$4 | 0; + i64toi32_i32$0 = -2147483648; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = i64toi32_i32$2 ^ i64toi32_i32$0 | 0; + $83_1 = i64toi32_i32$5 ^ i64toi32_i32$4 | 0; + $83$hi = i64toi32_i32$0; + i64toi32_i32$0 = $79$hi; + i64toi32_i32$2 = $79_1; + i64toi32_i32$5 = $83$hi; + i64toi32_i32$4 = $83_1; + i64toi32_i32$5 = i64toi32_i32$0 | i64toi32_i32$5 | 0; + $6_1 = !(i64toi32_i32$2 | i64toi32_i32$4 | 0 | i64toi32_i32$5 | 0); + i64toi32_i32$1 = $6_1; + i64toi32_i32$5 = 2147450880; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$4 = i64toi32_i32$1 ? 0 : $2_1; + i64toi32_i32$0 = i64toi32_i32$1 ? i64toi32_i32$5 : i64toi32_i32$2; + $4_1 = i64toi32_i32$4; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$5 = i64toi32_i32$1 ? 0 : $1_1; + i64toi32_i32$1 = i64toi32_i32$1 ? i64toi32_i32$0 : i64toi32_i32$4; + $3_1 = i64toi32_i32$5; + $3$hi = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$2 = $9_1; + i64toi32_i32$5 = 2147418112; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = i64toi32_i32$1 ^ i64toi32_i32$5 | 0; + $93_1 = i64toi32_i32$2 ^ i64toi32_i32$0 | 0; + $93$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = $93$hi; + i64toi32_i32$0 = $93_1; + i64toi32_i32$2 = i64toi32_i32$5 | i64toi32_i32$2 | 0; + if (!(i64toi32_i32$1 | i64toi32_i32$0 | 0 | i64toi32_i32$2 | 0)) { + break label$1 + } + label$7 : { + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $11$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$5 = $1_1; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$0 = $11_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$5 | 0) | 0) { + break label$7 + } + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$5 = $9_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$5 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 0; + if ((i64toi32_i32$2 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) { + break label$1 + } + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $3_1 = i64toi32_i32$5 & i64toi32_i32$0 | 0; + $3$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + $4_1 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $4$hi = i64toi32_i32$5; + break label$1; + } + i64toi32_i32$5 = $3$hi; + i64toi32_i32$5 = $9$hi; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$0 = $9_1; + i64toi32_i32$2 = i64toi32_i32$5 | i64toi32_i32$2 | 0; + if (!!(i64toi32_i32$1 | i64toi32_i32$0 | 0 | i64toi32_i32$2 | 0)) { + break label$2 + } + i64toi32_i32$2 = $1$hi; + $3_1 = $1_1; + $3$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + $4_1 = $2_1; + $4$hi = i64toi32_i32$2; + break label$1; + } + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + $121_1 = i64toi32_i32$2 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$5 >>> 0 > i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$5 = $9$hi; + i64toi32_i32$5 = $11$hi; + i64toi32_i32$5 = $9$hi; + i64toi32_i32$0 = $9_1; + i64toi32_i32$2 = $11$hi; + i64toi32_i32$1 = $11_1; + $124_1 = i64toi32_i32$5 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 > i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$1 = $9_1; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $11_1; + $7_1 = (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) | 0 ? $121_1 : $124_1; + i64toi32_i32$4 = $7_1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$5 = i64toi32_i32$4 ? $3_1 : $1_1; + i64toi32_i32$2 = i64toi32_i32$4 ? i64toi32_i32$1 : i64toi32_i32$0; + $9_1 = i64toi32_i32$5; + $9$hi = i64toi32_i32$2; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$1 = i64toi32_i32$4 ? $4_1 : $2_1; + i64toi32_i32$4 = i64toi32_i32$4 ? i64toi32_i32$2 : i64toi32_i32$5; + $11_1 = i64toi32_i32$1; + $11$hi = i64toi32_i32$4; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = 65535; + i64toi32_i32$2 = -1; + i64toi32_i32$1 = i64toi32_i32$4 & i64toi32_i32$1 | 0; + $10_1 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $10$hi = i64toi32_i32$1; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$5 = $7_1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$2 = i64toi32_i32$5 ? $2_1 : $4_1; + i64toi32_i32$4 = i64toi32_i32$5 ? i64toi32_i32$1 : i64toi32_i32$0; + $2_1 = i64toi32_i32$2; + $2$hi = i64toi32_i32$4; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = 48; + i64toi32_i32$0 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $135_1 = i64toi32_i32$4 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >>> i64toi32_i32$0 | 0; + $135_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$0 | 0) | 0; + } + $8_1 = $135_1 & 32767 | 0; + label$8 : { + i64toi32_i32$2 = $11$hi; + i64toi32_i32$4 = $11_1; + i64toi32_i32$5 = 0; + i64toi32_i32$1 = 48; + i64toi32_i32$0 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $136_1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + $136_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$0 | 0) | 0; + } + $6_1 = $136_1 & 32767 | 0; + if ($6_1) { + break label$8 + } + $151_1 = $5_1 + 96 | 0; + i64toi32_i32$5 = $9$hi; + $152_1 = $9_1; + $152$hi = i64toi32_i32$5; + i64toi32_i32$5 = $10$hi; + $153_1 = $10_1; + $153$hi = i64toi32_i32$5; + i64toi32_i32$5 = $9$hi; + i64toi32_i32$5 = $10$hi; + $6_1 = !($10_1 | i64toi32_i32$5 | 0); + i64toi32_i32$0 = $6_1; + i64toi32_i32$5 = $9$hi; + i64toi32_i32$4 = $10$hi; + i64toi32_i32$1 = i64toi32_i32$0 ? $9_1 : $10_1; + i64toi32_i32$2 = i64toi32_i32$0 ? i64toi32_i32$5 : i64toi32_i32$4; + i64toi32_i32$5 = Math_clz32(i64toi32_i32$2); + i64toi32_i32$0 = 0; + if ((i64toi32_i32$5 | 0) == (32 | 0)) { + $137_1 = Math_clz32(i64toi32_i32$1) + 32 | 0 + } else { + $137_1 = i64toi32_i32$5 + } + $160$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $163$hi = i64toi32_i32$0; + i64toi32_i32$0 = $160$hi; + i64toi32_i32$1 = $137_1; + i64toi32_i32$2 = $163$hi; + i64toi32_i32$5 = $6_1 << 6 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $6_1 = i64toi32_i32$4; + i64toi32_i32$3 = $152$hi; + i64toi32_i32$1 = $153$hi; + $3262($151_1 | 0, $152_1 | 0, i64toi32_i32$3 | 0, $153_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$4 + -15 | 0 | 0); + $6_1 = 16 - i64toi32_i32$4 | 0; + i64toi32_i32$0 = $5_1 + 104 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $10_1 = i64toi32_i32$1; + $10$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 100 | 0) >> 2] | 0; + $9_1 = i64toi32_i32$3; + $9$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$5 = i64toi32_i32$2 ? $1_1 : $3_1; + i64toi32_i32$0 = i64toi32_i32$2 ? i64toi32_i32$1 : i64toi32_i32$3; + $3_1 = i64toi32_i32$5; + $3$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$5 = 65535; + i64toi32_i32$1 = -1; + i64toi32_i32$5 = i64toi32_i32$0 & i64toi32_i32$5 | 0; + $4_1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $4$hi = i64toi32_i32$5; + label$9 : { + if ($8_1) { + break label$9 + } + $183_1 = $5_1 + 80 | 0; + i64toi32_i32$5 = $3$hi; + $184_1 = $3_1; + $184$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + $185_1 = $4_1; + $185$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$5 = $4$hi; + $7_1 = !($4_1 | i64toi32_i32$5 | 0); + i64toi32_i32$3 = $7_1; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$1 = i64toi32_i32$3 ? $3_1 : $4_1; + i64toi32_i32$0 = i64toi32_i32$3 ? i64toi32_i32$5 : i64toi32_i32$2; + i64toi32_i32$5 = Math_clz32(i64toi32_i32$0); + i64toi32_i32$3 = 0; + if ((i64toi32_i32$5 | 0) == (32 | 0)) { + $138_1 = Math_clz32(i64toi32_i32$1) + 32 | 0 + } else { + $138_1 = i64toi32_i32$5 + } + $192$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $195$hi = i64toi32_i32$3; + i64toi32_i32$3 = $192$hi; + i64toi32_i32$1 = $138_1; + i64toi32_i32$0 = $195$hi; + i64toi32_i32$5 = $7_1 << 6 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $7_1 = i64toi32_i32$2; + i64toi32_i32$4 = $184$hi; + i64toi32_i32$1 = $185$hi; + $3262($183_1 | 0, $184_1 | 0, i64toi32_i32$4 | 0, $185_1 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 + -15 | 0 | 0); + $8_1 = 16 - i64toi32_i32$2 | 0; + i64toi32_i32$3 = $5_1 + 88 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $4_1 = i64toi32_i32$1; + $4$hi = i64toi32_i32$4; + i64toi32_i32$3 = $5_1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 84 | 0) >> 2] | 0; + $3_1 = i64toi32_i32$4; + $3$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = 3; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + $139_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$0 | 0) | 0; + $139_1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + } + $208_1 = $139_1; + $208$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 61; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $140_1 = i64toi32_i32$4 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$4 >>> i64toi32_i32$0 | 0; + $140_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$0 | 0) | 0; + } + $210$hi = i64toi32_i32$3; + i64toi32_i32$3 = $208$hi; + i64toi32_i32$4 = $208_1; + i64toi32_i32$1 = $210$hi; + i64toi32_i32$5 = $140_1; + i64toi32_i32$1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$4 | i64toi32_i32$5 | 0; + i64toi32_i32$4 = 524288; + i64toi32_i32$5 = 0; + i64toi32_i32$4 = i64toi32_i32$1 | i64toi32_i32$4 | 0; + $4_1 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + $4$hi = i64toi32_i32$4; + i64toi32_i32$4 = $10$hi; + i64toi32_i32$1 = $10_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 3; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$1 << i64toi32_i32$0 | 0; + $141_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$0 | 0) | 0; + $141_1 = i64toi32_i32$1 << i64toi32_i32$0 | 0; + } + $214_1 = $141_1; + $214$hi = i64toi32_i32$3; + i64toi32_i32$3 = $9$hi; + i64toi32_i32$4 = $9_1; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 61; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $142_1 = i64toi32_i32$3 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$0 | 0; + $142_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$0 | 0) | 0; + } + $216$hi = i64toi32_i32$1; + i64toi32_i32$1 = $214$hi; + i64toi32_i32$3 = $214_1; + i64toi32_i32$4 = $216$hi; + i64toi32_i32$5 = $142_1; + i64toi32_i32$4 = i64toi32_i32$1 | i64toi32_i32$4 | 0; + $1_1 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + $1$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 3; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$1 << i64toi32_i32$0 | 0; + $143_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$0 | 0) | 0; + $143_1 = i64toi32_i32$1 << i64toi32_i32$0 | 0; + } + $3_1 = $143_1; + $3$hi = i64toi32_i32$3; + i64toi32_i32$3 = $11$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$3 = $11$hi; + i64toi32_i32$4 = $11_1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$5 = $2_1; + i64toi32_i32$1 = i64toi32_i32$3 ^ i64toi32_i32$1 | 0; + $10_1 = i64toi32_i32$4 ^ i64toi32_i32$5 | 0; + $10$hi = i64toi32_i32$1; + label$10 : { + $7_1 = $6_1 - $8_1 | 0; + if (!$7_1) { + break label$10 + } + label$11 : { + if ($7_1 >>> 0 <= 127 >>> 0) { + break label$11 + } + i64toi32_i32$1 = 0; + $4_1 = 0; + $4$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $3_1 = 1; + $3$hi = i64toi32_i32$1; + break label$10; + } + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$4 = $4$hi; + $3262($5_1 + 64 | 0 | 0, $3_1 | 0, i64toi32_i32$1 | 0, $4_1 | 0, i64toi32_i32$4 | 0, 128 - $7_1 | 0 | 0); + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + $3272($5_1 + 48 | 0 | 0, $3_1 | 0, i64toi32_i32$4 | 0, $4_1 | 0, i64toi32_i32$1 | 0, $7_1 | 0); + i64toi32_i32$3 = $5_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 48 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 52 | 0) >> 2] | 0; + $242_1 = i64toi32_i32$1; + $242$hi = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 68 | 0) >> 2] | 0; + $244_1 = i64toi32_i32$4; + $244$hi = i64toi32_i32$1; + i64toi32_i32$3 = (i64toi32_i32$3 + 64 | 0) + 8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $248_1 = i64toi32_i32$1; + $248$hi = i64toi32_i32$4; + i64toi32_i32$4 = $244$hi; + i64toi32_i32$3 = $244_1; + i64toi32_i32$1 = $248$hi; + i64toi32_i32$5 = $248_1; + i64toi32_i32$1 = i64toi32_i32$4 | i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 0; + $250_1 = (i64toi32_i32$4 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = 0; + $251$hi = i64toi32_i32$4; + i64toi32_i32$4 = $242$hi; + i64toi32_i32$5 = $242_1; + i64toi32_i32$1 = $251$hi; + i64toi32_i32$3 = $250_1; + i64toi32_i32$1 = i64toi32_i32$4 | i64toi32_i32$1 | 0; + $3_1 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + $3$hi = i64toi32_i32$1; + i64toi32_i32$4 = ($5_1 + 48 | 0) + 8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $4_1 = i64toi32_i32$1; + $4$hi = i64toi32_i32$5; + } + i64toi32_i32$5 = $1$hi; + i64toi32_i32$4 = $1_1; + i64toi32_i32$1 = 524288; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + $12_1 = i64toi32_i32$4 | i64toi32_i32$3 | 0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$5 = $9_1; + i64toi32_i32$4 = 0; + i64toi32_i32$3 = 3; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$5 << i64toi32_i32$0 | 0; + $144_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$0 | 0) | 0; + $144_1 = i64toi32_i32$5 << i64toi32_i32$0 | 0; + } + $2_1 = $144_1; + $2$hi = i64toi32_i32$4; + label$12 : { + label$13 : { + i64toi32_i32$4 = $10$hi; + i64toi32_i32$1 = $10_1; + i64toi32_i32$5 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$4 | 0) > (i64toi32_i32$5 | 0)) { + $145_1 = 1 + } else { + if ((i64toi32_i32$4 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$3 >>> 0) { + $146_1 = 0 + } else { + $146_1 = 1 + } + $147_1 = $146_1; + } else { + $147_1 = 0 + } + $145_1 = $147_1; + } + if ($145_1) { + break label$13 + } + label$14 : { + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$5 = $3_1; + i64toi32_i32$0 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$2 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$2 | 0; + $1_1 = i64toi32_i32$0; + $1$hi = i64toi32_i32$2; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$1 = $12_1; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + $269$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$5 = $3_1; + $272_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $273$hi = i64toi32_i32$2; + i64toi32_i32$2 = $269$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$0 = $273$hi; + i64toi32_i32$1 = $272_1; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $4_1 = i64toi32_i32$3; + $4$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$5 = i64toi32_i32$4 | i64toi32_i32$5 | 0; + if (!!(i64toi32_i32$2 | i64toi32_i32$1 | 0 | i64toi32_i32$5 | 0)) { + break label$14 + } + i64toi32_i32$5 = 0; + $3_1 = 0; + $3$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $4_1 = 0; + $4$hi = i64toi32_i32$5; + break label$1; + } + i64toi32_i32$5 = $4$hi; + i64toi32_i32$4 = $4_1; + i64toi32_i32$2 = 524287; + i64toi32_i32$1 = -1; + if (i64toi32_i32$5 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$4 >>> 0 > i64toi32_i32$1 >>> 0 | 0) | 0) { + break label$12 + } + $282_1 = $5_1 + 32 | 0; + i64toi32_i32$4 = $1$hi; + $283_1 = $1_1; + $283$hi = i64toi32_i32$4; + i64toi32_i32$4 = $4$hi; + $284_1 = $4_1; + $284$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$4 = $4$hi; + $7_1 = !($4_1 | i64toi32_i32$4 | 0); + i64toi32_i32$0 = $7_1; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$2 = i64toi32_i32$0 ? $1_1 : $4_1; + i64toi32_i32$1 = i64toi32_i32$0 ? i64toi32_i32$4 : i64toi32_i32$5; + i64toi32_i32$4 = Math_clz32(i64toi32_i32$1); + i64toi32_i32$0 = 0; + if ((i64toi32_i32$4 | 0) == (32 | 0)) { + $148_1 = Math_clz32(i64toi32_i32$2) + 32 | 0 + } else { + $148_1 = i64toi32_i32$4 + } + $291$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $294$hi = i64toi32_i32$0; + i64toi32_i32$0 = $291$hi; + i64toi32_i32$2 = $148_1; + i64toi32_i32$1 = $294$hi; + i64toi32_i32$4 = $7_1 << 6 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $7_1 = i64toi32_i32$5 + -12 | 0; + i64toi32_i32$3 = $283$hi; + i64toi32_i32$2 = $284$hi; + $3262($282_1 | 0, $283_1 | 0, i64toi32_i32$3 | 0, $284_1 | 0, i64toi32_i32$2 | 0, $7_1 | 0); + $6_1 = $6_1 - $7_1 | 0; + i64toi32_i32$0 = $5_1 + 40 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $4_1 = i64toi32_i32$2; + $4$hi = i64toi32_i32$3; + i64toi32_i32$0 = $5_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $1_1 = i64toi32_i32$3; + $1$hi = i64toi32_i32$2; + break label$12; + } + i64toi32_i32$2 = $4$hi; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$3 = $12$hi; + i64toi32_i32$4 = $12_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $309_1 = i64toi32_i32$1; + $309$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$4 = $2_1; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $1_1 = i64toi32_i32$3; + $1$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$4 = $3_1; + $315_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0 | 0) | 0; + i64toi32_i32$5 = 0; + $316$hi = i64toi32_i32$5; + i64toi32_i32$5 = $309$hi; + i64toi32_i32$4 = $309_1; + i64toi32_i32$1 = $316$hi; + i64toi32_i32$2 = $315_1; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $4_1 = i64toi32_i32$0; + $4$hi = i64toi32_i32$3; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$4 = 1048576; + i64toi32_i32$2 = 0; + i64toi32_i32$4 = i64toi32_i32$3 & i64toi32_i32$4 | 0; + if (!(i64toi32_i32$5 & i64toi32_i32$2 | 0 | i64toi32_i32$4 | 0)) { + break label$12 + } + i64toi32_i32$4 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $149_1 = i64toi32_i32$4 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$4 >>> i64toi32_i32$1 | 0; + $149_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$1 | 0) | 0; + } + $322_1 = $149_1; + $322$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$4 = $4_1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = 63; + i64toi32_i32$1 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + $150_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $150_1 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + } + $324$hi = i64toi32_i32$3; + i64toi32_i32$3 = $322$hi; + i64toi32_i32$5 = $322_1; + i64toi32_i32$4 = $324$hi; + i64toi32_i32$2 = $150_1; + i64toi32_i32$4 = i64toi32_i32$3 | i64toi32_i32$4 | 0; + $325_1 = i64toi32_i32$5 | i64toi32_i32$2 | 0; + $325$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$5 = i64toi32_i32$4 & i64toi32_i32$5 | 0; + $327_1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $327$hi = i64toi32_i32$5; + i64toi32_i32$5 = $325$hi; + i64toi32_i32$4 = $325_1; + i64toi32_i32$3 = $327$hi; + i64toi32_i32$2 = $327_1; + i64toi32_i32$3 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + $1_1 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + $1$hi = i64toi32_i32$3; + $6_1 = $6_1 + 1 | 0; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $154_1 = i64toi32_i32$3 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$3 >>> i64toi32_i32$1 | 0; + $154_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + $4_1 = $154_1; + $4$hi = i64toi32_i32$4; + } + i64toi32_i32$4 = $11$hi; + i64toi32_i32$3 = $11_1; + i64toi32_i32$5 = -2147483648; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = i64toi32_i32$4 & i64toi32_i32$5 | 0; + $2_1 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $2$hi = i64toi32_i32$5; + label$15 : { + if (($6_1 | 0) < (32767 | 0)) { + break label$15 + } + i64toi32_i32$5 = $2$hi; + i64toi32_i32$4 = $2_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + $4_1 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + $4$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $3_1 = 0; + $3$hi = i64toi32_i32$3; + break label$1; + } + $7_1 = 0; + label$16 : { + label$17 : { + if (($6_1 | 0) <= (0 | 0)) { + break label$17 + } + $7_1 = $6_1; + break label$16; + } + i64toi32_i32$3 = $1$hi; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$4 = $4$hi; + $3262($5_1 + 16 | 0 | 0, $1_1 | 0, i64toi32_i32$3 | 0, $4_1 | 0, i64toi32_i32$4 | 0, $6_1 + 127 | 0 | 0); + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$3 = $4$hi; + $3272($5_1 | 0, $1_1 | 0, i64toi32_i32$4 | 0, $4_1 | 0, i64toi32_i32$3 | 0, 1 - $6_1 | 0 | 0); + i64toi32_i32$5 = $5_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $354_1 = i64toi32_i32$3; + $354$hi = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 16 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 20 | 0) >> 2] | 0; + $356_1 = i64toi32_i32$4; + $356$hi = i64toi32_i32$3; + i64toi32_i32$5 = (i64toi32_i32$5 + 16 | 0) + 8 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $360_1 = i64toi32_i32$3; + $360$hi = i64toi32_i32$4; + i64toi32_i32$4 = $356$hi; + i64toi32_i32$5 = $356_1; + i64toi32_i32$3 = $360$hi; + i64toi32_i32$2 = $360_1; + i64toi32_i32$3 = i64toi32_i32$4 | i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 | i64toi32_i32$2 | 0; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 0; + $362_1 = (i64toi32_i32$4 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$5 | 0) | 0; + i64toi32_i32$4 = 0; + $363$hi = i64toi32_i32$4; + i64toi32_i32$4 = $354$hi; + i64toi32_i32$2 = $354_1; + i64toi32_i32$3 = $363$hi; + i64toi32_i32$5 = $362_1; + i64toi32_i32$3 = i64toi32_i32$4 | i64toi32_i32$3 | 0; + $1_1 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + $1$hi = i64toi32_i32$3; + i64toi32_i32$4 = $5_1 + 8 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $4_1 = i64toi32_i32$3; + $4$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $1$hi; + i64toi32_i32$4 = $1_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 3; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $155_1 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + $155_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$1 | 0) | 0; + } + $369_1 = $155_1; + $369$hi = i64toi32_i32$3; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = 61; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + $156_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$1 | 0) | 0; + $156_1 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + } + $371$hi = i64toi32_i32$4; + i64toi32_i32$4 = $369$hi; + i64toi32_i32$3 = $369_1; + i64toi32_i32$2 = $371$hi; + i64toi32_i32$5 = $156_1; + i64toi32_i32$2 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + $3_1 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + $3$hi = i64toi32_i32$2; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$4 = $4_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 3; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $157_1 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + $157_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$1 | 0) | 0; + } + i64toi32_i32$2 = $157_1; + i64toi32_i32$4 = 65535; + i64toi32_i32$5 = -1; + i64toi32_i32$4 = i64toi32_i32$3 & i64toi32_i32$4 | 0; + $375$hi = i64toi32_i32$4; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$4 = $375$hi; + i64toi32_i32$3 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$5 = $2_1; + i64toi32_i32$2 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + $377_1 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + $377$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$4 = $7_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 48; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + $158_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$1 | 0) | 0; + $158_1 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + } + $380$hi = i64toi32_i32$3; + i64toi32_i32$3 = $377$hi; + i64toi32_i32$2 = $377_1; + i64toi32_i32$4 = $380$hi; + i64toi32_i32$5 = $158_1; + i64toi32_i32$4 = i64toi32_i32$3 | i64toi32_i32$4 | 0; + $4_1 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + $4$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + $6_1 = $1_1 & 7 | 0; + label$18 : { + label$19 : { + label$20 : { + switch ($3270() | 0 | 0) { + case 0: + i64toi32_i32$4 = $4$hi; + $386_1 = $4_1; + $386$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$4 = 0; + $390$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = $390$hi; + i64toi32_i32$5 = $6_1 >>> 0 > 4 >>> 0; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $1_1 = i64toi32_i32$1; + $1$hi = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$5 = $3_1; + $394_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$4 = 0; + $395$hi = i64toi32_i32$4; + i64toi32_i32$4 = $386$hi; + i64toi32_i32$5 = $386_1; + i64toi32_i32$0 = $395$hi; + i64toi32_i32$3 = $394_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $4_1 = i64toi32_i32$2; + $4$hi = i64toi32_i32$1; + label$23 : { + if (($6_1 | 0) == (4 | 0)) { + break label$23 + } + i64toi32_i32$1 = $1$hi; + $3_1 = $1_1; + $3$hi = i64toi32_i32$1; + break label$19; + } + i64toi32_i32$1 = $4$hi; + $400_1 = $4_1; + $400$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$4 = $1_1; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + $2_1 = i64toi32_i32$4 & i64toi32_i32$3 | 0; + $2$hi = i64toi32_i32$5; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $3_1 = i64toi32_i32$0; + $3$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$3 = $2_1; + $408_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$5 = 0; + $409$hi = i64toi32_i32$5; + i64toi32_i32$5 = $400$hi; + i64toi32_i32$3 = $400_1; + i64toi32_i32$2 = $409$hi; + i64toi32_i32$1 = $408_1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $4_1 = i64toi32_i32$4; + $4$hi = i64toi32_i32$0; + break label$18; + case 1: + i64toi32_i32$0 = $4$hi; + $411_1 = $4_1; + $411$hi = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$5 = $2_1; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = 0; + $417_1 = ((i64toi32_i32$5 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | 0) & ($6_1 | 0) != (0 | 0) | 0; + i64toi32_i32$5 = 0; + $418$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$0 = $418$hi; + i64toi32_i32$3 = $417_1; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $1_1 = i64toi32_i32$2; + $1$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$3 = $3_1; + $422_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$5 = 0; + $423$hi = i64toi32_i32$5; + i64toi32_i32$5 = $411$hi; + i64toi32_i32$3 = $411_1; + i64toi32_i32$4 = $423$hi; + i64toi32_i32$1 = $422_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $4_1 = i64toi32_i32$0; + $4$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + $3_1 = $1_1; + $3$hi = i64toi32_i32$2; + break label$19; + case 2: + break label$20; + default: + break label$19; + }; + } + i64toi32_i32$2 = $4$hi; + $426_1 = $4_1; + $426$hi = i64toi32_i32$2; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $2$hi; + $432_1 = !($2_1 | i64toi32_i32$2 | 0) & ($6_1 | 0) != (0 | 0) | 0; + i64toi32_i32$2 = 0; + $433$hi = i64toi32_i32$2; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$5 = $3_1; + i64toi32_i32$3 = $433$hi; + i64toi32_i32$1 = $432_1; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $1_1 = i64toi32_i32$4; + $1$hi = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$1 = $3_1; + $437_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $438$hi = i64toi32_i32$2; + i64toi32_i32$2 = $426$hi; + i64toi32_i32$1 = $426_1; + i64toi32_i32$0 = $438$hi; + i64toi32_i32$5 = $437_1; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $4_1 = i64toi32_i32$3; + $4$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + $3_1 = $1_1; + $3$hi = i64toi32_i32$4; + } + if (!$6_1) { + break label$1 + } + } + $3271() | 0; + } + i64toi32_i32$4 = $3$hi; + i64toi32_i32$1 = $0_1; + HEAP32[i64toi32_i32$1 >> 2] = $3_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$4 = $4$hi; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $4_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$4; + global$0 = $5_1 + 112 | 0; + } + + function $3262($0_1, $1_1, $1$hi, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $4$hi = 0, $18_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $11$hi = 0, $18$hi = 0, $19_1 = 0, $19$hi = 0, $4_1 = 0, $24$hi = 0; + label$1 : { + label$2 : { + if (!($3_1 & 64 | 0)) { + break label$2 + } + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = 0; + $11$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$3 = $3_1 + -64 | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $18_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $18_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $2_1 = $18_1; + $2$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$1; + break label$1; + } + if (!$3_1) { + break label$1 + } + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = 0; + $18$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$3 = 64 - $3_1 | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $20_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $20_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $19_1 = $20_1; + $19$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = 0; + $4_1 = $3_1; + $4$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $21_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $21_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $24$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$2 = $19_1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $2_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $2$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $22_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $22_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $1_1 = $22_1; + $1$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $1$hi; + i64toi32_i32$0 = $0_1; + HEAP32[i64toi32_i32$0 >> 2] = $1_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $2_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$2; + } + + function $3263($0_1, $0$hi, $1_1, $1$hi, $2_1, $2$hi, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $5_1 = 0, $6_1 = 0, $5$hi = 0, $6$hi = 0, $35_1 = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, $8_1 = 0, $12_1 = 0, $17_1 = 0, $21_1 = 0, $27_1 = 0, $27$hi = 0, $30_1 = 0, $30$hi = 0, $40_1 = 0, $50_1 = 0, $50$hi = 0, $53_1 = 0, $53$hi = 0, $58_1 = 0, $68_1 = 0, $68$hi = 0, $71_1 = 0, $71$hi = 0; + $4_1 = 1; + label$1 : { + i64toi32_i32$0 = $0$hi; + i64toi32_i32$2 = $0_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 0; + $8_1 = (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$1 = -1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $5_1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $5$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$1 = 0; + $12_1 = i64toi32_i32$0 >>> 0 > i64toi32_i32$3 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = 2147418112; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0 ? $8_1 : $12_1) { + break label$1 + } + i64toi32_i32$1 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 0; + $17_1 = (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$2 = -1; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $6_1 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $6$hi = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$0 = 2147418112; + i64toi32_i32$2 = 0; + $21_1 = i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$3 >>> 0 > i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0 ? $17_1 : $21_1) { + break label$1 + } + label$2 : { + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $0$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$3 = $0$hi; + i64toi32_i32$1 = $0_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $27_1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $27$hi = i64toi32_i32$3; + i64toi32_i32$3 = $6$hi; + i64toi32_i32$3 = $5$hi; + i64toi32_i32$3 = $6$hi; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = $5$hi; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + $30_1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$3 = $27_1; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$1 = $30_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + if (!!(i64toi32_i32$3 | i64toi32_i32$1 | 0 | i64toi32_i32$2 | 0)) { + break label$2 + } + return 0 | 0; + } + label$3 : { + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$1 = $1_1; + i64toi32_i32$3 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$0 | 0)) { + $35_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$1 >>> 0) { + $36_1 = 0 + } else { + $36_1 = 1 + } + $37_1 = $36_1; + } else { + $37_1 = 0 + } + $35_1 = $37_1; + } + if ($35_1) { + break label$3 + } + $4_1 = -1; + i64toi32_i32$2 = $0$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $0$hi; + i64toi32_i32$1 = $0_1; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$0 = $2_1; + $40_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$3 = $3_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $38_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$3 >>> 0) { + $39_1 = 0 + } else { + $39_1 = 1 + } + $41_1 = $39_1; + } else { + $41_1 = 0 + } + $38_1 = $41_1; + } + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$2 = $3_1; + if ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0 ? $40_1 : $38_1) { + break label$1 + } + i64toi32_i32$3 = $0$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$3 = $0$hi; + i64toi32_i32$2 = $0_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = i64toi32_i32$3 ^ i64toi32_i32$0 | 0; + $50_1 = i64toi32_i32$2 ^ i64toi32_i32$1 | 0; + $50$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = i64toi32_i32$0 ^ i64toi32_i32$2 | 0; + $53_1 = i64toi32_i32$3 ^ i64toi32_i32$1 | 0; + $53$hi = i64toi32_i32$2; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$0 = $50_1; + i64toi32_i32$3 = $53$hi; + i64toi32_i32$1 = $53_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 0; + return (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | 0 | 0; + } + $4_1 = -1; + i64toi32_i32$2 = $0$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $0$hi; + i64toi32_i32$1 = $0_1; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$0 = $2_1; + $58_1 = i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$3 = $3_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $42_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $43_1 = 0 + } else { + $43_1 = 1 + } + $44_1 = $43_1; + } else { + $44_1 = 0 + } + $42_1 = $44_1; + } + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$2 = $3_1; + if ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0 ? $58_1 : $42_1) { + break label$1 + } + i64toi32_i32$3 = $0$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$3 = $0$hi; + i64toi32_i32$2 = $0_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = i64toi32_i32$3 ^ i64toi32_i32$0 | 0; + $68_1 = i64toi32_i32$2 ^ i64toi32_i32$1 | 0; + $68$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = i64toi32_i32$0 ^ i64toi32_i32$2 | 0; + $71_1 = i64toi32_i32$3 ^ i64toi32_i32$1 | 0; + $71$hi = i64toi32_i32$2; + i64toi32_i32$2 = $68$hi; + i64toi32_i32$0 = $68_1; + i64toi32_i32$3 = $71$hi; + i64toi32_i32$1 = $71_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 0; + $4_1 = (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | 0; + } + return $4_1 | 0; + } + + function $3264($0_1, $0$hi, $1_1, $1$hi, $2_1, $2$hi, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $5_1 = 0, $6_1 = 0, $4_1 = 0, $5$hi = 0, $6$hi = 0, $35_1 = 0, $36_1 = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, $8_1 = 0, $12_1 = 0, $17_1 = 0, $21_1 = 0, $27_1 = 0, $27$hi = 0, $30_1 = 0, $30$hi = 0, $40_1 = 0, $50_1 = 0, $50$hi = 0, $53_1 = 0, $53$hi = 0, $58_1 = 0, $68_1 = 0, $68$hi = 0, $71_1 = 0, $71$hi = 0; + $4_1 = -1; + label$1 : { + i64toi32_i32$0 = $0$hi; + i64toi32_i32$2 = $0_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 0; + $8_1 = (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$1 = -1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $5_1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $5$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$1 = 0; + $12_1 = i64toi32_i32$0 >>> 0 > i64toi32_i32$3 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = 2147418112; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0 ? $8_1 : $12_1) { + break label$1 + } + i64toi32_i32$1 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 0; + $17_1 = (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$2 = -1; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $6_1 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $6$hi = i64toi32_i32$1; + i64toi32_i32$3 = $6_1; + i64toi32_i32$0 = 2147418112; + i64toi32_i32$2 = 0; + $21_1 = i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$3 >>> 0 > i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$2 = $6_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0 ? $17_1 : $21_1) { + break label$1 + } + label$2 : { + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $0$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$3 = $0$hi; + i64toi32_i32$1 = $0_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $27_1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $27$hi = i64toi32_i32$3; + i64toi32_i32$3 = $6$hi; + i64toi32_i32$3 = $5$hi; + i64toi32_i32$3 = $6$hi; + i64toi32_i32$2 = $6_1; + i64toi32_i32$0 = $5$hi; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + $30_1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$3 = $27_1; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$1 = $30_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + if (!!(i64toi32_i32$3 | i64toi32_i32$1 | 0 | i64toi32_i32$2 | 0)) { + break label$2 + } + return 0 | 0; + } + label$3 : { + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$1 = $1_1; + i64toi32_i32$3 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$0 | 0)) { + $35_1 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$1 >>> 0) { + $36_1 = 0 + } else { + $36_1 = 1 + } + $37_1 = $36_1; + } else { + $37_1 = 0 + } + $35_1 = $37_1; + } + if ($35_1) { + break label$3 + } + i64toi32_i32$2 = $0$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $0$hi; + i64toi32_i32$1 = $0_1; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$0 = $2_1; + $40_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$3 = $3_1; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $38_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 >= i64toi32_i32$3 >>> 0) { + $39_1 = 0 + } else { + $39_1 = 1 + } + $41_1 = $39_1; + } else { + $41_1 = 0 + } + $38_1 = $41_1; + } + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$2 = $3_1; + if ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0 ? $40_1 : $38_1) { + break label$1 + } + i64toi32_i32$3 = $0$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$3 = $0$hi; + i64toi32_i32$2 = $0_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = i64toi32_i32$3 ^ i64toi32_i32$0 | 0; + $50_1 = i64toi32_i32$2 ^ i64toi32_i32$1 | 0; + $50$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = i64toi32_i32$0 ^ i64toi32_i32$2 | 0; + $53_1 = i64toi32_i32$3 ^ i64toi32_i32$1 | 0; + $53$hi = i64toi32_i32$2; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$0 = $50_1; + i64toi32_i32$3 = $53$hi; + i64toi32_i32$1 = $53_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 0; + return (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | 0 | 0; + } + i64toi32_i32$2 = $0$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $0$hi; + i64toi32_i32$1 = $0_1; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$0 = $2_1; + $58_1 = i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$3 = $3_1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $42_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $43_1 = 0 + } else { + $43_1 = 1 + } + $44_1 = $43_1; + } else { + $44_1 = 0 + } + $42_1 = $44_1; + } + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$2 = $3_1; + if ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0 ? $58_1 : $42_1) { + break label$1 + } + i64toi32_i32$3 = $0$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$3 = $0$hi; + i64toi32_i32$2 = $0_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = i64toi32_i32$3 ^ i64toi32_i32$0 | 0; + $68_1 = i64toi32_i32$2 ^ i64toi32_i32$1 | 0; + $68$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = i64toi32_i32$0 ^ i64toi32_i32$2 | 0; + $71_1 = i64toi32_i32$3 ^ i64toi32_i32$1 | 0; + $71$hi = i64toi32_i32$2; + i64toi32_i32$2 = $68$hi; + i64toi32_i32$0 = $68_1; + i64toi32_i32$3 = $71$hi; + i64toi32_i32$1 = $71_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 0; + $4_1 = (i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | 0; + } + return $4_1 | 0; + } + + function $3265($0_1, $1_1, $1$hi, $2_1, $2$hi, $3_1, $3$hi, $4_1, $4$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $15$hi = 0, $13$hi = 0, $15_1 = 0, $16$hi = 0, $13_1 = 0, i64toi32_i32$6 = 0, $5_1 = 0, $18$hi = 0, $19$hi = 0, $17$hi = 0, $16_1 = 0, $18_1 = 0, $19_1 = 0, $11$hi = 0, $17_1 = 0, $12$hi = 0, $20$hi = 0, $11_1 = 0, $12_1 = 0, $20_1 = 0, $10$hi = 0, $10_1 = 0, $8_1 = 0, $6_1 = 0, $14_1 = 0, $14$hi = 0, $7_1 = 0, $21$hi = 0, $9_1 = 0, $470_1 = 0, $471_1 = 0, $475_1 = 0, $476_1 = 0, $478_1 = 0, $479_1 = 0, $480_1 = 0, $481_1 = 0, $482_1 = 0, $484_1 = 0, $485_1 = 0, $486_1 = 0, $488_1 = 0, $489_1 = 0, $490_1 = 0, $491_1 = 0, $494_1 = 0, $495_1 = 0, $496_1 = 0, $497_1 = 0, $498_1 = 0, $499_1 = 0, $501_1 = 0, $502_1 = 0, $503_1 = 0, $504_1 = 0, $505_1 = 0, $507_1 = 0, $508_1 = 0, $512_1 = 0, $513_1 = 0, $514_1 = 0, $515_1 = 0, $516_1 = 0, $518_1 = 0, $521_1 = 0, $522_1 = 0, $523_1 = 0, $524_1 = 0, $525_1 = 0, $526_1 = 0, $527_1 = 0, $528_1 = 0, $530_1 = 0, $21_1 = 0, $531_1 = 0, $532_1 = 0, $533_1 = 0, $537_1 = 0, $538_1 = 0, $539_1 = 0, $540_1 = 0, $542_1 = 0, $543_1 = 0, $544_1 = 0, $546_1 = 0, $547_1 = 0, $548_1 = 0, $549_1 = 0, $550_1 = 0, $552_1 = 0, $555_1 = 0, $556_1 = 0, $557_1 = 0, $558_1 = 0, $559_1 = 0, $560_1 = 0, $562_1 = 0, $563_1 = 0, $564_1 = 0, $565_1 = 0, $567_1 = 0, $568_1 = 0, $569_1 = 0, $570_1 = 0, $572_1 = 0, $573_1 = 0, $575_1 = 0, $576_1 = 0, $48_1 = 0, $52_1 = 0, $59_1 = 0, $63_1 = 0, $72_1 = 0, $72$hi = 0, $77_1 = 0, $77$hi = 0, $85_1 = 0, $85$hi = 0, $101_1 = 0, $102_1 = 0, $102$hi = 0, $103_1 = 0, $103$hi = 0, $110$hi = 0, $113$hi = 0, $128_1 = 0, $129_1 = 0, $129$hi = 0, $130_1 = 0, $130$hi = 0, $137$hi = 0, $140$hi = 0, $155_1 = 0, $157_1 = 0, $157$hi = 0, $161$hi = 0, $172_1 = 0, $172$hi = 0, $173$hi = 0, $176_1 = 0, $179_1 = 0, $179$hi = 0, $184$hi = 0, $194_1 = 0, $194$hi = 0, $195$hi = 0, $197_1 = 0, $200_1 = 0, $200$hi = 0, $205$hi = 0, $215_1 = 0, $215$hi = 0, $216$hi = 0, $218_1 = 0, $221_1 = 0, $221$hi = 0, $226$hi = 0, $236_1 = 0, $236$hi = 0, $237$hi = 0, $239_1 = 0, $242_1 = 0, $242$hi = 0, $247$hi = 0, $256_1 = 0, $256$hi = 0, $257$hi = 0, $265_1 = 0, $265$hi = 0, $269$hi = 0, $274_1 = 0, $274$hi = 0, $279_1 = 0, $279$hi = 0, $286_1 = 0, $286$hi = 0, $289_1 = 0, $289$hi = 0, $292_1 = 0, $294$hi = 0, $295_1 = 0, $295$hi = 0, $298_1 = 0, $298$hi = 0, $299_1 = 0, $299$hi = 0, $305_1 = 0, $305$hi = 0, $309_1 = 0, $310$hi = 0, $311_1 = 0, $311$hi = 0, $312_1 = 0, $312$hi = 0, $313_1 = 0, $313$hi = 0, $319_1 = 0, $319$hi = 0, $320_1 = 0, $320$hi = 0, $325_1 = 0, $325$hi = 0, $332_1 = 0, $332$hi = 0, $333$hi = 0, $335_1 = 0, $336_1 = 0, $336$hi = 0, $338_1 = 0, $338$hi = 0, $341_1 = 0, $343$hi = 0, $344_1 = 0, $344$hi = 0, $347_1 = 0, $347$hi = 0, $348$hi = 0, $349$hi = 0, $353_1 = 0, $354$hi = 0, $355$hi = 0, $357_1 = 0, $358$hi = 0, $359$hi = 0, $366_1 = 0, $366$hi = 0, $370_1 = 0, $370$hi = 0, $371_1 = 0, $371$hi = 0, $375_1 = 0, $375$hi = 0, $378$hi = 0, $383_1 = 0, $383$hi = 0, $385_1 = 0, $385$hi = 0, $388_1 = 0, $390$hi = 0, $391_1 = 0, $391$hi = 0, $394_1 = 0, $394$hi = 0, $395$hi = 0, $396_1 = 0, $396$hi = 0, $397_1 = 0, $397$hi = 0, $410_1 = 0, $410$hi = 0, $417_1 = 0, $417$hi = 0, $418$hi = 0, $420_1 = 0, $421_1 = 0, $421$hi = 0, $423_1 = 0, $423$hi = 0, $426_1 = 0, $428$hi = 0, $429_1 = 0, $429$hi = 0, $432_1 = 0, $432$hi = 0, $433$hi = 0, $434$hi = 0, $438_1 = 0, $439$hi = 0, $440_1 = 0, $440$hi = 0, $445_1 = 0, $446$hi = 0, $451_1 = 0, $451$hi = 0, $453_1 = 0, $453$hi = 0, $455$hi = 0, $460_1 = 0, $460$hi = 0, $464_1 = 0, $464$hi = 0, $468_1 = 0, $468$hi = 0, $472_1 = 0, $473_1 = 0, $473$hi = 0, $474_1 = 0, $474$hi = 0, $477_1 = 0, $477$hi = 0, $483_1 = 0, $483$hi = 0, $487_1 = 0, $488$hi = 0, $489$hi = 0, $492_1 = 0, $492$hi = 0, $493_1 = 0, $493$hi = 0, $500_1 = 0, $500$hi = 0, $506_1 = 0, $506$hi = 0, $508$hi = 0, $509_1 = 0, $509$hi = 0, $510_1 = 0, $510$hi = 0, $511_1 = 0, $511$hi = 0, $513$hi = 0, $517_1 = 0, $518$hi = 0, $519_1 = 0, $519$hi = 0, $520_1 = 0, $520$hi = 0, $529_1 = 0, $529$hi = 0, $534_1 = 0, $534$hi = 0, $535_1 = 0, $535$hi = 0, $536_1 = 0, $536$hi = 0, $541_1 = 0, $541$hi = 0, $545_1 = 0, $546$hi = 0, $547$hi = 0, $551_1 = 0, $552$hi = 0, $553_1 = 0, $553$hi = 0, $554_1 = 0, $554$hi = 0, $561_1 = 0, $561$hi = 0, $566_1 = 0, $566$hi = 0, $571_1 = 0, $571$hi = 0, $574_1 = 0, $574$hi = 0, $577_1 = 0, $578$hi = 0, $581_1 = 0, $582$hi = 0, $583$hi = 0, $586_1 = 0, $587$hi = 0, $589$hi = 0, $590_1 = 0, $590$hi = 0, $594_1 = 0, $595$hi = 0, $596_1 = 0, $596$hi = 0, $597_1 = 0, $597$hi = 0, $598_1 = 0, $598$hi = 0, $605_1 = 0, $605$hi = 0, $608_1 = 0, $608$hi = 0, $611_1 = 0, $613$hi = 0, $614_1 = 0, $614$hi = 0, $618_1 = 0, $619_1 = 0, $619$hi = 0, $620_1 = 0, $620$hi = 0, $622$hi = 0, $623$hi = 0, $625_1 = 0, $626$hi = 0, $627$hi = 0, $631_1 = 0, $632$hi = 0, $637$hi = 0, $646_1 = 0, $647$hi = 0, $648_1 = 0, $648$hi = 0, $651_1 = 0, $651$hi = 0, $657_1 = 0, $657$hi = 0, $658_1 = 0, $658$hi = 0, $662_1 = 0, $662$hi = 0, $667_1 = 0, $668$hi = 0, $669_1 = 0, $669$hi = 0, $670_1 = 0, $670$hi = 0, $672$hi = 0, $673_1 = 0, $673$hi = 0, $674_1 = 0, $674$hi = 0, $676$hi = 0, $677_1 = 0, $677$hi = 0, $678$hi = 0, $681_1 = 0, $681$hi = 0, $682$hi = 0, $685_1 = 0, $685$hi = 0, $687_1 = 0, $687$hi = 0, $689$hi = 0, $578_1 = 0, $691_1 = 0, $691$hi = 0, $694_1 = 0, $694$hi = 0, $695_1 = 0, $695$hi = 0, $696$hi = 0, $699_1 = 0, $699$hi = 0, $700_1 = 0, $700$hi = 0, $702_1 = 0, $702$hi = 0, $705_1 = 0, $707$hi = 0, $708_1 = 0, $708$hi = 0, $709$hi = 0, $710$hi = 0, $720_1 = 0, $720$hi = 0, $722_1 = 0, $722$hi = 0, $724$hi = 0, $734_1 = 0, $735$hi = 0, $736_1 = 0, $736$hi = 0, $739_1 = 0, $739$hi = 0, $740_1 = 0, $740$hi = 0, $745_1 = 0, $745$hi = 0, $746_1 = 0, $746$hi = 0, $748$hi = 0, $754_1 = 0, $754$hi = 0, $759_1 = 0, $760$hi = 0, $761_1 = 0, $761$hi = 0, $762_1 = 0, $762$hi = 0, $764$hi = 0, $765_1 = 0, $765$hi = 0, $766_1 = 0, $766$hi = 0, $768$hi = 0, $769_1 = 0, $769$hi = 0, $770_1 = 0, $770$hi = 0, $775_1 = 0, $775$hi = 0, $776$hi = 0, $779_1 = 0, $779$hi = 0, $781_1 = 0, $781$hi = 0, $784_1 = 0, $784$hi = 0, $786$hi = 0, $579_1 = 0, $788_1 = 0, $788$hi = 0, $789$hi = 0, $792_1 = 0, $792$hi = 0, $793_1 = 0, $793$hi = 0, $794_1 = 0, $794$hi = 0, $796_1 = 0, $796$hi = 0, $799_1 = 0, $801$hi = 0, $802_1 = 0, $802$hi = 0, $803$hi = 0, $804$hi = 0, $820_1 = 0, $820$hi = 0, $821_1 = 0, $821$hi = 0, $823$hi = 0, $825_1 = 0, $827_1 = 0, $827$hi = 0, $829$hi = 0, $833_1 = 0, $837_1 = 0, $838$hi = 0, $842_1 = 0, $843$hi = 0, $853$hi = 0, $855_1 = 0, $855$hi = 0, $856_1 = 0, $856$hi = 0, $857_1 = 0, $857$hi = 0, $859$hi = 0, $861_1 = 0, $863_1 = 0, $863$hi = 0, $865$hi = 0, $869_1 = 0, $873_1 = 0, $874$hi = 0, $878_1 = 0, $879$hi = 0, $880$hi = 0, $896_1 = 0; + $5_1 = global$0 - 192 | 0; + global$0 = $5_1; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = 65535; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $10_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = 65535; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $11_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $11$hi = i64toi32_i32$2; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$0 = i64toi32_i32$2 ^ i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; + i64toi32_i32$1 = -2147483648; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $12_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 48; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $470_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $470_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $6_1 = $470_1 & 32767 | 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 48; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $471_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $471_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + $7_1 = $471_1 & 32767 | 0; + if (($7_1 + -1 | 0) >>> 0 > 32765 >>> 0) { + break label$4 + } + $8_1 = 0; + if (($6_1 + -1 | 0) >>> 0 < 32766 >>> 0) { + break label$3 + } + } + label$5 : { + i64toi32_i32$0 = $1$hi; + $48_1 = !($1_1 | i64toi32_i32$0 | 0); + i64toi32_i32$0 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $13_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $13$hi = i64toi32_i32$1; + i64toi32_i32$0 = $13_1; + i64toi32_i32$2 = 2147418112; + i64toi32_i32$3 = 0; + $52_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$3 = $13_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0 ? $48_1 : $52_1) { + break label$5 + } + i64toi32_i32$3 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$0 = 32768; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + $12_1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $12$hi = i64toi32_i32$0; + break label$2; + } + label$6 : { + i64toi32_i32$0 = $3$hi; + $59_1 = !($3_1 | i64toi32_i32$0 | 0); + i64toi32_i32$0 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = 2147483647; + i64toi32_i32$1 = -1; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + $2_1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $2$hi = i64toi32_i32$2; + i64toi32_i32$0 = $2_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$1 = 0; + $63_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$1 = $2_1; + i64toi32_i32$2 = 2147418112; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0 ? $59_1 : $63_1) { + break label$6 + } + i64toi32_i32$1 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = 32768; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $12_1 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + $12$hi = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + $1_1 = $3_1; + $1$hi = i64toi32_i32$0; + break label$2; + } + label$7 : { + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$1 = $13_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0; + $72_1 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + $72$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$1 = $72$hi; + i64toi32_i32$2 = $72_1; + i64toi32_i32$1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | 0) { + break label$7 + } + label$8 : { + i64toi32_i32$3 = $3$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = i64toi32_i32$3 ^ i64toi32_i32$1 | 0; + $77_1 = i64toi32_i32$2 ^ i64toi32_i32$0 | 0; + $77$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = $77$hi; + i64toi32_i32$0 = $77_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + if (!!(i64toi32_i32$3 | i64toi32_i32$0 | 0 | i64toi32_i32$2 | 0)) { + break label$8 + } + i64toi32_i32$2 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$2; + i64toi32_i32$2 = 2147450880; + $12_1 = 0; + $12$hi = i64toi32_i32$2; + break label$2; + } + i64toi32_i32$2 = $12$hi; + i64toi32_i32$1 = $12_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $12_1 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $12$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$3; + break label$2; + } + label$9 : { + i64toi32_i32$3 = $3$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = i64toi32_i32$3 ^ i64toi32_i32$1 | 0; + $85_1 = i64toi32_i32$2 ^ i64toi32_i32$0 | 0; + $85$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = $85$hi; + i64toi32_i32$0 = $85_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | 0) { + break label$9 + } + i64toi32_i32$1 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$1; + break label$2; + } + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$3 = $13_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) { + break label$1 + } + label$10 : { + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | 0) { + break label$10 + } + i64toi32_i32$1 = $12$hi; + i64toi32_i32$0 = $12_1; + i64toi32_i32$2 = 2147418112; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $12_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $12$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$2; + break label$2; + } + $8_1 = 0; + label$11 : { + i64toi32_i32$2 = $13$hi; + i64toi32_i32$1 = $13_1; + i64toi32_i32$0 = 65535; + i64toi32_i32$3 = -1; + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) { + break label$11 + } + $101_1 = $5_1 + 176 | 0; + i64toi32_i32$1 = $1$hi; + $102_1 = $1_1; + $102$hi = i64toi32_i32$1; + i64toi32_i32$1 = $11$hi; + $103_1 = $11_1; + $103$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = $11$hi; + $8_1 = !($11_1 | i64toi32_i32$1 | 0); + i64toi32_i32$4 = $8_1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$2 = $11$hi; + i64toi32_i32$0 = i64toi32_i32$4 ? $1_1 : $11_1; + i64toi32_i32$3 = i64toi32_i32$4 ? i64toi32_i32$1 : i64toi32_i32$2; + i64toi32_i32$1 = Math_clz32(i64toi32_i32$3); + i64toi32_i32$4 = 0; + if ((i64toi32_i32$1 | 0) == (32 | 0)) { + $475_1 = Math_clz32(i64toi32_i32$0) + 32 | 0 + } else { + $475_1 = i64toi32_i32$1 + } + $110$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $113$hi = i64toi32_i32$4; + i64toi32_i32$4 = $110$hi; + i64toi32_i32$0 = $475_1; + i64toi32_i32$3 = $113$hi; + i64toi32_i32$1 = $8_1 << 6 | 0; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $8_1 = i64toi32_i32$2; + i64toi32_i32$5 = $102$hi; + i64toi32_i32$0 = $103$hi; + $3262($101_1 | 0, $102_1 | 0, i64toi32_i32$5 | 0, $103_1 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 + -15 | 0 | 0); + $8_1 = 16 - i64toi32_i32$2 | 0; + i64toi32_i32$4 = $5_1 + 184 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $11_1 = i64toi32_i32$0; + $11$hi = i64toi32_i32$5; + i64toi32_i32$4 = $5_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 176 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 180 | 0) >> 2] | 0; + $1_1 = i64toi32_i32$5; + $1$hi = i64toi32_i32$0; + } + i64toi32_i32$0 = $2$hi; + i64toi32_i32$4 = $2_1; + i64toi32_i32$5 = 65535; + i64toi32_i32$1 = -1; + if (i64toi32_i32$0 >>> 0 > i64toi32_i32$5 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$4 >>> 0 > i64toi32_i32$1 >>> 0 | 0) | 0) { + break label$3 + } + $128_1 = $5_1 + 160 | 0; + i64toi32_i32$4 = $3$hi; + $129_1 = $3_1; + $129$hi = i64toi32_i32$4; + i64toi32_i32$4 = $10$hi; + $130_1 = $10_1; + $130$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$4 = $10$hi; + $9_1 = !($10_1 | i64toi32_i32$4 | 0); + i64toi32_i32$3 = $9_1; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$0 = $10$hi; + i64toi32_i32$5 = i64toi32_i32$3 ? $3_1 : $10_1; + i64toi32_i32$1 = i64toi32_i32$3 ? i64toi32_i32$4 : i64toi32_i32$0; + i64toi32_i32$4 = Math_clz32(i64toi32_i32$1); + i64toi32_i32$3 = 0; + if ((i64toi32_i32$4 | 0) == (32 | 0)) { + $476_1 = Math_clz32(i64toi32_i32$5) + 32 | 0 + } else { + $476_1 = i64toi32_i32$4 + } + $137$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $140$hi = i64toi32_i32$3; + i64toi32_i32$3 = $137$hi; + i64toi32_i32$5 = $476_1; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$4 = $9_1 << 6 | 0; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $9_1 = i64toi32_i32$0; + i64toi32_i32$2 = $129$hi; + i64toi32_i32$5 = $130$hi; + $3262($128_1 | 0, $129_1 | 0, i64toi32_i32$2 | 0, $130_1 | 0, i64toi32_i32$5 | 0, i64toi32_i32$0 + -15 | 0 | 0); + $8_1 = (i64toi32_i32$0 + $8_1 | 0) + -16 | 0; + i64toi32_i32$3 = $5_1 + 168 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $10_1 = i64toi32_i32$5; + $10$hi = i64toi32_i32$2; + i64toi32_i32$3 = $5_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 160 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 164 | 0) >> 2] | 0; + $3_1 = i64toi32_i32$2; + $3$hi = i64toi32_i32$5; + } + $155_1 = $5_1 + 144 | 0; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$2 = 0; + i64toi32_i32$4 = 49; + i64toi32_i32$1 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $478_1 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + $478_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$1 | 0) | 0; + } + $157_1 = $478_1; + $157$hi = i64toi32_i32$2; + i64toi32_i32$2 = $10$hi; + i64toi32_i32$5 = $10_1; + i64toi32_i32$3 = 65536; + i64toi32_i32$4 = 0; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $14_1 = i64toi32_i32$5 | i64toi32_i32$4 | 0; + $14$hi = i64toi32_i32$3; + i64toi32_i32$2 = $14_1; + i64toi32_i32$5 = 0; + i64toi32_i32$4 = 15; + i64toi32_i32$1 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + $479_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$1 | 0) | 0; + $479_1 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + } + $161$hi = i64toi32_i32$5; + i64toi32_i32$5 = $157$hi; + i64toi32_i32$3 = $157_1; + i64toi32_i32$2 = $161$hi; + i64toi32_i32$4 = $479_1; + i64toi32_i32$2 = i64toi32_i32$5 | i64toi32_i32$2 | 0; + $2_1 = i64toi32_i32$3 | i64toi32_i32$4 | 0; + $2$hi = i64toi32_i32$2; + i64toi32_i32$2 = 1963258675; + i64toi32_i32$5 = -102865788; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$4 = $2_1; + i64toi32_i32$1 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + $4_1 = i64toi32_i32$1; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$4 = 0; + $3274($155_1 | 0, $2_1 | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$4 | 0); + i64toi32_i32$5 = ($5_1 + 144 | 0) + 8 | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $172_1 = i64toi32_i32$4; + $172$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = 0; + i64toi32_i32$4 = $172$hi; + i64toi32_i32$0 = $172_1; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + $173$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $173$hi; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$0 = 0; + $3274($5_1 + 128 | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$5 | 0, $4_1 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$0 | 0); + $176_1 = $5_1 + 112 | 0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 128 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 132 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 63; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $480_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $480_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$4 | 0) | 0; + } + $179_1 = $480_1; + $179$hi = i64toi32_i32$0; + i64toi32_i32$2 = ($5_1 + 128 | 0) + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $481_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$4 | 0) | 0; + $481_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $184$hi = i64toi32_i32$0; + i64toi32_i32$0 = $179$hi; + i64toi32_i32$5 = $179_1; + i64toi32_i32$2 = $184$hi; + i64toi32_i32$1 = $481_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $4_1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + $4$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = 0; + $3274($176_1 | 0, $4_1 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$5 | 0, $2_1 | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$5 = ($5_1 + 112 | 0) + 8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $194_1 = i64toi32_i32$1; + $194$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 0; + i64toi32_i32$1 = $194$hi; + i64toi32_i32$2 = $194_1; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + $195$hi = i64toi32_i32$3; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = $195$hi; + i64toi32_i32$2 = 0; + $3274($5_1 + 96 | 0 | 0, $4_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$2 | 0); + $197_1 = $5_1 + 80 | 0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 100 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $482_1 = i64toi32_i32$0 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$1 | 0; + $482_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + $200_1 = $482_1; + $200$hi = i64toi32_i32$2; + i64toi32_i32$0 = ($5_1 + 96 | 0) + 8 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + $484_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $484_1 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + } + $205$hi = i64toi32_i32$2; + i64toi32_i32$2 = $200$hi; + i64toi32_i32$5 = $200_1; + i64toi32_i32$0 = $205$hi; + i64toi32_i32$3 = $484_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $4_1 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$3 = 0; + $3274($197_1 | 0, $4_1 | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$5 | 0, $2_1 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$3 | 0); + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$5 = ($5_1 + 80 | 0) + 8 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $215_1 = i64toi32_i32$3; + $215$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = $215$hi; + i64toi32_i32$0 = $215_1; + i64toi32_i32$1 = i64toi32_i32$5 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $216$hi = i64toi32_i32$4; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = $216$hi; + i64toi32_i32$0 = 0; + $3274($5_1 + 64 | 0 | 0, $4_1 | 0, i64toi32_i32$4 | 0, 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$1 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$0 | 0); + $218_1 = $5_1 + 48 | 0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 68 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = 63; + i64toi32_i32$3 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $485_1 = i64toi32_i32$2 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$3 | 0; + $485_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $221_1 = $485_1; + $221$hi = i64toi32_i32$0; + i64toi32_i32$2 = ($5_1 + 64 | 0) + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = 1; + i64toi32_i32$3 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $486_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $486_1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + } + $226$hi = i64toi32_i32$0; + i64toi32_i32$0 = $221$hi; + i64toi32_i32$5 = $221_1; + i64toi32_i32$2 = $226$hi; + i64toi32_i32$4 = $486_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $4_1 = i64toi32_i32$5 | i64toi32_i32$4 | 0; + $4$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$4 = 0; + $3274($218_1 | 0, $4_1 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$5 | 0, $2_1 | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$4 | 0); + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$5 = ($5_1 + 48 | 0) + 8 | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $236_1 = i64toi32_i32$4; + $236$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 0; + i64toi32_i32$4 = $236$hi; + i64toi32_i32$2 = $236_1; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$1 | 0; + $237$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = $237$hi; + i64toi32_i32$2 = 0; + $3274($5_1 + 32 | 0 | 0, $4_1 | 0, i64toi32_i32$1 | 0, 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$3 | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$2 | 0); + $239_1 = $5_1 + 16 | 0; + i64toi32_i32$5 = $5_1; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 36 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = 63; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $488_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $488_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$4 | 0) | 0; + } + $242_1 = $488_1; + $242$hi = i64toi32_i32$2; + i64toi32_i32$0 = ($5_1 + 32 | 0) + 8 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $489_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$4 | 0) | 0; + $489_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $247$hi = i64toi32_i32$2; + i64toi32_i32$2 = $242$hi; + i64toi32_i32$5 = $242_1; + i64toi32_i32$0 = $247$hi; + i64toi32_i32$1 = $489_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $4_1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = 0; + $3274($239_1 | 0, $4_1 | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$5 | 0, $2_1 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$5 = ($5_1 + 16 | 0) + 8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $256_1 = i64toi32_i32$1; + $256$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = 0; + i64toi32_i32$1 = $256$hi; + i64toi32_i32$0 = $256_1; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + $257$hi = i64toi32_i32$3; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = $257$hi; + i64toi32_i32$0 = 0; + $3274($5_1 | 0, $4_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$4 | 0, i64toi32_i32$2 | 0, 0 | 0, i64toi32_i32$0 | 0); + $6_1 = $8_1 + ($7_1 - $6_1 | 0) | 0; + label$12 : { + label$13 : { + i64toi32_i32$5 = $5_1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $490_1 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + $490_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + $265_1 = $490_1; + $265$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5_1 + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 1; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + $491_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $491_1 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + } + $269$hi = i64toi32_i32$0; + i64toi32_i32$0 = $265$hi; + i64toi32_i32$5 = $265_1; + i64toi32_i32$2 = $269$hi; + i64toi32_i32$3 = $491_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + i64toi32_i32$5 = -1; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $13_1 = i64toi32_i32$1; + $13$hi = i64toi32_i32$4; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $4_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $4$hi = i64toi32_i32$0; + $274_1 = $4_1; + $274$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$4 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $494_1 = i64toi32_i32$0 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$5 | 0; + $494_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$5 | 0) | 0; + } + $15_1 = $494_1; + $15$hi = i64toi32_i32$2; + i64toi32_i32$2 = $274$hi; + i64toi32_i32$4 = $15$hi; + i64toi32_i32$4 = __wasm_i64_mul($274_1 | 0, i64toi32_i32$2 | 0, $15_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $16_1 = i64toi32_i32$4; + $16$hi = i64toi32_i32$2; + $279_1 = i64toi32_i32$4; + $279$hi = i64toi32_i32$2; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$0 = $13_1; + i64toi32_i32$4 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $495_1 = i64toi32_i32$2 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$2 >>> i64toi32_i32$5 | 0; + $495_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$5 | 0) | 0; + } + $13_1 = $495_1; + $13$hi = i64toi32_i32$4; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $17_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $17$hi = i64toi32_i32$0; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$2 = __wasm_i64_mul($13_1 | 0, i64toi32_i32$0 | 0, $17_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $286_1 = i64toi32_i32$2; + $286$hi = i64toi32_i32$0; + i64toi32_i32$0 = $279$hi; + i64toi32_i32$4 = $279_1; + i64toi32_i32$2 = $286$hi; + i64toi32_i32$3 = $286_1; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $2_1 = i64toi32_i32$5; + $2$hi = i64toi32_i32$1; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$4 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $496_1 = i64toi32_i32$1 >>> i64toi32_i32$2 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$1 >>> i64toi32_i32$2 | 0; + $496_1 = (((1 << i64toi32_i32$2 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$2 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$2 | 0) | 0; + } + $289_1 = $496_1; + $289$hi = i64toi32_i32$4; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$4 = $16$hi; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$3 = $16_1; + $292_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = $292_1; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$2 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + $497_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$2 | 0) | 0; + $497_1 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + } + $294$hi = i64toi32_i32$4; + i64toi32_i32$4 = $289$hi; + i64toi32_i32$1 = $289_1; + i64toi32_i32$3 = $294$hi; + i64toi32_i32$0 = $497_1; + i64toi32_i32$3 = i64toi32_i32$4 | i64toi32_i32$3 | 0; + $295_1 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $295$hi = i64toi32_i32$3; + i64toi32_i32$3 = $13$hi; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$3 = $13$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$1 = __wasm_i64_mul($13_1 | 0, i64toi32_i32$3 | 0, $15_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $298_1 = i64toi32_i32$1; + $298$hi = i64toi32_i32$3; + i64toi32_i32$3 = $295$hi; + i64toi32_i32$4 = $295_1; + i64toi32_i32$1 = $298$hi; + i64toi32_i32$0 = $298_1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $299_1 = i64toi32_i32$2; + $299$hi = i64toi32_i32$5; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + $498_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $498_1 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + } + $15_1 = $498_1; + $15$hi = i64toi32_i32$4; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$3 = $17$hi; + i64toi32_i32$3 = __wasm_i64_mul($4_1 | 0, i64toi32_i32$4 | 0, $17_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $305_1 = i64toi32_i32$3; + $305$hi = i64toi32_i32$4; + i64toi32_i32$4 = $15$hi; + i64toi32_i32$5 = $15_1; + i64toi32_i32$3 = $305$hi; + i64toi32_i32$0 = $305_1; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $2_1 = i64toi32_i32$1; + $2$hi = i64toi32_i32$2; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$0 = $15_1; + $309_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$4 = 0; + $310$hi = i64toi32_i32$4; + i64toi32_i32$4 = $299$hi; + i64toi32_i32$0 = $299_1; + i64toi32_i32$2 = $310$hi; + i64toi32_i32$5 = $309_1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $311_1 = i64toi32_i32$3; + $311$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + $312_1 = $2_1; + $312$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + $313_1 = $4_1; + $313$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$4 = $3_1; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 17; + i64toi32_i32$2 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $499_1 = i64toi32_i32$1 >>> i64toi32_i32$2 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$2 | 0; + $499_1 = (((1 << i64toi32_i32$2 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$2 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$2 | 0) | 0; + } + i64toi32_i32$1 = $499_1; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = -1; + i64toi32_i32$4 = i64toi32_i32$0 & i64toi32_i32$4 | 0; + $16_1 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + $16$hi = i64toi32_i32$4; + i64toi32_i32$4 = $313$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = __wasm_i64_mul($313_1 | 0, i64toi32_i32$4 | 0, $16_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $17_1 = i64toi32_i32$1; + $17$hi = i64toi32_i32$4; + $319_1 = i64toi32_i32$1; + $319$hi = i64toi32_i32$4; + i64toi32_i32$4 = $13$hi; + $320_1 = $13_1; + $320$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 15; + i64toi32_i32$2 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + $501_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$2 | 0) | 0; + $501_1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + } + i64toi32_i32$4 = $501_1; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = -32768; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $18_1 = i64toi32_i32$4 & i64toi32_i32$5 | 0; + $18$hi = i64toi32_i32$0; + i64toi32_i32$0 = $320$hi; + i64toi32_i32$4 = $18$hi; + i64toi32_i32$4 = __wasm_i64_mul($320_1 | 0, i64toi32_i32$0 | 0, $18_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $325_1 = i64toi32_i32$4; + $325$hi = i64toi32_i32$0; + i64toi32_i32$0 = $319$hi; + i64toi32_i32$1 = $319_1; + i64toi32_i32$4 = $325$hi; + i64toi32_i32$5 = $325_1; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $15_1 = i64toi32_i32$2; + $15$hi = i64toi32_i32$3; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$4 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $502_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $502_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $19_1 = $502_1; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$0 = __wasm_i64_mul($4_1 | 0, i64toi32_i32$1 | 0, $18_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $332_1 = i64toi32_i32$0; + $332$hi = i64toi32_i32$1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$3 = $19_1; + i64toi32_i32$0 = $332$hi; + i64toi32_i32$5 = $332_1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $333$hi = i64toi32_i32$2; + i64toi32_i32$2 = $19$hi; + i64toi32_i32$2 = $333$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$3 = $19$hi; + i64toi32_i32$5 = $19_1; + $335_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $336_1 = $335_1; + $336$hi = i64toi32_i32$1; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$5 = $15_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $503_1 = i64toi32_i32$1 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$0 | 0; + $503_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$0 | 0) | 0; + } + $338_1 = $503_1; + $338$hi = i64toi32_i32$2; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$1 = $15_1; + i64toi32_i32$5 = $17$hi; + i64toi32_i32$3 = $17_1; + $341_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = $341_1; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + $504_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$0 | 0) | 0; + $504_1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + } + $343$hi = i64toi32_i32$2; + i64toi32_i32$2 = $338$hi; + i64toi32_i32$1 = $338_1; + i64toi32_i32$3 = $343$hi; + i64toi32_i32$5 = $504_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $344_1 = i64toi32_i32$1 | i64toi32_i32$5 | 0; + $344$hi = i64toi32_i32$3; + i64toi32_i32$3 = $13$hi; + i64toi32_i32$3 = $16$hi; + i64toi32_i32$3 = $13$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = __wasm_i64_mul($13_1 | 0, i64toi32_i32$3 | 0, $16_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $347_1 = i64toi32_i32$1; + $347$hi = i64toi32_i32$3; + i64toi32_i32$3 = $344$hi; + i64toi32_i32$2 = $344_1; + i64toi32_i32$1 = $347$hi; + i64toi32_i32$5 = $347_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $348$hi = i64toi32_i32$4; + i64toi32_i32$4 = $336$hi; + i64toi32_i32$3 = $336_1; + i64toi32_i32$2 = $348$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $349$hi = i64toi32_i32$0; + i64toi32_i32$0 = $312$hi; + i64toi32_i32$4 = $312_1; + i64toi32_i32$3 = $349$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $15_1 = i64toi32_i32$2; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$5 = $2_1; + $353_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$4 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$0 = 0; + $354$hi = i64toi32_i32$0; + i64toi32_i32$0 = $311$hi; + i64toi32_i32$5 = $311_1; + i64toi32_i32$1 = $354$hi; + i64toi32_i32$4 = $353_1; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $355$hi = i64toi32_i32$2; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$0 = $15_1; + i64toi32_i32$5 = 0; + i64toi32_i32$4 = 0; + $357_1 = (i64toi32_i32$0 | 0) != (i64toi32_i32$4 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$5 | 0) | 0; + i64toi32_i32$0 = 0; + $358$hi = i64toi32_i32$0; + i64toi32_i32$0 = $355$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$2 = $358$hi; + i64toi32_i32$5 = $357_1; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $359$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = $359$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + $2_1 = i64toi32_i32$2; + $2$hi = i64toi32_i32$1; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = -1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $16_1 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $16$hi = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$3 = __wasm_i64_mul($16_1 | 0, i64toi32_i32$0 | 0, $4_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $17_1 = i64toi32_i32$3; + $17$hi = i64toi32_i32$0; + $366_1 = i64toi32_i32$3; + $366$hi = i64toi32_i32$0; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$3 = $13$hi; + i64toi32_i32$3 = __wasm_i64_mul($16_1 | 0, i64toi32_i32$0 | 0, $13_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $18_1 = i64toi32_i32$3; + $18$hi = i64toi32_i32$0; + $370_1 = i64toi32_i32$3; + $370$hi = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + $371_1 = $4_1; + $371$hi = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$4 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $505_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $505_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + $19_1 = $505_1; + $19$hi = i64toi32_i32$3; + i64toi32_i32$3 = $371$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = __wasm_i64_mul($371_1 | 0, i64toi32_i32$3 | 0, $19_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $375_1 = i64toi32_i32$1; + $375$hi = i64toi32_i32$3; + i64toi32_i32$3 = $370$hi; + i64toi32_i32$0 = $370_1; + i64toi32_i32$1 = $375$hi; + i64toi32_i32$5 = $375_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $2_1 = i64toi32_i32$4; + $2$hi = i64toi32_i32$2; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + $507_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$1 | 0) | 0; + $507_1 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + } + $378$hi = i64toi32_i32$0; + i64toi32_i32$0 = $366$hi; + i64toi32_i32$2 = $366_1; + i64toi32_i32$3 = $378$hi; + i64toi32_i32$5 = $507_1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $16_1 = i64toi32_i32$1; + $16$hi = i64toi32_i32$4; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$4 = $16$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$5 = $17_1; + i64toi32_i32$0 = 0; + $383_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + $383$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$5 = $2_1; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$3 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $508_1 = i64toi32_i32$0 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$0 >>> i64toi32_i32$3 | 0; + $508_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $385_1 = $508_1; + $385$hi = i64toi32_i32$4; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$4 = $18$hi; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$5 = $18$hi; + i64toi32_i32$2 = $18_1; + $388_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $388_1; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$3 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $512_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$3 | 0) | 0; + $512_1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + } + $390$hi = i64toi32_i32$4; + i64toi32_i32$4 = $385$hi; + i64toi32_i32$0 = $385_1; + i64toi32_i32$2 = $390$hi; + i64toi32_i32$5 = $512_1; + i64toi32_i32$2 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + $391_1 = i64toi32_i32$0 | i64toi32_i32$5 | 0; + $391$hi = i64toi32_i32$2; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$2 = $19$hi; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$0 = __wasm_i64_mul($13_1 | 0, i64toi32_i32$2 | 0, $19_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $394_1 = i64toi32_i32$0; + $394$hi = i64toi32_i32$2; + i64toi32_i32$2 = $391$hi; + i64toi32_i32$4 = $391_1; + i64toi32_i32$0 = $394$hi; + i64toi32_i32$5 = $394_1; + i64toi32_i32$3 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $395$hi = i64toi32_i32$1; + i64toi32_i32$1 = $383$hi; + i64toi32_i32$2 = $383_1; + i64toi32_i32$4 = $395$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $396_1 = i64toi32_i32$0; + $396$hi = i64toi32_i32$3; + i64toi32_i32$3 = $16$hi; + $397_1 = $16_1; + $397$hi = i64toi32_i32$3; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$5 = $15_1; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + $2_1 = i64toi32_i32$4; + $2$hi = i64toi32_i32$0; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$2 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $513_1 = i64toi32_i32$0 >>> i64toi32_i32$2 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$2 | 0; + $513_1 = (((1 << i64toi32_i32$2 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$2 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$2 | 0) | 0; + } + $15_1 = $513_1; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$3 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$1 | 0, $4_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $17_1 = i64toi32_i32$3; + $17$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = -1; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $18_1 = i64toi32_i32$0 & i64toi32_i32$5 | 0; + $18$hi = i64toi32_i32$3; + i64toi32_i32$3 = $13$hi; + i64toi32_i32$3 = $18$hi; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$0 = __wasm_i64_mul($18_1 | 0, i64toi32_i32$3 | 0, $13_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $410_1 = i64toi32_i32$0; + $410$hi = i64toi32_i32$3; + i64toi32_i32$3 = $17$hi; + i64toi32_i32$1 = $17_1; + i64toi32_i32$0 = $410$hi; + i64toi32_i32$5 = $410_1; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $2_1 = i64toi32_i32$2; + $2$hi = i64toi32_i32$4; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + $514_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$0 | 0) | 0; + $514_1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + } + $19_1 = $514_1; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$3 = __wasm_i64_mul($18_1 | 0, i64toi32_i32$1 | 0, $4_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $417_1 = i64toi32_i32$3; + $417$hi = i64toi32_i32$1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$4 = $19_1; + i64toi32_i32$3 = $417$hi; + i64toi32_i32$5 = $417_1; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $418$hi = i64toi32_i32$2; + i64toi32_i32$2 = $19$hi; + i64toi32_i32$2 = $418$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$4 = $19$hi; + i64toi32_i32$5 = $19_1; + $420_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$4 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$4 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $421_1 = $420_1; + $421$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$5 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$4 = 32; + i64toi32_i32$3 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $515_1 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $515_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $423_1 = $515_1; + $423$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$5 = $17$hi; + i64toi32_i32$4 = $17_1; + $426_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$4 = $426_1; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$3 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 << i64toi32_i32$3 | 0; + $516_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$3 | 0) | 0; + $516_1 = i64toi32_i32$4 << i64toi32_i32$3 | 0; + } + $428$hi = i64toi32_i32$2; + i64toi32_i32$2 = $423$hi; + i64toi32_i32$1 = $423_1; + i64toi32_i32$4 = $428$hi; + i64toi32_i32$5 = $516_1; + i64toi32_i32$4 = i64toi32_i32$2 | i64toi32_i32$4 | 0; + $429_1 = i64toi32_i32$1 | i64toi32_i32$5 | 0; + $429$hi = i64toi32_i32$4; + i64toi32_i32$4 = $15$hi; + i64toi32_i32$4 = $13$hi; + i64toi32_i32$4 = $15$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$4 | 0, $13_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $432_1 = i64toi32_i32$1; + $432$hi = i64toi32_i32$4; + i64toi32_i32$4 = $429$hi; + i64toi32_i32$2 = $429_1; + i64toi32_i32$1 = $432$hi; + i64toi32_i32$5 = $432_1; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $433$hi = i64toi32_i32$0; + i64toi32_i32$0 = $421$hi; + i64toi32_i32$4 = $421_1; + i64toi32_i32$2 = $433$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $434$hi = i64toi32_i32$3; + i64toi32_i32$3 = $397$hi; + i64toi32_i32$0 = $397_1; + i64toi32_i32$4 = $434$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $2_1 = i64toi32_i32$2; + $2$hi = i64toi32_i32$1; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$5 = $16_1; + $438_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$3 = 0; + $439$hi = i64toi32_i32$3; + i64toi32_i32$3 = $396$hi; + i64toi32_i32$5 = $396_1; + i64toi32_i32$1 = $439$hi; + i64toi32_i32$0 = $438_1; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $440_1 = i64toi32_i32$4; + $440$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$5 = -1; + i64toi32_i32$0 = -2; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $17_1 = i64toi32_i32$1; + $17$hi = i64toi32_i32$4; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$0 = $2_1; + $445_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $446$hi = i64toi32_i32$2; + i64toi32_i32$2 = $440$hi; + i64toi32_i32$0 = $440_1; + i64toi32_i32$4 = $446$hi; + i64toi32_i32$3 = $445_1; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = -1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $15_1 = i64toi32_i32$4; + $15$hi = i64toi32_i32$5; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2 | 0; + $2_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $2$hi = i64toi32_i32$2; + $451_1 = $2_1; + $451$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$5 = $1_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 62; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $518_1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + $518_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$0 | 0) | 0; + } + $453_1 = $518_1; + $453$hi = i64toi32_i32$1; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = 2; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + $521_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$0 | 0) | 0; + $521_1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + } + $455$hi = i64toi32_i32$5; + i64toi32_i32$5 = $453$hi; + i64toi32_i32$1 = $453_1; + i64toi32_i32$2 = $455$hi; + i64toi32_i32$3 = $521_1; + i64toi32_i32$2 = i64toi32_i32$5 | i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $4_1 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + $4$hi = i64toi32_i32$1; + i64toi32_i32$1 = $451$hi; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$5 = __wasm_i64_mul($451_1 | 0, i64toi32_i32$1 | 0, $4_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $16_1 = i64toi32_i32$5; + $16$hi = i64toi32_i32$1; + $460_1 = i64toi32_i32$5; + $460$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = 30; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $522_1 = i64toi32_i32$1 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$1 >>> i64toi32_i32$0 | 0; + $522_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0; + } + i64toi32_i32$1 = $522_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2 | 0; + $13_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $13$hi = i64toi32_i32$2; + $464_1 = $13_1; + $464$hi = i64toi32_i32$2; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$5 = $15_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $523_1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + $523_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$0 | 0) | 0; + } + $15_1 = $523_1; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $464$hi; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$5 = __wasm_i64_mul($464_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $468_1 = i64toi32_i32$5; + $468$hi = i64toi32_i32$1; + i64toi32_i32$1 = $460$hi; + i64toi32_i32$2 = $460_1; + i64toi32_i32$5 = $468$hi; + i64toi32_i32$3 = $468_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $18_1 = i64toi32_i32$0; + $18$hi = i64toi32_i32$4; + i64toi32_i32$4 = $16$hi; + i64toi32_i32$4 = $18$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$2 = $16$hi; + i64toi32_i32$3 = $16_1; + $472_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $473_1 = $472_1; + $473$hi = i64toi32_i32$1; + i64toi32_i32$1 = i64toi32_i32$4; + $474_1 = i64toi32_i32$0; + $474$hi = i64toi32_i32$1; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$3 = $17_1; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$5 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $524_1 = i64toi32_i32$1 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$1 >>> i64toi32_i32$5 | 0; + $524_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$5 | 0) | 0; + } + $16_1 = $524_1; + $16$hi = i64toi32_i32$4; + $477_1 = $16_1; + $477$hi = i64toi32_i32$4; + i64toi32_i32$4 = $11$hi; + i64toi32_i32$1 = $11_1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = 30; + i64toi32_i32$5 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $525_1 = i64toi32_i32$4 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$4 >>> i64toi32_i32$5 | 0; + $525_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$5 | 0) | 0; + } + i64toi32_i32$4 = $525_1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = -262145; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$4 & i64toi32_i32$2 | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = 262144; + i64toi32_i32$4 = i64toi32_i32$1 | i64toi32_i32$4 | 0; + $11_1 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + $11$hi = i64toi32_i32$4; + i64toi32_i32$4 = $477$hi; + i64toi32_i32$3 = $11$hi; + i64toi32_i32$3 = __wasm_i64_mul($477_1 | 0, i64toi32_i32$4 | 0, $11_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $483_1 = i64toi32_i32$3; + $483$hi = i64toi32_i32$4; + i64toi32_i32$4 = $474$hi; + i64toi32_i32$1 = $474_1; + i64toi32_i32$3 = $483$hi; + i64toi32_i32$2 = $483_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $19_1 = i64toi32_i32$5; + $19$hi = i64toi32_i32$0; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$2 = $18_1; + $487_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$4 = 0; + $488$hi = i64toi32_i32$4; + i64toi32_i32$4 = $473$hi; + i64toi32_i32$2 = $473_1; + i64toi32_i32$0 = $488$hi; + i64toi32_i32$1 = $487_1; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $489$hi = i64toi32_i32$5; + i64toi32_i32$5 = $11$hi; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$5 = $11$hi; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = __wasm_i64_mul($11_1 | 0, i64toi32_i32$5 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $492_1 = i64toi32_i32$2; + $492$hi = i64toi32_i32$5; + i64toi32_i32$5 = $489$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$2 = $492$hi; + i64toi32_i32$1 = $492_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $493_1 = i64toi32_i32$0; + $493$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$3 = $11$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$4 = $11$hi; + i64toi32_i32$4 = __wasm_i64_mul($2_1 | 0, i64toi32_i32$3 | 0, $11_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $20_1 = i64toi32_i32$4; + $20$hi = i64toi32_i32$3; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$4 = $15$hi; + i64toi32_i32$4 = __wasm_i64_mul($4_1 | 0, i64toi32_i32$3 | 0, $15_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $500_1 = i64toi32_i32$4; + $500$hi = i64toi32_i32$3; + i64toi32_i32$3 = $20$hi; + i64toi32_i32$5 = $20_1; + i64toi32_i32$4 = $500$hi; + i64toi32_i32$1 = $500_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $18_1 = i64toi32_i32$2; + $18$hi = i64toi32_i32$0; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$5 = $20$hi; + i64toi32_i32$1 = $20_1; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$4 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $526_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $526_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $506_1 = $526_1; + $506$hi = i64toi32_i32$0; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$3 = $18_1; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$4 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $527_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $527_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + $508$hi = i64toi32_i32$1; + i64toi32_i32$1 = $506$hi; + i64toi32_i32$0 = $506_1; + i64toi32_i32$3 = $508$hi; + i64toi32_i32$5 = $527_1; + i64toi32_i32$3 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + $509_1 = i64toi32_i32$0 | i64toi32_i32$5 | 0; + $509$hi = i64toi32_i32$3; + i64toi32_i32$3 = $493$hi; + i64toi32_i32$1 = $493_1; + i64toi32_i32$0 = $509$hi; + i64toi32_i32$5 = $509_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $510_1 = i64toi32_i32$4; + $510$hi = i64toi32_i32$2; + i64toi32_i32$2 = $19$hi; + $511_1 = $19_1; + $511$hi = i64toi32_i32$2; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$3 = $18_1; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + $528_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$0 | 0) | 0; + $528_1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + } + $513$hi = i64toi32_i32$1; + i64toi32_i32$1 = $511$hi; + i64toi32_i32$2 = $511_1; + i64toi32_i32$3 = $513$hi; + i64toi32_i32$5 = $528_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $18_1 = i64toi32_i32$0; + $18$hi = i64toi32_i32$4; + i64toi32_i32$4 = $19$hi; + i64toi32_i32$4 = $18$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$2 = $19$hi; + i64toi32_i32$5 = $19_1; + $517_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $518$hi = i64toi32_i32$1; + i64toi32_i32$1 = $510$hi; + i64toi32_i32$5 = $510_1; + i64toi32_i32$4 = $518$hi; + i64toi32_i32$2 = $517_1; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $519_1 = i64toi32_i32$3; + $519$hi = i64toi32_i32$0; + i64toi32_i32$0 = $18$hi; + $520_1 = $18_1; + $520$hi = i64toi32_i32$0; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$5 = $13$hi; + i64toi32_i32$5 = __wasm_i64_mul($16_1 | 0, i64toi32_i32$0 | 0, $13_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $20_1 = i64toi32_i32$5; + $20$hi = i64toi32_i32$0; + i64toi32_i32$0 = $17$hi; + i64toi32_i32$1 = $17_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = -1; + i64toi32_i32$5 = i64toi32_i32$0 & i64toi32_i32$5 | 0; + $17_1 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $17$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$5 = $17$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = __wasm_i64_mul($17_1 | 0, i64toi32_i32$5 | 0, $4_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $529_1 = i64toi32_i32$1; + $529$hi = i64toi32_i32$5; + i64toi32_i32$5 = $20$hi; + i64toi32_i32$0 = $20_1; + i64toi32_i32$1 = $529$hi; + i64toi32_i32$2 = $529_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $19_1 = i64toi32_i32$4; + $19$hi = i64toi32_i32$3; + i64toi32_i32$3 = $20$hi; + i64toi32_i32$3 = $19$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$2 = $20_1; + i64toi32_i32$5 = 0; + $534_1 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + $534$hi = i64toi32_i32$5; + i64toi32_i32$5 = i64toi32_i32$3; + $535_1 = i64toi32_i32$4; + $535$hi = i64toi32_i32$3; + i64toi32_i32$5 = $2$hi; + $536_1 = $2_1; + $536$hi = i64toi32_i32$5; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 2; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + $530_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $530_1 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + } + i64toi32_i32$5 = $530_1; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = -4; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $20_1 = i64toi32_i32$5 & i64toi32_i32$0 | 0; + $20$hi = i64toi32_i32$2; + i64toi32_i32$2 = $536$hi; + i64toi32_i32$5 = $20$hi; + i64toi32_i32$5 = __wasm_i64_mul($536_1 | 0, i64toi32_i32$2 | 0, $20_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $541_1 = i64toi32_i32$5; + $541$hi = i64toi32_i32$2; + i64toi32_i32$2 = $535$hi; + i64toi32_i32$3 = $535_1; + i64toi32_i32$5 = $541$hi; + i64toi32_i32$0 = $541_1; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $21_1 = i64toi32_i32$1; + $21$hi = i64toi32_i32$4; + i64toi32_i32$4 = $19$hi; + i64toi32_i32$4 = $21$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$3 = $19$hi; + i64toi32_i32$0 = $19_1; + $545_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $546$hi = i64toi32_i32$2; + i64toi32_i32$2 = $534$hi; + i64toi32_i32$0 = $534_1; + i64toi32_i32$4 = $546$hi; + i64toi32_i32$3 = $545_1; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $547$hi = i64toi32_i32$1; + i64toi32_i32$1 = $520$hi; + i64toi32_i32$2 = $520_1; + i64toi32_i32$0 = $547$hi; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $19_1 = i64toi32_i32$4; + $19$hi = i64toi32_i32$5; + i64toi32_i32$5 = $18$hi; + i64toi32_i32$5 = $19$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$3 = $18_1; + $551_1 = i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $552$hi = i64toi32_i32$1; + i64toi32_i32$1 = $519$hi; + i64toi32_i32$3 = $519_1; + i64toi32_i32$5 = $552$hi; + i64toi32_i32$2 = $551_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $553_1 = i64toi32_i32$0; + $553$hi = i64toi32_i32$4; + i64toi32_i32$4 = $19$hi; + $554_1 = $19_1; + $554$hi = i64toi32_i32$4; + i64toi32_i32$4 = $20$hi; + i64toi32_i32$4 = $15$hi; + i64toi32_i32$4 = $20$hi; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$3 = __wasm_i64_mul($20_1 | 0, i64toi32_i32$4 | 0, $15_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $18_1 = i64toi32_i32$3; + $18$hi = i64toi32_i32$4; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$4 = $11$hi; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$3 = $11$hi; + i64toi32_i32$3 = __wasm_i64_mul($17_1 | 0, i64toi32_i32$4 | 0, $11_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $561_1 = i64toi32_i32$3; + $561$hi = i64toi32_i32$4; + i64toi32_i32$4 = $18$hi; + i64toi32_i32$1 = $18_1; + i64toi32_i32$3 = $561$hi; + i64toi32_i32$2 = $561_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $15_1 = i64toi32_i32$5; + $15$hi = i64toi32_i32$0; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = __wasm_i64_mul($16_1 | 0, i64toi32_i32$0 | 0, $4_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $566_1 = i64toi32_i32$1; + $566$hi = i64toi32_i32$0; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$1 = $566$hi; + i64toi32_i32$2 = $566_1; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $4_1 = i64toi32_i32$3; + $4$hi = i64toi32_i32$5; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$5 = $13$hi; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$4 = $13$hi; + i64toi32_i32$4 = __wasm_i64_mul($2_1 | 0, i64toi32_i32$5 | 0, $13_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $571_1 = i64toi32_i32$4; + $571$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$4 = $571$hi; + i64toi32_i32$2 = $571_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $2_1 = i64toi32_i32$1; + $2$hi = i64toi32_i32$3; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $531_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + $531_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$4 | 0) | 0; + } + $574_1 = $531_1; + $574$hi = i64toi32_i32$0; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$3 = $15_1; + i64toi32_i32$5 = $18$hi; + i64toi32_i32$2 = $18_1; + $577_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$3 = 0; + $578$hi = i64toi32_i32$3; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$5 = $15_1; + $581_1 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $582$hi = i64toi32_i32$2; + i64toi32_i32$2 = $578$hi; + i64toi32_i32$5 = $577_1; + i64toi32_i32$3 = $582$hi; + i64toi32_i32$0 = $581_1; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $583$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$0 = $4_1; + $586_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $587$hi = i64toi32_i32$2; + i64toi32_i32$2 = $583$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$1 = $587$hi; + i64toi32_i32$5 = $586_1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + $532_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$1 | 0) | 0; + $532_1 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + } + $589$hi = i64toi32_i32$0; + i64toi32_i32$0 = $574$hi; + i64toi32_i32$4 = $574_1; + i64toi32_i32$2 = $589$hi; + i64toi32_i32$5 = $532_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $590_1 = i64toi32_i32$4 | i64toi32_i32$5 | 0; + $590$hi = i64toi32_i32$2; + i64toi32_i32$2 = $554$hi; + i64toi32_i32$0 = $554_1; + i64toi32_i32$4 = $590$hi; + i64toi32_i32$5 = $590_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $15_1 = i64toi32_i32$1; + $15$hi = i64toi32_i32$3; + i64toi32_i32$3 = $19$hi; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$5 = $19_1; + $594_1 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $595$hi = i64toi32_i32$2; + i64toi32_i32$2 = $553$hi; + i64toi32_i32$5 = $553_1; + i64toi32_i32$3 = $595$hi; + i64toi32_i32$0 = $594_1; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $596_1 = i64toi32_i32$4; + $596$hi = i64toi32_i32$1; + i64toi32_i32$1 = $15$hi; + $597_1 = $15_1; + $597$hi = i64toi32_i32$1; + i64toi32_i32$1 = $21$hi; + $598_1 = $21_1; + $598$hi = i64toi32_i32$1; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$5 = $20$hi; + i64toi32_i32$5 = __wasm_i64_mul($16_1 | 0, i64toi32_i32$1 | 0, $20_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $4_1 = i64toi32_i32$5; + $4$hi = i64toi32_i32$1; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$5 = $13$hi; + i64toi32_i32$5 = __wasm_i64_mul($17_1 | 0, i64toi32_i32$1 | 0, $13_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $605_1 = i64toi32_i32$5; + $605$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$5 = $605$hi; + i64toi32_i32$0 = $605_1; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $13_1 = i64toi32_i32$3; + $13$hi = i64toi32_i32$4; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$5 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $533_1 = i64toi32_i32$4 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >>> i64toi32_i32$5 | 0; + $533_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$5 | 0) | 0; + } + $608_1 = $533_1; + $608$hi = i64toi32_i32$2; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$4 = $13_1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $4_1; + $611_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = $611_1; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = 32; + i64toi32_i32$5 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$5 | 0; + $537_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$5 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$5 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$5 | 0) | 0; + $537_1 = i64toi32_i32$0 << i64toi32_i32$5 | 0; + } + $613$hi = i64toi32_i32$2; + i64toi32_i32$2 = $608$hi; + i64toi32_i32$4 = $608_1; + i64toi32_i32$0 = $613$hi; + i64toi32_i32$1 = $537_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $614_1 = i64toi32_i32$4 | i64toi32_i32$1 | 0; + $614$hi = i64toi32_i32$0; + i64toi32_i32$0 = $598$hi; + i64toi32_i32$2 = $598_1; + i64toi32_i32$4 = $614$hi; + i64toi32_i32$1 = $614_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $4_1 = i64toi32_i32$5; + $4$hi = i64toi32_i32$3; + i64toi32_i32$3 = $21$hi; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$2 = $21$hi; + i64toi32_i32$1 = $21_1; + $618_1 = i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$0 = 0; + $619_1 = $618_1; + $619$hi = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$3; + $620_1 = i64toi32_i32$5; + $620$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $538_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $538_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $622$hi = i64toi32_i32$3; + i64toi32_i32$3 = $620$hi; + i64toi32_i32$0 = $620_1; + i64toi32_i32$1 = $622$hi; + i64toi32_i32$2 = $538_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $623$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$5 = $623$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$2 = $4_1; + $625_1 = i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$3 = 0; + $626$hi = i64toi32_i32$3; + i64toi32_i32$3 = $619$hi; + i64toi32_i32$2 = $619_1; + i64toi32_i32$5 = $626$hi; + i64toi32_i32$0 = $625_1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $627$hi = i64toi32_i32$4; + i64toi32_i32$4 = $597$hi; + i64toi32_i32$3 = $597_1; + i64toi32_i32$2 = $627$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $4_1 = i64toi32_i32$5; + $4$hi = i64toi32_i32$1; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$0 = $15_1; + $631_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$4 = 0; + $632$hi = i64toi32_i32$4; + i64toi32_i32$4 = $596$hi; + i64toi32_i32$0 = $596_1; + i64toi32_i32$1 = $632$hi; + i64toi32_i32$3 = $631_1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $2_1 = i64toi32_i32$2; + $2$hi = i64toi32_i32$5; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$0 = 131071; + i64toi32_i32$3 = -1; + if (i64toi32_i32$5 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) { + break label$13 + } + i64toi32_i32$4 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = 49; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + $539_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$1 | 0) | 0; + $539_1 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + } + $637$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$4 = $4_1; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + $1_1 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $1$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$5 = $3_1; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$3 & i64toi32_i32$4 | 0; + $13_1 = i64toi32_i32$5 & i64toi32_i32$0 | 0; + $13$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$5 = $13$hi; + i64toi32_i32$5 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$4 | 0, $13_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $15_1 = i64toi32_i32$5; + $15$hi = i64toi32_i32$4; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = 0; + $646_1 = (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$4 | 0) != (i64toi32_i32$5 | 0) | 0; + i64toi32_i32$3 = 0; + $647$hi = i64toi32_i32$3; + i64toi32_i32$3 = $637$hi; + i64toi32_i32$0 = $539_1; + i64toi32_i32$4 = $647$hi; + i64toi32_i32$5 = $646_1; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$2 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$3 - i64toi32_i32$2 | 0; + $648_1 = i64toi32_i32$1; + $648$hi = i64toi32_i32$2; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$5 = $15_1; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + $17_1 = i64toi32_i32$4; + $17$hi = i64toi32_i32$1; + $651_1 = i64toi32_i32$4; + $651$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $540_1 = i64toi32_i32$1 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$1 >>> i64toi32_i32$0 | 0; + $540_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0; + } + $15_1 = $540_1; + $15$hi = i64toi32_i32$3; + i64toi32_i32$3 = $13$hi; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$2 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$3 | 0, $13_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $18_1 = i64toi32_i32$2; + $18$hi = i64toi32_i32$3; + $657_1 = i64toi32_i32$2; + $657$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + $658_1 = $1_1; + $658$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $542_1 = i64toi32_i32$3 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$3 >>> i64toi32_i32$0 | 0; + $542_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$0 | 0) | 0; + } + $16_1 = $542_1; + $16$hi = i64toi32_i32$2; + i64toi32_i32$2 = $658$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = __wasm_i64_mul($658_1 | 0, i64toi32_i32$2 | 0, $16_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $662_1 = i64toi32_i32$1; + $662$hi = i64toi32_i32$2; + i64toi32_i32$2 = $657$hi; + i64toi32_i32$3 = $657_1; + i64toi32_i32$1 = $662$hi; + i64toi32_i32$5 = $662_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $11_1 = i64toi32_i32$0; + $11$hi = i64toi32_i32$4; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + $543_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$1 | 0) | 0; + $543_1 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + } + $19_1 = $543_1; + $19$hi = i64toi32_i32$3; + i64toi32_i32$3 = $651$hi; + i64toi32_i32$4 = $651_1; + i64toi32_i32$2 = $19$hi; + i64toi32_i32$5 = $19_1; + $667_1 = i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$4 = 0; + $668$hi = i64toi32_i32$4; + i64toi32_i32$4 = $648$hi; + i64toi32_i32$5 = $648_1; + i64toi32_i32$3 = $668$hi; + i64toi32_i32$2 = $667_1; + i64toi32_i32$1 = i64toi32_i32$5 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0; + $669_1 = i64toi32_i32$1; + $669$hi = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + $670_1 = $4_1; + $670$hi = i64toi32_i32$0; + i64toi32_i32$0 = $14$hi; + i64toi32_i32$4 = $14_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$3 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $544_1 = i64toi32_i32$0 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$0 >>> i64toi32_i32$3 | 0; + $544_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$3 | 0) | 0; + } + $672$hi = i64toi32_i32$5; + i64toi32_i32$5 = $670$hi; + i64toi32_i32$4 = $672$hi; + i64toi32_i32$4 = __wasm_i64_mul($670_1 | 0, i64toi32_i32$5 | 0, $544_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $673_1 = i64toi32_i32$4; + $673$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + $674_1 = $3_1; + $674$hi = i64toi32_i32$5; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$3 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $546_1 = i64toi32_i32$5 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$5 >>> i64toi32_i32$3 | 0; + $546_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$3 | 0) | 0; + } + $676$hi = i64toi32_i32$4; + i64toi32_i32$4 = $674$hi; + i64toi32_i32$0 = $676$hi; + i64toi32_i32$0 = __wasm_i64_mul($674_1 | 0, i64toi32_i32$4 | 0, $546_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $677_1 = i64toi32_i32$0; + $677$hi = i64toi32_i32$4; + i64toi32_i32$4 = $673$hi; + i64toi32_i32$5 = $673_1; + i64toi32_i32$0 = $677$hi; + i64toi32_i32$2 = $677_1; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $678$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$5 = $16$hi; + i64toi32_i32$5 = __wasm_i64_mul($2_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $681_1 = i64toi32_i32$5; + $681$hi = i64toi32_i32$1; + i64toi32_i32$1 = $678$hi; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$5 = $681$hi; + i64toi32_i32$2 = $681_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $682$hi = i64toi32_i32$3; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$3 = $10$hi; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$4 = $10$hi; + i64toi32_i32$4 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$3 | 0, $10_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $685_1 = i64toi32_i32$4; + $685$hi = i64toi32_i32$3; + i64toi32_i32$3 = $682$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$4 = $685$hi; + i64toi32_i32$2 = $685_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + $547_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $547_1 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + } + $687_1 = $547_1; + $687$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $689$hi = i64toi32_i32$3; + i64toi32_i32$3 = $13$hi; + i64toi32_i32$3 = $689$hi; + $578_1 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$0 = __wasm_i64_mul($578_1 | 0, i64toi32_i32$3 | 0, $13_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $691_1 = i64toi32_i32$0; + $691$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$3 = $10$hi; + i64toi32_i32$1 = $10_1; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = -1; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + $694_1 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $694$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $694$hi; + i64toi32_i32$1 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$0 | 0, $694_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $695_1 = i64toi32_i32$1; + $695$hi = i64toi32_i32$0; + i64toi32_i32$0 = $691$hi; + i64toi32_i32$3 = $691_1; + i64toi32_i32$1 = $695$hi; + i64toi32_i32$2 = $695_1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $696$hi = i64toi32_i32$5; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$5 = $16$hi; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$3 = $16$hi; + i64toi32_i32$3 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$5 | 0, $16_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $699_1 = i64toi32_i32$3; + $699$hi = i64toi32_i32$5; + i64toi32_i32$5 = $696$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$3 = $699$hi; + i64toi32_i32$2 = $699_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $700_1 = i64toi32_i32$1; + $700$hi = i64toi32_i32$4; + i64toi32_i32$4 = $11$hi; + i64toi32_i32$5 = $11_1; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$3 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $548_1 = i64toi32_i32$4 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$4 >>> i64toi32_i32$3 | 0; + $548_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $702_1 = $548_1; + $702$hi = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$4 = $11_1; + i64toi32_i32$5 = $18$hi; + i64toi32_i32$2 = $18_1; + $705_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = $705_1; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$3 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $549_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$3 | 0) | 0; + $549_1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + } + $707$hi = i64toi32_i32$0; + i64toi32_i32$0 = $702$hi; + i64toi32_i32$4 = $702_1; + i64toi32_i32$2 = $707$hi; + i64toi32_i32$5 = $549_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $708_1 = i64toi32_i32$4 | i64toi32_i32$5 | 0; + $708$hi = i64toi32_i32$2; + i64toi32_i32$2 = $700$hi; + i64toi32_i32$0 = $700_1; + i64toi32_i32$4 = $708$hi; + i64toi32_i32$5 = $708_1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $709$hi = i64toi32_i32$1; + i64toi32_i32$1 = $687$hi; + i64toi32_i32$2 = $687_1; + i64toi32_i32$0 = $709$hi; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $710$hi = i64toi32_i32$3; + i64toi32_i32$3 = $669$hi; + i64toi32_i32$1 = $669_1; + i64toi32_i32$2 = $710$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + $13_1 = i64toi32_i32$0; + $13$hi = i64toi32_i32$4; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$4 = $19$hi; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$3 = $17_1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$5 = $19_1; + i64toi32_i32$2 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0; + $1_1 = i64toi32_i32$2; + $1$hi = i64toi32_i32$0; + $6_1 = $6_1 + -1 | 0; + break label$12; + } + i64toi32_i32$0 = $4$hi; + i64toi32_i32$4 = $4_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 33; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $550_1 = i64toi32_i32$0 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$0 >>> i64toi32_i32$1 | 0; + $550_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$1 | 0) | 0; + } + $16_1 = $550_1; + $16$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = 48; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + $552_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$1 | 0) | 0; + $552_1 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + } + $720_1 = $552_1; + $720$hi = i64toi32_i32$4; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 1; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $555_1 = i64toi32_i32$4 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$4 >>> i64toi32_i32$1 | 0; + $555_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$1 | 0) | 0; + } + $722_1 = $555_1; + $722$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$4 = $2_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 63; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + $556_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$1 | 0) | 0; + $556_1 = i64toi32_i32$4 << i64toi32_i32$1 | 0; + } + $724$hi = i64toi32_i32$3; + i64toi32_i32$3 = $722$hi; + i64toi32_i32$0 = $722_1; + i64toi32_i32$4 = $724$hi; + i64toi32_i32$5 = $556_1; + i64toi32_i32$4 = i64toi32_i32$3 | i64toi32_i32$4 | 0; + $4_1 = i64toi32_i32$0 | i64toi32_i32$5 | 0; + $4$hi = i64toi32_i32$4; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = -1; + i64toi32_i32$0 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $1_1 = i64toi32_i32$3 & i64toi32_i32$5 | 0; + $1$hi = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$4 = $3_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = -1; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $13_1 = i64toi32_i32$4 & i64toi32_i32$5 | 0; + $13$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$4 = $13$hi; + i64toi32_i32$4 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$3 | 0, $13_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $15_1 = i64toi32_i32$4; + $15$hi = i64toi32_i32$3; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = 0; + $734_1 = (i64toi32_i32$0 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$4 | 0) | 0; + i64toi32_i32$0 = 0; + $735$hi = i64toi32_i32$0; + i64toi32_i32$0 = $720$hi; + i64toi32_i32$5 = $720_1; + i64toi32_i32$3 = $735$hi; + i64toi32_i32$4 = $734_1; + i64toi32_i32$1 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0; + i64toi32_i32$2 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 - i64toi32_i32$2 | 0; + $736_1 = i64toi32_i32$1; + $736$hi = i64toi32_i32$2; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$4 = $15_1; + i64toi32_i32$3 = i64toi32_i32$0 - i64toi32_i32$4 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$4 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + $11_1 = i64toi32_i32$3; + $11$hi = i64toi32_i32$1; + $739_1 = i64toi32_i32$3; + $739$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + $740_1 = $1_1; + $740$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = 32; + i64toi32_i32$5 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $557_1 = i64toi32_i32$1 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$5 | 0; + $557_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$5 | 0) | 0; + } + $15_1 = $557_1; + $15$hi = i64toi32_i32$0; + i64toi32_i32$0 = $740$hi; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = __wasm_i64_mul($740_1 | 0, i64toi32_i32$0 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $17_1 = i64toi32_i32$2; + $17$hi = i64toi32_i32$0; + $745_1 = i64toi32_i32$2; + $745$hi = i64toi32_i32$0; + i64toi32_i32$0 = $16$hi; + $746_1 = $16_1; + $746$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$4 = 31; + i64toi32_i32$5 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$5 | 0; + $558_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$5 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$5 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$5 | 0) | 0; + $558_1 = i64toi32_i32$1 << i64toi32_i32$5 | 0; + } + $748$hi = i64toi32_i32$2; + i64toi32_i32$2 = $746$hi; + i64toi32_i32$0 = $746_1; + i64toi32_i32$1 = $748$hi; + i64toi32_i32$4 = $558_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $18_1 = i64toi32_i32$0 | i64toi32_i32$4 | 0; + $18$hi = i64toi32_i32$1; + i64toi32_i32$2 = $18_1; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = -1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $19_1 = i64toi32_i32$2 & i64toi32_i32$4 | 0; + $19$hi = i64toi32_i32$0; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$2 = __wasm_i64_mul($19_1 | 0, i64toi32_i32$0 | 0, $13_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $754_1 = i64toi32_i32$2; + $754$hi = i64toi32_i32$0; + i64toi32_i32$0 = $745$hi; + i64toi32_i32$1 = $745_1; + i64toi32_i32$2 = $754$hi; + i64toi32_i32$4 = $754_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $16_1 = i64toi32_i32$5; + $16$hi = i64toi32_i32$3; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$1 = 0; + i64toi32_i32$4 = 32; + i64toi32_i32$2 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + $559_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$2 | 0) | 0; + $559_1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + } + $20_1 = $559_1; + $20$hi = i64toi32_i32$1; + i64toi32_i32$1 = $739$hi; + i64toi32_i32$3 = $739_1; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$4 = $20_1; + $759_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0 | 0) | 0; + i64toi32_i32$3 = 0; + $760$hi = i64toi32_i32$3; + i64toi32_i32$3 = $736$hi; + i64toi32_i32$4 = $736_1; + i64toi32_i32$1 = $760$hi; + i64toi32_i32$0 = $759_1; + i64toi32_i32$2 = i64toi32_i32$4 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$3 - i64toi32_i32$5 | 0; + $761_1 = i64toi32_i32$2; + $761$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + $762_1 = $4_1; + $762$hi = i64toi32_i32$5; + i64toi32_i32$5 = $14$hi; + i64toi32_i32$3 = $14_1; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $560_1 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + $560_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$1 | 0) | 0; + } + $764$hi = i64toi32_i32$4; + i64toi32_i32$4 = $762$hi; + i64toi32_i32$3 = $764$hi; + i64toi32_i32$3 = __wasm_i64_mul($762_1 | 0, i64toi32_i32$4 | 0, $560_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $765_1 = i64toi32_i32$3; + $765$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + $766_1 = $3_1; + $766$hi = i64toi32_i32$4; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$5 = $2_1; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 33; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $562_1 = i64toi32_i32$4 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$4 >>> i64toi32_i32$1 | 0; + $562_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + $768$hi = i64toi32_i32$3; + i64toi32_i32$3 = $766$hi; + i64toi32_i32$5 = $768$hi; + i64toi32_i32$5 = __wasm_i64_mul($766_1 | 0, i64toi32_i32$3 | 0, $562_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $769_1 = i64toi32_i32$5; + $769$hi = i64toi32_i32$3; + i64toi32_i32$3 = $765$hi; + i64toi32_i32$4 = $765_1; + i64toi32_i32$5 = $769$hi; + i64toi32_i32$0 = $769_1; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $770_1 = i64toi32_i32$1; + $770$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $563_1 = i64toi32_i32$2 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$2 >>> i64toi32_i32$5 | 0; + $563_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$5 | 0) | 0; + } + $2_1 = $563_1; + $2$hi = i64toi32_i32$4; + i64toi32_i32$4 = $15$hi; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$3 = __wasm_i64_mul($2_1 | 0, i64toi32_i32$4 | 0, $15_1 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $775_1 = i64toi32_i32$3; + $775$hi = i64toi32_i32$4; + i64toi32_i32$4 = $770$hi; + i64toi32_i32$2 = $770_1; + i64toi32_i32$3 = $775$hi; + i64toi32_i32$0 = $775_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $776$hi = i64toi32_i32$1; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$1 = $10$hi; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$2 = $10$hi; + i64toi32_i32$2 = __wasm_i64_mul($18_1 | 0, i64toi32_i32$1 | 0, $10_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $779_1 = i64toi32_i32$2; + $779$hi = i64toi32_i32$1; + i64toi32_i32$1 = $776$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$2 = $779$hi; + i64toi32_i32$0 = $779_1; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$2 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + $564_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0; + $564_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0; + } + $781_1 = $564_1; + $781$hi = i64toi32_i32$4; + i64toi32_i32$4 = $19$hi; + i64toi32_i32$4 = $15$hi; + i64toi32_i32$4 = $19$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$1 = __wasm_i64_mul($19_1 | 0, i64toi32_i32$4 | 0, $15_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $784_1 = i64toi32_i32$1; + $784$hi = i64toi32_i32$4; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$5 = $2_1; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = -1; + i64toi32_i32$1 = i64toi32_i32$4 & i64toi32_i32$1 | 0; + $786$hi = i64toi32_i32$1; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $786$hi; + $579_1 = i64toi32_i32$5 & i64toi32_i32$0 | 0; + i64toi32_i32$5 = $13$hi; + i64toi32_i32$5 = __wasm_i64_mul($579_1 | 0, i64toi32_i32$1 | 0, $13_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $788_1 = i64toi32_i32$5; + $788$hi = i64toi32_i32$1; + i64toi32_i32$1 = $784$hi; + i64toi32_i32$4 = $784_1; + i64toi32_i32$5 = $788$hi; + i64toi32_i32$0 = $788_1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $789$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$3 = $10$hi; + i64toi32_i32$1 = $10_1; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$3 & i64toi32_i32$4 | 0; + $792_1 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $792$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$1 = $792$hi; + i64toi32_i32$1 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$4 | 0, $792_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $793_1 = i64toi32_i32$1; + $793$hi = i64toi32_i32$4; + i64toi32_i32$4 = $789$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$1 = $793$hi; + i64toi32_i32$0 = $793_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $794_1 = i64toi32_i32$5; + $794$hi = i64toi32_i32$2; + i64toi32_i32$2 = $16$hi; + i64toi32_i32$4 = $16_1; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $565_1 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + $565_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$1 | 0) | 0; + } + $796_1 = $565_1; + $796$hi = i64toi32_i32$3; + i64toi32_i32$3 = $16$hi; + i64toi32_i32$3 = $17$hi; + i64toi32_i32$3 = $16$hi; + i64toi32_i32$2 = $16_1; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$0 = $17_1; + $799_1 = i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$4 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $799_1; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = 32; + i64toi32_i32$1 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + $567_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$1 | 0) | 0; + $567_1 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + } + $801$hi = i64toi32_i32$3; + i64toi32_i32$3 = $796$hi; + i64toi32_i32$2 = $796_1; + i64toi32_i32$0 = $801$hi; + i64toi32_i32$4 = $567_1; + i64toi32_i32$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + $802_1 = i64toi32_i32$2 | i64toi32_i32$4 | 0; + $802$hi = i64toi32_i32$0; + i64toi32_i32$0 = $794$hi; + i64toi32_i32$3 = $794_1; + i64toi32_i32$2 = $802$hi; + i64toi32_i32$4 = $802_1; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $803$hi = i64toi32_i32$5; + i64toi32_i32$5 = $781$hi; + i64toi32_i32$0 = $781_1; + i64toi32_i32$3 = $803$hi; + i64toi32_i32$4 = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $804$hi = i64toi32_i32$1; + i64toi32_i32$1 = $761$hi; + i64toi32_i32$5 = $761_1; + i64toi32_i32$0 = $804$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$2 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0; + i64toi32_i32$2 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$1 - i64toi32_i32$2 | 0; + $13_1 = i64toi32_i32$3; + $13$hi = i64toi32_i32$2; + i64toi32_i32$2 = $11$hi; + i64toi32_i32$2 = $20$hi; + i64toi32_i32$2 = $11$hi; + i64toi32_i32$1 = $11_1; + i64toi32_i32$5 = $20$hi; + i64toi32_i32$4 = $20_1; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$4 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + $1_1 = i64toi32_i32$0; + $1$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2$hi; + $2$hi = i64toi32_i32$3; + } + label$14 : { + if (($6_1 | 0) < (16384 | 0)) { + break label$14 + } + i64toi32_i32$3 = $12$hi; + i64toi32_i32$2 = $12_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$4 = 0; + i64toi32_i32$1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + $12_1 = i64toi32_i32$2 | i64toi32_i32$4 | 0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$1; + break label$2; + } + $7_1 = $6_1 + 16383 | 0; + label$15 : { + if (($6_1 | 0) > (-16383 | 0)) { + break label$15 + } + label$16 : { + if ($7_1) { + break label$16 + } + i64toi32_i32$1 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$2 = 65535; + i64toi32_i32$4 = -1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $820_1 = i64toi32_i32$3 & i64toi32_i32$4 | 0; + $820$hi = i64toi32_i32$2; + i64toi32_i32$2 = $4$hi; + $821_1 = $4_1; + $821$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$1 = $1_1; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = 1; + i64toi32_i32$5 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$1 << i64toi32_i32$5 | 0; + $568_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$5 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$5 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$5 | 0) | 0; + $568_1 = i64toi32_i32$1 << i64toi32_i32$5 | 0; + } + $823$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$3 = $823$hi; + i64toi32_i32$2 = $568_1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$4 = $3_1; + $825_1 = i64toi32_i32$3 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$4 >>> 0 | 0) | 0; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$4 = $13_1; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = 1; + i64toi32_i32$5 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$4 << i64toi32_i32$5 | 0; + $569_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$5 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$5 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$5 | 0) | 0; + $569_1 = i64toi32_i32$4 << i64toi32_i32$5 | 0; + } + $827_1 = $569_1; + $827$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$4 = 0; + i64toi32_i32$1 = 63; + i64toi32_i32$5 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $570_1 = i64toi32_i32$3 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$3 >>> i64toi32_i32$5 | 0; + $570_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$5 | 0) | 0; + } + $829$hi = i64toi32_i32$4; + i64toi32_i32$4 = $827$hi; + i64toi32_i32$3 = $827_1; + i64toi32_i32$2 = $829$hi; + i64toi32_i32$1 = $570_1; + i64toi32_i32$2 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + $1_1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + $1$hi = i64toi32_i32$2; + i64toi32_i32$2 = $14$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$4 = $1_1; + i64toi32_i32$3 = $14$hi; + i64toi32_i32$1 = $14_1; + $833_1 = i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$4 >>> 0 > i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$1 = $1_1; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = $14_1; + $837_1 = (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) | 0 ? $825_1 : $833_1; + i64toi32_i32$1 = 0; + $838$hi = i64toi32_i32$1; + i64toi32_i32$1 = $821$hi; + i64toi32_i32$3 = $821_1; + i64toi32_i32$4 = $838$hi; + i64toi32_i32$2 = $837_1; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $1_1 = i64toi32_i32$5; + $1$hi = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$2 = $4_1; + $842_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $843$hi = i64toi32_i32$1; + i64toi32_i32$1 = $820$hi; + i64toi32_i32$2 = $820_1; + i64toi32_i32$0 = $843$hi; + i64toi32_i32$3 = $842_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $3_1 = i64toi32_i32$4; + $3$hi = i64toi32_i32$5; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = 65536; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2 | 0; + if (!(i64toi32_i32$1 & i64toi32_i32$3 | 0 | i64toi32_i32$2 | 0)) { + break label$16 + } + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$5 = $3_1; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$3 = $12_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $12_1 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + $12$hi = i64toi32_i32$1; + break label$2; + } + i64toi32_i32$1 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$1; + break label$2; + } + i64toi32_i32$1 = 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = 48; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + $572_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$0 | 0) | 0; + $572_1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + } + $853$hi = i64toi32_i32$5; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$2 = 65535; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2 | 0; + $855_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $855$hi = i64toi32_i32$2; + i64toi32_i32$2 = $853$hi; + i64toi32_i32$5 = $572_1; + i64toi32_i32$1 = $855$hi; + i64toi32_i32$3 = $855_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $856_1 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + $856$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + $857_1 = $4_1; + $857$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + $573_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$0 | 0) | 0; + $573_1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + } + $859$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$5 = $859$hi; + i64toi32_i32$1 = $573_1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$3 = $3_1; + $861_1 = i64toi32_i32$5 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$3 = $13_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$0 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + $575_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$0 | 0) | 0; + $575_1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + } + $863_1 = $575_1; + $863$hi = i64toi32_i32$5; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$1 = $1_1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = 63; + i64toi32_i32$0 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $576_1 = i64toi32_i32$5 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$5 >>> i64toi32_i32$0 | 0; + $576_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$0 | 0) | 0; + } + $865$hi = i64toi32_i32$3; + i64toi32_i32$3 = $863$hi; + i64toi32_i32$5 = $863_1; + i64toi32_i32$1 = $865$hi; + i64toi32_i32$2 = $576_1; + i64toi32_i32$1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + $1_1 = i64toi32_i32$5 | i64toi32_i32$2 | 0; + $1$hi = i64toi32_i32$1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$5 = $14$hi; + i64toi32_i32$2 = $14_1; + $869_1 = i64toi32_i32$1 >>> 0 > i64toi32_i32$5 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$3 >>> 0 >= i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$3 = i64toi32_i32$5; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$2 = $1_1; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $14_1; + $873_1 = (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0 ? $861_1 : $869_1; + i64toi32_i32$2 = 0; + $874$hi = i64toi32_i32$2; + i64toi32_i32$2 = $857$hi; + i64toi32_i32$5 = $857_1; + i64toi32_i32$3 = $874$hi; + i64toi32_i32$1 = $873_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $1_1 = i64toi32_i32$0; + $1$hi = i64toi32_i32$4; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$1 = $4_1; + $878_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $879$hi = i64toi32_i32$2; + i64toi32_i32$2 = $856$hi; + i64toi32_i32$1 = $856_1; + i64toi32_i32$4 = $879$hi; + i64toi32_i32$5 = $878_1; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $880$hi = i64toi32_i32$0; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$0 = $880$hi; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$5 = $12_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $12_1 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + $12$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $1$hi; + i64toi32_i32$2 = $0_1; + HEAP32[i64toi32_i32$2 >> 2] = $1_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $12$hi; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = $12_1; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$1; + global$0 = $5_1 + 192 | 0; + return; + } + i64toi32_i32$2 = $0_1; + i64toi32_i32$1 = 0; + HEAP32[i64toi32_i32$2 >> 2] = 0; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$5 = $2_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$4 = !(i64toi32_i32$0 | i64toi32_i32$5 | 0 | i64toi32_i32$2 | 0); + i64toi32_i32$2 = 2147450880; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$5 = i64toi32_i32$4 ? 0 : $12_1; + i64toi32_i32$1 = i64toi32_i32$4 ? i64toi32_i32$2 : i64toi32_i32$0; + $896_1 = i64toi32_i32$5; + i64toi32_i32$5 = $0_1; + HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] = $896_1; + HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] = i64toi32_i32$1; + global$0 = $5_1 + 192 | 0; + } + + function $3266($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = +$1_1; + var i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5_1 = 0, $5$hi = 0, $2_1 = 0, $4_1 = 0, $4$hi = 0, $6_1 = 0, $6$hi = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $30_1 = 0, $3_1 = 0, $31_1 = 0, $32_1 = 0, $33_1 = 0, $33$hi = 0, $37_1 = 0, $50_1 = 0, $50$hi = 0, $54$hi = 0, $63_1 = 0, $63$hi = 0, $64_1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + wasm2js_scratch_store_f64(+$1_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $4_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $4$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $5_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $5$hi = i64toi32_i32$1; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = -1048576; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = 2145386495; + i64toi32_i32$3 = -1; + if (i64toi32_i32$5 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$4 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0) { + break label$2 + } + i64toi32_i32$1 = $5$hi; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = 60; + i64toi32_i32$2 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + $26_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$2 | 0) | 0; + $26_1 = i64toi32_i32$3 << i64toi32_i32$2 | 0; + } + $6_1 = $26_1; + $6$hi = i64toi32_i32$5; + i64toi32_i32$5 = $5$hi; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 4; + i64toi32_i32$2 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $27_1 = i64toi32_i32$5 >>> i64toi32_i32$2 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$5 >>> i64toi32_i32$2 | 0; + $27_1 = (((1 << i64toi32_i32$2 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$2 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$2 | 0) | 0; + } + i64toi32_i32$5 = $27_1; + i64toi32_i32$1 = 1006632960; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $5_1 = i64toi32_i32$2; + $5$hi = i64toi32_i32$4; + break label$1; + } + label$3 : { + i64toi32_i32$4 = $5$hi; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = 2146435072; + i64toi32_i32$0 = 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0) { + break label$3 + } + i64toi32_i32$3 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = 60; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + $28_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$1 | 0) | 0; + $28_1 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + } + $6_1 = $28_1; + $6$hi = i64toi32_i32$4; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 4; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $29_1 = i64toi32_i32$4 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$4 >>> i64toi32_i32$1 | 0; + $29_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$1 | 0) | 0; + } + i64toi32_i32$4 = $29_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $5_1 = i64toi32_i32$4 | i64toi32_i32$5 | 0; + $5$hi = i64toi32_i32$3; + break label$1; + } + label$4 : { + i64toi32_i32$3 = $5$hi; + if (!!($5_1 | i64toi32_i32$3 | 0)) { + break label$4 + } + i64toi32_i32$3 = 0; + $6_1 = 0; + $6$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $5_1 = 0; + $5$hi = i64toi32_i32$3; + break label$1; + } + $32_1 = $2_1; + i64toi32_i32$3 = $5$hi; + $33_1 = $5_1; + $33$hi = i64toi32_i32$3; + i64toi32_i32$3 = $4$hi; + $37_1 = Math_clz32($4_1) + 32 | 0; + i64toi32_i32$3 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$4 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $30_1 = i64toi32_i32$3 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$3 >>> i64toi32_i32$1 | 0; + $30_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$1 | 0) | 0; + } + i64toi32_i32$4 = $5$hi; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = 1; + i64toi32_i32$5 = 0; + $3_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0 ? $37_1 : Math_clz32($30_1); + i64toi32_i32$3 = $33$hi; + i64toi32_i32$4 = 0; + $3262($32_1 | 0, $33_1 | 0, i64toi32_i32$3 | 0, 0 | 0, i64toi32_i32$4 | 0, $3_1 + 49 | 0 | 0); + i64toi32_i32$5 = $2_1 + 8 | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$4 = 65536; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = i64toi32_i32$3 ^ i64toi32_i32$4 | 0; + $50_1 = i64toi32_i32$5 ^ i64toi32_i32$0 | 0; + $50$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + i64toi32_i32$3 = 15372 - $3_1 | 0; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = 48; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + $31_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$1 | 0) | 0; + $31_1 = i64toi32_i32$3 << i64toi32_i32$1 | 0; + } + $54$hi = i64toi32_i32$5; + i64toi32_i32$5 = $50$hi; + i64toi32_i32$4 = $50_1; + i64toi32_i32$3 = $54$hi; + i64toi32_i32$0 = $31_1; + i64toi32_i32$3 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + $5_1 = i64toi32_i32$4 | i64toi32_i32$0 | 0; + $5$hi = i64toi32_i32$3; + i64toi32_i32$5 = $2_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $6_1 = i64toi32_i32$3; + $6$hi = i64toi32_i32$4; + } + i64toi32_i32$4 = $6$hi; + i64toi32_i32$3 = $0_1; + HEAP32[i64toi32_i32$3 >> 2] = $6_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$4 = $5$hi; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$5 = $4_1; + i64toi32_i32$3 = -2147483648; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = i64toi32_i32$4 & i64toi32_i32$3 | 0; + $63_1 = i64toi32_i32$5 & i64toi32_i32$0 | 0; + $63$hi = i64toi32_i32$3; + i64toi32_i32$3 = $5$hi; + i64toi32_i32$4 = $5_1; + i64toi32_i32$5 = $63$hi; + i64toi32_i32$0 = $63_1; + i64toi32_i32$5 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + $64_1 = i64toi32_i32$4 | i64toi32_i32$0 | 0; + i64toi32_i32$4 = $0_1; + HEAP32[(i64toi32_i32$4 + 8 | 0) >> 2] = $64_1; + HEAP32[(i64toi32_i32$4 + 12 | 0) >> 2] = i64toi32_i32$5; + global$0 = $2_1 + 16 | 0; + } + + function $3267($0_1, $0$hi, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $3_1 = 0, i64toi32_i32$4 = 0, $2_1 = 0, $4_1 = 0, $16_1 = 0, $17_1 = 0, $18_1 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $24_1 = 0, $24$hi = 0, $29_1 = 0, $31_1 = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + $3_1 = 0; + label$1 : { + i64toi32_i32$0 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 48; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $16_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $16_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $4_1 = $16_1 & 32767 | 0; + if ($4_1 >>> 0 < 16383 >>> 0) { + break label$1 + } + label$2 : { + if (($4_1 + -16383 | 0) >>> 0 < 32 >>> 0) { + break label$2 + } + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$2 | 0)) { + $17_1 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$3 >>> 0) { + $18_1 = 0 + } else { + $18_1 = 1 + } + $19_1 = $18_1; + } else { + $19_1 = 0 + } + $17_1 = $19_1; + } + $3_1 = $17_1 ? 2147483647 : -2147483648; + break label$1; + } + i64toi32_i32$0 = $0$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $1_1; + i64toi32_i32$1 = 65535; + i64toi32_i32$2 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = 65536; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + $24_1 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $24$hi = i64toi32_i32$3; + i64toi32_i32$3 = $0$hi; + i64toi32_i32$0 = $24$hi; + $3272($2_1 | 0, $0_1 | 0, i64toi32_i32$3 | 0, $24_1 | 0, i64toi32_i32$0 | 0, 16495 - $4_1 | 0 | 0); + $3_1 = HEAP32[$2_1 >> 2] | 0; + $29_1 = $3_1; + $31_1 = 0 - $3_1 | 0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $1_1; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = -1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$3 | 0)) { + $20_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$2 >>> 0) { + $21_1 = 0 + } else { + $21_1 = 1 + } + $22_1 = $21_1; + } else { + $22_1 = 0 + } + $20_1 = $22_1; + } + $3_1 = $20_1 ? $29_1 : $31_1; + } + global$0 = $2_1 + 16 | 0; + return $3_1 | 0; + } + + function $3268($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, $4_1 = 0, $4$hi = 0, $2_1 = 0, $25_1 = 0, $26_1 = 0, $3_1 = 0, $27_1 = 0, $11_1 = 0, $12_1 = 0, $12$hi = 0, $16$hi = 0, $19_1 = 0, $19$hi = 0, $28_1 = 0, $28$hi = 0, $32$hi = 0, $33$hi = 0, $35_1 = 0, $35$hi = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + i64toi32_i32$0 = $1$hi; + if (!!($1_1 | i64toi32_i32$0 | 0)) { + break label$2 + } + i64toi32_i32$0 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $4_1 = 0; + $4$hi = i64toi32_i32$0; + break label$1; + } + $11_1 = $2_1; + i64toi32_i32$0 = $1$hi; + $12_1 = $1_1; + $12$hi = i64toi32_i32$0; + i64toi32_i32$2 = $1_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $25_1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + $25_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $4_1 = $25_1; + $4$hi = i64toi32_i32$1; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$0 = $12_1; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $16$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$5 = $16$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = i64toi32_i32$5 ^ i64toi32_i32$0 | 0; + $4_1 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; + $4$hi = i64toi32_i32$0; + $19_1 = $4_1; + $19$hi = i64toi32_i32$0; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = Math_clz32(i64toi32_i32$0); + i64toi32_i32$5 = 0; + if ((i64toi32_i32$3 | 0) == (32 | 0)) { + $26_1 = Math_clz32(i64toi32_i32$1) + 32 | 0 + } else { + $26_1 = i64toi32_i32$3 + } + $3_1 = $26_1; + i64toi32_i32$5 = $19$hi; + i64toi32_i32$0 = 0; + $3262($11_1 | 0, $19_1 | 0, i64toi32_i32$5 | 0, 0 | 0, i64toi32_i32$0 | 0, $3_1 + 49 | 0 | 0); + i64toi32_i32$1 = $2_1 + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = 65536; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$5 ^ i64toi32_i32$0 | 0; + $28_1 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; + $28$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 16446 - $3_1 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 48; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$5 << i64toi32_i32$2 | 0; + $27_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$2 | 0) | 0; + $27_1 = i64toi32_i32$5 << i64toi32_i32$2 | 0; + } + $32$hi = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$0 = $28_1; + i64toi32_i32$5 = $32$hi; + i64toi32_i32$3 = $27_1; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $33$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$1 = $1_1; + i64toi32_i32$0 = -2147483648; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $35_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $35$hi = i64toi32_i32$0; + i64toi32_i32$0 = $33$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$3 = $35_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $4_1 = i64toi32_i32$4 | i64toi32_i32$3 | 0; + $4$hi = i64toi32_i32$1; + i64toi32_i32$0 = $2_1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $1_1 = i64toi32_i32$1; + $1$hi = i64toi32_i32$4; + } + i64toi32_i32$4 = $1$hi; + i64toi32_i32$1 = $0_1; + HEAP32[i64toi32_i32$1 >> 2] = $1_1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$4 = $4$hi; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $4_1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$4; + global$0 = $2_1 + 16 | 0; + } + + function $3269($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $3_1 = 0, i64toi32_i32$4 = 0, $2_1 = 0, $4_1 = 0, $4$hi = 0, $5_1 = 0, $5$hi = 0, $21_1 = 0, $22_1 = 0, $19_1 = 0, $27_1 = 0, $27$hi = 0, $31$hi = 0, $32_1 = 0, $32$hi = 0, $36$hi = 0; + $2_1 = global$0 - 16 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + if ($1_1) { + break label$2 + } + i64toi32_i32$0 = 0; + $4_1 = 0; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $5_1 = 0; + $5$hi = i64toi32_i32$0; + break label$1; + } + $3_1 = $1_1 >> 31 | 0; + $3_1 = ($1_1 + $3_1 | 0) ^ $3_1 | 0; + i64toi32_i32$0 = 0; + $19_1 = $3_1; + $3_1 = Math_clz32($3_1); + i64toi32_i32$1 = 0; + $3262($2_1 | 0, $19_1 | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$1 | 0, $3_1 + 81 | 0 | 0); + i64toi32_i32$2 = $2_1 + 8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = 65536; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0; + $27_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + $27$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 16414 - $3_1 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 48; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $21_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $21_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $31$hi = i64toi32_i32$2; + i64toi32_i32$2 = $27$hi; + i64toi32_i32$1 = $27_1; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $32_1 = i64toi32_i32$4; + $32$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = $1_1 & -2147483648 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + $22_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$0 | 0) | 0; + $22_1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + } + $36$hi = i64toi32_i32$1; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$5 = $32_1; + i64toi32_i32$2 = $36$hi; + i64toi32_i32$3 = $22_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $5_1 = i64toi32_i32$5 | i64toi32_i32$3 | 0; + $5$hi = i64toi32_i32$2; + i64toi32_i32$1 = $2_1; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $4_1 = i64toi32_i32$2; + $4$hi = i64toi32_i32$5; + } + i64toi32_i32$5 = $4$hi; + i64toi32_i32$2 = $0_1; + HEAP32[i64toi32_i32$2 >> 2] = $4_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = $5$hi; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = $5_1; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$5; + global$0 = $2_1 + 16 | 0; + } + + function $3270() { + return 0 | 0; + } + + function $3271() { + return 0 | 0; + } + + function $3272($0_1, $1_1, $1$hi, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $4$hi = 0, $18_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $11$hi = 0, $18$hi = 0, $19_1 = 0, $19$hi = 0, $4_1 = 0, $24$hi = 0; + label$1 : { + label$2 : { + if (!($3_1 & 64 | 0)) { + break label$2 + } + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = 0; + $11$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$3 = $3_1 + -64 | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $18_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $18_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $18_1; + $1$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $2_1 = 0; + $2$hi = i64toi32_i32$1; + break label$1; + } + if (!$3_1) { + break label$1 + } + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = 0; + $18$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$3 = 64 - $3_1 | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $20_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $20_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $19_1 = $20_1; + $19$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = 0; + $4_1 = $3_1; + $4$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$1 = $1_1; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $21_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $21_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + $24$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$2 = $19_1; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $1_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $1$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $22_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $22_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $22_1; + $2$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $1$hi; + i64toi32_i32$0 = $0_1; + HEAP32[i64toi32_i32$0 >> 2] = $1_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $2_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$2; + } + + function $3273($0_1, $1_1, $1$hi, $2_1, $2$hi, $3_1, $3$hi, $4_1, $4$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $5_1 = 0, $14$hi = 0, $14_1 = 0, $12$hi = 0, $11$hi = 0, $10$hi = 0, $15$hi = 0, $12_1 = 0, $6_1 = 0, $15_1 = 0, $11_1 = 0, $10_1 = 0, $18$hi = 0, $8_1 = 0, $18_1 = 0, $13$hi = 0, $16$hi = 0, $17$hi = 0, $7_1 = 0, $13_1 = 0, $16_1 = 0, $17_1 = 0, $19$hi = 0, $22$hi = 0, $19_1 = 0, $9_1 = 0, $20$hi = 0, $21$hi = 0, $23$hi = 0, $24$hi = 0, $228_1 = 0, $229_1 = 0, $230_1 = 0, $231_1 = 0, $232_1 = 0, $233_1 = 0, $234_1 = 0, $235_1 = 0, $237_1 = 0, $238_1 = 0, $239_1 = 0, $240_1 = 0, $241_1 = 0, $242_1 = 0, $244_1 = 0, $246_1 = 0, $248_1 = 0, $249_1 = 0, $251_1 = 0, $252_1 = 0, $254_1 = 0, $256_1 = 0, $20_1 = 0, $257_1 = 0, $258_1 = 0, $21_1 = 0, $22_1 = 0, $259_1 = 0, $24_1 = 0, $260_1 = 0, $261_1 = 0, $262_1 = 0, $263_1 = 0, $265_1 = 0, $266_1 = 0, $267_1 = 0, $268_1 = 0, $270_1 = 0, $271_1 = 0, $272_1 = 0, $273_1 = 0, $274_1 = 0, $275_1 = 0, $276_1 = 0, $278_1 = 0, $29_1 = 0, $29$hi = 0, $31$hi = 0, $34_1 = 0, $34$hi = 0, $36$hi = 0, $39_1 = 0, $39$hi = 0, $43$hi = 0, $70_1 = 0, $74_1 = 0, $81_1 = 0, $85_1 = 0, $94_1 = 0, $94$hi = 0, $106_1 = 0, $106$hi = 0, $128_1 = 0, $129_1 = 0, $129$hi = 0, $130_1 = 0, $130$hi = 0, $137$hi = 0, $140$hi = 0, $150_1 = 0, $150$hi = 0, $155$hi = 0, $162_1 = 0, $163_1 = 0, $163$hi = 0, $164_1 = 0, $164$hi = 0, $171$hi = 0, $174$hi = 0, $186_1 = 0, $186$hi = 0, $191$hi = 0, $194_1 = 0, $194$hi = 0, $196$hi = 0, $207_1 = 0, $207$hi = 0, $215_1 = 0, $215$hi = 0, $222_1 = 0, $222$hi = 0, $227_1 = 0, $227$hi = 0, $236_1 = 0, $236$hi = 0, $243_1 = 0, $243$hi = 0, $245_1 = 0, $245$hi = 0, $247_1 = 0, $247$hi = 0, $250_1 = 0, $252$hi = 0, $253_1 = 0, $253$hi = 0, $255_1 = 0, $255$hi = 0, $264_1 = 0, $264$hi = 0, $269_1 = 0, $269$hi = 0, $277_1 = 0, $277$hi = 0, $280$hi = 0, $23_1 = 0, $296_1 = 0, $296$hi = 0, $300_1 = 0, $301_1 = 0, $301$hi = 0, $305_1 = 0, $305$hi = 0, $309_1 = 0, $310$hi = 0, $311_1 = 0, $311$hi = 0, $312_1 = 0, $312$hi = 0, $315_1 = 0, $316$hi = 0, $319_1 = 0, $320$hi = 0, $321$hi = 0, $325_1 = 0, $326$hi = 0, $327$hi = 0, $330_1 = 0, $330$hi = 0, $331_1 = 0, $331$hi = 0, $338_1 = 0, $338$hi = 0, $344_1 = 0, $344$hi = 0, $346$hi = 0, $347_1 = 0, $347$hi = 0, $348_1 = 0, $348$hi = 0, $349_1 = 0, $349$hi = 0, $351$hi = 0, $355_1 = 0, $356$hi = 0, $357_1 = 0, $357$hi = 0, $358_1 = 0, $358$hi = 0, $360_1 = 0, $360$hi = 0, $363_1 = 0, $364$hi = 0, $367_1 = 0, $368$hi = 0, $369$hi = 0, $372_1 = 0, $373$hi = 0, $375$hi = 0, $376_1 = 0, $376$hi = 0, $380_1 = 0, $381$hi = 0, $382_1 = 0, $382$hi = 0, $383_1 = 0, $383$hi = 0, $386_1 = 0, $387$hi = 0, $390_1 = 0, $391$hi = 0, $392$hi = 0, $396_1 = 0, $397$hi = 0, $407_1 = 0, $407$hi = 0, $409$hi = 0, $412_1 = 0, $412$hi = 0, $414$hi = 0, $418_1 = 0, $418$hi = 0, $420$hi = 0, $454_1 = 0, $454$hi = 0, $456_1 = 0, $456$hi = 0, $457_1 = 0, $457$hi = 0, $459_1 = 0, $459$hi = 0, $463_1 = 0, $463$hi = 0, $465_1 = 0, $466$hi = 0, $471_1 = 0, $471$hi = 0, $475_1 = 0, $475$hi = 0, $484$hi = 0, $486_1 = 0, $486$hi = 0, $492_1 = 0, $498_1 = 0, $498$hi = 0, $503_1 = 0, $504$hi = 0, $508_1 = 0, $508$hi = 0, $512_1 = 0, $512$hi = 0, $515_1 = 0, $515$hi = 0, $519_1 = 0, $520$hi = 0; + $5_1 = global$0 - 96 | 0; + global$0 = $5_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $228_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $228_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $29_1 = $228_1; + $29$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $229_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $229_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $31$hi = i64toi32_i32$2; + i64toi32_i32$2 = $29$hi; + i64toi32_i32$1 = $29_1; + i64toi32_i32$0 = $31$hi; + i64toi32_i32$3 = $229_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $10_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 17; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $230_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $230_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $34_1 = $230_1; + $34$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 47; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $231_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $231_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $36$hi = i64toi32_i32$2; + i64toi32_i32$2 = $34$hi; + i64toi32_i32$1 = $34_1; + i64toi32_i32$0 = $36$hi; + i64toi32_i32$3 = $231_1; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $11_1 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + $11$hi = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 49; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $232_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $232_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $39_1 = $232_1; + $39$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = 65535; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $12_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $12$hi = i64toi32_i32$2; + i64toi32_i32$1 = $12_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 15; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $233_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $233_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $43$hi = i64toi32_i32$0; + i64toi32_i32$0 = $39$hi; + i64toi32_i32$2 = $39_1; + i64toi32_i32$1 = $43$hi; + i64toi32_i32$3 = $233_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $13_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $13$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0; + i64toi32_i32$0 = -2147483648; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $14_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $14$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 65535; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $15_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$0 = $15_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $234_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $234_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $16_1 = $234_1; + $16$hi = i64toi32_i32$2; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$1 = $12_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 17; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $235_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $235_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + $17_1 = $235_1; + $17$hi = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 48; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $237_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $237_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $6_1 = $237_1 & 32767 | 0; + label$1 : { + label$2 : { + label$3 : { + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 48; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $238_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $238_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $7_1 = $238_1 & 32767 | 0; + if (($7_1 + -1 | 0) >>> 0 > 32765 >>> 0) { + break label$3 + } + $8_1 = 0; + if (($6_1 + -1 | 0) >>> 0 < 32766 >>> 0) { + break label$2 + } + } + label$4 : { + i64toi32_i32$2 = $1$hi; + $70_1 = !($1_1 | i64toi32_i32$2 | 0); + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$0 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $18_1 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $18$hi = i64toi32_i32$0; + i64toi32_i32$2 = $18_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$3 = 0; + $74_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$3 = $18_1; + i64toi32_i32$0 = 2147418112; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0 ? $70_1 : $74_1) { + break label$4 + } + i64toi32_i32$3 = $2$hi; + i64toi32_i32$1 = $2_1; + i64toi32_i32$2 = 32768; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + $14_1 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $14$hi = i64toi32_i32$2; + break label$1; + } + label$5 : { + i64toi32_i32$2 = $3$hi; + $81_1 = !($3_1 | i64toi32_i32$2 | 0); + i64toi32_i32$2 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$0 = -1; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $2_1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + $2$hi = i64toi32_i32$1; + i64toi32_i32$2 = $2_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$0 = 0; + $85_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = $2_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0 ? $81_1 : $85_1) { + break label$5 + } + i64toi32_i32$0 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$2 = 32768; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $14_1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + $14$hi = i64toi32_i32$2; + i64toi32_i32$2 = $3$hi; + $1_1 = $3_1; + $1$hi = i64toi32_i32$2; + break label$1; + } + label$6 : { + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$0 = $18_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + $94_1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0; + $94$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$0 = $94$hi; + i64toi32_i32$1 = $94_1; + i64toi32_i32$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$3 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0) { + break label$6 + } + label$7 : { + i64toi32_i32$3 = $3$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + if (!!(i64toi32_i32$1 | i64toi32_i32$2 | 0 | i64toi32_i32$0 | 0)) { + break label$7 + } + i64toi32_i32$0 = 2147450880; + $14_1 = 0; + $14$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$0; + break label$1; + } + i64toi32_i32$0 = $14$hi; + i64toi32_i32$3 = $14_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $14_1 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + $14$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$1; + break label$1; + } + label$8 : { + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$3 = 2147418112; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; + $106_1 = i64toi32_i32$0 ^ i64toi32_i32$2 | 0; + $106$hi = i64toi32_i32$3; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$0 = $106$hi; + i64toi32_i32$2 = $106_1; + i64toi32_i32$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$3 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) { + break label$8 + } + i64toi32_i32$3 = $1$hi; + i64toi32_i32$3 = $18$hi; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$1 = $18_1; + i64toi32_i32$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + $2_1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $2$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$0; + label$9 : { + i64toi32_i32$0 = $2$hi; + if (!!($2_1 | i64toi32_i32$0 | 0)) { + break label$9 + } + i64toi32_i32$0 = 2147450880; + $14_1 = 0; + $14$hi = i64toi32_i32$0; + break label$1; + } + i64toi32_i32$0 = $14$hi; + i64toi32_i32$3 = $14_1; + i64toi32_i32$2 = 2147418112; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $14_1 = i64toi32_i32$3 | i64toi32_i32$1 | 0; + $14$hi = i64toi32_i32$2; + break label$1; + } + label$10 : { + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$3 = $18$hi; + i64toi32_i32$1 = $18_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | 0) { + break label$10 + } + i64toi32_i32$2 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$2; + break label$1; + } + label$11 : { + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$1 = $3_1; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$3 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$1 | 0) | 0) { + break label$11 + } + i64toi32_i32$2 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$2; + break label$1; + } + $8_1 = 0; + label$12 : { + i64toi32_i32$2 = $18$hi; + i64toi32_i32$0 = $18_1; + i64toi32_i32$3 = 65535; + i64toi32_i32$1 = -1; + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$0 >>> 0 > i64toi32_i32$1 >>> 0 | 0) | 0) { + break label$12 + } + $128_1 = $5_1 + 80 | 0; + i64toi32_i32$0 = $1$hi; + $129_1 = $1_1; + $129$hi = i64toi32_i32$0; + i64toi32_i32$0 = $15$hi; + $130_1 = $15_1; + $130$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $15$hi; + $8_1 = !($15_1 | i64toi32_i32$0 | 0); + i64toi32_i32$4 = $8_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$3 = i64toi32_i32$4 ? $1_1 : $15_1; + i64toi32_i32$1 = i64toi32_i32$4 ? i64toi32_i32$0 : i64toi32_i32$2; + i64toi32_i32$0 = Math_clz32(i64toi32_i32$1); + i64toi32_i32$4 = 0; + if ((i64toi32_i32$0 | 0) == (32 | 0)) { + $239_1 = Math_clz32(i64toi32_i32$3) + 32 | 0 + } else { + $239_1 = i64toi32_i32$0 + } + $137$hi = i64toi32_i32$4; + i64toi32_i32$4 = 0; + $140$hi = i64toi32_i32$4; + i64toi32_i32$4 = $137$hi; + i64toi32_i32$3 = $239_1; + i64toi32_i32$1 = $140$hi; + i64toi32_i32$0 = $8_1 << 6 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$1 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $8_1 = i64toi32_i32$2; + i64toi32_i32$5 = $129$hi; + i64toi32_i32$3 = $130$hi; + $3262($128_1 | 0, $129_1 | 0, i64toi32_i32$5 | 0, $130_1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 + -15 | 0 | 0); + $8_1 = 16 - i64toi32_i32$2 | 0; + i64toi32_i32$4 = $5_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$4 + 80 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 84 | 0) >> 2] | 0; + $1_1 = i64toi32_i32$3; + $1$hi = i64toi32_i32$5; + i64toi32_i32$4 = i64toi32_i32$3; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $240_1 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + $240_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$1 | 0) | 0; + } + $150_1 = $240_1; + $150$hi = i64toi32_i32$3; + i64toi32_i32$5 = $5_1 + 88 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $15_1 = i64toi32_i32$3; + $15$hi = i64toi32_i32$4; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + $241_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$1 | 0) | 0; + $241_1 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + } + $155$hi = i64toi32_i32$3; + i64toi32_i32$3 = $150$hi; + i64toi32_i32$4 = $150_1; + i64toi32_i32$5 = $155$hi; + i64toi32_i32$0 = $241_1; + i64toi32_i32$5 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + $10_1 = i64toi32_i32$4 | i64toi32_i32$0 | 0; + $10$hi = i64toi32_i32$5; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$3 = $15_1; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $242_1 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + $242_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$1 | 0) | 0; + } + $16_1 = $242_1; + $16$hi = i64toi32_i32$4; + } + i64toi32_i32$4 = $2$hi; + i64toi32_i32$5 = $2_1; + i64toi32_i32$3 = 65535; + i64toi32_i32$0 = -1; + if (i64toi32_i32$4 >>> 0 > i64toi32_i32$3 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$5 >>> 0 > i64toi32_i32$0 >>> 0 | 0) | 0) { + break label$2 + } + $162_1 = $5_1 + 64 | 0; + i64toi32_i32$5 = $3$hi; + $163_1 = $3_1; + $163$hi = i64toi32_i32$5; + i64toi32_i32$5 = $12$hi; + $164_1 = $12_1; + $164$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$5 = $12$hi; + $9_1 = !($12_1 | i64toi32_i32$5 | 0); + i64toi32_i32$1 = $9_1; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$4 = $12$hi; + i64toi32_i32$3 = i64toi32_i32$1 ? $3_1 : $12_1; + i64toi32_i32$0 = i64toi32_i32$1 ? i64toi32_i32$5 : i64toi32_i32$4; + i64toi32_i32$5 = Math_clz32(i64toi32_i32$0); + i64toi32_i32$1 = 0; + if ((i64toi32_i32$5 | 0) == (32 | 0)) { + $244_1 = Math_clz32(i64toi32_i32$3) + 32 | 0 + } else { + $244_1 = i64toi32_i32$5 + } + $171$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $174$hi = i64toi32_i32$1; + i64toi32_i32$1 = $171$hi; + i64toi32_i32$3 = $244_1; + i64toi32_i32$0 = $174$hi; + i64toi32_i32$5 = $9_1 << 6 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $9_1 = i64toi32_i32$4; + i64toi32_i32$2 = $163$hi; + i64toi32_i32$3 = $164$hi; + $3262($162_1 | 0, $163_1 | 0, i64toi32_i32$2 | 0, $164_1 | 0, i64toi32_i32$3 | 0, i64toi32_i32$4 + -15 | 0 | 0); + $8_1 = ($8_1 - i64toi32_i32$4 | 0) + 16 | 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] | 0; + $3_1 = i64toi32_i32$3; + $3$hi = i64toi32_i32$2; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 49; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $246_1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + $246_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$0 | 0) | 0; + } + $186_1 = $246_1; + $186$hi = i64toi32_i32$3; + i64toi32_i32$2 = $5_1 + 72 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2_1 = i64toi32_i32$3; + $2$hi = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$3; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 15; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + $248_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$0 | 0) | 0; + $248_1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + } + $191$hi = i64toi32_i32$3; + i64toi32_i32$3 = $186$hi; + i64toi32_i32$1 = $186_1; + i64toi32_i32$2 = $191$hi; + i64toi32_i32$5 = $248_1; + i64toi32_i32$2 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + $13_1 = i64toi32_i32$1 | i64toi32_i32$5 | 0; + $13$hi = i64toi32_i32$2; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 17; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $249_1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + $249_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$0 | 0) | 0; + } + $194_1 = $249_1; + $194$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$2 = $2_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 47; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + $251_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$0 | 0) | 0; + $251_1 = i64toi32_i32$2 << i64toi32_i32$0 | 0; + } + $196$hi = i64toi32_i32$3; + i64toi32_i32$3 = $194$hi; + i64toi32_i32$1 = $194_1; + i64toi32_i32$2 = $196$hi; + i64toi32_i32$5 = $251_1; + i64toi32_i32$2 = i64toi32_i32$3 | i64toi32_i32$2 | 0; + $11_1 = i64toi32_i32$1 | i64toi32_i32$5 | 0; + $11$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$3 = $2_1; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 17; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $252_1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + $252_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$0 | 0) | 0; + } + $17_1 = $252_1; + $17$hi = i64toi32_i32$1; + } + i64toi32_i32$1 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = -1; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $2_1 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $2$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$1 = $1_1; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = -1; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $4_1 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + $4$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = __wasm_i64_mul($2_1 | 0, i64toi32_i32$2 | 0, $4_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $19_1 = i64toi32_i32$1; + $19$hi = i64toi32_i32$2; + $207_1 = i64toi32_i32$1; + $207$hi = i64toi32_i32$2; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$5 = 15; + i64toi32_i32$0 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + $254_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$0 | 0) | 0; + $254_1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + } + i64toi32_i32$2 = $254_1; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = -32768; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $1_1 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $1$hi = i64toi32_i32$3; + i64toi32_i32$3 = $10$hi; + i64toi32_i32$1 = $10_1; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = -1; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $3_1 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + $3$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$2 | 0, $3_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $215_1 = i64toi32_i32$1; + $215$hi = i64toi32_i32$2; + i64toi32_i32$2 = $207$hi; + i64toi32_i32$3 = $207_1; + i64toi32_i32$1 = $215$hi; + i64toi32_i32$5 = $215_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $10_1 = i64toi32_i32$0; + $10$hi = i64toi32_i32$4; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = 32; + i64toi32_i32$1 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + $256_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$1 | 0) | 0; + $256_1 = i64toi32_i32$2 << i64toi32_i32$1 | 0; + } + $12_1 = $256_1; + $12$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$2 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$3 | 0, $4_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $222_1 = i64toi32_i32$2; + $222$hi = i64toi32_i32$3; + i64toi32_i32$3 = $12$hi; + i64toi32_i32$4 = $12_1; + i64toi32_i32$2 = $222$hi; + i64toi32_i32$5 = $222_1; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $11_1 = i64toi32_i32$1; + $11$hi = i64toi32_i32$0; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$4 = $12$hi; + i64toi32_i32$5 = $12_1; + i64toi32_i32$3 = 0; + $227_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$4 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$4 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + $227$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = __wasm_i64_mul($2_1 | 0, i64toi32_i32$3 | 0, $3_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $20_1 = i64toi32_i32$0; + $20$hi = i64toi32_i32$3; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$5 = $15_1; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = -1; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + $12_1 = i64toi32_i32$5 & i64toi32_i32$4 | 0; + $12$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$5 = $12$hi; + i64toi32_i32$5 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$0 | 0, $12_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $236_1 = i64toi32_i32$5; + $236$hi = i64toi32_i32$0; + i64toi32_i32$0 = $20$hi; + i64toi32_i32$3 = $20_1; + i64toi32_i32$5 = $236$hi; + i64toi32_i32$4 = $236_1; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $18_1 = i64toi32_i32$2; + $18$hi = i64toi32_i32$1; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$0 = $13_1; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = -1; + i64toi32_i32$3 = i64toi32_i32$1 & i64toi32_i32$3 | 0; + $15_1 = i64toi32_i32$0 & i64toi32_i32$4 | 0; + $15$hi = i64toi32_i32$3; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$3 = $15$hi; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$0 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$3 | 0, $4_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $243_1 = i64toi32_i32$0; + $243$hi = i64toi32_i32$3; + i64toi32_i32$3 = $18$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$0 = $243$hi; + i64toi32_i32$4 = $243_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $13_1 = i64toi32_i32$5; + $13$hi = i64toi32_i32$2; + $245_1 = i64toi32_i32$5; + $245$hi = i64toi32_i32$2; + i64toi32_i32$2 = $10$hi; + i64toi32_i32$3 = $10_1; + i64toi32_i32$1 = 0; + i64toi32_i32$4 = 32; + i64toi32_i32$0 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $257_1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + $257_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$0 | 0) | 0; + } + $247_1 = $257_1; + $247$hi = i64toi32_i32$1; + i64toi32_i32$1 = $10$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = $10$hi; + i64toi32_i32$2 = $10_1; + i64toi32_i32$3 = $19$hi; + i64toi32_i32$4 = $19_1; + $250_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$4 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$4 = $250_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$4 << i64toi32_i32$0 | 0; + $258_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$4 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$0 | 0) | 0; + $258_1 = i64toi32_i32$4 << i64toi32_i32$0 | 0; + } + $252$hi = i64toi32_i32$1; + i64toi32_i32$1 = $247$hi; + i64toi32_i32$2 = $247_1; + i64toi32_i32$4 = $252$hi; + i64toi32_i32$3 = $258_1; + i64toi32_i32$4 = i64toi32_i32$1 | i64toi32_i32$4 | 0; + $253_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $253$hi = i64toi32_i32$4; + i64toi32_i32$4 = $245$hi; + i64toi32_i32$1 = $245_1; + i64toi32_i32$2 = $253$hi; + i64toi32_i32$3 = $253_1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $19_1 = i64toi32_i32$0; + $19$hi = i64toi32_i32$5; + $255_1 = i64toi32_i32$0; + $255$hi = i64toi32_i32$5; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$5 = $12$hi; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$1 = __wasm_i64_mul($2_1 | 0, i64toi32_i32$5 | 0, $12_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $21_1 = i64toi32_i32$1; + $21$hi = i64toi32_i32$5; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$5 = $16$hi; + i64toi32_i32$4 = $16_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 65536; + i64toi32_i32$1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + $10_1 = i64toi32_i32$4 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$4 = $10$hi; + i64toi32_i32$4 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$1 | 0, $10_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $264_1 = i64toi32_i32$4; + $264$hi = i64toi32_i32$1; + i64toi32_i32$1 = $21$hi; + i64toi32_i32$5 = $21_1; + i64toi32_i32$4 = $264$hi; + i64toi32_i32$3 = $264_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $16_1 = i64toi32_i32$2; + $16$hi = i64toi32_i32$0; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$5 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$0 | 0, $3_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $269_1 = i64toi32_i32$5; + $269$hi = i64toi32_i32$0; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$5 = $269$hi; + i64toi32_i32$3 = $269_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $22_1 = i64toi32_i32$4; + $22$hi = i64toi32_i32$2; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$0 = $17_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 2147483647; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = -2147483648; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + $1_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $1$hi = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$2 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$0 | 0, $4_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $277_1 = i64toi32_i32$2; + $277$hi = i64toi32_i32$0; + i64toi32_i32$0 = $22$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $277$hi; + i64toi32_i32$3 = $277_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $17_1 = i64toi32_i32$5; + $17$hi = i64toi32_i32$4; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + $259_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$2 | 0) | 0; + $259_1 = i64toi32_i32$0 << i64toi32_i32$2 | 0; + } + $280$hi = i64toi32_i32$1; + i64toi32_i32$1 = $255$hi; + i64toi32_i32$4 = $255_1; + i64toi32_i32$0 = $280$hi; + i64toi32_i32$3 = $259_1; + i64toi32_i32$2 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $23_1 = i64toi32_i32$2; + $23$hi = i64toi32_i32$5; + i64toi32_i32$5 = $227$hi; + i64toi32_i32$1 = $227_1; + i64toi32_i32$4 = $23$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $4_1 = i64toi32_i32$0; + $4$hi = i64toi32_i32$2; + $6_1 = (($7_1 + $6_1 | 0) + $8_1 | 0) + -16383 | 0; + label$13 : { + label$14 : { + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$1 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$2 | 0, $12_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $24_1 = i64toi32_i32$1; + $24$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $10$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $10$hi; + i64toi32_i32$1 = __wasm_i64_mul($2_1 | 0, i64toi32_i32$2 | 0, $10_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $296_1 = i64toi32_i32$1; + $296$hi = i64toi32_i32$2; + i64toi32_i32$2 = $24$hi; + i64toi32_i32$5 = $24_1; + i64toi32_i32$1 = $296$hi; + i64toi32_i32$3 = $296_1; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $2_1 = i64toi32_i32$4; + $2$hi = i64toi32_i32$0; + i64toi32_i32$0 = $24$hi; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$5 = $24$hi; + i64toi32_i32$3 = $24_1; + $300_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $301_1 = $300_1; + $301$hi = i64toi32_i32$2; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$2 | 0, $3_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $305_1 = i64toi32_i32$0; + $305$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$0 = $305$hi; + i64toi32_i32$5 = $305_1; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $3_1 = i64toi32_i32$1; + $3$hi = i64toi32_i32$4; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$5 = $2_1; + $309_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $310$hi = i64toi32_i32$2; + i64toi32_i32$2 = $301$hi; + i64toi32_i32$5 = $301_1; + i64toi32_i32$4 = $310$hi; + i64toi32_i32$3 = $309_1; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $311_1 = i64toi32_i32$0; + $311$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3$hi; + $312_1 = $3_1; + $312$hi = i64toi32_i32$1; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$2 = $18_1; + i64toi32_i32$5 = $20$hi; + i64toi32_i32$3 = $20_1; + $315_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $316$hi = i64toi32_i32$2; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$3 = $13_1; + i64toi32_i32$5 = $18_1; + $319_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$3 = 0; + $320$hi = i64toi32_i32$3; + i64toi32_i32$3 = $316$hi; + i64toi32_i32$5 = $315_1; + i64toi32_i32$2 = $320$hi; + i64toi32_i32$1 = $319_1; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $321$hi = i64toi32_i32$0; + i64toi32_i32$0 = $312$hi; + i64toi32_i32$3 = $312_1; + i64toi32_i32$5 = $321$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $2_1 = i64toi32_i32$2; + $2$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$3 = $3$hi; + i64toi32_i32$1 = $3_1; + $325_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$0 = 0; + $326$hi = i64toi32_i32$0; + i64toi32_i32$0 = $311$hi; + i64toi32_i32$1 = $311_1; + i64toi32_i32$4 = $326$hi; + i64toi32_i32$3 = $325_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $327$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $10$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$1 = $10$hi; + i64toi32_i32$1 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$2 | 0, $10_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $330_1 = i64toi32_i32$1; + $330$hi = i64toi32_i32$2; + i64toi32_i32$2 = $327$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$1 = $330$hi; + i64toi32_i32$3 = $330_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $331_1 = i64toi32_i32$4; + $331$hi = i64toi32_i32$5; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$5 = $12$hi; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$0 = __wasm_i64_mul($1_1 | 0, i64toi32_i32$5 | 0, $12_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $3_1 = i64toi32_i32$0; + $3$hi = i64toi32_i32$5; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$5 = $10$hi; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$0 = $10$hi; + i64toi32_i32$0 = __wasm_i64_mul($15_1 | 0, i64toi32_i32$5 | 0, $10_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $338_1 = i64toi32_i32$0; + $338$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$2 = $3_1; + i64toi32_i32$0 = $338$hi; + i64toi32_i32$3 = $338_1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $1_1 = i64toi32_i32$1; + $1$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$3 = $3_1; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$0 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$4 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + $260_1 = 0; + } else { + i64toi32_i32$4 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$0 | 0) | 0; + $260_1 = i64toi32_i32$3 << i64toi32_i32$0 | 0; + } + $344_1 = $260_1; + $344$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$5 = $1_1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$0 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = 0; + $261_1 = i64toi32_i32$4 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$3 = i64toi32_i32$4 >>> i64toi32_i32$0 | 0; + $261_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$0 | 0) | 0; + } + $346$hi = i64toi32_i32$3; + i64toi32_i32$3 = $344$hi; + i64toi32_i32$4 = $344_1; + i64toi32_i32$5 = $346$hi; + i64toi32_i32$2 = $261_1; + i64toi32_i32$5 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + $347_1 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + $347$hi = i64toi32_i32$5; + i64toi32_i32$5 = $331$hi; + i64toi32_i32$3 = $331_1; + i64toi32_i32$4 = $347$hi; + i64toi32_i32$2 = $347_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $348_1 = i64toi32_i32$0; + $348$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + $349_1 = $2_1; + $349$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$5 = $1_1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = 32; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $262_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $262_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $351$hi = i64toi32_i32$3; + i64toi32_i32$3 = $349$hi; + i64toi32_i32$1 = $349_1; + i64toi32_i32$5 = $351$hi; + i64toi32_i32$2 = $262_1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $1_1 = i64toi32_i32$4; + $1$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = i64toi32_i32$4; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$2 = $2_1; + $355_1 = i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$3 = 0; + $356$hi = i64toi32_i32$3; + i64toi32_i32$3 = $348$hi; + i64toi32_i32$2 = $348_1; + i64toi32_i32$0 = $356$hi; + i64toi32_i32$1 = $355_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $357_1 = i64toi32_i32$5; + $357$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + $358_1 = $1_1; + $358$hi = i64toi32_i32$4; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$3 = $17_1; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = 32; + i64toi32_i32$0 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $263_1 = i64toi32_i32$4 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >>> i64toi32_i32$0 | 0; + $263_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$0 | 0) | 0; + } + $360_1 = $263_1; + $360$hi = i64toi32_i32$2; + i64toi32_i32$2 = $16$hi; + i64toi32_i32$2 = $21$hi; + i64toi32_i32$2 = $16$hi; + i64toi32_i32$4 = $16_1; + i64toi32_i32$3 = $21$hi; + i64toi32_i32$1 = $21_1; + $363_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$4 = 0; + $364$hi = i64toi32_i32$4; + i64toi32_i32$4 = $22$hi; + i64toi32_i32$4 = i64toi32_i32$2; + i64toi32_i32$4 = $22$hi; + i64toi32_i32$1 = $22_1; + i64toi32_i32$3 = $16_1; + $367_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $368$hi = i64toi32_i32$1; + i64toi32_i32$1 = $364$hi; + i64toi32_i32$3 = $363_1; + i64toi32_i32$4 = $368$hi; + i64toi32_i32$2 = $367_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $369$hi = i64toi32_i32$5; + i64toi32_i32$5 = $17$hi; + i64toi32_i32$5 = $22$hi; + i64toi32_i32$5 = $17$hi; + i64toi32_i32$1 = $17_1; + i64toi32_i32$3 = $22$hi; + i64toi32_i32$2 = $22_1; + $372_1 = i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $373$hi = i64toi32_i32$1; + i64toi32_i32$1 = $369$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$5 = $373$hi; + i64toi32_i32$3 = $372_1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$5 | 0; + $265_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$5 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$5 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$5 | 0) | 0; + $265_1 = i64toi32_i32$1 << i64toi32_i32$5 | 0; + } + $375$hi = i64toi32_i32$2; + i64toi32_i32$2 = $360$hi; + i64toi32_i32$0 = $360_1; + i64toi32_i32$1 = $375$hi; + i64toi32_i32$3 = $265_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $376_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $376$hi = i64toi32_i32$1; + i64toi32_i32$1 = $358$hi; + i64toi32_i32$2 = $358_1; + i64toi32_i32$0 = $376$hi; + i64toi32_i32$3 = $376_1; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $3_1 = i64toi32_i32$5; + $3$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$3 = $1_1; + $380_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $381$hi = i64toi32_i32$1; + i64toi32_i32$1 = $357$hi; + i64toi32_i32$3 = $357_1; + i64toi32_i32$4 = $381$hi; + i64toi32_i32$2 = $380_1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $382_1 = i64toi32_i32$0; + $382$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + $383_1 = $3_1; + $383$hi = i64toi32_i32$5; + i64toi32_i32$5 = $19$hi; + i64toi32_i32$5 = $13$hi; + i64toi32_i32$5 = $19$hi; + i64toi32_i32$1 = $19_1; + i64toi32_i32$3 = $13$hi; + i64toi32_i32$2 = $13_1; + $386_1 = i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $387$hi = i64toi32_i32$1; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$2 = $23_1; + i64toi32_i32$3 = $19_1; + $390_1 = i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$2 = 0; + $391$hi = i64toi32_i32$2; + i64toi32_i32$2 = $387$hi; + i64toi32_i32$3 = $386_1; + i64toi32_i32$1 = $391$hi; + i64toi32_i32$5 = $390_1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $392$hi = i64toi32_i32$0; + i64toi32_i32$0 = $383$hi; + i64toi32_i32$2 = $383_1; + i64toi32_i32$3 = $392$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $2_1 = i64toi32_i32$1; + $2$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$5 = $3_1; + $396_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$0 = 0; + $397$hi = i64toi32_i32$0; + i64toi32_i32$0 = $382$hi; + i64toi32_i32$5 = $382_1; + i64toi32_i32$4 = $397$hi; + i64toi32_i32$2 = $396_1; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $1_1 = i64toi32_i32$3; + $1$hi = i64toi32_i32$1; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$5 = 65536; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5 | 0; + if (!(i64toi32_i32$0 & i64toi32_i32$2 | 0 | i64toi32_i32$5 | 0)) { + break label$14 + } + $6_1 = $6_1 + 1 | 0; + break label$13; + } + i64toi32_i32$5 = $11$hi; + i64toi32_i32$1 = $11_1; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = 63; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $266_1 = i64toi32_i32$5 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$5 >>> i64toi32_i32$4 | 0; + $266_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + $3_1 = $266_1; + $3$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$5 = $1_1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $267_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $267_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $407_1 = $267_1; + $407$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 63; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $268_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $268_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $409$hi = i64toi32_i32$5; + i64toi32_i32$5 = $407$hi; + i64toi32_i32$1 = $407_1; + i64toi32_i32$0 = $409$hi; + i64toi32_i32$2 = $268_1; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + $1_1 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $1$hi = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$5 = $4_1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = 63; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $270_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $270_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$4 | 0) | 0; + } + $412_1 = $270_1; + $412$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $271_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $271_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $414$hi = i64toi32_i32$5; + i64toi32_i32$5 = $412$hi; + i64toi32_i32$1 = $412_1; + i64toi32_i32$0 = $414$hi; + i64toi32_i32$2 = $271_1; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + $2_1 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $2$hi = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$5 = $11_1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $272_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $272_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $11_1 = $272_1; + $11$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3$hi; + $418_1 = $3_1; + $418$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$4 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $273_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $273_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $420$hi = i64toi32_i32$5; + i64toi32_i32$5 = $418$hi; + i64toi32_i32$1 = $418_1; + i64toi32_i32$0 = $420$hi; + i64toi32_i32$2 = $273_1; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + $4_1 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $4$hi = i64toi32_i32$0; + } + label$15 : { + if (($6_1 | 0) < (32767 | 0)) { + break label$15 + } + i64toi32_i32$0 = $14$hi; + i64toi32_i32$5 = $14_1; + i64toi32_i32$1 = 2147418112; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $14_1 = i64toi32_i32$5 | i64toi32_i32$2 | 0; + $14$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$1; + break label$1; + } + label$16 : { + label$17 : { + if (($6_1 | 0) > (0 | 0)) { + break label$17 + } + label$18 : { + $7_1 = 1 - $6_1 | 0; + if ($7_1 >>> 0 < 128 >>> 0) { + break label$18 + } + i64toi32_i32$1 = 0; + $1_1 = 0; + $1$hi = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = $11$hi; + i64toi32_i32$1 = $4$hi; + $6_1 = $6_1 + 127 | 0; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$5 = $4$hi; + $3262($5_1 + 48 | 0 | 0, $11_1 | 0, i64toi32_i32$1 | 0, $4_1 | 0, i64toi32_i32$5 | 0, $6_1 | 0); + i64toi32_i32$5 = $2$hi; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$1 = $1$hi; + $3262($5_1 + 32 | 0 | 0, $2_1 | 0, i64toi32_i32$5 | 0, $1_1 | 0, i64toi32_i32$1 | 0, $6_1 | 0); + i64toi32_i32$1 = $11$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$5 = $4$hi; + $3272($5_1 + 16 | 0 | 0, $11_1 | 0, i64toi32_i32$1 | 0, $4_1 | 0, i64toi32_i32$5 | 0, $7_1 | 0); + i64toi32_i32$5 = $2$hi; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$1 = $1$hi; + $3272($5_1 | 0, $2_1 | 0, i64toi32_i32$5 | 0, $1_1 | 0, i64toi32_i32$1 | 0, $7_1 | 0); + i64toi32_i32$0 = $5_1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $454_1 = i64toi32_i32$1; + $454$hi = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $456_1 = i64toi32_i32$5; + $456$hi = i64toi32_i32$1; + i64toi32_i32$1 = $454$hi; + i64toi32_i32$0 = $454_1; + i64toi32_i32$5 = $456$hi; + i64toi32_i32$2 = $456_1; + i64toi32_i32$5 = i64toi32_i32$1 | i64toi32_i32$5 | 0; + $457_1 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $457$hi = i64toi32_i32$5; + i64toi32_i32$1 = $5_1; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] | 0; + $459_1 = i64toi32_i32$5; + $459$hi = i64toi32_i32$0; + i64toi32_i32$1 = (i64toi32_i32$1 + 48 | 0) + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $463_1 = i64toi32_i32$0; + $463$hi = i64toi32_i32$5; + i64toi32_i32$5 = $459$hi; + i64toi32_i32$1 = $459_1; + i64toi32_i32$0 = $463$hi; + i64toi32_i32$2 = $463_1; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = 0; + $465_1 = (i64toi32_i32$5 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0; + i64toi32_i32$5 = 0; + $466$hi = i64toi32_i32$5; + i64toi32_i32$5 = $457$hi; + i64toi32_i32$2 = $457_1; + i64toi32_i32$0 = $466$hi; + i64toi32_i32$1 = $465_1; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + $11_1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + $11$hi = i64toi32_i32$0; + i64toi32_i32$5 = ($5_1 + 32 | 0) + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $471_1 = i64toi32_i32$0; + $471$hi = i64toi32_i32$2; + i64toi32_i32$5 = ($5_1 + 16 | 0) + 8 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $475_1 = i64toi32_i32$2; + $475$hi = i64toi32_i32$0; + i64toi32_i32$0 = $471$hi; + i64toi32_i32$5 = $471_1; + i64toi32_i32$2 = $475$hi; + i64toi32_i32$1 = $475_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $4_1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + $4$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5_1 + 8 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $1_1 = i64toi32_i32$2; + $1$hi = i64toi32_i32$5; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $2_1 = i64toi32_i32$5; + $2$hi = i64toi32_i32$2; + break label$16; + } + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $6_1; + i64toi32_i32$5 = 0; + i64toi32_i32$1 = 48; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $274_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $274_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $484$hi = i64toi32_i32$5; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$0 = 65535; + i64toi32_i32$1 = -1; + i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$0 | 0; + $486_1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $486$hi = i64toi32_i32$0; + i64toi32_i32$0 = $484$hi; + i64toi32_i32$5 = $274_1; + i64toi32_i32$2 = $486$hi; + i64toi32_i32$1 = $486_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $1_1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + $1$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = $14$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$5 = $14$hi; + i64toi32_i32$1 = $14_1; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + $14_1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $14$hi = i64toi32_i32$5; + label$19 : { + i64toi32_i32$5 = $11$hi; + $492_1 = !($11_1 | i64toi32_i32$5 | 0); + i64toi32_i32$5 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = -1; + i64toi32_i32$1 = -1; + if ((i64toi32_i32$5 | 0) > (i64toi32_i32$0 | 0)) { + $275_1 = 1 + } else { + if ((i64toi32_i32$5 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$1 >>> 0) { + $276_1 = 0 + } else { + $276_1 = 1 + } + $278_1 = $276_1; + } else { + $278_1 = 0 + } + $275_1 = $278_1; + } + i64toi32_i32$2 = $4$hi; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = -2147483648; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) | 0 ? $492_1 : $275_1) { + break label$19 + } + i64toi32_i32$1 = $14$hi; + $498_1 = $14_1; + $498$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = 1; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $1_1 = i64toi32_i32$4; + $1$hi = i64toi32_i32$3; + i64toi32_i32$3 = $2$hi; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$5 = $2_1; + $503_1 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $504$hi = i64toi32_i32$1; + i64toi32_i32$1 = $498$hi; + i64toi32_i32$5 = $498_1; + i64toi32_i32$3 = $504$hi; + i64toi32_i32$0 = $503_1; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $14_1 = i64toi32_i32$2; + $14$hi = i64toi32_i32$4; + break label$1; + } + label$20 : { + i64toi32_i32$4 = $11$hi; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$1 = $4_1; + i64toi32_i32$5 = -2147483648; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = i64toi32_i32$4 ^ i64toi32_i32$5 | 0; + $508_1 = i64toi32_i32$1 ^ i64toi32_i32$0 | 0; + $508$hi = i64toi32_i32$5; + i64toi32_i32$5 = $11$hi; + i64toi32_i32$4 = $11_1; + i64toi32_i32$1 = $508$hi; + i64toi32_i32$0 = $508_1; + i64toi32_i32$1 = i64toi32_i32$5 | i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$4 | i64toi32_i32$0 | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$5 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$4 | 0) | 0) { + break label$20 + } + i64toi32_i32$5 = $2$hi; + $1_1 = $2_1; + $1$hi = i64toi32_i32$5; + break label$1; + } + i64toi32_i32$5 = $14$hi; + $512_1 = $14_1; + $512$hi = i64toi32_i32$5; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$0 = $2_1; + i64toi32_i32$1 = 0; + i64toi32_i32$4 = 1; + i64toi32_i32$1 = i64toi32_i32$5 & i64toi32_i32$1 | 0; + $515_1 = i64toi32_i32$0 & i64toi32_i32$4 | 0; + $515$hi = i64toi32_i32$1; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $515$hi; + i64toi32_i32$4 = $515_1; + i64toi32_i32$3 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $1_1 = i64toi32_i32$3; + $1$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$4 = $2_1; + $519_1 = i64toi32_i32$2 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$4 >>> 0 | 0) | 0; + i64toi32_i32$1 = 0; + $520$hi = i64toi32_i32$1; + i64toi32_i32$1 = $512$hi; + i64toi32_i32$4 = $512_1; + i64toi32_i32$2 = $520$hi; + i64toi32_i32$5 = $519_1; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $14_1 = i64toi32_i32$0; + $14$hi = i64toi32_i32$3; + } + i64toi32_i32$3 = $1$hi; + i64toi32_i32$4 = $0_1; + HEAP32[i64toi32_i32$4 >> 2] = $1_1; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$3 = $14$hi; + HEAP32[(i64toi32_i32$4 + 8 | 0) >> 2] = $14_1; + HEAP32[(i64toi32_i32$4 + 12 | 0) >> 2] = i64toi32_i32$3; + global$0 = $5_1 + 96 | 0; + } + + function $3274($0_1, $1_1, $1$hi, $2_1, $2$hi, $3_1, $3$hi, $4_1, $4$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $46_1 = 0, $48_1 = 0, $49_1 = 0, $50_1 = 0, $53_1 = 0, $54_1 = 0, $6_1 = 0, $9_1 = 0, $9$hi = 0, $12_1 = 0, $12$hi = 0, $13_1 = 0, $13$hi = 0, $16_1 = 0, $16$hi = 0, $20_1 = 0, $20$hi = 0, $21_1 = 0, $21$hi = 0, $5_1 = 0, $5$hi = 0, $30$hi = 0, $33_1 = 0, $33$hi = 0, $36$hi = 0, $37_1 = 0, $37$hi = 0, $39_1 = 0, $39$hi = 0, $42_1 = 0, $42$hi = 0, $45$hi = 0, $47_1 = 0, $49$hi = 0, $51_1 = 0, $51$hi = 0, $52_1 = 0; + $6_1 = $0_1; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = __wasm_i64_mul($4_1 | 0, i64toi32_i32$0 | 0, $1_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $9_1 = i64toi32_i32$1; + $9$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$1 = __wasm_i64_mul($2_1 | 0, i64toi32_i32$0 | 0, $3_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $12_1 = i64toi32_i32$1; + $12$hi = i64toi32_i32$0; + i64toi32_i32$0 = $9$hi; + i64toi32_i32$2 = $9_1; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$3 = $12_1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $13_1 = i64toi32_i32$4; + $13$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $46_1 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$5 >>> i64toi32_i32$1 | 0; + $46_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$1 | 0) | 0; + } + $4_1 = $46_1; + $4$hi = i64toi32_i32$2; + $16_1 = $4_1; + $16$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$5 = $1_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $48_1 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$1 | 0; + $48_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + $2_1 = $48_1; + $2$hi = i64toi32_i32$0; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$5 = $2$hi; + i64toi32_i32$5 = __wasm_i64_mul($16_1 | 0, i64toi32_i32$0 | 0, $2_1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $20_1 = i64toi32_i32$5; + $20$hi = i64toi32_i32$0; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$2 = $13_1; + i64toi32_i32$5 = $20$hi; + i64toi32_i32$3 = $20_1; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $21_1 = i64toi32_i32$1; + $21$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$4 & i64toi32_i32$2 | 0; + $3_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $3$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$4 = $1_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $1_1 = i64toi32_i32$4 & i64toi32_i32$3 | 0; + $1$hi = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$4 = __wasm_i64_mul($3_1 | 0, i64toi32_i32$0 | 0, $1_1 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $5_1 = i64toi32_i32$4; + $5$hi = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$4; + i64toi32_i32$4 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $49_1 = i64toi32_i32$0 >>> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$0 >>> i64toi32_i32$5 | 0; + $49_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$5 | 0) | 0; + } + $30$hi = i64toi32_i32$4; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$4 = $2$hi; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = __wasm_i64_mul($3_1 | 0, i64toi32_i32$4 | 0, $2_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $33_1 = i64toi32_i32$2; + $33$hi = i64toi32_i32$4; + i64toi32_i32$4 = $30$hi; + i64toi32_i32$0 = $49_1; + i64toi32_i32$2 = $33$hi; + i64toi32_i32$3 = $33_1; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $3_1 = i64toi32_i32$5; + $3$hi = i64toi32_i32$1; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $50_1 = i64toi32_i32$1 >>> i64toi32_i32$2 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$2 | 0; + $50_1 = (((1 << i64toi32_i32$2 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$2 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$2 | 0) | 0; + } + $36$hi = i64toi32_i32$0; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$1 = $21_1; + i64toi32_i32$4 = $36$hi; + i64toi32_i32$3 = $50_1; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$4 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $37_1 = i64toi32_i32$2; + $37$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$5 & i64toi32_i32$1 | 0; + $39_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $39$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = __wasm_i64_mul($4_1 | 0, i64toi32_i32$1 | 0, $1_1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $42_1 = i64toi32_i32$0; + $42$hi = i64toi32_i32$1; + i64toi32_i32$1 = $39$hi; + i64toi32_i32$5 = $39_1; + i64toi32_i32$0 = $42$hi; + i64toi32_i32$3 = $42_1; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $3_1 = i64toi32_i32$4; + $3$hi = i64toi32_i32$2; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $53_1 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$2 >>> i64toi32_i32$0 | 0; + $53_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$0 | 0) | 0; + } + $45$hi = i64toi32_i32$5; + i64toi32_i32$5 = $37$hi; + i64toi32_i32$2 = $37_1; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$3 = $53_1; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$2 = $6_1; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$4; + $47_1 = $0_1; + i64toi32_i32$4 = $3$hi; + i64toi32_i32$5 = $3_1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + $54_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$1 | 0) | 0; + $54_1 = i64toi32_i32$5 << i64toi32_i32$1 | 0; + } + $49$hi = i64toi32_i32$2; + i64toi32_i32$2 = $5$hi; + i64toi32_i32$4 = $5_1; + i64toi32_i32$5 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $51_1 = i64toi32_i32$4 & i64toi32_i32$3 | 0; + $51$hi = i64toi32_i32$5; + i64toi32_i32$5 = $49$hi; + i64toi32_i32$2 = $54_1; + i64toi32_i32$4 = $51$hi; + i64toi32_i32$3 = $51_1; + i64toi32_i32$4 = i64toi32_i32$5 | i64toi32_i32$4 | 0; + $52_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$2 = $47_1; + HEAP32[i64toi32_i32$2 >> 2] = $52_1; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$4; + } + + function $3275($0_1, $1_1, $1$hi, $2_1, $2$hi, $3_1, $3$hi, $4_1, $4$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $5_1 = 0, $14_1 = 0, $14$hi = 0, $17_1 = 0, $20_1 = 0; + $5_1 = global$0 - 16 | 0; + global$0 = $5_1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = -2147483648; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0; + $14_1 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + $14$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$3 = $14$hi; + $3261($5_1 | 0, $1_1 | 0, i64toi32_i32$1 | 0, $2_1 | 0, i64toi32_i32$2 | 0, $3_1 | 0, i64toi32_i32$0 | 0, $14_1 | 0, i64toi32_i32$3 | 0); + i64toi32_i32$2 = $5_1; + i64toi32_i32$3 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $17_1 = i64toi32_i32$3; + i64toi32_i32$3 = $0_1; + HEAP32[i64toi32_i32$3 >> 2] = $17_1; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $20_1 = i64toi32_i32$0; + i64toi32_i32$0 = $0_1; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $20_1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$3; + global$0 = i64toi32_i32$2 + 16 | 0; + } + + function $3276($0_1, $0$hi, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $0$hi = $0$hi | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $4_1 = 0, $4$hi = 0, $5$hi = 0, $5_1 = 0, $2_1 = 0, $3_1 = 0, $42_1 = 0, $43_1 = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, $49_1 = 0, $12_1 = 0, $12$hi = 0, $14$hi = 0, $17_1 = 0, $17$hi = 0, $19$hi = 0, $33$hi = 0, $37_1 = 0, $39_1 = 0, $44_1 = 0, $44$hi = 0, $46$hi = 0, $74_1 = 0, $74$hi = 0, $78$hi = 0, $81_1 = 0, $81$hi = 0, $83_1 = 0, $83$hi = 0, $87_1 = 0, $87$hi = 0, $89_1 = 0, $90$hi = 0, $100$hi = 0, $107_1 = 0, $107$hi = 0; + $2_1 = global$0 - 32 | 0; + global$0 = $2_1; + label$1 : { + label$2 : { + i64toi32_i32$0 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $4_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $4$hi = i64toi32_i32$1; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = -1006698496; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $12_1 = i64toi32_i32$4; + $12$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = -1140785152; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $14$hi = i64toi32_i32$4; + i64toi32_i32$4 = $12$hi; + i64toi32_i32$5 = $12_1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$3 = i64toi32_i32$2; + if (i64toi32_i32$4 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$5 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) { + break label$2 + } + i64toi32_i32$5 = $0$hi; + i64toi32_i32$3 = $0_1; + i64toi32_i32$4 = 0; + i64toi32_i32$1 = 60; + i64toi32_i32$0 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $42_1 = i64toi32_i32$5 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$5 >>> i64toi32_i32$0 | 0; + $42_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$0 | 0) | 0; + } + $17_1 = $42_1; + $17$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$5 = $1_1; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = 4; + i64toi32_i32$0 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$5 << i64toi32_i32$0 | 0; + $43_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$0 | 0) | 0; + $43_1 = i64toi32_i32$5 << i64toi32_i32$0 | 0; + } + $19$hi = i64toi32_i32$3; + i64toi32_i32$3 = $17$hi; + i64toi32_i32$4 = $17_1; + i64toi32_i32$5 = $19$hi; + i64toi32_i32$1 = $43_1; + i64toi32_i32$5 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + $4_1 = i64toi32_i32$4 | i64toi32_i32$1 | 0; + $4$hi = i64toi32_i32$5; + label$3 : { + i64toi32_i32$5 = $0$hi; + i64toi32_i32$3 = $0_1; + i64toi32_i32$4 = 268435455; + i64toi32_i32$1 = -1; + i64toi32_i32$4 = i64toi32_i32$5 & i64toi32_i32$4 | 0; + $0_1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $0$hi = i64toi32_i32$4; + i64toi32_i32$5 = $0_1; + i64toi32_i32$3 = 134217728; + i64toi32_i32$1 = 1; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0) { + break label$3 + } + i64toi32_i32$5 = $4$hi; + i64toi32_i32$1 = $4_1; + i64toi32_i32$4 = 1073741824; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $5_1 = i64toi32_i32$0; + $5$hi = i64toi32_i32$2; + break label$1; + } + i64toi32_i32$2 = $4$hi; + i64toi32_i32$5 = $4_1; + i64toi32_i32$1 = 1073741824; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $5_1 = i64toi32_i32$4; + $5$hi = i64toi32_i32$0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$2 = $0_1; + i64toi32_i32$5 = 134217728; + i64toi32_i32$3 = 0; + i64toi32_i32$5 = i64toi32_i32$0 ^ i64toi32_i32$5 | 0; + i64toi32_i32$0 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$2 | 0) | 0) { + break label$1 + } + i64toi32_i32$0 = $5$hi; + i64toi32_i32$3 = $5_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$5 = i64toi32_i32$0 & i64toi32_i32$5 | 0; + $33$hi = i64toi32_i32$5; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$5 = $33$hi; + i64toi32_i32$0 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + i64toi32_i32$3 = $5$hi; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $5_1 = i64toi32_i32$1; + $5$hi = i64toi32_i32$4; + break label$1; + } + label$4 : { + i64toi32_i32$4 = $0$hi; + $37_1 = !($0_1 | i64toi32_i32$4 | 0); + i64toi32_i32$4 = $4$hi; + i64toi32_i32$5 = $4_1; + i64toi32_i32$0 = 2147418112; + i64toi32_i32$2 = 0; + $39_1 = i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$2 = $4_1; + i64toi32_i32$4 = 2147418112; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$4 | 0) | 0 ? $37_1 : $39_1) { + break label$4 + } + i64toi32_i32$2 = $0$hi; + i64toi32_i32$0 = $0_1; + i64toi32_i32$5 = 0; + i64toi32_i32$4 = 60; + i64toi32_i32$3 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $45_1 = i64toi32_i32$2 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$2 >>> i64toi32_i32$3 | 0; + $45_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$3 | 0) | 0; + } + $44_1 = $45_1; + $44$hi = i64toi32_i32$5; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$2 = $1_1; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = 4; + i64toi32_i32$3 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $46_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $46_1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + } + $46$hi = i64toi32_i32$0; + i64toi32_i32$0 = $44$hi; + i64toi32_i32$5 = $44_1; + i64toi32_i32$2 = $46$hi; + i64toi32_i32$4 = $46_1; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$4 | 0; + i64toi32_i32$5 = 524287; + i64toi32_i32$4 = -1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$4 | 0; + i64toi32_i32$0 = 2146959360; + i64toi32_i32$4 = 0; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + $5_1 = i64toi32_i32$2 | i64toi32_i32$4 | 0; + $5$hi = i64toi32_i32$0; + break label$1; + } + i64toi32_i32$0 = 2146435072; + $5_1 = 0; + $5$hi = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$5 = $4_1; + i64toi32_i32$2 = 1140785151; + i64toi32_i32$4 = -1; + if (i64toi32_i32$0 >>> 0 > i64toi32_i32$2 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$5 >>> 0 > i64toi32_i32$4 >>> 0 | 0) | 0) { + break label$1 + } + i64toi32_i32$5 = 0; + $5_1 = 0; + $5$hi = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$4 = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = 48; + i64toi32_i32$3 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $47_1 = i64toi32_i32$5 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$5 >>> i64toi32_i32$3 | 0; + $47_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$3 | 0) | 0; + } + $3_1 = $47_1; + if ($3_1 >>> 0 < 15249 >>> 0) { + break label$1 + } + i64toi32_i32$0 = $0$hi; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$5 = $1_1; + i64toi32_i32$4 = 65535; + i64toi32_i32$2 = -1; + i64toi32_i32$4 = i64toi32_i32$0 & i64toi32_i32$4 | 0; + i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$2 | 0; + i64toi32_i32$5 = 65536; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = i64toi32_i32$4 | i64toi32_i32$5 | 0; + $4_1 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $4$hi = i64toi32_i32$5; + i64toi32_i32$5 = $0$hi; + i64toi32_i32$0 = $4$hi; + $3262($2_1 + 16 | 0 | 0, $0_1 | 0, i64toi32_i32$5 | 0, $4_1 | 0, i64toi32_i32$0 | 0, $3_1 + -15233 | 0 | 0); + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $4$hi; + $3272($2_1 | 0, $0_1 | 0, i64toi32_i32$0 | 0, $4_1 | 0, i64toi32_i32$5 | 0, 15361 - $3_1 | 0 | 0); + i64toi32_i32$4 = $2_1; + i64toi32_i32$5 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $4_1 = i64toi32_i32$5; + $4$hi = i64toi32_i32$0; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 60; + i64toi32_i32$3 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$5 = 0; + $48_1 = i64toi32_i32$0 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$5 = i64toi32_i32$0 >>> i64toi32_i32$3 | 0; + $48_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$3 | 0) | 0; + } + $74_1 = $48_1; + $74$hi = i64toi32_i32$5; + i64toi32_i32$0 = $2_1 + 8 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 4; + i64toi32_i32$3 = i64toi32_i32$2 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$2 & 63 | 0) >>> 0) { + i64toi32_i32$5 = i64toi32_i32$0 << i64toi32_i32$3 | 0; + $49_1 = 0; + } else { + i64toi32_i32$5 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$3 | 0) | 0; + $49_1 = i64toi32_i32$0 << i64toi32_i32$3 | 0; + } + $78$hi = i64toi32_i32$5; + i64toi32_i32$5 = $74$hi; + i64toi32_i32$4 = $74_1; + i64toi32_i32$0 = $78$hi; + i64toi32_i32$2 = $49_1; + i64toi32_i32$0 = i64toi32_i32$5 | i64toi32_i32$0 | 0; + $5_1 = i64toi32_i32$4 | i64toi32_i32$2 | 0; + $5$hi = i64toi32_i32$0; + label$5 : { + i64toi32_i32$0 = $4$hi; + i64toi32_i32$5 = $4_1; + i64toi32_i32$4 = 268435455; + i64toi32_i32$2 = -1; + i64toi32_i32$4 = i64toi32_i32$0 & i64toi32_i32$4 | 0; + $81_1 = i64toi32_i32$5 & i64toi32_i32$2 | 0; + $81$hi = i64toi32_i32$4; + i64toi32_i32$0 = $2_1; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $83_1 = i64toi32_i32$4; + $83$hi = i64toi32_i32$5; + i64toi32_i32$0 = (i64toi32_i32$0 + 16 | 0) + 8 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $87_1 = i64toi32_i32$5; + $87$hi = i64toi32_i32$4; + i64toi32_i32$4 = $83$hi; + i64toi32_i32$0 = $83_1; + i64toi32_i32$5 = $87$hi; + i64toi32_i32$2 = $87_1; + i64toi32_i32$5 = i64toi32_i32$4 | i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = 0; + $89_1 = (i64toi32_i32$4 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$5 | 0) != (i64toi32_i32$0 | 0) | 0; + i64toi32_i32$4 = 0; + $90$hi = i64toi32_i32$4; + i64toi32_i32$4 = $81$hi; + i64toi32_i32$2 = $81_1; + i64toi32_i32$5 = $90$hi; + i64toi32_i32$0 = $89_1; + i64toi32_i32$5 = i64toi32_i32$4 | i64toi32_i32$5 | 0; + $4_1 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $4$hi = i64toi32_i32$5; + i64toi32_i32$4 = $4_1; + i64toi32_i32$2 = 134217728; + i64toi32_i32$0 = 1; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0) { + break label$5 + } + i64toi32_i32$4 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$5 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$5 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $5_1 = i64toi32_i32$3; + $5$hi = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = $4$hi; + i64toi32_i32$4 = $4_1; + i64toi32_i32$0 = 134217728; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = i64toi32_i32$1 ^ i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$2 | 0; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$4 | 0) | 0) { + break label$1 + } + i64toi32_i32$1 = $5$hi; + i64toi32_i32$2 = $5_1; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = 1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $100$hi = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$0 = $100$hi; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$4 | 0; + i64toi32_i32$2 = $5$hi; + i64toi32_i32$4 = $5_1; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$4 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $5_1 = i64toi32_i32$5; + $5$hi = i64toi32_i32$3; + } + global$0 = $2_1 + 32 | 0; + i64toi32_i32$3 = $5$hi; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$0 = $1_1; + i64toi32_i32$1 = -2147483648; + i64toi32_i32$4 = 0; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $107_1 = i64toi32_i32$0 & i64toi32_i32$4 | 0; + $107$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$3 = $5_1; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$4 = $107_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$3 | i64toi32_i32$4 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + return +(+wasm2js_scratch_load_f64()); + } + + function $3277($0_1) { + $0_1 = $0_1 | 0; + var $4_1 = 0, $6_1 = 0, $5_1 = 0, $3_1 = 0, $8_1 = 0, $2_1 = 0, $12_1 = 0, $9_1 = 0, $7_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $10_1 = 0, $11_1 = 0, $1_1 = 0, $83_1 = 0, $96_1 = 0, $107_1 = 0, $115_1 = 0, $123_1 = 0, $217_1 = 0, $228_1 = 0, $236_1 = 0, $244_1 = 0, $279_1 = 0, $363_1 = 0, $370_1 = 0, $461_1 = 0, $472_1 = 0, $480_1 = 0, $488_1 = 0, $1205_1 = 0, $1212_1 = 0, $1334_1 = 0, $1336_1 = 0, $1406_1 = 0, $1413_1 = 0, $1654_1 = 0, $1661_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1_1 = global$0 - 16 | 0; + global$0 = $1_1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + label$7 : { + label$8 : { + label$9 : { + label$10 : { + label$11 : { + label$12 : { + label$13 : { + if ($0_1 >>> 0 > 244 >>> 0) { + break label$13 + } + label$14 : { + $2_1 = HEAP32[(0 + 114736 | 0) >> 2] | 0; + $3_1 = $0_1 >>> 0 < 11 >>> 0 ? 16 : ($0_1 + 11 | 0) & -8 | 0; + $4_1 = $3_1 >>> 3 | 0; + $0_1 = $2_1 >>> $4_1 | 0; + if (!($0_1 & 3 | 0)) { + break label$14 + } + $3_1 = (($0_1 ^ -1 | 0) & 1 | 0) + $4_1 | 0; + $5_1 = $3_1 << 3 | 0; + $4_1 = HEAP32[($5_1 + 114784 | 0) >> 2] | 0; + $0_1 = $4_1 + 8 | 0; + label$15 : { + label$16 : { + $6_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $5_1 = $5_1 + 114776 | 0; + if (($6_1 | 0) != ($5_1 | 0)) { + break label$16 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = $2_1 & (__wasm_rotl_i32(-2 | 0, $3_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114736 | 0) >> 2] = wasm2js_i32$1; + break label$15; + } + HEAP32[(0 + 114752 | 0) >> 2] | 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $6_1; + } + $6_1 = $3_1 << 3 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $6_1 | 3 | 0; + $4_1 = $4_1 + $6_1 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 1 | 0; + break label$1; + } + $7_1 = HEAP32[(0 + 114744 | 0) >> 2] | 0; + if ($3_1 >>> 0 <= $7_1 >>> 0) { + break label$12 + } + label$17 : { + if (!$0_1) { + break label$17 + } + label$18 : { + label$19 : { + $83_1 = $0_1 << $4_1 | 0; + $0_1 = 2 << $4_1 | 0; + $0_1 = $83_1 & ($0_1 | (0 - $0_1 | 0) | 0) | 0; + $0_1 = ($0_1 & (0 - $0_1 | 0) | 0) + -1 | 0; + $96_1 = $0_1; + $0_1 = ($0_1 >>> 12 | 0) & 16 | 0; + $4_1 = $96_1 >>> $0_1 | 0; + $6_1 = ($4_1 >>> 5 | 0) & 8 | 0; + $107_1 = $6_1 | $0_1 | 0; + $0_1 = $4_1 >>> $6_1 | 0; + $4_1 = ($0_1 >>> 2 | 0) & 4 | 0; + $115_1 = $107_1 | $4_1 | 0; + $0_1 = $0_1 >>> $4_1 | 0; + $4_1 = ($0_1 >>> 1 | 0) & 2 | 0; + $123_1 = $115_1 | $4_1 | 0; + $0_1 = $0_1 >>> $4_1 | 0; + $4_1 = ($0_1 >>> 1 | 0) & 1 | 0; + $6_1 = ($123_1 | $4_1 | 0) + ($0_1 >>> $4_1 | 0) | 0; + $5_1 = $6_1 << 3 | 0; + $4_1 = HEAP32[($5_1 + 114784 | 0) >> 2] | 0; + $0_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + $5_1 = $5_1 + 114776 | 0; + if (($0_1 | 0) != ($5_1 | 0)) { + break label$19 + } + $2_1 = $2_1 & (__wasm_rotl_i32(-2 | 0, $6_1 | 0) | 0) | 0; + HEAP32[(0 + 114736 | 0) >> 2] = $2_1; + break label$18; + } + HEAP32[(0 + 114752 | 0) >> 2] | 0; + HEAP32[($0_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + } + $0_1 = $4_1 + 8 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $3_1 | 3 | 0; + $5_1 = $4_1 + $3_1 | 0; + $8_1 = $6_1 << 3 | 0; + $6_1 = $8_1 - $3_1 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $6_1 | 1 | 0; + HEAP32[($4_1 + $8_1 | 0) >> 2] = $6_1; + label$20 : { + if (!$7_1) { + break label$20 + } + $8_1 = $7_1 >>> 3 | 0; + $3_1 = ($8_1 << 3 | 0) + 114776 | 0; + $4_1 = HEAP32[(0 + 114756 | 0) >> 2] | 0; + label$21 : { + label$22 : { + $8_1 = 1 << $8_1 | 0; + if ($2_1 & $8_1 | 0) { + break label$22 + } + HEAP32[(0 + 114736 | 0) >> 2] = $2_1 | $8_1 | 0; + $8_1 = $3_1; + break label$21; + } + $8_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($8_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $8_1; + } + HEAP32[(0 + 114756 | 0) >> 2] = $5_1; + HEAP32[(0 + 114744 | 0) >> 2] = $6_1; + break label$1; + } + $9_1 = HEAP32[(0 + 114740 | 0) >> 2] | 0; + if (!$9_1) { + break label$12 + } + $0_1 = ($9_1 & (0 - $9_1 | 0) | 0) + -1 | 0; + $217_1 = $0_1; + $0_1 = ($0_1 >>> 12 | 0) & 16 | 0; + $4_1 = $217_1 >>> $0_1 | 0; + $6_1 = ($4_1 >>> 5 | 0) & 8 | 0; + $228_1 = $6_1 | $0_1 | 0; + $0_1 = $4_1 >>> $6_1 | 0; + $4_1 = ($0_1 >>> 2 | 0) & 4 | 0; + $236_1 = $228_1 | $4_1 | 0; + $0_1 = $0_1 >>> $4_1 | 0; + $4_1 = ($0_1 >>> 1 | 0) & 2 | 0; + $244_1 = $236_1 | $4_1 | 0; + $0_1 = $0_1 >>> $4_1 | 0; + $4_1 = ($0_1 >>> 1 | 0) & 1 | 0; + $5_1 = HEAP32[(((($244_1 | $4_1 | 0) + ($0_1 >>> $4_1 | 0) | 0) << 2 | 0) + 115040 | 0) >> 2] | 0; + $4_1 = ((HEAP32[($5_1 + 4 | 0) >> 2] | 0) & -8 | 0) - $3_1 | 0; + $6_1 = $5_1; + label$23 : { + label$24 : while (1) { + label$25 : { + $0_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + if ($0_1) { + break label$25 + } + $0_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + if (!$0_1) { + break label$23 + } + } + $6_1 = ((HEAP32[($0_1 + 4 | 0) >> 2] | 0) & -8 | 0) - $3_1 | 0; + $279_1 = $6_1; + $6_1 = $6_1 >>> 0 < $4_1 >>> 0; + $4_1 = $6_1 ? $279_1 : $4_1; + $5_1 = $6_1 ? $0_1 : $5_1; + $6_1 = $0_1; + continue label$24; + }; + } + $10_1 = $5_1 + $3_1 | 0; + if ($10_1 >>> 0 <= $5_1 >>> 0) { + break label$11 + } + $11_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$26 : { + $8_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + if (($8_1 | 0) == ($5_1 | 0)) { + break label$26 + } + label$27 : { + $0_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + if ((HEAP32[(0 + 114752 | 0) >> 2] | 0) >>> 0 > $0_1 >>> 0) { + break label$27 + } + HEAP32[($0_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($0_1 + 12 | 0) >> 2] = $8_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $0_1; + break label$2; + } + label$28 : { + $6_1 = $5_1 + 20 | 0; + $0_1 = HEAP32[$6_1 >> 2] | 0; + if ($0_1) { + break label$28 + } + $0_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + if (!$0_1) { + break label$10 + } + $6_1 = $5_1 + 16 | 0; + } + label$29 : while (1) { + $12_1 = $6_1; + $8_1 = $0_1; + $6_1 = $0_1 + 20 | 0; + $0_1 = HEAP32[$6_1 >> 2] | 0; + if ($0_1) { + continue label$29 + } + $6_1 = $8_1 + 16 | 0; + $0_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + if ($0_1) { + continue label$29 + } + break label$29; + }; + HEAP32[$12_1 >> 2] = 0; + break label$2; + } + $3_1 = -1; + if ($0_1 >>> 0 > -65 >>> 0) { + break label$12 + } + $0_1 = $0_1 + 11 | 0; + $3_1 = $0_1 & -8 | 0; + $7_1 = HEAP32[(0 + 114740 | 0) >> 2] | 0; + if (!$7_1) { + break label$12 + } + $12_1 = 0; + label$30 : { + $0_1 = $0_1 >>> 8 | 0; + if (!$0_1) { + break label$30 + } + $12_1 = 31; + if ($3_1 >>> 0 > 16777215 >>> 0) { + break label$30 + } + $4_1 = (($0_1 + 1048320 | 0) >>> 16 | 0) & 8 | 0; + $0_1 = $0_1 << $4_1 | 0; + $363_1 = $0_1; + $0_1 = (($0_1 + 520192 | 0) >>> 16 | 0) & 4 | 0; + $6_1 = $363_1 << $0_1 | 0; + $370_1 = $6_1; + $6_1 = (($6_1 + 245760 | 0) >>> 16 | 0) & 2 | 0; + $0_1 = (($370_1 << $6_1 | 0) >>> 15 | 0) - ($0_1 | $4_1 | 0 | $6_1 | 0) | 0; + $12_1 = ($0_1 << 1 | 0 | (($3_1 >>> ($0_1 + 21 | 0) | 0) & 1 | 0) | 0) + 28 | 0; + } + $4_1 = 0 - $3_1 | 0; + label$31 : { + label$32 : { + label$33 : { + label$34 : { + $6_1 = HEAP32[(($12_1 << 2 | 0) + 115040 | 0) >> 2] | 0; + if ($6_1) { + break label$34 + } + $0_1 = 0; + $8_1 = 0; + break label$33; + } + $0_1 = 0; + $5_1 = $3_1 << (($12_1 | 0) == (31 | 0) ? 0 : 25 - ($12_1 >>> 1 | 0) | 0) | 0; + $8_1 = 0; + label$35 : while (1) { + label$36 : { + $2_1 = ((HEAP32[($6_1 + 4 | 0) >> 2] | 0) & -8 | 0) - $3_1 | 0; + if ($2_1 >>> 0 >= $4_1 >>> 0) { + break label$36 + } + $4_1 = $2_1; + $8_1 = $6_1; + if ($4_1) { + break label$36 + } + $4_1 = 0; + $8_1 = $6_1; + $0_1 = $6_1; + break label$32; + } + $2_1 = HEAP32[($6_1 + 20 | 0) >> 2] | 0; + $6_1 = HEAP32[(($6_1 + (($5_1 >>> 29 | 0) & 4 | 0) | 0) + 16 | 0) >> 2] | 0; + $0_1 = $2_1 ? (($2_1 | 0) == ($6_1 | 0) ? $0_1 : $2_1) : $0_1; + $5_1 = $5_1 << 1 | 0; + if ($6_1) { + continue label$35 + } + break label$35; + }; + } + label$37 : { + if ($0_1 | $8_1 | 0) { + break label$37 + } + $0_1 = 2 << $12_1 | 0; + $0_1 = ($0_1 | (0 - $0_1 | 0) | 0) & $7_1 | 0; + if (!$0_1) { + break label$12 + } + $0_1 = ($0_1 & (0 - $0_1 | 0) | 0) + -1 | 0; + $461_1 = $0_1; + $0_1 = ($0_1 >>> 12 | 0) & 16 | 0; + $6_1 = $461_1 >>> $0_1 | 0; + $5_1 = ($6_1 >>> 5 | 0) & 8 | 0; + $472_1 = $5_1 | $0_1 | 0; + $0_1 = $6_1 >>> $5_1 | 0; + $6_1 = ($0_1 >>> 2 | 0) & 4 | 0; + $480_1 = $472_1 | $6_1 | 0; + $0_1 = $0_1 >>> $6_1 | 0; + $6_1 = ($0_1 >>> 1 | 0) & 2 | 0; + $488_1 = $480_1 | $6_1 | 0; + $0_1 = $0_1 >>> $6_1 | 0; + $6_1 = ($0_1 >>> 1 | 0) & 1 | 0; + $0_1 = HEAP32[(((($488_1 | $6_1 | 0) + ($0_1 >>> $6_1 | 0) | 0) << 2 | 0) + 115040 | 0) >> 2] | 0; + } + if (!$0_1) { + break label$31 + } + } + label$38 : while (1) { + $2_1 = ((HEAP32[($0_1 + 4 | 0) >> 2] | 0) & -8 | 0) - $3_1 | 0; + $5_1 = $2_1 >>> 0 < $4_1 >>> 0; + label$39 : { + $6_1 = HEAP32[($0_1 + 16 | 0) >> 2] | 0; + if ($6_1) { + break label$39 + } + $6_1 = HEAP32[($0_1 + 20 | 0) >> 2] | 0; + } + $4_1 = $5_1 ? $2_1 : $4_1; + $8_1 = $5_1 ? $0_1 : $8_1; + $0_1 = $6_1; + if ($0_1) { + continue label$38 + } + break label$38; + }; + } + if (!$8_1) { + break label$12 + } + if ($4_1 >>> 0 >= ((HEAP32[(0 + 114744 | 0) >> 2] | 0) - $3_1 | 0) >>> 0) { + break label$12 + } + $12_1 = $8_1 + $3_1 | 0; + if ($12_1 >>> 0 <= $8_1 >>> 0) { + break label$11 + } + $9_1 = HEAP32[($8_1 + 24 | 0) >> 2] | 0; + label$40 : { + $5_1 = HEAP32[($8_1 + 12 | 0) >> 2] | 0; + if (($5_1 | 0) == ($8_1 | 0)) { + break label$40 + } + label$41 : { + $0_1 = HEAP32[($8_1 + 8 | 0) >> 2] | 0; + if ((HEAP32[(0 + 114752 | 0) >> 2] | 0) >>> 0 > $0_1 >>> 0) { + break label$41 + } + HEAP32[($0_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($0_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + break label$3; + } + label$42 : { + $6_1 = $8_1 + 20 | 0; + $0_1 = HEAP32[$6_1 >> 2] | 0; + if ($0_1) { + break label$42 + } + $0_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + if (!$0_1) { + break label$9 + } + $6_1 = $8_1 + 16 | 0; + } + label$43 : while (1) { + $2_1 = $6_1; + $5_1 = $0_1; + $6_1 = $0_1 + 20 | 0; + $0_1 = HEAP32[$6_1 >> 2] | 0; + if ($0_1) { + continue label$43 + } + $6_1 = $5_1 + 16 | 0; + $0_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + if ($0_1) { + continue label$43 + } + break label$43; + }; + HEAP32[$2_1 >> 2] = 0; + break label$3; + } + label$44 : { + $0_1 = HEAP32[(0 + 114744 | 0) >> 2] | 0; + if ($0_1 >>> 0 < $3_1 >>> 0) { + break label$44 + } + $4_1 = HEAP32[(0 + 114756 | 0) >> 2] | 0; + label$45 : { + label$46 : { + $6_1 = $0_1 - $3_1 | 0; + if ($6_1 >>> 0 < 16 >>> 0) { + break label$46 + } + HEAP32[(0 + 114744 | 0) >> 2] = $6_1; + $5_1 = $4_1 + $3_1 | 0; + HEAP32[(0 + 114756 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 4 | 0) >> 2] = $6_1 | 1 | 0; + HEAP32[($4_1 + $0_1 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $3_1 | 3 | 0; + break label$45; + } + HEAP32[(0 + 114756 | 0) >> 2] = 0; + HEAP32[(0 + 114744 | 0) >> 2] = 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $0_1 | 3 | 0; + $0_1 = $4_1 + $0_1 | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = HEAP32[($0_1 + 4 | 0) >> 2] | 0 | 1 | 0; + } + $0_1 = $4_1 + 8 | 0; + break label$1; + } + label$47 : { + $5_1 = HEAP32[(0 + 114748 | 0) >> 2] | 0; + if ($5_1 >>> 0 <= $3_1 >>> 0) { + break label$47 + } + $4_1 = $5_1 - $3_1 | 0; + HEAP32[(0 + 114748 | 0) >> 2] = $4_1; + $0_1 = HEAP32[(0 + 114760 | 0) >> 2] | 0; + $6_1 = $0_1 + $3_1 | 0; + HEAP32[(0 + 114760 | 0) >> 2] = $6_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $4_1 | 1 | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = $3_1 | 3 | 0; + $0_1 = $0_1 + 8 | 0; + break label$1; + } + label$48 : { + label$49 : { + if (!(HEAP32[(0 + 115208 | 0) >> 2] | 0)) { + break label$49 + } + $4_1 = HEAP32[(0 + 115216 | 0) >> 2] | 0; + break label$48; + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = -1; + HEAP32[(i64toi32_i32$1 + 115220 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 115224 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 4096; + HEAP32[(i64toi32_i32$1 + 115212 | 0) >> 2] = 4096; + HEAP32[(i64toi32_i32$1 + 115216 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(0 + 115208 | 0) >> 2] = (($1_1 + 12 | 0) & -16 | 0) ^ 1431655768 | 0; + HEAP32[(0 + 115228 | 0) >> 2] = 0; + HEAP32[(0 + 115180 | 0) >> 2] = 0; + $4_1 = 4096; + } + $0_1 = 0; + $7_1 = $3_1 + 47 | 0; + $2_1 = $4_1 + $7_1 | 0; + $12_1 = 0 - $4_1 | 0; + $8_1 = $2_1 & $12_1 | 0; + if ($8_1 >>> 0 <= $3_1 >>> 0) { + break label$1 + } + $0_1 = 0; + label$50 : { + $4_1 = HEAP32[(0 + 115176 | 0) >> 2] | 0; + if (!$4_1) { + break label$50 + } + $6_1 = HEAP32[(0 + 115168 | 0) >> 2] | 0; + $9_1 = $6_1 + $8_1 | 0; + if ($9_1 >>> 0 <= $6_1 >>> 0) { + break label$1 + } + if ($9_1 >>> 0 > $4_1 >>> 0) { + break label$1 + } + } + if ((HEAPU8[(0 + 115180 | 0) >> 0] | 0) & 4 | 0) { + break label$6 + } + label$51 : { + label$52 : { + label$53 : { + $4_1 = HEAP32[(0 + 114760 | 0) >> 2] | 0; + if (!$4_1) { + break label$53 + } + $0_1 = 115184; + label$54 : while (1) { + label$55 : { + $6_1 = HEAP32[$0_1 >> 2] | 0; + if ($6_1 >>> 0 > $4_1 >>> 0) { + break label$55 + } + if (($6_1 + (HEAP32[($0_1 + 4 | 0) >> 2] | 0) | 0) >>> 0 > $4_1 >>> 0) { + break label$52 + } + } + $0_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + if ($0_1) { + continue label$54 + } + break label$54; + }; + } + $5_1 = $3285(0 | 0) | 0; + if (($5_1 | 0) == (-1 | 0)) { + break label$7 + } + $2_1 = $8_1; + label$56 : { + $0_1 = HEAP32[(0 + 115212 | 0) >> 2] | 0; + $4_1 = $0_1 + -1 | 0; + if (!($4_1 & $5_1 | 0)) { + break label$56 + } + $2_1 = ($8_1 - $5_1 | 0) + (($4_1 + $5_1 | 0) & (0 - $0_1 | 0) | 0) | 0; + } + if ($2_1 >>> 0 <= $3_1 >>> 0) { + break label$7 + } + if ($2_1 >>> 0 > 2147483646 >>> 0) { + break label$7 + } + label$57 : { + $0_1 = HEAP32[(0 + 115176 | 0) >> 2] | 0; + if (!$0_1) { + break label$57 + } + $4_1 = HEAP32[(0 + 115168 | 0) >> 2] | 0; + $6_1 = $4_1 + $2_1 | 0; + if ($6_1 >>> 0 <= $4_1 >>> 0) { + break label$7 + } + if ($6_1 >>> 0 > $0_1 >>> 0) { + break label$7 + } + } + $0_1 = $3285($2_1 | 0) | 0; + if (($0_1 | 0) != ($5_1 | 0)) { + break label$51 + } + break label$5; + } + $2_1 = ($2_1 - $5_1 | 0) & $12_1 | 0; + if ($2_1 >>> 0 > 2147483646 >>> 0) { + break label$7 + } + $5_1 = $3285($2_1 | 0) | 0; + if (($5_1 | 0) == ((HEAP32[$0_1 >> 2] | 0) + (HEAP32[($0_1 + 4 | 0) >> 2] | 0) | 0 | 0)) { + break label$8 + } + $0_1 = $5_1; + } + label$58 : { + if (($3_1 + 48 | 0) >>> 0 <= $2_1 >>> 0) { + break label$58 + } + if (($0_1 | 0) == (-1 | 0)) { + break label$58 + } + label$59 : { + $4_1 = HEAP32[(0 + 115216 | 0) >> 2] | 0; + $4_1 = (($7_1 - $2_1 | 0) + $4_1 | 0) & (0 - $4_1 | 0) | 0; + if ($4_1 >>> 0 <= 2147483646 >>> 0) { + break label$59 + } + $5_1 = $0_1; + break label$5; + } + label$60 : { + if (($3285($4_1 | 0) | 0 | 0) == (-1 | 0)) { + break label$60 + } + $2_1 = $4_1 + $2_1 | 0; + $5_1 = $0_1; + break label$5; + } + $3285(0 - $2_1 | 0 | 0) | 0; + break label$7; + } + $5_1 = $0_1; + if (($0_1 | 0) != (-1 | 0)) { + break label$5 + } + break label$7; + } + abort(); + } + $8_1 = 0; + break label$2; + } + $5_1 = 0; + break label$3; + } + if (($5_1 | 0) != (-1 | 0)) { + break label$5 + } + } + HEAP32[(0 + 115180 | 0) >> 2] = HEAP32[(0 + 115180 | 0) >> 2] | 0 | 4 | 0; + } + if ($8_1 >>> 0 > 2147483646 >>> 0) { + break label$4 + } + $5_1 = $3285($8_1 | 0) | 0; + $0_1 = $3285(0 | 0) | 0; + if ($5_1 >>> 0 >= $0_1 >>> 0) { + break label$4 + } + if (($5_1 | 0) == (-1 | 0)) { + break label$4 + } + if (($0_1 | 0) == (-1 | 0)) { + break label$4 + } + $2_1 = $0_1 - $5_1 | 0; + if ($2_1 >>> 0 <= ($3_1 + 40 | 0) >>> 0) { + break label$4 + } + } + $0_1 = (HEAP32[(0 + 115168 | 0) >> 2] | 0) + $2_1 | 0; + HEAP32[(0 + 115168 | 0) >> 2] = $0_1; + label$61 : { + if ($0_1 >>> 0 <= (HEAP32[(0 + 115172 | 0) >> 2] | 0) >>> 0) { + break label$61 + } + HEAP32[(0 + 115172 | 0) >> 2] = $0_1; + } + label$62 : { + label$63 : { + label$64 : { + label$65 : { + $4_1 = HEAP32[(0 + 114760 | 0) >> 2] | 0; + if (!$4_1) { + break label$65 + } + $0_1 = 115184; + label$66 : while (1) { + $6_1 = HEAP32[$0_1 >> 2] | 0; + $8_1 = HEAP32[($0_1 + 4 | 0) >> 2] | 0; + if (($5_1 | 0) == ($6_1 + $8_1 | 0 | 0)) { + break label$64 + } + $0_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + if ($0_1) { + continue label$66 + } + break label$63; + }; + } + label$67 : { + label$68 : { + $0_1 = HEAP32[(0 + 114752 | 0) >> 2] | 0; + if (!$0_1) { + break label$68 + } + if ($5_1 >>> 0 >= $0_1 >>> 0) { + break label$67 + } + } + HEAP32[(0 + 114752 | 0) >> 2] = $5_1; + } + $0_1 = 0; + HEAP32[(0 + 115188 | 0) >> 2] = $2_1; + HEAP32[(0 + 115184 | 0) >> 2] = $5_1; + HEAP32[(0 + 114768 | 0) >> 2] = -1; + HEAP32[(0 + 114772 | 0) >> 2] = HEAP32[(0 + 115208 | 0) >> 2] | 0; + HEAP32[(0 + 115196 | 0) >> 2] = 0; + label$69 : while (1) { + $4_1 = $0_1 << 3 | 0; + $6_1 = $4_1 + 114776 | 0; + HEAP32[($4_1 + 114784 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 114788 | 0) >> 2] = $6_1; + $0_1 = $0_1 + 1 | 0; + if (($0_1 | 0) != (32 | 0)) { + continue label$69 + } + break label$69; + }; + $0_1 = $2_1 + -40 | 0; + $4_1 = ($5_1 + 8 | 0) & 7 | 0 ? (-8 - $5_1 | 0) & 7 | 0 : 0; + $6_1 = $0_1 - $4_1 | 0; + HEAP32[(0 + 114748 | 0) >> 2] = $6_1; + $4_1 = $5_1 + $4_1 | 0; + HEAP32[(0 + 114760 | 0) >> 2] = $4_1; + HEAP32[($4_1 + 4 | 0) >> 2] = $6_1 | 1 | 0; + HEAP32[(($5_1 + $0_1 | 0) + 4 | 0) >> 2] = 40; + HEAP32[(0 + 114764 | 0) >> 2] = HEAP32[(0 + 115224 | 0) >> 2] | 0; + break label$62; + } + if ((HEAPU8[($0_1 + 12 | 0) >> 0] | 0) & 8 | 0) { + break label$63 + } + if ($5_1 >>> 0 <= $4_1 >>> 0) { + break label$63 + } + if ($6_1 >>> 0 > $4_1 >>> 0) { + break label$63 + } + HEAP32[($0_1 + 4 | 0) >> 2] = $8_1 + $2_1 | 0; + $0_1 = ($4_1 + 8 | 0) & 7 | 0 ? (-8 - $4_1 | 0) & 7 | 0 : 0; + $6_1 = $4_1 + $0_1 | 0; + HEAP32[(0 + 114760 | 0) >> 2] = $6_1; + $5_1 = (HEAP32[(0 + 114748 | 0) >> 2] | 0) + $2_1 | 0; + $0_1 = $5_1 - $0_1 | 0; + HEAP32[(0 + 114748 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $0_1 | 1 | 0; + HEAP32[(($4_1 + $5_1 | 0) + 4 | 0) >> 2] = 40; + HEAP32[(0 + 114764 | 0) >> 2] = HEAP32[(0 + 115224 | 0) >> 2] | 0; + break label$62; + } + label$70 : { + $8_1 = HEAP32[(0 + 114752 | 0) >> 2] | 0; + if ($5_1 >>> 0 >= $8_1 >>> 0) { + break label$70 + } + HEAP32[(0 + 114752 | 0) >> 2] = $5_1; + $8_1 = $5_1; + } + $6_1 = $5_1 + $2_1 | 0; + $0_1 = 115184; + label$71 : { + label$72 : { + label$73 : { + label$74 : { + label$75 : { + label$76 : { + label$77 : { + label$78 : while (1) { + if ((HEAP32[$0_1 >> 2] | 0 | 0) == ($6_1 | 0)) { + break label$77 + } + $0_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + if ($0_1) { + continue label$78 + } + break label$76; + }; + } + if (!((HEAPU8[($0_1 + 12 | 0) >> 0] | 0) & 8 | 0)) { + break label$75 + } + } + $0_1 = 115184; + label$79 : while (1) { + label$80 : { + $6_1 = HEAP32[$0_1 >> 2] | 0; + if ($6_1 >>> 0 > $4_1 >>> 0) { + break label$80 + } + $6_1 = $6_1 + (HEAP32[($0_1 + 4 | 0) >> 2] | 0) | 0; + if ($6_1 >>> 0 > $4_1 >>> 0) { + break label$74 + } + } + $0_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + continue label$79; + }; + } + HEAP32[$0_1 >> 2] = $5_1; + HEAP32[($0_1 + 4 | 0) >> 2] = (HEAP32[($0_1 + 4 | 0) >> 2] | 0) + $2_1 | 0; + $12_1 = $5_1 + (($5_1 + 8 | 0) & 7 | 0 ? (-8 - $5_1 | 0) & 7 | 0 : 0) | 0; + HEAP32[($12_1 + 4 | 0) >> 2] = $3_1 | 3 | 0; + $5_1 = $6_1 + (($6_1 + 8 | 0) & 7 | 0 ? (-8 - $6_1 | 0) & 7 | 0 : 0) | 0; + $0_1 = ($5_1 - $12_1 | 0) - $3_1 | 0; + $6_1 = $12_1 + $3_1 | 0; + label$81 : { + if (($4_1 | 0) != ($5_1 | 0)) { + break label$81 + } + HEAP32[(0 + 114760 | 0) >> 2] = $6_1; + $0_1 = (HEAP32[(0 + 114748 | 0) >> 2] | 0) + $0_1 | 0; + HEAP32[(0 + 114748 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $0_1 | 1 | 0; + break label$72; + } + label$82 : { + if ((HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0) != ($5_1 | 0)) { + break label$82 + } + HEAP32[(0 + 114756 | 0) >> 2] = $6_1; + $0_1 = (HEAP32[(0 + 114744 | 0) >> 2] | 0) + $0_1 | 0; + HEAP32[(0 + 114744 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $0_1 | 1 | 0; + HEAP32[($6_1 + $0_1 | 0) >> 2] = $0_1; + break label$72; + } + label$83 : { + $4_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + if (($4_1 & 3 | 0 | 0) != (1 | 0)) { + break label$83 + } + $7_1 = $4_1 & -8 | 0; + label$84 : { + label$85 : { + if ($4_1 >>> 0 > 255 >>> 0) { + break label$85 + } + $3_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + label$86 : { + $2_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $9_1 = $4_1 >>> 3 | 0; + $4_1 = ($9_1 << 3 | 0) + 114776 | 0; + if (($2_1 | 0) == ($4_1 | 0)) { + break label$86 + } + } + label$87 : { + if (($3_1 | 0) != ($2_1 | 0)) { + break label$87 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114736 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $9_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114736 | 0) >> 2] = wasm2js_i32$1; + break label$84; + } + label$88 : { + if (($3_1 | 0) == ($4_1 | 0)) { + break label$88 + } + } + HEAP32[($2_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $2_1; + break label$84; + } + $9_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$89 : { + label$90 : { + $2_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + if (($2_1 | 0) == ($5_1 | 0)) { + break label$90 + } + label$91 : { + $4_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + if ($8_1 >>> 0 > $4_1 >>> 0) { + break label$91 + } + HEAP32[($4_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($4_1 + 12 | 0) >> 2] = $2_1; + HEAP32[($2_1 + 8 | 0) >> 2] = $4_1; + break label$89; + } + label$92 : { + $4_1 = $5_1 + 20 | 0; + $3_1 = HEAP32[$4_1 >> 2] | 0; + if ($3_1) { + break label$92 + } + $4_1 = $5_1 + 16 | 0; + $3_1 = HEAP32[$4_1 >> 2] | 0; + if ($3_1) { + break label$92 + } + $2_1 = 0; + break label$89; + } + label$93 : while (1) { + $8_1 = $4_1; + $2_1 = $3_1; + $4_1 = $3_1 + 20 | 0; + $3_1 = HEAP32[$4_1 >> 2] | 0; + if ($3_1) { + continue label$93 + } + $4_1 = $2_1 + 16 | 0; + $3_1 = HEAP32[($2_1 + 16 | 0) >> 2] | 0; + if ($3_1) { + continue label$93 + } + break label$93; + }; + HEAP32[$8_1 >> 2] = 0; + } + if (!$9_1) { + break label$84 + } + label$94 : { + label$95 : { + $3_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $4_1 = ($3_1 << 2 | 0) + 115040 | 0; + if ((HEAP32[$4_1 >> 2] | 0 | 0) != ($5_1 | 0)) { + break label$95 + } + HEAP32[$4_1 >> 2] = $2_1; + if ($2_1) { + break label$94 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114740 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $3_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114740 | 0) >> 2] = wasm2js_i32$1; + break label$84; + } + HEAP32[($9_1 + ((HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0) == ($5_1 | 0) ? 16 : 20) | 0) >> 2] = $2_1; + if (!$2_1) { + break label$84 + } + } + HEAP32[($2_1 + 24 | 0) >> 2] = $9_1; + label$96 : { + $4_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + if (!$4_1) { + break label$96 + } + HEAP32[($2_1 + 16 | 0) >> 2] = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $2_1; + } + $4_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + if (!$4_1) { + break label$84 + } + HEAP32[($2_1 + 20 | 0) >> 2] = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $2_1; + } + $0_1 = $7_1 + $0_1 | 0; + $5_1 = $5_1 + $7_1 | 0; + } + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) & -2 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = $0_1 | 1 | 0; + HEAP32[($6_1 + $0_1 | 0) >> 2] = $0_1; + label$97 : { + if ($0_1 >>> 0 > 255 >>> 0) { + break label$97 + } + $4_1 = $0_1 >>> 3 | 0; + $0_1 = ($4_1 << 3 | 0) + 114776 | 0; + label$98 : { + label$99 : { + $3_1 = HEAP32[(0 + 114736 | 0) >> 2] | 0; + $4_1 = 1 << $4_1 | 0; + if ($3_1 & $4_1 | 0) { + break label$99 + } + HEAP32[(0 + 114736 | 0) >> 2] = $3_1 | $4_1 | 0; + $4_1 = $0_1; + break label$98; + } + $4_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($0_1 + 8 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $4_1; + break label$72; + } + $4_1 = 0; + label$100 : { + $3_1 = $0_1 >>> 8 | 0; + if (!$3_1) { + break label$100 + } + $4_1 = 31; + if ($0_1 >>> 0 > 16777215 >>> 0) { + break label$100 + } + $4_1 = (($3_1 + 1048320 | 0) >>> 16 | 0) & 8 | 0; + $3_1 = $3_1 << $4_1 | 0; + $1205_1 = $3_1; + $3_1 = (($3_1 + 520192 | 0) >>> 16 | 0) & 4 | 0; + $5_1 = $1205_1 << $3_1 | 0; + $1212_1 = $5_1; + $5_1 = (($5_1 + 245760 | 0) >>> 16 | 0) & 2 | 0; + $4_1 = (($1212_1 << $5_1 | 0) >>> 15 | 0) - ($3_1 | $4_1 | 0 | $5_1 | 0) | 0; + $4_1 = ($4_1 << 1 | 0 | (($0_1 >>> ($4_1 + 21 | 0) | 0) & 1 | 0) | 0) + 28 | 0; + } + HEAP32[($6_1 + 28 | 0) >> 2] = $4_1; + i64toi32_i32$1 = $6_1; + i64toi32_i32$0 = 0; + HEAP32[($6_1 + 16 | 0) >> 2] = 0; + HEAP32[($6_1 + 20 | 0) >> 2] = i64toi32_i32$0; + $3_1 = ($4_1 << 2 | 0) + 115040 | 0; + label$101 : { + label$102 : { + $5_1 = HEAP32[(0 + 114740 | 0) >> 2] | 0; + $8_1 = 1 << $4_1 | 0; + if ($5_1 & $8_1 | 0) { + break label$102 + } + HEAP32[(0 + 114740 | 0) >> 2] = $5_1 | $8_1 | 0; + HEAP32[$3_1 >> 2] = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + break label$101; + } + $4_1 = $0_1 << (($4_1 | 0) == (31 | 0) ? 0 : 25 - ($4_1 >>> 1 | 0) | 0) | 0; + $5_1 = HEAP32[$3_1 >> 2] | 0; + label$103 : while (1) { + $3_1 = $5_1; + if (((HEAP32[($5_1 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($0_1 | 0)) { + break label$73 + } + $5_1 = $4_1 >>> 29 | 0; + $4_1 = $4_1 << 1 | 0; + $8_1 = ($3_1 + ($5_1 & 4 | 0) | 0) + 16 | 0; + $5_1 = HEAP32[$8_1 >> 2] | 0; + if ($5_1) { + continue label$103 + } + break label$103; + }; + HEAP32[$8_1 >> 2] = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = $3_1; + } + HEAP32[($6_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $6_1; + break label$72; + } + $0_1 = $2_1 + -40 | 0; + $8_1 = ($5_1 + 8 | 0) & 7 | 0 ? (-8 - $5_1 | 0) & 7 | 0 : 0; + $12_1 = $0_1 - $8_1 | 0; + HEAP32[(0 + 114748 | 0) >> 2] = $12_1; + $8_1 = $5_1 + $8_1 | 0; + HEAP32[(0 + 114760 | 0) >> 2] = $8_1; + HEAP32[($8_1 + 4 | 0) >> 2] = $12_1 | 1 | 0; + HEAP32[(($5_1 + $0_1 | 0) + 4 | 0) >> 2] = 40; + HEAP32[(0 + 114764 | 0) >> 2] = HEAP32[(0 + 115224 | 0) >> 2] | 0; + $0_1 = ($6_1 + (($6_1 + -39 | 0) & 7 | 0 ? (39 - $6_1 | 0) & 7 | 0 : 0) | 0) + -47 | 0; + $8_1 = $0_1 >>> 0 < ($4_1 + 16 | 0) >>> 0 ? $4_1 : $0_1; + HEAP32[($8_1 + 4 | 0) >> 2] = 27; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 115192 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 115196 | 0) >> 2] | 0; + $1334_1 = i64toi32_i32$0; + i64toi32_i32$0 = $8_1 + 16 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1334_1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 115184 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 115188 | 0) >> 2] | 0; + $1336_1 = i64toi32_i32$1; + i64toi32_i32$1 = $8_1; + HEAP32[($8_1 + 8 | 0) >> 2] = $1336_1; + HEAP32[($8_1 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(0 + 115192 | 0) >> 2] = $8_1 + 8 | 0; + HEAP32[(0 + 115188 | 0) >> 2] = $2_1; + HEAP32[(0 + 115184 | 0) >> 2] = $5_1; + HEAP32[(0 + 115196 | 0) >> 2] = 0; + $0_1 = $8_1 + 24 | 0; + label$104 : while (1) { + HEAP32[($0_1 + 4 | 0) >> 2] = 7; + $5_1 = $0_1 + 8 | 0; + $0_1 = $0_1 + 4 | 0; + if ($6_1 >>> 0 > $5_1 >>> 0) { + continue label$104 + } + break label$104; + }; + if (($8_1 | 0) == ($4_1 | 0)) { + break label$62 + } + HEAP32[($8_1 + 4 | 0) >> 2] = (HEAP32[($8_1 + 4 | 0) >> 2] | 0) & -2 | 0; + $2_1 = $8_1 - $4_1 | 0; + HEAP32[($4_1 + 4 | 0) >> 2] = $2_1 | 1 | 0; + HEAP32[$8_1 >> 2] = $2_1; + label$105 : { + if ($2_1 >>> 0 > 255 >>> 0) { + break label$105 + } + $6_1 = $2_1 >>> 3 | 0; + $0_1 = ($6_1 << 3 | 0) + 114776 | 0; + label$106 : { + label$107 : { + $5_1 = HEAP32[(0 + 114736 | 0) >> 2] | 0; + $6_1 = 1 << $6_1 | 0; + if ($5_1 & $6_1 | 0) { + break label$107 + } + HEAP32[(0 + 114736 | 0) >> 2] = $5_1 | $6_1 | 0; + $6_1 = $0_1; + break label$106; + } + $6_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($0_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($6_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $6_1; + break label$62; + } + $0_1 = 0; + label$108 : { + $6_1 = $2_1 >>> 8 | 0; + if (!$6_1) { + break label$108 + } + $0_1 = 31; + if ($2_1 >>> 0 > 16777215 >>> 0) { + break label$108 + } + $0_1 = (($6_1 + 1048320 | 0) >>> 16 | 0) & 8 | 0; + $6_1 = $6_1 << $0_1 | 0; + $1406_1 = $6_1; + $6_1 = (($6_1 + 520192 | 0) >>> 16 | 0) & 4 | 0; + $5_1 = $1406_1 << $6_1 | 0; + $1413_1 = $5_1; + $5_1 = (($5_1 + 245760 | 0) >>> 16 | 0) & 2 | 0; + $0_1 = (($1413_1 << $5_1 | 0) >>> 15 | 0) - ($6_1 | $0_1 | 0 | $5_1 | 0) | 0; + $0_1 = ($0_1 << 1 | 0 | (($2_1 >>> ($0_1 + 21 | 0) | 0) & 1 | 0) | 0) + 28 | 0; + } + i64toi32_i32$1 = $4_1; + i64toi32_i32$0 = 0; + HEAP32[($4_1 + 16 | 0) >> 2] = 0; + HEAP32[($4_1 + 20 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 28 | 0) >> 2] = $0_1; + $6_1 = ($0_1 << 2 | 0) + 115040 | 0; + label$109 : { + label$110 : { + $5_1 = HEAP32[(0 + 114740 | 0) >> 2] | 0; + $8_1 = 1 << $0_1 | 0; + if ($5_1 & $8_1 | 0) { + break label$110 + } + HEAP32[(0 + 114740 | 0) >> 2] = $5_1 | $8_1 | 0; + HEAP32[$6_1 >> 2] = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $6_1; + break label$109; + } + $0_1 = $2_1 << (($0_1 | 0) == (31 | 0) ? 0 : 25 - ($0_1 >>> 1 | 0) | 0) | 0; + $5_1 = HEAP32[$6_1 >> 2] | 0; + label$111 : while (1) { + $6_1 = $5_1; + if (((HEAP32[($6_1 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($2_1 | 0)) { + break label$71 + } + $5_1 = $0_1 >>> 29 | 0; + $0_1 = $0_1 << 1 | 0; + $8_1 = ($6_1 + ($5_1 & 4 | 0) | 0) + 16 | 0; + $5_1 = HEAP32[$8_1 >> 2] | 0; + if ($5_1) { + continue label$111 + } + break label$111; + }; + HEAP32[$8_1 >> 2] = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = $6_1; + } + HEAP32[($4_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $4_1; + break label$62; + } + $0_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + HEAP32[($0_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $6_1; + HEAP32[($6_1 + 24 | 0) >> 2] = 0; + HEAP32[($6_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $0_1; + } + $0_1 = $12_1 + 8 | 0; + break label$1; + } + $0_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($0_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $4_1; + HEAP32[($4_1 + 24 | 0) >> 2] = 0; + HEAP32[($4_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $0_1; + } + $0_1 = HEAP32[(0 + 114748 | 0) >> 2] | 0; + if ($0_1 >>> 0 <= $3_1 >>> 0) { + break label$4 + } + $4_1 = $0_1 - $3_1 | 0; + HEAP32[(0 + 114748 | 0) >> 2] = $4_1; + $0_1 = HEAP32[(0 + 114760 | 0) >> 2] | 0; + $6_1 = $0_1 + $3_1 | 0; + HEAP32[(0 + 114760 | 0) >> 2] = $6_1; + HEAP32[($6_1 + 4 | 0) >> 2] = $4_1 | 1 | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = $3_1 | 3 | 0; + $0_1 = $0_1 + 8 | 0; + break label$1; + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 48), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $0_1 = 0; + break label$1; + } + label$112 : { + if (!$9_1) { + break label$112 + } + label$113 : { + label$114 : { + $6_1 = HEAP32[($8_1 + 28 | 0) >> 2] | 0; + $0_1 = ($6_1 << 2 | 0) + 115040 | 0; + if (($8_1 | 0) != (HEAP32[$0_1 >> 2] | 0 | 0)) { + break label$114 + } + HEAP32[$0_1 >> 2] = $5_1; + if ($5_1) { + break label$113 + } + $7_1 = $7_1 & (__wasm_rotl_i32(-2 | 0, $6_1 | 0) | 0) | 0; + HEAP32[(0 + 114740 | 0) >> 2] = $7_1; + break label$112; + } + HEAP32[($9_1 + ((HEAP32[($9_1 + 16 | 0) >> 2] | 0 | 0) == ($8_1 | 0) ? 16 : 20) | 0) >> 2] = $5_1; + if (!$5_1) { + break label$112 + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = $9_1; + label$115 : { + $0_1 = HEAP32[($8_1 + 16 | 0) >> 2] | 0; + if (!$0_1) { + break label$115 + } + HEAP32[($5_1 + 16 | 0) >> 2] = $0_1; + HEAP32[($0_1 + 24 | 0) >> 2] = $5_1; + } + $0_1 = HEAP32[($8_1 + 20 | 0) >> 2] | 0; + if (!$0_1) { + break label$112 + } + HEAP32[($5_1 + 20 | 0) >> 2] = $0_1; + HEAP32[($0_1 + 24 | 0) >> 2] = $5_1; + } + label$116 : { + label$117 : { + if ($4_1 >>> 0 > 15 >>> 0) { + break label$117 + } + $0_1 = $4_1 + $3_1 | 0; + HEAP32[($8_1 + 4 | 0) >> 2] = $0_1 | 3 | 0; + $0_1 = $8_1 + $0_1 | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = HEAP32[($0_1 + 4 | 0) >> 2] | 0 | 1 | 0; + break label$116; + } + HEAP32[($8_1 + 4 | 0) >> 2] = $3_1 | 3 | 0; + HEAP32[($12_1 + 4 | 0) >> 2] = $4_1 | 1 | 0; + HEAP32[($12_1 + $4_1 | 0) >> 2] = $4_1; + label$118 : { + if ($4_1 >>> 0 > 255 >>> 0) { + break label$118 + } + $4_1 = $4_1 >>> 3 | 0; + $0_1 = ($4_1 << 3 | 0) + 114776 | 0; + label$119 : { + label$120 : { + $6_1 = HEAP32[(0 + 114736 | 0) >> 2] | 0; + $4_1 = 1 << $4_1 | 0; + if ($6_1 & $4_1 | 0) { + break label$120 + } + HEAP32[(0 + 114736 | 0) >> 2] = $6_1 | $4_1 | 0; + $4_1 = $0_1; + break label$119; + } + $4_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($0_1 + 8 | 0) >> 2] = $12_1; + HEAP32[($4_1 + 12 | 0) >> 2] = $12_1; + HEAP32[($12_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($12_1 + 8 | 0) >> 2] = $4_1; + break label$116; + } + label$121 : { + label$122 : { + $6_1 = $4_1 >>> 8 | 0; + if ($6_1) { + break label$122 + } + $0_1 = 0; + break label$121; + } + $0_1 = 31; + if ($4_1 >>> 0 > 16777215 >>> 0) { + break label$121 + } + $0_1 = (($6_1 + 1048320 | 0) >>> 16 | 0) & 8 | 0; + $6_1 = $6_1 << $0_1 | 0; + $1654_1 = $6_1; + $6_1 = (($6_1 + 520192 | 0) >>> 16 | 0) & 4 | 0; + $3_1 = $1654_1 << $6_1 | 0; + $1661_1 = $3_1; + $3_1 = (($3_1 + 245760 | 0) >>> 16 | 0) & 2 | 0; + $0_1 = (($1661_1 << $3_1 | 0) >>> 15 | 0) - ($6_1 | $0_1 | 0 | $3_1 | 0) | 0; + $0_1 = ($0_1 << 1 | 0 | (($4_1 >>> ($0_1 + 21 | 0) | 0) & 1 | 0) | 0) + 28 | 0; + } + HEAP32[($12_1 + 28 | 0) >> 2] = $0_1; + i64toi32_i32$1 = $12_1; + i64toi32_i32$0 = 0; + HEAP32[($12_1 + 16 | 0) >> 2] = 0; + HEAP32[($12_1 + 20 | 0) >> 2] = i64toi32_i32$0; + $6_1 = ($0_1 << 2 | 0) + 115040 | 0; + label$123 : { + label$124 : { + label$125 : { + $3_1 = 1 << $0_1 | 0; + if ($7_1 & $3_1 | 0) { + break label$125 + } + HEAP32[(0 + 114740 | 0) >> 2] = $7_1 | $3_1 | 0; + HEAP32[$6_1 >> 2] = $12_1; + HEAP32[($12_1 + 24 | 0) >> 2] = $6_1; + break label$124; + } + $0_1 = $4_1 << (($0_1 | 0) == (31 | 0) ? 0 : 25 - ($0_1 >>> 1 | 0) | 0) | 0; + $3_1 = HEAP32[$6_1 >> 2] | 0; + label$126 : while (1) { + $6_1 = $3_1; + if (((HEAP32[($6_1 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($4_1 | 0)) { + break label$123 + } + $3_1 = $0_1 >>> 29 | 0; + $0_1 = $0_1 << 1 | 0; + $5_1 = ($6_1 + ($3_1 & 4 | 0) | 0) + 16 | 0; + $3_1 = HEAP32[$5_1 >> 2] | 0; + if ($3_1) { + continue label$126 + } + break label$126; + }; + HEAP32[$5_1 >> 2] = $12_1; + HEAP32[($12_1 + 24 | 0) >> 2] = $6_1; + } + HEAP32[($12_1 + 12 | 0) >> 2] = $12_1; + HEAP32[($12_1 + 8 | 0) >> 2] = $12_1; + break label$116; + } + $0_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + HEAP32[($0_1 + 12 | 0) >> 2] = $12_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $12_1; + HEAP32[($12_1 + 24 | 0) >> 2] = 0; + HEAP32[($12_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($12_1 + 8 | 0) >> 2] = $0_1; + } + $0_1 = $8_1 + 8 | 0; + break label$1; + } + label$127 : { + if (!$11_1) { + break label$127 + } + label$128 : { + label$129 : { + $6_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $0_1 = ($6_1 << 2 | 0) + 115040 | 0; + if (($5_1 | 0) != (HEAP32[$0_1 >> 2] | 0 | 0)) { + break label$129 + } + HEAP32[$0_1 >> 2] = $8_1; + if ($8_1) { + break label$128 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = $9_1 & (__wasm_rotl_i32(-2 | 0, $6_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114740 | 0) >> 2] = wasm2js_i32$1; + break label$127; + } + HEAP32[($11_1 + ((HEAP32[($11_1 + 16 | 0) >> 2] | 0 | 0) == ($5_1 | 0) ? 16 : 20) | 0) >> 2] = $8_1; + if (!$8_1) { + break label$127 + } + } + HEAP32[($8_1 + 24 | 0) >> 2] = $11_1; + label$130 : { + $0_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + if (!$0_1) { + break label$130 + } + HEAP32[($8_1 + 16 | 0) >> 2] = $0_1; + HEAP32[($0_1 + 24 | 0) >> 2] = $8_1; + } + $0_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + if (!$0_1) { + break label$127 + } + HEAP32[($8_1 + 20 | 0) >> 2] = $0_1; + HEAP32[($0_1 + 24 | 0) >> 2] = $8_1; + } + label$131 : { + label$132 : { + if ($4_1 >>> 0 > 15 >>> 0) { + break label$132 + } + $0_1 = $4_1 + $3_1 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $0_1 | 3 | 0; + $0_1 = $5_1 + $0_1 | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = HEAP32[($0_1 + 4 | 0) >> 2] | 0 | 1 | 0; + break label$131; + } + HEAP32[($5_1 + 4 | 0) >> 2] = $3_1 | 3 | 0; + HEAP32[($10_1 + 4 | 0) >> 2] = $4_1 | 1 | 0; + HEAP32[($10_1 + $4_1 | 0) >> 2] = $4_1; + label$133 : { + if (!$7_1) { + break label$133 + } + $3_1 = $7_1 >>> 3 | 0; + $6_1 = ($3_1 << 3 | 0) + 114776 | 0; + $0_1 = HEAP32[(0 + 114756 | 0) >> 2] | 0; + label$134 : { + label$135 : { + $3_1 = 1 << $3_1 | 0; + if ($3_1 & $2_1 | 0) { + break label$135 + } + HEAP32[(0 + 114736 | 0) >> 2] = $3_1 | $2_1 | 0; + $3_1 = $6_1; + break label$134; + } + $3_1 = HEAP32[($6_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($6_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($0_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($0_1 + 8 | 0) >> 2] = $3_1; + } + HEAP32[(0 + 114756 | 0) >> 2] = $10_1; + HEAP32[(0 + 114744 | 0) >> 2] = $4_1; + } + $0_1 = $5_1 + 8 | 0; + } + global$0 = $1_1 + 16 | 0; + return $0_1 | 0; + } + + function $3278($0_1) { + $0_1 = $0_1 | 0; + var $2_1 = 0, $5_1 = 0, $1_1 = 0, $4_1 = 0, $3_1 = 0, $7_1 = 0, $6_1 = 0, $408_1 = 0, $415_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + label$1 : { + if (!$0_1) { + break label$1 + } + $1_1 = $0_1 + -8 | 0; + $2_1 = HEAP32[($0_1 + -4 | 0) >> 2] | 0; + $0_1 = $2_1 & -8 | 0; + $3_1 = $1_1 + $0_1 | 0; + label$2 : { + if ($2_1 & 1 | 0) { + break label$2 + } + if (!($2_1 & 3 | 0)) { + break label$1 + } + $2_1 = HEAP32[$1_1 >> 2] | 0; + $1_1 = $1_1 - $2_1 | 0; + $4_1 = HEAP32[(0 + 114752 | 0) >> 2] | 0; + if ($1_1 >>> 0 < $4_1 >>> 0) { + break label$1 + } + $0_1 = $2_1 + $0_1 | 0; + label$3 : { + if ((HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0) == ($1_1 | 0)) { + break label$3 + } + label$4 : { + if ($2_1 >>> 0 > 255 >>> 0) { + break label$4 + } + $5_1 = HEAP32[($1_1 + 12 | 0) >> 2] | 0; + label$5 : { + $6_1 = HEAP32[($1_1 + 8 | 0) >> 2] | 0; + $7_1 = $2_1 >>> 3 | 0; + $2_1 = ($7_1 << 3 | 0) + 114776 | 0; + if (($6_1 | 0) == ($2_1 | 0)) { + break label$5 + } + } + label$6 : { + if (($5_1 | 0) != ($6_1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114736 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $7_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114736 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + label$7 : { + if (($5_1 | 0) == ($2_1 | 0)) { + break label$7 + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $6_1; + break label$2; + } + $7_1 = HEAP32[($1_1 + 24 | 0) >> 2] | 0; + label$8 : { + label$9 : { + $5_1 = HEAP32[($1_1 + 12 | 0) >> 2] | 0; + if (($5_1 | 0) == ($1_1 | 0)) { + break label$9 + } + label$10 : { + $2_1 = HEAP32[($1_1 + 8 | 0) >> 2] | 0; + if ($4_1 >>> 0 > $2_1 >>> 0) { + break label$10 + } + HEAP32[($2_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($2_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $2_1; + break label$8; + } + label$11 : { + $2_1 = $1_1 + 20 | 0; + $4_1 = HEAP32[$2_1 >> 2] | 0; + if ($4_1) { + break label$11 + } + $2_1 = $1_1 + 16 | 0; + $4_1 = HEAP32[$2_1 >> 2] | 0; + if ($4_1) { + break label$11 + } + $5_1 = 0; + break label$8; + } + label$12 : while (1) { + $6_1 = $2_1; + $5_1 = $4_1; + $2_1 = $5_1 + 20 | 0; + $4_1 = HEAP32[$2_1 >> 2] | 0; + if ($4_1) { + continue label$12 + } + $2_1 = $5_1 + 16 | 0; + $4_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + if ($4_1) { + continue label$12 + } + break label$12; + }; + HEAP32[$6_1 >> 2] = 0; + } + if (!$7_1) { + break label$2 + } + label$13 : { + label$14 : { + $4_1 = HEAP32[($1_1 + 28 | 0) >> 2] | 0; + $2_1 = ($4_1 << 2 | 0) + 115040 | 0; + if ((HEAP32[$2_1 >> 2] | 0 | 0) != ($1_1 | 0)) { + break label$14 + } + HEAP32[$2_1 >> 2] = $5_1; + if ($5_1) { + break label$13 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114740 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $4_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114740 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + HEAP32[($7_1 + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == ($1_1 | 0) ? 16 : 20) | 0) >> 2] = $5_1; + if (!$5_1) { + break label$2 + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = $7_1; + label$15 : { + $2_1 = HEAP32[($1_1 + 16 | 0) >> 2] | 0; + if (!$2_1) { + break label$15 + } + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($2_1 + 24 | 0) >> 2] = $5_1; + } + $2_1 = HEAP32[($1_1 + 20 | 0) >> 2] | 0; + if (!$2_1) { + break label$2 + } + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($2_1 + 24 | 0) >> 2] = $5_1; + break label$2; + } + $2_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + if (($2_1 & 3 | 0 | 0) != (3 | 0)) { + break label$2 + } + HEAP32[(0 + 114744 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $2_1 & -2 | 0; + HEAP32[($1_1 + 4 | 0) >> 2] = $0_1 | 1 | 0; + HEAP32[($1_1 + $0_1 | 0) >> 2] = $0_1; + return; + } + if ($3_1 >>> 0 <= $1_1 >>> 0) { + break label$1 + } + $2_1 = HEAP32[($3_1 + 4 | 0) >> 2] | 0; + if (!($2_1 & 1 | 0)) { + break label$1 + } + label$16 : { + label$17 : { + if ($2_1 & 2 | 0) { + break label$17 + } + label$18 : { + if ((HEAP32[(0 + 114760 | 0) >> 2] | 0 | 0) != ($3_1 | 0)) { + break label$18 + } + HEAP32[(0 + 114760 | 0) >> 2] = $1_1; + $0_1 = (HEAP32[(0 + 114748 | 0) >> 2] | 0) + $0_1 | 0; + HEAP32[(0 + 114748 | 0) >> 2] = $0_1; + HEAP32[($1_1 + 4 | 0) >> 2] = $0_1 | 1 | 0; + if (($1_1 | 0) != (HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0)) { + break label$1 + } + HEAP32[(0 + 114744 | 0) >> 2] = 0; + HEAP32[(0 + 114756 | 0) >> 2] = 0; + return; + } + label$19 : { + if ((HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0) != ($3_1 | 0)) { + break label$19 + } + HEAP32[(0 + 114756 | 0) >> 2] = $1_1; + $0_1 = (HEAP32[(0 + 114744 | 0) >> 2] | 0) + $0_1 | 0; + HEAP32[(0 + 114744 | 0) >> 2] = $0_1; + HEAP32[($1_1 + 4 | 0) >> 2] = $0_1 | 1 | 0; + HEAP32[($1_1 + $0_1 | 0) >> 2] = $0_1; + return; + } + $0_1 = ($2_1 & -8 | 0) + $0_1 | 0; + label$20 : { + label$21 : { + if ($2_1 >>> 0 > 255 >>> 0) { + break label$21 + } + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + label$22 : { + $5_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + $3_1 = $2_1 >>> 3 | 0; + $2_1 = ($3_1 << 3 | 0) + 114776 | 0; + if (($5_1 | 0) == ($2_1 | 0)) { + break label$22 + } + HEAP32[(0 + 114752 | 0) >> 2] | 0; + } + label$23 : { + if (($4_1 | 0) != ($5_1 | 0)) { + break label$23 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114736 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $3_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114736 | 0) >> 2] = wasm2js_i32$1; + break label$20; + } + label$24 : { + if (($4_1 | 0) == ($2_1 | 0)) { + break label$24 + } + HEAP32[(0 + 114752 | 0) >> 2] | 0; + } + HEAP32[($5_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $5_1; + break label$20; + } + $7_1 = HEAP32[($3_1 + 24 | 0) >> 2] | 0; + label$25 : { + label$26 : { + $5_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + if (($5_1 | 0) == ($3_1 | 0)) { + break label$26 + } + label$27 : { + $2_1 = HEAP32[($3_1 + 8 | 0) >> 2] | 0; + if ((HEAP32[(0 + 114752 | 0) >> 2] | 0) >>> 0 > $2_1 >>> 0) { + break label$27 + } + HEAP32[($2_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($2_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $2_1; + break label$25; + } + label$28 : { + $2_1 = $3_1 + 20 | 0; + $4_1 = HEAP32[$2_1 >> 2] | 0; + if ($4_1) { + break label$28 + } + $2_1 = $3_1 + 16 | 0; + $4_1 = HEAP32[$2_1 >> 2] | 0; + if ($4_1) { + break label$28 + } + $5_1 = 0; + break label$25; + } + label$29 : while (1) { + $6_1 = $2_1; + $5_1 = $4_1; + $2_1 = $5_1 + 20 | 0; + $4_1 = HEAP32[$2_1 >> 2] | 0; + if ($4_1) { + continue label$29 + } + $2_1 = $5_1 + 16 | 0; + $4_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + if ($4_1) { + continue label$29 + } + break label$29; + }; + HEAP32[$6_1 >> 2] = 0; + } + if (!$7_1) { + break label$20 + } + label$30 : { + label$31 : { + $4_1 = HEAP32[($3_1 + 28 | 0) >> 2] | 0; + $2_1 = ($4_1 << 2 | 0) + 115040 | 0; + if ((HEAP32[$2_1 >> 2] | 0 | 0) != ($3_1 | 0)) { + break label$31 + } + HEAP32[$2_1 >> 2] = $5_1; + if ($5_1) { + break label$30 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114740 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $4_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114740 | 0) >> 2] = wasm2js_i32$1; + break label$20; + } + HEAP32[($7_1 + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == ($3_1 | 0) ? 16 : 20) | 0) >> 2] = $5_1; + if (!$5_1) { + break label$20 + } + } + HEAP32[($5_1 + 24 | 0) >> 2] = $7_1; + label$32 : { + $2_1 = HEAP32[($3_1 + 16 | 0) >> 2] | 0; + if (!$2_1) { + break label$32 + } + HEAP32[($5_1 + 16 | 0) >> 2] = $2_1; + HEAP32[($2_1 + 24 | 0) >> 2] = $5_1; + } + $2_1 = HEAP32[($3_1 + 20 | 0) >> 2] | 0; + if (!$2_1) { + break label$20 + } + HEAP32[($5_1 + 20 | 0) >> 2] = $2_1; + HEAP32[($2_1 + 24 | 0) >> 2] = $5_1; + } + HEAP32[($1_1 + 4 | 0) >> 2] = $0_1 | 1 | 0; + HEAP32[($1_1 + $0_1 | 0) >> 2] = $0_1; + if (($1_1 | 0) != (HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0)) { + break label$16 + } + HEAP32[(0 + 114744 | 0) >> 2] = $0_1; + return; + } + HEAP32[($3_1 + 4 | 0) >> 2] = $2_1 & -2 | 0; + HEAP32[($1_1 + 4 | 0) >> 2] = $0_1 | 1 | 0; + HEAP32[($1_1 + $0_1 | 0) >> 2] = $0_1; + } + label$33 : { + if ($0_1 >>> 0 > 255 >>> 0) { + break label$33 + } + $2_1 = $0_1 >>> 3 | 0; + $0_1 = ($2_1 << 3 | 0) + 114776 | 0; + label$34 : { + label$35 : { + $4_1 = HEAP32[(0 + 114736 | 0) >> 2] | 0; + $2_1 = 1 << $2_1 | 0; + if ($4_1 & $2_1 | 0) { + break label$35 + } + HEAP32[(0 + 114736 | 0) >> 2] = $4_1 | $2_1 | 0; + $2_1 = $0_1; + break label$34; + } + $2_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($0_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($2_1 + 12 | 0) >> 2] = $1_1; + HEAP32[($1_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($1_1 + 8 | 0) >> 2] = $2_1; + return; + } + $2_1 = 0; + label$36 : { + $4_1 = $0_1 >>> 8 | 0; + if (!$4_1) { + break label$36 + } + $2_1 = 31; + if ($0_1 >>> 0 > 16777215 >>> 0) { + break label$36 + } + $2_1 = (($4_1 + 1048320 | 0) >>> 16 | 0) & 8 | 0; + $4_1 = $4_1 << $2_1 | 0; + $408_1 = $4_1; + $4_1 = (($4_1 + 520192 | 0) >>> 16 | 0) & 4 | 0; + $5_1 = $408_1 << $4_1 | 0; + $415_1 = $5_1; + $5_1 = (($5_1 + 245760 | 0) >>> 16 | 0) & 2 | 0; + $2_1 = (($415_1 << $5_1 | 0) >>> 15 | 0) - ($4_1 | $2_1 | 0 | $5_1 | 0) | 0; + $2_1 = ($2_1 << 1 | 0 | (($0_1 >>> ($2_1 + 21 | 0) | 0) & 1 | 0) | 0) + 28 | 0; + } + HEAP32[($1_1 + 16 | 0) >> 2] = 0; + HEAP32[($1_1 + 20 | 0) >> 2] = 0; + HEAP32[($1_1 + 28 | 0) >> 2] = $2_1; + $4_1 = ($2_1 << 2 | 0) + 115040 | 0; + label$37 : { + label$38 : { + label$39 : { + label$40 : { + $5_1 = HEAP32[(0 + 114740 | 0) >> 2] | 0; + $3_1 = 1 << $2_1 | 0; + if ($5_1 & $3_1 | 0) { + break label$40 + } + HEAP32[(0 + 114740 | 0) >> 2] = $5_1 | $3_1 | 0; + HEAP32[$4_1 >> 2] = $1_1; + HEAP32[($1_1 + 24 | 0) >> 2] = $4_1; + break label$39; + } + $2_1 = $0_1 << (($2_1 | 0) == (31 | 0) ? 0 : 25 - ($2_1 >>> 1 | 0) | 0) | 0; + $5_1 = HEAP32[$4_1 >> 2] | 0; + label$41 : while (1) { + $4_1 = $5_1; + if (((HEAP32[($5_1 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($0_1 | 0)) { + break label$38 + } + $5_1 = $2_1 >>> 29 | 0; + $2_1 = $2_1 << 1 | 0; + $3_1 = ($4_1 + ($5_1 & 4 | 0) | 0) + 16 | 0; + $5_1 = HEAP32[$3_1 >> 2] | 0; + if ($5_1) { + continue label$41 + } + break label$41; + }; + HEAP32[$3_1 >> 2] = $1_1; + HEAP32[($1_1 + 24 | 0) >> 2] = $4_1; + } + HEAP32[($1_1 + 12 | 0) >> 2] = $1_1; + HEAP32[($1_1 + 8 | 0) >> 2] = $1_1; + break label$37; + } + $0_1 = HEAP32[($4_1 + 8 | 0) >> 2] | 0; + HEAP32[($0_1 + 12 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($1_1 + 24 | 0) >> 2] = 0; + HEAP32[($1_1 + 12 | 0) >> 2] = $4_1; + HEAP32[($1_1 + 8 | 0) >> 2] = $0_1; + } + $1_1 = (HEAP32[(0 + 114768 | 0) >> 2] | 0) + -1 | 0; + HEAP32[(0 + 114768 | 0) >> 2] = $1_1; + if ($1_1) { + break label$1 + } + $1_1 = 115192; + label$42 : while (1) { + $0_1 = HEAP32[$1_1 >> 2] | 0; + $1_1 = $0_1 + 8 | 0; + if ($0_1) { + continue label$42 + } + break label$42; + }; + HEAP32[(0 + 114768 | 0) >> 2] = -1; + } + } + + function $3279($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $2_1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $13_1 = 0, $6$hi = 0, $8$hi = 0, $3_1 = 0, $3$hi = 0, $16_1 = 0, i64toi32_i32$2 = 0; + label$1 : { + label$2 : { + if ($0_1) { + break label$2 + } + $2_1 = 0; + break label$1; + } + i64toi32_i32$0 = 0; + $6$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $8$hi = i64toi32_i32$0; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$1 = __wasm_i64_mul($0_1 | 0, i64toi32_i32$0 | 0, $1_1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $3_1 = i64toi32_i32$1; + $3$hi = i64toi32_i32$0; + $2_1 = i64toi32_i32$1; + if (($1_1 | $0_1 | 0) >>> 0 < 65536 >>> 0) { + break label$1 + } + $16_1 = $2_1; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = ($13_1 | 0) != (0 | 0) ? -1 : $16_1; + } + label$3 : { + $0_1 = $3277($2_1 | 0) | 0; + if (!$0_1) { + break label$3 + } + if (!((HEAPU8[($0_1 + -4 | 0) >> 0] | 0) & 3 | 0)) { + break label$3 + } + $3289($0_1 | 0, 0 | 0, $2_1 | 0) | 0; + } + return $0_1 | 0; + } + + function $3280($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + label$1 : { + if ($0_1) { + break label$1 + } + return $3277($1_1 | 0) | 0 | 0; + } + label$2 : { + if ($1_1 >>> 0 < -64 >>> 0) { + break label$2 + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 48), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + return 0 | 0; + } + label$3 : { + $2_1 = $3281($0_1 + -8 | 0 | 0, ($1_1 >>> 0 < 11 >>> 0 ? 16 : ($1_1 + 11 | 0) & -8 | 0) | 0) | 0; + if (!$2_1) { + break label$3 + } + return $2_1 + 8 | 0 | 0; + } + label$4 : { + $2_1 = $3277($1_1 | 0) | 0; + if ($2_1) { + break label$4 + } + return 0 | 0; + } + $3_1 = HEAP32[($0_1 + -4 | 0) >> 2] | 0; + $3_1 = ($3_1 & 3 | 0 ? -4 : -8) + ($3_1 & -8 | 0) | 0; + $3288($2_1 | 0, $0_1 | 0, ($3_1 >>> 0 < $1_1 >>> 0 ? $3_1 : $1_1) | 0) | 0; + $3278($0_1 | 0); + return $2_1 | 0; + } + + function $3281($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $3_1 = 0, $5_1 = 0, $7_1 = 0, $4_1 = 0, $2_1 = 0, $6_1 = 0, $8_1 = 0, $10_1 = 0, $9_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2_1 = HEAP32[($0_1 + 4 | 0) >> 2] | 0; + $3_1 = $2_1 & 3 | 0; + $4_1 = $2_1 & -8 | 0; + $5_1 = $0_1 + $4_1 | 0; + label$1 : { + $6_1 = HEAP32[(0 + 114752 | 0) >> 2] | 0; + if ($6_1 >>> 0 > $0_1 >>> 0) { + break label$1 + } + if (($3_1 | 0) == (1 | 0)) { + break label$1 + } + } + label$2 : { + label$3 : { + if ($3_1) { + break label$3 + } + $3_1 = 0; + if ($1_1 >>> 0 < 256 >>> 0) { + break label$2 + } + label$4 : { + if ($4_1 >>> 0 < ($1_1 + 4 | 0) >>> 0) { + break label$4 + } + $3_1 = $0_1; + if (($4_1 - $1_1 | 0) >>> 0 <= ((HEAP32[(0 + 115216 | 0) >> 2] | 0) << 1 | 0) >>> 0) { + break label$2 + } + } + return 0 | 0; + } + label$5 : { + label$6 : { + if ($4_1 >>> 0 < $1_1 >>> 0) { + break label$6 + } + $3_1 = $4_1 - $1_1 | 0; + if ($3_1 >>> 0 < 16 >>> 0) { + break label$5 + } + HEAP32[($0_1 + 4 | 0) >> 2] = $2_1 & 1 | 0 | $1_1 | 0 | 2 | 0; + $1_1 = $0_1 + $1_1 | 0; + HEAP32[($1_1 + 4 | 0) >> 2] = $3_1 | 3 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 1 | 0; + $3284($1_1 | 0, $3_1 | 0); + break label$5; + } + $3_1 = 0; + label$7 : { + if ((HEAP32[(0 + 114760 | 0) >> 2] | 0 | 0) != ($5_1 | 0)) { + break label$7 + } + $5_1 = (HEAP32[(0 + 114748 | 0) >> 2] | 0) + $4_1 | 0; + if ($5_1 >>> 0 <= $1_1 >>> 0) { + break label$2 + } + HEAP32[($0_1 + 4 | 0) >> 2] = $2_1 & 1 | 0 | $1_1 | 0 | 2 | 0; + $3_1 = $0_1 + $1_1 | 0; + $1_1 = $5_1 - $1_1 | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = $1_1 | 1 | 0; + HEAP32[(0 + 114748 | 0) >> 2] = $1_1; + HEAP32[(0 + 114760 | 0) >> 2] = $3_1; + break label$5; + } + label$8 : { + if ((HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0) != ($5_1 | 0)) { + break label$8 + } + $3_1 = 0; + $5_1 = (HEAP32[(0 + 114744 | 0) >> 2] | 0) + $4_1 | 0; + if ($5_1 >>> 0 < $1_1 >>> 0) { + break label$2 + } + label$9 : { + label$10 : { + $3_1 = $5_1 - $1_1 | 0; + if ($3_1 >>> 0 < 16 >>> 0) { + break label$10 + } + HEAP32[($0_1 + 4 | 0) >> 2] = $2_1 & 1 | 0 | $1_1 | 0 | 2 | 0; + $1_1 = $0_1 + $1_1 | 0; + HEAP32[($1_1 + 4 | 0) >> 2] = $3_1 | 1 | 0; + $5_1 = $0_1 + $5_1 | 0; + HEAP32[$5_1 >> 2] = $3_1; + HEAP32[($5_1 + 4 | 0) >> 2] = (HEAP32[($5_1 + 4 | 0) >> 2] | 0) & -2 | 0; + break label$9; + } + HEAP32[($0_1 + 4 | 0) >> 2] = $2_1 & 1 | 0 | $5_1 | 0 | 2 | 0; + $1_1 = $0_1 + $5_1 | 0; + HEAP32[($1_1 + 4 | 0) >> 2] = HEAP32[($1_1 + 4 | 0) >> 2] | 0 | 1 | 0; + $3_1 = 0; + $1_1 = 0; + } + HEAP32[(0 + 114756 | 0) >> 2] = $1_1; + HEAP32[(0 + 114744 | 0) >> 2] = $3_1; + break label$5; + } + $3_1 = 0; + $7_1 = HEAP32[($5_1 + 4 | 0) >> 2] | 0; + if ($7_1 & 2 | 0) { + break label$2 + } + $8_1 = ($7_1 & -8 | 0) + $4_1 | 0; + if ($8_1 >>> 0 < $1_1 >>> 0) { + break label$2 + } + $9_1 = $8_1 - $1_1 | 0; + label$11 : { + label$12 : { + if ($7_1 >>> 0 > 255 >>> 0) { + break label$12 + } + $3_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + label$13 : { + $5_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + $7_1 = $7_1 >>> 3 | 0; + $4_1 = ($7_1 << 3 | 0) + 114776 | 0; + if (($5_1 | 0) == ($4_1 | 0)) { + break label$13 + } + } + label$14 : { + if (($3_1 | 0) != ($5_1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114736 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $7_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114736 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + label$15 : { + if (($3_1 | 0) == ($4_1 | 0)) { + break label$15 + } + } + HEAP32[($5_1 + 12 | 0) >> 2] = $3_1; + HEAP32[($3_1 + 8 | 0) >> 2] = $5_1; + break label$11; + } + $10_1 = HEAP32[($5_1 + 24 | 0) >> 2] | 0; + label$16 : { + label$17 : { + $7_1 = HEAP32[($5_1 + 12 | 0) >> 2] | 0; + if (($7_1 | 0) == ($5_1 | 0)) { + break label$17 + } + label$18 : { + $3_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + if ($6_1 >>> 0 > $3_1 >>> 0) { + break label$18 + } + HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $7_1; + HEAP32[($7_1 + 8 | 0) >> 2] = $3_1; + break label$16; + } + label$19 : { + $3_1 = $5_1 + 20 | 0; + $4_1 = HEAP32[$3_1 >> 2] | 0; + if ($4_1) { + break label$19 + } + $3_1 = $5_1 + 16 | 0; + $4_1 = HEAP32[$3_1 >> 2] | 0; + if ($4_1) { + break label$19 + } + $7_1 = 0; + break label$16; + } + label$20 : while (1) { + $6_1 = $3_1; + $7_1 = $4_1; + $3_1 = $7_1 + 20 | 0; + $4_1 = HEAP32[$3_1 >> 2] | 0; + if ($4_1) { + continue label$20 + } + $3_1 = $7_1 + 16 | 0; + $4_1 = HEAP32[($7_1 + 16 | 0) >> 2] | 0; + if ($4_1) { + continue label$20 + } + break label$20; + }; + HEAP32[$6_1 >> 2] = 0; + } + if (!$10_1) { + break label$11 + } + label$21 : { + label$22 : { + $4_1 = HEAP32[($5_1 + 28 | 0) >> 2] | 0; + $3_1 = ($4_1 << 2 | 0) + 115040 | 0; + if ((HEAP32[$3_1 >> 2] | 0 | 0) != ($5_1 | 0)) { + break label$22 + } + HEAP32[$3_1 >> 2] = $7_1; + if ($7_1) { + break label$21 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114740 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $4_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114740 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + HEAP32[($10_1 + ((HEAP32[($10_1 + 16 | 0) >> 2] | 0 | 0) == ($5_1 | 0) ? 16 : 20) | 0) >> 2] = $7_1; + if (!$7_1) { + break label$11 + } + } + HEAP32[($7_1 + 24 | 0) >> 2] = $10_1; + label$23 : { + $3_1 = HEAP32[($5_1 + 16 | 0) >> 2] | 0; + if (!$3_1) { + break label$23 + } + HEAP32[($7_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $7_1; + } + $5_1 = HEAP32[($5_1 + 20 | 0) >> 2] | 0; + if (!$5_1) { + break label$11 + } + HEAP32[($7_1 + 20 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 24 | 0) >> 2] = $7_1; + } + label$24 : { + if ($9_1 >>> 0 > 15 >>> 0) { + break label$24 + } + HEAP32[($0_1 + 4 | 0) >> 2] = $2_1 & 1 | 0 | $8_1 | 0 | 2 | 0; + $1_1 = $0_1 + $8_1 | 0; + HEAP32[($1_1 + 4 | 0) >> 2] = HEAP32[($1_1 + 4 | 0) >> 2] | 0 | 1 | 0; + break label$5; + } + HEAP32[($0_1 + 4 | 0) >> 2] = $2_1 & 1 | 0 | $1_1 | 0 | 2 | 0; + $1_1 = $0_1 + $1_1 | 0; + HEAP32[($1_1 + 4 | 0) >> 2] = $9_1 | 3 | 0; + $5_1 = $0_1 + $8_1 | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 1 | 0; + $3284($1_1 | 0, $9_1 | 0); + } + $3_1 = $0_1; + } + return $3_1 | 0; + } + + function $3282($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + label$1 : { + if ($0_1 >>> 0 > 8 >>> 0) { + break label$1 + } + return $3277($1_1 | 0) | 0 | 0; + } + return $3283($0_1 | 0, $1_1 | 0) | 0 | 0; + } + + function $3283($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $3_1 = 0, $6_1 = 0, $4_1 = 0, $5_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2_1 = 16; + label$1 : { + label$2 : { + $3_1 = $0_1 >>> 0 > 16 >>> 0 ? $0_1 : 16; + if ($3_1 & ($3_1 + -1 | 0) | 0) { + break label$2 + } + $0_1 = $3_1; + break label$1; + } + label$3 : while (1) { + $0_1 = $2_1; + $2_1 = $0_1 << 1 | 0; + if ($0_1 >>> 0 < $3_1 >>> 0) { + continue label$3 + } + break label$3; + }; + } + label$4 : { + if ((-64 - $0_1 | 0) >>> 0 > $1_1 >>> 0) { + break label$4 + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 48), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + return 0 | 0; + } + label$5 : { + $1_1 = $1_1 >>> 0 < 11 >>> 0 ? 16 : ($1_1 + 11 | 0) & -8 | 0; + $2_1 = $3277(($1_1 + $0_1 | 0) + 12 | 0 | 0) | 0; + if ($2_1) { + break label$5 + } + return 0 | 0; + } + $3_1 = $2_1 + -8 | 0; + label$6 : { + label$7 : { + if (($0_1 + -1 | 0) & $2_1 | 0) { + break label$7 + } + $0_1 = $3_1; + break label$6; + } + $4_1 = $2_1 + -4 | 0; + $5_1 = HEAP32[$4_1 >> 2] | 0; + $2_1 = ((($2_1 + $0_1 | 0) + -1 | 0) & (0 - $0_1 | 0) | 0) + -8 | 0; + $0_1 = ($2_1 - $3_1 | 0) >>> 0 > 15 >>> 0 ? $2_1 : $2_1 + $0_1 | 0; + $2_1 = $0_1 - $3_1 | 0; + $6_1 = ($5_1 & -8 | 0) - $2_1 | 0; + label$8 : { + if ($5_1 & 3 | 0) { + break label$8 + } + $3_1 = HEAP32[$3_1 >> 2] | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = $6_1; + HEAP32[$0_1 >> 2] = $3_1 + $2_1 | 0; + break label$6; + } + HEAP32[($0_1 + 4 | 0) >> 2] = $6_1 | ((HEAP32[($0_1 + 4 | 0) >> 2] | 0) & 1 | 0) | 0 | 2 | 0; + $6_1 = $0_1 + $6_1 | 0; + HEAP32[($6_1 + 4 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0 | 1 | 0; + HEAP32[$4_1 >> 2] = $2_1 | ((HEAP32[$4_1 >> 2] | 0) & 1 | 0) | 0 | 2 | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = HEAP32[($0_1 + 4 | 0) >> 2] | 0 | 1 | 0; + $3284($3_1 | 0, $2_1 | 0); + } + label$9 : { + $2_1 = HEAP32[($0_1 + 4 | 0) >> 2] | 0; + if (!($2_1 & 3 | 0)) { + break label$9 + } + $3_1 = $2_1 & -8 | 0; + if ($3_1 >>> 0 <= ($1_1 + 16 | 0) >>> 0) { + break label$9 + } + HEAP32[($0_1 + 4 | 0) >> 2] = $1_1 | ($2_1 & 1 | 0) | 0 | 2 | 0; + $2_1 = $0_1 + $1_1 | 0; + $1_1 = $3_1 - $1_1 | 0; + HEAP32[($2_1 + 4 | 0) >> 2] = $1_1 | 3 | 0; + $3_1 = $0_1 + $3_1 | 0; + HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0 | 1 | 0; + $3284($2_1 | 0, $1_1 | 0); + } + return $0_1 + 8 | 0 | 0; + } + + function $3284($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var $3_1 = 0, $6_1 = 0, $5_1 = 0, $2_1 = 0, $7_1 = 0, $4_1 = 0, $391_1 = 0, $398_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2_1 = $0_1 + $1_1 | 0; + label$1 : { + label$2 : { + $3_1 = HEAP32[($0_1 + 4 | 0) >> 2] | 0; + if ($3_1 & 1 | 0) { + break label$2 + } + if (!($3_1 & 3 | 0)) { + break label$1 + } + $3_1 = HEAP32[$0_1 >> 2] | 0; + $1_1 = $3_1 + $1_1 | 0; + label$3 : { + $0_1 = $0_1 - $3_1 | 0; + if ((HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0) == ($0_1 | 0)) { + break label$3 + } + $4_1 = HEAP32[(0 + 114752 | 0) >> 2] | 0; + label$4 : { + if ($3_1 >>> 0 > 255 >>> 0) { + break label$4 + } + $5_1 = HEAP32[($0_1 + 12 | 0) >> 2] | 0; + label$5 : { + $6_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + $7_1 = $3_1 >>> 3 | 0; + $3_1 = ($7_1 << 3 | 0) + 114776 | 0; + if (($6_1 | 0) == ($3_1 | 0)) { + break label$5 + } + } + label$6 : { + if (($5_1 | 0) != ($6_1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114736 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $7_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114736 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + label$7 : { + if (($5_1 | 0) == ($3_1 | 0)) { + break label$7 + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $6_1; + break label$2; + } + $7_1 = HEAP32[($0_1 + 24 | 0) >> 2] | 0; + label$8 : { + label$9 : { + $6_1 = HEAP32[($0_1 + 12 | 0) >> 2] | 0; + if (($6_1 | 0) == ($0_1 | 0)) { + break label$9 + } + label$10 : { + $3_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + if ($4_1 >>> 0 > $3_1 >>> 0) { + break label$10 + } + HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + break label$8; + } + label$11 : { + $3_1 = $0_1 + 20 | 0; + $5_1 = HEAP32[$3_1 >> 2] | 0; + if ($5_1) { + break label$11 + } + $3_1 = $0_1 + 16 | 0; + $5_1 = HEAP32[$3_1 >> 2] | 0; + if ($5_1) { + break label$11 + } + $6_1 = 0; + break label$8; + } + label$12 : while (1) { + $4_1 = $3_1; + $6_1 = $5_1; + $3_1 = $6_1 + 20 | 0; + $5_1 = HEAP32[$3_1 >> 2] | 0; + if ($5_1) { + continue label$12 + } + $3_1 = $6_1 + 16 | 0; + $5_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + if ($5_1) { + continue label$12 + } + break label$12; + }; + HEAP32[$4_1 >> 2] = 0; + } + if (!$7_1) { + break label$2 + } + label$13 : { + label$14 : { + $5_1 = HEAP32[($0_1 + 28 | 0) >> 2] | 0; + $3_1 = ($5_1 << 2 | 0) + 115040 | 0; + if ((HEAP32[$3_1 >> 2] | 0 | 0) != ($0_1 | 0)) { + break label$14 + } + HEAP32[$3_1 >> 2] = $6_1; + if ($6_1) { + break label$13 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114740 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $5_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114740 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + HEAP32[($7_1 + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == ($0_1 | 0) ? 16 : 20) | 0) >> 2] = $6_1; + if (!$6_1) { + break label$2 + } + } + HEAP32[($6_1 + 24 | 0) >> 2] = $7_1; + label$15 : { + $3_1 = HEAP32[($0_1 + 16 | 0) >> 2] | 0; + if (!$3_1) { + break label$15 + } + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $6_1; + } + $3_1 = HEAP32[($0_1 + 20 | 0) >> 2] | 0; + if (!$3_1) { + break label$2 + } + HEAP32[($6_1 + 20 | 0) >> 2] = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $6_1; + break label$2; + } + $3_1 = HEAP32[($2_1 + 4 | 0) >> 2] | 0; + if (($3_1 & 3 | 0 | 0) != (3 | 0)) { + break label$2 + } + HEAP32[(0 + 114744 | 0) >> 2] = $1_1; + HEAP32[($2_1 + 4 | 0) >> 2] = $3_1 & -2 | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = $1_1 | 1 | 0; + HEAP32[$2_1 >> 2] = $1_1; + return; + } + label$16 : { + label$17 : { + $3_1 = HEAP32[($2_1 + 4 | 0) >> 2] | 0; + if ($3_1 & 2 | 0) { + break label$17 + } + label$18 : { + if ((HEAP32[(0 + 114760 | 0) >> 2] | 0 | 0) != ($2_1 | 0)) { + break label$18 + } + HEAP32[(0 + 114760 | 0) >> 2] = $0_1; + $1_1 = (HEAP32[(0 + 114748 | 0) >> 2] | 0) + $1_1 | 0; + HEAP32[(0 + 114748 | 0) >> 2] = $1_1; + HEAP32[($0_1 + 4 | 0) >> 2] = $1_1 | 1 | 0; + if (($0_1 | 0) != (HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0)) { + break label$1 + } + HEAP32[(0 + 114744 | 0) >> 2] = 0; + HEAP32[(0 + 114756 | 0) >> 2] = 0; + return; + } + label$19 : { + if ((HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0) != ($2_1 | 0)) { + break label$19 + } + HEAP32[(0 + 114756 | 0) >> 2] = $0_1; + $1_1 = (HEAP32[(0 + 114744 | 0) >> 2] | 0) + $1_1 | 0; + HEAP32[(0 + 114744 | 0) >> 2] = $1_1; + HEAP32[($0_1 + 4 | 0) >> 2] = $1_1 | 1 | 0; + HEAP32[($0_1 + $1_1 | 0) >> 2] = $1_1; + return; + } + $4_1 = HEAP32[(0 + 114752 | 0) >> 2] | 0; + $1_1 = ($3_1 & -8 | 0) + $1_1 | 0; + label$20 : { + label$21 : { + if ($3_1 >>> 0 > 255 >>> 0) { + break label$21 + } + $5_1 = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + label$22 : { + $6_1 = HEAP32[($2_1 + 8 | 0) >> 2] | 0; + $2_1 = $3_1 >>> 3 | 0; + $3_1 = ($2_1 << 3 | 0) + 114776 | 0; + if (($6_1 | 0) == ($3_1 | 0)) { + break label$22 + } + } + label$23 : { + if (($5_1 | 0) != ($6_1 | 0)) { + break label$23 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114736 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $2_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114736 | 0) >> 2] = wasm2js_i32$1; + break label$20; + } + label$24 : { + if (($5_1 | 0) == ($3_1 | 0)) { + break label$24 + } + } + HEAP32[($6_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $6_1; + break label$20; + } + $7_1 = HEAP32[($2_1 + 24 | 0) >> 2] | 0; + label$25 : { + label$26 : { + $6_1 = HEAP32[($2_1 + 12 | 0) >> 2] | 0; + if (($6_1 | 0) == ($2_1 | 0)) { + break label$26 + } + label$27 : { + $3_1 = HEAP32[($2_1 + 8 | 0) >> 2] | 0; + if ($4_1 >>> 0 > $3_1 >>> 0) { + break label$27 + } + HEAP32[($3_1 + 12 | 0) >> 2] | 0; + } + HEAP32[($3_1 + 12 | 0) >> 2] = $6_1; + HEAP32[($6_1 + 8 | 0) >> 2] = $3_1; + break label$25; + } + label$28 : { + $3_1 = $2_1 + 20 | 0; + $5_1 = HEAP32[$3_1 >> 2] | 0; + if ($5_1) { + break label$28 + } + $3_1 = $2_1 + 16 | 0; + $5_1 = HEAP32[$3_1 >> 2] | 0; + if ($5_1) { + break label$28 + } + $6_1 = 0; + break label$25; + } + label$29 : while (1) { + $4_1 = $3_1; + $6_1 = $5_1; + $3_1 = $6_1 + 20 | 0; + $5_1 = HEAP32[$3_1 >> 2] | 0; + if ($5_1) { + continue label$29 + } + $3_1 = $6_1 + 16 | 0; + $5_1 = HEAP32[($6_1 + 16 | 0) >> 2] | 0; + if ($5_1) { + continue label$29 + } + break label$29; + }; + HEAP32[$4_1 >> 2] = 0; + } + if (!$7_1) { + break label$20 + } + label$30 : { + label$31 : { + $5_1 = HEAP32[($2_1 + 28 | 0) >> 2] | 0; + $3_1 = ($5_1 << 2 | 0) + 115040 | 0; + if ((HEAP32[$3_1 >> 2] | 0 | 0) != ($2_1 | 0)) { + break label$31 + } + HEAP32[$3_1 >> 2] = $6_1; + if ($6_1) { + break label$30 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 114740 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $5_1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 114740 | 0) >> 2] = wasm2js_i32$1; + break label$20; + } + HEAP32[($7_1 + ((HEAP32[($7_1 + 16 | 0) >> 2] | 0 | 0) == ($2_1 | 0) ? 16 : 20) | 0) >> 2] = $6_1; + if (!$6_1) { + break label$20 + } + } + HEAP32[($6_1 + 24 | 0) >> 2] = $7_1; + label$32 : { + $3_1 = HEAP32[($2_1 + 16 | 0) >> 2] | 0; + if (!$3_1) { + break label$32 + } + HEAP32[($6_1 + 16 | 0) >> 2] = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $6_1; + } + $3_1 = HEAP32[($2_1 + 20 | 0) >> 2] | 0; + if (!$3_1) { + break label$20 + } + HEAP32[($6_1 + 20 | 0) >> 2] = $3_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $6_1; + } + HEAP32[($0_1 + 4 | 0) >> 2] = $1_1 | 1 | 0; + HEAP32[($0_1 + $1_1 | 0) >> 2] = $1_1; + if (($0_1 | 0) != (HEAP32[(0 + 114756 | 0) >> 2] | 0 | 0)) { + break label$16 + } + HEAP32[(0 + 114744 | 0) >> 2] = $1_1; + return; + } + HEAP32[($2_1 + 4 | 0) >> 2] = $3_1 & -2 | 0; + HEAP32[($0_1 + 4 | 0) >> 2] = $1_1 | 1 | 0; + HEAP32[($0_1 + $1_1 | 0) >> 2] = $1_1; + } + label$33 : { + if ($1_1 >>> 0 > 255 >>> 0) { + break label$33 + } + $3_1 = $1_1 >>> 3 | 0; + $1_1 = ($3_1 << 3 | 0) + 114776 | 0; + label$34 : { + label$35 : { + $5_1 = HEAP32[(0 + 114736 | 0) >> 2] | 0; + $3_1 = 1 << $3_1 | 0; + if ($5_1 & $3_1 | 0) { + break label$35 + } + HEAP32[(0 + 114736 | 0) >> 2] = $5_1 | $3_1 | 0; + $3_1 = $1_1; + break label$34; + } + $3_1 = HEAP32[($1_1 + 8 | 0) >> 2] | 0; + } + HEAP32[($1_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($0_1 + 12 | 0) >> 2] = $1_1; + HEAP32[($0_1 + 8 | 0) >> 2] = $3_1; + return; + } + $3_1 = 0; + label$36 : { + $5_1 = $1_1 >>> 8 | 0; + if (!$5_1) { + break label$36 + } + $3_1 = 31; + if ($1_1 >>> 0 > 16777215 >>> 0) { + break label$36 + } + $3_1 = (($5_1 + 1048320 | 0) >>> 16 | 0) & 8 | 0; + $5_1 = $5_1 << $3_1 | 0; + $391_1 = $5_1; + $5_1 = (($5_1 + 520192 | 0) >>> 16 | 0) & 4 | 0; + $6_1 = $391_1 << $5_1 | 0; + $398_1 = $6_1; + $6_1 = (($6_1 + 245760 | 0) >>> 16 | 0) & 2 | 0; + $3_1 = (($398_1 << $6_1 | 0) >>> 15 | 0) - ($5_1 | $3_1 | 0 | $6_1 | 0) | 0; + $3_1 = ($3_1 << 1 | 0 | (($1_1 >>> ($3_1 + 21 | 0) | 0) & 1 | 0) | 0) + 28 | 0; + } + HEAP32[($0_1 + 16 | 0) >> 2] = 0; + HEAP32[($0_1 + 20 | 0) >> 2] = 0; + HEAP32[($0_1 + 28 | 0) >> 2] = $3_1; + $5_1 = ($3_1 << 2 | 0) + 115040 | 0; + label$37 : { + label$38 : { + label$39 : { + $6_1 = HEAP32[(0 + 114740 | 0) >> 2] | 0; + $2_1 = 1 << $3_1 | 0; + if ($6_1 & $2_1 | 0) { + break label$39 + } + HEAP32[(0 + 114740 | 0) >> 2] = $6_1 | $2_1 | 0; + HEAP32[$5_1 >> 2] = $0_1; + HEAP32[($0_1 + 24 | 0) >> 2] = $5_1; + break label$38; + } + $3_1 = $1_1 << (($3_1 | 0) == (31 | 0) ? 0 : 25 - ($3_1 >>> 1 | 0) | 0) | 0; + $6_1 = HEAP32[$5_1 >> 2] | 0; + label$40 : while (1) { + $5_1 = $6_1; + if (((HEAP32[($6_1 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($1_1 | 0)) { + break label$37 + } + $6_1 = $3_1 >>> 29 | 0; + $3_1 = $3_1 << 1 | 0; + $2_1 = ($5_1 + ($6_1 & 4 | 0) | 0) + 16 | 0; + $6_1 = HEAP32[$2_1 >> 2] | 0; + if ($6_1) { + continue label$40 + } + break label$40; + }; + HEAP32[$2_1 >> 2] = $0_1; + HEAP32[($0_1 + 24 | 0) >> 2] = $5_1; + } + HEAP32[($0_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($0_1 + 8 | 0) >> 2] = $0_1; + return; + } + $1_1 = HEAP32[($5_1 + 8 | 0) >> 2] | 0; + HEAP32[($1_1 + 12 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $0_1; + HEAP32[($0_1 + 24 | 0) >> 2] = 0; + HEAP32[($0_1 + 12 | 0) >> 2] = $5_1; + HEAP32[($0_1 + 8 | 0) >> 2] = $1_1; + } + } + + function $3285($0_1) { + $0_1 = $0_1 | 0; + var $2_1 = 0, $1_1 = 0, $3_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1_1 = $0() | 0; + $2_1 = HEAP32[$1_1 >> 2] | 0; + $3_1 = ($0_1 + 3 | 0) & -4 | 0; + $0_1 = $2_1 + $3_1 | 0; + label$1 : { + label$2 : { + if (($3_1 | 0) < (1 | 0)) { + break label$2 + } + if ($0_1 >>> 0 <= $2_1 >>> 0) { + break label$1 + } + } + label$3 : { + if ($0_1 >>> 0 <= (__wasm_memory_size() << 16 | 0) >>> 0) { + break label$3 + } + if (!(fimport$34($0_1 | 0) | 0)) { + break label$1 + } + } + HEAP32[$1_1 >> 2] = $0_1; + return $2_1 | 0; + } + (wasm2js_i32$0 = $3169() | 0, wasm2js_i32$1 = 48), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + return -1 | 0; + } + + function $3286($0_1) { + $0_1 = +$0_1; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $4_1 = 0, $1_1 = 0, $4$hi = 0, $6_1 = 0.0, $2_1 = 0, $7_1 = 0.0, $8_1 = 0.0, $24_1 = 0, $25_1 = 0, $26_1 = 0, $27_1 = 0, $28_1 = 0, $29_1 = 0, $30_1 = 0, $3_1 = 0, $31_1 = 0, $5_1 = 0.0, $32_1 = 0, $9_1 = 0.0, $10_1 = 0.0, $55_1 = 0.0, $60$hi = 0, $62_1 = 0, $62$hi = 0, $85_1 = 0.0, $90_1 = 0.0, $95_1 = 0.0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + wasm2js_scratch_store_f64(+$0_1); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $4_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $4$hi = i64toi32_i32$0; + i64toi32_i32$2 = $4_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $24_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $25_1 = 0 + } else { + $25_1 = 1 + } + $26_1 = $25_1; + } else { + $26_1 = 0 + } + $24_1 = $26_1; + } + if ($24_1) { + break label$5 + } + i64toi32_i32$2 = $4$hi; + i64toi32_i32$3 = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 32; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $27_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $27_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + $1_1 = $27_1; + if ($1_1 >>> 0 > 1048575 >>> 0) { + break label$4 + } + } + label$6 : { + i64toi32_i32$0 = $4$hi; + i64toi32_i32$2 = $4_1; + i64toi32_i32$3 = 2147483647; + i64toi32_i32$1 = -1; + i64toi32_i32$3 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$2 | 0) | 0) { + break label$6 + } + return +(-1.0 / ($0_1 * $0_1)); + } + i64toi32_i32$0 = $4$hi; + i64toi32_i32$1 = $4_1; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = -1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$3 | 0)) { + $28_1 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$2 >>> 0) { + $29_1 = 0 + } else { + $29_1 = 1 + } + $30_1 = $29_1; + } else { + $30_1 = 0 + } + $28_1 = $30_1; + } + if ($28_1) { + break label$3 + } + return +(($0_1 - $0_1) / 0.0); + } + if ($1_1 >>> 0 > 2146435071 >>> 0) { + break label$1 + } + $2_1 = 1072693248; + $3_1 = -1023; + label$7 : { + if (($1_1 | 0) == (1072693248 | 0)) { + break label$7 + } + $2_1 = $1_1; + break label$2; + } + i64toi32_i32$1 = $4$hi; + if ($4_1) { + break label$2 + } + return +(0.0); + } + wasm2js_scratch_store_f64(+($0_1 * 18014398509481984.0)); + i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0; + $4_1 = wasm2js_scratch_load_i32(0 | 0) | 0; + $4$hi = i64toi32_i32$1; + i64toi32_i32$2 = $4_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $31_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $31_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $2_1 = $31_1; + $3_1 = -1077; + } + $1_1 = $2_1 + 614242 | 0; + $5_1 = +($3_1 + ($1_1 >>> 20 | 0) | 0 | 0); + $6_1 = $5_1 * .30102999566361177; + $55_1 = $6_1; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = ($1_1 & 1048575 | 0) + 1072079006 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $32_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $32_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $60$hi = i64toi32_i32$2; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$2 & i64toi32_i32$1 | 0; + $62_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + $62$hi = i64toi32_i32$1; + i64toi32_i32$1 = $60$hi; + i64toi32_i32$2 = $32_1; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$3 = $62_1; + i64toi32_i32$0 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$2 | i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + $0_1 = +wasm2js_scratch_load_f64() + -1.0; + $7_1 = $0_1 * ($0_1 * .5); + wasm2js_scratch_store_f64(+($0_1 - $7_1)); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$2 = -1; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$2 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 & i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$2 | 0); + $8_1 = +wasm2js_scratch_load_f64(); + $9_1 = $8_1 * .4342944818781689; + $10_1 = $55_1 + $9_1; + $85_1 = $9_1 + ($6_1 - $10_1); + $90_1 = $0_1 - $8_1 - $7_1; + $0_1 = $0_1 / ($0_1 + 2.0); + $95_1 = $0_1; + $6_1 = $0_1 * $0_1; + $0_1 = $6_1 * $6_1; + $0_1 = $90_1 + $95_1 * ($7_1 + ($0_1 * ($0_1 * ($0_1 * .15313837699209373 + .22222198432149784) + .3999999999940942) + $6_1 * ($0_1 * ($0_1 * ($0_1 * .14798198605116586 + .1818357216161805) + .2857142874366239) + .6666666666666735))); + $0_1 = $10_1 + ($85_1 + ($0_1 * .4342944818781689 + ($5_1 * 3.694239077158931e-13 + ($0_1 + $8_1) * 2.5082946711645275e-11))); + } + return +$0_1; + } + + function $3287($0_1, $1_1) { + $0_1 = +$0_1; + $1_1 = $1_1 | 0; + var i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $32_1 = 0.0, i64toi32_i32$0 = 0; + label$1 : { + label$2 : { + if (($1_1 | 0) < (1024 | 0)) { + break label$2 + } + $0_1 = $0_1 * 8988465674311579538646525.0e283; + label$3 : { + if (($1_1 | 0) >= (2047 | 0)) { + break label$3 + } + $1_1 = $1_1 + -1023 | 0; + break label$1; + } + $0_1 = $0_1 * 8988465674311579538646525.0e283; + $1_1 = (($1_1 | 0) < (3069 | 0) ? $1_1 : 3069) + -2046 | 0; + break label$1; + } + if (($1_1 | 0) > (-1023 | 0)) { + break label$1 + } + $0_1 = $0_1 * 2.2250738585072014e-308; + label$4 : { + if (($1_1 | 0) <= (-2045 | 0)) { + break label$4 + } + $1_1 = $1_1 + 1022 | 0; + break label$1; + } + $0_1 = $0_1 * 2.2250738585072014e-308; + $1_1 = (($1_1 | 0) > (-3066 | 0) ? $1_1 : -3066) + 2044 | 0; + } + $32_1 = $0_1; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_1 + 1023 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 52; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $8_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $8_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + wasm2js_scratch_store_i32(0 | 0, $8_1 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + return +($32_1 * +wasm2js_scratch_load_f64()); + } + + function $3288($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $4_1 = 0, $3_1 = 0, $5_1 = 0; + label$1 : { + if ($2_1 >>> 0 < 512 >>> 0) { + break label$1 + } + fimport$35($0_1 | 0, $1_1 | 0, $2_1 | 0) | 0; + return $0_1 | 0; + } + $3_1 = $0_1 + $2_1 | 0; + label$2 : { + label$3 : { + if (($1_1 ^ $0_1 | 0) & 3 | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (($2_1 | 0) >= (1 | 0)) { + break label$5 + } + $2_1 = $0_1; + break label$4; + } + label$6 : { + if ($0_1 & 3 | 0) { + break label$6 + } + $2_1 = $0_1; + break label$4; + } + $2_1 = $0_1; + label$7 : while (1) { + HEAP8[$2_1 >> 0] = HEAPU8[$1_1 >> 0] | 0; + $1_1 = $1_1 + 1 | 0; + $2_1 = $2_1 + 1 | 0; + if ($2_1 >>> 0 >= $3_1 >>> 0) { + break label$4 + } + if ($2_1 & 3 | 0) { + continue label$7 + } + break label$7; + }; + } + label$8 : { + $4_1 = $3_1 & -4 | 0; + if ($4_1 >>> 0 < 64 >>> 0) { + break label$8 + } + $5_1 = $4_1 + -64 | 0; + if ($2_1 >>> 0 > $5_1 >>> 0) { + break label$8 + } + label$9 : while (1) { + HEAP32[$2_1 >> 2] = HEAP32[$1_1 >> 2] | 0; + HEAP32[($2_1 + 4 | 0) >> 2] = HEAP32[($1_1 + 4 | 0) >> 2] | 0; + HEAP32[($2_1 + 8 | 0) >> 2] = HEAP32[($1_1 + 8 | 0) >> 2] | 0; + HEAP32[($2_1 + 12 | 0) >> 2] = HEAP32[($1_1 + 12 | 0) >> 2] | 0; + HEAP32[($2_1 + 16 | 0) >> 2] = HEAP32[($1_1 + 16 | 0) >> 2] | 0; + HEAP32[($2_1 + 20 | 0) >> 2] = HEAP32[($1_1 + 20 | 0) >> 2] | 0; + HEAP32[($2_1 + 24 | 0) >> 2] = HEAP32[($1_1 + 24 | 0) >> 2] | 0; + HEAP32[($2_1 + 28 | 0) >> 2] = HEAP32[($1_1 + 28 | 0) >> 2] | 0; + HEAP32[($2_1 + 32 | 0) >> 2] = HEAP32[($1_1 + 32 | 0) >> 2] | 0; + HEAP32[($2_1 + 36 | 0) >> 2] = HEAP32[($1_1 + 36 | 0) >> 2] | 0; + HEAP32[($2_1 + 40 | 0) >> 2] = HEAP32[($1_1 + 40 | 0) >> 2] | 0; + HEAP32[($2_1 + 44 | 0) >> 2] = HEAP32[($1_1 + 44 | 0) >> 2] | 0; + HEAP32[($2_1 + 48 | 0) >> 2] = HEAP32[($1_1 + 48 | 0) >> 2] | 0; + HEAP32[($2_1 + 52 | 0) >> 2] = HEAP32[($1_1 + 52 | 0) >> 2] | 0; + HEAP32[($2_1 + 56 | 0) >> 2] = HEAP32[($1_1 + 56 | 0) >> 2] | 0; + HEAP32[($2_1 + 60 | 0) >> 2] = HEAP32[($1_1 + 60 | 0) >> 2] | 0; + $1_1 = $1_1 + 64 | 0; + $2_1 = $2_1 + 64 | 0; + if ($2_1 >>> 0 <= $5_1 >>> 0) { + continue label$9 + } + break label$9; + }; + } + if ($2_1 >>> 0 >= $4_1 >>> 0) { + break label$2 + } + label$10 : while (1) { + HEAP32[$2_1 >> 2] = HEAP32[$1_1 >> 2] | 0; + $1_1 = $1_1 + 4 | 0; + $2_1 = $2_1 + 4 | 0; + if ($2_1 >>> 0 < $4_1 >>> 0) { + continue label$10 + } + break label$2; + }; + } + label$11 : { + if ($3_1 >>> 0 >= 4 >>> 0) { + break label$11 + } + $2_1 = $0_1; + break label$2; + } + label$12 : { + $4_1 = $3_1 + -4 | 0; + if ($4_1 >>> 0 >= $0_1 >>> 0) { + break label$12 + } + $2_1 = $0_1; + break label$2; + } + $2_1 = $0_1; + label$13 : while (1) { + HEAP8[$2_1 >> 0] = HEAPU8[$1_1 >> 0] | 0; + HEAP8[($2_1 + 1 | 0) >> 0] = HEAPU8[($1_1 + 1 | 0) >> 0] | 0; + HEAP8[($2_1 + 2 | 0) >> 0] = HEAPU8[($1_1 + 2 | 0) >> 0] | 0; + HEAP8[($2_1 + 3 | 0) >> 0] = HEAPU8[($1_1 + 3 | 0) >> 0] | 0; + $1_1 = $1_1 + 4 | 0; + $2_1 = $2_1 + 4 | 0; + if ($2_1 >>> 0 <= $4_1 >>> 0) { + continue label$13 + } + break label$13; + }; + } + label$14 : { + if ($2_1 >>> 0 >= $3_1 >>> 0) { + break label$14 + } + label$15 : while (1) { + HEAP8[$2_1 >> 0] = HEAPU8[$1_1 >> 0] | 0; + $1_1 = $1_1 + 1 | 0; + $2_1 = $2_1 + 1 | 0; + if (($2_1 | 0) != ($3_1 | 0)) { + continue label$15 + } + break label$15; + }; + } + return $0_1 | 0; + } + + function $3289($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $4_1 = 0, $6_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $6$hi = 0, i64toi32_i32$3 = 0, $5_1 = 0, $14_1 = 0, $104$hi = 0; + label$1 : { + if (!$2_1) { + break label$1 + } + $3_1 = $2_1 + $0_1 | 0; + HEAP8[($3_1 + -1 | 0) >> 0] = $1_1; + HEAP8[$0_1 >> 0] = $1_1; + if ($2_1 >>> 0 < 3 >>> 0) { + break label$1 + } + HEAP8[($3_1 + -2 | 0) >> 0] = $1_1; + HEAP8[($0_1 + 1 | 0) >> 0] = $1_1; + HEAP8[($3_1 + -3 | 0) >> 0] = $1_1; + HEAP8[($0_1 + 2 | 0) >> 0] = $1_1; + if ($2_1 >>> 0 < 7 >>> 0) { + break label$1 + } + HEAP8[($3_1 + -4 | 0) >> 0] = $1_1; + HEAP8[($0_1 + 3 | 0) >> 0] = $1_1; + if ($2_1 >>> 0 < 9 >>> 0) { + break label$1 + } + $4_1 = (0 - $0_1 | 0) & 3 | 0; + $3_1 = $0_1 + $4_1 | 0; + $1_1 = Math_imul($1_1 & 255 | 0, 16843009); + HEAP32[$3_1 >> 2] = $1_1; + $4_1 = ($2_1 - $4_1 | 0) & -4 | 0; + $2_1 = $3_1 + $4_1 | 0; + HEAP32[($2_1 + -4 | 0) >> 2] = $1_1; + if ($4_1 >>> 0 < 9 >>> 0) { + break label$1 + } + HEAP32[($3_1 + 8 | 0) >> 2] = $1_1; + HEAP32[($3_1 + 4 | 0) >> 2] = $1_1; + HEAP32[($2_1 + -8 | 0) >> 2] = $1_1; + HEAP32[($2_1 + -12 | 0) >> 2] = $1_1; + if ($4_1 >>> 0 < 25 >>> 0) { + break label$1 + } + HEAP32[($3_1 + 24 | 0) >> 2] = $1_1; + HEAP32[($3_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($3_1 + 16 | 0) >> 2] = $1_1; + HEAP32[($3_1 + 12 | 0) >> 2] = $1_1; + HEAP32[($2_1 + -16 | 0) >> 2] = $1_1; + HEAP32[($2_1 + -20 | 0) >> 2] = $1_1; + HEAP32[($2_1 + -24 | 0) >> 2] = $1_1; + HEAP32[($2_1 + -28 | 0) >> 2] = $1_1; + $5_1 = $3_1 & 4 | 0 | 24 | 0; + $2_1 = $4_1 - $5_1 | 0; + if ($2_1 >>> 0 < 32 >>> 0) { + break label$1 + } + i64toi32_i32$0 = 0; + $6_1 = $1_1; + $6$hi = i64toi32_i32$0; + i64toi32_i32$2 = $1_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $14_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $14_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $104$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$1 = $104$hi; + i64toi32_i32$0 = $14_1; + i64toi32_i32$2 = $6$hi; + i64toi32_i32$3 = $6_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $6_1 = i64toi32_i32$0 | $6_1 | 0; + $6$hi = i64toi32_i32$2; + $1_1 = $3_1 + $5_1 | 0; + label$2 : while (1) { + i64toi32_i32$2 = $6$hi; + i64toi32_i32$0 = $1_1; + HEAP32[($1_1 + 24 | 0) >> 2] = $6_1; + HEAP32[($1_1 + 28 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$0 = $1_1; + HEAP32[($1_1 + 16 | 0) >> 2] = $6_1; + HEAP32[($1_1 + 20 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$0 = $1_1; + HEAP32[($1_1 + 8 | 0) >> 2] = $6_1; + HEAP32[($1_1 + 12 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$0 = $1_1; + HEAP32[$1_1 >> 2] = $6_1; + HEAP32[($1_1 + 4 | 0) >> 2] = i64toi32_i32$2; + $1_1 = $1_1 + 32 | 0; + $2_1 = $2_1 + -32 | 0; + if ($2_1 >>> 0 > 31 >>> 0) { + continue label$2 + } + break label$2; + }; + } + return $0_1 | 0; + } + + function $3290($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0; + label$1 : { + if (($0_1 | 0) == ($1_1 | 0)) { + break label$1 + } + label$2 : { + if ((($1_1 - $0_1 | 0) - $2_1 | 0) >>> 0 > (0 - ($2_1 << 1 | 0) | 0) >>> 0) { + break label$2 + } + return $3288($0_1 | 0, $1_1 | 0, $2_1 | 0) | 0 | 0; + } + $3_1 = ($1_1 ^ $0_1 | 0) & 3 | 0; + label$3 : { + label$4 : { + label$5 : { + if ($0_1 >>> 0 >= $1_1 >>> 0) { + break label$5 + } + label$6 : { + if (!$3_1) { + break label$6 + } + $3_1 = $0_1; + break label$3; + } + label$7 : { + if ($0_1 & 3 | 0) { + break label$7 + } + $3_1 = $0_1; + break label$4; + } + $3_1 = $0_1; + label$8 : while (1) { + if (!$2_1) { + break label$1 + } + HEAP8[$3_1 >> 0] = HEAPU8[$1_1 >> 0] | 0; + $1_1 = $1_1 + 1 | 0; + $2_1 = $2_1 + -1 | 0; + $3_1 = $3_1 + 1 | 0; + if (!($3_1 & 3 | 0)) { + break label$4 + } + continue label$8; + }; + } + label$9 : { + if ($3_1) { + break label$9 + } + label$10 : { + if (!(($0_1 + $2_1 | 0) & 3 | 0)) { + break label$10 + } + label$11 : while (1) { + if (!$2_1) { + break label$1 + } + $2_1 = $2_1 + -1 | 0; + $3_1 = $0_1 + $2_1 | 0; + HEAP8[$3_1 >> 0] = HEAPU8[($1_1 + $2_1 | 0) >> 0] | 0; + if ($3_1 & 3 | 0) { + continue label$11 + } + break label$11; + }; + } + if ($2_1 >>> 0 <= 3 >>> 0) { + break label$9 + } + label$12 : while (1) { + $2_1 = $2_1 + -4 | 0; + HEAP32[($0_1 + $2_1 | 0) >> 2] = HEAP32[($1_1 + $2_1 | 0) >> 2] | 0; + if ($2_1 >>> 0 > 3 >>> 0) { + continue label$12 + } + break label$12; + }; + } + if (!$2_1) { + break label$1 + } + label$13 : while (1) { + $2_1 = $2_1 + -1 | 0; + HEAP8[($0_1 + $2_1 | 0) >> 0] = HEAPU8[($1_1 + $2_1 | 0) >> 0] | 0; + if ($2_1) { + continue label$13 + } + break label$1; + }; + } + if ($2_1 >>> 0 <= 3 >>> 0) { + break label$3 + } + label$14 : while (1) { + HEAP32[$3_1 >> 2] = HEAP32[$1_1 >> 2] | 0; + $1_1 = $1_1 + 4 | 0; + $3_1 = $3_1 + 4 | 0; + $2_1 = $2_1 + -4 | 0; + if ($2_1 >>> 0 > 3 >>> 0) { + continue label$14 + } + break label$14; + }; + } + if (!$2_1) { + break label$1 + } + label$15 : while (1) { + HEAP8[$3_1 >> 0] = HEAPU8[$1_1 >> 0] | 0; + $3_1 = $3_1 + 1 | 0; + $1_1 = $1_1 + 1 | 0; + $2_1 = $2_1 + -1 | 0; + if ($2_1) { + continue label$15 + } + break label$15; + }; + } + return $0_1 | 0; + } + + function $3291($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var $3_1 = 0, $4_1 = 0, $5_1 = 0, $8_1 = 0, $9_1 = 0, $6_1 = 0, $7_1 = 0; + $3_1 = global$0 - 32 | 0; + global$0 = $3_1; + $4_1 = HEAP32[($0_1 + 28 | 0) >> 2] | 0; + HEAP32[($3_1 + 16 | 0) >> 2] = $4_1; + $5_1 = HEAP32[($0_1 + 20 | 0) >> 2] | 0; + HEAP32[($3_1 + 28 | 0) >> 2] = $2_1; + HEAP32[($3_1 + 24 | 0) >> 2] = $1_1; + $1_1 = $5_1 - $4_1 | 0; + HEAP32[($3_1 + 20 | 0) >> 2] = $1_1; + $6_1 = $1_1 + $2_1 | 0; + $7_1 = 2; + $1_1 = $3_1 + 16 | 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if ($3259(fimport$30(HEAP32[($0_1 + 60 | 0) >> 2] | 0 | 0, $3_1 + 16 | 0 | 0, 2 | 0, $3_1 + 12 | 0 | 0) | 0 | 0) | 0) { + break label$4 + } + label$5 : while (1) { + $4_1 = HEAP32[($3_1 + 12 | 0) >> 2] | 0; + if (($6_1 | 0) == ($4_1 | 0)) { + break label$3 + } + if (($4_1 | 0) <= (-1 | 0)) { + break label$2 + } + $8_1 = HEAP32[($1_1 + 4 | 0) >> 2] | 0; + $5_1 = $4_1 >>> 0 > $8_1 >>> 0; + $9_1 = $1_1 + ($5_1 << 3 | 0) | 0; + $8_1 = $4_1 - ($5_1 ? $8_1 : 0) | 0; + HEAP32[$9_1 >> 2] = (HEAP32[$9_1 >> 2] | 0) + $8_1 | 0; + $9_1 = $1_1 + ($5_1 ? 12 : 4) | 0; + HEAP32[$9_1 >> 2] = (HEAP32[$9_1 >> 2] | 0) - $8_1 | 0; + $6_1 = $6_1 - $4_1 | 0; + $1_1 = $5_1 ? $1_1 + 8 | 0 : $1_1; + $7_1 = $7_1 - $5_1 | 0; + if (!($3259(fimport$30(HEAP32[($0_1 + 60 | 0) >> 2] | 0 | 0, $1_1 | 0, $7_1 | 0, $3_1 + 12 | 0 | 0) | 0 | 0) | 0)) { + continue label$5 + } + break label$5; + }; + } + HEAP32[($3_1 + 12 | 0) >> 2] = -1; + if (($6_1 | 0) != (-1 | 0)) { + break label$2 + } + } + $1_1 = HEAP32[($0_1 + 44 | 0) >> 2] | 0; + HEAP32[($0_1 + 28 | 0) >> 2] = $1_1; + HEAP32[($0_1 + 20 | 0) >> 2] = $1_1; + HEAP32[($0_1 + 16 | 0) >> 2] = $1_1 + (HEAP32[($0_1 + 48 | 0) >> 2] | 0) | 0; + $4_1 = $2_1; + break label$1; + } + $4_1 = 0; + HEAP32[($0_1 + 28 | 0) >> 2] = 0; + HEAP32[($0_1 + 16 | 0) >> 2] = 0; + HEAP32[($0_1 + 20 | 0) >> 2] = 0; + HEAP32[$0_1 >> 2] = HEAP32[$0_1 >> 2] | 0 | 32 | 0; + if (($7_1 | 0) == (2 | 0)) { + break label$1 + } + $4_1 = $2_1 - (HEAP32[($1_1 + 4 | 0) >> 2] | 0) | 0; + } + global$0 = $3_1 + 32 | 0; + return $4_1 | 0; + } + + function $3292($0_1) { + $0_1 = $0_1 | 0; + return 0 | 0; + } + + function $3293($0_1, $1_1, $1$hi, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + i64toi32_i32$HIGH_BITS = 0; + return 0 | 0; + } + + function $3294() { + return 116264 | 0; + } + + function $3295() { + return 116272 | 0; + } + + function $3296() { + return 116276 | 0; + } + + function $3297($0_1) { + $0_1 = $0_1 | 0; + } + + function $3298($0_1) { + $0_1 = $0_1 | 0; + } + + function $3299() { + $3297(116280 | 0); + return 116288 | 0; + } + + function $3300() { + $3298(116280 | 0); + } + + function $3301($0_1) { + $0_1 = $0_1 | 0; + return 1 | 0; + } + + function $3302($0_1) { + $0_1 = $0_1 | 0; + } + + function $3303($0_1) { + $0_1 = $0_1 | 0; + var $1_1 = 0, $2_1 = 0, $3_1 = 0; + $1_1 = $0_1; + label$1 : { + label$2 : { + if (!($0_1 & 3 | 0)) { + break label$2 + } + label$3 : { + if (HEAPU8[$0_1 >> 0] | 0) { + break label$3 + } + return $0_1 - $0_1 | 0 | 0; + } + $1_1 = $0_1; + label$4 : while (1) { + $1_1 = $1_1 + 1 | 0; + if (!($1_1 & 3 | 0)) { + break label$2 + } + if (!(HEAPU8[$1_1 >> 0] | 0)) { + break label$1 + } + continue label$4; + }; + } + label$5 : while (1) { + $2_1 = $1_1; + $1_1 = $1_1 + 4 | 0; + $3_1 = HEAP32[$2_1 >> 2] | 0; + if (!((($3_1 ^ -1 | 0) & ($3_1 + -16843009 | 0) | 0) & -2139062144 | 0)) { + continue label$5 + } + break label$5; + }; + label$6 : { + if ($3_1 & 255 | 0) { + break label$6 + } + return $2_1 - $0_1 | 0 | 0; + } + label$7 : while (1) { + $3_1 = HEAPU8[($2_1 + 1 | 0) >> 0] | 0; + $1_1 = $2_1 + 1 | 0; + $2_1 = $1_1; + if ($3_1) { + continue label$7 + } + break label$7; + }; + } + return $1_1 - $0_1 | 0 | 0; + } + + function $3304() { + return global$0 | 0; + } + + function $3305($0_1) { + $0_1 = $0_1 | 0; + global$0 = $0_1; + } + + function $3306($0_1) { + $0_1 = $0_1 | 0; + var $1_1 = 0; + $1_1 = (global$0 - $0_1 | 0) & -16 | 0; + global$0 = $1_1; + return $1_1 | 0; + } + + function $3307($0_1) { + $0_1 = $0_1 | 0; + var $2_1 = 0, $1_1 = 0; + label$1 : { + label$2 : { + if (!$0_1) { + break label$2 + } + label$3 : { + if ((HEAP32[($0_1 + 76 | 0) >> 2] | 0 | 0) > (-1 | 0)) { + break label$3 + } + return $3308($0_1 | 0) | 0 | 0; + } + $1_1 = $3301($0_1 | 0) | 0; + $2_1 = $3308($0_1 | 0) | 0; + if (!$1_1) { + break label$1 + } + $3302($0_1 | 0); + return $2_1 | 0; + } + $2_1 = 0; + label$4 : { + if (!(HEAP32[(0 + 114008 | 0) >> 2] | 0)) { + break label$4 + } + $2_1 = $3307(HEAP32[(0 + 114008 | 0) >> 2] | 0 | 0) | 0; + } + label$5 : { + $0_1 = HEAP32[($3299() | 0) >> 2] | 0; + if (!$0_1) { + break label$5 + } + label$6 : while (1) { + $1_1 = 0; + label$7 : { + if ((HEAP32[($0_1 + 76 | 0) >> 2] | 0 | 0) < (0 | 0)) { + break label$7 + } + $1_1 = $3301($0_1 | 0) | 0; + } + label$8 : { + if ((HEAP32[($0_1 + 20 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($0_1 + 28 | 0) >> 2] | 0) >>> 0) { + break label$8 + } + $2_1 = $3308($0_1 | 0) | 0 | $2_1 | 0; + } + label$9 : { + if (!$1_1) { + break label$9 + } + $3302($0_1 | 0); + } + $0_1 = HEAP32[($0_1 + 56 | 0) >> 2] | 0; + if ($0_1) { + continue label$6 + } + break label$6; + }; + } + $3300(); + } + return $2_1 | 0; + } + + function $3308($0_1) { + $0_1 = $0_1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $1_1 = 0, $2_1 = 0; + label$1 : { + if ((HEAP32[($0_1 + 20 | 0) >> 2] | 0) >>> 0 <= (HEAP32[($0_1 + 28 | 0) >> 2] | 0) >>> 0) { + break label$1 + } + FUNCTION_TABLE[HEAP32[($0_1 + 36 | 0) >> 2] | 0 | 0]($0_1, 0, 0) | 0; + if (HEAP32[($0_1 + 20 | 0) >> 2] | 0) { + break label$1 + } + return -1 | 0; + } + label$2 : { + $1_1 = HEAP32[($0_1 + 4 | 0) >> 2] | 0; + $2_1 = HEAP32[($0_1 + 8 | 0) >> 2] | 0; + if ($1_1 >>> 0 >= $2_1 >>> 0) { + break label$2 + } + i64toi32_i32$1 = $1_1 - $2_1 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + i64toi32_i32$0 = FUNCTION_TABLE[HEAP32[($0_1 + 40 | 0) >> 2] | 0 | 0]($0_1, i64toi32_i32$1, i64toi32_i32$0, 1) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + } + HEAP32[($0_1 + 28 | 0) >> 2] = 0; + i64toi32_i32$0 = $0_1; + i64toi32_i32$1 = 0; + HEAP32[($0_1 + 16 | 0) >> 2] = 0; + HEAP32[($0_1 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $0_1; + i64toi32_i32$1 = 0; + HEAP32[($0_1 + 4 | 0) >> 2] = 0; + HEAP32[($0_1 + 8 | 0) >> 2] = i64toi32_i32$1; + return 0 | 0; + } + + function $3309($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + FUNCTION_TABLE[$0_1 | 0]($1_1); + } + + function $3310($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, $3_1, $4_1) | 0 | 0; + } + + function $3311($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1) | 0 | 0; + } + + function $3312($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, $3_1); + } + + function $3313($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, $3_1, $4_1, $5_1) | 0 | 0; + } + + function $3314($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + return FUNCTION_TABLE[$0_1 | 0]($1_1) | 0 | 0; + } + + function $3315($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, $3_1) | 0 | 0; + } + + function $3316($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, $3_1, $4_1, $5_1, $6_1) | 0 | 0; + } + + function $3317($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1); + } + + function $3318($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, $3_1, $4_1); + } + + function $3319($0_1, $1_1, $1$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $1$hi; + return FUNCTION_TABLE[$0_1 | 0]($1_1, i64toi32_i32$0) | 0 | 0; + } + + function $3320($0_1, $1_1, $2_1, $3_1, $4_1, $4$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $4$hi = $4$hi | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $4$hi; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, $3_1, $4_1, i64toi32_i32$0) | 0 | 0; + } + + function $3321($0_1, $1_1, $2_1, $2$hi, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $2$hi; + FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, i64toi32_i32$0, $3_1, $4_1); + } + + function $3322($0_1, $1_1, $2_1, $2$hi, $3_1, $3$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $3$hi = $3$hi | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$0 = $2$hi; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, i64toi32_i32$0, $3_1, $3$hi) | 0 | 0; + } + + function $3323($0_1, $1_1, $2_1, $2$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $2$hi; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, i64toi32_i32$0) | 0 | 0; + } + + function $3324($0_1, $1_1, $2_1, $2$hi, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $2$hi; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, i64toi32_i32$0, $3_1, $4_1) | 0 | 0; + } + + function $3325($0_1, $1_1, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $2$hi; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, i64toi32_i32$0, $3_1) | 0 | 0; + } + + function $3326($0_1) { + $0_1 = $0_1 | 0; + return FUNCTION_TABLE[$0_1 | 0]() | 0 | 0; + } + + function $3327($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $6$hi) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $6$hi = $6$hi | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $6$hi; + return FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, $3_1, $4_1, $5_1, $6_1, i64toi32_i32$0) | 0 | 0; + } + + function $3328($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = FUNCTION_TABLE[$0_1 | 0]($1_1) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $3329($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, $3_1, $4_1, $5_1); + } + + function $3330($0_1, $1_1, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $2$hi; + FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, i64toi32_i32$0, $3_1); + } + + function $3331($0_1, $1_1, $2_1, $2$hi, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $2$hi = $2$hi | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = FUNCTION_TABLE[$0_1 | 0]($1_1, $2_1, i64toi32_i32$0, $3_1) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $3332($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $3_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0; + $3_1 = $0_1; + i64toi32_i32$0 = 0; + $5_1 = $1_1; + $5$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $12_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $8$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$3 = $12_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $270($3_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0); + } + + function $3333($0_1, $1_1, $2_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $3_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0; + $3_1 = $0_1; + i64toi32_i32$0 = 0; + $5_1 = $1_1; + $5$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $2_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $12_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $8$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$3 = $12_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + return $3319($3_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function $3334($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $18_1 = 0, $6_1 = 0, $7_1 = 0, $8_1 = 0, $9_1 = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0; + $6_1 = $0_1; + $7_1 = $1_1; + $8_1 = $2_1; + $9_1 = $3_1; + i64toi32_i32$0 = 0; + $11_1 = $4_1; + $11$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $5_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $18_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $18_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $14$hi = i64toi32_i32$1; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$0 = $11_1; + i64toi32_i32$2 = $14$hi; + i64toi32_i32$3 = $18_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + return $3320($6_1 | 0, $7_1 | 0, $8_1 | 0, $9_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function $3335($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $16_1 = 0, $6_1 = 0, $7_1 = 0, $9_1 = 0, $9$hi = 0, $12$hi = 0; + $6_1 = $0_1; + $7_1 = $1_1; + i64toi32_i32$0 = 0; + $9_1 = $2_1; + $9$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $16_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $16_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$0 = $9_1; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$3 = $16_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $3321($6_1 | 0, $7_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, $4_1 | 0, $5_1 | 0); + } + + function $3336($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $23_1 = 0, $24_1 = 0, $6_1 = 0, $7_1 = 0, $9_1 = 0, $9$hi = 0, $12$hi = 0, $13_1 = 0, $13$hi = 0, $15_1 = 0, $15$hi = 0, $18$hi = 0, $19_1 = 0, $19$hi = 0; + $6_1 = $0_1; + $7_1 = $1_1; + i64toi32_i32$0 = 0; + $9_1 = $2_1; + $9$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $23_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $23_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$0 = $9_1; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$3 = $23_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $13_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $13$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $15_1 = $4_1; + $15$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $5_1; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $24_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $24_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $18$hi = i64toi32_i32$0; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$2 = $15_1; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$3 = $24_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $19_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$2 = $19$hi; + return $3322($6_1 | 0, $7_1 | 0, $13_1 | 0, i64toi32_i32$1 | 0, $19_1 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function $3337($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $14_1 = 0, $4_1 = 0, $5_1 = 0, $7_1 = 0, $7$hi = 0, $10$hi = 0; + $4_1 = $0_1; + $5_1 = $1_1; + i64toi32_i32$0 = 0; + $7_1 = $2_1; + $7$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $14_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $14_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $10$hi = i64toi32_i32$1; + i64toi32_i32$1 = $7$hi; + i64toi32_i32$0 = $7_1; + i64toi32_i32$2 = $10$hi; + i64toi32_i32$3 = $14_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + return $3323($4_1 | 0, $5_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function $3338($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $16_1 = 0, $6_1 = 0, $7_1 = 0, $9_1 = 0, $9$hi = 0, $12$hi = 0; + $6_1 = $0_1; + $7_1 = $1_1; + i64toi32_i32$0 = 0; + $9_1 = $2_1; + $9$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $16_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $16_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$0 = $9_1; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$3 = $16_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + return $3324($6_1 | 0, $7_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, $4_1 | 0, $5_1 | 0) | 0 | 0; + } + + function $3339($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $15_1 = 0, $5_1 = 0, $6_1 = 0, $8_1 = 0, $8$hi = 0, $11$hi = 0; + $5_1 = $0_1; + $6_1 = $1_1; + i64toi32_i32$0 = 0; + $8_1 = $2_1; + $8$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $15_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $15_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $11$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$0 = $8_1; + i64toi32_i32$2 = $11$hi; + i64toi32_i32$3 = $15_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + return $3325($5_1 | 0, $6_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, $4_1 | 0) | 0 | 0; + } + + function $3340($0_1, $1_1, $2_1, $3_1, $4_1, $5_1, $6_1, $7_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + $5_1 = $5_1 | 0; + $6_1 = $6_1 | 0; + $7_1 = $7_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $22_1 = 0, $8_1 = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0, $12_1 = 0, $13_1 = 0, $15_1 = 0, $15$hi = 0, $18$hi = 0; + $8_1 = $0_1; + $9_1 = $1_1; + $10_1 = $2_1; + $11_1 = $3_1; + $12_1 = $4_1; + $13_1 = $5_1; + i64toi32_i32$0 = 0; + $15_1 = $6_1; + $15$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $7_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $22_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $22_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $18$hi = i64toi32_i32$1; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$0 = $15_1; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$3 = $22_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + return $3327($8_1 | 0, $9_1 | 0, $10_1 | 0, $11_1 | 0, $12_1 | 0, $13_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function $3341($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $9_1 = 0, $2_1 = 0, $2$hi = 0, i64toi32_i32$2 = 0; + i64toi32_i32$0 = $3328($0_1 | 0, $1_1 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $2_1 = i64toi32_i32$0; + $2$hi = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $9_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $9_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + fimport$36($9_1 | 0); + i64toi32_i32$0 = $2$hi; + return $2_1 | 0; + } + + function $3342($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $15_1 = 0, $5_1 = 0, $6_1 = 0, $8_1 = 0, $8$hi = 0, $11$hi = 0; + $5_1 = $0_1; + $6_1 = $1_1; + i64toi32_i32$0 = 0; + $8_1 = $2_1; + $8$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $15_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $15_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $11$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$0 = $8_1; + i64toi32_i32$2 = $11$hi; + i64toi32_i32$3 = $15_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $3330($5_1 | 0, $6_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, $4_1 | 0); + } + + function $3343($0_1, $1_1, $2_1, $3_1, $4_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $4_1 = $4_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $17_1 = 0, $18_1 = 0, $6_1 = 0, $7_1 = 0, $9_1 = 0, $9$hi = 0, $12$hi = 0, $5_1 = 0, $5$hi = 0; + $6_1 = $0_1; + $7_1 = $1_1; + i64toi32_i32$0 = 0; + $9_1 = $2_1; + $9$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $3_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $17_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $17_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$0 = $9_1; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$3 = $17_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$2 = $3331($6_1 | 0, $7_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, $4_1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $5_1 = i64toi32_i32$2; + $5$hi = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $18_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $18_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + fimport$36($18_1 | 0); + i64toi32_i32$2 = $5$hi; + return $5_1 | 0; + } + + function $3344($0_1, $1_1, $1$hi, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $1$hi = $1$hi | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $4_1 = 0, $6_1 = 0, i64toi32_i32$2 = 0; + $4_1 = $0_1; + i64toi32_i32$0 = $1$hi; + $6_1 = $1_1; + i64toi32_i32$2 = $1_1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $12_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $12_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + return fimport$37($4_1 | 0, $6_1 | 0, $12_1 | 0, $2_1 | 0, $3_1 | 0) | 0 | 0; + } + + function $3345($0_1) { + $0_1 = $0_1 | 0; + return __wasm_memory_grow($0_1 | 0) | 0; + } + + function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, var$2 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, var$3 = 0, var$4 = 0, var$5 = 0, $21_1 = 0, $22_1 = 0, var$6 = 0, $24_1 = 0, $17_1 = 0, $18_1 = 0, $23_1 = 0, $29_1 = 0, $45_1 = 0, $56$hi = 0, $62$hi = 0; + i64toi32_i32$0 = var$1$hi; + var$2 = var$1; + var$4 = var$2 >>> 16 | 0; + i64toi32_i32$0 = var$0$hi; + var$3 = var$0; + var$5 = var$3 >>> 16 | 0; + $17_1 = Math_imul(var$4, var$5); + $18_1 = var$2; + i64toi32_i32$2 = var$3; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $21_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $21_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $23_1 = $17_1 + Math_imul($18_1, $21_1) | 0; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $22_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $22_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $29_1 = $23_1 + Math_imul($22_1, var$3) | 0; + var$2 = var$2 & 65535 | 0; + var$3 = var$3 & 65535 | 0; + var$6 = Math_imul(var$2, var$3); + var$2 = (var$6 >>> 16 | 0) + Math_imul(var$2, var$5) | 0; + $45_1 = $29_1 + (var$2 >>> 16 | 0) | 0; + var$2 = (var$2 & 65535 | 0) + Math_imul(var$4, var$3) | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $45_1 + (var$2 >>> 16 | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $24_1 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $24_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $56$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $62$hi = i64toi32_i32$0; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$2 = $24_1; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$3 = var$2 << 16 | 0 | (var$6 & 65535 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$2 | 0; + } + + function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $7$hi = 0, $9_1 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17_1 = 0, $17$hi = 0, $23$hi = 0; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$2 = var$0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $21_1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + $21_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + var$2 = $21_1; + var$2$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$1 = var$2$hi; + i64toi32_i32$0 = var$2; + i64toi32_i32$2 = var$0$hi; + i64toi32_i32$3 = var$0; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + $7$hi = i64toi32_i32$2; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$2 = $7$hi; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0; + i64toi32_i32$0 = var$2$hi; + i64toi32_i32$3 = var$2; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $9_1 = i64toi32_i32$4; + $9$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$2 = var$1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $22_1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0; + $22_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0; + } + var$2 = $22_1; + var$2$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$1 = var$2$hi; + i64toi32_i32$5 = var$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$3 = var$1; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + $14$hi = i64toi32_i32$2; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$2 = $14$hi; + i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0; + i64toi32_i32$5 = var$2$hi; + i64toi32_i32$3 = var$2; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $16$hi = i64toi32_i32$4; + i64toi32_i32$4 = $9$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = __wasm_i64_udiv($9_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $17_1 = i64toi32_i32$1; + $17$hi = i64toi32_i32$4; + i64toi32_i32$4 = var$1$hi; + i64toi32_i32$4 = var$0$hi; + i64toi32_i32$4 = var$1$hi; + i64toi32_i32$2 = var$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$3 = var$0; + i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0; + $23_1 = i64toi32_i32$1 >> i64toi32_i32$5 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5 | 0; + $23_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$5 | 0) | 0; + } + var$0 = $23_1; + var$0$hi = i64toi32_i32$2; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$1 = $17_1; + i64toi32_i32$4 = var$0$hi; + i64toi32_i32$3 = var$0; + i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4 | 0; + $23$hi = i64toi32_i32$4; + i64toi32_i32$4 = var$0$hi; + i64toi32_i32$4 = $23$hi; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$2 | 0; + } + + function _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, var$2 = 0, $20_1 = 0, $21_1 = 0, $7$hi = 0, $9_1 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17$hi = 0, $19$hi = 0; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$2 = var$0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $20_1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0; + $20_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + var$2 = $20_1; + var$2$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$1 = var$2$hi; + i64toi32_i32$0 = var$2; + i64toi32_i32$2 = var$0$hi; + i64toi32_i32$3 = var$0; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + $7$hi = i64toi32_i32$2; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$2 = $7$hi; + i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0; + i64toi32_i32$0 = var$2$hi; + i64toi32_i32$3 = var$2; + i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $9_1 = i64toi32_i32$4; + $9$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$2 = var$1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 63; + i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0; + $21_1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0; + $21_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0; + } + var$0 = $21_1; + var$0$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$3 = var$1; + i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0; + $14$hi = i64toi32_i32$2; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$2 = $14$hi; + i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0; + i64toi32_i32$5 = var$0$hi; + i64toi32_i32$3 = var$0; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + $16$hi = i64toi32_i32$4; + i64toi32_i32$4 = $9$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = __wasm_i64_urem($9_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $17$hi = i64toi32_i32$4; + i64toi32_i32$4 = var$2$hi; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = var$2$hi; + i64toi32_i32$3 = var$2; + i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$2$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0; + i64toi32_i32$2 = var$2$hi; + i64toi32_i32$5 = i64toi32_i32$4 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$0 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$4 | 0; + } + + function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, var$8$hi = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, var$7$hi = 0, $49_1 = 0, $63$hi = 0, $65_1 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140_1 = 0, $140$hi = 0, $142$hi = 0, $144_1 = 0, $144$hi = 0, $151_1 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + label$7 : { + label$8 : { + label$9 : { + label$10 : { + label$11 : { + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$2 = var$0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $37_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $37_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + var$2 = $37_1; + if (var$2) { + block : { + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $38_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + var$4 = $38_1; + if (!var$4) { + break label$9 + } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 + } + break label$2; + } + } + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = 0; + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) { + break label$2 + } + i64toi32_i32$1 = var$0$hi; + var$2 = var$0; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; + i64toi32_i32$1 = 0; + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = var$2; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$2 | 0; + } + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$3 = var$1; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $39_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $39_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + var$3 = $39_1; + i64toi32_i32$1 = var$0$hi; + if (!var$0) { + break label$7 + } + if (!var$3) { + break label$6 + } + var$4 = var$3 + -1 | 0; + if (var$4 & var$3 | 0) { + break label$6 + } + i64toi32_i32$1 = 0; + i64toi32_i32$2 = var$4 & var$2 | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $40_1 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $40_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $63$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$1 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = -1; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $65_1 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $65$hi = i64toi32_i32$2; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$3 = $40_1; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$0 = $65_1; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$3 | 0; + } + } + var$4 = var$3 + -1 | 0; + if (!(var$4 & var$3 | 0)) { + break label$5 + } + var$2 = (Math_clz32(var$3) + 33 | 0) - Math_clz32(var$2) | 0; + var$3 = 0 - var$2 | 0; + break label$3; + } + var$3 = 63 - var$2 | 0; + var$2 = var$2 + 1 | 0; + break label$3; + } + var$4 = (var$2 >>> 0) / (var$3 >>> 0) | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $41_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $41_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + __wasm_intrinsics_temp_i64 = $41_1; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = var$4; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$2 | 0; + } + var$2 = Math_clz32(var$3) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 < 31 >>> 0) { + break label$4 + } + break label$2; + } + i64toi32_i32$2 = var$0$hi; + i64toi32_i32$2 = 0; + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; + if ((var$3 | 0) == (1 | 0)) { + break label$1 + } + i64toi32_i32$2 = var$0$hi; + i64toi32_i32$2 = 0; + $120$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$0$hi; + i64toi32_i32$3 = var$0; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $42_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $42_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$3 = $42_1; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$3 | 0; + } + var$3 = 63 - var$2 | 0; + var$2 = var$2 + 1 | 0; + } + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$3 = 0; + $129$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$2 = var$0; + i64toi32_i32$1 = $129$hi; + i64toi32_i32$0 = var$2 & 63 | 0; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $43_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + $43_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + var$5 = $43_1; + var$5$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$1 = 0; + $134$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$3 = var$0; + i64toi32_i32$2 = $134$hi; + i64toi32_i32$0 = var$3 & 63 | 0; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + $44_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $44_1 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + } + var$0 = $44_1; + var$0$hi = i64toi32_i32$2; + label$13 : { + if (var$2) { + block3 : { + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45_1 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45_1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + } + $140_1 = $45_1; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $46_1 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140_1; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46_1; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144_1 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47_1 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47_1; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151_1 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144_1; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151_1; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48_1; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; + } + } + } + i64toi32_i32$3 = var$5$hi; + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $49_1 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $49_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $165$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$2 = $165$hi; + i64toi32_i32$3 = $49_1; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$0 = var$6; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$5; + return i64toi32_i32$3 | 0; + } + i64toi32_i32$3 = var$0$hi; + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + var$0 = 0; + var$0$hi = i64toi32_i32$3; + } + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$3; + return i64toi32_i32$5 | 0; + } + + function __wasm_ctz_i32(var$0) { + var$0 = var$0 | 0; + if (var$0) { + return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0 + } + return 32 | 0; + } + + function __wasm_i64_mul(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$0 = var$1$hi; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function __wasm_i64_sdiv(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$0 = var$1$hi; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function __wasm_i64_srem(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$0 = var$1$hi; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function __wasm_i64_udiv(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$0 = var$1$hi; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function __wasm_i64_urem(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$0 = var$1$hi; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$0 = __wasm_intrinsics_temp_i64$hi; + i64toi32_i32$1 = __wasm_intrinsics_temp_i64; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function __wasm_rotl_i32(var$0, var$1) { + var$0 = var$0 | 0; + var$1 = var$1 | 0; + var var$2 = 0; + var$2 = var$1 & 31 | 0; + var$1 = (0 - var$1 | 0) & 31 | 0; + return ((-1 >>> var$2 | 0) & var$0 | 0) << var$2 | 0 | (((-1 << var$1 | 0) & var$0 | 0) >>> var$1 | 0) | 0 | 0; + } + + // EMSCRIPTEN_END_FUNCS +; + FUNCTION_TABLE[1] = $118; + FUNCTION_TABLE[2] = $275; + FUNCTION_TABLE[3] = $42; + FUNCTION_TABLE[4] = $948; + FUNCTION_TABLE[5] = $958; + FUNCTION_TABLE[6] = $924; + FUNCTION_TABLE[7] = $925; + FUNCTION_TABLE[8] = $385; + FUNCTION_TABLE[9] = $391; + FUNCTION_TABLE[10] = $462; + FUNCTION_TABLE[11] = $471; + FUNCTION_TABLE[12] = $476; + FUNCTION_TABLE[13] = $486; + FUNCTION_TABLE[14] = $487; + FUNCTION_TABLE[15] = $488; + FUNCTION_TABLE[16] = $607; + FUNCTION_TABLE[17] = $160; + FUNCTION_TABLE[18] = $170; + FUNCTION_TABLE[19] = $446; + FUNCTION_TABLE[20] = $646; + FUNCTION_TABLE[21] = $647; + FUNCTION_TABLE[22] = $745; + FUNCTION_TABLE[23] = $763; + FUNCTION_TABLE[24] = $764; + FUNCTION_TABLE[25] = $765; + FUNCTION_TABLE[26] = $766; + FUNCTION_TABLE[27] = $767; + FUNCTION_TABLE[28] = $1027; + FUNCTION_TABLE[29] = $1038; + FUNCTION_TABLE[30] = $1000; + FUNCTION_TABLE[31] = $1070; + FUNCTION_TABLE[32] = $1071; + FUNCTION_TABLE[33] = $1097; + FUNCTION_TABLE[34] = $1098; + FUNCTION_TABLE[35] = $1099; + FUNCTION_TABLE[36] = $1641; + FUNCTION_TABLE[37] = $1642; + FUNCTION_TABLE[38] = $1658; + FUNCTION_TABLE[39] = $1659; + FUNCTION_TABLE[40] = $1660; + FUNCTION_TABLE[41] = $1559; + FUNCTION_TABLE[42] = $1623; + FUNCTION_TABLE[43] = $1671; + FUNCTION_TABLE[44] = $1707; + FUNCTION_TABLE[45] = $1708; + FUNCTION_TABLE[46] = $1390; + FUNCTION_TABLE[47] = $1586; + FUNCTION_TABLE[48] = $1587; + FUNCTION_TABLE[49] = $1834; + FUNCTION_TABLE[50] = $1836; + FUNCTION_TABLE[51] = $1545; + FUNCTION_TABLE[52] = $1546; + FUNCTION_TABLE[53] = $1844; + FUNCTION_TABLE[54] = $1468; + FUNCTION_TABLE[55] = $1575; + FUNCTION_TABLE[56] = $1576; + FUNCTION_TABLE[57] = $1603; + FUNCTION_TABLE[58] = $1604; + FUNCTION_TABLE[59] = $1608; + FUNCTION_TABLE[60] = $1618; + FUNCTION_TABLE[61] = $1619; + FUNCTION_TABLE[62] = $1620; + FUNCTION_TABLE[63] = $1621; + FUNCTION_TABLE[64] = $1622; + FUNCTION_TABLE[65] = $1640; + FUNCTION_TABLE[66] = $1709; + FUNCTION_TABLE[67] = $1710; + FUNCTION_TABLE[68] = $1711; + FUNCTION_TABLE[69] = $1713; + FUNCTION_TABLE[70] = $1722; + FUNCTION_TABLE[71] = $1799; + FUNCTION_TABLE[72] = $1800; + FUNCTION_TABLE[73] = $1791; + FUNCTION_TABLE[74] = $1808; + FUNCTION_TABLE[75] = $1811; + FUNCTION_TABLE[76] = $1855; + FUNCTION_TABLE[77] = $1906; + FUNCTION_TABLE[78] = $1907; + FUNCTION_TABLE[79] = $1919; + FUNCTION_TABLE[80] = $1920; + FUNCTION_TABLE[81] = $2014; + FUNCTION_TABLE[82] = $2033; + FUNCTION_TABLE[83] = $2389; + FUNCTION_TABLE[84] = $2390; + FUNCTION_TABLE[85] = $2391; + FUNCTION_TABLE[86] = $2392; + FUNCTION_TABLE[87] = $2398; + FUNCTION_TABLE[88] = $2399; + FUNCTION_TABLE[89] = $2020; + FUNCTION_TABLE[90] = $2021; + FUNCTION_TABLE[91] = $2022; + FUNCTION_TABLE[92] = $2025; + FUNCTION_TABLE[93] = $2080; + FUNCTION_TABLE[94] = $2081; + FUNCTION_TABLE[95] = $2093; + FUNCTION_TABLE[96] = $2094; + FUNCTION_TABLE[97] = $2089; + FUNCTION_TABLE[98] = $2073; + FUNCTION_TABLE[99] = $2083; + FUNCTION_TABLE[100] = $2084; + FUNCTION_TABLE[101] = $2123; + FUNCTION_TABLE[102] = $2124; + FUNCTION_TABLE[103] = $2128; + FUNCTION_TABLE[104] = $2351; + FUNCTION_TABLE[105] = $2337; + FUNCTION_TABLE[106] = $2343; + FUNCTION_TABLE[107] = $2360; + FUNCTION_TABLE[108] = $2361; + FUNCTION_TABLE[109] = $2366; + FUNCTION_TABLE[110] = $2367; + FUNCTION_TABLE[111] = $2369; + FUNCTION_TABLE[112] = $2466; + FUNCTION_TABLE[113] = $2467; + FUNCTION_TABLE[114] = $2550; + FUNCTION_TABLE[115] = $2554; + FUNCTION_TABLE[116] = $2764; + FUNCTION_TABLE[117] = $2457; + FUNCTION_TABLE[118] = $2507; + FUNCTION_TABLE[119] = $2590; + FUNCTION_TABLE[120] = $2593; + FUNCTION_TABLE[121] = $2594; + FUNCTION_TABLE[122] = $2595; + FUNCTION_TABLE[123] = $2596; + FUNCTION_TABLE[124] = $2597; + FUNCTION_TABLE[125] = $2666; + FUNCTION_TABLE[126] = $2667; + FUNCTION_TABLE[127] = $2668; + FUNCTION_TABLE[128] = $2669; + FUNCTION_TABLE[129] = $2674; + FUNCTION_TABLE[130] = $2675; + FUNCTION_TABLE[131] = $2676; + FUNCTION_TABLE[132] = $2677; + FUNCTION_TABLE[133] = $2678; + FUNCTION_TABLE[134] = $2679; + FUNCTION_TABLE[135] = $2680; + FUNCTION_TABLE[136] = $2693; + FUNCTION_TABLE[137] = $2694; + FUNCTION_TABLE[138] = $2695; + FUNCTION_TABLE[139] = $2710; + FUNCTION_TABLE[140] = $2712; + FUNCTION_TABLE[141] = $2714; + FUNCTION_TABLE[142] = $2735; + FUNCTION_TABLE[143] = $2751; + FUNCTION_TABLE[144] = $2770; + FUNCTION_TABLE[145] = $2807; + FUNCTION_TABLE[146] = $2848; + FUNCTION_TABLE[147] = $2853; + FUNCTION_TABLE[148] = $2858; + FUNCTION_TABLE[149] = $2874; + FUNCTION_TABLE[150] = $2995; + FUNCTION_TABLE[151] = $2996; + FUNCTION_TABLE[152] = $3062; + FUNCTION_TABLE[153] = $91; + FUNCTION_TABLE[154] = $100; + FUNCTION_TABLE[155] = $103; + FUNCTION_TABLE[156] = $104; + FUNCTION_TABLE[157] = $106; + FUNCTION_TABLE[158] = $107; + FUNCTION_TABLE[159] = $108; + FUNCTION_TABLE[160] = $109; + FUNCTION_TABLE[161] = $110; + FUNCTION_TABLE[162] = $111; + FUNCTION_TABLE[163] = $112; + FUNCTION_TABLE[164] = $544; + FUNCTION_TABLE[165] = $602; + FUNCTION_TABLE[166] = $603; + FUNCTION_TABLE[167] = $545; + FUNCTION_TABLE[168] = $553; + FUNCTION_TABLE[169] = $556; + FUNCTION_TABLE[170] = $558; + FUNCTION_TABLE[171] = $560; + FUNCTION_TABLE[172] = $561; + FUNCTION_TABLE[173] = $562; + FUNCTION_TABLE[174] = $547; + FUNCTION_TABLE[175] = $566; + FUNCTION_TABLE[176] = $567; + FUNCTION_TABLE[177] = $571; + FUNCTION_TABLE[178] = $573; + FUNCTION_TABLE[179] = $574; + FUNCTION_TABLE[180] = $579; + FUNCTION_TABLE[181] = $581; + FUNCTION_TABLE[182] = $582; + FUNCTION_TABLE[183] = $584; + FUNCTION_TABLE[184] = $585; + FUNCTION_TABLE[185] = $587; + FUNCTION_TABLE[186] = $3241; + FUNCTION_TABLE[187] = $3239; + FUNCTION_TABLE[188] = $3246; + FUNCTION_TABLE[189] = $3220; + FUNCTION_TABLE[190] = $3217; + FUNCTION_TABLE[191] = $3244; + FUNCTION_TABLE[192] = $3173; + FUNCTION_TABLE[193] = $3250; + FUNCTION_TABLE[194] = $3255; + FUNCTION_TABLE[195] = $3216; + FUNCTION_TABLE[196] = $3254; + FUNCTION_TABLE[197] = $588; + FUNCTION_TABLE[198] = $3219; + FUNCTION_TABLE[199] = $3252; + FUNCTION_TABLE[200] = $3242; + FUNCTION_TABLE[201] = $3247; + FUNCTION_TABLE[202] = $3213; + FUNCTION_TABLE[203] = $3214; + FUNCTION_TABLE[204] = $589; + FUNCTION_TABLE[205] = $3251; + FUNCTION_TABLE[206] = $3218; + FUNCTION_TABLE[207] = $593; + FUNCTION_TABLE[208] = $594; + FUNCTION_TABLE[209] = $595; + FUNCTION_TABLE[210] = $596; + FUNCTION_TABLE[211] = $597; + FUNCTION_TABLE[212] = $599; + FUNCTION_TABLE[213] = $598; + FUNCTION_TABLE[214] = $600; + FUNCTION_TABLE[215] = $667; + FUNCTION_TABLE[216] = $669; + FUNCTION_TABLE[217] = $670; + FUNCTION_TABLE[218] = $672; + FUNCTION_TABLE[219] = $673; + FUNCTION_TABLE[220] = $674; + FUNCTION_TABLE[221] = $1157; + FUNCTION_TABLE[222] = $1158; + FUNCTION_TABLE[223] = $1159; + FUNCTION_TABLE[224] = $1160; + FUNCTION_TABLE[225] = $1161; + FUNCTION_TABLE[226] = $1163; + FUNCTION_TABLE[227] = $1164; + FUNCTION_TABLE[228] = $1165; + FUNCTION_TABLE[229] = $1166; + FUNCTION_TABLE[230] = $1167; + FUNCTION_TABLE[231] = $1845; + FUNCTION_TABLE[232] = $1847; + FUNCTION_TABLE[233] = $1854; + FUNCTION_TABLE[234] = $1856; + FUNCTION_TABLE[235] = $1857; + FUNCTION_TABLE[236] = $1858; + FUNCTION_TABLE[237] = $1859; + FUNCTION_TABLE[238] = $1860; + FUNCTION_TABLE[239] = $1861; + FUNCTION_TABLE[240] = $1863; + FUNCTION_TABLE[241] = $1865; + FUNCTION_TABLE[242] = $1867; + FUNCTION_TABLE[243] = $1869; + FUNCTION_TABLE[244] = $1870; + FUNCTION_TABLE[245] = $1871; + FUNCTION_TABLE[246] = $1872; + FUNCTION_TABLE[247] = $1873; + FUNCTION_TABLE[248] = $1874; + FUNCTION_TABLE[249] = $1875; + FUNCTION_TABLE[250] = $1876; + FUNCTION_TABLE[251] = $1877; + FUNCTION_TABLE[252] = $1878; + FUNCTION_TABLE[253] = $1879; + FUNCTION_TABLE[254] = $1880; + FUNCTION_TABLE[255] = $1881; + FUNCTION_TABLE[256] = $1882; + FUNCTION_TABLE[257] = $1883; + FUNCTION_TABLE[258] = $1884; + FUNCTION_TABLE[259] = $1885; + FUNCTION_TABLE[260] = $1886; + FUNCTION_TABLE[261] = $1887; + FUNCTION_TABLE[262] = $1888; + FUNCTION_TABLE[263] = $1889; + FUNCTION_TABLE[264] = $1890; + FUNCTION_TABLE[265] = $1891; + FUNCTION_TABLE[266] = $1892; + FUNCTION_TABLE[267] = $1893; + FUNCTION_TABLE[268] = $1894; + FUNCTION_TABLE[269] = $1895; + FUNCTION_TABLE[270] = $1896; + FUNCTION_TABLE[271] = $1897; + FUNCTION_TABLE[272] = $1898; + FUNCTION_TABLE[273] = $1899; + FUNCTION_TABLE[274] = $1900; + FUNCTION_TABLE[275] = $1901; + FUNCTION_TABLE[276] = $1902; + FUNCTION_TABLE[277] = $1903; + FUNCTION_TABLE[278] = $1904; + FUNCTION_TABLE[279] = $1905; + FUNCTION_TABLE[280] = $1918; + FUNCTION_TABLE[281] = $1921; + FUNCTION_TABLE[282] = $1923; + FUNCTION_TABLE[283] = $1924; + FUNCTION_TABLE[284] = $1925; + FUNCTION_TABLE[285] = $1926; + FUNCTION_TABLE[286] = $1927; + FUNCTION_TABLE[287] = $1928; + FUNCTION_TABLE[288] = $1929; + FUNCTION_TABLE[289] = $1930; + FUNCTION_TABLE[290] = $1931; + FUNCTION_TABLE[291] = $1932; + FUNCTION_TABLE[292] = $1933; + FUNCTION_TABLE[293] = $1934; + FUNCTION_TABLE[294] = $1935; + FUNCTION_TABLE[295] = $1936; + FUNCTION_TABLE[296] = $1937; + FUNCTION_TABLE[297] = $1938; + FUNCTION_TABLE[298] = $1939; + FUNCTION_TABLE[299] = $1940; + FUNCTION_TABLE[300] = $1941; + FUNCTION_TABLE[301] = $1942; + FUNCTION_TABLE[302] = $1943; + FUNCTION_TABLE[303] = $1944; + FUNCTION_TABLE[304] = $1945; + FUNCTION_TABLE[305] = $1946; + FUNCTION_TABLE[306] = $1947; + FUNCTION_TABLE[307] = $1950; + FUNCTION_TABLE[308] = $1952; + FUNCTION_TABLE[309] = $1954; + FUNCTION_TABLE[310] = $1956; + FUNCTION_TABLE[311] = $1957; + FUNCTION_TABLE[312] = $1958; + FUNCTION_TABLE[313] = $1959; + FUNCTION_TABLE[314] = $1975; + FUNCTION_TABLE[315] = $1976; + FUNCTION_TABLE[316] = $1977; + FUNCTION_TABLE[317] = $1978; + FUNCTION_TABLE[318] = $1979; + FUNCTION_TABLE[319] = $1980; + FUNCTION_TABLE[320] = $1981; + FUNCTION_TABLE[321] = $1982; + FUNCTION_TABLE[322] = $1983; + FUNCTION_TABLE[323] = $1984; + FUNCTION_TABLE[324] = $1987; + FUNCTION_TABLE[325] = $1989; + FUNCTION_TABLE[326] = $1990; + FUNCTION_TABLE[327] = $1992; + FUNCTION_TABLE[328] = $1994; + FUNCTION_TABLE[329] = $1995; + FUNCTION_TABLE[330] = $1986; + FUNCTION_TABLE[331] = $1997; + FUNCTION_TABLE[332] = $2006; + FUNCTION_TABLE[333] = $2017; + FUNCTION_TABLE[334] = $2019; + FUNCTION_TABLE[335] = $2023; + FUNCTION_TABLE[336] = $2024; + FUNCTION_TABLE[337] = $2133; + FUNCTION_TABLE[338] = $2135; + FUNCTION_TABLE[339] = $2136; + FUNCTION_TABLE[340] = $2139; + FUNCTION_TABLE[341] = $2140; + FUNCTION_TABLE[342] = $2142; + FUNCTION_TABLE[343] = $2143; + FUNCTION_TABLE[344] = $2145; + FUNCTION_TABLE[345] = $2150; + FUNCTION_TABLE[346] = $2152; + FUNCTION_TABLE[347] = $2153; + FUNCTION_TABLE[348] = $2155; + FUNCTION_TABLE[349] = $2156; + FUNCTION_TABLE[350] = $2158; + FUNCTION_TABLE[351] = $2160; + FUNCTION_TABLE[352] = $2164; + FUNCTION_TABLE[353] = $2165; + FUNCTION_TABLE[354] = $2167; + FUNCTION_TABLE[355] = $2168; + FUNCTION_TABLE[356] = $2169; + FUNCTION_TABLE[357] = $2170; + FUNCTION_TABLE[358] = $2171; + FUNCTION_TABLE[359] = $2172; + FUNCTION_TABLE[360] = $2034; + FUNCTION_TABLE[361] = $2036; + FUNCTION_TABLE[362] = $2037; + FUNCTION_TABLE[363] = $2038; + FUNCTION_TABLE[364] = $2039; + FUNCTION_TABLE[365] = $2046; + FUNCTION_TABLE[366] = $2049; + FUNCTION_TABLE[367] = $2050; + FUNCTION_TABLE[368] = $2051; + FUNCTION_TABLE[369] = $2052; + FUNCTION_TABLE[370] = $2055; + FUNCTION_TABLE[371] = $2058; + FUNCTION_TABLE[372] = $2062; + FUNCTION_TABLE[373] = $2063; + FUNCTION_TABLE[374] = $2064; + FUNCTION_TABLE[375] = $2108; + FUNCTION_TABLE[376] = $2110; + FUNCTION_TABLE[377] = $2111; + FUNCTION_TABLE[378] = $2112; + FUNCTION_TABLE[379] = $2113; + FUNCTION_TABLE[380] = $2115; + FUNCTION_TABLE[381] = $2116; + FUNCTION_TABLE[382] = $2117; + FUNCTION_TABLE[383] = $2118; + FUNCTION_TABLE[384] = $2119; + FUNCTION_TABLE[385] = $2325; + FUNCTION_TABLE[386] = $2328; + FUNCTION_TABLE[387] = $2330; + FUNCTION_TABLE[388] = $2332; + FUNCTION_TABLE[389] = $2376; + FUNCTION_TABLE[390] = $2379; + FUNCTION_TABLE[391] = $2380; + FUNCTION_TABLE[392] = $2381; + FUNCTION_TABLE[393] = $2382; + FUNCTION_TABLE[394] = $2384; + FUNCTION_TABLE[395] = $2385; + FUNCTION_TABLE[396] = $2386; + FUNCTION_TABLE[397] = $2387; + FUNCTION_TABLE[398] = $2388; + FUNCTION_TABLE[399] = $2400; + FUNCTION_TABLE[400] = $2402; + FUNCTION_TABLE[401] = $2403; + FUNCTION_TABLE[402] = $2406; + FUNCTION_TABLE[403] = $2408; + FUNCTION_TABLE[404] = $2410; + FUNCTION_TABLE[405] = $2412; + FUNCTION_TABLE[406] = $2414; + FUNCTION_TABLE[407] = $2425; + FUNCTION_TABLE[408] = $2432; + FUNCTION_TABLE[409] = $2433; + FUNCTION_TABLE[410] = $2439; + FUNCTION_TABLE[411] = $2441; + FUNCTION_TABLE[412] = $2449; + FUNCTION_TABLE[413] = $2450; + FUNCTION_TABLE[414] = $2452; + FUNCTION_TABLE[415] = $2453; + FUNCTION_TABLE[416] = $2455; + FUNCTION_TABLE[417] = $2458; + FUNCTION_TABLE[418] = $2460; + FUNCTION_TABLE[419] = $2462; + FUNCTION_TABLE[420] = $2463; + FUNCTION_TABLE[421] = $2464; + FUNCTION_TABLE[422] = $2718; + FUNCTION_TABLE[423] = $2719; + FUNCTION_TABLE[424] = $2720; + FUNCTION_TABLE[425] = $2722; + FUNCTION_TABLE[426] = $2724; + FUNCTION_TABLE[427] = $2725; + FUNCTION_TABLE[428] = $2726; + FUNCTION_TABLE[429] = $2728; + FUNCTION_TABLE[430] = $2730; + FUNCTION_TABLE[431] = $2731; + FUNCTION_TABLE[432] = $2732; + FUNCTION_TABLE[433] = $2733; + FUNCTION_TABLE[434] = $2736; + FUNCTION_TABLE[435] = $2738; + FUNCTION_TABLE[436] = $2739; + FUNCTION_TABLE[437] = $2740; + FUNCTION_TABLE[438] = $2742; + FUNCTION_TABLE[439] = $2743; + FUNCTION_TABLE[440] = $2744; + FUNCTION_TABLE[441] = $2833; + FUNCTION_TABLE[442] = $2835; + FUNCTION_TABLE[443] = $2836; + FUNCTION_TABLE[444] = $2839; + FUNCTION_TABLE[445] = $2846; + FUNCTION_TABLE[446] = $2854; + FUNCTION_TABLE[447] = $2855; + FUNCTION_TABLE[448] = $2859; + FUNCTION_TABLE[449] = $2862; + FUNCTION_TABLE[450] = $2863; + FUNCTION_TABLE[451] = $2866; + FUNCTION_TABLE[452] = $2868; + FUNCTION_TABLE[453] = $2869; + FUNCTION_TABLE[454] = $2871; + FUNCTION_TABLE[455] = $2872; + FUNCTION_TABLE[456] = $2873; + FUNCTION_TABLE[457] = $2508; + FUNCTION_TABLE[458] = $2875; + FUNCTION_TABLE[459] = $2892; + FUNCTION_TABLE[460] = $2894; + FUNCTION_TABLE[461] = $2895; + FUNCTION_TABLE[462] = $2896; + FUNCTION_TABLE[463] = $2897; + FUNCTION_TABLE[464] = $2898; + FUNCTION_TABLE[465] = $2900; + FUNCTION_TABLE[466] = $2902; + FUNCTION_TABLE[467] = $2904; + FUNCTION_TABLE[468] = $2908; + FUNCTION_TABLE[469] = $2909; + FUNCTION_TABLE[470] = $2910; + FUNCTION_TABLE[471] = $2926; + FUNCTION_TABLE[472] = $2928; + FUNCTION_TABLE[473] = $2929; + FUNCTION_TABLE[474] = $2930; + FUNCTION_TABLE[475] = $2932; + FUNCTION_TABLE[476] = $2934; + FUNCTION_TABLE[477] = $2935; + FUNCTION_TABLE[478] = $2937; + FUNCTION_TABLE[479] = $2946; + FUNCTION_TABLE[480] = $2948; + FUNCTION_TABLE[481] = $2949; + FUNCTION_TABLE[482] = $2953; + FUNCTION_TABLE[483] = $2954; + FUNCTION_TABLE[484] = $2962; + FUNCTION_TABLE[485] = $2963; + FUNCTION_TABLE[486] = $2964; + FUNCTION_TABLE[487] = $2965; + FUNCTION_TABLE[488] = $2966; + FUNCTION_TABLE[489] = $3014; + FUNCTION_TABLE[490] = $3019; + FUNCTION_TABLE[491] = $3025; + FUNCTION_TABLE[492] = $3028; + FUNCTION_TABLE[493] = $3033; + FUNCTION_TABLE[494] = $3035; + FUNCTION_TABLE[495] = $3037; + FUNCTION_TABLE[496] = $3039; + FUNCTION_TABLE[497] = $3040; + FUNCTION_TABLE[498] = $3041; + FUNCTION_TABLE[499] = $3042; + FUNCTION_TABLE[500] = $3043; + FUNCTION_TABLE[501] = $3044; + FUNCTION_TABLE[502] = $3046; + FUNCTION_TABLE[503] = $3047; + FUNCTION_TABLE[504] = $3048; + FUNCTION_TABLE[505] = $3050; + FUNCTION_TABLE[506] = $3066; + FUNCTION_TABLE[507] = $3067; + FUNCTION_TABLE[508] = $3068; + FUNCTION_TABLE[509] = $3069; + FUNCTION_TABLE[510] = $3070; + FUNCTION_TABLE[511] = $3072; + FUNCTION_TABLE[512] = $3074; + FUNCTION_TABLE[513] = $3075; + FUNCTION_TABLE[514] = $3076; + FUNCTION_TABLE[515] = $3079; + FUNCTION_TABLE[516] = $3081; + FUNCTION_TABLE[517] = $3134; + FUNCTION_TABLE[518] = $3136; + FUNCTION_TABLE[519] = $3139; + FUNCTION_TABLE[520] = $3151; + FUNCTION_TABLE[521] = $3083; + FUNCTION_TABLE[522] = $3084; + FUNCTION_TABLE[523] = $3085; + FUNCTION_TABLE[524] = $3086; + FUNCTION_TABLE[525] = $3087; + FUNCTION_TABLE[526] = $3088; + FUNCTION_TABLE[527] = $3089; + FUNCTION_TABLE[528] = $3090; + FUNCTION_TABLE[529] = $3093; + FUNCTION_TABLE[530] = $3095; + FUNCTION_TABLE[531] = $3097; + FUNCTION_TABLE[532] = $3098; + FUNCTION_TABLE[533] = $3099; + FUNCTION_TABLE[534] = $3100; + FUNCTION_TABLE[535] = $3102; + FUNCTION_TABLE[536] = $3103; + FUNCTION_TABLE[537] = $3104; + FUNCTION_TABLE[538] = $3105; + FUNCTION_TABLE[539] = $3107; + FUNCTION_TABLE[540] = $3108; + FUNCTION_TABLE[541] = $3109; + FUNCTION_TABLE[542] = $3110; + FUNCTION_TABLE[543] = $3111; + FUNCTION_TABLE[544] = $3112; + FUNCTION_TABLE[545] = $3113; + FUNCTION_TABLE[546] = $3114; + FUNCTION_TABLE[547] = $3115; + FUNCTION_TABLE[548] = $3116; + FUNCTION_TABLE[549] = $3117; + FUNCTION_TABLE[550] = $3118; + FUNCTION_TABLE[551] = $3120; + FUNCTION_TABLE[552] = $3121; + FUNCTION_TABLE[553] = $3122; + FUNCTION_TABLE[554] = $3123; + FUNCTION_TABLE[555] = $3125; + FUNCTION_TABLE[556] = $3127; + FUNCTION_TABLE[557] = $3128; + FUNCTION_TABLE[558] = $3129; + FUNCTION_TABLE[559] = $3130; + FUNCTION_TABLE[560] = $3131; + FUNCTION_TABLE[561] = $3132; + FUNCTION_TABLE[562] = $3133; + FUNCTION_TABLE[563] = $3138; + FUNCTION_TABLE[564] = $3142; + FUNCTION_TABLE[565] = $3144; + FUNCTION_TABLE[566] = $3145; + FUNCTION_TABLE[567] = $3156; + FUNCTION_TABLE[568] = $3158; + FUNCTION_TABLE[569] = $3159; + FUNCTION_TABLE[570] = $3292; + FUNCTION_TABLE[571] = $3291; + FUNCTION_TABLE[572] = $3293; + function __wasm_memory_size() { + return buffer.byteLength / 65536 | 0; + } + + function __wasm_memory_grow(pagesToAdd) { + pagesToAdd = pagesToAdd | 0; + var oldPages = __wasm_memory_size() | 0; + var newPages = oldPages + pagesToAdd | 0; + if ((oldPages < newPages) && (newPages < 65536)) { + var newBuffer = new ArrayBuffer(Math_imul(newPages, 65536)); + var newHEAP8 = new global.Int8Array(newBuffer); + newHEAP8.set(HEAP8); + HEAP8 = newHEAP8; + HEAP8 = new global.Int8Array(newBuffer); + HEAP16 = new global.Int16Array(newBuffer); + HEAP32 = new global.Int32Array(newBuffer); + HEAPU8 = new global.Uint8Array(newBuffer); + HEAPU16 = new global.Uint16Array(newBuffer); + HEAPU32 = new global.Uint32Array(newBuffer); + HEAPF32 = new global.Float32Array(newBuffer); + HEAPF64 = new global.Float64Array(newBuffer); + buffer = newBuffer; + memory.buffer = newBuffer; + } + return oldPages; + } + + return { + "__wasm_call_ctors": $1, + "memset": $3289, + "sqlite3_free": $42, + "sqlite3_value_double": $65, + "sqlite3_value_text": $66, + "__errno_location": $3169, + "sqlite3_finalize": $213, + "sqlite3_reset": $222, + "sqlite3_clear_bindings": $226, + "sqlite3_value_blob": $229, + "sqlite3_value_bytes": $233, + "sqlite3_value_int": $239, + "sqlite3_value_type": $248, + "sqlite3_result_blob": $254, + "sqlite3_result_double": $260, + "sqlite3_result_error": $263, + "sqlite3_result_int": $267, + "sqlite3_result_int64": $3332, + "sqlite3_result_null": $271, + "sqlite3_result_text": $277, + "sqlite3_step": $287, + "sqlite3_data_count": $310, + "sqlite3_column_blob": $311, + "sqlite3_column_bytes": $315, + "sqlite3_column_double": $316, + "sqlite3_column_text": $319, + "sqlite3_column_type": $321, + "sqlite3_column_name": $322, + "sqlite3_bind_blob": $325, + "sqlite3_bind_double": $329, + "sqlite3_bind_int": $330, + "sqlite3_bind_text": $333, + "sqlite3_bind_parameter_index": $338, + "sqlite3_errmsg": $380, + "sqlite3_exec": $400, + "sqlite3_prepare_v2": $402, + "sqlite3_changes": $453, + "sqlite3_close_v2": $459, + "sqlite3_create_function_v2": $467, + "sqlite3_open": $484, + "malloc": $3277, + "free": $3278, + "RegisterExtensionFunctions": $3082, + "custom_extensions": $3162, + "fflush": $3307, + "_get_tzname": $3294, + "_get_daylight": $3295, + "_get_timezone": $3296, + "stackSave": $3304, + "stackRestore": $3305, + "stackAlloc": $3306, + "memalign": $3282, + "dynCall_vi": $3309, + "dynCall_iiiii": $3310, + "dynCall_iii": $3311, + "dynCall_viii": $3312, + "dynCall_iiiiii": $3313, + "dynCall_ii": $3314, + "dynCall_iiii": $3315, + "dynCall_iiiiiii": $3316, + "dynCall_vii": $3317, + "dynCall_viiii": $3318, + "dynCall_ij": $3333, + "dynCall_iiiij": $3334, + "dynCall_vijii": $3335, + "dynCall_iijj": $3336, + "dynCall_iij": $3337, + "dynCall_iijii": $3338, + "dynCall_iiji": $3339, + "dynCall_i": $3326, + "dynCall_iiiiiij": $3340, + "dynCall_ji": $3341, + "dynCall_viiiii": $3329, + "dynCall_viji": $3342, + "dynCall_jiji": $3343, + "__growWasmMemory": $3345 + }; +} + +var bufferView = new Uint8Array(wasmMemory.buffer); +for (var base64ReverseLookup = new Uint8Array(123/*'z'+1*/), i = 25; i >= 0; --i) { + base64ReverseLookup[48+i] = 52+i; // '0-9' + base64ReverseLookup[65+i] = i; // 'A-Z' + base64ReverseLookup[97+i] = 26+i; // 'a-z' + } + base64ReverseLookup[43] = 62; // '+' + base64ReverseLookup[47] = 63; // '/' + /** @noinline Inlining this function would mean expanding the base64 string 4x times in the source code, which Closure seems to be happy to do. */ + function base64DecodeToExistingUint8Array(uint8Array, offset, b64) { + var b1, b2, i = 0, j = offset, bLength = b64.length, end = offset + (bLength*3>>2) - (b64[bLength-2] == '=') - (b64[bLength-1] == '='); + for (; i < bLength; i += 4) { + b1 = base64ReverseLookup[b64.charCodeAt(i+1)]; + b2 = base64ReverseLookup[b64.charCodeAt(i+2)]; + uint8Array[j++] = base64ReverseLookup[b64.charCodeAt(i)] << 2 | b1 >> 4; + if (j < end) uint8Array[j++] = b1 << 4 | b2 >> 2; + if (j < end) uint8Array[j++] = b2 << 6 | base64ReverseLookup[b64.charCodeAt(i+3)]; + } + } + base64DecodeToExistingUint8Array(bufferView, 1024, "My4zNC4wAAABAAAAAAEBAAAAAAEAACUAAAAAAAAAAABkCgEQAABzAAQFAABnAAEDHgB6AAQGAABxAAQJAABRAAQKAAB3AAQOAABjAAAIAABvCAAAAAJ1CgAQAAB4EAAAEAFYEAAAAARmAAEBAABlAAECHgBFAAECDgBHAAEDDgBpCgEQAABuAAAEAAAlAAAHAABwEAANAAFUAAALAABTAAAMAAByCgEPAAB0aHN0bmRyZAAAAAAAAAAAAAAAAAAAMDEyMzQ1Njc4OUFCQ0RFRjAxMjM0NTY3ODlhYmNkZWYALXgwAFgwAAAAAAAAAAAAAAAAAAAA4D+amZmZmZmpP3sUrkfhenQ//Knx0k1iQD8tQxzr4jYKP/Fo44i1+NQ+je21oPfGoD5Ir7ya8tdqPjqMMOKOeTU+ldYm6AsuAT5OYU4ASW5mAABOVUxMAChOVUxMKQAuAAAAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v91bml4AAAAAKQAAAB1bml4LW5vbmUAAAClAAAAdW5peC1kb3RmaWxlAAAAAKYAAAB1bml4LWV4Y2wAAAAAAAAABAUDBQEFAQUCBQIFAQUBBQQFAwUBBQEFAgUCBQEFAQUCBQMFAgUCBQIFAgUCBQIFBAUDBQIFAgUCBQIFAgUCBXN0cmluZyBvciBibG9iIHRvbyBiaWcAY2Fubm90IG9wZW4gdmlydHVhbCB0YWJsZTogJXMAY2Fubm90IG9wZW4gdGFibGUgd2l0aG91dCByb3dpZDogJXMAY2Fubm90IG9wZW4gdmlldzogJXMAbm8gc3VjaCBjb2x1bW46ICIlcyIAZm9yZWlnbiBrZXkAaW5kZXhlZABjYW5ub3Qgb3BlbiAlcyBjb2x1bW4gZm9yIHdyaXRpbmcAAAAAAAAAAKIAAABgAAAAIAAFAVkAAAFQAQAARAAAACVzACo/WwAlXwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQCAAEAAAIAAAAAAAAAAAAwMDAwMDAwMDAwAAAAAAAAACgoKCgoKAgICAgICAgICAgICAgICAgICAgKAAAAAQIAqKioqKioiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEABBAMCBUJJTkFSWQAAAAAAUkVJTkRFWEVERVNDQVBFQUNIRUNLRVlCRUZPUkVJR05PUkVHRVhQTEFJTlNURUFEREFUQUJBU0VMRUNUQUJMRUZUSEVOREVGRVJSQUJMRUxTRVhDTFVERUxFVEVNUE9SQVJZSVNOVUxMU0FWRVBPSU5URVJTRUNUSUVTTk9UTlVMTElLRVhDRVBUUkFOU0FDVElPTkFUVVJBTFRFUkFJU0VYQ0xVU0lWRVhJU1RTQ09OU1RSQUlOVE9GRlNFVFJJR0dFUkFOR0VORVJBVEVERVRBQ0hBVklOR0xPQkVHSU5ORVJFRkVSRU5DRVNVTklRVUVSWVdJVEhPVVRFUkVMRUFTRUFUVEFDSEJFVFdFRU5PVEhJTkdST1VQU0NBU0NBREVGQVVMVENBU0VDT0xMQVRFQ1JFQVRFQ1VSUkVOVF9EQVRFSU1NRURJQVRFSk9JTlNFUlRNQVRDSFBMQU5BTFlaRVBSQUdNQUJPUlRVUERBVEVWQUxVRVNWSVJUVUFMV0FZU1dIRU5XSEVSRUNVUlNJVkVBRlRFUkVOQU1FQU5ERUZFUlJFRElTVElOQ1RBVVRPSU5DUkVNRU5UQ0FTVENPTFVNTkNPTU1JVENPTkZMSUNUQ1JPU1NDVVJSRU5UX1RJTUVTVEFNUEFSVElUSU9ORFJPUFJFQ0VESU5HRkFJTEFTVEZJTFRFUkVQTEFDRUZJUlNURk9MTE9XSU5HRlJPTUZVTExJTUlUSUZPUkRFUkVTVFJJQ1RPVEhFUlNPVkVSSUdIVFJPTExCQUNLUk9XU1VOQk9VTkRFRFVOSU9OVVNJTkdWQUNVVU1WSUVXSU5ET1dCWUlOSVRJQUxMWVBSSU1BUlkAAAAAAAAAAAAAAAIAAgAIAAkADgAQABQAFwAZABkAHQAhACQAKQAuADAANQA2ADsAPgBBAEMARQBOAFEAVgBaAFoAXgBjAGUAaQBvAHcAewB7AHsAfgCBAIQAiQCOAJIAkwCYAJwAoACoAK4AtQC4ALgAuwC9AMMAxgDOANMA2ADbAN4A4gDsAO8A9AD0APgA/AADAQkBDwEVARUBGwEcASABJwErATIBOAFEAU0BTwFVAVoBXAFjAWgBbQFzAXkBfgGEAYgBiwGUAZgBngGgAacBqAGvAbEBswG8AcABxgHMAdQB2QHZAdkB6QHyAfUB/gEBAgUCCgIRAhYCHwIjAiYCKwItAjECOQI/AkICRwJPAk8CUwJcAmECZgJsAm8CcgJ1AncCfAKAAgAAAAAAAAAAAAAAAAAABwcFBAYEBQMGBwMGBgcHAwgCBgUEBAMKBAcGCQQCBgUJCQQHAwIEBAYLBgIHBQUJBgoEBgIDBwUJBgYEBQUKBgUHBAUHBgcHBgUHAwcEBwYMCQQGBQQHBgUGBgcGBAUJBQYDCAgCDQICBAYGCAURDAcJBAkEBAYHBQkEBAUCBQgGBAUIBAMJBQUGBAYCAgkDB3RyaWdnZXIAdGVtcAAAAOoDAAAAQAAA6wMAAAAABAD3AwAAAAAAgOwDAAAAAEAA7QMAAAAAAQDuAwAAAAgAAO8DAAAAAIAA8AMAAAAAAAHxAwAAAAAAAvIDAAAAAAAQ8wMAAAEAAAj0AwAAAAAABPYDAAAAAAAg9QMAAAAAAED4AwAAAgAAAPkDAACAAAAAdW5rbm93biBkYXRhYmFzZTogJXMAAAAAAAAAAAAAAAAAypo7AMqaO9AHAADoAwAA9AEAAICy5g5/AAAACgAAAFDDAAD+fwAA6AMAAAAAAABJTlRFR0VSAG5vIHN1Y2ggdGFibGUgY29sdW1uOiAlcy4lcwBTUUxJVEVfADIwMjAtMTItMDEgMTY6MTQ6MDAgYTI2YjY1OTdlM2FlMjcyMjMxYjk2Zjk5ODJjM2JjYzE3ZGRlYzJmMmI2ZWI0ZGYwNmEyMjRiOTEwODlmZWQ1YgAAAAADAAAApwAAAKgAAACpAAAAqgAAAKsAAACsAAAArQAAAK4AAACvAAAAsAAAALEAAACyAAAAswAAALQAAAC1AAAAtgAAALcAAAC4AAAAY2Fubm90IGZzdGF0IGRiIGZpbGUgJXMAZmlsZSB1bmxpbmtlZCB3aGlsZSBvcGVuOiAlcwBtdWx0aXBsZSBsaW5rcyB0byBmaWxlOiAlcwBmaWxlIHJlbmFtZWQgd2hpbGUgb3BlbjogJXMAb3BlbgBjbG9zZQBhY2Nlc3MAZ2V0Y3dkAHN0YXQAZnN0YXQAZnRydW5jYXRlAGZjbnRsAHJlYWQAcHJlYWQAcHJlYWQ2NAB3cml0ZQBwd3JpdGUAcHdyaXRlNjQAZmNobW9kAGZhbGxvY2F0ZQB1bmxpbmsAb3BlbkRpcmVjdG9yeQBta2RpcgBybWRpcgBmY2hvd24AZ2V0ZXVpZABtbWFwAG11bm1hcABtcmVtYXAAZ2V0cGFnZXNpemUAcmVhZGxpbmsAbHN0YXQAaW9jdGwAYXR0ZW1wdCB0byBvcGVuICIlcyIgYXMgZmlsZSBkZXNjcmlwdG9yICVkAC9kZXYvbnVsbABvc191bml4LmM6JWQ6ICglZCkgJXMoJXMpIC0gJXMAY2Fubm90IG9wZW4gZmlsZQAlcyBhdCBsaW5lICVkIG9mIFslLjEwc10AZnVsbF9mc3luYwAlcy9ldGlscXNfJWxseCVjAC92YXIvdG1wAC91c3IvdG1wAC90bXAAU1FMSVRFX1RNUERJUgBUTVBESVIAJXMtc2htAHJlYWRvbmx5X3NobQBtb2Rlb2YAcHNvdwADAAAAzwAAAKgAAACpAAAAqgAAAKsAAACsAAAA0AAAANEAAADSAAAAsAAAALEAAACyAAAAAAAAALQAAAC1AAAAtgAAALcAAAC4AAAAAQAAANMAAACoAAAAqQAAAKoAAACrAAAArAAAANQAAADVAAAA1gAAALAAAACxAAAAsgAAAAAAAAC0AAAAtQAAALYAAAC3AAAAuAAAACVzLmxvY2sAZnN5bmMAL2Rldi91cmFuZG9tAHVuYWJsZSB0byBvcGVuIGEgdGVtcG9yYXJ5IGRhdGFiYXNlIGZpbGUgZm9yIHN0b3JpbmcgdGVtcG9yYXJ5IHRhYmxlcwA6bWVtb3J5OgAAAAAAAAAAAC1qb3VybmFsAC13YWwAbm9sb2NrAGltbXV0YWJsZQAAAAABAAAA1wAAANgAAADZAAAA2gAAANsAAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcmVjb3ZlcmVkICVkIGZyYW1lcyBmcm9tIFdBTCBmaWxlICVzAGRhdGFiYXNlIGNvcnJ1cHRpb24AY2Fubm90IGxpbWl0IFdBTCBzaXplOiAlcwDZ1QX5IKFj1wByZWNvdmVyZWQgJWQgcGFnZXMgZnJvbSAlcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTUUxpdGUgZm9ybWF0IDMAQCAgAEFQSSBjYWxsZWQgd2l0aCBmaW5hbGl6ZWQgcHJlcGFyZWQgc3RhdGVtZW50AEZPUkVJR04gS0VZIGNvbnN0cmFpbnQgZmFpbGVkAAEBAAEAACUuNGMlcyUuMTZjAE1KIGRlbGV0ZTogJXMATUogY29sbGlkZTogJXMALW1qJTA2WDklMDJYAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8AAQIDBAUGBwgJCgsMDQ4PAAECAwQFBgcAAQIDAAEAACUhLjE1ZwA5MjIzMzcyMDM2ODU0Nzc1ODAAQVBJIGNhbGxlZCB3aXRoIE5VTEwgcHJlcGFyZWQgc3RhdGVtZW50AGsoJWQAQklOQVJZAEIALCVzJXMlcwAtAE4uACkAAHAUAAByFAAAdBQAAHkUAAA/ADgAMTZMRQAxNkJFACUuMThzLSVzACVzKCVkKQAlbGxkACVkACUuMTZnAChibG9iKQB2dGFiOiVwACVjJXUAXQBwcm9ncmFtAAAAAAAAAIQXAACOFwAAmRcAAKUXAACwFwAAtRcAALoXAADFFwAA0RcAANgXAADgFwAA6BcAAO0XAADzFwAAARgAAAcYAAARGAAAFhgAABsYAAAeGAAAIhgAACgYAAAyGAAAORgAAEAYAABHGAAAThgAAFgYAABhGAAAbBgAAHUYAAB7GAAAhRgAAI8YAACUGAAAnhgAAKkYAACuGAAAtRgAALsYAADBGAAAxxgAAM0YAADYGAAA2xgAAN8YAADqGAAA8hgAAPsYAAABGQAACxkAABIZAAAaGQAAHRkAACAZAAAjGQAAJhkAACkZAAAsGQAANhkAAEMZAABOGQAAVBkAAFkZAABiGQAAaxkAAHIZAAB/GQAAihkAAI8ZAACXGQAAnRkAAKQZAACpGQAAshkAALcZAADAGQAAxRkAAMoZAADQGQAA2BkAAOIZAADqGQAA8RkAAP4ZAAADGgAADxoAABcaAAAeGgAAJRoAACwaAAA1GgAAQBoAAEYaAABRGgAAWxoAAGUaAABuGgAAeBoAAIAaAACOGgAAnBoAAKMaAACpGgAAsxoAAL4aAADCGgAAyxoAANQaAADbGgAA5RoAAOwaAAD3GgAA/hoAAAsbAAAWGwAAHhsAACQbAAAwGwAAORsAAEEbAABKGwAAUxsAAFobAABhGwAAbBsAAHobAACFGwAAjRsAAJMbAACbGwAAoxsAAK0bAAC6GwAAxBsAANEbAADaGwAA5RsAAO0bAADzGwAA/xsAAAscAAATHAAAHxwAACwcAAA2HAAAQBwAAEwcAABYHAAAYhwAAGgcAABtHAAAdxwAAH4cAACKHAAAlRwAAJ0cAACmHAAArxwAALgcAAC/HAAAyhwAANccAADhHAAA6BwAAPAcAAD5HAAA/xwAAAcdAAAPHQAAGR0AACIdAAAoHQAAMx0AAD4dAABDHQAASx0AAFNhdmVwb2ludABBdXRvQ29tbWl0AFRyYW5zYWN0aW9uAFNvcnRlck5leHQAUHJldgBOZXh0AENoZWNrcG9pbnQASm91cm5hbE1vZGUAVmFjdXVtAFZGaWx0ZXIAVlVwZGF0ZQBHb3RvAEdvc3ViAEluaXRDb3JvdXRpbmUAWWllbGQATXVzdEJlSW50AEp1bXAAT25jZQBJZgBOb3QASWZOb3QASWZOdWxsUm93AFNlZWtMVABTZWVrTEUAU2Vla0dFAFNlZWtHVABJZk5vdE9wZW4ASWZOb0hvcGUATm9Db25mbGljdABOb3RGb3VuZABGb3VuZABTZWVrUm93aWQATm90RXhpc3RzAExhc3QASWZTbWFsbGVyAFNvcnRlclNvcnQAU29ydABSZXdpbmQASWR4TEUASWR4R1QASWR4TFQASWR4R0UAUm93U2V0UmVhZABPcgBBbmQAUm93U2V0VGVzdABQcm9ncmFtAEZrSWZaZXJvAElmUG9zAElmTm90WmVybwBJc051bGwATm90TnVsbABOZQBFcQBHdABMZQBMdABHZQBFbHNlTm90RXEARGVjckp1bXBaZXJvAEluY3JWYWN1dW0AVk5leHQASW5pdABQdXJlRnVuYwBGdW5jdGlvbgBSZXR1cm4ARW5kQ29yb3V0aW5lAEhhbHRJZk51bGwASGFsdABJbnRlZ2VyAEludDY0AFN0cmluZwBOdWxsAFNvZnROdWxsAEJsb2IAVmFyaWFibGUATW92ZQBDb3B5AFNDb3B5AEludENvcHkAUmVzdWx0Um93AENvbGxTZXEAQWRkSW1tAFJlYWxBZmZpbml0eQBDYXN0AFBlcm11dGF0aW9uAENvbXBhcmUASXNUcnVlAE9mZnNldABDb2x1bW4AQWZmaW5pdHkATWFrZVJlY29yZABDb3VudABSZWFkQ29va2llAFNldENvb2tpZQBSZW9wZW5JZHgAT3BlblJlYWQAT3BlbldyaXRlAE9wZW5EdXAAT3BlbkF1dG9pbmRleABPcGVuRXBoZW1lcmFsAEJpdEFuZABCaXRPcgBTaGlmdExlZnQAU2hpZnRSaWdodABBZGQAU3VidHJhY3QATXVsdGlwbHkARGl2aWRlAFJlbWFpbmRlcgBDb25jYXQAU29ydGVyT3BlbgBCaXROb3QAU2VxdWVuY2VUZXN0AE9wZW5Qc2V1ZG8AU3RyaW5nOABDbG9zZQBDb2x1bW5zVXNlZABTZWVrU2NhbgBTZWVrSGl0AFNlcXVlbmNlAE5ld1Jvd2lkAEluc2VydABEZWxldGUAUmVzZXRDb3VudABTb3J0ZXJDb21wYXJlAFNvcnRlckRhdGEAUm93RGF0YQBSb3dpZABOdWxsUm93AFNlZWtFbmQASWR4SW5zZXJ0AFNvcnRlckluc2VydABJZHhEZWxldGUARGVmZXJyZWRTZWVrAElkeFJvd2lkAEZpbmlzaFNlZWsARGVzdHJveQBDbGVhcgBSZXNldFNvcnRlcgBDcmVhdGVCdHJlZQBTcWxFeGVjAFBhcnNlU2NoZW1hAExvYWRBbmFseXNpcwBEcm9wVGFibGUARHJvcEluZGV4AERyb3BUcmlnZ2VyAEludGVncml0eUNrAFJvd1NldEFkZABQYXJhbQBSZWFsAEZrQ291bnRlcgBNZW1NYXgAT2Zmc2V0TGltaXQAQWdnSW52ZXJzZQBBZ2dTdGVwAEFnZ1N0ZXAxAEFnZ1ZhbHVlAEFnZ0ZpbmFsAEV4cGlyZQBDdXJzb3JMb2NrAEN1cnNvclVubG9jawBUYWJsZUxvY2sAVkJlZ2luAFZDcmVhdGUAVkRlc3Ryb3kAVk9wZW4AVkNvbHVtbgBWUmVuYW1lAFBhZ2Vjb3VudABNYXhQZ2NudABUcmFjZQBDdXJzb3JIaW50AFJlbGVhc2VSZWcATm9vcABFeHBsYWluAEFib3J0YWJsZQAAAAAAAAAAAAAAAHAdAAB5HQAAgB0AAIYdAABOT1QgTlVMTABVTklRVUUAQ0hFQ0sARk9SRUlHTiBLRVkAJXMgY29uc3RyYWludCBmYWlsZWQAJXo6ICVzAGFib3J0IGF0ICVkIGluIFslc106ICVzAAEAAAEBAAABAAEAAQEAAQAAAQAAAAABAgACAgABAgEBAQIBAhAAAgJjYW5ub3Qgb3BlbiBzYXZlcG9pbnQgLSBTUUwgc3RhdGVtZW50cyBpbiBwcm9ncmVzcwBubyBzdWNoIHNhdmVwb2ludDogJXMAY2Fubm90IHJlbGVhc2Ugc2F2ZXBvaW50IC0gU1FMIHN0YXRlbWVudHMgaW4gcHJvZ3Jlc3MAY2Fubm90IGNvbW1pdCB0cmFuc2FjdGlvbiAtIFNRTCBzdGF0ZW1lbnRzIGluIHByb2dyZXNzAGNhbm5vdCBzdGFydCBhIHRyYW5zYWN0aW9uIHdpdGhpbiBhIHRyYW5zYWN0aW9uAGNhbm5vdCByb2xsYmFjayAtIG5vIHRyYW5zYWN0aW9uIGlzIGFjdGl2ZQBjYW5ub3QgY29tbWl0IC0gbm8gdHJhbnNhY3Rpb24gaXMgYWN0aXZlAGRhdGFiYXNlIHNjaGVtYSBoYXMgY2hhbmdlZABzcWxpdGVfbWFzdGVyAFNFTEVDVCpGUk9NIiV3Ii4lcyBXSEVSRSAlcyBPUkRFUiBCWSByb3dpZAB0b28gbWFueSBsZXZlbHMgb2YgdHJpZ2dlciByZWN1cnNpb24AY2Fubm90IGNoYW5nZSAlcyB3YWwgbW9kZSBmcm9tIHdpdGhpbiBhIHRyYW5zYWN0aW9uAGludG8Ab3V0IG9mAGRhdGFiYXNlIHRhYmxlIGlzIGxvY2tlZDogJXMALS0gJXMAc3RhdGVtZW50IGFib3J0cyBhdCAlZDogWyVzXSAlcwBvdXQgb2YgbWVtb3J5AAAAAAAAAAAAAAAAAAAAAQIDBAYICAAAAAAAAAEBAgIDAwQEBQUGBgcHCAgJCQoKCwsMDA0NDg4PDxAQERESEhMTFBQVFRYWFxcYGBkZGhobGxwcHR0eHh8fICAhISIiIyMkJCUlJiYnJygoKSkqKisrLCwtLS4uLy8wMDExMjIzMzQ0NTU2Njc3ODg5ORAQAhAAAQIDBAYIAAAAdGFibGUAc3FsaXRlX3RlbXBfbWFzdGVyADEAQ1JFQVRFIFRBQkxFIHgodHlwZSB0ZXh0LG5hbWUgdGV4dCx0YmxfbmFtZSB0ZXh0LHJvb3RwYWdlIGludCxzcWwgdGV4dCkAYXR0YWNoZWQgZGF0YWJhc2VzIG11c3QgdXNlIHRoZSBzYW1lIHRleHQgZW5jb2RpbmcgYXMgbWFpbiBkYXRhYmFzZQB1bnN1cHBvcnRlZCBmaWxlIGZvcm1hdABTRUxFQ1QqRlJPTSIldyIuJXMgT1JERVIgQlkgcm93aWQAY3JlYXRlIABpbnZhbGlkIHJvb3RwYWdlAG9ycGhhbiBpbmRleABtYWxmb3JtZWQgZGF0YWJhc2Ugc2NoZW1hICglcykAJXogLSAlcwBkYXRhYmFzZSBzY2hlbWEgaXMgbG9ja2VkOiAlcwBzdGF0ZW1lbnQgdG9vIGxvbmcAbWFpbgBzcWxpdGVfc3RhdDEAU0VMRUNUIHRibCxpZHgsc3RhdCBGUk9NICVRLnNxbGl0ZV9zdGF0MQB1bm9yZGVyZWQqAHN6PVswLTldKgBub3NraXBzY2FuKgAAIQAgAB4AHAAaAE1haW4gZnJlZWxpc3Q6IABtYXggcm9vdHBhZ2UgKCVkKSBkaXNhZ3JlZXMgd2l0aCBoZWFkZXIgKCVkKQBpbmNyZW1lbnRhbF92YWN1dW0gZW5hYmxlZCB3aXRoIGEgbWF4IHJvb3RwYWdlIG9mIHplcm8AUGFnZSAlZCBpcyBuZXZlciB1c2VkAFBvaW50ZXIgbWFwIHBhZ2UgJWQgaXMgcmVmZXJlbmNlZABmYWlsZWQgdG8gZ2V0IHBhZ2UgJWQAZnJlZWxpc3QgbGVhZiBjb3VudCB0b28gYmlnIG9uIHBhZ2UgJWQAJXMgaXMgJWQgYnV0IHNob3VsZCBiZSAlZABzaXplAG92ZXJmbG93IGxpc3QgbGVuZ3RoAGludmFsaWQgcGFnZSBudW1iZXIgJWQAMm5kIHJlZmVyZW5jZSB0byBwYWdlICVkAAoARmFpbGVkIHRvIHJlYWQgcHRybWFwIGtleT0lZABCYWQgcHRyIG1hcCBlbnRyeSBrZXk9JWQgZXhwZWN0ZWQ9KCVkLCVkKSBnb3Q9KCVkLCVkKQBQYWdlICV1OiAAdW5hYmxlIHRvIGdldCB0aGUgcGFnZS4gZXJyb3IgY29kZT0lZABidHJlZUluaXRQYWdlKCkgcmV0dXJucyBlcnJvciBjb2RlICVkAGZyZWUgc3BhY2UgY29ycnVwdGlvbgBPbiB0cmVlIHBhZ2UgJXUgY2VsbCAlZDogAE9uIHBhZ2UgJXUgYXQgcmlnaHQgY2hpbGQ6IABPZmZzZXQgJWQgb3V0IG9mIHJhbmdlICVkLi4lZABFeHRlbmRzIG9mZiBlbmQgb2YgcGFnZQBSb3dpZCAlbGxkIG91dCBvZiBvcmRlcgBDaGlsZCBwYWdlIGRlcHRoIGRpZmZlcnMATXVsdGlwbGUgdXNlcyBmb3IgYnl0ZSAldSBvZiBwYWdlICV1AEZyYWdtZW50YXRpb24gb2YgJWQgYnl0ZXMgcmVwb3J0ZWQgYXMgJWQgb24gcGFnZSAldQAAAAAAAAAAALglAAC/JQAAxyUAAMslAADUJQAA2yUAAGRlbGV0ZQBwZXJzaXN0AG9mZgB0cnVuY2F0ZQBtZW1vcnkAd2FsAGNhbm5vdCBWQUNVVU0gZnJvbSB3aXRoaW4gYSB0cmFuc2FjdGlvbgBjYW5ub3QgVkFDVVVNIC0gU1FMIHN0YXRlbWVudHMgaW4gcHJvZ3Jlc3MAbm9uLXRleHQgZmlsZW5hbWUAQVRUQUNIICVRIEFTIHZhY3V1bV9kYgBvdXRwdXQgZmlsZSBhbHJlYWR5IGV4aXN0cwBCRUdJTgBTRUxFQ1Qgc3FsIEZST00gIiV3Ii5zcWxpdGVfc2NoZW1hIFdIRVJFIHR5cGU9J3RhYmxlJ0FORCBuYW1lPD4nc3FsaXRlX3NlcXVlbmNlJyBBTkQgY29hbGVzY2Uocm9vdHBhZ2UsMSk+MABTRUxFQ1Qgc3FsIEZST00gIiV3Ii5zcWxpdGVfc2NoZW1hIFdIRVJFIHR5cGU9J2luZGV4JwBTRUxFQ1QnSU5TRVJUIElOVE8gdmFjdXVtX2RiLid8fHF1b3RlKG5hbWUpfHwnIFNFTEVDVCpGUk9NIiV3Ii4nfHxxdW90ZShuYW1lKUZST00gdmFjdXVtX2RiLnNxbGl0ZV9zY2hlbWEgV0hFUkUgdHlwZT0ndGFibGUnQU5EIGNvYWxlc2NlKHJvb3RwYWdlLDEpPjAASU5TRVJUIElOVE8gdmFjdXVtX2RiLnNxbGl0ZV9zY2hlbWEgU0VMRUNUKkZST00gIiV3Ii5zcWxpdGVfc2NoZW1hIFdIRVJFIHR5cGUgSU4oJ3ZpZXcnLCd0cmlnZ2VyJykgT1IodHlwZT0ndGFibGUnQU5EIHJvb3RwYWdlPTApAAEBAwAFAAYACABDUkUASU5TAG5vIHN1Y2ggbW9kdWxlOiAlcwB2dGFibGUgY29uc3RydWN0b3IgY2FsbGVkIHJlY3Vyc2l2ZWx5OiAlcwB2dGFibGUgY29uc3RydWN0b3IgZmFpbGVkOiAlcwB2dGFibGUgY29uc3RydWN0b3IgZGlkIG5vdCBkZWNsYXJlIHNjaGVtYTogJXMAaGlkZGVuAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYmluZCBvbiBhIGJ1c3kgcHJlcGFyZWQgc3RhdGVtZW50OiBbJXNdABwbGxsbGxsbGwcHGwcHGxsbGxsbGxsbGxsbGxsbGxsbBw8IBQQWGAgREhUUFwsaEAMDAwMDAwMDAwMFEwwODQYFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEJGxsbAQgBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABARsKGxkbAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJUZoRSch0AAFsAVUgANSNWDwAqXjZ+hRMAAIoAKIAAFmgACQAAelAATgYAQWORAIZwAAAwAGQYABEAG0YXGgU8jGt5AEllR489d0oAMQALKQBuAAAAagpscXwOMnsAWQASeI44gYlYUyUefQAAaTOCfwAiAAAsAF8mJwAULXRaAGFynic6KXpDIYI+Py8CQaAmGIgQdJwLgZ1bfhUVKzJSDYdeMxNCdy+GBhxxdJ9HCRR1lEVEgE1ZXyiRLwV0e3kDGVF0DiAwlVyQIx92mm8RYwiNfS4EHkYbf4lQYJuTSB1iLAeKLXwPMSQ8CiV0Y2NVV4NYKlSjSVNWjHSSEo9KXaJ0DExLWoSOTk+hPSJAhXgAAAAAAAAAAAAAAAAAAAAAAAAABAArAABnbwAAAAIAAI0AAAANAAAAAIsAAHY0AACHDAAAPgCIAIMAACQAABxNAAAAADsALwAAAAAAAAAAAABFAAAAAACQAwA6AAFLAAAAHwAAAAAAAEBCPwAAAAAuABAAcwAAAAAAAAAAAABRYQAIAG0VB0MAT111AABEAABgADcATABcICE5GQBiAABXAAAAAAAAAAAAAAAAAAAAAAAAAQEBABAAAQABAQEDAwEBAxIDAQkJCQkBCQkJCQkJAQEBAQEBAQEBIyYmCwEBAwMDAwsLCwsLCwEDAQEBAAACAggAEBAQEAAQEAAAEBAAAAICAgAAEiAAAAAQEAAAAAAAAAAmJiYmJiYmJiYmABIAABAAAAAAEBAAAAAAAAAQAAAEBAAAEAAQAAAQAAAAAAAAAAYQEAAEGgAAAAAAAAAAAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAAAAAAAAAA4CwAAOUsAADsLAAA7ywAAPIsAAD1LAAA+CwAAPssAAADLQAABi0AAA0tAAAVLQAAYWRkcgBvcGNvZGUAcDEAcDIAcDMAcDQAcDUAY29tbWVudABpZABwYXJlbnQAbm90dXNlZABkZXRhaWwAY2Fubm90IG9wZW4gdmFsdWUgb2YgdHlwZSAlcwBudWxsAHJlYWwAaW50ZWdlcgBubyBzdWNoIHJvd2lkOiAlbGxkAHByYWdtYV8Abm8gc3VjaCB2aWV3AG5vIHN1Y2ggdGFibGUAJXM6ICVzLiVzACVzOiAlcwAAAAAAAAAAAADdAAAA3gAAAN8AAAAAAAAA4AAAAOEAAADiAAAA4wAAAOQAAADlAAAA5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIAAAEQAAAAAAAAAAAAAA8yAAACFAAACAAAAAAAAAAeMgAAA5UAAAAAAAAAAAAAKjIAAAQUAAAAgAAAAAAAADoyAAAFEDIBAAAAAAAAAABHMgAABpUAAAAAAAAAAAAAUjIAAAeUAAAAAAAAAAAAAF4yAAAIAgAAAAAAAAAAAAByMgAABBQAAAAAIAAAAAAAgjIAAAQUAAAQAAAAAAAAAJcyAAAJECACAAAAAAAAAACmMgAAChAAAAAAAAAAAAAAtjIAAAQUAAAAAAAAAQAAAMQyAAACGAAADwAAAAAAAADRMgAADBEpAwAAAAAAAAAA3zIAAAQUAAAAAAgAAAAAAPIyAAAEFAAAAAEAAAAAAAAJMwAADhQAAAAAAAAAAAAAEjMAAA9xJQQAAAAAAAAAACQzAAAQYQAIAAAAAAAAAAA1MwAABBQAAABAAAAAAAAAQjMAAAIYAAAAAAAAAAAAAFEzAAAEFAAABAAAAAAAAABjMwAABBQAAAgAAAAAAAAAbTMAABEQFQYAAAAAAAAAAHszAAASEAAAAAAAAAAAAACLMwAABBQAAAACAAAAAAAApDMAABMDAAAAAAAAAAAAALczAAAUYQ8DAAAAAAAAAADCMwAAFWEgBQAAAAAAAAAAzTMAABRhDwYBAAAAAAAAANkzAAAWMQAAAAAAAAAAAADpMwAAF5EAAAAAAAAAAAAA9jMAABiQAAAAAAAAAAAAAAk0AAAEFAAAAAAABAAAAAAcNAAAGpAAAAAAAAAAAAAAKTQAABuRAAAAAAAAAAAAADg0AAAcAAAAAAAAAAAAAABCNAAAHRAJAQAAAAAAAAAATjQAAB4hAAAAAAAAAAAAAFc0AAAbkQAAAAAAAAAAAABiNAAAH5QAAAAAAAAAAAAAbDQAACAQCQEAAAAAAAAAAHg0AAAEFAAAAAAQAAAAAACDNAAAFjEAAAAAAAAAAAAAjzQAAAQUAAAABAAAAAAAAKA0AAAEFAAAACAAAAAAAACzNAAABBQAAAAQAAAAAAAAzTQAAAIUAAABAAAAAAAAANw0AAAhEAAAAAAAAAAAAADqNAAABBQAAEAAAAAAAAAA/TQAACICAAAAAAAAAAAAAAs1AAAjEAAAAAAAAAAAAAAbNQAAJJUAAAAAAAAAAAAAJzUAACVhCAYAAAAAAAAAADI1AAAlYQgHAQAAAAAAAAA+NQAAJhQAAAAAAAAAAAAASTUAACcEAAAAAAAAAAAAAF41AAAoEAAAAAAAAAAAAABmNQAABBQAAIAAAAAAAAAAdTUAAAIUAAAGAAAAAAAAAII1AAApAAAAAAAAAAAAAACVNQAAKgEsAwAAAAAAAAAApDUAAAQUAAABAAAIAAAAAGFuYWx5c2lzX2xpbWl0AGFwcGxpY2F0aW9uX2lkAGF1dG9fdmFjdXVtAGF1dG9tYXRpY19pbmRleABidXN5X3RpbWVvdXQAY2FjaGVfc2l6ZQBjYWNoZV9zcGlsbABjYXNlX3NlbnNpdGl2ZV9saWtlAGNlbGxfc2l6ZV9jaGVjawBjaGVja3BvaW50X2Z1bGxmc3luYwBjb2xsYXRpb25fbGlzdABjb21waWxlX29wdGlvbnMAY291bnRfY2hhbmdlcwBkYXRhX3ZlcnNpb24AZGF0YWJhc2VfbGlzdABkZWZlcl9mb3JlaWduX2tleXMAZW1wdHlfcmVzdWx0X2NhbGxiYWNrcwBlbmNvZGluZwBmb3JlaWduX2tleV9jaGVjawBmb3JlaWduX2tleV9saXN0AGZvcmVpZ25fa2V5cwBmcmVlbGlzdF9jb3VudABmdWxsX2NvbHVtbl9uYW1lcwBmdWxsZnN5bmMAZnVuY3Rpb25fbGlzdABoYXJkX2hlYXBfbGltaXQAaWdub3JlX2NoZWNrX2NvbnN0cmFpbnRzAGluY3JlbWVudGFsX3ZhY3V1bQBpbmRleF9pbmZvAGluZGV4X2xpc3QAaW5kZXhfeGluZm8AaW50ZWdyaXR5X2NoZWNrAGpvdXJuYWxfbW9kZQBqb3VybmFsX3NpemVfbGltaXQAbGVnYWN5X2FsdGVyX3RhYmxlAGxvY2tpbmdfbW9kZQBtYXhfcGFnZV9jb3VudABtbWFwX3NpemUAbW9kdWxlX2xpc3QAb3B0aW1pemUAcGFnZV9jb3VudABwYWdlX3NpemUAcHJhZ21hX2xpc3QAcXVlcnlfb25seQBxdWlja19jaGVjawByZWFkX3VuY29tbWl0dGVkAHJlY3Vyc2l2ZV90cmlnZ2VycwByZXZlcnNlX3Vub3JkZXJlZF9zZWxlY3RzAHNjaGVtYV92ZXJzaW9uAHNlY3VyZV9kZWxldGUAc2hvcnRfY29sdW1uX25hbWVzAHNocmlua19tZW1vcnkAc29mdF9oZWFwX2xpbWl0AHN5bmNocm9ub3VzAHRhYmxlX2luZm8AdGFibGVfeGluZm8AdGVtcF9zdG9yZQB0ZW1wX3N0b3JlX2RpcmVjdG9yeQB0aHJlYWRzAHRydXN0ZWRfc2NoZW1hAHVzZXJfdmVyc2lvbgB3YWxfYXV0b2NoZWNrcG9pbnQAd2FsX2NoZWNrcG9pbnQAd3JpdGFibGVfc2NoZW1hAENSRUFURSBUQUJMRSB4ACVjIiVzIgAAAAAAAAADLQAAvTYAAM4gAADBNgAAxjYAAMk2AADTNgAA3TYAAOM2AADnNgAA7DYAAPE2AAD5NgAABDcAANIoAAAHNwAA4zYAAOc2AAANNwAAEjcAABc3AADnNgAAGzcAAOw2AAAjNwAAJzcAACw3AAAyNwAANjcAADo3AAA/NwAARDcAAL02AADnNgAASTcAAFA3AABXNwAAziAAAF83AAAGLQAAZTcAAL02AADnNgAAajcAAG83AAB0NwAAeDcAAIU3AACONwAARzIAAJU3AAAoIiVzIgAsYXJnIEhJRERFTgAsc2NoZW1hIEhJRERFTgBzZXEAZnJvbQB0bwBvbl91cGRhdGUAb25fZGVsZXRlAG1hdGNoAGNpZABuYW1lAHR5cGUAbm90bnVsbABkZmx0X3ZhbHVlAHBrAHNlcW5vAGRlc2MAY29sbABrZXkAYnVpbHRpbgBlbmMAbmFyZwBmbGFncwB0YmwAaWR4AHdkdGgAaGdodABmbGdzAHVuaXF1ZQBvcmlnaW4AcGFydGlhbAByb3dpZABma2lkAGZpbGUAYnVzeQBsb2cAY2hlY2twb2ludGVkAGRhdGFiYXNlAHN0YXR1cwB0aW1lb3V0AFBSQUdNQSAAJVEuAD0lUQB0b28gbWFueSBjb2x1bW5zIG9uICVzAHVub3BlbmVkAEFQSSBjYWxsIHdpdGggJXMgZGF0YWJhc2UgY29ubmVjdGlvbiBwb2ludGVyAG5vIHN1Y2ggY29sbGF0aW9uIHNlcXVlbmNlOiAlcwADAgF1bnJlY29nbml6ZWQgdG9rZW46ICIlLipzIgAlcyBpbiAiJXMiAAAAAAAAAAAAAAAAAAAAAAAAADsAOwA7ADsAAAA7ADsAOwAAADsAOwA7ADsAAAAAAAAAOwAAAAAAOwAAAAAAAAA7AAAAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwAAAAAAAAA7ADsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoBf0EhAYwBDAEVAFiBMkENAXJBckFyQVPAQAAAAC0AIEDyQXJBckFyQXJBckFyQXJBckFyQXJBckFyQWiA6ID/AP8AyIBAQBUAVQBVAFUAVQBVAEoAG4A2wAgAUcBjAGzAfgBHwJkAosC0AJtA4EDgQOBA4EDgQOBA4EDgQOBA4EDgQOBA4EDgQOBA4EDgQOBA5UDgQP7A/sC+wKrBckFyQXJBckFyQXJBckFyQXJBckFyQXJBckFyQXJBckFyQXJBckFyQXJBckFyQXJBckFyQXJBckFyQXJBckFyQXJBREGyQXJBckFyQXJBckFyQXJBckFyQXJBckFyQWTAAIBAgECAQIBAgFPAEEAVADBARMAEgPBAXwCfALBAXADcANwA3ADcQCOAI4A2AGWAKoHqgePAY8BjwFdAO0AVQHtAO0AMgQyBLUBXgHAAjgEwQHBAcEBwQHBAcEBwQHBAcEBwQHBAcEBwQHBAcEBwQHBAcEBwQHBAcEBMgMyA8EBQATZANkA3gLeAmQEZgSqB6oHqgfjAkgDSAPFAcYB/wG7ADMCOgKCA50CwQHBAcEBwQHBAcEBwQHBAcEBngLBAcEBwQHBAcEBwQHBAcEBwQHBAcEBwQGiAqICogLBAcEBwQHBAQoEwQHBAcEBzANTBMEBwQGpBMEBwQHBAcEBwQHBAcEBwQEEAbEA6QHZBNkE2QTZBKgE6QHpAbgDrQRxAtMEawS1ALUAPgRzBGsEPgSjBCcF1QQmBSYFJgW1ABMFEwVVBDgFJQJgBUoG/wX/BWcGZwb/BQMGKgaGBgoGdAYKBpEGkQaRBpEG/wWeBgoGCgYqBoYGdAYKBnQGCgb/BZ4GHQaBBv8FngasBv8Fngb/BZ4GrAZSBlIGUgaQBrsGuwasBlIGVwZSBpAGUgZSBjQGrAZoBmgGrAZLBmsGSwZrBksGawZLBmsG/wWVBpUGnwafBmQGaQbhBv8FXwZkBmwGbgYKBuMG5gb1BvUG/wb/Bv8GqgeqB6oHqgeqB6oHqgeqB6oHqgeqB6oHqgeqB6oHNAFDA7oD0ARvA8sC2AJdBWADMQXlBIEFKQGXBdEF2QXwBfEF9QVSBR0F0wXBBIwFlQUABmQFAgYNBUoFDAYxBpoFPgUVBxgHBgeABhIHxAYXBxMHFAejBpkGrgYZB6QGGwelBiIHMwepBqEGtwb7BhYHpgYEBwcHCAcJB78GzgYfB7kGRAdBBzEH1warBgoHMAcLBwAHIwfCBt8GOQc+B0AH0wbaBkIHGgdDB0UHPwdGBxwHJQdJB/cGRwdIByEHNQdLB9IGUAdRB1IHUwdNB1QHVgdVB1cHWQdYB+cGWgdcBwIHWwdfB+kGXQdeB2AHYQdiByAHLgckB08HNAcoB2QHZQdoB2kHbQduB2cHcwddB3QHdQd2B3cHeAd5B3sHhAd9B34HfweAB4IHgweBBxAHDwcRBx0HHgeGB48HngefBwAAAAAAAAAAAAAAAAAAvQDTAL0AvQDaAL0A3AC9AAsBDAENAb0A0gC9AOQAvQALAQwBDQETANoAvQDTANQA0wDUANMA0wDUANMA1AAfANMA0wDUANMA1AAgASwBJwAVAL0AMAErACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDhABMAvQC3ALgAuQC6AL0A+AAHAewAvwD4AMEA+ADFANAAAQEGAckAyAABAcgAAQFRACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5AL0AUAC9AGUAZgBnAGgAaQBqAGsAbABtAG4AbwDqAOsA6gDrADEBMgExAXYAMwExATIBKQEqAfcAVgD3AFgAEwADAfsA/AALAQwBDQEaAIgAiQAFAXkAZQBmAGcAaABpAGoAawBsAG0AbgBvADsAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAAwEjAWkAagBrAGwAbQBuAG8AngC9AEUAZQBmAGcAaABpAGoAawBsAG0AbgBvAGsAbABtAG4AbwDNAM4AzwATABMANgA3ADgAOQA6AB0AcgBzAHQAIQBlAGYAZwBoAGkAagBrAGwAbQBuAG8A6QArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQATAH4AfwCUAEEAGADWAMgAOwBDAGUAZgBnAGgAaQBqAGsAbABtAG4AbwAWAL0AbwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDOAM8A6gDrAGUAZgBnAGgAaQBqAGsAbABtAG4AbwD3AEwAawByADsACwEMAQ0BvQByAHMAdACiAKMAWQATAAcBXAC9ABcANgA3ADgAOQC9AM4AzwAWAGUAZgBnAGgAaQBqAGsAbABtAG4AbwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQATAL0AFQE7ABcAcgBzAHQALgAvADAAMQA9AGUAZgBnAGgAaQBqAGsAbABtAG4AbwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQB9AH4AfwAVAWUAZgBnAGgAaQBqAGsAbABtAG4AbwA7AL0AvQAUAXIAcwB0AHUASQA7AHgAeQB6AEgA1gATAFEAAwETABcAggBRAEgAGADTANQA3QB3AGUAZgBnAGgAaQBqAGsAbABtAG4AbwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQATAHIAcwB0ABcA0AB9APgAvQC9AHIAcwB0AAsBDAENAb0AiACJAL0ABgEWAIgAiQArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQC9AF8A0wDUAGUAZgBnAGgAaQBqAGsAbABtAG4AbwA7AL0AbwC9ADsATAAmAScBdQB2AHcAeAB5AHoAewATAFcAvQBZABcAgQBcABcB4wD4ABYAvQAcAWUAZgBnAGgAaQBqAGsAbABtAG4AbwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQATAHIAcwB0ABcAcgBzAHQAOwB1ACsBLAF4AHkAegAwAb0AvQCPAL0AbgBvAIIAFgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDTANQA0wDUAGUAZgBnAGgAaQBqAGsAbABtAG4AbwDiAL0A4gC9ACoBhAA7AIYAhwByAHMAdAC9ADsAHQETAAcACAAJABcAzQDOAM8A0wDUANMA1ADdAGUAZgBnAGgAaQBqAGsAbABtAG4AbwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQATALUAtgC3ALgAuQC6AHIAcwB0AL0AvwCFAMEAcgBzAHQAigArASwByAAWAMkAMAErACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQAjAL0AjQC9AGUAZgBnAGgAaQBqAGsAbABtAG4AbwDqAOsAFgAXADsAuAAaALoA0wDUANMA1AC/APcAwQATAEIAaQBqAEkAvQDIAL0A4gBKAOIAFgAFAWUAZgBnAGgAaQBqAGsAbABtAG4AbwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQC9AOoA6wAjARMAcgBzAHQAlgA7AJgAvQDpAOwA9wA7AL0AfQB+AH8AOwAsAdMA1ACAADABZAATAAUBnAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5AGUAZgBnAGgAaQBqAGsAbABtAG4AbwAuAOkAvQC9ACMB+ABjAL0AfQB+AH8AcwAaAMgAIQHmAOcAcwDIABAAvQByAHMAvQDTANQAdwDdAL0A0wDUAAIBZQBmAGcAaABpAGoAawBsAG0AbgBvAL0AnADTANQA6gDrAL0A0wDUAOoA6wAWAMkAvQCWAJcAmAD3APgATAAQABMA9wD4AHEAvQAYAAEB0wDUAL0AGgBZAAYB3wBcAOEATQC9AE8AgQATADUA4gD4ACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5AOwAEwAPAb0AYwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQBzAE0AOwBPAHcAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAAwEWABcAZQBmAGcAaABpAGoAawBsAG0AbgBvADsAlgCXAJgAngAWAPQAGAD2AGUAZgBnAGgAaQBqAGsAbABtAG4AbwAdAb0AvQByAHMAdADIAIgAiQBlAGYAZwBoAGkAagBrAGwAbQBuAG8A5gDnADsA0wDUAB0BaQBqAL0AEwCNAOoA6wDvAHEAcgBzAHQA4gB2AOoA6wC9APkA9wBkAL0AfgAXAOwAawAaAL0A9wAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkA0wDUADsAlgDpAJgA0wDUAIUADABzAL0AvQCKABMAFAAsARYA6QBMADAB4gALANAAGwAWABcAyAATABoAVwAkAFkA0wDUAFwALAH4AL0AKgAwAb0A+gBlAGYAZwBoAGkAagBrAGwAbQBuAG8AOwDIAOkAcgBzAHQAPwDqAOsA6wATABQARwAWACwBvQBJAMgAMAF0APcA9wBRAL0AyADjABoAJADqAOsAywDMAI8AyAAaAOoA6wDCAMgAMABjAPcAQgC9AI0AHAFpAGoA9wBkADsA6gDrAHAAAwFyAHMAdADqAOsAdwBVAEcACgH3ANMA1ADqAOsAcgBeAPcA6gDrAAwACgFVAIgAiQC9APcAWgAaAH4AfwD3AL0AGgAWABsAYwCWAJcAmACZAJoAaQBqAL0ALgEvAdMA1ABwACoAcgBzAHQA0wDUAHcALgEvARMAFAC9ABYAEgG9AA8AkAAWAb0AFgAXAD8AvQC9AMsAzAAkAIgAiQCbABgAnQCPANMA1AC9AIwAlgCXAJgAmQCaAAAAAQACANMA1AAFAC4AOwChAJMACgALAAwADQAOANMA1AARADwARwC9AAIBvQA7AL0AaQBqAL0AvQC9AB4AdAAgAFUAfAC9APsA/ABaAL0AKAACAdMA1ADTANQAvQBjABoA0wDUANMA1ABpAGoAZACNANMA1AB3AHAAvQByAHMAdAAXAL0AdwAaAIEARgC9AB8AcQATABQAGAAWAE4AcwAnAFEAvQDTANQAGgC9ABYA0wDUAL0AJAC9ANMA1AC9AL0AYQCWAJcAmACZAJoAfwDTANQAvQC9ANMA1AC9AL0A0wDUADsAvQC9ANMA1AAXAL0AFgAaABgAvQCVAEcAvQDTANQAvQCDANMA1AC9AL0AiACJANMA1ABVAL0A0wDUADsAWgDTANQAJAElAXYAdwDTANQAYwAXANMA1AAaAJ8AaQBqAL0A0wDUAI8AlgBwAJgAcgBzAHQAAQACAHcAFwAFABcAGgC9ABoACgALAAwADQAOAFMAVAARAP0AvQCLAL0AEwAUAL0AFgC9AL0AjABzAB4AOwAgAIsAlgCXAJgAmQCaACQAKADTANQA0wDUADsA0wDUANMA1AAHAAgAEwAUAL0AFgCWAL0AmADnABkBvQA7AL0AFwC9AL0AGgC9ACQARgC9ABcA7QBHABoA0wDUAE4A0wDUAFEAvQDTANQA0wDUAHMA0wDUANMA1AA7ANMA1AAXABcAYQAaABoAFwBzAGMAGgBHAL0AvQC9AGkAagBrABcAvQAXABoAcAAaAHIAcwB0AL0ANQF3ABcAEwAUABoAFgC9ANMA1ACDAGMAvQDTANQAiACJAGkAagC9ACQA0wDUAL0AcAC9AHIAcwB0ANMA1AB3AJYAlwCYAJkAmgC9AJ8AFwD6AL0AGgA7AL0AvQC9AL0AvQAYAb0A+gC9AL0A7gBHAL0AvQD6ANMA1AC7AJYAlwCYAJkAmgDTANQA+gAiAfAA0wDUANMA1AD+AB4B0QD+APEA8AD+AGMAHgHXANwA1gD0AGkAagDWANYA9AARAeAAcADAAHIAcwB0ADwAIgF3AAUAiwDEAMQAJgAKAAsADAANAA4A7gDwABEAxACUAB8BHwEUAXEAFgCTAPEAKwDlAPEAHgASACAA6ADoAJYAlwCYAJkAmgAoAOgA6ADEABIAwwAJAQkBCAHxAAgBxACbAOUA5QDxAPEA8QDDAD4AxADDABYAcQDYAMQA3gDDAMMAGgFGAMQAGwHVANgA1QBAABYATgB8ANsAUQCiAG8A2wCOAAAB1QBxAP8A1QAAAdgALwHXANUA1QBhAP8A1QDYABMBEwHeANgAAAH/AMQAWwBSAAAB/wA0ATQBkgAWAI8AxACbAAQBGQCRAJAAxwAaAMYADQC+AL4ABgAlAYMAvAC8APUA9ACIAIkA9QDzAPIA8QC8AMoA0ADZANkABAHQAAQAygADABYAygDQANAAoAAPANEAnwAOAdEAYgAQABAB0AAXABcAiQCUAIAAFACMABgAEACOAAEAjACVAIAAPQA1AJQAJQA1ADUANQCAAHIAIgAoASgBiwABAAUAFgBxAJ4AGgBLACkAiwBEAEQAcQAYABQAEwCBAHsAFwBgABYAFgAlABYAFgBDABYAQwA7ABgAFwAcAEMAkwAWABoAFwAXABcAFwAWABgAFwAWABgAFwCLABcAcgAWAI0AGgBYAEsAVgAsABcAIgAWAEsAIgAYACIAIgAiAF0AIgAaABoAIgAXABcAFwAXABcACwAXABYAGgAWABYAhQAXABcAFgAWAIsAGgCLABcADwABAAEANgE2ATYBNgE2ATYBNgGLAIsANgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgE2ATYBNgEAACICxgQiAsMB7AQiAtcEIgJyAG8A0wAiAgEGIgLsBAsCcgBvANMAiAHQBFgBKgAqACoAKgDJBCoAKgBHAEcAqQPIBEcARwBHAEcAtgXVBaoDNAPFAQYAeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgABwaIAU4F7QUoAgIAqQTCABACtAGPACMBEAKIABACcwEFAfgBEAGBAfkEDwL3Ae0BpAB5AHoAcACNBI0E7gPxA+cD5wN3AHcAeAB4AHgAeABOBboB6gV2AHYAdgB2AHUAdQB0AHQAdABzAKgBCgEKAQoBCgHaBWYB3AWzAWUB2gUFAgwCzQUfAloEHwJaBIgBlQHxANAAcgBvANMAYgAiARkC3QAFBHYAdgB2AHYAdQB1AHQAdAB0AHMAqAF2BHkAegBwAI0EjQTuA/ED5wPnA3cAdwB4AHgAeAB4AJYBrAF1AHUAdAB0AHQAcwCoAYoF1AF7AHYAdgB2AHYAdQB1AHQAdAB0AHMAqAF0AHQAdABzAKgBHAIcAhwCiAH5AXgAeAB4AHgAcQAbBHYEdwR4BBsEdgB2AHYAdgB1AHUAdAB0AHQAcwCoAbUFeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAiAG8ATwBUwDPAVEAZwF+AXYEUAB2AHYAdgB2AHUAdQB0AHQAdABzAKgBswCyAagBeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAsgGxAQoBCgF2AHYAdgB2AHUAdQB0AHQAdABzAKgBHwJVBIcD+gF2BHIAbwDTAJcFdgR3BHgEzgDrAVUEiAHBAVUEIQJKAXgAeAB4AHgAKgGXBZkFEQB2AHYAdgB2AHUAdQB0AHQAdABzAKgBeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAiAFOBbIBdgTiAXYEdwR4BOQD5APvA/IDvQF2AHYAdgB2AHUAdQB0AHQAdABzAKgBeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAHgQeBNEBlwV2AHYAdgB2AHUAdQB0AHQAdABzAKgBdgTDASICkgV2BHcEeATpAMYDdgThAd4B3QGrAGgBiAGkAJcBngFKA9wBpAC5AE4BRwBHANsE6AN2AHYAdgB2AHUAdQB0AHQAdABzAKgBeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAiAF2BHcEeARDAwwAOgH9AaMAZAF2BHcEeARyAG8A0wD8ASIBGQIiAhQBtAAiARkCeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAWQHkAUcARwB2AHYAdgB2AHUAdQB0AHQAdABzAKgBdgTRAJsBCwJ2BFUEIwZ6AfwADQFWAecBUQHmAe4AiAEBAmwBVQRnBE0BVQS/AJkBHgEgAMkBuwF2AHYAdgB2AHUAdQB0AHQAdABzAKgBeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAiAF2BHcEeATbA3YEdwR4BHYE6QDsAdQF4QHeAd0BBgCjACICAAIiAnMAqAHcAQUAeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgADQANAA0ADQB2AHYAdgB2AHUAdQB0AHQAdABzAKgBkwH2AZgBIgLOBSACdgR8A3wDdgR3BHgEwQV2BBMBiAEoAykDKgPLA6YBpgGmARAAEAA3ADcA2gR2AHYAdgB2AHUAdQB0AHQAdABzAKgBeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAiAGlBAEAAQAoAgIAqQR2BHcEeATCACMBggOIAHYEdwR4BIEDCQLUBfkEAwB8AQYAeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAWgMiApwDIgJ2AHYAdgB2AHUAdQB0AHQAdABzAKgBCgEKAUQEIQZ2BCcCIQapBA0ADQANAA0AIwEfAogAiAHlAaUBpAHGA1gB+QTUAZoBWwMXAYwA3QB2AHYAdgB2AHUAdQB0AHQAdABzAKgBeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgAIgIKAQoBrAGIAXYEdwR4BJQEPgOUBNQBrwGRAB8CegSRAToBtwEuAUYD0gVHAEcAnAEGAEIE2QHdAGQAcACNBI0E7gPxA+cD5wN3AHcAeAB4AHgAeAB2AHYAdgB2AHUAdQB0AHQAdABzAKgB7QCRBSICwwGsAR8B2gMiAuwA6wDqAD4DYQARAq0B8QTxBHoE7gEzAa4BRgPRAyICRwBHANAD2QQiAjMAMwAsAXYAdgB2AHYAdQB1AHQAdAB0AHMAqAHCAGcARgBGAAoBCgEiAkcARwAKAQoBHgCHAVgB0APQA9IDHwIQAlUESAGIAR8C7wGNAb4FwwASAg0ADQBOBfAAVQQVARgBVQQYATAByQEyAU0BiAEfALwAowF5AHoAcACNBI0E7gPxA+cD5wN3AHcAeAB4AHgAeACOAIgBbQHJAdoDeQB6AHAAjQSNBO4D8QPnA+cDdwB3AHgAeAB4AHgA0QNDAXYERgHQA3kAbgBwAI0EjQTuA/ED5wPnA3cAdwB4AHgAeAB4ANABeQGhBHYAdgB2AHYAdQB1AHQAdAB0AHMAqAF2BNAD0APSAzEBCQBuAfQAagF2AHYAdgB2AHUAdQB0AHQAdABzAKgBOQEiAlgBdgR3BHgEKwEiARkCdgB2AHYAdgB1AHUAdAB0AHQAcwCoAe8E7wSLBA0ADQAWAaUBpAHUAYgBmwMEAQQBIQGRBHYEdwR4BL0AkwQKAQoB1AGGAR8CogQiApIEBwGQAOkBmgMiAh8CegBwAI0EjQTuA/ED5wPnA3cAdwB4AHgAeAB4AEcARwB2BJQE+ASUBA0ADQCCAy4EiwQiAtQBgQNrABoC0wUEAPQEVQQGAA0CGQQMAC8ERAQiBjgBxwEiBggCHQJVBDgAOABVBNEFpwFOBTAEBgBZAR0BdgB2AHYAdgB1AHUAdAB0AHQAcwCoAakB9wRBAXYEdwR4BG4DCgEKAf0EawAaAhcCBADQBSUBbwO7BAYA0gAfAh8CpAAmAfABoAHMAB0CCwELAb4EjgH/AfMBzAAKAQoBjAETAggA2gMfAgcCIgKaA8oBaQBpAB8CQgSpAQoBCgFqAKEBqQEkAiMCCgEKAdADBgIXAl0FHwIPAA8ACgEKAcgBYAQfAgoBCgEuBFwFAwIiARkCIgIfAgICYQC8ATwBHwIiApoDfQAvBNoD0APQA9ID0wMbAGkAaQCRAVcB5wUsACwAagAwBKkBJAIjAjkAOQDQA1cB5wVrABoCIgIEAM4BkQHWAGAEywEpAXkBQwQWAh0FIgIbAo4BHQIiARkCaAD0AGYADgI6ADoAIgLHANAD0APSA9MDGwDsBWsEqwE7ADsADgHtAKkBigBfAHcBdwF2Af8AdAE8ADwAMQOcBBcCIgIRASICiwQcBYUBhAEiArYBIgLXANIAKAEDAlEDIgIJAdAABALEBScBEgE9AD0APgA+ADQB2gNtAC0ALQAuAC4AaQBpAKIEmgMvAC8AVQFqACICqQEkAiMCBgYiAtADYwNUAdkAIgKpA40BawAaAtoABACcAIsEqgOeACICMQAxAIoEIgIMATIAMgAiAh0CqgU/AD8AIgKpBdgA0APQA9ID0wMbAL4BQABAACICzAFBAEEAIgI+AQ4ADgCpARkFIgJCAEIAPwQiAo0AewEmACICwwMXAkIBfwB/ACICiQFDAEMAIgJFASIBGQI0ADQAAwIiAkQARABNAwICRQBFAI8BpQBZA1gDNQA1ANoDNwGXAJcAYQCwAWkAaQBHAZgAmAAOAhgEagAYBKkBJAIjAmsEqwHQAwgEDgHIA+8ASQHzAHcBdwF2Af8AdAGsA60DMQMQBSIC3AAiAmsAGgIiAgQAIgLoBMcATQPXAAwEKAH6BdAD0APSA9MDGwAdAicBTABMADYANgDUA0gASACAAIAAYANhA2sAGgIiAgQAFwQiAhcEFQLVASICqQEiAsIB2AQiAvMAIgIdAtkAIgLEAcUAFwLzAEkASQCcAIEAgQCeAFABggCCAH4AfgAMBJYAlgCVAJUAqQGGAIYAPQHaAdgAYQDvAEsB1APaA2EAFwJaAVsBIgJpAGkAhgOjAyICfwPzAGoAbQCpASQCIwIiAuEF0AM8A2MAGgKLAAQAIgKFAIUAiQHaAyUFgwCDACIBGQJpAGkATQUdAoQAhAAMBWoAFwWpASQCIwJLAEsA0APQA9AD0gPTAxsAIgKwAYADCQUUAm0AqQFTBSICxQS9BLIEAgEiAl0BIgKxBAsAFwKzBPQFXwFNAE0AeAHQA9AD0gPTAxsASgBKAGEB1QAtASsAKwAwADAAtQE2AckALwFGBTsBYwHaA8YB3wHXBFMBwABpAGkAjgWNBcEAGALNAGoA9wWpASQCIwKcBKcA0AMOAfcAvQW7BZkEdwF3AXYB/wB0AcgAcQExA5ABUwBPAFIAkwXAAbEAXwA+BaEAqQA7BdcAuAEoAawArQDQA9AD0gPTAxsAJwGuAK8AuQHYAd8AQwV/ASMAfQEkAM0BWABJBbUAvwGAAYgF4wDTAQMB5QC6AOgB1gFEAeIE5gDnAEAB2QC0BJ4F6wSCAeoEnQFaAJwAUQMFBp4AzgCfAQQG+wEUBekEXgBcAc0EFQWDAeYFzARSAcsE2ABeAQMG8gEbARwB4QT1ARMFYAH1APYAogESBWIB2AXXBXwACgAOAmsBZQAsBf0AYAD+AboEIgAlAnEE/gAAAQEBpgCJASYCrwQCBWkBIgEZAgEFxABvAXABqgSZAK4FiQAZASsFrwUkA5oAqgHGAJsArQWsBSQB1ADKALABegXLAA8BhwAgAU4AFgQUBMADqACdAHEDqgDbADUB3gAkBLAAxAOfAJIBVACyAJQBVQBWAFcAoAAnBOAAigGLAeEAIwSSABIA4gA/AfMAlgTSAeQAHAS2ALcAJQAzA9cBVAHoAEwB4wG4AFkAogATABQA2wFbAOABTwNPAZMAXAMaAVwA6gFdAGUElAD0A0cEJwDxAUgEKAD0AQYBzwAIAaIDuwCdA20AVwRbBFkEBwBLBPIAIQBfBBUACgIWABcAGABeBBkAvgBhABoAAwT1A/MD9wMtBPgDLAT5APgAHAApAHsD1QM9A2wAHQD6AB4C+wByAXUBbQRsBKYEpgSmBKYEpgSmBKYE/AX7BQAAAAAAAAAAAAAAACcGJwYnBoMFpAQRBaQEpASkBIMFgwWDBaQELwUvBbgFwwSkBKQEpASkBKQEpASkBKQEpASkBIIFpASkBKQEpATWBdYFpASkBKQEpASkBKQEpASkBKQEOAWkBKQEpASkBKQEpASEBYUFpASkBKQEtwW5BZQFQgVBBUAFPwWmBSIFPQU2BToFfgV/BX0FgQWFBYQFpAQ5BWEFbwVgBaQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBGkFbgV0BW0FagVjBWIFZAVlBaQEuQTtBKQEpASkBKQEygXJBaQEpATDBFsFWgVmBWcFcQVwBb8F+QX4BZUFpASkBKQEpASkBKQE1gWkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpATWBdYFpATDBNYF1gW/BL8EKQWkBMUFEQUIBaQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpAS8BboFpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpAQNBaQEpASkBKQEpASkBKQEpASkBKQEpATzBaQEoQX7BA0FDQUNBQ0FDwX8BPoEBwXEBKsEHwYOBSQFJAUcBjwFDgUcBtQECQbPBC8FLwUvBSQFKQUpBYAFDgUHBaQEHwYWBRYFHgYeBhYFlQVFBUsFPAXwBDwF9gT2BPYE9gQWBbYEPAU8BUUFSwXwBDwF8AQ8BRYFtgSlBRkGFgW2BIsFFgW2BBYFtgSLBe4E7gTuBOMEpASkBIsF7gTUBO4E4wTuBO4E6AWLBY8FjwWLBSgFIwUoBSMFKAUjBSgFIwUWBeAF4AUyBTIFNwUpBYYFFgWkBDcFNQUzBTwFvATmBPYF9gXyBfIF8gUkBiQGxQUCBsMEwwTDBMMEAgbWBNYExATEBMMEAgakBKQEpASkBKQEpAT9BaQElgUaBaQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpARQBaQEpwTCBaQEpATABaQEpASkBKQEpASkBBsFpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEGwakBKQEpASkBKQEpASkBaMFpASkBBgFpASkBKQEpASkBKQEpASkBKQEpASkBKQEpATSBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpAQ0BaQEpASkBKQEpASkBKQEpASkBKQEpASkBKQEpATlBSoFpASkBBIGpASkBKQEpASkBKQEpASkBKQEpASkBKQEpASkBA0G/gRSBaQEUQVVBaQEsASkBKQEAAAAAAAAAAAAAAAAAAD//f/9AP////7+/v37+v8A/f8A+/4A/v4A/Pr+AAD+/fz8/P39+/78/P/+/fwA/wD+/v39/f7+///+/f4A/v4A//75+/v2AAD9AP7///z+APf8//38//3//v/39vz7//8AAPv9+/4AAP7+APn3+fkA/v/9//37/f/+/fz+AAD9/vwAAP37/f//AP7+AAD9AP4A/vz8+gD+9/v5/fv5+QD1+Pz+/wD9/f/9///9+//////9+vv8+vv/+/39/f39/f39/v37/v39/P7+/v/++//++/37+/z7+/z+AP8AAP3/AP30/wAA/fv9AP78/v3+AP37+vv6/v779f/+AP///QD+/f79/f73+Pr9/Pr////8+v0A/v/9//36+f/4//z4AP/9//79+vj//fv7+vz7//4A/fr///7//v7+AP7+/v/+/v///P77//7///79AP/+/wD+/P7//////////gD+/P7+/f8A//////7/////////////AP3/AP8AAP///f4A/P4AdW5rbm93biB0YWJsZSBvcHRpb246ICUuKnMACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHNldCBsaXN0AG5lYXIgIiVUIjogc3ludGF4IGVycm9yADAAcXVhbGlmaWVkIHRhYmxlIG5hbWVzIGFyZSBub3QgYWxsb3dlZCBvbiBJTlNFUlQsIFVQREFURSwgYW5kIERFTEVURSBzdGF0ZW1lbnRzIHdpdGhpbiB0cmlnZ2VycwB0aGUgSU5ERVhFRCBCWSBjbGF1c2UgaXMgbm90IGFsbG93ZWQgb24gVVBEQVRFIG9yIERFTEVURSBzdGF0ZW1lbnRzIHdpdGhpbiB0cmlnZ2VycwB0aGUgTk9UIElOREVYRUQgY2xhdXNlIGlzIG5vdCBhbGxvd2VkIG9uIFVQREFURSBvciBERUxFVEUgc3RhdGVtZW50cyB3aXRoaW4gdHJpZ2dlcnMAAAAAAAAAAAAAAAAAALkAuQC4ALoAuwC7ALsAuwC6ALoAugC6ALoAvwDBAMMAwwDCAMIAwADAAMcAxwDJAMsAywDLAMwA0ADRANIA0gDSANIA0gDSANIA0gDSANIA0gDSANIA2wDbANcA1wDZANkA3ADcANwA3ADdAN0A3QDdAN0A2gDaAN4A3gDeAMYA4ADhAOEA4QDhAOEA5ADVANUA5QDlAOYA5gC6AOgA6AC6ALoAugDIAMgAyADqAO0A7QDtAOsA6wD3APcA7gDuAO4A+QDvAO8A7wD6APoA8ADwAPwA/AD7APsA+wD7AMQAxADpAOkAAgECAQIBAgH9AP0A/QD9AP8A/wD+AP4A/gAAAQAB9AD0AOIA4gDWANYA1gAEAQQBBAHyAPIA8wDzAPUA9QD1APUAugDxAPEAugAGAQYBBgEGAboAugAJAQkBCQEJAQcBBwEIAQgBAwEDAdQA1ADUANQA1ADTANMA0wDUANQA1ADUANQA1ADUANMA1ADUANQA1ADUANQA1ADUANQACwHUANQA1ADUANQA1ADUANQA1AAMAQwB1AANAQ0B1ADUANQA1ADUANQAEAEQAREBEQEPAQ8BAQH4APgADgEOAboAEgESAdgA2ADjAOMAEwETAboAugC6ABQBFAG6ALoAugC6ALoAzgDPALoAFgEYARgBGAEZARkBGQEbARsBFwEXAR0BHgEeARwBHAEcARwB1ADUAOcA5wDnALoAugC6ACABIAG6ALoAugC6ALoAugAhAboAugC6ACMBJQEmASYBJwEFAQUB7ADsACkBKQEqASsBKwErASsBKwErASwBLAEsATABMgEyATMBMwExATEBNAE0ATUBNQE1AfYACgEKAQoBLwEvAS4BtQC2ALYAtwC3ALcAvAC8ALwAvgC+ALoAxQDFAL0AvQC9AMsAzADNAM0AygDKANIA0gDSAMYA3wDfAOAA5ADmAOoA6wD5APoA1AALAQEBFQEVARUBFQEVAc4AGgEaAR0BHgEfAR8BIgEiASQBJAElASgBKAEoAQUBcGFyc2VyIHN0YWNrIG92ZXJmbG93AAAAAAAAAAAASAAAACUACgBZAAAANAAJAIAAAABZAAEAUgAAAE0AAAALAAsABQACAEUAAAB0AAAAQgBDAEQARQBnZW5lcmF0ZWQgY29sdW1uIGxvb3Agb24gIiVzIgBtaXN1c2Ugb2YgYWdncmVnYXRlOiAlcygpAHVua25vd24gZnVuY3Rpb246ICVzKCkAJWQgY29sdW1ucyBhc3NpZ25lZCAlZCB2YWx1ZXMAcm93IHZhbHVlIG1pc3VzZWQAUkFJU0UoKSBtYXkgb25seSBiZSB1c2VkIHdpdGhpbiBhIHRyaWdnZXItcHJvZ3JhbQAlcyVzADB4AGhleCBsaXRlcmFsIHRvbyBiaWc6ICVzJXMAdW5zYWZlIHVzZSBvZiAlcygpAHN1Yi1zZWxlY3QgcmV0dXJucyAlZCBjb2x1bW5zIC0gZXhwZWN0ZWQgJWQAUkVVU0UgU1VCUVVFUlkgJWQAJXNTQ0FMQVIgU1VCUVVFUlkgJWQAQ09SUkVMQVRFRCAAVVNJTkcgUk9XSUQgU0VBUkNIIE9OIFRBQkxFICVzIEZPUiBJTi1PUEVSQVRPUgBVU0lORyBJTkRFWCAlcyBGT1IgSU4tT1BFUkFUT1IAUkVVU0UgTElTVCBTVUJRVUVSWSAlZAAlc0xJU1QgU1VCUVVFUlkgJWQAbm90IGF1dGhvcml6ZWQAYXV0aG9yaXplciBtYWxmdW5jdGlvbgBST0xMQkFDSwBDT01NSVQAAHYmAADoagAAy2oAAFJFTEVBU0UAdGVtcG9yYXJ5IHRhYmxlIG5hbWUgbXVzdCBiZSB1bnF1YWxpZmllZAB2aWV3AAIECAZ0YWJsZSAlVCBhbHJlYWR5IGV4aXN0cwB0aGVyZSBpcyBhbHJlYWR5IGFuIGluZGV4IG5hbWVkICVzAHNxbGl0ZV9zZXF1ZW5jZQAGAAAAAABjb3JydXB0IGRhdGFiYXNlAHVua25vd24gZGF0YWJhc2UgJVQAc3FsaXRlXwBvYmplY3QgbmFtZSByZXNlcnZlZCBmb3IgaW50ZXJuYWwgdXNlOiAlcwBBVVRPSU5DUkVNRU5UIG5vdCBhbGxvd2VkIG9uIFdJVEhPVVQgUk9XSUQgdGFibGVzAFBSSU1BUlkgS0VZIG1pc3Npbmcgb24gdGFibGUgJXMAbXVzdCBoYXZlIGF0IGxlYXN0IG9uZSBub24tZ2VuZXJhdGVkIGNvbHVtbgBUQUJMRQBWSUVXAENSRUFURSAlcyAlLipzAFVQREFURSAlUS5zcWxpdGVfbWFzdGVyIFNFVCB0eXBlPSclcycsIG5hbWU9JVEsIHRibF9uYW1lPSVRLCByb290cGFnZT0jJWQsIHNxbD0lUSBXSEVSRSByb3dpZD0jJWQAQ1JFQVRFIFRBQkxFICVRLnNxbGl0ZV9zZXF1ZW5jZShuYW1lLHNlcSkAdGJsX25hbWU9JyVxJyBBTkQgdHlwZSE9J3RyaWdnZXInAHRoZSAiLiIgb3BlcmF0b3IAc2Vjb25kIGFyZ3VtZW50IHRvIGxpa2VsaWhvb2QoKSBtdXN0IGJlIGEgY29uc3RhbnQgYmV0d2VlbiAwLjAgYW5kIDEuMABub3QgYXV0aG9yaXplZCB0byB1c2UgZnVuY3Rpb246ICVzAG5vbi1kZXRlcm1pbmlzdGljIGZ1bmN0aW9ucwAlLipzKCkgbWF5IG5vdCBiZSB1c2VkIGFzIGEgd2luZG93IGZ1bmN0aW9uAHdpbmRvdwBhZ2dyZWdhdGUAbWlzdXNlIG9mICVzIGZ1bmN0aW9uICUuKnMoKQBubyBzdWNoIGZ1bmN0aW9uOiAlLipzAHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gZnVuY3Rpb24gJS4qcygpAEZJTFRFUiBtYXkgbm90IGJlIHVzZWQgd2l0aCBub24tYWdncmVnYXRlICUuKnMoKQBzdWJxdWVyaWVzAHBhcmFtZXRlcnMAcGFydGlhbCBpbmRleCBXSEVSRSBjbGF1c2VzAGluZGV4IGV4cHJlc3Npb25zAENIRUNLIGNvbnN0cmFpbnRzAGdlbmVyYXRlZCBjb2x1bW5zACVzIHByb2hpYml0ZWQgaW4gJXMAbmV3AG9sZABleGNsdWRlZABtaXN1c2Ugb2YgYWxpYXNlZCBhZ2dyZWdhdGUgJXMAbWlzdXNlIG9mIGFsaWFzZWQgd2luZG93IGZ1bmN0aW9uICVzAGRvdWJsZS1xdW90ZWQgc3RyaW5nIGxpdGVyYWw6ICIldyIAbm8gc3VjaCBjb2x1bW4AYW1iaWd1b3VzIGNvbHVtbiBuYW1lACVzOiAlcy4lcy4lcwBST1dJRAAlcy4lcwAlcy4legBhY2Nlc3MgdG8gJXogaXMgcHJvaGliaXRlZABSQU5HRSB3aXRoIG9mZnNldCBQUkVDRURJTkcvRk9MTE9XSU5HIHJlcXVpcmVzIG9uZSBPUkRFUiBCWSBleHByZXNzaW9uAEZJTFRFUiBjbGF1c2UgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIGFnZ3JlZ2F0ZSB3aW5kb3cgZnVuY3Rpb25zAHJvd19udW1iZXIAZGVuc2VfcmFuawByYW5rAHBlcmNlbnRfcmFuawBjdW1lX2Rpc3QAbnRpbGUAbGVhZABsYWcAT3AAAEwAAABaAAAAVQAAAFpwAABZAAAAWgAAAFUAAABlcAAAWQAAAFoAAABVAAAAanAAAFwAAABVAAAAWgAAAHdwAABcAAAAVgAAAFoAAACBcAAATAAAAFUAAABaAAAAh3AAAEwAAABaAAAAWgAAAIxwAABMAAAAWgAAAFUAAABubyBzdWNoIHdpbmRvdzogJXMAYSBHUk9VUCBCWSBjbGF1c2UgaXMgcmVxdWlyZWQgYmVmb3JlIEhBVklORwBPUkRFUgBHUk9VUABhZ2dyZWdhdGUgZnVuY3Rpb25zIGFyZSBub3QgYWxsb3dlZCBpbiB0aGUgR1JPVVAgQlkgY2xhdXNlAHRvbyBtYW55IHJlZmVyZW5jZXMgdG8gIiVzIjogbWF4IDY1NTM1AGFjY2VzcyB0byB2aWV3ICIlcyIgcHJvaGliaXRlZAB1bnNhZmUgdXNlIG9mIHZpcnR1YWwgdGFibGUgIiVzIgAqACVzLiVzLiVzAG5vIHN1Y2ggdGFibGU6ICVzAG5vIHRhYmxlcyBzcGVjaWZpZWQAdG9vIG1hbnkgY29sdW1ucyBpbiByZXN1bHQgc2V0AG11bHRpcGxlIHJlZmVyZW5jZXMgdG8gcmVjdXJzaXZlIHRhYmxlOiAlcwBjaXJjdWxhciByZWZlcmVuY2U6ICVzAHRhYmxlICVzIGhhcyAlZCB2YWx1ZXMgZm9yICVkIGNvbHVtbnMAbXVsdGlwbGUgcmVjdXJzaXZlIHJlZmVyZW5jZXM6ICVzAHJlY3Vyc2l2ZSByZWZlcmVuY2UgaW4gYSBzdWJxdWVyeTogJXMAY29sdW1uJWQAJS4qejoldQB0cnVlAGZhbHNlAHN1YnF1ZXJ5XyV1ACclcycgaXMgbm90IGEgZnVuY3Rpb24AdmlldyAlcyBpcyBjaXJjdWxhcmx5IGRlZmluZWQAbm8gc3VjaCBpbmRleDogJXMAYSBOQVRVUkFMIGpvaW4gbWF5IG5vdCBoYXZlIGFuIE9OIG9yIFVTSU5HIGNsYXVzZQBjYW5ub3QgaGF2ZSBib3RoIE9OIGFuZCBVU0lORyBjbGF1c2VzIGluIHRoZSBzYW1lIGpvaW4AY2Fubm90IGpvaW4gdXNpbmcgY29sdW1uICVzIC0gY29sdW1uIG5vdCBwcmVzZW50IGluIGJvdGggdGFibGVzACVyICVzIEJZIHRlcm0gb3V0IG9mIHJhbmdlIC0gc2hvdWxkIGJlIGJldHdlZW4gMSBhbmQgJWQAdG9vIG1hbnkgdGVybXMgaW4gJXMgQlkgY2xhdXNlAGFsbCBWQUxVRVMgbXVzdCBoYXZlIHRoZSBzYW1lIG51bWJlciBvZiB0ZXJtcwBTRUxFQ1RzIHRvIHRoZSBsZWZ0IGFuZCByaWdodCBvZiAlcyBkbyBub3QgaGF2ZSB0aGUgc2FtZSBudW1iZXIgb2YgcmVzdWx0IGNvbHVtbnMAVU5JT04gQUxMAElOVEVSU0VDVABFWENFUFQAVU5JT04AdG9vIG1hbnkgdGVybXMgaW4gT1JERVIgQlkgY2xhdXNlACVyIE9SREVSIEJZIHRlcm0gZG9lcyBub3QgbWF0Y2ggYW55IGNvbHVtbiBpbiB0aGUgcmVzdWx0IHNldABFeHByZXNzaW9uIHRyZWUgaXMgdG9vIGxhcmdlIChtYXhpbXVtIGRlcHRoICVkKQAsAAogIAAsCiAgAAopAENSRUFURSBUQUJMRSAAAAAAAAAAAABIBQAA1HUAANp1AADfdQAA5HUAACBURVhUACBOVU0AIElOVAAgUkVBTABkdXBsaWNhdGUgY29sdW1uIG5hbWU6ICVzAGRlZmF1bHQgdmFsdWUgb2YgY29sdW1uIFslc10gaXMgbm90IGNvbnN0YW50AGNhbm5vdCB1c2UgREVGQVVMVCBvbiBhIGdlbmVyYXRlZCBjb2x1bW4AdGFibGUgIiVzIiBoYXMgbW9yZSB0aGFuIG9uZSBwcmltYXJ5IGtleQBBVVRPSU5DUkVNRU5UIGlzIG9ubHkgYWxsb3dlZCBvbiBhbiBJTlRFR0VSIFBSSU1BUlkgS0VZAGdlbmVyYXRlZCBjb2x1bW5zIGNhbm5vdCBiZSBwYXJ0IG9mIHRoZSBQUklNQVJZIEtFWQB1bnN1cHBvcnRlZCB1c2Ugb2YgTlVMTFMgJXMARklSU1QATEFTVABpbmRleABjYW5ub3QgY3JlYXRlIGEgVEVNUCBpbmRleCBvbiBub24tVEVNUCB0YWJsZSAiJXMiAHRhYmxlICVzIG1heSBub3QgYmUgaW5kZXhlZAB2aWV3cyBtYXkgbm90IGJlIGluZGV4ZWQAdmlydHVhbCB0YWJsZXMgbWF5IG5vdCBiZSBpbmRleGVkAHRoZXJlIGlzIGFscmVhZHkgYSB0YWJsZSBuYW1lZCAlcwBpbmRleCAlcyBhbHJlYWR5IGV4aXN0cwBzcWxpdGVfYXV0b2luZGV4XyVzXyVkAGV4cHJlc3Npb25zIHByb2hpYml0ZWQgaW4gUFJJTUFSWSBLRVkgYW5kIFVOSVFVRSBjb25zdHJhaW50cwBjb25mbGljdGluZyBPTiBDT05GTElDVCBjbGF1c2VzIHNwZWNpZmllZABDUkVBVEUlcyBJTkRFWCAlLipzACBVTklRVUUASU5TRVJUIElOVE8gJVEuc3FsaXRlX21hc3RlciBWQUxVRVMoJ2luZGV4JywlUSwlUSwjJWQsJVEpOwBuYW1lPSclcScgQU5EIHR5cGU9J2luZGV4JwAlcyAlVCBjYW5ub3QgcmVmZXJlbmNlIG9iamVjdHMgaW4gZGF0YWJhc2UgJXMAJXMgY2Fubm90IHVzZSB2YXJpYWJsZXMAaW5kZXggJyVxJwAsIABmb3JlaWduIGtleSBvbiAlcyBzaG91bGQgcmVmZXJlbmNlIG9ubHkgb25lIGNvbHVtbiBvZiB0YWJsZSAlVABudW1iZXIgb2YgY29sdW1ucyBpbiBmb3JlaWduIGtleSBkb2VzIG5vdCBtYXRjaCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIHJlZmVyZW5jZWQgdGFibGUAdW5rbm93biBjb2x1bW4gIiVzIiBpbiBmb3JlaWduIGtleSBkZWZpbml0aW9uAHZpcnR1YWwgdGFibGVzIGNhbm5vdCB1c2UgY29tcHV0ZWQgY29sdW1ucwB2aXJ0dWFsAHN0b3JlZABlcnJvciBpbiBnZW5lcmF0ZWQgY29sdW1uICIlcyIAdGFibGUgJXMgbWF5IG5vdCBiZSBkcm9wcGVkAHVzZSBEUk9QIFRBQkxFIHRvIGRlbGV0ZSB0YWJsZSAlcwB1c2UgRFJPUCBWSUVXIHRvIGRlbGV0ZSB2aWV3ICVzAHNxbGl0ZV9zdGF0JWQAREVMRVRFIEZST00gJVEuJXMgV0hFUkUgJXM9JVEAREVMRVRFIEZST00gJVEuc3FsaXRlX3NlcXVlbmNlIFdIRVJFIG5hbWU9JVEAREVMRVRFIEZST00gJVEuc3FsaXRlX21hc3RlciBXSEVSRSB0YmxfbmFtZT0lUSBhbmQgdHlwZSE9J3RyaWdnZXInAERFTEVURSBGUk9NICVRLnNxbGl0ZV9tYXN0ZXIgV0hFUkUgbmFtZT0lUSBBTkQgdHlwZT0ndHJpZ2dlcicAY29ycnVwdCBzY2hlbWEAVVBEQVRFICVRLnNxbGl0ZV9tYXN0ZXIgU0VUIHJvb3RwYWdlPSVkIFdIRVJFICMlZCBBTkQgcm9vdHBhZ2U9IyVkAHBhcmFtZXRlcnMgYXJlIG5vdCBhbGxvd2VkIGluIHZpZXdzAHRhcmdldCBvYmplY3QvYWxpYXMgbWF5IG5vdCBhcHBlYXIgaW4gRlJPTSBjbGF1c2U6ICVzAGV4cGVjdGVkICVkIGNvbHVtbnMgZm9yICclcycgYnV0IGdvdCAlZABDTy1ST1VUSU5FICV1AE1BVEVSSUFMSVpFICV1AERJU1RJTkNUAEdST1VQIEJZAFJJR0hUIFBBUlQgT0YgT1JERVIgQlkAT1JERVIgQlkAdG9vIG1hbnkgRlJPTSBjbGF1c2UgdGVybXMsIG1heDogJWQAJXMgY2xhdXNlIHNob3VsZCBjb21lIGFmdGVyICVzIG5vdCBiZWZvcmUATElNSVQAQ09NUE9VTkQgUVVFUlkATEVGVC1NT1NUIFNVQlFVRVJZACVzIFVTSU5HIFRFTVAgQi1UUkVFAFNDQU4gJWQgQ09OU1RBTlQgUk9XJXMAUwBjYW5ub3QgdXNlIHdpbmRvdyBmdW5jdGlvbnMgaW4gcmVjdXJzaXZlIHF1ZXJpZXMAcmVjdXJzaXZlIGFnZ3JlZ2F0ZSBxdWVyaWVzIG5vdCBzdXBwb3J0ZWQAU0VUVVAAUkVDVVJTSVZFIFNURVAATUVSR0UgKCVzKQBMRUZUAFJJR0hUAAAAAAAKCgkJCAgHBwcGBgYFBQUEBAQEAwMDAwMDAgICAgICAm50aF92YWx1ZQBmaXJzdF92YWx1ZQBhdCBtb3N0ICVkIHRhYmxlcyBpbiBhIGpvaW4AU0NBTiBDT05TVEFOVCBST1cAdG9vIG1hbnkgYXJndW1lbnRzIG9uICVzKCkgLSBtYXggJWQAT04gY2xhdXNlIHJlZmVyZW5jZXMgdGFibGVzIHRvIGl0cyByaWdodAA5N05PQ0FTRQAAAAAAAADdNgAAQAAAALB+AABCAAAAtX4AAEEAAAC6fgAAQwAAAGdsb2IAbGlrZQByZWdleHAAYWJicmV2aWF0ZWQgcXVlcnkgYWxnb3JpdGhtIHNlYXJjaAAlcy54QmVzdEluZGV4IG1hbGZ1bmN0aW9uAG5vIHF1ZXJ5IHNvbHV0aW9uAGF1dG9tYXRpYyBpbmRleCBvbiAlcyglcykAYXV0by1pbmRleABTRUFSQ0gAU0NBTgAgU1VCUVVFUlkgJXUAIFRBQkxFICVzACBBUyAlcwBQUklNQVJZIEtFWQBBVVRPTUFUSUMgUEFSVElBTCBDT1ZFUklORyBJTkRFWABBVVRPTUFUSUMgQ09WRVJJTkcgSU5ERVgAQ09WRVJJTkcgSU5ERVggJXMASU5ERVggJXMAIFVTSU5HIAA9AD4/IEFORCByb3dpZDwAPgA8ACBVU0lORyBJTlRFR0VSIFBSSU1BUlkgS0VZIChyb3dpZCVzPykAIFZJUlRVQUwgVEFCTEUgSU5ERVggJWQ6JXMAICgAIEFORCAAJXM9PwBBTlkoJXMpADxleHByPgAoABkXFhgAACUhGRYYFyknJihNVUxUSS1JTkRFWCBPUgBJTkRFWCAlZAAFBCUhZnJhbWUgc3RhcnRpbmcgb2Zmc2V0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlcgBmcmFtZSBlbmRpbmcgb2Zmc2V0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlcgBzZWNvbmQgYXJndW1lbnQgdG8gbnRoX3ZhbHVlIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyAGZyYW1lIHN0YXJ0aW5nIG9mZnNldCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlcgBmcmFtZSBlbmRpbmcgb2Zmc2V0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyAG1pbgBtYXgAVVNFIFRFTVAgQi1UUkVFIEZPUiAlcwBESVNUSU5DVCBhZ2dyZWdhdGVzIG11c3QgaGF2ZSBleGFjdGx5IG9uZSBhcmd1bWVudABTQ0FOIFRBQkxFICVzJXMlcwAgVVNJTkcgQ09WRVJJTkcgSU5ERVggAHRvbyBtYW55IHRlcm1zIGluIGNvbXBvdW5kIFNFTEVDVABhIEpPSU4gY2xhdXNlIGlzIHJlcXVpcmVkIGJlZm9yZSAlcwBPTgBVU0lORwAAAAAAAAAAAG5hdHVyYWxlZnRvdXRlcmlnaHRmdWxsaW5uZXJjcm9zcwAAAAAAAAAAAAAAAAAAAAAHBAYEKAoFIA4FMBMEOBcFARwFAyAAdW5rbm93biBvciB1bnN1cHBvcnRlZCBqb2luIHR5cGU6ICVUICVUJXMlVABSSUdIVCBhbmQgRlVMTCBPVVRFUiBKT0lOcyBhcmUgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQAcm93cyBkZWxldGVkAHRhYmxlICVzIG1heSBub3QgYmUgbW9kaWZpZWQAY2Fubm90IG1vZGlmeSAlcyBiZWNhdXNlIGl0IGlzIGEgdmlldwAtLSBUUklHR0VSICVzAGZvcmVpZ24ga2V5IG1pc21hdGNoIC0gIiV3IiByZWZlcmVuY2luZyAiJXciAAAAAPZuAAADAAAA8m4AAAMAAAAAAAAAAAAAADMAAgB5AAAAWwACAHoAAAB0AAAAdG9vIG1hbnkgY29sdW1ucyBpbiAlcwBjYW5ub3QgVVBEQVRFIGdlbmVyYXRlZCBjb2x1bW4gIiVzIgBubyBzdWNoIGNvbHVtbjogJXMAcm93cyB1cGRhdGVkACVzLnJvd2lkAGNhbm5vdCBJTlNFUlQgaW50byBnZW5lcmF0ZWQgY29sdW1uICIlcyIAdGFibGUgJVMgaGFzIG5vIGNvbHVtbiBuYW1lZCAlcwB0YWJsZSAlUyBoYXMgJWQgY29sdW1ucyBidXQgJWQgdmFsdWVzIHdlcmUgc3VwcGxpZWQAJWQgdmFsdWVzIGZvciAlZCBjb2x1bW5zAFVQU0VSVCBub3QgaW1wbGVtZW50ZWQgZm9yIHZpcnR1YWwgdGFibGUgIiVzIgBjYW5ub3QgVVBTRVJUIGEgdmlldwByb3dzIGluc2VydGVkAE9OIENPTkZMSUNUIGNsYXVzZSBkb2VzIG5vdCBtYXRjaCBhbnkgUFJJTUFSWSBLRVkgb3IgVU5JUVVFIGNvbnN0cmFpbnQAdmFyaWFibGUgbnVtYmVyIG11c3QgYmUgYmV0d2VlbiA/MSBhbmQgPyVkAHRvbyBtYW55IFNRTCB2YXJpYWJsZXMAdG9vIG1hbnkgYXJndW1lbnRzIG9uIGZ1bmN0aW9uICVUAERJU1RJTkNUIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHdpbmRvdyBmdW5jdGlvbnMAc3ludGF4IGVycm9yIGFmdGVyIGNvbHVtbiBuYW1lICIlLipzIgBubyBzdWNoIGluZGV4OiAlUwBpbmRleCBhc3NvY2lhdGVkIHdpdGggVU5JUVVFIG9yIFBSSU1BUlkgS0VZIGNvbnN0cmFpbnQgY2Fubm90IGJlIGRyb3BwZWQAREVMRVRFIEZST00gJVEuc3FsaXRlX21hc3RlciBXSEVSRSBuYW1lPSVRIEFORCB0eXBlPSdpbmRleCcALSVUAGZhc3QAbm9ybWFsAGV4Y2x1c2l2ZQACAAEAXQABBBIBAABEAAIAXgAHAG5vdCBhIHdyaXRhYmxlIGRpcmVjdG9yeQBTYWZldHkgbGV2ZWwgbWF5IG5vdCBiZSBjaGFuZ2VkIGluc2lkZSBhIHRyYW5zYWN0aW9uAGlzc2lzaWkAaXNzaXNpAGlpc1gAaXNpWABjAHUAABuHAAAdhwAABDcAAGlzaXNpAGlzcwBpcwBzAGlpc3Nzc3NzAE5PTkUAc2lYACoqKiBpbiBkYXRhYmFzZSAlcyAqKioKAE5VTEwgdmFsdWUgaW4gJXMuJXMAQ0hFQ0sgY29uc3RyYWludCBmYWlsZWQgaW4gJXMAcm93IAAgbWlzc2luZyBmcm9tIGluZGV4IABub24tdW5pcXVlIGVudHJ5IGluIGluZGV4IAB3cm9uZyAjIG9mIGVudHJpZXMgaW4gaW5kZXggAAAAAAAAAABSAQAAMQEEAHMAAwBQAwEARAAAAHMAAwALAAMAb2sAAFiIAAABAAAAXYgAAAEAAABjiAAAAgAAAGyIAAADAAAAdYgAAAIAAAB9iAAAAwAAAIWIAAAAAAAAjIgAAAAAAAAAAAAAAAAAAFVURjgAVVRGLTgAVVRGLTE2bGUAVVRGLTE2YmUAVVRGMTZsZQBVVEYxNmJlAFVURi0xNgBVVEYxNgB1bnN1cHBvcnRlZCBlbmNvZGluZzogJXMAAgABAF4AAAACAAAAXQABAFABAQBmdWxsAHJlc3RhcnQAQU5BTFlaRSAiJXciLiIldyIAbm9uZQBpbmNyZW1lbnRhbAB0ZW1wb3Jhcnkgc3RvcmFnZSBjYW5ub3QgYmUgY2hhbmdlZCBmcm9tIHdpdGhpbiBhIHRyYW5zYWN0aW9uAAAAAG9ub2ZmYWxzZXllc3RydWV4dHJhZnVsbAAAAQIECQwPFAICAwUDBAUEAQAAAAEBAwJ1dGY4AHV0ZjE2bGUAdXRmMTZiZQB3AGEAc2lzc2lpAFNFVCBOVUxMAFNFVCBERUZBVUxUAENBU0NBREUAUkVTVFJJQ1QATk8gQUNUSU9OACVfAABMSUtFIG9yIEdMT0IgcGF0dGVybiB0b28gY29tcGxleABFU0NBUEUgZXhwcmVzc2lvbiBtdXN0IGJlIGEgc2luZ2xlIGNoYXJhY3RlcgBJTlNFUlQgSU5UTyAlUS5zcWxpdGVfbWFzdGVyIFZBTFVFUygndHJpZ2dlcicsJVEsJVEsMCwnQ1JFQVRFIFRSSUdHRVIgJXEnKQB0eXBlPSd0cmlnZ2VyJyBBTkQgbmFtZT0nJXEnAHRlbXBvcmFyeSB0cmlnZ2VyIG1heSBub3QgaGF2ZSBxdWFsaWZpZWQgbmFtZQBjYW5ub3QgY3JlYXRlIHRyaWdnZXJzIG9uIHZpcnR1YWwgdGFibGVzAHRyaWdnZXIgJVQgYWxyZWFkeSBleGlzdHMAY2Fubm90IGNyZWF0ZSB0cmlnZ2VyIG9uIHN5c3RlbSB0YWJsZQBjYW5ub3QgY3JlYXRlICVzIHRyaWdnZXIgb24gdmlldzogJVMAQkVGT1JFAEFGVEVSAGNhbm5vdCBjcmVhdGUgSU5TVEVBRCBPRiB0cmlnZ2VyIG9uIHRhYmxlOiAlUwBubyBzdWNoIHRyaWdnZXI6ICVTAAAAAwAAAAEAAAAAAAAAAAAAAOcAAAAAAAAAAAAAAAAAAACgiwAAAAAAAHNxbGl0ZV9hdHRhY2gAdG9vIG1hbnkgYXR0YWNoZWQgZGF0YWJhc2VzIC0gbWF4ICVkAGRhdGFiYXNlICVzIGlzIGFscmVhZHkgaW4gdXNlAGRhdGFiYXNlIGlzIGFscmVhZHkgYXR0YWNoZWQAdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2U6ICVzAGZpbGU6AGxvY2FsaG9zdABpbnZhbGlkIHVyaSBhdXRob3JpdHk6ICUuKnMAdmZzAGNhY2hlAHNoYXJlZABwcml2YXRlAHJvAHJ3AHJ3YwBubyBzdWNoICVzIG1vZGU6ICVzACVzIG1vZGUgbm90IGFsbG93ZWQ6ICVzAG5vIHN1Y2ggdmZzOiAlcwAAAAABAAAAAQAAAAAAAAAAAAAA6AAAAAAAAAAAAAAAAAAAAOCMAAAAAAAAc3FsaXRlX2RldGFjaABubyBzdWNoIGRhdGFiYXNlOiAlcwBjYW5ub3QgZGV0YWNoIGRhdGFiYXNlICVzAGRhdGFiYXNlICVzIGlzIGxvY2tlZAB1bmFibGUgdG8gaWRlbnRpZnkgdGhlIG9iamVjdCB0byBiZSByZWluZGV4ZWQAAAAAAAAAAAAAAAAAAAAAMiIAAIiNAACVjQAAAAAAAKKNAAAAAAAAdGJsLGlkeCxzdGF0AHNxbGl0ZV9zdGF0NABzcWxpdGVfc3RhdDMAQ1JFQVRFIFRBQkxFICVRLiVzKCVzKQBzcWxpdGVcXyUABAAAAAEAAAAAAAAAAAAAAOkAAAAAAAAAAAAAAAAAAAAkjgAAAAAAAAIAAAABAAAAAAAAAAAAAADqAAAAAAAAAAAAAAAAAAAALo4AAAAAAABCQkIAc3RhdF9pbml0AHN0YXRfcHVzaAABAAAAAQAAAAAAAAAAAAAA6wAAAAAAAAAAAAAAAAAAAGCOAAAAAAAAc3RhdF9nZXQAJWxsdQAgJWxsdQB0aGVyZSBpcyBhbHJlYWR5IGFub3RoZXIgdGFibGUgb3IgaW5kZXggd2l0aCB0aGlzIG5hbWU6ICVzAHZpZXcgJXMgbWF5IG5vdCBiZSBhbHRlcmVkAFVQREFURSAiJXciLnNxbGl0ZV9tYXN0ZXIgU0VUIHNxbCA9IHNxbGl0ZV9yZW5hbWVfdGFibGUoJVEsIHR5cGUsIG5hbWUsIHNxbCwgJVEsICVRLCAlZCkgV0hFUkUgKHR5cGUhPSdpbmRleCcgT1IgdGJsX25hbWU9JVEgQ09MTEFURSBub2Nhc2UpQU5EICAgbmFtZSBOT1QgTElLRSAnc3FsaXRlWF8lJScgRVNDQVBFICdYJwBVUERBVEUgJVEuc3FsaXRlX21hc3RlciBTRVQgdGJsX25hbWUgPSAlUSwgbmFtZSA9IENBU0UgV0hFTiB0eXBlPSd0YWJsZScgVEhFTiAlUSBXSEVOIG5hbWUgTElLRSAnc3FsaXRlWF9hdXRvaW5kZXglJScgRVNDQVBFICdYJyAgICAgIEFORCB0eXBlPSdpbmRleCcgVEhFTiAnc3FsaXRlX2F1dG9pbmRleF8nIHx8ICVRIHx8IHN1YnN0cihuYW1lLCVkKzE4KSBFTFNFIG5hbWUgRU5EIFdIRVJFIHRibF9uYW1lPSVRIENPTExBVEUgbm9jYXNlIEFORCAodHlwZT0ndGFibGUnIE9SIHR5cGU9J2luZGV4JyBPUiB0eXBlPSd0cmlnZ2VyJyk7AFVQREFURSAiJXciLnNxbGl0ZV9zZXF1ZW5jZSBzZXQgbmFtZSA9ICVRIFdIRVJFIG5hbWUgPSAlUQBVUERBVEUgc3FsaXRlX3RlbXBfc2NoZW1hIFNFVCBzcWwgPSBzcWxpdGVfcmVuYW1lX3RhYmxlKCVRLCB0eXBlLCBuYW1lLCBzcWwsICVRLCAlUSwgMSksIHRibF9uYW1lID0gQ0FTRSBXSEVOIHRibF9uYW1lPSVRIENPTExBVEUgbm9jYXNlIEFORCAgICAgICAgICAgc3FsaXRlX3JlbmFtZV90ZXN0KCVRLCBzcWwsIHR5cGUsIG5hbWUsIDEpIFRIRU4gJVEgRUxTRSB0YmxfbmFtZSBFTkQgV0hFUkUgdHlwZSBJTiAoJ3ZpZXcnLCAndHJpZ2dlcicpAHRhYmxlICVzIG1heSBub3QgYmUgYWx0ZXJlZABTRUxFQ1QgMSBGUk9NICIldyIuc3FsaXRlX21hc3RlciBXSEVSRSBuYW1lIE5PVCBMSUtFICdzcWxpdGVYXyUlJyBFU0NBUEUgJ1gnIEFORCBzcWwgTk9UIExJS0UgJ2NyZWF0ZSB2aXJ0dWFsJSUnIEFORCBzcWxpdGVfcmVuYW1lX3Rlc3QoJVEsIHNxbCwgdHlwZSwgbmFtZSwgJWQpPU5VTEwgAFNFTEVDVCAxIEZST00gdGVtcC5zcWxpdGVfbWFzdGVyIFdIRVJFIG5hbWUgTk9UIExJS0UgJ3NxbGl0ZVhfJSUnIEVTQ0FQRSAnWCcgQU5EIHNxbCBOT1QgTElLRSAnY3JlYXRlIHZpcnR1YWwlJScgQU5EIHNxbGl0ZV9yZW5hbWVfdGVzdCglUSwgc3FsLCB0eXBlLCBuYW1lLCAxKT1OVUxMIABDYW5ub3QgYWRkIGEgUFJJTUFSWSBLRVkgY29sdW1uAENhbm5vdCBhZGQgYSBVTklRVUUgY29sdW1uAENhbm5vdCBhZGQgYSBSRUZFUkVOQ0VTIGNvbHVtbiB3aXRoIG5vbi1OVUxMIGRlZmF1bHQgdmFsdWUAQ2Fubm90IGFkZCBhIE5PVCBOVUxMIGNvbHVtbiB3aXRoIGRlZmF1bHQgdmFsdWUgTlVMTABDYW5ub3QgYWRkIGEgY29sdW1uIHdpdGggbm9uLWNvbnN0YW50IGRlZmF1bHQAY2Fubm90IGFkZCBhIFNUT1JFRCBjb2x1bW4AVVBEQVRFICIldyIuc3FsaXRlX21hc3RlciBTRVQgc3FsID0gc3Vic3RyKHNxbCwxLCVkKSB8fCAnLCAnIHx8ICVRIHx8IHN1YnN0cihzcWwsJWQpIFdIRVJFIHR5cGUgPSAndGFibGUnIEFORCBuYW1lID0gJVEAU0VMRUNUIHJhaXNlKEFCT1JULCVRKSBGUk9NICIldyIuIiV3IgB2aXJ0dWFsIHRhYmxlcyBtYXkgbm90IGJlIGFsdGVyZWQAQ2Fubm90IGFkZCBhIGNvbHVtbiB0byBhIHZpZXcAc3FsaXRlX2FsdGVydGFiXyVzAFVQREFURSAiJXciLnNxbGl0ZV9tYXN0ZXIgU0VUIHNxbCA9IHNxbGl0ZV9yZW5hbWVfY29sdW1uKHNxbCwgdHlwZSwgbmFtZSwgJVEsICVRLCAlZCwgJVEsICVkLCAlZCkgV0hFUkUgbmFtZSBOT1QgTElLRSAnc3FsaXRlWF8lJScgRVNDQVBFICdYJyAgQU5EICh0eXBlICE9ICdpbmRleCcgT1IgdGJsX25hbWUgPSAlUSkgQU5EIHNxbCBOT1QgTElLRSAnY3JlYXRlIHZpcnR1YWwlJScAVVBEQVRFIHRlbXAuc3FsaXRlX21hc3RlciBTRVQgc3FsID0gc3FsaXRlX3JlbmFtZV9jb2x1bW4oc3FsLCB0eXBlLCBuYW1lLCAlUSwgJVEsICVkLCAlUSwgJWQsIDEpIFdIRVJFIHR5cGUgSU4gKCd0cmlnZ2VyJywgJ3ZpZXcnKQB2aXJ0dWFsIHRhYmxlAGNhbm5vdCByZW5hbWUgY29sdW1ucyBvZiAlcyAiJXMiAENSRUFURSBWSVJUVUFMIFRBQkxFICVUAFVQREFURSAlUS5zcWxpdGVfbWFzdGVyIFNFVCB0eXBlPSd0YWJsZScsIG5hbWU9JVEsIHRibF9uYW1lPSVRLCByb290cGFnZT0wLCBzcWw9JVEgV0hFUkUgcm93aWQ9IyVkAG5hbWU9JVEgQU5EIHNxbD0lUQBkdXBsaWNhdGUgV0lUSCB0YWJsZSBuYW1lOiAlcwBQQVJUSVRJT04gY2xhdXNlAE9SREVSIEJZIGNsYXVzZQBmcmFtZSBzcGVjaWZpY2F0aW9uAGNhbm5vdCBvdmVycmlkZSAlcyBvZiB3aW5kb3c6ICVzAHVuc3VwcG9ydGVkIGZyYW1lIHNwZWNpZmljYXRpb24AAAAAAAAAAAAA6gGG/yEChQKKAoj/Q/9F/0j/Sv9O/1D/LQAeAMgABf96/4YBiAEJAgsC1QC0AjUDHAFNAmgDmgKfAmIDRwBvABEBhQGuAi8DiAOkA7QDuwPEA8kD/f79/v3+/f79/v3+/f79/v3+/f79/v3+/f79/v3+/f79/v3+/f79/v3+/f79/v3+/f79/v3+/f79/v3+/f79/v3+/f79/v3+rAGuAYMD2QP9AwQEIQQtBDkEVARWBFsEXQRjBH0EggSHBJIElgSaBJ8EqgSuBLQEuAS8BMIExgTNBP4EAAUDBQUFIQUkBSgFKgUtBS8FMgVWBVsFYwVrBYkFkQWWBZgF/f79/v3+/f79/v3+/f79/v3+LQLOAyr/Uv/3/68BhP8mA50DJgOdA/sAoAOsA/3+/f79/v3+Ov86/zr/fwBG/1j/1ACGAmkCHwP6/isC3ADcAOsBXQIQBCQEuwL1/1gCUANeA1kBf//UAqX/ngDtAswChAMwATYDoQOeA/MBGQNCAXwDLQNNA74DIATvAokDbQQmBCMDLv9H/03/bP9Z/6f/eQASARkBQAFQAbcBlwLHAr0DxQMoBCwEWARcBDz/ZwRuBJwEoASrBK8EswS/BMcE4gTzBAYFzQCmAX4CLAU9BVQFVQW9BHAFdwV7BWUD7AR9BY0F/ASQBXkAkgWTBZQFmQWcBZ0FywQ6BQQFTwVaBWEFbAW9BAQFBAVpBZ4FowVFBXgFbwVyBVAFgAWCBVcFnwWgBZsFogWmBacFdQWFBYoFbgWkBaUFwgVlBccFyAV5BXoF0gWGBakFrAWtBbsFsAW9Bb4FxQXGBesF7gXEBcoFqgWuBdQFywXVBcwF8wX7BbEFrwX8Bf4F7AUBBgQGBwYFBvYF+AX6BQYG6AX5Bf0FCAYJBgsGDgYNBg8GEgayBRAG1gXXBRQG2gXeBd8F5wXtBe8F8gX0BSsGwAXBBfcFEwYVBhcGFgY1BhgGGQYcBh4GIAY4BjsGRQZGBkwGTQZWBhoGGwbhBUkGRAZIBk4GTwZQBjwGPQZRBlQGWQZTBmluY29tcGxldGUgaW5wdXQAaW1wbGllc19ub25udWxsX3JvdwBleHByX2NvbXBhcmUAZXhwcl9pbXBsaWVzX2V4cHIAc3FsaXRlX2NvbXBpbGVvcHRpb25fdXNlZABzcWxpdGVfY29tcGlsZW9wdGlvbl9nZXQAdW5saWtlbHkAbGlrZWxpaG9vZABsaWtlbHkAbHRyaW0AcnRyaW0AdHJpbQB0eXBlb2YAbGVuZ3RoAGluc3RyAHByaW50ZgB1bmljb2RlAGNoYXIAYWJzAHJvdW5kAHVwcGVyAGxvd2VyAGhleABpZm51bGwAcmFuZG9tAHJhbmRvbWJsb2IAbnVsbGlmAHNxbGl0ZV92ZXJzaW9uAHNxbGl0ZV9zb3VyY2VfaWQAc3FsaXRlX2xvZwBxdW90ZQBsYXN0X2luc2VydF9yb3dpZABjaGFuZ2VzAHRvdGFsX2NoYW5nZXMAcmVwbGFjZQB6ZXJvYmxvYgBzdWJzdHIAc3Vic3RyaW5nAHN1bQB0b3RhbABhdmcAY291bnQAZ3JvdXBfY29uY2F0AGNvYWxlc2NlAGlpZgABAIWCAAB0ZXh0AGJsb2IAaW50ZWdlciBvdmVyZmxvdwAlLipmAAAAAAAAAAAAAAAAADAxMjM0NTY3ODlBQkNERUYlIS4yMGUAc3FsaXRlX3JlbmFtZV9jb2x1bW4Ac3FsaXRlX3JlbmFtZV90YWJsZQBzcWxpdGVfcmVuYW1lX3Rlc3QAIiV3IgBlcnJvciBpbiAlcyAlcyVzOiAlcwAgYWZ0ZXIgcmVuYW1lAGxhc3RfdmFsdWUAYXJndW1lbnQgb2YgbnRpbGUgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIAanVsaWFuZGF5AGRhdGUAdGltZQBkYXRldGltZQBzdHJmdGltZQBjdXJyZW50X3RpbWUAY3VycmVudF90aW1lc3RhbXAAY3VycmVudF9kYXRlAG5vdwA0MGYtMjFhLTIxZAAADAAOABgAHwA7AA8nMjBjOjIwZQAyMGUAMjBiOjIwZQBhIENIRUNLIGNvbnN0cmFpbnQAYSBnZW5lcmF0ZWQgY29sdW1uAGFuIGluZGV4AG5vbi1kZXRlcm1pbmlzdGljIHVzZSBvZiAlcygpIGluICVzAGxvY2FsdGltZQB1bml4ZXBvY2gAdXRjAHdlZWtkYXkgAHN0YXJ0IG9mIABtb250aAB5ZWFyAGRheQAAAAAAAAAAAAAAAAAAAAYAAFefAAAAALDqJQZbQgAAAAAAQI9AAAYAAF6fAAAAAAClW9P8QQAAAAAATO1AAAQAAGWfAAAAAACwUL+eQQAAAABAd0tBAAMAAJ+eAAAAAABAi39UQQAAAABwmZRBAQUAAJSeAAAAAAAAEI0FQQAAAADZT+NBAgQAAJqeAAAAAAAAgLzMQAAAALDEXh1CbG9jYWwgdGltZSB1bmF2YWlsYWJsZQBzZWNvbmQAbWludXRlAGhvdXIAJTA0ZC0lMDJkLSUwMmQAJTAyZDolMDJkOiUwMmQAJTA0ZC0lMDJkLSUwMmQgJTAyZDolMDJkOiUwMmQAJTAyZAAlMDYuM2YAJTAzZAAlMDRkADoBAAA7AQAAPAEAAD0BAAA+AQAAPwEAAEABAAAAAAAAZmFpbGVkIHRvIGFsbG9jYXRlICV1IGJ5dGVzIG9mIG1lbW9yeQBmYWlsZWQgbWVtb3J5IHJlc2l6ZSAldSB0byAldSBieXRlcwAAAAEAAAAAAAAAQQEAAEIBAABDAQAARAEAAEUBAABGAQAARwEAAEgBAABJAQAASgEAAEsBAAB1bmFibGUgdG8gY2xvc2UgZHVlIHRvIHVuZmluYWxpemVkIHN0YXRlbWVudHMgb3IgdW5maW5pc2hlZCBiYWNrdXBzABShAAAhoQAAAAAAADGhAABKoQAAWKEAAGuhAAAlIAAAhKEAAKmhAAC1oQAAxKEAAOWhAAD3oQAAEKIAAC2iAAAAAAAAKB8AAOAGAAA+ogAAUKIAAGKiAACEogAAo6IAAAAAAAC4ogAA0qIAAOmiAAD+ogAAbm90IGFuIGVycm9yAFNRTCBsb2dpYyBlcnJvcgBhY2Nlc3MgcGVybWlzc2lvbiBkZW5pZWQAcXVlcnkgYWJvcnRlZABkYXRhYmFzZSBpcyBsb2NrZWQAZGF0YWJhc2UgdGFibGUgaXMgbG9ja2VkAGF0dGVtcHQgdG8gd3JpdGUgYSByZWFkb25seSBkYXRhYmFzZQBpbnRlcnJ1cHRlZABkaXNrIEkvTyBlcnJvcgBkYXRhYmFzZSBkaXNrIGltYWdlIGlzIG1hbGZvcm1lZAB1bmtub3duIG9wZXJhdGlvbgBkYXRhYmFzZSBvciBkaXNrIGlzIGZ1bGwAdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgZmlsZQBsb2NraW5nIHByb3RvY29sAGNvbnN0cmFpbnQgZmFpbGVkAGRhdGF0eXBlIG1pc21hdGNoAGJhZCBwYXJhbWV0ZXIgb3Igb3RoZXIgQVBJIG1pc3VzZQBsYXJnZSBmaWxlIHN1cHBvcnQgaXMgZGlzYWJsZWQAYXV0aG9yaXphdGlvbiBkZW5pZWQAY29sdW1uIGluZGV4IG91dCBvZiByYW5nZQBmaWxlIGlzIG5vdCBhIGRhdGFiYXNlAG5vdGlmaWNhdGlvbiBtZXNzYWdlAHdhcm5pbmcgbWVzc2FnZQB1bmtub3duIGVycm9yAGFib3J0IGR1ZSB0byBST0xMQkFDSwBhbm90aGVyIHJvdyBhdmFpbGFibGUAbm8gbW9yZSByb3dzIGF2YWlsYWJsZQB1bmFibGUgdG8gZGVsZXRlL21vZGlmeSB1c2VyLWZ1bmN0aW9uIGR1ZSB0byBhY3RpdmUgc3RhdGVtZW50cwB1bmFibGUgdG8gdXNlIGZ1bmN0aW9uICVzIGluIHRoZSByZXF1ZXN0ZWQgY29udGV4dABpbnZhbGlkAFJUUklNAABMAQAATQEAAE4BAABPAQAAUAEAAE1BVENIAHNpbXBsZQBwb3J0ZXIAdW5pY29kZTYxAGZ0czNfdG9rZW5pemVyAHNuaXBwZXQAb2Zmc2V0cwBtYXRjaGluZm8AZnRzMwADAAAAUQEAAFIBAABTAQAAVAEAAFUBAABWAQAAVwEAAFgBAABZAQAAWgEAAFsBAABcAQAAXQEAAF4BAABfAQAAYAEAAGEBAABiAQAAYwEAAGQBAABlAQAAZgEAAGcBAABmdHM0AAAAAAAAAABoAQAAaQEAAGoBAABrAQAAbAEAAAAAAAByZW1vdmVfZGlhY3JpdGljcz0xAHJlbW92ZV9kaWFjcml0aWNzPTAAcmVtb3ZlX2RpYWNyaXRpY3M9MgB0b2tlbmNoYXJzPQBzZXBhcmF0b3JzPQAAAAAAAAAAADAAAAAH6AAABmwBAC/sAQAHrAIAAdACAAPYAgAB7AIAAfwCAAFcAwAB3AMABAgLAA5ICwAHlAsAAbQLAIG8CwAB1A0AAfgNAAIQDgABHA4AAdgPAAgIEgAGaBUAAiQWAAE8FgA3RBYAAswXAAUAGAAWGBgAAngYABUsGQAEqBkAAcAZAAFQGwAPWBsAB5wbAAL0GwAOABwAATwcAAFEHAAbwBwAC5geAAmsHwAE2B8ABFggAAlsIAADlCAABaQgAA/AIAADZCEAAXghABuQIwAEACQAA+gkABL4JAAHRCUABIglAAHAJQADBCYAAfAmAAf4JgACHCcAAywnAAFcJwACiCcAAsgnAALoJwADBCgAAfAoAAX4KAACHCkAAywpAAFEKQACwCkAAdQpAAMEKgAB8CoACPgqAAMcKwADLCsAAogrAALAKwADBCwAAfAsAAf4LAACHC0AAywtAAJYLQACiC0AAcAtAAEILgAF+C4AAxgvAAQoLwABXC8ACMwvAAMEMAAH+DAAAxgxAAQoMQACVDEAAogxAAH8MQACCDIAAfAyAAf4MgADGDMABCgzAAJUMwACiDMAAgg0AAf4NAADGDUABCg1AAFcNQACiDUAAeQ1AAIINgABKDcABjw3AAFYNwAIYDcAA8g3AAHEOAAH0DgAAfw4AAkcOQACaDkAAcQ6AAbQOgAC7DoABiA7AB8EPAAM0DwAF8Q9AAs0PgAkZD4AD/g+AA04PwAUrEAABihBAARYQQADeEEAA4hBAAecQQAExEEADAhCAAE8QgAGaEIAAexDAAx0TQAKQE4AAQBQAAK0WQABAFoAAmxaAAOsWwADSFwABchcAAJIXQACyF0AI9BeAARgXwABdF8ADwBgAAGkYgAMgGQADMBkAAEAZQACEGUAEcBmAAIgZwAieGcABVxoAAJ4aAAKVGkAHYBpAAH8aQAHgGoABqBqAAUAbAAR0GwAI2htAAMAbgANhG4ADphvAATwbwAUkHAABexwAAL4cQAIAHMAGUBzAAG0cwADyHMAJwB3AATwdwAB9H4AA/x+AAM0fwADdH8AA7R/AAL0fwBlAIAABqiBAAXogQAFKIIAGoCCACFAgwACAIQABAyEAAIghAABUIQAA1iEAAZ4hAABlIQAAZyEAAGkhAABuIQAAuiEAAUAhQAEKIUAATyFAGRChgAnAJAACwCRAE5wkgAAApQAdQScALlTngAKQK0ABpSzAAO8swAE5LMAAvizAAHAtQAB/LUAT4C3AAzAuAAaALoAWWy6ANYAvAAMwL8ABQDAABkgwAAHqMAAAtjAAAP0wAAEZMIAAYDCAAHswwACQMYACljGACQAxwAfAMgAHqjIAAFAyQAggMkAJyjKAD8AywAAAcwAQAA3ATdAkgIC+JMCAzSYAhC8mQIBfJoCCMCbAhcAnAICgJwCAiSeAgEIoAIBGKACASygAgmMoAIE2KACBNChAgIAogIR0KICAjijAhKAowID4KMCCpikAg0cpQIBfKUCBACmAhvMpgICeKcCDqSoAgEMqQICMKkCBHCpAgPcqQIB7KkCAcCqAgPIqgIC3KoCAviqAgEEqwICeKsCB6yrAgLUqwILjK8CAQBgAwL8bQMC/G8DAfx/AwF47AMBpOwDEMjuAwL49AMC8PcDGgD4AweA+AMjwPgDE1D5AwSg+QMB/PsDDwT8Awdo/AMG7PwDC2z9AweA/wMHoP8DBeT/AwMABAQJ3AQEEeQFBAxABgQuQAcEAXwOBAFADwQBXCEEAXwkBAH8JAQDBCgEAhQoBAQwKAQD4CgEAfwoBAlAKQQB/CkEB+QsBAMAQAQW4EAEAwBCBBLAQgQDAEQEDpxEBAQARQQDAEYEDsxGBAQURwQNrFoEBMCRBC5EvQUEPL4F9gBABycARAe1pEQHRgBIB1cATAcBBFsHAWxbBwHsWwcBVFwHAdRcBwE8XQcBvF0HASReBwGkXgcBDF8HAsC7BywAwAdkwMAHD4DCBw7EwgcPBMMHD0TDBx9AxAc8wMQHK8DFBx2YxwcrQMgHCQDJBwJAyQchAMwHBsDMB0bczAcUAM4HJYDOBwUYzwcRgM8HPwDQBwEA0Qe2CNEHBOTTBz4A1AcEANUHGEDVB0bs1wcLFNkHRgDaB3QA3AcBBAA4YIAAOPAABDgAAAAAAAAAAP///////wD8AQAA+AEAAPhBAA4atQBAAcAADhfYAA4HAAEBMDIBAQY5AQEQSgEBLngBdAF5AQEGfwFoAYEBMgGCAQEEhgEsAYcBAAGJASoCiwEAAY4BIAGPASYBkAEoAZEBAAGTASoBlAEuAZYBNAGXATABmAEAAZwBNAGdATYBnwE4AaABAQamATwBpwEAAakBPAGsAQABrgE8Aa8BAAGxAToCswEBBLcBPgG4AQABvAEAAcQBAgHFAQABxwECAcgBAAHKAQIBywEBEt4BARLxAQIB8gEBBPYBegH3AYYB+AEBKCACbgEiAgESOgJGATsCAAE9AmwBPgJEAUECAAFDAmoBRAIcAUUCHgFGAgEKRQMkAXADAQR2AwABhgMSAYgDEAOMAxoBjgMYApEDDhGjAw4JwgMAAc8DBAHQA4wB0QOOAdUDkgHWA5AB2AMBGPADiAHxA4oB9AOCAfUDgAH3AwAB+QOYAfoDAAH9A24DAAQiEBAEDiBgBAEiigQBNsAEBgHBBAEO0AQBWDEFFiagEEImxxBCAc0QQgEAHgGWmx6EAZ4eYAGgHgFgCB+WCBgflgYoH5YIOB+WCEgflgZZH5cIaB+WCIgflgiYH5YIqB+WCLgflgK6H34CvB+UAb4fZAHIH3wEzB+UAdgflgLaH3gC6B+WAuofdgLsH5gB+B9wAvofcgL8H5QBJiFiASohXAErIV4BMiEMAWAhCBCDIQABtiQKGgAsFi9gLAABYixYAWMsZgFkLFoBZywBBm0sVAFuLFYBbyxQAXAsUgFyLAABdSwAAX4sTgKALAFk6ywBBPIsAAFApgEugKYBGCKnAQ4ypwE+eacBBH2nTAF+pwEKi6cAAY2nSgGQpwEEoKcBCqqnSAEh/w4aAAAAAAEAAgAIAA8AEAAaABwAIAAlACYAKAAwAD8AQABFAEcATwBQAHQAygDLAM0AzgDPANEA0gDTANUA1gDZANoA2wAHA2AcKCorKrxa2Fr8dcHV4dXi1eTVA9YJ1hnWQd+630Hio+L74xrx9P49/13/fv+A/4L/h/+Q/5z/n/+q/7b/wP/E/8b/yP/K/9D/4v/n/+r/8f/3//j/+f8AAAAAAAAAAAUHOAdDB2MHiAeUB8sH6Af4BwwIPgh4CJ4I2AjuCCgJTwmoCbgJ1AkkCmwKrAreChoLTguKC6gLuAvUCwgNgA1wDoAOkA6gDrYO+A44D0gPWA9oD4APqA/ID9gPChAqEEoQahCKEKoQyBDYEPgQOBFIEVoReBGIEZgRBBg2GHgYiBjYGB0ZaRmBGQjwHPBI8F7wmPCq8Mrw6PD48AjxHvFY8WjxePGM8bjxyPHa8fzxLvJu8qryyvLo8vjyCvMs817znPPK8+rzDvRI9Fr0ePSM9LD0uPTA9Mj0CvUu9W71qvXM9f71OPZK9mr2jvbO9gr3KvdO94j3nvcAAAAAAGFjZWlub3V5eWFjZGVlZ2hpamtsbm9yc3R1dXd5em91YWlvdfXhZ2tv72pnbuFhZWlvcnVzdGhhZe9v73kAAAAAAAAAAGFi42Rk5WXlZmdoaGnpa2zsbG1u73By8nJz83R19XZ3d3h5emh0d3lh4eHhZeXlaW/v7+919fV5AAAAAAAAbQEAAG0BAABuAQAAbwEAAG8BAABwAQAAcQEAAHIBAABzAQAAdAEAAHUBAAB2AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmdHM0YXV4AENSRUFURSBUQUJMRSB4KHRlcm0sIGNvbCwgZG9jdW1lbnRzLCBvY2N1cnJlbmNlcywgbGFuZ3VhZ2VpZCBISURERU4pAGludmFsaWQgYXJndW1lbnRzIHRvIGZ0czRhdXggY29uc3RydWN0b3IAREVMRVRFIEZST00gJVEuJyVxX2NvbnRlbnQnIFdIRVJFIHJvd2lkID0gPwBTRUxFQ1QgTk9UIEVYSVNUUyhTRUxFQ1QgZG9jaWQgRlJPTSAlUS4nJXFfY29udGVudCcgV0hFUkUgcm93aWQhPT8pAERFTEVURSBGUk9NICVRLiclcV9jb250ZW50JwBERUxFVEUgRlJPTSAlUS4nJXFfc2VnbWVudHMnAERFTEVURSBGUk9NICVRLiclcV9zZWdkaXInAERFTEVURSBGUk9NICVRLiclcV9kb2NzaXplJwBERUxFVEUgRlJPTSAlUS4nJXFfc3RhdCcAU0VMRUNUICVzIFdIRVJFIHJvd2lkPT8AU0VMRUNUIChTRUxFQ1QgbWF4KGlkeCkgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8pICsgMQBSRVBMQUNFIElOVE8gJVEuJyVxX3NlZ21lbnRzJyhibG9ja2lkLCBibG9jaykgVkFMVUVTKD8sID8pAFNFTEVDVCBjb2FsZXNjZSgoU0VMRUNUIG1heChibG9ja2lkKSBGUk9NICVRLiclcV9zZWdtZW50cycpICsgMSwgMSkAUkVQTEFDRSBJTlRPICVRLiclcV9zZWdkaXInIFZBTFVFUyg/LD8sPyw/LD8sPykAU0VMRUNUIGlkeCwgc3RhcnRfYmxvY2ssIGxlYXZlc19lbmRfYmxvY2ssIGVuZF9ibG9jaywgcm9vdCBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPyBPUkRFUiBCWSBpZHggQVNDAFNFTEVDVCBpZHgsIHN0YXJ0X2Jsb2NrLCBsZWF2ZXNfZW5kX2Jsb2NrLCBlbmRfYmxvY2ssIHJvb3QgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCBCRVRXRUVOID8gQU5EID9PUkRFUiBCWSBsZXZlbCBERVNDLCBpZHggQVNDAFNFTEVDVCBjb3VudCgqKSBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPwBTRUxFQ1QgbWF4KGxldmVsKSBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsIEJFVFdFRU4gPyBBTkQgPwBERUxFVEUgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8AREVMRVRFIEZST00gJVEuJyVxX3NlZ21lbnRzJyBXSEVSRSBibG9ja2lkIEJFVFdFRU4gPyBBTkQgPwBJTlNFUlQgSU5UTyAlUS4nJXFfY29udGVudCcgVkFMVUVTKCVzKQBERUxFVEUgRlJPTSAlUS4nJXFfZG9jc2l6ZScgV0hFUkUgZG9jaWQgPSA/AFJFUExBQ0UgSU5UTyAlUS4nJXFfZG9jc2l6ZScgVkFMVUVTKD8sPykAU0VMRUNUIHNpemUgRlJPTSAlUS4nJXFfZG9jc2l6ZScgV0hFUkUgZG9jaWQ9PwBTRUxFQ1QgdmFsdWUgRlJPTSAlUS4nJXFfc3RhdCcgV0hFUkUgaWQ9PwBSRVBMQUNFIElOVE8gJVEuJyVxX3N0YXQnIFZBTFVFUyg/LD8pAERFTEVURSBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsIEJFVFdFRU4gPyBBTkQgPwBTRUxFQ1QgPyBVTklPTiBTRUxFQ1QgbGV2ZWwgLyAoMTAyNCAqID8pIEZST00gJVEuJyVxX3NlZ2RpcicAU0VMRUNUIGxldmVsLCBjb3VudCgqKSBBUyBjbnQgRlJPTSAlUS4nJXFfc2VnZGlyJyAgIEdST1VQIEJZIGxldmVsIEhBVklORyBjbnQ+PT8gIE9SREVSIEJZIChsZXZlbCAlJSAxMDI0KSBBU0MsIDIgREVTQyBMSU1JVCAxAFNFTEVDVCAyICogdG90YWwoMSArIGxlYXZlc19lbmRfYmxvY2sgLSBzdGFydF9ibG9jaykgICBGUk9NIChTRUxFQ1QgKiBGUk9NICVRLiclcV9zZWdkaXInICAgICAgICAgV0hFUkUgbGV2ZWwgPSA/IE9SREVSIEJZIGlkeCBBU0MgTElNSVQgPyAgKQBERUxFVEUgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8gQU5EIGlkeCA9ID8AVVBEQVRFICVRLiclcV9zZWdkaXInIFNFVCBpZHggPSA/IFdIRVJFIGxldmVsPT8gQU5EIGlkeD0/AFNFTEVDVCBpZHgsIHN0YXJ0X2Jsb2NrLCBsZWF2ZXNfZW5kX2Jsb2NrLCBlbmRfYmxvY2ssIHJvb3QgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8gQU5EIGlkeCA9ID8AVVBEQVRFICVRLiclcV9zZWdkaXInIFNFVCBzdGFydF9ibG9jayA9ID8sIHJvb3QgPSA/V0hFUkUgbGV2ZWwgPSA/IEFORCBpZHggPSA/AFNFTEVDVCAxIEZST00gJVEuJyVxX3NlZ21lbnRzJyBXSEVSRSBibG9ja2lkPT8gQU5EIGJsb2NrIElTIE5VTEwAU0VMRUNUIGlkeCBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsPT8gT1JERVIgQlkgMSBBU0MAU0VMRUNUIG1heCggbGV2ZWwgJSUgMTAyNCApIEZST00gJVEuJyVxX3NlZ2RpcicAU0VMRUNUIGxldmVsLCBpZHgsIGVuZF9ibG9jayBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsIEJFVFdFRU4gPyBBTkQgPyBPUkRFUiBCWSBsZXZlbCBERVNDLCBpZHggQVNDAFVQREFURSBPUiBGQUlMICVRLiclcV9zZWdkaXInIFNFVCBsZXZlbD0tMSxpZHg9PyBXSEVSRSBsZXZlbD0/IEFORCBpZHg9PwBVUERBVEUgT1IgRkFJTCAlUS4nJXFfc2VnZGlyJyBTRVQgbGV2ZWw9PyBXSEVSRSBsZXZlbD0tMQAAAAAAAAAWsQAAQrEAAIaxAACisQAAv7EAANqxAAD2sQAAD7IAACeyAABosgAAo7IAAOeyAAAXswAAh7MAAA60AABCtAAAhLQAAK+0AADqtAAAEbUAAD21AABmtQAAlbUAAL+1AABIBQAASAUAAOW1AAActgAAWbYAANi2AABmtwAAnbcAANe3AABCuAAAkbgAANK4AAAOuQAAPrkAAKi5AADxuQAAJXNfc2VnbWVudHMAYmxvY2sAAAAAAAAAdwEAAHgBAAB5AQAAegEAAHsBAAAAAAAAAAAAAHwBAAB9AQAAfgEAAH8BAACAAQAAAAAAAAAAAAABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAHNlc3MAc3MAc2VpAGkAZGVlAGVlAGduaQBkZQB0YQBhdGUAbGIAYmxlAHppAGl6ZQBsYW5vaXRhAGxhbm9pdAB0aW9uAGljbmUAZW5jZQBpY25hAGFuY2UAcmV6aQBpZ29sAGlsYgBpbGxhAGFsAGlsdG5lAGVudABpbGUAZQBpbHN1bwBvdXMAbm9pdGF6aQBub2l0YQByb3RhAG1zaWxhAHNzZW5ldmkAaXZlAHNzZW5sdWYAZnVsAHNzZW5zdW8AaXRpbGEAaXRpdmkAaXRpbGliAGV0YWNpAGljAGV2aXRhAGV6aWxhAGl0aWNpAGxhY2kAbHVmAHNzZW4AdG5lbWUAdG5lbQB0bmUAbm9pAGV0YQBpdGkAAAAAAAAAAAABAQEAAQEBAAEBAQEBAAEBAQEBAAEBAQIBYXJndW1lbnQgdHlwZSBtaXNtYXRjaABmdHMzdG9rZW5pemUgZGlzYWJsZWQAdW5rbm93biB0b2tlbml6ZXI6ICVzAHRva2VuaXplAHByZWZpeABjb21wcmVzcwB1bmNvbXByZXNzAG9yZGVyAGNvbnRlbnQAbGFuZ3VhZ2VpZABub3RpbmRleGVkAAAAAAAAAAAAAAAAMaQAAAkAAAD2vAAABgAAAP28AAAIAAAABr0AAAoAAAARvQAABQAAABe9AAAHAAAAH70AAAoAAAAqvQAACgAAAHVucmVjb2duaXplZCBtYXRjaGluZm86ICVzAGFzYwB1bnJlY29nbml6ZWQgb3JkZXI6ICVzAHVucmVjb2duaXplZCBwYXJhbWV0ZXI6ICVzAGVycm9yIHBhcnNpbmcgcHJlZml4IHBhcmFtZXRlcjogJXMAbWlzc2luZyAlcyBwYXJhbWV0ZXIgaW4gZnRzNCBjb25zdHJ1Y3RvcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAHVua25vd24gdG9rZW5pemVyAFNFTEVDVCAqIEZST00gJVEuJVEAZG9jaWQALCVzKHguJ2MlZCVxJykALCB4LiVRAGxhbmdpZAAsIHguJyVxJwAgRlJPTSAnJXEnLiclcSVzJyBBUyB4AF9jb250ZW50ACwlcyg/KQAsID8AZG9jaWQgSU5URUdFUiBQUklNQVJZIEtFWQAleiwgJ2MlZCVxJwAleiwgbGFuZ2lkAENSRUFURSBUQUJMRSAlUS4nJXFfY29udGVudCcoJXMpAENSRUFURSBUQUJMRSAlUS4nJXFfc2VnbWVudHMnKGJsb2NraWQgSU5URUdFUiBQUklNQVJZIEtFWSwgYmxvY2sgQkxPQik7AENSRUFURSBUQUJMRSAlUS4nJXFfc2VnZGlyJyhsZXZlbCBJTlRFR0VSLGlkeCBJTlRFR0VSLHN0YXJ0X2Jsb2NrIElOVEVHRVIsbGVhdmVzX2VuZF9ibG9jayBJTlRFR0VSLGVuZF9ibG9jayBJTlRFR0VSLHJvb3QgQkxPQixQUklNQVJZIEtFWShsZXZlbCwgaWR4KSk7AENSRUFURSBUQUJMRSAlUS4nJXFfZG9jc2l6ZScoZG9jaWQgSU5URUdFUiBQUklNQVJZIEtFWSwgc2l6ZSBCTE9CKTsAQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgJVEuJyVxX3N0YXQnKGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIHZhbHVlIEJMT0IpOwBQUkFHTUEgJVEucGFnZV9zaXplAF9fbGFuZ2lkACVRLCAAJXolUSwgAENSRUFURSBUQUJMRSB4KCVzICVRIEhJRERFTiwgZG9jaWQgSElEREVOLCAlUSBISURERU4pAERFU0MAQVNDAERST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9zZWdtZW50cyc7RFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX3NlZ2Rpcic7RFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX2RvY3NpemUnO0RST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9zdGF0JzslcyBEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfY29udGVudCc7AC0tAFNFTEVDVCAlcyBXSEVSRSByb3dpZCBCRVRXRUVOICVsbGQgQU5EICVsbGQgT1JERVIgQlkgcm93aWQgJXMAU0VMRUNUICVzIE9SREVSIEJZIHJvd2lkICVzAEZUUyBleHByZXNzaW9uIHRyZWUgaXMgdG9vIGxhcmdlIChtYXhpbXVtIGRlcHRoICVkKQBtYWxmb3JtZWQgTUFUQ0ggZXhwcmVzc2lvbjogWyVzXQAAAAAAAAAAAAAAAODCAAACAAQA48IAAAMBAwDnwgAAAwECAOvCAAAEAAEAT1IAQU5EAE5PVABORUFSAFNFTEVDVCAlcyBXSEVSRSByb3dpZCA9ID8AZnRzM2N1cnNvcgByZWJ1aWxkAGludGVncml0eS1jaGVjawBtZXJnZT0AYXV0b21lcmdlPQAlbGxkICVsbGQAU0VMRUNUICVzACVzX3N0YXQAAAAAAAAhpAAAgQEAACmkAACCAQAATjQAAIMBAAAxpAAAhAEAADxiPgA8L2I+ADxiPi4uLjwvYj4Ad3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBmdW5jdGlvbiBzbmlwcGV0KCkAaWxsZWdhbCBmaXJzdCBhcmd1bWVudCB0byAlcwAlZCAlZCAlZCAlZCAASW5kZXggb3B0aW1pemVkAEluZGV4IGFscmVhZHkgb3B0aW1hbABTQVZFUE9JTlQgZnRzMwBSRUxFQVNFIGZ0czMAUk9MTEJBQ0sgVE8gZnRzMwBwY3gAdW5yZWNvZ25pemVkIG1hdGNoaW5mbyByZXF1ZXN0OiAlYwBBTFRFUiBUQUJMRSAlUS4nJXFfY29udGVudCcgIFJFTkFNRSBUTyAnJXFfY29udGVudCc7AEFMVEVSIFRBQkxFICVRLiclcV9kb2NzaXplJyAgUkVOQU1FIFRPICclcV9kb2NzaXplJzsAQUxURVIgVEFCTEUgJVEuJyVxX3N0YXQnICBSRU5BTUUgVE8gJyVxX3N0YXQnOwBBTFRFUiBUQUJMRSAlUS4nJXFfc2VnbWVudHMnIFJFTkFNRSBUTyAnJXFfc2VnbWVudHMnOwBBTFRFUiBUQUJMRSAlUS4nJXFfc2VnZGlyJyAgIFJFTkFNRSBUTyAnJXFfc2VnZGlyJzsAZG9jc2l6ZQBzZWdkaXIAc2VnbWVudHMAAAAAAACFAQAAhQEAAIYBAACHAQAAhwEAAIgBAACJAQAAigEAAIsBAACMAQAAjQEAAI4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGZ0czN0b2tlbml6ZQBDUkVBVEUgVEFCTEUgeChpbnB1dCwgdG9rZW4sIHN0YXJ0LCBlbmQsIHBvc2l0aW9uKQADAAAAjwEAAJABAACRAQAAkgEAAJMBAACUAQAAlQEAAJYBAACXAQAAmAEAAJkBAACaAQAAmwEAAJwBAACdAQAAngEAAJ8BAACgAQAAoQEAAKIBAACjAQAApAEAAKUBAABmdHM1AGZ0czVfc291cmNlX2lkAHJhbmsAcmVzZXJ2ZWQgZnRzNSB0YWJsZSBuYW1lOiAlcwBwYXJzZSBlcnJvciBpbiAiJXMiACVRLiclcV8lcycAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAbWFsZm9ybWVkIHByZWZpeD0uLi4gZGlyZWN0aXZlAHRvbyBtYW55IHByZWZpeCBpbmRleGVzIChtYXggJWQpAHByZWZpeCBsZW5ndGggb3V0IG9mIHJhbmdlIChtYXggOTk5KQBtdWx0aXBsZSB0b2tlbml6ZT0uLi4gZGlyZWN0aXZlcwBwYXJzZSBlcnJvciBpbiB0b2tlbml6ZSBkaXJlY3RpdmUAbXVsdGlwbGUgY29udGVudD0uLi4gZGlyZWN0aXZlcwAlUS4lUQBjb250ZW50X3Jvd2lkAG11bHRpcGxlIGNvbnRlbnRfcm93aWQ9Li4uIGRpcmVjdGl2ZXMAY29sdW1uc2l6ZQBtYWxmb3JtZWQgY29sdW1uc2l6ZT0uLi4gZGlyZWN0aXZlAGNvbHVtbnMAAAAAAAAAAADeiAAAAQAAAL+IAAAAAAAAkMgAAAIAAAAAAAAAAAAAAG1hbGZvcm1lZCBkZXRhaWw9Li4uIGRpcmVjdGl2ZQB1bnJlY29nbml6ZWQgb3B0aW9uOiAiJS4qcyIAbm8gc3VjaCB0b2tlbml6ZXI6ICVzAGVycm9yIGluIHRva2VuaXplciBjb25zdHJ1Y3RvcgBjYXNlX3NlbnNpdGl2ZQByZXNlcnZlZCBmdHM1IGNvbHVtbiBuYW1lOiAlcwB1bmluZGV4ZWQAdW5yZWNvZ25pemVkIGNvbHVtbiBvcHRpb246ICVzAFQuJVEALCBULiVRACwgVC5jJWQAJXNfZGF0YQBkYXRhAGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIGJsb2NrIEJMT0IAc2VnaWQsIHRlcm0sIHBnbm8sIFBSSU1BUlkgS0VZKHNlZ2lkLCB0ZXJtKQBDUkVBVEUgVEFCTEUgJVEuJyVxXyVxJyglcyklcwAgV0lUSE9VVCBST1dJRABmdHM1OiBlcnJvciBjcmVhdGluZyBzaGFkb3cgdGFibGUgJXFfJXM6ICVzAFJFUExBQ0UgSU5UTyAnJXEnLiclcV9kYXRhJyhpZCwgYmxvY2spIFZBTFVFUyg/LD8pAGlkIElOVEVHRVIgUFJJTUFSWSBLRVkALCBjJWQAaWQgSU5URUdFUiBQUklNQVJZIEtFWSwgc3ogQkxPQgBjb25maWcAayBQUklNQVJZIEtFWSwgdgB2ZXJzaW9uAFNFTEVDVCAlcyBGUk9NICVzIFQgV0hFUkUgVC4lUSA+PSA/IEFORCBULiVRIDw9ID8gT1JERVIgQlkgVC4lUSBBU0MAU0VMRUNUICVzIEZST00gJXMgVCBXSEVSRSBULiVRIDw9ID8gQU5EIFQuJVEgPj0gPyBPUkRFUiBCWSBULiVRIERFU0MAU0VMRUNUICVzIEZST00gJXMgVCBXSEVSRSBULiVRPT8AUkVQTEFDRSBJTlRPICVRLiclcV9jb250ZW50JyBWQUxVRVMoJXMpAERFTEVURSBGUk9NICVRLiclcV9jb250ZW50JyBXSEVSRSBpZD0/AERFTEVURSBGUk9NICVRLiclcV9kb2NzaXplJyBXSEVSRSBpZD0/AFNFTEVDVCBzeiBGUk9NICVRLiclcV9kb2NzaXplJyBXSEVSRSBpZD0/AFJFUExBQ0UgSU5UTyAlUS4nJXFfY29uZmlnJyBWQUxVRVMoPyw/KQBTRUxFQ1QgJXMgRlJPTSAlcyBBUyBUAAAAAAAAAAAA38oAACPLAABoywAA6rQAAInLAACxywAAPbUAANjLAAD/ywAAKcwAAFHMAABDUkVBVEUgVEFCTEUgeCgAJXolcyVRACV6LCAlUSBISURERU4sICVzIEhJRERFTikAUFJBR01BICVRLmRhdGFfdmVyc2lvbgBTRUxFQ1QgaywgdiBGUk9NICVRLiclcV9jb25maWcnAGludmFsaWQgZnRzNSBmaWxlIGZvcm1hdCAoZm91bmQgJWQsIGV4cGVjdGVkICVkKSAtIHJ1biAncmVidWlsZCcAcGdzegBoYXNoc2l6ZQBhdXRvbWVyZ2UAdXNlcm1lcmdlAGNyaXNpc21lcmdlAHJlY3Vyc2l2ZWx5IGRlZmluZWQgZnRzNSBjb250ZW50IHRhYmxlAERST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9kYXRhJztEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfaWR4JztEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfY29uZmlnJzsARFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX2RvY3NpemUnOwBEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfY29udGVudCc7ACVzOiB0YWJsZSBkb2VzIG5vdCBzdXBwb3J0IHNjYW5uaW5nAHJlYWRzAHVua25vd24gc3BlY2lhbCBxdWVyeTogJS4qcwB1bnRlcm1pbmF0ZWQgc3RyaW5nAGZ0czU6IHN5bnRheCBlcnJvciBuZWFyICIlLjFzIgAAAAAAAAAAAAAsLCwsLCwzTSsMDlNSDhcXHx9HSk5RVlsGNTU8QEQ1V1w1XQAAAAAAAAAAAAAAAAAQERITFBYWGBgREhMUBxYJGBESExQJFgkYDRESExQaFhgYERITFA8WCRgREhMUGhYVGAYHCQkKDAwGBxUJGBkMEgUUDhYFGAMBAgMBAgMAAQIDCwIDCwkKBQwXGAoKCAkJDw8ICQkbGwsbGxsbGxsbGxsbGxsbGxsbAAAAAAAAAFBQUFBQUF9QUGlQbm5Qbm5QUFBQUFtQUFBlZFBQWmdQUGhQAAAAAAAAAAAAAAAAAFEUYAYcY2IaGhJgBhwRYjgaE2AGHA5iDhofXGAGHGxiGRoVYAYcTmI6Gh1gBhxrYhYaGBAMCwENDRgQFwshIg1hCBsgYgcaAwQFAwQFA1MEBQM/BQM+DAJWDQkeCgo2OUtOTjU5D1JSRwAAAAAAAAD//P3//v7//f39+/3///7//f/++//+AP78/v8AAAAAABAUFBQUFRURERERERETExISFhYWFxcZGRgYGhpmdHM1OiBwYXJzZXIgc3RhY2sgb3ZlcmZsb3cAZnRzNTogJXMgcXVlcmllcyBhcmUgbm90IHN1cHBvcnRlZCAoZGV0YWlsIT1mdWxsKQBwaHJhc2UAZnRzNTogc3ludGF4IGVycm9yIG5lYXIgIiUuKnMiAGV4cGVjdGVkIGludGVnZXIsIGdvdCAiJS4qcyIAAAAA8PgACREZLu/vJUMEBAgEFBsmZnRzNTogY29sdW1uIHF1ZXJpZXMgYXJlIG5vdCBzdXBwb3J0ZWQgKGRldGFpbD1ub25lKQBTRUxFQ1QgcGdubyBGUk9NICclcScuJyVxX2lkeCcgV0hFUkUgc2VnaWQ9PyBBTkQgdGVybTw9PyBPUkRFUiBCWSB0ZXJtIERFU0MgTElNSVQgMQBwYXJzZSBlcnJvciBpbiByYW5rIGZ1bmN0aW9uOiAlcwBibTI1AFNFTEVDVCByb3dpZCwgcmFuayBGUk9NICVRLiVRIE9SREVSIEJZICVzKCIldyIlcyVzKSAlcwBubyBzdWNoIGZ1bmN0aW9uOiAlcwAAAAACAAAApgEAAKcBAACoAQAAqQEAAKoBAACrAQAArAEAAK0BAACuAQAArwEAALABAACxAQAAsgEAALMBAAC0AQAAtQEAALYBAAC3AQAAuAEAAGNhbm5vdCAlcyBjb250ZW50bGVzcyBmdHM1IHRhYmxlOiAlcwBVUERBVEUAREVMRVRFIGZyb20AZGVsZXRlLWFsbAAnZGVsZXRlLWFsbCcgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIGEgY29udGVudGxlc3Mgb3IgZXh0ZXJuYWwgY29udGVudCBmdHM1IHRhYmxlACdyZWJ1aWxkJyBtYXkgbm90IGJlIHVzZWQgd2l0aCBhIGNvbnRlbnRsZXNzIGZ0czUgdGFibGUAbWVyZ2UAREVMRVRFIEZST00gJVEuJyVxX2RhdGEnO0RFTEVURSBGUk9NICVRLiclcV9pZHgnOwBERUxFVEUgRlJPTSAlUS4nJXFfZG9jc2l6ZSc7AElOU0VSVCBJTlRPICclcScuJyVxX2lkeCcoc2VnaWQsdGVybSxwZ25vKSBWQUxVRVMoPyw/LD8pAAAAAABERUxFVEUgRlJPTSAnJXEnLiclcV9pZHgnIFdIRVJFIHNlZ2lkPT8AREVMRVRFIEZST00gJyVxJy4nJXFfZGF0YScgV0hFUkUgaWQ+PT8gQU5EIGlkPD0/AFNFTEVDVCBjb3VudCgqKSBGUk9NICVRLiclcV8lcycAAAAAAABTRUxFQ1Qgc2VnaWQsIHRlcm0sIChwZ25vPj4xKSwgKHBnbm8mMSkgRlJPTSAlUS4nJXFfaWR4JyBXSEVSRSBzZWdpZD0lZCBPUkRFUiBCWSAxLCAyAG5vIHN1Y2ggY3Vyc29yOiAlbGxkAEFMVEVSIFRBQkxFICVRLiclcV8lcycgUkVOQU1FIFRPICclcV8lcyc7AGZ0czVfZGVjb2RlAGZ0czVfZGVjb2RlX25vbmUAZnRzNV9yb3dpZAAgJWQoJWxsZCkAIHRlcm09JS4qcwBjb3JydXB0AHthdmVyYWdlc30gAHtzdHJ1Y3R1cmV9AHslc3NlZ2lkPSVkIGg9JWQgcGdubz0lZH0AZGxpZHggACVzJWQAIHtsdmw9JWQgbk1lcmdlPSVkIG5TZWc9JWQAIHtpZD0lZCBsZWF2ZXM9JWQuLiVkfQB9ACsAICVsbGQlcwAgJWQAIGlkPSVsbGQAIG5Qb3M9JWQlcwBzaG91bGQgYmU6IGZ0czVfcm93aWQoc3ViamVjdCwgLi4uLikAc2VnbWVudABzaG91bGQgYmU6IGZ0czVfcm93aWQoJ3NlZ21lbnQnLCBzZWdpZCwgcGdubykpAGZpcnN0IGFyZyB0byBmdHM1X3Jvd2lkKCkgbXVzdCBiZSAnc2VnbWVudCcAZnRzNV9leHByAGZ0czVfZXhwcl90Y2wAZnRzNV9pc2FsbnVtAGZ0czVfZm9sZAAh1gAAuQEAACvWAAC6AQAAOdYAALsBAABG1gAAvAEAAG5lYXJzZXQAd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBmdW5jdGlvbiAlcwAlcyAALWNvbCAlZCAALWNvbCB7JWQAfSAALW5lYXIgJWQgACB7ACBbJXpdACIiAHsAJXMgOiAATkVBUigAICsgACwgJWQpACBOT1QgACBPUiAAJXMlcyV6JXMAd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBmdW5jdGlvbiBmdHM1X2lzYWxudW0ATCoATioAQ28Ad3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBmdW5jdGlvbiBmdHM1X2ZvbGQAAAAAAAAAAABBAA4atQBAAcAADhfYAA4HAAEBMDIBAQY5AQEQSgEBLngBdAF5AQEGfwFoAYEBMgGCAQEEhgEsAYcBAAGJASoCiwEAAY4BIAGPASYBkAEoAZEBAAGTASoBlAEuAZYBNAGXATABmAEAAZwBNAGdATYBnwE4AaABAQamATwBpwEAAakBPAGsAQABrgE8Aa8BAAGxAToCswEBBLcBPgG4AQABvAEAAcQBAgHFAQABxwECAcgBAAHKAQIBywEBEt4BARLxAQIB8gEBBPYBegH3AYYB+AEBKCACbgEiAgESOgJGATsCAAE9AmwBPgJEAUECAAFDAmoBRAIcAUUCHgFGAgEKRQMkAXADAQR2AwABhgMSAYgDEAOMAxoBjgMYApEDDhGjAw4JwgMAAc8DBAHQA4wB0QOOAdUDkgHWA5AB2AMBGPADiAHxA4oB9AOCAfUDgAH3AwAB+QOYAfoDAAH9A24DAAQiEBAEDiBgBAEiigQBNsAEBgHBBAEO0AQBWDEFFiagEEImxxBCAc0QQgEAHgGWmx6EAZ4eYAGgHgFgCB+WCBgflgYoH5YIOB+WCEgflgZZH5cIaB+WCIgflgiYH5YIqB+WCLgflgK6H34CvB+UAb4fZAHIH3wEzB+UAdgflgLaH3gC6B+WAuofdgLsH5gB+B9wAvofcgL8H5QBJiFiASohXAErIV4BMiEMAWAhCBCDIQABtiQKGgAsFi9gLAABYixYAWMsZgFkLFoBZywBBm0sVAFuLFYBbyxQAXAsUgFyLAABdSwAAX4sTgKALAFk6ywBBPIsAAFApgEugKYBGCKnAQ4ypwE+eacBBH2nTAF+pwEKi6cAAY2nSgGQpwEEoKcBCqqnSAEh/w4aAAAAAAEAAgAIAA8AEAAaABwAIAAlACYAKAAwAD8AQABFAEcATwBQAHQAygDLAM0AzgDPANEA0gDTANUA1gDZANoA2wAHA2AcKCorKrxa2Fr8dcHV4dXi1eTVA9YJ1hnWQd+630Hio+L74xrx9P49/13/fv+A/4L/h/+Q/5z/n/+q/7b/wP/E/8b/yP/K/9D/4v/n/+r/8f/3//j/+f8AAAAAAAAAAAUHOAdDB2MHiAeUB8sH6Af4BwwIPgh4CJ4I2AjuCCgJTwmoCbgJ1AkkCmwKrAreChoLTguKC6gLuAvUCwgNgA1wDoAOkA6gDrYO+A44D0gPWA9oD4APqA/ID9gPChAqEEoQahCKEKoQyBDYEPgQOBFIEVoReBGIEZgRBBg2GHgYiBjYGB0ZaRmBGQjwHPBI8F7wmPCq8Mrw6PD48AjxHvFY8WjxePGM8bjxyPHa8fzxLvJu8qryyvLo8vjyCvMs817znPPK8+rzDvRI9Fr0ePSM9LD0uPTA9Mj0CvUu9W71qvXM9f71OPZK9mr2jvbO9gr3KvdO94j3nvcAAAAAAGFjZWlub3V5eWFjZGVlZ2hpamtsbm9yc3R1dXd5em91YWlvdfXhZ2tv72pnbuFhZWlvcnVzdGhhZe9v73kAAAAAAAAAAGFi42Rk5WXlZmdoaGnpa2zsbG1u73By8nJz83R19XZ3d3h5emh0d3lh4eHhZeXlaW/v7+919fV5aGlnaGxpZ2h0AAAAAAAAAAAAIaQAAAAAAAC9AQAAAAAAAB7cAAAAAAAAvgEAAAAAAACs0QAAAAAAAL8BAAAAAAAAJXolLipzAHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gZnVuY3Rpb24gaGlnaGxpZ2h0KCkAYXNjaWkAdHJpZ3JhbQAAAAAAAAAAAAAIpAAAwAEAAMEBAADCAQAAmdwAAMMBAADEAQAAxQEAAAGkAADGAQAAxwEAAMgBAACf3AAAdgAAAMkBAADKAQAATCogTiogQ28AY2F0ZWdvcmllcwByZW1vdmVfZGlhY3JpdGljcwB0b2tlbmNoYXJzAHNlcGFyYXRvcnMAZWVkAGVkAGluZwBhdABibABpegBhdGlvbmFsAHRpb25hbABlbmNpAGFuY2kAaXplcgBsb2dpAGJsaQBhbGxpAGVudGxpAGVsaQBvdXNsaQBpemF0aW9uAGF0aW9uAGF0b3IAYWxpc20AaXZlbmVzcwBmdWxuZXNzAG91c25lc3MAYWxpdGkAaXZpdGkAYmlsaXRpAGljYWwAbmVzcwBpY2F0ZQBpY2l0aQBhdGl2ZQBhbGl6ZQBlcgBhYmxlAGlibGUAYW50AGVtZW50AG1lbnQAaW9uAG91AGlzbQAAAAACAAAAywEAAMwBAADNAQAAzgEAAM8BAADQAQAA0QEAANIBAADTAQAA1AEAANUBAADWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmdHM1dm9jYWIAQ1JFQVRFIFRBQmxFIHZvY2FiKHRlcm0sIGNvbCwgZG9jLCBjbnQpAENSRUFURSBUQUJsRSB2b2NhYih0ZXJtLCBkb2MsIGNudCkAQ1JFQVRFIFRBQmxFIHZvY2FiKHRlcm0sIGRvYywgY29sLCBvZmZzZXQpAHbeAACe3gAAwd4AAHdyb25nIG51bWJlciBvZiB2dGFibGUgYXJndW1lbnRzAGNvbAByb3cAaW5zdGFuY2UAZnRzNXZvY2FiOiB1bmtub3duIHRhYmxlIHR5cGU6ICVRAHJlY3Vyc2l2ZSBkZWZpbml0aW9uIGZvciAlcy4lcwBTRUxFQ1QgdC4lUSBGUk9NICVRLiVRIEFTIHQgV0hFUkUgdC4lUSBNQVRDSCAnKmlkJwBubyBzdWNoIGZ0czUgdGFibGU6ICVzLiVzAGZ0czVfYXBpX3B0cgBmdHM1OiAyMDIwLTEyLTAxIDE2OjE0OjAwIGEyNmI2NTk3ZTNhZTI3MjIzMWI5NmY5OTgyYzNiY2MxN2RkZWMyZjJiNmViNGRmMDZhMjI0YjkxMDg5ZmVkNWIAcnRyZWVub2RlAHJ0cmVlZGVwdGgAcnRyZWVjaGVjawBydHJlZQBydHJlZV9pMzIAeyVsbGQAICVnAEludmFsaWQgYXJndW1lbnQgdG8gcnRyZWVkZXB0aCgpAHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gZnVuY3Rpb24gcnRyZWVjaGVjaygpAFNFTEVDVCAqIEZST00gJVEuJyVxX3Jvd2lkJwBTY2hlbWEgY29ycnVwdCBvciBub3QgYW4gcnRyZWUAX3Jvd2lkAF9wYXJlbnQARU5EACV6JXMlegBOb2RlICVsbGQgaXMgdG9vIHNtYWxsICglZCBieXRlcykAUnRyZWUgZGVwdGggb3V0IG9mIHJhbmdlICglZCkATm9kZSAlbGxkIGlzIHRvbyBzbWFsbCBmb3IgY2VsbCBjb3VudCBvZiAlZCAoJWQgYnl0ZXMpAFNFTEVDVCBkYXRhIEZST00gJVEuJyVxX25vZGUnIFdIRVJFIG5vZGVubz0/AE5vZGUgJWxsZCBtaXNzaW5nIGZyb20gZGF0YWJhc2UARGltZW5zaW9uICVkIG9mIGNlbGwgJWQgb24gbm9kZSAlbGxkIGlzIGNvcnJ1cHQARGltZW5zaW9uICVkIG9mIGNlbGwgJWQgb24gbm9kZSAlbGxkIGlzIGNvcnJ1cHQgcmVsYXRpdmUgdG8gcGFyZW50AFNFTEVDVCBwYXJlbnRub2RlIEZST00gJVEuJyVxX3BhcmVudCcgV0hFUkUgbm9kZW5vPT8xAFNFTEVDVCBub2Rlbm8gRlJPTSAlUS4nJXFfcm93aWQnIFdIRVJFIHJvd2lkPT8xADriAABw4gAATWFwcGluZyAoJWxsZCAtPiAlbGxkKSBtaXNzaW5nIGZyb20gJXMgdGFibGUAJV9yb3dpZAAlX3BhcmVudABGb3VuZCAoJWxsZCAtPiAlbGxkKSBpbiAlcyB0YWJsZSwgZXhwZWN0ZWQgKCVsbGQgLT4gJWxsZCkAU0VMRUNUIGNvdW50KCopIEZST00gJVEuJyVxJXMnAFdyb25nIG51bWJlciBvZiBlbnRyaWVzIGluICUlJXMgdGFibGUgLSBleHBlY3RlZCAlbGxkLCBhY3R1YWwgJWxsZABXcm9uZyBudW1iZXIgb2YgY29sdW1ucyBmb3IgYW4gcnRyZWUgdGFibGUAVG9vIGZldyBjb2x1bW5zIGZvciBhbiBydHJlZSB0YWJsZQBUb28gbWFueSBjb2x1bW5zIGZvciBhbiBydHJlZSB0YWJsZQBBdXhpbGlhcnkgcnRyZWUgY29sdW1ucyBtdXN0IGJlIGxhc3QAAAAAAAAAAAAAAACC4wAAreMAANDjAAD04wAAQ1JFQVRFIFRBQkxFIHgoJS4qcyBJTlQALCUuKnMALCUuKnMgUkVBTAAsJS4qcyBJTlQAKTsAU0VMRUNUIGxlbmd0aChkYXRhKSBGUk9NICclcScuJyVxX25vZGUnIFdIRVJFIG5vZGVubyA9IDEAdW5kZXJzaXplIFJUcmVlIGJsb2JzIGluICIlcV9ub2RlIgBJTlNFUlQgT1IgUkVQTEFDRSBJTlRPICclcScuJyVxX25vZGUnIFZBTFVFUyg/MSwgPzIpAERFTEVURSBGUk9NICclcScuJyVxX25vZGUnIFdIRVJFIG5vZGVubyA9ID8xAFNFTEVDVCBub2Rlbm8gRlJPTSAnJXEnLiclcV9yb3dpZCcgV0hFUkUgcm93aWQgPSA/MQBJTlNFUlQgT1IgUkVQTEFDRSBJTlRPICclcScuJyVxX3Jvd2lkJyBWQUxVRVMoPzEsID8yKQBERUxFVEUgRlJPTSAnJXEnLiclcV9yb3dpZCcgV0hFUkUgcm93aWQgPSA/MQBTRUxFQ1QgcGFyZW50bm9kZSBGUk9NICclcScuJyVxX3BhcmVudCcgV0hFUkUgbm9kZW5vID0gPzEASU5TRVJUIE9SIFJFUExBQ0UgSU5UTyAnJXEnLiclcV9wYXJlbnQnIFZBTFVFUyg/MSwgPzIpAERFTEVURSBGUk9NICclcScuJyVxX3BhcmVudCcgV0hFUkUgbm9kZW5vID0gPzEAQ1JFQVRFIFRBQkxFICIldyIuIiV3X3Jvd2lkIihyb3dpZCBJTlRFR0VSIFBSSU1BUlkgS0VZLG5vZGVubwAsYSVkACk7Q1JFQVRFIFRBQkxFICIldyIuIiV3X25vZGUiKG5vZGVubyBJTlRFR0VSIFBSSU1BUlkgS0VZLGRhdGEpOwBDUkVBVEUgVEFCTEUgIiV3Ii4iJXdfcGFyZW50Iihub2Rlbm8gSU5URUdFUiBQUklNQVJZIEtFWSxwYXJlbnRub2RlKTsASU5TRVJUIElOVE8gIiV3Ii4iJXdfbm9kZSJWQUxVRVMoMSx6ZXJvYmxvYiglZCkpAElOU0VSVCBJTlRPIiV3Ii4iJXdfcm93aWQiKHJvd2lkLG5vZGVubylWQUxVRVMoPzEsPzIpT04gQ09ORkxJQ1Qocm93aWQpRE8gVVBEQVRFIFNFVCBub2Rlbm89ZXhjbHVkZWQubm9kZW5vAFNFTEVDVCAqIEZST00gIiV3Ii4iJXdfcm93aWQiIFdIRVJFIHJvd2lkPT8xAFVQREFURSAiJXciLiIld19yb3dpZCJTRVQgAGElZD1jb2FsZXNjZSg/JWQsYSVkKQBhJWQ9PyVkACBXSEVSRSByb3dpZD0/MQBTRUxFQ1Qgc3RhdCBGUk9NICVRLnNxbGl0ZV9zdGF0MSBXSEVSRSB0YmwgPSAnJXFfcm93aWQnAERST1AgVEFCTEUgJyVxJy4nJXFfbm9kZSc7RFJPUCBUQUJMRSAnJXEnLiclcV9yb3dpZCc7RFJPUCBUQUJMRSAnJXEnLiclcV9wYXJlbnQnOwAlc19ub2RlAFJ0cmVlTWF0Y2hBcmcAVU5JUVVFIGNvbnN0cmFpbnQgZmFpbGVkOiAlcy4lcwBydHJlZSBjb25zdHJhaW50IGZhaWxlZDogJXMuKCVzPD0lcykAQUxURVIgVEFCTEUgJVEuJyVxX25vZGUnICAgUkVOQU1FIFRPICIld19ub2RlIjtBTFRFUiBUQUJMRSAlUS4nJXFfcGFyZW50JyBSRU5BTUUgVE8gIiV3X3BhcmVudCI7QUxURVIgVEFCTEUgJVEuJyVxX3Jvd2lkJyAgUkVOQU1FIFRPICIld19yb3dpZCI7AG5vZGUAAAAAAAAAAAAAALDqAAABAAAAAAAAAOkBAAC16gAA/////wAAAADqAQAAwOoAAAEAAAAAAAAA6wEAAMDqAAACAAAAAAAAAOsBAADS6gAA/////wAAAADsAQAA3+oAAP////8AAAAA7QEAAOvqAAD/////AAAAAO4BAAD36gAAAgAAAAAAAADvAQAAAusAAAEAAAAAAAAA8AEAAA3rAAD/////AAAAAOkBAAAZ6wAA/////wAAAADxAQAAJusAAP////8BAAAA7QEAAC/rAAABAAAAAAAAAPIBAAAv6wAAAgAAAAAAAADyAQAAOesAAAEAAAAAAAAA8wEAAGpzb24AanNvbl9hcnJheQBqc29uX2FycmF5X2xlbmd0aABqc29uX2V4dHJhY3QAanNvbl9pbnNlcnQAanNvbl9vYmplY3QAanNvbl9wYXRjaABqc29uX3F1b3RlAGpzb25fcmVtb3ZlAGpzb25fcmVwbGFjZQBqc29uX3NldABqc29uX3R5cGUAanNvbl92YWxpZAAAAAAAAAAAAAAAAAB46wAAAQAAAPQBAAD1AQAA9gEAAInrAAACAAAA9wEAAPgBAAD5AQAAanNvbl9ncm91cF9hcnJheQBqc29uX2dyb3VwX29iamVjdAAAAAAAALDrAAAcOwEAuusAAHw7AQBqc29uX2VhY2gAanNvbl90cmVlAG1hbGZvcm1lZCBKU09OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWzBdAEpTT04gcGF0aCBlcnJvciBuZWFyICclcScASlNPTiBjYW5ub3QgaG9sZCBCTE9CIHZhbHVlcwAAAAAAAAAAAAAAAAAAYnRuAGZyAAAAAAAAAAAAAAAAAAAAAAAAMDEyMzQ1Njc4OWFiY2RlZgBzZXQAaW5zZXJ0AGpzb25fJXMoKSBuZWVkcyBhbiBvZGQgbnVtYmVyIG9mIGFyZ3VtZW50cwBqc29uX29iamVjdCgpIHJlcXVpcmVzIGFuIGV2ZW4gbnVtYmVyIG9mIGFyZ3VtZW50cwBqc29uX29iamVjdCgpIGxhYmVscyBtdXN0IGJlIFRFWFQAAAAAADktAAAOcwAAE3MAAEMtAAA+LQAAtJwAAADuAAAG7gAAYXJyYXkAb2JqZWN0AFtdAHt9AENSRUFURSBUQUJMRSB4KGtleSx2YWx1ZSx0eXBlLGF0b20saWQscGFyZW50LGZ1bGxrZXkscGF0aCxqc29uIEhJRERFTixyb290IEhJRERFTikAWyVkXQAuJS4qcwAkAGF1dG9tYXRpYyBleHRlbnNpb24gbG9hZGluZyBmYWlsZWQ6ICVzAHVuYWJsZSB0byBkZWxldGUvbW9kaWZ5IGNvbGxhdGlvbiBzZXF1ZW5jZSBkdWUgdG8gYWN0aXZlIHN0YXRlbWVudHMAbWlzdXNlAHNxbGl0ZV90ZW1wX3NjaGVtYQBzcWxpdGVfc2NoZW1hAF9ST1dJRF8AT0lEAAAAAAAAAAAAAAAAAAAAVO8AAGrvAAB27wAAgu8AAJrvAACm7wAAsu8AAL/vAADM7wAA2u8AAOrvAAD+7wAAFfAAAENPTVBJTEVSPWNsYW5nLTEyLjAuMABESVNBQkxFX0xGUwBFTkFCTEVfRlRTMwBFTkFCTEVfRlRTM19QQVJFTlRIRVNJUwBFTkFCTEVfRlRTNABFTkFCTEVfRlRTNQBFTkFCTEVfSlNPTjEARU5BQkxFX1JUUkVFAE9NSVRfREVDTFRZUEUAT01JVF9ERVBSRUNBVEVEAE9NSVRfTE9BRF9FWFRFTlNJT04AT01JVF9QUk9HUkVTU19DQUxMQkFDSwBUSFJFQURTQUZFPTAAAAAAAAAAAAAAAAAAAAAQ8gAAAQABAAkCAAAV8gAAAQABAAoCAAAa8gAAAQABAAsCAAAf8gAAAgABAAwCAAAk8gAAAgABAAwCAAAq8gAAAQABAA0CAAAw8gAAAQABAA4CAAA28gAAAQABAA8CAAA88gAAAgABABACAABH8gAAAQABABECAABP8gAAAQABABICAABX8gAAAQABABMCAABb8gAAAQABABQCAABf8gAAAQABABUCAABj8gAAAQABABYCAABn8gAAAQABABcCAABs8gAAAQABABgCAABx8gAAAQABABkCAAB28gAAAQABABoCAAB78gAAAQABABsCAAB/8gAAAQABABwCAACD8gAAAQABAB0CAACJ8gAAAgABAB4CAACP8gAAAQABAB8CAACU8gAAAQABACACAACZ8gAAAQABACECAACg8gAAAQABACICAACl8gAAAQABACMCAACr8gAAAAABASQCAACu8gAAAgABACUCAAC48gAAAgABACYCAAC48gAAAwABACYCAADC8gAAAgABACcCAADK8gAAAgABACgCAADT8gAAAQABACkCAADb8gAAAQABACoCAADi8gAAAgABACsCAADn8gAAAgABACwCAADs8gAAAgABAC0CAADx8gAAAgABAC4CAABhY29zAGFzaW4AYXRhbgBhdG4yAGF0YW4yAGFjb3NoAGFzaW5oAGF0YW5oAGRpZmZlcmVuY2UAZGVncmVlcwByYWRpYW5zAGNvcwBzaW4AdGFuAGNvdABjb3NoAHNpbmgAdGFuaABjb3RoAGV4cABsb2cAbG9nMTAAcG93ZXIAc2lnbgBzcXJ0AHNxdWFyZQBjZWlsAGZsb29yAHBpAHJlcGxpY2F0ZQBjaGFyaW5kZXgAbGVmdHN0cgByaWdodHN0cgByZXZlcnNlAHByb3BlcgBwYWRsAHBhZHIAcGFkYwBzdHJmaWx0ZXIAAAAAAABg8wAAAQAAAC8CAAAwAgAAZvMAAAEAAAAvAgAAMQIAAG/zAAABAAAAMgIAADMCAAB08wAAAQAAADICAAA0AgAAe/MAAAEAAAAyAgAANQIAAIrzAAABAAAAMgIAADYCAABzdGRldgB2YXJpYW5jZQBtb2RlAG1lZGlhbgBsb3dlcl9xdWFydGlsZQB1cHBlcl9xdWFydGlsZQBmb3Igbm9kZQBhcmdjPT0xAHNxbGl0ZS1zcmMvc3FsaXRlLWFtYWxnYW1hdGlvbi0zMzQwMDAwL2V4dGVuc2lvbi1mdW5jdGlvbnMuYwBhY29zRnVuYwBhc2luRnVuYwBhdGFuRnVuYwBhcmdjPT0yAGF0bjJGdW5jAGFjb3NoRnVuYwBhc2luaEZ1bmMAYXRhbmhGdW5jAGRpZmZlcmVuY2VGdW5jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAwABAgAAAgIEBQUAAQIGAgMAAQACAAIAAAAAAAAAAQIDAAECAAACAgQFBQABAgYCAwABAAIAAgAAAAAAPzAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgICAgICAgMDAwMDAwMDBAQEBAQEBAQAAAAAgDAAAIAgDgCAIMgDAAAAAID///8A+P//AAD//3JhZDJkZWdGdW5jAGRlZzJyYWRGdW5jAGNvc0Z1bmMAc2luRnVuYwB0YW5GdW5jAGNvdEZ1bmMAY29zaEZ1bmMAc2luaEZ1bmMAdGFuaEZ1bmMAY290aEZ1bmMAZXhwRnVuYwBsb2dGdW5jAGxvZzEwRnVuYwBwb3dlckZ1bmMAc2lnbkZ1bmMAc3FydEZ1bmMAc3F1YXJlRnVuYwBjZWlsRnVuYwBmbG9vckZ1bmMAZG9tYWluIGVycm9yAGFyZ2M9PTMgfHxhcmdjPT0yAGNoYXJpbmRleEZ1bmMAbGVmdEZ1bmMAcmlnaHRGdW5jADE9PWFyZ2MAcmV2ZXJzZUZ1bmMAcHJvcGVyRnVuYwBwYWRsRnVuYwB6PD16VGVybQBzcWxpdGUzVXRmOENoYXJMZW4AcGFkckZ1bmMAcGFkY0Z1bmMAc3RyZmlsdGVyRnVuYwB2YXJpYW5jZVN0ZXAAbW9kZVN0ZXAAQkFTRTY0AFVQUEVSAExPV0VSAEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8AAAAZEkQ7Aj8sRxQ9MzAKGwZGS0U3D0kOjhcDQB08aSs2H0otHAEgJSkhCAwVFiIuEDg+CzQxGGR0dXYvQQl/OREjQzJCiYqLBQQmKCcNKh41jAcaSJMTlJUAAAAAAAAAAABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAE+7YQVnrN0/GC1EVPsh6T+b9oHSC3PvPxgtRFT7Ifk/4mUvIn8rejwHXBQzJqaBPL3L8HqIB3A8B1wUMyamkTwYLURU+yHpPxgtRFT7Iem/0iEzf3zZAkDSITN/fNkCwAAAAAAAAAAAAAAAAAAAAIAYLURU+yEJQBgtRFT7IQnAAwAAAAQAAAAEAAAABgAAAIP5ogBETm4A/CkVANFXJwDdNPUAYtvAADyZlQBBkEMAY1H+ALveqwC3YcUAOm4kANJNQgBJBuAACeouAByS0QDrHf4AKbEcAOg+pwD1NYIARLsuAJzphAC0JnAAQX5fANaROQBTgzkAnPQ5AItfhAAo+b0A+B87AN7/lwAPmAUAES/vAApaiwBtH20Az342AAnLJwBGT7cAnmY/AC3qXwC6J3UA5evHAD178QD3OQcAklKKAPtr6gAfsV8ACF2NADADVgB7/EYA8KtrACC8zwA29JoA46kdAF5hkQAIG+YAhZllAKAUXwCNQGgAgNj/ACdzTQAGBjEAylYVAMmocwB74mAAa4zAABnERwDNZ8MACejcAFmDKgCLdsQAphyWAESv3QAZV9EApT4FAAUH/wAzfj8AwjLoAJhP3gC7fTIAJj3DAB5r7wCf+F4ANR86AH/yygDxhx0AfJAhAGokfADVbvoAMC13ABU7QwC1FMYAwxmdAK3EwgAsTUEADABdAIZ9RgDjcS0Am8aaADNiAAC00nwAtKeXADdV1QDXPvYAoxAYAE12/ABknSoAcNerAGN8+AB6sFcAFxXnAMBJVgA71tkAp4Q4ACQjywDWincAWlQjAAAfuQDxChsAGc7fAJ8x/wBmHmoAmVdhAKz7RwB+f9gAImW3ADLoiQDmv2AA78TNAGw2CQBdP9QAFt7XAFg73gDem5IA0iIoACiG6ADiWE0AxsoyAAjjFgDgfcsAF8BQAPMdpwAY4FsALhM0AIMSYgCDSAEA9Y5bAK2wfwAe6fIASEpDABBn0wCq3dgArl9CAGphzgAKKKQA05m0AAam8gBcd38Ao8KDAGE8iACKc3gAr4xaAG/XvQAtpmMA9L/LAI2B7wAmwWcAVcpFAMrZNgAoqNIAwmGNABLJdwAEJhQAEkabAMRZxADIxUQATbKRAAAX8wDUQ60AKUnlAP3VEAAAvvwAHpTMAHDO7gATPvUA7PGAALPnwwDH+CgAkwWUAMFxPgAuCbMAC0XzAIgSnACrIHsALrWfAEeSwgB7Mi8ADFVtAHKnkABr5x8AMcuWAHkWSgBBeeIA9N+JAOiUlwDi5oQAmTGXAIjtawBfXzYAu/0OAEiatABnpGwAcXJCAI1dMgCfFbgAvOUJAI0xJQD3dDkAMAUcAA0MAQBLCGgALO5YAEeqkAB05wIAvdYkAPd9pgBuSHIAnxbvAI6UpgC0kfYA0VNRAM8K8gAgmDMA9Ut+ALJjaADdPl8AQF0DAIWJfwBVUikAN2TAAG3YEAAySDIAW0x1AE5x1ABFVG4ACwnBACr1aQAUZtUAJwedAF0EUAC0O9sA6nbFAIf5FwBJa30AHSe6AJZpKQDGzKwArRRUAJDiagCI2YkALHJQAASkvgB3B5QA8zBwAAD8JwDqcagAZsJJAGTgPQCX3YMAoz+XAEOU/QANhowAMUHeAJI5nQDdcIwAF7fnAAjfOwAVNysAXICgAFqAkwAQEZIAD+jYAGyArwDb/0sAOJAPAFkYdgBipRUAYcu7AMeJuQAQQL0A0vIEAEl1JwDrtvYA2yK7AAoUqgCJJi8AZIN2AAk7MwAOlBoAUTqqAB2jwgCv7a4AXCYSAG3CTQAtepwAwFaXAAM/gwAJ8PYAK0CMAG0xmQA5tAcADCAVANjDWwD1ksQAxq1LAE7KpQCnN80A5qk2AKuSlADdQmgAGWPeAHaM7wBoi1IA/Ns3AK6hqwDfFTEAAK6hAAz72gBkTWYA7QW3ACllMABXVr8AR/86AGr5uQB1vvMAKJPfAKuAMABmjPYABMsVAPoiBgDZ5B0APbOkAFcbjwA2zQkATkLpABO+pAAzI7UA8KoaAE9lqADSwaUACz8PAFt4zQAj+XYAe4sEAIkXcgDGplMAb27iAO/rAACbSlgAxNq3AKpmugB2z88A0QIdALHxLQCMmcEAw613AIZI2gD3XaAAxoD0AKzwLwDd7JoAP1y8ANDebQCQxx8AKtu2AKMlOgAAr5oArVOTALZXBAApLbQAS4B+ANoHpwB2qg4Ae1mhABYSKgDcty0A+uX9AInb/gCJvv0A5HZsAAap/AA+gHAAhW4VAP2H/wAoPgcAYWczACoYhgBNveoAs+evAI9tbgCVZzkAMb9bAITXSAAw3xYAxy1DACVhNQDJcM4AMMu4AL9s/QCkAKIABWzkAFrdoAAhb0cAYhLSALlchABwYUkAa1bgAJlSAQBQVTcAHtW3ADPxxAATbl8AXTDkAIUuqQAdssMAoTI2AAi3pADqsdQAFvchAI9p5AAn/3cADAOAAI1ALQBPzaAAIKWZALOi0wAvXQoAtPlCABHaywB9vtAAm9vBAKsXvQDKooEACGpcAC5VFwAnAFUAfxTwAOEHhgAUC2QAlkGNAIe+3gDa/SoAayW2AHuJNAAF8/4Aub+eAGhqTwBKKqgAT8RaAC34vADXWpgA9MeVAA1NjQAgOqYApFdfABQ/sQCAOJUAzCABAHHdhgDJ3rYAv2D1AE1lEQABB2sAjLCsALLA0ABRVUgAHvsOAJVywwCjBjsAwEA1AAbcewDgRcwATin6ANbKyADo80EAfGTeAJtk2ADZvjEApJfDAHdY1ABp48UA8NoTALo6PABGGEYAVXVfANK99QBuksYArC5dAA5E7QAcPkIAYcSHACn96QDn1vMAInzKAG+RNQAI4MUA/9eNAG5q4gCw/cYAkwjBAHxddABrrbIAzW6dAD5yewDGEWoA98+pAClz3wC1yboAtwBRAOKyDQB0uiQA5X1gAHTYigANFSwAgRgMAH5mlAABKRYAn3p2AP39vgBWRe8A2X42AOzZEwCLurkAxJf8ADGoJwDxbsMAlMU2ANioVgC0qLUAz8wOABKJLQBvVzQALFaJAJnO4wDWILkAa16qAD4qnAARX8wA/QtKAOH0+wCOO20A4oYsAOnUhAD8tKkA7+7RAC41yQAvOWEAOCFEABvZyACB/AoA+0pqAC8c2ABTtIQATpmMAFQizAAqVdwAwMbWAAsZlgAacLgAaZVkACZaYAA/Uu4AfxEPAPS1EQD8y/UANLwtADS87gDoXcwA3V5gAGeOmwCSM+8AyRe4AGFYmwDhV7wAUYPGANg+EADdcUgALRzdAK8YoQAhLEYAWfPXANl6mACeVMAAT4b6AFYG/ADlea4AiSI2ADitIgBnk9wAVeiqAIImOADK55sAUQ2kAJkzsQCp1w4AaQVIAGWy8AB/iKcAiEyXAPnRNgAhkrMAe4JKAJjPIQBAn9wA3EdVAOF0OgBn60IA/p3fAF7UXwB7Z6QAuqx6AFX2ogAriCMAQbpVAFluCAAhKoYAOUeDAInj5gDlntQASftAAP9W6QAcD8oAxVmKAJT6KwDTwcUAD8XPANtargBHxYYAhUNiACGGOwAseZQAEGGHACpMewCALBoAQ78SAIgmkAB4PIkAqMTkAOXbewDEOsIAJvTqAPdnigANkr8AZaMrAD2TsQC9fAsApFHcACfdYwBp4d0AmpQZAKgplQBozigACe20AESfIABOmMoAcIJjAH58IwAPuTIAp/WOABRW5wAh8QgAtZ0qAG9+TQClGVEAtfmrAILf1gCW3WEAFjYCAMQ6nwCDoqEAcu1tADmNegCCuKkAazJcAEYnWwAANO0A0gB3APz0VQABWU0A4HGAAAAAAAAAAAAAAAAAQPsh+T8AAAAALUR0PgAAAICYRvg8AAAAYFHMeDsAAACAgxvwOQAAAEAgJXo4AAAAgCKC4zYAAAAAHfNpNQAAAAAAAOA/AAAAAAAA4L8AAAAAAADwPwAAAAAAAPg/AAAAAAAAAAAG0M9D6/1MPgAAAAAAAAAAAAAAQAO44j8vcHJvYy9zZWxmL2ZkLwA="); +base64DecodeToExistingUint8Array(bufferView, 68368, "AQAAAAEAAAEAAQAA/v//fwAAAACwBAAAKAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAA+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v//f////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAwAAADQAAAAAAgAAAAAAAGAGAABoBgAAmQAAAJoAAACbAAAAnAAAAAAAAAAAAAAAAAAAAAAAAACdAAAAngAAAAAAAACfAAAAoAAAAKEAAACiAAAAowAAAAMAAAA0AAAAAAIAAAAAAABsBgAAeAYAAJkAAACaAAAAmwAAAJwAAAAAAAAAAAAAAAAAAAAAAAAAnQAAAJ4AAAAAAAAAnwAAAKAAAAChAAAAogAAAKMAAAADAAAANAAAAAACAAAAAAAAfAYAAIwGAACZAAAAmgAAAJsAAACcAAAAAAAAAAAAAAAAAAAAAAAAAJ0AAACeAAAAAAAAAJ8AAACgAAAAoQAAAKIAAACjAAAAAwAAADQAAAAAAgAAAAAAAJAGAABoBgAAmQAAAJoAAACbAAAAnAAAAAAAAAAAAAAAAAAAAAAAAACdAAAAngAAAAAAAACfAAAAoAAAAKEAAACiAAAAowAAAAAAAEAAAAAAAAAAAAAAAABMDwAAuQAAAAAAAABRDwAAugAAAAAAAABXDwAAuwAAAAAAAABeDwAAvAAAAAAAAABlDwAAvQAAAAAAAABqDwAAvgAAAAAAAABwDwAAvwAAAAAAAAB6DwAAwAAAAAAAAACADwAAwQAAAAAAAACFDwAAAAAAAAAAAACLDwAAAAAAAAAAAACTDwAAwgAAAAAAAACZDwAAAAAAAAAAAACgDwAAAAAAAAAAAACpDwAAwwAAAAAAAACwDwAAAAAAAAAAAAC6DwAAxAAAAAAAAADBDwAAxQAAAAAAAADPDwAAxgAAAAAAAADVDwAAxwAAAAAAAADbDwAAyAAAAAAAAADiDwAAyQAAAAAAAADqDwAAygAAAAAAAADvDwAAywAAAAAAAAD2DwAAAAAAAAAAAAD9DwAAzAAAAAAAAAAJEAAAzQAAAAAAAAASEAAAzgAAAAAAAAAYEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4EAAAwRAAAMoQAABVBQAAAAAAAAAAAAAAAAIAAwAFAAYABwAIAAkAaIAAAJ2AAADQgAAACIEAADyBAAAAAAAAAAAAAAAAAAA5AAAAOQAAADYAAAA5AAAAOQAAAAAAAAAAAAAAAAAAAAAAAABhiQAAZokAAG6JAABgjAAAAAACAGeMAAAAAAQAAAAAAAAAAAAAAAAAAAAAAG+MAAABAAAAcowAAAIAAAB1jAAABgAAANQlAACAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABSEQAAQAAAAAAAADsAAAAAAAAAAAAAAAAAAAAEZsAAAAAAAACAAAAAUhEAAMAAAAAAAAA7AAAAAAAAAAAAAAAAAAAACWbAAAAAAAAAgAAAAFIRAACAAAAAAAAAOwAAAAAAAAAAAAAAAAAAAAymwAAAAAAAAEAAAABIAAAAAAAAAAAAADtAAAAAAAAAAAAAAAAAAAARJsAAAAAAAABAAAAASAAAAAAAAAAAAAA7gAAAAAAAAAAAAAAAAAAAF6bAAAAAAAAAQAAAAEMQABjAAAAAAAAAOwAAAAAAAAAAAAAAAAAAAB3mwAAAAAAAAIAAAABDEAAYwAAAAAAAADsAAAAAAAAAAAAAAAAAAAAgJsAAAAAAAABAAAAAQxAAGMAAAAAAAAA7AAAAAAAAAAAAAAAAAAAAIubAAAAAAAAAQAAAAEIAAABAAAAAAAAAO8AAAAAAAAAAAAAAAAAAACSmwAAAAAAAAIAAAABCAAAAQAAAAAAAADvAAAAAAAAAAAAAAAAAAAAkpsAAAAAAAABAAAAAQgAAAIAAAAAAAAA7wAAAAAAAAAAAAAAAAAAAJibAAAAAAAAAgAAAAEIAAACAAAAAAAAAO8AAAAAAAAAAAAAAAAAAACYmwAAAAAAAAEAAAABCAAAAwAAAAAAAADvAAAAAAAAAAAAAAAAAAAAnpsAAAAAAAACAAAAAQgAAAMAAAAAAAAA7wAAAAAAAAAAAAAAAAAAAJ6bAAAAAAAA/wAAACEIAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAABugQAAAAAAAAAAAAAhCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAboEAAAAAAAABAAAAIRAAAAAAAAAAAAAA8QAAAPIAAADzAAAAAAAAAG6BAAAAAAAA/wAAACEIAAABAAAAAAAAAPAAAAAAAAAAAAAAAAAAAABygQAAAAAAAAAAAAAhCAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcoEAAAAAAAABAAAAIRAAAAEAAAAAAAAA8QAAAPIAAADzAAAAAAAAAHKBAAAAAAAAAQAAAIEIAAAAAAAAAAAAAPQAAAAAAAAAAAAAAAAAAACjmwAAAAAAAAEAAABBCAAAAAAAAAAAAAD1AAAAAAAAAAAAAAAAAAAAqpsAAAAAAAACAAAAAQgAAAAAAAAAAAAA9gAAAAAAAAAAAAAAAAAAALGbAAAAAAAA/wAAAAEIAAAAAAAAAAAAAPcAAAAAAAAAAAAAAAAAAAC3mwAAAAAAAAEAAAABCAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAAvpsAAAAAAAD/AAAAAQgAAAAAAAAAAAAA+QAAAAAAAAAAAAAAAAAAAMabAAAAAAAAAQAAAAEIAAAAAAAAAAAAAPoAAAAAAAAAAAAAAAAAAADLmwAAAAAAAAEAAAABCAAAAAAAAAAAAAD7AAAAAAAAAAAAAAAAAAAAz5sAAAAAAAACAAAAAQgAAAAAAAAAAAAA+wAAAAAAAAAAAAAAAAAAAM+bAAAAAAAAAQAAAAEIAAAAAAAAAAAAAPwAAAAAAAAAAAAAAAAAAADVmwAAAAAAAAEAAAABCAAAAAAAAAAAAAD9AAAAAAAAAAAAAAAAAAAA25sAAAAAAAABAAAAAQgAAAAAAAAAAAAA/gAAAAAAAAAAAAAAAAAAAOGbAAAAAAAAAgAAAAEIQAAAAAAAAAAAAOwAAAAAAAAAAAAAAAAAAADlmwAAAAAAAAAAAAABAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAA7JsAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAPObAAAAAAAAAgAAACEIAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAD+mwAAAAAAAAAAAAABIAAAAAAAAAAAAADsAAAAAAAAAAAAAAAAAAAABZwAAAAAAAAAAAAAASAAAAAAAAAAAAAAAgEAAAAAAAAAAAAAAAAAABScAAAAAAAAAgAAAAEIAAAAAAAAAAAAAAMBAAAAAAAAAAAAAAAAAAAlnAAAAAAAAAEAAAABCAAAAAAAAAAAAAAEAQAAAAAAAAAAAAAAAAAAMJwAAAAAAAAAAAAAAQAAAAAAAAAAAAAABQEAAAAAAAAAAAAAAAAAADacAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAYBAAAAAAAAAAAAAAAAAABInAAAAAAAAAAAAAABAAAAAAAAAAAAAAAHAQAAAAAAAAAAAAAAAAAAUJwAAAAAAAADAAAAAQgAAAAAAAAAAAAACAEAAAAAAAAAAAAAAAAAAF6cAAAAAAAAAQAAAAEIAAAAAAAAAAAAAAkBAAAAAAAAAAAAAAAAAABmnAAAAAAAAAIAAAABCAAAAAAAAAAAAAAKAQAAAAAAAAAAAAAAAAAAb5wAAAAAAAADAAAAAQgAAAAAAAAAAAAACgEAAAAAAAAAAAAAAAAAAG+cAAAAAAAAAgAAAAEIAAAAAAAAAAAAAAoBAAAAAAAAAAAAAAAAAAB2nAAAAAAAAAMAAAABCAAAAAAAAAAAAAAKAQAAAAAAAAAAAAAAAAAAdpwAAAAAAAABAAAAAQAAAAAAAAAAAAAACwEAAAwBAAAMAQAADQEAAICcAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAsBAAAOAQAADgEAAA0BAACEnAAAAAAAAAEAAAABAAAAAAAAAAAAAAALAQAADwEAAA8BAAANAQAAipwAAAAAAAAAAAAAAQEAAAAAAAAAAAAAEAEAABEBAAARAQAAEgEAAI6cAAAAAAAAAQAAAAEAAAAAAAAAAAAAABABAAARAQAAEQEAABIBAACOnAAAAAAAAAEAAAABAAAAAAAAAAAAAAATAQAAFAEAABUBAAAWAQAAlJwAAAAAAAACAAAAAQAAAAAAAAAAAAAAEwEAABQBAAAVAQAAFgEAAJScAAAAAAAAAgAAAA0IAAC7BwAAAAAAADUAAAAAAAAAAAAAAAAAAACwfgAAAAAAAAIAAAAFCAAAvwcAAAAAAAA1AAAAAAAAAAAAAAAAAAAAtX4AAAAAAAADAAAABQgAAL8HAAAAAAAANQAAAAAAAAAAAAAAAAAAALV+AAAAAAAAAQAAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAChnAAAAAAAAAAAAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoZwAAAAAAAD/AAAAAQhAAAAAAAAAAAAA7AAAAAAAAAAAAAAAAAAAAKGcAAAAAAAAAwAAAAEIQAAFAAAAAAAAAOwAAAAAAAAAAAAAAAAAAACqnAAAAAAAAAAAAAAAAAAAQy0AAD4tAAC0nAAAuZwAADktAAAAAAAAAAAAAAAAAAAJAAAAAQgEAAAAAAAAAAAAFwEAAAAAAAAAAAAAAAAAAPecAAAAAAAABwAAAAEIBAAAAAAAAAAAABgBAAAAAAAAAAAAAAAAAAAMnQAAAAAAAAUAAAABCAQAAAAAAAAAAAAZAQAAAAAAAAAAAAAAAAAAIJ0AAAAAAAAAAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAaAQAAGwEAABsBAABKAAAAT3AAAAAAAAAAAAAAAQABAAAAAAAAAAAAHAEAAB0BAAAdAQAASgAAAFpwAAAAAAAAAAAAAAEAAQAAAAAAAAAAAB4BAAAfAQAAHwEAAEoAAABlcAAAAAAAAAAAAAABAAEAAAAAAAAAAAAgAQAAIQEAACEBAAAiAQAAanAAAAAAAAAAAAAAAQABAAAAAAAAAAAAIwEAACQBAAAkAQAAJQEAAHdwAAAAAAAAAQAAAAEAAQAAAAAAAAAAACYBAAAnAQAAJwEAACgBAACBcAAAAAAAAAEAAAABAAEAAAAAAAAAAAApAQAAKgEAACsBAAAsAQAAW50AAAAAAAACAAAAAQABAAAAAAAAAAAALQEAAC4BAAAvAQAASgAAAPB9AAAAAAAAAQAAAAEAAQAAAAAAAAAAADABAAAxAQAALwEAAEoAAAD6fQAAAAAAAAEAAAABAAEAAAAAAAAAAABKAAAALwEAAC8BAABKAAAAh3AAAAAAAAACAAAAAQABAAAAAAAAAAAASgAAAC8BAAAvAQAASgAAAIdwAAAAAAAAAwAAAAEAAQAAAAAAAAAAAEoAAAAvAQAALwEAAEoAAACHcAAAAAAAAAEAAAABAAEAAAAAAAAAAABKAAAALwEAAC8BAABKAAAAjHAAAAAAAAACAAAAAQABAAAAAAAAAAAASgAAAC8BAAAvAQAASgAAAIxwAAAAAAAAAwAAAAEAAQAAAAAAAAAAAEoAAAAvAQAALwEAAEoAAACMcAAAAAAAAAAAAAAAAAAA/wAAAAEoAAAQCwEAAAAAADIBAAAAAAAAAAAAAAAAAACTnQAAAAAAAP8AAAABKAAAEAsBAAAAAAAzAQAAAAAAAAAAAAAAAAAAnZ0AAAAAAAD/AAAAASgAABALAQAAAAAANAEAAAAAAAAAAAAAAAAAAKKdAAAAAAAA/wAAAAEoAAAQCwEAAAAAADUBAAAAAAAAAAAAAAAAAACnnQAAAAAAAP8AAAABKAAAEAsBAAAAAAA2AQAAAAAAAAAAAAAAAAAAsJ0AAAAAAAAAAAAAASAAAAAAAAAAAAAANwEAAAAAAAAAAAAAAAAAALmdAAAAAAAAAAAAAAEgAAAAAAAAAAAAADgBAAAAAAAAAAAAAAAAAADGnQAAAAAAAAAAAAABIAAAAAAAAAAAAAA5AQAAAAAAAAAAAAAAAAAA2J0AAAAAAAAXvQAAa8UAAHPFAAB6xQAAZQ8AAAAAAAAAAAAAAAAAAL/KAAAXvQAAoskAAGvFAAA2NwAAAAAAAAAAAAAAAAAAAAC/BdkG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4wblBgAAAAAAAAAAAAAAAAAAAAAgACEAJAAlACgAKQAqACsALAAtAC4AMAA6ADwAPwBBAFsAXABdAF4AXwBgAGEAewB8AH0AfgB/AKAAoQCiAKYApwCoAKkAqgCrAKwArQCuAK8AsACxALIAtAC1ALYAuAC5ALoAuwC8AL8AwADXANgA3wD3APgAAAE4ATkBSQFKAXkBfwGBAYMBhAGHAYoBjAGOAZIBkwGVAZYBmQGcAZ4BnwGhAaIBpwGrAawBrwGyAbQBtQG4AboBuwG8Ab4BwAHEAcUBxgHHAcgByQHKAcsBzAHNAd0B3gHwAfEB8gHzAfQB9wH5AfoBNAI6AjwCPQI/AkECRAJHAkgCUAKUApUCsALCAsYC0gLgAuUC7ALtAu4C7wIAA3ADdAN1A3YDegN7A34DhAOGA4cDiAOMA44DkAORA6MDrAPPA9ED0gPVA9gD8AP0A/YD9wP6A/wD/QMwBGAEggSDBIgEigTBBM8E0AQxBVkFWgVhBYkFigWPBZEFvgW/BcAFwQXDBcQFxgXHBdAF8AXzBQAGBgYJBgsGDAYOBhAGGwYeBiAGQAZBBksGYAZqBm4GcAZxBtQG1QbWBt0G3gbfBuUG5wbpBuoG7gbwBvoG/Qb/BgAHDwcQBxEHEgcwB00HpgexB8AHygfrB/QH9gf3B/oHAAgWCBoIGwgkCCUIKAgpCDAIQAhZCF4IoAiiCOQIAAkDCQQJOgk7CTwJPQk+CUEJSQlNCU4JUAlRCVgJYglkCWYJcAlxCXIJeQmBCYIJhQmPCZMJqgmyCbYJvAm9Cb4JwQnHCcsJzQnOCdcJ3AnfCeIJ5gnwCfIJ9An6CfsJAQoDCgUKDwoTCioKMgo1CjgKPAo+CkEKRwpLClEKWQpeCmYKcApyCnUKgQqDCoUKjwqTCqoKsgq1CrwKvQq+CsEKxwrJCssKzQrQCuAK4grmCvAK8QoBCwILBQsPCxMLKgsyCzULPAs9Cz4LPwtAC0ELRwtLC00LVgtXC1wLXwtiC2YLcAtxC3ILgguDC4ULjguSC5kLnAueC6MLqAuuC74LwAvBC8YLygvNC9AL1wvmC/AL8wv5C/oLAQwFDA4MEgwqDDUMPQw+DEEMRgxKDFUMWAxgDGIMZgx4DH8MggyFDI4MkgyqDLUMvAy9DL4MvwzADMYMxwzKDMwM1QzeDOAM4gzmDPEMAg0FDQ4NEg09DT4NQQ1GDUoNTQ1ODVcNYA1iDWYNcA15DXoNgg2FDZoNsw29DcANyg3PDdIN1g3YDfIN9A0BDjEOMg40Dj8OQA5GDkcOTw5QDloOgQ6EDocOig6NDpQOmQ6hDqUOpw6qDq0OsQ6yDrQOuw69DsAOxg7IDtAO3A4ADwEPBA8TDxQPFQ8YDxoPIA8qDzQPNQ82DzcPOA85DzoPOw88Dz0PPg9AD0kPcQ9/D4APhQ+GD4gPjQ+ZD74Pxg/HD84P0A/VD9kPABArEC0QMRAyEDgQORA7ED0QPxBAEEoQUBBWEFgQWhBeEGEQYhBlEGcQbhBxEHUQghCDEIUQhxCNEI4QjxCQEJoQnRCeEKAQxxDNENAQ+xD8EP0QShJQElgSWhJgEooSkBKyErgSwBLCEsgS2BISExgTXRNgE2kTgBOQE6ATABQBFG0WbxaAFoEWmxacFqAW6xbuFgAXDhcSFyAXMhc1F0AXUhdgF24XcheAF7QXthe3F74XxhfHF8kX1BfXF9gX2xfcF90X4BfwFwAYBhgHGAsYDhgQGCAYQxhEGIAYqRiqGLAYABkgGSMZJxkpGTAZMhkzGTkZQBlEGUYZUBlwGYAZsBnBGcgZ0BnaGd4ZABoXGhkaHhogGlUaVhpXGlgaYBphGmIaYxplGm0acxp/GoAakBqgGqcaqBoAGwQbBRs0GzUbNhs7GzwbPRtCG0MbRRtQG1obYRtrG3QbgBuCG4MboRuiG6YbqBuqG6sbrBuuG7AbuhvmG+cb6BvqG+0b7hvvG/Ib/BsAHCQcLBw0HDYcOxxAHE0cUBxaHHgcfhzAHNAc0xzUHOEc4hzpHO0c7hzyHPQc9RwAHSwdax14HXkdmx3AHfwdAB6WHp4eAB8IHxAfGB8gHygfMB84H0AfSB9QH1kfWx9dH18fYR9oH3AfgB+IH5AfmB+gH6gfsB+2H7gfvB+9H74fvx/CH8YfyB/MH80f0B/WH9gf3R/gH+gf7R/yH/Yf+B/8H/0fACALIBAgFiAYIBkgGiAbIB0gHiAfICAgKCApICogLyAwIDkgOiA7ID8gQSBEIEUgRiBHIFIgUyBUIFUgXyBgIGogcCBxIHQgeiB9IH4gfyCAIIogjSCOIJAgoCDQIN0g4SDiIOUgACECIQMhByEIIQohCyEOIRAhEyEUIRUhFiEYIRkhHiEkISUhJiEnISghKSEqIS4hLyEwITQhNSE5ITohPCE+IUAhRSFHIUohSyFMIU4hTyFQIWAhgyGFIYkhkCGVIZohnCGgIaEhoyGkIaYhpyGuIa8hziHQIdIh0yHUIdUh9CEAIwgjDCMgIyIjKSMqIysjfCN9I5sjtCPcI+IjACRAJGAknCTqJAAltyW4JcElwiX4JQAmbyZwJgEnaCdpJ2onaydsJ20nbidvJ3AncSdyJ3MndCd1J3YnlCfAJ8UnxifHJ+Yn5yfoJ+kn6ifrJ+wn7SfuJ+8n8CcAKAApgymEKYUphimHKYgpiSmKKYspjCmNKY4pjymQKZEpkimTKZQplSmWKZcpmCmZKdgp2SnaKdsp3Cn8Kf0p/ikAKzArRStHK1ArACwwLGAsYyxlLGcsbixxLHIsdCx1LHcsfCx+LIEsgizkLOUs6yzvLPIs+Sz9LP4sAC0nLS0tMC1vLXAtfy2ALaAtqC2wLbgtwC3ILdAt2C3gLQAuAi4DLgQuBS4GLgkuCi4LLgwuDS4OLhcuGC4aLhsuHC4dLh4uIC4hLiIuIy4kLiUuJi4nLiguKS4qLi8uMC46LoAumy4AL/AvADABMAQwBTAGMAcwCDAJMAowCzAMMA0wDjAPMBAwETASMBQwFTAWMBcwGDAZMBowGzAcMB0wHjAgMCEwKjAuMDAwMTA2MDgwOzA8MD0wPjBBMJkwmzCdMJ8woDChMPsw/DD/MAUxMTGQMZIxljGgMcAx8DEAMiAyKjJIMlAyUTJgMoAyijKxMsAyADMANLVNwE0ATsyfAKAVoBagkKTQpPik/qQApQymDaYQpiCmKqZApm6mb6ZwpnOmdKZ+pn+mgKafpqCm5qbwpvKmAKcXpyCnIqcwpzKncKdxp3mnfqeIp4mni6eQp6Cn+Kf6p/unAqgDqAaoB6gLqAyoI6glqCeoKKgwqDaoOKg5qECodKiAqIKotKjEqM6o0KjgqPKo+Kj7qACpCqkmqS6pMKlHqVKpX6lgqYCpg6mEqbOptKm2qbqpvKm9qcGpz6nQqd6pAKopqi+qMaozqjWqQKpDqkSqTKpNqlCqXKpgqnCqcap3qnqqe6qAqrCqsaqyqrWqt6q5qr6qwKrBqsKq26rdqt6q4Krrquyq7qrwqvKq86r1qvaqAasJqxGrIKsoq8Cr46vlq+ar6Kvpq+ur7Kvtq/CrAKyj17DXy9cA2H/b/9v/3wDg//gA+XD6APsT+x37Hvsf+yn7Kvs4+z77QPtD+0b7svvT+z79P/1Q/ZL98P38/f39AP4Q/hf+GP4Z/iD+MP4x/jP+Nf42/jf+OP45/jr+O/48/j3+Pv4//kD+Qf5C/kP+RP5F/kf+SP5J/k3+UP5U/lj+Wf5a/lv+XP5d/l7+X/5i/mP+ZP5o/mn+av5w/nb+//4B/wT/Bf8I/wn/Cv8L/wz/Df8O/xD/Gv8c/x//If87/zz/Pf8+/z//QP9B/1v/XP9d/17/X/9g/2H/Yv9j/2T/Zv9w/3H/nv+g/8L/yv/S/9r/4P/i/+P/5P/l/+j/6f/t//n//P8AAA0AKAA8AD8AUACAAAABBwE3AUABdQF5AYoBkAHQAf0BgAKgAgADIAMwA0EDQgNKA4ADnwOgA8gD0APRAwAEKARQBKAEAAgICAoINwg8CD8IVwhYCAAJFgkfCSAJPwmACb4JAAoBCgUKDAoQChUKGQo4Cj8KQApQCmAKfQp/CgALOQtAC1gLYAt4CwAMYA4AEAEQAhADEDgQRxBSEGYQgBCCEIMQsBCzELcQuRC7EL0QvhDQEPAQABEDEScRLBEtETYRQBGAEYIRgxGzEbYRvxHBEcUR0BGAFqsWrBatFq4WsBa2FrcWwBYAIAAkcCQAMABoAG9Qb1Fvj2+TbwCwANAA0SnRZdFn0WrRbdFz0XvRg9GF0YzRqtGu0QDSQtJF0gDTYNMA1BrUNNRO1FbUaNSC1JzUntSi1KXUqdSu1LbUu9S91MXU0NTq1ATVB9UN1RbVHtU41TvVQNVG1UrVUtVs1YbVoNW61dTV7tUI1iLWPNZW1nDWitao1sHWwtbb1tzW4tb71vzWFdcW1xzXNdc210/XUNdW12/XcNeJ14rXkNep16rXw9fE18rXztcA7gXuIe4k7ifuKe407jnuO+5C7kfuSe5L7k3uUe5U7lfuWe5b7l3uX+5h7mTuZ+5s7nTuee5+7oDui+6h7qXuq+7w7gDwMPCg8LHwwfDR8ADxEPEw8XDx5vEQ8kDyUPIA8zDzN/OA86DzxvPg8wD0QPRC9Pn0APVA9VD1+/VF9oD2APcAANamAKc0t0C3HbgA+AEAIAAAAQAA/f8AAAAAAAABBD0AdQA3AHUANgAyADUAOQA1ADEAVQBNAVUAeQBVAEkDNgA1ADIAOAAwADgARQM2ADkAMgA5ACEEPQA1AJcAOgA1ADgAOgAnADQAOQAiADoAOAA6ADkATwA4ACUAVQA4AC8AJwAzAG8ANQDpAjkA6QAFAzkABQEeByUAHgIlAP4F3gBFAEkAJQB+AH4ASQBFAIkAJQBJACUAaQBlAEkAJQBJACUAvgCeACUAfgB+AEkAJQB+AF4AJQAnAF4ARQCHACkAKAAlACkAKAAlACkAKAAlAB4CJQBeAiUAKQAoACUAfgBJACUAXgfFAEkAJQBJAEUAfgBpACUAHgGFCCcAZQNGApgAhgHYAaYA+AAmADgAJgA4AgwOngAmADgAXgAmAGUANQBYACkANQBpACkASQAlACkCKQFlBF4AJQBpAGUAHgOFAF4AOQB+AF4AJQBpBgUGXgQ6AKwASwD+Bt4BJQAeC8kEJgDVAOUENQAxADcArAUxACwANQBMADUATAA1ACwAZwNnAFUAogB5AFUANwBVAFoAbAE1AFUABwQmAEcBrAJNAZUARwAsAGcMNQAnAOwAIgA6AMwARgBMADoAjABHAE0BZwBaACcA1QEiACcALADHA2wDJwtsAScATQEnBCwBRgA6AHUAJgDHAowAJgAsASYAbAAmAKwA9QEnA2wANQAnAGcBbANsACoAxwYsACoALAAnAGoADAGKACwASgAnAOwARwFMAFUATQE1ACYAxwDnACwASgAHAUcAxwLnACcAhwAsACcAagCMAEoASgAsACcAKgBHAGcATABNAUcAVwDPADoANwBMACoAxwBHAMcC5wBHAEcARwAsAGoATABMAGwALACHACcATQFMAGcALABMACoAJwFnAMcC5wBHAKcALAAnAGoArABMACoASgAsACcARwBMAE0BNQA3ACwASgAHAUcAxwLnAEcApwAsACcAKgAsACoAjABKAEoALAAsACoARwBnAEwATQE6ACcAzwAsACcAxwBnAIcARwAnAEcARwBnAIcBSgAsAEoAagBqACwAJwAqAE0BbwDaADcAOgBqAAcBZwDnAkcBpwAnAGwAigBsAIwATABHAEcATABNAe8AOgBKAAcBZwDnAkcBpwAsACcAKgAsAKoALABKAEoATABKACcARwBMAE0BRwBKAAcBZwAnBScAagCMAGoAagAsACcAKgBHAEwATQHPADoAxwBKAEcCBwMnAScA5wAsAGoAbAAsAAoBSgA1AAcGLABHAOwANwDHACYADAE1AE0BVQBHACcARwAnACcAhwDnAGcAJwAnAEcAhwAsAEcAzABMACcApwAmAMwATQGHACcAegD1AToANQB6AEwA2gBNAU8BOgAsADoALAA6ACwANgAyADYAMgBKAAcBhwTMASoArAA1AEwApwBsAYwEGgEsANoAWgC1AJoAVQBnBUoAjAAqAMwAKgBMAEoATAAnAE0B1QDHAEoATACHAGwAJwBqAEcA6gBnAIwApwEsAEoATADKACwAJwAqAE0BagAsAFoAyQQpACkAZwU1ACYAhymHAOcAJwCHACcFhwAnBIcA5wAnAIcA5wEnB4cAZwhsADUBjwIHAloBpwoxAIdNVQAnAj0ARwM2ADIAZwl1AG4ApwGHAGwARwJsAFUARwJMAKcBZwBMAIcGTAAqAOwACgEsAEoAbAF1ACYAdQA3ACcALABNAU8B1QAxAJUAbAA9AE0BZwQmAIcGJwUsACcAxwinA2wAigBMAGoASgAsAMoAbAA6AFUATQHHA6cAhwUqAucASgBNAS8AWgTnAkwAagBVAKcGKgAsACoA7AAsACoALABKAAwBygBMASwATQFNAfUAJgDVAIwAKgDnBSwAKgCsACoALACqACwASgDnAE0B9QBaASwBOgFMACoAxwMqAIwASgBMACoALABKAEcATQGHBSwAKgBMAGoALAAqAGwASgCVAIcECgEMAUoATAC1AE0BZwBNAccDxgBVABUBbAA1AKwBKgDsAIcALACHAEoALABHAIUF5gelASYARQSmBOwEjADeEgUBXgwFAQkBxQDJAAUBCQEFAQkBxQDJAAUBKQApACkAXgDlAAkBxQEFAQgBBQEIAQUBCAGlAEUAiQAoADgAJQB4AGUARQCJACgAeACFAEUAiQB4AAUBqQB4AGUARQCJACgAWAB9AaIA0QBVADQAMwA2AFQAMwA2ADQAFQE7ADwAogA9ADUBNAAzAJUAUAB1ADkANgAyAHUBOQA1ADAAVQE9AKIAwgAvACYAzwB5ADYAMgAmAE8BeQA2ADIApgFXA6wBiwAsAGsAjAFaACkAmgApAFoAJQBpAEUAaQAlADoAKQBaADkAqQDaACkAOgApADoAKQA6AIkAOgAlAIkAJQCHACUAWgBFAEkAuQBeAGUAOgA5AFoAJQA6AA8CbgReAI4ALwC5ALoAWQCaADkAWgA5AFoAOQD6ADkA+gNZAFoAOQA6ADkA+gOZIRoBmQCaAlkA+gA2ADIAOgo5ANoDOQMaBdkAWgL6BHoBjwfaCc8C+hY5ADoBOQDaBhkB+g05ABoS+gw2ADIANgAyADYAMgA2ADIANgAyADYAMgA2ADIAzwOaBbkANgAyAPkDNgAyADYAMgA2ADIANgAyADYAMgAZAhogeRA2ADIANgAyADYAMgA2ADIANgAyADYAMgA2ADIANgAyADYAMgA2ADIANgAyAPkHNgAyADYAMgAZBDYAMgBZIBoGuQJaANkAWgHpBeUFfgBJAEUA/gBpACUAXgAlAF4ApQBGAGkAJQBeDCUA2gCeAGwAXgCVAC8AVQDFBCUAJQAHByYANQAsAOcC5wDnAOcA5wDnAOcA5wDnAAwEVQA0ADMANAAzAHUANAAzADUANAAzADUBMQBVADEANQA0ADMAVQA0ADMANgAyADYAMgA2ADIANgAyALUAJgBVAVEAWgM6C9oamgE9AHUAOgAmACcALgA2ADIANgAyADYAMgA2ADIANgAyAFoANgAyADYAMgA2ADIANgAyADEANgBSADoALgGMAEoAMQCmAFoAbgAmACcANQBaAMcKTABYAEYAJwAxAEcLNQBmACcAJwXHC1oAjwBaAWcDmgQHAvoDTwHaAw8BOgDvARoETwH6BO8B+gcaICcAJwAaCCcAJwCnAiYA5476BgcFxgBVAIchJgB1AAcCTQFHAN4FJwAsAGsANQBMATUAJgAeAywAxwhOAUwA1QD4AiYBWADeAUUA3gcmAAUBvgBeASYAWACeAJ4AfgFGACUA5wAsAGcALACHACwA5wJKAEwAKgCaAM8AWgA3ADoAhwaVAEoARwYKAiwAVQBNAUwCxwB1ACcATQGHAwwBVQDnAmwBSgA1AKcDbAAqAOcFLABKAIwASgAsAIoAtQEmAE0BVQAnBcwASgBMAEoATABnACwABwEsACoATQGVAAcCJgDHAHoAJwAqAAcGLAAnAGwARwBMAKcATAAnACwAJwBHACYAVQBnASoATABKAFUAJwBGACoALADHAMcAxwDnAOcAZwRKACwASgAsAEoANQAqACwATQEnACcA5wInBiQARABEACQAPwA/AMctRw3lAKUAJwAsAEcBOQCnAacAJwBHAEcAhw0YAmctNgAyAAcIxwaHATcAOgAMAvUANgAyADUA7AA1AFEAUAA2ADIANgAyADYAMgA2ADIANgAyADYAMgA2ADIANgAyAFUANgAyAJUAcAB1AJUAMQA2ADIANgAyADYAMgB1ADkAMQB5ADUANwBVAKcA5xAiAHUANwB1ADYAMgA1ADkANQAxAFUATQFVAHkAVQBJAzYANQAyADgAMAA4AEUDNgA5ADIAOQA2ADIANQA2ADIAVQBHASYApwVGAOcDxwDHAMcAZwBXADkAOAA6AFcAOgCZAFoAYgBaAIcBRwNnAkcA5wHHAWcPdQCvBToBrgaPADoCLwCaAboFLACnAycG5wOPACcCLgAHAS4AxwM1AIcEBwE1AK4ACQUFBccJTQHHACcAhwVHACcA5wI1AA8BxwLPADUARwM1AAcHRwAnAGwATACMAIcAZwBnA2wALAAPATUBpwNPADUAxwb1AMcCDwFnAg8BJwnvAyoALAAqAKcG7AH1AI8CTQFMACoApwVqAIwASgBMAFUAIgCVACcDTQFsAIcErAAqAAwBTQGVAEwAKgAHBmoALAFKAIcAlQBNAWcFLAAqACwASgDMACoALABNAedtbgyVAOeFJ0enCCcAygWMAKYBRwDaHvoEmgdKAGwAegDKAAIBDAFaAOwA2gOMABoGWghsADoA+gpPAkkDRQNJA+UARQJJA0UDKQBJACkASQCJAAkBhQAlAOUAZQFJA0UDSQCJAAkB6QBFA0kAiQCpACkA6QBFA0kDRQNJA0UDSQNFA0kDRQNJA0UDSQOFAykDOQAlAzkAxQApAzkAJQM5AMUAKQM5ACUDOQDFACkDOQAlAzkAxQApAzkAJQM5AMUAXgBNBocAZwNHACcAJwBHAYcAJwAnACcAJwAnACcAZwBHACcAJwAnACcAJwAnAEcAJwCHAOcAhwCHACcARwEnAmcApwAnAlkAmgWaDPoB2gH6AfoBbwH6A5oHegW6A3oFOgFaADoE2gDaCJoCugS6ADoC+gc6ANoWmgDaB5oAGgPaCHoB2giaDicAJwAnACcAJwAnAMdDIgACDAwePwA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAwAAANcBAADYAQAA2QEAANoBAADbAQAA3AEAAN0BAADeAQAA3wEAAOABAADhAQAA4gEAAOMBAADkAQAA5QEAAOUBAADlAQAAAAAAAOYBAADnAQAAAAAAAAAAAADoAQAAUuQAAF3kAAAAAAAAAAAAAMbkAAD75AAAKOUAAFzlAACS5QAAv+UAAPnlAAAw5gAAsekAAAYtAABfNwAAAAAAAAAAAAD6AQAA+wEAAPwBAAAAAAAA/QEAAP4BAAD/AQAAAAIAAAECAAACAgAAAwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6AQAA+wEAAPwBAAAAAAAABAIAAP4BAAD/AQAAAAIAAAECAAACAgAAAwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbfcAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUwAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAADoCAAAAAAAAAAAAAAAAAAAAAAAAAAAAADsCAAA8AgAAKMIBAAAEAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAr/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMi8AQA="); +base64DecodeToExistingUint8Array(bufferView, 114016, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="); +return asmFunc({ + 'Int8Array': Int8Array, + 'Int16Array': Int16Array, + 'Int32Array': Int32Array, + 'Uint8Array': Uint8Array, + 'Uint16Array': Uint16Array, + 'Uint32Array': Uint32Array, + 'Float32Array': Float32Array, + 'Float64Array': Float64Array, + 'NaN': NaN, + 'Infinity': Infinity, + 'Math': Math + }, + asmLibraryArg, + wasmMemory.buffer +) + +} +)(asmLibraryArg, wasmMemory, wasmTable); + }, + + instantiate: /** @suppress{checkTypes} */ function(binary, info) { + return { + then: function(ok) { + var module = new WebAssembly.Module(binary); + ok({ + 'instance': new WebAssembly.Instance(module) + }); + // Emulate a simple WebAssembly.instantiate(..).then(()=>{}).catch(()=>{}) syntax. + return { catch: function() {} }; + } + }; + }, + + RuntimeError: Error +}; + +// We don't need to actually download a wasm binary, mark it as present but empty. +wasmBinary = []; + + + +if (typeof WebAssembly !== 'object') { + abort('no native wasm support detected'); +} + + + + +// In MINIMAL_RUNTIME, setValue() and getValue() are only available when building with safe heap enabled, for heap safety checking. +// In traditional runtime, setValue() and getValue() are always available (although their use is highly discouraged due to perf penalties) + +/** @param {number} ptr + @param {number} value + @param {string} type + @param {number|boolean=} noSafe */ +function setValue(ptr, value, type, noSafe) { + type = type || 'i8'; + if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit + switch(type) { + case 'i1': HEAP8[((ptr)>>0)]=value; break; + case 'i8': HEAP8[((ptr)>>0)]=value; break; + case 'i16': HEAP16[((ptr)>>1)]=value; break; + case 'i32': HEAP32[((ptr)>>2)]=value; break; + case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; + case 'float': HEAPF32[((ptr)>>2)]=value; break; + case 'double': HEAPF64[((ptr)>>3)]=value; break; + default: abort('invalid type for setValue: ' + type); + } +} + +/** @param {number} ptr + @param {string} type + @param {number|boolean=} noSafe */ +function getValue(ptr, type, noSafe) { + type = type || 'i8'; + if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit + switch(type) { + case 'i1': return HEAP8[((ptr)>>0)]; + case 'i8': return HEAP8[((ptr)>>0)]; + case 'i16': return HEAP16[((ptr)>>1)]; + case 'i32': return HEAP32[((ptr)>>2)]; + case 'i64': return HEAP32[((ptr)>>2)]; + case 'float': return HEAPF32[((ptr)>>2)]; + case 'double': return HEAPF64[((ptr)>>3)]; + default: abort('invalid type for getValue: ' + type); + } + return null; +} + + + + + + +// Wasm globals + +var wasmMemory; + +// In fastcomp asm.js, we don't need a wasm Table at all. +// In the wasm backend, we polyfill the WebAssembly object, +// so this creates a (non-native-wasm) table for us. + +var wasmTable = new WebAssembly.Table({ + 'initial': 573, + 'element': 'anyfunc' +}); + + + + +//======================================== +// Runtime essentials +//======================================== + +// whether we are quitting the application. no code should run after this. +// set in exit() and abort() +var ABORT = false; + +// set by exit() and abort(). Passed to 'onExit' handler. +// NOTE: This is also used as the process return code code in shell environments +// but only when noExitRuntime is false. +var EXITSTATUS = 0; + +/** @type {function(*, string=)} */ +function assert(condition, text) { + if (!condition) { + abort('Assertion failed: ' + text); + } +} + +// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) +function getCFunc(ident) { + var func = Module['_' + ident]; // closure exported function + assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported'); + return func; +} + +// C calling interface. +/** @param {string|null=} returnType + @param {Array=} argTypes + @param {Arguments|Array=} args + @param {Object=} opts */ +function ccall(ident, returnType, argTypes, args, opts) { + // For fast lookup of conversion functions + var toC = { + 'string': function(str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { // null string + // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' + var len = (str.length << 2) + 1; + ret = stackAlloc(len); + stringToUTF8(str, ret, len); + } + return ret; + }, + 'array': function(arr) { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret; + } + }; + + function convertReturnValue(ret) { + if (returnType === 'string') return UTF8ToString(ret); + if (returnType === 'boolean') return Boolean(ret); + return ret; + } + + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + assert(returnType !== 'array', 'Return type should not be "array".'); + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret; +} + +/** @param {string=} returnType + @param {Array=} argTypes + @param {Object=} opts */ +function cwrap(ident, returnType, argTypes, opts) { + return function() { + return ccall(ident, returnType, argTypes, arguments, opts); + } +} + +var ALLOC_NORMAL = 0; // Tries to use _malloc() +var ALLOC_STACK = 1; // Lives for the duration of the current function call +var ALLOC_DYNAMIC = 2; // Cannot be freed except through sbrk +var ALLOC_NONE = 3; // Do not allocate + +// allocate(): This is for internal use. You can use it yourself as well, but the interface +// is a little tricky (see docs right below). The reason is that it is optimized +// for multiple syntaxes to save space in generated code. So you should +// normally not use allocate(), and instead allocate memory using _malloc(), +// initialize it with setValue(), and so forth. +// @slab: An array of data, or a number. If a number, then the size of the block to allocate, +// in *bytes* (note that this is sometimes confusing: the next parameter does not +// affect this!) +// @types: Either an array of types, one for each byte (or 0 if no type at that position), +// or a single type which is used for the entire block. This only matters if there +// is initial data - if @slab is a number, then this does not matter at all and is +// ignored. +// @allocator: How to allocate memory, see ALLOC_* +/** @type {function((TypedArray|Array|number), string, number, number=)} */ +function allocate(slab, types, allocator, ptr) { + var zeroinit, size; + if (typeof slab === 'number') { + zeroinit = true; + size = slab; + } else { + zeroinit = false; + size = slab.length; + } + + var singleType = typeof types === 'string' ? types : null; + + var ret; + if (allocator == ALLOC_NONE) { + ret = ptr; + } else { + ret = [_malloc, + stackAlloc, + dynamicAlloc][allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var stop; + ptr = ret; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (; ptr < stop; ptr += 4) { + HEAP32[((ptr)>>2)]=0; + } + stop = ret + size; + while (ptr < stop) { + HEAP8[((ptr++)>>0)]=0; + } + return ret; + } + + if (singleType === 'i8') { + if (slab.subarray || slab.slice) { + HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + type = singleType || types[i]; + if (type === 0) { + i++; + continue; + } + assert(type, 'Must know what type to store in allocate!'); + + if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later + + setValue(ret+i, curr, type); + + // no need to look up size unless type changes, so cache it + if (previousType !== type) { + typeSize = getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!runtimeInitialized) return dynamicAlloc(size); + return _malloc(size); +} + + + + +// runtime_strings.js: Strings related runtime functions that are part of both MINIMAL_RUNTIME and regular runtime. + +// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns +// a copy of that string as a Javascript String object. + +var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; + +/** + * @param {number} idx + * @param {number=} maxBytesToRead + * @return {string} + */ +function UTF8ArrayToString(heap, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. + // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. + // (As a tiny code save trick, compare endPtr against endIdx using a negation, so that undefined means Infinity) + while (heap[endPtr] && !(endPtr >= endIdx)) ++endPtr; + + if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) { + return UTF8Decoder.decode(heap.subarray(idx, endPtr)); + } else { + var str = ''; + // If building with TextDecoder, we have already computed the string length above, so test loop end condition against that + while (idx < endPtr) { + // For UTF8 byte structure, see: + // http://en.wikipedia.org/wiki/UTF-8#Description + // https://www.ietf.org/rfc/rfc2279.txt + // https://tools.ietf.org/html/rfc3629 + var u0 = heap[idx++]; + if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } + var u1 = heap[idx++] & 63; + if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } + var u2 = heap[idx++] & 63; + if ((u0 & 0xF0) == 0xE0) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte 0x' + u0.toString(16) + ' encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!'); + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heap[idx++] & 63); + } + + if (u0 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } + } + } + return str; +} + +// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns a +// copy of that string as a Javascript String object. +// maxBytesToRead: an optional length that specifies the maximum number of bytes to read. You can omit +// this parameter to scan the string until the first \0 byte. If maxBytesToRead is +// passed, and the string at [ptr, ptr+maxBytesToReadr[ contains a null byte in the +// middle, then the string will cut short at that byte index (i.e. maxBytesToRead will +// not produce a string of exact length [ptr, ptr+maxBytesToRead[) +// N.B. mixing frequent uses of UTF8ToString() with and without maxBytesToRead may +// throw JS JIT optimizations off, so it is worth to consider consistently using one +// style or the other. +/** + * @param {number} ptr + * @param {number=} maxBytesToRead + * @return {string} + */ +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; +} + +// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', +// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. +// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. +// Parameters: +// str: the Javascript string to copy. +// heap: the array to copy to. Each index in this array is assumed to be one 8-byte element. +// outIdx: The starting offset in the array to begin the copying. +// maxBytesToWrite: The maximum number of bytes this function can write to the array. +// This count should include the null terminator, +// i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. +// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. + return 0; + + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) { + var u1 = str.charCodeAt(++i); + u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); + } + if (u <= 0x7F) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 0x7FF) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 0xC0 | (u >> 6); + heap[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0xFFFF) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 0xE0 | (u >> 12); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } else { + if (outIdx + 3 >= endIdx) break; + if (u >= 0x200000) warnOnce('Invalid Unicode code point 0x' + u.toString(16) + ' encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF).'); + heap[outIdx++] = 0xF0 | (u >> 18); + heap[outIdx++] = 0x80 | ((u >> 12) & 63); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } + } + // Null-terminate the pointer to the buffer. + heap[outIdx] = 0; + return outIdx - startIdx; +} + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. +// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); +} + +// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); + if (u <= 0x7F) ++len; + else if (u <= 0x7FF) len += 2; + else if (u <= 0xFFFF) len += 3; + else len += 4; + } + return len; +} + + + + + +// runtime_strings_extra.js: Strings related runtime functions that are available only in regular runtime. + +// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns +// a copy of that string as a Javascript String object. + +function AsciiToString(ptr) { + var str = ''; + while (1) { + var ch = HEAPU8[((ptr++)>>0)]; + if (!ch) return str; + str += String.fromCharCode(ch); + } +} + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. + +function stringToAscii(str, outPtr) { + return writeAsciiToMemory(str, outPtr, false); +} + +// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns +// a copy of that string as a Javascript String object. + +var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; + +function UTF16ToString(ptr, maxBytesToRead) { + assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); + var endPtr = ptr; + // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. + // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. + var idx = endPtr >> 1; + var maxIdx = idx + maxBytesToRead / 2; + // If maxBytesToRead is not passed explicitly, it will be undefined, and this + // will always evaluate to true. This saves on code size. + while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx; + endPtr = idx << 1; + + if (endPtr - ptr > 32 && UTF16Decoder) { + return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); + } else { + var i = 0; + + var str = ''; + while (1) { + var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; + if (codeUnit == 0 || i == maxBytesToRead / 2) return str; + ++i; + // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. + str += String.fromCharCode(codeUnit); + } + } +} + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. +// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. +// Parameters: +// str: the Javascript string to copy. +// outPtr: Byte address in Emscripten HEAP where to write the string to. +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. +// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF16(str, outPtr, maxBytesToWrite) { + assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 2) return 0; + maxBytesToWrite -= 2; // Null terminator. + var startPtr = outPtr; + var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; + for (var i = 0; i < numCharsToWrite; ++i) { + // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + HEAP16[((outPtr)>>1)]=codeUnit; + outPtr += 2; + } + // Null-terminate the pointer to the HEAP. + HEAP16[((outPtr)>>1)]=0; + return outPtr - startPtr; +} + +// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. + +function lengthBytesUTF16(str) { + return str.length*2; +} + +function UTF32ToString(ptr, maxBytesToRead) { + assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); + var i = 0; + + var str = ''; + // If maxBytesToRead is not passed explicitly, it will be undefined, and this + // will always evaluate to true. This saves on code size. + while (!(i >= maxBytesToRead / 4)) { + var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; + if (utf32 == 0) break; + ++i; + // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + if (utf32 >= 0x10000) { + var ch = utf32 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } else { + str += String.fromCharCode(utf32); + } + } + return str; +} + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. +// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. +// Parameters: +// str: the Javascript string to copy. +// outPtr: Byte address in Emscripten HEAP where to write the string to. +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. +// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF32(str, outPtr, maxBytesToWrite) { + assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 4) return 0; + var startPtr = outPtr; + var endPtr = startPtr + maxBytesToWrite - 4; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { + var trailSurrogate = str.charCodeAt(++i); + codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); + } + HEAP32[((outPtr)>>2)]=codeUnit; + outPtr += 4; + if (outPtr + 4 > endPtr) break; + } + // Null-terminate the pointer to the HEAP. + HEAP32[((outPtr)>>2)]=0; + return outPtr - startPtr; +} + +// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. + +function lengthBytesUTF32(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. + len += 4; + } + + return len; +} + +// Allocate heap space for a JS string, and write it there. +// It is the responsibility of the caller to free() that memory. +function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} + +// Allocate stack space for a JS string, and write it there. +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} + +// Deprecated: This function should not be called because it is unsafe and does not provide +// a maximum length limit of how many bytes it is allowed to write. Prefer calling the +// function stringToUTF8Array() instead, which takes in a maximum length that can be used +// to be secure from out of bounds writes. +/** @deprecated + @param {boolean=} dontAddNull */ +function writeStringToMemory(string, buffer, dontAddNull) { + warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var /** @type {number} */ lastChar, /** @type {number} */ end; + if (dontAddNull) { + // stringToUTF8Array always appends null. If we don't want to do that, remember the + // character that existed at the location where the null will be placed, and restore + // that after the write (below). + end = buffer + lengthBytesUTF8(string); + lastChar = HEAP8[end]; + } + stringToUTF8(string, buffer, Infinity); + if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. +} + +function writeArrayToMemory(array, buffer) { + assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)') + HEAP8.set(array, buffer); +} + +/** @param {boolean=} dontAddNull */ +function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); + HEAP8[((buffer++)>>0)]=str.charCodeAt(i); + } + // Null-terminate the pointer to the HEAP. + if (!dontAddNull) HEAP8[((buffer)>>0)]=0; +} + + + +// Memory management + +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var ASMJS_PAGE_SIZE = 16777216; + +function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - (x % multiple); + } + return x; +} + +var HEAP, +/** @type {ArrayBuffer} */ + buffer, +/** @type {Int8Array} */ + HEAP8, +/** @type {Uint8Array} */ + HEAPU8, +/** @type {Int16Array} */ + HEAP16, +/** @type {Uint16Array} */ + HEAPU16, +/** @type {Int32Array} */ + HEAP32, +/** @type {Uint32Array} */ + HEAPU32, +/** @type {Float32Array} */ + HEAPF32, +/** @type {Float64Array} */ + HEAPF64; + +function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module['HEAP8'] = HEAP8 = new Int8Array(buf); + Module['HEAP16'] = HEAP16 = new Int16Array(buf); + Module['HEAP32'] = HEAP32 = new Int32Array(buf); + Module['HEAPU8'] = HEAPU8 = new Uint8Array(buf); + Module['HEAPU16'] = HEAPU16 = new Uint16Array(buf); + Module['HEAPU32'] = HEAPU32 = new Uint32Array(buf); + Module['HEAPF32'] = HEAPF32 = new Float32Array(buf); + Module['HEAPF64'] = HEAPF64 = new Float64Array(buf); +} + +var STATIC_BASE = 1024, + STACK_BASE = 5359344, + STACKTOP = STACK_BASE, + STACK_MAX = 116464, + DYNAMIC_BASE = 5359344, + DYNAMICTOP_PTR = 116304; + +assert(STACK_BASE % 16 === 0, 'stack must start aligned'); +assert(DYNAMIC_BASE % 16 === 0, 'heap must start aligned'); + + +var TOTAL_STACK = 5242880; +if (Module['TOTAL_STACK']) assert(TOTAL_STACK === Module['TOTAL_STACK'], 'the stack size can no longer be determined at runtime') + +var INITIAL_INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 16777216;if (!Object.getOwnPropertyDescriptor(Module, 'INITIAL_MEMORY')) Object.defineProperty(Module, 'INITIAL_MEMORY', { configurable: true, get: function() { abort('Module.INITIAL_MEMORY has been replaced with plain INITIAL_INITIAL_MEMORY (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } }); + +assert(INITIAL_INITIAL_MEMORY >= TOTAL_STACK, 'INITIAL_MEMORY should be larger than TOTAL_STACK, was ' + INITIAL_INITIAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); + +// check for full engine support (use string 'subarray' to avoid closure compiler confusion) +assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, + 'JS engine does not provide full typed array support'); + + + + + + + + +// In non-standalone/normal mode, we create the memory here. + + + +// Create the main memory. (Note: this isn't used in STANDALONE_WASM mode since the wasm +// memory is created in the wasm, not in JS.) + + if (Module['wasmMemory']) { + wasmMemory = Module['wasmMemory']; + } else + { + wasmMemory = new WebAssembly.Memory({ + 'initial': INITIAL_INITIAL_MEMORY / WASM_PAGE_SIZE + , + 'maximum': 2147483648 / WASM_PAGE_SIZE + }); + } + + +if (wasmMemory) { + buffer = wasmMemory.buffer; +} + +// If the user provides an incorrect length, just use that length instead rather than providing the user to +// specifically provide the memory length with Module['INITIAL_MEMORY']. +INITIAL_INITIAL_MEMORY = buffer.byteLength; +assert(INITIAL_INITIAL_MEMORY % WASM_PAGE_SIZE === 0); +assert(65536 % WASM_PAGE_SIZE === 0); +updateGlobalBufferAndViews(buffer); + +HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; + + + + + + +// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. +function writeStackCookie() { + assert((STACK_MAX & 3) == 0); + // The stack grows downwards + HEAPU32[(STACK_MAX >> 2)+1] = 0x2135467; + HEAPU32[(STACK_MAX >> 2)+2] = 0x89BACDFE; + // Also test the global address 0 for integrity. + // We don't do this with ASan because ASan does its own checks for this. + HEAP32[0] = 0x63736d65; /* 'emsc' */ +} + +function checkStackCookie() { + var cookie1 = HEAPU32[(STACK_MAX >> 2)+1]; + var cookie2 = HEAPU32[(STACK_MAX >> 2)+2]; + if (cookie1 != 0x2135467 || cookie2 != 0x89BACDFE) { + abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x' + cookie2.toString(16) + ' ' + cookie1.toString(16)); + } + // Also test the global address 0 for integrity. + // We don't do this with ASan because ASan does its own checks for this. + if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); +} + + + + + +// Endianness check (note: assumes compiler arch was little-endian) +(function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 0x6373; + if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; +})(); + +function abortFnPtrError(ptr, sig) { + abort("Invalid function pointer " + ptr + " called with signature '" + sig + "'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). Build with ASSERTIONS=2 for more info."); +} + + + +function callRuntimeCallbacks(callbacks) { + while(callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == 'function') { + callback(Module); // Pass the module as the first argument. + continue; + } + var func = callback.func; + if (typeof func === 'number') { + if (callback.arg === undefined) { + Module['dynCall_v'](func); + } else { + Module['dynCall_vi'](func, callback.arg); + } + } else { + func(callback.arg === undefined ? null : callback.arg); + } + } +} + +var __ATPRERUN__ = []; // functions called before the runtime is initialized +var __ATINIT__ = []; // functions called during startup +var __ATMAIN__ = []; // functions called when main() is to be run +var __ATEXIT__ = []; // functions called during shutdown +var __ATPOSTRUN__ = []; // functions called after the main() is called + +var runtimeInitialized = false; +var runtimeExited = false; + + +function preRun() { + + if (Module['preRun']) { + if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; + while (Module['preRun'].length) { + addOnPreRun(Module['preRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPRERUN__); +} + +function initRuntime() { + checkStackCookie(); + assert(!runtimeInitialized); + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); +TTY.init(); + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + checkStackCookie(); + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATMAIN__); +} + +function exitRuntime() { + checkStackCookie(); + runtimeExited = true; +} + +function postRun() { + checkStackCookie(); + + if (Module['postRun']) { + if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; + while (Module['postRun'].length) { + addOnPostRun(Module['postRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPOSTRUN__); +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} + +function addOnExit(cb) { +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} + +/** @param {number|boolean=} ignore */ +function unSign(value, bits, ignore) { + if (value >= 0) { + return value; + } + return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts + : Math.pow(2, bits) + value; +} +/** @param {number|boolean=} ignore */ +function reSign(value, bits, ignore) { + if (value <= 0) { + return value; + } + var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 + : Math.pow(2, bits-1); + if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that + // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors + // TODO: In i64 mode 1, resign the two parts separately and safely + value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts + } + return value; +} + + + + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc + +assert(Math.imul, 'This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.fround, 'This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.clz32, 'This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.trunc, 'This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); + +var Math_abs = Math.abs; +var Math_cos = Math.cos; +var Math_sin = Math.sin; +var Math_tan = Math.tan; +var Math_acos = Math.acos; +var Math_asin = Math.asin; +var Math_atan = Math.atan; +var Math_atan2 = Math.atan2; +var Math_exp = Math.exp; +var Math_log = Math.log; +var Math_sqrt = Math.sqrt; +var Math_ceil = Math.ceil; +var Math_floor = Math.floor; +var Math_pow = Math.pow; +var Math_imul = Math.imul; +var Math_fround = Math.fround; +var Math_round = Math.round; +var Math_min = Math.min; +var Math_max = Math.max; +var Math_clz32 = Math.clz32; +var Math_trunc = Math.trunc; + + + +// A counter of dependencies for calling run(). If we need to +// do asynchronous work before running, increment this and +// decrement it. Incrementing must happen in a place like +// Module.preRun (used by emcc to add file preloading). +// Note that you can add dependencies in preRun, even though +// it happens right before run - run will be postponed until +// the dependencies are met. +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random(); + } +} + +function addRunDependency(id) { + runDependencies++; + + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { + // Check for missing dependencies every few seconds + runDependencyWatcher = setInterval(function() { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return; + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + err('still waiting on run dependencies:'); + } + err('dependency: ' + dep); + } + if (shown) { + err('(end of list)'); + } + }, 10000); + } + } else { + err('warning: run dependency added without ID'); + } +} + +function removeRunDependency(id) { + runDependencies--; + + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + err('warning: run dependency removed without ID'); + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); // can add another dependenciesFulfilled + } + } +} + +Module["preloadedImages"] = {}; // maps url to image data +Module["preloadedAudios"] = {}; // maps url to audio data + +/** @param {string|number=} what */ +function abort(what) { + if (Module['onAbort']) { + Module['onAbort'](what); + } + + what += ''; + err(what); + + ABORT = true; + EXITSTATUS = 1; + + var output = 'abort(' + what + ') at ' + stackTrace(); + what = output; + + // Use a wasm runtime error, because a JS error might be seen as a foreign + // exception, which means we'd run destructors on it. We need the error to + // simply make the program stop. + var e = new WebAssembly.RuntimeError(what); + + // Throw the error whether or not MODULARIZE is set because abort is used + // in code paths apart from instantiation where an exception is expected + // to be thrown when abort is called. + throw e; +} + + +var memoryInitializer = null; + + + + + + + + + + + +function hasPrefix(str, prefix) { + return String.prototype.startsWith ? + str.startsWith(prefix) : + str.indexOf(prefix) === 0; +} + +// Prefix of data URIs emitted by SINGLE_FILE and related options. +var dataURIPrefix = 'data:application/octet-stream;base64,'; + +// Indicates whether filename is a base64 data URI. +function isDataURI(filename) { + return hasPrefix(filename, dataURIPrefix); +} + +var fileURIPrefix = "file://"; + +// Indicates whether filename is delivered via file protocol (as opposed to http/https) +function isFileURI(filename) { + return hasPrefix(filename, fileURIPrefix); +} + + + +function createExportWrapper(name, fixedasm) { + return function() { + var displayName = name; + var asm = fixedasm; + if (!fixedasm) { + asm = Module['asm']; + } + assert(runtimeInitialized, 'native function `' + displayName + '` called before runtime initialization'); + assert(!runtimeExited, 'native function `' + displayName + '` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); + if (!asm[name]) { + assert(asm[name], 'exported native function `' + displayName + '` not found'); + } + return asm[name].apply(null, arguments); + }; +} + +var wasmBinaryFile = 'sql-asm-debug.wasm'; +if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); +} + +function getBinary() { + try { + if (wasmBinary) { + return new Uint8Array(wasmBinary); + } + + var binary = tryParseAsDataURI(wasmBinaryFile); + if (binary) { + return binary; + } + if (readBinary) { + return readBinary(wasmBinaryFile); + } else { + throw "both async and sync fetching of the wasm failed"; + } + } + catch (err) { + abort(err); + } +} + +function getBinaryPromise() { + // If we don't have the binary yet, and have the Fetch api, use that; + // in some environments, like Electron's render process, Fetch api may be present, but have a different context than expected, let's only use it on the Web + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === 'function' + // Let's not use fetch to get objects over file:// as it's most likely Cordova which doesn't support fetch for file:// + && !isFileURI(wasmBinaryFile) + ) { + return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function(response) { + if (!response['ok']) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'"; + } + return response['arrayBuffer'](); + }).catch(function () { + return getBinary(); + }); + } + // Otherwise, getBinary should be able to get it synchronously + return Promise.resolve().then(getBinary); +} + + + +// Create the wasm instance. +// Receives the wasm imports, returns the exports. +function createWasm() { + // prepare imports + var info = { + 'env': asmLibraryArg, + 'wasi_snapshot_preview1': asmLibraryArg + }; + // Load the wasm module and create an instance of using native support in the JS engine. + // handle a generated wasm instance, receiving its exports and + // performing other necessary setup + /** @param {WebAssembly.Module=} module*/ + function receiveInstance(instance, module) { + var exports = instance.exports; + Module['asm'] = exports; + removeRunDependency('wasm-instantiate'); + } + // we can't run yet (except in a pthread, where we have a custom sync instantiator) + addRunDependency('wasm-instantiate'); + + + // Async compilation can be confusing when an error on the page overwrites Module + // (for example, if the order of elements is wrong, and the one defining Module is + // later), so we save Module and check it later. + var trueModule = Module; + function receiveInstantiatedSource(output) { + // 'output' is a WebAssemblyInstantiatedSource object which has both the module and instance. + // receiveInstance() will swap in the exports (to Module.asm) so they can be called + assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); + trueModule = null; + // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. + // When the regression is fixed, can restore the above USE_PTHREADS-enabled path. + receiveInstance(output['instance']); + } + + + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info); + }).then(receiver, function(reason) { + err('failed to asynchronously prepare wasm: ' + reason); + + + abort(reason); + }); + } + + // Prefer streaming instantiation if available. + function instantiateAsync() { + if (!wasmBinary && + typeof WebAssembly.instantiateStreaming === 'function' && + !isDataURI(wasmBinaryFile) && + // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. + !isFileURI(wasmBinaryFile) && + typeof fetch === 'function') { + fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function (response) { + var result = WebAssembly.instantiateStreaming(response, info); + return result.then(receiveInstantiatedSource, function(reason) { + // We expect the most common failure cause to be a bad MIME type for the binary, + // in which case falling back to ArrayBuffer instantiation should work. + err('wasm streaming compile failed: ' + reason); + err('falling back to ArrayBuffer instantiation'); + return instantiateArrayBuffer(receiveInstantiatedSource); + }); + }); + } else { + return instantiateArrayBuffer(receiveInstantiatedSource); + } + } + // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback + // to manually instantiate the Wasm module themselves. This allows pages to run the instantiation parallel + // to any other async startup actions they are performing. + if (Module['instantiateWasm']) { + try { + var exports = Module['instantiateWasm'](info, receiveInstance); + return exports; + } catch(e) { + err('Module.instantiateWasm callback failed with error: ' + e); + return false; + } + } + + instantiateAsync(); + return {}; // no exports yet; we'll fill them in later +} + +// Globals used by JS i64 conversions +var tempDouble; +var tempI64; + +// === Body === + +var ASM_CONSTS = { + +}; + + + + +// STATICTOP = STATIC_BASE + 115440; +/* global initializers */ __ATINIT__.push({ func: function() { ___wasm_call_ctors() } }); + + + + +/* no memory initializer */ +// {{PRE_LIBRARY}} + + + function abortStackOverflow(allocSize) { + abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - stackSave() + allocSize) + ' bytes available!'); + } + + function demangle(func) { + warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); + return func; + } + + function demangleAll(text) { + var regex = + /\b_Z[\w\d_]+/g; + return text.replace(regex, + function(x) { + var y = demangle(x); + return x === y ? x : (y + ' [' + x + ']'); + }); + } + + function jsStackTrace() { + var err = new Error(); + if (!err.stack) { + // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, + // so try that as a special-case. + try { + throw new Error(); + } catch(e) { + err = e; + } + if (!err.stack) { + return '(no stack trace available)'; + } + } + return err.stack.toString(); + } + + function stackTrace() { + var js = jsStackTrace(); + if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace'](); + return demangleAll(js); + } + + function ___assert_fail(condition, filename, line, func) { + abort('Assertion failed: ' + UTF8ToString(condition) + ', at: ' + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']); + } + + + + var PATH={splitPath:function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + },normalizeArray:function(parts, allowAboveRoot) { + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === '.') { + parts.splice(i, 1); + } else if (last === '..') { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift('..'); + } + } + return parts; + },normalize:function(path) { + var isAbsolute = path.charAt(0) === '/', + trailingSlash = path.substr(-1) === '/'; + // Normalize the path + path = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), !isAbsolute).join('/'); + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + return (isAbsolute ? '/' : '') + path; + },dirname:function(path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + // No dirname whatsoever + return '.'; + } + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + },basename:function(path) { + // EMSCRIPTEN return '/'' for '/', not an empty string + if (path === '/') return '/'; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf('/'); + if (lastSlash === -1) return path; + return path.substr(lastSlash+1); + },extname:function(path) { + return PATH.splitPath(path)[3]; + },join:function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join('/')); + },join2:function(l, r) { + return PATH.normalize(l + '/' + r); + }}; + + + function setErrNo(value) { + HEAP32[((___errno_location())>>2)]=value; + return value; + } + + var PATH_FS={resolve:function() { + var resolvedPath = '', + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? arguments[i] : FS.cwd(); + // Skip empty and invalid entries + if (typeof path !== 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + return ''; // an invalid portion invalidates the whole thing + } + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; + } + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { + return !!p; + }), !resolvedAbsolute).join('/'); + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; + },relative:function(from, to) { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join('/'); + }}; + + var TTY={ttys:[],init:function () { + // https://github.com/emscripten-core/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // currently, FS.init does not distinguish if process.stdin is a file or TTY + // // device, it always assumes it's a TTY device. because of this, we're forcing + // // process.stdin to UTF8 encoding to at least make stdin reading compatible + // // with text files until FS.init can be refactored. + // process['stdin']['setEncoding']('utf8'); + // } + },shutdown:function() { + // https://github.com/emscripten-core/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? + // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation + // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? + // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle + // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call + // process['stdin']['pause'](); + // } + },register:function(dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops: ops }; + FS.registerDevice(dev, TTY.stream_ops); + },stream_ops:{open:function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43); + } + stream.tty = tty; + stream.seekable = false; + },close:function(stream) { + // flush any pending line data + stream.tty.ops.flush(stream.tty); + },flush:function(stream) { + stream.tty.ops.flush(stream.tty); + },read:function(stream, buffer, offset, length, pos /* ignored */) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + },write:function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset+i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }},default_tty_ops:{get_char:function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + // we will read data by chunks of BUFSIZE + var BUFSIZE = 256; + var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); + var bytesRead = 0; + + try { + bytesRead = nodeFS.readSync(process.stdin.fd, buf, 0, BUFSIZE, null); + } catch(e) { + // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, + // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. + if (e.toString().indexOf('EOF') != -1) bytesRead = 0; + else throw e; + } + + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString('utf-8'); + } else { + result = null; + } + } else + if (typeof window != 'undefined' && + typeof window.prompt == 'function') { + // Browser. + result = window.prompt('Input: '); // returns null on cancel + if (result !== null) { + result += '\n'; + } + } else if (typeof readline == 'function') { + // Command line. + result = readline(); + if (result !== null) { + result += '\n'; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + },put_char:function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. + } + },flush:function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }},default_tty1_ops:{put_char:function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + },flush:function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }}}; + + var MEMFS={ops_table:null,mount:function(mount) { + return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); + },createNode:function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + // no supported + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. + // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred + // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size + // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; + } + return node; + },getFileDataAsRegularArray:function(node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr; // Returns a copy of the original data. + } + return node.contents; // No-op, the file contents are already in a JS array. Return as-is. + },getFileDataAsTypedArray:function(node) { + if (!node.contents) return new Uint8Array(0); + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. + return new Uint8Array(node.contents); + },expandFileStorage:function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. + // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. + // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to + // avoid overshooting the allocation cap by a very large margin. + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); // Allocate new storage. + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. + return; + },resizeFileStorage:function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; // Fully decommit when requesting a resize to zero. + node.usedBytes = 0; + return; + } + if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); // Allocate new storage. + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. + } + node.usedBytes = newSize; + return; + } + // Backing with a JS array. + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize; + },node_ops:{getattr:function(node) { + var attr = {}; + // device numbers reuse inode numbers. + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), + // but this is not required by the standard. + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + },setattr:function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size); + } + },lookup:function(parent, name) { + throw FS.genericErrors[44]; + },mknod:function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + },rename:function(old_node, new_dir, new_name) { + // if we're overwriting a directory at new_name, make sure it's empty. + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55); + } + } + } + // do the internal rewiring + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir; + },unlink:function(parent, name) { + delete parent.contents[name]; + },rmdir:function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + },readdir:function(node) { + var entries = ['.', '..']; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + },symlink:function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); + node.link = oldpath; + return node; + },readlink:function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28); + } + return node.link; + }},stream_ops:{read:function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { // non-trivial, and typed array + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; + } + return size; + },write:function(stream, buffer, offset, length, position, canOwn) { + // The data buffer should be a typed array view + assert(!(buffer instanceof ArrayBuffer)); + // If the buffer is located in main memory (HEAP), and if + // memory can grow, we can't hold on to references of the + // memory buffer, as they may get invalidated. That means we + // need to do copy its contents. + if (buffer.buffer === HEAP8.buffer) { + // FIXME: this is inefficient as the file packager may have + // copied the data into memory already - we may want to + // integrate more there and let the file packager loading + // code be able to query if memory growth is on or off. + if (canOwn) { + warnOnce('file packager has copied file data into memory, but in memory growth we are forced to copy it again (see --no-heap-copy)'); + } + canOwn = false; + } + + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + + if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? + if (canOwn) { + assert(position === 0, 'canOwn must imply no weird position inside the file'); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + + // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. + MEMFS.expandFileStorage(node, position+length); + if (node.contents.subarray && buffer.subarray) { + // Use typed array write which is available. + node.contents.set(buffer.subarray(offset, offset + length), position); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + },llseek:function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + },allocate:function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + },mmap:function(stream, address, length, position, prot, flags) { + // We don't currently support location hints for the address of the mapping + assert(address === 0); + + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + // Only make a new copy when MAP_PRIVATE is specified. + if (!(flags & 2) && contents.buffer === buffer) { + // We can't emulate MAP_SHARED when the file is not backed by the buffer + // we're mapping to (e.g. the HEAP buffer). + allocated = false; + ptr = contents.byteOffset; + } else { + // Try to avoid unnecessary slices. + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = FS.mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + },msync:function(stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (mmapFlags & 2) { + // MAP_PRIVATE calls need not to be synced back to underlying fs + return 0; + } + + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + // should we check if bytesWritten and length are the same? + return 0; + }}}; + + var ERRNO_MESSAGES={0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"}; + + var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e) { + if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); + return setErrNo(e.errno); + },lookupPath:function(path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key]; + } + } + + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(32); + } + + // split the path + var parts = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), false); + + // start at the root + var current = FS.root; + var current_path = '/'; + + for (var i = 0; i < parts.length; i++) { + var islast = (i === parts.length-1); + if (islast && opts.parent) { + // stop resolving + break; + } + + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + + // jump to the mount's root node if this is a mountpoint + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + + // by default, lookupPath will not follow a symlink if it is the final path component. + // setting opts.follow = true will override this behavior. + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); + current = lookup.node; + + if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). + throw new FS.ErrnoError(32); + } + } + } + } + + return { path: current_path, node: current }; + },getPath:function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; + } + path = path ? node.name + '/' + path : node.name; + node = node.parent; + } + },hashName:function(parentid, name) { + var hash = 0; + + + for (var i = 0; i < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 0) % FS.nameTable.length; + },hashAddNode:function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + },hashRemoveNode:function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + },lookupNode:function(parent, name) { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + // if we failed to find it in the cache, call into the VFS + return FS.lookup(parent, name); + },createNode:function(parent, name, mode, rdev) { + var node = new FS.FSNode(parent, name, mode, rdev); + + FS.hashAddNode(node); + + return node; + },destroyNode:function(node) { + FS.hashRemoveNode(node); + },isRoot:function(node) { + return node === node.parent; + },isMountpoint:function(node) { + return !!node.mounted; + },isFile:function(mode) { + return (mode & 61440) === 32768; + },isDir:function(mode) { + return (mode & 61440) === 16384; + },isLink:function(mode) { + return (mode & 61440) === 40960; + },isChrdev:function(mode) { + return (mode & 61440) === 8192; + },isBlkdev:function(mode) { + return (mode & 61440) === 24576; + },isFIFO:function(mode) { + return (mode & 61440) === 4096; + },isSocket:function(mode) { + return (mode & 49152) === 49152; + },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === 'undefined') { + throw new Error('Unknown file open mode: ' + str); + } + return flags; + },flagsToPermissionString:function(flag) { + var perms = ['r', 'w', 'rw'][flag & 3]; + if ((flag & 512)) { + perms += 'w'; + } + return perms; + },nodePermissions:function(node, perms) { + if (FS.ignorePermissions) { + return 0; + } + // return 0 if any user, group or owner bits are set. + if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { + return 2; + } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { + return 2; + } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { + return 2; + } + return 0; + },mayLookup:function(dir) { + var errCode = FS.nodePermissions(dir, 'x'); + if (errCode) return errCode; + if (!dir.node_ops.lookup) return 2; + return 0; + },mayCreate:function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) { + } + return FS.nodePermissions(dir, 'wx'); + },mayDelete:function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, 'wx'); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + },mayOpen:function(node, flags) { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + },MAX_OPEN_FDS:4096,nextfd:function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + },getStream:function(fd) { + return FS.streams[fd]; + },createStream:function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = /** @constructor */ function(){}; + FS.FSStream.prototype = { + object: { + get: function() { return this.node; }, + set: function(val) { this.node = val; } + }, + isRead: { + get: function() { return (this.flags & 2097155) !== 1; } + }, + isWrite: { + get: function() { return (this.flags & 2097155) !== 0; } + }, + isAppend: { + get: function() { return (this.flags & 1024); } + } + }; + } + // clone it, so we can return an instance of FSStream + var newStream = new FS.FSStream(); + for (var p in stream) { + newStream[p] = stream[p]; + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + },closeStream:function(fd) { + FS.streams[fd] = null; + },chrdev_stream_ops:{open:function(stream) { + var device = FS.getDevice(stream.node.rdev); + // override node's stream ops with the device's + stream.stream_ops = device.stream_ops; + // forward the open call + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + },llseek:function() { + throw new FS.ErrnoError(70); + }},major:function(dev) { + return ((dev) >> 8); + },minor:function(dev) { + return ((dev) & 0xff); + },makedev:function(ma, mi) { + return ((ma) << 8 | (mi)); + },registerDevice:function(dev, ops) { + FS.devices[dev] = { stream_ops: ops }; + },getDevice:function(dev) { + return FS.devices[dev]; + },getMounts:function(mount) { + var mounts = []; + var check = [mount]; + + while (check.length) { + var m = check.pop(); + + mounts.push(m); + + check.push.apply(check, m.mounts); + } + + return mounts; + },syncfs:function(populate, callback) { + if (typeof(populate) === 'function') { + callback = populate; + populate = false; + } + + FS.syncFSRequests++; + + if (FS.syncFSRequests > 1) { + err('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); + } + + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(errCode) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(errCode); + } + + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + }; + + // sync all mounts + mounts.forEach(function (mount) { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + },mount:function(type, opts, mountpoint) { + if (typeof type === 'string') { + // The filesystem was not included, and instead we have an error + // message stored in the variable. + throw type; + } + var root = mountpoint === '/'; + var pseudo = !mountpoint; + var node; + + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + mountpoint = lookup.path; // use the absolute path + node = lookup.node; + + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; + + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } + + return mountRoot; + },unmount:function (mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + + Object.keys(FS.nameTable).forEach(function (hash) { + var current = FS.nameTable[hash]; + + while (current) { + var next = current.name_next; + + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current); + } + + current = next; + } + }); + + // no longer a mountpoint + node.mounted = null; + + // remove this mount from the child mounts + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1); + },lookup:function(parent, name) { + return parent.node_ops.lookup(parent, name); + },mknod:function(path, mode, dev) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === '.' || name === '..') { + throw new FS.ErrnoError(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + },create:function(path, mode) { + mode = mode !== undefined ? mode : 438 /* 0666 */; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + },mkdir:function(path, mode) { + mode = mode !== undefined ? mode : 511 /* 0777 */; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + },mkdirTree:function(path, mode) { + var dirs = path.split('/'); + var d = ''; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += '/' + dirs[i]; + try { + FS.mkdir(d, mode); + } catch(e) { + if (e.errno != 20) throw e; + } + } + },mkdev:function(path, mode, dev) { + if (typeof(dev) === 'undefined') { + dev = mode; + mode = 438 /* 0666 */; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:function(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + },rename:function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + // parents must exist + var lookup, old_dir, new_dir; + + // let the errors from non existant directories percolate up + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + // need to be part of the same mount + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + // source must exist + var old_node = FS.lookupNode(old_dir, old_name); + // old path should not be an ancestor of the new path + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(28); + } + // new path should not be an ancestor of the old path + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(55); + } + // see if the new path already exists + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + // not fatal + } + // early out if nothing needs to change + if (old_node === new_node) { + return; + } + // we'll need to delete the old entry + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + // need delete permissions if we'll be overwriting. + // need create permissions if new doesn't already exist. + errCode = new_node ? + FS.mayDelete(new_dir, new_name, isdir) : + FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(10); + } + // if we are going to change the parent, check write permissions + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, 'w'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + try { + if (FS.trackingDelegate['willMovePath']) { + FS.trackingDelegate['willMovePath'](old_path, new_path); + } + } catch(e) { + err("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); + } + // remove the node from the lookup hash + FS.hashRemoveNode(old_node); + // do the underlying fs rename + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + // add the node back to the hash (in case node_ops.rename + // changed its name) + FS.hashAddNode(old_node); + } + try { + if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); + } catch(e) { + err("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); + } + },rmdir:function(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + try { + if (FS.trackingDelegate['willDeletePath']) { + FS.trackingDelegate['willDeletePath'](path); + } + } catch(e) { + err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); + } catch(e) { + err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); + } + },readdir:function(path) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + },unlink:function(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + // According to POSIX, we should map EISDIR to EPERM, but + // we instead do what Linux does (and we must, as we use + // the musl linux libc). + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + try { + if (FS.trackingDelegate['willDeletePath']) { + FS.trackingDelegate['willDeletePath'](path); + } + } catch(e) { + err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); + } catch(e) { + err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); + } + },readlink:function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + },stat:function(path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + },lstat:function(path) { + return FS.stat(path, true); + },chmod:function(path, mode, dontFollow) { + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now() + }); + },lchmod:function(path, mode) { + FS.chmod(path, mode, true); + },fchmod:function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + },chown:function(path, uid, gid, dontFollow) { + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + // we ignore the uid / gid for now + }); + },lchown:function(path, uid, gid) { + FS.chown(path, uid, gid, true); + },fchown:function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + },truncate:function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, 'w'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + },ftruncate:function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + },utime:function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }); + },open:function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode; + if ((flags & 64)) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path === 'object') { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node; + } catch (e) { + // ignore + } + } + // perhaps we need to create the node + var created = false; + if ((flags & 64)) { + if (node) { + // if O_CREAT and O_EXCL are set, error out if the node already exists + if ((flags & 128)) { + throw new FS.ErrnoError(20); + } + } else { + // node doesn't exist, try to create it + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + // can't truncate a device + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + // if asked only for a directory, then this must be one + if ((flags & 65536) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + // check permissions, if this is not a file we just created now (it is ok to + // create and write to a file with read-only permissions; it is read-only + // for later use) + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + // do truncation if necessary + if ((flags & 512)) { + FS.truncate(node, 0); + } + // we've already handled these, don't pass down to the underlying vfs + flags &= ~(128 | 512 | 131072); + + // register the stream with the filesystem + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), // we want the absolute path to the node + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + // used by the file family libc calls (fopen, fwrite, ferror, etc.) + ungotten: [], + error: false + }, fd_start, fd_end); + // call the new stream's open function + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module['logReadFiles'] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + err("FS.trackingDelegate error on read file: " + path); + } + } + try { + if (FS.trackingDelegate['onOpenFile']) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ; + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE; + } + FS.trackingDelegate['onOpenFile'](path, trackingFlags); + } + } catch(e) { + err("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); + } + return stream; + },close:function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) stream.getdents = null; // free readdir state + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + },isClosed:function(stream) { + return stream.fd === null; + },llseek:function(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + },read:function(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position !== 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + },write:function(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + // seek to the end before writing in append mode + FS.llseek(stream, 0, 2); + } + var seeking = typeof position !== 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); + } catch(e) { + err("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: " + e.message); + } + return bytesWritten; + },allocate:function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + },mmap:function(stream, address, length, position, prot, flags) { + // User requests writing to file (prot & PROT_WRITE != 0). + // Checking if we have permissions to write to the file unless + // MAP_PRIVATE flag is set. According to POSIX spec it is possible + // to write to file opened in read-only mode with MAP_PRIVATE flag, + // as all modifications will be visible only in the memory of + // the current process. + if ((prot & 2) !== 0 + && (flags & 2) === 0 + && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, address, length, position, prot, flags); + },msync:function(stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + },munmap:function(stream) { + return 0; + },ioctl:function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + },readFile:function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || 'r'; + opts.encoding = opts.encoding || 'binary'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === 'utf8') { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === 'binary') { + ret = buf; + } + FS.close(stream); + return ret; + },writeFile:function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || 'w'; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === 'string') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); + } else { + throw new Error('Unsupported data type'); + } + FS.close(stream); + },cwd:function() { + return FS.currentPath; + },chdir:function(path) { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, 'x'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + },createDefaultDirectories:function() { + FS.mkdir('/tmp'); + FS.mkdir('/home'); + FS.mkdir('/home/web_user'); + },createDefaultDevices:function() { + // create /dev + FS.mkdir('/dev'); + // setup /dev/null + FS.registerDevice(FS.makedev(1, 3), { + read: function() { return 0; }, + write: function(stream, buffer, offset, length, pos) { return length; } + }); + FS.mkdev('/dev/null', FS.makedev(1, 3)); + // setup /dev/tty and /dev/tty1 + // stderr needs to print output using Module['printErr'] + // so we register a second tty just for it. + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev('/dev/tty', FS.makedev(5, 0)); + FS.mkdev('/dev/tty1', FS.makedev(6, 0)); + // setup /dev/[u]random + var random_device; + if (typeof crypto === 'object' && typeof crypto['getRandomValues'] === 'function') { + // for modern web browsers + var randomBuffer = new Uint8Array(1); + random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; + } else + if (ENVIRONMENT_IS_NODE) { + // for nodejs with or without crypto support included + try { + var crypto_module = require('crypto'); + // nodejs has crypto support + random_device = function() { return crypto_module['randomBytes'](1)[0]; }; + } catch (e) { + // nodejs doesn't have crypto support + } + } else + {} + if (!random_device) { + // we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096 + random_device = function() { abort("no cryptographic support found for random_device. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };"); }; + } + FS.createDevice('/dev', 'random', random_device); + FS.createDevice('/dev', 'urandom', random_device); + // we're not going to emulate the actual shm device, + // just create the tmp dirs that reside in it commonly + FS.mkdir('/dev/shm'); + FS.mkdir('/dev/shm/tmp'); + },createSpecialDirectories:function() { + // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) + FS.mkdir('/proc'); + FS.mkdir('/proc/self'); + FS.mkdir('/proc/self/fd'); + FS.mount({ + mount: function() { + var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { mountpoint: 'fake' }, + node_ops: { readlink: function() { return stream.path } } + }; + ret.parent = ret; // make it look like a simple root node + return ret; + } + }; + return node; + } + }, {}, '/proc/self/fd'); + },createStandardStreams:function() { + // TODO deprecate the old functionality of a single + // input / output callback and that utilizes FS.createDevice + // and instead require a unique set of stream ops + + // by default, we symlink the standard streams to the + // default tty devices. however, if the standard streams + // have been overwritten we create a unique device for + // them instead. + if (Module['stdin']) { + FS.createDevice('/dev', 'stdin', Module['stdin']); + } else { + FS.symlink('/dev/tty', '/dev/stdin'); + } + if (Module['stdout']) { + FS.createDevice('/dev', 'stdout', null, Module['stdout']); + } else { + FS.symlink('/dev/tty', '/dev/stdout'); + } + if (Module['stderr']) { + FS.createDevice('/dev', 'stderr', null, Module['stderr']); + } else { + FS.symlink('/dev/tty1', '/dev/stderr'); + } + + // open default streams for the stdin, stdout and stderr devices + var stdin = FS.open('/dev/stdin', 'r'); + var stdout = FS.open('/dev/stdout', 'w'); + var stderr = FS.open('/dev/stderr', 'w'); + assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); + assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); + assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); + },ensureErrnoError:function() { + if (FS.ErrnoError) return; + FS.ErrnoError = /** @this{Object} */ function ErrnoError(errno, node) { + this.node = node; + this.setErrno = /** @this{Object} */ function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break; + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + + // Try to get a maximally helpful stack trace. On Node.js, getting Error.stack + // now ensures it shows what we want. + if (this.stack) { + // Define the stack property for Node.js 4, which otherwise errors on the next line. + Object.defineProperty(this, "stack", { value: (new Error).stack, writable: true }); + this.stack = demangleAll(this.stack); + } + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) + [44].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ''; + }); + },staticInit:function() { + FS.ensureErrnoError(); + + FS.nameTable = new Array(4096); + + FS.mount(MEMFS, {}, '/'); + + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + + FS.filesystems = { + 'MEMFS': MEMFS, + }; + },init:function(input, output, error) { + assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); + FS.init.initialized = true; + + FS.ensureErrnoError(); + + // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here + Module['stdin'] = input || Module['stdin']; + Module['stdout'] = output || Module['stdout']; + Module['stderr'] = error || Module['stderr']; + + FS.createStandardStreams(); + },quit:function() { + FS.init.initialized = false; + // force-flush all streams, so we get musl std streams printed out + var fflush = Module['_fflush']; + if (fflush) fflush(0); + // close all of our streams + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + },getMode:function(canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + },joinPath:function(parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == '/') path = path.substr(1); + return path; + },absolutePath:function(relative, base) { + return PATH_FS.resolve(base, relative); + },standardizePath:function(path) { + return PATH.normalize(path); + },findObject:function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object; + } else { + setErrNo(ret.error); + return null; + } + },analyzePath:function(path, dontResolveLastLink) { + // operate from within the context of the symlink's target + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { + isRoot: false, exists: false, error: 0, name: null, path: null, object: null, + parentExists: false, parentPath: null, parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === '/'; + } catch (e) { + ret.error = e.errno; + }; + return ret; + },createFolder:function(parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode); + },createPath:function(parent, path, canRead, canWrite) { + parent = typeof parent === 'string' ? parent : FS.getPath(parent); + var parts = path.split('/').reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + // ignore EEXIST + } + parent = current; + } + return current; + },createFile:function(parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + },createDataFile:function(parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === 'string') { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr; + } + // make sure we can write to the file + FS.chmod(node, mode | 146); + var stream = FS.open(node, 'w'); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + },createDevice:function(parent, name, input, output) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + // Create a fake device that a set of stream ops to emulate + // the old behavior. + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false; + }, + close: function(stream) { + // flush any pending line data + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: function(stream, buffer, offset, length, pos /* ignored */) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + },createLink:function(parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + return FS.symlink(target, path); + },forceLoadFile:function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== 'undefined') { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (read_) { + // Command-line. + try { + // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as + // read() will try to parse UTF8. + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + success = false; + } + } else { + throw new Error('Cannot load without read() or XMLHttpRequest.'); + } + if (!success) setErrNo(29); + return success; + },createLazyFile:function(parent, name, url, canRead, canWrite) { + // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. + /** @constructor */ + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; // Loaded chunks. Index is the chunk number + } + LazyUint8Array.prototype.get = /** @this{Object} */ function LazyUint8Array_get(idx) { + if (idx > this.length-1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize)|0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + // Find length + var xhr = new XMLHttpRequest(); + xhr.open('HEAD', url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + + var chunkSize = 1024*1024; // Chunk size in bytes + + if (!hasByteServing) chunkSize = datalength; + + // Function to get a range from the remote URL. + var doXHR = (function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); + + // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + + // Some hints to the browser that we want binary data. + if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer'; + if (xhr.overrideMimeType) { + xhr.overrideMimeType('text/plain; charset=x-user-defined'); + } + + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(/** @type{Array} */(xhr.response || [])); + } else { + return intArrayFromString(xhr.responseText || '', true); + } + }); + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum+1) * chunkSize - 1; // including this byte + end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block + if (typeof(lazyArray.chunks[chunkNum]) === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum]; + }); + + if (usesGzip || !datalength) { + // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length + chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file + datalength = this.getter(0).length; + chunkSize = datalength; + out("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + }; + if (typeof XMLHttpRequest !== 'undefined') { + if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { + get: /** @this{Object} */ function() { + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + }, + chunkSize: { + get: /** @this{Object} */ function() { + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + } + } + }); + + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url: url }; + } + + var node = FS.createFile(parent, name, properties, canRead, canWrite); + // This is a total hack, but I want to get this lazy file code out of the + // core of MEMFS. If we want to keep this lazy file concept I feel it should + // be its own thin LAZYFS proxying calls to MEMFS. + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + // Add a function that defers querying the file size until it is asked the first time. + Object.defineProperties(node, { + usedBytes: { + get: /** @this {FSNode} */ function() { return this.contents.length; } + } + }); + // override each stream op with one that tries to force load the lazy file first + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29); + } + return fn.apply(null, arguments); + }; + }); + // use a custom read function + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29); + } + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { // normal array + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR + buffer[offset + i] = contents.get(position + i); + } + } + return size; + }; + node.stream_ops = stream_ops; + return node; + },createPreloadedFile:function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); // XXX perhaps this method should move onto Browser? + // TODO we should allow people to just pass in a complete filename instead + // of parent and name being that we just join them anyways + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency(dep); + } + var handled = false; + Module['preloadPlugins'].forEach(function(plugin) { + if (handled) return; + if (plugin['canHandle'](fullname)) { + plugin['handle'](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep); + }); + handled = true; + } + }); + if (!handled) finish(byteArray); + } + addRunDependency(dep); + if (typeof url == 'string') { + Browser.asyncLoad(url, function(byteArray) { + processData(byteArray); + }, onerror); + } else { + processData(url); + } + },indexedDB:function() { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + },DB_NAME:function() { + return 'EM_FS_' + window.location.pathname; + },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths, onload, onerror) { + onload = onload || function(){}; + onerror = onerror || function(){}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + out('creating db'); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; + putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + },loadFilesFromDB:function(paths, onload, onerror) { + onload = onload || function(){}; + onerror = onerror || function(){}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; // no database to load from + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); + } catch(e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish(); + }; + getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + },mmapAlloc:function(size) { + var alignedSize = alignMemory(size, 16384); + var ptr = _malloc(alignedSize); + while (size < alignedSize) HEAP8[ptr + size++] = 0; + return ptr; + }};var SYSCALLS={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(dirfd, path) { + if (path[0] !== '/') { + // relative path + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(8); + dir = dirstream.path; + } + path = PATH.join2(dir, path); + } + return path; + },doStat:function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + // an error occurred while trying to look up the path; we should just report ENOTDIR + return -54; + } + throw e; + } + HEAP32[((buf)>>2)]=stat.dev; + HEAP32[(((buf)+(4))>>2)]=0; + HEAP32[(((buf)+(8))>>2)]=stat.ino; + HEAP32[(((buf)+(12))>>2)]=stat.mode; + HEAP32[(((buf)+(16))>>2)]=stat.nlink; + HEAP32[(((buf)+(20))>>2)]=stat.uid; + HEAP32[(((buf)+(24))>>2)]=stat.gid; + HEAP32[(((buf)+(28))>>2)]=stat.rdev; + HEAP32[(((buf)+(32))>>2)]=0; + (tempI64 = [stat.size>>>0,(tempDouble=stat.size,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(40))>>2)]=tempI64[0],HEAP32[(((buf)+(44))>>2)]=tempI64[1]); + HEAP32[(((buf)+(48))>>2)]=4096; + HEAP32[(((buf)+(52))>>2)]=stat.blocks; + HEAP32[(((buf)+(56))>>2)]=(stat.atime.getTime() / 1000)|0; + HEAP32[(((buf)+(60))>>2)]=0; + HEAP32[(((buf)+(64))>>2)]=(stat.mtime.getTime() / 1000)|0; + HEAP32[(((buf)+(68))>>2)]=0; + HEAP32[(((buf)+(72))>>2)]=(stat.ctime.getTime() / 1000)|0; + HEAP32[(((buf)+(76))>>2)]=0; + (tempI64 = [stat.ino>>>0,(tempDouble=stat.ino,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(80))>>2)]=tempI64[0],HEAP32[(((buf)+(84))>>2)]=tempI64[1]); + return 0; + },doMsync:function(addr, stream, len, flags, offset) { + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + },doMkdir:function(path, mode) { + // remove a trailing slash, if one - /a/b/ has basename of '', but + // we want to create b in the context of this function + path = PATH.normalize(path); + if (path[path.length-1] === '/') path = path.substr(0, path.length-1); + FS.mkdir(path, mode, 0); + return 0; + },doMknod:function(path, mode, dev) { + // we don't want this in the JS API as it uses mknod to create all nodes. + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: return -28; + } + FS.mknod(path, mode, dev); + return 0; + },doReadlink:function(path, buf, bufsize) { + if (bufsize <= 0) return -28; + var ret = FS.readlink(path); + + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf+len]; + stringToUTF8(ret, buf, bufsize+1); + // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) + // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. + HEAP8[buf+len] = endChar; + + return len; + },doAccess:function(path, amode) { + if (amode & ~7) { + // need a valid mode + return -28; + } + var node; + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + if (!node) { + return -44; + } + var perms = ''; + if (amode & 4) perms += 'r'; + if (amode & 2) perms += 'w'; + if (amode & 1) perms += 'x'; + if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { + return -2; + } + return 0; + },doDup:function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd; + },doReadv:function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.read(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; // nothing more to read + } + return ret; + },doWritev:function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.write(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; + },varargs:undefined,get:function() { + assert(SYSCALLS.varargs != undefined); + SYSCALLS.varargs += 4; + var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; + return ret; + },getStr:function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + },getStreamFromFD:function(fd) { + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream; + },get64:function(low, high) { + if (low >= 0) assert(high === 0); + else assert(high === -1); + return low; + }};function ___sys_access(path, amode) {try { + + path = SYSCALLS.getStr(path); + return SYSCALLS.doAccess(path, amode); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_chmod(path, mode) {try { + + path = SYSCALLS.getStr(path); + FS.chmod(path, mode); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_chown32(path, owner, group) {try { + + path = SYSCALLS.getStr(path); + FS.chown(path, owner, group); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_fchmod(fd, mode) {try { + + FS.fchmod(fd, mode); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_fchown32(fd, owner, group) {try { + + FS.fchown(fd, owner, group); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_fcntl64(fd, cmd, varargs) {SYSCALLS.varargs = varargs; + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28; + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; // FD_CLOEXEC makes no sense for a single process. + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 12: + /* case 12: Currently in musl F_GETLK64 has same value as F_GETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ { + + var arg = SYSCALLS.get(); + var offset = 0; + // We're always unlocked. + HEAP16[(((arg)+(offset))>>1)]=2; + return 0; + } + case 13: + case 14: + /* case 13: Currently in musl F_SETLK64 has same value as F_SETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + /* case 14: Currently in musl F_SETLKW64 has same value as F_SETLKW, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + + + return 0; // Pretend that the locking is successful. + case 16: + case 8: + return -28; // These are for sockets. We don't have them fully implemented yet. + case 9: + // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. + setErrNo(28); + return -1; + default: { + return -28; + } + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_fstat64(fd, buf) {try { + + var stream = SYSCALLS.getStreamFromFD(fd); + return SYSCALLS.doStat(FS.stat, stream.path, buf); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_ftruncate64(fd, zero, low, high) {try { + + var length = SYSCALLS.get64(low, high); + FS.ftruncate(fd, length); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_getcwd(buf, size) {try { + + if (size === 0) return -28; + var cwd = FS.cwd(); + var cwdLengthInBytes = lengthBytesUTF8(cwd); + if (size < cwdLengthInBytes + 1) return -68; + stringToUTF8(cwd, buf, size); + return buf; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + + function ___sys_getegid32() { + return 0; + }function ___sys_geteuid32( + ) { + return ___sys_getegid32(); + } + + function ___sys_getpid() { + return 42; + } + + function ___sys_lstat64(path, buf) {try { + + path = SYSCALLS.getStr(path); + return SYSCALLS.doStat(FS.lstat, path, buf); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_mkdir(path, mode) {try { + + path = SYSCALLS.getStr(path); + return SYSCALLS.doMkdir(path, mode); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + + function syscallMmap2(addr, len, prot, flags, fd, off) { + off <<= 12; // undo pgoffset + var ptr; + var allocated = false; + + // addr argument must be page aligned if MAP_FIXED flag is set. + if ((flags & 16) !== 0 && (addr % 16384) !== 0) { + return -28; + } + + // MAP_ANONYMOUS (aka MAP_ANON) isn't actually defined by POSIX spec, + // but it is widely used way to allocate memory pages on Linux, BSD and Mac. + // In this case fd argument is ignored. + if ((flags & 32) !== 0) { + ptr = _memalign(16384, len); + if (!ptr) return -48; + _memset(ptr, 0, len); + allocated = true; + } else { + var info = FS.getStream(fd); + if (!info) return -8; + var res = FS.mmap(info, addr, len, off, prot, flags); + ptr = res.ptr; + allocated = res.allocated; + } + SYSCALLS.mappings[ptr] = { malloc: ptr, len: len, allocated: allocated, fd: fd, prot: prot, flags: flags, offset: off }; + return ptr; + }function ___sys_mmap2(addr, len, prot, flags, fd, off) {try { + + return syscallMmap2(addr, len, prot, flags, fd, off); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + + function syscallMunmap(addr, len) { + if ((addr | 0) === -1 || len === 0) { + return -28; + } + // TODO: support unmmap'ing parts of allocations + var info = SYSCALLS.mappings[addr]; + if (!info) return 0; + if (len === info.len) { + var stream = FS.getStream(info.fd); + if (info.prot & 2) { + SYSCALLS.doMsync(addr, stream, len, info.flags, info.offset); + } + FS.munmap(stream); + SYSCALLS.mappings[addr] = null; + if (info.allocated) { + _free(info.malloc); + } + } + return 0; + }function ___sys_munmap(addr, len) {try { + + return syscallMunmap(addr, len); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_open(path, flags, varargs) {SYSCALLS.varargs = varargs; + try { + + var pathname = SYSCALLS.getStr(path); + var mode = SYSCALLS.get(); + var stream = FS.open(pathname, flags, mode); + return stream.fd; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_read(fd, buf, count) {try { + + var stream = SYSCALLS.getStreamFromFD(fd); + return FS.read(stream, HEAP8,buf, count); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_readlink(path, buf, bufsize) {try { + + path = SYSCALLS.getStr(path); + return SYSCALLS.doReadlink(path, buf, bufsize); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_rmdir(path) {try { + + path = SYSCALLS.getStr(path); + FS.rmdir(path); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_stat64(path, buf) {try { + + path = SYSCALLS.getStr(path); + return SYSCALLS.doStat(FS.stat, path, buf); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___sys_unlink(path) {try { + + path = SYSCALLS.getStr(path); + FS.unlink(path); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_get_sbrk_ptr() { + return 116304; + } + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); + } + + + function _emscripten_get_heap_size() { + return HEAPU8.length; + } + + function emscripten_realloc_buffer(size) { + try { + // round size grow request up to wasm page size (fixed 64KB per spec) + wasmMemory.grow((size - buffer.byteLength + 65535) >>> 16); // .grow() takes a delta compared to the previous size + updateGlobalBufferAndViews(wasmMemory.buffer); + return 1 /*success*/; + } catch(e) { + console.error('emscripten_realloc_buffer: Attempted to grow heap from ' + buffer.byteLength + ' bytes to ' + size + ' bytes, but got error: ' + e); + } + }function _emscripten_resize_heap(requestedSize) { + requestedSize = requestedSize >>> 0; + var oldSize = _emscripten_get_heap_size(); + // With pthreads, races can happen (another thread might increase the size in between), so return a failure, and let the caller retry. + assert(requestedSize > oldSize); + + + var PAGE_MULTIPLE = 65536; + + // Memory resize rules: + // 1. When resizing, always produce a resized heap that is at least 16MB (to avoid tiny heap sizes receiving lots of repeated resizes at startup) + // 2. Always increase heap size to at least the requested size, rounded up to next page multiple. + // 3a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap geometrically: increase the heap size according to + // MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), + // At most overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB). + // 3b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap linearly: increase the heap size by at least MEMORY_GROWTH_LINEAR_STEP bytes. + // 4. Max size for the heap is capped at 2048MB-PAGE_MULTIPLE, or by MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest + // 5. If we were unable to allocate as much memory, it may be due to over-eager decision to excessively reserve due to (3) above. + // Hence if an allocation fails, cut down on the amount of excess growth, in an attempt to succeed to perform a smaller allocation. + + // A limit was set for how much we can grow. We should not exceed that + // (the wasm binary specifies it, so if we tried, we'd fail anyhow). + var maxHeapSize = 2147483648; + if (requestedSize > maxHeapSize) { + err('Cannot enlarge memory, asked to go up to ' + requestedSize + ' bytes, but the limit is ' + maxHeapSize + ' bytes!'); + return false; + } + + var minHeapSize = 16777216; + + // Loop through potential heap size increases. If we attempt a too eager reservation that fails, cut down on the + // attempted size and reserve a smaller bump instead. (max 3 times, chosen somewhat arbitrarily) + for(var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); // ensure geometric growth + // but limit overreserving (default to capping at +96MB overgrowth at most) + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296 ); + + + var newSize = Math.min(maxHeapSize, alignUp(Math.max(minHeapSize, requestedSize, overGrownHeapSize), PAGE_MULTIPLE)); + + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + err('Warning: Enlarging memory arrays, this is not fast! ' + [oldSize, newSize]); + + return true; + } + } + err('Failed to grow the heap from ' + oldSize + ' bytes to ' + newSize + ' bytes, not enough memory!'); + return false; + } + + + + var ENV={}; + + function getExecutableName() { + return thisProgram || './this.program'; + }function getEnvStrings() { + if (!getEnvStrings.strings) { + // Default values. + // Browser language detection #8751 + var lang = ((typeof navigator === 'object' && navigator.languages && navigator.languages[0]) || 'C').replace('-', '_') + '.UTF-8'; + var env = { + 'USER': 'web_user', + 'LOGNAME': 'web_user', + 'PATH': '/', + 'PWD': '/', + 'HOME': '/home/web_user', + 'LANG': lang, + '_': getExecutableName() + }; + // Apply the user-provided values, if any. + for (var x in ENV) { + env[x] = ENV[x]; + } + var strings = []; + for (var x in env) { + strings.push(x + '=' + env[x]); + } + getEnvStrings.strings = strings; + } + return getEnvStrings.strings; + }function _environ_get(__environ, environ_buf) { + var bufSize = 0; + getEnvStrings().forEach(function(string, i) { + var ptr = environ_buf + bufSize; + HEAP32[(((__environ)+(i * 4))>>2)]=ptr; + writeAsciiToMemory(string, ptr); + bufSize += string.length + 1; + }); + return 0; + } + + function _environ_sizes_get(penviron_count, penviron_buf_size) { + var strings = getEnvStrings(); + HEAP32[((penviron_count)>>2)]=strings.length; + var bufSize = 0; + strings.forEach(function(string) { + bufSize += string.length + 1; + }); + HEAP32[((penviron_buf_size)>>2)]=bufSize; + return 0; + } + + function _fd_close(fd) {try { + + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } + } + + function _fd_fdstat_get(fd, pbuf) {try { + + var stream = SYSCALLS.getStreamFromFD(fd); + // All character devices are terminals (other things a Linux system would + // assume is a character device, like the mouse, we have special APIs for). + var type = stream.tty ? 2 : + FS.isDir(stream.mode) ? 3 : + FS.isLink(stream.mode) ? 7 : + 4; + HEAP8[((pbuf)>>0)]=type; + // TODO HEAP16[(((pbuf)+(2))>>1)]=?; + // TODO (tempI64 = [?>>>0,(tempDouble=?,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((pbuf)+(8))>>2)]=tempI64[0],HEAP32[(((pbuf)+(12))>>2)]=tempI64[1]); + // TODO (tempI64 = [?>>>0,(tempDouble=?,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((pbuf)+(16))>>2)]=tempI64[0],HEAP32[(((pbuf)+(20))>>2)]=tempI64[1]); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } + } + + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {try { + + + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 0x100000000; // 2^32 + // use an unsigned operator on low and shift high by 32-bits + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + + var DOUBLE_LIMIT = 0x20000000000000; // 2^53 + // we also check for equality since DOUBLE_LIMIT + 1 == DOUBLE_LIMIT + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return -61; + } + + FS.llseek(stream, offset, whence); + (tempI64 = [stream.position>>>0,(tempDouble=stream.position,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((newOffset)>>2)]=tempI64[0],HEAP32[(((newOffset)+(4))>>2)]=tempI64[1]); + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } + } + + function _fd_sync(fd) {try { + + var stream = SYSCALLS.getStreamFromFD(fd); + if (stream.stream_ops && stream.stream_ops.fsync) { + return -stream.stream_ops.fsync(stream); + } + return 0; // we can't do anything synchronously; the in-memory FS is already synced to + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } + } + + function _fd_write(fd, iov, iovcnt, pnum) {try { + + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + HEAP32[((pnum)>>2)]=num + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } + } + + function _gettimeofday(ptr) { + var now = Date.now(); + HEAP32[((ptr)>>2)]=(now/1000)|0; // seconds + HEAP32[(((ptr)+(4))>>2)]=((now % 1000)*1000)|0; // microseconds + return 0; + } + + + var ___tm_current=116320; + + + var ___tm_timezone=(stringToUTF8("GMT", 116368, 4), 116368); + + function _tzset() { + // TODO: Use (malleable) environment variables instead of system settings. + if (_tzset.called) return; + _tzset.called = true; + + // timezone is specified as seconds west of UTC ("The external variable + // `timezone` shall be set to the difference, in seconds, between + // Coordinated Universal Time (UTC) and local standard time."), the same + // as returned by getTimezoneOffset(). + // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html + HEAP32[((__get_timezone())>>2)]=(new Date()).getTimezoneOffset() * 60; + + var currentYear = new Date().getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + HEAP32[((__get_daylight())>>2)]=Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); + + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT"; + }; + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocateUTF8(winterName); + var summerNamePtr = allocateUTF8(summerName); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + // Northern hemisphere + HEAP32[((__get_tzname())>>2)]=winterNamePtr; + HEAP32[(((__get_tzname())+(4))>>2)]=summerNamePtr; + } else { + HEAP32[((__get_tzname())>>2)]=summerNamePtr; + HEAP32[(((__get_tzname())+(4))>>2)]=winterNamePtr; + } + }function _localtime_r(time, tmPtr) { + _tzset(); + var date = new Date(HEAP32[((time)>>2)]*1000); + HEAP32[((tmPtr)>>2)]=date.getSeconds(); + HEAP32[(((tmPtr)+(4))>>2)]=date.getMinutes(); + HEAP32[(((tmPtr)+(8))>>2)]=date.getHours(); + HEAP32[(((tmPtr)+(12))>>2)]=date.getDate(); + HEAP32[(((tmPtr)+(16))>>2)]=date.getMonth(); + HEAP32[(((tmPtr)+(20))>>2)]=date.getFullYear()-1900; + HEAP32[(((tmPtr)+(24))>>2)]=date.getDay(); + + var start = new Date(date.getFullYear(), 0, 1); + var yday = ((date.getTime() - start.getTime()) / (1000 * 60 * 60 * 24))|0; + HEAP32[(((tmPtr)+(28))>>2)]=yday; + HEAP32[(((tmPtr)+(36))>>2)]=-(date.getTimezoneOffset() * 60); + + // Attention: DST is in December in South, and some regions don't have DST at all. + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0; + HEAP32[(((tmPtr)+(32))>>2)]=dst; + + var zonePtr = HEAP32[(((__get_tzname())+(dst ? 4 : 0))>>2)]; + HEAP32[(((tmPtr)+(40))>>2)]=zonePtr; + + return tmPtr; + }function _localtime(time) { + return _localtime_r(time, ___tm_current); + } + + + + var _emscripten_get_now;if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else _emscripten_get_now = function() { return performance.now(); } + ;function _usleep(useconds) { + // int usleep(useconds_t useconds); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/usleep.html + // We're single-threaded, so use a busy loop. Super-ugly. + var start = _emscripten_get_now(); + while (_emscripten_get_now() - start < useconds / 1000) { + // Do nothing. + } + } + Module["_usleep"] = _usleep;function _nanosleep(rqtp, rmtp) { + // int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); + if (rqtp === 0) { + setErrNo(28); + return -1; + } + var seconds = HEAP32[((rqtp)>>2)]; + var nanoseconds = HEAP32[(((rqtp)+(4))>>2)]; + if (nanoseconds < 0 || nanoseconds > 999999999 || seconds < 0) { + setErrNo(28); + return -1; + } + if (rmtp !== 0) { + HEAP32[((rmtp)>>2)]=0; + HEAP32[(((rmtp)+(4))>>2)]=0; + } + return _usleep((seconds * 1e6) + (nanoseconds / 1000)); + } + + function _setTempRet0($i) { + setTempRet0(($i) | 0); + } + + function _sysconf(name) { + // long sysconf(int name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html + switch(name) { + case 30: return 16384; + case 85: + var maxHeapSize = 2147483648; + return maxHeapSize / 16384; + case 132: + case 133: + case 12: + case 137: + case 138: + case 15: + case 235: + case 16: + case 17: + case 18: + case 19: + case 20: + case 149: + case 13: + case 10: + case 236: + case 153: + case 9: + case 21: + case 22: + case 159: + case 154: + case 14: + case 77: + case 78: + case 139: + case 80: + case 81: + case 82: + case 68: + case 67: + case 164: + case 11: + case 29: + case 47: + case 48: + case 95: + case 52: + case 51: + case 46: + case 79: + return 200809; + case 27: + case 246: + case 127: + case 128: + case 23: + case 24: + case 160: + case 161: + case 181: + case 182: + case 242: + case 183: + case 184: + case 243: + case 244: + case 245: + case 165: + case 178: + case 179: + case 49: + case 50: + case 168: + case 169: + case 175: + case 170: + case 171: + case 172: + case 97: + case 76: + case 32: + case 173: + case 35: + return -1; + case 176: + case 177: + case 7: + case 155: + case 8: + case 157: + case 125: + case 126: + case 92: + case 93: + case 129: + case 130: + case 131: + case 94: + case 91: + return 1; + case 74: + case 60: + case 69: + case 70: + case 4: + return 1024; + case 31: + case 42: + case 72: + return 32; + case 87: + case 26: + case 33: + return 2147483647; + case 34: + case 1: + return 47839; + case 38: + case 36: + return 99; + case 43: + case 37: + return 2048; + case 0: return 2097152; + case 3: return 65536; + case 28: return 32768; + case 44: return 32767; + case 75: return 16384; + case 39: return 1000; + case 89: return 700; + case 71: return 256; + case 40: return 255; + case 2: return 100; + case 180: return 64; + case 25: return 20; + case 5: return 16; + case 6: return 6; + case 73: return 4; + case 84: { + if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1; + return 1; + } + } + setErrNo(28); + return -1; + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + function _utimes(path, times) { + var time; + if (times) { + var offset = 8 + 0; + time = HEAP32[(((times)+(offset))>>2)] * 1000; + offset = 8 + 4; + time += HEAP32[(((times)+(offset))>>2)] / 1000; + } else { + time = Date.now(); + } + path = UTF8ToString(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; + } + } +var FSNode = /** @constructor */ function(parent, name, mode, rdev) { + if (!parent) { + parent = this; // root node sets parent to itself + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + var readMode = 292/*292*/ | 73/*73*/; + var writeMode = 146/*146*/; + Object.defineProperties(FSNode.prototype, { + read: { + get: /** @this{FSNode} */function() { + return (this.mode & readMode) === readMode; + }, + set: /** @this{FSNode} */function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode; + } + }, + write: { + get: /** @this{FSNode} */function() { + return (this.mode & writeMode) === writeMode; + }, + set: /** @this{FSNode} */function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode; + } + }, + isFolder: { + get: /** @this{FSNode} */function() { + return FS.isDir(this.mode); + } + }, + isDevice: { + get: /** @this{FSNode} */function() { + return FS.isChrdev(this.mode); + } + } + }); + FS.FSNode = FSNode; + FS.staticInit();; +var ASSERTIONS = true; + + + +/** @type {function(string, boolean=, number=)} */ +function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array; +} + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + if (ASSERTIONS) { + assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); + } + chr &= 0xFF; + } + ret.push(String.fromCharCode(chr)); + } + return ret.join(''); +} + + +// Copied from https://github.com/strophe/strophejs/blob/e06d027/src/polyfills.js#L149 + +// This code was written by Tyler Akins and has been placed in the +// public domain. It would be nice if you left this header intact. +// Base64 code from Tyler Akins -- http://rumkin.com + +/** + * Decodes a base64 string. + * @param {string} input The string to decode. + */ +var decodeBase64 = typeof atob === 'function' ? atob : function (input) { + var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; + + var output = ''; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + // remove all characters that are not A-Z, a-z, 0-9, +, /, or = + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ''); + do { + enc1 = keyStr.indexOf(input.charAt(i++)); + enc2 = keyStr.indexOf(input.charAt(i++)); + enc3 = keyStr.indexOf(input.charAt(i++)); + enc4 = keyStr.indexOf(input.charAt(i++)); + + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + + output = output + String.fromCharCode(chr1); + + if (enc3 !== 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 !== 64) { + output = output + String.fromCharCode(chr3); + } + } while (i < input.length); + return output; +}; + +// Converts a string of base64 into a byte array. +// Throws error on invalid input. +function intArrayFromBase64(s) { + if (typeof ENVIRONMENT_IS_NODE === 'boolean' && ENVIRONMENT_IS_NODE) { + var buf; + try { + // TODO: Update Node.js externs, Closure does not recognize the following Buffer.from() + /**@suppress{checkTypes}*/ + buf = Buffer.from(s, 'base64'); + } catch (_) { + buf = new Buffer(s, 'base64'); + } + return new Uint8Array(buf['buffer'], buf['byteOffset'], buf['byteLength']); + } + + try { + var decoded = decodeBase64(s); + var bytes = new Uint8Array(decoded.length); + for (var i = 0 ; i < decoded.length ; ++i) { + bytes[i] = decoded.charCodeAt(i); + } + return bytes; + } catch (_) { + throw new Error('Converting base64 string to bytes failed.'); + } +} + +// If filename is a base64 data URI, parses and returns data (Buffer on node, +// Uint8Array otherwise). If filename is not a base64 data URI, returns undefined. +function tryParseAsDataURI(filename) { + if (!isDataURI(filename)) { + return; + } + + return intArrayFromBase64(filename.slice(dataURIPrefix.length)); +} + + +var asmGlobalArg = {}; +var asmLibraryArg = { "__assert_fail": ___assert_fail, "__sys_access": ___sys_access, "__sys_chmod": ___sys_chmod, "__sys_chown32": ___sys_chown32, "__sys_fchmod": ___sys_fchmod, "__sys_fchown32": ___sys_fchown32, "__sys_fcntl64": ___sys_fcntl64, "__sys_fstat64": ___sys_fstat64, "__sys_ftruncate64": ___sys_ftruncate64, "__sys_getcwd": ___sys_getcwd, "__sys_geteuid32": ___sys_geteuid32, "__sys_getpid": ___sys_getpid, "__sys_lstat64": ___sys_lstat64, "__sys_mkdir": ___sys_mkdir, "__sys_mmap2": ___sys_mmap2, "__sys_munmap": ___sys_munmap, "__sys_open": ___sys_open, "__sys_read": ___sys_read, "__sys_readlink": ___sys_readlink, "__sys_rmdir": ___sys_rmdir, "__sys_stat64": ___sys_stat64, "__sys_unlink": ___sys_unlink, "emscripten_get_sbrk_ptr": _emscripten_get_sbrk_ptr, "emscripten_memcpy_big": _emscripten_memcpy_big, "emscripten_resize_heap": _emscripten_resize_heap, "environ_get": _environ_get, "environ_sizes_get": _environ_sizes_get, "fd_close": _fd_close, "fd_fdstat_get": _fd_fdstat_get, "fd_seek": _fd_seek, "fd_sync": _fd_sync, "fd_write": _fd_write, "getTempRet0": getTempRet0, "gettimeofday": _gettimeofday, "localtime": _localtime, "memory": wasmMemory, "nanosleep": _nanosleep, "setTempRet0": setTempRet0, "sysconf": _sysconf, "table": wasmTable, "time": _time, "utimes": _utimes }; +var asm = createWasm(); +/** @type {function(...*):?} */ +var ___wasm_call_ctors = Module["___wasm_call_ctors"] = createExportWrapper("__wasm_call_ctors"); + +/** @type {function(...*):?} */ +var _memset = Module["_memset"] = createExportWrapper("memset"); + +/** @type {function(...*):?} */ +var _sqlite3_free = Module["_sqlite3_free"] = createExportWrapper("sqlite3_free"); + +/** @type {function(...*):?} */ +var _sqlite3_value_double = Module["_sqlite3_value_double"] = createExportWrapper("sqlite3_value_double"); + +/** @type {function(...*):?} */ +var _sqlite3_value_text = Module["_sqlite3_value_text"] = createExportWrapper("sqlite3_value_text"); + +/** @type {function(...*):?} */ +var ___errno_location = Module["___errno_location"] = createExportWrapper("__errno_location"); + +/** @type {function(...*):?} */ +var _sqlite3_finalize = Module["_sqlite3_finalize"] = createExportWrapper("sqlite3_finalize"); + +/** @type {function(...*):?} */ +var _sqlite3_reset = Module["_sqlite3_reset"] = createExportWrapper("sqlite3_reset"); + +/** @type {function(...*):?} */ +var _sqlite3_clear_bindings = Module["_sqlite3_clear_bindings"] = createExportWrapper("sqlite3_clear_bindings"); + +/** @type {function(...*):?} */ +var _sqlite3_value_blob = Module["_sqlite3_value_blob"] = createExportWrapper("sqlite3_value_blob"); + +/** @type {function(...*):?} */ +var _sqlite3_value_bytes = Module["_sqlite3_value_bytes"] = createExportWrapper("sqlite3_value_bytes"); + +/** @type {function(...*):?} */ +var _sqlite3_value_int = Module["_sqlite3_value_int"] = createExportWrapper("sqlite3_value_int"); + +/** @type {function(...*):?} */ +var _sqlite3_value_type = Module["_sqlite3_value_type"] = createExportWrapper("sqlite3_value_type"); + +/** @type {function(...*):?} */ +var _sqlite3_result_blob = Module["_sqlite3_result_blob"] = createExportWrapper("sqlite3_result_blob"); + +/** @type {function(...*):?} */ +var _sqlite3_result_double = Module["_sqlite3_result_double"] = createExportWrapper("sqlite3_result_double"); + +/** @type {function(...*):?} */ +var _sqlite3_result_error = Module["_sqlite3_result_error"] = createExportWrapper("sqlite3_result_error"); + +/** @type {function(...*):?} */ +var _sqlite3_result_int = Module["_sqlite3_result_int"] = createExportWrapper("sqlite3_result_int"); + +/** @type {function(...*):?} */ +var _sqlite3_result_int64 = Module["_sqlite3_result_int64"] = createExportWrapper("sqlite3_result_int64"); + +/** @type {function(...*):?} */ +var _sqlite3_result_null = Module["_sqlite3_result_null"] = createExportWrapper("sqlite3_result_null"); + +/** @type {function(...*):?} */ +var _sqlite3_result_text = Module["_sqlite3_result_text"] = createExportWrapper("sqlite3_result_text"); + +/** @type {function(...*):?} */ +var _sqlite3_step = Module["_sqlite3_step"] = createExportWrapper("sqlite3_step"); + +/** @type {function(...*):?} */ +var _sqlite3_data_count = Module["_sqlite3_data_count"] = createExportWrapper("sqlite3_data_count"); + +/** @type {function(...*):?} */ +var _sqlite3_column_blob = Module["_sqlite3_column_blob"] = createExportWrapper("sqlite3_column_blob"); + +/** @type {function(...*):?} */ +var _sqlite3_column_bytes = Module["_sqlite3_column_bytes"] = createExportWrapper("sqlite3_column_bytes"); + +/** @type {function(...*):?} */ +var _sqlite3_column_double = Module["_sqlite3_column_double"] = createExportWrapper("sqlite3_column_double"); + +/** @type {function(...*):?} */ +var _sqlite3_column_text = Module["_sqlite3_column_text"] = createExportWrapper("sqlite3_column_text"); + +/** @type {function(...*):?} */ +var _sqlite3_column_type = Module["_sqlite3_column_type"] = createExportWrapper("sqlite3_column_type"); + +/** @type {function(...*):?} */ +var _sqlite3_column_name = Module["_sqlite3_column_name"] = createExportWrapper("sqlite3_column_name"); + +/** @type {function(...*):?} */ +var _sqlite3_bind_blob = Module["_sqlite3_bind_blob"] = createExportWrapper("sqlite3_bind_blob"); + +/** @type {function(...*):?} */ +var _sqlite3_bind_double = Module["_sqlite3_bind_double"] = createExportWrapper("sqlite3_bind_double"); + +/** @type {function(...*):?} */ +var _sqlite3_bind_int = Module["_sqlite3_bind_int"] = createExportWrapper("sqlite3_bind_int"); + +/** @type {function(...*):?} */ +var _sqlite3_bind_text = Module["_sqlite3_bind_text"] = createExportWrapper("sqlite3_bind_text"); + +/** @type {function(...*):?} */ +var _sqlite3_bind_parameter_index = Module["_sqlite3_bind_parameter_index"] = createExportWrapper("sqlite3_bind_parameter_index"); + +/** @type {function(...*):?} */ +var _sqlite3_errmsg = Module["_sqlite3_errmsg"] = createExportWrapper("sqlite3_errmsg"); + +/** @type {function(...*):?} */ +var _sqlite3_exec = Module["_sqlite3_exec"] = createExportWrapper("sqlite3_exec"); + +/** @type {function(...*):?} */ +var _sqlite3_prepare_v2 = Module["_sqlite3_prepare_v2"] = createExportWrapper("sqlite3_prepare_v2"); + +/** @type {function(...*):?} */ +var _sqlite3_changes = Module["_sqlite3_changes"] = createExportWrapper("sqlite3_changes"); + +/** @type {function(...*):?} */ +var _sqlite3_close_v2 = Module["_sqlite3_close_v2"] = createExportWrapper("sqlite3_close_v2"); + +/** @type {function(...*):?} */ +var _sqlite3_create_function_v2 = Module["_sqlite3_create_function_v2"] = createExportWrapper("sqlite3_create_function_v2"); + +/** @type {function(...*):?} */ +var _sqlite3_open = Module["_sqlite3_open"] = createExportWrapper("sqlite3_open"); + +/** @type {function(...*):?} */ +var _malloc = Module["_malloc"] = createExportWrapper("malloc"); + +/** @type {function(...*):?} */ +var _free = Module["_free"] = createExportWrapper("free"); + +/** @type {function(...*):?} */ +var _RegisterExtensionFunctions = Module["_RegisterExtensionFunctions"] = createExportWrapper("RegisterExtensionFunctions"); + +/** @type {function(...*):?} */ +var _custom_extensions = Module["_custom_extensions"] = createExportWrapper("custom_extensions"); + +/** @type {function(...*):?} */ +var _fflush = Module["_fflush"] = createExportWrapper("fflush"); + +/** @type {function(...*):?} */ +var __get_tzname = Module["__get_tzname"] = createExportWrapper("_get_tzname"); + +/** @type {function(...*):?} */ +var __get_daylight = Module["__get_daylight"] = createExportWrapper("_get_daylight"); + +/** @type {function(...*):?} */ +var __get_timezone = Module["__get_timezone"] = createExportWrapper("_get_timezone"); + +/** @type {function(...*):?} */ +var stackSave = Module["stackSave"] = createExportWrapper("stackSave"); + +/** @type {function(...*):?} */ +var stackRestore = Module["stackRestore"] = createExportWrapper("stackRestore"); + +/** @type {function(...*):?} */ +var stackAlloc = Module["stackAlloc"] = createExportWrapper("stackAlloc"); + +/** @type {function(...*):?} */ +var _memalign = Module["_memalign"] = createExportWrapper("memalign"); + +/** @type {function(...*):?} */ +var dynCall_vi = Module["dynCall_vi"] = createExportWrapper("dynCall_vi"); + +/** @type {function(...*):?} */ +var dynCall_iiiii = Module["dynCall_iiiii"] = createExportWrapper("dynCall_iiiii"); + +/** @type {function(...*):?} */ +var dynCall_iii = Module["dynCall_iii"] = createExportWrapper("dynCall_iii"); + +/** @type {function(...*):?} */ +var dynCall_viii = Module["dynCall_viii"] = createExportWrapper("dynCall_viii"); + +/** @type {function(...*):?} */ +var dynCall_iiiiii = Module["dynCall_iiiiii"] = createExportWrapper("dynCall_iiiiii"); + +/** @type {function(...*):?} */ +var dynCall_ii = Module["dynCall_ii"] = createExportWrapper("dynCall_ii"); + +/** @type {function(...*):?} */ +var dynCall_iiii = Module["dynCall_iiii"] = createExportWrapper("dynCall_iiii"); + +/** @type {function(...*):?} */ +var dynCall_iiiiiii = Module["dynCall_iiiiiii"] = createExportWrapper("dynCall_iiiiiii"); + +/** @type {function(...*):?} */ +var dynCall_vii = Module["dynCall_vii"] = createExportWrapper("dynCall_vii"); + +/** @type {function(...*):?} */ +var dynCall_viiii = Module["dynCall_viiii"] = createExportWrapper("dynCall_viiii"); + +/** @type {function(...*):?} */ +var dynCall_ij = Module["dynCall_ij"] = createExportWrapper("dynCall_ij"); + +/** @type {function(...*):?} */ +var dynCall_iiiij = Module["dynCall_iiiij"] = createExportWrapper("dynCall_iiiij"); + +/** @type {function(...*):?} */ +var dynCall_vijii = Module["dynCall_vijii"] = createExportWrapper("dynCall_vijii"); + +/** @type {function(...*):?} */ +var dynCall_iijj = Module["dynCall_iijj"] = createExportWrapper("dynCall_iijj"); + +/** @type {function(...*):?} */ +var dynCall_iij = Module["dynCall_iij"] = createExportWrapper("dynCall_iij"); + +/** @type {function(...*):?} */ +var dynCall_iijii = Module["dynCall_iijii"] = createExportWrapper("dynCall_iijii"); + +/** @type {function(...*):?} */ +var dynCall_iiji = Module["dynCall_iiji"] = createExportWrapper("dynCall_iiji"); + +/** @type {function(...*):?} */ +var dynCall_i = Module["dynCall_i"] = createExportWrapper("dynCall_i"); + +/** @type {function(...*):?} */ +var dynCall_iiiiiij = Module["dynCall_iiiiiij"] = createExportWrapper("dynCall_iiiiiij"); + +/** @type {function(...*):?} */ +var dynCall_ji = Module["dynCall_ji"] = createExportWrapper("dynCall_ji"); + +/** @type {function(...*):?} */ +var dynCall_viiiii = Module["dynCall_viiiii"] = createExportWrapper("dynCall_viiiii"); + +/** @type {function(...*):?} */ +var dynCall_viji = Module["dynCall_viji"] = createExportWrapper("dynCall_viji"); + +/** @type {function(...*):?} */ +var dynCall_jiji = Module["dynCall_jiji"] = createExportWrapper("dynCall_jiji"); + +/** @type {function(...*):?} */ +var __growWasmMemory = Module["__growWasmMemory"] = createExportWrapper("__growWasmMemory"); + + + + + +// === Auto-generated postamble setup entry stuff === + +if (!Object.getOwnPropertyDescriptor(Module, "intArrayFromString")) Module["intArrayFromString"] = function() { abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayToString")) Module["intArrayToString"] = function() { abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "ccall")) Module["ccall"] = function() { abort("'ccall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +Module["cwrap"] = cwrap; +if (!Object.getOwnPropertyDescriptor(Module, "setValue")) Module["setValue"] = function() { abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getValue")) Module["getValue"] = function() { abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "allocate")) Module["allocate"] = function() { abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getMemory")) Module["getMemory"] = function() { abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ArrayToString")) Module["UTF8ArrayToString"] = function() { abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ToString")) Module["UTF8ToString"] = function() { abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8Array")) Module["stringToUTF8Array"] = function() { abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8")) Module["stringToUTF8"] = function() { abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF8")) Module["lengthBytesUTF8"] = function() { abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() { abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreRun")) Module["addOnPreRun"] = function() { abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addOnInit")) Module["addOnInit"] = function() { abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreMain")) Module["addOnPreMain"] = function() { abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addOnExit")) Module["addOnExit"] = function() { abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPostRun")) Module["addOnPostRun"] = function() { abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeStringToMemory")) Module["writeStringToMemory"] = function() { abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeArrayToMemory")) Module["writeArrayToMemory"] = function() { abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeAsciiToMemory")) Module["writeAsciiToMemory"] = function() { abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addRunDependency")) Module["addRunDependency"] = function() { abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "removeRunDependency")) Module["removeRunDependency"] = function() { abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createFolder")) Module["FS_createFolder"] = function() { abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPath")) Module["FS_createPath"] = function() { abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDataFile")) Module["FS_createDataFile"] = function() { abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPreloadedFile")) Module["FS_createPreloadedFile"] = function() { abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLazyFile")) Module["FS_createLazyFile"] = function() { abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLink")) Module["FS_createLink"] = function() { abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDevice")) Module["FS_createDevice"] = function() { abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_unlink")) Module["FS_unlink"] = function() { abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "dynamicAlloc")) Module["dynamicAlloc"] = function() { abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "loadDynamicLibrary")) Module["loadDynamicLibrary"] = function() { abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "loadWebAssemblyModule")) Module["loadWebAssemblyModule"] = function() { abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getLEB")) Module["getLEB"] = function() { abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getFunctionTables")) Module["getFunctionTables"] = function() { abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "alignFunctionTables")) Module["alignFunctionTables"] = function() { abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "registerFunctions")) Module["registerFunctions"] = function() { abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addFunction")) Module["addFunction"] = function() { abort("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "removeFunction")) Module["removeFunction"] = function() { abort("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getFuncWrapper")) Module["getFuncWrapper"] = function() { abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "prettyPrint")) Module["prettyPrint"] = function() { abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "makeBigInt")) Module["makeBigInt"] = function() { abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "dynCall")) Module["dynCall"] = function() { abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getCompilerSetting")) Module["getCompilerSetting"] = function() { abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "print")) Module["print"] = function() { abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "printErr")) Module["printErr"] = function() { abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getTempRet0")) Module["getTempRet0"] = function() { abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "setTempRet0")) Module["setTempRet0"] = function() { abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "callMain")) Module["callMain"] = function() { abort("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "abort")) Module["abort"] = function() { abort("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stringToNewUTF8")) Module["stringToNewUTF8"] = function() { abort("'stringToNewUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "emscripten_realloc_buffer")) Module["emscripten_realloc_buffer"] = function() { abort("'emscripten_realloc_buffer' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "ENV")) Module["ENV"] = function() { abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "ERRNO_CODES")) Module["ERRNO_CODES"] = function() { abort("'ERRNO_CODES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "ERRNO_MESSAGES")) Module["ERRNO_MESSAGES"] = function() { abort("'ERRNO_MESSAGES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "setErrNo")) Module["setErrNo"] = function() { abort("'setErrNo' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "DNS")) Module["DNS"] = function() { abort("'DNS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "GAI_ERRNO_MESSAGES")) Module["GAI_ERRNO_MESSAGES"] = function() { abort("'GAI_ERRNO_MESSAGES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "Protocols")) Module["Protocols"] = function() { abort("'Protocols' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "Sockets")) Module["Sockets"] = function() { abort("'Sockets' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "traverseStack")) Module["traverseStack"] = function() { abort("'traverseStack' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "UNWIND_CACHE")) Module["UNWIND_CACHE"] = function() { abort("'UNWIND_CACHE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "withBuiltinMalloc")) Module["withBuiltinMalloc"] = function() { abort("'withBuiltinMalloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "readAsmConstArgsArray")) Module["readAsmConstArgsArray"] = function() { abort("'readAsmConstArgsArray' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "readAsmConstArgs")) Module["readAsmConstArgs"] = function() { abort("'readAsmConstArgs' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "mainThreadEM_ASM")) Module["mainThreadEM_ASM"] = function() { abort("'mainThreadEM_ASM' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "jstoi_q")) Module["jstoi_q"] = function() { abort("'jstoi_q' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "jstoi_s")) Module["jstoi_s"] = function() { abort("'jstoi_s' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getExecutableName")) Module["getExecutableName"] = function() { abort("'getExecutableName' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "listenOnce")) Module["listenOnce"] = function() { abort("'listenOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "autoResumeAudioContext")) Module["autoResumeAudioContext"] = function() { abort("'autoResumeAudioContext' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "abortStackOverflow")) Module["abortStackOverflow"] = function() { abort("'abortStackOverflow' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "reallyNegative")) Module["reallyNegative"] = function() { abort("'reallyNegative' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "formatString")) Module["formatString"] = function() { abort("'formatString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "PATH")) Module["PATH"] = function() { abort("'PATH' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "PATH_FS")) Module["PATH_FS"] = function() { abort("'PATH_FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "SYSCALLS")) Module["SYSCALLS"] = function() { abort("'SYSCALLS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "syscallMmap2")) Module["syscallMmap2"] = function() { abort("'syscallMmap2' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "syscallMunmap")) Module["syscallMunmap"] = function() { abort("'syscallMunmap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "JSEvents")) Module["JSEvents"] = function() { abort("'JSEvents' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "specialHTMLTargets")) Module["specialHTMLTargets"] = function() { abort("'specialHTMLTargets' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "maybeCStringToJsString")) Module["maybeCStringToJsString"] = function() { abort("'maybeCStringToJsString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "findEventTarget")) Module["findEventTarget"] = function() { abort("'findEventTarget' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "findCanvasEventTarget")) Module["findCanvasEventTarget"] = function() { abort("'findCanvasEventTarget' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "polyfillSetImmediate")) Module["polyfillSetImmediate"] = function() { abort("'polyfillSetImmediate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "demangle")) Module["demangle"] = function() { abort("'demangle' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "demangleAll")) Module["demangleAll"] = function() { abort("'demangleAll' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "jsStackTrace")) Module["jsStackTrace"] = function() { abort("'jsStackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() { abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getEnvStrings")) Module["getEnvStrings"] = function() { abort("'getEnvStrings' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "checkWasiClock")) Module["checkWasiClock"] = function() { abort("'checkWasiClock' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToI64")) Module["writeI53ToI64"] = function() { abort("'writeI53ToI64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToI64Clamped")) Module["writeI53ToI64Clamped"] = function() { abort("'writeI53ToI64Clamped' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToI64Signaling")) Module["writeI53ToI64Signaling"] = function() { abort("'writeI53ToI64Signaling' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToU64Clamped")) Module["writeI53ToU64Clamped"] = function() { abort("'writeI53ToU64Clamped' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToU64Signaling")) Module["writeI53ToU64Signaling"] = function() { abort("'writeI53ToU64Signaling' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "readI53FromI64")) Module["readI53FromI64"] = function() { abort("'readI53FromI64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "readI53FromU64")) Module["readI53FromU64"] = function() { abort("'readI53FromU64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "convertI32PairToI53")) Module["convertI32PairToI53"] = function() { abort("'convertI32PairToI53' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "convertU32PairToI53")) Module["convertU32PairToI53"] = function() { abort("'convertU32PairToI53' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "exceptionLast")) Module["exceptionLast"] = function() { abort("'exceptionLast' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "exceptionCaught")) Module["exceptionCaught"] = function() { abort("'exceptionCaught' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "ExceptionInfoAttrs")) Module["ExceptionInfoAttrs"] = function() { abort("'ExceptionInfoAttrs' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "ExceptionInfo")) Module["ExceptionInfo"] = function() { abort("'ExceptionInfo' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "CatchInfo")) Module["CatchInfo"] = function() { abort("'CatchInfo' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "exception_addRef")) Module["exception_addRef"] = function() { abort("'exception_addRef' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "exception_decRef")) Module["exception_decRef"] = function() { abort("'exception_decRef' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "Browser")) Module["Browser"] = function() { abort("'Browser' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS")) Module["FS"] = function() { abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "MEMFS")) Module["MEMFS"] = function() { abort("'MEMFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "TTY")) Module["TTY"] = function() { abort("'TTY' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "PIPEFS")) Module["PIPEFS"] = function() { abort("'PIPEFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "SOCKFS")) Module["SOCKFS"] = function() { abort("'SOCKFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "tempFixedLengthArray")) Module["tempFixedLengthArray"] = function() { abort("'tempFixedLengthArray' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "miniTempWebGLFloatBuffers")) Module["miniTempWebGLFloatBuffers"] = function() { abort("'miniTempWebGLFloatBuffers' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "heapObjectForWebGLType")) Module["heapObjectForWebGLType"] = function() { abort("'heapObjectForWebGLType' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "heapAccessShiftForWebGLHeap")) Module["heapAccessShiftForWebGLHeap"] = function() { abort("'heapAccessShiftForWebGLHeap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "GL")) Module["GL"] = function() { abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "emscriptenWebGLGet")) Module["emscriptenWebGLGet"] = function() { abort("'emscriptenWebGLGet' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "computeUnpackAlignedImageSize")) Module["computeUnpackAlignedImageSize"] = function() { abort("'computeUnpackAlignedImageSize' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "emscriptenWebGLGetTexPixelData")) Module["emscriptenWebGLGetTexPixelData"] = function() { abort("'emscriptenWebGLGetTexPixelData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "emscriptenWebGLGetUniform")) Module["emscriptenWebGLGetUniform"] = function() { abort("'emscriptenWebGLGetUniform' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "emscriptenWebGLGetVertexAttrib")) Module["emscriptenWebGLGetVertexAttrib"] = function() { abort("'emscriptenWebGLGetVertexAttrib' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeGLArray")) Module["writeGLArray"] = function() { abort("'writeGLArray' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "AL")) Module["AL"] = function() { abort("'AL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "SDL_unicode")) Module["SDL_unicode"] = function() { abort("'SDL_unicode' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "SDL_ttfContext")) Module["SDL_ttfContext"] = function() { abort("'SDL_ttfContext' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "SDL_audio")) Module["SDL_audio"] = function() { abort("'SDL_audio' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "SDL")) Module["SDL"] = function() { abort("'SDL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "SDL_gfx")) Module["SDL_gfx"] = function() { abort("'SDL_gfx' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "GLUT")) Module["GLUT"] = function() { abort("'GLUT' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "EGL")) Module["EGL"] = function() { abort("'EGL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "GLFW_Window")) Module["GLFW_Window"] = function() { abort("'GLFW_Window' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "GLFW")) Module["GLFW"] = function() { abort("'GLFW' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "GLEW")) Module["GLEW"] = function() { abort("'GLEW' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "IDBStore")) Module["IDBStore"] = function() { abort("'IDBStore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "runAndAbortIfError")) Module["runAndAbortIfError"] = function() { abort("'runAndAbortIfError' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "warnOnce")) Module["warnOnce"] = function() { abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +Module["stackSave"] = stackSave; +Module["stackRestore"] = stackRestore; +Module["stackAlloc"] = stackAlloc; +if (!Object.getOwnPropertyDescriptor(Module, "AsciiToString")) Module["AsciiToString"] = function() { abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stringToAscii")) Module["stringToAscii"] = function() { abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "UTF16ToString")) Module["UTF16ToString"] = function() { abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF16")) Module["stringToUTF16"] = function() { abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF16")) Module["lengthBytesUTF16"] = function() { abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "UTF32ToString")) Module["UTF32ToString"] = function() { abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF32")) Module["stringToUTF32"] = function() { abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF32")) Module["lengthBytesUTF32"] = function() { abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8")) Module["allocateUTF8"] = function() { abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8OnStack")) Module["allocateUTF8OnStack"] = function() { abort("'allocateUTF8OnStack' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +Module["writeStackCookie"] = writeStackCookie; +Module["checkStackCookie"] = checkStackCookie; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayFromBase64")) Module["intArrayFromBase64"] = function() { abort("'intArrayFromBase64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "tryParseAsDataURI")) Module["tryParseAsDataURI"] = function() { abort("'tryParseAsDataURI' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NORMAL")) Object.defineProperty(Module, "ALLOC_NORMAL", { configurable: true, get: function() { abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } }); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_STACK")) Object.defineProperty(Module, "ALLOC_STACK", { configurable: true, get: function() { abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } }); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_DYNAMIC")) Object.defineProperty(Module, "ALLOC_DYNAMIC", { configurable: true, get: function() { abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } }); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NONE")) Object.defineProperty(Module, "ALLOC_NONE", { configurable: true, get: function() { abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } }); + + +var calledRun; + +/** + * @constructor + * @this {ExitStatus} + */ +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +} + +var calledMain = false; + + +dependenciesFulfilled = function runCaller() { + // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled +}; + + + + + +/** @type {function(Array=)} */ +function run(args) { + args = args || arguments_; + + if (runDependencies > 0) { + return; + } + + writeStackCookie(); + + preRun(); + + if (runDependencies > 0) return; // a preRun added a dependency, run will be called later + + function doRun() { + // run may have just been called through dependencies being fulfilled just in this very frame, + // or while the async setStatus time below was happening + if (calledRun) return; + calledRun = true; + Module['calledRun'] = true; + + if (ABORT) return; + + initRuntime(); + + preMain(); + + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + assert(!Module['_main'], 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else + { + doRun(); + } + checkStackCookie(); +} +Module['run'] = run; + +function checkUnflushedContent() { + // Compiler settings do not allow exiting the runtime, so flushing + // the streams is not possible. but in ASSERTIONS mode we check + // if there was something to flush, and if so tell the user they + // should request that the runtime be exitable. + // Normally we would not even include flush() at all, but in ASSERTIONS + // builds we do so just for this check, and here we see if there is any + // content to flush, that is, we check if there would have been + // something a non-ASSERTIONS build would have not seen. + // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 + // mode (which has its own special function for this; otherwise, all + // the code is inside libc) + var print = out; + var printErr = err; + var has = false; + out = err = function(x) { + has = true; + } + try { // it doesn't matter if it fails + var flush = Module['_fflush']; + if (flush) flush(0); + // also flush in the JS FS layer + ['stdout', 'stderr'].forEach(function(name) { + var info = FS.analyzePath('/dev/' + name); + if (!info) return; + var stream = info.object; + var rdev = stream.rdev; + var tty = TTY.ttys[rdev]; + if (tty && tty.output && tty.output.length) { + has = true; + } + }); + } catch(e) {} + out = print; + err = printErr; + if (has) { + warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.'); + } +} + +/** @param {boolean|number=} implicit */ +function exit(status, implicit) { + checkUnflushedContent(); + + // if this is just main exit-ing implicitly, and the status is 0, then we + // don't need to do anything here and can just leave. if the status is + // non-zero, though, then we need to report it. + // (we may have warned about this earlier, if a situation justifies doing so) + if (implicit && noExitRuntime && status === 0) { + return; + } + + if (noExitRuntime) { + // if exit() was called, we may warn the user if the runtime isn't actually being shut down + if (!implicit) { + var msg = 'program exited (with status: ' + status + '), but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)'; + err(msg); + } + } else { + + ABORT = true; + EXITSTATUS = status; + + exitRuntime(); + + if (Module['onExit']) Module['onExit'](status); + } + + quit_(status, new ExitStatus(status)); +} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + + + noExitRuntime = true; + +run(); + + + + + + +// {{MODULE_ADDITIONS}} + + + + + + // The shell-pre.js and emcc-generated code goes above + return Module; + }); // The end of the promise being returned + + return initSqlJsPromise; +} // The end of our initSqlJs function + +// This bit below is copied almost exactly from what you get when you use the MODULARIZE=1 flag with emcc +// However, we don't want to use the emcc modularization. See shell-pre.js +if (typeof exports === 'object' && typeof module === 'object'){ + module.exports = initSqlJs; + // This will allow the module to be used in ES6 or CommonJS + module.exports.default = initSqlJs; +} +else if (typeof define === 'function' && define['amd']) { + define([], function() { return initSqlJs; }); +} +else if (typeof exports === 'object'){ + exports["Module"] = initSqlJs; +} diff --git a/src/deps/browser/sql-memory-growth.js b/src/deps/browser/sql-memory-growth.js deleted file mode 100644 index 8e79c4b..0000000 --- a/src/deps/browser/sql-memory-growth.js +++ /dev/null @@ -1,47 +0,0 @@ -// This prevents pollution of the global namespace -var SQL = (function () { -var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",abort);Module["quit"]=(function(status){process["exit"](status)});Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=(function(title){document.title=title})}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(64);function addFunction(func,sig){var base=0;for(var i=base;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for getValue: "+type)}return null}var ALLOC_NORMAL=0;var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var PAGE_SIZE=16384;var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeStringToMemory(string,buffer,dontAddNull){warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+73056;__ATINIT__.push({func:(function(){___emscripten_environ_constructor()})});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAADqmgAAAQABAEEAAADvmgAAAQABAEIAAAD0mgAAAQABAEMAAAD5mgAAAgABAEQAAAD+mgAAAgABAEQAAAAEmwAAAQABAEUAAAAKmwAAAQABAEYAAAAQmwAAAQABAEcAAAAWmwAAAgABAEgAAAAhmwAAAQABAEkAAAApmwAAAQABAEoAAAAxmwAAAQABAEsAAAA1mwAAAQABAEwAAAA5mwAAAQABAE0AAAA9mwAAAQABAE4AAABBmwAAAQABAE8AAABGmwAAAQABAFAAAABLmwAAAQABAFEAAABQmwAAAQABAFIAAABVmwAAAQABAFMAAAATuwAAAQABAFQAAABZmwAAAQABAFUAAABfmwAAAgABAFYAAABlmwAAAQABAFcAAABqmwAAAQABAFgAAABvmwAAAQABAFkAAAB2mwAAAQABAFoAAAB7mwAAAQABAFsAAACBmwAAAAABAVwAAACEmwAAAgABAF0AAACOmwAAAgABAF4AAACOmwAAAwABAF4AAACYmwAAAgABAF8AAACgmwAAAgABAGAAAACpmwAAAQABAGEAAACxmwAAAQABAGIAAAC4mwAAAgABAGMAAAC9mwAAAgABAGQAAADCmwAAAgABAGUAAADHmwAAAgABAGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMAAQIAAAICBAUFAAECBgIDAAEAAgACAAAAAAAAAAECAwABAgAAAgIEBQUAAQIGAgMAAQACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgICAgICAgMDAwMDAwMDBAQEBAQEBAQAAAAAgDAAAIAgDgCAIMgDAAAAAID///8A+P//AAD//2QKARAAAHMABAUAAGcAAQMeAHoABAYAAHEABAkAAFEABAoAAHcABA4AAGMAAAgAAG8IAAAAAnUKABAAAHgQAAAQAVgQAAAABGYAAQEAAGUAAQIeAEUAAQIOAEcAAQMOAGkKARAAAG4AAAQAACUAAAcAAHAQAA0AAVQAAAsAAFMAAAwAAHIKAQ8AAAAAAAAAADAxMjM0NTY3ODlBQkNERUYwMTIzNDU2Nzg5YWJjZGVmAAAAAAAAAAAAAAAAAAAAAAkAAAABCAQAAAAAAAAAAABnAAAAAAAAAAAAAAAAAAAApKUAAAAAAAAHAAAAAQgEAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAAAALmlAAAAAAAABQAAAAEIBAAAAAAAAAAAAGkAAAAAAAAAAAAAAAAAAADNpQAAAAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/wAAAAABAAEAAAAAAAAAAABqAAAAQwAAAEMAAABrAAAAFaUAAAAAAAAAAAAAAQABAAAAAAAAAAAAbAAAAEQAAABEAAAAawAAACClAAAAAAAAAAAAAAEAAQAAAAAAAAAAAG0AAABFAAAARQAAAGsAAAArpQAAAAAAAAAAAAABAAMAAAAAAAAAAABuAAAARgAAAEYAAABrAAAAMKUAAAAAAAAAAAAAAQADAAAAAAAAAAAAbwAAAEcAAABHAAAAawAAAD2lAAAAAAAAAQAAAAEAAwAAAAAAAAAAAHAAAABIAAAASAAAAGsAAABHpQAAAAAAAAEAAAABAAEAAAAAAAAAAABxAAAASQAAAEoAAAByAAAATaUAAAAAAAACAAAAAQABAAAAAAAAAAAAawAAAEsAAABLAAAAawAAAFilAAAAAAAAAQAAAAEAAQAAAAAAAAAAAGsAAABLAAAASwAAAGsAAABipQAAAAAAAAEAAAABAAEAAAAAAAAAAABrAAAASwAAAEsAAABrAAAAbqUAAAAAAAACAAAAAQABAAAAAAAAAAAAawAAAEsAAABLAAAAawAAAG6lAAAAAAAAAwAAAAEAAQAAAAAAAAAAAGsAAABLAAAASwAAAGsAAABupQAAAAAAAAEAAAABAAEAAAAAAAAAAABrAAAASwAAAEsAAABrAAAAc6UAAAAAAAACAAAAAQABAAAAAAAAAAAAawAAAEsAAABLAAAAawAAAHOlAAAAAAAAAwAAAAEAAQAAAAAAAAAAAGsAAABLAAAASwAAAGsAAABzpQAAAAAAAAAAAAAAAAAA/wAAAAEoAADAkQAAAAAAAHMAAAAAAAAAAAAAAAAAAACbowAAAAAAAP8AAAABKAAAwJEAAAAAAAB0AAAAAAAAAAAAAAAAAAAApaMAAAAAAAD/AAAAASgAAMCRAAAAAAAAdQAAAAAAAAAAAAAAAAAAAKqjAAAAAAAA/wAAAAEoAADAkQAAAAAAAHYAAAAAAAAAAAAAAAAAAACvowAAAAAAAP8AAAABKAAAwJEAAAAAAAB3AAAAAAAAAAAAAAAAAAAAuKMAAAAAAAAAAAAAASAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAMGjAAAAAAAAAAAAAAEgAAAAAAAAAAAAAHkAAAAAAAAAAAAAAAAAAADOowAAAAAAAAAAAAABIAAAAAAAAAAAAAB6AAAAAAAAAAAAAAAAAAAA4KMAAAAAAAABAAAAASAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAMigAAAAAAAAAQAAAAEgAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAAADioAAAAAAAAAEAAAABDAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAA+6AAAAAAAAACAAAAAQwAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAShAAAAAAAAAQAAAAEMAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAPoQAAAAAAAAEAAAABCAAAAQAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAFqEAAAAAAAACAAAAAQgAAAEAAAAAAAAAfgAAAAAAAAAAAAAAAAAAABahAAAAAAAAAQAAAAEIAAACAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAcoQAAAAAAAAIAAAABCAAAAgAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAHKEAAAAAAAABAAAAAQgAAAMAAAAAAAAAfgAAAAAAAAAAAAAAAAAAACKhAAAAAAAAAgAAAAEIAAADAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAioQAAAAAAAP8AAAAhCAAAAAAAAAAAAAB/AAAAAAAAAAAAAAAAAAAAJ6EAAAAAAAAAAAAAIQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACehAAAAAAAAAQAAACEQAAAAAAAAAAAAAIAAAABMAAAATQAAAAAAAAAnoQAAAAAAAP8AAAAhCAAAAQAAAAAAAAB/AAAAAAAAAAAAAAAAAAAAK6EAAAAAAAAAAAAAIQgAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACuhAAAAAAAAAQAAACEQAAABAAAAAAAAAIAAAABMAAAATQAAAAAAAAAroQAAAAAAAAEAAACBCAAAAAAAAAAAAACBAAAAAAAAAAAAAAAAAAAAL6EAAAAAAAABAAAAQQgAAAAAAAAAAAAAggAAAAAAAAAAAAAAAAAAADahAAAAAAAAAgAAAAEIAAAAAAAAAAAAAIMAAAAAAAAAAAAAAAAAAAA9oQAAAAAAAP8AAAABCAAAAAAAAAAAAACEAAAAAAAAAAAAAAAAAAAAQ6EAAAAAAAABAAAAAQgAAAAAAAAAAAAAhQAAAAAAAAAAAAAAAAAAAEqhAAAAAAAA/wAAAAEIAAAAAAAAAAAAAIYAAAAAAAAAAAAAAAAAAABSoQAAAAAAAAEAAAABCAAAAAAAAAAAAACHAAAAAAAAAAAAAAAAAAAAV6EAAAAAAAABAAAAAQgAAAAAAAAAAAAAiAAAAAAAAAAAAAAAAAAAAFuhAAAAAAAAAgAAAAEIAAAAAAAAAAAAAIgAAAAAAAAAAAAAAAAAAABboQAAAAAAAAEAAAABCAAAAAAAAAAAAACJAAAAAAAAAAAAAAAAAAAAYaEAAAAAAAABAAAAAQgAAAAAAAAAAAAAigAAAAAAAAAAAAAAAAAAAGehAAAAAAAAAQAAAAEIAAAAAAAAAAAAAIsAAAAAAAAAAAAAAAAAAABtoQAAAAAAAAIAAAABCgAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAcaEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAHihAAAAAAAAAQAAAAEAAAAAAAAAAAAAAI0AAAAAAAAAAAAAAAAAAAB/oQAAAAAAAAIAAAAhCAAAAAAAAAAAAACOAAAAAAAAAAAAAAAAAAAAiqEAAAAAAAAAAAAAASAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAJGhAAAAAAAAAAAAAAEgAAAAAAAAAAAAAI8AAAAAAAAAAAAAAAAAAACgoQAAAAAAAAIAAAABCAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAsaEAAAAAAAABAAAAAQgAAAAAAAAAAAAAkQAAAAAAAAAAAAAAAAAAALyhAAAAAAAAAAAAAAEAAAAAAAAAAAAAAJIAAAAAAAAAAAAAAAAAAADCoQAAAAAAAAAAAAABAAAAAAAAAAAAAACTAAAAAAAAAAAAAAAAAAAA1KEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAlAAAAAAAAAAAAAAAAAAAANyhAAAAAAAAAwAAAAEIAAAAAAAAAAAAAJUAAAAAAAAAAAAAAAAAAADqoQAAAAAAAAEAAAABCAAAAAAAAAAAAACWAAAAAAAAAAAAAAAAAAAA8qEAAAAAAAACAAAAAQgAAAAAAAAAAAAAlwAAAAAAAAAAAAAAAAAAAPuhAAAAAAAAAwAAAAEIAAAAAAAAAAAAAJcAAAAAAAAAAAAAAAAAAAD7oQAAAAAAAAEAAAABAAAAAAAAAAAAAACYAAAATgAAAE4AAACZAAAAAqIAAAAAAAABAAAAAQAAAAAAAAAAAAAAmAAAAE8AAABPAAAAmQAAAAaiAAAAAAAAAQAAAAEAAAAAAAAAAAAAAJgAAABQAAAAUAAAAJkAAAAMogAAAAAAAAAAAAABAQAAAAAAAAAAAACaAAAAUQAAAFEAAACbAAAAEKIAAAAAAAABAAAAAQAAAAAAAAAAAAAAmgAAAFEAAABRAAAAmwAAABCiAAAAAAAAAQAAAAEAAAAAAAAAAAAAAJwAAABSAAAAUwAAAJ0AAAAWogAAAAAAAAIAAAABAAAAAAAAAAAAAACcAAAAUgAAAFMAAACdAAAAFqIAAAAAAAACAAAADQgAACOiAAAAAAAAngAAAAAAAAAAAAAAAAAAACeiAAAAAAAAAgAAAAUIAAAsogAAAAAAAJ4AAAAAAAAAAAAAAAAAAAAwogAAAAAAAAMAAAAFCAAALKIAAAAAAACeAAAAAAAAAAAAAAAAAAAAMKIAAAAAAAABAAAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADWiAAAAAAAAAAAAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1ogAAAAAAAP8AAAABCgAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAANaIAAAAAAAAAAAAAAAAAAAMAAAA0AAAAAAIAAAAAAABxngAAZJMAAEEAAABDAAAAQQAAAEIAAAAAAAAAAAAAAAAAAAAAAAAARAAAAEIAAABDAAAARQAAAEQAAABGAAAARQAAAEYAAAADAAAANAAAAAACAAAAAAAAdp4AAGiTAABBAAAAQwAAAEEAAABCAAAAAAAAAAAAAAAAAAAAAAAAAEQAAABCAAAAQwAAAEUAAABEAAAARgAAAEUAAABGAAAAAwAAADQAAAAAAgAAAAAAAICeAABskwAAQQAAAEMAAABBAAAAQgAAAAAAAAAAAAAAAAAAAAAAAABEAAAAQgAAAEMAAABFAAAARAAAAEYAAABFAAAARgAAAAMAAAA0AAAAAAIAAAAAAACNngAAZJMAAEEAAABDAAAAQQAAAEIAAAAAAAAAAAAAAAAAAAAAAAAARAAAAEIAAABDAAAARQAAAEQAAABGAAAARQAAAEYAAAC8ngAASQAAAAAAAAC2ngAASgAAAAAAAADBngAAUAAAAAAAAADIngAAUQAAAAAAAADPngAAUgAAAAAAAADUngAAUwAAAAAAAADangAAVAAAAAAAAADkngAASgAAAAAAAADqngAASwAAAAAAAADvngAAAAAAAAAAAAD1ngAAAAAAAAAAAAD9ngAATAAAAAAAAAADnwAAAAAAAAAAAAAKnwAAAAAAAAAAAAATnwAAVQAAAAAAAAAanwAAAAAAAAAAAAAknwAASwAAAAAAAAArnwAAVgAAAAAAAAA5nwAAVwAAAAAAAAA/nwAATAAAAAAAAABFnwAATQAAAAAAAABMnwAAQQAAAAAAAABUnwAAQQAAAAAAAABZnwAAWAAAAAAAAABgnwAAAAAAAAAAAABnnwAAQgAAAAAAAABznwAATgAAAAAAAAB8nwAAWQAAAAAAAACCnwAAAAAAAAAAAAAAAAAAAAAAAAAAAAD3nwAAAKAAAAmgAABrngAAAAAAAAAAAABvbm9mZmFsc2V5ZXN0cnVleHRyYWZ1bGwAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQCAAEAAAIAAAAAAAAAAAAwMDAwMDAwMDAwAAAAAAAAACgoKCgoKAgICAgICAgICAgICAgICAgICAgKAAAAAQIAqKioqKioiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHwABAgMEBQYHCAkKCwwNDg8AAQIDBAUGBwABAgMAAQAABAUDBQEFAQUCBQIFAQUBBQQFAwUBBQEFAgUCBQEFAQUwMTIzNDU2Nzg5QUJDREVG3KIAAOSiAADpogAA7qIAAPOiAAAAAAAAAAAAAAAAAAD7ogAAEKMAAByjAAAoowAAQKMAAEyjAABYowAAZaMAAHKjAACGowAAAAAAAAAAAAAABgAAm6QAAAAAsOolBltCAAAAAABAj0AABgAAoqQAAAAAAKVb0/xBAAAAAABM7UAABAAAqaQAAAAAALBQv55BAAAAAEB3S0EAAwAAl6QAAAAAAECLf1RBAAAAAHCZlEEBBQAAjKQAAAAAAAAQjQVBAAAAANlP40ECBAAAkqQAAAAAAACAvMxAAAAAsMReHUJTUUxpdGUgZm9ybWF0IDMAT7sAAAAUAAAIAAAAAAAAAF67AAABlQAAAAAAAAAAAABquwAAAhQAAACAAAAAAAAAersAAAMQLgEAAAAAAAAAADy7AAAElQAAAAAAAAAAAACHuwAABZQAAAAAAAAAAAAAk7sAAAYCAAAAAAAAAAAAAKe7AAACFAAAAAAgAAAAAAC3uwAAAhQAABAAAAAAAAAAzLsAAAcQGgIAAAAAAAAAANu7AAAIEAAAAAAAAAAAAADruwAAAhQAAIAAAAAAAAAA+bsAAAAYAAAPAAAAAAAAAAa8AAAKESMDAAAAAAAAAAAUvAAAC5UtAQAAAAAAAAAAJ7wAAAIUAAAAAAgAAAAAADq8AAACFAAAAAEAAAAAAABRvAAADBQAAAAAAAAAAAAAWrwAAA0RHwQAAAAAAAAAAGy8AAAOYQAIAAAAAAAAAAB9vAAAAhQAAABAAAAAAAAAirwAAAAYAAAAAAAAAAAAAJm8AAACFAAABAAAAAAAAACrvAAAAhQAAAgAAAAAAAAAtbwAAAIUAAAAAgAAAAAAAM68AAAQAwAAAAAAAAAAAADhvAAAEWEPAwAAAAAAAAAA7LwAABJhGgUAAAAAAAAAAPe8AAARYQ8GAQAAAAAAAAADvQAAEzEAAAAAAAAAAAAAE70AABSRAAAAAAAAAAAAACC9AAAVkAAAAAAAAAAAAAAzvQAAAhQAAAAAAAQAAAAARr0AAAIUAAACAAAAAAAAAFm9AAAXkAAAAAAAAAAAAABmvQAAGJEAAAAAAAAAAAAAdb0AABkAAAAAAAAAAAAAAH+9AAAbIQAAAAAAAAAAAACIvQAAGJEAAAAAAAAAAAAAk70AAByUAAAAAAAAAAAAAJ29AAACFAAAAAAQAAAAAACovQAAEzEAAAAAAAAAAAAAtL0AAAIUAAAABAAAAAAAAMW9AAACFAAAACAAAAAAAADYvQAAAhQAAAAQAAAAAAAA8r0AAAAUAAABAAAAAAAAAAG+AAAeEAAAAAAAAAAAAAAPvgAAAhQAAEAAAAAAAAAAIr4AAB8CAAAAAAAAAAAAADC+AAAgEAAAAAAAAAAAAABAvgAAIZUAAAAAAAAAAAAATL4AACJhCAYAAAAAAAAAAFe+AAAiYQgHAQAAAAAAAABjvgAAIxQAAAAAAAAAAAAAbr4AACQEAAAAAAAAAAAAAIO+AAAlEAAAAAAAAAAAAACLvgAAABQAAAYAAAAAAAAAmL4AACYAAAAAAAAAAAAAAKu+AAAnASYDAAAAAAAAAAC6vgAAAhQAAAEAAAgAAAAAcbQAAHu0AACGtAAAkrQAAJ20AACitAAAp7QAALK0AAC+tAAAxbQAAM20AADVtAAA2rQAAOC0AADutAAA9LQAAP60AAADtQAACLUAAAu1AAAPtQAAFbUAAB+1AAAmtQAALbUAADS1AAA7tQAARLUAAE+1AABYtQAAXrUAAGi1AABytQAAd7UAAIG1AACMtQAAkbUAAJi1AACetQAApLUAAKq1AACwtQAAu7UAAMa1AADJtQAAzbUAANW1AADetQAA5LUAAO61AAD7tQAAArYAAAq2AAANtgAAELYAABO2AAAWtgAAGbYAABy2AAAmtgAAMbYAADe2AAA8tgAARrYAAFC2AABZtgAAYrYAAGm2AAB2tgAAgbYAAIa2AACOtgAAlLYAAJu2AACgtgAAqbYAAK62AAC3tgAAvLYAAMG2AADHtgAAz7YAANm2AADhtgAA6LYAAPW2AAD6tgAABrcAAA63AAAVtwAAHLcAACO3AAAstwAAM7cAADm3AABDtwAATrcAAFK3AABbtwAAZLcAAGu3AAB1twAAfLcAAIe3AACOtwAAlLcAAJ+3AACntwAAsbcAALu3AADEtwAAzrcAANa3AADktwAA8rcAAP23AAAKuAAAFbgAABu4AAAnuAAAL7gAADi4AABBuAAASLgAAFK4AABZuAAAZLgAAHK4AAB9uAAAhbgAAIu4AACTuAAAm7gAAKi4AACyuAAAvLgAAMm4AADSuAAA2rgAAOC4AADsuAAA+LgAAP24AAAFuQAAEbkAAB65AAAouQAAMrkAAD65AABKuQAAVLkAAFq5AABkuQAAa7kAAHe5AACCuQAAirkAAJO5AACcuQAApbkAAKy5AAC2uQAAvbkAAMW5AADOuQAA1LkAANy5AADkuQAA7rkAAPe5AAD9uQAACLoAAA26AAAVugAAAAAAAAAAAADMqAAA0agAANioAADbqAAA3qgAAOGoAADkqAAA56gAAO+oAADyqAAA+agAAAGpAABPtAAAWLQAAF+0AABltAAAAAECAwQGCAgAAAAAAAABAQICAwMEBAUFBgYHBwgICQkKCgsLDAwNDQ4ODw8QEBEREhITExQUFRUWFhcXGBgZGRoaGxscHB0dHh4fHyAgISEiIiMjJCQlJSYmJycoKCkpKiorKywsLS0uLi8vMDAxMTIyMzM0NDU1NjY3Nzg4OTkAAAIAAwAFAAYABwAIAAkAbLEAAHOxAAB7sQAAf7EAAIixAACPsQAAAAAAAAAAAABUrwAAYa8AAAAAAABxrwAAiq8AAJivAACrrwAARq8AAMSvAAAFqAAA6a8AAPivAAAZsAAAK7AAAESwAABhsAAAAAAAAJ6qAACMogAAcrAAAISwAACWsAAAuLAAANewAAAAAAAA7LAAAAaxAAAdsQAAMrEAAAAAAAAAAAAAAAAAABwbGxsbGxsbGwcHGwcHGxsbGxsbGxsbGxsbGxsbGxsbBw8IBQQWGAgREhUUFwsaEAMDAwMDAwMDAwMFEwwODQYFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEJGxsbAQgBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABARsKGxkbAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJKbXxIai0AAFEATD0AKgxNDwB7VDZ2fRMAAIIAgHkAFmAACQAAc0UAQwYAMF2IAH5oAAAsAGsYABEAgzUXAAU+hGMAAIduPIY5cTcAXgBnGgBmAAAAYl9kaXUOJ3QAUACFclw7AIFPd1YuUwAAYSh6eAB/AAAdAFlXWAAUVW84AAcHBQQGBAUDBgcDBgYHBwMIAgYFBAQDCgQGCwYCBwUFCQYJCQcKCgQGAgMJBAIGBQcEBQcGBgUGBQUFBwcEAgcDBgQHBgwGCQQGBAUEBwYFBgcFBAcDAgQFCQUGAwcNAgIEBgYIBREMBwkICAIECQQGBwkEBAIGBQgEBQgEAwkFBQYEBgIJAwcAAAAAAAAAAAAAAgACAAgACQAOABAAFAAXABkAGQAdACEAJAApAC4AMAA1ADYAOwA+AEEAQwBFAE4AUQBWAFsAXwBgAGUAaQBtAHUAegCAAIgAjgCYAJ8AogCiAKUApwCnAKsAsACzALgAuAC8AMAAxwDMANEA1ADaAN0A4QDmAOwA8gD1APcA+AD8AAIBBgENARMBHwElAS4BMAE2AToBPwFBAUgBTQFSAVgBXgFjAWYBZgFmAWkBbQFwAXkBfQGDAYUBjAGOAZABmQGdAaMBqQGxAbYBtgG2AcYBzwHWAdcB3gHhAeoB7gHzAfoBAwIHAgsCDQITAhcCHwIiAicCLwIvAjMCPAJBAkYCTAJPAlICVQJaAl4CUkVJTkRFWEVERVNDQVBFQUNIRUNLRVlCRUZPUkVJR05PUkVHRVhQTEFJTlNURUFEREFUQUJBU0VMRUNUQUJMRUZUSEVOREVGRVJSQUJMRUxTRVhDRVBUUkFOU0FDVElPTkFUVVJBTFRFUkFJU0VYQ0xVU0lWRVhJU1RTQVZFUE9JTlRFUlNFQ1RSSUdHRVJFRkVSRU5DRVNDT05TVFJBSU5UT0ZGU0VURU1QT1JBUllVTklRVUVSWVdJVEhPVVRFUkVMRUFTRUFUVEFDSEFWSU5HUk9VUERBVEVCRUdJTk5FUkFOR0VCRVRXRUVOT1RISU5HTE9CWUNBU0NBREVMRVRFQ0FTRUNPTExBVEVDUkVBVEVDVVJSRU5UX0RBVEVERVRBQ0hJTU1FRElBVEVKT0lOU0VSVExJS0VNQVRDSFBMQU5BTFlaRVBSQUdNQUJPUlRWQUxVRVNWSVJUVUFMSU1JVFdIRU5PVE5VTExXSEVSRUNVUlNJVkVBRlRFUkVOQU1FQU5ERUZBVUxUQVVUT0lOQ1JFTUVOVENBU1RDT0xVTU5DT01NSVRDT05GTElDVENST1NTQ1VSUkVOVF9USU1FU1RBTVBBUlRJVElPTkRFRkVSUkVESVNUSU5DVERST1BSRUNFRElOR0ZBSUxGSUxURVJFUExBQ0VGT0xMT1dJTkdGUk9NRlVMTElGSVNOVUxMT1JERVJFU1RSSUNUT1ZFUklHSFRST0xMQkFDS1JPV1NVTkJPVU5ERURVTklPTlVTSU5HVkFDVVVNVklFV0lORE9XSU5JVElBTExZUFJJTUFSWQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAACAAAAAAAADQAAAAAABwAAAAAAAAAAAAAAAAAAACEAFQAAAAAAMgArAy8AACAAAAAAAAAAAUAAAEEAKQAmAAAAAAAxSwAAHgA6AAAAHz8QIgoAAAAAAAAAC0ZbAAAIAGwAZRw0RABwAEkzAFobJQBHJFIAI0IZEgAATgAAAAAAAAAAWGmVJzopcUMheT4/LwJBlyYYfxBrkwt4lH0GHGhrlkcJFA1+TXJsi0VEdxUVK3ADGVFrDiCIh3YFa1YwjC8iIx91kWYRWigIhHQvLgQeRhuAUImSMxNCbopIHVksbXMPMSQ8CiVrWlpSVAeBLXpVKppJU4NrEjKGSplrDExLV3uFTk+YPUB8bwAAAAAAAAAA76gAAGa6AABqugAAcLoAAHW6AAB4ugAAgroAAIy6AACSugAAlroAAJu6AACgugAAqLoAALO6AAC2ugAAvboAAJK6AACWugAAw7oAAMi6AADNugAA0boAANW6AADZugAA3roAAOO6AABmugAAlroAAOi6AADvugAA9roAAGq6AAD+ugAA8qgAAAS7AABmugAAlroAAAm7AAAOuwAAE7sAABe7AACWugAAJLsAACy7AAA1uwAAPLsAAEe7AAAAAAAAp8YAAAEAAADdvgAAAQAAAAAAAAA7ADsAOwA7AAAAOwA7ADsAAAA7ADsAOwA7AAAAAAAAADsAAAAAADsAAAAAAAAAOwAAADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAAAAAAAAAOwA7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAOwA7ADsAAAAAAAAAAAAAAK0G8AVCBywFLAUVAV4FvQVCBrAGsAawBhEBAAAAAHEA+AOwBrAGsAawBrAGsAawBrAGsAawBgsACwDsALgAFQEVARUBFQEVARUBXQCxAA4BawHIASUCggLfAjwDUAPkA3gE+AP4A/gD+AP4A/gD+AP4A/gD+AP4A/gD+AP4A/gD+AP4A4wE+APpBP0E/QTSBbAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBrAGzgawBrAGsAawBrAGsAawBrAGsAawBrAGsAawBo8AogCiAKIAogCiAMwAlwCgARMCiAK8AhMC5gHmARMCYQFhAWEBYQGZARcBNQDZB9kHSwFLAUsBSQFuAUkBSQFVAlUC0AHaAQYBqQITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAhMCEwITAq0A5QHYA9gDQALlARMA/gPZB9kH2QeDAfoA+gANAvYBFgEoAuMA4AE2AhMCEwITAhMCEwITAhMCEwITAhMCfwITAhMCEwITAhMCEwITAhMCEwITAhMCEwICAAIAAgATAhMCEwITAg4DEwITAhMC6AITAhMCDwMTAhMCEwITAhMCEwITAhMCowGqAkcBcgFyAXIBcgEFBEcBRwEABIEDWAOzA1UEwgLCAncEVQRVBHcESgOxA14EcARwBHAEwgKkApABFwS2AjsF9gT2BFYFVgX2BBkFbQVZBf4EeQV5BXkFeQX2BIYF/gT+BBkFbQVZBVkF/gT2BIYFEgVpBfYEhgWYBfYEhgX2BIYFmAVLBUsFSwWDBZgFSwVXBUsFgwVLBUsFmAVwBXAFmAVVBXQFVQV0BVUFdAVVBXQF9gRcBZUF3gVuBVwF7QX2BHUFbgWCBYUF/gT4BfwFDQYNBhoGGgYaBtkH2QfZB9kH2QfZB9kH2QfZB9kH2QfZB9kH2QfZB9kHOgJZAa4C7AIyAOQCKARTBNUBGQISBHoEigSCBLEEsgSzBLgEuQRnBC0ErASFBHsEygTMBN0EBwNkA94E3wSnBH8EMQY1BjMGsAVABvcFQQY7BjwG1AXMBeIFQwbXBUgG2AVOBmMG5AXZBfEFLAZGBuEFOAY5Bj0GPgb6BQsGUwb0BXYGcwZkBhEG5gU6BmIGPwY0BlcG/wUcBmoGcQZ0BhAGGAZ1BkkGdwZ4BnkGewZMBnoGfAZQBnAGgAYOBoQGAgaGBocGhQaJBosGjAaOBpAGjwYmBpMGmgZKBpIGnwYyBqIGmwaiBp0GawZ9Bm4GlgauBq8Gsga0BqcGswaiBr8GwAbBBsIGwwbEBsYGzwbIBskGzAbQBsoG0gbLBm0GaAZsBm8GcgbVBtcG7AYAAAAAAAAAAAAAAAAAALgA7gDvAPAA7gDvAPAAowCbAJwAnQCeAJ8AoACjAL8AwAC3AKUAEwCnAAIBygDLAMgAvwCjAK4AuAC5AK4AHwCjAKMAqwC4ALkAIwCvACcAswC0ALUAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAuADOAM8AowDOAM8A3ACjABAAowBCAKMAOwAOAdsA5QARAdsASgDQAK4A3wDgAKMAuAC5AKMA6AC4ALkAuAC5ALgAuQBcAF0AXgBfAGAAYQBiAGMAZABlAGYA6QDGALgAuQBgAGEAowDOAM8AEwCjAAUBaABpAGoAawDGAG0AdwDcANsA3AASARMBTQB1AE8AuwDlABMA5QC4ALkAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkA6QCNAIYAjwBmACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5AJgAEgHYABQB2gBTAKMAVQDpAEMA7gDvAPAACwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAEwA2ADcAOAA5ADoAowAaAKMAXABdAF4AXwBgAGEAYgBjAGQAZQBmADYANwA4ADkAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAXABdAF4AXwBgAGEAYgBjAGQAZQBmAEUAYABhAGIAYwBkAGUAZgBcAF0AXgBfAGAAYQBiAGMAZABlAGYAUQCzALQAtQBcAF0AXgBfAGAAYQBiAGMAZABlAGYAowALAQwBowAWABcAOwCjABoAEwB1AHYArwBtABgAOwBcAF0AXgBfAGAAYQBiAGMAZABlAGYADAG4ALkADQF/AIAAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAnQCeAJ8AoABpAGoAawCjAKUAOwCnALgAWgBpAGoAawBsAK4ASQBvAHAAcQATABYAowBbAFEAowBqAHkAUQCEAG4AEABcAF0AXgBfAGAAYQBiAGMAZABlAGYAuAC5AP8AYgDOAM8AGgBlAGYAEwBpAGoAawAXAMYAOwB0ANsAjQCOAI8AGACjALsAzQASARMBfwCAALYA6AB/AIAAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAngBNAKAATwA7ABoAtgClADsApwDHAAUBZgBpAGoAawCuAEgAbABtAG4AbwBwAHEAcgA7AO4A7wDwAHsAeAB9AH4AowBcAF0AXgBfAGAAYQBiAGMAZABlAGYAowCjAKMAzgDPAGkAagBrAP4AEwBqAFoAxQAXAH8AgADbAO4A7wDwABYAuAC5ALgAuQAWAGkAagCVAOgAzQBuAKMAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAYgBjAGQAZQBmALgAuQCjADUAOwAFAdwAdQB2AI0AjgCPAIMArgA7AOUAdAB1AHYAowA7AKMAowC4ALkAOwDyAEgAFgBcAF0AXgBfAGAAYQBiAGMAZABlAGYAuAC5ABgAuAC5AM4AzwDKAMsAEwBpAGoAawAXAMYAFgCuAMYA2wDcAGkAagBrAGAAYQA7AGkAagBrABYArgA7AGoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAzgDPAAwAbAA7AIQAbwBwAHEALgAvADAAMQDbAM4AzwB5ABsAOwCjAI0AzwCPAGkAagBrAKMA2wDqAGkAagBrACoA2wBcAF0AXgBfAGAAYQBiAGMAZABlAGYATACjALgAuQCjAGkAagBrAD8AEwBWAKMAowAXAKMAggDNABUASQBpAGoAawC4ALkAowC4ALkA7QBuALQAtQC0ALUAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkArgCjAKMAFgAXAKMAowAaABYAFwDcAB0ASQDcABABIQAWAKMAGAATAK4A0AADAbgAuQATALgAuQBQAK8A5gCuAM4AzwBcAF0AXgBfAGAAYQBiAGMAZABlAGYA2wAuAEEA9wDDAPcAxQDOAM8AEwB0AHUAdgAXANwAcACuANwAzgDPANsAFgCuABgArgAWABcAWwAIAQkBqADbAFsAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAzgDPAAwAowCVAP8AzgDPAM4AzwA7AGgAFwDbAKMAGgCjABsAaQDbAKMA2wCjANMAuAC5AKMAeACjAJIAowCUACoA3QBcAF0AXgBfAGAAYQBiAGMAZABlAGYAowBbALgAuQC4ALkAuAC5AD8AEwCjAM0AagAXAPUAowDQAPgAdAB1AHYAuAC5AKMAowAHAAgACQCjABMAGgC4ALkAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAowC4ALkAawCjACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ANAA/wCxALIAowC4ALkAowCEAKMAjQCjAI8AFgBcAF0AXgBfAGAAYQBiAGMAZABlAGYAuAC5AKMAuAC5ALgAuQC4ALkAXABdAF4AXwBgAGEAYgBjAGQAZQBmAKMAowCjALgAuQCjAHMAowCjAKMAowAPAKMAowCjAKMAowAXAKMAowAaALgAuQC4ALkAowC4ALkAuAC5ALgAuQCjALgAuQC4ALkAuAC5ALgAuQCjAGAAYQCTAKMAuAC5AKMAxwCjAKMAzQC4ALkAowA8AKMAjQCjAI8AowC4ALkAEwCjALgAuQDmALgAuQC4ALkAzgDPAOYAuAC5ALgAuQC4ALkAuAC5ABMAowDbAOcAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAowAaAKMAuAC5ACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5AKMAuAC5ALgAuQCjALYAowCjAKMAowCjABYAowBcAF0AXgBfAGAAYQBiAGMAZABlAGYAowC4ALkAuAC5AKMAuAC5AKMAXABdAF4AXwBgAGEAYgBjAGQAZQBmAKMAuAC5AGIAOwCjALgAuQDNALgAuQAXAM4AzwAaAKMAGgBrAJkAmgDtALgAuQDnAJMA2wC4ALkA+QB8AH8AgADnAP4AgQCjAOcAsQCyAAYBBwF2AIQAEwATAC4A3wDgAB8AGAAXAGoAfAAaABYAEAEnAIEAFwBtAG4AGgCjAIwAEwAWAOoAOwArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQDnAAcACADBADsAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAaAA9ABcAFwAXABoAGgAaAKMAFwAXAGoAGgAaAFwAXQBeAF8AYABhAGIAYwBkAGUAZgCKAGkAFwA7ABcAGgBqABoAowBcAF0AXgBfAGAAYQBiAGMAZABlAGYAbgAXABcAFwAaABoAGgCjAKMAEwB4AKMAowCjAIIAowCjAKMAowCjAKMAowDBAMEAowCjAKMAowDhABMAagCjAN4AowAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAowCjAMsAowCjAN4AowAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5AKMAowCjAKMAowD7APoA0QATABQAtgAWAKEA3gBcAF0AXgBfAGAAYQBiAGMAZABlAGYAJADeAN4ABAHiALwAAAHiALsAXABdAF4AXwBgAGEAYgBjAGQAZQBmANIA1QDVADsA1QDEAMAAuwAAAfQA1AC7AOIAEwAUAEcAFgDSAKYAPACCAKoABAGqACYAUQABAQEBqgBoACQAFgArAMkAWgDsAIoA6wDVABIAYABhADAAzADMAMwAzABnAKoAaQBqAGsAEgA7AG4AqQDVANUAyQCqAMkAqQDsANUAkgBHAOsAPgD9APwAqgB/AIAAqQAWAKoAUgC9AKkAaACqAFcAqQC9AFoAjQCOAI8AkACRAGAAYQC6ALoAugBAAMIAZwC6AGkAagBrAHMAvQBuALwAugC6ABMAFADCABYAugC9AGYA9gD2AL0AhQDkAGgA5ADjAOMAqgAkAIYA5ADjABMAFADkABYAVAAPAY0AjgCPAJAAkQAAAAEAAgDYABYABQAkAIkAOwDjAAoACwAMAA0ADgDZAA0BEQDYABYARwCqAPMAkgDxANkAiADXAIcAOwAeAFIAIAAZANYA1QBXAK0AGgBaACgARwANAKwApABgAGEApAAGAKIAogCiAGcABwFpAGoAawAKAQoBbgBaALAAsAC+ALYAvgBgAGEAYgAEAEYAsAADAGcAtgBpAGoAawBOALYAbgBRALYAtgC2ALYAtgCXAFgAFgCNAI4AjwCQAJEADwBZABAAFwAXAIAAEwAUAIsAFgB3AIMAGAAUAIUAEACNAI4AjwCQAJEAAQCMACQAgwB3AD0AegAlAIsANQA1AH8AgAB3ADUANQBpACIAggABAAUAaAAWAJUAGgA7AEQASwApAIIAGABEAGgAFACWABMAeABHAHIAFgBDABYAFgBDABcAFgAWAEMAUgAlABwAFwCKAFcAFgCZAFoAFwAXABoAFwAWAGAAYQAYABcAFgAYAIIAZwAXAGkAagBrAAEAAgBuABcABQBpACIAFgCEAAoACwAMAA0ADgAaACIAEQAiAFUAUwAsABMAFAAXABYAGABLACIAFwAeABoAIAAaAI0AjgCPAJAAkQAkACgAFwAXABcAFwALABcAFgAaABYAFgAWABMAFAAXABYAGgAPABcAFgB8AIIAOwAXAAEAggAVARUBggAkAEYAggAVARUBRwAVARUBFQFOABUBFQFRABUBFQEVARUBFQEVAVgAFQEVARUBOwBaABUBFQEVARUBFQFgAGEAFQEVARUBRwAVAWcAFQFpAGoAawAVARUBbgAVARUBFQEVARUBFQEVARUBegBaABUBFQEVAX8AgABgAGEAFQEVARUBFQEVAWcAFQFpAGoAawAVARUBbgCNAI4AjwCQAJEAFQGWABUBFQEVAQUAFQEVARUBFQEKAAsADAANAA4AFQEVAREAFQEVARUBFQEVARUBFQGNAI4AjwCQAJEAHgAVASAAFQEVARUBFQEVARUBFQEoABUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQFGABUBFQEVARUBFQEVARUBTgAVARUBUQAVARUBFQEVARUBFQFYABUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVAXoAFQEVARUBFQF/AIAAFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBFQEVARUBlgAVARUBFQEVARUBFQEVARUBFQEVAQAAAAAAAAAAAABwAWkAZgDFAGkAZgDFAAMCZAQBAAEACAICAGgEAwKoBJMEsAUTAXIBfwBtBa0ErQSoBI4EsgC1BEAAQADdAXcDQgGsAVwBJQAlACgDagF4A/0B/QH9AXAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAG0B/AD8AAMC/AD8APEBAwI1AQMCywEDAjcE6wEAAt4BBgAAAikDhgDyAeQAwgCsASUAJQADAtAAQABAAEAAQAANAA0AbQBtAG0AbQBsAGwAawBrAGsAagCRAQIBfQENAA0AjgGNAawB/AD8AHIB3AGVAVAENwQ4BDkEggFSBIYB8QEAAvEBjwWLBTABUQQzAegE8AFyAfMBEAAQAHAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAAYBUwTvAVMEkQFwAHEAZwBMBEwEuQO8A7IDsgNuAG4AbwBvAG8AbwCBAJEFVwGMBVMBIwTsASEEBwFJAGkAZgDFAOIDbQBtAG0AbQBsAGwAawBrAGsAagCRAXIBbwBvAG8AbwBoAOwBWQCYBW0AbQBtAG0AbABsAGsAawBrAGoAkQFvAG8AbwBvAHAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAG0AbQBtAG0AbABsAGsAawBrAGoAkQFyAGwAbABrAGsAawBqAJEBbQBtAG0AbQBsAGwAawBrAGsAagCRAZgAjwGPAY8BbQBtAG0AbQBsAGwAawBrAGsAagCRAbIA7QGEBbIBDQTOBTcEAwLOBXIBpQEpAWUBnAFKADcEbQBtAG0AbQBsAGwAawBrAGsAagCRAYUFJQAlAJcFEgH6AXAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAJwFCAICAGgENwQ4BDkErgETATcEfwBuAaUDNwQ4BDkE3AC1BJEDygHHAcYBiAGnAAMCCwSYAL0BnAPFAZgAagObAyEBbQBtAG0AbQBsAGwAawBrAGsAagCRAQ0ADQAFAVUD/AD8AOMAagCRAXIBNwQ4BDkENwGEATcEKAEAApsDmwOdA+cAQwHnBGwFjwXqARIB+gEMANAAEgH6AXAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAKAFHgFoBCABNwRJBPcAEwFKBH8AgwGVAYUBNwQ4BDkEtQSfAO4A/wBBAc0BPAHMAeEAFgNpAGYAxQABAjoBSgNKA70BbQBtAG0AbQBsAGwAawBrAGsAagCRAQMCAgIDAvwA/AA3BDgEOQSzAXIBSgSlA7QFGgMSAfoBAAJpAGYAxQBQAT8APwBAAEAAGwAWA5wDHwHQAEoFmwMDAnAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAGsAawBrAGoAkQExADEAAwIcADcElQHxAaUBKQGbA5sDnQO6ANQBNwTTAecD5wO6AQMCNwROAQMCLQAtADsEVgGtAKgAbQBtAG0AbQBsAGwAawBrAGsAagCRAQ0ADQDNAA0ADQD8APwAqwSrBHIBNwQ4BDkEEwMJAQUAZwHuAQAC1QE3BDgEOQSOAY0BNwQ3BDgEOQQDABoBNwQ7BHAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAPwA/AD3A9wANwRpA8oBxwHGAa8DrwO6A70DAAL8APwAxQH4AzcEvQFTBLkEUwQ3BDgEOQQDAgACqgE3BDgEOQT5AwACbQBtAG0AbQBsAGwAawBrAGsAagCRARwEAwIyADIAAwI3BDgEOQQ8A3IBGwR7AZsBKAROBc8AmAEFAz0DNwQ4BDkEQABAAEIBQABAABYFswObAZoBTgVQBXAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvACYB4gEDAg0EzwUDArIBzwViAWAE4wHkA5ED5QHSAeQDhACyACEAwgGzBIgAlgFAAEAA3wFAAEAAowFxARsBegT8APwAbQBtAG0AbQBsAGwAawBrAGsAagCRAQAC4AC4AZsBCgFOBQoB/AD8AHIBKAGgARwBpgOMAdAD1gGQAfwA/AAAAgkA2QHnAPQBYgEMBAsE0AVjAXYBAAJhBHAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAPwA/AD3AwMCQwUnAfwA/AD8APwASgR3AfkAAAK9AWgDQgH4A+ABAALDAAACsgERAQ8ADwADAjoBAwJfAAMCXQD5A28BbQBtAG0AbQBsAGwAawBrAGsAagCRAQMCYQQnACcAMwAzADQANAD3AXIBAwK0BEoElgO3AVUBhQC0Ad8A3gDdADUANQBCAXgF+QL6AvsCAwJyAVgANgA2AHAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAJcBNwA3AMQAAwJwAHEAZwBMBEwEuQO8A7IDsgNuAG4AbwBvAG8AbwCHAAgBfQR4AQMCKAAoAAMCaAMDAuEDAwLhA3QAbQBtAG0AbQBsAGwAawBrAGsAagCRASkAKQADAisAKwAsACwAOAA4AG0AbQBtAG0AbABsAGsAawBrAGoAkQEDAnsBAwI5ADkAAwIfAwMCewEDAr0ByAADAkMBAwJ1BQMCswUDAgcFMQM6ADoADgAOAAMCOwA7AHYAdgA8ADwAAwIuAC4APQA9AD4APgAvAC8AAwK+AL0AWwADAowAjAADAooBAwIVAbAEjQCNAAMCWwQDAuADAwLgAwMCRQBFAHIBFgEwADAAAwFBAEEAdwB3APYA9gAEAUIAQgB4AHgAeQB5AHUAdQByAQMCAAJ/AXAAcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAAMCaAMDAosAiwBwAHEAZwBMBEwEuQO8A7IDsgNuAG4AbwBvAG8AbwAHBYoAigB9AH0AAwIMAAMCGQEHBQMCvQGDAAcFbQBtAG0AbQBsAGwAawBrAGsAagCRAQMCfAB8AHoAegADAnsAewADAm0AbQBtAG0AbABsAGsAawBrAGoAkQEDAkQARADPAQ8DAwJGAEYALgFDAEMACAT9AP0AZAEHBb8AxACZBdEBFQUmACYAgAFeAAACKgAqALEAUAMSAfoBgQGkAU8DTAW5AfwBeAF5AZkApwFoA7ABcgHgAPsAwgB3A7YAJQEPA1ADWAD+ANIBeANPA5MDJwMmA+YA2QSOA3IBEQCdAR0DcABxAGcATARMBLkDvAOyA7IDbgBuAG8AbwBvAG8AiwEuAy8DlwTXA3AAZQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAHcBpgGrAa0BKgHmAOYAWADYBMMBOAEdA+IAWABtAG0AbQBtAGwAbABrAGsAawBqAJEBVgCxAdMDnwNxA+IA1wPmAJ8BbQBtAG0AbQBsAGwAawBrAGsAagCRAUABTQMNA04DZACCAGQAewUiAXIBPwFhBWAFtQGpBSsB1QQvATIBNAE2AaQElgSVBJQEOwFEAUUBzARyAZ8D4QQPAQYFcQBnAEwETAS5A7wDsgOyA24AbgBvAG8AbwBvAMgE0wT2AfUBDAXFBIMEZwBMBEwEuQO8A7IDsgNuAG4AbwBvAG8AbwB8BHEEcARyBKMFvgH0ALgAYgD7AbwABABhAUcBbQBtAG0AbQBsAGwAawBrAGsAagCRAf4BSQFLAccAngHIASQBHQE+AW0AbQBtAG0AbABsAGsAawBrAGoAkQELAPcE/wSSAWkBwACTBEcFrwH5AVoBRgVNAWIA+wH4AQQAuwCmBVsE6QB0BZsAcgVYBJgASABLAHoBqQH+AaUAlQCdAKUD/ARWAB4A9AShAWAAYAAIAKAAoQCiAKMAYQCiAZIBBQIEAsEBkgGbA9IAZgGoAQIFtgGpANYAaAFBBVAA+AEfALwBVQUtAfUAEgH6AdgArgAxAegBvwHZAM4BcwTnAdoAawGlA5sDmwOdA54DGABgAGAApwSmBKUEhwGeBGEAiwSSAQUCBAIfA2wBmwOKBD0BiQRiAPsBnQQEALIF2AGJAQ0BDgHbAeEB0ARVANEERgFIAegA/gHvAc8ESgFiAPsBzgQEAOYBTwGbA5sDnQOeAxgAmwUsBJQBtQBQAQAB/gFzAJIBTAFgAWABXwHxAF0BvgSGBQIDUgEKAPgBVAEQAVwAMwW9BFcAtwDkAZIByQDoARgB7wBYAVkB6QF5BB0ApQMXAfgBMgQGAvAAYABgAPIA8wAHAm4EaQRhAJoAkgEFAgQCdAF1AZsDpQOOAI8AgABlBQsBYABgAFQD9QLLAJAAkwFhAGYFkgEFAgQCzABkBZsDkgBjBYcEhgRHAIQEFAHKALkAmwObA50DngMYAMYAAQF+AN8D3QOLA2IA+wGcAAQAkQCeAM4APwPRACMBmwObA50DngMYAO0DjwP+AaQAkwB8AXMBfgGmAEwATQASAfoBlABOAE8A8APTANQA7AOJANUAEgAsAeYAkgHlA1UEuwHXACAAqgCrAAQDmQHAAT8B+AHbAKwAxAFRABMAyQE5ARQAUgAMAegBlgAqA7MAUwDnAdABlwClA7QAvwNUABAEIgBgAGAA1wERBCMA2gHBAGEA+ACSAQUCBAIsBJQBmwP6AAABcAPlAK8AawNgAWABXwHxAF0BZAAVAAIDFgAeBCAEBwBiAPsBFQQEAFEBIgQXAM4DyQCwABgBWACbA5sDnQOeAxgA/gEXAcADvgPCA/YDwwP1A+sA6gAZACQAYwBaAPsBoAMEAP8BXgEOAxoASQPsAJIBWwEtBO0AZQRlBKsF/gHLAKoFZQRlBPgBZQRlBGUEzABlBGUEkgBlBGUEZQRlBGUEZQTKAGUEZQRlBJIBpQNlBGUEZQRlBGUEYABgAGUEZQRlBPgBZQRhAGUEkgEFAgQCZQRlBJsDZQRlBGUEZQRlBGUEZQRlBHMBpQNlBGUEZQQSAfoBYABgAGUEZQRlBGUEZQRhAGUEkgEFAgQCZQRlBJsDmwObA50DngMYAGUEmQFlBGUEZQQAAWUEZQRlBGUEYAFgAV8B8QBdAWUEZQQCA2UEZQRlBGUEZQRlBGUEmwObA50DngMYAMkAZQQYAWUEZQRlBGUEZQRlBGUEFwFlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEywBlBGUEZQRlBGUEZQRlBMwAZQRlBJIAZQRlBGUEZQRlBGUEygBlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRzAWUEZQRlBGUEEgH6AWUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBGUEZQRlBJkBAAAAAAAAAAAAAAAAAADUBdQF1AU8BWMEzQRjBGMEYwQ8BTwFPAVjBOsE6wRvBYIEYwRjBGMEYwRjBGMEYwQ7BWMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGME8QRjBGMEYwRjBGMEPQU+BWMEYwRjBG4FcAX7BPoE+QT4BF0F3gT2BO8E8wQ3BTgFNgU6BT4FPQVjBPIEGgUoBRkFYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwQiBScFLQUmBSMFHAUbBR0FHgVjBHgEqQRjBGMEYwRjBIEFgAVjBGMEggQfBSAFKgUpBXYFqAWnBWMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwSCBH4EFAUTBYoFfgTlBGMEfAXNBMQEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRzBXEFYwRLBWMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBMkEYwRjBGMEYwRjBGMEYwRjBGMEYwSiBWMEWAW3BMkEyQTJBMkEywS4BLYEwwSCBGoEzAX1BOAE4ATJBfUE9QTJBZAEtgWNBOsE6wTrBOAEOQXKBMMEYwTMBdIE0gTLBcsF0gT+BAQFrAT1BLIEsgSyBLIE0gR1BPUE9QT+BAQFrASsBPUE0gR1BFwFxgXSBHUERAXSBHUE0gR1BEQFqgSqBKoEnwREBaoEkASqBJ8EqgSqBEQFSAVIBUQF5ATfBOQE3wTkBN8E5ATfBNIE5QSJBWME8ATlBD8F0gRjBPAE7gTsBPUEewSiBKUFpQWhBaEFoQXRBdEFfAWxBYIEggSCBIIEsQWSBJIEggSCBIIEggSxBWMEYwRjBGMEYwRjBKwFYwRNBdYEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwQJBWMEZgR5BWMEYwR3BWMEYwRjBGMEYwRjBNcEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEyAVjBGMEYwRjBGMEYwRbBVoFYwRjBNQEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwTtBGMEiAVjBGMEYwRjBGMEYwRjBJYF5gRjBGMEvwVjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEugW6BAsFYwQKBQ4FYwRvBGMEAAAAAAAAAAAAAAAAAACfAP8AnwD9AJ4A/wCgAP0AoQAAAKEA/wChAP8AoQD/AKAA/gCgAP4AoAD+AKAA/QCgAPsApQD6AKcA/wCpAAAAqQD9AKgA/wCoAAAApgD7AKYA/gCtAAAArQD+AK8A/gCxAAAAsQD8ALEA+gCyAP4AtgAAALcA/gC3APwAtwD8ALcA/AC3APwAtwD9ALcA/QC3APsAtwD+ALcA/AC3APwAtwD/ALcA/gC8AAAAvAD/AL4AAAC+AP4AwAD+AMAA/QDAAP0AwAD9AMEA/gDBAP4AwQD/AMEA/wDBAP4AvwD9AL8A/gDCAAAAwgD+AMIA/gCsAAAAxAD/AMUA/gDFAPkAxQD7AMUA+wDFAPYAyAAAALoAAAC6AP0AyQAAAMkA/gDKAP8AygD/AKAA/ADMAP4AzAAAAKAA9wCgAPwAoAD/AK4A/QCuAPwArgD/AM4A/QDRAP8A0QD+ANEA/wDPAPcAzwD2ANsA/ADbAPsA0gD/ANIA/wDSAAAA3QAAANMA+wDTAP0A0wD7AN4A/gDeAAAA1AAAANQA/gDgAP4A4AAAAN8A+QDfAPcA3wD5AN8A+QCqAAAAqgD+AM0A/wDNAP0A5gD/AOYA/QDmAPsA5gD9AOEA/wDhAP4A4QD9AOEA/ADjAP4A4wAAAOIAAADiAP0A4gD+AOQA/ADkAAAA2AAAANgA/QDGAPwAxgD+ALsA/wC7AP8AuwAAANYAAADWAP0A1wAAANcA/gDZAAAA2QD+ANkA/ADZAPwAoAD6ANUAAADVAP4AoAD4AOkA+wDpAPkA6QD9AOkA+wCgAPkAoAD5AOwAAADsAPUA7AD4AOwA/ADqAP4A6gD/AOsAAADrAP0A5wD9AOcA/wC5AP0AuQD/ALkA/wC5AP0AuQD7ALgA/wC4AP8AuAD/ALkA/wC5AP0AuQD6ALkA+wC5APwAuQD6ALkA+wC4AP8AuQD7ALkA/QC5AP0AuQD9ALkA/QC5AP0AuQD9ALkA/QC5AP0A7gD+ALkA/QC5APsAuQD+ALkA/QC5AP0AuQD8ALkA/gC5AP4AuQD+AO8A/wDvAP4AuQD7APAA/wDwAP4AuQD7ALkA/QC5APsAuQD7ALkA/AC5APsA8wD7APMA/AD0AP4A9AAAAPIA/wDyAAAA5QAAANwA/QDcAP8A8QAAAPEA/QCgAPQA9QD/APUAAAC9AAAAvQD9AMcA+wDHAP0A9gAAAPYA/gCgAPwAoAD/AKAA/gCgAP0AoAD7AKAA+gCgAPsAoAD6ALQA/gC1AP4AoAD7APgA9QD6AP8A+gD+APoAAAD7AP8A+wD/APsA/QD9AAAA/QD+APkA/QD5AP4A/wD9AAAB/QAAAf4A/gD4AP4A+AD+APoA/gD9ALkA/AC5APoAywD/AMsA/wDLAP8AoAD8AKAA+gCgAP0AAgEAAAIB/gCgAP8AoAD9AKAA/wCgAP0AoAD6AKAA+QADAf8AoAD4AKAA/wCgAPwABQH4AAcBAAAIAf8ACAH9AAkB/wDoAP4A6AD9ANAA+gDQAPgACwH/AAsB/QAMAf0ADQH7AA8B/QAPAQAADgEAAA4B/gAOAfsAEQH/ABEB/wATAf8AEwH+ABQB/wAUAf4AEgH+ABIB/gASAf4A2gD+AO0A/QDtAP0AEAEAABAB+wCbAP8AnAD+AJwA/wCdAP8AnQD+AJ0A/gCiAAAAogD/AKIA/gCkAP8ApAAAAKAA/gCrAPwAqwD+AKMA/wCjAP8AowD/ALEA/wCyAP8AswD/ALMA/wCwAP4AsAAAALcA/gCsAP4AwwD9AMMA/wDEAAAAyAD/AMoA/wDOAP8AzwD/AN0A/gDeAP8AuQD/AO4A/wDlAP8A9wD/APcA/wD3AP8A9wD/APcA/wC0AP8A/AAAAPwA/QD/AP8AAAEAAAEB/wABAQAABAEAAAQB/wAGAf8ABgH9AAcB/gAKAQAACgH8AAoB/gDoAAAAAAAAAEkAAAAkAAoAWgAAADQACQCBAAAAWgABAFMAAABOAAAACwALAAUAAgBGAAAAdQAAAG3/qwAHAaD/ZgFw/2v/mv98AGT/nv8xAZEBx//RABP/9QCi/7H/vQB3AeoB7QF6AS8BGwIeAvUB9wEqAp8BDgIiAi0CSwJRAlMCFv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv8W/xb/Fv/O/08B1gF5ApACkgKUAqMCrQK/AtcC6wLuAvAC8gICAxQDFgMZAxsDHQMgAyIDJAMmAy0DNAM9A0EDRANGA0sDTQNPA1EDaQN7A30DlAOWA5kDqAOtA7ADvAPBAxb/Fv8W/xb/Fv8W/xb/Fv8W/88BXwJQ/w4Adf9XAHf/MgOdAzIDnQOCAxb/Fv8W/xb/Wv9a/1r/fv99/67/yv9M/2wBKQABAv0B/QF1APQBFQMcA4YCwAAjAYQCHgN4ACcDHwKPA5gDjAKcA5oD6AC6AiEDywMnANwA2wK6AYYDOf/TA9X/pQGAA64DXQJI/4L/mwCsABkBMAF5ARoCigKyArsC0wIjA0cDVQOXA98D+gMrBEQEtwNXBFgEWwRcBF0EXwRgBGEEYgRjBGQEZQT0A0gESQRoBGkEagRrBC4EbwRxBIAENQSBBIMEWgSEBDABhgSUBJUElgSXBJgEQQRDBG0ESgRmBHMEdAQuBG0EbQSSBIsEogRPBJAEcgR1BFYEkQSTBGwEmQSlBKoEnQSwBLQEjgR5BJoEowTQBHYEzwTRBH0EfgTWBJsEngS8BLUEwwTEBMUExgTqBPIExwTIBLYEuwTVBNcEzgT1BPgEqwStBAAFBAX0BAUFCQUKBQ0F+gQGBQcFCAUCBQ4FDAURBRQFEAUVBRoFGAXhBOIEHAX3BPsE+QT8BP8EAQUDBRYFNgUbBdsE8wQmBSoFFwVbBRMFMAU0BTwFPgVoBW8FeAV7BX8FgAWBBR8FIAUeBX0FegWEBYkFjAV+BXEFcwWNBY4FjwWQBYcFAAAAAAAAAAAAAAAAydcAAAAAAgDQ1wAAAAAEAAAAAAAAAAAAAAAAAAAAAAC/1wAAAQAAAMLXAAACAAAAxdcAAAYAAACIsQAAgAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAaQABAy8BCABGAAIAYQECAS8BCABGAAEAqwAAAFEBAQAAAAAAAAAAAAAAAAACAAEAaQABBBIBAABFAAIAawAHAAAAAAAAAAAAAAAAAFMBAAAwAQQAagADAFEDAQBFAAAAagADAAsAAwAAAAAAQtoAAAEAAACO2gAAAQAAAJTaAAACAAAAndoAAAMAAACm2gAAAgAAAK7aAAADAAAAttoAAAAAAAC92gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCgkJCAgHBwcGBgYFBQUEBAQEAwMDAwMDAgICAgICAoy6AABAAAAAJ6IAAEIAAAAwogAAQQAAAHreAABDAAAAMwACAHkAAABmAAIAegAAAHUAAAAAAAAAAAAAAAAAAABuYXR1cmFsZWZ0b3V0ZXJpZ2h0ZnVsbGlubmVyY3Jvc3MAAAAAAAAAAAAAAAAAAAAABwQGBCgKBSAOBTATBDgXBQEcBQMAAAAAAAAAAAAAAFQcAQAZ5wAAH+cAACTnAAAp5wAAAAAAAAAAAAAAAAAAAAAAAQEBABAAAQABAQEDAwEBAxIDAQkJCQkJCQkJCQkBAQEBAQEBAQEjCyYmAQEDAwMDAwsLCwsLCwEBAQEAAAAAAgIIABAQEBAAEBAAABAQAAACAgIAABIgAAAmJiYmJiYmJiYmABIQEBAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAEAAABAQAABAQAAAQEAAAAAAAAAAGEAAEGgAAAAAAAAAAAAAAAAAQEAAAAAAAAACgAAAAbQAAAB8ABQFaAAABUQEAAEUAAAAAAAAAAAAAAOoDAAAAQAAA6wMAAAAABADsAwAAAABAAO0DAAAAAAEA7gMAAAAIAADvAwAAAACAAPADAAAAAAAB8QMAAAAAAALyAwAAAAAAEAAAAAAAAAAAAMqaOwDKmjvQBwAA6AMAAPQBAACAsuYOfwAAAAoAAABQwwAA5wMAAOgDAAAAAAAA+gsBAKUAAAAEDAEApgAAABIMAQCnAAAAHwwBAKgAAACD6gAAAAAAAEEAAAAAAAAAsgsBAAAAAABCAAAAAAAAALwLAQAAAAAAQwAAAAAAAABq6gAARgAAAFgAAABFAAAAYwoBAEcAAABZAAAARgAAAGPqAABIAAAAWgAAAEcAAADp6wAAAQAAAAAAAACpAAAA7usAAP////8AAAAAqgAAAPnrAAABAAAAAAAAAKsAAAD56wAAAgAAAAAAAACrAAAAC+wAAP////8AAAAArAAAABjsAAD/////AAAAAK0AAAAk7AAA/////wAAAACuAAAAMOwAAAIAAAAAAAAArwAAADvsAAABAAAAAAAAALAAAABG7AAA/////wAAAACpAAAAUuwAAP////8AAAAAsQAAAF/sAAD/////AQAAAK0AAABo7AAAAQAAAAAAAACyAAAAaOwAAAIAAAAAAAAAsgAAAHLsAAABAAAAAAAAALMAAADA6wAAAQAAALQAAABbAAAAXAAAANHrAAACAAAAtQAAAF0AAABeAAAAAAAAAAAAAADzogAAFMIAABnCAADcogAA5KIAAOmiAAAF6wAAC+sAAAAAAAAAAAAAYnRuAGZyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJjxAADN8QAA+vEAAC7yAABk8gAAkfIAAMvyAAAC8wAAAAAAAErxAAB18QAAZO4AAKHuAAAAAAAAAAAAAAAAAACD6gAAtgAAAIvqAAC3AAAAf70AALgAAACT6gAAuQAAAOcAAQATAQEAVwEBAHMBAQCQAQEAqwEBAMcBAQDgAQEAXvgAAKb6AACf+AAAbPoAAHr7AADz+gAA+AEBABz4AABV+QAA4/gAAMAAAQAsAgEAWAIBADn8AADy9wAAGQABAFQcAQBUHAEAHvkAANX8AACT/QAAtv4AAB3/AADf/wAACv4AAFT/AAB1/gAAo/8AAGP9AACA+QAA6vkAADP6AAA5AwEAAgAEADwDAQADAQMAQAMBAAMBAgBEAwEABAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAA////////APwBAAD4AQAA+DAAAAAH6AAABmwBAC/sAQAHrAIAAdACAAPYAgAB7AIAAfwCAAFcAwAB3AMABAgLAA5ICwAHlAsAAbQLAIG8CwAB1A0AAfgNAAIQDgABHA4AAdgPAAgIEgAGaBUAAiQWAAE8FgA3RBYAAswXAAUAGAAWGBgAAngYABUsGQAEqBkAAcAZAAFQGwAPWBsAB5wbAAL0GwAOABwAATwcAAFEHAAbwBwAC5geAAmsHwAE2B8ABFggAAlsIAADlCAABaQgAA/AIAADZCEAAXghABuQIwAEACQAA+gkABL4JAAHRCUABIglAAHAJQADBCYAAfAmAAf4JgACHCcAAywnAAFcJwACiCcAAsgnAALoJwADBCgAAfAoAAX4KAACHCkAAywpAAFEKQACwCkAAdQpAAMEKgAB8CoACPgqAAMcKwADLCsAAogrAALAKwADBCwAAfAsAAf4LAACHC0AAywtAAJYLQACiC0AAcAtAAEILgAF+C4AAxgvAAQoLwABXC8ACMwvAAMEMAAH+DAAAxgxAAQoMQACVDEAAogxAAH8MQACCDIAAfAyAAf4MgADGDMABCgzAAJUMwACiDMAAgg0AAf4NAADGDUABCg1AAFcNQACiDUAAeQ1AAIINgABKDcABjw3AAFYNwAIYDcAA8g3AAHEOAAH0DgAAfw4AAkcOQACaDkAAcQ6AAbQOgAC7DoABiA7AB8EPAAM0DwAF8Q9AAs0PgAkZD4AD/g+AA04PwAUrEAABihBAARYQQADeEEAA4hBAAecQQAExEEADAhCAAE8QgAGaEIAAexDAAx0TQAKQE4AAQBQAAK0WQABAFoAAmxaAAOsWwADSFwABchcAAJIXQACyF0AI9BeAARgXwABdF8ADwBgAAGkYgAMgGQADMBkAAEAZQACEGUAEcBmAAIgZwAieGcABVxoAAJ4aAAKVGkAHYBpAAH8aQAHgGoABqBqAAUAbAAR0GwAI2htAAMAbgANhG4ADphvAATwbwAUkHAABexwAAL4cQAIAHMAGUBzAAG0cwADyHMAJwB3AATwdwAB9H4AA/x+AAM0fwADdH8AA7R/AAL0fwBlAIAABqiBAAXogQAFKIIAGoCCACFAgwACAIQABAyEAAIghAABUIQAA1iEAAZ4hAABlIQAAZyEAAGkhAABuIQAAuiEAAUAhQAEKIUAATyFAGRChgAnAJAACwCRAE5wkgAAApQAdQScALlTngAKQK0ABpSzAAO8swAE5LMAAvizAAHAtQAB/LUAT4C3AAzAuAAaALoAWWy6ANYAvAAMwL8ABQDAABkgwAAHqMAAAtjAAAP0wAAEZMIAAYDCAAHswwACQMYACljGACQAxwAfAMgAHqjIAAFAyQAggMkAJyjKAD8AywAAAcwAQAA3ATdAkgIC+JMCAzSYAhC8mQIBfJoCCMCbAhcAnAICgJwCAiSeAgEIoAIBGKACASygAgmMoAIE2KACBNChAgIAogIR0KICAjijAhKAowID4KMCCpikAg0cpQIBfKUCBACmAhvMpgICeKcCDqSoAgEMqQICMKkCBHCpAgPcqQIB7KkCAcCqAgPIqgIC3KoCAviqAgEEqwICeKsCB6yrAgLUqwILjK8CAQBgAwL8bQMC/G8DAfx/AwF47AMBpOwDEMjuAwL49AMC8PcDGgD4AweA+AMjwPgDE1D5AwSg+QMB/PsDDwT8Awdo/AMG7PwDC2z9AweA/wMHoP8DBeT/AwMABAQJ3AQEEeQFBAxABgQuQAcEAXwOBAFADwQBXCEEAXwkBAH8JAQDBCgEAhQoBAQwKAQD4CgEAfwoBAlAKQQB/CkEB+QsBAMAQAQW4EAEAwBCBBLAQgQDAEQEDpxEBAQARQQDAEYEDsxGBAQURwQNrFoEBMCRBC5EvQUEPL4F9gBABycARAe1pEQHRgBIB1cATAcBBFsHAWxbBwHsWwcBVFwHAdRcBwE8XQcBvF0HASReBwGkXgcBDF8HAsC7BywAwAdkwMAHD4DCBw7EwgcPBMMHD0TDBx9AxAc8wMQHK8DFBx2YxwcrQMgHCQDJBwJAyQchAMwHBsDMB0bczAcUAM4HJYDOBwUYzwcRgM8HPwDQBwEA0Qe2CNEHBOTTBz4A1AcEANUHGEDVB0bs1wcLFNkHRgDaB3QA3AcBBAA4YIAAOPAABDgAAAAAAAAAAAEAAgAIAA8AEAAaABwAIAAlACYAKAAwAD8AQABFAEcATwBQAHQAygDLAM0AzgDPANEA0gDTANUA1gDZANoA2wAHA2AcKCorKrxa2Fr8dcHV4dXi1eTVA9YJ1hnWQd+630Hio+L74xrx9P49/13/fv+A/4L/h/+Q/5z/n/+q/7b/wP/E/8b/yP/K/9D/4v/n/+r/8f/3//j/+f8AAAAAAAAAAAUHOAdDB2MHiAeUB8sH6Af4BwwIPgh4CJ4I2AjuCCgJTwmoCbgJ1AkkCmwKrAreChoLTguKC6gLuAvUCwgNgA1wDoAOkA6gDjgPSA9YD4APqA/IDwoQKhBKEGoQihCqEMgQ2BD4EDgRSBF4EZgRBBg2GHgYiBjYGB0ZaRmBGQjwHPBe8JjwyvD48AjxHvFY8WjxjPG48drx/PEu8qryyvL48grzXvOc8+rzDvRI9Fr0ePSM9LD0uPTA9Mj0CvXM9Ur2avYq9573AAAAAAAAAGFjZWlub3V5eWFjZGVlZ2hpamtsbm9yc3R1dXd5em91YWlvdWdrb2pnbmFlaW9ydXN0aGFlb3kAAAAAAAAAAGFiZGRlZmdoaGlrbGxtbnBycnN0dXZ3d3h5emh0d3lhZWlvdXkAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAEBAQABAQEAAQEBAQEAAQEBAQEAAQEBAgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAQQAOGrUAQAHAAA4X2AAOBwABATAyAQEGOQEBEEoBAS54AXQBeQEBBn8BaAGBATIBggEBBIYBLAGHAQABiQEqAosBAAGOASABjwEmAZABKAGRAQABkwEqAZQBLgGWATQBlwEwAZgBAAGcATQBnQE2AZ8BOAGgAQEGpgE8AacBAAGpATwBrAEAAa4BPAGvAQABsQE6ArMBAQS3AT4BuAEAAbwBAAHEAQIBxQEAAccBAgHIAQABygECAcsBARLeAQES8QECAfIBAQT2AXoB9wGGAfgBASggAm4BIgIBEjoCRgE7AgABPQJsAT4CRAFBAgABQwJqAUQCHAFFAh4BRgIBCkUDJAFwAwEEdgMAAYYDEgGIAxADjAMaAY4DGAKRAw4RowMOCcIDAAHPAwQB0AOMAdEDjgHVA5IB1gOQAdgDARjwA4gB8QOKAfQDggH1A4AB9wMAAfkDmAH6AwAB/QNuAwAEIhAQBA4gYAQBIooEATbABAYBwQQBDtAEAVgxBRYmoBBCJscQQgHNEEIBAB4BlpsehAGeHmABoB4BYAgflggYH5YGKB+WCDgflghIH5YGWR+XCGgflgiIH5YImB+WCKgflgi4H5YCuh9+ArwflAG+H2QByB98BMwflAHYH5YC2h94AugflgLqH3YC7B+YAfgfcAL6H3IC/B+UASYhYgEqIVwBKyFeATIhDAFgIQgQgyEAAbYkChoALBYvYCwAAWIsWAFjLGYBZCxaAWcsAQZtLFQBbixWAW8sUAFwLFIBciwAAXUsAAF+LE4CgCwBZOssAQTyLAABQKYBLoCmARgipwEOMqcBPnmnAQR9p0wBfqcBCounAAGNp0oBkKcBBKCnAQqqp0gBIf8OGgAAAAAAAL8F2QbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbjBuUGAAAAAAAAAAAAAAAAAAAAACAAIQAkACUAKAApACoAKwAsAC0ALgAwADoAPAA/AEEAWwBcAF0AXgBfAGAAYQB7AHwAfQB+AH8AoAChAKIApgCnAKgAqQCqAKsArACtAK4ArwCwALEAsgC0ALUAtgC4ALkAugC7ALwAvwDAANcA2ADfAPcA+AAAATgBOQFJAUoBeQF/AYEBgwGEAYcBigGMAY4BkgGTAZUBlgGZAZwBngGfAaEBogGnAasBrAGvAbIBtAG1AbgBugG7AbwBvgHAAcQBxQHGAccByAHJAcoBywHMAc0B3QHeAfAB8QHyAfMB9AH3AfkB+gE0AjoCPAI9Aj8CQQJEAkcCSAJQApQClQKwAsICxgLSAuAC5QLsAu0C7gLvAgADcAN0A3UDdgN6A3sDfgOEA4YDhwOIA4wDjgOQA5EDowOsA88D0QPSA9UD2APwA/QD9gP3A/oD/AP9AzAEYASCBIMEiASKBMEEzwTQBDEFWQVaBWEFiQWKBY8FkQW+Bb8FwAXBBcMFxAXGBccF0AXwBfMFAAYGBgkGCwYMBg4GEAYbBh4GIAZABkEGSwZgBmoGbgZwBnEG1AbVBtYG3QbeBt8G5QbnBukG6gbuBvAG+gb9Bv8GAAcPBxAHEQcSBzAHTQemB7EHwAfKB+sH9Af2B/cH+gcACBYIGggbCCQIJQgoCCkIMAhACFkIXgigCKII5AgACQMJBAk6CTsJPAk9CT4JQQlJCU0JTglQCVEJWAliCWQJZglwCXEJcgl5CYEJggmFCY8JkwmqCbIJtgm8Cb0JvgnBCccJywnNCc4J1wncCd8J4gnmCfAJ8gn0CfoJ+wkBCgMKBQoPChMKKgoyCjUKOAo8Cj4KQQpHCksKUQpZCl4KZgpwCnIKdQqBCoMKhQqPCpMKqgqyCrUKvAq9Cr4KwQrHCskKywrNCtAK4AriCuYK8ArxCgELAgsFCw8LEwsqCzILNQs8Cz0LPgs/C0ALQQtHC0sLTQtWC1cLXAtfC2ILZgtwC3ELcguCC4MLhQuOC5ILmQucC54LowuoC64LvgvAC8ELxgvKC80L0AvXC+YL8AvzC/kL+gsBDAUMDgwSDCoMNQw9DD4MQQxGDEoMVQxYDGAMYgxmDHgMfwyCDIUMjgySDKoMtQy8DL0Mvgy/DMAMxgzHDMoMzAzVDN4M4AziDOYM8QwCDQUNDg0SDT0NPg1BDUYNSg1NDU4NVw1gDWINZg1wDXkNeg2CDYUNmg2zDb0NwA3KDc8N0g3WDdgN8g30DQEOMQ4yDjQOPw5ADkYORw5PDlAOWg6BDoQOhw6KDo0OlA6ZDqEOpQ6nDqoOrQ6xDrIOtA67Dr0OwA7GDsgO0A7cDgAPAQ8EDxMPFA8VDxgPGg8gDyoPNA81DzYPNw84DzkPOg87DzwPPQ8+D0APSQ9xD38PgA+FD4YPiA+ND5kPvg/GD8cPzg/QD9UP2Q8AECsQLRAxEDIQOBA5EDsQPRA/EEAQShBQEFYQWBBaEF4QYRBiEGUQZxBuEHEQdRCCEIMQhRCHEI0QjhCPEJAQmhCdEJ4QoBDHEM0Q0BD7EPwQ/RBKElASWBJaEmASihKQErISuBLAEsISyBLYEhITGBNdE2ATaROAE5AToBMAFAEUbRZvFoAWgRabFpwWoBbrFu4WABcOFxIXIBcyFzUXQBdSF2AXbhdyF4AXtBe2F7cXvhfGF8cXyRfUF9cX2BfbF9wX3RfgF/AXABgGGAcYCxgOGBAYIBhDGEQYgBipGKoYsBgAGSAZIxknGSkZMBkyGTMZORlAGUQZRhlQGXAZgBmwGcEZyBnQGdoZ3hkAGhcaGRoeGiAaVRpWGlcaWBpgGmEaYhpjGmUabRpzGn8agBqQGqAapxqoGgAbBBsFGzQbNRs2GzsbPBs9G0IbQxtFG1AbWhthG2sbdBuAG4IbgxuhG6IbphuoG6obqxusG64bsBu6G+Yb5xvoG+ob7RvuG+8b8hv8GwAcJBwsHDQcNhw7HEAcTRxQHFoceBx+HMAc0BzTHNQc4RziHOkc7RzuHPIc9Bz1HAAdLB1rHXgdeR2bHcAd/B0AHpYenh4AHwgfEB8YHyAfKB8wHzgfQB9IH1AfWR9bH10fXx9hH2gfcB+AH4gfkB+YH6AfqB+wH7YfuB+8H70fvh+/H8Ifxh/IH8wfzR/QH9Yf2B/dH+Af6B/tH/If9h/4H/wf/R8AIAsgECAWIBggGSAaIBsgHSAeIB8gICAoICkgKiAvIDAgOSA6IDsgPyBBIEQgRSBGIEcgUiBTIFQgVSBfIGAgaiBwIHEgdCB6IH0gfiB/IIAgiiCNII4gkCCgINAg3SDhIOIg5SAAIQIhAyEHIQghCiELIQ4hECETIRQhFSEWIRghGSEeISQhJSEmISchKCEpISohLiEvITAhNCE1ITkhOiE8IT4hQCFFIUchSiFLIUwhTiFPIVAhYCGDIYUhiSGQIZUhmiGcIaAhoSGjIaQhpiGnIa4hryHOIdAh0iHTIdQh1SH0IQAjCCMMIyAjIiMpIyojKyN8I30jmyO0I9wj4iMAJEAkYCScJOokACW3JbglwSXCJfglACZvJnAmASdoJ2knaidrJ2wnbSduJ28ncCdxJ3Incyd0J3UndieUJ8AnxSfGJ8cn5ifnJ+gn6SfqJ+sn7CftJ+4n7yfwJwAoACmDKYQphSmGKYcpiCmJKYopiymMKY0pjimPKZApkSmSKZMplCmVKZYplymYKZkp2CnZKdop2yncKfwp/Sn+KQArMCtFK0crUCsALDAsYCxjLGUsZyxuLHEscix0LHUsdyx8LH4sgSyCLOQs5SzrLO8s8iz5LP0s/iwALSctLS0wLW8tcC1/LYAtoC2oLbAtuC3ALcgt0C3YLeAtAC4CLgMuBC4FLgYuCS4KLgsuDC4NLg4uFy4YLhouGy4cLh0uHi4gLiEuIi4jLiQuJS4mLicuKC4pLiouLy4wLjougC6bLgAv8C8AMAEwBDAFMAYwBzAIMAkwCjALMAwwDTAOMA8wEDARMBIwFDAVMBYwFzAYMBkwGjAbMBwwHTAeMCAwITAqMC4wMDAxMDYwODA7MDwwPTA+MEEwmTCbMJ0wnzCgMKEw+zD8MP8wBTExMZAxkjGWMaAxwDHwMQAyIDIqMkgyUDJRMmAygDKKMrEywDIAMwA0tU3ATQBOzJ8AoBWgFqCQpNCk+KT+pAClDKYNphCmIKYqpkCmbqZvpnCmc6Z0pn6mf6aApp+moKbmpvCm8qYApxenIKcipzCnMqdwp3Gnead+p4iniaeLp5CnoKf4p/qn+6cCqAOoBqgHqAuoDKgjqCWoJ6goqDCoNqg4qDmoQKh0qICogqi0qMSozqjQqOCo8qj4qPuoAKkKqSapLqkwqUepUqlfqWCpgKmDqYSps6m0qbapuqm8qb2pwanPqdCp3qkAqimqL6oxqjOqNapAqkOqRKpMqk2qUKpcqmCqcKpxqneqeqp7qoCqsKqxqrKqtaq3qrmqvqrAqsGqwqrbqt2q3qrgquuq7KruqvCq8qrzqvWq9qoBqwmrEasgqyirwKvjq+Wr5qvoq+mr66vsq+2r8KsArKPXsNfL1wDYf9v/2//fAOD/+AD5cPoA+xP7Hfse+x/7Kfsq+zj7PvtA+0P7Rvuy+9P7Pv0//VD9kv3w/fz9/f0A/hD+F/4Y/hn+IP4w/jH+M/41/jb+N/44/jn+Ov47/jz+Pf4+/j/+QP5B/kL+Q/5E/kX+R/5I/kn+Tf5Q/lT+WP5Z/lr+W/5c/l3+Xv5f/mL+Y/5k/mj+af5q/nD+dv7//gH/BP8F/wj/Cf8K/wv/DP8N/w7/EP8a/xz/H/8h/zv/PP89/z7/P/9A/0H/W/9c/13/Xv9f/2D/Yf9i/2P/ZP9m/3D/cf+e/6D/wv/K/9L/2v/g/+L/4//k/+X/6P/p/+3/+f/8/wAADQAoADwAPwBQAIAAAAEHATcBQAF1AXkBigGQAdAB/QGAAqACAAMgAzADQQNCA0oDgAOfA6ADyAPQA9EDAAQoBFAEoAQACAgICgg3CDwIPwhXCFgIAAkWCR8JIAk/CYAJvgkACgEKBQoMChAKFQoZCjgKPwpAClAKYAp9Cn8KAAs5C0ALWAtgC3gLAAxgDgAQARACEAMQOBBHEFIQZhCAEIIQgxCwELMQtxC5ELsQvRC+ENAQ8BAAEQMRJxEsES0RNhFAEYARghGDEbMRthG/EcERxRHQEYAWqxasFq0WrhawFrYWtxbAFgAgACRwJAAwAGgAb1BvUW+Pb5NvALAA0ADRKdFl0WfRatFt0XPRe9GD0YXRjNGq0a7RANJC0kXSANNg0wDUGtQ01E7UVtRo1ILUnNSe1KLUpdSp1K7UttS71L3UxdTQ1OrUBNUH1Q3VFtUe1TjVO9VA1UbVStVS1WzVhtWg1brV1NXu1QjWItY81lbWcNaK1qjWwdbC1tvW3Nbi1vvW/NYV1xbXHNc11zbXT9dQ11bXb9dw14nXiteQ16nXqtfD18TXytfO1wDuBe4h7iTuJ+4p7jTuOe477kLuR+5J7kvuTe5R7lTuV+5Z7lvuXe5f7mHuZO5n7mzudO557n7ugO6L7qHupe6r7vDuAPAw8KDwsfDB8NHwAPEQ8TDxcPHm8RDyQPJQ8gDzMPM384DzoPPG8+DzAPRA9EL0+fQA9UD1UPX79UX2gPYA9wAA1qYApzS3QLcduAD4AQAgAAABAAD9/wAAAAAAAAEEPQB1ADcAdQA2ADIANQA5ADUAMQBVAE0BVQB5AFUASQM2ADUAMgA4ADAAOABFAzYAOQAyADkAIQQ9ADUAlwA6ADUAOAA6ACcANAA5ACIAOgA4ADoAOQBPADgAJQBVADgALwAnADMAbwA1AOkCOQDpAAUDOQAFAR4HJQAeAiUA/gXeAEUASQAlAH4AfgBJAEUAiQAlAEkAJQBpAGUASQAlAEkAJQC+AJ4AJQB+AH4ASQAlAH4AXgAlACcAXgBFAIcAKQAoACUAKQAoACUAKQAoACUAHgIlAF4CJQApACgAJQB+AEkAJQBeB8UASQAlAEkARQB+AGkAJQAeAYUIJwBlA0YCmACGAdgBpgD4ACYAOAAmADgCDA6eACYAOABeACYAZQA1AFgAKQA1AGkAKQBJACUAKQIpAWUEXgAlAGkAZQAeA4UAXgA5AH4AXgAlAGkGBQZeBDoArABLAP4G3gElAB4LyQQmANUA5QQ1ADEANwCsBTEALAA1AEwANQBMADUALABnA2cAVQCiAHkAVQA3AFUAWgBsATUAVQAHBCYARwGsAk0BlQBHACwAZww1ACcA7AAiADoAzABGAEwAOgCMAEcATQFnAFoAJwDVASIAJwAsAMcDbAMnC2wBJwBNAScELAFGADoAdQAmAMcCjAAmACwBJgBsACYArAD1AScDbAA1ACcAZwFsA2wAKgDHBiwAKgAsACcAagAMAYoALABKACcA7ABHAUwAVQBNATUAJgDHAOcALABKAAcBRwDHAucAJwCHACwAJwBqAIwASgBKACwAJwAqAEcAZwBMAE0BRwBXAM8AOgA3AEwAKgDHAEcAxwLnAEcARwBHACwAagBMAEwAbAAsAIcAJwBNAUwAZwAsAEwAKgAnAWcAxwLnAEcApwAsACcAagCsAEwAKgBKACwAJwBHAEwATQE1ADcALABKAAcBRwDHAucARwCnACwAJwAqACwAKgCMAEoASgAsACwAKgBHAGcATABNAToAJwDPACwAJwDHAGcAhwBHACcARwBHAGcAhwFKACwASgBqAGoALAAnACoATQFvANoANwA6AGoABwFnAOcCRwGnACcAbACKAGwAjABMAEcARwBMAE0B7wA6AEoABwFnAOcCRwGnACwAJwAqACwAqgAsAEoASgBMAEoAJwBHAEwATQFHAEoABwFnACcFJwBqAIwAagBqACwAJwAqAEcATABNAc8AOgDHAEoARwIHAycBJwDnACwAagBsACwACgFKADUABwYsAEcA7AA3AMcAJgAMATUATQFVAEcAJwBHACcAJwCHAOcAZwAnACcARwCHACwARwDMAEwAJwCnACYAzABNAYcAJwB6APUBOgA1AHoATADaAE0BTwE6ACwAOgAsADoALAA2ADIANgAyAEoABwGHBMwBKgCsADUATACnAGwBjAQaASwA2gBaALUAmgBVAGcFSgCMACoAzAAqAEwASgBMACcATQHVAMcASgBMAIcAbAAnAGoARwDqAGcAjACnASwASgBMAMoALAAnACoATQFqACwAWgDJBCkAKQBnBTUAJgCHKYcA5wAnAIcAJwWHACcEhwDnACcAhwDnAScHhwBnCGwANQGPAgcCWgGnCjEAh01VACcCPQBHAzYAMgBnCXUAbgCnAYcAbABHAmwAVQBHAkwApwFnAEwAhwZMACoA7AAKASwASgBsAXUAJgB1ADcAJwAsAE0BTwHVADEAlQBsAD0ATQFnBCYAhwYnBSwAJwDHCKcDbACKAEwAagBKACwAygBsADoAVQBNAccDpwCHBSoC5wBKAE0BLwBaBOcCTABqAFUApwYqACwAKgDsACwAKgAsAEoADAHKAEwBLABNAU0B9QAmANUAjAAqAOcFLAAqAKwAKgAsAKoALABKAOcATQH1AFoBLAE6AUwAKgDHAyoAjABKAEwAKgAsAEoARwBNAYcFLAAqAEwAagAsACoAbABKAJUAhwQKAQwBSgBMALUATQFnAE0BxwPGAFUAFQFsADUArAEqAOwAhwAsAIcASgAsAEcAhQXmB6UBJgBFBKYE7ASMAN4SBQFeDAUBCQHFAMkABQEJAQUBCQHFAMkABQEpACkAKQBeAOUACQHFAQUBCAEFAQgBBQEIAaUARQCJACgAOAAlAHgAZQBFAIkAKAB4AIUARQCJAHgABQGpAHgAZQBFAIkAKABYAH0BogDRAFUANAAzADYAVAAzADYANAAVATsAPACiAD0ANQE0ADMAlQBQAHUAOQA2ADIAdQE5ADUAMABVAT0AogDCAC8AJgDPAHkANgAyACYATwF5ADYAMgCmAVcDrAGLACwAawCMAVoAKQCaACkAWgAlAGkARQBpACUAOgApAFoAOQCpANoAKQA6ACkAOgApADoAiQA6ACUAiQAlAIcAJQBaAEUASQC5AF4AZQA6ADkAWgAlADoADwJuBF4AjgAvALkAugBZAJoAOQBaADkAWgA5APoAOQD6A1kAWgA5ADoAOQD6A5khGgGZAJoCWQD6ADYAMgA6CjkA2gM5AxoF2QBaAvoEegGPB9oJzwL6FjkAOgE5ANoGGQH6DTkAGhL6DDYAMgA2ADIANgAyADYAMgA2ADIANgAyADYAMgDPA5oFuQA2ADIA+QM2ADIANgAyADYAMgA2ADIANgAyABkCGiB5EDYAMgA2ADIANgAyADYAMgA2ADIANgAyADYAMgA2ADIANgAyADYAMgA2ADIA+Qc2ADIANgAyABkENgAyAFkgGga5AloA2QBaAekF5QV+AEkARQD+AGkAJQBeACUAXgClAEYAaQAlAF4MJQDaAJ4AbABeAJUALwBVAMUEJQAlAAcHJgA1ACwA5wLnAOcA5wDnAOcA5wDnAOcADARVADQAMwA0ADMAdQA0ADMANQA0ADMANQExAFUAMQA1ADQAMwBVADQAMwA2ADIANgAyADYAMgA2ADIAtQAmAFUBUQBaAzoL2hqaAT0AdQA6ACYAJwAuADYAMgA2ADIANgAyADYAMgA2ADIAWgA2ADIANgAyADYAMgA2ADIAMQA2AFIAOgAuAYwASgAxAKYAWgBuACYAJwA1AFoAxwpMAFgARgAnADEARws1AGYAJwAnBccLWgCPAFoBZwOaBAcC+gNPAdoDDwE6AO8BGgRPAfoE7wH6BxogJwAnABoIJwAnAKcCJgDnjvoGBwXGAFUAhyEmAHUABwJNAUcA3gUnACwAawA1AEwBNQAmAB4DLADHCE4BTADVAPgCJgFYAN4BRQDeByYABQG+AF4BJgBYAJ4AngB+AUYAJQDnACwAZwAsAIcALADnAkoATAAqAJoAzwBaADcAOgCHBpUASgBHBgoCLABVAE0BTALHAHUAJwBNAYcDDAFVAOcCbAFKADUApwNsACoA5wUsAEoAjABKACwAigC1ASYATQFVACcFzABKAEwASgBMAGcALAAHASwAKgBNAZUABwImAMcAegAnACoABwYsACcAbABHAEwApwBMACcALAAnAEcAJgBVAGcBKgBMAEoAVQAnAEYAKgAsAMcAxwDHAOcA5wBnBEoALABKACwASgA1ACoALABNAScAJwDnAicGJABEAEQAJAA/AD8Axy1HDeUApQAnACwARwE5AKcBpwAnAEcARwCHDRgCZy02ADIABwjHBocBNwA6AAwC9QA2ADIANQDsADUAUQBQADYAMgA2ADIANgAyADYAMgA2ADIANgAyADYAMgA2ADIAVQA2ADIAlQBwAHUAlQAxADYAMgA2ADIANgAyAHUAOQAxAHkANQA3AFUApwDnECIAdQA3AHUANgAyADUAOQA1ADEAVQBNAVUAeQBVAEkDNgA1ADIAOAAwADgARQM2ADkAMgA5ADYAMgA1ADYAMgBVAEcBJgCnBUYA5wPHAMcAxwBnAFcAOQA4ADoAVwA6AJkAWgBiAFoAhwFHA2cCRwDnAccBZw91AK8FOgGuBo8AOgIvAJoBugUsAKcDJwbnA48AJwIuAAcBLgDHAzUAhwQHATUArgAJBQUFxwlNAccAJwCHBUcAJwDnAjUADwHHAs8ANQBHAzUABwdHACcAbABMAIwAhwBnAGcDbAAsAA8BNQGnA08ANQDHBvUAxwIPAWcCDwEnCe8DKgAsACoApwbsAfUAjwJNAUwAKgCnBWoAjABKAEwAVQAiAJUAJwNNAWwAhwSsACoADAFNAZUATAAqAAcGagAsAUoAhwCVAE0BZwUsACoALABKAMwAKgAsAE0B521uDJUA54UnR6cIJwDKBYwApgFHANoe+gSaB0oAbAB6AMoAAgEMAVoA7ADaA4wAGgZaCGwAOgD6Ck8CSQNFA0kD5QBFAkkDRQMpAEkAKQBJAIkACQGFACUA5QBlAUkDRQNJAIkACQHpAEUDSQCJAKkAKQDpAEUDSQNFA0kDRQNJA0UDSQNFA0kDRQNJA4UDKQM5ACUDOQDFACkDOQAlAzkAxQApAzkAJQM5AMUAKQM5ACUDOQDFACkDOQAlAzkAxQBeAE0GhwBnA0cAJwAnAEcBhwAnACcAJwAnACcAJwBnAEcAJwAnACcAJwAnACcARwAnAIcA5wCHAIcAJwBHAScCZwCnACcCWQCaBZoM+gHaAfoB+gFvAfoDmgd6BboDegU6AVoAOgTaANoImgK6BLoAOgL6BzoA2haaANoHmgAaA9oIegHaCJoOJwAnACcAJwAnACcAx0MiAAIMDB4/AD8AAAAAAAAALCwsLCwsM00rDA5TUg4XFx8fR0pOUVZbBjU1PEBENVdcNV0AAAAAAAAAAAAAAAAAEBESExQWFhgYERITFAcWCRgREhMUCRYJGA0REhMUGhYYGBESExQPFgkYERITFBoWFRgGBwkJCgwMBgcVCRgZDBIFFA4WBRgDAQIDAQIDAAECAwsCAwsJCgUMFxgKCggJCQ8PCAkJGxsLGxsbGxsbGxsbGxsbGxsbGwAAAAAAAABQUFBQUFBfUFBpUG5uUG5uUFBQUFBbUFBQZWRQUFpnUFBoUAAAAAAAAAAAAAAAAABRFGAGHGNiGhoSYAYcEWI4GhNgBhwOYg4aH1xgBhxsYhkaFWAGHE5iOhodYAYca2IWGhgQDAsBDQ0YEBcLISINYQgbIGIHGgMEBQMEBQNTBAUDPwUDPgwCVg0JHgoKNjlLTk41OQ9SUkcAAAAAAAAAEP8U/BT9FP8U/hX+Ff8R/RH9Ef0R+xH9Ef8T/xP+Ev8S/Rb/Fv4W+xf/F/4ZABn+GPwY/hr/GgAAAAAAAAAAAPD4AAkRGS7v7yVDBAQIBBQbJgAAAAAAAAAAAAAAAAAA1hIBABoTAQC1EgEAwAABAF8TAQCHEwEAWAIBAK4TAQDVEwEA/xMBAJ4SAQAAAAAAVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AAAAAAAAAAAASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAAAAAAABAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAD+//9/AAAAALAEAABkAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAA+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7//3////9/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMTBAAADAAAAwMEAAAMAAABBAAAAQQAAAEEAAABCAAAAQwAAAEQAAABCAAAAAAAAAAEAAAAAAAAARQAAAFQAAABBAAAAQQAAAEYAAABCAAAAnwAAAEEAAABCAAAAVQAAAFYAAABHAAAASAAAAEkAAAABAAAARwAAAEIAAABDAAAARwAAAEoAAABLAAAATAAAAE0AAABOAAAASAAAAEgAAABJAAAAAAAAAEMAAABXAAAATwAAAEQAAABEAAAAAwAAAE0AAABCAAAAQwAAAEcAAABKAAAASwAAAFoAAABbAAAAXAAAAEgAAABIAAAASQAAAAAAAABDAAAAVwAAAE8AAABEAAAARAAAAAMAAABOAAAAQgAAAEMAAABHAAAASgAAAEsAAABdAAAAXgAAAF8AAABIAAAASAAAAEkAAABFAAAAQwAAAFcAAABPAAAARAAAAEQAAAD5ogAAAQAAAE8AAABGAAAARwAAAE8AAABgAAAAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQgAAAGIAAABQAAAAAAAAAGMAAABRAAAASAAAAFIAAABTAAAAUAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAABAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAvtYAAAAAAAABAAAAAQAAAAAAAAAAAAAAoQAAAAAAAAAAAAAAAAAAAGvWAAAAAAAAAgAAAAEAAAAAAAAAAAAAAKIAAAAAAAAAAAAAAAAAAABt1QAAAAAAAAIAAAABAAAAAAAAAAAAAACjAAAAAAAAAAAAAAAAAAAAY9UAAAAAAAABAAAAAQAAAAAAAAAAAAAApAAAAAAAAAAAAAAAAAAAAE/VAAAAAAAARNsAAEbbAACzugAAOQAAADkAAAA2AAAA6uAAAB/hAABS4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAwAAAEMAAABEAAAAZQAAAFQAAABVAAAAZgAAAFYAAABJAAAAVwAAAFgAAABRAAAAZwAAAEUAAABZAAAAWgAAAFsAAABcAAAASgAAAGgAAABpAAAAagAAAGsAAABdAAAAAgAAAEgAAABJAAAAbAAAAF4AAABfAAAAbQAAAGAAAABLAAAAYQAAAGIAAABSAAAAbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEoAAABKAAAAbwAAAGMAAABjAAAAcAAAAGQAAABMAAAAZQAAAGYAAABTAAAAcQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQAAABnAAAASQAAAGgAAABLAAAAAAAAAAAAAABVAAAAaQAAAEoAAABqAAAATAAAAAAAAAAAAAAAVgAAAGsAAABLAAAAbAAAAE0AAAAAAAAAAwAAAE4AAABPAAAAcgAAAG0AAABuAAAAcwAAAG8AAABNAAAAcAAAAHEAAABXAAAAdAAAAEwAAAByAAAAcwAAAHQAAAB1AAAATgAAAHUAAAB2AAAAdwAAAHgAAAB2AAAAAAAAAFAAAABQAAAAeQAAAHcAAAB3AAAAegAAAHgAAABPAAAAeQAAAHoAAABYAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAFEAAABSAAAAfAAAAHsAAAB8AAAAfQAAAH0AAABQAAAAfgAAAH8AAABZAAAAfgAAAE0AAACAAAAAgQAAAIEAAACBAAAAAAAAAH8AAACAAAAAAAAAAAAAAACCAAAAAAAAAAAAAABTAAAAgQAAAIMAAAAAAAAAggAAAIQAAABRAAAAhQAAAIYAAABaAAAAgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTAAAAgQAAAIMAAAAAAAAAhAAAAIQAAABRAAAAhQAAAIYAAABaAAAAgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3/UAABX2AADtCQEAFQoBADgKAQACAAAAhwAAAIgAAACFAAAAWwAAAFIAAACJAAAAhgAAAIcAAABTAAAAigAAAE4AAABcAAAATwAAAF0AAACIAAAAVAAAAEIAAABQAAAAugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/BsBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAA4AGAAfADsADycQAAICIQAgAB4AHAAaABAQAhBhY29zAGFzaW4AYXRhbgBhdG4yAGF0YW4yAGFjb3NoAGFzaW5oAGF0YW5oAGRpZmZlcmVuY2UAZGVncmVlcwByYWRpYW5zAGNvcwBzaW4AdGFuAGNvdABjb3NoAHNpbmgAdGFuaABjb3RoAGV4cABsb2cxMABwb3dlcgBzaWduAHNxcnQAc3F1YXJlAGNlaWwAZmxvb3IAcGkAcmVwbGljYXRlAGNoYXJpbmRleABsZWZ0c3RyAHJpZ2h0c3RyAHJldmVyc2UAcHJvcGVyAHBhZGwAcGFkcgBwYWRjAHN0cmZpbHRlcgBzdGRldgB2YXJpYW5jZQBtZWRpYW4AbG93ZXJfcXVhcnRpbGUAdXBwZXJfcXVhcnRpbGUAYXJnYz09MQBjL2V4dGVuc2lvbi1mdW5jdGlvbnMuYwBhY29zRnVuYwBhc2luRnVuYwBhdGFuRnVuYwBhcmdjPT0yAGF0bjJGdW5jAGFjb3NoRnVuYwBhc2luaEZ1bmMAYXRhbmhGdW5jAGRpZmZlcmVuY2VGdW5jAD8wMDAAcmFkMmRlZ0Z1bmMAZGVnMnJhZEZ1bmMAY29zRnVuYwBzaW5GdW5jAHRhbkZ1bmMAY290RnVuYwBjb3NoRnVuYwBzaW5oRnVuYwB0YW5oRnVuYwBjb3RoRnVuYwBleHBGdW5jAGxvZ0Z1bmMAbG9nMTBGdW5jAHBvd2VyRnVuYwBzaWduRnVuYwBzcXJ0RnVuYwBzcXVhcmVGdW5jAGNlaWxGdW5jAGZsb29yRnVuYwBkb21haW4gZXJyb3IAYXJnYz09MyB8fGFyZ2M9PTIAY2hhcmluZGV4RnVuYwBsZWZ0RnVuYwByaWdodEZ1bmMAMT09YXJnYwByZXZlcnNlRnVuYwBwcm9wZXJGdW5jAHBhZGxGdW5jAHBhZHJGdW5jAHBhZGNGdW5jAHN0cmZpbHRlckZ1bmMAdmFyaWFuY2VTdGVwAG1vZGVTdGVwADMuMjYuMAAlcyBhdCBsaW5lICVkIG9mIFslLjEwc10AbWlzdXNlADIwMTgtMTItMDEgMTI6MzQ6NTUgYmY4YzFiMmI3YTU5NjBjMjgyZTU0M2I5YzI5MzY4NmRjY2ZmMjcyNTEyZDA4ODY1ZjQ2MDBmYjU4MjM4YjRmOQAlAHRoc3RuZHJkAC14MABYMABOVUxMAChOVUxMKQAuAE5hTgB1bml4AHVuaXgtbm9uZQB1bml4LWRvdGZpbGUAdW5peC1leGNsAG9zX3VuaXguYzolZDogKCVkKSAlcyglcykgLSAlcwBjbG9zZQBvcGVuAGFjY2VzcwBnZXRjd2QAc3RhdABmc3RhdABmdHJ1bmNhdGUAZmNudGwAcmVhZABwcmVhZABwcmVhZDY0AHdyaXRlAHB3cml0ZQBwd3JpdGU2NABmY2htb2QAZmFsbG9jYXRlAHVubGluawBvcGVuRGlyZWN0b3J5AG1rZGlyAHJtZGlyAGZjaG93bgBnZXRldWlkAG1tYXAAbXVubWFwAG1yZW1hcABnZXRwYWdlc2l6ZQByZWFkbGluawBsc3RhdABpb2N0bAAlcwBhdHRlbXB0IHRvIG9wZW4gIiVzIiBhcyBmaWxlIGRlc2NyaXB0b3IgJWQAL2Rldi9udWxsAGNhbm5vdCBvcGVuIGZpbGUAU1FMSVRFX1RNUERJUgBUTVBESVIAJXMvZXRpbHFzXyVsbHglYwAvdmFyL3RtcAAvdXNyL3RtcAAvdG1wAGZ1bGxfZnN5bmMAL2Rldi91cmFuZG9tAGZzeW5jAG1vZGVvZgBwc293ACVzLmxvY2sAY2Fubm90IGZzdGF0IGRiIGZpbGUgJXMAZmlsZSB1bmxpbmtlZCB3aGlsZSBvcGVuOiAlcwBtdWx0aXBsZSBsaW5rcyB0byBmaWxlOiAlcwBmaWxlIHJlbmFtZWQgd2hpbGUgb3BlbjogJXMAJXMtc2htAHJlYWRvbmx5X3NobQABAAAAAQEDAnNxbGl0ZV9jb21waWxlb3B0aW9uX3VzZWQAc3FsaXRlX2NvbXBpbGVvcHRpb25fZ2V0AHVubGlrZWx5AGxpa2VsaWhvb2QAbGlrZWx5AGx0cmltAHJ0cmltAHRyaW0AbWluAG1heAB0eXBlb2YAbGVuZ3RoAGluc3RyAHByaW50ZgB1bmljb2RlAGNoYXIAYWJzAHJvdW5kAHVwcGVyAGxvd2VyAGhleABpZm51bGwAcmFuZG9tAHJhbmRvbWJsb2IAbnVsbGlmAHNxbGl0ZV92ZXJzaW9uAHNxbGl0ZV9zb3VyY2VfaWQAc3FsaXRlX2xvZwBxdW90ZQBsYXN0X2luc2VydF9yb3dpZABjaGFuZ2VzAHRvdGFsX2NoYW5nZXMAcmVwbGFjZQB6ZXJvYmxvYgBzdWJzdHIAc3VtAHRvdGFsAGF2ZwBjb3VudABncm91cF9jb25jYXQAKj9bAGdsb2IAJV8AAWxpa2UAY29hbGVzY2UATElLRSBvciBHTE9CIHBhdHRlcm4gdG9vIGNvbXBsZXgARVNDQVBFIGV4cHJlc3Npb24gbXVzdCBiZSBhIHNpbmdsZSBjaGFyYWN0ZXIAc3RyaW5nIG9yIGJsb2IgdG9vIGJpZwAsADkyMjMzNzIwMzY4NTQ3NzU4MABpbnRlZ2VyIG92ZXJmbG93ACUhLjE1ZwAlIS4yMGUAJS4qZgBpbnRlZ2VyAHJlYWwAdGV4dABibG9iAG51bGwAASAAQ09NUElMRVI9Y2xhbmctNi4wLjEARElTQUJMRV9MRlMARU5BQkxFX0ZUUzMARU5BQkxFX0ZUUzNfUEFSRU5USEVTSVMARU5BQkxFX0ZUUzQARU5BQkxFX0ZUUzUARU5BQkxFX0pTT04xAEVOQUJMRV9SVFJFRQBPTUlUX0xPQURfRVhURU5TSU9OAFRIUkVBRFNBRkU9MABTUUxJVEVfAGp1bGlhbmRheQBkYXRlAHRpbWUAZGF0ZXRpbWUAc3RyZnRpbWUAY3VycmVudF90aW1lAGN1cnJlbnRfdGltZXN0YW1wAGN1cnJlbnRfZGF0ZQAlMDJkACUwNi4zZgAlMDNkACUuMTZnACVsbGQAJTA0ZAA0MGYtMjFhLTIxZABub3cAbm9uLWRldGVybWluaXN0aWMgZnVuY3Rpb24gaW4gaW5kZXggZXhwcmVzc2lvbiBvciBDSEVDSyBjb25zdHJhaW50AGxvY2FsdGltZQB1bml4ZXBvY2gAdXRjAHdlZWtkYXkgAHN0YXJ0IG9mIABtb250aAB5ZWFyAGRheQBzZWNvbmQAbWludXRlAGhvdXIAbG9jYWwgdGltZSB1bmF2YWlsYWJsZQAyMGM6MjBlADIwZQAyMGI6MjBlACUwNGQtJTAyZC0lMDJkICUwMmQ6JTAyZDolMDJkACUwMmQ6JTAyZDolMDJkACUwNGQtJTAyZC0lMDJkAHJvd19udW1iZXIAZGVuc2VfcmFuawByYW5rAHBlcmNlbnRfcmFuawBjdW1lX2Rpc3QAbnRpbGUAbGFzdF92YWx1ZQBudGhfdmFsdWUAZmlyc3RfdmFsdWUAbGVhZABsYWcAYXJndW1lbnQgb2YgbnRpbGUgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIAc3FsaXRlX3JlbmFtZV9jb2x1bW4Ac3FsaXRlX3JlbmFtZV90YWJsZQBzcWxpdGVfcmVuYW1lX3Rlc3QAbWFpbgBkYXRhYmFzZSBjb3JydXB0aW9uAGVycm9yIGluICVzICVzJXM6ICVzACBhZnRlciByZW5hbWUARk9SRUlHTiBLRVkgY29uc3RyYWludCBmYWlsZWQAJXMtbWpYWFhYWFg5WFh6AE1KIGNvbGxpZGU6ICVzAE1KIGRlbGV0ZTogJXMALW1qJTA2WDklMDJYANnVBfkgoWPXcmVjb3ZlcmVkICVkIHBhZ2VzIGZyb20gJXMAY2Fubm90IGxpbWl0IFdBTCBzaXplOiAlcwByZWNvdmVyZWQgJWQgZnJhbWVzIGZyb20gV0FMIGZpbGUgJXMARXhwcmVzc2lvbiB0cmVlIGlzIHRvbyBsYXJnZSAobWF4aW11bSBkZXB0aCAlZCkAbm8gc3VjaCB0YWJsZQBubyBzdWNoIHZpZXcAcHJhZ21hXwAlczogJXMuJXMAJXM6ICVzAHZ0YWJsZSBjb25zdHJ1Y3RvciBjYWxsZWQgcmVjdXJzaXZlbHk6ICVzAHZ0YWJsZSBjb25zdHJ1Y3RvciBmYWlsZWQ6ICVzAHZ0YWJsZSBjb25zdHJ1Y3RvciBkaWQgbm90IGRlY2xhcmUgc2NoZW1hOiAlcwBBUEkgY2FsbGVkIHdpdGggZmluYWxpemVkIHByZXBhcmVkIHN0YXRlbWVudABBUEkgY2FsbGVkIHdpdGggTlVMTCBwcmVwYXJlZCBzdGF0ZW1lbnQAaW50ZXJydXB0ZWQAayglZABCSU5BUlkAQgAtACwlcyVzACkAKCUuMjBzKQAlcyglZCkAJWQAKGJsb2IpAHZ0YWI6JXAALCVkAF0AcHJvZ3JhbQAlLjJ4AEFQSSBjYWxsIHdpdGggJXMgZGF0YWJhc2UgY29ubmVjdGlvbiBwb2ludGVyAGludmFsaWQAdW5vcGVuZWQAZGF0YWJhc2Ugc2NoZW1hIGlzIGxvY2tlZDogJXMAc3RhdGVtZW50IHRvbyBsb25nAGFkZHIAb3Bjb2RlAHAxAHAyAHAzAHA0AHA1AGNvbW1lbnQAaWQAcGFyZW50AG5vdHVzZWQAZGV0YWlsAEAgIAAlcyBjb25zdHJhaW50IGZhaWxlZAAlejogJXMAYWJvcnQgYXQgJWQgaW4gWyVzXTogJXMAAQAAAQEAAAEAAQABAQABAAABAAAAAAECAAICAAECAQEBAgECY2Fubm90IG9wZW4gc2F2ZXBvaW50IC0gU1FMIHN0YXRlbWVudHMgaW4gcHJvZ3Jlc3MAbm8gc3VjaCBzYXZlcG9pbnQ6ICVzAGNhbm5vdCByZWxlYXNlIHNhdmVwb2ludCAtIFNRTCBzdGF0ZW1lbnRzIGluIHByb2dyZXNzAGNhbm5vdCBjb21taXQgdHJhbnNhY3Rpb24gLSBTUUwgc3RhdGVtZW50cyBpbiBwcm9ncmVzcwBjYW5ub3QgY29tbWl0IC0gbm8gdHJhbnNhY3Rpb24gaXMgYWN0aXZlAGNhbm5vdCByb2xsYmFjayAtIG5vIHRyYW5zYWN0aW9uIGlzIGFjdGl2ZQBjYW5ub3Qgc3RhcnQgYSB0cmFuc2FjdGlvbiB3aXRoaW4gYSB0cmFuc2FjdGlvbgBkYXRhYmFzZSBzY2hlbWEgaGFzIGNoYW5nZWQAU0VMRUNUIG5hbWUsIHJvb3RwYWdlLCBzcWwgRlJPTSAnJXEnLiVzIFdIRVJFICVzIE9SREVSIEJZIHJvd2lkAHNxbGl0ZV9tYXN0ZXIATWFpbiBmcmVlbGlzdDogAG1heCByb290cGFnZSAoJWQpIGRpc2FncmVlcyB3aXRoIGhlYWRlciAoJWQpAGluY3JlbWVudGFsX3ZhY3V1bSBlbmFibGVkIHdpdGggYSBtYXggcm9vdHBhZ2Ugb2YgemVybwBGYWlsZWQgdG8gcmVhZCBwdHJtYXAga2V5PSVkAEJhZCBwdHIgbWFwIGVudHJ5IGtleT0lZCBleHBlY3RlZD0oJWQsJWQpIGdvdD0oJWQsJWQpAFBhZ2UgJWQgaXMgbmV2ZXIgdXNlZABQb2ludGVyIG1hcCBwYWdlICVkIGlzIHJlZmVyZW5jZWQAdG9vIG1hbnkgbGV2ZWxzIG9mIHRyaWdnZXIgcmVjdXJzaW9uAGludG8Ab3V0IG9mAGNhbm5vdCBjaGFuZ2UgJXMgd2FsIG1vZGUgZnJvbSB3aXRoaW4gYSB0cmFuc2FjdGlvbgBjYW5ub3QgVkFDVVVNIGZyb20gd2l0aGluIGEgdHJhbnNhY3Rpb24AY2Fubm90IFZBQ1VVTSAtIFNRTCBzdGF0ZW1lbnRzIGluIHByb2dyZXNzAEFUVEFDSCcnQVMgdmFjdXVtX2RiAEJFR0lOAFNFTEVDVCBzcWwgRlJPTSAiJXciLnNxbGl0ZV9tYXN0ZXIgV0hFUkUgdHlwZT0ndGFibGUnQU5EIG5hbWU8PidzcWxpdGVfc2VxdWVuY2UnIEFORCBjb2FsZXNjZShyb290cGFnZSwxKT4wAFNFTEVDVCBzcWwgRlJPTSAiJXciLnNxbGl0ZV9tYXN0ZXIgV0hFUkUgdHlwZT0naW5kZXgnAFNFTEVDVCdJTlNFUlQgSU5UTyB2YWN1dW1fZGIuJ3x8cXVvdGUobmFtZSl8fCcgU0VMRUNUKkZST00iJXciLid8fHF1b3RlKG5hbWUpRlJPTSB2YWN1dW1fZGIuc3FsaXRlX21hc3RlciBXSEVSRSB0eXBlPSd0YWJsZSdBTkQgY29hbGVzY2Uocm9vdHBhZ2UsMSk+MABJTlNFUlQgSU5UTyB2YWN1dW1fZGIuc3FsaXRlX21hc3RlciBTRUxFQ1QqRlJPTSAiJXciLnNxbGl0ZV9tYXN0ZXIgV0hFUkUgdHlwZSBJTigndmlldycsJ3RyaWdnZXInKSBPUih0eXBlPSd0YWJsZSdBTkQgcm9vdHBhZ2U9MCkAAQEDAAUABgAIAGRhdGFiYXNlIHRhYmxlIGlzIGxvY2tlZDogJXMAbm8gc3VjaCBtb2R1bGU6ICVzAC0tICVzAHVua25vd24gZXJyb3IAbm8gbW9yZSByb3dzIGF2YWlsYWJsZQBhbm90aGVyIHJvdyBhdmFpbGFibGUAYWJvcnQgZHVlIHRvIFJPTExCQUNLAHN0YXRlbWVudCBhYm9ydHMgYXQgJWQ6IFslc10gJXMAb3V0IG9mIG1lbW9yeQBub3QgYW4gZXJyb3IAU1FMIGxvZ2ljIGVycm9yAGFjY2VzcyBwZXJtaXNzaW9uIGRlbmllZABxdWVyeSBhYm9ydGVkAGRhdGFiYXNlIGlzIGxvY2tlZABkYXRhYmFzZSB0YWJsZSBpcyBsb2NrZWQAYXR0ZW1wdCB0byB3cml0ZSBhIHJlYWRvbmx5IGRhdGFiYXNlAGRpc2sgSS9PIGVycm9yAGRhdGFiYXNlIGRpc2sgaW1hZ2UgaXMgbWFsZm9ybWVkAHVua25vd24gb3BlcmF0aW9uAGRhdGFiYXNlIG9yIGRpc2sgaXMgZnVsbAB1bmFibGUgdG8gb3BlbiBkYXRhYmFzZSBmaWxlAGxvY2tpbmcgcHJvdG9jb2wAY29uc3RyYWludCBmYWlsZWQAZGF0YXR5cGUgbWlzbWF0Y2gAYmFkIHBhcmFtZXRlciBvciBvdGhlciBBUEkgbWlzdXNlAGxhcmdlIGZpbGUgc3VwcG9ydCBpcyBkaXNhYmxlZABhdXRob3JpemF0aW9uIGRlbmllZABjb2x1bW4gaW5kZXggb3V0IG9mIHJhbmdlAGZpbGUgaXMgbm90IGEgZGF0YWJhc2UAbm90aWZpY2F0aW9uIG1lc3NhZ2UAd2FybmluZyBtZXNzYWdlAC0tIAAnJS4qcScAemVyb2Jsb2IoJWQpAHgnACUwMngAJwBDUkUASU5TAGRlbGV0ZQBwZXJzaXN0AG9mZgB0cnVuY2F0ZQBtZW1vcnkAd2FsAGludmFsaWQgcGFnZSBudW1iZXIgJWQAMm5kIHJlZmVyZW5jZSB0byBwYWdlICVkAFBhZ2UgJWQ6IAB1bmFibGUgdG8gZ2V0IHRoZSBwYWdlLiBlcnJvciBjb2RlPSVkAGJ0cmVlSW5pdFBhZ2UoKSByZXR1cm5zIGVycm9yIGNvZGUgJWQAT24gdHJlZSBwYWdlICVkIGNlbGwgJWQ6IABPbiBwYWdlICVkIGF0IHJpZ2h0IGNoaWxkOiAAT2Zmc2V0ICVkIG91dCBvZiByYW5nZSAlZC4uJWQARXh0ZW5kcyBvZmYgZW5kIG9mIHBhZ2UAUm93aWQgJWxsZCBvdXQgb2Ygb3JkZXIAQ2hpbGQgcGFnZSBkZXB0aCBkaWZmZXJzAE11bHRpcGxlIHVzZXMgZm9yIGJ5dGUgJXUgb2YgcGFnZSAlZABGcmFnbWVudGF0aW9uIG9mICVkIGJ5dGVzIHJlcG9ydGVkIGFzICVkIG9uIHBhZ2UgJWQACgBmYWlsZWQgdG8gZ2V0IHBhZ2UgJWQAZnJlZWxpc3QgbGVhZiBjb3VudCB0b28gYmlnIG9uIHBhZ2UgJWQAb3ZlcmZsb3cgbGlzdCBsZW5ndGgAc2l6ZQAlcyBpcyAlZCBidXQgc2hvdWxkIGJlICVkAHNxbGl0ZV9zdGF0MQBTRUxFQ1QgdGJsLGlkeCxzdGF0IEZST00gJVEuc3FsaXRlX3N0YXQxAHVub3JkZXJlZCoAc3o9WzAtOV0qAG5vc2tpcHNjYW4qAD8AbWFsZm9ybWVkIGRhdGFiYXNlIHNjaGVtYSAoJXMpAGNyZWF0ZSAAaW52YWxpZCByb290cGFnZQAleiAtICVzAAABAgMEBggAAAA6bWVtb3J5OgAtam91cm5hbAAALXdhbAAAbm9sb2NrAGltbXV0YWJsZQBOT1QgTlVMTABVTklRVUUAQ0hFQ0sARk9SRUlHTiBLRVkAU2F2ZXBvaW50AEF1dG9Db21taXQAVHJhbnNhY3Rpb24AU29ydGVyTmV4dABQcmV2AE5leHQAQ2hlY2twb2ludABKb3VybmFsTW9kZQBWYWN1dW0AVkZpbHRlcgBWVXBkYXRlAEdvdG8AR29zdWIASW5pdENvcm91dGluZQBZaWVsZABNdXN0QmVJbnQASnVtcABPbmNlAElmAE5vdABJZk5vdABJZk51bGxSb3cAU2Vla0xUAFNlZWtMRQBTZWVrR0UAU2Vla0dUAElmTm9Ib3BlAE5vQ29uZmxpY3QATm90Rm91bmQARm91bmQAU2Vla1Jvd2lkAE5vdEV4aXN0cwBMYXN0AElmU21hbGxlcgBTb3J0ZXJTb3J0AFNvcnQAUmV3aW5kAElkeExFAElkeEdUAElkeExUAElkeEdFAFJvd1NldFJlYWQAUm93U2V0VGVzdABPcgBBbmQAUHJvZ3JhbQBGa0lmWmVybwBJZlBvcwBJZk5vdFplcm8ARGVjckp1bXBaZXJvAElzTnVsbABOb3ROdWxsAE5lAEVxAEd0AExlAEx0AEdlAEVsc2VOb3RFcQBJbmNyVmFjdXVtAFZOZXh0AEluaXQAUHVyZUZ1bmMwAEZ1bmN0aW9uMABQdXJlRnVuYwBGdW5jdGlvbgBSZXR1cm4ARW5kQ29yb3V0aW5lAEhhbHRJZk51bGwASGFsdABJbnRlZ2VyAEludDY0AFN0cmluZwBOdWxsAFNvZnROdWxsAEJsb2IAVmFyaWFibGUATW92ZQBDb3B5AFNDb3B5AEludENvcHkAUmVzdWx0Um93AENvbGxTZXEAQWRkSW1tAFJlYWxBZmZpbml0eQBDYXN0AFBlcm11dGF0aW9uAENvbXBhcmUASXNUcnVlAE9mZnNldABDb2x1bW4AQWZmaW5pdHkAQml0QW5kAEJpdE9yAFNoaWZ0TGVmdABTaGlmdFJpZ2h0AEFkZABTdWJ0cmFjdABNdWx0aXBseQBEaXZpZGUAUmVtYWluZGVyAENvbmNhdABNYWtlUmVjb3JkAEJpdE5vdABDb3VudABSZWFkQ29va2llAFN0cmluZzgAU2V0Q29va2llAFJlb3BlbklkeABPcGVuUmVhZABPcGVuV3JpdGUAT3BlbkR1cABPcGVuQXV0b2luZGV4AE9wZW5FcGhlbWVyYWwAU29ydGVyT3BlbgBTZXF1ZW5jZVRlc3QAT3BlblBzZXVkbwBDbG9zZQBDb2x1bW5zVXNlZABTZWVrSGl0AFNlcXVlbmNlAE5ld1Jvd2lkAEluc2VydABJbnNlcnRJbnQARGVsZXRlAFJlc2V0Q291bnQAU29ydGVyQ29tcGFyZQBTb3J0ZXJEYXRhAFJvd0RhdGEAUm93aWQATnVsbFJvdwBTZWVrRW5kAFNvcnRlckluc2VydABJZHhJbnNlcnQASWR4RGVsZXRlAERlZmVycmVkU2VlawBJZHhSb3dpZABEZXN0cm95AENsZWFyAFJlc2V0U29ydGVyAENyZWF0ZUJ0cmVlAFJlYWwAU3FsRXhlYwBQYXJzZVNjaGVtYQBMb2FkQW5hbHlzaXMARHJvcFRhYmxlAERyb3BJbmRleABEcm9wVHJpZ2dlcgBJbnRlZ3JpdHlDawBSb3dTZXRBZGQAUGFyYW0ARmtDb3VudGVyAE1lbU1heABPZmZzZXRMaW1pdABBZ2dJbnZlcnNlAEFnZ1N0ZXAAQWdnU3RlcDEAQWdnVmFsdWUAQWdnRmluYWwARXhwaXJlAFRhYmxlTG9jawBWQmVnaW4AVkNyZWF0ZQBWRGVzdHJveQBWT3BlbgBWQ29sdW1uAFZSZW5hbWUAUGFnZWNvdW50AE1heFBnY250AFRyYWNlAEN1cnNvckhpbnQATm9vcABFeHBsYWluAEFib3J0YWJsZQBQUkFHTUEgACVRLgA9JVEAQ1JFQVRFIFRBQkxFIHgAJWMiJXMiACgiJXMiACxhcmcgSElEREVOACxzY2hlbWEgSElEREVOAHNlcQB0YWJsZQBmcm9tAHRvAG9uX3VwZGF0ZQBvbl9kZWxldGUAbWF0Y2gAY2lkAG5hbWUAdHlwZQBub3RudWxsAGRmbHRfdmFsdWUAcGsAaGlkZGVuAHNlcW5vAGRlc2MAY29sbABrZXkAdGJsAGlkeAB3ZHRoAGhnaHQAZmxncwB1bmlxdWUAb3JpZ2luAHBhcnRpYWwAcm93aWQAZmtpZABmaWxlAGJ1c3kAbG9nAGNoZWNrcG9pbnRlZABidWlsdGluAGRhdGFiYXNlAHN0YXR1cwBjYWNoZV9zaXplAHRpbWVvdXQAYXBwbGljYXRpb25faWQAYXV0b192YWN1dW0AYXV0b21hdGljX2luZGV4AGJ1c3lfdGltZW91dABjYWNoZV9zcGlsbABjYXNlX3NlbnNpdGl2ZV9saWtlAGNlbGxfc2l6ZV9jaGVjawBjaGVja3BvaW50X2Z1bGxmc3luYwBjb2xsYXRpb25fbGlzdABjb21waWxlX29wdGlvbnMAY291bnRfY2hhbmdlcwBkYXRhX3ZlcnNpb24AZGF0YWJhc2VfbGlzdABkZWZhdWx0X2NhY2hlX3NpemUAZGVmZXJfZm9yZWlnbl9rZXlzAGVtcHR5X3Jlc3VsdF9jYWxsYmFja3MAZW5jb2RpbmcAZm9yZWlnbl9rZXlfY2hlY2sAZm9yZWlnbl9rZXlfbGlzdABmb3JlaWduX2tleXMAZnJlZWxpc3RfY291bnQAZnVsbF9jb2x1bW5fbmFtZXMAZnVsbGZzeW5jAGlnbm9yZV9jaGVja19jb25zdHJhaW50cwBpbmNyZW1lbnRhbF92YWN1dW0AaW5kZXhfaW5mbwBpbmRleF9saXN0AGluZGV4X3hpbmZvAGludGVncml0eV9jaGVjawBqb3VybmFsX21vZGUAam91cm5hbF9zaXplX2xpbWl0AGxlZ2FjeV9hbHRlcl90YWJsZQBsZWdhY3lfZmlsZV9mb3JtYXQAbG9ja2luZ19tb2RlAG1heF9wYWdlX2NvdW50AG1tYXBfc2l6ZQBvcHRpbWl6ZQBwYWdlX2NvdW50AHBhZ2Vfc2l6ZQBxdWVyeV9vbmx5AHF1aWNrX2NoZWNrAHJlYWRfdW5jb21taXR0ZWQAcmVjdXJzaXZlX3RyaWdnZXJzAHJldmVyc2VfdW5vcmRlcmVkX3NlbGVjdHMAc2NoZW1hX3ZlcnNpb24Ac2VjdXJlX2RlbGV0ZQBzaG9ydF9jb2x1bW5fbmFtZXMAc2hyaW5rX21lbW9yeQBzb2Z0X2hlYXBfbGltaXQAc3luY2hyb25vdXMAdGFibGVfaW5mbwB0YWJsZV94aW5mbwB0ZW1wX3N0b3JlAHRlbXBfc3RvcmVfZGlyZWN0b3J5AHRocmVhZHMAdXNlcl92ZXJzaW9uAHdhbF9hdXRvY2hlY2twb2ludAB3YWxfY2hlY2twb2ludAB3cml0YWJsZV9zY2hlbWEAc3FsaXRlX3RlbXBfbWFzdGVyADEAQ1JFQVRFIFRBQkxFIHgodHlwZSB0ZXh0LG5hbWUgdGV4dCx0YmxfbmFtZSB0ZXh0LHJvb3RwYWdlIGludCxzcWwgdGV4dCkAYXR0YWNoZWQgZGF0YWJhc2VzIG11c3QgdXNlIHRoZSBzYW1lIHRleHQgZW5jb2RpbmcgYXMgbWFpbiBkYXRhYmFzZQB1bnN1cHBvcnRlZCBmaWxlIGZvcm1hdABTRUxFQ1QgbmFtZSwgcm9vdHBhZ2UsIHNxbCBGUk9NICIldyIuJXMgT1JERVIgQlkgcm93aWQAYSBHUk9VUCBCWSBjbGF1c2UgaXMgcmVxdWlyZWQgYmVmb3JlIEhBVklORwBPUkRFUgBHUk9VUABhZ2dyZWdhdGUgZnVuY3Rpb25zIGFyZSBub3QgYWxsb3dlZCBpbiB0aGUgR1JPVVAgQlkgY2xhdXNlAGFsbCBWQUxVRVMgbXVzdCBoYXZlIHRoZSBzYW1lIG51bWJlciBvZiB0ZXJtcwBVTklPTgBFWENFUFQASU5URVJTRUNUAFVOSU9OIEFMTABTRUxFQ1RzIHRvIHRoZSBsZWZ0IGFuZCByaWdodCBvZiAlcyBkbyBub3QgaGF2ZSB0aGUgc2FtZSBudW1iZXIgb2YgcmVzdWx0IGNvbHVtbnMAdG9vIG1hbnkgdGVybXMgaW4gT1JERVIgQlkgY2xhdXNlACVyICVzIEJZIHRlcm0gb3V0IG9mIHJhbmdlIC0gc2hvdWxkIGJlIGJldHdlZW4gMSBhbmQgJWQAJXIgT1JERVIgQlkgdGVybSBkb2VzIG5vdCBtYXRjaCBhbnkgY29sdW1uIGluIHRoZSByZXN1bHQgc2V0ACVzJXMAdG9vIG1hbnkgdGVybXMgaW4gJXMgQlkgY2xhdXNlACVzIHByb2hpYml0ZWQgaW4gJXMAdGhlICIuIiBvcGVyYXRvcgBpbmRleCBleHByZXNzaW9ucwBuZXcAb2xkAGV4Y2x1ZGVkAF9ST1dJRF8AUk9XSUQAT0lEAG1pc3VzZSBvZiBhbGlhc2VkIGFnZ3JlZ2F0ZSAlcwByb3cgdmFsdWUgbWlzdXNlZAB0cnVlAGZhbHNlAGFtYmlndW91cyBjb2x1bW4gbmFtZQBubyBzdWNoIGNvbHVtbgAlczogJXMuJXMuJXMAc2Vjb25kIGFyZ3VtZW50IHRvIGxpa2VsaWhvb2QoKSBtdXN0IGJlIGEgY29uc3RhbnQgYmV0d2VlbiAwLjAgYW5kIDEuMABub3QgYXV0aG9yaXplZABhdXRob3JpemVyIG1hbGZ1bmN0aW9uAG5vdCBhdXRob3JpemVkIHRvIHVzZSBmdW5jdGlvbjogJXMAcGFydGlhbCBpbmRleCBXSEVSRSBjbGF1c2VzAENIRUNLIGNvbnN0cmFpbnRzAG5vbi1kZXRlcm1pbmlzdGljIGZ1bmN0aW9ucwAlLipzKCkgbWF5IG5vdCBiZSB1c2VkIGFzIGEgd2luZG93IGZ1bmN0aW9uAG1pc3VzZSBvZiAlcyBmdW5jdGlvbiAlLipzKCkAYWdncmVnYXRlAHdpbmRvdwBubyBzdWNoIGZ1bmN0aW9uOiAlLipzAHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gZnVuY3Rpb24gJS4qcygpAG5vIHN1Y2ggd2luZG93OiAlcwBGSUxURVIgY2xhdXNlIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBhZ2dyZWdhdGUgd2luZG93IGZ1bmN0aW9ucwBzdWJxdWVyaWVzAHBhcmFtZXRlcnMAJXMuJXMAJXMuJXoAYWNjZXNzIHRvICV6IGlzIHByb2hpYml0ZWQAdmlldyAlcyBpcyBjaXJjdWxhcmx5IGRlZmluZWQAbm8gc3VjaCBjb2xsYXRpb24gc2VxdWVuY2U6ICVzAElOVEVHRVIAY29sdW1uJWQAJS4qejoldQAnJXMnIGlzIG5vdCBhIGZ1bmN0aW9uAG11bHRpcGxlIHJlZmVyZW5jZXMgdG8gcmVjdXJzaXZlIHRhYmxlOiAlcwBjaXJjdWxhciByZWZlcmVuY2U6ICVzAHRhYmxlICVzIGhhcyAlZCB2YWx1ZXMgZm9yICVkIGNvbHVtbnMAcmVjdXJzaXZlIHJlZmVyZW5jZSBpbiBhIHN1YnF1ZXJ5OiAlcwBtdWx0aXBsZSByZWN1cnNpdmUgcmVmZXJlbmNlczogJXMAdG9vIG1hbnkgcmVmZXJlbmNlcyB0byAiJXMiOiBtYXggNjU1MzUAbm8gc3VjaCBpbmRleDogJXMAYSBOQVRVUkFMIGpvaW4gbWF5IG5vdCBoYXZlIGFuIE9OIG9yIFVTSU5HIGNsYXVzZQBjYW5ub3QgaGF2ZSBib3RoIE9OIGFuZCBVU0lORyBjbGF1c2VzIGluIHRoZSBzYW1lIGpvaW4AY2Fubm90IGpvaW4gdXNpbmcgY29sdW1uICVzIC0gY29sdW1uIG5vdCBwcmVzZW50IGluIGJvdGggdGFibGVzACoAJXMuJXMuJXMAbm8gc3VjaCB0YWJsZTogJXMAbm8gdGFibGVzIHNwZWNpZmllZAB0b28gbWFueSBjb2x1bW5zIGluIHJlc3VsdCBzZXQAMABzdWJxdWVyeV8ldQBPTgBVU0lORwBhIEpPSU4gY2xhdXNlIGlzIHJlcXVpcmVkIGJlZm9yZSAlcwB1bnJlY29nbml6ZWQgdG9rZW46ICIlLipzIgBwYXJzZXIgc3RhY2sgb3ZlcmZsb3cAbmVhciAiJVQiOiBzeW50YXggZXJyb3IAaW5jb21wbGV0ZSBpbnB1dAAlcyBpbiAiJXMiAFJPTExCQUNLAENPTU1JVABSRUxFQVNFAHVua25vd24gdGFibGUgb3B0aW9uOiAlLipzAHRvbyBtYW55IGNvbHVtbnMgb24gJXMAZHVwbGljYXRlIGNvbHVtbiBuYW1lOiAlcwBwYXJhbWV0ZXJzIGFyZSBub3QgYWxsb3dlZCBpbiB2aWV3cwBjb3JydXB0IGRhdGFiYXNlAHVua25vd24gZGF0YWJhc2UgJVQAdmlldwB0b28gbWFueSB0ZXJtcyBpbiBjb21wb3VuZCBTRUxFQ1QAdG9vIG1hbnkgY29sdW1ucyBpbiAlcwBzZXQgbGlzdAB2YXJpYWJsZSBudW1iZXIgbXVzdCBiZSBiZXR3ZWVuID8xIGFuZCA/JWQAdG9vIG1hbnkgU1FMIHZhcmlhYmxlcwB0b28gbWFueSBhcmd1bWVudHMgb24gZnVuY3Rpb24gJVQARElTVElOQ1QgaXMgbm90IHN1cHBvcnRlZCBmb3Igd2luZG93IGZ1bmN0aW9ucwBzeW50YXggZXJyb3IgYWZ0ZXIgY29sdW1uIG5hbWUgIiUuKnMiAG5vIHN1Y2ggaW5kZXg6ICVTAGluZGV4IGFzc29jaWF0ZWQgd2l0aCBVTklRVUUgb3IgUFJJTUFSWSBLRVkgY29uc3RyYWludCBjYW5ub3QgYmUgZHJvcHBlZAB1bmFibGUgdG8gb3BlbiBhIHRlbXBvcmFyeSBkYXRhYmFzZSBmaWxlIGZvciBzdG9yaW5nIHRlbXBvcmFyeSB0YWJsZXMAREVMRVRFIEZST00gJVEuJXMgV0hFUkUgbmFtZT0lUSBBTkQgdHlwZT0naW5kZXgnAHNxbGl0ZV9zdGF0JWQAREVMRVRFIEZST00gJVEuJXMgV0hFUkUgJXM9JVEAdHJpZ2dlcgBJTlNFUlQgSU5UTyAlUS4lcyBWQUxVRVMoJ3RyaWdnZXInLCVRLCVRLDAsJ0NSRUFURSBUUklHR0VSICVxJykAdHlwZT0ndHJpZ2dlcicgQU5EIG5hbWU9JyVxJwB0ZW1wb3JhcnkgdHJpZ2dlciBtYXkgbm90IGhhdmUgcXVhbGlmaWVkIG5hbWUAY2Fubm90IGNyZWF0ZSB0cmlnZ2VycyBvbiB2aXJ0dWFsIHRhYmxlcwB0cmlnZ2VyICVUIGFscmVhZHkgZXhpc3RzAHNxbGl0ZV8AY2Fubm90IGNyZWF0ZSB0cmlnZ2VyIG9uIHN5c3RlbSB0YWJsZQBCRUZPUkUAQUZURVIAY2Fubm90IGNyZWF0ZSAlcyB0cmlnZ2VyIG9uIHZpZXc6ICVTAGNhbm5vdCBjcmVhdGUgSU5TVEVBRCBPRiB0cmlnZ2VyIG9uIHRhYmxlOiAlUwBxdWFsaWZpZWQgdGFibGUgbmFtZXMgYXJlIG5vdCBhbGxvd2VkIG9uIElOU0VSVCwgVVBEQVRFLCBhbmQgREVMRVRFIHN0YXRlbWVudHMgd2l0aGluIHRyaWdnZXJzAHRoZSBJTkRFWEVEIEJZIGNsYXVzZSBpcyBub3QgYWxsb3dlZCBvbiBVUERBVEUgb3IgREVMRVRFIHN0YXRlbWVudHMgd2l0aGluIHRyaWdnZXJzAHRoZSBOT1QgSU5ERVhFRCBjbGF1c2UgaXMgbm90IGFsbG93ZWQgb24gVVBEQVRFIG9yIERFTEVURSBzdGF0ZW1lbnRzIHdpdGhpbiB0cmlnZ2VycwBubyBzdWNoIHRyaWdnZXI6ICVTAHVuYWJsZSB0byBpZGVudGlmeSB0aGUgb2JqZWN0IHRvIGJlIHJlaW5kZXhlZAB0aGVyZSBpcyBhbHJlYWR5IGFub3RoZXIgdGFibGUgb3IgaW5kZXggd2l0aCB0aGlzIG5hbWU6ICVzAHZpZXcgJXMgbWF5IG5vdCBiZSBhbHRlcmVkAFVQREFURSAiJXciLiVzIFNFVCBzcWwgPSBzcWxpdGVfcmVuYW1lX3RhYmxlKCVRLCB0eXBlLCBuYW1lLCBzcWwsICVRLCAlUSwgJWQpIFdIRVJFICh0eXBlIT0naW5kZXgnIE9SIHRibF9uYW1lPSVRIENPTExBVEUgbm9jYXNlKUFORCAgIG5hbWUgTk9UIExJS0UgJ3NxbGl0ZV8lJScAVVBEQVRFICVRLiVzIFNFVCB0YmxfbmFtZSA9ICVRLCBuYW1lID0gQ0FTRSBXSEVOIHR5cGU9J3RhYmxlJyBUSEVOICVRIFdIRU4gbmFtZSBMSUtFICdzcWxpdGVfYXV0b2luZGV4JSUnIEFORCB0eXBlPSdpbmRleCcgVEhFTiAnc3FsaXRlX2F1dG9pbmRleF8nIHx8ICVRIHx8IHN1YnN0cihuYW1lLCVkKzE4KSBFTFNFIG5hbWUgRU5EIFdIRVJFIHRibF9uYW1lPSVRIENPTExBVEUgbm9jYXNlIEFORCAodHlwZT0ndGFibGUnIE9SIHR5cGU9J2luZGV4JyBPUiB0eXBlPSd0cmlnZ2VyJyk7AHNxbGl0ZV9zZXF1ZW5jZQBVUERBVEUgIiV3Ii5zcWxpdGVfc2VxdWVuY2Ugc2V0IG5hbWUgPSAlUSBXSEVSRSBuYW1lID0gJVEAVVBEQVRFIHNxbGl0ZV90ZW1wX21hc3RlciBTRVQgc3FsID0gc3FsaXRlX3JlbmFtZV90YWJsZSglUSwgdHlwZSwgbmFtZSwgc3FsLCAlUSwgJVEsIDEpLCB0YmxfbmFtZSA9IENBU0UgV0hFTiB0YmxfbmFtZT0lUSBDT0xMQVRFIG5vY2FzZSBBTkQgICAgICAgICAgIHNxbGl0ZV9yZW5hbWVfdGVzdCglUSwgc3FsLCB0eXBlLCBuYW1lLCAxKSBUSEVOICVRIEVMU0UgdGJsX25hbWUgRU5EIFdIRVJFIHR5cGUgSU4gKCd2aWV3JywgJ3RyaWdnZXInKQBTRUxFQ1QgMSBGUk9NICIldyIuJXMgV0hFUkUgbmFtZSBOT1QgTElLRSAnc3FsaXRlXyUlJyBBTkQgc3FsIE5PVCBMSUtFICdjcmVhdGUgdmlydHVhbCUlJyBBTkQgc3FsaXRlX3JlbmFtZV90ZXN0KCVRLCBzcWwsIHR5cGUsIG5hbWUsICVkKT1OVUxMIABTRUxFQ1QgMSBGUk9NIHRlbXAuJXMgV0hFUkUgbmFtZSBOT1QgTElLRSAnc3FsaXRlXyUlJyBBTkQgc3FsIE5PVCBMSUtFICdjcmVhdGUgdmlydHVhbCUlJyBBTkQgc3FsaXRlX3JlbmFtZV90ZXN0KCVRLCBzcWwsIHR5cGUsIG5hbWUsIDEpPU5VTEwgAENhbm5vdCBhZGQgYSBQUklNQVJZIEtFWSBjb2x1bW4AQ2Fubm90IGFkZCBhIFVOSVFVRSBjb2x1bW4AQ2Fubm90IGFkZCBhIFJFRkVSRU5DRVMgY29sdW1uIHdpdGggbm9uLU5VTEwgZGVmYXVsdCB2YWx1ZQBDYW5ub3QgYWRkIGEgTk9UIE5VTEwgY29sdW1uIHdpdGggZGVmYXVsdCB2YWx1ZSBOVUxMAENhbm5vdCBhZGQgYSBjb2x1bW4gd2l0aCBub24tY29uc3RhbnQgZGVmYXVsdABVUERBVEUgIiV3Ii4lcyBTRVQgc3FsID0gc3Vic3RyKHNxbCwxLCVkKSB8fCAnLCAnIHx8ICVRIHx8IHN1YnN0cihzcWwsJWQpIFdIRVJFIHR5cGUgPSAndGFibGUnIEFORCBuYW1lID0gJVEAdmlydHVhbCB0YWJsZXMgbWF5IG5vdCBiZSBhbHRlcmVkAENhbm5vdCBhZGQgYSBjb2x1bW4gdG8gYSB2aWV3AHNxbGl0ZV9hbHRlcnRhYl8lcwB2aXJ0dWFsIHRhYmxlAGNhbm5vdCByZW5hbWUgY29sdW1ucyBvZiAlcyAiJXMiAG5vIHN1Y2ggY29sdW1uOiAiJXMiAFVQREFURSAiJXciLiVzIFNFVCBzcWwgPSBzcWxpdGVfcmVuYW1lX2NvbHVtbihzcWwsIHR5cGUsIG5hbWUsICVRLCAlUSwgJWQsICVRLCAlZCwgJWQpIFdIRVJFIG5hbWUgTk9UIExJS0UgJ3NxbGl0ZV8lJScgQU5EICh0eXBlICE9ICdpbmRleCcgT1IgdGJsX25hbWUgPSAlUSkgQU5EIHNxbCBOT1QgTElLRSAnY3JlYXRlIHZpcnR1YWwlJScAVVBEQVRFIHRlbXAuJXMgU0VUIHNxbCA9IHNxbGl0ZV9yZW5hbWVfY29sdW1uKHNxbCwgdHlwZSwgbmFtZSwgJVEsICVRLCAlZCwgJVEsICVkLCAxKSBXSEVSRSB0eXBlIElOICgndHJpZ2dlcicsICd2aWV3JykAUkFOR0UgbXVzdCB1c2Ugb25seSBVTkJPVU5ERUQgb3IgQ1VSUkVOVCBST1cAdW5zdXBwb3J0ZWQgZnJhbWUgZGVsaW1pdGVyIGZvciBST1dTAGR1cGxpY2F0ZSBXSVRIIHRhYmxlIG5hbWU6ICVzAENSRUFURSBWSVJUVUFMIFRBQkxFICVUAFVQREFURSAlUS4lcyBTRVQgdHlwZT0ndGFibGUnLCBuYW1lPSVRLCB0YmxfbmFtZT0lUSwgcm9vdHBhZ2U9MCwgc3FsPSVRIFdIRVJFIHJvd2lkPSMlZABuYW1lPSclcScgQU5EIHR5cGU9J3RhYmxlJwB0YWJsZSAlcyBtYXkgbm90IGJlIGFsdGVyZWQAc3FsaXRlXF8lAEJCQgBzdGF0X2dldAAlbGx1ACAlbGx1AHN0YXRfcHVzaABzdGF0X2luaXQAQ1JFQVRFIFRBQkxFICVRLiVzKCVzKQB0YmwsaWR4LHN0YXQAc3FsaXRlX3N0YXQzAHNxbGl0ZV9zdGF0NABpbmRleCAnJXEnACwgAFVTSU5HIFJPV0lEIFNFQVJDSCBPTiBUQUJMRSAlcyBGT1IgSU4tT1BFUkFUT1IAVVNJTkcgSU5ERVggJXMgRk9SIElOLU9QRVJBVE9SAENPUlJFTEFURUQgACVzTElTVCBTVUJRVUVSWQAlc1NDQUxBUiBTVUJRVUVSWQBzdWItc2VsZWN0IHJldHVybnMgJWQgY29sdW1ucyAtIGV4cGVjdGVkICVkAHNxbGl0ZV9kZXRhY2gAbm8gc3VjaCBkYXRhYmFzZTogJXMAY2Fubm90IGRldGFjaCBkYXRhYmFzZSAlcwBkYXRhYmFzZSAlcyBpcyBsb2NrZWQAc3FsaXRlX2F0dGFjaAB0b28gbWFueSBhdHRhY2hlZCBkYXRhYmFzZXMgLSBtYXggJWQAZGF0YWJhc2UgJXMgaXMgYWxyZWFkeSBpbiB1c2UAZGF0YWJhc2UgaXMgYWxyZWFkeSBhdHRhY2hlZAB1bmFibGUgdG8gb3BlbiBkYXRhYmFzZTogJXMAZmlsZToAbG9jYWxob3N0AGludmFsaWQgdXJpIGF1dGhvcml0eTogJS4qcwB2ZnMAY2FjaGUAbW9kZQBubyBzdWNoICVzIG1vZGU6ICVzACVzIG1vZGUgbm90IGFsbG93ZWQ6ICVzAG5vIHN1Y2ggdmZzOiAlcwBybwBydwByd2MAc2hhcmVkAHByaXZhdGUAREVMRVRFIEZST00gJVEuJXMgV0hFUkUgbmFtZT0lUSBBTkQgdHlwZT0ndHJpZ2dlcicAb2JqZWN0IG5hbWUgcmVzZXJ2ZWQgZm9yIGludGVybmFsIHVzZTogJXMAJXMgJVQgY2Fubm90IHJlZmVyZW5jZSBvYmplY3RzIGluIGRhdGFiYXNlICVzACVzIGNhbm5vdCB1c2UgdmFyaWFibGVzAC0lVABmYXN0AGV4Y2x1c2l2ZQBub3JtYWwAbm9uZQBmdWxsAGluY3JlbWVudGFsAHRlbXBvcmFyeSBzdG9yYWdlIGNhbm5vdCBiZSBjaGFuZ2VkIGZyb20gd2l0aGluIGEgdHJhbnNhY3Rpb24Abm90IGEgd3JpdGFibGUgZGlyZWN0b3J5AFNhZmV0eSBsZXZlbCBtYXkgbm90IGJlIGNoYW5nZWQgaW5zaWRlIGEgdHJhbnNhY3Rpb24AaXNzaXNpAGlzc2lzaWkAaWlzWABpc2lYAGlzaXNpAGlzcwBpcwBOTyBBQ1RJT04AUkVTVFJJQ1QAQ0FTQ0FERQBTRVQgREVGQVVMVABTRVQgTlVMTABpaXNzc3NzcwBOT05FAHNpWAAlXwAAKioqIGluIGRhdGFiYXNlICVzICoqKgoATlVMTCB2YWx1ZSBpbiAlcy4lcwBDSEVDSyBjb25zdHJhaW50IGZhaWxlZCBpbiAlcwByb3cgACBtaXNzaW5nIGZyb20gaW5kZXggAG5vbi11bmlxdWUgZW50cnkgaW4gaW5kZXggAHdyb25nICMgb2YgZW50cmllcyBpbiBpbmRleCAAb2sAVVRGOAB1bnN1cHBvcnRlZCBlbmNvZGluZzogJXMAAgABAGsAAAACAAAAaQABAFEBAQByZXN0YXJ0AEFOQUxZWkUgIiV3Ii4iJXciAFVURi04AFVURi0xNmxlAFVURi0xNmJlAFVURjE2bGUAVVRGMTZiZQBVVEYtMTYAVVRGMTYAdW5rbm93biBkYXRhYmFzZTogJXMAdW5hYmxlIHRvIGRlbGV0ZS9tb2RpZnkgdXNlci1mdW5jdGlvbiBkdWUgdG8gYWN0aXZlIHN0YXRlbWVudHMAZm9yZWlnbiBrZXkgbWlzbWF0Y2ggLSAiJXciIHJlZmVyZW5jaW5nICIldyIAYwB1AGNvcnJ1cHQgc2NoZW1hAFVQREFURSAlUS4lcyBTRVQgcm9vdHBhZ2U9JWQgV0hFUkUgIyVkIEFORCByb290cGFnZT0jJWQAJXMucm93aWQAdGFibGUgJVMgaGFzIG5vIGNvbHVtbiBuYW1lZCAlcwB0YWJsZSAlUyBoYXMgJWQgY29sdW1ucyBidXQgJWQgdmFsdWVzIHdlcmUgc3VwcGxpZWQAJWQgdmFsdWVzIGZvciAlZCBjb2x1bW5zAE9OIENPTkZMSUNUIGNsYXVzZSBkb2VzIG5vdCBtYXRjaCBhbnkgUFJJTUFSWSBLRVkgb3IgVU5JUVVFIGNvbnN0cmFpbnQAcm93cyBpbnNlcnRlZABhdCBtb3N0ICVkIHRhYmxlcyBpbiBhIGpvaW4AU0NBTiBDT05TVEFOVCBST1cAdG9vIG1hbnkgYXJndW1lbnRzIG9uICVzKCkgLSBtYXggJWQAYWJicmV2aWF0ZWQgcXVlcnkgYWxnb3JpdGhtIHNlYXJjaABhdXRvbWF0aWMgaW5kZXggb24gJXMoJXMpAGF1dG8taW5kZXgAGRcWGAAAJCAZFhgXKCYlJ01VTFRJLUlOREVYIE9SAAUEJCBTRUFSQ0gAU0NBTgAgU1VCUVVFUlkgJXUAIFRBQkxFICVzACBBUyAlcwBJTkRFWCAlcwBDT1ZFUklORyBJTkRFWCAlcwBBVVRPTUFUSUMgQ09WRVJJTkcgSU5ERVgAQVVUT01BVElDIFBBUlRJQUwgQ09WRVJJTkcgSU5ERVgAUFJJTUFSWSBLRVkAIFVTSU5HIAAgKAA8ZXhwcj4AIEFORCAAQU5ZKCVzKQAlcz0/AD4APAA+PyBBTkQgcm93aWQ8AD0AIFVTSU5HIElOVEVHRVIgUFJJTUFSWSBLRVkgKHJvd2lkJXM/KQAgVklSVFVBTCBUQUJMRSBJTkRFWCAlZDolcwAoAG5vIHF1ZXJ5IHNvbHV0aW9uACVzLnhCZXN0SW5kZXggbWFsZnVuY3Rpb24AT04gY2xhdXNlIHJlZmVyZW5jZXMgdGFibGVzIHRvIGl0cyByaWdodABOT0NBU0UAcmVnZXhwAC0tIFRSSUdHRVIgJXMAdGFibGUgJXMgbWF5IG5vdCBiZSBtb2RpZmllZABjYW5ub3QgbW9kaWZ5ICVzIGJlY2F1c2UgaXQgaXMgYSB2aWV3ACVkIGNvbHVtbnMgYXNzaWduZWQgJWQgdmFsdWVzAG5vIHN1Y2ggY29sdW1uOiAlcwByb3dzIHVwZGF0ZWQAcm93cyBkZWxldGVkAHVua25vd24gb3IgdW5zdXBwb3J0ZWQgam9pbiB0eXBlOiAlVCAlVCVzJVQAUklHSFQgYW5kIEZVTEwgT1VURVIgSk9JTnMgYXJlIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkAGV4cGVjdGVkICVkIGNvbHVtbnMgZm9yICclcycgYnV0IGdvdCAlZABMSU1JVABPUkRFUiBCWQAlcyBjbGF1c2Ugc2hvdWxkIGNvbWUgYWZ0ZXIgJXMgbm90IGJlZm9yZQBTAFNDQU4gJWQgQ09OU1RBTlQgUk9XJXMAQ09NUE9VTkQgUVVFUlkATEVGVC1NT1NUIFNVQlFVRVJZACVzIFVTSU5HIFRFTVAgQi1UUkVFAENPLVJPVVRJTkUgJXUATUFURVJJQUxJWkUgJXUARElTVElOQ1QAR1JPVVAgQlkAVVNFIFRFTVAgQi1UUkVFIEZPUiAlcwAgVVNJTkcgQ09WRVJJTkcgSU5ERVggAFNDQU4gVEFCTEUgJXMlcyVzAFJJR0hUIFBBUlQgT0YgT1JERVIgQlkARElTVElOQ1QgYWdncmVnYXRlcyBtdXN0IGhhdmUgZXhhY3RseSBvbmUgYXJndW1lbnQAZnJhbWUgc3RhcnRpbmcgb2Zmc2V0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlcgBmcmFtZSBlbmRpbmcgb2Zmc2V0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlcgBzZWNvbmQgYXJndW1lbnQgdG8gbnRoX3ZhbHVlIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyAE1FUkdFICglcykATEVGVABSSUdIVABjYW5ub3QgdXNlIHdpbmRvdyBmdW5jdGlvbnMgaW4gcmVjdXJzaXZlIHF1ZXJpZXMAU0VUVVAAcmVjdXJzaXZlIGFnZ3JlZ2F0ZSBxdWVyaWVzIG5vdCBzdXBwb3J0ZWQAUkVDVVJTSVZFIFNURVAAc3FsaXRlX3N0YXQAdGFibGUgJXMgbWF5IG5vdCBiZSBkcm9wcGVkAHVzZSBEUk9QIFRBQkxFIHRvIGRlbGV0ZSB0YWJsZSAlcwB1c2UgRFJPUCBWSUVXIHRvIGRlbGV0ZSB2aWV3ICVzAERFTEVURSBGUk9NICVRLnNxbGl0ZV9zZXF1ZW5jZSBXSEVSRSBuYW1lPSVRAERFTEVURSBGUk9NICVRLiVzIFdIRVJFIHRibF9uYW1lPSVRIGFuZCB0eXBlIT0ndHJpZ2dlcicAZm9yZWlnbiBrZXkgb24gJXMgc2hvdWxkIHJlZmVyZW5jZSBvbmx5IG9uZSBjb2x1bW4gb2YgdGFibGUgJVQAbnVtYmVyIG9mIGNvbHVtbnMgaW4gZm9yZWlnbiBrZXkgZG9lcyBub3QgbWF0Y2ggdGhlIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSByZWZlcmVuY2VkIHRhYmxlAHVua25vd24gY29sdW1uICIlcyIgaW4gZm9yZWlnbiBrZXkgZGVmaW5pdGlvbgBpbmRleABjYW5ub3QgY3JlYXRlIGEgVEVNUCBpbmRleCBvbiBub24tVEVNUCB0YWJsZSAiJXMiAGFsdGVydGFiXwB0YWJsZSAlcyBtYXkgbm90IGJlIGluZGV4ZWQAdmlld3MgbWF5IG5vdCBiZSBpbmRleGVkAHZpcnR1YWwgdGFibGVzIG1heSBub3QgYmUgaW5kZXhlZAB0aGVyZSBpcyBhbHJlYWR5IGEgdGFibGUgbmFtZWQgJXMAaW5kZXggJXMgYWxyZWFkeSBleGlzdHMAc3FsaXRlX2F1dG9pbmRleF8lc18lZABleHByZXNzaW9ucyBwcm9oaWJpdGVkIGluIFBSSU1BUlkgS0VZIGFuZCBVTklRVUUgY29uc3RyYWludHMAY29uZmxpY3RpbmcgT04gQ09ORkxJQ1QgY2xhdXNlcyBzcGVjaWZpZWQAIFVOSVFVRQBDUkVBVEUlcyBJTkRFWCAlLipzAElOU0VSVCBJTlRPICVRLiVzIFZBTFVFUygnaW5kZXgnLCVRLCVRLCMlZCwlUSk7AG5hbWU9JyVxJyBBTkQgdHlwZT0naW5kZXgnAHRhYmxlICIlcyIgaGFzIG1vcmUgdGhhbiBvbmUgcHJpbWFyeSBrZXkAQVVUT0lOQ1JFTUVOVCBpcyBvbmx5IGFsbG93ZWQgb24gYW4gSU5URUdFUiBQUklNQVJZIEtFWQBkZWZhdWx0IHZhbHVlIG9mIGNvbHVtbiBbJXNdIGlzIG5vdCBjb25zdGFudABBVVRPSU5DUkVNRU5UIG5vdCBhbGxvd2VkIG9uIFdJVEhPVVQgUk9XSUQgdGFibGVzAFBSSU1BUlkgS0VZIG1pc3Npbmcgb24gdGFibGUgJXMAVEFCTEUAVklFVwAKICAALAogIAAKKQBDUkVBVEUgVEFCTEUgAENSRUFURSAlcyAlLipzAFVQREFURSAlUS4lcyBTRVQgdHlwZT0nJXMnLCBuYW1lPSVRLCB0YmxfbmFtZT0lUSwgcm9vdHBhZ2U9IyVkLCBzcWw9JVEgV0hFUkUgcm93aWQ9IyVkAENSRUFURSBUQUJMRSAlUS5zcWxpdGVfc2VxdWVuY2UobmFtZSxzZXEpAHRibF9uYW1lPSclcScgQU5EIHR5cGUhPSd0cmlnZ2VyJwAgVEVYVAAgTlVNACBJTlQAIFJFQUwAdGVtcG9yYXJ5IHRhYmxlIG5hbWUgbXVzdCBiZSB1bnF1YWxpZmllZAACBAgGdGFibGUgJVQgYWxyZWFkeSBleGlzdHMAdGhlcmUgaXMgYWxyZWFkeSBhbiBpbmRleCBuYW1lZCAlcwAGAAAAAABCAEMARABFAG1pc3VzZSBvZiBhZ2dyZWdhdGU6ICVzKCkAdW5rbm93biBmdW5jdGlvbjogJXMoKQBSQUlTRSgpIG1heSBvbmx5IGJlIHVzZWQgd2l0aGluIGEgdHJpZ2dlci1wcm9ncmFtADB4AGhleCBsaXRlcmFsIHRvbyBiaWc6ICVzJXMAIiV3IgBmYWlsZWQgbWVtb3J5IHJlc2l6ZSAldSB0byAldSBieXRlcwBmYWlsZWQgdG8gYWxsb2NhdGUgJXUgYnl0ZXMgb2YgbWVtb3J5AGJpbmQgb24gYSBidXN5IHByZXBhcmVkIHN0YXRlbWVudDogWyVzXQBjYW5ub3Qgb3BlbiB2aXJ0dWFsIHRhYmxlOiAlcwBjYW5ub3Qgb3BlbiB0YWJsZSB3aXRob3V0IHJvd2lkOiAlcwBjYW5ub3Qgb3BlbiB2aWV3OiAlcwBmb3JlaWduIGtleQBpbmRleGVkAGNhbm5vdCBvcGVuICVzIGNvbHVtbiBmb3Igd3JpdGluZwBjYW5ub3Qgb3BlbiB2YWx1ZSBvZiB0eXBlICVzAG5vIHN1Y2ggcm93aWQ6ICVsbGQAAQQDAgV0ZW1wAHVuYWJsZSB0byBjbG9zZSBkdWUgdG8gdW5maW5hbGl6ZWQgc3RhdGVtZW50cyBvciB1bmZpbmlzaGVkIGJhY2t1cHMAdW5hYmxlIHRvIHVzZSBmdW5jdGlvbiAlcyBpbiB0aGUgcmVxdWVzdGVkIGNvbnRleHQAUlRSSU0ATUFUQ0gAZnRzNQBmdHM1X2RlY29kZQBmdHM1X2RlY29kZV9ub25lAGZ0czVfcm93aWQAZnRzNXZvY2FiAGZ0czVfc291cmNlX2lkAGF1dG9tYXRpYyBleHRlbnNpb24gbG9hZGluZyBmYWlsZWQ6ICVzAGZ0czRhdXgAc2ltcGxlAHBvcnRlcgB1bmljb2RlNjEAZnRzM190b2tlbml6ZXIAc25pcHBldABvZmZzZXRzAG1hdGNoaW5mbwBmdHMzAGZ0czQAZnRzM3Rva2VuaXplAHJ0cmVlbm9kZQBydHJlZWRlcHRoAHJ0cmVlY2hlY2sAcnRyZWUAcnRyZWVfaTMyAGpzb25fZWFjaABqc29uX3RyZWUAWyVkXQAuJS4qcwAkAGFycmF5AG9iamVjdAAwMTIzNDU2Nzg5YWJjZGVmAEpTT04gY2Fubm90IGhvbGQgQkxPQiB2YWx1ZXMAbWFsZm9ybWVkIEpTT04ASlNPTiBwYXRoIGVycm9yIG5lYXIgJyVxJwBbMF0AQ1JFQVRFIFRBQkxFIHgoa2V5LHZhbHVlLHR5cGUsYXRvbSxpZCxwYXJlbnQsZnVsbGtleSxwYXRoLGpzb24gSElEREVOLHJvb3QgSElEREVOKQBqc29uX2dyb3VwX2FycmF5AGpzb25fZ3JvdXBfb2JqZWN0AHt9AFtdAGpzb24AanNvbl9hcnJheQBqc29uX2FycmF5X2xlbmd0aABqc29uX2V4dHJhY3QAanNvbl9pbnNlcnQAanNvbl9vYmplY3QAanNvbl9wYXRjaABqc29uX3F1b3RlAGpzb25fcmVtb3ZlAGpzb25fcmVwbGFjZQBqc29uX3NldABqc29uX3R5cGUAanNvbl92YWxpZABqc29uXyVzKCkgbmVlZHMgYW4gb2RkIG51bWJlciBvZiBhcmd1bWVudHMAanNvbl9vYmplY3QoKSByZXF1aXJlcyBhbiBldmVuIG51bWJlciBvZiBhcmd1bWVudHMAanNvbl9vYmplY3QoKSBsYWJlbHMgbXVzdCBiZSBURVhUAGluc2VydABzZXQAbm9kZQBBTFRFUiBUQUJMRSAlUS4nJXFfbm9kZScgICBSRU5BTUUgVE8gIiV3X25vZGUiO0FMVEVSIFRBQkxFICVRLiclcV9wYXJlbnQnIFJFTkFNRSBUTyAiJXdfcGFyZW50IjtBTFRFUiBUQUJMRSAlUS4nJXFfcm93aWQnICBSRU5BTUUgVE8gIiV3X3Jvd2lkIjsAJXNfbm9kZQBkYXRhAFNFTEVDVCAqIEZST00gJVEuJVEAVU5JUVVFIGNvbnN0cmFpbnQgZmFpbGVkOiAlcy4lcwBydHJlZSBjb25zdHJhaW50IGZhaWxlZDogJXMuKCVzPD0lcykAUnRyZWVNYXRjaEFyZwBEUk9QIFRBQkxFICclcScuJyVxX25vZGUnO0RST1AgVEFCTEUgJyVxJy4nJXFfcm93aWQnO0RST1AgVEFCTEUgJyVxJy4nJXFfcGFyZW50JzsAVG9vIG1hbnkgY29sdW1ucyBmb3IgYW4gcnRyZWUgdGFibGUAQ1JFQVRFIFRBQkxFIHgoJXMALCVzACk7AEF1eGlsaWFyeSBydHJlZSBjb2x1bW5zIG11c3QgYmUgbGFzdABQUkFHTUEgJVEucGFnZV9zaXplAFNFTEVDVCBsZW5ndGgoZGF0YSkgRlJPTSAnJXEnLiclcV9ub2RlJyBXSEVSRSBub2Rlbm8gPSAxAHVuZGVyc2l6ZSBSVHJlZSBibG9icyBpbiAiJXFfbm9kZSIAQ1JFQVRFIFRBQkxFICIldyIuIiV3X3Jvd2lkIihyb3dpZCBJTlRFR0VSIFBSSU1BUlkgS0VZLG5vZGVubwAsYSVkACk7Q1JFQVRFIFRBQkxFICIldyIuIiV3X25vZGUiKG5vZGVubyBJTlRFR0VSIFBSSU1BUlkgS0VZLGRhdGEpOwBDUkVBVEUgVEFCTEUgIiV3Ii4iJXdfcGFyZW50Iihub2Rlbm8gSU5URUdFUiBQUklNQVJZIEtFWSxwYXJlbnRub2RlKTsASU5TRVJUIElOVE8gIiV3Ii4iJXdfbm9kZSJWQUxVRVMoMSx6ZXJvYmxvYiglZCkpAFNFTEVDVCBzdGF0IEZST00gJVEuc3FsaXRlX3N0YXQxIFdIRVJFIHRibCA9ICclcV9yb3dpZCcASU5TRVJUIElOVE8iJXciLiIld19yb3dpZCIocm93aWQsbm9kZW5vKVZBTFVFUyg/MSw/MilPTiBDT05GTElDVChyb3dpZClETyBVUERBVEUgU0VUIG5vZGVubz1leGNsdWRlZC5ub2Rlbm8AU0VMRUNUICogRlJPTSAiJXciLiIld19yb3dpZCIgV0hFUkUgcm93aWQ9PzEAVVBEQVRFICIldyIuIiV3X3Jvd2lkIlNFVCAAYSVkPWNvYWxlc2NlKD8lZCxhJWQpAGElZD0/JWQAIFdIRVJFIHJvd2lkPT8xAFdyb25nIG51bWJlciBvZiBjb2x1bW5zIGZvciBhbiBydHJlZSB0YWJsZQBUb28gZmV3IGNvbHVtbnMgZm9yIGFuIHJ0cmVlIHRhYmxlAElOU0VSVCBPUiBSRVBMQUNFIElOVE8gJyVxJy4nJXFfbm9kZScgVkFMVUVTKD8xLCA/MikAREVMRVRFIEZST00gJyVxJy4nJXFfbm9kZScgV0hFUkUgbm9kZW5vID0gPzEAU0VMRUNUIG5vZGVubyBGUk9NICclcScuJyVxX3Jvd2lkJyBXSEVSRSByb3dpZCA9ID8xAElOU0VSVCBPUiBSRVBMQUNFIElOVE8gJyVxJy4nJXFfcm93aWQnIFZBTFVFUyg/MSwgPzIpAERFTEVURSBGUk9NICclcScuJyVxX3Jvd2lkJyBXSEVSRSByb3dpZCA9ID8xAFNFTEVDVCBwYXJlbnRub2RlIEZST00gJyVxJy4nJXFfcGFyZW50JyBXSEVSRSBub2Rlbm8gPSA/MQBJTlNFUlQgT1IgUkVQTEFDRSBJTlRPICclcScuJyVxX3BhcmVudCcgVkFMVUVTKD8xLCA/MikAREVMRVRFIEZST00gJyVxJy4nJXFfcGFyZW50JyBXSEVSRSBub2Rlbm8gPSA/MQBubyBzdWNoIHRhYmxlIGNvbHVtbjogJXMuJXMAd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBmdW5jdGlvbiBydHJlZWNoZWNrKCkAU0VMRUNUICogRlJPTSAlUS4nJXFfcm93aWQnAFNjaGVtYSBjb3JydXB0IG9yIG5vdCBhbiBydHJlZQBfcm93aWQAX3BhcmVudABFTkQAU0VMRUNUIGNvdW50KCopIEZST00gJVEuJyVxJXMnAFdyb25nIG51bWJlciBvZiBlbnRyaWVzIGluICUlJXMgdGFibGUgLSBleHBlY3RlZCAlbGxkLCBhY3R1YWwgJWxsZABTRUxFQ1QgZGF0YSBGUk9NICVRLiclcV9ub2RlJyBXSEVSRSBub2Rlbm89PwBOb2RlICVsbGQgbWlzc2luZyBmcm9tIGRhdGFiYXNlAE5vZGUgJWxsZCBpcyB0b28gc21hbGwgKCVkIGJ5dGVzKQBSdHJlZSBkZXB0aCBvdXQgb2YgcmFuZ2UgKCVkKQBOb2RlICVsbGQgaXMgdG9vIHNtYWxsIGZvciBjZWxsIGNvdW50IG9mICVkICglZCBieXRlcykARGltZW5zaW9uICVkIG9mIGNlbGwgJWQgb24gbm9kZSAlbGxkIGlzIGNvcnJ1cHQARGltZW5zaW9uICVkIG9mIGNlbGwgJWQgb24gbm9kZSAlbGxkIGlzIGNvcnJ1cHQgcmVsYXRpdmUgdG8gcGFyZW50ACVfcGFyZW50ACVfcm93aWQATWFwcGluZyAoJWxsZCAtPiAlbGxkKSBtaXNzaW5nIGZyb20gJXMgdGFibGUARm91bmQgKCVsbGQgLT4gJWxsZCkgaW4gJXMgdGFibGUsIGV4cGVjdGVkICglbGxkIC0+ICVsbGQpAFNFTEVDVCBwYXJlbnRub2RlIEZST00gJVEuJyVxX3BhcmVudCcgV0hFUkUgbm9kZW5vPT8xAFNFTEVDVCBub2Rlbm8gRlJPTSAlUS4nJXFfcm93aWQnIFdIRVJFIHJvd2lkPT8xACV6JXMlegBJbnZhbGlkIGFyZ3VtZW50IHRvIHJ0cmVlZGVwdGgoKQAgJWcAJXMgeyVzfQB7JXN9AENSRUFURSBUQUJMRSB4KGlucHV0LCB0b2tlbiwgc3RhcnQsIGVuZCwgcG9zaXRpb24pAHVua25vd24gdG9rZW5pemVyOiAlcwBjb250ZW50AGRvY3NpemUAc2VnZGlyAHNlZ21lbnRzACVzX3N0YXQAQUxURVIgVEFCTEUgJVEuJyVxX2NvbnRlbnQnICBSRU5BTUUgVE8gJyVxX2NvbnRlbnQnOwBBTFRFUiBUQUJMRSAlUS4nJXFfZG9jc2l6ZScgIFJFTkFNRSBUTyAnJXFfZG9jc2l6ZSc7AEFMVEVSIFRBQkxFICVRLiclcV9zdGF0JyAgUkVOQU1FIFRPICclcV9zdGF0JzsAQUxURVIgVEFCTEUgJVEuJyVxX3NlZ21lbnRzJyBSRU5BTUUgVE8gJyVxX3NlZ21lbnRzJzsAQUxURVIgVEFCTEUgJVEuJyVxX3NlZ2RpcicgICBSRU5BTUUgVE8gJyVxX3NlZ2Rpcic7AFNFTEVDVCB2YWx1ZSBGUk9NICVRLiclcV9zdGF0JyBXSEVSRSBpZD0/AFNFTEVDVCBtYXgobGV2ZWwpIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgQkVUV0VFTiA/IEFORCA/AFNFTEVDVCAoU0VMRUNUIG1heChpZHgpIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgPSA/KSArIDEAU0VMRUNUIGNvYWxlc2NlKChTRUxFQ1QgbWF4KGJsb2NraWQpIEZST00gJVEuJyVxX3NlZ21lbnRzJykgKyAxLCAxKQBERUxFVEUgRlJPTSAlUS4nJXFfc2VnbWVudHMnIFdIRVJFIGJsb2NraWQgQkVUV0VFTiA/IEFORCA/AERFTEVURSBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsIEJFVFdFRU4gPyBBTkQgPwBERUxFVEUgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8AU0VMRUNUIGxldmVsLCBpZHgsIGVuZF9ibG9jayBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsIEJFVFdFRU4gPyBBTkQgPyBPUkRFUiBCWSBsZXZlbCBERVNDLCBpZHggQVNDAFVQREFURSBPUiBGQUlMICVRLiclcV9zZWdkaXInIFNFVCBsZXZlbD0tMSxpZHg9PyBXSEVSRSBsZXZlbD0/IEFORCBpZHg9PwBVUERBVEUgT1IgRkFJTCAlUS4nJXFfc2VnZGlyJyBTRVQgbGV2ZWw9PyBXSEVSRSBsZXZlbD0tMQBSRVBMQUNFIElOVE8gJVEuJyVxX3NlZ2RpcicgVkFMVUVTKD8sPyw/LD8sPyw/KQAlbGxkICVsbGQAUkVQTEFDRSBJTlRPICVRLiclcV9zZWdtZW50cycoYmxvY2tpZCwgYmxvY2spIFZBTFVFUyg/LCA/KQAlc19zZWdtZW50cwBibG9jawBTRUxFQ1QgaWR4LCBzdGFydF9ibG9jaywgbGVhdmVzX2VuZF9ibG9jaywgZW5kX2Jsb2NrLCByb290IEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgQkVUV0VFTiA/IEFORCA/T1JERVIgQlkgbGV2ZWwgREVTQywgaWR4IEFTQwBTRUxFQ1QgaWR4LCBzdGFydF9ibG9jaywgbGVhdmVzX2VuZF9ibG9jaywgZW5kX2Jsb2NrLCByb290IEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgPSA/IE9SREVSIEJZIGlkeCBBU0MAZnRzM2N1cnNvcgBpbGxlZ2FsIGZpcnN0IGFyZ3VtZW50IHRvICVzAHBjeAB1bnJlY29nbml6ZWQgbWF0Y2hpbmZvIHJlcXVlc3Q6ICVjAFNFTEVDVCBzaXplIEZST00gJVEuJyVxX2RvY3NpemUnIFdIRVJFIGRvY2lkPT8AU0VMRUNUICVzIFdIRVJFIHJvd2lkID0gPwBTQVZFUE9JTlQgZnRzMwBSRUxFQVNFIGZ0czMAUk9MTEJBQ0sgVE8gZnRzMwBJbmRleCBvcHRpbWl6ZWQASW5kZXggYWxyZWFkeSBvcHRpbWFsAFNFTEVDVCA/IFVOSU9OIFNFTEVDVCBsZXZlbCAvICgxMDI0ICogPykgRlJPTSAlUS4nJXFfc2VnZGlyJwAlZCAlZCAlZCAlZCAAd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBmdW5jdGlvbiBzbmlwcGV0KCkAPGI+Li4uPC9iPgA8L2I+ADxiPgBTRUxFQ1QgbWF4KCBsZXZlbCAlJSAxMDI0ICkgRlJPTSAlUS4nJXFfc2VnZGlyJwBTRUxFQ1QgbGV2ZWwsIGNvdW50KCopIEFTIGNudCBGUk9NICVRLiclcV9zZWdkaXInICAgR1JPVVAgQlkgbGV2ZWwgSEFWSU5HIGNudD49PyAgT1JERVIgQlkgKGxldmVsICUlIDEwMjQpIEFTQyBMSU1JVCAxAFNFTEVDVCBpZHgsIHN0YXJ0X2Jsb2NrLCBsZWF2ZXNfZW5kX2Jsb2NrLCBlbmRfYmxvY2ssIHJvb3QgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8gQU5EIGlkeCA9ID8AU0VMRUNUIDEgRlJPTSAlUS4nJXFfc2VnbWVudHMnIFdIRVJFIGJsb2NraWQ9PyBBTkQgYmxvY2sgSVMgTlVMTABTRUxFQ1QgMiAqIHRvdGFsKDEgKyBsZWF2ZXNfZW5kX2Jsb2NrIC0gc3RhcnRfYmxvY2spICAgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8gQU5EIGlkeCA8ID8AREVMRVRFIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgPSA/IEFORCBpZHggPSA/AFVQREFURSAlUS4nJXFfc2VnZGlyJyBTRVQgc3RhcnRfYmxvY2sgPSA/LCByb290ID0gP1dIRVJFIGxldmVsID0gPyBBTkQgaWR4ID0gPwBTRUxFQ1QgaWR4IEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWw9PyBPUkRFUiBCWSAxIEFTQwBVUERBVEUgJVEuJyVxX3NlZ2RpcicgU0VUIGlkeCA9ID8gV0hFUkUgbGV2ZWw9PyBBTkQgaWR4PT8AUkVQTEFDRSBJTlRPICVRLiclcV9zdGF0JyBWQUxVRVMoPyw/KQByZWJ1aWxkAFNFTEVDVCAlcwBpbnRlZ3JpdHktY2hlY2sAbWVyZ2U9AENSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTICVRLiclcV9zdGF0JyhpZCBJTlRFR0VSIFBSSU1BUlkgS0VZLCB2YWx1ZSBCTE9CKTsAYXV0b21lcmdlPQBJTlNFUlQgSU5UTyAlUS4nJXFfY29udGVudCcgVkFMVUVTKCVzKQBERUxFVEUgRlJPTSAlUS4nJXFfY29udGVudCcgV0hFUkUgcm93aWQgPSA/AFNFTEVDVCBOT1QgRVhJU1RTKFNFTEVDVCBkb2NpZCBGUk9NICVRLiclcV9jb250ZW50JyBXSEVSRSByb3dpZCE9PykAREVMRVRFIEZST00gJVEuJyVxX2NvbnRlbnQnAERFTEVURSBGUk9NICVRLiclcV9zZWdtZW50cycAREVMRVRFIEZST00gJVEuJyVxX3NlZ2RpcicAREVMRVRFIEZST00gJVEuJyVxX2RvY3NpemUnAERFTEVURSBGUk9NICVRLiclcV9zdGF0JwBTRUxFQ1QgJXMgV0hFUkUgcm93aWQ9PwBTRUxFQ1QgY291bnQoKikgRlJPTSAlUS4nJXFfc2VnZGlyJyBXSEVSRSBsZXZlbCA9ID8AREVMRVRFIEZST00gJVEuJyVxX2RvY3NpemUnIFdIRVJFIGRvY2lkID0gPwBSRVBMQUNFIElOVE8gJVEuJyVxX2RvY3NpemUnIFZBTFVFUyg/LD8pAEZUUyBleHByZXNzaW9uIHRyZWUgaXMgdG9vIGxhcmdlIChtYXhpbXVtIGRlcHRoICVkKQBtYWxmb3JtZWQgTUFUQ0ggZXhwcmVzc2lvbjogWyVzXQBBU0MAREVTQwBTRUxFQ1QgJXMgV0hFUkUgcm93aWQgQkVUV0VFTiAlbGxkIEFORCAlbGxkIE9SREVSIEJZIHJvd2lkICVzAFNFTEVDVCAlcyBPUkRFUiBCWSByb3dpZCAlcwBPUgBBTkQATk9UAE5FQVIARFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX2NvbnRlbnQnAERST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9zZWdtZW50cycARFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX3NlZ2RpcicARFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX2RvY3NpemUnAERST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9zdGF0JwB0b2tlbml6ZQB1bnJlY29nbml6ZWQgbWF0Y2hpbmZvOiAlcwBhc2MAdW5yZWNvZ25pemVkIG9yZGVyOiAlcwB1bnJlY29nbml6ZWQgcGFyYW1ldGVyOiAlcwBlcnJvciBwYXJzaW5nIHByZWZpeCBwYXJhbWV0ZXI6ICVzAGNvbXByZXNzAHVuY29tcHJlc3MAbWlzc2luZyAlcyBwYXJhbWV0ZXIgaW4gZnRzNCBjb25zdHJ1Y3RvcgBkb2NpZAAsJXMoeC4nYyVkJXEnKQAsIHguJVEAbGFuZ2lkACwgeC4nJXEnAF9jb250ZW50ACBGUk9NICclcScuJyVxJXMnIEFTIHgALCVzKD8pACwgPwBkb2NpZCBJTlRFR0VSIFBSSU1BUlkgS0VZACV6LCAnYyVkJXEnACV6LCBsYW5naWQAQ1JFQVRFIFRBQkxFICVRLiclcV9jb250ZW50JyglcykAQ1JFQVRFIFRBQkxFICVRLiclcV9zZWdtZW50cycoYmxvY2tpZCBJTlRFR0VSIFBSSU1BUlkgS0VZLCBibG9jayBCTE9CKTsAQ1JFQVRFIFRBQkxFICVRLiclcV9zZWdkaXInKGxldmVsIElOVEVHRVIsaWR4IElOVEVHRVIsc3RhcnRfYmxvY2sgSU5URUdFUixsZWF2ZXNfZW5kX2Jsb2NrIElOVEVHRVIsZW5kX2Jsb2NrIElOVEVHRVIscm9vdCBCTE9CLFBSSU1BUlkgS0VZKGxldmVsLCBpZHgpKTsAQ1JFQVRFIFRBQkxFICVRLiclcV9kb2NzaXplJyhkb2NpZCBJTlRFR0VSIFBSSU1BUlkgS0VZLCBzaXplIEJMT0IpOwBfX2xhbmdpZAAlUSwgACV6JVEsIABDUkVBVEUgVEFCTEUgeCglcyAlUSBISURERU4sIGRvY2lkIEhJRERFTiwgJVEgSElEREVOKQBwcmVmaXgAb3JkZXIAbGFuZ3VhZ2VpZABub3RpbmRleGVkAHVua25vd24gdG9rZW5pemVyAGFyZ3VtZW50IHR5cGUgbWlzbWF0Y2gAZnRzM3Rva2VuaXplIGRpc2FibGVkAHJlbW92ZV9kaWFjcml0aWNzPTEAcmVtb3ZlX2RpYWNyaXRpY3M9MAB0b2tlbmNoYXJzPQBzZXBhcmF0b3JzPQBDUkVBVEUgVEFCTEUgeCh0ZXJtLCBjb2wsIGRvY3VtZW50cywgb2NjdXJyZW5jZXMsIGxhbmd1YWdlaWQgSElEREVOKQBpbnZhbGlkIGFyZ3VtZW50cyB0byBmdHM0YXV4IGNvbnN0cnVjdG9yAGZ0czU6IDIwMTgtMTItMDEgMTI6MzQ6NTUgYmY4YzFiMmI3YTU5NjBjMjgyZTU0M2I5YzI5MzY4NmRjY2ZmMjcyNTEyZDA4ODY1ZjQ2MDBmYjU4MjM4YjRmOQBmdHM1X2FwaV9wdHIAU0VMRUNUIHBnbm8gRlJPTSAnJXEnLiclcV9pZHgnIFdIRVJFIHNlZ2lkPT8gQU5EIHRlcm08PT8gT1JERVIgQlkgdGVybSBERVNDIExJTUlUIDEAUFJBR01BICVRLmRhdGFfdmVyc2lvbgBTRUxFQ1QgaywgdiBGUk9NICVRLiclcV9jb25maWcnAHZlcnNpb24AaW52YWxpZCBmdHM1IGZpbGUgZm9ybWF0IChmb3VuZCAlZCwgZXhwZWN0ZWQgJWQpIC0gcnVuICdyZWJ1aWxkJwBwZ3N6AGhhc2hzaXplAGF1dG9tZXJnZQB1c2VybWVyZ2UAY3Jpc2lzbWVyZ2UAU0VMRUNUIHQuJVEgRlJPTSAlUS4lUSBBUyB0IFdIRVJFIHQuJVEgTUFUQ0ggJyppZCcAbm8gc3VjaCBmdHM1IHRhYmxlOiAlcy4lcwB3cm9uZyBudW1iZXIgb2YgdnRhYmxlIGFyZ3VtZW50cwBjb2wAcm93AGluc3RhbmNlAGZ0czV2b2NhYjogdW5rbm93biB0YWJsZSB0eXBlOiAlUQBDUkVBVEUgVEFCbEUgdm9jYWIodGVybSwgY29sLCBkb2MsIGNudCkAQ1JFQVRFIFRBQmxFIHZvY2FiKHRlcm0sIGRvYywgY250KQBDUkVBVEUgVEFCbEUgdm9jYWIodGVybSwgZG9jLCBjb2wsIG9mZnNldCkAYXNjaWkAZWVkAGVkAGluZwBhdABhdGUAYmwAYmxlAGl6AGl6ZQBhdGlvbmFsAHRpb25hbABlbmNpAGFuY2kAaXplcgBsb2dpAGJsaQBhbGxpAGVudGxpAGVudABlbGkAb3VzbGkAb3VzAGl6YXRpb24AYXRpb24AYXRvcgBhbGlzbQBpdmVuZXNzAGl2ZQBmdWxuZXNzAGZ1bABvdXNuZXNzAGFsaXRpAGl2aXRpAGJpbGl0aQBpY2FsAG5lc3MAaWNhdGUAaWNpdGkAYXRpdmUAYWxpemUAYWwAYW5jZQBlbmNlAGVyAGljAGFibGUAaWJsZQBhbnQAZW1lbnQAbWVudABpb24Ab3UAaXNtAGl0aQB0b2tlbmNoYXJzAHNlcGFyYXRvcnMATCogTiogQ28AY2F0ZWdvcmllcwByZW1vdmVfZGlhY3JpdGljcwBoaWdobGlnaHQAYm0yNQB3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIHRvIGZ1bmN0aW9uIGhpZ2hsaWdodCgpACV6JS4qcwBmdHM1X2V4cHIAZnRzNV9leHByX3RjbABmdHM1X2lzYWxudW0AZnRzNV9mb2xkAHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gZnVuY3Rpb24gZnRzNV9mb2xkAHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gZnVuY3Rpb24gZnRzNV9pc2FsbnVtAEwqAE4qAENvAHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gZnVuY3Rpb24gJXMAbmVhcnNldAAiIgAlcyA6IABORUFSKAAgKyAALCAlZCkAIE9SIAAgTk9UIAAlcyVzJXolcwAlcyAALWNvbCAlZCAALWNvbCB7JWQAICVkAH0gAC1uZWFyICVkIAAtLQAgewB9ACBbJXpdAHVudGVybWluYXRlZCBzdHJpbmcAZnRzNTogc3ludGF4IGVycm9yIG5lYXIgIiUuMXMiAGZ0czU6IHBhcnNlciBzdGFjayBvdmVyZmxvdwBmdHM1OiBjb2x1bW4gcXVlcmllcyBhcmUgbm90IHN1cHBvcnRlZCAoZGV0YWlsPW5vbmUpAGZ0czU6IHN5bnRheCBlcnJvciBuZWFyICIlLipzIgBleHBlY3RlZCBpbnRlZ2VyLCBnb3QgIiUuKnMiAHBocmFzZQBmdHM1OiAlcyBxdWVyaWVzIGFyZSBub3Qgc3VwcG9ydGVkIChkZXRhaWwhPWZ1bGwpAHJlc2VydmVkIGZ0czUgdGFibGUgbmFtZTogJXMAcGFyc2UgZXJyb3IgaW4gIiVzIgBtYWxmb3JtZWQgcHJlZml4PS4uLiBkaXJlY3RpdmUAdG9vIG1hbnkgcHJlZml4IGluZGV4ZXMgKG1heCAlZCkAcHJlZml4IGxlbmd0aCBvdXQgb2YgcmFuZ2UgKG1heCA5OTkpAG11bHRpcGxlIHRva2VuaXplPS4uLiBkaXJlY3RpdmVzAHBhcnNlIGVycm9yIGluIHRva2VuaXplIGRpcmVjdGl2ZQBubyBzdWNoIHRva2VuaXplcjogJXMAZXJyb3IgaW4gdG9rZW5pemVyIGNvbnN0cnVjdG9yAG11bHRpcGxlIGNvbnRlbnQ9Li4uIGRpcmVjdGl2ZXMAJVEuJVEAY29udGVudF9yb3dpZABtdWx0aXBsZSBjb250ZW50X3Jvd2lkPS4uLiBkaXJlY3RpdmVzAGNvbHVtbnNpemUAbWFsZm9ybWVkIGNvbHVtbnNpemU9Li4uIGRpcmVjdGl2ZQBjb2x1bW5zAG1hbGZvcm1lZCBkZXRhaWw9Li4uIGRpcmVjdGl2ZQB1bnJlY29nbml6ZWQgb3B0aW9uOiAiJS4qcyIAcmVzZXJ2ZWQgZnRzNSBjb2x1bW4gbmFtZTogJXMAdW5pbmRleGVkAHVucmVjb2duaXplZCBjb2x1bW4gb3B0aW9uOiAlcwAlUS4nJXFfJXMnAFQuJVEALCBULiVRACwgVC5jJWQAc2hvdWxkIGJlOiBmdHM1X3Jvd2lkKHN1YmplY3QsIC4uLi4pAHNlZ21lbnQAc2hvdWxkIGJlOiBmdHM1X3Jvd2lkKCdzZWdtZW50Jywgc2VnaWQsIHBnbm8pKQBmaXJzdCBhcmcgdG8gZnRzNV9yb3dpZCgpIG11c3QgYmUgJ3NlZ21lbnQnAHthdmVyYWdlc30gAHtzdHJ1Y3R1cmV9AGRsaWR4IAB7JXNzZWdpZD0lZCBoPSVkIHBnbm89JWR9ACAlZCglbGxkKQAlcyVkACB7bHZsPSVkIG5NZXJnZT0lZCBuU2VnPSVkACB7aWQ9JWQgbGVhdmVzPSVkLi4lZH0AKwAgJWxsZCVzACB0ZXJtPSUuKnMAY29ycnVwdAAgaWQ9JWxsZAAgblBvcz0lZCVzAGNvbmZpZwBSRVBMQUNFIElOVE8gJyVxJy4nJXFfZGF0YScoaWQsIGJsb2NrKSBWQUxVRVMoPyw/KQBERUxFVEUgRlJPTSAnJXEnLiclcV9pZHgnIFdIRVJFIHNlZ2lkPT8AREVMRVRFIEZST00gJyVxJy4nJXFfZGF0YScgV0hFUkUgaWQ+PT8gQU5EIGlkPD0/AElOU0VSVCBJTlRPICclcScuJyVxX2lkeCcoc2VnaWQsdGVybSxwZ25vKSBWQUxVRVMoPyw/LD8pAEFMVEVSIFRBQkxFICVRLiclcV8lcycgUkVOQU1FIFRPICclcV8lcyc7AG5vIHN1Y2ggY3Vyc29yOiAlbGxkAFNFTEVDVCAlcyBGUk9NICVzIEFTIFQAU0VMRUNUICVzIEZST00gJXMgVCBXSEVSRSBULiVRPT8AU0VMRUNUICVzIEZST00gJXMgVCBXSEVSRSBULiVRID49ID8gQU5EIFQuJVEgPD0gPyBPUkRFUiBCWSBULiVRIEFTQwBTRUxFQ1QgJXMgRlJPTSAlcyBUIFdIRVJFIFQuJVEgPD0gPyBBTkQgVC4lUSA+PSA/IE9SREVSIEJZIFQuJVEgREVTQwBSRVBMQUNFIElOVE8gJVEuJyVxX2NvbnRlbnQnIFZBTFVFUyglcykAREVMRVRFIEZST00gJVEuJyVxX2NvbnRlbnQnIFdIRVJFIGlkPT8AREVMRVRFIEZST00gJVEuJyVxX2RvY3NpemUnIFdIRVJFIGlkPT8AU0VMRUNUIHN6IEZST00gJVEuJyVxX2RvY3NpemUnIFdIRVJFIGlkPT8AUkVQTEFDRSBJTlRPICVRLiclcV9jb25maWcnIFZBTFVFUyg/LD8pAGRlbGV0ZS1hbGwAJ2RlbGV0ZS1hbGwnIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBhIGNvbnRlbnRsZXNzIG9yIGV4dGVybmFsIGNvbnRlbnQgZnRzNSB0YWJsZQAncmVidWlsZCcgbWF5IG5vdCBiZSB1c2VkIHdpdGggYSBjb250ZW50bGVzcyBmdHM1IHRhYmxlAG1lcmdlAFNFTEVDVCBzZWdpZCwgdGVybSwgKHBnbm8+PjEpLCAocGdubyYxKSBGUk9NICVRLiclcV9pZHgnIFdIRVJFIHNlZ2lkPSVkAFVQREFURQBERUxFVEUgZnJvbQBjYW5ub3QgJXMgY29udGVudGxlc3MgZnRzNSB0YWJsZTogJXMAU0VMRUNUIGNvdW50KCopIEZST00gJVEuJyVxXyVzJwBERUxFVEUgRlJPTSAlUS4nJXFfZGF0YSc7REVMRVRFIEZST00gJVEuJyVxX2lkeCc7AERFTEVURSBGUk9NICVRLiclcV9kb2NzaXplJzsAbm8gc3VjaCBmdW5jdGlvbjogJXMAcGFyc2UgZXJyb3IgaW4gcmFuayBmdW5jdGlvbjogJXMAcmVhZHMAdW5rbm93biBzcGVjaWFsIHF1ZXJ5OiAlLipzACVzOiB0YWJsZSBkb2VzIG5vdCBzdXBwb3J0IHNjYW5uaW5nAFNFTEVDVCByb3dpZCwgcmFuayBGUk9NICVRLiVRIE9SREVSIEJZICVzKCVzJXMlcykgJXMARFJPUCBUQUJMRSBJRiBFWElTVFMgJVEuJyVxX2RhdGEnO0RST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9pZHgnO0RST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9jb25maWcnOwBEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfZG9jc2l6ZSc7AERST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9jb250ZW50JzsAJXNfZGF0YQBDUkVBVEUgVEFCTEUgJVEuJyVxXyVxJyglcyklcwBpZCBJTlRFR0VSIFBSSU1BUlkgS0VZLCBibG9jayBCTE9CAGZ0czU6IGVycm9yIGNyZWF0aW5nIHNoYWRvdyB0YWJsZSAlcV8lczogJXMAc2VnaWQsIHRlcm0sIHBnbm8sIFBSSU1BUlkgS0VZKHNlZ2lkLCB0ZXJtKQAgV0lUSE9VVCBST1dJRABpZCBJTlRFR0VSIFBSSU1BUlkgS0VZACwgYyVkAGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIHN6IEJMT0IAayBQUklNQVJZIEtFWSwgdgBDUkVBVEUgVEFCTEUgeCgAJXolcyVRACV6LCAlUSBISURERU4sICVzIEhJRERFTikAdW5hYmxlIHRvIGRlbGV0ZS9tb2RpZnkgY29sbGF0aW9uIHNlcXVlbmNlIGR1ZSB0byBhY3RpdmUgc3RhdGVtZW50cwAvcHJvYy9zZWxmL2ZkLw==";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"])}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={"1024":flags["O_APPEND"],"64":flags["O_CREAT"],"128":flags["O_EXCL"],"0":flags["O_RDONLY"],"2":flags["O_RDWR"],"4096":flags["O_SYNC"],"512":flags["O_TRUNC"],"1":flags["O_WRONLY"]}}),bufferFrom:(function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsForNode:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),write:(function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall118(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall15(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();FS.chmod(path,mode);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall183(which,varargs){SYSCALLS.varargs=varargs;try{var buf=SYSCALLS.get(),size=SYSCALLS.get();if(size===0)return-ERRNO_CODES.EINVAL;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall85(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get(),bufsize=SYSCALLS.get();return SYSCALLS.doReadlink(path,buf,bufsize)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall94(which,varargs){SYSCALLS.varargs=varargs;try{var fd=SYSCALLS.get(),mode=SYSCALLS.get();FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _llvm_log10_f32(x){return Math.log(x)/Math.LN10}function _llvm_log10_f64(){return _llvm_log10_f32.apply(null,arguments)}function _llvm_trap(){abort("trap!")}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function _usleep(useconds){var msec=useconds/1e3;if((ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]){var start=self["performance"]["now"]();while(self["performance"]["now"]()-start>2];var nanoseconds=HEAP32[rqtp+4>>2];if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:var maxHeapSize=2*1024*1024*1024-16777216;return maxHeapSize/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _utimes(path,times){var time;if(times){var offset=8+0;time=HEAP32[times+offset>>2]*1e3;offset=8+4;time+=HEAP32[times+offset>>2]/1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} -// EMSCRIPTEN_START_FUNCS -function Ji(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,nb=0,rb=0,sb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Bc=0,Ec=0,Jc=0,Mc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,af=0,ef=0,hf=0,lf=0,mf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0;Zf=t;t=t+864|0;Ef=Zf+856|0;Pf=Zf+848|0;Ge=Zf+840|0;Tf=Zf+824|0;Vf=Zf+808|0;Sf=Zf+800|0;Fe=Zf+792|0;Ee=Zf+784|0;De=Zf+776|0;Ce=Zf+768|0;Be=Zf+760|0;Ae=Zf+744|0;ze=Zf+736|0;ye=Zf+728|0;xe=Zf+720|0;af=Zf+712|0;_e=Zf+704|0;of=Zf+696|0;Ze=Zf+688|0;Ye=Zf+680|0;Xe=Zf+672|0;We=Zf+664|0;Ve=Zf+640|0;Ue=Zf+632|0;Te=Zf+624|0;Se=Zf+616|0;Re=Zf+600|0;Qe=Zf+584|0;Pe=Zf+568|0;Oe=Zf+552|0;mf=Zf+544|0;lf=Zf+536|0;hf=Zf+528|0;Ne=Zf+520|0;Me=Zf+512|0;Le=Zf+504|0;Ke=Zf+496|0;Je=Zf+480|0;Ie=Zf+464|0;He=Zf+448|0;ef=Zf+440|0;Df=Zf+424|0;xf=Zf+416|0;Cf=Zf+408|0;wf=Zf+400|0;Jf=Zf+352|0;Td=Zf+112|0;be=Zf+280|0;ee=Zf;ke=Zf+272|0;pe=Zf+860|0;qe=a+88|0;o=f[qe>>2]|0;Yf=f[a>>2]|0;Fd=b[Yf+78>>0]|0;Kd=a+92|0;q=f[Kd>>2]|0;e=f[a+152>>2]|0;if(e|0?(g=f[Yf+16>>2]|0,l=f[Yf+20>>2]|0,(l|0)>0):0){c=0;do{if(((c|0)!=1?1<>2]|0,m|0):0)f[(f[m+4>>2]|0)+4>>2]=f[m>>2];c=c+1|0}while((c|0)!=(l|0))}Uf=a+40|0;a:do if((f[Uf>>2]|0)==7){m=o;e=0;g=o;c=0;l=Yf+81|0;ta=3954}else{od=a+56|0;f[od>>2]=0;f[od+4>>2]=0;od=a+104|0;f[od>>2]=0;f[Yf+404>>2]=0;pc=Yf+264|0;b:do if(!(f[pc>>2]|0)){qc=Yf+320|0;if(!(f[qc>>2]|0)){g=-1;ya=Yf+328|0}else{ya=Yf+328|0;g=f[ya>>2]|0;g=g-(((f[a+172>>2]|0)>>>0)%(g>>>0)|0)|0}Nf=a+36|0;rc=a+116|0;If=Yf+88|0;sc=a+192|0;tc=a+112|0;uc=a+143|0;Lf=Yf+16|0;Mf=a+145|0;vc=a+44|0;wc=Yf+100|0;xc=Yf+104|0;yc=a+164|0;zc=Td+8|0;Bc=Td+10|0;Ec=Td+4|0;Jc=Td+8|0;Mc=Td+10|0;Oc=Td+4|0;Pc=Yf+90|0;Qc=be+4|0;Rc=be+12|0;Sc=be+16|0;Tc=be+20|0;Uc=be+24|0;Vc=be+28|0;Wc=be+8|0;Xc=be+64|0;Yc=be+40|0;Zc=be+44|0;_c=be+48|0;$c=be+52|0;ad=be+56|0;bd=be+60|0;cd=be+61|0;dd=Yf+32|0;rd=Yf+272|0;ed=Jf+8|0;fd=Jf+4|0;Of=a+108|0;sd=Yf+79|0;gd=Yf+332|0;hd=Jf+32|0;za=Jf+8|0;md=Yf+184|0;Aa=a+96|0;l=Yf+81|0;id=a+32|0;nd=Yf+176|0;Dd=Yf+444|0;Ba=a+24|0;Ca=ee+8|0;Da=ee+10|0;Ea=ee+4|0;Fa=ee+14|0;Ga=Td+8|0;Ha=Td+4|0;Ia=Jf+8|0;Ja=Yf+232|0;Ka=Yf+108|0;La=Jf+8|0;Ma=Jf+32|0;Na=Jf+24|0;Oa=Yf+172|0;yf=Yf+24|0;Pa=Jf+8|0;Qa=Jf+4|0;Ra=Jf+16|0;pf=Yf+480|0;Sa=a+200|0;Ta=Yf+148|0;Ua=Yf+472|0;jd=a+64|0;Va=Yf+464|0;pd=Yf+276|0;Wa=Jf+12|0;Xa=Td+8|0;Ya=Td+32|0;Za=Jf+8|0;_a=Jf+4|0;$a=Yf+168|0;ab=Yf+4|0;bb=Yf+356|0;cb=Fd<<24>>24==1;db=a+180|0;rf=Yf+304|0;sf=Yf+308|0;Ff=Yf+300|0;eb=Td+8|0;fb=Td+32|0;gb=Td+24|0;hb=Jf+16|0;nb=Jf+12|0;rb=Yf+165|0;sb=Jf+12|0;qd=Yf+288|0;ub=Jf+20|0;vb=Jf+8|0;wb=Jf+4|0;xb=Jf+20|0;Kf=Yf+20|0;kd=Yf+324|0;yb=a+136|0;td=a+184|0;Rd=Yf+456|0;Sd=Yf+452|0;zb=Td+8|0;Ab=Td+20|0;Bb=Td+24|0;Cb=Td+16|0;Db=Td+12|0;Eb=Yf+40|0;Fb=a+212|0;Gb=a+28|0;zf=Yf+296|0;Af=Yf+284|0;Hb=Yf+164|0;Ib=Jf+10|0;Jb=Jf+20|0;Gf=Yf+196|0;Hf=Yf+200|0;Kb=Yf+180|0;Lb=Jf+16|0;Mb=Jf+28|0;Nb=Jf+8|0;Ob=Jf+8|0;Bf=Yf+292|0;Pb=Jf+16|0;Qb=Yf+348|0;Rb=Jf+24|0;Sb=Yf+86|0;Tb=Yf+228|0;Ub=Jf+8|0;Vb=Yf+344|0;Wb=Yf+340|0;Xb=Jf+12|0;Yb=Td+16|0;Zb=Td+8|0;_b=Td+12|0;ld=a+48|0;xa=Yf+80|0;$b=Jf+32|0;ac=Jf+8|0;bc=Yf+336|0;cc=Jf+20|0;Ud=Yf+87|0;dc=Td+24|0;ec=a+72|0;fc=a+80|0;gc=Jf+8|0;hc=Yf+8|0;ic=Yf+92|0;jc=Yf+84|0;kc=Jf+20|0;lc=Jf+24|0;mc=Jf+4|0;nc=Jf+16|0;oc=Jf+4|0;Qf=o;m=o+((f[Nf>>2]|0)*20|0)|0;c=0;Rf=0;va=0;e=0;ua=q;wa=g;c:while(1){e=e+1|0;C=b[m>>0]|0;d:do switch(C<<24>>24){case 81:{ta=148;break c}case 1:{ta=873;break c}case 11:{ta=21;break}case 12:{ta=f[m+4>>2]|0;d[ua+(ta*40|0)+8>>1]=4;sa=(m-Qf|0)/20|0;ta=ua+(ta*40|0)|0;f[ta>>2]=sa;f[ta+4>>2]=((sa|0)<0)<<31>>31;ta=27;break}case 66:{z=f[m+4>>2]|0;m=Qf+((f[ua+(z*40|0)>>2]|0)*20|0)|0;d[ua+(z*40|0)+8>>1]=128;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 13:{sa=f[m+4>>2]|0;qa=(f[m+12>>2]|0)+-1|0;ra=ua+(sa*40|0)|0;f[ra>>2]=qa;f[ra+4>>2]=((qa|0)<0)<<31>>31;d[ua+(sa*40|0)+8>>1]=4;if(!(f[m+8>>2]|0)){z=wa;y=Qf;s=Rf;q=ua;r=va}else ta=27;break}case 67:{z=f[m+4>>2]|0;m=Qf+(((f[Qf+((f[ua+(z*40|0)>>2]|0)*20|0)+8>>2]|0)+-1|0)*20|0)|0;d[ua+(z*40|0)+8>>1]=128;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 14:{z=f[m+4>>2]|0;d[ua+(z*40|0)+8>>1]=4;z=ua+(z*40|0)|0;sa=f[z>>2]|0;y=(m-Qf|0)/20|0;f[z>>2]=y;f[z+4>>2]=((y|0)<0)<<31>>31;z=wa;y=Qf;s=Rf;q=ua;r=va;m=Qf+(sa*20|0)|0;break}case 68:{if(!(d[ua+((f[m+12>>2]|0)*40|0)+8>>1]&1)){z=wa;y=Qf;s=Rf;q=ua;r=va}else ta=33;break}case 69:{ta=33;break}case 70:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;y=f[m+4>>2]|0;z=g;f[z>>2]=y;f[z+4>>2]=((y|0)<0)<<31>>31;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 71:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;s=f[m+16>>2]|0;y=f[s+4>>2]|0;z=g;f[z>>2]=f[s>>2];f[z+4>>2]=y;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case -115:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;d[g+8>>1]=8;p[g>>3]=+p[f[m+16>>2]>>3];z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 106:{ta=f[Kd>>2]|0;w=m+8|0;o=f[w>>2]|0;g=ta+(o*40|0)|0;o=ta+(o*40|0)+8|0;if(!(d[o>>1]&9216)){d[o>>1]=4;q=g}else{Qi(g)|0;q=g}b[m>>0]=72;r=m+16|0;o=f[r>>2]|0;if(!o)g=0;else g=(wz(o)|0)&1073741823;s=m+4|0;f[s>>2]=g;if(!cb){c=$e(q,o,-1,1,0)|0;o=q+8|0;g=d[o>>1]|0;if((g&2)!=0?(b[q+10>>0]|0)!=Fd<<24>>24:0){if(Ri(q,Fd)|0){g=Qf;c=Rf;ta=3954;break a}g=d[o>>1]|0}f[q+24>>2]=0;d[o>>1]=g|2048;g=m+1|0;do if((b[g>>0]|0)==-7?(ge=f[r>>2]|0,ge|0):0){if(f[pf>>2]|0){Kc(Yf,ge);break}ta=ge;if((f[rf>>2]|0)>>>0<=ta>>>0?(f[sf>>2]|0)>>>0>ta>>>0:0){f[ge>>2]=f[Ff>>2];f[Ff>>2]=ge;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](ge);break}else{ta=ib[f[37368>>2]&255](ge)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ge);break}}while(0);b[g>>0]=-7;f[r>>2]=f[q+16>>2];g=f[q+12>>2]|0;f[s>>2]=g}if((g|0)>(f[Ka>>2]|0)){ta=3953;break c}else{g=w;ta=81}break}case 72:{g=m+8|0;ta=81;break}case 73:{q=f[Kd>>2]|0;r=m+8|0;g=f[r>>2]|0;o=q+(g*40|0)|0;q=q+(g*40|0)+8|0;if(!(d[q>>1]&9216))d[q>>1]=4;else{Qi(o)|0;g=f[r>>2]|0}g=(f[m+12>>2]|0)-g|0;s=(f[m+4>>2]|0)==0?1:257;d[o+8>>1]=s;f[o+12>>2]=0;if((g|0)>0)while(1){q=o;o=o+40|0;r=q+48|0;if(!(d[r>>1]&9216))d[r>>1]=1;else cf(o);d[r>>1]=s;f[q+52>>2]=0;if((g|0)<=1){z=wa;y=Qf;s=Rf;q=ua;r=va;break}else g=g+-1|0}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 74:{z=ua+((f[m+4>>2]|0)*40|0)+8|0;d[z>>1]=d[z>>1]&-160|1;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 75:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;$e(g,f[m+16>>2]|0,f[m+4>>2]|0,0,0)|0;b[g+10>>0]=Fd;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 76:{q=f[rc>>2]|0;r=(f[m+4>>2]|0)+-1|0;s=q+(r*40|0)|0;w=q+(r*40|0)+8|0;o=j[w>>1]|0;if(o&18|0){g=f[q+(r*40|0)+12>>2]|0;if(o&16384)g=(f[s>>2]|0)+g|0;if((g|0)>(f[(f[q+(r*40|0)+32>>2]|0)+108>>2]|0)){ta=3953;break c}}o=f[m+8>>2]|0;g=ua+(o*40|0)|0;o=ua+(o*40|0)+8|0;if(d[o>>1]&9216){Si(g,s,2048);z=wa;y=Qf;s=Rf;q=ua;r=va;break d};f[g>>2]=f[s>>2];f[g+4>>2]=f[s+4>>2];f[g+8>>2]=f[s+8>>2];f[g+12>>2]=f[s+12>>2];f[g+16>>2]=f[s+16>>2];if(!(d[w>>1]&2048)){d[o>>1]=d[o>>1]&-7169|2048;z=wa;y=Qf;s=Rf;q=ua;r=va}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 77:{q=ua+((f[m+4>>2]|0)*40|0)|0;r=f[m+12>>2]|0;s=ua+((f[m+8>>2]|0)*40|0)|0;while(1){w=s+8|0;if(!((d[w>>1]&9216)==0?!(f[s+24>>2]|0):0))ff(s);na=s;g=q;oa=na+40|0;do{f[na>>2]=f[g>>2];na=na+4|0;g=g+4|0}while((na|0)<(oa|0));d[q+8>>1]=1;f[q+24>>2]=0;g=d[w>>1]|0;if(g&4096){o=g&65535;do if(o&18){if(o&16384){g=s+12|0;sa=(f[s>>2]|0)+(f[g>>2]|0)|0;if(df(s,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}_A((f[s+16>>2]|0)+(f[g>>2]|0)|0,0,f[s>>2]|0)|0;f[g>>2]=(f[g>>2]|0)+(f[s>>2]|0);g=d[w>>1]&-16897;d[w>>1]=g}if(f[s+24>>2]|0?(f[s+16>>2]|0)==(f[s+20>>2]|0):0)break;if(gf(s)|0){g=Qf;c=Rf;ta=3954;break a}g=d[w>>1]|0}while(0);d[w>>1]=g&-4097}r=r+-1|0;if(!r){z=wa;y=Qf;s=Rf;q=ua;r=va;break}else{q=q+40|0;s=s+40|0}}break}case 78:{q=f[m+12>>2]|0;r=ua+((f[m+4>>2]|0)*40|0)|0;s=ua+((f[m+8>>2]|0)*40|0)|0;while(1){w=s+8|0;if(!(d[w>>1]&9216)){f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];f[s+8>>2]=f[r+8>>2];f[s+12>>2]=f[r+12>>2];f[s+16>>2]=f[r+16>>2];if(!(d[r+8>>1]&2048))d[w>>1]=d[w>>1]&-7169|4096}else Si(s,r,4096);g=d[w>>1]|0;if(g&4096){o=g&65535;do if(o&18){if(o&16384){g=s+12|0;sa=(f[s>>2]|0)+(f[g>>2]|0)|0;if(df(s,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}_A((f[s+16>>2]|0)+(f[g>>2]|0)|0,0,f[s>>2]|0)|0;f[g>>2]=(f[g>>2]|0)+(f[s>>2]|0);g=d[w>>1]&-16897;d[w>>1]=g}if(f[s+24>>2]|0?(f[s+16>>2]|0)==(f[s+20>>2]|0):0)break;if(gf(s)|0){g=Qf;c=Rf;ta=3954;break a}g=d[w>>1]|0}while(0);d[w>>1]=g&-4097}if(!q){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}q=q+-1|0;r=r+40|0;s=s+40|0}}case 79:{g=f[m+4>>2]|0;o=ua+(g*40|0)|0;r=f[m+8>>2]|0;q=ua+(r*40|0)|0;r=ua+(r*40|0)+8|0;if(d[r>>1]&9216){Si(q,o,4096);z=wa;y=Qf;s=Rf;q=ua;r=va;break d};f[q>>2]=f[o>>2];f[q+4>>2]=f[o+4>>2];f[q+8>>2]=f[o+8>>2];f[q+12>>2]=f[o+12>>2];f[q+16>>2]=f[o+16>>2];if(!(d[ua+(g*40|0)+8>>1]&2048)){d[r>>1]=d[r>>1]&-7169|4096;z=wa;y=Qf;s=Rf;q=ua;r=va}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 80:{r=f[m+8>>2]|0;g=ua+(r*40|0)|0;q=ua+((f[m+4>>2]|0)*40|0)|0;o=f[q>>2]|0;q=f[q+4>>2]|0;r=ua+(r*40|0)+8|0;if(!(d[r>>1]&9216)){z=g;f[z>>2]=o;f[z+4>>2]=q;d[r>>1]=4;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{bf(g,o,q);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}case 101:{z=f[m+4>>2]|0;r=ua+(z*40|0)|0;x=f[m+8>>2]|0;w=ua+(x*40|0)|0;A=f[m+12>>2]|0;y=ua+(A*40|0)|0;q=ua+(z*40|0)+8|0;o=d[q>>1]|0;s=ua+(x*40|0)+8|0;g=d[s>>1]|0;if((g|o)&1){g=ua+(A*40|0)+8|0;if(!(d[g>>1]&9216)){d[g>>1]=1;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{cf(y);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}if(o&16384){g=ua+(z*40|0)+12|0;sa=(f[r>>2]|0)+(f[g>>2]|0)|0;if(df(r,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}_A((f[ua+(z*40|0)+16>>2]|0)+(f[g>>2]|0)|0,0,f[r>>2]|0)|0;f[g>>2]=(f[g>>2]|0)+(f[r>>2]|0);o=d[q>>1]&-16897;d[q>>1]=o;g=d[s>>1]|0}if(g&16384){g=ua+(x*40|0)+12|0;sa=(f[w>>2]|0)+(f[g>>2]|0)|0;if(df(w,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}_A((f[ua+(x*40|0)+16>>2]|0)+(f[g>>2]|0)|0,0,f[w>>2]|0)|0;f[g>>2]=(f[g>>2]|0)+(f[w>>2]|0);g=d[s>>1]&-16897;d[s>>1]=g;o=d[q>>1]|0}if(!(o&18)){if(Ti(r,Fd,0)|0){g=Qf;c=Rf;ta=3954;break a}g=d[s>>1]|0}if((g&18)==0?Ti(w,Fd,0)|0:0){g=Qf;c=Rf;ta=3954;break a}r=ua+(z*40|0)+12|0;s=ua+(x*40|0)+12|0;w=(f[s>>2]|0)+(f[r>>2]|0)|0;if((w|0)>(f[Ka>>2]|0)){ta=3953;break c}o=(A|0)==(x|0);if(df(y,w+2|0,o&1)|0){g=Qf;c=Rf;ta=3954;break a}q=ua+(A*40|0)+8|0;d[q>>1]=d[q>>1]&15872|2;g=ua+(x*40|0)+16|0;if(!o){sa=ua+(A*40|0)+16|0;YA(f[sa>>2]|0,f[g>>2]|0,f[s>>2]|0)|0;g=sa}YA((f[g>>2]|0)+(f[s>>2]|0)|0,f[ua+(z*40|0)+16>>2]|0,f[r>>2]|0)|0;b[(f[g>>2]|0)+w>>0]=0;b[(f[g>>2]|0)+(w+1)>>0]=0;d[q>>1]=d[q>>1]|512;f[ua+(A*40|0)+12>>2]=w;b[ua+(A*40|0)+10>>0]=Fd;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 100:case 99:case 98:case 97:case 96:{x=f[m+4>>2]|0;y=ua+(x*40|0)|0;s=ua+(x*40|0)+8|0;g=j[s>>1]|0;o=g&12;if(!o)if(!(g&18))D=0;else D=Ui(y)|0;else D=o&65535;z=f[m+8>>2]|0;A=ua+(z*40|0)|0;w=ua+(z*40|0)+8|0;g=j[w>>1]|0;o=g&12;if(!o)if(!(g&18))C=0;else C=Ui(A)|0;else C=o&65535;E=f[m+12>>2]|0;F=ua+(E*40|0)|0;e:do if(!((D&4&C)<<16>>16)){if(!((d[w>>1]|d[s>>1])&1)){B=0;ta=236}}else{g=y;q=f[g>>2]|0;g=f[g+4>>2]|0;r=A;o=f[r>>2]|0;r=f[r+4>>2]|0;f:do switch(b[m>>0]|0){case 96:{if((g|0)>-1|(g|0)==-1&q>>>0>4294967295){sa=LA(-1,2147483647,o|0,r|0)|0;ra=ba()|0;if(((r|0)>0|(r|0)==0&o>>>0>0)&((ra|0)<(g|0)|(ra|0)==(g|0)&sa>>>0>>0)){B=1;ta=236;break e}}else if((r|0)<0?(ra=LA(1,-2147483648,o|0,r|0)|0,pa=ba()|0,sa=KA(q|0,g|0,1,0)|0,qa=ba()|0,(pa|0)>(qa|0)|(pa|0)==(qa|0)&ra>>>0>sa>>>0):0){B=1;ta=236;break e}o=KA(o|0,r|0,q|0,g|0)|0;g=ba()|0;break}case 97:{if((q|0)==0&(g|0)==-2147483648)if((r|0)>-1|(r|0)==-1&o>>>0>4294967295){B=1;ta=236;break e}else{g=r^-2147483648;break f}if((g|0)<0|(g|0)==0&q>>>0<1){sa=LA(0,0,q|0,g|0)|0;qa=ba()|0;ra=LA(-1,2147483647,o|0,r|0)|0;pa=ba()|0;if(((r|0)>0|(r|0)==0&o>>>0>0)&((pa|0)<(qa|0)|(pa|0)==(qa|0)&ra>>>0>>0)){B=1;ta=236;break e}}else if((r|0)<0?(ra=LA(1,-2147483648,o|0,r|0)|0,pa=ba()|0,sa=LA(1,0,q|0,g|0)|0,qa=ba()|0,(pa|0)>(qa|0)|(pa|0)==(qa|0)&ra>>>0>sa>>>0):0){B=1;ta=236;break e}o=LA(o|0,r|0,q|0,g|0)|0;g=ba()|0;break}case 98:{do if((g|0)>0|(g|0)==0&q>>>0>0){sa=SA(-1,2147483647,q|0,g|0)|0;ra=ba()|0;if((r|0)>(ra|0)|(r|0)==(ra|0)&o>>>0>sa>>>0){B=1;ta=236;break e}sa=OA(0,-2147483648,q|0,g|0)|0;ra=ba()|0;if((r|0)<(ra|0)|(r|0)==(ra|0)&o>>>0>>0){B=1;ta=236;break e}}else if((g|0)<0){if((r|0)>0|(r|0)==0&o>>>0>0){sa=OA(0,-2147483648,o|0,r|0)|0;ra=ba()|0;if((ra|0)>(g|0)|(ra|0)==(g|0)&sa>>>0>q>>>0){B=1;ta=236;break e}else break}if((r|0)<0){if((q|0)==0&(g|0)==-2147483648|(o|0)==0&(r|0)==-2147483648){B=1;ta=236;break e}sa=LA(0,0,o|0,r|0)|0;qa=ba()|0;ra=LA(0,0,q|0,g|0)|0;ra=OA(-1,2147483647,ra|0,ba()|0)|0;pa=ba()|0;if((pa|0)<(qa|0)|(pa|0)==(qa|0)&ra>>>0>>0){B=1;ta=236;break e}}}while(0);o=QA(o|0,r|0,q|0,g|0)|0;g=ba()|0;break}case 99:{if((q|0)==0&(g|0)==0)break e;if((q|0)==-1&(g|0)==-1&((o|0)==0&(r|0)==-2147483648)){B=1;ta=236;break e}o=OA(o|0,r|0,q|0,g|0)|0;g=ba()|0;break}default:{switch(q|0){case 0:{if(!g)break e;break}case -1:{if((g|0)==-1){q=1;g=0}break}default:{}}o=RA(o|0,r|0,q|0,g|0)|0;g=ba()|0}}while(0);z=F;f[z>>2]=o;f[z+4>>2]=g;z=ua+(E*40|0)+8|0;d[z>>1]=d[z>>1]&15872|4;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}while(0);g:do if((ta|0)==236){ta=0;g=j[s>>1]|0;do if(!(g&8)){if(g&4|0){sa=y;v=+((f[sa>>2]|0)>>>0)+4294967296.0*+(f[sa+4>>2]|0);break}if(!(g&18))v=0.0;else v=+Hc(b[ua+(x*40|0)+10>>0]|0,f[ua+(x*40|0)+12>>2]|0,f[ua+(x*40|0)+16>>2]|0)}else v=+p[y>>3];while(0);g=j[w>>1]|0;do if(!(g&8)){if(g&4|0){sa=A;u=+((f[sa>>2]|0)>>>0)+4294967296.0*+(f[sa+4>>2]|0);break}if(!(g&18))u=0.0;else u=+Hc(b[ua+(z*40|0)+10>>0]|0,f[ua+(z*40|0)+12>>2]|0,f[ua+(z*40|0)+16>>2]|0)}else u=+p[A>>3];while(0);switch(b[m>>0]|0){case 96:{u=v+u;break}case 97:{u=u-v;break}case 98:{u=v*u;break}case 99:{if(v==0.0)break g;u=u/v;break}default:{o=~~v>>>0;g=+H(v)>=1.0?(v>0.0?~~+V(+G(v/4294967296.0),4294967295.0)>>>0:~~+T((v-+(~~v>>>0))/4294967296.0)>>>0):0;r=~~u>>>0;q=+H(u)>=1.0?(u>0.0?~~+V(+G(u/4294967296.0),4294967295.0)>>>0:~~+T((u-+(~~u>>>0))/4294967296.0)>>>0):0;switch(o|0){case 0:{if(!g)break g;break}case -1:{if((g|0)==-1){o=1;g=0}break}default:{}}u=+((RA(r|0,q|0,o|0,g|0)|0)>>>0)+4294967296.0*+(ba()|0)}}p[Jf>>3]=u;p[Td>>3]=+p[Jf>>3];if(+p[Jf>>3]==+p[Td>>3]){p[F>>3]=u;q=ua+(E*40|0)+8|0;r=d[q>>1]&15872;d[q>>1]=r|8;if(((C|D)&8)!=0|B<<24>>24!=0){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}g=Fc(u)|0;o=ba()|0;sa=KA(g|0,o|0,1,-2147483648)|0;ra=ba()|0;if(!((ra>>>0>0|(ra|0)==0&sa>>>0>1)&u==+(g>>>0)+4294967296.0*+(o|0))){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}z=F;f[z>>2]=g;f[z+4>>2]=o;d[q>>1]=r|4;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}while(0);g=ua+(E*40|0)+8|0;if(!(d[g>>1]&9216)){d[g>>1]=1;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{cf(F);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}case 82:{g=f[m+4>>2]|0;if(g){o=ua+(g*40|0)|0;g=ua+(g*40|0)+8|0;if(!(d[g>>1]&9216)){z=o;f[z>>2]=0;f[z+4>>2]=0;d[g>>1]=4;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{bf(o,0,0);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 95:case 94:case 93:case 92:{w=f[m+4>>2]|0;o=f[m+8>>2]|0;y=f[m+12>>2]|0;z=ua+(y*40|0)|0;r=ua+(w*40|0)+8|0;q=d[r>>1]|0;g=d[ua+(o*40|0)+8>>1]|0;if((g|q)&1){g=ua+(y*40|0)+8|0;if(!(d[g>>1]&9216)){d[g>>1]=1;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{cf(z);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}s=ua+(o*40|0)|0;x=ua+(w*40|0)|0;g=g&65535;do if(!(g&4)){if(g&8|0){o=Fc(+p[s>>3])|0;g=ba()|0;break}if(!(g&18)){o=0;g=0}else{o=Gc(b[ua+(o*40|0)+10>>0]|0,f[ua+(o*40|0)+12>>2]|0,f[ua+(o*40|0)+16>>2]|0)|0;g=ba()|0;q=d[r>>1]|0}}else{g=s;o=f[g>>2]|0;g=f[g+4>>2]|0}while(0);q=q&65535;do if(!(q&4)){if(q&8|0){r=Fc(+p[x>>3])|0;w=ba()|0;break}if(!(q&18)){r=0;w=0}else{r=Gc(b[ua+(w*40|0)+10>>0]|0,f[ua+(w*40|0)+12>>2]|0,f[ua+(w*40|0)+16>>2]|0)|0;w=ba()|0}}else{w=x;r=f[w>>2]|0;w=f[w+4>>2]|0}while(0);q=b[m>>0]|0;h:do switch(q<<24>>24){case 92:{o=r&o;g=w&g;break}case 93:{o=r|o;g=w|g;break}default:if(!((r|0)==0&(w|0)==0)){qa=(w|0)<0;ra=(w|0)>-1|(w|0)==-1&r>>>0>4294967232;pa=LA(0,0,r|0,w|0)|0;sa=ba()|0;s=qa?189-(q&255)&255:q;r=qa?(ra?pa:64):r;q=qa?(ra?sa:0):w;if((q|0)>0|(q|0)==0&r>>>0>63){g=((g|0)<0&s<<24>>24!=94)<<31>>31;o=g;g=((g|0)<0)<<31>>31;break h}if(s<<24>>24==94){o=WA(o|0,g|0,r|0)|0;g=ba()|0;break h}else{o=VA(o|0,g|0,r|0)|0;sa=ba()|0;ra=(g|0)<0;qa=LA(64,0,r|0,q|0)|0;ba()|0;qa=WA(-1,-1,qa|0)|0;g=ba()|0;o=(ra?qa:0)|o;g=(ra?g:0)|sa;break h}}}while(0);f[z>>2]=o;f[z+4>>2]=g;z=ua+(y*40|0)+8|0;d[z>>1]=d[z>>1]&15872|4;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 83:{g=f[m+4>>2]|0;s=ua+(g*40|0)|0;w=ua+(g*40|0)+8|0;r=d[w>>1]|0;o=r&65535;do if(!(o&4)){if(o&8|0){o=Fc(+p[s>>3])|0;q=ba()|0;g=r;break}if(!(o&18)){o=0;q=0;g=r}else{o=Gc(b[ua+(g*40|0)+10>>0]|0,f[ua+(g*40|0)+12>>2]|0,f[ua+(g*40|0)+16>>2]|0)|0;q=ba()|0;g=d[w>>1]|0}}else{q=s;o=f[q>>2]|0;q=f[q+4>>2]|0;g=r}while(0);y=s;f[y>>2]=o;f[y+4>>2]=q;d[w>>1]=g&15872|4;y=f[m+8>>2]|0;q=KA(o|0,q|0,y|0,((y|0)<0)<<31>>31|0)|0;y=ba()|0;z=s;f[z>>2]=q;f[z+4>>2]=y;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 15:{r=f[m+4>>2]|0;w=ua+(r*40|0)+8|0;g=d[w>>1]|0;if(!(g&4)){s=ua+(r*40|0)|0;o=g&65535;do if(!(o&4)){if(o&8|0){v=+p[s>>3];o=Fc(v)|0;q=ba()|0;sa=KA(o|0,q|0,1,-2147483648)|0;ra=ba()|0;r=g&15872|4;if(!((ra>>>0>0|(ra|0)==0&sa>>>0>1)&v==+(o>>>0)+4294967296.0*+(q|0)))break;g=s;f[g>>2]=o;f[g+4>>2]=q;d[w>>1]=r;g=r;break}if(o&2){o=b[ua+(r*40|0)+10>>0]|0;q=ua+(r*40|0)+16|0;g=ua+(r*40|0)+12|0;if(!(jf(f[q>>2]|0,Jf,f[g>>2]|0,o)|0))g=d[w>>1]|0;else{if(kf(f[q>>2]|0,Td,f[g>>2]|0,o)|0){v=+p[Jf>>3];p[s>>3]=v;o=d[w>>1]|0;g=o|8;d[w>>1]=g;q=Fc(v)|0;r=ba()|0;sa=KA(q|0,r|0,1,-2147483648)|0;ra=ba()|0;if((ra>>>0>0|(ra|0)==0&sa>>>0>1)&v==+(q>>>0)+4294967296.0*+(r|0)){g=s;f[g>>2]=q;f[g+4>>2]=r;g=o&15872;ta=313}}else{sa=Td;ta=f[sa+4>>2]|0;g=s;f[g>>2]=f[sa>>2];f[g+4>>2]=ta;g=d[w>>1]|0;ta=313}if((ta|0)==313){ta=0;g=g|4;d[w>>1]=g}g=g&-3;d[w>>1]=g}}}while(0);if(!(g&4))if(!(f[m+8>>2]|0)){r=Qf;q=Rf;c=20;ta=3925;break a}else{ta=27;break d}}d[w>>1]=g&15872|4;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 84:{o=f[m+4>>2]|0;r=ua+(o*40|0)+8|0;g=d[r>>1]|0;if(!(g&4)){z=wa;y=Qf;s=Rf;q=ua;r=va}else{s=ua+(o*40|0)|0;q=g&65535;do if(!(q&8)){if(q&4|0){sa=s;u=+((f[sa>>2]|0)>>>0)+4294967296.0*+(f[sa+4>>2]|0);break}if(!(q&18))u=0.0;else{u=+Hc(b[ua+(o*40|0)+10>>0]|0,f[ua+(o*40|0)+12>>2]|0,f[ua+(o*40|0)+16>>2]|0);g=d[r>>1]|0}}else u=+p[s>>3];while(0);p[s>>3]=u;d[r>>1]=g&15872|8;z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 85:{c=f[m+4>>2]|0;q=ua+(c*40|0)|0;g=ua+(c*40|0)+8|0;if(d[g>>1]&16384){o=ua+(c*40|0)+12|0;sa=(f[q>>2]|0)+(f[o>>2]|0)|0;if(!(df(q,(sa|0)>1?sa:1,1)|0)){_A((f[ua+(c*40|0)+16>>2]|0)+(f[o>>2]|0)|0,0,f[q>>2]|0)|0;f[o>>2]=(f[o>>2]|0)+(f[q>>2]|0);d[g>>1]=d[g>>1]&-16897;c=0}else c=7}else c=0;Vi(q,f[m+8>>2]&255,Fd);if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case 57:case 54:case 55:case 56:case 52:case 53:{w=f[m+4>>2]|0;A=ua+(w*40|0)|0;y=f[m+12>>2]|0;z=ua+(y*40|0)|0;B=ua+(w*40|0)+8|0;g=d[B>>1]|0;D=ua+(y*40|0)+8|0;o=d[D>>1]|0;r=g&65535;x=o&65535;s=(o|g)&65535;E=m+2|0;q=j[E>>1]|0;do if(!(s&1)){q=q&71;if(q>>>0>66){if(s&2){if((r&14|0)==2){q=b[ua+(w*40|0)+10>>0]|0;r=ua+(w*40|0)+16|0;o=ua+(w*40|0)+12|0;if(jf(f[r>>2]|0,Jf,f[o>>2]|0,q)|0){if(!(kf(f[r>>2]|0,Td,f[o>>2]|0,q)|0)){ra=Td;sa=f[ra+4>>2]|0;o=A;f[o>>2]=f[ra>>2];f[o+4>>2]=sa;o=4}else{p[A>>3]=+p[Jf>>3];o=8}d[B>>1]=d[B>>1]&-3|o}s=d[D>>1]|0}else s=o;if((s&14)==2){q=b[ua+(y*40|0)+10>>0]|0;r=ua+(y*40|0)+16|0;o=ua+(y*40|0)+12|0;if(!(jf(f[r>>2]|0,Jf,f[o>>2]|0,q)|0))o=d[D>>1]|0;else{if(!(kf(f[r>>2]|0,Td,f[o>>2]|0,q)|0)){ra=Td;sa=f[ra+4>>2]|0;o=z;f[o>>2]=f[ra>>2];f[o+4>>2]=sa;o=4}else{p[z>>3]=+p[Jf>>3];o=8}o=d[D>>1]&-3|o;d[D>>1]=o}w=s}else{w=s;o=s}}else w=o;if((o&4&d[B>>1])<<16>>16){s=z;r=f[s>>2]|0;s=f[s+4>>2]|0;q=A;o=f[q>>2]|0;q=f[q+4>>2]|0;if((s|0)>(q|0)|(s|0)==(q|0)&r>>>0>o>>>0){o=w;q=b[m>>0]|0;ta=368;break}else{r=((s|0)<(q|0)|(s|0)==(q|0)&r>>>0>>0)<<31>>31;o=w}}else{o=w;ta=364}}else if((q|0)==66){if(!((r&2|0)!=0|(r&12|0)==0)){Ti(A,Fd,1)|0;g=(r&49663|d[B>>1]&15872)&65535}if((x&2|0)!=0|(x&12|0)==0)ta=364;else{Ti(z,Fd,1)|0;o=(x&49663|d[D>>1]&15872)&65535;ta=364}}else ta=364;if((ta|0)==364){ta=0;r=nf(z,A,f[m+16>>2]|0)|0}if((r|0)>=0){s=b[m>>0]|0;q=(s&255)+-52|0;if(!r){ta=370;break}else{ta=371;break}}else{s=b[m>>0]|0;w=r;q=43328+((s&255)+-52)|0;break}}else{if(q&128|0){if(!((g&1&o)<<16>>16!=0&(x&256|0)==0)){q=C;ta=368;break}s=C;q=(C&255)+-52|0;ta=370;break}if(!(q&32))if(!(q&16)){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{ta=27;break d}else{z=ua+((f[m+8>>2]|0)*40|0)+8|0;d[z>>1]=d[z>>1]&15872|1;z=wa;y=Qf;s=Rf;q=ua;r=1;break d}}while(0);if((ta|0)==368){r=1;s=q;q=(q&255)+-52|0;ta=371}else if((ta|0)==370){ta=0;w=0;q=43334+q|0}if((ta|0)==371){ta=0;w=r;q=43340+q|0}q=b[q>>0]|0;r=q&255;d[B>>1]=g;d[D>>1]=o;o=j[E>>1]|0;if(!(o&32))if(!(q<<24>>24)){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{ta=27;break d}g=f[m+8>>2]|0;if(o&8|0?(r|0)==(s<<24>>24==53|0):0){z=wa;y=Qf;s=Rf;q=ua;r=w;break d}z=ua+(g*40|0)+8|0;d[z>>1]=d[z>>1]&15872|4;z=ua+(g*40|0)|0;f[z>>2]=q&255;f[z+4>>2]=0;z=wa;y=Qf;s=Rf;q=ua;r=w;break}case 58:{if(!va){z=wa;y=Qf;s=Rf;q=ua;r=0}else ta=27;break}case -87:case 61:{o=b[If>>0]|0;do if((o&-127)<<24>>24?((h[Mf>>0]|h[Mf+1>>0]<<8)&16)==0:0){g=f[m+16>>2]|0;if(!g){g=f[td>>2]|0;if(!g)break}if(o<<24>>24<0){sa=f[Gf>>2]|0;g=Kj(a,g)|0;pb[sa&127](f[Hf>>2]|0,g);if(!g)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}if((f[Kb>>2]|0)<=1){lb[f[Gf>>2]&127](1,f[Hf>>2]|0,a,g)|0;break}f[Fe>>2]=g;g=Ig(Yf,44751,Fe)|0;lb[f[Gf>>2]&127](1,f[Hf>>2]|0,a,g)|0;if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}}while(0);r=m+4|0;g=f[r>>2]|0;if((g|0)>=(f[9396]|0)){if((b[m>>0]|0)==-87){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}o=f[yb>>2]|0;if((o|0)>1){q=f[qe>>2]|0;g=1;do{if((b[q+(g*20|0)>>0]|0)==17)f[q+(g*20|0)+4>>2]=0;g=g+1|0}while((g|0)!=(o|0))}f[r>>2]=0;g=0}f[r>>2]=g+1;f[db>>2]=(f[db>>2]|0)+1;ta=27;break}case 87:{if(!(d[m+2>>1]&1))r=0;else r=(f[m+-4>>2]|0)+4|0;w=f[m+12>>2]|0;x=f[m+16>>2]|0;y=f[m+4>>2]|0;z=f[m+8>>2]|0;if((w|0)>0){s=x+16|0;i:do if(!r){o=0;while(1){g=b[(f[s>>2]|0)+o>>0]|0;q=nf(ua+((o+y|0)*40|0)|0,ua+((o+z|0)*40|0)|0,f[x+20+(o<<2)>>2]|0)|0;o=o+1|0;if(q|0){o=q;break i}if((o|0)>=(w|0)){z=wa;y=Qf;s=Rf;q=ua;r=0;break d}}}else{q=0;while(1){o=f[r+(q<<2)>>2]|0;g=b[(f[s>>2]|0)+q>>0]|0;o=nf(ua+((o+y|0)*40|0)|0,ua+((o+z|0)*40|0)|0,f[x+20+(q<<2)>>2]|0)|0;q=q+1|0;if(o|0)break i;if((q|0)>=(w|0)){z=wa;y=Qf;s=Rf;q=ua;r=0;break d}}}while(0);z=wa;y=Qf;s=Rf;q=ua;r=g<<24>>24==0?o:0-o|0}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 16:{if((va|0)<0){z=wa;y=Qf;s=Rf;q=ua;r=va;m=Qf+(((f[m+4>>2]|0)+-1|0)*20|0)|0;break d}if(!va){z=wa;y=Qf;s=Rf;q=ua;r=0;m=Qf+(((f[m+8>>2]|0)+-1|0)*20|0)|0;break d}else{z=wa;y=Qf;s=Rf;q=ua;r=va;m=Qf+(((f[m+12>>2]|0)+-1|0)*20|0)|0;break d}}case 43:case 44:{g=f[m+4>>2]|0;o=ua+(g*40|0)|0;q=j[ua+(g*40|0)+8>>1]|0;if(!(q&4))if(!(q&1)){if(!(q&8))if(!(q&18))u=0.0;else u=+Hc(b[ua+(g*40|0)+10>>0]|0,f[ua+(g*40|0)+12>>2]|0,f[ua+(g*40|0)+16>>2]|0);else u=+p[o>>3];r=u!=0.0&1}else r=2;else{r=o;r=((f[r>>2]|0)!=0|(f[r+4>>2]|0)!=0)&1}g=f[m+8>>2]|0;o=ua+(g*40|0)|0;q=j[ua+(g*40|0)+8>>1]|0;if(!(q&4))if(!(q&1)){if(!(q&8))if(!(q&18))u=0.0;else u=+Hc(b[ua+(g*40|0)+10>>0]|0,f[ua+(g*40|0)+12>>2]|0,f[ua+(g*40|0)+16>>2]|0);else u=+p[o>>3];g=u!=0.0&1}else g=2;else{g=o;g=((f[g>>2]|0)!=0|(f[g+4>>2]|0)!=0)&1}g=b[((b[m>>0]|0)==44?43346:43355)+(g+(r*3|0))>>0]|0;o=f[m+12>>2]|0;if(g<<24>>24==2){z=ua+(o*40|0)+8|0;d[z>>1]=d[z>>1]&15872|1;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{z=ua+(o*40|0)|0;f[z>>2]=g&255;f[z+4>>2]=0;z=ua+(o*40|0)+8|0;d[z>>1]=d[z>>1]&15872|4;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}case 88:{s=f[m+8>>2]|0;w=ua+(s*40|0)|0;o=f[m+4>>2]|0;q=ua+(o*40|0)|0;r=j[ua+(o*40|0)+8>>1]|0;if(!(r&4)){g=f[m+12>>2]|0;if(!(r&1)){if(!(r&8))if(!(r&18))u=0.0;else u=+Hc(b[ua+(o*40|0)+10>>0]|0,f[ua+(o*40|0)+12>>2]|0,f[ua+(o*40|0)+16>>2]|0);else u=+p[q>>3];g=u!=0.0&1}}else{g=q;g=((f[g>>2]|0)!=0|(f[g+4>>2]|0)!=0)&1}o=f[m+16>>2]^g;q=((o|0)<0)<<31>>31;g=ua+(s*40|0)+8|0;if(!(d[g>>1]&9216)){z=w;f[z>>2]=o;f[z+4>>2]=q;d[g>>1]=4;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{bf(w,o,q);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}case 19:{o=f[m+4>>2]|0;r=f[m+8>>2]|0;s=ua+(r*40|0)|0;g=d[ua+(o*40|0)+8>>1]|0;if(g&1){g=ua+(r*40|0)+8|0;if(!(d[g>>1]&9216)){d[g>>1]=1;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{cf(s);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}q=ua+(o*40|0)|0;g=g&65535;if(!(g&4))if(!(g&1)){if(!(g&8))if(!(g&18))u=0.0;else u=+Hc(b[ua+(o*40|0)+10>>0]|0,f[ua+(o*40|0)+12>>2]|0,f[ua+(o*40|0)+16>>2]|0);else u=+p[q>>3];g=u!=0.0}else g=0;else{g=q;g=(f[g>>2]|0)!=0|(f[g+4>>2]|0)!=0}o=(g^1)&1;g=ua+(r*40|0)+8|0;if(!(d[g>>1]&9216)){z=s;f[z>>2]=o;f[z+4>>2]=0;d[g>>1]=4;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{bf(s,o,0);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}case 103:{q=f[m+4>>2]|0;g=f[m+8>>2]|0;s=ua+(g*40|0)|0;g=ua+(g*40|0)+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else cf(s);o=ua+(q*40|0)+8|0;if(!(d[o>>1]&1)){r=ua+(q*40|0)|0;d[g>>1]=4;g=j[o>>1]|0;do if(!(g&4)){if(g&8|0){g=Fc(+p[r>>3])|0;o=ba()|0;break}if(!(g&18)){g=0;o=0}else{g=Gc(b[ua+(q*40|0)+10>>0]|0,f[ua+(q*40|0)+12>>2]|0,f[ua+(q*40|0)+16>>2]|0)|0;o=ba()|0}}else{o=r;g=f[o>>2]|0;o=f[o+4>>2]|0}while(0);z=s;f[z>>2]=~g;f[z+4>>2]=~o;z=wa;y=Qf;s=Rf;q=ua;r=va}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 17:{g=f[sc>>2]|0;if(!g){o=f[(f[qe>>2]|0)+4>>2]|0;g=m+4|0;if((o|0)==(f[g>>2]|0)){ta=27;break d}}else{q=(m-(f[qe>>2]|0)|0)/20|0;g=(f[g+24>>2]|0)+(q>>>3)|0;o=h[g>>0]|0;q=1<<(q&7);if(q&o|0){ta=27;break d}b[g>>0]=q|o;g=m+4|0;o=f[(f[qe>>2]|0)+4>>2]|0}f[g>>2]=o;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 18:{o=f[m+4>>2]|0;q=ua+(o*40|0)|0;r=j[ua+(o*40|0)+8>>1]|0;if(!(r&4)){g=f[m+12>>2]|0;if(!(r&1)){if(!(r&8))if(!(r&18))u=0.0;else u=+Hc(b[ua+(o*40|0)+10>>0]|0,f[ua+(o*40|0)+12>>2]|0,f[ua+(o*40|0)+16>>2]|0);else u=+p[q>>3];g=u!=0.0&1}}else{g=q;g=((f[g>>2]|0)!=0|(f[g+4>>2]|0)!=0)&1}if(!g){z=wa;y=Qf;s=Rf;q=ua;r=va}else ta=27;break}case 20:{g=f[m+4>>2]|0;o=ua+(g*40|0)|0;q=j[ua+(g*40|0)+8>>1]|0;if(q&4|0){sa=o;if((f[sa>>2]|0)==0&(f[sa+4>>2]|0)==0){ta=27;break d}else{z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}if(q&1|0)if(!(f[m+12>>2]|0)){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{ta=27;break d}if(!(q&8)){if(!(q&18)){ta=27;break d}u=+Hc(b[ua+(g*40|0)+10>>0]|0,f[ua+(g*40|0)+12>>2]|0,f[ua+(g*40|0)+16>>2]|0)}else u=+p[o>>3];if(u!=0.0){z=wa;y=Qf;s=Rf;q=ua;r=va}else ta=27;break}case 50:{if(!(d[ua+((f[m+4>>2]|0)*40|0)+8>>1]&1)){z=wa;y=Qf;s=Rf;q=ua;r=va}else ta=27;break}case 51:{if(!(d[ua+((f[m+4>>2]|0)*40|0)+8>>1]&1))ta=27;else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 21:{if(b[(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+2>>0]|0){g=f[m+12>>2]|0;o=ua+(g*40|0)+8|0;if(!(d[o>>1]&9216)){d[o>>1]=1;ta=27;break d}else{cf(ua+(g*40|0)|0);ta=27;break d}}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 90:{o=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;g=f[m+8>>2]|0;do if(!(b[o+3>>0]|0)){if(b[f[o+40>>2]>>0]|0){c=Xi(o)|0;ta=486}}else{c=f[o+24>>2]|0;if(c|0?(Vd=f[c+(g+1<<2)>>2]|0,(Vd|0)>0):0){g=Vd+-1|0;o=f[o+36>>2]|0;break}c=Wi(o)|0;ta=486}while(0);if((ta|0)==486){ta=0;if(c){ta=579;break c}}F=f[m+12>>2]|0;I=ua+(F*40|0)|0;E=f[o+72>>2]|0;r=o+28|0;c=f[id>>2]|0;j:do if((f[r>>2]|0)!=(c|0)){do if(b[o+2>>0]|0){if((b[o>>0]|0)==3){q=f[o+32>>2]|0;y=f[ua+(q*40|0)+12>>2]|0;f[o+84>>2]=y;f[o+80>>2]=y;q=f[ua+(q*40|0)+16>>2]|0;y=o+76|0;f[y>>2]=q;break}c=ua+(F*40|0)+8|0;if(!(d[c>>1]&9216)){d[c>>1]=1;break j}else{cf(I);break j}}else{sa=f[o+40>>2]|0;oh(sa);ta=f[sa+44>>2]|0;f[o+80>>2]=ta;c=j[sa+48>>1]|0;q=f[sa+40>>2]|0;sa=(f[(f[sa+116>>2]|0)+60>>2]|0)-q|0;f[o+84>>2]=(sa|0)<(c|0)?((sa|0)>0?sa:0):c;c=o+76|0;f[c>>2]=q;if(ta>>>0>(f[Ka>>2]|0)>>>0){ta=497;break c}y=c;c=f[id>>2]|0}while(0);f[r>>2]=c;ta=b[q>>0]|0;c=ta&255;if(ta<<24>>24>-1){f[E>>2]=c;x=1}else{r=h[q+1>>0]|0;do if(r&128){s=h[q+2>>0]|0;if(!(s&128)){f[E>>2]=(c<<14|s)&2080895|r<<7&16256;c=3;break}else{c=Th(q,Jf)|0;sa=Jf;ta=f[sa>>2]|0;f[E>>2]=((ta|0)==(ta|0)?0==(f[sa+4>>2]|0):0)?ta:-1;break}}else{f[E>>2]=c<<7&16256|r;c=2}while(0);x=c&255}w=o+48|0;f[w>>2]=x;r=o+58|0;d[r>>1]=0;c=o+84|0;s=f[E>>2]|0;if((f[c>>2]|0)>>>0>=s>>>0){q=f[y>>2]|0;c=0;ta=518;break}f[y>>2]=0;f[c>>2]=0;ta=f[E>>2]|0;if(ta>>>0<=98307?ta>>>0<=(f[o+80>>2]|0)>>>0:0){c=0;ta=510}else ta=575}else{c=o+58|0;r=c;c=d[c>>1]|0;ta=510}while(0);do if((ta|0)==510){if((g|0)<(c&65535|0)){r=f[o+88+(g<<2)>>2]|0;ta=554;break}y=o+48|0;x=f[y>>2]|0;s=f[E>>2]|0;if(x>>>0>>0){q=f[o+76>>2]|0;if(!q){na=Td;oa=na+40|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));s=f[o+40>>2]|0;w=f[E>>2]|0;ta=j[s+48>>1]|0;q=f[s+40>>2]|0;sa=(f[(f[s+116>>2]|0)+60>>2]|0)-q|0;if(w>>>0>((sa|0)<(ta|0)?((sa|0)>0?sa:0):ta)>>>0){c=Yi(s,0,w,Td)|0;if(c|0){ta=579;break c}c=d[r>>1]|0;s=f[y>>2]|0;q=f[Yb>>2]|0}else{f[Yb>>2]=q;d[Zb>>1]=4112;f[_b>>2]=w;s=x}w=y;x=s;s=f[E>>2]|0;ta=518}else{w=y;ta=518}}else{q=0;ta=544}}while(0);do if((ta|0)==518){B=c&65535;D=q+s|0;c=B;s=q+x|0;B=f[E+(B<<2)>>2]|0;C=0;do{ta=b[s>>0]|0;A=ta&255;x=s+1|0;if(ta<<24>>24>-1){s=x;y=A;x=h[7808+A>>0]|0;z=0}else{y=h[x>>0]|0;do if(y&128){z=h[s+2>>0]|0;if(!(z&128)){x=3;y=(A<<14|z)&2080895|y<<7&16256;ta=527;break}x=Th(s,Jf)|0;ta=Jf;y=f[ta>>2]|0;if((y|0)==(y|0)?0==(f[ta+4>>2]|0):0)ta=527;else{y=-1;s=s+(x&255)|0;ta=528}}else{x=2;y=A<<7&16256|y;ta=527}while(0);if((ta|0)==527){ta=0;s=s+(x&255)|0;if(y>>>0>127)ta=528;else x=h[7808+y>>0]|0}if((ta|0)==528)x=(y+-12|0)>>>1;z=0}B=KA(x|0,z|0,B|0,C|0)|0;C=ba()|0;ta=c;c=c+1|0;f[o+88+(ta<<2)>>2]=y;f[E+(c<<2)>>2]=B;x=s>>>0>>0}while((ta|0)<(g|0)&x);if(!x)if(s>>>0<=D>>>0?((C|0)==0?(B|0)==(f[o+80>>2]|0):0):0){x=C;z=B;ta=536}else ta=537;else{x=0;z=f[o+80>>2]|0;ta=536}if((ta|0)==536){ta=0;if(C>>>0>x>>>0|(C|0)==(x|0)&B>>>0>z>>>0)ta=537}if((ta|0)==537)if(!(f[E>>2]|0)){c=0;s=D}else{if(f[o+76>>2]|0){ta=575;break}if((d[Zb>>1]&9216)==0&(f[dc>>2]|0)==0){ta=575;break}ff(Td);ta=575;break}c=c&65535;d[r>>1]=c;f[w>>2]=s-q;if((f[o+76>>2]|0)==0?!((d[Zb>>1]&9216)==0&(f[dc>>2]|0)==0):0){ff(Td);q=y;c=d[r>>1]|0;ta=544}else{q=y;ta=544}}while(0);do if((ta|0)==544){ta=0;if((g|0)>=(c&65535|0)){if((b[m+1>>0]|0)!=-11){c=ua+(F*40|0)+8|0;if(!(d[c>>1]&9216)){d[c>>1]=1;break}else{cf(I);break}}g=f[m+16>>2]|0;c=ua+(F*40|0)+8|0;if(d[c>>1]&9216){Si(I,g,2048);break};f[I>>2]=f[g>>2];f[I+4>>2]=f[g+4>>2];f[I+8>>2]=f[g+8>>2];f[I+12>>2]=f[g+12>>2];f[I+16>>2]=f[g+16>>2];if(!(d[g+8>>1]&2048))d[c>>1]=d[c>>1]&-7169|2048}else{r=q;ta=554}}else if((ta|0)==575){ta=0;c=f[Qf+12>>2]|0;if((c|0)<=0){ta=577;break c}m=Qf+((c+-1|0)*20|0)|0}while(0);k:do if((ta|0)==554){ta=0;s=ua+(F*40|0)+8|0;if(d[s>>1]&9216)cf(I);if((f[o+84>>2]|0)>>>0>=(f[E+(g+1<<2)>>2]|0)>>>0){o=(f[o+76>>2]|0)+(f[E+(g<<2)>>2]|0)|0;if(r>>>0<12){Zi(o,r,I)|0;break}q=(r+-12|0)>>>1;f[ua+(F*40|0)+12>>2]=q;b[ua+(F*40|0)+10>>0]=Fd;c=q+2|0;if((f[ua+(F*40|0)+24>>2]|0)<(c|0)){d[s>>1]=1;if(df(I,c,0)|0){ta=580;break c}g=ua+(F*40|0)+16|0;c=g;g=f[g>>2]|0}else{g=f[ua+(F*40|0)+20>>2]|0;c=ua+(F*40|0)+16|0;f[c>>2]=g}YA(g|0,o|0,q|0)|0;b[(f[c>>2]|0)+q>>0]=0;b[(f[c>>2]|0)+(q+1)>>0]=0;d[s>>1]=d[39640+((r&1)<<1)>>1]|0;break}b[ua+(F*40|0)+10>>0]=Fd;sa=d[m+2>>1]|0;if(!((sa&192)!=0?!((r>>>0<12|(r&1|0)!=0)&(sa&128)==0):0))ta=566;do if((ta|0)==566){ta=0;if(r>>>0<=127){c=b[7808+r>>0]|0;if(!(c<<24>>24))break;else q=c&255}else q=(r+-12|0)>>>1;o=f[o+40>>2]|0;c=f[E+(g<<2)>>2]|0;sa=j[o+48>>1]|0;g=f[o+40>>2]|0;ra=(f[(f[o+116>>2]|0)+60>>2]|0)-g|0;if((c+q|0)>>>0>((ra|0)<(sa|0)?((ra|0)>0?ra:0):sa)>>>0){c=Yi(o,c,q,I)|0;if(c|0){ta=579;break c}c=f[ua+(F*40|0)+16>>2]|0}else{c=g+c|0;f[ua+(F*40|0)+16>>2]=c;d[s>>1]=4112;f[ua+(F*40|0)+12>>2]=q}Zi(c,r,I)|0;d[s>>1]=d[s>>1]&-4097;break k}while(0);Zi(71872,r,I)|0}while(0);z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case 91:{g=f[m+16>>2]|0;w=g;x=ua+((f[m+4>>2]|0)*40|0)|0;g=b[g>>0]|0;while(1){w=w+1|0;do if(g<<24>>24>66){s=x+8|0;q=d[s>>1]|0;g=q&65535;if(!(g&4)){if(g&8|0){v=+p[x>>3];g=Fc(v)|0;o=ba()|0;sa=KA(g|0,o|0,1,-2147483648)|0;ra=ba()|0;if(!((ra>>>0>0|(ra|0)==0&sa>>>0>1)&v==+(g>>>0)+4294967296.0*+(o|0)))break;sa=x;f[sa>>2]=g;f[sa+4>>2]=o;d[s>>1]=q&15872|4;break}if(g&2|0?(Xd=b[x+10>>0]|0,Yd=x+16|0,Zd=x+12|0,jf(f[Yd>>2]|0,Jf,f[Zd>>2]|0,Xd)|0):0){if(kf(f[Yd>>2]|0,Td,f[Zd>>2]|0,Xd)|0){v=+p[Jf>>3];p[x>>3]=v;o=d[s>>1]|0;g=o|8;d[s>>1]=g;q=Fc(v)|0;r=ba()|0;sa=KA(q|0,r|0,1,-2147483648)|0;ra=ba()|0;if((ra>>>0>0|(ra|0)==0&sa>>>0>1)&v==+(q>>>0)+4294967296.0*+(r|0)){g=x;f[g>>2]=q;f[g+4>>2]=r;g=o&15872;ta=591}}else{sa=Td;ta=f[sa+4>>2]|0;g=x;f[g>>2]=f[sa>>2];f[g+4>>2]=ta;g=d[s>>1]|0;ta=591}if((ta|0)==591){ta=0;g=g|4;d[s>>1]=g}d[s>>1]=g&-3}}}else if(g<<24>>24==66){o=x+8|0;g=d[o>>1]|0;sa=g&65535;if(!((sa&2|0)!=0|(sa&12|0)==0)){Ti(x,Fd,1)|0;g=d[o>>1]|0}d[o>>1]=g&-13}while(0);g=b[w>>0]|0;if(!(g<<24>>24)){z=wa;y=Qf;s=Rf;q=ua;r=va;break}else x=x+40|0}break}case 102:{g=f[m+16>>2]|0;E=ua+((f[m+4>>2]|0)*40|0)|0;F=E+(((f[m+8>>2]|0)+-1|0)*40|0)|0;z=b[uc>>0]|0;I=f[m+12>>2]|0;J=ua+(I*40|0)|0;if(g|0){x=E;y=g;g=b[g>>0]|0;do{w=x;x=x+40|0;y=y+1|0;do if(g<<24>>24>66){s=w+8|0;q=d[s>>1]|0;g=q&65535;if(!(g&4)){if(g&8|0){v=+p[w>>3];g=Fc(v)|0;o=ba()|0;sa=KA(g|0,o|0,1,-2147483648)|0;ra=ba()|0;if(!((ra>>>0>0|(ra|0)==0&sa>>>0>1)&v==+(g>>>0)+4294967296.0*+(o|0)))break;sa=w;f[sa>>2]=g;f[sa+4>>2]=o;d[s>>1]=q&15872|4;break}if(g&2|0?(_d=b[w+10>>0]|0,$d=w+16|0,ae=w+12|0,jf(f[$d>>2]|0,Jf,f[ae>>2]|0,_d)|0):0){do if(!(kf(f[$d>>2]|0,Td,f[ae>>2]|0,_d)|0)){sa=Td;ta=f[sa+4>>2]|0;g=w;f[g>>2]=f[sa>>2];f[g+4>>2]=ta;g=d[s>>1]|0;ta=612}else{v=+p[Jf>>3];p[w>>3]=v;o=d[s>>1]|0;g=o|8;d[s>>1]=g;q=Fc(v)|0;r=ba()|0;sa=KA(q|0,r|0,1,-2147483648)|0;ra=ba()|0;if(!((ra>>>0>0|(ra|0)==0&sa>>>0>1)&v==+(q>>>0)+4294967296.0*+(r|0)))break;g=w;f[g>>2]=q;f[g+4>>2]=r;g=o&15872;ta=612}while(0);if((ta|0)==612){ta=0;g=g|4;d[s>>1]=g}d[s>>1]=g&-3}}}else if(g<<24>>24==66){o=w+8|0;g=d[o>>1]|0;sa=g&65535;if(!((sa&2|0)!=0|(sa&12|0)==0)){Ti(w,Fd,1)|0;g=d[o>>1]|0}d[o>>1]=g&-13}while(0);g=b[y>>0]|0}while(g<<24>>24!=0)}if((z&255)>3){g=0;D=F;s=0;w=0;C=0;y=0;while(1){A=D+8|0;z=d[A>>1]|0;q=z&65535;do if(!(q&1)){if(!(q&4)){if(q&8|0){r=8;B=7;break}o=f[D+12>>2]|0;if(q&16384)o=(f[D>>2]|0)+o|0;r=o;B=(o<<1)+12|q>>>1&1;break}q=D;o=f[q>>2]|0;q=f[q+4>>2]|0;x=UA(o|0,q|0,63)|0;x=x^o;r=(ba()|0)^q;if(r>>>0<0|(r|0)==0&x>>>0<128){if(!((o&1|0)==(o|0)&0==(q|0))){r=1;B=1;break}r=0;B=x+8|0;break}if(!(r>>>0<0|(r|0)==0&x>>>0<32768))if(r>>>0<0|(r|0)==0&x>>>0<8388608){r=3;B=3}else{sa=r>>>0<0|(r|0)==0&x>>>0<2147483648;B=r>>>0<32768|(r|0)==32768&x>>>0<0;r=sa?4:B?6:8;B=sa?4:B?5:6}else{r=2;B=2}}else{r=0;B=0}while(0);do if(!(z&16384)){o=r;x=C;ta=644}else{if(!B){s=KA(s|0,w|0,r|0,0)|0;q=10;w=ba()|0;x=C;o=1;break}if((s|0)==0&(w|0)==0){o=f[D>>2]|0;x=KA(C|0,y|0,o|0,((o|0)<0)<<31>>31|0)|0;o=r-o|0;y=ba()|0;ta=644;break}o=D+12|0;ta=(f[D>>2]|0)+(f[o>>2]|0)|0;if(df(D,(ta|0)>1?ta:1,1)|0){g=Qf;c=Rf;ta=3954;break a}_A((f[D+16>>2]|0)+(f[o>>2]|0)|0,0,f[D>>2]|0)|0;f[o>>2]=(f[o>>2]|0)+(f[D>>2]|0);d[A>>1]=d[A>>1]&-16897;o=r;x=C;ta=644}while(0);if((ta|0)==644){ta=0;s=KA(s|0,w|0,o|0,0)|0;w=ba()|0;if(B>>>0<128){q=B;o=1}else{o=1;q=B;r=0;while(1){q=VA(q|0,r|0,7)|0;r=ba()|0;if((q|0)==0&(r|0)==0){q=B;break}else o=o+1|0}}}g=o+g|0;f[D+28>>2]=q;if((D|0)==(E|0)){z=w;break}else{D=D+-40|0;C=x}}}else{g=0;C=F;s=0;w=0;A=0;B=0;while(1){y=C+8|0;x=d[y>>1]|0;q=x&65535;do if(!(q&1))if(!(q&4)){if(q&8|0){r=8;z=7;break}o=f[C+12>>2]|0;if(q&16384)o=(f[C>>2]|0)+o|0;r=o;z=(o<<1)+12|q>>>1&1;break}else{q=C;o=f[q>>2]|0;q=f[q+4>>2]|0;sa=UA(o|0,q|0,63)|0;o=sa^o;q=(ba()|0)^q;if(q>>>0<0|(q|0)==0&o>>>0<128){r=1;z=1;break}if(q>>>0<0|(q|0)==0&o>>>0<32768){r=2;z=2;break}if(q>>>0<0|(q|0)==0&o>>>0<8388608){r=3;z=3;break}sa=q>>>0<0|(q|0)==0&o>>>0<2147483648;z=q>>>0<32768|(q|0)==32768&o>>>0<0;r=sa?4:z?6:8;z=sa?4:z?5:6;break}else{r=0;z=0}while(0);do if(!(x&16384)){o=r;x=A;y=B;ta=665}else{if(!z){s=KA(s|0,w|0,r|0,0)|0;q=10;w=ba()|0;x=A;y=B;o=1;break}if((s|0)==0&(w|0)==0){o=f[C>>2]|0;x=KA(A|0,B|0,o|0,((o|0)<0)<<31>>31|0)|0;o=r-o|0;y=ba()|0;ta=665;break}o=C+12|0;ta=(f[C>>2]|0)+(f[o>>2]|0)|0;if(df(C,(ta|0)>1?ta:1,1)|0){g=Qf;c=Rf;ta=3954;break a}_A((f[C+16>>2]|0)+(f[o>>2]|0)|0,0,f[C>>2]|0)|0;f[o>>2]=(f[o>>2]|0)+(f[C>>2]|0);d[y>>1]=d[y>>1]&-16897;o=r;x=A;y=B;ta=665}while(0);if((ta|0)==665){ta=0;s=KA(s|0,w|0,o|0,0)|0;w=ba()|0;if(z>>>0<128){q=z;o=1}else{o=1;q=z;r=0;while(1){q=VA(q|0,r|0,7)|0;r=ba()|0;if((q|0)==0&(r|0)==0){q=z;break}else o=o+1|0}}}g=o+g|0;f[C+28>>2]=q;if((C|0)==(E|0)){z=w;break}else{C=C+-40|0;A=x;B=y}}}if(g>>>0<127)w=g+1|0;else{w=1;o=g;q=0;while(1){o=VA(o|0,q|0,7)|0;q=ba()|0;if((o|0)==0&(q|0)==0)break;else w=w+1|0}o=w+g|0;g=1;q=o;r=0;while(1){q=VA(q|0,r|0,7)|0;r=ba()|0;if((q|0)==0&(r|0)==0)break;else g=g+1|0}w=o+(w>>>0>>0&1)|0}r=((w|0)<0)<<31>>31;C=KA(s|0,z|0,w|0,r|0)|0;g=KA(C|0,ba()|0,x|0,y|0)|0;o=ba()|0;q=f[ua+(I*40|0)+24>>2]|0;sa=((q|0)<0)<<31>>31;do if((o|0)>(sa|0)|(o|0)==(sa|0)&g>>>0>q>>>0){sa=f[Ka>>2]|0;ra=((sa|0)<0)<<31>>31;if((o|0)>(ra|0)|(o|0)==(ra|0)&g>>>0>sa>>>0){ta=3953;break c}if((q|0)>=(C|0)){B=f[ua+(I*40|0)+20>>2]|0;f[ua+(I*40|0)+16>>2]=B;sa=ua+(I*40|0)+8|0;d[sa>>1]=d[sa>>1]&13;break}if(df(J,C,0)|0){g=Qf;c=Rf;ta=3954;break a}B=f[ua+(I*40|0)+16>>2]|0}else{B=f[ua+(I*40|0)+20>>2]|0;f[ua+(I*40|0)+16>>2]=B}while(0);do if(w>>>0>=128)if(w>>>0<16384){g=VA(w|0,r|0,7)|0;ba()|0;b[B>>0]=g&255|-128;b[B+1>>0]=w&127;g=2;break}else{g=_i(B,w,r)|0;break}else{b[B>>0]=w;g=1}while(0);q=g&255;A=w;z=E;while(1){o=f[z+28>>2]|0;do if(o>>>0<128){b[B+q>>0]=o;g=q+1|0;q=B+A|0;if((o+-1|0)>>>0>=7)if(o>>>0>11){ta=698;break}else{o=0;break}w=z;o=h[7808+o>>0]|0;r=o;s=f[w>>2]|0;w=f[w+4>>2]|0;do{r=r+-1|0;b[q+r>>0]=s;s=VA(s|0,w|0,8)|0;w=ba()|0}while((r|0)!=0)}else{g=B+q|0;if(o>>>0<16384){b[g>>0]=o>>>7&255|-128;b[g+1>>0]=o&127;g=2}else g=_i(g,o,0)|0;g=(g&255)+q|0;q=B+A|0;ta=698}while(0);if((ta|0)==698){ta=0;o=f[z+12>>2]|0;if(!o)o=0;else YA(q|0,f[z+16>>2]|0,o|0)|0}z=z+40|0;if(z>>>0>F>>>0)break;else{q=g;A=o+A|0}}f[ua+(I*40|0)+12>>2]=C;g=ua+(I*40|0)+8|0;d[g>>1]=16;if((x|0)==0&(y|0)==0){z=wa;y=Qf;s=Rf;q=ua;r=va}else{f[J>>2]=x;d[g>>1]=16400;z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 104:{I=f[(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+40>>2]|0;c=$i(I)|0;switch(c|0){case 16:{q=0;o=0;break}case 0:{z=I+116|0;A=I+70|0;B=I+68|0;C=I+50|0;D=I+1|0;E=I+20|0;F=I+2|0;q=0;o=0;l:while(1){g=f[z>>2]|0;if(!(b[g+8>>0]|0)){w=(b[g+2>>0]|0)==0;r=d[g+22>>1]|0;q=KA((w?r&65535:0)|0,(w?0:0)|0,q|0,o|0)|0;o=ba()|0;w=g;y=d[A>>1]|0;s=g}else{q=KA(q|0,o|0,j[g+22>>1]|0,0)|0;o=ba()|0;do{c=b[B>>0]|0;if(!(c<<24>>24))break l;d[C>>1]=0;b[D>>0]=b[D>>0]&-7;s=d[I+72+((c<<24>>24)+-1<<1)>>1]|0;d[A>>1]=s;r=c+-1<<24>>24;b[B>>0]=r;r=f[I+120+(r<<24>>24<<2)>>2]|0;f[z>>2]=r;c=f[g+72>>2]|0;if(!(d[c+28>>1]&32)){bh(c);g=f[z>>2]|0;x=g;c=d[A>>1]|0}else{x=f[c+20>>2]|0;g=x+120|0;f[g>>2]=(f[g>>2]|0)+-1;x=x+136|0;f[c+16>>2]=f[x>>2];f[x>>2]=c;x=r;g=r;c=s}r=d[g+22>>1]|0}while((c&65535)>=(r&65535));y=c+1<<16>>16;d[A>>1]=y;w=g;s=x}c=f[w+56>>2]|0;if(y<<16>>16==r<<16>>16){c=c+((h[w+9>>0]|0)+8)|0;g=b[B>>0]|0;if(g<<24>>24>18){ta=716;break c}c=h[c>>0]<<24|h[c+1>>0]<<16|h[c+2>>0]<<8|h[c+3>>0];sa=f[E>>2]|0;d[C>>1]=0;b[D>>0]=b[D>>0]&-7;ra=g<<24>>24;d[I+72+(ra<<1)>>1]=y;f[I+120+(ra<<2)>>2]=s;d[A>>1]=0;b[B>>0]=g+1<<24>>24;c=aj(sa,c,z,I,h[F>>0]|0)|0}else{g=(f[w+64>>2]|0)+((y&65535)<<1)|0;c=c+((h[g>>0]<<8|h[g+1>>0])&j[w+24>>1])|0;g=b[B>>0]|0;if(g<<24>>24>18){ta=719;break c}c=h[c>>0]<<24|h[c+1>>0]<<16|h[c+2>>0]<<8|h[c+3>>0];sa=f[E>>2]|0;d[C>>1]=0;b[D>>0]=b[D>>0]&-7;ra=g<<24>>24;d[I+72+(ra<<1)>>1]=y;f[I+120+(ra<<2)>>2]=s;d[A>>1]=0;b[B>>0]=g+1<<24>>24;c=aj(sa,c,z,I,h[F>>0]|0)|0}if(c){r=Qf;q=Rf;ta=3925;break a}}c=$i(I)|0;if(c){r=Qf;q=Rf;ta=3925;break a}break}default:{r=Qf;q=Rf;ta=3925;break a}}sa=f[Kd>>2]|0;g=f[m+8>>2]|0;c=sa+(g*40|0)|0;g=sa+(g*40|0)+8|0;if(!(d[g>>1]&9216))d[g>>1]=4;else Qi(c)|0;z=c;f[z>>2]=q;f[z+4>>2]=o;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case 0:{q=f[m+4>>2]|0;y=f[m+16>>2]|0;if(!q){if((f[nd>>2]|0)>0){ta=729;break c}if(!y)w=0;else w=(wz(y)|0)&1073741823;r=(f[Sd>>2]|0)+(f[Rd>>2]|0)|0;m:do if(f[bb>>2]|0){s=r+1|0;q=0;while(1){if((q|0)>=(f[gd>>2]|0))break m;c=f[(f[bb>>2]|0)+(q<<2)>>2]|0;g=f[f[c+4>>2]>>2]|0;o=f[c+8>>2]|0;if(((o|0)!=0?(f[g>>2]|0)>1:0)?(ce=f[g+80>>2]|0,f[c+20>>2]=s,(ce|0)!=0):0)c=jb[ce&255](o,r)|0;else c=0;if(!c)q=q+1|0;else{r=Qf;q=Rf;ta=3925;break a}}}while(0);g=w+33|0;do if(f[rd>>2]|0)if(!(b[l>>0]|0))ta=748;else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}else{if(!(0<0|(0==0?(j[pd>>1]|0)>>>0>>0:0))){c=f[Ff>>2]|0;if(c|0){f[Ff>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;break}c=f[zf>>2]|0;if(!c)c=Bf;else{f[zf>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;break}}else c=qd;f[c>>2]=(f[c>>2]|0)+1;ta=748}while(0);if((ta|0)==748){ta=0;c=Dc(Yf,g,0)|0}if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}sa=c+32|0;f[c>>2]=sa;YA(sa|0,y|0,w+1|0)|0;if(!(b[sd>>0]|0))f[Sd>>2]=(f[Sd>>2]|0)+1;else{b[sd>>0]=0;b[Ud>>0]=1}f[c+24>>2]=f[Dd>>2];f[Dd>>2]=c;z=Va;y=f[z+4>>2]|0;s=c+8|0;f[s>>2]=f[z>>2];f[s+4>>2]=y;s=Ua;y=f[s+4>>2]|0;z=c+16|0;f[z>>2]=f[s>>2];f[z+4>>2]=y;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}g=f[Dd>>2]|0;if(!g){ta=761;break c}w=h[1232+(h[y>>0]|0)>>0]|0;x=0;while(1){r=f[g>>2]|0;sa=b[r>>0]|0;o=(h[1232+(sa&255)>>0]|0)-w|0;if(!(sa<<24>>24==0|(o|0)!=0)){s=y;do{r=r+1|0;s=s+1|0;sa=b[r>>0]|0;o=(h[1232+(sa&255)>>0]|0)-(h[1232+(h[s>>0]|0)>>0]|0)|0}while(!(sa<<24>>24==0|(o|0)!=0))}if(!o)break;g=f[g+24>>2]|0;if(!g){ta=761;break c}else x=x+1|0}B=(q|0)==1;if(B&(f[nd>>2]|0)>0){ta=763;break c}C=g+24|0;if(!(f[C>>2]|0)){o=(b[Ud>>0]|0)!=0;if(B&o){ra=f[a>>2]|0;sa=ra+464|0;ra=ra+472|0;sa=KA(f[ra>>2]|0,f[ra+4>>2]|0,f[sa>>2]|0,f[sa+4>>2]|0)|0;ra=ba()|0;if((ra|0)>0|(ra|0)==0&sa>>>0>0){ta=767;break c}b[sd>>0]=1;if((tg(a)|0)==5){ta=769;break c}b[Ud>>0]=0;c=f[Uf>>2]|0;o=1}else ta=771}else{o=0;ta=771}if((ta|0)==771){ta=0;y=(f[Sd>>2]|0)-x|0;A=y+-1|0;z=(q|0)==2;if(z){r=f[yf>>2]&1;if((f[Kf>>2]|0)>0){w=r^1;s=0;while(1){c=$h(f[(f[Lf>>2]|0)+(s<<4)+4>>2]|0,516,w)|0;s=s+1|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}x=f[Kf>>2]|0;if((s|0)>=(x|0)){c=0;ta=777;break}}}}else{r=0;x=f[Kf>>2]|0;ta=777}n:do if((ta|0)==777){ta=0;if((x|0)>0){c=(y|0)<1;if(!z){if(!c){y=0;c=x;while(1){s=f[(f[Lf>>2]|0)+(y<<4)+4>>2]|0;do if(s){if((b[s+8>>0]|0)!=2)break;w=f[s+4>>2]|0;f[w+4>>2]=f[s>>2];c=Lg(f[w>>2]|0,q,A)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}c=Mg(w)|0;sa=f[(f[w+12>>2]|0)+56>>2]|0;f[w+44>>2]=h[sa+29>>0]<<16|h[sa+28>>0]<<24|h[sa+30>>0]<<8|h[sa+31>>0];if(c|0){r=Qf;q=Rf;ta=3925;break a}c=f[Kf>>2]|0}while(0);y=y+1|0;if((y|0)>=(c|0)){c=0;break n}}}y=0;c=x;while(1){s=f[(f[Lf>>2]|0)+(y<<4)+4>>2]|0;do if(s){if((b[s+8>>0]|0)!=2)break;w=f[s+4>>2]|0;f[w+4>>2]=f[s>>2];c=Lg(f[w>>2]|0,q,A)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}s=w+44|0;if(d[w+22>>1]&16)f[s>>2]=0;c=Mg(w)|0;sa=f[(f[w+12>>2]|0)+56>>2]|0;f[s>>2]=h[sa+29>>0]<<16|h[sa+28>>0]<<24|h[sa+30>>0]<<8|h[sa+31>>0];if(c|0){r=Qf;q=Rf;ta=3925;break a}c=f[Kf>>2]|0}while(0);y=y+1|0;if((y|0)>=(c|0)){c=0;break n}}}if(!c){y=0;c=x;while(1){s=f[(f[Lf>>2]|0)+(y<<4)+4>>2]|0;do if(s){if((b[s+8>>0]|0)!=2)break;w=f[s+4>>2]|0;f[w+4>>2]=f[s>>2];c=f[w+8>>2]|0;if(c|0?(uf=Kg(c,0,0)|0,uf|0):0){r=Qf;q=Rf;c=uf;ta=3925;break a}c=Lg(f[w>>2]|0,2,A)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}c=Mg(w)|0;sa=f[(f[w+12>>2]|0)+56>>2]|0;f[w+44>>2]=h[sa+29>>0]<<16|h[sa+28>>0]<<24|h[sa+30>>0]<<8|h[sa+31>>0];if(c|0){r=Qf;q=Rf;ta=3925;break a}c=f[Kf>>2]|0}while(0);y=y+1|0;if((y|0)>=(c|0)){c=0;break n}}}y=0;c=x;while(1){s=f[(f[Lf>>2]|0)+(y<<4)+4>>2]|0;do if(s){if((b[s+8>>0]|0)!=2)break;w=f[s+4>>2]|0;f[w+4>>2]=f[s>>2];c=f[w+8>>2]|0;if(c|0?(tf=Kg(c,0,0)|0,tf|0):0){r=Qf;q=Rf;c=tf;ta=3925;break a}c=Lg(f[w>>2]|0,2,A)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}s=w+44|0;if(d[w+22>>1]&16)f[s>>2]=0;c=Mg(w)|0;sa=f[(f[w+12>>2]|0)+56>>2]|0;f[s>>2]=h[sa+29>>0]<<16|h[sa+28>>0]<<24|h[sa+30>>0]<<8|h[sa+31>>0];if(c|0){r=Qf;q=Rf;ta=3925;break a}c=f[Kf>>2]|0}while(0);y=y+1|0;if((y|0)>=(c|0)){c=0;break}}}}while(0);if(!r)x=A;else{r=f[ab>>2]|0;if(r|0)do{sa=r+145|0;ra=(h[sa>>0]|h[sa+1>>0]<<8)&-4|1;b[sa>>0]=ra;b[sa+1>>0]=ra>>8;r=f[r+8>>2]|0}while((r|0)!=0);Vh(Yf);f[yf>>2]=f[yf>>2]|1;x=A}}r=f[Dd>>2]|0;if((r|0)!=(g|0))do{f[Dd>>2]=f[r+24>>2];o:do if(r|0){if(f[pf>>2]|0){Kc(Yf,r);break}s=r;do if((f[rf>>2]|0)>>>0<=s>>>0){if((f[sf>>2]|0)>>>0<=s>>>0)break;f[r>>2]=f[Ff>>2];f[Ff>>2]=r;break o}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{sa=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}while(0);f[Sd>>2]=(f[Sd>>2]|0)+-1;r=f[Dd>>2]|0}while((r|0)!=(g|0));if(B){f[Dd>>2]=f[C>>2];do if(!(f[pf>>2]|0)){sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}else Kc(Yf,g);while(0);if(o){de=1;ta=846}else f[Sd>>2]=(f[Sd>>2]|0)+-1}else{de=g+8|0;ta=f[de+4>>2]|0;sa=Va;f[sa>>2]=f[de>>2];f[sa+4>>2]=ta;sa=g+16|0;ta=f[sa+4>>2]|0;de=Ua;f[de>>2]=f[sa>>2];f[de+4>>2]=ta;de=o;ta=846}if((ta|0)==846?(ta=0,!((q|0)==2|de^1)):0)if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}else{r=Qf;q=Rf;ta=3925;break a}if(!(f[bb>>2]|0)){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=x+1|0;switch(q|0){case 0:while(1){if((q|0)>=(f[gd>>2]|0)){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}g=f[(f[bb>>2]|0)+(q<<2)>>2]|0;c=f[f[g+4>>2]>>2]|0;o=f[g+8>>2]|0;do if(!o)c=0;else{if((f[c>>2]|0)<=1){c=0;break}c=f[c+80>>2]|0;f[g+20>>2]=r;if(!c){c=0;break}c=jb[c&255](o,x)|0}while(0);if(!c)q=q+1|0;else{r=Qf;q=Rf;ta=3925;break a}}case 2:{q=0;while(1){if((q|0)>=(f[gd>>2]|0)){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}g=f[(f[bb>>2]|0)+(q<<2)>>2]|0;c=f[f[g+4>>2]>>2]|0;o=f[g+8>>2]|0;do if(!o)c=0;else{if((f[c>>2]|0)<=1){c=0;break}c=f[c+88>>2]|0;if(!c){c=0;break}if((f[g+20>>2]|0)<=(x|0)){c=0;break}c=jb[c&255](o,x)|0}while(0);if(!c)q=q+1|0;else{r=Qf;q=Rf;ta=3925;break a}}}default:{q=0;while(1){if((q|0)>=(f[gd>>2]|0)){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}g=f[(f[bb>>2]|0)+(q<<2)>>2]|0;c=f[f[g+4>>2]>>2]|0;o=f[g+8>>2]|0;do if(!o)c=0;else{if((f[c>>2]|0)<=1){c=0;break}c=f[c+84>>2]|0;if(!c){c=0;break}if((f[g+20>>2]|0)<=(x|0)){c=0;break}c=jb[c&255](o,x)|0}while(0);if(!c)q=q+1|0;else{r=Qf;q=Rf;ta=3925;break a}}}}}break}case 2:{f[Jf>>2]=0;o=m+8|0;g=f[o>>2]|0;if(g|0?!((f[dd>>2]&1048576|0)==0&0==0):0){c=8;ta=957;break c}x=m+4|0;w=f[(f[Lf>>2]|0)+(f[x>>2]<<4)+4>>2]|0;do if(w){c=Li(w,g,Jf)|0;if(c|0){ta=901;break c}if((f[o>>2]|0)!=0?((h[Mf>>0]|h[Mf+1>>0]<<8)&128)!=0:0){if(b[sd>>0]|0?(f[Oa>>2]|0)<=1:0){c=0;break}c=f[ld>>2]|0;if(!c){g=(f[Rd>>2]|0)+1|0;f[Rd>>2]=g;g=(f[Sd>>2]|0)+g|0;f[ld>>2]=g}else g=c;s=g+-1|0;p:do if(!(f[bb>>2]|0))ta=917;else{r=0;while(1){if((r|0)>=(f[gd>>2]|0))break;o=f[(f[bb>>2]|0)+(r<<2)>>2]|0;c=f[f[o+4>>2]>>2]|0;q=f[o+8>>2]|0;do if(!q)c=0;else{if((f[c>>2]|0)<=1){c=0;break}c=f[c+80>>2]|0;f[o+20>>2]=g;if(!c){c=0;break}c=jb[c&255](q,s)|0}while(0);if(!c)r=r+1|0;else break p}g=f[ld>>2]|0;ta=917}while(0);if((ta|0)==917){ta=0;c=f[w+4>>2]|0;f[c+4>>2]=f[w>>2];c=f[c>>2]|0;if((f[c+96>>2]|0)<(g|0)?(b[c+6>>0]|0)!=0:0)c=Pi(c,g)|0;else c=0}sa=Va;ra=f[sa+4>>2]|0;qa=ec;f[qa>>2]=f[sa>>2];f[qa+4>>2]=ra;qa=Ua;ra=f[qa+4>>2]|0;sa=fc;f[sa>>2]=f[qa>>2];f[sa+4>>2]=ra}else c=0}while(0);if(d[m+2>>1]|0){if((f[Jf>>2]|0)!=(f[m+12>>2]|0)){ta=924;break c}if((f[(f[(f[Lf>>2]|0)+(f[x>>2]<<4)+12>>2]|0)+4>>2]|0)!=(f[m+16>>2]|0)){ta=924;break c}}if(c|0){ta=957;break c}z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case 105:{g=f[m+12>>2]|0;o=f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+4>>2]|0;q=f[o+4>>2]|0;f[q+4>>2]=f[o>>2];if((g|0)==15)q=(f[o+20>>2]|0)+(f[(f[q>>2]|0)+100>>2]|0)|0;else{q=(f[(f[q+12>>2]|0)+56>>2]|0)+((g<<2)+36)|0;q=h[q+1>>0]<<16|h[q>>0]<<24|h[q+2>>0]<<8|h[q+3>>0]}sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;z=g;f[z>>2]=q;f[z+4>>2]=((q|0)<0)<<31>>31;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 107:{x=f[Lf>>2]|0;y=m+4|0;z=f[y>>2]|0;g=f[x+(z<<4)+4>>2]|0;A=m+8|0;s=f[A>>2]|0;B=m+12|0;q=f[B>>2]|0;w=f[g+4>>2]|0;f[w+4>>2]=f[g>>2];g=f[w+12>>2]|0;r=f[g+56>>2]|0;g=f[g+72>>2]|0;o=f[g+20>>2]|0;if((d[g+28>>1]&4)!=0?(f[o+24>>2]|0)>>>0>=(f[g+24>>2]|0)>>>0:0)if(!(f[o+96>>2]|0))ta=975;else{c=Ng(g)|0;ta=974}else ta=970;do if((ta|0)==970){ta=0;c=f[o+40>>2]|0;if(!c)if((f[o+148>>2]|0)>>>0>(f[o+152>>2]|0)>>>0){c=Og(g)|0;ta=974;break}else{c=Pg(g)|0;ta=974;break}else o=0}while(0);if((ta|0)==974){ta=0;if(!c)ta=975;else o=0}if((ta|0)==975){ta=0;sa=r+((s<<2)+36)|0;b[sa>>0]=q>>>24;b[sa+1>>0]=q>>>16;b[sa+2>>0]=q>>>8;c=q&255;b[sa+3>>0]=c;if((s|0)==7){b[w+18>>0]=c;c=0;o=1}else{c=0;o=1}}switch(f[A>>2]|0){case 1:{f[f[x+(z<<4)+12>>2]>>2]=f[B>>2];f[yf>>2]=f[yf>>2]|1;break}case 2:{b[(f[x+(z<<4)+12>>2]|0)+76>>0]=f[B>>2];break}default:{}}if((f[y>>2]|0)==1){g=f[ab>>2]|0;if(g|0)do{sa=g+145|0;ra=(h[sa>>0]|h[sa+1>>0]<<8)&-4|1;b[sa>>0]=ra;b[sa+1>>0]=ra>>8;g=f[g+8>>2]|0}while((g|0)!=0);sa=(h[Mf>>0]|h[Mf+1>>0]<<8)&-4;b[Mf>>0]=sa;b[Mf+1>>0]=sa>>8}if(o){z=wa;y=Qf;s=Rf;q=ua;r=va}else{r=Qf;q=Rf;ta=3925;break a}break}case 108:{g=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;if((g|0)!=0?(f[g+52>>2]|0)==(f[m+8>>2]|0):0){o=m+2|0;ta=1014}else ta=989;break}case 110:case 109:{ta=989;break}case 111:{g=f[tc>>2]|0;x=f[g+(f[m+8>>2]<<2)>>2]|0;q=f[m+4>>2]|0;s=d[x+56>>1]|0;w=s<<16>>16;c=f[Kd>>2]|0;if((q|0)>0)c=c+(((f[Ba>>2]|0)-q|0)*40|0)|0;o=w<<3;r=o+96|0;o=o+296|0;g=f[g+(q<<2)>>2]|0;if(g|0){Dg(a,g);f[(f[tc>>2]|0)+(q<<2)>>2]=0}if((f[c+24>>2]|0)<(o|0)){if(df(c,o,0)|0){g=Qf;c=Rf;ta=3954;break a}o=c+16|0;g=o;o=f[o>>2]|0}else{o=f[c+20>>2]|0;g=c+16|0;f[g>>2]=o;sa=c+8|0;d[sa>>1]=d[sa>>1]&13}f[(f[tc>>2]|0)+(q<<2)>>2]=o;c=o+1|0;na=o;oa=na+36|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));b[c>>0]=-1;d[o+56>>1]=s;f[o+72>>2]=o+88+(w<<2);sa=(f[g>>2]|0)+r|0;c=o+40|0;f[c>>2]=sa;f[sa>>2]=0;f[sa+4>>2]=0;f[sa+8>>2]=0;f[sa+12>>2]=0;f[sa+16>>2]=0;if(!o){g=Qf;c=Rf;ta=3954;break a}b[o+2>>0]=1;sa=o+5|0;b[sa>>0]=b[sa>>0]|1;sa=f[x+44>>2]|0;f[o+44>>2]=sa;b[o+4>>0]=b[x+4>>0]|0;z=wa;y=Qf;s=Rf;q=ua;r=va;c=bj(f[x+8>>2]|0,1,4,sa,f[c>>2]|0)|0;break}case 113:case 112:{q=f[m+4>>2]|0;s=f[m+8>>2]|0;c=f[Kd>>2]|0;if((q|0)>0)c=c+(((f[Ba>>2]|0)-q|0)*40|0)|0;g=s<<3;r=g+96|0;g=g+296|0;o=f[(f[tc>>2]|0)+(q<<2)>>2]|0;if(o|0){Dg(a,o);f[(f[tc>>2]|0)+(q<<2)>>2]=0}if((f[c+24>>2]|0)<(g|0)){if(df(c,g,0)|0){g=Qf;c=Rf;ta=3954;break a}w=c+16|0;g=w;w=f[w>>2]|0}else{w=f[c+20>>2]|0;g=c+16|0;f[g>>2]=w;sa=c+8|0;d[sa>>1]=d[sa>>1]&13}f[(f[tc>>2]|0)+(q<<2)>>2]=w;c=w+1|0;na=w;oa=na+36|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));b[c>>0]=-1;d[w+56>>1]=s;f[w+72>>2]=w+88+(s<<2);sa=(f[g>>2]|0)+r|0;o=w+40|0;f[o>>2]=sa;f[sa>>2]=0;f[sa+4>>2]=0;f[sa+8>>2]=0;f[sa+12>>2]=0;f[sa+16>>2]=0;if(!w){g=Qf;c=Rf;ta=3954;break a}b[w+2>>0]=1;r=w+5|0;b[r>>0]=b[r>>0]|1;q=w+8|0;s=m+2|0;c=cj(f[Yf>>2]|0,0,Yf,q,(d[s>>1]|5)&65535,1054)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}c=Li(f[q>>2]|0,1,0)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}g=f[m+16>>2]|0;f[w+44>>2]=g;if(!g){c=bj(f[q>>2]|0,1,4,0,f[o>>2]|0)|0;b[w+4>>0]=1}else{c=dj(f[q>>2]|0,Jf,(d[s>>1]|2)&65535)|0;if(!c)c=bj(f[q>>2]|0,f[Jf>>2]|0,4,g,f[o>>2]|0)|0;b[w+4>>0]=0}if(c|0){r=Qf;q=Rf;ta=3925;break a}b[r>>0]=((d[s>>1]|0)!=8&1)<<2&255|b[r>>0]&-5;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case 114:{q=f[m+4>>2]|0;r=f[m+8>>2]|0;c=f[Kd>>2]|0;if((q|0)>0)c=c+(((f[Ba>>2]|0)-q|0)*40|0)|0;g=(r<<3)+96|0;o=f[(f[tc>>2]|0)+(q<<2)>>2]|0;if(o|0){Dg(a,o);f[(f[tc>>2]|0)+(q<<2)>>2]=0}if((f[c+24>>2]|0)<(g|0)){if(df(c,g,0)|0){g=Qf;c=Rf;ta=3954;break a}s=f[c+16>>2]|0}else{s=f[c+20>>2]|0;f[c+16>>2]=s;sa=c+8|0;d[sa>>1]=d[sa>>1]&13}f[(f[tc>>2]|0)+(q<<2)>>2]=s;na=s;oa=na+36|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));b[s>>0]=1;b[s+1>>0]=-1;d[s+56>>1]=r;f[s+72>>2]=s+88+(r<<2);if(!s){g=Qf;c=Rf;ta=3954;break a}q=f[m+16>>2]|0;g=s+44|0;f[g>>2]=q;o=f[m+12>>2]|0;q=j[q+6>>1]<<2;r=q+156|0;do if(f[rd>>2]|0)if(!(b[l>>0]|0))ta=1060;else{ta=1062;break c}else{if(!(0<0|(0==0?(j[pd>>1]|0)>>>0>>0:0))){c=f[Ff>>2]|0;if(c|0){f[Ff>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;w=c;break}c=f[zf>>2]|0;if(!c)c=Bf;else{f[zf>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;w=c;break}}else c=qd;f[c>>2]=(f[c>>2]|0)+1;ta=1060}while(0);if((ta|0)==1060){ta=0;w=Dc(Yf,r,0)|0}if(!w){ta=1062;break c}_A(w|0,0,r|0)|0;f[s+40>>2]=w;sa=w+136|0;f[w+28>>2]=sa;YA(sa|0,f[g>>2]|0,q+20|0)|0;f[w+148>>2]=0;if(o|0)d[w+142>>1]=o;c=f[Lf>>2]|0;g=f[(f[(f[c+4>>2]|0)+4>>2]|0)+32>>2]|0;f[w+12>>2]=g;b[w+59>>0]=1;b[w+58>>0]=-1;b[w+57>>0]=0;f[w+24>>2]=Yf;f[w+72>>2]=w;if((b[xa>>0]|0)!=2?(ra=U(f[9383]|0,g)|0,f[w>>2]=ra,sa=f[(f[c+12>>2]|0)+80>>2]|0,qa=(sa|0)<0,fe=((g|0)<0)<<31>>31,sa=QA((qa?-1024:g)|0,(qa?-1:fe)|0,sa|0,((sa|0)<0)<<31>>31|0)|0,qa=ba()|0,pa=(qa|0)<0|(qa|0)==0&sa>>>0<536870912,sa=pa?sa:536870912,pa?qa:0,f[w+4>>2]=(ra|0)>(sa|0)?ra:sa,(f[9333]|0)==0):0){f[w+52>>2]=g;sa=KA(g|0,fe|0,-1,-1)|0;ra=ba()|0;do if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390)c=0;else{if(!(f[9328]|0)){c=ib[f[37356>>2]&255](g)|0;break}o=ib[f[37372>>2]&255](g)|0;if((f[18194]|0)>>>0>>0)f[18194]=g;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){sa=f[18187]|0;ra=LA(c|0,g|0,o|0,((o|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}c=ib[f[37356>>2]&255](o)|0;if(!c){c=0;break}g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0<=(f[18196]|0)>>>0)break;f[18196]=g}while(0);f[w+40>>2]=c;c=(c|0)==0?7:0}else c=0;do if((j[w+144>>1]|0)<13){sa=f[w+156>>2]|0;if(sa|0?(sa|0)!=(f[hc>>2]|0):0)break;b[w+60>>0]=3}while(0);if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case 115:{qa=(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+16|0;sa=qa;ra=f[sa>>2]|0;sa=f[sa+4>>2]|0;oa=KA(ra|0,sa|0,1,0)|0;pa=ba()|0;f[qa>>2]=oa;f[qa+4>>2]=pa;if((ra|0)==0&(sa|0)==0)ta=27;else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 116:{r=f[m+4>>2]|0;s=f[m+12>>2]|0;g=f[Kd>>2]|0;if((r|0)>0)g=g+(((f[Ba>>2]|0)-r|0)*40|0)|0;o=(s<<3)+96|0;q=f[(f[tc>>2]|0)+(r<<2)>>2]|0;if(q|0){Dg(a,q);f[(f[tc>>2]|0)+(r<<2)>>2]=0}if((f[g+24>>2]|0)<(o|0)){if(df(g,o,0)|0){g=Qf;c=Rf;ta=3954;break a}g=f[g+16>>2]|0}else{sa=f[g+20>>2]|0;f[g+16>>2]=sa;g=g+8|0;d[g>>1]=d[g>>1]&13;g=sa}f[(f[tc>>2]|0)+(r<<2)>>2]=g;na=g;oa=na+36|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));b[g>>0]=3;b[g+1>>0]=-1;d[g+56>>1]=s;f[g+72>>2]=g+88+(s<<2);if(!g){g=Qf;c=Rf;ta=3954;break a}b[g+2>>0]=1;f[g+32>>2]=f[m+8>>2];b[g+4>>0]=1;f[g+40>>2]=72790;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 117:{z=m+4|0;Dg(a,f[(f[tc>>2]|0)+(f[z>>2]<<2)>>2]|0);f[(f[tc>>2]|0)+(f[z>>2]<<2)>>2]=0;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 25:case 24:case 23:case 22:{y=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;g=C&255;b[y+2>>0]=0;q:do if(!(b[y+4>>0]|0)){c=f[y+40>>2]|0;o=(h[c+3>>0]|0)>>>1&1;ta=f[m+16>>2]|0;f[ee>>2]=f[y+44>>2];d[Ca>>1]=ta;b[Da>>0]=(g<<1&2^2)+255;f[Ea>>2]=ua+((f[m+12>>2]|0)*40|0);b[Fa>>0]=0;c=ej(c,ee,0,0,0,be)|0;if(c|0){ta=1138;break c}c=o&255;if(o<<24>>24!=0&(b[Fa>>0]|0)==0)if(!(f[be>>2]|0)){m=m+20|0;ta=1140}else{c=0;ta=1139}else{o=c;ta=1121}}else{s=f[m+12>>2]|0;x=ua+(s*40|0)|0;w=ua+(s*40|0)+8|0;o=d[w>>1]|0;if((o&14)==2){o=b[ua+(s*40|0)+10>>0]|0;q=ua+(s*40|0)+16|0;r=ua+(s*40|0)+12|0;if(!(jf(f[q>>2]|0,Jf,f[r>>2]|0,o)|0))o=d[w>>1]|0;else{if(!(kf(f[q>>2]|0,Td,f[r>>2]|0,o)|0)){sa=Td;ta=f[sa+4>>2]|0;o=x;f[o>>2]=f[sa>>2];f[o+4>>2]=ta;o=4}else{p[x>>3]=+p[Jf>>3];o=8}o=d[w>>1]&-3|o;d[w>>1]=o}}o=o&65535;do if(!(o&4)){if(o&8|0){q=Fc(+p[x>>3])|0;r=ba()|0;break}if(!(o&18)){q=0;r=0}else{q=Gc(b[ua+(s*40|0)+10>>0]|0,f[ua+(s*40|0)+12>>2]|0,f[ua+(s*40|0)+16>>2]|0)|0;r=ba()|0;o=j[w>>1]|0}}else{r=x;q=f[r>>2]|0;r=f[r+4>>2]|0}while(0);do if(!(o&4)){if(!(o&8)){ta=1139;break q}u=+p[x>>3];v=+(q>>>0)+4294967296.0*+(r|0);if(u>31)+g|0;break}else{g=((g&1|0)==0&u>v&1)+g|0;break}}while(0);c=ej(f[y+40>>2]|0,0,q,r,0,be)|0;ta=y+64|0;f[ta>>2]=q;f[ta+4>>2]=r;if(!c){o=0;ta=1121}else{ta=1138;break c}}while(0);r:do if((ta|0)==1121){ta=0;b[y+3>>0]=0;f[y+28>>2]=0;c=f[be>>2]|0;if((g|0)>23){if((c|0)>=0?!((g|0)==25&(c|0)==0):0)f[be>>2]=0;else ta=1124;s:do if((ta|0)==1124){f[be>>2]=0;c=fj(f[y+40>>2]|0,0)|0;switch(c|0){case 0:break s;case 101:break;default:{ta=1138;break c}}f[be>>2]=1;c=0;ta=1139;break r}while(0);m=(o|0)==0?m:m+20|0;ta=1140;break}if((c|0)<=0?!((g|0)==22&(c|0)==0):0){ta=(b[f[y+40>>2]>>0]|0)!=0;f[be>>2]=ta&1;if(ta){c=0;ta=1139;break}else{m=(o|0)==0?m:m+20|0;ta=1140;break}}f[be>>2]=0;c=f[y+40>>2]|0;sa=c+1|0;b[sa>>0]=b[sa>>0]&-15;d[c+50>>1]=0;if(((b[c>>0]|0)==0?(he=c+70|0,ie=d[he>>1]|0,ie<<16>>16!=0):0)?(b[(f[c+116>>2]|0)+8>>0]|0)!=0:0)d[he>>1]=ie+-1<<16>>16;else ta=1133;t:do if((ta|0)==1133){c=gj(c)|0;switch(c|0){case 0:break t;case 101:break;default:{ta=1138;break c}}f[be>>2]=1;c=0;ta=1139;break r}while(0);m=(o|0)==0?m:m+20|0;ta=1140}while(0);if((ta|0)==1139){ta=27;break d}else if((ta|0)==1140){ta=0;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}break}case 119:{z=(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+5|0;b[z>>0]=(f[m+8>>2]&255)<<3&8|b[z>>0]&-9;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 26:{if(!(b[(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+5>>0]&8))ta=1143;else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 29:case 28:case 27:{ta=1143;break}case 30:{w=m+12|0;o=f[w>>2]|0;x=ua+(o*40|0)+8|0;y=d[x>>1]|0;if(!(y&4)){s=ua+(o*40|0)|0;g=y&65535;do if(!(g&4)){if(g&8|0){v=+p[s>>3];o=Fc(v)|0;q=ba()|0;ta=KA(o|0,q|0,1,-2147483648)|0;sa=ba()|0;g=y&15872|4;if(!((sa>>>0>0|(sa|0)==0&ta>>>0>1)&v==+(o>>>0)+4294967296.0*+(q|0))){g=y;break}ta=s;f[ta>>2]=o;f[ta+4>>2]=q;d[x>>1]=g;break}if(g&2){q=b[ua+(o*40|0)+10>>0]|0;r=ua+(o*40|0)+16|0;g=ua+(o*40|0)+12|0;if(!(jf(f[r>>2]|0,Jf,f[g>>2]|0,q)|0))g=d[x>>1]|0;else{if(kf(f[r>>2]|0,Td,f[g>>2]|0,q)|0){v=+p[Jf>>3];p[s>>3]=v;o=d[x>>1]|0;g=o|8;d[x>>1]=g;q=Fc(v)|0;r=ba()|0;sa=KA(q|0,r|0,1,-2147483648)|0;ra=ba()|0;if((ra>>>0>0|(ra|0)==0&sa>>>0>1)&v==+(q>>>0)+4294967296.0*+(r|0)){g=s;f[g>>2]=q;f[g+4>>2]=r;g=o&15872;ta=1206}}else{sa=Td;ta=f[sa+4>>2]|0;g=s;f[g>>2]=f[sa>>2];f[g+4>>2]=ta;g=d[x>>1]|0;ta=1206}if((ta|0)==1206){g=g|4;d[x>>1]=g}g=g&-3;d[x>>1]=g}}else g=y}else g=y;while(0);d[x>>1]=y;if(!(g&4))ta=27;else{c=w;ta=1212}}else{c=w;ta=1212}break}case 31:{c=m+12|0;ta=1212;break}case 120:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;z=(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+16|0;y=z;s=f[y>>2]|0;y=f[y+4>>2]|0;r=KA(s|0,y|0,1,0)|0;q=ba()|0;f[z>>2]=r;f[z+4>>2]=q;z=g;f[z>>2]=s;f[z+4>>2]=y;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 121:{sa=Jf;f[sa>>2]=0;f[sa+4>>2]=0;f[Td>>2]=0;sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;A=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;z=A+5|0;do if(!(b[z>>0]&2)){o=A+40|0;c=ij(f[o>>2]|0,Td)|0;if(c|0){ta=1253;break c}if(f[Td>>2]|0){c=Jf;f[c>>2]=1;f[c+4>>2]=0;c=0;break}o=f[o>>2]|0;oh(o);o=o+32|0;c=f[o>>2]|0;o=f[o+4>>2]|0;sa=Jf;f[sa>>2]=c;f[sa+4>>2]=o;if((c|0)==-1&(o|0)==2147483647){b[z>>0]=b[z>>0]|2;c=0;break}else{ra=KA(c|0,o|0,1,0)|0;sa=ba()|0;c=Jf;f[c>>2]=ra;f[c+4>>2]=sa;c=0;break}}while(0);s=f[m+12>>2]|0;if(s|0){o=f[sc>>2]|0;if(!o)q=ua;else{while(1){q=f[o+4>>2]|0;if(!q)break;else o=q}q=f[o+16>>2]|0}y=q+(s*40|0)|0;w=q+(s*40|0)+8|0;o=d[w>>1]|0;r=o&65535;do if(!(r&4)){if(r&8|0){r=Fc(+p[y>>3])|0;q=ba()|0;ta=1242;break}if(!(r&18)){x=y;f[x>>2]=0;f[x+4>>2]=0;d[w>>1]=o&15872|4;x=0;r=0;break}else{r=Gc(b[q+(s*40|0)+10>>0]|0,f[q+(s*40|0)+12>>2]|0,f[q+(s*40|0)+16>>2]|0)|0;q=ba()|0;o=d[w>>1]|0;ta=1242;break}}else{q=y;r=f[q>>2]|0;q=f[q+4>>2]|0;ta=1242}while(0);if((ta|0)==1242){ta=0;sa=y;f[sa>>2]=r;f[sa+4>>2]=q;d[w>>1]=o&15872|4;if((r|0)==-1&(q|0)==2147483647){c=13;ta=1253;break c}else x=q}if(b[z>>0]&2){c=13;ta=1253;break c}o=Jf;q=f[o>>2]|0;o=f[o+4>>2]|0;s=KA(r|0,x|0,1,0)|0;w=ba()|0;if(!((o|0)>(x|0)|(o|0)==(x|0)&q>>>0>r>>>0)){q=Jf;f[q>>2]=s;f[q+4>>2]=w;q=s;o=w}sa=y;f[sa>>2]=q;f[sa+4>>2]=o}if(b[z>>0]&2){q=A+40|0;o=0;do{zd(8,Jf);r=Jf;r=KA(f[r>>2]|0,f[r+4>>2]&1073741823|0,1,0)|0;c=ba()|0;sa=Jf;f[sa>>2]=r;f[sa+4>>2]=c;c=ej(f[q>>2]|0,0,r,c,0,Td)|0;r=f[Td>>2]|0;if(r|c|0)break;o=o+1|0}while(o>>>0<100);if(c|0){ta=1253;break c}if(!r){c=13;ta=1253;break c}else c=0}b[A+3>>0]=0;f[A+28>>2]=0;s=Jf;y=f[s+4>>2]|0;z=g;f[z>>2]=f[s>>2];f[z+4>>2]=y;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 123:case 122:{s=f[m+8>>2]|0;z=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;c=f[m+12>>2]|0;if(C<<24>>24==122){w=ua+(c*40|0)|0;y=f[w>>2]|0;w=f[w+4>>2]|0}else{y=c;w=((c|0)<0)<<31>>31}sa=Ia;f[sa>>2]=y;f[sa+4>>2]=w;if((b[m+1>>0]|0)==-6?(f[Ja>>2]|0)!=0:0){q=f[(f[Lf>>2]|0)+(b[z+1>>0]<<4)>>2]|0;r=f[m+16>>2]|0}else{q=0;r=0}x=m+2|0;g=d[x>>1]|0;if(g&1)f[vc>>2]=(f[vc>>2]|0)+1;if(g&32){sa=Eb;f[sa>>2]=y;f[sa+4>>2]=w}f[Lb>>2]=f[ua+(s*40|0)+16>>2];f[Mb>>2]=f[ua+(s*40|0)+12>>2];if(!(g&16))o=0;else o=f[z+32>>2]|0;if(!(d[ua+(s*40|0)+8>>1]&16384))c=0;else c=f[ua+(s*40|0)>>2]|0;f[$b>>2]=c;f[Jf>>2]=0;c=jj(f[z+40>>2]|0,Jf,g&10,o)|0;b[z+3>>0]=0;f[z+28>>2]=0;if(c|0){ta=1273;break c}if(r|0)tb[f[Ja>>2]&127](f[Tb>>2]|0,(d[x>>1]&4)==0?18:23,q,f[r>>2]|0,y,w);z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case 124:{q=f[m+8>>2]|0;r=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;if((b[m+1>>0]|0)==-6?(f[Ja>>2]|0)!=0:0){c=f[(f[Lf>>2]|0)+(b[r+1>>0]<<4)>>2]|0;g=f[m+16>>2]|0;if((d[m+2>>1]&2)!=0?(b[r+4>>0]|0)!=0:0){ra=f[r+40>>2]|0;oh(ra);ra=ra+32|0;sa=f[ra+4>>2]|0;o=r+64|0;f[o>>2]=f[ra>>2];f[o+4>>2]=sa;o=c}else o=c}else{o=0;g=0}c=kj(f[r+40>>2]|0,d[m+2>>1]&255)|0;f[r+28>>2]=0;f[r+32>>2]=0;if(c|0){r=Qf;q=Rf;ta=3925;break a}if(((q&1|0)!=0?(f[vc>>2]=(f[vc>>2]|0)+1,le=f[Ja>>2]|0,(le|0)!=0):0)?(f[g+36>>2]&32|0)==0:0){z=r+64|0;tb[le&127](f[Tb>>2]|0,9,o,f[g>>2]|0,f[z>>2]|0,f[z+4>>2]|0);z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}break}case 125:{z=f[vc>>2]|0;f[wc>>2]=z;f[xc>>2]=(f[xc>>2]|0)+z;f[vc>>2]=0;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 126:{w=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;x=f[m+12>>2]|0;y=f[m+16>>2]|0;s=f[w+40>>2]|0;r=s+32|0;c=f[r>>2]|0;w=f[w+44>>2]|0;if(!c){q=((j[w+6>>1]|0)*40|0)+56|0;o=f[w+12>>2]|0;u:do if(!o){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](q)|0;ta=1309;break}o=ib[f[37372>>2]&255](q)|0;if((f[18194]|0)>>>0>>0)f[18194]=q;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){sa=f[18187]|0;ra=LA(c|0,g|0,o|0,((o|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}c=ib[f[37356>>2]&255](o)|0;if(!c){ta=1310;break c}g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){ta=1310;break c}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){g=o+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];ta=o+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=1309;break u}g=o+296|0;c=f[g>>2]|0;if(!c){c=o+292|0;break}else{f[g>>2]=f[c>>2];ta=o+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=1309;break u}}else c=o+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(o,q,0)|0;ta=1309}while(0);if((ta|0)==1309){ta=0;if(!c){ta=1310;break c}}f[c+4>>2]=c+16;f[c>>2]=w;f[r>>2]=c;d[c+8>>1]=y;o=c}else o=c;if(!(b[s+56>>0]|0)){g=f[s+36>>2]|0;c=g+8|0}else{g=f[s+20>>2]|0;sa=f[g+12>>2]|0;g=f[(f[g+8>>2]|0)+4>>2]|0;c=f[sa+(g*56|0)+32>>2]|0;g=sa+(g*56|0)+20|0}hj(w,f[g>>2]|0,c,o);if((y|0)>0){g=f[o+4>>2]|0;c=0;do{if(d[g+(c*40|0)+8>>1]&1){c=0;ta=27;break d}c=c+1|0}while((c|0)<(y|0))}if(!(lj(f[ua+(x*40|0)+12>>2]|0,f[ua+(x*40|0)+16>>2]|0,o,0)|0)){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{c=0;ta=27}break}case 127:{s=f[m+8>>2]|0;c=f[(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+40>>2]|0;if(!(b[c+56>>0]|0)){c=f[c+36>>2]|0;r=c+8|0}else{c=f[c+20>>2]|0;sa=f[c+12>>2]|0;c=f[(f[c+8>>2]|0)+4>>2]|0;r=f[sa+(c*56|0)+32>>2]|0;c=sa+(c*56|0)+20|0}c=f[c>>2]|0;if((f[ua+(s*40|0)+24>>2]|0)<(c|0)){if(df(ua+(s*40|0)|0,c,0)|0){r=Qf;q=Rf;c=7;ta=3925;break a}o=ua+(s*40|0)+8|0;g=o;o=d[o>>1]|0;q=f[ua+(s*40|0)+16>>2]|0}else{q=f[ua+(s*40|0)+20>>2]|0;f[ua+(s*40|0)+16>>2]=q;g=ua+(s*40|0)+8|0;o=d[g>>1]&13;d[g>>1]=o}f[ua+(s*40|0)+12>>2]=c;d[g>>1]=o&15872|16;YA(q|0,r|0,c|0)|0;f[(f[(f[tc>>2]|0)+(f[m+12>>2]<<2)>>2]|0)+28>>2]=0;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case -128:{sa=f[Kd>>2]|0;g=f[m+8>>2]|0;c=sa+(g*40|0)|0;g=sa+(g*40|0)+8|0;if(!(d[g>>1]&9216)){d[g>>1]=4;q=c}else{Qi(c)|0;q=c}c=f[(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+40>>2]|0;oh(c);g=f[c+44>>2]|0;if(g>>>0>(f[Ka>>2]|0)>>>0){ta=3953;break c}sa=j[c+48>>1]|0;o=f[c+40>>2]|0;ra=(f[(f[c+116>>2]|0)+60>>2]|0)-o|0;if(g>>>0>((ra|0)<(sa|0)?((ra|0)>0?ra:0):sa)>>>0){c=Yi(c,0,g,q)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}}else{f[q+16>>2]=o;d[q+8>>1]=4112;f[q+12>>2]=g}if((f[m+12>>2]|0)==0?(me=q+8|0,ne=d[me>>1]|0,(ne&4096)!=0):0){c=ne&65535;do if(!(c&18))c=ne;else{if(!(c&16384))c=ne;else{c=q+12|0;sa=(f[q>>2]|0)+(f[c>>2]|0)|0;if(df(q,(sa|0)>1?sa:1,1)|0){g=Qf;c=Rf;ta=3954;break a}_A((f[q+16>>2]|0)+(f[c>>2]|0)|0,0,f[q>>2]|0)|0;f[c>>2]=(f[c>>2]|0)+(f[q>>2]|0);c=d[me>>1]&-16897;d[me>>1]=c}if(f[q+24>>2]|0?(f[q+16>>2]|0)==(f[q+20>>2]|0):0)break;if(gf(q)|0){g=Qf;c=Rf;ta=3954;break a}c=d[me>>1]|0}while(0);d[me>>1]=c&-4097;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}break}case -127:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;o=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;r=o+2|0;v:do if(!(b[r>>0]|0)){do if(!(b[o+3>>0]|0)){if((b[o>>0]|0)!=2){q=o+40|0;c=f[q>>2]|0;do if(b[c>>0]|0){c=Xi(o)|0;if(c|0){ta=1407;break c}if(!(b[r>>0]|0)){c=f[q>>2]|0;break}else{d[g+8>>1]=1;c=0;break v}}while(0);oh(c);q=c+32|0;o=f[q>>2]|0;q=f[q+4>>2]|0;c=Jf;f[c>>2]=o;f[c+4>>2]=q;c=0;break}c=f[o+40>>2]|0;x=f[c>>2]|0;c=jb[f[(f[x>>2]|0)+48>>2]&255](c,Jf)|0;x=x+8|0;if(f[x>>2]|0){r=f[a>>2]|0;o=f[Of>>2]|0;w:do if(o|0){do if(r|0){if(f[r+480>>2]|0){Kc(r,o);break w}q=o;if((f[r+304>>2]|0)>>>0>q>>>0)break;if((f[r+308>>2]|0)>>>0<=q>>>0)break;sa=r+300|0;f[o>>2]=f[sa>>2];f[sa>>2]=o;break w}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{sa=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);s=f[x>>2]|0;x:do if(!s)o=0;else{w=(wz(s)|0)+1|0;y:do if(!r){sa=KA(w|0,0,-1,-1)|0;ra=ba()|0;if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390){o=0;break x}if(!(f[9328]|0)){o=ib[f[37356>>2]&255](w)|0;ta=1390;break}o=ib[f[37372>>2]&255](w)|0;if((f[18194]|0)>>>0>>0)f[18194]=w;r=71896;q=f[r>>2]|0;r=f[r+4>>2]|0;if((r|0)>0|(r|0)==0&q>>>0>0){sa=f[18187]|0;ra=LA(q|0,r|0,o|0,((o|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}o=ib[f[37356>>2]&255](o)|0;if(!o){o=0;break x}q=ib[f[37368>>2]&255](o)|0;q=(f[18187]|0)+q|0;f[18187]=q;if(q>>>0>(f[18191]|0)>>>0)f[18191]=q;q=(f[18190]|0)+1|0;f[18190]=q;if(q>>>0<=(f[18196]|0)>>>0)break;f[18196]=q}else{if(f[r+272>>2]|0){if(b[r+81>>0]|0){o=0;break x}}else{do if(!(0<0|(0==0?(j[r+276>>1]|0)>>>0>>0:0))){q=r+300|0;o=f[q>>2]|0;if(o|0){f[q>>2]=f[o>>2];ta=r+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=1390;break y}q=r+296|0;o=f[q>>2]|0;if(!o){o=r+292|0;break}else{f[q>>2]=f[o>>2];ta=r+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=1390;break y}}else o=r+288|0;while(0);f[o>>2]=(f[o>>2]|0)+1}o=Dc(r,w,0)|0;ta=1390}while(0);if((ta|0)==1390){ta=0;if(!o){o=0;break}}YA(o|0,s|0,w|0)|0}while(0);f[Of>>2]=o;o=f[x>>2]|0;do if(o|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{sa=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}while(0);f[x>>2]=0}if(c|0){ta=1407;break c}q=Jf;c=0;o=f[q>>2]|0;q=f[q+4>>2]|0}else{q=o+64|0;o=f[q>>2]|0;q=f[q+4>>2]|0;sa=Jf;f[sa>>2]=o;f[sa+4>>2]=q}while(0);sa=g;f[sa>>2]=o;f[sa+4>>2]=q}else d[g+8>>1]=1;while(0);z=wa;y=Qf;s=Rf;q=ua;r=va;break}case -126:{g=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;b[g+2>>0]=1;f[g+28>>2]=0;if(!(b[g>>0]|0)){g=f[g+40>>2]|0;o=g+16|0;q=f[o>>2]|0;do if(q|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{sa=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);f[o>>2]=0;b[g>>0]=1;z=wa;y=Qf;s=Rf;q=ua;r=va}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 32:case -125:{o=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;g=f[o+40>>2]|0;f[Jf>>2]=0;if(C<<24>>24==-125?(f[o+32>>2]=-1,(b[g>>0]|0)==0):0){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}c=ij(g,Jf)|0;g=f[Jf>>2]|0;b[o+2>>0]=g;b[o+3>>0]=0;f[o+28>>2]=0;if(c|0){ta=1418;break c}if((g|0)!=0&(f[m+8>>2]|0)>0){c=0;ta=27}else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}break}case 33:{s=f[(f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0)+40>>2]|0;c=mj(s,Jf)|0;if(c|0){ta=1421;break c}do if(!(f[Jf>>2]|0)){if((b[s>>0]|0)==0?(oe=f[s+116>>2]|0,b[oe+8>>0]|0):0){c=j[oe+22>>1]|0;g=b[s+68>>0]|0;if(g<<24>>24>0){q=g<<24>>24;o=0;r=0;g=0;do{c=QA(c|0,g|0,j[(f[s+120+(r<<2)>>2]|0)+22>>1]|0,0)|0;g=ba()|0;o=o+1<<24>>24;r=o&255}while((r|0)<(q|0))}else g=0;if(g>>>0<0|(g|0)==0&c>>>0<8)if(g>>>0<0|(g|0)==0&c>>>0<2)c=0;else{o=40;do{o=(o&65535)+65526|0;c=WA(c|0,g|0,1)|0;g=ba()|0}while(g>>>0<0|(g|0)==0&c>>>0<8);o=o&65535;ta=1441}else{if(g>>>0>0|(g|0)==0&c>>>0>255){o=40;do{o=(o&65535)+40|0;ta=c;c=VA(c|0,g|0,4)|0;sa=g;g=ba()|0}while(sa>>>0>0|(sa|0)==0&ta>>>0>4095);o=o&65535}else o=40;if(g>>>0>0|(g|0)==0&c>>>0>15){do{o=(o&65535)+10&65535;ta=c;c=VA(c|0,g|0,1)|0;sa=g;g=ba()|0}while(sa>>>0>0|(sa|0)==0&ta>>>0>31);ta=1441}else ta=1441}if((ta|0)==1441){ta=0;c=(o&65535)+65526+(j[7936+((c&7)<<1)>>1]|0)|0}if((f[m+12>>2]|0)>(c<<16>>16|0)){f[Jf>>2]=1;break}}z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}while(0);c=0;ta=27;break}case 35:case 34:{f[yc>>2]=(f[yc>>2]|0)+1;ta=1447;break}case 36:{ta=1447;break}case 3:{g=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;c=f[g+40>>2]|0;if(b[c+56>>0]|0){f[Jf>>2]=0;c=rj(f[c+20>>2]|0,Jf)|0;c=(c|0)==0&(f[Jf>>2]|0)!=0?101:c;ta=2087;break d}q=c+36|0;o=f[q>>2]|0;ta=o+4|0;f[q>>2]=f[ta>>2];f[ta>>2]=0;do if(!((o|0)==0|(f[c+40>>2]|0)!=0)){if(f[pf>>2]|0){Kc(Yf,o);break}ta=o;if((f[rf>>2]|0)>>>0<=ta>>>0?(f[sf>>2]|0)>>>0>ta>>>0:0){f[o>>2]=f[Ff>>2];f[Ff>>2]=o;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ta=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);c=(f[q>>2]|0)==0?101:0;ta=2087;break}case 5:case 4:{c=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;g=c;c=jb[f[m+16>>2]&255](f[c+40>>2]|0,f[m+12>>2]|0)|0;ta=2087;break}case -123:case -124:{r=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;s=f[m+8>>2]|0;g=ua+(s*40|0)|0;q=m+2|0;if(d[q>>1]&1)f[vc>>2]=(f[vc>>2]|0)+1;o=ua+(s*40|0)+8|0;if(!(d[o>>1]&16384))c=C;else{c=ua+(s*40|0)+12|0;sa=(f[g>>2]|0)+(f[c>>2]|0)|0;if(df(g,(sa|0)>1?sa:1,1)|0){c=7;ta=2145;break c}_A((f[ua+(s*40|0)+16>>2]|0)+(f[c>>2]|0)|0,0,f[g>>2]|0)|0;f[c>>2]=(f[c>>2]|0)+(f[g>>2]|0);d[o>>1]=d[o>>1]&-16897;c=b[m>>0]|0}if(c<<24>>24==-124){x=f[r+40>>2]|0;E=ua+(s*40|0)+16|0;g=f[E>>2]|0;o=g+1|0;sa=b[o>>0]|0;c=sa&255;do if(sa<<24>>24<=-1){q=h[g+2>>0]|0;if(!(q&128)){c=c<<7&16256|q;break}g=h[g+3>>0]|0;if(!(g&128)){c=(c<<14|g)&2080895|q<<7&16256;break}else{Th(o,Jf)|0;sa=Jf;c=f[sa>>2]|0;c=((c|0)==(c|0)?0==(f[sa+4>>2]|0):0)?c:-1;break}}while(0);do if(!((c|0)!=7&(c+-1|0)>>>0<9)){g=x+60|0;if((c|0)<11|(c&1|0)==0){b[g>>0]=0;break}else{b[g>>0]=b[g>>0]&2;break}}else{sa=x+60|0;b[sa>>0]=b[sa>>0]&1}while(0);D=ua+(s*40|0)+12|0;B=f[D>>2]|0;o=1;c=B;g=((B|0)<0)<<31>>31;while(1){c=VA(c|0,g|0,7)|0;g=ba()|0;if((c|0)==0&(g|0)==0)break;else o=o+1|0}r=B+8|0;o=o+B|0;z=x+4|0;g=f[z>>2]|0;do if(!g)c=0;else{if(!(f[x+40>>2]|0)){c=x+44|0;sa=f[c>>2]|0;if((sa|0)<=(g|0)?!(f[17976]|0?(sa|0)>(f[x>>2]|0):0):0){c=0;break}}else{sa=f[x+48>>2]|0;if((sa|0)==0|(sa+r|0)<=(g|0)){c=0;break}c=x+44|0}sa=oj(x)|0;f[c>>2]=0;f[x+48>>2]=0;c=sa}while(0);C=x+36|0;g=x+44|0;f[g>>2]=(f[g>>2]|0)+o;g=x+8|0;if((o|0)>(f[g>>2]|0))f[g>>2]=o;y=x+40|0;w=f[y>>2]|0;q=w;if(w){A=x+48|0;s=f[A>>2]|0;o=s+r|0;x=x+52|0;g=f[x>>2]|0;if((o|0)>(g|0)){r=f[C>>2]|0;do g=g<<1;while((g|0)<(o|0));sa=f[z>>2]|0;g=(g|0)>(sa|0)?sa:g;g=(g|0)<(o|0)?o:g;w=Nc(w,g,((g|0)<0)<<31>>31)|0;if(!w){c=7;ta=2145;break c}r=w+(r-q)|0;f[C>>2]=r;f[y>>2]=w;f[x>>2]=g;o=C;g=w;s=f[A>>2]|0;q=w}else{o=C;g=w;r=f[C>>2]|0}g=g+s|0;f[A>>2]=s+(B+15&-8);if(r)f[g+4>>2]=r-q}else{sa=KA(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;ra=ba()|0;if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390){c=7;ta=2145;break c}do if(!(f[9328]|0)){g=ib[f[37356>>2]&255](r)|0;if(!g){c=7;ta=2145;break c}}else{q=ib[f[37372>>2]&255](r)|0;if((f[18194]|0)>>>0>>0)f[18194]=r;o=71896;g=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&g>>>0>0){sa=f[18187]|0;ra=LA(g|0,o|0,q|0,((q|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](q)|0;if(!g){c=7;ta=2145;break c}o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}while(0);f[g+4>>2]=f[C>>2];o=C}YA(g+8|0,f[E>>2]|0,f[D>>2]|0)|0;f[g>>2]=f[D>>2];f[o>>2]=g}else{sa=f[ua+(s*40|0)+12>>2]|0;c=zb;f[c>>2]=sa;f[c+4>>2]=((sa|0)<0)<<31>>31;f[Td>>2]=f[ua+(s*40|0)+16>>2];f[Ab>>2]=ua+((f[m+12>>2]|0)*40|0);d[Bb>>1]=f[m+16>>2];c=j[q>>1]|0;if(!(c&16))g=0;else g=f[r+32>>2]|0;c=jj(f[r+40>>2]|0,Td,c&10,g)|0;f[r+28>>2]=0}if(c|0){ta=2145;break c}z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case -122:{g=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;o=f[g+40>>2]|0;f[Td>>2]=f[g+44>>2];d[zc>>1]=f[m+12>>2];b[Bc>>0]=0;f[Ec>>2]=ua+((f[m+8>>2]|0)*40|0);c=ej(o,Td,0,0,0,Jf)|0;if(c|0){ta=2150;break c}if((f[Jf>>2]|0)==0?(re=kj(o,4)|0,re|0):0){c=re;ta=2150;break c}f[g+28>>2]=0;f[g+32>>2]=0;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case -120:case -121:{s=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;c=s+40|0;if(b[f[c>>2]>>0]|0?(vf=Xi(s)|0,vf|0):0){r=Qf;q=Rf;c=vf;ta=3925;break a}if(b[s+2>>0]|0){c=f[m+8>>2]|0;g=ua+(c*40|0)+8|0;if(!(d[g>>1]&9216)){d[g>>1]=1;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}else{cf(ua+(c*40|0)|0);z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}}c=f[c>>2]|0;oh(c);g=f[c+44>>2]|0;d[eb>>1]=0;f[fb>>2]=Yf;f[gb>>2]=0;sa=j[c+48>>1]|0;o=f[c+40>>2]|0;ra=(f[(f[c+116>>2]|0)+60>>2]|0)-o|0;if(g>>>0>((ra|0)<(sa|0)?((ra|0)>0?ra:0):sa)>>>0){c=Yi(c,0,g,Td)|0;if(c|0){ta=2180;break c}o=f[Cb>>2]|0}else{f[Cb>>2]=o;d[eb>>1]=4112;f[Db>>2]=g}sa=b[o>>0]|0;c=sa&255;do if(sa<<24>>24<=-1){g=h[o+1>>0]|0;if(!(g&128)){c=c<<7&16256|g;ta=2165;break}q=h[o+2>>0]|0;if(q&128){Th(o,Jf)|0;sa=Jf;c=f[sa>>2]|0;if((c|0)==(c|0)?0==(f[sa+4>>2]|0):0){ta=2165;break}else{c=-1;break}}else{c=(c<<14|q)&2080895|g<<7&16256;ta=2165;break}}else ta=2165;while(0);if((ta|0)==2165){ta=0;if(c>>>0<3){ta=2177;break c}}if(c>>>0>(f[Db>>2]|0)>>>0){ta=2177;break c}o=f[Cb>>2]|0;r=o+(c+-1)|0;sa=b[r>>0]|0;g=sa&255;do if(sa<<24>>24<=-1){o=h[o+c>>0]|0;if(!(o&128)){g=g<<7&16256|o;break}q=h[r+2>>0]|0;if(!(q&128)){g=(g<<14|q)&2080895|o<<7&16256;break}else{Th(r,Jf)|0;sa=Jf;g=f[sa>>2]|0;g=((g|0)==(g|0)?0==(f[sa+4>>2]|0):0)?g:-1;break}}while(0);if((g|0)==7|(g+-1|0)>>>0>8){ta=2177;break c}o=h[7808+g>>0]|0;q=f[Db>>2]|0;if(q>>>0<(c+o|0)>>>0){ta=2177;break c}Zi((f[Cb>>2]|0)+(q-o)|0,g,be)|0;q=be;o=f[q>>2]|0;q=f[q+4>>2]|0;if(!((d[eb>>1]&9216)==0&(f[gb>>2]|0)==0))ff(Td);if((b[m>>0]|0)==-121){z=f[(f[tc>>2]|0)+(f[m+12>>2]<<2)>>2]|0;b[z+2>>0]=0;y=z+64|0;f[y>>2]=o;f[y+4>>2]=q;b[z+3>>0]=1;f[z+24>>2]=f[m+16>>2];f[z+36>>2]=s;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}sa=f[Kd>>2]|0;g=f[m+8>>2]|0;c=sa+(g*40|0)|0;g=sa+(g*40|0)+8|0;if(!(d[g>>1]&9216))d[g>>1]=4;else Qi(c)|0;z=c;f[z>>2]=o;f[z+4>>2]=q;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case 40:case 39:case 38:case 37:{o=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;f[Td>>2]=f[o+44>>2];d[Jc>>1]=f[m+16>>2];b[Mc>>0]=((C&255)<39)<<31>>31;f[Oc>>2]=ua+((f[m+12>>2]|0)*40|0);o=f[o+40>>2]|0;oh(o);c=f[o+44>>2]|0;if((c|0)<1){ta=2191;break c}d[La>>1]=0;f[Ma>>2]=Yf;f[Na>>2]=0;sa=j[o+48>>1]|0;g=f[o+40>>2]|0;ra=(f[(f[o+116>>2]|0)+60>>2]|0)-g|0;if(c>>>0>((ra|0)<(sa|0)?((ra|0)>0?ra:0):sa)>>>0){c=Yi(o,0,c,Jf)|0;if(c|0){ta=2198;break c}c=f[nb>>2]|0;g=f[hb>>2]|0}else{f[hb>>2]=g;d[La>>1]=4112;f[nb>>2]=c}c=lj(c,g,Td,0)|0;if(!((d[La>>1]&9216)==0&(f[Na>>2]|0)==0))ff(Jf);if((((b[m>>0]&1)==0?c+1|0:0-c|0)|0)>0){c=0;ta=27}else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}break}case -119:{sa=f[Kd>>2]|0;g=f[m+8>>2]|0;c=sa+(g*40|0)|0;g=sa+(g*40|0)+8|0;if(!(d[g>>1]&9216)){d[g>>1]=4;B=c}else{Qi(c)|0;B=c}C=B+8|0;d[C>>1]=1;if((f[Oa>>2]|0)>((f[md>>2]|0)+1|0)){ta=2204;break c}D=f[m+12>>2]|0;y=f[(f[Lf>>2]|0)+(D<<4)+4>>2]|0;A=m+4|0;s=f[A>>2]|0;z=y+4|0;x=f[z>>2]|0;f[x+4>>2]=f[y>>2];c=f[x>>2]|0;c=lb[f[c+204>>2]&127](c,s,Jf,0)|0;if(c|0){ta=2208;break c}c=f[Jf>>2]|0;r=f[c+8>>2]|0;q=r+4|0;if((f[q>>2]|0)!=(s|0)){f[r+56>>2]=f[c+4>>2];f[r+72>>2]=c;f[r+52>>2]=x;f[q>>2]=s;b[r+9>>0]=(s|0)==1?100:0}o=f[z>>2]|0;f[o+4>>2]=f[y>>2];c=f[o+8>>2]|0;z:do if(c|0){A:do if(s)while(1){if((f[c+64>>2]|0)==(s|0))break A;c=f[c+24>>2]|0;if(!c)break z}while(0);c=Kg(c,s,0)|0;if(c|0){ta=2223;break c}}while(0);g=y+11|0;if(b[g>>0]|0?(b[g>>0]=0,Ad=f[(f[z>>2]|0)+8>>2]|0,Ad|0):0){c=Ad;do{if(b[c+1>>0]&16?(b[g>>0]=1,(f[c+64>>2]|0)==(s|0)):0)b[c>>0]=1;c=f[c+24>>2]|0}while((c|0)!=0)}c=sj(o,s,0,0)|0;if(c|0){ta=2223;break c}if(!(b[x+17>>0]|0)){c=tj(f[r+52>>2]|0,r,f[q>>2]|0)|0;do if(r|0){g=f[r+72>>2]|0;if(!(d[g+28>>1]&32)){bh(g);break}else{sa=f[g+20>>2]|0;ra=sa+120|0;f[ra>>2]=(f[ra>>2]|0)+-1;sa=sa+136|0;f[g+16>>2]=f[sa>>2];f[sa>>2]=g;break}}while(0);d[C>>1]=4;sa=B;f[sa>>2]=0;f[sa+4>>2]=0;if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}else{r=Qf;q=Rf;ta=3925;break a}}w=f[z>>2]|0;f[w+4>>2]=f[y>>2];w=f[(f[w+12>>2]|0)+56>>2]|0;w=h[w+53>>0]<<16|h[w+52>>0]<<24|h[w+54>>0]<<8|h[w+55>>0];if((w|0)==(s|0)){c=tj(f[r+52>>2]|0,r,f[q>>2]|0)|0;do if(r|0){g=f[r+72>>2]|0;if(!(d[g+28>>1]&32)){bh(g);break}else{sa=f[g+20>>2]|0;ra=sa+120|0;f[ra>>2]=(f[ra>>2]|0)+-1;sa=sa+136|0;f[g+16>>2]=f[sa>>2];f[sa>>2]=g;break}}while(0);if(!c)g=0;else{g=0;ta=2275;break c}}else{do if(r|0){c=f[r+72>>2]|0;if(!(d[c+28>>1]&32)){bh(c);break}else{sa=f[c+20>>2]|0;ra=sa+120|0;f[ra>>2]=(f[ra>>2]|0)+-1;sa=sa+136|0;f[c+16>>2]=f[sa>>2];f[sa>>2]=c;break}}while(0);c=f[x>>2]|0;c=lb[f[c+204>>2]&127](c,w,Jf,0)|0;if(c|0){ta=2241;break c}c=f[Jf>>2]|0;o=f[c+8>>2]|0;g=o+4|0;if((f[g>>2]|0)!=(w|0)){f[o+56>>2]=f[c+4>>2];f[o+72>>2]=c;f[o+52>>2]=x;f[g>>2]=w;b[o+9>>0]=(w|0)==1?100:0}c=Mh(x,o,1,0,s,0)|0;do if(o|0){g=f[o+72>>2]|0;if(!(d[g+28>>1]&32)){bh(g);break}else{sa=f[g+20>>2]|0;ra=sa+120|0;f[ra>>2]=(f[ra>>2]|0)+-1;sa=sa+136|0;f[g+16>>2]=f[sa>>2];f[sa>>2]=g;break}}while(0);if(c|0){g=0;ta=2275;break c}c=f[x>>2]|0;c=lb[f[c+204>>2]&127](c,w,Jf,0)|0;if(c|0){ta=2251;break c}c=f[Jf>>2]|0;o=f[c+8>>2]|0;g=o+4|0;if((f[g>>2]|0)==(w|0)){g=o+72|0;c=f[o+52>>2]|0}else{f[o+56>>2]=f[c+4>>2];sa=o+72|0;f[sa>>2]=c;f[o+52>>2]=x;f[g>>2]=w;b[o+9>>0]=(w|0)==1?100:0;g=sa;c=x}c=tj(c,o,w)|0;g=f[g>>2]|0;if(!(d[g+28>>1]&32))bh(g);else{sa=f[g+20>>2]|0;ra=sa+120|0;f[ra>>2]=(f[ra>>2]|0)+-1;sa=sa+136|0;f[g+16>>2]=f[sa>>2];f[sa>>2]=g}if(!c)g=w;else{g=0;ta=2275;break c}}q=1073741824/((f[x+32>>2]|0)>>>0)|0;r=q+1|0;o=x+36|0;c=w;while(1){s=c+-1|0;if((s|0)!=(r|0)){if(s>>>0<2)c=0;else{c=c+-3|0;c=c-((c>>>0)%(((((f[o>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;c=((c+1|0)==(q|0)?3:2)+c|0}if((c|0)!=(s|0))break}c=s}q=f[z>>2]|0;f[q+4>>2]=f[y>>2];q=f[q+12>>2]|0;o=f[q+56>>2]|0;q=f[q+72>>2]|0;r=f[q+20>>2]|0;do if((d[q+28>>1]&4)!=0?(f[r+24>>2]|0)>>>0>=(f[q+24>>2]|0)>>>0:0){if(!(f[r+96>>2]|0))break;wd=Ng(q)|0;ta=2270}else ta=2266;while(0);do if((ta|0)==2266){c=f[r+40>>2]|0;if(c|0){ta=2275;break c}if((f[r+148>>2]|0)>>>0>(f[r+152>>2]|0)>>>0){wd=Og(q)|0;ta=2270;break}else{wd=Pg(q)|0;ta=2270;break}}while(0);if((ta|0)==2270?(ta=0,wd|0):0){c=wd;ta=2275;break c}b[o+52>>0]=s>>>24;b[o+53>>0]=s>>>16;b[o+54>>0]=s>>>8;b[o+55>>0]=s;d[C>>1]=4;sa=B;f[sa>>2]=g;f[sa+4>>2]=((g|0)<0)<<31>>31;if(!g){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=f[A>>2]|0;q=f[(f[Lf>>2]|0)+(D<<4)+12>>2]|0;c=f[q+16>>2]|0;if(c|0)do{o=(f[c+8>>2]|0)+28|0;if((f[o>>2]|0)==(g|0))f[o>>2]=r;c=f[c>>2]|0}while((c|0)!=0);c=f[q+32>>2]|0;if(c|0)do{o=(f[c+8>>2]|0)+44|0;if((f[o>>2]|0)==(g|0))f[o>>2]=r;c=f[c>>2]|0}while((c|0)!=0);z=wa;y=Qf;s=D+1&255;q=ua;r=va;c=0}break}case -118:{f[Jf>>2]=0;g=f[(f[Lf>>2]|0)+(f[m+8>>2]<<4)+4>>2]|0;r=f[m+4>>2]|0;w=m+12|0;q=(f[w>>2]|0)==0?0:Jf;o=g+4|0;s=f[o>>2]|0;f[s+4>>2]=f[g>>2];c=f[s+8>>2]|0;B:do if(c){C:do if(r)while(1){if((f[c+64>>2]|0)==(r|0))break C;c=f[c+24>>2]|0;if(!c){ta=2295;break B}}while(0);c=Kg(c,r,0)|0;if(!c)ta=2295}else ta=2295;while(0);if((ta|0)==2295){ta=0;g=g+11|0;if(b[g>>0]|0?(b[g>>0]=0,xd=f[(f[o>>2]|0)+8>>2]|0,xd|0):0){c=xd;do{if(b[c+1>>0]&16?(b[g>>0]=1,(f[c+64>>2]|0)==(r|0)):0)b[c>>0]=1;c=f[c+24>>2]|0}while((c|0)!=0)}c=sj(s,r,0,q)|0}g=f[w>>2]|0;if(g|0?(se=f[Jf>>2]|0,f[vc>>2]=(f[vc>>2]|0)+se,te=ua+(g*40|0)|0,(g|0)>0):0){qa=te;qa=KA(f[qa>>2]|0,f[qa+4>>2]|0,se|0,((se|0)<0)<<31>>31|0)|0;ra=ba()|0;sa=te;f[sa>>2]=qa;f[sa+4>>2]=ra}if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case -117:{g=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;if((b[g>>0]|0)==1){ai(Yf,f[g+40>>2]|0);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}q=f[g+40>>2]|0;g=f[q+8>>2]|0;q=f[q+64>>2]|0;o=g+4|0;r=f[o>>2]|0;f[r+4>>2]=f[g>>2];c=f[r+8>>2]|0;D:do if(c|0){E:do if(q)while(1){if((f[c+64>>2]|0)==(q|0))break E;c=f[c+24>>2]|0;if(!c)break D}while(0);c=Kg(c,q,0)|0;if(c|0){r=Qf;q=Rf;ta=3925;break a}}while(0);g=g+11|0;if(b[g>>0]|0?(b[g>>0]=0,yd=f[(f[o>>2]|0)+8>>2]|0,yd|0):0){c=yd;do{if(b[c+1>>0]&16?(b[g>>0]=1,(f[c+64>>2]|0)==(q|0)):0)b[c>>0]=1;c=f[c+24>>2]|0}while((c|0)!=0)}c=sj(r,q,0,0)|0;if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case -116:{sa=f[Kd>>2]|0;c=f[m+8>>2]|0;g=sa+(c*40|0)|0;c=sa+(c*40|0)+8|0;if(!(d[c>>1]&9216))d[c>>1]=4;else Qi(g)|0;f[Jf>>2]=0;c=dj(f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+4>>2]|0,Jf,f[m+12>>2]|0)|0;if(c|0){ta=2328;break c}y=f[Jf>>2]|0;z=g;f[z>>2]=y;f[z+4>>2]=((y|0)<0)<<31>>31;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case -114:{b[Pc>>0]=(b[Pc>>0]|0)+1<<24>>24;c=uj(Yf,f[m+16>>2]|0,0,0,0)|0;b[Pc>>0]=(b[Pc>>0]|0)+-1<<24>>24;if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case -113:{c=f[m+4>>2]|0;g=m+16|0;if(!(f[g>>2]|0)){Wh(f[(f[Lf>>2]|0)+(c<<4)+12>>2]|0);f[yf>>2]=f[yf>>2]&-9;c=qi(Yf,c,Of,1)|0;f[yf>>2]=f[yf>>2]|1;sa=(h[Mf>>0]|h[Mf+1>>0]<<8)&-4;b[Mf>>0]=sa;b[Mf+1>>0]=sa>>8}else{f[Jf>>2]=Yf;f[Pa>>2]=c;f[Qa>>2]=Of;f[Ra>>2]=0;g=f[g>>2]|0;f[Re>>2]=f[(f[Lf>>2]|0)+(c<<4)>>2];f[Re+4>>2]=43770;f[Re+8>>2]=g;g=Ig(Yf,43706,Re)|0;if(!g){ta=2354;break c}b[rb>>0]=1;f[sb>>2]=0;c=uj(Yf,g,83,Jf,0)|0;do if(!c){c=f[sb>>2]|0;if(f[pf>>2]|0){Kc(Yf,g);break}sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}else{if(f[pf>>2]|0){Kc(Yf,g);break}sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);b[rb>>0]=0}switch(c|0){case 7:{ta=2354;break c}case 0:break;default:{ta=2352;break c}}z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case -112:{c=wj(Yf,f[m+4>>2]|0)|0;if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case -111:{g=pg((f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+12>>2]|0)+8|0,f[m+16>>2]|0,0)|0;do if(g|0){if(f[pf>>2]|0){hg(Yf,g);break}ra=g+32|0;sa=(f[ra>>2]|0)+-1|0;f[ra>>2]=sa;if(!sa)hg(Yf,g)}while(0);f[yf>>2]=f[yf>>2]|1;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case -110:{q=pg((f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+12>>2]|0)+24|0,f[m+16>>2]|0,0)|0;do if(q|0){o=(f[q+12>>2]|0)+8|0;g=f[o>>2]|0;if((g|0)==(q|0)){f[o>>2]=f[q+20>>2];g=f[q+36>>2]|0;if(g|0)ig(Yf,g);g=f[q+40>>2]|0;if(g|0)jg(Yf,g);g=f[q+16>>2]|0;do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);sa=q+55|0;F:do if((h[sa>>0]|h[sa+1>>0]<<8)&16?(ue=f[q+32>>2]|0,ue|0):0){if(f[pf>>2]|0){Kc(Yf,ue);break}g=ue;do if((f[rf>>2]|0)>>>0<=g>>>0){if((f[sf>>2]|0)>>>0<=g>>>0)break;f[ue>>2]=f[Ff>>2];f[Ff>>2]=ue;break F}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](ue);break}else{sa=ib[f[37368>>2]&255](ue)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ue);break}}while(0);if(f[pf>>2]|0){Kc(Yf,q);break}sa=q;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[q>>2]=f[Ff>>2];f[Ff>>2]=q;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{sa=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}G:do if(g|0){while(1){o=f[g+20>>2]|0;if((o|0)==(q|0))break;if(!o)break G;else g=o}f[g+20>>2]=f[q+20>>2]}while(0);g=f[q+36>>2]|0;if(g|0)ig(Yf,g);g=f[q+40>>2]|0;if(g|0)jg(Yf,g);g=f[q+16>>2]|0;do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);sa=q+55|0;H:do if((h[sa>>0]|h[sa+1>>0]<<8)&16?(ve=f[q+32>>2]|0,ve|0):0){if(f[pf>>2]|0){Kc(Yf,ve);break}g=ve;do if((f[rf>>2]|0)>>>0<=g>>>0){if((f[sf>>2]|0)>>>0<=g>>>0)break;f[ve>>2]=f[Ff>>2];f[Ff>>2]=ve;break H}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](ve);break}else{sa=ib[f[37368>>2]&255](ve)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ve);break}}while(0);if(f[pf>>2]|0){Kc(Yf,q);break}sa=q;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[q>>2]=f[Ff>>2];f[Ff>>2]=q;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{sa=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}while(0);f[yf>>2]=f[yf>>2]|1;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case -109:{z=pg((f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+12>>2]|0)+40|0,f[m+16>>2]|0,0)|0;if(!z){z=wa;y=Qf;s=Rf;q=ua;r=va}else{r=f[z+20>>2]|0;I:do if((r|0)==(f[z+24>>2]|0)){y=z+4|0;x=f[y>>2]|0;s=f[r+20>>2]|0;if(!s){o=r+12|0;g=r+16|0}else{o=b[x>>0]|0;if(!(o<<24>>24))g=0;else{g=0;q=x;do{q=q+1|0;g=U(g+(h[1232+(o&255)>>0]|0)|0,-1640531535)|0;o=b[q>>0]|0}while(o<<24>>24!=0)}g=(g>>>0)%((f[r+8>>2]|0)>>>0)|0;o=s+(g<<3)|0;g=s+(g<<3)+4|0}o=f[o>>2]|0;J:do if(!o)g=72124;else{w=h[1232+(h[x>>0]|0)>>0]|0;while(1){g=f[g>>2]|0;o=o+-1|0;r=f[g+12>>2]|0;sa=b[r>>0]|0;q=(h[1232+(sa&255)>>0]|0)-w|0;if(!(sa<<24>>24==0|(q|0)!=0)){s=x;do{r=r+1|0;s=s+1|0;sa=b[r>>0]|0;q=(h[1232+(sa&255)>>0]|0)-(h[1232+(h[s>>0]|0)>>0]|0)|0}while(!(sa<<24>>24==0|(q|0)!=0))}if(!q)break J;if(!o){g=72124;break}}}while(0);g=(f[g+8>>2]|0)+68|0;while(1){sa=f[g>>2]|0;o=sa+32|0;if((sa|0)==(z|0))break;else g=o}f[g>>2]=f[o>>2];kg(Yf,f[z+28>>2]|0);g=f[z>>2]|0;do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[y>>2]|0;do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[z+12>>2]|0;if(g|0)ig(Yf,g);s=f[z+16>>2]|0;K:do if(s|0){r=s+4|0;g=f[s>>2]|0;if((f[r>>2]|0)>0){q=0;do{g=f[g+(q<<3)>>2]|0;L:do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}o=g;do if((f[rf>>2]|0)>>>0<=o>>>0){if((f[sf>>2]|0)>>>0<=o>>>0)break;f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break L}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);q=q+1|0;g=f[s>>2]|0}while((q|0)<(f[r>>2]|0))}M:do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}o=g;do if((f[rf>>2]|0)>>>0<=o>>>0){if((f[sf>>2]|0)>>>0<=o>>>0)break;f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break M}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);if(f[pf>>2]|0){Kc(Yf,s);break}g=s;do if((f[rf>>2]|0)>>>0<=g>>>0){if((f[sf>>2]|0)>>>0<=g>>>0)break;f[s>>2]=f[Ff>>2];f[Ff>>2]=s;break K}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{sa=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);if(f[pf>>2]|0){Kc(Yf,z);break}g=z;do if((f[rf>>2]|0)>>>0<=g>>>0){if((f[sf>>2]|0)>>>0<=g>>>0)break;f[z>>2]=f[Ff>>2];f[Ff>>2]=z;break I}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{sa=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}}else{kg(Yf,f[z+28>>2]|0);g=f[z>>2]|0;do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[z+4>>2]|0;do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}sa=g;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[z+12>>2]|0;if(g|0)ig(Yf,g);s=f[z+16>>2]|0;N:do if(s|0){r=s+4|0;g=f[s>>2]|0;if((f[r>>2]|0)>0){q=0;do{g=f[g+(q<<3)>>2]|0;O:do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}o=g;do if((f[rf>>2]|0)>>>0<=o>>>0){if((f[sf>>2]|0)>>>0<=o>>>0)break;f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break O}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);q=q+1|0;g=f[s>>2]|0}while((q|0)<(f[r>>2]|0))}P:do if(g|0){if(f[pf>>2]|0){Kc(Yf,g);break}o=g;do if((f[rf>>2]|0)>>>0<=o>>>0){if((f[sf>>2]|0)>>>0<=o>>>0)break;f[g>>2]=f[Ff>>2];f[Ff>>2]=g;break P}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);if(f[pf>>2]|0){Kc(Yf,s);break}g=s;do if((f[rf>>2]|0)>>>0<=g>>>0){if((f[sf>>2]|0)>>>0<=g>>>0)break;f[s>>2]=f[Ff>>2];f[Ff>>2]=s;break N}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{sa=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);if(f[pf>>2]|0){Kc(Yf,z);break}sa=z;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){f[z>>2]=f[Ff>>2];f[Ff>>2]=z;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{sa=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}}while(0);f[yf>>2]=f[yf>>2]|1;z=wa;y=Qf;s=Rf;q=ua;r=va}break}case -108:{y=f[m+8>>2]|0;D=f[m+4>>2]|0;E=ua+(D*40|0)|0;g=f[(f[Lf>>2]|0)+(j[m+2>>1]<<4)+4>>2]|0;z=(f[m+16>>2]|0)+4|0;F=ua+((f[m+12>>2]|0)*40|0)|0;sa=(f[F>>2]|0)+1|0;B=f[g+4>>2]|0;A=B+4|0;C=f[(f[A>>2]|0)+32>>2]|0;f[A>>2]=f[g>>2];f[be>>2]=B;f[Qc>>2]=f[B>>2];g=f[B+44>>2]|0;f[Rc>>2]=g;f[Sc>>2]=sa;f[Wc>>2]=0;f[Xc>>2]=0;f[Tc>>2]=0;f[Tc+4>>2]=0;f[Tc+8>>2]=0;f[Tc+12>>2]=0;f[Tc+16>>2]=0;f[Zc>>2]=ee;f[Yc>>2]=0;f[_c>>2]=100;f[$c>>2]=1e9;f[ad>>2]=0;b[bd>>0]=0;b[cd>>0]=1;Q:do if(g){g=g>>>3;r=g+1|0;if(!(f[9328]|0)){g=ib[f[37356>>2]&255](r)|0;if(!g)ta=2578}else{q=ib[f[37372>>2]&255](r)|0;if((f[18194]|0)>>>0<=g>>>0)f[18194]=r;o=71896;g=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&g>>>0>0){sa=f[18187]|0;ra=LA(g|0,o|0,q|0,((q|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](q)|0;if(g){o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0>(f[18196]|0)>>>0)f[18196]=o}else ta=2578}if((ta|0)==2578){f[Wc>>2]=0;f[Uc>>2]=1;ta=2639;break}_A(g|0,0,r|0)|0;f[Wc>>2]=g;x=B+32|0;r=f[x>>2]|0;if((f[18019]|0)>=(r|0)?(we=f[18025]|0,(we|0)!=0):0){f[18025]=f[we>>2];sa=f[18026]|0;f[18026]=sa+-1;f[18027]=(sa|0)<=(f[18021]|0)&1;if((f[18195]|0)>>>0>>0)f[18195]=r;g=(f[18188]|0)+1|0;f[18188]=g;if(g>>>0>(f[18192]|0)>>>0){f[18192]=g;g=we}else g=we}else ta=2585;R:do if((ta|0)==2585){ta=0;sa=KA(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;ra=ba()|0;S:do if(!(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390)){do if(!(f[9328]|0)){g=ib[f[37356>>2]&255](r)|0;if(!g)break S}else{g=ib[f[37372>>2]&255](r)|0;if((f[18194]|0)>>>0>>0)f[18194]=r;q=71896;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[18187]|0;ra=LA(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g)break S;o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}while(0);o=ib[f[37368>>2]&255](g)|0;if((f[18195]|0)>>>0>>0)f[18195]=r;o=(f[18189]|0)+o|0;f[18189]=o;if(o>>>0<=(f[18193]|0)>>>0)break R;f[18193]=o;break R}while(0);f[Xc>>2]=0;f[Uc>>2]=1;break Q}while(0);f[Xc>>2]=g;g=(1073741824/((f[x>>2]|0)>>>0)|0)+1|0;if(g>>>0<=(f[Rc>>2]|0)>>>0){sa=(f[Wc>>2]|0)+(g>>>3)|0;b[sa>>0]=1<<(g&7)|h[sa>>0]}f[Vc>>2]=43784;q=B+12|0;w=f[(f[q>>2]|0)+56>>2]|0;xj(be,1,h[w+33>>0]<<16|h[w+32>>0]<<24|h[w+34>>0]<<8|h[w+35>>0],h[w+37>>0]<<16|h[w+36>>0]<<24|h[w+38>>0]<<8|h[w+39>>0]);f[Vc>>2]=0;w=B+17|0;if(!(b[w>>0]|0)){sa=f[(f[q>>2]|0)+56>>2]|0;if(h[sa+65>>0]<<16|h[sa+64>>0]<<24|h[sa+66>>0]<<8|h[sa+67>>0]|0)yj(be,43845,Te)}else{if((y|0)>0){g=0;o=0;do{sa=f[z+(g<<2)>>2]|0;o=(o|0)<(sa|0)?sa:o;g=g+1|0}while((g|0)!=(y|0))}else o=0;g=f[(f[q>>2]|0)+56>>2]|0;g=h[g+53>>0]<<16|h[g+52>>0]<<24|h[g+54>>0]<<8|h[g+55>>0];if((o|0)!=(g|0)){f[Se>>2]=o;f[Se+4>>2]=g;yj(be,43800,Se)}}o=(f[A>>2]|0)+32|0;ra=o;sa=f[ra+4>>2]|0;g=o;f[g>>2]=f[ra>>2]&-2097153;f[g+4>>2]=sa;g=f[Sc>>2]|0;if((y|0)>0&(g|0)!=0){s=0;do{q=z+(s<<2)|0;r=f[q>>2]|0;if(r){if((r|0)>1&(b[w>>0]|0)!=0){g=rh(f[be>>2]|0,r,Jf,Td)|0;T:do if((g|0)<7){switch(g|0){case 0:break;default:{ta=2618;break T}}g=b[Jf>>0]|0;o=f[Td>>2]|0;if(g<<24>>24==1&(o|0)==0)break;f[Ve>>2]=r;f[Ve+4>>2]=1;f[Ve+8>>2]=0;f[Ve+12>>2]=g&255;f[Ve+16>>2]=o;yj(be,43929,Ve)}else{if((g|0)<3082)switch(g|0){case 7:break;default:{ta=2618;break T}}else switch(g|0){case 3082:break;default:{ta=2618;break T}}f[Uc>>2]=1;ta=2618}while(0);if((ta|0)==2618){ta=0;f[Ue>>2]=r;yj(be,43900,Ue)}g=f[q>>2]|0}else g=r;zj(be,g,ke,-1,2147483647)|0;g=f[Sc>>2]|0}s=s+1|0}while((s|0)<(y|0)&(g|0)!=0);o=(f[A>>2]|0)+32|0}qa=UA(0,C|0,32)|0;ra=ba()|0;sa=o;f[sa>>2]=qa;f[sa+4>>2]=ra;if((g|0)!=0&(f[Rc>>2]|0)!=0){s=B+36|0;r=1;do{o=r>>>3;q=1<<(r&7);do if(!(q&h[(f[Wc>>2]|0)+o>>0])){if(r>>>0<2)g=0;else{g=r+-2|0;g=g-((g>>>0)%(((((f[s>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;g=((g+1|0)==(1073741824/((f[x>>2]|0)>>>0)|0|0)?3:2)+g|0}if((g|0)==(r|0)?b[w>>0]|0:0)break;f[We>>2]=r;yj(be,43983,We);if(q&h[(f[Wc>>2]|0)+o>>0]|0)ta=2633}else ta=2633;while(0);do if((ta|0)==2633){ta=0;if(r>>>0<2)g=0;else{g=r+-2|0;g=g-((g>>>0)%(((((f[s>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;g=((g+1|0)==(1073741824/((f[x>>2]|0)>>>0)|0|0)?3:2)+g|0}if((g|0)!=(r|0))break;if(!(b[w>>0]|0))break;f[Xe>>2]=r;yj(be,44005,Xe)}while(0);r=r+1|0}while(f[Sc>>2]|0?r>>>0<=(f[Rc>>2]|0)>>>0:0);ta=2639}else ta=2639}else ta=2639;while(0);U:do if((ta|0)==2639?(ta=0,Cd=f[Xc>>2]|0,Cd|0):0){g=Cd;do if((f[18022]|0)>>>0<=g>>>0)if((f[18023]|0)>>>0>g>>>0){f[18188]=(f[18188]|0)+-1;f[Cd>>2]=f[18025];f[18025]=Cd;sa=(f[18026]|0)+1|0;f[18026]=sa;f[18027]=(sa|0)<(f[18021]|0)&1;break U}else{g=ib[f[37368>>2]&255](Cd)|0;break}else g=ib[f[37368>>2]&255](Cd)|0;while(0);f[18189]=(f[18189]|0)-g;if(!(f[9328]|0)){ob[f[37360>>2]&127](Cd);break}else{sa=ib[f[37368>>2]&255](Cd)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Cd);break}}while(0);g=f[Wc>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);if(!(f[Uc>>2]|0))s=f[Tc>>2]|0;else{if(b[cd>>0]&4){g=f[Yc>>2]|0;o=f[Zc>>2]|0;V:do if(o|0){do if(g|0){if(f[g+480>>2]|0){Kc(g,o);break V}q=o;if((f[g+304>>2]|0)>>>0<=q>>>0){if((f[g+308>>2]|0)>>>0<=q>>>0)break;sa=g+300|0;f[o>>2]=f[sa>>2];f[sa>>2]=o;break V}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{sa=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);b[cd>>0]=b[cd>>0]&-5}f[_c>>2]=0;f[ad>>2]=0;f[Zc>>2]=0;s=(f[Tc>>2]|0)+1|0;f[Tc>>2]=s}r=(s|0)==0;if(!r){g=f[Zc>>2]|0;if(((g|0)!=0?(b[g+(f[ad>>2]|0)>>0]=0,(f[$c>>2]|0)!=0):0)?(b[cd>>0]&4)==0:0)g=Cc(Yc)|0;else ta=2685}else{if(b[cd>>0]&4){g=f[Yc>>2]|0;o=f[Zc>>2]|0;W:do if(o|0){do if(g|0){if(f[g+480>>2]|0){Kc(g,o);break W}q=o;if((f[g+304>>2]|0)>>>0>q>>>0)break;if((f[g+308>>2]|0)>>>0<=q>>>0)break;ta=g+300|0;f[o>>2]=f[ta>>2];f[ta>>2]=o;break W}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ta=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);b[cd>>0]=b[cd>>0]&-5}f[_c>>2]=0;f[ad>>2]=0;f[Zc>>2]=0;ta=2685}if((ta|0)==2685){ta=0;g=f[Zc>>2]|0}o=ua+(D*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=1;else cf(E);if(!r){if(!g){g=Qf;c=Rf;ta=3954;break a}qa=s+-1|0;ra=F;qa=LA(f[ra>>2]|0,f[ra+4>>2]|0,qa|0,((qa|0)<0)<<31>>31|0)|0;ra=ba()|0;sa=F;f[sa>>2]=qa;f[sa+4>>2]=ra;$e(E,g,-1,1,101)|0}if((d[o>>1]&2)!=0?(b[ua+(D*40|0)+10>>0]|0)!=Fd<<24>>24:0){Ri(E,Fd)|0;z=wa;y=Qf;s=Rf;q=ua;r=va}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case -107:{g=f[m+4>>2]|0;o=f[m+8>>2]|0;if((d[ua+(g*40|0)+8>>1]&16)==0?Aj(ua+(g*40|0)|0)|0:0){g=Qf;c=Rf;ta=3954;break a}x=f[ua+(g*40|0)+16>>2]|0;w=ua+(o*40|0)|0;s=f[w>>2]|0;w=f[w+4>>2]|0;r=x+24|0;o=d[r>>1]|0;if(o<<16>>16){sa=x+16|0;g=f[sa>>2]|0;d[r>>1]=o+-1<<16>>16;f[sa>>2]=g+16;if(!g){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}else{q=f[x+4>>2]|0;X:do if(f[q+272>>2]|0)if(!(b[q+81>>0]|0))ta=2708;else{z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{do if((j[q+276>>1]|0)>=1016){o=q+300|0;g=f[o>>2]|0;if(g|0){f[o>>2]=f[g>>2];sa=q+284|0;f[sa>>2]=(f[sa>>2]|0)+1;break X}o=q+296|0;g=f[o>>2]|0;if(!g){g=q+292|0;break}else{f[o>>2]=f[g>>2];sa=q+284|0;f[sa>>2]=(f[sa>>2]|0)+1;break X}}else g=q+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;ta=2708}while(0);if((ta|0)==2708){ta=0;g=Dc(q,1016,0)|0}if(!g){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}f[g>>2]=f[x>>2];f[x>>2]=g;d[r>>1]=62;f[x+16>>2]=g+24;g=g+8|0}o=g;f[o>>2]=s;f[o+4>>2]=w;f[g+8>>2]=0;o=x+12|0;q=f[o>>2]|0;if(!q)f[x+8>>2]=g;else{sa=q;ra=f[sa+4>>2]|0;if(!((ra|0)<(w|0)|((ra|0)==(w|0)?(f[sa>>2]|0)>>>0>>0:0))){sa=x+26|0;d[sa>>1]=d[sa>>1]&-2}f[q+8>>2]=g}f[o>>2]=g;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 41:{o=f[m+4>>2]|0;D=ua+(o*40|0)|0;E=ua+(o*40|0)+8|0;g=d[E>>1]|0;do if(g&16){F=f[ua+(o*40|0)+16>>2]|0;I=F+26|0;C=d[I>>1]|0;g=C&65535;if(!(g&2)){if(!(g&1)){B=F+8|0;g=f[B>>2]|0;_A(Td|0,0,160)|0;if(!g)g=0;else{o=0;while(1){sa=g+8|0;q=g;g=f[sa>>2]|0;f[sa>>2]=0;if(!o)o=Td;else{A=0;z=Td;while(1){r=Jf;Y:while(1){y=o;x=f[y>>2]|0;y=f[y+4>>2]|0;while(1){w=q;s=f[w>>2]|0;w=f[w+4>>2]|0;if(!((y|0)>(w|0)|(y|0)==(w|0)&x>>>0>s>>>0))break;f[r+8>>2]=q;r=f[q+8>>2]|0;if(!r){r=q;break Y}else{sa=q;q=r;r=sa}}if((y|0)<(w|0)|(y|0)==(w|0)&x>>>0>>0){f[r+8>>2]=o;r=o}o=f[o+8>>2]|0;if(!o){o=q;break}}f[r+8>>2]=o;q=f[Ob>>2]|0;f[z>>2]=0;A=A+1|0;r=Td+(A<<2)|0;o=f[r>>2]|0;if(!o){o=r;break}else z=r}}f[o>>2]=q;o=f[Td>>2]|0;if(!g){g=o;break}}}y=1;do{q=f[Td+(y<<2)>>2]|0;if(q)if(!g)g=q;else{o=Jf;Z:while(1){x=g;w=f[x>>2]|0;x=f[x+4>>2]|0;while(1){s=q;r=f[s>>2]|0;s=f[s+4>>2]|0;if(!((x|0)>(s|0)|(x|0)==(s|0)&w>>>0>r>>>0))break;f[o+8>>2]=q;o=f[q+8>>2]|0;if(!o){o=q;break Z}else{sa=q;q=o;o=sa}}if((x|0)<(s|0)|(x|0)==(s|0)&w>>>0>>0){f[o+8>>2]=g;o=g}g=f[g+8>>2]|0;if(!g){g=q;break}}f[o+8>>2]=g;g=f[Nb>>2]|0}y=y+1|0}while((y|0)!=40);f[B>>2]=g}d[I>>1]=C|3}w=F+8|0;g=f[w>>2]|0;if(!g){g=d[E>>1]|0;break}y=g;x=f[y>>2]|0;y=f[y+4>>2]|0;sa=f[g+8>>2]|0;f[w>>2]=sa;if(!sa){g=f[F>>2]|0;if(g|0){s=F+4|0;do{o=g;g=f[g>>2]|0;q=f[s>>2]|0;do if(!q)ta=2759;else{if(f[q+480>>2]|0){Kc(q,o);break}r=o;if((f[q+304>>2]|0)>>>0>r>>>0){ta=2759;break}if((f[q+308>>2]|0)>>>0<=r>>>0){ta=2759;break}sa=q+300|0;f[o>>2]=f[sa>>2];f[sa>>2]=o}while(0);do if((ta|0)==2759){ta=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{sa=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0)}while((g|0)!=0)}f[F>>2]=0;d[F+24>>1]=0;f[w>>2]=0;f[F+12>>2]=0;f[F+20>>2]=0;d[I>>1]=1}o=f[m+12>>2]|0;g=ua+(o*40|0)|0;o=ua+(o*40|0)+8|0;if(!(d[o>>1]&9216)){ta=g;f[ta>>2]=x;f[ta+4>>2]=y;d[o>>1]=4;ta=22;break d}else{bf(g,x,y);ta=22;break d}}while(0);if(!(g&9216)){d[E>>1]=1;ta=21;break d}else{cf(D);ta=21;break d}}case 42:{o=f[m+4>>2]|0;g=ua+((f[m+12>>2]|0)*40|0)|0;M=f[m+16>>2]|0;if((d[ua+(o*40|0)+8>>1]&16)==0?Aj(ua+(o*40|0)|0)|0:0){g=Qf;c=Rf;ta=3954;break a}L=ua+(o*40|0)+16|0;if(M){D=f[L>>2]|0;K=g;J=f[K>>2]|0;K=f[K+4>>2]|0;E=D+28|0;if((f[E>>2]|0)!=(M|0)){F=D+8|0;o=f[F>>2]|0;if(o|0){C=D+20|0;I=D+26|0;if(!(d[I>>1]&1)){_A(Td|0,0,160)|0;B=o;o=0;do{sa=B+8|0;q=B;B=f[sa>>2]|0;f[sa>>2]=0;if(!o)o=Td;else{A=0;z=Td;while(1){r=Jf;_:while(1){y=o;x=f[y>>2]|0;y=f[y+4>>2]|0;while(1){w=q;s=f[w>>2]|0;w=f[w+4>>2]|0;if(!((y|0)>(w|0)|(y|0)==(w|0)&x>>>0>s>>>0))break;f[r+8>>2]=q;r=f[q+8>>2]|0;if(!r){r=q;break _}else{sa=q;q=r;r=sa}}if((y|0)<(w|0)|(y|0)==(w|0)&x>>>0>>0){f[r+8>>2]=o;r=o}o=f[o+8>>2]|0;if(!o){o=q;break}}f[r+8>>2]=o;q=f[Ub>>2]|0;f[z>>2]=0;A=A+1|0;r=Td+(A<<2)|0;o=f[r>>2]|0;if(!o){o=r;break}else z=r}}f[o>>2]=q;o=f[Td>>2]|0}while((B|0)!=0);z=1;do{r=f[Td+(z<<2)>>2]|0;do if(r){if(!o){o=r;break}q=Jf;$:while(1){y=o;x=f[y>>2]|0;y=f[y+4>>2]|0;while(1){w=r;s=f[w>>2]|0;w=f[w+4>>2]|0;if(!((y|0)>(w|0)|(y|0)==(w|0)&x>>>0>s>>>0))break;f[q+8>>2]=r;q=f[r+8>>2]|0;if(!q){q=r;break $}else{sa=r;r=q;q=sa}}if((y|0)<(w|0)|(y|0)==(w|0)&x>>>0>>0){f[q+8>>2]=o;q=o}o=f[o+8>>2]|0;if(!o){o=r;break}}f[q+8>>2]=o;o=f[gc>>2]|0}while(0);z=z+1|0}while((z|0)!=40)}q=f[C>>2]|0;aa:do if(!q){w=C;ta=2818}else{while(1){z=q+8|0;s=q+12|0;q=f[s>>2]|0;if(!q)break;Cj(q,Td,be);f[s>>2]=0;q=Jf;y=f[Td>>2]|0;ba:do{x=y;w=f[x>>2]|0;x=f[x+4>>2]|0;while(1){s=o;r=f[s>>2]|0;s=f[s+4>>2]|0;if(!((x|0)>(s|0)|(x|0)==(s|0)&w>>>0>r>>>0))break;f[q+8>>2]=o;q=f[o+8>>2]|0;if(!q){q=o;o=y;break ba}else{sa=o;o=q;q=sa}}if((x|0)<(s|0)|(x|0)==(s|0)&w>>>0>>0){f[q+8>>2]=y;q=y}y=f[y+8>>2]|0}while((y|0)!=0);f[q+8>>2]=o;o=f[ac>>2]|0;q=f[z>>2]|0;if(!q){w=z;ta=2818;break aa}}sa=o+8|0;q=f[sa>>2]|0;f[Jf>>2]=q;f[sa>>2]=0;f[o+12>>2]=0;if(!q){f[s>>2]=o;break}r=1;while(1){sa=q+8|0;f[Jf>>2]=f[sa>>2];f[q+12>>2]=o;o=Bj(Jf,r)|0;f[sa>>2]=o;o=f[Jf>>2]|0;if(!o)break;else{sa=q;r=r+1|0;q=o;o=sa}}f[s>>2]=q}while(0);ca:do if((ta|0)==2818){ta=0;x=D+24|0;r=d[x>>1]|0;da:do if(r<<16>>16){sa=D+16|0;q=f[sa>>2]|0;d[x>>1]=r+-1<<16>>16;f[sa>>2]=q+16;f[w>>2]=q;if(!q)break ca}else{s=f[D+4>>2]|0;ea:do if(f[s+272>>2]|0){if(!(b[s+81>>0]|0))ta=2829}else{do if((j[s+276>>1]|0)>=1016){r=s+300|0;q=f[r>>2]|0;if(q|0){f[r>>2]=f[q>>2];ta=s+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=2830;break ea}r=s+296|0;q=f[r>>2]|0;if(!q){q=s+292|0;break}else{f[r>>2]=f[q>>2];ta=s+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=2830;break ea}}else q=s+288|0;while(0);f[q>>2]=(f[q>>2]|0)+1;ta=2829}while(0);if((ta|0)==2829){q=Dc(s,1016,0)|0;ta=2830}do if((ta|0)==2830){ta=0;if(!q)break;f[q>>2]=f[D>>2];f[D>>2]=q;sa=q+8|0;d[x>>1]=62;f[D+16>>2]=q+24;f[w>>2]=sa;q=sa;break da}while(0);f[w>>2]=0;break ca}while(0);sa=q;f[sa>>2]=0;f[sa+4>>2]=0;f[q+8>>2]=0;sa=o+8|0;r=f[sa>>2]|0;f[Jf>>2]=r;f[sa>>2]=0;f[o+12>>2]=0;if(r){s=1;while(1){sa=r+8|0;f[Jf>>2]=f[sa>>2];f[r+12>>2]=o;o=Bj(Jf,s)|0;f[sa>>2]=o;o=f[Jf>>2]|0;if(!o){o=r;break}else{sa=r;s=s+1|0;r=o;o=sa}}}f[q+12>>2]=o}while(0);f[F>>2]=0;f[D+12>>2]=0;d[I>>1]=d[I>>1]|1}f[E>>2]=M}o=f[D+20>>2]|0;if(o|0)do{q=f[o+12>>2]|0;if(q|0)do{s=q;r=f[s>>2]|0;s=f[s+4>>2]|0;if((s|0)<(K|0)|(s|0)==(K|0)&r>>>0>>0)q=q+8|0;else{if(!((s|0)>(K|0)|(s|0)==(K|0)&r>>>0>J>>>0)){ta=27;break d}q=q+12|0}q=f[q>>2]|0}while((q|0)!=0);o=f[o+8>>2]|0}while((o|0)!=0);if((M|0)<=-1){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}x=f[L>>2]|0;w=g;s=f[w>>2]|0;w=f[w+4>>2]|0;r=x+24|0;o=d[r>>1]|0;if(o<<16>>16){sa=x+16|0;g=f[sa>>2]|0;d[r>>1]=o+-1<<16>>16;f[sa>>2]=g+16;if(!g){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}else{q=f[x+4>>2]|0;fa:do if(f[q+272>>2]|0)if(!(b[q+81>>0]|0))ta=2862;else{z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{do if((j[q+276>>1]|0)>=1016){o=q+300|0;g=f[o>>2]|0;if(g|0){f[o>>2]=f[g>>2];sa=q+284|0;f[sa>>2]=(f[sa>>2]|0)+1;break fa}o=q+296|0;g=f[o>>2]|0;if(!g){g=q+292|0;break}else{f[o>>2]=f[g>>2];sa=q+284|0;f[sa>>2]=(f[sa>>2]|0)+1;break fa}}else g=q+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;ta=2862}while(0);if((ta|0)==2862){ta=0;g=Dc(q,1016,0)|0}if(!g){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}f[g>>2]=f[x>>2];f[x>>2]=g;d[r>>1]=62;f[x+16>>2]=g+24;g=g+8|0}o=g;f[o>>2]=s;f[o+4>>2]=w;f[g+8>>2]=0;o=x+12|0;q=f[o>>2]|0;if(!q)f[x+8>>2]=g;else{sa=q;ra=f[sa+4>>2]|0;if(!((ra|0)<(w|0)|((ra|0)==(w|0)?(f[sa>>2]|0)>>>0>>0:0))){sa=x+26|0;d[sa>>1]=d[sa>>1]&-2}f[q+8>>2]=g}f[o>>2]=g;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 45:{B=f[m+16>>2]|0;x=f[m+12>>2]|0;y=ua+(x*40|0)|0;if(d[m+2>>1]|0?(Ed=f[B+20>>2]|0,Bd=f[sc>>2]|0,Bd|0):0){g=Bd;do{if((f[g+28>>2]|0)==(Ed|0)){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}g=f[g+4>>2]|0}while((g|0)!=0)}if((f[Sa>>2]|0)>=(f[Ta>>2]|0)){ta=2878;break c}r=ua+(x*40|0)+8|0;if(!(d[r>>1]&16)){s=B+12|0;w=f[s>>2]|0;z=w+(f[B+8>>2]|0)+((w|0)==0&1)|0;o=B+4|0;w=(w<<2)+80+(((f[o>>2]|0)+7|0)/8|0)+(z*40|0)|0;q=((w|0)<0)<<31>>31;do if(f[rd>>2]|0)if(!(b[l>>0]|0))ta=2888;else{c=Rf;g=Qf;ta=3959;break a}else{if(!(0>>0|(0==(q|0)?(j[pd>>1]|0)>>>0>>0:0))){g=f[Ff>>2]|0;if(g|0){f[Ff>>2]=f[g>>2];f[Af>>2]=(f[Af>>2]|0)+1;A=g;break}g=f[zf>>2]|0;if(!g)g=Bf;else{f[zf>>2]=f[g>>2];f[Af>>2]=(f[Af>>2]|0)+1;A=g;break}}else g=qd;f[g>>2]=(f[g>>2]|0)+1;ta=2888}while(0);if((ta|0)==2888){ta=0;A=Dc(Yf,w,q)|0}if(!A){g=Qf;c=Rf;ta=3954;break a}_A(A|0,0,w|0)|0;if(!((d[r>>1]&9216)==0?!(f[ua+(x*40|0)+24>>2]|0):0))ff(y);d[r>>1]=1040;f[ua+(x*40|0)+16>>2]=A;f[ua+(x*40|0)+12>>2]=w;f[ua+(x*40|0)+36>>2]=102;f[A>>2]=a;f[A+60>>2]=z;w=f[s>>2]|0;f[A+64>>2]=w;f[A+48>>2]=(m-Qf|0)/20|0;f[A+16>>2]=f[Kd>>2];f[A+56>>2]=f[Ba>>2];f[A+20>>2]=f[tc>>2];f[A+44>>2]=f[Gb>>2];f[A+8>>2]=f[qe>>2];f[A+52>>2]=f[yb>>2];f[A+28>>2]=f[B+20>>2];q=A+80|0;m=q+(z*40|0)|0;if((m|0)==(q|0)){r=A;s=q;m=A;g=w}else{g=q;do{d[g+8>>1]=128;f[g+32>>2]=Yf;g=g+40|0}while((g|0)!=(m|0));r=A;s=q;m=A;g=w}}else{m=f[ua+(x*40|0)+16>>2]|0;q=m+80|0;r=m;s=q;o=B+4|0;g=f[B+12>>2]|0}f[Sa>>2]=(f[Sa>>2]|0)+1;f[r+4>>2]=f[sc>>2];Qf=Eb;y=f[Qf+4>>2]|0;z=r+32|0;f[z>>2]=f[Qf>>2];f[z+4>>2]=y;f[r+68>>2]=f[vc>>2];f[r+72>>2]=f[(f[a>>2]|0)+100>>2];f[r+40>>2]=f[Fb>>2];f[Fb>>2]=0;f[vc>>2]=0;f[sc>>2]=m;f[Kd>>2]=s;m=f[r+60>>2]|0;f[Ba>>2]=m;f[Gb>>2]=f[r+64>>2]&65535;m=q+(m*40|0)|0;f[tc>>2]=m;m=m+(g<<2)|0;f[r+24>>2]=m;_A(m|0,0,((f[o>>2]|0)+7|0)/8|0|0)|0;m=f[B>>2]|0;f[qe>>2]=m;f[yb>>2]=f[o>>2];z=wa;y=m;s=Rf;r=va;m=m+-20|0;break}case -106:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;q=f[sc>>2]|0;o=f[q+16>>2]|0;q=(f[(f[q+8>>2]|0)+((f[q+48>>2]|0)*20|0)+4>>2]|0)+(f[m+4>>2]|0)|0;r=o+(q*40|0)|0;s=g+8|0;if(d[s>>1]&9216){Si(g,r,4096);z=wa;y=Qf;s=Rf;q=ua;r=va;break d};f[g>>2]=f[r>>2];f[g+4>>2]=f[r+4>>2];f[g+8>>2]=f[r+8>>2];f[g+12>>2]=f[r+12>>2];f[g+16>>2]=f[r+16>>2];if(!(d[o+(q*40|0)+8>>1]&2048)){d[s>>1]=d[s>>1]&-7169|4096;z=wa;y=Qf;s=Rf;q=ua;r=va}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case -105:{if(!((f[dd>>2]&524288|0)==0&0==0)){s=f[m+8>>2]|0;y=Ua;s=KA(f[y>>2]|0,f[y+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;y=ba()|0;z=Ua;f[z>>2]=s;f[z+4>>2]=y;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}g=f[m+8>>2]|0;o=((g|0)<0)<<31>>31;if(!(f[m+4>>2]|0)){s=jd;s=KA(f[s>>2]|0,f[s+4>>2]|0,g|0,o|0)|0;y=ba()|0;z=jd;f[z>>2]=s;f[z+4>>2]=y;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}else{s=Va;s=KA(f[s>>2]|0,f[s+4>>2]|0,g|0,o|0)|0;y=ba()|0;z=Va;f[z>>2]=s;f[z+4>>2]=y;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}case 46:if(!(f[m+4>>2]|0)){sa=jd;if(!((f[sa>>2]|0)==0&(f[sa+4>>2]|0)==0)){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}sa=Ua;if((f[sa>>2]|0)==0&(f[sa+4>>2]|0)==0){ta=27;break d}else{z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}else{sa=Va;if(!((f[sa>>2]|0)==0&(f[sa+4>>2]|0)==0)){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}sa=Ua;if((f[sa>>2]|0)==0&(f[sa+4>>2]|0)==0){ta=27;break d}else{z=wa;y=Qf;s=Rf;q=ua;r=va;break d}}case -104:{g=f[sc>>2]|0;if(!g)o=ua;else{while(1){o=f[g+4>>2]|0;if(!o)break;else g=o}o=f[g+16>>2]|0}q=f[m+4>>2]|0;x=o+(q*40|0)|0;s=o+(q*40|0)+8|0;g=d[s>>1]|0;r=g&65535;do if(!(r&4)){if(r&8|0){o=Fc(+p[x>>3])|0;q=ba()|0;break}if(!(r&18)){o=0;q=0}else{o=Gc(b[o+(q*40|0)+10>>0]|0,f[o+(q*40|0)+12>>2]|0,f[o+(q*40|0)+16>>2]|0)|0;q=ba()|0;g=d[s>>1]|0}}else{q=x;o=f[q>>2]|0;q=f[q+4>>2]|0}while(0);w=x;f[w>>2]=o;f[w+4>>2]=q;d[s>>1]=g&15872|4;g=f[m+8>>2]|0;s=ua+(g*40|0)|0;w=ua+(g*40|0)+8|0;r=d[w>>1]|0;o=r&65535;do if(!(o&4)){if(o&8|0){o=Fc(+p[s>>3])|0;q=ba()|0;g=r;break}if(!(o&18)){o=0;q=0;g=r}else{o=Gc(b[ua+(g*40|0)+10>>0]|0,f[ua+(g*40|0)+12>>2]|0,f[ua+(g*40|0)+16>>2]|0)|0;q=ba()|0;g=d[w>>1]|0}}else{q=s;o=f[q>>2]|0;q=f[q+4>>2]|0;g=r}while(0);sa=s;f[sa>>2]=o;f[sa+4>>2]=q;d[w>>1]=g&15872|4;sa=x;ra=f[sa+4>>2]|0;if((ra|0)<(q|0)|((ra|0)==(q|0)?(f[sa>>2]|0)>>>0>>0:0)){z=x;f[z>>2]=o;f[z+4>>2]=q;z=wa;y=Qf;s=Rf;q=ua;r=va}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 47:{g=ua+((f[m+4>>2]|0)*40|0)|0;q=g;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){ra=f[m+12>>2]|0;ra=LA(o|0,q|0,ra|0,((ra|0)<0)<<31>>31|0)|0;sa=ba()|0;ta=g;f[ta>>2]=ra;f[ta+4>>2]=sa;ta=27}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case -103:{q=f[m+4>>2]|0;r=f[m+12>>2]|0;sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;q=ua+(q*40|0)|0;o=f[q>>2]|0;q=f[q+4>>2]|0;if(!((q|0)<0|(q|0)==0&o>>>0<1)?(Hd=ua+(r*40|0)|0,Gd=f[Hd>>2]|0,Hd=f[Hd+4>>2]|0,sa=(Hd|0)>0|(Hd|0)==0&Gd>>>0>0,Gd=sa?Gd:0,Hd=sa?Hd:0,sa=LA(-1,2147483647,o|0,q|0)|0,ra=ba()|0,!(((Hd|0)>-1|(Hd|0)==-1&Gd>>>0>4294967295)&((ra|0)<(Hd|0)|(ra|0)==(Hd|0)&sa>>>0>>0))):0){s=KA(Gd|0,Hd|0,o|0,q|0)|0;y=ba()|0;z=g;f[z>>2]=s;f[z+4>>2]=y;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}z=g;f[z>>2]=-1;f[z+4>>2]=-1;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 48:{g=ua+((f[m+4>>2]|0)*40|0)|0;q=g;o=f[q>>2]|0;q=f[q+4>>2]|0;if(!((o|0)==0&(q|0)==0))if((q|0)>0|(q|0)==0&o>>>0>0){ra=KA(o|0,q|0,-1,-1)|0;sa=ba()|0;ta=g;f[ta>>2]=ra;f[ta+4>>2]=sa;ta=27}else ta=27;else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case 49:{g=ua+((f[m+4>>2]|0)*40|0)|0;sa=g;ra=f[sa>>2]|0;sa=f[sa+4>>2]|0;o=KA(ra|0,sa|0,-1,-1)|0;q=ba()|0;if(!((ra|0)==0&(sa|0)==-2147483648)?(sa=g,f[sa>>2]=o,f[sa+4>>2]=q,(o|0)==0&(q|0)==0):0)ta=27;else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case -101:case -102:{q=d[m+2>>1]|0;r=q&65535;o=(r<<2)+68|0;do if(f[rd>>2]|0)if(!(b[l>>0]|0))ta=2955;else{c=Rf;g=Qf;ta=3959;break a}else{if(!(0<0|(0==0?(j[pd>>1]|0)>>>0>>0:0))){g=f[Ff>>2]|0;if(g|0){f[Ff>>2]=f[g>>2];f[Af>>2]=(f[Af>>2]|0)+1;break}g=f[zf>>2]|0;if(!g)g=Bf;else{f[zf>>2]=f[g>>2];f[Af>>2]=(f[Af>>2]|0)+1;break}}else g=qd;f[g>>2]=(f[g>>2]|0)+1;ta=2955}while(0);if((ta|0)==2955)g=Dc(Yf,o,0)|0;if(!g){g=Qf;c=Rf;ta=3954;break a}f[g+8>>2]=0;s=g+28+(r<<2)|0;f[g>>2]=s;d[s+8>>1]=1;f[s+32>>2]=Yf;f[s+24>>2]=0;s=m+16|0;f[g+4>>2]=f[s>>2];f[g+16>>2]=(m-Qf|0)/20|0;f[g+12>>2]=a;b[g+24>>0]=0;f[g+20>>2]=0;b[g+25>>0]=q;b[m+1>>0]=-16;f[s>>2]=g;b[m>>0]=-100;s=g;ta=2958;break}case -100:{s=f[m+16>>2]|0;ta=2958;break}case -98:case -99:{o=f[m+4>>2]|0;r=ua+(o*40|0)|0;q=m+12|0;c=f[q>>2]|0;if(!c){g=f[m+16>>2]|0;f[Wa>>2]=0;f[Wa+4>>2]=0;f[Wa+8>>2]=0;f[Wa+12>>2]=0;f[Wa+16>>2]=0;na=Td;oa=na+40|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));d[Xa>>1]=1;c=ua+(o*40|0)+32|0;f[Ya>>2]=f[c>>2];f[Jf>>2]=Td;f[Za>>2]=r;f[_a>>2]=g;ob[f[g+20>>2]&127](Jf);do if((f[ua+(o*40|0)+24>>2]|0)>0){g=f[c>>2]|0;c=f[ua+(o*40|0)+20>>2]|0;if(g|0){if(f[g+480>>2]|0){Kc(g,c);break}sa=c;if((f[g+304>>2]|0)>>>0<=sa>>>0?(f[g+308>>2]|0)>>>0>sa>>>0:0){sa=g+300|0;f[c>>2]=f[sa>>2];f[sa>>2]=c;break}}if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{sa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);na=r;g=Td;oa=na+40|0;do{f[na>>2]=f[g>>2];na=na+4|0;g=g+4|0}while((na|0)<(oa|0));o=r;c=f[ub>>2]|0}else{g=ua+(c*40|0)|0;o=f[m+16>>2]|0;f[Jf>>2]=0;f[Jf+4>>2]=0;f[Jf+8>>2]=0;f[Jf+12>>2]=0;f[Jf+16>>2]=0;f[Jf+20>>2]=0;f[Jf+24>>2]=0;f[Jf+28>>2]=0;c=ua+(c*40|0)+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else cf(g);f[Jf>>2]=g;f[vb>>2]=r;f[wb>>2]=o;ob[f[o+24>>2]&127](Jf);o=ua+((f[q>>2]|0)*40|0)|0;c=f[xb>>2]|0}if(c|0){ta=3002;break c}g=o+8|0;c=d[g>>1]|0;if((c&2)!=0?(b[o+10>>0]|0)!=Fd<<24>>24:0){Ri(o,Fd)|0;c=d[g>>1]|0}g=c&65535;if(g&18){c=f[o+12>>2]|0;if(g&16384)c=(f[o>>2]|0)+c|0;if((c|0)>(f[(f[o+32>>2]|0)+108>>2]|0)){ta=3953;break c}else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}}else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}break}case 6:{f[Jf>>2]=0;f[ed>>2]=-1;f[fd>>2]=-1;c=Ej(Yf,f[m+4>>2]|0,f[m+8>>2]|0,fd,ed)|0;switch(c|0){case 0:{g=f[Jf>>2]|0;break}case 5:{f[Jf>>2]=1;g=1;break}default:{ta=3023;break c}}q=f[m+12>>2]|0;c=ua+(q*40|0)|0;o=((g|0)<0)<<31>>31;q=ua+(q*40|0)+8|0;if(!(d[q>>1]&9216)){sa=c;f[sa>>2]=g;f[sa+4>>2]=o;d[q>>1]=4}else bf(c,g,o);c=c+40|0;g=f[fd>>2]|0;o=((g|0)<0)<<31>>31;q=c+8|0;if(!(d[q>>1]&9216)){sa=c;f[sa>>2]=g;f[sa+4>>2]=o;d[q>>1]=4}else bf(c,g,o);c=c+40|0;g=f[ed>>2]|0;o=((g|0)<0)<<31>>31;q=c+8|0;if(!(d[q>>1]&9216)){sa=c;f[sa>>2]=g;f[sa+4>>2]=o;d[q>>1]=4}else bf(c,g,o);z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case 7:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;o=f[m+12>>2]|0;z=f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+4>>2]|0;w=z+4|0;B=f[f[w>>2]>>2]|0;r=b[B+5>>0]|0;C=r&255;o=(o|0)==-1?C:o;if((h[B+16>>0]|0)<=2){if((f[f[B+64>>2]>>2]|0)!=0?(sa=B+72|0,ra=f[sa+4>>2]|0,(ra|0)>0|(ra|0)==0&(f[sa>>2]|0)>>>0>0):0)ta=3030}else ta=3030;if((ta|0)==3030){ta=0;o=C}if(!(b[B+15>>0]|0))q=f[B+168>>2]|0;else q=72788;if((o|0)==5)if(((q|0)!=0?((wz(q)|0)&1073741823|0)!=0:0)?(Jd=f[f[B+60>>2]>>2]|0,(b[B+13>>0]|0)==0):0)if(!(b[B+4>>0]|0))if((f[Jd>>2]|0)>1?(f[Jd+52>>2]|0)!=0:0){A=5;ta=3040}else o=C;else{A=5;ta=3040}else o=C;else{A=o;ta=3040}ga:do if((ta|0)==3040){ta=0;if((A|0)!=(C|0)){o=r<<24>>24==5;y=(A|0)==5;if(o|y){if(!(b[sd>>0]|0)){ta=3044;break c}if((f[Oa>>2]|0)>1){ta=3044;break c}if(!o){if(r<<24>>24==4)Fj(B,2)|0;if(c|0){o=A;break}}else{q=B+216|0;c=f[q>>2]|0;if(!c){f[Jf>>2]=0;o=B+17|0;c=b[o>>0]|0;ha:do switch(c<<24>>24){case 0:case 5:{do if(!(b[B+13>>0]|0)){c=f[B+60>>2]|0;c=jb[f[(f[c>>2]|0)+28>>2]&255](c,1)|0;if(!c){c=b[o>>0]|0;break}else{o=A;break ga}}while(0);if(c<<24>>24==5)break ha;b[o>>0]=1;break}default:{}}while(0);c=f[B>>2]|0;c=lb[f[c+32>>2]&127](c,f[B+220>>2]|0,0,Jf)|0;if((c|0)==0&(f[Jf>>2]|0)!=0)c=Oi(B)|0;if(c|0){o=A;break}c=f[q>>2]|0;if(c|0){s=o;ta=3059}}else{s=B+17|0;ta=3059}do if((ta|0)==3059){ta=0;switch(b[s>>0]|0){case 0:case 1:case 2:case 3:case 5:{r=B+13|0;do if(!(b[r>>0]|0)){o=B+60|0;c=f[o>>2]|0;c=jb[f[(f[c>>2]|0)+28>>2]&255](c,4)|0;if(!c){c=f[q>>2]|0;break}o=f[o>>2]|0;q=f[o>>2]|0;if(!q){o=A;break ga}if(!(b[r>>0]|0))jb[f[q+32>>2]&255](o,1)|0;if((b[s>>0]|0)==5){o=A;break ga}b[s>>0]=1;o=A;break ga}while(0);b[s>>0]=4;break}default:{}}c=ei(c,Yf,h[B+11>>0]|0,f[B+152>>2]|0,f[B+208>>2]|0)|0;f[q>>2]=0;if(!c)break;if(b[B+4>>0]|0){o=A;break ga}o=f[B+60>>2]|0;q=f[o>>2]|0;if(!q){o=A;break ga}if(!(b[B+13>>0]|0))jb[f[q+32>>2]&255](o,1)|0;if((b[s>>0]|0)==5){o=A;break ga}b[s>>0]=1;o=A;break ga}while(0);Fj(B,A)|0}o=f[w>>2]|0;x=o+22|0;c=d[x>>1]|0;d[x>>1]=y?c&-33:c|32;c=Li(z,0,0)|0;ia:do if(!c){o=o+12|0;s=f[(f[o>>2]|0)+56>>2]|0;w=s+18|0;sa=b[w>>0]|0;r=y?2:1;if(sa<<24>>24==r<<24>>24?(b[s+19>>0]|0)==sa<<24>>24:0){c=0;break}c=Li(z,2,0)|0;if(c|0)break;o=f[(f[o>>2]|0)+72>>2]|0;q=f[o+20>>2]|0;do if(!(d[o+28>>1]&4))ta=3088;else{if((f[q+24>>2]|0)>>>0<(f[o+24>>2]|0)>>>0){ta=3088;break}if(!(f[q+96>>2]|0))break;ud=Ng(o)|0;ta=3092}while(0);do if((ta|0)==3088){ta=0;c=f[q+40>>2]|0;if(c|0)break ia;if((f[q+148>>2]|0)>>>0>(f[q+152>>2]|0)>>>0){ud=Og(o)|0;ta=3092;break}else{ud=Pg(o)|0;ta=3092;break}}while(0);if((ta|0)==3092?(ta=0,ud|0):0){c=ud;break}b[w>>0]=r;b[s+19>>0]=r;c=0}while(0);d[x>>1]=d[x>>1]&-33;o=A}else o=A}else o=C}while(0);q=(c|0)!=0;o=Fj(B,q?C:o)|0;d[g+8>>1]=2562;if((o|0)==6){f[g+16>>2]=0;o=0}else{o=f[7952+(o<<2)>>2]|0;f[g+16>>2]=o;o=(wz(o)|0)&1073741823}f[g+12>>2]=o;b[g+10>>0]=1;if(!cb)Ri(g,Fd)|0;if(q){r=Qf;q=Rf;ta=3925;break a}else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}break}case 8:{g=f[m+4>>2]|0;if(!(b[sd>>0]|0)){ta=3102;break c}if((f[$a>>2]|0)>1){ta=3124;break c}x=dd;F=f[x>>2]|0;x=f[x+4>>2]|0;I=f[yf>>2]|0;J=f[wc>>2]|0;K=f[xc>>2]|0;L=b[If>>0]|0;f[yf>>2]=I|6;D=dd;f[D>>2]=F&-268456578|513;f[D+4>>2]=x;b[If>>0]=0;D=f[Lf>>2]|0;x=f[D+(g<<4)>>2]|0;D=f[D+(g<<4)+4>>2]|0;E=D+4|0;s=b[(f[f[E>>2]>>2]|0)+12>>0]|0;w=f[Kf>>2]|0;c=Gj(Yf,Of,44223)|0;ja:do if(!c){A=f[Lf>>2]|0;C=A+(w<<4)|0;A=f[A+(w<<4)+4>>2]|0;z=A+4|0;f[(f[z>>2]|0)+4>>2]=f[A>>2];if(!(Gg(A,0)|0))Hg(A,0)|0;B=f[E>>2]|0;f[B+4>>2]=f[D>>2];B=(f[B+32>>2]|0)-(f[B+36>>2]|0)|0;c=f[(f[(f[Lf>>2]|0)+(g<<4)+12>>2]|0)+80>>2]|0;g=f[z>>2]|0;f[g+4>>2]=f[A>>2];g=f[(f[g>>2]|0)+212>>2]|0;f[g+16>>2]=c;o=f[9361]|0;q=f[g+44>>2]|0;if((c|0)<=-1){ra=QA(c|0,((c|0)<0)<<31>>31|0,-1024,-1)|0;sa=ba()|0;c=(f[g+28>>2]|0)+(f[g+24>>2]|0)|0;c=OA(ra|0,sa|0,c|0,((c|0)<0)<<31>>31|0)|0;ba()|0}pb[o&127](q,c);g=f[E>>2]|0;f[g+4>>2]=f[D>>2];g=f[(f[g>>2]|0)+212>>2]|0;c=f[g+16>>2]|0;if((c|0)<=-1){ra=QA(c|0,((c|0)<0)<<31>>31|0,-1024,-1)|0;sa=ba()|0;c=(f[g+28>>2]|0)+(f[g+24>>2]|0)|0;c=OA(ra|0,sa|0,c|0,((c|0)<0)<<31>>31|0)|0;ba()|0}r=f[g+20>>2]|0;c=(c|0)<(r|0)?r:c;r=f[z>>2]|0;o=f[A>>2]|0;q=r+4|0;f[q>>2]=o;r=f[r>>2]|0;g=f[r+212>>2]|0;if(c|0){if((c|0)<0){ra=QA(c|0,((c|0)<0)<<31>>31|0,-1024,-1)|0;sa=ba()|0;c=(f[g+28>>2]|0)+(f[g+24>>2]|0)|0;c=OA(ra|0,sa|0,c|0,((c|0)<0)<<31>>31|0)|0;ba()|0}f[g+20>>2]=c}f[q>>2]=o;b[r+7>>0]=1;c=r+20|0;f[r+8>>2]=0;b[c>>0]=b[c>>0]&-2;c=Gj(Yf,Of,44244)|0;if(!c){c=Li(D,2,0)|0;if(!c){c=f[E>>2]|0;if((b[(f[c>>2]|0)+5>>0]|0)==5)f[ic>>2]=0;c=f[c+32>>2]|0;r=f[z>>2]|0;f[r+4>>2]=f[A>>2];if(!(d[r+22>>1]&2)){y=(B|0)<0;if(y)q=(f[r+32>>2]|0)-(f[r+36>>2]|0)|0;else q=B;do if((c+-512|0)>>>0<65025){if(c+-1&c|0)break;f[r+32>>2]=c;o=r+80|0;c=f[o>>2]|0;if(!c)break;g=c+-4|0;f[o>>2]=g;c=g;do if((f[18022]|0)>>>0<=c>>>0)if((f[18023]|0)>>>0>c>>>0){f[18188]=(f[18188]|0)+-1;f[g>>2]=f[18025];f[18025]=g;sa=(f[18026]|0)+1|0;f[18026]=sa;f[18027]=(sa|0)<(f[18021]|0)&1;break}else{c=ib[f[37368>>2]&255](g)|0;ta=3172;break}else{c=ib[f[37368>>2]&255](g)|0;ta=3172}while(0);do if((ta|0)==3172){ta=0;f[18189]=(f[18189]|0)-c;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[o>>2]=0}while(0);ra=r+32|0;sa=ih(f[r>>2]|0,ra,q)|0;f[r+36>>2]=(f[ra>>2]|0)-(q&65535);if(sa|0){q=C;c=7;g=D;break}if(!(s<<24>>24)){c=f[ic>>2]|0;r=f[z>>2]|0;f[r+4>>2]=f[A>>2];if(d[r+22>>1]&2){q=C;c=7;g=D;break}if(y)q=(f[r+32>>2]|0)-(f[r+36>>2]|0)|0;else q=B;do if((c+-512|0)>>>0<65025){if(c+-1&c|0)break;f[r+32>>2]=c;o=r+80|0;c=f[o>>2]|0;if(!c)break;g=c+-4|0;f[o>>2]=g;c=g;do if((f[18022]|0)>>>0<=c>>>0)if((f[18023]|0)>>>0>c>>>0){f[18188]=(f[18188]|0)+-1;f[g>>2]=f[18025];f[18025]=g;sa=(f[18026]|0)+1|0;f[18026]=sa;f[18027]=(sa|0)<(f[18021]|0)&1;break}else{c=ib[f[37368>>2]&255](g)|0;ta=3189;break}else{c=ib[f[37368>>2]&255](g)|0;ta=3189}while(0);do if((ta|0)==3189){ta=0;f[18189]=(f[18189]|0)-c;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[o>>2]=0}while(0);ra=r+32|0;sa=ih(f[r>>2]|0,ra,q)|0;f[r+36>>2]=(f[ra>>2]|0)-(q&65535);if(sa|0){q=C;c=7;g=D;break}}if(b[l>>0]|0){q=C;c=7;g=D;break}c=b[jc>>0]|0;do if(c<<24>>24>-1)c=c<<24>>24;else{c=f[E>>2]|0;f[c+4>>2]=f[D>>2];if(!(b[c+17>>0]|0)){c=0;break}c=(b[c+18>>0]|0)==0?1:2}while(0);o=f[z>>2]|0;f[o+4>>2]=f[A>>2];g=c&255;if(d[o+22>>1]&2){c=o+17|0;if(((g|0)!=0|0)==(h[c>>0]|0))ta=3202}else{c=o+17|0;ta=3202}if((ta|0)==3202){ta=0;b[c>>0]=(g|0)!=0&1;b[o+18>>0]=(g|0)==2&1}b[Hb>>0]=w;f[af>>2]=x;c=Hj(Yf,Of,44250,af)|0;if(c|0){q=C;g=D;break}f[xe>>2]=x;c=Hj(Yf,Of,44358,xe)|0;if(c|0){q=C;g=D;break}b[Hb>>0]=0;f[ye>>2]=x;c=Hj(Yf,Of,44412,ye)|0;f[yf>>2]=f[yf>>2]&-5;if(c|0){q=C;g=D;break}f[ze>>2]=x;c=Hj(Yf,Of,44563,ze)|0;if(c|0){q=C;g=D;break}g=0;do{o=h[44693+g>>0]|0;q=f[E>>2]|0;f[q+4>>2]=f[D>>2];o=(o<<2)+36|0;q=(f[(f[q+12>>2]|0)+56>>2]|0)+o|0;q=(h[q+1>>0]<<16|h[q>>0]<<24|h[q+2>>0]<<8|h[q+3>>0])+(h[44693+(g|1)>>0]|0)|0;s=f[z>>2]|0;f[s+4>>2]=f[A>>2];s=f[s+12>>2]|0;r=f[s+56>>2]|0;s=f[s+72>>2]|0;w=f[s+20>>2]|0;do if(!(d[s+28>>1]&4))ta=3212;else{if((f[w+24>>2]|0)>>>0<(f[s+24>>2]|0)>>>0){ta=3212;break}if(!(f[w+96>>2]|0))break;vd=Ng(s)|0;ta=3216}while(0);do if((ta|0)==3212){ta=0;c=f[w+40>>2]|0;if(c|0){q=C;g=D;break ja}if((f[w+148>>2]|0)>>>0>(f[w+152>>2]|0)>>>0){vd=Og(s)|0;ta=3216;break}else{vd=Pg(s)|0;ta=3216;break}}while(0);if((ta|0)==3216?(ta=0,vd|0):0){q=C;c=vd;g=D;break ja}sa=r+o|0;b[sa>>0]=q>>>24;b[sa+1>>0]=q>>>16;b[sa+2>>0]=q>>>8;b[sa+3>>0]=q;g=g+2|0}while(g>>>0<10);g=f[E>>2]|0;f[g+4>>2]=f[D>>2];c=f[A>>2]|0;o=f[z>>2]|0;f[o+4>>2]=c;g=f[(f[g>>2]|0)+60>>2]|0;q=f[g>>2]|0;do if(!q)ta=3221;else{ra=f[o+32>>2]|0;ra=QA(f[o+44>>2]|0,0,ra|0,((ra|0)<0)<<31>>31|0)|0;sa=ba()|0;c=Td;f[c>>2]=ra;f[c+4>>2]=sa;c=kb[f[q+40>>2]&127](g,11,Td)|0;c=(c|0)==12?0:c;if(c|0)break;c=f[A>>2]|0;ta=3221}while(0);do if((ta|0)==3221){ta=0;na=Jf;oa=na+48|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));f[kc>>2]=c;f[lc>>2]=A;f[mc>>2]=D;f[nc>>2]=1;Ij(Jf,2147483647)|0;c=Jj(Jf)|0;if(c|0){g=f[f[(f[mc>>2]|0)+4>>2]>>2]|0;if(b[g+12>>0]|0)break;jh(g);break}c=(f[E>>2]|0)+22|0;d[c>>1]=d[c>>1]&-3;f[(f[z>>2]|0)+4>>2]=f[A>>2];c=Gg(A,0)|0;if(c|0){q=C;g=D;break ja}c=Hg(A,0)|0;if(c|0){q=C;g=D;break ja}o=f[z>>2]|0;f[o+4>>2]=f[A>>2];if(!(b[o+17>>0]|0))g=0;else g=(b[o+18>>0]|0)==0?1:2;w=f[E>>2]|0;q=f[D>>2]|0;r=w+4|0;f[r>>2]=q;x=w+22|0;s=(d[x>>1]&2)==0;do if(s)c=w+17|0;else{c=w+17|0;if(((g|0)!=0|0)==(h[c>>0]|0))break;f[r>>2]=q;q=C;c=8;g=D;break ja}while(0);b[c>>0]=(g|0)!=0&1;b[w+18>>0]=(g|0)==2&1;c=f[o+32>>2]|0;f[r>>2]=q;if(!s){q=C;c=8;g=D;break ja}if(y)q=(f[w+32>>2]|0)-(f[w+36>>2]|0)|0;else q=B;do if((c+-512|0)>>>0<65025){if(c+-1&c|0)break;f[w+32>>2]=c;o=w+80|0;c=f[o>>2]|0;if(!c)break;g=c+-4|0;f[o>>2]=g;c=g;do if((f[18022]|0)>>>0<=c>>>0)if((f[18023]|0)>>>0>c>>>0){f[18188]=(f[18188]|0)+-1;f[g>>2]=f[18025];f[18025]=g;sa=(f[18026]|0)+1|0;f[18026]=sa;f[18027]=(sa|0)<(f[18021]|0)&1;break}else{c=ib[f[37368>>2]&255](g)|0;ta=3244;break}else{c=ib[f[37368>>2]&255](g)|0;ta=3244}while(0);do if((ta|0)==3244){ta=0;f[18189]=(f[18189]|0)-c;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[o>>2]=0}while(0);g=w+32|0;c=ih(f[w>>2]|0,g,q)|0;f[w+36>>2]=(f[g>>2]|0)-(q&65535);d[x>>1]=d[x>>1]|2;q=C;g=D;break ja}while(0);q=C;g=D}else{q=C;c=7;g=D}}else{q=C;g=D}}else{q=C;g=D}}else{q=0;g=D}while(0);b[Hb>>0]=0;f[yf>>2]=I&65535;o=dd;f[o>>2]=F;f[o+4>>2]=0;f[wc>>2]=J;f[xc>>2]=K;b[If>>0]=L;o=f[E>>2]|0;f[o+4>>2]=f[g>>2];g=o+22|0;if(!(d[g>>1]&2)){qa=o+32|0;sa=o+36|0;ra=(f[qa>>2]|0)-(f[sa>>2]|0)|0;ih(f[o>>2]|0,qa,ra)|0;f[sa>>2]=(f[qa>>2]|0)-(ra&65535);d[g>>1]=d[g>>1]|2}b[sd>>0]=1;if(q|0){sa=q+4|0;bi(f[sa>>2]|0);f[sa>>2]=0;f[q+12>>2]=0}Vh(Yf);if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case 59:{sa=f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+4>>2]|0;x=f[sa+4>>2]|0;f[x+4>>2]=f[sa>>2];if(b[x+17>>0]|0){y=x+44|0;w=f[y>>2]|0;z=x+12|0;r=f[(f[z>>2]|0)+56>>2]|0;r=h[r+37>>0]<<16|h[r+36>>0]<<24|h[r+38>>0]<<8|h[r+39>>0];g=((f[x+36>>2]|0)>>>0)/5|0;if(w>>>0<2){c=0;o=1073741824/((f[x+32>>2]|0)>>>0)|0;q=g+1|0}else{q=g+1|0;c=w+-2|0;c=c-((c>>>0)%(q>>>0)|0)|0;o=1073741824/((f[x+32>>2]|0)>>>0)|0;c=((c+1|0)==(o|0)?3:2)+c|0}s=w-r-(((g-w+r+c|0)>>>0)/(g>>>0)|0)|0;g=o+1|0;s=s+((g>>>0>>0&s>>>0>>0)<<31>>31)|0;while(1){if(s>>>0<2)c=0;else{c=s+-2|0;c=c-((c>>>0)%(q>>>0)|0)|0;c=((c+1|0)==(o|0)?3:2)+c|0}if((s|0)==(g|0)|(c|0)==(s|0))s=s+-1|0;else break}if(w>>>0>>0){ta=3263;break c}if(r){g=x+8|0;c=f[g>>2]|0;if(c){c=Kg(c,0,0)|0;if(!c){c=f[g>>2]|0;if(!c)ta=3270;else{do{ta=c+1|0;b[ta>>0]=b[ta>>0]&-5;c=f[c+24>>2]|0}while((c|0)!=0);ta=3270}}}else ta=3270;if((ta|0)==3270){ta=0;c=Ah(x,s,w,0)|0;if(!c){g=f[(f[z>>2]|0)+72>>2]|0;o=f[g+20>>2]|0;if((d[g+28>>1]&4)!=0?(f[o+24>>2]|0)>>>0>=(f[g+24>>2]|0)>>>0:0)if(!(f[o+96>>2]|0))c=0;else c=Ng(g)|0;else ta=3275;do if((ta|0)==3275){ta=0;c=f[o+40>>2]|0;if(!c)if((f[o+148>>2]|0)>>>0>(f[o+152>>2]|0)>>>0){c=Og(g)|0;break}else{c=Pg(g)|0;break}}while(0);sa=f[(f[z>>2]|0)+56>>2]|0;ra=f[y>>2]|0;b[sa+28>>0]=ra>>>24;b[sa+29>>0]=ra>>>16;b[sa+30>>0]=ra>>>8;b[sa+31>>0]=ra}}switch(c|0){case 101:{c=0;ta=27;break}case 0:{z=wa;y=Qf;s=Rf;q=ua;r=va;break}default:{r=Qf;q=Rf;ta=3925;break a}}}else{c=0;ta=27}}else{c=0;ta=27}break}case -97:{o=f[m+8>>2]|0;if(f[m+4>>2]|0){z=(h[Mf>>0]|h[Mf+1>>0]<<8)&-4|o+1&3;b[Mf>>0]=z;b[Mf+1>>0]=z>>8;z=wa;y=Qf;s=Rf;q=ua;r=va;break d}g=f[ab>>2]|0;if(!g){z=wa;y=Qf;s=Rf;q=ua;r=va}else{o=o+1&3;do{sa=g+145|0;ra=(h[sa>>0]|h[sa+1>>0]<<8)&-4|o;b[sa>>0]=ra;b[sa+1>>0]=ra>>8;g=f[g+8>>2]|0}while((g|0)!=0);z=wa;y=Qf;s=Rf;q=ua;r=va}break}case -96:{g=f[m+12>>2]|0;if((g&255|0)==0?!((f[dd>>2]&1024|0)==0&0==0):0){z=wa;y=Qf;s=Rf;q=ua;r=va;break d}r=f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+4>>2]|0;s=f[m+8>>2]|0;if(b[r+9>>0]|0){w=g+1&255;o=f[r+4>>2]|0;f[o+4>>2]=f[r>>2];if((f[o+76>>2]|0)!=(r|0)?d[o+22>>1]&64:0){ta=3317;break c}q=o+72|0;c=f[q>>2]|0;ka:do if(!c)ta=3303;else{g=c;do{if(((f[g>>2]|0)!=(r|0)?(f[g+4>>2]|0)==(s|0):0)?(b[g+8>>0]|0)!=w<<24>>24:0){ta=3296;break c}g=f[g+12>>2]|0}while((g|0)!=0);while(1){if((f[c+4>>2]|0)==(s|0)?(f[c>>2]|0)==(r|0):0)break ka;c=f[c+12>>2]|0;if(!c){ta=3303;break}}}while(0);if((ta|0)==3303){ta=0;if(!(f[9328]|0)){c=ib[f[37356>>2]&255](16)|0;if(!c){r=Qf;q=Rf;c=7;ta=3925;break a}}else{c=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;o=71896;g=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&g>>>0>0){sa=f[18187]|0;ra=LA(g|0,o|0,c|0,((c|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c){r=Qf;q=Rf;c=7;ta=3925;break a}g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}sa=c+8|0;b[sa>>0]=0;b[sa+1>>0]=0;b[sa+2>>0]=0;b[sa+3>>0]=0;f[c+4>>2]=s;f[c>>2]=r;f[c+12>>2]=f[q>>2];f[q>>2]=c}c=c+8|0;if((h[c>>0]|0)<(w&255)){b[c>>0]=w;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}}else{z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}break}case -95:{y=f[m+16>>2]|0;s=f[gd>>2]|0;q=(s|0)>0;if(q?(f[bb>>2]|0)==0:0){c=6;ta=3349}else ta=3320;la:do if((ta|0)==3320){ta=0;if(!y){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break d}g=y+8|0;c=f[g>>2]|0;x=f[c>>2]|0;w=x+56|0;o=f[w>>2]|0;if(o){if(q){r=f[bb>>2]|0;q=0;do{if((f[r+(q<<2)>>2]|0)==(y|0)){c=0;ta=3349;break la}q=q+1|0}while((q|0)<(s|0))}if(!((s|0)%5|0)){o=(s<<2)+20|0;c=f[bb>>2]|0;q=((o|0)<0)<<31>>31;ma:do if(!c){if(f[rd>>2]|0){if(b[l>>0]|0){c=7;ta=3349;break la}}else{do if(0>>0|(0==(q|0)?(j[pd>>1]|0)>>>0>>0:0))c=qd;else{c=f[Ff>>2]|0;if(c|0){f[Ff>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=3342;break ma}c=f[zf>>2]|0;if(!c){c=Bf;break}f[zf>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=3342;break ma}while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(Yf,o,q)|0;ta=3342}else{sa=c;if((f[rf>>2]|0)>>>0<=sa>>>0?(f[sf>>2]|0)>>>0>sa>>>0:0){if(!(0>>0|(0==(q|0)?(j[pd>>1]|0)>>>0>>0:0))){o=s;break}c=Lc(Yf,c,o,q)|0;ta=3342;break}c=Lc(Yf,c,o,q)|0;ta=3342}while(0);if((ta|0)==3342){if(!c){c=7;ta=3349;break}o=f[gd>>2]|0}o=c+(o<<2)|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[bb>>2]=c;o=f[w>>2]|0;c=f[g>>2]|0}c=ib[o&255](c)|0;if(!c){c=(f[Sd>>2]|0)+(f[Rd>>2]|0)|0;sa=f[bb>>2]|0;ta=f[gd>>2]|0;f[gd>>2]=ta+1;f[sa+(ta<<2)>>2]=y;ta=y+12|0;f[ta>>2]=(f[ta>>2]|0)+1;if((c|0)!=0?(Ld=f[x+80>>2]|0,(Ld|0)!=0):0){f[y+20>>2]=c;c=jb[Ld&255](f[g>>2]|0,c+-1|0)|0;ta=3351}else{c=0;ta=3351}}else ta=3349}else{c=0;ta=3351}}while(0);if((ta|0)==3349){ta=0;if(y){g=y+8|0;ta=3351}}if((ta|0)==3351){ta=0;w=(f[g>>2]|0)+8|0;if(f[w>>2]|0){q=f[a>>2]|0;g=f[Of>>2]|0;do if(g|0){if(q|0){if(f[q+480>>2]|0){Kc(q,g);break}sa=g;if((f[q+304>>2]|0)>>>0<=sa>>>0?(f[q+308>>2]|0)>>>0>sa>>>0:0){sa=q+300|0;f[g>>2]=f[sa>>2];f[sa>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);r=f[w>>2]|0;na:do if(!r)g=0;else{s=(wz(r)|0)+1|0;oa:do if(!q){sa=KA(s|0,0,-1,-1)|0;ra=ba()|0;if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390){g=0;break na}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](s)|0;ta=3387;break}g=ib[f[37372>>2]&255](s)|0;if((f[18194]|0)>>>0>>0)f[18194]=s;q=71896;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[18187]|0;ra=LA(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break na}o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){g=0;break na}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){o=q+300|0;g=f[o>>2]|0;if(g|0){f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3387;break oa}o=q+296|0;g=f[o>>2]|0;if(!g){g=q+292|0;break}else{f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3387;break oa}}else g=q+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(q,s,0)|0;ta=3387}while(0);if((ta|0)==3387){ta=0;if(!g){g=0;break}}YA(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[w>>2]=0}}if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case -94:{na=Jf;oa=na+40|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));f[hd>>2]=Yf;sa=f[m+8>>2]|0;c=ua+(sa*40|0)|0;f[Jf>>2]=f[c>>2];f[Jf+4>>2]=f[c+4>>2];f[Jf+8>>2]=f[c+8>>2];f[Jf+12>>2]=f[c+12>>2];f[Jf+16>>2]=f[c+16>>2];c=d[za>>1]&-1025;d[za>>1]=c;c=c&65535;do if((c&18|0)!=0?(d[ua+(sa*40|0)+8>>1]&2048)==0:0){d[za>>1]=c|4096;if(c&16384){sa=(f[Jf>>2]|0)+(f[Xb>>2]|0)|0;if(df(Jf,(sa|0)>1?sa:1,1)|0){c=7;break}_A((f[Pb>>2]|0)+(f[Xb>>2]|0)|0,0,f[Jf>>2]|0)|0;f[Xb>>2]=(f[Xb>>2]|0)+(f[Jf>>2]|0);c=d[za>>1]&-16897;d[za>>1]=c;if(!((f[Rb>>2]|0)!=0?(f[Pb>>2]|0)==(f[cc>>2]|0):0))ta=3401}else ta=3401;if((ta|0)==3401){ta=0;c=gf(Jf)|0;if(c|0)break;c=d[za>>1]|0}d[za>>1]=c&-4097;c=0}else c=0;while(0);g=d[za>>1]|0;if(!((g&514)==514&(b[Ib>>0]|0)==1)){if(!(g&1)){g=Ic(Jf,1)|0;ta=3408}}else{g=f[Pb>>2]|0;ta=3408}pa:do if((ta|0)==3408){ta=0;if(g){x=ji(Yf,g,f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)>>2]|0)|0;w=f[f[x+60>>2]>>2]|0;q=f[Qb>>2]|0;if(!q){g=Wb;c=Vb}else{g=b[w>>0]|0;if(!(g<<24>>24))c=0;else{c=0;o=w;do{o=o+1|0;c=U(c+(h[1232+(g&255)>>0]|0)|0,-1640531535)|0;g=b[o>>0]|0}while(g<<24>>24!=0)}c=(c>>>0)%((f[bc>>2]|0)>>>0)|0;g=q+(c<<3)|0;c=q+(c<<3)+4|0}g=f[g>>2]|0;qa:do if(!g)c=72124;else{s=h[1232+(h[w>>0]|0)>>0]|0;while(1){c=f[c>>2]|0;g=g+-1|0;q=f[c+12>>2]|0;sa=b[q>>0]|0;o=(h[1232+(sa&255)>>0]|0)-s|0;if(!(sa<<24>>24==0|(o|0)!=0)){r=w;do{q=q+1|0;r=r+1|0;sa=b[q>>0]|0;o=(h[1232+(sa&255)>>0]|0)-(h[1232+(h[r>>0]|0)>>0]|0)|0}while(!(sa<<24>>24==0|(o|0)!=0))}if(!o)break qa;if(!g){c=72124;break}}}while(0);c=f[c+8>>2]|0;if((c|0?(Md=f[c>>2]|0,Nd=f[Md+4>>2]|0,Nd|0):0)?f[Md+20>>2]|0:0){c=si(Yf,x,c,Nd,Of)|0;if(c|0)break;s=x+64|0;c=f[s>>2]|0;if(!c){c=0;break}g=c;while(1){if((f[g>>2]|0)==(Yf|0))break;g=f[g+24>>2]|0;if(!g){c=0;break pa}}g=f[gd>>2]|0;if(!((g|0)%5|0)){q=(g<<2)+20|0;c=f[bb>>2]|0;r=((q|0)<0)<<31>>31;ra:do if(!c){if(f[rd>>2]|0){if(b[l>>0]|0){c=7;break pa}}else{do if(0>>0|(0==(r|0)?(j[pd>>1]|0)>>>0>>0:0))c=qd;else{c=f[Ff>>2]|0;if(c|0){f[Ff>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=3446;break ra}c=f[zf>>2]|0;if(!c){c=Bf;break}f[zf>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=3446;break ra}while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(Yf,q,r)|0;ta=3446}else{o=c;do if((f[rf>>2]|0)>>>0<=o>>>0){if((f[sf>>2]|0)>>>0<=o>>>0)break;if(!(0>>0|(0==(r|0)?(j[pd>>1]|0)>>>0>>0:0)))break ra;c=Lc(Yf,c,q,r)|0;ta=3446;break ra}while(0);c=Lc(Yf,c,q,r)|0;ta=3446}while(0);if((ta|0)==3446){ta=0;if(!c){c=7;break}g=f[gd>>2]|0}sa=c+(g<<2)|0;f[sa>>2]=0;f[sa+4>>2]=0;f[sa+8>>2]=0;f[sa+12>>2]=0;f[sa+16>>2]=0;f[bb>>2]=c;c=f[s>>2]|0}sa:do if(!c)c=0;else while(1){if((f[c>>2]|0)==(Yf|0))break sa;c=f[c+24>>2]|0;if(!c){c=0;break}}while(0);ra=f[bb>>2]|0;sa=f[gd>>2]|0;f[gd>>2]=sa+1;f[ra+(sa<<2)>>2]=c;c=c+12|0;f[c>>2]=(f[c>>2]|0)+1;c=0;break}f[Ce>>2]=w;c=Ig(Yf,44732,Ce)|0;f[Of>>2]=c;c=1}}while(0);if(!((d[za>>1]&9216)==0&(f[Rb>>2]|0)==0))ff(Jf);if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case -93:{g=(f[md>>2]|0)+1|0;f[md>>2]=g;c=ji(Yf,f[m+16>>2]|0,f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)>>2]|0)|0;do if(c|0?(Od=c+64|0,Pd=f[Od>>2]|0,Pd|0):0){c=Pd;do{if((f[(f[c+8>>2]|0)+4>>2]|0)>0){c=6;ta=3480;break c}c=f[c+24>>2]|0}while((c|0)!=0);f[Od>>2]=0;r=Pd;g=0;while(1){o=f[r>>2]|0;q=r+24|0;c=r;r=f[q>>2]|0;if((o|0)==(Yf|0)){f[Od>>2]=c;f[q>>2]=0;o=c}else{o=o+360|0;f[q>>2]=f[o>>2];f[o>>2]=c;o=g}if(!r)break;else g=o}g=o+8|0;c=ib[f[(f[f[o+4>>2]>>2]|0)+20>>2]&255](f[g>>2]|0)|0;if(c|0){ta=3479;break c}f[g>>2]=0;f[Od>>2]=0;c=f[o>>2]|0;ra=o+12|0;sa=(f[ra>>2]|0)+-1|0;f[ra>>2]=sa;if(!sa){if(c|0){if(f[c+480>>2]|0){Kc(c,o);break}sa=o;if((f[c+304>>2]|0)>>>0<=sa>>>0?(f[c+308>>2]|0)>>>0>sa>>>0:0){sa=c+300|0;f[o>>2]=f[sa>>2];f[sa>>2]=o;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{sa=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}}while(0);f[md>>2]=(f[md>>2]|0)+-1;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case -92:{f[Jf>>2]=0;x=f[(f[m+16>>2]|0)+8>>2]|0;if(!x){c=6;ta=3537;break c}y=f[x>>2]|0;if(!y){c=6;ta=3537;break c}c=jb[f[y+24>>2]&255](x,Jf)|0;w=x+8|0;if(f[w>>2]|0){q=f[a>>2]|0;g=f[Of>>2]|0;do if(g|0){if(q|0){if(f[q+480>>2]|0){Kc(q,g);break}sa=g;if((f[q+304>>2]|0)>>>0<=sa>>>0?(f[q+308>>2]|0)>>>0>sa>>>0:0){sa=q+300|0;f[g>>2]=f[sa>>2];f[sa>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);r=f[w>>2]|0;ta:do if(!r)g=0;else{s=(wz(r)|0)+1|0;ua:do if(!q){sa=KA(s|0,0,-1,-1)|0;ra=ba()|0;if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390){g=0;break ta}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](s)|0;ta=3519;break}g=ib[f[37372>>2]&255](s)|0;if((f[18194]|0)>>>0>>0)f[18194]=s;q=71896;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[18187]|0;ra=LA(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break ta}o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){g=0;break ta}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){o=q+300|0;g=f[o>>2]|0;if(g|0){f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3519;break ua}o=q+296|0;g=f[o>>2]|0;if(!g){g=q+292|0;break}else{f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3519;break ua}}else g=q+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(q,s,0)|0;ta=3519}while(0);if((ta|0)==3519){ta=0;if(!g){g=0;break}}YA(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[w>>2]=0}if(c|0){ta=3537;break c}f[f[Jf>>2]>>2]=x;o=f[m+4>>2]|0;c=f[Kd>>2]|0;if((o|0)>0)c=c+(((f[Ba>>2]|0)-o|0)*40|0)|0;g=f[(f[tc>>2]|0)+(o<<2)>>2]|0;if(g|0){Dg(a,g);f[(f[tc>>2]|0)+(o<<2)>>2]=0}if((f[c+24>>2]|0)<96){if(df(c,96,0)|0){ta=3538;break c}c=f[c+16>>2]|0}else{sa=f[c+20>>2]|0;f[c+16>>2]=sa;c=c+8|0;d[c>>1]=d[c>>1]&13;c=sa}f[(f[tc>>2]|0)+(o<<2)>>2]=c;na=c;oa=na+36|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));b[c>>0]=2;b[c+1>>0]=-1;d[c+56>>1]=0;f[c+72>>2]=c+88;if(!c){ta=3538;break c}f[c+40>>2]=f[Jf>>2];z=x+4|0;f[z>>2]=(f[z>>2]|0)+1;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}case 9:{q=ua+((f[m+12>>2]|0)*40|0)|0;g=q+40|0;x=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;y=f[x+40>>2]|0;s=f[y>>2]|0;z=f[s>>2]|0;o=f[g>>2]|0;q=f[q>>2]|0;r=f[Aa>>2]|0;if((o|0)>0){c=0;do{sa=c;c=c+1|0;f[r+(sa<<2)>>2]=g+(c*40|0)}while((c|0)!=(o|0))}c=mb[f[z+32>>2]&127](y,q,f[m+16>>2]|0,o,r)|0;w=s+8|0;if(f[w>>2]|0){q=f[a>>2]|0;g=f[Of>>2]|0;do if(g|0){if(q|0){if(f[q+480>>2]|0){Kc(q,g);break}sa=g;if((f[q+304>>2]|0)>>>0<=sa>>>0?(f[q+308>>2]|0)>>>0>sa>>>0:0){sa=q+300|0;f[g>>2]=f[sa>>2];f[sa>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);r=f[w>>2]|0;va:do if(!r)g=0;else{s=(wz(r)|0)+1|0;wa:do if(!q){sa=KA(s|0,0,-1,-1)|0;ra=ba()|0;if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390){g=0;break va}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](s)|0;ta=3578;break}g=ib[f[37372>>2]&255](s)|0;if((f[18194]|0)>>>0>>0)f[18194]=s;q=71896;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[18187]|0;ra=LA(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break va}o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){g=0;break va}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){o=q+300|0;g=f[o>>2]|0;if(g|0){f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3578;break wa}o=q+296|0;g=f[o>>2]|0;if(!g){g=q+292|0;break}else{f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3578;break wa}}else g=q+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(q,s,0)|0;ta=3578}while(0);if((ta|0)==3578){ta=0;if(!g){g=0;break}}YA(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[w>>2]=0}if(c|0){r=Qf;q=Rf;ta=3925;break a}sa=ib[f[z+40>>2]&255](y)|0;b[x+2>>0]=0;if(!sa){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{c=0;ta=27}break}case -91:{g=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;y=f[m+12>>2]|0;z=ua+(y*40|0)|0;if(b[g+2>>0]|0){g=ua+(y*40|0)+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else cf(z);z=wa;y=Qf;s=Rf;q=ua;r=va;break d}c=g+40|0;q=f[f[c>>2]>>2]|0;g=f[q>>2]|0;f[oc>>2]=0;f[oc+4>>2]=0;f[oc+8>>2]=0;f[oc+12>>2]=0;f[oc+16>>2]=0;f[oc+20>>2]=0;f[oc+24>>2]=0;f[Jf>>2]=z;x=ua+(y*40|0)+8|0;o=d[x>>1]|0;if(!(d[m+2>>1]&1))d[x>>1]=o&15872|1;else{if(!(o&9216))d[x>>1]=1;else cf(z);d[x>>1]=16385;f[z>>2]=0}c=kb[f[g+44>>2]&127](f[c>>2]|0,Jf,f[m+8>>2]|0)|0;w=q+8|0;if(f[w>>2]|0){q=f[a>>2]|0;g=f[Of>>2]|0;do if(g|0){if(q|0){if(f[q+480>>2]|0){Kc(q,g);break}sa=g;if((f[q+304>>2]|0)>>>0<=sa>>>0?(f[q+308>>2]|0)>>>0>sa>>>0:0){sa=q+300|0;f[g>>2]=f[sa>>2];f[sa>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);r=f[w>>2]|0;xa:do if(!r)g=0;else{s=(wz(r)|0)+1|0;ya:do if(!q){sa=KA(s|0,0,-1,-1)|0;ra=ba()|0;if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390){g=0;break xa}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](s)|0;ta=3633;break}g=ib[f[37372>>2]&255](s)|0;if((f[18194]|0)>>>0>>0)f[18194]=s;q=71896;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[18187]|0;ra=LA(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break xa}o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){g=0;break xa}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){o=q+300|0;g=f[o>>2]|0;if(g|0){f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3633;break ya}o=q+296|0;g=f[o>>2]|0;if(!g){g=q+292|0;break}else{f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3633;break ya}}else g=q+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(q,s,0)|0;ta=3633}while(0);if((ta|0)==3633){ta=0;if(!g){g=0;break}}YA(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[w>>2]=0}if((f[Jb>>2]|0)>0){c=d[x>>1]|0;if((c&514)==514?(b[ua+(y*40|0)+10>>0]|0)==1:0)c=f[ua+(y*40|0)+16>>2]|0;else if(!(c&1))c=Ic(z,1)|0;else c=0;f[De>>2]=c;Fg(a,40840,De);c=f[Jb>>2]|0}g=d[x>>1]|0;if((g&2)!=0?(b[ua+(y*40|0)+10>>0]|0)!=Fd<<24>>24:0){Ri(z,Fd)|0;g=d[x>>1]|0}o=g&65535;if(o&18){g=f[ua+(y*40|0)+12>>2]|0;if(o&16384)g=(f[z>>2]|0)+g|0;if((g|0)>(f[(f[ua+(y*40|0)+32>>2]|0)+108>>2]|0)){ta=3655;break c}else g=(c|0)==0?7:10}else g=(c|0)==0?7:10;switch(g&15){case 10:{r=Qf;q=Rf;ta=3925;break a}case 7:{z=wa;y=Qf;s=Rf;q=ua;r=va;break}default:{c=0;ta=3961;break c}}break}case 60:{g=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;if(!(b[g+2>>0]|0)){w=g+40|0;c=f[w>>2]|0;y=f[c>>2]|0;x=f[y>>2]|0;c=ib[f[x+36>>2]&255](c)|0;y=y+8|0;if(f[y>>2]|0){q=f[a>>2]|0;g=f[Of>>2]|0;do if(g|0){if(q|0){if(f[q+480>>2]|0){Kc(q,g);break}sa=g;if((f[q+304>>2]|0)>>>0<=sa>>>0?(f[q+308>>2]|0)>>>0>sa>>>0:0){sa=q+300|0;f[g>>2]=f[sa>>2];f[sa>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);r=f[y>>2]|0;za:do if(!r)g=0;else{s=(wz(r)|0)+1|0;Aa:do if(!q){sa=KA(s|0,0,-1,-1)|0;ra=ba()|0;if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390){g=0;break za}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](s)|0;ta=3695;break}g=ib[f[37372>>2]&255](s)|0;if((f[18194]|0)>>>0>>0)f[18194]=s;q=71896;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[18187]|0;ra=LA(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break za}o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){g=0;break za}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){o=q+300|0;g=f[o>>2]|0;if(g|0){f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3695;break Aa}o=q+296|0;g=f[o>>2]|0;if(!g){g=q+292|0;break}else{f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3695;break Aa}}else g=q+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(q,s,0)|0;ta=3695}while(0);if((ta|0)==3695)if(!g){g=0;break}YA(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[y>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[y>>2]=0}if(c|0){r=Qf;q=Rf;ta=3925;break a}if(!(ib[f[x+40>>2]&255](f[w>>2]|0)|0)){c=0;ta=21}else{c=0;ta=22}}else{z=wa;y=Qf;s=Rf;q=ua;r=va}break}case -90:{c=dd;o=f[c>>2]|0;c=f[c+4>>2]|0;q=dd;f[q>>2]=o|67108864;f[q+4>>2]=c;q=f[(f[m+16>>2]|0)+8>>2]|0;c=f[m+4>>2]|0;g=ua+(c*40|0)|0;if((d[ua+(c*40|0)+8>>1]&2?(b[ua+(c*40|0)+10>>0]|0)!=1:0)?(qf=Ri(g,1)|0,qf|0):0){r=Qf;q=Rf;c=qf;ta=3925;break a}c=jb[f[(f[q>>2]|0)+76>>2]&255](q,f[ua+(c*40|0)+16>>2]|0)|0;if((o&67108864|0)==0&0==0){qa=dd;ra=f[qa+4>>2]|0;sa=dd;f[sa>>2]=f[qa>>2]&-67108865;f[sa+4>>2]=ra}w=q+8|0;if(f[w>>2]|0){q=f[a>>2]|0;g=f[Of>>2]|0;do if(g|0){if(q|0){if(f[q+480>>2]|0){Kc(q,g);break}sa=g;if((f[q+304>>2]|0)>>>0<=sa>>>0?(f[q+308>>2]|0)>>>0>sa>>>0:0){sa=q+300|0;f[g>>2]=f[sa>>2];f[sa>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);r=f[w>>2]|0;Ba:do if(!r)g=0;else{s=(wz(r)|0)+1|0;Ca:do if(!q){sa=KA(s|0,0,-1,-1)|0;ra=ba()|0;if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390){g=0;break Ba}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](s)|0;ta=3745;break}g=ib[f[37372>>2]&255](s)|0;if((f[18194]|0)>>>0>>0)f[18194]=s;q=71896;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[18187]|0;ra=LA(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break Ba}o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){g=0;break Ba}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){o=q+300|0;g=f[o>>2]|0;if(g|0){f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3745;break Ca}o=q+296|0;g=f[o>>2]|0;if(!g){g=q+292|0;break}else{f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3745;break Ca}}else g=q+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(q,s,0)|0;ta=3745}while(0);if((ta|0)==3745){ta=0;if(!g){g=0;break}}YA(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[w>>2]=0}sa=(h[Mf>>0]|h[Mf+1>>0]<<8)&-4;b[Mf>>0]=sa;b[Mf+1>>0]=sa>>8;if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}break}case 10:{if(b[l>>0]|0){ta=3754;break c}y=m+16|0;w=f[(f[y>>2]|0)+8>>2]|0;if(!w){ta=3816;break c}g=f[w>>2]|0;if(!g){ta=3816;break c}s=f[m+8>>2]|0;o=g+52|0;g=f[o>>2]|0;Da:do if(g){r=b[Sb>>0]|0;q=f[Aa>>2]|0;if((s|0)>0){c=ua+((f[m+12>>2]|0)*40|0)|0;g=0;while(1){f[q+(g<<2)>>2]=c;g=g+1|0;if((g|0)==(s|0))break;else c=c+40|0}c=f[o>>2]|0}else c=g;x=m+2|0;b[Sb>>0]=d[x>>1];c=lb[c&127](w,s,q,Jf)|0;b[Sb>>0]=r;w=w+8|0;if(f[w>>2]|0){q=f[a>>2]|0;g=f[Of>>2]|0;Ea:do if(g|0){do if(q|0){if(f[q+480>>2]|0){Kc(q,g);break Ea}o=g;if((f[q+304>>2]|0)>>>0>o>>>0)break;if((f[q+308>>2]|0)>>>0<=o>>>0)break;sa=q+300|0;f[g>>2]=f[sa>>2];f[sa>>2]=g;break Ea}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);r=f[w>>2]|0;Fa:do if(!r)g=0;else{s=(wz(r)|0)+1|0;Ga:do if(!q){sa=KA(s|0,0,-1,-1)|0;ra=ba()|0;if(ra>>>0>0|(ra|0)==0&sa>>>0>2147483390){g=0;break Fa}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](s)|0;ta=3798;break}g=ib[f[37372>>2]&255](s)|0;if((f[18194]|0)>>>0>>0)f[18194]=s;q=71896;o=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&o>>>0>0){sa=f[18187]|0;ra=LA(o|0,q|0,g|0,((g|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break Fa}o=ib[f[37368>>2]&255](g)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){g=0;break Fa}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){o=q+300|0;g=f[o>>2]|0;if(g|0){f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3798;break Ga}o=q+296|0;g=f[o>>2]|0;if(!g){g=q+292|0;break}else{f[o>>2]=f[g>>2];ta=q+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3798;break Ga}}else g=q+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(q,s,0)|0;ta=3798}while(0);if((ta|0)==3798){ta=0;if(!g){g=0;break}}YA(g|0,r|0,s|0)|0}while(0);f[Of>>2]=g;g=f[w>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{sa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[w>>2]=0}if(!c){if(f[m+4>>2]|0){qa=Jf;ra=f[qa+4>>2]|0;sa=Eb;f[sa>>2]=f[qa>>2];f[sa+4>>2]=ra}f[vc>>2]=(f[vc>>2]|0)+1;c=0;break}else{if((c&255|0)!=19){ta=3813;break c}if(!(b[(f[y>>2]|0)+16>>0]|0)){ta=3813;break c}g=d[x>>1]|0;switch(g<<16>>16){case 5:{g=2;ta=3812;break c}case 4:{c=0;break Da}default:{ta=3811;break c}}}}while(0);z=wa;y=Qf;s=Rf;q=ua;r=va;break}case -89:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;z=g;f[z>>2]=f[(f[(f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+4>>2]|0)+4>>2]|0)+44>>2];f[z+4>>2]=0;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case -88:{sa=f[Kd>>2]|0;o=f[m+8>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;r=f[(f[Lf>>2]|0)+(f[m+4>>2]<<4)+4>>2]|0;o=f[m+12>>2]|0;q=f[r+4>>2]|0;if(!o)o=0;else{sa=f[q+44>>2]|0;o=sa>>>0>>0?o:sa}f[q+4>>2]=f[r>>2];q=(f[q>>2]|0)+156|0;if((o|0)>0)f[q>>2]=o;else o=f[q>>2]|0;z=g;f[z>>2]=o;f[z+4>>2]=((o|0)<0)<<31>>31;z=wa;y=Qf;s=Rf;q=ua;r=va;break}case 63:case 62:{q=d[m+2>>1]|0;o=((q&65535)<<2)+28|0;do if(f[rd>>2]|0)if(!(b[l>>0]|0))ta=3839;else{c=Rf;g=Qf;ta=3959;break a}else{if(!(0<0|(0==0?(j[pd>>1]|0)>>>0>>0:0))){g=f[Ff>>2]|0;if(g|0){f[Ff>>2]=f[g>>2];f[Af>>2]=(f[Af>>2]|0)+1;break}g=f[zf>>2]|0;if(!g)g=Bf;else{f[zf>>2]=f[g>>2];f[Af>>2]=(f[Af>>2]|0)+1;break}}else g=qd;f[g>>2]=(f[g>>2]|0)+1;ta=3839}while(0);if((ta|0)==3839)g=Dc(Yf,o,0)|0;if(!g){g=Qf;c=Rf;ta=3954;break a}f[g>>2]=0;ta=m+16|0;f[g+4>>2]=f[ta>>2];f[g+16>>2]=(m-Qf|0)/20|0;f[g+12>>2]=a;f[g+20>>2]=0;b[g+25>>0]=q;b[m+1>>0]=-16;f[ta>>2]=g;b[m>>0]=(h[m>>0]|0)+2;ta=3842;break}case 65:case 64:{ta=3842;break}default:{z=wa;y=Qf;s=Rf;q=ua;r=va}}while(0);Ha:do if((ta|0)==33){ta=0;o=f[m+4>>2]|0;if(o|0){ta=38;break c}g=f[sc>>2]|0;if(!g){ta=37;break c}f[sc>>2]=f[g+4>>2];f[Sa>>2]=(f[Sa>>2]|0)+-1;o=f[vc>>2]|0;f[wc>>2]=o;f[xc>>2]=(f[xc>>2]|0)+o;g=Cg(g)|0;o=f[qe>>2]|0;if((f[m+8>>2]|0)==4)g=(f[o+(g*20|0)+8>>2]|0)+-1|0;z=wa;y=o;s=Rf;q=f[Kd>>2]|0;r=va;m=o+(g*20|0)|0}else if((ta|0)==81){ta=0;sa=f[Kd>>2]|0;o=f[g>>2]|0;g=sa+(o*40|0)|0;o=sa+(o*40|0)+8|0;if(!(d[o>>1]&9216))d[o>>1]=4;else Qi(g)|0;o=g+8|0;d[o>>1]=2562;f[g+16>>2]=f[m+16>>2];f[g+12>>2]=f[m+4>>2];b[g+10>>0]=Fd;g=f[m+12>>2]|0;if((g|0)>0?(sa=ua+(g*40|0)|0,(f[sa+4>>2]|0)==0?(f[sa>>2]|0)==(j[m+2>>1]|0):0):0){d[o>>1]=2576;z=wa;y=Qf;s=Rf;q=ua;r=va}else{z=wa;y=Qf;s=Rf;q=ua;r=va}}else if((ta|0)==989){if(((h[Mf>>0]|h[Mf+1>>0]<<8)&3)==1){r=Qf;q=Rf;c=516;ta=3925;break a}x=f[m+8>>2]|0;B=f[m+12>>2]|0;c=f[Lf>>2]|0;D=f[c+(B<<4)+4>>2]|0;o=m+2|0;q=d[o>>1]|0;if(C<<24>>24==110){g=(q&8|4)&65535;c=b[(f[c+(B<<4)+12>>2]|0)+76>>0]|0;if((c&255)<(h[uc>>0]|0)){b[uc>>0]=c;C=g}else C=g}else C=0;if(q&16){s=ua+(x*40|0)|0;w=ua+(x*40|0)+8|0;r=d[w>>1]|0;c=r&65535;do if(!(c&4)){if(c&8|0){g=Fc(+p[s>>3])|0;q=ba()|0;c=r;break}if(!(c&18)){g=0;q=0;c=r}else{g=Gc(b[ua+(x*40|0)+10>>0]|0,f[ua+(x*40|0)+12>>2]|0,f[ua+(x*40|0)+16>>2]|0)|0;q=ba()|0;c=d[w>>1]|0}}else{q=s;g=f[q>>2]|0;q=f[q+4>>2]|0;c=r}while(0);x=s;f[x>>2]=g;f[x+4>>2]=q;d[w>>1]=c&15872|4;x=g}A=m+1|0;switch(b[A>>0]|0){case -9:{z=f[m+16>>2]|0;y=j[z+8>>1]|0;break}case -3:{y=f[m+16>>2]|0;z=0;break}default:{y=0;z=0}}s=f[m+4>>2]|0;c=f[Kd>>2]|0;if((s|0)>0)c=c+(((f[Ba>>2]|0)-s|0)*40|0)|0;g=y<<3;w=g+96|0;g=g+296|0;q=f[(f[tc>>2]|0)+(s<<2)>>2]|0;if(q|0){Dg(a,q);f[(f[tc>>2]|0)+(s<<2)>>2]=0}if((f[c+24>>2]|0)<(g|0)){if(df(c,g,0)|0){g=Qf;c=Rf;ta=3954;break a}g=c+16|0;r=g;g=f[g>>2]|0}else{g=f[c+20>>2]|0;r=c+16|0;f[r>>2]=g;ta=c+8|0;d[ta>>1]=d[ta>>1]&13}f[(f[tc>>2]|0)+(s<<2)>>2]=g;c=B&255;q=g+1|0;na=g;oa=na+36|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));b[q>>0]=c;d[g+56>>1]=y;f[g+72>>2]=g+88+(y<<2);ta=(f[r>>2]|0)+w|0;c=g+40|0;f[c>>2]=ta;f[ta>>2]=0;f[ta+4>>2]=0;f[ta+8>>2]=0;f[ta+12>>2]=0;f[ta+16>>2]=0;if(!g){g=Qf;c=Rf;ta=3954;break a}b[g+2>>0]=1;ta=g+5|0;b[ta>>0]=b[ta>>0]|4;f[g+52>>2]=x;c=bj(D,x,C,z,f[c>>2]|0)|0;f[g+44>>2]=z;b[g+4>>0]=(b[A>>0]|0)!=-9&1;ta=1014}else if((ta|0)==1143){ta=0;y=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;x=f[m+12>>2]|0;o=ua+(x*40|0)|0;c=f[m+16>>2]|0;if((c|0)>0){f[Td>>2]=f[y+44>>2];d[Ga>>1]=c;f[Ha>>2]=o;s=0;r=Td;c=C;q=0}else{c=ua+(x*40|0)+8|0;if(d[c>>1]&16384){g=ua+(x*40|0)+12|0;sa=(f[o>>2]|0)+(f[g>>2]|0)|0;if(df(o,(sa|0)>1?sa:1,1)|0){ta=1193;break c}_A((f[ua+(x*40|0)+16>>2]|0)+(f[g>>2]|0)|0,0,f[o>>2]|0)|0;f[g>>2]=(f[g>>2]|0)+(f[o>>2]|0);d[c>>1]=d[c>>1]&-16897}r=y+44|0;s=f[r>>2]|0;w=s+6|0;q=((j[w>>1]|0)*40|0)+56|0;o=f[s+12>>2]|0;Ia:do if(!o){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](q)|0;ta=1171;break}o=ib[f[37372>>2]&255](q)|0;if((f[18194]|0)>>>0>>0)f[18194]=q;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){sa=f[18187]|0;ra=LA(c|0,g|0,o|0,((o|0)<0)<<31>>31|0)|0;qa=ba()|0;f[17976]=((qa|0)<0|(qa|0)==0&ra>>>0<=sa>>>0)&1}g=ib[f[37356>>2]&255](o)|0;if(!g){ta=1193;break c}c=ib[f[37368>>2]&255](g)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){ta=1193;break c}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){g=o+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];ta=o+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=1171;break Ia}g=o+296|0;c=f[g>>2]|0;if(!c){c=o+292|0;break}else{f[g>>2]=f[c>>2];ta=o+284|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=1171;break Ia}}else c=o+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(o,q,0)|0;ta=1171}while(0);if((ta|0)==1171)if(!c){ta=1193;break c}else g=c;f[g+4>>2]=g+16;f[g>>2]=s;d[g+8>>1]=(j[w>>1]|0)+1;hj(f[r>>2]|0,f[ua+(x*40|0)+12>>2]|0,f[ua+(x*40|0)+16>>2]|0,g);s=g;r=g;c=b[m>>0]|0;q=g}b[r+10>>0]=0;Ja:do if(c<<24>>24==27?(je=d[r+8>>1]|0,je<<16>>16!=0):0){g=f[r+4>>2]|0;o=je&65535;c=0;while(1){if(d[g+(c*40|0)+8>>1]&1){o=1;break Ja}c=c+1|0;if(c>>>0>=o>>>0){o=0;break}}}else o=0;while(0);c=ej(f[y+40>>2]|0,r,0,0,0,Jf)|0;do if(s|0){if(f[pf>>2]|0){Kc(Yf,q);break}ta=q;if((f[rf>>2]|0)>>>0<=ta>>>0?(f[sf>>2]|0)>>>0>ta>>>0:0){f[q>>2]=f[Ff>>2];f[Ff>>2]=q;break}if(q|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{ta=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}while(0);if(c|0){ta=1195;break c}c=f[Jf>>2]|0;f[y+32>>2]=c;g=(c|0)==0;b[y+2>>0]=(g^1)&1;b[y+3>>0]=0;f[y+28>>2]=0;if((b[m>>0]|0)==29)if(g)ta=1194;else ta=1192;else if(!(c|o))ta=1192;else ta=1194;if((ta|0)==1192){ta=0;z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}else if((ta|0)==1194){c=0;ta=27;break}}else if((ta|0)==1212){ta=0;qa=f[c>>2]|0;ra=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;c=f[ra+40>>2]|0;f[pe>>2]=0;qa=ua+(qa*40|0)|0;pa=f[qa>>2]|0;qa=f[qa+4>>2]|0;c=ej(c,0,pa,qa,0,pe)|0;sa=ra+64|0;f[sa>>2]=pa;f[sa+4>>2]=qa;b[ra+2>>0]=0;f[ra+28>>2]=0;b[ra+3>>0]=0;sa=f[pe>>2]|0;f[ra+32>>2]=sa;if(!sa)if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0;break}else{r=Qf;q=Rf;ta=3925;break a}else if(!(f[m+8>>2]|0)){ta=1214;break c}else{ta=27;break}}else if((ta|0)==1447){ta=0;sa=f[(f[tc>>2]|0)+(f[m+4>>2]<<2)>>2]|0;f[ee>>2]=1;do if((b[sa>>0]|0)==1){ra=f[sa+40>>2]|0;if(!(b[ra+56>>0]|0)){c=ra+36|0;if(!(f[c>>2]|0)){b[sa+2>>0]=1;c=0;ta=27;break Ha}else{f[ee>>2]=0;c=nj(ra+64|0,c)|0;break}}c=oj(ra)|0;if(c|0){ta=2072;break c}qa=ra+59|0;S=0;pa=0;while(1){if(pa>>>0>=(h[qa>>0]|0)>>>0){ta=2064;break}ka=ra+64+(pa*72|0)|0;f[Jf>>2]=0;la=ra+64+(pa*72|0)+28|0;c=f[la>>2]|0;g=((c|0)<0)<<31>>31;if((c|0)>16){ja=0;o=16;q=0;while(1){o=WA(o|0,q|0,4)|0;q=ba()|0;ma=ja+1|0;if(!((q|0)<(g|0)|(q|0)==(g|0)&o>>>0>>0))break;else ja=ma}oa=Td;f[oa>>2]=0;f[oa+4>>2]=0;if((c|0)>=17){c=f[9393]|0;if((c|0)!=0?(ib[c&255](100)|0)!=0:0){W=0;Y=0}else ta=1463;Ka:do if((ta|0)==1463){ta=0;do if(!(f[9328]|0)){c=ib[f[37356>>2]&255](976)|0;if(!c){W=0;Y=0;break Ka}}else{c=ib[f[37372>>2]&255](976)|0;if((f[18194]|0)>>>0<976)f[18194]=976;o=71896;g=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&g>>>0>0){oa=f[18187]|0;na=LA(g|0,o|0,c|0,((c|0)<0)<<31>>31|0)|0;ia=ba()|0;f[17976]=((ia|0)<0|(ia|0)==0&na>>>0<=oa>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c){W=0;Y=0;break Ka}g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0<=(f[18196]|0)>>>0)break;f[18196]=g}while(0);W=c+16|0;_A(W|0,0,960)|0;f[c>>2]=16;f[c+4>>2]=0;f[c+12>>2]=W;f[c+8>>2]=c+912;W=c;Y=c}while(0);f[Jf>>2]=Y;oa=(Y|0)==0;c=oa?7:0;g=f[la>>2]|0;if((g|0)>0&(oa^1)){ga=(ja|0)==0;ha=ra+64+(pa*72|0)+8|0;ia=ra+64+(pa*72|0)+64|0;o=0;fa=0;do{f[be>>2]=0;c=g-fa|0;c=pj(ka,(c|0)<16?c:16,Td,be)|0;do if(!c){ea=o+1|0;ca=f[be>>2]|0;c=f[9393]|0;if((c|0)!=0?(ib[c&255](100)|0)!=0:0)ta=1492;else ta=1480;La:do if((ta|0)==1480){ta=0;do if(!(f[9328]|0)){c=ib[f[37356>>2]&255](64)|0;if(!c){ta=1492;break La}else g=c}else{c=ib[f[37372>>2]&255](64)|0;if((f[18194]|0)>>>0<64)f[18194]=64;q=71896;g=f[q>>2]|0;q=f[q+4>>2]|0;if((q|0)>0|(q|0)==0&g>>>0>0){oa=f[18187]|0;na=LA(g|0,q|0,c|0,((c|0)<0)<<31>>31|0)|0;da=ba()|0;f[17976]=((da|0)<0|(da|0)==0&na>>>0<=oa>>>0)&1}g=ib[f[37356>>2]&255](c)|0;if(!g){ta=1492;break La}c=ib[f[37368>>2]&255](g)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0<=(f[18196]|0)>>>0)break;f[18196]=c}while(0);na=g+8|0;oa=na+56|0;do{b[na>>0]=0;na=na+1|0}while((na|0)<(oa|0));f[g+4>>2]=ca;f[g>>2]=ka;da=f[ha>>2]|0;ca=(f[da+8>>2]|0)+9|0;da=(f[da+4>>2]|0)/2|0;da=(ca|0)>(da|0)?ca:da;f[g+16>>2]=da;ca=ia;da=KA(f[ca>>2]|0,f[ca+4>>2]|0,da|0,((da|0)<0)<<31>>31|0)|0;ca=ba()|0;c=ia;f[c>>2]=da;f[c+4>>2]=ca;c=0;ca=g;da=g}while(0);do if((ta|0)==1492){ta=0;if(!ca){c=7;ca=0;da=0;break}if((f[ca>>2]|0)>0){$=ca+12|0;_=0;do{g=f[$>>2]|0;aa=g+(_*56|0)|0;c=f[g+(_*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[g+(_*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);Q=f[g+(_*56|0)+48>>2]|0;do if(Q|0){R=f[Q+4>>2]|0;do if(R|0){if((f[R>>2]|0)>0){X=R+12|0;P=0;do{g=f[X>>2]|0;Z=g+(P*56|0)|0;c=f[g+(P*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[g+(P*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);L=f[g+(P*56|0)+48>>2]|0;do if(L|0){M=f[L+4>>2]|0;do if(M|0){if((f[M>>2]|0)>0){N=M+12|0;K=0;do{g=f[N>>2]|0;O=g+(K*56|0)|0;c=f[g+(K*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[g+(K*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);E=f[g+(K*56|0)+48>>2]|0;do if(E|0){F=f[E+4>>2]|0;do if(F|0){if((f[F>>2]|0)>0){I=F+12|0;D=0;do{g=f[I>>2]|0;J=g+(D*56|0)|0;c=f[g+(D*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[g+(D*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);z=f[g+(D*56|0)+48>>2]|0;do if(z|0){A=f[z+4>>2]|0;do if(A|0){if((f[A>>2]|0)>0){B=A+12|0;y=0;do{g=f[B>>2]|0;C=g+(y*56|0)|0;c=f[g+(y*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[g+(y*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);s=f[g+(y*56|0)+48>>2]|0;do if(s|0){w=f[s+4>>2]|0;do if(w|0){if((f[w>>2]|0)>0){x=w+12|0;r=0;do{g=f[x>>2]|0;q=g+(r*56|0)|0;c=f[g+(r*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[g+(r*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[g+(r*56|0)+48>>2]|0;do if(c|0){gi(f[c+4>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);na=q;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));r=r+1|0}while((r|0)<(f[w>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{oa=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{oa=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);na=C;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));y=y+1|0}while((y|0)<(f[A>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{oa=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{oa=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}}while(0);na=J;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));D=D+1|0}while((D|0)<(f[F>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](F);break}else{oa=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](E);break}else{oa=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);break}}while(0);na=O;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));K=K+1|0}while((K|0)<(f[M>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](M);break}else{oa=ib[f[37368>>2]&255](M)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](M);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](L);break}else{oa=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);break}}while(0);na=Z;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));P=P+1|0}while((P|0)<(f[R>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](R);break}else{oa=ib[f[37368>>2]&255](R)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](R);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](Q);break}else{oa=ib[f[37368>>2]&255](Q)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Q);break}}while(0);na=aa;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));_=_+1|0}while((_|0)<(f[ca>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](ca);c=7;ca=0;da=0;break}else{c=ib[f[37368>>2]&255](ca)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ca);c=7;ca=0;da=0;break}}while(0);Ma:do if(ga){if(!c){c=Y;ta=1756}}else{q=1;g=1;do{q=q<<4;g=g+1|0}while((g|0)!=(ma|0));if(c|0)break;c=Y;x=1;Na:while(1){w=(f[c+12>>2]|0)+((((o|0)/(q|0)|0|0)%16|0)*56|0)+48|0;c=f[w>>2]|0;if(!c){c=f[9393]|0;if(c|0?ib[c&255](100)|0:0){c=7;break Ma}do if(!(f[9328]|0)){c=ib[f[37356>>2]&255](976)|0;if(!c){c=7;break Ma}else g=c}else{c=ib[f[37372>>2]&255](976)|0;if((f[18194]|0)>>>0<976)f[18194]=976;r=71896;g=f[r>>2]|0;r=f[r+4>>2]|0;if((r|0)>0|(r|0)==0&g>>>0>0){oa=f[18187]|0;na=LA(g|0,r|0,c|0,((c|0)<0)<<31>>31|0)|0;aa=ba()|0;f[17976]=((aa|0)<0|(aa|0)==0&na>>>0<=oa>>>0)&1}g=ib[f[37356>>2]&255](c)|0;if(!g){c=7;break Ma}c=ib[f[37368>>2]&255](g)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0<=(f[18196]|0)>>>0)break;f[18196]=c}while(0);c=g+16|0;_A(c|0,0,960)|0;aa=g+12|0;f[g>>2]=16;f[g+4>>2]=0;f[aa>>2]=c;f[g+8>>2]=g+912;c=f[9393]|0;if(c|0?ib[c&255](100)|0:0){ta=1628;break}do if(!(f[9328]|0)){c=ib[f[37356>>2]&255](64)|0;if(!c){ta=1640;break Na}}else{c=ib[f[37372>>2]&255](64)|0;if((f[18194]|0)>>>0<64)f[18194]=64;s=71896;r=f[s>>2]|0;s=f[s+4>>2]|0;if((s|0)>0|(s|0)==0&r>>>0>0){oa=f[18187]|0;na=LA(r|0,s|0,c|0,((c|0)<0)<<31>>31|0)|0;$=ba()|0;f[17976]=(($|0)<0|($|0)==0&na>>>0<=oa>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c){ta=1640;break Na}r=ib[f[37368>>2]&255](c)|0;r=(f[18187]|0)+r|0;f[18187]=r;if(r>>>0>(f[18191]|0)>>>0)f[18191]=r;r=(f[18190]|0)+1|0;f[18190]=r;if(r>>>0<=(f[18196]|0)>>>0)break;f[18196]=r}while(0);na=c+8|0;oa=na+56|0;do{b[na>>0]=0;na=na+1|0}while((na|0)<(oa|0));f[w>>2]=c;f[c+4>>2]=g;f[c>>2]=ka;aa=f[ha>>2]|0;na=(f[aa+8>>2]|0)+9|0;aa=(f[aa+4>>2]|0)/2|0;aa=(na|0)>(aa|0)?na:aa;f[c+16>>2]=aa;na=ia;aa=KA(f[na>>2]|0,f[na+4>>2]|0,aa|0,((aa|0)<0)<<31>>31|0)|0;na=ba()|0;oa=ia;f[oa>>2]=aa;f[oa+4>>2]=na}c=f[c+4>>2]|0;if(x>>>0>>0){q=(q|0)/16|0;x=x+1|0}else{ta=1756;break Ma}}if((ta|0)==1628){ta=0;f[w>>2]=0}else if((ta|0)==1640){ta=0;f[w>>2]=0}if((f[g>>2]|0)>0){_=0;do{o=f[aa>>2]|0;$=o+(_*56|0)|0;c=f[o+(_*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[o+(_*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);Q=f[o+(_*56|0)+48>>2]|0;do if(Q|0){R=f[Q+4>>2]|0;do if(R|0){if((f[R>>2]|0)>0){X=R+12|0;P=0;do{o=f[X>>2]|0;Z=o+(P*56|0)|0;c=f[o+(P*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[o+(P*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);L=f[o+(P*56|0)+48>>2]|0;do if(L|0){M=f[L+4>>2]|0;do if(M|0){if((f[M>>2]|0)>0){N=M+12|0;K=0;do{o=f[N>>2]|0;O=o+(K*56|0)|0;c=f[o+(K*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[o+(K*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);E=f[o+(K*56|0)+48>>2]|0;do if(E|0){F=f[E+4>>2]|0;do if(F|0){if((f[F>>2]|0)>0){I=F+12|0;D=0;do{o=f[I>>2]|0;J=o+(D*56|0)|0;c=f[o+(D*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[o+(D*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);z=f[o+(D*56|0)+48>>2]|0;do if(z|0){A=f[z+4>>2]|0;do if(A|0){if((f[A>>2]|0)>0){B=A+12|0;y=0;do{o=f[B>>2]|0;C=o+(y*56|0)|0;c=f[o+(y*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[o+(y*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);s=f[o+(y*56|0)+48>>2]|0;do if(s|0){w=f[s+4>>2]|0;do if(w|0){if((f[w>>2]|0)>0){x=w+12|0;r=0;do{o=f[x>>2]|0;q=o+(r*56|0)|0;c=f[o+(r*56|0)+28>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[o+(r*56|0)+36>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[o+(r*56|0)+48>>2]|0;do if(c|0){gi(f[c+4>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{oa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);na=q;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));r=r+1|0}while((r|0)<(f[w>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{oa=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{oa=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);na=C;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));y=y+1|0}while((y|0)<(f[A>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{oa=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{oa=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}}while(0);na=J;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));D=D+1|0}while((D|0)<(f[F>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](F);break}else{oa=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](E);break}else{oa=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);break}}while(0);na=O;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));K=K+1|0}while((K|0)<(f[M>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](M);break}else{oa=ib[f[37368>>2]&255](M)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](M);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](L);break}else{oa=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);break}}while(0);na=Z;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));P=P+1|0}while((P|0)<(f[R>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](R);break}else{oa=ib[f[37368>>2]&255](R)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](R);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](Q);break}else{oa=ib[f[37368>>2]&255](Q)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Q);break}}while(0);na=$;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));_=_+1|0}while((_|0)<(f[g>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);c=7;break}else{c=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);c=7;break}}while(0);if((ta|0)==1756){ta=0;f[(f[c+12>>2]|0)+(((o|0)%16|0)*56|0)+48>>2]=da;o=ea;c=0;break}if(!ca){o=ea;break}$=f[ca+4>>2]|0;do if($|0){if((f[$>>2]|0)>0){aa=$+12|0;_=0;do{o=f[aa>>2]|0;ca=o+(_*56|0)|0;g=f[o+(_*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(_*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);Q=f[o+(_*56|0)+48>>2]|0;do if(Q|0){R=f[Q+4>>2]|0;do if(R|0){if((f[R>>2]|0)>0){X=R+12|0;P=0;do{o=f[X>>2]|0;Z=o+(P*56|0)|0;g=f[o+(P*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(P*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);L=f[o+(P*56|0)+48>>2]|0;do if(L|0){M=f[L+4>>2]|0;do if(M|0){if((f[M>>2]|0)>0){N=M+12|0;K=0;do{o=f[N>>2]|0;O=o+(K*56|0)|0;g=f[o+(K*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(K*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);E=f[o+(K*56|0)+48>>2]|0;do if(E|0){F=f[E+4>>2]|0;do if(F|0){if((f[F>>2]|0)>0){I=F+12|0;D=0;do{o=f[I>>2]|0;J=o+(D*56|0)|0;g=f[o+(D*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(D*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);z=f[o+(D*56|0)+48>>2]|0;do if(z|0){A=f[z+4>>2]|0;do if(A|0){if((f[A>>2]|0)>0){B=A+12|0;y=0;do{o=f[B>>2]|0;C=o+(y*56|0)|0;g=f[o+(y*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(y*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);s=f[o+(y*56|0)+48>>2]|0;do if(s|0){w=f[s+4>>2]|0;do if(w|0){if((f[w>>2]|0)>0){x=w+12|0;r=0;do{o=f[x>>2]|0;q=o+(r*56|0)|0;g=f[o+(r*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(r*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);ii(f[o+(r*56|0)+48>>2]|0);na=q;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));r=r+1|0}while((r|0)<(f[w>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{oa=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{oa=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);na=C;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));y=y+1|0}while((y|0)<(f[A>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{oa=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{oa=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}}while(0);na=J;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));D=D+1|0}while((D|0)<(f[F>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](F);break}else{oa=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](E);break}else{oa=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);break}}while(0);na=O;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));K=K+1|0}while((K|0)<(f[M>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](M);break}else{oa=ib[f[37368>>2]&255](M)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](M);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](L);break}else{oa=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);break}}while(0);na=Z;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));P=P+1|0}while((P|0)<(f[R>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](R);break}else{oa=ib[f[37368>>2]&255](R)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](R);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](Q);break}else{oa=ib[f[37368>>2]&255](Q)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Q);break}}while(0);na=ca;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));_=_+1|0}while((_|0)<(f[$>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127]($);break}else{oa=ib[f[37368>>2]&255]($)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127]($);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](da);o=ea;break}else{o=ib[f[37368>>2]&255](da)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](da);o=ea;break}}while(0);fa=fa+16|0;g=f[la>>2]|0}while((c|0)==0&(g|0)>(fa|0))}}else ta=1460}else{ta=Td;f[ta>>2]=0;f[ta+4>>2]=0;ta=1460}if((ta|0)==1460){ta=0;c=pj(ka,c,Td,Jf)|0;W=f[Jf>>2]|0;Y=W}X=(c|0)==0;do if(!X){if(Y){if((f[Y>>2]|0)>0){Q=Y+12|0;P=0;do{o=f[Q>>2]|0;R=o+(P*56|0)|0;g=f[o+(P*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(P*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);L=f[o+(P*56|0)+48>>2]|0;do if(L|0){M=f[L+4>>2]|0;do if(M|0){if((f[M>>2]|0)>0){N=M+12|0;K=0;do{o=f[N>>2]|0;O=o+(K*56|0)|0;g=f[o+(K*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(K*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);E=f[o+(K*56|0)+48>>2]|0;do if(E|0){F=f[E+4>>2]|0;do if(F|0){if((f[F>>2]|0)>0){I=F+12|0;D=0;do{o=f[I>>2]|0;J=o+(D*56|0)|0;g=f[o+(D*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(D*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);z=f[o+(D*56|0)+48>>2]|0;do if(z|0){A=f[z+4>>2]|0;do if(A|0){if((f[A>>2]|0)>0){B=A+12|0;y=0;do{o=f[B>>2]|0;C=o+(y*56|0)|0;g=f[o+(y*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(y*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);s=f[o+(y*56|0)+48>>2]|0;do if(s|0){w=f[s+4>>2]|0;do if(w|0){if((f[w>>2]|0)>0){x=w+12|0;r=0;do{o=f[x>>2]|0;q=o+(r*56|0)|0;g=f[o+(r*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(r*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(r*56|0)+48>>2]|0;do if(g|0){gi(f[g+4>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{oa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);na=q;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));r=r+1|0}while((r|0)<(f[w>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{oa=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{oa=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);na=C;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));y=y+1|0}while((y|0)<(f[A>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{oa=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{oa=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}}while(0);na=J;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));D=D+1|0}while((D|0)<(f[F>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](F);break}else{oa=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](E);break}else{oa=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);break}}while(0);na=O;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));K=K+1|0}while((K|0)<(f[M>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](M);break}else{oa=ib[f[37368>>2]&255](M)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](M);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](L);break}else{oa=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);break}}while(0);na=R;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));P=P+1|0}while((P|0)<(f[Y>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](W);break}else{oa=ib[f[37368>>2]&255](W)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](W);break}}}else S=Y;while(0);if(X)pa=pa+1|0;else{ta=1969;break}}do if((ta|0)==1969)if(S){if((f[S>>2]|0)>0){Q=S+12|0;P=0;do{o=f[Q>>2]|0;R=o+(P*56|0)|0;g=f[o+(P*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(P*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);L=f[o+(P*56|0)+48>>2]|0;do if(L|0){M=f[L+4>>2]|0;do if(M|0){if((f[M>>2]|0)>0){N=M+12|0;K=0;do{o=f[N>>2]|0;O=o+(K*56|0)|0;g=f[o+(K*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(K*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);E=f[o+(K*56|0)+48>>2]|0;do if(E|0){F=f[E+4>>2]|0;do if(F|0){if((f[F>>2]|0)>0){I=F+12|0;D=0;do{o=f[I>>2]|0;J=o+(D*56|0)|0;g=f[o+(D*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(D*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);z=f[o+(D*56|0)+48>>2]|0;do if(z|0){A=f[z+4>>2]|0;do if(A|0){if((f[A>>2]|0)>0){B=A+12|0;y=0;do{o=f[B>>2]|0;C=o+(y*56|0)|0;g=f[o+(y*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(y*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);s=f[o+(y*56|0)+48>>2]|0;do if(s|0){w=f[s+4>>2]|0;do if(w|0){if((f[w>>2]|0)>0){x=w+12|0;r=0;do{o=f[x>>2]|0;q=o+(r*56|0)|0;g=f[o+(r*56|0)+28>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(r*56|0)+36>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=f[o+(r*56|0)+48>>2]|0;do if(g|0){gi(f[g+4>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ta=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);na=q;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));r=r+1|0}while((r|0)<(f[w>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{ta=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{ta=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);na=C;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));y=y+1|0}while((y|0)<(f[A>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{ta=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{ta=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}}while(0);na=J;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));D=D+1|0}while((D|0)<(f[F>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](F);break}else{ta=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](E);break}else{ta=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);break}}while(0);na=O;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));K=K+1|0}while((K|0)<(f[M>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](M);break}else{ta=ib[f[37368>>2]&255](M)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](M);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](L);break}else{ta=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);break}}while(0);na=R;oa=na+56|0;do{f[na>>2]=0;na=na+4|0}while((na|0)<(oa|0));P=P+1|0}while((P|0)<(f[S>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](S);ta=2065;break}else{ta=ib[f[37368>>2]&255](S)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](S);ta=2065;break}}else ta=2065;else if((ta|0)==2064){ta=0;c=qj(ra+64|0,S)|0;f[ra+20>>2]=S;if(!c)c=0;else ta=2065}while(0);if((ta|0)==2065)ta=0;f[ee>>2]=0}else{g=f[sa+40>>2]|0;c=mj(g,ee)|0;if(d[m+2>>1]|0?(b[g>>0]|0)==0:0){b[g>>0]=2;f[g+4>>2]=1}b[sa+3>>0]=0;f[sa+28>>2]=0}while(0);if(c|0){ta=2072;break c}ra=f[ee>>2]|0;b[sa+2>>0]=ra;if(!ra){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{c=0;ta=27}}else if((ta|0)==2087){f[g+28>>2]=0;switch(c|0){case 0:{b[g+2>>0]=0;c=a+156+(j[m+2>>1]<<2)|0;f[c>>2]=(f[c>>2]|0)+1;c=0;ta=21;break Ha}case 101:{b[g+2>>0]=1;c=0;ta=22;break Ha}default:{r=Qf;q=Rf;ta=3925;break a}}}else if((ta|0)==2958){ta=0;q=f[m+12>>2]|0;g=ua+(q*40|0)|0;o=s+8|0;if((f[o>>2]|0)!=(g|0)?(f[o>>2]=g,Id=b[s+25>>0]|0,Id<<24>>24):0){o=f[m+8>>2]|0;g=Id&255;do{sa=g;g=g+-1|0;f[s+28+(g<<2)>>2]=ua+((g+o|0)*40|0)}while((sa|0)>1)}g=ua+(q*40|0)+12|0;f[g>>2]=(f[g>>2]|0)+1;g=f[s+4>>2]|0;if(!(f[m+4>>2]|0))qb[f[g+16>>2]&255](s,h[s+25>>0]|0,s+28|0);else qb[f[g+28>>2]&255](s,h[s+25>>0]|0,s+28|0);r=s+20|0;g=f[r>>2]|0;if(g){if((g|0)>0){c=f[s>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){c=f[c+16>>2]|0;break}if(!(g&1))c=Ic(c,1)|0;else c=0}else c=0;while(0);f[Ze>>2]=c;Fg(a,40840,Ze);c=f[r>>2]|0}o=s+24|0;if(b[o>>0]|0){g=f[m+-16>>2]|0;do if(g|0){q=ua+(g*40|0)|0;g=ua+(g*40|0)+8|0;if(!(d[g>>1]&9216)){sa=q;f[sa>>2]=1;f[sa+4>>2]=0;d[g>>1]=4;break}else{bf(q,1,0);break}}while(0);b[o>>0]=0}o=f[s>>2]|0;g=o+8|0;if(!((d[g>>1]&9216)==0?(f[o+24>>2]|0)==0:0)){ff(o);g=(f[s>>2]|0)+8|0}d[g>>1]=1;f[r>>2]=0;if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}}else{z=wa;y=Qf;s=Rf;q=ua;r=va}}else if((ta|0)==3842){ta=0;r=f[m+16>>2]|0;z=f[m+12>>2]|0;y=ua+(z*40|0)|0;if((f[r>>2]|0)!=(y|0)){f[r>>2]=y;g=b[r+25>>0]|0;if(!(g<<24>>24))g=0;else{q=f[m+8>>2]|0;o=g&255;do{sa=o;o=o+-1|0;f[r+28+(o<<2)>>2]=ua+((o+q|0)*40|0)}while((sa|0)>1)}}else g=b[r+25>>0]|0;x=ua+(z*40|0)+8|0;d[x>>1]=d[x>>1]&15872|1;qb[f[(f[r+4>>2]|0)+16>>2]&255](r,g&255,r+28|0);w=r+20|0;g=f[w>>2]|0;if(g){if((g|0)>0){c=d[x>>1]|0;if((c&514)==514?(b[ua+(z*40|0)+10>>0]|0)==1:0)c=f[ua+(z*40|0)+16>>2]|0;else if(!(c&1))c=Ic(y,1)|0;else c=0;f[Ee>>2]=c;Fg(a,40840,Ee);c=f[w>>2]|0}r=f[r+16>>2]|0;s=f[m+4>>2]|0;o=f[Fb>>2]|0;Oa:do if(o|0){if((r|0)<0)while(1){g=f[o+12>>2]|0;if(g|0)ob[g&127](f[o+8>>2]|0);f[Fb>>2]=f[o+16>>2];Pa:do if(!(f[pf>>2]|0)){g=o;do if((f[rf>>2]|0)>>>0<=g>>>0){if((f[sf>>2]|0)>>>0<=g>>>0)break;f[o>>2]=f[Ff>>2];f[Ff>>2]=o;break Pa}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{sa=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else Kc(Yf,o);while(0);o=f[Fb>>2]|0;if(!o)break Oa}g=Fb;do{Qa:do if((f[o>>2]|0)==(r|0)?(Qd=f[o+4>>2]|0,(Qd|0)>-1):0){if((Qd|0)<=31?1<>2]|0;if(q|0)ob[q&127](f[o+8>>2]|0);f[g>>2]=f[o+16>>2];if(f[pf>>2]|0){Kc(Yf,o);break}q=o;do if((f[rf>>2]|0)>>>0<=q>>>0){if((f[sf>>2]|0)>>>0<=q>>>0)break;f[o>>2]=f[Ff>>2];f[Ff>>2]=o;break Qa}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{sa=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else ta=3884;while(0);if((ta|0)==3884){ta=0;g=o+16|0}o=f[g>>2]|0}while((o|0)!=0)}while(0);f[w>>2]=0;if(!c)c=0;else{r=Qf;q=Rf;ta=3925;break a}}g=d[x>>1]|0;if(g&18){if((g&2)!=0?(b[ua+(z*40|0)+10>>0]|0)!=Fd<<24>>24:0){Ri(y,Fd)|0;g=d[x>>1]|0}o=g&65535;if(o&18){g=f[ua+(z*40|0)+12>>2]|0;if(o&16384)g=(f[y>>2]|0)+g|0;if((g|0)>(f[(f[ua+(z*40|0)+32>>2]|0)+108>>2]|0)){ta=3953;break c}else{z=wa;y=Qf;s=Rf;q=ua;r=va}}else{z=wa;y=Qf;s=Rf;q=ua;r=va}}else{z=wa;y=Qf;s=Rf;q=ua;r=va}}while(0);if((ta|0)==21){m=Qf+(((f[m+8>>2]|0)+-1|0)*20|0)|0;ta=22}else if((ta|0)==27){ta=0;z=wa;y=Qf;s=Rf;q=ua;r=va;m=Qf+(((f[m+8>>2]|0)+-1|0)*20|0)|0}else if((ta|0)==1014){ta=0;b[(f[g+40>>2]|0)+3>>0]=d[o>>1]&3;if(!c){z=wa;y=Qf;s=Rf;q=ua;r=va;c=0}else{r=Qf;q=Rf;ta=3925;break a}}if((ta|0)==22){ta=0;if(f[pc>>2]|0){c=Qf;g=Rf;break b}if(e>>>0>=wa>>>0?(Wd=f[qc>>2]|0,(Wd|0)!=0):0){g=f[ya>>2]|0;if(!(ib[Wd&255](f[kd>>2]|0)|0)){z=g+e-((e>>>0)%(g>>>0)|0)|0;y=Qf;s=Rf;q=ua;r=va}else{r=Qf;q=Rf;c=9;ta=3925;break a}}else{z=wa;y=Qf;s=Rf;q=ua;r=va}}Qf=y;m=m+20|0;Rf=s;va=r;ua=q;wa=z}switch(ta|0){case 37:{f[Uf>>2]=0;b[a+142>>0]=f[m+8>>2];f[Nf>>2]=(m-Qf|0)/20|0;ta=43;break}case 38:{i=m+4|0;g=(m-Qf|0)/20|0;f[Uf>>2]=o;b[a+142>>0]=f[m+8>>2];f[Nf>>2]=g;c=d[m+2>>1]|0;if(c<<16>>16){f[wf>>2]=f[7792+((c&65535)+-1<<2)>>2];Fg(a,43276,wf);c=f[m+16>>2]|0;if(c|0){f[Cf>>2]=f[Of>>2];f[Cf+4>>2]=c;Yf=Ig(Yf,43297,Cf)|0;f[Of>>2]=Yf}}else{f[xf>>2]=f[m+16>>2];Fg(a,40840,xf)}ta=f[i>>2]|0;Xf=f[td>>2]|0;Yf=f[Of>>2]|0;f[Df>>2]=g;f[Df+4>>2]=Xf;f[Df+8>>2]=Yf;Ac(ta,43304,Df);ta=43;break}case 148:{c=f[qc>>2]|0;if(!(e>>>0>>0|(c|0)==0)?ib[c&255](f[kd>>2]|0)|0:0){r=Qf;q=Rf;c=9;ta=3925;break a}Of=jd;Mf=f[Of+4>>2]|0;if((Mf|0)>0|(Mf|0)==0&(f[Of>>2]|0)>>>0>0){f[Uf>>2]=787;b[a+142>>0]=2;Fg(a,42524,ef);r=Qf;q=Rf;c=1;ta=3925;break a}if(f[(f[a>>2]|0)+456>>2]|0?f[ld>>2]|0:0)Jg(a,1)|0;f[id>>2]=(f[id>>2]|0)+2|1;s=ua+((f[m+4>>2]|0)*40|0)|0;f[od>>2]=s;q=m+8|0;if((f[q>>2]|0)>0){o=0;do{r=s+(o*40|0)|0;n=r+8|0;c=d[n>>1]|0;if(c&4096){g=c&65535;do if(g&18){if(g&16384){c=r+12|0;Of=(f[r>>2]|0)+(f[c>>2]|0)|0;if(df(r,(Of|0)>1?Of:1,1)|0){g=Qf;c=Rf;ta=3954;break a}_A((f[r+16>>2]|0)+(f[c>>2]|0)|0,0,f[r>>2]|0)|0;f[c>>2]=(f[c>>2]|0)+(f[r>>2]|0);c=d[n>>1]&-16897;d[n>>1]=c}if(f[r+24>>2]|0?(f[r+16>>2]|0)==(f[r+20>>2]|0):0)break;if(gf(r)|0){g=Qf;c=Rf;ta=3954;break a}c=d[n>>1]|0}while(0);c=c&-4097;d[n>>1]=c}if((c&514)==2)gf(r)|0;o=o+1|0}while((o|0)<(f[q>>2]|0))}if(b[l>>0]|0){c=Rf;g=Qf;ta=3959;break a}if(b[If>>0]&4)lb[f[Gf>>2]&127](4,f[Hf>>2]|0,a,0)|0;f[Nf>>2]=((m-Qf|0)/20|0)+1;c=100;break a}case 497:{ta=3953;break}case 577:{f[He>>2]=42469;f[He+4>>2]=85694;f[He+8>>2]=40460;Ac(11,40408,He);c=11;ta=579;break}case 580:{g=Qf;c=Rf;ta=3954;break a}case 716:{f[Ie>>2]=42469;f[Ie+4>>2]=67897;f[Ie+8>>2]=40460;Ac(11,40408,Ie);r=Qf;q=Rf;c=11;ta=3925;break a}case 719:{f[Je>>2]=42469;f[Je+4>>2]=67897;f[Je+8>>2]=40460;Ac(11,40408,Je);r=Qf;q=Rf;c=11;ta=3925;break a}case 729:{Fg(a,43364,Ke);r=Qf;q=Rf;c=5;ta=3925;break a}case 761:{f[Le>>2]=y;Fg(a,43415,Le);r=Qf;q=Rf;c=1;ta=3925;break a}case 763:{Fg(a,43437,Me);r=Qf;q=Rf;c=5;ta=3925;break a}case 767:{f[Uf>>2]=787;b[a+142>>0]=2;Fg(a,42524,Ne);c=1;break a}case 769:{f[Nf>>2]=(m-Qf|0)/20|0;b[sd>>0]=0;f[Uf>>2]=5;c=5;break a}case 873:{g=f[m+4>>2]|0;c=f[m+8>>2]|0;if((g|0)==(h[sd>>0]|0)){Fg(a,(g|0)==0?43630:(c|0)==0?43546:43587,mf);r=Qf;q=Rf;c=1;ta=3925;break a}do if(!c){if(g|0?(f[nd>>2]|0)>0:0){Fg(a,43491,hf);r=Qf;q=Rf;c=5;ta=3925;break a}Wf=f[a>>2]|0;Xf=Wf+464|0;Wf=Wf+472|0;Xf=KA(f[Wf>>2]|0,f[Wf+4>>2]|0,f[Xf>>2]|0,f[Xf+4>>2]|0)|0;Wf=ba()|0;if((Wf|0)>0|(Wf|0)==0&Xf>>>0>0){f[Uf>>2]=787;b[a+142>>0]=2;Fg(a,42524,lf);c=1;break a}else{c=g&255;break}}else{Eg(Yf,516);c=1}while(0);b[sd>>0]=c;if((tg(a)|0)==5){f[Nf>>2]=(m-Qf|0)/20|0;b[sd>>0]=1-g;f[Uf>>2]=5;c=5;break a}c=f[Dd>>2]|0;if(c|0)do{f[Dd>>2]=f[c+24>>2];do if(!(f[pf>>2]|0)){Xf=c;if((f[rf>>2]|0)>>>0<=Xf>>>0?(f[sf>>2]|0)>>>0>Xf>>>0:0){f[c>>2]=f[Ff>>2];f[Ff>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{Xf=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-Xf;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}else Kc(Yf,c);while(0);c=f[Dd>>2]|0}while((c|0)!=0);f[Sd>>2]=0;f[Rd>>2]=0;b[Ud>>0]=0;c=(f[Uf>>2]|0)==0?101:1;break a}case 901:{if((c&255|0)==5){f[Nf>>2]=(m-Qf|0)/20|0;f[Uf>>2]=c;break a}else ta=957;break}case 924:{c=f[Of>>2]|0;do if(c|0){if(f[pf>>2]|0){Kc(Yf,c);break}Pf=c;if((f[rf>>2]|0)>>>0<=Pf>>>0?(f[sf>>2]|0)>>>0>Pf>>>0:0){f[c>>2]=f[Ff>>2];f[Ff>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{Pf=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-Pf;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);do if(f[rd>>2]|0)if(!(b[l>>0]|0))ta=941;else c=0;else{if((j[pd>>1]|0)>=28){c=f[Ff>>2]|0;if(c|0){f[Ff>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=942;break}c=f[zf>>2]|0;if(!c)c=Bf;else{f[zf>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=942;break}}else c=qd;f[c>>2]=(f[c>>2]|0)+1;ta=941}while(0);if((ta|0)==941){c=Dc(Yf,28,0)|0;ta=942}if((ta|0)==942)if(!c)c=0;else{na=c;g=43678;oa=na+28|0;do{b[na>>0]=b[g>>0]|0;na=na+1|0;g=g+1|0}while((na|0)<(oa|0))}f[Of>>2]=c;g=f[Lf>>2]|0;c=f[x>>2]|0;o=f[g+(c<<4)+12>>2]|0;Ra:do if((f[o>>2]|0)!=(f[Jf>>2]|0)){if((c|0)>-1){Pf=o+78|0;d[Pf>>1]=d[Pf>>1]|8;Pf=(f[g+28>>2]|0)+78|0;d[Pf>>1]=d[Pf>>1]|8;f[yf>>2]=f[yf>>2]&-9}if((f[Yf+56>>2]|0)==0?(n=f[Kf>>2]|0,(n|0)>0):0){c=0;while(1){g=f[g+(c<<4)+12>>2]|0;if(!(d[g+78>>1]&8))g=n;else{Wh(g);g=f[Kf>>2]|0}c=c+1|0;if((c|0)>=(g|0))break Ra;n=g;g=f[Lf>>2]|0}}}while(0);c=(h[Mf>>0]|h[Mf+1>>0]<<8)&-4|1;b[Mf>>0]=c;b[Mf+1>>0]=c>>8;c=17;ta=957;break}case 1062:{f[s+40>>2]=0;r=Qf;q=Rf;c=7;ta=3925;break a}case 1138:{r=Qf;q=Rf;ta=3925;break a}case 1193:{g=Qf;c=Rf;ta=3954;break a}case 1195:{r=Qf;q=Rf;ta=3925;break a}case 1214:{f[Oe>>2]=42469;f[Oe+4>>2]=87331;f[Oe+8>>2]=40460;Ac(11,40408,Oe);r=Qf;q=Rf;c=11;ta=3925;break a}case 1253:{r=Qf;q=Rf;ta=3925;break a}case 1273:{r=Qf;q=Rf;ta=3925;break a}case 1310:{f[r>>2]=0;r=Qf;q=Rf;c=7;ta=3925;break a}case 1407:{r=Qf;q=Rf;ta=3925;break a}case 1418:{r=Qf;q=Rf;ta=3925;break a}case 1421:{r=Qf;q=Rf;ta=3925;break a}case 2072:{r=Qf;q=Rf;ta=3925;break a}case 2145:{r=Qf;q=Rf;ta=3925;break a}case 2150:{r=Qf;q=Rf;ta=3925;break a}case 2177:{if(!((d[eb>>1]&9216)==0&(f[gb>>2]|0)==0))ff(Td);f[Pe>>2]=42469;f[Pe+4>>2]=80439;f[Pe+8>>2]=40460;Ac(11,40408,Pe);c=11;ta=2180;break}case 2191:{f[Qe>>2]=42469;f[Qe+4>>2]=80472;f[Qe+8>>2]=40460;Ac(11,40408,Qe);c=11;ta=2198;break}case 2204:{b[a+142>>0]=2;r=Qf;q=Rf;c=6;ta=3925;break a}case 2208:{g=0;ta=2275;break}case 2223:{if(r){g=f[r+72>>2]|0;if(!(d[g+28>>1]&32)){bh(g);g=0;ta=2275;break}else{ta=f[g+20>>2]|0;Pf=ta+120|0;f[Pf>>2]=(f[Pf>>2]|0)+-1;ta=ta+136|0;f[g+16>>2]=f[ta>>2];f[ta>>2]=g;g=0;ta=2275;break}}else{g=0;ta=2275}break}case 2241:{g=0;ta=2275;break}case 2251:{g=0;ta=2275;break}case 2328:{r=Qf;q=Rf;ta=3925;break a}case 2352:{Vh(Yf);r=Qf;q=Rf;ta=3925;break a}case 2354:{Vh(Yf);g=Qf;c=Rf;ta=3954;break a}case 2878:{Fg(a,44039,Ye);r=Qf;q=Rf;c=1;ta=3925;break a}case 3002:{do if(o){g=d[o+8>>1]|0;if((g&514)==514?(b[o+10>>0]|0)==1:0){g=f[o+16>>2]|0;break}if(!(g&1))g=Ic(o,1)|0;else g=0}else g=0;while(0);f[of>>2]=g;Fg(a,40840,of);r=Qf;q=Rf;ta=3925;break a}case 3023:{r=Qf;q=Rf;ta=3925;break a}case 3044:{f[_e>>2]=y?44076:44081;Fg(a,44088,_e);r=Qf;q=Rf;c=1;ta=3925;break a}case 3102:{c=f[Of>>2]|0;do if(c|0){if(f[pf>>2]|0){Kc(Yf,c);break}Pf=c;if((f[rf>>2]|0)>>>0<=Pf>>>0?(f[sf>>2]|0)>>>0>Pf>>>0:0){f[c>>2]=f[Ff>>2];f[Ff>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{Pf=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-Pf;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);do if(f[rd>>2]|0)if(!(b[l>>0]|0))ta=3119;else c=0;else{if((j[pd>>1]|0)>=40){c=f[Ff>>2]|0;if(c|0){f[Ff>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=3120;break}c=f[zf>>2]|0;if(!c)c=Bf;else{f[zf>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=3120;break}}else c=qd;f[c>>2]=(f[c>>2]|0)+1;ta=3119}while(0);if((ta|0)==3119){c=Dc(Yf,40,0)|0;ta=3120}if((ta|0)==3120)if(!c)c=0;else{na=c;g=44140;oa=na+40|0;do{b[na>>0]=b[g>>0]|0;na=na+1|0;g=g+1|0}while((na|0)<(oa|0))}f[Of>>2]=c;r=Qf;q=Rf;c=1;ta=3925;break a}case 3124:{c=f[Of>>2]|0;do if(c|0){if(f[pf>>2]|0){Kc(Yf,c);break}Pf=c;if((f[rf>>2]|0)>>>0<=Pf>>>0?(f[sf>>2]|0)>>>0>Pf>>>0:0){f[c>>2]=f[Ff>>2];f[Ff>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{Pf=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-Pf;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);do if(f[rd>>2]|0)if(!(b[l>>0]|0))ta=3141;else c=0;else{if((j[pd>>1]|0)>=43){c=f[Ff>>2]|0;if(c|0){f[Ff>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=3142;break}c=f[zf>>2]|0;if(!c)c=Bf;else{f[zf>>2]=f[c>>2];f[Af>>2]=(f[Af>>2]|0)+1;ta=3142;break}}else c=qd;f[c>>2]=(f[c>>2]|0)+1;ta=3141}while(0);if((ta|0)==3141){c=Dc(Yf,43,0)|0;ta=3142}if((ta|0)==3142)if(!c)c=0;else{na=c;g=44180;oa=na+43|0;do{b[na>>0]=b[g>>0]|0;na=na+1|0;g=g+1|0}while((na|0)<(oa|0))}f[Of>>2]=c;r=Qf;q=Rf;c=1;ta=3925;break a}case 3263:{f[Ae>>2]=42469;f[Ae+4>>2]=66739;f[Ae+8>>2]=40460;Ac(11,40408,Ae);r=Qf;q=Rf;c=11;ta=3925;break a}case 3296:{if(w<<24>>24==2){ta=o+22|0;d[ta>>1]=d[ta>>1]|128;ta=3317}else ta=3317;break}case 3479:{g=f[md>>2]|0;ta=3480;break}case 3537:{r=Qf;q=Rf;ta=3925;break a}case 3538:{ib[f[y+28>>2]&255](f[Jf>>2]|0)|0;g=Qf;c=Rf;ta=3954;break a}case 3655:{ta=3953;break}case 3754:{c=Rf;g=Qf;ta=3959;break a}case 3811:{g=g&255;ta=3812;break}case 3813:{f[vc>>2]=(f[vc>>2]|0)+1;break}case 3816:{r=Qf;q=Rf;c=6;ta=3925;break a}case 3961:{t=Zf;return c|0}}switch(ta|0){case 43:if((tg(a)|0)==5){f[Uf>>2]=5;c=5;break a}else{c=(f[Uf>>2]|0)==0?101:1;break a}case 579:{r=Qf;q=Rf;ta=3925;break a}case 957:{r=Qf;q=Rf;ta=3925;break a}case 2180:{r=Qf;q=Rf;ta=3925;break a}case 2198:{r=Qf;q=Rf;ta=3925;break a}case 2275:{d[C>>1]=4;r=B;f[r>>2]=g;f[r+4>>2]=((g|0)<0)<<31>>31;r=Qf;q=Rf;ta=3925;break a}case 3317:{f[Be>>2]=f[m+16>>2];Fg(a,44703,Be);r=Qf;q=Rf;c=262;ta=3925;break a}case 3480:{f[md>>2]=g+-1;r=Qf;q=Rf;ta=3925;break a}case 3812:{b[a+142>>0]=g;break}case 3953:{Fg(a,41612,Ge);r=Qf;q=Rf;c=18;ta=3925;break a}}r=Qf;q=Rf;ta=3925;break a}else{m=o;e=0;c=o;g=0;l=Yf+81|0}while(0);ta=(b[l>>0]|0)==0?9:7;f[Uf>>2]=ta;f[Ef>>2]=f[7984+(ta<<2)>>2];Fg(a,40840,Ef);r=c;q=g;c=ta;ta=3925}while(0);if((ta|0)==3954)if((b[l>>0]|0)==0?(b[Yf+82>>0]|0)==0:0){b[l>>0]=1;if((f[Yf+180>>2]|0)>0)f[Yf+264>>2]=1;ta=Yf+272|0;f[ta>>2]=(f[ta>>2]|0)+1;ta=3959}else ta=3959;if((ta|0)==3959){Fg(a,44870,Pf);r=g;q=c;c=7;ta=3925}Sa:do if((ta|0)==3925){o=(b[l>>0]|0)==0?c:7;n=a+108|0;if((f[n>>2]|0)==0&(o|0)!=3082){switch(o|0){case 516:{c=44816;break}case 100:{c=44794;break}case 101:{c=44771;break}default:{c=o&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7984+(c<<2)>>2]|0;else c=44757}}f[Sf>>2]=c;Fg(a,40840,Sf)}f[Uf>>2]=o;if((o|0)==3082){Uf=f[a+184>>2]|0;Vf=f[n>>2]|0;f[Tf>>2]=(m-r|0)/20|0;f[Tf+4>>2]=Uf;f[Tf+8>>2]=Vf;Ac(3082,44838,Tf);tg(a)|0;if((b[l>>0]|0)==0?(b[Yf+82>>0]|0)==0:0){b[l>>0]=1;if((f[Yf+180>>2]|0)>0)f[Yf+264>>2]=1;Vf=Yf+272|0;f[Vf>>2]=(f[Vf>>2]|0)+1}}else{if((o&251|4|0)==14){c=f[Yf>>2]|0;g=f[c+68>>2]|0;if(!g)c=0;else c=kb[g&127](c,0,0)|0;f[Yf+72>>2]=c}Tf=f[a+184>>2]|0;Uf=f[n>>2]|0;f[Vf>>2]=(m-r|0)/20|0;f[Vf+4>>2]=Tf;f[Vf+8>>2]=Uf;Ac(o,44838,Vf);tg(a)|0}if((q<<24>>24!=0?(Wf=Yf+16|0,k=f[Wf>>2]|0,Vf=(f[k+((q&255)+-1<<4)+12>>2]|0)+78|0,d[Vf>>1]=d[Vf>>1]|8,Vf=(f[k+28>>2]|0)+78|0,d[Vf>>1]=d[Vf>>1]|8,Vf=Yf+24|0,f[Vf>>2]=f[Vf>>2]&-9,(f[Yf+56>>2]|0)==0):0)?(Xf=Yf+20|0,i=f[Xf>>2]|0,(i|0)>0):0){c=0;while(1){g=f[k+(c<<4)+12>>2]|0;if(!(d[g+78>>1]&8))g=i;else{Wh(g);g=f[Xf>>2]|0}c=c+1|0;if((c|0)>=(g|0)){c=1;break Sa}k=f[Wf>>2]|0;i=g}}else c=1}while(0);a=a+172|0;f[a>>2]=(f[a>>2]|0)+e;a=c;t=Zf;return a|0} -function Xx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!(f[a+36>>2]|0)){if((f[b+16>>2]|0)>4)Wx(a,b);e=b+4|0;f[c>>2]=(f[e>>2]|0)+-1;if((f[e>>2]|0)>1)cy(a,b)}a=b+36|0;c=f[a>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=b+12|0;c=f[a>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=b+24|0;c=f[a>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=b+76|0;c=f[a>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;e=b+68|0;d=b+72|0;a=f[d>>2]|0;if((f[e>>2]|0)>0){b=0;do{a=a+(b<<5)+16|0;c=f[a>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{g=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=b+1|0;a=f[d>>2]|0}while((b|0)<(f[e>>2]|0))}if(!a)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{g=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Yx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+36|0;if(f[n>>2]|0)return;a=f[c+24+(b*12|0)+4>>2]|0;if(!a)return;m=f[c+24+(b*12|0)+8>>2]|0;i=a+-1|0;i=(f[m+(i*12|0)+8>>2]|0)+1-(f[m+(i*12|0)+4>>2]|0)|0;a:do if((b|0)>0){h=b;while(1){a=h;h=h+-1|0;g=f[c+24+(h*12|0)+4>>2]|0;if(g|0)break;if((a|0)<=1){d=-1;a=0;break a}}if((g|0)>0){e=f[c+24+(h*12|0)+8>>2]|0;a=0;d=0;do{m=(f[e+(d*12|0)+8>>2]|0)-(f[e+(d*12|0)+4>>2]|0)|0;a=(m|0)<(a|0)?a:m+1|0;d=d+1|0}while((d|0)!=(g|0))}else a=0;m=(a|0)<(i|0);d=m?-1:h;a=m?0:a}else{d=-1;a=0}while(0);l=(d|0)<0;m=l?i:a;d=l?b:d;if(f[c+24+(d*12|0)>>2]|0)return;e=d+1|0;k=c+20|0;a=f[k>>2]|0;if((e|0)>=(a|0))return;l=c+24+(d*12|0)+4|0;j=c+24+(d*12|0)+8|0;b:while(1){if(f[c+24+(e*12|0)>>2]|0){a=26;break}b=c+24+(e*12|0)+4|0;d=f[b>>2]|0;if((d|0)>0){i=c+24+(e*12|0)+8|0;do{h=d;d=d+-1|0;g=f[i>>2]|0;if((1-(f[g+(d*12|0)+4>>2]|0)+(f[g+(d*12|0)+8>>2]|0)|0)>(m|0)){a=26;break b}if(f[n>>2]|0){a=26;break b}a=((f[l>>2]|0)*12|0)+12|0;g=f[j>>2]|0;if(Mc()|0){a=21;break b}a=Nc(g,(a|0)>0?a:0,0)|0;if(!a){a=21;break b}ZA(a+12|0,a|0,(f[l>>2]|0)*12|0)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[j>>2]=a;if(f[n>>2]|0){a=26;break b}g=(f[i>>2]|0)+(d*12|0)|0;f[a>>2]=f[g>>2];f[a+4>>2]=f[g+4>>2];f[a+8>>2]=f[g+8>>2];f[l>>2]=(f[l>>2]|0)+1;f[b>>2]=(f[b>>2]|0)+-1}while((h|0)>1);a=f[k>>2]|0}e=e+1|0;if((e|0)>=(a|0)){a=26;break}}if((a|0)==21){f[n>>2]=7;return}else if((a|0)==26)return}function Zx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=t;t=t+16|0;m=p+4|0;o=p;f[m>>2]=c;e=f[b>>2]|0;f[o>>2]=e;n=a+36|0;if((c|0)<=0){o=0;n=e;f[b>>2]=n;t=p;return o|0}c=0;while(1){if(f[n>>2]|0)break;k=f[o>>2]|0;j=f[k+20>>2]|0;a:do if((j|0)>0){g=0;e=0;i=0;while(1){h=f[k+24+(i*12|0)>>2]|0;if(h|0)break;h=f[k+24+(i*12|0)+4>>2]|0;q=(h|0)>(g|0);e=q?i:e;g=q?h:g;h=i+1|0;if((h|0)<(j|0))i=h;else break a}q=(h|0)>(g|0);g=q?h:g;e=q?i:e}else{g=0;e=0}while(0);if((g|0)<(d|0)?(f[k+24+(e*12|0)>>2]|0)==0:0)break;_x(a,o,e,m);if((f[n>>2]|0)==0?(l=f[o>>2]|0,(f[l+24+(e*12|0)>>2]|0)==0):0)Yx(a,e+1|0,l);if((f[m>>2]|0)>0)c=1;else{c=1;break}}q=c;o=f[o>>2]|0;f[b>>2]=o;t=p;return q|0}function _x(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=t;t=t+368|0;R=ga+352|0;P=ga;W=ga+360|0;Q=ga+256|0;r=f[c>>2]|0;l=r+24+(e*12|0)|0;f[W>>2]=0;fa=(g|0)!=0;if(fa)L=f[g>>2]|0;else L=0;v=f[(f[a>>2]|0)+48>>2]|0;i=Q;k=i+96|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(k|0));k=f[l>>2]|0;do if(!k){s=a+36|0;i=f[s>>2]|0;do if(!i){if((f[r+16>>2]|0)>1999){f[s>>2]=13;p=0;i=13;break}_A(P|0,0,252)|0;l=f[r+20>>2]|0;if((l|0)>0){i=0;do{m=f[r+24+(i*12|0)+4>>2]|0;if((m|0)>0){n=f[r+24+(i*12|0)+8>>2]|0;k=0;do{o=f[n+(k*12|0)>>2]|0;if((o|0)<2001){U=o+-1|0;V=P+(((U|0)/32|0)<<2)|0;f[V>>2]=f[V>>2]|1<<(U&31)}k=k+1|0}while((k|0)!=(m|0))}i=i+1|0}while((i|0)!=(l|0))}k=0;while(1){l=f[P+(k<<2)>>2]|0;if((l|0)==-1)k=k+1|0;else break}i=0;while(1)if(!(1<>2]|0;do if((k+-1|0)==(e|0)&(i|0)==0){i=(k*12|0)+52|0;if((Mc()|0)==0?(q=Nc(r,(i|0)>0?i:0,0)|0,q|0):0){o=q+24+(k*12|0)|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;o=q+20|0;f[o>>2]=(f[o>>2]|0)+1;f[c>>2]=q;o=q;i=f[s>>2]|0;break}f[s>>2]=7;t=ga;return}else o=r;while(0);n=e+1|0;if(i|0){t=ga;return}i=o+24+(n*12|0)+4|0;k=((f[i>>2]|0)*12|0)+12|0;l=o+24+(n*12|0)+8|0;m=f[l>>2]|0;if((Mc()|0)==0?(u=Nc(m,(k|0)>0?k:0,0)|0,u|0):0){V=u+((f[i>>2]|0)*12|0)|0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[l>>2]=u;if(!(f[s>>2]|0)){Tx(a,Q,p);V=f[l>>2]|0;K=f[i>>2]|0;I=V+(K*12|0)|0;f[i>>2]=K+1;f[V+(K*12|0)+4>>2]=1;f[I>>2]=p;K=o+16|0;f[K>>2]=(f[K>>2]|0)+1;K=o;V=o+24+(e*12|0)|0;i=o+24+(n*12|0)|0;U=f[o+24+(e*12|0)+4>>2]|0;break}else{t=ga;return}}f[s>>2]=7;t=ga;return}else{i=e+1|0;V=f[r+24+(i*12|0)+8>>2]|0;K=(f[r+24+(i*12|0)+4>>2]|0)+-1|0;I=V+(K*12|0)|0;Tx(a,Q,f[I>>2]|0);f[Q+4>>2]=(f[V+(K*12|0)+8>>2]|0)+1;f[Q+88>>2]=0;K=r;V=l;i=r+24+(i*12|0)|0;U=k}while(0);J=i+4|0;if((f[J>>2]|0)==1)H=(f[K+20>>2]|0)==(e+2|0);else H=0;Iv(a,K,32,0,0,0,e,U,W);T=Q+60|0;S=a+36|0;a:do if(!(f[S>>2]|0)){F=Q+16|0;G=Q+28|0;y=(v|0)==1;z=Q+57|0;A=Q+20|0;B=Q+56|0;D=Q+12|0;E=Q+48|0;i=0;l=0;k=0;m=0;u=f[W>>2]|0;while(1){if(b[u+16>>0]|0){C=l;break a}r=j[(f[u+72>>2]|0)+4>>1]|0;n=f[u+80+(r*88|0)+64>>2]|0;o=f[u+80+(r*88|0)+60>>2]|0;if((n|0)==(m|0)?(Hz(o,l,m)|0)==0:0){C=l;w=k;x=m}else ea=39;b:do if((ea|0)==39){ea=0;if(fa&(f[T>>2]|0)>(L|0)){C=l;break a}if(!n){i=0;C=l;w=k;x=0}else{do if(k>>>0>>0){i=(k|0)==0?64:k;while(1)if(i>>>0>>0)i=i<<1;else break;if((Mc()|0)==0?(M=Nc(l,(i|0)>0?i:0,0)|0,M|0):0){l=M;k=i;break}f[S>>2]=7;i=0;C=l;w=k;x=0;break b}while(0);YA(l|0,o|0,n|0)|0;i=0;C=l;w=k;x=n}}while(0);q=u+80+(r*88|0)+80|0;if(!(f[q>>2]|0)){if(!H?(b[u+80+(r*88|0)+84>>0]|0)!=0:0)ea=51}else ea=51;c:do if((ea|0)==51){ea=0;k=f[S>>2]|0;if(!(k|i)){Ux(a,Q,n,o);i=1;k=f[S>>2]|0}c=f[W>>2]|0;c=c+80+((j[(f[c+72>>2]|0)+4>>1]|0)*88|0)+72|0;p=f[c>>2]|0;c=f[c+4>>2]|0;if(!k){if(((f[G>>2]|0)+(f[F>>2]|0)|0)>=(f[(f[a>>2]|0)+68>>2]|0))Wx(a,Q);if(!(b[z>>0]|0))k=0;else{k=f[D>>2]|0;v=f[F>>2]|0;b[k>>0]=(v&65535)>>>8;b[k+1>>0]=v;Vx(a,Q,p,c);k=b[z>>0]|0}d:do if(!((k|b[B>>0])<<24>>24)){n=E;n=LA(p|0,c|0,f[n>>2]|0,f[n+4>>2]|0)|0;o=ba()|0;l=f[F>>2]|0;m=l+9|0;k=f[A>>2]|0;e:do if(m>>>0>k>>>0){l=(k|0)==0?64:k;while(1)if(l>>>0>>0)l=l<<1;else break;k=f[D>>2]|0;do if(!(Mc()|0)){k=Nc(k,(l|0)>0?l:0,0)|0;if(!k)break;f[A>>2]=l;f[D>>2]=k;l=f[F>>2]|0;break e}while(0);f[S>>2]=7;break d}else k=f[D>>2]|0;while(0);k=k+l|0;do if(!(o>>>0<0|(o|0)==0&n>>>0<128))if(o>>>0<0|(o|0)==0&n>>>0<16384){v=VA(n|0,o|0,7)|0;ba()|0;b[k>>0]=v&255|-128;b[k+1>>0]=n&127;k=2;break}else{k=Zv(k,n,o)|0;break}else{b[k>>0]=n&127;k=1}while(0);f[F>>2]=(f[F>>2]|0)+k}else{l=f[F>>2]|0;m=l+9|0;k=f[A>>2]|0;f:do if(m>>>0>k>>>0){l=(k|0)==0?64:k;while(1)if(l>>>0>>0)l=l<<1;else break;k=f[D>>2]|0;do if(!(Mc()|0)){k=Nc(k,(l|0)>0?l:0,0)|0;if(!k)break;f[A>>2]=l;f[D>>2]=k;l=f[F>>2]|0;break f}while(0);f[S>>2]=7;break d}else k=f[D>>2]|0;while(0);k=k+l|0;do if(!(c>>>0<0|(c|0)==0&p>>>0<128))if(c>>>0<0|(c|0)==0&p>>>0<16384){v=VA(p|0,c|0,7)|0;ba()|0;b[k>>0]=v&255|-128;b[k+1>>0]=p&127;k=2;break}else{k=Zv(k,p,c)|0;break}else{b[k>>0]=p&127;k=1}while(0);f[F>>2]=(f[F>>2]|0)+k}while(0);v=E;f[v>>2]=p;f[v+4>>2]=c;b[B>>0]=0;b[z>>0]=0}if(y){if(!(b[u+80+(r*88|0)+84>>0]|0))break;k=f[F>>2]|0;m=k+9|0;l=f[A>>2]|0;do if(m>>>0>l>>>0){l=(l|0)==0?64:l;while(1)if(l>>>0>>0)l=l<<1;else break;k=f[D>>2]|0;if((Mc()|0)==0?(N=Nc(k,(l|0)>0?l:0,0)|0,N|0):0){f[A>>2]=l;f[D>>2]=N;l=N;k=f[F>>2]|0;ea=98;break}f[S>>2]=7}else{l=f[D>>2]|0;ea=98}while(0);if((ea|0)==98){ea=0;b[l+k>>0]=0;f[F>>2]=(f[F>>2]|0)+1}if((f[q>>2]|0)<=0)break;l=f[F>>2]|0;m=l+9|0;k=f[A>>2]|0;g:do if(m>>>0>k>>>0){l=(k|0)==0?64:k;while(1)if(l>>>0>>0)l=l<<1;else break;k=f[D>>2]|0;do if(!(Mc()|0)){k=Nc(k,(l|0)>0?l:0,0)|0;if(!k)break;f[A>>2]=l;f[D>>2]=k;l=f[F>>2]|0;break g}while(0);f[S>>2]=7;break c}else k=f[D>>2]|0;while(0);b[k+l>>0]=0;f[F>>2]=(f[F>>2]|0)+1;break}n=(f[q>>2]<<1)+(h[u+80+(r*88|0)+84>>0]|0)|0;o=((n|0)<0)<<31>>31;k=f[F>>2]|0;m=k+9|0;l=f[A>>2]|0;do if(m>>>0>l>>>0){l=(l|0)==0?64:l;while(1)if(l>>>0>>0)l=l<<1;else break;k=f[D>>2]|0;if((Mc()|0)==0?(O=Nc(k,(l|0)>0?l:0,0)|0,O|0):0){f[A>>2]=l;f[D>>2]=O;l=O;k=f[F>>2]|0;ea=117;break}f[S>>2]=7;l=7}else{l=f[D>>2]|0;ea=117}while(0);if((ea|0)==117){ea=0;k=l+k|0;do if(n>>>0>=128)if(n>>>0<16384){v=VA(n|0,o|0,7)|0;ba()|0;b[k>>0]=v&255|-128;b[k+1>>0]=n&127;k=2;break}else{k=Zv(k,n,o)|0;break}else{b[k>>0]=n&127;k=1}while(0);f[F>>2]=(f[F>>2]|0)+k;l=f[S>>2]|0}q=f[q>>2]|0;s=f[u+80+(r*88|0)+12>>2]|0;c=f[u+80+(r*88|0)+20>>2]|0;k=(f[s>>2]|0)+c|0;c=(f[s+8>>2]|0)-c|0;c=(q|0)<(c|0)?q:c;s=f[u+80+(r*88|0)+8>>2]|0;v=(f[u+80+(r*88|0)+4>>2]&2|0)==0?s+1|0:0;h:do if(!l){p=c;while(1){l=f[F>>2]|0;m=f[G>>2]|0;n=f[(f[a>>2]|0)+68>>2]|0;if((l+p+m|0)<(n|0)){l=p;break h}m=n-(m+l)|0;i:do if((m|0)>0){l=0;do l=l+((yv(k+l|0,P)|0)&255)|0;while((l|0)<(m|0));if(!l){l=0;break}n=f[F>>2]|0;o=n+l|0;m=f[A>>2]|0;j:do if(o>>>0>m>>>0){n=(m|0)==0?64:m;while(1)if(n>>>0>>0)n=n<<1;else break;m=f[D>>2]|0;do if(!(Mc()|0)){m=Nc(m,(n|0)>0?n:0,0)|0;if(!m)break;f[A>>2]=n;f[D>>2]=m;n=f[F>>2]|0;break j}while(0);f[S>>2]=7;break i}else m=f[D>>2]|0;while(0);YA(m+n|0,k|0,l|0)|0;f[F>>2]=(f[F>>2]|0)+l}else l=0;while(0);k=k+l|0;l=p-l|0;Wx(a,Q);if(!(f[S>>2]|0))p=l;else break}}else l=c;while(0);k:do if((l|0)>0){n=f[F>>2]|0;o=n+l|0;m=f[A>>2]|0;l:do if(o>>>0>m>>>0){n=(m|0)==0?64:m;while(1)if(n>>>0>>0)n=n<<1;else break;m=f[D>>2]|0;do if(!(Mc()|0)){m=Nc(m,(n|0)>0?n:0,0)|0;if(!m)break;f[A>>2]=n;f[D>>2]=m;n=f[F>>2]|0;break l}while(0);f[S>>2]=7;break k}else m=f[D>>2]|0;while(0);YA(m+n|0,k|0,l|0)|0;f[F>>2]=(f[F>>2]|0)+l}while(0);k=q-c|0;if((k|0)>=1){e=u+80+(r*88|0)|0;u=u+80+(r*88|0)+16|0;while(1){s=s+1|0;m=WA(f[f[e>>2]>>2]|0,0,37)|0;m=KA(m|0,ba()|0,s|0,((s|0)<0)<<31>>31|0)|0;m=xv(a,m,ba()|0)|0;if(!m)break c;l=f[m+8>>2]|0;if((l|0)>(f[m+4>>2]|0))break;n=(f[m>>2]|0)+4|0;r=l+-4|0;r=(k|0)<(r|0)?k:r;if((s|0)==(v|0)){f[u>>2]=m;m=0}m:do if(!(f[S>>2]|0)){q=r;while(1){l=f[F>>2]|0;o=f[G>>2]|0;p=f[(f[a>>2]|0)+68>>2]|0;if((l+q+o|0)<(p|0)){l=q;break m}o=p-(o+l)|0;n:do if((o|0)>0){l=0;do l=l+((yv(n+l|0,P)|0)&255)|0;while((l|0)<(o|0));if(!l){l=0;break}p=f[F>>2]|0;c=p+l|0;o=f[A>>2]|0;o:do if(c>>>0>o>>>0){p=(o|0)==0?64:o;while(1)if(p>>>0>>0)p=p<<1;else break;o=f[D>>2]|0;do if(!(Mc()|0)){o=Nc(o,(p|0)>0?p:0,0)|0;if(!o)break;f[A>>2]=p;f[D>>2]=o;p=f[F>>2]|0;break o}while(0);f[S>>2]=7;break n}else o=f[D>>2]|0;while(0);YA(o+p|0,n|0,l|0)|0;f[F>>2]=(f[F>>2]|0)+l}else l=0;while(0);n=n+l|0;l=q-l|0;Wx(a,Q);if(!(f[S>>2]|0))q=l;else break}}else l=r;while(0);p:do if((l|0)>0){p=f[F>>2]|0;c=p+l|0;o=f[A>>2]|0;q:do if(c>>>0>o>>>0){p=(o|0)==0?64:o;while(1)if(p>>>0>>0)p=p<<1;else break;o=f[D>>2]|0;do if(!(Mc()|0)){o=Nc(o,(p|0)>0?p:0,0)|0;if(!o)break;f[A>>2]=p;f[D>>2]=o;p=f[F>>2]|0;break q}while(0);f[S>>2]=7;break p}else o=f[D>>2]|0;while(0);YA(o+p|0,n|0,l|0)|0;f[F>>2]=(f[F>>2]|0)+l}while(0);k=k-r|0;do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{r=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);if((k|0)<1)break c}f[S>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{v=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}}while(0);u=f[W>>2]|0;vv(a,u,0,0,0);if(f[S>>2]|0)break;else{l=C;k=w;m=x}}}else C=0;while(0);q=I+8|0;Xx(a,Q,q);i=f[W>>2]|0;if((f[S>>2]|0)==0?(b[i+16>>0]|0)==0:0){B=i+52|0;do if((f[B>>2]|0)>0){A=0;l=0;k=0;do{z=i+80+(A*88|0)|0;m=f[z>>2]|0;do if(m){if(!(f[i+80+(A*88|0)+12>>2]|0)){f[m+8>>2]=0;f[m+4>>2]=0;break}r=f[i+80+(A*88|0)+32>>2]|0;u=WA(f[m>>2]|0,0,37)|0;e=ba()|0;v=i+80+(A*88|0)+28|0;w=f[v>>2]|0;w=KA(u|0,e|0,w|0,((w|0)<0)<<31>>31|0)|0;x=ba()|0;y=xv(a,w,x)|0;if(y){s=y+4|0;m=f[s>>2]|0;do if(m>>>0>k>>>0){n=(k|0)==0?64:k;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?(X=Nc(l,(n|0)>0?n:0,0)|0,X|0):0){l=X;k=n;break}f[S>>2]=7}while(0);do if(k>>>0<4){m=(k|0)==0?64:k;while(1)if(m>>>0<4)m=m<<1;else break;if((Mc()|0)==0?(Y=Nc(l,(m|0)>0?m:0,0)|0,Y|0):0){l=Y;k=m;ea=240;break}f[S>>2]=7;c=0}else ea=240;while(0);if((ea|0)==240){ea=0;b[l>>0]=0;b[l+1>>0]=0;b[l+2>>0]=0;b[l+3>>0]=0;c=4}q=i+80+(A*88|0)+64|0;o=f[q>>2]|0;p=((o|0)<0)<<31>>31;m=c|9;do if(m>>>0>k>>>0){n=(k|0)==0?64:k;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?(Z=Nc(l,(n|0)>0?n:0,0)|0,Z|0):0){l=Z;k=n;ea=247;break}f[S>>2]=7;m=c}else ea=247;while(0);if((ea|0)==247){ea=0;m=l+c|0;do if(o>>>0>=128)if(o>>>0<16384){R=VA(o|0,p|0,7)|0;ba()|0;b[m>>0]=R&255|-128;b[m+1>>0]=o&127;m=2;break}else{m=Zv(m,o,p)|0;break}else{b[m>>0]=o&127;m=1}while(0);m=m+c|0}o=f[q>>2]|0;p=f[i+80+(A*88|0)+60>>2]|0;r:do if(o){c=o+m|0;do if(c>>>0>k>>>0){n=(k|0)==0?64:k;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?(_=Nc(l,(n|0)>0?n:0,0)|0,_|0):0){l=_;k=n;break}f[S>>2]=7;break r}while(0);YA(l+m|0,p|0,o|0)|0;m=c}while(0);q=y+8|0;p=(f[q>>2]|0)-r|0;o=(f[y>>2]|0)+r|0;s:do if(!p)ea=269;else{c=p+m|0;do if(c>>>0>k>>>0){n=(k|0)==0?64:k;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?($=Nc(l,(n|0)>0?n:0,0)|0,$|0):0){l=$;k=n;break}f[S>>2]=7;o=m;break s}while(0);YA(l+m|0,o|0,p|0)|0;m=c;ea=269}while(0);do if((ea|0)==269){ea=0;if(f[S>>2]|0){o=m;break}b[l+2>>0]=(m&65535)>>>8;b[l+3>>0]=m;o=m}while(0);m=o+9|0;do if(m>>>0>k>>>0){n=(k|0)==0?64:k;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?(aa=Nc(l,(n|0)>0?n:0,0)|0,aa|0):0){l=aa;k=n;ea=277;break}f[S>>2]=7;c=o}else ea=277;while(0);if((ea|0)==277){ea=0;b[l+o>>0]=4;c=o+1|0}t:do if((f[i+80+(A*88|0)+8>>2]|0)==(f[v>>2]|0)){n=f[i+80+(A*88|0)+40>>2]|0;m=f[q>>2]|0;if((n|0)>=(m|0)){m=c;break}o=c+-5+n-m|0;p=((o|0)<0)<<31>>31;m=c+9|0;do if(m>>>0>k>>>0){n=(k|0)==0?64:k;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?(ca=Nc(l,(n|0)>0?n:0,0)|0,ca|0):0){l=ca;k=n;ea=286;break}f[S>>2]=7;m=c}else ea=286;while(0);if((ea|0)==286){ea=0;m=l+c|0;do if(o>>>0>=128)if(o>>>0<16384){R=VA(o|0,p|0,7)|0;ba()|0;b[m>>0]=R&255|-128;b[m+1>>0]=o&127;m=2;break}else{m=Zv(m,o,p)|0;break}else{b[m>>0]=o&127;m=1}while(0);m=m+c|0}p=f[i+80+(A*88|0)+36>>2]|0;o=(f[s>>2]|0)-p|0;p=(f[y>>2]|0)+p|0;if(!o)break;c=o+m|0;do if(c>>>0>k>>>0){n=(k|0)==0?64:k;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?(da=Nc(l,(n|0)>0?n:0,0)|0,da|0):0){l=da;k=n;break}f[S>>2]=7;break t}while(0);YA(l+m|0,p|0,o|0)|0;m=c}else m=c;while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](y);else{R=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y)}f[(f[z>>2]|0)+4>>2]=f[v>>2];by(a,u|1,e,w,x);ay(a,w,x,l,m)}}while(0);A=A+1|0}while((A|0)<(f[B>>2]|0));if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{a=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[V>>2]=U;i=f[W>>2]|0}else{if((U|0)>0){p=V+8|0;c=a+56|0;o=0;do{n=f[(f[p>>2]|0)+(o*12|0)>>2]|0;aa=WA(n|0,0,37)|0;ca=ba()|0;da=WA(n+1|0,0,37)|0;da=KA(da|0,ba()|0,-1,-1)|0;by(a,aa,ca,da,ba()|0);u:do if(!(f[c>>2]|0)){l=f[a>>2]|0;k=f[l+8>>2]|0;f[R>>2]=f[l+4>>2];f[R+4>>2]=k;k=wd(70093,R)|0;l=(k|0)==0;do if(!(f[S>>2]|0))if(l){f[S>>2]=7;break u}else{ea=Ki(f[f[a>>2]>>2]|0,k,-1,129,0,c,0)|0;f[S>>2]=ea;break}else if(l)break u;while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);ea=205;break}else{ea=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);ea=205;break}}else ea=205;while(0);if((ea|0)==205?(ea=0,(f[S>>2]|0)==0):0){k=f[c>>2]|0;m=((n|0)<0)<<31>>31;do if(!(Op(k,1)|0)){k=f[k+116>>2]|0;l=k+8|0;if(!(d[l>>1]&9216)){da=k;f[da>>2]=n;f[da+4>>2]=m;d[l>>1]=4;break}else{bf(k,n,m);break}}while(0);Ei(f[c>>2]|0)|0;k=f[c>>2]|0;do if(k){l=f[k>>2]|0;da=k+128|0;ca=f[da+4>>2]|0;if((ca|0)>0|(ca|0)==0&(f[da>>2]|0)>>>0>0)Hi(l,k);m=fg(k)|0;f[k+20>>2]=770837923;f[k+36>>2]=-1;f[k+40>>2]=0;b[k+142>>0]=2;f[k+44>>2]=0;f[k+32>>2]=1;b[k+143>>0]=-1;f[k+48>>2]=0;da=k+64|0;f[da>>2]=0;f[da+4>>2]=0;if((m|0)==3082|(b[l+81>>0]|0)!=0){Di(l);k=7;break}else{k=f[l+68>>2]&m;break}}else k=0;while(0);f[S>>2]=k}o=o+1|0}while((o|0)!=(U|0))}n=V+4|0;k=f[n>>2]|0;if((k|0)==(U|0))m=U;else{m=f[V+8>>2]|0;ZA(m|0,m+(U*12|0)|0,(k-U|0)*12|0)|0;m=f[n>>2]|0}k=K+16|0;l=(f[k>>2]|0)-U|0;f[k>>2]=l;f[n>>2]=m-U;f[V>>2]=0;if(!(f[q>>2]|0)){f[J>>2]=(f[J>>2]|0)+-1;f[k>>2]=l+-1}}Tv(i);do if(C|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](C);break}else{a=ib[f[37368>>2]&255](C)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](C);break}while(0);if(!fa){t=ga;return}f[g>>2]=(f[g>>2]|0)-(f[T>>2]|0);t=ga;return}function $x(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=a+36|0;if(f[u>>2]|0)return;d=f[(f[a>>2]|0)+64>>2]|0;if((Mc()|0)==0?(e=Nc(0,64,0)|0,(e|0)!=0):0){d=(d|0)>0?d:0;b[e>>0]=d>>>24;b[e+1>>0]=d>>>16;b[e+2>>0]=d>>>8;b[e+3>>0]=d;d=e+4|0;j=c+20|0;g=f[j>>2]|0;h=((g|0)<0)<<31>>31;do if(g>>>0>=128)if(g>>>0<16384){i=VA(g|0,h|0,7)|0;ba()|0;b[d>>0]=i&255|-128;b[e+5>>0]=g&127;i=6;break}else{i=(Zv(d,g,h)|0)+4|0;break}else{b[d>>0]=g&127;i=5}while(0);d=e+i|0;g=f[c+16>>2]|0;h=((g|0)<0)<<31>>31;do if(g>>>0>=128)if(g>>>0<16384){p=VA(g|0,h|0,7)|0;ba()|0;b[d>>0]=p&255|-128;b[d+1>>0]=g&127;d=2;break}else{d=Zv(d,g,h)|0;break}else{b[d>>0]=g&127;d=1}while(0);i=d+i|0;d=e+i|0;h=c+8|0;g=f[h>>2]|0;h=f[h+4>>2]|0;do if(!(h>>>0<0|(h|0)==0&g>>>0<128))if(h>>>0<0|(h|0)==0&g>>>0<16384){p=VA(g|0,h|0,7)|0;ba()|0;b[d>>0]=p&255|-128;b[d+1>>0]=g&127;d=2;break}else{d=Zv(d,g,h)|0;break}else{b[d>>0]=g&127;d=1}while(0);p=j;d=d+i|0;g=64}else{f[u>>2]=7;p=c+20|0;e=0;d=0;g=0}if((f[p>>2]|0)>0){o=0;do{j=f[c+24+(o*12|0)>>2]|0;k=((j|0)<0)<<31>>31;h=d+9|0;do if(h>>>0>g>>>0){i=(g|0)==0?64:g;while(1)if(i>>>0>>0)i=i<<1;else break;if((Mc()|0)==0?(q=Nc(e,(i|0)>0?i:0,0)|0,q|0):0){e=q;w=29;break}f[u>>2]=7}else{i=g;w=29}while(0);if((w|0)==29){w=0;g=e+d|0;do if(j>>>0>=128)if(j>>>0<16384){n=VA(j|0,k|0,7)|0;ba()|0;b[g>>0]=n&255|-128;b[g+1>>0]=j&127;g=2;break}else{g=Zv(g,j,k)|0;break}else{b[g>>0]=j&127;g=1}while(0);d=g+d|0;h=d+9|0;g=i}n=c+24+(o*12|0)+4|0;j=f[n>>2]|0;k=((j|0)<0)<<31>>31;do if(h>>>0>g>>>0){i=(g|0)==0?64:g;while(1)if(i>>>0>>0)i=i<<1;else break;if((Mc()|0)==0?(r=Nc(e,(i|0)>0?i:0,0)|0,r|0):0){e=r;g=i;w=41;break}f[u>>2]=7}else w=41;while(0);if((w|0)==41){w=0;h=e+d|0;do if(j>>>0>=128)if(j>>>0<16384){m=VA(j|0,k|0,7)|0;ba()|0;b[h>>0]=m&255|-128;b[h+1>>0]=j&127;h=2;break}else{h=Zv(h,j,k)|0;break}else{b[h>>0]=j&127;h=1}while(0);d=h+d|0}if((f[n>>2]|0)>0){m=c+24+(o*12|0)+8|0;l=0;do{j=f[(f[m>>2]|0)+(l*12|0)>>2]|0;k=((j|0)<0)<<31>>31;h=d+9|0;do if(h>>>0>g>>>0){i=(g|0)==0?64:g;while(1)if(i>>>0>>0)i=i<<1;else break;if((Mc()|0)==0?(s=Nc(e,(i|0)>0?i:0,0)|0,s|0):0){e=s;g=i;w=55;break}f[u>>2]=7}else w=55;while(0);if((w|0)==55){w=0;h=e+d|0;do if(j>>>0>=128)if(j>>>0<16384){k=VA(j|0,k|0,7)|0;ba()|0;b[h>>0]=k&255|-128;b[h+1>>0]=j&127;h=2;break}else{h=Zv(h,j,k)|0;break}else{b[h>>0]=j&127;h=1}while(0);d=h+d|0;h=d+9|0}j=f[(f[m>>2]|0)+(l*12|0)+4>>2]|0;k=((j|0)<0)<<31>>31;do if(h>>>0>g>>>0){i=(g|0)==0?64:g;while(1)if(i>>>0>>0)i=i<<1;else break;if((Mc()|0)==0?(t=Nc(e,(i|0)>0?i:0,0)|0,t|0):0){e=t;g=i;w=67;break}f[u>>2]=7}else w=67;while(0);if((w|0)==67){w=0;h=e+d|0;do if(j>>>0>=128)if(j>>>0<16384){k=VA(j|0,k|0,7)|0;ba()|0;b[h>>0]=k&255|-128;b[h+1>>0]=j&127;h=2;break}else{h=Zv(h,j,k)|0;break}else{b[h>>0]=j&127;h=1}while(0);d=h+d|0;h=d+9|0}j=f[(f[m>>2]|0)+(l*12|0)+8>>2]|0;k=((j|0)<0)<<31>>31;do if(h>>>0>g>>>0){i=(g|0)==0?64:g;while(1)if(i>>>0>>0)i=i<<1;else break;if((Mc()|0)==0?(v=Nc(e,(i|0)>0?i:0,0)|0,v|0):0){e=v;g=i;w=79;break}f[u>>2]=7}else w=79;while(0);if((w|0)==79){w=0;h=e+d|0;do if(j>>>0>=128)if(j>>>0<16384){k=VA(j|0,k|0,7)|0;ba()|0;b[h>>0]=k&255|-128;b[h+1>>0]=j&127;h=2;break}else{h=Zv(h,j,k)|0;break}else{b[h>>0]=j&127;h=1}while(0);d=h+d|0}l=l+1|0}while((l|0)<(f[n>>2]|0))}o=o+1|0}while((o|0)<(f[p>>2]|0))}ay(a,10,0,e,d);if(!e)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](e);return}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);return}}function ay(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+16|0;j=p;o=a+36|0;if(f[o>>2]|0){t=p;return}n=a+44|0;i=f[n>>2]|0;do if(!i){k=f[a>>2]|0;i=f[k+8>>2]|0;f[j>>2]=f[k+4>>2];f[j+4>>2]=i;i=wd(70042,j)|0;j=(i|0)==0;do if(f[o>>2]|0){if(j){t=p;return}}else{if(!j){k=Ki(f[f[a>>2]>>2]|0,i,-1,129,0,n,0)|0;f[o>>2]=k;break}f[o>>2]=7;t=p;return}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{k=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}if(!(f[o>>2]|0)){k=n;i=f[n>>2]|0;break}else{t=p;return}}else k=n;while(0);do if(!(Op(i,1)|0)){i=f[i+116>>2]|0;j=i+8|0;if(!(d[j>>1]&9216)){a=i;f[a>>2]=c;f[a+4>>2]=e;d[j>>1]=4;break}else{bf(i,c,e);break}}while(0);i=f[n>>2]|0;if((!((g|0)==0|(Op(i,2)|0)!=0)?(l=$e((f[i+116>>2]|0)+40|0,g,h,0,0)|0,l|0):0)?(m=f[i>>2]|0,f[m+64>>2]=l,Bg(m,l),m=f[i>>2]|0,(l|0)==3082|(b[m+81>>0]|0)!=0):0)Di(m);Ei(f[n>>2]|0)|0;i=f[n>>2]|0;do if(i){j=f[i>>2]|0;n=i+128|0;m=f[n+4>>2]|0;if((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)Hi(j,i);a=fg(i)|0;f[i+20>>2]=770837923;f[i+36>>2]=-1;f[i+40>>2]=0;b[i+142>>0]=2;f[i+44>>2]=0;f[i+32>>2]=1;b[i+143>>0]=-1;f[i+48>>2]=0;n=i+64|0;f[n>>2]=0;f[n+4>>2]=0;if((a|0)==3082|(b[j+81>>0]|0)!=0){Di(j);i=7;break}else{i=f[j+68>>2]&a;break}}else i=0;while(0);f[o>>2]=i;Op(f[k>>2]|0,2)|0;t=p;return}function by(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;j=n;m=a+36|0;if(f[m>>2]|0){t=n;return}l=a+48|0;i=f[l>>2]|0;if(!i){i=f[a>>2]|0;a=f[i+8>>2]|0;f[j>>2]=f[i+4>>2];f[j+4>>2]=a;a=wd(70133,j)|0;if(a){i=Ki(f[i>>2]|0,a,-1,129,0,l,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](a);else{j=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a)}if(!i){j=l;i=f[l>>2]|0;k=10}}else i=7}else{j=l;k=10}do if((k|0)==10){do if(!(Op(i,1)|0)){i=f[i+116>>2]|0;a=i+8|0;if(!(d[a>>1]&9216)){k=i;f[k>>2]=c;f[k+4>>2]=e;d[a>>1]=4;break}else{bf(i,c,e);break}}while(0);i=f[j>>2]|0;do if(!(Op(i,2)|0)){a=f[i+116>>2]|0;i=a+40|0;a=a+48|0;if(!(d[a>>1]&9216)){e=i;f[e>>2]=g;f[e+4>>2]=h;d[a>>1]=4;break}else{bf(i,g,h);break}}while(0);Ei(f[l>>2]|0)|0;i=f[l>>2]|0;if(i){a=f[i>>2]|0;l=i+128|0;h=f[l+4>>2]|0;if((h|0)>0|(h|0)==0&(f[l>>2]|0)>>>0>0)Hi(a,i);j=fg(i)|0;f[i+20>>2]=770837923;f[i+36>>2]=-1;f[i+40>>2]=0;b[i+142>>0]=2;f[i+44>>2]=0;f[i+32>>2]=1;b[i+143>>0]=-1;f[i+48>>2]=0;l=i+64|0;f[l>>2]=0;f[l+4>>2]=0;if((j|0)==3082|(b[a+81>>0]|0)!=0){Di(a);i=7;break}else{i=f[a+68>>2]&j;break}}else i=0}while(0);f[m>>2]=i;t=n;return}function cy(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;o=c+88|0;if(!(f[o>>2]|0))return;k=c+72|0;i=f[k>>2]|0;e=f[i+20>>2]|0;if((e|0)>0)n=(f[c+64>>2]|0)>3&1;else n=0;j=c+68|0;h=f[j>>2]|0;a:do if((h|0)>0){g=(e|0)==0;if(!n){if(g)break;e=0;do{f[i+(e<<5)+20>>2]=0;f[i+(e<<5)+4>>2]=0;e=e+1|0;if((e|0)>=(h|0))break a}while((f[i+(e<<5)+20>>2]|0)!=0)}else{if(g)break;h=0;g=i;do{i=WA(f[c>>2]|0,0,37)|0;p=ba()|0|16;s=WA(h|0,0,31)|0;r=ba()|0;q=f[g+(h<<5)>>2]|0;q=KA(s|0,r|0,q|0,((q|0)<0)<<31>>31|0)|0;p=KA(q|0,ba()|0,i|0,p|0)|0;i=ba()|0;ay(a,p,i,f[g+(h<<5)+16>>2]|0,e);f[g+(h<<5)+20>>2]=0;f[g+(h<<5)+4>>2]=0;h=h+1|0;if((h|0)>=(f[j>>2]|0))break a;g=f[k>>2]|0;e=f[g+(h<<5)+20>>2]|0}while((e|0)!=0)}}while(0);f[c+64>>2]=0;k=a+36|0;if(!(f[k>>2]|0)){h=f[c+80>>2]|0;if((h|0)>0)g=f[c+76>>2]|0;else g=72788;j=a+52|0;e=f[j>>2]|0;if((!((g|0)==0|(Op(e,2)|0)!=0)?(l=$e((f[e+116>>2]|0)+40|0,g,h,0,0)|0,l|0):0)?(m=f[e>>2]|0,f[m+64>>2]=l,Bg(m,l),m=f[e>>2]|0,(l|0)==3082|(b[m+81>>0]|0)!=0):0)Di(m);e=f[j>>2]|0;h=f[o>>2]|0;h=WA(h|0,((h|0)<0)<<31>>31|0,1)|0;i=ba()|0;h=h|n;do if(!(Op(e,3)|0)){g=f[e+116>>2]|0;e=g+80|0;g=g+88|0;if(!(d[g>>1]&9216)){s=e;f[s>>2]=h;f[s+4>>2]=i;d[g>>1]=4;break}else{bf(e,h,i);break}}while(0);Ei(f[j>>2]|0)|0;g=f[j>>2]|0;do if(g){h=f[g>>2]|0;s=g+128|0;r=f[s+4>>2]|0;if((r|0)>0|(r|0)==0&(f[s>>2]|0)>>>0>0)Hi(h,g);e=fg(g)|0;f[g+20>>2]=770837923;f[g+36>>2]=-1;f[g+40>>2]=0;b[g+142>>0]=2;f[g+44>>2]=0;f[g+32>>2]=1;b[g+143>>0]=-1;f[g+48>>2]=0;s=g+64|0;f[s>>2]=0;f[s+4>>2]=0;if((e|0)==3082|(b[h+81>>0]|0)!=0){Di(h);e=7;break}else{e=f[h+68>>2]&e;break}}else e=0;while(0);f[k>>2]=e;Op(f[j>>2]|0,2)|0}f[o>>2]=0;return}function dy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=t;t=t+16|0;g=e;f[g>>2]=d;d=lp(c,g)|0;if(!d){g=7;t=e;return g|0}c=uj(a,d,0,0,b)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](d);g=c;t=e;return g|0}else{g=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);g=c;t=e;return g|0}return 0}function ey(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0;l=t;t=t+16|0;k=l;i=f[(f[a+4>>2]|0)+8>>2]|0;g=f[d>>2]|0;e=j[g+8>>1]|0;do if(!(e&4)){if(e&8|0){g=Fc(+p[g>>3])|0;h=ba()|0;break}if(!(e&18)){g=0;h=0}else{g=Gc(b[g+10>>0]|0,f[g+12>>2]|0,f[g+16>>2]|0)|0;h=ba()|0}}else{h=g;g=f[h>>2]|0;h=f[h+4>>2]|0}while(0);e=f[(f[i>>2]|0)+44>>2]|0;a:do if(e|0){while(1){m=e+16|0;if((f[m>>2]|0)==(g|0)?(f[m+4>>2]|0)==(h|0):0)break;e=f[e+4>>2]|0;if(!e)break a}m=e+96|0;f[m>>2]=i;sb[f[i+12>>2]&127](39304,e,a,c+-1|0,d+4|0);f[m>>2]=0;t=l;return}while(0);e=k;f[e>>2]=g;f[e+4>>2]=h;e=wd(70281,k)|0;f[a+20>>2]=1;$e(f[a>>2]|0,e,-1,1,-1)|0;if(!e){t=l;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);t=l;return}else{m=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);t=l;return}}function fy(a){a=a|0;return f[(f[a+96>>2]|0)+8>>2]|0}function gy(a){a=a|0;return f[(f[(f[a>>2]|0)+12>>2]|0)+12>>2]|0}function hy(a,b){a=a|0;b=b|0;var c=0,d=0;a=f[(f[a>>2]|0)+20>>2]|0;c=Ky(a,0)|0;if(c|0)return c|0;d=a+16|0;a=f[d+4>>2]|0;f[b>>2]=f[d>>2];f[b+4>>2]=a;return c|0}function iy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[(f[a>>2]|0)+20>>2]|0;a=Ky(d,0)|0;if(a|0){c=a;return c|0}g=c;f[g>>2]=0;f[g+4>>2]=0;g=f[(f[d>>2]|0)+12>>2]|0;if((b|0)>=0){if((g|0)<=(b|0)){c=25;return c|0}e=(f[d+24>>2]|0)+(b<<3)|0;g=f[e+4>>2]|0;f[c>>2]=f[e>>2];f[c+4>>2]=g;c=0;return c|0}if((g|0)<=0){c=0;return c|0}d=f[d+24>>2]|0;a=0;b=0;e=0;do{h=d+(a<<3)|0;b=KA(f[h>>2]|0,f[h+4>>2]|0,b|0,e|0)|0;e=ba()|0;h=c;f[h>>2]=b;f[h+4>>2]=e;a=a+1|0}while((a|0)!=(g|0));a=0;return a|0}function jy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=f[(f[a>>2]|0)+12>>2]|0;if(!b){e=0;return e|0}e=nb[f[(f[a+60>>2]|0)+8>>2]&127](f[a+56>>2]|0,d,8,b,c,e)|0;return e|0}function ky(a){a=a|0;a=f[a+52>>2]|0;if(!a){a=0;return a|0}a=f[a+16>>2]|0;return a|0}function ly(a,b){a=a|0;b=b|0;a=f[a+52>>2]|0;if((b|0)<0){b=0;return b|0}if((f[a+16>>2]|0)<=(b|0)){b=0;return b|0}b=f[(f[(f[a+20>>2]|0)+(b<<2)>>2]|0)+16>>2]|0;return b|0}function my(a,b){a=a|0;b=b|0;var c=0;if(f[a+60>>2]&8|0?(c=Jy(a)|0,c|0):0)return c|0;f[b>>2]=f[a+112>>2];c=0;return c|0}function ny(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0;if(f[a+60>>2]&8|0?(g=Jy(a)|0,g|0):0)return g|0;if((b|0)<0){g=25;return g|0}if((f[a+112>>2]|0)<=(b|0)){g=25;return g|0}a=f[a+116>>2]|0;g=b*3|0;f[c>>2]=f[a+(g<<2)>>2];f[d>>2]=f[a+(g+1<<2)>>2];f[e>>2]=f[a+(g+2<<2)>>2];g=0;return g|0}function oy(a){a=a|0;var b=0;b=f[a+56>>2]|0;if(!b)a=(f[(f[a+52>>2]|0)+8>>2]|0)+16|0;else a=b+8|0;b=f[a>>2]|0;aa(f[a+4>>2]|0);return b|0}function py(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0;if((f[(f[(f[a>>2]|0)+12>>2]|0)+32>>2]|0)==1){f[e>>2]=0;a=0}else{h=Iy(a,0)|0;if(h|0){g=h;return g|0}m=a+48|0;k=f[m>>2]|0;l=c+1|0;c=(k|0)==0;do if(c)a=37592;else{a=f[k+104>>2]|0;if(a|0?l>>>0<(j[k+140>>1]|0)>>>0:0){a=a+(l*40|0)|0;break}a=f[k>>2]|0;f[a+64>>2]=25;Bg(a,25);a=37592}while(0);h=d[a+8>>1]|0;if((h&514)==514?(b[a+10>>0]|0)==1:0)i=f[a+16>>2]|0;else if(!(h&1))i=Ic(a,1)|0;else i=0;if(!c){h=f[k>>2]|0;c=k+40|0;a=f[c>>2]|0;if((a|0)==3082|(b[h+81>>0]|0)!=0){Di(h);a=7}else a=f[h+68>>2]&a;f[c>>2]=a}f[e>>2]=i;a=Gp(f[m>>2]|0,l)|0}f[g>>2]=a;g=0;return g|0}function qy(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=t;t=t+16|0;m=r+4|0;n=r;g=f[a>>2]|0;q=f[g+12>>2]|0;p=a+60|0;if(!(f[p>>2]&4))e=0;else{a:do if(!(f[q+44>>2]|0)){o=q+12|0;if(!(f[q+36>>2]|0)){e=f[o>>2]|0;if((e|0)<=0){e=0;break}i=a+8|0;h=f[q+20>>2]|0;g=0;while(1){if(!(b[h+g>>0]|0)){f[(f[i>>2]|0)+(g<<2)>>2]=-1;e=f[o>>2]|0}g=g+1|0;if((g|0)>=(e|0)){e=0;break a}}}i=q+20|0;j=a+8|0;k=q+60|0;l=q+56|0;h=0;while(1){if((h|0)>=(f[o>>2]|0)){e=0;break a}if(!(b[(f[i>>2]|0)+h>>0]|0)){g=(f[j>>2]|0)+(h<<2)|0;f[g>>2]=0;e=py(a,h,m,n)|0;if(!e){e=f[m>>2]|0;if(!e)e=0;else e=nb[f[(f[k>>2]|0)+8>>2]&127](f[l>>2]|0,g,8,e,f[n>>2]|0,93)|0}}else e=0;if(!e)h=h+1|0;else break}}else{e=f[a+56>>2]|0;if(!e)e=(f[(f[a+52>>2]|0)+8>>2]|0)+16|0;else e=e+8|0;e=Fy(f[g+20>>2]|0,f[e>>2]|0,f[e+4>>2]|0,f[a+8>>2]|0)|0}while(0);f[p>>2]=f[p>>2]&-5}if((c|0)>=0)if((f[q+12>>2]|0)>(c|0)){f[d>>2]=f[(f[a+8>>2]|0)+(c<<2)>>2];d=e;t=r;return d|0}else{f[d>>2]=0;d=25;t=r;return d|0}else{f[d>>2]=0;j=q+12|0;if((f[j>>2]|0)<=0){d=e;t=r;return d|0}h=f[a+8>>2]|0;g=0;i=0;do{i=i+(f[h+(g<<2)>>2]|0)|0;f[d>>2]=i;g=g+1|0}while((g|0)<(f[j>>2]|0));t=r;return e|0}return 0}function ry(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+16|0;o=u;r=f[a>>2]|0;h=f[r+12>>2]|0;g=Cy(r)|0;a:do if(!g){g=(f[h+12>>2]<<2)+120|0;h=Fd(g)|0;if(h){p=f[r+24>>2]|0;_A(h|0,0,g|0)|0;f[h+8>>2]=h+120;q=p+44|0;f[h+4>>2]=f[q>>2];f[q>>2]=h;p=p+24|0;q=p;q=KA(f[q>>2]|0,f[q+4>>2]|0,1,0)|0;l=ba()|0;f[p>>2]=q;f[p+4>>2]=l;p=h+16|0;f[p>>2]=q;f[p+4>>2]=l;f[h+24>>2]=1;p=h+32|0;l=p;f[l>>2]=0;f[l+4>>2]=-2147483648;l=h+40|0;f[l>>2]=-1;f[l+4>>2]=2147483647;f[h>>2]=r;l=f[a+52>>2]|0;q=h+52|0;n=o;f[n>>2]=0;f[n+4>>2]=0;n=f[(f[l+20>>2]|0)+(c<<2)>>2]|0;b:do if(!(Mc()|0)){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](24)|0;if(!g){k=0;g=7;m=0;break}else j=g}else{g=ib[f[37372>>2]&255](24)|0;if((f[18194]|0)>>>0<24)f[18194]=24;c=71896;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){m=f[18187]|0;k=LA(a|0,c|0,g|0,((g|0)<0)<<31>>31|0)|0;j=ba()|0;f[17976]=((j|0)<0|(j|0)==0&k>>>0<=m>>>0)&1}a=ib[f[37356>>2]&255](g)|0;if(!a){k=0;g=7;m=0;break}g=ib[f[37368>>2]&255](a)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;j=a}else j=a}a=j;c=a+24|0;do{b[a>>0]=0;a=a+1|0}while((a|0)<(c|0));do if(!(Mc()|0)){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](4)|0;if(!g)break}else{g=ib[f[37372>>2]&255](4)|0;if((f[18194]|0)>>>0<4)f[18194]=4;c=71896;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){m=f[18187]|0;k=LA(a|0,c|0,g|0,((g|0)<0)<<31>>31|0)|0;i=ba()|0;f[17976]=((i|0)<0|(i|0)==0&k>>>0<=m>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g)break;a=ib[f[37368>>2]&255](g)|0;a=(f[18187]|0)+a|0;f[18187]=a;if(a>>>0>(f[18191]|0)>>>0)f[18191]=a;a=(f[18190]|0)+1|0;f[18190]=a;if(a>>>0>(f[18196]|0)>>>0)f[18196]=a}b[g>>0]=0;b[g+1>>0]=0;b[g+2>>0]=0;b[g+3>>0]=0;f[j+20>>2]=g;do if(!(Mc()|0)){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](40)|0;if(!g)break}else{g=ib[f[37372>>2]&255](40)|0;if((f[18194]|0)>>>0<40)f[18194]=40;c=71896;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){m=f[18187]|0;k=LA(a|0,c|0,g|0,((g|0)<0)<<31>>31|0)|0;i=ba()|0;f[17976]=((i|0)<0|(i|0)==0&k>>>0<=m>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g)break;a=ib[f[37368>>2]&255](g)|0;a=(f[18187]|0)+a|0;f[18187]=a;if(a>>>0>(f[18191]|0)>>>0)f[18191]=a;a=(f[18190]|0)+1|0;f[18190]=a;if(a>>>0>(f[18196]|0)>>>0)f[18196]=a}a=g;c=a+40|0;do{b[a>>0]=0;a=a+1|0}while((a|0)<(c|0));i=j+8|0;f[i>>2]=g;c:do if(!(Mc()|0)){do if(!(f[9328]|0)){g=ib[f[37356>>2]&255](20)|0;if(!g)break c}else{g=ib[f[37372>>2]&255](20)|0;if((f[18194]|0)>>>0<20)f[18194]=20;c=71896;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){m=f[18187]|0;k=LA(a|0,c|0,g|0,((g|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&k>>>0<=m>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g)break c;a=ib[f[37368>>2]&255](g)|0;a=(f[18187]|0)+a|0;f[18187]=a;if(a>>>0>(f[18191]|0)>>>0)f[18191]=a;a=(f[18190]|0)+1|0;f[18190]=a;if(a>>>0<=(f[18196]|0)>>>0)break;f[18196]=a}while(0);a=g;c=a+20|0;do{b[a>>0]=0;a=a+1|0}while((a|0)<(c|0));f[(f[i>>2]|0)+24>>2]=g;g=f[(f[(f[n>>2]|0)+24>>2]|0)+4>>2]|0;if(!g){k=j;g=0;m=j;break b}c=(f[g>>2]<<2)+4|0;a=Fd(c)|0;if(!a){a=0;g=(c|0)>0?7:0}else{YA(a|0,g|0,c|0)|0;g=0}f[(f[(f[i>>2]|0)+24>>2]|0)+4>>2]=a;k=j;m=j;break b}while(0);f[(f[i>>2]|0)+24>>2]=0;k=j;g=7;m=j;break b}while(0);f[j+8>>2]=0;k=j;g=7;m=j;break b}while(0);f[j+20>>2]=0;k=j;g=7;m=j}else{k=0;g=7;m=0}while(0);j=n+16|0;a=f[j>>2]|0;c=(g|0)==0;d:do if(a)if(c){if((a|0)>0){i=0;do{g=f[n+20+(i<<4)+4>>2]|0;g=cx(o,0,g,wz(g)|0,0,0)|0;a=f[n+20+(i<<4)+12>>2]|0;c=(g|0)==0;if(c&(a|0)!=0)do{g=f[a+4>>2]|0;g=cx(o,1,g,wz(g)|0,0,0)|0;a=f[a+12>>2]|0;c=(g|0)==0}while(c&(a|0)!=0);if(c){c=f[o>>2]|0;b[c+20+(i<<4)>>0]=b[n+20+(i<<4)>>0]|0;b[c+20+(i<<4)+1>>0]=b[n+20+(i<<4)+1>>0]|0}if(g|0){s=91;break d}i=i+1|0;g=f[j>>2]|0}while((i|0)<(g|0));a=g;g=f[o>>2]|0}else g=0;c=g;i=g;g=a}else s=91;else{do if(c)if(!(Mc()|0)){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](36)|0;if(!g){g=7;break}}else{g=ib[f[37372>>2]&255](36)|0;if((f[18194]|0)>>>0<36)f[18194]=36;c=71896;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){i=f[18187]|0;c=LA(a|0,c|0,g|0,((g|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&c>>>0<=i>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=7;break}a=ib[f[37368>>2]&255](g)|0;a=(f[18187]|0)+a|0;f[18187]=a;if(a>>>0>(f[18191]|0)>>>0)f[18191]=a;a=(f[18190]|0)+1|0;f[18190]=a;if(a>>>0>(f[18196]|0)>>>0)f[18196]=a}a=g;c=a+36|0;do{b[a>>0]=0;a=a+1|0}while((a|0)<(c|0));f[o>>2]=g;c=g;i=g;g=f[j>>2]|0;break d}else g=7;while(0);f[o>>2]=0;s=91}while(0);if((s|0)==91){do if(m|0){Sw(f[m+8>>2]|0);a=f[m+20>>2]|0;do if(a|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{e=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{e=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);Uw(f[o>>2]|0);f[q>>2]=0;i=h;c=h;break}f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2];f[k+16>>2]=1;f[f[k+20>>2]>>2]=c;o=k+8|0;f[(f[(f[o>>2]|0)+24>>2]|0)+12>>2]=c;c=f[o>>2]|0;f[(f[c+24>>2]|0)+8>>2]=1;f[i>>2]=c;if(((g|0)==1?(f[n+32>>2]|0)==0:0)?(b[n+21>>0]|0)==0:0){g=4;a=93}else{g=9;a=92}f[c>>2]=g;f[c+12>>2]=a;f[q>>2]=m;j=p;i=f[j>>2]|0;j=f[j+4>>2]|0;l=m+8|0;k=f[l>>2]|0;f[m>>2]=f[r+16>>2];c=m+12|0;f[c>>2]=0;g=Dy(m,k)|0;do if(!g)if(!(f[k+4>>2]|0)){a=k+16|0;g=f[a>>2]|0;a=f[a+4>>2]|0;if(!(f[c>>2]|0)){if(!((a|0)<(j|0)|(a|0)==(j|0)&g>>>0>>0)){g=0;break}}else if(!((a|0)>(j|0)|(a|0)==(j|0)&g>>>0>i>>>0)){g=0;break}g=mb[f[k+12>>2]&127](m,k,1,i,j)|0}else g=0;while(0);c=k+8|0;if(f[c>>2]|0){a=k+12|0;do g=mb[f[a>>2]&127](m,k,0,0,0)|0;while((f[c>>2]|0)!=0)}i=h+60|0;a=f[i>>2]|0;c=a|1;if(f[(f[l>>2]|0)+4>>2]|0){f[i>>2]=c;a=c}f[i>>2]=a|78;if(!g)if(!(a&1)){e:while(1){g=kb[e&127](39304,h,d)|0;switch(g|0){case 101:{g=0;i=h;c=h;break a}case 0:break;default:break e}g=Ax(h)|0;if(g|0)break;if(f[i>>2]&1|0){g=0;break}}i=h;c=h}else{g=0;i=h;c=h}else{i=h;c=h}}else{g=7;s=117}}else{h=0;s=117}while(0);if((s|0)==117)if(!h){s=g;t=u;return s|0}else{i=h;c=h}h=f[i>>2]|0;Ey(c);h=(f[h+24>>2]|0)+44|0;while(1){a=f[h>>2]|0;if((a|0)==(c|0))break;else h=a+4|0}f[h>>2]=f[i+4>>2];if(!(f[9328]|0)){ob[f[37360>>2]&127](i);s=g;t=u;return s|0}else{s=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);s=g;t=u;return s|0}return 0}function sy(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=a+100|0;e=f[j>>2]|0;a:do if(e){g=f[a+96>>2]|0;h=e;while(1){if((f[h>>2]|0)==(g|0))break;e=f[h+12>>2]|0;if(!e){i=7;break a}else h=e}e=h+8|0;g=f[e>>2]|0;if(!g)g=h;else{ob[g&127](f[h+4>>2]|0);g=h}}else i=7;while(0);b:do if((i|0)==7){do if(!(Mc()|0)){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](16)|0;if(!e)break}else{e=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){i=f[18187]|0;h=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&h>>>0<=i>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e)break;g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}g=e+4|0;i=g;b[i>>0]=0;b[i+1>>0]=0;b[i+2>>0]=0;b[i+3>>0]=0;g=g+4|0;b[g>>0]=0;b[g+1>>0]=0;b[g+2>>0]=0;b[g+3>>0]=0;f[e>>2]=f[a+96>>2];f[e+12>>2]=f[j>>2];f[j>>2]=e;g=e;e=e+8|0;break b}while(0);if(!d){d=7;return d|0}ob[d&127](c);d=7;return d|0}while(0);f[e>>2]=d;f[g+4>>2]=c;d=0;return d|0}function ty(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+100>>2]|0;if(!c){b=0;return b|0}a=f[a+96>>2]|0;while(1){if((f[c>>2]|0)==(a|0))break;c=f[c+12>>2]|0;if(!c){c=0;d=7;break}}if((d|0)==7)return c|0;a=c+4|0;d=f[a>>2]|0;if(!b){b=d;return b|0}f[a>>2]=0;f[c+8>>2]=0;b=d;return b|0}function uy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;h=t;t=t+16|0;g=h;b=yy(a,b,c,g)|0;if(b|0){t=h;return b|0}f[c+4>>2]=(f[c>>2]|0)+(f[g>>2]|0);f[d>>2]=0;f[e>>2]=0;vy(a,c,d,e);t=h;return b|0}function vy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0;l=t;t=t+16|0;k=l;e=f[b>>2]|0;if(e>>>0>=(f[b+4>>2]|0)>>>0){f[c>>2]=-1;b=-1;f[d>>2]=b;t=l;return}a=h[e>>0]|0;do if(a&128){g=h[e+1>>0]|0;if(!(g&128)){a=a<<7&16256|g;g=2;break}i=h[e+2>>0]|0;if(!(i&128)){a=(a<<14|i)&2080895|g<<7&16256;g=3;break}else{g=yv(e,k)|0;a=f[k>>2]|0;g=g&255;e=f[b>>2]|0;break}}else g=1;while(0);j=e+g|0;f[b>>2]=j;if((a|0)==1){g=h[j>>0]|0;do if(g&128){a=h[j+1>>0]|0;if(!(a&128)){i=2;g=g<<7&16256|a;a=j;break}e=h[j+2>>0]|0;if(!(e&128)){i=3;g=(g<<14|e)&2080895|a<<7&16256;a=j;break}else{i=yv(j,k)|0;i=i&255;g=f[k>>2]|0;a=f[b>>2]|0;break}}else{i=1;a=j}while(0);e=a+i|0;f[b>>2]=e;f[c>>2]=g;f[d>>2]=0;a=h[e>>0]|0;do if(a&128){g=h[e+1>>0]|0;if(!(g&128)){j=2;a=a<<7&16256|g;break}i=h[e+2>>0]|0;if(!(i&128)){j=3;a=(a<<14|i)&2080895|g<<7&16256;break}else{j=yv(e,k)|0;j=j&255;a=f[k>>2]|0;e=f[b>>2]|0;break}}else j=1;while(0);f[b>>2]=e+j}b=a+-2+(f[d>>2]|0)|0;f[d>>2]=b;t=l;return}function wy(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;m=n;i=n+8|0;if((f[(f[(f[a>>2]|0)+12>>2]|0)+48>>2]|0)==2){i=f[a+56>>2]|0;do if(!i){i=f[a+52>>2]|0;c=f[(f[i+20>>2]|0)+(c<<2)>>2]|0;g=f[c>>2]|0;if(((f[g+4>>2]|0)==0?(k=g+16|0,j=f[k>>2]|0,k=f[k+4>>2]|0,i=(f[i+8>>2]|0)+16|0,(j|0)==(f[i>>2]|0)?(k|0)==(f[i+4>>2]|0):0):0)?(f[c+8>>2]|0)>0:0){g=f[c+32>>2]|0;if(!g){g=c+28|0;i=f[(f[g>>2]|0)+8>>2]|0;f[d>>2]=i;g=f[(f[g>>2]|0)+12>>2]|0;f[m>>2]=g;l=14;break}g=jx(c+20|0,j,k,g+16|0,d,m)|0;if(g|0)break;i=f[d>>2]|0;g=f[m>>2]|0;l=14;break}f[d>>2]=0;f[m>>2]=0;i=0;g=0;l=14}else{if(!c)g=0;else g=f[i+24+(c+-1<<2)>>2]|0;l=(f[i+24+(c<<2)>>2]|0)-g|0;f[m>>2]=l;i=(f[i+16>>2]|0)+g|0;f[d>>2]=i;g=l;l=14}while(0);if((l|0)==14){f[d+4>>2]=i+g;f[e>>2]=0;xy(a,d,e);g=0}d=g;t=n;return d|0}else{a=yy(a,c,d,i)|0;do if(!a){g=f[d>>2]|0;l=f[i>>2]|0;f[d+4>>2]=g+l;if((l|0)<1){f[e>>2]=-1;break}if((b[g>>0]|0)!=1){f[e>>2]=0;break}c=g+1|0;j=h[c>>0]|0;do if(j&128){k=h[g+2>>0]|0;if(!(k&128)){f[e>>2]=j<<7&16256|k;i=3;break}i=h[g+3>>0]|0;if(!(i&128)){f[e>>2]=(j<<14|i)&2080895|k<<7&16256;i=4;break}else{i=yv(c,m)|0;f[e>>2]=f[m>>2];i=(i&255)+1|0;g=f[d>>2]|0;break}}else{f[e>>2]=j;i=2}while(0);f[d>>2]=g+i}while(0);d=a;t=n;return d|0}return 0}function xy(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0;l=t;t=t+16|0;k=l;e=f[c>>2]|0;j=c+4|0;g=f[j>>2]|0;i=e>>>0>>0;if((f[(f[(f[a>>2]|0)+12>>2]|0)+48>>2]|0)==2){if(!i){f[d>>2]=-1;t=l;return}a=h[e>>0]|0;do if(a&128){g=h[e+1>>0]|0;if(!(g&128)){j=2;a=a<<7&16256|g;break}i=h[e+2>>0]|0;if(!(i&128)){j=3;a=(a<<14|i)&2080895|g<<7&16256;break}else{j=yv(e,k)|0;j=j&255;a=f[k>>2]|0;e=f[c>>2]|0;break}}else j=1;while(0);f[c>>2]=e+j;f[d>>2]=a+-2+(f[d>>2]|0);t=l;return}a:do if(i){while(1){a=b[e>>0]|0;if(a<<24>>24==1)break;if(a<<24>>24<=-1)if((b[e+1>>0]|0)<=-1)if((b[e+2>>0]|0)>-1)a=3;else{a=(yv(e,k)|0)&255;e=f[c>>2]|0;g=f[j>>2]|0}else a=2;else a=1;e=e+a|0;f[c>>2]=e;if(e>>>0>=g>>>0)break a}a=e+1|0;g=h[a>>0]|0;do if(g&128){i=h[e+2>>0]|0;if(!(i&128)){f[d>>2]=g<<7&16256|i;a=3;break}j=h[e+3>>0]|0;if(!(j&128)){f[d>>2]=(g<<14|j)&2080895|i<<7&16256;a=4;break}else{a=yv(a,k)|0;f[d>>2]=f[k>>2];a=(a&255)+1|0;e=f[c>>2]|0;break}}else{f[d>>2]=g;a=2}while(0);f[c>>2]=e+a;t=l;return}while(0);f[d>>2]=-1;t=l;return}function yy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=t;t=t+32|0;w=E;x=E+20|0;y=E+16|0;D=f[(f[a>>2]|0)+12>>2]|0;B=a+56|0;g=f[B>>2]|0;h=(g|0)==0;C=a+60|0;if(!(f[C>>2]&64))i=0;else{if(f[D+48>>2]|0){A=a+52|0;g=f[A>>2]|0;e=g+16|0;u=Fd(f[e>>2]<<4)|0;v=(u|0)==0;do if(!v){_A(u|0,0,f[e>>2]<<4|0)|0;j=f[e>>2]|0;a:do if((j|0)>0){k=f[g+20>>2]|0;i=g+8|0;if(!h){e=0;while(1){f[(f[k+(e<<2)>>2]|0)+8>>2]=0;e=e+1|0;if((e|0)==(j|0))break a}}e=0;do{h=f[k+(e<<2)>>2]|0;g=f[h>>2]|0;h=h+8|0;if(((f[h>>2]|0)!=0?(r=g+16|0,s=(f[i>>2]|0)+16|0,(f[r>>2]|0)==(f[s>>2]|0)?(f[r+4>>2]|0)==(f[s+4>>2]|0):0):0)?(f[g+4>>2]|0)==0:0)f[h>>2]=0;else f[u+(e<<4)+12>>2]=1;e=e+1|0}while((e|0)!=(j|0))}while(0);e=v?7:0;s=D+12|0;if((f[s>>2]|0)>0&(v^1)){o=w+4|0;p=w+8|0;q=D+60|0;r=D+56|0;n=0;do{e=py(a,n,y,x)|0;if(!e){e=f[A>>2]|0;k=f[y>>2]|0;l=f[x>>2]|0;f[w>>2]=e;f[o>>2]=u;i=KA(0,n|0,-1,-1)|0;j=ba()|0;m=p;f[m>>2]=i;f[m+4>>2]=j;m=f[e+16>>2]|0;if((m|0)>0){j=f[e+20>>2]|0;i=0;do{g=f[(f[(f[f[j+(i<<2)>>2]>>2]|0)+24>>2]|0)+4>>2]|0;b:do if(g){h=f[g>>2]|0;if((h|0)>0){e=0;while(1){if((f[g+4+(e<<2)>>2]|0)==(n|0)){z=25;break b}e=e+1|0;if((e|0)>=(h|0)){e=0;break}}}else e=0}else z=25;while(0);if((z|0)==25){z=0;e=(f[u+(i<<4)+12>>2]|0)==0&1}f[u+(i<<4)+8>>2]=e;i=i+1|0}while((i|0)!=(m|0))}if(!k)e=0;else e=nb[f[(f[q>>2]|0)+8>>2]&127](f[r>>2]|0,w,4,k,l,94)|0}n=n+1|0}while((e|0)==0?(n|0)<(f[s>>2]|0):0)}if(!v)if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{z=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}}else e=7;while(0);g=f[B>>2]|0;if(!g)g=0;else{g=g+8|0;Ay(f[(f[A>>2]|0)+8>>2]|0,f[g>>2]|0,f[g+4>>2]|0)|0;g=f[B>>2]|0}}else e=0;f[C>>2]=f[C>>2]&-65;i=e}if(g|0?(f[D+48>>2]|0)==0:0){if(!b)e=0;else e=f[g+24+(b+-1<<2)>>2]|0;f[d>>2]=(f[g+24+(b<<2)>>2]|0)-e;f[c>>2]=(f[g+16>>2]|0)+e;t=E;return i|0}h=f[a+52>>2]|0;e=f[(f[h+20>>2]|0)+(b<<2)>>2]|0;g=f[e>>2]|0;if((f[g+4>>2]|0)==0?(D=g+16|0,b=(f[h+8>>2]|0)+16|0,(f[D>>2]|0)==(f[b>>2]|0)?(f[D+4>>2]|0)==(f[b+4>>2]|0):0):0){f[c>>2]=f[e+4>>2];e=f[e+8>>2]|0}else{f[c>>2]=0;e=0}f[d>>2]=e;t=E;return i|0}function zy(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=f[a>>2]|0;s=(e|0)<32768?e:32768;if(!(c&1)){r=a+8|0;p=r;p=KA(f[p>>2]|0,f[p+4>>2]|0,1,0)|0;q=ba()|0;f[r>>2]=p;f[r+4>>2]=q}q=h+16|0;g=f[q>>2]|0;if((g|0)<=0){t=0;return t|0}r=a+4|0;p=h+20|0;o=a+8|0;n=0;a:while(1){i=f[r>>2]|0;b:do if(f[i+(n<<4)+8>>2]|0){a=f[(f[p>>2]|0)+(n<<2)>>2]|0;h=a+20|0;while(1){e=f[h+4>>2]|0;c=wz(e)|0;if((c|0)!=(s|0)){if((c|0)<(s|0)?b[h>>0]|0:0)t=10}else t=10;if((t|0)==10?(t=0,(Hz(e,d,c)|0)==0):0)break;h=f[h+12>>2]|0;if(!h)break b}j=a+4|0;l=o;k=f[l>>2]|0;l=f[l+4>>2]|0;m=a+8|0;e=(f[m>>2]|0)+15|0;c=a+12|0;g=f[c>>2]|0;if(e>>>0>g>>>0){h=(g|0)==0?64:g;while(1)if(h>>>0>>0)h=h<<1;else break;g=f[j>>2]|0;if(Mc()|0){g=7;t=33;break a}g=Nc(g,(h|0)>0?h:0,0)|0;if(!g){g=7;t=33;break a}f[c>>2]=h;f[j>>2]=g}i=i+(n<<4)|0;a=l&2147483647;h=i;g=f[h+4>>2]|0;if(0==0&(a|0)==(g&2147483647|0)){e=j;c=f[m>>2]|0;h=f[h>>2]|0}else{h=f[j>>2]|0;g=f[m>>2]|0;f[m>>2]=g+1;b[h+g>>0]=1;g=(f[j>>2]|0)+(f[m>>2]|0)|0;h=UA(k|0,l|0,32)|0;e=ba()|0;do if(!(e>>>0<0|(e|0)==0&h>>>0<128))if(e>>>0<0|(e|0)==0&h>>>0<16384){c=VA(h|0,e|0,7)|0;ba()|0;b[g>>0]=c&255|-128;b[g+1>>0]=h&127;g=2;break}else{g=Zv(g,h,e)|0;break}else{b[g>>0]=h&127;g=1}while(0);c=(f[m>>2]|0)+g|0;f[m>>2]=c;e=i;f[e>>2]=0;f[e+4>>2]=a;e=j;h=0;g=a}e=(f[e>>2]|0)+c|0;j=KA(k|0,l|0,2,0)|0;g=LA(j|0,ba()|0,h|0,g|0)|0;h=ba()|0;do if(!(h>>>0<0|(h|0)==0&g>>>0<128))if(h>>>0<0|(h|0)==0&g>>>0<16384){j=VA(g|0,h|0,7)|0;ba()|0;b[e>>0]=j&255|-128;b[e+1>>0]=g&127;g=2;break}else{g=Zv(e,g,h)|0;break}else{b[e>>0]=g&127;g=1}while(0);f[m>>2]=(f[m>>2]|0)+g;g=i;f[g>>2]=k;f[g+4>>2]=l;g=f[q>>2]|0}while(0);n=n+1|0;if((n|0)>=(g|0)){g=0;t=33;break}}if((t|0)==33)return g|0;return 0}function Ay(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+16|0;f[e>>2]=b;f[e+4>>2]=c;f[a+4>>2]=0;switch(f[a>>2]|0){case 9:case 4:{c=(f[(f[(f[a+24>>2]|0)+12>>2]|0)+8>>2]|0)>0&1;return c|0}case 2:{e=a+28|0;if((f[e>>2]|0)<=0){c=1;return c|0}d=0;while(1){if(!(Ay(f[a+32+(d<<2)>>2]|0,b,c)|0))break;d=d+1|0;if((d|0)>=(f[e>>2]|0)){d=1;g=14;break}}if((g|0)==14)return d|0;By(a);c=0;return c|0}case 1:{g=a+28|0;if((f[g>>2]|0)<=0){c=0;return c|0}e=0;d=0;do{h=(Ay(f[a+32+(e<<2)>>2]|0,b,c)|0)==0;d=h?d:1;e=e+1|0}while((e|0)<(f[g>>2]|0));return d|0}default:{if(Ay(f[a+32>>2]|0,b,c)|0?(Ay(f[a+36>>2]|0,b,c)|0)==0:0){h=1;return h|0}By(a);h=0;return h|0}}return 0}function By(a){a=a|0;var b=0,c=0;switch(f[a>>2]|0){case 9:case 4:{f[(f[(f[a+24>>2]|0)+12>>2]|0)+8>>2]=0;return}default:{}}c=a+28|0;if((f[c>>2]|0)<=0)return;b=0;do{By(f[a+32+(b<<2)>>2]|0);b=b+1|0}while((b|0)<(f[c>>2]|0));return}function Cy(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=t;t=t+16|0;d=l;c=f[(f[a+24>>2]|0)+44>>2]|0;a:do if(c|0){while(1){if((f[c>>2]|0)==(a|0)){c=0;break}c=f[c+4>>2]|0;if(!c)break a}t=l;return c|0}while(0);h=f[(f[a+20>>2]|0)+4>>2]|0;i=h+36|0;c=f[i>>2]|0;b:do if(!c){e=h+68|0;c=f[e>>2]|0;if(!c){f[d>>2]=f[(f[h>>2]|0)+4>>2];a=wd(67742,d)|0;c=f[i>>2]|0;d=(a|0)==0;do if(!c)if(d){f[i>>2]=7;c=7;d=0;a=0;break b}else{g=Ki(f[f[h>>2]>>2]|0,a,-1,129,0,e,0)|0;f[i>>2]=g;break}else if(d){d=0;a=0;break b}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](a);else{g=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a)}c=f[i>>2]|0;if(c|0){d=0;a=0;break}c=f[e>>2]|0}if((Ei(c)|0)==100){d=Jp(f[e>>2]|0,0)|0;a=ba()|0}else{d=0;a=0}c=f[e>>2]|0;do if(c){e=f[c>>2]|0;g=c+128|0;m=f[g+4>>2]|0;if((m|0)>0|(m|0)==0&(f[g>>2]|0)>>>0>0)Hi(e,c);g=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;m=c+64|0;f[m>>2]=0;f[m+4>>2]=0;if((g|0)==3082|(b[e+81>>0]|0)!=0){Di(e);c=7;break}else{c=f[e+68>>2]&g;break}}else c=0;while(0);f[i>>2]=c}else{d=0;a=0}while(0);m=h+72|0;if(!((d|0)==(f[m>>2]|0)?(a|0)==(f[m+4>>2]|0):0)?(j=h+80|0,k=f[j>>2]|0,(k|0)!=0):0){m=f[k>>2]|0;f[k>>2]=m+-1;do if((m|0)<2){d=k+20|0;if((f[d>>2]|0)>0){c=0;do{a=f[k+24+(c*12|0)+8>>2]|0;do if(a|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{m=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}while(0);c=c+1|0}while((c|0)<(f[d>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{m=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);f[j>>2]=0;c=f[i>>2]|0}f[i>>2]=0;m=c;t=l;return m|0}function Dy(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=c+4|0;f[s>>2]=0;t=c+8|0;f[t>>2]=0;e=f[c>>2]|0;switch(e|0){case 9:case 4:{q=f[c+24>>2]|0;r=q+8|0;d=f[r>>2]|0;a:do if((d|0)>0){o=a+12|0;p=q+4|0;n=0;b:while(1){l=f[q+12+(n<<2)>>2]|0;m=l+16|0;e=f[m>>2]|0;if(!e){e=5;break}if((e|0)>0){i=0;do{j=l+20+(i<<4)|0;g=0;h=j;do{k=h+8|0;d=f[k>>2]|0;if(d|0){e=f[d+24>>2]|0;Tv(d);d=e+40|0;e=f[d>>2]|0;do if(e|0){f[d>>2]=0;d=f[e+20>>2]|0;Fi(f[e+16>>2]|0)|0;if(d|0){if(f[d+480>>2]|0){Kc(d,e);break}u=e;if((f[d+304>>2]|0)>>>0<=u>>>0?(f[d+308>>2]|0)>>>0>u>>>0:0){u=d+300|0;f[e>>2]=f[u>>2];f[u>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[k>>2]=0}e=f[a>>2]|0;u=f[h+4>>2]|0;d=wz(u)|0;d=Gv(e,u,d,((f[o>>2]|0)==0?0:2)|(b[j>>0]|0)!=0,f[p>>2]|0,k)|0;if(d|0){e=62;break b}g=(b[(f[k>>2]|0)+16>>0]|0)==0?1:g;h=f[h+12>>2]|0}while((h|0)!=0);i=i+1|0;if(!g){e=25;break b}}while((i|0)<(f[m>>2]|0));d=f[r>>2]|0}n=n+1|0;if((n|0)>=(d|0))break a}if((e|0)==5){f[s>>2]=1;u=0;return u|0}else if((e|0)==25){f[s>>2]=1;u=0;return u|0}else if((e|0)==62)return d|0}while(0);f[s>>2]=0;break}default:{if(!(f[c+12>>2]|0)){f[s>>2]=1;u=0;return u|0}i=c+28|0;d=f[i>>2]|0;if((d|0)>0){g=0;d=0;do{h=f[c+32+(d<<2)>>2]|0;e=Dy(a,h)|0;g=(f[h+4>>2]|0)+g|0;d=d+1|0;h=f[i>>2]|0}while((e|0)==0&(d|0)<(h|0));i=e;e=f[c>>2]|0}else{i=0;g=0;h=d}d=f[c+32>>2]|0;q=d+16|0;r=f[q+4>>2]|0;u=c+16|0;f[u>>2]=f[q>>2];f[u+4>>2]=r;switch(e|0){case 2:{if((g|0)>0)nx(c);break}case 1:{if((h|0)==(g|0))nx(c);break}default:f[s>>2]=f[d+4>>2]}if(i|0){u=i;return u|0}if(f[s>>2]|0){u=0;return u|0}}}switch(f[c>>2]|0){case 9:{u=ix(a,c)|0;return u|0}case 4:{u=f[(f[a+4>>2]|0)+48>>2]|0;d=f[(f[c+24>>2]|0)+12>>2]|0;e=f[d+28>>2]|0;g=f[e+12>>2]|0;f[d+8>>2]=g;if(!u)f[d+4>>2]=f[e+8>>2];a=e;s=f[a+4>>2]|0;u=c+16|0;f[u>>2]=f[a>>2];f[u+4>>2]=s;f[t>>2]=(g|0)==0&1;u=0;return u|0}case 2:{u=mx(a,c)|0;return u|0}case 1:{d=f[c+32>>2]|0;m=f[c+28>>2]|0;if((m|0)>1){l=a+12|0;k=1;do{j=f[c+32+(k<<2)>>2]|0;do if(!(f[j+4>>2]|0)){if(!(f[d+4>>2]|0)){g=d+16|0;e=f[g>>2]|0;g=f[g+4>>2]|0;i=j+16|0;h=f[i>>2]|0;i=f[i+4>>2]|0;if(!(f[l>>2]|0))if((g|0)<(i|0)|(g|0)==(i|0)&e>>>0>>0)break;else e=(g|0)>(i|0)|(g|0)==(i|0)&e>>>0>h>>>0;else if((g|0)>(i|0)|(g|0)==(i|0)&e>>>0>h>>>0)break;else e=(g|0)<(i|0)|(g|0)==(i|0)&e>>>0>>0;if(!e?f[j+8>>2]|0:0)break}d=j}while(0);k=k+1|0}while((k|0)!=(m|0))}r=d+16|0;a=f[r+4>>2]|0;u=c+16|0;f[u>>2]=f[r>>2];f[u+4>>2]=a;f[s>>2]=f[d+4>>2];f[t>>2]=f[d+8>>2];u=0;return u|0}default:{u=kx(a,c)|0;return u|0}}return 0}function Ey(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;d=f[a>>2]|0;c=f[a+104>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{g=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[a+116>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{g=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);e=f[a+48>>2]|0;do if(e|0){if((f[a+24>>2]|0)==5)c=(f[a+28>>2]|0)!=0&1;else c=2;c=(f[d+20>>2]|0)+28+(c<<2)|0;if(f[c>>2]|0){Fi(e)|0;break}d=f[e>>2]|0;g=e+128|0;i=f[g+4>>2]|0;if((i|0)>0|(i|0)==0&(f[g>>2]|0)>>>0>0)Hi(d,e);i=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;g=e+64|0;f[g>>2]=0;f[g+4>>2]=0;if((i|0)==3082|(b[d+81>>0]|0)!=0)Di(d);f[c>>2]=e}while(0);c=f[a+56>>2]|0;do if(c|0){Fi(f[c>>2]|0)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);g=a+24|0;do if((f[g>>2]|0)!=2?(h=f[a+52>>2]|0,h|0):0){Sw(f[h+8>>2]|0);c=f[h+20>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{i=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}}while(0);c=f[a+100>>2]|0;if(c|0)do{d=c;c=f[c+12>>2]|0;e=f[d+8>>2]|0;if(e|0)ob[e&127](f[d+4>>2]|0);if(!(f[9328]|0))ob[f[37360>>2]&127](d);else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d)}}while((c|0)!=0);Fi(f[a+92>>2]|0)|0;c=f[a+88>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);if(!(f[a+60>>2]&16)){c=g;d=c+96|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));return}c=f[a+72>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[a+76>>2]|0;if(!c){c=g;d=c+96|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));return}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=g;d=c+96|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));return}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=g;d=c+96|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));return}}function Fy(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=t;t=t+16|0;o=r;i=r+8|0;p=f[(f[a>>2]|0)+12>>2]|0;f[i>>2]=0;a=Hy(a,8,i,0)|0;if(a|0){q=a;t=r;return q|0}q=f[i>>2]|0;do if(!(Op(q,1)|0)){a=f[q+116>>2]|0;i=a+8|0;if(!(d[i>>1]&9216)){n=a;f[n>>2]=c;f[n+4>>2]=e;d[i>>1]=4;break}else{bf(a,c,e);break}}while(0);a:do if((Ei(q)|0)==100){if(!q)e=lf(37592)|0;else{a=f[q+104>>2]|0;if((a|0)!=0?(d[q+140>>1]|0)!=0:0)i=q;else{a=f[q>>2]|0;f[a+64>>2]=25;Bg(a,25);a=37592;i=q}e=lf(a)|0;a=f[i>>2]|0;c=q+40|0;i=f[c>>2]|0;if((i|0)==3082|(b[a+81>>0]|0)!=0){Di(a);a=7}else a=f[a+68>>2]&i;f[c>>2]=a}n=Gp(q,0)|0;if((p|0)>0){m=0;a=0;do{if((a|0)>=(n|0)){c=1;break a}i=e+a|0;c=g+(m<<2)|0;j=h[i>>0]|0;do if(j&128){k=h[i+1>>0]|0;if(!(k&128)){f[c>>2]=j<<7&16256|k;i=2;break}l=h[i+2>>0]|0;if(!(l&128)){f[c>>2]=(j<<14|l)&2080895|k<<7&16256;i=3;break}else{i=yv(i,o)|0;f[c>>2]=f[o>>2];i=i&255;break}}else{f[c>>2]=j;i=1}while(0);a=i+a|0;m=m+1|0}while((m|0)<(p|0))}else a=0;c=(a|0)!=(n|0)&1}else c=1;while(0);do if(q){i=f[q>>2]|0;p=q+128|0;o=f[p+4>>2]|0;if((o|0)>0|(o|0)==0&(f[p>>2]|0)>>>0>0)Hi(i,q);a=fg(q)|0;f[q+20>>2]=770837923;f[q+36>>2]=-1;f[q+40>>2]=0;b[q+142>>0]=2;f[q+44>>2]=0;f[q+32>>2]=1;b[q+143>>0]=-1;f[q+48>>2]=0;q=q+64|0;f[q>>2]=0;f[q+4>>2]=0;if((a|0)==3082|(b[i+81>>0]|0)!=0){Di(i);a=7;break}else{a=f[i+68>>2]&a;break}}else a=0;while(0);q=(c|0)!=0&(a|0)==0?267:a;t=r;return q|0}function Gy(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(b&1|0)return 0;f[a>>2]=(f[a>>2]|0)+1;return 0}function Hy(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+80|0;o=q+72|0;i=q+64|0;m=q+48|0;k=q+32|0;j=q+8|0;h=q;p=a+28+(c<<2)|0;g=f[p>>2]|0;if(!g){n=f[a>>2]|0;a:do switch(c|0){case 10:{g=f[n+36>>2]|0;f[h>>2]=f[n+52>>2];f[h+4>>2]=g;g=wd(70302,h)|0;l=16;break}case 1:case 0:{g=f[35360+(c<<2)>>2]|0;m=f[n+36>>2]|0;l=f[n+40>>2]|0;f[j>>2]=f[n+52>>2];f[j+4>>2]=m;f[j+8>>2]=l;f[j+12>>2]=l;f[j+16>>2]=l;g=wd(g,j)|0;l=16;break}case 2:{l=f[n+36>>2]|0;g=f[n+40>>2]|0;f[k>>2]=f[n+52>>2];f[k+4>>2]=l;f[k+8>>2]=g;g=wd(70325,k)|0;l=16;break}case 4:case 3:{h=f[n+12>>2]|0;i=h<<1;j=Fd(i+2|1)|0;if(j){if((h|0)<0)a=-1;else{g=0;a=0;while(1){b[j+a>>0]=63;b[j+(a|1)>>0]=44;a=g+1|0;if((g|0)==(h|0))break;else{g=a;a=a<<1}}a=i|1}b[j+a>>0]=0;a=f[35360+(c<<2)>>2]|0;c=f[n+8>>2]|0;f[m>>2]=f[n+4>>2];f[m+4>>2]=c;f[m+8>>2]=j;a=wd(a,m)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](j);g=a;l=16;break a}else{g=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);g=a;l=16;break a}}else a=7;break}default:{g=f[35360+(c<<2)>>2]|0;l=f[n+8>>2]|0;f[i>>2]=f[n+4>>2];f[i+4>>2]=l;g=wd(g,i)|0;l=16}}while(0);if((l|0)==16)if(g){a=Ki(f[n>>2]|0,g,-1,129,0,p,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](g);else{m=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g)}if((e|0)!=0&(a|0)!=0){n=Mj(f[n>>2]|0)|0;f[o>>2]=n;o=wd(40840,o)|0;f[e>>2]=o}}else a=7;g=f[p>>2]|0;f[d>>2]=g;if(!g){d=a;t=q;return d|0}else h=a}else{f[d>>2]=g;h=0}a=f[g>>2]|0;d=g+128|0;p=f[d+4>>2]|0;if((p|0)>0|(p|0)==0&(f[d>>2]|0)>>>0>0)Hi(a,g);d=fg(g)|0;f[g+20>>2]=770837923;f[g+36>>2]=-1;f[g+40>>2]=0;b[g+142>>0]=2;f[g+44>>2]=0;f[g+32>>2]=1;b[g+143>>0]=-1;f[g+48>>2]=0;p=g+64|0;f[p>>2]=0;f[p+4>>2]=0;if(!((d|0)==3082|(b[a+81>>0]|0)!=0)){d=h;t=q;return d|0}Di(a);d=h;t=q;return d|0}function Iy(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0;j=a+48|0;do if(!(f[j>>2]|0)){e=f[a>>2]|0;if((f[a+24>>2]|0)==5)g=(f[a+28>>2]|0)!=0&1;else g=2;h=f[e+20>>2]|0;c=Hy(h,g,j,(c|0)==0?0:e+8|0)|0;if(!c){f[h+28+(g<<2)>>2]=0;break}else{j=c;return j|0}}while(0);i=a+60|0;if(!(f[i>>2]&2)){j=0;return j|0}c=f[j>>2]|0;if(c|0){e=f[c>>2]|0;h=c+128|0;g=f[h+4>>2]|0;if((g|0)>0|(g|0)==0&(f[h>>2]|0)>>>0>0)Hi(e,c);h=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;g=c+64|0;f[g>>2]=0;f[g+4>>2]=0;if((h|0)==3082|(b[e+81>>0]|0)!=0)Di(e)}e=f[j>>2]|0;c=f[a+56>>2]|0;if(!c)c=(f[(f[a+52>>2]|0)+8>>2]|0)+16|0;else c=c+8|0;h=c;g=f[h>>2]|0;h=f[h+4>>2]|0;do if(!(Op(e,1)|0)){c=f[e+116>>2]|0;e=c+8|0;if(!(d[e>>1]&9216)){a=c;f[a>>2]=g;f[a+4>>2]=h;d[e>>1]=4;break}else{bf(c,g,h);break}}while(0);if((Ei(f[j>>2]|0)|0)==100){f[i>>2]=f[i>>2]&-3;j=0;return j|0}e=f[j>>2]|0;do if(e|0){g=f[e>>2]|0;j=e+128|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0)Hi(g,e);c=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;j=e+64|0;f[j>>2]=0;f[j+4>>2]=0;if((c|0)==3082|(b[g+81>>0]|0)!=0){Di(g);j=7;return j|0}else{c=f[g+68>>2]&c;if(!c)break;return c|0}}while(0);j=267;return j|0}function Jy(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=t;t=t+16|0;h=m+4|0;i=m;c=f[a+52>>2]|0;if(!c)l=0;else l=f[c+16>>2]|0;e=a+104|0;c=f[e>>2]|0;do if(!c){c=l*24|0;d=Fd(c)|0;if(d|0){_A(d|0,0,c|0)|0;f[e>>2]=d;k=d;break}f[e>>2]=0;a=(c|0)>0?7:0;t=m;return a|0}else k=c;while(0);g=(l|0)>0;if(g){e=0;do{c=yy(a,e,h,i)|0;d=(c|0)==0;if(d?(o=f[h>>2]|0,n=f[i>>2]|0,j=k+(e*24|0)+8|0,f[j>>2]=0,f[j+4>>2]=0,f[j+8>>2]=0,f[j+12>>2]=0,f[k+(e*24|0)>>2]=o,f[k+(e*24|0)+4>>2]=n,uv(o,n,j,k+(e*24|0)+16|0)|0):0)b[k+(e*24|0)+13>>0]=1;e=e+1|0}while(d&(e|0)<(l|0))}else{c=0;d=1}a:do if(d){i=a+108|0;j=a+116|0;if(g){d=0;while(1){c=-1;e=0;do{do if(!(b[k+(e*24|0)+13>>0]|0)){if((c|0)>=0?(n=k+(e*24|0)+16|0,g=f[n+4>>2]|0,o=k+(c*24|0)+16|0,h=f[o+4>>2]|0,!((g|0)<(h|0)|((g|0)==(h|0)?(f[n>>2]|0)>>>0<(f[o>>2]|0)>>>0:0))):0)break;c=e}while(0);e=e+1|0}while((e|0)!=(l|0));if((c|0)<0){c=0;break a}h=d+1|0;e=f[i>>2]|0;if((h|0)<(e|0))e=f[j>>2]|0;else{g=(e|0)==0?32:e<<1;f[i>>2]=g;e=f[j>>2]|0;g=g*12|0;if(Mc()|0){d=h;c=7;break a}e=Nc(e,(g|0)>0?g:0,0)|0;if(!e){d=h;c=7;break a}f[j>>2]=e}n=e+(d*3<<2)|0;f[n>>2]=c;o=k+(c*24|0)+16|0;e=o;g=f[e>>2]|0;f[n+4>>2]=f[e+4>>2];f[n+8>>2]=g;if(uv(f[k+(c*24|0)>>2]|0,f[k+(c*24|0)+4>>2]|0,k+(c*24|0)+8|0,o)|0)b[k+(c*24|0)+13>>0]=1;d=h}}else{d=0;c=0}}else d=0;while(0);f[a+112>>2]=d;o=a+60|0;f[o>>2]=f[o>>2]&-9;o=c;t=m;return o|0}function Ky(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+8|0;if(f[l>>2]|0){l=0;return l|0}j=f[a+4>>2]|0;g=a+16|0;k=f[a+24>>2]|0;h=f[(f[j>>2]|0)+12>>2]|0;i=g;f[i>>2]=0;f[i+4>>2]=0;_A(k|0,0,h<<3|0)|0;i=xv(j,1,0)|0;j=j+36|0;if(!(f[j>>2]|0)){d=i+4|0;if((f[d>>2]|0)!=0?(e=(yv(f[i>>2]|0,g)|0)&255,(h|0)>0?(f[d>>2]|0)>(e|0):0):0){a=e;c=0;do{a=a+((yv((f[i>>2]|0)+a|0,k+(c<<3)|0)|0)&255)|0;c=c+1|0}while((c|0)<(h|0)?(a|0)<(f[d>>2]|0):0);c=8}else c=8}else if(i|0)c=8;do if((c|0)==8)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{k=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);k=f[j>>2]|0;f[j>>2]=0;f[l>>2]=b;l=k;return l|0}function Ly(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+32|0;k=D+16|0;A=D+4|0;C=D;B=f[a>>2]|0;f[C>>2]=0;i=Ky(a,1)|0;a:do if(!i){n=f[a>>2]|0;f[k>>2]=0;b:do if(!g){i=Hy(a,2,k,0)|0;do if(!i){l=f[k>>2]|0;do if(!(Op(l,1)|0)){i=f[l+116>>2]|0;k=i+8|0;if(!(d[k>>1]&9216)){z=i;f[z>>2]=c;f[z+4>>2]=e;d[k>>1]=4;break}else{bf(i,c,e);break}}while(0);if((Ei(l)|0)==100){z=l;m=16;break b}if(!l)break b;h=f[l>>2]|0;A=l+128|0;g=f[A+4>>2]|0;if((g|0)>0|(g|0)==0&(f[A>>2]|0)>>>0>0)Hi(h,l);i=fg(l)|0;f[l+20>>2]=770837923;f[l+36>>2]=-1;f[l+40>>2]=0;b[l+142>>0]=2;f[l+44>>2]=0;f[l+32>>2]=1;b[l+143>>0]=-1;f[l+48>>2]=0;A=l+64|0;f[A>>2]=0;f[A+4>>2]=0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Di(h);h=7;break}else{h=f[h+68>>2]&i;m=59;break b}}else h=i;while(0);break a}else{z=0;m=16}while(0);if((m|0)==16){f[A>>2]=a;f[A+4>>2]=-1;k=Oy(f[a+4>>2]|0,1,c,e)|0;y=n+12|0;c:do if(!k){r=n+20|0;s=(z|0)==0;u=A+8|0;v=z+104|0;w=a+24|0;x=n+60|0;o=n+56|0;p=z+140|0;q=z+40|0;n=1;while(1){if((n|0)>(f[y>>2]|0)){k=0;l=1;break c}m=n+-1|0;if(!(b[(f[r>>2]|0)+m>>0]|0)){do if(s){h=g+(m<<2)|0;k=f[h>>2]|0;i=d[k+8>>1]|0;if((i&514)==514?(b[k+10>>0]|0)==1:0){h=f[k+16>>2]|0;l=k}else if(!(i&1)){i=Ic(k,1)|0;l=f[h>>2]|0;h=i;i=d[l+8>>1]|0}else{h=0;l=k}if(i&2?(b[l+10>>0]|0)==1:0){i=f[l+12>>2]|0;break}k=i&65535;if(!(k&16)){if(k&1|0){i=0;break}i=_e(l,1)|0;break}else{i=f[l+12>>2]|0;if(!(k&16384))break;i=(f[l>>2]|0)+i|0;break}}else{h=f[v>>2]|0;if((h|0)!=0?n>>>0<(j[p>>1]|0)>>>0:0)h=h+(n*40|0)|0;else{h=f[z>>2]|0;f[h+64>>2]=25;Bg(h,25);h=37592}i=d[h+8>>1]|0;if((i&514)==514?(b[h+10>>0]|0)==1:0)k=f[h+16>>2]|0;else if(!(i&1))k=Ic(h,1)|0;else k=0;h=f[z>>2]|0;i=f[q>>2]|0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Di(h);h=7}else h=f[h+68>>2]&i;f[q>>2]=h;i=Gp(z,n)|0;h=k}while(0);f[u>>2]=0;if(!h){k=0;h=0}else{k=nb[f[(f[x>>2]|0)+8>>2]&127](f[o>>2]|0,A,4,h,i,91)|0;h=f[u>>2]|0}m=(f[w>>2]|0)+(m<<3)|0;i=m;i=LA(f[i>>2]|0,f[i+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;l=ba()|0;f[m>>2]=i;f[m+4>>2]=l}else k=0;if(!k)n=n+1|0;else{l=0;break}}}else l=0;while(0);A=a+16|0;y=A;y=KA(f[y>>2]|0,f[y+4>>2]|0,-1,-1)|0;g=ba()|0;f[A>>2]=y;f[A+4>>2]=g;do if(z){h=f[z>>2]|0;A=z+128|0;g=f[A+4>>2]|0;if((g|0)>0|(g|0)==0&(f[A>>2]|0)>>>0>0)Hi(h,z);i=fg(z)|0;f[z+20>>2]=770837923;f[z+36>>2]=-1;f[z+40>>2]=0;b[z+142>>0]=2;f[z+44>>2]=0;f[z+32>>2]=1;b[z+143>>0]=-1;f[z+48>>2]=0;A=z+64|0;f[A>>2]=0;f[A+4>>2]=0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Di(h);h=7;break}else{h=f[h+68>>2]&i;break}}else h=0;while(0);h=l?h:k;m=59}if((m|0)==59?h|0:0)break;if(f[B+44>>2]|0){h=Hy(a,7,C,0)|0;if(!h){k=f[C>>2]|0;if(Op(k,1)|0){Ei(k)|0;if(!k){h=0;break}}else{h=f[k+116>>2]|0;i=h+8|0;if(!(d[i>>1]&9216)){A=h;f[A>>2]=c;f[A+4>>2]=e;d[i>>1]=4}else bf(h,c,e);Ei(k)|0}h=f[k>>2]|0;A=k+128|0;g=f[A+4>>2]|0;if((g|0)>0|(g|0)==0&(f[A>>2]|0)>>>0>0)Hi(h,k);i=fg(k)|0;f[k+20>>2]=770837923;f[k+36>>2]=-1;f[k+40>>2]=0;b[k+142>>0]=2;f[k+44>>2]=0;f[k+32>>2]=1;b[k+143>>0]=-1;f[k+48>>2]=0;A=k+64|0;f[A>>2]=0;f[A+4>>2]=0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Di(h);h=7;break}else{h=f[h+68>>2]&i;break}}}else h=0}else h=i;while(0);if(f[B+32>>2]|h|0){e=h;t=D;return e|0}h=Hy(a,5,C,0)|0;if(h|0){e=h;t=D;return e|0}k=f[C>>2]|0;if(Op(k,1)|0){Ei(k)|0;if(!k){e=0;t=D;return e|0}}else{h=f[k+116>>2]|0;i=h+8|0;if(!(d[i>>1]&9216)){C=h;f[C>>2]=c;f[C+4>>2]=e;d[i>>1]=4}else bf(h,c,e);Ei(k)|0}h=f[k>>2]|0;e=k+128|0;c=f[e+4>>2]|0;if((c|0)>0|(c|0)==0&(f[e>>2]|0)>>>0>0)Hi(h,k);i=fg(k)|0;f[k+20>>2]=770837923;f[k+36>>2]=-1;f[k+40>>2]=0;b[k+142>>0]=2;f[k+44>>2]=0;f[k+32>>2]=1;b[k+143>>0]=-1;f[k+48>>2]=0;e=k+64|0;f[e>>2]=0;f[e+4>>2]=0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Di(h);e=7;t=D;return e|0}else{e=f[h+68>>2]&i;t=D;return e|0}return 0}function My(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=t;t=t+112|0;k=l+88|0;h=l;f[h>>2]=d;if(Mc()|0){j=0;k=a+8|0;f[k>>2]=j;t=l;return}i=k+4|0;f[i>>2]=l+16;f[k>>2]=0;f[k+8>>2]=70;j=k+12|0;f[j>>2]=1e9;e=k+16|0;f[e>>2]=0;b[k+20>>0]=0;g=k+21|0;b[g>>0]=0;Bc(k,c,h);d=f[i>>2]|0;if((d|0?(b[d+(f[e>>2]|0)>>0]=0,f[j>>2]|0):0)?(b[g>>0]&4)==0:0){j=Cc(k)|0;k=a+8|0;f[k>>2]=j;t=l;return}j=f[i>>2]|0;k=a+8|0;f[k>>2]=j;t=l;return}function Ny(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;i=t;t=t+32|0;h=i+16|0;g=i;b=f[a>>2]|0;j=f[b>>2]|0;d=b+4|0;l=f[d>>2]|0;e=b+8|0;k=f[e>>2]|0;f[g>>2]=l;f[g+4>>2]=k;f[g+8>>2]=l;f[g+12>>2]=k;g=dy(j,0,71008,g)|0;if(g|0){l=g;t=i;return l|0}if(f[b+44>>2]|0?(c=f[b>>2]|0,l=f[e>>2]|0,f[h>>2]=f[d>>2],f[h+4>>2]=l,c=dy(c,0,71058,h)|0,c|0):0){l=c;t=i;return l|0}b=Zy(f[a+4>>2]|0)|0;if(b|0){l=b;t=i;return l|0}l=Vy(a,67797,0,4)|0;t=i;return l|0}function Oy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+12|0;if(!(f[l>>2]|0)){j=f[a>>2]|0;k=a+16|0;a:do if(!(Mc()|0)){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](24)|0;f[l>>2]=e;if(!e){e=7;break}else i=e}else{e=ib[f[37372>>2]&255](24)|0;if((f[18194]|0)>>>0<24)f[18194]=24;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){i=f[18187]|0;h=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&h>>>0<=i>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(!g){m=13;break}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e;f[l>>2]=g;i=g}h=i+8|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[i+4>>2]=k;f[i>>2]=f[j+48>>2];f[i+12>>2]=1024;do if(!(Mc()|0)){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](4096)|0;f[i+20>>2]=e;if(!e)break}else{e=ib[f[37372>>2]&255](4096)|0;if((f[18194]|0)>>>0<4096)f[18194]=4096;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){k=f[18187]|0;j=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;h=ba()|0;f[17976]=((h|0)<0|(h|0)==0&j>>>0<=k>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e){m=27;break}g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g;f[i+20>>2]=e}_A(e|0,0,4096)|0;e=0;break a}else m=27;while(0);if((m|0)==27)f[i+20>>2]=0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{k=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}f[l>>2]=0;e=7}else m=13;while(0);if((m|0)==13){f[l>>2]=0;e=7}f[a+36>>2]=e}e=a+24|0;h=e;g=f[h>>2]|0;h=f[h+4>>2]|0;do if(!((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>c>>>0)){if((g|0)==(c|0)&(h|0)==(d|0)?(f[a+32>>2]|0)==0:0)break;if((f[a+16>>2]|0)<=(f[(f[a>>2]|0)+84>>2]|0)){m=e;l=m;f[l>>2]=c;c=m+4|0;f[c>>2]=d;c=a+32|0;f[c>>2]=b;c=a+36|0;d=f[c>>2]|0;f[c>>2]=0;return d|0}}while(0);Sx(a);m=e;l=m;f[l>>2]=c;c=m+4|0;f[c>>2]=d;c=a+32|0;f[c>>2]=b;c=a+36|0;d=f[c>>2]|0;f[c>>2]=0;return d|0}function Py(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=f[(f[a>>2]|0)+4>>2]|0;q=(e|0)<32768?e:32768;i=a+8|0;g=f[i>>2]|0;if(c&1){if(!g){g=1;j=4}}else{g=g+1|0;j=4}if((j|0)==4)f[i>>2]=g;p=f[a+4>>2]|0;n=g+-1|0;i=f[k>>2]|0;o=k+12|0;l=k+24|0;g=l;g=Yy(f[o>>2]|0,f[g>>2]|0,f[g+4>>2]|0,p,n,48,d,q)|0;m=i+24|0;e=f[m>>2]|0;if(!((g|0)==0&(e|0)>0)){d=g;return d|0}k=i+28|0;j=0;i=e;do{a=f[(f[k>>2]|0)+(j<<2)>>2]|0;a:do if((a|0)>0){e=0;c=0;while(1){if((e|0)>=(q|0)){g=0;break a}g=e+1|0;b:do if((h[d+e>>0]|0)>191?(b[d+g>>0]&-64)<<24>>24==-128:0)do{g=g+1|0;if((g|0)>=(q|0))break b}while((b[d+g>>0]&-64)<<24>>24==-128);while(0);c=c+1|0;if((c|0)>=(a|0))break;else e=g}if(g){i=l;g=Yy(f[o>>2]|0,f[i>>2]|0,f[i+4>>2]|0,p,n,j+49&255,d,g)|0;i=f[m>>2]|0}else g=0}else g=0;while(0);j=j+1|0}while((j|0)<(i|0)&(g|0)==0);return g|0}function Qy(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=t;t=t+16|0;h=l;if(!(f[(f[a>>2]|0)+44>>2]|0)){k=0;t=l;return k|0}f[h>>2]=0;a=Hy(a,6,h,0)|0;if(!a){i=f[h>>2]|0;do if(!(Op(i,1)|0)){a=f[i+116>>2]|0;h=a+8|0;if(!(d[h>>1]&9216)){f[a>>2]=c;f[a+4>>2]=e;d[h>>1]=4;break}else{bf(a,c,e);break}}while(0);h=f[g>>2]|0;a=f[g+4>>2]|0;if((h|0)==0|(Op(i,2)|0)!=0){Ei(i)|0;if(!i)a=0;else k=13}else{a=$e((f[i+116>>2]|0)+40|0,h,a,0,0)|0;if(a|0?(j=f[i>>2]|0,f[j+64>>2]=a,Bg(j,a),j=f[i>>2]|0,(a|0)==3082|(b[j+81>>0]|0)!=0):0)Di(j);Ei(i)|0;k=13}do if((k|0)==13){a=f[i>>2]|0;k=i+128|0;j=f[k+4>>2]|0;if((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)Hi(a,i);h=fg(i)|0;f[i+20>>2]=770837923;f[i+36>>2]=-1;f[i+40>>2]=0;b[i+142>>0]=2;f[i+44>>2]=0;f[i+32>>2]=1;b[i+143>>0]=-1;f[i+48>>2]=0;k=i+64|0;f[k>>2]=0;f[k+4>>2]=0;if((h|0)==3082|(b[a+81>>0]|0)!=0){Di(a);a=7;break}else{a=f[a+68>>2]&h;break}}while(0);Op(i,2)|0}k=a;t=l;return k|0}function Ry(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=f[b+16>>2]|0;if((m|0)<2){m=0;return m|0}h=b+20|0;e=f[h>>2]|0;a:do if((e|0)>0){g=m+-1|0;c=0;while(1){d=f[b+24+(c*12|0)+4>>2]|0;if((d|0)==(m|0))break;if((d|0)==(g|0)?(f[b+24+(c*12|0)>>2]|0)==(g|0):0)break;c=c+1|0;if((c|0)>=(e|0))break a}f[b>>2]=(f[b>>2]|0)+1;m=b;return m|0}while(0);c=(e*12|0)+52|0;d=a+36|0;if(f[d>>2]|0){m=0;return m|0}l=Fd(c)|0;if(!l){if((c|0)<=0){m=0;return m|0}f[d>>2]=7;m=0;return m|0}_A(l|0,0,c|0)|0;c=m*12|0;f[l+20>>2]=(f[h>>2]|0)+1;f[l>>2]=1;i=b+8|0;k=f[i+4>>2]|0;j=l+8|0;f[j>>2]=f[i>>2];f[j+4>>2]=k;j=l+24|0;k=f[h>>2]|0;do if(!(f[d>>2]|0)){e=Fd(c)|0;if(!e){if((c|0)<=0)break;f[d>>2]=7;break}_A(e|0,0,c|0)|0;i=j+(k*12|0)+8|0;f[i>>2]=e;c=f[h>>2]|0;if((c|0)>0){d=0;do{h=c;c=c+-1|0;g=b+24+(c*12|0)+4|0;if((f[g>>2]|0)>0){a=b+24+(c*12|0)+8|0;e=0;do{n=(f[i>>2]|0)+(d*12|0)|0;o=(f[a>>2]|0)+(e*12|0)|0;f[n>>2]=f[o>>2];f[n+4>>2]=f[o+4>>2];f[n+8>>2]=f[o+8>>2];d=d+1|0;e=e+1|0}while((e|0)<(f[g>>2]|0))}}while((h|0)>1)}f[j+(k*12|0)+4>>2]=m;f[l+16>>2]=m;o=l;return o|0}while(0);f[j+(k*12|0)+8>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);o=0;return o|0}else{o=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);o=0;return o|0}return 0}function Sy(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=f[a+24>>2]|0;t=(e|0)<32768?e:32768;i=a+12|0;g=f[i>>2]|0;if(c&1){if(!g){g=1;j=4}}else{g=g+1|0;j=4}if((j|0)==4)f[i>>2]=g;r=a+28|0;switch(f[(f[r>>2]|0)+48>>2]|0){case 0:{q=f[a+8>>2]|0;n=g+-1|0;p=q;q=((q|0)<0)<<31>>31;break}case 2:{n=f[a+8>>2]|0;p=0;q=0;break}default:{n=0;p=0;q=0}}o=(s|0)==0;a:do if(!o){if((e|0)>0){g=t;i=101;do{m=g;g=g+-1|0;l=i^b[d+g>>0];i=l<<3^l}while((m|0)>1);g=i&511}else g=101;c=s+(g<<2)|0;g=f[c>>2]|0;if(g|0)do{if(((f[g+8>>2]|0)==0?(f[g+4>>2]|0)==(t|0):0)?(Hz(f[g>>2]|0,d,t)|0)==0:0){g=1;j=0;break a}g=f[g+12>>2]|0}while((g|0)!=0);i=t+16|0;g=Fd(i)|0;if(!g){g=0;j=(i|0)>0?7:0;break}else{_A(g|0,0,i|0)|0;j=g+16|0;f[g>>2]=j;f[g+4>>2]=t;f[g+8>>2]=0;YA(j|0,d|0,t|0)|0;f[g+12>>2]=f[c>>2];f[c>>2]=g;g=0;j=0;break}}else{g=0;j=0}while(0);if(!(g|j)){i=a;i=QA(f[i>>2]|0,f[i+4>>2]|0,9,0)|0;i=KA(i|0,ba()|0,p|0,q|0)|0;g=ba()|0;m=WA(i|0,g|0,3)|0;l=ba()|0;g=KA(i|0,g|0,n|0,((n|0)<0)<<31>>31|0)|0;l=KA(g|0,ba()|0,m|0,l|0)|0;m=ba()|0;g=WA(l|0,m|0,3)|0;i=ba()|0;m=KA(l|0,m|0,48,0)|0;i=KA(m|0,ba()|0,g|0,i|0)|0;g=ba()|0;if((e|0)>0){c=0;do{m=b[d+c>>0]|0;i=QA(i|0,g|0,9,0)|0;i=KA(i|0,ba()|0,m|0,((m|0)<0)<<31>>31|0)|0;g=ba()|0;c=c+1|0}while((c|0)!=(t|0))}m=a+16|0;k=m;l=f[k+4>>2]^g;f[m>>2]=f[k>>2]^i;f[m+4>>2]=l}if(j|0){d=j;return d|0}l=((n|0)<0)<<31>>31;m=a+16|0;k=0;while(1){g=f[r>>2]|0;if((k|0)>=(f[g+24>>2]|0)){g=0;j=58;break}j=f[(f[g+28>>2]|0)+(k<<2)>>2]|0;b:do if((j|0)>0){i=0;c=0;while(1){if((i|0)>=(t|0)){g=0;break b}g=i+1|0;c:do if((h[d+i>>0]|0)>191?(b[d+g>>0]&-64)<<24>>24==-128:0)while(1){g=g+1|0;if((g|0)>=(t|0)){e=g;break c}if((b[d+g>>0]&-64)<<24>>24!=-128){e=g;break}}else e=g;while(0);c=c+1|0;if((c|0)>=(j|0))break;else i=e}if(e){j=k+1|0;do if(!o){if((e|0)>0){i=e;g=101;do{c=i;i=i+-1|0;g=g^b[d+i>>0];g=g<<3^g}while((c|0)>1)}else g=101;c=s+(((g^j)&511)<<2)|0;g=f[c>>2]|0;if(g|0)do{if(((f[g+8>>2]|0)==(j|0)?(f[g+4>>2]|0)==(e|0):0)?(Hz(f[g>>2]|0,d,e)|0)==0:0){g=0;break b}g=f[g+12>>2]|0}while((g|0)!=0);g=e+16|0;i=Fd(g)|0;if(!i){g=(g|0)>0?7:0;break}else{_A(i|0,0,g|0)|0;g=i+16|0;f[i>>2]=g;f[i+4>>2]=e;f[i+8>>2]=j;YA(g|0,d|0,e|0)|0;f[i+12>>2]=f[c>>2];f[c>>2]=i;g=0;break}}else g=0;while(0);c=a;c=QA(f[c>>2]|0,f[c+4>>2]|0,9,0)|0;c=KA(c|0,ba()|0,p|0,q|0)|0;i=ba()|0;j=WA(c|0,i|0,3)|0;u=ba()|0;i=KA(c|0,i|0,n|0,l|0)|0;u=KA(i|0,ba()|0,j|0,u|0)|0;j=ba()|0;i=WA(u|0,j|0,3)|0;c=ba()|0;j=KA(u|0,j|0,k+49|0,0)|0;c=KA(j|0,ba()|0,i|0,c|0)|0;i=ba()|0;if((e|0)>0){j=0;do{u=b[d+j>>0]|0;c=QA(c|0,i|0,9,0)|0;c=KA(c|0,ba()|0,u|0,((u|0)<0)<<31>>31|0)|0;i=ba()|0;j=j+1|0}while((j|0)!=(e|0))}j=m;e=f[j+4>>2]^i;u=m;f[u>>2]=f[j>>2]^c;f[u+4>>2]=e}else g=0}else g=0;while(0);if(!g)k=k+1|0;else{j=58;break}}if((j|0)==58)return g|0;return 0}function Ty(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=t;t=t+16|0;d=g;e=f[a+8>>2]|0;f[d>>2]=f[a+4>>2];f[d+4>>2]=e;f[d+8>>2]=b;e=wd(70976,d)|0;if(!e){e=7;t=g;return e|0}f[d>>2]=0;b=Ki(f[a>>2]|0,e,-1,128,0,d,0)|0;if(!b){b=f[d>>2]|0;if((Ei(b)|0)==100){a=Jp(b,0)|0;d=ba()|0;f[c>>2]=a;f[c+4>>2]=d}b=Fi(b)|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);e=b;t=g;return e|0}else{c=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);e=b;t=g;return e|0}return 0}function Uy(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;c=Hv(a)|0;do if(c|0?(e=f[c>>2]|0,f[c>>2]=e+-1,(e|0)<2):0){e=c+20|0;if((f[e>>2]|0)>0){b=0;do{d=f[c+24+(b*12|0)+8>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{g=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);b=b+1|0}while((b|0)<(f[e>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{g=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);e=a+36|0;g=f[e>>2]|0;f[e>>2]=0;return g|0}function Vy(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;m=n+8|0;l=n+4|0;h=n;f[h>>2]=0;i=Hy(a,9,h,0)|0;if(i|0){a=i;t=n;return a|0}j=f[h>>2]|0;Sp(j,1,c,-1,0,1)|0;if(!e){h=((g|0)<0)<<31>>31;if(!(Op(j,2)|0)){c=f[j+116>>2]|0;i=c+40|0;c=c+48|0;if(!(d[c>>1]&9216)){k=i;f[k>>2]=g;f[k+4>>2]=h;d[c>>1]=4}else bf(i,g,h);Ei(j)|0;h=j;k=10}else k=9}else{Tp(j,2,e)|0;k=9}if((k|0)==9){Ei(j)|0;if(!j){i=0;h=j}else{h=j;k=10}}do if((k|0)==10){i=f[j>>2]|0;j=h+128|0;g=f[j+4>>2]|0;if((g|0)>0|(g|0)==0&(f[j>>2]|0)>>>0>0)Hi(i,h);c=fg(h)|0;f[h+20>>2]=770837923;f[h+36>>2]=-1;f[h+40>>2]=0;b[h+142>>0]=2;f[h+44>>2]=0;f[h+32>>2]=1;b[h+143>>0]=-1;f[h+48>>2]=0;j=h+64|0;f[j>>2]=0;f[j+4>>2]=0;if((c|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&c;break}}while(0);Op(h,1)|0;if(!((e|0)!=0&(i|0)==0)){a=i;t=n;return a|0}g=(f[(f[a>>2]|0)+64>>2]|0)+1|0;h=f[a+4>>2]|0;e=f[h>>2]|0;h=f[h+4>>2]|0;j=f[e>>2]|0;e=f[e+4>>2]|0;f[l>>2]=0;b[m>>0]=g>>>24;b[m+1>>0]=g>>>16;b[m+2>>0]=g>>>8;b[m+3>>0]=g;h=Wp(j,e,h,64237,10,0,1,l)|0;if(h|0){a=h;t=n;return a|0}c=f[l>>2]|0;Zp(c,m,4,0,90)|0;if(c){h=f[c+20>>2]|0;i=Fi(f[c+16>>2]|0)|0;do if(h){if(f[h+480>>2]|0){Kc(h,c);break}m=c;if((f[h+304>>2]|0)>>>0<=m>>>0?(f[h+308>>2]|0)>>>0>m>>>0:0){m=h+300|0;f[c>>2]=f[m>>2];f[m>>2]=c}else k=26}else k=26;while(0);do if((k|0)==26)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);if(i|0){a=i;t=n;return a|0}}f[(f[a>>2]|0)+64>>2]=g;a=0;t=n;return a|0}function Wy(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=t;t=t+16|0;j=l;k=f[a>>2]|0;if(!(f[k+32>>2]|0)){f[j>>2]=0;g=Hy(a,3,j,0)|0;a:do if(!g){i=k+12|0;j=f[j>>2]|0;h=1;while(1){if((h|0)>((f[i>>2]|0)+1|0))break;g=Tp(j,h,f[c+(h<<2)>>2]|0)|0;if(!g)h=h+1|0;else break a}Ei(j)|0;if(j){g=f[j>>2]|0;a=j+128|0;c=f[a+4>>2]|0;if((c|0)>0|(c|0)==0&(f[a>>2]|0)>>>0>0)Hi(g,j);h=fg(j)|0;f[j+20>>2]=770837923;f[j+36>>2]=-1;f[j+40>>2]=0;b[j+142>>0]=2;f[j+44>>2]=0;f[j+32>>2]=1;b[j+143>>0]=-1;f[j+48>>2]=0;a=j+64|0;f[a>>2]=0;f[a+4>>2]=0;if((h|0)==3082|(b[g+81>>0]|0)!=0){Di(g);g=7;break}else{g=f[g+68>>2]&h;break}}else g=0}while(0);a=(f[k>>2]|0)+40|0;k=f[a+4>>2]|0;f[e>>2]=f[a>>2];f[e+4>>2]=k;e=g;t=l;return e|0}h=f[c+4>>2]|0;g=d[h+8>>1]|0;if(1347440720>>>(g&31)&1|0){g=g&65535;do if(!(g&4)){if(g&8|0){g=Fc(+p[h>>3])|0;h=ba()|0;break}if(!(g&18)){g=0;h=0}else{g=Gc(b[h+10>>0]|0,f[h+12>>2]|0,f[h+16>>2]|0)|0;h=ba()|0}}else{g=f[h>>2]|0;h=f[h+4>>2]|0}while(0);f[e>>2]=g;f[e+4>>2]=h;e=0;t=l;return e|0}if(!(f[k+44>>2]|0)){e=20;t=l;return e|0}f[j>>2]=0;g=Hy(a,6,j,0)|0;b:do if(!g){g=f[j>>2]|0;Op(g,1)|0;Op(g,2)|0;Ei(g)|0;do if(g|0){h=f[g>>2]|0;k=g+128|0;c=f[k+4>>2]|0;if((c|0)>0|(c|0)==0&(f[k>>2]|0)>>>0>0)Hi(h,g);i=fg(g)|0;f[g+20>>2]=770837923;f[g+36>>2]=-1;f[g+40>>2]=0;b[g+142>>0]=2;f[g+44>>2]=0;f[g+32>>2]=1;b[g+143>>0]=-1;f[g+48>>2]=0;k=g+64|0;f[k>>2]=0;f[k+4>>2]=0;if(!((i|0)==3082|(b[h+81>>0]|0)!=0)){g=f[h+68>>2]&i;if(!g)break;else break b}else{Di(h);g=7;break b}}while(0);a=(f[f[a>>2]>>2]|0)+40|0;k=f[a+4>>2]|0;g=e;f[g>>2]=f[a>>2];f[g+4>>2]=k;g=0}while(0);e=g;t=l;return e|0}function Xy(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=t;t=t+32|0;z=C+12|0;h=C;j=f[a>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[z>>2]=a;i=Ky(a,1)|0;a:do if(!i){i=Oy(f[a+4>>2]|0,0,e,g)|0;y=z+4|0;f[y>>2]=0;if(!i){q=j+12|0;r=z+8|0;s=j+20|0;u=h+4|0;v=h+8|0;w=a+24|0;x=j+60|0;p=j+56|0;j=0;k=0;while(1){if((k|0)>=(f[q>>2]|0))break;f[r>>2]=0;if(!(b[(f[s>>2]|0)+k>>0]|0)){i=c+(k+2<<2)|0;k=f[i>>2]|0;do if(k){l=d[k+8>>1]|0;if((l&514)==514?(b[k+10>>0]|0)==1:0){m=f[k+16>>2]|0;break}if(!(l&1)){m=Ic(k,1)|0;i=c+((f[y>>2]|0)+2<<2)|0}else m=0}else m=0;while(0);l=f[i>>2]|0;i=d[l+8>>1]|0;if((i&2)!=0?(b[l+10>>0]|0)==1:0)i=f[l+12>>2]|0;else B=17;do if((B|0)==17){B=0;k=i&65535;if(!(k&16)){if(k&1|0){i=0;break}i=_e(l,1)|0;break}else{i=f[l+12>>2]|0;if(!(k&16384))break;i=(f[l>>2]|0)+i|0;break}}while(0);if(!m)i=0;else i=nb[f[(f[x>>2]|0)+8>>2]&127](f[p>>2]|0,z,4,m,i,91)|0;n=f[r>>2]|0}else{i=0;n=0}o=((n|0)<0)<<31>>31;m=j+9|0;k=f[v>>2]|0;if(m>>>0>k>>>0){l=(k|0)==0?64:k;while(1)if(l>>>0>>0)l=l<<1;else break;k=f[h>>2]|0;if((Mc()|0)==0?(A=Nc(k,(l|0)>0?l:0,0)|0,(A|0)!=0):0){f[v>>2]=l;f[h>>2]=A;k=A;B=32}else i=7}else{k=f[h>>2]|0;B=32}if((B|0)==32){B=0;k=k+j|0;do if(n>>>0>=128)if(n>>>0<16384){o=VA(n|0,o|0,7)|0;ba()|0;b[k>>0]=o&255|-128;b[k+1>>0]=n&127;k=2;break}else{k=Zv(k,n,o)|0;j=f[u>>2]|0;break}else{b[k>>0]=n&127;k=1}while(0);j=j+k|0;f[u>>2]=j}m=f[r>>2]|0;k=f[y>>2]|0;o=(f[w>>2]|0)+(k<<3)|0;n=o;m=KA(f[n>>2]|0,f[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;n=ba()|0;f[o>>2]=m;f[o+4>>2]=n;k=k+1|0;f[y>>2]=k;if(i|0){B=39;break a}}i=a+16|0;z=i;z=KA(f[z>>2]|0,f[z+4>>2]|0,1,0)|0;A=ba()|0;f[i>>2]=z;f[i+4>>2]=A;i=Qy(a,e,g,h)|0}else B=4}else{f[z+4>>2]=0;B=4}while(0);if((B|0)==4)B=39;if((B|0)==39){B=a+16|0;A=B;A=KA(f[A>>2]|0,f[A+4>>2]|0,1,0)|0;a=ba()|0;f[B>>2]=A;f[B+4>>2]=a}h=f[h>>2]|0;if(!h){t=C;return i|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);t=C;return i|0}else{B=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);t=C;return i|0}return 0}function Yy(a,c,e,g,i,j,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;p=(f[a>>2]|0)==0&1;x=a+12|0;o=f[x>>2]|0;y=(l|0)>0;if(y){n=l;m=101;do{D=n;n=n+-1|0;m=m^h[k+n>>0];m=m<<3^m}while((D|0)>1)}else m=101;B=j&255;q=((m^B)>>>0)%(o>>>0)|0;D=a+20|0;w=f[D>>2]|0;m=f[w+(q<<2)>>2]|0;a:do if(!m)F=10;else{r=m;while(1){m=r+40|0;if(((b[m>>0]|0)==j<<24>>24?(f[r+20>>2]|0)==(l|0):0)?(Hz(m+1|0,k,l)|0)==0:0)break;m=f[r>>2]|0;if(!m){F=10;break a}else r=m}n=f[r+8>>2]|0;m=f[r+16>>2]|0;if((n-m|0)<22){m=n<<1;if(Mc()|0){a=7;return a|0}o=Nc(r,(m|0)>0?m:0,0)|0;if(!o){a=7;return a|0}f[o+8>>2]=m;m=(f[D>>2]|0)+(q<<2)|0;while(1){n=f[m>>2]|0;if((n|0)==(r|0))break;else m=n}f[m>>2]=o;n=o;m=f[o+16>>2]|0}else n=r;v=0-m|0;u=n}while(0);if((F|0)==10){z=l+1|0;A=l+106|0;A=(A|0)>128?A:128;C=a+8|0;if((f[C>>2]<<1|0)>=(o|0)){v=o<<1;m=o<<3;u=Fd(m)|0;if(!u){a=7;return a|0}_A(u|0,0,m|0)|0;t=f[x>>2]|0;if((t|0)<=0){if(w|0)F=22}else{r=0;do{s=w+(r<<2)|0;m=f[s>>2]|0;if(m|0)do{f[s>>2]=f[m>>2];q=m+40|0;n=wz(q)|0;if((n|0)>0){o=n;n=13;do{F=o;o=o+-1|0;n=n<<3^n^h[q+o>>0]}while((F|0)>1)}else n=13;F=u+(((n>>>0)%(v>>>0)|0)<<2)|0;f[m>>2]=f[F>>2];f[F>>2]=m;m=f[s>>2]|0}while((m|0)!=0);r=r+1|0}while((r|0)!=(t|0));F=22}do if((F|0)==22)if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{t=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}while(0);f[x>>2]=v;f[D>>2]=u;if(y){n=l;m=101;do{y=n;n=n+-1|0;m=m^h[k+n>>0];m=m<<3^m}while((y|0)>1)}else m=101;q=((m^B)>>>0)%(v>>>0)|0}r=Fd(A)|0;if(!r){a=7;return a|0}m=r;n=m+40|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[r+8>>2]=A;m=r+40|0;b[m>>0]=j;YA(r+41|0,k|0,l|0)|0;f[r+20>>2]=l;b[m+z>>0]=0;m=l+42|0;o=r+16|0;f[o>>2]=m;D=(f[D>>2]|0)+(q<<2)|0;f[r>>2]=f[D>>2];f[D>>2]=r;f[C>>2]=(f[C>>2]|0)+1;m=r+m|0;do if(!(e>>>0<0|(e|0)==0&c>>>0<128))if(e>>>0<0|(e|0)==0&c>>>0<16384){D=VA(c|0,e|0,7)|0;ba()|0;b[m>>0]=D&255|-128;b[m+1>>0]=c&127;m=2;break}else{m=Zv(m,c,e)|0;break}else{b[m>>0]=c&127;m=1}while(0);m=(f[o>>2]|0)+m|0;f[o>>2]=m;n=r+32|0;f[n>>2]=c;f[n+4>>2]=e;f[r+12>>2]=m;n=f[a>>2]|0;if((n|0)==1){v=m;u=r}else{v=m+1|0;f[o>>2]=v;d[r+26>>1]=((n|0)!=0)<<31>>31;u=r}}t=u+32|0;m=t;n=f[m>>2]|0;m=f[m+4>>2]|0;if(!((n|0)==(c|0)&(m|0)==(e|0))){s=u+12|0;o=f[s>>2]|0;if(o){do if((f[a>>2]|0)==1){m=u+24|0;if((b[m>>0]|0)!=0?(E=u+16|0,D=f[E>>2]|0,f[E>>2]=D+1,b[u+D>>0]=0,(b[u+25>>0]|0)!=0):0){D=f[E>>2]|0;f[E>>2]=D+1;b[u+D>>0]=0}}else{p=u+16|0;n=(f[p>>2]|0)-o+-1|0;m=u+24|0;q=(n<<1)+(h[m>>0]|0)|0;if((q|0)<128){b[u+o>>0]=q;break}E=q>>>0<16384;r=E?2:q>>>0<2097152?3:q>>>0<268435456?4:5;ZA(u+(r+o)|0,u+(o+1)|0,n|0)|0;n=u+(f[s>>2]|0)|0;o=((q|0)<0)<<31>>31;if(E){E=VA(q|0,o|0,7)|0;ba()|0;b[n>>0]=E&255|-128;b[n+1>>0]=q&127}else Zv(n,q,o)|0;f[p>>2]=r+-1+(f[p>>2]|0)}while(0);f[s>>2]=0;b[m>>0]=0;b[u+25>>0]=0;m=t;n=f[m>>2]|0;m=f[m+4>>2]|0}p=u+16|0;o=u+(f[p>>2]|0)|0;m=LA(c|0,e|0,n|0,m|0)|0;n=ba()|0;do if(!(n>>>0<0|(n|0)==0&m>>>0<128))if(n>>>0<0|(n|0)==0&m>>>0<16384){E=VA(m|0,n|0,7)|0;ba()|0;b[o>>0]=E&255|-128;b[o+1>>0]=m&127;m=2;break}else{m=Zv(o,m,n)|0;break}else{b[o>>0]=m&127;m=1}while(0);n=(f[p>>2]|0)+m|0;f[p>>2]=n;m=t;f[m>>2]=c;f[m+4>>2]=e;f[s>>2]=n;m=f[a>>2]|0;if((m|0)==1)p=1;else{f[p>>2]=n+1;d[u+26>>1]=((m|0)!=0)<<31>>31;f[u+28>>2]=0;p=1}}do if((g|0)>-1){m=f[a>>2]|0;if((m|0)==1){b[u+25>>0]=1;break}q=u+26|0;do if((d[q>>1]|0)==(g|0))F=76;else{if(m|0){d[q>>1]=g;break}o=u+16|0;m=f[o>>2]|0;f[o>>2]=m+1;b[u+m>>0]=1;m=u+(f[o>>2]|0)|0;n=((g|0)<0)<<31>>31;do if(g>>>0>=128)if(g>>>0<16384){e=VA(g|0,n|0,7)|0;ba()|0;b[m>>0]=e&255|-128;b[m+1>>0]=g&127;m=2;break}else{m=Zv(m,g,n)|0;break}else{b[m>>0]=g&127;m=1}while(0);f[o>>2]=(f[o>>2]|0)+m;d[q>>1]=g;f[u+28>>2]=0;F=76}while(0);if((F|0)==76)if(!p)break;else g=i;p=u+16|0;m=u+(f[p>>2]|0)|0;q=u+28|0;n=g-(f[q>>2]|0)+2|0;o=((n|0)<0)<<31>>31;do if(n>>>0>=128)if(n>>>0<16384){i=VA(n|0,o|0,7)|0;ba()|0;b[m>>0]=i&255|-128;b[m+1>>0]=n&127;m=2;break}else{m=Zv(m,n,o)|0;break}else{b[m>>0]=n&127;m=1}while(0);f[p>>2]=(f[p>>2]|0)+m;f[q>>2]=g}else b[u+24>>0]=1;while(0);a=f[a+4>>2]|0;f[a>>2]=(f[u+16>>2]|0)+v+(f[a>>2]|0);a=0;return a|0}function Zy(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=t;t=t+48|0;h=i;d=a+80|0;e=f[d>>2]|0;if(!e){b=h;c=b+40|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));ay(a,1,0,72788,0);$x(a,h);a=a+36|0;h=f[a>>2]|0;f[a>>2]=0;t=i;return h|0}g=f[e>>2]|0;f[e>>2]=g+-1;do if((g|0)<2){g=e+20|0;if((f[g>>2]|0)>0){b=0;do{c=f[e+24+(b*12|0)+8>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{j=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);b=b+1|0}while((b|0)<(f[g>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{j=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[d>>2]=0;b=h;c=b+40|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));ay(a,1,0,72788,0);$x(a,h);h=a+36|0;j=f[h>>2]|0;f[h>>2]=0;t=i;return j|0}function _y(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=t;t=t+16|0;p=s;r=f[a+56>>2]|0;c=Ei(f[r>>2]|0)|0;switch(c|0){case 101:{c=1;break}case 100:{d=2;break}default:{a=c;t=s;return a|0}}if((d|0)==2){o=Jp(f[r>>2]|0,0)|0;e=ba()|0;q=r+8|0;f[q>>2]=o;f[q+4>>2]=e;q=Gp(f[r>>2]|0,1)|0;e=f[r>>2]|0;if(!e)g=lf(37592)|0;else{c=f[e+104>>2]|0;if((c|0)!=0?(j[e+140>>1]|0)>1:0){c=c+40|0;d=e}else{c=f[e>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592;d=e}g=lf(c)|0;d=f[d>>2]|0;e=e+40|0;c=f[e>>2]|0;if((c|0)==3082|(b[d+81>>0]|0)!=0){Di(d);c=7}else c=f[d+68>>2]&c;f[e>>2]=c}if((q|0)>0){o=r+20|0;e=f[o>>2]|0;if((e|0)>1){d=0;c=g;n=0;do{i=h[c>>0]|0;do if(i&128){k=h[c+1>>0]|0;if(!(k&128)){m=2;i=i<<7&16256|k;break}l=h[c+2>>0]|0;if(!(l&128)){m=3;i=(i<<14|l)&2080895|k<<7&16256;break}else{m=yv(c,p)|0;m=m&255;i=f[p>>2]|0;e=f[o>>2]|0;break}}else m=1;while(0);c=c+m|0;n=i+n|0;f[r+24+(d<<2)>>2]=n;d=d+1|0}while((d|0)<(e+-1|0))}else{d=0;c=g}f[r+24+(d<<2)>>2]=g+q-c;f[r+16>>2]=c;c=78}else c=78}a=a+60|0;f[a>>2]=f[a>>2]|c;a=0;t=s;return a|0}function $y(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+128|0;l=m+88|0;j=m+96|0;k=m+92|0;d=m;f[k>>2]=0;f[d>>2]=e;if(Mc()|0){c=7;l=f[k>>2]|0;f[a>>2]=l;t=m;return c|0}i=j+4|0;f[i>>2]=m+16;f[j>>2]=0;f[j+8>>2]=70;e=j+12|0;f[e>>2]=1e9;g=j+16|0;f[g>>2]=0;b[j+20>>0]=0;h=j+21|0;b[h>>0]=0;Bc(j,71211,d);d=f[i>>2]|0;if(((d|0)!=0?(b[d+(f[g>>2]|0)>>0]=0,(f[e>>2]|0)!=0):0)?(b[h>>0]&4)==0:0)d=Cc(j)|0;else d=f[i>>2]|0;if(!d){c=7;l=f[k>>2]|0;f[a>>2]=l;t=m;return c|0}e=Ki(f[c>>2]|0,d,-1,129,0,k,0)|0;if(!e)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);c=0;l=f[k>>2]|0;f[a>>2]=l;t=m;return c|0}else{c=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);c=0;l=f[k>>2]|0;f[a>>2]=l;t=m;return c|0}else{j=Mj(f[c>>2]|0)|0;f[l>>2]=j;l=wd(40840,l)|0;f[f[c+96>>2]>>2]=l;if(!(f[9328]|0)){ob[f[37360>>2]&127](d);c=e;l=f[k>>2]|0;f[a>>2]=l;t=m;return c|0}else{c=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);c=e;l=f[k>>2]|0;f[a>>2]=l;t=m;return c|0}}return 0}function az(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;if(!a)return;d=a+80|0;e=f[d>>2]|0;if(e|0){h=f[e>>2]|0;f[e>>2]=h+-1;do if((h|0)<2){g=e+20|0;if((f[g>>2]|0)>0){b=0;do{c=f[e+24+(b*12|0)+8>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{h=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);b=b+1|0}while((b|0)<(f[g>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{h=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[d>>2]=0}Fi(f[a+44>>2]|0)|0;Fi(f[a+48>>2]|0)|0;Fi(f[a+52>>2]|0)|0;Fi(f[a+56>>2]|0)|0;Fi(f[a+60>>2]|0)|0;Fi(f[a+68>>2]|0)|0;h=f[a+12>>2]|0;do if(h|0){e=h+12|0;b=f[e>>2]|0;g=h+20|0;if((b|0)>0){d=0;do{c=f[(f[g>>2]|0)+(d<<2)>>2]|0;if(c){b=c;do{c=b;b=f[b>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((b|0)!=0);b=f[e>>2]|0}d=d+1|0}while((d|0)<(b|0))}_A(f[g>>2]|0,0,b<<2|0)|0;f[h+8>>2]=0;b=f[g>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{i=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{i=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}}while(0);b=f[a+4>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{i=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{i=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function bz(a){a=a|0;var b=0;if(!a)return;Fi(f[a+28>>2]|0)|0;Fi(f[a+32>>2]|0)|0;Fi(f[a+36>>2]|0)|0;Fi(f[a+40>>2]|0)|0;Fi(f[a+44>>2]|0)|0;Fi(f[a+48>>2]|0)|0;Fi(f[a+52>>2]|0)|0;Fi(f[a+56>>2]|0)|0;Fi(f[a+60>>2]|0)|0;Fi(f[a+64>>2]|0)|0;Fi(f[a+68>>2]|0)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function cz(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=t;t=t+272|0;M=P+248|0;L=P+232|0;K=P+224|0;J=P+208|0;H=P+184|0;G=P+168|0;D=P+144|0;C=P+128|0;z=P+104|0;y=P+96|0;B=P+88|0;w=P+72|0;q=P+48|0;r=P+32|0;v=P+8|0;N=P;u=P+264|0;o=P+260|0;f[o>>2]=0;if(Mc()|0){i=0;O=7;f[h>>2]=i;t=P;return O|0}if(!(f[9328]|0)){k=ib[f[37356>>2]&255](32)|0;if(!k){i=0;O=7;f[h>>2]=i;t=P;return O|0}}else{j=ib[f[37372>>2]&255](32)|0;if((f[18194]|0)>>>0<32)f[18194]=32;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){F=f[18187]|0;x=LA(k|0,l|0,j|0,((j|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&x>>>0<=F>>>0)&1}k=ib[f[37356>>2]&255](j)|0;if(!k){i=0;O=7;f[h>>2]=i;t=P;return O|0}j=ib[f[37368>>2]&255](k)|0;j=(f[18187]|0)+j|0;f[18187]=j;if(j>>>0>(f[18191]|0)>>>0)f[18191]=j;j=(f[18190]|0)+1|0;f[18190]=j;if(j>>>0>(f[18196]|0)>>>0)f[18196]=j}m=k;n=m+32|0;do{b[m>>0]=0;m=m+1|0}while((m|0)<(n|0));j=Nw(d,c,e,g,o,i)|0;a:do if(!j){F=f[o>>2]|0;l=k+12|0;f[l>>2]=F;f[k+24>>2]=d;c=k+16|0;f[u>>2]=0;do if(!(Mc()|0)){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](88)|0;if(!e){O=26;break}}else{j=ib[f[37372>>2]&255](88)|0;if((f[18194]|0)>>>0<88)f[18194]=88;m=71896;e=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&e>>>0>0){x=f[18187]|0;d=LA(e|0,m|0,j|0,((j|0)<0)<<31>>31|0)|0;o=ba()|0;f[17976]=((o|0)<0|(o|0)==0&d>>>0<=x>>>0)&1}e=ib[f[37356>>2]&255](j)|0;if(!e){O=26;break}j=ib[f[37368>>2]&255](e)|0;j=(f[18187]|0)+j|0;f[18187]=j;if(j>>>0>(f[18191]|0)>>>0)f[18191]=j;j=(f[18190]|0)+1|0;f[18190]=j;if(j>>>0>(f[18196]|0)>>>0)f[18196]=j}j=e+4|0;m=j;n=m+84|0;do{b[m>>0]=0;m=m+1|0}while((m|0)<(n|0));f[c>>2]=e;f[e>>2]=F;f[e+8>>2]=64;x=F+8|0;f[N>>2]=f[x>>2];d=iw(u,71444,N)|0;f[j>>2]=d;if((a|0)!=0&(d|0)!=0){f[N>>2]=0;j=f[F>>2]|0;m=F+4|0;n=f[x>>2]|0;f[v>>2]=f[m>>2];f[v+4>>2]=n;f[v+8>>2]=60838;f[v+12>>2]=71482;f[v+16>>2]=72788;j=dy(j,N,71452,v)|0;n=f[N>>2]|0;do if(n|0?(f[r>>2]=f[x>>2],f[r+4>>2]=60838,f[r+8>>2]=n,p=wd(71517,r)|0,f[i>>2]=p,p=f[N>>2]|0,p|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{r=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);f[u>>2]=j;if(j|0)break;f[v>>2]=0;j=f[F>>2]|0;r=f[x>>2]|0;f[q>>2]=f[m>>2];f[q+4>>2]=r;f[q+8>>2]=47829;f[q+12>>2]=71561;f[q+16>>2]=71605;j=dy(j,v,71452,q)|0;m=f[v>>2]|0;do if(m|0?(f[w>>2]=f[x>>2],f[w+4>>2]=47829,f[w+8>>2]=m,s=wd(71517,w)|0,f[i>>2]=s,s=f[v>>2]|0,s|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{w=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}while(0);f[u>>2]=j;if(j|0)break;j=Zy(e)|0;f[u>>2]=j}else j=f[u>>2]|0;if(!j){j=f[c>>2]|0;g=k+20|0;d=F+12|0;e=(f[d>>2]<<3)+72|0;o=Fd(e)|0;f[g>>2]=o;if(!o){j=7;break a}_A(o|0,0,e|0)|0;f[o+24>>2]=o+72;f[o>>2]=F;f[o+4>>2]=j;b:do if(a|0){if(!(f[F+32>>2]|0)){m=((f[d>>2]|0)*10|0)+32|0;n=Fd(m)|0;if(n){vd(m,n,71620,B)|0;if((f[d>>2]|0)>0){j=0;e=wz(n)|0;do{a=n+e|0;f[y>>2]=j;vd(m-e|0,a,71643,y)|0;e=(wz(a)|0)+e|0;j=j+1|0}while((j|0)<(f[d>>2]|0))}f[B>>2]=0;j=f[F>>2]|0;e=f[x>>2]|0;f[z>>2]=f[F+4>>2];f[z+4>>2]=e;f[z+8>>2]=63175;f[z+12>>2]=n;f[z+16>>2]=72788;j=dy(j,B,71452,z)|0;e=f[B>>2]|0;do if(e|0?(f[C>>2]=f[x>>2],f[C+4>>2]=63175,f[C+8>>2]=e,A=wd(71517,C)|0,f[i>>2]=A,A=f[B>>2]|0,A|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{C=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](n);else{C=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n)}if(!j)O=60}else j=7}else O=60;do if((O|0)==60){if(f[F+44>>2]|0){f[N>>2]=0;j=f[F>>2]|0;m=F+4|0;e=f[x>>2]|0;f[D>>2]=f[m>>2];f[D+4>>2]=e;f[D+8>>2]=63183;f[D+12>>2]=71649;f[D+16>>2]=72788;j=dy(j,N,71452,D)|0;e=f[N>>2]|0;do if(e|0?(f[G>>2]=f[x>>2],f[G+4>>2]=63183,f[G+8>>2]=e,E=wd(71517,G)|0,f[i>>2]=E,E=f[N>>2]|0,E|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](E);break}else{G=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);break}while(0);if(!j){e=F;j=m}else break}else{e=F;j=F+4|0}f[N>>2]=0;e=f[e>>2]|0;G=f[x>>2]|0;f[H>>2]=f[j>>2];f[H+4>>2]=G;f[H+8>>2]=70035;f[H+12>>2]=71681;f[H+16>>2]=71605;j=dy(e,N,71452,H)|0;e=f[N>>2]|0;do if(e|0?(f[J>>2]=f[x>>2],f[J+4>>2]=70035,f[J+8>>2]=e,I=wd(71517,J)|0,f[i>>2]=I,I=f[N>>2]|0,I|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](I);break}else{J=ib[f[37368>>2]&255](I)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](I);break}while(0);if(!j){j=Vy(o,67797,0,4)|0;if(!j)break b}}while(0);bz(o);f[g>>2]=0;break a}while(0);f[N>>2]=0;j=iw(N,71698,K)|0;c:do if(!j)j=0;else{m=F+16|0;e=0;while(1){if((e|0)>=(f[d>>2]|0))break c;K=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[L>>2]=j;f[L+4>>2]=(e|0)==0?72788:54720;f[L+8>>2]=K;j=iw(N,71714,L)|0;if(!j){j=0;break}else e=e+1|0}}while(0);e=f[x>>2]|0;f[M>>2]=j;f[M+4>>2]=e;f[M+8>>2]=42283;e=iw(N,71721,M)|0;do if(e){j=wk(f[F>>2]|0,e)|0;f[N>>2]=j;if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{N=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}else j=f[N>>2]|0;while(0);if(!j){N=F+96|0;f[N>>2]=i;j=Uy(f[c>>2]|0)|0;Px(f[c>>2]|0);f[N>>2]=0;if(!j)j=0;else break a;f[h>>2]=k;t=P;return j|0}else{if(!k)k=0;else{O=88;break a}f[h>>2]=k;t=P;return j|0}}}else O=26;while(0);if((O|0)==26){f[u>>2]=7;f[c>>2]=0;e=0;j=7}az(e);f[c>>2]=0}else O=88;while(0);if((O|0)==88){c=k+16|0;l=k+12|0}az(f[c>>2]|0);bz(f[k+20>>2]|0);Rw(f[l>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);i=0;O=j;f[h>>2]=i;t=P;return O|0}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);i=0;O=j;f[h>>2]=i;t=P;return O|0}return 0}function dz(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+16|0;n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[18041]|0;c=m>>>a;if(c&3|0){b=(c&1^1)+a|0;a=72204+(b<<1<<2)|0;c=a+8|0;d=f[c>>2]|0;e=d+8|0;g=f[e>>2]|0;if((g|0)==(a|0))f[18041]=m&~(1<>2]=a;f[c>>2]=g}w=b<<3;f[d+4>>2]=w|3;w=d+w+4|0;f[w>>2]=f[w>>2]|1;w=e;t=x;return w|0}l=f[18043]|0;if(k>>>0>l>>>0){if(c|0){b=2<>>12&16;b=b>>>i;c=b>>>5&8;b=b>>>c;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;d=b>>>1&1;d=(c|i|g|a|d)+(b>>>d)|0;b=72204+(d<<1<<2)|0;a=b+8|0;g=f[a>>2]|0;i=g+8|0;c=f[i>>2]|0;if((c|0)==(b|0)){a=m&~(1<>2]=b;f[a>>2]=c;a=m}w=d<<3;h=w-k|0;f[g+4>>2]=k|3;e=g+k|0;f[e+4>>2]=h|1;f[g+w>>2]=h;if(l|0){d=f[18046]|0;b=l>>>3;c=72204+(b<<1<<2)|0;b=1<>2]|0}f[a>>2]=d;f[b+12>>2]=d;f[d+8>>2]=b;f[d+12>>2]=c}f[18043]=h;f[18046]=e;w=i;t=x;return w|0}g=f[18042]|0;if(g){c=(g&0-g)+-1|0;e=c>>>12&16;c=c>>>e;d=c>>>5&8;c=c>>>d;h=c>>>2&4;c=c>>>h;i=c>>>1&2;c=c>>>i;j=c>>>1&1;j=f[72468+((d|e|h|i|j)+(c>>>j)<<2)>>2]|0;c=j;i=j;j=(f[j+4>>2]&-8)-k|0;while(1){a=f[c+16>>2]|0;if(!a){a=f[c+20>>2]|0;if(!a)break}h=(f[a+4>>2]&-8)-k|0;e=h>>>0>>0;c=a;i=e?a:i;j=e?h:j}h=i+k|0;if(h>>>0>i>>>0){e=f[i+24>>2]|0;b=f[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=f[a>>2]|0;if(!b){a=i+16|0;b=f[a>>2]|0;if(!b){c=0;break}}while(1){d=b+20|0;c=f[d>>2]|0;if(!c){d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[i+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);do if(e|0){b=f[i+28>>2]|0;a=72468+(b<<2)|0;if((i|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[18042]=g&~(1<>2]|0)==(i|0)?w:e+20|0)>>2]=c;if(!c)break}f[c+24>>2]=e;b=f[i+16>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}b=f[i+20>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}while(0);if(j>>>0<16){w=j+k|0;f[i+4>>2]=w|3;w=i+w+4|0;f[w>>2]=f[w>>2]|1}else{f[i+4>>2]=k|3;f[h+4>>2]=j|1;f[h+j>>2]=j;if(l|0){d=f[18046]|0;b=l>>>3;c=72204+(b<<1<<2)|0;b=1<>2]|0}f[a>>2]=d;f[b+12>>2]=d;f[d+8>>2]=b;f[d+12>>2]=c}f[18043]=j;f[18046]=h}w=i+8|0;t=x;return w|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;d=f[18042]|0;if(d){e=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;j=14-(i|m|j)+(q<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;c=f[72468+(j<<2)>>2]|0;a:do if(!c){c=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(f[c+4>>2]&-8)-k|0;if(h>>>0>>0)if(!h){a=c;e=0;q=65;break a}else{a=c;e=h}q=f[c+20>>2]|0;c=f[c+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(c|0)?g:q;if(!c){c=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((c|0)==0&(a|0)==0){a=2<>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;c=m>>>1&1;a=0;c=f[72468+((g|h|i|j|c)+(m>>>c)<<2)>>2]|0}if(!c){i=a;h=e}else q=65}if((q|0)==65){g=c;while(1){m=(f[g+4>>2]&-8)-k|0;c=m>>>0>>0;e=c?m:e;a=c?g:a;c=f[g+16>>2]|0;if(!c)c=f[g+20>>2]|0;if(!c){i=a;h=e;break}else g=c}}if(((i|0)!=0?h>>>0<((f[18043]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=f[i+24>>2]|0;b=f[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=f[a>>2]|0;if(!b){a=i+16|0;b=f[a>>2]|0;if(!b){b=0;break}}while(1){e=b+20|0;c=f[e>>2]|0;if(!c){e=b+16|0;c=f[e>>2]|0;if(!c)break;else{b=c;a=e}}else{b=c;a=e}}f[a>>2]=0}else{w=f[i+8>>2]|0;f[w+12>>2]=b;f[b+8>>2]=w}while(0);do if(g){a=f[i+28>>2]|0;c=72468+(a<<2)|0;if((i|0)==(f[c>>2]|0)){f[c>>2]=b;if(!b){d=d&~(1<>2]|0)==(i|0)?w:g+20|0)>>2]=b;if(!b)break}f[b+24>>2]=g;a=f[i+16>>2]|0;if(a|0){f[b+16>>2]=a;f[a+24>>2]=b}a=f[i+20>>2]|0;if(a){f[b+20>>2]=a;f[a+24>>2]=b}}while(0);b:do if(h>>>0<16){w=h+k|0;f[i+4>>2]=w|3;w=i+w+4|0;f[w>>2]=f[w>>2]|1}else{f[i+4>>2]=k|3;f[l+4>>2]=h|1;f[l+h>>2]=h;b=h>>>3;if(h>>>0<256){c=72204+(b<<1<<2)|0;a=f[18041]|0;b=1<>2]|0}f[a>>2]=l;f[b+12>>2]=l;f[l+8>>2]=b;f[l+12>>2]=c;break}b=h>>>8;if(b)if(h>>>0>16777215)c=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;c=14-(u|v|c)+(w<>>15)|0;c=h>>>(c+7|0)&1|c<<1}else c=0;b=72468+(c<<2)|0;f[l+28>>2]=c;a=l+16|0;f[a+4>>2]=0;f[a>>2]=0;a=1<>2]=l;f[l+24>>2]=b;f[l+12>>2]=l;f[l+8>>2]=l;break}b=f[b>>2]|0;c:do if((f[b+4>>2]&-8|0)!=(h|0)){d=h<<((c|0)==31?0:25-(c>>>1)|0);while(1){c=b+16+(d>>>31<<2)|0;a=f[c>>2]|0;if(!a)break;if((f[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{d=d<<1;b=a}}f[c>>2]=l;f[l+24>>2]=b;f[l+12>>2]=l;f[l+8>>2]=l;break b}while(0);v=b+8|0;w=f[v>>2]|0;f[w+12>>2]=l;f[v>>2]=l;f[l+8>>2]=w;f[l+12>>2]=b;f[l+24>>2]=0}while(0);w=i+8|0;t=x;return w|0}else m=k}else m=k}else m=-1;while(0);c=f[18043]|0;if(c>>>0>=m>>>0){b=c-m|0;a=f[18046]|0;if(b>>>0>15){w=a+m|0;f[18046]=w;f[18043]=b;f[w+4>>2]=b|1;f[a+c>>2]=b;f[a+4>>2]=m|3}else{f[18043]=0;f[18046]=0;f[a+4>>2]=c|3;w=a+c+4|0;f[w>>2]=f[w>>2]|1}w=a+8|0;t=x;return w|0}h=f[18044]|0;if(h>>>0>m>>>0){u=h-m|0;f[18044]=u;w=f[18047]|0;v=w+m|0;f[18047]=v;f[v+4>>2]=u|1;f[w+4>>2]=m|3;w=w+8|0;t=x;return w|0}if(!(f[18159]|0)){f[18161]=4096;f[18160]=4096;f[18162]=-1;f[18163]=-1;f[18164]=0;f[18152]=0;f[18159]=n&-16^1431655768;a=4096}else a=f[18161]|0;i=m+48|0;j=m+47|0;g=a+j|0;e=0-a|0;k=g&e;if(k>>>0<=m>>>0){w=0;t=x;return w|0}a=f[18151]|0;if(a|0?(l=f[18149]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){w=0;t=x;return w|0}d:do if(!(f[18152]&4)){c=f[18047]|0;e:do if(c){d=72612;while(1){n=f[d>>2]|0;if(n>>>0<=c>>>0?(n+(f[d+4>>2]|0)|0)>>>0>c>>>0:0)break;a=f[d+8>>2]|0;if(!a){q=128;break e}else d=a}b=g-h&e;if(b>>>0<2147483647){a=$A(b|0)|0;if((a|0)==((f[d>>2]|0)+(f[d+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{d=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){c=$A(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[18160]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[18149]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=f[18151]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=$A(b|0)|0;if((a|0)==(c|0)){h=b;g=c;q=145;break d}else{d=a;q=136}}else b=0}while(0);do if((q|0)==136){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=b;g=d;q=145;break d}a=f[18161]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=d;q=145;break d}if(($A(a|0)|0)==(-1|0)){$A(c|0)|0;b=0;break}else{h=a+b|0;g=d;q=145;break d}}while(0);f[18152]=f[18152]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(u=$A(k|0)|0,p=$A(0)|0,r=p-u|0,s=r>>>0>(m+40|0)>>>0,!((u|0)==(-1|0)|s^1|u>>>0

>>0&((u|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=u;q=145}if((q|0)==145){b=(f[18149]|0)+h|0;f[18149]=b;if(b>>>0>(f[18150]|0)>>>0)f[18150]=b;j=f[18047]|0;f:do if(j){b=72612;while(1){a=f[b>>2]|0;c=f[b+4>>2]|0;if((g|0)==(a+c|0)){q=154;break}d=f[b+8>>2]|0;if(!d)break;else b=d}if(((q|0)==154?(v=b+4|0,(f[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){f[v>>2]=c+h;w=(f[18044]|0)+h|0;u=j+8|0;u=(u&7|0)==0?0:0-u&7;v=j+u|0;u=w-u|0;f[18047]=v;f[18044]=u;f[v+4>>2]=u|1;f[j+w+4>>2]=40;f[18048]=f[18163];break}if(g>>>0<(f[18045]|0)>>>0)f[18045]=g;c=g+h|0;b=72612;while(1){if((f[b>>2]|0)==(c|0)){q=162;break}a=f[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(f[b+12>>2]&8|0)==0:0){f[b>>2]=g;l=b+4|0;f[l>>2]=(f[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;f[l+4>>2]=m|3;g:do if((j|0)==(b|0)){w=(f[18044]|0)+i|0;f[18044]=w;f[18047]=k;f[k+4>>2]=w|1}else{if((f[18046]|0)==(b|0)){w=(f[18043]|0)+i|0;f[18043]=w;f[18046]=k;f[k+4>>2]=w|1;f[k+w>>2]=w;break}a=f[b+4>>2]|0;if((a&3|0)==1){h=a&-8;d=a>>>3;h:do if(a>>>0<256){a=f[b+8>>2]|0;c=f[b+12>>2]|0;if((c|0)==(a|0)){f[18041]=f[18041]&~(1<>2]=c;f[c+8>>2]=a;break}}else{g=f[b+24>>2]|0;a=f[b+12>>2]|0;do if((a|0)==(b|0)){c=b+16|0;d=c+4|0;a=f[d>>2]|0;if(!a){a=f[c>>2]|0;if(!a){a=0;break}}else c=d;while(1){e=a+20|0;d=f[e>>2]|0;if(!d){e=a+16|0;d=f[e>>2]|0;if(!d)break;else{a=d;c=e}}else{a=d;c=e}}f[c>>2]=0}else{w=f[b+8>>2]|0;f[w+12>>2]=a;f[a+8>>2]=w}while(0);if(!g)break;c=f[b+28>>2]|0;d=72468+(c<<2)|0;do if((f[d>>2]|0)!=(b|0)){w=g+16|0;f[((f[w>>2]|0)==(b|0)?w:g+20|0)>>2]=a;if(!a)break h}else{f[d>>2]=a;if(a|0)break;f[18042]=f[18042]&~(1<>2]=g;c=b+16|0;d=f[c>>2]|0;if(d|0){f[a+16>>2]=d;f[d+24>>2]=a}c=f[c+4>>2]|0;if(!c)break;f[a+20>>2]=c;f[c+24>>2]=a}while(0);b=b+h|0;e=h+i|0}else e=i;b=b+4|0;f[b>>2]=f[b>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;b=e>>>3;if(e>>>0<256){c=72204+(b<<1<<2)|0;a=f[18041]|0;b=1<>2]|0}f[a>>2]=k;f[b+12>>2]=k;f[k+8>>2]=b;f[k+12>>2]=c;break}b=e>>>8;do if(!b)d=0;else{if(e>>>0>16777215){d=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;d=14-(u|v|d)+(w<>>15)|0;d=e>>>(d+7|0)&1|d<<1}while(0);b=72468+(d<<2)|0;f[k+28>>2]=d;a=k+16|0;f[a+4>>2]=0;f[a>>2]=0;a=f[18042]|0;c=1<>2]=k;f[k+24>>2]=b;f[k+12>>2]=k;f[k+8>>2]=k;break}b=f[b>>2]|0;i:do if((f[b+4>>2]&-8|0)!=(e|0)){d=e<<((d|0)==31?0:25-(d>>>1)|0);while(1){c=b+16+(d>>>31<<2)|0;a=f[c>>2]|0;if(!a)break;if((f[a+4>>2]&-8|0)==(e|0)){b=a;break i}else{d=d<<1;b=a}}f[c>>2]=k;f[k+24>>2]=b;f[k+12>>2]=k;f[k+8>>2]=k;break g}while(0);v=b+8|0;w=f[v>>2]|0;f[w+12>>2]=k;f[v>>2]=k;f[k+8>>2]=w;f[k+12>>2]=b;f[k+24>>2]=0}while(0);w=l+8|0;t=x;return w|0}b=72612;while(1){a=f[b>>2]|0;if(a>>>0<=j>>>0?(w=a+(f[b+4>>2]|0)|0,w>>>0>j>>>0):0)break;b=f[b+8>>2]|0}e=w+-47|0;a=e+8|0;a=e+((a&7|0)==0?0:0-a&7)|0;e=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;c=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=c-u|0;f[18047]=v;f[18044]=u;f[v+4>>2]=u|1;f[g+c+4>>2]=40;f[18048]=f[18163];c=a+4|0;f[c>>2]=27;f[b>>2]=f[18153];f[b+4>>2]=f[18154];f[b+8>>2]=f[18155];f[b+12>>2]=f[18156];f[18153]=g;f[18154]=h;f[18156]=0;f[18155]=b;b=a+24|0;do{v=b;b=b+4|0;f[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;f[c>>2]=f[c>>2]&-2;f[j+4>>2]=g|1;f[a>>2]=g;b=g>>>3;if(g>>>0<256){c=72204+(b<<1<<2)|0;a=f[18041]|0;b=1<>2]|0}f[a>>2]=j;f[b+12>>2]=j;f[j+8>>2]=b;f[j+12>>2]=c;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;d=14-(u|v|d)+(w<>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;c=72468+(d<<2)|0;f[j+28>>2]=d;f[j+20>>2]=0;f[e>>2]=0;b=f[18042]|0;a=1<>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}b=f[c>>2]|0;j:do if((f[b+4>>2]&-8|0)!=(g|0)){d=g<<((d|0)==31?0:25-(d>>>1)|0);while(1){c=b+16+(d>>>31<<2)|0;a=f[c>>2]|0;if(!a)break;if((f[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{d=d<<1;b=a}}f[c>>2]=j;f[j+24>>2]=b;f[j+12>>2]=j;f[j+8>>2]=j;break f}while(0);v=b+8|0;w=f[v>>2]|0;f[w+12>>2]=j;f[v>>2]=j;f[j+8>>2]=w;f[j+12>>2]=b;f[j+24>>2]=0}}else{w=f[18045]|0;if((w|0)==0|g>>>0>>0)f[18045]=g;f[18153]=g;f[18154]=h;f[18156]=0;f[18050]=f[18159];f[18049]=-1;f[18054]=72204;f[18053]=72204;f[18056]=72212;f[18055]=72212;f[18058]=72220;f[18057]=72220;f[18060]=72228;f[18059]=72228;f[18062]=72236;f[18061]=72236;f[18064]=72244;f[18063]=72244;f[18066]=72252;f[18065]=72252;f[18068]=72260;f[18067]=72260;f[18070]=72268;f[18069]=72268;f[18072]=72276;f[18071]=72276;f[18074]=72284;f[18073]=72284;f[18076]=72292;f[18075]=72292;f[18078]=72300;f[18077]=72300;f[18080]=72308;f[18079]=72308;f[18082]=72316;f[18081]=72316;f[18084]=72324;f[18083]=72324;f[18086]=72332;f[18085]=72332;f[18088]=72340;f[18087]=72340;f[18090]=72348;f[18089]=72348;f[18092]=72356;f[18091]=72356;f[18094]=72364;f[18093]=72364;f[18096]=72372;f[18095]=72372;f[18098]=72380;f[18097]=72380;f[18100]=72388;f[18099]=72388;f[18102]=72396;f[18101]=72396;f[18104]=72404;f[18103]=72404;f[18106]=72412;f[18105]=72412;f[18108]=72420;f[18107]=72420;f[18110]=72428;f[18109]=72428;f[18112]=72436;f[18111]=72436;f[18114]=72444;f[18113]=72444;f[18116]=72452;f[18115]=72452;w=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=w-u|0;f[18047]=v;f[18044]=u;f[v+4>>2]=u|1;f[g+w+4>>2]=40;f[18048]=f[18163]}while(0);b=f[18044]|0;if(b>>>0>m>>>0){u=b-m|0;f[18044]=u;w=f[18047]|0;v=w+m|0;f[18047]=v;f[v+4>>2]=u|1;f[w+4>>2]=m|3;w=w+8|0;t=x;return w|0}}w=mz()|0;f[w>>2]=12;w=0;t=x;return w|0}function ez(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;if(!a)return;c=a+-8|0;e=f[18045]|0;a=f[a+-4>>2]|0;b=a&-8;j=c+b|0;do if(!(a&1)){d=f[c>>2]|0;if(!(a&3))return;h=c+(0-d)|0;g=d+b|0;if(h>>>0>>0)return;if((f[18046]|0)==(h|0)){a=j+4|0;b=f[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}f[18043]=g;f[a>>2]=b&-2;f[h+4>>2]=g|1;f[h+g>>2]=g;return}c=d>>>3;if(d>>>0<256){a=f[h+8>>2]|0;b=f[h+12>>2]|0;if((b|0)==(a|0)){f[18041]=f[18041]&~(1<>2]=b;f[b+8>>2]=a;i=h;b=g;break}}e=f[h+24>>2]|0;a=f[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;c=b+4|0;a=f[c>>2]|0;if(!a){a=f[b>>2]|0;if(!a){a=0;break}}else b=c;while(1){d=a+20|0;c=f[d>>2]|0;if(!c){d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;b=d}}else{a=c;b=d}}f[b>>2]=0}else{i=f[h+8>>2]|0;f[i+12>>2]=a;f[a+8>>2]=i}while(0);if(e){b=f[h+28>>2]|0;c=72468+(b<<2)|0;if((f[c>>2]|0)==(h|0)){f[c>>2]=a;if(!a){f[18042]=f[18042]&~(1<>2]|0)==(h|0)?i:e+20|0)>>2]=a;if(!a){i=h;b=g;break}}f[a+24>>2]=e;b=h+16|0;c=f[b>>2]|0;if(c|0){f[a+16>>2]=c;f[c+24>>2]=a}b=f[b+4>>2]|0;if(b){f[a+20>>2]=b;f[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=c;h=c}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;d=f[a>>2]|0;if(!(d&1))return;if(!(d&2)){if((f[18047]|0)==(j|0)){j=(f[18044]|0)+b|0;f[18044]=j;f[18047]=i;f[i+4>>2]=j|1;if((i|0)!=(f[18046]|0))return;f[18046]=0;f[18043]=0;return}if((f[18046]|0)==(j|0)){j=(f[18043]|0)+b|0;f[18043]=j;f[18046]=h;f[i+4>>2]=j|1;f[h+j>>2]=j;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){b=f[j+8>>2]|0;a=f[j+12>>2]|0;if((a|0)==(b|0)){f[18041]=f[18041]&~(1<>2]=a;f[a+8>>2]=b;break}}else{g=f[j+24>>2]|0;a=f[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;c=b+4|0;a=f[c>>2]|0;if(!a){a=f[b>>2]|0;if(!a){c=0;break}}else b=c;while(1){d=a+20|0;c=f[d>>2]|0;if(!c){d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;b=d}}else{a=c;b=d}}f[b>>2]=0;c=a}else{c=f[j+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(g|0){a=f[j+28>>2]|0;b=72468+(a<<2)|0;if((f[b>>2]|0)==(j|0)){f[b>>2]=c;if(!c){f[18042]=f[18042]&~(1<>2]|0)==(j|0)?d:g+20|0)>>2]=c;if(!c)break}f[c+24>>2]=g;a=j+16|0;b=f[a>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}a=f[a+4>>2]|0;if(a|0){f[c+20>>2]=a;f[a+24>>2]=c}}}while(0);f[i+4>>2]=e|1;f[h+e>>2]=e;if((i|0)==(f[18046]|0)){f[18043]=e;return}}else{f[a>>2]=d&-2;f[i+4>>2]=b|1;f[h+b>>2]=b;e=b}a=e>>>3;if(e>>>0<256){c=72204+(a<<1<<2)|0;b=f[18041]|0;a=1<>2]|0}f[b>>2]=i;f[a+12>>2]=i;f[i+8>>2]=a;f[i+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)d=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;d=14-(g|h|d)+(j<>>15)|0;d=e>>>(d+7|0)&1|d<<1}else d=0;a=72468+(d<<2)|0;f[i+28>>2]=d;f[i+20>>2]=0;f[i+16>>2]=0;b=f[18042]|0;c=1<>2]=i;f[i+24>>2]=a;f[i+12>>2]=i;f[i+8>>2]=i}else{a=f[a>>2]|0;b:do if((f[a+4>>2]&-8|0)!=(e|0)){d=e<<((d|0)==31?0:25-(d>>>1)|0);while(1){c=a+16+(d>>>31<<2)|0;b=f[c>>2]|0;if(!b)break;if((f[b+4>>2]&-8|0)==(e|0)){a=b;break b}else{d=d<<1;a=b}}f[c>>2]=i;f[i+24>>2]=a;f[i+12>>2]=i;f[i+8>>2]=i;break a}while(0);h=a+8|0;j=f[h>>2]|0;f[j+12>>2]=i;f[h>>2]=i;f[i+8>>2]=j;f[i+12>>2]=a;f[i+24>>2]=0}while(0);j=(f[18049]|0)+-1|0;f[18049]=j;if(j|0)return;a=72620;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[18049]=-1;return}function fz(a,b){a=a|0;b=b|0;var c=0;if(a){c=U(b,a)|0;if((b|a)>>>0>65535)c=((c>>>0)/(a>>>0)|0|0)==(b|0)?c:-1}else c=0;a=dz(c)|0;if(!a)return a|0;if(!(f[a+-4>>2]&3))return a|0;_A(a|0,0,c|0)|0;return a|0}function gz(a,b){a=a|0;b=b|0;var c=0,d=0;if(!a){b=dz(b)|0;return b|0}if(b>>>0>4294967231){b=mz()|0;f[b>>2]=12;b=0;return b|0}c=hz(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(c|0){b=c+8|0;return b|0}c=dz(b)|0;if(!c){b=0;return b|0}d=f[a+-4>>2]|0;d=(d&-8)-((d&3|0)==0?8:4)|0;YA(c|0,a|0,(d>>>0>>0?d:b)|0)|0;ez(a);b=c;return b|0}function hz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=f[l>>2]|0;c=m&-8;i=a+c|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(c>>>0>=(b+4|0)>>>0?(c-b|0)>>>0<=f[18161]<<1>>>0:0)return a|0;a=0;return a|0}if(c>>>0>=b>>>0){c=c-b|0;if(c>>>0<=15)return a|0;k=a+b|0;f[l>>2]=m&1|b|2;f[k+4>>2]=c|3;m=i+4|0;f[m>>2]=f[m>>2]|1;iz(k,c);return a|0}if((f[18047]|0)==(i|0)){k=(f[18044]|0)+c|0;c=k-b|0;d=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}f[l>>2]=m&1|b|2;f[d+4>>2]=c|1;f[18047]=d;f[18044]=c;return a|0}if((f[18046]|0)==(i|0)){d=(f[18043]|0)+c|0;if(d>>>0>>0){a=0;return a|0}c=d-b|0;if(c>>>0>15){k=a+b|0;d=a+d|0;f[l>>2]=m&1|b|2;f[k+4>>2]=c|1;f[d>>2]=c;d=d+4|0;f[d>>2]=f[d>>2]&-2;d=k}else{f[l>>2]=m&1|d|2;d=a+d+4|0;f[d>>2]=f[d>>2]|1;d=0;c=0}f[18043]=c;f[18046]=d;return a|0}d=f[i+4>>2]|0;if(d&2|0){a=0;return a|0}j=(d&-8)+c|0;if(j>>>0>>0){a=0;return a|0}k=j-b|0;e=d>>>3;do if(d>>>0<256){d=f[i+8>>2]|0;c=f[i+12>>2]|0;if((c|0)==(d|0)){f[18041]=f[18041]&~(1<>2]=c;f[c+8>>2]=d;break}}else{h=f[i+24>>2]|0;c=f[i+12>>2]|0;do if((c|0)==(i|0)){d=i+16|0;e=d+4|0;c=f[e>>2]|0;if(!c){c=f[d>>2]|0;if(!c){e=0;break}}else d=e;while(1){g=c+20|0;e=f[g>>2]|0;if(!e){g=c+16|0;e=f[g>>2]|0;if(!e)break;else{c=e;d=g}}else{c=e;d=g}}f[d>>2]=0;e=c}else{e=f[i+8>>2]|0;f[e+12>>2]=c;f[c+8>>2]=e;e=c}while(0);if(h|0){c=f[i+28>>2]|0;d=72468+(c<<2)|0;if((f[d>>2]|0)==(i|0)){f[d>>2]=e;if(!e){f[18042]=f[18042]&~(1<>2]|0)==(i|0)?g:h+20|0)>>2]=e;if(!e)break}f[e+24>>2]=h;c=i+16|0;d=f[c>>2]|0;if(d|0){f[e+16>>2]=d;f[d+24>>2]=e}c=f[c+4>>2]|0;if(c|0){f[e+20>>2]=c;f[c+24>>2]=e}}}while(0);if(k>>>0<16){f[l>>2]=m&1|j|2;m=a+j+4|0;f[m>>2]=f[m>>2]|1;return a|0}else{i=a+b|0;f[l>>2]=m&1|b|2;f[i+4>>2]=k|3;m=a+j+4|0;f[m>>2]=f[m>>2]|1;iz(i,k);return a|0}return 0}function iz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+b|0;c=f[a+4>>2]|0;do if(!(c&1)){e=f[a>>2]|0;if(!(c&3))return;h=a+(0-e)|0;b=e+b|0;if((f[18046]|0)==(h|0)){a=i+4|0;c=f[a>>2]|0;if((c&3|0)!=3)break;f[18043]=b;f[a>>2]=c&-2;f[h+4>>2]=b|1;f[i>>2]=b;return}d=e>>>3;if(e>>>0<256){a=f[h+8>>2]|0;c=f[h+12>>2]|0;if((c|0)==(a|0)){f[18041]=f[18041]&~(1<>2]=c;f[c+8>>2]=a;break}}g=f[h+24>>2]|0;a=f[h+12>>2]|0;do if((a|0)==(h|0)){c=h+16|0;d=c+4|0;a=f[d>>2]|0;if(!a){a=f[c>>2]|0;if(!a){a=0;break}}else c=d;while(1){e=a+20|0;d=f[e>>2]|0;if(!d){e=a+16|0;d=f[e>>2]|0;if(!d)break;else{a=d;c=e}}else{a=d;c=e}}f[c>>2]=0}else{e=f[h+8>>2]|0;f[e+12>>2]=a;f[a+8>>2]=e}while(0);if(g){c=f[h+28>>2]|0;d=72468+(c<<2)|0;if((f[d>>2]|0)==(h|0)){f[d>>2]=a;if(!a){f[18042]=f[18042]&~(1<>2]|0)==(h|0)?e:g+20|0)>>2]=a;if(!a)break}f[a+24>>2]=g;c=h+16|0;d=f[c>>2]|0;if(d|0){f[a+16>>2]=d;f[d+24>>2]=a}c=f[c+4>>2]|0;if(c){f[a+20>>2]=c;f[c+24>>2]=a}}}else h=a;while(0);a=i+4|0;d=f[a>>2]|0;if(!(d&2)){if((f[18047]|0)==(i|0)){i=(f[18044]|0)+b|0;f[18044]=i;f[18047]=h;f[h+4>>2]=i|1;if((h|0)!=(f[18046]|0))return;f[18046]=0;f[18043]=0;return}if((f[18046]|0)==(i|0)){i=(f[18043]|0)+b|0;f[18043]=i;f[18046]=h;f[h+4>>2]=i|1;f[h+i>>2]=i;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){a=f[i+8>>2]|0;b=f[i+12>>2]|0;if((b|0)==(a|0)){f[18041]=f[18041]&~(1<>2]=b;f[b+8>>2]=a;break}}else{g=f[i+24>>2]|0;b=f[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;c=a+4|0;b=f[c>>2]|0;if(!b){b=f[a>>2]|0;if(!b){c=0;break}}else a=c;while(1){d=b+20|0;c=f[d>>2]|0;if(!c){d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[i+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);if(g|0){b=f[i+28>>2]|0;a=72468+(b<<2)|0;if((f[a>>2]|0)==(i|0)){f[a>>2]=c;if(!c){f[18042]=f[18042]&~(1<>2]|0)==(i|0)?d:g+20|0)>>2]=c;if(!c)break}f[c+24>>2]=g;b=i+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}b=f[b+4>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}}while(0);f[h+4>>2]=e|1;f[h+e>>2]=e;if((h|0)==(f[18046]|0)){f[18043]=e;return}}else{f[a>>2]=d&-2;f[h+4>>2]=b|1;f[h+b>>2]=b;e=b}b=e>>>3;if(e>>>0<256){c=72204+(b<<1<<2)|0;a=f[18041]|0;b=1<>2]|0}f[a>>2]=h;f[b+12>>2]=h;f[h+8>>2]=b;f[h+12>>2]=c;return}b=e>>>8;if(b)if(e>>>0>16777215)d=31;else{g=(b+1048320|0)>>>16&8;i=b<>>16&4;i=i<>>16&2;d=14-(c|g|d)+(i<>>15)|0;d=e>>>(d+7|0)&1|d<<1}else d=0;b=72468+(d<<2)|0;f[h+28>>2]=d;f[h+20>>2]=0;f[h+16>>2]=0;a=f[18042]|0;c=1<>2]=h;f[h+24>>2]=b;f[h+12>>2]=h;f[h+8>>2]=h;return}b=f[b>>2]|0;a:do if((f[b+4>>2]&-8|0)!=(e|0)){d=e<<((d|0)==31?0:25-(d>>>1)|0);while(1){c=b+16+(d>>>31<<2)|0;a=f[c>>2]|0;if(!a)break;if((f[a+4>>2]&-8|0)==(e|0)){b=a;break a}else{d=d<<1;b=a}}f[c>>2]=h;f[h+24>>2]=b;f[h+12>>2]=h;f[h+8>>2]=h;return}while(0);g=b+8|0;i=f[g>>2]|0;f[i+12>>2]=h;f[g>>2]=h;f[h+8>>2]=i;f[h+12>>2]=b;f[h+24>>2]=0;return}function jz(a,b){a=a|0;b=b|0;if(a>>>0<9){b=dz(b)|0;return b|0}else{b=kz(a,b)|0;return b|0}return 0}function kz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a>>>0>16?a:16;if(!(c+-1&c))a=c;else{a=16;while(1)if(a>>>0>>0)a=a<<1;else break}if((-64-a|0)>>>0<=b>>>0){h=mz()|0;f[h>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;c=dz(g+12+a|0)|0;if(!c){h=0;return h|0}e=c+-8|0;do if(a+-1&c){d=(c+a+-1&0-a)+-8|0;b=e;d=(d-b|0)>>>0>15?d:d+a|0;b=d-b|0;a=c+-4|0;i=f[a>>2]|0;c=(i&-8)-b|0;if(!(i&3)){f[d>>2]=(f[e>>2]|0)+b;f[d+4>>2]=c;a=d;b=d;break}else{i=d+4|0;f[i>>2]=c|f[i>>2]&1|2;c=d+c+4|0;f[c>>2]=f[c>>2]|1;f[a>>2]=b|f[a>>2]&1|2;f[i>>2]=f[i>>2]|1;iz(e,b);a=d;b=d;break}}else{a=e;b=e}while(0);a=a+4|0;c=f[a>>2]|0;if(c&3|0?(h=c&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;e=b+g|0;f[a>>2]=g|c&1|2;f[e+4>>2]=i|3;h=b+h+4|0;f[h>>2]=f[h>>2]|1;iz(e,i)}i=b+8|0;return i|0}function lz(a){a=a|0;var b=0;if(a>>>0>4294963200){b=mz()|0;f[b>>2]=0-a;a=-1}return a|0}function mz(){return 72724}function nz(a){a=a|0;return a|0}function oz(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function pz(){return 39384}function qz(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function rz(a){a=a|0;var b=0;b=(sz(a)|0)==0;return (b?a:a&95)|0}function sz(a){a=a|0;return (a+-97|0)>>>0<26|0}function tz(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)a=e;else{do{a=a+1|0;c=c+1|0;d=b[a>>0]|0;e=b[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));a=e}return (d&255)-(a&255)|0}function uz(a){a=a|0;return (a+-65|0)>>>0<26|0}function vz(a){a=a|0;var b=0;b=(uz(a)|0)==0;return (b?a:a|32)|0}function wz(a){a=a|0;var c=0,d=0,e=0;e=a;a:do if(!(e&3))d=5;else{c=e;while(1){if(!(b[a>>0]|0)){a=c;break a}a=a+1|0;c=a;if(!(c&3)){d=5;break}}}while(0);if((d|0)==5){while(1){c=f[a>>2]|0;if(!((c&-2139062144^-2139062144)&c+-16843009))a=a+4|0;else break}if((c&255)<<24>>24)do a=a+1|0;while((b[a>>0]|0)!=0)}return a-e|0}function xz(a,b){a=a|0;b=b|0;if(!b)b=0;else b=yz(f[b>>2]|0,f[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function yz(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=zz(f[a+8>>2]|0,o)|0;e=zz(f[a+12>>2]|0,o)|0;g=zz(f[a+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=c-(h<<2)|0,e>>>0>>0&g>>>0>>0):0)?((g|e)&3|0)==0:0){n=e>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;e=zz(f[a+(g<<2)>>2]|0,o)|0;g=zz(f[a+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&e>>>0<(c-g|0)>>>0)){e=0;break a}if(b[a+(g+e)>>0]|0){e=0;break a}e=tz(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}l=e?l:k;h=e?j:h-j|0}e=i+m|0;g=zz(f[a+(e<<2)>>2]|0,o)|0;e=zz(f[a+(e+1<<2)>>2]|0,o)|0;if(e>>>0>>0&g>>>0<(c-e|0)>>>0)e=(b[a+(e+g)>>0]|0)==0?a+e|0:0;else e=0}else e=0;while(0);return e|0}function zz(a,b){a=a|0;b=b|0;var c=0;c=XA(a|0)|0;return ((b|0)==0?a:c)|0}function Az(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=t;t=t+192|0;i=r+168|0;h=r+152|0;q=r+136|0;p=r+120|0;o=r+112|0;l=r+96|0;k=r+80|0;e=r+64|0;m=r+48|0;g=r+32|0;d=r+16|0;s=r;j=r+184|0;f[s>>2]=c;c=(f[s>>2]|0)+(4-1)&~(4-1);n=f[c>>2]|0;f[s>>2]=c+4;n=(b|0)==4?n|32768:n;a:do switch(b|0){case 14:{f[d>>2]=a;f[d+4>>2]=14;f[d+8>>2]=n;c=lz(Ia(221,d|0)|0)|0;break}case 9:{f[g>>2]=a;f[g+4>>2]=16;f[g+8>>2]=j;c=Ia(221,g|0)|0;switch(c|0){case -22:{f[m>>2]=a;f[m+4>>2]=9;f[m+8>>2]=n;c=Ia(221,m|0)|0;break}case 0:{c=f[j+4>>2]|0;c=(f[j>>2]|0)==2?0-c|0:c;break}default:c=lz(c)|0}break}case 1030:{f[e>>2]=a;f[e+4>>2]=1030;f[e+8>>2]=n;c=Ia(221,e|0)|0;if((c|0)!=-22){if((c|0)>-1){f[k>>2]=c;f[k+4>>2]=2;f[k+8>>2]=1;Ia(221,k|0)|0}c=lz(c)|0;break a}f[l>>2]=a;f[l+4>>2]=1030;f[l+8>>2]=0;c=Ia(221,l|0)|0;if((c|0)==-22){f[p>>2]=a;f[p+4>>2]=0;f[p+8>>2]=n;c=Ia(221,p|0)|0;if((c|0)>-1){f[q>>2]=c;f[q+4>>2]=2;f[q+8>>2]=1;Ia(221,q|0)|0}c=lz(c)|0;break a}else{if((c|0)>-1){f[o>>2]=c;Pa(6,o|0)|0}c=lz(-22)|0;break a}}case 15:case 16:case 12:case 13:{f[h>>2]=a;f[h+4>>2]=b;f[h+8>>2]=n;c=lz(Ia(221,h|0)|0)|0;break}default:{f[i>>2]=a;f[i+4>>2]=b;f[i+8>>2]=n;c=lz(Ia(221,i|0)|0)|0}}while(0);t=r;return c|0}function Bz(){var a=0,b=0;b=t;t=t+16|0;a=Da(20,b|0)|0;t=b;return a|0}function Cz(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=c&255;a:do if(!e)a=a+(wz(a)|0)|0;else{if(a&3){d=c&255;do{g=b[a>>0]|0;if(g<<24>>24==0?1:g<<24>>24==d<<24>>24)break a;a=a+1|0}while((a&3|0)!=0)}e=U(e,16843009)|0;d=f[a>>2]|0;b:do if(!((d&-2139062144^-2139062144)&d+-16843009))do{g=d^e;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;a=a+4|0;d=f[a>>2]|0}while(!((d&-2139062144^-2139062144)&d+-16843009|0));while(0);d=c&255;while(1){g=b[a>>0]|0;if(g<<24>>24==0?1:g<<24>>24==d<<24>>24)break;else a=a+1|0}}while(0);return a|0}function Dz(a){a=a|0;var b=0;b=(Ez()|0)+188|0;return Fz(a,f[b>>2]|0)|0}function Ez(){return pz()|0}function Fz(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[35408+d>>0]|0)==(a|0)){e=4;break}d=d+1|0;if((d|0)==87){a=87;e=5;break}}if((e|0)==4)if(!d)d=35504;else{a=d;e=5}if((e|0)==5){d=35504;do{do{e=d;d=d+1|0}while((b[e>>0]|0)!=0);a=a+-1|0}while((a|0)!=0)}return Gz(d,f[c+20>>2]|0)|0}function Gz(a,b){a=a|0;b=b|0;return xz(a,b)|0}function Hz(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)a=0;else{while(1){e=b[a>>0]|0;f=b[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){a=0;break a}else{a=a+1|0;c=c+1|0}}a=(e&255)-(f&255)|0}while(0);return a|0}function Iz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=t;t=t+48|0;g=h+32|0;e=h+16|0;d=h;if(!(b&4194368))d=0;else{f[d>>2]=c;i=(f[d>>2]|0)+(4-1)&~(4-1);c=f[i>>2]|0;f[d>>2]=i+4;d=c}f[e>>2]=a;f[e+4>>2]=b|32768;f[e+8>>2]=d;d=Oa(5,e|0)|0;if(!((b&524288|0)==0|(d|0)<0)){f[g>>2]=d;f[g+4>>2]=2;f[g+8>>2]=1;Ia(221,g|0)|0}i=lz(d)|0;t=h;return i|0}function Jz(a){a=a|0;var b=0,c=0;b=t;t=t+16|0;c=b;a=nz(a)|0;f[c>>2]=a;a=Pa(6,c|0)|0;a=lz((a|0)==-4?0:a)|0;t=b;return a|0}function Kz(a,b){a=a|0;b=b|0;var c=0,d=0;c=t;t=t+16|0;d=c;f[d>>2]=a;f[d+4>>2]=b;b=lz(Ba(196,d|0)|0)|0;t=c;return b|0}function Lz(a,b){a=a|0;b=b|0;var c=0,d=0;c=t;t=t+16|0;d=c;f[d>>2]=a;f[d+4>>2]=b;b=lz(Aa(195,d|0)|0)|0;t=c;return b|0}function Mz(a,b){a=a|0;b=b|0;var c=0,d=0;c=t;t=t+16|0;d=c;f[d>>2]=a;f[d+4>>2]=b;b=lz(Ka(33,d|0)|0)|0;t=c;return b|0}function Nz(a,b){a=a|0;b=b|0;return Qz(a,b,(wz(a)|0)+1|0)|0}function Oz(a,b){a=a|0;b=b|0;Pz(a,b)|0;return a|0}function Pz(a,c){a=a|0;c=c|0;var d=0,e=0;d=c;a:do if(!((d^a)&3)){if(d&3)do{d=b[c>>0]|0;b[a>>0]=d;if(!(d<<24>>24))break a;c=c+1|0;a=a+1|0}while((c&3|0)!=0);d=f[c>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009)){e=a;while(1){c=c+4|0;a=e+4|0;f[e>>2]=d;d=f[c>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0)break;else e=a}}e=10}else e=10;while(0);if((e|0)==10){e=b[c>>0]|0;b[a>>0]=e;if(e<<24>>24)do{c=c+1|0;a=a+1|0;e=b[c>>0]|0;b[a>>0]=e}while(e<<24>>24!=0)}return a|0}function Qz(a,c,d){a=a|0;c=c|0;d=d|0;a:do if(!d)d=0;else{c=c&255;while(1){d=d+-1|0;if((b[a+d>>0]|0)==c<<24>>24)break;if(!d){d=0;break a}}d=a+d|0}while(0);return d|0}function Rz(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;d=a;e=71815;f=d+15|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){b[a+14>>0]=48;b[a+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}b[a+d>>0]=0;do{f=c;c=(c>>>0)/10|0;d=d+-1|0;b[a+d>>0]=f-(c*10|0)|48}while(f>>>0>=10)}return}function Sz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=t;t=t+16|0;e=d;f[e>>2]=a;f[e+4>>2]=b;f[e+8>>2]=c;c=lz(Qa(85,e|0)|0)|0;t=d;return c|0}function Tz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=t;t=t+48|0;e=g+40|0;d=g;c=g+32|0;f[c>>2]=a;f[c+4>>2]=b;c=Ca(197,c|0)|0;if((c|0)==-9?(f[d>>2]=a,f[d+4>>2]=1,(Ia(221,d|0)|0)>=0):0){Rz(d,a);f[e>>2]=d;f[e+4>>2]=b;b=lz(Aa(195,e|0)|0)|0}else b=lz(c)|0;t=g;return b|0}function Uz(a){a=a|0;var b=0,c=0;b=(wz(a)|0)+1|0;c=dz(b)|0;if(!c)a=0;else a=YA(c|0,a|0,b|0)|0;return a|0}function Vz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=t;t=t+4112|0;d=g+4096|0;c=g;if(a)if(!b){a=mz()|0;f[a>>2]=22;a=0}else e=4;else{b=4096;a=c;e=4}if((e|0)==4){f[d>>2]=a;f[d+4>>2]=b;if((lz(xa(183,d|0)|0)|0)>=0){if((a|0)==(c|0))a=Uz(c)|0}else a=0}t=g;return a|0}function Wz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=t;t=t+16|0;e=d;f[e>>2]=a;f[e+4>>2]=b;f[e+8>>2]=c;c=lz(Ma(4,e|0)|0)|0;t=d;return c|0}function Xz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=t;t=t+16|0;e=d;f[e>>2]=a;f[e+4>>2]=b;f[e+8>>2]=c;c=lz(Ja(3,e|0)|0)|0;t=d;return c|0}function Yz(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if(!d)e=0;else{e=b[a>>0]|0;a:do if(!(e<<24>>24))e=0;else while(1){d=d+-1|0;f=b[c>>0]|0;if(!(e<<24>>24==f<<24>>24&((d|0)!=0&f<<24>>24!=0)))break a;a=a+1|0;c=c+1|0;e=b[a>>0]|0;if(!(e<<24>>24)){e=0;break}}while(0);e=(e&255)-(h[c>>0]|0)|0}return e|0}function Zz(a,b){a=a|0;b=b|0;var c=0,d=0;c=t;t=t+16|0;d=c;f[d>>2]=a;f[d+4>>2]=b;b=lz(La(39,d|0)|0)|0;t=c;return b|0}function _z(a,b){a=a|0;b=b|0;var c=0,d=0;c=t;t=t+16|0;d=c;f[d>>2]=a;f[d+4>>2]=b;b=lz(Ra(91,d|0)|0)|0;t=c;return b|0}function $z(){return}function aA(a){a=+a;var b=0;p[s>>3]=a;b=f[s+4>>2]&2147483647;f[s>>2]=f[s>>2];f[s+4>>2]=b;a=+p[s>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+cA(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+R(+a);a=(a+1.0/a)*.5;break}else{a=+dA(a);break}while(0);return +a}function bA(a){a=+a;var b=0.0,c=0,d=0.0;p[s>>3]=a;c=f[s+4>>2]|0;d=(c|0)<0?-.5:.5;c=c&2147483647;f[s>>2]=f[s>>2];f[s+4>>2]=c;b=+p[s>>3];do if(c>>>0<1082535490){b=+cA(b);if(c>>>0>=1072693248){a=d*(b+b/(b+1.0));break}if(c>>>0>=1045430272)a=d*(b*2.0-b*b/(b+1.0))}else a=d*2.0*+dA(b);while(0);return +a}function cA(a){a=+a;var b=0,c=0,d=0.0,e=0.0,g=0.0,h=0,i=0,j=0.0;p[s>>3]=a;c=f[s+4>>2]|0;b=c&2147483647;c=VA(f[s>>2]|0,c|0,63)|0;ba()|0;do if(b>>>0>1078159481){h=eA(a)|0;b=(ba()|0)&2147483647;if(!(b>>>0>2146435072|(b|0)==2146435072&h>>>0>0))if(!c)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else i=11;else a=-1.0}else{if(b>>>0<=1071001154)if(b>>>0<1016070144)break;else{g=0.0;h=0;i=14;break}if(b>>>0<1072734898)if(!c){b=1;d=a+-.6931471803691238;e=1.9082149292705877e-10;i=12;break}else{b=-1;d=a+.6931471803691238;e=-1.9082149292705877e-10;i=12;break}else i=11}while(0);if((i|0)==11){b=~~(a*1.4426950408889634+((c|0)==0?.5:-.5));e=+(b|0);d=a-e*.6931471803691238;e=e*1.9082149292705877e-10;i=12}if((i|0)==12){g=d-e;a=g;g=d-g-e;h=b;i=14}a:do if((i|0)==14){e=a*.5;d=a*e;j=d*(d*(d*(d*(4.008217827329362e-06-d*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;e=3.0-e*j;e=d*((j-e)/(6.0-a*e));if(!h){a=a-(a*e-d);break}e=a*(e-g)-g-d;switch(h|0){case -1:{a=(a-e)*.5+-.5;break a}case 1:if(a<-.25){a=(e-(a+.5))*-2.0;break a}else{a=(a-e)*2.0+1.0;break a}default:{c=WA(h+1023|0,0,52)|0;i=ba()|0;f[s>>2]=c;f[s+4>>2]=i;g=+p[s>>3];if(h>>>0>56){a=a-e+1.0;a=((h|0)==1024?a*2.0*8988465674311579538646525.0e283:a*g)+-1.0;break a}b=WA(1023-h|0,0,52)|0;c=ba()|0;if((h|0)<20){f[s>>2]=b;f[s+4>>2]=c;d=1.0-+p[s>>3];a=a-e}else{f[s>>2]=b;f[s+4>>2]=c;d=a-(e+ +p[s>>3]);a=1.0}a=(d+a)*g;break a}}}while(0);return +a}function dA(a){a=+a;return +(+R(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function eA(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;aa(f[s+4>>2]|0);return b|0}function fA(a,b,c){a=a|0;b=b|0;c=c|0;gA(a,b,c)|0;return a|0}function gA(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;g=c;a:do if(!((g^a)&3)){e=(d|0)!=0;if(e&(g&3|0)!=0)do{g=b[c>>0]|0;b[a>>0]=g;if(!(g<<24>>24))break a;d=d+-1|0;c=c+1|0;a=a+1|0;e=(d|0)!=0}while(e&(c&3|0)!=0);if(e){if(b[c>>0]|0){b:do if(d>>>0>3){e=c;while(1){c=f[e>>2]|0;if((c&-2139062144^-2139062144)&c+-16843009|0){c=e;break b}f[a>>2]=c;d=d+-4|0;c=e+4|0;a=a+4|0;if(d>>>0>3)e=c;else break}}while(0);h=13}}else d=0}else h=13;while(0);c:do if((h|0)==13)if(!d)d=0;else while(1){h=b[c>>0]|0;b[a>>0]=h;if(!(h<<24>>24))break c;d=d+-1|0;a=a+1|0;if(!d){d=0;break}else c=c+1|0}while(0);_A(a|0,0,d|0)|0;return a|0}function hA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=t;t=t+208|0;j=m;k=m+192|0;h=U(c,b)|0;i=k;f[i>>2]=1;f[i+4>>2]=0;a:do if(h|0){i=0-c|0;f[j+4>>2]=c;f[j>>2]=c;e=2;b=c;g=c;while(1){b=b+c+g|0;f[j+(e<<2)>>2]=b;if(b>>>0>>0){n=g;e=e+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;e=1;b=1;do{do if((b&3|0)!=3){b=e+-1|0;if((f[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)iA(a,c,d,e,j);else kA(a,c,d,k,e,0,j);if((e|0)==1){lA(k,1);e=0;break}else{lA(k,b);e=1;break}}else{iA(a,c,d,e,j);jA(k,2);e=e+2|0}while(0);b=f[k>>2]|1;f[k>>2]=b;a=a+c|0}while(a>>>0>>0)}else{e=1;b=1}kA(a,c,d,k,e,0,j);g=k+4|0;while(1){if((e|0)==1&(b|0)==1)if(!(f[g>>2]|0))break a;else l=19;else if((e|0)<2)l=19;else{lA(k,2);n=e+-2|0;f[k>>2]=f[k>>2]^7;jA(k,1);kA(a+(0-(f[j+(n<<2)>>2]|0))+i|0,c,d,k,e+-1|0,1,j);lA(k,1);b=f[k>>2]|1;f[k>>2]=b;a=a+i|0;kA(a,c,d,k,n,1,j);e=n}if((l|0)==19){l=0;b=mA(k)|0;jA(k,b);a=a+i|0;e=b+e|0;b=f[k>>2]|0}}}while(0);t=m;return}function iA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+240|0;l=m;f[l>>2]=a;a:do if((d|0)>1){k=0-b|0;i=a;g=d;d=1;h=a;while(1){i=i+k|0;j=g+-2|0;a=i+(0-(f[e+(j<<2)>>2]|0))|0;if((jb[c&255](h,a)|0)>-1?(jb[c&255](h,i)|0)>-1:0)break a;h=l+(d<<2)|0;if((jb[c&255](a,i)|0)>-1){f[h>>2]=a;g=g+-1|0}else{f[h>>2]=i;a=i;g=j}d=d+1|0;if((g|0)<=1)break a;i=a;h=f[l>>2]|0}}else d=1;while(0);oA(b,l,d);t=m;return}function jA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=a+4|0;if(b>>>0>31){d=f[e>>2]|0;f[a>>2]=d;f[e>>2]=0;b=b+-32|0;c=0}else{c=f[e>>2]|0;d=f[a>>2]|0}f[a>>2]=c<<32-b|d>>>b;f[e>>2]=c>>>b;return}function kA(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=t;t=t+240|0;m=o+232|0;n=o;p=f[d>>2]|0;f[m>>2]=p;j=f[d+4>>2]|0;k=m+4|0;f[k>>2]=j;f[n>>2]=a;a:do if((p|0)!=1|(j|0)!=0?(l=0-b|0,i=a+(0-(f[h+(e<<2)>>2]|0))|0,(jb[c&255](i,a)|0)>=1):0){d=1;g=(g|0)==0;j=i;while(1){if(g&(e|0)>1){g=a+l|0;i=f[h+(e+-2<<2)>>2]|0;if((jb[c&255](g,j)|0)>-1){i=10;break a}if((jb[c&255](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=d+1|0;f[n+(d<<2)>>2]=j;p=mA(m)|0;jA(m,p);e=p+e|0;if(!((f[m>>2]|0)!=1|(f[k>>2]|0)!=0)){d=g;a=j;i=10;break a}a=j+(0-(f[h+(e<<2)>>2]|0))|0;if((jb[c&255](a,f[n>>2]|0)|0)<1){a=j;d=g;g=0;i=9;break}else{p=j;d=g;g=1;j=a;a=p}}}else{d=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){oA(b,n,d);iA(a,b,c,e,h)}t=o;return}function lA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=a+4|0;if(b>>>0>31){d=f[a>>2]|0;f[e>>2]=d;f[a>>2]=0;b=b+-32|0;c=0}else{c=f[a>>2]|0;d=f[e>>2]|0}f[e>>2]=c>>>(32-b|0)|d<>2]=c<>2]|0)+-1|0)|0;if(!b){b=nA(f[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function nA(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;while(1){a=a+1|0;if(!(b&2))b=b>>>1;else break}}else a=0;else a=32;return a|0}function oA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=t;t=t+256|0;d=h;a:do if((c|0)>=2?(g=b+(c<<2)|0,f[g>>2]=d,a|0):0)while(1){e=a>>>0<256?a:256;YA(d|0,f[b>>2]|0,e|0)|0;d=0;do{i=b+(d<<2)|0;d=d+1|0;YA(f[i>>2]|0,f[b+(d<<2)>>2]|0,e|0)|0;f[i>>2]=(f[i>>2]|0)+e}while((d|0)!=(c|0));a=a-e|0;if(!a)break a;d=f[g>>2]|0}while(0);t=h;return}function pA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=t;t=t+32|0;g=e;d=e+20|0;f[g>>2]=a;f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;c=(lz(va(140,g|0)|0)|0)==0;t=e;return (c?f[d>>2]|0:-1)|0}function qA(a,b){a=a|0;b=b|0;var c=0,d=0;c=t;t=t+16|0;d=c;f[d>>2]=a;f[d+4>>2]=0;f[d+8>>2]=b;f[d+12>>2]=b>>31;b=lz(za(194,d|0)|0)|0;t=c;return b|0}function rA(a){a=a|0;var b=0,c=0;b=t;t=t+16|0;c=b;f[c>>2]=a;a=lz(ua(118,c|0)|0)|0;t=b;return a|0}function sA(a){a=a|0;var b=0,c=0;c=t;t=t+16|0;b=c;f[b>>2]=a;f[b+4>>2]=0;a=($a(b|0,b|0)|0)==0;t=c;return (a?0:f[b>>2]|0)|0}function tA(a){a=a|0;var b=0,c=0;b=t;t=t+16|0;c=b;f[c>>2]=a;a=lz(ta(10,c|0)|0)|0;t=b;return a|0}function uA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=t;t=t+64|0;g=h+48|0;e=h;d=h+32|0;f[d>>2]=a;f[d+4>>2]=b;f[d+8>>2]=c;d=Ga(207,d|0)|0;if((d|0)==-9?(f[e>>2]=a,f[e+4>>2]=1,(Ia(221,e|0)|0)>=0):0){Rz(e,a);f[g>>2]=e;f[g+4>>2]=b;f[g+8>>2]=c;a=lz(Ha(212,g|0)|0)|0}else a=lz(d)|0;t=h;return a|0}function vA(){var a=0,b=0;b=t;t=t+16|0;a=Ea(201,b|0)|0;t=b;return a|0}function wA(a){a=a|0;var b=0,c=0;b=t;t=t+16|0;c=b;f[c>>2]=a;a=lz(Na(40,c|0)|0)|0;t=b;return a|0}function xA(a){a=+a;var b=0,c=0,d=0,e=0,g=0.0;p[s>>3]=a;e=f[s>>2]|0;c=f[s+4>>2]|0;b=VA(e|0,c|0,52)|0;ba()|0;b=b&2047;f[s>>2]=e;f[s+4>>2]=c&2147483647;a=+p[s>>3];if(b>>>0<1022){if(b>>>0>=991){g=a*2.0;a=g+g*a/(1.0-a);d=5}}else{a=a/(1.0-a)*2.0;d=5}if((d|0)==5)a=+yA(a)*.5;return +((c|0)<0?-a:a)}function yA(a){a=+a;var b=0.0,c=0,d=0.0,e=0,g=0,h=0.0,i=0.0,j=0.0,k=0.0;p[s>>3]=a;c=f[s+4>>2]|0;do if((c|0)<0|c>>>0<1071284858)if(c>>>0<=3220176895){g=WA(c|0,0,1)|0;ba()|0;if(g>>>0<2034237440)break;if(c>>>0<3218259653){d=0.0;b=0.0;e=11;break}else{e=8;break}}else{if(a==-1.0){a=-A;break}a=(a-a)/0.0;break}else if(c>>>0<=2146435071)e=8;while(0);if((e|0)==8){b=a+1.0;p[s>>3]=b;c=(f[s+4>>2]|0)+614242|0;if(c>>>0<1129316352)b=(c>>>0>1074790399?1.0-(b-a):a-(b+-1.0))/b;else b=0.0;f[s>>2]=f[s>>2];f[s+4>>2]=(c&1048575)+1072079006;d=+((c>>>20)+-1023|0);a=+p[s>>3]+-1.0;e=11}if((e|0)==11){h=a*(a*.5);k=a/(a+2.0);j=k*k;i=j*j;a=d*.6931471803691238+(a+(b+d*1.9082149292705877e-10+k*(h+(i*(i*(i*.15313837699209373+.22222198432149784)+.3999999999940942)+j*(i*(i*(i*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-h))}return +a}function zA(a){a=+a;var b=0;p[s>>3]=a;b=VA(f[s>>2]|0,f[s+4>>2]|0,52)|0;ba()|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+S(+(a*2.0-1.0/(+I(+(a*a+-1.0))+a)));break}else{a=+S(+a)+.6931471805599453;break}else{a=a+-1.0;a=+yA(a+ +I(+(a*a+a*2.0)))}while(0);return +a}function AA(a){a=+a;var b=0,c=0;p[s>>3]=a;c=f[s+4>>2]|0;b=c&2147483647;f[s>>2]=f[s>>2];f[s+4>>2]=b;a=+p[s>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+cA(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+cA(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+cA(a*-2.0);a=-a/(a+2.0)}}while(0);return +((c|0)<0?-a:a)}function BA(a){a=+a;var b=0,c=0,d=0,e=0.0;p[s>>3]=a;d=f[s>>2]|0;c=f[s+4>>2]|0;b=VA(d|0,c|0,52)|0;ba()|0;b=b&2047;f[s>>2]=d;f[s+4>>2]=c&2147483647;a=+p[s>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+S(+(a*2.0+1.0/(+I(+(a*a+1.0))+a)));break}if(b>>>0>996){e=a*a;a=+yA(e/(+I(+(e+1.0))+1.0)+a)}}else a=+S(+a)+.6931471805599453;while(0);return +((c|0)<0?-a:a)}function CA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=t;t=t+48|0;e=g+40|0;d=g;c=g+32|0;f[c>>2]=a;f[c+4>>2]=b;c=Sa(94,c|0)|0;if((c|0)==-9?(f[d>>2]=a,f[d+4>>2]=1,(Ia(221,d|0)|0)>=0):0){Rz(d,a);f[e>>2]=d;f[e+4>>2]=b;a=lz(wa(15,e|0)|0)|0}else a=lz(c)|0;t=g;return a|0}function DA(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;i=t;t=t+32|0;h=i;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){a=mz()|0;f[a>>2]=12;a=-1;break}f[h>>2]=a;f[h+4>>2]=b;f[h+8>>2]=c;f[h+12>>2]=d;f[h+16>>2]=e;f[h+20>>2]=g>>12;a=lz(ya(192,h|0)|0)|0}else{a=mz()|0;f[a>>2]=22;a=-1}while(0);t=i;return a|0}function EA(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=t;t=t+32|0;e=h;d=b[c>>0]|0;a:do if(d<<24>>24!=0?(b[c+1>>0]|0)!=0:0){_A(e|0,0,32)|0;d=b[c>>0]|0;if(d<<24>>24)do{j=d&255;i=e+(j>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(j&31);c=c+1|0;d=b[c>>0]|0}while(d<<24>>24!=0);c=b[a>>0]|0;if(!(c<<24>>24))d=a;else{d=a;do{j=c&255;if(f[e+(j>>>5<<2)>>2]&1<<(j&31)|0)break a;d=d+1|0;c=b[d>>0]|0}while(c<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)d=Cz(a,d<<24>>24)|0;t=h;return d-a|0}function FA(){ra(72744);return}function GA(){return 72728}function HA(){return 72736}function IA(){return 72740}function JA(){return 72744}function KA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (aa(b+d+(c>>>0>>0|0)>>>0|0),c|0)|0}function LA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (aa(d|0),a-c>>>0|0)|0}function MA(a){a=a|0;return (a?31-(X(a^a-1)|0)|0:32)|0}function NA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=c;n=d;i=n;if(!k){g=(e|0)!=0;if(!i){if(g){f[e>>2]=(l>>>0)%(h>>>0);f[e+4>>2]=0}n=0;e=(l>>>0)/(h>>>0)>>>0;return (aa(n|0),e)|0}else{if(!g){n=0;e=0;return (aa(n|0),e)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;e=0;return (aa(n|0),e)|0}}g=(i|0)==0;do if(h){if(!g){g=(X(i|0)|0)-(X(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;n=0;e=0;return (aa(n|0),e)|0}g=h-1|0;if(g&h|0){i=(X(h|0)|0)+33-(X(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(e|0){f[e>>2]=g&l;f[e+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (aa(o|0),p)|0}else{p=MA(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (aa(o|0),p)|0}}else{if(g){if(e|0){f[e>>2]=(k>>>0)%(h>>>0);f[e+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (aa(o|0),p)|0}if(!l){if(e|0){f[e>>2]=0;f[e+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (aa(o|0),p)|0}g=i-1|0;if(!(g&i)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=g&k|b&0}o=0;p=k>>>((MA(i|0)|0)>>>0);return (aa(o|0),p)|0}g=(X(i|0)|0)-(X(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;o=0;p=0;return (aa(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=KA(m|0,l|0,-1,-1)|0;c=ba()|0;j=i;i=0;do{d=j;j=g>>>31|j<<1;g=i|g<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;LA(k|0,c|0,d|0,n|0)|0;p=ba()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=LA(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=ba()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(e|0){f[e>>2]=a;f[e+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (aa(o|0),p)|0}function OA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=LA(j^a|0,i^b|0,j|0,i|0)|0;g=ba()|0;a=f^j;b=e^i;return LA((NA(h,g,LA(f^c|0,e^d|0,f|0,e|0)|0,ba()|0,0)|0)^a|0,(ba()|0)^b|0,a|0,b|0)|0}function PA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=U(e,f)|0;d=a>>>16;a=(c>>>16)+(U(e,d)|0)|0;e=b>>>16;b=U(e,f)|0;return (aa((a>>>16)+(U(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function QA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=PA(e,f)|0;a=ba()|0;return (aa((U(b,f)|0)+(U(d,e)|0)+a|a&0|0),c|0|0)|0}function RA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=t;t=t+16|0;i=e|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=d>>31|((d|0)<0?-1:0)<<1;j=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;a=LA(h^a|0,g^b|0,h|0,g|0)|0;b=ba()|0;NA(a,b,LA(k^c|0,j^d|0,k|0,j|0)|0,ba()|0,i)|0;d=LA(f[i>>2]^h|0,f[i+4>>2]^g|0,h|0,g|0)|0;c=ba()|0;t=e;return (aa(c|0),d)|0}function SA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return NA(a,b,c,d,0)|0}function TA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=t;t=t+16|0;e=g|0;NA(a,b,c,d,e)|0;t=g;return (aa(f[e+4>>2]|0),f[e>>2]|0)|0}function UA(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){aa(b>>c|0);return a>>>c|(b&(1<>c-32|0}function VA(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){aa(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function WA(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){aa(b<>>32-c|0);return a<>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function YA(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Ta(a|0,c|0,d|0)|0;h=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return h|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}d=g&-4|0;e=d-64|0;while((a|0)<=(e|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(d|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{d=g-4|0;while((a|0)<(d|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return h|0}function ZA(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else YA(a,c,d)|0;return a|0}function _A(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}e=h&-4|0;g=e-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(g|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(e|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){b[a>>0]=c;a=a+1|0}return h-d|0}function $A(a){a=a|0;var b=0,c=0;c=f[r>>2]|0;b=c+a|0;if((a|0)>0&(b|0)<(c|0)|(b|0)<0){ca()|0;sa(12);return -1}f[r>>2]=b;if((b|0)>($()|0)?(_()|0)==0:0){f[r>>2]=c;sa(12);return -1}return c|0}function aB(a){a=a|0;return hb[a&127]()|0}function bB(){return da(0)|0}function cB(){return da(1)|0}function dB(){return da(2)|0}function eB(){return da(3)|0}function fB(){return da(4)|0}function gB(){return da(5)|0}function hB(){return da(6)|0}function iB(){return da(7)|0}function jB(){return da(8)|0}function kB(){return da(9)|0}function lB(){return da(10)|0}function mB(){return da(11)|0}function nB(){return da(12)|0}function oB(){return da(13)|0}function pB(){return da(14)|0}function qB(){return da(15)|0}function rB(){return da(16)|0}function sB(){return da(17)|0}function tB(){return da(18)|0}function uB(){return da(19)|0}function vB(){return da(20)|0}function wB(){return da(21)|0}function xB(){return da(22)|0}function yB(){return da(23)|0}function zB(){return da(24)|0}function AB(){return da(25)|0}function BB(){return da(26)|0}function CB(){return da(27)|0}function DB(){return da(28)|0}function EB(){return da(29)|0}function FB(){return da(30)|0}function GB(){return da(31)|0}function HB(){return da(32)|0}function IB(){return da(33)|0}function JB(){return da(34)|0}function KB(){return da(35)|0}function LB(){return da(36)|0}function MB(){return da(37)|0}function NB(){return da(38)|0}function OB(){return da(39)|0}function PB(){return da(40)|0}function QB(){return da(41)|0}function RB(){return da(42)|0}function SB(){return da(43)|0}function TB(){return da(44)|0}function UB(){return da(45)|0}function VB(){return da(46)|0}function WB(){return da(47)|0}function XB(){return da(48)|0}function YB(){return da(49)|0}function ZB(){return da(50)|0}function _B(){return da(51)|0}function $B(){return da(52)|0}function aC(){return da(53)|0}function bC(){return da(54)|0}function cC(){return da(55)|0}function dC(){return da(56)|0}function eC(){return da(57)|0}function fC(){return da(58)|0}function gC(){return da(59)|0}function hC(){return da(60)|0}function iC(){return da(61)|0}function jC(){return da(62)|0}function kC(){return da(63)|0}function lC(a,b){a=a|0;b=b|0;return ib[a&255](b|0)|0}function mC(a){a=a|0;return ea(0,a|0)|0}function nC(a){a=a|0;return ea(1,a|0)|0}function oC(a){a=a|0;return ea(2,a|0)|0}function pC(a){a=a|0;return ea(3,a|0)|0}function qC(a){a=a|0;return ea(4,a|0)|0}function rC(a){a=a|0;return ea(5,a|0)|0}function sC(a){a=a|0;return ea(6,a|0)|0}function tC(a){a=a|0;return ea(7,a|0)|0}function uC(a){a=a|0;return ea(8,a|0)|0}function vC(a){a=a|0;return ea(9,a|0)|0}function wC(a){a=a|0;return ea(10,a|0)|0}function xC(a){a=a|0;return ea(11,a|0)|0}function yC(a){a=a|0;return ea(12,a|0)|0}function zC(a){a=a|0;return ea(13,a|0)|0}function AC(a){a=a|0;return ea(14,a|0)|0}function BC(a){a=a|0;return ea(15,a|0)|0}function CC(a){a=a|0;return ea(16,a|0)|0}function DC(a){a=a|0;return ea(17,a|0)|0}function EC(a){a=a|0;return ea(18,a|0)|0}function FC(a){a=a|0;return ea(19,a|0)|0}function GC(a){a=a|0;return ea(20,a|0)|0}function HC(a){a=a|0;return ea(21,a|0)|0}function IC(a){a=a|0;return ea(22,a|0)|0}function JC(a){a=a|0;return ea(23,a|0)|0}function KC(a){a=a|0;return ea(24,a|0)|0}function LC(a){a=a|0;return ea(25,a|0)|0}function MC(a){a=a|0;return ea(26,a|0)|0}function NC(a){a=a|0;return ea(27,a|0)|0}function OC(a){a=a|0;return ea(28,a|0)|0}function PC(a){a=a|0;return ea(29,a|0)|0}function QC(a){a=a|0;return ea(30,a|0)|0}function RC(a){a=a|0;return ea(31,a|0)|0}function SC(a){a=a|0;return ea(32,a|0)|0}function TC(a){a=a|0;return ea(33,a|0)|0}function UC(a){a=a|0;return ea(34,a|0)|0}function VC(a){a=a|0;return ea(35,a|0)|0}function WC(a){a=a|0;return ea(36,a|0)|0}function XC(a){a=a|0;return ea(37,a|0)|0}function YC(a){a=a|0;return ea(38,a|0)|0}function ZC(a){a=a|0;return ea(39,a|0)|0}function _C(a){a=a|0;return ea(40,a|0)|0}function $C(a){a=a|0;return ea(41,a|0)|0}function aD(a){a=a|0;return ea(42,a|0)|0}function bD(a){a=a|0;return ea(43,a|0)|0}function cD(a){a=a|0;return ea(44,a|0)|0}function dD(a){a=a|0;return ea(45,a|0)|0}function eD(a){a=a|0;return ea(46,a|0)|0}function fD(a){a=a|0;return ea(47,a|0)|0}function gD(a){a=a|0;return ea(48,a|0)|0}function hD(a){a=a|0;return ea(49,a|0)|0}function iD(a){a=a|0;return ea(50,a|0)|0}function jD(a){a=a|0;return ea(51,a|0)|0}function kD(a){a=a|0;return ea(52,a|0)|0}function lD(a){a=a|0;return ea(53,a|0)|0}function mD(a){a=a|0;return ea(54,a|0)|0}function nD(a){a=a|0;return ea(55,a|0)|0}function oD(a){a=a|0;return ea(56,a|0)|0}function pD(a){a=a|0;return ea(57,a|0)|0}function qD(a){a=a|0;return ea(58,a|0)|0}function rD(a){a=a|0;return ea(59,a|0)|0}function sD(a){a=a|0;return ea(60,a|0)|0}function tD(a){a=a|0;return ea(61,a|0)|0}function uD(a){a=a|0;return ea(62,a|0)|0}function vD(a){a=a|0;return ea(63,a|0)|0}function wD(a,b,c){a=a|0;b=b|0;c=c|0;return jb[a&255](b|0,c|0)|0}function xD(a,b){a=a|0;b=b|0;return fa(0,a|0,b|0)|0}function yD(a,b){a=a|0;b=b|0;return fa(1,a|0,b|0)|0}function zD(a,b){a=a|0;b=b|0;return fa(2,a|0,b|0)|0}function AD(a,b){a=a|0;b=b|0;return fa(3,a|0,b|0)|0}function BD(a,b){a=a|0;b=b|0;return fa(4,a|0,b|0)|0}function CD(a,b){a=a|0;b=b|0;return fa(5,a|0,b|0)|0}function DD(a,b){a=a|0;b=b|0;return fa(6,a|0,b|0)|0}function ED(a,b){a=a|0;b=b|0;return fa(7,a|0,b|0)|0}function FD(a,b){a=a|0;b=b|0;return fa(8,a|0,b|0)|0}function GD(a,b){a=a|0;b=b|0;return fa(9,a|0,b|0)|0}function HD(a,b){a=a|0;b=b|0;return fa(10,a|0,b|0)|0}function ID(a,b){a=a|0;b=b|0;return fa(11,a|0,b|0)|0}function JD(a,b){a=a|0;b=b|0;return fa(12,a|0,b|0)|0}function KD(a,b){a=a|0;b=b|0;return fa(13,a|0,b|0)|0}function LD(a,b){a=a|0;b=b|0;return fa(14,a|0,b|0)|0}function MD(a,b){a=a|0;b=b|0;return fa(15,a|0,b|0)|0}function ND(a,b){a=a|0;b=b|0;return fa(16,a|0,b|0)|0}function OD(a,b){a=a|0;b=b|0;return fa(17,a|0,b|0)|0}function PD(a,b){a=a|0;b=b|0;return fa(18,a|0,b|0)|0}function QD(a,b){a=a|0;b=b|0;return fa(19,a|0,b|0)|0}function RD(a,b){a=a|0;b=b|0;return fa(20,a|0,b|0)|0}function SD(a,b){a=a|0;b=b|0;return fa(21,a|0,b|0)|0}function TD(a,b){a=a|0;b=b|0;return fa(22,a|0,b|0)|0}function UD(a,b){a=a|0;b=b|0;return fa(23,a|0,b|0)|0}function VD(a,b){a=a|0;b=b|0;return fa(24,a|0,b|0)|0}function WD(a,b){a=a|0;b=b|0;return fa(25,a|0,b|0)|0}function XD(a,b){a=a|0;b=b|0;return fa(26,a|0,b|0)|0}function YD(a,b){a=a|0;b=b|0;return fa(27,a|0,b|0)|0}function ZD(a,b){a=a|0;b=b|0;return fa(28,a|0,b|0)|0}function _D(a,b){a=a|0;b=b|0;return fa(29,a|0,b|0)|0}function $D(a,b){a=a|0;b=b|0;return fa(30,a|0,b|0)|0}function aE(a,b){a=a|0;b=b|0;return fa(31,a|0,b|0)|0}function bE(a,b){a=a|0;b=b|0;return fa(32,a|0,b|0)|0}function cE(a,b){a=a|0;b=b|0;return fa(33,a|0,b|0)|0}function dE(a,b){a=a|0;b=b|0;return fa(34,a|0,b|0)|0}function eE(a,b){a=a|0;b=b|0;return fa(35,a|0,b|0)|0}function fE(a,b){a=a|0;b=b|0;return fa(36,a|0,b|0)|0}function gE(a,b){a=a|0;b=b|0;return fa(37,a|0,b|0)|0}function hE(a,b){a=a|0;b=b|0;return fa(38,a|0,b|0)|0}function iE(a,b){a=a|0;b=b|0;return fa(39,a|0,b|0)|0}function jE(a,b){a=a|0;b=b|0;return fa(40,a|0,b|0)|0}function kE(a,b){a=a|0;b=b|0;return fa(41,a|0,b|0)|0}function lE(a,b){a=a|0;b=b|0;return fa(42,a|0,b|0)|0}function mE(a,b){a=a|0;b=b|0;return fa(43,a|0,b|0)|0}function nE(a,b){a=a|0;b=b|0;return fa(44,a|0,b|0)|0}function oE(a,b){a=a|0;b=b|0;return fa(45,a|0,b|0)|0}function pE(a,b){a=a|0;b=b|0;return fa(46,a|0,b|0)|0}function qE(a,b){a=a|0;b=b|0;return fa(47,a|0,b|0)|0}function rE(a,b){a=a|0;b=b|0;return fa(48,a|0,b|0)|0}function sE(a,b){a=a|0;b=b|0;return fa(49,a|0,b|0)|0}function tE(a,b){a=a|0;b=b|0;return fa(50,a|0,b|0)|0}function uE(a,b){a=a|0;b=b|0;return fa(51,a|0,b|0)|0}function vE(a,b){a=a|0;b=b|0;return fa(52,a|0,b|0)|0}function wE(a,b){a=a|0;b=b|0;return fa(53,a|0,b|0)|0}function xE(a,b){a=a|0;b=b|0;return fa(54,a|0,b|0)|0}function yE(a,b){a=a|0;b=b|0;return fa(55,a|0,b|0)|0}function zE(a,b){a=a|0;b=b|0;return fa(56,a|0,b|0)|0}function AE(a,b){a=a|0;b=b|0;return fa(57,a|0,b|0)|0}function BE(a,b){a=a|0;b=b|0;return fa(58,a|0,b|0)|0}function CE(a,b){a=a|0;b=b|0;return fa(59,a|0,b|0)|0}function DE(a,b){a=a|0;b=b|0;return fa(60,a|0,b|0)|0}function EE(a,b){a=a|0;b=b|0;return fa(61,a|0,b|0)|0}function FE(a,b){a=a|0;b=b|0;return fa(62,a|0,b|0)|0}function GE(a,b){a=a|0;b=b|0;return fa(63,a|0,b|0)|0}function HE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return kb[a&127](b|0,c|0,d|0)|0}function IE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(0,a|0,b|0,c|0)|0}function JE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(1,a|0,b|0,c|0)|0}function KE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(2,a|0,b|0,c|0)|0}function LE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(3,a|0,b|0,c|0)|0}function ME(a,b,c){a=a|0;b=b|0;c=c|0;return ga(4,a|0,b|0,c|0)|0}function NE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(5,a|0,b|0,c|0)|0}function OE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(6,a|0,b|0,c|0)|0}function PE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(7,a|0,b|0,c|0)|0}function QE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(8,a|0,b|0,c|0)|0}function RE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(9,a|0,b|0,c|0)|0}function SE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(10,a|0,b|0,c|0)|0}function TE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(11,a|0,b|0,c|0)|0}function UE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(12,a|0,b|0,c|0)|0}function VE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(13,a|0,b|0,c|0)|0}function WE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(14,a|0,b|0,c|0)|0}function XE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(15,a|0,b|0,c|0)|0}function YE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(16,a|0,b|0,c|0)|0}function ZE(a,b,c){a=a|0;b=b|0;c=c|0;return ga(17,a|0,b|0,c|0)|0}function _E(a,b,c){a=a|0;b=b|0;c=c|0;return ga(18,a|0,b|0,c|0)|0}function $E(a,b,c){a=a|0;b=b|0;c=c|0;return ga(19,a|0,b|0,c|0)|0}function aF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(20,a|0,b|0,c|0)|0}function bF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(21,a|0,b|0,c|0)|0}function cF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(22,a|0,b|0,c|0)|0}function dF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(23,a|0,b|0,c|0)|0}function eF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(24,a|0,b|0,c|0)|0}function fF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(25,a|0,b|0,c|0)|0}function gF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(26,a|0,b|0,c|0)|0}function hF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(27,a|0,b|0,c|0)|0}function iF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(28,a|0,b|0,c|0)|0}function jF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(29,a|0,b|0,c|0)|0}function kF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(30,a|0,b|0,c|0)|0}function lF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(31,a|0,b|0,c|0)|0}function mF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(32,a|0,b|0,c|0)|0}function nF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(33,a|0,b|0,c|0)|0}function oF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(34,a|0,b|0,c|0)|0}function pF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(35,a|0,b|0,c|0)|0}function qF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(36,a|0,b|0,c|0)|0}function rF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(37,a|0,b|0,c|0)|0}function sF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(38,a|0,b|0,c|0)|0}function tF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(39,a|0,b|0,c|0)|0}function uF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(40,a|0,b|0,c|0)|0}function vF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(41,a|0,b|0,c|0)|0}function wF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(42,a|0,b|0,c|0)|0}function xF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(43,a|0,b|0,c|0)|0}function yF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(44,a|0,b|0,c|0)|0}function zF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(45,a|0,b|0,c|0)|0}function AF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(46,a|0,b|0,c|0)|0}function BF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(47,a|0,b|0,c|0)|0}function CF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(48,a|0,b|0,c|0)|0}function DF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(49,a|0,b|0,c|0)|0}function EF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(50,a|0,b|0,c|0)|0}function FF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(51,a|0,b|0,c|0)|0}function GF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(52,a|0,b|0,c|0)|0}function HF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(53,a|0,b|0,c|0)|0}function IF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(54,a|0,b|0,c|0)|0}function JF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(55,a|0,b|0,c|0)|0}function KF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(56,a|0,b|0,c|0)|0}function LF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(57,a|0,b|0,c|0)|0}function MF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(58,a|0,b|0,c|0)|0}function NF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(59,a|0,b|0,c|0)|0}function OF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(60,a|0,b|0,c|0)|0}function PF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(61,a|0,b|0,c|0)|0}function QF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(62,a|0,b|0,c|0)|0}function RF(a,b,c){a=a|0;b=b|0;c=c|0;return ga(63,a|0,b|0,c|0)|0}function SF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return lb[a&127](b|0,c|0,d|0,e|0)|0}function TF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(0,a|0,b|0,c|0,d|0)|0}function UF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(1,a|0,b|0,c|0,d|0)|0}function VF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(2,a|0,b|0,c|0,d|0)|0}function WF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(3,a|0,b|0,c|0,d|0)|0}function XF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(4,a|0,b|0,c|0,d|0)|0}function YF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(5,a|0,b|0,c|0,d|0)|0}function ZF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(6,a|0,b|0,c|0,d|0)|0}function _F(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(7,a|0,b|0,c|0,d|0)|0}function $F(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(8,a|0,b|0,c|0,d|0)|0}function aG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(9,a|0,b|0,c|0,d|0)|0}function bG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(10,a|0,b|0,c|0,d|0)|0}function cG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(11,a|0,b|0,c|0,d|0)|0}function dG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(12,a|0,b|0,c|0,d|0)|0}function eG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(13,a|0,b|0,c|0,d|0)|0}function fG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(14,a|0,b|0,c|0,d|0)|0}function gG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(15,a|0,b|0,c|0,d|0)|0}function hG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(16,a|0,b|0,c|0,d|0)|0}function iG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(17,a|0,b|0,c|0,d|0)|0}function jG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(18,a|0,b|0,c|0,d|0)|0}function kG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(19,a|0,b|0,c|0,d|0)|0}function lG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(20,a|0,b|0,c|0,d|0)|0}function mG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(21,a|0,b|0,c|0,d|0)|0}function nG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(22,a|0,b|0,c|0,d|0)|0}function oG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(23,a|0,b|0,c|0,d|0)|0}function pG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(24,a|0,b|0,c|0,d|0)|0}function qG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(25,a|0,b|0,c|0,d|0)|0}function rG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(26,a|0,b|0,c|0,d|0)|0}function sG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(27,a|0,b|0,c|0,d|0)|0}function tG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(28,a|0,b|0,c|0,d|0)|0}function uG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(29,a|0,b|0,c|0,d|0)|0}function vG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(30,a|0,b|0,c|0,d|0)|0}function wG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(31,a|0,b|0,c|0,d|0)|0}function xG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(32,a|0,b|0,c|0,d|0)|0}function yG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(33,a|0,b|0,c|0,d|0)|0}function zG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(34,a|0,b|0,c|0,d|0)|0}function AG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(35,a|0,b|0,c|0,d|0)|0}function BG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(36,a|0,b|0,c|0,d|0)|0}function CG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(37,a|0,b|0,c|0,d|0)|0}function DG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(38,a|0,b|0,c|0,d|0)|0}function EG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(39,a|0,b|0,c|0,d|0)|0}function FG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(40,a|0,b|0,c|0,d|0)|0}function GG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(41,a|0,b|0,c|0,d|0)|0}function HG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(42,a|0,b|0,c|0,d|0)|0}function IG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(43,a|0,b|0,c|0,d|0)|0}function JG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(44,a|0,b|0,c|0,d|0)|0}function KG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(45,a|0,b|0,c|0,d|0)|0}function LG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(46,a|0,b|0,c|0,d|0)|0}function MG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(47,a|0,b|0,c|0,d|0)|0}function NG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(48,a|0,b|0,c|0,d|0)|0}function OG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(49,a|0,b|0,c|0,d|0)|0}function PG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(50,a|0,b|0,c|0,d|0)|0}function QG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(51,a|0,b|0,c|0,d|0)|0}function RG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(52,a|0,b|0,c|0,d|0)|0}function SG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(53,a|0,b|0,c|0,d|0)|0}function TG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(54,a|0,b|0,c|0,d|0)|0}function UG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(55,a|0,b|0,c|0,d|0)|0}function VG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(56,a|0,b|0,c|0,d|0)|0}function WG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(57,a|0,b|0,c|0,d|0)|0}function XG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(58,a|0,b|0,c|0,d|0)|0}function YG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(59,a|0,b|0,c|0,d|0)|0}function ZG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(60,a|0,b|0,c|0,d|0)|0}function _G(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(61,a|0,b|0,c|0,d|0)|0}function $G(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(62,a|0,b|0,c|0,d|0)|0}function aH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(63,a|0,b|0,c|0,d|0)|0}function bH(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return mb[a&127](b|0,c|0,d|0,e|0,f|0)|0}function cH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(0,a|0,b|0,c|0,d|0,e|0)|0}function dH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(1,a|0,b|0,c|0,d|0,e|0)|0}function eH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(2,a|0,b|0,c|0,d|0,e|0)|0}function fH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(3,a|0,b|0,c|0,d|0,e|0)|0}function gH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(4,a|0,b|0,c|0,d|0,e|0)|0}function hH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(5,a|0,b|0,c|0,d|0,e|0)|0}function iH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(6,a|0,b|0,c|0,d|0,e|0)|0}function jH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(7,a|0,b|0,c|0,d|0,e|0)|0}function kH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(8,a|0,b|0,c|0,d|0,e|0)|0}function lH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(9,a|0,b|0,c|0,d|0,e|0)|0}function mH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(10,a|0,b|0,c|0,d|0,e|0)|0}function nH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(11,a|0,b|0,c|0,d|0,e|0)|0}function oH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(12,a|0,b|0,c|0,d|0,e|0)|0}function pH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(13,a|0,b|0,c|0,d|0,e|0)|0}function qH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(14,a|0,b|0,c|0,d|0,e|0)|0}function rH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(15,a|0,b|0,c|0,d|0,e|0)|0}function sH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(16,a|0,b|0,c|0,d|0,e|0)|0}function tH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(17,a|0,b|0,c|0,d|0,e|0)|0}function uH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(18,a|0,b|0,c|0,d|0,e|0)|0}function vH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(19,a|0,b|0,c|0,d|0,e|0)|0}function wH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(20,a|0,b|0,c|0,d|0,e|0)|0}function xH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(21,a|0,b|0,c|0,d|0,e|0)|0}function yH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(22,a|0,b|0,c|0,d|0,e|0)|0}function zH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(23,a|0,b|0,c|0,d|0,e|0)|0}function AH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(24,a|0,b|0,c|0,d|0,e|0)|0}function BH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(25,a|0,b|0,c|0,d|0,e|0)|0}function CH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(26,a|0,b|0,c|0,d|0,e|0)|0}function DH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(27,a|0,b|0,c|0,d|0,e|0)|0}function EH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(28,a|0,b|0,c|0,d|0,e|0)|0}function FH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(29,a|0,b|0,c|0,d|0,e|0)|0}function GH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(30,a|0,b|0,c|0,d|0,e|0)|0}function HH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(31,a|0,b|0,c|0,d|0,e|0)|0}function IH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(32,a|0,b|0,c|0,d|0,e|0)|0}function JH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(33,a|0,b|0,c|0,d|0,e|0)|0}function KH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(34,a|0,b|0,c|0,d|0,e|0)|0}function LH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(35,a|0,b|0,c|0,d|0,e|0)|0}function MH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(36,a|0,b|0,c|0,d|0,e|0)|0}function NH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(37,a|0,b|0,c|0,d|0,e|0)|0}function OH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(38,a|0,b|0,c|0,d|0,e|0)|0}function PH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(39,a|0,b|0,c|0,d|0,e|0)|0}function QH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(40,a|0,b|0,c|0,d|0,e|0)|0}function RH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(41,a|0,b|0,c|0,d|0,e|0)|0}function SH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(42,a|0,b|0,c|0,d|0,e|0)|0}function TH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(43,a|0,b|0,c|0,d|0,e|0)|0}function UH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(44,a|0,b|0,c|0,d|0,e|0)|0}function VH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(45,a|0,b|0,c|0,d|0,e|0)|0}function WH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(46,a|0,b|0,c|0,d|0,e|0)|0}function XH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(47,a|0,b|0,c|0,d|0,e|0)|0}function YH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(48,a|0,b|0,c|0,d|0,e|0)|0}function ZH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(49,a|0,b|0,c|0,d|0,e|0)|0}function _H(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(50,a|0,b|0,c|0,d|0,e|0)|0}function $H(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(51,a|0,b|0,c|0,d|0,e|0)|0}function aI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(52,a|0,b|0,c|0,d|0,e|0)|0}function bI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(53,a|0,b|0,c|0,d|0,e|0)|0}function cI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(54,a|0,b|0,c|0,d|0,e|0)|0}function dI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(55,a|0,b|0,c|0,d|0,e|0)|0}function eI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(56,a|0,b|0,c|0,d|0,e|0)|0}function fI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(57,a|0,b|0,c|0,d|0,e|0)|0}function gI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(58,a|0,b|0,c|0,d|0,e|0)|0}function hI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(59,a|0,b|0,c|0,d|0,e|0)|0}function iI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(60,a|0,b|0,c|0,d|0,e|0)|0}function jI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(61,a|0,b|0,c|0,d|0,e|0)|0}function kI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(62,a|0,b|0,c|0,d|0,e|0)|0}function lI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia(63,a|0,b|0,c|0,d|0,e|0)|0}function mI(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return nb[a&127](b|0,c|0,d|0,e|0,f|0,g|0)|0}function nI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function II(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function XI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _I(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $I(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ja(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xJ(a,b){a=a|0;b=b|0;ob[a&127](b|0)}function yJ(a){a=a|0;ka(0,a|0)}function zJ(a){a=a|0;ka(1,a|0)}function AJ(a){a=a|0;ka(2,a|0)}function BJ(a){a=a|0;ka(3,a|0)}function CJ(a){a=a|0;ka(4,a|0)}function DJ(a){a=a|0;ka(5,a|0)}function EJ(a){a=a|0;ka(6,a|0)}function FJ(a){a=a|0;ka(7,a|0)}function GJ(a){a=a|0;ka(8,a|0)}function HJ(a){a=a|0;ka(9,a|0)}function IJ(a){a=a|0;ka(10,a|0)}function JJ(a){a=a|0;ka(11,a|0)}function KJ(a){a=a|0;ka(12,a|0)}function LJ(a){a=a|0;ka(13,a|0)}function MJ(a){a=a|0;ka(14,a|0)}function NJ(a){a=a|0;ka(15,a|0)}function OJ(a){a=a|0;ka(16,a|0)}function PJ(a){a=a|0;ka(17,a|0)}function QJ(a){a=a|0;ka(18,a|0)}function RJ(a){a=a|0;ka(19,a|0)}function SJ(a){a=a|0;ka(20,a|0)}function TJ(a){a=a|0;ka(21,a|0)}function UJ(a){a=a|0;ka(22,a|0)}function VJ(a){a=a|0;ka(23,a|0)}function WJ(a){a=a|0;ka(24,a|0)}function XJ(a){a=a|0;ka(25,a|0)}function YJ(a){a=a|0;ka(26,a|0)}function ZJ(a){a=a|0;ka(27,a|0)}function _J(a){a=a|0;ka(28,a|0)}function $J(a){a=a|0;ka(29,a|0)}function aK(a){a=a|0;ka(30,a|0)}function bK(a){a=a|0;ka(31,a|0)}function cK(a){a=a|0;ka(32,a|0)}function dK(a){a=a|0;ka(33,a|0)}function eK(a){a=a|0;ka(34,a|0)}function fK(a){a=a|0;ka(35,a|0)}function gK(a){a=a|0;ka(36,a|0)}function hK(a){a=a|0;ka(37,a|0)}function iK(a){a=a|0;ka(38,a|0)}function jK(a){a=a|0;ka(39,a|0)}function kK(a){a=a|0;ka(40,a|0)}function lK(a){a=a|0;ka(41,a|0)}function mK(a){a=a|0;ka(42,a|0)}function nK(a){a=a|0;ka(43,a|0)}function oK(a){a=a|0;ka(44,a|0)}function pK(a){a=a|0;ka(45,a|0)}function qK(a){a=a|0;ka(46,a|0)}function rK(a){a=a|0;ka(47,a|0)}function sK(a){a=a|0;ka(48,a|0)}function tK(a){a=a|0;ka(49,a|0)}function uK(a){a=a|0;ka(50,a|0)}function vK(a){a=a|0;ka(51,a|0)}function wK(a){a=a|0;ka(52,a|0)}function xK(a){a=a|0;ka(53,a|0)}function yK(a){a=a|0;ka(54,a|0)}function zK(a){a=a|0;ka(55,a|0)}function AK(a){a=a|0;ka(56,a|0)}function BK(a){a=a|0;ka(57,a|0)}function CK(a){a=a|0;ka(58,a|0)}function DK(a){a=a|0;ka(59,a|0)}function EK(a){a=a|0;ka(60,a|0)}function FK(a){a=a|0;ka(61,a|0)}function GK(a){a=a|0;ka(62,a|0)}function HK(a){a=a|0;ka(63,a|0)}function IK(a,b,c){a=a|0;b=b|0;c=c|0;pb[a&127](b|0,c|0)}function JK(a,b){a=a|0;b=b|0;la(0,a|0,b|0)}function KK(a,b){a=a|0;b=b|0;la(1,a|0,b|0)}function LK(a,b){a=a|0;b=b|0;la(2,a|0,b|0)}function MK(a,b){a=a|0;b=b|0;la(3,a|0,b|0)}function NK(a,b){a=a|0;b=b|0;la(4,a|0,b|0)}function OK(a,b){a=a|0;b=b|0;la(5,a|0,b|0)}function PK(a,b){a=a|0;b=b|0;la(6,a|0,b|0)}function QK(a,b){a=a|0;b=b|0;la(7,a|0,b|0)}function RK(a,b){a=a|0;b=b|0;la(8,a|0,b|0)}function SK(a,b){a=a|0;b=b|0;la(9,a|0,b|0)}function TK(a,b){a=a|0;b=b|0;la(10,a|0,b|0)}function UK(a,b){a=a|0;b=b|0;la(11,a|0,b|0)}function VK(a,b){a=a|0;b=b|0;la(12,a|0,b|0)}function WK(a,b){a=a|0;b=b|0;la(13,a|0,b|0)}function XK(a,b){a=a|0;b=b|0;la(14,a|0,b|0)}function YK(a,b){a=a|0;b=b|0;la(15,a|0,b|0)}function ZK(a,b){a=a|0;b=b|0;la(16,a|0,b|0)}function _K(a,b){a=a|0;b=b|0;la(17,a|0,b|0)}function $K(a,b){a=a|0;b=b|0;la(18,a|0,b|0)}function aL(a,b){a=a|0;b=b|0;la(19,a|0,b|0)}function bL(a,b){a=a|0;b=b|0;la(20,a|0,b|0)}function cL(a,b){a=a|0;b=b|0;la(21,a|0,b|0)}function dL(a,b){a=a|0;b=b|0;la(22,a|0,b|0)}function eL(a,b){a=a|0;b=b|0;la(23,a|0,b|0)}function fL(a,b){a=a|0;b=b|0;la(24,a|0,b|0)}function gL(a,b){a=a|0;b=b|0;la(25,a|0,b|0)}function hL(a,b){a=a|0;b=b|0;la(26,a|0,b|0)}function iL(a,b){a=a|0;b=b|0;la(27,a|0,b|0)}function jL(a,b){a=a|0;b=b|0;la(28,a|0,b|0)}function kL(a,b){a=a|0;b=b|0;la(29,a|0,b|0)}function lL(a,b){a=a|0;b=b|0;la(30,a|0,b|0)}function mL(a,b){a=a|0;b=b|0;la(31,a|0,b|0)}function nL(a,b){a=a|0;b=b|0;la(32,a|0,b|0)}function oL(a,b){a=a|0;b=b|0;la(33,a|0,b|0)}function pL(a,b){a=a|0;b=b|0;la(34,a|0,b|0)}function qL(a,b){a=a|0;b=b|0;la(35,a|0,b|0)}function rL(a,b){a=a|0;b=b|0;la(36,a|0,b|0)}function sL(a,b){a=a|0;b=b|0;la(37,a|0,b|0)}function tL(a,b){a=a|0;b=b|0;la(38,a|0,b|0)}function uL(a,b){a=a|0;b=b|0;la(39,a|0,b|0)}function vL(a,b){a=a|0;b=b|0;la(40,a|0,b|0)}function wL(a,b){a=a|0;b=b|0;la(41,a|0,b|0)}function xL(a,b){a=a|0;b=b|0;la(42,a|0,b|0)}function yL(a,b){a=a|0;b=b|0;la(43,a|0,b|0)}function zL(a,b){a=a|0;b=b|0;la(44,a|0,b|0)}function AL(a,b){a=a|0;b=b|0;la(45,a|0,b|0)}function BL(a,b){a=a|0;b=b|0;la(46,a|0,b|0)}function CL(a,b){a=a|0;b=b|0;la(47,a|0,b|0)}function DL(a,b){a=a|0;b=b|0;la(48,a|0,b|0)}function EL(a,b){a=a|0;b=b|0;la(49,a|0,b|0)}function FL(a,b){a=a|0;b=b|0;la(50,a|0,b|0)}function GL(a,b){a=a|0;b=b|0;la(51,a|0,b|0)}function HL(a,b){a=a|0;b=b|0;la(52,a|0,b|0)}function IL(a,b){a=a|0;b=b|0;la(53,a|0,b|0)}function JL(a,b){a=a|0;b=b|0;la(54,a|0,b|0)}function KL(a,b){a=a|0;b=b|0;la(55,a|0,b|0)}function LL(a,b){a=a|0;b=b|0;la(56,a|0,b|0)}function ML(a,b){a=a|0;b=b|0;la(57,a|0,b|0)}function NL(a,b){a=a|0;b=b|0;la(58,a|0,b|0)}function OL(a,b){a=a|0;b=b|0;la(59,a|0,b|0)}function PL(a,b){a=a|0;b=b|0;la(60,a|0,b|0)}function QL(a,b){a=a|0;b=b|0;la(61,a|0,b|0)}function RL(a,b){a=a|0;b=b|0;la(62,a|0,b|0)}function SL(a,b){a=a|0;b=b|0;la(63,a|0,b|0)}function TL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;qb[a&255](b|0,c|0,d|0)}function UL(a,b,c){a=a|0;b=b|0;c=c|0;ma(0,a|0,b|0,c|0)}function VL(a,b,c){a=a|0;b=b|0;c=c|0;ma(1,a|0,b|0,c|0)}function WL(a,b,c){a=a|0;b=b|0;c=c|0;ma(2,a|0,b|0,c|0)}function XL(a,b,c){a=a|0;b=b|0;c=c|0;ma(3,a|0,b|0,c|0)}function YL(a,b,c){a=a|0;b=b|0;c=c|0;ma(4,a|0,b|0,c|0)}function ZL(a,b,c){a=a|0;b=b|0;c=c|0;ma(5,a|0,b|0,c|0)}function _L(a,b,c){a=a|0;b=b|0;c=c|0;ma(6,a|0,b|0,c|0)}function $L(a,b,c){a=a|0;b=b|0;c=c|0;ma(7,a|0,b|0,c|0)}function aM(a,b,c){a=a|0;b=b|0;c=c|0;ma(8,a|0,b|0,c|0)}function bM(a,b,c){a=a|0;b=b|0;c=c|0;ma(9,a|0,b|0,c|0)}function cM(a,b,c){a=a|0;b=b|0;c=c|0;ma(10,a|0,b|0,c|0)}function dM(a,b,c){a=a|0;b=b|0;c=c|0;ma(11,a|0,b|0,c|0)}function eM(a,b,c){a=a|0;b=b|0;c=c|0;ma(12,a|0,b|0,c|0)}function fM(a,b,c){a=a|0;b=b|0;c=c|0;ma(13,a|0,b|0,c|0)}function gM(a,b,c){a=a|0;b=b|0;c=c|0;ma(14,a|0,b|0,c|0)}function hM(a,b,c){a=a|0;b=b|0;c=c|0;ma(15,a|0,b|0,c|0)}function iM(a,b,c){a=a|0;b=b|0;c=c|0;ma(16,a|0,b|0,c|0)}function jM(a,b,c){a=a|0;b=b|0;c=c|0;ma(17,a|0,b|0,c|0)}function kM(a,b,c){a=a|0;b=b|0;c=c|0;ma(18,a|0,b|0,c|0)}function lM(a,b,c){a=a|0;b=b|0;c=c|0;ma(19,a|0,b|0,c|0)}function mM(a,b,c){a=a|0;b=b|0;c=c|0;ma(20,a|0,b|0,c|0)}function nM(a,b,c){a=a|0;b=b|0;c=c|0;ma(21,a|0,b|0,c|0)}function oM(a,b,c){a=a|0;b=b|0;c=c|0;ma(22,a|0,b|0,c|0)}function pM(a,b,c){a=a|0;b=b|0;c=c|0;ma(23,a|0,b|0,c|0)}function qM(a,b,c){a=a|0;b=b|0;c=c|0;ma(24,a|0,b|0,c|0)}function rM(a,b,c){a=a|0;b=b|0;c=c|0;ma(25,a|0,b|0,c|0)}function sM(a,b,c){a=a|0;b=b|0;c=c|0;ma(26,a|0,b|0,c|0)}function tM(a,b,c){a=a|0;b=b|0;c=c|0;ma(27,a|0,b|0,c|0)}function uM(a,b,c){a=a|0;b=b|0;c=c|0;ma(28,a|0,b|0,c|0)}function vM(a,b,c){a=a|0;b=b|0;c=c|0;ma(29,a|0,b|0,c|0)}function wM(a,b,c){a=a|0;b=b|0;c=c|0;ma(30,a|0,b|0,c|0)}function xM(a,b,c){a=a|0;b=b|0;c=c|0;ma(31,a|0,b|0,c|0)}function yM(a,b,c){a=a|0;b=b|0;c=c|0;ma(32,a|0,b|0,c|0)}function zM(a,b,c){a=a|0;b=b|0;c=c|0;ma(33,a|0,b|0,c|0)}function AM(a,b,c){a=a|0;b=b|0;c=c|0;ma(34,a|0,b|0,c|0)}function BM(a,b,c){a=a|0;b=b|0;c=c|0;ma(35,a|0,b|0,c|0)}function CM(a,b,c){a=a|0;b=b|0;c=c|0;ma(36,a|0,b|0,c|0)}function DM(a,b,c){a=a|0;b=b|0;c=c|0;ma(37,a|0,b|0,c|0)}function EM(a,b,c){a=a|0;b=b|0;c=c|0;ma(38,a|0,b|0,c|0)}function FM(a,b,c){a=a|0;b=b|0;c=c|0;ma(39,a|0,b|0,c|0)}function GM(a,b,c){a=a|0;b=b|0;c=c|0;ma(40,a|0,b|0,c|0)}function HM(a,b,c){a=a|0;b=b|0;c=c|0;ma(41,a|0,b|0,c|0)}function IM(a,b,c){a=a|0;b=b|0;c=c|0;ma(42,a|0,b|0,c|0)}function JM(a,b,c){a=a|0;b=b|0;c=c|0;ma(43,a|0,b|0,c|0)}function KM(a,b,c){a=a|0;b=b|0;c=c|0;ma(44,a|0,b|0,c|0)}function LM(a,b,c){a=a|0;b=b|0;c=c|0;ma(45,a|0,b|0,c|0)}function MM(a,b,c){a=a|0;b=b|0;c=c|0;ma(46,a|0,b|0,c|0)}function NM(a,b,c){a=a|0;b=b|0;c=c|0;ma(47,a|0,b|0,c|0)}function OM(a,b,c){a=a|0;b=b|0;c=c|0;ma(48,a|0,b|0,c|0)}function PM(a,b,c){a=a|0;b=b|0;c=c|0;ma(49,a|0,b|0,c|0)}function QM(a,b,c){a=a|0;b=b|0;c=c|0;ma(50,a|0,b|0,c|0)}function RM(a,b,c){a=a|0;b=b|0;c=c|0;ma(51,a|0,b|0,c|0)}function SM(a,b,c){a=a|0;b=b|0;c=c|0;ma(52,a|0,b|0,c|0)}function TM(a,b,c){a=a|0;b=b|0;c=c|0;ma(53,a|0,b|0,c|0)}function UM(a,b,c){a=a|0;b=b|0;c=c|0;ma(54,a|0,b|0,c|0)}function VM(a,b,c){a=a|0;b=b|0;c=c|0;ma(55,a|0,b|0,c|0)}function WM(a,b,c){a=a|0;b=b|0;c=c|0;ma(56,a|0,b|0,c|0)}function XM(a,b,c){a=a|0;b=b|0;c=c|0;ma(57,a|0,b|0,c|0)}function YM(a,b,c){a=a|0;b=b|0;c=c|0;ma(58,a|0,b|0,c|0)}function ZM(a,b,c){a=a|0;b=b|0;c=c|0;ma(59,a|0,b|0,c|0)}function _M(a,b,c){a=a|0;b=b|0;c=c|0;ma(60,a|0,b|0,c|0)}function $M(a,b,c){a=a|0;b=b|0;c=c|0;ma(61,a|0,b|0,c|0)}function aN(a,b,c){a=a|0;b=b|0;c=c|0;ma(62,a|0,b|0,c|0)}function bN(a,b,c){a=a|0;b=b|0;c=c|0;ma(63,a|0,b|0,c|0)}function cN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;rb[a&127](b|0,c|0,d|0,e|0)}function dN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(0,a|0,b|0,c|0,d|0)}function eN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(1,a|0,b|0,c|0,d|0)}function fN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(2,a|0,b|0,c|0,d|0)}function gN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(3,a|0,b|0,c|0,d|0)}function hN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(4,a|0,b|0,c|0,d|0)}function iN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(5,a|0,b|0,c|0,d|0)}function jN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(6,a|0,b|0,c|0,d|0)}function kN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(7,a|0,b|0,c|0,d|0)}function lN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(8,a|0,b|0,c|0,d|0)}function mN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(9,a|0,b|0,c|0,d|0)}function nN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(10,a|0,b|0,c|0,d|0)}function oN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(11,a|0,b|0,c|0,d|0)}function pN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(12,a|0,b|0,c|0,d|0)}function qN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(13,a|0,b|0,c|0,d|0)}function rN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(14,a|0,b|0,c|0,d|0)}function sN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(15,a|0,b|0,c|0,d|0)}function tN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(16,a|0,b|0,c|0,d|0)}function uN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(17,a|0,b|0,c|0,d|0)}function vN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(18,a|0,b|0,c|0,d|0)}function wN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(19,a|0,b|0,c|0,d|0)}function xN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(20,a|0,b|0,c|0,d|0)}function yN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(21,a|0,b|0,c|0,d|0)}function zN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(22,a|0,b|0,c|0,d|0)}function AN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(23,a|0,b|0,c|0,d|0)}function BN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(24,a|0,b|0,c|0,d|0)}function CN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(25,a|0,b|0,c|0,d|0)}function DN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(26,a|0,b|0,c|0,d|0)}function EN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(27,a|0,b|0,c|0,d|0)}function FN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(28,a|0,b|0,c|0,d|0)}function GN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(29,a|0,b|0,c|0,d|0)}function HN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(30,a|0,b|0,c|0,d|0)}function IN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(31,a|0,b|0,c|0,d|0)}function JN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(32,a|0,b|0,c|0,d|0)}function KN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(33,a|0,b|0,c|0,d|0)}function LN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(34,a|0,b|0,c|0,d|0)}function MN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(35,a|0,b|0,c|0,d|0)}function NN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(36,a|0,b|0,c|0,d|0)}function ON(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(37,a|0,b|0,c|0,d|0)}function PN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(38,a|0,b|0,c|0,d|0)}function QN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(39,a|0,b|0,c|0,d|0)}function RN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(40,a|0,b|0,c|0,d|0)}function SN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(41,a|0,b|0,c|0,d|0)}function TN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(42,a|0,b|0,c|0,d|0)}function UN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(43,a|0,b|0,c|0,d|0)}function VN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(44,a|0,b|0,c|0,d|0)}function WN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(45,a|0,b|0,c|0,d|0)}function XN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(46,a|0,b|0,c|0,d|0)}function YN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(47,a|0,b|0,c|0,d|0)}function ZN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(48,a|0,b|0,c|0,d|0)}function _N(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(49,a|0,b|0,c|0,d|0)}function $N(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(50,a|0,b|0,c|0,d|0)}function aO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(51,a|0,b|0,c|0,d|0)}function bO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(52,a|0,b|0,c|0,d|0)}function cO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(53,a|0,b|0,c|0,d|0)}function dO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(54,a|0,b|0,c|0,d|0)}function eO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(55,a|0,b|0,c|0,d|0)}function fO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(56,a|0,b|0,c|0,d|0)}function gO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(57,a|0,b|0,c|0,d|0)}function hO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(58,a|0,b|0,c|0,d|0)}function iO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(59,a|0,b|0,c|0,d|0)}function jO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(60,a|0,b|0,c|0,d|0)}function kO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(61,a|0,b|0,c|0,d|0)}function lO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(62,a|0,b|0,c|0,d|0)}function mO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;na(63,a|0,b|0,c|0,d|0)}function nO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;sb[a&127](b|0,c|0,d|0,e|0,f|0)}function oO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(0,a|0,b|0,c|0,d|0,e|0)}function pO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(1,a|0,b|0,c|0,d|0,e|0)}function qO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(2,a|0,b|0,c|0,d|0,e|0)}function rO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(3,a|0,b|0,c|0,d|0,e|0)}function sO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(4,a|0,b|0,c|0,d|0,e|0)}function tO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(5,a|0,b|0,c|0,d|0,e|0)}function uO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(6,a|0,b|0,c|0,d|0,e|0)}function vO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(7,a|0,b|0,c|0,d|0,e|0)}function wO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(8,a|0,b|0,c|0,d|0,e|0)}function xO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(9,a|0,b|0,c|0,d|0,e|0)}function yO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(10,a|0,b|0,c|0,d|0,e|0)}function zO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(11,a|0,b|0,c|0,d|0,e|0)}function AO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(12,a|0,b|0,c|0,d|0,e|0)}function BO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(13,a|0,b|0,c|0,d|0,e|0)}function CO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(14,a|0,b|0,c|0,d|0,e|0)}function DO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(15,a|0,b|0,c|0,d|0,e|0)}function EO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(16,a|0,b|0,c|0,d|0,e|0)}function FO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(17,a|0,b|0,c|0,d|0,e|0)}function GO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(18,a|0,b|0,c|0,d|0,e|0)}function HO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(19,a|0,b|0,c|0,d|0,e|0)}function IO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(20,a|0,b|0,c|0,d|0,e|0)}function JO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(21,a|0,b|0,c|0,d|0,e|0)}function KO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(22,a|0,b|0,c|0,d|0,e|0)}function LO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(23,a|0,b|0,c|0,d|0,e|0)}function MO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(24,a|0,b|0,c|0,d|0,e|0)}function NO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(25,a|0,b|0,c|0,d|0,e|0)}function OO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(26,a|0,b|0,c|0,d|0,e|0)}function PO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(27,a|0,b|0,c|0,d|0,e|0)}function QO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(28,a|0,b|0,c|0,d|0,e|0)}function RO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(29,a|0,b|0,c|0,d|0,e|0)}function SO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(30,a|0,b|0,c|0,d|0,e|0)}function TO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(31,a|0,b|0,c|0,d|0,e|0)}function UO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(32,a|0,b|0,c|0,d|0,e|0)}function VO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(33,a|0,b|0,c|0,d|0,e|0)}function WO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(34,a|0,b|0,c|0,d|0,e|0)}function XO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(35,a|0,b|0,c|0,d|0,e|0)}function YO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(36,a|0,b|0,c|0,d|0,e|0)}function ZO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(37,a|0,b|0,c|0,d|0,e|0)}function _O(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(38,a|0,b|0,c|0,d|0,e|0)}function $O(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(39,a|0,b|0,c|0,d|0,e|0)}function aP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(40,a|0,b|0,c|0,d|0,e|0)}function bP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(41,a|0,b|0,c|0,d|0,e|0)}function cP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(42,a|0,b|0,c|0,d|0,e|0)}function dP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(43,a|0,b|0,c|0,d|0,e|0)}function eP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(44,a|0,b|0,c|0,d|0,e|0)}function fP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(45,a|0,b|0,c|0,d|0,e|0)}function gP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(46,a|0,b|0,c|0,d|0,e|0)}function hP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(47,a|0,b|0,c|0,d|0,e|0)}function iP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(48,a|0,b|0,c|0,d|0,e|0)}function jP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(49,a|0,b|0,c|0,d|0,e|0)}function kP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(50,a|0,b|0,c|0,d|0,e|0)}function lP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(51,a|0,b|0,c|0,d|0,e|0)}function mP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(52,a|0,b|0,c|0,d|0,e|0)}function nP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(53,a|0,b|0,c|0,d|0,e|0)}function oP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(54,a|0,b|0,c|0,d|0,e|0)}function pP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(55,a|0,b|0,c|0,d|0,e|0)}function qP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(56,a|0,b|0,c|0,d|0,e|0)}function rP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(57,a|0,b|0,c|0,d|0,e|0)}function sP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(58,a|0,b|0,c|0,d|0,e|0)}function tP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(59,a|0,b|0,c|0,d|0,e|0)}function uP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(60,a|0,b|0,c|0,d|0,e|0)}function vP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(61,a|0,b|0,c|0,d|0,e|0)}function wP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(62,a|0,b|0,c|0,d|0,e|0)}function xP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(63,a|0,b|0,c|0,d|0,e|0)}function yP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;tb[a&127](b|0,c|0,d|0,e|0,f|0,g|0)}function zP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function AP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function BP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function CP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function DP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function EP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(5,a|0,b|0,c|0,d|0,e|0,f|0)}function FP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(6,a|0,b|0,c|0,d|0,e|0,f|0)}function GP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(7,a|0,b|0,c|0,d|0,e|0,f|0)}function HP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(8,a|0,b|0,c|0,d|0,e|0,f|0)}function IP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(9,a|0,b|0,c|0,d|0,e|0,f|0)}function JP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(10,a|0,b|0,c|0,d|0,e|0,f|0)}function KP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(11,a|0,b|0,c|0,d|0,e|0,f|0)}function LP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(12,a|0,b|0,c|0,d|0,e|0,f|0)}function MP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(13,a|0,b|0,c|0,d|0,e|0,f|0)}function NP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(14,a|0,b|0,c|0,d|0,e|0,f|0)}function OP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(15,a|0,b|0,c|0,d|0,e|0,f|0)}function PP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(16,a|0,b|0,c|0,d|0,e|0,f|0)}function QP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(17,a|0,b|0,c|0,d|0,e|0,f|0)}function RP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(18,a|0,b|0,c|0,d|0,e|0,f|0)}function SP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(19,a|0,b|0,c|0,d|0,e|0,f|0)}function TP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(20,a|0,b|0,c|0,d|0,e|0,f|0)}function UP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(21,a|0,b|0,c|0,d|0,e|0,f|0)}function VP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(22,a|0,b|0,c|0,d|0,e|0,f|0)}function WP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(23,a|0,b|0,c|0,d|0,e|0,f|0)}function XP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(24,a|0,b|0,c|0,d|0,e|0,f|0)}function YP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(25,a|0,b|0,c|0,d|0,e|0,f|0)}function ZP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(26,a|0,b|0,c|0,d|0,e|0,f|0)}function _P(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(27,a|0,b|0,c|0,d|0,e|0,f|0)}function $P(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(28,a|0,b|0,c|0,d|0,e|0,f|0)}function aQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(29,a|0,b|0,c|0,d|0,e|0,f|0)}function bQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(30,a|0,b|0,c|0,d|0,e|0,f|0)}function cQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(31,a|0,b|0,c|0,d|0,e|0,f|0)}function dQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(32,a|0,b|0,c|0,d|0,e|0,f|0)}function eQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(33,a|0,b|0,c|0,d|0,e|0,f|0)}function fQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(34,a|0,b|0,c|0,d|0,e|0,f|0)}function gQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(35,a|0,b|0,c|0,d|0,e|0,f|0)}function hQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(36,a|0,b|0,c|0,d|0,e|0,f|0)}function iQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(37,a|0,b|0,c|0,d|0,e|0,f|0)}function jQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(38,a|0,b|0,c|0,d|0,e|0,f|0)}function kQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(39,a|0,b|0,c|0,d|0,e|0,f|0)}function lQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(40,a|0,b|0,c|0,d|0,e|0,f|0)}function mQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(41,a|0,b|0,c|0,d|0,e|0,f|0)}function nQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(42,a|0,b|0,c|0,d|0,e|0,f|0)}function oQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(43,a|0,b|0,c|0,d|0,e|0,f|0)}function pQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(44,a|0,b|0,c|0,d|0,e|0,f|0)}function qQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(45,a|0,b|0,c|0,d|0,e|0,f|0)}function rQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(46,a|0,b|0,c|0,d|0,e|0,f|0)}function sQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(47,a|0,b|0,c|0,d|0,e|0,f|0)}function tQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(48,a|0,b|0,c|0,d|0,e|0,f|0)}function uQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(49,a|0,b|0,c|0,d|0,e|0,f|0)}function vQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(50,a|0,b|0,c|0,d|0,e|0,f|0)}function wQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(51,a|0,b|0,c|0,d|0,e|0,f|0)}function xQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(52,a|0,b|0,c|0,d|0,e|0,f|0)}function yQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(53,a|0,b|0,c|0,d|0,e|0,f|0)}function zQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(54,a|0,b|0,c|0,d|0,e|0,f|0)}function AQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(55,a|0,b|0,c|0,d|0,e|0,f|0)}function BQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(56,a|0,b|0,c|0,d|0,e|0,f|0)}function CQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(57,a|0,b|0,c|0,d|0,e|0,f|0)}function DQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(58,a|0,b|0,c|0,d|0,e|0,f|0)}function EQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function FQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function GQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function HQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(62,a|0,b|0,c|0,d|0,e|0,f|0)}function IQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function JQ(){Y(0);return 0}function KQ(a){a=a|0;Y(1);return 0}function LQ(a,b){a=a|0;b=b|0;Y(2);return 0}function MQ(a,b,c){a=a|0;b=b|0;c=c|0;Y(3);return 0}function NQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Y(4);return 0}function OQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Y(5);return 0}function PQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Y(6);return 0}function QQ(a){a=a|0;Y(7)}function RQ(a,b){a=a|0;b=b|0;Y(8)}function SQ(a,b,c){a=a|0;b=b|0;c=c|0;Y(9)}function TQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Y(10)}function UQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Y(11)}function VQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Y(12)} -function oo(a,c,e,g,i,k,l,m){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=t;t=t+16|0;v=Q;P=f[a+8>>2]|0;L=b[k>>0]|0;z=k+4|0;N=f[z>>2]|0;if(!i)u=0;else u=h[i+1>>0]|0;if(!g)O=0;else O=(f[g>>2]|0)==0?0:g;G=(O|0)!=0;w=(u|0)!=0;do if(!(w|G)?(o=f[c+16>>2]|0,(o|0)>0):0){g=P+136|0;n=f[g>>2]|0;if((f[(f[P+12>>2]|0)+48>>2]|0)>(n|0)){f[g>>2]=n+1;M=f[P+88>>2]|0;b[M+(n*20|0)>>0]=47;d[M+(n*20|0)+2>>1]=0;f[M+(n*20|0)+4>>2]=o;f[M+(n*20|0)+8>>2]=l;f[M+(n*20|0)+12>>2]=1;f[M+(n*20|0)+16>>2]=0;b[M+(n*20|0)+1>>0]=0;break}else{tl(P,47,o,l,1)|0;break}}while(0);n=f[c>>2]|0;p=f[n>>2]|0;r=k+8|0;s=f[r>>2]|0;if(s){q=a+44|0;o=f[q>>2]|0;if((s+p|0)>(o|0)){g=0;F=16}else{D=0;M=s}}else{if(G){g=(f[f[O>>2]>>2]|0)+((b[O+32>>0]&1^1)&255)|0;q=a+44|0;o=g+(f[q>>2]|0)|0;f[q>>2]=o}else{o=a+44|0;g=0;q=o;o=f[o>>2]|0}s=o+1|0;f[r>>2]=s;F=16}if((F|0)==16){f[q>>2]=o+p;D=g;M=s}f[k+12>>2]=p;a:do if((e|0)>-1)if((p|0)>0){n=P+136|0;o=P+12|0;q=P+88|0;g=0;do{r=g+M|0;s=f[n>>2]|0;if((f[(f[o>>2]|0)+48>>2]|0)>(s|0)){f[n>>2]=s+1;H=f[q>>2]|0;b[H+(s*20|0)>>0]=90;d[H+(s*20|0)+2>>1]=0;f[H+(s*20|0)+4>>2]=e;f[H+(s*20|0)+8>>2]=g;f[H+(s*20|0)+12>>2]=r;f[H+(s*20|0)+16>>2]=0;b[H+(s*20|0)+1>>0]=0}else tl(P,90,e,g,r)|0;g=g+1|0}while((g|0)!=(p|0));H=p;y=M}else{H=p;y=M}else{switch(L<<24>>24){case 3:{H=p;y=M;break a}case 9:case 10:case 13:{g=1;break}default:g=0}if((L|2)<<24>>24!=14&((u|0)==0&G)){g=g|12;r=O+4|0;o=f[r>>2]|0;q=f[O>>2]|0;if((o|0)<(f[q>>2]|0)){n=o;while(1){o=d[q+4+(n*20|0)+16>>1]|0;if(!(o<<16>>16)){n=n+1|0;o=q}else{n=n+1|0;d[(f[c>>2]|0)+4+(((o&65535)+-1|0)*20|0)+16>>1]=n-(f[r>>2]|0);o=f[O>>2]|0}if((n|0)<(f[o>>2]|0))q=o;else break}n=f[c>>2]|0;r=f[n>>2]|0}else r=p;if((r|0)>0){o=M;q=0;do{H=(d[n+4+(q*20|0)+16>>1]|0)==0;o=H?o:0;p=p+((H^1)<<31>>31)|0;q=q+1|0}while((q|0)<(r|0))}else o=M}else o=M;f[v>>2]=M;b[v+4>>0]=g;if(f[c+12>>2]|0?(D|0)>0&(g&8)!=0:0){f[O+36>>2]=v;H=p;y=0;break}Jo(a,n,M,0,g);H=p;y=o}while(0);do if(w){b:do switch(b[i+1>>0]|0){case 2:{n=a+44|0;g=f[n>>2]|0;x=g+1|0;f[n>>2]=g+H;n=i+8|0;g=f[n>>2]|0;o=f[P>>2]|0;if(!(b[o+81>>0]|0)){i=f[P+88>>2]|0;v=i+(g*20|0)+1|0;w=i+(g*20|0)+16|0;qg(o,b[v>>0]|0,f[w>>2]|0);b[v>>0]=0;f[w>>2]=0;b[i+(g*20|0)>>0]=-85;g=f[n>>2]|0}if((g|0)<0)g=(f[P+136>>2]|0)+-1|0;if(!(b[(f[P>>2]|0)+81>>0]|0))g=(f[P+88>>2]|0)+(g*20|0)|0;else g=72144;b[g>>0]=73;f[g+4>>2]=1;f[g+8>>2]=x;e=P+136|0;g=f[e>>2]|0;u=g+H|0;v=H+-1|0;w=P+12|0;if((H|0)>0){s=P+88|0;r=0;do{q=Zk(a,f[(f[c>>2]|0)+4+(r*20|0)>>2]|0)|0;g=r+M|0;n=r+x|0;o=f[e>>2]|0;p=(f[(f[w>>2]|0)+48>>2]|0)>(o|0);do if((r|0)<(v|0))if(p){f[e>>2]=o+1;i=f[s>>2]|0;b[i+(o*20|0)>>0]=52;d[i+(o*20|0)+2>>1]=0;f[i+(o*20|0)+4>>2]=g;f[i+(o*20|0)+8>>2]=u;f[i+(o*20|0)+12>>2]=n;f[i+(o*20|0)+16>>2]=0;b[i+(o*20|0)+1>>0]=0;break}else{tl(P,52,g,u,n)|0;break}else if(p){f[e>>2]=o+1;i=f[s>>2]|0;b[i+(o*20|0)>>0]=53;d[i+(o*20|0)+2>>1]=0;f[i+(o*20|0)+4>>2]=g;f[i+(o*20|0)+8>>2]=l;f[i+(o*20|0)+12>>2]=n;f[i+(o*20|0)+16>>2]=0;b[i+(o*20|0)+1>>0]=0;break}else{tl(P,53,g,l,n)|0;break}while(0);do if(!(b[(f[P>>2]|0)+81>>0]|0)){g=(f[e>>2]|0)+-1|0;n=f[s>>2]|0;o=n+(g*20|0)+1|0;if(b[o>>0]|0){ul(P,n+(g*20|0)|0,q,-2);break}if(q|0){f[n+(g*20|0)+16>>2]=q;b[o>>0]=-2}}while(0);g=f[e>>2]|0;if((g|0)>0)d[(f[s>>2]|0)+((g+-1|0)*20|0)+2>>1]=128;r=r+1|0}while((r|0)!=(H|0))}if((f[(f[w>>2]|0)+48>>2]|0)>(g|0)){f[e>>2]=g+1;i=f[P+88>>2]|0;b[i+(g*20|0)>>0]=78;d[i+(g*20|0)+2>>1]=0;f[i+(g*20|0)+4>>2]=M;f[i+(g*20|0)+8>>2]=x;f[i+(g*20|0)+12>>2]=v;f[i+(g*20|0)+16>>2]=0;b[i+(g*20|0)+1>>0]=0;break b}else{tl(P,78,M,x,v)|0;break b}}case 1:{g=f[i+8>>2]|0;n=f[P>>2]|0;if(!(b[n+81>>0]|0)){i=f[P+88>>2]|0;w=i+(g*20|0)+1|0;x=i+(g*20|0)+16|0;qg(n,b[w>>0]|0,f[x>>2]|0);b[w>>0]=0;f[x>>2]=0;b[i+(g*20|0)>>0]=-85}break}default:Ko(a,f[i+4>>2]|0,l,H,M)}while(0);if((O|0)==0?(A=f[c+16>>2]|0,(A|0)>0):0){g=P+136|0;n=f[g>>2]|0;if((f[(f[P+12>>2]|0)+48>>2]|0)>(n|0)){f[g>>2]=n+1;i=f[P+88>>2]|0;b[i+(n*20|0)>>0]=47;d[i+(n*20|0)+2>>1]=0;f[i+(n*20|0)+4>>2]=A;f[i+(n*20|0)+8>>2]=l;f[i+(n*20|0)+12>>2]=1;f[i+(n*20|0)+16>>2]=0;b[i+(n*20|0)+1>>0]=0;break}else{tl(P,47,A,l,1)|0;break}}}while(0);c:do switch(L<<24>>24){case 1:{q=a+19|0;g=b[q>>0]|0;if(!(g<<24>>24)){L=a+44|0;p=(f[L>>2]|0)+1|0;f[L>>2]=p}else{p=g+-1<<24>>24;b[q>>0]=p;p=f[a+144+((p&255)<<2)>>2]|0}n=P+136|0;g=f[n>>2]|0;o=P+12|0;if((f[(f[o>>2]|0)+48>>2]|0)>(g|0)){f[n>>2]=g+1;L=f[P+88>>2]|0;b[L+(g*20|0)>>0]=102;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=M;f[L+(g*20|0)+8>>2]=H;f[L+(g*20|0)+12>>2]=p;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0}else tl(P,102,M,H,p)|0;g=f[n>>2]|0;if((f[(f[o>>2]|0)+48>>2]|0)>(g|0)){f[n>>2]=g+1;L=f[P+88>>2]|0;b[L+(g*20|0)>>0]=-123;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=N;f[L+(g*20|0)+8>>2]=p;f[L+(g*20|0)+12>>2]=M;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0}else g=tl(P,133,N,p,M)|0;if(!(b[(f[P>>2]|0)+81>>0]|0)){N=f[P+88>>2]|0;b[N+(g*20|0)+1>>0]=-3;f[N+(g*20|0)+16>>2]=H}if((p|0)!=0?(B=b[q>>0]|0,(B&255)<8):0){b[q>>0]=B+1<<24>>24;f[a+144+((B&255)<<2)>>2]=p;F=237}else F=237;break}case 2:{g=P+136|0;n=f[g>>2]|0;if((f[(f[P+12>>2]|0)+48>>2]|0)>(n|0)){f[g>>2]=n+1;F=f[P+88>>2]|0;b[F+(n*20|0)>>0]=-122;d[F+(n*20|0)+2>>1]=0;f[F+(n*20|0)+4>>2]=N;f[F+(n*20|0)+8>>2]=M;f[F+(n*20|0)+12>>2]=H;f[F+(n*20|0)+16>>2]=0;b[F+(n*20|0)+1>>0]=0;F=237;break c}else{tl(P,134,N,M,H)|0;F=237;break c}}case 12:case 14:case 6:case 5:{e=D+1|0;u=(D|0)==0;do if(u){g=a+19|0;n=b[g>>0]|0;if(!(n<<24>>24)){F=a+44|0;s=(f[F>>2]|0)+1|0;f[F>>2]=s;break}else{s=n+-1<<24>>24;b[g>>0]=s;s=f[a+144+((s&255)<<2)>>2]|0;break}}else{g=a+32|0;n=f[g>>2]|0;o=a+28|0;p=f[o>>2]|0;if((p|0)>(D|0)){f[g>>2]=n+e;f[o>>2]=p-e;s=n;break}else{F=a+44|0;s=f[F>>2]|0;f[F>>2]=s+e;s=s+1|0;break}}while(0);p=s+D|0;q=P+136|0;g=f[q>>2]|0;r=P+12|0;if((f[(f[r>>2]|0)+48>>2]|0)>(g|0)){f[q>>2]=g+1;F=f[P+88>>2]|0;b[F+(g*20|0)>>0]=102;d[F+(g*20|0)+2>>1]=0;f[F+(g*20|0)+4>>2]=M;f[F+(g*20|0)+8>>2]=H;f[F+(g*20|0)+12>>2]=p;f[F+(g*20|0)+16>>2]=0;b[F+(g*20|0)+1>>0]=0}else tl(P,102,M,H,p)|0;if(L<<24>>24==6){g=f[q>>2]|0;n=g+4|0;o=N+1|0;if((f[(f[r>>2]|0)+48>>2]|0)>(g|0)){f[q>>2]=g+1;L=f[P+88>>2]|0;b[L+(g*20|0)>>0]=29;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=o;f[L+(g*20|0)+8>>2]=n;f[L+(g*20|0)+12>>2]=s;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0}else g=tl(P,29,o,n,s)|0;if(!(b[(f[P>>2]|0)+81>>0]|0)){L=f[P+88>>2]|0;b[L+(g*20|0)+1>>0]=-3;f[L+(g*20|0)+16>>2]=0}g=f[q>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(g|0)){f[q>>2]=g+1;L=f[P+88>>2]|0;b[L+(g*20|0)>>0]=-123;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=o;f[L+(g*20|0)+8>>2]=s;f[L+(g*20|0)+12>>2]=M;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0}else g=tl(P,133,o,s,M)|0;if(!(b[(f[P>>2]|0)+81>>0]|0)){M=f[P+88>>2]|0;b[M+(g*20|0)+1>>0]=-3;f[M+(g*20|0)+16>>2]=H}}if(!G){o=a+19|0;g=b[o>>0]|0;if(!(g<<24>>24)){M=a+44|0;n=(f[M>>2]|0)+1|0;f[M>>2]=n}else{n=g+-1<<24>>24;b[o>>0]=n;n=f[a+144+((n&255)<<2)>>2]|0}g=f[q>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(g|0)){f[q>>2]=g+1;M=f[P+88>>2]|0;b[M+(g*20|0)>>0]=121;d[M+(g*20|0)+2>>1]=0;f[M+(g*20|0)+4>>2]=N;f[M+(g*20|0)+8>>2]=n;f[M+(g*20|0)+12>>2]=0;f[M+(g*20|0)+16>>2]=0;b[M+(g*20|0)+1>>0]=0}else tl(P,121,N,n,0)|0;g=f[q>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(g|0)){f[q>>2]=g+1;M=f[P+88>>2]|0;b[M+(g*20|0)>>0]=122;d[M+(g*20|0)+2>>1]=0;f[M+(g*20|0)+4>>2]=N;f[M+(g*20|0)+8>>2]=s;f[M+(g*20|0)+12>>2]=n;f[M+(g*20|0)+16>>2]=0;b[M+(g*20|0)+1>>0]=0}else tl(P,122,N,s,n)|0;g=f[q>>2]|0;if((g|0)>0)d[(f[P+88>>2]|0)+((g+-1|0)*20|0)+2>>1]=8;if(n|0?(I=b[o>>0]|0,(I&255)<8):0){b[o>>0]=I+1<<24>>24;f[a+144+((I&255)<<2)>>2]=n}}else Ro(a,O,c,p,y,1,D);if(!u){g=a+28|0;if((f[g>>2]|0)>(D|0)){F=237;break c}f[g>>2]=e;f[a+32>>2]=s;F=237;break c}if((s|0)!=0?(J=a+19|0,K=b[J>>0]|0,(K&255)<8):0){b[J>>0]=K+1<<24>>24;f[a+144+((K&255)<<2)>>2]=s;F=237}else F=237;break}case 11:{if(G){Ro(a,O,c,M,y,H,D);t=Q;return}u=a+19|0;g=b[u>>0]|0;if(!(g<<24>>24)){L=a+44|0;s=(f[L>>2]|0)+1|0;f[L>>2]=s}else{s=g+-1<<24>>24;b[u>>0]=s;s=f[a+144+((s&255)<<2)>>2]|0}p=f[k+16>>2]|0;q=P+136|0;g=f[q>>2]|0;r=P+12|0;if((f[(f[r>>2]|0)+48>>2]|0)>(g|0)){f[q>>2]=g+1;L=f[P+88>>2]|0;b[L+(g*20|0)>>0]=102;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=M;f[L+(g*20|0)+8>>2]=H;f[L+(g*20|0)+12>>2]=s;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0}else g=tl(P,102,M,H,s)|0;n=f[P>>2]|0;do if(b[n+81>>0]|0){if((H|0)!=-12)qg(n,H,p)}else{if((g|0)<0)g=(f[q>>2]|0)+-1|0;n=f[P+88>>2]|0;o=n+(g*20|0)|0;if((H|0)<=-1?(C=n+(g*20|0)+1|0,(b[C>>0]|0)==0):0){if((H|0)==-3){f[n+(g*20|0)+16>>2]=p;b[C>>0]=-3;break}if(!p)break;f[n+(g*20|0)+16>>2]=p;b[C>>0]=H;if((H|0)!=-12)break;L=p+12|0;f[L>>2]=(f[L>>2]|0)+1;break}ul(P,o,p,H)}while(0);g=f[q>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(g|0)){f[q>>2]=g+1;L=f[P+88>>2]|0;b[L+(g*20|0)>>0]=-123;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=N;f[L+(g*20|0)+8>>2]=s;f[L+(g*20|0)+12>>2]=M;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0}else g=tl(P,133,N,s,M)|0;if(!(b[(f[P>>2]|0)+81>>0]|0)){N=f[P+88>>2]|0;b[N+(g*20|0)+1>>0]=-3;f[N+(g*20|0)+16>>2]=H}if(s|0?(E=b[u>>0]|0,(E&255)<8):0){b[u>>0]=E+1<<24>>24;f[a+144+((E&255)<<2)>>2]=s}break}case 3:{g=P+136|0;n=f[g>>2]|0;if((f[(f[P+12>>2]|0)+48>>2]|0)>(n|0)){f[g>>2]=n+1;F=f[P+88>>2]|0;b[F+(n*20|0)>>0]=70;d[F+(n*20|0)+2>>1]=0;f[F+(n*20|0)+4>>2]=1;f[F+(n*20|0)+8>>2]=N;f[F+(n*20|0)+12>>2]=0;f[F+(n*20|0)+16>>2]=0;b[F+(n*20|0)+1>>0]=0;F=237;break c}else{tl(P,70,1,N,0)|0;F=237;break c}}case 10:{if(G){Ro(a,O,c,M,y,H,D);t=Q;return}break}case 9:case 13:{if(G){Ro(a,O,c,M,y,H,D);t=Q;return}if(L<<24>>24==13){g=f[z>>2]|0;n=P+136|0;o=f[n>>2]|0;if((f[(f[P+12>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;a=f[P+88>>2]|0;b[a+(o*20|0)>>0]=14;d[a+(o*20|0)+2>>1]=0;f[a+(o*20|0)+4>>2]=g;f[a+(o*20|0)+8>>2]=0;f[a+(o*20|0)+12>>2]=0;f[a+(o*20|0)+16>>2]=0;b[a+(o*20|0)+1>>0]=0;break c}else{tl(P,14,g,0,0)|0;break c}}else{g=P+136|0;n=f[g>>2]|0;if((f[(f[P+12>>2]|0)+48>>2]|0)>(n|0)){f[g>>2]=n+1;a=f[P+88>>2]|0;b[a+(n*20|0)>>0]=81;d[a+(n*20|0)+2>>1]=0;f[a+(n*20|0)+4>>2]=M;f[a+(n*20|0)+8>>2]=H;f[a+(n*20|0)+12>>2]=0;f[a+(n*20|0)+16>>2]=0;b[a+(n*20|0)+1>>0]=0;break c}else{tl(P,81,M,H,0)|0;break c}}}case 7:case 8:{w=f[k+20>>2]|0;x=f[w>>2]|0;l=a+19|0;g=b[l>>0]|0;if(!(g<<24>>24)){g=a+44|0;i=(f[g>>2]|0)+1|0;f[g>>2]=i;g=0}else{g=g+-1<<24>>24;b[l>>0]=g;i=f[a+144+((g&255)<<2)>>2]|0}A=x+2|0;z=(A|0)==1;do if(z)if(!(g<<24>>24)){K=a+44|0;y=(f[K>>2]|0)+1|0;f[K>>2]=y;break}else{y=g+-1<<24>>24;b[l>>0]=y;y=f[a+144+((y&255)<<2)>>2]|0;break}else{g=a+32|0;n=f[g>>2]|0;o=a+28|0;p=f[o>>2]|0;if((p|0)<(A|0)){K=a+44|0;y=f[K>>2]|0;f[K>>2]=y+A;y=y+1|0;break}else{f[g>>2]=n+A;f[o>>2]=p-A;y=n;break}}while(0);v=y+x|0;r=v+1|0;q=L<<24>>24==8;if(q){n=N+1|0;o=P+136|0;g=f[o>>2]|0;p=P+12|0;if((f[(f[p>>2]|0)+48>>2]|0)>(g|0)){f[o>>2]=g+1;L=f[P+88>>2]|0;b[L+(g*20|0)>>0]=29;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=n;f[L+(g*20|0)+8>>2]=0;f[L+(g*20|0)+12>>2]=M;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0}else g=tl(P,29,n,0,M)|0;if(!(b[(f[P>>2]|0)+81>>0]|0)){e=f[P+88>>2]|0;b[e+(g*20|0)+1>>0]=-3;f[e+(g*20|0)+16>>2]=H;e=g;u=o;s=p}else{e=g;u=o;s=p}}else{e=0;u=P+136|0;s=P+12|0}g=f[u>>2]|0;if((f[(f[s>>2]|0)+48>>2]|0)>(g|0)){f[u>>2]=g+1;L=f[P+88>>2]|0;b[L+(g*20|0)>>0]=102;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=M;f[L+(g*20|0)+8>>2]=H;f[L+(g*20|0)+12>>2]=r;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0}else tl(P,102,M,H,r)|0;if(q){g=N+1|0;n=f[u>>2]|0;if((f[(f[s>>2]|0)+48>>2]|0)>(n|0)){f[u>>2]=n+1;L=f[P+88>>2]|0;b[L+(n*20|0)>>0]=-123;d[L+(n*20|0)+2>>1]=0;f[L+(n*20|0)+4>>2]=g;f[L+(n*20|0)+8>>2]=r;f[L+(n*20|0)+12>>2]=0;f[L+(n*20|0)+16>>2]=0;b[L+(n*20|0)+1>>0]=0}else tl(P,133,g,r,0)|0;g=f[u>>2]|0;if((g|0)>0)d[(f[P+88>>2]|0)+((g+-1|0)*20|0)+2>>1]=16}if((x|0)>0){n=M+-1|0;o=P+88|0;g=0;do{p=n+(j[w+4+(g*20|0)+16>>1]|0)|0;q=g+y|0;r=f[u>>2]|0;if((f[(f[s>>2]|0)+48>>2]|0)>(r|0)){f[u>>2]=r+1;M=f[o>>2]|0;b[M+(r*20|0)>>0]=79;d[M+(r*20|0)+2>>1]=0;f[M+(r*20|0)+4>>2]=p;f[M+(r*20|0)+8>>2]=q;f[M+(r*20|0)+12>>2]=0;f[M+(r*20|0)+16>>2]=0;b[M+(r*20|0)+1>>0]=0}else tl(P,79,p,q,0)|0;g=g+1|0}while((g|0)!=(x|0))}g=f[u>>2]|0;if((f[(f[s>>2]|0)+48>>2]|0)>(g|0)){f[u>>2]=g+1;M=f[P+88>>2]|0;b[M+(g*20|0)>>0]=120;d[M+(g*20|0)+2>>1]=0;f[M+(g*20|0)+4>>2]=N;f[M+(g*20|0)+8>>2]=v;f[M+(g*20|0)+12>>2]=0;f[M+(g*20|0)+16>>2]=0;b[M+(g*20|0)+1>>0]=0}else tl(P,120,N,v,0)|0;g=f[u>>2]|0;if((f[(f[s>>2]|0)+48>>2]|0)>(g|0)){f[u>>2]=g+1;M=f[P+88>>2]|0;b[M+(g*20|0)>>0]=102;d[M+(g*20|0)+2>>1]=0;f[M+(g*20|0)+4>>2]=y;f[M+(g*20|0)+8>>2]=A;f[M+(g*20|0)+12>>2]=i;f[M+(g*20|0)+16>>2]=0;b[M+(g*20|0)+1>>0]=0}else tl(P,102,y,A,i)|0;g=f[u>>2]|0;if((f[(f[s>>2]|0)+48>>2]|0)>(g|0)){f[u>>2]=g+1;M=f[P+88>>2]|0;b[M+(g*20|0)>>0]=-123;d[M+(g*20|0)+2>>1]=0;f[M+(g*20|0)+4>>2]=N;f[M+(g*20|0)+8>>2]=i;f[M+(g*20|0)+12>>2]=y;f[M+(g*20|0)+16>>2]=0;b[M+(g*20|0)+1>>0]=0}else g=tl(P,133,N,i,y)|0;if(!(b[(f[P>>2]|0)+81>>0]|0)){N=f[P+88>>2]|0;b[N+(g*20|0)+1>>0]=-3;f[N+(g*20|0)+16>>2]=A}if(e|0){n=f[u>>2]|0;if(!(b[(f[P>>2]|0)+81>>0]|0))g=(f[P+88>>2]|0)+(((e|0)<0?n+-1|0:e)*20|0)|0;else g=72144;f[g+8>>2]=n}do if(i|0){g=b[l>>0]|0;if((g&255)>=8)break;b[l>>0]=g+1<<24>>24;f[a+144+((g&255)<<2)>>2]=i}while(0);if(!z){g=a+28|0;if((f[g>>2]|0)>=(A|0)){F=237;break c}f[g>>2]=A;f[a+32>>2]=y;F=237;break c}if(!y){F=237;break c}g=b[l>>0]|0;if((g&255)>=8){F=237;break c}b[l>>0]=g+1<<24>>24;f[a+144+((g&255)<<2)>>2]=y;F=237;break}default:F=237}while(0);if((F|0)==237?O|0:0){t=Q;return}g=f[c+12>>2]|0;if(!g){t=Q;return}n=P+136|0;o=f[n>>2]|0;if((f[(f[P+12>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;P=f[P+88>>2]|0;b[P+(o*20|0)>>0]=49;d[P+(o*20|0)+2>>1]=0;f[P+(o*20|0)+4>>2]=g;f[P+(o*20|0)+8>>2]=m;f[P+(o*20|0)+12>>2]=0;f[P+(o*20|0)+16>>2]=0;b[P+(o*20|0)+1>>0]=0;t=Q;return}else{tl(P,49,g,m,0)|0;t=Q;return}}function po(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=t;t=t+80|0;H=J+40|0;G=J+32|0;q=J+24|0;k=J+16|0;i=J+8|0;F=J+48|0;o=f[c+32>>2]|0;p=f[f[c>>2]>>2]|0;I=f[a+8>>2]|0;D=c+52|0;E=f[D>>2]|0;if(f[c+68>>2]|0){ni(a,57760,J);t=J;return}g=f[a>>2]|0;do if(((b[g+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(h=f[g+312>>2]|0,h|0):0){g=nb[h&127](f[g+316>>2]|0,33,0,0,0,f[a+236>>2]|0)|0;if((g|0)==1){ni(a,49816,i);f[a+12>>2]=23;t=J;return}if((g|2|0)==2){if(!g)break;t=J;return}else{ni(a,49831,k);f[a+12>>2]=1;t=J;return}}while(0);B=I+12|0;g=f[B>>2]|0;n=g+60|0;C=f[n>>2]|0;f[n>>2]=C+1;n=g+64|0;if(!(C+-1&C)){l=C<<3|4;m=f[g>>2]|0;g=f[n>>2]|0;a:do if(g){i=g;k=m+304|0;if(((f[k>>2]|0)>>>0<=i>>>0?(f[m+308>>2]|0)>>>0>i>>>0:0)?!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0)):0)break;h=Lc(m,g,l,0)|0;if(!h){if(f[m+480>>2]|0){Kc(m,g);g=0;break}if((f[k>>2]|0)>>>0<=i>>>0?(f[m+308>>2]|0)>>>0>i>>>0:0){A=m+300|0;f[g>>2]=f[A>>2];f[A>>2]=g;g=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{A=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else g=h}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0))){h=m+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];A=m+284|0;f[A>>2]=(f[A>>2]|0)+1;break a}h=m+296|0;g=f[h>>2]|0;if(!g){g=m+292|0;break}else{f[h>>2]=f[g>>2];A=m+284|0;f[A>>2]=(f[A>>2]|0)+1;break a}}else g=m+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(m,l,0)|0}while(0);f[n>>2]=g}else g=f[n>>2]|0;if(g|0)f[g+(C<<2)>>2]=-1;v=~C;d[c+6>>1]=320;ro(a,c,v);x=c+60|0;y=f[x>>2]|0;z=c+12|0;w=f[z>>2]|0;A=c+16|0;u=f[A>>2]|0;f[x>>2]=0;f[A>>2]=0;f[z>>2]=0;z=c+48|0;A=f[z>>2]|0;h=f[o>>2]|0;b:do if((h|0)>0){g=0;while(1){if(b[o+8+(g*72|0)+37>>0]&32)break;g=g+1|0;if((g|0)>=(h|0)){r=0;break b}}r=f[o+8+(g*72|0)+40>>2]|0}else r=0;while(0);g=a+40|0;o=f[g>>2]|0;h=o+1|0;f[g>>2]=h;m=(A|0)!=0;if((b[c+4>>0]|0)==123){f[g>>2]=o+2;g=m?8:6}else{h=0;g=m?7:5}b[F>>0]=g;f[F+4>>2]=o;f[F+16>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;s=a+44|0;n=(f[s>>2]|0)+1|0;f[s>>2]=n;s=I+136|0;g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;l=f[I+88>>2]|0;b[l+(g*20|0)>>0]=116;d[l+(g*20|0)+2>>1]=0;f[l+(g*20|0)+4>>2]=r;f[l+(g*20|0)+8>>2]=n;f[l+(g*20|0)+12>>2]=p;f[l+(g*20|0)+16>>2]=0;b[l+(g*20|0)+1>>0]=0}else tl(I,116,r,n,p)|0;do if(!m){g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;l=f[I+88>>2]|0;b[l+(g*20|0)>>0]=113;d[l+(g*20|0)+2>>1]=0;f[l+(g*20|0)+4>>2]=o;f[l+(g*20|0)+8>>2]=p;f[l+(g*20|0)+12>>2]=0;f[l+(g*20|0)+16>>2]=0;b[l+(g*20|0)+1>>0]=0;break}else{tl(I,113,o,p,0)|0;break}}else{l=Po(a,c)|0;i=(f[A>>2]|0)+2|0;g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;p=f[I+88>>2]|0;b[p+(g*20|0)>>0]=113;d[p+(g*20|0)+2>>1]=0;f[p+(g*20|0)+4>>2]=o;f[p+(g*20|0)+8>>2]=i;f[p+(g*20|0)+12>>2]=0;f[p+(g*20|0)+16>>2]=0;b[p+(g*20|0)+1>>0]=0}else g=tl(I,113,o,i,0)|0;i=f[I>>2]|0;do if(!(b[i+81>>0]|0)){if((g|0)<0)g=(f[s>>2]|0)+-1|0;i=f[I+88>>2]|0;k=i+(g*20|0)+1|0;if(b[k>>0]|0){ul(I,i+(g*20|0)|0,l,-9);break}if(l|0){f[i+(g*20|0)+16>>2]=l;b[k>>0]=-9}}else if(!((l|0)==0|(f[i+480>>2]|0)!=0)?(p=(f[l>>2]|0)+-1|0,f[l>>2]=p,(p|0)==0):0){g=f[l+12>>2]|0;if(g|0){if(f[g+480>>2]|0){Kc(g,l);break}p=l;if((f[g+304>>2]|0)>>>0<=p>>>0?(f[g+308>>2]|0)>>>0>p>>>0:0){p=g+300|0;f[l>>2]=f[p>>2];f[p>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{p=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[F+20>>2]=A}while(0);if(h|0){g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;p=f[I+88>>2]|0;b[p+(g*20|0)>>0]=113;d[p+(g*20|0)+2>>1]=0;f[p+(g*20|0)+4>>2]=h;f[p+(g*20|0)+8>>2]=0;f[p+(g*20|0)+12>>2]=0;f[p+(g*20|0)+16>>2]=0;b[p+(g*20|0)+1>>0]=0}else g=tl(I,113,h,0,0)|0;f[c+24>>2]=g;p=c+8|0;f[p>>2]=f[p>>2]|32}f[z>>2]=0;p=E+56|0;f[p>>2]=0;Km(a,1,57809,q);q=Kl(a,E,F)|0;f[p>>2]=c;do if(!q){g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;p=f[I+88>>2]|0;b[p+(g*20|0)>>0]=36;d[p+(g*20|0)+2>>1]=0;f[p+(g*20|0)+4>>2]=o;f[p+(g*20|0)+8>>2]=v;f[p+(g*20|0)+12>>2]=0;f[p+(g*20|0)+16>>2]=0;b[p+(g*20|0)+1>>0]=0;p=g}else p=tl(I,36,o,v,0)|0;g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;q=f[I+88>>2]|0;b[q+(g*20|0)>>0]=-126;d[q+(g*20|0)+2>>1]=0;f[q+(g*20|0)+4>>2]=r;f[q+(g*20|0)+8>>2]=0;f[q+(g*20|0)+12>>2]=0;f[q+(g*20|0)+16>>2]=0;b[q+(g*20|0)+1>>0]=0}else tl(I,130,r,0,0)|0;do if(m){g=(f[A>>2]|0)+1|0;h=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(h|0)){f[s>>2]=h+1;q=f[I+88>>2]|0;b[q+(h*20|0)>>0]=90;d[q+(h*20|0)+2>>1]=0;f[q+(h*20|0)+4>>2]=o;f[q+(h*20|0)+8>>2]=g;f[q+(h*20|0)+12>>2]=n;f[q+(h*20|0)+16>>2]=0;b[q+(h*20|0)+1>>0]=0;break}else{tl(I,90,o,g,n)|0;break}}else{g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;q=f[I+88>>2]|0;b[q+(g*20|0)>>0]=-128;d[q+(g*20|0)+2>>1]=0;f[q+(g*20|0)+4>>2]=o;f[q+(g*20|0)+8>>2]=n;f[q+(g*20|0)+12>>2]=0;f[q+(g*20|0)+16>>2]=0;b[q+(g*20|0)+1>>0]=0;break}else{tl(I,128,o,n,0)|0;break}}while(0);g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;q=f[I+88>>2]|0;b[q+(g*20|0)>>0]=124;d[q+(g*20|0)+2>>1]=0;f[q+(g*20|0)+4>>2]=o;f[q+(g*20|0)+8>>2]=0;f[q+(g*20|0)+12>>2]=0;f[q+(g*20|0)+16>>2]=0;b[q+(g*20|0)+1>>0]=0}else tl(I,124,o,0,0)|0;g=f[B>>2]|0;n=g+60|0;o=f[n>>2]|0;f[n>>2]=o+1;n=g+64|0;if(!(o+-1&o)){l=o<<3|4;m=f[g>>2]|0;g=f[n>>2]|0;c:do if(g){i=g;k=m+304|0;do if((f[k>>2]|0)>>>0<=i>>>0){if((f[m+308>>2]|0)>>>0<=i>>>0)break;if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0)))break c}while(0);h=Lc(m,g,l,0)|0;if(h|0){g=h;break}if(f[m+480>>2]|0){Kc(m,g);g=0;break}do if((f[k>>2]|0)>>>0<=i>>>0){if((f[m+308>>2]|0)>>>0<=i>>>0)break;q=m+300|0;f[g>>2]=f[q>>2];f[q>>2]=g;g=0;break c}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{q=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0))){h=m+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];q=m+284|0;f[q>>2]=(f[q>>2]|0)+1;break c}h=m+296|0;g=f[h>>2]|0;if(!g){g=m+292|0;break}else{f[h>>2]=f[g>>2];q=m+284|0;f[q>>2]=(f[q>>2]|0)+1;break c}}else g=m+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(m,l,0)|0}while(0);f[n>>2]=g}else g=f[n>>2]|0;if(g|0)f[g+(o<<2)>>2]=-1;g=~o;do if((u|0)>0){h=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(h|0)){f[s>>2]=h+1;q=f[I+88>>2]|0;b[q+(h*20|0)>>0]=47;d[q+(h*20|0)+2>>1]=0;f[q+(h*20|0)+4>>2]=u;f[q+(h*20|0)+8>>2]=g;f[q+(h*20|0)+12>>2]=1;f[q+(h*20|0)+16>>2]=0;b[q+(h*20|0)+1>>0]=0;break}else{tl(I,47,u,g,1)|0;break}}while(0);oo(a,c,r,0,0,e,g,v);do if(w|0){g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;e=f[I+88>>2]|0;b[e+(g*20|0)>>0]=49;d[e+(g*20|0)+2>>1]=0;f[e+(g*20|0)+4>>2]=w;f[e+(g*20|0)+8>>2]=v;f[e+(g*20|0)+12>>2]=0;f[e+(g*20|0)+16>>2]=0;b[e+(g*20|0)+1>>0]=0;break}else{tl(I,49,w,v,0)|0;break}}while(0);g=f[(f[B>>2]|0)+64>>2]|0;if(g|0)f[g+(o<<2)>>2]=f[s>>2];if(!(f[c+8>>2]&8)){f[D>>2]=0;Km(a,1,57857,H);Kl(a,c,F)|0;f[D>>2]=E}else ni(a,57815,G);g=f[s>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){f[s>>2]=g+1;I=f[I+88>>2]|0;b[I+(g*20|0)>>0]=11;d[I+(g*20|0)+2>>1]=0;f[I+(g*20|0)+4>>2]=0;f[I+(g*20|0)+8>>2]=p;f[I+(g*20|0)+12>>2]=0;f[I+(g*20|0)+16>>2]=0;b[I+(g*20|0)+1>>0]=0}else tl(I,11,0,p,0)|0;g=f[(f[B>>2]|0)+64>>2]|0;if(!g)break;f[g+(C<<2)>>2]=f[s>>2]}while(0);g=f[z>>2]|0;if(g|0)jg(f[a>>2]|0,g);f[z>>2]=A;f[x>>2]=y;t=J;return}function qo(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=t;t=t+128|0;L=$+64|0;H=$+56|0;F=$+48|0;C=$+32|0;y=$+24|0;w=$+8|0;v=$;q=$+120|0;N=$+96|0;O=$+72|0;Z=f[a>>2]|0;_=a+8|0;X=f[_>>2]|0;W=X+12|0;g=f[W>>2]|0;o=g+60|0;Y=f[o>>2]|0;f[o>>2]=Y+1;o=g+64|0;if(!(Y+-1&Y)){m=Y<<3|4;n=f[g>>2]|0;g=f[o>>2]|0;a:do if(g){k=g;l=n+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;i=Lc(n,g,m,0)|0;if(!i){if(f[n+480>>2]|0){Kc(n,g);g=0;break}if((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0){V=n+300|0;f[g>>2]=f[V>>2];f[V>>2]=g;g=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{V=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-V;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else g=i}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];V=n+284|0;f[V>>2]=(f[V>>2]|0)+1;break a}i=n+296|0;g=f[i>>2]|0;if(!g){g=n+292|0;break}else{f[i>>2]=f[g>>2];V=n+284|0;f[V>>2]=(f[V>>2]|0)+1;break a}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(n,m,0)|0}while(0);f[o>>2]=g}else g=f[o>>2]|0;if(g|0)f[g+(Y<<2)>>2]=-1;P=~Y;g=f[W>>2]|0;o=g+60|0;T=f[o>>2]|0;f[o>>2]=T+1;o=g+64|0;if(!(T+-1&T)){m=T<<3|4;n=f[g>>2]|0;g=f[o>>2]|0;b:do if(g){k=g;l=n+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;i=Lc(n,g,m,0)|0;if(!i){if(f[n+480>>2]|0){Kc(n,g);g=0;break}if((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0){V=n+300|0;f[g>>2]=f[V>>2];f[V>>2]=g;g=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{V=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-V;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else g=i}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];V=n+284|0;f[V>>2]=(f[V>>2]|0)+1;break b}i=n+296|0;g=f[i>>2]|0;if(!g){g=n+292|0;break}else{f[i>>2]=f[g>>2];V=n+284|0;f[V>>2]=(f[V>>2]|0)+1;break b}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(n,m,0)|0}while(0);f[o>>2]=g}else g=f[o>>2]|0;if(g|0)f[g+(T<<2)>>2]=-1;R=~T;D=c+4|0;E=b[D>>0]|0;U=c+52|0;V=f[U>>2]|0;s=c+48|0;g=f[s>>2]|0;i=f[g>>2]|0;M=E<<24>>24==124;c:do if(!M?(p=Z+81|0,(b[p>>0]|0)==0):0){n=q+4|0;m=1;l=i;while(1){if((m|0)>(f[f[c>>2]>>2]|0)){m=g;S=l;break c}d:do if((l|0)>0){k=g+4|0;i=0;while(1){if((m|0)==(j[k+16>>1]|0))break d;i=i+1|0;if((i|0)<(l|0))k=k+20|0;else break}}else i=0;while(0);if((i|0)==(l|0)){f[q>>2]=0;f[n>>2]=0;i=Dk(Z,143,q,0)|0;if(!i){g=7;break}S=i+4|0;f[S>>2]=f[S>>2]|1024;f[i+8>>2]=m;g=ml(f[a>>2]|0,g,i)|0;f[s>>2]=g;if(!g){g=0;i=l}else{d[g+4+(l*20|0)+16>>1]=m;i=l+1|0}}else i=l;if(!(b[p>>0]|0)){m=m+1|0;l=i}else{m=g;S=i;break c}}t=$;return g|0}else{m=g;S=i}while(0);k=(S<<2)+4|0;q=Z+272|0;e:do if(f[q>>2]|0)if(!(b[Z+81>>0]|0))u=82;else{K=0;Q=0;J=1;I=0}else{do if(!(0<0|(0==0?(j[Z+276>>1]|0)>>>0>>0:0))){g=Z+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];u=Z+284|0;f[u>>2]=(f[u>>2]|0)+1;u=83;break e}g=Z+296|0;i=f[g>>2]|0;if(!i){g=Z+292|0;break}else{f[g>>2]=f[i>>2];u=Z+284|0;f[u>>2]=(f[u>>2]|0)+1;u=83;break e}}else g=Z+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;u=82}while(0);if((u|0)==82){i=Dc(Z,k,0)|0;u=83}if((u|0)==83)if(!i){K=0;Q=0;J=1;I=i}else{f[i>>2]=S;if((S|0)>=1){g=m+4|0;k=1;while(1){f[i+(k<<2)>>2]=(j[g+16>>1]|0)+-1;if((k|0)==(S|0))break;else{g=g+20|0;k=k+1|0}}}K=i;Q=Po(a,c)|0;J=0;I=i}f[s>>2]=m;G=Ik(f[a>>2]|0,m,0)|0;r=V+48|0;f[r>>2]=G;f:do if(!M){o=f[f[c>>2]>>2]|0;g=a+44|0;i=f[g>>2]|0;p=i+1|0;n=o+1|0;f[g>>2]=i+n;g=X+136|0;i=f[g>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;G=f[X+88>>2]|0;b[G+(i*20|0)>>0]=70;d[G+(i*20|0)+2>>1]=0;f[G+(i*20|0)+4>>2]=0;f[G+(i*20|0)+8>>2]=p;f[G+(i*20|0)+12>>2]=0;f[G+(i*20|0)+16>>2]=0;b[G+(i*20|0)+1>>0]=0}else tl(X,70,0,p,0)|0;m=n*5|0;k=m+20|0;g:do if(f[q>>2]|0)if(!(b[Z+81>>0]|0))u=102;else{A=0;z=0;break f}else{do if(!(0<0|(0==0?(j[Z+276>>1]|0)>>>0>>0:0))){g=Z+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];l=Z+284|0;f[l>>2]=(f[l>>2]|0)+1;l=i;break g}g=Z+296|0;i=f[g>>2]|0;if(!i){g=Z+292|0;break}else{f[g>>2]=f[i>>2];l=Z+284|0;f[l>>2]=(f[l>>2]|0)+1;l=i;break g}}else g=Z+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;u=102}while(0);if((u|0)==102)l=Dc(Z,k,0)|0;if(!l){g=Z+81|0;if((b[g>>0]|0)==0?(b[Z+82>>0]|0)==0:0){b[g>>0]=1;if((f[Z+180>>2]|0)>0)f[Z+264>>2]=1;f[q>>2]=(f[q>>2]|0)+1}if(!l){A=0;z=0;break}else k=0}else{f[l+16>>2]=l+20+(n<<2);d[l+6>>1]=o;d[l+8>>1]=n;b[l+4>>0]=b[Z+78>>0]|0;f[l+12>>2]=Z;f[l>>2]=1;_A(l+24|0,0,m+-4|0)|0;k=l}if((o|0)>0){i=l+16|0;g=0;do{G=so(a,c,g)|0;f[l+20+(g<<2)>>2]=G;b[(f[i>>2]|0)+g>>0]=0;g=g+1|0}while((g|0)!=(o|0));A=l;z=k}else{A=l;z=k}}else{A=0;p=0;z=0}while(0);f[U>>2]=0;G=V+56|0;f[G>>2]=0;n=f[s>>2]|0;g=f[a>>2]|0;h:do if(n|0?(b[g+81>>0]|0)==0:0){i=f[n>>2]|0;if((i|0)>(f[g+116>>2]|0)){f[v>>2]=49126;ni(a,49514,v);break}m=f[c>>2]|0;if((i|0)>0){g=0;l=n+4|0;while(1){k=d[l+16>>1]|0;if(k<<16>>16){i=k&65535;k=f[m>>2]|0;if((k|0)<(i|0))break;Nk(a,m,i+-1|0,f[l>>2]|0,49126,0);i=f[n>>2]|0}g=g+1|0;if((g|0)<(i|0))l=l+20|0;else break h}f[w>>2]=g+1;f[w+4>>2]=49126;f[w+8>>2]=k;ni(a,49392,w)}}while(0);i:do if(((f[V+52>>2]|0)==0?(B=f[r>>2]|0,x=f[a>>2]|0,B|0):0)?(b[x+81>>0]|0)==0:0){i=f[B>>2]|0;if((i|0)>(f[x+116>>2]|0)){f[y>>2]=49126;ni(a,49514,y);break}m=f[V>>2]|0;if((i|0)>0){g=0;l=B+4|0;while(1){k=d[l+16>>1]|0;if(k<<16>>16){i=k&65535;k=f[m>>2]|0;if((k|0)<(i|0))break;Nk(a,m,i+-1|0,f[l>>2]|0,49126,0);i=f[B>>2]|0}g=g+1|0;if((g|0)<(i|0))l=l+20|0;else break i}f[C>>2]=g+1;f[C+4>>2]=49126;f[C+8>>2]=k;ni(a,49392,C)}}while(0);ro(a,c,P);o=c+12|0;g=f[o>>2]|0;do if(M&(g|0)!=0){i=a+44|0;l=f[i>>2]|0;m=l+1|0;l=l+2|0;f[i>>2]=l;i=f[c+16>>2]|0;i=(i|0)==0?g:i+1|0;k=X+136|0;g=f[k>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[k>>2]=g+1;C=f[X+88>>2]|0;b[C+(g*20|0)>>0]=78;d[C+(g*20|0)+2>>1]=0;f[C+(g*20|0)+4>>2]=i;f[C+(g*20|0)+8>>2]=m;f[C+(g*20|0)+12>>2]=0;f[C+(g*20|0)+16>>2]=0;b[C+(g*20|0)+1>>0]=0}else tl(X,78,i,m,0)|0;g=f[k>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[k>>2]=g+1;C=f[X+88>>2]|0;b[C+(g*20|0)>>0]=78;d[C+(g*20|0)+2>>1]=0;f[C+(g*20|0)+4>>2]=m;f[C+(g*20|0)+8>>2]=l;f[C+(g*20|0)+12>>2]=0;f[C+(g*20|0)+16>>2]=0;b[C+(g*20|0)+1>>0]=0;break}else{tl(X,78,m,l,0)|0;break}}else{l=0;m=0}while(0);g=c+60|0;i=f[g>>2]|0;if(i|0)ig(Z,i);f[g>>2]=0;B=a+44|0;w=f[B>>2]|0;x=w+1|0;y=w+2|0;v=w+3|0;w=w+4|0;f[B>>2]=w;b[N>>0]=13;f[N+4>>2]=x;f[N+16>>2]=0;B=N+8|0;f[B>>2]=0;f[N+12>>2]=0;b[O>>0]=13;f[O+4>>2]=y;f[O+16>>2]=0;C=O+8|0;f[C>>2]=0;f[O+12>>2]=0;switch(b[D>>0]|0){case 124:{g=49266;break}case 126:{g=49256;break}case 125:{g=49249;break}default:g=49243}f[F>>2]=g;Km(a,1,57738,F);D=X+136|0;g=f[D>>2]|0;i=g+1|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=i;n=f[X+88>>2]|0;b[n+(g*20|0)>>0]=13;d[n+(g*20|0)+2>>1]=0;f[n+(g*20|0)+4>>2]=x;f[n+(g*20|0)+8>>2]=0;f[n+(g*20|0)+12>>2]=i;f[n+(g*20|0)+16>>2]=0;b[n+(g*20|0)+1>>0]=0;n=g}else n=tl(X,13,x,0,i)|0;f[V+12>>2]=m;Km(a,1,57749,H);Kl(a,V,N)|0;g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;H=f[X+88>>2]|0;b[H+(g*20|0)>>0]=67;d[H+(g*20|0)+2>>1]=0;f[H+(g*20|0)+4>>2]=x;f[H+(g*20|0)+8>>2]=0;f[H+(g*20|0)+12>>2]=0;f[H+(g*20|0)+16>>2]=0;b[H+(g*20|0)+1>>0]=0}else tl(X,67,x,0,0)|0;i=f[W>>2]|0;b[i+19>>0]=0;f[i+28>>2]=0;k=f[D>>2]|0;if(!(b[(f[X>>2]|0)+81>>0]|0))g=(f[X+88>>2]|0)+(((n|0)<0?k+-1|0:n)*20|0)|0;else g=72144;f[g+8>>2]=k;g=k+1|0;if((f[i+48>>2]|0)>(k|0)){f[D>>2]=g;u=f[X+88>>2]|0;b[u+(k*20|0)>>0]=13;d[u+(k*20|0)+2>>1]=0;f[u+(k*20|0)+4>>2]=y;f[u+(k*20|0)+8>>2]=0;f[u+(k*20|0)+12>>2]=g;f[u+(k*20|0)+16>>2]=0;b[u+(k*20|0)+1>>0]=0;u=k}else u=tl(X,13,y,0,g)|0;F=f[o>>2]|0;g=c+16|0;H=f[g>>2]|0;f[o>>2]=l;f[g>>2]=0;Km(a,1,57754,L);Kl(a,c,O)|0;f[o>>2]=F;f[g>>2]=H;g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;L=f[X+88>>2]|0;b[L+(g*20|0)>>0]=67;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=y;f[L+(g*20|0)+8>>2]=0;f[L+(g*20|0)+12>>2]=0;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0}else tl(X,67,y,0,0)|0;q=f[W>>2]|0;b[q+19>>0]=0;f[q+28>>2]=0;q=Qo(a,c,N,e,v,p,A,P)|0;s=(E+-123&255)<2;if(s)r=Qo(a,c,O,e,w,p,A,P)|0;else r=0;j:do if(A|0?(O=(f[A>>2]|0)+-1|0,f[A>>2]=O,(O|0)==0):0){g=f[A+12>>2]|0;do if(g|0){if(f[g+480>>2]|0){Kc(g,z);break j}i=A;if((f[g+304>>2]|0)>>>0>i>>>0)break;if((f[g+308>>2]|0)>>>0<=i>>>0)break;O=g+300|0;f[A>>2]=f[O>>2];f[O>>2]=z;break j}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{O=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-O;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}}while(0);p=E<<24>>24==126;if((E+-125&255)<2){l=P;n=P}else{g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;O=f[X+88>>2]|0;b[O+(g*20|0)>>0]=12;d[O+(g*20|0)+2>>1]=0;f[O+(g*20|0)+4>>2]=w;f[O+(g*20|0)+8>>2]=r;f[O+(g*20|0)+12>>2]=0;f[O+(g*20|0)+16>>2]=0;b[O+(g*20|0)+1>>0]=0}else g=tl(X,12,w,r,0)|0;i=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;O=f[X+88>>2]|0;b[O+(i*20|0)>>0]=14;d[O+(i*20|0)+2>>1]=0;f[O+(i*20|0)+4>>2]=y;f[O+(i*20|0)+8>>2]=P;f[O+(i*20|0)+12>>2]=0;f[O+(i*20|0)+16>>2]=0;b[O+(i*20|0)+1>>0]=0}else i=tl(X,14,y,P,0)|0;k=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;O=f[X+88>>2]|0;b[O+(k*20|0)>>0]=11;d[O+(k*20|0)+2>>1]=0;f[O+(k*20|0)+4>>2]=0;f[O+(k*20|0)+8>>2]=g;f[O+(k*20|0)+12>>2]=0;f[O+(k*20|0)+16>>2]=0;b[O+(k*20|0)+1>>0]=0}else tl(X,11,0,g,0)|0;o=c+6|0;k=d[o>>1]|0;l=d[V+6>>1]|0;m=k<<16>>16;n=l<<16>>16;do if(k<<16>>16>16){if((m+49|0)<(n|0)){k=l;break}if((m+31|0)<(n|0)){k=n+1&65535;break}else{k=(h[22960+(n-m)>>0]|0)+n&65535;break}}else{if((n+49|0)<(m|0))break;if((n+31|0)<(m|0)){k=m+1&65535;break}else{k=(h[22960+(m-n)>>0]|0)+m&65535;break}}while(0);d[o>>1]=k;l=g;n=i}do if(!p){g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;O=f[X+88>>2]|0;b[O+(g*20|0)>>0]=12;d[O+(g*20|0)+2>>1]=0;f[O+(g*20|0)+4>>2]=v;f[O+(g*20|0)+8>>2]=q;f[O+(g*20|0)+12>>2]=0;f[O+(g*20|0)+16>>2]=0;b[O+(g*20|0)+1>>0]=0}else g=tl(X,12,v,q,0)|0;i=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;O=f[X+88>>2]|0;b[O+(i*20|0)>>0]=14;d[O+(i*20|0)+2>>1]=0;f[O+(i*20|0)+4>>2]=x;f[O+(i*20|0)+8>>2]=P;f[O+(i*20|0)+12>>2]=0;f[O+(i*20|0)+16>>2]=0;b[O+(i*20|0)+1>>0]=0}else tl(X,14,x,P,0)|0;i=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;m=f[X+88>>2]|0;b[m+(i*20|0)>>0]=11;d[m+(i*20|0)+2>>1]=0;f[m+(i*20|0)+4>>2]=0;f[m+(i*20|0)+8>>2]=g;f[m+(i*20|0)+12>>2]=0;f[m+(i*20|0)+16>>2]=0;b[m+(i*20|0)+1>>0]=0;m=g;break}else{tl(X,11,0,g,0)|0;m=g;break}}else{g=c+6|0;i=d[V+6>>1]|0;if((d[g>>1]|0)<=i<<16>>16){m=l;break}d[g>>1]=i;m=l}while(0);g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;k=f[X+88>>2]|0;b[k+(g*20|0)>>0]=12;d[k+(g*20|0)+2>>1]=0;f[k+(g*20|0)+4>>2]=v;f[k+(g*20|0)+8>>2]=q;f[k+(g*20|0)+12>>2]=0;f[k+(g*20|0)+16>>2]=0;b[k+(g*20|0)+1>>0]=0;k=g}else k=tl(X,12,v,q,0)|0;g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;P=f[X+88>>2]|0;b[P+(g*20|0)>>0]=14;d[P+(g*20|0)+2>>1]=0;f[P+(g*20|0)+4>>2]=x;f[P+(g*20|0)+8>>2]=l;f[P+(g*20|0)+12>>2]=0;f[P+(g*20|0)+16>>2]=0;b[P+(g*20|0)+1>>0]=0}else tl(X,14,x,l,0)|0;g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;P=f[X+88>>2]|0;b[P+(g*20|0)>>0]=11;d[P+(g*20|0)+2>>1]=0;f[P+(g*20|0)+4>>2]=0;f[P+(g*20|0)+8>>2]=R;f[P+(g*20|0)+12>>2]=0;f[P+(g*20|0)+16>>2]=0;b[P+(g*20|0)+1>>0]=0}else tl(X,11,0,R,0)|0;do if(!M){if(p){p=k+1|0;l=k;break}g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;P=f[X+88>>2]|0;b[P+(g*20|0)>>0]=14;d[P+(g*20|0)+2>>1]=0;f[P+(g*20|0)+4>>2]=x;f[P+(g*20|0)+8>>2]=l;f[P+(g*20|0)+12>>2]=0;f[P+(g*20|0)+16>>2]=0;b[P+(g*20|0)+1>>0]=0}else g=tl(X,14,x,l,0)|0;i=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;p=f[X+88>>2]|0;b[p+(i*20|0)>>0]=11;d[p+(i*20|0)+2>>1]=0;f[p+(i*20|0)+4>>2]=0;f[p+(i*20|0)+8>>2]=R;f[p+(i*20|0)+12>>2]=0;f[p+(i*20|0)+16>>2]=0;b[p+(i*20|0)+1>>0]=0;p=k;l=g;break}else{tl(X,11,0,R,0)|0;p=k;l=g;break}}else{p=k;l=k}while(0);o=f[D>>2]|0;do if(s)if((f[(f[W>>2]|0)+48>>2]|0)>(o|0)){f[D>>2]=o+1;P=f[X+88>>2]|0;b[P+(o*20|0)>>0]=12;d[P+(o*20|0)+2>>1]=0;f[P+(o*20|0)+4>>2]=w;f[P+(o*20|0)+8>>2]=r;f[P+(o*20|0)+12>>2]=0;f[P+(o*20|0)+16>>2]=0;b[P+(o*20|0)+1>>0]=0;break}else{tl(X,12,w,r,0)|0;break}while(0);g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;P=f[X+88>>2]|0;b[P+(g*20|0)>>0]=14;d[P+(g*20|0)+2>>1]=0;f[P+(g*20|0)+4>>2]=y;f[P+(g*20|0)+8>>2]=m;f[P+(g*20|0)+12>>2]=0;f[P+(g*20|0)+16>>2]=0;b[P+(g*20|0)+1>>0]=0}else tl(X,14,y,m,0)|0;g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;P=f[X+88>>2]|0;b[P+(g*20|0)>>0]=11;d[P+(g*20|0)+2>>1]=0;f[P+(g*20|0)+4>>2]=0;f[P+(g*20|0)+8>>2]=R;f[P+(g*20|0)+12>>2]=0;f[P+(g*20|0)+16>>2]=0;b[P+(g*20|0)+1>>0]=0}else tl(X,11,0,R,0)|0;i=f[D>>2]|0;if(!(b[(f[X>>2]|0)+81>>0]|0))g=(f[X+88>>2]|0)+(((u|0)<0?i+-1|0:u)*20|0)|0;else g=72144;f[g+8>>2]=i;if((f[(f[W>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;R=f[X+88>>2]|0;b[R+(i*20|0)>>0]=14;d[R+(i*20|0)+2>>1]=0;f[R+(i*20|0)+4>>2]=x;f[R+(i*20|0)+8>>2]=n;f[R+(i*20|0)+12>>2]=0;f[R+(i*20|0)+16>>2]=0;b[R+(i*20|0)+1>>0]=0}else tl(X,14,x,n,0)|0;g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;R=f[X+88>>2]|0;b[R+(g*20|0)>>0]=14;d[R+(g*20|0)+2>>1]=0;f[R+(g*20|0)+4>>2]=y;f[R+(g*20|0)+8>>2]=m;f[R+(g*20|0)+12>>2]=0;f[R+(g*20|0)+16>>2]=0;b[R+(g*20|0)+1>>0]=0}else tl(X,14,y,m,0)|0;i=f[W>>2]|0;g=f[i+64>>2]|0;if(g|0)f[g+(T<<2)>>2]=f[D>>2];g=f[D>>2]|0;if((f[i+48>>2]|0)>(g|0)){f[D>>2]=g+1;i=f[X+88>>2]|0;b[i+(g*20|0)>>0]=86;i=i+(g*20|0)+1|0;k=i+19|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(k|0))}else g=tl(X,86,0,0,0)|0;i=f[X>>2]|0;k:do if(b[i+81>>0]|0){if(J)break;do if(i|0){if(f[i+480>>2]|0){Kc(i,K);break k}g=K;if((f[i+304>>2]|0)>>>0>g>>>0)break;if((f[i+308>>2]|0)>>>0<=g>>>0)break;T=i+300|0;f[I>>2]=f[T>>2];f[T>>2]=K;break k}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](K);break}else{T=ib[f[37368>>2]&255](K)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](K);break}}else{if((g|0)<0)g=(f[D>>2]|0)+-1|0;i=f[X+88>>2]|0;k=i+(g*20|0)+1|0;if(b[k>>0]|0){ul(X,i+(g*20|0)|0,K,-15);break}if(J)break;f[i+(g*20|0)+16>>2]=K;b[k>>0]=-15}while(0);k=f[B>>2]|0;i=f[C>>2]|0;g=f[D>>2]|0;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;T=f[X+88>>2]|0;b[T+(g*20|0)>>0]=87;d[T+(g*20|0)+2>>1]=0;f[T+(g*20|0)+4>>2]=k;f[T+(g*20|0)+8>>2]=i;f[T+(g*20|0)+12>>2]=S;f[T+(g*20|0)+16>>2]=0;b[T+(g*20|0)+1>>0]=0}else g=tl(X,87,k,i,S)|0;i=f[X>>2]|0;l:do if(b[i+81>>0]|0){if((Q|0)==0|(f[i+480>>2]|0)!=0)break;T=(f[Q>>2]|0)+-1|0;f[Q>>2]=T;if(T|0)break;g=f[Q+12>>2]|0;do if(g|0){if(f[g+480>>2]|0){Kc(g,Q);break l}i=Q;if((f[g+304>>2]|0)>>>0>i>>>0)break;if((f[g+308>>2]|0)>>>0<=i>>>0)break;T=g+300|0;f[Q>>2]=f[T>>2];f[T>>2]=Q;break l}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](Q);break}else{T=ib[f[37368>>2]&255](Q)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Q);break}}else{if((g|0)<0)g=(f[D>>2]|0)+-1|0;i=f[X+88>>2]|0;k=i+(g*20|0)+1|0;if(b[k>>0]|0){ul(X,i+(g*20|0)|0,Q,-9);break}if(!Q)break;f[i+(g*20|0)+16>>2]=Q;b[k>>0]=-9}while(0);g=f[D>>2]|0;if((g|0)>0)d[(f[X+88>>2]|0)+((g+-1|0)*20|0)+2>>1]=1;if((f[(f[W>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;X=f[X+88>>2]|0;b[X+(g*20|0)>>0]=16;d[X+(g*20|0)+2>>1]=0;f[X+(g*20|0)+4>>2]=p;f[X+(g*20|0)+8>>2]=l;f[X+(g*20|0)+12>>2]=o;f[X+(g*20|0)+16>>2]=0;b[X+(g*20|0)+1>>0]=0}else tl(X,16,p,l,o)|0;g=f[(f[W>>2]|0)+64>>2]|0;if(g|0)f[g+(Y<<2)>>2]=f[D>>2];g=f[U>>2]|0;if(g|0)mg(Z,g,1);f[U>>2]=V;f[G>>2]=c;k=a+208|0;g=f[k>>2]|0;if(!g)g=0;else{i=f[_>>2]|0;if((g|0)<0)g=(f[i+136>>2]|0)+-1|0;if(!(b[(f[i>>2]|0)+81>>0]|0))g=(f[i+88>>2]|0)+(g*20|0)|0;else g=72144;g=f[g+8>>2]|0}f[k>>2]=g;a=(f[a+36>>2]|0)!=0&1;t=$;return a|0}function ro(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+16|0;h=x;q=f[c+60>>2]|0;g=c+12|0;if((q|0)==0|(f[g>>2]|0)!=0){t=x;return}r=a+44|0;w=(f[r>>2]|0)+1|0;f[r>>2]=w;f[g>>2]=w;s=a+8|0;g=f[s>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;v=sl(a)|0}else v=g;g=q+12|0;do if(!(Ak(f[g>>2]|0,h)|0)){g=f[g>>2]|0;do if(g){if((b[g>>0]|0)!=-92){m=xl(a,g,w)|0;o=53;break}k=f[s>>2]|0;g=f[g+28>>2]|0;h=k+136|0;i=f[h>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(i|0)){f[h>>2]=i+1;p=f[k+88>>2]|0;b[p+(i*20|0)>>0]=78;d[p+(i*20|0)+2>>1]=0;f[p+(i*20|0)+4>>2]=g;f[p+(i*20|0)+8>>2]=w;f[p+(i*20|0)+12>>2]=0;f[p+(i*20|0)+16>>2]=0;b[p+(i*20|0)+1>>0]=0;break}else{tl(k,78,g,w,0)|0;break}}else{m=xl(a,0,w)|0;o=53}while(0);do if(((o|0)==53?(m|0)!=(w|0):0)?(l=f[s>>2]|0,l|0):0){g=l+136|0;h=f[g>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(h|0)){f[g>>2]=h+1;p=f[l+88>>2]|0;b[p+(h*20|0)>>0]=79;d[p+(h*20|0)+2>>1]=0;f[p+(h*20|0)+4>>2]=m;f[p+(h*20|0)+8>>2]=w;f[p+(h*20|0)+12>>2]=0;f[p+(h*20|0)+16>>2]=0;b[p+(h*20|0)+1>>0]=0;break}else{tl(l,79,m,w,0)|0;break}}while(0);h=v+136|0;g=f[h>>2]|0;i=v+12|0;if((f[(f[i>>2]|0)+48>>2]|0)>(g|0)){f[h>>2]=g+1;p=f[v+88>>2]|0;b[p+(g*20|0)>>0]=15;d[p+(g*20|0)+2>>1]=0;f[p+(g*20|0)+4>>2]=w;f[p+(g*20|0)+8>>2]=0;f[p+(g*20|0)+12>>2]=0;f[p+(g*20|0)+16>>2]=0;b[p+(g*20|0)+1>>0]=0}else tl(v,15,w,0,0)|0;g=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(g|0)){f[h>>2]=g+1;p=f[v+88>>2]|0;b[p+(g*20|0)>>0]=20;d[p+(g*20|0)+2>>1]=0;f[p+(g*20|0)+4>>2]=w;f[p+(g*20|0)+8>>2]=e;f[p+(g*20|0)+12>>2]=0;f[p+(g*20|0)+16>>2]=0;b[p+(g*20|0)+1>>0]=0;break}else{tl(v,20,w,e,0)|0;break}}else{g=f[h>>2]|0;i=v+136|0;h=f[i>>2]|0;k=v+12|0;if((f[(f[k>>2]|0)+48>>2]|0)>(h|0)){f[i>>2]=h+1;p=f[v+88>>2]|0;b[p+(h*20|0)>>0]=70;d[p+(h*20|0)+2>>1]=0;f[p+(h*20|0)+4>>2]=g;f[p+(h*20|0)+8>>2]=w;f[p+(h*20|0)+12>>2]=0;f[p+(h*20|0)+16>>2]=0;b[p+(h*20|0)+1>>0]=0}else tl(v,70,g,w,0)|0;if(!g){g=f[i>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(g|0)){f[i>>2]=g+1;p=f[v+88>>2]|0;b[p+(g*20|0)>>0]=11;d[p+(g*20|0)+2>>1]=0;f[p+(g*20|0)+4>>2]=0;f[p+(g*20|0)+8>>2]=e;f[p+(g*20|0)+12>>2]=0;f[p+(g*20|0)+16>>2]=0;b[p+(g*20|0)+1>>0]=0;break}else{tl(v,11,0,e,0)|0;break}}if((g|0)>-1){p=c+6|0;e=d[p>>1]|0;h=((g|0)<0)<<31>>31;n=g>>>0<8;if(n)if(g>>>0<2)i=0;else{i=40;l=g;k=h;do{i=(i&65535)+65526|0;l=WA(l|0,k|0,1)|0;k=ba()|0}while(k>>>0<0|(k|0)==0&l>>>0<8);k=i&65535;i=l;o=29}else{if(g>>>0>255){i=40;m=g;k=h;do{i=(i&65535)+40|0;o=m;m=VA(m|0,k|0,4)|0;l=k;k=ba()|0}while(l>>>0>0|(l|0)==0&o>>>0>4095);l=i&65535;i=m}else{l=40;k=h;i=g}if(k>>>0>0|(k|0)==0&i>>>0>15){do{l=(l&65535)+10&65535;o=i;i=VA(i|0,k|0,1)|0;m=k;k=ba()|0}while(m>>>0>0|(m|0)==0&o>>>0>31);k=l;o=29}else{k=l;o=29}}if((o|0)==29)i=(k&65535)+65526+(j[7936+((i&7)<<1)>>1]|0)&65535;if(e<<16>>16>i<<16>>16){if(n)if(g>>>0<2)g=0;else{i=40;do{i=(i&65535)+65526|0;g=WA(g|0,h|0,1)|0;h=ba()|0}while(h>>>0<0|(h|0)==0&g>>>0<8);i=i&65535;o=44}else{if(g>>>0>255){i=40;do{i=(i&65535)+40|0;o=g;g=VA(g|0,h|0,4)|0;n=h;h=ba()|0}while(n>>>0>0|(n|0)==0&o>>>0>4095);i=i&65535}else i=40;if(h>>>0>0|(h|0)==0&g>>>0>15){do{i=(i&65535)+10&65535;o=g;g=VA(g|0,h|0,1)|0;n=h;h=ba()|0}while(n>>>0>0|(n|0)==0&o>>>0>31);o=44}else o=44}if((o|0)==44)g=(i&65535)+65526+(j[7936+((g&7)<<1)>>1]|0)&65535;d[p>>1]=g;p=c+8|0;f[p>>2]=f[p>>2]|16384}}}while(0);g=f[q+16>>2]|0;if(!g){t=x;return}l=f[r>>2]|0;m=l+1|0;f[c+16>>2]=m;l=l+2|0;f[r>>2]=l;do if((b[g>>0]|0)==-92){k=f[s>>2]|0;g=f[g+28>>2]|0;h=k+136|0;i=f[h>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(i|0)){f[h>>2]=i+1;u=f[k+88>>2]|0;b[u+(i*20|0)>>0]=78;d[u+(i*20|0)+2>>1]=0;f[u+(i*20|0)+4>>2]=g;f[u+(i*20|0)+8>>2]=m;f[u+(i*20|0)+12>>2]=0;f[u+(i*20|0)+16>>2]=0;b[u+(i*20|0)+1>>0]=0;break}else{tl(k,78,g,m,0)|0;break}}else{i=xl(a,g,m)|0;if((i|0)!=(m|0)?(u=f[s>>2]|0,u|0):0){g=u+136|0;h=f[g>>2]|0;if((f[(f[u+12>>2]|0)+48>>2]|0)>(h|0)){f[g>>2]=h+1;u=f[u+88>>2]|0;b[u+(h*20|0)>>0]=79;d[u+(h*20|0)+2>>1]=0;f[u+(h*20|0)+4>>2]=i;f[u+(h*20|0)+8>>2]=m;f[u+(h*20|0)+12>>2]=0;f[u+(h*20|0)+16>>2]=0;b[u+(h*20|0)+1>>0]=0;break}else{tl(u,79,i,m,0)|0;break}}}while(0);h=v+136|0;g=f[h>>2]|0;i=v+12|0;if((f[(f[i>>2]|0)+48>>2]|0)>(g|0)){f[h>>2]=g+1;u=f[v+88>>2]|0;b[u+(g*20|0)>>0]=15;d[u+(g*20|0)+2>>1]=0;f[u+(g*20|0)+4>>2]=m;f[u+(g*20|0)+8>>2]=0;f[u+(g*20|0)+12>>2]=0;f[u+(g*20|0)+16>>2]=0;b[u+(g*20|0)+1>>0]=0}else tl(v,15,m,0,0)|0;g=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(g|0)){f[h>>2]=g+1;v=f[v+88>>2]|0;b[v+(g*20|0)>>0]=-103;d[v+(g*20|0)+2>>1]=0;f[v+(g*20|0)+4>>2]=w;f[v+(g*20|0)+8>>2]=l;f[v+(g*20|0)+12>>2]=m;f[v+(g*20|0)+16>>2]=0;b[v+(g*20|0)+1>>0]=0;t=x;return}else{tl(v,153,w,l,m)|0;t=x;return}}function so(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[b+52>>2]|0;if(d|0?(e=so(a,d,c)|0,e|0):0){c=e;return c|0}b=f[b>>2]|0;if((f[b>>2]|0)<=(c|0)){c=0;return c|0}c=Zk(a,f[b+4+(c*20|0)>>2]|0)|0;return c|0}function to(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=t;t=t+32|0;o=B;if(!c){t=B;return}if(f[c+4>>2]&1|0){t=B;return}switch(b[c>>0]|0){case 44:{to(a,f[c+16>>2]|0);to(a,f[c+12>>2]|0);t=B;return}case 53:{e=f[c+16>>2]|0;c=f[c+12>>2]|0;do if((b[e>>0]|0)==-98?(i=e+4|0,(f[i>>2]&8|0)==0):0){h=o+20|0;b[h>>0]=1;f[o+4>>2]=155;f[o+8>>2]=156;f[o+24>>2]=0;if(c){oi(o,c)|0;if(!(b[h>>0]|0))break}h=f[a>>2]|0;u=c+4|0;if(!(f[u>>2]&256))if((f[i>>2]&256|0)==0?(k=Zk(h,c)|0,(k|0)!=0):0){l=k;v=14}else{m=e;v=13}else{m=c;v=13}if((v|0)==13?(n=Zk(h,m)|0,n|0):0){l=n;v=14}if((v|0)==14){if((f[l+12>>2]|0)!=85)break;if(f[l+8>>2]|0)break}m=a+4|0;k=f[m>>2]|0;n=a+12|0;do if((k|0)>0){l=f[n>>2]|0;h=f[e+28>>2]|0;i=e+32|0;g=0;while(1){A=f[l+(g<<1<<2)>>2]|0;if((f[A+28>>2]|0)==(h|0)?(d[A+32>>1]|0)==(d[i>>1]|0):0){v=107;break}g=g+1|0;if((g|0)>=(k|0)){v=22;break}}if((v|0)==22){y=n;r=l;break}else if((v|0)==107){t=B;return}}else{y=n;r=f[n>>2]|0}while(0);k=k+1|0;f[m>>2]=k;l=f[f[a>>2]>>2]|0;k=k<<3;a:do if(!r){b:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))v=34;else{v=48;break a}else{do if(!(0<0|(0==0?(j[l+276>>1]|0)>>>0>>0:0))){g=l+300|0;h=f[g>>2]|0;if(h|0){f[g>>2]=f[h>>2];s=l+284|0;f[s>>2]=(f[s>>2]|0)+1;s=h;break b}g=l+296|0;h=f[g>>2]|0;if(!h){g=l+292|0;break}else{f[g>>2]=f[h>>2];s=l+284|0;f[s>>2]=(f[s>>2]|0)+1;s=h;break b}}else g=l+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;v=34}while(0);if((v|0)==34)s=Dc(l,k,0)|0;f[y>>2]=s;if(s|0){x=s;v=51}}else{h=r;i=l+304|0;if(((f[i>>2]|0)>>>0<=h>>>0?(f[l+308>>2]|0)>>>0>h>>>0:0)?!(0<0|(0==0?(j[l+276>>1]|0)>>>0>>0:0)):0)g=r;else{g=Lc(l,r,k,0)|0;if(!g){if(f[l+480>>2]|0){Kc(l,r);v=48;break}if((f[i>>2]|0)>>>0<=h>>>0?(f[l+308>>2]|0)>>>0>h>>>0:0){v=l+300|0;f[r>>2]=f[v>>2];f[v>>2]=r;v=48;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);v=48;break}else{v=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);v=48;break}}}f[y>>2]=g;x=g;v=51}while(0);if((v|0)==48)f[y>>2]=0;else if((v|0)==51){if(f[u>>2]&8)c=f[c+12>>2]|0;A=f[m>>2]<<1;f[x+(A+-2<<2)>>2]=e;f[(f[n>>2]|0)+(A+-1<<2)>>2]=c;t=B;return}f[m>>2]=0;t=B;return}while(0);if((b[c>>0]|0)!=-98){t=B;return}k=c+4|0;if(f[k>>2]&8|0){t=B;return}h=o+20|0;b[h>>0]=1;f[o+4>>2]=155;f[o+8>>2]=156;f[o+24>>2]=0;l=(e|0)==0;if(!l){oi(o,e)|0;if(!(b[h>>0]|0)){t=B;return}}i=f[a>>2]|0;do if(!(f[k>>2]&256)){if(!l?f[e+4>>2]&256|0:0){p=Zk(i,e)|0;v=66;break}h=Zk(i,c)|0;if(!h){p=Zk(i,e)|0;v=66}else{q=h;v=67}}else{p=Zk(i,c)|0;v=66}while(0);if((v|0)==66?p|0:0){q=p;v=67}if((v|0)==67){if((f[q+12>>2]|0)!=85){t=B;return}if(f[q+8>>2]|0){t=B;return}}n=a+4|0;l=f[n>>2]|0;o=a+12|0;do if((l|0)>0){m=f[o>>2]|0;i=f[c+28>>2]|0;k=c+32|0;h=0;while(1){y=f[m+(h<<1<<2)>>2]|0;if((f[y+28>>2]|0)==(i|0)?(d[y+32>>1]|0)==(d[k>>1]|0):0){v=107;break}h=h+1|0;if((h|0)>=(l|0)){v=75;break}}if((v|0)==75){A=o;w=m;break}else if((v|0)==107){t=B;return}}else{A=o;w=f[o>>2]|0}while(0);l=l+1|0;f[n>>2]=l;m=f[f[a>>2]>>2]|0;l=l<<3;c:do if(!w){d:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))v=87;else{v=101;break c}else{do if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0))){h=m+300|0;i=f[h>>2]|0;if(i|0){f[h>>2]=f[i>>2];z=m+284|0;f[z>>2]=(f[z>>2]|0)+1;z=i;break d}h=m+296|0;i=f[h>>2]|0;if(!i){h=m+292|0;break}else{f[h>>2]=f[i>>2];z=m+284|0;f[z>>2]=(f[z>>2]|0)+1;z=i;break d}}else h=m+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1;v=87}while(0);if((v|0)==87)z=Dc(m,l,0)|0;f[A>>2]=z;if(z|0){g=z;v=104}}else{i=w;k=m+304|0;if(((f[k>>2]|0)>>>0<=i>>>0?(f[m+308>>2]|0)>>>0>i>>>0:0)?!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0)):0)g=w;else{h=Lc(m,w,l,0)|0;if(!h){if(f[m+480>>2]|0){Kc(m,w);v=101;break}if((f[k>>2]|0)>>>0<=i>>>0?(f[m+308>>2]|0)>>>0>i>>>0:0){v=m+300|0;f[w>>2]=f[v>>2];f[v>>2]=w;v=101;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](w);v=101;break}else{v=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);v=101;break}}else g=h}f[A>>2]=g;v=104}while(0);if((v|0)==101)f[A>>2]=0;else if((v|0)==104){if(f[e+4>>2]&8)e=f[e+12>>2]|0;A=f[n>>2]<<1;f[g+(A+-2<<2)>>2]=c;f[(f[o>>2]|0)+(A+-1<<2)>>2]=e;t=B;return}f[n>>2]=0;t=B;return}default:{t=B;return}}}function uo(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((b[c>>0]|0)!=-98){c=0;return c|0}k=c+4|0;l=f[k>>2]|0;if(l&8|0){c=0;return c|0}m=f[a+24>>2]|0;e=f[m+4>>2]|0;if((e|0)<=0){c=1;return c|0}g=f[m+12>>2]|0;h=c+28|0;i=c+32|0;a=0;while(1){j=a<<1;o=f[g+(j<<2)>>2]|0;if(((o|0)!=(c|0)?(f[o+28>>2]|0)==(f[h>>2]|0):0)?(d[o+32>>1]|0)==(d[i>>1]|0):0)break;a=a+1|0;if((a|0)>=(e|0)){a=1;n=12;break}}if((n|0)==12)return a|0;a=m+8|0;f[a>>2]=(f[a>>2]|0)+1;f[k>>2]=l&-8388617|8;a=f[g+((j|1)<<2)>>2]|0;if(!a)a=0;else a=Bk(f[f[m>>2]>>2]|0,a,0,0)|0;f[c+12>>2]=a;o=1;return o|0}function vo(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a){j=0;return j|0}b=0;do{c=f[a+36>>2]|0;if(c){g=f[c+24>>2]|0;b=(g|0)>(b|0)?g:b}c=f[a+44>>2]|0;if(c){g=f[c+24>>2]|0;b=(g|0)>(b|0)?g:b}c=f[a+60>>2]|0;if(c){g=f[c+24>>2]|0;b=(g|0)>(b|0)?g:b}g=f[a>>2]|0;if((g|0)!=0?(h=f[g>>2]|0,(h|0)>0):0){e=0;d=h;while(1){c=f[g+4+(e*20|0)>>2]|0;if(!c)c=d;else{k=f[c+24>>2]|0;c=(k|0)>(b|0);b=c?k:b;c=c?h:d}e=e+1|0;if((e|0)>=(c|0))break;else d=c}}g=f[a+40>>2]|0;if((g|0)!=0?(i=f[g>>2]|0,(i|0)>0):0){e=0;d=i;while(1){c=f[g+4+(e*20|0)>>2]|0;if(!c)c=d;else{k=f[c+24>>2]|0;c=(k|0)>(b|0);b=c?k:b;c=c?i:d}e=e+1|0;if((e|0)>=(c|0))break;else d=c}}g=f[a+48>>2]|0;if((g|0)!=0?(j=f[g>>2]|0,(j|0)>0):0){e=0;d=j;while(1){c=f[g+4+(e*20|0)>>2]|0;if(!c)c=d;else{k=f[c+24>>2]|0;c=(k|0)>(b|0);b=c?k:b;c=c?j:d}e=e+1|0;if((e|0)>=(c|0))break;else d=c}}a=f[a+52>>2]|0}while((a|0)!=0);return b|0}function wo(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=t;t=t+32|0;n=o;if(!e){n=0;t=o;return n|0}if(f[c+8>>2]&8192|0){n=0;t=o;return n|0}if(f[c+68>>2]|0){n=0;t=o;return n|0}if(f[c+60>>2]|0){n=0;t=o;return n|0}if((b[e>>0]|0)==44){i=0;do{i=(wo(a,c,f[e+16>>2]|0,g,h)|0)+i|0;e=f[e+12>>2]|0}while((b[e>>0]|0)==44)}else i=0;j=(f[e+4>>2]&1|0)==0;if(!h){if(!j)k=12}else{if(j){n=0;t=o;return n|0}if((d[e+36>>1]|0)==(g|0))k=12;else{n=0;t=o;return n|0}}if((k|0)==12?(d[e+36>>1]|0)!=(g|0):0){n=0;t=o;return n|0}m=n+20|0;b[m>>0]=3;f[n+4>>2]=155;f[n+8>>2]=156;f[n+24>>2]=g;oi(n,e)|0;if(!(b[m>>0]|0)){n=i;t=o;return n|0}i=i+1|0;if(!c){n=i;t=o;return n|0}h=n+4|0;k=n+8|0;l=n+12|0;m=n+16|0;j=c;do{r=Bk(f[a>>2]|0,e,0,0)|0;mo(r,-1);f[n>>2]=a;f[h>>2]=g;f[k>>2]=g;f[l>>2]=0;f[m>>2]=f[j>>2];r=Oo(n,r)|0;q=(f[j+8>>2]&8|0)==0;p=j+36|0;c=j+44|0;r=kl(f[a>>2]|0,f[(q?p:c)>>2]|0,r)|0;f[(q?p:c)>>2]=r;j=f[j+52>>2]|0}while((j|0)!=0);t=o;return i|0}function xo(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=t;t=t+16|0;G=L;H=f[c+68>>2]|0;v=a+8|0;i=f[v>>2]|0;if(!i){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;K=sl(a)|0}else K=i;r=a+40|0;F=f[r>>2]|0;y=F+1|0;f[r>>2]=F+2;f[G>>2]=0;r=a+44|0;J=(f[r>>2]|0)+1|0;f[r>>2]=J;I=K+12|0;i=f[I>>2]|0;p=i+60|0;s=f[p>>2]|0;f[p>>2]=s+1;p=i+64|0;if(!(s+-1&s)){n=s<<3|4;o=f[i>>2]|0;i=f[p>>2]|0;a:do if(i){l=i;m=o+304|0;if(((f[m>>2]|0)>>>0<=l>>>0?(f[o+308>>2]|0)>>>0>l>>>0:0)?!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)):0)break;k=Lc(o,i,n,0)|0;if(!k){if(f[o+480>>2]|0){Kc(o,i);i=0;break}if((f[m>>2]|0)>>>0<=l>>>0?(f[o+308>>2]|0)>>>0>l>>>0:0){E=o+300|0;f[i>>2]=f[E>>2];f[E>>2]=i;i=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{E=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else i=k}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];E=o+284|0;f[E>>2]=(f[E>>2]|0)+1;break a}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];E=o+284|0;f[E>>2]=(f[E>>2]|0)+1;break a}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(s<<2)>>2]=-1;q=~s;i=f[I>>2]|0;p=i+60|0;E=f[p>>2]|0;f[p>>2]=E+1;p=i+64|0;if(!(E+-1&E)){n=E<<3|4;o=f[i>>2]|0;i=f[p>>2]|0;b:do if(i){l=i;m=o+304|0;if(((f[m>>2]|0)>>>0<=l>>>0?(f[o+308>>2]|0)>>>0>l>>>0:0)?!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)):0)break;k=Lc(o,i,n,0)|0;if(!k){if(f[o+480>>2]|0){Kc(o,i);i=0;break}if((f[m>>2]|0)>>>0<=l>>>0?(f[o+308>>2]|0)>>>0>l>>>0:0){D=o+300|0;f[i>>2]=f[D>>2];f[D>>2]=i;i=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{D=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else i=k}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];D=o+284|0;f[D>>2]=(f[D>>2]|0)+1;break b}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];D=o+284|0;f[D>>2]=(f[D>>2]|0)+1;break b}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(E<<2)>>2]=-1;x=~E;p=f[r>>2]|0;z=p+1|0;p=p+2|0;f[r>>2]=p;yo(a,c,e,J,q,G);D=K+136|0;i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;k=f[K+88>>2]|0;b[k+(i*20|0)>>0]=11;k=k+(i*20|0)+1|0;l=k+19|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0));C=i}else C=tl(K,11,0,0,0)|0;l=f[I>>2]|0;i=f[l+64>>2]|0;if(i|0)f[i+(s<<2)>>2]=f[D>>2];i=f[D>>2]|0;k=i+3|0;if((f[l+48>>2]|0)>(i|0)){f[D>>2]=i+1;A=f[K+88>>2]|0;b[A+(i*20|0)>>0]=17;d[A+(i*20|0)+2>>1]=0;f[A+(i*20|0)+4>>2]=0;f[A+(i*20|0)+8>>2]=k;f[A+(i*20|0)+12>>2]=0;f[A+(i*20|0)+16>>2]=0;b[A+(i*20|0)+1>>0]=0}else tl(K,17,0,k,0)|0;A=H+36|0;i=f[A>>2]|0;k=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;s=f[K+88>>2]|0;b[s+(k*20|0)>>0]=111;d[s+(k*20|0)+2>>1]=0;f[s+(k*20|0)+4>>2]=F;f[s+(k*20|0)+8>>2]=i;f[s+(k*20|0)+12>>2]=0;f[s+(k*20|0)+16>>2]=0;b[s+(k*20|0)+1>>0]=0}else tl(K,111,F,i,0)|0;i=f[A>>2]|0;k=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;s=f[K+88>>2]|0;b[s+(k*20|0)>>0]=111;d[s+(k*20|0)+2>>1]=0;f[s+(k*20|0)+4>>2]=y;f[s+(k*20|0)+8>>2]=i;f[s+(k*20|0)+12>>2]=0;f[s+(k*20|0)+16>>2]=0;b[s+(k*20|0)+1>>0]=0}else tl(K,111,y,i,0)|0;o=H+16|0;i=f[o>>2]|0;if(i|0){do if((b[i>>0]|0)==-92){m=f[v>>2]|0;i=f[i+28>>2]|0;k=m+136|0;l=f[k>>2]|0;if((f[(f[m+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;u=f[m+88>>2]|0;b[u+(l*20|0)>>0]=78;d[u+(l*20|0)+2>>1]=0;f[u+(l*20|0)+4>>2]=i;f[u+(l*20|0)+8>>2]=z;f[u+(l*20|0)+12>>2]=0;f[u+(l*20|0)+16>>2]=0;b[u+(l*20|0)+1>>0]=0;break}else{tl(m,78,i,z,0)|0;break}}else{i=xl(a,i,z)|0;if((i|0)!=(z|0)?(u=f[v>>2]|0,u|0):0){k=u+136|0;l=f[k>>2]|0;if((f[(f[u+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;u=f[u+88>>2]|0;b[u+(l*20|0)>>0]=79;d[u+(l*20|0)+2>>1]=0;f[u+(l*20|0)+4>>2]=i;f[u+(l*20|0)+8>>2]=z;f[u+(l*20|0)+12>>2]=0;f[u+(l*20|0)+16>>2]=0;b[u+(l*20|0)+1>>0]=0;break}else{tl(u,79,i,z,0)|0;break}}}while(0);No(a,z,0)}n=H+20|0;i=f[n>>2]|0;do if(i|0){do if((b[i>>0]|0)==-92){m=f[v>>2]|0;i=f[i+28>>2]|0;k=m+136|0;l=f[k>>2]|0;if((f[(f[m+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;w=f[m+88>>2]|0;b[w+(l*20|0)>>0]=78;d[w+(l*20|0)+2>>1]=0;f[w+(l*20|0)+4>>2]=i;f[w+(l*20|0)+8>>2]=p;f[w+(l*20|0)+12>>2]=0;f[w+(l*20|0)+16>>2]=0;b[w+(l*20|0)+1>>0]=0;break}else{tl(m,78,i,p,0)|0;break}}else{l=xl(a,i,p)|0;if((l|0)!=(p|0)?(w=f[v>>2]|0,w|0):0){i=w+136|0;k=f[i>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;w=f[w+88>>2]|0;b[w+(k*20|0)>>0]=79;d[w+(k*20|0)+2>>1]=0;f[w+(k*20|0)+4>>2]=l;f[w+(k*20|0)+8>>2]=p;f[w+(k*20|0)+12>>2]=0;f[w+(k*20|0)+16>>2]=0;b[w+(k*20|0)+1>>0]=0;break}else{tl(w,79,l,p,0)|0;break}}}while(0);No(a,p,1);if(f[n>>2]|0?(b[H+13>>0]|0)==83:0){i=f[D>>2]|0;k=i+2|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;w=f[K+88>>2]|0;b[w+(i*20|0)>>0]=57;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=z;f[w+(i*20|0)+8>>2]=k;f[w+(i*20|0)+12>>2]=p;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0}else tl(K,57,z,k,p)|0;i=f[G>>2]|0;k=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;w=f[K+88>>2]|0;b[w+(k*20|0)>>0]=78;d[w+(k*20|0)+2>>1]=0;f[w+(k*20|0)+4>>2]=i;f[w+(k*20|0)+8>>2]=z;f[w+(k*20|0)+12>>2]=0;f[w+(k*20|0)+16>>2]=0;b[w+(k*20|0)+1>>0]=0}else tl(K,78,i,z,0)|0;i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;w=f[K+88>>2]|0;b[w+(i*20|0)>>0]=97;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=z;f[w+(i*20|0)+8>>2]=p;f[w+(i*20|0)+12>>2]=p;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0;break}else{tl(K,97,z,p,p)|0;break}}}while(0);do if(f[o>>2]|0?(b[H+14>>0]|0)==85:0){i=f[D>>2]|0;k=i+3|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;w=f[K+88>>2]|0;b[w+(i*20|0)>>0]=55;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=z;f[w+(i*20|0)+8>>2]=k;f[w+(i*20|0)+12>>2]=p;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0}else tl(K,55,z,k,p)|0;k=f[G>>2]|0;i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;w=f[K+88>>2]|0;b[w+(i*20|0)>>0]=78;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=k;f[w+(i*20|0)+8>>2]=z;f[w+(i*20|0)+12>>2]=0;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0}else tl(K,78,k,z,0)|0;i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;w=f[K+88>>2]|0;b[w+(i*20|0)>>0]=78;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=k;f[w+(i*20|0)+8>>2]=p;f[w+(i*20|0)+12>>2]=0;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0;break}else{tl(K,78,k,p,0)|0;break}}while(0);u=zo(a,H)|0;i=f[A>>2]|0;k=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;w=f[K+88>>2]|0;b[w+(k*20|0)>>0]=36;d[w+(k*20|0)+2>>1]=0;f[w+(k*20|0)+4>>2]=i;f[w+(k*20|0)+8>>2]=x;f[w+(k*20|0)+12>>2]=0;f[w+(k*20|0)+16>>2]=0;b[w+(k*20|0)+1>>0]=0}else tl(K,36,i,x,0)|0;i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;w=f[K+88>>2]|0;b[w+(i*20|0)>>0]=36;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=F;f[w+(i*20|0)+8>>2]=x;f[w+(i*20|0)+12>>2]=0;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0}else tl(K,36,F,x,0)|0;i=f[D>>2]|0;if((i|0)>0)d[(f[K+88>>2]|0)+((i+-1|0)*20|0)+2>>1]=1;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;w=f[K+88>>2]|0;b[w+(i*20|0)>>0]=36;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=y;f[w+(i*20|0)+8>>2]=x;f[w+(i*20|0)+12>>2]=0;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0}else tl(K,36,y,x,0)|0;m=f[D>>2]|0;if((m|0)>0)d[(f[K+88>>2]|0)+((m+-1|0)*20|0)+2>>1]=1;s=H+14|0;do if((b[s>>0]|0)==85)if((f[(f[I>>2]|0)+48>>2]|0)>(m|0)){f[D>>2]=m+1;o=f[K+88>>2]|0;b[o+(m*20|0)>>0]=47;d[o+(m*20|0)+2>>1]=0;f[o+(m*20|0)+4>>2]=p;f[o+(m*20|0)+8>>2]=0;f[o+(m*20|0)+12>>2]=1;f[o+(m*20|0)+16>>2]=0;b[o+(m*20|0)+1>>0]=0;o=m;break}else{o=tl(K,47,p,0,1)|0;break}else o=0;while(0);i=f[D>>2]|0;k=i+2|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;w=f[K+88>>2]|0;b[w+(i*20|0)>>0]=5;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=y;f[w+(i*20|0)+8>>2]=k;f[w+(i*20|0)+12>>2]=0;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0}else tl(K,5,y,k,0)|0;i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;k=f[K+88>>2]|0;b[k+(i*20|0)>>0]=11;k=k+(i*20|0)+1|0;l=k+19|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0))}else i=tl(K,11,0,0,0)|0;Ao(a,H,y,0,u,f[G>>2]|0);l=b[s>>0]|0;n=f[D>>2]|0;do if(l<<24>>24==87){if((f[(f[I>>2]|0)+48>>2]|0)>(n|0)){f[D>>2]=n+1;B=f[K+88>>2]|0;b[B+(n*20|0)>>0]=11;d[B+(n*20|0)+2>>1]=0;f[B+(n*20|0)+4>>2]=0;f[B+(n*20|0)+8>>2]=m;f[B+(n*20|0)+12>>2]=0;f[B+(n*20|0)+16>>2]=0;b[B+(n*20|0)+1>>0]=0}else tl(K,11,0,m,0)|0;k=f[D>>2]|0;if(!(b[(f[K>>2]|0)+81>>0]|0))i=(f[K+88>>2]|0)+(((i|0)<0?k+-1|0:i)*20|0)|0;else i=72144;f[i+8>>2]=k;m=k;l=b[s>>0]|0;i=k;B=157}else{k=(b[(f[K>>2]|0)+81>>0]|0)==0;if(k)i=(f[K+88>>2]|0)+(((i|0)<0?n+-1|0:i)*20|0)|0;else i=72144;f[i+8>>2]=n;if(l<<24>>24!=85){i=n;B=157;break}if(k)i=(f[K+88>>2]|0)+(((o|0)<0?n+-1|0:o)*20|0)|0;else i=72144;f[i+8>>2]=n;e=m;c=o}while(0);do if((B|0)==157){if(l<<24>>24!=83){e=m;c=o;break}if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;e=f[K+88>>2]|0;b[e+(i*20|0)>>0]=47;d[e+(i*20|0)+2>>1]=0;f[e+(i*20|0)+4>>2]=p;f[e+(i*20|0)+8>>2]=0;f[e+(i*20|0)+12>>2]=1;f[e+(i*20|0)+16>>2]=0;b[e+(i*20|0)+1>>0]=0;e=m;c=i;break}else{e=m;c=tl(K,47,p,0,1)|0;break}}while(0);r=H+13|0;do if((b[r>>0]|0)==83){i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;m=f[K+88>>2]|0;b[m+(i*20|0)>>0]=47;d[m+(i*20|0)+2>>1]=0;f[m+(i*20|0)+4>>2]=z;f[m+(i*20|0)+8>>2]=0;f[m+(i*20|0)+12>>2]=1;f[m+(i*20|0)+16>>2]=0;b[m+(i*20|0)+1>>0]=0;m=i;break}else{m=tl(K,47,z,0,1)|0;break}}else m=0;while(0);Co(a,H,0);Mo(a,H,g,h);k=f[A>>2]|0;i=f[D>>2]|0;l=i+2|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;h=f[K+88>>2]|0;b[h+(i*20|0)>>0]=5;d[h+(i*20|0)+2>>1]=0;f[h+(i*20|0)+4>>2]=k;f[h+(i*20|0)+8>>2]=l;f[h+(i*20|0)+12>>2]=0;f[h+(i*20|0)+16>>2]=0;b[h+(i*20|0)+1>>0]=0}else tl(K,5,k,l,0)|0;i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;h=f[K+88>>2]|0;b[h+(i*20|0)>>0]=11;d[h+(i*20|0)+2>>1]=0;f[h+(i*20|0)+4>>2]=0;f[h+(i*20|0)+8>>2]=x;f[h+(i*20|0)+12>>2]=0;f[h+(i*20|0)+16>>2]=0;b[h+(i*20|0)+1>>0]=0}else tl(K,11,0,x,0)|0;switch(b[r>>0]|0){case 83:{k=f[D>>2]|0;if(!(b[(f[K>>2]|0)+81>>0]|0))i=(f[K+88>>2]|0)+(((m|0)<0?k+-1|0:m)*20|0)|0;else i=72144;f[i+8>>2]=k;B=175;break}case 85:case 82:{B=175;break}default:{}}do if((B|0)==175){i=f[I>>2]|0;p=i+60|0;q=f[p>>2]|0;f[p>>2]=q+1;p=i+64|0;if(!(q+-1&q)){n=q<<3|4;o=f[i>>2]|0;i=f[p>>2]|0;c:do if(i){l=i;m=o+304|0;do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)))break c}while(0);k=Lc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Kc(o,i);i=0;break}do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;B=o+300|0;f[i>>2]=f[B>>2];f[B>>2]=i;i=0;break c}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{B=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];B=o+284|0;f[B>>2]=(f[B>>2]|0)+1;break c}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];B=o+284|0;f[B>>2]=(f[B>>2]|0)+1;break c}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(q<<2)>>2]=-1;l=~q;i=b[r>>0]|0;if(i<<24>>24==85){i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;B=f[K+88>>2]|0;b[B+(i*20|0)>>0]=47;d[B+(i*20|0)+2>>1]=0;f[B+(i*20|0)+4>>2]=z;f[B+(i*20|0)+8>>2]=l;f[B+(i*20|0)+12>>2]=1;f[B+(i*20|0)+16>>2]=0;b[B+(i*20|0)+1>>0]=0}else tl(K,47,z,l,1)|0;i=b[r>>0]|0}k=f[D>>2]|0;do if(i<<24>>24==83){i=k+2|0;if((f[(f[I>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;B=f[K+88>>2]|0;b[B+(k*20|0)>>0]=5;d[B+(k*20|0)+2>>1]=0;f[B+(k*20|0)+4>>2]=F;f[B+(k*20|0)+8>>2]=i;f[B+(k*20|0)+12>>2]=0;f[B+(k*20|0)+16>>2]=0;b[B+(k*20|0)+1>>0]=0}else tl(K,5,F,i,0)|0;i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;B=f[K+88>>2]|0;b[B+(i*20|0)>>0]=11;d[B+(i*20|0)+2>>1]=0;f[B+(i*20|0)+4>>2]=0;f[B+(i*20|0)+8>>2]=l;f[B+(i*20|0)+12>>2]=0;f[B+(i*20|0)+16>>2]=0;b[B+(i*20|0)+1>>0]=0;break}else{tl(K,11,0,l,0)|0;break}}else{i=k+1|0;if((f[(f[I>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=i;B=f[K+88>>2]|0;b[B+(k*20|0)>>0]=5;d[B+(k*20|0)+2>>1]=0;f[B+(k*20|0)+4>>2]=F;f[B+(k*20|0)+8>>2]=i;f[B+(k*20|0)+12>>2]=0;f[B+(k*20|0)+16>>2]=0;b[B+(k*20|0)+1>>0]=0;break}else{tl(K,5,F,i,0)|0;break}}while(0);Ao(a,H,F,1,u,f[G>>2]|0);i=f[(f[I>>2]|0)+64>>2]|0;if(!i)break;f[i+(q<<2)>>2]=f[D>>2]}while(0);k=f[D>>2]|0;if((b[s>>0]|0)==83){if(!(b[(f[K>>2]|0)+81>>0]|0))i=(f[K+88>>2]|0)+(((c|0)<0?k+-1|0:c)*20|0)|0;else i=72144;f[i+8>>2]=k}if((f[(f[I>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;H=f[K+88>>2]|0;b[H+(k*20|0)>>0]=11;d[H+(k*20|0)+2>>1]=0;f[H+(k*20|0)+4>>2]=0;f[H+(k*20|0)+8>>2]=e;f[H+(k*20|0)+12>>2]=0;f[H+(k*20|0)+16>>2]=0;b[H+(k*20|0)+1>>0]=0}else tl(K,11,0,e,0)|0;l=f[I>>2]|0;i=f[l+64>>2]|0;if(i|0)f[i+(E<<2)>>2]=f[D>>2];i=f[A>>2]|0;k=f[D>>2]|0;if((f[l+48>>2]|0)>(k|0)){f[D>>2]=k+1;H=f[K+88>>2]|0;b[H+(k*20|0)>>0]=-117;d[H+(k*20|0)+2>>1]=0;f[H+(k*20|0)+4>>2]=i;f[H+(k*20|0)+8>>2]=0;f[H+(k*20|0)+12>>2]=0;f[H+(k*20|0)+16>>2]=0;b[H+(k*20|0)+1>>0]=0}else tl(K,139,i,0,0)|0;i=f[D>>2]|0;if((f[(f[I>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;I=f[K+88>>2]|0;b[I+(i*20|0)>>0]=66;d[I+(i*20|0)+2>>1]=0;f[I+(i*20|0)+4>>2]=J;f[I+(i*20|0)+8>>2]=0;f[I+(i*20|0)+12>>2]=0;f[I+(i*20|0)+16>>2]=0;b[I+(i*20|0)+1>>0]=0}else tl(K,66,J,0,0)|0;i=f[D>>2]|0;if(b[(f[K>>2]|0)+81>>0]|0){K=72144;K=K+8|0;f[K>>2]=i;t=L;return}K=(f[K+88>>2]|0)+(((C|0)<0?i+-1|0:C)*20|0)|0;K=K+8|0;f[K>>2]=i;t=L;return}function yo(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;u=f[c+68>>2]|0;k=f[a+8>>2]|0;if(!k){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;z=sl(a)|0}else z=k;t=f[c+32>>2]|0;m=f[t+48>>2]|0;t=d[(f[t+24>>2]|0)+42>>1]|0;n=t<<16>>16;x=a+44|0;o=(f[x>>2]|0)+1|0;v=o+n|0;w=v+1|0;f[i>>2]=w;f[x>>2]=n+2+(f[x>>2]|0);x=z+136|0;y=z+12|0;if(t<<16>>16>0){c=z+88|0;k=0;do{i=k+o|0;l=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(l|0)){f[x>>2]=l+1;t=f[c>>2]|0;b[t+(l*20|0)>>0]=90;d[t+(l*20|0)+2>>1]=0;f[t+(l*20|0)+4>>2]=m;f[t+(l*20|0)+8>>2]=k;f[t+(l*20|0)+12>>2]=i;f[t+(l*20|0)+16>>2]=0;b[t+(l*20|0)+1>>0]=0}else tl(z,90,m,k,i)|0;k=k+1|0}while((k|0)!=(n|0))}k=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(k|0)){f[x>>2]=k+1;t=f[z+88>>2]|0;b[t+(k*20|0)>>0]=102;d[t+(k*20|0)+2>>1]=0;f[t+(k*20|0)+4>>2]=o;f[t+(k*20|0)+8>>2]=n;f[t+(k*20|0)+12>>2]=v;f[t+(k*20|0)+16>>2]=0;b[t+(k*20|0)+1>>0]=0}else tl(z,102,o,n,v)|0;q=f[u+4>>2]|0;do if(q|0){s=f[q>>2]|0;t=(f[u+64>>2]|0)+o|0;n=f[a>>2]|0;l=s+1|0;m=l*5|0;i=m+20|0;o=n+272|0;a:do if(f[o>>2]|0)if(!(b[n+81>>0]|0))r=26;else{m=0;i=1}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){k=n+300|0;c=f[k>>2]|0;if(c|0){f[k>>2]=f[c>>2];p=n+284|0;f[p>>2]=(f[p>>2]|0)+1;p=c;r=27;break a}k=n+296|0;c=f[k>>2]|0;if(!c){k=n+292|0;break}else{f[k>>2]=f[c>>2];p=n+284|0;f[p>>2]=(f[p>>2]|0)+1;p=c;r=27;break a}}else k=n+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;r=26}while(0);if((r|0)==26){p=Dc(n,i,0)|0;r=27}if((r|0)==27){if(!p){k=n+81|0;if((b[k>>0]|0)==0?(b[n+82>>0]|0)==0:0){b[k>>0]=1;if((f[n+180>>2]|0)>0)f[n+264>>2]=1;f[o>>2]=(f[o>>2]|0)+1;m=0;i=1}else{m=0;i=1}}else{f[p+16>>2]=p+20+(l<<2);d[p+6>>1]=s;d[p+8>>1]=l;b[p+4>>0]=b[n+78>>0]|0;f[p+12>>2]=n;f[p>>2]=1;_A(p+24|0,0,m+-4|0)|0;m=p;i=0}if((s|0)>0&(p|0)!=0){n=p+16|0;c=q+4|0;l=0;while(1){k=Zk(a,f[c>>2]|0)|0;if(!k)k=f[(f[a>>2]|0)+8>>2]|0;f[p+20+(l<<2)>>2]=k;b[(f[n>>2]|0)+l>>0]=b[c+12>>0]|0;l=l+1|0;if((l|0)==(s|0))break;else c=c+20|0}}}l=u+56|0;k=f[l>>2]|0;c=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(c|0)){f[x>>2]=c+1;a=f[z+88>>2]|0;b[a+(c*20|0)>>0]=87;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=t;f[a+(c*20|0)+8>>2]=k;f[a+(c*20|0)+12>>2]=s;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else c=tl(z,87,t,k,s)|0;k=f[z>>2]|0;do if(b[k+81>>0]|0){if(!(i|(f[k+480>>2]|0)!=0)?(a=(f[m>>2]|0)+-1|0,f[m>>2]=a,(a|0)==0):0){k=f[m+12>>2]|0;if(k|0){if(f[k+480>>2]|0){Kc(k,m);break}a=m;if((f[k+304>>2]|0)>>>0<=a>>>0?(f[k+308>>2]|0)>>>0>a>>>0:0){a=k+300|0;f[m>>2]=f[a>>2];f[a>>2]=m;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{a=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}}else{r=f[z+88>>2]|0;a=(f[x>>2]|0)+-1|0;b[r+(a*20|0)+1>>0]=-9;f[r+(a*20|0)+16>>2]=m}while(0);i=c+2|0;k=c+4|0;c=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(c|0)){f[x>>2]=c+1;a=f[z+88>>2]|0;b[a+(c*20|0)>>0]=16;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=i;f[a+(c*20|0)+8>>2]=k;f[a+(c*20|0)+12>>2]=i;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else tl(z,16,i,k,i)|0;i=f[l>>2]|0;k=s+-1|0;c=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(c|0)){f[x>>2]=c+1;s=f[z+88>>2]|0;b[s+(c*20|0)>>0]=78;d[s+(c*20|0)+2>>1]=0;f[s+(c*20|0)+4>>2]=t;f[s+(c*20|0)+8>>2]=i;f[s+(c*20|0)+12>>2]=k;f[s+(c*20|0)+16>>2]=0;b[s+(c*20|0)+1>>0]=0}else tl(z,78,t,i,k)|0;k=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(k|0)){f[x>>2]=k+1;t=f[z+88>>2]|0;b[t+(k*20|0)>>0]=12;d[t+(k*20|0)+2>>1]=0;f[t+(k*20|0)+4>>2]=g;f[t+(k*20|0)+8>>2]=h;f[t+(k*20|0)+12>>2]=0;f[t+(k*20|0)+16>>2]=0;b[t+(k*20|0)+1>>0]=0;break}else{tl(z,12,g,h,0)|0;break}}while(0);k=u+36|0;c=f[k>>2]|0;i=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(i|0)){f[x>>2]=i+1;u=f[z+88>>2]|0;b[u+(i*20|0)>>0]=121;d[u+(i*20|0)+2>>1]=0;f[u+(i*20|0)+4>>2]=c;f[u+(i*20|0)+8>>2]=w;f[u+(i*20|0)+12>>2]=0;f[u+(i*20|0)+16>>2]=0;b[u+(i*20|0)+1>>0]=0}else tl(z,121,c,w,0)|0;k=f[k>>2]|0;c=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(c|0)){f[x>>2]=c+1;u=f[z+88>>2]|0;b[u+(c*20|0)>>0]=122;d[u+(c*20|0)+2>>1]=0;f[u+(c*20|0)+4>>2]=k;f[u+(c*20|0)+8>>2]=v;f[u+(c*20|0)+12>>2]=w;f[u+(c*20|0)+16>>2]=0;b[u+(c*20|0)+1>>0]=0}else tl(z,122,k,v,w)|0;tn(e);k=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(k|0)){f[x>>2]=k+1;e=f[z+88>>2]|0;b[e+(k*20|0)>>0]=12;d[e+(k*20|0)+2>>1]=0;f[e+(k*20|0)+4>>2]=g;f[e+(k*20|0)+8>>2]=h;f[e+(k*20|0)+12>>2]=0;f[e+(k*20|0)+16>>2]=0;b[e+(k*20|0)+1>>0]=0;return}else{tl(z,12,g,h,0)|0;return}}function zo(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=f[a+8>>2]|0;if(!e){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;k=sl(a)|0}else k=e;if(!c){n=0;o=a+44|0;m=f[o>>2]|0;a=m+1|0;n=m+n|0;f[o>>2]=n;return a|0}l=k+136|0;m=k+12|0;n=k+88|0;e=0;do{j=f[c+32>>2]|0;g=f[c+40>>2]|0;h=f[l>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(h|0)){f[l>>2]=h+1;i=f[n>>2]|0;b[i+(h*20|0)>>0]=73;d[i+(h*20|0)+2>>1]=0;f[i+(h*20|0)+4>>2]=0;f[i+(h*20|0)+8>>2]=g;f[i+(h*20|0)+12>>2]=0;f[i+(h*20|0)+16>>2]=0;b[i+(h*20|0)+1>>0]=0}else tl(k,73,0,g,0)|0;g=f[(f[c+60>>2]|0)+20>>2]|0;h=(g|0)==0;if(!h){i=(e|0)>(f[g>>2]|0);if(h|i)e=i?e:0;else e=f[g>>2]|0}else e=(e|0)>0?e:0;i=f[j+32>>2]|0;do if((i|0)==42328|(i|0)==42338){g=c+52|0;h=f[g>>2]|0;i=f[l>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;p=f[n>>2]|0;b[p+(i*20|0)>>0]=70;d[p+(i*20|0)+2>>1]=0;f[p+(i*20|0)+4>>2]=0;f[p+(i*20|0)+8>>2]=h;f[p+(i*20|0)+12>>2]=0;f[p+(i*20|0)+16>>2]=0;b[p+(i*20|0)+1>>0]=0}else tl(k,70,0,h,0)|0;g=(f[g>>2]|0)+1|0;h=f[l>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(h|0)){f[l>>2]=h+1;p=f[n>>2]|0;b[p+(h*20|0)>>0]=70;d[p+(h*20|0)+2>>1]=0;f[p+(h*20|0)+4>>2]=0;f[p+(h*20|0)+8>>2]=g;f[p+(h*20|0)+12>>2]=0;f[p+(h*20|0)+16>>2]=0;b[p+(h*20|0)+1>>0]=0;break}else{tl(k,70,0,g,0)|0;break}}while(0);do if(f[j+4>>2]&4096|0?(o=f[c+48>>2]|0,o|0):0){g=f[l>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(g|0)){f[l>>2]=g+1;p=f[n>>2]|0;b[p+(g*20|0)>>0]=-117;d[p+(g*20|0)+2>>1]=0;f[p+(g*20|0)+4>>2]=o;f[p+(g*20|0)+8>>2]=0;f[p+(g*20|0)+12>>2]=0;f[p+(g*20|0)+16>>2]=0;b[p+(g*20|0)+1>>0]=0}else tl(k,139,o,0,0)|0;g=(f[c+52>>2]|0)+1|0;h=f[l>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(h|0)){f[l>>2]=h+1;p=f[n>>2]|0;b[p+(h*20|0)>>0]=70;d[p+(h*20|0)+2>>1]=0;f[p+(h*20|0)+4>>2]=0;f[p+(h*20|0)+8>>2]=g;f[p+(h*20|0)+12>>2]=0;f[p+(h*20|0)+16>>2]=0;b[p+(h*20|0)+1>>0]=0;break}else{tl(k,70,0,g,0)|0;break}}while(0);c=f[c+24>>2]|0}while((c|0)!=0);a=a+44|0;o=f[a>>2]|0;p=o+1|0;o=o+e|0;f[a>>2]=o;return p|0}function Ao(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;j=f[a+8>>2]|0;if(!j){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;j=sl(a)|0}if(!c)return;u=(e|0)>-1;v=j+136|0;w=j+12|0;x=j+88|0;y=1-g|0;z=(g|0)==0;A=(e|0)>0;B=z?155:154;C=a+19|0;D=B&255;E=a+44|0;t=A^1;do{s=c+32|0;p=f[(f[s>>2]|0)+4>>2]|0;r=c+60|0;k=f[(f[r>>2]|0)+20>>2]|0;if(!k)q=0;else q=f[k>>2]|0;if(u){if((q|0)>0){l=c+68|0;k=0;do{m=(f[l>>2]|0)+k|0;n=k+h|0;o=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(o|0)){f[v>>2]=o+1;H=f[x>>2]|0;b[H+(o*20|0)>>0]=90;d[H+(o*20|0)+2>>1]=0;f[H+(o*20|0)+4>>2]=e;f[H+(o*20|0)+8>>2]=m;f[H+(o*20|0)+12>>2]=n;f[H+(o*20|0)+16>>2]=0;b[H+(o*20|0)+1>>0]=0}else tl(j,90,e,m,n)|0;k=k+1|0}while((k|0)!=(q|0))}if(!(p&131072))p=h;else{do if(q){k=q+h|0;l=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(l|0)){f[v>>2]=l+1;H=f[x>>2]|0;b[H+(l*20|0)>>0]=79;d[H+(l*20|0)+2>>1]=0;f[H+(l*20|0)+4>>2]=i;f[H+(l*20|0)+8>>2]=k;f[H+(l*20|0)+12>>2]=0;f[H+(l*20|0)+16>>2]=0;b[H+(l*20|0)+1>>0]=0;k=h;break}else{tl(j,79,i,k,0)|0;k=h;break}}else k=i;while(0);q=q+1|0;p=k}}else p=(f[c+68>>2]|0)+h|0;l=f[s>>2]|0;if((f[l+4>>2]&4096|0)!=0?(b[c+13>>0]|0)!=87:0){k=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(k|0)){f[v>>2]=k+1;H=f[x>>2]|0;b[H+(k*20|0)>>0]=50;d[H+(k*20|0)+2>>1]=0;f[H+(k*20|0)+4>>2]=p;f[H+(k*20|0)+8>>2]=0;f[H+(k*20|0)+12>>2]=0;f[H+(k*20|0)+16>>2]=0;b[H+(k*20|0)+1>>0]=0}else k=tl(j,50,p,0,0)|0;do if(z){o=c+52|0;l=(f[o>>2]|0)+1|0;m=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(m|0)){f[v>>2]=m+1;H=f[x>>2]|0;b[H+(m*20|0)>>0]=83;d[H+(m*20|0)+2>>1]=0;f[H+(m*20|0)+4>>2]=l;f[H+(m*20|0)+8>>2]=1;f[H+(m*20|0)+12>>2]=0;f[H+(m*20|0)+16>>2]=0;b[H+(m*20|0)+1>>0]=0}else tl(j,83,l,1,0)|0;l=f[o>>2]|0;m=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(m|0)){f[v>>2]=m+1;H=f[x>>2]|0;b[H+(m*20|0)>>0]=79;d[H+(m*20|0)+2>>1]=0;f[H+(m*20|0)+4>>2]=p;f[H+(m*20|0)+8>>2]=l;f[H+(m*20|0)+12>>2]=0;f[H+(m*20|0)+16>>2]=0;b[H+(m*20|0)+1>>0]=0}else tl(j,79,p,l,0)|0;l=f[o>>2]|0;m=l+2|0;n=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(n|0)){f[v>>2]=n+1;H=f[x>>2]|0;b[H+(n*20|0)>>0]=102;d[H+(n*20|0)+2>>1]=0;f[H+(n*20|0)+4>>2]=l;f[H+(n*20|0)+8>>2]=2;f[H+(n*20|0)+12>>2]=m;f[H+(n*20|0)+16>>2]=0;b[H+(n*20|0)+1>>0]=0}else tl(j,102,l,2,m)|0;n=f[c+48>>2]|0;l=(f[o>>2]|0)+2|0;m=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(m|0)){f[v>>2]=m+1;H=f[x>>2]|0;b[H+(m*20|0)>>0]=-123;d[H+(m*20|0)+2>>1]=0;f[H+(m*20|0)+4>>2]=n;f[H+(m*20|0)+8>>2]=l;f[H+(m*20|0)+12>>2]=0;f[H+(m*20|0)+16>>2]=0;b[H+(m*20|0)+1>>0]=0;break}else{tl(j,133,n,l,0)|0;break}}else{n=c+48|0;m=f[n>>2]|0;l=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(l|0)){f[v>>2]=l+1;H=f[x>>2]|0;b[H+(l*20|0)>>0]=24;d[H+(l*20|0)+2>>1]=0;f[H+(l*20|0)+4>>2]=m;f[H+(l*20|0)+8>>2]=0;f[H+(l*20|0)+12>>2]=p;f[H+(l*20|0)+16>>2]=0;b[H+(l*20|0)+1>>0]=0}else l=tl(j,24,m,0,p)|0;if(!(b[(f[j>>2]|0)+81>>0]|0)){H=f[x>>2]|0;b[H+(l*20|0)+1>>0]=-3;f[H+(l*20|0)+16>>2]=1}l=f[n>>2]|0;m=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(m|0)){f[v>>2]=m+1;H=f[x>>2]|0;b[H+(m*20|0)>>0]=124;d[H+(m*20|0)+2>>1]=0;f[H+(m*20|0)+4>>2]=l;f[H+(m*20|0)+8>>2]=0;f[H+(m*20|0)+12>>2]=0;f[H+(m*20|0)+16>>2]=0;b[H+(m*20|0)+1>>0]=0}else tl(j,124,l,0,0)|0;m=f[v>>2]|0;if(!(b[(f[j>>2]|0)+81>>0]|0))l=(f[x>>2]|0)+((((m|0)<2?-1:-2)+m|0)*20|0)|0;else l=72144;f[l+8>>2]=m}while(0);l=f[v>>2]|0;if(!(b[(f[j>>2]|0)+81>>0]|0))k=(f[x>>2]|0)+(((k|0)<0?l+-1|0:k)*20|0)|0;else k=72144;f[k+8>>2]=l}else G=56;do if((G|0)==56){G=0;k=f[c+52>>2]|0;if(k|0){k=y+k|0;l=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(l|0)){f[v>>2]=l+1;H=f[x>>2]|0;b[H+(l*20|0)>>0]=83;d[H+(l*20|0)+2>>1]=0;f[H+(l*20|0)+4>>2]=k;f[H+(l*20|0)+8>>2]=1;f[H+(l*20|0)+12>>2]=0;f[H+(l*20|0)+16>>2]=0;b[H+(l*20|0)+1>>0]=0;break}else{tl(j,83,k,1,0)|0;break}}H=f[l+32>>2]|0;if(!((H|0)==42350|(H|0)==42355)){if(f[c+28>>2]|0){do if(A){k=b[C>>0]|0;if(!(k<<24>>24)){k=(f[E>>2]|0)+1|0;f[E>>2]=k}else{k=k+-1<<24>>24;b[C>>0]=k;k=f[a+144+((k&255)<<2)>>2]|0}l=(f[c+68>>2]|0)+q|0;m=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(m|0)){f[v>>2]=m+1;H=f[x>>2]|0;b[H+(m*20|0)>>0]=90;d[H+(m*20|0)+2>>1]=0;f[H+(m*20|0)+4>>2]=e;f[H+(m*20|0)+8>>2]=l;f[H+(m*20|0)+12>>2]=k;f[H+(m*20|0)+16>>2]=0;b[H+(m*20|0)+1>>0]=0;l=k;break}else{tl(j,90,e,l,k)|0;l=k;break}}else l=p+q|0;while(0);k=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(k|0)){f[v>>2]=k+1;H=f[x>>2]|0;b[H+(k*20|0)>>0]=20;d[H+(k*20|0)+2>>1]=0;f[H+(k*20|0)+4>>2]=l;f[H+(k*20|0)+8>>2]=0;f[H+(k*20|0)+12>>2]=1;f[H+(k*20|0)+16>>2]=0;b[H+(k*20|0)+1>>0]=0}else k=tl(j,20,l,0,1)|0;if(!((l|0)==0|t)?(F=b[C>>0]|0,(F&255)<8):0){b[C>>0]=F+1<<24>>24;f[a+144+((F&255)<<2)>>2]=l;o=k}else o=k}else o=0;do if(f[(f[s>>2]|0)+4>>2]&32|0){k=Zk(a,f[(f[(f[r>>2]|0)+20>>2]|0)+4>>2]|0)|0;if(!k)k=f[(f[a>>2]|0)+8>>2]|0;l=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(l|0)){f[v>>2]=l+1;m=f[x>>2]|0;b[m+(l*20|0)>>0]=82;m=m+(l*20|0)+1|0;n=m+19|0;do{b[m>>0]=0;m=m+1|0}while((m|0)<(n|0))}else l=tl(j,82,0,0,0)|0;if(!(b[(f[j>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[v>>2]|0)+-1|0;m=f[x>>2]|0;n=m+(l*20|0)+1|0;if(b[n>>0]|0){ul(j,m+(l*20|0)|0,k,-2);break}if(k|0){f[m+(l*20|0)+16>>2]=k;b[n>>0]=-2}}}while(0);k=f[c+40>>2]|0;l=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(l|0)){f[v>>2]=l+1;H=f[x>>2]|0;b[H+(l*20|0)>>0]=D;d[H+(l*20|0)+2>>1]=0;f[H+(l*20|0)+4>>2]=g;f[H+(l*20|0)+8>>2]=p;f[H+(l*20|0)+12>>2]=k;f[H+(l*20|0)+16>>2]=0;b[H+(l*20|0)+1>>0]=0}else tl(j,B,g,p,k)|0;k=f[s>>2]|0;l=f[j>>2]|0;do if(b[l+81>>0]|0){if(f[k+4>>2]&16|0){if(l|0){if(f[l+480>>2]|0){Kc(l,k);break}H=k;if((f[l+304>>2]|0)>>>0<=H>>>0?(f[l+308>>2]|0)>>>0>H>>>0:0){H=l+300|0;f[k>>2]=f[H>>2];f[H>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{H=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}}else{s=f[x>>2]|0;H=(f[v>>2]|0)+-1|0;b[s+(H*20|0)+1>>0]=-8;f[s+(H*20|0)+16>>2]=k}while(0);l=f[v>>2]|0;if((l|0)>0)d[(f[x>>2]|0)+((l+-1|0)*20|0)+2>>1]=q&255;if(o|0){if(!(b[(f[j>>2]|0)+81>>0]|0))k=(f[x>>2]|0)+(((o|0)<0?l+-1|0:o)*20|0)|0;else k=72144;f[k+8>>2]=l}}}while(0);c=f[c+24>>2]|0}while((c|0)!=0);return}function Bo(a,c,e,g,h,i,j){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;k=f[a+8>>2]|0;if(!k){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;o=sl(a)|0}else o=k;Co(a,c,0);m=o+136|0;k=f[m>>2]|0;l=k+2|0;n=o+12|0;if((f[(f[n>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;p=f[o+88>>2]|0;b[p+(k*20|0)>>0]=47;d[p+(k*20|0)+2>>1]=0;f[p+(k*20|0)+4>>2]=e;f[p+(k*20|0)+8>>2]=l;f[p+(k*20|0)+12>>2]=1;f[p+(k*20|0)+16>>2]=0;b[p+(k*20|0)+1>>0]=0;e=k}else e=tl(o,47,e,l,1)|0;k=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;l=f[o+88>>2]|0;b[l+(k*20|0)>>0]=11;k=l+(k*20|0)+1|0;l=k+19|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0))}else tl(o,11,0,0,0)|0;Mo(a,c,g,h);k=c+36|0;if(i|0)Ao(a,c,f[k>>2]|0,1,i,j);k=f[k>>2]|0;l=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;p=f[o+88>>2]|0;b[p+(l*20|0)>>0]=5;d[p+(l*20|0)+2>>1]=0;f[p+(l*20|0)+4>>2]=k;f[p+(l*20|0)+8>>2]=e;f[p+(l*20|0)+12>>2]=0;f[p+(l*20|0)+16>>2]=0;b[p+(l*20|0)+1>>0]=0}else tl(o,5,k,e,0)|0;k=f[m>>2]|0;if(b[(f[o>>2]|0)+81>>0]|0){p=72144;p=p+8|0;f[p>>2]=k;return}p=(f[o+88>>2]|0)+(((e|0)<-1?k+-1|0:e+1|0)*20|0)|0;p=p+8|0;f[p>>2]=k;return}function Co(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=f[a+8>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;g=sl(a)|0}if(!c)return;l=(e|0)==0;m=g+136|0;n=g+12|0;o=g+88|0;do{k=c+32|0;do if((f[(f[k>>2]|0)+4>>2]&4096|0)!=0?(b[c+13>>0]|0)!=87:0){i=c+44|0;a=f[i>>2]|0;e=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(e|0)){f[m>>2]=e+1;j=f[o>>2]|0;b[j+(e*20|0)>>0]=73;d[j+(e*20|0)+2>>1]=0;f[j+(e*20|0)+4>>2]=0;f[j+(e*20|0)+8>>2]=a;f[j+(e*20|0)+12>>2]=0;f[j+(e*20|0)+16>>2]=0;b[j+(e*20|0)+1>>0]=0}else tl(g,73,0,a,0)|0;j=c+48|0;a=f[j>>2]|0;e=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(e|0)){f[m>>2]=e+1;h=f[o>>2]|0;b[h+(e*20|0)>>0]=32;d[h+(e*20|0)+2>>1]=0;f[h+(e*20|0)+4>>2]=a;f[h+(e*20|0)+8>>2]=0;f[h+(e*20|0)+12>>2]=0;f[h+(e*20|0)+16>>2]=0;b[h+(e*20|0)+1>>0]=0}else tl(g,32,a,0,0)|0;h=f[j>>2]|0;a=f[i>>2]|0;e=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(e|0)){f[m>>2]=e+1;i=f[o>>2]|0;b[i+(e*20|0)>>0]=90;d[i+(e*20|0)+2>>1]=0;f[i+(e*20|0)+4>>2]=h;f[i+(e*20|0)+8>>2]=0;f[i+(e*20|0)+12>>2]=a;f[i+(e*20|0)+16>>2]=0;b[i+(e*20|0)+1>>0]=0}else tl(g,90,h,0,a)|0;e=f[m>>2]|0;if(!(b[(f[g>>2]|0)+81>>0]|0))a=(f[o>>2]|0)+((((e|0)<2?-1:-2)+e|0)*20|0)|0;else a=72144;f[a+8>>2]=e;if(!l){a=f[j>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(e|0)){f[m>>2]=e+1;j=f[o>>2]|0;b[j+(e*20|0)>>0]=-117;d[j+(e*20|0)+2>>1]=0;f[j+(e*20|0)+4>>2]=a;f[j+(e*20|0)+8>>2]=0;f[j+(e*20|0)+12>>2]=0;f[j+(e*20|0)+16>>2]=0;b[j+(e*20|0)+1>>0]=0;break}else{tl(g,139,a,0,0)|0;break}}}else p=25;while(0);do if((p|0)==25?(p=0,(f[c+52>>2]|0)==0):0){j=c+40|0;i=f[j>>2]|0;a=f[(f[c+60>>2]|0)+20>>2]|0;if(!a)h=0;else h=f[a>>2]|0;if(l){a=f[c+44>>2]|0;e=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(e|0)){f[m>>2]=e+1;j=f[o>>2]|0;b[j+(e*20|0)>>0]=-99;d[j+(e*20|0)+2>>1]=0;f[j+(e*20|0)+4>>2]=i;f[j+(e*20|0)+8>>2]=h;f[j+(e*20|0)+12>>2]=a;f[j+(e*20|0)+16>>2]=0;b[j+(e*20|0)+1>>0]=0}else tl(g,157,i,h,a)|0;a=f[k>>2]|0;e=f[g>>2]|0;if(!(b[e+81>>0]|0)){j=f[o>>2]|0;k=(f[m>>2]|0)+-1|0;b[j+(k*20|0)+1>>0]=-8;f[j+(k*20|0)+16>>2]=a;break}if(!(f[a+4>>2]&16))break;if(e|0){if(f[e+480>>2]|0){Kc(e,a);break}k=a;if((f[e+304>>2]|0)>>>0<=k>>>0?(f[e+308>>2]|0)>>>0>k>>>0:0){k=e+300|0;f[a>>2]=f[k>>2];f[k>>2]=a;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{k=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}}a=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(a|0)){f[m>>2]=a+1;e=f[o>>2]|0;b[e+(a*20|0)>>0]=-98;d[e+(a*20|0)+2>>1]=0;f[e+(a*20|0)+4>>2]=i;f[e+(a*20|0)+8>>2]=h;f[e+(a*20|0)+12>>2]=0;f[e+(a*20|0)+16>>2]=0;b[e+(a*20|0)+1>>0]=0}else tl(g,158,i,h,0)|0;a=f[k>>2]|0;e=f[g>>2]|0;do if(b[e+81>>0]|0){if(f[a+4>>2]&16|0){if(e|0){if(f[e+480>>2]|0){Kc(e,a);break}k=a;if((f[e+304>>2]|0)>>>0<=k>>>0?(f[e+308>>2]|0)>>>0>k>>>0:0){k=e+300|0;f[a>>2]=f[k>>2];f[k>>2]=a;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{k=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}}}else{i=f[o>>2]|0;k=(f[m>>2]|0)+-1|0;b[i+(k*20|0)+1>>0]=-8;f[i+(k*20|0)+16>>2]=a}while(0);a=f[j>>2]|0;e=f[c+44>>2]|0;h=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(h|0)){f[m>>2]=h+1;k=f[o>>2]|0;b[k+(h*20|0)>>0]=78;d[k+(h*20|0)+2>>1]=0;f[k+(h*20|0)+4>>2]=a;f[k+(h*20|0)+8>>2]=e;f[k+(h*20|0)+12>>2]=0;f[k+(h*20|0)+16>>2]=0;b[k+(h*20|0)+1>>0]=0}else tl(g,78,a,e,0)|0;a=f[j>>2]|0;e=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(e|0)){f[m>>2]=e+1;k=f[o>>2]|0;b[k+(e*20|0)>>0]=73;d[k+(e*20|0)+2>>1]=0;f[k+(e*20|0)+4>>2]=0;f[k+(e*20|0)+8>>2]=a;f[k+(e*20|0)+12>>2]=0;f[k+(e*20|0)+16>>2]=0;b[k+(e*20|0)+1>>0]=0;break}else{tl(g,73,0,a,0)|0;break}}while(0);c=f[c+24>>2]|0}while((c|0)!=0);return}function Do(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=f[a+24>>2]|0;s=f[e>>2]|0;i=f[e+4>>2]|0;t=f[e+8>>2]|0;switch(b[c>>0]|0){case -98:case -96:{if(!i){t=1;return t|0}g=f[i>>2]|0;if((g|0)<=0){t=1;return t|0}o=c+28|0;l=f[o>>2]|0;e=0;a=i+8|0;while(1){if((l|0)==(f[a+40>>2]|0))break;e=e+1|0;if((e|0)>=(g|0)){a=1;r=80;break}else a=a+72|0}if((r|0)==80)return a|0;i=t+28|0;n=t+32|0;p=f[n>>2]|0;a:do if((p|0)>0){k=f[i>>2]|0;g=c+32|0;e=k;a=0;while(1){if((f[e+4>>2]|0)==(l|0)?(f[e+8>>2]|0)==(d[g>>1]|0):0)break a;a=a+1|0;if((a|0)>=(p|0))break;else e=e+24|0}m=i;a=k;r=13}else{m=i;a=f[i>>2]|0;r=13}while(0);b:do if((r|0)==13){i=f[s>>2]|0;c:do if(!(p+-1&p)){g=(p|0)==0;l=p*48|0;k=g?24:l;l=g?0:((l|0)<0)<<31>>31;d:do if(!a){if(f[i+272>>2]|0){if(b[i+81>>0]|0){a=0;break}}else{do if(!(l>>>0>0|((l|0)==0?k>>>0>(j[i+276>>1]|0)>>>0:0))){g=i+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];r=i+284|0;f[r>>2]=(f[r>>2]|0)+1;r=31;break d}g=i+296|0;e=f[g>>2]|0;if(!e){e=i+292|0;break}else{f[g>>2]=f[e>>2];r=i+284|0;f[r>>2]=(f[r>>2]|0)+1;r=31;break d}}else e=i+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(i,k,l)|0;r=31}else{r=a;if((f[i+304>>2]|0)>>>0<=r>>>0?(f[i+308>>2]|0)>>>0>r>>>0:0){if(!(l>>>0>0|((l|0)==0?k>>>0>(j[i+276>>1]|0)>>>0:0)))break c;e=Lc(i,a,k,l)|0;r=31;break}e=Lc(i,a,k,l)|0;r=31}while(0);if((r|0)==31)if(e){a=e;break}f[m>>2]=a;a=-1;break b}while(0);e=a+(p*24|0)|0;i=e+24|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(i|0));f[n>>2]=(f[n>>2]|0)+1;f[m>>2]=a;if((p|0)>-1){f[a+(p*24|0)>>2]=f[c+44>>2];i=f[o>>2]|0;f[a+(p*24|0)+4>>2]=i;k=d[c+32>>1]|0;f[a+(p*24|0)+8>>2]=k<<16>>16;s=s+44|0;g=(f[s>>2]|0)+1|0;f[s>>2]=g;f[a+(p*24|0)+16>>2]=g;g=a+(p*24|0)+12|0;f[g>>2]=-1;f[a+(p*24|0)+20>>2]=c;a=f[t+24>>2]|0;e:do if(a|0?(q=f[a>>2]|0,(q|0)>0):0){e=a+4|0;a=0;while(1){s=f[e>>2]|0;if(((b[s>>0]|0)==-98?(f[s+28>>2]|0)==(i|0):0)?(d[s+32>>1]|0)==k<<16>>16:0)break;a=a+1|0;if((a|0)<(q|0))e=e+20|0;else break e}f[g>>2]=a;a=p;break b}while(0);s=t+12|0;a=f[s>>2]|0;f[s>>2]=a+1;f[g>>2]=a;a=p}else a=p}while(0);f[c+40>>2]=t;b[c>>0]=-96;d[c+34>>1]=a;t=1;return t|0}case -97:{if(d[e+24>>1]&8){t=0;return t|0}if((f[a+16>>2]|0)!=(h[c+38>>0]|0)){t=0;return t|0}p=t+40|0;o=t+44|0;e=f[o>>2]|0;f:do if((e|0)>0){e=f[p>>2]|0;a=0;while(1){if(!(Ck(0,f[e>>2]|0,c,-1)|0))break;a=a+1|0;g=f[o>>2]|0;if((a|0)<(g|0))e=e+16|0;else break f}g=f[o>>2]|0}else{a=0;g=e}while(0);g:do if((a|0)>=(g|0)){k=f[s>>2]|0;n=b[k+78>>0]|0;a=f[p>>2]|0;h:do if(!(g+-1&g)){q=(g|0)==0;m=g<<5;l=q?16:m;m=q?0:((m|0)<0)<<31>>31;i:do if(!a){if(f[k+272>>2]|0){if(b[k+81>>0]|0){a=0;break}}else{do if(!(m>>>0>0|((m|0)==0?l>>>0>(j[k+276>>1]|0)>>>0:0))){i=k+300|0;e=f[i>>2]|0;if(e|0){f[i>>2]=f[e>>2];r=k+284|0;f[r>>2]=(f[r>>2]|0)+1;r=71;break i}i=k+296|0;e=f[i>>2]|0;if(!e){e=k+292|0;break}else{f[i>>2]=f[e>>2];r=k+284|0;f[r>>2]=(f[r>>2]|0)+1;r=71;break i}}else e=k+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(k,l,m)|0;r=71}else{r=a;if((f[k+304>>2]|0)>>>0<=r>>>0?(f[k+308>>2]|0)>>>0>r>>>0:0){if(!(m>>>0>0|((m|0)==0?l>>>0>(j[k+276>>1]|0)>>>0:0)))break h;e=Lc(k,a,l,m)|0;r=71;break}e=Lc(k,a,l,m)|0;r=71}while(0);if((r|0)==71)if(e){a=e;break}f[p>>2]=a;a=-1;break g}while(0);e=a+(g<<4)|0;i=e+16|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(i|0));f[o>>2]=(f[o>>2]|0)+1;f[p>>2]=a;if((g|0)>-1){f[a+(g<<4)>>2]=c;r=s+44|0;e=(f[r>>2]|0)+1|0;f[r>>2]=e;f[a+(g<<4)+8>>2]=e;e=f[c+20>>2]|0;if(!e)e=0;else e=f[e>>2]|0;r=Rk(f[s>>2]|0,f[c+8>>2]|0,e,n,0)|0;f[a+(g<<4)+4>>2]=r;if(!(f[c+4>>2]&16)){f[a+(g<<4)+12>>2]=-1;a=g;break}else{r=s+40|0;s=f[r>>2]|0;f[r>>2]=s+1;f[a+(g<<4)+12>>2]=s;a=g;break}}else a=g}while(0);d[c+34>>1]=a;f[c+40>>2]=t;t=1;return t|0}default:{t=0;return t|0}}return 0}function Eo(a,b){a=a|0;b=b|0;b=a+16|0;f[b>>2]=(f[b>>2]|0)+1;return 0}function Fo(a,b){a=a|0;b=b|0;b=a+16|0;f[b>>2]=(f[b>>2]|0)+-1;return}function Go(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+48|0;l=m;if((b[c>>0]|0)==44){l=0;t=m;return l|0}d=f[a+24>>2]|0;j=f[a>>2]|0;i=f[d+40>>2]|0;k=l+20|0;b[k>>0]=1;f[l+4>>2]=170;f[l+8>>2]=0;f[l+24>>2]=i;f[l>>2]=j;oi(l,c)|0;if(!(b[k>>0]|0)){l=1;t=m;return l|0}j=f[f[a>>2]>>2]|0;k=Dk(j,143,10024,0)|0;if(!k){l=1;t=m;return l|0}d=d+36|0;e=f[d>>2]|0;g=l;h=k;i=g+48|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));g=k;h=c;i=g+48|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));g=c;h=l;i=g+48|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=kl(j,e,k)|0;f[d>>2]=l;b[a+20>>0]=1;l=1;t=m;return l|0}function Ho(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;H=a+8|0;L=f[H>>2]|0;b[e>>0]=1;G=e+44|0;if((f[G>>2]|0)>0){w=L+12|0;x=a+19|0;y=a+32|0;z=a+28|0;A=L+136|0;B=a+44|0;C=L+88|0;D=e+36|0;u=f[e+40>>2]|0;g=0;v=0;while(1){s=f[(f[u>>2]|0)+20>>2]|0;if(!s){h=0;t=0}else{k=f[s>>2]|0;do if((k|0)==1){h=b[x>>0]|0;if(!(h<<24>>24)){h=(f[B>>2]|0)+1|0;f[B>>2]=h;break}else{h=h+-1<<24>>24;b[x>>0]=h;h=f[a+144+((h&255)<<2)>>2]|0;break}}else{h=f[y>>2]|0;i=f[z>>2]|0;if((i|0)<(k|0)){h=f[B>>2]|0;f[B>>2]=h+k;h=h+1|0;break}else{f[y>>2]=h+k;f[z>>2]=i-k;break}}while(0);Jo(a,s,h,0,1);t=k}q=u+12|0;if((f[q>>2]|0)>-1){i=f[w>>2]|0;p=i+60|0;r=f[p>>2]|0;f[p>>2]=r+1;p=i+64|0;if(!(r+-1&r)){n=r<<3|4;o=f[i>>2]|0;k=f[p>>2]|0;a:do if(k){l=k;m=o+304|0;if(((f[m>>2]|0)>>>0<=l>>>0?(f[o+308>>2]|0)>>>0>l>>>0:0)?!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)):0){i=k;break}i=Lc(o,k,n,0)|0;if(!i){if(f[o+480>>2]|0){Kc(o,k);i=0;break}if((f[m>>2]|0)>>>0<=l>>>0?(f[o+308>>2]|0)>>>0>l>>>0:0){i=o+300|0;f[k>>2]=f[i>>2];f[i>>2]=k;i=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);i=0;break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);i=0;break}}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];o=o+284|0;f[o>>2]=(f[o>>2]|0)+1;break a}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];o=o+284|0;f[o>>2]=(f[o>>2]|0)+1;break a}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(r<<2)>>2]=-1;o=~r;Ko(a,f[q>>2]|0,o,1,h)}else o=0;n=u+4|0;do if(f[(f[n>>2]|0)+4>>2]&32){if((t|0)>0){m=0;i=s+4|0;while(1){k=Zk(a,f[i>>2]|0)|0;m=m+1|0;l=(k|0)!=0;if(!((m|0)<(t|0)&(l^1)))break;else i=i+20|0}if(!l)K=48}else K=48;if((K|0)==48){K=0;k=f[(f[a>>2]|0)+8>>2]|0}if(!g)if(!(f[D>>2]|0))g=0;else{g=(f[B>>2]|0)+1|0;f[B>>2]=g}i=f[A>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(i|0)){f[A>>2]=i+1;s=f[C>>2]|0;b[s+(i*20|0)>>0]=82;d[s+(i*20|0)+2>>1]=0;f[s+(i*20|0)+4>>2]=g;f[s+(i*20|0)+8>>2]=0;f[s+(i*20|0)+12>>2]=0;f[s+(i*20|0)+16>>2]=0;b[s+(i*20|0)+1>>0]=0}else i=tl(L,82,g,0,0)|0;if(!(b[(f[L>>2]|0)+81>>0]|0)){if((i|0)<0)i=(f[A>>2]|0)+-1|0;l=f[C>>2]|0;m=l+(i*20|0)+1|0;if(b[m>>0]|0){ul(L,l+(i*20|0)|0,k,-2);break}if(k){f[l+(i*20|0)+16>>2]=k;b[m>>0]=-2}}}while(0);i=f[u+8>>2]|0;k=f[A>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(k|0)){f[A>>2]=k+1;s=f[C>>2]|0;b[s+(k*20|0)>>0]=-101;d[s+(k*20|0)+2>>1]=0;f[s+(k*20|0)+4>>2]=0;f[s+(k*20|0)+8>>2]=h;f[s+(k*20|0)+12>>2]=i;f[s+(k*20|0)+16>>2]=0;b[s+(k*20|0)+1>>0]=0}else tl(L,155,0,h,i)|0;i=f[n>>2]|0;k=f[L>>2]|0;do if(b[k+81>>0]|0){if(f[i+4>>2]&16|0){if(k|0){if(f[k+480>>2]|0){Kc(k,i);break}s=i;if((f[k+304>>2]|0)>>>0<=s>>>0?(f[k+308>>2]|0)>>>0>s>>>0:0){s=k+300|0;f[i>>2]=f[s>>2];f[s>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{s=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}}else{r=f[C>>2]|0;s=(f[A>>2]|0)+-1|0;b[r+(s*20|0)+1>>0]=-8;f[r+(s*20|0)+16>>2]=i}while(0);i=f[A>>2]|0;if((i|0)>0)d[(f[C>>2]|0)+((i+-1|0)*20|0)+2>>1]=t&255;if((t|0)==1){if(h|0?(E=b[x>>0]|0,(E&255)<8):0){b[x>>0]=E+1<<24>>24;f[a+144+((E&255)<<2)>>2]=h}}else if((f[z>>2]|0)<(t|0)){f[z>>2]=t;f[y>>2]=h}if(o|0?(F=f[(f[w>>2]|0)+64>>2]|0,F|0):0)f[F+(~o<<2)>>2]=f[A>>2];v=v+1|0;if((v|0)>=(f[G>>2]|0))break;else u=u+16|0}if(g)K=91;else K=90}else K=90;if((K|0)==90)if((c|0)==0|(f[e+36>>2]|0)==0)i=0;else{g=c;K=91}do if((K|0)==91){h=L+136|0;i=f[h>>2]|0;if((f[(f[L+12>>2]|0)+48>>2]|0)>(i|0)){f[h>>2]=i+1;G=f[L+88>>2]|0;b[G+(i*20|0)>>0]=18;d[G+(i*20|0)+2>>1]=0;f[G+(i*20|0)+4>>2]=g;f[G+(i*20|0)+8>>2]=0;f[G+(i*20|0)+12>>2]=0;f[G+(i*20|0)+16>>2]=0;b[G+(i*20|0)+1>>0]=0;break}else{i=tl(L,18,g,0,0)|0;break}}while(0);o=e+36|0;if((f[o>>2]|0)>0){m=f[e+28>>2]|0;n=0;while(1){g=f[m+20>>2]|0;p=f[m+16>>2]|0;do if(g){if((b[g>>0]|0)!=-92){J=xl(a,g,p)|0;K=103;break}l=f[H>>2]|0;g=f[g+28>>2]|0;h=l+136|0;k=f[h>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(k|0)){f[h>>2]=k+1;G=f[l+88>>2]|0;b[G+(k*20|0)>>0]=78;d[G+(k*20|0)+2>>1]=0;f[G+(k*20|0)+4>>2]=g;f[G+(k*20|0)+8>>2]=p;f[G+(k*20|0)+12>>2]=0;f[G+(k*20|0)+16>>2]=0;b[G+(k*20|0)+1>>0]=0;break}else{tl(l,78,g,p,0)|0;break}}else{J=xl(a,0,p)|0;K=103}while(0);do if(((K|0)==103?(K=0,(J|0)!=(p|0)):0)?(I=f[H>>2]|0,I|0):0){g=I+136|0;h=f[g>>2]|0;if((f[(f[I+12>>2]|0)+48>>2]|0)>(h|0)){f[g>>2]=h+1;G=f[I+88>>2]|0;b[G+(h*20|0)>>0]=79;d[G+(h*20|0)+2>>1]=0;f[G+(h*20|0)+4>>2]=J;f[G+(h*20|0)+8>>2]=p;f[G+(h*20|0)+12>>2]=0;f[G+(h*20|0)+16>>2]=0;b[G+(h*20|0)+1>>0]=0;break}else{tl(I,79,J,p,0)|0;break}}while(0);n=n+1|0;if((n|0)>=(f[o>>2]|0))break;else m=m+24|0}}b[e>>0]=0;if(!i)return;h=f[L+136>>2]|0;if(!(b[(f[L>>2]|0)+81>>0]|0))g=(f[L+88>>2]|0)+(((i|0)<0?h+-1|0:i)*20|0)|0;else g=72144;f[g+8>>2]=h;return}function Io(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;v=t;t=t+16|0;u=v;r=f[a+8>>2]|0;s=c+44|0;if((f[s>>2]|0)==(0-(f[c+32>>2]|0)|0)){t=v;return}e=f[c+16>>2]|0;g=f[c+20>>2]|0;p=r+136|0;h=f[p>>2]|0;q=r+12|0;if((f[(f[q>>2]|0)+48>>2]|0)>(h|0)){f[p>>2]=h+1;o=f[r+88>>2]|0;b[o+(h*20|0)>>0]=73;d[o+(h*20|0)+2>>1]=0;f[o+(h*20|0)+4>>2]=0;f[o+(h*20|0)+8>>2]=e;f[o+(h*20|0)+12>>2]=g;f[o+(h*20|0)+16>>2]=0;b[o+(h*20|0)+1>>0]=0}else tl(r,73,0,e,g)|0;if((f[s>>2]|0)<=0){t=v;return}o=r+88|0;m=f[c+40>>2]|0;n=0;while(1){k=m+12|0;do if((f[k>>2]|0)>-1){i=f[(f[m>>2]|0)+20>>2]|0;if(i|0?(f[i>>2]|0)==1:0){h=f[a>>2]|0;c=h+272|0;a:do if(f[c>>2]|0)if(!(b[h+81>>0]|0))l=21;else{i=0;c=1}else{do if((j[h+276>>1]|0)>=30){e=h+300|0;g=f[e>>2]|0;if(g|0){f[e>>2]=f[g>>2];l=h+284|0;f[l>>2]=(f[l>>2]|0)+1;l=22;break a}e=h+296|0;g=f[e>>2]|0;if(!g){e=h+292|0;break}else{f[e>>2]=f[g>>2];l=h+284|0;f[l>>2]=(f[l>>2]|0)+1;l=22;break a}}else e=h+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;l=21}while(0);if((l|0)==21){g=Dc(h,30,0)|0;l=22}do if((l|0)==22){l=0;if(!g){e=h+81|0;if((b[e>>0]|0)==0?(b[h+82>>0]|0)==0:0){b[e>>0]=1;if((f[h+180>>2]|0)>0)f[h+264>>2]=1;f[c>>2]=(f[c>>2]|0)+1}if(!g){i=0;c=1;break}else{h=0;c=1}}else{f[g+16>>2]=g+28;d[g+6>>1]=1;d[g+8>>1]=2;b[g+4>>0]=b[h+78>>0]|0;f[g+12>>2]=h;f[g>>2]=1;h=g+24|0;f[h>>2]=0;d[h+4>>1]=0;h=g;c=0}e=Zk(a,f[i+4>>2]|0)|0;if(!e)e=f[(f[a>>2]|0)+8>>2]|0;f[g+20>>2]=e;b[f[g+16>>2]>>0]=b[i+16>>0]|0;i=h}while(0);g=f[k>>2]|0;e=f[p>>2]|0;if((f[(f[q>>2]|0)+48>>2]|0)>(e|0)){f[p>>2]=e+1;k=f[o>>2]|0;b[k+(e*20|0)>>0]=113;d[k+(e*20|0)+2>>1]=0;f[k+(e*20|0)+4>>2]=g;f[k+(e*20|0)+8>>2]=0;f[k+(e*20|0)+12>>2]=0;f[k+(e*20|0)+16>>2]=0;b[k+(e*20|0)+1>>0]=0}else e=tl(r,113,g,0,0)|0;g=f[r>>2]|0;if(!(b[g+81>>0]|0)){if((e|0)<0)e=(f[p>>2]|0)+-1|0;g=f[o>>2]|0;h=g+(e*20|0)+1|0;if(b[h>>0]|0){ul(r,g+(e*20|0)|0,i,-9);break}if(c)break;f[g+(e*20|0)+16>>2]=i;b[h>>0]=-9;break}if(c|(f[g+480>>2]|0)!=0)break;k=(f[i>>2]|0)+-1|0;f[i>>2]=k;if(k|0)break;e=f[i+12>>2]|0;if(e|0){if(f[e+480>>2]|0){Kc(e,i);break}k=i;if((f[e+304>>2]|0)>>>0<=k>>>0?(f[e+308>>2]|0)>>>0>k>>>0:0){k=e+300|0;f[i>>2]=f[k>>2];f[k>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{k=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}ni(a,57527,u);f[k>>2]=-1}while(0);n=n+1|0;if((n|0)>=(f[s>>2]|0))break;else m=m+16|0}t=v;return}function Jo(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=t;t=t+32|0;B=G;i=h&255;E=79-(i&1)|0;z=f[a+8>>2]|0;j=f[c>>2]|0;if((j|0)<=0){t=G;return}x=((b[a+23>>0]|0)==0?i&253:h)&255;q=(x&4|0)==0;r=(x&2|0)==0;s=B+20|0;u=B+4|0;v=B+8|0;w=B+24|0;x=(x&8|0)==0;y=(E|0)==78;l=g+-1|0;m=z+136|0;n=z+12|0;o=z+88|0;p=E&255;k=c+4|0;h=0;i=j;while(1){g=f[k>>2]|0;do if(!q?(j=d[k+16>>1]|0,A=j&65535,j<<16>>16!=0):0){if(!x){h=h+-1|0;i=i+-1|0;break}g=l+A|0;c=h+e|0;j=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(j|0)){f[m>>2]=j+1;H=f[o>>2]|0;b[H+(j*20|0)>>0]=p;d[H+(j*20|0)+2>>1]=0;f[H+(j*20|0)+4>>2]=g;f[H+(j*20|0)+8>>2]=c;f[H+(j*20|0)+12>>2]=0;f[H+(j*20|0)+16>>2]=0;b[H+(j*20|0)+1>>0]=0;break}else{tl(z,E,g,c,0)|0;break}}else F=10;while(0);a:do if((F|0)==10){F=0;do if(!r){b[s>>0]=2;f[u>>2]=155;f[v>>2]=156;f[w>>2]=0;if(g){oi(B,g)|0;if(!(b[s>>0]|0))break}Pm(a,g,h+e|0)|0;break a}while(0);j=h+e|0;c=xl(a,g,j)|0;if((c|0)!=(j|0)){if(y){if(!(b[(f[z>>2]|0)+81>>0]|0))g=(f[o>>2]|0)+(((f[m>>2]|0)+-1|0)*20|0)|0;else g=72144;if(((b[g>>0]|0)==78?(C=g+12|0,D=(f[C>>2]|0)+1|0,(D+(f[g+4>>2]|0)|0)==(c|0)):0)?(D+(f[g+8>>2]|0)|0)==(j|0):0){f[C>>2]=D;break}}g=f[m>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(g|0)){f[m>>2]=g+1;H=f[o>>2]|0;b[H+(g*20|0)>>0]=p;d[H+(g*20|0)+2>>1]=0;f[H+(g*20|0)+4>>2]=c;f[H+(g*20|0)+8>>2]=j;f[H+(g*20|0)+12>>2]=0;f[H+(g*20|0)+16>>2]=0;b[H+(g*20|0)+1>>0]=0;break}else{tl(z,E,c,j,0)|0;break}}}while(0);h=h+1|0;if((h|0)>=(i|0))break;else k=k+20|0}t=G;return}function Ko(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=f[a+8>>2]|0;n=a+19|0;i=b[n>>0]|0;if(!(i<<24>>24)){k=a+44|0;l=(f[k>>2]|0)+1|0;f[k>>2]=l}else{l=i+-1<<24>>24;b[n>>0]=l;l=f[a+144+((l&255)<<2)>>2]|0}k=m+136|0;i=f[k>>2]|0;j=m+12|0;if((f[(f[j>>2]|0)+48>>2]|0)>(i|0)){f[k>>2]=i+1;o=f[m+88>>2]|0;b[o+(i*20|0)>>0]=29;d[o+(i*20|0)+2>>1]=0;f[o+(i*20|0)+4>>2]=c;f[o+(i*20|0)+8>>2]=e;f[o+(i*20|0)+12>>2]=h;f[o+(i*20|0)+16>>2]=0;b[o+(i*20|0)+1>>0]=0}else i=tl(m,29,c,e,h)|0;if(!(b[(f[m>>2]|0)+81>>0]|0)){o=f[m+88>>2]|0;b[o+(i*20|0)+1>>0]=-3;f[o+(i*20|0)+16>>2]=g}i=f[k>>2]|0;if((f[(f[j>>2]|0)+48>>2]|0)>(i|0)){f[k>>2]=i+1;o=f[m+88>>2]|0;b[o+(i*20|0)>>0]=102;d[o+(i*20|0)+2>>1]=0;f[o+(i*20|0)+4>>2]=h;f[o+(i*20|0)+8>>2]=g;f[o+(i*20|0)+12>>2]=l;f[o+(i*20|0)+16>>2]=0;b[o+(i*20|0)+1>>0]=0}else tl(m,102,h,g,l)|0;i=f[k>>2]|0;if((f[(f[j>>2]|0)+48>>2]|0)>(i|0)){f[k>>2]=i+1;o=f[m+88>>2]|0;b[o+(i*20|0)>>0]=-123;d[o+(i*20|0)+2>>1]=0;f[o+(i*20|0)+4>>2]=c;f[o+(i*20|0)+8>>2]=l;f[o+(i*20|0)+12>>2]=h;f[o+(i*20|0)+16>>2]=0;b[o+(i*20|0)+1>>0]=0}else i=tl(m,133,c,l,h)|0;if(!(b[(f[m>>2]|0)+81>>0]|0)){o=f[m+88>>2]|0;b[o+(i*20|0)+1>>0]=-3;f[o+(i*20|0)+16>>2]=g}i=f[k>>2]|0;if((i|0)>0)d[(f[m+88>>2]|0)+((i+-1|0)*20|0)+2>>1]=16;if(!l)return;i=b[n>>0]|0;if((i&255)>=8)return;b[n>>0]=i+1<<24>>24;f[a+144+((i&255)<<2)>>2]=l;return}function Lo(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;h=f[a+24>>2]|0;a:do if((f[h>>2]|0)>0){g=0;while(1){d=f[h+4+(g*20|0)>>2]|0;if((Ck(0,c,d,-1)|0)<2){e=f[a>>2]|0;d=Zk(e,d)|0;if(!d){d=f[(f[e>>2]|0)+8>>2]|0;if(!d){d=1;e=12;break}}if((f[d+12>>2]|0)==85?(f[d+8>>2]|0)==0:0){d=1;e=12;break}}g=g+1|0;if((g|0)>=(f[h>>2]|0))break a}if((e|0)==12)return d|0}while(0);if(!(f[c+4>>2]&2048)){c=jm(a,c)|0;return c|0}else{b[a+20>>0]=0;c=2;return c|0}return 0}function Mo(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;h=f[a+8>>2]|0;if(!h){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;D=sl(a)|0}else D=h;if(!c){i=D+12|0;h=D+136|0}else{i=D+12|0;w=c+36|0;x=a+19|0;y=a+44|0;h=D+136|0;z=D+88|0;do{v=(f[c+32>>2]|0)+32|0;k=f[v>>2]|0;if((k|0)==42328|(k|0)==42338){r=f[c+48>>2]|0;k=f[i>>2]|0;q=k+60|0;s=f[q>>2]|0;f[q>>2]=s+1;q=k+64|0;if(!(s+-1&s)){o=s<<3|4;p=f[k>>2]|0;k=f[q>>2]|0;a:do if(k){m=k;n=p+304|0;if(((f[n>>2]|0)>>>0<=m>>>0?(f[p+308>>2]|0)>>>0>m>>>0:0)?!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0)):0)break;l=Lc(p,k,o,0)|0;if(!l){if(f[p+480>>2]|0){Kc(p,k);k=0;break}if((f[n>>2]|0)>>>0<=m>>>0?(f[p+308>>2]|0)>>>0>m>>>0:0){u=p+300|0;f[k>>2]=f[u>>2];f[u>>2]=k;k=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);k=0;break}else{u=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);k=0;break}}else k=l}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){k=0;break}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){l=p+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];u=p+284|0;f[u>>2]=(f[u>>2]|0)+1;break a}l=p+296|0;k=f[l>>2]|0;if(!k){k=p+292|0;break}else{f[l>>2]=f[k>>2];u=p+284|0;f[u>>2]=(f[u>>2]|0)+1;break a}}else k=p+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(p,o,0)|0}while(0);f[q>>2]=k}else k=f[q>>2]|0;if(k|0)f[k+(s<<2)>>2]=-1;n=~s;k=b[x>>0]|0;if(!(k<<24>>24)){p=(f[y>>2]|0)+1|0;f[y>>2]=p}else{p=k+-1<<24>>24;b[x>>0]=p;p=f[a+144+((p&255)<<2)>>2]|0}o=c+44|0;k=f[o>>2]|0;l=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(l|0)){f[h>>2]=l+1;u=f[z>>2]|0;b[u+(l*20|0)>>0]=73;d[u+(l*20|0)+2>>1]=0;f[u+(l*20|0)+4>>2]=0;f[u+(l*20|0)+8>>2]=k;f[u+(l*20|0)+12>>2]=0;f[u+(l*20|0)+16>>2]=0;b[u+(l*20|0)+1>>0]=0}else tl(D,73,0,k,0)|0;do if((f[v>>2]|0)!=42328){k=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(k|0)){f[h>>2]=k+1;v=f[z>>2]|0;b[v+(k*20|0)>>0]=70;d[v+(k*20|0)+2>>1]=0;f[v+(k*20|0)+4>>2]=1;f[v+(k*20|0)+8>>2]=p;f[v+(k*20|0)+12>>2]=0;f[v+(k*20|0)+16>>2]=0;b[v+(k*20|0)+1>>0]=0;break}else{tl(D,70,1,p,0)|0;break}}else{k=f[w>>2]|0;l=(f[c+68>>2]|0)+1|0;m=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(m|0)){f[h>>2]=m+1;v=f[z>>2]|0;b[v+(m*20|0)>>0]=90;d[v+(m*20|0)+2>>1]=0;f[v+(m*20|0)+4>>2]=k;f[v+(m*20|0)+8>>2]=l;f[v+(m*20|0)+12>>2]=p;f[v+(m*20|0)+16>>2]=0;b[v+(m*20|0)+1>>0]=0}else tl(D,90,k,l,p)|0;No(a,p,2)}while(0);k=c+52|0;l=f[k>>2]|0;m=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(m|0)){f[h>>2]=m+1;v=f[z>>2]|0;b[v+(m*20|0)>>0]=96;d[v+(m*20|0)+2>>1]=0;f[v+(m*20|0)+4>>2]=p;f[v+(m*20|0)+8>>2]=l;f[v+(m*20|0)+12>>2]=p;f[v+(m*20|0)+16>>2]=0;b[v+(m*20|0)+1>>0]=0}else tl(D,96,p,l,p)|0;k=(f[k>>2]|0)+1|0;l=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(l|0)){f[h>>2]=l+1;v=f[z>>2]|0;b[v+(l*20|0)>>0]=54;d[v+(l*20|0)+2>>1]=0;f[v+(l*20|0)+4>>2]=k;f[v+(l*20|0)+8>>2]=n;f[v+(l*20|0)+12>>2]=p;f[v+(l*20|0)+16>>2]=0;b[v+(l*20|0)+1>>0]=0}else tl(D,54,k,n,p)|0;k=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(k|0)){f[h>>2]=k+1;v=f[z>>2]|0;b[v+(k*20|0)>>0]=30;d[v+(k*20|0)+2>>1]=0;f[v+(k*20|0)+4>>2]=r;f[v+(k*20|0)+8>>2]=0;f[v+(k*20|0)+12>>2]=p;f[v+(k*20|0)+16>>2]=0;b[v+(k*20|0)+1>>0]=0}else tl(D,30,r,0,p)|0;m=f[c+68>>2]|0;k=f[o>>2]|0;l=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(l|0)){f[h>>2]=l+1;v=f[z>>2]|0;b[v+(l*20|0)>>0]=90;d[v+(l*20|0)+2>>1]=0;f[v+(l*20|0)+4>>2]=r;f[v+(l*20|0)+8>>2]=m;f[v+(l*20|0)+12>>2]=k;f[v+(l*20|0)+16>>2]=0;b[v+(l*20|0)+1>>0]=0}else tl(D,90,r,m,k)|0;k=f[(f[i>>2]|0)+64>>2]|0;if(k|0)f[k+(s<<2)>>2]=f[h>>2];if(p|0?(A=b[x>>0]|0,(A&255)<8):0){b[x>>0]=A+1<<24>>24;f[a+144+((A&255)<<2)>>2]=p}}else if((k|0)==42350|(k|0)==42355){r=f[f[(f[c+60>>2]|0)+20>>2]>>2]|0;s=f[w>>2]|0;t=f[c+48>>2]|0;k=f[i>>2]|0;q=k+60|0;u=f[q>>2]|0;f[q>>2]=u+1;q=k+64|0;if(!(u+-1&u)){o=u<<3|4;p=f[k>>2]|0;k=f[q>>2]|0;b:do if(k){m=k;n=p+304|0;if(((f[n>>2]|0)>>>0<=m>>>0?(f[p+308>>2]|0)>>>0>m>>>0:0)?!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0)):0)break;l=Lc(p,k,o,0)|0;if(!l){if(f[p+480>>2]|0){Kc(p,k);k=0;break}if((f[n>>2]|0)>>>0<=m>>>0?(f[p+308>>2]|0)>>>0>m>>>0:0){p=p+300|0;f[k>>2]=f[p>>2];f[p>>2]=k;k=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);k=0;break}else{p=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);k=0;break}}else k=l}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){k=0;break}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){l=p+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];p=p+284|0;f[p>>2]=(f[p>>2]|0)+1;break b}l=p+296|0;k=f[l>>2]|0;if(!k){k=p+292|0;break}else{f[l>>2]=f[k>>2];p=p+284|0;f[p>>2]=(f[p>>2]|0)+1;break b}}else k=p+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(p,o,0)|0}while(0);f[q>>2]=k}else k=f[q>>2]|0;if(k|0)f[k+(u<<2)>>2]=-1;o=~u;k=b[x>>0]|0;if(!(k<<24>>24)){p=(f[y>>2]|0)+1|0;f[y>>2]=p}else{p=k+-1<<24>>24;b[x>>0]=p;p=f[a+144+((p&255)<<2)>>2]|0}do if((r|0)<3){k=f[c+44>>2]|0;l=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(l|0)){f[h>>2]=l+1;q=f[z>>2]|0;b[q+(l*20|0)>>0]=73;d[q+(l*20|0)+2>>1]=0;f[q+(l*20|0)+4>>2]=0;f[q+(l*20|0)+8>>2]=k;f[q+(l*20|0)+12>>2]=0;f[q+(l*20|0)+16>>2]=0;b[q+(l*20|0)+1>>0]=0;break}else{tl(D,73,0,k,0)|0;break}}else{k=(f[c+68>>2]|0)+2|0;l=f[c+44>>2]|0;m=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(m|0)){f[h>>2]=m+1;q=f[z>>2]|0;b[q+(m*20|0)>>0]=90;d[q+(m*20|0)+2>>1]=0;f[q+(m*20|0)+4>>2]=s;f[q+(m*20|0)+8>>2]=k;f[q+(m*20|0)+12>>2]=l;f[q+(m*20|0)+16>>2]=0;b[q+(m*20|0)+1>>0]=0;break}else{tl(D,90,s,k,l)|0;break}}while(0);k=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(k|0)){f[h>>2]=k+1;q=f[z>>2]|0;b[q+(k*20|0)>>0]=-127;d[q+(k*20|0)+2>>1]=0;f[q+(k*20|0)+4>>2]=s;f[q+(k*20|0)+8>>2]=p;f[q+(k*20|0)+12>>2]=0;f[q+(k*20|0)+16>>2]=0;b[q+(k*20|0)+1>>0]=0}else tl(D,129,s,p,0)|0;k=(f[v>>2]|0)==42350;do if((r|0)<2){k=k?1:-1;l=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(l|0)){f[h>>2]=l+1;v=f[z>>2]|0;b[v+(l*20|0)>>0]=83;d[v+(l*20|0)+2>>1]=0;f[v+(l*20|0)+4>>2]=p;f[v+(l*20|0)+8>>2]=k;f[v+(l*20|0)+12>>2]=0;f[v+(l*20|0)+16>>2]=0;b[v+(l*20|0)+1>>0]=0;break}else{tl(D,83,p,k,0)|0;break}}else{n=k?96:97;k=b[x>>0]|0;if(!(k<<24>>24)){m=(f[y>>2]|0)+1|0;f[y>>2]=m}else{m=k+-1<<24>>24;b[x>>0]=m;m=f[a+144+((m&255)<<2)>>2]|0}k=(f[c+68>>2]|0)+1|0;l=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(l|0)){f[h>>2]=l+1;v=f[z>>2]|0;b[v+(l*20|0)>>0]=90;d[v+(l*20|0)+2>>1]=0;f[v+(l*20|0)+4>>2]=s;f[v+(l*20|0)+8>>2]=k;f[v+(l*20|0)+12>>2]=m;f[v+(l*20|0)+16>>2]=0;b[v+(l*20|0)+1>>0]=0}else tl(D,90,s,k,m)|0;k=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(k|0)){f[h>>2]=k+1;v=f[z>>2]|0;b[v+(k*20|0)>>0]=n;d[v+(k*20|0)+2>>1]=0;f[v+(k*20|0)+4>>2]=m;f[v+(k*20|0)+8>>2]=p;f[v+(k*20|0)+12>>2]=p;f[v+(k*20|0)+16>>2]=0;b[v+(k*20|0)+1>>0]=0}else tl(D,n,m,p,p)|0;if(m|0?(B=b[x>>0]|0,(B&255)<8):0){b[x>>0]=B+1<<24>>24;f[a+144+((B&255)<<2)>>2]=m}}while(0);k=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(k|0)){f[h>>2]=k+1;v=f[z>>2]|0;b[v+(k*20|0)>>0]=30;d[v+(k*20|0)+2>>1]=0;f[v+(k*20|0)+4>>2]=t;f[v+(k*20|0)+8>>2]=o;f[v+(k*20|0)+12>>2]=p;f[v+(k*20|0)+16>>2]=0;b[v+(k*20|0)+1>>0]=0}else tl(D,30,t,o,p)|0;k=f[c+68>>2]|0;l=f[c+44>>2]|0;m=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(m|0)){f[h>>2]=m+1;v=f[z>>2]|0;b[v+(m*20|0)>>0]=90;d[v+(m*20|0)+2>>1]=0;f[v+(m*20|0)+4>>2]=t;f[v+(m*20|0)+8>>2]=k;f[v+(m*20|0)+12>>2]=l;f[v+(m*20|0)+16>>2]=0;b[v+(m*20|0)+1>>0]=0}else tl(D,90,t,k,l)|0;k=f[(f[i>>2]|0)+64>>2]|0;if(k|0)f[k+(u<<2)>>2]=f[h>>2];if(p|0?(C=b[x>>0]|0,(C&255)<8):0){b[x>>0]=C+1<<24>>24;f[a+144+((C&255)<<2)>>2]=p}}c=f[c+24>>2]|0}while((c|0)!=0)}c=f[h>>2]|0;if((f[(f[i>>2]|0)+48>>2]|0)>(c|0)){f[h>>2]=c+1;D=f[D+88>>2]|0;b[D+(c*20|0)>>0]=12;d[D+(c*20|0)+2>>1]=0;f[D+(c*20|0)+4>>2]=e;f[D+(c*20|0)+8>>2]=g;f[D+(c*20|0)+12>>2]=0;f[D+(c*20|0)+16>>2]=0;b[D+(c*20|0)+1>>0]=0;return}else{tl(D,12,e,g,0)|0;return}}function No(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=f[a+8>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;g=sl(a)|0}n=a+19|0;h=b[n>>0]|0;if(!(h<<24>>24)){l=a+44|0;m=(f[l>>2]|0)+1|0;f[l>>2]=m}else{m=h+-1<<24>>24;b[n>>0]=m;m=f[a+144+((m&255)<<2)>>2]|0}k=g+136|0;h=f[k>>2]|0;l=g+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(h|0)){f[k>>2]=h+1;j=f[g+88>>2]|0;b[j+(h*20|0)>>0]=70;d[j+(h*20|0)+2>>1]=0;f[j+(h*20|0)+4>>2]=0;f[j+(h*20|0)+8>>2]=m;f[j+(h*20|0)+12>>2]=0;f[j+(h*20|0)+16>>2]=0;b[j+(h*20|0)+1>>0]=0}else tl(g,70,0,m,0)|0;h=f[k>>2]|0;i=h+2|0;if((f[(f[l>>2]|0)+48>>2]|0)>(h|0)){f[k>>2]=h+1;j=f[g+88>>2]|0;b[j+(h*20|0)>>0]=15;d[j+(h*20|0)+2>>1]=0;f[j+(h*20|0)+4>>2]=c;f[j+(h*20|0)+8>>2]=i;f[j+(h*20|0)+12>>2]=0;f[j+(h*20|0)+16>>2]=0;b[j+(h*20|0)+1>>0]=0}else tl(g,15,c,i,0)|0;i=f[38384+(e<<2)>>2]|0;h=f[k>>2]|0;j=h+2|0;if((f[(f[l>>2]|0)+48>>2]|0)>(h|0)){f[k>>2]=h+1;o=f[g+88>>2]|0;b[o+(h*20|0)>>0]=i;d[o+(h*20|0)+2>>1]=0;f[o+(h*20|0)+4>>2]=m;f[o+(h*20|0)+8>>2]=j;f[o+(h*20|0)+12>>2]=c;f[o+(h*20|0)+16>>2]=0;b[o+(h*20|0)+1>>0]=0}else tl(g,i,m,j,c)|0;h=f[k>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(h|0)){f[k>>2]=h+1;o=f[g+88>>2]|0;b[o+(h*20|0)>>0]=69;d[o+(h*20|0)+2>>1]=0;f[o+(h*20|0)+4>>2]=1;f[o+(h*20|0)+8>>2]=2;f[o+(h*20|0)+12>>2]=0;f[o+(h*20|0)+16>>2]=0;b[o+(h*20|0)+1>>0]=0}else tl(g,69,1,2,0)|0;if(!(b[(f[g>>2]|0)+81>>0]|0)){c=f[38396+(e<<2)>>2]|0;e=f[g+88>>2]|0;o=(f[k>>2]|0)+-1|0;b[e+(o*20|0)+1>>0]=-1;f[e+(o*20|0)+16>>2]=c}if(!m)return;g=b[n>>0]|0;if((g&255)>=8)return;b[n>>0]=g+1<<24>>24;f[a+144+((g&255)<<2)>>2]=m;return}function Oo(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+64|0;j=o+8|0;i=o;e=o+16|0;if(!c){n=0;t=o;return n|0}n=c+4|0;if(f[n>>2]&1|0?(g=c+36|0,(f[a+4>>2]|0)==(d[g>>1]|0)):0)d[g>>1]=f[a+8>>2];switch(b[c>>0]|0){case -98:{if((f[c+28>>2]|0)==(f[a+4>>2]|0)){g=d[c+32>>1]|0;if(g<<16>>16<0){b[c>>0]=110;n=c;t=o;return n|0}l=f[(f[a+16>>2]|0)+4+((g<<16>>16)*20|0)>>2]|0;k=b[l>>0]|0;if(k<<24>>24==-92)g=b[l+38>>0]|0;else g=k;switch(g<<24>>24){case -91:{h=l+20|0;m=15;break}case 127:{h=f[l+20>>2]|0;m=15;break}default:{g=f[a>>2]|0;m=19}}do if((m|0)==15){g=f[a>>2]|0;if((f[f[h>>2]>>2]|0)>=2)if(!(f[l+4>>2]&2048)){ni(g,49666,j);break}else{f[i>>2]=f[f[f[l+20>>2]>>2]>>2];f[i+4>>2]=1;ni(g,54847,i);break}else m=19}while(0);if((m|0)==19){j=f[g>>2]|0;i=a+12|0;if(k<<24>>24==-98|(f[i>>2]|0)==0)if(!l)e=0;else{e=l;m=22}else{g=e;h=g+48|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[e>>0]=-89;f[e+12>>2]=l;f[e+28>>2]=f[a+8>>2];m=22}if((m|0)==22){e=Bk(j,e,0,0)|0;if(e){if(f[i>>2]|0){a=e+4|0;f[a>>2]=f[a>>2]|1048576}if(f[n>>2]&1){d[e+36>>1]=d[c+36>>1]|0;n=e+4|0;f[n>>2]=f[n>>2]|1}}else e=0}ig(j,c);c=e}n=c;t=o;return n|0}break}case -89:{e=c+28|0;if((f[e>>2]|0)==(f[a+4>>2]|0))f[e>>2]=f[a+8>>2];break}default:{}}e=c+12|0;m=Oo(a,f[e>>2]|0)|0;f[e>>2]=m;e=c+16|0;m=Oo(a,f[e>>2]|0)|0;f[e>>2]=m;e=c+20|0;if(f[n>>2]&2048|0){no(a,f[e>>2]|0,1);n=c;t=o;return n|0}g=f[e>>2]|0;if(!g){n=c;t=o;return n|0}if((f[g>>2]|0)<=0){n=c;t=o;return n|0}e=0;do{n=g+4+(e*20|0)|0;m=Oo(a,f[n>>2]|0)|0;f[n>>2]=m;e=e+1|0}while((e|0)<(f[g>>2]|0));t=o;return c|0}function Po(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;v=t;t=t+16|0;q=v;r=f[c+48>>2]|0;s=f[r>>2]|0;p=f[a>>2]|0;k=s+1|0;l=s+2|0;m=l*5|0;h=m+20|0;n=p+272|0;a:do if(f[n>>2]|0)if(!(b[p+81>>0]|0))i=11;else{u=0;t=v;return u|0}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){g=p+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];o=p+284|0;f[o>>2]=(f[o>>2]|0)+1;break a}g=p+296|0;e=f[g>>2]|0;if(!e){e=p+292|0;break}else{f[g>>2]=f[e>>2];o=p+284|0;f[o>>2]=(f[o>>2]|0)+1;break a}}else e=p+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;i=11}while(0);if((i|0)==11)e=Dc(p,h,0)|0;if(!e){g=p+81|0;if((b[g>>0]|0)==0?(b[p+82>>0]|0)==0:0){b[g>>0]=1;if((f[p+180>>2]|0)>0)f[p+264>>2]=1;f[n>>2]=(f[n>>2]|0)+1}if(!e){u=0;t=v;return u|0}}else{f[e+16>>2]=e+20+(l<<2);d[e+6>>1]=k;d[e+8>>1]=l;b[e+4>>0]=b[p+78>>0]|0;f[e+12>>2]=p;f[e>>2]=1;_A(e+24|0,0,m+-4|0)|0}if((s|0)<=0){u=e;t=v;return u|0}o=e+16|0;m=p+8|0;n=q+4|0;l=0;do{k=r+4+(l*20|0)|0;h=f[k>>2]|0;if(!(f[h+4>>2]&256)){g=so(a,c,(j[r+4+(l*20|0)+16>>1]|0)+-1|0)|0;if(!g)g=f[m>>2]|0;i=f[g>>2]|0;f[q>>2]=i;if(i){p=(wz(i)|0)&1073741823;f[n>>2]=p;if((p|0)!=0?(u=Dk(f[a>>2]|0,102,q,0)|0,(u|0)!=0):0){f[u+12>>2]=h;h=u+4|0;f[h>>2]=f[h>>2]|4352;h=u}}else f[n>>2]=0;f[k>>2]=h}else g=Zk(a,h)|0;f[e+20+(l<<2)>>2]=g;b[(f[o>>2]|0)+l>>0]=b[r+4+(l*20|0)+12>>0]|0;l=l+1|0}while((l|0)!=(s|0));t=v;return e|0}function Qo(a,c,e,g,h,i,k,l){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;A=a+8|0;G=f[A>>2]|0;E=G+136|0;F=f[E>>2]|0;C=G+12|0;m=f[C>>2]|0;s=m+60|0;D=f[s>>2]|0;f[s>>2]=D+1;s=m+64|0;if(!(D+-1&D)){q=D<<3|4;r=f[m>>2]|0;m=f[s>>2]|0;a:do if(m){o=m;p=r+304|0;if(((f[p>>2]|0)>>>0<=o>>>0?(f[r+308>>2]|0)>>>0>o>>>0:0)?!(0<0|(0==0?(j[r+276>>1]|0)>>>0>>0:0)):0)break;n=Lc(r,m,q,0)|0;if(!n){if(f[r+480>>2]|0){Kc(r,m);m=0;break}if((f[p>>2]|0)>>>0<=o>>>0?(f[r+308>>2]|0)>>>0>o>>>0:0){v=r+300|0;f[m>>2]=f[v>>2];f[v>>2]=m;m=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);m=0;break}else{v=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);m=0;break}}else m=n}else{if(f[r+272>>2]|0){if(b[r+81>>0]|0){m=0;break}}else{do if(!(0<0|(0==0?(j[r+276>>1]|0)>>>0>>0:0))){n=r+300|0;m=f[n>>2]|0;if(m|0){f[n>>2]=f[m>>2];v=r+284|0;f[v>>2]=(f[v>>2]|0)+1;break a}n=r+296|0;m=f[n>>2]|0;if(!m){m=r+292|0;break}else{f[n>>2]=f[m>>2];v=r+284|0;f[v>>2]=(f[v>>2]|0)+1;break a}}else m=r+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1}m=Dc(r,q,0)|0}while(0);f[s>>2]=m}else m=f[s>>2]|0;if(m|0)f[m+(D<<2)>>2]=-1;v=~D;do if(i|0){m=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(m|0)){f[E>>2]=m+1;u=f[G+88>>2]|0;b[u+(m*20|0)>>0]=20;d[u+(m*20|0)+2>>1]=0;f[u+(m*20|0)+4>>2]=i;f[u+(m*20|0)+8>>2]=0;f[u+(m*20|0)+12>>2]=0;f[u+(m*20|0)+16>>2]=0;b[u+(m*20|0)+1>>0]=0}else m=tl(G,20,i,0,0)|0;s=e+8|0;n=f[s>>2]|0;u=i+1|0;t=e+12|0;o=f[t>>2]|0;r=(k|0)==0;if(!r)f[k>>2]=(f[k>>2]|0)+1;p=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(p|0)){f[E>>2]=p+1;q=f[G+88>>2]|0;b[q+(p*20|0)>>0]=87;d[q+(p*20|0)+2>>1]=0;f[q+(p*20|0)+4>>2]=n;f[q+(p*20|0)+8>>2]=u;f[q+(p*20|0)+12>>2]=o;f[q+(p*20|0)+16>>2]=0;b[q+(p*20|0)+1>>0]=0}else p=tl(G,87,n,u,o)|0;n=f[G>>2]|0;do if(!(b[n+81>>0]|0)){if((p|0)<0)n=(f[E>>2]|0)+-1|0;else n=p;o=f[G+88>>2]|0;q=o+(n*20|0)+1|0;if(b[q>>0]|0){ul(G,o+(n*20|0)|0,k,-9);break}if(!r){f[o+(n*20|0)+16>>2]=k;b[q>>0]=-9}}else if(!(r|(f[n+480>>2]|0)!=0)?(r=(f[k>>2]|0)+-1|0,f[k>>2]=r,(r|0)==0):0){n=f[k+12>>2]|0;if(n|0){if(f[n+480>>2]|0){Kc(n,k);break}r=k;if((f[n+304>>2]|0)>>>0<=r>>>0?(f[n+308>>2]|0)>>>0>r>>>0:0){r=n+300|0;f[k>>2]=f[r>>2];f[r>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{r=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);n=p+2|0;o=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(o|0)){f[E>>2]=o+1;k=f[G+88>>2]|0;b[k+(o*20|0)>>0]=16;d[k+(o*20|0)+2>>1]=0;f[k+(o*20|0)+4>>2]=n;f[k+(o*20|0)+8>>2]=v;f[k+(o*20|0)+12>>2]=n;f[k+(o*20|0)+16>>2]=0;b[k+(o*20|0)+1>>0]=0}else tl(G,16,n,v,n)|0;o=f[E>>2]|0;if(!(b[(f[G>>2]|0)+81>>0]|0))m=(f[G+88>>2]|0)+(((m|0)<0?o+-1|0:m)*20|0)|0;else m=72144;f[m+8>>2]=o;n=f[s>>2]|0;m=(f[t>>2]|0)+-1|0;if((f[(f[C>>2]|0)+48>>2]|0)>(o|0)){f[E>>2]=o+1;k=f[G+88>>2]|0;b[k+(o*20|0)>>0]=78;d[k+(o*20|0)+2>>1]=0;f[k+(o*20|0)+4>>2]=n;f[k+(o*20|0)+8>>2]=u;f[k+(o*20|0)+12>>2]=m;f[k+(o*20|0)+16>>2]=0;b[k+(o*20|0)+1>>0]=0}else tl(G,78,n,u,m)|0;m=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(m|0)){f[E>>2]=m+1;k=f[G+88>>2]|0;b[k+(m*20|0)>>0]=70;d[k+(m*20|0)+2>>1]=0;f[k+(m*20|0)+4>>2]=1;f[k+(m*20|0)+8>>2]=i;f[k+(m*20|0)+12>>2]=0;f[k+(m*20|0)+16>>2]=0;b[k+(m*20|0)+1>>0]=0;break}else{tl(G,70,1,i,0)|0;break}}while(0);if(b[(f[a>>2]|0)+81>>0]|0){G=0;return G|0}m=f[c+16>>2]|0;do if((m|0)>0){n=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(n|0)){f[E>>2]=n+1;i=f[G+88>>2]|0;b[i+(n*20|0)>>0]=47;d[i+(n*20|0)+2>>1]=0;f[i+(n*20|0)+4>>2]=m;f[i+(n*20|0)+8>>2]=v;f[i+(n*20|0)+12>>2]=1;f[i+(n*20|0)+16>>2]=0;b[i+(n*20|0)+1>>0]=0;break}else{tl(G,47,m,v,1)|0;break}}while(0);b:do switch(b[g>>0]|0){case 12:{r=a+19|0;n=b[r>>0]|0;if(n<<24>>24){B=n+-1<<24>>24;b[r>>0]=B;m=f[a+144+((B&255)<<2)>>2]|0;if(!(B<<24>>24))w=77;else{q=n+-2<<24>>24;b[r>>0]=q;p=m;q=f[a+144+((q&255)<<2)>>2]|0}}else{w=a+44|0;m=(f[w>>2]|0)+1|0;f[w>>2]=m;w=77}if((w|0)==77){p=a+44|0;q=(f[p>>2]|0)+1|0;f[p>>2]=q;p=m}o=f[e+8>>2]|0;m=f[e+12>>2]|0;n=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(n|0)){f[E>>2]=n+1;e=f[G+88>>2]|0;b[e+(n*20|0)>>0]=102;d[e+(n*20|0)+2>>1]=0;f[e+(n*20|0)+4>>2]=o;f[e+(n*20|0)+8>>2]=m;f[e+(n*20|0)+12>>2]=p;f[e+(n*20|0)+16>>2]=0;b[e+(n*20|0)+1>>0]=0}else tl(G,102,o,m,p)|0;m=g+4|0;n=f[m>>2]|0;o=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(o|0)){f[E>>2]=o+1;g=f[G+88>>2]|0;b[g+(o*20|0)>>0]=121;d[g+(o*20|0)+2>>1]=0;f[g+(o*20|0)+4>>2]=n;f[g+(o*20|0)+8>>2]=q;f[g+(o*20|0)+12>>2]=0;f[g+(o*20|0)+16>>2]=0;b[g+(o*20|0)+1>>0]=0}else tl(G,121,n,q,0)|0;m=f[m>>2]|0;n=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(n|0)){f[E>>2]=n+1;g=f[G+88>>2]|0;b[g+(n*20|0)>>0]=122;d[g+(n*20|0)+2>>1]=0;f[g+(n*20|0)+4>>2]=m;f[g+(n*20|0)+8>>2]=p;f[g+(n*20|0)+12>>2]=q;f[g+(n*20|0)+16>>2]=0;b[g+(n*20|0)+1>>0]=0}else tl(G,122,m,p,q)|0;m=f[E>>2]|0;if((m|0)>0)d[(f[G+88>>2]|0)+((m+-1|0)*20|0)+2>>1]=8;if(q|0?(y=b[r>>0]|0,(y&255)<8):0){b[r>>0]=y+1<<24>>24;f[a+144+((y&255)<<2)>>2]=q}if(p|0?(z=b[r>>0]|0,(z&255)<8):0){b[r>>0]=z+1<<24>>24;f[a+144+((z&255)<<2)>>2]=p}break}case 11:{u=a+19|0;m=b[u>>0]|0;if(!(m<<24>>24)){A=a+44|0;t=(f[A>>2]|0)+1|0;f[A>>2]=t}else{t=m+-1<<24>>24;b[u>>0]=t;t=f[a+144+((t&255)<<2)>>2]|0}r=e+8|0;n=f[r>>2]|0;s=e+12|0;p=f[s>>2]|0;q=f[g+16>>2]|0;m=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(m|0)){f[E>>2]=m+1;e=f[G+88>>2]|0;b[e+(m*20|0)>>0]=102;d[e+(m*20|0)+2>>1]=0;f[e+(m*20|0)+4>>2]=n;f[e+(m*20|0)+8>>2]=p;f[e+(m*20|0)+12>>2]=t;f[e+(m*20|0)+16>>2]=0;b[e+(m*20|0)+1>>0]=0}else m=tl(G,102,n,p,t)|0;n=f[G>>2]|0;do if(b[n+81>>0]|0){if((p|0)!=-12)qg(n,p,q)}else{if((m|0)<0)m=(f[E>>2]|0)+-1|0;n=f[G+88>>2]|0;o=n+(m*20|0)|0;if((p|0)<=-1?(x=n+(m*20|0)+1|0,(b[x>>0]|0)==0):0){if((p|0)==-3){f[n+(m*20|0)+16>>2]=q;b[x>>0]=-3;break}if(!q)break;f[n+(m*20|0)+16>>2]=q;b[x>>0]=p;if((p|0)!=-12)break;e=q+12|0;f[e>>2]=(f[e>>2]|0)+1;break}ul(G,o,q,p)}while(0);p=f[g+4>>2]|0;n=f[r>>2]|0;o=f[s>>2]|0;m=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(m|0)){f[E>>2]=m+1;g=f[G+88>>2]|0;b[g+(m*20|0)>>0]=-123;d[g+(m*20|0)+2>>1]=0;f[g+(m*20|0)+4>>2]=p;f[g+(m*20|0)+8>>2]=t;f[g+(m*20|0)+12>>2]=n;f[g+(m*20|0)+16>>2]=0;b[g+(m*20|0)+1>>0]=0}else m=tl(G,133,p,t,n)|0;if(!(b[(f[G>>2]|0)+81>>0]|0)){g=f[G+88>>2]|0;b[g+(m*20|0)+1>>0]=-3;f[g+(m*20|0)+16>>2]=o}if(t|0?(B=b[u>>0]|0,(B&255)<8):0){b[u>>0]=B+1<<24>>24;f[a+144+((B&255)<<2)>>2]=t}break}case 10:{q=f[e+8>>2]|0;p=f[g+4>>2]|0;m=f[A>>2]|0;n=m+136|0;o=f[n>>2]|0;if((f[(f[m+12>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;a=f[m+88>>2]|0;b[a+(o*20|0)>>0]=77;d[a+(o*20|0)+2>>1]=0;f[a+(o*20|0)+4>>2]=q;f[a+(o*20|0)+8>>2]=p;f[a+(o*20|0)+12>>2]=1;f[a+(o*20|0)+16>>2]=0;b[a+(o*20|0)+1>>0]=0;break b}else{tl(m,77,q,p,1)|0;break b}}case 13:{r=g+8|0;m=f[r>>2]|0;s=e+12|0;if(!m){q=f[s>>2]|0;do if((q|0)==1){m=a+19|0;n=b[m>>0]|0;if(!(n<<24>>24)){a=a+44|0;m=(f[a>>2]|0)+1|0;f[a>>2]=m;break}else{B=n+-1<<24>>24;b[m>>0]=B;m=f[a+144+((B&255)<<2)>>2]|0;break}}else{n=a+32|0;m=f[n>>2]|0;o=a+28|0;p=f[o>>2]|0;if((p|0)<(q|0)){a=a+44|0;m=f[a>>2]|0;f[a>>2]=m+q;m=m+1|0;break}else{f[n>>2]=m+q;f[o>>2]=p-q;break}}while(0);f[r>>2]=m;f[g+12>>2]=q}r=f[e+8>>2]|0;q=f[s>>2]|0;n=f[A>>2]|0;o=n+136|0;p=f[o>>2]|0;if((f[(f[n+12>>2]|0)+48>>2]|0)>(p|0)){f[o>>2]=p+1;a=f[n+88>>2]|0;b[a+(p*20|0)>>0]=77;d[a+(p*20|0)+2>>1]=0;f[a+(p*20|0)+4>>2]=r;f[a+(p*20|0)+8>>2]=m;f[a+(p*20|0)+12>>2]=q;f[a+(p*20|0)+16>>2]=0;b[a+(p*20|0)+1>>0]=0}else tl(n,77,r,m,q)|0;m=f[g+4>>2]|0;n=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(n|0)){f[E>>2]=n+1;a=f[G+88>>2]|0;b[a+(n*20|0)>>0]=14;d[a+(n*20|0)+2>>1]=0;f[a+(n*20|0)+4>>2]=m;f[a+(n*20|0)+8>>2]=0;f[a+(n*20|0)+12>>2]=0;f[a+(n*20|0)+16>>2]=0;b[a+(n*20|0)+1>>0]=0;break b}else{tl(G,14,m,0,0)|0;break b}}default:{o=f[e+8>>2]|0;m=f[e+12>>2]|0;n=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(n|0)){f[E>>2]=n+1;a=f[G+88>>2]|0;b[a+(n*20|0)>>0]=81;d[a+(n*20|0)+2>>1]=0;f[a+(n*20|0)+4>>2]=o;f[a+(n*20|0)+8>>2]=m;f[a+(n*20|0)+12>>2]=0;f[a+(n*20|0)+16>>2]=0;b[a+(n*20|0)+1>>0]=0;break b}else{tl(G,81,o,m,0)|0;break b}}}while(0);m=f[c+12>>2]|0;do if(m|0){n=f[E>>2]|0;if((f[(f[C>>2]|0)+48>>2]|0)>(n|0)){f[E>>2]=n+1;c=f[G+88>>2]|0;b[c+(n*20|0)>>0]=49;d[c+(n*20|0)+2>>1]=0;f[c+(n*20|0)+4>>2]=m;f[c+(n*20|0)+8>>2]=l;f[c+(n*20|0)+12>>2]=0;f[c+(n*20|0)+16>>2]=0;b[c+(n*20|0)+1>>0]=0;break}else{tl(G,49,m,l,0)|0;break}}while(0);n=f[C>>2]|0;m=f[n+64>>2]|0;if(m|0)f[m+(D<<2)>>2]=f[E>>2];m=f[E>>2]|0;if((f[n+48>>2]|0)>(m|0)){f[E>>2]=m+1;G=f[G+88>>2]|0;b[G+(m*20|0)>>0]=66;d[G+(m*20|0)+2>>1]=0;f[G+(m*20|0)+4>>2]=h;f[G+(m*20|0)+8>>2]=0;f[G+(m*20|0)+12>>2]=0;f[G+(m*20|0)+16>>2]=0;b[G+(m*20|0)+1>>0]=0;G=F;return G|0}else{tl(G,66,h,0,0)|0;G=F;return G|0}return 0}function Ro(a,c,e,g,h,i,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;C=a+8|0;I=f[C>>2]|0;D=c+32|0;s=b[D>>0]&1;u=s<<24>>24==0;s=(s^1)&255;A=f[f[c>>2]>>2]|0;G=A+s+i|0;B=c+4|0;H=f[B>>2]|0;t=(k|0)==0;if(t){F=a+44|0;E=f[F>>2]|0;f[F>>2]=E+G;E=E+1|0}else E=g-k|0;k=f[e+16>>2]|0;if(!k)z=f[e+12>>2]|0;else z=k+1|0;F=I+12|0;k=f[F>>2]|0;q=k+60|0;r=f[q>>2]|0;f[q>>2]=r+1;q=k+64|0;if(!(r+-1&r)){o=r<<3|4;p=f[k>>2]|0;k=f[q>>2]|0;a:do if(k){m=k;n=p+304|0;if(((f[n>>2]|0)>>>0<=m>>>0?(f[p+308>>2]|0)>>>0>m>>>0:0)?!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0)):0)break;l=Lc(p,k,o,0)|0;if(!l){if(f[p+480>>2]|0){Kc(p,k);k=0;break}if((f[n>>2]|0)>>>0<=m>>>0?(f[p+308>>2]|0)>>>0>m>>>0:0){y=p+300|0;f[k>>2]=f[y>>2];f[y>>2]=k;k=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);k=0;break}else{y=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);k=0;break}}else k=l}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){k=0;break}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){l=p+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];y=p+284|0;f[y>>2]=(f[y>>2]|0)+1;break a}l=p+296|0;k=f[l>>2]|0;if(!k){k=p+292|0;break}else{f[l>>2]=f[k>>2];y=p+284|0;f[y>>2]=(f[y>>2]|0)+1;break a}}else k=p+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(p,o,0)|0}while(0);f[q>>2]=k}else k=f[q>>2]|0;if(k|0)f[k+(r<<2)>>2]=-1;y=c+24|0;f[y>>2]=~r;Jo(a,f[c>>2]|0,E,h,(h|0)==0?1:5);do if(u){k=f[c+8>>2]|0;l=E+A|0;m=I+136|0;n=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;x=f[I+88>>2]|0;b[x+(n*20|0)>>0]=120;d[x+(n*20|0)+2>>1]=0;f[x+(n*20|0)+4>>2]=k;f[x+(n*20|0)+8>>2]=l;f[x+(n*20|0)+12>>2]=0;f[x+(n*20|0)+16>>2]=0;b[x+(n*20|0)+1>>0]=0;break}else{tl(I,120,k,l,0)|0;break}}while(0);do if((i|0)>0&t){l=E+A+s|0;k=f[C>>2]|0;m=k+136|0;n=f[m>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;x=f[k+88>>2]|0;b[x+(n*20|0)>>0]=77;d[x+(n*20|0)+2>>1]=0;f[x+(n*20|0)+4>>2]=g;f[x+(n*20|0)+8>>2]=l;f[x+(n*20|0)+12>>2]=i;f[x+(n*20|0)+16>>2]=0;b[x+(n*20|0)+1>>0]=0;break}else{tl(k,77,g,l,i)|0;break}}while(0);if((H|0)>0){l=f[B>>2]|0;o=f[C>>2]|0;v=a+44|0;p=(f[v>>2]|0)+1|0;f[v>>2]=p;k=f[c+36>>2]|0;if(k|0)Jo(a,f[e>>2]|0,f[k>>2]|0,0,b[k+4>>0]|0);n=l+E|0;k=G-l|0;l=o+136|0;m=f[l>>2]|0;if((f[(f[o+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;x=f[o+88>>2]|0;b[x+(m*20|0)>>0]=102;d[x+(m*20|0)+2>>1]=0;f[x+(m*20|0)+4>>2]=n;f[x+(m*20|0)+8>>2]=k;f[x+(m*20|0)+12>>2]=p;f[x+(m*20|0)+16>>2]=0;b[x+(m*20|0)+1>>0]=0}else tl(o,102,n,k,p)|0;i=f[v>>2]|0;x=i+1|0;n=f[B>>2]|0;f[v>>2]=n+i;do if(u){k=E+A|0;m=I+136|0;l=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;i=f[I+88>>2]|0;b[i+(l*20|0)>>0]=20;d[i+(l*20|0)+2>>1]=0;f[i+(l*20|0)+4>>2]=k;f[i+(l*20|0)+8>>2]=0;f[i+(l*20|0)+12>>2]=0;f[i+(l*20|0)+16>>2]=0;b[i+(l*20|0)+1>>0]=0;i=l;u=m;break}else{i=tl(I,20,k,0,0)|0;u=m;break}}else{k=f[c+8>>2]|0;m=I+136|0;l=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;i=f[I+88>>2]|0;b[i+(l*20|0)>>0]=115;d[i+(l*20|0)+2>>1]=0;f[i+(l*20|0)+4>>2]=k;f[i+(l*20|0)+8>>2]=0;f[i+(l*20|0)+12>>2]=0;f[i+(l*20|0)+16>>2]=0;b[i+(l*20|0)+1>>0]=0;i=l;u=m;break}else{i=tl(I,115,k,0,0)|0;u=m;break}}while(0);k=f[B>>2]|0;l=f[u>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[u>>2]=l+1;g=f[I+88>>2]|0;b[g+(l*20|0)>>0]=87;d[g+(l*20|0)+2>>1]=0;f[g+(l*20|0)+4>>2]=x;f[g+(l*20|0)+8>>2]=E;f[g+(l*20|0)+12>>2]=k;f[g+(l*20|0)+16>>2]=0;b[g+(l*20|0)+1>>0]=0}else tl(I,87,x,E,k)|0;k=f[c+20>>2]|0;if((k|0)<0)k=(f[u>>2]|0)+-1|0;if(!(b[(f[I>>2]|0)+81>>0]|0))k=(f[I+88>>2]|0)+(k*20|0)|0;else k=72144;if(b[(f[a>>2]|0)+81>>0]|0)return;f[k+8>>2]=G-n;g=k+16|0;n=f[g>>2]|0;o=n+6|0;_A(f[n+16>>2]|0,0,j[o>>1]|0)|0;k=f[I>>2]|0;b:do if(!(b[k+81>>0]|0)){k=(f[u>>2]|0)+-1|0;l=f[I+88>>2]|0;m=l+(k*20|0)+1|0;if(b[m>>0]|0){ul(I,l+(k*20|0)|0,n,-9);break}if(n|0){f[l+(k*20|0)+16>>2]=n;b[m>>0]=-9}}else if(!((n|0)==0|(f[k+480>>2]|0)!=0)?(t=(f[n>>2]|0)+-1|0,f[n>>2]=t,(t|0)==0):0){k=f[n+12>>2]|0;do if(k|0){if(f[k+480>>2]|0){Kc(k,n);break b}l=n;if((f[k+304>>2]|0)>>>0>l>>>0)break;if((f[k+308>>2]|0)>>>0<=l>>>0)break;t=k+300|0;f[n>>2]=f[t>>2];f[t>>2]=n;break b}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{t=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);s=f[c>>2]|0;h=f[a>>2]|0;t=f[s>>2]|0;r=t-H|0;n=r+((j[n+8>>1]|0)-(j[o>>1]|0))|0;o=n*5|0;m=o+20|0;q=h+272|0;c:do if(f[q>>2]|0)if(!(b[h+81>>0]|0))w=91;else k=0;else{do if(!(0<0|(0==0?(j[h+276>>1]|0)>>>0>>0:0))){l=h+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];w=h+284|0;f[w>>2]=(f[w>>2]|0)+1;w=92;break c}l=h+296|0;k=f[l>>2]|0;if(!k){k=h+292|0;break}else{f[l>>2]=f[k>>2];w=h+284|0;f[w>>2]=(f[w>>2]|0)+1;w=92;break c}}else k=h+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;w=91}while(0);if((w|0)==91){k=Dc(h,m,0)|0;w=92}if((w|0)==92){do if(!k){l=h+81|0;if(b[l>>0]|0)break;if(b[h+82>>0]|0)break;b[l>>0]=1;if((f[h+180>>2]|0)>0)f[h+264>>2]=1;f[q>>2]=(f[q>>2]|0)+1}else{f[k+16>>2]=k+20+(n<<2);d[k+6>>1]=r;d[k+8>>1]=n;b[k+4>>0]=b[h+78>>0]|0;f[k+12>>2]=h;f[k>>2]=1;_A(k+24|0,0,o+-4|0)|0}while(0);if((t|0)>(H|0)&(k|0)!=0){o=k+16|0;m=s+4+(H*20|0)|0;n=H;while(1){l=Zk(a,f[m>>2]|0)|0;if(!l)l=f[(f[a>>2]|0)+8>>2]|0;w=n-H|0;f[k+20+(w<<2)>>2]=l;b[(f[o>>2]|0)+w>>0]=b[m+12>>0]|0;n=n+1|0;if((n|0)==(t|0))break;else m=m+20|0}}}f[g>>2]=k;s=f[u>>2]|0;k=s+1|0;if((f[(f[F>>2]|0)+48>>2]|0)>(s|0)){f[u>>2]=k;w=f[I+88>>2]|0;b[w+(s*20|0)>>0]=16;d[w+(s*20|0)+2>>1]=0;f[w+(s*20|0)+4>>2]=k;f[w+(s*20|0)+8>>2]=0;f[w+(s*20|0)+12>>2]=k;f[w+(s*20|0)+16>>2]=0;b[w+(s*20|0)+1>>0]=0}else tl(I,16,k,0,k)|0;k=f[F>>2]|0;r=k+60|0;h=f[r>>2]|0;f[r>>2]=h+1;r=k+64|0;if(!(h+-1&h)){o=h<<3|4;q=f[k>>2]|0;k=f[r>>2]|0;d:do if(k){m=k;n=q+304|0;do if((f[n>>2]|0)>>>0<=m>>>0){if((f[q+308>>2]|0)>>>0<=m>>>0)break;if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0)))break d}while(0);l=Lc(q,k,o,0)|0;if(l|0){k=l;break}if(f[q+480>>2]|0){Kc(q,k);k=0;break}do if((f[n>>2]|0)>>>0<=m>>>0){if((f[q+308>>2]|0)>>>0<=m>>>0)break;w=q+300|0;f[k>>2]=f[w>>2];f[w>>2]=k;k=0;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);k=0;break}else{w=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);k=0;break}}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){k=0;break}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){l=q+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];w=q+284|0;f[w>>2]=(f[w>>2]|0)+1;break d}l=q+296|0;k=f[l>>2]|0;if(!k){k=q+292|0;break}else{f[l>>2]=f[k>>2];w=q+284|0;f[w>>2]=(f[w>>2]|0)+1;break d}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(q,o,0)|0}while(0);f[r>>2]=k}else k=f[r>>2]|0;if(k|0)f[k+(h<<2)>>2]=-1;l=~h;f[c+16>>2]=l;m=(f[v>>2]|0)+1|0;f[v>>2]=m;f[c+12>>2]=m;k=f[u>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(k|0)){f[u>>2]=k+1;w=f[I+88>>2]|0;b[w+(k*20|0)>>0]=12;d[w+(k*20|0)+2>>1]=0;f[w+(k*20|0)+4>>2]=m;f[w+(k*20|0)+8>>2]=l;f[w+(k*20|0)+12>>2]=0;f[w+(k*20|0)+16>>2]=0;b[w+(k*20|0)+1>>0]=0}else tl(I,12,m,l,0)|0;k=f[c+8>>2]|0;l=f[u>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[u>>2]=l+1;w=f[I+88>>2]|0;b[w+(l*20|0)>>0]=-117;d[w+(l*20|0)+2>>1]=0;f[w+(l*20|0)+4>>2]=k;f[w+(l*20|0)+8>>2]=0;f[w+(l*20|0)+12>>2]=0;f[w+(l*20|0)+16>>2]=0;b[w+(l*20|0)+1>>0]=0}else tl(I,139,k,0,0)|0;do if(z|0){k=f[y>>2]|0;l=f[u>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[u>>2]=l+1;y=f[I+88>>2]|0;b[y+(l*20|0)>>0]=20;d[y+(l*20|0)+2>>1]=0;f[y+(l*20|0)+4>>2]=z;f[y+(l*20|0)+8>>2]=k;f[y+(l*20|0)+12>>2]=0;f[y+(l*20|0)+16>>2]=0;b[y+(l*20|0)+1>>0]=0;break}else{tl(I,20,z,k,0)|0;break}}while(0);l=f[u>>2]|0;if(!(b[(f[I>>2]|0)+81>>0]|0))k=(f[I+88>>2]|0)+(((i|0)<0?l+-1|0:i)*20|0)|0;else k=72144;f[k+8>>2]=l;l=f[B>>2]|0;k=f[C>>2]|0;m=k+136|0;n=f[m>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;y=f[k+88>>2]|0;b[y+(n*20|0)>>0]=77;d[y+(n*20|0)+2>>1]=0;f[y+(n*20|0)+4>>2]=E;f[y+(n*20|0)+8>>2]=x;f[y+(n*20|0)+12>>2]=l;f[y+(n*20|0)+16>>2]=0;b[y+(n*20|0)+1>>0]=0}else tl(k,77,E,x,l)|0;l=f[u>>2]|0;if(!(b[(f[I>>2]|0)+81>>0]|0))k=(f[I+88>>2]|0)+(((s|0)<0?l+-1|0:s)*20|0)|0;else k=72144;f[k+8>>2]=l}else p=0;do if(z){n=f[c+8>>2]|0;m=I+136|0;k=f[m>>2]|0;l=k+4|0;if((f[(f[F>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;y=f[I+88>>2]|0;b[y+(k*20|0)>>0]=48;d[y+(k*20|0)+2>>1]=0;f[y+(k*20|0)+4>>2]=z;f[y+(k*20|0)+8>>2]=l;f[y+(k*20|0)+12>>2]=0;f[y+(k*20|0)+16>>2]=0;b[y+(k*20|0)+1>>0]=0}else tl(I,48,z,l,0)|0;k=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;z=f[I+88>>2]|0;b[z+(k*20|0)>>0]=32;d[z+(k*20|0)+2>>1]=0;f[z+(k*20|0)+4>>2]=n;f[z+(k*20|0)+8>>2]=0;f[z+(k*20|0)+12>>2]=0;f[z+(k*20|0)+16>>2]=0;b[z+(k*20|0)+1>>0]=0}else tl(I,32,n,0,0)|0;l=E+H|0;k=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;z=f[I+88>>2]|0;b[z+(k*20|0)>>0]=37;d[z+(k*20|0)+2>>1]=0;f[z+(k*20|0)+4>>2]=n;f[z+(k*20|0)+8>>2]=0;f[z+(k*20|0)+12>>2]=l;f[z+(k*20|0)+16>>2]=0;b[z+(k*20|0)+1>>0]=0}else k=tl(I,37,n,0,l)|0;if(!(b[(f[I>>2]|0)+81>>0]|0)){z=f[I+88>>2]|0;b[z+(k*20|0)+1>>0]=-3;f[z+(k*20|0)+16>>2]=A-H}l=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;A=f[I+88>>2]|0;b[A+(l*20|0)>>0]=124;d[A+(l*20|0)+2>>1]=0;f[A+(l*20|0)+4>>2]=n;f[A+(l*20|0)+8>>2]=0;f[A+(l*20|0)+12>>2]=0;f[A+(l*20|0)+16>>2]=0;b[A+(l*20|0)+1>>0]=0;break}else{tl(I,124,n,0,0)|0;break}}else k=0;while(0);do if(!p){m=f[B>>2]|0;q=f[C>>2]|0;l=a+44|0;p=(f[l>>2]|0)+1|0;f[l>>2]=p;l=f[c+36>>2]|0;if(l|0)Jo(a,f[e>>2]|0,f[l>>2]|0,0,b[l+4>>0]|0);o=m+E|0;l=G-m|0;m=q+136|0;n=f[m>>2]|0;if((f[(f[q+12>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;e=f[q+88>>2]|0;b[e+(n*20|0)>>0]=102;d[e+(n*20|0)+2>>1]=0;f[e+(n*20|0)+4>>2]=o;f[e+(n*20|0)+8>>2]=l;f[e+(n*20|0)+12>>2]=p;f[e+(n*20|0)+16>>2]=0;b[e+(n*20|0)+1>>0]=0;break}else{tl(q,102,o,l,p)|0;break}}while(0);n=133-(b[D>>0]&1)|0;o=f[c+8>>2]|0;m=E+H|0;q=I+136|0;l=f[q>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[q>>2]=l+1;F=f[I+88>>2]|0;b[F+(l*20|0)>>0]=n;d[F+(l*20|0)+2>>1]=0;f[F+(l*20|0)+4>>2]=o;f[F+(l*20|0)+8>>2]=p;f[F+(l*20|0)+12>>2]=m;f[F+(l*20|0)+16>>2]=0;b[F+(l*20|0)+1>>0]=0}else l=tl(I,n,o,p,m)|0;if(!(b[(f[I>>2]|0)+81>>0]|0)){F=f[I+88>>2]|0;b[F+(l*20|0)+1>>0]=-3;f[F+(l*20|0)+16>>2]=G-H}if(!k)return;l=f[c+28>>2]|0;if(!l){l=f[q>>2]|0;if(!(b[(f[I>>2]|0)+81>>0]|0))k=(f[I+88>>2]|0)+(((k|0)<0?l+-1|0:k)*20|0)|0;else k=72144;f[k+8>>2]=l;return}if((k|0)<0)k=(f[q>>2]|0)+-1|0;if(!(b[(f[I>>2]|0)+81>>0]|0))k=(f[I+88>>2]|0)+(k*20|0)|0;else k=72144;f[k+8>>2]=l;return}function So(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+32|0;y=D+16|0;w=D+8|0;m=D;l=D+28|0;B=f[a>>2]|0;C=B+16|0;v=f[C>>2]|0;A=a+8|0;i=f[A>>2]|0;j=a+116|0;if(!i){if((f[j>>2]|0)==0?(d[B+76>>1]&8)==0:0)b[a+23>>0]=1;z=sl(a)|0}else z=i;q=f[j>>2]|0;q=(q|0)==0?a:q;i=q+84|0;j=f[i>>2]|0;p=1<>2]=j|p,(e|0)==1):0)?(s=f[q>>2]|0,k=s+16|0,(f[(f[k>>2]|0)+20>>2]|0)==0):0)?(b[q+195>>0]|0)==0:0){i=cj(f[s>>2]|0,0,s,l,0,542)|0;if(i|0){ni(q,51535,m);f[q+12>>2]=i;break}n=f[l>>2]|0;f[(f[k>>2]|0)+20>>2]=n;i=f[s+92>>2]|0;k=f[n+4>>2]|0;f[k+4>>2]=f[n>>2];if(!(d[k+22>>1]&2)){l=k+32|0;m=k+36|0;n=(f[l>>2]|0)-(f[m>>2]|0)|0;if(((i+-512|0)>>>0<65025?(i+-1&i|0)==0:0)?(f[l>>2]=i,r=k+80|0,o=f[r>>2]|0,o|0):0){j=o+-4|0;f[r>>2]=j;i=j;do if((f[18022]|0)>>>0<=i>>>0)if((f[18023]|0)>>>0>i>>>0){f[18188]=(f[18188]|0)+-1;f[j>>2]=f[18025];f[18025]=j;o=(f[18026]|0)+1|0;f[18026]=o;f[18027]=(o|0)<(f[18021]|0)&1;break}else{i=ib[f[37368>>2]&255](j)|0;x=21;break}else{i=ib[f[37368>>2]&255](j)|0;x=21}while(0);do if((x|0)==21){f[18189]=(f[18189]|0)-i;if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{o=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);f[r>>2]=0}r=ih(f[k>>2]|0,l,n)|0;f[m>>2]=(f[l>>2]|0)-(n&65535);if((r|0)==7){i=s+81|0;if((b[i>>0]|0)==0?(b[s+82>>0]|0)==0:0){b[i>>0]=1;if((f[s+180>>2]|0)>0)f[s+264>>2]=1;s=s+272|0;f[s>>2]=(f[s>>2]|0)+1}break}}}while(0);s=q+80|0;f[s>>2]=f[s>>2]|p;q=q+20|0;b[q>>0]=b[q>>0]|1;q=c+56|0;do if(f[q>>2]|0){i=z+136|0;j=f[i>>2]|0;if((f[(f[z+12>>2]|0)+48>>2]|0)>(j|0)){f[i>>2]=j+1;i=f[z+88>>2]|0;b[i+(j*20|0)>>0]=-95;i=i+(j*20|0)+1|0;j=i+19|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(j|0));break}else{tl(z,161,0,0,0)|0;break}}while(0);i=f[(f[(f[a>>2]|0)+16>>2]|0)+28>>2]|0;do if(!(b[a+142>>0]|0)){p=f[c+72>>2]|0;if((p|0)!=(i|0)?(u=f[i+48>>2]|0,(u|0)!=0):0){o=c+68|0;n=u;i=0;do{m=f[n+8>>2]|0;if((f[m+24>>2]|0)==(p|0)){k=f[m+4>>2]|0;l=f[c>>2]|0;u=b[k>>0]|0;j=(h[1232+(u&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0;if(!(u<<24>>24==0|(j|0)!=0))do{k=k+1|0;l=l+1|0;u=b[k>>0]|0;j=(h[1232+(u&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(j|0)!=0));if(!j){if(!i)i=f[o>>2]|0;f[m+32>>2]=i;i=m}}n=f[n>>2]|0}while((n|0)!=0);if(!i)x=51}else x=51;if((x|0)==51){i=f[c+68>>2]|0;if(!i)break}do{$l(a,i);i=f[i+32>>2]|0}while((i|0)!=0)}while(0);i=v+(e<<4)|0;if(!(f[c+36>>2]&8))p=c;else{p=f[c>>2]|0;f[w>>2]=f[i>>2];f[w+4>>2]=p;Tl(a,57978,w);p=c}x=f[p>>2]|0;f[y>>2]=f[i>>2];f[y+4>>2]=43770;f[y+8>>2]=x;Tl(a,58023,y);a:do if(!g)if(!(f[q>>2]|0)){n=f[c+28>>2]|0;o=c+8|0;m=c+72|0;k=0;while(1){l=(k|0)==0;j=l|(n|0)<(k|0)?n:0;i=f[o>>2]|0;if(i)do{c=f[i+44>>2]|0;j=(c|0)>(j|0)&(l|(c|0)<(k|0))?c:j;i=f[i+20>>2]|0}while((i|0)!=0);if(!j){x=68;break a}k=f[m>>2]|0;if(!k)i=-1e6;else{l=f[(f[a>>2]|0)+16>>2]|0;i=0;while(1)if((f[l+(i<<4)+12>>2]|0)==(k|0))break;else i=i+1|0}Ul(a,j,i);k=j}}else x=70;else x=68;while(0);if((x|0)==68)if(!(f[q>>2]|0)){l=z+136|0;j=z+12|0}else x=70;if((x|0)==70){k=f[p>>2]|0;l=z+136|0;i=f[l>>2]|0;j=z+12|0;if((f[(f[j>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;c=f[z+88>>2]|0;b[c+(i*20|0)>>0]=-93;d[c+(i*20|0)+2>>1]=0;f[c+(i*20|0)+4>>2]=e;f[c+(i*20|0)+8>>2]=0;f[c+(i*20|0)+12>>2]=0;f[c+(i*20|0)+16>>2]=0;b[c+(i*20|0)+1>>0]=0}else i=tl(z,163,e,0,0)|0;if(!(b[(f[z>>2]|0)+81>>0]|0)){if((i|0)<0)i=(f[l>>2]|0)+-1|0;ul(z,(f[z+88>>2]|0)+(i*20|0)|0,k,0)}}k=f[p>>2]|0;i=f[l>>2]|0;if((f[(f[j>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;c=f[z+88>>2]|0;b[c+(i*20|0)>>0]=-111;d[c+(i*20|0)+2>>1]=0;f[c+(i*20|0)+4>>2]=e;f[c+(i*20|0)+8>>2]=0;f[c+(i*20|0)+12>>2]=0;f[c+(i*20|0)+16>>2]=0;b[c+(i*20|0)+1>>0]=0}else i=tl(z,145,e,0,0)|0;if(!(b[(f[z>>2]|0)+81>>0]|0)){if((i|0)<0)i=(f[l>>2]|0)+-1|0;ul(z,(f[z+88>>2]|0)+(i*20|0)|0,k,0)}l=f[A>>2]|0;i=(f[f[(f[(f[a>>2]|0)+16>>2]|0)+(e<<4)+12>>2]>>2]|0)+1|0;j=l+136|0;k=f[j>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(k|0)){f[j>>2]=k+1;a=f[l+88>>2]|0;b[a+(k*20|0)>>0]=107;d[a+(k*20|0)+2>>1]=0;f[a+(k*20|0)+4>>2]=e;f[a+(k*20|0)+8>>2]=1;f[a+(k*20|0)+12>>2]=i;f[a+(k*20|0)+16>>2]=0;b[a+(k*20|0)+1>>0]=0}else tl(l,107,e,1,i)|0;k=f[(f[C>>2]|0)+(e<<4)+12>>2]|0;j=k+78|0;i=d[j>>1]|0;if(!(i&2)){t=D;return}k=f[k+16>>2]|0;if(k){p=B+480|0;q=B+304|0;r=B+308|0;s=B+300|0;do{i=f[k+8>>2]|0;if(f[i+12>>2]|0){o=i+4|0;j=f[o>>2]|0;b:do if(j){i=i+42|0;if((d[i>>1]|0)>0){n=0;while(1){l=f[j>>2]|0;c:do if(l|0){if(f[p>>2]|0){Kc(B,l);break}m=l;do if((f[q>>2]|0)>>>0<=m>>>0){if((f[r>>2]|0)>>>0<=m>>>0)break;f[l>>2]=f[s>>2];f[s>>2]=l;break c}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{a=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);l=f[j+4>>2]|0;if(l|0)ig(B,l);l=f[j+8>>2]|0;d:do if(l|0){if(f[p>>2]|0){Kc(B,l);break}m=l;do if((f[q>>2]|0)>>>0<=m>>>0){if((f[r>>2]|0)>>>0<=m>>>0)break;f[l>>2]=f[s>>2];f[s>>2]=l;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{a=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);n=n+1|0;if((n|0)>=(d[i>>1]|0))break;else j=j+16|0}j=f[o>>2]|0}if(j){if(f[p>>2]|0){Kc(B,j);break}l=j;do if((f[q>>2]|0)>>>0<=l>>>0){if((f[r>>2]|0)>>>0<=l>>>0)break;f[j>>2]=f[s>>2];f[s>>2]=j;break b}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{a=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}}else i=i+42|0;while(0);f[o>>2]=0;d[i>>1]=0}k=f[k>>2]|0}while((k|0)!=0);i=(f[(f[C>>2]|0)+(e<<4)+12>>2]|0)+78|0;j=i;i=d[i>>1]|0}d[j>>1]=i&-3;t=D;return}function To(a){a=a|0;var b=0,c=0,e=0,g=0,i=0,k=0;i=f[(f[a+12>>2]|0)+4>>2]|0;b=d[a+52>>1]|0;if(!(b<<16>>16)){k=0;a=a+48|0;d[a>>1]=k;return}k=f[a+4>>2]|0;g=b&65535;c=0;e=0;do{b=d[k+(c<<1)>>1]|0;if(b<<16>>16<0)b=1;else b=h[i+(b<<16>>16<<4)+14>>0]|0;e=b+e|0;c=c+1|0}while(c>>>0>>0);b=e<<2;if(b>>>0>=8){if(b>>>0>255){e=40;c=0;do{e=(e&65535)+40|0;k=b;b=VA(b|0,c|0,4)|0;i=c;c=ba()|0}while(i>>>0>0|(i|0)==0&k>>>0>4095);e=e&65535}else{e=40;c=0}if(c>>>0>0|(c|0)==0&b>>>0>15)do{e=(e&65535)+10&65535;k=b;b=VA(b|0,c|0,1)|0;i=c;c=ba()|0}while(i>>>0>0|(i|0)==0&k>>>0>31)}else{if(!b){k=0;a=a+48|0;d[a>>1]=k;return}e=40;c=0;do{e=(e&65535)+65526|0;b=WA(b|0,c|0,1)|0;c=ba()|0}while(c>>>0<0|(c|0)==0&b>>>0<8);e=e&65535}k=(e&65535)+65526+(j[7936+((b&7)<<1)>>1]|0)&65535;a=a+48|0;d[a>>1]=k;return}function Uo(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+32|0;s=x+16|0;v=x+8|0;m=x;w=f[a+8>>2]|0;if(f[c+4>>2]&1024|0){k=f[c+8>>2]|0;k=(e|0)==0?k:0-k|0;c=w+136|0;i=f[c>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(i|0)){f[c>>2]=i+1;w=f[w+88>>2]|0;b[w+(i*20|0)>>0]=70;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=k;f[w+(i*20|0)+8>>2]=g;f[w+(i*20|0)+12>>2]=0;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0;t=x;return}else{tl(w,70,k,g,0)|0;t=x;return}}q=f[c+8>>2]|0;c=Wm(q,m)|0;r=(e|0)!=0;do if(!((c|0)==2|(r|(c|0)!=3)^1)?(n=m,l=f[n>>2]|0,n=f[n+4>>2]|0,!(r&((l|0)==0&(n|0)==-2147483648))):0){if(r){c=(c|0)==3;l=LA(0,0,l|0,n|0)|0;n=ba()|0;l=c?0:l;n=c?-2147483648:n;f[m>>2]=l;f[m+4>>2]=n}m=f[w>>2]|0;a:do if(f[m+272>>2]|0){if(!(b[m+81>>0]|0))u=68}else{do if((j[m+276>>1]|0)>=8){c=m+300|0;k=f[c>>2]|0;if(k|0){f[c>>2]=f[k>>2];u=m+284|0;f[u>>2]=(f[u>>2]|0)+1;u=69;break a}c=m+296|0;k=f[c>>2]|0;if(!k){c=m+292|0;break}else{f[c>>2]=f[k>>2];u=m+284|0;f[u>>2]=(f[u>>2]|0)+1;u=69;break a}}else c=m+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;u=68}while(0);if((u|0)==68){k=Dc(m,8,0)|0;u=69}if((u|0)==69?k|0:0){m=k;c=m;b[c>>0]=l;b[c+1>>0]=l>>8;b[c+2>>0]=l>>16;b[c+3>>0]=l>>24;m=m+4|0;b[m>>0]=n;b[m+1>>0]=n>>8;b[m+2>>0]=n>>16;b[m+3>>0]=n>>24;m=w+136|0;c=f[m>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(c|0)){f[m>>2]=c+1;n=f[w+88>>2]|0;b[n+(c*20|0)>>0]=71;d[n+(c*20|0)+2>>1]=0;f[n+(c*20|0)+4>>2]=0;f[n+(c*20|0)+8>>2]=g;f[n+(c*20|0)+12>>2]=0;f[n+(c*20|0)+16>>2]=0;b[n+(c*20|0)+1>>0]=0}else c=tl(w,71,0,g,0)|0;l=f[w>>2]|0;if(!(b[l+81>>0]|0)){if((c|0)<0)c=(f[m>>2]|0)+-1|0;l=f[w+88>>2]|0;m=l+(c*20|0)+1|0;if(!(b[m>>0]|0)){f[l+(c*20|0)+16>>2]=k;b[m>>0]=-14;break}else{ul(w,l+(c*20|0)|0,k,-14);break}}if(l|0){if(f[l+480>>2]|0){Kc(l,k);break}n=k;if((f[l+304>>2]|0)>>>0<=n>>>0?(f[l+308>>2]|0)>>>0>n>>>0:0){n=l+300|0;f[k>>2]=f[n>>2];f[n>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{n=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}k=w+136|0;c=f[k>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(c|0)){f[k>>2]=c+1;n=f[w+88>>2]|0;b[n+(c*20|0)>>0]=71;d[n+(c*20|0)+2>>1]=0;f[n+(c*20|0)+4>>2]=0;f[n+(c*20|0)+8>>2]=g;f[n+(c*20|0)+12>>2]=0;f[n+(c*20|0)+16>>2]=0;b[n+(c*20|0)+1>>0]=0}else c=tl(w,71,0,g,0)|0;if(!(b[(f[w>>2]|0)+81>>0]|0)){if((c|0)<0)c=(f[k>>2]|0)+-1|0;k=f[w+88>>2]|0;if(b[k+(c*20|0)+1>>0]|0)ul(w,k+(c*20|0)|0,0,-14)}}else u=7;while(0);do if((u|0)==7?q|0:0){k=b[q>>0]|0;do if(!(k<<24>>24)){c=59400;u=9}else{c=k&255;if(k<<24>>24==48){c=b[q+1>>0]|0;if(!(c<<24>>24)){c=59401;u=9;break}c=c&255;if((c|32|0)==120)break;else i=120}else i=48;o=h[1232+c>>0]|0;u=13}while(0);if((u|0)==9){o=0;i=b[1232+(h[c>>0]|0)>>0]|0;u=13}if((u|0)==13?(o|0)!=(i&255|0):0){jf(q,v,(wz(q)|0)&1073741823,1)|0;if(e|0)p[v>>3]=-+p[v>>3];k=f[w>>2]|0;b:do if(f[k+272>>2]|0)if(!(b[k+81>>0]|0))u=27;else u=47;else{do if((j[k+276>>1]|0)>=8){c=k+300|0;i=f[c>>2]|0;if(i|0){f[c>>2]=f[i>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=i;u=28;break b}c=k+296|0;i=f[c>>2]|0;if(!i){c=k+292|0;break}else{f[c>>2]=f[i>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=i;u=28;break b}}else c=k+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;u=27}while(0);if((u|0)==27){l=Dc(k,8,0)|0;u=28}do if((u|0)==28)if(l){c=v;s=f[c>>2]|0;c=f[c+4>>2]|0;k=l;v=k;b[v>>0]=s;b[v+1>>0]=s>>8;b[v+2>>0]=s>>16;b[v+3>>0]=s>>24;k=k+4|0;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;k=w+136|0;c=f[k>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(c|0)){f[k>>2]=c+1;v=f[w+88>>2]|0;b[v+(c*20|0)>>0]=-115;d[v+(c*20|0)+2>>1]=0;f[v+(c*20|0)+4>>2]=0;f[v+(c*20|0)+8>>2]=g;f[v+(c*20|0)+12>>2]=0;f[v+(c*20|0)+16>>2]=0;b[v+(c*20|0)+1>>0]=0}else c=tl(w,141,0,g,0)|0;i=f[w>>2]|0;if(!(b[i+81>>0]|0)){if((c|0)<0)c=(f[k>>2]|0)+-1|0;i=f[w+88>>2]|0;k=i+(c*20|0)+1|0;if(!(b[k>>0]|0)){f[i+(c*20|0)+16>>2]=l;b[k>>0]=-13;break}else{ul(w,i+(c*20|0)|0,l,-13);break}}if(i|0){if(f[i+480>>2]|0){Kc(i,l);break}w=l;if((f[i+304>>2]|0)>>>0<=w>>>0?(f[i+308>>2]|0)>>>0>w>>>0:0){w=i+300|0;f[l>>2]=f[w>>2];f[w>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{w=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}else u=47;while(0);if((u|0)==47){i=w+136|0;c=f[i>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(c|0)){f[i>>2]=c+1;v=f[w+88>>2]|0;b[v+(c*20|0)>>0]=-115;d[v+(c*20|0)+2>>1]=0;f[v+(c*20|0)+4>>2]=0;f[v+(c*20|0)+8>>2]=g;f[v+(c*20|0)+12>>2]=0;f[v+(c*20|0)+16>>2]=0;b[v+(c*20|0)+1>>0]=0}else c=tl(w,141,0,g,0)|0;if(!(b[(f[w>>2]|0)+81>>0]|0)){if((c|0)<0)c=(f[i>>2]|0)+-1|0;i=f[w+88>>2]|0;if(b[i+(c*20|0)+1>>0]|0)ul(w,i+(c*20|0)|0,0,-13)}}break}f[s>>2]=r?43039:72788;f[s+4>>2]=q;ni(a,59403,s)}while(0);t=x;return}function Vo(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;l=n+4|0;m=n;f[l>>2]=0;f[m>>2]=0;if(!e){m=c;t=n;return m|0}if((b[e>>0]|0)!=-98){m=c;t=n;return m|0}e=f[e+44>>2]|0;if(!e){m=c;t=n;return m|0}if(!(f[e+56>>2]|0)){m=c;t=n;return m|0}e=e+64|0;while(1){e=f[e>>2]|0;if((f[e>>2]|0)==(a|0))break;else e=e+24|0}e=f[e+8>>2]|0;g=f[(f[e>>2]|0)+72>>2]|0;if(!g){m=c;t=n;return m|0}k=c+32|0;if(!(mb[g&127](e,d,f[k>>2]|0,l,m)|0)){m=c;t=n;return m|0}e=f[k>>2]|0;if(!e)h=41;else h=((wz(e)|0)&1073741823)+41|0;a:do if(!a){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](h)|0;i=34;break}e=ib[f[37372>>2]&255](h)|0;if((f[18194]|0)>>>0>>0)f[18194]=h;d=71896;g=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&g>>>0>0){a=f[18187]|0;d=LA(g|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&d>>>0<=a>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(!g){m=c;t=n;return m|0}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0){f[18196]=e;a=g}else a=g}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){m=c;t=n;return m|0}}else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){g=a+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];i=a+284|0;f[i>>2]=(f[i>>2]|0)+1;i=34;break a}g=a+296|0;e=f[g>>2]|0;if(!e){e=a+292|0;break}else{f[g>>2]=f[e>>2];i=a+284|0;f[i>>2]=(f[i>>2]|0)+1;i=34;break a}}else e=a+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(a,h,0)|0;i=34}while(0);if((i|0)==34)if(!e){m=c;t=n;return m|0}else a=e;_A(a+40|0,0,h+-40|0)|0;d=a;e=c;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));d=a+40|0;f[a+32>>2]=d;g=f[k>>2]|0;if(!g)e=1;else e=((wz(g)|0)&1073741823)+1|0;YA(d|0,g|0,e|0)|0;f[a+16>>2]=f[l>>2];f[a+8>>2]=f[m>>2];m=a+4|0;f[m>>2]=f[m>>2]|16;m=a;t=n;return m|0}function Wo(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;g=f[a+24>>2]|0;if((b[c>>0]|0)!=-98)return 0;e=c+44|0;if((f[g+12>>2]|0)!=(f[e>>2]|0))return 0;c=(f[a>>2]|0)+268|0;a=f[c>>2]|0;if(!a)return 0;while(1){d=a+12|0;if((f[a>>2]|0)==(e|0))break;a=f[d>>2]|0;if(!a){h=8;break}else c=d}if((h|0)==8)return 0;f[c>>2]=f[d>>2];f[d>>2]=f[g>>2];f[g>>2]=a;h=g+4|0;f[h>>2]=(f[h>>2]|0)+1;return 0}function Xo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=f[a+24>>2]|0;g=f[b+32>>2]|0;h=f[g>>2]|0;if((h|0)<=0)return 0;i=n+12|0;j=n+4|0;d=0;do{a:do if((f[g+8+(d*72|0)+16>>2]|0)==(f[i>>2]|0)?(k=f[g+8+(d*72|0)+8>>2]|0,l=(f[a>>2]|0)+268|0,m=f[l>>2]|0,m|0):0){c=l;b=m;while(1){e=b+12|0;if((f[b>>2]|0)==(k|0))break;b=f[e>>2]|0;if(!b)break a;else c=e}f[c>>2]=f[e>>2];f[e>>2]=f[n>>2];f[n>>2]=b;f[j>>2]=(f[j>>2]|0)+1}while(0);d=d+1|0}while((d|0)<(h|0));return 0}function Yo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[b+12>>2]|0;if(c|0)oi(a,c)|0;b=f[b+28>>2]|0;if(!b)return;do{yk(a,f[b+8>>2]|0)|0;c=f[b+16>>2]|0;if(c|0)oi(a,c)|0;c=f[b+20>>2]|0;a:do if(c|0?(h=f[c>>2]|0,(h|0)>0):0){e=h;c=c+4|0;while(1){d=f[c>>2]|0;if(d|0?oi(a,d)|0:0)break a;if((e|0)>1){e=e+-1|0;c=c+20|0}else break}}while(0);g=f[b+28>>2]|0;if(g|0){c=f[g>>2]|0;b:do if(c|0?(i=f[c>>2]|0,(i|0)>0):0){e=i;c=c+4|0;while(1){d=f[c>>2]|0;if(d|0?oi(a,d)|0:0)break b;if((e|0)>1){e=e+-1|0;c=c+20|0}else break}}while(0);c=f[g+8>>2]|0;c:do if(c|0?(j=f[c>>2]|0,(j|0)>0):0){e=j;c=c+4|0;while(1){d=f[c>>2]|0;if(d|0?oi(a,d)|0:0)break c;if((e|0)>1){e=e+-1|0;c=c+20|0}else break}}while(0);c=f[g+12>>2]|0;if(c|0)oi(a,c)|0;c=f[g+4>>2]|0;if(c|0)oi(a,c)|0}b=f[b+36>>2]|0}while((b|0)!=0);return}function Zo(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+16|0;i=A;if(!e)k=0;else k=(wz(e)|0)&1073741823;if(!d)n=0;else n=(wz(d)|0)&1073741823;y=f[(f[a>>2]|0)+32>>2]|0;f[i>>2]=e;z=Ig(y,59429,i)|0;if(!z){z=7;t=A;return z|0}x=(wz(z)|0)&1073741823;v=(g|0)==0;w=v?k:x;v=v?e:z;e=n+1+(U(f[c+4>>2]|0,x)|0)|0;g=((e|0)<0)<<31>>31;u=(y|0)==0;a:do if(u){s=KA(e|0,g|0,-1,-1)|0;r=ba()|0;if(!(r>>>0>0|(r|0)==0&s>>>0>2147483390)){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](e)|0;l=30;break}i=ib[f[37372>>2]&255](e)|0;if((f[18194]|0)>>>0>>0)f[18194]=e;g=71896;k=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&k>>>0>0){s=f[18187]|0;r=LA(k|0,g|0,i|0,((i|0)<0)<<31>>31|0)|0;q=ba()|0;f[17976]=((q|0)<0|(q|0)==0&r>>>0<=s>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(i){k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;l=31}else l=31}else i=7}else i=7}else{if(f[y+272>>2]|0){if(b[y+81>>0]|0){i=7;break}}else{do if(!(0>>0|(0==(g|0)?(j[y+276>>1]|0)>>>0>>0:0))){k=y+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];l=y+284|0;f[l>>2]=(f[l>>2]|0)+1;l=30;break a}k=y+296|0;i=f[k>>2]|0;if(!i){i=y+292|0;break}else{f[k>>2]=f[i>>2];l=y+284|0;f[l>>2]=(f[l>>2]|0)+1;l=30;break a}}else i=y+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(y,e,g)|0;l=30}while(0);if((l|0)==30)if(!i)i=7;else l=31;do if((l|0)==31){_A(i+n|0,0,(e>>>0>n>>>0?e-n|0:0)|0)|0;YA(i|0,d|0,n|0)|0;l=f[c>>2]|0;b:do if(l|0){s=d;o=y+480|0;p=y+304|0;q=y+308|0;r=y+300|0;if(u)while(1){k=f[l+12>>2]|0;if(!k)m=l;else{e=k;g=l;do{g=(f[e+4>>2]|0)>>>0>(f[g+4>>2]|0)>>>0?e:g;e=f[e+12>>2]|0}while((e|0)!=0);m=g}if((l|0)==(m|0))k=c;else{if((k|0)==(m|0))k=l;else while(1){g=f[k+12>>2]|0;if((g|0)==(m|0))break;else k=g}k=k+12|0}f[k>>2]=f[m+12>>2];d=f[m+4>>2]|0;l=(b[5472+(h[d>>0]|0)>>0]&70)==0;e=l?x:w;d=d-s|0;k=m+8|0;g=f[k>>2]|0;if((g|0)==(e|0))k=n;else{r=d+g|0;ZA(i+(e+d)|0,i+r|0,n-r|0)|0;k=e-(f[k>>2]|0)+n|0;b[i+k>>0]=0}YA(i+d|0,(l?z:v)|0,e|0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](m);else{r=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m)}l=f[c>>2]|0;if(!l)break b;else n=k}while(1){k=f[l+12>>2]|0;if(!k)m=l;else{e=k;g=l;do{g=(f[e+4>>2]|0)>>>0>(f[g+4>>2]|0)>>>0?e:g;e=f[e+12>>2]|0}while((e|0)!=0);m=g}if((l|0)==(m|0))k=c;else{if((k|0)==(m|0))k=l;else while(1){g=f[k+12>>2]|0;if((g|0)==(m|0))break;else k=g}k=k+12|0}f[k>>2]=f[m+12>>2];d=f[m+4>>2]|0;l=(b[5472+(h[d>>0]|0)>>0]&70)==0;e=l?x:w;d=d-s|0;k=m+8|0;g=f[k>>2]|0;if((g|0)==(e|0))k=n;else{g=d+g|0;ZA(i+(e+d)|0,i+g|0,n-g|0)|0;k=e-(f[k>>2]|0)+n|0;b[i+k>>0]=0}YA(i+d|0,(l?z:v)|0,e|0)|0;do if(!(f[o>>2]|0)){n=m;if((f[p>>2]|0)>>>0<=n>>>0?(f[q>>2]|0)>>>0>n>>>0:0){f[m>>2]=f[r>>2];f[r>>2]=m;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{n=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}else Kc(y,m);while(0);l=f[c>>2]|0;if(!l)break;else n=k}}while(0);if(($e(f[a>>2]|0,i,-1,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}if(!u){if(f[y+480>>2]|0){Kc(y,i);i=0;break}c=i;if((f[y+304>>2]|0)>>>0<=c>>>0?(f[y+308>>2]|0)>>>0>c>>>0:0){y=y+300|0;f[i>>2]=f[y>>2];f[y>>2]=i;i=0;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{y=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](z);z=i;t=A;return z|0}else{y=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);z=i;t=A;return z|0}return 0}function _o(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0;i=f[a+24>>2]|0;switch(b[c>>0]|0){case 77:{if((f[i+8>>2]|0)!=(d[c+32>>1]|0))return 0;a=f[a>>2]|0;if((f[a+120>>2]|0)!=(f[i+12>>2]|0))return 0;a=a+268|0;e=f[a>>2]|0;if(!e)return 0;while(1){h=e+12|0;if((f[e>>2]|0)==(c|0))break;g=f[h>>2]|0;if(!g){j=16;break}else{a=h;e=g}}if((j|0)==16)return 0;f[a>>2]=f[h>>2];f[h>>2]=f[i>>2];f[i>>2]=e;j=i+4|0;f[j>>2]=(f[j>>2]|0)+1;return 0}case -98:{if((f[i+8>>2]|0)!=(d[c+32>>1]|0))return 0;if((f[i+12>>2]|0)!=(f[c+44>>2]|0))return 0;a=(f[a>>2]|0)+268|0;e=f[a>>2]|0;if(!e)return 0;while(1){h=e+12|0;if((f[e>>2]|0)==(c|0))break;g=f[h>>2]|0;if(!g){j=16;break}else{a=h;e=g}}if((j|0)==16)return 0;f[a>>2]=f[h>>2];f[h>>2]=f[i>>2];f[i>>2]=e;j=i+4|0;f[j>>2]=(f[j>>2]|0)+1;return 0}default:return 0}return 0}function $o(a,b){a=a|0;b=b|0;return 0}function ap(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!d)return;p=f[d>>2]|0;if((p|0)<=0)return;m=((e|0)!=0)<<31>>31;n=a+268|0;o=c+4|0;if(!e){g=0;do{a:do if((f[d+4+(g*20|0)+4>>2]|0)==0?(k=f[n>>2]|0,k|0):0){i=n;a=k;while(1){j=a+12|0;if(!(f[a>>2]|0))break;a=f[j>>2]|0;if(!a)break a;else i=j}f[i>>2]=f[j>>2];f[j>>2]=f[c>>2];f[c>>2]=a;f[o>>2]=(f[o>>2]|0)+1}while(0);g=g+1|0}while((g|0)<(p|0));return}j=0;do{k=f[d+4+(j*20|0)+4>>2]|0;if(k){i=b[k>>0]|0;a=(h[1232+(i&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0;if(!(i<<24>>24==0|(a|0)!=0)){g=e;i=k;do{i=i+1|0;g=g+1|0;q=b[i>>0]|0;a=(h[1232+(q&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(q<<24>>24==0|(a|0)!=0))}}else a=m;b:do if((a|0)==0?(l=f[n>>2]|0,l|0):0){g=n;a=l;while(1){i=a+12|0;if((f[a>>2]|0)==(k|0))break;a=f[i>>2]|0;if(!a)break b;else g=i}f[g>>2]=f[i>>2];f[i>>2]=f[c>>2];f[c>>2]=a;f[o>>2]=(f[o>>2]|0)+1}while(0);j=j+1|0}while((j|0)<(p|0));return}function bp(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!d)return;p=f[d+4>>2]|0;if((p|0)<=0)return;m=((e|0)!=0)<<31>>31;n=a+268|0;o=c+4|0;if(!e){g=0;do{a:do if((f[(f[d>>2]|0)+(g<<3)>>2]|0)==0?(k=f[n>>2]|0,k|0):0){i=n;a=k;while(1){j=a+12|0;if(!(f[a>>2]|0))break;a=f[j>>2]|0;if(!a)break a;else i=j}f[i>>2]=f[j>>2];f[j>>2]=f[c>>2];f[c>>2]=a;f[o>>2]=(f[o>>2]|0)+1}while(0);g=g+1|0}while((g|0)<(p|0));return}j=0;do{k=f[(f[d>>2]|0)+(j<<3)>>2]|0;if(k){i=b[k>>0]|0;a=(h[1232+(i&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0;if(!(i<<24>>24==0|(a|0)!=0)){g=e;i=k;do{i=i+1|0;g=g+1|0;q=b[i>>0]|0;a=(h[1232+(q&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(q<<24>>24==0|(a|0)!=0))}}else a=m;b:do if((a|0)==0?(l=f[n>>2]|0,l|0):0){g=n;a=l;while(1){i=a+12|0;if((f[a>>2]|0)==(k|0))break;a=f[i>>2]|0;if(!a)break b;else g=i}f[g>>2]=f[i>>2];f[i>>2]=f[c>>2];f[c>>2]=a;f[o>>2]=(f[o>>2]|0)+1}while(0);j=j+1|0}while((j|0)<(p|0));return}function cp(a){a=a|0;var b=0,c=0,d=0;d=t;t=t+16|0;c=d;b=dz(a+8|0)|0;if(!b){f[c>>2]=a;Ac(7,59470,c);c=0;t=d;return c|0}else{c=b;f[c>>2]=a;f[c+4>>2]=((a|0)<0)<<31>>31;c=b+8|0;t=d;return c|0}return 0}function dp(a){a=a|0;ez(a+-8|0);return}function ep(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=t;t=t+16|0;d=e;a=a+-8|0;c=gz(a,b+8|0)|0;if(!c){f[d>>2]=f[a>>2];f[d+4>>2]=b;Ac(7,59434,d);d=0;t=e;return d|0}else{d=c;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;d=c+8|0;t=e;return d|0}return 0}function fp(a){a=a|0;return f[a+-8>>2]|0}function gp(a){a=a|0;return a+7&-8|0}function hp(a){a=a|0;return 0}function ip(a){a=a|0;return}function jp(a,b,c){a=a|0;b=b|0;c=c|0;if(Mc()|0){c=0;return c|0}c=Nc(a,b,c)|0;return c|0}function kp(a){a=a|0;var c=0,d=0,e=0,g=0;if(Mc()|0){a=38408;return a|0}if(!(f[9328]|0)){c=ib[f[37356>>2]&255](24)|0;if(!c){a=38408;return a|0}}else{e=ib[f[37372>>2]&255](24)|0;if((f[18194]|0)>>>0<24)f[18194]=24;d=71896;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){g=f[18187]|0;d=LA(c|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&d>>>0<=g>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(!c){g=38408;return g|0}d=ib[f[37368>>2]&255](c)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d}if(!a){f[c+4>>2]=0;f[c>>2]=0;f[c+8>>2]=0;f[c+12>>2]=1e9;f[c+16>>2]=0;b[c+20>>0]=0;b[c+21>>0]=0;g=c;return g|0}else{g=f[a+108>>2]|0;f[c+4>>2]=0;f[c>>2]=0;f[c+8>>2]=0;f[c+12>>2]=g;f[c+16>>2]=0;b[c+20>>0]=0;b[c+21>>0]=0;g=c;return g|0}return 0}function lp(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=t;t=t+96|0;e=j+72|0;if(Mc()|0){i=0;t=j;return i|0}g=e+4|0;f[g>>2]=j;f[e>>2]=0;f[e+8>>2]=70;h=e+12|0;f[h>>2]=1e9;i=e+16|0;f[i>>2]=0;b[e+20>>0]=0;d=e+21|0;b[d>>0]=0;Bc(e,a,c);a=f[g>>2]|0;if((a|0?(b[a+(f[i>>2]|0)>>0]=0,f[h>>2]|0):0)?(b[d>>0]&4)==0:0){i=Cc(e)|0;t=j;return i|0}i=f[g>>2]|0;t=j;return i|0}function mp(a){a=a|0;var c=0,d=0,e=0;if(!a){d=0;return d|0}d=f[a>>2]|0;c=a+128|0;e=f[c+4>>2]|0;if((e|0)>0|(e|0)==0&(f[c>>2]|0)>>>0>0)Hi(d,a);c=fg(a)|0;f[a+20>>2]=770837923;f[a+36>>2]=-1;f[a+40>>2]=0;b[a+142>>0]=2;f[a+44>>2]=0;f[a+32>>2]=1;b[a+143>>0]=-1;f[a+48>>2]=0;e=a+64|0;f[e>>2]=0;f[e+4>>2]=0;if((c|0)==3082|(b[d+81>>0]|0)!=0){Di(d);e=7;return e|0}else{e=f[d+68>>2]&c;return e|0}return 0}function np(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0;k=a+16|0;c=d[k>>1]|0;if(c<<16>>16>0){l=a+116|0;j=0;e=f[l>>2]|0;do{g=e+(j*40|0)|0;i=e+(j*40|0)+8|0;if(!((d[i>>1]&9216)==0?(f[e+(j*40|0)+24>>2]|0)==0:0)){ff(g);e=f[l>>2]|0;i=e+(j*40|0)+8|0;c=d[k>>1]|0}d[i>>1]=1;j=j+1|0}while((j|0)<(c<<16>>16|0))}if(!(f[a+204>>2]|0))return 0;l=a+145|0;k=(h[l>>0]|h[l+1>>0]<<8)&-4|1;b[l>>0]=k;b[l+1>>0]=k>>8;return 0}function op(a){a=a|0;var c=0;if(!a){c=0;return c|0}c=d[a+8>>1]|0;if((c&514)==514?(b[a+10>>0]|0)==1:0){c=f[a+16>>2]|0;return c|0}if(c&1){c=0;return c|0}c=Ic(a,1)|0;return c|0}function pp(a){a=a|0;var c=0,e=0;c=d[a+8>>1]|0;if(c&2?(b[a+10>>0]|0)==1:0){a=f[a+12>>2]|0;return a|0}c=c&65535;if(!(c&16)){if(c&1|0){a=0;return a|0}a=_e(a,1)|0;return a|0}else{e=f[a+12>>2]|0;if(!(c&16384)){a=e;return a|0}a=(f[a>>2]|0)+e|0;return a|0}return 0}function qp(a){a=a|0;var c=0,d=0.0;c=j[a+8>>1]|0;if(c&8|0){d=+p[a>>3];return +d}if(c&4|0){c=a;d=+((f[c>>2]|0)>>>0)+4294967296.0*+(f[c+4>>2]|0);return +d}if(!(c&18)){d=0.0;return +d}d=+Hc(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0);return +d}function rp(a){a=a|0;var c=0;c=j[a+8>>1]|0;if(c&4|0){c=f[a>>2]|0;return c|0}if(c&8|0){c=Fc(+p[a>>3])|0;ba()|0;return c|0}if(!(c&18)){c=0;return c|0}c=Gc(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0)|0;ba()|0;return c|0}function sp(a){a=a|0;var c=0;c=j[a+8>>1]|0;if(c&4|0){c=a;a=f[c+4>>2]|0;c=f[c>>2]|0;aa(a|0);return c|0}if(c&8|0){c=Fc(+p[a>>3])|0;a=ba()|0;aa(a|0);return c|0}if(!(c&18)){a=0;c=0;aa(a|0);return c|0}c=Gc(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0)|0;a=ba()|0;aa(a|0);return c|0}function tp(a){a=a|0;return h[5792+(d[a+8>>1]&31)>>0]|0|0}function up(a,b){a=a|0;b=+b;var c=0,e=0,g=0,h=0;h=t;t=t+16|0;e=h+8|0;g=h;a=f[a>>2]|0;c=a+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else cf(a);p[e>>3]=b;p[g>>3]=+p[e>>3];if(!(+p[e>>3]==+p[g>>3])){t=h;return}p[a>>3]=b;d[c>>1]=8;t=h;return}function vp(a,b,c){a=a|0;b=b|0;c=c|0;f[a+20>>2]=1;$e(f[a>>2]|0,b,c,1,-1)|0;return}function wp(a,b){a=a|0;b=b|0;var c=0,e=0;a=f[a>>2]|0;c=((b|0)<0)<<31>>31;e=a+8|0;if(!(d[e>>1]&9216)){f[a>>2]=b;f[a+4>>2]=c;d[e>>1]=4;return}else{bf(a,b,c);return}}function xp(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;a=f[a>>2]|0;e=a+8|0;if(!(d[e>>1]&9216)){f[a>>2]=b;f[a+4>>2]=c;d[e>>1]=4;return}else{bf(a,b,c);return}}function yp(a){a=a|0;var b=0;a=f[a>>2]|0;b=a+8|0;if(!(d[b>>1]&9216)){d[b>>1]=1;return}else{cf(a);return}}function zp(a){a=a|0;return}function Ap(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(($e(f[a>>2]|0,b,c,1,d)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}function Bp(a){a=a|0;var c=0,e=0;c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;e=f[c+32>>2]|0;c=e+81|0;if(b[c>>0]|0)return;if(b[e+82>>0]|0)return;b[c>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;a=e+272|0;f[a>>2]=(f[a>>2]|0)+1;return}function Cp(a,b){a=a|0;b=b|0;var c=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192)){c=hf(a,b)|0;return c|0}else{c=f[c+16>>2]|0;return c|0}return 0}function Dp(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0;k=f[a+12>>2]|0;m=k+212|0;h=f[m>>2]|0;a:do if(h){i=a+16|0;b:do if((c|0)<0)while(1){if((f[h+4>>2]|0)==(c|0)){g=h;break b}h=f[h+16>>2]|0;if(!h){l=10;break a}}else while(1){if((f[h+4>>2]|0)==(c|0)?(f[h>>2]|0)==(f[i>>2]|0):0){g=h;break b}h=f[h+16>>2]|0;if(!h){l=10;break a}}while(0);h=f[g+12>>2]|0;if(h)ob[h&127](f[g+8>>2]|0)}else l=10;while(0);do if((l|0)==10){i=f[k>>2]|0;c:do if(!i){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](20)|0;l=33;break}h=ib[f[37372>>2]&255](20)|0;if((f[18194]|0)>>>0<20)f[18194]=20;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){n=f[18187]|0;k=LA(i|0,k|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[17976]=((i|0)<0|(i|0)==0&k>>>0<=n>>>0)&1}h=ib[f[37356>>2]&255](h)|0;if(h|0){g=ib[f[37368>>2]&255](h)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;g=h;l=34}else{g=h;l=34}}}else{if(f[i+272>>2]|0){if(b[i+81>>0]|0)break}else{do if((j[i+276>>1]|0)>=20){h=i+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];l=i+284|0;f[l>>2]=(f[l>>2]|0)+1;l=33;break c}h=i+296|0;g=f[h>>2]|0;if(!g){g=i+292|0;break}else{f[h>>2]=f[g>>2];l=i+284|0;f[l>>2]=(f[l>>2]|0)+1;l=33;break c}}else g=i+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(i,20,0)|0;l=33}while(0);if((l|0)==33?g|0:0)l=34;if((l|0)==34){h=g+8|0;n=h;b[n>>0]=0;b[n+1>>0]=0;b[n+2>>0]=0;b[n+3>>0]=0;h=h+4|0;b[h>>0]=0;b[h+1>>0]=0;b[h+2>>0]=0;b[h+3>>0]=0;f[g>>2]=f[a+16>>2];f[g+4>>2]=c;f[g+16>>2]=f[m>>2];f[m>>2]=g;h=a+20|0;if(f[h>>2]|0)break;f[h>>2]=-1;break}if(!e)return;ob[e&127](d);return}while(0);f[g+8>>2]=d;f[g+12>>2]=e;return}function Ep(a){a=a|0;if(!a){a=0;return a|0}if(!(f[a+104>>2]|0)){a=0;return a|0}a=j[a+140>>1]|0;return a|0}function Fp(a,c){a=a|0;c=c|0;var d=0,e=0;if(!a){e=lf(37592)|0;return e|0}d=f[a+104>>2]|0;if((d|0)!=0?(j[a+140>>1]|0)>>>0>c>>>0:0){c=d+(c*40|0)|0;d=a}else{c=f[a>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592;d=a}e=lf(c)|0;d=f[d>>2]|0;a=a+40|0;c=f[a>>2]|0;if((c|0)==3082|(b[d+81>>0]|0)!=0){Di(d);c=7}else c=f[d+68>>2]&c;f[a>>2]=c;return e|0}function Gp(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0;i=(a|0)==0;do if(i)g=37592;else{e=f[a+104>>2]|0;if(e|0?(j[a+140>>1]|0)>>>0>c>>>0:0){g=e+(c*40|0)|0;break}g=f[a>>2]|0;f[g+64>>2]=25;Bg(g,25);g=37592}while(0);c=d[g+8>>1]|0;if((c&2)!=0?(b[g+10>>0]|0)==1:0)e=f[g+12>>2]|0;else h=9;do if((h|0)==9){c=c&65535;if(!(c&16)){if(c&1|0){e=0;break}e=_e(g,1)|0;break}else{e=f[g+12>>2]|0;if(!(c&16384))break;e=(f[g>>2]|0)+e|0;break}}while(0);if(i)return e|0;g=f[a>>2]|0;h=a+40|0;c=f[h>>2]|0;if((c|0)==3082|(b[g+81>>0]|0)!=0){Di(g);c=7}else c=f[g+68>>2]&c;f[h>>2]=c;return e|0}function Hp(a,c){a=a|0;c=c|0;var d=0,e=0,g=0.0;e=(a|0)==0;do if(e)c=37592;else{d=f[a+104>>2]|0;if(d|0?(j[a+140>>1]|0)>>>0>c>>>0:0){c=d+(c*40|0)|0;break}c=f[a>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}while(0);d=j[c+8>>1]|0;do if(!(d&8)){if(d&4|0){d=c;g=+((f[d>>2]|0)>>>0)+4294967296.0*+(f[d+4>>2]|0);break}if(!(d&18))g=0.0;else g=+Hc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)}else g=+p[c>>3];while(0);if(e)return +g;d=f[a>>2]|0;e=a+40|0;c=f[e>>2]|0;if((c|0)==3082|(b[d+81>>0]|0)!=0){Di(d);c=7}else c=f[d+68>>2]&c;f[e>>2]=c;return +g}function Ip(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=(a|0)==0;do if(e)c=37592;else{d=f[a+104>>2]|0;if(d|0?(j[a+140>>1]|0)>>>0>c>>>0:0){c=d+(c*40|0)|0;break}c=f[a>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}while(0);d=j[c+8>>1]|0;do if(!(d&4)){if(d&8|0){g=Fc(+p[c>>3])|0;ba()|0;break}if(!(d&18))g=0;else{g=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else g=f[c>>2]|0;while(0);if(e)return g|0;d=f[a>>2]|0;e=a+40|0;c=f[e>>2]|0;if((c|0)==3082|(b[d+81>>0]|0)!=0){Di(d);c=7}else c=f[d+68>>2]&c;f[e>>2]=c;return g|0}function Jp(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;e=(a|0)==0;do if(e)c=37592;else{d=f[a+104>>2]|0;if(d|0?(j[a+140>>1]|0)>>>0>c>>>0:0){c=d+(c*40|0)|0;break}c=f[a>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}while(0);d=j[c+8>>1]|0;do if(!(d&4)){if(d&8|0){h=Fc(+p[c>>3])|0;g=ba()|0;break}if(!(d&18)){g=0;h=0}else{h=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;g=ba()|0}}else{h=c;g=f[h+4>>2]|0;h=f[h>>2]|0}while(0);if(e){aa(g|0);return h|0}d=f[a>>2]|0;e=a+40|0;c=f[e>>2]|0;if((c|0)==3082|(b[d+81>>0]|0)!=0){Di(d);c=7}else c=f[d+68>>2]&c;f[e>>2]=c;aa(g|0);return h|0}function Kp(a,c){a=a|0;c=c|0;var e=0,g=0,h=0;g=(a|0)==0;do if(g)c=37592;else{e=f[a+104>>2]|0;if(e|0?(j[a+140>>1]|0)>>>0>c>>>0:0){c=e+(c*40|0)|0;break}c=f[a>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}while(0);e=d[c+8>>1]|0;if((e&514)==514?(b[c+10>>0]|0)==1:0)h=f[c+16>>2]|0;else if(!(e&1))h=Ic(c,1)|0;else h=0;if(g)return h|0;e=f[a>>2]|0;g=a+40|0;c=f[g>>2]|0;if((c|0)==3082|(b[e+81>>0]|0)!=0){Di(e);c=7}else c=f[e+68>>2]&c;f[g>>2]=c;return h|0}function Lp(a,c){a=a|0;c=c|0;var e=0,g=0,i=0;g=(a|0)==0;do if(g)c=37592;else{e=f[a+104>>2]|0;if(e|0?(j[a+140>>1]|0)>>>0>c>>>0:0){c=e+(c*40|0)|0;break}c=f[a>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}while(0);i=h[5792+(d[c+8>>1]&31)>>0]|0;if(g)return i|0;e=f[a>>2]|0;g=a+40|0;c=f[g>>2]|0;if((c|0)==3082|(b[e+81>>0]|0)!=0){Di(e);c=7}else c=f[e+68>>2]&c;f[g>>2]=c;return i|0}function Mp(a,c){a=a|0;c=c|0;var e=0,g=0,h=0;h=f[a>>2]|0;if(!a){h=0;return h|0}if((j[a+140>>1]|0)>>>0<=c>>>0){h=0;return h|0}g=f[a+100>>2]|0;a=g+(c*40|0)|0;do if(a){e=d[g+(c*40|0)+8>>1]|0;if((e&514)==514?(b[g+(c*40|0)+10>>0]|0)==1:0){a=f[g+(c*40|0)+16>>2]|0;break}if(!(e&1))a=Ic(a,1)|0;else a=0}else a=0;while(0);e=h+81|0;if(!(b[e>>0]|0)){h=a;return h|0}if(f[h+180>>2]|0){h=0;return h|0}b[e>>0]=0;f[h+264>>2]=0;h=h+272|0;f[h>>2]=(f[h>>2]|0)+-1;h=0;return h|0}function Np(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;h=Op(a,c)|0;if(h|0){switch(g|0){case 0:case -1:{a=h;return a|0}default:{}}ob[g&127](d);a=h;return a|0}if(!d){a=0;return a|0}d=$e((f[a+116>>2]|0)+((c+-1|0)*40|0)|0,d,e,0,g)|0;if(!d){a=0;return a|0}c=f[a>>2]|0;f[c+64>>2]=d;Bg(c,d);c=f[a>>2]|0;if((d|0)==3082|(b[c+81>>0]|0)!=0){Di(c);a=7;return a|0}else{a=f[c+68>>2]&d;return a|0}return 0}function Op(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0;l=t;t=t+64|0;i=l+40|0;k=l+32|0;j=l+16|0;g=l+8|0;do if(!a)Ac(21,42973,l);else{e=f[a>>2]|0;if(!e){Ac(21,42928,g);break}if((f[a+20>>2]|0)==770837923?(f[a+36>>2]|0)<=-1:0){if((c|0)>=1?(d[a+16>>1]|0)>=(c|0):0){j=c+-1|0;k=f[a+116>>2]|0;g=k+(j*40|0)|0;i=k+(j*40|0)+8|0;if(!((d[i>>1]&9216)==0?(f[k+(j*40|0)+24>>2]|0)==0:0)){ff(g);e=f[a>>2]|0}d[i>>1]=1;f[e+64>>2]=0;if(f[e+256>>2]|0)Bg(e,0);e=f[a+204>>2]|0;if(!e){c=0;t=l;return c|0}if(!(e&((c|0)>31?-2147483648:1<>0]|h[c+1>>0]<<8)&-4|1;b[c>>0]=a;b[c+1>>0]=a>>8;c=0;t=l;return c|0}f[e+64>>2]=25;Bg(e,25);c=25;t=l;return c|0}f[e+64>>2]=21;Bg(e,21);f[k>>2]=f[a+184>>2];Ac(21,59508,k);f[i>>2]=40433;f[i+4>>2]=81984;f[i+8>>2]=40460;Ac(21,40408,i);c=21;t=l;return c|0}while(0);f[j>>2]=40433;f[j+4>>2]=81976;f[j+8>>2]=40460;Ac(21,40408,j);c=21;t=l;return c|0}function Pp(a,b,c){a=a|0;b=b|0;c=+c;var e=0,g=0,h=0,i=0,j=0;i=t;t=t+16|0;e=i+8|0;g=i;h=Op(a,b)|0;if(h|0){t=i;return h|0}j=f[a+116>>2]|0;b=b+-1|0;a=j+(b*40|0)|0;b=j+(b*40|0)+8|0;if(!(d[b>>1]&9216))d[b>>1]=1;else cf(a);p[e>>3]=c;p[g>>3]=+p[e>>3];if(!(+p[e>>3]==+p[g>>3])){t=i;return h|0}p[a>>3]=c;d[b>>1]=8;t=i;return h|0}function Qp(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0;e=((c|0)<0)<<31>>31;g=Op(a,b)|0;if(g|0)return g|0;h=f[a+116>>2]|0;b=b+-1|0;a=h+(b*40|0)|0;b=h+(b*40|0)+8|0;if(!(d[b>>1]&9216)){h=a;f[h>>2]=c;f[h+4>>2]=e;d[b>>1]=4;return g|0}else{bf(a,c,e);return g|0}return 0}function Rp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Sp(a,b,c,d,e,1)|0}function Sp(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=Op(a,c)|0;if(j|0){switch(h|0){case 0:case -1:{a=j;return a|0}default:{}}ob[h&127](e);a=j;return a|0}if(!e){a=0;return a|0}m=f[a+116>>2]|0;k=c+-1|0;l=m+(k*40|0)|0;c=$e(l,e,g,i,h)|0;do if(!(i<<24>>24==0|(c|0)!=0)){j=b[(f[a>>2]|0)+78>>0]|0;if(!(d[m+(k*40|0)+8>>1]&2)){a=0;return a|0}if((b[m+(k*40|0)+10>>0]|0)==j<<24>>24){a=0;return a|0}else{c=Ri(l,j)|0;break}}while(0);if(!c){a=0;return a|0}j=f[a>>2]|0;f[j+64>>2]=c;Bg(j,c);j=f[a>>2]|0;if((c|0)==3082|(b[j+81>>0]|0)!=0){Di(j);a=7;return a|0}else{a=f[j+68>>2]&c;return a|0}return 0}function Tp(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;h=o+8|0;i=o;g=d[e+8>>1]|0;switch(b[5792+(g&31)>>0]|0){case 1:{i=e;h=f[i>>2]|0;i=f[i+4>>2]|0;g=Op(a,c)|0;if(g|0){a=g;t=o;return a|0}a=f[a+116>>2]|0;e=c+-1|0;g=a+(e*40|0)|0;e=a+(e*40|0)+8|0;if(!(d[e>>1]&9216)){a=g;f[a>>2]=h;f[a+4>>2]=i;d[e>>1]=4;a=0;t=o;return a|0}else{bf(g,h,i);a=0;t=o;return a|0}}case 2:{j=+p[e>>3];g=Op(a,c)|0;if(g|0){a=g;t=o;return a|0}a=f[a+116>>2]|0;e=c+-1|0;g=a+(e*40|0)|0;e=a+(e*40|0)+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else cf(g);p[h>>3]=j;p[i>>3]=+p[h>>3];if(!(+p[h>>3]==+p[i>>3])){a=0;t=o;return a|0}p[g>>3]=j;d[e>>1]=8;a=0;t=o;return a|0}case 4:{if(g&16384){k=f[e>>2]|0;g=Op(a,c)|0;if(g|0){a=g;t=o;return a|0}i=f[a+116>>2]|0;g=c+-1|0;e=i+(g*40|0)|0;h=i+(g*40|0)+8|0;if(!((d[h>>1]&9216)==0?!(f[i+(g*40|0)+24>>2]|0):0))ff(e);d[h>>1]=16400;f[i+(g*40|0)+12>>2]=0;f[e>>2]=(k|0)>0?k:0;b[i+(g*40|0)+10>>0]=1;f[i+(g*40|0)+16>>2]=0;a=0;t=o;return a|0}n=f[e+16>>2]|0;e=f[e+12>>2]|0;g=Op(a,c)|0;if(g|0){a=g;t=o;return a|0}if(!n){a=0;t=o;return a|0}m=f[a+116>>2]|0;l=c+-1|0;k=m+(l*40|0)|0;g=f[m+(l*40|0)+32>>2]|0;if(!g)h=1e9;else h=f[g+108>>2]|0;a:do if((e|0)<0)if((h|0)<0){c=528;g=0}else{g=0;while(1){if(!((b[n+(g|1)>>0]|b[n+g>>0])<<24>>24)){c=528;break a}g=g+2|0;if((g|0)>(h|0)){c=528;break}}}else{c=16;g=e}while(0);i=g+((c&65535)>>>8&65535)|0;do if((g|0)>(h|0))e=18;else{e=(i|0)>32?i:32;if((f[m+(l*40|0)+24>>2]|0)<(e|0)){if(df(k,e,0)|0){e=7;break}e=m+(l*40|0)+8|0;h=f[m+(l*40|0)+16>>2]|0}else{h=f[m+(l*40|0)+20>>2]|0;f[m+(l*40|0)+16>>2]=h;e=m+(l*40|0)+8|0;d[e>>1]=d[e>>1]&13}YA(h|0,n|0,i|0)|0;f[m+(l*40|0)+12>>2]=g;d[e>>1]=c;b[m+(l*40|0)+10>>0]=1;a=0;t=o;return a|0}while(0);g=f[a>>2]|0;f[g+64>>2]=e;Bg(g,e);g=f[a>>2]|0;if(!(b[g+81>>0]|0)){a=f[g+68>>2]&e;t=o;return a|0}else{Di(g);a=7;t=o;return a|0}}case 3:{a=Sp(a,c,f[e+16>>2]|0,f[e+12>>2]|0,-1,b[e+10>>0]|0)|0;t=o;return a|0}default:{a=Op(a,c)|0;t=o;return a|0}}return 0}function Up(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;if(!c){i=0;return i|0}h=(wz(c)|0)&1073741823;if(!a){i=0;return i|0}g=f[a+120>>2]|0;if(!g){i=0;return i|0}e=f[g+4>>2]|0;a=2;while(1){d=g+(a+2<<2)|0;if((Yz(d,c,h)|0)==0?(b[d+h>>0]|0)==0:0)break;a=(f[g+(a+1<<2)>>2]|0)+a|0;if((a|0)>=(e|0)){a=0;i=9;break}}if((i|0)==9)return a|0;i=f[g+(a<<2)>>2]|0;return i|0}function Vp(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0;l=t;t=t+16|0;i=l+8|0;j=l;k=a+8|0;c=d[k>>1]&31;if((c|16|0)!=18){k=h[5792+c>>0]|0;t=l;return k|0}c=b[a+10>>0]|0;e=a+16|0;g=a+12|0;if(!(jf(f[e>>2]|0,i,f[g>>2]|0,c)|0))c=d[k>>1]|0;else{if(!(kf(f[e>>2]|0,j,f[g>>2]|0,c)|0)){i=j;j=f[i+4>>2]|0;c=a;f[c>>2]=f[i>>2];f[c+4>>2]=j;c=4}else{p[a>>3]=+p[i>>3];c=8}c=d[k>>1]&-3|c;d[k>>1]=c}k=h[5792+(c&31)>>0]|0;t=l;return k|0}function Wp(a,c,e,g,i,k,l,m){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0;da=t;t=t+336|0;aa=da+40|0;W=da+32|0;Y=da+24|0;X=da+16|0;V=da+8|0;U=da;$=da+320|0;ca=da+48|0;f[$>>2]=0;f[m>>2]=0;R=(l|0)!=0;S=R&1;_=(a|0)==0;a:do if(_){if(!(f[9328]|0)){l=ib[f[37356>>2]&255](32)|0;p=24;break}l=ib[f[37372>>2]&255](32)|0;if((f[18194]|0)>>>0<32)f[18194]=32;o=71896;n=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&n>>>0>0){Z=f[18187]|0;Q=LA(n|0,o|0,l|0,((l|0)<0)<<31>>31|0)|0;P=ba()|0;f[17976]=((P|0)<0|(P|0)==0&Q>>>0<=Z>>>0)&1}l=ib[f[37356>>2]&255](l)|0;if(l){n=ib[f[37368>>2]&255](l)|0;n=(f[18187]|0)+n|0;f[18187]=n;if(n>>>0>(f[18191]|0)>>>0)f[18191]=n;n=(f[18190]|0)+1|0;f[18190]=n;if(n>>>0>(f[18196]|0)>>>0){f[18196]=n;p=25}else p=25}else M=0}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){M=0;break}}else{do if((j[a+276>>1]|0)>=32){n=a+300|0;l=f[n>>2]|0;if(l|0){f[n>>2]=f[l>>2];p=a+284|0;f[p>>2]=(f[p>>2]|0)+1;p=24;break a}n=a+296|0;l=f[n>>2]|0;if(!l){l=a+292|0;break}else{f[n>>2]=f[l>>2];p=a+284|0;f[p>>2]=(f[p>>2]|0)+1;p=24;break a}}else l=a+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1}l=Dc(a,32,0)|0;p=24}while(0);if((p|0)==24)if(!l)M=0;else p=25;if((p|0)==25){n=l;o=n+32|0;do{b[n>>0]=0;n=n+1|0}while((n|0)<(o|0));M=l}K=(M|0)!=0;B=a+20|0;C=a+16|0;N=a+480|0;O=a+304|0;P=a+308|0;Q=a+300|0;D=M+28|0;E=M+24|0;F=a+32|0;L=M+16|0;G=M+8|0;H=M+20|0;Z=a+81|0;I=ca+192|0;J=ca+44|0;A=ca+40|0;z=0;l=0;while(1){_A(ca|0,0,272)|0;if(!K){p=103;break}f[ca>>2]=a;n=f[$>>2]|0;do if(n|0){if(!_){if(f[N>>2]|0){Kc(a,n);break}y=n;if((f[O>>2]|0)>>>0<=y>>>0?(f[P>>2]|0)>>>0>y>>>0:0){f[n>>2]=f[Q>>2];f[Q>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{y=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[$>>2]=0;o=f[B>>2]|0;if((o|0)>0){p=f[C>>2]|0;n=0;do{q=f[p+(n<<4)+4>>2]|0;if(q|0)f[(f[q+4>>2]|0)+4>>2]=f[q>>2];n=n+1|0}while((n|0)!=(o|0))}y=pi(ca,0,e,c)|0;if(!y){p=50;break}if(f[y+56>>2]|0){p=45;break}if(f[y+36>>2]&32|0){p=47;break}if(f[y+12>>2]|0){p=49;break}f[D>>2]=y;p=f[C>>2]|0;w=y+72|0;o=f[w>>2]|0;if(!o)n=-1e6;else{n=0;while(1)if((f[p+(n<<4)+12>>2]|0)==(o|0))break;else n=n+1|0}f[E>>2]=f[p+(n<<4)>>2];x=y+42|0;v=d[x>>1]|0;u=v<<16>>16;b:do if(v<<16>>16>0){r=f[y+4>>2]|0;s=h[1232+(h[g>>0]|0)>>0]|0;n=0;while(1){p=f[r+(n<<4)>>2]|0;v=b[p>>0]|0;o=(h[1232+(v&255)>>0]|0)-s|0;if(!(v<<24>>24==0|(o|0)!=0)){q=g;do{p=p+1|0;q=q+1|0;v=b[p>>0]|0;o=(h[1232+(v&255)>>0]|0)-(h[1232+(h[q>>0]|0)>>0]|0)|0}while(!(v<<24>>24==0|(o|0)!=0))}if(!o){v=n;break b}n=n+1|0;if((n|0)>=(u|0)){v=n;break}}}else v=0;while(0);if((v|0)==(u|0)){p=63;break}if(R){if(!((f[F>>2]&16384|0)==0&0==0)?(T=f[y+16>>2]|0,(T|0)!=0):0){q=T;n=0;do{p=f[q+20>>2]|0;if((p|0)>0){o=0;do{n=(f[q+36+(o<<3)>>2]|0)==(v|0)?59635:n;o=o+1|0}while((o|0)<(p|0))}q=f[q+4>>2]|0}while((q|0)!=0);o=n}else o=0;n=f[y+8>>2]|0;if(!n)n=o;else{do{p=d[n+50>>1]|0;if(p<<16>>16){r=f[n+4>>2]|0;q=p&65535;p=0;do{u=d[r+(p<<1)>>1]|0;o=u<<16>>16==-2|(v|0)==(u<<16>>16|0)?59647:o;p=p+1|0}while(p>>>0>>0)}n=f[n+20>>2]|0}while((n|0)!=0);n=o}if(n|0){p=79;break}}s=sl(ca)|0;f[L>>2]=s;do if(s|0){p=f[w>>2]|0;if(!p)r=-1e6;else{o=f[C>>2]|0;n=0;while(1)if((f[o+(n<<4)+12>>2]|0)==(p|0)){r=n;break}else n=n+1|0}o=f[p>>2]|0;p=f[p+4>>2]|0;q=s+136|0;n=f[q>>2]|0;if((f[(f[s+12>>2]|0)+48>>2]|0)>(n|0)){f[q>>2]=n+1;w=f[s+88>>2]|0;b[w+(n*20|0)>>0]=2;d[w+(n*20|0)+2>>1]=0;f[w+(n*20|0)+4>>2]=r;f[w+(n*20|0)+8>>2]=S;f[w+(n*20|0)+12>>2]=o;f[w+(n*20|0)+16>>2]=0;b[w+(n*20|0)+1>>0]=0}else n=tl(s,2,r,S,o)|0;if(!(b[(f[s>>2]|0)+81>>0]|0)){w=f[s+88>>2]|0;b[w+(n*20|0)+1>>0]=-3;f[w+(n*20|0)+16>>2]=p}n=f[q>>2]|0;if((n|0)>0)d[(f[s+88>>2]|0)+((n+-1|0)*20|0)+2>>1]=1;o=wl(s,6,23344)|0;n=1<>2]=f[w>>2]|n;do if((r|0)!=1){if(!(b[(f[(f[(f[s>>2]|0)+16>>2]|0)+(r<<4)+4>>2]|0)+9>>0]|0))break;w=s+152|0;f[w>>2]=f[w>>2]|n}while(0);if(b[Z>>0]|0)break;f[o+4>>2]=r;n=y+28|0;f[o+8>>2]=f[n>>2];f[o+12>>2]=S;if((b[(f[s>>2]|0)+81>>0]|0)==0?(ul(s,(f[s+88>>2]|0)+40|0,f[y>>2]|0,0),b[Z>>0]|0):0)break;if(R)b[o+20>>0]=110;f[o+28>>2]=f[n>>2];f[o+32>>2]=r;b[o+21>>0]=-3;f[o+36>>2]=(d[x>>1]|0)+1;f[o+68>>2]=d[x>>1];d[I>>1]=0;f[J>>2]=1;f[A>>2]=1;yl(s,ca)}while(0);d[G>>1]=v;f[H>>2]=a;if(b[Z>>0]|0){p=102;break}l=Xp(M,i,k,$)|0;z=z+1|0;if(!(z>>>0<50&(l|0)==17)){p=102;break}else l=17}if((p|0)==45){f[U>>2]=e;ni(ca,59548,U);p=50}else if((p|0)==47){f[V>>2]=e;ni(ca,59578,V);p=50}else if((p|0)==49){f[X>>2]=e;ni(ca,59614,X);p=50}else if((p|0)==63){f[Y>>2]=g;l=Ig(a,53979,Y)|0;f[$>>2]=l;l=1;p=105}else if((p|0)==79){f[W>>2]=n;l=Ig(a,59655,W)|0;f[$>>2]=l;l=1;p=105}else if((p|0)==102)if(!l)p=103;else p=105;if((p|0)==50){l=ca+4|0;n=f[l>>2]|0;if(!n){l=1;p=105}else{f[$>>2]=n;f[l>>2]=0;l=1;p=105}}else if((p|0)==103)if(!(b[Z>>0]|0)){f[m>>2]=M;o=0}else{l=0;p=105}do if((p|0)==105)if(K){r=f[L>>2]|0;do if(r|0){s=r+20|0;n=f[s>>2]|0;if((n|0)<832317811)switch(n|0){case 770837923:{p=108;break}default:{}}else switch(n|0){case 832317811:{p=108;break}default:{}}if((p|0)==108)fg(r)|0;p=f[r>>2]|0;gg(p,r);q=f[r+4>>2]|0;o=r+8|0;n=f[o>>2]|0;if(!q)f[p+4>>2]=n;else{f[q+8>>2]=n;n=f[o>>2]|0}if(n|0)f[n+4>>2]=q;f[s>>2]=1443283912;f[r>>2]=0;if(p|0){if(f[p+480>>2]|0){Kc(p,r);break}m=r;if((f[p+304>>2]|0)>>>0<=m>>>0?(f[p+308>>2]|0)>>>0>m>>>0:0){m=p+300|0;f[r>>2]=f[m>>2];f[m>>2]=r;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{m=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}while(0);if(!_){if(f[N>>2]|0){Kc(a,M);o=l;break}m=M;if((f[O>>2]|0)>>>0<=m>>>0?(f[P>>2]|0)>>>0>m>>>0:0){f[M>>2]=f[Q>>2];f[Q>>2]=M;o=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](M);o=l;break}else{o=ib[f[37368>>2]&255](M)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](M);o=l;break}}else o=l;while(0);l=f[$>>2]|0;$=(l|0)==0;f[aa>>2]=l;vg(a,o,$?0:40840,aa);do if(!$){if(!_){if(f[N>>2]|0){Kc(a,l);break}aa=l;if((f[O>>2]|0)>>>0<=aa>>>0?(f[P>>2]|0)>>>0>aa>>>0:0){f[l>>2]=f[Q>>2];f[Q>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{aa=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);n=f[ca>>2]|0;l=f[ca+64>>2]|0;do if(l|0){if(n|0){if(f[n+480>>2]|0){Kc(n,l);break}aa=l;if((f[n+304>>2]|0)>>>0<=aa>>>0?(f[n+308>>2]|0)>>>0>aa>>>0:0){aa=n+300|0;f[l>>2]=f[aa>>2];f[aa>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{aa=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);l=f[ca+68>>2]|0;if(l|0)jg(n,l);l=ca+24|0;if(n|0){ca=n+272|0;f[ca>>2]=(f[ca>>2]|0)-(h[l>>0]|0)}b[l>>0]=0;if((o|0)==3082|(b[Z>>0]|0)!=0){Di(a);a=7;t=da;return a|0}else{a=f[a+68>>2]&o;t=da;return a|0}return 0}function Xp(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=t;t=t+32|0;n=r+16|0;m=r+8|0;o=r;q=a+16|0;l=f[q>>2]|0;i=f[l+92>>2]|0;d[i+48>>1]=4;i=i+40|0;f[i>>2]=c;f[i+4>>2]=e;i=l+36|0;if((f[i>>2]|0)>4){f[i>>2]=4;k=Ji(l)|0}else k=Ei(f[q>>2]|0)|0;if((k|0)!=100){i=f[q>>2]|0;if(!i){p=0;q=k;f[g>>2]=p;t=r;return q|0}k=Fi(i)|0;f[q>>2]=0;i=f[a+20>>2]|0;if(!k){p=m;f[p>>2]=c;f[p+4>>2]=e;p=Ig(i,59718,m)|0;q=1;f[g>>2]=p;t=r;return q|0}else{p=Mj(i)|0;f[n>>2]=p;p=Ig(i,40840,n)|0;q=k;f[g>>2]=p;t=r;return q|0}}l=f[f[l+112>>2]>>2]|0;i=d[a+8>>1]|0;a:do if((j[l+58>>1]|0)>(i&65535)){i=i&65535;k=f[l+88+(i<<2)>>2]|0;if(k>>>0<12){i=f[a+20>>2]|0;switch(k|0){case 7:{k=41700;break a}case 0:{p=9;break a}default:{}}k=41692;break}f[a+4>>2]=f[l+88+((d[l+56>>1]|0)+i<<2)>>2];if(k>>>0>127)i=(k+-12|0)>>>1;else i=h[7808+k>>0]|0;f[a>>2]=i;p=f[l+40>>2]|0;f[a+12>>2]=p;q=p+1|0;b[q>>0]=b[q>>0]|16;b[(f[p+8>>2]|0)+11>>0]=1;p=0;q=0;f[g>>2]=p;t=r;return q|0}else{i=f[a+20>>2]|0;p=9}while(0);if((p|0)==9)k=41715;f[o>>2]=k;p=Ig(i,59689,o)|0;Fi(f[q>>2]|0)|0;f[q>>2]=0;q=1;f[g>>2]=p;t=r;return q|0}function Yp(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!(b[a>>0]|0)){e=ph(a,c,d,e,0)|0;return e|0}else{e=$p(a,c,d,e)|0;return e|0}return 0}function Zp(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=t;t=t+16|0;h=m;if(!a){f[h>>2]=40433;f[h+4>>2]=90942;f[h+8>>2]=40460;Ac(21,40408,h);l=21;t=m;return l|0}k=f[a+20>>2]|0;i=a+16|0;j=f[i>>2]|0;do if((e|d|0)>=0?(n=KA(e|0,((e|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0,p=ba()|0,h=f[a>>2]|0,o=((h|0)<0)<<31>>31,!((p|0)>(o|0)|(p|0)==(o|0)&n>>>0>h>>>0)):0)if(!j){h=4;l=24}else{h=f[a+12>>2]|0;p=f[h+8>>2]|0;f[(f[p+4>>2]|0)+4>>2]=f[p>>2];h=lb[g&127](h,(f[a+4>>2]|0)+e|0,d,c)|0;if((h|0)!=4){f[j+40>>2]=h;f[k+64>>2]=h;if(h|0){l=27;break}if(!(f[k+256>>2]|0)){h=0;break}Bg(k,0);h=0;break}e=j+20|0;h=f[e>>2]|0;if((h|0)<832317811)switch(h|0){case 770837923:{l=8;break}default:{}}else switch(h|0){case 832317811:{l=8;break}default:{}}if((l|0)==8)fg(j)|0;c=f[j>>2]|0;gg(c,j);d=f[j+4>>2]|0;a=j+8|0;h=f[a>>2]|0;if(!d)f[c+4>>2]=h;else{f[d+8>>2]=h;h=f[a>>2]|0}if(h|0)f[h+4>>2]=d;f[e>>2]=1443283912;f[j>>2]=0;do if(c){if(f[c+480>>2]|0){Kc(c,j);break}p=j;if((f[c+304>>2]|0)>>>0<=p>>>0?(f[c+308>>2]|0)>>>0>p>>>0:0){p=c+300|0;f[j>>2]=f[p>>2];f[p>>2]=j}else l=20}else l=20;while(0);do if((l|0)==20)if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{p=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}while(0);f[i>>2]=0;h=4;l=24}else{h=1;l=24}while(0);if((l|0)==24){f[k+64>>2]=h;l=27}if((l|0)==27)Bg(k,h);if((h|0)==3082|(b[k+81>>0]|0)!=0){Di(k);p=7;t=m;return p|0}else{p=f[k+68>>2]&h;t=m;return p|0}return 0}function _p(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=t;t=t+16|0;i=k;g=b[a>>0]|0;if((g&255)>2){if(g<<24>>24==4){j=f[a+4>>2]|0;t=k;return ((j|0)==0?4:j)|0}b[a>>0]=1;h=a+16|0;g=a+56|0;g=lk(a,f[h>>2]|0,f[g>>2]|0,f[g+4>>2]|0,0,i)|0;if(g|0){j=g;t=k;return j|0}g=f[h>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{l=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[h>>2]=0;g=a+4|0;l=f[g>>2]|f[i>>2];f[g>>2]=l;g=b[a>>0]|0;if((l|0)!=0&g<<24>>24==0){b[a>>0]=2;g=2}}if(g<<24>>24){l=4;t=k;return l|0}i=f[a+64>>2]|0;g=f[(f[a+20>>2]|0)+8>>2]|0;a:do if(!g)j=25;else{b:do if(i){do{if((g|0)!=(a|0)?(f[g+64>>2]|0)==(i|0):0)break b;g=f[g+24>>2]|0}while((g|0)!=0);if(!a)break a;else{j=25;break a}}else{h=a+24|0;while(1){if((g|0)!=(a|0))break b;g=f[h>>2]|0;if(!g){j=25;break a}}}while(0);Kg(g,i,a)|0}while(0);if((j|0)==25){l=a+1|0;b[l>>0]=b[l>>0]&-33}if(!(b[a+1>>0]&1)){l=8;t=k;return l|0}l=ph(a,c,d,e,1)|0;t=k;return l|0}function $p(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;j=t;t=t+16|0;i=j;g=b[a>>0]|0;if(g<<24>>24==1){e=4;t=j;return e|0}if(g<<24>>24==4){g=f[a+4>>2]|0;if(g|0){e=g;t=j;return e|0}}else{b[a>>0]=1;h=a+16|0;g=a+56|0;g=lk(a,f[h>>2]|0,f[g>>2]|0,f[g+4>>2]|0,0,i)|0;if(g|0){e=g;t=j;return e|0}g=f[h>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{k=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[h>>2]=0;h=a+4|0;k=f[h>>2]|f[i>>2];f[h>>2]=k;if(k|0?(b[a>>0]|0)==0:0)b[a>>0]=2}k=ph(a,c,d,e,0)|0;t=j;return k|0}function aq(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=t;t=t+32|0;j=k+16|0;e=k;h=k+20|0;if(!a){f[e>>2]=40433;f[e+4>>2]=91040;f[e+8>>2]=40460;Ac(21,40408,e);j=21;t=k;return j|0}i=f[a+20>>2]|0;if(!(f[a+16>>2]|0))e=4;else{e=Xp(a,c,d,h)|0;do if(e|0?(g=f[h>>2]|0,h=(g|0)==0,f[j>>2]=g,vg(i,e,h?0:40840,j),!h):0){if(i|0){if(f[i+480>>2]|0){Kc(i,g);break}j=g;if((f[i+304>>2]|0)>>>0<=j>>>0?(f[i+308>>2]|0)>>>0>j>>>0:0){j=i+300|0;f[g>>2]=f[j>>2];f[j>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{j=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0)}if((e|0)==3082|(b[i+81>>0]|0)!=0){Di(i);j=7;t=k;return j|0}else{j=f[i+68>>2]&e;t=k;return j|0}return 0}function bq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ki(a,b,c,128,0,d,e)|0}function cq(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=t;t=t+16|0;n=o;k=f[a+348>>2]|0;if(!k){i=a+340|0;g=a+344|0}else{i=b[c>>0]|0;if(!(i<<24>>24))g=0;else{g=0;j=c;do{j=j+1|0;g=U(g+(h[1232+(i&255)>>0]|0)|0,-1640531535)|0;i=b[j>>0]|0}while(i<<24>>24!=0)}g=(g>>>0)%((f[a+336>>2]|0)>>>0)|0;i=k+(g<<3)|0;g=k+(g<<3)+4|0}i=f[i>>2]|0;a:do if(!i)g=72124;else{m=h[1232+(h[c>>0]|0)>>0]|0;while(1){g=f[g>>2]|0;i=i+-1|0;k=f[g+12>>2]|0;l=b[k>>0]|0;j=(h[1232+(l&255)>>0]|0)-m|0;if(!(l<<24>>24==0|(j|0)!=0)){l=c;do{k=k+1|0;l=l+1|0;p=b[k>>0]|0;j=(h[1232+(p&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(p<<24>>24==0|(j|0)!=0))}if(!j)break a;if(!i){g=72124;break}}}while(0);if(!(f[g+8>>2]|0)){ri(a,c,d,e,0)|0;g=0}else{f[n>>2]=40433;f[n+4>>2]=133630;f[n+8>>2]=40460;Ac(21,40408,n);g=21}if(!(b[a+81>>0]|0)){p=f[a+68>>2]&g;t=o;return p|0}else{Di(a);p=7;t=o;return p|0}return 0}function dq(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=t;t=t+16|0;o=p;l=f[a+348>>2]|0;if(!l){j=a+340|0;i=a+344|0}else{j=b[c>>0]|0;if(!(j<<24>>24))i=0;else{i=0;k=c;do{k=k+1|0;i=U(i+(h[1232+(j&255)>>0]|0)|0,-1640531535)|0;j=b[k>>0]|0}while(j<<24>>24!=0)}i=(i>>>0)%((f[a+336>>2]|0)>>>0)|0;j=l+(i<<3)|0;i=l+(i<<3)+4|0}j=f[j>>2]|0;a:do if(!j)i=72124;else{n=h[1232+(h[c>>0]|0)>>0]|0;while(1){i=f[i>>2]|0;j=j+-1|0;l=f[i+12>>2]|0;m=b[l>>0]|0;k=(h[1232+(m&255)>>0]|0)-n|0;if(!(m<<24>>24==0|(k|0)!=0)){m=c;do{l=l+1|0;m=m+1|0;q=b[l>>0]|0;k=(h[1232+(q&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(q<<24>>24==0|(k|0)!=0))}if(!k)break a;if(!j){i=72124;break}}}while(0);if(!(f[i+8>>2]|0)){ri(a,c,d,e,g)|0;i=0}else{f[o>>2]=40433;f[o+4>>2]=133630;f[o+8>>2]=40460;Ac(21,40408,o);i=21}if(!(b[a+81>>0]|0))i=f[a+68>>2]&i;else{Di(a);i=7}if(!((g|0)!=0&(i|0)!=0)){t=p;return i|0}ob[g&127](e);t=p;return i|0}function eq(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;i=t;t=t+48|0;e=i+32|0;h=i+16|0;g=i;f[g>>2]=d;do if((c|0)==1){c=f[a+352>>2]|0;if(!c){f[h>>2]=40433;f[h+4>>2]=134773;f[h+8>>2]=40460;Ac(21,40408,h);break}a=(f[g>>2]|0)+(4-1)&~(4-1);h=f[a>>2]|0;f[g>>2]=a+4;b[(f[c>>2]|0)+16>>0]=h;h=0;t=i;return h|0}else{f[e>>2]=40433;f[e+4>>2]=134781;f[e+8>>2]=40460;Ac(21,40408,e)}while(0);f[a+64>>2]=21;Bg(a,21);h=21;t=i;return h|0}function fq(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+16|0;g=m;f[g>>2]=d;do switch(c|0){case 1e3:{k=(f[g>>2]|0)+(4-1)&~(4-1);l=f[k>>2]|0;f[g>>2]=k+4;f[f[a+16>>2]>>2]=l;l=0;t=m;return l|0}case 1001:{i=(f[g>>2]|0)+(4-1)&~(4-1);j=f[i>>2]|0;f[g>>2]=i+4;i=(f[g>>2]|0)+(4-1)&~(4-1);k=f[i>>2]|0;f[g>>2]=i+4;i=(f[g>>2]|0)+(4-1)&~(4-1);l=f[i>>2]|0;f[g>>2]=i+4;l=gq(a,j,k,l)|0;t=m;return l|0}case 1002:{j=0;break}case 1003:{j=1;break}case 1004:{j=2;break}case 1005:{j=3;break}case 1006:{j=4;break}case 1007:{j=5;break}case 1008:{j=6;break}case 1009:{j=7;break}case 1010:{j=8;break}default:{l=1;t=m;return l|0}}while(0);i=(f[g>>2]|0)+(4-1)&~(4-1);d=f[i>>2]|0;f[g>>2]=i+4;i=(f[g>>2]|0)+(4-1)&~(4-1);k=f[i>>2]|0;f[g>>2]=i+4;i=a+32|0;c=i;g=f[c>>2]|0;c=f[c+4>>2]|0;if((d|0)<=0)if(!d){d=g&~f[23376+(j<<3)+4>>2];c=0;l=16}else d=g;else{d=g|f[23376+(j<<3)+4>>2];l=16}if((l|0)==16){l=i;f[l>>2]=d;f[l+4>>2]=c}if(!((g|0)==(d|0)&0==(c|0))?(e=f[a+4>>2]|0,e|0):0)do{l=e+145|0;a=(h[l>>0]|h[l+1>>0]<<8)&-4|1;b[l>>0]=a;b[l+1>>0]=a>>8;e=f[e+8>>2]|0}while((e|0)!=0);if(!k){l=0;t=m;return l|0}f[k>>2]=(0?1:(f[i>>2]&f[23376+(j<<3)+4>>2]|0)!=0)&1;l=0;t=m;return l|0} -function ql(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,jb=0,kb=0,lb=0,mb=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0;ae=t;t=t+1648|0;pd=ae+1600|0;nd=ae+1592|0;md=ae+1576|0;ld=ae+1568|0;kd=ae+1552|0;Cd=ae+1544|0;Bd=ae+1536|0;Mc=ae+1528|0;Gc=ae+1512|0;Jc=ae+1496|0;Ic=ae+1480|0;Cc=ae+1456|0;Bc=ae+1416|0;zc=ae+1408|0;cc=ae+1400|0;bc=ae+1392|0;Wa=ae+1384|0;$c=ae+1376|0;Qa=ae+1368|0;Pa=ae+1360|0;Fc=ae+1336|0;ac=ae+1328|0;Vb=ae+1320|0;Rb=ae+1312|0;Qb=ae+1304|0;Pb=ae+1296|0;Ib=ae+1288|0;Hb=ae+1280|0;sd=ae+1272|0;jd=ae+1256|0;rd=ae+1240|0;qd=ae+1224|0;Tc=ae+1200|0;Sc=ae+1184|0;Rc=ae+1152|0;Qc=ae+1120|0;gc=ae+1112|0;fc=ae+1104|0;Ub=ae+1096|0;Ob=ae+1088|0;Nb=ae+1080|0;Vc=ae+1072|0;_c=ae+1064|0;Ed=ae+1056|0;kb=ae+1048|0;cb=ae+1040|0;Ec=ae+1032|0;Ac=ae+1024|0;Uc=ae+1016|0;cd=ae+1008|0;Ma=ae+1e3|0;o=ae+992|0;n=ae+984|0;g=ae+976|0;Xd=ae+968|0;Wd=ae+960|0;Ud=ae+952|0;Td=ae+944|0;Sd=ae+936|0;Rd=ae+920|0;Qd=ae+912|0;Md=ae+904|0;Hd=ae+896|0;zd=ae+888|0;yd=ae+880|0;Yc=ae+872|0;Bb=ae+864|0;vb=ae+856|0;ub=ae+848|0;Dd=ae+840|0;xd=ae+816|0;Hc=ae+808|0;la=ae+800|0;V=ae+792|0;id=ae+784|0;hd=ae+768|0;gd=ae+760|0;od=ae;Oc=ae+752|0;yc=ae+744|0;xc=ae+736|0;oc=ae+728|0;nc=ae+720|0;jb=ae+712|0;hb=ae+704|0;u=ae+696|0;E=ae+688|0;Tb=ae+680|0;Va=ae+672|0;ab=ae+664|0;Ua=ae+656|0;rc=ae+648|0;Lb=ae+640|0;Kb=ae+632|0;lc=ae+624|0;tb=ae+616|0;sb=ae+608|0;$a=ae+600|0;Ta=ae+592|0;qc=ae+584|0;Gb=ae+576|0;Ab=ae+568|0;ec=ae+560|0;jc=ae+552|0;rb=ae+544|0;gb=ae+536|0;qb=ae+528|0;Fb=ae+520|0;Eb=ae+512|0;fb=ae+504|0;zb=ae+496|0;$b=ae+488|0;ta=ae+480|0;sa=ae+472|0;_b=ae+464|0;ra=ae+456|0;qa=ae+448|0;Zb=ae+440|0;Sa=ae+432|0;r=ae+424|0;N=ae+416|0;D=ae+408|0;Ja=ae+400|0;za=ae+392|0;pa=ae+384|0;s=ae+376|0;ya=ae+368|0;na=ae+360|0;mb=ae+352|0;G=ae+344|0;ud=ae+336|0;lb=ae+328|0;td=ae+320|0;Wb=ae+312|0;Zc=ae+304|0;ma=ae+296|0;xb=ae+288|0;wb=ae+280|0;db=ae+272|0;kc=ae+264|0;Ya=ae+256|0;Xa=ae+248|0;xa=ae+240|0;wa=ae+232|0;va=ae+224|0;Oa=ae+216|0;Na=ae+208|0;ua=ae+200|0;bb=ae+192|0;bd=ae+184|0;O=ae+176|0;Mb=ae+168|0;ka=ae+160|0;ja=ae+152|0;ia=ae+144|0;ha=ae+136|0;ga=ae+128|0;oa=ae+120|0;Q=ae+112|0;P=ae+104|0;F=ae+96|0;C=ae+88|0;M=ae+80|0;Yd=ae+48|0;Ld=ae+24|0;vc=ae+1616|0;$d=f[a>>2]|0;_d=b[20416+(c<<2)+2>>0]|0;if(_d<<24>>24==0?$d>>>0>=(f[a+1208>>2]|0)>>>0:0){l=a+4|0;m=f[l>>2]|0;g=a+8|0;if($d>>>0>g>>>0?(f[a>>2]=$d+-12,rl(m,d[$d+2>>1]|0,$d+4|0),I=f[a>>2]|0,I>>>0>g>>>0):0){k=I;do{$d=f[l>>2]|0;f[a>>2]=k+-12;rl($d,d[k+2>>1]|0,k+4|0);k=f[a>>2]|0}while(k>>>0>g>>>0)}ni(m,50941,M);f[l>>2]=m;a=0;t=ae;return a|0}a:do switch(c|0){case 0:{b[i+195>>0]=1;break}case 1:{b[i+195>>0]=2;break}case 2:{w=f[i>>2]|0;if(!(b[i+18>>0]|0)){B=w+81|0;if((b[B>>0]|0)==0?(Id=i+36|0,(f[Id>>2]|0)==0):0){A=i+8|0;k=f[A>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[w+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(k|0){x=k;Zd=21}}else{x=k;Zd=21}if((Zd|0)==21){y=x+136|0;k=f[y>>2]|0;z=x+12|0;if((f[(f[z>>2]|0)+48>>2]|0)>(k|0)){f[y>>2]=k+1;M=f[x+88>>2]|0;b[M+(k*20|0)>>0]=69;M=M+(k*20|0)+1|0;N=M+19|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0))}else tl(x,69,0,0,0)|0;do if(!(b[B>>0]|0)){v=i+84|0;m=f[v>>2]|0;if(!m){if(!(f[i+68>>2]|0))break;k=f[y>>2]|0;if(!(b[(f[x>>2]|0)+81>>0]|0))l=f[x+88>>2]|0;else l=72144}else{k=f[y>>2]|0;if(!(b[(f[x>>2]|0)+81>>0]|0))l=f[x+88>>2]|0;else l=72144}f[l+8>>2]=k;q=w+20|0;b:do if((f[q>>2]|0)>0){r=x+148|0;s=w+16|0;u=i+80|0;n=x+88|0;o=x+152|0;p=w+165|0;k=0;while(1){l=1<>2]=f[r>>2]|l;if((k|0)!=1?b[(f[(f[(f[x>>2]|0)+16>>2]|0)+(k<<4)+4>>2]|0)+9>>0]|0:0)f[o>>2]=f[o>>2]|l;e=f[(f[s>>2]|0)+(k<<4)+12>>2]|0;m=(f[u>>2]&l|0)!=0&1;g=f[e>>2]|0;e=f[e+4>>2]|0;l=f[y>>2]|0;if((f[(f[z>>2]|0)+48>>2]|0)>(l|0)){f[y>>2]=l+1;Yd=f[n>>2]|0;b[Yd+(l*20|0)>>0]=2;d[Yd+(l*20|0)+2>>1]=0;f[Yd+(l*20|0)+4>>2]=k;f[Yd+(l*20|0)+8>>2]=m;f[Yd+(l*20|0)+12>>2]=g;f[Yd+(l*20|0)+16>>2]=0;b[Yd+(l*20|0)+1>>0]=0}else l=tl(x,2,k,m,g)|0;if(!(b[(f[x>>2]|0)+81>>0]|0)){Yd=f[n>>2]|0;b[Yd+(l*20|0)+1>>0]=-3;f[Yd+(l*20|0)+16>>2]=e}if(b[p>>0]|0)break;l=f[y>>2]|0;if((l|0)<=0)break;d[(f[n>>2]|0)+((l+-1|0)*20|0)+2>>1]=1}while(0);k=k+1|0;if((k|0)>=(f[q>>2]|0))break b;m=f[v>>2]|0}}while(0);n=i+200|0;if((f[n>>2]|0)>0){o=i+248|0;p=x+88|0;e=0;do{k=f[(f[(f[o>>2]|0)+(e<<2)>>2]|0)+64>>2]|0;c:do if(!k)k=0;else while(1){if((f[k>>2]|0)==(w|0))break c;k=f[k+24>>2]|0;if(!k){k=0;break}}while(0);l=f[y>>2]|0;if((f[(f[z>>2]|0)+48>>2]|0)>(l|0)){f[y>>2]=l+1;M=f[p>>2]|0;b[M+(l*20|0)>>0]=-95;M=M+(l*20|0)+1|0;N=M+19|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0))}else l=tl(x,161,0,0,0)|0;do if(!(b[(f[x>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[y>>2]|0)+-1|0;m=f[p>>2]|0;g=m+(l*20|0)+1|0;if(b[g>>0]|0){ul(x,m+(l*20|0)|0,k,-12);break}if(!k)break;f[m+(l*20|0)+16>>2]=k;b[g>>0]=-12;Yd=k+12|0;f[Yd>>2]=(f[Yd>>2]|0)+1}while(0);e=e+1|0}while((e|0)<(f[n>>2]|0))}f[n>>2]=0;k=f[A>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0}o=i+104|0;if((f[o>>2]|0)>0){p=i+108|0;q=k+136|0;r=k+12|0;s=k+88|0;n=0;do{u=f[p>>2]|0;m=f[u+(n<<4)>>2]|0;g=f[u+(n<<4)+4>>2]|0;e=h[u+(n<<4)+8>>0]|0;u=f[u+(n<<4)+12>>2]|0;l=f[q>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(l|0)){f[q>>2]=l+1;Yd=f[s>>2]|0;b[Yd+(l*20|0)>>0]=-96;d[Yd+(l*20|0)+2>>1]=0;f[Yd+(l*20|0)+4>>2]=m;f[Yd+(l*20|0)+8>>2]=g;f[Yd+(l*20|0)+12>>2]=e;f[Yd+(l*20|0)+16>>2]=0;b[Yd+(l*20|0)+1>>0]=0}else l=tl(k,160,m,g,e)|0;do if(!(b[(f[k>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[q>>2]|0)+-1|0;m=f[s>>2]|0;g=m+(l*20|0)+1|0;if(b[g>>0]|0){ul(k,m+(l*20|0)|0,u,-1);break}if(!u)break;f[m+(l*20|0)+16>>2]=u;b[g>>0]=-1}while(0);n=n+1|0}while((n|0)<(f[o>>2]|0))}n=f[A>>2]|0;k=f[i+112>>2]|0;d:do if(k|0){o=(f[i>>2]|0)+16|0;p=n+136|0;q=n+12|0;r=n+88|0;do{e=f[k+8>>2]|0;g=f[k+12>>2]|0;vl(i,0,e,f[(f[(f[o>>2]|0)+(e<<4)+12>>2]|0)+72>>2]|0,109);e=g+-1|0;m=f[f[k+4>>2]>>2]|0;l=f[p>>2]|0;if((f[(f[q>>2]|0)+48>>2]|0)>(l|0)){f[p>>2]=l+1;Yd=f[r>>2]|0;b[Yd+(l*20|0)>>0]=106;d[Yd+(l*20|0)+2>>1]=0;f[Yd+(l*20|0)+4>>2]=0;f[Yd+(l*20|0)+8>>2]=e;f[Yd+(l*20|0)+12>>2]=0;f[Yd+(l*20|0)+16>>2]=0;b[Yd+(l*20|0)+1>>0]=0}else l=tl(n,106,0,e,0)|0;if(!(b[(f[n>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[p>>2]|0)+-1|0;ul(n,(f[r>>2]|0)+(l*20|0)|0,m,0)}l=wl(n,12,21888)|0;if(!l)break d;f[l+8>>2]=g;Yd=g+2|0;f[l+12>>2]=Yd;f[l+52>>2]=g;f[l+64>>2]=e;f[l+72>>2]=g;d[l+62>>1]=16;f[l+88>>2]=g+1;f[l+112>>2]=g;f[l+124>>2]=g;f[l+148>>2]=Yd;f[l+144>>2]=g;f[l+208>>2]=g;k=f[k>>2]|0}while((k|0)!=0)}while(0);n=f[i+68>>2]|0;if(n|0?(b[i+23>>0]=0,(f[n>>2]|0)>0):0){e=0;do{k=f[n+4+(e*20|0)>>2]|0;o=f[n+4+(e*20|0)+16>>2]|0;do if(k){if((b[k>>0]|0)!=-92){g=xl(i,k,o)|0;Zd=103;break}g=f[A>>2]|0;k=f[k+28>>2]|0;l=g+136|0;m=f[l>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;Yd=f[g+88>>2]|0;b[Yd+(m*20|0)>>0]=78;d[Yd+(m*20|0)+2>>1]=0;f[Yd+(m*20|0)+4>>2]=k;f[Yd+(m*20|0)+8>>2]=o;f[Yd+(m*20|0)+12>>2]=0;f[Yd+(m*20|0)+16>>2]=0;b[Yd+(m*20|0)+1>>0]=0;break}else{tl(g,78,k,o,0)|0;break}}else{g=xl(i,0,o)|0;Zd=103}while(0);do if((Zd|0)==103){Zd=0;if((g|0)==(o|0))break;k=f[A>>2]|0;if(!k)break;l=k+136|0;m=f[l>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;Yd=f[k+88>>2]|0;b[Yd+(m*20|0)>>0]=79;d[Yd+(m*20|0)+2>>1]=0;f[Yd+(m*20|0)+4>>2]=g;f[Yd+(m*20|0)+8>>2]=o;f[Yd+(m*20|0)+12>>2]=0;f[Yd+(m*20|0)+16>>2]=0;b[Yd+(m*20|0)+1>>0]=0;break}else{tl(k,79,g,o,0)|0;break}}while(0);e=e+1|0}while((e|0)<(f[n>>2]|0))}k=f[y>>2]|0;if((f[(f[z>>2]|0)+48>>2]|0)>(k|0)){f[y>>2]=k+1;Zd=f[x+88>>2]|0;b[Zd+(k*20|0)>>0]=11;d[Zd+(k*20|0)+2>>1]=0;f[Zd+(k*20|0)+4>>2]=0;f[Zd+(k*20|0)+8>>2]=1;f[Zd+(k*20|0)+12>>2]=0;f[Zd+(k*20|0)+16>>2]=0;b[Zd+(k*20|0)+1>>0]=0;break}else{tl(x,11,0,1,0)|0;break}}while(0);if((f[Id>>2]|0)==0?(b[B>>0]|0)==0:0){if(f[i+112>>2]|0?(Jd=i+40|0,(f[Jd>>2]|0)==0):0)f[Jd>>2]=1;yl(x,i);f[i+12>>2]=101;break a}}f[i+12>>2]=1;break a}k=i+12|0;if(!(f[k>>2]|0))f[k>>2]=1}break}case 3:{m=f[$d+-8>>2]|0;l=f[i>>2]|0;do if(((b[l+165>>0]|0)==0?(b[i+196>>0]|0)==0:0)?(y=f[l+312>>2]|0,y|0):0){k=nb[y&127](f[l+316>>2]|0,22,44244,0,0,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,C);f[i+12>>2]=23;break a}if((k|2|0)==2)if(!k)break;else break a;else{ni(i,49831,F);f[i+12>>2]=1;break a}}while(0);k=f[i+8>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(!k)break a}if((m|0)==7){l=k+136|0;m=f[l>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;M=f[k+88>>2]|0;b[M+(m*20|0)>>0]=1;M=M+(m*20|0)+1|0;N=M+19|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));break a}else{tl(k,1,0,0,0)|0;break a}}r=l+20|0;if((f[r>>2]|0)>0){n=(m|0)==9?2:1;g=k+136|0;l=k+12|0;o=k+88|0;p=k+148|0;q=k+152|0;e=0;do{m=f[g>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(m|0)){f[g>>2]=m+1;i=f[o>>2]|0;b[i+(m*20|0)>>0]=2;d[i+(m*20|0)+2>>1]=0;f[i+(m*20|0)+4>>2]=e;f[i+(m*20|0)+8>>2]=n;f[i+(m*20|0)+12>>2]=0;f[i+(m*20|0)+16>>2]=0;b[i+(m*20|0)+1>>0]=0}else tl(k,2,e,n,0)|0;m=1<>2]=f[p>>2]|m;if((e|0)!=1?b[(f[(f[(f[k>>2]|0)+16>>2]|0)+(e<<4)+4>>2]|0)+9>>0]|0:0)f[q>>2]=f[q>>2]|m;e=e+1|0}while((e|0)<(f[r>>2]|0))}else{g=k+136|0;l=k+12|0}m=f[g>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(m|0)){f[g>>2]=m+1;M=f[k+88>>2]|0;b[M+(m*20|0)>>0]=1;M=M+(m*20|0)+1|0;N=M+19|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));break a}else{tl(k,1,0,0,0)|0;break a}}case 4:{f[$d+16>>2]=7;break}case 7:case 6:case 5:{f[$d+4>>2]=j[$d+2>>1];break}case 9:case 8:{k=(d[$d+-10>>1]|0)==12;g=k&1;k=k?51015:51024;l=f[i>>2]|0;do if(((b[l+165>>0]|0)==0?(b[i+196>>0]|0)==0:0)?(L=f[l+312>>2]|0,L|0):0){k=nb[L&127](f[l+316>>2]|0,22,k,0,0,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,P);f[i+12>>2]=23;break a}if((k|2|0)==2)if(!k)break;else break a;else{ni(i,49831,Q);f[i+12>>2]=1;break a}}while(0);k=f[i+8>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(!k)break a}l=k+136|0;m=f[l>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;i=f[k+88>>2]|0;b[i+(m*20|0)>>0]=1;d[i+(m*20|0)+2>>1]=0;f[i+(m*20|0)+4>>2]=1;f[i+(m*20|0)+8>>2]=g;f[i+(m*20|0)+12>>2]=0;f[i+(m*20|0)+16>>2]=0;b[i+(m*20|0)+1>>0]=0;break a}else{tl(k,1,1,g,0)|0;break a}}case 10:{e=pl(f[i>>2]|0,$d+4|0)|0;if(e|0){k=f[i+8>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(k|0){g=k;Zd=173}}else{g=k;Zd=173}e:do if((Zd|0)==173){k=f[i>>2]|0;do if(((b[k+165>>0]|0)==0?(b[i+196>>0]|0)==0:0)?(ca=f[k+312>>2]|0,ca|0):0){k=nb[ca&127](f[k+316>>2]|0,32,44244,e,0,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,oa);f[i+12>>2]=23;break e}if((k|2|0)==2)if(!k)break;else break e;else{ni(i,49831,ga);f[i+12>>2]=1;break e}}while(0);m=g+136|0;k=f[m>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;i=(f[g+88>>2]|0)+(k*20|0)|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0}else k=tl(g,0,0,0,0)|0;l=f[g>>2]|0;if(!(b[l+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;l=f[g+88>>2]|0;m=l+(k*20|0)+1|0;if(!(b[m>>0]|0)){f[l+(k*20|0)+16>>2]=e;b[m>>0]=-7;break a}else{ul(g,l+(k*20|0)|0,e,-7);break a}}if(l|0){if(f[l+480>>2]|0){Kc(l,e);break a}i=e;if((f[l+304>>2]|0)>>>0<=i>>>0?(f[l+308>>2]|0)>>>0>i>>>0:0){i=l+300|0;f[e>>2]=f[i>>2];f[i>>2]=e;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break a}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break a}}while(0);k=f[i>>2]|0;if(k|0){if(f[k+480>>2]|0){Kc(k,e);break a}i=e;if((f[k+304>>2]|0)>>>0<=i>>>0?(f[k+308>>2]|0)>>>0>i>>>0:0){i=k+300|0;f[e>>2]=f[i>>2];f[i>>2]=e;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break a}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break a}}break}case 11:{e=pl(f[i>>2]|0,$d+4|0)|0;if(e|0){k=f[i+8>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(k|0){g=k;Zd=214}}else{g=k;Zd=214}f:do if((Zd|0)==214){k=f[i>>2]|0;do if(((b[k+165>>0]|0)==0?(b[i+196>>0]|0)==0:0)?(da=f[k+312>>2]|0,da|0):0){k=nb[da&127](f[k+316>>2]|0,32,51031,e,0,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,ha);f[i+12>>2]=23;break f}if((k|2|0)==2)if(!k)break;else break f;else{ni(i,49831,ia);f[i+12>>2]=1;break f}}while(0);m=g+136|0;k=f[m>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;i=f[g+88>>2]|0;b[i+(k*20|0)>>0]=0;d[i+(k*20|0)+2>>1]=0;f[i+(k*20|0)+4>>2]=1;f[i+(k*20|0)+8>>2]=0;f[i+(k*20|0)+12>>2]=0;f[i+(k*20|0)+16>>2]=0;b[i+(k*20|0)+1>>0]=0}else k=tl(g,0,1,0,0)|0;l=f[g>>2]|0;if(!(b[l+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;l=f[g+88>>2]|0;m=l+(k*20|0)+1|0;if(!(b[m>>0]|0)){f[l+(k*20|0)+16>>2]=e;b[m>>0]=-7;break a}else{ul(g,l+(k*20|0)|0,e,-7);break a}}if(l|0){if(f[l+480>>2]|0){Kc(l,e);break a}i=e;if((f[l+304>>2]|0)>>>0<=i>>>0?(f[l+308>>2]|0)>>>0>i>>>0:0){i=l+300|0;f[e>>2]=f[i>>2];f[i>>2]=e;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break a}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break a}}while(0);k=f[i>>2]|0;if(k|0){if(f[k+480>>2]|0){Kc(k,e);break a}i=e;if((f[k+304>>2]|0)>>>0<=i>>>0?(f[k+308>>2]|0)>>>0>i>>>0:0){i=k+300|0;f[e>>2]=f[i>>2];f[i>>2]=e;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break a}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break a}}break}case 12:{e=pl(f[i>>2]|0,$d+4|0)|0;if(e|0){k=f[i+8>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(k|0){g=k;Zd=255}}else{g=k;Zd=255}g:do if((Zd|0)==255){k=f[i>>2]|0;do if(((b[k+165>>0]|0)==0?(b[i+196>>0]|0)==0:0)?(ea=f[k+312>>2]|0,ea|0):0){k=nb[ea&127](f[k+316>>2]|0,32,51015,e,0,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,ja);f[i+12>>2]=23;break g}if((k|2|0)==2)if(!k)break;else break g;else{ni(i,49831,ka);f[i+12>>2]=1;break g}}while(0);m=g+136|0;k=f[m>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;i=f[g+88>>2]|0;b[i+(k*20|0)>>0]=0;d[i+(k*20|0)+2>>1]=0;f[i+(k*20|0)+4>>2]=2;f[i+(k*20|0)+8>>2]=0;f[i+(k*20|0)+12>>2]=0;f[i+(k*20|0)+16>>2]=0;b[i+(k*20|0)+1>>0]=0}else k=tl(g,0,2,0,0)|0;l=f[g>>2]|0;if(!(b[l+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;l=f[g+88>>2]|0;m=l+(k*20|0)+1|0;if(!(b[m>>0]|0)){f[l+(k*20|0)+16>>2]=e;b[m>>0]=-7;break a}else{ul(g,l+(k*20|0)|0,e,-7);break a}}if(l|0){if(f[l+480>>2]|0){Kc(l,e);break a}i=e;if((f[l+304>>2]|0)>>>0<=i>>>0?(f[l+308>>2]|0)>>>0>i>>>0:0){i=l+300|0;f[e>>2]=f[i>>2];f[i>>2]=e;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break a}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break a}}while(0);k=f[i>>2]|0;if(k|0){if(f[k+480>>2]|0){Kc(k,e);break a}i=e;if((f[k+304>>2]|0)>>>0<=i>>>0?(f[k+308>>2]|0)>>>0>i>>>0:0){i=k+300|0;f[e>>2]=f[i>>2];f[i>>2]=e;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break a}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break a}}break}case 13:{zl(i,$d+-8|0,$d+4|0,f[$d+-44>>2]|0,0,0,f[$d+-20>>2]|0);break}case 14:{Zd=i+24|0;b[Zd>>0]=(b[Zd>>0]|0)+1<<24>>24;i=(f[i>>2]|0)+272|0;f[i>>2]=(f[i>>2]|0)+1;break}case 226:case 93:case 76:case 67:case 57:case 42:case 21:case 18:case 15:{f[$d+16>>2]=0;break}case 16:{f[$d+-20>>2]=1;break}case 43:case 17:{f[$d+4>>2]=1;break}case 19:{Al(i,$d+-20|0,$d+-8|0,f[$d+4>>2]&255,0);break}case 20:{k=$d+4|0;Al(i,0,0,0,f[k>>2]|0);k=f[k>>2]|0;if(k|0)mg(f[i>>2]|0,k,1);break}case 22:{g=f[$d+8>>2]|0;k=f[$d+4>>2]|0;do if((g|0)==5)if(!k)k=0;else{l=b[k>>0]|0;do if(!(l<<24>>24)){l=47870;Zd=301}else{Yd=l&255;l=1232+Yd|0;if((Yd|32|0)==114){l=b[k+1>>0]|0;if(!(l<<24>>24)){l=47871;Zd=301;break}Yd=l&255;l=1232+Yd|0;if((Yd|32|0)==111){l=b[k+2>>0]|0;if(!(l<<24>>24)){l=47872;Zd=301;break}Yd=l&255;l=1232+Yd|0;if((Yd|32|0)==119){l=b[k+3>>0]|0;if(!(l<<24>>24)){l=47873;Zd=301;break}Yd=l&255;l=1232+Yd|0;if((Yd|32|0)==105){l=b[k+4>>0]|0;if(!(l<<24>>24)){l=47874;Zd=301;break}l=l&255;if((l|32|0)==100)break;else{m=100;l=1232+l|0}}else m=105}else m=119}else m=111}else m=114;Cb=h[l>>0]|0;pb=m;Zd=305}while(0);if((Zd|0)==301){Cb=0;pb=b[1232+(h[l>>0]|0)>>0]|0;Zd=305}if((Zd|0)==305?(Cb|0)!=(pb&255|0):0)break;f[$d+-8>>2]=96;break a}while(0);f[$d+-8>>2]=0;f[Mb>>2]=g;f[Mb+4>>2]=k;ni(i,51039,Mb);break}case 23:{e=$d+-8|0;q=f[i>>2]|0;n=f[i+224>>2]|0;if(n|0){u=n+42|0;if((f[q+116>>2]|0)<=(d[u>>1]|0)){f[O>>2]=f[n>>2];ni(i,51066,O);break a}g=$d+-4|0;s=$d+8|0;m=(f[g>>2]|0)+2+(f[s>>2]|0)|0;p=q+272|0;h:do if(f[p>>2]|0)if(!(b[q+81>>0]|0))Zd=321;else break a;else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){k=q+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];r=q+284|0;f[r>>2]=(f[r>>2]|0)+1;r=l;break h}k=q+296|0;l=f[k>>2]|0;if(!l){k=q+292|0;break}else{f[k>>2]=f[l>>2];r=q+284|0;f[r>>2]=(f[r>>2]|0)+1;r=l;break h}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=321}while(0);if((Zd|0)==321)r=Dc(q,m,0)|0;if(r|0){i:do if((h[i+196>>0]|0)>1){m=f[i>>2]|0;j:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=347;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Xd=f[18187]|0;Wd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Vd=ba()|0;f[17976]=((Vd|0)<0|(Vd|0)==0&Wd>>>0<=Xd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break i;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break i}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=347;break j}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=347;break j}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=347}while(0);if((Zd|0)==347)if(!k)break;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=r;Vd=e;Wd=f[Vd+4>>2]|0;Xd=l;f[Xd>>2]=f[Vd>>2];f[Xd+4>>2]=Wd;Xd=i+268|0;f[k+12>>2]=f[Xd>>2];f[Xd>>2]=k}while(0);YA(r|0,f[e>>2]|0,f[g>>2]|0)|0;b[r+(f[g>>2]|0)>>0]=0;k=b[r>>0]|0;if((b[5472+(k&255)>>0]|0)<0){g=k<<24>>24==91?93:k;m=0;k=1;while(1){l=b[r+k>>0]|0;if(l<<24>>24==g<<24>>24){k=k+1|0;l=r+m|0;if((b[r+k>>0]|0)!=g<<24>>24)break;b[l>>0]=g}else b[r+m>>0]=l;m=m+1|0;k=k+1|0}b[l>>0]=0}Xd=d[u>>1]|0;k=Xd<<16>>16;o=n+4|0;k:do if(Xd<<16>>16>0){n=f[o>>2]|0;e=0;while(1){m=f[n+(e<<4)>>2]|0;if(m|0){Xd=b[r>>0]|0;l=(h[1232+(Xd&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0;if(!(Xd<<24>>24==0|(l|0)!=0)){g=r;do{g=g+1|0;m=m+1|0;Xd=b[g>>0]|0;l=(h[1232+(Xd&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(Xd<<24>>24==0|(l|0)!=0))}if(!l)break}e=e+1|0;if((e|0)>=(k|0))break k}f[bd>>2]=r;ni(i,51089,bd);if(f[q+480>>2]|0){Kc(q,r);break a}i=r;if((f[q+304>>2]|0)>>>0<=i>>>0?(f[q+308>>2]|0)>>>0>i>>>0:0){i=q+300|0;f[r>>2]=f[i>>2];f[i>>2]=r;break a}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break a}else{i=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break a}}while(0);do if(!(k&7)){l=f[o>>2]|0;m=(k<<4)+128|0;l:do if(!l){if(f[p>>2]|0){if(b[q+81>>0]|0)break}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){k=q+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];ed=q+284|0;f[ed>>2]=(f[ed>>2]|0)+1;ed=l;Zd=392;break l}k=q+296|0;l=f[k>>2]|0;if(!l){k=q+292|0;break}else{f[k>>2]=f[l>>2];ed=q+284|0;f[ed>>2]=(f[ed>>2]|0)+1;ed=l;Zd=392;break l}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}ed=Dc(q,m,0)|0;Zd=392}else{Zd=l;if((f[q+304>>2]|0)>>>0<=Zd>>>0?(f[q+308>>2]|0)>>>0>Zd>>>0:0){if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){Zd=402;break}ed=Lc(q,l,m,0)|0;Zd=392;break}ed=Lc(q,l,m,0)|0;Zd=392}while(0);if((Zd|0)==392?ed|0:0){l=ed;k=d[u>>1]|0;Zd=402}if((Zd|0)==402){f[o>>2]=l;q=k;p=l;break}if(f[q+480>>2]|0){Kc(q,r);break a}i=r;if((f[q+304>>2]|0)>>>0<=i>>>0?(f[q+308>>2]|0)>>>0>i>>>0:0){i=q+300|0;f[r>>2]=f[i>>2];f[i>>2]=r;break a}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break a}else{i=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break a}}else{q=k;p=f[o>>2]|0}while(0);o=p+(q<<4)|0;k=p+(q<<4)+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[o>>2]=r;k=f[s>>2]|0;if(!k){b[p+(q<<4)+13>>0]=65;b[p+(q<<4)+14>>0]=1}else{n=r+((wz(r)|0)&1073741823)+1|0;YA(n|0,f[$d+4>>2]|0,k|0)|0;b[n+(f[s>>2]|0)>>0]=0;k=b[n>>0]|0;if((b[5472+(k&255)>>0]|0)<0){g=k<<24>>24==91?93:k;m=0;k=1;while(1){l=b[n+k>>0]|0;if(l<<24>>24==g<<24>>24){k=k+1|0;l=n+m|0;if((b[n+k>>0]|0)!=g<<24>>24)break;b[l>>0]=g}else b[n+m>>0]=l;m=m+1|0;k=k+1|0}b[l>>0]=0;k=b[n>>0]|0}m:do if(!(k<<24>>24)){k=0;m=67}else{l=67;e=0;g=n;m=0;while(1){e=e<<8|h[1232+(k&255)>>0];g=g+1|0;n:do if((e|0)<1685026146){if((e|0)<1667785074){switch(e|0){case 1651273570:break;default:{Zd=425;break n}}switch(l<<24>>24){case 69:case 67:break;default:{Zd=424;break n}}k=b[g>>0]|0;m=k<<24>>24==40?g:m;l=65;break}if((e|0)<1668050786)switch(e|0){case 1667785074:{k=g;l=66;Zd=426;break n}default:{Zd=425;break n}}switch(e|0){case 1668050786:break;default:{Zd=425;break n}}k=m;l=66;Zd=426}else{if((e|0)>=1919246700)if((e|0)<1952807028){switch(e|0){case 1919246700:break;default:{Zd=425;break n}}if(l<<24>>24==67){k=m;l=69;Zd=426;break}else{Zd=424;break}}else{switch(e|0){case 1952807028:break;default:{Zd=425;break n}}k=m;l=66;Zd=426;break}if((e|0)<1718382433){switch(e|0){case 1685026146:break;default:{Zd=425;break n}}if(l<<24>>24==67){k=m;l=69;Zd=426;break}}else{switch(e|0){case 1718382433:break;default:{Zd=425;break n}}if(l<<24>>24==67){k=m;l=69;Zd=426;break}}k=m;Zd=426}while(0);if((Zd|0)==424){k=m;Zd=426}else if((Zd|0)==425){Zd=0;if((e&16777215|0)==6909556){k=m;m=68;break m}else{k=m;Zd=426}}if((Zd|0)==426){Zd=0;m=k;k=b[g>>0]|0}if(!(k<<24>>24)){k=m;m=l;break}}}while(0);if(o|0){f[Yd>>2]=0;o:do if(m<<24>>24<67){if(!k){f[Yd>>2]=16;k=5;Zd=437;break}l=b[k>>0]|0;if(l<<24>>24){while(1){if(((l&255)+-48|0)>>>0<10)break;k=k+1|0;l=b[k>>0]|0;if(!(l<<24>>24)){k=1;Zd=437;break o}}Pd(k,Yd)|0;k=f[Yd>>2]|0;if((k|0)<1016){k=((k|0)/4|0)+1|0;Zd=437}else k=255}else{k=1;Zd=437}}else{k=1;Zd=437}while(0);b[p+(q<<4)+14>>0]=k}b[p+(q<<4)+13>>0]=m;Zd=p+(q<<4)+15|0;b[Zd>>0]=b[Zd>>0]|4}d[u>>1]=(d[u>>1]|0)+1<<16>>16;f[i+76>>2]=0}}break}case 99:case 60:case 24:{f[$d+20>>2]=0;f[$d+16>>2]=0;break}case 25:{f[$d+-28>>2]=(f[$d+4>>2]|0)+(f[$d+8>>2]|0)-(f[$d+-32>>2]|0);break}case 26:{f[$d+-52>>2]=(f[$d+4>>2]|0)+(f[$d+8>>2]|0)-(f[$d+-56>>2]|0);break}case 27:{f[$d+-4>>2]=(f[$d+4>>2]|0)+(f[$d+8>>2]|0)-(f[$d+-8>>2]|0);break}case 28:{f[$d+16>>2]=e;break}case 62:case 29:{Yd=$d+4|0;Zd=f[Yd+4>>2]|0;i=i+72|0;f[i>>2]=f[Yd>>2];f[i+4>>2]=Zd;break}case 30:{Bl(i,f[$d+-8>>2]|0,f[$d+-20>>2]|0,f[$d+4>>2]|0);break}case 31:{Bl(i,f[$d+-8>>2]|0,(f[$d+-20>>2]|0)+1|0,f[$d+4>>2]|0);break}case 32:{Bl(i,f[$d+-8>>2]|0,f[$d+-20>>2]|0,f[$d+4>>2]|0);break}case 33:{g=f[$d+-8>>2]|0;m=f[i>>2]|0;p:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=460;else Zd=463;else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=461;break p}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=461;break p}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=460}while(0);if((Zd|0)==460){k=Dc(m,48,0)|0;Zd=461}if((Zd|0)==461)if(k){M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=-95;d[k+34>>1]=-1;if(g|0){f[k+12>>2]=g;f[k+4>>2]=f[g+4>>2]&2097412}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[bb>>2]=l;ni(i,42710,bb)}}else Zd=463;if((Zd|0)==463)if(!g)k=0;else{ig(f[i>>2]|0,g);k=0}Bl(i,k,f[$d+-20>>2]|0,f[$d+4>>2]|0);break}case 34:{o=$d+4|0;p=$d+8|0;q=Cl(i,106,f[o>>2]|0,f[p>>2]|0)|0;do if(q|0){l=f[q+8>>2]|0;n=b[l>>0]|0;e=h[1232+(n&255)>>0]|0;k=e+-116|0;n=n<<24>>24==0;if(!(n|(k|0)!=0)){m=49684;g=l;do{g=g+1|0;m=m+1|0;Zd=b[g>>0]|0;k=(h[1232+(Zd&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(Zd<<24>>24==0|(k|0)!=0))}if(k|0){k=e+-102|0;if(!(n|(k|0)!=0)){m=49689;do{l=l+1|0;m=m+1|0;Zd=b[l>>0]|0;k=(h[1232+(Zd&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(Zd<<24>>24==0|(k|0)!=0))}if(k|0)break}b[q>>0]=-101}while(0);Zd=f[o>>2]|0;Bl(i,q,Zd,Zd+(f[p>>2]|0)|0);break}case 35:{m=f[$d+4>>2]|0;k=f[i+224>>2]|0;if(((k|0?(Z=k+42|0,l=d[Z>>1]|0,l<<16>>16>=1):0)?(Zd=f[k+4>>2]|0,i=(l<<16>>16)+-1|0,b[Zd+(i<<4)+12>>0]=m,Yd=k+36|0,f[Yd>>2]=f[Yd>>2]|512,b[Zd+(i<<4)+15>>0]&8):0)?(v=f[k+8>>2]|0,v|0):0){k=v;while(1){if(((l<<16>>16)+-1|0)==(d[f[k+4>>2]>>1]|0)){i=k+55|0;Zd=h[i>>0]|h[i+1>>0]<<8|8;b[i>>0]=Zd;b[i+1>>0]=Zd>>8}k=f[k+20>>2]|0;if(!k)break a;l=d[Z>>1]|0}}break}case 36:{Dl(i,0,f[$d+-8>>2]|0,f[$d+4>>2]|0,f[$d+-20>>2]|0);break}case 37:{El(i,0,0,0,0,f[$d+4>>2]|0,0,0,0,0,1);break}case 38:{k=f[$d+-8>>2]|0;l=f[i+224>>2]|0;m=f[i>>2]|0;if((l|0?(tc=i+196|0,(b[tc>>0]|0)!=1):0)?(d[(f[(f[(f[m+16>>2]|0)+(h[m+164>>0]<<4)+4>>2]|0)+4>>2]|0)+22>>1]&1)==0:0){o=l+24|0;n=ml(m,f[o>>2]|0,k)|0;f[o>>2]=n;o=f[i+76>>2]|0;if(!o)break a;s=i+72|0;if(!n)break a;p=(f[n>>2]|0)+-1|0;m=f[i>>2]|0;q=f[s>>2]|0;q:do if(q){g=KA(o|0,0,1,0)|0;e=ba()|0;r:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=507;else{Zd=509;break q}else{do if(0<0|(0==0?o>>>0<(j[m+276>>1]|0)>>>0:0)){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];r=m+284|0;f[r>>2]=(f[r>>2]|0)+1;r=l;break r}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];r=m+284|0;f[r>>2]=(f[r>>2]|0)+1;r=l;break r}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=507}while(0);if((Zd|0)==507)r=Dc(m,g,e)|0;if(r){YA(r|0,q|0,o|0)|0;b[r+o>>0]=0;k=n+4+(p*20|0)+4|0;f[k>>2]=r;l=b[r>>0]|0;if((b[5472+(l&255)>>0]|0)<0){e=l<<24>>24==91?93:l;g=0;l=1;while(1){m=b[r+l>>0]|0;if(m<<24>>24==e<<24>>24){l=l+1|0;m=r+g|0;if((b[r+l>>0]|0)!=e<<24>>24)break;b[m>>0]=e}else b[r+g>>0]=m;g=g+1|0;l=l+1|0}b[m>>0]=0}}else Zd=509}else Zd=509;while(0);if((Zd|0)==509){k=n+4+(p*20|0)+4|0;f[k>>2]=0}if((h[tc>>0]|0)<=1)break a;g=f[k>>2]|0;m=f[i>>2]|0;s:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=542;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break a;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break a}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=542;break s}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=542;break s}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=542}while(0);if((Zd|0)==542)if(!k)break a;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=g;Xd=s;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;i=i+268|0;f[k+12>>2]=f[i>>2];f[i>>2]=k;break a}if(k|0)ig(m,k);break}case 39:{Fl(i,0,$d+-20|0,f[$d+-8>>2]|0,f[$d+4>>2]|0);break}case 40:{l=f[$d+4>>2]|0;k=f[i+224>>2]|0;if(k|0?(w=f[k+16>>2]|0,w|0):0)b[w+24>>0]=l;break}case 41:{m=f[i+224>>2]|0;if(m|0?(Ba=(d[m+42>>1]|0)+-1|0,_=f[i>>2]|0,$=pl(_,$d+4|0)|0,$|0):0){l=f[i>>2]|0;k=b[l+78>>0]|0;Yd=b[l+165>>0]|0;l=_k(l,k,$,Yd&255)|0;do if(!(Yd<<24>>24)){if(!l){H=$k(i,k,0,$)|0;Zd=557;break}if(!(f[l+12>>2]|0)){H=$k(i,k,l,$)|0;Zd=557}}else{H=l;Zd=557}while(0);if((Zd|0)==557?(H|0)==0:0){if(_|0){if(f[_+480>>2]|0){Kc(_,$);break a}i=$;if((f[_+304>>2]|0)>>>0<=i>>>0?(f[_+308>>2]|0)>>>0>i>>>0:0){i=_+300|0;f[$>>2]=f[i>>2];f[i>>2]=$;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127]($);break a}else{i=ib[f[37368>>2]&255]($)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127]($);break a}}l=m+4|0;k=f[(f[l>>2]|0)+(Ba<<4)+8>>2]|0;do if(k|0){if(_|0){if(f[_+480>>2]|0){Kc(_,k);break}i=k;if((f[_+304>>2]|0)>>>0<=i>>>0?(f[_+308>>2]|0)>>>0>i>>>0:0){i=_+300|0;f[k>>2]=f[i>>2];f[i>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);f[(f[l>>2]|0)+(Ba<<4)+8>>2]=$;k=f[m+8>>2]|0;if(k|0)do{if((Ba|0)==(d[f[k+4>>2]>>1]|0))f[f[k+32>>2]>>2]=f[(f[l>>2]|0)+(Ba<<4)+8>>2];k=f[k+20>>2]|0}while((k|0)!=0)}break}case 44:{f[$d+16>>2]=0;break}case 45:{i=$d+-8|0;f[i>>2]=f[i>>2]&~f[$d+8>>2]|f[$d+4>>2];break}case 46:{f[$d+-8>>2]=0;f[$d+-4>>2]=0;break}case 47:{f[$d+-20>>2]=0;f[$d+-16>>2]=0;break}case 48:{f[$d+-20>>2]=f[$d+4>>2];f[$d+-16>>2]=255;break}case 49:{f[$d+-20>>2]=f[$d+4>>2]<<8;f[$d+-16>>2]=65280;break}case 50:{f[$d+-8>>2]=8;break}case 51:{f[$d+-8>>2]=9;break}case 52:{f[$d+4>>2]=10;break}case 53:{f[$d+4>>2]=7;break}case 54:{f[$d+-8>>2]=0;break}case 55:{f[$d+-20>>2]=0;break}case 156:case 71:case 56:{f[$d+-8>>2]=f[$d+4>>2];break}case 227:case 201:case 198:case 75:case 58:{f[$d+-8>>2]=1;break}case 59:{f[$d+-8>>2]=0;break}case 61:{f[i+76>>2]=0;break}case 63:{Dl(i,f[$d+-32>>2]|0,f[$d+4>>2]|0,f[$d+-20>>2]|0,0);break}case 64:{El(i,0,0,0,f[$d+-20>>2]|0,f[$d+4>>2]|0,0,0,0,0,1);break}case 65:{k=f[$d+-20>>2]|0;l=f[i+224>>2]|0;m=f[i>>2]|0;if((l|0?(uc=i+196|0,(b[uc>>0]|0)!=1):0)?(d[(f[(f[(f[m+16>>2]|0)+(h[m+164>>0]<<4)+4>>2]|0)+4>>2]|0)+22>>1]&1)==0:0){o=l+24|0;n=ml(m,f[o>>2]|0,k)|0;f[o>>2]=n;o=f[i+76>>2]|0;if(!o)break a;s=i+72|0;if(!n)break a;p=(f[n>>2]|0)+-1|0;m=f[i>>2]|0;q=f[s>>2]|0;t:do if(q){g=KA(o|0,0,1,0)|0;e=ba()|0;u:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=616;else{Zd=618;break t}else{do if(0<0|(0==0?o>>>0<(j[m+276>>1]|0)>>>0:0)){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];r=m+284|0;f[r>>2]=(f[r>>2]|0)+1;r=l;break u}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];r=m+284|0;f[r>>2]=(f[r>>2]|0)+1;r=l;break u}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=616}while(0);if((Zd|0)==616)r=Dc(m,g,e)|0;if(r){YA(r|0,q|0,o|0)|0;b[r+o>>0]=0;k=n+4+(p*20|0)+4|0;f[k>>2]=r;l=b[r>>0]|0;if((b[5472+(l&255)>>0]|0)<0){e=l<<24>>24==91?93:l;g=0;l=1;while(1){m=b[r+l>>0]|0;if(m<<24>>24==e<<24>>24){l=l+1|0;m=r+g|0;if((b[r+l>>0]|0)!=e<<24>>24)break;b[m>>0]=e}else b[r+g>>0]=m;g=g+1|0;l=l+1|0}b[m>>0]=0}}else Zd=618}else Zd=618;while(0);if((Zd|0)==618){k=n+4+(p*20|0)+4|0;f[k>>2]=0}if((h[uc>>0]|0)<=1)break a;g=f[k>>2]|0;m=f[i>>2]|0;v:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=651;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break a;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break a}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=651;break v}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=651;break v}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=651}while(0);if((Zd|0)==651)if(!k)break a;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=g;Xd=s;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;i=i+268|0;f[k+12>>2]=f[i>>2];f[i>>2]=k;break a}if(k|0)ig(m,k);break}case 66:{Fl(i,f[$d+-68>>2]|0,$d+-32|0,f[$d+-20>>2]|0,f[$d+-8>>2]|0);l=f[$d+4>>2]|0;k=f[i+224>>2]|0;if(k|0?(x=f[k+16>>2]|0,x|0):0)b[x+24>>0]=l;break}case 70:case 68:{f[$d+16>>2]=11;break}case 69:{f[$d+-20>>2]=f[$d+4>>2];break}case 72:{f[$d+4>>2]=4;break}case 157:case 73:{f[$d+4>>2]=5;break}case 74:{Gl(i,f[$d+4>>2]|0,0,f[$d+-8>>2]|0);break}case 77:{e=$d+-44|0;g=$d+-32|0;o=f[$d+-20>>2]|0;l=f[$d+4>>2]|0;k=f[$d+-80>>2]|0;m=f[$d+-56>>2]|0;p=f[i>>2]|0;if((d[i+192>>1]|0)<=0){zl(i,e,g,k,1,0,m);n=f[i+224>>2]|0;if((n|0)!=0?(f[i+36>>2]|0)==0:0){k=f[i>>2]|0;do if(f[$d+-28>>2]|0){if(b[k+165>>0]|0){ni(i,51151,Na);e=0;break}if((Hl(k,e)|0)<0){f[Oa>>2]=e;ni(i,51168,Oa);e=g}else e=g}while(0);m=f[n+72>>2]|0;if(!m)k=-1e6;else{g=f[p+16>>2]|0;k=0;while(1)if((f[g+(k<<4)+12>>2]|0)==(m|0))break;else k=k+1|0}Xd=f[i>>2]|0;f[vc>>2]=i;Xd=f[Xd+16>>2]|0;f[vc+12>>2]=f[Xd+(k<<4)>>2];f[vc+4>>2]=f[Xd+(k<<4)+12>>2];f[vc+16>>2]=51188;f[vc+20>>2]=e;f[vc+8>>2]=(k|0)==1&1;if(!(Il(vc,l)|0)){if((h[i+196>>0]|0)>1)k=0;else{k=l;l=Hk(p,l,1)|0}f[n+12>>2]=l;Xd=Ik(p,o,1)|0;f[n+24>>2]=Xd;if(!(b[p+81>>0]|0)){m=i+184|0;l=f[m>>2]|0;m=f[m+4>>2]|0;g=Ld;f[g>>2]=l;f[g+4>>2]=m;g=l;if((b[g>>0]|0)!=59){l=g+m|0;f[Ld>>2]=l}m=Ld+4|0;f[m>>2]=0;g=f[$d+-92>>2]|0;l=l-g|0;do l=l+-1|0;while((b[5472+(h[g+l>>0]|0)>>0]&1)!=0);f[Ld>>2]=g+l;f[m>>2]=1;Al(i,0,Ld,0,0)}}else k=l}else k=l}else{ni(i,51115,ua);k=l}if(k|0)mg(p,k,1);if((h[i+196>>0]|0)>1){if(o|0){k=Yd+8|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[Yd>>2]=i;f[Yd+4>>2]=154;k=f[o>>2]|0;if((k|0)>0){l=o+4|0;while(1){m=f[l>>2]|0;if(m|0?oi(Yd,m)|0:0)break;if((k|0)>1){k=k+-1|0;l=l+20|0}else break}e=f[o>>2]|0;if((e|0)>0){m=i+268|0;l=0;do{g=f[o+4+(l*20|0)+4>>2]|0;k=f[m>>2]|0;w:do if(k|0){while(1){if((f[k>>2]|0)==(g|0))break;k=f[k+12>>2]|0;if(!k)break w}f[k>>2]=0}while(0);l=l+1|0}while((l|0)!=(e|0))}}Zd=702}}else Zd=702;if((Zd|0)==702?o|0:0)jg(p,o);break}case 78:{Gl(i,f[$d+4>>2]|0,1,f[$d+-8>>2]|0);break}case 79:{f[Yd>>2]=f[9537];f[Yd+4>>2]=f[9538];f[Yd+8>>2]=f[9539];f[Yd+12>>2]=f[9540];f[Yd+16>>2]=f[9541];f[Yd+20>>2]=f[9542];k=$d+4|0;Kl(i,f[k>>2]|0,Yd)|0;k=f[k>>2]|0;if(k|0)mg(f[i>>2]|0,k,1);break}case 80:{q=f[$d+4>>2]|0;do if(!q){o=f[i>>2]|0;p=f[$d+-8>>2]|0;if(p|0){x:do if((f[p>>2]|0)>0){m=o+480|0;g=o+304|0;e=o+308|0;n=o+300|0;if(!o){l=0;while(1){k=f[p+8+(l<<4)+4>>2]|0;if(k|0)jg(0,k);k=f[p+8+(l<<4)+8>>2]|0;if(k|0)mg(0,k,1);k=f[p+8+(l<<4)>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);l=l+1|0;if((l|0)>=(f[p>>2]|0))break x}}l=0;do{k=f[p+8+(l<<4)+4>>2]|0;if(k|0)jg(o,k);k=f[p+8+(l<<4)+8>>2]|0;if(k|0)mg(o,k,1);k=f[p+8+(l<<4)>>2]|0;do if(k|0){if(f[m>>2]|0){Kc(o,k);break}i=k;if((f[g>>2]|0)>>>0<=i>>>0?(f[e>>2]|0)>>>0>i>>>0:0){f[k>>2]=f[n>>2];f[n>>2]=k;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);l=l+1|0}while((l|0)<(f[p>>2]|0))}while(0);if(o|0){if(f[o+480>>2]|0){Kc(o,p);break}i=p;if((f[o+304>>2]|0)>>>0<=i>>>0?(f[o+308>>2]|0)>>>0>i>>>0:0){i=o+300|0;f[p>>2]=f[i>>2];f[i>>2]=p;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{i=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}}else{f[q+64>>2]=f[$d+-8>>2];k=f[q+52>>2]|0;if(k|0){f[q+56>>2]=0;e=q+8|0;f[e>>2]=f[e>>2]|256;m=q;g=0;while(1){g=g+1|0;l=f[k+52>>2]|0;f[k+56>>2]=m;Zd=k+8|0;f[Zd>>2]=f[Zd>>2]|256;if(!l)break;else{m=k;k=l}}if((f[e>>2]&1024|0)==0?(Zd=f[(f[i>>2]|0)+124>>2]|0,(Zd|0)>0&(g|0)>=(Zd|0)):0)ni(i,51193,va)}}while(0);f[$d+-20>>2]=q;break}case 81:{q=f[$d+4>>2]|0;do if(!q){o=f[i>>2]|0;p=f[$d+-8>>2]|0;if(p|0){y:do if((f[p>>2]|0)>0){m=o+480|0;g=o+304|0;e=o+308|0;n=o+300|0;if(!o){l=0;while(1){k=f[p+8+(l<<4)+4>>2]|0;if(k|0)jg(0,k);k=f[p+8+(l<<4)+8>>2]|0;if(k|0)mg(0,k,1);k=f[p+8+(l<<4)>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);l=l+1|0;if((l|0)>=(f[p>>2]|0))break y}}l=0;do{k=f[p+8+(l<<4)+4>>2]|0;if(k|0)jg(o,k);k=f[p+8+(l<<4)+8>>2]|0;if(k|0)mg(o,k,1);k=f[p+8+(l<<4)>>2]|0;do if(k|0){if(f[m>>2]|0){Kc(o,k);break}i=k;if((f[g>>2]|0)>>>0<=i>>>0?(f[e>>2]|0)>>>0>i>>>0:0){f[k>>2]=f[n>>2];f[n>>2]=k;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);l=l+1|0}while((l|0)<(f[p>>2]|0))}while(0);if(o|0){if(f[o+480>>2]|0){Kc(o,p);break}i=p;if((f[o+304>>2]|0)>>>0<=i>>>0?(f[o+308>>2]|0)>>>0>i>>>0:0){i=o+300|0;f[p>>2]=f[i>>2];f[i>>2]=p;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{i=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}}else{f[q+64>>2]=f[$d+-8>>2];k=f[q+52>>2]|0;if(k|0){f[q+56>>2]=0;e=q+8|0;f[e>>2]=f[e>>2]|256;m=q;g=0;while(1){g=g+1|0;l=f[k+52>>2]|0;f[k+56>>2]=m;Zd=k+8|0;f[Zd>>2]=f[Zd>>2]|256;if(!l)break;else{m=k;k=l}}if((f[e>>2]&1024|0)==0?(Zd=f[(f[i>>2]|0)+124>>2]|0,(Zd|0)>0&(g|0)>=(Zd|0)):0)ni(i,51193,wa)}}while(0);f[$d+-32>>2]=q;break}case 82:{e=$d+4|0;n=f[e>>2]|0;if(n|0?(aa=f[n+52>>2]|0,aa|0):0){f[n+56>>2]=0;o=n+8|0;f[o>>2]=f[o>>2]|256;m=n;g=0;l=aa;while(1){g=g+1|0;k=f[l+52>>2]|0;f[l+56>>2]=m;Zd=l+8|0;f[Zd>>2]=f[Zd>>2]|256;if(!k)break;else{m=l;l=k}}if((f[o>>2]&1024|0)==0?(Zd=f[(f[i>>2]|0)+124>>2]|0,(Zd|0)>0&(g|0)>=(Zd|0)):0)ni(i,51193,xa)}f[e>>2]=n;break}case 83:{k=f[$d+4>>2]|0;p=$d+-20|0;o=f[p>>2]|0;do if(k){l=k+52|0;m=f[l>>2]|0;if(m){f[Yd+4>>2]=0;f[k+56>>2]=0;n=k+8|0;f[n>>2]=f[n>>2]|256;g=k;e=0;while(1){e=e+1|0;l=f[m+52>>2]|0;f[m+56>>2]=g;Xd=m+8|0;f[Xd>>2]=f[Xd>>2]|256;if(!l)break;else{g=m;m=l}}if((f[n>>2]&1024|0)==0?(Xd=f[(f[i>>2]|0)+124>>2]|0,(Xd|0)>0&(e|0)>=(Xd|0)):0)ni(i,51193,Xa);l=Ll(i,0,nl(i,0,0,0,Yd,k,0,0)|0,0,0,0,0,0,0)|0;if(!l){Zd=820;break}k=l;l=l+52|0}m=$d+-8|0;b[k+4>>0]=f[m>>2];f[l>>2]=o;if(o|0){Yd=o+8|0;f[Yd>>2]=f[Yd>>2]&-1025}Yd=k+8|0;f[Yd>>2]=f[Yd>>2]&-1025;if((f[m>>2]|0)!=124)b[i+22>>0]=1}else Zd=820;while(0);if((Zd|0)==820)if(!o)k=0;else{mg(f[i>>2]|0,o,1);k=0}f[p>>2]=k;break}case 86:case 84:{f[$d+4>>2]=j[$d+2>>1];break}case 85:{f[$d+-8>>2]=124;break}case 87:{i=Ll(i,f[$d+-68>>2]|0,f[$d+-56>>2]|0,f[$d+-44>>2]|0,f[$d+-32>>2]|0,f[$d+-20>>2]|0,f[$d+-8>>2]|0,f[$d+-80>>2]|0,f[$d+4>>2]|0)|0;f[$d+-92>>2]=i;break}case 88:{k=Ll(i,f[$d+-80>>2]|0,f[$d+-68>>2]|0,f[$d+-56>>2]|0,f[$d+-44>>2]|0,f[$d+-32>>2]|0,f[$d+-8>>2]|0,f[$d+-92>>2]|0,f[$d+4>>2]|0)|0;f[$d+-104>>2]=k;if(k|0){f[k+72>>2]=f[$d+-20>>2];break a}l=f[i>>2]|0;k=f[$d+-20>>2]|0;if(k|0)do{i=k;k=f[k+24>>2]|0;og(l,i)}while((k|0)!=0);break}case 89:{i=Ll(i,f[$d+-8>>2]|0,0,0,0,0,0,512,0)|0;f[$d+-32>>2]=i;break}case 90:{m=$d+-44|0;k=f[m>>2]|0;l=Ll(i,f[$d+-8>>2]|0,0,0,0,0,0,1536,0)|0;if(k|0){i=k+8|0;f[i>>2]=f[i>>2]&-1025}if(l){b[l+4>>0]=124;f[l+52>>2]=k;k=l}f[m>>2]=k;break}case 91:{f[$d+4>>2]=1;break}case 92:{f[$d+4>>2]=2;break}case 222:case 217:case 214:case 134:case 127:case 94:{f[$d+16>>2]=0;break}case 95:{r=$d+-44|0;k=ml(f[i>>2]|0,f[r>>2]|0,f[$d+-20>>2]|0)|0;f[r>>2]=k;o=f[$d+8>>2]|0;if(o){s=$d+4|0;z:do if(k|0){p=(f[k>>2]|0)+-1|0;g=f[i>>2]|0;q=f[s>>2]|0;A:do if(q){e=KA(o|0,0,1,0)|0;n=ba()|0;B:do if(f[g+272>>2]|0)if(!(b[g+81>>0]|0))Zd=853;else{Zd=855;break A}else{do if(0<0|(0==0?o>>>0<(j[g+276>>1]|0)>>>0:0)){l=g+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];n=g+284|0;f[n>>2]=(f[n>>2]|0)+1;n=m;break B}l=g+296|0;m=f[l>>2]|0;if(!m){l=g+292|0;break}else{f[l>>2]=f[m>>2];n=g+284|0;f[n>>2]=(f[n>>2]|0)+1;n=m;break B}}else l=g+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;Zd=853}while(0);if((Zd|0)==853)n=Dc(g,e,n)|0;if(n){YA(n|0,q|0,o|0)|0;b[n+o>>0]=0;k=k+4+(p*20|0)+4|0;f[k>>2]=n;l=b[n>>0]|0;if((b[5472+(l&255)>>0]|0)<0){e=l<<24>>24==91?93:l;g=0;l=1;while(1){m=b[n+l>>0]|0;if(m<<24>>24==e<<24>>24){l=l+1|0;m=n+g|0;if((b[n+l>>0]|0)!=e<<24>>24)break;b[m>>0]=e}else b[n+g>>0]=m;g=g+1|0;l=l+1|0}b[m>>0]=0}}else Zd=855}else Zd=855;while(0);if((Zd|0)==855){k=k+4+(p*20|0)+4|0;f[k>>2]=0}if((h[i+196>>0]|0)>1){g=f[k>>2]|0;m=f[i>>2]|0;C:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=888;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break z;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break z}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=888;break C}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=888;break C}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=888}while(0);if((Zd|0)==888)if(!k)break;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=g;Wd=s;Xd=f[Wd+4>>2]|0;Yd=l;f[Yd>>2]=f[Wd>>2];f[Yd+4>>2]=Xd;Yd=i+268|0;f[k+12>>2]=f[Yd>>2];f[Yd>>2]=k}}while(0);k=f[r>>2]|0}l=f[$d+-32>>2]|0;m=f[$d+-8>>2]|0;o=f[i>>2]|0;if(k|0){p=k+4+(((f[k>>2]|0)+-1|0)*20|0)+8|0;k=f[p>>2]|0;do if(k|0){if(o|0){if(f[o+480>>2]|0){Kc(o,k);break}i=k;if((f[o+304>>2]|0)>>>0<=i>>>0?(f[o+308>>2]|0)>>>0>i>>>0:0){i=o+300|0;f[k>>2]=f[i>>2];f[i>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);n=l;while(1)if(!(b[5472+(h[n>>0]|0)>>0]&1))break;else n=n+1|0;k=m-n|0;D:do if((k|0)<=0)if(!n)k=0;else{l=k;Zd=909}else while(1){l=k+-1|0;if(!(b[5472+(h[n+l>>0]|0)>>0]&1)){l=k;Zd=909;break D}if((k|0)>1)k=l;else{Zd=909;break}}while(0);E:do if((Zd|0)==909){g=KA(l|0,((l|0)<0)<<31>>31|0,1,0)|0;e=ba()|0;F:do if(f[o+272>>2]|0)if(!(b[o+81>>0]|0))Zd=919;else{k=0;break E}else{do if(!(e>>>0>0|((e|0)==0?g>>>0>(j[o+276>>1]|0)>>>0:0))){m=o+300|0;k=f[m>>2]|0;if(k|0){f[m>>2]=f[k>>2];i=o+284|0;f[i>>2]=(f[i>>2]|0)+1;break F}m=o+296|0;k=f[m>>2]|0;if(!k){k=o+292|0;break}else{f[m>>2]=f[k>>2];i=o+284|0;f[i>>2]=(f[i>>2]|0)+1;break F}}else k=o+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=919}while(0);if((Zd|0)==919)k=Dc(o,g,e)|0;if(!k)k=0;else{YA(k|0,n|0,l|0)|0;b[k+l>>0]=0}}while(0);f[p>>2]=k}break}case 96:{Zd=f[i>>2]|0;f[Yd>>2]=0;f[Yd+4>>2]=0;Yd=Dk(Zd,168,Yd,0)|0;Zd=$d+-20|0;i=ml(f[i>>2]|0,f[Zd>>2]|0,Yd)|0;f[Zd>>2]=i;break}case 97:{m=f[i>>2]|0;G:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=934;else{e=1;l=0}else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=935;break G}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=935;break G}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=934}while(0);if((Zd|0)==934){l=Dc(m,48,0)|0;Zd=935}if((Zd|0)==935)if(l){M=l;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[l>>0]=-88;d[l+34>>1]=-1;jl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[Ya>>2]=k;ni(i,42710,Ya);e=0}else e=0}else{e=1;l=0}n=Dk(f[i>>2]|0,59,$d+-20|0,1)|0;g=f[i>>2]|0;H:do if(f[g+272>>2]|0)if(!(b[g+81>>0]|0))Zd=948;else{k=g;Zd=952}else{do if((j[g+276>>1]|0)>=48){m=g+300|0;k=f[m>>2]|0;if(k|0){f[m>>2]=f[k>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=949;break H}m=g+296|0;k=f[m>>2]|0;if(!k){k=g+292|0;break}else{f[m>>2]=f[k>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=949;break H}}else k=g+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=948}while(0);if((Zd|0)==948){k=Dc(g,48,0)|0;Zd=949}do if((Zd|0)==949){if(!k){k=f[i>>2]|0;Zd=952;break}M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=-126;d[k+34>>1]=-1;if(e)l=0;else{f[k+16>>2]=l;l=f[l+4>>2]&2097412;f[k+4>>2]=l}if(n|0){f[k+12>>2]=n;f[k+4>>2]=f[n+4>>2]&2097412|l}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[kc>>2]=l;ni(i,42710,kc)}}while(0);if((Zd|0)==952){if(n|0)ig(k,n);if(e)k=0;else{ig(k,l);k=0}}Zd=$d+-44|0;i=ml(f[i>>2]|0,f[Zd>>2]|0,k)|0;f[Zd>>2]=i;break}case 237:case 236:case 109:case 98:{Yd=$d+4|0;Zd=f[Yd+4>>2]|0;i=$d+-8|0;f[i>>2]=f[Yd>>2];f[i+4>>2]=Zd;break}case 100:{m=f[i>>2]|0;I:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](80)|0;Zd=986;break}k=ib[f[37372>>2]&255](80)|0;if((f[18194]|0)>>>0<80)f[18194]=80;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[18187]|0;Yd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[17976]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(k){l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0){f[18196]=l;Zd=987}else Zd=987}else k=0}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){k=0;break}}else{do if((j[m+276>>1]|0)>=80){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=986;break I}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=986;break I}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,80,0)|0;Zd=986}while(0);if((Zd|0)==986)if(!k)k=0;else Zd=987;if((Zd|0)==987){M=k;N=M+80|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0))}f[$d+16>>2]=k;break}case 101:{l=f[$d+4>>2]|0;f[$d+-8>>2]=l;if(l|0){k=f[l>>2]|0;if((k|0)>1)do{i=k;k=k+-1|0;b[l+8+(k*72|0)+36>>0]=b[l+8+((i+-2|0)*72|0)+36>>0]|0}while((i|0)>2);b[l+44>>0]=0}break}case 102:{k=f[$d+-8>>2]|0;if(k|0?(p=f[k>>2]|0,(p|0)>0):0)b[k+8+((p+-1|0)*72|0)+36>>0]=f[$d+4>>2];break}case 103:{f[$d+16>>2]=0;break}case 104:{l=$d+-68|0;k=nl(i,f[l>>2]|0,$d+-56|0,$d+-44|0,$d+-32|0,0,f[$d+-8>>2]|0,f[$d+4>>2]|0)|0;f[l>>2]=k;l=$d+-20|0;if(k|0?(J=f[$d+-16>>2]|0,J|0):0){m=(f[k>>2]|0)+-1|0;if((J|0)==1?(f[l>>2]|0)==0:0){i=k+8+(m*72|0)+37|0;b[i>>0]=b[i>>0]|1;break a}i=pl(f[i>>2]|0,l)|0;f[k+8+(m*72|0)+64>>2]=i;i=k+8+(m*72|0)+37|0;b[i>>0]=b[i>>0]|2}break}case 105:{l=$d+-92|0;k=nl(i,f[l>>2]|0,$d+-80|0,$d+-68|0,$d+-20|0,0,f[$d+-8>>2]|0,f[$d+4>>2]|0)|0;f[l>>2]=k;l=f[$d+-44>>2]|0;if(k|0){i=(f[k>>2]|0)+-1|0;f[k+8+(i*72|0)+64>>2]=l;i=k+8+(i*72|0)+37|0;b[i>>0]=b[i>>0]|4;break a}if(l|0)jg(f[i>>2]|0,l);break}case 106:{Zd=$d+-68|0;i=nl(i,f[Zd>>2]|0,0,0,$d+-20|0,f[$d+-44>>2]|0,f[$d+-8>>2]|0,f[$d+4>>2]|0)|0;f[Zd>>2]=i;break}case 107:{e=$d+-68|0;l=f[e>>2]|0;if((((l|0)==0?(f[$d+-16>>2]|0)==0:0)?(f[$d+-8>>2]|0)==0:0)?(f[$d+4>>2]|0)==0:0){f[e>>2]=f[$d+-44>>2];break a}g=$d+-44|0;m=f[g>>2]|0;k=f[m>>2]|0;if((k|0)==1){k=nl(i,l,0,0,$d+-20|0,0,f[$d+-8>>2]|0,f[$d+4>>2]|0)|0;f[e>>2]=k;if(k|0){Wd=(f[k>>2]|0)+-1|0;Zd=f[g>>2]|0;Yd=Zd+16|0;f[k+8+(Wd*72|0)+8>>2]=f[Yd>>2];Xd=Zd+12|0;f[k+8+(Wd*72|0)+4>>2]=f[Xd>>2];Zd=Zd+28|0;f[k+8+(Wd*72|0)+20>>2]=f[Zd>>2];f[Xd>>2]=0;f[Yd>>2]=0;f[Zd>>2]=0}ng(f[i>>2]|0,f[g>>2]|0);break a}if(!m)k=0;else{if((k|0)>1)do{Zd=k;k=k+-1|0;b[m+8+(k*72|0)+36>>0]=b[m+8+((Zd+-2|0)*72|0)+36>>0]|0}while((Zd|0)>2);b[m+44>>0]=0;k=f[g>>2]|0}Zd=Ll(i,0,k,0,0,0,0,2048,0)|0;i=nl(i,f[e>>2]|0,0,0,$d+-20|0,Zd,f[$d+-8>>2]|0,f[$d+4>>2]|0)|0;f[e>>2]=i;break}case 122:case 108:{f[$d+16>>2]=0;f[$d+20>>2]=0;break}case 110:{g=$d+4|0;e=ol(f[i>>2]|0,0,g,0)|0;J:do if(!((e|0)==0|(h[i+196>>0]|0)<2)){n=f[e+16>>2]|0;m=f[i>>2]|0;K:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=1049;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break J;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break J}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1049;break K}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1049;break K}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=1049}while(0);if((Zd|0)==1049)if(!k)break;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=n;Xd=g;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;i=i+268|0;f[k+12>>2]=f[i>>2];f[i>>2]=k}while(0);f[g>>2]=e;break}case 111:{g=$d+-20|0;e=$d+4|0;n=ol(f[i>>2]|0,0,g,e)|0;L:do if(!((n|0)==0|(h[i+196>>0]|0)<2)){o=f[n+16>>2]|0;m=f[i>>2]|0;M:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=1076;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break L;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break L}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1076;break M}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1076;break M}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=1076}while(0);if((Zd|0)==1076)if(!k)break;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=o;Xd=e;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;i=i+268|0;f[k+12>>2]=f[i>>2];f[i>>2]=k}while(0);f[g>>2]=n;break}case 112:{Zd=$d+4|0;i=ol(f[i>>2]|0,0,Zd,0)|0;f[Zd>>2]=i;break}case 113:{Zd=$d+-20|0;i=ol(f[i>>2]|0,0,Zd,$d+4|0)|0;f[Zd>>2]=i;break}case 114:{k=$d+-44|0;Zd=ol(f[i>>2]|0,0,k,$d+-20|0)|0;f[k>>2]=Zd;if(Zd|0){i=pl(f[i>>2]|0,$d+4|0)|0;f[(f[k>>2]|0)+20>>2]=i}break}case 115:{k=$d+-20|0;Zd=ol(f[i>>2]|0,0,k,0)|0;f[k>>2]=Zd;if(Zd|0){i=pl(f[i>>2]|0,$d+4|0)|0;f[(f[k>>2]|0)+20>>2]=i}break}case 116:{f[$d+4>>2]=1;break}case 117:{Zd=$d+-8|0;i=Ml(i,Zd,0,0)|0;f[Zd>>2]=i;break}case 118:{Zd=$d+-20|0;i=Ml(i,Zd,$d+-8|0,0)|0;f[Zd>>2]=i;break}case 119:{Zd=$d+-32|0;i=Ml(i,Zd,$d+-20|0,$d+-8|0)|0;f[Zd>>2]=i;break}case 210:case 144:case 137:case 120:{f[$d+-8>>2]=f[$d+4>>2];break}case 213:case 211:case 143:case 138:case 136:case 121:{f[$d+16>>2]=0;break}case 123:{Yd=$d+4|0;Zd=f[Yd+4>>2]|0;i=$d+-20|0;f[i>>2]=f[Yd>>2];f[i+4>>2]=Zd;break}case 124:{f[$d+-8>>2]=0;f[$d+-4>>2]=1;break}case 125:{f[$d+-32>>2]=f[$d+-8>>2];break}case 158:case 126:{f[$d+16>>2]=0;break}case 135:case 128:{f[$d+-20>>2]=f[$d+4>>2];break}case 129:{l=$d+-32|0;k=ml(f[i>>2]|0,f[l>>2]|0,f[$d+-8>>2]|0)|0;f[l>>2]=k;l=f[$d+4>>2]|0;if(!((k|0)==0|(l|0)<0))b[k+4+(((f[k>>2]|0)+-1|0)*20|0)+12>>0]=l;break}case 130:{l=$d+-8|0;k=ml(f[i>>2]|0,0,f[l>>2]|0)|0;f[l>>2]=k;l=f[$d+4>>2]|0;if(!((k|0)==0|(l|0)<0))b[k+4+(((f[k>>2]|0)+-1|0)*20|0)+12>>0]=l;break}case 131:{f[$d+4>>2]=0;break}case 132:{f[$d+4>>2]=1;break}case 133:{f[$d+16>>2]=-1;break}case 139:{g=f[$d+4>>2]|0;m=f[i>>2]|0;N:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1113;else Zd=1116;else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1114;break N}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1114;break N}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1113}while(0);if((Zd|0)==1113){k=Dc(m,48,0)|0;Zd=1114}if((Zd|0)==1114)if(k){M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=-119;d[k+34>>1]=-1;if(g|0){f[k+12>>2]=g;f[k+4>>2]=f[g+4>>2]&2097412}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[db>>2]=l;ni(i,42710,db)}}else Zd=1116;if((Zd|0)==1116)if(!g)k=0;else{ig(f[i>>2]|0,g);k=0}f[$d+-8>>2]=k;break}case 140:{e=f[$d+-20>>2]|0;g=f[$d+4>>2]|0;m=f[i>>2]|0;O:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1132;else{k=m;Zd=1136}else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1133;break O}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1133;break O}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1132}while(0);if((Zd|0)==1132){k=Dc(m,48,0)|0;Zd=1133}do if((Zd|0)==1133){if(!k){k=f[i>>2]|0;Zd=1136;break}M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=-119;d[k+34>>1]=-1;if(!g)l=0;else{f[k+16>>2]=g;l=f[g+4>>2]&2097412;f[k+4>>2]=l}if(e|0){f[k+12>>2]=e;f[k+4>>2]=f[e+4>>2]&2097412|l}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[wb>>2]=l;ni(i,42710,wb)}}while(0);if((Zd|0)==1136){if(e|0)ig(k,e);if(!g)k=0;else{ig(k,g);k=0}}f[$d+-32>>2]=k;break}case 141:{e=f[$d+4>>2]|0;g=f[$d+-20>>2]|0;m=f[i>>2]|0;P:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1156;else{k=m;Zd=1160}else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1157;break P}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1157;break P}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1156}while(0);if((Zd|0)==1156){k=Dc(m,48,0)|0;Zd=1157}do if((Zd|0)==1157){if(!k){k=f[i>>2]|0;Zd=1160;break}M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=-119;d[k+34>>1]=-1;if(!g)l=0;else{f[k+16>>2]=g;l=f[g+4>>2]&2097412;f[k+4>>2]=l}if(e|0){f[k+12>>2]=e;f[k+4>>2]=f[e+4>>2]&2097412|l}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[xb>>2]=l;ni(i,42710,xb)}}while(0);if((Zd|0)==1160){if(e|0)ig(k,e);if(!g)k=0;else{ig(k,g);k=0}}f[$d+-32>>2]=k;break}case 142:{k=$d+-20|0;l=f[k>>2]|0;m=$d+-8|0;do if(l|0?(S=f[$d+-4>>2]|0,S|0):0){g=(f[l>>2]|0)+-1|0;if((S|0)==1?(f[m>>2]|0)==0:0){Zd=l+8+(g*72|0)+37|0;b[Zd>>0]=b[Zd>>0]|1;break}Zd=pl(f[i>>2]|0,m)|0;f[l+8+(g*72|0)+64>>2]=Zd;Zd=l+8+(g*72|0)+37|0;b[Zd>>0]=b[Zd>>0]|2}while(0);Nl(i,f[k>>2]|0,f[$d+4>>2]|0);break}case 145:{g=$d+-44|0;k=f[g>>2]|0;l=$d+-32|0;do if(k|0?(T=f[$d+-28>>2]|0,T|0):0){m=(f[k>>2]|0)+-1|0;if((T|0)==1?(f[l>>2]|0)==0:0){Zd=k+8+(m*72|0)+37|0;b[Zd>>0]=b[Zd>>0]|1;break}Zd=pl(f[i>>2]|0,l)|0;f[k+8+(m*72|0)+64>>2]=Zd;Zd=k+8+(m*72|0)+37|0;b[Zd>>0]=b[Zd>>0]|2}while(0);l=$d+-8|0;k=f[l>>2]|0;if(k){if((f[k>>2]|0)>(f[(f[i>>2]|0)+116>>2]|0)){f[ma>>2]=51250;ni(i,51227,ma);k=f[l>>2]|0}}else k=0;Ol(i,f[g>>2]|0,k,f[$d+4>>2]|0,f[$d+-56>>2]|0,0);break}case 146:{s=$d+-44|0;n=ml(f[i>>2]|0,f[s>>2]|0,f[$d+4>>2]|0)|0;f[s>>2]=n;s=$d+-20|0;if(n|0){o=(f[n>>2]|0)+-1|0;m=f[i>>2]|0;p=f[s>>2]|0;q=f[$d+-16>>2]|0;Q:do if(p){g=KA(q|0,0,1,0)|0;e=ba()|0;R:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1199;else{Zd=1201;break Q}else{do if(0<0|(0==0?q>>>0<(j[m+276>>1]|0)>>>0:0)){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];r=m+284|0;f[r>>2]=(f[r>>2]|0)+1;r=l;break R}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];r=m+284|0;f[r>>2]=(f[r>>2]|0)+1;r=l;break R}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1199}while(0);if((Zd|0)==1199)r=Dc(m,g,e)|0;if(r){YA(r|0,p|0,q|0)|0;b[r+q>>0]=0;k=n+4+(o*20|0)+4|0;f[k>>2]=r;l=b[r>>0]|0;if((b[5472+(l&255)>>0]|0)<0){e=l<<24>>24==91?93:l;g=0;l=1;while(1){m=b[r+l>>0]|0;if(m<<24>>24==e<<24>>24){l=l+1|0;m=r+g|0;if((b[r+l>>0]|0)!=e<<24>>24)break;b[m>>0]=e}else b[r+g>>0]=m;g=g+1|0;l=l+1|0}b[m>>0]=0}}else Zd=1201}else Zd=1201;while(0);if((Zd|0)==1201){k=n+4+(o*20|0)+4|0;f[k>>2]=0}if((h[i+196>>0]|0)>1){g=f[k>>2]|0;m=f[i>>2]|0;S:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=1234;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break a;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break a}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1234;break S}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1234;break S}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=1234}while(0);if((Zd|0)==1234)if(!k)break a;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=g;Xd=s;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;i=i+268|0;f[k+12>>2]=f[i>>2];f[i>>2]=k}}break}case 147:{Zd=$d+-68|0;i=Pl(i,f[Zd>>2]|0,f[$d+-32>>2]|0,f[$d+4>>2]|0)|0;f[Zd>>2]=i;break}case 148:{r=ml(f[i>>2]|0,0,f[$d+4>>2]|0)|0;s=$d+-20|0;T:do if(r|0){n=(f[r>>2]|0)+-1|0;m=f[i>>2]|0;o=f[s>>2]|0;p=f[$d+-16>>2]|0;U:do if(o){g=KA(p|0,0,1,0)|0;e=ba()|0;V:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1249;else{Zd=1251;break U}else{do if(0<0|(0==0?p>>>0<(j[m+276>>1]|0)>>>0:0)){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];q=m+284|0;f[q>>2]=(f[q>>2]|0)+1;q=l;break V}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];q=m+284|0;f[q>>2]=(f[q>>2]|0)+1;q=l;break V}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1249}while(0);if((Zd|0)==1249)q=Dc(m,g,e)|0;if(q){YA(q|0,o|0,p|0)|0;b[q+p>>0]=0;k=r+4+(n*20|0)+4|0;f[k>>2]=q;l=b[q>>0]|0;if((b[5472+(l&255)>>0]|0)<0){e=l<<24>>24==91?93:l;g=0;l=1;while(1){m=b[q+l>>0]|0;if(m<<24>>24==e<<24>>24){l=l+1|0;m=q+g|0;if((b[q+l>>0]|0)!=e<<24>>24)break;b[m>>0]=e}else b[q+g>>0]=m;g=g+1|0;l=l+1|0}b[m>>0]=0}}else Zd=1251}else Zd=1251;while(0);if((Zd|0)==1251){k=r+4+(n*20|0)+4|0;f[k>>2]=0}if((h[i+196>>0]|0)>1){g=f[k>>2]|0;m=f[i>>2]|0;W:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=1284;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break T;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break T}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1284;break W}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1284;break W}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=1284}while(0);if((Zd|0)==1284)if(!k)break;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=g;Xd=s;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;i=i+268|0;f[k+12>>2]=f[i>>2];f[i>>2]=k}}while(0);f[s>>2]=r;break}case 149:{i=Pl(i,0,f[$d+-32>>2]|0,f[$d+4>>2]|0)|0;f[$d+-44>>2]=i;break}case 150:{Ql(i,f[$d+-32>>2]|0,f[$d+-8>>2]|0,f[$d+-20>>2]|0,f[$d+-56>>2]|0,f[$d+4>>2]|0);break}case 151:{Ql(i,f[$d+-32>>2]|0,0,f[$d+-20>>2]|0,f[$d+-56>>2]|0,0);break}case 152:{f[$d+16>>2]=0;break}case 153:{g=f[i>>2]|0;e=f[$d+-80>>2]|0;n=f[$d+-56>>2]|0;o=f[$d+-8>>2]|0;p=f[$d+4>>2]|0;X:do if(!g){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](36)|0;Zd=1314;break}k=ib[f[37372>>2]&255](36)|0;if((f[18194]|0)>>>0<36)f[18194]=36;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[18187]|0;Zd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Yd=ba()|0;f[17976]=((Yd|0)<0|(Yd|0)==0&Zd>>>0<=i>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(k){l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0){f[18196]=l;Zd=1323}else Zd=1323}else Zd=1315}else{if(f[g+272>>2]|0){if(b[g+81>>0]|0){Zd=1315;break}}else{do if((j[g+276>>1]|0)>=36){l=g+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1314;break X}l=g+296|0;k=f[l>>2]|0;if(!k){k=g+292|0;break}else{f[l>>2]=f[k>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1314;break X}}else k=g+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(g,36,0)|0;Zd=1314}while(0);if((Zd|0)==1314)if(!k)Zd=1315;else Zd=1323;if((Zd|0)==1315){if(e|0)jg(g,e);if(n|0)ig(g,n);if(o|0)jg(g,o);if(!p)k=0;else{ig(g,p);k=0}}else if((Zd|0)==1323){f[k>>2]=e;f[k+4>>2]=n;f[k+8>>2]=o;f[k+12>>2]=p;f[k+16>>2]=0}f[$d+-116>>2]=k;break}case 154:{g=f[i>>2]|0;e=f[$d+-44>>2]|0;n=f[$d+-20>>2]|0;Y:do if(!g){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](36)|0;Zd=1348;break}k=ib[f[37372>>2]&255](36)|0;if((f[18194]|0)>>>0<36)f[18194]=36;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[18187]|0;Zd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Yd=ba()|0;f[17976]=((Yd|0)<0|(Yd|0)==0&Zd>>>0<=i>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(k){l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0){f[18196]=l;Zd=1353}else Zd=1353}else Zd=1349}else{if(f[g+272>>2]|0){if(b[g+81>>0]|0){Zd=1349;break}}else{do if((j[g+276>>1]|0)>=36){l=g+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1348;break Y}l=g+296|0;k=f[l>>2]|0;if(!k){k=g+292|0;break}else{f[l>>2]=f[k>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1348;break Y}}else k=g+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(g,36,0)|0;Zd=1348}while(0);if((Zd|0)==1348)if(!k)Zd=1349;else Zd=1353;if((Zd|0)==1349){if(e|0)jg(g,e);if(!n)k=0;else{ig(g,n);k=0}}else if((Zd|0)==1353){f[k>>2]=e;f[k+4>>2]=n;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0}f[$d+-80>>2]=k;break}case 155:{m=f[i>>2]|0;Z:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](36)|0;Zd=1378;break}k=ib[f[37372>>2]&255](36)|0;if((f[18194]|0)>>>0<36)f[18194]=36;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[18187]|0;Yd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[17976]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(k){l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0){f[18196]=l;Zd=1379}else Zd=1379}else k=0}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){k=0;break}}else{do if((j[m+276>>1]|0)>=36){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1378;break Z}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1378;break Z}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,36,0)|0;Zd=1378}while(0);if((Zd|0)==1378)if(!k)k=0;else Zd=1379;if((Zd|0)==1379){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0}f[$d+-32>>2]=k;break}case 159:{f[$d+-20>>2]=f[$d+-8>>2];break}case 160:{Zd=$d+-20|0;i=Rl(i,f[Zd>>2]|0,$d+4|0)|0;f[Zd>>2]=i;break}case 161:{Zd=$d+4|0;i=Rl(i,0,Zd)|0;f[Zd>>2]=i;break}case 162:{f[$d+-20>>2]=f[$d+-8>>2];break}case 164:case 163:{Zd=$d+4|0;i=Cl(i,59,f[Zd>>2]|0,f[$d+8>>2]|0)|0;f[Zd>>2]=i;break}case 165:{o=$d+-20|0;n=Dk(f[i>>2]|0,59,o,1)|0;g=$d+4|0;e=Dk(f[i>>2]|0,59,g,1)|0;_:do if((h[i+196>>0]|0)>1){m=f[i>>2]|0;$:do if(!m){if(!(f[9328]|0)){Ra=ib[f[37356>>2]&255](16)|0;Zd=1410;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}l=ib[f[37356>>2]&255](k)|0;if(l|0){k=ib[f[37368>>2]&255](l)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;k=l;Zd=1411}else{k=l;Zd=1411}}}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break}else{do if((j[m+276>>1]|0)>=16){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Ra=m+284|0;f[Ra>>2]=(f[Ra>>2]|0)+1;Ra=l;Zd=1410;break $}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];Ra=m+284|0;f[Ra>>2]=(f[Ra>>2]|0)+1;Ra=l;Zd=1410;break $}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}Ra=Dc(m,16,0)|0;Zd=1410}while(0);if((Zd|0)==1410?Ra|0:0){k=Ra;Zd=1411}if((Zd|0)==1411){l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=e;Wd=g;Xd=f[Wd+4>>2]|0;Yd=l;f[Yd>>2]=f[Wd>>2];f[Yd+4>>2]=Xd;Yd=i+268|0;f[k+12>>2]=f[Yd>>2];f[Yd>>2]=k}m=f[i>>2]|0;aa:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=1435;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break _;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break _}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1435;break aa}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1435;break aa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=1435}while(0);if((Zd|0)==1435)if(!k)break;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=n;Xd=o;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;Zd=i+268|0;f[k+12>>2]=f[Zd>>2];f[Zd>>2]=k}while(0);m=f[i>>2]|0;ba:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1447;else{k=m;Zd=1451}else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1448;break ba}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1448;break ba}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1447}while(0);if((Zd|0)==1447){k=Dc(m,48,0)|0;Zd=1448}do if((Zd|0)==1448){if(!k){k=f[i>>2]|0;Zd=1451;break}M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=-126;d[k+34>>1]=-1;if(!e)l=0;else{f[k+16>>2]=e;l=f[e+4>>2]&2097412;f[k+4>>2]=l}if(n|0){f[k+12>>2]=n;f[k+4>>2]=f[n+4>>2]&2097412|l}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[Zc>>2]=l;ni(i,42710,Zc)}}while(0);if((Zd|0)==1451){if(n|0)ig(k,n);if(!e)k=0;else{ig(k,e);k=0}}f[o>>2]=k;break}case 166:{s=$d+-44|0;r=Dk(f[i>>2]|0,59,s,1)|0;p=$d+-20|0;q=Dk(f[i>>2]|0,59,p,1)|0;g=$d+4|0;e=Dk(f[i>>2]|0,59,g,1)|0;k=f[i>>2]|0;ca:do if(f[k+272>>2]|0)if(!(b[k+81>>0]|0))Zd=1471;else Zd=1475;else{do if((j[k+276>>1]|0)>=48){l=k+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];Zd=k+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1472;break ca}l=k+296|0;m=f[l>>2]|0;if(!m){l=k+292|0;break}else{f[l>>2]=f[m>>2];Zd=k+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1472;break ca}}else l=k+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;Zd=1471}while(0);if((Zd|0)==1471){m=Dc(k,48,0)|0;Zd=1472}do if((Zd|0)==1472){if(!m){k=f[i>>2]|0;Zd=1475;break}M=m;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[m>>0]=-126;d[m+34>>1]=-1;if(!e)k=0;else{f[m+16>>2]=e;k=f[e+4>>2]&2097412;f[m+4>>2]=k}if(q|0){f[m+12>>2]=q;f[m+4>>2]=f[q+4>>2]&2097412|k}jl(m);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[Wb>>2]=k;ni(i,42710,Wb);o=0;n=m}else{o=0;n=m}}while(0);if((Zd|0)==1475){if(q|0)ig(k,q);if(!e){o=1;n=0}else{ig(k,e);o=1;n=0}}da:do if((h[i+196>>0]|0)>1){m=f[i>>2]|0;ea:do if(!m){if(!(f[9328]|0)){sc=ib[f[37356>>2]&255](16)|0;Zd=1508;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}l=ib[f[37356>>2]&255](k)|0;if(l|0){k=ib[f[37368>>2]&255](l)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;k=l;Zd=1509}else{k=l;Zd=1509}}}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break}else{do if((j[m+276>>1]|0)>=16){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];sc=m+284|0;f[sc>>2]=(f[sc>>2]|0)+1;sc=l;Zd=1508;break ea}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];sc=m+284|0;f[sc>>2]=(f[sc>>2]|0)+1;sc=l;Zd=1508;break ea}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}sc=Dc(m,16,0)|0;Zd=1508}while(0);if((Zd|0)==1508?sc|0:0){k=sc;Zd=1509}if((Zd|0)==1509){l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=e;Wd=g;Xd=f[Wd+4>>2]|0;Yd=l;f[Yd>>2]=f[Wd>>2];f[Yd+4>>2]=Xd;Yd=i+268|0;f[k+12>>2]=f[Yd>>2];f[Yd>>2]=k}m=f[i>>2]|0;fa:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=1533;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break da;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break da}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1533;break fa}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1533;break fa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=1533}while(0);if((Zd|0)==1533)if(!k)break;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=q;Xd=p;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;Zd=i+268|0;f[k+12>>2]=f[Zd>>2];f[Zd>>2]=k}while(0);m=f[i>>2]|0;ga:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1545;else{k=m;Zd=1549}else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1546;break ga}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1546;break ga}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1545}while(0);if((Zd|0)==1545){k=Dc(m,48,0)|0;Zd=1546}do if((Zd|0)==1546){if(!k){k=f[i>>2]|0;Zd=1549;break}M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=-126;d[k+34>>1]=-1;if(o)l=0;else{f[k+16>>2]=n;l=f[n+4>>2]&2097412;f[k+4>>2]=l}if(r|0){f[k+12>>2]=r;f[k+4>>2]=f[r+4>>2]&2097412|l}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[td>>2]=l;ni(i,42710,td)}}while(0);if((Zd|0)==1549){if(r|0)ig(k,r);if(o)k=0;else{ig(k,n);k=0}}f[s>>2]=k;break}case 168:case 167:{Zd=$d+4|0;i=Cl(i,j[$d+2>>1]|0,f[Zd>>2]|0,f[$d+8>>2]|0)|0;f[Zd>>2]=i;break}case 169:{Zd=$d+4|0;i=Dk(f[i>>2]|0,143,Zd,1)|0;f[Zd>>2]=i;break}case 170:{e=$d+4|0;k=f[e>>2]|0;if((b[k>>0]|0)==35?((h[k+1>>0]|0)+-48|0)>>>0<10:0){Wd=e;g=f[Wd>>2]|0;Wd=f[Wd+4>>2]|0;Xd=Yd;f[Xd>>2]=g;f[Xd+4>>2]=Wd;do if(!(b[i+18>>0]|0)){f[G>>2]=Yd;ni(i,50963,G);f[e>>2]=0}else{m=f[i>>2]|0;ha:do if(f[m+272>>2]|0){if(!(b[m+81>>0]|0))Zd=1625}else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Aa=m+284|0;f[Aa>>2]=(f[Aa>>2]|0)+1;Aa=l;Zd=1626;break ha}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];Aa=m+284|0;f[Aa>>2]=(f[Aa>>2]|0)+1;Aa=l;Zd=1626;break ha}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1625}while(0);if((Zd|0)==1625){Aa=Dc(m,48,0)|0;Zd=1626}if((Zd|0)==1626?Aa|0:0){M=Aa;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[Aa>>0]=-92;d[Aa+34>>1]=-1;jl(Aa);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[Aa+24>>2]|0)){f[mb>>2]=k;ni(i,42710,mb)}f[e>>2]=Aa;Pd(g+1|0,Aa+28|0)|0;break}f[e>>2]=0}while(0);break a}u=f[$d+8>>2]|0;w=Cl(i,144,k,u)|0;f[e>>2]=w;v=f[i>>2]|0;if(w|0){s=f[w+8>>2]|0;k=s+1|0;l=b[k>>0]|0;ia:do if(!(l<<24>>24)){Zd=i+192|0;k=(d[Zd>>1]|0)+1<<16>>16;d[Zd>>1]=k}else{if((b[s>>0]|0)==63){if((u|0)==2){g=(l<<24>>24)+-48|0;m=((g|0)<0)<<31>>31;k=Yd;f[k>>2]=g;f[k+4>>2]=m;k=0}else{k=(kf(k,Yd,u+-1|0,1)|0)!=0;g=Yd;m=f[g+4>>2]|0;g=f[g>>2]|0}l=f[v+144>>2]|0;Yd=((l|0)<0)<<31>>31;if(k|((m|0)<0|(m|0)==0&g>>>0<1)|((m|0)>(Yd|0)|(m|0)==(Yd|0)&g>>>0>l>>>0)){f[lb>>2]=l;ni(i,51259,lb);break a}k=g&65535;l=i+192|0;ja:do if((d[l>>1]|0)>=k<<16>>16){e=k<<16>>16;m=i+212|0;l=f[m>>2]|0;if(!l)l=0;else{n=f[l+4>>2]|0;g=2;while(1){if((f[l+(g<<2)>>2]|0)==(e|0))break;g=(f[l+(g+1<<2)>>2]|0)+g|0;if((g|0)>=(n|0))break ja}break ia}}else{d[l>>1]=k;l=i+212|0;m=l;l=f[l>>2]|0}while(0)}else{m=i+212|0;l=f[m>>2]|0;ka:do if(l|0){e=f[l+4>>2]|0;k=2;while(1){g=l+(k+2<<2)|0;if((Yz(g,s,u)|0)==0?(b[g+u>>0]|0)==0:0)break;k=(f[l+(k+1<<2)>>2]|0)+k|0;if((k|0)>=(e|0))break ka}k=f[l+(k<<2)>>2]|0;if(k&65535|0){k=k&65535;break ia}}while(0);Yd=i+192|0;k=(d[Yd>>1]|0)+1<<16>>16;d[Yd>>1]=k}q=k<<16>>16;g=(u|0)/4|0;r=g+3|0;p=(l|0)==0;la:do if(!p){o=l+4|0;g=f[o>>2]|0;e=g+r|0;n=f[l>>2]|0;if((e|0)>(n|0)){e=(n<<1)+r|0;g=e<<2;Zd=l;if((f[v+304>>2]|0)>>>0<=Zd>>>0?(f[v+308>>2]|0)>>>0>Zd>>>0:0){if(!(0<0|(0==0?(j[v+276>>1]|0)>>>0>>0:0))){g=e;Zd=1607;break}n=Lc(v,l,g,0)|0;g=e;Zd=1604;break}n=Lc(v,l,g,0)|0;g=e;Zd=1604}else{n=o;Zd=1608}}else{o=g+13|0;n=o<<2;if(f[v+272>>2]|0){if(b[v+81>>0]|0){l=0;break}}else{do if(!(0<0|(0==0?(j[v+276>>1]|0)>>>0>>0:0))){g=v+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];n=v+284|0;f[n>>2]=(f[n>>2]|0)+1;n=e;g=o;Zd=1604;break la}g=v+296|0;e=f[g>>2]|0;if(!e){g=v+292|0;break}else{f[g>>2]=f[e>>2];n=v+284|0;f[n>>2]=(f[n>>2]|0)+1;n=e;g=o;Zd=1604;break la}}else g=v+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}n=Dc(v,n,0)|0;g=o;Zd=1604}while(0);if((Zd|0)==1604)if(n)if(p){f[n+4>>2]=2;l=n;Zd=1607}else{l=n;Zd=1607}if((Zd|0)==1607){f[l>>2]=g;n=l+4|0;g=f[n>>2]|0;e=g+r|0;Zd=1608}if((Zd|0)==1608){f[l+(g<<2)>>2]=q;f[l+(g+1<<2)>>2]=r;Zd=l+(g+2<<2)|0;f[n>>2]=e;YA(Zd|0,s|0,u|0)|0;b[Zd+u>>0]=0}f[m>>2]=l}while(0);d[w+32>>1]=k;if((f[v+144>>2]|0)<(k<<16>>16|0))ni(i,51302,ud)}break}case 171:{l=$d+-20|0;k=f[l>>2]|0;if((f[$d+8>>2]|0)!=0?(z=Dk(f[i>>2]|0,102,$d+4|0,1)|0,(z|0)!=0):0){f[z+12>>2]=k;k=z+4|0;f[k>>2]=f[k>>2]|4352;k=z}f[l>>2]=k;break}case 172:{g=Dk(f[i>>2]|0,36,$d+-8|0,1)|0;f[$d+-56>>2]=g;k=f[i>>2]|0;l=f[$d+-32>>2]|0;m=(l|0)==0;if(!g){if(m)break a;ig(k,l);break a}if(!m){f[g+12>>2]=l;i=g+4|0;f[i>>2]=f[i>>2]|f[l+4>>2]&2097412}jl(g);break}case 173:{l=f[$d+-8>>2]|0;n=$d+-44|0;e=f[$d+-20>>2]|0;m=f[i>>2]|0;k=Dk(m,157,n,1)|0;g=(l|0)==0;if(!k)if(g)k=0;else{jg(m,l);k=0}else{if(!g?(f[l>>2]|0)>(f[(f[i>>2]|0)+132>>2]|0):0){f[na>>2]=n;ni(i,51325,na)}f[k+20>>2]=l;l=k+4|0;f[l>>2]=f[l>>2]|4;if((f[i+36>>2]|0)==0?(jl(k),Ca=f[(f[i>>2]|0)+120>>2]|0,(Ca|0)<(f[k+24>>2]|0)):0){f[ya>>2]=Ca;ni(i,42710,ya)}if((e|0)==1)f[l>>2]=f[l>>2]|16}f[n>>2]=k;break}case 174:{l=$d+-32|0;k=Dk(f[i>>2]|0,157,l,1)|0;if(k){f[k+20>>2]=0;Zd=k+4|0;f[Zd>>2]=f[Zd>>2]|4;if((f[i+36>>2]|0)==0?(jl(k),A=f[(f[i>>2]|0)+120>>2]|0,(A|0)<(f[k+24>>2]|0)):0){f[s>>2]=A;ni(i,42710,s)}}else k=0;f[l>>2]=k;break}case 175:{l=f[$d+-20>>2]|0;n=$d+-56|0;e=f[$d+-32>>2]|0;m=f[i>>2]|0;k=Dk(m,157,n,1)|0;g=(l|0)==0;if(k){if(!g?(f[l>>2]|0)>(f[(f[i>>2]|0)+132>>2]|0):0){f[pa>>2]=n;ni(i,51325,pa)}f[k+20>>2]=l;m=k+4|0;f[m>>2]=f[m>>2]|4;if((f[i+36>>2]|0)==0?(jl(k),Da=f[(f[i>>2]|0)+120>>2]|0,(Da|0)<(f[k+24>>2]|0)):0){f[za>>2]=Da;ni(i,42710,za)}if((e|0)==1)f[m>>2]=f[m>>2]|16;l=f[$d+4>>2]|0;if((l|0)!=0?(f[k+44>>2]=l,Zd=f[m>>2]|0,f[m>>2]=Zd|16777216,f[l+60>>2]=k,(Zd&16|0)!=0):0)ni(i,51359,Ja)}else{if(!g)jg(m,l);og(f[i>>2]|0,f[$d+4>>2]|0);k=0}f[n>>2]=k;break}case 176:{g=$d+-44|0;k=Dk(f[i>>2]|0,157,g,1)|0;if(k){f[k+20>>2]=0;m=k+4|0;f[m>>2]=f[m>>2]|4;if((f[i+36>>2]|0)==0?(jl(k),K=f[(f[i>>2]|0)+120>>2]|0,(K|0)<(f[k+24>>2]|0)):0){f[D>>2]=K;ni(i,42710,D)}l=f[$d+4>>2]|0;if((l|0)!=0?(f[k+44>>2]=l,Zd=f[m>>2]|0,f[m>>2]=Zd|16777216,f[l+60>>2]=k,(Zd&16|0)!=0):0)ni(i,51359,N)}else{og(f[i>>2]|0,f[$d+4>>2]|0);k=0}f[g>>2]=k;break}case 177:{l=$d+4|0;k=Dk(f[i>>2]|0,157,l,1)|0;if(k){f[k+20>>2]=0;Zd=k+4|0;f[Zd>>2]=f[Zd>>2]|4;if((f[i+36>>2]|0)==0?(jl(k),B=f[(f[i>>2]|0)+120>>2]|0,(B|0)<(f[k+24>>2]|0)):0){f[r>>2]=B;ni(i,42710,r)}}else k=0;f[l>>2]=k;break}case 178:{g=ml(f[i>>2]|0,f[$d+-32>>2]|0,f[$d+-8>>2]|0)|0;m=f[i>>2]|0;ma:do if(f[m+272>>2]|0){if(!(b[m+81>>0]|0))Zd=1699}else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];W=m+284|0;f[W>>2]=(f[W>>2]|0)+1;W=l;Zd=1700;break ma}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];W=m+284|0;f[W>>2]=(f[W>>2]|0)+1;W=l;Zd=1700;break ma}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1699}while(0);if((Zd|0)==1699){W=Dc(m,48,0)|0;Zd=1700}if((Zd|0)==1700?W|0:0){M=W;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[W>>0]=-91;d[W+34>>1]=-1;jl(W);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[W+24>>2]|0)){f[Sa>>2]=k;ni(i,42710,Sa)}f[$d+-44>>2]=W;f[W+20>>2]=g;break a}f[$d+-44>>2]=0;if(g|0)jg(f[i>>2]|0,g);break}case 186:case 185:case 184:case 183:case 182:case 181:case 180:case 179:{g=d[$d+-10>>1]|0;o=$d+-20|0;n=f[o>>2]|0;e=f[$d+4>>2]|0;if(g<<16>>16==44?(f[i+36>>2]|0)==0:0){k=kl(f[i>>2]|0,n,e)|0;if(!k)k=0;else{l=i;Zd=1731}}else Zd=1708;na:do if((Zd|0)==1708){m=f[i>>2]|0;oa:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1718;else k=m;else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1719;break oa}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1719;break oa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1718}while(0);if((Zd|0)==1718){k=Dc(m,48,0)|0;Zd=1719}do if((Zd|0)==1719){if(!k){k=f[i>>2]|0;break}M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=g;d[k+34>>1]=-1;if(!e)l=0;else{f[k+16>>2]=e;l=f[e+4>>2]&2097412;f[k+4>>2]=l}if(n|0){f[k+12>>2]=n;f[k+4>>2]=f[n+4>>2]&2097412|l}jl(k);l=i;Zd=1731;break na}while(0);if(n|0)ig(k,n);if(!e)k=0;else{ig(k,e);k=0}}while(0);if((Zd|0)==1731){l=f[(f[l>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[Zb>>2]=l;ni(i,42710,Zb)}}f[o>>2]=k;break}case 187:{Yd=$d+4|0;i=f[Yd+4>>2]|0;Zd=$d+-8|0;f[Zd>>2]=f[Yd>>2];f[Zd+4>>2]=i;f[$d+-4>>2]=i|-2147483648;break}case 188:{l=$d+-8|0;m=$d+-4|0;n=f[m>>2]|0;f[m>>2]=n&2147483647;m=ml(f[i>>2]|0,0,f[$d+4>>2]|0)|0;o=$d+-20|0;m=ml(f[i>>2]|0,m,f[o>>2]|0)|0;g=f[i>>2]|0;k=Dk(g,157,l,1)|0;e=(m|0)==0;if(!k)if(e)k=0;else{jg(g,m);k=0}else{if(!e?(f[m>>2]|0)>(f[(f[i>>2]|0)+132>>2]|0):0){f[qa>>2]=l;ni(i,51325,qa)}f[k+20>>2]=m;Zd=k+4|0;f[Zd>>2]=f[Zd>>2]|4;if((f[i+36>>2]|0)==0?(jl(k),Ea=f[(f[i>>2]|0)+120>>2]|0,(Ea|0)<(f[k+24>>2]|0)):0){f[ra>>2]=Ea;ni(i,42710,ra)}}f[o>>2]=k;if((n|0)<0){g=f[i>>2]|0;pa:do if(f[g+272>>2]|0)if(!(b[g+81>>0]|0))Zd=1755;else Zd=1758;else{do if((j[g+276>>1]|0)>=48){l=g+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1756;break pa}l=g+296|0;m=f[l>>2]|0;if(!m){l=g+292|0;break}else{f[l>>2]=f[m>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1756;break pa}}else l=g+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;Zd=1755}while(0);if((Zd|0)==1755){m=Dc(g,48,0)|0;Zd=1756}if((Zd|0)==1756)if(m){M=m;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[m>>0]=19;d[m+34>>1]=-1;if(k|0){f[m+12>>2]=k;f[m+4>>2]=f[k+4>>2]&2097412}jl(m);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[_b>>2]=k;ni(i,42710,_b);k=m}else k=m}else Zd=1758;if((Zd|0)==1758)if(!k)k=0;else{ig(f[i>>2]|0,k);k=0}f[o>>2]=k}if(k|0){i=k+4|0;f[i>>2]=f[i>>2]|128}break}case 189:{l=$d+-32|0;m=$d+-28|0;n=f[m>>2]|0;f[m>>2]=n&2147483647;m=ml(f[i>>2]|0,0,f[$d+-20>>2]|0)|0;o=$d+-44|0;m=ml(f[i>>2]|0,m,f[o>>2]|0)|0;m=ml(f[i>>2]|0,m,f[$d+4>>2]|0)|0;g=f[i>>2]|0;k=Dk(g,157,l,1)|0;e=(m|0)==0;if(!k)if(e)k=0;else{jg(g,m);k=0}else{if(!e?(f[m>>2]|0)>(f[(f[i>>2]|0)+132>>2]|0):0){f[sa>>2]=l;ni(i,51325,sa)}f[k+20>>2]=m;Zd=k+4|0;f[Zd>>2]=f[Zd>>2]|4;if((f[i+36>>2]|0)==0?(jl(k),Fa=f[(f[i>>2]|0)+120>>2]|0,(Fa|0)<(f[k+24>>2]|0)):0){f[ta>>2]=Fa;ni(i,42710,ta)}}f[o>>2]=k;if((n|0)<0){g=f[i>>2]|0;qa:do if(f[g+272>>2]|0)if(!(b[g+81>>0]|0))Zd=1786;else Zd=1789;else{do if((j[g+276>>1]|0)>=48){l=g+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1787;break qa}l=g+296|0;m=f[l>>2]|0;if(!m){l=g+292|0;break}else{f[l>>2]=f[m>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1787;break qa}}else l=g+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;Zd=1786}while(0);if((Zd|0)==1786){m=Dc(g,48,0)|0;Zd=1787}if((Zd|0)==1787)if(m){M=m;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[m>>0]=19;d[m+34>>1]=-1;if(k|0){f[m+12>>2]=k;f[m+4>>2]=f[k+4>>2]&2097412}jl(m);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[$b>>2]=k;ni(i,42710,$b);k=m}else k=m}else Zd=1789;if((Zd|0)==1789)if(!k)k=0;else{ig(f[i>>2]|0,k);k=0}f[o>>2]=k}if(k|0){i=k+4|0;f[i>>2]=f[i>>2]|128}break}case 190:{e=d[$d+2>>1]|0;n=$d+-8|0;k=f[n>>2]|0;if(e<<16>>16==44?(f[i+36>>2]|0)==0:0)if(!k)k=0;else{l=i;Zd=1818}else Zd=1801;do if((Zd|0)==1801){g=f[i>>2]|0;ra:do if(f[g+272>>2]|0){if(!(b[g+81>>0]|0))Zd=1811}else{do if((j[g+276>>1]|0)>=48){l=g+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1812;break ra}l=g+296|0;m=f[l>>2]|0;if(!m){l=g+292|0;break}else{f[l>>2]=f[m>>2];Zd=g+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1812;break ra}}else l=g+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;Zd=1811}while(0);if((Zd|0)==1811){m=Dc(g,48,0)|0;Zd=1812}if((Zd|0)==1812?m|0:0){M=m;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[m>>0]=e;d[m+34>>1]=-1;if(k|0){f[m+12>>2]=k;f[m+4>>2]=f[k+4>>2]&2097412}jl(m);k=m;l=i;Zd=1818;break}if(!k)k=0;else{ig(f[i>>2]|0,k);k=0}}while(0);if((Zd|0)==1818){l=f[(f[l>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[zb>>2]=l;ni(i,42710,zb)}}f[n>>2]=k;break}case 191:{e=$d+-20|0;g=f[e>>2]|0;m=f[i>>2]|0;sa:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1831;else Zd=1834;else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1832;break sa}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1832;break sa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1831}while(0);if((Zd|0)==1831){k=Dc(m,48,0)|0;Zd=1832}if((Zd|0)==1832)if(k){M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=51;d[k+34>>1]=-1;if(g|0){f[k+12>>2]=g;f[k+4>>2]=f[g+4>>2]&2097412}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[fb>>2]=l;ni(i,42710,fb)}}else Zd=1834;if((Zd|0)==1834)if(!g)k=0;else{ig(f[i>>2]|0,g);k=0}f[e>>2]=k;break}case 192:{o=$d+-20|0;e=f[o>>2]|0;n=$d+4|0;g=f[n>>2]|0;k=f[i>>2]|0;ta:do if(f[k+272>>2]|0){if(!(b[k+81>>0]|0))Zd=1850}else{do if((j[k+276>>1]|0)>=48){l=k+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=m;Zd=1851;break ta}l=k+296|0;m=f[l>>2]|0;if(!m){l=k+292|0;break}else{f[l>>2]=f[m>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=m;Zd=1851;break ta}}else l=k+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;Zd=1850}while(0);if((Zd|0)==1850){l=Dc(k,48,0)|0;Zd=1851}do if((Zd|0)==1851){if(!l){k=f[i>>2]|0;break}M=l;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[l>>0]=45;d[l+34>>1]=-1;if(!g)k=0;else{f[l+16>>2]=g;k=f[g+4>>2]&2097412;f[l+4>>2]=k}if(e|0){f[l+12>>2]=e;f[l+4>>2]=f[e+4>>2]&2097412|k}jl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[Eb>>2]=k;ni(i,42710,Eb)}f[o>>2]=l;k=f[n>>2]|0;m=f[i>>2]|0;if(!k)break a;if((b[k>>0]|0)!=110)break a;if((h[i+196>>0]|0)>1)break a;b[l>>0]=50;k=l+16|0;l=f[k>>2]|0;if(l|0)ig(m,l);f[k>>2]=0;break a}while(0);if(e|0)ig(k,e);if(g|0)ig(k,g);f[o>>2]=0;break}case 193:{o=$d+-32|0;e=f[o>>2]|0;n=$d+4|0;g=f[n>>2]|0;k=f[i>>2]|0;ua:do if(f[k+272>>2]|0){if(!(b[k+81>>0]|0))Zd=1880}else{do if((j[k+276>>1]|0)>=48){l=k+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=m;Zd=1881;break ua}l=k+296|0;m=f[l>>2]|0;if(!m){l=k+292|0;break}else{f[l>>2]=f[m>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=m;Zd=1881;break ua}}else l=k+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;Zd=1880}while(0);if((Zd|0)==1880){l=Dc(k,48,0)|0;Zd=1881}do if((Zd|0)==1881){if(!l){k=f[i>>2]|0;break}M=l;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[l>>0]=-100;d[l+34>>1]=-1;if(!g)k=0;else{f[l+16>>2]=g;k=f[g+4>>2]&2097412;f[l+4>>2]=k}if(e|0){f[l+12>>2]=e;f[l+4>>2]=f[e+4>>2]&2097412|k}jl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[Fb>>2]=k;ni(i,42710,Fb)}f[o>>2]=l;k=f[n>>2]|0;m=f[i>>2]|0;if(!k)break a;if((b[k>>0]|0)!=110)break a;if((h[i+196>>0]|0)>1)break a;b[l>>0]=51;k=l+16|0;l=f[k>>2]|0;if(l|0)ig(m,l);f[k>>2]=0;break a}while(0);if(e|0)ig(k,e);if(g|0)ig(k,g);f[o>>2]=0;break}case 195:case 194:{g=d[$d+-10>>1]|0;e=f[$d+4>>2]|0;if(g<<16>>16==44?(f[i+36>>2]|0)==0:0)if(!e)k=0;else{k=e;l=i;Zd=1921}else Zd=1904;do if((Zd|0)==1904){m=f[i>>2]|0;va:do if(f[m+272>>2]|0){if(!(b[m+81>>0]|0))Zd=1914}else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1915;break va}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1915;break va}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1914}while(0);if((Zd|0)==1914){k=Dc(m,48,0)|0;Zd=1915}if((Zd|0)==1915?k|0:0){M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=g;d[k+34>>1]=-1;if(e|0){f[k+12>>2]=e;f[k+4>>2]=f[e+4>>2]&2097412}jl(k);l=i;Zd=1921;break}if(!e)k=0;else{ig(f[i>>2]|0,e);k=0}}while(0);if((Zd|0)==1921){l=f[(f[l>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[qb>>2]=l;ni(i,42710,qb)}}f[$d+-8>>2]=k;break}case 196:{g=(d[$d+-10>>1]|0)==96;e=f[$d+4>>2]|0;m=f[i>>2]|0;wa:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1934;else Zd=1937;else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1935;break wa}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1935;break wa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1934}while(0);if((Zd|0)==1934){k=Dc(m,48,0)|0;Zd=1935}if((Zd|0)==1935)if(k){M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=g?-94:-95;d[k+34>>1]=-1;if(e|0){f[k+12>>2]=e;f[k+4>>2]=f[e+4>>2]&2097412}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[gb>>2]=l;ni(i,42710,gb)}}else Zd=1937;if((Zd|0)==1937)if(!e)k=0;else{ig(f[i>>2]|0,e);k=0}f[$d+-8>>2]=k;break}case 200:case 197:{f[$d+4>>2]=0;break}case 199:{e=ml(f[i>>2]|0,0,f[$d+-20>>2]|0)|0;e=ml(f[i>>2]|0,e,f[$d+4>>2]|0)|0;n=$d+-44|0;g=f[n>>2]|0;m=f[i>>2]|0;xa:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1954;else Zd=1957;else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1955;break xa}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1955;break xa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1954}while(0);if((Zd|0)==1954){l=Dc(m,48,0)|0;Zd=1955}if((Zd|0)==1955)if(!l)Zd=1957;else{M=l;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[l>>0]=48;d[l+34>>1]=-1;if(g|0){f[l+12>>2]=g;f[l+4>>2]=f[g+4>>2]&2097412}jl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[rb>>2]=k;ni(i,42710,rb)}f[n>>2]=l;f[l+20>>2]=e}if((Zd|0)==1957){if(g|0)ig(f[i>>2]|0,g);f[n>>2]=0;if(e|0)jg(f[i>>2]|0,e)}if(f[$d+-32>>2]|0){g=f[n>>2]|0;m=f[i>>2]|0;ya:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=1976;else Zd=1979;else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1977;break ya}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=1977;break ya}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=1976}while(0);if((Zd|0)==1976){k=Dc(m,48,0)|0;Zd=1977}if((Zd|0)==1977)if(k){M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=19;d[k+34>>1]=-1;if(g|0){f[k+12>>2]=g;f[k+4>>2]=f[g+4>>2]&2097412}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[jc>>2]=l;ni(i,42710,jc)}}else Zd=1979;if((Zd|0)==1979)if(!g)k=0;else{ig(f[i>>2]|0,g);k=0}f[n>>2]=k}break}case 202:{e=$d+-8|0;k=f[e>>2]|0;if(!k){k=$d+-44|0;l=f[k>>2]|0;if(l|0)ig(f[i>>2]|0,l);i=Dk(f[i>>2]|0,143,10016+(f[$d+-32>>2]<<3)|0,1)|0;f[k>>2]=i;break a}if((f[k>>2]|0)==1){k=k+4|0;o=f[k>>2]|0;f[k>>2]=0;k=f[e>>2]|0;if(k|0)jg(f[i>>2]|0,k);e=(o|0)==0;if(!e){Zd=o+4|0;f[Zd>>2]=f[Zd>>2]&-769|512}g=(f[$d+-32>>2]|0)==0;p=$d+-44|0;n=f[p>>2]|0;m=f[i>>2]|0;za:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=2004;else{k=m;Zd=2008}else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2005;break za}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2005;break za}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2004}while(0);if((Zd|0)==2004){k=Dc(m,48,0)|0;Zd=2005}do if((Zd|0)==2005){if(!k){k=f[i>>2]|0;Zd=2008;break}M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=g?53:52;d[k+34>>1]=-1;if(e)l=0;else{f[k+16>>2]=o;l=f[o+4>>2]&2097412;f[k+4>>2]=l}if(n|0){f[k+12>>2]=n;f[k+4>>2]=f[n+4>>2]&2097412|l}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[ec>>2]=l;ni(i,42710,ec)}}while(0);if((Zd|0)==2008){if(n|0)ig(k,n);if(e)k=0;else{ig(k,o);k=0}}f[p>>2]=k;break a}n=$d+-44|0;g=f[n>>2]|0;m=f[i>>2]|0;Aa:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=2028;else Zd=2031;else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2029;break Aa}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2029;break Aa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2028}while(0);if((Zd|0)==2028){l=Dc(m,48,0)|0;Zd=2029}if((Zd|0)==2029)if(l){M=l;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[l>>0]=49;d[l+34>>1]=-1;if(g|0){f[l+12>>2]=g;f[l+4>>2]=f[g+4>>2]&2097412}jl(l);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[Ab>>2]=k;ni(i,42710,Ab)}f[n>>2]=l;f[l+20>>2]=f[e>>2];k=f[n>>2]|0;if((f[i+36>>2]|0)==0?(jl(k),Jb=f[(f[i>>2]|0)+120>>2]|0,(Jb|0)<(f[k+24>>2]|0)):0){f[Gb>>2]=Jb;ni(i,42710,Gb)}}else Zd=2031;if((Zd|0)==2031){if(g|0)ig(f[i>>2]|0,g);f[n>>2]=0;k=f[e>>2]|0;if(k|0)jg(f[i>>2]|0,k)}if(f[$d+-32>>2]|0){g=f[n>>2]|0;m=f[i>>2]|0;Ba:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=2052;else Zd=2055;else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2053;break Ba}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2053;break Ba}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2052}while(0);if((Zd|0)==2052){k=Dc(m,48,0)|0;Zd=2053}if((Zd|0)==2053)if(k){M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=19;d[k+34>>1]=-1;if(g|0){f[k+12>>2]=g;f[k+4>>2]=f[g+4>>2]&2097412}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[qc>>2]=l;ni(i,42710,qc)}}else Zd=2055;if((Zd|0)==2055)if(!g)k=0;else{ig(f[i>>2]|0,g);k=0}f[n>>2]=k}break}case 203:{m=f[i>>2]|0;Ca:do if(f[m+272>>2]|0){if(!(b[m+81>>0]|0))Zd=2071}else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];X=m+284|0;f[X>>2]=(f[X>>2]|0)+1;X=l;Zd=2072;break Ca}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];X=m+284|0;f[X>>2]=(f[X>>2]|0)+1;X=l;Zd=2072;break Ca}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2071}while(0);if((Zd|0)==2071){X=Dc(m,48,0)|0;Zd=2072}if((Zd|0)==2072?X|0:0){M=X;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[X>>0]=127;d[X+34>>1]=-1;jl(X);l=X+24|0;k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l>>2]|0)){f[Ta>>2]=k;ni(i,42710,Ta)}f[$d+-20>>2]=X;f[X+20>>2]=f[$d+-8>>2];Zd=X+4|0;f[Zd>>2]=f[Zd>>2]|2099200;if(f[i+36>>2]|0)break a;jl(X);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)>=(f[l>>2]|0))break a;f[$a>>2]=k;ni(i,42710,$a);break a}f[$d+-20>>2]=0;k=f[$d+-8>>2]|0;if(k|0)mg(f[i>>2]|0,k,1);break}case 204:{e=$d+-44|0;g=f[e>>2]|0;m=f[i>>2]|0;Da:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=2090;else Zd=2093;else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2091;break Da}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2091;break Da}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2090}while(0);if((Zd|0)==2090){l=Dc(m,48,0)|0;Zd=2091}if((Zd|0)==2091)if(l){M=l;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[l>>0]=49;d[l+34>>1]=-1;if(g|0){f[l+12>>2]=g;f[l+4>>2]=f[g+4>>2]&2097412}jl(l);k=l+24|0;m=f[(f[i>>2]|0)+120>>2]|0;if((m|0)<(f[k>>2]|0)){f[sb>>2]=m;ni(i,42710,sb)}f[e>>2]=l;f[l+20>>2]=f[$d+-8>>2];Yd=l+4|0;f[Yd>>2]=f[Yd>>2]|2099200;if((f[i+36>>2]|0)==0?(jl(l),yb=f[(f[i>>2]|0)+120>>2]|0,(yb|0)<(f[k>>2]|0)):0){f[tb>>2]=yb;ni(i,42710,tb)}}else Zd=2093;if((Zd|0)==2093){if(g|0)ig(f[i>>2]|0,g);f[e>>2]=0;k=f[$d+-8>>2]|0;if(k|0)mg(f[i>>2]|0,k,1)}if(f[$d+-32>>2]|0){g=f[e>>2]|0;m=f[i>>2]|0;Ea:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=2114;else Zd=2117;else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2115;break Ea}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2115;break Ea}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2114}while(0);if((Zd|0)==2114){k=Dc(m,48,0)|0;Zd=2115}if((Zd|0)==2115)if(k){M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=19;d[k+34>>1]=-1;if(g|0){f[k+12>>2]=g;f[k+4>>2]=f[g+4>>2]&2097412}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[lc>>2]=l;ni(i,42710,lc)}}else Zd=2117;if((Zd|0)==2117)if(!g)k=0;else{ig(f[i>>2]|0,g);k=0}f[e>>2]=k}break}case 205:{k=ol(f[i>>2]|0,0,$d+-20|0,$d+-8|0)|0;e=Ll(i,0,k,0,0,0,0,0,0)|0;l=f[$d+4>>2]|0;do if(l|0)if((k|0)==0|(e|0)==0){jg(f[i>>2]|0,l);break}else{Zd=(f[k>>2]|0)+-1|0;f[k+8+(Zd*72|0)+64>>2]=l;Zd=k+8+(Zd*72|0)+37|0;b[Zd>>0]=b[Zd>>0]|4;break}while(0);n=$d+-44|0;g=f[n>>2]|0;m=f[i>>2]|0;Fa:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=2137;else Zd=2140;else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2138;break Fa}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2138;break Fa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2137}while(0);if((Zd|0)==2137){l=Dc(m,48,0)|0;Zd=2138}if((Zd|0)==2138)if(l){M=l;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[l>>0]=49;d[l+34>>1]=-1;if(g|0){f[l+12>>2]=g;f[l+4>>2]=f[g+4>>2]&2097412}jl(l);k=l+24|0;m=f[(f[i>>2]|0)+120>>2]|0;if((m|0)<(f[k>>2]|0)){f[Kb>>2]=m;ni(i,42710,Kb)}f[n>>2]=l;f[l+20>>2]=e;Yd=l+4|0;f[Yd>>2]=f[Yd>>2]|2099200;if((f[i+36>>2]|0)==0?(jl(l),Sb=f[(f[i>>2]|0)+120>>2]|0,(Sb|0)<(f[k>>2]|0)):0){f[Lb>>2]=Sb;ni(i,42710,Lb)}}else Zd=2140;if((Zd|0)==2140){if(g|0)ig(f[i>>2]|0,g);f[n>>2]=0;if(e|0)mg(f[i>>2]|0,e,1)}if(f[$d+-32>>2]|0){g=f[n>>2]|0;m=f[i>>2]|0;Ga:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=2161;else Zd=2164;else{do if((j[m+276>>1]|0)>=48){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2162;break Ga}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2162;break Ga}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2161}while(0);if((Zd|0)==2161){k=Dc(m,48,0)|0;Zd=2162}if((Zd|0)==2162)if(k){M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=19;d[k+34>>1]=-1;if(g|0){f[k+12>>2]=g;f[k+4>>2]=f[g+4>>2]&2097412}jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)<(f[k+24>>2]|0)){f[rc>>2]=l;ni(i,42710,rc)}}else Zd=2164;if((Zd|0)==2164)if(!g)k=0;else{ig(f[i>>2]|0,g);k=0}f[n>>2]=k}break}case 206:{m=f[i>>2]|0;Ha:do if(f[m+272>>2]|0){if(!(b[m+81>>0]|0))Zd=2180}else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Y=m+284|0;f[Y>>2]=(f[Y>>2]|0)+1;Y=l;Zd=2181;break Ha}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];Y=m+284|0;f[Y>>2]=(f[Y>>2]|0)+1;Y=l;Zd=2181;break Ha}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2180}while(0);if((Zd|0)==2180){Y=Dc(m,48,0)|0;Zd=2181}if((Zd|0)==2181?Y|0:0){M=Y;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[Y>>0]=20;d[Y+34>>1]=-1;jl(Y);l=Y+24|0;k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[l>>2]|0)){f[Ua>>2]=k;ni(i,42710,Ua)}f[$d+-32>>2]=Y;f[Y+20>>2]=f[$d+-8>>2];Zd=Y+4|0;f[Zd>>2]=f[Zd>>2]|2099200;if(f[i+36>>2]|0)break a;jl(Y);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)>=(f[l>>2]|0))break a;f[ab>>2]=k;ni(i,42710,ab);break a}f[$d+-32>>2]=0;k=f[$d+-8>>2]|0;if(k|0)mg(f[i>>2]|0,k,1);break}case 207:{g=f[$d+-32>>2]|0;m=f[i>>2]|0;Ia:do if(f[m+272>>2]|0){if(!(b[m+81>>0]|0))Zd=2199}else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Ka=m+284|0;f[Ka>>2]=(f[Ka>>2]|0)+1;Ka=l;Zd=2200;break Ia}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];Ka=m+284|0;f[Ka>>2]=(f[Ka>>2]|0)+1;Ka=l;Zd=2200;break Ia}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2199}while(0);if((Zd|0)==2199){Ka=Dc(m,48,0)|0;Zd=2200}if((Zd|0)==2200?Ka|0:0){M=Ka;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[Ka>>0]=-111;d[Ka+34>>1]=-1;if(g|0){f[Ka+12>>2]=g;f[Ka+4>>2]=f[g+4>>2]&2097412}jl(Ka);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[Ka+24>>2]|0)){f[Va>>2]=k;ni(i,42710,Va)}m=$d+-44|0;f[m>>2]=Ka;l=f[$d+-8>>2]|0;k=f[$d+-20>>2]|0;if(!l)l=Ka;else{k=ml(f[i>>2]|0,k,l)|0;l=f[m>>2]|0}f[l+20>>2]=k;k=f[m>>2]|0;if(f[i+36>>2]|0)break a;jl(k);l=f[(f[i>>2]|0)+120>>2]|0;if((l|0)>=(f[k+24>>2]|0))break a;f[Tb>>2]=l;ni(i,42710,Tb);break a}if(g|0)ig(f[i>>2]|0,g);f[$d+-44>>2]=0;k=f[$d+-20>>2]|0;if(k|0)jg(f[i>>2]|0,k);k=f[$d+-8>>2]|0;if(k|0)ig(f[i>>2]|0,k);break}case 208:{Zd=$d+-44|0;Yd=ml(f[i>>2]|0,f[Zd>>2]|0,f[$d+-20>>2]|0)|0;f[Zd>>2]=Yd;i=ml(f[i>>2]|0,Yd,f[$d+4>>2]|0)|0;f[Zd>>2]=i;break}case 209:{Yd=ml(f[i>>2]|0,0,f[$d+-20>>2]|0)|0;Zd=$d+-32|0;f[Zd>>2]=Yd;i=ml(f[i>>2]|0,Yd,f[$d+4>>2]|0)|0;f[Zd>>2]=i;break}case 308:{f[$d+-44>>2]=f[$d+-8>>2];break}case 215:{Zd=$d+-20|0;i=ml(f[i>>2]|0,f[Zd>>2]|0,f[$d+4>>2]|0)|0;f[Zd>>2]=i;break}case 216:{Zd=$d+4|0;i=ml(f[i>>2]|0,0,f[Zd>>2]|0)|0;f[Zd>>2]=i;break}case 223:case 218:{f[$d+-20>>2]=f[$d+-8>>2];break}case 219:{e=$d+-44|0;Yd=ol(f[i>>2]|0,0,e,0)|0;El(i,$d+-80|0,$d+-68|0,Yd,f[$d+-20>>2]|0,f[$d+-116>>2]|0,$d+-128|0,f[$d+4>>2]|0,0,f[$d+-92>>2]|0,0);if((h[i+196>>0]|0)>1?(q=f[i+228>>2]|0,q|0):0){g=f[q>>2]|0;m=f[i>>2]|0;Ja:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=2246;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break a;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break a}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2246;break Ja}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2246;break Ja}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=2246}while(0);if((Zd|0)==2246)if(!k)break a;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=g;Xd=e;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;i=i+268|0;f[k+12>>2]=f[i>>2];f[i>>2]=k}break}case 260:case 220:{f[$d+4>>2]=2;break}case 221:{f[$d+16>>2]=0;break}case 224:{r=$d+-44|0;s=$d+-20|0;Xd=f[$d+-8>>2]|0;Yd=f[$d+4>>2]|0;u=ml(f[i>>2]|0,f[r>>2]|0,0)|0;if((Xd|0)!=0|(Yd|0)!=-1?(b[(f[i>>2]|0)+165>>0]|0)==0:0){Yd=f[s>>2]|0;f[E>>2]=f[$d+-16>>2];f[E+4>>2]=Yd;ni(i,51406,E)}Ka:do if(u|0){n=(f[u>>2]|0)+-1|0;m=f[i>>2]|0;o=f[s>>2]|0;p=f[$d+-16>>2]|0;La:do if(o){g=KA(p|0,0,1,0)|0;e=ba()|0;Ma:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=2265;else{Zd=2267;break La}else{do if(0<0|(0==0?p>>>0<(j[m+276>>1]|0)>>>0:0)){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];q=m+284|0;f[q>>2]=(f[q>>2]|0)+1;q=l;break Ma}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];q=m+284|0;f[q>>2]=(f[q>>2]|0)+1;q=l;break Ma}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2265}while(0);if((Zd|0)==2265)q=Dc(m,g,e)|0;if(q){YA(q|0,o|0,p|0)|0;b[q+p>>0]=0;k=u+4+(n*20|0)+4|0;f[k>>2]=q;l=b[q>>0]|0;if((b[5472+(l&255)>>0]|0)<0){e=l<<24>>24==91?93:l;g=0;l=1;while(1){m=b[q+l>>0]|0;if(m<<24>>24==e<<24>>24){l=l+1|0;m=q+g|0;if((b[q+l>>0]|0)!=e<<24>>24)break;b[m>>0]=e}else b[q+g>>0]=m;g=g+1|0;l=l+1|0}b[m>>0]=0}}else Zd=2267}else Zd=2267;while(0);if((Zd|0)==2267){k=u+4+(n*20|0)+4|0;f[k>>2]=0}if((h[i+196>>0]|0)>1){g=f[k>>2]|0;m=f[i>>2]|0;Na:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=2300;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break Ka;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break Ka}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2300;break Na}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2300;break Na}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=2300}while(0);if((Zd|0)==2300)if(!k)break;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=g;Xd=s;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;i=i+268|0;f[k+12>>2]=f[i>>2];f[i>>2]=k}}while(0);f[r>>2]=u;break}case 225:{r=$d+-20|0;Xd=f[$d+-8>>2]|0;Yd=f[$d+4>>2]|0;s=ml(f[i>>2]|0,0,0)|0;if((Xd|0)!=0|(Yd|0)!=-1?(b[(f[i>>2]|0)+165>>0]|0)==0:0){Yd=f[r>>2]|0;f[u>>2]=f[$d+-16>>2];f[u+4>>2]=Yd;ni(i,51406,u)}Oa:do if(s|0){n=(f[s>>2]|0)+-1|0;m=f[i>>2]|0;o=f[r>>2]|0;p=f[$d+-16>>2]|0;Pa:do if(o){g=KA(p|0,0,1,0)|0;e=ba()|0;Qa:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=2318;else{Zd=2320;break Pa}else{do if(0<0|(0==0?p>>>0<(j[m+276>>1]|0)>>>0:0)){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];q=m+284|0;f[q>>2]=(f[q>>2]|0)+1;q=l;break Qa}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];q=m+284|0;f[q>>2]=(f[q>>2]|0)+1;q=l;break Qa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=2318}while(0);if((Zd|0)==2318)q=Dc(m,g,e)|0;if(q){YA(q|0,o|0,p|0)|0;b[q+p>>0]=0;k=s+4+(n*20|0)+4|0;f[k>>2]=q;l=b[q>>0]|0;if((b[5472+(l&255)>>0]|0)<0){e=l<<24>>24==91?93:l;g=0;l=1;while(1){m=b[q+l>>0]|0;if(m<<24>>24==e<<24>>24){l=l+1|0;m=q+g|0;if((b[q+l>>0]|0)!=e<<24>>24)break;b[m>>0]=e}else b[q+g>>0]=m;g=g+1|0;l=l+1|0}b[m>>0]=0}}else Zd=2320}else Zd=2320;while(0);if((Zd|0)==2320){k=s+4+(n*20|0)+4|0;f[k>>2]=0}if((h[i+196>>0]|0)>1){g=f[k>>2]|0;m=f[i>>2]|0;Ra:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;Zd=2353;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break Oa;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break Oa}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2353;break Ra}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2353;break Ra}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;Zd=2353}while(0);if((Zd|0)==2353)if(!k)break;l=k+4|0;M=l;N=M+12|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[k>>2]=g;Xd=r;Yd=f[Xd+4>>2]|0;Zd=l;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;i=i+268|0;f[k+12>>2]=f[i>>2];f[i>>2]=k}}while(0);f[r>>2]=s;break}case 228:{y=f[$d+4>>2]|0;o=f[$d+-8>>2]|0;z=f[i>>2]|0;Sa:do if(!(b[z+81>>0]|0)){Ta:do if(!(b[z+165>>0]|0)){m=i+4|0;g=z+24|0;e=(f[g>>2]&1|0)==0;n=z+16|0;Xd=f[(f[n>>2]|0)+12>>2]|0;b[z+78>>0]=b[Xd+77>>0]|0;if((d[Xd+78>>1]&1)==0?(Ga=qi(z,0,m,0)|0,(Ga|0)!=0):0)k=Ga;else Zd=2360;Ua:do if((Zd|0)==2360){k=f[z+20>>2]|0;if((k|0)>1)do{l=k;k=k+-1|0;if((d[(f[(f[n>>2]|0)+(k<<4)+12>>2]|0)+78>>1]&1)==0?(Za=qi(z,k,m,0)|0,Za|0):0){k=Za;break Ua}}while((l|0)>2);if(e)f[g>>2]=f[g>>2]&-2;if(!(b[z+89>>0]|0))break Ta;f[g>>2]=f[g>>2]|8;break Ta}while(0);f[i+12>>2]=k;i=i+36|0;f[i>>2]=(f[i>>2]|0)+1;break Sa}while(0);k=f[y+12>>2]|0;x=Qj(z,f[y+16>>2]|0,k)|0;if(!x){if(!o){f[hb>>2]=y;f[hb+4>>2]=0;ni(i,51444,hb)}else Sl(i,k);b[i+17>>0]=1;break}Xd=x+55|0;if((h[Xd>>0]|h[Xd+1>>0]<<8)&3){f[jb>>2]=0;ni(i,51462,jb);break}l=f[x+24>>2]|0;v=z+16|0;m=f[v>>2]|0;if(!l)w=-1e6;else{k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0)){w=k;break}else k=k+1|0}n=f[x+12>>2]|0;o=f[m+(w<<4)>>2]|0;s=(w|0)==1;k=s?48842:43770;m=f[i>>2]|0;l=b[m+165>>0]|0;if(!(l<<24>>24))if((b[i+196>>0]|0)==0?(mc=f[m+312>>2]|0,(mc|0)!=0):0){k=nb[mc&127](f[m+316>>2]|0,9,k,0,o,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,nc);f[i+12>>2]=23;break}if((k|2|0)!=2){ni(i,49831,oc);f[i+12>>2]=1;break}if(k|0)break;m=f[i>>2]|0;e=b[m+165>>0]|0}else e=0;else e=l;g=(w|0)==0?10:12;l=f[x>>2]|0;k=f[n>>2]|0;do if((e<<24>>24==0?(b[i+196>>0]|0)==0:0)?(wc=f[m+312>>2]|0,wc|0):0){k=nb[wc&127](f[m+316>>2]|0,g,l,k,o,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,xc);f[i+12>>2]=23;break Sa}if((k|2|0)==2)if(!k)break;else break Sa;else{ni(i,49831,yc);f[i+12>>2]=1;break Sa}}while(0);r=i+8|0;k=f[r>>2]|0;l=i+116|0;if(!k){if((f[l>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(!k)break;else u=k}else u=k;q=f[l>>2]|0;q=(q|0)==0?i:q;k=q+84|0;l=f[k>>2]|0;p=1<>2]=l|p,s):0)?(fd=f[q>>2]|0,Pc=fd+16|0,(f[(f[Pc>>2]|0)+20>>2]|0)==0):0)?(b[q+195>>0]|0)==0:0){k=cj(f[fd>>2]|0,0,fd,Yd,0,542)|0;if(k|0){ni(q,51535,Oc);f[q+12>>2]=k;break}Yd=f[Yd>>2]|0;f[(f[Pc>>2]|0)+20>>2]=Yd;k=f[fd+92>>2]|0;g=f[Yd+4>>2]|0;f[g+4>>2]=f[Yd>>2];do if(!(d[g+22>>1]&2)){e=g+32|0;n=g+36|0;o=(f[e>>2]|0)-(f[n>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[e>>2]=k;m=g+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;Yd=(f[18026]|0)+1|0;f[18026]=Yd;f[18027]=(Yd|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;Zd=2417;break}else{k=ib[f[37368>>2]&255](l)|0;Zd=2417}while(0);do if((Zd|0)==2417){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{Zd=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);Zd=ih(f[g>>2]|0,e,o)|0;f[n>>2]=(f[e>>2]|0)-(o&65535);if((Zd|0)!=7)break;k=fd+81|0;do if(!(b[k>>0]|0)){if(b[fd+82>>0]|0)break;b[k>>0]=1;if((f[fd+180>>2]|0)>0)f[fd+264>>2]=1;Zd=fd+272|0;f[Zd>>2]=(f[Zd>>2]|0)+1}while(0);break Va}while(0)}while(0);l=q+80|0;f[l>>2]=f[l>>2]|p;l=q+20|0;b[l>>0]=b[l>>0]|1;l=f[x>>2]|0;f[od>>2]=f[(f[v>>2]|0)+(w<<4)>>2];f[od+4>>2]=43770;f[od+8>>2]=l;Tl(i,51605,od);l=f[x>>2]|0;m=f[(f[(f[i>>2]|0)+16>>2]|0)+(w<<4)>>2]|0;f[gd>>2]=1;vd(24,od,51654,gd)|0;if(ji(f[i>>2]|0,od,m)|0){f[hd>>2]=m;f[hd+4>>2]=od;f[hd+8>>2]=47829;f[hd+12>>2]=l;Tl(i,51668,hd)}f[id>>2]=2;vd(24,od,51654,id)|0;if(ji(f[i>>2]|0,od,m)|0){f[kd>>2]=m;f[kd+4>>2]=od;f[kd+8>>2]=47829;f[kd+12>>2]=l;Tl(i,51668,kd)}f[ld>>2]=3;vd(24,od,51654,ld)|0;if(ji(f[i>>2]|0,od,m)|0){f[md>>2]=m;f[md+4>>2]=od;f[md+8>>2]=47829;f[md+12>>2]=l;Tl(i,51668,md)}f[nd>>2]=4;vd(24,od,51654,nd)|0;k=f[i>>2]|0;if(ji(k,od,m)|0){f[pd>>2]=m;f[pd+4>>2]=od;f[pd+8>>2]=47829;f[pd+12>>2]=l;Tl(i,51668,pd);k=f[i>>2]|0}g=f[r>>2]|0;k=(f[f[(f[k+16>>2]|0)+(w<<4)+12>>2]>>2]|0)+1|0;m=g+136|0;l=f[m>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;Zd=f[g+88>>2]|0;b[Zd+(l*20|0)>>0]=107;d[Zd+(l*20|0)+2>>1]=0;f[Zd+(l*20|0)+4>>2]=w;f[Zd+(l*20|0)+8>>2]=1;f[Zd+(l*20|0)+12>>2]=k;f[Zd+(l*20|0)+16>>2]=0;b[Zd+(l*20|0)+1>>0]=0}else tl(g,107,w,1,k)|0;Ul(i,f[x+44>>2]|0,w);m=f[x>>2]|0;l=u+136|0;k=f[l>>2]|0;if((f[(f[u+12>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;i=f[u+88>>2]|0;b[i+(k*20|0)>>0]=-110;d[i+(k*20|0)+2>>1]=0;f[i+(k*20|0)+4>>2]=w;f[i+(k*20|0)+8>>2]=0;f[i+(k*20|0)+12>>2]=0;f[i+(k*20|0)+16>>2]=0;b[i+(k*20|0)+1>>0]=0}else k=tl(u,146,w,0,0)|0;if(!(b[(f[u>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[l>>2]|0)+-1|0;ul(u,(f[u+88>>2]|0)+(k*20|0)|0,m,0)}}while(0);ng(z,y);break}case 229:{k=f[i+8>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(!k)break a}l=k+136|0;m=f[l>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;M=f[k+88>>2]|0;b[M+(m*20|0)>>0]=8;M=M+(m*20|0)+1|0;N=M+19|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0))}else tl(k,8,0,0,0)|0;i=k+148|0;f[i>>2]=f[i>>2]|1;if(b[(f[(f[(f[k>>2]|0)+16>>2]|0)+4>>2]|0)+9>>0]|0){i=k+152|0;f[i>>2]=f[i>>2]|1}break}case 230:{l=$d+4|0;k=f[i+8>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(!k)break a;else g=k}else g=k;k=f[i>>2]|0;if(f[$d+8>>2]|0){if(b[k+165>>0]|0){ni(i,51151,V);break a}m=Hl(k,l)|0;if((m|0)<0){f[la>>2]=l;ni(i,51168,la);break a}}else m=h[k+164>>0]|0;if(!((m|0)<0|(m|0)==1)){k=g+136|0;l=f[k>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;i=f[g+88>>2]|0;b[i+(l*20|0)>>0]=8;d[i+(l*20|0)+2>>1]=0;f[i+(l*20|0)+4>>2]=m;f[i+(l*20|0)+8>>2]=0;f[i+(l*20|0)+12>>2]=0;f[i+(l*20|0)+16>>2]=0;b[i+(l*20|0)+1>>0]=0}else tl(g,8,m,0,0)|0;k=1<>2]=f[i>>2]|k;if(b[(f[(f[(f[g>>2]|0)+16>>2]|0)+(m<<4)+4>>2]|0)+9>>0]|0){i=g+152|0;f[i>>2]=f[i>>2]|k}}break}case 231:{Vl(i,$d+-8|0,$d+4|0,0,0);break}case 232:{Vl(i,$d+-32|0,$d+-20|0,$d+4|0,0);break}case 233:{Vl(i,$d+-44|0,$d+-32|0,$d+-8|0,0);break}case 234:{Vl(i,$d+-32|0,$d+-20|0,$d+4|0,1);break}case 235:{Vl(i,$d+-44|0,$d+-32|0,$d+-8|0,1);break}case 238:{w=f[$d+-32>>2]|0;x=(f[$d+4>>2]|0)-w+(f[$d+8>>2]|0)|0;k=f[$d+-8>>2]|0;p=i+232|0;l=f[p>>2]|0;B=f[i>>2]|0;f[p>>2]=0;Wa:do if((l|0)!=0&(f[i+36>>2]|0)==0){A=f[l>>2]|0;g=f[l+20>>2]|0;if(!g)z=-1e6;else{e=f[B+16>>2]|0;m=0;while(1)if((f[e+(m<<4)+12>>2]|0)==(g|0)){z=m;break}else m=m+1|0}m=l+28|0;f[m>>2]=k;e=(k|0)==0;if(!e){g=k;do{f[g+4>>2]=l;g=f[g+36>>2]|0}while((g|0)!=0)}f[vc>>2]=A;if(!A)g=0;else g=(wz(A)|0)&1073741823;f[vc+4>>2]=g;f[Ld>>2]=i;y=B+16|0;q=f[y>>2]|0;f[Ld+12>>2]=f[q+(z<<4)>>2];f[Ld+4>>2]=f[q+(z<<4)+12>>2];f[Ld+16>>2]=51698;f[Ld+20>>2]=vc;q=(z|0)==1;f[Ld+8>>2]=q&1;if(!e)do{if(Il(Ld,f[k+8>>2]|0)|0){k=0;Zd=2591;break Wa}if(Wl(Ld,f[k+16>>2]|0)|0){k=0;Zd=2591;break Wa}n=f[k+20>>2]|0;if(n|0?(f[n>>2]|0)>0:0){g=0;e=n+4|0;while(1){if(Wl(Ld,f[e>>2]|0)|0){k=0;Zd=2591;break Wa}g=g+1|0;if((g|0)>=(f[n>>2]|0))break;else e=e+20|0}}o=f[k+28>>2]|0;if(o|0){n=f[o>>2]|0;if(n|0?(f[n>>2]|0)>0:0){g=0;e=n+4|0;while(1){if(Wl(Ld,f[e>>2]|0)|0){k=0;Zd=2591;break Wa}g=g+1|0;if((g|0)>=(f[n>>2]|0))break;else e=e+20|0}}if(Wl(Ld,f[o+4>>2]|0)|0){k=0;Zd=2591;break Wa}n=f[o+8>>2]|0;if(n|0?(f[n>>2]|0)>0:0){g=0;e=n+4|0;while(1){if(Wl(Ld,f[e>>2]|0)|0){k=0;Zd=2591;break Wa}g=g+1|0;if((g|0)>=(f[n>>2]|0))break;else e=e+20|0}}if(Wl(Ld,f[o+12>>2]|0)|0){k=0;Zd=2591;break Wa}}k=f[k+36>>2]|0}while((k|0)!=0);if(!(Wl(Ld,f[l+12>>2]|0)|0)){if((h[i+196>>0]|0)<=1){k=B+165|0;if(!(b[k>>0]|0)){u=i+8|0;g=f[u>>2]|0;e=i+116|0;if(!g){if((f[e>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;g=sl(i)|0;if(!g){k=0;r=l;Zd=2593;break}else v=g}else v=g;s=f[e>>2]|0;s=(s|0)==0?i:s;m=s+84|0;g=f[m>>2]|0;r=1<>2]=g|r,q):0)?(dd=f[s>>2]|0,Nc=dd+16|0,(f[(f[Nc>>2]|0)+20>>2]|0)==0):0)?(b[s+195>>0]|0)==0:0){m=cj(f[dd>>2]|0,0,dd,Yd,0,542)|0;if(m|0){ni(s,51535,Hc);f[s+12>>2]=m;break}Yd=f[Yd>>2]|0;f[(f[Nc>>2]|0)+20>>2]=Yd;m=f[dd+92>>2]|0;n=f[Yd+4>>2]|0;f[n+4>>2]=f[Yd>>2];do if(!(d[n+22>>1]&2)){o=n+32|0;p=n+36|0;q=(f[o>>2]|0)-(f[p>>2]|0)|0;do if((m+-512|0)>>>0<65025){if(m+-1&m|0)break;f[o>>2]=m;e=n+80|0;m=f[e>>2]|0;if(!m)break;g=m+-4|0;f[e>>2]=g;m=g;do if((f[18022]|0)>>>0<=m>>>0)if((f[18023]|0)>>>0>m>>>0){f[18188]=(f[18188]|0)+-1;f[g>>2]=f[18025];f[18025]=g;Yd=(f[18026]|0)+1|0;f[18026]=Yd;f[18027]=(Yd|0)<(f[18021]|0)&1;break}else{m=ib[f[37368>>2]&255](g)|0;Zd=2530;break}else{m=ib[f[37368>>2]&255](g)|0;Zd=2530}while(0);do if((Zd|0)==2530){f[18189]=(f[18189]|0)-m;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{Yd=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Yd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[e>>2]=0}while(0);Yd=ih(f[n>>2]|0,o,q)|0;f[p>>2]=(f[o>>2]|0)-(q&65535);if((Yd|0)!=7)break;m=dd+81|0;do if(!(b[m>>0]|0)){if(b[dd+82>>0]|0)break;b[m>>0]=1;if((f[dd+180>>2]|0)>0)f[dd+264>>2]=1;Yd=dd+272|0;f[Yd>>2]=(f[Yd>>2]|0)+1}while(0);break Xa}while(0)}while(0);o=s+80|0;f[o>>2]=f[o>>2]|r;o=w;Ya:do if(w){e=KA(x|0,0,1,0)|0;n=ba()|0;Za:do if(f[B+272>>2]|0)if(!(b[B+81>>0]|0))Zd=2553;else{g=0;break Ya}else{do if(0<0|(0==0?x>>>0<(j[B+276>>1]|0)>>>0:0)){m=B+300|0;g=f[m>>2]|0;if(g|0){f[m>>2]=f[g>>2];Yd=B+284|0;f[Yd>>2]=(f[Yd>>2]|0)+1;break Za}m=B+296|0;g=f[m>>2]|0;if(!g){m=B+292|0;break}else{f[m>>2]=f[g>>2];Yd=B+284|0;f[Yd>>2]=(f[Yd>>2]|0)+1;break Za}}else m=B+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1;Zd=2553}while(0);if((Zd|0)==2553)g=Dc(B,e,n)|0;if(g){YA(g|0,o|0,x|0)|0;b[g+x>>0]=0}else g=0}else g=0;while(0);Zd=f[l+4>>2]|0;f[xd>>2]=f[(f[y>>2]|0)+(z<<4)>>2];f[xd+4>>2]=43770;f[xd+8>>2]=A;f[xd+12>>2]=Zd;f[xd+16>>2]=g;Tl(i,51706,xd);_a:do if(g|0){if(f[B+480>>2]|0){Kc(B,g);break}m=g;do if((f[B+304>>2]|0)>>>0<=m>>>0){if((f[B+308>>2]|0)>>>0<=m>>>0)break;Zd=B+300|0;f[g>>2]=f[Zd>>2];f[Zd>>2]=g;break _a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{Zd=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);n=f[u>>2]|0;m=(f[f[(f[(f[i>>2]|0)+16>>2]|0)+(z<<4)+12>>2]>>2]|0)+1|0;g=n+136|0;e=f[g>>2]|0;if((f[(f[n+12>>2]|0)+48>>2]|0)>(e|0)){f[g>>2]=e+1;i=f[n+88>>2]|0;b[i+(e*20|0)>>0]=107;d[i+(e*20|0)+2>>1]=0;f[i+(e*20|0)+4>>2]=z;f[i+(e*20|0)+8>>2]=1;f[i+(e*20|0)+12>>2]=m;f[i+(e*20|0)+16>>2]=0;b[i+(e*20|0)+1>>0]=0}else tl(n,107,z,1,m)|0;f[Dd>>2]=A;Xl(v,z,Ig(B,51770,Dd)|0);Zd=2569}}else{f[p>>2]=l;l=0;k=B+165|0;Zd=2569}if((Zd|0)==2569)if(!(b[k>>0]|0)){k=0;Zd=2591;break}q=pg((f[(f[y>>2]|0)+(z<<4)+12>>2]|0)+40|0,A,l)|0;if(q|0){k=B+81|0;if(b[k>>0]|0){k=0;l=q;Zd=2591;break}if(b[B+82>>0]|0){k=0;l=q;Zd=2591;break}b[k>>0]=1;if((f[B+180>>2]|0)>0)f[B+264>>2]=1;k=B+272|0;f[k>>2]=(f[k>>2]|0)+1;k=0;l=q;Zd=2591;break}e=f[l+20>>2]|0;if((e|0)==(f[l+24>>2]|0)){p=f[l+4>>2]|0;n=f[e+20>>2]|0;if(!n){m=e+12|0;k=e+16|0}else{m=b[p>>0]|0;if(!(m<<24>>24))k=0;else{k=0;g=p;do{g=g+1|0;k=U(k+(h[1232+(m&255)>>0]|0)|0,-1640531535)|0;m=b[g>>0]|0}while(m<<24>>24!=0)}k=(k>>>0)%((f[e+8>>2]|0)>>>0)|0;m=n+(k<<3)|0;k=n+(k<<3)+4|0}m=f[m>>2]|0;$a:do if(!m)k=72124;else{o=h[1232+(h[p>>0]|0)>>0]|0;while(1){k=f[k>>2]|0;m=m+-1|0;e=f[k+12>>2]|0;i=b[e>>0]|0;g=(h[1232+(i&255)>>0]|0)-o|0;if(!(i<<24>>24==0|(g|0)!=0)){n=p;do{e=e+1|0;n=n+1|0;i=b[e>>0]|0;g=(h[1232+(i&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(i<<24>>24==0|(g|0)!=0))}if(!g)break $a;if(!m){k=72124;break}}}while(0);k=(f[k+8>>2]|0)+68|0;f[l+32>>2]=f[k>>2];f[k>>2]=l;k=0;l=q;Zd=2591}else{k=0;l=q;Zd=2591}}else{k=0;r=l;Zd=2593}}else Zd=2591;while(0);if((Zd|0)==2591)if(l){r=l;m=l+28|0;Zd=2593}do if((Zd|0)==2593){kg(B,f[m>>2]|0);l=f[l>>2]|0;do if(l|0){if(B|0){if(f[B+480>>2]|0){Kc(B,l);break}i=l;if((f[B+304>>2]|0)>>>0<=i>>>0?(f[B+308>>2]|0)>>>0>i>>>0:0){i=B+300|0;f[l>>2]=f[i>>2];f[i>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{i=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);l=f[r+4>>2]|0;do if(l|0){if(B|0){if(f[B+480>>2]|0){Kc(B,l);break}i=l;if((f[B+304>>2]|0)>>>0<=i>>>0?(f[B+308>>2]|0)>>>0>i>>>0:0){i=B+300|0;f[l>>2]=f[i>>2];f[i>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{i=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);l=f[r+12>>2]|0;if(l|0)ig(B,l);l=f[r+16>>2]|0;if(l|0){q=l+4|0;m=f[l>>2]|0;ab:do if((f[q>>2]|0)>0){e=B+480|0;n=B+304|0;o=B+308|0;p=B+300|0;if(!B){g=0;while(1){m=f[m+(g<<3)>>2]|0;do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{i=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);g=g+1|0;m=f[l>>2]|0;if((g|0)>=(f[q>>2]|0))break ab}}g=0;do{m=f[m+(g<<3)>>2]|0;do if(m|0){if(f[e>>2]|0){Kc(B,m);break}i=m;if((f[n>>2]|0)>>>0<=i>>>0?(f[o>>2]|0)>>>0>i>>>0:0){f[m>>2]=f[p>>2];f[p>>2]=m;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{i=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);g=g+1|0;m=f[l>>2]|0}while((g|0)<(f[q>>2]|0))}while(0);bb:do if(m){do if(B|0){g=B+480|0;if(!(f[g>>2]|0)){e=m;if((f[B+304>>2]|0)>>>0>e>>>0)break;if((f[B+308>>2]|0)>>>0<=e>>>0)break;i=B+300|0;f[m>>2]=f[i>>2];f[i>>2]=m}else Kc(B,m);m=g;Zd=2648;break bb}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);Zd=2646;break}else{Zd=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);Zd=2646;break}}else Zd=2646;while(0);if((Zd|0)==2646)if(!B){Vd=l;Zd=2653}else{m=B+480|0;Zd=2648}do if((Zd|0)==2648){if(f[m>>2]|0){Kc(B,l);break}i=l;if((f[B+304>>2]|0)>>>0<=i>>>0?(f[B+308>>2]|0)>>>0>i>>>0:0){i=B+300|0;f[l>>2]=f[i>>2];f[i>>2]=l}else{Vd=l;Zd=2653}}while(0);do if((Zd|0)==2653?Vd|0:0)if(!(f[9328]|0)){ob[f[37360>>2]&127](Vd);break}else{i=ib[f[37368>>2]&255](Vd)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Vd);break}while(0);if(!r)break}if(B|0){if(f[B+480>>2]|0){Kc(B,r);break}i=r;if((f[B+304>>2]|0)>>>0<=i>>>0?(f[B+308>>2]|0)>>>0>i>>>0:0){i=B+300|0;f[r>>2]=f[i>>2];f[i>>2]=r;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{i=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}while(0);kg(B,k);break}case 239:{H=$d+-80|0;I=$d+-68|0;z=f[$d+-56>>2]|0;E=f[$d+-44>>2]|0;k=f[$d+-40>>2]|0;F=f[$d+-20>>2]|0;G=f[$d+4>>2]|0;J=$d+-116|0;w=f[$d+-92>>2]|0;K=f[i>>2]|0;y=(f[J>>2]|0)!=0;L=$d+-64|0;l=(f[L>>2]|0)==0;do if(y)if(l)if(!F){Zd=2894;break}else{l=1;m=H;Zd=2679;break}else{ni(i,51799,ub);Zd=2894;break}else{if(!l){if(b[K+165>>0]|0){ni(i,51151,vb);Zd=2894;break}l=Hl(K,H)|0;if((l|0)<0){f[Bb>>2]=H;ni(i,51168,Bb);Zd=2894;break}else m=I}else{l=h[K+164>>0]|0;m=H}if((F|0)!=0&(l|0)>-1)Zd=2679;else Zd=2894}while(0);cb:do if((Zd|0)==2679){C=K+81|0;if(!(b[C>>0]|0)){u=K+165|0;if((l|0)!=1&(b[u>>0]|0)!=0){g=F+12|0;e=f[g>>2]|0;do if(e|0){if(f[K+480>>2]|0){Kc(K,e);break}Vd=e;if((f[K+304>>2]|0)>>>0<=Vd>>>0?(f[K+308>>2]|0)>>>0>Vd>>>0:0){Vd=K+300|0;f[e>>2]=f[Vd>>2];f[Vd>>2]=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{Vd=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-Vd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[g>>2]=0}s=F+8|0;e=f[s>>2]|0;if(!e)g=F+12|0;else{n=f[(f[i>>2]|0)+16>>2]|0;g=0;while(1)if((f[n+(g<<4)+12>>2]|0)==(e|0))break;else g=g+1|0;g=n+(g<<4)|0}D=F+16|0;g=pi(i,0,f[D>>2]|0,f[g>>2]|0)|0;e=f[i>>2]|0;v=F+24|0;n=f[v>>2]|0;do if(n|0){if(e|0?f[e+480>>2]|0:0){hg(e,n);break}Jd=n+32|0;Vd=(f[Jd>>2]|0)+-1|0;f[Jd>>2]=Vd;if(!Vd)hg(e,n)}while(0);f[v>>2]=g;db:do if(g){Vd=g+32|0;f[Vd>>2]=(f[Vd>>2]|0)+1;if(b[F+45>>0]&2){q=f[F+72>>2]|0;e=f[g+8>>2]|0;eb:do if(e|0){r=h[1232+(h[q>>0]|0)>>0]|0;while(1){o=f[e>>2]|0;Vd=b[o>>0]|0;n=(h[1232+(Vd&255)>>0]|0)-r|0;if(!(Vd<<24>>24==0|(n|0)!=0)){p=q;do{o=o+1|0;p=p+1|0;Vd=b[o>>0]|0;n=(h[1232+(Vd&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0}while(!(Vd<<24>>24==0|(n|0)!=0))}if(!n)break;e=f[e+20>>2]|0;if(!e)break eb}f[F+76>>2]=e;break db}while(0);f[Yc>>2]=q;f[Yc+4>>2]=0;ni(i,50588,Yc);b[i+17>>0]=1;g=0}}else g=0;while(0);if((b[u>>0]|0)==0?(g|0)!=0&(f[L>>2]|0)==0:0)B=(f[g+72>>2]|0)==(f[(f[K+16>>2]|0)+28>>2]|0)?1:l;else B=l;if((b[C>>0]|0)==0?(Kd=f[i>>2]|0,f[Ld>>2]=i,Kd=f[Kd+16>>2]|0,f[Ld+12>>2]=f[Kd+(B<<4)>>2],f[Ld+4>>2]=f[Kd+(B<<4)+12>>2],f[Ld+16>>2]=51698,f[Ld+20>>2]=m,Kd=(B|0)==1,f[Ld+8>>2]=Kd&1,(Yl(Ld,F)|0)==0):0){g=f[s>>2]|0;if(!g)l=F+12|0;else{e=f[(f[i>>2]|0)+16>>2]|0;l=0;while(1)if((f[e+(l<<4)+12>>2]|0)==(g|0))break;else l=l+1|0;l=e+(l<<4)|0}A=pi(i,0,f[D>>2]|0,f[l>>2]|0)|0;l=f[i>>2]|0;g=f[v>>2]|0;do if(g|0){if(l|0?f[l+480>>2]|0:0){hg(l,g);break}Ld=g+32|0;Vd=(f[Ld>>2]|0)+-1|0;f[Ld>>2]=Vd;if(!Vd)hg(l,g)}while(0);f[v>>2]=A;fb:do if(A|0){Vd=A+32|0;f[Vd>>2]=(f[Vd>>2]|0)+1;gb:do if(b[F+45>>0]&2){o=f[F+72>>2]|0;l=f[A+8>>2]|0;hb:do if(l|0){p=h[1232+(h[o>>0]|0)>>0]|0;while(1){e=f[l>>2]|0;Vd=b[e>>0]|0;g=(h[1232+(Vd&255)>>0]|0)-p|0;if(!(Vd<<24>>24==0|(g|0)!=0)){n=o;do{e=e+1|0;n=n+1|0;Vd=b[e>>0]|0;g=(h[1232+(Vd&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(Vd<<24>>24==0|(g|0)!=0))}if(!g)break;l=f[l+20>>2]|0;if(!l)break hb}f[F+76>>2]=l;break gb}while(0);f[yd>>2]=o;f[yd+4>>2]=0;ni(i,50588,yd);b[i+17>>0]=1;break fb}while(0);if(f[A+56>>2]|0){ni(i,51845,zd);Zd=2894;break cb}x=pl(K,m)|0;if(!x){Zd=2894;break cb}ib:do if(!(Zl(i,x)|0)){v=i+196|0;u=b[v>>0]|0;s=(u&255)>1;do if(!s){n=f[(f[K+16>>2]|0)+(B<<4)+12>>2]|0;o=f[n+52>>2]|0;if(!o){g=n+44|0;l=n+48|0}else{g=b[x>>0]|0;if(!(g<<24>>24))l=0;else{l=0;e=x;do{e=e+1|0;l=U(l+(h[1232+(g&255)>>0]|0)|0,-1640531535)|0;g=b[e>>0]|0}while(g<<24>>24!=0)}l=(l>>>0)%((f[n+40>>2]|0)>>>0)|0;g=o+(l<<3)|0;l=o+(l<<3)+4|0}g=f[g>>2]|0;jb:do if(!g)l=72124;else{p=h[1232+(h[x>>0]|0)>>0]|0;while(1){l=f[l>>2]|0;g=g+-1|0;n=f[l+12>>2]|0;Vd=b[n>>0]|0;e=(h[1232+(Vd&255)>>0]|0)-p|0;if(!(Vd<<24>>24==0|(e|0)!=0)){o=x;do{n=n+1|0;o=o+1|0;Vd=b[n>>0]|0;e=(h[1232+(Vd&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(Vd<<24>>24==0|(e|0)!=0))}if(!e)break jb;if(!g){l=72124;break}}}while(0);if(!(f[l+8>>2]|0))break;if(!w){f[Hd>>2]=m;ni(i,51886,Hd);Zd=2885;break ib}e=f[i+116>>2]|0;e=(e|0)==0?i:e;m=e+84|0;g=f[m>>2]|0;l=1<>2]=g|l;if(!Kd){Zd=2885;break ib}q=f[e>>2]|0;l=q+16|0;if(f[(f[l>>2]|0)+20>>2]|0){Zd=2885;break ib}if(b[e+195>>0]|0){Zd=2885;break ib}m=cj(f[q>>2]|0,0,q,Yd,0,542)|0;if(m|0){ni(e,51535,Md);f[e+12>>2]=m;Zd=2885;break ib}Yd=f[Yd>>2]|0;f[(f[l>>2]|0)+20>>2]=Yd;l=f[q+92>>2]|0;e=f[Yd+4>>2]|0;f[e+4>>2]=f[Yd>>2];do if(!(d[e+22>>1]&2)){n=e+32|0;o=e+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((l+-512|0)>>>0<65025){if(l+-1&l|0)break;f[n>>2]=l;g=e+80|0;l=f[g>>2]|0;if(!l)break;m=l+-4|0;f[g>>2]=m;l=m;do if((f[18022]|0)>>>0<=l>>>0)if((f[18023]|0)>>>0>l>>>0){f[18188]=(f[18188]|0)+-1;f[m>>2]=f[18025];f[18025]=m;Yd=(f[18026]|0)+1|0;f[18026]=Yd;f[18027]=(Yd|0)<(f[18021]|0)&1;break}else{l=ib[f[37368>>2]&255](m)|0;Zd=2778;break}else{l=ib[f[37368>>2]&255](m)|0;Zd=2778}while(0);do if((Zd|0)==2778){f[18189]=(f[18189]|0)-l;if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{Zd=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);f[g>>2]=0}while(0);Zd=ih(f[e>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((Zd|0)!=7)break;l=q+81|0;do if(!(b[l>>0]|0)){if(b[q+82>>0]|0)break;b[l>>0]=1;if((f[q+180>>2]|0)>0)f[q+264>>2]=1;Zd=q+272|0;f[Zd>>2]=(f[Zd>>2]|0)+1}while(0);Zd=2885;break ib}while(0);Zd=2885;break ib}while(0);r=f[A>>2]|0;do if(r|0){l=b[r>>0]|0;kb:do if(!(l<<24>>24)){l=51912;Zd=2792}else{Yd=l&255;l=1232+Yd|0;do if((Yd|32|0)==115){l=b[r+1>>0]|0;if(!(l<<24>>24)){l=51913;Zd=2792;break kb}l=l&255;if((l|32|0)!=113){m=113;l=1232+l|0;break}l=b[r+2>>0]|0;if(!(l<<24>>24)){l=51914;Zd=2792;break kb}l=l&255;if((l|32|0)!=108){m=108;l=1232+l|0;break}l=b[r+3>>0]|0;if(!(l<<24>>24)){l=51915;Zd=2792;break kb}l=l&255;if((l|32|0)!=105){m=105;l=1232+l|0;break}l=b[r+4>>0]|0;if(!(l<<24>>24)){l=51916;Zd=2792;break kb}l=l&255;if((l|32|0)!=116){m=116;l=1232+l|0;break}l=b[r+5>>0]|0;if(!(l<<24>>24)){l=51917;Zd=2792;break kb}l=l&255;if((l|32|0)!=101){m=101;l=1232+l|0;break}l=b[r+6>>0]|0;if(!(l<<24>>24)){l=51918;Zd=2792;break kb}if(l<<24>>24==95)break kb;else{m=95;l=1232+(l&255)|0}}else m=115;while(0);Od=h[l>>0]|0;Nd=m;Zd=2796}while(0);if((Zd|0)==2792){Od=0;Nd=b[1232+(h[l>>0]|0)>>0]|0;Zd=2796}if((Zd|0)==2796?(Od|0)!=(Nd&255|0):0)break;ni(i,51920,Qd);Zd=2885;break ib}while(0);l=f[A+12>>2]|0;if((z|0)!=65&(l|0)!=0){f[Rd>>2]=(z|0)==33?51958:51965;f[Rd+4>>2]=F;f[Rd+8>>2]=0;ni(i,51971,Rd);Zd=2885;break}q=(z|0)==65;if(q&(l|0)==0){f[Sd>>2]=F;f[Sd+4>>2]=0;ni(i,52008,Sd);Zd=2885;break}do if(s){e=q?33:z;if(K|0){Zd=2826;break}if(!(f[9328]|0)){m=ib[f[37356>>2]&255](36)|0;g=1;l=e;Zd=2848;break}l=ib[f[37372>>2]&255](36)|0;if((f[18194]|0)>>>0<36)f[18194]=36;g=71896;m=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&m>>>0>0){Yd=f[18187]|0;Xd=LA(m|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}m=ib[f[37356>>2]&255](l)|0;if(!m)break ib;l=ib[f[37368>>2]&255](m)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0<=(f[18196]|0)>>>0){q=m;g=1;break}f[18196]=l;q=m;g=1}else{m=f[A+72>>2]|0;g=f[K+16>>2]|0;if(!m)l=-1e6;else{l=0;while(1)if((f[g+(l<<4)+12>>2]|0)==(m|0))break;else l=l+1|0}p=f[g+(l<<4)>>2]|0;if(y)n=f[g+16>>2]|0;else n=p;o=(l|0)==1;e=y|o?5:7;g=f[i>>2]|0;l=b[g+165>>0]|0;do if(!((l|u)<<24>>24)){m=f[g+312>>2]|0;if(!m)break;l=nb[m&127](f[g+316>>2]|0,e,x,r,n,f[i+236>>2]|0)|0;if((l|0)==1){ni(i,49816,Td);f[i+12>>2]=23;Zd=2885;break ib}if((l|2|0)!=2){ni(i,49831,Ud);f[i+12>>2]=1;Zd=2885;break ib}if(l|0){Zd=2885;break ib}g=f[i>>2]|0;l=b[g+165>>0]|0}while(0);m=o?48842:43770;do if(!(l<<24>>24)){if(b[v>>0]|0)break;l=f[g+312>>2]|0;if(!l)break;l=nb[l&127](f[g+316>>2]|0,18,m,0,p,f[i+236>>2]|0)|0;if((l|0)==1){ni(i,49816,Wd);f[i+12>>2]=23;Zd=2885;break ib}if((l|2|0)==2)if(!l)break;else{Zd=2885;break ib}else{ni(i,49831,Xd);f[i+12>>2]=1;Zd=2885;break ib}}while(0);e=q?33:z;Zd=2826}while(0);lb:do if((Zd|0)==2826){if(f[K+272>>2]|0){if(b[C>>0]|0){Zd=2886;break ib}}else{do if((j[K+276>>1]|0)>=36){l=K+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];g=K+284|0;f[g>>2]=(f[g>>2]|0)+1;g=0;l=e;Zd=2848;break lb}l=K+296|0;m=f[l>>2]|0;if(!m){l=K+292|0;break}else{f[l>>2]=f[m>>2];g=K+284|0;f[g>>2]=(f[g>>2]|0)+1;g=0;l=e;Zd=2848;break lb}}else l=K+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1}m=Dc(K,36,0)|0;g=0;l=e;Zd=2848}while(0);if((Zd|0)==2848)if(!m){Zd=2885;break}else{q=m;e=l}p=q+4|0;M=p;N=M+32|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[q>>2]=x;n=f[D>>2]|0;mb:do if(!n)g=0;else{o=(wz(n)|0)+1|0;nb:do if(g){Yd=KA(o|0,0,-1,-1)|0;Xd=ba()|0;if(Xd>>>0>0|(Xd|0)==0&Yd>>>0>2147483390){g=0;break mb}if(!(f[9328]|0)){l=ib[f[37356>>2]&255](o)|0;Zd=2874;break}l=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;g=71896;m=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&m>>>0>0){Yd=f[18187]|0;Xd=LA(m|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}l=ib[f[37356>>2]&255](l)|0;if(!l){g=0;break mb}m=ib[f[37368>>2]&255](l)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0<=(f[18196]|0)>>>0)break;f[18196]=m}else{if(f[K+272>>2]|0){if(b[C>>0]|0){g=0;break mb}}else{do if(!(0<0|(0==0?(j[K+276>>1]|0)>>>0>>0:0))){m=K+300|0;l=f[m>>2]|0;if(l|0){f[m>>2]=f[l>>2];Zd=K+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2874;break nb}m=K+296|0;l=f[m>>2]|0;if(!l){l=K+292|0;break}else{f[m>>2]=f[l>>2];Zd=K+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=2874;break nb}}else l=K+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1}l=Dc(K,o,0)|0;Zd=2874}while(0);if((Zd|0)==2874)if(!l){g=0;break}YA(l|0,n|0,o|0)|0;g=l}while(0);f[p>>2]=g;f[q+20>>2]=f[(f[K+16>>2]|0)+(B<<4)+12>>2];f[q+24>>2]=f[A+72>>2];b[q+8>>0]=E;b[q+9>>0]=(e|0)==33?1:2;ob:do if((h[v>>0]|0)>1){m=f[D>>2]|0;l=f[i+268>>2]|0;if(!l){m=0;l=G;break}while(1){if((f[l>>2]|0)==(m|0))break;l=f[l+12>>2]|0;if(!l){m=0;l=G;break ob}}f[l>>2]=g;m=0;l=G}else{if(!G){m=G;l=0;break}m=G;l=Bk(K,G,1,0)|0}while(0);f[q+12>>2]=l;f[q+16>>2]=k;f[i+232>>2]=q;ng(K,F);l=q;k=m;r=q;break cb}else Zd=2885;while(0);if((Zd|0)==2885?K|0:0)Zd=2886;do if((Zd|0)==2886){if(f[K+480>>2]|0){Kc(K,x);Zd=2894;break cb}l=x;if((f[K+304>>2]|0)>>>0>l>>>0)break;if((f[K+308>>2]|0)>>>0<=l>>>0)break;Zd=K+300|0;f[x>>2]=f[Zd>>2];f[Zd>>2]=x;Zd=2894;break cb}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](x);Zd=2894;break cb}else{Zd=ib[f[37368>>2]&255](x)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](x);Zd=2894;break cb}}while(0);if((b[K+164>>0]|0)==1){Zd=K+166|0;b[Zd>>0]=b[Zd>>0]|1;Zd=2894}else Zd=2894}else Zd=2894}else Zd=2894}while(0);do if((Zd|0)==2894){ng(K,F);if(k){p=k+4|0;l=f[k>>2]|0;pb:do if((f[p>>2]|0)>0){g=K+480|0;e=K+304|0;n=K+308|0;o=K+300|0;if(!K){m=0;while(1){l=f[l+(m<<3)>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{Zd=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);m=m+1|0;l=f[k>>2]|0;if((m|0)>=(f[p>>2]|0))break pb}}m=0;do{l=f[l+(m<<3)>>2]|0;do if(l|0){if(f[g>>2]|0){Kc(K,l);break}Zd=l;if((f[e>>2]|0)>>>0<=Zd>>>0?(f[n>>2]|0)>>>0>Zd>>>0:0){f[l>>2]=f[o>>2];f[o>>2]=l;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{Zd=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);m=m+1|0;l=f[k>>2]|0}while((m|0)<(f[p>>2]|0))}while(0);qb:do if(l){do if(K|0){m=K+480|0;if(!(f[m>>2]|0)){g=l;if((f[K+304>>2]|0)>>>0>g>>>0)break;if((f[K+308>>2]|0)>>>0<=g>>>0)break;Zd=K+300|0;f[l>>2]=f[Zd>>2];f[Zd>>2]=l}else Kc(K,l);l=m;Zd=2927;break qb}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);Zd=2925;break}else{Zd=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);Zd=2925;break}}else Zd=2925;while(0);if((Zd|0)==2925)if(K){l=K+480|0;Zd=2927}if((Zd|0)==2927){if(f[l>>2]|0){Kc(K,k);l=0;k=G;r=0;break}Zd=k;if((f[K+304>>2]|0)>>>0<=Zd>>>0?(f[K+308>>2]|0)>>>0>Zd>>>0:0){l=K+300|0;f[k>>2]=f[l>>2];f[l>>2]=k;l=0;k=G;r=0;break}}if(k)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);l=0;k=G;r=0;break}else{l=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);l=0;k=G;r=0;break}else{l=0;k=G;r=0}}else{l=0;k=G;r=0}}while(0);if(k|0)ig(K,k);do if(!((l|0)==0|(f[i+232>>2]|0)!=0)){kg(K,f[l+28>>2]|0);k=f[l>>2]|0;do if(k|0){if(K|0){if(f[K+480>>2]|0){Kc(K,k);break}i=k;if((f[K+304>>2]|0)>>>0<=i>>>0?(f[K+308>>2]|0)>>>0>i>>>0:0){i=K+300|0;f[k>>2]=f[i>>2];f[i>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);k=f[l+4>>2]|0;do if(k|0){if(K|0){if(f[K+480>>2]|0){Kc(K,k);break}i=k;if((f[K+304>>2]|0)>>>0<=i>>>0?(f[K+308>>2]|0)>>>0>i>>>0:0){i=K+300|0;f[k>>2]=f[i>>2];f[i>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);k=f[l+12>>2]|0;if(k|0)ig(K,k);k=f[l+16>>2]|0;do if(k|0){q=k+4|0;l=f[k>>2]|0;rb:do if((f[q>>2]|0)>0){e=K+480|0;n=K+304|0;o=K+308|0;p=K+300|0;if(!K){m=0;while(1){l=f[l+(m<<3)>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{i=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);m=m+1|0;l=f[k>>2]|0;if((m|0)>=(f[q>>2]|0))break rb}}g=0;do{l=f[l+(g<<3)>>2]|0;sb:do if(l|0){if(f[e>>2]|0){Kc(K,l);break}m=l;do if((f[n>>2]|0)>>>0<=m>>>0){if((f[o>>2]|0)>>>0<=m>>>0)break;f[l>>2]=f[p>>2];f[p>>2]=l;break sb}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{i=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);g=g+1|0;l=f[k>>2]|0}while((g|0)<(f[q>>2]|0))}while(0);tb:do if(l){do if(K|0){m=K+480|0;if(!(f[m>>2]|0)){g=l;if((f[K+304>>2]|0)>>>0>g>>>0)break;if((f[K+308>>2]|0)>>>0<=g>>>0)break;i=K+300|0;f[l>>2]=f[i>>2];f[i>>2]=l}else Kc(K,l);l=m;Zd=2994;break tb}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);Zd=2992;break}else{Zd=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);Zd=2992;break}}else Zd=2992;while(0);if((Zd|0)==2992)if(K){l=K+480|0;Zd=2994}if((Zd|0)==2994){if(f[l>>2]|0){Kc(K,k);break}i=k;if((f[K+304>>2]|0)>>>0<=i>>>0?(f[K+308>>2]|0)>>>0>i>>>0:0){i=K+300|0;f[k>>2]=f[i>>2];f[i>>2]=k;break}}if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);if(r|0){if(K|0){if(f[K+480>>2]|0){Kc(K,r);break}i=r;if((f[K+304>>2]|0)>>>0<=i>>>0?(f[K+308>>2]|0)>>>0>i>>>0:0){i=K+300|0;f[r>>2]=f[i>>2];f[i>>2]=r;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{i=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}}while(0);if(!(f[L>>2]|0)){Yd=H;Zd=f[Yd+4>>2]|0;i=J;f[i>>2]=f[Yd>>2];f[i+4>>2]=Zd;break a}else{Yd=I;Zd=f[Yd+4>>2]|0;i=J;f[i>>2]=f[Yd>>2];f[i+4>>2]=Zd;break a}}case 240:{f[$d+4>>2]=j[$d+2>>1];break}case 241:{f[$d+-8>>2]=65;break}case 242:{f[$d+16>>2]=33;break}case 244:case 243:{f[$d+4>>2]=j[$d+2>>1];f[$d+8>>2]=0;break}case 245:{f[$d+-20>>2]=118;f[$d+-16>>2]=f[$d+4>>2];break}case 307:case 265:case 246:{f[$d+16>>2]=0;break}case 266:case 247:{f[$d+-8>>2]=f[$d+4>>2];break}case 248:{Zd=$d+-8|0;i=$d+-20|0;f[(f[(f[i>>2]|0)+40>>2]|0)+36>>2]=f[Zd>>2];f[(f[i>>2]|0)+40>>2]=f[Zd>>2];break}case 249:{i=f[$d+-8>>2]|0;f[i+40>>2]=i;break}case 250:{Xd=$d+4|0;Yd=f[Xd+4>>2]|0;Zd=$d+-20|0;f[Zd>>2]=f[Xd>>2];f[Zd+4>>2]=Yd;ni(i,52054,g);break}case 251:{ni(i,52149,n);break}case 252:{ni(i,52233,o);break}case 253:{l=f[$d+-20>>2]|0;m=f[$d+-8>>2]|0;g=f[$d+-68>>2]&255;e=$d+-80|0;n=f[i>>2]|0;o=_l(i,118,$d+-56|0,f[e>>2]|0,f[$d+4>>2]|0)|0;if(!o)k=m;else{if((h[i+196>>0]|0)<=1){i=Ik(n,l,1)|0;f[o+20>>2]=i;if(!m){k=m;m=0}else{k=m;m=Bk(n,m,1,0)|0}}else{f[o+20>>2]=l;l=0;k=0}f[o+16>>2]=m;b[o+1>>0]=g}if(l|0)jg(n,l);if(k|0)ig(n,k);f[e>>2]=o;break}case 254:{q=f[$d+-32>>2]|0;l=f[$d+-20>>2]|0;m=f[$d+-68>>2]&255;r=f[$d+-8>>2]|0;s=$d+-80|0;u=f[i>>2]|0;v=_l(i,116,$d+-44|0,f[s>>2]|0,f[$d+4>>2]|0)|0;do if(!v){do if(q|0){p=q+4|0;k=f[q>>2]|0;ub:do if((f[p>>2]|0)>0){g=u+480|0;e=u+304|0;n=u+308|0;o=u+300|0;if(!u){m=0;while(1){k=f[k+(m<<3)>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);m=m+1|0;k=f[q>>2]|0;if((m|0)>=(f[p>>2]|0))break ub}}m=0;do{k=f[k+(m<<3)>>2]|0;do if(k|0){if(f[g>>2]|0){Kc(u,k);break}i=k;if((f[e>>2]|0)>>>0<=i>>>0?(f[n>>2]|0)>>>0>i>>>0:0){f[k>>2]=f[o>>2];f[o>>2]=k;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);m=m+1|0;k=f[q>>2]|0}while((m|0)<(f[p>>2]|0))}while(0);vb:do if(k){do if(u|0){m=u+480|0;if(!(f[m>>2]|0)){g=k;if((f[u+304>>2]|0)>>>0>g>>>0)break;if((f[u+308>>2]|0)>>>0<=g>>>0)break;i=u+300|0;f[k>>2]=f[i>>2];f[i>>2]=k}else Kc(u,k);k=q;Zd=3076;break vb}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);Zd=3074;break}else{Zd=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);Zd=3074;break}}else Zd=3074;while(0);if((Zd|0)==3074)if(!u)k=q;else{m=u+480|0;k=q;Zd=3076}if((Zd|0)==3076){if(f[m>>2]|0){Kc(u,k);break}i=k;if((f[u+304>>2]|0)>>>0<=i>>>0?(f[u+308>>2]|0)>>>0>i>>>0:0){i=u+300|0;f[k>>2]=f[i>>2];f[i>>2]=k;break}}if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);if(r){k=f[r>>2]|0;if(k|0)jg(u,k);k=f[r+4>>2]|0;if(k|0)ig(u,k);k=f[r+8>>2]|0;if(k|0)jg(u,k);k=f[r+12>>2]|0;if(k|0)ig(u,k);if(u|0){if(f[u+480>>2]|0){Kc(u,r);k=l;break}i=r;if((f[u+304>>2]|0)>>>0<=i>>>0?(f[u+308>>2]|0)>>>0>i>>>0:0){k=u+300|0;f[r>>2]=f[k>>2];f[k>>2]=r;k=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);k=l;break}else{k=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);k=l;break}}else k=l}else{if((h[i+196>>0]|0)>1)k=0;else{k=l;l=Hk(u,l,1)|0}f[v+8>>2]=l;f[v+24>>2]=q;f[v+28>>2]=r;b[v+1>>0]=m}while(0);if(k|0)mg(u,k,1);f[s>>2]=v;break}case 255:{l=f[$d+-8>>2]|0;m=$d+-56|0;g=f[i>>2]|0;e=_l(i,117,$d+-32|0,f[m>>2]|0,f[$d+4>>2]|0)|0;if(!e)k=l;else{if((h[i+196>>0]|0)<=1)if(!l){k=l;l=0}else{k=l;l=Bk(g,l,1,0)|0}else k=0;f[e+16>>2]=l;b[e+1>>0]=11}if(k|0)ig(g,k);f[m>>2]=e;break}case 256:{p=f[i>>2]|0;g=f[$d+-8>>2]|0;q=$d+-20|0;o=f[q>>2]|0;e=f[$d+4>>2]|0;wb:do if(!p){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](44)|0;Zd=3137;break}k=ib[f[37372>>2]&255](44)|0;if((f[18194]|0)>>>0<44)f[18194]=44;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[18187]|0;Zd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Yd=ba()|0;f[17976]=((Yd|0)<0|(Yd|0)==0&Zd>>>0<=i>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(k){l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0){f[18196]=l;Zd=3140}else Zd=3140}else Zd=3138}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){Zd=3138;break}}else{do if((j[p+276>>1]|0)>=44){l=p+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=p+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3137;break wb}l=p+296|0;k=f[l>>2]|0;if(!k){k=p+292|0;break}else{f[l>>2]=f[k>>2];Zd=p+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3137;break wb}}else k=p+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(p,44,0)|0;Zd=3137}while(0);if((Zd|0)==3137)if(!k)Zd=3138;else Zd=3140;if((Zd|0)==3138)if(!g)k=0;else{mg(p,g,1);k=0}else if((Zd|0)==3140){M=k+2|0;N=M+42|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));b[k>>0]=127;f[k+8>>2]=g;b[k+1>>0]=11;while(1)if(!(b[5472+(h[o>>0]|0)>>0]&1))break;else o=o+1|0;l=e-o|0;xb:do if((l|0)<=0)if(!o)l=0;else{m=l;Zd=3147}else while(1){m=l+-1|0;if(!(b[5472+(h[o+m>>0]|0)>>0]&1)){m=l;Zd=3147;break xb}if((l|0)>1)l=m;else{Zd=3147;break}}while(0);yb:do if((Zd|0)==3147){e=KA(m|0,((m|0)<0)<<31>>31|0,1,0)|0;n=ba()|0;zb:do if(f[p+272>>2]|0)if(!(b[p+81>>0]|0))Zd=3157;else{l=0;break yb}else{do if(!(n>>>0>0|((n|0)==0?e>>>0>(j[p+276>>1]|0)>>>0:0))){g=p+300|0;l=f[g>>2]|0;if(l|0){f[g>>2]=f[l>>2];i=p+284|0;f[i>>2]=(f[i>>2]|0)+1;break zb}g=p+296|0;l=f[g>>2]|0;if(!l){l=p+292|0;break}else{f[g>>2]=f[l>>2];i=p+284|0;f[i>>2]=(f[i>>2]|0)+1;break zb}}else l=p+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;Zd=3157}while(0);if((Zd|0)==3157)l=Dc(p,e,n)|0;if(l){YA(l|0,o|0,m|0)|0;b[l+m>>0]=0;m=b[l>>0]|0;if(m<<24>>24){e=0;g=l;do{if(b[5472+(m&255)>>0]&1)b[g>>0]=32;e=e+1|0;g=l+e|0;m=b[g>>0]|0}while(m<<24>>24!=0)}}else l=0}while(0);f[k+32>>2]=l}f[q>>2]=k;break}case 257:{m=f[i>>2]|0;Ab:do if(f[m+272>>2]|0){if(!(b[m+81>>0]|0))Zd=3176}else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];R=m+284|0;f[R>>2]=(f[R>>2]|0)+1;R=l;Zd=3177;break Ab}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];R=m+284|0;f[R>>2]=(f[R>>2]|0)+1;R=l;Zd=3177;break Ab}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=3176}while(0);if((Zd|0)==3176){R=Dc(m,48,0)|0;Zd=3177}if((Zd|0)==3177?R|0:0){M=R;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[R>>0]=71;d[R+34>>1]=-1;jl(R);k=f[(f[i>>2]|0)+120>>2]|0;if((k|0)<(f[R+24>>2]|0)){f[Ma>>2]=k;ni(i,42710,Ma)}f[$d+-32>>2]=R;b[R+1>>0]=4;break a}f[$d+-32>>2]=0;break}case 258:{k=Dk(f[i>>2]|0,71,$d+-8|0,1)|0;f[$d+-56>>2]=k;if(k|0)b[k+1>>0]=f[$d+-32>>2];break}case 259:{f[$d+4>>2]=1;break}case 261:{f[$d+4>>2]=3;break}case 262:{w=f[$d+4>>2]|0;v=f[$d+-8>>2]|0;x=f[i>>2]|0;Bb:do if(!(b[x+81>>0]|0)){Cb:do if(!(b[x+165>>0]|0)){g=i+4|0;e=x+24|0;n=(f[e>>2]&1|0)==0;o=x+16|0;Yd=f[(f[o>>2]|0)+12>>2]|0;b[x+78>>0]=b[Yd+77>>0]|0;if((d[Yd+78>>1]&1)==0?(Ha=qi(x,0,g,0)|0,(Ha|0)!=0):0)k=Ha;else Zd=3191;Db:do if((Zd|0)==3191){k=x+20|0;l=f[k>>2]|0;if((l|0)>1)do{m=l;l=l+-1|0;if((d[(f[(f[o>>2]|0)+(l<<4)+12>>2]|0)+78>>1]&1)==0?(eb=qi(x,l,g,0)|0,eb|0):0){k=eb;break Db}}while((m|0)>2);if(n)f[e>>2]=f[e>>2]&-2;if(!(b[x+89>>0]|0))break Cb;f[e>>2]=f[e>>2]|8;break Cb}while(0);f[i+12>>2]=k;i=i+36|0;f[i>>2]=(f[i>>2]|0)+1;break Bb}else k=x+20|0;while(0);u=f[w+12>>2]|0;s=f[w+16>>2]|0;q=f[k>>2]|0;if((q|0)>0){r=(u|0)==0;p=f[x+16>>2]|0;k=0;o=0;do{e=o^o>>>0<2;if(!r){m=f[p+(e<<4)>>2]|0;Yd=b[m>>0]|0;l=(h[1232+(Yd&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0;if(!(Yd<<24>>24==0|(l|0)!=0)){g=u;do{m=m+1|0;g=g+1|0;Yd=b[m>>0]|0;l=(h[1232+(Yd&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(Yd<<24>>24==0|(l|0)!=0))}if(!l)Zd=3208}else Zd=3208;if((Zd|0)==3208){Zd=0;g=f[p+(e<<4)+12>>2]|0;e=f[g+52>>2]|0;if(!e){l=g+44|0;k=g+48|0}else{l=b[s>>0]|0;if(!(l<<24>>24))k=0;else{k=0;m=s;do{m=m+1|0;k=U(k+(h[1232+(l&255)>>0]|0)|0,-1640531535)|0;l=b[m>>0]|0}while(l<<24>>24!=0)}k=(k>>>0)%((f[g+40>>2]|0)>>>0)|0;l=e+(k<<3)|0;k=e+(k<<3)+4|0}l=f[l>>2]|0;Eb:do if(!l)k=72124;else{n=h[1232+(h[s>>0]|0)>>0]|0;while(1){k=f[k>>2]|0;l=l+-1|0;g=f[k+12>>2]|0;Yd=b[g>>0]|0;m=(h[1232+(Yd&255)>>0]|0)-n|0;if(!(Yd<<24>>24==0|(m|0)!=0)){e=s;do{g=g+1|0;e=e+1|0;Yd=b[g>>0]|0;m=(h[1232+(Yd&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0}while(!(Yd<<24>>24==0|(m|0)!=0))}if(!m)break Eb;if(!l){k=72124;break}}}while(0);k=f[k+8>>2]|0;if(k){Zd=3223;break}}o=o+1|0}while((o|0)<(q|0));if(k|0){$l(i,k);break}}if(!v){f[cd>>2]=w;f[cd+4>>2]=0;ni(i,52318,cd)}else Sl(i,u);b[i+17>>0]=1}while(0);ng(x,w);break}case 263:{Zd=f[$d+-32>>2]|0;am(i,24,38172,Zd,Zd,f[$d+-8>>2]|0,f[$d+4>>2]|0);break}case 264:{Zd=f[$d+4>>2]|0;am(i,25,38212,Zd,0,0,Zd);break}case 267:{m=f[i>>2]|0;Fb:do if(!(b[m+165>>0]|0)){g=i+4|0;e=m+24|0;n=(f[e>>2]&1|0)==0;o=m+16|0;Xd=f[(f[o>>2]|0)+12>>2]|0;b[m+78>>0]=b[Xd+77>>0]|0;if((d[Xd+78>>1]&1)==0?(fa=qi(m,0,g,0)|0,(fa|0)!=0):0)k=fa;else Zd=3236;Gb:do if((Zd|0)==3236){k=f[m+20>>2]|0;if((k|0)>1)do{l=k;k=k+-1|0;if((d[(f[(f[o>>2]|0)+(k<<4)+12>>2]|0)+78>>1]&1)==0?(La=qi(m,k,g,0)|0,La|0):0){k=La;break Gb}}while((l|0)>2);if(n)f[e>>2]=f[e>>2]&-2;if(!(b[m+89>>0]|0))break Fb;f[e>>2]=f[e>>2]|8;break Fb}while(0);f[i+12>>2]=k;i=i+36|0;f[i>>2]=(f[i>>2]|0)+1;break a}while(0);k=f[i>>2]|0;x=k+20|0;l=f[x>>2]|0;if((l|0)>0){y=i+116|0;w=0;v=f[k+16>>2]|0;k=l;while(1){l=f[(f[v+12>>2]|0)+16>>2]|0;if(l){do{k=f[l+8>>2]|0;m=f[k+8>>2]|0;if(m|0){u=k+72|0;do{g=f[u>>2]|0;if(!g)k=-1e6;else{e=f[(f[i>>2]|0)+16>>2]|0;k=0;while(1)if((f[e+(k<<4)+12>>2]|0)==(g|0))break;else k=k+1|0}s=f[y>>2]|0;s=(s|0)==0?i:s;g=s+84|0;e=f[g>>2]|0;r=1<>2]=e|r,(k|0)==1):0)?(Wc=f[s>>2]|0,Xc=Wc+16|0,(f[(f[Xc>>2]|0)+20>>2]|0)==0):0)?(b[s+195>>0]|0)==0:0){k=cj(f[Wc>>2]|0,0,Wc,Yd,0,542)|0;if(k|0){ni(s,51535,Uc);f[s+12>>2]=k;break}Xd=f[Yd>>2]|0;f[(f[Xc>>2]|0)+20>>2]=Xd;k=f[Wc+92>>2]|0;n=f[Xd+4>>2]|0;f[n+4>>2]=f[Xd>>2];do if(!(d[n+22>>1]&2)){o=n+32|0;p=n+36|0;q=(f[o>>2]|0)-(f[p>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[o>>2]=k;e=n+80|0;k=f[e>>2]|0;if(!k)break;g=k+-4|0;f[e>>2]=g;k=g;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[g>>2]=f[18025];f[18025]=g;Xd=(f[18026]|0)+1|0;f[18026]=Xd;f[18027]=(Xd|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](g)|0;Zd=3270;break}else{k=ib[f[37368>>2]&255](g)|0;Zd=3270}while(0);do if((Zd|0)==3270){Zd=0;f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{Xd=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Xd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[e>>2]=0}while(0);Xd=ih(f[n>>2]|0,o,q)|0;f[p>>2]=(f[o>>2]|0)-(q&65535);if((Xd|0)!=7)break;k=Wc+81|0;do if(!(b[k>>0]|0)){if(b[Wc+82>>0]|0)break;b[k>>0]=1;if((f[Wc+180>>2]|0)>0)f[Wc+264>>2]=1;Xd=Wc+272|0;f[Xd>>2]=(f[Xd>>2]|0)+1}while(0);break Hb}while(0)}while(0);Xd=s+80|0;f[Xd>>2]=f[Xd>>2]|r;bm(i,m,-1);m=f[m+20>>2]|0}while((m|0)!=0)}l=f[l>>2]|0}while((l|0)!=0);k=f[x>>2]|0}w=w+1|0;if((w|0)>=(k|0))break;else v=v+16|0}}break}case 268:{l=$d+-8|0;r=$d+4|0;w=f[i>>2]|0;Ib:do if(!(b[w+165>>0]|0)){g=i+4|0;e=w+24|0;n=(f[e>>2]&1|0)==0;o=w+16|0;Xd=f[(f[o>>2]|0)+12>>2]|0;b[w+78>>0]=b[Xd+77>>0]|0;if((d[Xd+78>>1]&1)==0?(Ia=qi(w,0,g,0)|0,(Ia|0)!=0):0)k=Ia;else Zd=3289;Jb:do if((Zd|0)==3289){k=f[w+20>>2]|0;if((k|0)>1)do{m=k;k=k+-1|0;if((d[(f[(f[o>>2]|0)+(k<<4)+12>>2]|0)+78>>1]&1)==0?(_a=qi(w,k,g,0)|0,_a|0):0){k=_a;break Jb}}while((m|0)>2);if(n)f[e>>2]=f[e>>2]&-2;if(!(b[w+89>>0]|0))break Ib;f[e>>2]=f[e>>2]|8;break Ib}while(0);f[i+12>>2]=k;i=i+36|0;f[i>>2]=(f[i>>2]|0)+1;break a}while(0);k=f[i>>2]|0;do if(!(f[r>>2]|0)){q=pl(k,l)|0;if(!q)break a;p=b[w+78>>0]|0;e=f[w+392>>2]|0;if(!e){m=w+384|0;k=w+388|0}else{m=b[q>>0]|0;if(!(m<<24>>24))k=0;else{k=0;g=q;do{g=g+1|0;k=U(k+(h[1232+(m&255)>>0]|0)|0,-1640531535)|0;m=b[g>>0]|0}while(m<<24>>24!=0)}k=(k>>>0)%((f[w+380>>2]|0)>>>0)|0;m=e+(k<<3)|0;k=e+(k<<3)+4|0}m=f[m>>2]|0;Kb:do if(!m)k=72124;else{o=h[1232+(h[q>>0]|0)>>0]|0;while(1){k=f[k>>2]|0;m=m+-1|0;e=f[k+12>>2]|0;Xd=b[e>>0]|0;g=(h[1232+(Xd&255)>>0]|0)-o|0;if(!(Xd<<24>>24==0|(g|0)!=0)){n=q;do{e=e+1|0;n=n+1|0;Xd=b[e>>0]|0;g=(h[1232+(Xd&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(Xd<<24>>24==0|(g|0)!=0))}if(!g)break Kb;if(!m){k=72124;break}}}while(0);Xd=f[k+8>>2]|0;if((Xd|0)==0|(Xd+(((p&255)+-1|0)*20|0)|0)==0){do if(w){if(f[w+480>>2]|0){Kc(w,q);break}Xd=q;if((f[w+304>>2]|0)>>>0<=Xd>>>0?(f[w+308>>2]|0)>>>0>Xd>>>0:0){Xd=w+300|0;f[q>>2]=f[Xd>>2];f[Xd>>2]=q}else Zd=3337}else Zd=3337;while(0);do if((Zd|0)==3337)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{Xd=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-Xd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);k=f[i>>2]|0;if(!(f[$d+8>>2]|0)){m=h[k+164>>0]|0;break}if(b[k+165>>0]|0){ni(i,51151,Ac);break a}k=Hl(k,l)|0;if((k|0)>=0){l=r;m=k;break}f[Ec>>2]=l;ni(i,51168,Ec);break a}k=f[i>>2]|0;e=k+20|0;l=f[e>>2]|0;if((l|0)>0){g=0;m=f[k+16>>2]|0;while(1){k=f[(f[m+12>>2]|0)+16>>2]|0;if(!k)k=l;else{do{cm(i,f[k+8>>2]|0,q);k=f[k>>2]|0}while((k|0)!=0);k=f[e>>2]|0}g=g+1|0;if((g|0)>=(k|0))break;else{m=m+16|0;l=k}}}if(w|0){if(f[w+480>>2]|0){Kc(w,q);break a}i=q;if((f[w+304>>2]|0)>>>0<=i>>>0?(f[w+308>>2]|0)>>>0>i>>>0:0){i=w+300|0;f[q>>2]=f[i>>2];f[i>>2]=q;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break a}else{i=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break a}}else{if(!(f[$d+8>>2]|0)){m=h[k+164>>0]|0;break}if(b[k+165>>0]|0){ni(i,51151,cb);break a}k=Hl(k,l)|0;if((k|0)<0){f[kb>>2]=l;ni(i,51168,kb);break a}else{l=r;m=k}}while(0);v=pl(w,l)|0;if(v|0){k=f[(f[w+16>>2]|0)+(m<<4)>>2]|0;l=ji(w,v,k)|0;if(!l){r=Qj(w,v,k)|0;do if(!(f[w+480>>2]|0)){Xd=v;if((f[w+304>>2]|0)>>>0<=Xd>>>0?(f[w+308>>2]|0)>>>0>Xd>>>0:0){Xd=w+300|0;f[v>>2]=f[Xd>>2];f[Xd>>2]=v;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](v);break}else{Xd=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-Xd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);break}}else Kc(w,v);while(0);if(!r){ni(i,52338,Vc);break a}q=f[i+116>>2]|0;q=(q|0)==0?i:q;k=q+84|0;l=f[k>>2]|0;p=1<>2]=l|p,(m|0)==1):0)?(wd=f[q>>2]|0,ad=wd+16|0,(f[(f[ad>>2]|0)+20>>2]|0)==0):0)?(b[q+195>>0]|0)==0:0){k=cj(f[wd>>2]|0,0,wd,Yd,0,542)|0;if(k|0){ni(q,51535,_c);f[q+12>>2]=k;break}Yd=f[Yd>>2]|0;f[(f[ad>>2]|0)+20>>2]=Yd;k=f[wd+92>>2]|0;g=f[Yd+4>>2]|0;f[g+4>>2]=f[Yd>>2];if(!(d[g+22>>1]&2)){e=g+32|0;n=g+36|0;o=(f[e>>2]|0)-(f[n>>2]|0)|0;do if((k+-512|0)>>>0<65025?(k+-1&k|0)==0:0){f[e>>2]=k;m=g+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;Yd=(f[18026]|0)+1|0;f[18026]=Yd;f[18027]=(Yd|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;Zd=3420;break}else{k=ib[f[37368>>2]&255](l)|0;Zd=3420}while(0);do if((Zd|0)==3420){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{Zd=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);Zd=ih(f[g>>2]|0,e,o)|0;f[n>>2]=(f[e>>2]|0)-(o&65535);if((Zd|0)==7){k=wd+81|0;do if(!(b[k>>0]|0)){if(b[wd+82>>0]|0)break;b[k>>0]=1;if((f[wd+180>>2]|0)>0)f[wd+264>>2]=1;Zd=wd+272|0;f[Zd>>2]=(f[Zd>>2]|0)+1}while(0);break}}}while(0);Zd=q+80|0;f[Zd>>2]=f[Zd>>2]|p;bm(i,r,-1);break a}k=f[l+8>>2]|0;if(k){s=l+72|0;u=i+116|0;do{m=f[s>>2]|0;if(!m)l=-1e6;else{g=f[(f[i>>2]|0)+16>>2]|0;l=0;while(1)if((f[g+(l<<4)+12>>2]|0)==(m|0))break;else l=l+1|0}r=f[u>>2]|0;r=(r|0)==0?i:r;m=r+84|0;g=f[m>>2]|0;q=1<>2]=g|q,(l|0)==1):0)?(Fd=f[r>>2]|0,Gd=Fd+16|0,(f[(f[Gd>>2]|0)+20>>2]|0)==0):0)?(b[r+195>>0]|0)==0:0){l=cj(f[Fd>>2]|0,0,Fd,Yd,0,542)|0;if(l|0){ni(r,51535,Ed);f[r+12>>2]=l;break}Xd=f[Yd>>2]|0;f[(f[Gd>>2]|0)+20>>2]=Xd;l=f[Fd+92>>2]|0;e=f[Xd+4>>2]|0;f[e+4>>2]=f[Xd>>2];if(!(d[e+22>>1]&2)){n=e+32|0;o=e+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((l+-512|0)>>>0<65025){if(l+-1&l|0)break;f[n>>2]=l;g=e+80|0;l=f[g>>2]|0;if(!l)break;m=l+-4|0;f[g>>2]=m;l=m;do if((f[18022]|0)>>>0<=l>>>0)if((f[18023]|0)>>>0>l>>>0){f[18188]=(f[18188]|0)+-1;f[m>>2]=f[18025];f[18025]=m;Xd=(f[18026]|0)+1|0;f[18026]=Xd;f[18027]=(Xd|0)<(f[18021]|0)&1;break}else{l=ib[f[37368>>2]&255](m)|0;Zd=3374;break}else{l=ib[f[37368>>2]&255](m)|0;Zd=3374}while(0);do if((Zd|0)==3374){Zd=0;f[18189]=(f[18189]|0)-l;if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{Xd=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Xd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);f[g>>2]=0}while(0);Xd=ih(f[e>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((Xd|0)==7){l=Fd+81|0;do if(!(b[l>>0]|0)){if(b[Fd+82>>0]|0)break;b[l>>0]=1;if((f[Fd+180>>2]|0)>0)f[Fd+264>>2]=1;Xd=Fd+272|0;f[Xd>>2]=(f[Xd>>2]|0)+1}while(0);break}}}while(0);Xd=r+80|0;f[Xd>>2]=f[Xd>>2]|q;bm(i,k,-1);k=f[k+20>>2]|0}while((k|0)!=0);if(w|0)Zd=3388}else Zd=3388;if((Zd|0)==3388){if(f[w+480>>2]|0){Kc(w,v);break a}i=v;if((f[w+304>>2]|0)>>>0<=i>>>0?(f[w+308>>2]|0)>>>0>i>>>0:0){i=w+300|0;f[v>>2]=f[i>>2];f[i>>2]=v;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](v);break a}else{i=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);break a}}break}case 269:{dm(i,0,0);break}case 270:{dm(i,$d+-8|0,$d+4|0);break}case 271:{x=f[$d+-32>>2]|0;g=$d+4|0;y=f[i>>2]|0;z=y+24|0;A=f[z>>2]|0;do if(!(b[y+81>>0]|0)){l=f[x+8>>2]|0;if(!l)k=x+12|0;else{m=f[y+16>>2]|0;k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0))break;else k=k+1|0;k=m+(k<<4)|0}s=pi(i,0,f[x+16>>2]|0,f[k>>2]|0)|0;if(s){l=f[s+72>>2]|0;if(!l)v=-1e6;else{m=f[(f[i>>2]|0)+16>>2]|0;k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0)){v=k;break}else k=k+1|0}w=f[(f[y+16>>2]|0)+(v<<4)>>2]|0;f[z>>2]=f[z>>2]|2;u=pl(y,g)|0;if(u){Lb:do if(!(ji(y,u,w)|0)){if(Qj(y,u,w)|0){f[Ob>>2]=u;ni(i,52384,Ob);Zd=3513;break}if((em(i,f[s>>2]|0)|0)==0?(Zl(i,u)|0)==0:0){l=f[s>>2]|0;if(f[s+12>>2]|0){f[Ub>>2]=l;ni(i,52443,Ub);Zd=3513;break}k=f[i>>2]|0;do if(((b[k+165>>0]|0)==0?(b[i+196>>0]|0)==0:0)?(dc=f[k+312>>2]|0,dc|0):0){k=nb[dc&127](f[k+316>>2]|0,26,w,l,0,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,fc);f[i+12>>2]=23;Zd=3513;break Lb}if((k|2|0)==2)if(!k)break;else{Zd=3513;break Lb}else{ni(i,49831,gc);f[i+12>>2]=1;Zd=3513;break Lb}}while(0);if(!(ki(i,s)|0)){if(!(f[s+56>>2]|0))q=0;else{k=f[s+64>>2]|0;Mb:do if(!k)k=0;else while(1){if((f[k>>2]|0)==(y|0))break Mb;k=f[k+24>>2]|0;if(!k){k=0;break}}while(0);q=(f[(f[f[k+8>>2]>>2]|0)+76>>2]|0)==0?0:k}r=i+8|0;k=f[r>>2]|0;if(!k){do if(!(f[i+116>>2]|0)){if(d[(f[i>>2]|0)+76>>1]&8)break;b[i+23>>0]=1}while(0);k=sl(i)|0;if(k|0){p=k;Zd=3475}}else{p=k;Zd=3475}Nb:do if((Zd|0)==3475){e=f[s>>2]|0;m=b[e>>0]|0;if((e|0)!=(-1|0)&m<<24>>24!=0){l=e;k=0;do{g=l+1|0;if((m&255)>191){l=g;while(1){m=b[l>>0]|0;if((m&-64)<<24>>24==-128)l=l+1|0;else break}}else{l=g;m=b[g>>0]|0}k=k+1|0}while(m<<24>>24!=0&(l|0)!=(-1|0))}else k=0;n=(v|0)==1;o=n&1;f[Qc>>2]=w;f[Qc+4>>2]=43770;f[Qc+8>>2]=w;f[Qc+12>>2]=e;f[Qc+16>>2]=u;f[Qc+20>>2]=o;f[Qc+24>>2]=e;Tl(i,52470,Qc);f[Rc>>2]=w;f[Rc+4>>2]=43770;f[Rc+8>>2]=u;f[Rc+12>>2]=u;f[Rc+16>>2]=u;f[Rc+20>>2]=k;f[Rc+24>>2]=e;Tl(i,52631,Rc);if(ji(y,52908,w)|0){Yd=f[s>>2]|0;f[Sc>>2]=w;f[Sc+4>>2]=u;f[Sc+8>>2]=Yd;Tl(i,52924,Sc)}if(!n){f[Tc>>2]=w;f[Tc+4>>2]=e;f[Tc+8>>2]=u;f[Tc+12>>2]=e;f[Tc+16>>2]=w;f[Tc+20>>2]=u;Tl(i,52982,Tc)}if(q|0){g=i+44|0;l=(f[g>>2]|0)+1|0;f[g>>2]=l;g=p+136|0;k=f[g>>2]|0;m=p+12|0;if((f[(f[m>>2]|0)+48>>2]|0)>(k|0)){f[g>>2]=k+1;Yd=f[p+88>>2]|0;b[Yd+(k*20|0)>>0]=106;d[Yd+(k*20|0)+2>>1]=0;f[Yd+(k*20|0)+4>>2]=0;f[Yd+(k*20|0)+8>>2]=l;f[Yd+(k*20|0)+12>>2]=0;f[Yd+(k*20|0)+16>>2]=0;b[Yd+(k*20|0)+1>>0]=0}else k=tl(p,106,0,l,0)|0;if(!(b[(f[p>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[g>>2]|0)+-1|0;ul(p,(f[p+88>>2]|0)+(k*20|0)|0,u,0)}k=f[g>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(k|0)){f[g>>2]=k+1;Yd=f[p+88>>2]|0;b[Yd+(k*20|0)>>0]=-90;d[Yd+(k*20|0)+2>>1]=0;f[Yd+(k*20|0)+4>>2]=l;f[Yd+(k*20|0)+8>>2]=0;f[Yd+(k*20|0)+12>>2]=0;f[Yd+(k*20|0)+16>>2]=0;b[Yd+(k*20|0)+1>>0]=0}else k=tl(p,166,l,0,0)|0;do if(!(b[(f[p>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[g>>2]|0)+-1|0;l=f[p+88>>2]|0;m=l+(k*20|0)+1|0;if(!(b[m>>0]|0)){f[l+(k*20|0)+16>>2]=q;b[m>>0]=-12;Yd=q+12|0;f[Yd>>2]=(f[Yd>>2]|0)+1;break}else{ul(p,l+(k*20|0)|0,q,-12);break}}while(0);Yd=f[i+116>>2]|0;b[((Yd|0)==0?i:Yd)+21>>0]=1}g=f[r>>2]|0;do if(!g){f[jd>>2]=w;f[jd+4>>2]=43770;f[jd+8>>2]=w;f[jd+12>>2]=o;Tl(i,53236,jd);if(n)break Nb}else{k=(f[f[(f[(f[i>>2]|0)+16>>2]|0)+(v<<4)+12>>2]>>2]|0)+1|0;l=g+136|0;m=f[l>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;Yd=f[g+88>>2]|0;b[Yd+(m*20|0)>>0]=107;d[Yd+(m*20|0)+2>>1]=0;f[Yd+(m*20|0)+4>>2]=v;f[Yd+(m*20|0)+8>>2]=1;f[Yd+(m*20|0)+12>>2]=k;f[Yd+(m*20|0)+16>>2]=0;b[Yd+(m*20|0)+1>>0]=0}else tl(g,107,v,1,k)|0;Xl(f[r>>2]|0,v,0);if(n){f[qd>>2]=w;f[qd+4>>2]=43770;f[qd+8>>2]=w;f[qd+12>>2]=o;Tl(i,53236,qd);break Nb}else{Xl(f[r>>2]|0,1,0);f[rd>>2]=w;f[rd+4>>2]=43770;f[rd+8>>2]=w;f[rd+12>>2]=o;Tl(i,53236,rd);break}}while(0);f[sd>>2]=43770;f[sd+4>>2]=w;Tl(i,53380,sd)}while(0);ng(y,x);if(y|0)Zd=3516}else Zd=3513}else Zd=3513}else{f[Nb>>2]=u;ni(i,52384,Nb);Zd=3513}while(0);if((Zd|0)==3513){ng(y,x);Zd=3516}if((Zd|0)==3516){if(f[y+480>>2]|0){Kc(y,u);break}i=u;if((f[y+304>>2]|0)>>>0<=i>>>0?(f[y+308>>2]|0)>>>0>i>>>0:0){i=y+300|0;f[u>>2]=f[i>>2];f[i>>2]=u;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{i=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}}else Zd=3514}else Zd=3514}else Zd=3514;while(0);if((Zd|0)==3514)ng(y,x);f[z>>2]=A;break}case 272:{e=$d+-8|0;o=$d+-4|0;f[o>>2]=(f[i+184>>2]|0)-(f[e>>2]|0)+(f[i+188>>2]|0);s=f[i>>2]|0;if((f[i+36>>2]|0)==0?(pc=s+81|0,(b[pc>>0]|0)==0):0){r=f[i+224>>2]|0;l=f[r+72>>2]|0;m=f[s+16>>2]|0;if(!l)u=-1e6;else{k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0)){u=k;break}else k=k+1|0}p=f[m+(u<<4)>>2]|0;q=(f[r>>2]|0)+16|0;m=f[r+4>>2]|0;g=(d[r+42>>1]|0)+-1|0;l=f[m+(g<<4)+4>>2]|0;k=ji(s,q,p)|0;k=f[k>>2]|0;do if(((b[s+165>>0]|0)==0?(b[i+196>>0]|0)==0:0)?(Db=f[s+312>>2]|0,Db|0):0){k=nb[Db&127](f[s+316>>2]|0,26,p,k,0,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,Hb);f[i+12>>2]=23;break a}if((k|2|0)==2)if(!k)break;else break a;else{ni(i,49831,Ib);f[i+12>>2]=1;break a}}while(0);if(!l)l=0;else l=(b[f[l+12>>2]>>0]|0)==110?0:l;if(b[m+(g<<4)+15>>0]&1){ni(i,53523,Pb);break a}if(f[r+8>>2]|0){ni(i,53555,Qb);break a}if(!(0==0?(f[s+32>>2]&16384|0)==0:0)?(l|0)!=0&(f[r+16>>2]|0)!=0:0){ni(i,53582,Rb);break a}k=(l|0)!=0;if(!(k|(b[m+(g<<4)+12>>0]|0)==0)){ni(i,53641,Vb);break a}Ob:do if(k){f[Yd>>2]=0;do if(!(Ek(s,l,1,65,Yd)|0)){m=f[Yd>>2]|0;if(!m){ni(i,53694,ac);break}if(!((d[m+8>>1]&9216)==0?!(f[m+24>>2]|0):0))ff(m);k=f[m+32>>2]|0;do if(!k)Zd=3562;else{if(f[k+480>>2]|0){Kc(k,m);break}l=m;if((f[k+304>>2]|0)>>>0>l>>>0){Zd=3562;break}if((f[k+308>>2]|0)>>>0<=l>>>0){Zd=3562;break}Yd=k+300|0;f[m>>2]=f[Yd>>2];f[Yd>>2]=m}while(0);do if((Zd|0)==3562)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{Yd=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Yd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);break Ob}while(0);break a}while(0);e=f[e>>2]|0;n=f[o>>2]|0;Pb:do if(e|0){m=KA(n|0,0,1,0)|0;g=ba()|0;Qb:do if(f[s+272>>2]|0)if(!(b[pc>>0]|0))Zd=3578;else break Pb;else{do if(0<0|(0==0?n>>>0<(j[s+276>>1]|0)>>>0:0)){k=s+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];Yd=s+284|0;f[Yd>>2]=(f[Yd>>2]|0)+1;break Qb}k=s+296|0;l=f[k>>2]|0;if(!l){k=s+292|0;break}else{f[k>>2]=f[l>>2];Yd=s+284|0;f[Yd>>2]=(f[Yd>>2]|0)+1;break Qb}}else k=s+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=3578}while(0);if((Zd|0)==3578)l=Dc(s,m,g)|0;if(l|0){YA(l|0,e|0,n|0)|0;b[l+n>>0]=0;k=(f[o>>2]|0)+-1|0;m=s+24|0;g=f[m>>2]|0;if((k|0)>0){k=l+k|0;do{Yd=b[k>>0]|0;if(Yd<<24>>24!=59?(b[5472+(Yd&255)>>0]&1)==0:0)break;b[k>>0]=0;k=k+-1|0}while(k>>>0>l>>>0);k=f[m>>2]|0}else k=g;f[m>>2]=k|2;Yd=f[r+52>>2]|0;f[Fc>>2]=p;f[Fc+4>>2]=43770;f[Fc+8>>2]=Yd;f[Fc+12>>2]=l;f[Fc+16>>2]=Yd+1;f[Fc+20>>2]=q;Tl(i,53740,Fc);Rb:do if(!(f[s+480>>2]|0)){k=l;do if((f[s+304>>2]|0)>>>0<=k>>>0){if((f[s+308>>2]|0)>>>0<=k>>>0)break;Yd=s+300|0;f[l>>2]=f[Yd>>2];f[Yd>>2]=l;break Rb}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{Yd=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Yd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}else Kc(s,l);while(0);f[m>>2]=g}}while(0);p=i+8|0;k=f[p>>2]|0;if(!k){if((f[i+116>>2]|0)==0?(d[(f[i>>2]|0)+76>>1]&8)==0:0)b[i+23>>0]=1;k=sl(i)|0;if(k|0)Zd=3600}else Zd=3600;do if((Zd|0)==3600){o=i+19|0;l=b[o>>0]|0;if(!(l<<24>>24)){Zd=i+44|0;n=(f[Zd>>2]|0)+1|0;f[Zd>>2]=n}else{n=l+-1<<24>>24;b[o>>0]=n;n=f[i+144+((n&255)<<2)>>2]|0}g=k+136|0;l=f[g>>2]|0;e=k+12|0;if((f[(f[e>>2]|0)+48>>2]|0)>(l|0)){f[g>>2]=l+1;Zd=f[k+88>>2]|0;b[Zd+(l*20|0)>>0]=105;d[Zd+(l*20|0)+2>>1]=0;f[Zd+(l*20|0)+4>>2]=u;f[Zd+(l*20|0)+8>>2]=n;f[Zd+(l*20|0)+12>>2]=2;f[Zd+(l*20|0)+16>>2]=0;b[Zd+(l*20|0)+1>>0]=0}else tl(k,105,u,n,2)|0;l=1<>2]=f[Zd>>2]|l;if((u|0)!=1?b[(f[(f[(f[k>>2]|0)+16>>2]|0)+(u<<4)+4>>2]|0)+9>>0]|0:0){Zd=k+152|0;f[Zd>>2]=f[Zd>>2]|l}l=f[g>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(l|0)){f[g>>2]=l+1;Zd=f[k+88>>2]|0;b[Zd+(l*20|0)>>0]=83;d[Zd+(l*20|0)+2>>1]=0;f[Zd+(l*20|0)+4>>2]=n;f[Zd+(l*20|0)+8>>2]=-2;f[Zd+(l*20|0)+12>>2]=0;f[Zd+(l*20|0)+16>>2]=0;b[Zd+(l*20|0)+1>>0]=0}else tl(k,83,n,-2,0)|0;l=f[g>>2]|0;m=l+2|0;if((f[(f[e>>2]|0)+48>>2]|0)>(l|0)){f[g>>2]=l+1;Zd=f[k+88>>2]|0;b[Zd+(l*20|0)>>0]=47;d[Zd+(l*20|0)+2>>1]=0;f[Zd+(l*20|0)+4>>2]=n;f[Zd+(l*20|0)+8>>2]=m;f[Zd+(l*20|0)+12>>2]=0;f[Zd+(l*20|0)+16>>2]=0;b[Zd+(l*20|0)+1>>0]=0}else tl(k,47,n,m,0)|0;l=f[g>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(l|0)){f[g>>2]=l+1;Zd=f[k+88>>2]|0;b[Zd+(l*20|0)>>0]=107;d[Zd+(l*20|0)+2>>1]=0;f[Zd+(l*20|0)+4>>2]=u;f[Zd+(l*20|0)+8>>2]=2;f[Zd+(l*20|0)+12>>2]=3;f[Zd+(l*20|0)+16>>2]=0;b[Zd+(l*20|0)+1>>0]=0}else tl(k,107,u,2,3)|0;if(!n)break;k=b[o>>0]|0;if((k&255)>=8)break;b[o>>0]=k+1<<24>>24;f[i+144+((k&255)<<2)>>2]=n}while(0);g=f[p>>2]|0;if(g|0){k=(f[f[(f[(f[i>>2]|0)+16>>2]|0)+(u<<4)+12>>2]>>2]|0)+1|0;l=g+136|0;m=f[l>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;i=f[g+88>>2]|0;b[i+(m*20|0)>>0]=107;d[i+(m*20|0)+2>>1]=0;f[i+(m*20|0)+4>>2]=u;f[i+(m*20|0)+8>>2]=1;f[i+(m*20|0)+12>>2]=k;f[i+(m*20|0)+16>>2]=0;b[i+(m*20|0)+1>>0]=0}else tl(g,107,u,1,k)|0;Xl(f[p>>2]|0,u,0);if((u|0)!=1)Xl(f[p>>2]|0,1,0)}}break}case 273:{E=i+24|0;b[E>>0]=(b[E>>0]|0)+1<<24>>24;E=f[i>>2]|0;F=E+272|0;f[F>>2]=(f[F>>2]|0)+1;G=f[$d+4>>2]|0;H=E+81|0;Sb:do if(!(b[H>>0]|0)){l=f[G+8>>2]|0;if(!l)k=G+12|0;else{m=f[E+16>>2]|0;k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0))break;else k=k+1|0;k=m+(k<<4)|0}D=pi(i,0,f[G+16>>2]|0,f[k>>2]|0)|0;if(D|0){if(f[D+56>>2]|0){ni(i,53849,Pa);break}if(f[D+12>>2]|0){ni(i,53883,Qa);break}if(!(em(i,f[D>>2]|0)|0)){l=f[D+72>>2]|0;if(!l)B=-1e6;else{m=f[E+16>>2]|0;k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0)){B=k;break}else k=k+1|0}C=(E|0)==0;Tb:do if(C){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](80)|0;Zd=3665;break}k=ib[f[37372>>2]&255](80)|0;if((f[18194]|0)>>>0<80)f[18194]=80;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Yd=f[18187]|0;Xd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Wd=ba()|0;f[17976]=((Wd|0)<0|(Wd|0)==0&Xd>>>0<=Yd>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break Sb;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[F>>2]|0){if(b[H>>0]|0)break Sb}else{do if((j[E+276>>1]|0)>=80){l=E+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=E+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3665;break Tb}l=E+296|0;k=f[l>>2]|0;if(!k){k=E+292|0;break}else{f[l>>2]=f[k>>2];Zd=E+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3665;break Tb}}else k=E+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(E,80,0)|0;Zd=3665}while(0);if((Zd|0)==3665)if(!k)break;M=k;N=M+80|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[i+224>>2]=k;z=k+32|0;f[z>>2]=1;e=d[D+42>>1]|0;A=k+42|0;d[A>>1]=e;e=((((e<<16>>16)+-1|0)/8|0)<<7)+128|0;Ub:do if(C){i=KA(e|0,0,-1,-1)|0;Yd=ba()|0;if(!(Yd>>>0>0|(Yd|0)==0&i>>>0>2147483390)){if(!(f[9328]|0)){l=ib[f[37356>>2]&255](e)|0;Zd=3690;break}l=ib[f[37372>>2]&255](e)|0;if((f[18194]|0)>>>0>>0)f[18194]=e;g=71896;m=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&m>>>0>0){i=f[18187]|0;Yd=LA(m|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[17976]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}l=ib[f[37356>>2]&255](l)|0;if(l){m=ib[f[37368>>2]&255](l)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0>(f[18196]|0)>>>0){f[18196]=m;Zd=3691}else Zd=3691}else l=0}else l=0}else{if(f[F>>2]|0){if(b[H>>0]|0){l=0;break}}else{do if(!(0<0|(0==0?(j[E+276>>1]|0)>>>0>>0:0))){m=E+300|0;l=f[m>>2]|0;if(l|0){f[m>>2]=f[l>>2];Zd=E+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3690;break Ub}m=E+296|0;l=f[m>>2]|0;if(!l){l=E+292|0;break}else{f[m>>2]=f[l>>2];Zd=E+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3690;break Ub}}else l=E+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1}l=Dc(E,e,0)|0;Zd=3690}while(0);if((Zd|0)==3690)if(!l)l=0;else Zd=3691;if((Zd|0)==3691)_A(l|0,0,e|0)|0;y=k+4|0;f[y>>2]=l;f[$c>>2]=f[D>>2];i=Ig(E,53913,$c)|0;f[k>>2]=i;l=f[y>>2]|0;if(!((i|0)==0|(l|0)==0)){YA(l|0,f[D+4>>2]|0,d[A>>1]<<4|0)|0;if((d[A>>1]|0)>0){p=E+276|0;q=E+288|0;r=E+300|0;s=E+296|0;u=E+284|0;v=E+292|0;o=0;do{w=f[y>>2]|0;x=w+(o<<4)|0;e=f[x>>2]|0;Vb:do if(!e)l=0;else{n=(wz(e)|0)+1|0;Wb:do if(C){i=KA(n|0,0,-1,-1)|0;Yd=ba()|0;if(Yd>>>0>0|(Yd|0)==0&i>>>0>2147483390){l=0;break Vb}if(!(f[9328]|0)){l=ib[f[37356>>2]&255](n)|0;Zd=3718;break}l=ib[f[37372>>2]&255](n)|0;if((f[18194]|0)>>>0>>0)f[18194]=n;g=71896;m=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&m>>>0>0){i=f[18187]|0;Yd=LA(m|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[17976]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}l=ib[f[37356>>2]&255](l)|0;if(!l){l=0;break Vb}m=ib[f[37368>>2]&255](l)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0<=(f[18196]|0)>>>0)break;f[18196]=m}else{if(f[F>>2]|0){if(b[H>>0]|0){l=0;break Vb}}else{do if(0<0|(0==0?(j[p>>1]|0)>>>0>>0:0))l=q;else{l=f[r>>2]|0;if(l|0){f[r>>2]=f[l>>2];f[u>>2]=(f[u>>2]|0)+1;Zd=3718;break Wb}l=f[s>>2]|0;if(!l){l=v;break}f[s>>2]=f[l>>2];f[u>>2]=(f[u>>2]|0)+1;Zd=3718;break Wb}while(0);f[l>>2]=(f[l>>2]|0)+1}l=Dc(E,n,0)|0;Zd=3718}while(0);if((Zd|0)==3718){Zd=0;if(!l){l=0;break}}YA(l|0,e|0,n|0)|0}while(0);f[x>>2]=l;f[w+(o<<4)+8>>2]=0;f[w+(o<<4)+4>>2]=0;o=o+1|0}while((o|0)<(d[A>>1]|0))}f[k+72>>2]=f[(f[E+16>>2]|0)+(B<<4)+12>>2];f[k+52>>2]=f[D+52>>2];f[z>>2]=1}}}}while(0);ng(E,G);break}case 274:{v=f[$d+-56>>2]|0;g=$d+-20|0;p=$d+4|0;w=f[i>>2]|0;l=f[v+8>>2]|0;if(!l)k=v+12|0;else{m=f[w+16>>2]|0;k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0))break;else k=k+1|0;k=m+(k<<4)|0}r=pi(i,0,f[v+16>>2]|0,f[k>>2]|0)|0;Xb:do if(r|0?(em(i,f[r>>2]|0)|0)==0:0){k=(f[r+56>>2]|0)==0?((f[r+12>>2]|0)==0?0:51188):53932;if(k|0){Zd=f[r>>2]|0;f[Wa>>2]=k;f[Wa+4>>2]=Zd;ni(i,53946,Wa);break}l=f[r+72>>2]|0;m=f[w+16>>2]|0;if(!l)u=-1e6;else{k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0)){u=k;break}else k=k+1|0}s=f[m+(u<<4)>>2]|0;k=f[r>>2]|0;l=f[i>>2]|0;do if(((b[l+165>>0]|0)==0?(b[i+196>>0]|0)==0:0)?(Xb=f[l+312>>2]|0,Xb|0):0){k=nb[Xb&127](f[l+316>>2]|0,26,s,k,0,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,bc);f[i+12>>2]=23;break Xb}if((k|2|0)==2)if(!k)break;else break Xb;else{ni(i,49831,cc);f[i+12>>2]=1;break Xb}}while(0);q=pl(w,g)|0;if(q|0){Yd=d[r+42>>1]|0;o=Yd<<16>>16;Yb:do if(Yd<<16>>16>0){e=f[r+4>>2]|0;n=h[1232+(h[q>>0]|0)>>0]|0;k=0;do{m=f[e+(k<<4)>>2]|0;Yd=b[m>>0]|0;l=(h[1232+(Yd&255)>>0]|0)-n|0;if(!(Yd<<24>>24==0|(l|0)!=0)){g=q;do{m=m+1|0;g=g+1|0;Yd=b[m>>0]|0;l=(h[1232+(Yd&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(Yd<<24>>24==0|(l|0)!=0))}if(!l)break Yb;k=k+1|0}while((k|0)<(o|0))}else k=0;while(0);Zb:do if((k|0)!=(o|0)){l=pl(w,p)|0;if(!l)l=0;else{e=b[5472+(h[f[p>>2]>>0]|0)>>0]&-128&255;n=f[r>>2]|0;o=(u|0)==1;p=o&1;f[Bc>>2]=s;f[Bc+4>>2]=43770;f[Bc+8>>2]=s;f[Bc+12>>2]=n;f[Bc+16>>2]=k;f[Bc+20>>2]=l;f[Bc+24>>2]=e;f[Bc+28>>2]=p;f[Bc+32>>2]=n;Tl(i,54e3,Bc);n=f[r>>2]|0;f[Cc>>2]=43770;f[Cc+4>>2]=s;f[Cc+8>>2]=n;f[Cc+12>>2]=k;f[Cc+16>>2]=l;f[Cc+20>>2]=e;Tl(i,54194,Cc);e=i+8|0;n=f[e>>2]|0;do if(!n){f[Gc>>2]=s;f[Gc+4>>2]=43770;f[Gc+8>>2]=s;f[Gc+12>>2]=p;Tl(i,53236,Gc);if(o)break Zb}else{k=(f[f[(f[(f[i>>2]|0)+16>>2]|0)+(u<<4)+12>>2]>>2]|0)+1|0;m=n+136|0;g=f[m>>2]|0;if((f[(f[n+12>>2]|0)+48>>2]|0)>(g|0)){f[m>>2]=g+1;Yd=f[n+88>>2]|0;b[Yd+(g*20|0)>>0]=107;d[Yd+(g*20|0)+2>>1]=0;f[Yd+(g*20|0)+4>>2]=u;f[Yd+(g*20|0)+8>>2]=1;f[Yd+(g*20|0)+12>>2]=k;f[Yd+(g*20|0)+16>>2]=0;b[Yd+(g*20|0)+1>>0]=0}else tl(n,107,u,1,k)|0;Xl(f[e>>2]|0,u,0);if(o){f[Ic>>2]=s;f[Ic+4>>2]=43770;f[Ic+8>>2]=s;f[Ic+12>>2]=p;Tl(i,53236,Ic);break Zb}else{Xl(f[e>>2]|0,1,0);f[Jc>>2]=s;f[Jc+4>>2]=43770;f[Jc+8>>2]=s;f[Jc+12>>2]=p;Tl(i,53236,Jc);break}}while(0);f[Mc>>2]=43770;f[Mc+4>>2]=s;Tl(i,53380,Mc)}}else{f[zc>>2]=q;ni(i,53979,zc);l=0}while(0);ng(w,v);k=(w|0)==0;do if(!k){if(f[w+480>>2]|0){Kc(w,q);break}i=q;if((f[w+304>>2]|0)>>>0<=i>>>0?(f[w+308>>2]|0)>>>0>i>>>0:0){i=w+300|0;f[q>>2]=f[i>>2];f[i>>2]=q}else Zd=3770}else Zd=3770;while(0);do if((Zd|0)==3770)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{i=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);if(!l)break a;if(!k){if(f[w+480>>2]|0){Kc(w,l);break a}i=l;if((f[w+304>>2]|0)>>>0<=i>>>0?(f[w+308>>2]|0)>>>0>i>>>0:0){i=w+300|0;f[l>>2]=f[i>>2];f[i>>2]=l;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break a}else{i=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break a}}}while(0);ng(w,v);break}case 275:{fm(i,0);break}case 276:{fm(i,$d+4|0);break}case 277:{n=$d+4|0;zl(i,$d+-32|0,$d+-20|0,0,0,1,f[$d+-44>>2]|0);r=f[i+224>>2]|0;if(r|0){q=f[i>>2]|0;e=pl(q,n)|0;o=r+56|0;l=f[o>>2]|0;m=(l<<2)+8|0;p=r+60|0;k=f[p>>2]|0;g=((m|0)<0)<<31>>31;_b:do if(!k){if(f[q+272>>2]|0){if(b[q+81>>0]|0){Zd=3805;break}}else{do if(!(0>>0|(0==(g|0)?(j[q+276>>1]|0)>>>0>>0:0))){l=q+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=q+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3803;break _b}l=q+296|0;k=f[l>>2]|0;if(!k){k=q+292|0;break}else{f[l>>2]=f[k>>2];Zd=q+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3803;break _b}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(q,m,g)|0;Zd=3803}else{Zd=k;if((f[q+304>>2]|0)>>>0<=Zd>>>0?(f[q+308>>2]|0)>>>0>Zd>>>0:0){if(!(0>>0|(0==(g|0)?(j[q+276>>1]|0)>>>0>>0:0))){Zd=3814;break}k=Lc(q,k,m,g)|0;Zd=3803;break}k=Lc(q,k,m,g)|0;Zd=3803}while(0);if((Zd|0)==3803)if(!k)Zd=3805;else{l=f[o>>2]|0;Zd=3814}$b:do if((Zd|0)==3805){do if(e|0){if(f[q+480>>2]|0){Kc(q,e);break}Yd=e;if((f[q+304>>2]|0)>>>0<=Yd>>>0?(f[q+308>>2]|0)>>>0>Yd>>>0:0){Yd=q+300|0;f[e>>2]=f[Yd>>2];f[Yd>>2]=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{Yd=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-Yd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);l=f[p>>2]|0;k=f[o>>2]|0;m=(k<<2)+8|0;g=((m|0)<0)<<31>>31;if(!l){if(f[q+272>>2]|0){if(b[q+81>>0]|0)break}else{do if(!(0>>0|(0==(g|0)?(j[q+276>>1]|0)>>>0>>0:0))){k=q+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];ic=q+284|0;f[ic>>2]=(f[ic>>2]|0)+1;ic=l;Zd=3832;break $b}k=q+296|0;l=f[k>>2]|0;if(!l){k=q+292|0;break}else{f[k>>2]=f[l>>2];ic=q+284|0;f[ic>>2]=(f[ic>>2]|0)+1;ic=l;Zd=3832;break $b}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}ic=Dc(q,m,g)|0;Zd=3832}else Zd=3827}else if((Zd|0)==3814){Yd=l+1|0;f[o>>2]=Yd;f[k+(l<<2)>>2]=e;f[k+(Yd<<2)>>2]=0;f[p>>2]=k;m=(Yd<<2)+8|0;l=k;g=((m|0)<0)<<31>>31;k=Yd;Zd=3827}while(0);do if((Zd|0)==3827){Zd=l;if((f[q+304>>2]|0)>>>0<=Zd>>>0?(f[q+308>>2]|0)>>>0>Zd>>>0:0){if(!(g>>>0>0|((g|0)==0?m>>>0>(j[q+276>>1]|0)>>>0:0))){Zd=3834;break}ic=Lc(q,l,m,g)|0;Zd=3832;break}ic=Lc(q,l,m,g)|0;Zd=3832}while(0);if((Zd|0)==3832?ic|0:0){l=ic;k=f[o>>2]|0;Zd=3834}if((Zd|0)==3834){Yd=k+1|0;f[o>>2]=Yd;f[l+(k<<2)>>2]=0;f[l+(Yd<<2)>>2]=0;f[p>>2]=l}m=f[r>>2]|0;ac:do if(m){g=(wz(m)|0)+1|0;bc:do if(f[q+272>>2]|0)if(!(b[q+81>>0]|0))Zd=3846;else{e=0;break ac}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){l=q+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Yd=q+284|0;f[Yd>>2]=(f[Yd>>2]|0)+1;break bc}l=q+296|0;k=f[l>>2]|0;if(!k){k=q+292|0;break}else{f[l>>2]=f[k>>2];Yd=q+284|0;f[Yd>>2]=(f[Yd>>2]|0)+1;break bc}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=3846}while(0);if((Zd|0)==3846)k=Dc(q,g,0)|0;if(k){YA(k|0,m|0,g|0)|0;e=k}else e=0}else e=0;while(0);l=f[o>>2]|0;m=(l<<2)+8|0;k=f[p>>2]|0;g=((m|0)<0)<<31>>31;cc:do if(!k){if(f[q+272>>2]|0){if(b[q+81>>0]|0){Zd=3868;break}}else{do if(!(0>>0|(0==(g|0)?(j[q+276>>1]|0)>>>0>>0:0))){l=q+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=q+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3866;break cc}l=q+296|0;k=f[l>>2]|0;if(!k){k=q+292|0;break}else{f[l>>2]=f[k>>2];Zd=q+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3866;break cc}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(q,m,g)|0;Zd=3866}else{Zd=k;if((f[q+304>>2]|0)>>>0<=Zd>>>0?(f[q+308>>2]|0)>>>0>Zd>>>0:0){if(!(0>>0|(0==(g|0)?(j[q+276>>1]|0)>>>0>>0:0))){Zd=3877;break}k=Lc(q,k,m,g)|0;Zd=3866;break}k=Lc(q,k,m,g)|0;Zd=3866}while(0);if((Zd|0)==3866)if(!k)Zd=3868;else{l=f[o>>2]|0;Zd=3877}do if((Zd|0)==3868){if(e|0){if(f[q+480>>2]|0){Kc(q,e);break}Zd=e;if((f[q+304>>2]|0)>>>0<=Zd>>>0?(f[q+308>>2]|0)>>>0>Zd>>>0:0){Zd=q+300|0;f[e>>2]=f[Zd>>2];f[Zd>>2]=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{Zd=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}}else if((Zd|0)==3877){Zd=l+1|0;f[o>>2]=Zd;f[k+(l<<2)>>2]=e;f[k+(Zd<<2)>>2]=0;f[p>>2]=k}while(0);f[i+180>>2]=(f[n>>2]|0)+(f[$d+8>>2]|0)-(f[i+176>>2]|0);e=f[p>>2]|0;if(e|0){m=f[r+72>>2]|0;if(!m)k=-1e6;else{l=f[q+16>>2]|0;k=0;while(1)if((f[l+(k<<4)+12>>2]|0)==(m|0))break;else k=k+1|0}g=f[r>>2]|0;l=f[e>>2]|0;m=f[i>>2]|0;k=f[(f[m+16>>2]|0)+(k<<4)>>2]|0;if(((b[m+165>>0]|0)==0?(b[i+196>>0]|0)==0:0)?(Ad=f[m+312>>2]|0,Ad|0):0){k=nb[Ad&127](f[m+316>>2]|0,29,g,l,k,f[i+236>>2]|0)|0;if((k|0)==1){ni(i,49816,Bd);f[i+12>>2]=23;break a}if((k|2|0)!=2){ni(i,49831,Cd);f[i+12>>2]=1}}}}break}case 278:{r=i+240|0;e=f[r>>2]|0;do if(e|0?(Yb=f[i+224>>2]|0,Yb|0):0){n=f[i+244>>2]|0;q=f[i>>2]|0;m=KA(n|0,((n|0)<0)<<31>>31|0,1,0)|0;g=ba()|0;p=q+272|0;dc:do if(f[p>>2]|0)if(!(b[q+81>>0]|0))Zd=3901;else n=0;else{do if(!(g>>>0>0|((g|0)==0?m>>>0>(j[q+276>>1]|0)>>>0:0))){l=q+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=q+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3902;break dc}l=q+296|0;k=f[l>>2]|0;if(!k){k=q+292|0;break}else{f[l>>2]=f[k>>2];Zd=q+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3902;break dc}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=3901}while(0);if((Zd|0)==3901){k=Dc(q,m,g)|0;Zd=3902}if((Zd|0)==3902)if(!k)n=0;else{YA(k|0,e|0,n|0)|0;b[k+n>>0]=0;n=k}o=Yb+56|0;k=f[o>>2]|0;g=(k<<2)+8|0;e=Yb+60|0;l=f[e>>2]|0;m=((g|0)<0)<<31>>31;ec:do if(!l){if(f[p>>2]|0){if(b[q+81>>0]|0)break}else{do if(!(0>>0|(0==(m|0)?(j[q+276>>1]|0)>>>0>>0:0))){k=q+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];hc=q+284|0;f[hc>>2]=(f[hc>>2]|0)+1;hc=l;Zd=3921;break ec}k=q+296|0;l=f[k>>2]|0;if(!l){k=q+292|0;break}else{f[k>>2]=f[l>>2];hc=q+284|0;f[hc>>2]=(f[hc>>2]|0)+1;hc=l;Zd=3921;break ec}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}hc=Dc(q,g,m)|0;Zd=3921}else{Zd=l;if((f[q+304>>2]|0)>>>0<=Zd>>>0?(f[q+308>>2]|0)>>>0>Zd>>>0:0){if(!(0>>0|(0==(m|0)?(j[q+276>>1]|0)>>>0>>0:0))){Zd=3932;break}hc=Lc(q,l,g,m)|0;Zd=3921;break}hc=Lc(q,l,g,m)|0;Zd=3921}while(0);if((Zd|0)==3921?hc|0:0){l=hc;k=f[o>>2]|0;Zd=3932}if((Zd|0)==3932){Zd=k+1|0;f[o>>2]=Zd;f[l+(k<<2)>>2]=n;f[l+(Zd<<2)>>2]=0;f[e>>2]=l;break}if(n|0){if(f[q+480>>2]|0){Kc(q,n);break}Zd=n;if((f[q+304>>2]|0)>>>0<=Zd>>>0?(f[q+308>>2]|0)>>>0>Zd>>>0:0){Zd=q+300|0;f[n>>2]=f[Zd>>2];f[Zd>>2]=n;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{Zd=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-Zd;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}}while(0);f[r>>2]=0;f[i+244>>2]=0;break}case 281:case 280:case 279:{k=i+240|0;l=f[k>>2]|0;m=f[$d+4>>2]|0;if(!l){f[k>>2]=m;k=f[$d+8>>2]|0}else k=m+(f[$d+8>>2]|0)-l|0;f[i+244>>2]=k;break}case 283:case 282:{k=f[$d+4>>2]|0;if(k|0){Zd=i+260|0;f[k+4>>2]=f[Zd>>2];f[Zd>>2]=k;f[i+264>>2]=k}break}case 284:{Zd=$d+-56|0;i=gm(i,0,Zd,f[$d+-44>>2]|0,f[$d+-8>>2]|0)|0;f[Zd>>2]=i;break}case 285:{Zd=$d+-80|0;i=gm(i,f[Zd>>2]|0,$d+-56|0,f[$d+-44>>2]|0,f[$d+-8>>2]|0)|0;f[Zd>>2]=i;break}case 306:{m=f[i>>2]|0;fc:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](72)|0;Zd=4023;break}k=ib[f[37372>>2]&255](72)|0;if((f[18194]|0)>>>0<72)f[18194]=72;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Zd=f[18187]|0;Yd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[17976]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=Zd>>>0)&1}l=ib[f[37356>>2]&255](k)|0;if(l){k=ib[f[37368>>2]&255](l)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;Zd=4024}else Zd=4024}else Zd=4039}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){Zd=4039;break}}else{do if((j[m+276>>1]|0)>=72){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=4023;break fc}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=4023;break fc}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,72,0)|0;Zd=4023}while(0);if((Zd|0)==4023)if(!k)Zd=4039;else{l=k;Zd=4024}if((Zd|0)==4024){M=l;N=M+72|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));g=f[i>>2]|0;o=f[$d+4>>2]|0;p=f[$d+8>>2]|0;gc:do if(o){e=KA(p|0,0,1,0)|0;n=ba()|0;hc:do if(f[g+272>>2]|0)if(!(b[g+81>>0]|0))Zd=4035;else{k=0;break gc}else{do if(0<0|(0==0?p>>>0<(j[g+276>>1]|0)>>>0:0)){m=g+300|0;k=f[m>>2]|0;if(k|0){f[m>>2]=f[k>>2];i=g+284|0;f[i>>2]=(f[i>>2]|0)+1;break hc}m=g+296|0;k=f[m>>2]|0;if(!k){k=g+292|0;break}else{f[m>>2]=f[k>>2];i=g+284|0;f[i>>2]=(f[i>>2]|0)+1;break hc}}else k=g+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=4035}while(0);if((Zd|0)==4035)k=Dc(g,e,n)|0;if(k){YA(k|0,o|0,p|0)|0;b[k+p>>0]=0}else k=0}else k=0;while(0);f[l>>2]=k;f[l+28>>2]=f[$d+-20>>2];k=l}else if((Zd|0)==4039){k=f[$d+-20>>2]|0;if(!k)k=0;else{ig(f[i>>2]|0,k);k=0}}f[$d+-20>>2]=k;break}case 287:{i=$d+-20|0;Zd=$d+4|0;f[(f[Zd>>2]|0)+24>>2]=f[i>>2];f[i>>2]=f[Zd>>2];break}case 288:{p=$d+4|0;if(!(f[p>>2]|0))k=0;else{m=f[i>>2]|0;n=f[$d+-20>>2]|0;o=f[$d+-16>>2]|0;ic:do if(n){g=KA(o|0,0,1,0)|0;e=ba()|0;jc:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))Zd=3955;else{k=0;break ic}else{do if(0<0|(0==0?o>>>0<(j[m+276>>1]|0)>>>0:0)){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];i=m+284|0;f[i>>2]=(f[i>>2]|0)+1;break jc}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];i=m+284|0;f[i>>2]=(f[i>>2]|0)+1;break jc}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;Zd=3955}while(0);if((Zd|0)==3955)k=Dc(m,g,e)|0;if(k){YA(k|0,n|0,o|0)|0;b[k+o>>0]=0}else k=0}else k=0;while(0);f[f[p>>2]>>2]=k;k=f[p>>2]|0}f[$d+-20>>2]=k;break}case 289:{k=f[$d+-8>>2]|0;l=$d+-44|0;f[l>>2]=k;if(k|0){f[k+4>>2]=f[$d+-32>>2];f[(f[l>>2]|0)+8>>2]=f[$d+-20>>2]}break}case 290:{f[$d+-20>>2]=f[$d+4>>2];break}case 291:{f[$d+16>>2]=0;break}case 292:{m=f[i>>2]|0;kc:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](72)|0;Zd=3987;break}k=ib[f[37372>>2]&255](72)|0;if((f[18194]|0)>>>0<72)f[18194]=72;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){i=f[18187]|0;Yd=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Xd=ba()|0;f[17976]=((Xd|0)<0|(Xd|0)==0&Yd>>>0<=i>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(k){l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0){f[18196]=l;Zd=3988}else Zd=3988}else k=0}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){k=0;break}}else{do if((j[m+276>>1]|0)>=72){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3987;break kc}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];Zd=m+284|0;f[Zd>>2]=(f[Zd>>2]|0)+1;Zd=3987;break kc}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,72,0)|0;Zd=3987}while(0);if((Zd|0)==3987)if(!k)k=0;else Zd=3988;if((Zd|0)==3988){M=k;N=M+72|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));b[k+12>>0]=86;b[k+13>>0]=87;b[k+14>>0]=82;f[k+20>>2]=0;f[k+16>>2]=0}f[$d+16>>2]=k;break}case 293:{Zd=$d+-8|0;i=hm(i,f[Zd>>2]|0,f[$d+4>>2]|0,f[$d+8>>2]|0,82,0)|0;f[Zd>>2]=i;break}case 294:{Zd=$d+-44|0;i=hm(i,f[Zd>>2]|0,f[$d+-20>>2]|0,f[$d+-16>>2]|0,f[$d+4>>2]|0,f[$d+8>>2]|0)|0;f[Zd>>2]=i;break}case 295:{f[$d+4>>2]=86;break}case 296:{f[$d+4>>2]=76;break}case 305:{Zd=f[$d+4>>2]|0;i=$d+-20|0;f[Zd+28>>2]=f[i>>2];f[i>>2]=Zd;break}case 304:{f[$d+-8>>2]=f[$d+4>>2];break}case 300:case 298:{f[$d+-8>>2]=87;f[$d+-4>>2]=0;break}case 301:{Zd=$d+-8|0;i=f[Zd>>2]|0;f[Zd>>2]=85;f[$d+-4>>2]=i;break}case 302:{f[$d+-8>>2]=82;f[$d+-4>>2]=0;break}case 303:{Zd=$d+-8|0;i=f[Zd>>2]|0;f[Zd>>2]=83;f[$d+-4>>2]=i;break}default:{}}while(0);i=d[20416+(c<<2)>>1]|0;_d=_d<<24>>24;c=d[15328+((d[21936+(j[$d+(_d*12|0)>>1]<<1)>>1]|0)+(i&65535)<<1)>>1]|0;_d=_d+1|0;Zd=$d+(_d*12|0)|0;f[a>>2]=Zd;d[Zd>>1]=c;d[$d+(_d*12|0)+2>>1]=i;a=c;t=ae;return a|0} -function ub(a){a=a|0;var b=0;b=t;t=t+a|0;t=t+15&-16;return b|0}function vb(){return t|0}function wb(a){a=a|0;t=a}function xb(a,b){a=a|0;b=b|0;t=a;u=b}function yb(a,b){a=a|0;b=b|0;if(!v){v=a;w=b}}function zb(a){a=a|0;var c=0,d=0;d=0;do{switch(b[16+(d*12|0)+5>>0]|0){case 1:{c=a;break}case 2:{c=-1;break}default:c=0}nq(a,f[16+(d*12|0)>>2]|0,b[16+(d*12|0)+4>>0]|0,h[16+(d*12|0)+6>>0]|0,c,f[16+(d*12|0)+8>>2]|0,0,0)|0;d=d+1|0}while((d|0)!=40);nq(a,39889,1,1,0,0,187,95)|0;nq(a,39895,1,1,0,0,187,96)|0;nq(a,55166,1,1,0,0,188,97)|0;nq(a,39904,1,1,0,0,188,98)|0;nq(a,39911,1,1,0,0,188,99)|0;nq(a,39926,1,1,0,0,188,100)|0;return 0}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,378,39973);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+N(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,379,39982);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+O(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,380,39991);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+P(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;if((b|0)!=2)qa(4e4,39949,570,40008);if((tp(f[c>>2]|0)|0)!=5?(d=c+4|0,(tp(f[d>>2]|0)|0)!=5):0){e=+qp(f[c>>2]|0);up(a,+Q(+e,+(+qp(f[d>>2]|0))));return}yp(a);return}function Eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,394,40017);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+zA(d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,402,40027);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+BA(d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,410,40037);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+xA(d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Hb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;k=o+8|0;j=o;if((c|0)!=2)qa(4e4,39949,1680,40047);if((tp(f[d>>2]|0)|0)!=5?(e=d+4|0,(tp(f[e>>2]|0)|0)!=5):0){g=op(f[d>>2]|0)|0;i=op(f[e>>2]|0)|0;c=b[g>>0]|0;a:do if(!(c<<24>>24))n=17;else{d=0;while(1){c=c&255;if(qz(c)|0)break;d=d+1|0;c=b[g+d>>0]|0;if(!(c<<24>>24)){n=17;break a}}c=(rz(c)|0)&255;b[k>>0]=c;c=1;while(1){e=b[g+d>>0]|0;if(!(e<<24>>24)){n=15;break}e=b[496+(e&127)>>0]|0;if(e<<24>>24){b[k+c>>0]=(e&255)+48;c=c+1|0}if((c|0)<4)d=d+1|0;else break}if((n|0)==15)_A(k+c|0,48,4-c|0)|0;b[k+4>>0]=0}while(0);if((n|0)==17){b[k>>0]=b[40062]|0;b[k+1>>0]=b[40063]|0;b[k+2>>0]=b[40064]|0;b[k+3>>0]=b[40065]|0;b[k+4>>0]=b[40066]|0}c=b[i>>0]|0;b:do if(!(c<<24>>24))n=29;else{d=0;while(1){c=c&255;if(qz(c)|0)break;d=d+1|0;c=b[i+d>>0]|0;if(!(c<<24>>24)){n=29;break b}}c=(rz(c)|0)&255;b[j>>0]=c;c=1;while(1){e=b[i+d>>0]|0;if(!(e<<24>>24)){n=27;break}e=b[496+(e&127)>>0]|0;if(e<<24>>24){b[j+c>>0]=(e&255)+48;c=c+1|0}if((c|0)<4)d=d+1|0;else break}if((n|0)==27)_A(j+c|0,48,4-c|0)|0;b[j+4>>0]=0}while(0);if((n|0)==29){b[j>>0]=b[40062]|0;b[j+1>>0]=b[40063]|0;b[j+2>>0]=b[40064]|0;b[j+3>>0]=b[40065]|0;b[j+4>>0]=b[40066]|0}e=j;m=0;d=0;g=k;c=b[k>>0]|0;while(1){i=g+1|0;c=c&255;l=b[624+c>>0]|0;k=l&255;switch(l<<24>>24){case 4:{l=65533;break}case 3:{j=g+2|0;c=(c<<6)+(h[i>>0]|0)|0;n=34;break}case 2:{j=i;n=34;break}case 1:{n=35;break}default:l=c}if((n|0)==34){i=j+1|0;c=(c<<6)+(h[j>>0]|0)|0;n=35}if((n|0)==35){n=0;l=(c<<6)+(h[i>>0]|0)-(f[880+(k<<2)>>2]|0)|0;l=(l&-2|0)==65534|((l&-2048|0)==55296?1:(l&f[896+(k<<2)>>2]|0)==0)?65533:l}i=e+1|0;c=h[e>>0]|0;j=b[624+c>>0]|0;k=j&255;switch(j<<24>>24){case 4:{c=65533;break}case 3:{j=e+2|0;c=(c<<6)+(h[i>>0]|0)|0;n=39;break}case 2:{j=i;n=39;break}case 1:{n=40;break}default:{}}if((n|0)==39){i=j+1|0;c=(c<<6)+(h[j>>0]|0)|0;n=40}if((n|0)==40){n=0;c=(c<<6)+(h[i>>0]|0)-(f[880+(k<<2)>>2]|0)|0;c=(c&-2|0)==65534|((c&-2048|0)==55296?1:(c&f[896+(k<<2)>>2]|0)==0)?65533:c}c=(l|0)==(c|0)&1;do{g=g+1|0;i=b[g>>0]|0}while((i&-64)<<24>>24==-128);do e=e+1|0;while((b[e>>0]&-64)<<24>>24==-128);d=d+c|0;c=m+1|0;if((c|0)==4)break;else{m=c;c=i}}wp(a,d);t=o;return}yp(a);t=o;return}function Ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,498,40067);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,d*180.0/3.141592653589793);return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,499,40079);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,d*3.141592653589793/180.0);return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,420,40091);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+K(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,419,40099);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+L(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,421,40107);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+M(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,422,40115);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,1.0/+M(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,446,40123);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+aA(d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,438,40132);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+bA(d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Qb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,454,40141);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+AA(d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Rb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,456,40150);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,1.0/+AA(d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Sb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,474,40159);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+R(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,472,40167);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+S(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,473,40175);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+Xa(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0;if((b|0)!=2)qa(4e4,39949,546,40185);if((tp(f[c>>2]|0)|0)!=5?(g=c+4|0,(tp(f[g>>2]|0)|0)!=5):0){e=+qp(f[c>>2]|0);d=+qp(f[g>>2]|0);g=mz()|0;f[g>>2]=0;g=mz()|0;if(!(f[g>>2]|0)){up(a,+J(+e,+d));return}else{c=mz()|0;c=Dz(f[c>>2]|0)|0;g=mz()|0;vp(a,c,f[g>>2]|0);return}}yp(a);return}function Wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;if((b|0)!=1)qa(39941,39949,590,40195);switch(tp(f[c>>2]|0)|0){case 1:{d=sp(f[c>>2]|0)|0;c=ba()|0;b=(c|0)>0|(c|0)==0&d>>>0>0;c=((d|0)!=0|(c|0)!=0)<<31>>31;xp(a,b?1:c,b?0:((c|0)<0)<<31>>31);return}case 5:{yp(a);return}default:{e=+qp(f[c>>2]|0);up(a,e>0.0?1.0:+((e<0.0)<<31>>31));return}}}function Xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,375,40204);if((tp(f[c>>2]|0)|0)==5){yp(a);return}d=+qp(f[c>>2]|0);c=mz()|0;f[c>>2]=0;c=mz()|0;if(!(f[c>>2]|0)){up(a,+I(+d));return}else{b=mz()|0;b=Dz(f[b>>2]|0)|0;c=mz()|0;vp(a,b,f[c>>2]|0);return}}function Yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,514,40213);switch(tp(f[c>>2]|0)|0){case 1:{b=sp(f[c>>2]|0)|0;c=ba()|0;xp(a,QA(b|0,c|0,b|0,c|0)|0,ba()|0);return}case 5:{yp(a);return}default:{d=+qp(f[c>>2]|0);up(a,d*d);return}}}function Zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,620,40224);switch(tp(f[c>>2]|0)|0){case 1:{xp(a,sp(f[c>>2]|0)|0,ba()|0);return}case 5:{yp(a);return}default:{d=+T(+(+qp(f[c>>2]|0)));xp(a,~~d>>>0,+H(d)>=1.0?(d>0.0?~~+V(+G(d/4294967296.0),4294967295.0)>>>0:~~+T((d-+(~~d>>>0))/4294967296.0)>>>0):0);return}}}function _b(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;if((b|0)!=1)qa(39941,39949,645,40233);switch(tp(f[c>>2]|0)|0){case 1:{xp(a,sp(f[c>>2]|0)|0,ba()|0);return}case 5:{yp(a);return}default:{d=+G(+(+qp(f[c>>2]|0)));xp(a,~~d>>>0,+H(d)>=1.0?(d>0.0?~~+V(+G(d/4294967296.0),4294967295.0)>>>0:~~+T((d-+(~~d>>>0))/4294967296.0)>>>0):0);return}}}function $b(a,b,c){a=a|0;b=b|0;c=c|0;up(a,3.141592653589793);return}function ac(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if((b|0)!=2)return;if((tp(f[c>>2]|0)|0)==5)return;j=sp(f[c+4>>2]|0)|0;e=ba()|0;if((e|0)<0){vp(a,40243,-1);return}g=pp(f[c>>2]|0)|0;h=Fd((U(g,j)|0)+1|0)|0;i=Fd(g+1|0)|0;b=(h|0)!=0;d=(i|0)!=0;if(b&d){Oz(i,op(f[c>>2]|0)|0)|0;if((e|0)>0|(e|0)==0&j>>>0>0){b=0;d=0;do{Oz(h+(U(g,b)|0)|0,i)|0;b=KA(b|0,d|0,1,0)|0;d=ba()|0}while((d|0)<(e|0)|(d|0)==(e|0)&b>>>0>>0)}Ap(a,h,-1,-1);he(h);he(i);return}Bp(a);if(b)he(h);if(!d)return;he(i);return}function bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=(b|0)==3;if((b|1|0)!=3)qa(40256,39949,1038,40274);if((tp(f[c>>2]|0)|0)!=5?(d=c+4|0,(tp(f[d>>2]|0)|0)!=5):0){e=op(f[c>>2]|0)|0;if(!e)return;d=op(f[d>>2]|0)|0;if(g){b=(rp(f[c+8>>2]|0)|0)+-1|0;b=(b|0)>0?b:0}else b=0;wp(a,(wc(e,d,b)|0)+1|0);return}yp(a);return}function cc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((c|0)!=2)qa(4e4,39949,1073,40288);if((tp(f[d>>2]|0)|0)!=5?(e=d+4|0,(tp(f[e>>2]|0)|0)!=5):0){n=op(f[d>>2]|0)|0;k=rp(f[e>>2]|0)|0;j=0;i=n;c=b[n>>0]|0;while(1){e=i+1|0;c=c&255;d=b[624+c>>0]|0;g=d&255;switch(d<<24>>24){case 4:break;case 3:{d=i+2|0;c=(c<<6)+(h[e>>0]|0)|0;q=10;break}case 2:{d=e;q=10;break}case 1:{m=e;l=c;q=11;break}default:{p=c;q=12}}if((q|0)==10){m=d+1|0;l=(c<<6)+(h[d>>0]|0)|0;q=11}if((q|0)==11?(q=0,o=(l<<6)+(h[m>>0]|0)-(f[880+(g<<2)>>2]|0)|0,!((o&-2|0)==65534|((o&-2048|0)==55296?1:(o&f[896+(g<<2)>>2]|0)==0))):0){p=o;q=12}if((q|0)==12?(q=0,(p|0)==0):0)break;d=j+1|0;if((j|0)>=(k|0))break;c=i;do{c=c+1|0;e=b[c>>0]|0}while((e&-64)<<24>>24==-128);j=d;i=c;c=e}c=i-n|0;d=Fd(c+1|0)|0;if(!d){Bp(a);return}else{fA(d,n,c)|0;b[d+c>>0]=0;Ap(a,d,-1,-1);he(d);return}}yp(a);return}function dc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((c|0)!=2)qa(4e4,39949,1113,40297);if((tp(f[d>>2]|0)|0)!=5?(e=d+4|0,(tp(f[e>>2]|0)|0)!=5):0){d=op(f[d>>2]|0)|0;k=rp(f[e>>2]|0)|0;j=0;q=d;c=b[d>>0]|0;while(1){g=q+1|0;c=c&255;e=b[624+c>>0]|0;i=e&255;switch(e<<24>>24){case 4:break;case 3:{e=q+2|0;c=(c<<6)+(h[g>>0]|0)|0;p=9;break}case 2:{e=g;p=9;break}case 1:{m=g;l=c;p=10;break}default:{o=c;p=11}}if((p|0)==9){m=e+1|0;l=(c<<6)+(h[e>>0]|0)|0;p=10}if((p|0)==10?(p=0,n=(l<<6)+(h[m>>0]|0)-(f[880+(i<<2)>>2]|0)|0,!((n&-2|0)==65534|((n&-2048|0)==55296?1:(n&f[896+(i<<2)>>2]|0)==0))):0){o=n;p=11}if((p|0)==11?(p=0,(o|0)==0):0)break;c=q;do{c=c+1|0;e=b[c>>0]|0}while((e&-64)<<24>>24==-128);j=j+1|0;q=c;c=e}c=j-k|0;if((c|0)>0)while(1){do d=d+1|0;while((b[d>>0]&-64)<<24>>24==-128);if((c|0)>1)c=c+-1|0;else break}c=Fd(q+1-d|0)|0;if(!c){Bp(a);return}else{Oz(c,d)|0;Ap(a,c,-1,-1);he(c);return}}yp(a);return}function ec(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c|0)!=1)qa(40307,39949,1323,40315);if((tp(f[d>>2]|0)|0)==5){yp(a);return}c=op(f[d>>2]|0)|0;d=wz(c)|0;l=Fd(d+1|0)|0;if(!l){Bp(a);return}j=l+d|0;b[j>>0]=0;j=j+-1|0;a:while(1){while(1){g=c+1|0;d=h[c>>0]|0;e=b[624+d>>0]|0;i=e&255;switch(e<<24>>24){case 4:break;case 3:{e=c+2|0;d=(d<<6)+(h[g>>0]|0)|0;p=12;break}case 2:{e=g;p=12;break}case 1:{m=g;k=d;p=13;break}default:{o=d;p=14}}if((p|0)==12){m=e+1|0;k=(d<<6)+(h[e>>0]|0)|0;p=13}if((p|0)==13?(p=0,n=(k<<6)+(h[m>>0]|0)-(f[880+(i<<2)>>2]|0)|0,!((n&-2|0)==65534|((n&-2048|0)==55296?1:(n&f[896+(i<<2)>>2]|0)==0))):0){o=n;p=14}if((p|0)==14?(p=0,(o|0)==0):0)break a;d=c;while(1){i=d+1|0;if((b[i>>0]&-64)<<24>>24==-128)d=i;else break}if(d>>>0>>0)c=i;else break}g=1;e=j;while(1){j=e;e=e+-1|0;b[j>>0]=b[d>>0]|0;d=i+~g|0;if(d>>>0>>0)break;else g=g+1|0}j=e;c=i}Ap(a,l,-1,-1);he(l);return}function fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((c|0)!=1)qa(39941,39949,724,40327);if((tp(f[d>>2]|0)|0)==5){yp(a);return}e=op(f[d>>2]|0)|0;c=Fd((wz(e)|0)+1|0)|0;i=Oz(c,e)|0;if(!i){Bp(a);return}d=b[e>>0]|0;if(d<<24>>24){h=1;g=d<<24>>24;while(1){e=e+1|0;if(!(oz(g)|0)){if((h|0)==1)d=rz(g)|0;else d=vz(g)|0;h=0;d=d&255}else h=1;g=c+1|0;b[c>>0]=d;d=b[e>>0]|0;if(!(d<<24>>24)){c=g;break}else{c=g;g=d<<24>>24}}}b[c>>0]=0;Ap(a,i,-1,-1);he(i);return}function gc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;if((c|0)!=2)qa(4e4,39949,771,40338);if((tp(f[d>>2]|0)|0)==5){yp(a);return}l=op(f[d>>2]|0)|0;j=sp(f[d+4>>2]|0)|0;k=ba()|0;if((k|0)<0){vp(a,40243,-1);return}c=b[l>>0]|0;if((l|0)==(-1|0)|c<<24>>24==0)d=0;else{d=0;e=l;do{e=e+((h[624+(c&255)>>0]|0)+1)|0;d=d+1|0;c=b[e>>0]|0}while(!(c<<24>>24==0|(e|0)==(-1|0)))}i=((d|0)<0)<<31>>31;do if((k|0)>(i|0)|(k|0)==(i|0)&j>>>0>d>>>0){c=Fd(j+1-d+(wz(l)|0)|0)|0;if(!c){Bp(a);return}e=1;g=c;do{m=g;g=g+1|0;b[m>>0]=32;e=e+1|0;m=KA(e|0,0,d|0,i|0)|0;n=ba()|0}while(!((n|0)>(k|0)|(n|0)==(k|0)&m>>>0>j>>>0));Oz(g,l)|0}else{c=Fd((wz(l)|0)+1|0)|0;d=Oz(c,l)|0;if(d|0){Ap(a,d,-1,-1);break}Bp(a);return}while(0);Ap(a,c,-1,-1);he(c);return}function hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0;if((c|0)!=2)qa(4e4,39949,825,40347);if((tp(f[d>>2]|0)|0)==5){yp(a);return}g=op(f[d>>2]|0)|0;j=sp(f[d+4>>2]|0)|0;k=ba()|0;if((k|0)<0){vp(a,40243,-1);return}c=b[g>>0]|0;if((g|0)==(-1|0)|c<<24>>24==0)d=0;else{d=0;e=g;do{e=e+((h[624+(c&255)>>0]|0)+1)|0;d=d+1|0;c=b[e>>0]|0}while(!(c<<24>>24==0|(e|0)==(-1|0)))}i=((d|0)<0)<<31>>31;do if((k|0)>(i|0)|(k|0)==(i|0)&j>>>0>d>>>0){e=wz(g)|0;c=Fd(j+1-d+e|0)|0;if(!c){Bp(a);return}Oz(c,g)|0;g=1;e=c+e|0;do{l=e;e=e+1|0;b[l>>0]=32;g=g+1|0;l=KA(g|0,0,d|0,i|0)|0;m=ba()|0}while(!((m|0)>(k|0)|(m|0)==(k|0)&l>>>0>j>>>0));b[e>>0]=0}else{c=Fd((wz(g)|0)+1|0)|0;d=Oz(c,g)|0;if(d|0){Ap(a,d,-1,-1);break}Bp(a);return}while(0);Ap(a,c,-1,-1);he(c);return}function ic(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((c|0)!=2)qa(4e4,39949,880,40356);if((tp(f[d>>2]|0)|0)==5){yp(a);return}l=op(f[d>>2]|0)|0;m=sp(f[d+4>>2]|0)|0;n=ba()|0;if((n|0)<0){vp(a,40243,-1);return}c=b[l>>0]|0;if((l|0)==(-1|0)|c<<24>>24==0)j=0;else{d=0;e=l;do{e=e+((h[624+(c&255)>>0]|0)+1)|0;d=d+1|0;c=b[e>>0]|0}while(!(c<<24>>24==0|(e|0)==(-1|0)));j=d}k=((j|0)<0)<<31>>31;do if((n|0)>(k|0)|(n|0)==(k|0)&m>>>0>j>>>0){i=wz(l)|0;c=Fd(m+1-j+i|0)|0;if(!c){Bp(a);return}g=KA(j|0,k|0,2,0)|0;e=ba()|0;if((e|0)>(n|0)|(e|0)==(n|0)&g>>>0>m>>>0){d=c;g=1}else{g=1;e=c;while(1){d=e+1|0;b[e>>0]=32;g=g+1|0;e=KA(g<<1|0,0,j|0,k|0)|0;o=ba()|0;if((o|0)>(n|0)|(o|0)==(n|0)&e>>>0>m>>>0)break;else e=d}}Oz(d,l)|0;d=d+i|0;o=KA(g|0,0,j|0,k|0)|0;l=ba()|0;if(!((l|0)>(n|0)|(l|0)==(n|0)&o>>>0>m>>>0))while(1){e=d+1|0;b[d>>0]=32;g=g+1|0;o=KA(g|0,0,j|0,k|0)|0;l=ba()|0;if((l|0)>(n|0)|(l|0)==(n|0)&o>>>0>m>>>0){d=e;break}else d=e}b[d>>0]=0}else{c=Fd((wz(l)|0)+1|0)|0;d=Oz(c,l)|0;if(d|0){Ap(a,d,-1,-1);break}Bp(a);return}while(0);Ap(a,c,-1,-1);he(c);return}function jc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((c|0)!=2)qa(4e4,39949,939,40365);if((tp(f[d>>2]|0)|0)!=5?(e=d+4|0,(tp(f[e>>2]|0)|0)!=5):0){c=op(f[d>>2]|0)|0;m=op(f[e>>2]|0)|0;n=Fd((wz(c)|0)+1|0)|0;if(!n){Bp(a);return}l=n;d=c;c=b[c>>0]|0;while(1){e=d+1|0;c=c&255;k=b[624+c>>0]|0;i=k&255;switch(k<<24>>24){case 4:{c=65533;break}case 3:{g=d+2|0;c=(c<<6)+(h[e>>0]|0)|0;o=12;break}case 2:{g=e;o=12;break}case 1:{o=13;break}default:o=14}if((o|0)==12){e=g+1|0;c=(c<<6)+(h[g>>0]|0)|0;o=13}if((o|0)==13){o=0;c=(c<<6)+(h[e>>0]|0)-(f[880+(i<<2)>>2]|0)|0;if((c&-2|0)==65534|((c&-2048|0)==55296?1:(c&f[896+(i<<2)>>2]|0)==0))c=65533;else o=14}if((o|0)==14){o=0;if(!c)break}e=m;g=b[m>>0]|0;while(1){j=e+1|0;i=g&255;g=b[624+i>>0]|0;k=g&255;switch(g<<24>>24){case 4:{i=65533;break}case 3:{g=e+2|0;i=(i<<6)+(h[j>>0]|0)|0;o=20;break}case 2:{g=j;o=20;break}case 1:{o=21;break}default:{}}if((o|0)==20){j=g+1|0;i=(i<<6)+(h[g>>0]|0)|0;o=21}if((o|0)==21){o=0;i=(i<<6)+(h[j>>0]|0)-(f[880+(k<<2)>>2]|0)|0;i=(i&-2|0)==65534|((i&-2048|0)==55296?1:(i&f[896+(k<<2)>>2]|0)==0)?65533:i}g=(i|0)!=0;if((i|0)==(c|0)|g^1)break;do{e=e+1|0;g=b[e>>0]|0}while((g&-64)<<24>>24==-128)}if(g){c=e;do c=c+1|0;while((b[c>>0]&-64)<<24>>24==-128);c=c-e|0;fA(l,e,c)|0;c=l+c|0}else c=l;do{d=d+1|0;e=b[d>>0]|0}while((e&-64)<<24>>24==-128);l=c;c=e}b[l>>0]=0;Ap(a,n,-1,-1);he(n);return}yp(a);return}function kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0.0,h=0,i=0,j=0;if((b|0)!=1)qa(39941,39949,1395,40379);a=Cp(a,24)|0;if((Vp(f[c>>2]|0)|0)==5)return;b=a+16|0;j=b;j=KA(f[j>>2]|0,f[j+4>>2]|0,1,0)|0;i=ba()|0;h=b;f[h>>2]=j;f[h+4>>2]=i;e=+qp(f[c>>2]|0);d=+p[a>>3];g=e-d;c=b;d=d+g/(+((f[c>>2]|0)>>>0)+4294967296.0*+(f[c+4>>2]|0));p[a>>3]=d;c=a+8|0;p[c>>3]=+p[c>>3]+g*(e-d);return}function lc(a){a=a|0;var b=0,c=0,d=0,e=0.0;b=Cp(a,0)|0;if(b|0?(d=b+16|0,c=f[d>>2]|0,d=f[d+4>>2]|0,(d|0)>0|(d|0)==0&c>>>0>1):0){e=+p[b+8>>3];d=KA(c|0,d|0,-1,-1)|0;up(a,+I(+(e/(+(d>>>0)+4294967296.0*+(ba()|0)))));return}up(a,0.0);return}function mc(a){a=a|0;var b=0,c=0,d=0,e=0.0;b=Cp(a,0)|0;if(b|0?(d=b+16|0,c=f[d>>2]|0,d=f[d+4>>2]|0,(d|0)>0|(d|0)==0&c>>>0>1):0){e=+p[b+8>>3];d=KA(c|0,d|0,-1,-1)|0;up(a,e/(+(d>>>0)+4294967296.0*+(ba()|0)));return}up(a,0.0);return}function nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;if((b|0)!=1)qa(39941,39949,1418,40392);d=Vp(f[c>>2]|0)|0;if((d|0)==5)return;a=Cp(a,64)|0;g=a+56|0;do if(!(f[g>>2]|0)){b=fz(1,12)|0;f[g>>2]=b;if((d|0)==1){f[b>>2]=0;f[b+4>>2]=137;b=a+48|0;f[b>>2]=0;f[b+4>>2]=0;b=a+16|0;a=b;a=KA(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;d=ba()|0;f[b>>2]=a;f[b+4>>2]=d;b=f[c>>2]|0;break}else{e=a+48|0;d=e;f[d>>2]=1;f[d+4>>2]=0;f[b>>2]=0;f[b+4>>2]=138;b=e;e=9;break}}else{b=a+48|0;e=9}while(0);if((e|0)==9){e=b;d=f[e>>2]|0;e=f[e+4>>2]|0;b=a+16|0;h=b;h=KA(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;a=ba()|0;f[b>>2]=h;f[b+4>>2]=a;b=f[c>>2]|0;if(!((d|0)==0&(e|0)==0)){i=+qp(b);c=fz(1,8)|0;p[c>>3]=i;b=f[g>>2]|0;d=f[b+4>>2]|0;a=f[b>>2]|0;a:do if(a){while(1){a=jb[d&255](f[a+8>>2]|0,c)|0;if(!a)break;b=f[b>>2]|0;b=(a|0)>0?b:b+4|0;a=f[b>>2]|0;if(!a)break a}h=(f[b>>2]|0)+16|0;e=h;e=KA(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;g=ba()|0;f[h>>2]=e;f[h+4>>2]=g;ez(c);return}while(0);h=fz(1,24)|0;f[h+8>>2]=c;g=h+16|0;f[g>>2]=1;f[g+4>>2]=0;f[b>>2]=h;return}}a=sp(b)|0;d=ba()|0;c=fz(1,8)|0;b=c;f[b>>2]=a;f[b+4>>2]=d;b=f[g>>2]|0;d=f[b+4>>2]|0;a=f[b>>2]|0;b:do if(a){while(1){a=jb[d&255](f[a+8>>2]|0,c)|0;if(!a)break;b=f[b>>2]|0;b=(a|0)>0?b:b+4|0;a=f[b>>2]|0;if(!a)break b}h=(f[b>>2]|0)+16|0;e=h;e=KA(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;g=ba()|0;f[h>>2]=e;f[h+4>>2]=g;ez(c);return}while(0);h=fz(1,24)|0;f[h+8>>2]=c;g=h+16|0;f[g>>2]=1;f[g+4>>2]=0;f[b>>2]=h;return}function oc(a){a=a|0;var b=0,c=0,d=0;b=Cp(a,0)|0;if(!b)return;c=b+56|0;d=f[c>>2]|0;if(!d)return;sc(f[d>>2]|0,67,b);tc(f[f[c>>2]>>2]|0);ez(f[c>>2]|0);d=b+40|0;if(!((f[d>>2]|0)==1&(f[d+4>>2]|0)==0))return;d=b+48|0;if((f[d>>2]|0)==0&(f[d+4>>2]|0)==0){d=b;xp(a,f[d>>2]|0,f[d+4>>2]|0);return}else{up(a,+p[b+8>>3]);return}}function pc(a){a=a|0;var b=0,c=0;b=Cp(a,0)|0;if(!b)return;c=b+16|0;p[b+24>>3]=(+((f[c>>2]|0)>>>0)+4294967296.0*+(f[c+4>>2]|0))*.5;yc(a);return}function qc(a){a=a|0;var b=0,c=0;b=Cp(a,0)|0;if(!b)return;c=b+16|0;p[b+24>>3]=(+((f[c>>2]|0)>>>0)+4294967296.0*+(f[c+4>>2]|0))*.25;yc(a);return}function rc(a){a=a|0;var b=0,c=0.0,d=0;b=Cp(a,0)|0;if(!b)return;d=b+16|0;d=QA(f[d>>2]|0,f[d+4>>2]|0,3,0)|0;c=(+(d>>>0)+4294967296.0*+(ba()|0))*.25;p[b+24>>3]=c;yc(a);return}function sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!a)return;do{d=f[a>>2]|0;if(d|0)sc(d,b,c);d=a+16|0;rb[b&127](f[a+8>>2]|0,f[d>>2]|0,f[d+4>>2]|0,c);a=f[a+4>>2]|0}while((a|0)!=0);return}function tc(a){a=a|0;var b=0;if(!a)return;ez(f[a+8>>2]|0);b=f[a>>2]|0;if(b|0)tc(b);b=f[a+4>>2]|0;if(b|0)tc(b);ez(a);return}function uc(a,b){a=a|0;b=b|0;var c=0,d=0;d=a;a=f[d>>2]|0;d=f[d+4>>2]|0;c=b;b=f[c>>2]|0;c=f[c+4>>2]|0;return ((a|0)==(b|0)&(d|0)==(c|0)?0:(d|0)<(c|0)|(d|0)==(c|0)&a>>>0>>0?-1:1)|0}function vc(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+p[a>>3];c=+p[b>>3];return (d==c?0:d>0]|0;if(!(t<<24>>24)){w=-1;return w|0}e=c;n=0;l=b[c>>0]|0;while(1){j=e+1|0;c=l&255;i=b[624+c>>0]|0;k=i&255;switch(i<<24>>24){case 4:break;case 3:{g=e+2|0;c=(c<<6)+(h[j>>0]|0)|0;w=6;break}case 2:{g=j;w=6;break}case 1:{o=j;m=c;w=7;break}default:{q=c;w=8}}if((w|0)==6){o=g+1|0;m=(c<<6)+(h[g>>0]|0)|0;w=7}if((w|0)==7?(w=0,p=(m<<6)+(h[o>>0]|0)-(f[880+(k<<2)>>2]|0)|0,!((p&-2|0)==65534|((p&-2048|0)==55296?1:(p&f[896+(k<<2)>>2]|0)==0))):0){q=p;w=8}if((w|0)==8?(w=0,(q|0)==0):0)break;g=n+1|0;if((n|0)>=(d|0))break;do{e=e+1|0;c=b[e>>0]|0}while((c&-64)<<24>>24==-128);n=g;l=c}c=0;while(1){j=e+1|0;g=l&255;k=i&255;switch(i<<24>>24){case 4:break;case 3:{i=e+2|0;g=(g<<6)+(h[j>>0]|0)|0;w=15;break}case 2:{i=j;w=15;break}case 1:{s=j;r=g;w=16;break}default:{v=g;w=17}}if((w|0)==15){s=i+1|0;r=(g<<6)+(h[i>>0]|0)|0;w=16}if((w|0)==16?(w=0,u=(r<<6)+(h[s>>0]|0)-(f[880+(k<<2)>>2]|0)|0,!((u&-2|0)==65534|((u&-2048|0)==55296?1:(u&f[896+(k<<2)>>2]|0)==0))):0){v=u;w=17}if((w|0)==17?(w=0,(v|0)==0):0){c=-1;d=0;break}i=e;j=a;n=l;g=t;while(1){k=j+1|0;g=g&255;q=b[624+g>>0]|0;m=q&255;switch(q<<24>>24){case 4:{o=65533;break}case 3:{l=j+2|0;g=(g<<6)+(h[k>>0]|0)|0;w=22;break}case 2:{l=k;w=22;break}case 1:{w=23;break}default:o=g}if((w|0)==22){k=l+1|0;g=(g<<6)+(h[l>>0]|0)|0;w=23}if((w|0)==23){w=0;o=(g<<6)+(h[k>>0]|0)-(f[880+(m<<2)>>2]|0)|0;o=(o&-2|0)==65534|((o&-2048|0)==55296?1:(o&f[896+(m<<2)>>2]|0)==0)?65533:o}k=i+1|0;g=n&255;q=b[624+g>>0]|0;m=q&255;switch(q<<24>>24){case 4:{l=65533;break}case 3:{l=i+2|0;g=(g<<6)+(h[k>>0]|0)|0;w=27;break}case 2:{l=k;w=27;break}case 1:{w=28;break}default:l=g}if((w|0)==27){k=l+1|0;g=(g<<6)+(h[l>>0]|0)|0;w=28}if((w|0)==28){w=0;l=(g<<6)+(h[k>>0]|0)-(f[880+(m<<2)>>2]|0)|0;l=(l&-2|0)==65534|((l&-2048|0)==55296?1:(l&f[896+(m<<2)>>2]|0)==0)?65533:l}do{j=j+1|0;g=b[j>>0]|0}while((g&-64)<<24>>24==-128);do{i=i+1|0;k=b[i>>0]|0}while((k&-64)<<24>>24==-128);if((l|0)!=0&((o|0)!=0&(o|0)==(l|0)))n=k;else break}if(!o)break;do{e=e+1|0;g=b[e>>0]|0}while((g&-64)<<24>>24==-128);c=c+1|0;l=g;i=b[624+(g&255)>>0]|0}w=d+c|0;return w|0}function xc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0.0;h=d+48|0;if((f[h>>2]|0)==0&(f[h+4>>2]|0)==0){a=f[a>>2]|0;e=d+32|0;h=e;g=f[h>>2]|0;h=f[h+4>>2]|0;if((g|0)==(b|0)&(h|0)==(c|0)){d=d+40|0;b=d;b=KA(f[b>>2]|0,f[b+4>>2]|0,1,0)|0;c=ba()|0;f[d>>2]=b;f[d+4>>2]=c;return}if(!((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0))return;h=d;f[h>>2]=a;f[h+4>>2]=((a|0)<0)<<31>>31;h=e;f[h>>2]=b;f[h+4>>2]=c;d=d+40|0;f[d>>2]=1;f[d+4>>2]=0;return}else{i=+p[a>>3];a=d+32|0;g=a;e=f[g>>2]|0;g=f[g+4>>2]|0;if((e|0)==(b|0)&(g|0)==(c|0)){d=d+40|0;b=d;b=KA(f[b>>2]|0,f[b+4>>2]|0,1,0)|0;c=ba()|0;f[d>>2]=b;f[d+4>>2]=c;return}if(!((g|0)<(c|0)|(g|0)==(c|0)&e>>>0>>0))return;p[d+8>>3]=i;h=a;f[h>>2]=b;f[h+4>>2]=c;d=d+40|0;f[d>>2]=1;f[d+4>>2]=0;return}}function yc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;d=Cp(a,0)|0;if(!d)return;b=d+56|0;c=f[b>>2]|0;if(!c)return;f[d+60>>2]=0;sc(f[c>>2]|0,68,d);tc(f[f[b>>2]>>2]|0);ez(f[b>>2]|0);g=d+48|0;if(!((f[g>>2]|0)==0&(f[g+4>>2]|0)==0)){g=d+40|0;up(a,+p[d+8>>3]/(+((f[g>>2]|0)>>>0)+4294967296.0*+(f[g+4>>2]|0)));return}g=d+40|0;e=f[g>>2]|0;g=f[g+4>>2]|0;c=d;b=f[c>>2]|0;c=f[c+4>>2]|0;if((e|0)==1&(g|0)==0){xp(a,b,c);return}else{up(a,(+(b>>>0)+4294967296.0*+(c|0))/(+(e>>>0)+4294967296.0*+(g|0)));return}}function zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0.0;k=d+60|0;if((f[k>>2]|0)>0)return;l=+p[d+24>>3];g=d+16|0;e=f[g>>2]|0;g=f[g+4>>2]|0;h=d+32|0;j=h;i=f[j>>2]|0;j=f[j+4>>2]|0;b=KA(i|0,j|0,b|0,c|0)|0;c=ba()|0;do if(l<=+(b|0)){j=LA(e|0,g|0,i|0,j|0)|0;ba()|0;if(!(+(e>>>0)+4294967296.0*+(g|0)-l<=+(j|0))){f[k>>2]=1;break}k=d+40|0;i=k;i=KA(f[i>>2]|0,f[i+4>>2]|0,1,0)|0;j=ba()|0;f[k>>2]=i;f[k+4>>2]=j;k=d+48|0;if((f[k>>2]|0)==0&(f[k+4>>2]|0)==0){i=f[a>>2]|0;j=d;i=KA(f[j>>2]|0,f[j+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;j=ba()|0;k=d;f[k>>2]=i;f[k+4>>2]=j;break}else{k=d+8|0;p[k>>3]=+p[a>>3]+ +p[k>>3];break}}while(0);k=h;f[k>>2]=b;f[k+4>>2]=c;return}function Ac(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=t;t=t+256|0;k=l+232|0;g=l;if(!(f[9391]|0)){t=l;return}f[g>>2]=e;i=k+4|0;f[i>>2]=l+16;f[k>>2]=0;f[k+8>>2]=210;j=k+12|0;h=k+21|0;f[j>>2]=0;f[j+4>>2]=0;d[j+8>>1]=0;Bc(k,c,g);c=f[9391]|0;g=f[9392]|0;e=f[i>>2]|0;if(((e|0)!=0?(b[e+(f[k+16>>2]|0)>>0]=0,(f[j>>2]|0)!=0):0)?(b[h>>0]&4)==0:0)e=Cc(k)|0;else e=f[i>>2]|0;qb[c&255](g,a,e);t=l;return}function Bc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0.0,q=0.0,r=0.0,s=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0;ca=t;t=t+96|0;S=ca+80|0;T=ca+72|0;U=ca;V=a+21|0;if(!(b[V>>0]&2)){I=1;J=0}else{I=(f[e>>2]|0)+(4-1)&~(4-1);J=f[I>>2]|0;f[e>>2]=I+4;I=0}_=a+16|0;$=a+8|0;aa=a+4|0;L=J+4|0;M=J+8|0;N=U+1|0;O=U+2|0;P=U+3|0;Q=a+12|0;R=a+20|0;g=0;a:while(1){switch(b[c>>0]|0){case 0:{E=403;break a}case 37:break;default:{g=c;b:while(1){l=g+1|0;switch(b[l>>0]|0){case 37:case 0:break b;default:g=l}}g=l-c|0;i=f[_>>2]|0;k=i+g|0;if(k>>>0<(f[$>>2]|0)>>>0){if(g|0){f[_>>2]=k;YA((f[aa>>2]|0)+i|0,c|0,g|0)|0}}else Ec(a,c,g);if(!(b[l>>0]|0)){E=403;break a}else{g=c;c=l}}}i=c+1|0;c=b[i>>0]|0;if(!(c<<24>>24)){E=13;break}c=c<<24>>24;l=0;m=0;x=0;u=0;w=0;v=0;c:while(1){switch(c|0){case 42:{E=25;break c}case 45:{l=1;n=x;break}case 43:{m=43;n=x;break}case 32:{m=32;n=x;break}case 35:{n=1;break}case 33:{n=x;u=1;break}case 48:{n=x;w=1;break}case 44:{n=x;v=44;break}default:{E=37;break c}}i=i+1|0;c=b[i>>0]|0;if(!(c<<24>>24)){k=0;x=n;c=0;E=41;break}else{c=c<<24>>24;x=n}}if((E|0)==25){do if(!I){c=f[L>>2]|0;if((f[J>>2]|0)>(c|0)){k=f[M>>2]|0;f[L>>2]=c+1;c=f[k+(c<<2)>>2]|0;k=j[c+8>>1]|0;if(k&4|0){c=f[c>>2]|0;E=34;break}if(k&8|0){c=Fc(+p[c>>3])|0;ba()|0;E=34;break}if(k&18){c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0;E=34}else{c=0;E=35}}else{c=0;E=35}}else{E=(f[e>>2]|0)+(4-1)&~(4-1);c=f[E>>2]|0;f[e>>2]=E+4;E=34}while(0);if((E|0)==34){E=0;if((c|0)<0){l=1;c=(c|0)==-2147483648?0:0-c|0}else E=35}if((E|0)==35)E=0;i=i+1|0;n=m;F=c;c=b[i>>0]|0;H=l}else if((E|0)==37)if((c+-48|0)>>>0<10){k=0;do{k=c+-48+(k*10|0)|0;i=i+1|0;n=b[i>>0]|0;c=n<<24>>24}while((c+-48|0)>>>0<10);c=n<<24>>24;E=41}else{k=0;E=41}if((E|0)==41){E=0;n=m;F=k&2147483647;H=l}d:do if((c|0)==46){k=i+1|0;c=b[k>>0]|0;if(c<<24>>24!=42){c=c<<24>>24;if((c+-48|0)>>>0<10){l=0;i=k;do{l=c+-48+(l*10|0)|0;i=i+1|0;k=b[i>>0]|0;c=k<<24>>24}while((c+-48|0)>>>0<10);c=k<<24>>24}else{l=0;i=k}k=l&2147483647;break}do if(I){G=(f[e>>2]|0)+(4-1)&~(4-1);c=f[G>>2]|0;f[e>>2]=G+4}else{c=f[L>>2]|0;if((f[J>>2]|0)>(c|0)){k=f[M>>2]|0;f[L>>2]=c+1;c=f[k+(c<<2)>>2]|0;k=j[c+8>>1]|0;if(k&4|0){c=f[c>>2]|0;break}if(k&8|0){c=Fc(+p[c>>3])|0;ba()|0;break}if(k&18|0){c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0;break}}i=i+2|0;k=0;c=b[i>>0]|0;break d}while(0);i=i+2|0;k=(c|0)<0?((c|0)==-2147483648?-1:0-c|0):c;c=b[i>>0]|0}else k=-1;while(0);if((c|0)==108){l=i+1|0;c=b[l>>0]|0;if(c<<24>>24==108){G=i+2|0;m=2;c=b[G>>0]|0}else{m=1;c=c<<24>>24;G=l}}else{m=0;G=i}do switch(c|0){case 100:{D=0;break}case 115:{D=1;break}case 103:{D=2;break}case 122:{D=3;break}case 113:{D=4;break}case 81:{D=5;break}case 119:{D=6;break}case 99:{D=7;break}case 111:{D=8;break}case 117:{D=9;break}case 120:{D=10;break}case 88:{D=11;break}case 102:{D=12;break}case 101:{D=13;break}case 69:{D=14;break}case 71:{D=15;break}case 105:{D=16;break}case 110:{D=17;break}case 37:{D=18;break}case 112:{D=19;break}case 84:{D=20;break}case 83:{D=21;break}case 114:{D=22;break}default:{E=403;break a}}while(0);c=b[912+(D*6|0)+3>>0]|0;e:do switch(c<<24>>24){case 13:{c=1;E=88;break}case 0:case 15:{c=m;E=88;break}case 16:{c=m;E=89;break}case 3:case 2:case 1:{do if(I){E=(f[e>>2]|0)+(8-1)&~(8-1);o=+p[E>>3];f[e>>2]=E+8;E=160}else{g=f[L>>2]|0;if((f[J>>2]|0)>(g|0)){i=f[M>>2]|0;f[L>>2]=g+1;g=f[i+(g<<2)>>2]|0;i=j[g+8>>1]|0;if(i&8|0){o=+p[g>>3];E=160;break}if(i&4|0){E=g;o=+((f[E>>2]|0)>>>0)+4294967296.0*+(f[E+4>>2]|0);E=160;break}if(i&18|0){o=+Hc(b[g+10>>0]|0,f[g+12>>2]|0,f[g+16>>2]|0);E=160;break}}o=0.0;C=n;g=(k|0)<0?6:k}while(0);if((E|0)==160){E=0;g=(k|0)<0?6:k;if(o<0.0){o=-o;C=45}else C=n}n=(D|0)==2|(D|0)==15;m=g+((n&(g|0)>0)<<31>>31)|0;i=m&4095;if(!i)q=.5;else{q=.5;while(1){q=q*.1;if((i|0)>1)i=i+-1|0;else break}}l=(D|0)==12;o=l?o+q:o;p[S>>3]=o;p[T>>3]=+p[S>>3];if(+p[S>>3]==+p[T>>3]){if(o>0.0){r=1.0;k=0;while(1){s=r*1.e+100;if(k>>>0<351&o>=s){r=s;k=k+100|0}else break}while(1){s=r*1.0e10;if(k>>>0<351&o>=s){r=s;k=k+10|0}else break}while(1){s=r*10.0;if(k>>>0<351&o>=s){r=s;k=k+1|0}else break}o=o/r;if(o<1.0e-08)do{o=o*1.0e8;k=k+-8|0}while(o<1.0e-08);if(o<1.0)do{o=o*10.0;k=k+-1|0}while(o<1.0);i=C<<24>>24!=0;if((k|0)>350){c=U+(i&1)|0;b[U>>0]=C;b[c>>0]=73;b[c+1>>0]=110;b[c+2>>0]=102;b[c+3>>0]=0;c=F;l=i?4:3;g=U;n=0;break e}}else k=0;if(!l){o=q+o;if(o>=10.0){o=o*.1;k=k+1|0}}A=(k|0)<-4|(m|0)<(k|0);B=n?x<<24>>24==0&1:u;z=n?m-(A?0:k)|0:g;A=(n?(A?2:1):c)<<24>>24==2;y=A?0:k;c=KA(z|0,((z|0)<0)<<31>>31|0,F|0,((F|0)<0)<<31>>31|0)|0;c=KA(c|0,ba()|0,((y|0)>0?y:0)|0,0)|0;g=ba()|0;do if((g|0)>0|(g|0)==0&c>>>0>55){i=KA(c|0,g|0,15,0)|0;ba()|0;v=KA(c|0,g|0,14,0)|0;n=ba()|0;if(n>>>0>0|(n|0)==0&v>>>0>2147483390){E=197;break a}if(!(f[9328]|0)){c=ib[f[37356>>2]&255](i)|0;if(!c){E=197;break a}else{g=c;n=c;break}}l=ib[f[37372>>2]&255](i)|0;if((f[18194]|0)>>>0>>0)f[18194]=i;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){v=f[18187]|0;n=LA(c|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;m=ba()|0;f[17976]=((m|0)<0|(m|0)==0&n>>>0<=v>>>0)&1}i=ib[f[37356>>2]&255](l)|0;if(!i){E=197;break a}c=ib[f[37368>>2]&255](i)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0){f[18196]=c;g=i;n=i}else{g=i;n=i}}else{g=U;n=0}while(0);i=((u&255)*10|0)+16|0;v=(x|u)&255|(z|0)>0;if(!(C<<24>>24))c=g;else{b[g>>0]=C;c=g+1|0}if((y|0)<0){b[c>>0]=48;c=c+1|0;l=y;x=i}else{m=c;l=y;while(1){x=(i|0)<1;y=~~o;o=x?o:(o-+(y|0))*10.0;i=i+((x^1)<<31>>31)|0;c=m+1|0;b[m>>0]=x?48:y+48&255;if((l|0)>0){m=c;l=l+-1|0}else{l=-1;x=i;break}}}y=(v|0)==0;if(!y){b[c>>0]=46;c=c+1|0}if((l|0)<-1){_A(c|0,48,~l|0)|0;i=z;while(1){c=c+1|0;i=i+-1|0;if((l|0)<-2)l=l+1|0;else break}}else i=z;if((i|0)>0)while(1){l=(x|0)<1;m=~~o;v=c+1|0;b[c>>0]=l?48:m+48&255;if((i|0)>1){c=v;x=x+((l^1)<<31>>31)|0;i=i+-1|0;o=l?o:(o-+(m|0))*10.0}else{c=v;break}}f:do if(!(B<<24>>24==0|y)){g:while(1){i=c+-1|0;switch(b[i>>0]|0){case 46:break g;case 48:break;default:break f}b[i>>0]=0;c=i}if(!(u<<24>>24)){b[i>>0]=0;c=i;break}else{b[c>>0]=48;c=c+1|0;break}}while(0);if(A){l=c+1|0;b[c>>0]=b[1056+(h[912+(D*6|0)+4>>0]|0)>>0]|0;i=c+2|0;if((k|0)<0){b[l>>0]=45;k=0-k|0}else b[l>>0]=43;if((k|0)>99){D=(k>>>0)/100|0;b[i>>0]=D+48;i=c+3|0;c=k-(D*100|0)|0}else c=k;D=(c|0)/10|0;b[i>>0]=D+48;b[i+1>>0]=c-(D*10|0)+48;c=i+2|0}b[c>>0]=0;k=c-g|0;if(w<<24>>24!=0&H<<24>>24==0&(F|0)>(k|0)){i=F-k|0;if((k|0)>=0){c=F;while(1){b[g+c>>0]=b[g+(c-i)>>0]|0;if((c|0)>(i|0))c=c+-1|0;else break}}if(!i){c=F;l=F;break e}_A(g+(C<<24>>24!=0&1)|0,48,i|0)|0;c=F;l=F}else{c=F;l=k}}else{c=F;l=3;g=40557;n=0}break}case 4:{if(I){l=f[_>>2]|0;n=(f[e>>2]|0)+(4-1)&~(4-1);c=f[n>>2]|0;f[e>>2]=n+4;f[c>>2]=l;c=0;l=0;n=0}else{c=0;l=0;n=0}break}case 7:{b[U>>0]=37;c=F;l=1;g=U;n=0;break}case 8:{h:do if(I){E=(f[e>>2]|0)+(4-1)&~(4-1);c=f[E>>2]|0;f[e>>2]=E+4;if(c>>>0<128){b[U>>0]=c;m=1;break}if(c>>>0<2048){b[U>>0]=c>>>6&31|192;b[N>>0]=c&63|128;m=2;break}if(c>>>0<65536){b[U>>0]=c>>>12&15|224;b[N>>0]=c>>>6&63|128;b[O>>0]=c&63|128;m=3;break}else{b[U>>0]=c>>>18&7|240;b[N>>0]=c>>>12&63|128;b[O>>0]=c>>>6&63|128;b[P>>0]=c&63|128;m=4;break}}else{c=f[L>>2]|0;do if((f[J>>2]|0)>(c|0)?(W=f[M>>2]|0,f[L>>2]=c+1,W=f[W+(c<<2)>>2]|0,W|0):0){c=d[W+8>>1]|0;if((c&514)==514?(b[W+10>>0]|0)==1:0)g=f[W+16>>2]|0;else{if(c&1)break;g=Ic(W,1)|0}if(g|0){E=b[g>>0]|0;b[U>>0]=E;if((E&255)<=191){m=1;break h}c=b[g+1>>0]|0;if((c&-64)<<24>>24!=-128){m=1;break h}b[N>>0]=c;c=b[g+2>>0]|0;if((c&-64)<<24>>24!=-128){m=2;break h}b[O>>0]=c;c=b[g+3>>0]|0;if((c&-64)<<24>>24!=-128){m=3;break h}b[P>>0]=c;m=4;break h}}while(0);b[U>>0]=0;m=1}while(0);if((k|0)>1){c=F+1-k|0;do if(!(H<<24>>24!=0|(c|0)<2)){c=c+-1|0;F=KA(f[_>>2]|0,0,c|0,((c|0)<0)<<31>>31|0)|0;E=ba()|0;if(!((E|0)<0|((E|0)==0?F>>>0<(f[$>>2]|0)>>>0:0))){c=Jc(a,c)|0;if((c|0)<1){c=0;break}}while(1){E=f[aa>>2]|0;F=f[_>>2]|0;f[_>>2]=F+1;b[E+F>>0]=32;if((c|0)>1)c=c+-1|0;else{c=0;break}}}while(0);g=k;while(1){i=f[_>>2]|0;k=i+m|0;if(k>>>0<(f[$>>2]|0)>>>0){f[_>>2]=k;YA((f[aa>>2]|0)+i|0,U|0,m|0)|0}else Ec(a,U,m);if((g|0)>2)g=g+-1|0;else{g=U;l=1;n=0;k=m;E=301;break}}}else{g=U;l=1;n=0;c=F;k=m;E=301}break}case 6:case 5:{do if(!I){c=f[L>>2]|0;if((f[J>>2]|0)>(c|0)?(X=f[M>>2]|0,f[L>>2]=c+1,X=f[X+(c<<2)>>2]|0,(X|0)!=0):0){c=d[X+8>>1]|0;if((c&514)==514?(b[X+10>>0]|0)==1:0){g=f[X+16>>2]|0;c=5;E=275;break}if(!(c&1)){g=Ic(X,1)|0;c=5;E=275}else{m=72788;n=0;E=286}}else{m=72788;n=0;E=286}}else{E=(f[e>>2]|0)+(4-1)&~(4-1);g=f[E>>2]|0;f[e>>2]=E+4;E=275}while(0);if((E|0)==275){E=0;if(g)if(c<<24>>24==6)if((f[_>>2]|0)==0?(k|0)<0&((F|0)==0&(f[Q>>2]|0)!=0):0)if(!(b[R>>0]|0)){f[aa>>2]=g;c=f[a>>2]|0;if(((c|0)!=0?(Y=g,(f[c+304>>2]|0)>>>0<=Y>>>0):0)?(f[c+308>>2]|0)>>>0>Y>>>0:0)c=j[c+276>>1]|0;else c=ib[f[37368>>2]&255](g)|0;f[$>>2]=c;c=(wz(g)|0)&2147483647;f[_>>2]=c;b[V>>0]=b[V>>0]|4;c=0;l=0;n=0;break e}else{i=g;c=g}else{m=g;n=g;E=286}else{m=g;n=0;E=286}else{m=72788;n=0;E=286}}if((E|0)==286){E=0;if((k|0)>-1){c=(k|0)!=0;if(!(u<<24>>24)){if(!c){c=F;l=0;g=m;break e}g=0;while(1){if(!(b[m+g>>0]|0)){c=F;l=g;g=m;break e}g=g+1|0;if((g|0)>=(k|0)){c=F;l=g;g=m;break e}}}i:do if(c){c=m;i=k;while(1){k=i;i=i+-1|0;g=b[c>>0]|0;if(!(g<<24>>24)){i=c;break i}c=c+1|0;if((g&255)>191)while(1)if((b[c>>0]&-64)<<24>>24==-128)c=c+1|0;else break;if((k|0)<=1){i=c;break}}}else i=m;while(0);g=m;l=u;c=F;k=i-m|0;E=301;break e}else{i=m;c=n}}g=i;l=u;n=c;c=F;k=(wz(i)|0)&2147483647;E=301;break}case 14:case 10:case 9:{y=(D|0)==6?34:39;do if(!I){c=f[L>>2]|0;if((f[J>>2]|0)>(c|0)?(Z=f[M>>2]|0,f[L>>2]=c+1,Z=f[Z+(c<<2)>>2]|0,(Z|0)!=0):0){c=d[Z+8>>1]|0;if((c&514)==514?(b[Z+10>>0]|0)==1:0){c=f[Z+16>>2]|0;break}if(!(c&1))c=Ic(Z,1)|0;else c=0}else c=0}else{E=(f[e>>2]|0)+(4-1)&~(4-1);c=f[E>>2]|0;f[e>>2]=E+4}while(0);n=(c|0)==0;m=(D|0)==5;x=n?(m?40543:40548):c;j:do if(!k){i=0;w=0}else{l=y&255;if(!(u<<24>>24)){i=0;g=0;while(1){c=b[x+g>>0]|0;if(!(c<<24>>24)){w=g;break j}c=i+((c<<24>>24|0)==(l|0)&1)|0;g=g+1|0;k=k+-1|0;if(!k){i=c;w=g;break j}else i=c}}i=0;c=0;while(1){E=b[x+c>>0]|0;g=E<<24>>24;if(!(E<<24>>24)){w=c;break j}i=i+((g|0)==(l|0)&1)|0;if((g&192|0)==192)do c=c+1|0;while((b[x+c>>0]&-64)<<24>>24==-128);else c=c+1|0;k=k+-1|0;if(!k){w=c;break}}}while(0);v=m&(n^1);c=w+3+i|0;do if((c|0)>70){E=KA(c|0,((c|0)<0)<<31>>31|0,-1,-1)|0;D=ba()|0;if(D>>>0>0|(D|0)==0&E>>>0>2147483390){E=348;break a}if(!(f[9328]|0)){c=ib[f[37356>>2]&255](c)|0;if(!c){E=348;break a}else{g=c;n=c;break}}i=ib[f[37372>>2]&255](c)|0;if((f[18194]|0)>>>0>>0)f[18194]=c;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){E=f[18187]|0;D=LA(c|0,g|0,i|0,((i|0)<0)<<31>>31|0)|0;C=ba()|0;f[17976]=((C|0)<0|(C|0)==0&D>>>0<=E>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){E=348;break a}c=ib[f[37368>>2]&255](i)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0){f[18196]=c;g=i;n=i}else{g=i;n=i}}else{g=U;n=0}while(0);if(v){b[g>>0]=y;c=1}else c=0;if((w|0)>0){m=y&255;l=0;do{i=b[x+l>>0]|0;k=c+1|0;b[g+c>>0]=i;if((i<<24>>24|0)==(m|0)){b[g+k>>0]=i;c=c+2|0}else c=k;l=l+1|0}while((l|0)!=(w|0))}if(v){b[g+c>>0]=y;i=c+1|0}else i=c;b[g+i>>0]=0;l=u;c=F;k=i;E=301;break}case 11:{if(!(b[V>>0]&1)){E=403;break a}F=(f[e>>2]|0)+(4-1)&~(4-1);c=f[F>>2]|0;f[e>>2]=F+4;if((c|0)!=0?(K=f[c+4>>2]|0,(K|0)!=0):0){c=f[c>>2]|0;i=f[_>>2]|0;k=i+K|0;if(k>>>0<(f[$>>2]|0)>>>0){f[_>>2]=k;YA((f[aa>>2]|0)+i|0,c|0,K|0)|0;c=0;l=0;n=0;break e}else{Ec(a,c,K);c=0;l=0;n=0;break e}}else{c=0;l=0;n=0}break}case 12:{if(!(b[V>>0]&1)){E=403;break a}c=(f[e>>2]|0)+(4-1)&~(4-1);m=f[c>>2]|0;f[e>>2]=c+4;c=(f[e>>2]|0)+(4-1)&~(4-1);n=f[c>>2]|0;f[e>>2]=c+4;c=f[m+8+(n*72|0)+4>>2]|0;do if(c|0){i=(wz(c)|0)&1073741823;k=f[_>>2]|0;l=k+i|0;if(l>>>0<(f[$>>2]|0)>>>0){if(i|0){f[_>>2]=l;YA((f[aa>>2]|0)+k|0,c|0,i|0)|0}}else Ec(a,c,i);c=f[_>>2]|0;i=c+1|0;if(i>>>0<(f[$>>2]|0)>>>0){f[_>>2]=i;b[(f[aa>>2]|0)+c>>0]=46;break}else{Ec(a,40555,1);break}}while(0);i=f[m+8+(n*72|0)+8>>2]|0;if(!i)c=0;else c=(wz(i)|0)&1073741823;k=f[_>>2]|0;l=k+c|0;if(l>>>0>=(f[$>>2]|0)>>>0){Ec(a,i,c);c=0;l=0;n=0;break e}if(!c){c=0;l=0;n=0}else{f[_>>2]=l;YA((f[aa>>2]|0)+k|0,i|0,c|0)|0;c=0;l=0;n=0}break}default:{E=403;break a}}while(0);if((E|0)==88){v=0;E=89}else if((E|0)==301){E=0;if(l<<24>>24!=0&(c|0)>0&(k|0)>0){i=k;do{F=i;i=i+-1|0;c=c+((b[g+i>>0]&-64)<<24>>24==-128&1)|0}while((F|0)>1);l=k}else l=k}if((E|0)==89){E=0;k:do if(4067322>>>D&1){if(I)switch(c<<24>>24){case 0:{c=(f[e>>2]|0)+(4-1)&~(4-1);i=f[c>>2]|0;f[e>>2]=c+4;c=0;g=0;E=115;break k}case 2:{c=(f[e>>2]|0)+(8-1)&~(8-1);g=c;i=f[g>>2]|0;g=f[g+4>>2]|0;f[e>>2]=c+8;c=0;E=115;break k}default:{c=(f[e>>2]|0)+(4-1)&~(4-1);i=f[c>>2]|0;f[e>>2]=c+4;c=0;g=0;E=115;break k}}c=f[L>>2]|0;if((f[J>>2]|0)>(c|0)){g=f[M>>2]|0;f[L>>2]=c+1;c=f[g+(c<<2)>>2]|0;g=j[c+8>>1]|0;if(g&4|0){g=c;c=0;i=f[g>>2]|0;g=f[g+4>>2]|0;E=115;break}if(g&8|0){i=Fc(+p[c>>3])|0;c=0;g=ba()|0;E=115;break}if(g&18){i=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;c=0;g=ba()|0;E=115}else{c=0;E=116}}else{c=0;E=116}}else{do if(I)if(c<<24>>24!=2){l=(f[e>>2]|0)+(4-1)&~(4-1);i=f[l>>2]|0;f[e>>2]=l+4;l=((i|0)<0)<<31>>31;c=LA(0,0,i|0,l|0)|0;g=ba()|0;if((i|0)<0){i=c;break}else{c=n;g=l;E=115;break k}}else{E=(f[e>>2]|0)+(8-1)&~(8-1);g=E;i=f[g>>2]|0;g=f[g+4>>2]|0;f[e>>2]=E+8;E=101;break}else{c=f[L>>2]|0;if((f[J>>2]|0)<=(c|0)){c=n;E=116;break k}g=f[M>>2]|0;f[L>>2]=c+1;c=f[g+(c<<2)>>2]|0;g=j[c+8>>1]|0;if(g&4|0){i=c;g=f[i+4>>2]|0;i=f[i>>2]|0;E=101;break}if(g&8|0){i=Fc(+p[c>>3])|0;g=ba()|0;E=101;break}if(!(g&18)){c=n;E=116;break k}i=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;g=ba()|0;E=101}while(0);if((E|0)==101){l=(i|0)==0&(g|0)==-2147483648;c=LA(0,0,i|0,g|0)|0;m=ba()|0;if((g|0)<0){i=l?0:c;g=l?-2147483648:m}else{c=n;E=115;break}}c=45;E=115}while(0);if((E|0)==115){E=0;if((i|0)==0&(g|0)==0)E=116;else{u=i;y=g}}if((E|0)==116){E=0;u=0;y=0;x=0}C=F-(c<<24>>24!=0&1)|0;w=w<<24>>24==0?k:(k|0)<(C|0)?C:k;do if((w|0)>=37){g=KA(w|0,((w|0)<0)<<31>>31|0,10,0)|0;g=KA(g|0,ba()|0,(w>>>0)/3|0|0,0)|0;C=KA(g|0,ba()|0,-1,-1)|0;B=ba()|0;if(B>>>0>0|(B|0)==0&C>>>0>2147483390){E=130;break a}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](g)|0;if(!i){E=130;break a}else{l=i;z=i;break}}i=ib[f[37372>>2]&255](g)|0;if((f[18194]|0)>>>0>>0)f[18194]=g;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){C=f[18187]|0;B=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;A=ba()|0;f[17976]=((A|0)<0|(A|0)==0&B>>>0<=C>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(!k){E=130;break a}i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;l=k;z=k}else{l=k;z=k}}else{l=U;z=0;g=70}while(0);l=l+(g+-1)|0;if((D|0)==22){B=SA(u|0,y|0,10,0)|0;g=ba()|0;C=QA(B|0,g|0,10,0)|0;C=LA(u|0,y|0,C|0,ba()|0)|0;ba()|0;g=TA(B|0,g|0,10,0)|0;g=(C|0)>3|(g|0)==1&(ba()|0)==0;C=(g?0:C)<<1;g=l+-1|0;b[g>>0]=b[40527+(C|1)>>0]|0;g=g+-1|0;b[g>>0]=b[40527+C>>0]|0}else g=l;m=1056+(h[912+(D*6|0)+4>>0]|0)|0;n=h[912+(D*6|0)+1>>0]|0;k=u;i=y;do{C=k;k=SA(k|0,i|0,n|0,0)|0;B=i;i=ba()|0;A=QA(k|0,i|0,n|0,0)|0;A=LA(C|0,B|0,A|0,ba()|0)|0;ba()|0;g=g+-1|0;b[g>>0]=b[m+A>>0]|0}while(!(B>>>0<0|(B|0)==0&C>>>0>>0));n=l;i=g;k=n-i|0;if((w|0)>(k|0)){g=g+(n-w-i)|0;_A(g|0,48,w+i-n|0)|0;k=w}if(v<<24>>24){i=k+-1|0;l=(i|0)/3|0;g=g+(0-l)|0;if((k|0)>3){i=i-(l*3|0)+1|0;k=0;do{b[g+k>>0]=b[g+(k+l)>>0]|0;i=i+-1|0;m=k+1|0;if(!i){b[g+m>>0]=v;i=3;l=l+-1|0;k=k+2|0}else k=m}while((l|0)>0)}}if(c<<24>>24){g=g+-1|0;b[g>>0]=c}if(x<<24>>24!=0?(7860991>>>D&1|0)==0:0){c=40536+(h[912+(D*6|0)+5>>0]|0)|0;i=c;c=b[c>>0]|0;do{g=g+-1|0;b[g>>0]=c;i=i+1|0;c=b[i>>0]|0}while(c<<24>>24!=0)}c=F;l=n-g|0;n=z}c=c-l|0;do if((c|0)>0){k=f[_>>2]|0;if(!(H<<24>>24)){H=KA(k|0,0,c|0,((c|0)<0)<<31>>31|0)|0;F=ba()|0;if(!((F|0)<0|((F|0)==0?H>>>0<(f[$>>2]|0)>>>0:0))){c=Jc(a,c)|0;if((c|0)>=1)E=374}else E=374;if((E|0)==374)while(1){F=f[aa>>2]|0;H=f[_>>2]|0;f[_>>2]=H+1;b[F+H>>0]=32;if((c|0)>1)c=c+-1|0;else break}c=f[_>>2]|0;i=c+l|0;if(i>>>0>=(f[$>>2]|0)>>>0){Ec(a,g,l);break}if(!l)break;f[_>>2]=i;YA((f[aa>>2]|0)+c|0,g|0,l|0)|0;break}else{i=k+l|0;if(i>>>0<(f[$>>2]|0)>>>0){if(l|0){f[_>>2]=i;YA((f[aa>>2]|0)+k|0,g|0,l|0)|0}}else Ec(a,g,l);H=KA(f[_>>2]|0,0,c|0,((c|0)<0)<<31>>31|0)|0;F=ba()|0;if(!((F|0)<0|((F|0)==0?H>>>0<(f[$>>2]|0)>>>0:0))){c=Jc(a,c)|0;if((c|0)<1)break}while(1){F=f[aa>>2]|0;H=f[_>>2]|0;f[_>>2]=H+1;b[F+H>>0]=32;if((c|0)>1)c=c+-1|0;else break}}}else{c=f[_>>2]|0;i=c+l|0;if(i>>>0>=(f[$>>2]|0)>>>0){Ec(a,g,l);break}if(l|0){f[_>>2]=i;YA((f[aa>>2]|0)+c|0,g|0,l|0)|0}}while(0);do if(n|0){c=f[a>>2]|0;if(c|0){if(f[c+480>>2]|0){Kc(c,n);break}H=n;if((f[c+304>>2]|0)>>>0<=H>>>0?(f[c+308>>2]|0)>>>0>H>>>0:0){H=c+300|0;f[n>>2]=f[H>>2];f[H>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{H=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);c=G+1|0}if((E|0)==13){c=f[_>>2]|0;g=c+1|0;if(g>>>0<(f[$>>2]|0)>>>0){f[_>>2]=g;b[(f[aa>>2]|0)+c>>0]=37;t=ca;return}else{Ec(a,40525,1);t=ca;return}}else if((E|0)==130){b[R>>0]=7;f[$>>2]=0;t=ca;return}else if((E|0)==197){b[R>>0]=7;f[$>>2]=0;t=ca;return}else if((E|0)==348){b[R>>0]=7;f[$>>2]=0;t=ca;return}else if((E|0)==403){t=ca;return}}function Cc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;e=f[a>>2]|0;h=a+16|0;g=(f[h>>2]|0)+1|0;a:do if(!e){e=KA(g|0,0,-1,-1)|0;d=ba()|0;if(!(d>>>0>0|(d|0)==0&e>>>0>2147483390)){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](g)|0;d=25;break}e=ib[f[37372>>2]&255](g)|0;if((f[18194]|0)>>>0>>0)f[18194]=g;d=71896;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){g=f[18187]|0;d=LA(c|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&d>>>0<=g>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(c){d=ib[f[37368>>2]&255](c)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0){f[18196]=d;d=26}else d=26}else d=27}else d=27}else{if(f[e+272>>2]|0){if(b[e+81>>0]|0){d=27;break}}else{do if(!(0<0|(0==0?(j[e+276>>1]|0)>>>0>>0:0))){d=e+300|0;c=f[d>>2]|0;if(c|0){f[d>>2]=f[c>>2];d=e+284|0;f[d>>2]=(f[d>>2]|0)+1;d=25;break a}d=e+296|0;c=f[d>>2]|0;if(!c){c=e+292|0;break}else{f[d>>2]=f[c>>2];d=e+284|0;f[d>>2]=(f[d>>2]|0)+1;d=25;break a}}else c=e+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(e,g,0)|0;d=25}while(0);if((d|0)==25)if(!c)d=27;else d=26;if((d|0)==26){g=a+4|0;YA(c|0,f[g>>2]|0,(f[h>>2]|0)+1|0)|0;h=a+21|0;b[h>>0]=b[h>>0]|4;h=c;a=g;f[a>>2]=h;return h|0}else if((d|0)==27){b[a+20>>0]=7;f[a+8>>2]=0;h=0;a=a+4|0;f[a>>2]=h;return h|0}return 0}function Dc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=KA(c|0,d|0,-1,-1)|0;d=ba()|0;do if(!(d>>>0>0|(d|0)==0&e>>>0>2147483390)){if(!(f[9328]|0)){d=ib[f[37356>>2]&255](c)|0;if(!d)break;return d|0}e=ib[f[37372>>2]&255](c)|0;if((f[18194]|0)>>>0>>0)f[18194]=c;c=71896;d=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&d>>>0>0){g=f[18187]|0;c=LA(d|0,c|0,e|0,((e|0)<0)<<31>>31|0)|0;d=ba()|0;f[17976]=((d|0)<0|(d|0)==0&c>>>0<=g>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(c|0){d=ib[f[37368>>2]&255](c)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0<=(f[18196]|0)>>>0){g=c;return g|0}f[18196]=d;g=c;return g|0}}while(0);d=a+81|0;if(b[d>>0]|0){g=0;return g|0}if(b[a+82>>0]|0){g=0;return g|0}b[d>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;g=a+272|0;f[g>>2]=(f[g>>2]|0)+1;g=0;return g|0}function Ec(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;c=Jc(a,c)|0;if((c|0)<=0)return;d=a+16|0;YA((f[a+4>>2]|0)+(f[d>>2]|0)|0,b|0,c|0)|0;f[d>>2]=(f[d>>2]|0)+c;return}function Fc(a){a=+a;var b=0,c=0;if(!(a<=-9223372036854775808.0))if(!(a>=9223372036854775808.0)){c=+H(a)>=1.0?(a>0.0?~~+V(+G(a/4294967296.0),4294967295.0)>>>0:~~+T((a-+(~~a>>>0))/4294967296.0)>>>0):0;b=~~a>>>0}else{c=2147483647;b=-1}else{c=-2147483648;b=0}aa(c|0);return b|0}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=t;t=t+16|0;e=d;g=e;f[g>>2]=0;f[g+4>>2]=0;kf(c,e,b,a)|0;b=e;c=f[b>>2]|0;aa(f[b+4>>2]|0);t=d;return c|0}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=t;t=t+16|0;d=e;p[d>>3]=0.0;jf(c,d,b,a)|0;t=e;return +(+p[d>>3])}function Ic(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0;k=a+8|0;e=d[k>>1]|0;g=e&65535;if(g&18){do if(g&16384){e=a+12|0;i=(f[a>>2]|0)+(f[e>>2]|0)|0;if(!(df(a,(i|0)>1?i:1,1)|0)){_A((f[a+16>>2]|0)+(f[e>>2]|0)|0,0,f[a>>2]|0)|0;f[e>>2]=(f[e>>2]|0)+(f[a>>2]|0);e=d[k>>1]&-16897;d[k>>1]=e;break}else{c=0;return c|0}}while(0);d[k>>1]=e|2;e=a+10|0;g=c&255;i=g&247;if((i|0)!=(h[e>>0]|0))Ri(a,i&255)|0;if(g&8|0?(j=a+16|0,f[j>>2]&1|0):0){g=d[k>>1]|0;i=g&65535;do if(i&18){do if(i&16384){g=a+12|0;i=(f[a>>2]|0)+(f[g>>2]|0)|0;if(!(df(a,(i|0)>1?i:1,1)|0)){_A((f[j>>2]|0)+(f[g>>2]|0)|0,0,f[a>>2]|0)|0;f[g>>2]=(f[g>>2]|0)+(f[a>>2]|0);g=d[k>>1]&-16897;d[k>>1]=g;break}else{c=0;return c|0}}while(0);if(f[a+24>>2]|0?(f[j>>2]|0)==(f[a+20>>2]|0):0)break;if(!(gf(a)|0)){g=d[k>>1]|0;break}else{c=0;return c|0}}while(0);d[k>>1]=g&-4097}if((d[k>>1]&514)==2)gf(a)|0}else{Ti(a,c,0)|0;e=a+10|0}if((b[e>>0]|0)!=(c&-9)<<24>>24){c=0;return c|0}c=f[a+16>>2]|0;return c|0}function Jc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=a+20|0;if(b[o>>0]|0){q=0;return q|0}h=f[a+12>>2]|0;if(!h){p=a+8|0;q=(f[p>>2]|0)+-1-(f[a+16>>2]|0)|0;b[o>>0]=18;f[p>>2]=0;return q|0}p=a+21|0;d=b[p>>0]|0;g=(d&4)==0;if(g)i=0;else i=f[a+4>>2]|0;q=a+16|0;l=f[q>>2]|0;u=c+1|0;u=KA(l|0,0,u|0,((u|0)<0)<<31>>31|0)|0;s=ba()|0;l=KA(u|0,s|0,l|0,0)|0;r=ba()|0;t=(r|0)>0|(r|0)==0&l>>>0>h>>>0;l=t?u:l;r=t?s:r;if((r|0)>0|(r|0)==0&l>>>0>h>>>0){if(g)d=a+4|0;else{e=f[a>>2]|0;d=a+4|0;g=f[d>>2]|0;do if(g|0){if(e|0){if(f[e+480>>2]|0){Kc(e,g);break}u=g;if((f[e+304>>2]|0)>>>0<=u>>>0?(f[e+308>>2]|0)>>>0>u>>>0:0){u=e+300|0;f[g>>2]=f[u>>2];f[u>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{u=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);b[p>>0]=b[p>>0]&-5}f[q>>2]=0;f[d>>2]=0;b[o>>0]=18;f[a+8>>2]=0;u=0;return u|0}h=a+8|0;f[h>>2]=l;g=f[a>>2]|0;a:do if(!g){if(!(Mc()|0)){e=Nc(i,l,0)|0;k=41}}else{if(i|0){u=i;if((f[g+304>>2]|0)>>>0<=u>>>0?(f[g+308>>2]|0)>>>0>u>>>0:0){if(!(0>0|(0==0?l>>>0>(j[g+276>>1]|0)>>>0:0))){e=i;k=43;break}e=Lc(g,i,l,0)|0;k=41;break}e=Lc(g,i,l,0)|0;k=41;break}if(f[g+272>>2]|0){if(b[g+81>>0]|0)break}else{do if(!(0>0|(0==0?l>>>0>(j[g+276>>1]|0)>>>0:0))){d=g+300|0;e=f[d>>2]|0;if(e|0){f[d>>2]=f[e>>2];k=g+284|0;f[k>>2]=(f[k>>2]|0)+1;k=41;break a}d=g+296|0;e=f[d>>2]|0;if(!e){d=g+292|0;break}else{f[d>>2]=f[e>>2];k=g+284|0;f[k>>2]=(f[k>>2]|0)+1;k=41;break a}}else d=g+288|0;while(0);f[d>>2]=(f[d>>2]|0)+1}e=Dc(g,l,0)|0;k=41}while(0);if((k|0)==41?e|0:0){d=b[p>>0]|0;k=43}if((k|0)==43){if((d&4)==0?(m=f[q>>2]|0,m|0):0)YA(e|0,f[a+4>>2]|0,m|0)|0;f[a+4>>2]=e;d=f[a>>2]|0;if(((d|0)!=0?(n=e,(f[d+304>>2]|0)>>>0<=n>>>0):0)?(f[d+308>>2]|0)>>>0>n>>>0:0)d=j[d+276>>1]|0;else d=ib[f[37368>>2]&255](e)|0;f[h>>2]=d;b[p>>0]=b[p>>0]|4;u=c;return u|0}if(!(b[p>>0]&4))d=a+4|0;else{g=f[a>>2]|0;d=a+4|0;e=f[d>>2]|0;do if(e|0){if(g|0){if(f[g+480>>2]|0){Kc(g,e);break}u=e;if((f[g+304>>2]|0)>>>0<=u>>>0?(f[g+308>>2]|0)>>>0>u>>>0:0){u=g+300|0;f[e>>2]=f[u>>2];f[u>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);b[p>>0]=b[p>>0]&-5}f[q>>2]=0;f[d>>2]=0;b[o>>0]=7;f[h>>2]=0;u=0;return u|0}function Kc(a,b){a=a|0;b=b|0;var c=0;if(((a|0)!=0?(c=b,(f[a+304>>2]|0)>>>0<=c>>>0):0)?(f[a+308>>2]|0)>>>0>c>>>0:0)b=j[a+276>>1]|0;else b=ib[f[37368>>2]&255](b)|0;a=f[a+480>>2]|0;f[a>>2]=(f[a>>2]|0)+b;return}function Lc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0;g=a+81|0;if(b[g>>0]|0){m=0;return m|0}l=c;m=a+304|0;if((f[m>>2]|0)>>>0<=l>>>0?(k=a+308|0,(f[k>>2]|0)>>>0>l>>>0):0){a:do if(!(f[a+272>>2]|0)){do if(!(0>>0|(0==(e|0)?(j[a+276>>1]|0)>>>0>>0:0))){h=a+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];e=a+284|0;f[e>>2]=(f[e>>2]|0)+1;break a}h=a+296|0;g=f[h>>2]|0;if(!g){g=a+292|0;break}else{f[h>>2]=f[g>>2];e=a+284|0;f[e>>2]=(f[e>>2]|0)+1;break a}}else g=a+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;i=13}else i=13;while(0);if((i|0)==13)g=Dc(a,d,e)|0;if(!g){m=0;return m|0}YA(g|0,c|0,j[a+276>>1]|0)|0;if(!c){m=g;return m|0}if(f[a+480>>2]|0){Kc(a,c);m=g;return m|0}if((f[m>>2]|0)>>>0<=l>>>0?(f[k>>2]|0)>>>0>l>>>0:0){m=a+300|0;f[c>>2]=f[m>>2];f[m>>2]=c;m=g;return m|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);m=g;return m|0}else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);m=g;return m|0}}if((Mc()|0)==0?(h=Nc(c,d,e)|0,h|0):0){m=h;return m|0}if(b[g>>0]|0){m=0;return m|0}if(b[a+82>>0]|0){m=0;return m|0}b[g>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;m=a+272|0;f[m>>2]=(f[m>>2]|0)+1;m=0;return m|0}function Mc(){var a=0,c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=t;t=t+16|0;n=p+8|0;a=p;if(f[9384]|0){o=0;t=p;return o|0}f[9386]=1;if(!(f[9387]|0)){if(!(f[9339]|0)){f[a>>2]=37648;Oc(4,a)|0};f[17972]=0;f[17973]=0;f[17974]=0;f[17975]=0;f[17976]=0;f[17977]=0;f[17972]=8;if((f[9378]|0)==0|(f[9379]|0)<512|(f[9380]|0)<1){f[9378]=0;f[9379]=0}a=ib[f[37376>>2]&255](f[9346]|0)|0;if(a|0){f[17972]=0;f[17973]=0;f[17974]=0;f[17975]=0;f[17976]=0;f[17977]=0;o=a;t=p;return o|0}}f[9387]=1;if(!(f[9390]|0))f[9390]=8;c=(f[9389]|0)+1|0;f[9389]=c;if(!(f[9385]|f[9384])){f[9385]=1;a=71916;c=a+92|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));k=f[284]|0;if(!k)a=0;else a=(wz(k)|0)&1073741823;d=b[k>>0]|0;a=71916+(((a+(d<<24>>24)|0)%23|0)<<2)|0;c=f[a>>2]|0;j=c;a:do if(c){i=h[1232+(d&255)>>0]|0;while(1){e=f[c+32>>2]|0;m=b[e>>0]|0;d=(h[1232+(m&255)>>0]|0)-i|0;if(!(m<<24>>24==0|(d|0)!=0)){g=k;do{e=e+1|0;g=g+1|0;m=b[e>>0]|0;d=(h[1232+(m&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(m<<24>>24==0|(d|0)!=0))}if(!d)break;c=f[c+36>>2]|0;if(!c){o=23;break a}}if(c){a=c+12|0;f[279]=f[a>>2]}else o=23}else o=23;while(0);if((o|0)==23){f[279]=0;f[285]=j}f[a>>2]=1104;k=f[294]|0;if(!k)a=0;else a=(wz(k)|0)&1073741823;d=b[k>>0]|0;a=71916+(((a+(d<<24>>24)|0)%23|0)<<2)|0;c=f[a>>2]|0;j=c;b:do if(c){i=h[1232+(d&255)>>0]|0;while(1){e=f[c+32>>2]|0;m=b[e>>0]|0;d=(h[1232+(m&255)>>0]|0)-i|0;if(!(m<<24>>24==0|(d|0)!=0)){g=k;do{e=e+1|0;g=g+1|0;m=b[e>>0]|0;d=(h[1232+(m&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(m<<24>>24==0|(d|0)!=0))}if(!d)break;c=f[c+36>>2]|0;if(!c){o=35;break b}}if(c){a=c+12|0;f[289]=f[a>>2]}else o=35}else o=35;while(0);if((o|0)==35){f[289]=0;f[295]=j}f[a>>2]=1144;k=f[304]|0;if(!k)a=0;else a=(wz(k)|0)&1073741823;d=b[k>>0]|0;a=71916+(((a+(d<<24>>24)|0)%23|0)<<2)|0;c=f[a>>2]|0;j=c;c:do if(c){i=h[1232+(d&255)>>0]|0;while(1){e=f[c+32>>2]|0;m=b[e>>0]|0;d=(h[1232+(m&255)>>0]|0)-i|0;if(!(m<<24>>24==0|(d|0)!=0)){g=k;do{e=e+1|0;g=g+1|0;m=b[e>>0]|0;d=(h[1232+(m&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(m<<24>>24==0|(d|0)!=0))}if(!d)break;c=f[c+36>>2]|0;if(!c){o=47;break c}}if(c){a=c+12|0;f[299]=f[a>>2]}else o=47}else o=47;while(0);if((o|0)==47){f[299]=0;f[305]=j}f[a>>2]=1184;l=0;do{m=1488+(l*40|0)|0;k=f[1488+(l*40|0)+32>>2]|0;if(!k)a=0;else a=(wz(k)|0)&1073741823;d=b[k>>0]|0;a=71916+(((a+(d<<24>>24)|0)%23|0)<<2)|0;c=f[a>>2]|0;j=c;d:do if(c){i=h[1232+(d&255)>>0]|0;while(1){e=f[c+32>>2]|0;g=b[e>>0]|0;d=(h[1232+(g&255)>>0]|0)-i|0;if(!(g<<24>>24==0|(d|0)!=0)){g=k;do{e=e+1|0;g=g+1|0;q=b[e>>0]|0;d=(h[1232+(q&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(q<<24>>24==0|(d|0)!=0))}if(!d)break;c=f[c+36>>2]|0;if(!c){o=60;break d}}if(c){a=c+12|0;f[1488+(l*40|0)+12>>2]=f[a>>2]}else o=60}else o=60;while(0);if((o|0)==60){o=0;f[1488+(l*40|0)+12>>2]=0;f[1488+(l*40|0)+36>>2]=j}f[a>>2]=m;l=l+1|0}while((l|0)!=15);l=0;do{m=2096+(l*40|0)|0;k=f[2096+(l*40|0)+32>>2]|0;if(!k)a=0;else a=(wz(k)|0)&1073741823;d=b[k>>0]|0;a=71916+(((a+(d<<24>>24)|0)%23|0)<<2)|0;c=f[a>>2]|0;j=c;e:do if(c){i=h[1232+(d&255)>>0]|0;while(1){e=f[c+32>>2]|0;q=b[e>>0]|0;d=(h[1232+(q&255)>>0]|0)-i|0;if(!(q<<24>>24==0|(d|0)!=0)){g=k;do{e=e+1|0;g=g+1|0;q=b[e>>0]|0;d=(h[1232+(q&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(q<<24>>24==0|(d|0)!=0))}if(!d)break;c=f[c+36>>2]|0;if(!c){o=74;break e}}if(c){a=c+12|0;f[2096+(l*40|0)+12>>2]=f[a>>2]}else o=74}else o=74;while(0);if((o|0)==74){o=0;f[2096+(l*40|0)+12>>2]=0;f[2096+(l*40|0)+36>>2]=j}f[a>>2]=m;l=l+1|0}while((l|0)!=8);l=0;do{m=2416+(l*40|0)|0;k=f[2416+(l*40|0)+32>>2]|0;if(!k)a=0;else a=(wz(k)|0)&1073741823;d=b[k>>0]|0;a=71916+(((a+(d<<24>>24)|0)%23|0)<<2)|0;c=f[a>>2]|0;j=c;f:do if(c){i=h[1232+(d&255)>>0]|0;while(1){e=f[c+32>>2]|0;q=b[e>>0]|0;d=(h[1232+(q&255)>>0]|0)-i|0;if(!(q<<24>>24==0|(d|0)!=0)){g=k;do{e=e+1|0;g=g+1|0;q=b[e>>0]|0;d=(h[1232+(q&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(q<<24>>24==0|(d|0)!=0))}if(!d)break;c=f[c+36>>2]|0;if(!c){o=88;break f}}if(c){a=c+12|0;f[2416+(l*40|0)+12>>2]=f[a>>2]}else o=88}else o=88;while(0);if((o|0)==88){o=0;f[2416+(l*40|0)+12>>2]=0;f[2416+(l*40|0)+36>>2]=j}f[a>>2]=m;l=l+1|0}while((l|0)!=57);if(!(f[9388]|0)){a=f[9358]|0;if(!a){f[n>>2]=37680;Oc(18,n)|0;a=f[9358]|0}a=ib[a&255](f[9357]|0)|0;if(!a)o=94}else o=94;g:do if((o|0)==94){f[9388]=1;if(!(Mc()|0)){do if(!(f[9328]|0)){a=ib[f[37356>>2]&255](10)|0;if(!a){a=7;break g}}else{a=ib[f[37372>>2]&255](10)|0;if((f[18194]|0)>>>0<10)f[18194]=10;d=71896;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){q=f[18187]|0;o=LA(c|0,d|0,a|0,((a|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&o>>>0<=q>>>0)&1}a=ib[f[37356>>2]&255](a)|0;if(!a){a=7;break g}c=ib[f[37368>>2]&255](a)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0<=(f[18196]|0)>>>0)break;f[18196]=c}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](a);else{q=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a)}if(!(Mc()|0)){a=f[18002]|0;do if((a|0)==4704){a=f[1179]|0;f[18002]=a}else{if(!a){a=0;break}c=a;while(1){d=f[c+12>>2]|0;if((d|0)!=4704&(d|0)!=0)c=d;else break}if((d|0)!=4704)break;f[c+12>>2]=f[1179]}while(0);f[1179]=a;f[18002]=4704}if(!(Mc()|0)){a=f[18002]|0;do if((a|0)==4792){a=f[1201]|0;f[18002]=a;o=138}else{if(!a){o=140;break}c=a;while(1){d=f[c+12>>2]|0;if((d|0)!=4792&(d|0)!=0)c=d;else break}if((d|0)!=4792){o=138;break}f[c+12>>2]=f[1201];o=138}while(0);do if((o|0)==138){if(!a){o=140;break}a=a+12|0;f[1201]=f[a>>2]}while(0);if((o|0)==140){f[1201]=0;a=72008}f[a>>2]=4792}if(!(Mc()|0)){a=f[18002]|0;do if((a|0)==4880){a=f[1223]|0;f[18002]=a;o=150}else{if(!a){o=152;break}c=a;while(1){d=f[c+12>>2]|0;if((d|0)!=4880&(d|0)!=0)c=d;else break}if((d|0)!=4880){o=150;break}f[c+12>>2]=f[1223];o=150}while(0);do if((o|0)==150){if(!a){o=152;break}a=a+12|0;f[1223]=f[a>>2]}while(0);if((o|0)==152){f[1223]=0;a=72008}f[a>>2]=4880}if(!(Mc()|0)){a=f[18002]|0;do if((a|0)==4968){a=f[1245]|0;f[18002]=a;o=162}else{if(!a){o=164;break}c=a;while(1){d=f[c+12>>2]|0;if((d|0)!=4968&(d|0)!=0)c=d;else break}if((d|0)!=4968){o=162;break}f[c+12>>2]=f[1245];o=162}while(0);do if((o|0)==162){if(!a){o=164;break}a=a+12|0;f[1245]=f[a>>2]}while(0);if((o|0)==164){f[1245]=0;a=72008}f[a>>2]=4968}a=f[9378]|0;if(f[18016]|0){i=(a|0)==0;j=i?0:f[9380]|0;c=(j|0)==0;i=i|c?0:f[9379]&-8;f[18019]=i;f[18026]=j;f[18020]=j;if((j|0)>90)d=10;else d=((j|0)/10|0)+1|0;f[18021]=d;f[18022]=a;f[18025]=0;f[18027]=0;if(!c){e=U(i,j+-1|0)|0;c=a;d=j;g=0;while(1){d=d+-1|0;f[c>>2]=g;g=c;if(!d)break;else c=c+i|0}q=U(i,j)|0;f[18025]=a+e;a=a+q|0}f[18023]=a}f[9384]=1;a=0}else a=7}while(0);f[9385]=0;c=f[9389]|0}else a=0;f[9389]=c+-1;if((c|0)>=2){q=a;t=p;return q|0}f[9390]=0;q=a;t=p;return q|0}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!a){d=KA(b|0,c|0,-1,-1)|0;a=ba()|0;if(a>>>0>0|(a|0)==0&d>>>0>2147483390){d=0;return d|0}if(!(f[9328]|0)){d=ib[f[37356>>2]&255](b)|0;return d|0}a=ib[f[37372>>2]&255](b)|0;if((f[18194]|0)>>>0>>0)f[18194]=b;b=71896;c=f[b>>2]|0;b=f[b+4>>2]|0;if((b|0)>0|(b|0)==0&c>>>0>0){d=f[18187]|0;b=LA(c|0,b|0,a|0,((a|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&b>>>0<=d>>>0)&1}b=ib[f[37356>>2]&255](a)|0;if(!b){d=0;return d|0}c=ib[f[37368>>2]&255](b)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0<=(f[18196]|0)>>>0){d=b;return d|0}f[18196]=c;d=b;return d|0}if((b|0)==0&(c|0)==0)if(!(f[9328]|0)){ob[f[37360>>2]&127](a);d=0;return d|0}else{d=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);d=0;return d|0}if(c>>>0>0|(c|0)==0&b>>>0>2147483391){d=0;return d|0}d=ib[f[37368>>2]&255](a)|0;c=ib[f[37372>>2]&255](b)|0;if((c|0)==(d|0)){d=a;return d|0}if(!(f[9328]|0)){d=jb[f[37364>>2]&255](a,c)|0;return d|0}if((f[18194]|0)>>>0>>0)f[18194]=b;b=jb[f[37364>>2]&255](a,c)|0;e=71896;g=f[e+4>>2]|0;if((b|0)==0&((g|0)>0|(g|0)==0&(f[e>>2]|0)>>>0>0))b=jb[f[37364>>2]&255](a,c)|0;if(!b){g=0;return g|0}c=(ib[f[37368>>2]&255](b)|0)-d|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0<=(f[18191]|0)>>>0){g=b;return g|0}f[18191]=c;g=b;return g|0}function Oc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=t;t=t+48|0;g=h+40|0;e=h+32|0;d=h+16|0;c=h;if(f[9384]|0){f[d>>2]=40433;f[d+4>>2]=153095;f[d+8>>2]=40460;Ac(21,40408,d);b=21;t=h;return b|0}f[c>>2]=b;do switch(a|0){case 4:{b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9339]=f[a>>2];f[9340]=f[a+4>>2];f[9341]=f[a+8>>2];f[9342]=f[a+12>>2];f[9343]=f[a+16>>2];f[9344]=f[a+20>>2];f[9345]=f[a+24>>2];f[9346]=f[a+28>>2];a=0;break}case 5:{if(!(f[9339]|0)){f[e>>2]=37648;Oc(4,e)|0}b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[a>>2]=f[9339];f[a+4>>2]=f[9340];f[a+8>>2]=f[9341];f[a+12>>2]=f[9342];f[a+16>>2]=f[9343];f[a+20>>2]=f[9344];f[a+24>>2]=f[9345];f[a+28>>2]=f[9346];a=0;break}case 9:{b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9328]=a;a=0;break}case 27:{b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9333]=a;a=0;break}case 7:{b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9378]=a;a=(f[c>>2]|0)+(4-1)&~(4-1);b=f[a>>2]|0;f[c>>2]=a+4;f[9379]=b;b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9380]=a;a=0;break}case 24:{b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[a>>2]=160;a=0;break}case 14:{a=0;break}case 15:{a=1;break}case 18:{a=(f[c>>2]|0)+(4-1)&~(4-1);d=f[a>>2]|0;f[c>>2]=a+4;a=37424;c=d;d=a+52|0;do{f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}while((a|0)<(d|0));a=0;break}case 19:{if(!(f[9358]|0)){f[g>>2]=37680;Oc(18,g)|0}d=(f[c>>2]|0)+(4-1)&~(4-1);a=f[d>>2]|0;f[c>>2]=d+4;c=37424;d=a+52|0;do{f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}while((a|0)<(d|0));a=0;break}case 13:{a=(f[c>>2]|0)+(4-1)&~(4-1);b=f[a>>2]|0;f[c>>2]=a+4;f[9336]=b;b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9337]=a;a=0;break}case 16:{a=(f[c>>2]|0)+(4-1)&~(4-1);b=f[a>>2]|0;f[c>>2]=a+4;f[9391]=b;b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9392]=a;a=0;break}case 17:{b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9331]=a;a=0;break}case 20:{b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9332]=a;a=0;break}case 22:{f[c>>2]=((f[c>>2]|0)+(8-1)&~(8-1))+8;f[c>>2]=((f[c>>2]|0)+(8-1)&~(8-1))+8;f[9374]=0;f[9375]=0;f[9376]=0;f[9377]=0;a=0;break}case 25:{b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9383]=a;a=0;break}case 26:{b=(f[c>>2]|0)+(4-1)&~(4-1);a=f[b>>2]|0;f[c>>2]=b+4;f[9338]=a;a=0;break}default:a=1}while(0);b=a;t=h;return b|0}function Pc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=t;t=t+1232|0;F=I+1200|0;E=I+1192|0;G=I+1168|0;x=I+1144|0;w=I+1128|0;H=I+1048|0;D=I+528|0;n=I;m=g&-256;s=g&16;A=g&8;q=g&4;k=g&1;r=g&2;a:do if(!q)B=0;else{b:do if((m|0)>=16384)if((m|0)<524288)switch(m|0){case 16384:{B=1;break a}default:break b}else switch(m|0){case 524288:{B=1;break a}default:break b}else switch(m|0){case 2048:{B=1;break a}default:{}}while(0);B=0}while(0);z=f[18028]|0;if((z|0)!=(Bz()|0)?(z=Bz()|0,f[18028]=z,(Mc()|0)==0):0)b[72791]=0;o=e;p=o+52|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));z=(m|0)==256;if(!z)if(!c){i=yd(f[a+8>>2]|0,n)|0;if(!i){v=n;i=-1}else{e=i;t=I;return e|0}}else{v=c;i=-1}else{c:do if(((f[18029]|0)!=0?(jb[f[5108>>2]&255](c,H)|0)==0:0)?(i=f[18029]|0,(i|0)!=0):0){m=f[H>>2]|0;n=f[H+72>>2]|0;while(1){if((f[i>>2]|0)==(m|0)?(v=i+8|0,(f[v+4>>2]|0)==0?(f[v>>2]|0)==(n|0):0):0)break;i=f[i+44>>2]|0;if(!i){C=20;break c}}i=i+32|0;m=f[i>>2]|0;if(m){while(1){n=m+8|0;if((f[m+4>>2]|0)==(g|0))break;m=f[n>>2]|0;if(!m){C=20;break c}else i=n}f[i>>2]=f[n>>2];i=m;m=f[m>>2]|0}else C=20}else C=20;while(0);do if((C|0)==20){if(Mc()|0){e=7;t=I;return e|0}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](12)|0;if(!i)i=7;else{m=-1;break}t=I;return i|0}i=ib[f[37372>>2]&255](12)|0;if((f[18194]|0)>>>0<12)f[18194]=12;n=71896;m=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&m>>>0>0){v=f[18187]|0;u=LA(m|0,n|0,i|0,((i|0)<0)<<31>>31|0)|0;p=ba()|0;f[17976]=((p|0)<0|(p|0)==0&u>>>0<=v>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){e=7;t=I;return e|0}m=ib[f[37368>>2]&255](i)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0>(f[18196]|0)>>>0)f[18196]=m;m=-1}while(0);f[e+28>>2]=i;v=c;i=m}u=(r|0)!=0;q=q<<4|r;q=(s|0)==0?q:q|131200;d:do if((i|0)<0){i=g&526336;e:do if(!i)if(!A)if(!((g&64|0)==0|(v|0)==0)?(l=v+(((wz(v)|0)&1073741823)+1)|0,(b[l>>0]|0)!=0):0){while(1){s=tz(l,41004)|0;l=l+(((wz(l)|0)&1073741823)+1)|0;if(!s)break;l=l+(((wz(l)|0)&1073741823)+1)|0;if(!(b[l>>0]|0)){p=0;n=0;m=0;break e}}if(!(jb[f[5108>>2]&255](l,H)|0)){l=0;m=f[H+24>>2]|0;n=f[H+20>>2]|0;o=f[H+12>>2]&511}else{l=1802;m=0;n=0;o=0}C=57}else{p=0;n=0;m=0}else{p=0;n=0;m=384}else{if(!v)l=-1;else l=((wz(v)|0)&1073741823)+-1|0;m=b[v+l>>0]|0;f:do if(m<<24>>24!=45){while(1){if(m<<24>>24==46|(l|0)==0)break;l=l+-1|0;m=b[v+l>>0]|0;if(m<<24>>24==45)break f}p=0;n=0;m=0;break e}while(0);YA(D|0,v|0,l|0)|0;b[D+l>>0]=0;if(!(jb[f[5108>>2]&255](D,H)|0)){m=f[H+24>>2]|0;l=0;n=f[H+20>>2]|0;o=f[H+12>>2]&511}else{m=0;l=1802;n=0;o=0}C=57}while(0);if((C|0)==57)if(!l){p=m;m=o}else{e=l;t=I;return e|0}l=Gd(v,q,m)|0;do if((l|0)<0){if((B?(s=mz()|0,(f[s>>2]|0)==13):0)?(jb[f[5084>>2]&255](v,0)|0)!=0:0)i=1544;else{s=mz()|0;if(u&(f[s>>2]|0)!=21?(y=Gd(v,q&131200,m)|0,(y|0)>=0):0){m=g&-8|1;k=1;l=y;i=g&526336;break}else i=0}f[w>>2]=40896;f[w+4>>2]=38389;f[w+8>>2]=40460;Ac(14,40408,w);H=mz()|0;H=f[H>>2]|0;j=Dz(H)|0;f[x>>2]=38389;f[x+4>>2]=H;f[x+8>>2]=40636;f[x+12>>2]=(v|0)==0?72788:v;f[x+16>>2]=j;Ac(14,40599,x);j=(i|0)==0?14:i;i=e+28|0;break d}else m=g;while(0);if((i|0)!=0?(hb[f[5312>>2]&127]()|0)==0:0){kb[f[5300>>2]&127](l,n,p)|0;o=l;C=69}else{o=l;C=69}}else{m=g;o=i;C=69}while(0);g:do if((C|0)==69){if(h|0)f[h>>2]=m;p=e+28|0;i=f[p>>2]|0;if(i|0){f[i>>2]=o;f[i+4>>2]=m}if(A|0)ib[f[5252>>2]&255](v)|0;l=A<<2;l=(k|0)==0?l:l|2;l=z?l:l|128;l=B?l|8:l;B=l|m&64;m=e+12|0;f[m>>2]=o;f[e+4>>2]=a;n=e+32|0;f[n>>2]=c;i=B&255;k=e+18|0;d[k>>1]=i;h:do if(!((c|0)==0|(B&64|0)==0)?(j=c+(((wz(c)|0)&1073741823)+1)|0,(b[j>>0]|0)!=0):0){while(1){B=tz(j,41011)|0;j=j+(((wz(j)|0)&1073741823)+1)|0;if(!B)break;j=j+(((wz(j)|0)&1073741823)+1)|0;if(!(b[j>>0]|0)){C=82;break h}}if((Hd(j,1,1)|0)<<24>>24){i=d[k>>1]|0;C=82}}else C=82;while(0);if((C|0)==82)d[k>>1]=i|16;if(!(tz(f[a+16>>2]|0,40589)|0))d[k>>1]=d[k>>1]|1;i:do if(!(l&128)){i=jb[f[f[a+20>>2]>>2]&255](c,e)|0;if((i|0)!=37896){if((i|0)!=37744)break;i=(wz(c)|0)+6|0;j=xd(i,((i|0)<0)<<31>>31)|0;if(j|0){f[E>>2]=c;vd(i,j,41016,E)|0;f[e+24>>2]=j;i=37744;break}f[e+24>>2]=0;f[e+20>>2]=0;if((o|0)<=-1){j=7;i=p;break g}if(!(ib[f[5072>>2]&255](o)|0)){j=7;i=p;break g}i=f[n>>2]|0;e=mz()|0;e=f[e>>2]|0;j=Dz(e)|0;f[F>>2]=37976;f[F+4>>2]=e;f[F+8>>2]=40630;f[F+12>>2]=(i|0)==0?72788:i;f[F+16>>2]=j;Ac(4106,40599,F);j=7;i=p;break g}l=e+8|0;j:do if(!(jb[f[5120>>2]&255](f[m>>2]|0,D)|0)){i=H;f[i>>2]=0;f[i+4>>2]=0;f[H>>2]=f[D>>2];i=H+8|0;f[i>>2]=f[D+72>>2];f[i+4>>2]=0;i=f[18029]|0;k:do if(!i)C=93;else{while(1){if(!(Hz(H,i,16)|0))break;i=f[i+44>>2]|0;if(!i){C=93;break k}}H=i+36|0;f[H>>2]=(f[H>>2]|0)+1}while(0);if((C|0)==93){if(Mc()|0){j=7;break}do if(!(f[9328]|0)){i=ib[f[37356>>2]&255](56)|0;if(!i){j=7;break j}}else{i=ib[f[37372>>2]&255](56)|0;if((f[18194]|0)>>>0<56)f[18194]=56;k=71896;j=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){F=f[18187]|0;E=LA(j|0,k|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&E>>>0<=F>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){j=7;break j}j=ib[f[37368>>2]&255](i)|0;j=(f[18187]|0)+j|0;f[18187]=j;if(j>>>0>(f[18191]|0)>>>0)f[18191]=j;j=(f[18190]|0)+1|0;f[18190]=j;if(j>>>0<=(f[18196]|0)>>>0)break;f[18196]=j}while(0);j=i+16|0;o=j;p=o+40|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[i>>2]=f[H>>2];f[i+4>>2]=f[H+4>>2];f[i+8>>2]=f[H+8>>2];f[i+12>>2]=f[H+12>>2];if(f[9329]|0)f[j>>2]=8;f[i+36>>2]=1;j=f[18029]|0;f[i+44>>2]=j;f[i+48>>2]=0;if(j|0)f[j+48>>2]=i;f[18029]=i}f[l>>2]=i;i=37896;break i}else{j=mz()|0;j=f[j>>2]|0;f[e+20>>2]=j;j=(j|0)==75?22:10}while(0);if(ib[f[5072>>2]&255](o)|0){if(!e)i=0;else i=f[n>>2]|0;F=mz()|0;F=f[F>>2]|0;H=Dz(F)|0;f[G>>2]=37891;f[G+4>>2]=F;f[G+8>>2]=40630;f[G+12>>2]=(i|0)==0?72788:i;f[G+16>>2]=H;Ac(4106,40599,G)}f[e+20>>2]=0;i=p;break g}else i=37820;while(0);f[e+20>>2]=0;f[e>>2]=i;Id(e);e=0;t=I;return e|0}while(0);i=f[i>>2]|0;if(!i){e=j;t=I;return e|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);e=j;t=I;return e|0}else{e=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);e=j;t=I;return e|0}return 0}function Qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=t;t=t+80|0;g=h+48|0;d=h+24|0;a=h;e=h+68|0;if((ib[f[5252>>2]&255](b)|0)==-1){g=mz()|0;if((f[g>>2]|0)==2){g=5898;t=h;return g|0}e=mz()|0;e=f[e>>2]|0;g=Dz(e)|0;f[a>>2]=38519;f[a+4>>2]=e;f[a+8>>2]=40740;f[a+12>>2]=(b|0)==0?72788:b;f[a+16>>2]=g;Ac(2570,40599,a);g=2570;t=h;return g|0}if(!(c&1)){g=0;t=h;return g|0}if(!(jb[f[5264>>2]&255](b,e)|0)){if(!(rA(f[e>>2]|0)|0))a=0;else{c=mz()|0;c=f[c>>2]|0;a=Dz(c)|0;f[d>>2]=38529;f[d+4>>2]=c;f[d+8>>2]=40998;f[d+12>>2]=(b|0)==0?72788:b;f[d+16>>2]=a;Ac(1290,40599,d);a=1290}if(ib[f[5072>>2]&255](f[e>>2]|0)|0){c=mz()|0;c=f[c>>2]|0;e=Dz(c)|0;f[g>>2]=38531;f[g+4>>2]=c;f[g+8>>2]=40630;f[g+12>>2]=72788;f[g+16>>2]=e;Ac(4106,40599,g)}}else a=0;g=a;t=h;return g|0}function Rc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=t;t=t+80|0;a=e;if(!c){c=(jb[f[5108>>2]&255](b,a)|0)==0;f[d>>2]=c&(f[a+36>>2]|0)>0&1;t=e;return 0}else{c=(jb[f[5084>>2]&255](b,6)|0)==0&1;f[d>>2]=c;t=e;return 0}return 0}function Sc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=t;t=t+256|0;A=C+168|0;z=C+152|0;y=C+128|0;x=C+112|0;v=C+96|0;u=C+72|0;s=C+56|0;r=C+40|0;w=C+16|0;q=C;l=C+172|0;m=l+12|0;n=d+-1|0;o=d+-2|0;p=(e|0)==0;a=0;g=1;while(1){if(!(jb[f[5384>>2]&255](c,l)|0))if((f[m>>2]&61440|0)==40960){if(!a){a=Fd(d)|0;if(!a){a=0;c=7;D=34;break}else j=g}else if((g|0)>99){D=9;break}else j=g+1|0;g=kb[f[5372>>2]&127](c,a,n)|0;if((g|0)<0){D=11;break}do if((b[a>>0]|0)!=47){a:do if((c|0)!=0?(B=(wz(c)|0)&1073741823,(B|0)!=0):0){h=B;while(1){i=h+-1|0;if((b[c+i>>0]|0)==47)break a;if((h|0)>1)h=i;else{h=i;break}}}else h=0;while(0);i=h+g|0;if((i|0)<(d|0)){ZA(a+h|0,a|0,g+1|0)|0;YA(a|0,c|0,h|0)|0;g=i;c=0;break}else{f[v>>2]=40896;f[v+4>>2]=38666;f[v+8>>2]=40460;Ac(14,40408,v);c=14;break}}else c=0;while(0);b[a+g>>0]=0;k=a;g=j;i=0}else{k=c;c=0;i=1}else{k=mz()|0;if((f[k>>2]|0)==2){k=c;c=0;i=1}else{D=4;break}}if((c|0)!=0|(k|0)==(e|0)){if(i){D=36;break}}else{c=(k|0)==0;if(c)h=0;else h=(wz(k)|0)&1073741823;if((b[k>>0]|0)==47)c=0;else{if(!(jb[f[5096>>2]&255](e,o)|0)){D=27;break}if(p)c=0;else c=(wz(e)|0)&1073741823;b[e+c>>0]=47;c=c+1|0}if((c+h|0)>=(d|0)){D=32;break}f[A>>2]=k;vd(d-c|0,e+c|0,40840,A)|0;if(i){c=0;D=36;break}else c=0}if(!c)c=e;else break}if((D|0)==4){f[q>>2]=40896;f[q+4>>2]=38643;f[q+8>>2]=40460;Ac(14,40408,q);e=mz()|0;e=f[e>>2]|0;B=Dz(e)|0;f[w>>2]=38643;f[w+4>>2]=e;f[w+8>>2]=40828;f[w+12>>2]=(c|0)==0?72788:c;f[w+16>>2]=B;Ac(14,40599,w);c=14;D=36}else if((D|0)==9){f[r>>2]=40896;f[r+4>>2]=38654;f[r+8>>2]=40460;Ac(14,40408,r);c=14;D=34}else if((D|0)==11){f[s>>2]=40896;f[s+4>>2]=38660;f[s+8>>2]=40460;Ac(14,40408,s);e=mz()|0;e=f[e>>2]|0;B=Dz(e)|0;f[u>>2]=38660;f[u+4>>2]=e;f[u+8>>2]=40819;f[u+12>>2]=(c|0)==0?72788:c;f[u+16>>2]=B;Ac(14,40599,u);c=14;D=34}else if((D|0)==27){f[x>>2]=40896;f[x+4>>2]=38586;f[x+8>>2]=40460;Ac(14,40408,x);e=mz()|0;e=f[e>>2]|0;B=Dz(e)|0;f[y>>2]=38586;f[y+4>>2]=e;f[y+8>>2]=40648;f[y+12>>2]=c?72788:k;f[y+16>>2]=B;Ac(14,40599,y);c=14;D=34}else if((D|0)==32){b[e+c>>0]=0;f[z>>2]=40896;f[z+4>>2]=38595;f[z+8>>2]=40460;Ac(14,40408,z);c=14;D=34}if(!a){t=C;return c|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);t=C;return c|0}else{D=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);t=C;return c|0}return 0}function Tc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=t;t=t+32|0;h=i+8|0;g=i;a=i+28|0;_A(d|0,0,c|0)|0;e=Bz()|0;f[18028]=e;while(1){e=kb[f[5060>>2]&127](40985,524288,420)|0;if((e|0)<0){e=mz()|0;if((f[e>>2]|0)!=4){j=8;break}}else{if((e|0)>2)break;ib[f[5072>>2]&255](e)|0;f[g>>2]=40985;f[g+4>>2]=e;Ac(28,40843,g);if((kb[f[5060>>2]&127](40886,0,0)|0)<0){j=8;break}}}if((j|0)==8){bb(a|0)|0;j=f[a>>2]|0;b[d>>0]=j;b[d+1>>0]=j>>8;b[d+2>>0]=j>>16;b[d+3>>0]=j>>24;j=d+4|0;d=f[18028]|0;b[j>>0]=d;b[j+1>>0]=d>>8;b[j+2>>0]=d>>16;b[j+3>>0]=d>>24;j=8;t=i;return j|0}do{if((kb[f[5156>>2]&127](e,d,c)|0)>=0)break;j=mz()|0}while((f[j>>2]|0)==4);if(!(ib[f[5072>>2]&255](e)|0)){j=c;t=i;return j|0}d=mz()|0;d=f[d>>2]|0;j=Dz(d)|0;f[h>>2]=38790;f[h+4>>2]=d;f[h+8>>2]=40630;f[h+12>>2]=72788;f[h+16>>2]=j;Ac(4106,40599,h);j=c;t=i;return j|0}function Uc(a,b){a=a|0;b=b|0;b=(b+999999|0)/1e6|0;sA(b)|0;return b*1e6|0}function Vc(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0,g=0;a=t;t=t+16|0;d=a;Va(d|0,0)|0;g=f[d>>2]|0;g=QA(g|0,((g|0)<0)<<31>>31|0,1e3,0)|0;g=KA(g|0,ba()|0,1045635584,49096)|0;e=ba()|0;d=(f[d+4>>2]|0)/1e3|0;d=KA(g|0,e|0,d|0,((d|0)<0)<<31>>31|0)|0;c=(+(d>>>0)+4294967296.0*+(ba()|0))/864.0e5;p[b>>3]=c;t=a;return 0}function Wc(a,b,c){a=a|0;b=b|0;c=c|0;c=mz()|0;return f[c>>2]|0}function Xc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;a=t;t=t+16|0;d=a;Va(d|0,0)|0;e=f[d>>2]|0;e=QA(e|0,((e|0)<0)<<31>>31|0,1e3,0)|0;e=KA(e|0,ba()|0,1045635584,49096)|0;c=ba()|0;d=(f[d+4>>2]|0)/1e3|0;d=KA(e|0,c|0,d|0,((d|0)<0)<<31>>31|0)|0;c=ba()|0;f[b>>2]=d;f[b+4>>2]=c;t=a;return 0}function Yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(b|0){do if(tz(b,f[1264]|0)|0)if(tz(b,f[1267]|0)|0)if(tz(b,f[1270]|0)|0)if(tz(b,f[1273]|0)|0)if(tz(b,f[1276]|0)|0)if(tz(b,f[1279]|0)|0)if(tz(b,f[1282]|0)|0)if(tz(b,f[1285]|0)|0)if(tz(b,f[1288]|0)|0)if(tz(b,f[1291]|0)|0)if(tz(b,f[1294]|0)|0)if(tz(b,f[1297]|0)|0)if(tz(b,f[1300]|0)|0)if(tz(b,f[1303]|0)|0)if(tz(b,f[1306]|0)|0)if(tz(b,f[1309]|0)|0)if(!(tz(b,f[1312]|0)|0))d=16;else{if(!(tz(b,f[1315]|0)|0)){d=17;break}if(!(tz(b,f[1318]|0)|0)){d=18;break}if(!(tz(b,f[1321]|0)|0)){d=19;break}if(!(tz(b,f[1324]|0)|0)){d=20;break}if(!(tz(b,f[1327]|0)|0)){d=21;break}if(!(tz(b,f[1330]|0)|0)){d=22;break}if(!(tz(b,f[1333]|0)|0)){d=23;break}if(!(tz(b,f[1336]|0)|0)){d=24;break}if(!(tz(b,f[1339]|0)|0)){d=25;break}if(!(tz(b,f[1342]|0)|0)){d=26;break}if(!(tz(b,f[1345]|0)|0)){d=27;break}if(!(tz(b,f[1348]|0)|0)){d=28;break}else a=12;return a|0}else d=15;else d=14;else d=13;else d=12;else d=11;else d=10;else d=9;else d=8;else d=7;else d=6;else d=5;else d=4;else d=3;else d=2;else d=1;else d=0;while(0);b=5056+(d*12|0)+8|0;a=f[b>>2]|0;if(!a){a=f[5056+(d*12|0)+4>>2]|0;f[b>>2]=a}f[5056+(d*12|0)+4>>2]=(c|0)==0?a:c;c=0;return c|0}a=f[1266]|0;if(a|0)f[1265]=a;a=f[1269]|0;if(a|0)f[1268]=a;a=f[1272]|0;if(a|0)f[1271]=a;a=f[1275]|0;if(a|0)f[1274]=a;a=f[1278]|0;if(a|0)f[1277]=a;a=f[1281]|0;if(a|0)f[1280]=a;a=f[1284]|0;if(a|0)f[1283]=a;a=f[1287]|0;if(a|0)f[1286]=a;a=f[1290]|0;if(a|0)f[1289]=a;a=f[1293]|0;if(a|0)f[1292]=a;a=f[1296]|0;if(a|0)f[1295]=a;a=f[1299]|0;if(a|0)f[1298]=a;a=f[1302]|0;if(a|0)f[1301]=a;a=f[1305]|0;if(a|0)f[1304]=a;a=f[1308]|0;if(a|0)f[1307]=a;a=f[1311]|0;if(a|0)f[1310]=a;a=f[1314]|0;if(a|0)f[1313]=a;a=f[1317]|0;if(a|0)f[1316]=a;a=f[1320]|0;if(a|0)f[1319]=a;a=f[1323]|0;if(a|0)f[1322]=a;a=f[1326]|0;if(a|0)f[1325]=a;a=f[1329]|0;if(a|0)f[1328]=a;a=f[1332]|0;if(a|0)f[1331]=a;a=f[1335]|0;if(a|0)f[1334]=a;a=f[1338]|0;if(a|0)f[1337]=a;a=f[1341]|0;if(a|0)f[1340]=a;a=f[1344]|0;if(a|0)f[1343]=a;a=f[1347]|0;if(a|0)f[1346]=a;a=f[1350]|0;if(!a){c=0;return c|0}f[1349]=a;c=0;return c|0}function Zc(a,b){a=a|0;b=b|0;do if(tz(b,f[1264]|0)|0)if(tz(b,f[1267]|0)|0)if(tz(b,f[1270]|0)|0)if(tz(b,f[1273]|0)|0)if(tz(b,f[1276]|0)|0)if(tz(b,f[1279]|0)|0)if(tz(b,f[1282]|0)|0)if(tz(b,f[1285]|0)|0)if(tz(b,f[1288]|0)|0)if(tz(b,f[1291]|0)|0)if(tz(b,f[1294]|0)|0)if(tz(b,f[1297]|0)|0)if(tz(b,f[1300]|0)|0)if(tz(b,f[1303]|0)|0)if(tz(b,f[1306]|0)|0)if(tz(b,f[1309]|0)|0)if(tz(b,f[1312]|0)|0)if(tz(b,f[1315]|0)|0)if(!(tz(b,f[1318]|0)|0))a=18;else{if(!(tz(b,f[1321]|0)|0)){a=19;break}if(!(tz(b,f[1324]|0)|0)){a=20;break}if(!(tz(b,f[1327]|0)|0)){a=21;break}if(!(tz(b,f[1330]|0)|0)){a=22;break}if(!(tz(b,f[1333]|0)|0)){a=23;break}if(!(tz(b,f[1336]|0)|0)){a=24;break}if(!(tz(b,f[1339]|0)|0)){a=25;break}if(!(tz(b,f[1342]|0)|0)){a=26;break}if(!(tz(b,f[1345]|0)|0)){a=27;break}if(!(tz(b,f[1348]|0)|0)){a=28;break}else a=0;return a|0}else a=17;else a=16;else a=15;else a=14;else a=13;else a=12;else a=11;else a=10;else a=9;else a=8;else a=7;else a=6;else a=5;else a=4;else a=3;else a=2;else a=1;else a=0;while(0);b=f[5056+(a*12|0)+4>>2]|0;return b|0}function _c(a,b){a=a|0;b=b|0;var c=0;do if(b)if(tz(b,f[1264]|0)|0)if(tz(b,f[1267]|0)|0)if(tz(b,f[1270]|0)|0)if(tz(b,f[1273]|0)|0)if(tz(b,f[1276]|0)|0)if(tz(b,f[1279]|0)|0)if(tz(b,f[1282]|0)|0)if(tz(b,f[1285]|0)|0)if(tz(b,f[1288]|0)|0)if(tz(b,f[1291]|0)|0)if(tz(b,f[1294]|0)|0)if(tz(b,f[1297]|0)|0)if(tz(b,f[1300]|0)|0)if(tz(b,f[1303]|0)|0)if(tz(b,f[1306]|0)|0)if(tz(b,f[1309]|0)|0)if(tz(b,f[1312]|0)|0)if(!(tz(b,f[1315]|0)|0))a=17;else{if(!(tz(b,f[1318]|0)|0)){a=18;break}if(!(tz(b,f[1321]|0)|0)){a=19;break}if(!(tz(b,f[1324]|0)|0)){a=20;break}if(!(tz(b,f[1327]|0)|0)){a=21;break}if(!(tz(b,f[1330]|0)|0)){a=22;break}if(!(tz(b,f[1333]|0)|0)){a=23;break}if(!(tz(b,f[1336]|0)|0)){a=24;break}if(!(tz(b,f[1339]|0)|0)){a=25;break}if(!(tz(b,f[1342]|0)|0)){a=26;break}if(!(tz(b,f[1345]|0)|0)){a=27;break}else a=0;return a|0}else a=16;else a=15;else a=14;else a=13;else a=12;else a=11;else a=10;else a=9;else a=8;else a=7;else a=6;else a=5;else a=4;else a=3;else a=2;else a=1;else a=0;else a=-1;while(0);while(1){b=a;a=a+1|0;if(f[5056+(a*12|0)+4>>2]|0)break;if((b|0)>=27){a=0;c=8;break}}if((c|0)==8)return a|0;c=f[5056+(a*12|0)>>2]|0;return c|0}function $c(a,b){a=a|0;b=b|0;return 37744}function ad(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;g=t;t=t+32|0;e=g;d=a+24|0;c=a+16|0;do if(b[c>>0]|0){if((ib[f[5288>>2]&255](f[d>>2]|0)|0)>=0){b[c>>0]=0;break}c=mz()|0;c=f[c>>2]|0;if((c|0)!=2)f[a+20>>2]=c}while(0);c=f[d>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=a+12|0;d=f[c>>2]|0;if((d|0)>-1){if(ib[f[5072>>2]&255](d)|0){h=f[a+32>>2]|0;i=mz()|0;i=f[i>>2]|0;d=Dz(i)|0;f[e>>2]=34408;f[e+4>>2]=i;f[e+8>>2]=40630;f[e+12>>2]=(h|0)==0?72788:h;f[e+16>>2]=d;Ac(4106,40599,e)}f[c>>2]=-1}c=f[a+28>>2]|0;if(!c){c=a;d=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));t=g;return 0}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=a;d=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));t=g;return 0}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=a;d=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));t=g;return 0}return 0}function bd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=a+12|0;g=0;h=c;i=b;while(1){if((pA(f[l>>2]|0,d,0)|0)<0){e=3;break}j=kb[f[5156>>2]&127](f[l>>2]|0,i,h)|0;if((h|0)==(j|0)){e=10;break}if((j|0)<0){k=mz()|0;if((f[k>>2]|0)==4)k=1;else{e=7;break}}else{d=KA(d|0,e|0,j|0,((j|0)<0)<<31>>31|0)|0;e=ba()|0;k=j;g=j+g|0;h=h-j|0;i=(j|0)==0?i:i+j|0}if((k|0)<=0){h=0;e=10;break}}if((e|0)==3){g=mz()|0;f[a+20>>2]=f[g>>2];g=-1}else if((e|0)==7){h=mz()|0;f[a+20>>2]=f[h>>2];h=j;g=0;e=10}if((e|0)==10)g=g+h|0;if((g|0)==(c|0)){c=0;return c|0}if((g|0)<0){c=266;return c|0}f[a+20>>2]=0;_A(b+g|0,0,c-g|0)|0;c=522;return c|0}function cd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;i=a+12|0;j=c;h=e;a:while(1){c=f[i>>2]|0;g=j&131071;while(1){if((pA(c,d,0)|0)<0){e=-1;b=6;break a}e=kb[f[5192>>2]&127](c,b,g)|0;if((e|0)>=0)break;k=mz()|0;if((f[k>>2]|0)!=4){b=6;break a}}c=(j|0)>(e|0);if(!(c&(e|0)!=0)){b=9;break}k=KA(d|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;j=j-e|0;b=b+e|0;h=ba()|0;d=k}if((b|0)==6){c=a+20|0;b=mz()|0;b=f[b>>2]|0;f[c>>2]=b;if((j|0)<=(e|0)){k=0;return k|0}if((b|0)!=28){k=778;return k|0}}else if((b|0)==9)if(c)c=a+20|0;else{k=0;return k|0}f[c>>2]=0;k=13;return k|0}function dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=t;t=t+32|0;h=j;e=f[a+40>>2]|0;g=((e|0)<0)<<31>>31;c=KA(b|0,c|0,-1,-1)|0;c=KA(c|0,ba()|0,e|0,g|0)|0;d=ba()|0;if((e|0)>0){b=RA(c|0,d|0,e|0,g|0)|0;b=LA(c|0,d|0,b|0,ba()|0)|0;ba()|0}c=f[a+12>>2]|0;do{d=jb[f[5132>>2]&255](c,b)|0;if((d|0)>=0){i=6;break}g=mz()|0}while((f[g>>2]|0)==4);if((i|0)==6?(d|0)==0:0){i=0;t=j;return i|0}g=mz()|0;f[a+20>>2]=f[g>>2];a=f[a+32>>2]|0;g=mz()|0;g=f[g>>2]|0;i=Dz(g)|0;f[h>>2]=36097;f[h+4>>2]=g;f[h+8>>2]=40666;f[h+12>>2]=(a|0)==0?72788:a;f[h+16>>2]=i;Ac(1546,40599,h);i=1546;t=j;return i|0}function ed(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0;h=t;t=t+48|0;g=h+24|0;b=h;e=h+44|0;if(rA(f[a+12>>2]|0)|0){e=mz()|0;f[a+20>>2]=f[e>>2];e=f[a+32>>2]|0;a=mz()|0;a=f[a>>2]|0;g=Dz(a)|0;f[b>>2]=36052;f[b+4>>2]=a;f[b+8>>2]=40974;f[b+12>>2]=(e|0)==0?72788:e;f[b+16>>2]=g;Ac(1034,40599,b);g=1034;t=h;return g|0}c=a+18|0;if(!(d[c>>1]&8)){g=0;t=h;return g|0}b=a+32|0;if((jb[f[5264>>2]&255](f[b>>2]|0,e)|0)==0?(rA(f[e>>2]|0)|0,ib[f[5072>>2]&255](f[e>>2]|0)|0):0){a=f[b>>2]|0;b=mz()|0;b=f[b>>2]|0;e=Dz(b)|0;f[g>>2]=36066;f[g+4>>2]=b;f[g+8>>2]=40630;f[g+12>>2]=(a|0)==0?72788:a;f[g+16>>2]=e;Ac(4106,40599,g)}d[c>>1]=d[c>>1]&-9;g=0;t=h;return g|0}function fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=t;t=t+80|0;c=d;if(!(jb[f[5120>>2]&255](f[a+12>>2]|0,c)|0)){a=f[c+36>>2]|0;e=(a|0)==1;c=b;f[c>>2]=e?0:a;f[c+4>>2]=e?0:((a|0)<0)<<31>>31;c=0;t=d;return c|0}else{e=mz()|0;f[a+20>>2]=f[e>>2];e=1802;t=d;return e|0}return 0}function gd(a,c){a=a|0;c=c|0;var d=0,e=0;d=f[a+24>>2]|0;e=a+16|0;if(b[e>>0]|0){b[e>>0]=c;eb(d|0,0)|0;a=0;return a|0}d=jb[f[5276>>2]&255](d,511)|0;if((d|0)>=0){b[e>>0]=c;a=d;return a|0}c=mz()|0;c=f[c>>2]|0;switch(c|0){case 1:{d=3;break}case 37:case 4:case 16:case 110:case 11:case 13:case 17:{a=5;return a|0}default:d=3850}f[a+20>>2]=c;a=d;return a|0}function hd(a,c){a=a|0;c=c|0;var d=0,e=0;d=f[a+24>>2]|0;e=a+16|0;if((h[e>>0]|0|0)==(c|0)){a=0;return a|0}if((c|0)==1){b[e>>0]=1;a=0;return a|0}if((ib[f[5288>>2]&255](d)|0)>=0){b[e>>0]=0;a=0;return a|0}c=mz()|0;c=f[c>>2]|0;if((c|0)==2){a=0;return a|0}f[a+20>>2]=c;a=2058;return a|0}function id(a,b){a=a|0;b=b|0;a=(jb[f[5084>>2]&255](f[a+24>>2]|0,0)|0)==0&1;f[b>>2]=a;return 0}function jd(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;w=t;t=t+80|0;e=w;m=w+4|0;do switch(b|0){case 1:{f[c>>2]=h[a+16>>0];a=0;t=w;return a|0}case 4:{f[c>>2]=f[a+20>>2];a=0;t=w;return a|0}case 6:{f[a+40>>2]=f[c>>2];a=0;t=w;return a|0}case 5:{e=c;b=f[e>>2]|0;e=f[e+4>>2]|0;g=a+40|0;if((f[g>>2]|0)<=0){a=0;t=w;return a|0}o=a+12|0;a:do if(!(jb[f[5120>>2]&255](f[o>>2]|0,m)|0)){c=f[g>>2]|0;i=((c|0)<0)<<31>>31;b=KA(b|0,e|0,-1,-1)|0;b=KA(b|0,ba()|0,c|0,i|0)|0;k=ba()|0;i=RA(b|0,k|0,c|0,i|0)|0;i=LA(b|0,k|0,i|0,ba()|0)|0;k=ba()|0;b=f[m+36>>2]|0;c=((b|0)<0)<<31>>31;b:do if((k|0)>(c|0)|(k|0)==(c|0)&i>>>0>b>>>0?(p=f[m+40>>2]|0,n=b+-1+p-((b|0)%(p|0)|0)|0,l=((n|0)<0)<<31>>31,q=((p|0)<0)<<31>>31,r=KA(i|0,k|0,-1,-1)|0,s=ba()|0,u=KA(r|0,s|0,p|0,q|0)|0,v=ba()|0,(v|0)>(l|0)|(v|0)==(l|0)&u>>>0>n>>>0):0){e=l;b=n;c:while(1){n=(e|0)<(k|0)|(e|0)==(k|0)&b>>>0>>0;g=n?b:r;b=n?e:s;e=f[o>>2]|0;while(1){if((pA(e,g,0)|0)<0)break c;c=kb[f[5192>>2]&127](e,72788,1)|0;if((c|0)>=0)break;n=mz()|0;if((f[n>>2]|0)!=4)break c}b=KA(g|0,b|0,p|0,q|0)|0;e=ba()|0;if((c|0)!=1){b=778;break a}if(!((e|0)<(v|0)|(e|0)==(v|0)&b>>>0>>0))break b}b=mz()|0;f[a+20>>2]=f[b>>2];b=778;break a}while(0);a=0;t=w;return a|0}else b=1802;while(0);a=b;t=w;return a|0}case 10:{g=f[c>>2]|0;if((g|0)<0){f[c>>2]=(j[a+18>>1]|0)>>>2&1;a=0;t=w;return a|0}b=a+18|0;e=j[b>>1]|0;if(!g){d[b>>1]=e&65531;a=0;t=w;return a|0}else{d[b>>1]=e|4;a=0;t=w;return a|0}}case 13:{g=f[c>>2]|0;if((g|0)<0){f[c>>2]=(j[a+18>>1]|0)>>>4&1;a=0;t=w;return a|0}b=a+18|0;e=j[b>>1]|0;if(!g){d[b>>1]=e&65519;a=0;t=w;return a|0}else{d[b>>1]=e|16;a=0;t=w;return a|0}}case 12:{f[e>>2]=f[(f[a+4>>2]|0)+16>>2];a=wd(40840,e)|0;f[c>>2]=a;a=0;t=w;return a|0}case 16:{b=a+4|0;e=f[(f[b>>2]|0)+8>>2]|0;e=xd(e,((e|0)<0)<<31>>31)|0;if(!e){a=0;t=w;return a|0}yd(f[(f[b>>2]|0)+8>>2]|0,e)|0;f[c>>2]=e;a=0;t=w;return a|0}case 20:{b=a+8|0;if(f[b>>2]|0)if(!(jb[f[5108>>2]&255](f[a+32>>2]|0,m)|0)){b=(f[b>>2]|0)+8|0;b=(f[b+4>>2]|0?1:(f[b>>2]|0)!=(f[m+72>>2]|0))&1}else b=1;else b=0;f[c>>2]=b;a=0;t=w;return a|0}default:{a=12;t=w;return a|0}}while(0);return 0}function kd(a){a=a|0;var b=0,c=0;b=a+44|0;c=f[b>>2]|0;if(c|0)return c|0;if(d[a+18>>1]&16){c=a+48|0;f[c>>2]=f[c>>2]|4096}f[b>>2]=4096;c=4096;return c|0}function ld(a){a=a|0;var b=0,c=0;b=a+44|0;if(!(f[b>>2]|0)){if(d[a+18>>1]&16){c=a+48|0;f[c>>2]=f[c>>2]|4096}f[b>>2]=4096}return f[a+48>>2]|0}function md(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=t;t=t+48|0;i=r+16|0;n=r+8|0;m=r;p=r+24|0;q=f[a+36>>2]|0;g=f[q>>2]|0;o=(1<>2]|0;if(!h)g=0;else{g=0;do{if((h|0)!=(q|0))g=d[h+10>>1]|g;h=f[h+4>>2]|0}while((h|0)!=0)}h=o&65535;if(((o&(g&65535)|0)==0?(l=f[(f[(f[a+8>>2]|0)+40>>2]|0)+12>>2]|0,(l|0)>-1):0)?(d[p>>1]=2,d[p+2>>1]=0,f[p+4>>2]=b+120,f[p+8>>2]=c,c=f[1286]|0,f[m>>2]=p,(kb[c&127](l,13,m)|0)==-1):0){q=5;t=r;return q|0}p=~h;c=q+12|0;d[c>>1]=(j[c>>1]|0)&p;q=q+10|0;d[q>>1]=(j[q>>1]|0)&p;q=0;t=r;return q|0}g=f[g+32>>2]|0;h=(g|0)==0;if(!(e&4)){a:do if(!h){while(1){if(o&(j[g+12>>1]|0)|0){g=5;h=33;break}if(o&(j[g+10>>1]|0)|0){g=5;h=33;break}g=f[g+4>>2]|0;if(!g)break a}if((h|0)==33){t=r;return g|0}}while(0);g=f[(f[(f[a+8>>2]|0)+40>>2]|0)+12>>2]|0;if((g|0)>-1?(d[p>>1]=1,d[p+2>>1]=0,f[p+4>>2]=b+120,f[p+8>>2]=c,c=f[1286]|0,f[i>>2]=p,(kb[c&127](g,13,i)|0)==-1):0){q=5;t=r;return q|0}q=q+12|0;d[q>>1]=o|(j[q>>1]|0);q=0;t=r;return q|0}else{b:do if(h)g=0;else{h=0;while(1){if(o&(j[g+12>>1]|0)|0){g=5;break}h=d[g+10>>1]|h;g=f[g+4>>2]|0;if(!g){g=h;break b}}t=r;return g|0}while(0);if(((o&(g&65535)|0)==0?(k=f[(f[(f[a+8>>2]|0)+40>>2]|0)+12>>2]|0,(k|0)>-1):0)?(d[p>>1]=0,d[p+2>>1]=0,f[p+4>>2]=b+120,f[p+8>>2]=c,c=f[1286]|0,f[n>>2]=p,(kb[c&127](k,13,n)|0)==-1):0){q=5;t=r;return q|0}q=q+10|0;d[q>>1]=o|(j[q>>1]|0);q=0;t=r;return q|0}return 0}function nd(a){a=a|0;return}function od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;d=a+36|0;e=f[d>>2]|0;if(!e)return 0;g=f[e>>2]|0;c=g+32|0;while(1){h=f[c>>2]|0;if((h|0)==(e|0))break;else c=h+4|0}f[c>>2]=f[e+4>>2];if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{h=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}f[d>>2]=0;e=g+28|0;h=(f[e>>2]|0)+-1|0;f[e>>2]=h;if(h|0)return 0;if(b|0?(f[g+12>>2]|0)>-1:0)ib[f[5252>>2]&255](f[g+8>>2]|0)|0;rd(a);return 0}function pd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[e>>2]=0;return 0}function qd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function rd(a){a=a|0;var b=0,c=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0;n=t;t=t+32|0;m=n;l=f[(f[a+8>>2]|0)+40>>2]|0;if(!l){t=n;return}if(f[l+28>>2]|0){t=n;return}c=hb[f[5360>>2]&127]()|0;c=(c|0)<32768?1:(c|0)/32768|0;g=l+20|0;if(!(d[g>>1]|0))b=l+24|0;else{h=l+12|0;b=l+24|0;i=l+16|0;e=0;do{do if((f[h>>2]|0)<=-1){k=f[(f[b>>2]|0)+(e<<2)>>2]|0;if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{o=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}else jb[f[5336>>2]&255](f[(f[b>>2]|0)+(e<<2)>>2]|0,f[i>>2]|0)|0;while(0);e=e+c|0}while((e|0)<(j[g>>1]|0))}b=f[b>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{o=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);c=l+12|0;b=f[c>>2]|0;if((b|0)>-1){if(ib[f[5072>>2]&255](b)|0){if(!a)b=0;else b=f[a+32>>2]|0;a=mz()|0;a=f[a>>2]|0;o=Dz(a)|0;f[m>>2]=36721;f[m+4>>2]=a;f[m+8>>2]=40630;f[m+12>>2]=(b|0)==0?72788:b;f[m+16>>2]=o;Ac(4106,40599,m)}f[c>>2]=-1}f[(f[l>>2]|0)+40>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);t=n;return}else{o=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);t=n;return}}function sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=t;t=t+16|0;e=d;f[e>>2]=c;c=Iz(a,b,e)|0;t=d;return c|0}function td(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=t;t=t+576|0;g=j+552|0;h=j+536|0;d=j+528|0;k=j+520|0;e=j;f[k>>2]=a;vd(512,e,40840,k)|0;a=wz(e)|0;a:do if((a|0)>0)while(1){if((b[e+a>>0]|0)==47)break a;if((a|0)>1)a=a+-1|0;else{i=5;break}}else i=5;while(0);if((i|0)==5)if((b[e>>0]|0)==47)a=1;else{b[e>>0]=46;a=1}b[e+a>>0]=0;while(1){a=kb[f[5060>>2]&127](e,524288,420)|0;if((a|0)<0){k=mz()|0;if((f[k>>2]|0)!=4){i=14;break}}else{if((a|0)>2){i=13;break}ib[f[5072>>2]&255](a)|0;f[d>>2]=e;f[d+4>>2]=a;Ac(28,40843,d);if((kb[f[5060>>2]&127](40886,0,0)|0)<0){a=-1;i=14;break}}}if((i|0)==13){f[c>>2]=a;k=0;t=j;return k|0}else if((i|0)==14){f[c>>2]=a;f[h>>2]=40896;f[h+4>>2]=36011;f[h+8>>2]=40460;Ac(14,40408,h);i=mz()|0;i=f[i>>2]|0;k=Dz(i)|0;f[g>>2]=36011;f[g+4>>2]=i;f[g+8>>2]=40747;f[g+12>>2]=e;f[g+16>>2]=k;Ac(14,40599,g);k=14;t=j;return k|0}return 0}function ud(){return ab(30)|0}function vd(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0;j=t;t=t+48|0;h=j+16|0;i=j;f[i>>2]=g;if((a|0)<1){t=j;return c|0}f[h+4>>2]=c;f[h>>2]=0;f[h+8>>2]=a;g=h+12|0;f[g>>2]=0;f[g+4>>2]=0;d[g+8>>1]=0;Bc(h,e,i);b[c+(f[h+16>>2]|0)>>0]=0;t=j;return c|0}function wd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=t;t=t+112|0;j=k+88|0;h=k;if(Mc()|0){j=0;t=k;return j|0}f[h>>2]=c;do if(!(Mc()|0)){i=j+4|0;f[i>>2]=k+16;f[j>>2]=0;f[j+8>>2]=70;d=j+12|0;f[d>>2]=1e9;e=j+16|0;f[e>>2]=0;b[j+20>>0]=0;g=j+21|0;b[g>>0]=0;Bc(j,a,h);c=f[i>>2]|0;if((c|0?(b[c+(f[e>>2]|0)>>0]=0,f[d>>2]|0):0)?(b[g>>0]&4)==0:0){c=Cc(j)|0;break}c=f[i>>2]|0}else c=0;while(0);j=c;t=k;return j|0}function xd(a,b){a=a|0;b=b|0;var c=0,d=0;c=(Mc()|0)!=0;b=KA(a|0,b|0,-1,-1)|0;d=ba()|0;if(d>>>0>0|(d|0)==0&b>>>0>2147483390|c){d=0;return d|0}if(!(f[9328]|0)){d=ib[f[37356>>2]&255](a)|0;return d|0}c=ib[f[37372>>2]&255](a)|0;if((f[18194]|0)>>>0>>0)f[18194]=a;a=71896;b=f[a>>2]|0;a=f[a+4>>2]|0;if((a|0)>0|(a|0)==0&b>>>0>0){d=f[18187]|0;a=LA(b|0,a|0,c|0,((c|0)<0)<<31>>31|0)|0;b=ba()|0;f[17976]=((b|0)<0|(b|0)==0&a>>>0<=d>>>0)&1}a=ib[f[37356>>2]&255](c)|0;if(!a){d=0;return d|0}b=ib[f[37368>>2]&255](a)|0;b=(f[18187]|0)+b|0;f[18187]=b;if(b>>>0>(f[18191]|0)>>>0)f[18191]=b;b=(f[18190]|0)+1|0;f[18190]=b;if(b>>>0<=(f[18196]|0)>>>0){d=a;return d|0}f[18196]=b;d=a;return d|0}function yd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=t;t=t+112|0;j=k+80|0;i=k;b[c>>0]=0;d=f[17978]|0;if(!(f[1352]|0)){g=Ua(40913)|0;f[1352]=g}if(!(f[1353]|0)){g=Ua(40927)|0;f[1353]=g}e=i+12|0;g=d;d=0;while(1){if(((g|0?(jb[f[5108>>2]&255](g,i)|0)==0:0)?(f[e>>2]&61440|0)==16384:0)?(jb[f[5084>>2]&255](g,3)|0)==0:0)break;if(d>>>0>5){h=11;break}g=f[5408+(d<<2)>>2]|0;d=d+1|0}if((h|0)==11){j=6410;t=k;return j|0}e=c+(a+-2)|0;d=0;while(1){zd(8,i);b[e>>0]=0;l=i;m=f[l>>2]|0;l=f[l+4>>2]|0;f[j>>2]=g;h=j+8|0;f[h>>2]=m;f[h+4>>2]=l;f[j+16>>2]=0;vd(a,c,40934,j)|0;if(d>>>0>10|(b[e>>0]|0)!=0){d=1;h=16;break}if(!(jb[f[5084>>2]&255](c,0)|0))d=d+1|0;else{d=0;h=16;break}}if((h|0)==16){t=k;return d|0}return 0}function zd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;i=t;t=t+256|0;g=i;if(Mc()|0){t=i;return}if((a|0)<1|(c|0)==0){b[72791]=0;t=i;return}if(!(b[72791]|0)){b[72793]=0;b[72792]=0;d=(Mc()|0)==0;d=d?f[18002]|0:0;kb[f[d+56>>2]&127](d,256,g)|0;d=0;do{b[72794+d>>0]=d;d=d+1|0}while((d|0)!=256);d=0;e=b[72793]|0;do{j=72794+d|0;m=b[j>>0]|0;l=(h[g+d>>0]|0)+(m&255)+(e&255)|0;e=l&255;l=72794+(l&255)|0;k=b[l>>0]|0;b[l>>0]=m;b[j>>0]=k;d=d+1|0}while((d|0)!=256);b[72793]=e;b[72791]=1}while(1){l=(b[72792]|0)+1<<24>>24;b[72792]=l;l=72794+(l&255)|0;j=b[l>>0]|0;m=j&255;k=(h[72793]|0)+m|0;b[72793]=k;k=72794+(k&255)|0;b[l>>0]=b[k>>0]|0;b[k>>0]=j;b[c>>0]=b[72794+((h[l>>0]|0)+m&255)>>0]|0;a=a+-1|0;if(!a)break;else c=c+1|0}t=i;return}function Ad(a,b){a=a|0;b=b|0;return 37820}function Bd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;e=t;t=t+32|0;d=e;b=a+12|0;c=f[b>>2]|0;if((c|0)>-1){if(ib[f[5072>>2]&255](c)|0){g=f[a+32>>2]|0;h=mz()|0;h=f[h>>2]|0;c=Dz(h)|0;f[d>>2]=34408;f[d+4>>2]=h;f[d+8>>2]=40630;f[d+12>>2]=(g|0)==0?72788:g;f[d+16>>2]=c;Ac(4106,40599,d)}f[b>>2]=-1}b=f[a+28>>2]|0;if(!b){b=a;c=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));t=e;return 0}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);b=a;c=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));t=e;return 0}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);b=a;c=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));t=e;return 0}return 0}function Cd(a,b){a=a|0;b=b|0;return 0}function Dd(a,b){a=a|0;b=b|0;return 0}function Ed(a,b){a=a|0;b=b|0;f[b>>2]=0;return 0}function Fd(a){a=a|0;var b=0,c=0,d=0;if((a|0)<1|(Mc()|0)!=0){c=0;return c|0}c=KA(a|0,((a|0)<0)<<31>>31|0,-1,-1)|0;b=ba()|0;if(b>>>0>0|(b|0)==0&c>>>0>2147483390){c=0;return c|0}if(!(f[9328]|0)){c=ib[f[37356>>2]&255](a)|0;return c|0}c=ib[f[37372>>2]&255](a)|0;if((f[18194]|0)>>>0>>0)f[18194]=a;b=71896;a=f[b>>2]|0;b=f[b+4>>2]|0;if((b|0)>0|(b|0)==0&a>>>0>0){d=f[18187]|0;b=LA(a|0,b|0,c|0,((c|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&b>>>0<=d>>>0)&1}b=ib[f[37356>>2]&255](c)|0;if(!b){d=0;return d|0}a=ib[f[37368>>2]&255](b)|0;a=(f[18187]|0)+a|0;f[18187]=a;if(a>>>0>(f[18191]|0)>>>0)f[18191]=a;a=(f[18190]|0)+1|0;f[18190]=a;if(a>>>0<=(f[18196]|0)>>>0){d=b;return d|0}f[18196]=a;d=b;return d|0}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=t;t=t+96|0;h=k;i=k+8|0;j=(c|0)!=0;e=j?c:420;g=b|524288;while(1){d=kb[f[5060>>2]&127](a,g,e)|0;if((d|0)<0){l=mz()|0;if((f[l>>2]|0)!=4){a=13;break}}else{if((d|0)>2){a=7;break}ib[f[5072>>2]&255](d)|0;f[h>>2]=a;f[h+4>>2]=d;Ac(28,40843,h);if((kb[f[5060>>2]&127](40886,b,c)|0)<0){d=-1;a=13;break}}}if((a|0)==7){if(!j){l=d;t=k;return l|0}if(((jb[f[5120>>2]&255](d,i)|0)==0?(f[i+36>>2]|0)==0:0)?(f[i+12>>2]&511|0)!=(c|0):0)jb[f[5228>>2]&255](d,c)|0;l=d;t=k;return l|0}else if((a|0)==13){t=k;return d|0}return 0}function Hd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0;i=t;t=t+16|0;e=i;a:do if(((h[a>>0]|0)+-48|0)>>>0<10){f[e>>2]=0;Pd(a,e)|0;d=f[e>>2]&255}else{g=wz(a)|0;e=(g&1073741823|0)==2;b:do if(!c){if(e){if(!(Qd(5440,a,2)|0)){d=0;break}if(!(Qd(5441,a,2)|0)){d=1;break}else break a}switch(g&1073741823|0){case 3:{if(!(Qd(5442,a,3)|0)){d=2;break b}if(!(Qd(5449,a,3)|0)){d=4;break b}else break a}case 5:{if(!(Qd(5444,a,5)|0)){d=3;break b}if(!(Qd(5455,a,5)|0)){d=6;break b}else break a}case 4:{if(!(Qd(5452,a,4)|0)){d=5;break b}if(!(Qd(5460,a,4)|0)){d=7;break b}else break a}default:break a}}else{if(e){if(!(Qd(5440,a,2)|0)){d=0;break}if(!(Qd(5441,a,2)|0)){d=1;break}else break a}switch(g&1073741823|0){case 3:{if(!(Qd(5442,a,3)|0)){d=2;break b}if(!(Qd(5449,a,3)|0)){d=4;break b}else break a}case 5:if(!(Qd(5444,a,5)|0)){d=3;break b}else break a;case 4:if(!(Qd(5452,a,4)|0)){d=5;break b}else break a;default:break a}}while(0);d=b[41152+d>>0]|0}while(0);t=i;return d|0}function Id(a){a=a|0;var b=0,c=0,e=0,g=0,h=0,i=0,j=0;j=t;t=t+192|0;i=j+24|0;g=j+16|0;e=j+8|0;c=j;h=j+104|0;b=j+28|0;if(d[a+18>>1]&128){t=j;return}if(jb[f[5120>>2]&255](f[a+12>>2]|0,b)|0){f[c>>2]=f[a+32>>2];Ac(28,41024,c);t=j;return}switch(f[b+16>>2]|0){case 0:{f[e>>2]=f[a+32>>2];Ac(28,41048,e);t=j;return}case 1:{c=a+8|0;if(!(f[c>>2]|0)){t=j;return}b=a+32|0;if(!(jb[f[5108>>2]&255](f[b>>2]|0,h)|0)){a=(f[c>>2]|0)+8|0;if((f[a+4>>2]|0)==0?(f[a>>2]|0)==(f[h+72>>2]|0):0){t=j;return}}f[i>>2]=f[b>>2];Ac(28,41104,i);t=j;return}default:{f[g>>2]=f[a+32>>2];Ac(28,41077,g);t=j;return}}}function Jd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=t;t=t+48|0;i=j+24|0;g=j;h=a+8|0;e=f[h>>2]|0;Id(a);Ld(a,0)|0;h=f[h>>2]|0;if(f[e+24>>2]|0){e=a+28|0;c=f[e>>2]|0;d=h+32|0;f[c+8>>2]=f[d>>2];f[d>>2]=c;f[a+12>>2]=-1;f[e>>2]=0}do if(h|0?(d=h+36|0,e=(f[d>>2]|0)+-1|0,f[d>>2]=e,(e|0)==0):0){d=h+32|0;b=f[d>>2]|0;if(b|0){e=a+32|0;do{c=b;b=f[b+8>>2]|0;if(ib[f[5072>>2]&255](f[c>>2]|0)|0){l=f[e>>2]|0;m=mz()|0;m=f[m>>2]|0;k=Dz(m)|0;f[g>>2]=33628;f[g+4>>2]=m;f[g+8>>2]=40630;f[g+12>>2]=(l|0)==0?72788:l;f[g+16>>2]=k;Ac(4106,40599,g)}if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((b|0)!=0)}f[d>>2]=0;d=f[h+48>>2]|0;c=h+44|0;b=f[c>>2]|0;if(!d)f[18029]=b;else{f[d+44>>2]=b;b=f[c>>2]|0}if(b|0)f[b+48>>2]=d;if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{m=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}}while(0);b=a+12|0;c=f[b>>2]|0;if((c|0)>-1){if(ib[f[5072>>2]&255](c)|0){l=f[a+32>>2]|0;k=mz()|0;k=f[k>>2]|0;m=Dz(k)|0;f[i>>2]=34408;f[i+4>>2]=k;f[i+8>>2]=40630;f[i+12>>2]=(l|0)==0?72788:l;f[i+16>>2]=m;Ac(4106,40599,i)}f[b>>2]=-1}b=f[a+28>>2]|0;if(!b){b=a;c=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));t=j;return 0}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);b=a;c=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));t=j;return 0}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);b=a;c=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));t=j;return 0}return 0}function Kd(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+96|0;r=D+56|0;u=D+48|0;q=D+40|0;s=D+32|0;l=D+24|0;m=D+16|0;h=D+8|0;j=D;z=D+80|0;y=D+64|0;C=a+16|0;g=b[C>>0]|0;if((g&255|0)>=(c|0)){a=0;t=D;return a|0}x=a+8|0;w=f[x>>2]|0;B=w+28|0;e=b[B>>0]|0;if(g<<24>>24!=e<<24>>24?(c|0)>1|(e&255)>2:0){a=5;t=D;return a|0}k=(c|0)==1;do if(!k){e=y+8|0;f[e>>2]=1;d[y+2>>1]=0;if((c|0)==4)if((g&255)<3){o=e;A=10}else A=43;else A=42}else{if((e+-1&255)>=2){o=y+8|0;f[o>>2]=1;d[y+2>>1]=0;A=10;break}b[C>>0]=1;a=w+20|0;f[a>>2]=(f[a>>2]|0)+1;a=w+24|0;f[a>>2]=(f[a>>2]|0)+1;a=0;t=D;return a|0}while(0);a:do if((A|0)==10){d[y>>1]=(k^1)&1;n=y+4|0;f[n>>2]=1073741824;p=a+18|0;do if((d[p>>1]&3)==1){g=w+29|0;if(!(b[g>>0]|0)){d[z+2>>1]=0;f[z+4>>2]=1073741826;f[z+8>>2]=510;d[z>>1]=1;A=f[1286]|0;e=f[a+12>>2]|0;f[j>>2]=z;e=kb[A&127](e,13,j)|0;if((e|0)<0){A=17;break}else{b[g>>0]=1;i=w+24|0;f[i>>2]=(f[i>>2]|0)+1;i=e;A=16;break}}}else{A=f[1286]|0;i=f[a+12>>2]|0;f[h>>2]=y;i=kb[A&127](i,13,h)|0;A=16}while(0);if((A|0)==16?i|0:0)A=17;if((A|0)==17){g=mz()|0;g=f[g>>2]|0;switch(g|0){case 1:{e=3;break}case 37:case 4:case 16:case 110:case 11:case 13:{a=5;t=D;return a|0}default:e=3850}f[a+20>>2]=g;a=e;t=D;return a|0}if(k){e=1073741826;f[n>>2]=e;f[o>>2]=510;h=f[x>>2]|0;do if((d[p>>1]&3)==1){g=h+29|0;if(!(b[g>>0]|0)){d[z+2>>1]=0;f[z+4>>2]=e;f[z+8>>2]=510;d[z>>1]=1;A=f[1286]|0;e=f[a+12>>2]|0;f[m>>2]=z;e=kb[A&127](e,13,m)|0;if((e|0)<0){A=28;break}else{b[g>>0]=1;A=h+24|0;f[A>>2]=(f[A>>2]|0)+1;A=27;break}}else{e=0;g=0}}else{A=f[1286]|0;e=f[a+12>>2]|0;f[l>>2]=y;e=kb[A&127](e,13,l)|0;A=27}while(0);if((A|0)==27)if(!e){e=0;g=0}else A=28;b:do if((A|0)==28){e=mz()|0;e=f[e>>2]|0;switch(e|0){case 37:case 4:case 16:case 110:case 11:case 13:{g=5;break b}case 1:{e=1;g=3;break b}default:{g=3850;break b}}}while(0);f[n>>2]=1073741824;f[o>>2]=1;d[y>>1]=2;j=f[x>>2]|0;do if((d[p>>1]&3)==1){i=j+29|0;if(!(b[i>>0]|0)){d[z+2>>1]=0;f[z+4>>2]=1073741826;f[z+8>>2]=510;d[z>>1]=1;A=f[1286]|0;h=f[a+12>>2]|0;f[s>>2]=z;h=kb[A&127](h,13,s)|0;if((h|0)<0){A=37;break}else{b[i>>0]=1;A=j+24|0;f[A>>2]=(f[A>>2]|0)+1;A=37;break}}else A=39}else{A=f[1286]|0;h=f[a+12>>2]|0;f[q>>2]=y;h=kb[A&127](h,13,q)|0;A=37}while(0);if((A|0)==37)if((g|0)==0&(h|0)!=0){e=mz()|0;g=2058;e=f[e>>2]|0}else A=39;c:do if((A|0)==39)switch(g&4095){case 0:{b[C>>0]=1;A=w+24|0;f[A>>2]=(f[A>>2]|0)+1;f[w+20>>2]=1;A=58;break a}case 5:{a=5;t=D;return a|0}default:break c}while(0);f[a+20>>2]=e;a=g;t=D;return a|0}else{e=o;A=42}}while(0);if((A|0)==42)if((c|0)!=4){d[y>>1]=1;if((c|0)==2){h=1073741825;i=1073741824;g=1;A=48}else{g=1073741824;A=47}}else A=43;if((A|0)==43)if((f[w+20>>2]|0)>1){e=5;A=60}else{d[y>>1]=1;g=1073741824;A=47}if((A|0)==47){h=g+2|0;i=g;g=510;A=48}d:do if((A|0)==48){f[y+4>>2]=h;f[e>>2]=g;h=f[x>>2]|0;do if((d[a+18>>1]&3)==1){g=h+29|0;if(b[g>>0]|0){A=58;break d}d[z+2>>1]=0;f[z+4>>2]=i+2;f[z+8>>2]=510;d[z>>1]=1;y=f[1286]|0;e=f[a+12>>2]|0;f[u>>2]=z;e=kb[y&127](e,13,u)|0;if((e|0)<0)break;else{b[g>>0]=1;v=h+24|0;f[v>>2]=(f[v>>2]|0)+1;v=e;A=54;break}}else{A=f[1286]|0;v=f[a+12>>2]|0;f[r>>2]=y;v=kb[A&127](v,13,r)|0;A=54}while(0);if((A|0)==54?(v|0)==0:0){A=58;break}g=mz()|0;g=f[g>>2]|0;switch(g|0){case 37:case 4:case 16:case 110:case 11:case 13:{e=5;break}case 1:{e=3;A=57;break}default:{e=3850;A=57}}if((A|0)==57)f[a+20>>2]=g;if((c|0)==4)A=60;else{a=e;t=D;return a|0}}while(0);if((A|0)==58){a=c&255;b[C>>0]=a;b[B>>0]=a;a=0;t=D;return a|0}else if((A|0)==60){b[C>>0]=3;b[B>>0]=3;a=e;t=D;return a|0}return 0}function Ld(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=t;t=t+112|0;z=A+48|0;r=A+40|0;u=A+32|0;n=A+24|0;o=A+16|0;k=A+8|0;l=A;s=A+88|0;q=A+72|0;y=a+16|0;e=b[y>>0]|0;if((e&255|0)<=(c|0)){z=0;t=A;return z|0}w=a+8|0;x=f[w>>2]|0;do if((e&255)>1){a:do if((c|0)==1){d[q>>1]=0;j=q+2|0;d[j>>1]=0;i=1073741826;h=q+4|0;f[h>>2]=i;g=q+8|0;f[g>>2]=510;e=a+18|0;do if((d[e>>1]&3)==1){k=x+29|0;if(b[k>>0]|0){i=x;break a}d[s+2>>1]=0;f[s+4>>2]=i;f[s+8>>2]=510;d[s>>1]=1;B=f[1286]|0;i=f[a+12>>2]|0;f[l>>2]=s;i=kb[B&127](i,13,l)|0;if((i|0)<0)break;else{b[k>>0]=1;m=x+24|0;f[m>>2]=(f[m>>2]|0)+1;m=i;v=11;break}}else{v=f[1286]|0;m=f[a+12>>2]|0;f[k>>2]=q;m=kb[v&127](m,13,k)|0;v=11}while(0);if((v|0)==11?(m|0)==0:0){i=f[w>>2]|0;break}B=mz()|0;f[a+20>>2]=f[B>>2];B=2314;t=A;return B|0}else{j=q+2|0;h=q+4|0;g=q+8|0;e=a+18|0;i=x}while(0);d[q>>1]=2;d[j>>1]=0;f[h>>2]=1073741824;f[g>>2]=2;do if((d[e>>1]&3)==1){g=i+29|0;if(!(b[g>>0]|0)){d[s+2>>1]=0;f[s+4>>2]=1073741826;f[s+8>>2]=510;d[s>>1]=1;B=f[1286]|0;e=f[a+12>>2]|0;f[o>>2]=s;e=kb[B&127](e,13,o)|0;if((e|0)<0)break;else{b[g>>0]=1;p=i+24|0;f[p>>2]=(f[p>>2]|0)+1;p=e;v=20;break}}else v=21}else{v=f[1286]|0;p=f[a+12>>2]|0;f[n>>2]=q;p=kb[v&127](p,13,n)|0;v=20}while(0);if((v|0)==20?(p|0)==0:0)v=21;if((v|0)==21){b[x+28>>0]=1;break}B=mz()|0;f[a+20>>2]=f[B>>2];B=2058;t=A;return B|0}while(0);if(!c){v=x+20|0;B=(f[v>>2]|0)+-1|0;f[v>>2]=B;if(!B){d[q>>1]=2;d[q+2>>1]=0;f[q+8>>2]=0;f[q+4>>2]=0;h=f[w>>2]|0;do if((d[a+18>>1]&3)==1){g=h+29|0;if(!(b[g>>0]|0)){d[s+2>>1]=0;f[s+4>>2]=1073741826;f[s+8>>2]=510;d[s>>1]=1;B=f[1286]|0;e=f[a+12>>2]|0;f[u>>2]=s;e=kb[B&127](e,13,u)|0;if((e|0)<0){v=33;break}else{b[g>>0]=1;v=h+24|0;f[v>>2]=(f[v>>2]|0)+1;v=31;break}}else v=32}else{v=f[1286]|0;e=f[a+12>>2]|0;f[r>>2]=q;e=kb[v&127](e,13,r)|0;v=31}while(0);if((v|0)==31)if(!e)v=32;else v=33;if((v|0)==32){e=0;g=x+28|0}else if((v|0)==33){e=mz()|0;f[a+20>>2]=f[e>>2];b[x+28>>0]=0;e=2058;g=y}b[g>>0]=0;j=e}else j=0;x=x+24|0;B=(f[x>>2]|0)+-1|0;f[x>>2]=B;if(!B){i=(f[w>>2]|0)+32|0;e=f[i>>2]|0;if(e|0){h=a+32|0;do{g=e;e=f[e+8>>2]|0;if(ib[f[5072>>2]&255](f[g>>2]|0)|0){a=f[h>>2]|0;x=mz()|0;x=f[x>>2]|0;B=Dz(x)|0;f[z>>2]=33628;f[z+4>>2]=x;f[z+8>>2]=40630;f[z+12>>2]=(a|0)==0?72788:a;f[z+16>>2]=B;Ac(4106,40599,z)}if(!(f[9328]|0))ob[f[37360>>2]&127](g);else{B=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g)}}while((e|0)!=0)}f[i>>2]=0}if(j|0){B=j;t=A;return B|0}}b[y>>0]=c;B=0;t=A;return B|0}function Md(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0;j=t;t=t+32|0;g=j;i=j+8|0;e=f[a+8>>2]|0;if((h[e+28>>0]|0)>1){i=0;g=1;f[c>>2]=g;t=j;return i|0}if(b[e+29>>0]|0){i=0;g=0;f[c>>2]=g;t=j;return i|0}d[i+2>>1]=0;f[i+4>>2]=1073741825;f[i+8>>2]=1;d[i>>1]=1;k=f[1286]|0;e=f[a+12>>2]|0;f[g>>2]=i;if(!(kb[k&127](e,12,g)|0)){e=0;a=(d[i>>1]|0)!=2&1}else{e=mz()|0;f[a+20>>2]=f[e>>2];e=3594;a=0}k=e;i=a;f[c>>2]=i;t=j;return k|0}function Nd(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=t;t=t+176|0;D=E+72|0;z=E+48|0;w=E+24|0;v=E+8|0;r=E;y=E+92|0;C=hb[f[5360>>2]&127]()|0;C=(C|0)<32768?1:(C|0)/32768|0;x=a+36|0;i=f[x>>2]|0;if(!i){if(Mc()|0){h=7;t=E;return h|0}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](16)|0;if(!i){h=7;t=E;return h|0}else u=i}else{i=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){u=f[18187]|0;q=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;p=ba()|0;f[17976]=((p|0)<0|(p|0)==0&q>>>0<=u>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(!k){h=7;t=E;return h|0}i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;u=k}else u=k};f[u>>2]=0;f[u+4>>2]=0;f[u+8>>2]=0;f[u+12>>2]=0;o=a+8|0;p=f[o>>2]|0;k=f[p+40>>2]|0;a:do if(!k){n=a+32|0;l=f[n>>2]|0;b:do if(!(jb[f[5120>>2]&255](f[a+12>>2]|0,y)|0)){m=wz(l)|0;i=m+42|0;k=xd(i,0)|0;if(!k)i=7;else{_A(k|0,0,i|0)|0;q=k+36|0;f[k+8>>2]=q;f[r>>2]=l;vd(m+6|0,q,41132,r)|0;l=k+12|0;f[l>>2]=-1;r=f[o>>2]|0;f[r+40>>2]=k;f[k>>2]=r;if(f[9329]|0)f[k+4>>2]=8;if(!(b[p+29>>0]|0)){i=f[n>>2]|0;c:do if((i|0)!=0?(s=i+(((wz(i)|0)&1073741823)+1)|0,(b[s>>0]|0)!=0):0){i=s;while(1){s=tz(i,41139)|0;i=i+(((wz(i)|0)&1073741823)+1)|0;if(!s)break;i=i+(((wz(i)|0)&1073741823)+1)|0;if(!(b[i>>0]|0)){B=26;break c}}if((Hd(i,1,0)|0)<<24>>24)m=f[l>>2]|0;else B=26}else B=26;while(0);if((B|0)==26){m=Gd(q,66,f[y+12>>2]&511)|0;f[l>>2]=m}do if((m|0)<0){m=Gd(q,0,f[y+12>>2]&511)|0;f[l>>2]=m;if((m|0)<0){f[v>>2]=40896;f[v+4>>2]=36901;f[v+8>>2]=40460;Ac(14,40408,v);h=mz()|0;h=f[h>>2]|0;i=Dz(h)|0;f[w>>2]=36901;f[w+4>>2]=h;f[w+8>>2]=40636;f[w+12>>2]=q;f[w+16>>2]=i;Ac(14,40599,w);i=14;break b}else{b[k+22>>0]=1;break}}while(0);i=f[y+20>>2]|0;l=f[y+24>>2]|0;if(!(hb[f[5312>>2]&127]()|0))kb[f[5300>>2]&127](m,i,l)|0;i=Od(a,k)|0;switch(i|0){case 0:case 1288:break;default:break b}}else i=0;break a}}else i=1802;while(0);rd(a);if(!(f[9328]|0)){ob[f[37360>>2]&127](u);h=i;t=E;return h|0}else{h=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);h=i;t=E;return h|0}}else i=0;while(0);f[u>>2]=k;w=k+28|0;f[w>>2]=(f[w>>2]|0)+1;f[x>>2]=u;x=k+32|0;f[u+4>>2]=f[x>>2];f[x>>2]=u;if(!i)i=u;else{h=i;t=E;return h|0}}u=f[i>>2]|0;i=u+23|0;do if(b[i>>0]|0){k=Od(a,u)|0;if(!k){b[i>>0]=0;B=44;break}else{i=u+20|0;break}}else B=44;while(0);if((B|0)==44){q=C+c|0;q=q-((q|0)%(C|0)|0)|0;s=u+20|0;if((q|0)>(j[s>>1]|0)){k=U(q,e)|0;f[u+16>>2]=e;r=u+12|0;i=f[r>>2]|0;d:do if((i|0)>-1)if(!(jb[f[5120>>2]&255](i,y)|0)){i=f[y+36>>2]|0;if((i|0)<(k|0))if(g){i=(i|0)/4096|0;n=(k|0)/4096|0;if((i|0)<(n|0)){e:while(1){k=f[r>>2]|0;l=i<<12|4095;while(1){if((pA(k,l,0)|0)<0){B=56;break e}m=kb[f[5192>>2]&127](k,72788,1)|0;if((m|0)>=0)break;g=mz()|0;if((f[g>>2]|0)!=4){B=56;break e}}i=i+1|0;if((m|0)!=1)break;if((i|0)>=(n|0)){B=59;break d}}D=f[u+8>>2]|0;e=mz()|0;e=f[e>>2]|0;i=Dz(e)|0;f[z>>2]=37045;f[z+4>>2]=e;f[z+8>>2]=40701;f[z+12>>2]=(D|0)==0?72788:D;f[z+16>>2]=i;Ac(4874,40599,z);i=4874}else B=59}else i=0;else B=59}else i=4874;else B=59;while(0);f:do if((B|0)==59){m=u+24|0;i=f[m>>2]|0;k=q<<2;if((Mc()|0)==0?(A=Nc(i,(k|0)>0?k:0,0)|0,(A|0)!=0):0){f[m>>2]=A;i=j[s>>1]|0;if((q|0)>(i|0)){n=U(C,e)|0;o=u+22|0;p=((n|0)<0)<<31>>31;g:do if((C|0)>0)while(1){k=f[r>>2]|0;if((k|0)>-1){i=U(i,e)|0;i=nb[f[5324>>2]&127](0,n,(b[o>>0]|0)==0?3:1,1,k,i)|0;if((i|0)==(-1|0))break g}else{i=xd(n,p)|0;if(!i){i=7;break f}_A(i|0,0,n|0)|0}l=j[s>>1]|0;k=0;do{B=i+(U(k,e)|0)|0;f[(f[m>>2]|0)+(k+l<<2)>>2]=B;k=k+1|0}while((k|0)!=(C|0));i=C+l|0;d[s>>1]=i;i=i&65535;if((q|0)<=(i|0)){i=0;break f}}else while(1){k=f[r>>2]|0;if((k|0)>-1){B=U(i,e)|0;if((nb[f[5324>>2]&127](0,n,(b[o>>0]|0)==0?3:1,1,k,B)|0)==(-1|0))break g}else{i=xd(n,p)|0;if(!i){i=7;break f}_A(i|0,0,n|0)|0}i=C+(j[s>>1]|0)|0;d[s>>1]=i;i=i&65535;if((q|0)<=(i|0)){i=0;break f}}while(0);e=f[u+8>>2]|0;C=mz()|0;C=f[C>>2]|0;i=Dz(C)|0;f[D>>2]=37072;f[D+4>>2]=C;f[D+8>>2]=40788;f[D+12>>2]=(e|0)==0?72788:e;f[D+16>>2]=i;Ac(5386,40599,D);i=5386}else i=0}else i=3082}while(0);k=i;i=s}else{k=0;i=s}}if((j[i>>1]|0)>(c|0))i=f[(f[u+24>>2]|0)+(c<<2)>>2]|0;else i=0;f[h>>2]=i;h=(k|0)==0&(b[u+22>>0]|0)!=0?8:k;t=E;return h|0}function Od(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=t;t=t+80|0;l=m+48|0;i=m+24|0;h=m+16|0;k=m;e=m+56|0;d[e+2>>1]=0;f[e+4>>2]=128;f[e+8>>2]=1;d[e>>1]=1;o=f[1286]|0;g=c+12|0;n=f[g>>2]|0;f[k>>2]=e;if(kb[o&127](n,12,k)|0){o=3850;t=m;return o|0}a:do switch(d[e>>1]|0){case 2:{if(b[c+22>>0]|0){b[c+23>>0]=1;o=1288;t=m;return o|0}a=a+8|0;e=f[(f[(f[a>>2]|0)+40>>2]|0)+12>>2]|0;if((e|0)>-1?(d[k>>1]=1,d[k+2>>1]=0,f[k+4>>2]=128,f[k+8>>2]=1,o=f[1286]|0,f[h>>2]=k,(kb[o&127](e,13,h)|0)==-1):0){o=5;t=m;return o|0}e=f[g>>2]|0;do{g=jb[f[5132>>2]&255](e,3)|0;if((g|0)>=0){j=12;break}o=mz()|0}while((f[o>>2]|0)==4);if((j|0)==12?(g|0)==0:0)break a;n=f[c+8>>2]|0;l=mz()|0;l=f[l>>2]|0;o=Dz(l)|0;f[i>>2]=36778;f[i+4>>2]=l;f[i+8>>2]=40666;f[i+12>>2]=(n|0)==0?72788:n;f[i+16>>2]=o;Ac(4618,40599,i);o=4618;t=m;return o|0}case 1:{o=5;t=m;return o|0}default:a=a+8|0}while(0);a=f[(f[(f[a>>2]|0)+40>>2]|0)+12>>2]|0;if((a|0)>-1){d[k>>1]=0;d[k+2>>1]=0;f[k+4>>2]=128;f[k+8>>2]=1;o=f[1286]|0;f[l>>2]=k;a=(kb[o&127](a,13,l)|0)==-1;a=a?5:0}else a=0;o=a;t=m;return o|0}function Pd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=b[a>>0]|0;a:do switch(d<<24>>24){case 45:{d=1;e=a+1|0;g=15;break}case 43:{d=0;e=a+1|0;g=15;break}case 48:{switch(b[a+1>>0]|0){case 88:case 120:break;default:{h=0;d=48;break a}}d=a+2|0;e=b[d>>0]|0;if(!(b[5472+(e&255)>>0]&8)){d=0;e=a;g=15}else{if(e<<24>>24==48){a=a+3|0;while(1){d=b[a>>0]|0;if(d<<24>>24==48)a=a+1|0;else{e=d;break}}}else a=d;if(!(b[5472+(e&255)>>0]&8)){d=0;a=1}else{g=0;d=0;do{h=e<<24>>24;d=(0-(h>>>6&1)&9)+h&15|d<<4;g=g+1|0;e=b[a+g>>0]|0;h=b[5472+(e&255)>>0]&8}while(g>>>0<8&h<<24>>24!=0);a=h<<24>>24==0}if(!((d|0)>-1&a)){c=0;return c|0}f[c>>2]=d;c=1;return c|0}break}default:h=0}while(0);if((g|0)==15){h=d;a=e;d=b[e>>0]|0}if(((d&255)+-48|0)>>>0>=10){c=0;return c|0}if(d<<24>>24==48)do{a=a+1|0;d=b[a>>0]|0}while(d<<24>>24==48);if((d+-48&255)<10){d=(d<<24>>24)+-48|0;g=((d|0)<0)<<31>>31;e=b[a+1>>0]|0;if((e+-48&255)<10){e=(e<<24>>24)+-48|0;d=QA(d|0,g|0,10,0)|0;d=KA(d|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;e=b[a+2>>0]|0;if((e+-48&255)<10){e=(e<<24>>24)+-48|0;d=QA(d|0,g|0,10,0)|0;d=KA(d|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;e=b[a+3>>0]|0;if((e+-48&255)<10){e=(e<<24>>24)+-48|0;d=QA(d|0,g|0,10,0)|0;d=KA(d|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;e=b[a+4>>0]|0;if((e+-48&255)<10){e=(e<<24>>24)+-48|0;d=QA(d|0,g|0,10,0)|0;d=KA(d|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;e=b[a+5>>0]|0;if((e+-48&255)<10){e=(e<<24>>24)+-48|0;d=QA(d|0,g|0,10,0)|0;d=KA(d|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;e=b[a+6>>0]|0;if((e+-48&255)<10){e=(e<<24>>24)+-48|0;d=QA(d|0,g|0,10,0)|0;d=KA(d|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;e=b[a+7>>0]|0;if((e+-48&255)<10){e=(e<<24>>24)+-48|0;d=QA(d|0,g|0,10,0)|0;d=KA(d|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;e=b[a+8>>0]|0;if((e+-48&255)<10){e=(e<<24>>24)+-48|0;d=QA(d|0,g|0,10,0)|0;d=KA(d|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;e=b[a+9>>0]|0;if((e+-48&255)<10){e=(e<<24>>24)+-48|0;d=QA(d|0,g|0,10,0)|0;d=KA(d|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;e=ba()|0;if(((b[a+10>>0]|0)+-48&255)<10){c=0;return c|0}else a=e}else a=g}else a=g}else a=g}else a=g}else a=g}else a=g}else a=g}else a=g}else a=g}else{d=0;a=0}g=LA(d|0,a|0,h|0,0)|0;e=ba()|0;if((e|0)>0|(e|0)==0&g>>>0>2147483647){c=0;return c|0}f[c>>2]=(h|0)==0?d:0-d|0;c=1;return c|0}function Qd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if(!a){f=((c|0)!=0)<<31>>31;return f|0}if(!c){f=1;return f|0}if((d|0)<=0){f=0;return f|0}e=d;while(1){d=b[a>>0]|0;if(!(d<<24>>24)){e=7;break}d=b[1232+(d&255)>>0]|0;f=b[1232+(h[c>>0]|0)>>0]|0;if(d<<24>>24!=f<<24>>24){e=9;break}if((e|0)>1){a=a+1|0;c=c+1|0;e=e+-1|0}else{a=0;e=12;break}}if((e|0)==7){d=0;a=b[1232+(h[c>>0]|0)>>0]|0}else if((e|0)==9){d=d&255;a=f}else if((e|0)==12)return a|0;f=d-(a&255)|0;return f|0}function Rd(a,b){a=a|0;b=b|0;return 37896}function Sd(a){a=a|0;var b=0;a=72012;b=a+100|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));a=(f[9378]|0)==0;f[18017]=a&1;b=f[9380]|0;f[18018]=a&(b|0)!=0?b:0;f[18006]=10;f[18016]=1;return 0}function Td(a){a=a|0;var b=0;a=72012;b=a+100|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=((f[18017]|0)*52|0)+64|0;h=KA(i|0,((i|0)<0)<<31>>31|0,-1,-1)|0;g=ba()|0;if(g>>>0>0|(g|0)==0&h>>>0>2147483390){d=0;return d|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](i)|0;if(!e){d=0;return d|0}else g=e}else{e=ib[f[37372>>2]&255](i)|0;if((f[18194]|0)>>>0>>0)f[18194]=i;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){j=f[18187]|0;h=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&h>>>0<=j>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(!g){j=0;return j|0}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}_A(g|0,0,i|0)|0;if(!(f[18017]|0))e=72012;else{f[g+76>>2]=10;e=g+64|0}h=e+20|0;i=e+33|0;if(!(b[i>>0]|0)){b[i>>0]=1;f[e+44>>2]=h;f[e+48>>2]=h}f[g>>2]=e;f[g+8>>2]=a;f[g+12>>2]=c;f[g+16>>2]=a+32+c;j=(d|0)!=0;f[g+20>>2]=j&1;fe(g);if(j){f[g+24>>2]=10;d=e+8|0;j=f[d>>2]|0;f[d>>2]=j+10;f[e+12>>2]=-10-j+10+(f[e+4>>2]|0);e=e+16|0}else e=72120;f[g+4>>2]=e;if(f[g+48>>2]|0){j=g;return j|0}$d(g);j=0;return j|0}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if(!(f[a+20>>2]|0))return;d=f[a>>2]|0;c=a+28|0;g=d+4|0;e=(f[g>>2]|0)+(b-(f[c>>2]|0))|0;f[g>>2]=e;f[d+12>>2]=e+10-(f[d+8>>2]|0);f[c>>2]=b;f[a+32>>2]=((b*9|0)>>>0)/10|0;be(a);return}function Wd(a){a=a|0;return f[a+44>>2]|0}function Xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[(f[a+52>>2]|0)+(((b>>>0)%((f[a+48>>2]|0)>>>0)|0)<<2)>>2]|0;a:do if(d|0){e=d;while(1){if((f[e+8>>2]|0)==(b|0))break;d=f[e+16>>2]|0;if(!d)break a;else e=d}d=e+24|0;a=f[d>>2]|0;if(!a){c=e;return c|0}c=e+28|0;b=f[c>>2]|0;f[b+24>>2]=a;f[(f[d>>2]|0)+28>>2]=b;f[d>>2]=0;f[c>>2]=0;c=(f[e+20>>2]|0)+40|0;f[c>>2]=(f[c>>2]|0)+-1;c=e;return c|0}while(0);if(!c){c=0;return c|0}c=ee(a,b,c)|0;return c|0}function Yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[a>>2]|0;if((c|0)==0?(f[d+16>>2]|0)>>>0<=(f[d+4>>2]|0)>>>0:0){c=d+44|0;f[b+28>>2]=d+20;d=f[c>>2]|0;f[b+24>>2]=d;f[d+28>>2]=b;f[c>>2]=b;b=a+40|0;f[b>>2]=(f[b>>2]|0)+1;return}c=f[b+20>>2]|0;a=(f[c+52>>2]|0)+((((f[b+8>>2]|0)>>>0)%((f[c+48>>2]|0)>>>0)|0)<<2)|0;while(1){e=f[a>>2]|0;d=e+16|0;if((e|0)==(b|0))break;else a=d}f[a>>2]=f[d>>2];e=c+44|0;f[e>>2]=(f[e>>2]|0)+-1;de(b);return}function Zd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;g=f[a+48>>2]|0;h=a+52|0;c=(f[h>>2]|0)+(((c>>>0)%(g>>>0)|0)<<2)|0;while(1){e=f[c>>2]|0;if((e|0)==(b|0))break;else c=e+16|0}e=b+16|0;f[c>>2]=f[e>>2];f[b+8>>2]=d;c=(f[h>>2]|0)+(((d>>>0)%(g>>>0)|0)<<2)|0;f[e>>2]=f[c>>2];f[c>>2]=b;c=a+36|0;if((f[c>>2]|0)>>>0>=d>>>0)return;f[c>>2]=d;return}function _d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=a+36|0;c=f[k>>2]|0;if(c>>>0>>0)return;l=a+48|0;d=f[l>>2]|0;if((c-b|0)>>>0>>0){e=(b>>>0)%(d>>>0)|0;i=(c>>>0)%(d>>>0)|0}else{i=d>>>1;e=i;i=i+-1|0}j=a+52|0;h=a+44|0;while(1){c=(f[j>>2]|0)+(e<<2)|0;d=f[c>>2]|0;if(d|0)do{do if((f[d+8>>2]|0)>>>0>=b>>>0){f[h>>2]=(f[h>>2]|0)+-1;f[c>>2]=f[d+16>>2];a=d+24|0;g=f[a>>2]|0;if(!g){de(d);break}else{m=d+28|0;n=f[m>>2]|0;f[n+24>>2]=g;f[(f[a>>2]|0)+28>>2]=n;f[a>>2]=0;f[m>>2]=0;g=(f[d+20>>2]|0)+40|0;f[g>>2]=(f[g>>2]|0)+-1;de(d);break}}else c=d+16|0;while(0);d=f[c>>2]|0}while((d|0)!=0);if((e|0)==(i|0))break;e=((e+1|0)>>>0)%((f[l>>2]|0)>>>0)|0}f[k>>2]=b+-1;return}function $d(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=f[a>>2]|0;k=a+44|0;a:do if(f[k>>2]|0){b=f[a+36>>2]|0;l=a+48|0;c=f[l>>2]|0;if(b>>>0>>0){d=0;h=(b>>>0)%(c>>>0)|0}else{h=c>>>1;d=h;h=h+-1|0}i=a+52|0;while(1){g=(f[i>>2]|0)+(d<<2)|0;b=f[g>>2]|0;if(b|0)do{f[k>>2]=(f[k>>2]|0)+-1;f[g>>2]=f[b+16>>2];c=b+24|0;e=f[c>>2]|0;if(!e)de(b);else{m=b+28|0;n=f[m>>2]|0;f[n+24>>2]=e;f[(f[c>>2]|0)+28>>2]=n;f[c>>2]=0;f[m>>2]=0;e=(f[b+20>>2]|0)+40|0;f[e>>2]=(f[e>>2]|0)+-1;de(b)}b=f[g>>2]|0}while((b|0)!=0);if((d|0)==(h|0))break a;d=((d+1|0)>>>0)%((f[l>>2]|0)>>>0)|0}}while(0);m=j+4|0;n=(f[m>>2]|0)-(f[a+28>>2]|0)|0;f[m>>2]=n;m=j+8|0;b=(f[m>>2]|0)-(f[a+24>>2]|0)|0;f[m>>2]=b;f[j+12>>2]=n+10-b;be(a);b=f[a+60>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{n=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+52>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{n=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{n=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function ae(a){a=a|0;var b=0,c=0;if(!(f[a+20>>2]|0))return;b=(f[a>>2]|0)+4|0;c=f[b>>2]|0;f[b>>2]=0;be(a);f[b>>2]=c;return}function be(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=f[a>>2]|0;c=e+48|0;d=e+16|0;e=e+4|0;a:do if((f[d>>2]|0)>>>0>(f[e>>2]|0)>>>0)do{g=f[c>>2]|0;if(b[g+13>>0]|0)break a;i=g+24|0;h=g+28|0;j=f[h>>2]|0;f[j+24>>2]=f[i>>2];f[(f[i>>2]|0)+28>>2]=j;f[i>>2]=0;f[h>>2]=0;h=(f[g+20>>2]|0)+40|0;f[h>>2]=(f[h>>2]|0)+-1;ce(g,1)}while((f[d>>2]|0)>>>0>(f[e>>2]|0)>>>0);while(0);if(f[a+44>>2]|0)return;c=a+60|0;d=f[c>>2]|0;if(!d)return;if(!(f[9328]|0))ob[f[37360>>2]&127](d);else{j=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d)}f[a+56>>2]=0;f[c>>2]=0;return}function ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=f[a+20>>2]|0;c=(f[e+52>>2]|0)+((((f[a+8>>2]|0)>>>0)%((f[e+48>>2]|0)>>>0)|0)<<2)|0;while(1){g=f[c>>2]|0;d=g+16|0;if((g|0)==(a|0))break;else c=d}f[c>>2]=f[d>>2];g=e+44|0;f[g>>2]=(f[g>>2]|0)+-1;if(!b)return;de(a);return}function de(a){a=a|0;var c=0,d=0;d=f[a+20>>2]|0;a:do if(!(b[a+12>>0]|0)){c=f[a>>2]|0;if(c|0){a=c;do if((f[18022]|0)>>>0<=a>>>0)if((f[18023]|0)>>>0>a>>>0){f[18188]=(f[18188]|0)+-1;f[c>>2]=f[18025];f[18025]=c;c=(f[18026]|0)+1|0;f[18026]=c;f[18027]=(c|0)<(f[18021]|0)&1;break a}else{a=ib[f[37368>>2]&255](c)|0;break}else a=ib[f[37368>>2]&255](c)|0;while(0);f[18189]=(f[18189]|0)-a;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}}else{c=d+56|0;f[a+16>>2]=f[c>>2];f[c>>2]=a}while(0);d=f[d+4>>2]|0;f[d>>2]=(f[d>>2]|0)+-1;return}function ee(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=f[a>>2]|0;q=a+44|0;i=f[q>>2]|0;g=f[a+40>>2]|0;h=i-g|0;if((d|0)==1){if(h>>>0>=(f[l+12>>2]|0)>>>0){c=0;return c|0}if(h>>>0>=(f[a+32>>2]|0)>>>0){c=0;return c|0}if((f[18020]|0)!=0?((f[a+12>>2]|0)+(f[a+8>>2]|0)|0)<=(f[18019]|0):0)d=72108;else d=71904;if(g>>>0>>0&(f[d>>2]|0)!=0){c=0;return c|0}}p=a+48|0;if(i>>>0>=(f[p>>2]|0)>>>0)fe(a);j=f[a+20>>2]|0;do if((j|0)!=0?(m=f[l+48>>2]|0,(b[m+13>>0]|0)==0):0){if(((f[q>>2]|0)+1|0)>>>0<(f[a+28>>2]|0)>>>0){if((f[18020]|0)!=0?((f[a+12>>2]|0)+(f[a+8>>2]|0)|0)<=(f[18019]|0):0)d=72108;else d=71904;if(!(f[d>>2]|0)){r=22;break}}h=m+20|0;g=f[h>>2]|0;k=m+8|0;d=(f[g+52>>2]|0)+((((f[k>>2]|0)>>>0)%((f[g+48>>2]|0)>>>0)|0)<<2)|0;while(1){s=f[d>>2]|0;i=s+16|0;if((s|0)==(m|0))break;else d=i}f[d>>2]=f[i>>2];d=g+44|0;f[d>>2]=(f[d>>2]|0)+-1;d=m+24|0;g=m+28|0;i=f[g>>2]|0;f[i+24>>2]=f[d>>2];f[(f[d>>2]|0)+28>>2]=i;f[d>>2]=0;f[g>>2]=0;i=f[h>>2]|0;s=i+40|0;f[s>>2]=(f[s>>2]|0)+-1;if((f[i+16>>2]|0)==(f[a+16>>2]|0)){e=l+16|0;f[e>>2]=j-(f[i+20>>2]|0)+(f[e>>2]|0);i=m;e=k;break}else{de(m);r=22;break}}else r=22;while(0);if((r|0)==22){m=a+56|0;d=f[m>>2]|0;do if(!d){if(((f[q>>2]|0)==0?(n=f[18018]|0,n|0):0)?(o=a+28|0,(f[o>>2]|0)>>>0>=3):0){if((n|0)>0){j=a+16|0;d=f[j>>2]|0;g=((d|0)<0)<<31>>31;h=QA(d|0,g|0,n|0,((n|0)<0)<<31>>31|0)|0;i=ba()|0}else{h=QA(n|0,((n|0)<0)<<31>>31|0,-1024,-1)|0;i=ba()|0;j=a+16|0;g=f[j>>2]|0;d=g;g=((g|0)<0)<<31>>31}d=QA(d|0,g|0,f[o>>2]|0,0)|0;s=ba()|0;o=(i|0)>(s|0)|(i|0)==(s|0)&h>>>0>d>>>0;d=o?d:h;s=KA(d|0,(o?s:i)|0,-1,-1)|0;o=ba()|0;do if(!(o>>>0>0|(o|0)==0&s>>>0>2147483390)){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](d)|0;break}h=ib[f[37372>>2]&255](d)|0;if((f[18194]|0)>>>0>>0)f[18194]=d;g=71896;d=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&d>>>0>0){s=f[18187]|0;o=LA(d|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&o>>>0<=s>>>0)&1}g=ib[f[37356>>2]&255](h)|0;if(g){d=ib[f[37368>>2]&255](g)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d}else g=0}else g=0;while(0);f[a+60>>2]=g;if(!g)d=f[m>>2]|0;else{d=ib[f[37368>>2]&255](g)|0;i=f[j>>2]|0;d=(d|0)/(i|0)|0;j=f[a+8>>2]|0;k=U(d+-1|0,i)|0;h=g;l=f[m>>2]|0;while(1){s=l;l=h+j|0;f[l>>2]=h;f[l+4>>2]=l+32;b[l+12>>0]=1;b[l+13>>0]=0;f[l+16>>2]=s;d=d+-1|0;if(!d)break;else h=h+i|0}d=g+(k+j)|0;f[m>>2]=d}if(d|0){e=d;r=47;break}}h=f[a+16>>2]|0;if((f[18019]|0)>=(h|0)?(e=f[18025]|0,(e|0)!=0):0){f[18025]=f[e>>2];s=f[18026]|0;f[18026]=s+-1;f[18027]=(s|0)<=(f[18021]|0)&1;if((f[18195]|0)>>>0>>0)f[18195]=h;d=(f[18188]|0)+1|0;f[18188]=d;if(d>>>0>(f[18192]|0)>>>0)f[18192]=d}else r=54;do if((r|0)==54){s=KA(h|0,((h|0)<0)<<31>>31|0,-1,-1)|0;o=ba()|0;if(!(o>>>0>0|(o|0)==0&s>>>0>2147483390)){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](h)|0;if(!e){e=0;break}}else{e=ib[f[37372>>2]&255](h)|0;if((f[18194]|0)>>>0>>0)f[18194]=h;g=71896;d=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&d>>>0>0){s=f[18187]|0;o=LA(d|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&o>>>0<=s>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e){e=0;break}d=ib[f[37368>>2]&255](e)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d}d=ib[f[37368>>2]&255](e)|0;if((f[18195]|0)>>>0>>0)f[18195]=h;d=(f[18189]|0)+d|0;f[18189]=d;if(d>>>0>(f[18193]|0)>>>0)f[18193]=d}else e=0}while(0);d=e+(f[a+8>>2]|0)|0;if(!e){s=0;return s|0}else{f[d>>2]=e;f[d+4>>2]=d+32;b[d+12>>0]=0;b[d+13>>0]=0;e=d;break}}else{e=d;r=47}while(0);if((r|0)==47){s=e+16|0;f[m>>2]=f[s>>2];f[s>>2]=0}i=f[a+4>>2]|0;f[i>>2]=(f[i>>2]|0)+1;i=e;h=e+20|0;g=e+28|0;d=e+24|0;e=e+8|0}s=(c>>>0)%((f[p>>2]|0)>>>0)|0;f[q>>2]=(f[q>>2]|0)+1;f[e>>2]=c;e=a+52|0;f[i+16>>2]=f[(f[e>>2]|0)+(s<<2)>>2];f[h>>2]=a;f[g>>2]=0;f[d>>2]=0;f[f[i+4>>2]>>2]=0;f[(f[e>>2]|0)+(s<<2)>>2]=i;e=a+36|0;if((f[e>>2]|0)>>>0>=c>>>0){s=i;return s|0}f[e>>2]=c;s=i;return s|0}function fe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=a+48|0;h=f[d>>2]<<1;h=h>>>0>256?h:256;e=ge(h<<2,0)|0;if(!e)return;g=f[d>>2]|0;c=a+52|0;if(g|0){b=0;do{a=f[(f[c>>2]|0)+(b<<2)>>2]|0;if(a|0)do{k=a+16|0;j=a;a=f[k>>2]|0;i=e+((((f[j+8>>2]|0)>>>0)%(h>>>0)|0)<<2)|0;f[k>>2]=f[i>>2];f[i>>2]=j}while((a|0)!=0);b=b+1|0}while(b>>>0>>0)}he(f[c>>2]|0);f[c>>2]=e;f[d>>2]=h;return}function ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=KA(a|0,b|0,-1,-1)|0;c=ba()|0;if(c>>>0>0|(c|0)==0&d>>>0>2147483390){d=0;return d|0}if(!(f[9328]|0)){b=ib[f[37356>>2]&255](a)|0;if(!b){d=0;return d|0}}else{b=ib[f[37372>>2]&255](a)|0;if((f[18194]|0)>>>0>>0)f[18194]=a;d=71896;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){e=f[18187]|0;d=LA(c|0,d|0,b|0,((b|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&d>>>0<=e>>>0)&1}b=ib[f[37356>>2]&255](b)|0;if(!b){e=0;return e|0}c=ib[f[37368>>2]&255](b)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}_A(b|0,0,a|0)|0;e=b;return e|0}function he(a){a=a|0;var b=0;if(!a)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function ie(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0;c=f[e>>2]|0;if(!c)return;e=d[c+8>>1]|0;if((e&514)==514?(b[c+10>>0]|0)==1:0)c=f[c+16>>2]|0;else g=5;do if((g|0)==5)if(!(e&1)){c=Ic(c,1)|0;break}else return;while(0);if(!c)return;h=rf(c)|0;c=f[a>>2]|0;e=((h|0)<0)<<31>>31;g=c+8|0;if(!(d[g>>1]&9216)){a=c;f[a>>2]=h;f[a+4>>2]=e;d[g>>1]=4;return}else{bf(c,h,e);return}}function je(a,c,d){a=a|0;c=c|0;d=d|0;c=f[d>>2]|0;d=j[c+8>>1]|0;do if(!(d&4)){if(d&8|0){c=Fc(+p[c>>3])|0;ba()|0;d=7;break}if(!(d&18)){c=5872;d=8}else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0;d=7}}else{c=f[c>>2]|0;d=7}while(0);if((d|0)==7)if(c>>>0<10){c=5872+(c<<2)|0;d=8}else c=0;if((d|0)==8)c=f[c>>2]|0;if(($e(f[a>>2]|0,c,-1,1,0)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}function ke(a,b,c){a=a|0;b=b|0;c=c|0;if(($e(f[a>>2]|0,40401,-1,1,0)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}function le(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=f[e>>2]|0;i=d[g+8>>1]|0;if((g|0)==0|(-1431655766>>>(i&31)&1|0)!=0)return;if((i&514)==514?(b[g+10>>0]|0)==1:0)i=f[g+16>>2]|0;else q=5;do if((q|0)==5)if(!(i&1)){i=Ic(g,1)|0;break}else return;while(0);if(!i)return;k=f[e>>2]|0;g=d[k+8>>1]|0;if((g&2)!=0?(b[k+10>>0]|0)==1:0)g=f[k+12>>2]|0;else q=11;do if((q|0)==11){j=g&65535;if(!(j&16)){if(j&1|0){g=0;break}g=_e(k,1)|0;break}else{g=f[k+12>>2]|0;if(!(j&16384))break;g=(f[k>>2]|0)+g|0;break}}while(0);a:do if((c|0)!=1){j=f[e+4>>2]|0;if(!j)return;k=d[j+8>>1]|0;if((k&514)==514?(b[j+10>>0]|0)==1:0)p=f[j+16>>2]|0;else q=21;do if((q|0)==21)if(!(k&1)){p=Ic(j,1)|0;break}else return;while(0);if(!p)return;k=b[p>>0]|0;if(k<<24>>24){j=p;l=0;do{c=j+1|0;if((k&255)>191){j=c;while(1){k=b[j>>0]|0;if((k&-64)<<24>>24==-128)j=j+1|0;else break}}else{j=c;k=b[c>>0]|0}l=l+1|0}while(k<<24>>24!=0);c=QA(l|0,0,5,0)|0;j=ba()|0;k=f[a>>2]|0;o=f[(f[k+32>>2]|0)+108>>2]|0;n=((o|0)<0)<<31>>31;if((j|0)>(n|0)|(j|0)==(n|0)&c>>>0>o>>>0){f[a+20>>2]=18;$e(k,41612,-1,1,0)|0;return}o=KA(c|0,j|0,-1,-1)|0;n=ba()|0;do if(!(n>>>0>0|(n|0)==0&o>>>0>2147483390)){if(!(f[9328]|0)){j=ib[f[37356>>2]&255](c)|0;if(!j)break}else{e=ib[f[37372>>2]&255](c)|0;if((f[18194]|0)>>>0>>0)f[18194]=c;k=71896;j=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){o=f[18187]|0;n=LA(j|0,k|0,e|0,((e|0)<0)<<31>>31|0)|0;m=ba()|0;f[17976]=((m|0)<0|(m|0)==0&n>>>0<=o>>>0)&1}j=ib[f[37356>>2]&255](e)|0;if(!j)break;k=ib[f[37368>>2]&255](j)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k}m=j+(l<<2)|0;if(!(b[p>>0]|0))break a;e=0;k=p;while(1){f[j+(e<<2)>>2]=k;c=k+1|0;l=k;if((h[k>>0]|0)>191){k=c;while(1)if((b[k>>0]&-64)<<24>>24==-128)k=k+1|0;else break}else k=c;b[m+e>>0]=k-l;c=e+1|0;if(!(b[k>>0]|0)){o=j;n=j;q=59;break a}else e=c}}while(0);g=f[a>>2]|0;i=g+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else{cf(g);g=f[a>>2]|0}f[a+20>>2]=7;g=f[g+32>>2]|0;i=g+81|0;if(b[i>>0]|0)return;if(b[g+82>>0]|0)return;b[i>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;a=g+272|0;f[a>>2]=(f[a>>2]|0)+1;return}}else{p=0;o=37972;m=41720;c=1;n=37972;q=59}while(0);do if((q|0)==59){l=f[(f[a+4>>2]|0)+8>>2]|0;b:do if((l&1|0)!=0&(g|0)>0)do{j=0;while(1){k=b[m+j>>0]|0;e=k&255;if((g|0)>=(e|0)?(Hz(i,f[o+(j<<2)>>2]|0,e)|0)==0:0)break;j=j+1|0;if(j>>>0>=c>>>0){q=66;break b}}e=k&255;i=i+e|0;g=g-e|0}while((g|0)>0);else q=66;while(0);c:do if((q|0)==66)if((l&2|0)!=0&(g|0)>0)while(1){j=0;while(1){k=h[m+j>>0]|0;if((g|0)>=(k|0)?(r=g-k|0,(Hz(i+r|0,f[o+(j<<2)>>2]|0,k)|0)==0):0)break;j=j+1|0;if(j>>>0>=c>>>0)break c}if((r|0)>0)g=r;else{g=r;break}}while(0);if(!((n|0)==0|(p|0)==0))if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{r=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);if(($e(f[a>>2]|0,i,g,1,-1)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}function me(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0,i=0,j=0;j=((f[(f[a+4>>2]|0)+8>>2]|0)!=0)<<31>>31;i=f[(f[(f[a+12>>2]|0)+88>>2]|0)+(((f[a+16>>2]|0)+-1|0)*20|0)+16>>2]|0;e=f[c>>2]|0;if(-1431655766>>>(d[e+8>>1]&31)&1|0)return;do if((b|0)>1){h=0;e=1;while(1){g=f[c+(e<<2)>>2]|0;if(-1431655766>>>(d[g+8>>1]&31)&1|0){g=8;break}g=((nf(f[c+(h<<2)>>2]|0,g,i)|0)^j|0)>-1;h=g?e:h;e=e+1|0;if((e|0)>=(b|0)){g=6;break}}if((g|0)==6){e=f[c+(h<<2)>>2]|0;break}else if((g|0)==8)return}while(0);mf(a,e);return}function ne(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=f[e>>2]|0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))i=hf(a,40)|0;else i=f[c+16>>2]|0;if(!i)return;h=g+8|0;j=i+8|0;c=(d[j>>1]|0)!=0;if(-1431655766>>>(d[h>>1]&31)&1|0){if(!c)return;f[a+20>>2]=-1;b[a+24>>0]=1;return}if(!c){f[i+32>>2]=f[(f[a>>2]|0)+32>>2];f[i>>2]=f[g>>2];f[i+4>>2]=f[g+4>>2];f[i+8>>2]=f[g+8>>2];f[i+12>>2]=f[g+12>>2];f[i+16>>2]=f[g+16>>2];e=d[j>>1]&-1025;d[j>>1]=e;e=e&65535;if(!(e&18))return;if(d[h>>1]&2048)return;c=(e|4096)&65535;d[j>>1]=c;do if(e&16384){c=i+12|0;h=(f[i>>2]|0)+(f[c>>2]|0)|0;if(!(df(i,(h|0)>1?h:1,1)|0)){_A((f[i+16>>2]|0)+(f[c>>2]|0)|0,0,f[i>>2]|0)|0;f[c>>2]=(f[c>>2]|0)+(f[i>>2]|0);c=d[j>>1]&-16897;d[j>>1]=c;break}else return}while(0);if(!((f[i+24>>2]|0)!=0?(f[i+16>>2]|0)==(f[i+20>>2]|0):0))k=43;do if((k|0)==43)if(!(gf(i)|0)){c=d[j>>1]|0;break}else return;while(0);d[j>>1]=c&-4097;return}c=(f[(f[a+4>>2]|0)+8>>2]|0)!=0;e=nf(i,g,f[(f[(f[a+12>>2]|0)+88>>2]|0)+(((f[a+16>>2]|0)+-1|0)*20|0)+16>>2]|0)|0;if(c&(e|0)<0){if(d[j>>1]&9216)cf(i);f[i>>2]=f[g>>2];f[i+4>>2]=f[g+4>>2];f[i+8>>2]=f[g+8>>2];f[i+12>>2]=f[g+12>>2];f[i+16>>2]=f[g+16>>2];e=d[j>>1]&-1025;d[j>>1]=e;e=e&65535;if(!(e&18))return;if(d[h>>1]&2048)return;c=(e|4096)&65535;d[j>>1]=c;do if(e&16384){c=i+12|0;h=(f[i>>2]|0)+(f[c>>2]|0)|0;if(!(df(i,(h|0)>1?h:1,1)|0)){_A((f[i+16>>2]|0)+(f[c>>2]|0)|0,0,f[i>>2]|0)|0;f[c>>2]=(f[c>>2]|0)+(f[i>>2]|0);c=d[j>>1]&-16897;d[j>>1]=c;break}else return}while(0);if(!((f[i+24>>2]|0)!=0?(f[i+16>>2]|0)==(f[i+20>>2]|0):0))k=20;do if((k|0)==20)if(!(gf(i)|0)){c=d[j>>1]|0;break}else return;while(0);d[j>>1]=c&-4097;return}if(!((e|0)>0&(c^1))){f[a+20>>2]=-1;b[a+24>>0]=1;return}if(d[j>>1]&9216)cf(i);f[i>>2]=f[g>>2];f[i+4>>2]=f[g+4>>2];f[i+8>>2]=f[g+8>>2];f[i+12>>2]=f[g+12>>2];f[i+16>>2]=f[g+16>>2];e=d[j>>1]&-1025;d[j>>1]=e;e=e&65535;if(!(e&18))return;if(d[h>>1]&2048)return;c=(e|4096)&65535;d[j>>1]=c;do if(e&16384){c=i+12|0;h=(f[i>>2]|0)+(f[c>>2]|0)|0;if(!(df(i,(h|0)>1?h:1,1)|0)){_A((f[i+16>>2]|0)+(f[c>>2]|0)|0,0,f[i>>2]|0)|0;f[c>>2]=(f[c>>2]|0)+(f[i>>2]|0);c=d[j>>1]&-16897;d[j>>1]=c;break}else return}while(0);if(!((f[i+24>>2]|0)!=0?(f[i+16>>2]|0)==(f[i+20>>2]|0):0))k=32;do if((k|0)==32)if(!(gf(i)|0)){c=d[j>>1]|0;break}else return;while(0);d[j>>1]=c&-4097;return}function oe(a){a=a|0;var b=0,c=0,e=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,0)|0;else b=f[b+16>>2]|0;if(!b)return;c=b+8|0;if(!((d[c>>1]|0)!=0?(mf(a,b),(d[c>>1]&9216)!=0):0))e=7;if((e|0)==7?(f[b+24>>2]|0)==0:0)return;ff(b);return}function pe(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,0)|0;else b=f[b+16>>2]|0;if(!b)return;if(!(d[b+8>>1]|0))return;mf(a,b);return}function qe(a,b,c){a=a|0;b=b|0;c=c|0;if(($e(f[a>>2]|0,f[5840+((h[5792+(d[(f[c>>2]|0)+8>>1]&31)>>0]|0)+-1<<2)>>2]|0,-1,1,0)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}function re(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0;g=f[e>>2]|0;c=d[g+8>>1]|0;switch(b[5792+(c&31)>>0]|0){case 2:case 1:case 4:{if((c&2)!=0?(b[g+10>>0]|0)==1:0)e=f[g+12>>2]|0;else i=5;do if((i|0)==5){c=c&65535;if(!(c&16)){if(c&1|0){e=0;break}e=_e(g,1)|0;break}else{e=f[g+12>>2]|0;if(!(c&16384))break;e=(f[g>>2]|0)+e|0;break}}while(0);c=f[a>>2]|0;g=((e|0)<0)<<31>>31;h=c+8|0;if(!(d[h>>1]&9216)){a=c;f[a>>2]=e;f[a+4>>2]=g;d[h>>1]=4;return}else{bf(c,e,g);return}}case 3:{if(!g)return;if((c&514)==514?(b[g+10>>0]|0)==1:0)h=f[g+16>>2]|0;else i=17;do if((i|0)==17)if(!(c&1)){h=Ic(g,1)|0;break}else return;while(0);if(!h)return;g=b[h>>0]|0;if(!(g<<24>>24)){e=h;c=h}else{c=h;e=h;do{e=e+1|0;h=b[e>>0]|0;if((g&255)>191&(h&-64)<<24>>24==-128)do{e=e+1|0;c=c+1|0;g=b[e>>0]|0}while((g&-64)<<24>>24==-128);else g=h}while(g<<24>>24!=0)}h=e-c|0;c=f[a>>2]|0;e=((h|0)<0)<<31>>31;g=c+8|0;if(!(d[g>>1]&9216)){a=c;f[a>>2]=h;f[a+4>>2]=e;d[g>>1]=4;return}else{bf(c,h,e);return}}default:{c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216)){d[e>>1]=1;return}else{cf(c);return}}}}function se(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=f[e>>2]|0;c=d[g+8>>1]|0;m=c&31;n=e+4|0;i=f[n>>2]|0;j=d[i+8>>1]|0;l=j&31;if((-1431655766>>>l|-1431655766>>>m)&1|0)return;if((c&2)!=0?(b[g+10>>0]|0)==1:0){h=f[g+12>>2]|0;c=j}else k=5;do if((k|0)==5){c=c&65535;if(!(c&16)){if(c&1|0){h=0;c=j;break}h=_e(g,1)|0;i=f[n>>2]|0;c=d[i+8>>1]|0;break}else{h=f[g+12>>2]|0;if(!(c&16384)){c=j;break}h=(f[g>>2]|0)+h|0;c=j;break}}while(0);if((c&2)!=0?(b[i+10>>0]|0)==1:0){o=f[i+12>>2]|0;k=18}else k=13;do if((k|0)==13){g=c&65535;if(!(g&16)){if(g&1|0){c=1;i=0;break}o=_e(i,1)|0;k=18;break}else{c=f[i+12>>2]|0;if(!(g&16384)){o=c;k=18;break}o=(f[i>>2]|0)+c|0;k=18;break}}while(0);a:do if((k|0)==18)if((o|0)>0){g=f[e>>2]|0;do if(!((m|16|0)==16&(l|16|0)==16)){do if(g){c=d[g+8>>1]|0;if((c&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(c&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);i=f[n>>2]|0;if(!i)return;c=d[i+8>>1]|0;if((c&514)==514?(b[i+10>>0]|0)==1:0){c=1;j=f[i+16>>2]|0;break}if(!(c&1)){c=1;j=Ic(i,1)|0;break}else return}else{g=lf(g)|0;c=0;j=lf(f[n>>2]|0)|0}while(0);if(!j)return;if((h|0)!=0&(g|0)==0)return;if((o|0)>(h|0)){c=0;i=0}else{b:do if(!c){c=1;while(1){if(!(Hz(g,j,o)|0))break b;if((o|0)<(h|0)){c=c+1|0;h=h+-1|0;g=g+1|0}else{c=0;i=0;break a}}}else{c=1;while(1){if(!(Hz(g,j,o)|0))break b;while(1){i=h+-1|0;g=g+1|0;if((b[g>>0]&-64)<<24>>24!=-128)break;else h=i}if((o|0)<(h|0)){c=c+1|0;h=i}else{c=0;i=0;break a}}}while(0);i=0}}else{c=1;i=0}while(0);g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216)){a=g;f[a>>2]=c;f[a+4>>2]=i;d[h>>1]=4;return}else{bf(g,c,i);return}}function te(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+48|0;l=n;k=n+32|0;m=n+8|0;j=f[(f[a>>2]|0)+32>>2]|0;if((c|0)<=0){t=n;return}h=f[e>>2]|0;if(!h){t=n;return}g=d[h+8>>1]|0;if((g&514)==514?(b[h+10>>0]|0)==1:0)g=f[h+16>>2]|0;else i=6;do if((i|0)==6)if(!(g&1)){g=Ic(h,1)|0;break}else{t=n;return}while(0);if(!g){t=n;return}f[k>>2]=c+-1;f[k+4>>2]=0;f[k+8>>2]=e+4;h=f[j+108>>2]|0;i=m+4|0;f[i>>2]=0;f[m>>2]=j;f[m+8>>2]=0;c=m+12|0;f[c>>2]=h;h=m+16|0;f[h>>2]=0;b[m+20>>0]=0;e=m+21|0;b[e>>0]=2;f[l>>2]=k;qf(m,g,l);h=f[h>>2]|0;g=f[i>>2]|0;if(((g|0)!=0?(b[g+h>>0]=0,(f[c>>2]|0)!=0):0)?(b[e>>0]&4)==0:0)g=Cc(m)|0;else g=f[i>>2]|0;if(($e(f[a>>2]|0,g,h,1,139)|0)!=18){t=n;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=n;return}function ue(a,c,e){a=a|0;c=c|0;e=e|0;var g=0;c=f[e>>2]|0;if(!c)return;e=d[c+8>>1]|0;if((e&514)==514?(b[c+10>>0]|0)==1:0)c=f[c+16>>2]|0;else g=5;do if((g|0)==5)if(!(e&1)){c=Ic(c,1)|0;break}else return;while(0);if(!c)return;e=b[c>>0]|0;if(!(e<<24>>24))return;g=c+1|0;c=e&255;if((e&255)>191){c=h[5728+(c+-192)>>0]|0;e=b[g>>0]|0;if((e&-64)<<24>>24==-128)do{g=g+1|0;c=c<<6|e&63;e=b[g>>0]|0}while((e&-64)<<24>>24==-128);c=(c&-2|0)==65534|(c>>>0<128|(c&-2048|0)==55296)?65533:c}e=f[a>>2]|0;g=((c|0)<0)<<31>>31;a=e+8|0;if(!(d[a>>1]&9216)){f[e>>2]=c;f[e+4>>2]=g;d[a>>1]=4;return}else{bf(e,c,g);return}}function ve(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0;q=c<<2|1;q=xd(q,((q|0)<0)<<31>>31)|0;if(!q){g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[a+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if(b[h>>0]|0)return;if(b[g+82>>0]|0)return;b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;a=g+272|0;f[a>>2]=(f[a>>2]|0)+1;return}if((c|0)>0){n=0;g=q;do{h=f[e+(n<<2)>>2]|0;i=j[h+8>>1]|0;do if(!(i&4)){if(i&8|0){i=Fc(+p[h>>3])|0;h=ba()|0;o=18;break}if(!(i&18)){m=g;l=1;h=0}else{i=Gc(b[h+10>>0]|0,f[h+12>>2]|0,f[h+16>>2]|0)|0;h=ba()|0;o=18}}else{i=h;h=f[i+4>>2]|0;i=f[i>>2]|0;o=18}while(0);do if((o|0)==18){o=0;k=i&2097151;if(!(h>>>0>0|(h|0)==0&i>>>0>1114111)){if(k>>>0<128){m=g;l=1;h=k;break}if(k>>>0<2048){b[g>>0]=i>>>6&31|192;m=g+1|0;l=2;h=i&63|128;break}if(k>>>0<65536)h=k;else{b[g>>0]=k>>>18|240;b[g+1>>0]=i>>>12&63|128;b[g+2>>0]=i>>>6&63|128;m=g+3|0;l=4;h=i&63|128;break}}else h=65533;b[g>>0]=h>>>12&15|224;b[g+1>>0]=h>>>6&63|128;m=g+2|0;l=3;h=h&63|128}while(0);g=g+l|0;b[m>>0]=h;n=n+1|0}while((n|0)!=(c|0))}else g=q;g=g-q|0;if((g|0)>=0){if(($e(f[a>>2]|0,q,g,1,101)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}do if(101!=-1)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{o=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);if(!a)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}function we(a,c,e){a=a|0;c=c|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0;k=t;t=t+16|0;h=k+8|0;i=k;e=f[e>>2]|0;c=d[e+8>>1]|0;switch(b[5792+(c&31)>>0]|0){case 1:{c=c&65535;do if(!(c&4)){if(c&8|0){c=Fc(+p[e>>3])|0;e=ba()|0;j=8;break}if(!(c&18)){c=0;i=0}else{c=Gc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)|0;e=ba()|0;j=8}}else{c=e;e=f[c+4>>2]|0;c=f[c>>2]|0;j=8}while(0);do if((j|0)==8)if((e|0)<0){if(!((c|0)==0&(e|0)==-2147483648)){c=LA(0,0,c|0,e|0)|0;i=ba()|0;break}f[a+20>>2]=1;$e(f[a>>2]|0,41656,-1,1,-1)|0;t=k;return}else i=e;while(0);e=f[a>>2]|0;h=e+8|0;if(!(d[h>>1]&9216)){a=e;f[a>>2]=c;f[a+4>>2]=i;d[h>>1]=4;t=k;return}else{bf(e,c,i);t=k;return}}case 5:{c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216)){d[e>>1]=1;t=k;return}else{cf(c);t=k;return}}default:{c=c&65535;do if(!(c&8)){if(c&4|0){j=e;g=+((f[j>>2]|0)>>>0)+4294967296.0*+(f[j+4>>2]|0);break}if(!(c&18))g=0.0;else g=+Hc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)}else g=+p[e>>3];while(0);g=g<0.0?-g:g;c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else cf(c);p[h>>3]=g;p[i>>3]=+p[h>>3];if(!(+p[h>>3]==+p[i>>3])){t=k;return}p[c>>3]=g;d[e>>1]=8;t=k;return}}}function xe(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0.0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+48|0;i=m+24|0;k=m+16|0;l=m+8|0;j=m;a:do if((c|0)==2){g=f[e+4>>2]|0;c=d[g+8>>1]|0;if(-1431655766>>>(c&31)&1|0){t=m;return}c=c&65535;do if(!(c&4)){if(c&8|0){c=Fc(+p[g>>3])|0;ba()|0;break}if(!(c&18)){c=0;break a}c=Gc(b[g+10>>0]|0,f[g+12>>2]|0,f[g+16>>2]|0)|0;ba()|0}else c=f[g>>2]|0;while(0);if((c|0)<30){if((c|0)<=0){c=0;break}}else c=30}else c=0;while(0);e=f[e>>2]|0;g=d[e+8>>1]|0;if(-1431655766>>>(g&31)&1|0){t=m;return}g=g&65535;do if(!(g&8)){if(g&4|0){h=+((f[e>>2]|0)>>>0)+4294967296.0*+(f[e+4>>2]|0);break}if(!(g&18))h=0.0;else h=+Hc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)}else h=+p[e>>3];while(0);p[j>>3]=h;g=(c|0)==0;do if(h<9223372036854775808.0&(g&h>=0.0)){h=h+.5;h=+(~~h>>>0>>>0)+4294967296.0*+((+H(h)>=1.0?(h>0.0?~~+V(+G(h/4294967296.0),4294967295.0)>>>0:~~+T((h-+(~~h>>>0))/4294967296.0)>>>0):0)|0);p[j>>3]=h}else{if(h>-9223372036854775808.0&(g&h<0.0)){h=.5-h;h=-(+(~~h>>>0>>>0)+4294967296.0*+((+H(h)>=1.0?(h>0.0?~~+V(+G(h/4294967296.0),4294967295.0)>>>0:~~+T((h-+(~~h>>>0))/4294967296.0)>>>0):0)|0));p[j>>3]=h;break}f[i>>2]=c;p[i+8>>3]=h;c=wd(41687,i)|0;if(c|0){jf(c,j,(wz(c)|0)&1073741823,1)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if(b[g>>0]|0){t=m;return}if(b[c+82>>0]|0){t=m;return}b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;t=m;return}while(0);h=+p[j>>3];c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else cf(c);p[k>>3]=h;p[l>>3]=+p[k>>3];if(!(+p[k>>3]==+p[l>>3])){t=m;return}p[c>>3]=h;d[g>>1]=8;t=m;return}function ye(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0;g=f[e>>2]|0;c=d[g+8>>1]|0;if((c&514)==514?(b[g+10>>0]|0)==1:0){j=f[g+16>>2]|0;e=g}else if(!(c&1)){j=Ic(g,1)|0;e=f[e>>2]|0}else{j=0;e=g}c=d[e+8>>1]|0;if((c&2)!=0?(b[e+10>>0]|0)==1:0)i=f[e+12>>2]|0;else h=9;do if((h|0)==9){c=c&65535;if(!(c&16)){if(c&1|0){i=0;break}i=_e(e,1)|0;break}else{g=f[e+12>>2]|0;if(!(c&16384)){i=g;break}i=(f[e>>2]|0)+g|0;break}}while(0);if(!j)return;g=KA(i|0,((i|0)<0)<<31>>31|0,1,0)|0;ba()|0;c=f[a>>2]|0;if((i|0)>=(f[(f[c+32>>2]|0)+108>>2]|0)){f[a+20>>2]=18;$e(c,41612,-1,1,0)|0;return}do if(i>>>0<=2147483390){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](g)|0;if(!c)break}else{e=ib[f[37372>>2]&255](g)|0;if((f[18194]|0)>>>0>>0)f[18194]=g;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){h=f[18187]|0;g=LA(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&g>>>0<=h>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(!c)break;g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}if((i|0)>0){g=0;do{h=b[j+g>>0]|0;b[c+g>>0]=h&~(b[5472+(h&255)>>0]&32);g=g+1|0}while((g|0)!=(i|0))}if(($e(f[a>>2]|0,c,i,1,101)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}while(0);c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if(b[g>>0]|0)return;if(b[c+82>>0]|0)return;b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;return}function ze(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0;g=f[e>>2]|0;c=d[g+8>>1]|0;if((c&514)==514?(b[g+10>>0]|0)==1:0){k=f[g+16>>2]|0;e=g}else if(!(c&1)){k=Ic(g,1)|0;e=f[e>>2]|0}else{k=0;e=g}c=d[e+8>>1]|0;if((c&2)!=0?(b[e+10>>0]|0)==1:0)j=f[e+12>>2]|0;else i=9;do if((i|0)==9){c=c&65535;if(!(c&16)){if(c&1|0){j=0;break}j=_e(e,1)|0;break}else{g=f[e+12>>2]|0;if(!(c&16384)){j=g;break}j=(f[e>>2]|0)+g|0;break}}while(0);if(!k)return;g=KA(j|0,((j|0)<0)<<31>>31|0,1,0)|0;ba()|0;c=f[a>>2]|0;if((j|0)>=(f[(f[c+32>>2]|0)+108>>2]|0)){f[a+20>>2]=18;$e(c,41612,-1,1,0)|0;return}do if(j>>>0<=2147483390){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](g)|0;if(!c)break}else{e=ib[f[37372>>2]&255](g)|0;if((f[18194]|0)>>>0>>0)f[18194]=g;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){i=f[18187]|0;g=LA(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&g>>>0<=i>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(!c)break;g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}if((j|0)>0){g=0;do{b[c+g>>0]=b[1232+(h[k+g>>0]|0)>>0]|0;g=g+1|0}while((g|0)!=(j|0))}if(($e(f[a>>2]|0,c,j,1,101)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}while(0);c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if(b[g>>0]|0)return;if(b[c+82>>0]|0)return;b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;return}function Ae(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0;l=lf(f[e>>2]|0)|0;g=f[e>>2]|0;c=d[g+8>>1]|0;if((c&2)!=0?(b[g+10>>0]|0)==1:0)e=f[g+12>>2]|0;else i=4;do if((i|0)==4){c=c&65535;if(!(c&16)){if(c&1|0){e=0;break}e=_e(g,1)|0;break}else{e=f[g+12>>2]|0;if(!(c&16384))break;e=(f[g>>2]|0)+e|0;break}}while(0);i=WA(e|0,((e|0)<0)<<31>>31|0,1)|0;c=ba()|0;i=i|1;g=f[a>>2]|0;k=f[(f[g+32>>2]|0)+108>>2]|0;j=((k|0)<0)<<31>>31;if((c|0)>(j|0)|(c|0)==(j|0)&i>>>0>k>>>0){f[a+20>>2]=18;$e(g,41612,-1,1,0)|0;return}k=KA(i|0,c|0,-1,-1)|0;j=ba()|0;do if(!(j>>>0>0|(j|0)==0&k>>>0>2147483390)){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](i)|0;if(!c)break;else g=c}else{j=ib[f[37372>>2]&255](i)|0;if((f[18194]|0)>>>0>>0)f[18194]=i;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){k=f[18187]|0;i=LA(c|0,g|0,j|0,((j|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&i>>>0<=k>>>0)&1}g=ib[f[37356>>2]&255](j)|0;if(!g)break;c=ib[f[37368>>2]&255](g)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}k=e<<1;if((e|0)>0){j=g;c=l;i=0;while(1){l=h[c>>0]|0;b[j>>0]=b[5824+(l>>>4)>>0]|0;b[j+1>>0]=b[5824+(l&15)>>0]|0;i=i+1|0;if((i|0)==(e|0))break;else{j=j+2|0;c=c+1|0}}c=g+k|0}else c=g;b[c>>0]=0;if(($e(f[a>>2]|0,g,k,1,101)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}while(0);c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;e=c+81|0;if(b[e>>0]|0)return;if(b[c+82>>0]|0)return;b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;return}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0;h=t;t=t+16|0;b=h;zd(8,b);e=b;c=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)<0){g=LA(0,0,c|0,e&2147483647|0)|0;e=ba()|0;c=b;f[c>>2]=g;f[c+4>>2]=e}else g=c;b=f[a>>2]|0;c=b+8|0;if(!(d[c>>1]&9216)){a=b;f[a>>2]=g;f[a+4>>2]=e;d[c>>1]=4;t=h;return}else{bf(b,g,e);t=h;return}}function Ce(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0;c=f[e>>2]|0;e=j[c+8>>1]|0;do if(!(e&4)){if(e&8|0){c=Fc(+p[c>>3])|0;ba()|0;g=7;break}if(!(e&18))h=1;else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0;g=7}}else{c=f[c>>2]|0;g=7}while(0);if((g|0)==7)h=(c|0)>1?c:1;c=f[a>>2]|0;g=f[(f[c+32>>2]|0)+108>>2]|0;e=((g|0)<0)<<31>>31;if((e|0)<0|(e|0)==0&g>>>0>>0){f[a+20>>2]=18;$e(c,41612,-1,1,0)|0;return}g=KA(h|0,0,-1,-1)|0;e=ba()|0;do if(!(e>>>0>0|(e|0)==0&g>>>0>2147483390)){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](h)|0;if(!c)break}else{c=ib[f[37372>>2]&255](h)|0;if((f[18194]|0)>>>0>>0)f[18194]=h;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){i=f[18187]|0;g=LA(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&g>>>0<=i>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c)break;e=ib[f[37368>>2]&255](c)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}zd(h,c);if(($e(f[a>>2]|0,c,h,0,101)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}while(0);c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;e=c+81|0;if(b[e>>0]|0)return;if(b[c+82>>0]|0)return;b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;i=c+272|0;f[i>>2]=(f[i>>2]|0)+1;return}function De(a,b,c){a=a|0;b=b|0;c=c|0;if(!(nf(f[c>>2]|0,f[c+4>>2]|0,f[(f[(f[a+12>>2]|0)+88>>2]|0)+(((f[a+16>>2]|0)+-1|0)*20|0)+16>>2]|0)|0))return;mf(a,f[c>>2]|0);return}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;if(($e(f[a>>2]|0,40440,-1,1,0)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}function Fe(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0;i=t;t=t+16|0;h=i;a=f[e>>2]|0;c=j[a+8>>1]|0;do if(!(c&4)){if(c&8|0){g=Fc(+p[a>>3])|0;ba()|0;break}if(!(c&18))g=0;else{g=Gc(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0)|0;ba()|0}}else g=f[a>>2]|0;while(0);a=f[e+4>>2]|0;do if(a){c=d[a+8>>1]|0;if((c&514)==514?(b[a+10>>0]|0)==1:0){a=f[a+16>>2]|0;break}if(!(c&1))a=Ic(a,1)|0;else a=0}else a=0;while(0);f[h>>2]=a;Ac(g,40840,h);t=i;return}function Ge(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,q=0;q=t;t=t+80|0;m=q+72|0;l=q+64|0;j=q+56|0;k=q;g=f[e>>2]|0;c=d[g+8>>1]|0;switch(b[5792+(c&31)>>0]|0){case 2:{c=c&65535;do if(!(c&8)){if(c&4|0){o=g;i=+((f[o>>2]|0)>>>0)+4294967296.0*+(f[o+4>>2]|0);break}if(!(c&18))i=0.0;else i=+Hc(b[g+10>>0]|0,f[g+12>>2]|0,f[g+16>>2]|0)}else i=+p[g>>3];while(0);p[l>>3]=i;vd(50,k,41673,l)|0;jf(k,j,20,1)|0;if(i!=+p[j>>3]){p[m>>3]=i;vd(50,k,41680,m)|0}if(($e(f[a>>2]|0,k,-1,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}t=q;return}case 1:{mf(a,g);t=q;return}case 4:{l=lf(g)|0;e=f[e>>2]|0;c=d[e+8>>1]|0;if((c&2)!=0?(b[e+10>>0]|0)==1:0)k=f[e+12>>2]|0;else n=17;do if((n|0)==17){c=c&65535;if(!(c&16)){if(c&1|0){k=0;break}k=_e(e,1)|0;break}else{g=f[e+12>>2]|0;if(!(c&16384)){k=g;break}k=(f[e>>2]|0)+g|0;break}}while(0);c=WA(k|0,((k|0)<0)<<31>>31|0,1)|0;g=ba()|0;j=KA(c|0,g|0,4,0)|0;m=ba()|0;e=f[a>>2]|0;o=f[(f[e+32>>2]|0)+108>>2]|0;n=((o|0)<0)<<31>>31;if((m|0)>(n|0)|(m|0)==(n|0)&j>>>0>o>>>0){f[a+20>>2]=18;$e(e,41612,-1,1,0)|0;t=q;return}o=KA(c|0,g|0,3,0)|0;n=ba()|0;do if(!(n>>>0>0|(n|0)==0&o>>>0>2147483390)){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](j)|0;if(!c)break}else{e=ib[f[37372>>2]&255](j)|0;if((f[18194]|0)>>>0>>0)f[18194]=j;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){o=f[18187]|0;n=LA(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;m=ba()|0;f[17976]=((m|0)<0|(m|0)==0&n>>>0<=o>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(!c)break;g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}if((k|0)>0){g=0;do{n=l+g|0;o=g<<1;b[c+(o+2)>>0]=b[5824+((h[n>>0]|0)>>>4)>>0]|0;b[c+(o+3)>>0]=b[5824+(b[n>>0]&15)>>0]|0;g=g+1|0}while((g|0)!=(k|0))}o=k<<1;b[c+(o+2)>>0]=39;b[c+(o+3)>>0]=0;b[c>>0]=88;b[c+1>>0]=39;if(($e(f[a>>2]|0,c,-1,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);t=q;return}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);t=q;return}}while(0);c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if(b[g>>0]|0){t=q;return}if(b[c+82>>0]|0){t=q;return}b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;t=q;return}case 3:{if(!g){t=q;return}if((c&514)==514?(b[g+10>>0]|0)==1:0)o=f[g+16>>2]|0;else n=56;do if((n|0)==56)if(!(c&1)){o=Ic(g,1)|0;break}else{t=q;return}while(0);if(!o){t=q;return}e=0;c=0;g=0;a:while(1){switch(b[o+e>>0]|0){case 0:break a;case 39:{c=KA(c|0,g|0,1,0)|0;g=ba()|0;break}default:{}}e=e+1|0}c=KA(c|0,g|0,e|0,0)|0;g=ba()|0;j=KA(c|0,g|0,3,0)|0;l=ba()|0;e=f[a>>2]|0;n=f[(f[e+32>>2]|0)+108>>2]|0;m=((n|0)<0)<<31>>31;if((l|0)>(m|0)|(l|0)==(m|0)&j>>>0>n>>>0){f[a+20>>2]=18;$e(e,41612,-1,1,0)|0;t=q;return}n=KA(c|0,g|0,2,0)|0;m=ba()|0;do if(!(m>>>0>0|(m|0)==0&n>>>0>2147483390)){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](j)|0;if(!c)break}else{e=ib[f[37372>>2]&255](j)|0;if((f[18194]|0)>>>0>>0)f[18194]=j;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){n=f[18187]|0;m=LA(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&m>>>0<=n>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(!c)break;g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}b[c>>0]=39;g=b[o>>0]|0;e=c+1|0;if(!(g<<24>>24))g=2;else{j=1;m=0;l=g;k=o;g=2;do{b[e>>0]=l;if((b[k>>0]|0)==39){b[c+g>>0]=39;j=j+2|0}else j=g;m=m+1|0;k=o+m|0;l=b[k>>0]|0;g=j+1|0;e=c+j|0}while(l<<24>>24!=0)}b[e>>0]=39;b[c+g>>0]=0;if(($e(f[a>>2]|0,c,g,1,101)|0)!=18){t=q;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=q;return}while(0);c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if(b[g>>0]|0){t=q;return}if(b[c+82>>0]|0){t=q;return}b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;t=q;return}default:{if(($e(f[a>>2]|0,40543,4,1,0)|0)!=18){t=q;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=q;return}}}function He(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;c=f[a>>2]|0;a=(f[c+32>>2]|0)+40|0;e=f[a>>2]|0;a=f[a+4>>2]|0;b=c+8|0;if(!(d[b>>1]&9216)){f[c>>2]=e;f[c+4>>2]=a;d[b>>1]=4;return}else{bf(c,e,a);return}}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;b=f[a>>2]|0;c=f[(f[b+32>>2]|0)+100>>2]|0;e=((c|0)<0)<<31>>31;a=b+8|0;if(!(d[a>>1]&9216)){f[b>>2]=c;f[b+4>>2]=e;d[a>>1]=4;return}else{bf(b,c,e);return}}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;b=f[a>>2]|0;c=f[(f[b+32>>2]|0)+104>>2]|0;e=((c|0)<0)<<31>>31;a=b+8|0;if(!(d[a>>1]&9216)){f[b>>2]=c;f[b+4>>2]=e;d[a>>1]=4;return}else{bf(b,c,e);return}}function Ke(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f[(f[a>>2]|0)+32>>2]|0;c=f[e>>2]|0;if(!c)return;g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0)A=f[c+16>>2]|0;else B=5;do if((B|0)==5)if(!(g&1)){A=Ic(c,1)|0;break}else return;while(0);if(!A)return;h=f[e>>2]|0;c=d[h+8>>1]|0;if((c&2)!=0?(b[h+10>>0]|0)==1:0)z=f[h+12>>2]|0;else B=11;do if((B|0)==11){c=c&65535;if(!(c&16)){if(c&1|0){z=0;break}z=_e(h,1)|0;break}else{g=f[h+12>>2]|0;if(!(c&16384)){z=g;break}z=(f[h>>2]|0)+g|0;break}}while(0);h=e+4|0;c=f[h>>2]|0;if(!c)return;g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0)y=f[c+16>>2]|0;else B=20;do if((B|0)==20)if(!(g&1)){y=Ic(c,1)|0;break}else return;while(0);if(!y)return;if(!(b[y>>0]|0)){mf(a,f[e>>2]|0);return}h=f[h>>2]|0;c=d[h+8>>1]|0;if((c&2)!=0?(b[h+10>>0]|0)==1:0)x=f[h+12>>2]|0;else B=28;do if((B|0)==28){c=c&65535;if(!(c&16)){if(c&1|0){x=0;break}x=_e(h,1)|0;break}else{g=f[h+12>>2]|0;if(!(c&16384)){x=g;break}x=(f[h>>2]|0)+g|0;break}}while(0);h=e+8|0;c=f[h>>2]|0;if(!c)return;g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0)w=f[c+16>>2]|0;else B=37;do if((B|0)==37)if(!(g&1)){w=Ic(c,1)|0;break}else return;while(0);if(!w)return;h=f[h>>2]|0;c=d[h+8>>1]|0;if((c&2)!=0?(b[h+10>>0]|0)==1:0)v=f[h+12>>2]|0;else B=43;do if((B|0)==43){c=c&65535;if(!(c&16)){if(c&1|0){v=0;break}v=_e(h,1)|0;break}else{g=f[h+12>>2]|0;if(!(c&16384)){v=g;break}v=(f[h>>2]|0)+g|0;break}}while(0);k=z+1|0;j=((k|0)<0)<<31>>31;c=f[a>>2]|0;if((f[(f[c+32>>2]|0)+108>>2]|0)<=(z|0)){f[a+20>>2]=18;$e(c,41612,-1,1,0)|0;return}u=KA(k|0,j|0,-1,-1)|0;t=ba()|0;a:do if(!(t>>>0>0|(t|0)==0&u>>>0>2147483390)){do if(!(f[9328]|0)){h=ib[f[37356>>2]&255](k)|0;if(!h)break a}else{c=ib[f[37372>>2]&255](k)|0;if((f[18194]|0)>>>0>>0)f[18194]=k;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){u=f[18187]|0;t=LA(g|0,h|0,c|0,((c|0)<0)<<31>>31|0)|0;s=ba()|0;f[17976]=((s|0)<0|(s|0)==0&t>>>0<=u>>>0)&1}h=ib[f[37356>>2]&255](c)|0;if(!h)break a;c=ib[f[37368>>2]&255](h)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0<=(f[18196]|0)>>>0)break;f[18196]=c}while(0);u=z-x|0;b:do if((u|0)>=0){r=v-x|0;s=((r|0)<0)<<31>>31;o=i+108|0;t=x+-1|0;p=~z;q=((p|0)<0)<<31>>31;if((v|0)<=(x|0)){g=0;c=0;while(1){e=A+c|0;i=b[e>>0]|0;do if(i<<24>>24==(b[y>>0]|0)){if(Hz(e,y,x)|0){B=85;break}YA(h+g|0,w|0,v|0)|0;g=g+v|0;e=t+c|0}else B=85;while(0);if((B|0)==85){B=0;b[h+g>>0]=i;g=g+1|0;e=c}c=e+1|0;if((e|0)>=(u|0))break b}}n=0;g=0;c=0;c:while(1){e=A+c|0;i=b[e>>0]|0;do if(i<<24>>24==(b[y>>0]|0)){if(Hz(e,y,x)|0){B=76;break}j=KA(k|0,j|0,r|0,s|0)|0;l=ba()|0;k=KA(j|0,l|0,-1,-1)|0;e=ba()|0;m=f[o>>2]|0;i=((m|0)<0)<<31>>31;if((e|0)>(i|0)|(e|0)==(i|0)&k>>>0>m>>>0){B=86;break c}i=n+1|0;if(!(i&n)){if(Mc()|0)break c;n=UA(0,j|0,32)|0;e=ba()|0;m=KA(j|0,l|0,p|0,q|0)|0;e=KA(m|0,ba()|0,n|0,e|0)|0;e=Nc(h,e,ba()|0)|0;if(!e)break c;else h=e}YA(h+g|0,w|0,v|0)|0;g=g+v|0;m=t+c|0;e=i;k=j;i=l}else B=76;while(0);if((B|0)==76){B=0;b[h+g>>0]=i;g=g+1|0;m=c;e=n;i=j}c=m+1|0;if((m|0)<(u|0)){n=e;j=i}else break b}if((B|0)==86){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;if(!h)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](h);return}else{a=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);return}}c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;do if(!(b[g>>0]|0)){if(b[c+82>>0]|0)break;b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1}while(0);if(!h)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](h);return}else{a=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);return}}else{g=0;c=0}while(0);B=z-c|0;YA(h+g|0,A+c|0,B|0)|0;B=g+B|0;b[h+B>>0]=0;if(($e(f[a>>2]|0,h,B,1,101)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}while(0);c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if(b[g>>0]|0)return;if(b[c+82>>0]|0)return;b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;return}function Le(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0;c=f[e>>2]|0;e=j[c+8>>1]|0;do if(!(e&4)){if(e&8|0){e=Fc(+p[c>>3])|0;c=ba()|0;h=7;break}if(!(e&18)){c=0;g=0}else{e=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;c=ba()|0;h=7}}else{e=c;c=f[e+4>>2]|0;e=f[e>>2]|0;h=7}while(0);if((h|0)==7){g=(c|0)>0|(c|0)==0&e>>>0>0;c=g?c:0;g=g?e:0}e=f[a>>2]|0;h=f[(f[e+32>>2]|0)+108>>2]|0;i=((h|0)<0)<<31>>31;if(c>>>0>i>>>0|(c|0)==(i|0)&g>>>0>h>>>0){f[a+20>>2]=18;if(!(d[e+8>>1]&1))return;$e(e,41612,-1,1,0)|0;return}c=e+8|0;if(!((d[c>>1]&9216)==0?!(f[e+24>>2]|0):0))ff(e);d[c>>1]=16400;f[e+12>>2]=0;f[e>>2]=(g|0)>0?g:0;b[e+10>>0]=1;f[e+16>>2]=0;return}function Me(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;i=f[e+4>>2]|0;g=d[i+8>>1]|0;if(-1431655766>>>(g&31)&1|0)return;m=(c|0)==3;if(m?-1431655766>>>(d[(f[e+8>>2]|0)+8>>1]&31)&1|0:0)return;h=f[e>>2]|0;k=d[h+8>>1]&15;c=g&65535;do if(!(c&4)){if(c&8|0){r=Fc(+p[i>>3])|0;ba()|0;break}if(!(c&18))r=0;else{r=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;ba()|0;h=f[e>>2]|0}}else r=f[i>>2]|0;while(0);q=((r|0)<0)<<31>>31;t=(k|16)<<16>>16==16;if(t){c=d[h+8>>1]|0;if((c&2)!=0?(b[h+10>>0]|0)==1:0){g=f[h+12>>2]|0;c=h}else s=14;do if((s|0)==14){c=c&65535;if(!(c&16)){if(c&1|0){g=0;c=h;break}g=_e(h,1)|0;c=f[e>>2]|0;break}else{g=f[h+12>>2]|0;if(!(c&16384)){c=h;break}g=(f[h>>2]|0)+g|0;c=h;break}}while(0);c=lf(c)|0;if(!c)return;else{o=c;n=g}}else{if(!h)return;c=d[h+8>>1]|0;if((c&514)==514?(b[h+10>>0]|0)==1:0)k=f[h+16>>2]|0;else s=24;do if((s|0)==24)if(!(c&1)){k=Ic(h,1)|0;break}else return;while(0);if(!k)return;if((r|0)<0?(l=b[k>>0]|0,l<<24>>24!=0):0){i=0;c=k;h=l;while(1){g=c+1|0;if((h&255)>191){c=g;while(1){h=b[c>>0]|0;if((h&-64)<<24>>24==-128)c=c+1|0;else break}}else{c=g;h=b[g>>0]|0}g=i+1|0;if(!(h<<24>>24)){o=k;n=g;break}else i=g}}else{o=k;n=0}}if(m){c=f[e+8>>2]|0;g=j[c+8>>1]|0;do if(!(g&4)){if(g&8|0){c=Fc(+p[c>>3])|0;ba()|0;s=42;break}if(!(g&18)){g=0;c=0;h=0}else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0;s=42}}else{c=f[c>>2]|0;s=42}while(0);if((s|0)==42){h=((c|0)<0)<<31>>31;e=(c|0)<0;m=LA(0,0,c|0,h|0)|0;s=ba()|0;g=c;c=e?m:c;h=e?s:h}k=g>>>31;g=h}else{g=f[(f[(f[a>>2]|0)+32>>2]|0)+108>>2]|0;k=0;c=g;g=((g|0)<0)<<31>>31}do if((r|0)>=0)if(!r){h=((g|0)>0|(g|0)==0&c>>>0>0)<<31>>31;c=KA(c|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;h=0;i=0;g=ba()|0;break}else{h=KA(r|0,q|0,-1,-1)|0;i=ba()|0;break}else{h=KA(n|0,((n|0)<0)<<31>>31|0,r|0,q|0)|0;i=ba()|0;q=(i|0)<0;e=KA(c|0,g|0,h|0,i|0)|0;s=ba()|0;r=(s|0)>0|(s|0)==0&e>>>0>0;h=q?0:h;i=q?0:i;c=q?(r?e:0):c;g=q?(r?s:0):g}while(0);r=(k|0)==0;l=LA(h|0,i|0,c|0,g|0)|0;k=ba()|0;s=(k|0)<0;l=r?h:s?0:l;k=r?i:s?0:k;m=r?c:s?h:c;i=r?g:s?i:g;if(t){r=KA(l|0,k|0,m|0,i|0)|0;t=ba()|0;c=((n|0)<0)<<31>>31;r=(t|0)>(c|0)|(t|0)==(c|0)&r>>>0>n>>>0;c=LA(n|0,c|0,l|0,k|0)|0;t=ba()|0;s=(t|0)>0|(t|0)==0&c>>>0>0;c=r?(s?c:0):m;t=r?(s?t:0):i;if(t>>>0>0|(t|0)==0&c>>>0>2147483647){if(!a)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}else{if(($e(f[a>>2]|0,o+l|0,c,0,-1)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}}g=b[o>>0]|0;if(((l|0)!=0|(k|0)!=0)&g<<24>>24!=0){c=o;do{h=c+1|0;if((g&255)>191){c=h;while(1){g=b[c>>0]|0;if((g&-64)<<24>>24==-128)c=c+1|0;else break}}else{c=h;g=b[h>>0]|0}l=KA(l|0,k|0,-1,-1)|0;k=ba()|0}while(((l|0)!=0|(k|0)!=0)&g<<24>>24!=0);l=c}else l=o;if(g<<24>>24!=0&((m|0)!=0|(i|0)!=0)){c=l;k=m;do{h=c+1|0;if((g&255)>191){c=h;while(1){g=b[c>>0]|0;if((g&-64)<<24>>24==-128)c=c+1|0;else break}}else{c=h;g=b[h>>0]|0}k=KA(k|0,i|0,-1,-1)|0;i=ba()|0}while(g<<24>>24!=0&((k|0)!=0|(i|0)!=0))}else c=l;c=c-l|0;if((c|0)<0){if(!a)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}else{if(($e(f[a>>2]|0,l,c,1,-1)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}}function Ne(a,c,e){a=a|0;c=c|0;e=e|0;var g=0.0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;q=t;t=t+16|0;m=q+8|0;n=q;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))o=hf(a,32)|0;else o=f[c+16>>2]|0;k=f[e>>2]|0;l=k+8|0;a=d[l>>1]&31;i=h[5792+a>>0]|0;if((a|16|0)==18){c=b[k+10>>0]|0;a=k+16|0;i=k+12|0;if(!(jf(f[a>>2]|0,m,f[i>>2]|0,c)|0))c=d[l>>1]|0;else{if(!(kf(f[a>>2]|0,n,f[i>>2]|0,c)|0)){m=n;n=f[m+4>>2]|0;c=k;f[c>>2]=f[m>>2];f[c+4>>2]=n;c=4}else{p[k>>3]=+p[m>>3];c=8}c=d[l>>1]&-3|c;d[l>>1]=c}i=h[5792+(c&31)>>0]|0}if(!((o|0)!=0&(i|0)!=5)){t=q;return}c=o+16|0;n=c;n=KA(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;a=ba()|0;f[c>>2]=n;f[c+4>>2]=a;c=f[e>>2]|0;a=j[c+8>>1]|0;if((i|0)!=1){do if(!(a&8)){if(a&4|0){e=c;g=+((f[e>>2]|0)>>>0)+4294967296.0*+(f[e+4>>2]|0);break}if(!(a&18))g=0.0;else g=+Hc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)}else g=+p[c>>3];while(0);p[o>>3]=g+ +p[o>>3];b[o+25>>0]=1;t=q;return}do if(!(a&4)){if(a&8|0){l=Fc(+p[c>>3])|0;m=ba()|0;break}if(!(a&18)){l=0;m=0}else{l=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;m=ba()|0}}else{m=c;l=f[m>>2]|0;m=f[m+4>>2]|0}while(0);p[o>>3]=+p[o>>3]+(+(l>>>0)+4294967296.0*+(m|0));n=o+25|0;e=o+24|0;if((b[e>>0]|b[n>>0])<<24>>24){t=q;return}c=o+8|0;i=c;a=f[i>>2]|0;i=f[i+4>>2]|0;if((m|0)>-1|(m|0)==-1&l>>>0>4294967295){o=LA(-1,2147483647,a|0,i|0)|0;k=ba()|0;if(((i|0)>0|(i|0)==0&a>>>0>0)&((k|0)<(m|0)|(k|0)==(m|0)&o>>>0>>0))k=26;else k=25}else if((i|0)<0?(k=LA(1,-2147483648,a|0,i|0)|0,s=ba()|0,o=KA(l|0,m|0,1,0)|0,r=ba()|0,(s|0)>(r|0)|(s|0)==(r|0)&k>>>0>o>>>0):0)k=26;else k=25;if((k|0)==25){o=KA(a|0,i|0,l|0,m|0)|0;r=ba()|0;s=c;f[s>>2]=o;f[s+4>>2]=r;t=q;return}else if((k|0)==26){b[e>>0]=1;b[n>>0]=1;t=q;return}}function Oe(a){a=a|0;var c=0,e=0,g=0,h=0.0,i=0,j=0,k=0;i=t;t=t+16|0;e=i+8|0;g=i;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))c=hf(a,0)|0;else c=f[c+16>>2]|0;if(!c){t=i;return}j=c+16|0;k=f[j+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[j>>2]|0)>>>0>0)){t=i;return}if(b[c+24>>0]|0){f[a+20>>2]=1;$e(f[a>>2]|0,41656,-1,1,-1)|0;t=i;return}if(!(b[c+25>>0]|0)){g=c+8|0;e=f[g>>2]|0;g=f[g+4>>2]|0;c=f[a>>2]|0;a=c+8|0;if(!(d[a>>1]&9216)){k=c;f[k>>2]=e;f[k+4>>2]=g;d[a>>1]=4;t=i;return}else{bf(c,e,g);t=i;return}}h=+p[c>>3];c=f[a>>2]|0;a=c+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else cf(c);p[e>>3]=h;p[g>>3]=+p[e>>3];if(!(+p[e>>3]==+p[g>>3])){t=i;return}p[c>>3]=h;d[a>>1]=8;t=i;return}function Pe(a,c,e){a=a|0;c=c|0;e=e|0;var g=0.0,i=0,k=0,l=0,m=0,n=0,o=0,q=0;q=t;t=t+16|0;m=q+8|0;n=q;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))o=hf(a,32)|0;else o=f[c+16>>2]|0;k=f[e>>2]|0;l=k+8|0;i=d[l>>1]&31;c=h[5792+i>>0]|0;if((i|16|0)==18){c=b[k+10>>0]|0;a=k+16|0;i=k+12|0;if(!(jf(f[a>>2]|0,m,f[i>>2]|0,c)|0))c=d[l>>1]|0;else{if(!(kf(f[a>>2]|0,n,f[i>>2]|0,c)|0)){m=n;n=f[m+4>>2]|0;c=k;f[c>>2]=f[m>>2];f[c+4>>2]=n;c=4}else{p[k>>3]=+p[m>>3];c=8}c=d[l>>1]&-3|c;d[l>>1]=c}c=h[5792+(c&31)>>0]|0}if(!((o|0)!=0&(c|0)!=5)){t=q;return}n=o+16|0;l=n;l=KA(f[l>>2]|0,f[l+4>>2]|0,-1,-1)|0;m=ba()|0;f[n>>2]=l;f[n+4>>2]=m;if((c|0)==1?(b[o+25>>0]|0)==0:0){c=f[e>>2]|0;a=j[c+8>>1]|0;do if(!(a&4)){if(a&8|0){c=Fc(+p[c>>3])|0;a=ba()|0;break}if(!(a&18)){c=0;a=0}else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;a=ba()|0}}else{a=c;c=f[a>>2]|0;a=f[a+4>>2]|0}while(0);p[o>>3]=+p[o>>3]-(+(c>>>0)+4294967296.0*+(a|0));o=o+8|0;n=o;n=LA(f[n>>2]|0,f[n+4>>2]|0,c|0,a|0)|0;e=ba()|0;f[o>>2]=n;f[o+4>>2]=e;t=q;return}c=f[e>>2]|0;a=j[c+8>>1]|0;do if(!(a&8)){if(a&4|0){e=c;g=+((f[e>>2]|0)>>>0)+4294967296.0*+(f[e+4>>2]|0);break}if(!(a&18))g=0.0;else g=+Hc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)}else g=+p[c>>3];while(0);p[o>>3]=+p[o>>3]-g;t=q;return}function Qe(a){a=a|0;var b=0,c=0.0,e=0,g=0,h=0;h=t;t=t+16|0;e=h+8|0;g=h;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,0)|0;else b=f[b+16>>2]|0;if(!b)c=0.0;else c=+p[b>>3];b=f[a>>2]|0;a=b+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else cf(b);p[e>>3]=c;p[g>>3]=+p[e>>3];if(!(+p[e>>3]==+p[g>>3])){t=h;return}p[b>>3]=c;d[a>>1]=8;t=h;return}function Re(a){a=a|0;var b=0,c=0,e=0,g=0.0,h=0,i=0,j=0;j=t;t=t+16|0;h=j+8|0;i=j;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,0)|0;else b=f[b+16>>2]|0;if(!b){t=j;return}e=b+16|0;c=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&c>>>0>0)){t=j;return}g=+p[b>>3]/(+(c>>>0)+4294967296.0*+(e|0));b=f[a>>2]|0;c=b+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else cf(b);p[h>>3]=g;p[i>>3]=+p[h>>3];if(!(+p[h>>3]==+p[i>>3])){t=j;return}p[b>>3]=g;d[c>>1]=8;t=j;return}function Se(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;e=f[a+8>>2]|0;if(!(d[e+8>>1]&8192))a=hf(a,8)|0;else a=f[e+16>>2]|0;if(!b){if(!a)return}else if(!(a|0?(1431655765>>>(d[(f[c>>2]|0)+8>>1]&31)&1|0)!=0:0))return;e=a;e=KA(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;b=ba()|0;c=a;f[c>>2]=e;f[c+4>>2]=b;return}function Te(a){a=a|0;var b=0,c=0,e=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,0)|0;else b=f[b+16>>2]|0;if(!b){c=0;e=0}else{e=b;c=f[e>>2]|0;e=f[e+4>>2]|0}b=f[a>>2]|0;a=b+8|0;if(!(d[a>>1]&9216)){f[b>>2]=c;f[b+4>>2]=e;d[a>>1]=4;return}else{bf(b,c,e);return}}function Ue(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;e=f[a+8>>2]|0;if(!(d[e+8>>1]&8192))a=hf(a,8)|0;else a=f[e+16>>2]|0;if(!b){if(!a)return}else if(!(a|0?(1431655765>>>(d[(f[c>>2]|0)+8>>1]&31)&1|0)!=0:0))return;e=a;e=KA(f[e>>2]|0,f[e+4>>2]|0,-1,-1)|0;b=ba()|0;c=a;f[c>>2]=e;f[c+4>>2]=b;return}function Ve(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;if(-1431655766>>>(d[(f[e>>2]|0)+8>>1]&31)&1|0)return;g=f[a+8>>2]|0;if(!(d[g+8>>1]&8192))k=hf(a,24)|0;else k=f[g+16>>2]|0;if(!k)return;h=k+12|0;i=(f[h>>2]|0)==0;f[h>>2]=f[(f[(f[a>>2]|0)+32>>2]|0)+108>>2];do if(!i){if((c|0)==2){a=e+4|0;c=f[a>>2]|0;g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0)h=f[c+16>>2]|0;else if(!(g&1)){h=Ic(c,1)|0;c=f[a>>2]|0}else h=0;g=d[c+8>>1]|0;if((g&2)!=0?(b[c+10>>0]|0)==1:0)g=f[c+12>>2]|0;else j=16;do if((j|0)==16){a=g&65535;if(!(a&16)){if(a&1|0){g=0;break}g=_e(c,1)|0;break}else{g=f[c+12>>2]|0;if(!(a&16384))break;g=(f[c>>2]|0)+g|0;break}}while(0);if(!h)break;else a=h}else{g=1;a=41635}c=k+16|0;h=f[c>>2]|0;i=h+g|0;if(i>>>0>=(f[k+8>>2]|0)>>>0){Ec(k,a,g);break}if(g|0){f[c>>2]=i;YA((f[k+4>>2]|0)+h|0,a|0,g|0)|0}}while(0);a=f[e>>2]|0;g=d[a+8>>1]|0;if((g&514)==514?(b[a+10>>0]|0)==1:0){i=f[a+16>>2]|0;c=a}else if(!(g&1)){i=Ic(a,1)|0;c=f[e>>2]|0}else{i=0;c=a}g=d[c+8>>1]|0;if((g&2)!=0?(b[c+10>>0]|0)==1:0)a=f[c+12>>2]|0;else j=34;do if((j|0)==34){g=g&65535;if(!(g&16)){if(g&1|0){a=0;break}a=_e(c,1)|0;break}else{a=f[c+12>>2]|0;if(!(g&16384))break;a=(f[c>>2]|0)+a|0;break}}while(0);if(!i)return;g=k+16|0;c=f[g>>2]|0;h=c+a|0;if(h>>>0>=(f[k+8>>2]|0)>>>0){Ec(k,i,a);return}if(!a)return;f[g>>2]=h;YA((f[k+4>>2]|0)+c|0,i|0,a|0)|0;return}function We(a){a=a|0;var c=0,e=0,g=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))c=hf(a,0)|0;else c=f[c+16>>2]|0;if(!c)return;switch(b[c+20>>0]|0){case 18:{f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}case 7:{c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;e=c+81|0;if(b[e>>0]|0)return;if(b[c+82>>0]|0)return;b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;return}default:{e=c+4|0;g=f[e>>2]|0;if(((g|0)!=0?(b[g+(f[c+16>>2]|0)>>0]=0,(f[c+12>>2]|0)!=0):0)?(b[c+21>>0]&4)==0:0)c=Cc(c)|0;else c=f[e>>2]|0;if(($e(f[a>>2]|0,c,-1,1,101)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}}}function Xe(a){a=a|0;var c=0,e=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))c=hf(a,0)|0;else c=f[c+16>>2]|0;if(!c)return;switch(b[c+20>>0]|0){case 18:{f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}case 7:{c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;e=c+81|0;if(b[e>>0]|0)return;if(b[c+82>>0]|0)return;b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;return}default:{e=f[c+16>>2]|0;if(!e)c=0;else{c=c+4|0;b[(f[c>>2]|0)+e>>0]=0;c=f[c>>2]|0}if(($e(f[a>>2]|0,c,-1,1,-1)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}}}function Ye(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;if(-1431655766>>>(d[(f[e>>2]|0)+8>>1]&31)&1|0)return;g=f[a+8>>2]|0;if(!(d[g+8>>1]&8192))k=hf(a,24)|0;else k=f[g+16>>2]|0;if(!k)return;h=f[e>>2]|0;a=d[h+8>>1]|0;if((a&2)!=0?(b[h+10>>0]|0)==1:0)j=f[h+12>>2]|0;else i=9;do if((i|0)==9){a=a&65535;if(!(a&16)){if(a&1|0){j=0;break}j=_e(h,1)|0;break}else{g=f[h+12>>2]|0;if(!(a&16384)){j=g;break}j=(f[h>>2]|0)+g|0;break}}while(0);do if((c|0)==2){h=f[e+4>>2]|0;a=d[h+8>>1]|0;if(a&2?(b[h+10>>0]|0)==1:0){a=f[h+12>>2]|0;break}g=a&65535;if(!(g&16)){if(g&1|0){a=0;break}a=_e(h,1)|0;break}else{a=f[h+12>>2]|0;if(!(g&16384))break;a=(f[h>>2]|0)+a|0;break}}else a=1;while(0);a=a+j|0;g=k+16|0;h=f[g>>2]|0;if((h|0)>(a|0)){e=h-a|0;f[g>>2]=e;c=f[k+4>>2]|0;ZA(c|0,c+a|0,e|0)|0;if(f[g>>2]|0)return}else f[g>>2]=0;f[k+12>>2]=0;return}function Ze(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=f[(f[a>>2]|0)+32>>2]|0;o=f[(f[a+4>>2]|0)+8>>2]|0;g=f[e>>2]|0;do if(g){i=d[g+8>>1]|0;if((i&514)==514?(b[g+10>>0]|0)==1:0){n=f[g+16>>2]|0;break}if(!(i&1))n=Ic(g,1)|0;else n=0}else n=0;while(0);g=f[e+4>>2]|0;do if(g){i=d[g+8>>1]|0;if((i&514)==514?(b[g+10>>0]|0)==1:0){m=f[g+16>>2]|0;break}if(!(i&1))m=Ic(g,1)|0;else m=0}else m=0;while(0);j=f[e>>2]|0;g=d[j+8>>1]|0;if((g&2)!=0?(b[j+10>>0]|0)==1:0)g=f[j+12>>2]|0;else l=16;do if((l|0)==16){i=g&65535;if(!(i&16)){if(i&1|0){g=0;break}g=_e(j,1)|0;break}else{g=f[j+12>>2]|0;if(!(i&16384))break;g=(f[j>>2]|0)+g|0;break}}while(0);if((g|0)>(f[k+140>>2]|0)){f[a+20>>2]=1;$e(f[a>>2]|0,41534,-1,1,-1)|0;return}do if((c|0)==3){g=f[e+8>>2]|0;if(!g)return;i=d[g+8>>1]|0;if((i&514)==514?(b[g+10>>0]|0)==1:0)e=f[g+16>>2]|0;else l=28;do if((l|0)==28)if(!(i&1)){e=Ic(g,1)|0;break}else return;while(0);if(!e)return;k=b[e>>0]|0;if((e|0)!=(-1|0)&k<<24>>24!=0){g=e;c=0;j=k;while(1){i=g+1|0;if((j&255)>191){g=i;while(1){j=b[g>>0]|0;if((j&-64)<<24>>24==-128)g=g+1|0;else break}}else{g=i;j=b[i>>0]|0}if(j<<24>>24!=0&(g|0)!=(-1|0))c=c+1|0;else break}if(!c){j=e+1|0;g=k&255;if((k&255)<=191)break;g=h[5728+(g+-192)>>0]|0;i=b[j>>0]|0;if((i&-64)<<24>>24==-128)do{j=j+1|0;g=g<<6|i&63;i=b[j>>0]|0}while((i&-64)<<24>>24==-128);g=(g&-2|0)==65534|(g>>>0<128|(g&-2048|0)==55296)?65533:g;break}}f[a+20>>2]=1;$e(f[a>>2]|0,41567,-1,1,-1)|0;return}else g=h[o+2>>0]|0;while(0);if(!((n|0)!=0&(m|0)!=0))return;i=(af(n,m,o,g)|0)==0;g=f[a>>2]|0;i=i&1;j=g+8|0;if(!(d[j>>1]&9216)){o=g;f[o>>2]=i;f[o+4>>2]=0;d[j>>1]=4;return}else{bf(g,i,0);return}}function _e(a,b){a=a|0;b=b|0;if(!(Ic(a,b)|0)){b=0;return b|0}b=f[a+12>>2]|0;return b|0}function $e(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!c){i=a+8|0;if(!(d[i>>1]&9216)){d[i>>1]=1;s=0;return s|0}else{cf(a);s=0;return s|0}}l=a+32|0;i=f[l>>2]|0;if(!i)r=1e9;else r=f[i+108>>2]|0;p=g<<24>>24==0;k=p?16:2;if((e|0)<0){a:do if(g<<24>>24!=1)if((r|0)<0)i=0;else{i=0;do{if(!((b[c+(i|1)>>0]|b[c+i>>0])<<24>>24))break a;i=i+2|0}while((i|0)<=(r|0))}else{i=(wz(c)|0)&2147483647;i=(i|0)>(r|0)?r+1|0:i}while(0);m=k|512;q=i}else{m=k;q=e}do if((h|0)==(-1|0)){k=((m&512)==0?0:g<<24>>24==1?1:2)+q|0;if((q|0)>(r|0)){s=18;return s|0}i=(k|0)>32?k:32;do if((f[a+24>>2]|0)<(i|0))if(!(df(a,i,0)|0)){e=a+8|0;i=f[a+16>>2]|0;break}else{s=7;return s|0}else{i=f[a+20>>2]|0;f[a+16>>2]=i;e=a+8|0;d[e>>1]=d[e>>1]&13}while(0);YA(i|0,c|0,k|0)|0}else{i=(h|0)==139;e=a+8|0;if(!((d[e>>1]&9216)==0?!(f[a+24>>2]|0):0))ff(a);f[a+16>>2]=c;if(!i){f[a+36>>2]=h;m=(((h|0)==0?2048:1024)|m&65535)&65535;break}f[a+20>>2]=c;i=f[l>>2]|0;if(((i|0)!=0?(n=c,(f[i+304>>2]|0)>>>0<=n>>>0):0)?(f[i+308>>2]|0)>>>0>n>>>0:0)i=j[i+276>>1]|0;else i=ib[f[37368>>2]&255](c)|0;f[a+24>>2]=i}while(0);o=a+12|0;f[o>>2]=q;d[e>>1]=m;g=p?1:g;n=a+10|0;b[n>>0]=g;do if(g<<24>>24!=1&(q|0)>1){c=a+16|0;i=f[c>>2]|0;k=b[i>>0]|0;l=b[i+1>>0]|0;if(!(k<<24>>24==-1&l<<24>>24==-2))if(k<<24>>24==-2&l<<24>>24==-1)h=3;else break;else h=2;k=m&65535;do if(k&18){do if(k&16384){g=(f[a>>2]|0)+q|0;if(!(df(a,(g|0)>1?g:1,1)|0)){_A((f[c>>2]|0)+(f[o>>2]|0)|0,0,f[a>>2]|0)|0;k=(f[o>>2]|0)+(f[a>>2]|0)|0;f[o>>2]=k;i=d[e>>1]&-16897;d[e>>1]=i;break}else{s=7;return s|0}}else{k=q;i=m}while(0);if(f[a+24>>2]|0?(s=f[c>>2]|0,(s|0)==(f[a+20>>2]|0)):0){l=i;i=s;break}if(!(gf(a)|0)){l=d[e>>1]|0;k=f[o>>2]|0;i=f[c>>2]|0;break}else{s=7;return s|0}}else{l=m;k=q}while(0);d[e>>1]=l&-4097;s=k+-2|0;f[o>>2]=s;ZA(i|0,i+2|0,s|0)|0;b[(f[c>>2]|0)+(f[o>>2]|0)>>0]=0;b[(f[c>>2]|0)+((f[o>>2]|0)+1)>>0]=0;d[e>>1]=d[e>>1]|512;b[n>>0]=h}while(0);s=(q|0)>(r|0)?18:0;return s|0} -function bm(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=t;t=t+16|0;n=C+8|0;m=C;q=C+12|0;p=f[c+12>>2]|0;o=a+40|0;A=f[o>>2]|0;B=A+1|0;f[o>>2]=A+2;k=f[a>>2]|0;h=f[c+24>>2]|0;i=f[k+16>>2]|0;if(!h)u=-1e6;else{g=0;while(1)if((f[i+(g<<4)+12>>2]|0)==(h|0)){u=g;break}else g=g+1|0}h=f[c>>2]|0;g=f[i+(u<<4)>>2]|0;do if(((b[k+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(l=f[k+312>>2]|0,l|0):0){g=nb[l&127](f[k+316>>2]|0,27,h,0,g,f[a+236>>2]|0)|0;if((g|0)==1){ni(a,49816,m);f[a+12>>2]=23;t=C;return}if((g|2|0)==2){if(!g)break;t=C;return}else{ni(a,49831,n);f[a+12>>2]=1;t=C;return}}while(0);nm(a,u,f[p+28>>2]|0,1,f[p>>2]|0);k=a+8|0;g=f[k>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;g=sl(a)|0;if(!g){t=C;return}else y=g}else y=g;if((e|0)>-1)l=e;else l=f[c+44>>2]|0;n=om(a,c)|0;z=f[o>>2]|0;f[o>>2]=z+1;v=c+50|0;h=j[v>>1]|0;m=(n|0)==0;if(!m)f[n>>2]=(f[n>>2]|0)+1;w=y+136|0;g=f[w>>2]|0;x=y+12|0;if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;o=f[y+88>>2]|0;b[o+(g*20|0)>>0]=114;d[o+(g*20|0)+2>>1]=0;f[o+(g*20|0)+4>>2]=z;f[o+(g*20|0)+8>>2]=0;f[o+(g*20|0)+12>>2]=h;f[o+(g*20|0)+16>>2]=0;b[o+(g*20|0)+1>>0]=0}else g=tl(y,114,z,0,h)|0;h=f[y>>2]|0;do if(!(b[h+81>>0]|0)){if((g|0)<0)g=(f[w>>2]|0)+-1|0;h=f[y+88>>2]|0;i=h+(g*20|0)+1|0;if(b[i>>0]|0){ul(y,h+(g*20|0)|0,n,-9);break}if(!m){f[h+(g*20|0)+16>>2]=n;b[i>>0]=-9}}else if(!(m|(f[h+480>>2]|0)!=0)?(o=(f[n>>2]|0)+-1|0,f[n>>2]=o,(o|0)==0):0){g=f[n+12>>2]|0;if(g|0){if(f[g+480>>2]|0){Kc(g,n);break}o=n;if((f[g+304>>2]|0)>>>0<=o>>>0?(f[g+308>>2]|0)>>>0>o>>>0:0){o=g+300|0;f[n>>2]=f[o>>2];f[o>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{o=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);vl(a,A,u,p,109);g=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;p=f[y+88>>2]|0;b[p+(g*20|0)>>0]=36;d[p+(g*20|0)+2>>1]=0;f[p+(g*20|0)+4>>2]=A;f[p+(g*20|0)+8>>2]=0;f[p+(g*20|0)+12>>2]=0;f[p+(g*20|0)+16>>2]=0;b[p+(g*20|0)+1>>0]=0}else g=tl(y,36,A,0,0)|0;p=a+19|0;h=b[p>>0]|0;if(!(h<<24>>24)){i=a+44|0;o=(f[i>>2]|0)+1|0;f[i>>2]=o}else{o=h+-1<<24>>24;b[p>>0]=o;o=f[a+144+((o&255)<<2)>>2]|0}h=f[a+116>>2]|0;b[((h|0)==0?a:h)+20>>0]=1;xm(a,c,A,o,0,q,0,0)|0;h=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(h|0)){f[w>>2]=h+1;i=f[y+88>>2]|0;b[i+(h*20|0)>>0]=-124;d[i+(h*20|0)+2>>1]=0;f[i+(h*20|0)+4>>2]=z;f[i+(h*20|0)+8>>2]=o;f[i+(h*20|0)+12>>2]=0;f[i+(h*20|0)+16>>2]=0;b[i+(h*20|0)+1>>0]=0}else tl(y,132,z,o,0)|0;h=f[q>>2]|0;if(h|0?(r=f[k>>2]|0,s=f[(f[r+12>>2]|0)+64>>2]|0,s|0):0)f[s+(~h<<2)>>2]=f[r+136>>2];h=g+1|0;i=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(i|0)){f[w>>2]=i+1;s=f[y+88>>2]|0;b[s+(i*20|0)>>0]=5;d[s+(i*20|0)+2>>1]=0;f[s+(i*20|0)+4>>2]=A;f[s+(i*20|0)+8>>2]=h;f[s+(i*20|0)+12>>2]=0;f[s+(i*20|0)+16>>2]=0;b[s+(i*20|0)+1>>0]=0}else tl(y,5,A,h,0)|0;h=f[w>>2]|0;if(!(b[(f[y>>2]|0)+81>>0]|0))g=(f[y+88>>2]|0)+(((g|0)<0?h+-1|0:g)*20|0)|0;else g=72144;f[g+8>>2]=h;do if((e|0)<0)if((f[(f[x>>2]|0)+48>>2]|0)>(h|0)){f[w>>2]=h+1;s=f[y+88>>2]|0;b[s+(h*20|0)>>0]=-118;d[s+(h*20|0)+2>>1]=0;f[s+(h*20|0)+4>>2]=l;f[s+(h*20|0)+8>>2]=u;f[s+(h*20|0)+12>>2]=0;f[s+(h*20|0)+16>>2]=0;b[s+(h*20|0)+1>>0]=0;break}else{tl(y,138,l,u,0)|0;break}while(0);g=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;s=f[y+88>>2]|0;b[s+(g*20|0)>>0]=110;d[s+(g*20|0)+2>>1]=0;f[s+(g*20|0)+4>>2]=B;f[s+(g*20|0)+8>>2]=l;f[s+(g*20|0)+12>>2]=u;f[s+(g*20|0)+16>>2]=0;b[s+(g*20|0)+1>>0]=0}else g=tl(y,110,B,l,u)|0;h=f[y>>2]|0;a:do if(!(b[h+81>>0]|0)){if((g|0)<0)g=(f[w>>2]|0)+-1|0;h=f[y+88>>2]|0;i=h+(g*20|0)+1|0;if(b[i>>0]|0){ul(y,h+(g*20|0)|0,n,-9);break}if(!m){f[h+(g*20|0)+16>>2]=n;b[i>>0]=-9}}else if(!(m|(f[h+480>>2]|0)!=0)?(u=(f[n>>2]|0)+-1|0,f[n>>2]=u,(u|0)==0):0){g=f[n+12>>2]|0;do if(g|0){if(f[g+480>>2]|0){Kc(g,n);break a}h=n;if((f[g+304>>2]|0)>>>0>h>>>0)break;if((f[g+308>>2]|0)>>>0<=h>>>0)break;u=g+300|0;f[n>>2]=f[u>>2];f[u>>2]=n;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{u=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);g=f[w>>2]|0;if((g|0)>0)d[(f[y+88>>2]|0)+((g+-1|0)*20|0)+2>>1]=(e>>31)+16&65520|1;if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;l=f[y+88>>2]|0;b[l+(g*20|0)>>0]=34;d[l+(g*20|0)+2>>1]=0;f[l+(g*20|0)+4>>2]=z;f[l+(g*20|0)+8>>2]=0;f[l+(g*20|0)+12>>2]=0;f[l+(g*20|0)+16>>2]=0;b[l+(g*20|0)+1>>0]=0;l=g}else l=tl(y,34,z,0,0)|0;g=f[w>>2]|0;if(!(b[c+54>>0]|0))k=g;else{if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;i=f[y+88>>2]|0;b[i+(g*20|0)>>0]=11;d[i+(g*20|0)+2>>1]=0;f[i+(g*20|0)+4>>2]=0;f[i+(g*20|0)+8>>2]=1;f[i+(g*20|0)+12>>2]=0;f[i+(g*20|0)+16>>2]=0;b[i+(g*20|0)+1>>0]=0;i=g}else i=tl(y,11,0,1,0)|0;k=f[w>>2]|0;h=j[v>>1]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(k|0)){f[w>>2]=k+1;g=f[y+88>>2]|0;b[g+(k*20|0)>>0]=126;d[g+(k*20|0)+2>>1]=0;f[g+(k*20|0)+4>>2]=z;f[g+(k*20|0)+8>>2]=i;f[g+(k*20|0)+12>>2]=o;f[g+(k*20|0)+16>>2]=0;b[g+(k*20|0)+1>>0]=0;g=k}else g=tl(y,126,z,i,o)|0;if(!(b[(f[y>>2]|0)+81>>0]|0)){e=f[y+88>>2]|0;b[e+(g*20|0)+1>>0]=-3;f[e+(g*20|0)+16>>2]=h}ym(a,2,c);g=f[w>>2]|0;if(!(b[(f[y>>2]|0)+81>>0]|0))h=(f[y+88>>2]|0)+(((i|0)<0?g+-1|0:i)*20|0)|0;else h=72144;f[h+8>>2]=g}if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;c=f[y+88>>2]|0;b[c+(g*20|0)>>0]=127;d[c+(g*20|0)+2>>1]=0;f[c+(g*20|0)+4>>2]=z;f[c+(g*20|0)+8>>2]=o;f[c+(g*20|0)+12>>2]=B;f[c+(g*20|0)+16>>2]=0;b[c+(g*20|0)+1>>0]=0}else tl(y,127,z,o,B)|0;g=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;c=f[y+88>>2]|0;b[c+(g*20|0)>>0]=-125;d[c+(g*20|0)+2>>1]=0;f[c+(g*20|0)+4>>2]=B;f[c+(g*20|0)+8>>2]=0;f[c+(g*20|0)+12>>2]=0;f[c+(g*20|0)+16>>2]=0;b[c+(g*20|0)+1>>0]=0}else tl(y,131,B,0,0)|0;g=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;c=f[y+88>>2]|0;b[c+(g*20|0)>>0]=-123;d[c+(g*20|0)+2>>1]=0;f[c+(g*20|0)+4>>2]=B;f[c+(g*20|0)+8>>2]=o;f[c+(g*20|0)+12>>2]=0;f[c+(g*20|0)+16>>2]=0;b[c+(g*20|0)+1>>0]=0}else tl(y,133,B,o,0)|0;g=f[w>>2]|0;if((g|0)>0)d[(f[y+88>>2]|0)+((g+-1|0)*20|0)+2>>1]=16;do if(o){h=b[p>>0]|0;if((h&255)>=8)break;b[p>>0]=h+1<<24>>24;f[a+144+((h&255)<<2)>>2]=o;g=f[w>>2]|0}while(0);if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;a=f[y+88>>2]|0;b[a+(g*20|0)>>0]=3;d[a+(g*20|0)+2>>1]=0;f[a+(g*20|0)+4>>2]=z;f[a+(g*20|0)+8>>2]=k;f[a+(g*20|0)+12>>2]=0;f[a+(g*20|0)+16>>2]=0;b[a+(g*20|0)+1>>0]=0}else tl(y,3,z,k,0)|0;h=f[w>>2]|0;if(!(b[(f[y>>2]|0)+81>>0]|0))g=(f[y+88>>2]|0)+(((l|0)<0?h+-1|0:l)*20|0)|0;else g=72144;f[g+8>>2]=h;if((f[(f[x>>2]|0)+48>>2]|0)>(h|0)){f[w>>2]=h+1;a=f[y+88>>2]|0;b[a+(h*20|0)>>0]=117;d[a+(h*20|0)+2>>1]=0;f[a+(h*20|0)+4>>2]=A;f[a+(h*20|0)+8>>2]=0;f[a+(h*20|0)+12>>2]=0;f[a+(h*20|0)+16>>2]=0;b[a+(h*20|0)+1>>0]=0}else tl(y,117,A,0,0)|0;g=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;A=f[y+88>>2]|0;b[A+(g*20|0)>>0]=117;d[A+(g*20|0)+2>>1]=0;f[A+(g*20|0)+4>>2]=B;f[A+(g*20|0)+8>>2]=0;f[A+(g*20|0)+12>>2]=0;f[A+(g*20|0)+16>>2]=0;b[A+(g*20|0)+1>>0]=0}else tl(y,117,B,0,0)|0;g=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;B=f[y+88>>2]|0;b[B+(g*20|0)>>0]=117;d[B+(g*20|0)+2>>1]=0;f[B+(g*20|0)+4>>2]=z;f[B+(g*20|0)+8>>2]=0;f[B+(g*20|0)+12>>2]=0;f[B+(g*20|0)+16>>2]=0;b[B+(g*20|0)+1>>0]=0;t=C;return}else{tl(y,117,z,0,0)|0;t=C;return}}function cm(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=f[c+8>>2]|0;if(!g)return;o=c+72|0;p=a+116|0;if(!e){do{j=f[o>>2]|0;if(!j)c=-1e6;else{i=f[(f[a>>2]|0)+16>>2]|0;c=0;while(1)if((f[i+(c<<4)+12>>2]|0)==(j|0))break;else c=c+1|0}l=f[p>>2]|0;l=(l|0)==0?a:l;i=l+84|0;j=f[i>>2]|0;k=1<>2]=j|k,(c|0)==1):0)tm(l)|0;e=l+80|0;f[e>>2]=f[e>>2]|k;bm(a,g,-1);g=f[g+20>>2]|0}while((g|0)!=0);return}do{c=d[g+52>>1]|0;a:do if(c<<16>>16){m=f[g+4>>2]|0;n=g+32|0;l=c&65535;k=0;while(1){if((d[m+(k<<1)>>1]|0)>-1){i=f[(f[n>>2]|0)+(k<<2)>>2]|0;j=b[i>>0]|0;c=(h[1232+(j&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0;if(!(j<<24>>24==0|(c|0)!=0)){j=e;do{i=i+1|0;j=j+1|0;q=b[i>>0]|0;c=(h[1232+(q&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(q<<24>>24==0|(c|0)!=0))}if(!c)break}k=k+1|0;if(k>>>0>=l>>>0)break a}i=f[o>>2]|0;if(!i)c=-1e6;else{j=f[(f[a>>2]|0)+16>>2]|0;c=0;while(1)if((f[j+(c<<4)+12>>2]|0)==(i|0))break;else c=c+1|0}l=f[p>>2]|0;l=(l|0)==0?a:l;i=l+84|0;j=f[i>>2]|0;k=1<>2]=j|k,(c|0)==1):0)tm(l)|0;q=l+80|0;f[q>>2]=f[q>>2]|k;bm(a,g,-1)}while(0);g=f[g+20>>2]|0}while((g|0)!=0);return}function dm(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=t;t=t+64|0;C=I+48|0;B=I+40|0;r=I+32|0;q=I+24|0;p=I+16|0;o=I+8|0;u=I;F=I+52|0;H=f[a>>2]|0;a:do if(!(b[H+165>>0]|0)){m=a+4|0;n=H+24|0;j=(f[n>>2]&1|0)==0;k=H+16|0;w=f[(f[k>>2]|0)+12>>2]|0;b[H+78>>0]=b[w+77>>0]|0;if(!((d[w+78>>1]&1)==0?(g=qi(H,0,m,0)|0,(g|0)!=0):0))G=4;b:do if((G|0)==4){g=f[H+20>>2]|0;if((g|0)>1)do{i=g;g=g+-1|0;if((d[(f[(f[k>>2]|0)+(g<<4)+12>>2]|0)+78>>1]&1)==0?(l=qi(H,g,m,0)|0,l|0):0){g=l;break b}}while((i|0)>2);if(j)f[n>>2]=f[n>>2]&-2;if(!(b[H+89>>0]|0))break a;f[n>>2]=f[n>>2]|8;break a}while(0);f[a+12>>2]=g;a=a+36|0;f[a>>2]=(f[a>>2]|0)+1;t=I;return}while(0);c:do if(!c){m=H+20|0;if((f[m>>2]|0)>0){n=a+116|0;o=a+40|0;p=a+44|0;q=a+8|0;r=a+23|0;l=0;do{do if((l|0)!=1){k=f[(f[(f[a>>2]|0)+16>>2]|0)+(l<<4)+12>>2]|0;j=f[n>>2]|0;j=(j|0)==0?a:j;g=j+84|0;c=f[g>>2]|0;i=1<>2]=c|i;c=j+80|0;f[c>>2]=f[c>>2]|i;c=f[o>>2]|0;f[o>>2]=c+3;lm(a,l,c,0,0);i=(f[p>>2]|0)+1|0;j=f[o>>2]|0;g=f[k+16>>2]|0;if(g|0)do{mm(a,f[g+8>>2]|0,0,c,i,j);g=f[g>>2]|0}while((g|0)!=0);g=f[q>>2]|0;if(!g){if((f[n>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[r>>0]=1;g=sl(a)|0;if(!g)break}c=g+136|0;i=f[c>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(i|0)){f[c>>2]=i+1;G=f[g+88>>2]|0;b[G+(i*20|0)>>0]=-112;d[G+(i*20|0)+2>>1]=0;f[G+(i*20|0)+4>>2]=l;f[G+(i*20|0)+8>>2]=0;f[G+(i*20|0)+12>>2]=0;f[G+(i*20|0)+16>>2]=0;b[G+(i*20|0)+1>>0]=0;break}else{tl(g,144,l,0,0)|0;break}}while(0);l=l+1|0}while((l|0)<(f[m>>2]|0))}}else{i=e+4|0;do if(!(f[i>>2]|0)){w=Hl(H,c)|0;g=f[a>>2]|0;if((w|0)<=-1){if(!(f[i>>2]|0)){g=h[g+164>>0]|0;break}if(b[g+165>>0]|0){ni(a,51151,q);break c}g=Hl(g,c)|0;if((g|0)>=0){c=e;break}f[r>>2]=c;ni(a,51168,r);break c}o=f[(f[g+16>>2]|0)+(w<<4)+12>>2]|0;p=a+116|0;n=f[p>>2]|0;n=(n|0)==0?a:n;g=n+84|0;c=f[g>>2]|0;m=1<>2]=c|m,(w|0)==1):0)?(y=f[n>>2]|0,s=y+16|0,(f[(f[s>>2]|0)+20>>2]|0)==0):0)?(b[n+195>>0]|0)==0:0){g=cj(f[y>>2]|0,0,y,F,0,542)|0;if(g|0){ni(n,51535,u);f[n+12>>2]=g;break}F=f[F>>2]|0;f[(f[s>>2]|0)+20>>2]=F;g=f[y+92>>2]|0;i=f[F+4>>2]|0;f[i+4>>2]=f[F>>2];if(!(d[i+22>>1]&2)){j=i+32|0;k=i+36|0;l=(f[j>>2]|0)-(f[k>>2]|0)|0;if(((g+-512|0)>>>0<65025?(g+-1&g|0)==0:0)?(f[j>>2]=g,x=i+80|0,v=f[x>>2]|0,v|0):0){c=v+-4|0;f[x>>2]=c;g=c;do if((f[18022]|0)>>>0<=g>>>0)if((f[18023]|0)>>>0>g>>>0){f[18188]=(f[18188]|0)+-1;f[c>>2]=f[18025];f[18025]=c;F=(f[18026]|0)+1|0;f[18026]=F;f[18027]=(F|0)<(f[18021]|0)&1;break}else{g=ib[f[37368>>2]&255](c)|0;G=49;break}else{g=ib[f[37368>>2]&255](c)|0;G=49}while(0);do if((G|0)==49){f[18189]=(f[18189]|0)-g;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{G=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);f[x>>2]=0}G=ih(f[i>>2]|0,j,l)|0;f[k>>2]=(f[j>>2]|0)-(l&65535);if((G|0)==7){g=y+81|0;if((b[g>>0]|0)==0?(b[y+82>>0]|0)==0:0){b[g>>0]=1;if((f[y+180>>2]|0)>0)f[y+264>>2]=1;G=y+272|0;f[G>>2]=(f[G>>2]|0)+1}break}}}while(0);j=n+80|0;f[j>>2]=f[j>>2]|m;j=a+40|0;c=f[j>>2]|0;f[j>>2]=c+3;lm(a,w,c,0,0);i=(f[a+44>>2]|0)+1|0;j=f[j>>2]|0;g=f[o+16>>2]|0;if(g|0)do{mm(a,f[g+8>>2]|0,0,c,i,j);g=f[g>>2]|0}while((g|0)!=0);g=f[a+8>>2]|0;if(!g){if((f[p>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;g=sl(a)|0;if(!g)break c}c=g+136|0;i=f[c>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(i|0)){f[c>>2]=i+1;G=f[g+88>>2]|0;b[G+(i*20|0)>>0]=-112;d[G+(i*20|0)+2>>1]=0;f[G+(i*20|0)+4>>2]=w;f[G+(i*20|0)+8>>2]=0;f[G+(i*20|0)+12>>2]=0;f[G+(i*20|0)+16>>2]=0;b[G+(i*20|0)+1>>0]=0;break c}else{tl(g,144,w,0,0)|0;break c}}else{g=f[a>>2]|0;if(b[g+165>>0]|0){ni(a,51151,o);break c}g=Hl(g,c)|0;if((g|0)<0){f[p>>2]=c;ni(a,51168,p);break c}else c=e}while(0);if(!(f[i>>2]|0))g=0;else g=f[(f[H+16>>2]|0)+(g<<4)>>2]|0;s=pl(H,c)|0;if(s|0){e=Qj(H,s,g)|0;do if(!e){q=pi(a,0,s,g)|0;if(q|0){c=f[q+72>>2]|0;if(!c)r=-1e6;else{i=f[(f[a>>2]|0)+16>>2]|0;g=0;while(1)if((f[i+(g<<4)+12>>2]|0)==(c|0)){r=g;break}else g=g+1|0}p=a+116|0;o=f[p>>2]|0;o=(o|0)==0?a:o;g=o+84|0;c=f[g>>2]|0;n=1<>2]=c|n,(r|0)==1):0)?(E=f[o>>2]|0,A=E+16|0,(f[(f[A>>2]|0)+20>>2]|0)==0):0)?(b[o+195>>0]|0)==0:0){g=cj(f[E>>2]|0,0,E,F,0,542)|0;if(g|0){ni(o,51535,C);f[o+12>>2]=g;break}F=f[F>>2]|0;f[(f[A>>2]|0)+20>>2]=F;g=f[E+92>>2]|0;j=f[F+4>>2]|0;f[j+4>>2]=f[F>>2];if(!(d[j+22>>1]&2)){k=j+32|0;l=j+36|0;m=(f[k>>2]|0)-(f[l>>2]|0)|0;do if((g+-512|0)>>>0<65025){if(g+-1&g|0)break;f[k>>2]=g;i=j+80|0;g=f[i>>2]|0;if(!g)break;c=g+-4|0;f[i>>2]=c;g=c;do if((f[18022]|0)>>>0<=g>>>0)if((f[18023]|0)>>>0>g>>>0){f[18188]=(f[18188]|0)+-1;f[c>>2]=f[18025];f[18025]=c;F=(f[18026]|0)+1|0;f[18026]=F;f[18027]=(F|0)<(f[18021]|0)&1;break}else{g=ib[f[37368>>2]&255](c)|0;G=143;break}else{g=ib[f[37368>>2]&255](c)|0;G=143}while(0);do if((G|0)==143){f[18189]=(f[18189]|0)-g;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{G=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);f[i>>2]=0}while(0);G=ih(f[j>>2]|0,k,m)|0;f[l>>2]=(f[k>>2]|0)-(m&65535);if((G|0)==7){g=E+81|0;do if(!(b[g>>0]|0)){if(b[E+82>>0]|0)break;b[g>>0]=1;if((f[E+180>>2]|0)>0)f[E+264>>2]=1;G=E+272|0;f[G>>2]=(f[G>>2]|0)+1}while(0);break}}}while(0);g=o+80|0;f[g>>2]=f[g>>2]|n;g=a+40|0;G=f[g>>2]|0;f[g>>2]=G+3;lm(a,r,G,f[q>>2]|0,47825);mm(a,q,0,G,(f[a+44>>2]|0)+1|0,f[g>>2]|0);g=f[a+8>>2]|0;if(!g){if((f[p>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;g=sl(a)|0;if(!g)break}c=g+136|0;i=f[c>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(i|0)){f[c>>2]=i+1;G=f[g+88>>2]|0;b[G+(i*20|0)>>0]=-112;d[G+(i*20|0)+2>>1]=0;f[G+(i*20|0)+4>>2]=r;f[G+(i*20|0)+8>>2]=0;f[G+(i*20|0)+12>>2]=0;f[G+(i*20|0)+16>>2]=0;b[G+(i*20|0)+1>>0]=0;break}else{tl(g,144,r,0,0)|0;break}}}else{q=f[e+12>>2]|0;c=f[q+72>>2]|0;if(!c)r=-1e6;else{i=f[(f[a>>2]|0)+16>>2]|0;g=0;while(1)if((f[i+(g<<4)+12>>2]|0)==(c|0)){r=g;break}else g=g+1|0}p=a+116|0;o=f[p>>2]|0;o=(o|0)==0?a:o;g=o+84|0;c=f[g>>2]|0;n=1<>2]=c|n,(r|0)==1):0)?(D=f[o>>2]|0,z=D+16|0,(f[(f[z>>2]|0)+20>>2]|0)==0):0)?(b[o+195>>0]|0)==0:0){g=cj(f[D>>2]|0,0,D,F,0,542)|0;if(g|0){ni(o,51535,B);f[o+12>>2]=g;break}F=f[F>>2]|0;f[(f[z>>2]|0)+20>>2]=F;g=f[D+92>>2]|0;j=f[F+4>>2]|0;f[j+4>>2]=f[F>>2];if(!(d[j+22>>1]&2)){k=j+32|0;l=j+36|0;m=(f[k>>2]|0)-(f[l>>2]|0)|0;do if((g+-512|0)>>>0<65025?(g+-1&g|0)==0:0){f[k>>2]=g;i=j+80|0;g=f[i>>2]|0;if(!g)break;c=g+-4|0;f[i>>2]=c;g=c;do if((f[18022]|0)>>>0<=g>>>0)if((f[18023]|0)>>>0>g>>>0){f[18188]=(f[18188]|0)+-1;f[c>>2]=f[18025];f[18025]=c;F=(f[18026]|0)+1|0;f[18026]=F;f[18027]=(F|0)<(f[18021]|0)&1;break}else{g=ib[f[37368>>2]&255](c)|0;G=104;break}else{g=ib[f[37368>>2]&255](c)|0;G=104}while(0);do if((G|0)==104){f[18189]=(f[18189]|0)-g;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{G=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);f[i>>2]=0}while(0);G=ih(f[j>>2]|0,k,m)|0;f[l>>2]=(f[k>>2]|0)-(m&65535);if((G|0)==7){g=D+81|0;do if(!(b[g>>0]|0)){if(b[D+82>>0]|0)break;b[g>>0]=1;if((f[D+180>>2]|0)>0)f[D+264>>2]=1;G=D+272|0;f[G>>2]=(f[G>>2]|0)+1}while(0);break}}}while(0);g=o+80|0;f[g>>2]=f[g>>2]|n;g=a+40|0;G=f[g>>2]|0;f[g>>2]=G+3;lm(a,r,G,f[e>>2]|0,47829);mm(a,q,e,G,(f[a+44>>2]|0)+1|0,f[g>>2]|0);g=f[a+8>>2]|0;if(!g){if((f[p>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;g=sl(a)|0;if(!g)break}c=g+136|0;i=f[c>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(i|0)){f[c>>2]=i+1;G=f[g+88>>2]|0;b[G+(i*20|0)>>0]=-112;d[G+(i*20|0)+2>>1]=0;f[G+(i*20|0)+4>>2]=r;f[G+(i*20|0)+8>>2]=0;f[G+(i*20|0)+12>>2]=0;f[G+(i*20|0)+16>>2]=0;b[G+(i*20|0)+1>>0]=0;break}else{tl(g,144,r,0,0)|0;break}}while(0);if(H|0){if(f[H+480>>2]|0){Kc(H,s);break}G=s;if((f[H+304>>2]|0)>>>0<=G>>>0?(f[H+308>>2]|0)>>>0>G>>>0:0){G=H+300|0;f[s>>2]=f[G>>2];f[G>>2]=s;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{G=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}}while(0);if(b[H+90>>0]|0){t=I;return}g=f[a+8>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;g=sl(a)|0;if(!g){t=I;return}}c=g+136|0;i=f[c>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(i|0)){f[c>>2]=i+1;g=f[g+88>>2]|0;b[g+(i*20|0)>>0]=-97;g=g+(i*20|0)+1|0;c=g+19|0;do{b[g>>0]=0;g=g+1|0}while((g|0)<(c|0));t=I;return}else{tl(g,159,0,0,0)|0;t=I;return}}function em(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;k=t;t=t+16|0;j=k;if(!c){j=0;t=k;return j|0}d=b[c>>0]|0;do if(!(d<<24>>24)){d=51912;g=3}else{l=d&255;d=1232+l|0;if((l|32|0)==115){d=b[c+1>>0]|0;if(!(d<<24>>24)){d=51913;g=3;break}l=d&255;d=1232+l|0;if((l|32|0)==113){d=b[c+2>>0]|0;if(!(d<<24>>24)){d=51914;g=3;break}l=d&255;d=1232+l|0;if((l|32|0)==108){d=b[c+3>>0]|0;if(!(d<<24>>24)){d=51915;g=3;break}l=d&255;d=1232+l|0;if((l|32|0)==105){d=b[c+4>>0]|0;if(!(d<<24>>24)){d=51916;g=3;break}l=d&255;d=1232+l|0;if((l|32|0)==116){d=b[c+5>>0]|0;if(!(d<<24>>24)){d=51917;g=3;break}l=d&255;d=1232+l|0;if((l|32|0)==101){d=b[c+6>>0]|0;if(!(d<<24>>24)){d=51918;g=3;break}if(d<<24>>24==95)break;else{e=95;d=1232+(d&255)|0}}else e=101}else e=116}else e=105}else e=108}else e=113}else e=115;i=h[d>>0]|0;g=7}while(0);if((g|0)==3){i=0;e=b[1232+(h[d>>0]|0)>>0]|0;g=7}if((g|0)==7?(i|0)!=(e&255|0):0){l=0;t=k;return l|0}f[j>>2]=c;ni(a,54565,j);l=1;t=k;return l|0}function fm(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;y=t;t=t+48|0;v=y+32|0;u=y+8|0;s=y;q=a+224|0;w=f[q>>2]|0;x=f[a>>2]|0;if(!w){t=y;return}r=a+240|0;m=f[r>>2]|0;do if(m){l=f[a+244>>2]|0;i=KA(l|0,((l|0)<0)<<31>>31|0,1,0)|0;k=ba()|0;p=x+272|0;a:do if(f[p>>2]|0)if(!(b[x+81>>0]|0))o=14;else m=0;else{do if(!(k>>>0>0|((k|0)==0?i>>>0>(j[x+276>>1]|0)>>>0:0))){g=x+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];o=x+284|0;f[o>>2]=(f[o>>2]|0)+1;o=15;break a}g=x+296|0;e=f[g>>2]|0;if(!e){e=x+292|0;break}else{f[g>>2]=f[e>>2];o=x+284|0;f[o>>2]=(f[o>>2]|0)+1;o=15;break a}}else e=x+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;o=14}while(0);if((o|0)==14){e=Dc(x,i,k)|0;o=15}if((o|0)==15)if(!e)m=0;else{YA(e|0,m|0,l|0)|0;b[e+l>>0]=0;m=e}e=w+56|0;g=f[e>>2]|0;k=(g<<2)+8|0;n=w+60|0;i=f[n>>2]|0;l=((k|0)<0)<<31>>31;b:do if(!i){if(f[p>>2]|0){if(b[x+81>>0]|0)break}else{do if(!(0>>0|(0==(l|0)?(j[x+276>>1]|0)>>>0>>0:0))){g=x+300|0;h=f[g>>2]|0;if(h|0){f[g>>2]=f[h>>2];o=x+284|0;f[o>>2]=(f[o>>2]|0)+1;o=34;break b}g=x+296|0;h=f[g>>2]|0;if(!h){g=x+292|0;break}else{f[g>>2]=f[h>>2];o=x+284|0;f[o>>2]=(f[o>>2]|0)+1;o=34;break b}}else g=x+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}h=Dc(x,k,l)|0;o=34}else{p=i;if((f[x+304>>2]|0)>>>0<=p>>>0?(f[x+308>>2]|0)>>>0>p>>>0:0){if(!(0>>0|(0==(l|0)?(j[x+276>>1]|0)>>>0>>0:0))){h=i;o=45;break}h=Lc(x,i,k,l)|0;o=34;break}h=Lc(x,i,k,l)|0;o=34}while(0);if((o|0)==34?h|0:0){g=f[e>>2]|0;o=45}if((o|0)==45){p=g+1|0;f[e>>2]=p;f[h+(g<<2)>>2]=m;f[h+(p<<2)>>2]=0;f[n>>2]=h;break}if(m){if(f[x+480>>2]|0){Kc(x,m);break}p=m;if((f[x+304>>2]|0)>>>0<=p>>>0?(f[x+308>>2]|0)>>>0>p>>>0:0){p=x+300|0;f[m>>2]=f[p>>2];f[p>>2]=m;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{p=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}}else e=w+56|0;while(0);f[r>>2]=0;if((f[e>>2]|0)<1){t=y;return}if(b[x+165>>0]|0){if(!(pg((f[w+72>>2]|0)+8|0,f[w>>2]|0,w)|0)){f[q>>2]=0;t=y;return}e=x+81|0;if(b[e>>0]|0){t=y;return}if(b[x+82>>0]|0){t=y;return}b[e>>0]=1;if((f[x+180>>2]|0)>0)f[x+264>>2]=1;x=x+272|0;f[x>>2]=(f[x>>2]|0)+1;t=y;return}if(!c)e=a+176|0;else{e=a+176|0;f[a+180>>2]=(f[c>>2]|0)-(f[e>>2]|0)+(f[c+4>>2]|0)}f[s>>2]=e;i=Ig(x,54426,s)|0;g=f[w+72>>2]|0;h=f[x+16>>2]|0;if(!g)m=-1e6;else{e=0;while(1)if((f[h+(e<<4)+12>>2]|0)==(g|0)){m=e;break}else e=e+1|0}r=f[w>>2]|0;s=f[a+88>>2]|0;f[u>>2]=f[h+(m<<4)>>2];f[u+4>>2]=43770;f[u+8>>2]=r;f[u+12>>2]=r;f[u+16>>2]=i;f[u+20>>2]=s;Tl(a,54450,u);do if(i|0){if(f[x+480>>2]|0){Kc(x,i);break}u=i;if((f[x+304>>2]|0)>>>0<=u>>>0?(f[x+308>>2]|0)>>>0>u>>>0:0){u=x+300|0;f[i>>2]=f[u>>2];f[u>>2]=i;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{u=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);e=a+8|0;g=f[e>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;l=sl(a)|0;e=f[e>>2]|0}else{l=g;e=g}g=(f[f[(f[(f[a>>2]|0)+16>>2]|0)+(m<<4)+12>>2]>>2]|0)+1|0;h=e+136|0;i=f[h>>2]|0;if((f[(f[e+12>>2]|0)+48>>2]|0)>(i|0)){f[h>>2]=i+1;u=f[e+88>>2]|0;b[u+(i*20|0)>>0]=107;d[u+(i*20|0)+2>>1]=0;f[u+(i*20|0)+4>>2]=m;f[u+(i*20|0)+8>>2]=1;f[u+(i*20|0)+12>>2]=g;f[u+(i*20|0)+16>>2]=0;b[u+(i*20|0)+1>>0]=0}else tl(e,107,m,1,g)|0;i=l+136|0;e=f[i>>2]|0;k=l+12|0;if((f[(f[k>>2]|0)+48>>2]|0)>(e|0)){f[i>>2]=e+1;g=f[l+88>>2]|0;b[g+(e*20|0)>>0]=-97;e=g+(e*20|0)+1|0;g=e+19|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(g|0))}else tl(l,159,0,0,0)|0;f[v>>2]=f[w>>2];Xl(l,m,Ig(x,54538,v)|0);g=a+44|0;h=(f[g>>2]|0)+1|0;f[g>>2]=h;g=f[w>>2]|0;e=f[i>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(e|0)){f[i>>2]=e+1;x=f[l+88>>2]|0;b[x+(e*20|0)>>0]=106;d[x+(e*20|0)+2>>1]=0;f[x+(e*20|0)+4>>2]=0;f[x+(e*20|0)+8>>2]=h;f[x+(e*20|0)+12>>2]=0;f[x+(e*20|0)+16>>2]=0;b[x+(e*20|0)+1>>0]=0}else e=tl(l,106,0,h,0)|0;if(!(b[(f[l>>2]|0)+81>>0]|0)){if((e|0)<0)e=(f[i>>2]|0)+-1|0;ul(l,(f[l+88>>2]|0)+(e*20|0)|0,g,0)}e=f[i>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(e|0)){f[i>>2]=e+1;x=f[l+88>>2]|0;b[x+(e*20|0)>>0]=-94;d[x+(e*20|0)+2>>1]=0;f[x+(e*20|0)+4>>2]=m;f[x+(e*20|0)+8>>2]=h;f[x+(e*20|0)+12>>2]=0;f[x+(e*20|0)+16>>2]=0;b[x+(e*20|0)+1>>0]=0;t=y;return}else{tl(l,162,m,h,0)|0;t=y;return}}function gm(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;s=t;t=t+16|0;o=s;r=f[a>>2]|0;q=pl(r,d)|0;n=(c|0)!=0;if(n&(q|0)!=0?(i=f[c>>2]|0,(i|0)>0):0){m=0;d=i;do{k=f[c+8+(m<<4)>>2]|0;l=b[q>>0]|0;i=(h[1232+(l&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0;if(!(l<<24>>24==0|(i|0)!=0)){l=q;do{l=l+1|0;k=k+1|0;u=b[l>>0]|0;i=(h[1232+(u&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(i|0)!=0))}if(!i){f[o>>2]=q;ni(a,54396,o);d=f[c>>2]|0}m=m+1|0}while((m|0)<(d|0))}a:do if(n){d=(f[c>>2]<<4)+24|0;i=((d|0)<0)<<31>>31;u=c;if((f[r+304>>2]|0)>>>0<=u>>>0?(f[r+308>>2]|0)>>>0>u>>>0:0){if(!(0>>0|(0==(i|0)?(j[r+276>>1]|0)>>>0>>0:0))){d=c;break}d=Lc(r,c,d,i)|0;break}d=Lc(r,c,d,i)|0}else{b:do if(!r){if(!(f[9328]|0)){d=ib[f[37356>>2]&255](24)|0;p=39;break}k=ib[f[37372>>2]&255](24)|0;if((f[18194]|0)>>>0<24)f[18194]=24;i=71896;d=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&d>>>0>0){u=f[18187]|0;o=LA(d|0,i|0,k|0,((k|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&o>>>0<=u>>>0)&1}d=ib[f[37356>>2]&255](k)|0;if(!d){d=0;break a}i=ib[f[37368>>2]&255](d)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}else{if(f[r+272>>2]|0){if(b[r+81>>0]|0){d=0;break a}}else{do if((j[r+276>>1]|0)>=24){i=r+300|0;d=f[i>>2]|0;if(d|0){f[i>>2]=f[d>>2];p=r+284|0;f[p>>2]=(f[p>>2]|0)+1;p=39;break b}i=r+296|0;d=f[i>>2]|0;if(!d){d=r+292|0;break}else{f[i>>2]=f[d>>2];p=r+284|0;f[p>>2]=(f[p>>2]|0)+1;p=39;break b}}else d=r+288|0;while(0);f[d>>2]=(f[d>>2]|0)+1}d=Dc(r,24,0)|0;p=39}while(0);if((p|0)==39)if(!d){d=0;break}i=d;k=i+24|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(k|0))}while(0);if(!(b[r+81>>0]|0)){r=d+8|0;u=f[d>>2]|0;f[r+(u<<4)+8>>2]=g;f[r+(u<<4)+4>>2]=e;f[r+(u<<4)>>2]=q;f[r+(u<<4)+12>>2]=0;f[d>>2]=u+1;u=d;t=s;return u|0}if(e|0)jg(r,e);if(g|0)mg(r,g,1);if(!q){u=c;t=s;return u|0}if(f[r+480>>2]|0){Kc(r,q);u=c;t=s;return u|0}u=q;if((f[r+304>>2]|0)>>>0<=u>>>0?(f[r+308>>2]|0)>>>0>u>>>0:0){u=r+300|0;f[q>>2]=f[u>>2];f[u>>2]=q;u=c;t=s;return u|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](q);u=c;t=s;return u|0}else{u=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);u=c;t=s;return u|0}return 0}function hm(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=t;t=t+48|0;j=m+8|0;i=m;l=m+12|0;if((c|0)==86?(e|0)!=0|(h|0)!=0:0)ni(a,54314,i);else k=4;a:do if((k|0)==4){b:do if(!((d|0)==82&(g|0)==85)){if((d|0)==83)switch(g|0){case 82:case 85:break b;default:{}}j=im(f[a>>2]|0,72,0)|0;if(!j)break a;b[j+12>>0]=c;b[j+13>>0]=d;b[j+14>>0]=g;i=l+20|0;b[i>>0]=1;f[l+4>>2]=155;f[l+8>>2]=156;f[l+24>>2]=0;if(h){oi(l,h)|0;if(!(b[i>>0]|0)){ig(f[a>>2]|0,h);h=Dk(f[a>>2]|0,110,0,0)|0}}else h=0;f[j+20>>2]=h;h=l+20|0;b[h>>0]=1;f[l+4>>2]=155;f[l+8>>2]=156;f[l+24>>2]=0;if(e){oi(l,e)|0;if(!(b[h>>0]|0)){ig(f[a>>2]|0,e);e=Dk(f[a>>2]|0,110,0,0)|0}}else e=0;f[j+16>>2]=e;l=j;t=m;return l|0}while(0);ni(a,54359,j)}while(0);if(h|0)ig(f[a>>2]|0,h);if(!e){l=0;t=m;return l|0}ig(f[a>>2]|0,e);l=0;t=m;return l|0}function im(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;a:do if(!a)e=Ag(c,d)|0;else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){c=0;return c|0}}else{do if(!(0>>0|(0==(d|0)?(j[a+276>>1]|0)>>>0>>0:0))){g=a+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];d=a+284|0;f[d>>2]=(f[d>>2]|0)+1;break a}g=a+296|0;e=f[g>>2]|0;if(!e){e=a+292|0;break}else{f[g>>2]=f[e>>2];d=a+284|0;f[d>>2]=(f[d>>2]|0)+1;break a}}else e=a+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(a,c,d)|0}while(0);if(!e){c=0;return c|0}_A(e|0,0,c|0)|0;c=e;return c|0}function jm(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=a+20|0;m=b[l>>0]|0;n=m<<24>>24==2;if(n?f[c+4>>2]&1|0:0){b[l>>0]=0;n=2;return n|0}a:do switch(b[c>>0]|0){case -99:{if((m&255)>3){n=0;return n|0}if(f[c+4>>2]&524288|0){n=0;return n|0}b[l>>0]=0;n=2;return n|0}case 59:{e=f[c+8>>2]|0;k=b[e>>0]|0;j=h[1232+(k&255)>>0]|0;d=j+-116|0;k=k<<24>>24==0;if(!(k|(d|0)!=0)){g=49684;i=e;do{i=i+1|0;g=g+1|0;o=b[i>>0]|0;d=(h[1232+(o&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(o<<24>>24==0|(d|0)!=0))}if(d|0){d=j+-102|0;if(!(k|(d|0)!=0)){g=49689;do{e=e+1|0;g=g+1|0;o=b[e>>0]|0;d=(h[1232+(o&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(o<<24>>24==0|(d|0)!=0))}if(d|0){d=17;break a}}b[c>>0]=-101;o=1;return o|0}case -96:case -97:case -98:{d=17;break}case -92:case -89:break;case -112:switch(m<<24>>24){case 5:{b[c>>0]=110;o=0;return o|0}case 4:{b[l>>0]=0;o=2;return o|0}default:{o=0;return o|0}}default:{o=0;return o|0}}while(0);do if((d|0)==17){if(f[c+4>>2]&8|0){if(n)break;else d=0;return d|0}if(m<<24>>24==3?(f[c+28>>2]|0)==(f[a+24>>2]|0):0){o=0;return o|0}}while(0);b[l>>0]=0;o=2;return o|0}function km(a,c){a=a|0;c=c|0;b[a+20>>0]=0;return 2}function lm(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+96|0;q=A+64|0;p=A+48|0;o=A+32|0;n=A+16|0;m=A;u=A+80|0;v=A+92|0;s=f[a>>2]|0;i=f[a+8>>2]|0;if(!i){if((f[a+116>>2]|0)==0?(d[s+76>>1]&8)==0:0)b[a+23>>0]=1;i=sl(a)|0;if(!i){t=A;return}else x=i}else x=i;r=(f[s+16>>2]|0)+(c<<4)|0;l=a+92|0;y=x+136|0;w=x+12|0;z=x+88|0;i=f[r>>2]|0;j=ji(s,45954,i)|0;k=(j|0)==0;do if(!g){do if(!k){j=f[j+28>>2]|0;f[u>>2]=j;b[v>>0]=0;nm(a,c,j,1,45954);i=f[y>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(i|0)){f[y>>2]=i+1;k=f[z>>2]|0;b[k+(i*20|0)>>0]=-118;d[k+(i*20|0)+2>>1]=0;f[k+(i*20|0)+4>>2]=j;f[k+(i*20|0)+8>>2]=c;f[k+(i*20|0)+12>>2]=0;f[k+(i*20|0)+16>>2]=0;b[k+(i*20|0)+1>>0]=0;k=0;break}else{tl(x,138,j,c,0)|0;k=0;break}}else{f[m>>2]=i;f[m+4>>2]=45954;f[m+8>>2]=54670;Tl(a,54647,m);j=f[l>>2]|0;f[u>>2]=j;b[v>>0]=16;k=16}while(0);i=ji(s,54683,f[r>>2]|0)|0;do if(i|0){i=f[i+28>>2]|0;f[u+4>>2]=i;b[v+1>>0]=0;nm(a,c,i,1,54683);l=f[y>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(l|0)){f[y>>2]=l+1;q=f[z>>2]|0;b[q+(l*20|0)>>0]=-118;d[q+(l*20|0)+2>>1]=0;f[q+(l*20|0)+4>>2]=i;f[q+(l*20|0)+8>>2]=c;f[q+(l*20|0)+12>>2]=0;f[q+(l*20|0)+16>>2]=0;b[q+(l*20|0)+1>>0]=0;break}else{tl(x,138,i,c,0)|0;break}}while(0);i=ji(s,54696,f[r>>2]|0)|0;if(i){l=f[i+28>>2]|0;f[u+8>>2]=l;b[v+2>>0]=0;nm(a,c,l,1,54696);i=f[y>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(i|0)){f[y>>2]=i+1;v=f[z>>2]|0;b[v+(i*20|0)>>0]=-118;d[v+(i*20|0)+2>>1]=0;f[v+(i*20|0)+4>>2]=l;f[v+(i*20|0)+8>>2]=c;f[v+(i*20|0)+12>>2]=0;f[v+(i*20|0)+16>>2]=0;b[v+(i*20|0)+1>>0]=0;break}else{tl(x,138,l,c,0)|0;break}}}else{if(k){f[n>>2]=i;f[n+4>>2]=45954;f[n+8>>2]=54670;Tl(a,54647,n);k=16;j=f[l>>2]|0}else{j=f[j+28>>2]|0;nm(a,c,j,1,45954);f[o>>2]=f[r>>2];f[o+4>>2]=45954;f[o+8>>2]=h;f[o+12>>2]=g;Tl(a,51668,o);k=0}f[u>>2]=j;b[v>>0]=k;i=f[r>>2]|0;l=ji(s,54683,i)|0;if(l){i=f[l+28>>2]|0;f[u+4>>2]=i;b[v+1>>0]=0;nm(a,c,i,1,54683);f[p>>2]=f[r>>2];f[p+4>>2]=54683;f[p+8>>2]=h;f[p+12>>2]=g;Tl(a,51668,p);i=f[r>>2]|0}i=ji(s,54696,i)|0;if(i){s=f[i+28>>2]|0;f[u+8>>2]=s;b[v+2>>0]=0;nm(a,c,s,1,54696);f[q>>2]=f[r>>2];f[q+4>>2]=54696;f[q+8>>2]=h;f[q+12>>2]=g;Tl(a,51668,q)}}while(0);i=f[y>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(i|0)){f[y>>2]=i+1;w=f[z>>2]|0;b[w+(i*20|0)>>0]=110;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=e;f[w+(i*20|0)+8>>2]=j;f[w+(i*20|0)+12>>2]=c;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0}else i=tl(x,110,e,j,c)|0;if(!(b[(f[x>>2]|0)+81>>0]|0)){e=f[z>>2]|0;b[e+(i*20|0)+1>>0]=-3;f[e+(i*20|0)+16>>2]=3}i=f[y>>2]|0;if((i|0)<=0){t=A;return}d[(f[z>>2]|0)+((i+-1|0)*20|0)+2>>1]=k&255;t=A;return}function mm(a,c,e,g,i,k){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=t;t=t+16|0;u=ea+8|0;s=ea;Y=f[a>>2]|0;Z=i+1|0;_=i+2|0;da=i+3|0;ba=i+4|0;aa=i+5|0;$=i+6|0;V=i+7|0;W=a+44|0;X=f[W>>2]|0;f[W>>2]=(X|0)>(V|0)?X:V;X=a+8|0;l=f[X>>2]|0;if(!l){if((f[a+116>>2]|0)==0?(d[Y+76>>1]&8)==0:0)b[a+23>>0]=1;ca=sl(a)|0}else ca=l;if((c|0)==0|(ca|0)==0){t=ea;return}q=c+28|0;m=f[q>>2]|0;if(!m){t=ea;return}l=f[c>>2]|0;if(!(af(54593,l,41516,92)|0)){t=ea;return}o=f[c+72>>2]|0;p=f[Y+16>>2]|0;if(!o)n=-1e6;else{n=0;while(1)if((f[p+(n<<4)+12>>2]|0)==(o|0))break;else n=n+1|0}o=f[p+(n<<4)>>2]|0;p=f[a>>2]|0;do if(((b[p+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(r=f[p+312>>2]|0,(r|0)!=0):0){l=nb[r&127](f[p+316>>2]|0,28,l,0,o,f[a+236>>2]|0)|0;if((l|0)==1){ni(a,49816,s);f[a+12>>2]=23;t=ea;return}if((l|2|0)!=2){ni(a,49831,u);f[a+12>>2]=1;t=ea;return}if(!l){m=f[q>>2]|0;l=f[c>>2]|0;break}else{t=ea;return}}while(0);nm(a,n,m,0,l);R=k+1|0;S=k+2|0;m=a+40|0;l=f[m>>2]|0;f[m>>2]=(l|0)>(S|0)?l:S;vl(a,k,n,c,109);m=f[c>>2]|0;S=ca+136|0;l=f[S>>2]|0;T=ca+12|0;if((f[(f[T>>2]|0)+48>>2]|0)>(l|0)){f[S>>2]=l+1;Q=f[ca+88>>2]|0;b[Q+(l*20|0)>>0]=106;d[Q+(l*20|0)+2>>1]=0;f[Q+(l*20|0)+4>>2]=0;f[Q+(l*20|0)+8>>2]=ba;f[Q+(l*20|0)+12>>2]=0;f[Q+(l*20|0)+16>>2]=0;b[Q+(l*20|0)+1>>0]=0}else l=tl(ca,106,0,ba,0)|0;if(!(b[(f[ca>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[S>>2]|0)+-1|0;ul(ca,(f[ca+88>>2]|0)+(l*20|0)|0,m,0)}m=f[c+8>>2]|0;Q=(e|0)==0;if(!m)l=1;else{C=c+36|0;D=ca+88|0;E=Y+272|0;F=Y+276|0;G=Y+81|0;H=Y+288|0;I=Y+300|0;J=Y+296|0;K=Y+284|0;L=Y+292|0;M=(Y|0)==0;N=Y+480|0;O=Y+304|0;P=Y+308|0;l=1;do{a:do if(Q|(m|0)==(e|0)){l=(f[m+36>>2]|0)==0?0:l;o=m+55|0;o=h[o>>0]|h[o+1>>0]<<8;if(!((f[C>>2]&32|0)!=0&(o&3)==2)){q=j[m+52>>1]|0;p=f[m>>2]|0;if(!(o&8))s=q;else s=j[m+50>>1]|0}else{q=j[m+50>>1]|0;s=q;p=f[c>>2]|0}B=s+-1|0;o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;A=f[D>>2]|0;b[A+(o*20|0)>>0]=106;d[A+(o*20|0)+2>>1]=0;f[A+(o*20|0)+4>>2]=0;f[A+(o*20|0)+8>>2]=aa;f[A+(o*20|0)+12>>2]=0;f[A+(o*20|0)+16>>2]=0;b[A+(o*20|0)+1>>0]=0}else o=tl(ca,106,0,aa,0)|0;if(!(b[(f[ca>>2]|0)+81>>0]|0)){if((o|0)<0)o=(f[S>>2]|0)+-1|0;ul(ca,(f[D>>2]|0)+(o*20|0)|0,p,0)}p=f[W>>2]|0;o=B+V|0;f[W>>2]=(p|0)>(o|0)?p:o;o=f[m+44>>2]|0;p=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(p|0)){f[S>>2]=p+1;A=f[D>>2]|0;b[A+(p*20|0)>>0]=109;d[A+(p*20|0)+2>>1]=0;f[A+(p*20|0)+4>>2]=R;f[A+(p*20|0)+8>>2]=o;f[A+(p*20|0)+12>>2]=n;f[A+(p*20|0)+16>>2]=0;b[A+(p*20|0)+1>>0]=0}else tl(ca,109,R,o,n)|0;o=f[X>>2]|0;r=om(a,m)|0;b:do if(r|0){p=f[o>>2]|0;if(!(b[p+81>>0]|0)){z=f[o+88>>2]|0;A=(f[o+136>>2]|0)+-1|0;b[z+(A*20|0)+1>>0]=-9;f[z+(A*20|0)+16>>2]=r;break}if(f[p+480>>2]|0)break;A=(f[r>>2]|0)+-1|0;f[r>>2]=A;if(A|0)break;o=f[r+12>>2]|0;do if(o|0){if(f[o+480>>2]|0){Kc(o,r);break b}p=r;if((f[o+304>>2]|0)>>>0>p>>>0)break;if((f[o+308>>2]|0)>>>0<=p>>>0)break;A=o+300|0;f[r>>2]=f[A>>2];f[A>>2]=r;break b}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{A=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}while(0);o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;A=f[D>>2]|0;b[A+(o*20|0)>>0]=70;d[A+(o*20|0)+2>>1]=0;f[A+(o*20|0)+4>>2]=q;f[A+(o*20|0)+8>>2]=_;f[A+(o*20|0)+12>>2]=0;f[A+(o*20|0)+16>>2]=0;b[A+(o*20|0)+1>>0]=0}else tl(ca,70,q,_,0)|0;w=m+50|0;o=j[w>>1]|0;p=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(p|0)){f[S>>2]=p+1;A=f[D>>2]|0;b[A+(p*20|0)>>0]=70;d[A+(p*20|0)+2>>1]=0;f[A+(p*20|0)+4>>2]=o;f[A+(p*20|0)+8>>2]=da;f[A+(p*20|0)+12>>2]=0;f[A+(p*20|0)+16>>2]=0;b[A+(p*20|0)+1>>0]=0}else tl(ca,70,o,da,0)|0;o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;A=f[D>>2]|0;b[A+(o*20|0)>>0]=63;d[A+(o*20|0)+2>>1]=0;f[A+(o*20|0)+4>>2]=0;f[A+(o*20|0)+8>>2]=_;f[A+(o*20|0)+12>>2]=Z;f[A+(o*20|0)+16>>2]=0;b[A+(o*20|0)+1>>0]=0}else o=tl(ca,63,0,_,Z)|0;do if(!(b[(f[ca>>2]|0)+81>>0]|0)){if((o|0)<0)o=(f[S>>2]|0)+-1|0;p=f[D>>2]|0;q=p+(o*20|0)+1|0;if(!(b[q>>0]|0)){f[p+(o*20|0)+16>>2]=38252;b[q>>0]=-8;break}else{ul(ca,p+(o*20|0)|0,38252,-8);break}}while(0);o=f[S>>2]|0;if((o|0)>0)d[(f[D>>2]|0)+((o+-1|0)*20|0)+2>>1]=2;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;A=f[D>>2]|0;b[A+(o*20|0)>>0]=36;d[A+(o*20|0)+2>>1]=0;f[A+(o*20|0)+4>>2]=R;f[A+(o*20|0)+8>>2]=0;f[A+(o*20|0)+12>>2]=0;f[A+(o*20|0)+16>>2]=0;b[A+(o*20|0)+1>>0]=0;A=o}else A=tl(ca,36,R,0,0)|0;o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;z=f[D>>2]|0;b[z+(o*20|0)>>0]=70;d[z+(o*20|0)+2>>1]=0;f[z+(o*20|0)+4>>2]=0;f[z+(o*20|0)+8>>2]=_;f[z+(o*20|0)+12>>2]=0;f[z+(o*20|0)+16>>2]=0;b[z+(o*20|0)+1>>0]=0}else tl(ca,70,0,_,0)|0;o=f[S>>2]|0;c:do if(s>>>0>1){o=f[T>>2]|0;v=o+60|0;z=f[v>>2]|0;f[v>>2]=z+1;v=o+64|0;if(!(z+-1&z)){s=z<<3|4;u=f[o>>2]|0;o=f[v>>2]|0;d:do if(o){q=o;r=u+304|0;do if((f[r>>2]|0)>>>0<=q>>>0){if((f[u+308>>2]|0)>>>0<=q>>>0)break;if(!(0<0|(0==0?(j[u+276>>1]|0)>>>0>>0:0)))break d}while(0);p=Lc(u,o,s,0)|0;if(p|0){o=p;break}if(f[u+480>>2]|0){Kc(u,o);o=0;break}do if((f[r>>2]|0)>>>0<=q>>>0){if((f[u+308>>2]|0)>>>0<=q>>>0)break;y=u+300|0;f[o>>2]=f[y>>2];f[y>>2]=o;o=0;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);o=0;break}else{y=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);o=0;break}}else{if(f[u+272>>2]|0){if(b[u+81>>0]|0){o=0;break}}else{do if(!(0<0|(0==0?(j[u+276>>1]|0)>>>0>>0:0))){p=u+300|0;o=f[p>>2]|0;if(o|0){f[p>>2]=f[o>>2];y=u+284|0;f[y>>2]=(f[y>>2]|0)+1;break d}p=u+296|0;o=f[p>>2]|0;if(!o){o=u+292|0;break}else{f[p>>2]=f[o>>2];y=u+284|0;f[y>>2]=(f[y>>2]|0)+1;break d}}else o=u+288|0;while(0);f[o>>2]=(f[o>>2]|0)+1}o=Dc(u,s,0)|0}while(0);f[v>>2]=o}else o=f[v>>2]|0;if(o|0)f[o+(z<<2)>>2]=-1;x=~z;p=B<<2;e:do if(f[E>>2]|0)if(!(b[G>>0]|0))U=120;else break a;else{do if(0<0|(0==0?(j[F>>1]|0)>>>0

>>0:0))o=H;else{o=f[I>>2]|0;if(o|0){f[I>>2]=f[o>>2];f[K>>2]=(f[K>>2]|0)+1;y=o;break e}o=f[J>>2]|0;if(!o){o=L;break}f[J>>2]=f[o>>2];f[K>>2]=(f[K>>2]|0)+1;y=o;break e}while(0);f[o>>2]=(f[o>>2]|0)+1;U=120}while(0);if((U|0)==120){U=0;y=Dc(Y,p,0)|0}if(!y)break a;o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;p=f[D>>2]|0;b[p+(o*20|0)>>0]=11;o=p+(o*20|0)+1|0;p=o+19|0;do{b[o>>0]=0;o=o+1|0}while((o|0)<(p|0))}else tl(ca,11,0,0,0)|0;r=f[S>>2]|0;do if((B|0)==1){if((d[w>>1]|0)!=1)break;if(!(b[m+54>>0]|0))break;if((f[(f[T>>2]|0)+48>>2]|0)>(r|0)){f[S>>2]=r+1;w=f[D>>2]|0;b[w+(r*20|0)>>0]=51;d[w+(r*20|0)+2>>1]=0;f[w+(r*20|0)+4>>2]=V;f[w+(r*20|0)+8>>2]=x;f[w+(r*20|0)+12>>2]=0;f[w+(r*20|0)+16>>2]=0;b[w+(r*20|0)+1>>0]=0;break}else{tl(ca,51,V,x,0)|0;break}}while(0);w=m+32|0;v=0;do{o=f[(f[w>>2]|0)+(v<<2)>>2]|0;q=f[a>>2]|0;p=b[q+78>>0]|0;u=b[q+165>>0]|0;q=_k(q,p,o,u&255)|0;do if(!(u<<24>>24)){if(!q){q=$k(a,p,0,o)|0;break}if(f[q+12>>2]|0)break;q=$k(a,p,q,o)|0}while(0);o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;u=f[D>>2]|0;b[u+(o*20|0)>>0]=70;d[u+(o*20|0)+2>>1]=0;f[u+(o*20|0)+4>>2]=v;f[u+(o*20|0)+8>>2]=_;f[u+(o*20|0)+12>>2]=0;f[u+(o*20|0)+16>>2]=0;b[u+(o*20|0)+1>>0]=0}else tl(ca,70,v,_,0)|0;o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;u=f[D>>2]|0;b[u+(o*20|0)>>0]=90;d[u+(o*20|0)+2>>1]=0;f[u+(o*20|0)+4>>2]=R;f[u+(o*20|0)+8>>2]=v;f[u+(o*20|0)+12>>2]=da;f[u+(o*20|0)+16>>2]=0;b[u+(o*20|0)+1>>0]=0}else tl(ca,90,R,v,da)|0;o=v+V|0;p=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(p|0)){f[S>>2]=p+1;u=f[D>>2]|0;b[u+(p*20|0)>>0]=52;d[u+(p*20|0)+2>>1]=0;f[u+(p*20|0)+4>>2]=da;f[u+(p*20|0)+8>>2]=0;f[u+(p*20|0)+12>>2]=o;f[u+(p*20|0)+16>>2]=0;b[u+(p*20|0)+1>>0]=0}else p=tl(ca,52,da,0,o)|0;do if(!(b[(f[ca>>2]|0)+81>>0]|0)){if((p|0)<0)o=(f[S>>2]|0)+-1|0;else o=p;s=f[D>>2]|0;u=s+(o*20|0)+1|0;if(b[u>>0]|0){ul(ca,s+(o*20|0)|0,q,-2);break}if(!q)break;f[s+(o*20|0)+16>>2]=q;b[u>>0]=-2}while(0);f[y+(v<<2)>>2]=p;o=f[S>>2]|0;if((o|0)>0)d[(f[D>>2]|0)+((o+-1|0)*20|0)+2>>1]=128;v=v+1|0}while((v|0)<(B|0));if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;w=f[D>>2]|0;b[w+(o*20|0)>>0]=70;d[w+(o*20|0)+2>>1]=0;f[w+(o*20|0)+4>>2]=B;f[w+(o*20|0)+8>>2]=_;f[w+(o*20|0)+12>>2]=0;f[w+(o*20|0)+16>>2]=0;b[w+(o*20|0)+1>>0]=0}else tl(ca,70,B,_,0)|0;o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;w=f[D>>2]|0;b[w+(o*20|0)>>0]=11;d[w+(o*20|0)+2>>1]=0;f[w+(o*20|0)+4>>2]=0;f[w+(o*20|0)+8>>2]=x;f[w+(o*20|0)+12>>2]=0;f[w+(o*20|0)+16>>2]=0;b[w+(o*20|0)+1>>0]=0}else tl(ca,11,0,x,0)|0;q=f[S>>2]|0;p=b[(f[ca>>2]|0)+81>>0]|0;if(!(p<<24>>24))o=(f[D>>2]|0)+((((r|0)<1?q:r)+-1|0)*20|0)|0;else o=72144;f[o+8>>2]=q;o=0;s=q;while(1){q=f[y+(o<<2)>>2]|0;if(!(p<<24>>24))p=(f[D>>2]|0)+(((q|0)<0?s+-1|0:q)*20|0)|0;else p=72144;f[p+8>>2]=s;p=o+V|0;if((f[(f[T>>2]|0)+48>>2]|0)>(s|0)){f[S>>2]=s+1;x=f[D>>2]|0;b[x+(s*20|0)>>0]=90;d[x+(s*20|0)+2>>1]=0;f[x+(s*20|0)+4>>2]=R;f[x+(s*20|0)+8>>2]=o;f[x+(s*20|0)+12>>2]=p;f[x+(s*20|0)+16>>2]=0;b[x+(s*20|0)+1>>0]=0}else tl(ca,90,R,o,p)|0;o=o+1|0;if((o|0)>=(B|0))break;p=b[(f[ca>>2]|0)+81>>0]|0;s=f[S>>2]|0}o=f[(f[T>>2]|0)+64>>2]|0;if(o|0)f[o+(z<<2)>>2]=f[S>>2];do if(!M){if(f[N>>2]|0){Kc(Y,y);break c}o=y;if((f[O>>2]|0)>>>0>o>>>0)break;if((f[P>>2]|0)>>>0<=o>>>0)break;f[y>>2]=f[I>>2];f[I>>2]=y;break c}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](y);break}else{B=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y);break}}else r=o;while(0);o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;B=f[D>>2]|0;b[B+(o*20|0)>>0]=63;d[B+(o*20|0)+2>>1]=0;f[B+(o*20|0)+4>>2]=1;f[B+(o*20|0)+8>>2]=Z;f[B+(o*20|0)+12>>2]=da;f[B+(o*20|0)+16>>2]=0;b[B+(o*20|0)+1>>0]=0}else o=tl(ca,63,1,Z,da)|0;do if(!(b[(f[ca>>2]|0)+81>>0]|0)){if((o|0)<0)o=(f[S>>2]|0)+-1|0;p=f[D>>2]|0;q=p+(o*20|0)+1|0;if(!(b[q>>0]|0)){f[p+(o*20|0)+16>>2]=38292;b[q>>0]=-8;break}else{ul(ca,p+(o*20|0)|0,38292,-8);break}}while(0);o=f[S>>2]|0;if((o|0)>0)d[(f[D>>2]|0)+((o+-1|0)*20|0)+2>>1]=2;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;B=f[D>>2]|0;b[B+(o*20|0)>>0]=5;d[B+(o*20|0)+2>>1]=0;f[B+(o*20|0)+4>>2]=R;f[B+(o*20|0)+8>>2]=r;f[B+(o*20|0)+12>>2]=0;f[B+(o*20|0)+16>>2]=0;b[B+(o*20|0)+1>>0]=0}else tl(ca,5,R,r,0)|0;o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;B=f[D>>2]|0;b[B+(o*20|0)>>0]=63;d[B+(o*20|0)+2>>1]=0;f[B+(o*20|0)+4>>2]=0;f[B+(o*20|0)+8>>2]=Z;f[B+(o*20|0)+12>>2]=$;f[B+(o*20|0)+16>>2]=0;b[B+(o*20|0)+1>>0]=0}else o=tl(ca,63,0,Z,$)|0;do if(!(b[(f[ca>>2]|0)+81>>0]|0)){if((o|0)<0)o=(f[S>>2]|0)+-1|0;p=f[D>>2]|0;q=p+(o*20|0)+1|0;if(!(b[q>>0]|0)){f[p+(o*20|0)+16>>2]=38332;b[q>>0]=-8;break}else{ul(ca,p+(o*20|0)|0,38332,-8);break}}while(0);o=f[S>>2]|0;if((o|0)>0)d[(f[D>>2]|0)+((o+-1|0)*20|0)+2>>1]=1;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;B=f[D>>2]|0;b[B+(o*20|0)>>0]=102;d[B+(o*20|0)+2>>1]=0;f[B+(o*20|0)+4>>2]=ba;f[B+(o*20|0)+8>>2]=3;f[B+(o*20|0)+12>>2]=da;f[B+(o*20|0)+16>>2]=0;b[B+(o*20|0)+1>>0]=0}else o=tl(ca,102,ba,3,da)|0;if(!(b[(f[ca>>2]|0)+81>>0]|0)){if((o|0)<0)o=(f[S>>2]|0)+-1|0;ul(ca,(f[D>>2]|0)+(o*20|0)|0,54603,0)}o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;B=f[D>>2]|0;b[B+(o*20|0)>>0]=121;d[B+(o*20|0)+2>>1]=0;f[B+(o*20|0)+4>>2]=g;f[B+(o*20|0)+8>>2]=i;f[B+(o*20|0)+12>>2]=0;f[B+(o*20|0)+16>>2]=0;b[B+(o*20|0)+1>>0]=0}else tl(ca,121,g,i,0)|0;o=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(o|0)){f[S>>2]=o+1;B=f[D>>2]|0;b[B+(o*20|0)>>0]=122;d[B+(o*20|0)+2>>1]=0;f[B+(o*20|0)+4>>2]=g;f[B+(o*20|0)+8>>2]=da;f[B+(o*20|0)+12>>2]=i;f[B+(o*20|0)+16>>2]=0;b[B+(o*20|0)+1>>0]=0}else tl(ca,122,g,da,i)|0;p=f[S>>2]|0;if((p|0)>0)d[(f[D>>2]|0)+((p+-1|0)*20|0)+2>>1]=8;if(!(b[(f[ca>>2]|0)+81>>0]|0))o=(f[D>>2]|0)+(((A|0)<0?p+-1|0:A)*20|0)|0;else o=72144;f[o+8>>2]=p}while(0);m=f[m+20>>2]|0}while((m|0)!=0)}if(l<<24>>24==0|Q^1){t=ea;return}l=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(l|0)){f[S>>2]=l+1;_=f[ca+88>>2]|0;b[_+(l*20|0)>>0]=104;d[_+(l*20|0)+2>>1]=0;f[_+(l*20|0)+4>>2]=k;f[_+(l*20|0)+8>>2]=$;f[_+(l*20|0)+12>>2]=0;f[_+(l*20|0)+16>>2]=0;b[_+(l*20|0)+1>>0]=0}else tl(ca,104,k,$,0)|0;l=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(l|0)){f[S>>2]=l+1;n=f[ca+88>>2]|0;b[n+(l*20|0)>>0]=20;d[n+(l*20|0)+2>>1]=0;f[n+(l*20|0)+4>>2]=$;f[n+(l*20|0)+8>>2]=0;f[n+(l*20|0)+12>>2]=0;f[n+(l*20|0)+16>>2]=0;b[n+(l*20|0)+1>>0]=0;n=l}else n=tl(ca,20,$,0,0)|0;l=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(l|0)){f[S>>2]=l+1;$=f[ca+88>>2]|0;b[$+(l*20|0)>>0]=73;d[$+(l*20|0)+2>>1]=0;f[$+(l*20|0)+4>>2]=0;f[$+(l*20|0)+8>>2]=aa;f[$+(l*20|0)+12>>2]=0;f[$+(l*20|0)+16>>2]=0;b[$+(l*20|0)+1>>0]=0}else tl(ca,73,0,aa,0)|0;l=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(l|0)){f[S>>2]=l+1;aa=f[ca+88>>2]|0;b[aa+(l*20|0)>>0]=102;d[aa+(l*20|0)+2>>1]=0;f[aa+(l*20|0)+4>>2]=ba;f[aa+(l*20|0)+8>>2]=3;f[aa+(l*20|0)+12>>2]=da;f[aa+(l*20|0)+16>>2]=0;b[aa+(l*20|0)+1>>0]=0}else l=tl(ca,102,ba,3,da)|0;if(!(b[(f[ca>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[S>>2]|0)+-1|0;ul(ca,(f[ca+88>>2]|0)+(l*20|0)|0,54603,0)}l=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(l|0)){f[S>>2]=l+1;ba=f[ca+88>>2]|0;b[ba+(l*20|0)>>0]=121;d[ba+(l*20|0)+2>>1]=0;f[ba+(l*20|0)+4>>2]=g;f[ba+(l*20|0)+8>>2]=i;f[ba+(l*20|0)+12>>2]=0;f[ba+(l*20|0)+16>>2]=0;b[ba+(l*20|0)+1>>0]=0}else tl(ca,121,g,i,0)|0;l=f[S>>2]|0;if((f[(f[T>>2]|0)+48>>2]|0)>(l|0)){f[S>>2]=l+1;ba=f[ca+88>>2]|0;b[ba+(l*20|0)>>0]=122;d[ba+(l*20|0)+2>>1]=0;f[ba+(l*20|0)+4>>2]=g;f[ba+(l*20|0)+8>>2]=da;f[ba+(l*20|0)+12>>2]=i;f[ba+(l*20|0)+16>>2]=0;b[ba+(l*20|0)+1>>0]=0}else tl(ca,122,g,da,i)|0;m=f[S>>2]|0;if((m|0)>0)d[(f[ca+88>>2]|0)+((m+-1|0)*20|0)+2>>1]=8;if(!(b[(f[ca>>2]|0)+81>>0]|0))l=(f[ca+88>>2]|0)+(((n|0)<0?m+-1|0:n)*20|0)|0;else l=72144;f[l+8>>2]=m;t=ea;return}function nm(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=f[a+116>>2]|0;l=(l|0)==0?a:l;if((c|0)==1)return;if(!(b[(f[(f[(f[a>>2]|0)+16>>2]|0)+(c<<4)+4>>2]|0)+9>>0]|0))return;r=l+104|0;p=f[r>>2]|0;h=l+108|0;a:do if((p|0)<=0){i=f[h>>2]|0;k=(p<<4)+16|0;n=f[l>>2]|0;m=((k|0)<0)<<31>>31;if(!i){b:do if(f[n+272>>2]|0)if(!(b[n+81>>0]|0))q=21;else{a=l;q=39;break a}else{do if(!(0>>0|(0==(m|0)?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;a=f[i>>2]|0;if(a|0){f[i>>2]=f[a>>2];p=n+284|0;f[p>>2]=(f[p>>2]|0)+1;break b}i=n+296|0;a=f[i>>2]|0;if(!a){a=n+292|0;break}else{f[i>>2]=f[a>>2];p=n+284|0;f[p>>2]=(f[p>>2]|0)+1;break b}}else a=n+288|0;while(0);f[a>>2]=(f[a>>2]|0)+1;q=21}while(0);if((q|0)==21)a=Dc(n,k,m)|0;f[h>>2]=a;if(!a)a=l;else q=37}else{a=l;o=i;i=k;q=22}}else{i=f[h>>2]|0;a=0;while(1){if((f[i+(a<<4)>>2]|0)==(c|0)?(f[i+(a<<4)+4>>2]|0)==(d|0):0)break;a=a+1|0;if((a|0)>=(p|0)){q=9;break}}if((q|0)==9){k=(p<<4)+16|0;a=l;o=i;n=f[l>>2]|0;m=((k|0)<0)<<31>>31;i=k;q=22;break}r=i+(a<<4)+8|0;b[r>>0]=(b[r>>0]|e)<<24>>24!=0&1;return}while(0);do if((q|0)==22){k=o;l=n+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0)?!(m>>>0>0|((m|0)==0?i>>>0>(j[n+276>>1]|0)>>>0:0)):0){f[h>>2]=o;a=o;h=p;q=38;break}i=Lc(n,o,i,m)|0;if(i|0){f[h>>2]=i;a=i;q=37;break}if(f[n+480>>2]|0){Kc(n,o);q=39;break}if((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0){q=n+300|0;f[o>>2]=f[q>>2];f[q>>2]=o;q=39;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](o);q=39;break}else{q=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);q=39;break}}while(0);if((q|0)==37){h=f[r>>2]|0;q=38}else if((q|0)==39)f[h>>2]=0;if((q|0)==38){f[r>>2]=h+1;f[a+(h<<4)>>2]=c;f[a+(h<<4)+4>>2]=d;b[a+(h<<4)+8>>0]=e;f[a+(h<<4)+12>>2]=g;return}f[r>>2]=0;a=f[a>>2]|0;h=a+81|0;if(b[h>>0]|0)return;if(b[a+82>>0]|0)return;b[h>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;r=a+272|0;f[r>>2]=(f[r>>2]|0)+1;return}function om(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=d[c+52>>1]|0;r=q&65535;i=d[c+50>>1]|0;s=a+36|0;if(f[s>>2]|0){t=0;return t|0}t=c+55|0;n=f[a>>2]|0;l=r*5|0;k=l+20|0;o=n+272|0;e=(f[o>>2]|0)==0;do if(!((h[t>>0]|h[t+1>>0]<<8)&8)){a:do if(!e)if(!(b[n+81>>0]|0))m=31;else{t=0;return t|0}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){g=n+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];p=n+284|0;f[p>>2]=(f[p>>2]|0)+1;break a}g=n+296|0;e=f[g>>2]|0;if(!e){e=n+292|0;break}else{f[g>>2]=f[e>>2];p=n+284|0;f[p>>2]=(f[p>>2]|0)+1;break a}}else e=n+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;m=31}while(0);if((m|0)==31)e=Dc(n,k,0)|0;if(e|0){f[e+16>>2]=e+20+(r<<2);d[e+6>>1]=q;d[e+8>>1]=q;b[e+4>>0]=b[n+78>>0]|0;f[e+12>>2]=n;f[e>>2]=1;_A(e+24|0,0,l+-4|0)|0;p=e;o=e;break}g=n+81|0;if((b[g>>0]|0)==0?(b[n+82>>0]|0)==0:0){b[g>>0]=1;if((f[n+180>>2]|0)>0)f[n+264>>2]=1;f[o>>2]=(f[o>>2]|0)+1;m=39}else m=39}else{b:do if(!e)if(!(b[n+81>>0]|0))m=13;else{t=0;return t|0}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){g=n+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];p=n+284|0;f[p>>2]=(f[p>>2]|0)+1;break b}g=n+296|0;e=f[g>>2]|0;if(!e){e=n+292|0;break}else{f[g>>2]=f[e>>2];p=n+284|0;f[p>>2]=(f[p>>2]|0)+1;break b}}else e=n+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;m=13}while(0);if((m|0)==13)e=Dc(n,k,0)|0;if(e|0){f[e+16>>2]=e+20+(r<<2);d[e+6>>1]=i;d[e+8>>1]=q;b[e+4>>0]=b[n+78>>0]|0;f[e+12>>2]=n;f[e>>2]=1;_A(e+24|0,0,l+-4|0)|0;p=e;o=e;break}g=n+81|0;if((b[g>>0]|0)==0?(b[n+82>>0]|0)==0:0){b[g>>0]=1;if((f[n+180>>2]|0)>0)f[n+264>>2]=1;f[o>>2]=(f[o>>2]|0)+1;m=39}else m=39}while(0);if((m|0)==39)if(!e){t=0;return t|0}else{p=e;o=0}if(q<<16>>16){n=c+32|0;l=c+28|0;m=p+16|0;k=0;do{g=f[(f[n>>2]|0)+(k<<2)>>2]|0;do if((g|0)!=43030){e=f[a>>2]|0;i=b[e+78>>0]|0;c=b[e+165>>0]|0;e=_k(e,i,g,c&255)|0;if(!(c<<24>>24)){if(!e){e=$k(a,i,0,g)|0;break}if(!(f[e+12>>2]|0))e=$k(a,i,e,g)|0}}else e=0;while(0);f[p+20+(k<<2)>>2]=e;b[(f[m>>2]|0)+k>>0]=b[(f[l>>2]|0)+k>>0]|0;k=k+1|0}while((k|0)!=(r|0))}if(!(f[s>>2]|0)){t=p;return t|0}e=h[t>>0]|h[t+1>>0]<<8;if(!(e&256)){s=e|256;b[t>>0]=s;b[t+1>>0]=s>>8;f[a+12>>2]=513}t=(f[p>>2]|0)+-1|0;f[p>>2]=t;if(t|0){t=0;return t|0}e=f[p+12>>2]|0;if(e|0){if(f[e+480>>2]|0){Kc(e,o);t=0;return t|0}t=p;if((f[e+304>>2]|0)>>>0<=t>>>0?(f[e+308>>2]|0)>>>0>t>>>0:0){t=e+300|0;f[p>>2]=f[t>>2];f[t>>2]=o;t=0;return t|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](o);t=0;return t|0}else{t=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);t=0;return t|0}return 0}function pm(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=t;t=t+16|0;l=m+8|0;i=m;j=lf(f[e>>2]|0)|0;k=j+12|0;h=((f[k>>2]|0)*25|0)+25|0;g=KA(h|0,((h|0)<0)<<31>>31|0,-1,-1)|0;e=ba()|0;do if(!(e>>>0>0|(e|0)==0&g>>>0>2147483390)){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](h)|0;if(!c)break}else{c=ib[f[37372>>2]&255](h)|0;if((f[18194]|0)>>>0>>0)f[18194]=h;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){n=f[18187]|0;g=LA(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&g>>>0<=n>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c)break;e=ib[f[37368>>2]&255](c)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}_A(c|0,0,h|0)|0;n=i;f[n>>2]=f[j>>2];f[n+4>>2]=0;vd(24,c,54616,i)|0;if((f[k>>2]|0)>0){i=j+24|0;g=0;h=c+((wz(c)|0)&1073741823)|0;while(1){o=(f[(f[i>>2]|0)+(g<<2)>>2]|0)+1|0;e=f[j>>2]|0;n=KA(o|0,0,-1,-1)|0;e=KA(n|0,ba()|0,e|0,0)|0;o=SA(e|0,ba()|0,o|0,0)|0;e=ba()|0;n=l;f[n>>2]=o;f[n+4>>2]=e;vd(24,h,54621,l)|0;if(!h)e=0;else e=(wz(h)|0)&1073741823;g=g+1|0;if((g|0)>=(f[k>>2]|0))break;else h=h+e|0}}if(($e(f[a>>2]|0,c,-1,1,101)|0)!=18){t=m;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=m;return}while(0);c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;e=c+81|0;if(b[e>>0]|0){t=m;return}if(b[c+82>>0]|0){t=m;return}b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;o=c+272|0;f[o>>2]=(f[o>>2]|0)+1;t=m;return}function qm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;h=lf(f[d>>2]|0)|0;a=f[d+4>>2]|0;c=j[a+8>>1]|0;do if(!(c&4)){if(c&8|0){g=Fc(+p[a>>3])|0;ba()|0;break}if(!(c&18))g=0;else{g=Gc(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0)|0;ba()|0}}else g=f[a>>2]|0;while(0);if(!(f[h>>2]|0)){c=h+8|0;if((f[c>>2]|0)<=0){g=f[h>>2]|0;g=g+1|0;f[h>>2]=g;return}d=f[h+20>>2]|0;a=0;do{f[d+(a<<2)>>2]=1;a=a+1|0}while((a|0)<(f[c>>2]|0));g=f[h>>2]|0;g=g+1|0;f[h>>2]=g;return}if((g|0)>0){c=f[h+20>>2]|0;a=0;do{e=c+(a<<2)|0;f[e>>2]=(f[e>>2]|0)+1;a=a+1|0}while((a|0)!=(g|0))}c=h+8|0;if((g|0)>=(f[c>>2]|0)){g=f[h>>2]|0;g=g+1|0;f[h>>2]=g;return}d=f[h+24>>2]|0;e=f[h+20>>2]|0;a=g;do{g=d+(a<<2)|0;f[g>>2]=(f[g>>2]|0)+1;f[e+(a<<2)>>2]=1;a=a+1|0}while((a|0)<(f[c>>2]|0));g=f[h>>2]|0;g=g+1|0;f[h>>2]=g;return}function rm(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0;c=f[e>>2]|0;g=j[c+8>>1]|0;do if(!(g&4)){if(g&8|0){n=Fc(+p[c>>3])|0;ba()|0;break}if(!(g&18))n=0;else{n=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else n=f[c>>2]|0;while(0);o=n+1&-2;c=f[e+4>>2]|0;g=j[c+8>>1]|0;do if(!(g&4)){if(g&8|0){k=Fc(+p[c>>3])|0;ba()|0;break}if(!(g&18))k=0;else{k=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else k=f[c>>2]|0;while(0);l=(o<<3)+60|0;m=f[(f[a>>2]|0)+32>>2]|0;e=((l|0)<0)<<31>>31;a:do if(!m){e=KA(l|0,e|0,-1,-1)|0;g=ba()|0;if(!(g>>>0>0|(g|0)==0&e>>>0>2147483390)){if(!(f[9328]|0)){h=ib[f[37356>>2]&255](l)|0;i=37;break}e=ib[f[37372>>2]&255](l)|0;if((f[18194]|0)>>>0>>0)f[18194]=l;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){q=f[18187]|0;g=LA(c|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&g>>>0<=q>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(c|0){g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;i=46}else i=46}}}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break}else{do if(!(0>>0|(0==(e|0)?(j[m+276>>1]|0)>>>0>>0:0))){c=m+300|0;g=f[c>>2]|0;if(g|0){f[c>>2]=f[g>>2];h=m+284|0;f[h>>2]=(f[h>>2]|0)+1;h=g;i=37;break a}c=m+296|0;g=f[c>>2]|0;if(!g){c=m+292|0;break}else{f[c>>2]=f[g>>2];h=m+284|0;f[h>>2]=(f[h>>2]|0)+1;h=g;i=37;break a}}else c=m+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}h=Dc(m,l,e)|0;i=37}while(0);if((i|0)==37?h|0:0){c=h;i=46}if((i|0)==46){_A(c|0,0,l|0)|0;f[c+56>>2]=m;f[c>>2]=0;f[c+8>>2]=n;f[c+12>>2]=k;q=c+60|0;f[c+24>>2]=q;f[c+20>>2]=q+(o<<2);if(($e(f[a>>2]|0,c,60,0,105)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if(b[g>>0]|0)return;if(b[c+82>>0]|0)return;b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;q=c+272|0;f[q>>2]=(f[q>>2]|0)+1;return}function sm(a){a=a|0;var b=0,c=0;b=f[a+56>>2]|0;if(!a)return;if(b|0){if(f[b+480>>2]|0){Kc(b,a);return}c=a;if((f[b+304>>2]|0)>>>0<=c>>>0?(f[b+308>>2]|0)>>>0>c>>>0:0){c=b+300|0;f[a>>2]=f[c>>2];f[c>>2]=a;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function tm(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;h=t;t=t+16|0;c=h+4|0;e=f[a>>2]|0;g=e+16|0;if(f[(f[g>>2]|0)+20>>2]|0){g=0;t=h;return g|0}if(b[a+195>>0]|0){g=0;t=h;return g|0}d=cj(f[e>>2]|0,0,e,c,0,542)|0;if(d|0){ni(a,51535,h);f[a+12>>2]=d;g=1;t=h;return g|0}d=f[c>>2]|0;f[(f[g>>2]|0)+20>>2]=d;if((um(d,f[e+92>>2]|0,-1,0)|0)==7){vm(e);g=1;t=h;return g|0}else{g=0;t=h;return g|0}return 0}function um(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0,h=0;h=f[a+4>>2]|0;f[h+4>>2]=f[a>>2];g=h+22|0;if(d[g>>1]&2){h=8;return h|0}if((c|0)<0)c=(f[h+32>>2]|0)-(f[h+36>>2]|0)|0;if((b+-512|0)>>>0<65025?(b+-1&b|0)==0:0){f[h+32>>2]=b;wm(h)}b=h+32|0;a=ih(f[h>>2]|0,b,c)|0;f[h+36>>2]=(f[b>>2]|0)-(c&65535);if(!e){h=a;return h|0}d[g>>1]=d[g>>1]|2;h=a;return h|0}function vm(a){a=a|0;var c=0;c=a+81|0;if(b[c>>0]|0)return;if(b[a+82>>0]|0)return;b[c>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;c=a+272|0;f[c>>2]=(f[c>>2]|0)+1;return}function wm(a){a=a|0;var b=0,c=0,d=0;c=a+80|0;a=f[c>>2]|0;if(!a)return;b=a+-4|0;f[c>>2]=b;a=b;do if((f[18022]|0)>>>0<=a>>>0)if((f[18023]|0)>>>0>a>>>0){f[18188]=(f[18188]|0)+-1;f[b>>2]=f[18025];f[18025]=b;b=(f[18026]|0)+1|0;f[18026]=b;f[18027]=(b|0)<(f[18021]|0)&1;break}else{a=ib[f[37368>>2]&255](b)|0;d=7;break}else{a=ib[f[37368>>2]&255](b)|0;d=7}while(0);do if((d|0)==7){f[18189]=(f[18189]|0)-a;if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{d=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}}while(0);f[c>>2]=0;return}function xm(a,c,e,g,i,k,l,m){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;J=a+8|0;L=f[J>>2]|0;if(k|0){v=c+36|0;if(f[v>>2]|0){n=f[L+12>>2]|0;t=n+60|0;u=f[t>>2]|0;f[t>>2]=u+1;t=n+64|0;if(!(u+-1&u)){r=u<<3|4;s=f[n>>2]|0;n=f[t>>2]|0;a:do if(n){p=n;q=s+304|0;if(((f[q>>2]|0)>>>0<=p>>>0?(f[s+308>>2]|0)>>>0>p>>>0:0)?!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0)):0)break;o=Lc(s,n,r,0)|0;if(!o){if(f[s+480>>2]|0){Kc(s,n);n=0;break}if((f[q>>2]|0)>>>0<=p>>>0?(f[s+308>>2]|0)>>>0>p>>>0:0){C=s+300|0;f[n>>2]=f[C>>2];f[C>>2]=n;n=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);n=0;break}else{C=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);n=0;break}}else n=o}else{if(f[s+272>>2]|0){if(b[s+81>>0]|0){n=0;break}}else{do if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0))){o=s+300|0;n=f[o>>2]|0;if(n|0){f[o>>2]=f[n>>2];C=s+284|0;f[C>>2]=(f[C>>2]|0)+1;break a}o=s+296|0;n=f[o>>2]|0;if(!n){n=s+292|0;break}else{f[o>>2]=f[n>>2];C=s+284|0;f[C>>2]=(f[C>>2]|0)+1;break a}}else n=s+288|0;while(0);f[n>>2]=(f[n>>2]|0)+1}n=Dc(s,r,0)|0}while(0);f[t>>2]=n}else n=f[t>>2]|0;if(n|0)f[n+(u<<2)>>2]=-1;f[k>>2]=~u;n=a+56|0;f[n>>2]=e+1;o=f[v>>2]|0;p=f[k>>2]|0;q=f[a>>2]|0;if(!o)o=0;else o=Bk(q,o,0,0)|0;if(!(b[q+81>>0]|0))zm(a,o,p,16);if(o)ig(q,o)}else n=k;f[n>>2]=0}if((i|0)!=0?(C=c+55|0,((h[C>>0]|h[C+1>>0]<<8)&8)!=0):0)n=c+50|0;else n=c+52|0;r=d[n>>1]|0;C=r&65535;B=r<<16>>16==1;do if(B){n=a+19|0;o=b[n>>0]|0;if(!(o<<24>>24)){z=a+44|0;A=(f[z>>2]|0)+1|0;f[z>>2]=A;break}else{A=o+-1<<24>>24;b[n>>0]=A;A=f[a+144+((A&255)<<2)>>2]|0;break}}else{n=a+32|0;o=f[n>>2]|0;p=a+28|0;q=f[p>>2]|0;if((q|0)<(C|0)){z=a+44|0;A=f[z>>2]|0;f[z>>2]=A+C;A=A+1|0;break}else{f[n>>2]=o+C;f[p>>2]=q-C;A=o;break}}while(0);do if(!l)n=0;else{if((A|0)==(m|0)?(f[l+36>>2]|0)==0:0){n=l;break}n=0}while(0);if(r<<16>>16){y=(n|0)==0;z=c+4|0;v=n+4|0;k=e+1|0;i=a+56|0;l=c+40|0;m=L+136|0;w=c+12|0;x=L+88|0;u=0;do{if(!y){t=d[(f[v>>2]|0)+(u<<1)>>1]|0;n=d[(f[z>>2]|0)+(u<<1)>>1]|0;if(t<<16>>16==-2?1:t<<16>>16!=n<<16>>16)D=59}else{n=d[(f[z>>2]|0)+(u<<1)>>1]|0;D=59}if((D|0)==59){D=0;t=u+A|0;if(n<<16>>16==-2){f[i>>2]=k;n=f[(f[l>>2]|0)+4+(u*20|0)>>2]|0;s=f[a>>2]|0;if(!n)r=0;else r=Bk(s,n,0,0)|0;b:do if(!(b[s+81>>0]|0)){do if(r){if((b[r>>0]|0)!=-92){p=xl(a,r,t)|0;break}n=f[J>>2]|0;o=f[r+28>>2]|0;p=n+136|0;q=f[p>>2]|0;if((f[(f[n+12>>2]|0)+48>>2]|0)>(q|0)){f[p>>2]=q+1;D=f[n+88>>2]|0;b[D+(q*20|0)>>0]=78;d[D+(q*20|0)+2>>1]=0;f[D+(q*20|0)+4>>2]=o;f[D+(q*20|0)+8>>2]=t;f[D+(q*20|0)+12>>2]=0;f[D+(q*20|0)+16>>2]=0;b[D+(q*20|0)+1>>0]=0;D=76;break b}else{tl(n,78,o,t,0)|0;D=76;break b}}else p=xl(a,0,t)|0;while(0);if((p|0)!=(t|0)?(E=f[J>>2]|0,(E|0)!=0):0){n=E+136|0;o=f[n>>2]|0;if((f[(f[E+12>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;D=f[E+88>>2]|0;b[D+(o*20|0)>>0]=79;d[D+(o*20|0)+2>>1]=0;f[D+(o*20|0)+4>>2]=p;f[D+(o*20|0)+8>>2]=t;f[D+(o*20|0)+12>>2]=0;f[D+(o*20|0)+16>>2]=0;b[D+(o*20|0)+1>>0]=0;D=75;break}else{tl(E,79,p,t,0)|0;D=75;break}}else D=75}else D=75;while(0);if((D|0)==75?(D=0,r|0):0)D=76;if((D|0)==76){D=0;ig(s,r)}f[i>>2]=0}else Am(f[J>>2]|0,f[w>>2]|0,e,n<<16>>16,t);n=f[m>>2]|0;if(((n|0)>0?(F=f[x>>2]|0,G=n+-1|0,H=F+(G*20|0)|0,(b[H>>0]|0)==84):0)?(I=f[L>>2]|0,(b[I+81>>0]|0)==0):0){s=F+(G*20|0)+1|0;t=F+(G*20|0)+16|0;qg(I,b[s>>0]|0,f[t>>2]|0);b[s>>0]=0;f[t>>2]=0;b[H>>0]=-85}}u=u+1|0}while((u|0)!=(C|0))}if(g|0){n=L+136|0;o=f[n>>2]|0;if((f[(f[L+12>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;J=f[L+88>>2]|0;b[J+(o*20|0)>>0]=102;d[J+(o*20|0)+2>>1]=0;f[J+(o*20|0)+4>>2]=A;f[J+(o*20|0)+8>>2]=C;f[J+(o*20|0)+12>>2]=g;f[J+(o*20|0)+16>>2]=0;b[J+(o*20|0)+1>>0]=0}else tl(L,102,A,C,g)|0;if(f[(f[c+12>>2]|0)+12>>2]|0?(K=Bm(f[a>>2]|0,c)|0,(b[(f[L>>2]|0)+81>>0]|0)==0):0)ul(L,(f[L+88>>2]|0)+(((f[n>>2]|0)+-1|0)*20|0)|0,K,0)}if(!B){n=a+28|0;if((f[n>>2]|0)>=(C|0))return A|0;f[n>>2]=C;f[a+32>>2]=A;return A|0}if(!A)return A|0;n=a+19|0;o=b[n>>0]|0;if((o&255)>=8)return A|0;b[n>>0]=o+1<<24>>24;f[a+144+((o&255)<<2)>>2]=A;return A|0}function ym(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;z=t;t=t+32|0;g=z;w=z+8|0;r=f[e+12>>2]|0;s=f[a>>2]|0;x=w+4|0;f[x>>2]=0;f[w>>2]=s;s=w+8|0;f[s>>2]=0;y=w+12|0;f[y>>2]=200;u=w+16|0;f[u>>2]=0;b[w+20>>0]=0;v=w+21|0;b[v>>0]=0;if(!(f[e+40>>2]|0)){n=e+50|0;if(d[n>>1]|0){o=r+4|0;p=e+4|0;m=0;do{q=f[(f[o>>2]|0)+(d[(f[p>>2]|0)+(m<<1)>>1]<<4)>>2]|0;do if(m|0){g=f[u>>2]|0;i=g+2|0;if(i>>>0<(f[s>>2]|0)>>>0){f[u>>2]=i;l=(f[x>>2]|0)+g|0;b[l>>0]=44;b[l+1>>0]=32;break}else{Ec(w,54720,2);break}}while(0);i=f[r>>2]|0;if(!i)g=0;else g=(wz(i)|0)&1073741823;k=f[u>>2]|0;l=k+g|0;if(l>>>0<(f[s>>2]|0)>>>0){if(g|0){f[u>>2]=l;YA((f[x>>2]|0)+k|0,i|0,g|0)|0}}else Ec(w,i,g);g=f[u>>2]|0;i=g+1|0;if(i>>>0<(f[s>>2]|0)>>>0){f[u>>2]=i;b[(f[x>>2]|0)+g>>0]=46}else Ec(w,40555,1);if(!q)g=0;else g=(wz(q)|0)&1073741823;i=f[u>>2]|0;k=i+g|0;if(k>>>0<(f[s>>2]|0)>>>0){if(g|0){f[u>>2]=k;YA((f[x>>2]|0)+i|0,q|0,g|0)|0}}else Ec(w,q,g);m=m+1|0}while(m>>>0<(j[n>>1]|0)>>>0)}}else{f[g>>2]=f[e>>2];qf(w,54709,g)}g=f[x>>2]|0;if(((g|0)!=0?(b[g+(f[u>>2]|0)>>0]=0,(f[y>>2]|0)!=0):0)?(b[v>>0]&4)==0:0)n=Cc(w)|0;else n=f[x>>2]|0;i=e+55|0;i=((h[i>>0]|h[i+1>>0]<<8)&3)==2?1555:2067;g=f[a+8>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;m=sl(a)|0}else m=g;if((c|0)==2){e=f[a+116>>2]|0;b[((e|0)==0?a:e)+21>>0]=1}l=m+136|0;g=f[l>>2]|0;if((f[(f[m+12>>2]|0)+48>>2]|0)>(g|0)){f[l>>2]=g+1;a=f[m+88>>2]|0;b[a+(g*20|0)>>0]=69;d[a+(g*20|0)+2>>1]=0;f[a+(g*20|0)+4>>2]=i;f[a+(g*20|0)+8>>2]=c;f[a+(g*20|0)+12>>2]=0;f[a+(g*20|0)+16>>2]=0;b[a+(g*20|0)+1>>0]=0}else g=tl(m,69,i,c,0)|0;i=f[m>>2]|0;do if(!(b[i+81>>0]|0)){if((g|0)<0)g=(f[l>>2]|0)+-1|0;i=f[m+88>>2]|0;k=i+(g*20|0)+1|0;if(b[k>>0]|0){ul(m,i+(g*20|0)|0,n,-7);break}if(n|0){f[i+(g*20|0)+16>>2]=n;b[k>>0]=-7}}else if(n|0){if(i|0){if(f[i+480>>2]|0){Kc(i,n);break}c=n;if((f[i+304>>2]|0)>>>0<=c>>>0?(f[i+308>>2]|0)>>>0>c>>>0:0){c=i+300|0;f[n>>2]=f[c>>2];f[c>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{c=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);g=f[l>>2]|0;if((g|0)<=0){t=z;return}d[(f[m+88>>2]|0)+((g+-1|0)*20|0)+2>>1]=2;t=z;return}function zm(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=t;t=t+208|0;u=B+160|0;l=B+112|0;m=B+64|0;n=B+16|0;o=B+8|0;x=B+4|0;y=B;w=f[a+8>>2]|0;f[x>>2]=0;f[y>>2]=0;if((c|0)==0|(w|0)==0){t=B;return}h=b[c>>0]|0;k=h^1;p=k&255;a:do switch(h<<24>>24){case 44:{zm(a,f[c+12>>2]|0,e,g);zm(a,f[c+16>>2]|0,e,g);break}case 43:{p=w+12|0;h=f[p>>2]|0;o=h+60|0;q=f[o>>2]|0;f[o>>2]=q+1;o=h+64|0;if(!(q+-1&q)){m=q<<3|4;n=f[h>>2]|0;h=f[o>>2]|0;b:do if(h){k=h;l=n+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;i=Lc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Kc(n,h);h=0;break}if((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0){u=n+300|0;f[h>>2]=f[u>>2];f[u>>2]=h;h=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);h=0;break}else{u=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);h=0;break}}else h=i}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){h=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;h=f[i>>2]|0;if(h|0){f[i>>2]=f[h>>2];u=n+284|0;f[u>>2]=(f[u>>2]|0)+1;break b}i=n+296|0;h=f[i>>2]|0;if(!h){h=n+292|0;break}else{f[i>>2]=f[h>>2];u=n+284|0;f[u>>2]=(f[u>>2]|0)+1;break b}}else h=n+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1}h=Dc(n,m,0)|0}while(0);f[o>>2]=h}else h=f[o>>2]|0;if(h|0)f[h+(q<<2)>>2]=-1;Cm(a,f[c+12>>2]|0,~q,g^16);zm(a,f[c+16>>2]|0,e,g);h=f[(f[p>>2]|0)+64>>2]|0;if(h|0)f[h+(q<<2)>>2]=f[w+136>>2];break}case 19:{Cm(a,f[c+12>>2]|0,e,g);break}case -93:{w=(b[c+38>>0]|0)==-100;h=f[c+12>>2]|0;g=w?0:16;if(w^(b[(f[(f[c+16>>2]|0)+8>>2]|0)+4>>0]|0)==0){zm(a,h,e,g);break a}else{Cm(a,h,e,g);break a}}case -100:case 45:{g=128;i=h<<24>>24==45?52:53;v=40;break}case 53:case 52:case 57:case 54:case 55:case 56:{i=p;v=40;break}case 51:case 50:{h=Dm(a,f[c+12>>2]|0,x)|0;g=w+136|0;i=f[g>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;w=f[w+88>>2]|0;b[w+(i*20|0)>>0]=k;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=h;f[w+(i*20|0)+8>>2]=e;f[w+(i*20|0)+12>>2]=0;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0;break a}else{tl(w,p,h,e,0)|0;break a}}case 48:{f[o>>2]=0;h=l;k=h+48|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(k|0));h=m;k=h+48|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(k|0));h=u;k=h+48|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(k|0));h=n;i=f[c+12>>2]|0;k=h+48|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(k|0));b[u>>0]=44;f[u+12>>2]=l;f[u+16>>2]=m;b[l>>0]=57;f[l+12>>2]=n;h=f[c+20>>2]|0;f[l+16>>2]=f[h+4>>2];b[m>>0]=55;f[m+12>>2]=n;f[m+16>>2]=f[h+24>>2];h=Fm(a,n,o)|0;b[n+38>>0]=b[n>>0]|0;b[n>>0]=-92;f[n+28>>2]=h;h=n+4|0;f[h>>2]=f[h>>2]&-4097;zm(a,u,e,g);h=f[o>>2]|0;if(h|0?(q=a+19|0,r=b[q>>0]|0,(r&255)<8):0){b[q>>0]=r+1<<24>>24;f[a+144+((r&255)<<2)>>2]=h}break}case 49:{if(g|0){Gm(a,c,e,e);break a}o=w+12|0;h=f[o>>2]|0;n=h+60|0;p=f[n>>2]|0;f[n>>2]=p+1;n=h+64|0;if(!(p+-1&p)){l=p<<3|4;m=f[h>>2]|0;h=f[n>>2]|0;c:do if(h){i=h;k=m+304|0;if(((f[k>>2]|0)>>>0<=i>>>0?(f[m+308>>2]|0)>>>0>i>>>0:0)?!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0)):0)break;g=Lc(m,h,l,0)|0;if(!g){if(f[m+480>>2]|0){Kc(m,h);h=0;break}if((f[k>>2]|0)>>>0<=i>>>0?(f[m+308>>2]|0)>>>0>i>>>0:0){u=m+300|0;f[h>>2]=f[u>>2];f[u>>2]=h;h=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);h=0;break}else{u=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);h=0;break}}else h=g}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){h=0;break}}else{do if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0))){g=m+300|0;h=f[g>>2]|0;if(h|0){f[g>>2]=f[h>>2];u=m+284|0;f[u>>2]=(f[u>>2]|0)+1;break c}g=m+296|0;h=f[g>>2]|0;if(!h){h=m+292|0;break}else{f[g>>2]=f[h>>2];u=m+284|0;f[u>>2]=(f[u>>2]|0)+1;break c}}else h=m+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1}h=Dc(m,l,0)|0}while(0);f[n>>2]=h}else h=f[n>>2]|0;if(h|0)f[h+(p<<2)>>2]=-1;Gm(a,c,e,~p);h=f[(f[o>>2]|0)+64>>2]|0;if(h|0)f[h+(p<<2)>>2]=f[w+136>>2];break}default:{f[u>>2]=0;if((f[c+4>>2]&1|0)==0?(Ak(c,u)|0)!=0:0)h=(f[u>>2]|0)==0&1;else h=0;v=95}}while(0);do if((v|0)==40){k=c+12|0;l=f[k>>2]|0;h=b[l>>0]|0;if(h<<24>>24==-92)h=b[l+38>>0]|0;switch(h<<24>>24){case -91:{s=l+20|0;v=45;break}case 127:{s=f[l+20>>2]|0;v=45;break}default:{}}if((v|0)==45?(f[f[s>>2]>>2]|0)>=2:0){f[u>>2]=0;if((f[c+4>>2]&1|0)==0?(Ak(c,u)|0)!=0:0)h=(f[u>>2]|0)==0&1;else h=0;v=95;break}u=Dm(a,l,x)|0;c=c+16|0;w=Dm(a,f[c>>2]|0,y)|0;Em(a,f[k>>2]|0,f[c>>2]|0,i,u,w,e,g)}while(0);do if((v|0)==95){if(h|0){h=w+136|0;g=f[h>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(g|0)){f[h>>2]=g+1;w=f[w+88>>2]|0;b[w+(g*20|0)>>0]=11;d[w+(g*20|0)+2>>1]=0;f[w+(g*20|0)+4>>2]=0;f[w+(g*20|0)+8>>2]=e;f[w+(g*20|0)+12>>2]=0;f[w+(g*20|0)+16>>2]=0;b[w+(g*20|0)+1>>0]=0;break}else{tl(w,11,0,e,0)|0;break}}f[u>>2]=0;if((f[c+4>>2]&1|0)==0?(Ak(c,u)|0)!=0:0){if(f[u>>2]|0)break}else v=101;k=Dm(a,c,x)|0;h=(g|0)!=0&1;g=w+136|0;i=f[g>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;w=f[w+88>>2]|0;b[w+(i*20|0)>>0]=20;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=k;f[w+(i*20|0)+8>>2]=e;f[w+(i*20|0)+12>>2]=h;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0;break}else{tl(w,20,k,e,h)|0;break}}while(0);h=f[x>>2]|0;if(h|0?(z=a+19|0,A=b[z>>0]|0,(A&255)<8):0){b[z>>0]=A+1<<24>>24;f[a+144+((A&255)<<2)>>2]=h}h=f[y>>2]|0;if(!h){t=B;return}g=a+19|0;i=b[g>>0]|0;if((i&255)>=8){t=B;return}b[g>>0]=i+1<<24>>24;f[a+144+((i&255)<<2)>>2]=h;t=B;return}function Am(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=t;t=t+16|0;p=r;if(!c){j=a+136|0;k=f[j>>2]|0;if((f[(f[a+12>>2]|0)+48>>2]|0)>(k|0)){f[j>>2]=k+1;a=f[a+88>>2]|0;b[a+(k*20|0)>>0]=90;d[a+(k*20|0)+2>>1]=0;f[a+(k*20|0)+4>>2]=e;f[a+(k*20|0)+8>>2]=g;f[a+(k*20|0)+12>>2]=i;f[a+(k*20|0)+16>>2]=0;b[a+(k*20|0)+1>>0]=0;t=r;return}else{tl(a,90,e,g,i)|0;t=r;return}}do if((g|0)>=0?(d[c+40>>1]|0)!=(g|0):0){m=(f[c+56>>2]|0)!=0;n=m?165:90;if(m|(f[c+36>>2]&32|0)==0)j=g;else{j=f[c+8>>2]|0;a:do if(!j)j=0;else while(1){m=j+55|0;if(((h[m>>0]|h[m+1>>0]<<8)&3)==2)break a;j=f[j+20>>2]|0;if(!j){j=0;break}}while(0);m=g&65535;k=d[j+52>>1]|0;b:do if(!(k<<16>>16))j=-1;else{l=f[j+4>>2]|0;k=k&65535;j=0;while(1){if((d[l+(j<<1)>>1]|0)==m<<16>>16)break b;j=j+1|0;if(j>>>0>=k>>>0){j=-1;break}}}while(0);j=j<<16>>16}k=a+136|0;l=f[k>>2]|0;if((f[(f[a+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;m=f[a+88>>2]|0;b[m+(l*20|0)>>0]=n;d[m+(l*20|0)+2>>1]=0;f[m+(l*20|0)+4>>2]=e;f[m+(l*20|0)+8>>2]=j;f[m+(l*20|0)+12>>2]=i;f[m+(l*20|0)+16>>2]=0;b[m+(l*20|0)+1>>0]=0;break}else{tl(a,n,e,j,i)|0;break}}else o=7;while(0);do if((o|0)==7){j=a+136|0;k=f[j>>2]|0;if((f[(f[a+12>>2]|0)+48>>2]|0)>(k|0)){f[j>>2]=k+1;o=f[a+88>>2]|0;b[o+(k*20|0)>>0]=-127;d[o+(k*20|0)+2>>1]=0;f[o+(k*20|0)+4>>2]=e;f[o+(k*20|0)+8>>2]=i;f[o+(k*20|0)+12>>2]=0;f[o+(k*20|0)+16>>2]=0;b[o+(k*20|0)+1>>0]=0;break}else{tl(a,129,e,i,0)|0;break}}while(0);if((g|0)<=-1){t=r;return}if(!(f[c+12>>2]|0)){f[p>>2]=0;m=f[a>>2]|0;j=c+4|0;l=f[j>>2]|0;k=f[l+(g<<4)+4>>2]|0;do if(k|0?(Ek(m,k,b[m+78>>0]|0,b[l+(g<<4)+13>>0]|0,p)|0,q=f[p>>2]|0,q|0):0){k=f[a>>2]|0;if(!(b[k+81>>0]|0)){e=f[a+88>>2]|0;p=(f[a+136>>2]|0)+-1|0;b[e+(p*20|0)+1>>0]=-11;f[e+(p*20|0)+16>>2]=q;break}else{qg(k,-11,q);break}}while(0)}else j=c+4|0;if((b[(f[j>>2]|0)+(g<<4)+13>>0]|0)!=69){t=r;return}j=a+136|0;k=f[j>>2]|0;if((f[(f[a+12>>2]|0)+48>>2]|0)>(k|0)){f[j>>2]=k+1;a=f[a+88>>2]|0;b[a+(k*20|0)>>0]=84;d[a+(k*20|0)+2>>1]=0;f[a+(k*20|0)+4>>2]=i;f[a+(k*20|0)+8>>2]=0;f[a+(k*20|0)+12>>2]=0;f[a+(k*20|0)+16>>2]=0;b[a+(k*20|0)+1>>0]=0;t=r;return}else{tl(a,84,i,0,0)|0;t=r;return}}function Bm(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;m=c+16|0;e=f[m>>2]|0;if(e|0){m=e;return m|0}k=f[c+12>>2]|0;l=c+52|0;g=j[l>>1]|0;e=g+1|0;do if(!(f[9328]|0)){e=ib[f[37356>>2]&255](e)|0;f[m>>2]=e;if(!e)i=15}else{h=ib[f[37372>>2]&255](e)|0;if((f[18194]|0)>>>0<=g>>>0)f[18194]=e;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){n=f[18187]|0;g=LA(e|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&g>>>0<=n>>>0)&1}e=ib[f[37356>>2]&255](h)|0;if(!e){f[m>>2]=0;i=15;break}g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g;f[m>>2]=e}while(0);if((i|0)==15){e=a+81|0;if(b[e>>0]|0){n=0;return n|0}if(b[a+82>>0]|0){n=0;return n|0}b[e>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;n=a+272|0;f[n>>2]=(f[n>>2]|0)+1;n=0;return n|0}if(!(d[l>>1]|0))g=0;else{i=c+4|0;a=k+4|0;h=c+40|0;g=0;do{e=d[(f[i>>2]|0)+(g<<1)>>1]|0;if(e<<16>>16<=-1)if(e<<16>>16==-1)e=68;else{e=Yk(f[(f[h>>2]|0)+4+(g*20|0)>>2]|0)|0;e=e<<24>>24==0?65:e}else e=b[(f[a>>2]|0)+(e<<16>>16<<4)+13>>0]|0;b[(f[m>>2]|0)+g>>0]=e;g=g+1|0}while(g>>>0<(j[l>>1]|0)>>>0);e=f[m>>2]|0}b[e+g>>0]=0;n=f[m>>2]|0;return n|0}function Cm(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=t;t=t+208|0;u=B+160|0;l=B+112|0;m=B+64|0;n=B+16|0;o=B+8|0;x=B+4|0;y=B;w=f[a+8>>2]|0;f[x>>2]=0;f[y>>2]=0;if((c|0)==0|(w|0)==0){t=B;return}k=b[c>>0]|0;p=k&255;a:do switch(k<<24>>24){case 44:{p=w+12|0;h=f[p>>2]|0;o=h+60|0;q=f[o>>2]|0;f[o>>2]=q+1;o=h+64|0;if(!(q+-1&q)){m=q<<3|4;n=f[h>>2]|0;h=f[o>>2]|0;b:do if(h){k=h;l=n+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;i=Lc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Kc(n,h);h=0;break}if((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0){u=n+300|0;f[h>>2]=f[u>>2];f[u>>2]=h;h=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);h=0;break}else{u=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);h=0;break}}else h=i}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){h=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;h=f[i>>2]|0;if(h|0){f[i>>2]=f[h>>2];u=n+284|0;f[u>>2]=(f[u>>2]|0)+1;break b}i=n+296|0;h=f[i>>2]|0;if(!h){h=n+292|0;break}else{f[i>>2]=f[h>>2];u=n+284|0;f[u>>2]=(f[u>>2]|0)+1;break b}}else h=n+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1}h=Dc(n,m,0)|0}while(0);f[o>>2]=h}else h=f[o>>2]|0;if(h|0)f[h+(q<<2)>>2]=-1;zm(a,f[c+12>>2]|0,~q,g^16);Cm(a,f[c+16>>2]|0,e,g);h=f[(f[p>>2]|0)+64>>2]|0;if(h|0)f[h+(q<<2)>>2]=f[w+136>>2];break}case 43:{Cm(a,f[c+12>>2]|0,e,g);Cm(a,f[c+16>>2]|0,e,g);break}case 19:{zm(a,f[c+12>>2]|0,e,g);break}case -93:{w=(b[c+38>>0]|0)==-100;h=f[c+12>>2]|0;g=w?16:0;if(w^(b[(f[(f[c+16>>2]|0)+8>>2]|0)+4>>0]|0)==0){Cm(a,h,e,g);break a}else{zm(a,h,e,g);break a}}case -100:case 45:{g=128;i=k<<24>>24==45?53:52;v=40;break}case 53:case 52:case 57:case 54:case 55:case 56:{i=p;v=40;break}case 51:case 50:{h=Dm(a,f[c+12>>2]|0,x)|0;g=w+136|0;i=f[g>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;w=f[w+88>>2]|0;b[w+(i*20|0)>>0]=k;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=h;f[w+(i*20|0)+8>>2]=e;f[w+(i*20|0)+12>>2]=0;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0;break a}else{tl(w,p,h,e,0)|0;break a}}case 48:{f[o>>2]=0;h=l;k=h+48|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(k|0));h=m;k=h+48|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(k|0));h=u;k=h+48|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(k|0));h=n;i=f[c+12>>2]|0;k=h+48|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(k|0));b[u>>0]=44;f[u+12>>2]=l;f[u+16>>2]=m;b[l>>0]=57;f[l+12>>2]=n;h=f[c+20>>2]|0;f[l+16>>2]=f[h+4>>2];b[m>>0]=55;f[m+12>>2]=n;f[m+16>>2]=f[h+24>>2];h=Fm(a,n,o)|0;b[n+38>>0]=b[n>>0]|0;b[n>>0]=-92;f[n+28>>2]=h;h=n+4|0;f[h>>2]=f[h>>2]&-4097;Cm(a,u,e,g);h=f[o>>2]|0;if(h|0?(q=a+19|0,r=b[q>>0]|0,(r&255)<8):0){b[q>>0]=r+1<<24>>24;f[a+144+((r&255)<<2)>>2]=h}break}case 49:{p=w+12|0;h=f[p>>2]|0;o=h+60|0;q=f[o>>2]|0;f[o>>2]=q+1;o=h+64|0;if(!(q+-1&q)){m=q<<3|4;n=f[h>>2]|0;h=f[o>>2]|0;c:do if(h){k=h;l=n+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;i=Lc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Kc(n,h);h=0;break}if((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0){u=n+300|0;f[h>>2]=f[u>>2];f[u>>2]=h;h=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);h=0;break}else{u=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);h=0;break}}else h=i}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){h=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;h=f[i>>2]|0;if(h|0){f[i>>2]=f[h>>2];u=n+284|0;f[u>>2]=(f[u>>2]|0)+1;break c}i=n+296|0;h=f[i>>2]|0;if(!h){h=n+292|0;break}else{f[i>>2]=f[h>>2];u=n+284|0;f[u>>2]=(f[u>>2]|0)+1;break c}}else h=n+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1}h=Dc(n,m,0)|0}while(0);f[o>>2]=h}else h=f[o>>2]|0;if(h|0)f[h+(q<<2)>>2]=-1;h=~q;Gm(a,c,h,(g|0)==0?h:e);g=w+136|0;h=f[g>>2]|0;if((f[(f[p>>2]|0)+48>>2]|0)>(h|0)){f[g>>2]=h+1;w=f[w+88>>2]|0;b[w+(h*20|0)>>0]=11;d[w+(h*20|0)+2>>1]=0;f[w+(h*20|0)+4>>2]=0;f[w+(h*20|0)+8>>2]=e;f[w+(h*20|0)+12>>2]=0;f[w+(h*20|0)+16>>2]=0;b[w+(h*20|0)+1>>0]=0}else tl(w,11,0,e,0)|0;h=f[(f[p>>2]|0)+64>>2]|0;if(h|0)f[h+(q<<2)>>2]=f[g>>2];break}default:{f[u>>2]=0;if((f[c+4>>2]&1|0)==0?(Ak(c,u)|0)!=0:0)h=(f[u>>2]|0)!=0&1;else h=0;v=96}}while(0);do if((v|0)==40){k=c+12|0;l=f[k>>2]|0;h=b[l>>0]|0;if(h<<24>>24==-92)h=b[l+38>>0]|0;switch(h<<24>>24){case -91:{s=l+20|0;v=45;break}case 127:{s=f[l+20>>2]|0;v=45;break}default:{}}if((v|0)==45?(f[f[s>>2]>>2]|0)>=2:0){f[u>>2]=0;if((f[c+4>>2]&1|0)==0?(Ak(c,u)|0)!=0:0)h=(f[u>>2]|0)!=0&1;else h=0;v=96;break}u=Dm(a,l,x)|0;c=c+16|0;w=Dm(a,f[c>>2]|0,y)|0;Em(a,f[k>>2]|0,f[c>>2]|0,i,u,w,e,g)}while(0);do if((v|0)==96){if(h|0){h=w+136|0;g=f[h>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(g|0)){f[h>>2]=g+1;w=f[w+88>>2]|0;b[w+(g*20|0)>>0]=11;d[w+(g*20|0)+2>>1]=0;f[w+(g*20|0)+4>>2]=0;f[w+(g*20|0)+8>>2]=e;f[w+(g*20|0)+12>>2]=0;f[w+(g*20|0)+16>>2]=0;b[w+(g*20|0)+1>>0]=0;break}else{tl(w,11,0,e,0)|0;break}}f[u>>2]=0;if((f[c+4>>2]&1|0)==0?(Ak(c,u)|0)!=0:0){if(!(f[u>>2]|0))break}else v=102;k=Dm(a,c,x)|0;h=(g|0)!=0&1;g=w+136|0;i=f[g>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;w=f[w+88>>2]|0;b[w+(i*20|0)>>0]=18;d[w+(i*20|0)+2>>1]=0;f[w+(i*20|0)+4>>2]=k;f[w+(i*20|0)+8>>2]=e;f[w+(i*20|0)+12>>2]=h;f[w+(i*20|0)+16>>2]=0;b[w+(i*20|0)+1>>0]=0;break}else{tl(w,18,k,e,h)|0;break}}while(0);h=f[x>>2]|0;if(h|0?(z=a+19|0,A=b[z>>0]|0,(A&255)<8):0){b[z>>0]=A+1<<24>>24;f[a+144+((A&255)<<2)>>2]=h}h=f[y>>2]|0;if(!h){t=B;return}g=a+19|0;i=b[g>>0]|0;if((i&255)>=8){t=B;return}b[g>>0]=i+1<<24>>24;f[a+144+((i&255)<<2)>>2]=h;t=B;return}function Dm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=t;t=t+32|0;g=i;a:do if(!c)e=0;else while(1){e=f[c+4>>2]|0;if(!(e&4096)){e=c;break a}if(!(e&262144))c=c+12|0;else c=(f[c+20>>2]|0)+4|0;c=f[c>>2]|0;if(!c){e=0;break}}while(0);if((b[a+23>>0]|0?(b[e>>0]|0)!=-92:0)?(c=g+20|0,b[c>>0]=2,f[g+4>>2]=155,f[g+8>>2]=156,f[g+24>>2]=0,oi(g,e)|0,b[c>>0]|0):0){f[d>>2]=0;d=Pm(a,e,-1)|0;t=i;return d|0}g=a+19|0;c=b[g>>0]|0;if(!(c<<24>>24)){j=a+44|0;c=(f[j>>2]|0)+1|0;f[j>>2]=c}else{c=c+-1<<24>>24;b[g>>0]=c;c=f[a+144+((c&255)<<2)>>2]|0}e=xl(a,e,c)|0;if((e|0)!=(c|0))if((c|0)!=0?(h=b[g>>0]|0,(h&255)<8):0){b[g>>0]=h+1<<24>>24;f[a+144+((h&255)<<2)>>2]=c;c=0}else c=0;f[d>>2]=c;j=e;t=i;return j|0}function Em(a,c,e,g,h,i,j,k){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0;do if(!(f[c+4>>2]&256)){if(e|0?f[e+4>>2]&256|0:0){n=Zk(a,e)|0;break}l=Zk(a,c)|0;if(!l)n=Zk(a,e)|0;else n=l}else n=Zk(a,c)|0;while(0);e=Yk(e)|0;l=Yk(c)|0;if(e<<24>>24==0|l<<24>>24==0)l=(l|e)<<24>>24==0?65:(l&255)+(e&255)|0;else l=e<<24>>24>66|l<<24>>24>66?67:65;m=l|k;k=a+8|0;a=f[k>>2]|0;e=a+136|0;l=f[e>>2]|0;if((f[(f[a+12>>2]|0)+48>>2]|0)>(l|0)){f[e>>2]=l+1;c=f[a+88>>2]|0;b[c+(l*20|0)>>0]=g;d[c+(l*20|0)+2>>1]=0;f[c+(l*20|0)+4>>2]=i;f[c+(l*20|0)+8>>2]=j;f[c+(l*20|0)+12>>2]=h;f[c+(l*20|0)+16>>2]=0;b[c+(l*20|0)+1>>0]=0}else l=tl(a,g,i,j,h)|0;do if(!(b[(f[a>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[e>>2]|0)+-1|0;e=f[a+88>>2]|0;c=e+(l*20|0)+1|0;if(b[c>>0]|0){ul(a,e+(l*20|0)|0,n,-2);break}if(n|0){f[e+(l*20|0)+16>>2]=n;b[c>>0]=-2}}while(0);l=f[k>>2]|0;e=f[l+136>>2]|0;if((e|0)<=0)return;d[(f[l+88>>2]|0)+((e+-1|0)*20|0)+2>>1]=m&255;return}function Fm(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;y=t;t=t+32|0;u=y;i=b[c>>0]|0;if(i<<24>>24==-92)g=b[c+38>>0]|0;else g=i;switch(g<<24>>24){case -91:{h=c+20|0;x=6;break}case 127:{h=f[c+20>>2]|0;x=6;break}default:{}}if((x|0)==6?(s=f[f[h>>2]>>2]|0,(s|0)!=1):0){f[e>>2]=0;if(i<<24>>24==127){x=Mm(a,c,0,0)|0;t=y;return x|0}r=a+44|0;q=f[r>>2]|0;g=q+1|0;f[r>>2]=q+s;if((s|0)<=0){x=g;t=y;return x|0}k=c+20|0;l=a+23|0;m=u+20|0;n=u+4|0;o=u+8|0;p=u+24|0;q=a+8|0;j=0;do{h=f[(f[k>>2]|0)+4+(j*20|0)>>2]|0;r=j+g|0;do if(!(b[l>>0]|0))if(!h){w=xl(a,0,r)|0;x=24}else x=18;else{b[m>>0]=2;f[n>>2]=155;f[o>>2]=156;f[p>>2]=0;if(h){oi(u,h)|0;if(!(b[m>>0]|0)){x=18;break}}Pm(a,h,r)|0}while(0);do if((x|0)==18){x=0;if((b[h>>0]|0)!=-92){w=xl(a,h,r)|0;x=24;break}c=f[q>>2]|0;h=f[h+28>>2]|0;e=c+136|0;i=f[e>>2]|0;if((f[(f[c+12>>2]|0)+48>>2]|0)>(i|0)){f[e>>2]=i+1;c=f[c+88>>2]|0;b[c+(i*20|0)>>0]=78;d[c+(i*20|0)+2>>1]=0;f[c+(i*20|0)+4>>2]=h;f[c+(i*20|0)+8>>2]=r;f[c+(i*20|0)+12>>2]=0;f[c+(i*20|0)+16>>2]=0;b[c+(i*20|0)+1>>0]=0;break}else{tl(c,78,h,r,0)|0;break}}while(0);do if(((x|0)==24?(x=0,(w|0)!=(r|0)):0)?(v=f[q>>2]|0,v|0):0){h=v+136|0;e=f[h>>2]|0;if((f[(f[v+12>>2]|0)+48>>2]|0)>(e|0)){f[h>>2]=e+1;c=f[v+88>>2]|0;b[c+(e*20|0)>>0]=79;d[c+(e*20|0)+2>>1]=0;f[c+(e*20|0)+4>>2]=w;f[c+(e*20|0)+8>>2]=r;f[c+(e*20|0)+12>>2]=0;f[c+(e*20|0)+16>>2]=0;b[c+(e*20|0)+1>>0]=0;break}else{tl(v,79,w,r,0)|0;break}}while(0);j=j+1|0}while((j|0)!=(s|0));t=y;return g|0}x=Dm(a,c,e)|0;t=y;return x|0}function Gm(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=t;t=t+16|0;x=O+8|0;m=O+4|0;z=O;f[x>>2]=0;u=c+12|0;G=f[u>>2]|0;if(Hm(a,c)|0){t=O;return}N=Im(a,c)|0;i=f[u>>2]|0;h=b[i>>0]|0;if(h<<24>>24==-92)h=b[i+38>>0]|0;switch(h<<24>>24){case -91:{h=i+20|0;E=7;break}case 127:{h=f[i+20>>2]|0;E=7;break}default:F=1}if((E|0)==7)F=f[f[h>>2]>>2]|0;k=f[a>>2]|0;l=(F*5|0)+1|0;a:do if(!k){K=KA(l|0,0,-1,-1)|0;J=ba()|0;if(!(J>>>0>0|(J|0)==0&K>>>0>2147483390)){if(!(f[9328]|0)){h=ib[f[37356>>2]&255](l)|0;E=32;break}h=ib[f[37372>>2]&255](l)|0;if((f[18194]|0)>>>0>>0)f[18194]=l;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){K=f[18187]|0;J=LA(i|0,k|0,h|0,((h|0)<0)<<31>>31|0)|0;I=ba()|0;f[17976]=((I|0)<0|(I|0)==0&J>>>0<=K>>>0)&1}h=ib[f[37356>>2]&255](h)|0;if(h){i=ib[f[37368>>2]&255](h)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;E=33}else E=33}else K=0}else K=0}else{if(f[k+272>>2]|0){if(b[k+81>>0]|0){K=0;break}}else{do if(!(0<0|(0==0?(j[k+276>>1]|0)>>>0>>0:0))){i=k+300|0;h=f[i>>2]|0;if(h|0){f[i>>2]=f[h>>2];E=k+284|0;f[E>>2]=(f[E>>2]|0)+1;E=32;break a}i=k+296|0;h=f[i>>2]|0;if(!h){h=k+292|0;break}else{f[i>>2]=f[h>>2];E=k+284|0;f[E>>2]=(f[E>>2]|0)+1;E=32;break a}}else h=k+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1}h=Dc(k,l,0)|0;E=32}while(0);if((E|0)==32)if(!h)K=0;else E=33;if((E|0)==33){_A(h|0,0,l|0)|0;K=h}h=f[a>>2]|0;if(!(b[h+81>>0]|0)){I=f[a+8>>2]|0;v=(e|0)==(g|0);r=Jm(a,c,3,v?0:x,K)|0;J=Fm(a,G,m)|0;D=(F|0)>0;b:do if(D){h=0;do{if((f[K+(h<<2)>>2]|0)!=(h|0))break b;h=h+1|0}while((h|0)<(F|0))}else h=0;while(0);if((h|0)!=(F|0)){do if((F|0)==1){h=a+19|0;i=b[h>>0]|0;if(!(i<<24>>24)){H=a+44|0;i=(f[H>>2]|0)+1|0;f[H>>2]=i;break}else{i=i+-1<<24>>24;b[h>>0]=i;i=f[a+144+((i&255)<<2)>>2]|0;break}}else{h=a+32|0;i=f[h>>2]|0;k=a+28|0;l=f[k>>2]|0;if((l|0)<(F|0)){H=a+44|0;i=f[H>>2]|0;f[H>>2]=i+F;i=i+1|0;break}else{f[h>>2]=i+F;f[k>>2]=l-F;break}}while(0);if(D){k=I+136|0;l=I+12|0;m=I+88|0;h=0;do{n=h+J|0;o=(f[K+(h<<2)>>2]|0)+i|0;p=f[k>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(p|0)){f[k>>2]=p+1;H=f[m>>2]|0;b[H+(p*20|0)>>0]=78;d[H+(p*20|0)+2>>1]=0;f[H+(p*20|0)+4>>2]=n;f[H+(p*20|0)+8>>2]=o;f[H+(p*20|0)+12>>2]=0;f[H+(p*20|0)+16>>2]=0;b[H+(p*20|0)+1>>0]=0}else tl(I,78,n,o,0)|0;h=h+1|0}while((h|0)!=(F|0));H=i}else H=i}else H=J;c:do if((r|0)==5){w=f[c+20>>2]|0;v=Zk(a,f[u>>2]|0)|0;x=I+12|0;h=f[x>>2]|0;o=h+60|0;c=f[o>>2]|0;f[o>>2]=c+1;o=h+64|0;if(!(c+-1&c)){m=c<<3|4;n=f[h>>2]|0;h=f[o>>2]|0;d:do if(h){k=h;l=n+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;i=Lc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Kc(n,h);h=0;break}if((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0){G=n+300|0;f[h>>2]=f[G>>2];f[G>>2]=h;h=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);h=0;break}else{G=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);h=0;break}}else h=i}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){h=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;h=f[i>>2]|0;if(h|0){f[i>>2]=f[h>>2];G=n+284|0;f[G>>2]=(f[G>>2]|0)+1;break d}i=n+296|0;h=f[i>>2]|0;if(!h){h=n+292|0;break}else{f[i>>2]=f[h>>2];G=n+284|0;f[G>>2]=(f[G>>2]|0)+1;break d}}else h=n+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1}h=Dc(n,m,0)|0}while(0);f[o>>2]=h}else h=f[o>>2]|0;if(h|0)f[h+(c<<2)>>2]=-1;s=~c;u=(g|0)!=(e|0);do if(u){h=a+19|0;i=b[h>>0]|0;if(!(i<<24>>24)){G=a+44|0;h=(f[G>>2]|0)+1|0;f[G>>2]=h}else{G=i+-1<<24>>24;b[h>>0]=G;h=f[a+144+((G&255)<<2)>>2]|0}i=I+136|0;k=f[i>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;r=f[I+88>>2]|0;b[r+(k*20|0)>>0]=92;d[r+(k*20|0)+2>>1]=0;f[r+(k*20|0)+4>>2]=H;f[r+(k*20|0)+8>>2]=H;f[r+(k*20|0)+12>>2]=h;f[r+(k*20|0)+16>>2]=0;b[r+(k*20|0)+1>>0]=0;r=h;break}else{tl(I,92,H,H,h)|0;r=h;break}}else r=0;while(0);if((f[w>>2]|0)>0){m=(r|0)==0;n=I+136|0;o=I+88|0;p=a+19|0;q=(v|0)==0;l=0;do{h=w+4+(l*20|0)|0;k=Dm(a,f[h>>2]|0,z)|0;e:do if(!m){h=f[h>>2]|0;i=b[h>>0]|0;if((i+95&255)<2)do{h=f[h+12>>2]|0;i=b[h>>0]|0}while((i+95&255)<2);if(i<<24>>24==-92)i=b[h+38>>0]|0;f:do switch(i<<24>>24){case -114:case -115:case 106:case -113:break e;case -98:{if(f[h+4>>2]&1048576|0)break f;i=f[h+44>>2]|0;if(!i)break f;h=d[h+32>>1]|0;if(h<<16>>16<=-1)break e;if(b[(f[i+4>>2]|0)+(h<<16>>16<<4)+12>>0]|0)break e;break}default:{}}while(0);h=f[n>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(h|0)){f[n>>2]=h+1;G=f[o>>2]|0;b[G+(h*20|0)>>0]=92;d[G+(h*20|0)+2>>1]=0;f[G+(h*20|0)+4>>2]=r;f[G+(h*20|0)+8>>2]=k;f[G+(h*20|0)+12>>2]=r;f[G+(h*20|0)+16>>2]=0;b[G+(h*20|0)+1>>0]=0;break}else{tl(I,92,r,k,r)|0;break}}while(0);h=f[n>>2]|0;i=(f[(f[x>>2]|0)+48>>2]|0)>(h|0);do if(u|(l|0)<((f[w>>2]|0)+-1|0)){if(i){f[n>>2]=h+1;G=f[o>>2]|0;b[G+(h*20|0)>>0]=53;d[G+(h*20|0)+2>>1]=0;f[G+(h*20|0)+4>>2]=H;f[G+(h*20|0)+8>>2]=s;f[G+(h*20|0)+12>>2]=k;f[G+(h*20|0)+16>>2]=0;b[G+(h*20|0)+1>>0]=0}else h=tl(I,53,H,s,k)|0;do if(!(b[(f[I>>2]|0)+81>>0]|0)){if((h|0)<0)h=(f[n>>2]|0)+-1|0;i=f[o>>2]|0;k=i+(h*20|0)+1|0;if(b[k>>0]|0){ul(I,i+(h*20|0)|0,v,-2);break}if(q)break;f[i+(h*20|0)+16>>2]=v;b[k>>0]=-2}while(0);h=f[n>>2]|0;if((h|0)<=0)break;d[(f[o>>2]|0)+((h+-1|0)*20|0)+2>>1]=b[N>>0]|0}else{if(i){f[n>>2]=h+1;G=f[o>>2]|0;b[G+(h*20|0)>>0]=52;d[G+(h*20|0)+2>>1]=0;f[G+(h*20|0)+4>>2]=H;f[G+(h*20|0)+8>>2]=e;f[G+(h*20|0)+12>>2]=k;f[G+(h*20|0)+16>>2]=0;b[G+(h*20|0)+1>>0]=0}else h=tl(I,52,H,e,k)|0;do if(!(b[(f[I>>2]|0)+81>>0]|0)){if((h|0)<0)h=(f[n>>2]|0)+-1|0;i=f[o>>2]|0;k=i+(h*20|0)+1|0;if(b[k>>0]|0){ul(I,i+(h*20|0)|0,v,-2);break}if(q)break;f[i+(h*20|0)+16>>2]=v;b[k>>0]=-2}while(0);h=f[n>>2]|0;if((h|0)<=0)break;d[(f[o>>2]|0)+((h+-1|0)*20|0)+2>>1]=(b[N>>0]|16)<<24>>24}while(0);h=f[z>>2]|0;if(h|0?(y=b[p>>0]|0,(y&255)<8):0){b[p>>0]=y+1<<24>>24;f[a+144+((y&255)<<2)>>2]=h}l=l+1|0}while((l|0)<(f[w>>2]|0))}k=(r|0)==0;do if(!k){i=I+136|0;h=f[i>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(h|0)){f[i>>2]=h+1;G=f[I+88>>2]|0;b[G+(h*20|0)>>0]=50;d[G+(h*20|0)+2>>1]=0;f[G+(h*20|0)+4>>2]=r;f[G+(h*20|0)+8>>2]=g;f[G+(h*20|0)+12>>2]=0;f[G+(h*20|0)+16>>2]=0;b[G+(h*20|0)+1>>0]=0}else tl(I,50,r,g,0)|0;h=f[i>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(h|0)){f[i>>2]=h+1;g=f[I+88>>2]|0;b[g+(h*20|0)>>0]=11;d[g+(h*20|0)+2>>1]=0;f[g+(h*20|0)+4>>2]=0;f[g+(h*20|0)+8>>2]=e;f[g+(h*20|0)+12>>2]=0;f[g+(h*20|0)+16>>2]=0;b[g+(h*20|0)+1>>0]=0;break}else{tl(I,11,0,e,0)|0;break}}while(0);h=f[(f[x>>2]|0)+64>>2]|0;if(h|0)f[h+(c<<2)>>2]=f[I+136>>2];if(!k?(A=a+19|0,C=b[A>>0]|0,(C&255)<8):0){b[A>>0]=C+1<<24>>24;f[a+144+((C&255)<<2)>>2]=r}}else{if(v){l=e;q=0}else{h=f[I+12>>2]|0;o=h+60|0;p=f[o>>2]|0;f[o>>2]=p+1;o=h+64|0;if(!(p+-1&p)){m=p<<3|4;n=f[h>>2]|0;h=f[o>>2]|0;g:do if(h){k=h;l=n+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[n+308>>2]|0)>>>0>k>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;i=Lc(n,h,m,0)|0;if(!i){if(f[n+480>>2]|0){Kc(n,h);h=0;break}do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;C=n+300|0;f[h>>2]=f[C>>2];f[C>>2]=h;h=0;break g}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](h);h=0;break}else{C=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);h=0;break}}else h=i}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){h=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;h=f[i>>2]|0;if(h|0){f[i>>2]=f[h>>2];C=n+284|0;f[C>>2]=(f[C>>2]|0)+1;break g}i=n+296|0;h=f[i>>2]|0;if(!h){h=n+292|0;break}else{f[i>>2]=f[h>>2];C=n+284|0;f[C>>2]=(f[C>>2]|0)+1;break g}}else h=n+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1}h=Dc(n,m,0)|0}while(0);f[o>>2]=h}else h=f[o>>2]|0;if(h|0)f[h+(p<<2)>>2]=-1;q=~p;l=q}h:do if(D){n=I+136|0;o=I+12|0;p=I+88|0;m=0;while(1){h=f[u>>2]|0;k=b[h>>0]|0;if(k<<24>>24==-92)i=b[h+38>>0]|0;else i=k;switch(i<<24>>24){case -91:{i=h+20|0;E=186;break}case 127:{i=f[h+20>>2]|0;E=186;break}default:{}}do if((E|0)==186){E=0;if((f[f[i>>2]>>2]|0)>=2){if(k<<24>>24!=127?(b[h+38>>0]|0)!=127:0){h=f[(f[h+20>>2]|0)+4+(m*20|0)>>2]|0;break}h=f[(f[f[h+20>>2]>>2]|0)+4+(m*20|0)>>2]|0}}while(0);i=b[h>>0]|0;if((i+95&255)<2)do{h=f[h+12>>2]|0;i=b[h>>0]|0}while((i+95&255)<2);if(i<<24>>24==-92)i=b[h+38>>0]|0;switch(i<<24>>24){case -114:case -115:case 106:case -113:break;case -98:{if((f[h+4>>2]&1048576|0)==0?(s=f[h+44>>2]|0,(s|0)!=0):0){C=d[h+32>>1]|0;if(C<<16>>16>-1?(b[(f[s+4>>2]|0)+(C<<16>>16<<4)+12>>0]|0)==0:0)E=201}else E=201;break}default:E=201}do if((E|0)==201){E=0;h=m+H|0;i=f[n>>2]|0;if((f[(f[o>>2]|0)+48>>2]|0)>(i|0)){f[n>>2]=i+1;C=f[p>>2]|0;b[C+(i*20|0)>>0]=50;d[C+(i*20|0)+2>>1]=0;f[C+(i*20|0)+4>>2]=h;f[C+(i*20|0)+8>>2]=l;f[C+(i*20|0)+12>>2]=0;f[C+(i*20|0)+16>>2]=0;b[C+(i*20|0)+1>>0]=0;break}else{tl(I,50,h,l,0)|0;break}}while(0);m=m+1|0;if((m|0)==(F|0))break h}}while(0);do if((r|0)==1){h=f[c+28>>2]|0;k=I+136|0;i=f[k>>2]|0;l=I+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(i|0)){f[k>>2]=i+1;C=f[I+88>>2]|0;b[C+(i*20|0)>>0]=30;d[C+(i*20|0)+2>>1]=0;f[C+(i*20|0)+4>>2]=h;f[C+(i*20|0)+8>>2]=e;f[C+(i*20|0)+12>>2]=H;f[C+(i*20|0)+16>>2]=0;b[C+(i*20|0)+1>>0]=0}else tl(I,30,h,e,H)|0;h=f[k>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(h|0)){f[k>>2]=h+1;i=f[I+88>>2]|0;b[i+(h*20|0)>>0]=11;i=i+(h*20|0)+1|0;k=i+19|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(k|0));break}else{h=tl(I,11,0,0,0)|0;break}}else{m=I+136|0;h=f[m>>2]|0;l=I+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(h|0)){f[m>>2]=h+1;C=f[I+88>>2]|0;b[C+(h*20|0)>>0]=91;d[C+(h*20|0)+2>>1]=0;f[C+(h*20|0)+4>>2]=H;f[C+(h*20|0)+8>>2]=F;f[C+(h*20|0)+12>>2]=0;f[C+(h*20|0)+16>>2]=0;b[C+(h*20|0)+1>>0]=0}else h=tl(I,91,H,F,0)|0;i=f[I>>2]|0;do if(b[i+81>>0]|0){if((F|0)!=-12)qg(i,F,N)}else{if((h|0)<0)h=(f[m>>2]|0)+-1|0;i=f[I+88>>2]|0;k=i+(h*20|0)|0;if((F|0)<=-1?(w=i+(h*20|0)+1|0,(b[w>>0]|0)==0):0){if((F|0)==-3){f[i+(h*20|0)+16>>2]=N;b[w>>0]=-3;break}if(!N)break;f[i+(h*20|0)+16>>2]=N;b[w>>0]=F;if((F|0)!=-12)break;C=N+12|0;f[C>>2]=(f[C>>2]|0)+1;break}ul(I,k,N,F)}while(0);k=f[c+28>>2]|0;h=f[m>>2]|0;i=(f[(f[l>>2]|0)+48>>2]|0)>(h|0);if(v){if(i){f[m>>2]=h+1;g=f[I+88>>2]|0;b[g+(h*20|0)>>0]=28;d[g+(h*20|0)+2>>1]=0;f[g+(h*20|0)+4>>2]=k;f[g+(h*20|0)+8>>2]=e;f[g+(h*20|0)+12>>2]=H;f[g+(h*20|0)+16>>2]=0;b[g+(h*20|0)+1>>0]=0}else h=tl(I,28,k,e,H)|0;if(b[(f[I>>2]|0)+81>>0]|0)break c;e=f[I+88>>2]|0;b[e+(h*20|0)+1>>0]=-3;f[e+(h*20|0)+16>>2]=F;break c}else{if(i){f[m>>2]=h+1;C=f[I+88>>2]|0;b[C+(h*20|0)>>0]=29;d[C+(h*20|0)+2>>1]=0;f[C+(h*20|0)+4>>2]=k;f[C+(h*20|0)+8>>2]=0;f[C+(h*20|0)+12>>2]=H;f[C+(h*20|0)+16>>2]=0;b[C+(h*20|0)+1>>0]=0}else h=tl(I,29,k,0,H)|0;if(b[(f[I>>2]|0)+81>>0]|0)break;C=f[I+88>>2]|0;b[C+(h*20|0)+1>>0]=-3;f[C+(h*20|0)+16>>2]=F;break}}while(0);i=f[x>>2]|0;do if((F|0)==1&(i|0)!=0){k=I+136|0;l=f[k>>2]|0;if((f[(f[I+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;C=f[I+88>>2]|0;b[C+(l*20|0)>>0]=51;d[C+(l*20|0)+2>>1]=0;f[C+(l*20|0)+4>>2]=i;f[C+(l*20|0)+8>>2]=e;f[C+(l*20|0)+12>>2]=0;f[C+(l*20|0)+16>>2]=0;b[C+(l*20|0)+1>>0]=0;break}else{tl(I,51,i,e,0)|0;break}}while(0);do if(v){i=I+136|0;k=f[i>>2]|0;if((f[(f[I+12>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;C=f[I+88>>2]|0;b[C+(k*20|0)>>0]=11;d[C+(k*20|0)+2>>1]=0;f[C+(k*20|0)+4>>2]=0;f[C+(k*20|0)+8>>2]=e;f[C+(k*20|0)+12>>2]=0;f[C+(k*20|0)+16>>2]=0;b[C+(k*20|0)+1>>0]=0;break}else{tl(I,11,0,e,0)|0;break}}while(0);A=I+12|0;l=f[A>>2]|0;if(q|0?(B=f[l+64>>2]|0,B|0):0)f[B+(~q<<2)>>2]=f[I+136>>2];y=c+28|0;i=f[y>>2]|0;z=I+136|0;k=f[z>>2]|0;if((f[l+48>>2]|0)>(k|0)){f[z>>2]=k+1;C=f[I+88>>2]|0;b[C+(k*20|0)>>0]=36;d[C+(k*20|0)+2>>1]=0;f[C+(k*20|0)+4>>2]=i;f[C+(k*20|0)+8>>2]=e;f[C+(k*20|0)+12>>2]=0;f[C+(k*20|0)+16>>2]=0;b[C+(k*20|0)+1>>0]=0}else k=tl(I,36,i,e,0)|0;c=(F|0)>1;if(c){i=f[A>>2]|0;q=i+60|0;r=f[q>>2]|0;f[q>>2]=r+1;q=i+64|0;if(!(r+-1&r)){o=r<<3|4;p=f[i>>2]|0;i=f[q>>2]|0;i:do if(i){m=i;n=p+304|0;do if((f[n>>2]|0)>>>0<=m>>>0){if((f[p+308>>2]|0)>>>0<=m>>>0)break;if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0)))break i}while(0);l=Lc(p,i,o,0)|0;if(l|0){i=l;break}if(f[p+480>>2]|0){Kc(p,i);i=0;break}do if((f[n>>2]|0)>>>0<=m>>>0){if((f[p+308>>2]|0)>>>0<=m>>>0)break;C=p+300|0;f[i>>2]=f[C>>2];f[C>>2]=i;i=0;break i}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{C=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){l=p+300|0;i=f[l>>2]|0;if(i|0){f[l>>2]=f[i>>2];C=p+284|0;f[C>>2]=(f[C>>2]|0)+1;break i}l=p+296|0;i=f[l>>2]|0;if(!i){i=p+292|0;break}else{f[l>>2]=f[i>>2];C=p+284|0;f[C>>2]=(f[C>>2]|0)+1;break i}}else i=p+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(p,o,0)|0}while(0);f[q>>2]=i}else i=f[q>>2]|0;if(i|0)f[i+(r<<2)>>2]=-1;x=~r}else x=e;j:do if(D){q=a+19|0;r=a+44|0;s=G+38|0;u=G+20|0;v=G+20|0;w=I+88|0;p=0;while(1){i=b[q>>0]|0;if(!(i<<24>>24)){o=(f[r>>2]|0)+1|0;f[r>>2]=o}else{o=i+-1<<24>>24;b[q>>0]=o;o=f[a+144+((o&255)<<2)>>2]|0}l=b[G>>0]|0;if(l<<24>>24==-92)i=b[s>>0]|0;else i=l;switch(i<<24>>24){case -91:{i=u;E=293;break}case 127:{i=f[v>>2]|0;E=293;break}default:i=G}k:do if((E|0)==293){E=0;if((f[f[i>>2]>>2]|0)<2){i=G;break}do if(l<<24>>24!=127){if((b[s>>0]|0)==127)break;i=f[(f[u>>2]|0)+4+(p*20|0)>>2]|0;break k}while(0);i=f[(f[f[v>>2]>>2]|0)+4+(p*20|0)>>2]|0}while(0);n=Zk(a,i)|0;i=f[y>>2]|0;l=f[z>>2]|0;if((f[(f[A>>2]|0)+48>>2]|0)>(l|0)){f[z>>2]=l+1;D=f[w>>2]|0;b[D+(l*20|0)>>0]=90;d[D+(l*20|0)+2>>1]=0;f[D+(l*20|0)+4>>2]=i;f[D+(l*20|0)+8>>2]=p;f[D+(l*20|0)+12>>2]=o;f[D+(l*20|0)+16>>2]=0;b[D+(l*20|0)+1>>0]=0}else tl(I,90,i,p,o)|0;l=p+H|0;i=f[z>>2]|0;if((f[(f[A>>2]|0)+48>>2]|0)>(i|0)){f[z>>2]=i+1;D=f[w>>2]|0;b[D+(i*20|0)>>0]=52;d[D+(i*20|0)+2>>1]=0;f[D+(i*20|0)+4>>2]=l;f[D+(i*20|0)+8>>2]=x;f[D+(i*20|0)+12>>2]=o;f[D+(i*20|0)+16>>2]=0;b[D+(i*20|0)+1>>0]=0}else i=tl(I,52,l,x,o)|0;do if(!(b[(f[I>>2]|0)+81>>0]|0)){if((i|0)<0)i=(f[z>>2]|0)+-1|0;l=f[w>>2]|0;m=l+(i*20|0)+1|0;if(b[m>>0]|0){ul(I,l+(i*20|0)|0,n,-2);break}if(!n)break;f[l+(i*20|0)+16>>2]=n;b[m>>0]=-2}while(0);do if(o|0){i=b[q>>0]|0;if((i&255)>=8)break;b[q>>0]=i+1<<24>>24;f[a+144+((i&255)<<2)>>2]=o}while(0);p=p+1|0;if((p|0)==(F|0))break j}}while(0);i=f[z>>2]|0;if((f[(f[A>>2]|0)+48>>2]|0)>(i|0)){f[z>>2]=i+1;G=f[I+88>>2]|0;b[G+(i*20|0)>>0]=11;d[G+(i*20|0)+2>>1]=0;f[G+(i*20|0)+4>>2]=0;f[G+(i*20|0)+8>>2]=g;f[G+(i*20|0)+12>>2]=0;f[G+(i*20|0)+16>>2]=0;b[G+(i*20|0)+1>>0]=0}else tl(I,11,0,g,0)|0;do if(c){m=f[A>>2]|0;i=f[m+64>>2]|0;if(i|0)f[i+(~x<<2)>>2]=f[z>>2];l=f[y>>2]|0;i=k+1|0;k=f[z>>2]|0;if((f[m+48>>2]|0)>(k|0)){f[z>>2]=k+1;g=f[I+88>>2]|0;b[g+(k*20|0)>>0]=5;d[g+(k*20|0)+2>>1]=0;f[g+(k*20|0)+4>>2]=l;f[g+(k*20|0)+8>>2]=i;f[g+(k*20|0)+12>>2]=0;f[g+(k*20|0)+16>>2]=0;b[g+(k*20|0)+1>>0]=0}else tl(I,5,l,i,0)|0;i=f[z>>2]|0;if((f[(f[A>>2]|0)+48>>2]|0)>(i|0)){f[z>>2]=i+1;g=f[I+88>>2]|0;b[g+(i*20|0)>>0]=11;d[g+(i*20|0)+2>>1]=0;f[g+(i*20|0)+4>>2]=0;f[g+(i*20|0)+8>>2]=e;f[g+(i*20|0)+12>>2]=0;f[g+(i*20|0)+16>>2]=0;b[g+(i*20|0)+1>>0]=0;break}else{tl(I,11,0,e,0)|0;break}}while(0);i=f[z>>2]|0;if(!(b[(f[I>>2]|0)+81>>0]|0))h=(f[I+88>>2]|0)+(((h|0)<0?i+-1|0:h)*20|0)|0;else h=72144;f[h+8>>2]=i}while(0);if(!((H|0)==(J|0)|(H|0)==0)?(L=a+19|0,M=b[L>>0]|0,(M&255)<8):0){b[L>>0]=M+1<<24>>24;f[a+144+((M&255)<<2)>>2]=H}h=f[a>>2]|0}do if(K|0){if(h|0){if(f[h+480>>2]|0){Kc(h,K);break}M=K;if((f[h+304>>2]|0)>>>0<=M>>>0?(f[h+308>>2]|0)>>>0>M>>>0:0){M=h+300|0;f[K>>2]=f[M>>2];f[M>>2]=K;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](K);break}else{M=ib[f[37368>>2]&255](K)|0;f[18187]=(f[18187]|0)-M;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](K);break}}while(0);h=f[a>>2]|0;if(!N){t=O;return}if(h|0){if(f[h+480>>2]|0){Kc(h,N);t=O;return}a=N;if((f[h+304>>2]|0)>>>0<=a>>>0?(f[h+308>>2]|0)>>>0>a>>>0:0){a=h+300|0;f[N>>2]=f[a>>2];f[a>>2]=N;t=O;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](N);t=O;return}else{a=ib[f[37368>>2]&255](N)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](N);t=O;return}}function Hm(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=t;t=t+32|0;i=l+16|0;h=l+8|0;k=l;g=f[c+12>>2]|0;d=b[g>>0]|0;if(d<<24>>24==-92)d=b[g+38>>0]|0;switch(d<<24>>24){case -91:{d=g+20|0;j=6;break}case 127:{d=f[g+20>>2]|0;j=6;break}default:e=1}if((j|0)==6)e=f[f[d>>2]>>2]|0;if(f[c+4>>2]&2048|0){d=f[f[f[c+20>>2]>>2]>>2]|0;if((e|0)==(d|0)){k=0;t=l;return k|0}f[k>>2]=d;f[k+4>>2]=e;ni(a,54847,k);k=1;t=l;return k|0}if((e|0)==1){k=0;t=l;return k|0}if(!(f[g+4>>2]&2048)){ni(a,49666,i);k=1;t=l;return k|0}else{f[h>>2]=f[f[f[g+20>>2]>>2]>>2];f[h+4>>2]=1;ni(a,54847,h);k=1;t=l;return k|0}return 0}function Im(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;n=f[c+12>>2]|0;d=b[n>>0]|0;if(d<<24>>24==-92)d=b[n+38>>0]|0;switch(d<<24>>24){case -91:{d=n+20|0;l=6;break}case 127:{d=f[n+20>>2]|0;l=6;break}default:m=1}if((l|0)==6)m=f[f[d>>2]>>2]|0;if(!(f[c+4>>2]&2048))k=0;else k=f[c+20>>2]|0;a=f[a>>2]|0;g=m+1|0;e=((g|0)<0)<<31>>31;a:do if(!a){i=KA(g|0,e|0,-1,-1)|0;h=ba()|0;if(h>>>0>0|(h|0)==0&i>>>0>2147483390){n=0;return n|0}if(!(f[9328]|0)){d=ib[f[37356>>2]&255](g)|0;l=33;break}a=ib[f[37372>>2]&255](g)|0;if((f[18194]|0)>>>0>>0)f[18194]=g;c=71896;d=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&d>>>0>0){i=f[18187]|0;h=LA(d|0,c|0,a|0,((a|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&h>>>0<=i>>>0)&1}d=ib[f[37356>>2]&255](a)|0;if(!d){n=0;return n|0}c=ib[f[37368>>2]&255](d)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){n=0;return n|0}}else{do if(!(0>>0|(0==(e|0)?(j[a+276>>1]|0)>>>0>>0:0))){c=a+300|0;d=f[c>>2]|0;if(d|0){f[c>>2]=f[d>>2];l=a+284|0;f[l>>2]=(f[l>>2]|0)+1;l=33;break a}c=a+296|0;d=f[c>>2]|0;if(!d){d=a+292|0;break}else{f[c>>2]=f[d>>2];l=a+284|0;f[l>>2]=(f[l>>2]|0)+1;l=33;break a}}else d=a+288|0;while(0);f[d>>2]=(f[d>>2]|0)+1}d=Dc(a,g,e)|0;l=33}while(0);if((l|0)==33)if(!d){n=0;return n|0}b:do if((m|0)>0){g=n+38|0;h=n+20|0;i=n+20|0;if(!k){e=0;while(1){a=b[n>>0]|0;if(a<<24>>24==-92)c=b[g>>0]|0;else c=a;switch(c<<24>>24){case -91:{c=h;l=42;break}case 127:{c=f[i>>2]|0;l=42;break}default:c=n}do if((l|0)==42){l=0;if((f[f[c>>2]>>2]|0)<2)c=n;else{if(a<<24>>24!=127?(b[g>>0]|0)!=127:0){c=f[(f[h>>2]|0)+4+(e*20|0)>>2]|0;break}c=f[(f[f[i>>2]>>2]|0)+4+(e*20|0)>>2]|0}}while(0);k=Yk(c)|0;b[d+e>>0]=k;e=e+1|0;if((e|0)==(m|0))break b}}e=0;while(1){a=b[n>>0]|0;if(a<<24>>24==-92)c=b[g>>0]|0;else c=a;switch(c<<24>>24){case -91:{c=h;l=52;break}case 127:{c=f[i>>2]|0;l=52;break}default:c=n}do if((l|0)==52){l=0;if((f[f[c>>2]>>2]|0)<2)c=n;else{if(a<<24>>24!=127?(b[g>>0]|0)!=127:0){c=f[(f[h>>2]|0)+4+(e*20|0)>>2]|0;break}c=f[(f[f[i>>2]>>2]|0)+4+(e*20|0)>>2]|0}}while(0);c=Yk(c)|0;a=Yk(f[(f[k>>2]|0)+4+(e*20|0)>>2]|0)|0;if(c<<24>>24==0|a<<24>>24==0)c=(a|c)<<24>>24==0?65:(a&255)+(c&255)&255;else c=c<<24>>24>66|a<<24>>24>66?67:65;b[d+e>>0]=c;e=e+1|0;if((e|0)==(m|0))break b}}while(0);b[d+m>>0]=0;n=d;return n|0}function Jm(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;T=t;t=t+48|0;O=T+16|0;v=T+8|0;s=T;M=T+20|0;P=a+40|0;S=f[P>>2]|0;f[P>>2]=S+1;P=a+8|0;k=f[P>>2]|0;if(!k){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;R=sl(a)|0}else R=k;N=(e&4|0)!=0;if(g)if(!(f[c+4>>2]&2048))L=g;else{n=f[f[c+20>>2]>>2]|0;o=f[n>>2]|0;a:do if((o|0)>0){k=0;while(1){l=f[n+4+(k*20|0)>>2]|0;m=b[l>>0]|0;if((m+95&255)<2)do{l=f[l+12>>2]|0;m=b[l>>0]|0}while((m+95&255)<2);if(m<<24>>24==-92)m=b[l+38>>0]|0;switch(m<<24>>24){case -114:case -115:case 106:case -113:break;case -98:{if(f[l+4>>2]&1048576|0)break a;m=f[l+44>>2]|0;if(!m)break a;L=d[l+32>>1]|0;if(L<<16>>16>-1?(b[(f[m+4>>2]|0)+(L<<16>>16<<4)+12>>0]|0)==0:0)break a;break}default:break a}k=k+1|0;if((k|0)>=(o|0))break a}}else k=0;while(0);L=(k|0)==(o|0)?0:g}else L=0;b:do if(((((((((f[a+36>>2]|0)==0?(f[c+4>>2]&2080|0)==2048:0)?(q=f[c+20>>2]|0,(f[q+52>>2]|0)==0):0)?(f[q+8>>2]&9|0)==0:0)?(f[q+60>>2]|0)==0:0)?(f[q+36>>2]|0)==0:0)?(p=f[q+32>>2]|0,(f[p>>2]|0)==1):0)?(f[p+28>>2]|0)==0:0)?(w=f[p+24>>2]|0,(f[w+56>>2]|0)==0):0){H=f[q>>2]|0;I=f[H>>2]|0;J=(I|0)>0;if(J){k=0;do{if((b[f[H+4+(k*20|0)>>2]>>0]|0)!=-98){Q=175;break b}k=k+1|0}while((k|0)<(I|0));if(!q){Q=175;break}}l=f[w+72>>2]|0;if(!l)k=-1e6;else{m=f[(f[a>>2]|0)+16>>2]|0;k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0))break;else k=k+1|0}n=k<<16;K=n>>16;o=f[a+116>>2]|0;o=(o|0)==0?a:o;k=o+84|0;l=f[k>>2]|0;m=1<>2]=m|l,(n|0)==65536):0)?(u=f[o>>2]|0,r=u+16|0,(f[(f[r>>2]|0)+20>>2]|0)==0):0)?(b[o+195>>0]|0)==0:0){k=cj(f[u>>2]|0,0,u,M,0,542)|0;if(k|0){ni(o,51535,s);f[o+12>>2]=k;break}G=f[M>>2]|0;f[(f[r>>2]|0)+20>>2]=G;k=f[u+92>>2]|0;n=f[G+4>>2]|0;f[n+4>>2]=f[G>>2];do if(!(d[n+22>>1]&2)){o=n+32|0;g=n+36|0;p=(f[o>>2]|0)-(f[g>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[o>>2]=k;m=n+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;G=(f[18026]|0)+1|0;f[18026]=G;f[18027]=(G|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;Q=54;break}else{k=ib[f[37368>>2]&255](l)|0;Q=54}while(0);do if((Q|0)==54){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{G=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);G=ih(f[n>>2]|0,o,p)|0;f[g>>2]=(f[o>>2]|0)-(p&65535);if((G|0)!=7)break;k=u+81|0;do if(!(b[k>>0]|0)){if(b[u+82>>0]|0)break;b[k>>0]=1;if((f[u+180>>2]|0)>0)f[u+264>>2]=1;G=u+272|0;f[G>>2]=(f[G>>2]|0)+1}while(0);break c}while(0)}while(0);nm(a,K,f[w+28>>2]|0,0,f[w>>2]|0);G=(I|0)==1;if(G?(d[(f[H+4>>2]|0)+32>>1]|0)<0:0){l=R+136|0;k=f[l>>2]|0;if((f[(f[R+12>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;m=f[R+88>>2]|0;b[m+(k*20|0)>>0]=17;m=m+(k*20|0)+1|0;n=m+19|0;do{b[m>>0]=0;m=m+1|0}while((m|0)<(n|0))}else k=tl(R,17,0,0,0)|0;vl(a,S,K,w,109);f[v>>2]=f[w>>2];Km(a,0,54723,v);l=f[l>>2]|0;if(!(b[(f[R>>2]|0)+81>>0]|0))k=(f[R+88>>2]|0)+(((k|0)<0?l+-1|0:k)*20|0)|0;else k=72144;f[k+8>>2]=l;k=1;Q=186;break}if(J){q=f[c+12>>2]|0;g=b[q>>0]|0;p=q+38|0;r=q+20|0;s=q+20|0;u=w+4|0;v=g<<24>>24==127;d:do if(g<<24>>24==-92){o=1;g=0;l=b[p>>0]|0;while(1){switch(l<<24>>24){case -91:{k=r;Q=80;break}case 127:{k=f[s>>2]|0;Q=80;break}default:n=q}e:do if((Q|0)==80){Q=0;if((f[f[k>>2]>>2]|0)<2){n=q;break}do if(v)k=l;else{if(l<<24>>24==127){k=127;break}n=f[(f[r>>2]|0)+4+(g*20|0)>>2]|0;break e}while(0);n=f[(f[f[s>>2]>>2]|0)+4+(g*20|0)>>2]|0;l=k}while(0);k=d[(f[H+4+(g*20|0)>>2]|0)+32>>1]|0;if(k<<16>>16>-1)m=b[(f[u>>2]|0)+(k<<16>>16<<4)+13>>0]|0;else m=68;k=Yk(n)|0;if(m<<24>>24==0|k<<24>>24==0)k=(k|m)<<24>>24==0?65:(k&255)+(m&255)|0;else k=m<<24>>24>66|k<<24>>24>66?67:65;o=((k<<24>>24)+-65|0)>>>0<2?o:m<<24>>24>66&1;g=g+1|0;k=(o|0)!=0;if(!((g|0)<(I|0)&k))break d}}else{n=1;o=0;while(1){switch(g<<24>>24){case -91:{k=r;Q=93;break}case 127:{k=f[s>>2]|0;Q=93;break}default:l=q}f:do if((Q|0)==93){Q=0;if((f[f[k>>2]>>2]|0)<2){l=q;break}do if(!v){if((b[p>>0]|0)==127)break;l=f[(f[r>>2]|0)+4+(o*20|0)>>2]|0;break f}while(0);l=f[(f[f[s>>2]>>2]|0)+4+(o*20|0)>>2]|0}while(0);k=d[(f[H+4+(o*20|0)>>2]|0)+32>>1]|0;if(k<<16>>16>-1)m=b[(f[u>>2]|0)+(k<<16>>16<<4)+13>>0]|0;else m=68;k=Yk(l)|0;if(m<<24>>24==0|k<<24>>24==0)k=(k|m)<<24>>24==0?65:(k&255)+(m&255)|0;else k=m<<24>>24>66|k<<24>>24>66?67:65;n=((k<<24>>24)+-65|0)>>>0<2?n:m<<24>>24>66&1;o=o+1|0;k=(n|0)!=0;if(!((o|0)<(I|0)&k))break d}}while(0);if(!k){Q=175;break}}k=f[w+8>>2]|0;if(k){w=WA(1,0,I|0)|0;w=KA(w|0,ba()|0,-1,-1)|0;x=ba()|0;y=c+12|0;z=(i|0)==0;D=R+136|0;A=R+12|0;F=R+88|0;C=(L|0)==0;E=a+44|0;B=k;g:while(1){v=d[B+52>>1]|0;k=v&65535;h:do if(!((v&65535)>62|(I|0)>(k|0))){do if(N){if((I|0)<(j[B+50>>1]|0))break h;if((I|0)>=(k|0))break;if(!(b[B+54>>0]|0))break h}while(0);i:do if(J){u=B+4|0;v=B+32|0;s=0;l=0;k=0;while(1){m=f[y>>2]|0;o=b[m>>0]|0;if(o<<24>>24==-92)n=b[m+38>>0]|0;else n=o;switch(n<<24>>24){case -91:{n=m+20|0;Q=119;break}case 127:{n=f[m+20>>2]|0;Q=119;break}default:{}}j:do if((Q|0)==119){if((f[f[n>>2]>>2]|0)<2)break;do if(o<<24>>24!=127){if((b[m+38>>0]|0)==127)break;m=f[(f[m+20>>2]|0)+4+(s*20|0)>>2]|0;break j}while(0);m=f[(f[f[m+20>>2]>>2]|0)+4+(s*20|0)>>2]|0}while(0);n=f[H+4+(s*20|0)>>2]|0;k:do if(!(f[m+4>>2]&256)){do if(n|0){if(!(f[n+4>>2]&256))break;m=Zk(a,n)|0;Q=132;break k}while(0);m=Zk(a,m)|0;if(!m){m=Zk(a,n)|0;Q=132;break}else{r=f[u>>2]|0;q=d[n+32>>1]|0;Q=136;break}}else{m=Zk(a,m)|0;Q=132}while(0);l:do if((Q|0)==132){Q=0;o=f[u>>2]|0;n=d[n+32>>1]|0;if(m|0){r=o;q=n;Q=136;break}m=0;do{if((d[o+(m<<1)>>1]|0)==n<<16>>16)break l;m=m+1|0}while((m|0)<(I|0))}while(0);m:do if((Q|0)==136){Q=0;n=0;while(1){if((d[r+(n<<1)>>1]|0)==q<<16>>16){g=f[m>>2]|0;p=f[(f[v>>2]|0)+(n<<2)>>2]|0;U=b[g>>0]|0;o=(h[1232+(U&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0;if(!(U<<24>>24==0|(o|0)!=0))do{g=g+1|0;p=p+1|0;U=b[g>>0]|0;o=(h[1232+(U&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0}while(!(U<<24>>24==0|(o|0)!=0));if(!o){m=n;break m}}n=n+1|0;if((n|0)>=(I|0)){m=n;break}}}while(0);if((m|0)==(I|0))break i;n=WA(1,0,m|0)|0;o=ba()|0;if(!((n&l|0)==0&(o&k|0)==0))break i;l=n|l;k=o|k;if(!z)f[i+(s<<2)>>2]=m;s=s+1|0;if((s|0)>=(I|0))break i}}else{l=0;k=0}while(0);if((l|0)==(w|0)&(k|0)==(x|0))break g}while(0);k=f[B+20>>2]|0;if(!k){Q=175;break b}else B=k}k=f[D>>2]|0;if((f[(f[A>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;m=f[F>>2]|0;b[m+(k*20|0)>>0]=17;m=m+(k*20|0)+1|0;n=m+19|0;do{b[m>>0]=0;m=m+1|0}while((m|0)<(n|0));n=k}else n=tl(R,17,0,0,0)|0;f[O>>2]=f[B>>2];Km(a,0,54770,O);k=f[B+44>>2]|0;l=f[D>>2]|0;if((f[(f[A>>2]|0)+48>>2]|0)>(l|0)){f[D>>2]=l+1;U=f[F>>2]|0;b[U+(l*20|0)>>0]=109;d[U+(l*20|0)+2>>1]=0;f[U+(l*20|0)+4>>2]=S;f[U+(l*20|0)+8>>2]=k;f[U+(l*20|0)+12>>2]=K;f[U+(l*20|0)+16>>2]=0;b[U+(l*20|0)+1>>0]=0}else tl(R,109,S,k,K)|0;l=f[P>>2]|0;m=om(a,B)|0;n:do if(m|0){k=f[l>>2]|0;if(!(b[k+81>>0]|0)){a=f[l+88>>2]|0;U=(f[l+136>>2]|0)+-1|0;b[a+(U*20|0)+1>>0]=-9;f[a+(U*20|0)+16>>2]=m;break}if(f[k+480>>2]|0)break;U=(f[m>>2]|0)+-1|0;f[m>>2]=U;if(U|0)break;k=f[m+12>>2]|0;do if(k|0){if(f[k+480>>2]|0){Kc(k,m);break n}l=m;if((f[k+304>>2]|0)>>>0>l>>>0)break;if((f[k+308>>2]|0)>>>0<=l>>>0)break;U=k+300|0;f[m>>2]=f[U>>2];f[U>>2]=m;break n}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{U=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-U;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);k=(h[f[B+28>>2]>>0]|0)+3|0;do if(!C){l=(f[E>>2]|0)+1|0;f[E>>2]=l;f[L>>2]=l;if(!G)break;Lm(R,S,l)}while(0);m=f[D>>2]|0;if(!(b[(f[R>>2]|0)+81>>0]|0))l=(f[F>>2]|0)+(((n|0)<0?m+-1|0:n)*20|0)|0;else l=72144;f[l+8>>2]=m;Q=186}else Q=175}else Q=175;while(0);do if((Q|0)==175){if(e&1|0?(f[c+4>>2]&2048|0)==0:0){R=c+12|0;P=f[R>>2]|0;f[R>>2]=0;U=M+20|0;b[U>>0]=1;f[M+4>>2]=155;f[M+8>>2]=156;f[M+24>>2]=0;oi(M,c)|0;U=b[U>>0]|0;f[R>>2]=P;if(!(U<<24>>24)){k=5;Q=186;break}if((f[f[c+20>>2]>>2]|0)<3){k=5;Q=186;break}}m=a+128|0;n=f[m>>2]|0;if(N){f[m>>2]=0;if((d[(f[c+12>>2]|0)+32>>1]|0)<0){k=0;l=((f[c+4>>2]|0)>>>11&1)+1|0}else{k=0;l=2}}else if(!L){k=0;l=2}else{l=a+44|0;k=(f[l>>2]|0)+1|0;f[l>>2]=k;f[L>>2]=k;l=2}Mm(a,c,k,(l|0)==1&1)|0;f[m>>2]=n;m=l}while(0);if((Q|0)==186){f[c+28>>2]=S;m=k}if(!((i|0)!=0&(m+-3|0)>>>0>1)){t=T;return m|0}l=f[c+12>>2]|0;k=b[l>>0]|0;if(k<<24>>24==-92)k=b[l+38>>0]|0;switch(k<<24>>24){case -91:{k=l+20|0;Q=193;break}case 127:{k=f[l+20>>2]|0;Q=193;break}default:k=1}if((Q|0)==193){k=f[f[k>>2]>>2]|0;if((k|0)<=0){t=T;return m|0}}l=0;do{f[i+(l<<2)>>2]=l;l=l+1|0}while((l|0)!=(k|0));t=T;return m|0}function Km(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;h=t;t=t+16|0;g=h;if((b[a+195>>0]|0)!=2){t=h;return}f[g>>2]=e;e=zg(f[a>>2]|0,d,g)|0;i=f[a+8>>2]|0;g=f[i+136>>2]|0;d=a+208|0;Nm(i,172,g,f[d>>2]|0,0,e,-7)|0;if(c<<24>>24)f[d>>2]=g;t=h;return}function Lm(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0;i=a+136|0;g=f[i>>2]|0;j=a+12|0;if((f[(f[j>>2]|0)+48>>2]|0)>(g|0)){f[i>>2]=g+1;h=f[a+88>>2]|0;b[h+(g*20|0)>>0]=70;d[h+(g*20|0)+2>>1]=0;f[h+(g*20|0)+4>>2]=0;f[h+(g*20|0)+8>>2]=e;f[h+(g*20|0)+12>>2]=0;f[h+(g*20|0)+16>>2]=0;b[h+(g*20|0)+1>>0]=0}else tl(a,70,0,e,0)|0;g=f[i>>2]|0;if((f[(f[j>>2]|0)+48>>2]|0)>(g|0)){f[i>>2]=g+1;h=f[a+88>>2]|0;b[h+(g*20|0)>>0]=36;d[h+(g*20|0)+2>>1]=0;f[h+(g*20|0)+4>>2]=c;f[h+(g*20|0)+8>>2]=0;f[h+(g*20|0)+12>>2]=0;f[h+(g*20|0)+16>>2]=0;b[h+(g*20|0)+1>>0]=0;h=g}else h=tl(a,36,c,0,0)|0;g=f[i>>2]|0;if((f[(f[j>>2]|0)+48>>2]|0)>(g|0)){f[i>>2]=g+1;j=f[a+88>>2]|0;b[j+(g*20|0)>>0]=90;d[j+(g*20|0)+2>>1]=0;f[j+(g*20|0)+4>>2]=c;f[j+(g*20|0)+8>>2]=0;f[j+(g*20|0)+12>>2]=e;f[j+(g*20|0)+16>>2]=0;b[j+(g*20|0)+1>>0]=0}else tl(a,90,c,0,e)|0;g=f[i>>2]|0;if((g|0)>0)d[(f[a+88>>2]|0)+((g+-1|0)*20|0)+2>>1]=128;if(b[(f[a>>2]|0)+81>>0]|0){a=72144;a=a+8|0;f[a>>2]=g;return}a=(f[a+88>>2]|0)+(((h|0)<0?g+-1|0:h)*20|0)|0;a=a+8|0;f[a>>2]=g;return}function Mm(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=t;t=t+80|0;q=K+32|0;k=K+24|0;s=K;I=K+40|0;D=K+68|0;E=K+36|0;h=f[a+8>>2]|0;if(!h){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;h=sl(a)|0;if(!h){e=0;t=K;return e|0}else J=h}else J=h;r=c+4|0;do if(!(f[r>>2]&32)){i=J+136|0;h=f[i>>2]|0;if((f[(f[J+12>>2]|0)+48>>2]|0)>(h|0)){f[i>>2]=h+1;l=f[J+88>>2]|0;b[l+(h*20|0)>>0]=17;l=l+(h*20|0)+1|0;m=l+19|0;do{b[l>>0]=0;l=l+1|0}while((l|0)<(m|0));break}else{h=tl(J,17,0,0,0)|0;break}}else h=-1;while(0);do if((b[c>>0]|0)==49){q=c+12|0;v=f[q>>2]|0;i=b[v>>0]|0;if(i<<24>>24==-92)i=b[v+38>>0]|0;switch(i<<24>>24){case -91:{i=v+20|0;A=16;break}case 127:{i=f[v+20>>2]|0;A=16;break}default:u=1}if((A|0)==16)u=f[f[i>>2]>>2]|0;z=a+40|0;l=f[z>>2]|0;f[z>>2]=l+1;z=c+28|0;f[z>>2]=l;x=(g|0)!=0;k=x?0:u;H=J+136|0;i=f[H>>2]|0;y=J+12|0;if((f[(f[y>>2]|0)+48>>2]|0)>(i|0)){f[H>>2]=i+1;C=f[J+88>>2]|0;b[C+(i*20|0)>>0]=113;d[C+(i*20|0)+2>>1]=0;f[C+(i*20|0)+4>>2]=l;f[C+(i*20|0)+8>>2]=k;f[C+(i*20|0)+12>>2]=0;f[C+(i*20|0)+16>>2]=0;b[C+(i*20|0)+1>>0]=0}else i=tl(J,113,l,k,0)|0;a:do if(!x){o=f[a>>2]|0;g=u+1|0;n=g*5|0;m=n+20|0;p=o+272|0;b:do if(f[p>>2]|0)if(!(b[o+81>>0]|0))A=31;else{B=0;C=0;break a}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];C=o+284|0;f[C>>2]=(f[C>>2]|0)+1;break b}k=o+296|0;l=f[k>>2]|0;if(!l){k=o+292|0;break}else{f[k>>2]=f[l>>2];C=o+284|0;f[C>>2]=(f[C>>2]|0)+1;break b}}else k=o+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;A=31}while(0);if((A|0)==31)l=Dc(o,m,0)|0;if(l|0){f[l+16>>2]=l+20+(g<<2);d[l+6>>1]=u;d[l+8>>1]=g;b[l+4>>0]=b[o+78>>0]|0;f[l+12>>2]=o;f[l>>2]=1;_A(l+24|0,0,n+-4|0)|0;B=l;C=l;break}k=o+81|0;if((b[k>>0]|0)==0?(b[o+82>>0]|0)==0:0){b[k>>0]=1;if((f[o+180>>2]|0)>0)f[o+264>>2]=1;f[p>>2]=(f[p>>2]|0)+1;B=l;C=0}else{B=l;C=0}}else{B=0;C=0}while(0);if(!(f[r>>2]&2048)){g=f[c+20>>2]|0;if(g){w=Yk(v)|0;b[D>>0]=w<<24>>24==0?65:w;if(B|0){w=Zk(a,f[q>>2]|0)|0;f[B+20>>2]=w}w=a+19|0;l=b[w>>0]|0;if(l<<24>>24){v=l+-1<<24>>24;b[w>>0]=v;k=f[a+144+((v&255)<<2)>>2]|0;if(!(v<<24>>24))A=89;else{v=l+-2<<24>>24;b[w>>0]=v;v=f[a+144+((v&255)<<2)>>2]|0;u=k}}else{A=a+44|0;k=(f[A>>2]|0)+1|0;f[A>>2]=k;A=89}if((A|0)==89){u=a+44|0;v=(f[u>>2]|0)+1|0;f[u>>2]=v;u=k}do if(x){k=f[H>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(k|0)){f[H>>2]=k+1;A=f[J+88>>2]|0;b[A+(k*20|0)>>0]=75;d[A+(k*20|0)+2>>1]=0;f[A+(k*20|0)+4>>2]=0;f[A+(k*20|0)+8>>2]=v;f[A+(k*20|0)+12>>2]=0;f[A+(k*20|0)+16>>2]=0;b[A+(k*20|0)+1>>0]=0}else k=tl(J,75,0,v,0)|0;if(!(b[(f[J>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[H>>2]|0)+-1|0;l=f[J+88>>2]|0;m=l+(k*20|0)+1|0;if(!(b[m>>0]|0)){f[l+(k*20|0)+16>>2]=72788;b[m>>0]=-1;break}else{ul(J,l+(k*20|0)|0,72788,-1);break}}}while(0);k=f[g>>2]|0;if((k|0)>0){o=I+20|0;p=I+4|0;q=I+8|0;r=I+24|0;s=J+88|0;n=g+4|0;while(1){m=f[n>>2]|0;do if((h|0)>-1){b[o>>0]=1;f[p>>2]=155;f[q>>2]=156;f[r>>2]=0;if(!m)break;oi(I,m)|0;if(!(b[o>>0]|0)){l=f[J>>2]|0;if(b[l+81>>0]|0){h=-1;break}A=f[s>>2]|0;L=A+(h*20|0)+1|0;g=A+(h*20|0)+16|0;qg(l,b[L>>0]|0,f[g>>2]|0);b[L>>0]=0;f[g>>2]=0;b[A+(h*20|0)>>0]=-85;h=-1}}while(0);do if(x){if(Ak(m,E)|0){l=f[z>>2]|0;m=f[E>>2]|0;g=f[H>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(g|0)){f[H>>2]=g+1;L=f[s>>2]|0;b[L+(g*20|0)>>0]=123;d[L+(g*20|0)+2>>1]=0;f[L+(g*20|0)+4>>2]=l;f[L+(g*20|0)+8>>2]=v;f[L+(g*20|0)+12>>2]=m;f[L+(g*20|0)+16>>2]=0;b[L+(g*20|0)+1>>0]=0;break}else{tl(J,123,l,v,m)|0;break}}g=xl(a,m,u)|0;l=f[H>>2]|0;m=l+2|0;if((f[(f[y>>2]|0)+48>>2]|0)>(l|0)){f[H>>2]=l+1;L=f[s>>2]|0;b[L+(l*20|0)>>0]=15;d[L+(l*20|0)+2>>1]=0;f[L+(l*20|0)+4>>2]=g;f[L+(l*20|0)+8>>2]=m;f[L+(l*20|0)+12>>2]=0;f[L+(l*20|0)+16>>2]=0;b[L+(l*20|0)+1>>0]=0}else tl(J,15,g,m,0)|0;l=f[z>>2]|0;m=f[H>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(m|0)){f[H>>2]=m+1;L=f[s>>2]|0;b[L+(m*20|0)>>0]=122;d[L+(m*20|0)+2>>1]=0;f[L+(m*20|0)+4>>2]=l;f[L+(m*20|0)+8>>2]=v;f[L+(m*20|0)+12>>2]=g;f[L+(m*20|0)+16>>2]=0;b[L+(m*20|0)+1>>0]=0;break}else{tl(J,122,l,v,g)|0;break}}else{g=xl(a,m,u)|0;l=f[H>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(l|0)){f[H>>2]=l+1;L=f[s>>2]|0;b[L+(l*20|0)>>0]=102;d[L+(l*20|0)+2>>1]=0;f[L+(l*20|0)+4>>2]=g;f[L+(l*20|0)+8>>2]=1;f[L+(l*20|0)+12>>2]=v;f[L+(l*20|0)+16>>2]=0;b[L+(l*20|0)+1>>0]=0}else l=tl(J,102,g,1,v)|0;if(!(b[(f[J>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[H>>2]|0)+-1|0;ul(J,(f[s>>2]|0)+(l*20|0)|0,D,1)}m=f[z>>2]|0;l=f[H>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(l|0)){f[H>>2]=l+1;L=f[s>>2]|0;b[L+(l*20|0)>>0]=-123;d[L+(l*20|0)+2>>1]=0;f[L+(l*20|0)+4>>2]=m;f[L+(l*20|0)+8>>2]=v;f[L+(l*20|0)+12>>2]=g;f[L+(l*20|0)+16>>2]=0;b[L+(l*20|0)+1>>0]=0}else l=tl(J,133,m,v,g)|0;if(b[(f[J>>2]|0)+81>>0]|0)break;L=f[s>>2]|0;b[L+(l*20|0)+1>>0]=-3;f[L+(l*20|0)+16>>2]=1}while(0);if((k|0)>1){k=k+-1|0;n=n+20|0}else break}}if(u|0?(F=b[w>>0]|0,(F&255)<8):0){b[w>>0]=F+1<<24>>24;f[a+144+((F&255)<<2)>>2]=u}if(v|0?(G=b[w>>0]|0,(G&255)<8):0){b[w>>0]=G+1<<24>>24;f[a+144+((G&255)<<2)>>2]=v}}}else{k=f[c+20>>2]|0;p=f[k>>2]|0;f[s>>2]=(h|0)>-1?72788:54801;Km(a,1,54813,s);if((f[p>>2]|0)==(u|0)){m=f[z>>2]|0;b[s>>0]=11;f[s+4>>2]=m;m=s+16|0;f[s+8>>2]=0;f[s+12>>2]=0;l=Im(a,c)|0;f[m>>2]=l;f[k+12>>2]=0;k=(Kl(a,k,s)|0)==0;l=f[a>>2]|0;m=f[m>>2]|0;do if(m|0){if(l|0){if(f[l+480>>2]|0){Kc(l,m);break}L=m;if((f[l+304>>2]|0)>>>0<=L>>>0?(f[l+308>>2]|0)>>>0>L>>>0:0){L=l+300|0;f[m>>2]=f[L>>2];f[L>>2]=m;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{L=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);if(!k){c:do if(B|0?(L=(f[B>>2]|0)+-1|0,f[B>>2]=L,(L|0)==0):0){h=f[B+12>>2]|0;do if(h|0){if(f[h+480>>2]|0){Kc(h,C);break c}i=B;if((f[h+304>>2]|0)>>>0<=i>>>0){if((f[h+308>>2]|0)>>>0<=i>>>0)break;L=h+300|0;f[B>>2]=f[L>>2];f[L>>2]=C;break c}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](C);break}else{L=ib[f[37368>>2]&255](C)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](C);break}}while(0);L=0;t=K;return L|0}d:do if((u|0)>0){g=v+38|0;n=v+20|0;o=v+20|0;m=0;while(1){l=b[v>>0]|0;if(l<<24>>24==-92)k=b[g>>0]|0;else k=l;switch(k<<24>>24){case -91:{k=n;A=69;break}case 127:{k=f[o>>2]|0;A=69;break}default:k=v}e:do if((A|0)==69){A=0;if((f[f[k>>2]>>2]|0)<2)k=v;else{do if(l<<24>>24!=127){if((b[g>>0]|0)==127)break;k=f[(f[n>>2]|0)+4+(m*20|0)>>2]|0;break e}while(0);k=f[(f[f[o>>2]>>2]|0)+4+(m*20|0)>>2]|0}}while(0);l=f[p+4+(m*20|0)>>2]|0;f:do if(!(f[k+4>>2]&256)){do if(l|0){if(!(f[l+4>>2]&256))break;k=Zk(a,l)|0;break f}while(0);k=Zk(a,k)|0;if(!k)k=Zk(a,l)|0}else k=Zk(a,k)|0;while(0);f[B+20+(m<<2)>>2]=k;m=m+1|0;if((m|0)==(u|0))break d}}while(0)}}if(B){k=f[J>>2]|0;if(!(b[k+81>>0]|0)){if((i|0)<0)i=(f[H>>2]|0)+-1|0;k=f[J+88>>2]|0;l=k+(i*20|0)+1|0;if(b[l>>0]|0){ul(J,k+(i*20|0)|0,C,-9);i=0;break}if(!C){i=0;break}f[k+(i*20|0)+16>>2]=C;b[l>>0]=-9;i=0;break}if(!((C|0)==0|(f[k+480>>2]|0)!=0)?(L=(f[C>>2]|0)+-1|0,f[C>>2]=L,(L|0)==0):0){i=f[C+12>>2]|0;if(i|0){if(f[i+480>>2]|0){Kc(i,C);i=0;break}L=C;if((f[i+304>>2]|0)>>>0<=L>>>0?(f[i+308>>2]|0)>>>0>L>>>0:0){i=i+300|0;f[C>>2]=f[i>>2];f[i>>2]=C;i=0;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](C);i=0;break}else{i=ib[f[37368>>2]&255](C)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](C);i=0;break}}else i=0}else i=0}else{p=f[c+20>>2]|0;f[k>>2]=(h|0)>-1?72788:54801;Km(a,1,54829,k);i=(b[c>>0]|0)==127;if(i)m=f[f[p>>2]>>2]|0;else m=1;L=a+44|0;g=f[L>>2]|0;n=g+1|0;b[I>>0]=0;o=I+4|0;f[o>>2]=n;f[I+16>>2]=0;k=I+8|0;f[k>>2]=0;l=I+12|0;f[l>>2]=0;g=g+m|0;f[L>>2]=g;do if(i){b[I>>0]=10;f[k>>2]=n;f[l>>2]=m;i=J+136|0;k=f[i>>2]|0;if((f[(f[J+12>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;L=f[J+88>>2]|0;b[L+(k*20|0)>>0]=73;d[L+(k*20|0)+2>>1]=0;f[L+(k*20|0)+4>>2]=0;f[L+(k*20|0)+8>>2]=n;f[L+(k*20|0)+12>>2]=g;f[L+(k*20|0)+16>>2]=0;b[L+(k*20|0)+1>>0]=0;break}else{tl(J,73,0,n,g)|0;break}}else{b[I>>0]=3;i=J+136|0;k=f[i>>2]|0;if((f[(f[J+12>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;L=f[J+88>>2]|0;b[L+(k*20|0)>>0]=70;d[L+(k*20|0)+2>>1]=0;f[L+(k*20|0)+4>>2]=0;f[L+(k*20|0)+8>>2]=n;f[L+(k*20|0)+12>>2]=0;f[L+(k*20|0)+16>>2]=0;b[L+(k*20|0)+1>>0]=0;break}else{tl(J,70,0,n,0)|0;break}}while(0);g=Dk(f[a>>2]|0,143,10024,0)|0;n=p+60|0;i=f[n>>2]|0;l=f[a>>2]|0;if(!i){g:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))A=183;else A=186;else{do if((j[l+276>>1]|0)>=48){k=l+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];A=l+284|0;f[A>>2]=(f[A>>2]|0)+1;A=184;break g}k=l+296|0;i=f[k>>2]|0;if(!i){i=l+292|0;break}else{f[k>>2]=f[i>>2];A=l+284|0;f[A>>2]=(f[A>>2]|0)+1;A=184;break g}}else i=l+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;A=183}while(0);if((A|0)==183){i=Dc(l,48,0)|0;A=184}if((A|0)==184)if(i){l=i;m=l+48|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));b[i>>0]=-119;d[i+34>>1]=-1;if(g|0){f[i+12>>2]=g;f[i+4>>2]=f[g+4>>2]&2097412}jl(i);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)<(f[i+24>>2]|0)){f[q>>2]=k;ni(a,42710,q)}}else A=186;if((A|0)==186)if(!g)i=0;else{ig(f[a>>2]|0,g);i=0}f[n>>2]=i}else{i=i+12|0;k=f[i>>2]|0;if(k){ig(l,k);i=(f[n>>2]|0)+12|0}f[i>>2]=g}f[p+12>>2]=0;L=(Kl(a,p,I)|0)==0;if(L)i=f[o>>2]|0;else{L=0;t=K;return L|0}}while(0);if(e|0)Lm(J,f[c+28>>2]|0,e);if((h|0)<=-1){L=i;t=K;return L|0}if(!(b[(f[J>>2]|0)+81>>0]|0))h=(f[J+88>>2]|0)+(h*20|0)|0;else h=72144;f[h+8>>2]=f[J+136>>2];L=i;t=K;return L|0}function Nm(a,c,e,g,h,i,j){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;k=a+136|0;l=f[k>>2]|0;if((f[(f[a+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;k=f[a+88>>2]|0;b[k+(l*20|0)>>0]=c;d[k+(l*20|0)+2>>1]=0;f[k+(l*20|0)+4>>2]=e;f[k+(l*20|0)+8>>2]=g;f[k+(l*20|0)+12>>2]=h;f[k+(l*20|0)+16>>2]=0;b[k+(l*20|0)+1>>0]=0;Om(a,l,i,j);return l|0}else{l=tl(a,c,e,g,h)|0;Om(a,l,i,j);return l|0}return 0}function Om(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=f[a>>2]|0;if(b[g+81>>0]|0){if((e|0)==-12)return;qg(g,e,d);return}if((c|0)<0)c=(f[a+136>>2]|0)+-1|0;g=f[a+88>>2]|0;h=g+(c*20|0)|0;if((e|0)<=-1?(i=g+(c*20|0)+1|0,(b[i>>0]|0)==0):0){if((e|0)==-3){f[g+(c*20|0)+16>>2]=d;b[i>>0]=-3;return}if(!d)return;f[g+(c*20|0)+16>>2]=d;b[i>>0]=e;if((e|0)!=-12)return;e=d+12|0;f[e>>2]=(f[e>>2]|0)+1;return}ul(a,h,d,e);return}function Pm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=a+68|0;h=f[j>>2]|0;i=(d|0)<0;a:do if(i&(h|0)!=0?(e=f[h>>2]|0,(e|0)>0):0){g=h+4|0;while(1){if(b[g+13>>0]&4?(Ck(0,f[g>>2]|0,c,-1)|0)==0:0)break;if((e|0)>1){e=e+-1|0;g=g+20|0}else break a}j=f[g+16>>2]|0;return j|0}while(0);if(!c)e=0;else e=Bk(f[a>>2]|0,c,0,0)|0;g=ml(f[a>>2]|0,h,e)|0;if(g){e=(f[g>>2]|0)+-1|0;h=g+4+(e*20|0)+13|0;b[h>>0]=b[h>>0]&-5|d>>>29&4;if(i){i=a+44|0;d=(f[i>>2]|0)+1|0;f[i>>2]=d}f[g+4+(e*20|0)+16>>2]=d}f[j>>2]=g;j=d;return j|0}function Qm(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;x=t;t=t+160|0;r=x+144|0;q=x+136|0;p=x+128|0;o=x;c=f[e>>2]|0;do if(c){e=d[c+8>>1]|0;if((e&514)==514?(b[c+10>>0]|0)==1:0){c=f[c+16>>2]|0;break}if(!(e&1))c=Ic(c,1)|0;else c=0}else c=0;while(0);w=f[(f[a>>2]|0)+32>>2]|0;n=(c|0)==0?72788:c;u=w+20|0;l=f[u>>2]|0;a:do if((l|0)>0){v=w+16|0;m=f[v>>2]|0;c=0;while(1){j=m+(c<<4)+4|0;k=f[j>>2]|0;if(k|0){g=f[m+(c<<4)>>2]|0;i=b[g>>0]|0;e=(h[1232+(i&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0;if(!(i<<24>>24==0|(e|0)!=0)){i=n;do{g=g+1|0;i=i+1|0;y=b[g>>0]|0;e=(h[1232+(y&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(y<<24>>24==0|(e|0)!=0))}if(!e)break}c=c+1|0;if((c|0)>=(l|0)){s=15;break a}}if(c>>>0<2){f[q>>2]=n;vd(128,o,54926,q)|0;break}if((b[k+8>>0]|0)==0?(f[k+16>>2]|0)==0:0){bi(k);f[j>>2]=0;f[m+(c<<4)+12>>2]=0;if((f[u>>2]|0)>2){j=w+480|0;k=w+304|0;l=w+308|0;m=w+300|0;i=2;c=2;do{e=f[v>>2]|0;g=e+(i<<4)|0;if(!(f[e+(i<<4)+4>>2]|0)){e=f[g>>2]|0;do if(e|0){if(f[j>>2]|0){Kc(w,e);break}y=e;if((f[k>>2]|0)>>>0<=y>>>0?(f[l>>2]|0)>>>0>y>>>0:0){f[e>>2]=f[m>>2];f[m>>2]=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{y=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[g>>2]=0}else{if((c|0)<(i|0)){y=e+(c<<4)|0;f[y>>2]=f[g>>2];f[y+4>>2]=f[g+4>>2];f[y+8>>2]=f[g+8>>2];f[y+12>>2]=f[g+12>>2]}c=c+1|0}i=i+1|0}while((i|0)<(f[u>>2]|0));f[u>>2]=c;if((c|0)>=3){t=x;return}}else f[u>>2]=2;c=f[v>>2]|0;e=w+412|0;if((c|0)==(e|0)){t=x;return};f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];f[e+12>>2]=f[c+12>>2];f[e+16>>2]=f[c+16>>2];f[e+20>>2]=f[c+20>>2];f[e+24>>2]=f[c+24>>2];f[e+28>>2]=f[c+28>>2];do if(c|0){if(f[w+480>>2]|0){Kc(w,c);break}y=c;if((f[w+304>>2]|0)>>>0<=y>>>0?(f[w+308>>2]|0)>>>0>y>>>0:0){y=w+300|0;f[c>>2]=f[y>>2];f[y>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{y=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);f[v>>2]=e;t=x;return}f[r>>2]=n;vd(128,o,54952,r)|0}else s=15;while(0);if((s|0)==15){f[p>>2]=n;vd(128,o,54905,p)|0}f[a+20>>2]=1;$e(f[a>>2]|0,o,-1,1,-1)|0;t=x;return}function Rm(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=t;t=t+64|0;E=I+40|0;F=I+32|0;x=I+24|0;w=I+16|0;n=I+8|0;k=I;r=I+60|0;u=I+56|0;s=I+52|0;G=I+48|0;v=I+44|0;H=f[(f[a>>2]|0)+32>>2]|0;f[r>>2]=0;f[u>>2]=0;f[G>>2]=0;c=f[e>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){i=f[c+16>>2]|0;break}if(!(g&1))i=Ic(c,1)|0;else i=0}else i=0;while(0);c=f[e+4>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){c=f[c+16>>2]|0;break}if(!(g&1))c=Ic(c,1)|0;else c=0}else c=0;while(0);B=(i|0)==0?72788:i;y=(c|0)==0?72788:c;A=H+20|0;m=f[A>>2]|0;c=f[H+136>>2]|0;a:do if((m|0)<(c+2|0)){z=H+16|0;l=f[z>>2]|0;b:do if((m|0)>0){k=h[1232+(h[y>>0]|0)>>0]|0;e=0;while(1){g=f[l+(e<<4)>>2]|0;q=b[g>>0]|0;c=(h[1232+(q&255)>>0]|0)-k|0;if(!(q<<24>>24==0|(c|0)!=0)){i=y;do{g=g+1|0;i=i+1|0;q=b[g>>0]|0;c=(h[1232+(q&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(q<<24>>24==0|(c|0)!=0))}e=e+1|0;if(!c)break;if((e|0)>=(m|0))break b}f[n>>2]=y;g=Ig(H,55025,n)|0;f[G>>2]=g;c=0;D=138;break a}while(0);c:do if((l|0)==(H+412|0)){d:do if(f[H+272>>2]|0)if(!(b[H+81>>0]|0))D=34;else{t=I;return}else{do if((j[H+276>>1]|0)>=48){g=H+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];q=H+284|0;f[q>>2]=(f[q>>2]|0)+1;break d}g=H+296|0;c=f[g>>2]|0;if(!c){c=H+292|0;break}else{f[g>>2]=f[c>>2];q=H+284|0;f[q>>2]=(f[q>>2]|0)+1;break d}}else c=H+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;D=34}while(0);if((D|0)==34)c=Dc(H,48,0)|0;if(!c){t=I;return}else{o=f[z>>2]|0;f[c>>2]=f[o>>2];f[c+4>>2]=f[o+4>>2];f[c+8>>2]=f[o+8>>2];f[c+12>>2]=f[o+12>>2];f[c+16>>2]=f[o+16>>2];f[c+20>>2]=f[o+20>>2];f[c+24>>2]=f[o+24>>2];f[c+28>>2]=f[o+28>>2];o=c;break}}else{i=(m<<4)+16|0;e:do if(!l){if(f[H+272>>2]|0){if(b[H+81>>0]|0){t=I;return}}else{do if(!(0<0|(0==0?(j[H+276>>1]|0)>>>0>>0:0))){g=H+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];q=H+284|0;f[q>>2]=(f[q>>2]|0)+1;break e}g=H+296|0;c=f[g>>2]|0;if(!c){c=H+292|0;break}else{f[g>>2]=f[c>>2];q=H+284|0;f[q>>2]=(f[q>>2]|0)+1;break e}}else c=H+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(H,i,0)|0}else{q=l;if((f[H+304>>2]|0)>>>0<=q>>>0?(f[H+308>>2]|0)>>>0>q>>>0:0){if(!(0<0|(0==0?(j[H+276>>1]|0)>>>0>>0:0))){o=l;break c}c=Lc(H,l,i,0)|0;break}c=Lc(H,l,i,0)|0}while(0);if(!c){t=I;return}else o=c}while(0);f[z>>2]=o;p=f[A>>2]|0;q=o+(p<<4)|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;f[s>>2]=f[H+60>>2];switch(Sm(f[(f[H>>2]|0)+16>>2]|0,B,s,v,r,u)|0){case 0:{c=f[s>>2]|256;f[s>>2]=c;g=f[r>>2]|0;i=o+(p<<4)+4|0;c=cj(f[v>>2]|0,g,H,i,0,c)|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{v=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[A>>2]=(f[A>>2]|0)+1;b[H+89>>0]=0;switch(c|0){case 19:{e=Ig(H,55055,w)|0;f[G>>2]=e;e=1;break}case 0:{c=Tm(H,f[i>>2]|0)|0;f[o+(p<<4)+12>>2]=c;if(c)if((b[c+76>>0]|0)!=0?(b[c+77>>0]|0)!=(b[H+78>>0]|0):0){e=Ig(H,48935,x)|0;f[G>>2]=e;e=1}else e=0;else e=7;g=f[i>>2]|0;k=f[g>>2]|0;i=f[g+4>>2]|0;l=i+4|0;f[l>>2]=k;m=f[i>>2]|0;c=b[H+83>>0]|0;n=(b[m+12>>0]|0)==0;do if(n){x=f[m+216>>2]|0;if(x|0?(b[x+43>>0]|0)==2:0)break;b[m+4>>0]=c}while(0);c=f[(f[z>>2]|0)+4>>2]|0;if(!c)c=0;else{x=f[c+4>>2]|0;f[x+4>>2]=f[c>>2];c=(j[x+22>>1]|0)>>>2&3}if(g|0){f[l>>2]=k;x=i+22|0;d[x>>1]=c<<2|d[x>>1]&-13&65535}i=f[H+32>>2]|0;f[l>>2]=k;g=n^1;b[m+7>>0]=g&1;b[m+8>>0]=n&1;b[m+9>>0]=0;do if(n){c=m+10|0;if(!(i&8)){b[c>>0]=2;c=2;break}else{b[c>>0]=3;c=3;break}}else{b[m+10>>0]=0;c=0}while(0);x=(c<<2|(n?c:0))&255;b[m+11>>0]=(i&16|0)==0|g?x:x|12;x=m+20|0;w=h[x>>0]|0;b[x>>0]=(i&32|0)==0?w|1:w&254;break}default:e=c}b[o+(p<<4)+8>>0]=3;i=(wz(y)|0)+1|0;l=H+272|0;f:do if(f[l>>2]|0)if(!(b[H+81>>0]|0))D=99;else c=0;else{do if(!(0<0|(0==0?(j[H+276>>1]|0)>>>0>>0:0))){g=H+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];D=H+284|0;f[D>>2]=(f[D>>2]|0)+1;D=100;break f}g=H+296|0;c=f[g>>2]|0;if(!c){c=H+292|0;break}else{f[g>>2]=f[c>>2];D=H+284|0;f[D>>2]=(f[D>>2]|0)+1;D=100;break f}}else c=H+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;D=99}while(0);if((D|0)==99){c=Dc(H,i,0)|0;D=100}if((D|0)==100)if(!c)c=0;else YA(c|0,y|0,i|0)|0;f[q>>2]=c;c=(e|0)==0&(c|0)==0?7:e;g:do if(!c){c=f[A>>2]|0;e=f[z>>2]|0;if((c|0)>0){g=0;do{i=f[e+(g<<4)+4>>2]|0;if(i|0)f[(f[i+4>>2]|0)+4>>2]=f[i>>2];g=g+1|0}while((g|0)!=(c|0))}b[H+164>>0]=0;i=H+24|0;k=f[i>>2]|0;f[i>>2]=k&-9;k=(k&1|0)==0;y=f[e+12>>2]|0;b[H+78>>0]=b[y+77>>0]|0;if(!(d[y+78>>1]&1)){c=qi(H,0,G,0)|0;if(c|0)break;c=f[A>>2]|0}if((c|0)>1)do{g=c;c=c+-1|0;if((d[(f[(f[z>>2]|0)+(c<<4)+12>>2]|0)+78>>1]&1)==0?(C=qi(H,c,G,0)|0,C|0):0){c=C;break g}}while((g|0)>2);if(!k){t=I;return}f[i>>2]=f[i>>2]&-2;t=I;return}while(0);g=(f[A>>2]|0)+-1|0;i=f[(f[z>>2]|0)+(g<<4)+4>>2]|0;if(i|0){bi(i);C=f[z>>2]|0;f[C+(g<<4)+4>>2]=0;f[C+(g<<4)+12>>2]=0}Vh(H);f[A>>2]=g;if((c|0)<3082)switch(c|0){case 7:break;default:D=136}else switch(c|0){case 3082:break;default:D=136}if((D|0)==136){g=f[G>>2]|0;if(g|0){D=139;break a}f[E>>2]=B;g=Ig(H,55084,E)|0;f[G>>2]=g;D=138;break a}g=H+81|0;if((b[g>>0]|0)==0?(b[H+82>>0]|0)==0:0){b[g>>0]=1;if((f[H+180>>2]|0)>0)f[H+264>>2]=1;f[l>>2]=(f[l>>2]|0)+1}g=f[G>>2]|0;do if(g|0){if(f[H+480>>2]|0){Kc(H,g);break}E=g;if((f[H+304>>2]|0)>>>0<=E>>>0?(f[H+308>>2]|0)>>>0>E>>>0:0){E=H+300|0;f[g>>2]=f[E>>2];f[E>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{E=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=Ig(H,44870,F)|0;f[G>>2]=g;D=138;break a}case 7:{c=H+81|0;if((b[c>>0]|0)==0?(b[H+82>>0]|0)==0:0){b[c>>0]=1;if((f[H+180>>2]|0)>0)f[H+264>>2]=1;H=H+272|0;f[H>>2]=(f[H>>2]|0)+1}break}default:{}}c=f[u>>2]|0;f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=I;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);t=I;return}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);t=I;return}}else{f[k>>2]=c;g=Ig(H,54988,k)|0;f[G>>2]=g;c=0;D=138}while(0);if((D|0)==138)if(g)D=139;do if((D|0)==139){f[a+20>>2]=1;$e(f[a>>2]|0,g,-1,1,-1)|0;g=f[G>>2]|0;if(g){if(H|0){if(f[H+480>>2]|0){Kc(H,g);break}G=g;if((f[H+304>>2]|0)>>>0<=G>>>0?(f[H+308>>2]|0)>>>0>G>>>0:0){H=H+300|0;f[g>>2]=f[H>>2];f[H>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{H=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}}while(0);if(!c){t=I;return}f[a+20>>2]=c;g=f[a>>2]|0;if(!(d[g+8>>1]&1)){t=I;return}switch(c|0){case 516:{c=44816;break}case 100:{c=44794;break}case 101:{c=44771;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7984+(c<<2)>>2]|0;else c=44757}}$e(g,c,-1,1,0)|0;t=I;return}function Sm(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+32|0;w=x+24|0;u=x+16|0;s=x+8|0;n=x;j=f[d>>2]|0;a:do if(c){i=(wz(c)|0)&1073741823;if(i>>>0>4&(f[9331]|j&64|0)!=0?(Hz(c,55112,5)|0)==0:0){j=j|64;k=0;l=i+2|0;m=0;do{l=KA(l|0,m|0,(b[c+k>>0]|0)==38|0,0)|0;m=ba()|0;k=k+1|0}while((k|0)!=(i|0));k=xd(l,m)|0;if(!k){g=7;t=x;return g|0}b:do if((b[c+5>>0]|0)==47?(b[c+6>>0]|0)==47:0){l=7;c:while(1){switch(b[c+l>>0]|0){case 0:case 47:break c;default:{}}l=l+1|0}switch(l&2147483647|0){case 7:{l=7;break b}case 16:{i=c+7|0;if(!(Hz(55118,i,9)|0)){l=16;break b}break}default:i=c+7|0}f[n>>2]=l+-7;f[n+4>>2]=i;l=k;i=1;k=wd(55128,n)|0;v=86;break a}else l=5;while(0);i=0;n=0;d:while(1){p=k+(i+-1)|0;e:while(1){m=b[c+l>>0]|0;switch(m<<24>>24){case 0:case 35:break d;default:{}}o=l+1|0;f:do if((m<<24>>24==37?(q=b[c+o>>0]|0,(b[5472+(q&255)>>0]&8)!=0):0)?(r=b[c+(l+2)>>0]|0,(b[5472+(r&255)>>0]&8)!=0):0){m=q<<24>>24;l=l+3|0;o=r<<24>>24;m=(0-(o>>>6&1)&9)+o&15|(0-(m>>>6&1)&9)+m<<4&240;if(m|0){v=37;break e}switch(n|0){case 0:while(1){switch(b[c+l>>0]|0){case 63:case 35:case 0:break f;default:{}}l=l+1|0}case 1:while(1){switch(b[c+l>>0]|0){case 38:case 61:case 35:case 0:break f;default:{}}l=l+1|0}case 2:while(1){switch(b[c+l>>0]|0){case 38:case 35:case 0:break f;default:{}}l=l+1|0}default:while(1){switch(b[c+l>>0]|0){case 35:case 0:break f;default:{}}l=l+1|0}}}else v=38;while(0);g:do if((v|0)==38){v=0;switch(n|0){case 0:{v=47;break e}case 2:{v=48;break e}case 1:break;default:{l=o;break e}}switch(m<<24>>24){case 38:case 61:break;default:{n=1;l=o;break e}}if(b[p>>0]|0){v=45;break e}l=o;while(1){switch(b[c+l>>0]|0){case 35:case 0:break g;default:{}}if((b[c+(l+-1)>>0]|0)==38)break g;l=l+1|0}}while(0)}if((v|0)==37){v=0;m=m&255}else if((v|0)==45){v=0;if(m<<24>>24==38){b[k+i>>0]=0;m=0;i=i+1|0;n=1;l=o}else{m=0;n=2;l=o}}else if((v|0)==47){v=0;if(m<<24>>24==63)v=49;else{n=0;l=o}}else if((v|0)==48){v=0;if(m<<24>>24==38)v=49;else{n=2;l=o}}if((v|0)==49){v=0;m=0;n=1;l=o}b[k+i>>0]=m;i=i+1|0}if((n|0)==1){b[k+i>>0]=0;i=i+1|0}b[k+i>>0]=0;b[k+(i+1)>>0]=0;i=k+(((wz(k)|0)&1073741823)+1)|0;if(b[i>>0]|0){r=a;a=i;h:while(1){i:do if(!a){i=1;l=(wz(1)|0)&1073741823;v=71}else{c=wz(a)|0;i=a+((c&1073741823)+1)|0;l=(wz(i)|0)&1073741823;switch(c&1073741823|0){case 3:if(!(Hz(55156,a,3)|0)){m=i;break i}else{v=71;break i}case 5:{if(!(Hz(55160,a,5)|0)){o=393216;p=-393217;q=55160;n=22688}else{v=71;break i}break}case 4:{if(!(Hz(55166,a,4)|0)){o=j&135;p=-136;q=40641;n=22720}else{v=71;break i}break}default:{v=71;break i}}a=f[n>>2]|0;if(!a){v=67;break h}m=0;while(1){if((l|0)==((wz(a)|0)&1073741823|0)?(Hz(i,a,l)|0)==0:0)break;m=m+1|0;a=f[n+(m<<3)>>2]|0;if(!a){v=67;break h}}a=f[n+(m<<3)+4>>2]|0;if(!a){v=67;break h}if((a&-129|0)>(o|0)){v=69;break h}j=a|p&j;v=71}while(0);if((v|0)==71){v=0;m=r}a=i+(l+1)|0;if(!(b[a>>0]|0)){a=m;v=77;break a}else r=m}if((v|0)==67){f[s>>2]=q;f[s+4>>2]=i;l=k;i=1;k=wd(55171,s)|0;v=86;break}else if((v|0)==69){f[u>>2]=q;f[u+4>>2]=i;l=k;i=3;k=wd(55191,u)|0;v=86;break}}else v=77}else v=73}else{i=0;v=73}while(0);if((v|0)==73){k=xd(i+2|0,0)|0;if(!k){g=7;t=x;return g|0}if(i|0)YA(k|0,c|0,i|0)|0;b[k+i>>0]=0;b[k+(i+1)>>0]=0;j=j&-65;v=77}j:do if((v|0)==77){k:do if(!(Mc()|0)){i=f[18002]|0;l=(i|0)==0;if((a|0)==0|l){f[e>>2]=i;if(l)break;else{i=0;break j}}while(1){if(!(tz(a,f[i+16>>2]|0)|0))break;i=f[i+12>>2]|0;if(!i){v=83;break k}}f[e>>2]=i;i=0;break j}else v=83;while(0);if((v|0)==83)f[e>>2]=0;f[w>>2]=a;l=k;i=1;k=wd(55215,w)|0;v=86}while(0);do if((v|0)==86){f[h>>2]=k;if(l)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);k=0;break}else{k=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);k=0;break}else k=0}while(0);f[d>>2]=j;f[g>>2]=k;g=i;t=x;return g|0}function Tm(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;do if(c){i=f[c+4>>2]|0;f[i+4>>2]=f[c>>2];h=i+48|0;c=f[h>>2]|0;if(!c){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](84)|0;if(!c)g=26;else g=27}else{c=ib[f[37372>>2]&255](84)|0;if((f[18194]|0)>>>0<84)f[18194]=84;e=71896;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){g=f[18187]|0;e=LA(d|0,e|0,c|0,((c|0)<0)<<31>>31|0)|0;d=ba()|0;f[17976]=((d|0)<0|(d|0)==0&e>>>0<=g>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(c){d=ib[f[37368>>2]&255](c)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0){f[18196]=d;g=27}else g=27}else g=26}if((g|0)==26){f[h>>2]=0;f[i+52>>2]=106;break}else if((g|0)==27){e=c;g=e+84|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(g|0));f[h>>2]=c;f[i+52>>2]=106;g=33;break}}else g=33}else{if(!(f[9328]|0)){c=ib[f[37356>>2]&255](84)|0;if(!c)break}else{c=ib[f[37372>>2]&255](84)|0;if((f[18194]|0)>>>0<84)f[18194]=84;e=71896;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){i=f[18187]|0;h=LA(d|0,e|0,c|0,((c|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&h>>>0<=i>>>0)&1}d=ib[f[37356>>2]&255](c)|0;if(!d)break;c=ib[f[37368>>2]&255](d)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0){f[18196]=c;c=d}else c=d}e=c;g=e+84|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(g|0));g=33}while(0);if((g|0)==33){if(b[c+76>>0]|0){a=c;return a|0}d=c+77|0;e=c+8|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));b[d>>0]=1;a=c;return a|0}c=a+81|0;if(b[c>>0]|0){a=0;return a|0}if(b[a+82>>0]|0){a=0;return a|0}b[c>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;a=a+272|0;f[a>>2]=(f[a>>2]|0)+1;a=0;return a|0}function Um(a,c){a=a|0;c=c|0;var d=0,e=0;d=1<>2]=f[e>>2]|d;if((c|0)==1)return;if(!(b[(f[(f[(f[a>>2]|0)+16>>2]|0)+(c<<4)+4>>2]|0)+9>>0]|0))return;e=a+152|0;f[e>>2]=f[e>>2]|d;return}function Vm(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;if(c){j=f[a+20>>2]|0;e=j+-1|0;a:do if((j|0)>0){d=e;j=(f[a+16>>2]|0)+(e<<4)|0;while(1){g=f[j>>2]|0;if(g|0){i=b[g>>0]|0;e=(h[1232+(i&255)>>0]|0)-(h[1232+(h[c>>0]|0)>>0]|0)|0;if(!(i<<24>>24==0|(e|0)!=0)){i=c;do{g=g+1|0;i=i+1|0;k=b[g>>0]|0;e=(h[1232+(k&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(e|0)!=0))}if(!e)break a}if(!d)break;e=d+-1|0;if((d|0)>0){d=e;j=j+-16|0}else{d=e;break a}}d=109-(h[1232+(h[c>>0]|0)>>0]|0)|0;if(!d){e=42464;do{e=e+1|0;c=c+1|0;k=b[e>>0]|0;d=(h[1232+(k&255)>>0]|0)-(h[1232+(h[c>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(d|0)!=0))}d=((d|0)!=0)<<31>>31}else d=e;while(0);if((d|0)<0){k=0;return k|0}}else d=0;k=f[(f[a+16>>2]|0)+(d<<4)+4>>2]|0;return k|0}function Wm(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if((b[a>>0]|0)!=48){i=dn(a)|0;c=kf(a,c,i,1)|0;return c|0}switch(b[a+1>>0]|0){case 88:case 120:break;default:{i=dn(a)|0;c=kf(a,c,i,1)|0;return c|0}}i=2;while(1){h=b[a+i>>0]|0;if(h<<24>>24==48)i=i+1|0;else break}if(!(b[5472+(h&255)>>0]&8)){e=i;g=0;d=0}else{e=i;g=0;d=0;do{j=WA(g|0,d|0,4)|0;d=ba()|0;g=h<<24>>24;g=j|(0-(g>>>6&1)&9)+g&15;e=e+1|0;h=b[a+e>>0]|0}while((b[5472+(h&255)>>0]&8)!=0)}j=c;f[j>>2]=g;f[j+4>>2]=d;return ((b[a+e>>0]|0)==0?((e-i|0)>16?2:0):2)|0}function Xm(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;i=t;t=t+16|0;g=i;f[g>>2]=e;e=0;a:while(1){switch(b[d+e>>0]|0){case 0:break a;case 115:{k=(f[g>>2]|0)+(4-1)&~(4-1);j=f[k>>2]|0;f[g>>2]=k+4;Nm(a,(j|0)==0?73:106,0,e+c|0,0,j,0)|0;break}case 105:{j=(f[g>>2]|0)+(4-1)&~(4-1);k=f[j>>2]|0;f[g>>2]=j+4;cn(a,70,k,e+c|0)|0;break}default:{h=7;break a}}e=e+1|0}if((h|0)==7){t=i;return}cn(a,81,c,e)|0;t=i;return}function Ym(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=t;t=t+16|0;A=C;B=f[e+20>>2]|0;o=f[e+40>>2]|0;do if((B|0)==1){y=d[c+40>>1]|0;k=y<<16>>16;if(y<<16>>16>-1){if(!o){B=0;t=C;return B|0}l=f[(f[c+4>>2]|0)+(k<<4)>>2]|0;y=b[l>>0]|0;k=(h[1232+(y&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0;if(!(y<<24>>24==0|(k|0)!=0)){m=o;do{l=l+1|0;m=m+1|0;y=b[l>>0]|0;k=(h[1232+(y&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(y<<24>>24==0|(k|0)!=0))}if(!k){B=0;t=C;return B|0}else{y=0;x=0}}else{y=0;x=0}}else if(i){m=f[a>>2]|0;n=B<<2;a:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))z=19;else{B=1;t=C;return B|0}else{do if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0))){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];y=m+284|0;f[y>>2]=(f[y>>2]|0)+1;break a}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];y=m+284|0;f[y>>2]=(f[y>>2]|0)+1;break a}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;z=19}while(0);if((z|0)==19)k=Dc(m,n,0)|0;if(!k){B=1;t=C;return B|0}else{f[i>>2]=k;y=k;x=k;break}}else{y=0;x=0}while(0);k=f[c+8>>2]|0;b:do if(k|0){v=(o|0)==0;w=(B|0)>0;s=c+4|0;u=(y|0)==0;r=k;c:while(1){do if(((B|0)==(j[r+50>>1]|0)?b[r+54>>0]|0:0)?(f[r+36>>2]|0)==0:0){if(v){q=r+55|0;if(((h[q>>0]|h[q+1>>0]<<8)&3)==2){z=29;break c}else break}d:do if(w){q=r+32|0;p=f[r+4>>2]|0;k=0;do{c=d[p+(k<<1)>>1]|0;i=c<<16>>16;if(c<<16>>16<0)break d;o=f[s>>2]|0;n=f[o+(i<<4)+8>>2]|0;n=(n|0)==0?43030:n;m=f[(f[q>>2]|0)+(k<<2)>>2]|0;c=b[m>>0]|0;l=(h[1232+(c&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0;if(!(c<<24>>24==0|(l|0)!=0))do{m=m+1|0;n=n+1|0;c=b[m>>0]|0;l=(h[1232+(c&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(c<<24>>24==0|(l|0)!=0));if(l|0)break d;o=f[o+(i<<4)>>2]|0;c=h[1232+(h[o>>0]|0)>>0]|0;l=0;do{n=f[e+36+(l<<3)+4>>2]|0;i=b[n>>0]|0;m=(h[1232+(i&255)>>0]|0)-c|0;if(!(i<<24>>24==0|(m|0)!=0)){i=o;do{n=n+1|0;i=i+1|0;D=b[n>>0]|0;m=(h[1232+(D&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(D<<24>>24==0|(m|0)!=0))}if(!m){z=45;break}l=l+1|0}while((l|0)<(B|0));if((z|0)==45){z=0;if(!u)f[y+(k<<2)>>2]=f[e+36+(l<<3)>>2]}if((l|0)==(B|0))break d;k=k+1|0}while((k|0)<(B|0))}else k=0;while(0);if((k|0)==(B|0))break c}while(0);k=f[r+20>>2]|0;if(!k)break b;else r=k}if((z|0)==29?(y|0)!=0&w:0){k=0;do{f[y+(k<<2)>>2]=f[e+36+(k<<3)>>2];k=k+1|0}while((k|0)!=(B|0))}f[g>>2]=r;D=0;t=C;return D|0}while(0);if(!(b[a+142>>0]|0)){D=f[e+8>>2]|0;f[A>>2]=f[f[e>>2]>>2];f[A+4>>2]=D;ni(a,56087,A)}k=f[a>>2]|0;if(!x){D=1;t=C;return D|0}if(k|0){if(f[k+480>>2]|0){Kc(k,x);D=1;t=C;return D|0}D=x;if((f[k+304>>2]|0)>>>0<=D>>>0?(f[k+308>>2]|0)>>>0>D>>>0:0){D=k+300|0;f[x>>2]=f[D>>2];f[D>>2]=x;D=1;t=C;return D|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](x);D=1;t=C;return D|0}else{D=ib[f[37368>>2]&255](x)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](x);D=1;t=C;return D|0}return 0}function Zm(a,c,d,e,g,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,u=0;s=t;t=t+32|0;p=s+16|0;o=s;if((((c|0?(r=(i|0)!=0,!(r&(k|0)!=0)):0)?!((j|0)==0^(k|0)==0):0)?!((d+1|0)>>>0>128|(l|0)==0^(m|0)==0):0)?((wz(c)|0)&1073741568|0)==0:0){q=e&2048;switch(e&7){case 4:{o=2;break}case 5:{o=Zm(a,c,d,q|1,g,i,j,k,l,m,n)|0;if(o|0){m=o;t=s;return m|0}o=Zm(a,c,d,q|2,g,i,j,k,l,m,n)|0;if(!o)o=3;else{m=o;t=s;return m|0}break}default:o=e&7}e=o&255;u=Rk(a,c,d,e,0)|0;if((u|0?(f[u+4>>2]&3|0)==(o|0):0)?(b[u>>0]|0)==(d|0):0){if(f[a+168>>2]|0){vg(a,5,56024,p);u=5;t=s;return u|0}o=f[a+4>>2]|0;if(o|0)do{u=o+145|0;p=(h[u>>0]|h[u+1>>0]<<8)&-4|1;b[u>>0]=p;b[u+1>>0]=p>>8;o=f[o+8>>2]|0}while((o|0)!=0)}o=Rk(a,c,d,e,1)|0;if(!o){u=7;t=s;return u|0}e=o+36|0;p=f[e>>2]|0;do if(p|0?(u=(f[p>>2]|0)+-1|0,f[p>>2]=u,(u|0)==0):0){ob[f[p+4>>2]&127](f[p+8>>2]|0);if(a|0){if(f[a+480>>2]|0){Kc(a,p);break}u=p;if((f[a+304>>2]|0)>>>0<=u>>>0?(f[a+308>>2]|0)>>>0>u>>>0:0){u=a+300|0;f[p>>2]=f[u>>2];f[u>>2]=p;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{u=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}while(0);if(n|0)f[n>>2]=(f[n>>2]|0)+1;f[e>>2]=n;u=o+4|0;f[u>>2]=f[u>>2]&3|q;f[o+16>>2]=r?i:j;f[o+20>>2]=k;f[o+24>>2]=l;f[o+28>>2]=m;f[o+8>>2]=g;b[o>>0]=d;u=0;t=s;return u|0}f[o>>2]=40433;f[o+4>>2]=154438;f[o+8>>2]=40460;Ac(21,40408,o);u=21;t=s;return u|0}function _m(a,c,e,g,i,j,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(f[c+56>>2]|0){a=0;return a|0}p=f[a>>2]|0;n=f[c+72>>2]|0;if(!n)m=-1e6;else{o=f[p+16>>2]|0;m=0;while(1)if((f[o+(m<<4)+12>>2]|0)==(n|0))break;else m=m+1|0}z=a+8|0;n=f[z>>2]|0;if(!n){if((f[a+116>>2]|0)==0?(d[p+76>>1]&8)==0:0)b[a+23>>0]=1;y=sl(a)|0}else y=n;if((i|0)<0)o=f[a+40>>2]|0;else o=i;n=o+1|0;p=(k|0)!=0;if(p)f[k>>2]=o;x=c+36|0;do if(!(f[x>>2]&32)){if(j|0?(b[j>>0]|0)==0:0){q=18;break}vl(a,o,m,c,e)}else q=18;while(0);if((q|0)==18)nm(a,m,f[c+28>>2]|0,(e|0)==110&1,f[c>>2]|0);if(l|0)f[l>>2]=n;o=f[c+8>>2]|0;if(!o)o=0;else{r=p^1;s=(j|0)==0;t=y+136|0;u=y+12|0;v=y+88|0;w=e&255;i=g;l=o;o=0;while(1){q=n+1|0;g=l+55|0;if(((h[g>>0]|h[g+1>>0]<<8)&3)==2){p=(f[x>>2]&32|0)==0;if(p|r)c=p?i:0;else{f[k>>2]=n;c=0}}else c=i;if(!(!s?!(b[j+(o+1)>>0]|0):0)){p=f[l+44>>2]|0;i=f[t>>2]|0;if((f[(f[u>>2]|0)+48>>2]|0)>(i|0)){f[t>>2]=i+1;g=f[v>>2]|0;b[g+(i*20|0)>>0]=w;d[g+(i*20|0)+2>>1]=0;f[g+(i*20|0)+4>>2]=n;f[g+(i*20|0)+8>>2]=p;f[g+(i*20|0)+12>>2]=m;f[g+(i*20|0)+16>>2]=0;b[g+(i*20|0)+1>>0]=0}else tl(y,e,n,p,m)|0;n=f[z>>2]|0;i=om(a,l)|0;a:do if(i|0){p=f[n>>2]|0;if(!(b[p+81>>0]|0)){p=f[n+88>>2]|0;g=(f[n+136>>2]|0)+-1|0;b[p+(g*20|0)+1>>0]=-9;f[p+(g*20|0)+16>>2]=i;break}if((f[p+480>>2]|0)==0?(g=(f[i>>2]|0)+-1|0,f[i>>2]=g,(g|0)==0):0){n=f[i+12>>2]|0;do if(n|0){if(f[n+480>>2]|0){Kc(n,i);break a}p=i;if((f[n+304>>2]|0)>>>0>p>>>0)break;if((f[n+308>>2]|0)>>>0<=p>>>0)break;g=n+300|0;f[i>>2]=f[g>>2];f[g>>2]=i;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{g=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}}while(0);n=f[t>>2]|0;if((n|0)>0)d[(f[v>>2]|0)+((n+-1|0)*20|0)+2>>1]=c&255}o=o+1|0;l=f[l+20>>2]|0;if(!l){n=q;break}else{i=c;n=q}}}m=a+40|0;if((n|0)<=(f[m>>2]|0)){a=o;return a|0}f[m>>2]=n;a=o;return a|0}function $m(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)>(d|0))return 0;bn(b,c,0,0,0)|0;return 0}function an(a,b,c){a=a|0;b=b|0;c=c|0;if(((b*1e3|0)+1e3|0)>(f[a+448>>2]|0)){c=0;return c|0}c=f[a>>2]|0;jb[f[c+60>>2]&255](c,1e6)|0;c=1;return c|0}function bn(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=t;t=t+16|0;o=q;if(e|0)f[e>>2]=-1;if(g|0)f[g>>2]=-1;if(d>>>0>3){a=21;t=q;return a|0}if((c|0)!=0?(i=b[c>>0]|0,i<<24>>24!=0):0){n=f[a+20>>2]|0;j=n+-1|0;a:do if((n|0)>0){n=1232+(i&255)|0;i=j;m=(f[a+16>>2]|0)+(j<<4)|0;while(1){k=f[m>>2]|0;if(k|0){l=b[k>>0]|0;j=(h[1232+(l&255)>>0]|0)-(h[n>>0]|0)|0;if(!(l<<24>>24==0|(j|0)!=0)){l=c;do{k=k+1|0;l=l+1|0;r=b[k>>0]|0;j=(h[1232+(r&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(r<<24>>24==0|(j|0)!=0))}if(!j)break a}if(!i)break;j=i+-1|0;if((i|0)>0){i=j;m=m+-16|0}else{i=j;break a}}i=109-(h[n>>0]|0)|0;if(!i){j=c;k=42464;do{k=k+1|0;j=j+1|0;r=b[k>>0]|0;i=(h[1232+(r&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(r<<24>>24==0|(i|0)!=0))}i=((i|0)!=0)<<31>>31}else i=j;while(0);if((i|0)<0){f[o>>2]=c;vg(a,1,56003,o);i=1}else p=23}else{i=10;p=23}do if((p|0)==23){f[a+404>>2]=0;i=Ej(a,i,d,e,g)|0;f[a+64>>2]=i;if(i|0){Bg(a,i);break}if(!(f[a+256>>2]|0))i=0;else{Bg(a,0);i=0}}while(0);if((i|0)==3082|(b[a+81>>0]|0)!=0){Di(a);i=7}else i=f[a+68>>2]&i;if(f[a+168>>2]|0){r=i;t=q;return r|0}f[a+264>>2]=0;r=i;t=q;return r|0}function cn(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0;h=a+136|0;i=f[h>>2]|0;if((f[(f[a+12>>2]|0)+48>>2]|0)>(i|0)){f[h>>2]=i+1;h=f[a+88>>2]|0;b[h+(i*20|0)>>0]=c;d[h+(i*20|0)+2>>1]=0;f[h+(i*20|0)+4>>2]=e;f[h+(i*20|0)+8>>2]=g;f[h+(i*20|0)+12>>2]=0;f[h+(i*20|0)+16>>2]=0;b[h+(i*20|0)+1>>0]=0;return i|0}else{i=tl(a,c,e,g,0)|0;return i|0}return 0}function dn(a){a=a|0;if(!a){a=0;return a|0}a=(wz(a)|0)&1073741823;return a|0}function en(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=f[a+116>>2]|0;e=(e|0)==0?a:e;a=e+84|0;c=f[a>>2]|0;d=1<>2]=c|d;if((b|0)!=1)return;tm(e)|0;return}function fn(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=t;t=t+16|0;j=l+8|0;i=l;do if(!(f[c+56>>2]|0)){e=f[c+36>>2]|0;if(e&1025|0){g=f[a>>2]|0;h=f[g+32>>2]|0;if(e&1|0){if((h&268435457|0)==1&0==0)break;if(!(b[a+18>>0]|0)){k=12;break}else break}if((!((h&268435456|0)==0&0==0)?(f[g+352>>2]|0)==0:0)?(f[g+180>>2]|0)==0:0)k=12}}else{g=f[a>>2]|0;e=c+64|0;while(1){e=f[e>>2]|0;if((f[e>>2]|0)==(g|0))break;else e=e+24|0}if(!(f[(f[f[e+4>>2]>>2]|0)+52>>2]|0))k=12}while(0);if((k|0)==12){f[i>>2]=f[c>>2];ni(a,56975,i);k=1;t=l;return k|0}if(d|0){k=0;t=l;return k|0}if(!(f[c+12>>2]|0)){k=0;t=l;return k|0}f[j>>2]=f[c>>2];ni(a,57004,j);k=1;t=l;return k|0}function gn(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=d[a+50>>1]|0;t=c+50|0;if(e<<16>>16!=(d[t>>1]|0)){c=0;return c|0}if((b[a+54>>0]|0)!=(b[c+54>>0]|0)){c=0;return c|0}a:do if(e<<16>>16){l=c+4|0;m=a+4|0;n=c+40|0;o=a+40|0;p=c+28|0;q=a+28|0;r=c+32|0;s=a+32|0;k=0;while(1){e=d[(f[l>>2]|0)+(k<<1)>>1]|0;if(e<<16>>16!=(d[(f[m>>2]|0)+(k<<1)>>1]|0)){e=0;g=18;break}if(e<<16>>16==-2?Ck(0,f[(f[n>>2]|0)+4+(k*20|0)>>2]|0,f[(f[o>>2]|0)+4+(k*20|0)>>2]|0,-1)|0:0){e=0;g=18;break}if((b[(f[p>>2]|0)+k>>0]|0)!=(b[(f[q>>2]|0)+k>>0]|0)){e=0;g=18;break}g=f[(f[r>>2]|0)+(k<<2)>>2]|0;i=f[(f[s>>2]|0)+(k<<2)>>2]|0;if(g){if(!i){e=0;g=18;break}u=b[g>>0]|0;e=(h[1232+(u&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0;if(!(u<<24>>24==0|(e|0)!=0))do{g=g+1|0;i=i+1|0;u=b[g>>0]|0;e=(h[1232+(u&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(e|0)!=0))}else e=((i|0)!=0)<<31>>31;k=k+1|0;if(e|0){e=0;g=18;break}if(k>>>0>=(j[t>>1]|0)>>>0)break a}if((g|0)==18)return e|0}while(0);u=(Ck(0,f[c+36>>2]|0,f[a+36>>2]|0,-1)|0)==0&1;return u|0}function hn(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0;if(!(f[e+36>>2]&8)){l=0;return l|0}i=f[a>>2]|0;if(f[i+24>>2]&4|0){l=0;return l|0}k=f[a+116>>2]|0;k=(k|0)==0?a:k;h=f[(f[(f[i+16>>2]|0)+(c<<4)+12>>2]|0)+72>>2]|0;if(((h|0?(f[h+36>>2]&32|0)==0:0)?(f[h+56>>2]|0)==0:0)?(d[h+42>>1]|0)==2:0){h=k+112|0;a=f[h>>2]|0;a:do if(!a)l=12;else while(1){if((f[a+4>>2]|0)==(e|0))break a;a=f[a>>2]|0;if(!a){l=12;break}}while(0);do if((l|0)==12){b:do if(f[i+272>>2]|0)if(!(b[i+81>>0]|0))l=22;else{l=0;return l|0}else{do if((j[i+276>>1]|0)>=16){g=i+300|0;a=f[g>>2]|0;if(a|0){f[g>>2]=f[a>>2];i=i+284|0;f[i>>2]=(f[i>>2]|0)+1;break b}g=i+296|0;a=f[g>>2]|0;if(!a){a=i+292|0;break}else{f[g>>2]=f[a>>2];i=i+284|0;f[i>>2]=(f[i>>2]|0)+1;break b}}else a=i+288|0;while(0);f[a>>2]=(f[a>>2]|0)+1;l=22}while(0);if((l|0)==22)a=Dc(i,16,0)|0;if(!a){l=0;return l|0}else{f[a>>2]=f[h>>2];f[h>>2]=a;f[a+4>>2]=e;f[a+8>>2]=c;l=k+44|0;k=f[l>>2]|0;f[a+12>>2]=k+2;f[l>>2]=k+4;break}}while(0);l=f[a+12>>2]|0;return l|0}l=a+36|0;f[l>>2]=(f[l>>2]|0)+1;f[a+12>>2]=523;l=0;return l|0}function jn(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;p=f[a+8>>2]|0;c=f[a+112>>2]|0;if(!c)return;r=(f[a>>2]|0)+16|0;s=a+19|0;t=a+44|0;n=p+136|0;u=p+12|0;o=p+88|0;while(1){j=f[r>>2]|0;k=c+8|0;l=f[k>>2]|0;m=f[c+12>>2]|0;e=b[s>>0]|0;if(!(e<<24>>24)){i=(f[t>>2]|0)+1|0;f[t>>2]=i}else{i=e+-1<<24>>24;b[s>>0]=i;i=f[a+144+((i&255)<<2)>>2]|0}g=m+2|0;e=f[n>>2]|0;h=e+7|0;if((f[(f[u>>2]|0)+48>>2]|0)>(e|0)){f[n>>2]=e+1;v=f[o>>2]|0;b[v+(e*20|0)>>0]=55;d[v+(e*20|0)+2>>1]=0;f[v+(e*20|0)+4>>2]=g;f[v+(e*20|0)+8>>2]=h;f[v+(e*20|0)+12>>2]=m;f[v+(e*20|0)+16>>2]=0;b[v+(e*20|0)+1>>0]=0}else tl(p,55,g,h,m)|0;vl(a,0,f[k>>2]|0,f[(f[j+(l<<4)+12>>2]|0)+72>>2]|0,110);e=wl(p,5,23024)|0;if(!e){c=14;break}v=m+1|0;f[e+4>>2]=v;f[e+28>>2]=v;f[e+44>>2]=m+-1;f[e+52>>2]=i;f[e+68>>2]=i;f[e+72>>2]=v;d[e+62>>1]=8;if(i|0?(q=b[s>>0]|0,(q&255)<8):0){b[s>>0]=q+1<<24>>24;f[a+144+((q&255)<<2)>>2]=i}c=f[c>>2]|0;if(!c){c=14;break}}if((c|0)==14)return}function kn(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c+20|0;g=f[l>>2]|0;a:do if(!g){j=f[a>>2]|0;k=c+42|0;i=d[k>>1]|0;g=(i<<16>>16)+1|0;do if(i<<16>>16>=0){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](g)|0;if(!g)break;else j=g}else{i=ib[f[37372>>2]&255](g)|0;if((f[18194]|0)>>>0>>0)f[18194]=g;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){m=f[18187]|0;h=LA(g|0,h|0,i|0,((i|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&h>>>0<=m>>>0)&1}h=ib[f[37356>>2]&255](i)|0;if(!h)break;g=ib[f[37368>>2]&255](h)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;j=h}else j=h}if((d[k>>1]|0)>0){h=c+4|0;g=0;do{b[j+g>>0]=b[(f[h>>2]|0)+(g<<4)+13>>0]|0;g=g+1|0}while((g|0)<(d[k>>1]|0))}else g=0;do{b[j+g>>0]=0;if((g|0)<=0)break;g=g+-1|0}while((b[j+g>>0]|0)==65);f[l>>2]=j;break a}while(0);g=j+81|0;if(b[g>>0]|0)return;if(b[j+82>>0]|0)return;b[g>>0]=1;if((f[j+180>>2]|0)>0)f[j+264>>2]=1;m=j+272|0;f[m>>2]=(f[m>>2]|0)+1;return}else j=g;while(0);c=(wz(j)|0)&1073741823;if(!c)return;if(!e){g=f[a>>2]|0;if(!(b[g+81>>0]|0)){ul(a,(f[a+88>>2]|0)+(((f[a+136>>2]|0)+-1|0)*20|0)|0,j,c);return}else{qg(g,c,j);return}}i=a+136|0;g=f[i>>2]|0;if((f[(f[a+12>>2]|0)+48>>2]|0)>(g|0)){f[i>>2]=g+1;m=f[a+88>>2]|0;b[m+(g*20|0)>>0]=91;d[m+(g*20|0)+2>>1]=0;f[m+(g*20|0)+4>>2]=e;f[m+(g*20|0)+8>>2]=c;f[m+(g*20|0)+12>>2]=0;f[m+(g*20|0)+16>>2]=0;b[m+(g*20|0)+1>>0]=0}else g=tl(a,91,e,c,0)|0;h=f[a>>2]|0;if(b[h+81>>0]|0){qg(h,c,j);return}if((g|0)<0)g=(f[i>>2]|0)+-1|0;ul(a,(f[a+88>>2]|0)+(g*20|0)|0,j,c);return}function ln(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0;ca=t;t=t+96|0;X=ca+16|0;o=ca+8|0;n=ca;W=ca+56|0;p=ca+24|0;Z=f[a+116>>2]|0;Z=(Z|0)==0?a:Z;aa=f[a>>2]|0;$=(aa|0)==0;a:do if($){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](24)|0;P=24;break}i=ib[f[37372>>2]&255](24)|0;if((f[18194]|0)>>>0<24)f[18194]=24;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){_=f[18187]|0;U=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;T=ba()|0;f[17976]=((T|0)<0|(T|0)==0&U>>>0<=_>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(!k){aa=0;t=ca;return aa|0}i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;_=k}else _=k}else{if(f[aa+272>>2]|0){if(b[aa+81>>0]|0){aa=0;t=ca;return aa|0}}else{do if((j[aa+276>>1]|0)>=24){k=aa+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];P=aa+284|0;f[P>>2]=(f[P>>2]|0)+1;P=24;break a}k=aa+296|0;i=f[k>>2]|0;if(!i){i=aa+292|0;break}else{f[k>>2]=f[i>>2];P=aa+284|0;f[P>>2]=(f[P>>2]|0)+1;P=24;break a}}else i=aa+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(aa,24,0)|0;P=24}while(0);if((P|0)==24)if(!i){aa=0;t=ca;return aa|0}else _=i;l=_;m=l+24|0;do{b[l>>0]=0;l=l+1|0}while((l|0)<(m|0));U=Z+256|0;f[_+4>>2]=f[U>>2];f[U>>2]=_;b:do if($){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](28)|0;P=48;break}i=ib[f[37372>>2]&255](28)|0;if((f[18194]|0)>>>0<28)f[18194]=28;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){U=f[18187]|0;T=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;S=ba()|0;f[17976]=((S|0)<0|(S|0)==0&T>>>0<=U>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(k){i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;Q=k}else Q=k}else P=49}else{if(f[aa+272>>2]|0){if(b[aa+81>>0]|0){P=49;break}}else{do if((j[aa+276>>1]|0)>=28){k=aa+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];P=aa+284|0;f[P>>2]=(f[P>>2]|0)+1;P=48;break b}k=aa+296|0;i=f[k>>2]|0;if(!i){i=aa+292|0;break}else{f[k>>2]=f[i>>2];P=aa+284|0;f[P>>2]=(f[P>>2]|0)+1;P=48;break b}}else i=aa+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(aa,28,0)|0;P=48}while(0);if((P|0)==48)if(!i)P=49;else Q=i;if((P|0)==49){f[_+8>>2]=0;aa=0;t=ca;return aa|0}l=Q;m=l+24|0;do{b[l>>0]=0;l=l+1|0}while((l|0)<(m|0));f[_+8>>2]=Q;R=(f[Z+8>>2]|0)+208|0;f[Q+24>>2]=f[R>>2];f[R>>2]=Q;f[_>>2]=c;f[_+12>>2]=g;R=_+16|0;f[R>>2]=-1;S=_+20|0;f[S>>2]=-1;c:do if($){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](272)|0;P=73;break}i=ib[f[37372>>2]&255](272)|0;if((f[18194]|0)>>>0<272)f[18194]=272;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){U=f[18187]|0;T=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;O=ba()|0;f[17976]=((O|0)<0|(O|0)==0&T>>>0<=U>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(!k){aa=0;t=ca;return aa|0}i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;U=k}else U=k}else{if(f[aa+272>>2]|0){if(b[aa+81>>0]|0){aa=0;t=ca;return aa|0}}else{do if((j[aa+276>>1]|0)>=272){k=aa+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];P=aa+284|0;f[P>>2]=(f[P>>2]|0)+1;P=73;break c}k=aa+296|0;i=f[k>>2]|0;if(!i){i=aa+292|0;break}else{f[k>>2]=f[i>>2];P=aa+284|0;f[P>>2]=(f[P>>2]|0)+1;P=73;break c}}else i=aa+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(aa,272,0)|0;P=73}while(0);if((P|0)==73)if(!i){aa=0;t=ca;return aa|0}else U=i;N=U+4|0;_A(N|0,0,268)|0;k=p+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;f[p>>2]=U;f[U>>2]=aa;f[U+120>>2]=e;f[U+116>>2]=Z;k=f[c>>2]|0;f[U+236>>2]=k;b[U+140>>0]=b[c+8>>0]|0;f[U+128>>2]=f[a+128>>2];s=U+8|0;i=f[s>>2]|0;T=U;do if(!i){i=sl(U)|0;if(i|0){O=i;i=f[c>>2]|0;P=78;break}k=f[U>>2]|0;i=f[U+64>>2]|0;do if(i|0){if(k|0){if(f[k+480>>2]|0){Kc(k,i);break}Z=i;if((f[k+304>>2]|0)>>>0<=Z>>>0?(f[k+308>>2]|0)>>>0>Z>>>0:0){Z=k+300|0;f[i>>2]=f[Z>>2];f[Z>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{Z=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);i=f[U+68>>2]|0;if(i|0)jg(k,i);i=U+24|0;if(k){Z=k+272|0;f[Z>>2]=(f[Z>>2]|0)-(h[i>>0]|0)}}else{O=i;i=k;P=78}while(0);if((P|0)==78){do if(i|0){f[n>>2]=i;e=Ig(aa,56961,n)|0;i=f[O>>2]|0;if(!(b[i+81>>0]|0)){i=(f[O+136>>2]|0)+-1|0;k=f[O+88>>2]|0;l=k+(i*20|0)+1|0;if(b[l>>0]|0){ul(O,k+(i*20|0)|0,e,-7);break}if(!e)break;f[k+(i*20|0)+16>>2]=e;b[l>>0]=-7;break}if(e|0){if(i|0){if(f[i+480>>2]|0){Kc(i,e);break}M=e;if((f[i+304>>2]|0)>>>0<=M>>>0?(f[i+308>>2]|0)>>>0>M>>>0:0){M=i+300|0;f[e>>2]=f[M>>2];f[M>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{M=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-M;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}}while(0);i=f[c+12>>2]|0;do if(!i)i=0;else{r=Bk(aa,i,0,0)|0;q=(r|0)==0;do if(q)P=104;else{e=p+24|0;l=j[e>>1]|0;m=l&4112;d[e>>1]=l&61423;f[W>>2]=T;f[W+4>>2]=146;f[W+8>>2]=147;f[W+12>>2]=0;f[W+24>>2]=p;l=r+24|0;i=U+204|0;M=(f[i>>2]|0)+(f[l>>2]|0)|0;f[i>>2]=M;i=f[(f[U>>2]|0)+120>>2]|0;if((i|0)>=(M|0)){oi(W,r)|0;k=f[W>>2]|0;i=k+204|0;f[i>>2]=(f[i>>2]|0)-(f[l>>2]|0);i=d[e>>1]|0;if(i&16){M=r+4|0;f[M>>2]=f[M>>2]|2}d[e>>1]=m|i&65535;if((f[p+20>>2]|0)<=0)if((f[k+36>>2]|0)<1){P=104;break}else{i=0;break}}else{f[o>>2]=i;ni(U,42710,o)}i=0}while(0);if((P|0)==104){if(!(b[aa+81>>0]|0)){i=f[O+12>>2]|0;o=i+60|0;p=f[o>>2]|0;f[o>>2]=p+1;o=i+64|0;if(!(p+-1&p)){m=p<<3|4;n=f[i>>2]|0;i=f[o>>2]|0;d:do if(i){l=i;e=n+304|0;if(((f[e>>2]|0)>>>0<=l>>>0?(f[n+308>>2]|0)>>>0>l>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;k=Lc(n,i,m,0)|0;if(!k){if(f[n+480>>2]|0){Kc(n,i);i=0;break}do if((f[e>>2]|0)>>>0<=l>>>0){if((f[n+308>>2]|0)>>>0<=l>>>0)break;M=n+300|0;f[i>>2]=f[M>>2];f[M>>2]=i;i=0;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{M=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-M;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else i=k}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){k=n+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];M=n+284|0;f[M>>2]=(f[M>>2]|0)+1;break d}k=n+296|0;i=f[k>>2]|0;if(!i){i=n+292|0;break}else{f[k>>2]=f[i>>2];M=n+284|0;f[M>>2]=(f[M>>2]|0)+1;break d}}else i=n+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(n,m,0)|0}while(0);f[o>>2]=i}else i=f[o>>2]|0;if(i|0)f[i+(p<<2)>>2]=-1;i=~p;zm(U,r,i,16)}else i=0;if(q)break}ig(aa,r)}while(0);J=f[s>>2]|0;K=f[U>>2]|0;k=f[c+28>>2]|0;e:do if(k|0){L=(g|0)==11;M=U+141|0;v=g&255;w=J+136|0;x=J+12|0;y=W+4|0;z=J+88|0;A=(K|0)==0;B=K+272|0;C=K+276|0;D=K+81|0;E=K+288|0;F=K+300|0;G=K+296|0;H=K+284|0;I=K+292|0;while(1){if(L)l=h[k+1>>0]|0;else l=v;b[M>>0]=l;l=f[k+32>>2]|0;f:do if(l|0){f[X>>2]=l;n=Ig(K,44751,X)|0;l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;u=f[z>>2]|0;b[u+(l*20|0)>>0]=-87;d[u+(l*20|0)+2>>1]=0;f[u+(l*20|0)+4>>2]=2147483647;f[u+(l*20|0)+8>>2]=1;f[u+(l*20|0)+12>>2]=0;f[u+(l*20|0)+16>>2]=0;b[u+(l*20|0)+1>>0]=0}else l=tl(J,169,2147483647,1,0)|0;e=f[J>>2]|0;if(!(b[e+81>>0]|0)){if((l|0)<0)l=(f[w>>2]|0)+-1|0;e=f[z>>2]|0;m=e+(l*20|0)+1|0;if(b[m>>0]|0){ul(J,e+(l*20|0)|0,n,-7);break}if(!n)break;f[e+(l*20|0)+16>>2]=n;b[m>>0]=-7;break}if(n|0){do if(e|0){if(f[e+480>>2]|0){Kc(e,n);break f}l=n;if((f[e+304>>2]|0)>>>0<=l>>>0){if((f[e+308>>2]|0)>>>0<=l>>>0)break;u=e+300|0;f[n>>2]=f[u>>2];f[u>>2]=n;break f}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{u=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}}while(0);switch(b[k>>0]|0){case 118:{p=f[U>>2]|0;q=ol(p,0,0,0)|0;if(q|0){n=f[k+12>>2]|0;g:do if(!n)l=0;else{o=(wz(n)|0)+1|0;h:do if(!p){u=KA(o|0,0,-1,-1)|0;g=ba()|0;if(g>>>0>0|(g|0)==0&u>>>0>2147483390){l=0;break g}if(!(f[9328]|0)){l=ib[f[37356>>2]&255](o)|0;P=189;break}l=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;m=71896;e=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&e>>>0>0){u=f[18187]|0;g=LA(e|0,m|0,l|0,((l|0)<0)<<31>>31|0)|0;s=ba()|0;f[17976]=((s|0)<0|(s|0)==0&g>>>0<=u>>>0)&1}l=ib[f[37356>>2]&255](l)|0;if(!l){l=0;break g}e=ib[f[37368>>2]&255](l)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0<=(f[18196]|0)>>>0)break;f[18196]=e}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){l=0;break g}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){e=p+300|0;l=f[e>>2]|0;if(l|0){f[e>>2]=f[l>>2];P=p+284|0;f[P>>2]=(f[P>>2]|0)+1;P=189;break h}e=p+296|0;l=f[e>>2]|0;if(!l){l=p+292|0;break}else{f[e>>2]=f[l>>2];P=p+284|0;f[P>>2]=(f[P>>2]|0)+1;P=189;break h}}else l=p+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1}l=Dc(p,o,0)|0;P=189}while(0);if((P|0)==189){P=0;if(!l){l=0;break}}YA(l|0,n|0,o|0)|0}while(0);f[q+8+(((f[q>>2]|0)+-1|0)*72|0)+8>>2]=l;e=f[(f[k+4>>2]|0)+20>>2]|0;if(!e)l=-1e6;else{m=f[p+16>>2]|0;l=0;while(1)if((f[m+(l<<4)+12>>2]|0)==(e|0))break;else l=l+1|0}if((l|0)==0|(l|0)>1){m=f[(f[p+16>>2]|0)+(l<<4)>>2]|0;i:do if(!m)l=0;else{n=(wz(m)|0)+1|0;j:do if(f[p+272>>2]|0)if(!(b[p+81>>0]|0))P=206;else{l=0;break i}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){e=p+300|0;l=f[e>>2]|0;if(l|0){f[e>>2]=f[l>>2];u=p+284|0;f[u>>2]=(f[u>>2]|0)+1;break j}e=p+296|0;l=f[e>>2]|0;if(!l){l=p+292|0;break}else{f[e>>2]=f[l>>2];u=p+284|0;f[u>>2]=(f[u>>2]|0)+1;break j}}else l=p+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;P=206}while(0);if((P|0)==206){P=0;l=Dc(p,n,0)|0}if(!l){l=0;break}YA(l|0,m|0,n|0)|0}while(0);f[q+8+(((f[q>>2]|0)+-1|0)*72|0)+4>>2]=l}}e=Ik(K,f[k+20>>2]|0,0)|0;l=f[k+16>>2]|0;if(!l)l=0;else l=Bk(K,l,0,0)|0;Ol(U,q,e,l,h[M>>0]|0,0);break}case 116:{p=f[U>>2]|0;u=ol(p,0,0,0)|0;if(u|0){n=f[k+12>>2]|0;k:do if(!n)l=0;else{o=(wz(n)|0)+1|0;l:do if(!p){g=KA(o|0,0,-1,-1)|0;s=ba()|0;if(s>>>0>0|(s|0)==0&g>>>0>2147483390){l=0;break k}if(!(f[9328]|0)){l=ib[f[37356>>2]&255](o)|0;P=239;break}l=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;m=71896;e=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&e>>>0>0){g=f[18187]|0;s=LA(e|0,m|0,l|0,((l|0)<0)<<31>>31|0)|0;r=ba()|0;f[17976]=((r|0)<0|(r|0)==0&s>>>0<=g>>>0)&1}l=ib[f[37356>>2]&255](l)|0;if(!l){l=0;break k}e=ib[f[37368>>2]&255](l)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0<=(f[18196]|0)>>>0)break;f[18196]=e}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){l=0;break k}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){e=p+300|0;l=f[e>>2]|0;if(l|0){f[e>>2]=f[l>>2];P=p+284|0;f[P>>2]=(f[P>>2]|0)+1;P=239;break l}e=p+296|0;l=f[e>>2]|0;if(!l){l=p+292|0;break}else{f[e>>2]=f[l>>2];P=p+284|0;f[P>>2]=(f[P>>2]|0)+1;P=239;break l}}else l=p+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1}l=Dc(p,o,0)|0;P=239}while(0);if((P|0)==239){P=0;if(!l){l=0;break}}YA(l|0,n|0,o|0)|0}while(0);f[u+8+(((f[u>>2]|0)+-1|0)*72|0)+8>>2]=l;e=f[(f[k+4>>2]|0)+20>>2]|0;if(!e)l=-1e6;else{m=f[p+16>>2]|0;l=0;while(1)if((f[m+(l<<4)+12>>2]|0)==(e|0))break;else l=l+1|0}if((l|0)==0|(l|0)>1){m=f[(f[p+16>>2]|0)+(l<<4)>>2]|0;m:do if(!m)l=0;else{n=(wz(m)|0)+1|0;n:do if(f[p+272>>2]|0)if(!(b[p+81>>0]|0))P=256;else{l=0;break m}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){e=p+300|0;l=f[e>>2]|0;if(l|0){f[e>>2]=f[l>>2];g=p+284|0;f[g>>2]=(f[g>>2]|0)+1;break n}e=p+296|0;l=f[e>>2]|0;if(!l){l=p+292|0;break}else{f[e>>2]=f[l>>2];g=p+284|0;f[g>>2]=(f[g>>2]|0)+1;break n}}else l=p+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;P=256}while(0);if((P|0)==256){P=0;l=Dc(p,n,0)|0}if(!l){l=0;break}YA(l|0,m|0,n|0)|0}while(0);f[u+8+(((f[u>>2]|0)+-1|0)*72|0)+4>>2]=l}}r=Hk(K,f[k+8>>2]|0,0)|0;s=Lk(K,f[k+24>>2]|0)|0;g=h[M>>0]|0;e=f[k+28>>2]|0;do if(!e)l=0;else{q=Ik(K,f[e>>2]|0,0)|0;l=f[e+4>>2]|0;if(!l)p=0;else p=Bk(K,l,0,0)|0;o=Ik(K,f[e+8>>2]|0,0)|0;l=f[e+12>>2]|0;if(!l)n=0;else n=Bk(K,l,0,0)|0;o:do if(A){if(!(f[9328]|0)){V=ib[f[37356>>2]&255](36)|0;P=286;break}l=ib[f[37372>>2]&255](36)|0;if((f[18194]|0)>>>0<36)f[18194]=36;m=71896;e=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&e>>>0>0){da=f[18187]|0;m=LA(e|0,m|0,l|0,((l|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&m>>>0<=da>>>0)&1}l=ib[f[37356>>2]&255](l)|0;if(!l)break;e=ib[f[37368>>2]&255](l)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0<=(f[18196]|0)>>>0){P=295;break}f[18196]=e;P=295}else{if(f[B>>2]|0){if(b[D>>0]|0)break}else{do if((j[C>>1]|0)<36)l=E;else{l=f[F>>2]|0;if(l|0){f[F>>2]=f[l>>2];f[H>>2]=(f[H>>2]|0)+1;V=l;P=286;break o}l=f[G>>2]|0;if(!l){l=I;break}f[G>>2]=f[l>>2];f[H>>2]=(f[H>>2]|0)+1;V=l;P=286;break o}while(0);f[l>>2]=(f[l>>2]|0)+1}V=Dc(K,36,0)|0;P=286}while(0);if((P|0)==286?(P=0,V|0):0){l=V;P=295}if((P|0)==295){P=0;f[l>>2]=q;f[l+4>>2]=p;f[l+8>>2]=o;f[l+12>>2]=n;f[l+16>>2]=0;break}if(q|0)jg(K,q);if(p|0)ig(K,p);if(o|0)jg(K,o);if(!n){l=0;break}ig(K,n);l=0}while(0);Ql(U,u,r,s,g,l);break}case 117:{p=f[U>>2]|0;q=ol(p,0,0,0)|0;if(q|0){n=f[k+12>>2]|0;p:do if(!n)l=0;else{o=(wz(n)|0)+1|0;q:do if(!p){da=KA(o|0,0,-1,-1)|0;u=ba()|0;if(u>>>0>0|(u|0)==0&da>>>0>2147483390){l=0;break p}if(!(f[9328]|0)){l=ib[f[37356>>2]&255](o)|0;P=323;break}l=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;m=71896;e=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&e>>>0>0){da=f[18187]|0;u=LA(e|0,m|0,l|0,((l|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&u>>>0<=da>>>0)&1}l=ib[f[37356>>2]&255](l)|0;if(!l){l=0;break p}e=ib[f[37368>>2]&255](l)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0<=(f[18196]|0)>>>0)break;f[18196]=e}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){l=0;break p}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){e=p+300|0;l=f[e>>2]|0;if(l|0){f[e>>2]=f[l>>2];P=p+284|0;f[P>>2]=(f[P>>2]|0)+1;P=323;break q}e=p+296|0;l=f[e>>2]|0;if(!l){l=p+292|0;break}else{f[e>>2]=f[l>>2];P=p+284|0;f[P>>2]=(f[P>>2]|0)+1;P=323;break q}}else l=p+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1}l=Dc(p,o,0)|0;P=323}while(0);if((P|0)==323){P=0;if(!l){l=0;break}}YA(l|0,n|0,o|0)|0}while(0);f[q+8+(((f[q>>2]|0)+-1|0)*72|0)+8>>2]=l;e=f[(f[k+4>>2]|0)+20>>2]|0;if(!e)l=-1e6;else{m=f[p+16>>2]|0;l=0;while(1)if((f[m+(l<<4)+12>>2]|0)==(e|0))break;else l=l+1|0}if((l|0)==0|(l|0)>1){m=f[(f[p+16>>2]|0)+(l<<4)>>2]|0;r:do if(!m)l=0;else{n=(wz(m)|0)+1|0;s:do if(f[p+272>>2]|0)if(!(b[p+81>>0]|0))P=340;else{l=0;break r}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){e=p+300|0;l=f[e>>2]|0;if(l|0){f[e>>2]=f[l>>2];da=p+284|0;f[da>>2]=(f[da>>2]|0)+1;break s}e=p+296|0;l=f[e>>2]|0;if(!l){l=p+292|0;break}else{f[e>>2]=f[l>>2];da=p+284|0;f[da>>2]=(f[da>>2]|0)+1;break s}}else l=p+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;P=340}while(0);if((P|0)==340){P=0;l=Dc(p,n,0)|0}if(!l){l=0;break}YA(l|0,m|0,n|0)|0}while(0);f[q+8+(((f[q>>2]|0)+-1|0)*72|0)+4>>2]=l}}l=f[k+16>>2]|0;if(!l)l=0;else l=Bk(K,l,0,0)|0;Nl(U,q,l);break}default:{l=Hk(K,f[k+8>>2]|0,0)|0;b[W>>0]=4;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;Kl(U,l,W)|0;if(l|0)mg(K,l,1)}}do if((b[k>>0]|0)!=127){l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;m=f[z>>2]|0;b[m+(l*20|0)>>0]=125;l=m+(l*20|0)+1|0;m=l+19|0;do{b[l>>0]=0;l=l+1|0}while((l|0)<(m|0));break}else{tl(J,125,0,0,0)|0;break}}while(0);k=f[k+36>>2]|0;if(!k)break e}}while(0);k=f[O+12>>2]|0;if(i|0?(Y=f[k+64>>2]|0,Y|0):0)f[Y+(~i<<2)>>2]=f[O+136>>2];e=O+136|0;i=f[e>>2]|0;if((f[k+48>>2]|0)>(i|0)){f[e>>2]=i+1;l=f[O+88>>2]|0;b[l+(i*20|0)>>0]=69;l=l+(i*20|0)+1|0;m=l+19|0;do{b[l>>0]=0;l=l+1|0}while((l|0)<(m|0))}else tl(O,69,0,0,0)|0;l=a+36|0;do if(f[l>>2]|0){k=f[U>>2]|0;i=f[N>>2]|0;if(i|0){if(k|0){if(f[k+480>>2]|0){Kc(k,i);break}da=i;if((f[k+304>>2]|0)>>>0<=da>>>0?(f[k+308>>2]|0)>>>0>da>>>0:0){da=k+300|0;f[i>>2]=f[da>>2];f[da>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{da=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}}else{f[a+4>>2]=f[N>>2];f[l>>2]=f[U+36>>2];f[a+12>>2]=f[U+12>>2]}while(0);if((b[aa+81>>0]|0)==0?(f[l>>2]|0)==0:0){a=O+88|0;da=f[a>>2]|0;go(O,Z+96|0);f[Q+4>>2]=f[e>>2];f[a>>2]=0;f[Q>>2]=da}f[Q+8>>2]=f[U+44>>2];f[Q+12>>2]=f[U+40>>2];f[Q+20>>2]=c;f[R>>2]=f[U+132>>2];f[S>>2]=f[U+136>>2];l=f[O>>2]|0;gg(l,O);e=f[O+4>>2]|0;k=O+8|0;i=f[k>>2]|0;if(!e)f[l+4>>2]=i;else{f[e+8>>2]=i;i=f[k>>2]|0}if(i|0)f[i+4>>2]=e;f[O+20>>2]=1443283912;f[O>>2]=0;do if(l){if(f[l+480>>2]|0){Kc(l,O);break}da=O;if((f[l+304>>2]|0)>>>0<=da>>>0?(f[l+308>>2]|0)>>>0>da>>>0:0){da=l+300|0;f[O>>2]=f[da>>2];f[da>>2]=O}else P=387}else P=387;while(0);do if((P|0)==387)if(!(f[9328]|0)){ob[f[37360>>2]&127](O);break}else{da=ib[f[37368>>2]&255](O)|0;f[18187]=(f[18187]|0)-da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](O);break}while(0);l=f[U>>2]|0;i=f[U+64>>2]|0;t:do if(i|0){do if(l|0){if(f[l+480>>2]|0){Kc(l,i);break t}k=i;if((f[l+304>>2]|0)>>>0>k>>>0)break;if((f[l+308>>2]|0)>>>0<=k>>>0)break;da=l+300|0;f[i>>2]=f[da>>2];f[da>>2]=i;break t}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{da=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);i=f[U+68>>2]|0;if(i|0)jg(l,i);i=U+24|0;if(l){da=l+272|0;f[da>>2]=(f[da>>2]|0)-(h[i>>0]|0)}}b[i>>0]=0;if(!$){if(f[aa+480>>2]|0){Kc(aa,U);da=_;t=ca;return da|0}if((f[aa+304>>2]|0)>>>0<=T>>>0?(f[aa+308>>2]|0)>>>0>T>>>0:0){da=aa+300|0;f[U>>2]=f[da>>2];f[da>>2]=U;da=_;t=ca;return da|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](U);da=_;t=ca;return da|0}else{da=ib[f[37368>>2]&255](U)|0;f[18187]=(f[18187]|0)-da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](U);da=_;t=ca;return da|0}return 0} -function af(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=t;t=t+16|0;J=N;D=h[d+1>>0]|0;E=h[d>>0]|0;C=d+2|0;H=(b[d+3>>0]|0)==0;r=0;a:while(1){y=c;c=a;while(1){j=b[c>>0]|0;c=c+1|0;a=j&255;if(j<<24>>24>-1)if(!(j<<24>>24)){F=124;break a}else{f=c;B=a;F=10}else if((j&255)>191){a=h[5728+(a+-192)>>0]|0;j=b[c>>0]|0;if((j&-64)<<24>>24==-128)do{c=c+1|0;a=a<<6|j&63;j=b[c>>0]|0}while((j&-64)<<24>>24==-128);if((a&-2|0)==65534|(a>>>0<128|(a&-2048|0)==55296)){z=c;A=65533}else{f=c;B=a;F=10}}else{f=c;B=a;F=10}if((F|0)==10){F=0;if((B|0)==(E|0)){F=11;break a}else{z=f;A=B}}if((A|0)!=(e|0)){i=A;x=r;v=z;break}if(!(b[C>>0]|0)){F=66;break}c=y+1|0;a=b[y>>0]|0;j=a&255;if((a&255)<=191)if(!(a<<24>>24)){g=1;F=125;break a}else q=c;else{a=h[5728+(j+-192)>>0]|0;j=b[c>>0]|0;if((j&-64)<<24>>24==-128)do{c=c+1|0;a=a<<6|j&63;j=b[c>>0]|0}while((j&-64)<<24>>24==-128);q=c;j=(a&-2|0)==65534|(a>>>0<128|(a&-2048|0)==55296)?65533:a}c=z+1|0;a=b[z>>0]|0;k=a&255;do if((a&255)<=191){if(a<<24>>24==94){l=z+2|0;p=b[c>>0]|0;c=p&255;if((p&255)>191){c=h[5728+(c+-192)>>0]|0;k=b[l>>0]|0;if((k&-64)<<24>>24==-128){a=c;c=l;do{c=c+1|0;a=a<<6|k&63;k=b[c>>0]|0}while((k&-64)<<24>>24==-128)}else{a=c;c=l}n=1;m=0;k=(a&-2|0)==65534|(a>>>0<128|(a&-2048|0)==55296)?65533:a;break}else{n=1;k=c;c=l}}else n=0;if((k|0)==93){m=(j|0)==93&1;l=c+1|0;p=b[c>>0]|0;k=p&255;if((p&255)>191){c=h[5728+(k+-192)>>0]|0;k=b[l>>0]|0;if((k&-64)<<24>>24==-128){a=c;c=l;do{c=c+1|0;a=a<<6|k&63;k=b[c>>0]|0}while((k&-64)<<24>>24==-128)}else{a=c;c=l}k=(a&-2|0)==65534|(a>>>0<128|(a&-2048|0)==55296)?65533:a}else c=l}else m=0}else{a=h[5728+(k+-192)>>0]|0;k=b[c>>0]|0;if((k&-64)<<24>>24==-128)do{c=c+1|0;a=a<<6|k&63;k=b[c>>0]|0}while((k&-64)<<24>>24==-128);n=0;m=0;k=(a&-2|0)==65534|(a>>>0<128|(a&-2048|0)==55296)?65533:a}while(0);p=0;o=m;b:while(1){switch(k|0){case 0:{g=1;F=125;break a}case 93:break b;case 45:{m=b[c>>0]|0;if(m<<24>>24!=93?(p|0)!=0&m<<24>>24!=0:0){a=c+1|0;l=m&255;if((m&255)>191){l=h[5728+(l+-192)>>0]|0;m=b[a>>0]|0;if((m&-64)<<24>>24==-128)do{a=a+1|0;l=l<<6|m&63;m=b[a>>0]|0}while((m&-64)<<24>>24==-128);l=(l&-2|0)==65534|(l>>>0<128|(l&-2048|0)==55296)?65533:l}w=0;u=a;s=j>>>0

>>0|j>>>0>l>>>0?o:1}else F=105;break}default:F=105}if((F|0)==105){F=0;w=k;u=c;s=(j|0)==(k|0)?1:o}c=u+1|0;p=b[u>>0]|0;k=p&255;if((p&255)>191){a=h[5728+(k+-192)>>0]|0;k=b[c>>0]|0;if((k&-64)<<24>>24==-128)do{c=c+1|0;a=a<<6|k&63;k=b[c>>0]|0}while((k&-64)<<24>>24==-128);k=(a&-2|0)==65534|(a>>>0<128|(a&-2048|0)==55296)?65533:a}p=w;o=s}if((o|0)==(n|0)){g=1;F=125;break a}else y=q}do if((F|0)==66){F=0;a=z+1|0;c=b[z>>0]|0;i=c&255;if((c&255)<=191)if(!(c<<24>>24)){g=1;F=125;break a}else{x=a;v=a;break}c=h[5728+(i+-192)>>0]|0;i=b[a>>0]|0;if((i&-64)<<24>>24==-128)do{a=a+1|0;c=c<<6|i&63;i=b[a>>0]|0}while((i&-64)<<24>>24==-128);i=(c&-2|0)==65534|(c>>>0<128|(c&-2048|0)==55296)?65533:c;x=a;v=a}while(0);r=b[y>>0]|0;c=y+1|0;a=r&255;if((r&255)>191){a=h[5728+(a+-192)>>0]|0;j=b[c>>0]|0;if((j&-64)<<24>>24==-128)do{c=c+1|0;a=a<<6|j&63;j=b[c>>0]|0}while((j&-64)<<24>>24==-128);a=(a&-2|0)==65534|(a>>>0<128|(a&-2048|0)==55296)?65533:a}do if((i|0)!=(a|0)){if(!H?((a|i)>>>0<128?(b[1232+(i&255)>>0]|0)==(b[1232+(a&255)>>0]|0):0):0)break;if((i|0)!=(D|0)){g=1;F=125;break a}if(!((v|0)!=(x|0)&(a|0)!=0)){g=1;F=125;break a}}while(0);r=x;a=v}if((F|0)==11){j=y;c:while(1){while(1){B=b[f>>0]|0;f=f+1|0;c=B&255;if((B&255)>191){c=h[5728+(c+-192)>>0]|0;i=b[f>>0]|0;if((i&-64)<<24>>24==-128)do{f=f+1|0;c=c<<6|i&63;i=b[f>>0]|0}while((i&-64)<<24>>24==-128);a=f;c=(c&-2|0)==65534|(c>>>0<128|(c&-2048|0)==55296)?65533:c}else a=f;f=(c|0)==(D|0);if(!((c|0)==(E|0)|f))break c;if(f)break;else f=a}f=j+1|0;i=b[j>>0]|0;if((i&255)>191){if((b[f>>0]&-64)<<24>>24==-128)do f=f+1|0;while((b[f>>0]&-64)<<24>>24==-128)}else if(!(i<<24>>24)){g=2;F=125;break}j=f;f=a}if((F|0)==125){t=N;return g|0}if(!c){e=0;t=N;return e|0}do if((c|0)==(e|0)){if(!(b[C>>0]|0)){f=a+1|0;c=b[a>>0]|0;g=c&255;if((c&255)<=191){if(!(c<<24>>24))g=2;else{G=g;I=f;F=43;break}t=N;return g|0}c=h[5728+(g+-192)>>0]|0;g=b[f>>0]|0;if((g&-64)<<24>>24==-128)do{f=f+1|0;c=c<<6|g&63;g=b[f>>0]|0}while((g&-64)<<24>>24==-128);if((c&-2|0)==65534|(c>>>0<128|(c&-2048|0)==55296)){K=65533;L=f;break}else{G=c;I=f;F=43;break}}i=a+-1|0;c=b[j>>0]|0;if(!(c<<24>>24)){e=2;t=N;return e|0}f=j;while(1){g=af(i,f,d,e)|0;if((g|0)!=1){F=125;break}g=f+1|0;if((c&255)>191){f=g;while(1){c=b[f>>0]|0;if((c&-64)<<24>>24==-128)f=f+1|0;else break}}else{f=g;c=b[g>>0]|0}if(!(c<<24>>24)){g=2;F=125;break}}if((F|0)==125){t=N;return g|0}}else{G=c;I=a;F=43}while(0);if((F|0)==43)if(G>>>0<129){if(H){b[J>>0]=G;f=0}else{f=G&255;b[J>>0]=G&(~(b[5472+f>>0]&32)&255);f=b[1232+f>>0]|0;b[J+2>>0]=0}b[J+1>>0]=f;f=j+(EA(j,J)|0)|0;d:do if(b[f>>0]|0){while(1){f=f+1|0;c=af(I,f,d,e)|0;if((c|0)!=1)break;f=f+(EA(f,J)|0)|0;if(!(b[f>>0]|0))break d}e=c;t=N;return e|0}while(0);e=2;t=N;return e|0}else{K=G;L=I}f=j;while(1){g=b[f>>0]|0;f=f+1|0;c=g&255;if(g<<24>>24>-1){if(!(g<<24>>24)){g=2;F=125;break}}else if((g&255)>191){c=h[5728+(c+-192)>>0]|0;g=b[f>>0]|0;if((g&-64)<<24>>24==-128)do{f=f+1|0;c=c<<6|g&63;g=b[f>>0]|0}while((g&-64)<<24>>24==-128);c=(c&-2|0)==65534|(c>>>0<128|(c&-2048|0)==55296)?65533:c}if((c|0)==(K|0)?(M=af(L,f,d,e)|0,(M|0)!=1):0){g=M;F=125;break}}if((F|0)==125){t=N;return g|0}}else if((F|0)==124){e=(b[y>>0]|0)!=0&1;t=N;return e|0}else if((F|0)==125){t=N;return g|0}return 0}function bf(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;e=a+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else cf(a);f[a>>2]=b;f[a+4>>2]=c;d[e>>1]=4;return}function cf(a){a=a|0;var b=0,c=0,e=0,g=0,h=0,i=0,j=0,k=0;k=t;t=t+80|0;h=k+40|0;i=k;j=a+8|0;b=d[j>>1]|0;if(b&8192){c=f[a>>2]|0;e=h+12|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;e=i;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));d[i+8>>1]=1;b=a+32|0;f[i+32>>2]=f[b>>2];f[h>>2]=i;f[h+8>>2]=a;f[h+4>>2]=c;ob[f[c+20>>2]&127](h);do if((f[a+24>>2]|0)>0){b=f[b>>2]|0;c=f[a+20>>2]|0;if(b|0){if(f[b+480>>2]|0){Kc(b,c);break}h=c;if((f[b+304>>2]|0)>>>0<=h>>>0?(f[b+308>>2]|0)>>>0>h>>>0:0){h=b+300|0;f[c>>2]=f[h>>2];f[h>>2]=c;break}}if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{h=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);e=a;b=i;g=e+40|0;do{f[e>>2]=f[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(g|0));b=d[j>>1]|0}if(!(b&1024)){d[j>>1]=1;t=k;return}ob[f[a+36>>2]&127](f[a+16>>2]|0);d[j>>1]=1;t=k;return}function df(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0;l=(c|0)>32?c:32;o=a+24|0;c=(f[o>>2]|0)>0;if((e|0)!=0&c?(k=a+16|0,h=f[k>>2]|0,i=a+20|0,(h|0)==(f[i>>2]|0)):0){e=f[a+32>>2]|0;g=(h|0)==0;a:do if(!g){c=h;if(((f[e+304>>2]|0)>>>0<=c>>>0?(f[e+308>>2]|0)>>>0>c>>>0:0)?!(0<0|(0==0?(j[e+276>>1]|0)>>>0>>0:0)):0){c=h;break}c=Lc(e,h,l,0)|0;if(!(g|(c|0)!=0)){if(f[e+480>>2]|0){Kc(e,h);c=0;break}l=h;if((f[e+304>>2]|0)>>>0<=l>>>0?(f[e+308>>2]|0)>>>0>l>>>0:0){c=e+300|0;f[h>>2]=f[c>>2];f[c>>2]=h;c=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);c=0;break}else{c=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);c=0;break}}}else{if(f[e+272>>2]|0){if(b[e+81>>0]|0){c=0;break}}else{do if(!(0<0|(0==0?(j[e+276>>1]|0)>>>0>>0:0))){g=e+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];l=e+284|0;f[l>>2]=(f[l>>2]|0)+1;break a}g=e+296|0;c=f[g>>2]|0;if(!c){c=e+292|0;break}else{f[g>>2]=f[c>>2];l=e+284|0;f[l>>2]=(f[l>>2]|0)+1;break a}}else c=e+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(e,l,0)|0}while(0);f[i>>2]=c;f[k>>2]=c;h=0}else{h=a+32|0;do if(c){c=f[h>>2]|0;g=f[a+20>>2]|0;if(c|0){if(f[c+480>>2]|0){Kc(c,g);break}k=g;if((f[c+304>>2]|0)>>>0<=k>>>0?(f[c+308>>2]|0)>>>0>k>>>0:0){k=c+300|0;f[g>>2]=f[k>>2];f[k>>2]=g;break}}if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{k=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);h=f[h>>2]|0;b:do if(!h){k=KA(l|0,0,-1,-1)|0;i=ba()|0;if(!(i>>>0>0|(i|0)==0&k>>>0>2147483390)){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](l)|0;break}h=ib[f[37372>>2]&255](l)|0;if((f[18194]|0)>>>0>>0)f[18194]=l;g=71896;c=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&c>>>0>0){l=f[18187]|0;k=LA(c|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[17976]=((i|0)<0|(i|0)==0&k>>>0<=l>>>0)&1}g=ib[f[37356>>2]&255](h)|0;if(g){c=ib[f[37368>>2]&255](g)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0){f[18196]=c;c=g}else c=g}else c=0}else c=0}else{if(f[h+272>>2]|0){if(b[h+81>>0]|0){c=0;break}}else{do if(!(0<0|(0==0?(j[h+276>>1]|0)>>>0>>0:0))){g=h+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];l=h+284|0;f[l>>2]=(f[l>>2]|0)+1;break b}g=h+296|0;c=f[g>>2]|0;if(!c){c=h+292|0;break}else{f[g>>2]=f[c>>2];l=h+284|0;f[l>>2]=(f[l>>2]|0)+1;break b}}else c=h+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(h,l,0)|0}while(0);i=a+20|0;f[i>>2]=c;h=e}if(!c){c=a+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else cf(a);f[a+16>>2]=0;f[o>>2]=0;a=7;return a|0}g=f[a+32>>2]|0;if(((g|0)!=0?(m=c,(f[g+304>>2]|0)>>>0<=m>>>0):0)?(f[g+308>>2]|0)>>>0>m>>>0:0)c=j[g+276>>1]|0;else c=ib[f[37368>>2]&255](c)|0;f[o>>2]=c;if(h|0?(n=f[a+16>>2]|0,n|0):0)YA(f[i>>2]|0,n|0,f[a+12>>2]|0)|0;h=a+8|0;c=d[h>>1]|0;if(!(c&1024))g=a+16|0;else{g=a+16|0;ob[f[a+36>>2]&127](f[g>>2]|0);c=d[h>>1]|0}f[g>>2]=f[i>>2];d[h>>1]=c&-7169;a=0;return a|0}function ef(a){a=a|0;return ib[f[37368>>2]&255](a)|0}function ff(a){a=a|0;var b=0,c=0,e=0,g=0,h=0;if(d[a+8>>1]&9216)cf(a);c=a+24|0;if(!(f[c>>2]|0)){g=a+16|0;f[g>>2]=0;return}e=f[a+32>>2]|0;b=f[a+20>>2]|0;do if(e){if(f[e+480>>2]|0){Kc(e,b);break}h=b;if((f[e+304>>2]|0)>>>0<=h>>>0?(f[e+308>>2]|0)>>>0>h>>>0:0){h=e+300|0;f[b>>2]=f[h>>2];f[h>>2]=b}else g=10}else g=10;while(0);do if((g|0)==10?b|0:0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{h=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);f[c>>2]=0;h=a+16|0;f[h>>2]=0;return}function gf(a){a=a|0;var c=0,e=0;c=a+12|0;if(df(a,(f[c>>2]|0)+2|0,1)|0){c=7;return c|0}e=a+16|0;b[(f[e>>2]|0)+(f[c>>2]|0)>>0]=0;b[(f[e>>2]|0)+((f[c>>2]|0)+1)>>0]=0;c=a+8|0;d[c>>1]=d[c>>1]|512;c=0;return c|0}function hf(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0;h=f[a+8>>2]|0;if((b|0)<1){c=h+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else cf(h);f[h+16>>2]=0;h=0;return h|0}if((f[h+24>>2]|0)<(b|0)){df(h,b,0)|0;g=h+16|0;c=h+8|0;e=g;g=f[g>>2]|0}else{g=f[h+20>>2]|0;e=h+16|0;f[e>>2]=g;c=h+8|0;d[c>>1]=d[c>>1]&13}d[c>>1]=8192;f[h>>2]=f[a+4>>2];if(!g){h=g;return h|0}_A(g|0,0,b|0)|0;h=f[e>>2]|0;return h|0}function jf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;p[c>>3]=0.0;i=e&255;if(e<<24>>24==1){i=a;g=1;q=1;e=d}else{e=3-i|0;a:do if((e|0)<(d|0))while(1){if(b[a+e>>0]|0){g=0;break a}e=e+2|0;if((e|0)>=(d|0)){g=1;break}}else g=1;while(0);i=a+(i&1)|0;q=2;e=e^1}t=a+e|0;if(i>>>0>=t>>>0){c=0;return c|0}e=i;while(1){i=b[e>>0]|0;if(!(b[5472+(i&255)>>0]&1))break;e=e+q|0;if(e>>>0>=t>>>0){e=0;s=69;break}}if((s|0)==69)return e|0;switch(i<<24>>24){case 45:{r=-1;e=e+q|0;break}case 43:{r=1;e=e+q|0;break}default:r=1}b:do if(e>>>0>>0){i=0;l=0;a=0;do{d=b[e>>0]|0;if(!(((l|0)<214748364|(l|0)==214748364&a>>>0<3435973835)&((d&255)+-48|0)>>>0<10))break b;l=QA(a|0,l|0,10,0)|0;a=(d<<24>>24)+-48|0;a=KA(l|0,ba()|0,a|0,((a|0)<0)<<31>>31|0)|0;l=ba()|0;e=e+q|0;i=i+1|0}while(e>>>0>>0)}else{i=0;a=0;l=0}while(0);c:do if(e>>>0>>0){k=0;while(1){d=b[e>>0]|0;if(((d&255)+-48|0)>>>0>=10)break;e=e+q|0;i=i+1|0;d=k+1|0;if(e>>>0>>0)k=d;else{q=1;k=0;o=1;break c}}d:do if(d<<24>>24==46){e=e+q|0;if(e>>>0>>0)while(1){d=b[e>>0]|0;if(((d&255)+-48|0)>>>0>=10){d=k;break d}o=(l|0)<214748364|(l|0)==214748364&a>>>0<3435973835;m=QA(a|0,l|0,10,0)|0;n=(d<<24>>24)+-48|0;n=KA(m|0,ba()|0,n|0,((n|0)<0)<<31>>31|0)|0;d=ba()|0;a=o?n:a;l=o?d:l;d=k+(o<<31>>31)|0;i=i+1|0;e=e+q|0;if(e>>>0>>0)k=d;else break}else d=k}else d=k;while(0);if(e>>>0>>0){e:do switch(b[e>>0]|0){case 69:case 101:{e=e+q|0;if(e>>>0>=t>>>0){q=0;k=0;o=1;break c}switch(b[e>>0]|0){case 45:{o=-1;e=e+q|0;break}case 43:{o=1;e=e+q|0;break}default:o=1}if(e>>>0>>0){m=0;n=0;while(1){k=b[e>>0]|0;if(((k&255)+-48|0)>>>0>=10){k=n;break e}k=(n|0)<1e4?(n*10|0)+-48+(k<<24>>24)|0:1e4;e=e+q|0;if(e>>>0>>0){m=1;n=k}else{m=1;break}}}else{m=0;k=0}break}default:{m=1;k=0;o=1}}while(0);if(e>>>0>>0)while(1){if(!(b[5472+(h[e>>0]|0)>>0]&1)){q=m;break c}e=e+q|0;if(e>>>0>=t>>>0){q=m;break}}else q=m}else{q=1;k=0;o=1}}else{q=1;k=0;o=1;d=0}while(0);d=(U(k,o)|0)+d|0;o=(d|0)<0;k=d>>31|1;f:do if((a|0)==0&(l|0)==0)f=(r|0)<0?-0.0:0.0;else{d=o?0-d|0:d;g:do if((d|0)>0){h:do if((k|0)>0)while(1){if((l|0)>214748364|(l|0)==214748364&a>>>0>3435973835){k=d;break h}a=QA(a|0,l|0,10,0)|0;l=ba()|0;k=d+-1|0;if((d|0)>1)d=k;else{s=51;break g}}else while(1){m=OA(a|0,l|0,10,0)|0;n=ba()|0;k=QA(m|0,n|0,10,0)|0;k=LA(a|0,l|0,k|0,ba()|0)|0;if(!((k|0)==0&(ba()|0)==0)){k=d;break h}k=d+-1|0;if((d|0)>1){d=k;a=m;l=n}else{a=m;l=n;s=51;break g}}while(0);n=(r|0)<0;d=LA(0,0,a|0,l|0)|0;r=ba()|0;d=n?d:a;a=n?r:l;if((k|0)>307){if((k|0)>=342){f=+(d>>>0)+4294967296.0*+(a|0);if(o){f=f*0.0;break f}else{f=f*A;break f}}k=k+-308|0;j=(k&1|0)==0?1.0:10.0;k=k>>1;if(k){f=10.0;do{f=f*f;j=(k&1|0)==0?j:j*f;k=k>>1}while((k|0)!=0)}f=+(d>>>0)+4294967296.0*+(a|0);if(o){f=f/j/1.e+308;break f}else{f=j*f*1.e+308;break f}}}else{k=d;s=51}while(0);if((s|0)==51){r=(r|0)<0;d=LA(0,0,a|0,l|0)|0;s=ba()|0;d=r?d:a;a=r?s:l;if(!k){f=+(d>>>0)+4294967296.0*+(a|0);break}}f=(k&1|0)==0?1.0:10.0;k=k>>1;if(k){j=10.0;do{j=j*j;f=(k&1|0)==0?f:f*j;k=k>>1}while((k|0)!=0)}j=+(d>>>0)+4294967296.0*+(a|0);f=o?j/f:f*j}while(0);p[c>>3]=f;c=(q|0)!=0&((i|0)>0&(e|0)==(t|0))?g:0;return c|0}function kf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=e&255;if(e<<24>>24==1){g=0;o=1;i=a;e=d}else{e=3-i|0;a:do if((e|0)<(d|0))while(1){if(b[a+e>>0]|0){g=1;break a}e=e+2|0;if((e|0)>=(d|0)){g=0;break}}else g=0;while(0);o=2;i=a+(i&1)|0;e=e^1}n=a+e|0;b:do if(i>>>0>>0){while(1){e=b[i>>0]|0;if(!(b[5472+(e&255)>>0]&1))break;e=i+o|0;if(e>>>0>>0)i=e;else{m=0;break b}}switch(e<<24>>24){case 45:{m=1;e=i+o|0;break b}case 43:{m=0;e=i+o|0;break b}default:{m=0;e=i;break b}}}else{m=0;e=i}while(0);c:do if(e>>>0>>0){i=e;do{if((b[i>>0]|0)!=48)break c;i=i+o|0}while(i>>>0>>0)}else i=e;while(0);do if(i>>>0>>0){k=0;l=i;j=0;d=0;while(1){a=b[l>>0]|0;if((a+-48&255)>=10){a=k;k=1;break}d=QA(j|0,d|0,10,0)|0;j=a<<24>>24;d=KA(d|0,ba()|0,-48,-1)|0;j=KA(d|0,ba()|0,j|0,((j|0)<0)<<31>>31|0)|0;d=ba()|0;a=k+o|0;l=i+a|0;if(l>>>0>=n>>>0){k=0;break}else k=a}l=(m|0)!=0;if((d|0)>=0)if(l){p=26;break}else{l=0;break}else{j=l?0:-1;d=l?-2147483648:2147483647;break}}else if(!m){a=0;k=0;j=0;d=0;l=0}else{a=0;k=0;j=0;d=0;p=26}while(0);if((p|0)==26){j=LA(0,0,j|0,d|0)|0;d=ba()|0;l=1}m=c;f[m>>2]=j;f[m+4>>2]=d;if(!a){e=(e|0)==(i|0);if((g|0)!=0|e|k^1)g=g|e&1;else p=30}else if(!((g|0)!=0|k^1))p=30;d:do if((p|0)==30){e=a;while(1){if(!(b[5472+(h[i+e>>0]|0)>>0]&1)){g=1;break d}e=e+o|0;if((i+e|0)>>>0>=n>>>0){g=0;break}}}while(0);e=o*19|0;if(a>>>0>>0){c=g;return c|0}if(a>>>0>e>>>0){f[c>>2]=l?0:-1;f[c+4>>2]=l?-2147483648:2147483647;c=2;return c|0}e=0;do{d=i+(U(e,o)|0)|0;d=(b[d>>0]|0)-(b[41637+e>>0]|0)|0;e=e+1|0;a=(d|0)==0}while(e>>>0<18&a);if(a)e=(b[i+(o*18|0)>>0]|0)+-56|0;else e=d*10|0;if((e|0)<0){c=g;return c|0}else{f[c>>2]=l?0:-1;f[c+4>>2]=l?-2147483648:2147483647;return ((e|0)==0?(l?g:3):2)|0}return 0}function lf(a){a=a|0;var c=0,e=0,g=0,h=0,i=0;i=a+8|0;e=d[i>>1]|0;h=e&65535;if(!(h&18)){if((e&514)==514?(b[a+10>>0]|0)==1:0){i=f[a+16>>2]|0;return i|0}if(e&1){i=0;return i|0}i=Ic(a,1)|0;return i|0}else{g=a+12|0;c=f[g>>2]|0;do if(h&16384){h=(f[a>>2]|0)+c|0;if(!(df(a,(h|0)>1?h:1,1)|0)){_A((f[a+16>>2]|0)+(f[g>>2]|0)|0,0,f[a>>2]|0)|0;c=(f[g>>2]|0)+(f[a>>2]|0)|0;f[g>>2]=c;e=d[i>>1]&-16897;d[i>>1]=e;break}else{i=0;return i|0}}while(0);d[i>>1]=e|16;if(!c){i=0;return i|0}i=f[a+16>>2]|0;return i|0}return 0}function mf(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0;e=f[a>>2]|0;g=e+8|0;if(d[g>>1]&9216)cf(e);f[e>>2]=f[b>>2];f[e+4>>2]=f[b+4>>2];f[e+8>>2]=f[b+8>>2];f[e+12>>2]=f[b+12>>2];f[e+16>>2]=f[b+16>>2];c=d[g>>1]&-1025;d[g>>1]=c;c=c&65535;if(!(c&18))return;if(d[b+8>>1]&2048)return;a=(c|4096)&65535;d[g>>1]=a;do if(c&16384){a=e+12|0;c=(f[e>>2]|0)+(f[a>>2]|0)|0;if(!(df(e,(c|0)>1?c:1,1)|0)){_A((f[e+16>>2]|0)+(f[a>>2]|0)|0,0,f[e>>2]|0)|0;f[a>>2]=(f[a>>2]|0)+(f[e>>2]|0);a=d[g>>1]&-16897;d[g>>1]=a;break}else return}while(0);if(!((f[e+24>>2]|0)!=0?(f[e+16>>2]|0)==(f[e+20>>2]|0):0))h=10;do if((h|0)==10)if(!(gf(e)|0)){a=d[g>>1]|0;break}else return;while(0);d[g>>1]=a&-4097;return}function nf(a,b,c){a=a|0;b=b|0;c=c|0;var e=0.0,g=0.0,h=0,i=0,j=0,k=0,l=0;i=d[a+8>>1]|0;k=i&65535;j=d[b+8>>1]|0;l=j&65535;h=(j|i)&65535;if(h&1|0){b=(l&1)-(k&1)|0;return b|0}if(!(h&12)){if(h&2|0){if(!(k&2)){b=1;return b|0}if(!(l&2)){b=-1;return b|0}if(c|0){b=of(a,b,c,0)|0;return b|0}}b=pf(a,b)|0;return b|0}h=j&i&65535;if(h&4|0){k=a;a=f[k>>2]|0;k=f[k+4>>2]|0;l=b;b=f[l>>2]|0;l=f[l+4>>2]|0;return ((k|0)<(l|0)|(k|0)==(l|0)&a>>>0>>0?-1:((k|0)>(l|0)|(k|0)==(l|0)&a>>>0>b>>>0)&1)|0}if(h&8|0){g=+p[a>>3];e=+p[b>>3];if(ge&1;return b|0}if(k&4|0){if(!(l&8)){b=-1;return b|0}j=a;i=f[j>>2]|0;j=f[j+4>>2]|0;g=+p[b>>3];if(g<-9223372036854775808.0){b=1;return b|0}if(g>=9223372036854775808.0){b=-1;return b|0}h=~~g>>>0;c=+H(g)>=1.0?(g>0.0?~~+V(+G(g/4294967296.0),4294967295.0)>>>0:~~+T((g-+(~~g>>>0))/4294967296.0)>>>0):0;if((j|0)<(c|0)|(j|0)==(c|0)&i>>>0>>0){b=-1;return b|0}if((j|0)>(c|0)|(j|0)==(c|0)&i>>>0>h>>>0){b=1;return b|0}e=+(i>>>0)+4294967296.0*+(j|0);if(g>e){b=-1;return b|0}b=g>2]|0;j=f[j+4>>2]|0;g=+p[a>>3];if(g<-9223372036854775808.0){b=-1;return b|0}if(g>=9223372036854775808.0){b=1;return b|0}h=~~g>>>0;c=+H(g)>=1.0?(g>0.0?~~+V(+G(g/4294967296.0),4294967295.0)>>>0:~~+T((g-+(~~g>>>0))/4294967296.0)>>>0):0;if((j|0)<(c|0)|(j|0)==(c|0)&i>>>0>>0){b=1;return b|0}if((j|0)>(c|0)|(j|0)==(c|0)&i>>>0>h>>>0){b=-1;return b|0}e=+(i>>>0)+4294967296.0*+(j|0);if(g>e){b=1;return b|0}b=(g>31;return b|0}function of(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+80|0;n=p+40|0;o=p;i=e+4|0;h=b[i>>0]|0;if((b[a+10>>0]|0)==h<<24>>24){o=mb[f[e+12>>2]&127](f[e+8>>2]|0,f[a+12>>2]|0,f[a+16>>2]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;t=p;return o|0}m=f[a+32>>2]|0;j=n+8|0;f[n+32>>2]=m;k=n+24|0;f[k>>2]=0;l=o+8|0;d[l>>1]=1;f[o+32>>2]=m;m=o+24|0;f[m>>2]=0;f[n>>2]=f[a>>2];f[n+4>>2]=f[a+4>>2];f[n+8>>2]=f[a+8>>2];f[n+12>>2]=f[a+12>>2];f[n+16>>2]=f[a+16>>2];if(!(d[a+8>>1]&2048))d[j>>1]=d[j>>1]&-7169|4096;f[o>>2]=f[c>>2];f[o+4>>2]=f[c+4>>2];f[o+8>>2]=f[c+8>>2];f[o+12>>2]=f[c+12>>2];f[o+16>>2]=f[c+16>>2];if(!(d[c+8>>1]&2048))d[l>>1]=d[l>>1]&-7169|4096;a=d[j>>1]|0;if((a&514)==514?(b[n+10>>0]|0)==h<<24>>24:0)c=f[n+16>>2]|0;else if(!(a&1)){c=Ic(n,h)|0;h=b[i>>0]|0}else c=0;a=d[l>>1]|0;if((a&514)==514?(b[o+10>>0]|0)==h<<24>>24:0){a=f[o+16>>2]|0;h=17}else if(!(a&1)){a=Ic(o,h)|0;h=17}else h=18;if((h|0)==17)if((c|0)==0|(a|0)==0)h=18;else a=mb[f[e+12>>2]&127](f[e+8>>2]|0,f[n+12>>2]|0,c,f[o+12>>2]|0,a)|0;if((h|0)==18)if(!g)a=0;else{b[g>>0]=7;a=0}if(!((d[j>>1]&9216)==0&(f[k>>2]|0)==0))ff(n);if(!((d[l>>1]&9216)==0&(f[m>>2]|0)==0))ff(o);o=a;t=p;return o|0}function pf(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0;h=f[a+12>>2]|0;i=f[c+12>>2]|0;e=d[a+8>>1]|0;g=d[c+8>>1]|0;if(!((g|e)&16384)){c=Hz(f[a+16>>2]|0,f[c+16>>2]|0,(h|0)>(i|0)?i:h)|0;return ((c|0)==0?h-i|0:c)|0}e=e&16384;if((e&g)<<16>>16){i=(f[a>>2]|0)-(f[c>>2]|0)|0;return i|0}if(!(e<<16>>16)){g=f[a+16>>2]|0;a:do if((h|0)>0){e=0;while(1){if(b[g+e>>0]|0){e=1;break}e=e+1|0;if((e|0)>=(h|0))break a}return e|0}while(0);i=h-(f[c>>2]|0)|0;return i|0}else{g=f[c+16>>2]|0;b:do if((i|0)>0){e=0;while(1){if(b[g+e>>0]|0){e=-1;break}e=e+1|0;if((e|0)>=(i|0))break b}return e|0}while(0);i=(f[a>>2]|0)-i|0;return i|0}return 0}function qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=t;t=t+16|0;e=d;f[e>>2]=c;Bc(a,b,e);t=d;return}function rf(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!a){n=0;return n|0}c=b[a>>0]|0;do if(!(c<<24>>24)){c=41875;e=3}else{l=c&255;c=1232+l|0;if((l|32|0)==115){c=b[a+1>>0]|0;if(!(c<<24>>24)){c=41876;e=3;break}l=c&255;c=1232+l|0;if((l|32|0)==113){c=b[a+2>>0]|0;if(!(c<<24>>24)){c=41877;e=3;break}l=c&255;c=1232+l|0;if((l|32|0)==108){c=b[a+3>>0]|0;if(!(c<<24>>24)){c=41878;e=3;break}l=c&255;c=1232+l|0;if((l|32|0)==105){c=b[a+4>>0]|0;if(!(c<<24>>24)){c=41879;e=3;break}l=c&255;c=1232+l|0;if((l|32|0)==116){c=b[a+5>>0]|0;if(!(c<<24>>24)){c=41880;e=3;break}l=c&255;c=1232+l|0;if((l|32|0)==101){c=b[a+6>>0]|0;if(!(c<<24>>24)){c=41881;e=3;break}if(c<<24>>24==95){j=a+7|0;break}else{e=95;c=1232+(c&255)|0}}else e=101}else e=116}else e=105}else e=108}else e=113}else e=115;d=h[c>>0]|0;c=e;e=7}while(0);if((e|0)==3){d=0;c=b[1232+(h[c>>0]|0)>>0]|0;e=7}if((e|0)==7)j=(d|0)==(c&255|0)?a+7|0:a;k=(wz(j)|0)&1073741823;if(!k){n=0;return n|0}g=0;while(1){l=f[5872+(g<<2)>>2]|0;d=j;i=l;e=k;while(1){c=b[d>>0]|0;if(!(c<<24>>24)){e=12;break}c=b[1232+(c&255)>>0]|0;a=b[1232+(h[i>>0]|0)>>0]|0;if(c<<24>>24!=a<<24>>24){e=14;break}if((e|0)>1){d=d+1|0;i=i+1|0;e=e+-1|0}else{e=17;break}}if((e|0)==12){m=0;n=b[1232+(h[i>>0]|0)>>0]|0;e=16}else if((e|0)==14){m=c&255;n=a;e=16}if((e|0)==16?(e=0,(m|0)==(n&255|0)):0)e=17;if((e|0)==17?(0,(b[5472+(h[l+k>>0]|0)>>0]&70)==0):0){c=1;e=19;break}g=g+1|0;if(g>>>0>=10){c=0;e=19;break}}if((e|0)==19)return c|0;return 0}function sf(a,c,e){a=a|0;c=c|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;r=t;t=t+64|0;o=r+56|0;q=r+48|0;n=r;if(Af(a,c,e,n)|0){t=r;return}k=n+40|0;do if(!(b[k>>0]|0)){m=n+42|0;if(b[m>>0]|0){c=f[n+8>>2]|0;if((c+4713|0)>>>0<=14712){h=f[n+12>>2]|0;i=f[n+16>>2]|0;j=c;l=6}}else{h=1;i=1;j=2e3;l=6}if((l|0)==6?(b[n+41>>0]|0)==0:0){c=(h|0)<3;e=j+(c<<31>>31)|0;g=(+(i+2+((e|0)/-100|0)+((e|0)/400|0)+((((c?h+12|0:h)*306001|0)+306001|0)/1e4|0)+(((e*36525|0)+172251900|0)/100|0)|0)+-1524.5)*864.0e5;e=~~g>>>0;c=+H(g)>=1.0?(g>0.0?~~+V(+G(g/4294967296.0),4294967295.0)>>>0:~~+T((g-+(~~g>>>0))/4294967296.0)>>>0):0;i=n;f[i>>2]=e;f[i+4>>2]=c;b[k>>0]=1;i=n+43|0;if(!(b[i>>0]|0))break;h=U(f[n+20>>2]|0,36e5)|0;h=((f[n+24>>2]|0)*6e4|0)+h|0;g=+p[n+32>>3]*1.0e3;e=KA(~~g>>>0|0,(+H(g)>=1.0?(g>0.0?~~+V(+G(g/4294967296.0),4294967295.0)>>>0:~~+T((g-+(~~g>>>0))/4294967296.0)>>>0):0)|0,e|0,c|0)|0;e=KA(e|0,ba()|0,h|0,((h|0)<0)<<31>>31|0)|0;c=ba()|0;h=n;f[h>>2]=e;f[h+4>>2]=c;h=n+44|0;if(!(b[h>>0]|0))break;l=(f[n+28>>2]|0)*6e4|0;e=LA(e|0,c|0,l|0,((l|0)<0)<<31>>31|0)|0;c=ba()|0;f[n>>2]=e;f[n+4>>2]=c;b[m>>0]=0;b[i>>0]=0;b[h>>0]=0;break}c=n;e=c+48|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(e|0));b[n+46>>0]=1;e=0;c=0}else{c=n;e=f[c>>2]|0;c=f[c+4>>2]|0}while(0);g=(+(e>>>0)+4294967296.0*+(c|0))/864.0e5;c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else cf(c);p[o>>3]=g;p[q>>3]=+p[o>>3];if(!(+p[o>>3]==+p[q>>3])){t=r;return}p[c>>3]=g;d[e>>1]=8;t=r;return}function tf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=t;t=t+176|0;j=k+152|0;h=k+104|0;i=k;if(Af(a,c,d,h)|0){t=k;return}g=h+42|0;a:do if(!(b[g>>0]|0)){do if(b[h+40>>0]|0){d=h;c=f[d>>2]|0;d=f[d+4>>2]|0;if(d>>>0>108096|(d|0)==108096&c>>>0>275971583){c=h;d=c+48|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));b[h+46>>0]=1;d=0;e=0;c=0;break a}else{d=KA(c|0,d|0,432e5,0)|0;d=OA(d|0,ba()|0,864e5,0)|0;ba()|0;c=~~((+(d|0)+-1867216.25)/36524.25);c=d+1525+c+((c|0)/-4|0)|0;d=~~((+(c|0)+-122.1)/365.25);c=c-((((d&32767)*36525|0)>>>0)/100|0)|0;e=~~(+(c|0)/30.6001);c=c-~~(+(e|0)*30.6001)|0;f[h+16>>2]=c;e=((e|0)<14?-1:-13)+e|0;f[h+12>>2]=e;d=((e|0)>2?-4716:-4715)+d|0;f[h+8>>2]=d;break}}else{f[h+8>>2]=2e3;f[h+12>>2]=1;f[h+16>>2]=1;c=1;e=1;d=2e3}while(0);b[g>>0]=1}else{d=f[h+8>>2]|0;e=f[h+12>>2]|0;c=f[h+16>>2]|0}while(0);f[j>>2]=d;f[j+4>>2]=e;f[j+8>>2]=c;vd(100,i,42246,j)|0;if(($e(f[a>>2]|0,i,-1,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}t=k;return}function uf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+176|0;n=o+152|0;l=o+104|0;m=o;if(Af(a,c,d,l)|0){t=o;return}k=l+43|0;if(!(b[k>>0]|0)){c=l+40|0;do if(!(b[c>>0]|0)){if(b[l+42>>0]|0){d=f[l+8>>2]|0;if((d+4713|0)>>>0<=14712){g=f[l+12>>2]|0;h=f[l+16>>2]|0;i=d;j=8}}else{g=1;h=1;i=2e3;j=8}if((j|0)==8?(b[l+41>>0]|0)==0:0){d=(g|0)<3;j=i+(d<<31>>31)|0;e=(+(h+2+((j|0)/-100|0)+((j|0)/400|0)+((((d?g+12|0:g)*306001|0)+306001|0)/1e4|0)+(((j*36525|0)+172251900|0)/100|0)|0)+-1524.5)*864.0e5;j=~~e>>>0;d=+H(e)>=1.0?(e>0.0?~~+V(+G(e/4294967296.0),4294967295.0)>>>0:~~+T((e-+(~~e>>>0))/4294967296.0)>>>0):0;i=l;f[i>>2]=j;f[i+4>>2]=d;b[c>>0]=1;c=j;break}c=l;d=c+48|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));b[l+46>>0]=1;c=0;d=0}else{d=l;c=f[d>>2]|0;d=f[d+4>>2]|0}while(0);i=KA(c|0,d|0,432e5,0)|0;i=RA(i|0,ba()|0,864e5,0)|0;ba()|0;e=+(i|0)/1.0e3;i=~~e;d=(i|0)/3600|0;f[l+20>>2]=d;j=(U(d,-3600)|0)+i|0;c=(j|0)/60|0;f[l+24>>2]=c;e=e-+(i|0)+ +((U(c,-60)|0)+j|0);p[l+32>>3]=e;b[l+41>>0]=0;b[k>>0]=1}else{e=+p[l+32>>3];d=f[l+20>>2]|0;c=f[l+24>>2]|0}f[n>>2]=d;f[n+4>>2]=c;f[n+8>>2]=~~e;vd(100,m,42231,n)|0;if(($e(f[a>>2]|0,m,-1,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}t=o;return}function vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=t;t=t+176|0;g=h+152|0;d=h+104|0;e=h;if(Af(a,b,c,d)|0){t=h;return}Bf(d);k=f[d+12>>2]|0;j=f[d+16>>2]|0;i=f[d+20>>2]|0;b=f[d+24>>2]|0;c=~~+p[d+32>>3];f[g>>2]=f[d+8>>2];f[g+4>>2]=k;f[g+8>>2]=j;f[g+12>>2]=i;f[g+16>>2]=b;f[g+20>>2]=c;vd(100,e,42201,g)|0;if(($e(f[a>>2]|0,e,-1,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}t=h;return}function wf(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0.0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0.0;$=t;t=t+240|0;Y=$+232|0;X=$+224|0;W=$+216|0;S=$+208|0;R=$+200|0;Q=$+192|0;P=$+184|0;_=$+176|0;Z=$+168|0;O=$+160|0;N=$+152|0;L=$+104|0;M=$;if(!c){t=$;return}g=f[e>>2]|0;if(!g){t=$;return}h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0)K=f[g+16>>2]|0;else J=6;do if((J|0)==6)if(!(h&1)){K=Ic(g,1)|0;break}else{t=$;return}while(0);if(!K){t=$;return}if(Af(a,c+-1|0,e+4|0,L)|0){t=$;return}g=f[a>>2]|0;i=f[g+32>>2]|0;h=0;e=1;c=0;a:while(1){b:do switch(b[K+h>>0]|0){case 0:break a;case 37:{h=h+1|0;switch(b[K+h>>0]|0){case 37:case 119:break b;case 87:case 83:case 77:case 109:case 72:case 100:{e=KA(e|0,c|0,1,0)|0;c=ba()|0;break b}case 102:{e=KA(e|0,c|0,8,0)|0;c=ba()|0;break b}case 106:{e=KA(e|0,c|0,3,0)|0;c=ba()|0;break b}case 89:{e=KA(e|0,c|0,8,0)|0;c=ba()|0;break b}case 74:case 115:{e=KA(e|0,c|0,50,0)|0;c=ba()|0;break b}default:{J=85;break a}}}default:{}}while(0);e=KA(e|0,c|0,1,0)|0;h=h+1|0;c=ba()|0}if((J|0)==85){t=$;return}do if(c>>>0<0|(c|0)==0&e>>>0<100)g=M;else{I=f[i+108>>2]|0;F=((I|0)<0)<<31>>31;if(c>>>0>F>>>0|(c|0)==(F|0)&e>>>0>I>>>0){f[a+20>>2]=18;$e(g,41612,-1,1,0)|0;t=$;return}c=UA(0,e|0,32)|0;e=ba()|0;c:do if(f[i+272>>2]|0){if(!(b[i+81>>0]|0))J=32}else{do if(!(e>>>0>0|((e|0)==0?c>>>0>(j[i+276>>1]|0)>>>0:0))){h=i+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];J=i+284|0;f[J>>2]=(f[J>>2]|0)+1;J=33;break c}h=i+296|0;g=f[h>>2]|0;if(!g){g=i+292|0;break}else{f[h>>2]=f[g>>2];J=i+284|0;f[J>>2]=(f[J>>2]|0)+1;J=33;break c}}else g=i+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;J=32}while(0);if((J|0)==32){g=Dc(i,c,e)|0;J=33}if((J|0)==33){if(g|0)break;g=f[a>>2]|0}h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[a+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if(b[h>>0]|0){t=$;return}if(b[g+82>>0]|0){t=$;return}b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;a=g+272|0;f[a>>2]=(f[a>>2]|0)+1;t=$;return}while(0);e=L+40|0;I=L+42|0;do if(!(b[e>>0]|0)){if(b[I>>0]|0){h=f[L+8>>2]|0;if((h+4713|0)>>>0<=14712){k=f[L+12>>2]|0;l=f[L+16>>2]|0;m=h;J=46}}else{k=1;l=1;m=2e3;J=46}if((J|0)==46?(b[L+41>>0]|0)==0:0){c=(k|0)<3;h=m+(c<<31>>31)|0;n=(+(l+2+((h|0)/-100|0)+((h|0)/400|0)+((((c?k+12|0:k)*306001|0)+306001|0)/1e4|0)+(((h*36525|0)+172251900|0)/100|0)|0)+-1524.5)*864.0e5;h=~~n>>>0;c=+H(n)>=1.0?(n>0.0?~~+V(+G(n/4294967296.0),4294967295.0)>>>0:~~+T((n-+(~~n>>>0))/4294967296.0)>>>0):0;i=L;f[i>>2]=h;f[i+4>>2]=c;b[e>>0]=1;i=L+43|0;if(!(b[i>>0]|0))break;e=U(f[L+20>>2]|0,36e5)|0;e=((f[L+24>>2]|0)*6e4|0)+e|0;n=+p[L+32>>3]*1.0e3;h=KA(~~n>>>0|0,(+H(n)>=1.0?(n>0.0?~~+V(+G(n/4294967296.0),4294967295.0)>>>0:~~+T((n-+(~~n>>>0))/4294967296.0)>>>0):0)|0,h|0,c|0)|0;h=KA(h|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;e=L;f[e>>2]=h;f[e+4>>2]=c;e=L+44|0;if(!(b[e>>0]|0))break;D=(f[L+28>>2]|0)*6e4|0;D=LA(h|0,c|0,D|0,((D|0)<0)<<31>>31|0)|0;E=ba()|0;F=L;f[F>>2]=D;f[F+4>>2]=E;b[I>>0]=0;b[i>>0]=0;b[e>>0]=0;break}h=L;c=h+48|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));b[L+46>>0]=1}while(0);Bf(L);C=L+16|0;D=L+32|0;E=L+20|0;B=L+8|0;w=L+24|0;x=L+28|0;y=L+41|0;z=L+43|0;A=L+44|0;F=L+12|0;v=0;h=0;d:while(1){c=b[K+h>>0]|0;e:do switch(c<<24>>24){case 0:break d;case 37:{u=h+1|0;s=b[K+u>>0]|0;do switch(s<<24>>24|0){case 100:{f[N>>2]=f[C>>2];vd(3,g+v|0,41965,N)|0;c=v+2|0;h=u;break e}case 102:{n=+p[D>>3];h=g+v|0;p[O>>3]=n>59.999?59.999:n;vd(7,h,41970,O)|0;if(!h)h=0;else h=(wz(h)|0)&1073741823;c=h+v|0;h=u;break e}case 72:{f[Z>>2]=f[E>>2];vd(3,g+v|0,41965,Z)|0;c=v+2|0;h=u;break e}case 106:case 87:{r=L;q=f[r>>2]|0;r=f[r+4>>2]|0;h=f[B>>2]|0;e=f[E>>2]|0;k=f[w>>2]|0;l=f[x>>2]|0;n=+p[D>>3];c=b[y>>0]|0;m=b[z>>0]|0;o=b[A>>0]|0;if(b[I>>0]|0)if((h+4713|0)>>>0>14712){i=0;h=0}else J=62;else{h=2e3;J=62}if((J|0)==62){J=0;if(!(c<<24>>24)){i=h+-1|0;aa=(+(((i|0)/-100|0)+431+((i|0)/400|0)+(((i*36525|0)+172251900|0)/100|0)|0)+-1524.5)*864.0e5;i=~~aa>>>0;h=+H(aa)>=1.0?(aa>0.0?~~+V(+G(aa/4294967296.0),4294967295.0)>>>0:~~+T((aa-+(~~aa>>>0))/4294967296.0)>>>0):0;if(m<<24>>24){k=(k*6e4|0)+(U(e,36e5)|0)|0;aa=n*1.0e3;e=+H(aa)>=1.0?(aa>0.0?~~+V(+G(aa/4294967296.0),4294967295.0)>>>0:~~+T((aa-+(~~aa>>>0))/4294967296.0)>>>0):0;m=o<<24>>24==0;l=l*6e4|0;l=LA(0,0,l|0,((l|0)<0)<<31>>31|0)|0;o=ba()|0;k=KA(~~aa>>>0|0,e|0,k|0,((k|0)<0)<<31>>31|0)|0;o=KA(k|0,ba()|0,(m?0:l)|0,(m?0:o)|0)|0;i=KA(o|0,ba()|0,i|0,h|0)|0;h=ba()|0}}else{i=0;h=0}}c=KA(q|0,r|0,432e5,0)|0;e=ba()|0;h=OA(LA(c|0,e|0,i|0,h|0)|0,ba()|0,864e5,0)|0;ba()|0;if(s<<24>>24==87){c=OA(c|0,e|0,864e5,0)|0;c=RA(c|0,ba()|0,7,0)|0;ba()|0;f[_>>2]=(7-c+h|0)/7|0;vd(3,g+v|0,41965,_)|0;c=v+2|0;h=u;break e}else{f[P>>2]=h+1;vd(4,g+v|0,41977,P)|0;c=v+3|0;h=u;break e}}case 74:{h=g+v|0;s=L;p[Q>>3]=(+((f[s>>2]|0)>>>0)+4294967296.0*+(f[s+4>>2]|0))/864.0e5;vd(20,h,41982,Q)|0;if(!h)h=0;else h=(wz(h)|0)&1073741823;c=h+v|0;h=u;break e}case 109:{f[R>>2]=f[F>>2];vd(3,g+v|0,41965,R)|0;c=v+2|0;h=u;break e}case 77:{f[S>>2]=f[w>>2];vd(3,g+v|0,41965,S)|0;c=v+2|0;h=u;break e}case 115:{h=g+v|0;q=L;q=KA(OA(f[q>>2]|0,f[q+4>>2]|0,1e3,0)|0,ba()|0,-413362496,-50)|0;r=ba()|0;s=W;f[s>>2]=q;f[s+4>>2]=r;vd(30,h,41988,W)|0;if(!h)h=0;else h=(wz(h)|0)&1073741823;c=h+v|0;h=u;break e}case 83:{f[X>>2]=~~+p[D>>3];vd(3,g+v|0,41965,X)|0;c=v+2|0;h=u;break e}case 119:{c=L;c=RA(OA(KA(f[c>>2]|0,f[c+4>>2]|0,1296e5,0)|0,ba()|0,864e5,0)|0,ba()|0,7,0)|0;ba()|0;b[g+v>>0]=c+48;c=v+1|0;h=u;break e}case 89:{h=g+v|0;f[Y>>2]=f[B>>2];vd(5,h,41993,Y)|0;if(!h)h=0;else h=(wz(h)|0)&1073741823;c=h+v|0;h=u;break e}default:{b[g+v>>0]=37;c=v+1|0;h=u;break e}}while(0)}default:{b[g+v>>0]=c;c=v+1|0}}while(0);v=c;h=h+1|0}b[g+v>>0]=0;if(($e(f[a>>2]|0,g,-1,1,(g|0)==(M|0)?-1:139)|0)!=18){t=$;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=$;return}function xf(a,b,c){a=a|0;b=b|0;c=c|0;uf(a,0,0);return}function yf(a,b,c){a=a|0;b=b|0;c=c|0;vf(a,0,0);return}function zf(a,b,c){a=a|0;b=b|0;c=c|0;tf(a,0,0);return}function Af(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,q=0,r=0,s=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=t;t=t+96|0;o=za+72|0;ya=za+64|0;wa=za+56|0;xa=za+8|0;q=za;k=g;r=k+48|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(r|0));if(!c){k=(f[a+12>>2]|0)+56|0;i=k;j=f[i>>2]|0;i=f[i+4>>2]|0;do if((j|0)==0&(i|0)==0){i=f[f[(f[a>>2]|0)+32>>2]>>2]|0;if((f[i>>2]|0)>1?(m=f[i+72>>2]|0,(m|0)!=0):0)i=jb[m&255](i,k)|0;else{i=jb[f[i+64>>2]&255](i,ya)|0;s=+p[ya>>3]*864.0e5;a=+H(s)>=1.0?(s>0.0?~~+V(+G(s/4294967296.0),4294967295.0)>>>0:~~+T((s-+(~~s>>>0))/4294967296.0)>>>0):0;ya=k;f[ya>>2]=~~s>>>0;f[ya+4>>2]=a}if(!i){i=k;j=f[i>>2]|0;i=f[i+4>>2]|0;break}ya=k;f[ya>>2]=0;f[ya+4>>2]=0;f[g>>2]=0;f[g+4>>2]=0;g=1;t=za;return g|0}while(0);ya=g;f[ya>>2]=j;f[ya+4>>2]=i;if(!((i|0)>0|(i|0)==0&j>>>0>0)){g=1;t=za;return g|0}b[g+40>>0]=1;g=0;t=za;return g|0}j=f[e>>2]|0;i=d[j+8>>1]|0;if(((h[5792+(i&31)>>0]|0)+-1|0)>>>0<2){i=i&65535;do if(!(i&8)){if(i&4|0){aa=j;l=+((f[aa>>2]|0)>>>0)+4294967296.0*+(f[aa+4>>2]|0);break}if(!(i&18))l=0.0;else l=+Hc(b[j+10>>0]|0,f[j+12>>2]|0,f[j+16>>2]|0)}else l=+p[j>>3];while(0);p[g+32>>3]=l;b[g+41>>0]=1;if(l>=0.0&l<5373484.5){s=l*864.0e5+.5;$=+H(s)>=1.0?(s>0.0?~~+V(+G(s/4294967296.0),4294967295.0)>>>0:~~+T((s-+(~~s>>>0))/4294967296.0)>>>0):0;aa=g;f[aa>>2]=~~s>>>0;f[aa+4>>2]=$;b[g+40>>0]=1}}else{if(!j){g=1;t=za;return g|0}if((i&514)==514?(b[j+10>>0]|0)==1:0)m=f[j+16>>2]|0;else u=25;do if((u|0)==25)if(!(i&1)){m=Ic(j,1)|0;break}else{g=1;t=za;return g|0}while(0);if(!m){g=1;t=za;return g|0}j=(b[m>>0]|0)==45;i=j?m+1|0:m;f[o>>2]=ya;f[o+4>>2]=wa;f[o+8>>2]=xa;a:do if((Df(i,41998,o)|0)==3){i=i+10|0;while(1){aa=b[i>>0]|0;if(aa<<24>>24==84?1:(b[5472+(aa&255)>>0]&1)!=0)i=i+1|0;else break}do if(Ef(i,g)|0)if(!(b[i>>0]|0)){b[g+43>>0]=0;break}else{u=39;break a}while(0);b[g+40>>0]=0;b[g+42>>0]=1;aa=f[ya>>2]|0;f[g+8>>2]=j?0-aa|0:aa;f[g+12>>2]=f[wa>>2];f[g+16>>2]=f[xa>>2];if(b[g+44>>0]|0)Cf(g)}else u=39;while(0);b:do if((u|0)==39?Ef(m,g)|0:0){aa=b[m>>0]|0;i=(h[1232+(aa&255)>>0]|0)+-110|0;if(!(aa<<24>>24==0|(i|0)!=0)){j=42010;k=m;do{k=k+1|0;j=j+1|0;aa=b[k>>0]|0;i=(h[1232+(aa&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(aa<<24>>24==0|(i|0)!=0))}c:do if(!i){i=f[a+12>>2]|0;if((b[(f[i+88>>2]|0)+((f[a+16>>2]|0)*20|0)>>0]|0)==64){f[a+20>>2]=1;$e(f[a>>2]|0,42014,-1,1,-1)|0;u=56;break}k=i+56|0;i=k;j=f[i>>2]|0;i=f[i+4>>2]|0;do if((j|0)==0&(i|0)==0){i=f[f[(f[a>>2]|0)+32>>2]>>2]|0;if((f[i>>2]|0)>1?(n=f[i+72>>2]|0,(n|0)!=0):0)i=jb[n&255](i,k)|0;else{i=jb[f[i+64>>2]&255](i,o)|0;s=+p[o>>3]*864.0e5;$=+H(s)>=1.0?(s>0.0?~~+V(+G(s/4294967296.0),4294967295.0)>>>0:~~+T((s-+(~~s>>>0))/4294967296.0)>>>0):0;aa=k;f[aa>>2]=~~s>>>0;f[aa+4>>2]=$}if(!i){i=k;j=f[i>>2]|0;i=f[i+4>>2]|0;break}else{aa=k;f[aa>>2]=0;f[aa+4>>2]=0;aa=g;f[aa>>2]=0;f[aa+4>>2]=0;break c}}while(0);aa=g;f[aa>>2]=j;f[aa+4>>2]=i;if((i|0)>0|(i|0)==0&j>>>0>0){b[g+40>>0]=1;break b}}else u=56;while(0);if((u|0)==56?jf(m,q,(wz(m)|0)&1073741823,1)|0:0){l=+p[q>>3];p[g+32>>3]=l;b[g+41>>0]=1;if(!(l>=0.0&l<5373484.5))break;s=l*864.0e5+.5;$=+H(s)>=1.0?(s>0.0?~~+V(+G(s/4294967296.0),4294967295.0)>>>0:~~+T((s-+(~~s>>>0))/4294967296.0)>>>0):0;aa=g;f[aa>>2]=~~s>>>0;f[aa+4>>2]=$;b[g+40>>0]=1;break}g=1;t=za;return g|0}while(0)}d:do if((c|0)>1){w=a+12|0;x=a+16|0;y=g+41|0;z=g+40|0;A=g+42|0;B=a+20|0;C=g+43|0;D=g+44|0;E=g+32|0;F=g+24|0;I=g+20|0;J=g+45|0;K=g+8|0;L=g+12|0;M=g+16|0;i=g+46|0;N=xa+40|0;O=xa+42|0;P=xa+41|0;Q=xa+46|0;R=xa+8|0;S=xa+12|0;W=xa+16|0;X=xa+43|0;Y=xa+20|0;Z=xa+24|0;_=xa+32|0;$=xa+44|0;aa=xa+28|0;v=1;e:while(1){k=e+(v<<2)|0;m=f[k>>2]|0;j=d[m+8>>1]|0;if((j&514)==514?(b[m+10>>0]|0)==1:0){q=f[m+16>>2]|0;j=m}else if(!(j&1)){q=Ic(m,1)|0;j=f[k>>2]|0}else{q=0;j=m}k=d[j+8>>1]|0;if(!(k&2)){if(!(k&17))u=72}else if((b[j+10>>0]|0)!=1&(k&17)==0)u=72;if((u|0)==72){u=0;_e(j,1)|0}if(!q){i=1;u=197;break}f[ya>>2]=1;j=b[q>>0]|0;k=j&255;f:do switch(b[1232+k>>0]|0){case 108:{if(!(j<<24>>24==0|(k|32|0)!=108)){m=42081;j=q;do{j=j+1|0;m=m+1|0;u=b[j>>0]|0;k=(h[1232+(u&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(k|0)!=0));if(k|0){u=193;break f}}if((b[(f[(f[w>>2]|0)+88>>2]|0)+((f[x>>2]|0)*20|0)>>0]|0)==64){f[B>>2]=1;$e(f[a>>2]|0,42014,-1,1,-1)|0;u=193;break f}else{Cf(g);r=Ff(g,a,ya)|0;q=ba()|0;u=g;q=KA(f[u>>2]|0,f[u+4>>2]|0,r|0,q|0)|0;r=ba()|0;u=g;f[u>>2]=q;f[u+4>>2]=r;b[A>>0]=0;b[C>>0]=0;b[D>>0]=0;u=193;break f}}case 117:{n=j<<24>>24==0;if(!(n|(k|32|0)!=117)){j=42091;k=q;do{k=k+1|0;j=j+1|0;r=b[k>>0]|0;m=(h[1232+(r&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(r<<24>>24==0|(m|0)!=0));if(!m)u=87}else u=87;if((u|0)==87?(0,b[y>>0]|0):0){l=+p[E>>3]*1.0e3+21086676.0e7;p[wa>>3]=l;if(!(l>=0.0&l<4642690608.0e5)){u=193;break f}b[A>>0]=0;b[C>>0]=0;b[D>>0]=0;r=+H(l)>=1.0?(l>0.0?~~+V(+G(l/4294967296.0),4294967295.0)>>>0:~~+T((l-+(~~l>>>0))/4294967296.0)>>>0):0;u=g;f[u>>2]=~~l>>>0;f[u+4>>2]=r;b[z>>0]=1;b[y>>0]=0;f[ya>>2]=0;u=192;break f}if(!n){m=42101;j=q;do{j=j+1|0;m=m+1|0;u=b[j>>0]|0;k=(h[1232+(u&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(k|0)!=0));if(k|0){u=193;break f}}if((b[(f[(f[w>>2]|0)+88>>2]|0)+((f[x>>2]|0)*20|0)>>0]|0)==64){f[B>>2]=1;$e(f[a>>2]|0,42014,-1,1,-1)|0;u=193;break f}if(b[J>>0]|0){f[ya>>2]=0;u=192;break f}Cf(g);j=Ff(g,a,ya)|0;k=ba()|0;if(!(f[ya>>2]|0)){q=g;q=LA(f[q>>2]|0,f[q+4>>2]|0,j|0,k|0)|0;r=ba()|0;u=g;f[u>>2]=q;f[u+4>>2]=r;b[A>>0]=0;b[C>>0]=0;b[D>>0]=0;u=Ff(g,a,ya)|0;u=LA(j|0,k|0,u|0,ba()|0)|0;r=ba()|0;q=g;q=KA(u|0,r|0,f[q>>2]|0,f[q+4>>2]|0)|0;r=ba()|0;u=g;f[u>>2]=q;f[u+4>>2]=r}b[J>>0]=1;u=193;break}case 119:{g:do if(!(j<<24>>24)){j=42105;u=105}else{n=q;j=42105;k=8;o=7;while(1){n=n+1|0;if(k>>>0<=1)break g;j=j+1|0;k=b[n>>0]|0;if(!(k<<24>>24)){u=105;break g}k=b[1232+(k&255)>>0]|0;m=b[1232+(h[j>>0]|0)>>0]|0;if(k<<24>>24!=m<<24>>24)break;else{k=o;o=o+-1|0}}ta=k&255;ca=m;u=108}while(0);if((u|0)==105){ta=0;ca=b[1232+(h[j>>0]|0)>>0]|0;u=108}if((u|0)==108?(0,(ta|0)!=(ca&255|0)):0){u=193;break f}u=q+8|0;if((jf(u,wa,(wz(u)|0)&1073741823,1)|0)!=0?(s=+p[wa>>3],va=~~s,s<7.0&((va|0)>-1&s==+(va|0))):0){Bf(g);b[D>>0]=0;b[z>>0]=0;Cf(g);q=g;r=f[q>>2]|0;q=f[q+4>>2]|0;m=KA(r|0,q|0,1296e5,0)|0;m=OA(m|0,ba()|0,864e5,0)|0;m=RA(m|0,ba()|0,7,0)|0;u=ba()|0;j=((va|0)<0)<<31>>31;n=(u|0)>(j|0)|(u|0)==(j|0)&m>>>0>va>>>0;k=KA(m|0,u|0,-7,-1)|0;o=ba()|0;u=LA(va|0,j|0,(n?k:m)|0,(n?o:u)|0)|0;u=QA(u|0,ba()|0,864e5,0)|0;q=KA(u|0,ba()|0,r|0,q|0)|0;r=ba()|0;u=g;f[u>>2]=q;f[u+4>>2]=r;b[A>>0]=0;b[C>>0]=0;b[D>>0]=0;f[ya>>2]=0;u=192}else u=193;break}case 115:{h:do if(!(j<<24>>24)){j=42114;u=116}else{n=q;j=42114;k=9;o=8;while(1){n=n+1|0;if(k>>>0<=1)break h;j=j+1|0;k=b[n>>0]|0;if(!(k<<24>>24)){u=116;break h}k=b[1232+(k&255)>>0]|0;m=b[1232+(h[j>>0]|0)>>0]|0;if(k<<24>>24!=m<<24>>24)break;else{k=o;o=o+-1|0}}ua=k&255;da=m;u=119}while(0);if((u|0)==116){ua=0;da=b[1232+(h[j>>0]|0)>>0]|0;u=119}if((u|0)==119?(u=0,(ua|0)!=(da&255|0)):0){u=193;break f}k=b[A>>0]|0;do if(b[z>>0]|0){j=q+9|0;if(!(k<<24>>24)){m=g;k=f[m>>2]|0;m=f[m+4>>2]|0;if(m>>>0>108096|(m|0)==108096&k>>>0>275971583){k=g;r=k+48|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(r|0));b[i>>0]=1;k=j;break}else{u=KA(k|0,m|0,432e5,0)|0;u=OA(u|0,ba()|0,864e5,0)|0;ba()|0;q=~~((+(u|0)+-1867216.25)/36524.25);q=u+1525+q+((q|0)/-4|0)|0;u=~~((+(q|0)+-122.1)/365.25);q=q-((((u&32767)*36525|0)>>>0)/100|0)|0;r=~~(+(q|0)/30.6001);f[M>>2]=q-~~(+(r|0)*30.6001);r=((r|0)<14?-1:-13)+r|0;f[L>>2]=r;f[K>>2]=((r|0)>2?-4716:-4715)+u;u=129;break}}else k=j}else{if(k<<24>>24){k=q+9|0;break}if(!(b[C>>0]|0)){u=193;break f}f[K>>2]=2e3;f[L>>2]=1;f[M>>2]=1;j=q+9|0;u=129}while(0);if((u|0)==129){b[A>>0]=1;k=j}b[C>>0]=1;f[F>>2]=0;f[I>>2]=0;p[E>>3]=0.0;b[y>>0]=0;b[D>>0]=0;b[z>>0]=0;q=b[k>>0]|0;o=h[1232+(q&255)>>0]|0;j=o+-109|0;q=q<<24>>24==0;if(!(q|(j|0)!=0)){m=42124;n=k;do{n=n+1|0;m=m+1|0;u=b[n>>0]|0;j=(h[1232+(u&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(j|0)!=0))}if(!j){f[M>>2]=1;f[ya>>2]=0;u=192;break f}j=o+-121|0;if(!(q|(j|0)!=0)){m=42130;n=k;do{n=n+1|0;m=m+1|0;u=b[n>>0]|0;j=(h[1232+(u&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(j|0)!=0))}if(!j){f[L>>2]=1;f[M>>2]=1;f[ya>>2]=0;u=192;break f}j=o+-100|0;if(!(q|(j|0)!=0)){m=42135;do{k=k+1|0;m=m+1|0;u=b[k>>0]|0;j=(h[1232+(u&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(j|0)!=0))}if(!j){f[ya>>2]=0;u=192}else u=193;break}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{k=1;i:while(1){j=b[q+k>>0]|0;switch(j<<24>>24){case 58:case 0:break i;default:{}}if(b[5472+(j&255)>>0]&1)break;k=k+1|0}j=q+k|0;if(!(jf(q,wa,k,1)|0)){u=149;break e}k=b[j>>0]|0;if(k<<24>>24==58){j=((h[q>>0]|0)+-48|0)>>>0<10?q:q+1|0;k=xa;r=k+48|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(r|0));if(!(Ef(j,xa)|0)){do if(!(b[N>>0]|0)){if(b[O>>0]|0){j=f[R>>2]|0;if((j+4713|0)>>>0<=14712){ea=f[S>>2]|0;fa=f[W>>2]|0;ga=j;u=156}}else{ea=1;fa=1;ga=2e3;u=156}if((u|0)==156?(0,(b[P>>0]|0)==0):0){k=(ea|0)<3;j=ga+(k<<31>>31)|0;s=(+(fa+2+((j|0)/-100|0)+((j|0)/400|0)+((((k?ea+12|0:ea)*306001|0)+306001|0)/1e4|0)+(((j*36525|0)+172251900|0)/100|0)|0)+-1524.5)*864.0e5;j=~~s>>>0;k=+H(s)>=1.0?(s>0.0?~~+V(+G(s/4294967296.0),4294967295.0)>>>0:~~+T((s-+(~~s>>>0))/4294967296.0)>>>0):0;u=xa;f[u>>2]=j;f[u+4>>2]=k;b[N>>0]=1;if(!(b[X>>0]|0))break;u=U(f[Y>>2]|0,36e5)|0;u=((f[Z>>2]|0)*6e4|0)+u|0;s=+p[_>>3]*1.0e3;j=KA(~~s>>>0|0,(+H(s)>=1.0?(s>0.0?~~+V(+G(s/4294967296.0),4294967295.0)>>>0:~~+T((s-+(~~s>>>0))/4294967296.0)>>>0):0)|0,j|0,k|0)|0;j=KA(j|0,ba()|0,u|0,((u|0)<0)<<31>>31|0)|0;k=ba()|0;u=xa;f[u>>2]=j;f[u+4>>2]=k;if(!(b[$>>0]|0))break;u=(f[aa>>2]|0)*6e4|0;j=LA(j|0,k|0,u|0,((u|0)<0)<<31>>31|0)|0;k=ba()|0;u=xa;f[u>>2]=j;f[u+4>>2]=k;b[O>>0]=0;b[X>>0]=0;b[$>>0]=0;break}k=xa;r=k+48|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(r|0));b[Q>>0]=1;j=0;k=0}else{k=xa;j=f[k>>2]|0;k=f[k+4>>2]|0}while(0);r=KA(j|0,k|0,-432e5,-1)|0;r=RA(r|0,ba()|0,864e5,0)|0;u=ba()|0;o=(b[q>>0]|0)==45;n=LA(0,0,r|0,u|0)|0;q=ba()|0;r=o?n:r;q=o?q:u;u=xa;f[u>>2]=r;f[u+4>>2]=q;Cf(g);b[A>>0]=0;b[C>>0]=0;b[D>>0]=0;u=g;q=KA(f[u>>2]|0,f[u+4>>2]|0,r|0,q|0)|0;r=ba()|0;u=g;f[u>>2]=q;f[u+4>>2]=r;f[ya>>2]=0}u=193;break f}if(b[5472+(k&255)>>0]&1)do j=j+1|0;while((b[5472+(h[j>>0]|0)>>0]&1)!=0);k=(wz(j)|0)&1073741823;if((k+-3|0)>>>0>7)u=193;else{r=k+-1|0;k=(b[j+r>>0]|32)<<24>>24==115?r:k;Cf(g);f[ya>>2]=1;l=+p[wa>>3];s=l<0.0?-.5:.5;j:do if((k|0)>0){k:do switch(k|0){case 6:{u=h[j>>0]|0;k=1232+u|0;do if((u|32|0)==115){u=h[j+1>>0]|0;k=1232+u|0;if((u|32|0)==101){u=h[j+2>>0]|0;k=1232+u|0;if((u|32|0)==99){k=h[j+3>>0]|0;if((k|32|0)!=111){ha=1232+k|0;ia=111;u=170;break}k=h[j+4>>0]|0;if((k|32|0)!=110){ha=1232+k|0;ia=110;u=170;break}k=h[j+5>>0]|0;if((k|32|0)==100)u=171;else{ha=1232+k|0;ia=100;u=170}}else{ha=k;ia=99;u=170}}else{ha=k;ia=101;u=170}}else{ha=k;ia=115;u=170}while(0);if((u|0)==170?(u=0,(ia|0)==(h[ha>>0]|0)):0)u=171;if((u|0)==171?(u=0,l>-464269060800.0&l<464269060800.0):0){j=0;break k}r=h[j>>0]|0;k=1232+r|0;do if((r|32|0)==109){r=h[j+1>>0]|0;k=1232+r|0;if((r|32|0)==105){k=h[j+2>>0]|0;if((k|32|0)!=110){ja=1232+k|0;ka=110;u=178;break}k=h[j+3>>0]|0;if((k|32|0)!=117){ja=1232+k|0;ka=117;u=178;break}k=h[j+4>>0]|0;if((k|32|0)!=116){ja=1232+k|0;ka=116;u=178;break}j=h[j+5>>0]|0;if((j|32|0)!=101){ja=1232+j|0;ka=101;u=178}}else{ja=k;ka=105;u=178}}else{ja=k;ka=109;u=178}while(0);if((u|0)==178?(0,(ka|0)!=(h[ja>>0]|0)):0)break j;if(l>-7737817680.0&l<7737817680.0)j=1;else break j;break}case 4:{u=h[j>>0]|0;k=1232+u|0;if((u|32|0)==104){u=h[j+1>>0]|0;k=1232+u|0;if((u|32|0)==111){u=h[j+2>>0]|0;k=1232+u|0;if((u|32|0)==117){k=h[j+3>>0]|0;if((k|32|0)==114)u=182;else{la=1232+k|0;ma=114;u=181}}else{la=k;ma=117;u=181}}else{la=k;ma=111;u=181}}else{la=k;ma=104;u=181}if((u|0)==181?(u=0,(ma|0)==(h[la>>0]|0)):0)u=182;if((u|0)==182?(u=0,l>-128963628.0&l<128963628.0):0){j=2;break k}r=h[j>>0]|0;k=1232+r|0;do if((r|32|0)==121){r=h[j+1>>0]|0;k=1232+r|0;if((r|32|0)==101){k=h[j+2>>0]|0;if((k|32|0)!=97){ra=1232+k|0;sa=97;u=190;break}j=h[j+3>>0]|0;if((j|32|0)!=114){ra=1232+j|0;sa=114;u=190}}else{ra=k;sa=101;u=190}}else{ra=k;sa=121;u=190}while(0);if((u|0)==190?(0,(sa|0)!=(h[ra>>0]|0)):0)break j;if(l>-14713.0&l<14713.0)j=5;else break j;break}case 3:{r=h[j>>0]|0;k=1232+r|0;if((r|32|0)==100){r=h[j+1>>0]|0;k=1232+r|0;if((r|32|0)==97){j=h[j+2>>0]|0;if((j|32|0)!=121){na=1232+j|0;oa=121;u=184}}else{na=k;oa=97;u=184}}else{na=k;oa=100;u=184}if((u|0)==184?(0,(oa|0)!=(h[na>>0]|0)):0)break j;if(l>-5373485.0&l<5373485.0)j=3;else break j;break}case 5:{r=h[j>>0]|0;k=1232+r|0;do if((r|32|0)==109){r=h[j+1>>0]|0;k=1232+r|0;if((r|32|0)==111){r=h[j+2>>0]|0;k=1232+r|0;if((r|32|0)==110){k=h[j+3>>0]|0;if((k|32|0)!=116){pa=1232+k|0;qa=116;u=187;break}j=h[j+4>>0]|0;if((j|32|0)!=104){pa=1232+j|0;qa=104;u=187}}else{pa=k;qa=110;u=187}}else{pa=k;qa=111;u=187}}else{pa=k;qa=109;u=187}while(0);if((u|0)==187?(0,(qa|0)!=(h[pa>>0]|0)):0)break j;if(l>-176546.0&l<176546.0)j=4;else break j;break}default:break j}while(0);switch(b[5920+(j*24|0)>>0]|0){case 1:{Bf(g);u=~~l;r=(f[L>>2]|0)+u|0;q=(((r|0)>0?-1:-12)+r|0)/12|0;f[K>>2]=q+(f[K>>2]|0);r=(U(q,-12)|0)+r|0;f[L>>2]=r;b[z>>0]=0;l=l-+(u|0);p[wa>>3]=l;break}case 2:{u=~~l;Bf(g);f[K>>2]=(f[K>>2]|0)+u;b[z>>0]=0;l=l-+(u|0);p[wa>>3]=l;break}default:{}}Cf(g);s=s+l*+p[5920+(j*24|0)+16>>3];q=+H(s)>=1.0?(s>0.0?~~+V(+G(s/4294967296.0),4294967295.0)>>>0:~~+T((s-+(~~s>>>0))/4294967296.0)>>>0):0;r=g;q=KA(f[r>>2]|0,f[r+4>>2]|0,~~s>>>0|0,q|0)|0;r=ba()|0;u=g;f[u>>2]=q;f[u+4>>2]=r;f[ya>>2]=0}while(0);b[A>>0]=0;b[C>>0]=0;b[D>>0]=0;u=193}break}default:u=193}while(0);if((u|0)==192)u=0;else if((u|0)==193?(u=0,f[ya>>2]|0):0){i=1;u=197;break}v=v+1|0;if((v|0)>=(c|0))break d}if((u|0)==149){g=1;t=za;return g|0}else if((u|0)==197){t=za;return i|0}}else i=g+46|0;while(0);Cf(g);if(!(b[i>>0]|0)){ya=f[g+4>>2]|0;t=za;return (ya>>>0>108096|(ya|0)==108096&(f[g>>2]|0)>>>0>275971583)&1|0}else{g=1;t=za;return g|0}return 0}function Bf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0.0;c=a+42|0;if(!(b[c>>0]|0)){do if(b[a+40>>0]|0){e=a;d=f[e>>2]|0;e=f[e+4>>2]|0;if(e>>>0>108096|(e|0)==108096&d>>>0>275971583){c=a;d=c+48|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));c=a+46|0;break}else{e=KA(d|0,e|0,432e5,0)|0;e=OA(e|0,ba()|0,864e5,0)|0;ba()|0;g=~~((+(e|0)+-1867216.25)/36524.25);g=e+1525+g+((g|0)/-4|0)|0;e=~~((+(g|0)+-122.1)/365.25);g=g-((((e&32767)*36525|0)>>>0)/100|0)|0;d=~~(+(g|0)/30.6001);f[a+16>>2]=g-~~(+(d|0)*30.6001);d=((d|0)<14?-1:-13)+d|0;f[a+12>>2]=d;f[a+8>>2]=((d|0)>2?-4716:-4715)+e;break}}else{f[a+8>>2]=2e3;f[a+12>>2]=1;f[a+16>>2]=1}while(0);b[c>>0]=1}c=a+43|0;if(b[c>>0]|0)return;Cf(a);d=a;d=KA(f[d>>2]|0,f[d+4>>2]|0,432e5,0)|0;d=RA(d|0,ba()|0,864e5,0)|0;ba()|0;h=+(d|0)/1.0e3;d=~~h;g=(d|0)/3600|0;f[a+20>>2]=g;g=(U(g,-3600)|0)+d|0;e=(g|0)/60|0;f[a+24>>2]=e;h=h-+(d|0)+ +((U(e,-60)|0)+g|0);p[a+32>>3]=h;b[a+41>>0]=0;b[c>>0]=1;return}function Cf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0.0;i=a+40|0;if(b[i>>0]|0)return;j=a+42|0;if(b[j>>0]|0){g=f[a+8>>2]|0;if((g+4713|0)>>>0<=14712){c=f[a+12>>2]|0;d=f[a+16>>2]|0;e=g;h=4}}else{c=1;d=1;e=2e3;h=4}if((h|0)==4?(b[a+41>>0]|0)==0:0){h=(c|0)<3;g=e+(h<<31>>31)|0;k=(+(d+2+((g|0)/-100|0)+((g|0)/400|0)+((((h?c+12|0:c)*306001|0)+306001|0)/1e4|0)+(((g*36525|0)+172251900|0)/100|0)|0)+-1524.5)*864.0e5;c=~~k>>>0;d=+H(k)>=1.0?(k>0.0?~~+V(+G(k/4294967296.0),4294967295.0)>>>0:~~+T((k-+(~~k>>>0))/4294967296.0)>>>0):0;g=a;f[g>>2]=c;f[g+4>>2]=d;b[i>>0]=1;g=a+43|0;if(!(b[g>>0]|0))return;e=U(f[a+20>>2]|0,36e5)|0;e=((f[a+24>>2]|0)*6e4|0)+e|0;k=+p[a+32>>3]*1.0e3;c=KA(~~k>>>0|0,(+H(k)>=1.0?(k>0.0?~~+V(+G(k/4294967296.0),4294967295.0)>>>0:~~+T((k-+(~~k>>>0))/4294967296.0)>>>0):0)|0,c|0,d|0)|0;c=KA(c|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;d=ba()|0;e=a;f[e>>2]=c;f[e+4>>2]=d;e=a+44|0;if(!(b[e>>0]|0))return;h=(f[a+28>>2]|0)*6e4|0;h=LA(c|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[a>>2]=h;f[a+4>>2]=i;b[j>>0]=0;b[g>>0]=0;b[e>>0]=0;return}c=a;d=c+48|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));b[a+46>>0]=1;return}function Df(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;n=o;f[n>>2]=e;e=a;a=0;a:while(1){g=(h[c>>0]|0)+208&255;m=h[c+1>>0]|0;k=d[39628+((b[c+2>>0]|0)+-97<<1)>>1]|0;l=b[c+3>>0]|0;if(!(g<<24>>24))g=0;else{j=0;i=g;while(1){i=i+-1<<24>>24;g=b[e>>0]|0;if(((g&255)+-48|0)>>>0>=10){e=11;break a}g=(j*10|0)+-48+(g<<24>>24)|0;e=e+1|0;if(!(i<<24>>24))break;else j=g}}if((g|0)<((m<<24)+-805306368>>24|0)|(g|0)>(k&65535|0)){e=11;break}if(!(l<<24>>24)){e=8;break}if(l<<24>>24!=(b[e>>0]|0)){e=11;break}l=(f[n>>2]|0)+(4-1)&~(4-1);m=f[l>>2]|0;f[n>>2]=l+4;f[m>>2]=g;e=e+1|0;c=c+4|0;a=a+1|0}if((e|0)==8){l=(f[n>>2]|0)+(4-1)&~(4-1);m=f[l>>2]|0;f[n>>2]=l+4;f[m>>2]=g;n=a+1|0;t=o;return n|0}else if((e|0)==11){t=o;return a|0}return 0}function Ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0;u=t;t=t+48|0;r=u+16|0;e=u+8|0;q=u;o=u+36|0;l=u+32|0;m=u+28|0;n=u+24|0;f[q>>2]=l;f[q+4>>2]=m;if((Df(a,42181,q)|0)!=2){c=1;t=u;return c|0}k=a+5|0;if((b[k>>0]|0)==58){f[e>>2]=n;if((Df(a+6|0,42189,e)|0)!=1){c=1;t=u;return c|0}e=a+8|0;if((b[e>>0]|0)==46?(g=a+9|0,d=b[g>>0]|0,((d&255)+-48|0)>>>0<10):0){j=0.0;i=1.0;do{j=j*10.0+ +(d<<24>>24)+-48.0;i=i*10.0;g=g+1|0;d=b[g>>0]|0}while(((d&255)+-48|0)>>>0<10);i=j/i}else{i=0.0;g=e}}else{f[n>>2]=0;i=0.0;g=k}b[c+40>>0]=0;b[c+41>>0]=0;b[c+43>>0]=1;f[c+20>>2]=f[l>>2];f[c+24>>2]=f[m>>2];p[c+32>>3]=i+ +(f[n>>2]|0);while(1){d=g+1|0;if(!(b[5472+(h[g>>0]|0)>>0]&1))break;else g=d}a=c+28|0;f[a>>2]=0;e=b[g>>0]|0;switch(e<<24>>24){case 45:{e=-1;s=15;break}case 43:{e=1;s=15;break}default:if((e|32)<<24>>24==122){g=0;s=18}else d=0}do if((s|0)==15){f[r>>2]=q;f[r+4>>2]=o;if((Df(d,42193,r)|0)==2){s=U(((f[q>>2]|0)*60|0)+(f[o>>2]|0)|0,e)|0;f[a>>2]=s;d=g+6|0;g=s;s=18;break}c=1;t=u;return c|0}while(0);if((s|0)==18){while(1)if(!(b[5472+(h[d>>0]|0)>>0]&1))break;else d=d+1|0;b[c+45>>0]=1;e=b[d>>0]|0;d=g}if(e<<24>>24){c=1;t=u;return c|0}b[c+44>>0]=(d|0)!=0&1;c=0;t=u;return c|0}function Ff(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,q=0;n=t;t=t+64|0;l=n;m=n+48|0;g=l;e=g+48|0;do{f[g>>2]=f[a>>2];g=g+4|0;a=a+4|0}while((g|0)<(e|0));Bf(l);a=l+8|0;e=f[a>>2]|0;if((e+-1971|0)>>>0>66){f[a>>2]=2e3;f[l+12>>2]=1;f[l+16>>2]=1;f[l+20>>2]=0;f[l+24>>2]=0;p[l+32>>3]=0.0;e=2e3;i=0;j=0}else{i=l+32|0;o=+(~~(+p[i>>3]+.5)|0);p[i>>3]=o;o=o*1.0e3;i=~~o>>>0;j=+H(o)>=1.0?(o>0.0?~~+V(+G(o/4294967296.0),4294967295.0)>>>0:~~+T((o-+(~~o>>>0))/4294967296.0)>>>0):0}f[l+28>>2]=0;h=l+40|0;b[h>>0]=0;k=l+42|0;g=(b[k>>0]|0)==0;a=g?1:f[l+12>>2]|0;if(!(b[l+41>>0]|0)){q=(a|0)<3;e=(g?2e3:e)+(q<<31>>31)|0;o=(+((g?3:(f[l+16>>2]|0)+2|0)+((e|0)/-100|0)+((e|0)/400|0)+((((q?a+12|0:a)*306001|0)+306001|0)/1e4|0)+(((e*36525|0)+172251900|0)/100|0)|0)+-1524.5)*864.0e5;e=~~o>>>0;a=+H(o)>=1.0?(o>0.0?~~+V(+G(o/4294967296.0),4294967295.0)>>>0:~~+T((o-+(~~o>>>0))/4294967296.0)>>>0):0;g=l;f[g>>2]=e;f[g+4>>2]=a;b[h>>0]=1;h=l+43|0;if(b[h>>0]|0){g=U(f[l+20>>2]|0,36e5)|0;g=((f[l+24>>2]|0)*6e4|0)+g|0;e=KA(i|0,j|0,e|0,a|0)|0;e=KA(e|0,ba()|0,g|0,((g|0)<0)<<31>>31|0)|0;a=ba()|0;g=l;f[g>>2]=e;f[g+4>>2]=a;g=l+44|0;if(!(b[g>>0]|0))i=l;else{i=l;f[i>>2]=e;f[i+4>>2]=a;b[k>>0]=0;b[h>>0]=0;b[g>>0]=0;i=l}}else i=l}else{g=l;e=g+48|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(e|0));b[l+46>>0]=1;i=l;e=0;a=0}h=OA(e|0,a|0,1e3,0)|0;ba()|0;f[m>>2]=h+-413362496;h=Za(m|0)|0;if((h|0)==0|(f[9394]|0)!=0){f[c+20>>2]=1;$e(f[c>>2]|0,42158,-1,1,-1)|0;f[d>>2]=1;d=0;q=0;aa(d|0);t=n;return q|0}a=f[h+16>>2]|0;e=f[h+20>>2]|0;g=a+1|0;if((e+6613|0)>>>0>14712){a=0;e=0}else{c=f[h>>2]|0;c=QA(c|0,((c|0)<0)<<31>>31|0,1e3,0)|0;q=ba()|0;m=U(f[h+8>>2]|0,36e5)|0;l=(g|0)<3;e=e+1900+(l<<31>>31)|0;o=(+(((e|0)/-100|0)+((f[h+12>>2]|0)+2)+((e|0)/400|0)+((((l?a+13|0:g)*306001|0)+306001|0)/1e4|0)+(((e*36525|0)+172251900|0)/100|0)|0)+-1524.5)*864.0e5;a=+H(o)>=1.0?(o>0.0?~~+V(+G(o/4294967296.0),4294967295.0)>>>0:~~+T((o-+(~~o>>>0))/4294967296.0)>>>0):0;e=((f[h+4>>2]|0)*6e4|0)+m|0;e=KA(c|0,q|0,e|0,((e|0)<0)<<31>>31|0)|0;a=KA(e|0,ba()|0,~~o>>>0|0,a|0)|0;e=ba()|0}f[d>>2]=0;q=i;q=LA(a|0,e|0,f[q>>2]|0,f[q+4>>2]|0)|0;d=ba()|0;aa(d|0);t=n;return q|0}function Gf(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,8)|0;else b=f[b+16>>2]|0;if(!b)return;e=b;e=KA(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;c=ba()|0;a=b;f[a>>2]=e;f[a+4>>2]=c;return}function Hf(a){a=a|0;var b=0,c=0,e=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,8)|0;else b=f[b+16>>2]|0;if(!b){c=0;e=0}else{e=b;c=f[e>>2]|0;e=f[e+4>>2]|0}b=f[a>>2]|0;a=b+8|0;if(!(d[a>>1]&9216)){f[b>>2]=c;f[b+4>>2]=e;d[a>>1]=4;return}else{bf(b,c,e);return}}function If(a,b,c){a=a|0;b=b|0;c=c|0;return}function Jf(a,b,c){a=a|0;b=b|0;c=c|0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,24)|0;else b=f[b+16>>2]|0;if(!b)return;a=b+8|0;f[a>>2]=1;f[a+4>>2]=0;return}function Kf(a){a=a|0;var b=0,c=0,e=0,g=0,h=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,24)|0;else b=f[b+16>>2]|0;if(!b)return;c=b+8|0;h=c;g=b;e=f[g>>2]|0;g=f[g+4>>2]|0;if(!((f[h>>2]|0)==0&(f[h+4>>2]|0)==0)){e=KA(e|0,g|0,1,0)|0;g=ba()|0;h=b;f[h>>2]=e;f[h+4>>2]=g;h=c;f[h>>2]=0;f[h+4>>2]=0}b=f[a>>2]|0;c=b+8|0;if(!(d[c>>1]&9216)){h=b;f[h>>2]=e;f[h+4>>2]=g;d[c>>1]=4;return}else{bf(b,e,g);return}}function Lf(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,24)|0;else b=f[b+16>>2]|0;if(!b)return;e=b+8|0;c=e;c=KA(f[c>>2]|0,f[c+4>>2]|0,1,0)|0;a=ba()|0;f[e>>2]=c;f[e+4>>2]=a;e=b;if(!((f[e>>2]|0)==0&(f[e+4>>2]|0)==0))return;e=b;f[e>>2]=c;f[e+4>>2]=a;return}function Mf(a){a=a|0;var b=0,c=0,e=0,g=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))c=hf(a,24)|0;else c=f[b+16>>2]|0;if(!c)return;g=c;e=f[g>>2]|0;g=f[g+4>>2]|0;b=f[a>>2]|0;a=b+8|0;if(!(d[a>>1]&9216)){f[b>>2]=e;f[b+4>>2]=g;d[a>>1]=4}else bf(b,e,g);g=c;f[g>>2]=0;f[g+4>>2]=0;return}function Nf(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))h=hf(a,24)|0;else h=f[c+16>>2]|0;if(!h)return;g=h+16|0;a=g;if((f[a>>2]|0)==0&(f[a+4>>2]|0)==0){c=f[e>>2]|0;a=j[c+8>>1]|0;do if(!(a&4)){if(a&8|0){c=Fc(+p[c>>3])|0;a=ba()|0;break}if(!(a&18)){c=0;a=0}else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;a=ba()|0}}else{a=c;c=f[a>>2]|0;a=f[a+4>>2]|0}while(0);f[g>>2]=c;f[g+4>>2]=a}g=h+8|0;c=g;c=KA(f[c>>2]|0,f[c+4>>2]|0,1,0)|0;a=ba()|0;f[g>>2]=c;f[g+4>>2]=a;g=h;if(!((f[g>>2]|0)==0&(f[g+4>>2]|0)==0))return;f[h>>2]=c;f[h+4>>2]=a;return}function Of(a){a=a|0;var b=0,c=0,e=0.0,g=0,h=0,i=0,j=0,k=0;j=t;t=t+16|0;h=j+8|0;i=j;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))g=hf(a,24)|0;else g=f[b+16>>2]|0;if(!g){t=j;return}c=g+16|0;b=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&b>>>0>1){k=g;k=KA(f[k>>2]|0,f[k+4>>2]|0,-1,-1)|0;e=+(k>>>0)+4294967296.0*+(ba()|0);b=KA(b|0,c|0,-1,-1)|0;e=e/(+(b>>>0)+4294967296.0*+(ba()|0));b=f[a>>2]|0;c=b+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else cf(b);p[h>>3]=e;p[i>>3]=+p[h>>3];if(+p[h>>3]==+p[i>>3]){p[b>>3]=e;d[c>>1]=8}}else{b=f[a>>2]|0;c=b+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else cf(b);p[h>>3]=0.0;p[i>>3]=+p[h>>3];if(+p[h>>3]==+p[i>>3]){p[b>>3]=0.0;d[c>>1]=8}}k=g;f[k>>2]=0;f[k+4>>2]=0;t=j;return}function Pf(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))g=hf(a,24)|0;else g=f[c+16>>2]|0;if(!g)return;h=g+16|0;a=h;if((f[a>>2]|0)==0&(f[a+4>>2]|0)==0){c=f[e>>2]|0;a=j[c+8>>1]|0;do if(!(a&4)){if(a&8|0){c=Fc(+p[c>>3])|0;a=ba()|0;break}if(!(a&18)){c=0;a=0}else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;a=ba()|0}}else{a=c;c=f[a>>2]|0;a=f[a+4>>2]|0}while(0);f[h>>2]=c;f[h+4>>2]=a}h=g+8|0;e=h;e=KA(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;g=ba()|0;f[h>>2]=e;f[h+4>>2]=g;return}function Qf(a){a=a|0;var b=0,c=0,e=0,g=0.0,h=0,i=0,j=0;j=t;t=t+16|0;h=j+8|0;i=j;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,24)|0;else b=f[b+16>>2]|0;if(!b){t=j;return}e=b+16|0;c=f[e>>2]|0;e=f[e+4>>2]|0;if((c|0)==0&(e|0)==0){t=j;return}b=b+8|0;g=(+((f[b>>2]|0)>>>0)+4294967296.0*+(f[b+4>>2]|0))/(+(c>>>0)+4294967296.0*+(e|0));b=f[a>>2]|0;c=b+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else cf(b);p[h>>3]=g;p[i>>3]=+p[h>>3];if(!(+p[h>>3]==+p[i>>3])){t=j;return}p[b>>3]=g;d[c>>1]=8;t=j;return}function Rf(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))k=hf(a,24)|0;else k=f[c+16>>2]|0;if(!k)return;i=k;if((f[i>>2]|0)==0&(f[i+4>>2]|0)==0){c=f[e>>2]|0;g=j[c+8>>1]|0;do if(!(g&4)){if(g&8|0){c=Fc(+p[c>>3])|0;i=ba()|0;break}if(!(g&18)){c=0;i=0}else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;i=ba()|0}}else{i=c;c=f[i>>2]|0;i=f[i+4>>2]|0}while(0);h=k+8|0;g=h;f[g>>2]=c;f[g+4>>2]=i;g=f[e+4>>2]|0;e=j[g+8>>1]|0;do if(!(e&4)){if(e&8|0){e=Fc(+p[g>>3])|0;h=ba()|0;g=i;break}if(!(e&18)){e=0;h=0;g=i}else{e=Gc(b[g+10>>0]|0,f[g+12>>2]|0,f[g+16>>2]|0)|0;g=ba()|0;c=h;h=g;g=f[c+4>>2]|0;c=f[c>>2]|0}}else{h=g;e=f[h>>2]|0;h=f[h+4>>2]|0;g=i}while(0);i=k;f[i>>2]=e;f[i+4>>2]=h;if((g|0)<0|(g|0)==0&c>>>0<1){f[a+20>>2]=1;$e(f[a>>2]|0,42359,-1,1,-1)|0}}a=k+16|0;i=a;i=KA(f[i>>2]|0,f[i+4>>2]|0,1,0)|0;k=ba()|0;f[a>>2]=i;f[a+4>>2]=k;return}function Sf(a){a=a|0;var b=0,c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))l=hf(a,24)|0;else l=f[b+16>>2]|0;if(!l)return;c=l+8|0;b=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&b>>>0>0))return;g=l;e=f[g>>2]|0;g=f[g+4>>2]|0;m=OA(e|0,g|0,b|0,c|0)|0;ba()|0;if(!m){g=l+16|0;e=f[g>>2]|0;g=f[g+4>>2]|0;b=f[a>>2]|0;c=b+8|0;if(!(d[c>>1]&9216)){a=b;f[a>>2]=e;f[a+4>>2]=g;d[c>>1]=4;return}else{bf(b,e,g);return}}n=((m|0)<0)<<31>>31;h=QA(b|0,c|0,m|0,n|0)|0;e=LA(e|0,g|0,h|0,ba()|0)|0;g=ba()|0;h=m+1|0;i=((h|0)<0)<<31>>31;j=QA(e|0,g|0,h|0,i|0)|0;k=ba()|0;o=l+16|0;l=f[o>>2]|0;o=f[o+4>>2]|0;b=KA(l|0,o|0,-1,-1)|0;c=ba()|0;if((o|0)>(k|0)|(o|0)==(k|0)&l>>>0>j>>>0){o=KA(e|0,g|0,1,0)|0;g=ba()|0;e=LA(b|0,c|0,j|0,k|0)|0;e=OA(e|0,ba()|0,m|0,n|0)|0;e=KA(o|0,g|0,e|0,ba()|0)|0;g=ba()|0;b=f[a>>2]|0;c=b+8|0;if(!(d[c>>1]&9216)){o=b;f[o>>2]=e;f[o+4>>2]=g;d[c>>1]=4;return}else{bf(b,e,g);return}}else{e=OA(b|0,c|0,h|0,i|0)|0;e=KA(e|0,ba()|0,1,0)|0;g=ba()|0;b=f[a>>2]|0;c=b+8|0;if(!(d[c>>1]&9216)){o=b;f[o>>2]=e;f[o+4>>2]=g;d[c>>1]=4;return}else{bf(b,e,g);return}}}function Tf(a,c,e){a=a|0;c=c|0;e=e|0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))c=hf(a,8)|0;else c=f[c+16>>2]|0;if(!c)return;Yf(f[c>>2]|0);e=Zf(f[e>>2]|0)|0;f[c>>2]=e;if(e|0){a=c+4|0;f[a>>2]=(f[a>>2]|0)+1;return}c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;e=c+81|0;if(b[e>>0]|0)return;if(b[c+82>>0]|0)return;b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1;return}function Uf(a){a=a|0;var b=0,c=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,8)|0;else b=f[b+16>>2]|0;if(!b)return;c=f[b>>2]|0;if(!c)return;mf(a,c);Yf(f[b>>2]|0);f[b>>2]=0;return}function Vf(a){a=a|0;var b=0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,8)|0;else b=f[b+16>>2]|0;if(!b)return;b=f[b>>2]|0;if(!b)return;mf(a,b);return}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;b=f[a+8>>2]|0;if(!(d[b+8>>1]&8192))b=hf(a,8)|0;else b=f[b+16>>2]|0;if(!b)return;c=b+4|0;a=(f[c>>2]|0)+-1|0;f[c>>2]=a;if(a|0)return;Yf(f[b>>2]|0);f[b>>2]=0;return}function Xf(a){a=a|0;return}function Yf(a){a=a|0;var b=0,c=0;if(!a)return;if(!((d[a+8>>1]&9216)==0?!(f[a+24>>2]|0):0))ff(a);b=f[a+32>>2]|0;if(b|0){if(f[b+480>>2]|0){Kc(b,a);return}c=a;if((f[b+304>>2]|0)>>>0<=c>>>0?(f[b+308>>2]|0)>>>0>c>>>0:0){c=b+300|0;f[a>>2]=f[c>>2];f[c>>2]=a;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Zf(a){a=a|0;var b=0,c=0,e=0,g=0,h=0;if(!a){g=0;return g|0}if(Mc()|0){g=0;return g|0}if(!(f[9328]|0)){b=ib[f[37356>>2]&255](40)|0;if(!b){g=0;return g|0}else c=b}else{e=ib[f[37372>>2]&255](40)|0;if((f[18194]|0)>>>0<40)f[18194]=40;c=71896;b=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&b>>>0>0){h=f[18187]|0;c=LA(b|0,c|0,e|0,((e|0)<0)<<31>>31|0)|0;b=ba()|0;f[17976]=((b|0)<0|(b|0)==0&c>>>0<=h>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(!c){h=0;return h|0}b=ib[f[37368>>2]&255](c)|0;b=(f[18187]|0)+b|0;f[18187]=b;if(b>>>0>(f[18191]|0)>>>0)f[18191]=b;b=(f[18190]|0)+1|0;f[18190]=b;if(b>>>0>(f[18196]|0)>>>0)f[18196]=b}b=c+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[c>>2]=f[a>>2];f[c+4>>2]=f[a+4>>2];f[c+8>>2]=f[a+8>>2];f[c+12>>2]=f[a+12>>2];f[c+16>>2]=f[a+16>>2];a=c+8|0;b=d[a>>1]&-1025;d[a>>1]=b;e=c+32|0;f[e>>2]=0;b=b&65535;if(!(b&18)){h=c;return h|0}d[a>>1]=b&58367|4096;if(b&16384){b=c+12|0;h=(f[c>>2]|0)+(f[b>>2]|0)|0;if(!(df(c,(h|0)>1?h:1,1)|0)){_A((f[c+16>>2]|0)+(f[b>>2]|0)|0,0,f[c>>2]|0)|0;f[b>>2]=(f[b>>2]|0)+(f[c>>2]|0);b=d[a>>1]&-16897;d[a>>1]=b;if((f[c+24>>2]|0)!=0?(f[c+16>>2]|0)==(f[c+20>>2]|0):0)g=21;else g=19}}else g=19;if((g|0)==19?(gf(c)|0)==0:0){b=d[a>>1]|0;g=21}if((g|0)==21){d[a>>1]=b&-4097;h=c;return h|0}if(!((d[a>>1]&9216)==0?!(f[c+24>>2]|0):0))ff(c);b=f[e>>2]|0;if(b|0){if(f[b+480>>2]|0){Kc(b,c);h=0;return h|0}h=c;if((f[b+304>>2]|0)>>>0<=h>>>0?(f[b+308>>2]|0)>>>0>h>>>0:0){h=b+300|0;f[c>>2]=f[h>>2];f[h>>2]=c;h=0;return h|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);h=0;return h|0}else{h=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);h=0;return h|0}return 0}function _f(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=t;t=t+368|0;G=K+16|0;r=K;q=K+356|0;H=K+336|0;I=K+64|0;v=K+32|0;J=f[(f[a>>2]|0)+32>>2]|0;c=f[e>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){C=f[c+16>>2]|0;break}if(!(g&1))C=Ic(c,1)|0;else C=0}else C=0;while(0);c=f[e+12>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){u=f[c+16>>2]|0;break}if(!(g&1))u=Ic(c,1)|0;else u=0}else u=0;while(0);c=f[e+16>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){z=f[c+16>>2]|0;break}if(!(g&1))z=Ic(c,1)|0;else z=0}else z=0;while(0);c=f[e+20>>2]|0;g=j[c+8>>1]|0;do if(!(g&4)){if(g&8|0){y=Fc(+p[c>>3])|0;ba()|0;break}if(!(g&18))y=0;else{y=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else y=f[c>>2]|0;while(0);c=f[e+24>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){B=f[c+16>>2]|0;break}if(!(g&1))B=Ic(c,1)|0;else B=0}else B=0;while(0);c=f[e+28>>2]|0;g=j[c+8>>1]|0;do if(!(g&4)){if(g&8|0){A=Fc(+p[c>>3])|0;ba()|0;break}if(!(g&18))A=0;else{A=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else A=f[c>>2]|0;while(0);c=f[e+32>>2]|0;g=j[c+8>>1]|0;do if(!(g&4)){if(g&8|0){k=Fc(+p[c>>3])|0;ba()|0;break}if(!(g&18))k=0;else{k=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else k=f[c>>2]|0;while(0);D=J+312|0;E=f[D>>2]|0;if((y|0)<0|((C|0)==0|(z|0)==0|(B|0)==0)){t=K;return}l=f[J+20>>2]|0;m=(l|0)>0;if(m){g=f[J+16>>2]|0;c=0;do{i=f[g+(c<<4)+4>>2]|0;if(i|0)f[(f[i+4>>2]|0)+4>>2]=f[i>>2];c=c+1|0}while((c|0)!=(l|0))}o=ji(J,z,u)|0;if(!o){t=K;return}if((y|0)>=(d[o+42>>1]|0)){t=K;return}x=f[(f[o+4>>2]|0)+(y<<4)>>2]|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;f[H+16>>2]=0;s=H+8|0;f[s>>2]=(y|0)==(d[o+40>>1]|0)?-1:y;f[D>>2]=0;f[q>>2]=0;n=(k|0)==0;if(n){a:do if(u){g=l+-1|0;if(m){c=g;l=(f[J+16>>2]|0)+(g<<4)|0;while(1){i=f[l>>2]|0;if(i|0){w=b[i>>0]|0;g=(h[1232+(w&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0;if(!(w<<24>>24==0|(g|0)!=0)){k=u;do{i=i+1|0;k=k+1|0;w=b[i>>0]|0;g=(h[1232+(w&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(w<<24>>24==0|(g|0)!=0))}if(!g)break a}if(!c)break;g=c+-1|0;if((c|0)>0){c=g;l=l+-16|0}else{c=g;break a}}c=109-(h[1232+(h[u>>0]|0)>>0]|0)|0;if(!c){g=u;i=42464;do{i=i+1|0;g=g+1|0;w=b[i>>0]|0;c=(h[1232+(w&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(w<<24>>24==0|(c|0)!=0))}c=((c|0)!=0)<<31>>31}else c=g}else c=-1;while(0);c=c&255}else c=1;g=J+164|0;b[g>>0]=c;w=I+4|0;_A(w|0,0,268)|0;b[I+196>>0]=2;f[I>>2]=J;f[I+128>>2]=1;c=bg(I,C,q)|0;f[w>>2]=f[q>>2];i=J+81|0;c=(b[i>>0]|0)==0?c:7;if(!c)if(((f[I+224>>2]|0)==0?(f[I+228>>2]|0)==0:0)?(f[I+232>>2]|0)==0:0){f[r>>2]=42469;f[r+4>>2]=102416;f[r+8>>2]=40460;Ac(11,40408,r);c=11}else c=0;b[g>>0]=0;m=v+12|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[v>>2]=I;f[v+4>>2]=139;f[v+8>>2]=140;f[v+24>>2]=H;m=H+12|0;f[m>>2]=o;b:do if(!c){q=I+224|0;c=f[q>>2]|0;l=c;do if(c){g=f[c+12>>2]|0;if(g|0){c=I+12|0;f[c>>2]=0;cg(I,g,0);c=(b[i>>0]|0)==0?f[c>>2]|0:7;if(c|0){F=163;break b}yk(v,g)|0;break}i=f[c>>2]|0;do if(!i){f[m>>2]=l;v=0}else{u=b[z>>0]|0;g=(h[1232+(u&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0;if(!(u<<24>>24==0|(g|0)!=0)){k=z;do{k=k+1|0;i=i+1|0;u=b[k>>0]|0;g=(h[1232+(u&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(g|0)!=0))}f[m>>2]=l;if(g|0){v=0;break}l=f[(f[c+4>>2]|0)+(y<<4)>>2]|0;i=I+268|0;c=f[i>>2]|0;c:do if(c|0){k=i;while(1){g=c+12|0;if((f[c>>2]|0)==(l|0))break;c=f[g>>2]|0;if(!c)break c;else k=g}f[k>>2]=f[g>>2];f[g>>2]=f[H>>2];f[H>>2]=c;u=H+4|0;f[u>>2]=(f[u>>2]|0)+1}while(0);d:do if((f[s>>2]|0)<0){k=(f[q>>2]|0)+40|0;c=f[i>>2]|0;if(!c)break;while(1){g=c+12|0;if((f[c>>2]|0)==(k|0))break;c=f[g>>2]|0;if(!c)break d;else i=g}f[i>>2]=f[g>>2];f[g>>2]=f[H>>2];f[H>>2]=c;u=H+4|0;f[u>>2]=(f[u>>2]|0)+1}while(0);c=f[q>>2]|0;i=f[c+24>>2]|0;do if(i){g=f[i>>2]|0;if((g|0)<=0)break;c=i+4|0;while(1){i=f[c>>2]|0;if(i|0?oi(v,i)|0:0)break;if((g|0)>1){g=g+-1|0;c=c+20|0}else break}c=f[q>>2]|0}while(0);g=f[c+8>>2]|0;if(!g){v=1;break}do{i=f[g+40>>2]|0;e:do if(i|0){c=f[i>>2]|0;if((c|0)<=0)break;i=i+4|0;while(1){k=f[i>>2]|0;if(k|0?oi(v,k)|0:0)break e;if((c|0)>1){c=c+-1|0;i=i+20|0}else break}}while(0);g=f[g+20>>2]|0}while((g|0)!=0);c=f[q>>2]|0;v=1}while(0);c=f[c+16>>2]|0;if(c|0){q=I+268|0;r=((x|0)!=0)<<31>>31;s=(x|0)==0;u=H+4|0;do{n=f[c+20>>2]|0;if((n|0)>0){o=c+8|0;m=0;do{f:do if(v){l=c+36+(m<<3)|0;if((f[l>>2]|0)!=(y|0))break;g=f[q>>2]|0;if(!g)break;k=q;while(1){i=g+12|0;if((f[g>>2]|0)==(l|0))break;g=f[i>>2]|0;if(!g)break f;else k=i}f[k>>2]=f[i>>2];f[i>>2]=f[H>>2];f[H>>2]=g;f[u>>2]=(f[u>>2]|0)+1}while(0);i=f[o>>2]|0;g:do if(i|0){l=b[i>>0]|0;g=(h[1232+(l&255)>>0]|0)-(h[1232+(h[z>>0]|0)>>0]|0)|0;if(!(l<<24>>24==0|(g|0)!=0)){k=z;do{i=i+1|0;k=k+1|0;l=b[i>>0]|0;g=(h[1232+(l&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(l<<24>>24==0|(g|0)!=0))}if(g|0)break;l=f[c+36+(m<<3)+4>>2]|0;do if(!l)g=r;else{if(s)break g;k=b[l>>0]|0;g=(h[1232+(k&255)>>0]|0)-(h[1232+(h[x>>0]|0)>>0]|0)|0;if(k<<24>>24==0|(g|0)!=0)break;i=x;k=l;do{k=k+1|0;i=i+1|0;L=b[k>>0]|0;g=(h[1232+(L&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(L<<24>>24==0|(g|0)!=0))}while(0);if(g|0)break;g=f[q>>2]|0;if(!g)break;k=q;while(1){i=g+12|0;if((f[g>>2]|0)==(l|0))break;g=f[i>>2]|0;if(!g)break g;else k=i}f[k>>2]=f[i>>2];f[i>>2]=f[H>>2];f[H>>2]=g;f[u>>2]=(f[u>>2]|0)+1}while(0);m=m+1|0}while((m|0)<(n|0))}c=f[c+4>>2]|0}while((c|0)!=0)}}else{k=I+228|0;c=f[k>>2]|0;if(c|0){i=f[c+40>>2]|0;do if(i){g=f[i>>2]|0;if((g|0)<=0)break;c=i+4|0;while(1){i=f[c>>2]|0;if(i|0?oi(v,i)|0:0)break;if((g|0)>1){g=g+-1|0;c=c+20|0}else break}c=f[k>>2]|0}while(0);c=f[c+36>>2]|0;if(!c)break;oi(v,c)|0;break}c=dg(I,n?u:0)|0;if(c|0){F=163;break b}i=I+232|0;c=f[(f[i>>2]|0)+28>>2]|0;if(c|0)do{g=f[c+12>>2]|0;do if(g|0){if((pi(I,0,g,u)|0)!=(o|0))break;g=f[c+28>>2]|0;if(g|0)ap(I,H,f[g+8>>2]|0,x);bp(I,H,f[c+24>>2]|0,x);ap(I,H,f[c+20>>2]|0,x)}while(0);c=f[c+36>>2]|0}while((c|0)!=0);if((f[I+120>>2]|0)==(o|0))bp(I,H,f[(f[i>>2]|0)+16>>2]|0,x);Yo(v,f[i>>2]|0)}while(0);c=Zo(a,H,C,B,A)|0;if(c|0)F=163}else F=163;while(0);do if((F|0)==163){if(!(f[w>>2]|0)){f[a+20>>2]=c;g=f[a>>2]|0;if(!(d[g+8>>1]&1))break;h:do switch(c|0){case 516:{c=44816;break}case 100:{c=44794;break}case 101:{c=44771;break}default:{c=c&255;if(c>>>0<29){if(!(520028155>>>c&1)){c=44757;break h}c=f[7984+(c<<2)>>2]|0}else c=44757}}while(0);$e(g,c,-1,1,0)|0;break}g=f[e+4>>2]|0;i=f[e+8>>2]|0;i:do if(g){c=d[g+8>>1]|0;do if((c&514)==514){if((b[g+10>>0]|0)!=1)break;g=f[g+16>>2]|0;break i}while(0);if(!(c&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);j:do if(!i)c=0;else{c=d[i+8>>1]|0;do if((c&514)==514){if((b[i+10>>0]|0)!=1)break;c=f[i+16>>2]|0;break j}while(0);if(c&1){c=0;break}c=Ic(i,1)|0}while(0);L=f[w>>2]|0;f[G>>2]=g;f[G+4>>2]=c;f[G+8>>2]=72788;f[G+12>>2]=L;c=wd(42489,G)|0;f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{L=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);eg(I);lg(J,f[H>>2]|0);f[D>>2]=E;t=K;return}function $f(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=t;t=t+384|0;G=K+16|0;o=K;r=K+352|0;H=K+80|0;I=K+60|0;A=K+32|0;J=f[(f[a>>2]|0)+32>>2]|0;c=f[e>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){v=f[c+16>>2]|0;break}if(!(g&1))v=Ic(c,1)|0;else v=0}else v=0;while(0);c=f[e+12>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){C=f[c+16>>2]|0;break}if(!(g&1))C=Ic(c,1)|0;else C=0}else C=0;while(0);c=f[e+16>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){y=f[c+16>>2]|0;break}if(!(g&1))y=Ic(c,1)|0;else y=0}else y=0;while(0);c=f[e+20>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){B=f[c+16>>2]|0;break}if(!(g&1))B=Ic(c,1)|0;else B=0}else B=0;while(0);c=f[e+24>>2]|0;g=j[c+8>>1]|0;do if(!(g&4)){if(g&8|0){l=Fc(+p[c>>3])|0;ba()|0;break}if(!(g&18))l=0;else{l=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else l=f[c>>2]|0;while(0);if(!((C|0)!=0&(y|0)!=0&(B|0)!=0)){t=K;return}D=J+312|0;E=f[D>>2]|0;f[D>>2]=0;m=J+20|0;k=f[m>>2]|0;if((k|0)>0){g=f[J+16>>2]|0;c=0;do{i=f[g+(c<<4)+4>>2]|0;if(i|0)f[(f[i+4>>2]|0)+4>>2]=f[i>>2];c=c+1|0}while((c|0)!=(k|0))};f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;f[I+16>>2]=0;n=ji(J,y,v)|0;x=I+12|0;f[x>>2]=n;n=A+12|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[A>>2]=H;f[A+4>>2]=141;f[A+8>>2]=142;f[A+24>>2]=I;f[r>>2]=0;n=(l|0)==0;if(n){a:do if(v){z=f[m>>2]|0;g=z+-1|0;if((z|0)>0){c=g;l=(f[J+16>>2]|0)+(g<<4)|0;while(1){i=f[l>>2]|0;if(i|0){z=b[i>>0]|0;g=(h[1232+(z&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0;if(!(z<<24>>24==0|(g|0)!=0)){k=v;do{i=i+1|0;k=k+1|0;z=b[i>>0]|0;g=(h[1232+(z&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(z<<24>>24==0|(g|0)!=0))}if(!g)break a}if(!c)break;g=c+-1|0;if((c|0)>0){c=g;l=l+-16|0}else{c=g;break a}}c=109-(h[1232+(h[v>>0]|0)>>0]|0)|0;if(!c){g=v;i=42464;do{i=i+1|0;g=g+1|0;z=b[i>>0]|0;c=(h[1232+(z&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(z<<24>>24==0|(c|0)!=0))}c=((c|0)!=0)<<31>>31}else c=g}else c=-1;while(0);c=c&255}else c=1;g=J+164|0;b[g>>0]=c;z=H+4|0;_A(z|0,0,268)|0;b[H+196>>0]=3;f[H>>2]=J;f[H+128>>2]=1;c=bg(H,C,r)|0;f[z>>2]=f[r>>2];c=(b[J+81>>0]|0)==0?c:7;b:do if(!c){q=f[H+224>>2]|0;c=(q|0)==0;if((c?(f[H+228>>2]|0)==0:0)?(f[H+232>>2]|0)==0:0){f[o>>2]=42469;f[o+4>>2]=102416;f[o+8>>2]=40460;Ac(11,40408,o);c=11;F=58;break}b[g>>0]=0;i=f[J+32>>2]|0;m=i&67108864;c:do if(c){l=H+228|0;c=f[l>>2]|0;if(c|0){k=f[c>>2]|0;c=H+268|0;g=f[c>>2]|0;d:do if(g|0){while(1){i=g+12|0;if((f[g>>2]|0)==(k|0))break;g=f[i>>2]|0;if(!g)break d;else c=i}f[c>>2]=f[i>>2];f[i>>2]=f[I>>2];f[I>>2]=g;y=I+4|0;f[y>>2]=(f[y>>2]|0)+1}while(0);if(m|0)break;c=f[(f[l>>2]|0)+36>>2]|0;if(!c)break;oi(A,c)|0;break}l=f[H+232>>2]|0;k=f[l+4>>2]|0;e:do if(k|0){s=b[k>>0]|0;c=(h[1232+(s&255)>>0]|0)-(h[1232+(h[y>>0]|0)>>0]|0)|0;if(!(s<<24>>24==0|(c|0)!=0)){g=y;i=k;do{i=i+1|0;g=g+1|0;s=b[i>>0]|0;c=(h[1232+(s&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(c|0)!=0))}if(((c|0)==0?(f[(f[x>>2]|0)+72>>2]|0)==(f[l+24>>2]|0):0)?(u=H+268|0,w=f[u>>2]|0,w|0):0){i=u;c=w;while(1){g=c+12|0;if((f[c>>2]|0)==(k|0))break;c=f[g>>2]|0;if(!c)break e;else i=g}f[i>>2]=f[g>>2];f[g>>2]=f[I>>2];f[I>>2]=c;x=I+4|0;f[x>>2]=(f[x>>2]|0)+1}}while(0);if(!m){c=dg(H,n?v:0)|0;if(c|0){F=131;break b}Yo(A,l);c=f[l+28>>2]|0;if(c|0){m=H+268|0;n=I+4|0;do{l=f[c+12>>2]|0;f:do if(l|0){A=b[l>>0]|0;g=(h[1232+(A&255)>>0]|0)-(h[1232+(h[y>>0]|0)>>0]|0)|0;if(!(A<<24>>24==0|(g|0)!=0)){i=y;k=l;do{k=k+1|0;i=i+1|0;A=b[k>>0]|0;g=(h[1232+(A&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(A<<24>>24==0|(g|0)!=0))}if(g|0)break;g=f[m>>2]|0;if(!g)break;k=m;while(1){i=g+12|0;if((f[g>>2]|0)==(l|0))break;g=f[i>>2]|0;if(!g)break f;else k=i}f[k>>2]=f[i>>2];f[i>>2]=f[I>>2];f[I>>2]=g;f[n>>2]=(f[n>>2]|0)+1}while(0);c=f[c+36>>2]|0}while((c|0)!=0)}}}else{g=q+12|0;o=(m|0)==0;if(f[g>>2]|0){if(!o)break;y=r+4|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;f[y+16>>2]=0;f[y+20>>2]=0;f[y+24>>2]=0;f[r>>2]=H;cg(H,f[g>>2]|0,r);y=(f[H+36>>2]|0)==0;c=f[H+12>>2]|0;yk(A,f[g>>2]|0)|0;if(y|(c|0)==0)break;else{F=131;break b}}if(!((i&16384|0)==0&0==0&(o^1))?(s=f[q+16>>2]|0,s|0):0){m=H+268|0;n=I+4|0;k=s;do{l=f[k+8>>2]|0;g:do if(l|0){w=b[l>>0]|0;c=(h[1232+(w&255)>>0]|0)-(h[1232+(h[y>>0]|0)>>0]|0)|0;if(!(w<<24>>24==0|(c|0)!=0)){g=y;i=l;do{i=i+1|0;g=g+1|0;w=b[i>>0]|0;c=(h[1232+(w&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(w<<24>>24==0|(c|0)!=0))}if(c|0)break;c=f[m>>2]|0;if(!c)break;i=m;while(1){g=c+12|0;if((f[c>>2]|0)==(l|0))break;c=f[g>>2]|0;if(!c)break g;else i=g}f[i>>2]=f[g>>2];f[g>>2]=f[I>>2];f[I>>2]=c;f[n>>2]=(f[n>>2]|0)+1}while(0);k=f[k+4>>2]|0}while((k|0)!=0)}k=f[q>>2]|0;if(k|0){w=b[y>>0]|0;c=(h[1232+(w&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0;if(!(w<<24>>24==0|(c|0)!=0)){i=k;g=y;do{g=g+1|0;i=i+1|0;y=b[g>>0]|0;c=(h[1232+(y&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(y<<24>>24==0|(c|0)!=0))}if(!c){f[x>>2]=q;do if(o){g=f[q+24>>2]|0;if(!g)break;c=f[g>>2]|0;if((c|0)<=0)break;i=c;c=g+4|0;while(1){g=f[c>>2]|0;if(g|0?oi(A,g)|0:0)break;if((i|0)>1){i=i+-1|0;c=c+20|0}else break}k=f[q>>2]|0}while(0);c=H+268|0;g=f[c>>2]|0;if(g|0){while(1){i=g+12|0;if((f[g>>2]|0)==(k|0))break;g=f[i>>2]|0;if(!g)break c;else c=i}f[c>>2]=f[i>>2];f[i>>2]=f[I>>2];f[I>>2]=g;A=I+4|0;f[A>>2]=(f[A>>2]|0)+1}}}}while(0);c=Zo(a,I,C,B,1)|0;if(c|0)F=131}else F=58;while(0);if((F|0)==58){b[g>>0]=0;F=131}do if((F|0)==131){if(!(f[z>>2]|0)){f[a+20>>2]=c;g=f[a>>2]|0;if(!(d[g+8>>1]&1))break;switch(c|0){case 516:{c=44816;break}case 100:{c=44794;break}case 101:{c=44771;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7984+(c<<2)>>2]|0;else c=44757}}$e(g,c,-1,1,0)|0;break}g=f[e+4>>2]|0;i=f[e+8>>2]|0;do if(g){c=d[g+8>>1]|0;if((c&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(c&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);do if(i){c=d[i+8>>1]|0;if((c&514)==514?(b[i+10>>0]|0)==1:0){c=f[i+16>>2]|0;break}if(!(c&1))c=Ic(i,1)|0;else c=0}else c=0;while(0);e=f[z>>2]|0;f[G>>2]=g;f[G+4>>2]=c;f[G+8>>2]=72788;f[G+12>>2]=e;c=wd(42489,G)|0;f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);eg(H);lg(J,f[I>>2]|0);f[D>>2]=E;t=K;return}function ag(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=t;t=t+336|0;v=B+16|0;r=B;s=B+304|0;A=B+32|0;w=f[(f[a>>2]|0)+32>>2]|0;g=f[e>>2]|0;do if(g){c=d[g+8>>1]|0;if((c&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(c&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);c=f[e+4>>2]|0;do if(c){i=d[c+8>>1]|0;if((i&514)==514?(b[c+10>>0]|0)==1:0){n=f[c+16>>2]|0;break}if(!(i&1))n=Ic(c,1)|0;else n=0}else n=0;while(0);c=f[e+16>>2]|0;i=j[c+8>>1]|0;do if(!(i&4)){if(i&8|0){c=Fc(+p[c>>3])|0;ba()|0;break}if(!(i&18))c=0;else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else c=f[c>>2]|0;while(0);o=f[w+32>>2]|0;x=w+312|0;y=f[x>>2]|0;f[x>>2]=0;if(!((g|0)!=0&(n|0)!=0)){f[x>>2]=y;t=B;return}f[s>>2]=0;q=(c|0)==0;if(q){m=f[w+20>>2]|0;i=m+-1|0;a:do if((m|0)>0){c=i;m=(f[w+16>>2]|0)+(i<<4)|0;while(1){k=f[m>>2]|0;if(k|0){l=b[k>>0]|0;i=(h[1232+(l&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0;if(!(l<<24>>24==0|(i|0)!=0)){l=g;do{k=k+1|0;l=l+1|0;C=b[k>>0]|0;i=(h[1232+(C&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(C<<24>>24==0|(i|0)!=0))}if(!i)break a}if(!c)break;i=c+-1|0;if((c|0)>0){c=i;m=m+-16|0}else{c=i;break a}}c=109-(h[1232+(h[g>>0]|0)>>0]|0)|0;if(!c){i=g;k=42464;do{k=k+1|0;i=i+1|0;C=b[k>>0]|0;c=(h[1232+(C&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(C<<24>>24==0|(c|0)!=0))}c=((c|0)!=0)<<31>>31}else c=i;while(0);c=c&255}else c=1;k=w+164|0;b[k>>0]=c;l=A+4|0;_A(l|0,0,268)|0;b[A+196>>0]=3;f[A>>2]=w;f[A+128>>2]=1;C=bg(A,n,s)|0;f[l>>2]=f[s>>2];do if((C|0)==0&(b[w+81>>0]|0)==0){c=f[A+224>>2]|0;i=(c|0)==0;if((i?(f[A+228>>2]|0)==0:0)?(f[A+232>>2]|0)==0:0){f[r>>2]=42469;f[r+4>>2]=102416;f[r+8>>2]=40460;Ac(11,40408,r);z=40;break}b[k>>0]=0;k=(o&67108864|0)==0&0==0;if(!(i|k^1)?(u=c+12|0,f[u>>2]|0):0){C=s+4|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[C+12>>2]=0;f[C+16>>2]=0;f[C+20>>2]=0;f[C+24>>2]=0;f[s>>2]=A;cg(A,f[u>>2]|0,s);if((f[A+36>>2]|0)==0|(f[A+12>>2]|0)==0)break;else{z=68;break}}i=A+232|0;c=f[i>>2]|0;if(c|0){if(k){if(dg(A,q?g:0)|0){z=68;break}c=f[i>>2]|0}i=f[c+24>>2]|0;if(!i)n=-1e6;else{k=f[w+16>>2]|0;c=0;while(1)if((f[k+(c<<4)+12>>2]|0)==(i|0)){n=c;break}else c=c+1|0}C=f[w+20>>2]|0;i=C+-1|0;b:do if((C|0)>0){c=i;m=(f[w+16>>2]|0)+(i<<4)|0;while(1){k=f[m>>2]|0;if(k|0){C=b[k>>0]|0;i=(h[1232+(C&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0;if(!(C<<24>>24==0|(i|0)!=0)){l=g;do{k=k+1|0;l=l+1|0;C=b[k>>0]|0;i=(h[1232+(C&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(C<<24>>24==0|(i|0)!=0))}if(!i)break b}if(!c)break;i=c+-1|0;if((c|0)>0){c=i;m=m+-16|0}else{c=i;break b}}c=109-(h[1232+(h[g>>0]|0)>>0]|0)|0;if(!c){i=42464;do{i=i+1|0;g=g+1|0;C=b[i>>0]|0;c=(h[1232+(C&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(C<<24>>24==0|(c|0)!=0))}c=((c|0)!=0)<<31>>31}else c=i;while(0);if((n|0)==(c|0)){c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216)){C=c;f[C>>2]=1;f[C+4>>2]=0;d[g>>1]=4;break}else{bf(c,1,0);break}}}}else z=40;while(0);if((z|0)==40){b[k>>0]=0;z=68}do if((z|0)==68){g=f[e+8>>2]|0;i=f[e+12>>2]|0;do if(g){c=d[g+8>>1]|0;if((c&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(c&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);do if(i){c=d[i+8>>1]|0;if((c&514)==514?(b[i+10>>0]|0)==1:0){c=f[i+16>>2]|0;break}if(!(c&1))c=Ic(i,1)|0;else c=0}else c=0;while(0);C=f[l>>2]|0;f[v>>2]=g;f[v+4>>2]=c;f[v+8>>2]=42510;f[v+12>>2]=C;c=wd(42489,v)|0;f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{C=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);eg(A);f[x>>2]=y;t=B;return}function bg(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=t;t=t+1280|0;Q=V+48|0;O=V+40|0;K=V+32|0;J=V+24|0;I=V+16|0;H=V+8|0;E=V+1272|0;F=V;G=V+1268|0;h=V+56|0;U=f[a>>2]|0;i=f[U+112>>2]|0;if(!(f[U+168>>2]|0))f[U+264>>2]=0;P=a+12|0;f[P>>2]=0;R=a+220|0;f[R>>2]=c;L=h+4|0;f[L>>2]=a;g=h+8|0;f[h>>2]=g;d[g>>1]=0;d[h+10>>1]=0;D=h+1208|0;f[D>>2]=h+1196;k=Lj(c,G)|0;i=i-k|0;a:do if((i|0)>=0){x=U+264|0;y=a+184|0;z=a+188|0;A=U+81|0;B=h+8|0;w=F+4|0;v=E+4|0;l=-1;b:while(1){u=i;m=k;while(1){i=f[G>>2]|0;if((i|0)<=151){s=m;break}if(f[x>>2]|0){S=11;break b}if((i|0)!=172){S=14;break}c=c+m|0;k=Lj(c,G)|0;i=u-k|0;if((i|0)<0){S=8;break a}else{u=i;m=k}}c:do if((S|0)==14){S=0;if(!(b[c>>0]|0)){switch(l|0){case 0:{i=c;break a}case 1:{i=0;break}default:i=1}f[G>>2]=i;s=0;break}switch(i|0){case 152:{i=c+6|0;d:while(1){i=i+(Lj(i,E)|0)|0;k=f[E>>2]|0;switch(k|0){case 172:break;case 59:case 106:case 107:case 152:case 153:{S=24;break d}default:{S=21;break d}}}do if((S|0)==21){S=0;if((k|0)>=91){i=59;break}if((d[10032+(k<<1)>>1]|0)!=59)if((k|0)==59)S=26;else i=59;else S=24}while(0);if((S|0)==24)S=26;do if((S|0)==26){e:while(1){i=i+(Lj(i,E)|0)|0;k=f[E>>2]|0;switch(k|0){case 172:break;case 59:case 106:case 107:case 152:case 153:{S=30;break e}default:{S=28;break e}}}if((S|0)==28?(S=0,(k|0)<91):0)if((d[10032+(k<<1)>>1]|0)==59)S=30;else{i=(k|0)==24?152:59;break}if((S|0)==30){S=0;f[E>>2]=59}i=59}while(0);f[G>>2]=i;s=m;break c}case 153:{f:do if((l|0)==23){i=c+4|0;g:while(1){i=i+(Lj(i,E)|0)|0;k=f[E>>2]|0;switch(k|0){case 172:break;case 59:case 106:case 107:case 152:case 153:break g;default:{S=37;break g}}}do if((S|0)==37){S=0;if((k|0)<91?(d[10032+(k<<1)>>1]|0)==59:0)break;switch(k|0){case 22:case 59:{i=153;break f}default:{}}i=59;break f}while(0);i=153}else i=59;while(0);f[G>>2]=i;s=m;break c}case 154:{do if((l|0)==23){i=c+6|0;h:while(1){i=i+(Lj(i,E)|0)|0;k=f[E>>2]|0;switch(k|0){case 172:break;case 59:case 106:case 107:case 152:case 153:{S=48;break h}default:{S=46;break h}}}if((S|0)==46?(S=0,(k|0)<91):0)if((d[10032+(k<<1)>>1]|0)!=59)if((k|0)==22){i=154;break}else{S=51;break}else S=48;if((S|0)==48)f[E>>2]=59;S=51}else S=51;while(0);if((S|0)==51){S=0;i=59}f[G>>2]=i;s=m;break c}default:{S=53;break b}}}while(0);f[y>>2]=c;f[z>>2]=s;q=c;p=f[L>>2]|0;o=f[h>>2]|0;r=i&65535;k=d[o>>1]|0;while(1){n=k&65535;if((k&65535)<=520){l=j[10224+(n<<1)>>1]|0;m=r;while(1){i=m&65535;k=i+l|0;if(k>>>0<=2018?(d[11280+(k<<1)>>1]|0)==m<<16>>16:0){S=65;break}if((m&65535)>=91){S=61;break}i=d[10032+(i<<1)>>1]|0;if(!(i<<16>>16)){S=61;break}else m=i}do if((S|0)==61){S=0;i=l+91|0;if(i>>>0<2019?!(m<<16>>16==0?1:(d[11280+(i<<1)>>1]|0)!=91):0){i=15328+(i<<1)|0;break}i=19360+(n<<1)|0}else if((S|0)==65){S=0;i=15328+(k<<1)|0}while(0);k=d[i>>1]|0}if((k&65535)<=1125){S=69;break}k=ql(h,(k&65535)+-1126|0,c,s,p)|0;i=f[h>>2]|0;if(i>>>0<=g>>>0)break;else o=i}do if((S|0)==69){S=0;if((k&65535)>=1123){if(k<<16>>16==1124){f[h>>2]=o+-12;break}f[F>>2]=q;f[w>>2]=s;f[E>>2]=c;f[v>>2]=s;i=f[L>>2]|0;if(!(b[c>>0]|0))ni(i,50987,K);else{f[J>>2]=E;ni(i,50963,J)}f[L>>2]=i;rl(i,r,F);break}i=o+12|0;f[h>>2]=i;if(i>>>0<=(f[D>>2]|0)>>>0){d[i>>1]=(k&65535)>520?(k&65535)+370&65535:k;d[o+14>>1]=r;f[o+16>>2]=q;f[o+20>>2]=s;break}f[h>>2]=o;k=f[L>>2]|0;if(o>>>0>B>>>0?(f[h>>2]=o+-12,rl(k,d[o+2>>1]|0,o+4|0),C=f[h>>2]|0,C>>>0>B>>>0):0){i=C;do{r=f[L>>2]|0;f[h>>2]=i+-12;rl(r,d[i+2>>1]|0,i+4|0);i=f[h>>2]|0}while(i>>>0>B>>>0)}ni(k,50941,I);f[L>>2]=k}while(0);c=c+s|0;if(f[P>>2]|0){i=c;break a}if(b[A>>0]|0){i=c;break a}l=f[G>>2]|0;k=Lj(c,G)|0;i=u-k|0;if((i|0)<0){S=8;break a}}if((S|0)==11){f[P>>2]=9;i=c;break}else if((S|0)==53){f[H>>2]=m;f[H+4>>2]=c;ni(a,50914,H);i=c;break}}else S=8;while(0);if((S|0)==8){f[P>>2]=18;i=c}c=f[h>>2]|0;if(c>>>0>g>>>0)do{f[h>>2]=c+-12;rl(f[L>>2]|0,d[c+2>>1]|0,c+4|0);c=f[h>>2]|0}while(c>>>0>g>>>0);if(!(b[U+81>>0]|0)){g=f[P>>2]|0;switch(g|0){case 101:case 0:break;default:{M=g;S=91}}}else{f[P>>2]=7;M=7;S=91}if((S|0)==91?(N=a+4|0,(f[N>>2]|0)==0):0){switch(M|0){case 516:{g=44816;break}case 100:{g=44794;break}default:{g=M&255;if(g>>>0<29?(520028155>>>g&1|0)!=0:0)g=f[7984+(g<<2)>>2]|0;else g=44757}}f[O>>2]=g;O=Ig(U,40840,O)|0;f[N>>2]=O}g=a+4|0;c=f[g>>2]|0;if(!c)p=0;else{f[e>>2]=c;p=f[P>>2]|0;e=f[R>>2]|0;f[Q>>2]=c;f[Q+4>>2]=e;Ac(p,51004,Q);f[g>>2]=0;p=1}f[R>>2]=i;h=a+8|0;i=f[h>>2]|0;if((i|0?(f[a+36>>2]|0)>0:0)?(b[a+18>>0]|0)==0:0){k=f[i>>2]|0;gg(k,i);l=f[i+4>>2]|0;c=i+8|0;g=f[c>>2]|0;if(!l)f[k+4>>2]=g;else{f[l+8>>2]=g;g=f[c>>2]|0}if(g|0)f[g+4>>2]=l;f[i+20>>2]=1443283912;f[i>>2]=0;do if(k){if(f[k+480>>2]|0){Kc(k,i);break}R=i;if((f[k+304>>2]|0)>>>0<=R>>>0?(f[k+308>>2]|0)>>>0>R>>>0:0){R=k+300|0;f[i>>2]=f[R>>2];f[R>>2]=i}else S=114}else S=114;while(0);do if((S|0)==114)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{S=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[h>>2]=0}if(!(b[a+18>>0]|0)){g=a+108|0;c=f[g>>2]|0;do if(c|0){if(f[U+480>>2]|0){Kc(U,c);break}S=c;if((f[U+304>>2]|0)>>>0<=S>>>0?(f[U+308>>2]|0)>>>0>S>>>0:0){S=U+300|0;f[c>>2]=f[S>>2];f[S>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{S=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);f[g>>2]=0;f[a+104>>2]=0}g=f[a+248>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{S=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);c=a+196|0;g=b[c>>0]|0;if(!(g<<24>>24)){g=f[a+224>>2]|0;do if(g|0){if(f[U+480>>2]|0){hg(U,g);break}R=g+32|0;S=(f[R>>2]|0)+-1|0;f[R>>2]=S;if(!S)hg(U,g)}while(0);g=b[c>>0]|0}do if((g&255)<=1?(T=f[a+232>>2]|0,T|0):0){kg(U,f[T+28>>2]|0);g=f[T>>2]|0;do if(g|0){if(f[U+480>>2]|0){Kc(U,g);break}S=g;if((f[U+304>>2]|0)>>>0<=S>>>0?(f[U+308>>2]|0)>>>0>S>>>0:0){S=U+300|0;f[g>>2]=f[S>>2];f[S>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{S=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[T+4>>2]|0;do if(g|0){if(f[U+480>>2]|0){Kc(U,g);break}S=g;if((f[U+304>>2]|0)>>>0<=S>>>0?(f[U+308>>2]|0)>>>0>S>>>0:0){S=U+300|0;f[g>>2]=f[S>>2];f[S>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{S=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[T+12>>2]|0;if(g|0)ig(U,g);g=f[T+16>>2]|0;i:do if(g){k=g+4|0;c=f[g>>2]|0;if((f[k>>2]|0)>0){l=U+480|0;m=U+304|0;n=U+308|0;o=U+300|0;i=0;do{c=f[c+(i<<3)>>2]|0;j:do if(c|0){if(f[l>>2]|0){Kc(U,c);break}h=c;do if((f[m>>2]|0)>>>0<=h>>>0){if((f[n>>2]|0)>>>0<=h>>>0)break;f[c>>2]=f[o>>2];f[o>>2]=c;break j}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{S=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);i=i+1|0;c=f[g>>2]|0}while((i|0)<(f[k>>2]|0))}k:do if(c){do if(U|0){h=U+480|0;if(!(f[h>>2]|0)){i=c;if((f[U+304>>2]|0)>>>0>i>>>0)break;if((f[U+308>>2]|0)>>>0<=i>>>0)break;S=U+300|0;f[c>>2]=f[S>>2];f[S>>2]=c}else Kc(U,c);c=h;S=188;break k}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);S=186;break}else{S=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);S=186;break}}else S=186;while(0);do if((S|0)==186){if(!U)break;c=U+480|0;S=188}while(0);do if((S|0)==188){if(f[c>>2]|0){Kc(U,g);S=197;break i}c=g;if((f[U+304>>2]|0)>>>0>c>>>0)break;if((f[U+308>>2]|0)>>>0<=c>>>0)break;S=U+300|0;f[g>>2]=f[S>>2];f[S>>2]=g;S=197;break i}while(0);do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{R=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);if(!U)g=T;else{g=T;S=199}}else S=197;while(0);if((S|0)==197){g=T;S=199}if((S|0)==199){if(f[U+480>>2]|0){Kc(U,g);break}S=T;if((f[U+304>>2]|0)>>>0<=S>>>0?(f[U+308>>2]|0)>>>0>S>>>0:0){S=U+300|0;f[T>>2]=f[S>>2];f[S>>2]=T;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{T=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);n=f[a+264>>2]|0;do if(n|0){l:do if((f[n>>2]|0)>0){i=U+480|0;k=U+304|0;l=U+308|0;m=U+300|0;if(!U){c=0;while(1){g=f[n+8+(c<<4)+4>>2]|0;if(g|0)jg(0,g);g=f[n+8+(c<<4)+8>>2]|0;if(g|0)mg(0,g,1);g=f[n+8+(c<<4)>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{T=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);c=c+1|0;if((c|0)>=(f[n>>2]|0))break l}}h=0;do{g=f[n+8+(h<<4)+4>>2]|0;if(g|0)jg(U,g);g=f[n+8+(h<<4)+8>>2]|0;if(g|0)mg(U,g,1);g=f[n+8+(h<<4)>>2]|0;m:do if(g|0){if(f[i>>2]|0){Kc(U,g);break}c=g;do if((f[k>>2]|0)>>>0<=c>>>0){if((f[l>>2]|0)>>>0<=c>>>0)break;f[g>>2]=f[m>>2];f[m>>2]=g;break m}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{T=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);h=h+1|0}while((h|0)<(f[n>>2]|0))}while(0);if(U|0){if(f[U+480>>2]|0){Kc(U,n);break}T=n;if((f[U+304>>2]|0)>>>0<=T>>>0?(f[U+308>>2]|0)>>>0>T>>>0:0){T=U+300|0;f[n>>2]=f[T>>2];f[T>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{T=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);g=f[a+212>>2]|0;do if(g|0){if(U|0){if(f[U+480>>2]|0){Kc(U,g);break}T=g;if((f[U+304>>2]|0)>>>0<=T>>>0?(f[U+308>>2]|0)>>>0>T>>>0:0){T=U+300|0;f[g>>2]=f[T>>2];f[T>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{T=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);m=a+112|0;g=f[m>>2]|0;n:do if(g|0){h=U+480|0;i=U+304|0;k=U+308|0;l=U+300|0;if(!U)while(1){f[m>>2]=f[g>>2];if(!(f[9328]|0))ob[f[37360>>2]&127](g);else{T=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g)}g=f[m>>2]|0;if(!g)break n}do{f[m>>2]=f[g>>2];o:do if(!(f[h>>2]|0)){c=g;do if((f[i>>2]|0)>>>0<=c>>>0){if((f[k>>2]|0)>>>0<=c>>>0)break;f[g>>2]=f[l>>2];f[l>>2]=g;break o}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{T=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}else Kc(U,g);while(0);g=f[m>>2]|0}while((g|0)!=0)}while(0);h=a+252|0;g=f[h>>2]|0;if(!g){t=V;return p|0}c=U+480|0;if(!U){do{c=f[g+76>>2]|0;f[h>>2]=c;a=g+32|0;U=(f[a>>2]|0)+-1|0;f[a>>2]=U;if(!U){hg(0,g);g=f[h>>2]|0}else g=c}while((g|0)!=0);t=V;return p|0}do{f[h>>2]=f[g+76>>2];if(!((f[c>>2]|0)==0?(T=g+32|0,a=(f[T>>2]|0)+-1|0,f[T>>2]=a,(a|0)!=0):0))hg(U,g);g=f[h>>2]|0}while((g|0)!=0);t=V;return p|0}function cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;i=t;t=t+32|0;h=i;if(b[(f[a>>2]|0)+81>>0]|0){t=i;return}if(f[c+8>>2]&128|0){t=i;return}f[h+4>>2]=143;f[h>>2]=a;e=h+8|0;if(!(b[a+22>>0]|0))g=h+12|0;else{f[e>>2]=144;g=h+12|0;f[g>>2]=0;yk(h,c)|0}f[e>>2]=145;f[g>>2]=67;yk(h,c)|0;e=a+36|0;if(f[e>>2]|0){t=i;return}if(b[(f[a>>2]|0)+81>>0]|0){t=i;return}f[h+4>>2]=146;f[h+8>>2]=147;f[h+12>>2]=0;f[h>>2]=a;f[h+24>>2]=d;yk(h,c)|0;if(f[e>>2]|0){t=i;return}if(b[(f[a>>2]|0)+81>>0]|0){t=i;return}f[h+8>>2]=148;f[h+12>>2]=68;f[h+4>>2]=143;f[h>>2]=a;yk(h,c)|0;t=i;return}function dg(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;fa=t;t=t+208|0;ba=fa+128|0;aa=fa+120|0;$=fa+112|0;da=fa+104|0;ca=fa+96|0;_=fa+88|0;n=fa+80|0;X=fa+168|0;Y=fa+136|0;Z=fa;k=f[a>>2]|0;o=f[a+232>>2]|0;h=Y+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[Y>>2]=a;h=f[o+4>>2]|0;i=f[k+16>>2]|0;g=f[o+24>>2]|0;m=a;if(!g)e=-1e6;else{e=0;while(1)if((f[i+(e<<4)+12>>2]|0)==(g|0))break;else e=e+1|0}e=ji(k,h,f[i+(e<<4)>>2]|0)|0;f[a+120>>2]=e;b[a+140>>0]=b[o+8>>0]|0;if(e|0?(l=ki(a,e)|0,l|0):0){ea=l;t=fa;return ea|0}h=f[o+12>>2]|0;if(!h)e=0;else{i=Y+24|0;d[i>>1]=0;f[X>>2]=m;f[X+4>>2]=146;f[X+8>>2]=147;f[X+12>>2]=0;f[X+24>>2]=Y;g=h+24|0;e=a+204|0;V=(f[e>>2]|0)+(f[g>>2]|0)|0;f[e>>2]=V;e=f[(f[a>>2]|0)+120>>2]|0;if((e|0)>=(V|0)){oi(X,h)|0;e=f[X>>2]|0;V=e+204|0;f[V>>2]=(f[V>>2]|0)-(f[g>>2]|0);if(d[i>>1]&16){V=h+4|0;f[V>>2]=f[V>>2]|2}if((f[Y+20>>2]|0)>0)e=1;else e=(f[e+36>>2]|0)>0&1}else{f[n>>2]=e;ni(a,42710,n);e=1}}g=f[o+28>>2]|0;if(!((e|0)==0&(g|0)!=0)){ea=e;t=fa;return ea|0}q=a+36|0;r=a+12|0;s=Z+16|0;u=Z+24|0;v=Y+4|0;w=Y+24|0;x=X+4|0;y=X+8|0;z=X+12|0;A=X+24|0;B=Y+8|0;C=X+4|0;D=X+8|0;E=X+12|0;F=X+24|0;G=Y+20|0;H=X+4|0;I=X+8|0;J=X+12|0;K=X+24|0;L=X+4|0;M=X+8|0;N=X+12|0;O=X+24|0;P=X+4|0;Q=X+8|0;R=X+12|0;S=X+24|0;T=X+4|0;U=X+8|0;V=X+12|0;p=X+24|0;while(1){e=f[g+8>>2]|0;if((e|0?(cg(a,e,Y),f[q>>2]|0):0)?(W=f[r>>2]|0,W|0):0){e=W;ea=90;break}k=g+12|0;e=f[k>>2]|0;if(!e)e=0;else{i=pi(a,0,e,c)|0;if(!i){e=1;ea=90;break}e=ki(a,i)|0;if(e|0){ea=90;break}e=Z;h=e+80|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(h|0));f[Z>>2]=1;f[s>>2]=f[k>>2];f[u>>2]=i;f[v>>2]=Z;k=f[g+16>>2]|0;do if(!k)ea=30;else{e=j[w>>1]|0;l=e&4112;d[w>>1]=e&61423;e=f[Y>>2]|0;f[X>>2]=e;f[x>>2]=146;f[y>>2]=147;f[z>>2]=0;f[A>>2]=Y;i=k+24|0;h=e+204|0;o=(f[h>>2]|0)+(f[i>>2]|0)|0;f[h>>2]=o;h=f[(f[e>>2]|0)+120>>2]|0;if((h|0)>=(o|0)){oi(X,k)|0;h=f[X>>2]|0;e=h+204|0;f[e>>2]=(f[e>>2]|0)-(f[i>>2]|0);e=d[w>>1]|0;if(e&16){o=k+4|0;f[o>>2]=f[o>>2]|2}d[w>>1]=l|e&65535;if((f[G>>2]|0)<=0)if((f[h+36>>2]|0)<1){ea=30;break}else{e=1;break}}else{f[_>>2]=h;ni(e,42710,_)}e=1}while(0);a:do if((ea|0)==30){ea=0;l=f[g+20>>2]|0;if((l|0)!=0?(f[l>>2]|0)>0:0){k=0;while(1){m=f[l+4+(k*20|0)>>2]|0;if(m){n=j[w>>1]|0;d[w>>1]=n&61423;e=f[Y>>2]|0;f[X>>2]=e;f[C>>2]=146;f[D>>2]=147;f[E>>2]=0;f[F>>2]=Y;i=m+24|0;h=e;ga=h+204|0;o=(f[ga>>2]|0)+(f[i>>2]|0)|0;f[ga>>2]=o;h=f[(f[h>>2]|0)+120>>2]|0;if((h|0)<(o|0)){ea=37;break}oi(X,m)|0;h=f[X>>2]|0;e=h+204|0;f[e>>2]=(f[e>>2]|0)-(f[i>>2]|0);e=d[w>>1]|0;if(e&16){ga=m+4|0;f[ga>>2]=f[ga>>2]|2}d[w>>1]=n&4112|e&65535;if((f[G>>2]|0)>0)break;if((f[h+36>>2]|0)>=1){e=2;break a}}k=k+1|0;if((k|0)>=(f[l>>2]|0)){e=0;break a}}if((ea|0)==37){ea=0;f[ca>>2]=h;ni(e,42710,ca)}e=2}else e=0}while(0);o=f[g+28>>2]|0;if(o){f[o+20>>2]=Z;f[B>>2]=o;d[w>>1]=512;n=f[o>>2]|0;b:do if((n|0)!=0?(f[n>>2]|0)>0:0){m=0;e=512;while(1){l=f[n+4+(m*20|0)>>2]|0;if(l){k=e&65535;d[w>>1]=k&61423;e=f[Y>>2]|0;f[X>>2]=e;f[H>>2]=146;f[I>>2]=147;f[J>>2]=0;f[K>>2]=Y;i=l+24|0;h=e;ha=h+204|0;ga=(f[ha>>2]|0)+(f[i>>2]|0)|0;f[ha>>2]=ga;h=f[(f[h>>2]|0)+120>>2]|0;if((h|0)<(ga|0)){ea=51;break}oi(X,l)|0;h=f[X>>2]|0;e=h+204|0;f[e>>2]=(f[e>>2]|0)-(f[i>>2]|0);e=d[w>>1]|0;if(e&16){ha=l+4|0;f[ha>>2]=f[ha>>2]|2}e=(k&4112|e&65535)&65535;d[w>>1]=e;if((f[G>>2]|0)>0)break;if((f[h+36>>2]|0)>=1){e=2;break b}}m=m+1|0;if((m|0)>=(f[n>>2]|0)){ea=57;break b}}if((ea|0)==51){ea=0;f[da>>2]=h;ni(e,42710,da)}e=2}else{e=512;ea=57}while(0);c:do if((ea|0)==57){ea=0;n=f[o+8>>2]|0;d:do if((n|0)!=0?(f[n>>2]|0)>0:0){m=0;while(1){l=f[n+4+(m*20|0)>>2]|0;if(l){k=e&65535;d[w>>1]=k&61423;e=f[Y>>2]|0;f[X>>2]=e;f[P>>2]=146;f[Q>>2]=147;f[R>>2]=0;f[S>>2]=Y;i=l+24|0;h=e;ga=h+204|0;ha=(f[ga>>2]|0)+(f[i>>2]|0)|0;f[ga>>2]=ha;h=f[(f[h>>2]|0)+120>>2]|0;if((h|0)<(ha|0)){ea=64;break}oi(X,l)|0;h=f[X>>2]|0;e=h+204|0;f[e>>2]=(f[e>>2]|0)-(f[i>>2]|0);e=d[w>>1]|0;if(e&16){ha=l+4|0;f[ha>>2]=f[ha>>2]|2}e=(k&4112|e&65535)&65535;d[w>>1]=e;if((f[G>>2]|0)>0)break;if((f[h+36>>2]|0)>=1){e=2;break c}}m=m+1|0;if((m|0)>=(f[n>>2]|0))break d}if((ea|0)==64){ea=0;f[$>>2]=h;ni(e,42710,$)}e=2;break c}while(0);l=f[o+12>>2]|0;e:do if(l){e=e&65535;k=e&4112;d[w>>1]=e&61423;e=f[Y>>2]|0;f[X>>2]=e;f[L>>2]=146;f[M>>2]=147;f[N>>2]=0;f[O>>2]=Y;i=l+24|0;h=e+204|0;ha=(f[h>>2]|0)+(f[i>>2]|0)|0;f[h>>2]=ha;h=f[(f[e>>2]|0)+120>>2]|0;do if((h|0)>=(ha|0)){oi(X,l)|0;h=f[X>>2]|0;e=h+204|0;f[e>>2]=(f[e>>2]|0)-(f[i>>2]|0);e=d[w>>1]|0;if(e&16){ha=l+4|0;f[ha>>2]=f[ha>>2]|2}e=(k|e&65535)&65535;d[w>>1]=e;if((f[G>>2]|0)>0)break;if((f[h+36>>2]|0)<1)break e;else{e=1;break c}}else{f[aa>>2]=h;ni(e,42710,aa)}while(0);e=1;break c}while(0);l=f[o+4>>2]|0;do if(!l)e=0;else{k=e&65535;d[w>>1]=k&61423;e=f[Y>>2]|0;f[X>>2]=e;f[T>>2]=146;f[U>>2]=147;f[V>>2]=0;f[p>>2]=Y;i=l+24|0;h=e+204|0;ha=(f[h>>2]|0)+(f[i>>2]|0)|0;f[h>>2]=ha;h=f[(f[e>>2]|0)+120>>2]|0;if((h|0)<(ha|0)){f[ba>>2]=h;ni(e,42710,ba);e=1;break}oi(X,l)|0;h=f[X>>2]|0;e=h+204|0;f[e>>2]=(f[e>>2]|0)-(f[i>>2]|0);e=d[w>>1]|0;if(e&16){ha=l+4|0;f[ha>>2]=f[ha>>2]|2}d[w>>1]=k&4112|e&65535;if((f[G>>2]|0)>0){e=1;break}e=(f[h+36>>2]|0)>0&1}while(0)}while(0);d[w>>1]=0}}g=f[g+36>>2]|0;if(!((e|0)==0&(g|0)!=0)){ea=90;break}}if((ea|0)==90){t=fa;return e|0}return 0}function eg(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=f[a>>2]|0;i=f[a+8>>2]|0;do if(i|0){j=i+20|0;c=f[j>>2]|0;if((c|0)<832317811)switch(c|0){case 770837923:{g=3;break}default:{}}else switch(c|0){case 832317811:{g=3;break}default:{}}if((g|0)==3)fg(i)|0;e=f[i>>2]|0;gg(e,i);g=f[i+4>>2]|0;d=i+8|0;c=f[d>>2]|0;if(!g)f[e+4>>2]=c;else{f[g+8>>2]=c;c=f[d>>2]|0}if(c|0)f[c+4>>2]=g;f[j>>2]=1443283912;f[i>>2]=0;if(e|0){if(f[e+480>>2]|0){Kc(e,i);break}m=i;if((f[e+304>>2]|0)>>>0<=m>>>0?(f[e+308>>2]|0)>>>0>m>>>0:0){m=e+300|0;f[i>>2]=f[m>>2];f[m>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{m=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);c=f[a+224>>2]|0;do if(c|0){if(n|0?f[n+480>>2]|0:0){hg(n,c);break}l=c+32|0;m=(f[l>>2]|0)+-1|0;f[l>>2]=m;if(!m)hg(n,c)}while(0);d=f[a+228>>2]|0;do if(d|0){c=f[d+36>>2]|0;if(c|0)ig(n,c);c=f[d+40>>2]|0;if(c|0)jg(n,c);c=f[d+16>>2]|0;do if(c|0){if(n|0){if(f[n+480>>2]|0){Kc(n,c);break}m=c;if((f[n+304>>2]|0)>>>0<=m>>>0?(f[n+308>>2]|0)>>>0>m>>>0:0){m=n+300|0;f[c>>2]=f[m>>2];f[m>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);m=d+55|0;a:do if(((h[m>>0]|h[m+1>>0]<<8)&16)!=0?(k=f[d+32>>2]|0,(k|0)!=0):0){do if(n|0){if(!(f[n+480>>2]|0)){c=k;if((f[n+304>>2]|0)>>>0>c>>>0)break;if((f[n+308>>2]|0)>>>0<=c>>>0)break;m=n+300|0;f[k>>2]=f[m>>2];f[m>>2]=k}else Kc(n,k);c=d;g=52;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);g=51;break}else{g=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);g=51;break}}else g=51;while(0);if((g|0)==51)if(!n)c=d;else{c=d;g=52}if((g|0)==52){if(f[n+480>>2]|0){Kc(n,c);break}m=d;if((f[n+304>>2]|0)>>>0<=m>>>0?(f[n+308>>2]|0)>>>0>m>>>0:0){m=n+300|0;f[d>>2]=f[m>>2];f[m>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);m=f[a+232>>2]|0;do if(m|0){kg(n,f[m+28>>2]|0);c=f[m>>2]|0;do if(c|0){if(n|0){if(f[n+480>>2]|0){Kc(n,c);break}l=c;if((f[n+304>>2]|0)>>>0<=l>>>0?(f[n+308>>2]|0)>>>0>l>>>0:0){l=n+300|0;f[c>>2]=f[l>>2];f[l>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{l=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=f[m+4>>2]|0;do if(c|0){if(n|0){if(f[n+480>>2]|0){Kc(n,c);break}l=c;if((f[n+304>>2]|0)>>>0<=l>>>0?(f[n+308>>2]|0)>>>0>l>>>0:0){l=n+300|0;f[c>>2]=f[l>>2];f[l>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{l=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=f[m+12>>2]|0;if(c|0)ig(n,c);c=f[m+16>>2]|0;b:do if(c){l=c+4|0;d=f[c>>2]|0;c:do if((f[l>>2]|0)>0){g=n+480|0;i=n+304|0;j=n+308|0;k=n+300|0;if(!n){e=0;while(1){d=f[d+(e<<3)>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{k=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);e=e+1|0;d=f[c>>2]|0;if((e|0)>=(f[l>>2]|0))break c}}e=0;do{d=f[d+(e<<3)>>2]|0;do if(d|0){if(f[g>>2]|0){Kc(n,d);break}o=d;if((f[i>>2]|0)>>>0<=o>>>0?(f[j>>2]|0)>>>0>o>>>0:0){f[d>>2]=f[k>>2];f[k>>2]=d;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{o=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);e=e+1|0;d=f[c>>2]|0}while((e|0)<(f[l>>2]|0))}while(0);d:do if(d){do if(n|0){e=n+480|0;if(!(f[e>>2]|0)){g=d;if((f[n+304>>2]|0)>>>0>g>>>0)break;if((f[n+308>>2]|0)>>>0<=g>>>0)break;o=n+300|0;f[d>>2]=f[o>>2];f[o>>2]=d}else Kc(n,d);d=e;e=c;g=116;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](d);g=114;break}else{g=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);g=114;break}}else g=114;while(0);if((g|0)==114)if(n){d=n+480|0;e=c;g=116}do if((g|0)==116){if(!(f[d>>2]|0)){c=e;if((f[n+304>>2]|0)>>>0>c>>>0){c=e;break}if((f[n+308>>2]|0)>>>0<=c>>>0){c=e;break}o=n+300|0;f[e>>2]=f[o>>2];f[o>>2]=e}else Kc(n,e);c=m;g=127;break b}while(0);if(c)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);g=126;break}else{g=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);g=126;break}else g=126}else g=126;while(0);if((g|0)==126)if(!n)c=m;else{c=m;g=127}if((g|0)==127){if(f[n+480>>2]|0){Kc(n,c);break}o=m;if((f[n+304>>2]|0)>>>0<=o>>>0?(f[n+308>>2]|0)>>>0>o>>>0:0){o=n+300|0;f[m>>2]=f[o>>2];f[o>>2]=m;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=f[a+4>>2]|0;do if(c|0){if(n|0){if(f[n+480>>2]|0){Kc(n,c);break}o=c;if((f[n+304>>2]|0)>>>0<=o>>>0?(f[n+308>>2]|0)>>>0>o>>>0:0){o=n+300|0;f[c>>2]=f[o>>2];f[o>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);lg(n,f[a+268>>2]|0);d=f[a>>2]|0;c=f[a+64>>2]|0;do if(c|0){if(d|0){if(f[d+480>>2]|0){Kc(d,c);break}o=c;if((f[d+304>>2]|0)>>>0<=o>>>0?(f[d+308>>2]|0)>>>0>o>>>0:0){o=d+300|0;f[c>>2]=f[o>>2];f[o>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=f[a+68>>2]|0;if(c|0)jg(d,c);c=a+24|0;if(!d){b[c>>0]=0;return}o=d+272|0;f[o>>2]=(f[o>>2]|0)-(h[c>>0]|0);b[c>>0]=0;return}function fg(a){a=a|0;var c=0,d=0,e=0,g=0,i=0;g=t;t=t+16|0;d=g;e=f[a>>2]|0;tg(a)|0;if((f[a+36>>2]|0)>-1){ug(a)|0;c=a+145|0;d=h[c>>0]|h[c+1>>0]<<8;if(d&64){d=d&-4|1;b[c>>0]=d;b[c+1>>0]=d>>8}}else{c=f[a+40>>2]|0;if(c|0?(i=a+145|0,(h[i>>0]|h[i+1>>0]<<8)&3):0){i=f[a+108>>2]|0;f[d>>2]=i;vg(e,c,(i|0)==0?0:40840,d)}}c=a+108|0;d=f[c>>2]|0;do if(d|0){if(e|0){if(f[e+480>>2]|0){Kc(e,d);break}i=d;if((f[e+304>>2]|0)>>>0<=i>>>0?(f[e+308>>2]|0)>>>0>i>>>0:0){i=e+300|0;f[d>>2]=f[i>>2];f[i>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);f[c>>2]=0;f[a+104>>2]=0;f[a+20>>2]=1224384374;t=g;return f[e+68>>2]&f[a+40>>2]|0}function gg(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c+100|0;e=f[s>>2]|0;g=d[c+140>>1]|0;a:do if((e|0)!=0&g<<16>>16!=0){o=e+(((g&65535)<<1)*40|0)|0;j=f[e+32>>2]|0;k=j+480|0;g=(j|0)==0;l=j+304|0;m=j+308|0;n=j+300|0;if(f[k>>2]|0){if(g)while(1){do if(f[e+24>>2]|0?(h=f[e+20>>2]|0,h|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{n=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);e=e+40|0;if(e>>>0>=o>>>0)break a}while(1){do if(f[e+24>>2]|0?(i=f[e+20>>2]|0,i|0):0){if(f[k>>2]|0){Kc(j,i);break}h=i;if((f[l>>2]|0)>>>0<=h>>>0?(f[m>>2]|0)>>>0>h>>>0:0){f[i>>2]=f[n>>2];f[n>>2]=i;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{h=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);e=e+40|0;if(e>>>0>=o>>>0)break a}}if(g)while(1){g=e+8|0;if(!(d[g>>1]&9216)){h=e+24|0;if(f[h>>2]|0){i=f[e+20>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{n=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[h>>2]=0}}else ff(e);d[g>>1]=128;e=e+40|0;if(e>>>0>=o>>>0)break a}do{g=e+8|0;if(!(d[g>>1]&9216)){h=e+24|0;if(f[h>>2]|0){i=f[e+20>>2]|0;do if(!(f[k>>2]|0)){t=i;if((f[l>>2]|0)>>>0<=t>>>0?(f[m>>2]|0)>>>0>t>>>0:0){f[i>>2]=f[n>>2];f[n>>2]=i;break}if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{t=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}else Kc(j,i);while(0);f[h>>2]=0}}else ff(e);d[g>>1]=128;e=e+40|0}while(e>>>0>>0)}while(0);e=f[c+208>>2]|0;if(e|0){k=(a|0)==0;l=a+480|0;m=a+304|0;n=a+308|0;o=a+300|0;do{i=e;e=f[e+24>>2]|0;j=f[i>>2]|0;g=f[i+4>>2]|0;if(j){if((g|0)>=1){g=j+((g+-1|0)*20|0)|0;do{h=b[g+1>>0]|0;if(h<<24>>24<-6)qg(a,h<<24>>24,f[g+16>>2]|0);g=g+-20|0}while(g>>>0>=j>>>0)}do if(!k){if(f[l>>2]|0){Kc(a,j);break}t=j;if((f[m>>2]|0)>>>0<=t>>>0?(f[n>>2]|0)>>>0>t>>>0:0){f[j>>2]=f[o>>2];f[o>>2]=j}else p=63}else p=63;while(0);do if((p|0)==63){p=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{t=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);if(i|0)p=67}else p=67;do if((p|0)==67){p=0;if(!k){if(f[l>>2]|0){Kc(a,i);break}t=i;if((f[m>>2]|0)>>>0<=t>>>0?(f[n>>2]|0)>>>0>t>>>0:0){f[i>>2]=f[o>>2];f[o>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{t=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0)}while((e|0)!=0)}do if((f[c+20>>2]|0)!=381479589){e=f[c+116>>2]|0;g=d[c+16>>1]|0;b:do if((e|0)!=0&g<<16>>16!=0){o=e+((g<<16>>16)*40|0)|0;j=f[e+32>>2]|0;k=j+480|0;g=(j|0)==0;l=j+304|0;m=j+308|0;n=j+300|0;if(f[k>>2]|0){if(g)while(1){do if(f[e+24>>2]|0?(q=f[e+20>>2]|0,q|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{t=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);e=e+40|0;if(e>>>0>=o>>>0)break b}while(1){do if(f[e+24>>2]|0?(r=f[e+20>>2]|0,r|0):0){if(f[k>>2]|0){Kc(j,r);break}t=r;if((f[l>>2]|0)>>>0<=t>>>0?(f[m>>2]|0)>>>0>t>>>0:0){f[r>>2]=f[n>>2];f[n>>2]=r;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{t=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}while(0);e=e+40|0;if(e>>>0>=o>>>0)break b}}if(g)while(1){g=e+8|0;if(!(d[g>>1]&9216)){h=e+24|0;if(f[h>>2]|0){i=f[e+20>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{t=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[h>>2]=0}}else ff(e);d[g>>1]=128;e=e+40|0;if(e>>>0>=o>>>0)break b}do{g=e+8|0;if(!(d[g>>1]&9216)){h=e+24|0;if(f[h>>2]|0){i=f[e+20>>2]|0;do if(!(f[k>>2]|0)){t=i;if((f[l>>2]|0)>>>0<=t>>>0?(f[m>>2]|0)>>>0>t>>>0:0){f[i>>2]=f[n>>2];f[n>>2]=i;break}if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{t=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}else Kc(j,i);while(0);f[h>>2]=0}}else ff(e);d[g>>1]=128;e=e+40|0}while(e>>>0>>0)}while(0);e=f[c+120>>2]|0;do if(e|0){if(a|0){if(f[a+480>>2]|0){Kc(a,e);break}t=e;if((f[a+304>>2]|0)>>>0<=t>>>0?(f[a+308>>2]|0)>>>0>t>>>0:0){t=a+300|0;f[e>>2]=f[t>>2];f[t>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{t=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);e=f[c+188>>2]|0;if(e|0){if(a|0){if(f[a+480>>2]|0){Kc(a,e);break}t=e;if((f[a+304>>2]|0)>>>0<=t>>>0?(f[a+308>>2]|0)>>>0>t>>>0:0){t=a+300|0;f[e>>2]=f[t>>2];f[t>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{t=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}}while(0);h=f[c+88>>2]|0;e=f[c+136>>2]|0;do if(h|0){if((e|0)>=1){e=h+((e+-1|0)*20|0)|0;do{g=b[e+1>>0]|0;if(g<<24>>24<-6)qg(a,g<<24>>24,f[e+16>>2]|0);e=e+-20|0}while(e>>>0>=h>>>0)}if(a|0){if(f[a+480>>2]|0){Kc(a,h);break}t=h;if((f[a+304>>2]|0)>>>0<=t>>>0?(f[a+308>>2]|0)>>>0>t>>>0:0){t=a+300|0;f[h>>2]=f[t>>2];f[t>>2]=h;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{t=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}}while(0);e=f[s>>2]|0;do if(e|0){if(a|0){if(f[a+480>>2]|0){Kc(a,e);break}t=e;if((f[a+304>>2]|0)>>>0<=t>>>0?(f[a+308>>2]|0)>>>0>t>>>0:0){t=a+300|0;f[e>>2]=f[t>>2];f[t>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{t=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);e=f[c+184>>2]|0;if(!e)return;if(a|0){if(f[a+480>>2]|0){Kc(a,e);return}t=e;if((f[a+304>>2]|0)>>>0<=t>>>0?(f[a+308>>2]|0)>>>0>t>>>0:0){t=a+300|0;f[e>>2]=f[t>>2];f[t>>2]=e;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);return}else{t=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);return}}function hg(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=f[b+8>>2]|0;if(c|0){j=(a|0)==0;l=b+56|0;m=a+480|0;n=a+304|0;o=a+308|0;i=a+300|0;do{g=c;c=f[c+20>>2]|0;if(!(!j?(f[m>>2]|0)!=0:0))p=5;if((p|0)==5?(0,(f[l>>2]|0)==0):0)pg((f[g+24>>2]|0)+24|0,f[g>>2]|0,0)|0;e=f[g+36>>2]|0;if(e|0)ig(a,e);e=f[g+40>>2]|0;if(e|0)jg(a,e);e=f[g+16>>2]|0;do if(e|0){if(!j){if(f[m>>2]|0){Kc(a,e);break}p=e;if((f[n>>2]|0)>>>0<=p>>>0?(f[o>>2]|0)>>>0>p>>>0:0){f[e>>2]=f[i>>2];f[i>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{p=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);p=g+55|0;do if(((h[p>>0]|h[p+1>>0]<<8)&16)!=0?(k=f[g+32>>2]|0,(k|0)!=0):0){if(!j){if(f[m>>2]|0){Kc(a,k);p=33;break}p=k;if((f[n>>2]|0)>>>0<=p>>>0?(f[o>>2]|0)>>>0>p>>>0:0){f[k>>2]=f[i>>2];f[i>>2]=k;p=33;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);p=32;break}else{p=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);p=32;break}}else p=32;while(0);if((p|0)==32)if(j)p=38;else p=33;do if((p|0)==33){p=0;if(f[m>>2]|0){Kc(a,g);break}e=g;if((f[n>>2]|0)>>>0<=e>>>0?(f[o>>2]|0)>>>0>e>>>0:0){f[g>>2]=f[i>>2];f[i>>2]=g}else p=38}while(0);do if((p|0)==38){p=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{e=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0)}while((c|0)!=0)}c=f[b+16>>2]|0;if(c|0){k=(a|0)==0;l=a+480|0;m=b+72|0;n=a+304|0;o=a+308|0;j=a+300|0;i=c;while(1){if(!(!k?(f[l>>2]|0)!=0:0)){g=i+16|0;c=f[g>>2]|0;e=i+12|0;if(!c){p=f[e>>2]|0;pg((f[m>>2]|0)+56|0,f[((p|0)==0?i:p)+8>>2]|0,p)|0}else f[c+12>>2]=f[e>>2];c=f[e>>2]|0;if(c|0)f[c+16>>2]=f[g>>2]}g=f[i+28>>2]|0;do if(g|0){e=f[g+28>>2]|0;c=f[e+16>>2]|0;if(c|0)ig(a,c);c=f[e+20>>2]|0;if(c|0)jg(a,c);c=f[e+8>>2]|0;if(c|0)mg(a,c,1);c=f[g+12>>2]|0;if(c|0)ig(a,c);if(!k){if(f[l>>2]|0){Kc(a,g);break}p=g;if((f[n>>2]|0)>>>0<=p>>>0?(f[o>>2]|0)>>>0>p>>>0:0){f[g>>2]=f[j>>2];f[j>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{p=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[i+32>>2]|0;a:do if(g){e=f[g+28>>2]|0;c=f[e+16>>2]|0;if(c|0)ig(a,c);c=f[e+20>>2]|0;if(c|0)jg(a,c);c=f[e+8>>2]|0;if(c|0)mg(a,c,1);c=f[g+12>>2]|0;if(c|0)ig(a,c);do if(!k){if(!(f[l>>2]|0)){c=g;if((f[n>>2]|0)>>>0>c>>>0)break;if((f[o>>2]|0)>>>0<=c>>>0)break;f[g>>2]=f[j>>2];f[j>>2]=g}else Kc(a,g);c=f[i+4>>2]|0;p=89;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);p=88;break}else{p=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);p=88;break}}else p=88;while(0);if((p|0)==88){c=f[i+4>>2]|0;if(k)p=94;else p=89}do if((p|0)==89){p=0;if(f[l>>2]|0){Kc(a,i);break}g=i;if((f[n>>2]|0)>>>0<=g>>>0?(f[o>>2]|0)>>>0>g>>>0:0){f[i>>2]=f[j>>2];f[j>>2]=i}else p=94}while(0);do if((p|0)==94){p=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{g=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);if(!c)break;else i=c}}m=b+4|0;e=f[m>>2]|0;do if(e|0){n=b+42|0;b:do if((d[n>>1]|0)>0){i=a+480|0;j=a+304|0;k=a+308|0;l=a+300|0;if(!a){g=0;while(1){c=f[e>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[e+4>>2]|0;if(c|0)ig(0,c);c=f[e+8>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);g=g+1|0;if((g|0)>=(d[n>>1]|0))break b;else e=e+16|0}}g=0;while(1){c=f[e>>2]|0;do if(c|0){if(f[i>>2]|0){Kc(a,c);break}o=c;if((f[j>>2]|0)>>>0<=o>>>0?(f[k>>2]|0)>>>0>o>>>0:0){f[c>>2]=f[l>>2];f[l>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=f[e+4>>2]|0;if(c|0)ig(a,c);c=f[e+8>>2]|0;do if(c|0){if(f[i>>2]|0){Kc(a,c);break}o=c;if((f[j>>2]|0)>>>0<=o>>>0?(f[k>>2]|0)>>>0>o>>>0:0){f[c>>2]=f[l>>2];f[l>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);g=g+1|0;if((g|0)>=(d[n>>1]|0))break;else e=e+16|0}}while(0);c=f[m>>2]|0;if(c|0){if(a|0){if(f[a+480>>2]|0){Kc(a,c);break}o=c;if((f[a+304>>2]|0)>>>0<=o>>>0?(f[a+308>>2]|0)>>>0>o>>>0:0){o=a+300|0;f[c>>2]=f[o>>2];f[o>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}}while(0);c=f[b>>2]|0;do if(c|0){if(a|0){if(f[a+480>>2]|0){Kc(a,c);break}o=c;if((f[a+304>>2]|0)>>>0<=o>>>0?(f[a+308>>2]|0)>>>0>o>>>0:0){o=a+300|0;f[c>>2]=f[o>>2];f[o>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=f[b+20>>2]|0;do if(c|0){if(a|0){if(f[a+480>>2]|0){Kc(a,c);break}o=c;if((f[a+304>>2]|0)>>>0<=o>>>0?(f[a+308>>2]|0)>>>0>o>>>0:0){o=a+300|0;f[c>>2]=f[o>>2];f[o>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=f[b+12>>2]|0;if(c|0)mg(a,c,1);c=f[b+24>>2]|0;if(c|0)jg(a,c);n=(a|0)==0;if(!(!n?(f[a+480>>2]|0)!=0:0))p=171;if((p|0)==171?(r=b+64|0,q=f[r>>2]|0,f[r>>2]=0,q|0):0){c=q;do{g=f[c>>2]|0;i=c+24|0;e=c;c=f[i>>2]|0;if(!g){f[r>>2]=e;f[i>>2]=0}else{q=g+360|0;f[i>>2]=f[q>>2];f[q>>2]=e}}while((c|0)!=0)}l=b+60|0;c:do if(f[l>>2]|0){m=b+56|0;d:do if((f[m>>2]|0)>0){g=a+480|0;i=a+304|0;j=a+308|0;k=a+300|0;if(n){c=0;while(1){do if((c|0)!=1?(s=f[(f[l>>2]|0)+(c<<2)>>2]|0,s|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{t=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}while(0);c=c+1|0;if((c|0)>=(f[m>>2]|0))break d}}c=0;do{e:do if((c|0)!=1?(t=f[(f[l>>2]|0)+(c<<2)>>2]|0,t|0):0){if(f[g>>2]|0){Kc(a,t);break}e=t;do if((f[i>>2]|0)>>>0<=e>>>0){if((f[j>>2]|0)>>>0<=e>>>0)break;f[t>>2]=f[k>>2];f[k>>2]=t;break e}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](t);break}else{s=ib[f[37368>>2]&255](t)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](t);break}}while(0);c=c+1|0}while((c|0)<(f[m>>2]|0))}while(0);c=f[l>>2]|0;if(c){do if(!n){if(!(f[a+480>>2]|0)){e=c;if((f[a+304>>2]|0)>>>0>e>>>0)break;if((f[a+308>>2]|0)>>>0<=e>>>0)break;t=a+300|0;f[c>>2]=f[t>>2];f[t>>2]=c}else Kc(a,c);c=b;p=211;break c}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);p=210;break}else{p=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);p=210;break}}else p=210}else p=210;while(0);if((p|0)==210)if(!n){c=b;p=211}if((p|0)==211){if(f[a+480>>2]|0){Kc(a,c);return}t=b;if((f[a+304>>2]|0)>>>0<=t>>>0?(f[a+308>>2]|0)>>>0>t>>>0:0){a=a+300|0;f[b>>2]=f[a>>2];f[a>>2]=b;return}else b=c}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);return}else{a=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);return}}function ig(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=c+4|0;d=f[e>>2]|0;if(!(d&8404992)){d=f[c+12>>2]|0;if(d|0?(b[c>>0]|0)!=-90:0)ig(a,d);d=f[c+16>>2]|0;do if(!d){d=c+20|0;if(!(f[e>>2]&2048)){d=f[d>>2]|0;if(!d)break;jg(a,d);break}else{d=f[d>>2]|0;if(!d)break;mg(a,d,1);break}}else ig(a,d);while(0);d=f[e>>2]|0;if(d&16777216){og(a,f[c+44>>2]|0);d=f[e>>2]|0}}do if(d&65536|0?(g=f[c+8>>2]|0,g|0):0){if(a|0){if(f[a+480>>2]|0){Kc(a,g);break}d=g;if((f[a+304>>2]|0)>>>0<=d>>>0?(f[a+308>>2]|0)>>>0>d>>>0:0){d=a+300|0;f[g>>2]=f[d>>2];f[d>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{d=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);if(f[e>>2]&32768|0)return;if(a|0){if(f[a+480>>2]|0){Kc(a,c);return}g=c;if((f[a+304>>2]|0)>>>0<=g>>>0?(f[a+308>>2]|0)>>>0>g>>>0:0){g=a+300|0;f[c>>2]=f[g>>2];f[g>>2]=c;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{g=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}function jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=f[b>>2]|0;c=b+4|0;g=(a|0)==0;h=a+480|0;i=a+304|0;j=a+308|0;k=a+300|0;if(g){e=d;while(1){d=f[c>>2]|0;if(d|0)ig(0,d);d=f[c+4>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{l=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);d=f[c+8>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{l=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);if((e|0)>1){c=c+20|0;e=e+-1|0}else break}}else{e=d;while(1){d=f[c>>2]|0;if(d|0)ig(a,d);d=f[c+4>>2]|0;do if(d|0){if(f[h>>2]|0){Kc(a,d);break}l=d;if((f[i>>2]|0)>>>0<=l>>>0?(f[j>>2]|0)>>>0>l>>>0:0){f[d>>2]=f[k>>2];f[k>>2]=d;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{l=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);d=f[c+8>>2]|0;do if(d|0){if(f[h>>2]|0){Kc(a,d);break}l=d;if((f[i>>2]|0)>>>0<=l>>>0?(f[j>>2]|0)>>>0>l>>>0:0){f[d>>2]=f[k>>2];f[k>>2]=d;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{l=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);if((e|0)>1){c=c+20|0;e=e+-1|0}else break}}if(!g){if(f[h>>2]|0){Kc(a,b);return}l=b;if((f[i>>2]|0)>>>0<=l>>>0?(f[j>>2]|0)>>>0>l>>>0:0){f[b>>2]=f[k>>2];f[k>>2]=b;return}}if(!b)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](b);return}else{l=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);return}}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!b)return;i=(a|0)==0;j=a+480|0;k=a+304|0;l=a+308|0;m=a+300|0;do{h=b;b=f[b+36>>2]|0;c=f[h+16>>2]|0;if(c|0)ig(a,c);c=f[h+20>>2]|0;if(c|0)jg(a,c);c=f[h+8>>2]|0;if(c|0)mg(a,c,1);c=f[h+24>>2]|0;do if(c|0){g=c+4|0;d=f[c>>2]|0;a:do if((f[g>>2]|0)>0){if(i){e=0;while(1){d=f[d+(e<<3)>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{n=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);e=e+1|0;d=f[c>>2]|0;if((e|0)>=(f[g>>2]|0))break a}}e=0;do{d=f[d+(e<<3)>>2]|0;do if(d|0){if(f[j>>2]|0){Kc(a,d);break}n=d;if((f[k>>2]|0)>>>0<=n>>>0?(f[l>>2]|0)>>>0>n>>>0:0){f[d>>2]=f[m>>2];f[m>>2]=d;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{n=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);e=e+1|0;d=f[c>>2]|0}while((e|0)<(f[g>>2]|0))}while(0);b:do if(d){do if(!i){if(!(f[j>>2]|0)){e=d;if((f[k>>2]|0)>>>0>e>>>0)break;if((f[l>>2]|0)>>>0<=e>>>0)break;f[d>>2]=f[m>>2];f[m>>2]=d}else Kc(a,d);d=41;break b}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](d);d=40;break}else{n=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);d=40;break}}else d=40;while(0);if((d|0)==40){d=0;if(!i)d=41}if((d|0)==41){if(f[j>>2]|0){Kc(a,c);break}n=c;if((f[k>>2]|0)>>>0<=n>>>0?(f[l>>2]|0)>>>0>n>>>0:0){f[c>>2]=f[m>>2];f[m>>2]=c;break}}if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{n=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);d=f[h+28>>2]|0;do if(d|0){c=f[d>>2]|0;if(c|0)jg(a,c);c=f[d+4>>2]|0;if(c|0)ig(a,c);c=f[d+8>>2]|0;if(c|0)jg(a,c);c=f[d+12>>2]|0;if(c|0)ig(a,c);if(!i){if(f[j>>2]|0){Kc(a,d);break}n=d;if((f[k>>2]|0)>>>0<=n>>>0?(f[l>>2]|0)>>>0>n>>>0:0){f[d>>2]=f[m>>2];f[m>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{n=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);c=f[h+32>>2]|0;c:do if(c){do if(!i){if(!(f[j>>2]|0)){d=c;if((f[k>>2]|0)>>>0>d>>>0)break;if((f[l>>2]|0)>>>0<=d>>>0)break;f[c>>2]=f[m>>2];f[m>>2]=c}else Kc(a,c);c=h;d=80;break c}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);d=79;break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);d=79;break}}else d=79;while(0);if((d|0)==79)if(i){c=h;d=85}else{c=h;d=80}do if((d|0)==80){d=0;if(f[j>>2]|0){Kc(a,c);break}n=c;if((f[k>>2]|0)>>>0<=n>>>0?(f[l>>2]|0)>>>0>n>>>0:0){f[c>>2]=f[m>>2];f[m>>2]=c}else d=85}while(0);do if((d|0)==85)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{n=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0)}while((b|0)!=0);return}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;if(!b)return;d=a+480|0;e=a+304|0;g=a+308|0;h=a+300|0;if(!a){do{c=b;b=f[b+12>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{h=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((b|0)!=0);return}do{c=b;b=f[b+12>>2]|0;do if(!(f[d>>2]|0)){i=c;if((f[e>>2]|0)>>>0<=i>>>0?(f[g>>2]|0)>>>0>i>>>0:0){f[c>>2]=f[h>>2];f[h>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}else Kc(a,c);while(0)}while((b|0)!=0);return}function mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!b)return;j=(a|0)==0;k=a+480|0;l=a+304|0;m=a+308|0;n=a+300|0;while(1){i=b;b=f[b+52>>2]|0;d=f[i>>2]|0;if(d|0)jg(a,d);ng(a,f[i+32>>2]|0);d=f[i+36>>2]|0;if(d|0)ig(a,d);d=f[i+40>>2]|0;if(d|0)jg(a,d);d=f[i+44>>2]|0;if(d|0)ig(a,d);d=f[i+48>>2]|0;if(d|0)jg(a,d);d=f[i+60>>2]|0;if(d|0)ig(a,d);d=f[i+72>>2]|0;if(d|0)do{h=d;d=f[d+24>>2]|0;og(a,h)}while((d|0)!=0);h=f[i+64>>2]|0;do if(h|0){a:do if((f[h>>2]|0)>0){if(j){e=0;while(1){d=f[h+8+(e<<4)+4>>2]|0;if(d|0)jg(0,d);d=f[h+8+(e<<4)+8>>2]|0;if(d|0)mg(0,d,1);d=f[h+8+(e<<4)>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{g=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);e=e+1|0;if((e|0)>=(f[h>>2]|0))break a}}g=0;do{d=f[h+8+(g<<4)+4>>2]|0;if(d|0)jg(a,d);d=f[h+8+(g<<4)+8>>2]|0;if(d|0)mg(a,d,1);d=f[h+8+(g<<4)>>2]|0;b:do if(d|0){if(f[k>>2]|0){Kc(a,d);break}e=d;do if((f[l>>2]|0)>>>0<=e>>>0){if((f[m>>2]|0)>>>0<=e>>>0)break;f[d>>2]=f[n>>2];f[n>>2]=d;break b}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{e=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);g=g+1|0}while((g|0)<(f[h>>2]|0))}while(0);if(!j){if(f[k>>2]|0){Kc(a,h);break}g=h;if((f[l>>2]|0)>>>0<=g>>>0?(f[m>>2]|0)>>>0>g>>>0:0){f[h>>2]=f[n>>2];f[n>>2]=h;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{g=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}}while(0);do if(c|0){if(!j){if(f[k>>2]|0){Kc(a,i);break}h=i;if((f[l>>2]|0)>>>0<=h>>>0?(f[m>>2]|0)>>>0>h>>>0:0){f[i>>2]=f[n>>2];f[n>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{h=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);if(!b)break;else c=1}return}function ng(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!c)return;if((f[c>>2]|0)>0){n=(a|0)==0;o=a+480|0;q=a+304|0;r=a+308|0;l=a+300|0;j=0;k=c+8|0;while(1){d=f[k+4>>2]|0;do if(d|0){if(!n){if(f[o>>2]|0){Kc(a,d);break}i=d;if((f[q>>2]|0)>>>0<=i>>>0?(f[r>>2]|0)>>>0>i>>>0:0){f[d>>2]=f[l>>2];f[l>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);d=f[k+8>>2]|0;do if(d|0){if(!n){if(f[o>>2]|0){Kc(a,d);break}i=d;if((f[q>>2]|0)>>>0<=i>>>0?(f[r>>2]|0)>>>0>i>>>0:0){f[d>>2]=f[l>>2];f[l>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);d=f[k+12>>2]|0;do if(d|0){if(!n){if(f[o>>2]|0){Kc(a,d);break}i=d;if((f[q>>2]|0)>>>0<=i>>>0?(f[r>>2]|0)>>>0>i>>>0:0){f[d>>2]=f[l>>2];f[l>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);d=k+37|0;do if(b[d>>0]&2?(p=f[k+64>>2]|0,p|0):0){if(!n){if(f[o>>2]|0){Kc(a,p);break}i=p;if((f[q>>2]|0)>>>0<=i>>>0?(f[r>>2]|0)>>>0>i>>>0:0){f[p>>2]=f[l>>2];f[l>>2]=p;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{i=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}while(0);if(b[d>>0]&4?(m=f[k+64>>2]|0,m|0):0)jg(a,m);d=f[k+16>>2]|0;do if(d|0){if(!n?f[o>>2]|0:0){hg(a,d);break}h=d+32|0;i=(f[h>>2]|0)+-1|0;f[h>>2]=i;if(!i)hg(a,d)}while(0);d=f[k+20>>2]|0;if(d|0)mg(a,d,1);d=f[k+44>>2]|0;if(d|0)ig(a,d);d=f[k+48>>2]|0;do if(d|0){i=d+4|0;e=f[d>>2]|0;a:do if((f[i>>2]|0)>0){if(n){g=0;while(1){e=f[e+(g<<3)>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{h=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);g=g+1|0;e=f[d>>2]|0;if((g|0)>=(f[i>>2]|0))break a}}h=0;do{e=f[e+(h<<3)>>2]|0;b:do if(e|0){if(f[o>>2]|0){Kc(a,e);break}g=e;do if((f[q>>2]|0)>>>0<=g>>>0){if((f[r>>2]|0)>>>0<=g>>>0)break;f[e>>2]=f[l>>2];f[l>>2]=e;break b}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{g=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);h=h+1|0;e=f[d>>2]|0}while((h|0)<(f[i>>2]|0))}while(0);c:do if(e){do if(!n){if(!(f[o>>2]|0)){g=e;if((f[q>>2]|0)>>>0>g>>>0)break;if((f[r>>2]|0)>>>0<=g>>>0)break;f[e>>2]=f[l>>2];f[l>>2]=e}else Kc(a,e);e=90;break c}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);e=89;break}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);e=89;break}}else e=89;while(0);if((e|0)==89){e=0;if(!n)e=90}if((e|0)==90){if(f[o>>2]|0){Kc(a,d);break}i=d;if((f[q>>2]|0)>>>0<=i>>>0?(f[r>>2]|0)>>>0>i>>>0:0){f[d>>2]=f[l>>2];f[l>>2]=d;break}}if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);j=j+1|0;if((j|0)>=(f[c>>2]|0))break;else k=k+72|0}}if(a|0){if(f[a+480>>2]|0){Kc(a,c);return}r=c;if((f[a+304>>2]|0)>>>0<=r>>>0?(f[a+308>>2]|0)>>>0>r>>>0:0){r=a+300|0;f[c>>2]=f[r>>2];f[r>>2]=c;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{r=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}function og(a,b){a=a|0;b=b|0;var c=0,d=0;if(!b)return;c=f[b+28>>2]|0;if(c|0)ig(a,c);c=f[b+4>>2]|0;if(c|0)jg(a,c);c=f[b+8>>2]|0;if(c|0)jg(a,c);c=f[b+20>>2]|0;if(c|0)ig(a,c);c=f[b+16>>2]|0;if(c|0)ig(a,c);c=f[b>>2]|0;a:do if(c){do if(a|0){if(!(f[a+480>>2]|0)){d=c;if((f[a+304>>2]|0)>>>0>d>>>0)break;if((f[a+308>>2]|0)>>>0<=d>>>0)break;d=a+300|0;f[c>>2]=f[d>>2];f[d>>2]=c}else Kc(a,c);c=b;d=24;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);d=23;break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);d=23;break}}else d=23;while(0);if((d|0)==23)if(a){c=b;d=24}if((d|0)==24){if(f[a+480>>2]|0){Kc(a,c);return}d=b;if((f[a+304>>2]|0)>>>0<=d>>>0?(f[a+308>>2]|0)>>>0>d>>>0:0){a=a+300|0;f[b>>2]=f[a>>2];f[a>>2]=b;return}else b=c}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);return}else{a=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);return}}function pg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+12|0;o=f[t>>2]|0;n=(o|0)==0;if(n){g=0;e=a+4|0;i=a+8|0}else{g=b[c>>0]|0;if(!(g<<24>>24))e=0;else{e=0;i=c;do{i=i+1|0;e=U(e+(h[1232+(g&255)>>0]|0)|0,-1640531535)|0;g=b[i>>0]|0}while(g<<24>>24!=0)}i=(e>>>0)%((f[a>>2]|0)>>>0)|0;g=i;e=o+(i<<3)|0;i=o+(i<<3)+4|0}e=f[e>>2]|0;a:do if(!e)k=72124;else{m=h[1232+(h[c>>0]|0)>>0]|0;while(1){i=f[i>>2]|0;e=e+-1|0;k=f[i+12>>2]|0;r=b[k>>0]|0;j=(h[1232+(r&255)>>0]|0)-m|0;if(!(r<<24>>24==0|(j|0)!=0)){l=c;do{k=k+1|0;l=l+1|0;r=b[k>>0]|0;j=(h[1232+(r&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(r<<24>>24==0|(j|0)!=0))}if(!j){k=i;break a}if(!e){k=72124;break}}}while(0);e=k+8|0;l=f[e>>2]|0;i=(d|0)==0;if(l|0){if(!i){f[e>>2]=d;f[k+12>>2]=c;a=l;return a|0}c=f[k+4>>2]|0;e=f[k>>2]|0;if(!c){f[a+8>>2]=e;i=e;j=e}else{f[c>>2]=e;j=f[k>>2]|0;i=j}if(i|0)f[i+4>>2]=c;if(!n){e=o+(g<<3)+4|0;if((f[e>>2]|0)==(k|0))f[e>>2]=j;s=o+(g<<3)|0;f[s>>2]=(f[s>>2]|0)+-1}if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{s=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}c=a+4|0;s=(f[c>>2]|0)+-1|0;f[c>>2]=s;if(s|0){a=l;return a|0}g=a+8|0;e=f[g>>2]|0;f[g>>2]=0;g=f[t>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{s=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[t>>2]=0;f[a>>2]=0;if(e|0)do{g=e;e=f[e>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](g);else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g)}}while((e|0)!=0);f[c>>2]=0;a=l;return a|0}if(i){a=0;return a|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](16)|0;if(!e){a=d;return a|0}else r=e}else{e=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;j=71896;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){r=f[18187]|0;o=LA(i|0,j|0,e|0,((e|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&o>>>0<=r>>>0)&1}i=ib[f[37356>>2]&255](e)|0;if(!i){a=d;return a|0}e=ib[f[37368>>2]&255](i)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0){f[18196]=e;r=i}else r=i}f[r+12>>2]=c;f[r+8>>2]=d;d=a+4|0;e=(f[d>>2]|0)+1|0;f[d>>2]=e;if((e>>>0>9?(p=f[a>>2]|0,e>>>0>p<<1>>>0):0)?(q=e<<4>>>0>1024?128:e<<1,(q|0)!=(p|0)):0){e=q<<3;q=KA(e|0,0,-1,-1)|0;p=ba()|0;do if(!(p>>>0>0|(p|0)==0&q>>>0>2147483390)){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](e)|0;break}j=ib[f[37372>>2]&255](e)|0;if((f[18194]|0)>>>0>>0)f[18194]=e;i=71896;e=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&e>>>0>0){q=f[18187]|0;p=LA(e|0,i|0,j|0,((j|0)<0)<<31>>31|0)|0;d=ba()|0;f[17976]=((d|0)<0|(d|0)==0&p>>>0<=q>>>0)&1}i=ib[f[37356>>2]&255](j)|0;if(i){e=ib[f[37368>>2]&255](i)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}else i=0}else i=0;while(0);if(i){e=f[t>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{q=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[t>>2]=i;o=ib[f[37368>>2]&255](i)|0;n=o>>>3;f[a>>2]=n;_A(i|0,0,o&-8|0)|0;o=a+8|0;e=f[o>>2]|0;f[o>>2]=0;if(e|0){j=0;while(1){k=f[e+12>>2]|0;l=b[k>>0]|0;if(!(l<<24>>24))g=0;else{g=0;do{k=k+1|0;g=U(g+(h[1232+(l&255)>>0]|0)|0,-1640531535)|0;l=b[k>>0]|0}while(l<<24>>24!=0)}k=(g>>>0)%(n>>>0)|0;g=e;e=f[e>>2]|0;l=i+(k<<3)|0;do if(l){m=f[l>>2]|0;if(!m){f[l>>2]=1;f[i+(k<<3)+4>>2]=g;s=86;break}q=i+(k<<3)+4|0;k=f[q>>2]|0;f[l>>2]=m+1;f[q>>2]=g;if(k){f[g>>2]=k;l=k+4|0;f[g+4>>2]=f[l>>2];k=f[l>>2]|0;if(!k){f[o>>2]=g;j=g}else f[k>>2]=g;f[l>>2]=g;g=j}else s=86}else s=86;while(0);if((s|0)==86){s=0;f[g>>2]=j;if(j|0)f[j+4>>2]=g;f[g+4>>2]=0;f[o>>2]=g}if(!e)break;else j=g}}g=b[c>>0]|0;if(!(g<<24>>24))e=0;else{e=0;do{c=c+1|0;e=U(e+(h[1232+(g&255)>>0]|0)|0,-1640531535)|0;g=b[c>>0]|0}while(g<<24>>24!=0)}g=(e>>>0)%((f[a>>2]|0)>>>0)|0}}e=f[t>>2]|0;c=e+(g<<3)|0;do if(!((e|0)==0|(c|0)==0)){i=f[c>>2]|0;if(!i){f[c>>2]=1;f[e+(g<<3)+4>>2]=r;break}t=e+(g<<3)+4|0;e=f[t>>2]|0;f[c>>2]=i+1;f[t>>2]=r;if(e|0){f[r>>2]=e;t=e+4|0;f[r+4>>2]=f[t>>2];s=f[t>>2]|0;f[((s|0)==0?a+8|0:s)>>2]=r;f[t>>2]=r;a=0;return a|0}}while(0);e=a+8|0;g=f[e>>2]|0;f[r>>2]=g;if(g|0)f[g+4>>2]=r;f[r+4>>2]=0;f[e>>2]=r;a=0;return a|0}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;switch(b|0){case -16:{rg(a,c);return}case -15:case -17:case -7:case -14:case -13:{if(!c)return;if(a|0){if(f[a+480>>2]|0){Kc(a,c);return}b=c;if((f[a+304>>2]|0)>>>0<=b>>>0?(f[a+308>>2]|0)>>>0>b>>>0:0){b=a+300|0;f[c>>2]=f[b>>2];f[b>>2]=c;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{b=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}case -9:{if((c|0)==0|(f[a+480>>2]|0)!=0)return;b=(f[c>>2]|0)+-1|0;f[c>>2]=b;if(b|0)return;a=f[c+12>>2]|0;if(a|0){if(f[a+480>>2]|0){Kc(a,c);return}b=c;if((f[a+304>>2]|0)>>>0<=b>>>0?(f[a+308>>2]|0)>>>0>b>>>0:0){b=a+300|0;f[c>>2]=f[b>>2];f[b>>2]=c;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{b=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}case -8:{if(!(f[c+4>>2]&16))return;if(a|0){if(f[a+480>>2]|0){Kc(a,c);return}b=c;if((f[a+304>>2]|0)>>>0<=b>>>0?(f[a+308>>2]|0)>>>0>b>>>0:0){b=a+300|0;f[c>>2]=f[b>>2];f[b>>2]=c;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{b=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}case -11:{if(f[a+480>>2]|0){sg(a,c);return}if(!c)return;if(!((d[c+8>>1]&9216)==0?!(f[c+24>>2]|0):0))ff(c);a=f[c+32>>2]|0;if(a|0){if(f[a+480>>2]|0){Kc(a,c);return}b=c;if((f[a+304>>2]|0)>>>0<=b>>>0?(f[a+308>>2]|0)>>>0>b>>>0:0){b=a+300|0;f[c>>2]=f[b>>2];f[b>>2]=c;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{b=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}case -12:{if(f[a+480>>2]|0)return;a=f[c>>2]|0;e=c+12|0;b=(f[e>>2]|0)+-1|0;f[e>>2]=b;if(b|0)return;b=f[c+8>>2]|0;if(b|0)ib[f[(f[b>>2]|0)+16>>2]&255](b)|0;if(a|0){if(f[a+480>>2]|0){Kc(a,c);return}e=c;if((f[a+304>>2]|0)>>>0<=e>>>0?(f[a+308>>2]|0)>>>0>e>>>0:0){e=a+300|0;f[c>>2]=f[e>>2];f[e>>2]=c;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}default:return}}function rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=f[b+4>>2]|0;a:do if(f[e+4>>2]&16){do if(a|0){c=a+480|0;if(!(f[c>>2]|0)){d=e;if((f[a+304>>2]|0)>>>0>d>>>0)break;if((f[a+308>>2]|0)>>>0<=d>>>0)break;d=a+300|0;f[e>>2]=f[d>>2];f[d>>2]=e}else Kc(a,e);d=14;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);d=12;break}else{d=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);d=12;break}}else d=12;while(0);if((d|0)==12)if(a){c=a+480|0;d=14}if((d|0)==14){if(f[c>>2]|0){Kc(a,b);return}e=b;if((f[a+304>>2]|0)>>>0<=e>>>0?(f[a+308>>2]|0)>>>0>e>>>0:0){a=a+300|0;f[b>>2]=f[a>>2];f[a>>2]=b;return}}if(!b)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](b);return}else{a=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);return}}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;a:do if((f[b+24>>2]|0)!=0?(e=f[b+20>>2]|0,(e|0)!=0):0){do if(a|0){c=a+480|0;if(!(f[c>>2]|0)){d=e;if((f[a+304>>2]|0)>>>0>d>>>0)break;if((f[a+308>>2]|0)>>>0<=d>>>0)break;d=a+300|0;f[e>>2]=f[d>>2];f[d>>2]=e}else Kc(a,e);d=15;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);d=13;break}else{d=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);d=13;break}}else d=13;while(0);if((d|0)==13)if(a){c=a+480|0;d=15}if((d|0)==15){if(f[c>>2]|0){Kc(a,b);return}e=b;if((f[a+304>>2]|0)>>>0<=e>>>0?(f[a+308>>2]|0)>>>0>e>>>0:0){a=a+300|0;f[b>>2]=f[a>>2];f[a>>2]=b;return}}if(!b)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](b);return}else{a=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);return}}function tg(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=t;t=t+64|0;D=N+40|0;G=N+32|0;F=N+24|0;E=N+16|0;A=N+8|0;z=N;C=N+48|0;K=f[a>>2]|0;L=a+20|0;if((f[L>>2]|0)!=770837923){M=0;t=N;return M|0}M=K+81|0;if(b[M>>0]|0)f[a+40>>2]=7;g=a+192|0;c=f[g>>2]|0;if(c|0){while(1){e=f[c+4>>2]|0;if(!e)break;else c=e}Cg(c)|0;f[g>>2]=0;f[a+200>>2]=0}k=a+112|0;e=f[k>>2]|0;a:do if(e|0?(l=a+28|0,i=f[l>>2]|0,(i|0)>0):0){c=0;g=i;while(1){e=f[e+(c<<2)>>2]|0;if(!e)e=g;else{Dg(a,e);f[(f[k>>2]|0)+(c<<2)>>2]=0;e=f[l>>2]|0}c=c+1|0;if((c|0)>=(e|0))break a;g=e;e=f[k>>2]|0}}while(0);c=f[a+92>>2]|0;b:do if(c|0?(m=f[a+24>>2]|0,m|0):0){p=c+(m*40|0)|0;k=f[c+32>>2]|0;l=k+480|0;e=(k|0)==0;m=k+304|0;n=k+308|0;o=k+300|0;if(f[l>>2]|0){if(e)while(1){do if(f[c+24>>2]|0?(q=f[c+20>>2]|0,q|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{H=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);c=c+40|0;if(c>>>0>=p>>>0)break b}while(1){do if(f[c+24>>2]|0?(r=f[c+20>>2]|0,r|0):0){if(f[l>>2]|0){Kc(k,r);break}H=r;if((f[m>>2]|0)>>>0<=H>>>0?(f[n>>2]|0)>>>0>H>>>0:0){f[r>>2]=f[o>>2];f[o>>2]=r;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{H=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}while(0);c=c+40|0;if(c>>>0>=p>>>0)break b}}if(e)while(1){g=c+8|0;if(!(d[g>>1]&9216)){i=c+24|0;if(f[i>>2]|0){e=f[c+20>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{H=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[i>>2]=0}}else ff(c);d[g>>1]=128;c=c+40|0;if(c>>>0>=p>>>0)break b}do{e=c+8|0;if(!(d[e>>1]&9216)){g=c+24|0;if(f[g>>2]|0){i=f[c+20>>2]|0;do if(!(f[l>>2]|0)){H=i;if((f[m>>2]|0)>>>0<=H>>>0?(f[n>>2]|0)>>>0>H>>>0:0){f[i>>2]=f[o>>2];f[o>>2]=i;break}if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{H=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}else Kc(k,i);while(0);f[g>>2]=0}}else ff(c);d[e>>1]=128;c=c+40|0}while(c>>>0

>>0)}while(0);s=a+196|0;c=f[s>>2]|0;if(c|0)do{f[s>>2]=f[c+4>>2];e=c+80|0;i=c+60|0;g=f[i>>2]|0;k=e+(g*40|0)|0;l=c+64|0;if((f[l>>2]|0)>0){g=0;do{Dg(f[c>>2]|0,f[k+(g<<2)>>2]|0);g=g+1|0}while((g|0)<(f[l>>2]|0));g=f[i>>2]|0}c:do if(g|0){r=e+(g*40|0)|0;m=f[c+112>>2]|0;n=m+480|0;g=(m|0)==0;o=m+304|0;p=m+308|0;q=m+300|0;if(f[n>>2]|0){if(g)while(1){do if(f[e+24>>2]|0?(u=f[e+20>>2]|0,u|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{H=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}while(0);e=e+40|0;if(e>>>0>=r>>>0)break c}while(1){d:do if(f[e+24>>2]|0?(v=f[e+20>>2]|0,v|0):0){if(f[n>>2]|0){Kc(m,v);break}g=v;do if((f[o>>2]|0)>>>0<=g>>>0){if((f[p>>2]|0)>>>0<=g>>>0)break;f[v>>2]=f[q>>2];f[q>>2]=v;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](v);break}else{H=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);break}}while(0);e=e+40|0;if(e>>>0>=r>>>0)break c}}if(g)while(1){g=e+8|0;if(!(d[g>>1]&9216)){i=e+24|0;if(f[i>>2]|0){k=f[e+20>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{H=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[i>>2]=0}}else ff(e);d[g>>1]=128;e=e+40|0;if(e>>>0>=r>>>0)break c}do{g=e+8|0;if(!(d[g>>1]&9216)){i=e+24|0;if(f[i>>2]|0){k=f[e+20>>2]|0;e:do if(!(f[n>>2]|0)){l=k;do if((f[o>>2]|0)>>>0<=l>>>0){if((f[p>>2]|0)>>>0<=l>>>0)break;f[k>>2]=f[q>>2];f[q>>2]=k;break e}while(0);if(!k)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{H=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}else Kc(m,k);while(0);f[i>>2]=0}}else ff(e);d[g>>1]=128;e=e+40|0}while(e>>>0>>0)}while(0);i=f[f[c>>2]>>2]|0;o=c+40|0;e=f[o>>2]|0;f:do if(e|0){k=i+480|0;l=i+304|0;m=i+308|0;n=i+300|0;if(!i)while(1){g=f[e+12>>2]|0;if(g|0)ob[g&127](f[e+8>>2]|0);f[o>>2]=f[e+16>>2];if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{H=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}e=f[o>>2]|0;if(!e)break f}do{g=f[e+12>>2]|0;if(g|0)ob[g&127](f[e+8>>2]|0);f[o>>2]=f[e+16>>2];do if(!(f[k>>2]|0)){H=e;if((f[l>>2]|0)>>>0<=H>>>0?(f[m>>2]|0)>>>0>H>>>0:0){f[e>>2]=f[n>>2];f[n>>2]=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{H=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}else Kc(i,e);while(0);e=f[o>>2]|0}while((e|0)!=0)}while(0);e=f[f[c>>2]>>2]|0;do if(e){if(f[e+480>>2]|0){Kc(e,c);break}H=c;if((f[e+304>>2]|0)>>>0<=H>>>0?(f[e+308>>2]|0)>>>0>H>>>0:0){H=e+300|0;f[c>>2]=f[H>>2];f[H>>2]=c}else I=145}else I=145;while(0);do if((I|0)==145){I=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{H=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=f[s>>2]|0}while((c|0)!=0);n=a+212|0;c=f[n>>2]|0;g:do if(c|0){g=f[a>>2]|0;i=g+480|0;k=g+304|0;l=g+308|0;m=g+300|0;if(!g)while(1){e=f[c+12>>2]|0;if(e|0)ob[e&127](f[c+8>>2]|0);f[n>>2]=f[c+16>>2];if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{H=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}c=f[n>>2]|0;if(!c)break g}do{e=f[c+12>>2]|0;if(e|0)ob[e&127](f[c+8>>2]|0);f[n>>2]=f[c+16>>2];do if(!(f[i>>2]|0)){H=c;if((f[k>>2]|0)>>>0<=H>>>0?(f[l>>2]|0)>>>0>H>>>0:0){f[c>>2]=f[m>>2];f[m>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{H=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}else Kc(g,c);while(0);c=f[n>>2]|0}while((c|0)!=0)}while(0);v=a+36|0;if((f[v>>2]|0)>-1){H=a+145|0;if((h[H>>0]|h[H+1>>0]<<8)&512){e=f[a+152>>2]|0;if(e|0?(x=f[a>>2]|0,w=f[x+16>>2]|0,x=f[x+20>>2]|0,(x|0)>0):0){c=0;do{if(((c|0)!=1?1<>2]|0,y|0):0)f[(f[y+4>>2]|0)+4>>2]=f[y>>2];c=c+1|0}while((c|0)!=(x|0))}u=a+40|0;e=f[u>>2]|0;g=e&255;h:do switch(g<<24>>24){case 13:case 7:case 9:case 10:{c=h[H>>0]|h[H+1>>0]<<8;if((e&255|0)!=9|(c&256)==0){switch(g<<24>>24){case 7:case 13:{if(c&128){c=2;g=1;break h}break}default:{}}Eg(K,516);g=K+444|0;c=f[g>>2]|0;if(c|0){i=K+480|0;k=K+304|0;l=K+308|0;m=K+300|0;do{f[g>>2]=f[c+24>>2];i:do if(!(f[i>>2]|0)){e=c;do if((f[k>>2]|0)>>>0<=e>>>0){if((f[l>>2]|0)>>>0<=e>>>0)break;f[c>>2]=f[m>>2];f[m>>2]=c;break i}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{y=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}else Kc(K,c);while(0);c=f[g>>2]|0}while((c|0)!=0)}f[K+452>>2]=0;f[K+456>>2]=0;b[K+87>>0]=0;b[K+79>>0]=1;f[a+44>>2]=0;c=0;e=f[u>>2]|0;g=1}else{c=0;g=1}break}default:{c=0;g=0}}while(0);if((e|0)==0?(y=a+64|0,x=f[y+4>>2]|0,(x|0)>0|(x|0)==0&(f[y>>2]|0)>>>0>0):0){f[u>>2]=787;b[a+142>>0]=2;Fg(a,42524,z)}s=K+332|0;e=f[s>>2]|0;if((e|0)>0?(f[K+356>>2]|0)==0:0)I=460;else if((b[K+79>>0]|0)!=0?(f[K+176>>2]|0)==((((h[H>>0]|h[H+1>>0]<<8)&65535)>>>8&1^1)&65535|0):0){if((f[u>>2]|0)!=0?g|(b[a+142>>0]|0)!=3:0){Eg(K,0);f[a+44>>2]=0}else I=205;j:do if((I|0)==205){y=f[a>>2]|0;z=y+464|0;y=y+472|0;z=KA(f[y>>2]|0,f[y+4>>2]|0,f[z>>2]|0,f[z+4>>2]|0)|0;y=ba()|0;k:do if((y|0)>0|(y|0)==0&z>>>0>0){f[u>>2]=787;b[a+142>>0]=2;Fg(a,42524,A);if(!((h[H>>0]|h[H+1>>0]<<8)&256)){e=787;break}else c=1;t=N;return c|0}else{r=K+356|0;p=f[r>>2]|0;f[r>>2]=0;q=a+108|0;l:do if((e|0)>0){o=0;m:while(1){g=f[(f[p+(o<<2)>>2]|0)+8>>2]|0;do if(g|0){e=f[(f[g>>2]|0)+60>>2]|0;if(!e)break;e=ib[e&255](g)|0;n=g+8|0;if(f[n>>2]|0){k=f[a>>2]|0;g=f[q>>2]|0;n:do if(g|0){do if(k|0){if(f[k+480>>2]|0){Kc(k,g);break n}i=g;if((f[k+304>>2]|0)>>>0>i>>>0)break;if((f[k+308>>2]|0)>>>0<=i>>>0)break;A=k+300|0;f[g>>2]=f[A>>2];f[A>>2]=g;break n}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{A=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);l=f[n>>2]|0;o:do if(!l)g=0;else{m=(wz(l)|0)+1|0;p:do if(!k){A=KA(m|0,0,-1,-1)|0;z=ba()|0;if(z>>>0>0|(z|0)==0&A>>>0>2147483390){g=0;break o}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](m)|0;I=247;break}g=ib[f[37372>>2]&255](m)|0;if((f[18194]|0)>>>0>>0)f[18194]=m;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){A=f[18187]|0;z=LA(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;y=ba()|0;f[17976]=((y|0)<0|(y|0)==0&z>>>0<=A>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break o}i=ib[f[37368>>2]&255](g)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0<=(f[18196]|0)>>>0)break;f[18196]=i}else{if(f[k+272>>2]|0){if(b[k+81>>0]|0){g=0;break o}}else{do if(!(0<0|(0==0?(j[k+276>>1]|0)>>>0>>0:0))){i=k+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];I=k+284|0;f[I>>2]=(f[I>>2]|0)+1;I=247;break p}i=k+296|0;g=f[i>>2]|0;if(!g){g=k+292|0;break}else{f[i>>2]=f[g>>2];I=k+284|0;f[I>>2]=(f[I>>2]|0)+1;I=247;break p}}else g=k+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(k,m,0)|0;I=247}while(0);if((I|0)==247){I=0;if(!g){g=0;break}}YA(g|0,l|0,m|0)|0}while(0);f[q>>2]=g;g=f[n>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{A=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[n>>2]=0}if(e|0)break m}while(0);o=o+1|0;if((o|0)>=(f[s>>2]|0)){I=257;break l}}f[r>>2]=p;I=454}else I=257;while(0);q:do if((I|0)==257){f[r>>2]=p;p=K+20|0;q=K+16|0;o=0;g=0;i=0;while(1){if((o|0)>=(f[p>>2]|0))break;k=f[q>>2]|0;e=f[k+(o<<4)+4>>2]|0;r:do if(!e)e=0;else{if((b[e+8>>0]|0)!=2){e=0;break}i=f[e+4>>2]|0;f[i+4>>2]=f[e>>2];i=f[i>>2]|0;do if((b[k+(o<<4)+8>>0]|0)!=1){if(!(11>>>(h[i+5>>0]|0)&1))break;g=g+((b[i+12>>0]|0)==0&1)|0}while(0);e=f[i+40>>2]|0;if(e|0){i=1;break}if(f[i+216>>2]|0){e=0;i=1;break}k=i+17|0;l=i+13|0;m=i+60|0;n=i+176|0;i=i+180|0;s:while(1){switch(b[k>>0]|0){case 0:case 1:case 2:case 3:case 5:break;default:{e=0;i=1;break r}}if(b[l>>0]|0)break;e=f[m>>2]|0;e=jb[f[(f[e>>2]|0)+28>>2]&255](e,4)|0;switch(e|0){case 0:break s;case 5:break;default:{i=1;break r}}if(!(ib[f[n>>2]&255](f[i>>2]|0)|0)){e=5;i=1;break r}}b[k>>0]=4;e=0;i=1}while(0);if(!e)o=o+1|0;else{I=454;break q}}do if(i|0){e=f[K+216>>2]|0;if(!e)break;if(ib[e&255](f[K+212>>2]|0)|0){e=531;break k}}while(0);i=f[f[(f[(f[q>>2]|0)+4>>2]|0)+4>>2]>>2]|0;k=(b[i+15>>0]|0)==0;if(k){e=f[i+168>>2]|0;if(e|0)I=278}else{e=72788;I=278}do if((I|0)==278){if((g|0)<2|((wz(e)|0)&1073741823|0)==0)break;n=f[K>>2]|0;if(k){e=f[i+168>>2]|0;if(!e){g=0;e=0}else I=320}else{e=72788;I=320}if((I|0)==320)g=(wz(e)|0)&1073741823;f[E>>2]=e;o=Ig(K,42554,E)|0;t:do if(o){i=o+g|0;k=n+32|0;g=0;u:while(1){do if(g|0){if(g>>>0>100){I=327;break u}if((g|0)!=1)break;f[F>>2]=o;Ac(13,42570,F)}while(0);zd(4,E);e=f[E>>2]|0;f[D>>2]=e>>>8;f[D+4>>2]=e&255;vd(13,i,42599,D)|0;e=lb[f[k>>2]&127](n,o,0,C)|0;l=(e|0)==0;if(l&(f[C>>2]|0)!=0)g=g+1|0;else{I=329;break}}if((I|0)==327){f[G>>2]=o;Ac(13,42585,G);kb[f[n+28>>2]&127](n,o,0)|0;I=330}else if((I|0)==329)if(l)I=330;v:do if((I|0)==330){k=f[n+4>>2]|0;G=KA(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;F=ba()|0;if(F>>>0>0|(F|0)==0&G>>>0>2147483390){e=7;break}do if(!(f[9328]|0)){e=ib[f[37356>>2]&255](k)|0;if(!e){e=7;break v}else m=e}else{e=ib[f[37372>>2]&255](k)|0;if((f[18194]|0)>>>0>>0)f[18194]=k;i=71896;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){G=f[18187]|0;F=LA(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;E=ba()|0;f[17976]=((E|0)<0|(E|0)==0&F>>>0<=G>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(!g){e=7;break v}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0<=(f[18196]|0)>>>0){m=g;break}f[18196]=e;m=g}while(0);_A(m|0,0,k|0)|0;e=mb[f[n+24>>2]&127](n,o,m,16406,0)|0;if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{I=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}e=f[p>>2]|0;w:do if((e|0)>0){l=0;k=0;i=0;x:while(1){g=f[(f[q>>2]|0)+(l<<4)+4>>2]|0;do if(!g)g=k;else{if((b[g+8>>0]|0)!=2){g=k;break}g=f[(f[f[g+4>>2]>>2]|0)+172>>2]|0;if(!g){g=k;break}e=((wz(g)|0)&1073741823)+1|0;e=mb[f[(f[m>>2]|0)+12>>2]&127](m,g,e,k,i)|0;if(e|0)break x;g=KA(k|0,i|0,((wz(g)|0)&1073741823)+1|0,0)|0;i=ba()|0;e=f[p>>2]|0}while(0);l=l+1|0;if((l|0)>=(e|0))break w;else k=g}g=f[m>>2]|0;if(g|0){ib[f[g+4>>2]&255](m)|0;f[m>>2]=0}if(!(f[9328]|0))ob[f[37360>>2]&127](m);else{I=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m)}kb[f[n+28>>2]&127](n,o,0)|0;if(f[K+480>>2]|0){Kc(K,o);break t}g=o;do if((f[K+304>>2]|0)>>>0<=g>>>0){if((f[K+308>>2]|0)>>>0<=g>>>0)break;I=K+300|0;f[o>>2]=f[I>>2];f[I>>2]=o;break t}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break t}else{I=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break t}}while(0);do if(!((ib[f[(f[m>>2]|0)+48>>2]&255](m)|0)&1024)){e=jb[f[(f[m>>2]|0)+20>>2]&255](m,2)|0;if(!e)break;g=f[m>>2]|0;if(g|0){ib[f[g+4>>2]&255](m)|0;f[m>>2]=0}if(!(f[9328]|0))ob[f[37360>>2]&127](m);else{I=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m)}kb[f[n+28>>2]&127](n,o,0)|0;if(f[K+480>>2]|0){Kc(K,o);break t}g=o;do if((f[K+304>>2]|0)>>>0<=g>>>0){if((f[K+308>>2]|0)>>>0<=g>>>0)break;I=K+300|0;f[o>>2]=f[I>>2];f[I>>2]=o;break t}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break t}else{I=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break t}}while(0);g=0;while(1){if((g|0)>=(f[p>>2]|0)){e=0;g=1;break}e=f[(f[q>>2]|0)+(g<<4)+4>>2]|0;if(!e)e=0;else e=Gg(e,o)|0;if(!e)g=g+1|0;else{g=0;break}}i=f[m>>2]|0;if(i|0){ib[f[i+4>>2]&255](m)|0;f[m>>2]=0}if(!(f[9328]|0))ob[f[37360>>2]&127](m);else{G=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m)}if(!g){if(f[K+480>>2]|0){Kc(K,o);break t}g=o;do if((f[K+304>>2]|0)>>>0<=g>>>0){if((f[K+308>>2]|0)>>>0<=g>>>0)break;I=K+300|0;f[o>>2]=f[I>>2];f[I>>2]=o;break t}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break t}else{I=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break t}}e=kb[f[n+28>>2]&127](n,o,1)|0;n=K+480|0;y:do if(!(f[n>>2]|0)){g=o;do if((f[K+304>>2]|0)>>>0<=g>>>0){if((f[K+308>>2]|0)>>>0<=g>>>0)break;G=K+300|0;f[o>>2]=f[G>>2];f[G>>2]=o;break y}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{G=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else Kc(K,o);while(0);if(e|0)break t;e=f[p>>2]|0;if((e|0)>0){i=0;do{g=f[(f[q>>2]|0)+(i<<4)+4>>2]|0;if(g){Hg(g,1)|0;e=f[p>>2]|0}i=i+1|0}while((i|0)<(e|0))}m=f[r>>2]|0;if(m|0){f[r>>2]=0;if((f[s>>2]|0)>0){k=0;do{l=f[m+(k<<2)>>2]|0;i=l+8|0;e=f[i>>2]|0;do if(e|0){g=f[(f[e>>2]|0)+64>>2]|0;if(!g)break;ib[g&255](e)|0}while(0);f[l+20>>2]=0;g=f[l>>2]|0;F=l+12|0;G=(f[F>>2]|0)+-1|0;f[F>>2]=G;z:do if(!G){e=f[i>>2]|0;if(e|0)ib[f[(f[e>>2]|0)+16>>2]&255](e)|0;do if(g|0){if(f[g+480>>2]|0){Kc(g,l);break z}e=l;if((f[g+304>>2]|0)>>>0>e>>>0)break;if((f[g+308>>2]|0)>>>0<=e>>>0)break;G=g+300|0;f[l>>2]=f[G>>2];f[G>>2]=l;break z}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{G=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);k=k+1|0}while((k|0)<(f[s>>2]|0))}A:do if(!(f[n>>2]|0)){e=m;do if((f[K+304>>2]|0)>>>0<=e>>>0){if((f[K+308>>2]|0)>>>0<=e>>>0)break;G=K+300|0;f[m>>2]=f[G>>2];f[G>>2]=m;break A}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{G=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}else Kc(K,m);while(0);f[s>>2]=0}break q}while(0);do if(K|0){if(f[K+480>>2]|0){Kc(K,o);break t}g=o;if((f[K+304>>2]|0)>>>0>g>>>0)break;if((f[K+308>>2]|0)>>>0<=g>>>0)break;I=K+300|0;f[o>>2]=f[I>>2];f[I>>2]=o;break t}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{I=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else e=7;while(0);I=454;break q}while(0);g=0;while(1){e=f[p>>2]|0;if((g|0)>=(e|0))break;e=f[(f[q>>2]|0)+(g<<4)+4>>2]|0;if(!e)e=0;else e=Gg(e,0)|0;if(!e)g=g+1|0;else{I=454;break q}}if((e|0)>0){e=0;do{g=f[(f[q>>2]|0)+(e<<4)+4>>2]|0;if(g|0?(B=Hg(g,0)|0,B|0):0){e=B;I=454;break q}e=e+1|0}while((e|0)<(f[p>>2]|0))}m=f[r>>2]|0;if(!m)break;f[r>>2]=0;if((f[s>>2]|0)>0){k=0;do{l=f[m+(k<<2)>>2]|0;i=l+8|0;e=f[i>>2]|0;do if(e|0){g=f[(f[e>>2]|0)+64>>2]|0;if(!g)break;ib[g&255](e)|0}while(0);f[l+20>>2]=0;g=f[l>>2]|0;F=l+12|0;G=(f[F>>2]|0)+-1|0;f[F>>2]=G;B:do if(!G){e=f[i>>2]|0;if(e|0)ib[f[(f[e>>2]|0)+16>>2]&255](e)|0;do if(g|0){if(f[g+480>>2]|0){Kc(g,l);break B}e=l;if((f[g+304>>2]|0)>>>0>e>>>0)break;if((f[g+308>>2]|0)>>>0<=e>>>0)break;G=g+300|0;f[l>>2]=f[G>>2];f[G>>2]=l;break B}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{G=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);k=k+1|0}while((k|0)<(f[s>>2]|0))}C:do if(!(f[K+480>>2]|0)){e=m;do if((f[K+304>>2]|0)>>>0<=e>>>0){if((f[K+308>>2]|0)>>>0<=e>>>0)break;G=K+300|0;f[m>>2]=f[G>>2];f[G>>2]=m;break C}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{G=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}else Kc(K,m);while(0);f[s>>2]=0}while(0);D:do if((I|0)==454){switch(e|0){case 0:break D;case 5:break;default:break k}if(!((h[H>>0]|h[H+1>>0]<<8)&256)){e=5;break k}else c=5;t=N;return c|0}while(0);F=K+464|0;I=K+32|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;F=I;G=f[F+4>>2]|0;f[I>>2]=f[F>>2]&-524289;f[I+4>>2]=G;I=K+24|0;f[I>>2]=f[I>>2]&-2;break j}while(0);f[u>>2]=e;Eg(K,0);f[a+44>>2]=0}while(0);f[K+456>>2]=0;I=476}else I=460;E:do if((I|0)==460)if(!c)if(!(f[u>>2]|0)){c=1;I=477}else{switch(b[a+142>>0]|0){case 3:{c=1;I=477;break E}case 2:{c=2;I=477;break E}default:{}}Eg(K,516);i=K+444|0;e=f[i>>2]|0;if(e|0){k=K+480|0;l=K+304|0;m=K+308|0;n=K+300|0;do{f[i>>2]=f[e+24>>2];F:do if(!(f[k>>2]|0)){g=e;do if((f[l>>2]|0)>>>0<=g>>>0){if((f[m>>2]|0)>>>0<=g>>>0)break;f[e>>2]=f[n>>2];f[n>>2]=e;break F}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{I=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}else Kc(K,e);while(0);e=f[i>>2]|0}while((e|0)!=0)}f[K+452>>2]=0;f[K+456>>2]=0;b[K+87>>0]=0;b[K+79>>0]=1;f[a+44>>2]=0;I=476}else I=477;while(0);if((I|0)==476)if(!c)c=0;else I=477;if((I|0)==477)if(((f[(f[a>>2]|0)+456>>2]|0)!=0?(f[a+48>>2]|0)!=0:0)?(J=Jg(a,c)|0,(J|0)!=0):0){I=f[u>>2]|0;if((I|0)==0|(I&255|0)==19){f[u>>2]=J;e=a+108|0;g=f[e>>2]|0;G:do if(g|0){if(f[K+480>>2]|0){Kc(K,g);break}i=g;do if((f[K+304>>2]|0)>>>0<=i>>>0){if((f[K+308>>2]|0)>>>0<=i>>>0)break;J=K+300|0;f[g>>2]=f[J>>2];f[J>>2]=g;break G}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{J=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[e>>2]=0}Eg(K,516);i=K+444|0;e=f[i>>2]|0;if(e|0){k=K+480|0;l=K+304|0;m=K+308|0;n=K+300|0;do{f[i>>2]=f[e+24>>2];H:do if(!(f[k>>2]|0)){g=e;do if((f[l>>2]|0)>>>0<=g>>>0){if((f[m>>2]|0)>>>0<=g>>>0)break;f[e>>2]=f[n>>2];f[n>>2]=e;break H}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{J=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}else Kc(K,e);while(0);e=f[i>>2]|0}while((e|0)!=0)}f[K+452>>2]=0;f[K+456>>2]=0;b[K+87>>0]=0;b[K+79>>0]=1;f[a+44>>2]=0}if((h[H>>0]|h[H+1>>0]<<8)&32){e=a+44|0;if((c|0)==2)c=0;else{c=f[e>>2]|0;J=K+104|0;f[J>>2]=(f[J>>2]|0)+c}f[K+100>>2]=c;f[e>>2]=0}}if((f[v>>2]|0)>-1){c=K+168|0;f[c>>2]=(f[c>>2]|0)+-1;c=h[H>>0]|h[H+1>>0]<<8;if(!(c&256)){c=K+176|0;f[c>>2]=(f[c>>2]|0)+-1;c=h[H>>0]|h[H+1>>0]<<8}if(c&512){K=K+172|0;f[K>>2]=(f[K>>2]|0)+-1}}}f[L>>2]=832317811;c=a+40|0;if(!(b[M>>0]|0)){M=(f[c>>2]|0)==5?5:0;t=N;return M|0}else{f[c>>2]=7;M=0;t=N;return M|0}return 0}function ug(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,k=0,l=0;k=f[a>>2]|0;l=f[a+40>>2]|0;h=a+108|0;if(!(f[h>>2]|0)){a=f[k+256>>2]|0;if(!a){k=k+64|0;f[k>>2]=l;return l|0}c=a+8|0;if(!(d[c>>1]&9216)){d[c>>1]=1;k=k+64|0;f[k>>2]=l;return l|0}else{cf(a);k=k+64|0;f[k>>2]=l;return l|0}}i=k+82|0;b[i>>0]=(b[i>>0]|0)+1<<24>>24;g=k+256|0;a=f[g>>2]|0;do if(!a){a:do if(f[k+272>>2]|0){if(!(b[k+81>>0]|0))e=13}else{do if((j[k+276>>1]|0)>=40){a=k+300|0;c=f[a>>2]|0;if(c|0){f[a>>2]=f[c>>2];e=k+284|0;f[e>>2]=(f[e>>2]|0)+1;e=14;break a}a=k+296|0;c=f[a>>2]|0;if(!c){a=k+292|0;break}else{f[a>>2]=f[c>>2];e=k+284|0;f[e>>2]=(f[e>>2]|0)+1;e=14;break a}}else a=k+288|0;while(0);f[a>>2]=(f[a>>2]|0)+1;e=13}while(0);if((e|0)==13){c=Dc(k,40,0)|0;e=14}if((e|0)==14?c|0:0){a=c;e=a+40|0;do{b[a>>0]=0;a=a+1|0}while((a|0)<(e|0));d[c+8>>1]=1;f[c+32>>2]=k;f[g>>2]=c;a=c;e=17;break}f[g>>2]=0}else e=17;while(0);if((e|0)==17)$e(a,f[h>>2]|0,-1,1,-1)|0;b[i>>0]=(b[i>>0]|0)+-1<<24>>24;k=k+64|0;f[k>>2]=l;return l|0}function vg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;g=t;t=t+16|0;e=g;f[a+64>>2]=b;wg(a,b);if(!c){xg(a,b);t=g;return}b=a+256|0;if((f[b>>2]|0)==0?(h=yg(a)|0,f[b>>2]=h,(h|0)==0):0){t=g;return}f[e>>2]=d;a=zg(a,c,e)|0;b=f[b>>2]|0;if(b|0)$e(b,a,-1,1,139)|0;t=g;return}function wg(a,b){a=a|0;b=b|0;var c=0;if((b|0)==3082)return;if((b&251|4|0)!=14)return;b=f[a>>2]|0;c=f[b+68>>2]|0;if(!c)b=0;else b=kb[c&127](b,0,0)|0;f[a+72>>2]=b;return}function xg(a,b){a=a|0;b=b|0;f[a+64>>2]=b;if(b|0){Bg(a,b);return}if(!(f[a+256>>2]|0))return;Bg(a,0);return}function yg(a){a=a|0;var c=0,e=0,g=0;a:do if(!a)c=Ag(40,0)|0;else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){a=0;return a|0}}else{do if((j[a+276>>1]|0)>=40){e=a+300|0;c=f[e>>2]|0;if(c|0){f[e>>2]=f[c>>2];g=a+284|0;f[g>>2]=(f[g>>2]|0)+1;break a}e=a+296|0;c=f[e>>2]|0;if(!c){c=a+292|0;break}else{f[e>>2]=f[c>>2];g=a+284|0;f[g>>2]=(f[g>>2]|0)+1;break a}}else c=a+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(a,40,0)|0}while(0);if(!c){a=0;return a|0}e=c;g=e+40|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(g|0));d[c+8>>1]=1;f[c+32>>2]=a;a=c;return a|0}function zg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=t;t=t+96|0;h=l+72|0;e=f[a+108>>2]|0;i=h+4|0;f[i>>2]=l;f[h>>2]=a;f[h+8>>2]=70;j=h+12|0;f[j>>2]=e;e=h+16|0;f[e>>2]=0;k=h+20|0;b[k>>0]=0;g=h+21|0;b[g>>0]=1;Bc(h,c,d);c=f[i>>2]|0;if(((c|0)!=0?(b[c+(f[e>>2]|0)>>0]=0,(f[j>>2]|0)!=0):0)?(b[g>>0]&4)==0:0)d=Cc(h)|0;else d=f[i>>2]|0;if((b[k>>0]|0)!=7){t=l;return d|0}c=a+81|0;if(b[c>>0]|0){t=l;return d|0}if(b[a+82>>0]|0){t=l;return d|0}b[c>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;a=a+272|0;f[a>>2]=(f[a>>2]|0)+1;t=l;return d|0}function Ag(a,b){a=a|0;b=b|0;var c=0,d=0;c=KA(a|0,b|0,-1,-1)|0;b=ba()|0;if(b>>>0>0|(b|0)==0&c>>>0>2147483390){c=0;return c|0}if(!(f[9328]|0)){c=ib[f[37356>>2]&255](a)|0;return c|0}c=ib[f[37372>>2]&255](a)|0;if((f[18194]|0)>>>0>>0)f[18194]=a;a=71896;b=f[a>>2]|0;a=f[a+4>>2]|0;if((a|0)>0|(a|0)==0&b>>>0>0){d=f[18187]|0;a=LA(b|0,a|0,c|0,((c|0)<0)<<31>>31|0)|0;b=ba()|0;f[17976]=((b|0)<0|(b|0)==0&a>>>0<=d>>>0)&1}a=ib[f[37356>>2]&255](c)|0;if(!a){d=0;return d|0}b=ib[f[37368>>2]&255](a)|0;b=(f[18187]|0)+b|0;f[18187]=b;if(b>>>0>(f[18191]|0)>>>0)f[18191]=b;b=(f[18190]|0)+1|0;f[18190]=b;if(b>>>0<=(f[18196]|0)>>>0){d=a;return d|0}f[18196]=b;d=a;return d|0}function Bg(a,b){a=a|0;b=b|0;var c=0,e=0;c=f[a+256>>2]|0;do if(c|0){e=c+8|0;if(!(d[e>>1]&9216)){d[e>>1]=1;break}else{cf(c);break}}while(0);if((b|0)==3082)return;if((b&251|4|0)!=14)return;b=f[a>>2]|0;c=f[b+68>>2]|0;if(!c)b=0;else b=kb[c&127](b,0,0)|0;f[a+72>>2]=b;return}function Cg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=f[a>>2]|0;g=h+112|0;d=f[g>>2]|0;e=h+28|0;a:do if(d|0?(c=f[e>>2]|0,(c|0)>0):0){b=0;while(1){d=f[d+(b<<2)>>2]|0;if(d){Dg(h,d);f[(f[g>>2]|0)+(b<<2)>>2]=0;c=f[e>>2]|0}b=b+1|0;if((b|0)>=(c|0))break a;d=f[g>>2]|0}}while(0);f[h+88>>2]=f[a+8>>2];f[h+136>>2]=f[a+52>>2];f[h+92>>2]=f[a+16>>2];f[h+24>>2]=f[a+56>>2];f[g>>2]=f[a+20>>2];f[e>>2]=f[a+44>>2];g=a+32|0;b=f[g+4>>2]|0;i=f[h>>2]|0;j=i+40|0;f[j>>2]=f[g>>2];f[j+4>>2]=b;f[h+44>>2]=f[a+68>>2];f[i+100>>2]=f[a+72>>2];j=h+212|0;b=f[j>>2]|0;if(!b){i=a+40|0;h=f[i>>2]|0;f[j>>2]=h;f[i>>2]=0;a=a+48|0;a=f[a>>2]|0;return a|0}d=i+480|0;e=i+304|0;g=i+308|0;h=i+300|0;if(!i){do{c=f[b+12>>2]|0;if(c|0)ob[c&127](f[b+8>>2]|0);f[j>>2]=f[b+16>>2];if(!(f[9328]|0))ob[f[37360>>2]&127](b);else{i=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b)}b=f[j>>2]|0}while((b|0)!=0);i=a+40|0;h=f[i>>2]|0;f[j>>2]=h;f[i>>2]=0;a=a+48|0;a=f[a>>2]|0;return a|0}do{c=f[b+12>>2]|0;if(c|0)ob[c&127](f[b+8>>2]|0);f[j>>2]=f[b+16>>2];do if(!(f[d>>2]|0)){c=b;if((f[e>>2]|0)>>>0<=c>>>0?(f[g>>2]|0)>>>0>c>>>0:0){f[b>>2]=f[h>>2];f[h>>2]=b;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}}else Kc(i,b);while(0);b=f[j>>2]|0}while((b|0)!=0);i=a+40|0;h=f[i>>2]|0;f[j>>2]=h;f[i>>2]=0;a=a+48|0;a=f[a>>2]|0;return a|0}function Dg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;if(!c)return;switch(b[c>>0]|0){case 1:{e=f[a>>2]|0;a=c+40|0;c=f[a>>2]|0;if(!c)return;ai(e,c);d=f[c+40>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{h=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);do if(e){if(f[e+480>>2]|0){Kc(e,c);break}h=c;if((f[e+304>>2]|0)>>>0<=h>>>0?(f[e+308>>2]|0)>>>0>h>>>0:0){h=e+300|0;f[c>>2]=f[h>>2];f[h>>2]=c}else g=14}else g=14;while(0);do if((g|0)==14)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{h=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[a>>2]=0;return}case 0:{if(!(b[c+5>>0]&1)){ci(f[c+40>>2]|0);return}a=f[c+8>>2]|0;if(!a)return;bi(a);return}case 2:{h=f[c+40>>2]|0;e=f[h>>2]|0;g=f[e>>2]|0;e=e+4|0;f[e>>2]=(f[e>>2]|0)+-1;ib[f[g+28>>2]&255](h)|0;return}default:return}}function Eg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=a+20|0;l=f[m>>2]|0;i=(l|0)>0;if(i){e=f[a+16>>2]|0;d=0;do{g=f[e+(d<<4)+4>>2]|0;if(g|0)f[(f[g+4>>2]|0)+4>>2]=f[g>>2];d=d+1|0}while((d|0)!=(l|0))}if(!(f[a+24>>2]&1))n=0;else n=(b[a+165>>0]|0)==0;if(i){j=a+16|0;k=(n^1)&1;d=0;i=0;g=l;while(1){e=f[(f[j>>2]|0)+(i<<4)+4>>2]|0;if(!e)e=g;else{d=(b[e+8>>0]|0)==2?1:d;Uh(e,c,k);e=f[m>>2]|0}i=i+1|0;if((i|0)>=(e|0)){c=d;break}else g=e}}else c=0;d=a+356|0;l=f[d>>2]|0;if(l|0){f[d>>2]=0;j=a+332|0;if((f[j>>2]|0)>0){i=0;do{k=f[l+(i<<2)>>2]|0;e=k+8|0;d=f[e>>2]|0;if(d|0?(o=f[(f[d>>2]|0)+68>>2]|0,o|0):0)ib[o&255](d)|0;f[k+20>>2]=0;g=f[k>>2]|0;d=k+12|0;m=(f[d>>2]|0)+-1|0;f[d>>2]=m;do if(!m){d=f[e>>2]|0;if(d|0)ib[f[(f[d>>2]|0)+16>>2]&255](d)|0;if(g|0){if(f[g+480>>2]|0){Kc(g,k);break}m=k;if((f[g+304>>2]|0)>>>0<=m>>>0?(f[g+308>>2]|0)>>>0>m>>>0:0){m=g+300|0;f[k>>2]=f[m>>2];f[m>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{m=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);i=i+1|0}while((i|0)<(f[j>>2]|0))}do if(!(f[a+480>>2]|0)){o=l;if((f[a+304>>2]|0)>>>0<=o>>>0?(f[a+308>>2]|0)>>>0>o>>>0:0){o=a+300|0;f[l>>2]=f[o>>2];f[o>>2]=l;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{o=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}else Kc(a,l);while(0);f[j>>2]=0}if(n){d=f[a+4>>2]|0;if(d|0)do{o=d+145|0;n=(h[o>>0]|h[o+1>>0]<<8)&-4|1;b[o>>0]=n;b[o+1>>0]=n>>8;d=f[d+8>>2]|0}while((d|0)!=0);Vh(a)}n=a+464|0;d=a+32|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;n=d;o=f[n+4>>2]|0;f[d>>2]=f[n>>2]&-524289;f[d+4>>2]=o;d=f[a+224>>2]|0;if(!d)return;if((c|0)==0?b[a+79>>0]|0:0)return;ob[d&127](f[a+220>>2]|0);return}function Fg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+112|0;h=n+16|0;l=n+88|0;k=n;e=f[a>>2]|0;m=a+108|0;g=f[m>>2]|0;do if(g|0){if(e|0){if(f[e+480>>2]|0){Kc(e,g);break}j=g;if((f[e+304>>2]|0)>>>0<=j>>>0?(f[e+308>>2]|0)>>>0>j>>>0:0){j=e+300|0;f[g>>2]=f[j>>2];f[j>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{j=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[k>>2]=d;j=f[a>>2]|0;g=f[j+108>>2]|0;i=l+4|0;f[i>>2]=h;f[l>>2]=j;f[l+8>>2]=70;e=l+12|0;f[e>>2]=g;g=l+16|0;f[g>>2]=0;h=l+20|0;b[h>>0]=0;d=l+21|0;b[d>>0]=1;Bc(l,c,k);a=f[i>>2]|0;if(((a|0)!=0?(b[a+(f[g>>2]|0)>>0]=0,(f[e>>2]|0)!=0):0)?(b[d>>0]&4)==0:0)e=Cc(l)|0;else e=f[i>>2]|0;if((b[h>>0]|0)!=7){f[m>>2]=e;t=n;return}a=j+81|0;if(b[a>>0]|0){f[m>>2]=e;t=n;return}if(b[j+82>>0]|0){f[m>>2]=e;t=n;return}b[a>>0]=1;if((f[j+180>>2]|0)>0)f[j+264>>2]=1;l=j+272|0;f[l>>2]=(f[l>>2]|0)+1;f[m>>2]=e;t=n;return} -function gq(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+296|0;h=f[q>>2]|0;if(!h)i=0;else{i=0;do{h=f[h>>2]|0;i=i+1|0}while((h|0)!=0)}p=a+300|0;h=f[p>>2]|0;if(!h)h=0;else{j=0;do{h=f[h>>2]|0;j=j+1|0}while((h|0)!=0);h=j}m=a+280|0;if(((f[m>>2]|0)-(h+i)|0)>0){c=5;return c|0}n=a+272|0;o=a+278|0;do if(b[o>>0]|0?(k=f[a+304>>2]|0,k|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{l=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);l=e&-8;k=(l|0)<5?0:l;i=(g|0)>0?g:0;if(!((g|0)<1|(k|0)==0))if(!c){h=U(k,i)|0;g=KA(h|0,((h|0)<0)<<31>>31|0,-1,-1)|0;e=ba()|0;do if(!(e>>>0>0|(e|0)==0&g>>>0>2147483390)){if(!(f[9328]|0)){j=ib[f[37356>>2]&255](h)|0;break}e=ib[f[37372>>2]&255](h)|0;if((f[18194]|0)>>>0>>0)f[18194]=h;j=71896;h=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&h>>>0>0){g=f[18187]|0;j=LA(h|0,j|0,e|0,((e|0)<0)<<31>>31|0)|0;h=ba()|0;f[17976]=((h|0)<0|(h|0)==0&j>>>0<=g>>>0)&1}j=ib[f[37356>>2]&255](e)|0;if(j){h=ib[f[37368>>2]&255](j)|0;h=(f[18187]|0)+h|0;f[18187]=h;if(h>>>0>(f[18191]|0)>>>0)f[18191]=h;h=(f[18190]|0)+1|0;f[18190]=h;if(h>>>0>(f[18196]|0)>>>0)f[18196]=h}else j=0}else j=0;while(0);if(!j)h=0;else{h=j;i=(ib[f[37368>>2]&255](j)|0)/(l|0)|0}}else h=c;else{h=0;k=0}j=a+304|0;f[j>>2]=h;f[q>>2]=0;f[p>>2]=0;d[a+276>>1]=k;if(!h){f[j>>2]=a;f[a+308>>2]=a;f[n>>2]=1;b[o>>0]=0;f[m>>2]=0;c=0;return c|0}f[m>>2]=i;if((i|0)>0){j=0;while(1){f[h>>2]=j;e=h+k|0;j=h;if((i|0)<=1)break;else{h=e;i=i+-1|0}}f[q>>2]=h;h=e}f[a+308>>2]=h;f[n>>2]=0;b[o>>0]=(c|0)==0&1;c=0;return c|0}function hq(a){a=a|0;return f[a+100>>2]|0}function iq(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+32|0;o=p+24|0;g=p+8|0;e=p;if(!a){o=0;t=p;return o|0}n=a+96|0;d=f[n>>2]|0;a:do if((d|0)>=-264537850)if((d|0)<1266094736)switch(d|0){case -264537850:break a;default:{h=3;break a}}else switch(d|0){case 1266094736:break a;default:{h=3;break a}}else switch(d|0){case -1607883113:break;default:h=3}while(0);if((h|0)==3){f[e>>2]=43146;Ac(21,43101,e);f[g>>2]=40433;f[g+4>>2]=153813;f[g+8>>2]=40460;Ac(21,40408,g);o=21;t=p;return o|0}if(!(b[a+88>>0]&8)){jq(a);d=a+356|0;k=f[d>>2]|0;if(k|0){f[d>>2]=0;i=a+332|0;if((f[i>>2]|0)>0){h=0;do{j=f[k+(h<<2)>>2]|0;g=j+8|0;d=f[g>>2]|0;if(d|0?(m=f[(f[d>>2]|0)+68>>2]|0,m|0):0)ib[m&255](d)|0;f[j+20>>2]=0;e=f[j>>2]|0;d=j+12|0;l=(f[d>>2]|0)+-1|0;f[d>>2]=l;do if(!l){d=f[g>>2]|0;if(d|0)ib[f[(f[d>>2]|0)+16>>2]&255](d)|0;if(e|0){if(f[e+480>>2]|0){Kc(e,j);break}l=j;if((f[e+304>>2]|0)>>>0<=l>>>0?(f[e+308>>2]|0)>>>0>l>>>0:0){l=e+300|0;f[j>>2]=f[l>>2];f[l>>2]=j;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{l=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);h=h+1|0}while((h|0)<(f[i>>2]|0))}do if(!(f[a+480>>2]|0)){m=k;if((f[a+304>>2]|0)>>>0<=m>>>0?(f[a+308>>2]|0)>>>0>m>>>0:0){m=a+300|0;f[k>>2]=f[m>>2];f[m>>2]=k;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{m=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}else Kc(a,k);while(0);f[i>>2]=0}}else{lb[f[a+196>>2]&127](8,f[a+200>>2]|0,a,0)|0;jq(a);d=a+356|0;k=f[d>>2]|0;if(k|0){f[d>>2]=0;i=a+332|0;if((f[i>>2]|0)>0){h=0;do{j=f[k+(h<<2)>>2]|0;e=j+8|0;d=f[e>>2]|0;if(d|0?(l=f[(f[d>>2]|0)+68>>2]|0,l|0):0)ib[l&255](d)|0;f[j+20>>2]=0;g=f[j>>2]|0;d=j+12|0;m=(f[d>>2]|0)+-1|0;f[d>>2]=m;do if(!m){d=f[e>>2]|0;if(d|0)ib[f[(f[d>>2]|0)+16>>2]&255](d)|0;if(g|0){if(f[g+480>>2]|0){Kc(g,j);break}m=j;if((f[g+304>>2]|0)>>>0<=m>>>0?(f[g+308>>2]|0)>>>0>m>>>0:0){m=g+300|0;f[j>>2]=f[m>>2];f[m>>2]=j;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{m=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);h=h+1|0}while((h|0)<(f[i>>2]|0))}do if(!(f[a+480>>2]|0)){m=k;if((f[a+304>>2]|0)>>>0<=m>>>0?(f[a+308>>2]|0)>>>0>m>>>0:0){m=a+300|0;f[k>>2]=f[m>>2];f[m>>2]=k;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{m=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}else Kc(a,k);while(0);f[i>>2]=0}}b:do if(!c){c:do if(!(f[a+4>>2]|0)){e=f[a+20>>2]|0;if((e|0)<=0)break b;g=f[a+16>>2]|0;d=0;while(1){c=f[g+(d<<4)+4>>2]|0;if(c|0?f[c+16>>2]|0:0)break c;d=d+1|0;if((d|0)>=(e|0))break b}}while(0);vg(a,5,59748,o);o=5;t=p;return o|0}while(0);f[n>>2]=1691352191;Ii(a);o=0;t=p;return o|0}function jq(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;kq(a);g=a+20|0;if((f[g>>2]|0)>0){h=a+16|0;e=0;do{b=f[(f[h>>2]|0)+(e<<4)+12>>2]|0;if(b|0?(d=f[b+16>>2]|0,d|0):0){b=d;do{c=f[b+8>>2]|0;if(f[c+56>>2]|0)lq(a,c);b=f[b>>2]|0}while((b|0)!=0)}e=e+1|0}while((e|0)<(f[g>>2]|0))}b=f[a+344>>2]|0;if(!b){Xh(a);return}do{c=f[(f[b+8>>2]|0)+16>>2]|0;if(c|0)lq(a,c);b=f[b>>2]|0}while((b|0)!=0);Xh(a);return}function kq(a){a=a|0;var b=0,c=0,d=0;d=f[a+20>>2]|0;if((d|0)<=0)return;b=f[a+16>>2]|0;a=0;do{c=f[b+(a<<4)+4>>2]|0;if(c|0)f[(f[c+4>>2]|0)+4>>2]=f[c>>2];a=a+1|0}while((a|0)<(d|0));return}function lq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;b=b+64|0;c=f[b>>2]|0;if(!c)return;while(1){d=c+24|0;if((f[c>>2]|0)==(a|0))break;c=f[d>>2]|0;if(!c){e=6;break}else b=d}if((e|0)==6)return;f[b>>2]=f[d>>2];_h(c);return}function mq(a){a=a|0;return iq(a,1)|0}function nq(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;c=Zm(a,c,d,e,g,h,i,j,0,0,0)|0;if((c|0)==3082|(b[a+81>>0]|0)!=0){Di(a);a=7;return a|0}else{a=f[a+68>>2]&c;return a|0}return 0}function oq(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return pq(a,b,c,d,e,f,g,h,0,0,i)|0}function pq(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0;do if(l){m=Ag(12,0)|0;if(!m){vm(a);ob[l&127](e);b=1;break}f[m>>2]=0;f[m+4>>2]=l;f[m+8>>2]=e;b=Zm(a,b,c,d,e,g,h,i,j,k,m)|0;if(!(f[m>>2]|0)){ob[l&127](e);he(m)}}else b=Zm(a,b,c,d,e,g,h,i,j,k,0)|0;while(0);return qq(a,b)|0}function qq(a,c){a=a|0;c=c|0;if((c|0)==3082|(b[a+81>>0]|0)!=0){Di(a);c=7;return c|0}else{c=f[a+68>>2]&c;return c|0}return 0}function rq(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=t;t=t+16|0;if(Rk(a,c,d,1,0)|0){a=0;t=j;return a|0}i=wd(c,j)|0;if(!i){a=7;t=j;return a|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](12)|0;if(!e)h=14;else{g=e;h=22}}else{e=ib[f[37372>>2]&255](12)|0;if((f[18194]|0)>>>0<12)f[18194]=12;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){k=f[18187]|0;h=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&h>>>0<=k>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(g){e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0){f[18196]=e;h=22}else h=22}else h=14}do if((h|0)==14){e=a+81|0;if((b[e>>0]|0)==0?(b[a+82>>0]|0)==0:0){b[e>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;k=a+272|0;f[k>>2]=(f[k>>2]|0)+1}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);e=1;break}else{e=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);e=1;break}}else if((h|0)==22){f[g>>2]=0;f[g+4>>2]=101;f[g+8>>2]=i;e=Zm(a,c,d,1,i,192,0,0,0,0,g)|0;if(!(f[g>>2]|0)){if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{k=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{k=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}}while(0);if((e|0)==3082|(b[a+81>>0]|0)!=0){Di(a);k=7;t=j;return k|0}else{k=f[a+68>>2]&e;t=j;return k|0}return 0}function sq(a,b,c){a=a|0;b=b|0;c=c|0;c=t;t=t+16|0;b=c;f[b>>2]=f[(f[a+4>>2]|0)+8>>2];b=wd(59816,b)|0;f[a+20>>2]=1;$e(f[a>>2]|0,b,-1,1,-1)|0;if(!b){t=c;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);t=c;return}else{a=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);t=c;return}}function tq(a,b){a=a|0;b=b|0;return uq(a,b,6,0)|0}function uq(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=t;t=t+160|0;G=I+136|0;F=I+128|0;A=I+112|0;z=I+104|0;y=I+96|0;w=I+80|0;v=I+72|0;u=I+64|0;q=I+48|0;x=I;r=I+156|0;H=I+152|0;s=I+148|0;f[r>>2]=d;f[H>>2]=0;f[s>>2]=0;f[c>>2]=0;g=Mc()|0;if(g|0){H=g;t=I;return H|0}if((d&32768|0)==0&(f[9329]|0)!=0)k=(d&65536|0)==0?f[9330]|0:1;else k=0;if(!(d&262144)){if(f[9382]|0){d=d|131072;f[r>>2]=d}}else{d=d&-131073;f[r>>2]=d}p=d&-655129;f[r>>2]=p;if(!(f[9328]|0)){g=ib[f[37356>>2]&255](488)|0;if(!g){g=0;D=199}else D=19}else{g=ib[f[37372>>2]&255](488)|0;if((f[18194]|0)>>>0<488)f[18194]=488;j=71896;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){E=f[18187]|0;D=LA(i|0,j|0,g|0,((g|0)<0)<<31>>31|0)|0;C=ba()|0;f[17976]=((C|0)<0|(C|0)==0&D>>>0<=E>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(g){i=ib[f[37368>>2]&255](g)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;D=19}else D=19}else{g=0;D=199}}a:do if((D|0)==19){_A(g|0,0,488)|0;if(k|0)f[g+12>>2]=8;C=g+68|0;f[C>>2]=255;f[g+20>>2]=2;E=g+96|0;f[E>>2]=-264537850;n=g+16|0;f[n>>2]=g+412;o=g+272|0;f[o>>2]=1;j=g+108|0;k=23456;l=j+44|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));f[g+152>>2]=0;b[g+79>>0]=1;b[g+84>>0]=-1;m=37496;B=f[m+4>>2]|0;i=g+48|0;f[i>>2]=f[m>>2];f[i+4>>2]=B;f[g+92>>2]=0;f[g+156>>2]=2147483647;i=g+32|0;f[i>>2]=295008;f[i+4>>2]=0;i=g+380|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;B=g+336|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;vq(g,43030,1,0,85,0)|0;vq(g,43030,3,0,85,0)|0;vq(g,43030,2,0,85,0)|0;vq(g,56947,1,0,86,0)|0;vq(g,59867,1,1,85,0)|0;B=g+81|0;b:do if(!(b[B>>0]|0)){k=f[g+392>>2]|0;if(!k){j=g+384|0;i=g+388|0}else{i=783505461%((f[i>>2]|0)>>>0)|0;j=k+(i<<3)|0;i=k+(i<<3)+4|0}j=f[j>>2]|0;c:do if(!j)i=72124;else while(1){i=f[i>>2]|0;j=j+-1|0;l=f[i+12>>2]|0;m=b[l>>0]|0;k=(h[1232+(m&255)>>0]|0)+-98|0;if(!(m<<24>>24==0|(k|0)!=0)){m=43030;do{l=l+1|0;m=m+1|0;J=b[l>>0]|0;k=(h[1232+(J&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(J<<24>>24==0|(k|0)!=0))}if(!k)break c;if(!j){i=72124;break}}while(0);f[g+8>>2]=f[i+8>>2];f[g+60>>2]=p;d:do if(!(1<<(d&7)&70)){f[q>>2]=40433;f[q+4>>2]=155840;f[q+8>>2]=40460;Ac(21,40408,q);i=21}else{i=Sm(e,a,r,g,H,s)|0;switch(i|0){case 0:break;case 7:{if(b[B>>0]|0){i=7;break d}if(b[g+82>>0]|0){i=7;break d}b[B>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;f[o>>2]=(f[o>>2]|0)+1;i=7;break d}default:break d}d=cj(f[g>>2]|0,f[H>>2]|0,g,(f[n>>2]|0)+4|0,0,f[r>>2]|256)|0;e:do if((d|0)<3082){switch(d|0){case 0:break;default:{D=45;break e}}d=f[(f[n>>2]|0)+4>>2]|0;f[(f[d+4>>2]|0)+4>>2]=f[d>>2];d=Tm(g,d)|0;f[(f[n>>2]|0)+12>>2]=d;if(!(b[B>>0]|0))b[g+78>>0]=b[d+77>>0]|0;D=Tm(g,0)|0;J=f[n>>2]|0;f[J+28>>2]=D;f[J>>2]=42464;b[J+8>>0]=3;f[J+16>>2]=59743;b[J+24>>0]=1;f[E>>2]=-1607883113;if(b[B>>0]|0){D=199;break a}p=g+64|0;f[p>>2]=0;if(f[g+256>>2]|0)Bg(g,0);do if((rq(g,59873,2)|0)==7?(b[B>>0]|0)==0:0){if(b[g+82>>0]|0)break;b[B>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;f[o>>2]=(f[o>>2]|0)+1}while(0);d=f[E>>2]|0;f:do if((d|0)>=-264537850)if((d|0)<1266094736)switch(d|0){case -264537850:{D=60;break f}default:{D=59;break f}}else switch(d|0){case 1266094736:{D=60;break f}default:{D=59;break f}}else switch(d|0){case -1607883113:{D=60;break}default:D=59}while(0);g:do if((D|0)==59){f[v>>2]=43146;Ac(21,43101,v);f[w>>2]=40433;f[w+4>>2]=155189;f[w+8>>2]=40460;Ac(21,40408,w);d=21;D=193}else if((D|0)==60){if(b[B>>0]|0){d=7;D=193;break}d=f[C>>2]&f[p>>2];if(d|0){D=193;break}if(Mc()|0){d=7;D=193;break}do if(!(f[9328]|0)){d=ib[f[37356>>2]&255](48)|0;if(!d){d=7;D=193;break g}else i=d}else{d=ib[f[37372>>2]&255](48)|0;if((f[18194]|0)>>>0<48)f[18194]=48;j=71896;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){J=f[18187]|0;w=LA(i|0,j|0,d|0,((d|0)<0)<<31>>31|0)|0;v=ba()|0;f[17976]=((v|0)<0|(v|0)==0&w>>>0<=J>>>0)&1}i=ib[f[37356>>2]&255](d)|0;if(!i){d=7;D=193;break g}d=ib[f[37368>>2]&255](i)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0<=(f[18196]|0)>>>0)break;f[18196]=d}while(0);j=i;l=j+48|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(l|0));f[i+16>>2]=g;f[i>>2]=2;l=i+12|0;f[l>>2]=87;m=i+4|0;f[m>>2]=88;f[i+8>>2]=86;d=dq(g,59879,38432,i,107)|0;if(d|0){D=193;break}d=Zm(g,59884,2,1,0,193,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=193;break}d=f[C>>2]&d;if(d|0){D=193;break}d=Zm(g,59896,2,1,g,193,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=193;break}d=f[C>>2]&d;if(d|0){D=193;break}d=Zm(g,59913,-1,1,0,194,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=193;break}d=f[C>>2]&d;if(d|0){D=193;break}k=0;do{d=Zm(g,f[23504+(k<<3)>>2]|0,-1,1,i,f[23504+(k<<3)+4>>2]|0,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){D=86;break}d=f[C>>2]&d;k=k+1|0;j=(d|0)==0}while(k>>>0<4&j);if((D|0)==86){Di(g);d=7;D=193;break}if(!j){D=193;break}j=0;do{d=mb[f[l>>2]&127](i,f[23536+(j<<4)>>2]|0,f[23536+(j<<4)+4>>2]|0,f[23536+(j<<4)+8>>2]|0,f[23536+(j<<4)+12>>2]|0)|0;j=j+1|0;k=(d|0)==0}while(j>>>0<3&k);if(!k){D=193;break}j=x;k=23584;l=j+48|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=0;do{d=mb[f[m>>2]&127](i,f[x+(j<<4)>>2]|0,i,x+(j<<4)+4|0,0)|0;j=j+1|0;k=(d|0)==0}while(j>>>0<3&k);if(!k){D=193;break}d=dq(g,59924,38528,i,0)|0;if(d|0){D=193;break}d=Zm(g,59879,1,1,i,195,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=193;break}d=f[C>>2]&d;if(d|0){D=193;break}d=Zm(g,59934,0,1,i,196,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=193;break}d=f[C>>2]&d;if(d|0){D=193;break}h:do if(0){d=1;k=0;i=0;do{j=f[0+(k<<2)>>2]|0;f[x>>2]=0;if(j){i=kb[j&127](g,x,0)|0;if(i){f[y>>2]=f[x>>2];vg(g,i,59949,y);d=0}i=f[x>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{J=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);if(!d)break h;else i=0}k=k+1|0}while(k>>>0>>0)}while(0);d=f[E>>2]|0;i:do if((d|0)>=-264537850)if((d|0)<1266094736)switch(d|0){case -264537850:break i;default:{D=116;break i}}else switch(d|0){case 1266094736:break i;default:{D=116;break i}}else switch(d|0){case -1607883113:break;default:D=116}while(0);if((D|0)==116){f[z>>2]=43146;Ac(21,43101,z);f[A>>2]=40433;f[A+4>>2]=155189;f[A+8>>2]=40460;Ac(21,40408,A);break b}if(b[B>>0]|0)break b;if(f[C>>2]&f[p>>2]|0)break b;d=cq(g,59988,38624,0)|0;if(d|0){D=193;break}if(Mc()|0){d=7;D=193;break}do if(!(f[9328]|0)){d=ib[f[37356>>2]&255](20)|0;if(!d){d=7;D=193;break g}else i=d}else{d=ib[f[37372>>2]&255](20)|0;if((f[18194]|0)>>>0<20)f[18194]=20;j=71896;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){J=f[18187]|0;A=LA(i|0,j|0,d|0,((d|0)<0)<<31>>31|0)|0;z=ba()|0;f[17976]=((z|0)<0|(z|0)==0&A>>>0<=J>>>0)&1}i=ib[f[37356>>2]&255](d)|0;if(!i){d=7;D=193;break g}d=ib[f[37368>>2]&255](i)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0<=(f[18196]|0)>>>0)break;f[18196]=d}while(0);b[i>>0]=1;m=i+1|0;b[m>>0]=1;n=i+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;do if(!(Fq(i,59996,7,38720)|0)){if(Fq(i,60003,7,38748)|0){d=7;D=149;break}if(Fq(i,60010,10,38776)|0){d=7;D=149;break}d=Zm(g,60020,1,5,i,197,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=149;break}d=f[C>>2]&d;if(d|0){D=149;break}d=Zm(g,60020,2,5,i,197,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=149;break}d=f[C>>2]&d;if(d|0){D=149;break}d=rq(g,60035,-1)|0;if(d|0){D=149;break}d=rq(g,60043,1)|0;if(d|0){D=149;break}d=rq(g,60051,1)|0;if(d|0){D=149;break}d=rq(g,60051,2)|0;if(d|0){D=149;break}d=rq(g,48511,1)|0;if(d|0){D=149;break}d=dq(g,60061,38804,i,108)|0;if(d|0){D=193;break g}d=dq(g,60066,38804,i,0)|0;if(d|0){D=193;break g}d=cq(g,60071,38900,i)|0}else{d=7;D=149}while(0);do if((D|0)==149){k=i+8|0;j=f[k>>2]|0;f[k>>2]=0;k=i+16|0;l=f[k>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{J=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);f[k>>2]=0;f[i+12>>2]=0;if(j|0)do{k=j;j=f[j>>2]|0;do if(b[m>>0]|0){l=f[k+12>>2]|0;if(!l)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{J=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{J=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}}while((j|0)!=0);f[n>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{J=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);i=b[B>>0]|0;if((d|0)==0&i<<24>>24==0){d=Zm(g,60084,2,1,0,198,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=193;break}d=f[C>>2]&d;if(d|0){D=193;break}d=Zm(g,60094,1,1,0,199,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=193;break}d=f[C>>2]&d;if(d|0){D=193;break}d=Zm(g,60105,-1,1,0,200,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){Di(g);d=7;D=193;break}d=f[C>>2]&d;if(d|0){D=193;break}d=dq(g,60116,38996,0,0)|0;if(d|0){D=193;break}d=dq(g,60122,38996,1,0)|0;i=b[B>>0]|0}if((d|0)==0&i<<24>>24==0){j=0;do{d=Zm(g,f[23632+(j<<4)>>2]|0,f[23632+(j<<4)+4>>2]|0,2049,23632+(j<<4)+8|0,f[23632+(j<<4)+12>>2]|0,0,0,0,0,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){D=182;break}d=f[C>>2]&d;j=j+1|0;i=(d|0)==0}while(j>>>0<15&i);if((D|0)==182){Di(g);d=7;D=193;break}if(!i){D=193;break}j=0;while(1){d=Zm(g,f[23872+(j*20|0)>>2]|0,f[23872+(j*20|0)+4>>2]|0,2049,0,0,f[23872+(j*20|0)+8>>2]|0,f[23872+(j*20|0)+12>>2]|0,f[23872+(j*20|0)+16>>2]|0,201,0)|0;if((d|0)==3082|(b[B>>0]|0)!=0){D=187;break}d=f[C>>2]&d;i=(d|0)==0;if((j+1|0)>>>0<2&i)j=1;else break}if((D|0)==187){Di(g);d=7;D=193;break}if(!i){D=193;break}d=cq(g,60132,39092,0)|0;if(d|0){D=193;break}d=cq(g,60142,39188,0)|0}if(d|0)D=193}while(0);if((D|0)==193){f[p>>2]=d;Bg(g,d)}gq(g,0,f[9336]|0,f[9337]|0)|0;f[g+236>>2]=85;f[g+240>>2]=1e3;break b}else switch(d|0){case 3082:{d=7;break}default:D=45}while(0);f[g+64>>2]=d;Bg(g,d);break b}while(0);d=f[s>>2]|0;J=(d|0)==0;f[u>>2]=d;vg(g,i,J?0:40840,u);if(!J)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{J=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);d=f[E>>2]|0;j:do if((d|0)>=-264537850)if((d|0)<1266094736)switch(d|0){case -264537850:{D=197;break j}default:{D=196;break j}}else switch(d|0){case 1266094736:{D=197;break j}default:{D=196;break j}}else switch(d|0){case -1607883113:{D=197;break}default:D=196}while(0);if((D|0)==196){f[F>>2]=43146;Ac(21,43101,F);f[G>>2]=40433;f[G+4>>2]=155189;f[G+8>>2]=40460;Ac(21,40408,G);d=21}else if((D|0)==197){if(b[B>>0]|0){D=199;break}d=f[C>>2]&f[g+64>>2];switch(d|0){case 7:{D=199;break a}case 0:break a;default:{}}}f[E>>2]=1266094736}while(0);if((D|0)==199){iq(g,0)|0;d=7;g=0}f[c>>2]=g;g=f[H>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{J=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);J=d&255;t=I;return J|0}function vq(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;u=t;t=t+32|0;k=u+16|0;j=u;s=d&255;switch(d<<24>>24){case 4:case 8:{r=2;break}default:if((s+-1|0)>>>0>2){f[j>>2]=40433;f[j+4>>2]=155246;f[j+8>>2]=40460;Ac(21,40408,j);s=21;t=u;return s|0}else r=s}q=r&255;j=_k(a,q,c,0)|0;if(j|0?f[j+12>>2]|0:0){if(f[a+168>>2]|0){vg(a,5,71747,k);s=5;t=u;return s|0}d=f[a+4>>2]|0;if(d|0)do{p=d+145|0;o=(h[p>>0]|h[p+1>>0]<<8)&-4|1;b[p>>0]=o;b[p+1>>0]=o>>8;d=f[d+8>>2]|0}while((d|0)!=0);p=j+4|0;d=b[p>>0]|0;if((r|0)==(d&-9&255|0)){m=f[a+392>>2]|0;if(!m){k=a+384|0;j=a+388|0}else{k=b[c>>0]|0;if(!(k<<24>>24))j=0;else{j=0;l=c;do{l=l+1|0;j=U(j+(h[1232+(k&255)>>0]|0)|0,-1640531535)|0;k=b[l>>0]|0}while(k<<24>>24!=0)}j=(j>>>0)%((f[a+380>>2]|0)>>>0)|0;k=m+(j<<3)|0;j=m+(j<<3)+4|0}k=f[k>>2]|0;a:do if(!k)j=72124;else{o=h[1232+(h[c>>0]|0)>>0]|0;while(1){j=f[j>>2]|0;k=k+-1|0;m=f[j+12>>2]|0;n=b[m>>0]|0;l=(h[1232+(n&255)>>0]|0)-o|0;if(!(n<<24>>24==0|(l|0)!=0)){n=c;do{m=m+1|0;n=n+1|0;v=b[m>>0]|0;l=(h[1232+(v&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(v<<24>>24==0|(l|0)!=0))}if(!l)break a;if(!k){j=72124;break}}}while(0);k=f[j+8>>2]|0;if((b[k+4>>0]|0)==d<<24>>24){j=f[k+16>>2]|0;if(j){ob[j&127](f[k+8>>2]|0);d=b[p>>0]|0}f[k+12>>2]=0}if((b[k+24>>0]|0)==d<<24>>24){j=f[k+36>>2]|0;if(j){ob[j&127](f[k+28>>2]|0);d=b[p>>0]|0}f[k+32>>2]=0}if((b[k+44>>0]|0)==d<<24>>24){d=f[k+56>>2]|0;if(d|0)ob[d&127](f[k+48>>2]|0);f[k+52>>2]=0}}}d=_k(a,q,c,1)|0;if(!d){v=7;t=u;return v|0}f[d+12>>2]=g;f[d+8>>2]=e;f[d+16>>2]=i;b[d+4>>0]=r|s&8;f[a+64>>2]=0;if(!(f[a+256>>2]|0)){v=0;t=u;return v|0}Bg(a,0);v=0;t=u;return v|0}function wq(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0;a=(c|0)<(e|0)?c:e;a:do if(d){if(!f){k=1;return k|0}if((a|0)>0){i=f;g=a;while(1){a=b[d>>0]|0;if(!(a<<24>>24)){k=7;break}f=b[1232+(a&255)>>0]|0;a=b[1232+(h[i>>0]|0)>>0]|0;if(f<<24>>24!=a<<24>>24){k=9;break}if((g|0)>1){d=d+1|0;i=i+1|0;g=g+-1|0}else break a}if((k|0)==7){d=0;a=b[1232+(h[i>>0]|0)>>0]|0}else if((k|0)==9)d=f&255;j=d-(a&255)|0;k=12}}else{j=((f|0)!=0)<<31>>31;k=12}while(0);if((k|0)==12?j|0:0){k=j;return k|0}k=c-e|0;return k|0}function xq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=rq(f[a+16>>2]|0,b,-1)|0;if(g|0){e=g;return e|0}i=wz(b)|0;g=i+25|0;h=Fd(g)|0;if(!h){e=7;return e|0}_A(h|0,0,g|0)|0;g=h+24|0;f[h+4>>2]=g;YA(g|0,b|0,i+1|0)|0;f[h>>2]=a;f[h+8>>2]=c;f[h+12>>2]=d;f[h+16>>2]=e;e=a+32|0;f[h+20>>2]=f[e>>2];f[e>>2]=h;e=0;return e|0}function yq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=wz(b)|0;h=g+29|0;i=Fd(h)|0;if(!i){i=7;return i|0}_A(i|0,0,h|0)|0;h=i+28|0;f[i>>2]=h;YA(h|0,b|0,g+1|0)|0;f[i+4>>2]=c;g=i+8|0;f[g>>2]=f[d>>2];f[g+4>>2]=f[d+4>>2];f[g+8>>2]=f[d+8>>2];f[i+20>>2]=e;g=a+36|0;h=f[g>>2]|0;f[i+24>>2]=h;f[g>>2]=i;if(h|0){i=0;return i|0}f[a+40>>2]=i;i=0;return i|0}function zq(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0;a:do if(c){a=f[a+36>>2]|0;if(a|0)do{i=f[a>>2]|0;if(i|0){j=b[c>>0]|0;g=(h[1232+(j&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0;if(!(j<<24>>24==0|(g|0)!=0)){j=c;do{j=j+1|0;i=i+1|0;m=b[j>>0]|0;g=(h[1232+(m&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(m<<24>>24==0|(g|0)!=0))}if(!g){k=a;l=11;break a}}a=f[a+24>>2]|0}while((a|0)!=0)}else{k=f[a+40>>2]|0;l=11}while(0);if((l|0)==11?k|0:0){m=k+8|0;f[e>>2]=f[m>>2];f[e+4>>2]=f[m+4>>2];f[e+8>>2]=f[m+8>>2];f[d>>2]=f[k+4>>2];m=0;return m|0};f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;m=1;return m|0}function Aq(a){a=a|0;var b=0,c=0,d=0;b=f[a+32>>2]|0;if(b|0)do{c=b;b=f[b+20>>2]|0;d=f[c+16>>2]|0;if(d|0)ob[d&127](f[c+8>>2]|0);if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((b|0)!=0);b=f[a+36>>2]|0;if(b|0){do{c=b;b=f[b+24>>2]|0;d=f[c+20>>2]|0;if(d|0)ob[d&127](f[c+4>>2]|0);if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((b|0)!=0);if(!a)return}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{d=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Bq(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=t;t=t+224|0;A=Q+200|0;z=Q+192|0;D=Q+176|0;C=Q+168|0;y=Q+152|0;x=Q+144|0;w=Q+128|0;v=Q+112|0;M=Q+104|0;I=Q+96|0;s=Q+80|0;q=Q+64|0;o=Q+56|0;n=Q+48|0;K=Q+32|0;O=Q+212|0;L=Q+208|0;r=Q;f[L>>2]=0;m=(f[(f[a+4>>2]|0)+8>>2]|0)==0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;c=f[e>>2]|0;g=j[c+8>>1]|0;do if(!(g&4)){if(g&8|0){k=Fc(+p[c>>3])|0;l=ba()|0;break}if(!(g&18)){k=0;l=0}else{k=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;l=ba()|0}}else{l=c;k=f[l>>2]|0;l=f[l+4>>2]|0}while(0);e=e+4|0;i=f[e>>2]|0;c=d[i+8>>1]|0;if((c&2)!=0?(b[i+10>>0]|0)==1:0){G=f[i+12>>2]|0;c=i}else H=10;do if((H|0)==10){g=c&65535;if(!(g&16)){if(g&1|0){G=0;c=i;break}G=_e(i,1)|0;c=f[e>>2]|0;break}else{c=f[i+12>>2]|0;if(!(g&16384)){G=c;c=i;break}G=(f[i>>2]|0)+c|0;c=i;break}}while(0);c=lf(c)|0;F=Fd(G+8|0)|0;do if(!F)if((G|0)>-8){f[L>>2]=7;N=7;H=193}else H=190;else{_A(F+G|0,0,(G>>>0>4294967287?0:8)|0)|0;YA(F|0,c|0,G|0)|0;i=k&2147483647;c=VA(k|0,l|0,37)|0;ba()|0;c=c&65535;g=(c|0)==0;do if(g)if((k|0)==1&(l|0)==0){px(L,O,69864,n);H=30;break}else{px(L,O,69876,o);H=23;break}else{H=VA(k|0,l|0,31)|0;ba()|0;f[q>>2]=0==0&(l&16|0)==0?72788:69888;f[q+4>>2]=c;f[q+8>>2]=H&31;f[q+12>>2]=i;px(L,O,69895,q);H=23}while(0);a:do if((H|0)==23){if(!(0==0&(l&16|0)==0)){f[K>>2]=F;f[K+4>>2]=G;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;f[r+16>>2]=0;f[r+20>>2]=0;f[r+24>>2]=0;f[r+28>>2]=0;f[r>>2]=K;e=r+16|0;f[e>>2]=i;Ev(r)|0;c=r+8|0;if(!(f[c>>2]|0)){g=r+24|0;do{D=g;C=f[D>>2]|0;D=f[D+4>>2]|0;f[s>>2]=f[e>>2];E=s+8|0;f[E>>2]=C;f[E+4>>2]=D;px(L,O,69921,s);Ev(r)|0}while(!(f[c>>2]|0))}break}if(g){if((k|0)==1&(l|0)==0){H=30;break}f[K>>2]=0;c=hw(F,G,0,K)|0;do if(!c){k=f[K>>2]|0;l=k+20|0;c=f[l>>2]|0;if((c|0)<=0){if(!k)break}else{i=0;do{D=f[k+24+(i*12|0)>>2]|0;g=k+24+(i*12|0)+4|0;E=f[g>>2]|0;f[v>>2]=i;f[v+4>>2]=D;f[v+8>>2]=E;px(L,O,69936,v);if((f[g>>2]|0)>0){e=k+24+(i*12|0)+8|0;c=0;do{C=f[e>>2]|0;D=f[C+(c*12|0)+4>>2]|0;E=f[C+(c*12|0)+8>>2]|0;f[w>>2]=f[C+(c*12|0)>>2];f[w+4>>2]=D;f[w+8>>2]=E;px(L,O,69963,w);c=c+1|0}while((c|0)<(f[g>>2]|0))}px(L,O,68896,x);i=i+1|0;c=f[l>>2]|0}while((i|0)<(c|0))}E=f[k>>2]|0;f[k>>2]=E+-1;if((E|0)<2){if((c|0)>0){c=0;do{g=f[k+24+(c*12|0)+8>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{E=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);c=c+1|0}while((c|0)<(f[l>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{E=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}}else f[L>>2]=c;while(0);break}if(!m){u=h[F+2>>0]<<8|h[F+3>>0];if((G|0)>(u|0)){g=F+u|0;c=h[g>>0]|0;do if(c&128){e=h[g+1>>0]|0;if(!(e&128)){g=2;c=c<<7&16256|e;break}i=h[g+2>>0]|0;if(!(i&128)){g=3;c=(c<<14|i)&2080895|e<<7&16256;break}else{g=yv(g,K)|0;g=g&255;c=f[K>>2]|0;break}}else g=1;while(0);o=g+u|0}else{o=u;c=u}k=F+4|0;l=c+-4|0;if((c|0)>4){g=0;m=0;n=0;do{g=g+((yv(k+g|0,K)|0)&255)|0;B=K;m=KA(f[B>>2]|0,f[B+4>>2]|0,m|0,n|0)|0;n=ba()|0;if((g|0)<(l|0)?(b[k+g>>0]|0)==0:0){e=g+1|0;if((e|0)<(l|0)){B=(b[k+e>>0]|0)==0;i=B?69986:50775;g=B?g+2|0:e}else{i=50775;g=e}}else i=72788;B=y;f[B>>2]=m;f[B+4>>2]=n;f[y+8>>2]=i;px(L,O,69988,y)}while((g|0)<(l|0))}if((c|0)>=(u|0))break;g=c;s=0;n=c;e=0;m=0;while(1){c=F+g|0;i=h[c>>0]|0;do if(i&128){k=h[c+1>>0]|0;if(!(k&128)){c=2;i=i<<7&16256|k;break}l=h[c+2>>0]|0;if(!(l&128)){c=3;i=(i<<14|l)&2080895|k<<7&16256;break}else{c=yv(c,K)|0;c=c&255;i=f[K>>2]|0;break}}else c=1;while(0);l=c+g|0;k=F+l|0;b:do if(!i){r=e;q=m;c=s}else{c=i+s|0;do if(c>>>0>m>>>0){g=(m|0)==0?64:m;while(1)if(g>>>0>>0)g=g<<1;else break;if((Mc()|0)==0?(E=Nc(e,(g|0)>0?g:0,0)|0,E|0):0){e=E;break}f[L>>2]=7;r=e;q=m;c=s;break b}else g=m;while(0);YA(e+s|0,k|0,i|0)|0;r=e;q=g}while(0);f[C>>2]=c;f[C+4>>2]=r;px(L,O,69996,C);k=l+i|0;if((o|0)<(G|0)){g=F+o|0;c=h[g>>0]|0;do if(c&128){e=h[g+1>>0]|0;if(!(e&128)){g=2;c=c<<7&16256|e;break}i=h[g+2>>0]|0;if(!(i&128)){g=3;c=(c<<14|i)&2080895|e<<7&16256;break}else{g=yv(g,K)|0;g=g&255;c=f[K>>2]|0;break}}else g=1;while(0);o=g+o|0;n=c+n|0}else n=u;m=F+k|0;i=n-k|0;if((i|0)>0){c=0;k=0;l=0;do{c=c+((yv(m+c|0,K)|0)&255)|0;B=K;k=KA(f[B>>2]|0,f[B+4>>2]|0,k|0,l|0)|0;l=ba()|0;do if((c|0)<(i|0)){if(b[m+c>>0]|0){e=72788;break}g=c+1|0;if((g|0)>=(i|0)){e=50775;c=g;break}B=(b[m+g>>0]|0)==0;e=B?69986:50775;c=B?c+2|0:g}else e=72788;while(0);B=D;f[B>>2]=k;f[B+4>>2]=l;f[D+8>>2]=e;px(L,O,69988,D)}while((c|0)<(i|0))}if((n|0)<(u|0)){g=F+n|0;c=h[g>>0]|0;do if(c&128){e=h[g+1>>0]|0;if(!(e&128)){g=2;c=c<<7&16256|e;break}i=h[g+2>>0]|0;if(!(i&128)){g=3;c=(c<<14|i)&2080895|e<<7&16256;break}else{g=yv(g,K)|0;g=g&255;c=f[K>>2]|0;break}}else g=1;while(0);g=g+n|0}else{g=n;c=s}if((g|0)<(u|0)){s=c;e=r;m=q}else break}if(!r)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{E=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}if((G|0)<4){i=O+4|0;f[i>>2]=0;e=O+8|0;c=f[e>>2]|0;do if(c>>>0<7){c=(c|0)==0?64:c;while(1)if(c>>>0<7)c=c<<1;else break;g=f[O>>2]|0;if((Mc()|0)==0?(u=Nc(g,(c|0)>0?c:0,0)|0,u|0):0){f[e>>2]=c;f[O>>2]=u;c=u;break}f[L>>2]=7;break a}else c=f[O>>2]|0;while(0);b[c>>0]=b[70007]|0;b[c+1>>0]=b[70008]|0;b[c+2>>0]=b[70009]|0;b[c+3>>0]=b[70010]|0;b[c+4>>0]=b[70011]|0;b[c+5>>0]=b[70012]|0;b[c+6>>0]=b[70013]|0;f[i>>2]=7;break}c=h[F>>0]<<8|h[F+1>>0];l=c&65535;v=h[F+2>>0]<<8|h[F+3>>0];q=(G|0)>(v|0);if(q){g=F+v|0;e=h[g>>0]|0;do if(e&128){i=h[g+1>>0]|0;if(!(i&128)){e=e<<7&16256|i;break}k=h[g+2>>0]|0;if(!(k&128)){e=(e<<14|k)&2080895|i<<7&16256;break}else{yv(g,K)|0;e=f[K>>2]|0;break}}while(0);if(!(l<<16>>16)){g=e;c=(e|0)==0?v:e;H=134}else g=e}else if(!(l<<16>>16)){g=0;c=v;H=134}else g=0;n=F+4|0;o=c+-4|0;if((c|0)>4){m=0;do{i=n+m|0;e=h[i>>0]|0;do if(e&128){k=h[i+1>>0]|0;if(!(k&128)){i=2;e=e<<7&16256|k;break}l=h[i+2>>0]|0;if(!(l&128)){i=3;e=(e<<14|l)&2080895|k<<7&16256;break}else{i=yv(i,K)|0;i=i&255;e=f[K>>2]|0;break}}else i=1;while(0);m=i+m|0;f[z>>2]=e;px(L,O,68873,z)}while((m|0)<(o|0))}rx(L,O,F+c|0,((g|0)==0?v:g)-c|0);if(q){s=0;u=v;q=0;r=0;m=0;while(1){k=(u|0)==(v|0);g=F+u|0;c=h[g>>0]|0;do if(c&128){e=h[g+1>>0]|0;if(!(e&128)){g=2;c=c<<7&16256|e;break}i=h[g+2>>0]|0;if(!(i&128)){g=3;c=(c<<14|i)&2080895|e<<7&16256;break}else{g=yv(g,K)|0;g=g&255;c=f[K>>2]|0;break}}else g=1;while(0);u=g+u|0;s=c+s|0;o=(u|0)<(G|0);if(o){g=F+u|0;c=h[g>>0]|0;do if(c&128){e=h[g+1>>0]|0;if(!(e&128)){c=c<<7&16256|e;break}i=h[g+2>>0]|0;if(!(i&128)){c=(c<<14|i)&2080895|e<<7&16256;break}else{yv(g,K)|0;c=f[K>>2]|0;break}}while(0);n=c+s|0}else n=v;if(k){l=s;c=m}else{g=F+s|0;c=h[g>>0]|0;do if(c&128){e=h[g+1>>0]|0;if(!(e&128)){g=2;c=c<<7&16256|e;break}i=h[g+2>>0]|0;if(!(i&128)){g=3;c=(c<<14|i)&2080895|e<<7&16256;break}else{g=yv(g,K)|0;g=g&255;c=f[K>>2]|0;break}}else g=1;while(0);l=g+s|0}g=F+l|0;e=h[g>>0]|0;do if(e&128){i=h[g+1>>0]|0;if(!(i&128)){g=2;m=e<<7&16256|i;break}k=h[g+2>>0]|0;if(!(k&128)){g=3;m=(e<<14|k)&2080895|i<<7&16256;break}else{g=yv(g,K)|0;g=g&255;m=f[K>>2]|0;break}}else{g=1;m=e}while(0);l=g+l|0;i=F+l|0;c:do if(!m){e=q;g=r}else{k=m+c|0;do if(k>>>0>r>>>0){g=(r|0)==0?64:r;while(1)if(g>>>0>>0)g=g<<1;else break;if((Mc()|0)==0?(B=Nc(q,(g|0)>0?g:0,0)|0,B|0):0){e=B;break}f[L>>2]=7;e=q;g=r;break c}else{e=q;g=r}while(0);YA(e+c|0,i|0,m|0)|0;c=k}while(0);E=l+m|0;f[A>>2]=c;f[A+4>>2]=e;px(L,O,69996,A);rx(L,O,F+E|0,n-E|0);if(!o)break;else{q=e;r=g;m=c}}if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{E=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}}while(0);if(((H|0)==30?(G|0)>0:0)?(J=(yv(F,K)|0)&255,H=f[K>>2]|0,f[I>>2]=72788,f[I+4>>2]=H,px(L,O,69931,I),(G|0)>(J|0)):0){c=J;do{c=c+((yv(F+c|0,K)|0)&255)|0;J=f[K>>2]|0;f[M>>2]=41721;f[M+4>>2]=J;px(L,O,69931,M)}while((c|0)<(G|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](F);H=190;break}else{H=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);H=190;break}}while(0);if((H|0)==190){c=f[L>>2]|0;if(!c){if(($e(f[a>>2]|0,f[O>>2]|0,f[O+4>>2]|0,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}}else{N=c;H=193}}if((H|0)==193?(f[a+20>>2]=N,P=f[a>>2]|0,d[P+8>>1]&1):0){switch(N|0){case 516:{c=44816;break}case 100:{c=44794;break}case 101:{c=44771;break}default:{c=N&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7984+(c<<2)>>2]|0;else c=44757}}$e(P,c,-1,1,0)|0}c=f[O>>2]|0;if(!c){t=Q;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);t=Q;return}else{P=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-P;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);t=Q;return}}function Cq(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0;if(!c){f[a+20>>2]=1;$e(f[a>>2]|0,69728,-1,1,-1)|0;return}g=f[e>>2]|0;do if(g|0){i=d[g+8>>1]|0;if((i&514)==514?(b[g+10>>0]|0)==1:0)i=f[g+16>>2]|0;else{if(i&1)break;i=Ic(g,1)|0}if(i|0){k=b[i>>0]|0;g=(h[1232+(k&255)>>0]|0)+-115|0;if(!(k<<24>>24==0|(g|0)!=0)){k=69765;do{i=i+1|0;k=k+1|0;l=b[i>>0]|0;g=(h[1232+(l&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(l<<24>>24==0|(g|0)!=0))}if(!g){if((c|0)!=3){f[a+20>>2]=1;$e(f[a>>2]|0,69773,-1,1,-1)|0;return}g=f[e+4>>2]|0;i=j[g+8>>1]|0;do if(!(i&4)){if(i&8|0){k=Fc(+p[g>>3])|0;ba()|0;break}if(!(i&18))k=0;else{k=Gc(b[g+10>>0]|0,f[g+12>>2]|0,f[g+16>>2]|0)|0;ba()|0}}else k=f[g>>2]|0;while(0);g=f[e+8>>2]|0;i=j[g+8>>1]|0;do if(!(i&4)){if(i&8|0){g=Fc(+p[g>>3])|0;ba()|0;break}if(!(i&18))g=0;else{g=Gc(b[g+10>>0]|0,f[g+12>>2]|0,f[g+16>>2]|0)|0;ba()|0}}else g=f[g>>2]|0;while(0);k=WA(k|0,0,37)|0;k=KA(k|0,ba()|0,g|0,((g|0)<0)<<31>>31|0)|0;c=ba()|0;g=f[a>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){l=g;f[l>>2]=k;f[l+4>>2]=c;d[i>>1]=4;return}else{bf(g,k,c);return}}}}while(0);f[a+20>>2]=1;$e(f[a>>2]|0,69820,-1,1,-1)|0;return}function Dq(a,c,e){a=a|0;c=c|0;e=e|0;c=f[(f[a+4>>2]|0)+8>>2]|0;a=f[e>>2]|0;if((d[a+8>>1]&-15361)<<16>>16!=-32255)return;if((b[a+11>>0]|0)!=112)return;if(tz(f[a>>2]|0,67645)|0)return;a=f[a+16>>2]|0;if(!a)return;f[a>>2]=c;return}function Eq(a,b,c){a=a|0;b=b|0;c=c|0;if(($e(f[a>>2]|0,67554,-1,1,-1)|0)!=18)return;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;return}function Fq(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=jb[(b[a>>0]<<24>>24==1?171:172)&255](c,d)|0;r=a+12|0;m=(f[r>>2]|0)+-1&q;s=a+16|0;i=f[s>>2]|0;a:do if(i|0?(h=f[i+(m<<3)>>2]|0,j=(b[a>>0]|0)==1?87:88,g=f[i+(m<<3)+4>>2]|0,(h|0)!=0&(g|0)!=0):0){l=g;while(1){h=h+-1|0;if(!(lb[j&127](f[l+12>>2]|0,f[l+16>>2]|0,c,d)|0))break;g=f[l>>2]|0;if(!((h|0)!=0&(g|0)!=0))break a;else l=g}g=l+8|0;k=f[g>>2]|0;if(e|0){f[g>>2]=e;a=k;return a|0}h=f[l+4>>2]|0;g=f[l>>2]|0;if(!h){f[a+8>>2]=g;i=g;j=g}else{f[h>>2]=g;j=f[l>>2]|0;i=j}if(i|0)f[i+4>>2]=h;g=f[s>>2]|0;h=g+(m<<3)+4|0;if((f[h>>2]|0)==(l|0))f[h>>2]=j;q=g+(m<<3)|0;e=f[q>>2]|0;f[q>>2]=e+-1;if((e|0)<2)f[h>>2]=0;j=a+1|0;do if(b[j>>0]|0?(n=f[l+12>>2]|0,n|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{e=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{e=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}i=a+4|0;e=f[i>>2]|0;f[i>>2]=e+-1;if((e|0)>=2){a=k;return a|0}h=a+8|0;g=f[h>>2]|0;f[h>>2]=0;h=f[s>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{a=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[s>>2]=0;f[r>>2]=0;if(g|0)do{h=g;g=f[g>>2]|0;do if(b[j>>0]|0?(o=f[h+12>>2]|0,o|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{a=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](h);else{a=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h)}}while((g|0)!=0);f[i>>2]=0;a=k;return a|0}while(0);if(!e){a=0;return a|0}g=f[r>>2]|0;do if(!g){if(!(Mc()|0)){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](64)|0;if(!g)break}else{g=ib[f[37372>>2]&255](64)|0;if((f[18194]|0)>>>0<64)f[18194]=64;i=71896;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){p=f[18187]|0;o=LA(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&o>>>0<=p>>>0)&1}h=ib[f[37356>>2]&255](g)|0;if(!h)break;g=ib[f[37368>>2]&255](h)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;g=h}else g=h}i=g;j=i+64|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(j|0));h=f[s>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{p=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[s>>2]=g;f[r>>2]=8;n=(b[a>>0]|0)==1?171:172;m=a+8|0;h=f[m>>2]|0;f[m>>2]=0;if(!h){g=8;k=69}else{do{k=(jb[n&255](f[h+12>>2]|0,f[h+16>>2]|0)|0)&7;j=h;h=f[h>>2]|0;l=g+(k<<3)+4|0;i=f[l>>2]|0;if(!i){i=f[m>>2]|0;f[j>>2]=i;if(i|0)f[i+4>>2]=j;f[j+4>>2]=0;i=m}else{f[j>>2]=i;i=i+4|0;f[j+4>>2]=f[i>>2];p=f[i>>2]|0;f[((p|0)==0?m:p)>>2]=j}f[i>>2]=j;p=g+(k<<3)|0;f[p>>2]=(f[p>>2]|0)+1;f[l>>2]=j}while((h|0)!=0);g=f[r>>2]|0;k=69}}}else k=69;while(0);do if((k|0)==69){p=a+4|0;if((f[p>>2]|0)>=(g|0)){h=g<<1;g=g<<4;o=Fd(g)|0;if(!o)break;_A(o|0,0,g|0)|0;g=f[s>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{n=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[s>>2]=o;f[r>>2]=h;n=(b[a>>0]|0)==1?171:172;m=a+8|0;g=f[m>>2]|0;f[m>>2]=0;if(g|0){l=h+-1|0;do{j=(jb[n&255](f[g+12>>2]|0,f[g+16>>2]|0)|0)&l;i=g;g=f[g>>2]|0;k=o+(j<<3)+4|0;h=f[k>>2]|0;if(!h){h=f[m>>2]|0;f[i>>2]=h;if(h|0)f[h+4>>2]=i;f[i+4>>2]=0;h=m}else{f[i>>2]=h;h=h+4|0;f[i+4>>2]=f[h>>2];t=f[h>>2]|0;f[((t|0)==0?m:t)>>2]=i}f[h>>2]=i;t=o+(j<<3)|0;f[t>>2]=(f[t>>2]|0)+1;f[k>>2]=i}while((g|0)!=0)}}if(Mc()|0){t=e;return t|0}do if(!(f[9328]|0)){g=ib[f[37356>>2]&255](20)|0;if(!g){t=e;return t|0}else{i=g;j=i+20|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(j|0));l=g;break}}else{g=ib[f[37372>>2]&255](20)|0;if((f[18194]|0)>>>0<20)f[18194]=20;i=71896;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){t=f[18187]|0;o=LA(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&o>>>0<=t>>>0)&1}h=ib[f[37356>>2]&255](g)|0;if(!h){t=e;return t|0}g=ib[f[37368>>2]&255](h)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g;i=h;j=i+20|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(j|0));l=h}while(0);do if((c|0)!=0&(b[a+1>>0]|0)!=0){g=Fd(d)|0;if(g|0){_A(g|0,0,d|0)|0;f[l+12>>2]=g;YA(g|0,c|0,d|0)|0;break}f[l+12>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);t=e;return t|0}else{t=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);t=e;return t|0}}else f[l+12>>2]=c;while(0);f[l+16>>2]=d;f[p>>2]=(f[p>>2]|0)+1;k=(f[r>>2]|0)+-1&q;i=f[s>>2]|0;j=i+(k<<3)+4|0;g=f[j>>2]|0;if(!g){g=a+8|0;h=f[g>>2]|0;f[l>>2]=h;if(h|0)f[h+4>>2]=l;f[l+4>>2]=0}else{f[l>>2]=g;g=g+4|0;f[l+4>>2]=f[g>>2];t=f[g>>2]|0;f[((t|0)==0?a+8|0:t)>>2]=l}f[g>>2]=l;t=i+(k<<3)|0;f[t>>2]=(f[t>>2]|0)+1;f[j>>2]=l;f[l+8>>2]=e;t=0;return t|0}while(0);f[a+4>>2]=0;t=e;return t|0}function Gq(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+16|0;u=x+8|0;p=x;l=x+12|0;v=f[(f[a+4>>2]|0)+8>>2]|0;j=f[e>>2]|0;i=d[j+8>>1]|0;if((i&514)==514?(b[j+10>>0]|0)==1:0){w=f[j+16>>2]|0;k=j}else if(!(i&1)){w=Ic(j,1)|0;k=f[e>>2]|0}else{w=0;k=j}i=d[k+8>>1]|0;if((i&2)!=0?(b[k+10>>0]|0)==1:0)i=f[k+12>>2]|0;else q=9;do if((q|0)==9){j=i&65535;if(!(j&16)){if(j&1|0){i=0;break}i=_e(k,1)|0;break}else{i=f[k+12>>2]|0;if(!(j&16384))break;i=(f[k>>2]|0)+i|0;break}}while(0);k=i+1|0;a:do if((c|0)!=2){b:do if(((!((w|0)==0|(v|0)==0)?(m=v+16|0,f[m>>2]|0):0)?(n=jb[(b[v>>0]<<24>>24==1?171:172)&255](w,k)|0,n=(f[v+12>>2]|0)+-1&n,o=f[m>>2]|0,o|0):0)?(h=f[o+(n<<3)>>2]|0,r=(b[v>>0]|0)==1?87:88,g=f[o+(n<<3)+4>>2]|0,(h|0)!=0&(g|0)!=0):0){while(1){h=h+-1|0;if(!(lb[r&127](f[g+12>>2]|0,f[g+16>>2]|0,w,k)|0))break;g=f[g>>2]|0;if(!((h|0)!=0&(g|0)!=0))break b}h=f[g+8>>2]|0;if(h|0){g=a;j=h;break a}}while(0);f[u>>2]=w;g=wd(63153,u)|0;f[a+20>>2]=1;$e(f[a>>2]|0,g,-1,1,-1)|0;if(!g){t=x;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);t=x;return}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);t=x;return}}else{u=f[(f[a>>2]|0)+32>>2]|0;f[l>>2]=0;f[p>>2]=-1;f[p+4>>2]=l;fq(u,1004,p)|0;if(!(f[l>>2]|0)){f[a+20>>2]=1;$e(f[a>>2]|0,67358,-1,1,-1)|0;t=x;return}i=e+4|0;j=f[i>>2]|0;g=d[j+8>>1]|0;if((g&2)!=0?(b[j+10>>0]|0)==1:0){s=f[j+12>>2]|0;q=24}else q=19;do if((q|0)==19){h=g&65535;if(!(h&16)){if(h&1|0)break;s=_e(j,1)|0;q=24;break}else{g=f[j+12>>2]|0;if(!(h&16384)){s=g;q=24;break}s=(f[j>>2]|0)+g|0;q=24;break}}while(0);if((q|0)==24?!((w|0)==0|(s|0)!=4):0){u=lf(f[i>>2]|0)|0;u=f[u>>2]|0;j=u;if((Fq(v,w,k,u)|0)!=(u|0)){g=a;break}f[a+20>>2]=1;$e(f[a>>2]|0,44870,-1,1,-1)|0;g=a;break}f[a+20>>2]=1;$e(f[a>>2]|0,67335,-1,1,-1)|0;t=x;return}while(0);i=f[g>>2]|0;w=f[i+32>>2]|0;if(w|0?(f[w+108>>2]|0)<4:0){f[a+20>>2]=18;$e(i,41612,-1,1,0)|0;t=x;return}do if((f[i+24>>2]|0)<32)if(!(df(i,32,0)|0)){g=i+8|0;h=f[i+16>>2]|0;break}else{t=x;return}else{h=f[i+20>>2]|0;f[i+16>>2]=h;g=i+8|0;d[g>>1]=d[g>>1]&13}while(0);b[h>>0]=j;b[h+1>>0]=j>>8;b[h+2>>0]=j>>16;b[h+3>>0]=j>>24;f[i+12>>2]=4;d[g>>1]=16;b[i+10>>0]=1;t=x;return}function Hq(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;d=a+8|0;c=f[d>>2]|0;f[d>>2]=0;d=a+16|0;e=f[d>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{h=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[d>>2]=0;f[a+12>>2]=0;if(c|0){e=a+1|0;do{d=c;c=f[c>>2]|0;do if(b[e>>0]|0?(g=f[d+12>>2]|0,g|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{h=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](d);else{h=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d)}}while((c|0)!=0)}f[a+4>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{h=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Iq(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;A=t;t=t+592|0;z=A+584|0;y=A+576|0;x=A+568|0;w=A+560|0;u=A;v=A+512|0;c=f[d>>2]|0;e=j[c+8>>1]|0;do if(!(e&4)){if(e&8|0){c=Fc(+p[c>>3])|0;ba()|0;break}if(!(e&18))c=0;else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else c=f[c>>2]|0;while(0);q=lf(f[d+4>>2]|0)|0;r=q+2|0;o=q+3|0;if(!((h[r>>0]|0)<<8|(h[o>>0]|0)))c=0;else{s=(c<<3)+8&248;l=c<<1&254;m=(l|0)==0;k=0;c=0;do{d=U(k,s)|0;g=q+(d|4)|0;E=WA(h[g>>0]|0|0,0,56)|0;i=ba()|0;F=WA(h[g+1>>0]|0|0,0,48)|0;i=ba()|0|i;D=WA(h[g+2>>0]|0|0,0,40)|0;i=i|(ba()|0);i=i|(h[g+3>>0]|0);C=WA(h[g+4>>0]|0|0,0,24)|0;i=i|(ba()|0);B=WA(h[g+5>>0]|0|0,0,16)|0;i=i|(ba()|0);e=WA(h[g+6>>0]|0|0,0,8)|0;i=i|(ba()|0);g=KA(F|E|D|C|B|e|0,i|0,h[g+7>>0]|0|0,0)|0;i=ba()|0;e=v;f[e>>2]=g;f[e+4>>2]=i;e=0;d=q+(d+12)|0;while(1){f[v+8+(e<<2)>>2]=(h[d+1>>0]|0)<<16|(h[d>>0]|0)<<24|(h[d+2>>0]|0)<<8|(h[d+3>>0]|0);f[v+8+((e|1)<<2)>>2]=(h[d+5>>0]|0)<<16|(h[d+4>>0]|0)<<24|(h[d+6>>0]|0)<<8|(h[d+7>>0]|0);e=e+2|0;if(e>>>0>=l>>>0)break;else d=d+8|0}F=w;f[F>>2]=g;f[F+4>>2]=i;vd(512,u,41988,w)|0;if(!m){e=0;d=wz(u)|0;do{p[x>>3]=+n[v+8+(e<<2)>>2];vd(512-d|0,u+d|0,63085,x)|0;d=wz(u)|0;e=e+1|0}while((e|0)!=(l|0))}do if(c){f[y>>2]=c;f[y+4>>2]=u;e=wd(63089,y)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=e;break}else{F=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=e;break}}else{f[z>>2]=u;c=wd(63097,z)|0}while(0);k=k+1|0}while(k>>>0<((h[r>>0]|0)<<8|(h[o>>0]|0))>>>0)}if(($e(f[a>>2]|0,c,-1,1,101)|0)!=18){t=A;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=A;return}function Jq(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0;i=f[e>>2]|0;c=d[i+8>>1]|0;a:do if((c&15|16)<<16>>16==16){if((c&2)!=0?(b[i+10>>0]|0)==1:0)c=f[i+12>>2]|0;else g=5;do if((g|0)==5){g=c&65535;if(!(g&16)){if(g&1|0)break a;c=_e(i,1)|0;break}else{c=f[i+12>>2]|0;if(!(g&16384))break;c=(f[i>>2]|0)+c|0;break}}while(0);if((c|0)>=2){i=lf(f[e>>2]|0)|0;i=h[i>>0]<<8|h[i+1>>0];c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216)){a=c;f[a>>2]=i;f[a+4>>2]=0;d[g>>1]=4;return}else{bf(c,i,0);return}}}while(0);f[a+20>>2]=1;$e(f[a>>2]|0,63052,-1,1,-1)|0;return}function Kq(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+80|0;o=u+16|0;m=u+8|0;k=u;s=u+20|0;if((c+-1|0)>>>0>1){f[a+20>>2]=1;$e(f[a>>2]|0,62285,-1,1,-1)|0;t=u;return}h=f[e>>2]|0;do if(h){g=d[h+8>>1]|0;if((g&514)==514?(b[h+10>>0]|0)==1:0){i=f[h+16>>2]|0;break}if(!(g&1))i=Ic(h,1)|0;else i=0}else i=0;while(0);do if((c|0)!=1){g=f[e+4>>2]|0;if(g){h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0){e=f[g+16>>2]|0;break}if(!(h&1))e=Ic(g,1)|0;else e=0}else e=0}else{e=i;i=42464}while(0);r=f[(f[a>>2]|0)+32>>2]|0;q=s+12|0;g=q;h=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[s>>2]=r;f[s+4>>2]=i;f[s+8>>2]=e;if(b[r+79>>0]|0){n=uj(r,44244,0,0,0)|0;h=s+40|0;f[h>>2]=n;if(!n){c=1;p=19}else{n=1;g=0;l=h}}else{c=0;h=s+40|0;p=19}if((p|0)==19){f[k>>2]=i;f[k+4>>2]=e;g=ss(s,62336,k)|0;if(!g)g=0;else{p=(j[g+140>>1]|0)+-2|0;Fi(g)|0;g=p}f[h>>2]=0;n=c;l=h}f[m>>2]=i;f[m+4>>2]=e;k=ss(s,60843,m)|0;if(k){c=k+140|0;p=(j[c>>1]|0)+~g|0;g=s+16|0;f[g>>2]=(p|0)/2|0;if((p|0)>=2){if((Ei(k)|0)==100){h=f[k+104>>2]|0;if((h|0)!=0?(j[c>>1]|0)>1:0){h=h+40|0;c=k}else{h=f[k>>2]|0;f[h+64>>2]=25;Bg(h,25);h=37592;c=k}i=d[h+8>>1]&31;h=f[c>>2]|0;e=k+40|0;c=f[e>>2]|0;if((c|0)==3082|(b[h+81>>0]|0)!=0){Di(h);h=7}else h=f[h+68>>2]&c;f[e>>2]=h;f[q>>2]=1347440720>>>i&1}}else ts(s,62364,o);h=Fi(k)|0;if((h|0)!=11)f[l>>2]=h}else g=s+16|0;if((f[g>>2]|0)>0){if(!(f[l>>2]|0))us(s,0,0,1,0);q=f[s+32>>2]|0;vs(s,62395,q,((q|0)<0)<<31>>31);q=f[s+36>>2]|0;vs(s,62402,q,((q|0)<0)<<31>>31)}Fi(f[s+20>>2]|0)|0;Fi(f[s+24>>2]|0)|0;Fi(f[s+28>>2]|0)|0;do if(n){g=uj(r,62410,0,0,0)|0;h=f[l>>2]|0;if(!h){f[l>>2]=g;p=46;break}else{g=h;h=f[s+44>>2]|0;p=49;break}}else{g=f[l>>2]|0;p=46}while(0);if((p|0)==46){h=f[s+44>>2]|0;if(!g){if(($e(f[a>>2]|0,(h|0)==0?55871:h,-1,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}}else p=49}if((p|0)==49){f[a+20>>2]=g;c=f[a>>2]|0;if(d[c+8>>1]&1){switch(g|0){case 516:{g=44816;break}case 100:{g=44794;break}case 101:{g=44771;break}default:{g=g&255;if(g>>>0<29?(520028155>>>g&1|0)!=0:0)g=f[7984+(g<<2)>>2]|0;else g=44757}}$e(c,g,-1,1,0)|0}}g=h;if(!h){t=u;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);t=u;return}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);t=u;return}}function Lq(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))h=hf(a,0)|0;else h=f[c+16>>2]|0;if(!h)return;i=f[h+4>>2]|0;j=i+1|0;e=b[j>>0]|0;a:do if(e<<24>>24==44)c=1;else{a=0;c=1;g=0;while(1){switch(e<<24>>24){case 34:{a=(g^1)&1;break}case 92:{c=c+1|0;break}default:{}}c=c+1|0;e=b[i+c>>0]|0;g=(a|0)!=0;if(!(g|e<<24>>24!=44))break a}}while(0);g=h+16|0;h=g;h=LA(f[h>>2]|0,f[h+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=ba()|0;f[g>>2]=h;f[g+4>>2]=a;ZA(j|0,i+(c+1)|0,h+-1|0)|0;return}function Mq(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;a=wk(a,60269)|0;if(a|0){e=a;return e|0}do if(!(Mc()|0)){if(!(f[9328]|0)){a=ib[f[37356>>2]&255](12)|0;f[e>>2]=a;if(!a){e=7;return e|0}}else{a=ib[f[37372>>2]&255](12)|0;if((f[18194]|0)>>>0<12)f[18194]=12;c=71896;b=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&b>>>0>0){g=f[18187]|0;d=LA(b|0,c|0,a|0,((a|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&d>>>0<=g>>>0)&1}a=ib[f[37356>>2]&255](a)|0;if(!a)break;b=ib[f[37368>>2]&255](a)|0;b=(f[18187]|0)+b|0;f[18187]=b;if(b>>>0>(f[18191]|0)>>>0)f[18191]=b;b=(f[18190]|0)+1|0;f[18190]=b;if(b>>>0>(f[18196]|0)>>>0)f[18196]=b;f[e>>2]=a};f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;e=0;return e|0}while(0);f[e>>2]=0;e=7;return e|0}function Nq(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+16|0;k=m;l=k+4|0;f[l>>2]=-1;f[k>>2]=-1;j=f[c>>2]|0;if((j|0)>0){h=0;i=f[c+4>>2]|0;d=0;a=0;while(1){e=f[i>>2]|0;do if((e|0)>=8){e=e+-8|0;g=1<>0]|0)){a=g|a;break}if((b[i+4>>0]|0)==2){f[k+(e<<2)>>2]=h;d=g|d}}while(0);h=h+1|0;if((h|0)>=(j|0))break;else i=i+12|0}}else{d=0;a=0}if(a&~d|0){c=19;t=m;return c|0}a=f[k>>2]|0;if((a|0)>=0){p[c+40>>3]=1.0;d=f[c+16>>2]|0;f[d+(a<<3)>>2]=1;b[d+(a<<3)+4>>0]=1;a=f[l>>2]|0;if((a|0)<0)a=1;else{f[d+(a<<3)>>2]=2;b[d+(a<<3)+4>>0]=1;a=3}}else a=0;f[c+20>>2]=a;c=0;t=m;return c|0}function Oq(a){a=a|0;var b=0;if(!a)return 0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Pq(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;if(Mc()|0){c=7;return c|0}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](64)|0;if(!a){c=7;return c|0}}else{e=ib[f[37372>>2]&255](64)|0;if((f[18194]|0)>>>0<64)f[18194]=64;d=71896;a=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&a>>>0>0){g=f[18187]|0;d=LA(a|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&d>>>0<=g>>>0)&1}a=ib[f[37356>>2]&255](e)|0;if(!a){g=7;return g|0}d=ib[f[37368>>2]&255](a)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d}d=a;e=d+64|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;b[a+21>>0]=1;g=0;return g|0}function Qq(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=a+24|0;c=f[h>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{g=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);g=a+28|0;c=f[g>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=a+32|0;d=a+40|0;e=f[d>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[d>>2]=0;f[c>>2]=0;f[a+36>>2]=0;c=a+48|0;d=f[c>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);f[c>>2]=0;f[a+4>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;b[a+20>>0]=0;f[h>>2]=0;f[g>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{i=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Rq(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;z=t;t=t+16|0;n=z+8|0;k=z;l=z+12|0;s=a+24|0;e=f[s>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{y=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);r=a+28|0;e=f[r>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{y=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);p=a+32|0;u=a+40|0;e=f[u>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{y=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[u>>2]=0;f[p>>2]=0;o=a+36|0;f[o>>2]=0;x=a+48|0;e=f[x>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{y=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[x>>2]=0;q=a+4|0;f[q>>2]=0;y=a+12|0;f[y>>2]=0;v=a+16|0;f[v>>2]=0;w=a+20|0;b[w>>0]=0;f[s>>2]=0;f[r>>2]=0;if(!c){y=0;t=z;return y|0}e=f[h>>2]|0;if(!e){y=0;t=z;return y|0}g=d[e+8>>1]|0;if((g&514)==514?(b[e+10>>0]|0)==1:0)j=f[e+16>>2]|0;else m=22;do if((m|0)==22)if(!(g&1)){j=Ic(e,1)|0;break}else{y=0;t=z;return y|0}while(0);if(!j){y=0;t=z;return y|0}i=f[h>>2]|0;e=d[i+8>>1]|0;if((e&2)!=0?(b[i+10>>0]|0)==1:0)e=f[i+12>>2]|0;else m=28;do if((m|0)==28){g=e&65535;if(!(g&16)){if(g&1|0){e=0;break}e=_e(i,1)|0;break}else{e=f[i+12>>2]|0;if(!(g&16384))break;e=(f[i>>2]|0)+e|0;break}}while(0);g=KA(e|0,((e|0)<0)<<31>>31|0,1,0)|0;g=xd(g,ba()|0)|0;f[s>>2]=g;if(!g){y=7;t=z;return y|0}YA(g|0,j|0,e+1|0)|0;i=f[s>>2]|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;if(i){f[a+44>>2]=i;e=er(p,0)|0;j=a+52|0;if((e|0)>0&(b[j>>0]|0)==0){while(1){g=b[i+e>>0]|0;if(!(b[23984+(g&255)>>0]|0))break;else e=e+1|0}if(!((e|0)<1|g<<24>>24!=0)){k=a+21|0;do if(b[k>>0]|0){i=Fd(f[p>>2]<<2)|0;f[x>>2]=i;if(i|0){fr(p,0,0);break}b[j>>0]=1;e=f[s>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[r>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[u>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[u>>2]=0;f[p>>2]=0;f[o>>2]=0;e=f[x>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[x>>2]=0;f[q>>2]=0;f[y>>2]=0;f[v>>2]=0;b[w>>0]=0;f[s>>2]=0;f[r>>2]=0;y=7;t=z;return y|0}while(0);a:do if((c|0)==3){f[l>>2]=0;i=h+4|0;e=f[i>>2]|0;b:do if(!e)e=0;else{g=d[e+8>>1]|0;do if((g&514)==514){if((b[e+10>>0]|0)!=1){m=95;break}g=f[e+16>>2]|0}else m=95;while(0);if((m|0)==95){if(g&1){e=0;break}g=Ic(e,1)|0}if(!g){e=0;break}j=f[i>>2]|0;e=d[j+8>>1]|0;do if(!(e&2))m=101;else{if((b[j+10>>0]|0)!=1){m=101;break}i=f[j+12>>2]|0}while(0);do if((m|0)==101){e=e&65535;if(!(e&16)){if(e&1|0){i=0;break}i=_e(j,1)|0;break}else{i=f[j+12>>2]|0;if(!(e&16384))break;i=(f[j>>2]|0)+i|0;break}}while(0);e=KA(i|0,((i|0)<0)<<31>>31|0,1,0)|0;e=xd(e,ba()|0)|0;f[r>>2]=e;if(!e){e=7;break}YA(e|0,g|0,i+1|0)|0;do if((b[g>>0]|0)==36){e=gr(p,0,(f[r>>2]|0)+1|0,0,l)|0;g=f[l>>2]|0;if(g|0)break;if(!e){e=0;break b}j=e;g=f[u>>2]|0;break a}else f[l>>2]=g;while(0);e=f[(f[a>>2]|0)+8>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{m=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[n>>2]=g;e=wd(60239,n)|0;f[(f[a>>2]|0)+8>>2]=e;e=f[s>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{n=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[r>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{n=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[u>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{n=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[u>>2]=0;f[p>>2]=0;f[o>>2]=0;e=f[x>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[x>>2]=0;f[q>>2]=0;f[y>>2]=0;f[v>>2]=0;b[w>>0]=0;f[s>>2]=0;f[r>>2]=0;e=(f[(f[a>>2]|0)+8>>2]|0)==0?7:1}while(0);y=e;t=z;return y|0}else{j=f[u>>2]|0;g=j;e=g}while(0);e=(e-g|0)/12|0;f[y>>2]=e;f[a+8>>2]=e;s=b[j>>0]|0;b[w>>0]=s;if((s&255)<=5){f[v>>2]=e+1;y=0;t=z;return y|0}f[j+8>>2]=0;i=f[y>>2]|0;e=i+1|0;f[v>>2]=e+(f[j+4>>2]|0);if(!(b[k>>0]|0)){f[y>>2]=e;y=0;t=z;return y|0}g=f[u>>2]|0;b[w>>0]=b[g+((f[(f[x>>2]|0)+(i<<2)>>2]|0)*12|0)>>0]|0;if(!i){y=0;t=z;return y|0}e=i+-1|0;if(!(b[g+(e*12|0)+1>>0]&64)){y=0;t=z;return y|0}f[y>>2]=e;y=0;t=z;return y|0}}e=f[u>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{n=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[u>>2]=0;f[p>>2]=0;f[o>>2]=0;e=f[x>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{n=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[x>>2]=0;if(b[j>>0]|0)g=7;else m=48}else m=48;if((m|0)==48){e=f[(f[a>>2]|0)+8>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{n=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);g=wd(60224,k)|0;f[(f[a>>2]|0)+8>>2]=g;g=(g|0)==0?7:1}e=f[s>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[r>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[u>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[u>>2]=0;f[p>>2]=0;f[o>>2]=0;e=f[x>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[x>>2]=0;f[q>>2]=0;f[y>>2]=0;f[v>>2]=0;b[w>>0]=0;f[s>>2]=0;f[r>>2]=0;y=g;t=z;return y|0}function Sq(a){a=a|0;var c=0,d=0,e=0,g=0;if(b[a+21>>0]|0){g=f[a+40>>2]|0;d=a+12|0;c=f[d>>2]|0;if(!(b[g+(c*12|0)+1>>0]&64))e=c;else{e=c+1|0;f[d>>2]=e}c=e+1|0;f[d>>2]=c;d=a+4|0;f[d>>2]=(f[d>>2]|0)+1;if(c>>>0>=(f[a+16>>2]|0)>>>0)return 0;d=f[(f[a+48>>2]|0)+(c<<2)>>2]|0;c=b[g+(d*12|0)>>0]|0;b[a+20>>0]=c;if(c<<24>>24!=6)return 0;c=g+(d*12|0)+8|0;if((d|0)==(e|0)){f[c>>2]=0;return 0}else{f[c>>2]=(f[c>>2]|0)+1;return 0}}else switch(b[a+20>>0]|0){case 6:{c=f[a+40>>2]|0;d=a+12|0;e=f[d>>2]|0;if((h[c+(e*12|0)>>0]|0)>5)c=(f[c+(e*12|0)+4>>2]|0)+1|0;else c=1;f[d>>2]=c+e;a=a+4|0;f[a>>2]=(f[a>>2]|0)+1;return 0}case 7:{c=f[a+40>>2]|0;e=a+12|0;g=f[e>>2]|0;d=g+1|0;if((h[c+(d*12|0)>>0]|0)>5)c=(f[c+(d*12|0)+4>>2]|0)+2|0;else c=2;f[e>>2]=c+g;a=a+4|0;f[a>>2]=(f[a>>2]|0)+1;return 0}default:{f[a+12>>2]=f[a+16>>2];return 0}}return 0}function Tq(a){a=a|0;return (f[a+12>>2]|0)>>>0>=(f[a+16>>2]|0)>>>0|0}function Uq(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+144|0;n=x+136|0;m=x+128|0;v=x;q=f[a+40>>2]|0;w=f[a+12>>2]|0;g=q+(w*12|0)|0;switch(e|0){case 0:{if(!w){t=x;return 0}switch(b[a+20>>0]|0){case 7:{Wq(g,c);t=x;return 0}case 6:{i=f[a+4>>2]|0;do if(b[a+21>>0]|0)if(!i){t=x;return 0}else{i=f[q+((f[(f[a+48>>2]|0)+(w<<2)>>2]|0)*12|0)+8>>2]|0;break}while(0);e=f[c>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){w=e;f[w>>2]=i;f[w+4>>2]=0;d[g>>1]=4;t=x;return 0}else{bf(e,i,0);t=x;return 0}}default:{t=x;return 0}}}case 1:{Wq((b[q+(w*12|0)+1>>0]&64)==0?g:g+12|0,c);t=x;return 0}case 2:{if(($e(f[c>>2]|0,f[23920+(h[((b[q+(w*12|0)+1>>0]&64)==0?g:g+12|0)>>0]<<2)>>2]|0,-1,1,0)|0)!=18){t=x;return 0}f[c+20>>2]=18;$e(f[c>>2]|0,41612,-1,1,0)|0;t=x;return 0}case 3:{e=(b[q+(w*12|0)+1>>0]&64)==0?g:g+12|0;if((h[e>>0]|0)>5){t=x;return 0}Wq(e,c);t=x;return 0}case 4:{i=KA((h[q+(w*12|0)+1>>0]|0)>>>6&1|0,0,w|0,0)|0;j=ba()|0;e=f[c>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){w=e;f[w>>2]=i;f[w+4>>2]=j;d[g>>1]=4;t=x;return 0}else{bf(e,i,j);t=x;return 0}}case 5:{if(w>>>0<=(f[a+8>>2]|0)>>>0){t=x;return 0}if(!(b[a+21>>0]|0)){t=x;return 0}i=f[(f[a+48>>2]|0)+(w<<2)>>2]|0;e=f[c>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){w=e;f[w>>2]=i;f[w+4>>2]=0;d[g>>1]=4;t=x;return 0}else{bf(e,i,0);t=x;return 0}}case 6:{f[v>>2]=c;k=v+25|0;b[k>>0]=0;r=v+26|0;s=v+4|0;f[s>>2]=r;u=v+8|0;o=u;f[o>>2]=100;f[o+4>>2]=0;o=v+16|0;p=o;f[p>>2]=0;f[p+4>>2]=0;p=v+24|0;b[p>>0]=1;a:do if(!(b[a+21>>0]|0)){j=f[a+28>>2]|0;b:do if(!j){l=o;f[l>>2]=1;f[l+4>>2]=0;b[r>>0]=36}else{c=wz(j)|0;do if(c>>>0<100){g=0;e=r}else{g=KA(c|0,0,110,0)|0;i=ba()|0;e=xd(g,i)|0;if(e|0){YA(e|0,f[s>>2]|0,f[o>>2]|0)|0;f[s>>2]=e;b[p>>0]=0;l=u;f[l>>2]=g;f[l+4>>2]=i;g=f[o>>2]|0;break}b[k>>0]=1;i=f[v>>2]|0;e=f[i>>2]|0;g=e+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(e);e=f[i>>2]|0}f[i+20>>2]=7;e=f[e+32>>2]|0;g=e+81|0;if((b[g>>0]|0)==0?(b[e+82>>0]|0)==0:0){b[g>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;c=e+272|0;f[c>>2]=(f[c>>2]|0)+1}do if((b[p>>0]|0)==0?(l=f[s>>2]|0,l|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{c=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);f[s>>2]=r;l=u;f[l>>2]=100;f[l+4>>2]=0;l=o;f[l>>2]=0;f[l+4>>2]=0;b[p>>0]=1;break b}while(0);YA(e+g|0,j|0,c|0)|0;j=o;j=KA(f[j>>2]|0,f[j+4>>2]|0,c|0,0)|0;c=ba()|0;l=o;f[l>>2]=j;f[l+4>>2]=c}while(0);switch(b[a+20>>0]|0){case 6:{f[m>>2]=f[a+4>>2];Yq(30,v,60152,m);break a}case 7:{a=f[q+(w*12|0)+4>>2]|0;w=(f[q+(w*12|0)+8>>2]|0)+1|0;f[n>>2]=a+-2;f[n+4>>2]=w;Yq(a,v,60157,n);break a}default:break a}}else Xq(a,v,w);while(0);if(!(b[k>>0]|0)){e=f[v>>2]|0;g=f[s>>2]|0;w=o;i=f[w>>2]|0;w=f[w+4>>2]|0;j=(b[p>>0]|0)==0?101:-1;if(w>>>0>0|(w|0)==0&i>>>0>2147483647){switch(j|0){case 0:case -1:break;default:ob[j&127](g)}if(e|0){f[e+20>>2]=18;$e(f[e>>2]|0,41612,-1,1,0)|0}}else if(($e(f[e>>2]|0,g,i,1,j)|0)==18){f[e+20>>2]=18;$e(f[e>>2]|0,41612,-1,1,0)|0}f[s>>2]=r;w=u;f[w>>2]=100;f[w+4>>2]=0;w=o;f[w>>2]=0;f[w+4>>2]=0;b[p>>0]=1}t=x;return 0}case 7:{if(b[a+21>>0]|0){f[v>>2]=c;u=v+25|0;b[u>>0]=0;c=v+26|0;k=v+4|0;f[k>>2]=c;l=v+8|0;m=l;f[m>>2]=100;f[m+4>>2]=0;m=v+16|0;n=m;f[n>>2]=0;f[n+4>>2]=0;n=v+24|0;b[n>>0]=1;Xq(a,v,f[(f[a+48>>2]|0)+(w<<2)>>2]|0);if(!(b[u>>0]|0)){e=f[v>>2]|0;g=f[k>>2]|0;w=m;i=f[w>>2]|0;w=f[w+4>>2]|0;j=(b[n>>0]|0)==0?101:-1;if(w>>>0>0|(w|0)==0&i>>>0>2147483647){switch(j|0){case 0:case -1:break;default:ob[j&127](g)}if(e|0){f[e+20>>2]=18;$e(f[e>>2]|0,41612,-1,1,0)|0}}else if(($e(f[e>>2]|0,g,i,1,j)|0)==18){f[e+20>>2]=18;$e(f[e>>2]|0,41612,-1,1,0)|0}f[k>>2]=c;w=l;f[w>>2]=100;f[w+4>>2]=0;w=m;f[w>>2]=0;f[w+4>>2]=0;b[n>>0]=1}t=x;return 0}break}case 8:{if(($e(f[c>>2]|0,f[a+44>>2]|0,-1,1,0)|0)!=18){t=x;return 0}f[c+20>>2]=18;$e(f[c>>2]|0,41612,-1,1,0)|0;t=x;return 0}default:{}}w=f[a+28>>2]|0;if(($e(f[c>>2]|0,(w|0)==0?60163:w,-1,1,0)|0)!=18){t=x;return 0}f[c+20>>2]=18;$e(f[c>>2]|0,41612,-1,1,0)|0;t=x;return 0}function Vq(a,b){a=a|0;b=b|0;f[b>>2]=f[a+4>>2];f[b+4>>2]=0;return 0}function Wq(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,q=0;q=t;t=t+32|0;n=q+16|0;o=q+8|0;l=q;a:do switch(b[a>>0]|0){case 1:{e=f[c>>2]|0;a=e+8|0;if(!(d[a>>1]&9216)){c=e;f[c>>2]=1;f[c+4>>2]=0;d[a>>1]=4;t=q;return}else{bf(e,1,0);t=q;return}}case 2:{e=f[c>>2]|0;a=e+8|0;if(!(d[a>>1]&9216)){c=e;f[c>>2]=0;f[c+4>>2]=0;d[a>>1]=4;t=q;return}else{bf(e,0,0);t=q;return}}case 3:{e=a+8|0;a=f[e>>2]|0;g=b[a>>0]|0;a=g<<24>>24==45?a+1|0:a;h=b[a>>0]|0;do if((h+-48&255)<10){k=a;a=0;j=0;b:while(1){g=h<<24>>24;k=k+1|0;h=g+-48|0;c:do if((a|0)>214748364|(a|0)==214748364&j>>>0>3435973835)if((j|0)==-858993460&(a|0)==214748364)if(((b[k>>0]|0)+-48&255)>=10){switch(g|0){case 57:{g=5;j=-858993460;a=214748364;break c}case 56:break;default:{m=22;break c}}if((b[f[e>>2]>>0]|0)==45){a=f[c>>2]|0;g=a+8|0;if(!(d[g>>1]&9216)){j=a;f[j>>2]=0;f[j+4>>2]=-2147483648;d[g>>1]=4;g=6;j=-858993460;a=214748364;break}else{bf(a,0,-2147483648);g=6;j=-858993460;a=214748364;break}}else{g=5;j=-858993460;a=214748364}}else{g=5;j=-858993460;a=214748364}else g=5;else m=22;while(0);if((m|0)==22){m=0;j=QA(j|0,a|0,10,0)|0;j=KA(j|0,ba()|0,h|0,0)|0;g=0;a=ba()|0}switch(g&7){case 5:break a;case 6:{m=68;break b}case 0:break;default:{m=29;break b}}h=b[k>>0]|0;if((h+-48&255)>=10){m=25;break}}if((m|0)==25){g=b[f[e>>2]>>0]|0;e=j;break}else if((m|0)==29){if(!g)break a;t=q;return}else if((m|0)==68){t=q;return}}else{e=0;a=0}while(0);o=g<<24>>24==45;h=LA(0,0,e|0,a|0)|0;g=ba()|0;h=o?h:e;g=o?g:a;e=f[c>>2]|0;a=e+8|0;if(!(d[a>>1]&9216)){c=e;f[c>>2]=h;f[c+4>>2]=g;d[a>>1]=4;t=q;return}else{bf(e,h,g);t=q;return}}case 4:{e=a+8|0;break}case 5:{if(!(b[a+1>>0]&2)){if(($e(f[c>>2]|0,(f[a+8>>2]|0)+1|0,(f[a+4>>2]|0)+-2|0,1,-1)|0)!=18){t=q;return}f[c+20>>2]=18;$e(f[c>>2]|0,41612,-1,1,0)|0;t=q;return}e=f[a+4>>2]|0;n=f[a+8>>2]|0;o=Fd(e+1|0)|0;if(!o){e=f[c>>2]|0;a=e+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(e);e=f[c>>2]|0}f[c+20>>2]=7;e=f[e+32>>2]|0;a=e+81|0;if(b[a>>0]|0){t=q;return}if(b[e+82>>0]|0){t=q;return}b[a>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;c=e+272|0;f[c>>2]=(f[c>>2]|0)+1;t=q;return}m=e+-1|0;d:do if(m>>>0>1){e=0;k=1;do{a=b[n+k>>0]|0;e:do if(a<<24>>24==92){a=k+1|0;g=b[n+a>>0]|0;switch(g<<24>>24){case 98:{j=e;h=a;g=8;a=1;break e}case 117:{l=k+5|0;a=b[n+(k+2)>>0]|0;a=(a<<24>>24<58?-48:a<<24>>24<71?-55:-87)+(a<<24>>24)|0;h=b[n+(k+3)>>0]|0;g=h<<24>>24;do if(h<<24>>24>=58){a=(a<<4)+g|0;if(h<<24>>24<71){a=a+-55|0;break}else{a=a+-87|0;break}}else a=(a<<4)+-48+g|0;while(0);h=b[n+(k+4)>>0]|0;g=h<<24>>24;do if(h<<24>>24>=58){a=(a<<4)+g|0;if(h<<24>>24<71){g=a+-55|0;break}else{g=a+-87|0;break}}else g=(a<<4)+-48+g|0;while(0);h=b[n+(k+5)>>0]|0;a=h<<24>>24;do if(h<<24>>24>=58){a=(g<<4)+a|0;if(h<<24>>24<71){a=a+-55|0;break}else{a=a+-87|0;break}}else a=(g<<4)+-48+a|0;while(0);if(!a)break d;if(a>>>0<128){j=e;h=l;g=a&255;a=1;break e}if(a>>>0<2048){b[o+e>>0]=a>>>6|192;j=e+1|0;h=l;g=(a&63|128)&255;a=2;break e}else{b[o+e>>0]=a>>>12|224;b[o+(e+1)>>0]=a>>>6&63|128;j=e+2|0;h=l;g=(a&63|128)&255;a=3;break e}}case 102:{j=e;h=a;g=12;a=1;break e}case 110:{j=e;h=a;g=10;a=1;break e}case 114:{j=e;h=a;g=13;a=1;break e}case 116:{j=e;h=a;g=9;a=1;break e}default:{j=e;h=a;a=1;break e}}}else{j=e;h=k;g=a;a=1}while(0);e=e+a|0;b[o+j>>0]=g;k=h+1|0}while(k>>>0>>0)}else e=0;while(0);b[o+e>>0]=0;if(($e(f[c>>2]|0,o,e,1,101)|0)!=18){t=q;return}f[c+20>>2]=18;$e(f[c>>2]|0,41612,-1,1,0)|0;t=q;return}case 7:case 6:{ar(a,c,0);t=q;return}default:{e=f[c>>2]|0;a=e+8|0;if(!(d[a>>1]&9216)){d[a>>1]=1;t=q;return}else{cf(e);t=q;return}}}while(0);a=f[e>>2]|0;if(!a)e=0;else e=(wz(a)|0)&1073741823;jf(a,l,e,1)|0;i=+p[l>>3];e=f[c>>2]|0;a=e+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else cf(e);p[n>>3]=i;p[o>>3]=+p[n>>3];if(+p[n>>3]==+p[o>>3]){p[e>>3]=i;d[a>>1]=8}t=q;return}function Xq(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=t;t=t+16|0;j=o+8|0;i=o;if(e|0){h=f[(f[a+48>>2]|0)+(e<<2)>>2]|0;Xq(a,c,h);g=f[a+40>>2]|0;a=g+(e*12|0)|0;if((b[g+(h*12|0)>>0]|0)==6){f[i>>2]=f[g+(h*12|0)+8>>2];Yq(30,c,60152,i);t=o;return}else{m=(b[g+(e*12|0)+1>>0]&64)==0?a+-12|0:a;n=f[m+4>>2]|0;m=(f[m+8>>2]|0)+1|0;f[j>>2]=n+-2;f[j+4>>2]=m;Yq(n+1|0,c,60157,j);t=o;return}}n=c+16|0;a=n;h=f[a>>2]|0;a=f[a+4>>2]|0;m=c+8|0;i=m;e=f[i>>2]|0;i=f[i+4>>2]|0;if(a>>>0>>0|(a|0)==(i|0)&h>>>0>>0)g=f[c+4>>2]|0;else{a=i>>>0>0|(i|0)==0&e>>>0>1;p=WA(e|0,i|0,1)|0;j=ba()|0;h=KA(e|0,i|0,11,0)|0;e=ba()|0;h=a?p:h;e=a?j:e;j=c+24|0;do if(!(b[j>>0]|0)){i=c+4|0;a=f[i>>2]|0;if((Mc()|0)==0?(g=Nc(a,h,e)|0,g|0):0){f[i>>2]=g;break}b[c+25>>0]=1;h=f[c>>2]|0;g=f[h>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[h>>2]|0}f[h+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;p=g+272|0;f[p>>2]=(f[p>>2]|0)+1}do if((b[j>>0]|0)==0?(k=f[i>>2]|0,k|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{p=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[i>>2]=c+26;p=m;f[p>>2]=100;f[p+4>>2]=0;p=n;f[p>>2]=0;f[p+4>>2]=0;b[j>>0]=1;t=o;return}else{a=c+25|0;if(b[a>>0]|0){t=o;return}g=xd(h,e)|0;if(g|0){p=c+4|0;YA(g|0,f[p>>2]|0,f[n>>2]|0)|0;f[p>>2]=g;b[j>>0]=0;break}b[a>>0]=1;h=f[c>>2]|0;g=f[h>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[h>>2]|0}f[h+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;p=g+272|0;f[p>>2]=(f[p>>2]|0)+1}g=c+4|0;do if((b[j>>0]|0)==0?(l=f[g>>2]|0,l|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{p=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);f[g>>2]=c+26;p=m;f[p>>2]=100;f[p+4>>2]=0;p=n;f[p>>2]=0;f[p+4>>2]=0;b[j>>0]=1;t=o;return}while(0);a=m;f[a>>2]=h;f[a+4>>2]=e;a=n;h=f[a>>2]|0;a=f[a+4>>2]|0}m=KA(h|0,a|0,1,0)|0;c=ba()|0;p=n;f[p>>2]=m;f[p+4>>2]=c;b[g+h>>0]=36;t=o;return}function Yq(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=t;t=t+48|0;h=k+16|0;i=k;j=c+16|0;m=j;m=KA(f[m>>2]|0,f[m+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;o=ba()|0;l=c+8|0;n=f[l+4>>2]|0;if(!(o>>>0>>0|((o|0)==(n|0)?m>>>0<(f[l>>2]|0)>>>0:0))?Zq(c,a)|0:0){t=k;return}f[i>>2]=g;c=c+4|0;g=(f[c>>2]|0)+(f[j>>2]|0)|0;if((a|0)>=1){f[h+4>>2]=g;f[h>>2]=0;f[h+8>>2]=a;o=h+12|0;f[o>>2]=0;f[o+4>>2]=0;d[o+8>>1]=0;Bc(h,e,i);b[g+(f[h+16>>2]|0)>>0]=0}n=j;o=f[n>>2]|0;n=f[n+4>>2]|0;m=wz((f[c>>2]|0)+o|0)|0;m=KA(o|0,n|0,m|0,((m|0)<0)<<31>>31|0)|0;n=ba()|0;o=j;f[o>>2]=m;f[o+4>>2]=n;t=k;return}function Zq(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=a+8|0;e=h;g=f[e>>2]|0;e=f[e+4>>2]|0;i=e>>>0>0|(e|0)==0&g>>>0>c>>>0;j=WA(g|0,e|0,1)|0;d=ba()|0;c=KA(c|0,0,10,0)|0;e=KA(c|0,ba()|0,g|0,e|0)|0;g=ba()|0;e=i?j:e;g=i?d:g;c=a+24|0;do if(!(b[c>>0]|0)){c=a+4|0;d=jp(f[c>>2]|0,e,g)|0;if(d|0){f[c>>2]=d;break}_q(a);j=7;return j|0}else{if(b[a+25>>0]|0){j=1;return j|0}d=xd(e,g)|0;if(d|0){j=a+4|0;YA(d|0,f[j>>2]|0,f[a+16>>2]|0)|0;f[j>>2]=d;b[c>>0]=0;break}_q(a);j=7;return j|0}while(0);j=h;f[j>>2]=e;f[j+4>>2]=g;j=0;return j|0}function _q(a){a=a|0;var c=0,e=0,g=0;b[a+25>>0]=1;g=f[a>>2]|0;c=f[g>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[g>>2]|0}f[g+20>>2]=7;c=f[c+32>>2]|0;e=c+81|0;if(b[e>>0]|0){$q(a);return}if(b[c+82>>0]|0){$q(a);return}b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;g=c+272|0;f[g>>2]=(f[g>>2]|0)+1;$q(a);return}function $q(a){a=a|0;var c=0,d=0,e=0,g=0;c=a+24|0;d=a+4|0;do if((b[c>>0]|0)==0?(e=f[d>>2]|0,e|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{g=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[d>>2]=a+26;g=a+8|0;f[g>>2]=100;f[g+4>>2]=0;g=a+16|0;f[g>>2]=0;f[g+4>>2]=0;b[c>>0]=1;return}function ar(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=t;t=t+128|0;g=n;f[g>>2]=c;h=g+25|0;b[h>>0]=0;k=g+26|0;l=g+4|0;f[l>>2]=k;m=g+8|0;i=m;f[i>>2]=100;f[i+4>>2]=0;i=g+16|0;j=i;f[j>>2]=0;f[j+4>>2]=0;j=g+24|0;b[j>>0]=1;br(a,g,e);if(b[h>>0]|0){m=f[c>>2]|0;l=m+11|0;b[l>>0]=74;m=m+8|0;l=d[m>>1]|0;l=l|-32768;d[m>>1]=l;t=n;return}a=f[g>>2]|0;e=f[l>>2]|0;o=i;g=f[o>>2]|0;o=f[o+4>>2]|0;h=(b[j>>0]|0)==0?101:-1;if(o>>>0>0|(o|0)==0&g>>>0>2147483647){switch(h|0){case 0:case -1:break;default:ob[h&127](e)}if(a|0){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}}else if(($e(f[a>>2]|0,e,g,1,h)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}f[l>>2]=k;o=m;f[o>>2]=100;f[o+4>>2]=0;o=i;f[o>>2]=0;f[o+4>>2]=0;b[j>>0]=1;o=f[c>>2]|0;m=o+11|0;b[m>>0]=74;o=o+8|0;m=d[o>>1]|0;m=m|-32768;d[o>>1]=m;t=n;return}function br(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;i=h[a+1>>0]|0;do if(!(i&24))q=a;else{a=a+8|0;if(!(i&8)){q=f[a>>2]|0;break}cr(c,f[e+(f[a>>2]<<2)>>2]|0);return}while(0);switch(b[q>>0]|0){case 1:{n=c+16|0;e=n;a=f[e>>2]|0;e=KA(a|0,f[e+4>>2]|0,4,0)|0;M=ba()|0;m=c+8|0;i=m;g=f[i>>2]|0;i=f[i+4>>2]|0;if(M>>>0>>0|(M|0)==(i|0)&e>>>0>>0)g=f[c+4>>2]|0;else{e=i>>>0>0|(i|0)==0&g>>>0>4;M=WA(g|0,i|0,1)|0;l=ba()|0;i=KA(g|0,i|0,14,0)|0;j=ba()|0;i=e?M:i;j=e?l:j;l=c+24|0;do if(!(b[l>>0]|0)){k=c+4|0;g=f[k>>2]|0;if((Mc()|0)==0?(o=Nc(g,i,j)|0,o|0):0){f[k>>2]=o;g=o;break}b[c+25>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;e=g+272|0;f[e>>2]=(f[e>>2]|0)+1}do if((b[l>>0]|0)==0?(t=f[k>>2]|0,t|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](t);break}else{e=ib[f[37368>>2]&255](t)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](t);break}while(0);f[k>>2]=c+26;c=m;f[c>>2]=100;f[c+4>>2]=0;c=n;f[c>>2]=0;f[c+4>>2]=0;b[l>>0]=1;return}else{a=c+25|0;if(b[a>>0]|0)return;g=xd(i,j)|0;if(g|0){c=c+4|0;YA(g|0,f[c>>2]|0,f[n>>2]|0)|0;f[c>>2]=g;b[l>>0]=0;break}b[a>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;e=g+272|0;f[e>>2]=(f[e>>2]|0)+1}g=c+4|0;do if((b[l>>0]|0)==0?(k=f[g>>2]|0,k|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{e=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[g>>2]=c+26;c=m;f[c>>2]=100;f[c+4>>2]=0;c=n;f[c>>2]=0;f[c+4>>2]=0;b[l>>0]=1;return}while(0);a=m;f[a>>2]=i;f[a+4>>2]=j;a=f[n>>2]|0}M=g+a|0;b[M>>0]=116;b[M+1>>0]=114;b[M+2>>0]=117;b[M+3>>0]=101;M=n;M=KA(f[M>>2]|0,f[M+4>>2]|0,4,0)|0;e=ba()|0;c=n;f[c>>2]=M;f[c+4>>2]=e;return}case 2:{n=c+16|0;e=n;a=f[e>>2]|0;e=KA(a|0,f[e+4>>2]|0,5,0)|0;M=ba()|0;m=c+8|0;i=m;g=f[i>>2]|0;i=f[i+4>>2]|0;if(M>>>0>>0|(M|0)==(i|0)&e>>>0>>0)g=f[c+4>>2]|0;else{e=i>>>0>0|(i|0)==0&g>>>0>5;M=WA(g|0,i|0,1)|0;l=ba()|0;i=KA(g|0,i|0,15,0)|0;j=ba()|0;i=e?M:i;j=e?l:j;l=c+24|0;do if(!(b[l>>0]|0)){k=c+4|0;g=f[k>>2]|0;if((Mc()|0)==0?(p=Nc(g,i,j)|0,p|0):0){f[k>>2]=p;g=p;break}b[c+25>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;e=g+272|0;f[e>>2]=(f[e>>2]|0)+1}do if((b[l>>0]|0)==0?(u=f[k>>2]|0,u|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{e=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}while(0);f[k>>2]=c+26;c=m;f[c>>2]=100;f[c+4>>2]=0;c=n;f[c>>2]=0;f[c+4>>2]=0;b[l>>0]=1;return}else{a=c+25|0;if(b[a>>0]|0)return;g=xd(i,j)|0;if(g|0){c=c+4|0;YA(g|0,f[c>>2]|0,f[n>>2]|0)|0;f[c>>2]=g;b[l>>0]=0;break}b[a>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;e=g+272|0;f[e>>2]=(f[e>>2]|0)+1}g=c+4|0;do if((b[l>>0]|0)==0?(v=f[g>>2]|0,v|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](v);break}else{e=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);break}while(0);f[g>>2]=c+26;c=m;f[c>>2]=100;f[c+4>>2]=0;c=n;f[c>>2]=0;f[c+4>>2]=0;b[l>>0]=1;return}while(0);a=m;f[a>>2]=i;f[a+4>>2]=j;a=f[n>>2]|0}M=g+a|0;b[M>>0]=b[49689]|0;b[M+1>>0]=b[49690]|0;b[M+2>>0]=b[49691]|0;b[M+3>>0]=b[49692]|0;b[M+4>>0]=b[49693]|0;M=n;M=KA(f[M>>2]|0,f[M+4>>2]|0,5,0)|0;e=ba()|0;c=n;f[c>>2]=M;f[c+4>>2]=e;return}case 5:{if(b[q+1>>0]&1){dr(c,f[q+8>>2]|0,f[q+4>>2]|0);return}break}case 3:case 4:break;case 6:{v=c+16|0;i=v;j=f[i>>2]|0;i=f[i+4>>2]|0;u=c+8|0;a=u;g=f[a>>2]|0;a=f[a+4>>2]|0;a:do if(i>>>0>>0|(i|0)==(a|0)&j>>>0>>0){g=c+4|0;a=g;k=c+24|0;g=f[g>>2]|0;M=203}else{L=a>>>0>0|(a|0)==0&g>>>0>1;K=WA(g|0,a|0,1)|0;k=ba()|0;i=KA(g|0,a|0,11,0)|0;j=ba()|0;i=L?K:i;j=L?k:j;k=c+24|0;do if(!(b[k>>0]|0)){a=c+4|0;g=f[a>>2]|0;if((Mc()|0)==0?(m=Nc(g,i,j)|0,m|0):0){f[a>>2]=m;g=m;break}l=c+25|0;b[l>>0]=1;j=f[c>>2]|0;g=f[j>>2]|0;i=g+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else{cf(g);g=f[j>>2]|0}f[j+20>>2]=7;g=f[g+32>>2]|0;i=g+81|0;if((b[i>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[i>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;L=g+272|0;f[L>>2]=(f[L>>2]|0)+1}do if((b[k>>0]|0)==0?(A=f[a>>2]|0,A|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{L=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}while(0);f[a>>2]=c+26;t=u;f[t>>2]=100;f[t+4>>2]=0;t=v;f[t>>2]=0;f[t+4>>2]=0;b[k>>0]=1;t=a;break a}else{l=c+25|0;if(b[l>>0]|0){t=c+4|0;break a}g=xd(i,j)|0;if(g|0){a=c+4|0;YA(g|0,f[a>>2]|0,f[v>>2]|0)|0;f[a>>2]=g;b[k>>0]=0;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;L=g+272|0;f[L>>2]=(f[L>>2]|0)+1}g=c+4|0;do if((b[k>>0]|0)==0?(z=f[g>>2]|0,z|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{L=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}while(0);f[g>>2]=c+26;t=u;f[t>>2]=100;f[t+4>>2]=0;t=v;f[t>>2]=0;f[t+4>>2]=0;b[k>>0]=1;t=g;break a}while(0);M=u;f[M>>2]=i;f[M+4>>2]=j;i=v;j=f[i>>2]|0;i=f[i+4>>2]|0;M=203}while(0);if((M|0)==203){M=KA(j|0,i|0,1,0)|0;t=ba()|0;l=v;f[l>>2]=M;f[l+4>>2]=t;b[g+j>>0]=91;l=c+25|0;t=a}s=c+26|0;while(1){r=q+4|0;if(f[r>>2]|0){p=1;do{o=q+(p*12|0)|0;if(!(b[q+(p*12|0)+1>>0]&4)){m=v;j=f[m>>2]|0;m=f[m+4>>2]|0;b:do if(!((j|0)==0&(m|0)==0)){g=f[t>>2]|0;switch(b[g+(j+-1)>>0]|0){case 123:case 91:break b;default:{}}i=u;a=f[i>>2]|0;i=f[i+4>>2]|0;if(m>>>0>>0|(m|0)==(i|0)&j>>>0>>0){n=j;i=j;a=m}else{L=i>>>0>0|(i|0)==0&a>>>0>1;K=WA(a|0,i|0,1)|0;M=ba()|0;a=KA(a|0,i|0,11,0)|0;i=ba()|0;a=L?K:a;i=L?M:i;do if(!(b[k>>0]|0)){if((Mc()|0)==0?(C=Nc(g,a,i)|0,C|0):0){f[t>>2]=C;g=C;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;a=f[g+32>>2]|0;g=a+81|0;if((b[g>>0]|0)==0?(b[a+82>>0]|0)==0:0){b[g>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;M=a+272|0;f[M>>2]=(f[M>>2]|0)+1}do if(!(b[k>>0]|0)){g=f[t>>2]|0;if(!g)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{M=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-M;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[t>>2]=s;M=u;f[M>>2]=100;f[M+4>>2]=0;M=v;f[M>>2]=0;f[M+4>>2]=0;b[k>>0]=1;break b}else{if(b[l>>0]|0)break b;g=xd(a,i)|0;if(g|0){YA(g|0,f[t>>2]|0,f[v>>2]|0)|0;f[t>>2]=g;b[k>>0]=0;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;do if(!(b[a>>0]|0)){if(b[g+82>>0]|0)break;b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;M=g+272|0;f[M>>2]=(f[M>>2]|0)+1}while(0);do if(!(b[k>>0]|0)){g=f[t>>2]|0;if(!g)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{M=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-M;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[t>>2]=s;M=u;f[M>>2]=100;f[M+4>>2]=0;M=v;f[M>>2]=0;f[M+4>>2]=0;b[k>>0]=1;break b}while(0);n=u;f[n>>2]=a;f[n+4>>2]=i;a=v;i=f[a>>2]|0;n=i;a=f[a+4>>2]|0}K=KA(i|0,a|0,1,0)|0;L=ba()|0;M=v;f[M>>2]=K;f[M+4>>2]=L;b[g+n>>0]=44}while(0);br(o,c,e)}if((h[o>>0]|0)>5)g=(f[q+(p*12|0)+4>>2]|0)+1|0;else g=1;p=g+p|0}while(p>>>0<=(f[r>>2]|0)>>>0)}if(!(b[q+1>>0]&32))break;q=q+((f[q+8>>2]|0)*12|0)|0}a=v;i=f[a>>2]|0;a=f[a+4>>2]|0;j=u;g=f[j>>2]|0;j=f[j+4>>2]|0;if(a>>>0>>0|(a|0)==(j|0)&i>>>0>>0)g=f[t>>2]|0;else{M=j>>>0>0|(j|0)==0&g>>>0>1;L=WA(g|0,j|0,1)|0;e=ba()|0;a=KA(g|0,j|0,11,0)|0;i=ba()|0;a=M?L:a;i=M?e:i;do if(!(b[k>>0]|0)){g=f[t>>2]|0;if((Mc()|0)==0?(D=Nc(g,a,i)|0,D|0):0){f[t>>2]=D;g=D;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;c=g+272|0;f[c>>2]=(f[c>>2]|0)+1}do if((b[k>>0]|0)==0?(F=f[t>>2]|0,F|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](F);break}else{c=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);break}while(0);f[t>>2]=s;c=u;f[c>>2]=100;f[c+4>>2]=0;c=v;f[c>>2]=0;f[c+4>>2]=0;b[k>>0]=1;return}else{if(b[l>>0]|0)return;g=xd(a,i)|0;if(g|0){YA(g|0,f[t>>2]|0,f[v>>2]|0)|0;f[t>>2]=g;b[k>>0]=0;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;c=g+272|0;f[c>>2]=(f[c>>2]|0)+1}do if((b[k>>0]|0)==0?(E=f[t>>2]|0,E|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](E);break}else{c=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);break}while(0);f[t>>2]=s;c=u;f[c>>2]=100;f[c+4>>2]=0;c=v;f[c>>2]=0;f[c+4>>2]=0;b[k>>0]=1;return}while(0);c=u;f[c>>2]=a;f[c+4>>2]=i;a=v;i=f[a>>2]|0;a=f[a+4>>2]|0}M=KA(i|0,a|0,1,0)|0;e=ba()|0;c=v;f[c>>2]=M;f[c+4>>2]=e;b[g+i>>0]=93;return}case 7:{w=c+16|0;i=w;j=f[i>>2]|0;i=f[i+4>>2]|0;v=c+8|0;a=v;g=f[a>>2]|0;a=f[a+4>>2]|0;c:do if(i>>>0>>0|(i|0)==(a|0)&j>>>0>>0){g=c+4|0;a=g;k=c+24|0;g=f[g>>2]|0;M=332}else{F=a>>>0>0|(a|0)==0&g>>>0>1;E=WA(g|0,a|0,1)|0;k=ba()|0;i=KA(g|0,a|0,11,0)|0;j=ba()|0;i=F?E:i;j=F?k:j;k=c+24|0;do if(!(b[k>>0]|0)){a=c+4|0;g=f[a>>2]|0;if((Mc()|0)==0?(l=Nc(g,i,j)|0,l|0):0){f[a>>2]=l;g=l;break}l=c+25|0;b[l>>0]=1;j=f[c>>2]|0;g=f[j>>2]|0;i=g+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else{cf(g);g=f[j>>2]|0}f[j+20>>2]=7;g=f[g+32>>2]|0;i=g+81|0;if((b[i>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[i>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;F=g+272|0;f[F>>2]=(f[F>>2]|0)+1}do if((b[k>>0]|0)==0?(x=f[a>>2]|0,x|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](x);break}else{F=ib[f[37368>>2]&255](x)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](x);break}while(0);f[a>>2]=c+26;u=v;f[u>>2]=100;f[u+4>>2]=0;u=w;f[u>>2]=0;f[u+4>>2]=0;b[k>>0]=1;u=a;break c}else{l=c+25|0;if(b[l>>0]|0){u=c+4|0;break c}g=xd(i,j)|0;if(g|0){a=c+4|0;YA(g|0,f[a>>2]|0,f[w>>2]|0)|0;f[a>>2]=g;b[k>>0]=0;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;F=g+272|0;f[F>>2]=(f[F>>2]|0)+1}g=c+4|0;do if((b[k>>0]|0)==0?(n=f[g>>2]|0,n|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{F=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}while(0);f[g>>2]=c+26;u=v;f[u>>2]=100;f[u+4>>2]=0;u=w;f[u>>2]=0;f[u+4>>2]=0;b[k>>0]=1;u=g;break c}while(0);M=v;f[M>>2]=i;f[M+4>>2]=j;i=w;j=f[i>>2]|0;i=f[i+4>>2]|0;M=332}while(0);if((M|0)==332){F=KA(j|0,i|0,1,0)|0;u=ba()|0;l=w;f[l>>2]=F;f[l+4>>2]=u;b[g+j>>0]=123;l=c+25|0;u=a}t=c+26|0;while(1){r=q+4|0;if(f[r>>2]|0){o=1;do{s=o+1|0;p=q+(s*12|0)|0;if(!(b[q+(s*12|0)+1>>0]&4)){m=w;j=f[m>>2]|0;m=f[m+4>>2]|0;d:do if(!((j|0)==0&(m|0)==0)){g=f[u>>2]|0;switch(b[g+(j+-1)>>0]|0){case 123:case 91:break d;default:{}}i=v;a=f[i>>2]|0;i=f[i+4>>2]|0;if(m>>>0>>0|(m|0)==(i|0)&j>>>0>>0){n=j;i=j;a=m}else{E=i>>>0>0|(i|0)==0&a>>>0>1;D=WA(a|0,i|0,1)|0;F=ba()|0;a=KA(a|0,i|0,11,0)|0;i=ba()|0;a=E?D:a;i=E?F:i;do if(!(b[k>>0]|0)){if((Mc()|0)==0?(G=Nc(g,a,i)|0,G|0):0){f[u>>2]=G;g=G;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;F=g+272|0;f[F>>2]=(f[F>>2]|0)+1}do if(!(b[k>>0]|0)){g=f[u>>2]|0;if(!g)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{F=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[u>>2]=t;F=v;f[F>>2]=100;f[F+4>>2]=0;F=w;f[F>>2]=0;f[F+4>>2]=0;b[k>>0]=1;break d}else{if(b[l>>0]|0)break d;g=xd(a,i)|0;if(g|0){YA(g|0,f[u>>2]|0,f[w>>2]|0)|0;f[u>>2]=g;b[k>>0]=0;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;do if(!(b[a>>0]|0)){if(b[g+82>>0]|0)break;b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;F=g+272|0;f[F>>2]=(f[F>>2]|0)+1}while(0);do if(!(b[k>>0]|0)){g=f[u>>2]|0;if(!g)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{F=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[u>>2]=t;F=v;f[F>>2]=100;f[F+4>>2]=0;F=w;f[F>>2]=0;f[F+4>>2]=0;b[k>>0]=1;break d}while(0);n=v;f[n>>2]=a;f[n+4>>2]=i;a=w;i=f[a>>2]|0;n=i;a=f[a+4>>2]|0}D=KA(i|0,a|0,1,0)|0;E=ba()|0;F=w;f[F>>2]=D;f[F+4>>2]=E;b[g+n>>0]=44}while(0);br(q+(o*12|0)|0,c,e);j=w;g=f[j>>2]|0;j=f[j+4>>2]|0;i=v;a=f[i>>2]|0;i=f[i+4>>2]|0;e:do if(j>>>0>>0|(j|0)==(i|0)&g>>>0>>0){i=g;a=j;g=f[u>>2]|0;M=415}else{E=i>>>0>0|(i|0)==0&a>>>0>1;D=WA(a|0,i|0,1)|0;F=ba()|0;a=KA(a|0,i|0,11,0)|0;i=ba()|0;a=E?D:a;i=E?F:i;do if(!(b[k>>0]|0)){g=f[u>>2]|0;if((Mc()|0)==0?(H=Nc(g,a,i)|0,H|0):0){f[u>>2]=H;g=H;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;F=g+272|0;f[F>>2]=(f[F>>2]|0)+1}do if((b[k>>0]|0)==0?(I=f[u>>2]|0,I|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](I);break}else{F=ib[f[37368>>2]&255](I)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](I);break}while(0);f[u>>2]=t;F=v;f[F>>2]=100;f[F+4>>2]=0;F=w;f[F>>2]=0;f[F+4>>2]=0;b[k>>0]=1;break e}else{if(b[l>>0]|0)break e;g=xd(a,i)|0;if(g|0){YA(g|0,f[u>>2]|0,f[w>>2]|0)|0;f[u>>2]=g;b[k>>0]=0;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;F=g+272|0;f[F>>2]=(f[F>>2]|0)+1}do if(!(b[k>>0]|0)){g=f[u>>2]|0;if(!g)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{F=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[u>>2]=t;F=v;f[F>>2]=100;f[F+4>>2]=0;F=w;f[F>>2]=0;f[F+4>>2]=0;b[k>>0]=1;break e}while(0);M=v;f[M>>2]=a;f[M+4>>2]=i;a=w;i=f[a>>2]|0;a=f[a+4>>2]|0;M=415}while(0);if((M|0)==415){M=0;D=KA(i|0,a|0,1,0)|0;E=ba()|0;F=w;f[F>>2]=D;f[F+4>>2]=E;b[g+i>>0]=58}br(p,c,e)}if((h[p>>0]|0)>5)g=(f[q+(s*12|0)+4>>2]|0)+1|0;else g=1;o=s+g|0}while(o>>>0<=(f[r>>2]|0)>>>0)}if(!(b[q+1>>0]&32))break;q=q+((f[q+8>>2]|0)*12|0)|0}a=w;i=f[a>>2]|0;a=f[a+4>>2]|0;j=v;g=f[j>>2]|0;j=f[j+4>>2]|0;if(a>>>0>>0|(a|0)==(j|0)&i>>>0>>0)g=f[u>>2]|0;else{M=j>>>0>0|(j|0)==0&g>>>0>1;I=WA(g|0,j|0,1)|0;e=ba()|0;a=KA(g|0,j|0,11,0)|0;i=ba()|0;a=M?I:a;i=M?e:i;do if(!(b[k>>0]|0)){g=f[u>>2]|0;if((Mc()|0)==0?(J=Nc(g,a,i)|0,J|0):0){f[u>>2]=J;g=J;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;c=g+272|0;f[c>>2]=(f[c>>2]|0)+1}do if((b[k>>0]|0)==0?(L=f[u>>2]|0,L|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](L);break}else{c=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);break}while(0);f[u>>2]=t;c=v;f[c>>2]=100;f[c+4>>2]=0;c=w;f[c>>2]=0;f[c+4>>2]=0;b[k>>0]=1;return}else{if(b[l>>0]|0)return;g=xd(a,i)|0;if(g|0){YA(g|0,f[u>>2]|0,f[w>>2]|0)|0;f[u>>2]=g;b[k>>0]=0;break}b[l>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;c=g+272|0;f[c>>2]=(f[c>>2]|0)+1}do if((b[k>>0]|0)==0?(K=f[u>>2]|0,K|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](K);break}else{c=ib[f[37368>>2]&255](K)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](K);break}while(0);f[u>>2]=t;c=v;f[c>>2]=100;f[c+4>>2]=0;c=w;f[c>>2]=0;f[c+4>>2]=0;b[k>>0]=1;return}while(0);c=v;f[c>>2]=a;f[c+4>>2]=i;a=w;i=f[a>>2]|0;a=f[a+4>>2]|0}M=KA(i|0,a|0,1,0)|0;e=ba()|0;c=w;f[c>>2]=M;f[c+4>>2]=e;b[g+i>>0]=125;return}default:{n=c+16|0;e=n;a=f[e>>2]|0;e=KA(a|0,f[e+4>>2]|0,4,0)|0;M=ba()|0;m=c+8|0;j=m;i=f[j>>2]|0;j=f[j+4>>2]|0;if(M>>>0>>0|(M|0)==(j|0)&e>>>0>>0)g=f[c+4>>2]|0;else{e=j>>>0>0|(j|0)==0&i>>>0>4;M=WA(i|0,j|0,1)|0;l=ba()|0;i=KA(i|0,j|0,14,0)|0;j=ba()|0;i=e?M:i;j=e?l:j;l=c+24|0;do if(!(b[l>>0]|0)){k=c+4|0;a=f[k>>2]|0;if((Mc()|0)==0?(g=Nc(a,i,j)|0,g|0):0){f[k>>2]=g;break}b[c+25>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;e=g+272|0;f[e>>2]=(f[e>>2]|0)+1}do if((b[l>>0]|0)==0?(s=f[k>>2]|0,s|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{e=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}while(0);f[k>>2]=c+26;c=m;f[c>>2]=100;f[c+4>>2]=0;c=n;f[c>>2]=0;f[c+4>>2]=0;b[l>>0]=1;return}else{a=c+25|0;if(b[a>>0]|0)return;g=xd(i,j)|0;if(g|0){c=c+4|0;YA(g|0,f[c>>2]|0,f[n>>2]|0)|0;f[c>>2]=g;b[l>>0]=0;break}b[a>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;e=g+272|0;f[e>>2]=(f[e>>2]|0)+1}g=c+4|0;do if((b[l>>0]|0)==0?(w=f[g>>2]|0,w|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{e=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}while(0);f[g>>2]=c+26;c=m;f[c>>2]=100;f[c+4>>2]=0;c=n;f[c>>2]=0;f[c+4>>2]=0;b[l>>0]=1;return}while(0);a=m;f[a>>2]=i;f[a+4>>2]=j;a=f[n>>2]|0}M=g+a|0;b[M>>0]=110;b[M+1>>0]=117;b[M+2>>0]=108;b[M+3>>0]=108;M=n;M=KA(f[M>>2]|0,f[M+4>>2]|0,4,0)|0;e=ba()|0;c=n;f[c>>2]=M;f[c+4>>2]=e;return}}m=f[q+8>>2]|0;l=f[q+4>>2]|0;p=c+16|0;e=p;a=f[e>>2]|0;e=KA(a|0,f[e+4>>2]|0,l|0,0)|0;M=ba()|0;o=c+8|0;i=o;g=f[i>>2]|0;i=f[i+4>>2]|0;if(M>>>0>>0|(M|0)==(i|0)&e>>>0>>0)g=f[c+4>>2]|0;else{e=i>>>0>0|(i|0)==0&g>>>0>l>>>0;M=WA(g|0,i|0,1)|0;n=ba()|0;j=KA(l|0,0,10,0)|0;i=KA(j|0,ba()|0,g|0,i|0)|0;j=ba()|0;i=e?M:i;j=e?n:j;n=c+24|0;do if(!(b[n>>0]|0)){k=c+4|0;g=f[k>>2]|0;if((Mc()|0)==0?(r=Nc(g,i,j)|0,r|0):0){f[k>>2]=r;g=r;break}b[c+25>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;e=g+272|0;f[e>>2]=(f[e>>2]|0)+1}do if((b[n>>0]|0)==0?(y=f[k>>2]|0,y|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](y);break}else{e=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y);break}while(0);f[k>>2]=c+26;c=o;f[c>>2]=100;f[c+4>>2]=0;c=p;f[c>>2]=0;f[c+4>>2]=0;b[n>>0]=1;return}else{a=c+25|0;if(b[a>>0]|0)return;g=xd(i,j)|0;if(g|0){c=c+4|0;YA(g|0,f[c>>2]|0,f[p>>2]|0)|0;f[c>>2]=g;b[n>>0]=0;break}b[a>>0]=1;i=f[c>>2]|0;g=f[i>>2]|0;a=g+8|0;if(!(d[a>>1]&9216))d[a>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;a=g+81|0;if((b[a>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[a>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;e=g+272|0;f[e>>2]=(f[e>>2]|0)+1}g=c+4|0;do if((b[n>>0]|0)==0?(B=f[g>>2]|0,B|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](B);break}else{e=ib[f[37368>>2]&255](B)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](B);break}while(0);f[g>>2]=c+26;c=o;f[c>>2]=100;f[c+4>>2]=0;c=p;f[c>>2]=0;f[c+4>>2]=0;b[n>>0]=1;return}while(0);a=o;f[a>>2]=i;f[a+4>>2]=j;a=f[p>>2]|0}YA(g+a|0,m|0,l|0)|0;M=p;M=KA(f[M>>2]|0,f[M+4>>2]|0,l|0,0)|0;e=ba()|0;c=p;f[c>>2]=M;f[c+4>>2]=e;return}function cr(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=c+8|0;h=d[j>>1]|0;switch(b[5792+(h&31)>>0]|0){case 5:{m=a+16|0;s=m;g=f[s>>2]|0;s=KA(g|0,f[s+4>>2]|0,4,0)|0;r=ba()|0;k=a+8|0;i=k;h=f[i>>2]|0;i=f[i+4>>2]|0;if(r>>>0>>0|(r|0)==(i|0)&s>>>0>>0)e=f[a+4>>2]|0;else{s=i>>>0>0|(i|0)==0&h>>>0>4;r=WA(h|0,i|0,1)|0;c=ba()|0;h=KA(h|0,i|0,14,0)|0;i=ba()|0;h=s?r:h;i=s?c:i;c=a+24|0;do if(!(b[c>>0]|0)){j=a+4|0;g=f[j>>2]|0;if((Mc()|0)==0?(e=Nc(g,h,i)|0,e|0):0){f[j>>2]=e;break}b[a+25>>0]=1;h=f[a>>2]|0;e=f[h>>2]|0;g=e+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(e);e=f[h>>2]|0}f[h+20>>2]=7;e=f[e+32>>2]|0;g=e+81|0;if((b[g>>0]|0)==0?(b[e+82>>0]|0)==0:0){b[g>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;s=e+272|0;f[s>>2]=(f[s>>2]|0)+1}do if((b[c>>0]|0)==0?(l=f[j>>2]|0,l|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{s=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);f[j>>2]=a+26;a=k;f[a>>2]=100;f[a+4>>2]=0;a=m;f[a>>2]=0;f[a+4>>2]=0;b[c>>0]=1;return}else{g=a+25|0;if(b[g>>0]|0)return;e=xd(h,i)|0;if(e|0){a=a+4|0;YA(e|0,f[a>>2]|0,f[m>>2]|0)|0;f[a>>2]=e;b[c>>0]=0;break}b[g>>0]=1;h=f[a>>2]|0;e=f[h>>2]|0;g=e+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(e);e=f[h>>2]|0}f[h+20>>2]=7;e=f[e+32>>2]|0;g=e+81|0;if((b[g>>0]|0)==0?(b[e+82>>0]|0)==0:0){b[g>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;s=e+272|0;f[s>>2]=(f[s>>2]|0)+1}e=a+4|0;do if((b[c>>0]|0)==0?(o=f[e>>2]|0,o|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{s=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}while(0);f[e>>2]=a+26;a=k;f[a>>2]=100;f[a+4>>2]=0;a=m;f[a>>2]=0;f[a+4>>2]=0;b[c>>0]=1;return}while(0);g=k;f[g>>2]=h;f[g+4>>2]=i;g=f[m>>2]|0}r=e+g|0;b[r>>0]=110;b[r+1>>0]=117;b[r+2>>0]=108;b[r+3>>0]=108;r=m;r=KA(f[r>>2]|0,f[r+4>>2]|0,4,0)|0;s=ba()|0;a=m;f[a>>2]=r;f[a+4>>2]=s;return}case 2:case 1:{if((h&514)==514?(b[c+10>>0]|0)==1:0){k=f[c+16>>2]|0;e=h}else if(!(h&1)){k=Ic(c,1)|0;e=d[j>>1]|0}else{k=0;e=h}if((e&2)!=0?(b[c+10>>0]|0)==1:0)c=f[c+12>>2]|0;else g=49;do if((g|0)==49){e=e&65535;if(!(e&16)){if(e&1|0){c=0;break}c=_e(c,1)|0;break}else{g=f[c+12>>2]|0;if(!(e&16384)){c=g;break}c=(f[c>>2]|0)+g|0;break}}while(0);o=a+16|0;s=o;g=f[s>>2]|0;s=KA(g|0,f[s+4>>2]|0,c|0,0)|0;r=ba()|0;n=a+8|0;h=n;e=f[h>>2]|0;h=f[h+4>>2]|0;if(r>>>0>>0|(r|0)==(h|0)&s>>>0>>0)e=f[a+4>>2]|0;else{s=h>>>0>0|(h|0)==0&e>>>0>c>>>0;r=WA(e|0,h|0,1)|0;l=ba()|0;i=KA(c|0,0,10,0)|0;h=KA(i|0,ba()|0,e|0,h|0)|0;i=ba()|0;h=s?r:h;i=s?l:i;l=a+24|0;do if(!(b[l>>0]|0)){j=a+4|0;e=f[j>>2]|0;if((Mc()|0)==0?(m=Nc(e,h,i)|0,m|0):0){f[j>>2]=m;e=m;break}b[a+25>>0]=1;h=f[a>>2]|0;e=f[h>>2]|0;g=e+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(e);e=f[h>>2]|0}f[h+20>>2]=7;e=f[e+32>>2]|0;g=e+81|0;if((b[g>>0]|0)==0?(b[e+82>>0]|0)==0:0){b[g>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;s=e+272|0;f[s>>2]=(f[s>>2]|0)+1}do if((b[l>>0]|0)==0?(p=f[j>>2]|0,p|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{s=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);f[j>>2]=a+26;a=n;f[a>>2]=100;f[a+4>>2]=0;a=o;f[a>>2]=0;f[a+4>>2]=0;b[l>>0]=1;return}else{g=a+25|0;if(b[g>>0]|0)return;e=xd(h,i)|0;if(e|0){a=a+4|0;YA(e|0,f[a>>2]|0,f[o>>2]|0)|0;f[a>>2]=e;b[l>>0]=0;break}b[g>>0]=1;h=f[a>>2]|0;e=f[h>>2]|0;g=e+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(e);e=f[h>>2]|0}f[h+20>>2]=7;e=f[e+32>>2]|0;g=e+81|0;if((b[g>>0]|0)==0?(b[e+82>>0]|0)==0:0){b[g>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;s=e+272|0;f[s>>2]=(f[s>>2]|0)+1}e=a+4|0;do if((b[l>>0]|0)==0?(q=f[e>>2]|0,q|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{s=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);f[e>>2]=a+26;a=n;f[a>>2]=100;f[a+4>>2]=0;a=o;f[a>>2]=0;f[a+4>>2]=0;b[l>>0]=1;return}while(0);g=n;f[g>>2]=h;f[g+4>>2]=i;g=f[o>>2]|0}YA(e+g|0,k|0,c|0)|0;r=o;r=KA(f[r>>2]|0,f[r+4>>2]|0,c|0,0)|0;s=ba()|0;a=o;f[a>>2]=r;f[a+4>>2]=s;return}case 3:{if((h&514)==514?(b[c+10>>0]|0)==1:0)l=f[c+16>>2]|0;else if(!(h&1)){l=Ic(c,1)|0;h=d[j>>1]|0}else l=0;if((h&2)!=0?(b[c+10>>0]|0)==1:0){k=f[c+12>>2]|0;e=h}else g=101;do if((g|0)==101){g=h&65535;if(!(g&16)){if(g&1|0){k=0;e=h;break}k=_e(c,1)|0;e=d[j>>1]|0;break}else{e=f[c+12>>2]|0;if(!(g&16384)){k=e;e=h;break}k=(f[c>>2]|0)+e|0;e=h;break}}while(0);if(e<<16>>16<0?(b[c+11>>0]|0)==74:0){o=a+16|0;q=o;g=f[q>>2]|0;q=KA(g|0,f[q+4>>2]|0,k|0,0)|0;p=ba()|0;m=a+8|0;h=m;e=f[h>>2]|0;h=f[h+4>>2]|0;if(p>>>0>>0|(p|0)==(h|0)&q>>>0>>0)e=f[a+4>>2]|0;else{q=h>>>0>0|(h|0)==0&e>>>0>k>>>0;p=WA(e|0,h|0,1)|0;c=ba()|0;i=KA(k|0,0,10,0)|0;h=KA(i|0,ba()|0,e|0,h|0)|0;i=ba()|0;h=q?p:h;i=q?c:i;c=a+24|0;do if(!(b[c>>0]|0)){j=a+4|0;e=f[j>>2]|0;if((Mc()|0)==0?(n=Nc(e,h,i)|0,n|0):0){f[j>>2]=n;e=n;break}b[a+25>>0]=1;h=f[a>>2]|0;e=f[h>>2]|0;g=e+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(e);e=f[h>>2]|0}f[h+20>>2]=7;e=f[e+32>>2]|0;g=e+81|0;if((b[g>>0]|0)==0?(b[e+82>>0]|0)==0:0){b[g>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;s=e+272|0;f[s>>2]=(f[s>>2]|0)+1}do if((b[c>>0]|0)==0?(r=f[j>>2]|0,r|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{s=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);f[j>>2]=a+26;a=m;f[a>>2]=100;f[a+4>>2]=0;a=o;f[a>>2]=0;f[a+4>>2]=0;b[c>>0]=1;return}else{g=a+25|0;if(b[g>>0]|0)return;e=xd(h,i)|0;if(e|0){a=a+4|0;YA(e|0,f[a>>2]|0,f[o>>2]|0)|0;f[a>>2]=e;b[c>>0]=0;break}b[g>>0]=1;h=f[a>>2]|0;e=f[h>>2]|0;g=e+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(e);e=f[h>>2]|0}f[h+20>>2]=7;e=f[e+32>>2]|0;g=e+81|0;if((b[g>>0]|0)==0?(b[e+82>>0]|0)==0:0){b[g>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;r=e+272|0;f[r>>2]=(f[r>>2]|0)+1}e=a+4|0;do if((b[c>>0]|0)==0?(s=f[e>>2]|0,s|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{r=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}while(0);f[e>>2]=a+26;a=m;f[a>>2]=100;f[a+4>>2]=0;a=o;f[a>>2]=0;f[a+4>>2]=0;b[c>>0]=1;return}while(0);g=m;f[g>>2]=h;f[g+4>>2]=i;g=f[o>>2]|0}YA(e+g|0,l|0,k|0)|0;r=o;r=KA(f[r>>2]|0,f[r+4>>2]|0,k|0,0)|0;s=ba()|0;a=o;f[a>>2]=r;f[a+4>>2]=s;return}dr(a,l,k);return}default:{e=a+25|0;if(b[e>>0]|0)return;g=f[a>>2]|0;f[g+20>>2]=1;$e(f[g>>2]|0,60195,-1,1,-1)|0;b[e>>0]=2;e=a+24|0;g=a+4|0;do if((b[e>>0]|0)==0?(i=f[g>>2]|0,i|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{s=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[g>>2]=a+26;s=a+8|0;f[s>>2]=100;f[s+4>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;b[e>>0]=1;return}}}function dr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;C=a+16|0;h=C;i=f[h>>2]|0;h=f[h+4>>2]|0;A=KA(e|0,0,2,0)|0;A=KA(A|0,ba()|0,i|0,h|0)|0;v=ba()|0;B=a+8|0;k=B;j=f[k>>2]|0;k=f[k+4>>2]|0;if(v>>>0>>0|(v|0)==(k|0)&A>>>0>>0){g=a+4|0;A=g;g=f[g>>2]|0}else{i=e+2|0;A=k>>>0>0|(k|0)==0&j>>>0>i>>>0;v=WA(j|0,k|0,1)|0;n=ba()|0;i=KA(i|0,0,10,0)|0;i=KA(i|0,ba()|0,j|0,k|0)|0;j=ba()|0;i=A?v:i;j=A?n:j;n=a+24|0;do if(!(b[n>>0]|0)){k=a+4|0;h=f[k>>2]|0;if((Mc()|0)==0?(g=Nc(h,i,j)|0,g|0):0){f[k>>2]=g;h=k;break}b[a+25>>0]=1;i=f[a>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;A=g+272|0;f[A>>2]=(f[A>>2]|0)+1}do if((b[n>>0]|0)==0?(l=f[k>>2]|0,l|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{A=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);f[k>>2]=a+26;f[B>>2]=100;f[B+4>>2]=0;f[C>>2]=0;f[C+4>>2]=0;b[n>>0]=1;return}else{h=a+25|0;if(b[h>>0]|0)return;g=xd(i,j)|0;if(g|0){h=a+4|0;YA(g|0,f[h>>2]|0,f[C>>2]|0)|0;f[h>>2]=g;b[n>>0]=0;break}b[h>>0]=1;i=f[a>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;A=g+272|0;f[A>>2]=(f[A>>2]|0)+1}g=a+4|0;do if((b[n>>0]|0)==0?(m=f[g>>2]|0,m|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{A=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);f[g>>2]=a+26;f[B>>2]=100;f[B+4>>2]=0;f[C>>2]=0;f[C+4>>2]=0;b[n>>0]=1;return}while(0);v=B;f[v>>2]=i;f[v+4>>2]=j;v=C;A=h;i=f[v>>2]|0;h=f[v+4>>2]|0}s=KA(i|0,h|0,1,0)|0;t=ba()|0;v=C;f[v>>2]=s;f[v+4>>2]=t;b[g+i>>0]=34;a:do if(e|0){n=KA(e|0,0,3,0)|0;o=ba()|0;p=e+3|0;v=a+24|0;q=KA(e|0,0,7,0)|0;r=ba()|0;s=a+25|0;t=e+7|0;l=0;m=0;b:while(1){g=b[c+m>>0]|0;k=g&255;c:do switch(g<<24>>24){case 92:case 34:{u=42;break}default:if((g&255)<32){if(14080>>>k&1|0){g=b[23952+k>>0]|0;u=42;break c}h=C;g=f[h>>2]|0;h=f[h+4>>2]|0;D=KA(q|0,r|0,m|0,0)|0;D=KA(D|0,ba()|0,g|0,h|0)|0;E=ba()|0;j=B;i=f[j>>2]|0;j=f[j+4>>2]|0;if(E>>>0>j>>>0|(E|0)==(j|0)&D>>>0>i>>>0){h=t+l|0;D=j>>>0>0|(j|0)==0&i>>>0>h>>>0;l=WA(i|0,j|0,1)|0;E=ba()|0;h=KA(h|0,0,10,0)|0;h=KA(h|0,ba()|0,i|0,j|0)|0;i=ba()|0;h=D?l:h;i=D?E:i;if(!(b[v>>0]|0)){g=f[A>>2]|0;if(Mc()|0){u=106;break b}g=Nc(g,h,i)|0;if(!g){u=106;break b}f[A>>2]=g}else{if(b[s>>0]|0){u=125;break b}g=xd(h,i)|0;if(!g){u=89;break b}YA(g|0,f[A>>2]|0,f[C>>2]|0)|0;f[A>>2]=g;b[v>>0]=0}E=B;f[E>>2]=h;f[E+4>>2]=i;h=C;i=f[h>>2]|0;h=f[h+4>>2]|0}else{i=g;g=f[A>>2]|0}l=KA(i|0,h|0,1,0)|0;D=ba()|0;E=C;f[E>>2]=l;f[E+4>>2]=D;b[g+i>>0]=92;g=f[A>>2]|0;E=C;D=f[E>>2]|0;E=KA(D|0,f[E+4>>2]|0,1,0)|0;l=ba()|0;j=C;f[j>>2]=E;f[j+4>>2]=l;b[g+D>>0]=117;D=f[A>>2]|0;g=C;j=f[g>>2]|0;g=KA(j|0,f[g+4>>2]|0,1,0)|0;l=ba()|0;E=C;f[E>>2]=g;f[E+4>>2]=l;b[D+j>>0]=48;j=f[A>>2]|0;D=C;E=f[D>>2]|0;D=KA(E|0,f[D+4>>2]|0,1,0)|0;l=ba()|0;g=C;f[g>>2]=D;f[g+4>>2]=l;b[j+E>>0]=48;E=f[A>>2]|0;j=C;g=f[j>>2]|0;j=KA(g|0,f[j+4>>2]|0,1,0)|0;l=ba()|0;D=C;f[D>>2]=j;f[D+4>>2]=l;b[E+g>>0]=k>>>4|48;g=b[60178+(k&15)>>0]|0}}while(0);if((u|0)==42){u=0;i=C;h=f[i>>2]|0;i=f[i+4>>2]|0;E=LA(n|0,o|0,m|0,0)|0;E=KA(E|0,ba()|0,h|0,i|0)|0;D=ba()|0;k=B;j=f[k>>2]|0;k=f[k+4>>2]|0;if(D>>>0>k>>>0|(D|0)==(k|0)&E>>>0>j>>>0){i=p+l|0;D=k>>>0>0|(k|0)==0&j>>>0>i>>>0;l=WA(j|0,k|0,1)|0;E=ba()|0;i=KA(i|0,0,10,0)|0;i=KA(i|0,ba()|0,j|0,k|0)|0;j=ba()|0;i=D?l:i;j=D?E:j;if(!(b[v>>0]|0)){h=f[A>>2]|0;if(Mc()|0){u=64;break}h=Nc(h,i,j)|0;if(!h){u=64;break}f[A>>2]=h}else{if(b[s>>0]|0){u=125;break}h=xd(i,j)|0;if(!h){u=47;break}YA(h|0,f[A>>2]|0,f[C>>2]|0)|0;f[A>>2]=h;b[v>>0]=0}E=B;f[E>>2]=i;f[E+4>>2]=j;i=C;j=f[i>>2]|0;i=f[i+4>>2]|0}else{j=h;h=f[A>>2]|0}l=KA(j|0,i|0,1,0)|0;D=ba()|0;E=C;f[E>>2]=l;f[E+4>>2]=D;b[h+j>>0]=92}D=f[A>>2]|0;j=C;E=f[j>>2]|0;j=KA(E|0,f[j+4>>2]|0,1,0)|0;k=ba()|0;l=C;f[l>>2]=j;f[l+4>>2]=k;b[D+E>>0]=g;g=m+1|0;if(g>>>0>>0){l=~m;m=g}else break a}if((u|0)==47){b[s>>0]=1;i=f[a>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;E=g+272|0;f[E>>2]=(f[E>>2]|0)+1}do if((b[v>>0]|0)==0?(w=f[A>>2]|0,w|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{E=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}while(0);f[A>>2]=a+26;E=B;f[E>>2]=100;f[E+4>>2]=0;E=C;f[E>>2]=0;f[E+4>>2]=0;b[v>>0]=1;return}else if((u|0)==64){b[s>>0]=1;i=f[a>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;E=g+272|0;f[E>>2]=(f[E>>2]|0)+1}do if((b[v>>0]|0)==0?(x=f[A>>2]|0,x|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](x);break}else{E=ib[f[37368>>2]&255](x)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](x);break}while(0);f[A>>2]=a+26;E=B;f[E>>2]=100;f[E+4>>2]=0;E=C;f[E>>2]=0;f[E+4>>2]=0;b[v>>0]=1;return}else if((u|0)==89){b[s>>0]=1;i=f[a>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;E=g+272|0;f[E>>2]=(f[E>>2]|0)+1}do if((b[v>>0]|0)==0?(y=f[A>>2]|0,y|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](y);break}else{E=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y);break}while(0);f[A>>2]=a+26;E=B;f[E>>2]=100;f[E+4>>2]=0;E=C;f[E>>2]=0;f[E+4>>2]=0;b[v>>0]=1;return}else if((u|0)==106){b[s>>0]=1;i=f[a>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;E=g+272|0;f[E>>2]=(f[E>>2]|0)+1}do if((b[v>>0]|0)==0?(z=f[A>>2]|0,z|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{E=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}while(0);f[A>>2]=a+26;E=B;f[E>>2]=100;f[E+4>>2]=0;E=C;f[E>>2]=0;f[E+4>>2]=0;b[v>>0]=1;return}else if((u|0)==125)return}while(0);D=f[A>>2]|0;a=C;E=f[a>>2]|0;a=KA(E|0,f[a+4>>2]|0,1,0)|0;B=ba()|0;f[C>>2]=a;f[C+4>>2]=B;b[D+E>>0]=34;return}function er(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=f[a+12>>2]|0;t=c;while(1){c=b[s+t>>0]|0;i=t+1|0;if(!(b[23984+(c&255)>>0]|0))break;else t=i}u=s+t|0;a:do switch(c<<24>>24){case 123:{c=f[a>>2]|0;if(c>>>0<(f[a+4>>2]|0)>>>0){j=f[a+8>>2]|0;b[j+(c*12|0)>>0]=7;b[j+(c*12|0)+1>>0]=0;f[j+(c*12|0)+4>>2]=0;f[j+(c*12|0)+8>>2]=0;j=f[a>>2]|0;f[a>>2]=j+1}else j=hr(a,7,0,0)|0;if((j|0)<0){a=-1;return a|0}k=a+22|0;i=a+20|0;l=a+8|0;g=t;b:while(1){c=g+1|0;if(!(b[23984+(h[s+c>>0]|0)>>0]|0)){m=(d[k>>1]|0)+1<<16>>16;d[k>>1]=m;if((m&65535)>2e3){r=-1;m=91;break}n=er(a,c)|0;if((n|0)<0){m=13;break}if(b[i>>0]|0){r=-1;m=91;break}c=f[l>>2]|0;e=(f[a>>2]|0)+-1|0;if((b[c+(e*12|0)>>0]|0)!=5){r=-1;m=91;break}c=c+(e*12|0)+1|0;b[c>>0]=b[c>>0]|64;c=n;do{e=b[s+c>>0]|0;c=c+1|0}while((b[23984+(e&255)>>0]|0)!=0);if(e<<24>>24!=58){r=-1;m=91;break}c=er(a,c)|0;d[k>>1]=(d[k>>1]|0)+-1<<16>>16;if((c|0)<0){r=-1;m=91;break}while(1){e=b[s+c>>0]|0;o=c+1|0;if(!(b[23984+(e&255)>>0]|0))break;else c=o}switch(e<<24>>24){case 125:{m=24;break b}case 44:break;default:{r=-1;m=91;break b}}}g=c}if((m|0)==13){d[k>>1]=(d[k>>1]|0)+-1<<16>>16;if((n|0)==-2)return ((f[a>>2]|0)==(j+1|0)?g+2|0:-1)|0;else{a=-1;return a|0}}else if((m|0)==24){f[(f[l>>2]|0)+(j*12|0)+4>>2]=(f[a>>2]|0)+~j;a=o;return a|0}else if((m|0)==91)return r|0;break}case 91:{c=f[a>>2]|0;if(c>>>0<(f[a+4>>2]|0)>>>0){j=f[a+8>>2]|0;b[j+(c*12|0)>>0]=6;b[j+(c*12|0)+1>>0]=0;f[j+(c*12|0)+4>>2]=0;f[j+(c*12|0)+8>>2]=0;j=f[a>>2]|0;f[a>>2]=j+1}else j=hr(a,6,0,0)|0;if((j|0)<0){a=-1;return a|0}i=a+22|0;g=t;c:while(1){c=g+1|0;if(!(b[23984+(h[s+c>>0]|0)>>0]|0)){o=(d[i>>1]|0)+1<<16>>16;d[i>>1]=o;if((o&65535)>2e3){r=-1;m=91;break}k=er(a,c)|0;d[i>>1]=(d[i>>1]|0)+-1<<16>>16;if((k|0)<0){m=35;break}c=k;while(1){e=b[s+c>>0]|0;l=c+1|0;if(!(b[23984+(e&255)>>0]|0))break;else c=l}switch(e<<24>>24){case 93:{m=39;break c}case 44:break;default:{r=-1;m=91;break c}}}g=c}if((m|0)==35){if((k|0)!=-3){a=-1;return a|0}a=(f[a>>2]|0)==(j+1|0)?g+2|0:-1;return a|0}else if((m|0)==39){f[(f[a+8>>2]|0)+(j*12|0)+4>>2]=(f[a>>2]|0)+~j;a=l;return a|0}else if((m|0)==91)return r|0;break}case 34:{c=b[s+i>>0]|0;if((c&255)<32){a=-1;return a|0}k=0;j=t;d:while(1){e:do switch(c<<24>>24){case 34:{m=49;break d}case 92:{e=j+2|0;c=s+e|0;switch(b[c>>0]|0){case 116:case 114:case 110:case 102:case 98:case 47:case 92:case 34:{g=2;break e}case 117:break;default:{r=-1;m=91;break d}}c=c+1|0;if(!(b[5472+(h[c>>0]|0)>>0]&8)){r=-1;m=91;break d}if(!(b[5472+(h[c+1>>0]|0)>>0]&8)){r=-1;m=91;break d}if(!(b[5472+(h[c+2>>0]|0)>>0]&8)){r=-1;m=91;break d}if(!(b[5472+(h[c+3>>0]|0)>>0]&8)){r=-1;m=91;break d}else g=2;break}default:{g=k;e=i}}while(0);i=e+1|0;c=b[s+i>>0]|0;if((c&255)<32){r=-1;m=91;break}else{k=g;j=e}}if((m|0)==49){g=j+2|0;c=g-t|0;e=f[a>>2]|0;if(e>>>0<(f[a+4>>2]|0)>>>0){t=f[a+8>>2]|0;b[t+(e*12|0)>>0]=5;b[t+(e*12|0)+1>>0]=0;f[t+(e*12|0)+4>>2]=c;f[t+(e*12|0)+8>>2]=u;f[a>>2]=(f[a>>2]|0)+1}else hr(a,5,c,u)|0;if(b[a+20>>0]|0){a=g;return a|0}b[(f[a+8>>2]|0)+(((f[a>>2]|0)+-1|0)*12|0)+1>>0]=k;a=g;return a|0}else if((m|0)==91)return r|0;break}case 110:{if((Yz(u,41715,4)|0)==0?(e=t+4|0,(b[5472+(h[s+e>>0]|0)>>0]&6)==0):0){c=f[a>>2]|0;if(c>>>0<(f[a+4>>2]|0)>>>0){u=f[a+8>>2]|0;b[u+(c*12|0)>>0]=0;b[u+(c*12|0)+1>>0]=0;f[u+(c*12|0)+4>>2]=0;f[u+(c*12|0)+8>>2]=0;f[a>>2]=(f[a>>2]|0)+1;a=e;return a|0}else{hr(a,0,0,0)|0;a=e;return a|0}}else m=90;break}case 116:{if((Yz(u,49684,4)|0)==0?(g=t+4|0,(b[5472+(h[s+g>>0]|0)>>0]&6)==0):0){c=f[a>>2]|0;if(c>>>0<(f[a+4>>2]|0)>>>0){u=f[a+8>>2]|0;b[u+(c*12|0)>>0]=1;b[u+(c*12|0)+1>>0]=0;f[u+(c*12|0)+4>>2]=0;f[u+(c*12|0)+8>>2]=0;f[a>>2]=(f[a>>2]|0)+1;a=g;return a|0}else{hr(a,1,0,0)|0;a=g;return a|0}}else m=90;break}case 102:{if((Yz(u,49689,5)|0)==0?(j=t+5|0,(b[5472+(h[s+j>>0]|0)>>0]&6)==0):0){c=f[a>>2]|0;if(c>>>0<(f[a+4>>2]|0)>>>0){u=f[a+8>>2]|0;b[u+(c*12|0)>>0]=2;b[u+(c*12|0)+1>>0]=0;f[u+(c*12|0)+4>>2]=0;f[u+(c*12|0)+8>>2]=0;f[a>>2]=(f[a>>2]|0)+1;a=j;return a|0}else{hr(a,2,0,0)|0;a=j;return a|0}}else m=90;break}case 45:{q=1;m=71;break}default:{if((c+-48&255)<10)if(c<<24>>24<49){q=0;m=71;break a}else break a;switch(c<<24>>24){case 93:{a=-3;return a|0}case 0:{a=0;return a|0}case 125:{a=-2;return a|0}default:{m=90;break a}}}}while(0);if((m|0)==90){a=-1;return a|0}if(((m|0)==71?(p=q+t|0,(b[s+p>>0]|0)==48):0)?((b[s+(p+1)>>0]|0)+-48&255)<10:0){a=-1;return a|0}i=0;c=t;f:while(1){j=i;g:while(1){while(1){k=c+1|0;e=b[s+k>>0]|0;if((e+-48&255)<10)c=k;else break}switch(e<<24>>24){case 69:case 101:break g;case 46:break;default:{m=83;break f}}if(j<<24>>24==0?(b[s+c>>0]|0)!=45:0){j=1;c=k}else{r=-1;m=91;break f}}if(!(i<<24>>24==0?(b[s+c>>0]|0)>47:0)){r=-1;m=91;break}g=c+2|0;e=b[s+g>>0]|0;switch(e<<24>>24){case 45:case 43:{e=b[s+(c+3)>>0]|0;break}default:g=k}if((e+-48&255)>9){r=-1;m=91;break}else{i=1;c=g}}if((m|0)==83){if((b[s+c>>0]|0)<48){a=-1;return a|0}g=j<<24>>24==0?3:4;c=k-t|0;e=f[a>>2]|0;if(e>>>0<(f[a+4>>2]|0)>>>0){t=f[a+8>>2]|0;b[t+(e*12|0)>>0]=g;b[t+(e*12|0)+1>>0]=0;f[t+(e*12|0)+4>>2]=c;f[t+(e*12|0)+8>>2]=u;f[a>>2]=(f[a>>2]|0)+1;a=k;return a|0}else{hr(a,g,c,u)|0;a=k;return a|0}}else if((m|0)==91)return r|0;return 0}function fr(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0;g=f[a+8>>2]|0;j=g+(c*12|0)|0;i=a+16|0;e=f[i>>2]|0;f[e+(c<<2)>>2]=d;switch(b[j>>0]|0){case 6:{g=g+(c*12|0)+4|0;if(!(f[g>>2]|0))return;e=1;do{fr(a,e+c|0,c);d=j+(e*12|0)|0;if((h[d>>0]|0)>5)d=(f[d+4>>2]|0)+1|0;else d=1;e=d+e|0}while(e>>>0<=(f[g>>2]|0)>>>0);return}case 7:{g=g+(c*12|0)+4|0;if(!(f[g>>2]|0))return;d=1;while(1){k=d+c|0;f[e+(k<<2)>>2]=c;fr(a,k+1|0,c);e=j+(d*12|0)+12|0;if((h[e>>0]|0)>5)e=(f[e+4>>2]|0)+1|0;else e=1;d=d+1+e|0;if(d>>>0>(f[g>>2]|0)>>>0)break;e=f[i>>2]|0}return}default:return}}function gr(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+8|0;s=f[t>>2]|0;n=c;a:while(1){c=s+(n*12|0)|0;switch(b[d>>0]|0){case 0:{r=64;break a}case 46:{if((b[c>>0]|0)!=7){c=0;r=64;break a}p=d+1|0;i=b[p>>0]|0;b:do if(i<<24>>24==34){d=d+2|0;i=1;c:while(1){switch(b[p+i>>0]|0){case 0:{r=10;break a}case 34:break c;default:{}}i=i+1|0}m=i+-1|0;o=i+1|0}else{j=0;d=i;while(1){switch(d<<24>>24){case 91:case 46:case 0:{d=p;m=j;o=j;break b}default:{}}d=j+1|0;j=d;d=b[p+d>>0]|0}}while(0);if(!m){r=14;break a}l=m+2|0;d:while(1){k=f[c+4>>2]|0;if(k|0){i=1;do{j=f[c+(i*12|0)+4>>2]|0;if(!(b[c+(i*12|0)+1>>0]&1)){if((j|0)==(l|0)){q=Yz((f[c+(i*12|0)+8>>2]|0)+1|0,d,m)|0;r=23}}else if((j|0)==(m|0)){q=Yz(f[c+(i*12|0)+8>>2]|0,d,m)|0;r=23}if((r|0)==23?(r=0,(q|0)==0):0)break d;i=i+1|0;if((h[c+(i*12|0)>>0]|0)>5)j=(f[c+(i*12|0)+4>>2]|0)+1|0;else j=1;i=j+i|0}while(i>>>0<=k>>>0)}if(!(b[c+1>>0]&32)){r=31;break a}k=(f[c+8>>2]|0)+n|0;n=k;c=s+(k*12|0)|0}d=i+1+n|0;c=p+o|0;break}case 91:{i=b[d+1>>0]|0;if(((i&255)+-48|0)>>>0>=10){r=63;break a}if((b[c>>0]|0)!=6){c=0;r=64;break a}k=1;l=0;while(1){l=(l*10|0)+-48+(i<<24>>24)|0;j=k+1|0;i=b[d+j>>0]|0;if(((i&255)+-48|0)>>>0>=10)break;else k=j}if(i<<24>>24!=93){r=45;break a}m=k+2|0;j=l;while(1){l=f[c+4>>2]|0;e:do if(!l){i=1;k=1}else{i=1;while(1){k=b[c+(i*12|0)+1>>0]|0;if((j|0)==0&(k&4)==0){j=0;k=0;break e}j=j+(((k&255)>>>2&1)+-1<<24>>24<<24>>24)|0;if((h[c+(i*12|0)>>0]|0)>5)k=(f[c+(i*12|0)+4>>2]|0)+1|0;else k=1;i=k+i|0;if(i>>>0>l>>>0){k=1;break}}}while(0);if(!(b[c+1>>0]&32))break;p=(f[c+8>>2]|0)+n|0;n=p;c=s+(p*12|0)|0}l=d+m|0;if(k){r=57;break a}d=i+n|0;c=l;break}default:{r=63;break a}}n=d;d=c}if((r|0)==10){f[g>>2]=p;t=0;return t|0}else if((r|0)==14){f[g>>2]=p;t=0;return t|0}else if((r|0)==31){if(!e){t=0;return t|0}c=f[a>>2]|0;d=a+4|0;if(c>>>0<(f[d>>2]|0)>>>0){b[s+(c*12|0)>>0]=7;b[s+(c*12|0)+1>>0]=0;f[s+(c*12|0)+4>>2]=2;f[s+(c*12|0)+8>>2]=0;i=f[a>>2]|0;c=i+1|0;f[a>>2]=c}else{i=hr(a,7,2,0)|0;c=f[a>>2]|0}if(c>>>0<(f[d>>2]|0)>>>0){d=f[t>>2]|0;b[d+(c*12|0)>>0]=5;b[d+(c*12|0)+1>>0]=0;f[d+(c*12|0)+4>>2]=o;f[d+(c*12|0)+8>>2]=p;d=f[a>>2]|0;f[a>>2]=d+1}else d=hr(a,5,o,p)|0;c=ir(a,p+o|0,e,g)|0;if((c|0)==0|(b[a+20>>0]|0)!=0){t=0;return t|0}a=f[t>>2]|0;f[a+(n*12|0)+8>>2]=i-n;a=a+(n*12|0)+1|0;b[a>>0]=b[a>>0]|32;t=(f[t>>2]|0)+(d*12|0)+1|0;b[t>>0]=b[t>>0]|1;t=c;return t|0}else if((r|0)==45){f[g>>2]=d;t=0;return t|0}else if((r|0)==57){if(!((e|0)!=0&(j|0)==0)){t=0;return t|0}c=f[a>>2]|0;if(c>>>0<(f[a+4>>2]|0)>>>0){b[s+(c*12|0)>>0]=6;b[s+(c*12|0)+1>>0]=0;f[s+(c*12|0)+4>>2]=1;f[s+(c*12|0)+8>>2]=0;d=f[a>>2]|0;f[a>>2]=d+1}else d=hr(a,6,1,0)|0;c=ir(a,l,e,g)|0;if((c|0)==0|(b[a+20>>0]|0)!=0){t=0;return t|0}t=f[t>>2]|0;f[t+(n*12|0)+8>>2]=d-n;t=t+(n*12|0)+1|0;b[t>>0]=b[t>>0]|32;t=c;return t|0}else if((r|0)==63){f[g>>2]=d;t=0;return t|0}else if((r|0)==64)return c|0;return 0}function hr(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=a+20|0;if(b[l>>0]|0){l=-1;return l|0}i=a+4|0;j=a+8|0;h=f[i>>2]|0;k=f[j>>2]|0;while(1){h=(h<<1)+10|0;g=h*12|0;if(Mc()|0){h=6;break}k=Nc(k,(g|0)>0?g:0,0)|0;if(!k){h=6;break}f[i>>2]=h;f[j>>2]=k;g=f[a>>2]|0;if(g>>>0>>0){h=8;break}if(b[l>>0]|0){g=-1;h=9;break}}if((h|0)==6){b[l>>0]=1;l=-1;return l|0}else if((h|0)==8){b[k+(g*12|0)>>0]=c;b[k+(g*12|0)+1>>0]=0;f[k+(g*12|0)+4>>2]=d;f[k+(g*12|0)+8>>2]=e;l=f[a>>2]|0;f[a>>2]=l+1;return l|0}else if((h|0)==9)return g|0;return 0}function ir(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;f[d>>2]=1;a:do switch(b[c>>0]|0){case 0:{g=f[a>>2]|0;if(g>>>0<(f[a+4>>2]|0)>>>0){e=f[a+8>>2]|0;b[e+(g*12|0)>>0]=0;b[e+(g*12|0)+1>>0]=0;f[e+(g*12|0)+4>>2]=0;f[e+(g*12|0)+8>>2]=0;f[a>>2]=(f[a>>2]|0)+1}else hr(a,0,0,0)|0;if(b[a+20>>0]|0){a=0;return a|0}a=(f[a+8>>2]|0)+(((f[a>>2]|0)+-1|0)*12|0)|0;return a|0}case 46:{g=f[a>>2]|0;if(g>>>0<(f[a+4>>2]|0)>>>0){h=f[a+8>>2]|0;b[h+(g*12|0)>>0]=7;b[h+(g*12|0)+1>>0]=0;f[h+(g*12|0)+4>>2]=0;f[h+(g*12|0)+8>>2]=0;f[a>>2]=(f[a>>2]|0)+1;break a}else{hr(a,7,0,0)|0;break a}}default:{if(Yz(c,60265,3)|0){h=0;return h|0}g=f[a>>2]|0;if(g>>>0<(f[a+4>>2]|0)>>>0){h=f[a+8>>2]|0;b[h+(g*12|0)>>0]=6;b[h+(g*12|0)+1>>0]=0;f[h+(g*12|0)+4>>2]=0;f[h+(g*12|0)+8>>2]=0;f[a>>2]=(f[a>>2]|0)+1;break a}else{hr(a,6,0,0)|0;break a}}}while(0);if(b[a+20>>0]|0){h=0;return h|0}h=gr(a,(f[a>>2]|0)+-1|0,c,d,e)|0;return h|0}function jr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(Mc()|0){b=7;return b|0}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](64)|0;if(!a){b=7;return b|0}}else{d=ib[f[37372>>2]&255](64)|0;if((f[18194]|0)>>>0<64)f[18194]=64;c=71896;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){e=f[18187]|0;c=LA(a|0,c|0,d|0,((d|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&c>>>0<=e>>>0)&1}a=ib[f[37356>>2]&255](d)|0;if(!a){e=7;return e|0}c=ib[f[37368>>2]&255](a)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}c=a;d=c+64|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=a;e=0;return e|0}function kr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))p=hf(a,128)|0;else p=f[c+16>>2]|0;if(!p)return;n=p+4|0;c=f[n>>2]|0;if(!c){f[p>>2]=a;b[p+25>>0]=0;a=p+26|0;f[n>>2]=a;r=p+8|0;f[r>>2]=100;f[r+4>>2]=0;b[p+24>>0]=1;r=p+16|0;f[r>>2]=1;f[r+4>>2]=0;b[a>>0]=91}else{q=p+16|0;g=q;h=f[g>>2]|0;g=f[g+4>>2]|0;o=p+8|0;j=o;i=f[j>>2]|0;j=f[j+4>>2]|0;a:do if(g>>>0>>0|(g|0)==(j|0)&h>>>0>>0)r=44;else{s=j>>>0>0|(j|0)==0&i>>>0>1;t=WA(i|0,j|0,1)|0;g=ba()|0;h=KA(i|0,j|0,11,0)|0;i=ba()|0;h=s?t:h;i=s?g:i;j=p+24|0;do if(!(b[j>>0]|0)){if((Mc()|0)==0?(k=Nc(c,h,i)|0,k|0):0){f[n>>2]=k;c=k;break}b[p+25>>0]=1;h=f[p>>2]|0;c=f[h>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[h>>2]|0}f[h+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if((b[g>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;t=c+272|0;f[t>>2]=(f[t>>2]|0)+1}do if((b[j>>0]|0)==0?(l=f[n>>2]|0,l|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{t=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);f[n>>2]=p+26;t=o;f[t>>2]=100;f[t+4>>2]=0;t=q;f[t>>2]=0;f[t+4>>2]=0;b[j>>0]=1;break a}else{g=p+25|0;if(b[g>>0]|0)break a;c=xd(h,i)|0;if(c|0){YA(c|0,f[n>>2]|0,f[q>>2]|0)|0;f[n>>2]=c;b[j>>0]=0;break}b[g>>0]=1;h=f[p>>2]|0;c=f[h>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[h>>2]|0}f[h+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if((b[g>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;t=c+272|0;f[t>>2]=(f[t>>2]|0)+1}do if((b[j>>0]|0)==0?(m=f[n>>2]|0,m|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{t=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);f[n>>2]=p+26;t=o;f[t>>2]=100;f[t+4>>2]=0;t=q;f[t>>2]=0;f[t+4>>2]=0;b[j>>0]=1;break a}while(0);g=o;f[g>>2]=h;f[g+4>>2]=i;g=q;h=f[g>>2]|0;g=f[g+4>>2]|0;r=44}while(0);if((r|0)==44){r=KA(h|0,g|0,1,0)|0;s=ba()|0;t=q;f[t>>2]=r;f[t+4>>2]=s;b[c+h>>0]=44}f[p>>2]=a}cr(p,f[e>>2]|0);return}function lr(a){a=a|0;rr(a,1);return}function mr(a){a=a|0;rr(a,0);return}function nr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;c=f[a+8>>2]|0;if(!(d[c+8>>1]&8192))t=hf(a,128)|0;else t=f[c+16>>2]|0;if(!t)return;s=t+4|0;c=f[s>>2]|0;if(!c){f[t>>2]=a;b[t+25>>0]=0;a=t+26|0;f[s>>2]=a;p=t+8|0;f[p>>2]=100;f[p+4>>2]=0;b[t+24>>0]=1;p=t+16|0;f[p>>2]=1;f[p+4>>2]=0;b[a>>0]=123}else{p=t+16|0;h=p;i=f[h>>2]|0;h=f[h+4>>2]|0;o=t+8|0;k=o;j=f[k>>2]|0;k=f[k+4>>2]|0;a:do if(h>>>0>>0|(h|0)==(k|0)&i>>>0>>0)u=44;else{v=k>>>0>0|(k|0)==0&j>>>0>1;w=WA(j|0,k|0,1)|0;h=ba()|0;i=KA(j|0,k|0,11,0)|0;j=ba()|0;i=v?w:i;j=v?h:j;k=t+24|0;do if(!(b[k>>0]|0)){if((Mc()|0)==0?(l=Nc(c,i,j)|0,l|0):0){f[s>>2]=l;c=l;break}b[t+25>>0]=1;i=f[t>>2]|0;c=f[i>>2]|0;h=c+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(c);c=f[i>>2]|0}f[i+20>>2]=7;c=f[c+32>>2]|0;h=c+81|0;if((b[h>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[h>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;w=c+272|0;f[w>>2]=(f[w>>2]|0)+1}do if((b[k>>0]|0)==0?(m=f[s>>2]|0,m|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{w=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);f[s>>2]=t+26;w=o;f[w>>2]=100;f[w+4>>2]=0;w=p;f[w>>2]=0;f[w+4>>2]=0;b[k>>0]=1;break a}else{h=t+25|0;if(b[h>>0]|0)break a;c=xd(i,j)|0;if(c|0){YA(c|0,f[s>>2]|0,f[p>>2]|0)|0;f[s>>2]=c;b[k>>0]=0;break}b[h>>0]=1;i=f[t>>2]|0;c=f[i>>2]|0;h=c+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(c);c=f[i>>2]|0}f[i+20>>2]=7;c=f[c+32>>2]|0;h=c+81|0;if((b[h>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[h>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;w=c+272|0;f[w>>2]=(f[w>>2]|0)+1}do if((b[k>>0]|0)==0?(n=f[s>>2]|0,n|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{w=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}while(0);f[s>>2]=t+26;w=o;f[w>>2]=100;f[w+4>>2]=0;w=p;f[w>>2]=0;f[w+4>>2]=0;b[k>>0]=1;break a}while(0);h=o;f[h>>2]=i;f[h+4>>2]=j;h=p;i=f[h>>2]|0;h=f[h+4>>2]|0;u=44}while(0);if((u|0)==44){o=KA(i|0,h|0,1,0)|0;v=ba()|0;w=p;f[w>>2]=o;f[w+4>>2]=v;b[c+i>>0]=44}f[t>>2]=a}h=f[e>>2]|0;c=d[h+8>>1]|0;if((c&514)==514?(b[h+10>>0]|0)==1:0)j=f[h+16>>2]|0;else if(!(c&1)){j=Ic(h,1)|0;h=f[e>>2]|0}else j=0;c=d[h+8>>1]|0;if((c&2)!=0?(b[h+10>>0]|0)==1:0)c=f[h+12>>2]|0;else u=54;do if((u|0)==54){i=c&65535;if(!(i&16)){if(i&1|0){c=0;break}c=_e(h,1)|0;break}else{c=f[h+12>>2]|0;if(!(i&16384))break;c=(f[h>>2]|0)+c|0;break}}while(0);dr(t,j,c);l=t+16|0;c=l;h=f[c>>2]|0;c=f[c+4>>2]|0;k=t+8|0;j=k;i=f[j>>2]|0;j=f[j+4>>2]|0;b:do if(c>>>0>>0|(c|0)==(j|0)&h>>>0>>0){g=f[s>>2]|0;u=97}else{v=j>>>0>0|(j|0)==0&i>>>0>1;a=WA(i|0,j|0,1)|0;w=ba()|0;h=KA(i|0,j|0,11,0)|0;i=ba()|0;h=v?a:h;i=v?w:i;j=t+24|0;do if(!(b[j>>0]|0)){c=f[s>>2]|0;if((Mc()|0)==0?(g=Nc(c,h,i)|0,g|0):0){f[s>>2]=g;break}b[t+25>>0]=1;h=f[t>>2]|0;g=f[h>>2]|0;c=g+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else{cf(g);g=f[h>>2]|0}f[h+20>>2]=7;g=f[g+32>>2]|0;c=g+81|0;if((b[c>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[c>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;w=g+272|0;f[w>>2]=(f[w>>2]|0)+1}do if((b[j>>0]|0)==0?(q=f[s>>2]|0,q|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{w=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);f[s>>2]=t+26;w=k;f[w>>2]=100;f[w+4>>2]=0;w=l;f[w>>2]=0;f[w+4>>2]=0;b[j>>0]=1;break b}else{c=t+25|0;if(b[c>>0]|0)break b;g=xd(h,i)|0;if(g|0){YA(g|0,f[s>>2]|0,f[l>>2]|0)|0;f[s>>2]=g;b[j>>0]=0;break}b[c>>0]=1;h=f[t>>2]|0;g=f[h>>2]|0;c=g+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else{cf(g);g=f[h>>2]|0}f[h+20>>2]=7;g=f[g+32>>2]|0;c=g+81|0;if((b[c>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[c>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;w=g+272|0;f[w>>2]=(f[w>>2]|0)+1}do if((b[j>>0]|0)==0?(r=f[s>>2]|0,r|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{w=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);f[s>>2]=t+26;w=k;f[w>>2]=100;f[w+4>>2]=0;w=l;f[w>>2]=0;f[w+4>>2]=0;b[j>>0]=1;break b}while(0);c=k;f[c>>2]=h;f[c+4>>2]=i;c=l;h=f[c>>2]|0;c=f[c+4>>2]|0;u=97}while(0);if((u|0)==97){u=KA(h|0,c|0,1,0)|0;v=ba()|0;w=l;f[w>>2]=u;f[w+4>>2]=v;b[g+h>>0]=58}cr(t,f[e+4>>2]|0);return}function or(a){a=a|0;qr(a,1);return}function pr(a){a=a|0;qr(a,0);return}function qr(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=f[a+8>>2]|0;if(!(d[e+8>>1]&8192))p=hf(a,0)|0;else p=f[e+16>>2]|0;if(!p){if(($e(f[a>>2]|0,60387,2,1,0)|0)!=18){a=f[a>>2]|0;c=a+11|0;b[c>>0]=74;a=a+8|0;c=d[a>>1]|0;c=c|-32768;d[a>>1]=c;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;a=f[a>>2]|0;c=a+11|0;b[c>>0]=74;a=a+8|0;c=d[a>>1]|0;c=c|-32768;d[a>>1]=c;return}q=p+16|0;g=q;h=f[g>>2]|0;g=f[g+4>>2]|0;o=p+8|0;i=o;e=f[i>>2]|0;i=f[i+4>>2]|0;a:do if(g>>>0>>0|(g|0)==(i|0)&h>>>0>>0){e=f[p+4>>2]|0;j=43}else{g=i>>>0>0|(i|0)==0&e>>>0>1;r=WA(e|0,i|0,1)|0;n=ba()|0;h=KA(e|0,i|0,11,0)|0;i=ba()|0;h=g?r:h;i=g?n:i;n=p+24|0;do if(!(b[n>>0]|0)){j=p+4|0;e=f[j>>2]|0;if((Mc()|0)==0?(k=Nc(e,h,i)|0,k|0):0){f[j>>2]=k;e=k;break}e=p+25|0;b[e>>0]=1;i=f[p>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;r=g+272|0;f[r>>2]=(f[r>>2]|0)+1}do if((b[n>>0]|0)==0?(l=f[j>>2]|0,l|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{r=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);f[j>>2]=p+26;j=o;f[j>>2]=100;f[j+4>>2]=0;j=q;f[j>>2]=0;f[j+4>>2]=0;b[n>>0]=1;j=44;break a}else{e=p+25|0;g=b[e>>0]|0;if(g<<24>>24){e=g;break a}g=xd(h,i)|0;if(g|0){e=p+4|0;YA(g|0,f[e>>2]|0,f[q>>2]|0)|0;f[e>>2]=g;b[n>>0]=0;e=g;break}b[e>>0]=1;i=f[p>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;r=g+272|0;f[r>>2]=(f[r>>2]|0)+1}g=p+4|0;do if((b[n>>0]|0)==0?(m=f[g>>2]|0,m|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{r=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);f[g>>2]=p+26;j=o;f[j>>2]=100;f[j+4>>2]=0;j=q;f[j>>2]=0;f[j+4>>2]=0;b[n>>0]=1;j=44;break a}while(0);g=o;f[g>>2]=h;f[g+4>>2]=i;g=q;h=f[g>>2]|0;g=f[g+4>>2]|0;j=43}while(0);if((j|0)==43){n=KA(h|0,g|0,1,0)|0;o=ba()|0;r=q;f[r>>2]=n;f[r+4>>2]=o;b[e+h>>0]=125;e=p+25|0;j=44}if((j|0)==44)e=b[e>>0]|0;switch(e<<24>>24){case 0:{g=f[p+4>>2]|0;h=f[q>>2]|0;if(!c){if(($e(f[a>>2]|0,g,h,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}p=q;p=KA(f[p>>2]|0,f[p+4>>2]|0,-1,-1)|0;c=ba()|0;r=q;f[r>>2]=p;f[r+4>>2]=c;r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}else{e=p+24|0;if(($e(f[a>>2]|0,g,h,1,(b[e>>0]|0)==0?101:-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}b[e>>0]=1;r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}}case 1:{e=f[a>>2]|0;g=e+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(e);e=f[a>>2]|0}f[a+20>>2]=7;e=f[e+32>>2]|0;g=e+81|0;if(b[g>>0]|0){r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}if(b[e+82>>0]|0){r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}b[g>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;r=e+272|0;f[r>>2]=(f[r>>2]|0)+1;r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}default:{r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}}}function rr(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=f[a+8>>2]|0;if(!(d[e+8>>1]&8192))p=hf(a,0)|0;else p=f[e+16>>2]|0;if(!p){if(($e(f[a>>2]|0,60390,2,1,0)|0)!=18){a=f[a>>2]|0;c=a+11|0;b[c>>0]=74;a=a+8|0;c=d[a>>1]|0;c=c|-32768;d[a>>1]=c;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;a=f[a>>2]|0;c=a+11|0;b[c>>0]=74;a=a+8|0;c=d[a>>1]|0;c=c|-32768;d[a>>1]=c;return}f[p>>2]=a;q=p+16|0;g=q;h=f[g>>2]|0;g=f[g+4>>2]|0;o=p+8|0;i=o;e=f[i>>2]|0;i=f[i+4>>2]|0;a:do if(g>>>0>>0|(g|0)==(i|0)&h>>>0>>0){e=f[p+4>>2]|0;j=43}else{g=i>>>0>0|(i|0)==0&e>>>0>1;r=WA(e|0,i|0,1)|0;n=ba()|0;h=KA(e|0,i|0,11,0)|0;i=ba()|0;h=g?r:h;i=g?n:i;n=p+24|0;do if(!(b[n>>0]|0)){j=p+4|0;e=f[j>>2]|0;if((Mc()|0)==0?(k=Nc(e,h,i)|0,k|0):0){f[j>>2]=k;e=k;break}e=p+25|0;b[e>>0]=1;i=f[p>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;r=g+272|0;f[r>>2]=(f[r>>2]|0)+1}do if((b[n>>0]|0)==0?(l=f[j>>2]|0,l|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{r=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);f[j>>2]=p+26;j=o;f[j>>2]=100;f[j+4>>2]=0;j=q;f[j>>2]=0;f[j+4>>2]=0;b[n>>0]=1;j=44;break a}else{e=p+25|0;g=b[e>>0]|0;if(g<<24>>24){e=g;break a}g=xd(h,i)|0;if(g|0){e=p+4|0;YA(g|0,f[e>>2]|0,f[q>>2]|0)|0;f[e>>2]=g;b[n>>0]=0;e=g;break}b[e>>0]=1;i=f[p>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;r=g+272|0;f[r>>2]=(f[r>>2]|0)+1}g=p+4|0;do if((b[n>>0]|0)==0?(m=f[g>>2]|0,m|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{r=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);f[g>>2]=p+26;j=o;f[j>>2]=100;f[j+4>>2]=0;j=q;f[j>>2]=0;f[j+4>>2]=0;b[n>>0]=1;j=44;break a}while(0);g=o;f[g>>2]=h;f[g+4>>2]=i;g=q;h=f[g>>2]|0;g=f[g+4>>2]|0;j=43}while(0);if((j|0)==43){n=KA(h|0,g|0,1,0)|0;o=ba()|0;r=q;f[r>>2]=n;f[r+4>>2]=o;b[e+h>>0]=93;e=p+25|0;j=44}if((j|0)==44)e=b[e>>0]|0;switch(e<<24>>24){case 0:{g=f[p+4>>2]|0;h=f[q>>2]|0;if(!c){if(($e(f[a>>2]|0,g,h,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}p=q;p=KA(f[p>>2]|0,f[p+4>>2]|0,-1,-1)|0;c=ba()|0;r=q;f[r>>2]=p;f[r+4>>2]=c;r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}else{e=p+24|0;if(($e(f[a>>2]|0,g,h,1,(b[e>>0]|0)==0?101:-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}b[e>>0]=1;r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}}case 1:{e=f[a>>2]|0;g=e+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(e);e=f[a>>2]|0}f[a+20>>2]=7;e=f[e+32>>2]|0;g=e+81|0;if(b[g>>0]|0){r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}if(b[e+82>>0]|0){r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}b[g>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;r=e+272|0;f[r>>2]=(f[r>>2]|0)+1;r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}default:{r=a;r=f[r>>2]|0;a=r+11|0;b[a>>0]=74;r=r+8|0;a=d[r>>1]|0;a=a|-32768;d[r>>1]=a;return}}}function sr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+48|0;m=p;l=p+40|0;o=p+8|0;if((c|0)<1){t=p;return}g=f[e>>2]|0;do if(g|0){h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0)i=f[g+16>>2]|0;else n=6;if((n|0)==6){if(h&1)break;i=Ic(g,1)|0};f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;if(!i){t=p;return}f[o+12>>2]=i;g=er(o,0)|0;j=(b[o+20>>0]|0)==0;if((g|0)>0&j){while(1){h=b[i+g>>0]|0;if(!(b[23984+(h&255)>>0]|0))break;else g=g+1|0}if(!((g|0)<1|h<<24>>24!=0)){a:do if(c>>>0>1){j=o+21|0;k=a+20|0;i=1;while(1){g=f[e+(i<<2)>>2]|0;if(!g)break;h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0)g=f[g+16>>2]|0;else{if(h&1)break;g=Ic(g,1)|0}if(!g)break;f[l>>2]=0;if((b[g>>0]|0)==36){h=gr(o,0,g+1|0,0,l)|0;g=f[l>>2]|0;if(!g)g=h;else n=46}else{f[l>>2]=g;n=46}do if((n|0)==46){n=0;b[j>>0]=(b[j>>0]|0)+1<<24>>24;f[m>>2]=g;g=wd(60239,m)|0;if(g|0){f[k>>2]=1;$e(f[a>>2]|0,g,-1,1,-1)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{h=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[k>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;g=g+272|0;f[g>>2]=(f[g>>2]|0)+1;g=0}else g=0}while(0);if(b[j>>0]|0)break;if(g|0){h=g+1|0;b[h>>0]=b[h>>0]|4}i=i+1|0;if(i>>>0>=c>>>0){n=62;break a}}h=o+8|0}else n=62;while(0);if((n|0)==62){h=o+8|0;g=f[h>>2]|0;if(!(b[g+1>>0]&4))ar(g,a,0)}g=f[h>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[h>>2]=0;f[o>>2]=0;f[o+4>>2]=0;g=o+16|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{o=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;t=p;return}}do if(a|0){if(j){f[a+20>>2]=1;$e(f[a>>2]|0,60224,-1,1,-1)|0;break}g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[a+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;a=g+272|0;f[a>>2]=(f[a>>2]|0)+1}}while(0);g=o+8|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{a=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;f[o>>2]=0;f[o+4>>2]=0;g=o+16|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{o=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;t=p;return}while(0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;t=p;return}function tr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=t;t=t+128|0;u=B;f[u>>2]=a;v=u+25|0;b[v>>0]=0;y=u+26|0;z=u+4|0;f[z>>2]=y;A=u+8|0;w=A;f[w>>2]=100;f[w+4>>2]=0;w=u+16|0;x=u+24|0;b[x>>0]=1;m=w;f[m>>2]=1;f[m+4>>2]=0;b[y>>0]=91;a:do if((c|0)>0){m=0;l=1;h=0;do{b:do if(!((l|0)==0&(h|0)==0)){i=f[z>>2]|0;switch(b[i+(l+-1)>>0]|0){case 123:case 91:break b;default:{}}k=A;j=f[k>>2]|0;k=f[k+4>>2]|0;if(h>>>0>>0|(h|0)==(k|0)&l>>>0>>0){k=l;j=l}else{h=k>>>0>0|(k|0)==0&j>>>0>1;C=WA(j|0,k|0,1)|0;l=ba()|0;j=KA(j|0,k|0,11,0)|0;k=ba()|0;j=h?C:j;k=h?l:k;do if(!(b[x>>0]|0)){if((Mc()|0)==0?(n=Nc(i,j,k)|0,n|0):0){f[z>>2]=n;i=n;break}b[v>>0]=1;j=f[u>>2]|0;h=f[j>>2]|0;i=h+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else{cf(h);h=f[j>>2]|0}f[j+20>>2]=7;h=f[h+32>>2]|0;i=h+81|0;if((b[i>>0]|0)==0?(b[h+82>>0]|0)==0:0){b[i>>0]=1;if((f[h+180>>2]|0)>0)f[h+264>>2]=1;C=h+272|0;f[C>>2]=(f[C>>2]|0)+1}do if((b[x>>0]|0)==0?(o=f[z>>2]|0,o|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{C=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}while(0);f[z>>2]=y;C=A;f[C>>2]=100;f[C+4>>2]=0;C=w;f[C>>2]=0;f[C+4>>2]=0;b[x>>0]=1;break b}else{if(b[v>>0]|0)break b;h=xd(j,k)|0;if(h|0){YA(h|0,f[z>>2]|0,f[w>>2]|0)|0;f[z>>2]=h;b[x>>0]=0;i=h;break}b[v>>0]=1;j=f[u>>2]|0;h=f[j>>2]|0;i=h+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else{cf(h);h=f[j>>2]|0}f[j+20>>2]=7;h=f[h+32>>2]|0;i=h+81|0;if((b[i>>0]|0)==0?(b[h+82>>0]|0)==0:0){b[i>>0]=1;if((f[h+180>>2]|0)>0)f[h+264>>2]=1;C=h+272|0;f[C>>2]=(f[C>>2]|0)+1}do if((b[x>>0]|0)==0?(p=f[z>>2]|0,p|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{C=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);f[z>>2]=y;C=A;f[C>>2]=100;f[C+4>>2]=0;C=w;f[C>>2]=0;f[C+4>>2]=0;b[x>>0]=1;break b}while(0);h=A;f[h>>2]=j;f[h+4>>2]=k;h=w;j=f[h>>2]|0;k=j;h=f[h+4>>2]|0}j=KA(j|0,h|0,1,0)|0;l=ba()|0;C=w;f[C>>2]=j;f[C+4>>2]=l;b[i+k>>0]=44}while(0);cr(u,f[e+(m<<2)>>2]|0);m=m+1|0;h=w;l=f[h>>2]|0;h=f[h+4>>2]|0}while((m|0)!=(c|0));j=A;i=f[j>>2]|0;j=f[j+4>>2]|0;if(h>>>0>>0|(h|0)==(j|0)&l>>>0>>0){g=l;s=45}else{p=j>>>0>0|(j|0)==0&i>>>0>1;e=WA(i|0,j|0,1)|0;C=ba()|0;i=KA(i|0,j|0,11,0)|0;j=ba()|0;i=p?e:i;j=p?C:j;do if(!(b[x>>0]|0)){h=f[z>>2]|0;if((Mc()|0)==0?(g=Nc(h,i,j)|0,g|0):0){f[z>>2]=g;break}b[v>>0]=1;i=f[u>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;C=g+272|0;f[C>>2]=(f[C>>2]|0)+1}do if((b[x>>0]|0)==0?(r=f[z>>2]|0,r|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{C=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);f[z>>2]=y;C=A;f[C>>2]=100;f[C+4>>2]=0;C=w;f[C>>2]=0;f[C+4>>2]=0;b[x>>0]=1;break a}else{if(b[v>>0]|0){C=f[a>>2]|0;A=C+11|0;b[A>>0]=74;C=C+8|0;A=d[C>>1]|0;A=A|-32768;d[C>>1]=A;t=B;return}g=xd(i,j)|0;if(g|0){YA(g|0,f[z>>2]|0,f[w>>2]|0)|0;f[z>>2]=g;b[x>>0]=0;break}b[v>>0]=1;i=f[u>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;C=g+272|0;f[C>>2]=(f[C>>2]|0)+1}do if((b[x>>0]|0)==0?(q=f[z>>2]|0,q|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{C=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);f[z>>2]=y;C=A;f[C>>2]=100;f[C+4>>2]=0;C=w;f[C>>2]=0;f[C+4>>2]=0;b[x>>0]=1;break a}while(0);h=A;f[h>>2]=i;f[h+4>>2]=j;h=w;i=f[h>>2]|0;h=f[h+4>>2]|0;s=82}}else{g=1;h=0;s=45}while(0);if((s|0)==45){i=g;g=f[z>>2]|0;s=82}if((s|0)==82){r=KA(i|0,h|0,1,0)|0;s=ba()|0;C=w;f[C>>2]=r;f[C+4>>2]=s;b[g+i>>0]=93}if(b[v>>0]|0){C=f[a>>2]|0;A=C+11|0;b[A>>0]=74;C=C+8|0;A=d[C>>1]|0;A=A|-32768;d[C>>1]=A;t=B;return}g=f[u>>2]|0;h=f[z>>2]|0;C=w;i=f[C>>2]|0;C=f[C+4>>2]|0;j=(b[x>>0]|0)==0?101:-1;if(C>>>0>0|(C|0)==0&i>>>0>2147483647){switch(j|0){case 0:case -1:break;default:ob[j&127](h)}if(g|0){f[g+20>>2]=18;$e(f[g>>2]|0,41612,-1,1,0)|0}}else if(($e(f[g>>2]|0,h,i,1,j)|0)==18){f[g+20>>2]=18;$e(f[g>>2]|0,41612,-1,1,0)|0}f[z>>2]=y;C=A;f[C>>2]=100;f[C+4>>2]=0;C=w;f[C>>2]=0;f[C+4>>2]=0;b[x>>0]=1;C=f[a>>2]|0;A=C+11|0;b[A>>0]=74;C=C+8|0;A=d[C>>1]|0;A=A|-32768;d[C>>1]=A;t=B;return}function ur(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+16|0;j=m;g=m+4|0;i=Dr(a,e,a)|0;if(!i){t=m;return}if((c|0)==2){e=f[e+4>>2]|0;do if(e){c=d[e+8>>1]|0;if((c&514)==514?(b[e+10>>0]|0)==1:0)c=f[e+16>>2]|0;else{if(c&1){k=9;break}c=Ic(e,1)|0}f[g>>2]=0;if(c){if((b[c>>0]|0)==36){c=gr(i,0,c+1|0,0,g)|0;e=f[g>>2]|0;if(!e)break;else c=e}else f[g>>2]=c;i=i+21|0;b[i>>0]=(b[i>>0]|0)+1<<24>>24;f[j>>2]=c;c=wd(60239,j)|0;if(c|0){f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=0;break}else{j=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=0;break}}c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;e=c+81|0;if((b[e>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;c=c+272|0;f[c>>2]=(f[c>>2]|0)+1;c=0}else c=0}else c=0}else k=9;while(0);if((k|0)==9){f[g>>2]=0;c=0}}else c=f[i+8>>2]|0;if(!c){t=m;return}if((b[c>>0]|0)==6?(l=f[c+4>>2]|0,(l|0)!=0):0){j=1;e=0;g=0;do{if((h[c+(j*12|0)>>0]|0)>5)i=(f[c+(j*12|0)+4>>2]|0)+1|0;else i=1;j=i+j|0;e=KA(e|0,g|0,1,0)|0;g=ba()|0}while(j>>>0<=l>>>0);i=e}else{i=0;g=0}c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216)){a=c;f[a>>2]=i;f[a+4>>2]=g;d[e>>1]=4;t=m;return}else{bf(c,i,g);t=m;return}}function vr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=t;t=t+144|0;B=N+128|0;w=N+132|0;F=N;if((c|0)<2){t=N;return}A=Dr(a,e,a)|0;if(!A){t=N;return}f[F>>2]=a;G=F+25|0;b[G>>0]=0;M=F+26|0;H=F+4|0;f[H>>2]=M;I=F+8|0;J=I;f[J>>2]=100;f[J+4>>2]=0;J=F+16|0;K=F+24|0;b[K>>0]=1;s=J;f[s>>2]=1;f[s+4>>2]=0;b[M>>0]=91;s=A+21|0;u=(c|0)==2;v=a+20|0;h=1;do{i=f[e+(h<<2)>>2]|0;do if(i){j=d[i+8>>1]|0;if((j&514)==514?(b[i+10>>0]|0)==1:0)i=f[i+16>>2]|0;else{if(j&1){C=10;break}i=Ic(i,1)|0}f[w>>2]=0;if(i){if((b[i>>0]|0)==36){j=gr(A,0,i+1|0,0,w)|0;i=f[w>>2]|0;if(!i)break}else f[w>>2]=i;b[s>>0]=(b[s>>0]|0)+1<<24>>24;f[B>>2]=i;i=wd(60239,B)|0;if(i|0){f[v>>2]=1;$e(f[a>>2]|0,i,-1,1,-1)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](i);j=0;break}else{j=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);j=0;break}}i=f[a>>2]|0;j=i+8|0;if(!(d[j>>1]&9216))d[j>>1]=1;else{cf(i);i=f[a>>2]|0}f[v>>2]=7;i=f[i+32>>2]|0;j=i+81|0;if((b[j>>0]|0)==0?(b[i+82>>0]|0)==0:0){b[j>>0]=1;if((f[i+180>>2]|0)>0)f[i+264>>2]=1;j=i+272|0;f[j>>2]=(f[j>>2]|0)+1;j=0}else j=0}else j=0}else C=10;while(0);if((C|0)==10){C=0;f[w>>2]=0;j=0}if(b[s>>0]|0)break;a:do if(u){if(j|0)Wq(j,a)}else{n=J;m=f[n>>2]|0;n=f[n+4>>2]|0;b:do if(!((m|0)==0&(n|0)==0)){i=f[H>>2]|0;switch(b[i+(m+-1)>>0]|0){case 123:case 91:break b;default:{}}l=I;k=f[l>>2]|0;l=f[l+4>>2]|0;if(n>>>0>>0|(n|0)==(l|0)&m>>>0>>0){o=m;l=m;k=n}else{n=l>>>0>0|(l|0)==0&k>>>0>1;m=WA(k|0,l|0,1)|0;o=ba()|0;k=KA(k|0,l|0,11,0)|0;l=ba()|0;k=n?m:k;l=n?o:l;do if(!(b[K>>0]|0)){if((Mc()|0)==0?(q=Nc(i,k,l)|0,q|0):0){f[H>>2]=q;i=q;break}b[G>>0]=1;l=f[F>>2]|0;i=f[l>>2]|0;k=i+8|0;if(!(d[k>>1]&9216))d[k>>1]=1;else{cf(i);i=f[l>>2]|0}f[l+20>>2]=7;i=f[i+32>>2]|0;k=i+81|0;if((b[k>>0]|0)==0?(b[i+82>>0]|0)==0:0){b[k>>0]=1;if((f[i+180>>2]|0)>0)f[i+264>>2]=1;o=i+272|0;f[o>>2]=(f[o>>2]|0)+1}do if((b[K>>0]|0)==0?(r=f[H>>2]|0,r|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{o=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);f[H>>2]=M;o=I;f[o>>2]=100;f[o+4>>2]=0;o=J;f[o>>2]=0;f[o+4>>2]=0;b[K>>0]=1;break b}else{if(b[G>>0]|0)break b;i=xd(k,l)|0;if(i|0){YA(i|0,f[H>>2]|0,f[J>>2]|0)|0;f[H>>2]=i;b[K>>0]=0;break}b[G>>0]=1;l=f[F>>2]|0;i=f[l>>2]|0;k=i+8|0;if(!(d[k>>1]&9216))d[k>>1]=1;else{cf(i);i=f[l>>2]|0}f[l+20>>2]=7;i=f[i+32>>2]|0;k=i+81|0;if((b[k>>0]|0)==0?(b[i+82>>0]|0)==0:0){b[k>>0]=1;if((f[i+180>>2]|0)>0)f[i+264>>2]=1;o=i+272|0;f[o>>2]=(f[o>>2]|0)+1}do if((b[K>>0]|0)==0?(p=f[H>>2]|0,p|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{o=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);f[H>>2]=M;o=I;f[o>>2]=100;f[o+4>>2]=0;o=J;f[o>>2]=0;f[o+4>>2]=0;b[K>>0]=1;break b}while(0);o=I;f[o>>2]=k;f[o+4>>2]=l;k=J;l=f[k>>2]|0;o=l;k=f[k+4>>2]|0}l=KA(l|0,k|0,1,0)|0;m=ba()|0;n=J;f[n>>2]=l;f[n+4>>2]=m;b[i+o>>0]=44}while(0);if(j|0){br(j,F,0);break}o=J;j=f[o>>2]|0;o=KA(j|0,f[o+4>>2]|0,4,0)|0;n=ba()|0;k=I;i=f[k>>2]|0;k=f[k+4>>2]|0;if(n>>>0>>0|(n|0)==(k|0)&o>>>0>>0)i=f[H>>2]|0;else{n=k>>>0>0|(k|0)==0&i>>>0>4;m=WA(i|0,k|0,1)|0;o=ba()|0;j=KA(i|0,k|0,14,0)|0;k=ba()|0;j=n?m:j;k=n?o:k;do if(!(b[K>>0]|0)){i=f[H>>2]|0;if((Mc()|0)==0?(y=Nc(i,j,k)|0,y|0):0){f[H>>2]=y;i=y;break}b[G>>0]=1;k=f[F>>2]|0;i=f[k>>2]|0;j=i+8|0;if(!(d[j>>1]&9216))d[j>>1]=1;else{cf(i);i=f[k>>2]|0}f[k+20>>2]=7;i=f[i+32>>2]|0;j=i+81|0;if((b[j>>0]|0)==0?(b[i+82>>0]|0)==0:0){b[j>>0]=1;if((f[i+180>>2]|0)>0)f[i+264>>2]=1;o=i+272|0;f[o>>2]=(f[o>>2]|0)+1}do if((b[K>>0]|0)==0?(z=f[H>>2]|0,z|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{o=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}while(0);f[H>>2]=M;o=I;f[o>>2]=100;f[o+4>>2]=0;o=J;f[o>>2]=0;f[o+4>>2]=0;b[K>>0]=1;break a}else{if(b[G>>0]|0)break a;i=xd(j,k)|0;if(i|0){YA(i|0,f[H>>2]|0,f[J>>2]|0)|0;f[H>>2]=i;b[K>>0]=0;break}b[G>>0]=1;k=f[F>>2]|0;i=f[k>>2]|0;j=i+8|0;if(!(d[j>>1]&9216))d[j>>1]=1;else{cf(i);i=f[k>>2]|0}f[k+20>>2]=7;i=f[i+32>>2]|0;j=i+81|0;if((b[j>>0]|0)==0?(b[i+82>>0]|0)==0:0){b[j>>0]=1;if((f[i+180>>2]|0)>0)f[i+264>>2]=1;o=i+272|0;f[o>>2]=(f[o>>2]|0)+1}do if((b[K>>0]|0)==0?(x=f[H>>2]|0,x|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](x);break}else{o=ib[f[37368>>2]&255](x)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](x);break}while(0);f[H>>2]=M;o=I;f[o>>2]=100;f[o+4>>2]=0;o=J;f[o>>2]=0;f[o+4>>2]=0;b[K>>0]=1;break a}while(0);o=I;f[o>>2]=j;f[o+4>>2]=k;j=f[J>>2]|0}m=i+j|0;b[m>>0]=110;b[m+1>>0]=117;b[m+2>>0]=108;b[m+3>>0]=108;m=J;m=KA(f[m>>2]|0,f[m+4>>2]|0,4,0)|0;n=ba()|0;o=J;f[o>>2]=m;f[o+4>>2]=n}while(0);h=h+1|0}while((h|0)<(c|0));if((c|0)>2&(h|0)==(c|0)){h=J;i=f[h>>2]|0;h=f[h+4>>2]|0;k=I;j=f[k>>2]|0;k=f[k+4>>2]|0;c:do if(h>>>0>>0|(h|0)==(k|0)&i>>>0>>0){g=f[H>>2]|0;C=152}else{B=k>>>0>0|(k|0)==0&j>>>0>1;A=WA(j|0,k|0,1)|0;c=ba()|0;i=KA(j|0,k|0,11,0)|0;j=ba()|0;i=B?A:i;j=B?c:j;do if(!(b[K>>0]|0)){h=f[H>>2]|0;if((Mc()|0)==0?(g=Nc(h,i,j)|0,g|0):0){f[H>>2]=g;break}b[G>>0]=1;i=f[F>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;D=g+272|0;f[D>>2]=(f[D>>2]|0)+1}do if((b[K>>0]|0)==0?(E=f[H>>2]|0,E|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](E);break}else{D=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);break}while(0);f[H>>2]=M;C=I;f[C>>2]=100;f[C+4>>2]=0;C=J;f[C>>2]=0;f[C+4>>2]=0;b[K>>0]=1;C=153;break c}else{if(b[G>>0]|0)break c;g=xd(i,j)|0;if(g|0){YA(g|0,f[H>>2]|0,f[J>>2]|0)|0;f[H>>2]=g;b[K>>0]=0;break}b[G>>0]=1;i=f[F>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;E=g+272|0;f[E>>2]=(f[E>>2]|0)+1}do if((b[K>>0]|0)==0?(D=f[H>>2]|0,D|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](D);break}else{E=ib[f[37368>>2]&255](D)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](D);break}while(0);f[H>>2]=M;C=I;f[C>>2]=100;f[C+4>>2]=0;C=J;f[C>>2]=0;f[C+4>>2]=0;b[K>>0]=1;C=153;break c}while(0);h=I;f[h>>2]=i;f[h+4>>2]=j;h=J;i=f[h>>2]|0;h=f[h+4>>2]|0;C=152}while(0);if((C|0)==152){c=KA(i|0,h|0,1,0)|0;D=ba()|0;E=J;f[E>>2]=c;f[E+4>>2]=D;b[g+i>>0]=93;C=153}if((C|0)==153?(b[G>>0]|0)==0:0){g=f[F>>2]|0;h=f[H>>2]|0;G=J;i=f[G>>2]|0;G=f[G+4>>2]|0;j=(b[K>>0]|0)==0?101:-1;if(G>>>0>0|(G|0)==0&i>>>0>2147483647){switch(j|0){case 0:case -1:break;default:ob[j&127](h)}if(g|0){f[g+20>>2]=18;$e(f[g>>2]|0,41612,-1,1,0)|0}}else if(($e(f[g>>2]|0,h,i,1,j)|0)==18){f[g+20>>2]=18;$e(f[g>>2]|0,41612,-1,1,0)|0}f[H>>2]=M;G=I;f[G>>2]=100;f[G+4>>2]=0;G=J;f[G>>2]=0;f[G+4>>2]=0;b[K>>0]=1}a=f[a>>2]|0;b[a+11>>0]=74;a=a+8|0;d[a>>1]=d[a>>1]|-32768}do if((b[K>>0]|0)==0?(L=f[H>>2]|0,L|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](L);break}else{a=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);break}while(0);f[H>>2]=M;M=I;f[M>>2]=100;f[M+4>>2]=0;M=J;f[M>>2]=0;f[M+4>>2]=0;b[K>>0]=1;t=N;return}function wr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+64|0;q=u+8|0;g=u;o=u+48|0;s=u+16|0;p=u+12|0;m=f[f[(f[a+4>>2]|0)+8>>2]>>2]|0;if((c|0)<1){t=u;return}if(!(c&1)){f[g>>2]=(m|0)==0?60669:60676;g=wd(60541,g)|0;f[a+20>>2]=1;$e(f[a>>2]|0,g,-1,1,-1)|0;if(!g){t=u;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);t=u;return}else{s=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);t=u;return}}g=f[e>>2]|0;do if(g|0){h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0)i=f[g+16>>2]|0;else r=11;if((r|0)==11){if(h&1)break;i=Ic(g,1)|0};f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[s+16>>2]=0;f[s+20>>2]=0;f[s+24>>2]=0;f[s+28>>2]=0;if(!i){t=u;return}f[s+12>>2]=i;g=er(s,0)|0;l=s+20|0;j=(b[l>>0]|0)==0;do if((g|0)>0&j){while(1){h=b[i+g>>0]|0;if(!(b[23984+(h&255)>>0]|0))break;else g=g+1|0}if((g|0)<1|h<<24>>24!=0)if(!a)break;else{r=20;break}a:do if(c>>>0>1){j=s+21|0;k=a+20|0;i=1;while(1){g=f[e+(i<<2)>>2]|0;do if(g){h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0)g=f[g+16>>2]|0;else{if(h&1){r=47;break}g=Ic(g,1)|0}f[p>>2]=0;f[o>>2]=0;if(g){if((b[g>>0]|0)==36){h=gr(s,0,g+1|0,p,o)|0;g=f[o>>2]|0;if(!g){g=h;break}}else f[o>>2]=g;b[j>>0]=(b[j>>0]|0)+1<<24>>24;f[q>>2]=g;g=wd(60239,q)|0;if(g|0){f[k>>2]=1;$e(f[a>>2]|0,g,-1,1,-1)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{h=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[k>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if(!(b[h>>0]|0)){if(b[g+82>>0]|0){g=0;break}b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;g=g+272|0;f[g>>2]=(f[g>>2]|0)+1;g=0}else g=0}else g=0}else r=47;while(0);if((r|0)==47){r=0;f[p>>2]=0;f[o>>2]=0;g=0}if(b[l>>0]|0)break;if(b[j>>0]|0)break a;if(g|0?(n=g+1|0,f[p>>2]|m|0):0){b[n>>0]=b[n>>0]|8;f[g+8>>2]=i+1}i=i+2|0;if(i>>>0>=c>>>0){r=78;break a}}g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[k>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;a=g+272|0;f[a>>2]=(f[a>>2]|0)+1}}else r=78;while(0);do if((r|0)==78){g=f[s+8>>2]|0;if(!(b[g+1>>0]&8)){ar(g,a,e);break}else{mf(a,f[e+(f[g+8>>2]<<2)>>2]|0);break}}while(0);g=s+8|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{a=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;f[s>>2]=0;f[s+4>>2]=0;g=s+16|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{s=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;t=u;return}else r=20;while(0);do if((r|0)==20){if(j){f[a+20>>2]=1;$e(f[a>>2]|0,60224,-1,1,-1)|0;break}g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[a+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;a=g+272|0;f[a>>2]=(f[a>>2]|0)+1}}while(0);g=s+8|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{a=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;f[s>>2]=0;f[s+4>>2]=0;g=s+16|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{s=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;t=u;return}while(0);f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[s+16>>2]=0;f[s+20>>2]=0;f[s+24>>2]=0;f[s+28>>2]=0;t=u;return}function xr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=t;t=t+128|0;A=H;if(c&1|0){f[a+20>>2]=1;$e(f[a>>2]|0,60584,-1,1,-1)|0;t=H;return}f[A>>2]=a;B=A+25|0;b[B>>0]=0;G=A+26|0;C=A+4|0;f[C>>2]=G;D=A+8|0;E=D;f[E>>2]=100;f[E+4>>2]=0;E=A+16|0;F=A+24|0;b[F>>0]=1;o=E;f[o>>2]=1;f[o+4>>2]=0;b[G>>0]=123;a:do if((c|0)>0){o=0;do{n=e+(o<<2)|0;if((d[(f[n>>2]|0)+8>>1]&15|16)<<16>>16!=18){x=6;break}l=E;k=f[l>>2]|0;l=f[l+4>>2]|0;b:do if(!((k|0)==0&(l|0)==0)){h=f[C>>2]|0;switch(b[h+(k+-1)>>0]|0){case 123:case 91:break b;default:{}}j=D;i=f[j>>2]|0;j=f[j+4>>2]|0;if(l>>>0>>0|(l|0)==(j|0)&k>>>0>>0){m=k;j=k;i=l}else{l=j>>>0>0|(j|0)==0&i>>>0>1;k=WA(i|0,j|0,1)|0;m=ba()|0;i=KA(i|0,j|0,11,0)|0;j=ba()|0;i=l?k:i;j=l?m:j;do if(!(b[F>>0]|0)){if((Mc()|0)==0?(q=Nc(h,i,j)|0,q|0):0){f[C>>2]=q;h=q;break}b[B>>0]=1;j=f[A>>2]|0;h=f[j>>2]|0;i=h+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else{cf(h);h=f[j>>2]|0}f[j+20>>2]=7;h=f[h+32>>2]|0;i=h+81|0;if((b[i>>0]|0)==0?(b[h+82>>0]|0)==0:0){b[i>>0]=1;if((f[h+180>>2]|0)>0)f[h+264>>2]=1;m=h+272|0;f[m>>2]=(f[m>>2]|0)+1}do if((b[F>>0]|0)==0?(r=f[C>>2]|0,r|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{m=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);f[C>>2]=G;m=D;f[m>>2]=100;f[m+4>>2]=0;m=E;f[m>>2]=0;f[m+4>>2]=0;b[F>>0]=1;break b}else{if(b[B>>0]|0)break b;h=xd(i,j)|0;if(h|0){YA(h|0,f[C>>2]|0,f[E>>2]|0)|0;f[C>>2]=h;b[F>>0]=0;break}b[B>>0]=1;j=f[A>>2]|0;h=f[j>>2]|0;i=h+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else{cf(h);h=f[j>>2]|0}f[j+20>>2]=7;h=f[h+32>>2]|0;i=h+81|0;if((b[i>>0]|0)==0?(b[h+82>>0]|0)==0:0){b[i>>0]=1;if((f[h+180>>2]|0)>0)f[h+264>>2]=1;m=h+272|0;f[m>>2]=(f[m>>2]|0)+1}do if((b[F>>0]|0)==0?(p=f[C>>2]|0,p|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{m=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);f[C>>2]=G;m=D;f[m>>2]=100;f[m+4>>2]=0;m=E;f[m>>2]=0;f[m+4>>2]=0;b[F>>0]=1;break b}while(0);m=D;f[m>>2]=i;f[m+4>>2]=j;i=E;j=f[i>>2]|0;m=j;i=f[i+4>>2]|0}j=KA(j|0,i|0,1,0)|0;k=ba()|0;l=E;f[l>>2]=j;f[l+4>>2]=k;b[h+m>>0]=44}while(0);i=f[n>>2]|0;h=d[i+8>>1]|0;if((h&514)==514?(b[i+10>>0]|0)==1:0)k=f[i+16>>2]|0;else if(!(h&1)){k=Ic(i,1)|0;i=f[n>>2]|0}else k=0;h=d[i+8>>1]|0;if((h&2)!=0?(b[i+10>>0]|0)==1:0)h=f[i+12>>2]|0;else x=60;do if((x|0)==60){x=0;j=h&65535;if(!(j&16)){if(j&1|0){h=0;break}h=_e(i,1)|0;break}else{h=f[i+12>>2]|0;if(!(j&16384))break;h=(f[i>>2]|0)+h|0;break}}while(0);dr(A,k,h);k=E;h=f[k>>2]|0;k=f[k+4>>2]|0;j=D;i=f[j>>2]|0;j=f[j+4>>2]|0;c:do if(k>>>0>>0|(k|0)==(j|0)&h>>>0>>0){j=h;i=k;h=f[C>>2]|0;x=103}else{m=j>>>0>0|(j|0)==0&i>>>0>1;l=WA(i|0,j|0,1)|0;n=ba()|0;i=KA(i|0,j|0,11,0)|0;j=ba()|0;i=m?l:i;j=m?n:j;do if(!(b[F>>0]|0)){h=f[C>>2]|0;if((Mc()|0)==0?(v=Nc(h,i,j)|0,v|0):0){f[C>>2]=v;h=v;break}b[B>>0]=1;j=f[A>>2]|0;h=f[j>>2]|0;i=h+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else{cf(h);h=f[j>>2]|0}f[j+20>>2]=7;h=f[h+32>>2]|0;i=h+81|0;if((b[i>>0]|0)==0?(b[h+82>>0]|0)==0:0){b[i>>0]=1;if((f[h+180>>2]|0)>0)f[h+264>>2]=1;n=h+272|0;f[n>>2]=(f[n>>2]|0)+1}do if((b[F>>0]|0)==0?(w=f[C>>2]|0,w|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{n=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}while(0);f[C>>2]=G;n=D;f[n>>2]=100;f[n+4>>2]=0;n=E;f[n>>2]=0;f[n+4>>2]=0;b[F>>0]=1;break c}else{if(b[B>>0]|0)break c;h=xd(i,j)|0;if(h|0){YA(h|0,f[C>>2]|0,f[E>>2]|0)|0;f[C>>2]=h;b[F>>0]=0;break}b[B>>0]=1;j=f[A>>2]|0;h=f[j>>2]|0;i=h+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else{cf(h);h=f[j>>2]|0}f[j+20>>2]=7;h=f[h+32>>2]|0;i=h+81|0;if((b[i>>0]|0)==0?(b[h+82>>0]|0)==0:0){b[i>>0]=1;if((f[h+180>>2]|0)>0)f[h+264>>2]=1;n=h+272|0;f[n>>2]=(f[n>>2]|0)+1}do if((b[F>>0]|0)==0?(s=f[C>>2]|0,s|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{n=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}while(0);f[C>>2]=G;n=D;f[n>>2]=100;f[n+4>>2]=0;n=E;f[n>>2]=0;f[n+4>>2]=0;b[F>>0]=1;break c}while(0);x=D;f[x>>2]=i;f[x+4>>2]=j;i=E;j=f[i>>2]|0;i=f[i+4>>2]|0;x=103}while(0);if((x|0)==103){x=0;l=KA(j|0,i|0,1,0)|0;m=ba()|0;n=E;f[n>>2]=l;f[n+4>>2]=m;b[h+j>>0]=58}cr(A,f[e+((o|1)<<2)>>2]|0);o=o+2|0}while((o|0)<(c|0));if((x|0)==6){f[a+20>>2]=1;$e(f[a>>2]|0,60635,-1,1,-1)|0;do if((b[F>>0]|0)==0?(u=f[C>>2]|0,u|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{a=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}while(0);f[C>>2]=G;G=D;f[G>>2]=100;f[G+4>>2]=0;G=E;f[G>>2]=0;f[G+4>>2]=0;b[F>>0]=1;t=H;return}h=E;i=f[h>>2]|0;h=f[h+4>>2]|0;k=D;j=f[k>>2]|0;k=f[k+4>>2]|0;if(h>>>0>>0|(h|0)==(k|0)&i>>>0>>0){g=i;x=106}else{v=k>>>0>0|(k|0)==0&j>>>0>1;u=WA(j|0,k|0,1)|0;w=ba()|0;i=KA(j|0,k|0,11,0)|0;j=ba()|0;i=v?u:i;j=v?w:j;do if(!(b[F>>0]|0)){h=f[C>>2]|0;if((Mc()|0)==0?(g=Nc(h,i,j)|0,g|0):0){f[C>>2]=g;break}b[B>>0]=1;i=f[A>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;y=g+272|0;f[y>>2]=(f[y>>2]|0)+1}do if((b[F>>0]|0)==0?(z=f[C>>2]|0,z|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{y=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}while(0);f[C>>2]=G;x=D;f[x>>2]=100;f[x+4>>2]=0;x=E;f[x>>2]=0;f[x+4>>2]=0;b[F>>0]=1;x=144;break a}else{if(b[B>>0]|0)break a;g=xd(i,j)|0;if(g|0){YA(g|0,f[C>>2]|0,f[E>>2]|0)|0;f[C>>2]=g;b[F>>0]=0;break}b[B>>0]=1;i=f[A>>2]|0;g=f[i>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[i>>2]|0}f[i+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;z=g+272|0;f[z>>2]=(f[z>>2]|0)+1}do if((b[F>>0]|0)==0?(y=f[C>>2]|0,y|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](y);break}else{z=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y);break}while(0);f[C>>2]=G;x=D;f[x>>2]=100;f[x+4>>2]=0;x=E;f[x>>2]=0;f[x+4>>2]=0;b[F>>0]=1;x=144;break a}while(0);h=D;f[h>>2]=i;f[h+4>>2]=j;h=E;i=f[h>>2]|0;h=f[h+4>>2]|0;x=143}}else{g=1;h=0;x=106}while(0);if((x|0)==106){i=g;g=f[C>>2]|0;x=143}if((x|0)==143){w=KA(i|0,h|0,1,0)|0;y=ba()|0;z=E;f[z>>2]=w;f[z+4>>2]=y;b[g+i>>0]=125;x=144}if((x|0)==144?(b[B>>0]|0)==0:0){g=f[A>>2]|0;h=f[C>>2]|0;B=E;i=f[B>>2]|0;B=f[B+4>>2]|0;j=(b[F>>0]|0)==0?101:-1;if(B>>>0>0|(B|0)==0&i>>>0>2147483647){switch(j|0){case 0:case -1:break;default:ob[j&127](h)}if(g|0){f[g+20>>2]=18;$e(f[g>>2]|0,41612,-1,1,0)|0}}else if(($e(f[g>>2]|0,h,i,1,j)|0)==18){f[g+20>>2]=18;$e(f[g>>2]|0,41612,-1,1,0)|0}f[C>>2]=G;G=D;f[G>>2]=100;f[G+4>>2]=0;G=E;f[G>>2]=0;f[G+4>>2]=0;b[F>>0]=1}G=f[a>>2]|0;b[G+11>>0]=74;G=G+8|0;d[G>>1]=d[G>>1]|-32768;t=H;return}function yr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+64|0;l=m+32|0;k=m;c=f[e>>2]|0;do if(c|0){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0)h=f[c+16>>2]|0;else j=5;if((j|0)==5){if(g&1)break;h=Ic(c,1)|0};f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;if(!h){t=m;return}f[l+12>>2]=h;c=er(l,0)|0;i=(b[l+20>>0]|0)==0;if((c|0)>0&i){while(1){g=b[h+c>>0]|0;if(!(b[23984+(g&255)>>0]|0))break;else c=c+1|0}if(!((c|0)<1|g<<24>>24!=0)){c=f[e+4>>2]|0;do if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0)h=f[c+16>>2]|0;else j=37;if((j|0)==37){if(g&1){j=39;break}h=Ic(c,1)|0};f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;f[k+28>>2]=0;if(h|0){f[k+12>>2]=h;c=er(k,0)|0;i=(b[k+20>>0]|0)==0;if((c|0)>0&i){while(1){g=b[h+c>>0]|0;if(!(b[23984+(g&255)>>0]|0))break;else c=c+1|0}if(!((c|0)<1|g<<24>>24!=0)){h=k+8|0;c=Fr(l,0,f[h>>2]|0)|0;if(!c){c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if((b[g>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1}}else ar(c,a,0);c=l+8|0;g=f[c>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[c>>2]=0;f[l>>2]=0;f[l+4>>2]=0;c=l+16|0;g=f[c>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{l=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[c>>2]=0;c=f[h>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{l=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[h>>2]=0;f[k>>2]=0;f[k+4>>2]=0;c=k+16|0;g=f[c>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{l=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[c>>2]=0;t=m;return}}do if(a|0){if(i){f[a+20>>2]=1;$e(f[a>>2]|0,60224,-1,1,-1)|0;break}c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if((b[g>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;a=c+272|0;f[a>>2]=(f[a>>2]|0)+1}}while(0);c=k+8|0;g=f[c>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[c>>2]=0;f[k>>2]=0;f[k+4>>2]=0;c=k+16|0;g=f[c>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{k=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[c>>2]=0}}else j=39;while(0);if((j|0)==39){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;f[k+28>>2]=0}c=l+8|0;g=f[c>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{k=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[c>>2]=0;f[l>>2]=0;f[l+4>>2]=0;c=l+16|0;g=f[c>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{l=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[c>>2]=0;t=m;return}}do if(a|0){if(i){f[a+20>>2]=1;$e(f[a>>2]|0,60224,-1,1,-1)|0;break}c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if((b[g>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;k=c+272|0;f[k>>2]=(f[k>>2]|0)+1}}while(0);c=l+8|0;g=f[c>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{k=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[c>>2]=0;f[l>>2]=0;f[l+4>>2]=0;c=l+16|0;g=f[c>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{l=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[c>>2]=0;t=m;return}while(0);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;t=m;return}function zr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=t;t=t+128|0;c=n;f[c>>2]=a;h=c+25|0;b[h>>0]=0;k=c+26|0;l=c+4|0;f[l>>2]=k;m=c+8|0;i=m;f[i>>2]=100;f[i+4>>2]=0;i=c+16|0;j=i;f[j>>2]=0;f[j+4>>2]=0;j=c+24|0;b[j>>0]=1;cr(c,f[e>>2]|0);if(b[h>>0]|0){a=f[a>>2]|0;m=a+11|0;b[m>>0]=74;a=a+8|0;m=d[a>>1]|0;m=m|-32768;d[a>>1]=m;t=n;return}c=f[c>>2]|0;e=f[l>>2]|0;o=i;g=f[o>>2]|0;o=f[o+4>>2]|0;h=(b[j>>0]|0)==0?101:-1;if(o>>>0>0|(o|0)==0&g>>>0>2147483647){switch(h|0){case 0:case -1:break;default:ob[h&127](e)}if(c|0){f[c+20>>2]=18;$e(f[c>>2]|0,41612,-1,1,0)|0}}else if(($e(f[c>>2]|0,e,g,1,h)|0)==18){f[c+20>>2]=18;$e(f[c>>2]|0,41612,-1,1,0)|0}f[l>>2]=k;o=m;f[o>>2]=100;f[o+4>>2]=0;o=i;f[o>>2]=0;f[o+4>>2]=0;b[j>>0]=1;o=f[a>>2]|0;a=o+11|0;b[a>>0]=74;o=o+8|0;a=d[o>>1]|0;a=a|-32768;d[o>>1]=a;t=n;return}function Ar(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+64|0;m=p+8|0;g=p;l=p+48|0;o=p+16|0;if((c|0)<1){t=p;return}if(!(c&1)){f[g>>2]=41450;g=wd(60541,g)|0;f[a+20>>2]=1;$e(f[a>>2]|0,g,-1,1,-1)|0;if(!g){t=p;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);t=p;return}else{o=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);t=p;return}}g=f[e>>2]|0;do if(g|0){h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0)i=f[g+16>>2]|0;else n=11;if((n|0)==11){if(h&1)break;i=Ic(g,1)|0};f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;if(!i){t=p;return}f[o+12>>2]=i;g=er(o,0)|0;j=(b[o+20>>0]|0)==0;if((g|0)>0&j){while(1){h=b[i+g>>0]|0;if(!(b[23984+(h&255)>>0]|0))break;else g=g+1|0}if(!((g|0)<1|h<<24>>24!=0)){a:do if(c>>>0>1){j=o+21|0;k=a+20|0;i=1;while(1){g=f[e+(i<<2)>>2]|0;do if(g){h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0)g=f[g+16>>2]|0;else{if(h&1){n=47;break}g=Ic(g,1)|0}f[l>>2]=0;if(g){if((b[g>>0]|0)==36){h=gr(o,0,g+1|0,0,l)|0;g=f[l>>2]|0;if(!g){g=h;break}}else f[l>>2]=g;b[j>>0]=(b[j>>0]|0)+1<<24>>24;f[m>>2]=g;g=wd(60239,m)|0;if(g|0){f[k>>2]=1;$e(f[a>>2]|0,g,-1,1,-1)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{h=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[k>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if(!(b[h>>0]|0)){if(b[g+82>>0]|0){g=0;break}b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;g=g+272|0;f[g>>2]=(f[g>>2]|0)+1;g=0}else g=0}else g=0}else n=47;while(0);if((n|0)==47){n=0;f[l>>2]=0;g=0}if(b[j>>0]|0)break;h=g+1|0;if(g|0){b[h>>0]=b[h>>0]|8;f[g+8>>2]=i+1}i=i+2|0;if(i>>>0>=c>>>0){n=68;break a}}h=o+8|0}else n=68;while(0);do if((n|0)==68){h=o+8|0;g=f[h>>2]|0;if(!(b[g+1>>0]&8)){ar(g,a,e);break}else{mf(a,f[e+(f[g+8>>2]<<2)>>2]|0);break}}while(0);g=f[h>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[h>>2]=0;f[o>>2]=0;f[o+4>>2]=0;g=o+16|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{o=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;t=p;return}}do if(a|0){if(j){f[a+20>>2]=1;$e(f[a>>2]|0,60224,-1,1,-1)|0;break}g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[a+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if((b[h>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;a=g+272|0;f[a>>2]=(f[a>>2]|0)+1}}while(0);g=o+8|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{a=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;f[o>>2]=0;f[o+4>>2]=0;g=o+16|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{o=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;t=p;return}while(0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;t=p;return} -function Gg(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;w=t;t=t+32|0;o=w+16|0;e=w;if((b[a+8>>0]|0)!=2){v=0;t=w;return v|0}v=f[a+4>>2]|0;f[v+4>>2]=f[a>>2];do if(b[v+17>>0]|0){u=f[v>>2]|0;k=f[v+8>>2]|0;l=(k|0)==0;if(!l){a=k;do{r=a+1|0;b[r>>0]=b[r>>0]&-5;a=f[a+24>>2]|0}while((a|0)!=0)}if(!(b[v+18>>0]|0)){r=v+44|0;g=f[r>>2]|0;i=g>>>0<2;if(i)a=0;else{a=g+-2|0;a=a-((a>>>0)%(((((f[v+36>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;a=((a+1|0)==(1073741824/((f[v+32>>2]|0)>>>0)|0|0)?3:2)+a|0}if((a|0)!=(g|0)?(m=1073741824/((f[v+32>>2]|0)>>>0)|0,n=m+1|0,(g|0)!=(n|0)):0){q=v+12|0;p=f[(f[q>>2]|0)+56>>2]|0;p=h[p+37>>0]<<16|h[p+36>>0]<<24|h[p+38>>0]<<8|h[p+39>>0];e=((f[v+36>>2]|0)>>>0)/5|0;j=e+1|0;if(i)a=0;else{a=g+-2|0;a=a-((a>>>0)%(j>>>0)|0)|0;a=((a+1|0)==(m|0)?3:2)+a|0}i=g-p-(((e-g+p+a|0)>>>0)/(e>>>0)|0)|0;i=i+((n>>>0>>0&i>>>0>>0)<<31>>31)|0;while(1){if(i>>>0<2)a=0;else{a=i+-2|0;a=a-((a>>>0)%(j>>>0)|0)|0;a=((a+1|0)==(m|0)?3:2)+a|0}if((i|0)==(n|0)|(a|0)==(i|0))i=i+-1|0;else break}if(i>>>0>g>>>0){f[o>>2]=42469;f[o+4>>2]=66792;f[o+8>>2]=40460;Ac(11,40408,o);v=11;t=w;return v|0}if(l|i>>>0>=g>>>0)a=0;else a=Kg(k,0,0)|0;e=(a|0)==0;if(g>>>0>i>>>0&e)do{a=Ah(v,i,g,1)|0;g=g+-1|0;e=(a|0)==0}while(e&g>>>0>i>>>0);if((p|0)!=0&((a|0)==101|e)){e=f[(f[q>>2]|0)+72>>2]|0;g=f[e+20>>2]|0;if((d[e+28>>1]&4)!=0?(f[g+24>>2]|0)>>>0>=(f[e+24>>2]|0)>>>0:0)if(!(f[g+96>>2]|0))a=0;else a=Ng(e)|0;else s=30;do if((s|0)==30){a=f[g+40>>2]|0;if(!a)if((f[g+148>>2]|0)>>>0>(f[g+152>>2]|0)>>>0){a=Og(e)|0;break}else{a=Pg(e)|0;break}}while(0);s=(f[(f[q>>2]|0)+56>>2]|0)+32|0;b[s>>0]=0;b[s+1>>0]=0;b[s+2>>0]=0;b[s+3>>0]=0;s=(f[(f[q>>2]|0)+56>>2]|0)+36|0;b[s>>0]=0;b[s+1>>0]=0;b[s+2>>0]=0;b[s+3>>0]=0;s=f[(f[q>>2]|0)+56>>2]|0;b[s+28>>0]=i>>>24;b[s+29>>0]=i>>>16;b[s+30>>0]=i>>>8;b[s+31>>0]=i;b[v+19>>0]=1;f[r>>2]=i}if(!a)break;wh(u)|0;v=a;t=w;return v|0}f[e>>2]=42469;f[e+4>>2]=66787;f[e+8>>2]=40460;Ac(11,40408,e);v=11;t=w;return v|0}}while(0);a=f[v>>2]|0;if(b[v+19>>0]|0)f[a+24>>2]=f[v+44>>2];v=Bh(a,c,0)|0;t=w;return v|0}function Hg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;d=b[a+8>>0]|0;if(!(d<<24>>24)){l=0;return l|0}l=f[a+4>>2]|0;f[l+4>>2]=f[a>>2];if(d<<24>>24==2){i=f[l>>2]|0;j=i+40|0;d=f[j>>2]|0;a:do if(!d){e=i+16|0;if(((b[e>>0]|0)==2?b[i+4>>0]|0:0)?(b[i+5>>0]|0)==1:0){b[e>>0]=1;break}d=i+100|0;f[d>>2]=(f[d>>2]|0)+1;d=sh(i,h[i+19>>0]|0,1)|0;switch((d&255)<<24>>24){case 10:case 13:break;default:{g=d;k=10;break a}}f[j>>2]=d;b[e>>0]=6;f[i+204>>2]=(d|0)==0?81:82;g=d;k=10}else{g=d;k=10}while(0);if((k|0)==10?(c|0)==0&(g|0)!=0:0){l=g;return l|0}c=a+20|0;f[c>>2]=(f[c>>2]|0)+-1;b[l+20>>0]=1;l=l+60|0;Ug(f[l>>2]|0);f[l>>2]=0}vh(a);l=0;return l|0}function Ig(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=t;t=t+112|0;k=l+88|0;m=l;f[m>>2]=d;e=f[a+108>>2]|0;h=k+4|0;f[h>>2]=l+16;f[k>>2]=a;f[k+8>>2]=70;i=k+12|0;f[i>>2]=e;e=k+16|0;f[e>>2]=0;j=k+20|0;b[j>>0]=0;g=k+21|0;b[g>>0]=1;Bc(k,c,m);d=f[h>>2]|0;if(((d|0)!=0?(b[d+(f[e>>2]|0)>>0]=0,(f[i>>2]|0)!=0):0)?(b[g>>0]&4)==0:0)c=Cc(k)|0;else c=f[h>>2]|0;if((b[j>>0]|0)!=7){t=l;return c|0}d=a+81|0;if(b[d>>0]|0){t=l;return c|0}if(b[a+82>>0]|0){t=l;return c|0}b[d>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;m=a+272|0;f[m>>2]=(f[m>>2]|0)+1;t=l;return c|0}function Jg(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=f[a>>2]|0;q=a+48|0;t=f[q>>2]|0;u=t+-1|0;p=v+20|0;g=f[p>>2]|0;if((g|0)>0){n=v+16|0;o=(t|0)<1;if((c|0)==2){l=0;e=0;do{k=f[(f[n>>2]|0)+(l<<4)+4>>2]|0;if(k){i=k+8|0;do if((b[i>>0]|0)==2){j=f[k+4>>2]|0;f[j+4>>2]=f[k>>2];g=f[j+8>>2]|0;if(g|0?(m=Kg(g,0,0)|0,m|0):0){g=m;break}g=Lg(f[j>>2]|0,2,u)|0;if(!g){if(o?d[j+22>>1]&16:0)f[j+44>>2]=0;g=Mg(j)|0;w=f[(f[j+12>>2]|0)+56>>2]|0;f[j+44>>2]=h[w+29>>0]<<16|h[w+28>>0]<<24|h[w+30>>0]<<8|h[w+31>>0];if(!g)if((b[i>>0]|0)==2){i=f[k+4>>2]|0;f[i+4>>2]=f[k>>2];g=Lg(f[i>>2]|0,1,u)|0;if(!g){if(o?d[i+22>>1]&16:0)f[i+44>>2]=0;g=Mg(i)|0;w=f[(f[i+12>>2]|0)+56>>2]|0;f[i+44>>2]=h[w+29>>0]<<16|h[w+28>>0]<<24|h[w+30>>0]<<8|h[w+31>>0]}}else g=0}}else g=0;while(0);e=(e|0)==0?g:e;g=f[p>>2]|0}l=l+1|0}while((l|0)<(g|0))}else{k=0;e=0;do{i=f[(f[n>>2]|0)+(k<<4)+4>>2]|0;if(i){if((b[i+8>>0]|0)==2){j=f[i+4>>2]|0;f[j+4>>2]=f[i>>2];g=Lg(f[j>>2]|0,1,u)|0;if(!g){if(o?d[j+22>>1]&16:0)f[j+44>>2]=0;g=Mg(j)|0;w=f[(f[j+12>>2]|0)+56>>2]|0;f[j+44>>2]=h[w+29>>0]<<16|h[w+28>>0]<<24|h[w+30>>0]<<8|h[w+31>>0]}}else g=0;e=(e|0)==0?g:e;g=f[p>>2]|0}k=k+1|0}while((k|0)<(g|0))}w=v+456|0;f[w>>2]=(f[w>>2]|0)+-1;f[q>>2]=0;if(!e)g=33;else g=52}else{g=v+456|0;f[g>>2]=(f[g>>2]|0)+-1;f[q>>2]=0;g=33}a:do if((g|0)==33){l=v+356|0;b:do if((c|0)==2){if(!(f[l>>2]|0)){e=0;break a}k=v+332|0;j=0;while(1){if((j|0)>=(f[k>>2]|0))break b;e=f[(f[l>>2]|0)+(j<<2)>>2]|0;g=f[f[e+4>>2]>>2]|0;i=f[e+8>>2]|0;if((((i|0)!=0?(f[g>>2]|0)>1:0)?(r=f[g+88>>2]|0,(r|0)!=0):0)?(f[e+20>>2]|0)>=(t|0):0)e=jb[r&255](i,u)|0;else e=0;if(!e)j=j+1|0;else{g=52;break a}}}while(0);if(!(f[l>>2]|0)){e=0;g=52}else{k=v+332|0;j=0;while(1){if((j|0)>=(f[k>>2]|0)){e=0;g=52;break a}e=f[(f[l>>2]|0)+(j<<2)>>2]|0;g=f[f[e+4>>2]>>2]|0;i=f[e+8>>2]|0;if((((i|0)!=0?(f[g>>2]|0)>1:0)?(s=f[g+84>>2]|0,(s|0)!=0):0)?(f[e+20>>2]|0)>=(t|0):0)e=jb[s&255](i,u)|0;else e=0;if(!e)j=j+1|0;else{g=52;break}}}}while(0);if((g|0)==52)if((c|0)!=2){w=e;return w|0}u=a+72|0;w=f[u+4>>2]|0;c=v+464|0;f[c>>2]=f[u>>2];f[c+4>>2]=w;c=a+80|0;a=f[c+4>>2]|0;w=v+472|0;f[w>>2]=f[c>>2];f[w+4>>2]=a;w=e;return w|0}function Kg(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=(c|0)==0;j=a;a:while(1){b:do if((j|0)!=(e|0)){if(!k?(f[j+64>>2]|0)!=(c|0):0)break;switch(b[j>>0]|0){case 2:{b[j>>0]=0;break}case 0:{f[j+4>>2]=0;break}default:{i=j+68|0;a=b[i>>0]|0;if(a<<24>>24<=-1)break b;if(a<<24>>24){h=0;do{g=f[(f[j+120+(h<<2)>>2]|0)+72>>2]|0;if(!(d[g+28>>1]&32)){bh(g);a=b[i>>0]|0}else{m=f[g+20>>2]|0;n=m+120|0;f[n>>2]=(f[n>>2]|0)+-1;m=m+136|0;f[g+16>>2]=f[m>>2];f[m>>2]=g}h=h+1|0}while((h|0)<(a<<24>>24|0))}a=f[(f[j+116>>2]|0)+72>>2]|0;if(!(d[a+28>>1]&32))bh(a);else{n=f[a+20>>2]|0;m=n+120|0;f[m>>2]=(f[m>>2]|0)+-1;n=n+136|0;f[a+16>>2]=f[n>>2];f[n>>2]=a}b[i>>0]=-1;break b}}n=(b[j+69>>0]|0)==0;oh(j);if(n){a=f[j+44>>2]|0;i=j+56|0;n=i;f[n>>2]=a;f[n+4>>2]=0;n=KA(a|0,0,-1,-1)|0;m=ba()|0;if(m>>>0>0|(m|0)==0&n>>>0>2147483390){a=7;break a}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](a)|0;if(!a){a=7;break a}else g=a}else{h=ib[f[37372>>2]&255](a)|0;if((f[18194]|0)>>>0>>0)f[18194]=a;g=71896;a=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&a>>>0>0){n=f[18187]|0;m=LA(a|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&m>>>0<=n>>>0)&1}g=ib[f[37356>>2]&255](h)|0;if(!g){a=7;break a}a=ib[f[37368>>2]&255](g)|0;a=(f[18187]|0)+a|0;f[18187]=a;if(a>>>0>(f[18191]|0)>>>0)f[18191]=a;a=(f[18190]|0)+1|0;f[18190]=a;if(a>>>0>(f[18196]|0)>>>0)f[18196]=a}a=ph(j,0,f[i>>2]|0,g,0)|0;if(a|0){l=24;break a}f[j+16>>2]=g}else{i=j+32|0;m=f[i+4>>2]|0;n=j+56|0;f[n>>2]=f[i>>2];f[n+4>>2]=m}i=j+68|0;a=b[i>>0]|0;if(a<<24>>24>-1){if(a<<24>>24){h=0;do{g=f[(f[j+120+(h<<2)>>2]|0)+72>>2]|0;if(!(d[g+28>>1]&32)){bh(g);a=b[i>>0]|0}else{n=f[g+20>>2]|0;m=n+120|0;f[m>>2]=(f[m>>2]|0)+-1;n=n+136|0;f[g+16>>2]=f[n>>2];f[n>>2]=g}h=h+1|0}while((h|0)<(a<<24>>24|0))}a=f[(f[j+116>>2]|0)+72>>2]|0;if(!(d[a+28>>1]&32))bh(a);else{n=f[a+20>>2]|0;m=n+120|0;f[m>>2]=(f[m>>2]|0)+-1;n=n+136|0;f[a+16>>2]=f[n>>2];f[n>>2]=a}b[i>>0]=-1}b[j>>0]=3;n=j+1|0;b[n>>0]=b[n>>0]&-15}while(0);a=f[j+24>>2]|0;if(!a){a=0;l=52;break}else j=a}if((l|0)==52)return a|0;do if((l|0)==24)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{n=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);n=j+1|0;b[n>>0]=b[n>>0]&-15;n=a;return n|0}function Lg(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;z=t;t=t+32|0;y=z+8|0;x=z;g=f[a+40>>2]|0;if(g|0){a=g;t=z;return a|0}k=a+96|0;g=f[k>>2]|0;if((g|0)<=(e|0)){a=0;t=z;return a|0}i=(c|0)==1;e=((i^1)&1)+e|0;if((e|0)<(g|0)){c=a+92|0;g=e;do{Ug(f[(f[c>>2]|0)+(g*48|0)+16>>2]|0);g=g+1|0}while((g|0)<(f[k>>2]|0))}f[k>>2]=e;if(i){if(e|0){a=0;t=z;return a|0}e=f[a+68>>2]|0;g=f[e>>2]|0;if(!g){a=0;t=z;return a|0}if((g|0)==37976){c=e+16|0;g=f[c>>2]|0;if(g|0)do{h=g;g=f[g>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](h);else{y=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h)}}while((g|0)!=0);f[c>>2]=0;f[e+12>>2]=0;f[e+32>>2]=0;y=e+24|0;f[y>>2]=0;f[y+4>>2]=0;f[e+48>>2]=0;y=e+40|0;f[y>>2]=0;f[y+4>>2]=0}f[a+52>>2]=0;a=0;t=z;return a|0}s=a+216|0;if((f[s>>2]|0)==0?(f[f[a+64>>2]>>2]|0)==0:0){a=0;t=z;return a|0}if((e|0)!=0?(l=e+-1|0,u=f[a+92>>2]|0,m=u+(l*48|0)|0,l=u+(l*48|0)+20|0,(m|0)!=0):0){i=f[l>>2]|0;if(!(f[9328]|0)){g=ib[f[37356>>2]&255](512)|0;if(!g){a=7;t=z;return a|0}}else{g=ib[f[37372>>2]&255](512)|0;if((f[18194]|0)>>>0<512)f[18194]=512;e=71896;c=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&c>>>0>0){u=f[18187]|0;r=LA(c|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;q=ba()|0;f[17976]=((q|0)<0|(q|0)==0&r>>>0<=u>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){a=7;t=z;return a|0}c=ib[f[37368>>2]&255](g)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}_A(g+4|0,0,508)|0;f[g>>2]=i;u=g;g=l;e=a+28|0;r=m;q=1}else{e=a+28|0;u=0;g=e;r=0;q=0}c=a+24|0;f[c>>2]=f[g>>2];b[a+18>>0]=b[a+12>>0]|0;a:do if(q){l=a+72|0;h=l;c=f[h>>2]|0;h=f[h+4>>2]|0;if(!(f[s>>2]|0)){i=r+8|0;e=f[i>>2]|0;i=f[i+4>>2]|0;g=(e|0)==0&(i|0)==0;e=g?c:e;i=g?h:i;g=r;k=f[g>>2]|0;g=f[g+4>>2]|0;p=l;f[p>>2]=k;f[p+4>>2]=g;if((g|0)<(i|0)|(g|0)==(i|0)&k>>>0>>0)while(1){g=gh(a,l,u,1,1)|0;if(g|0){p=c;o=h;break a}g=l;k=f[g>>2]|0;g=f[g+4>>2]|0;if(!((g|0)<(i|0)|(g|0)==(i|0)&k>>>0>>0)){p=c;w=73;break}}else{p=c;w=73}}else{g=l;w=72}}else{o=f[s>>2]|0;if(!o){g=a+72|0;h=g;c=f[h>>2]|0;h=f[h+4>>2]|0;w=72;break}f[c>>2]=f[e>>2];if(b[o+44>>0]|0){n=o+68|0;l=f[n>>2]|0;m=o+32|0;i=f[m>>2]|0;g=o+52|0;c=f[i>>2]|0;e=g+48|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(e|0));c=f[n>>2]|0;g=c+1|0;if(g>>>0>l>>>0)g=0;else{k=g;e=i;while(1){g=c+34|0;c=g>>>12;if(!c)g=(f[e>>2]|0)+(g<<2)|0;else g=(f[e+(c<<2)>>2]|0)+((g&4095)<<2)|0;g=dh(a,f[g>>2]|0)|0;c=k+1|0;if(c>>>0>l>>>0|(g|0)!=0)break;x=k;k=c;e=f[m>>2]|0;c=x}c=f[n>>2]|0}if((l|0)!=(c|0))if(c|0){c=c+33|0;e=c>>>12;k=y+4|0;if((f[o+24>>2]|0)>(e|0)?(h=f[(f[m>>2]|0)+(e<<2)>>2]|0,f[k>>2]=h,(h|0)!=0):0)w=53;else w=50;do if((w|0)==50)if(!(eh(o,e,k)|0)){h=f[k>>2]|0;w=53;break}else{c=f[y+8>>2]|0;i=f[y>>2]|0;break}while(0);if((w|0)==53){i=h+16384|0;f[y>>2]=i;if(!e){h=h+136|0;f[k>>2]=h;c=0}else c=(c&-4096)+-34|0;f[y+8>>2]=c;f[k>>2]=h+-4}c=(f[n>>2]|0)-c|0;h=0;do{e=i+(h<<1)|0;if((c|0)<(j[e>>1]|0))d[e>>1]=0;h=h+1|0}while((h|0)!=8192);y=(f[k>>2]|0)+(c+1<<2)|0;_A(y|0,0,i-y|0)|0}}else g=0;h=fh(f[a+212>>2]|0)|0;if(!((g|0)==0&(h|0)!=0)){a=g;t=z;return a|0}do{g=h;h=f[h+16>>2]|0;g=dh(a,f[g+24>>2]|0)|0}while((h|0)!=0&(g|0)==0);t=z;return g|0}while(0);if((w|0)==72){l=g;f[l>>2]=0;f[l+4>>2]=0;l=g;g=0;k=0;p=c;w=73}b:do if((w|0)==73){m=a+80|0;n=a+148|0;o=a+152|0;if((g|0)<(h|0)|(g|0)==(h|0)&k>>>0

>>0)while(1){f[y>>2]=0;g=hh(a,0,p,h,y,x)|0;c=f[y>>2]|0;if(!c){c=m;c=KA(f[c>>2]|0,f[c+4>>2]|0,f[n>>2]|0,0)|0;e=ba()|0;w=l;if((c|0)==(f[w>>2]|0)?(e|0)==(f[w+4>>2]|0):0){k=LA(p|0,h|0,c|0,e|0)|0;w=ba()|0;c=(f[o>>2]|0)+8|0;c=OA(k|0,w|0,c|0,((c|0)<0)<<31>>31|0)|0;ba()|0;f[y>>2]=c;w=78}else w=83}else w=78;c:do if((w|0)==78){w=0;if((g|0)==0&(c|0)!=0){i=0;while(1){e=l;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)<(h|0)|(e|0)==(h|0)&g>>>0

>>0))break;g=gh(a,l,u,1,1)|0;i=i+1|0;if(!(i>>>0>>0&(g|0)==0)){w=83;break c}}c=e}else w=83}while(0);if((w|0)==83){w=0;if(g|0){o=h;break b}g=l;c=f[g+4>>2]|0;g=f[g>>2]|0}if(!((c|0)<(h|0)|(c|0)==(h|0)&g>>>0

>>0)){g=0;o=h;break}}else{g=0;o=h}}while(0);if(q){n=r+24|0;h=f[n>>2]|0;m=(f[a+152>>2]|0)+4|0;m=QA(m|0,((m|0)<0)<<31>>31|0,h|0,0)|0;q=ba()|0;i=x;f[i>>2]=m;f[i+4>>2]=q;i=f[s>>2]|0;if(!i){if(!g)w=109}else{g=r+28|0;c=r+40|0;e=i+112|0;if((f[c>>2]|0)==(f[e>>2]|0))g=f[g>>2]|0;else{f[g>>2]=0;f[c>>2]=f[e>>2];g=0}k=i+68|0;if(g>>>0<(f[k>>2]|0)>>>0){f[k>>2]=g;f[i+76>>2]=f[r+32>>2];f[i+80>>2]=f[r+36>>2];if(g|0){h=g+33|0;c=h>>>12;m=y+4|0;if((f[i+24>>2]|0)>(c|0)?(v=f[(f[i+32>>2]|0)+(c<<2)>>2]|0,f[m>>2]=v,(v|0)!=0):0){g=v;w=98}else w=95;do if((w|0)==95)if(!(eh(i,c,m)|0)){g=f[m>>2]|0;w=98;break}else{h=f[y+8>>2]|0;e=f[y>>2]|0;break}while(0);if((w|0)==98){e=g+16384|0;f[y>>2]=e;if(!c){g=g+136|0;f[m>>2]=g;h=0}else h=(h&-4096)+-34|0;f[y+8>>2]=h;f[m>>2]=g+-4}h=(f[k>>2]|0)-h|0;g=0;do{c=e+(g<<1)|0;if((h|0)<(j[c>>1]|0))d[c>>1]=0;g=g+1|0}while((g|0)!=8192);y=(f[m>>2]|0)+(h+1<<2)|0;_A(y|0,0,e-y|0)|0}h=f[n>>2]|0;w=109}else w=109}d:do if((w|0)==109){c=a+52|0;while(1){if(h>>>0>=(f[c>>2]|0)>>>0){g=0;break d}g=gh(a,x,u,0,1)|0;if(!g)h=h+1|0;else break}}while(0)}Ug(u);if(g|0){a=g;t=z;return a|0}a=l;f[a>>2]=p;f[a+4>>2]=o;a=0;t=z;return a|0}function Mg(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=a+44|0;if(f[l>>2]|0){n=0;return n|0}m=f[a+12>>2]|0;j=m+56|0;n=f[j>>2]|0;i=f[m+72>>2]|0;g=f[i+20>>2]|0;if((d[i+28>>1]&4)!=0?(f[g+24>>2]|0)>>>0>=(f[i+24>>2]|0)>>>0:0){if(f[g+96>>2]|0){c=Ng(i)|0;e=10}}else e=6;do if((e|0)==6){c=f[g+40>>2]|0;if(c|0){n=c;return n|0}if((f[g+148>>2]|0)>>>0>(f[g+152>>2]|0)>>>0){c=Og(i)|0;e=10;break}else{c=Pg(i)|0;e=10;break}}while(0);if((e|0)==10?c|0:0){n=c;return n|0}c=n;e=6064;g=c+16|0;do{b[c>>0]=b[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));c=a+32|0;b[n+16>>0]=(f[c>>2]|0)>>>8;b[n+17>>0]=(f[c>>2]|0)>>>16;b[n+18>>0]=1;b[n+19>>0]=1;b[n+20>>0]=(f[c>>2]|0)-(f[a+36>>2]|0);b[n+21>>0]=64;b[n+22>>0]=32;b[n+23>>0]=32;c=n+24|0;g=c+76|0;do{b[c>>0]=0;c=c+1|0}while((c|0)<(g|0));g=f[j>>2]|0;i=m+52|0;j=f[i>>2]|0;k=h[m+9>>0]|0;if(!(d[j+22>>1]&12)){c=g+k|0;e=j+36|0}else{e=j+36|0;c=g+k|0;_A(c|0,0,(f[e>>2]|0)-k|0)|0}b[c>>0]=13;c=k+8|0;o=g+(k+1)|0;b[o>>0]=0;b[o+1>>0]=0;b[o+2>>0]=0;b[o+3>>0]=0;b[g+(k+7)>>0]=0;k=g+(k+5)|0;b[k>>0]=(f[e>>2]|0)>>>8;b[k+1>>0]=f[e>>2];d[m+20>>1]=(f[e>>2]|0)-c;b[m+8>>0]=1;b[m+10>>0]=0;f[m+76>>2]=149;k=f[i>>2]|0;b[m+2>>0]=1;b[m+3>>0]=1;f[m+80>>2]=189;d[m+14>>1]=d[k+28>>1]|0;d[m+16>>1]=d[k+30>>1]|0;b[m+11>>0]=b[k+21>>0]|0;d[m+18>>1]=c;f[m+60>>2]=g+(f[e>>2]|0);f[m+64>>2]=g+c;f[m+68>>2]=g;b[m+12>>0]=0;d[m+24>>1]=(f[j+32>>2]|0)+65535;d[m+22>>1]=0;b[m>>0]=1;m=a+22|0;d[m>>1]=d[m>>1]|2;m=b[a+17>>0]|0;b[n+52>>0]=0;b[n+53>>0]=0;b[n+54>>0]=0;b[n+55>>0]=m;m=b[a+18>>0]|0;b[n+64>>0]=0;b[n+65>>0]=0;b[n+66>>0]=0;b[n+67>>0]=m;f[l>>2]=1;b[n+31>>0]=1;n=0;return n|0}function Ng(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;w=t;t=t+16|0;r=w;q=f[a+20>>2]|0;s=a+24|0;i=f[s>>2]|0;u=q+96|0;e=f[u>>2]|0;if((e|0)<=0){v=0;t=w;return v|0}v=q+92|0;m=f[v>>2]|0;n=i+-1|0;l=0;a:while(1){b:do if((f[m+(l*48|0)+20>>2]|0)>>>0>=i>>>0){g=f[m+(l*48|0)+16>>2]|0;c=f[g>>2]|0;if(n>>>0>=c>>>0)break a;d=f[g+8>>2]|0;if(!d)j=n;else{j=n;k=g;do{c=(j>>>0)/(d>>>0)|0;k=f[k+12+(c<<2)>>2]|0;if(!k)break a;j=j-(U(c,d)|0)|0;d=f[k+8>>2]|0}while((d|0)!=0);g=k;c=f[k>>2]|0}if(c>>>0<4001)if(!(1<<(j&7)&h[g+12+(j>>>3)>>0]))break a;else break;k=j+1|0;c=(j>>>0)%125|0;d=f[g+12+(c<<2)>>2]|0;if(!d)break a;while(1){if((d|0)==(k|0))break b;c=((c+1|0)>>>0)%125|0;d=f[g+12+(c<<2)>>2]|0;if(!d)break a}}while(0);l=l+1|0;if((l|0)>=(e|0)){c=0;p=35;break}}if((p|0)==35){t=w;return c|0}c=b[q+5>>0]|0;do if(c<<24>>24!=2){k=q+68|0;g=f[k>>2]|0;c:do if(!(f[g>>2]|0)){do if(c<<24>>24!=4?(o=f[9338]|0,(b[q+21>>0]|0)==0):0){c=f[q>>2]|0;d=g;e=d+72|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(o|0){e=o;d=(o|0)>0?o:1020;break}c=mb[f[c+24>>2]&127](c,0,g,8222,0)|0;if(!c)break c;t=w;return c|0}else p=22;while(0);if((p|0)==22){c=f[q>>2]|0;d=g;e=d+72|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=-1;d=1020}f[g+4>>2]=d;f[g>>2]=37976;f[g+8>>2]=e;f[g+56>>2]=8222;f[g+64>>2]=0;f[g+60>>2]=c}while(0);i=f[a+4>>2]|0;j=q+52|0;d=q+152|0;e=(f[d>>2]|0)+4|0;e=QA(e|0,((e|0)<0)<<31>>31|0,f[j>>2]|0,0)|0;g=ba()|0;c=f[k>>2]|0;q=f[s>>2]|0;b[r>>0]=q>>>24;b[r+1>>0]=q>>>16;b[r+2>>0]=q>>>8;b[r+3>>0]=q;c=mb[f[(f[c>>2]|0)+12>>2]&127](c,r,4,e,g)|0;if(c|0){v=c;t=w;return v|0}a=f[k>>2]|0;q=f[d>>2]|0;r=KA(e|0,g|0,4,0)|0;c=ba()|0;c=mb[f[(f[a>>2]|0)+12>>2]&127](a,i,q,r,c)|0;if(!c){c=j;e=f[u>>2]|0;i=f[s>>2]|0;break}else{v=c;t=w;return v|0}}else c=q+52|0;while(0);f[c>>2]=(f[c>>2]|0)+1;if((e|0)<=0){v=0;t=w;return v|0}c=0;g=0;while(1){d=f[v>>2]|0;if((f[d+(g*48|0)+20>>2]|0)>>>0>>0)d=e;else{c=Wg(f[d+(g*48|0)+16>>2]|0,i)|0|c;d=f[u>>2]|0}g=g+1|0;if((g|0)>=(d|0))break;else e=d}t=w;return c|0}function Og(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+16|0;s=D;y=f[a+20>>2]|0;x=y+152|0;e=((f[y+148>>2]|0)>>>0)/((f[x>>2]|0)>>>0)|0;C=y+20|0;b[C>>0]=b[C>>0]|4;p=a+24|0;i=f[p>>2]|0;c=i+-1|0;a=0-e|0;q=c&a;B=q+1|0;a=~(c&a);c=f[y+24>>2]|0;if(i>>>0>c>>>0)A=i+1+a|0;else A=(q+e|0)>>>0>c>>>0?c+1+a|0:e;r=(A|0)>0;if(!r){B=0;A=b[C>>0]|0;A=A&-5;b[C>>0]=A;t=D;return B|0}m=y+56|0;n=y+204|0;o=y+212|0;g=0;e=0;a=i;a:while(1){l=g+B|0;b:do if(((l|0)!=(a|0)?(u=f[m>>2]|0,(u|0)!=0):0)?(v=g+q|0,w=f[u>>2]|0,v>>>0>>0):0){a=f[u+8>>2]|0;if(!a){c=v;k=u;a=w}else{i=v;j=u;do{c=(i>>>0)/(a>>>0)|0;j=f[j+12+(c<<2)>>2]|0;if(!j){z=20;break b}i=i-(U(c,a)|0)|0;a=f[j+8>>2]|0}while((a|0)!=0);c=i;k=j;a=f[j>>2]|0}c:do if(a>>>0<4001){if(!(1<<(c&7)&(h[k+12+(c>>>3)>>0]|0))){z=20;break b}}else{i=c+1|0;a=(c>>>0)%125|0;c=f[k+12+(a<<2)>>2]|0;if(!c){z=20;break b}while(1){if((c|0)==(i|0))break c;a=((a+1|0)>>>0)%125|0;c=f[k+12+(a<<2)>>2]|0;if(!c){z=20;break b}}}while(0);c=kb[f[37452>>2]&127](f[(f[o>>2]|0)+44>>2]|0,l,0)|0;if(!c){f[s>>2]=0;a=0;break}i=f[o>>2]|0;a=f[c+4>>2]|0;if(!(f[a>>2]|0)){a=ch(i,l,c)|0;f[s>>2]=a;if(!a){a=0;break}}else{l=i+12|0;f[l>>2]=(f[l>>2]|0)+1;l=a+30|0;d[l>>1]=(d[l>>1]|0)+1<<16>>16;f[s>>2]=a}l=d[a+28>>1]|0;e=(l&8)==0?e:1;if(!(l&32)){bh(a);a=0;break}else{l=f[a+20>>2]|0;k=l+120|0;f[k>>2]=(f[k>>2]|0)+-1;l=l+136|0;f[a+16>>2]=f[l>>2];f[l>>2]=a;a=0;break}}else z=20;while(0);do if((z|0)==20){z=0;if((l|0)!=((1073741824/(f[x>>2]|0)|0)+1|0)){a=lb[f[n>>2]&127](y,l,s,0)|0;if(a|0){z=22;break a}a=Pg(f[s>>2]|0)|0;c=f[s>>2]|0;l=d[c+28>>1]|0;e=(l&8)==0?e:1;if(!(l&32)){bh(c);break}else{l=f[c+20>>2]|0;k=l+120|0;f[k>>2]=(f[k>>2]|0)+-1;l=l+136|0;f[c+16>>2]=f[l>>2];f[l>>2]=c;break}}else a=0}while(0);g=g+1|0;c=(a|0)==0;if(!((g|0)<(A|0)&c))break;a=f[p>>2]|0}if((z|0)==22)c=0;if(!((e|0)!=0&c&r)){B=a;A=b[C>>0]|0;A=A&-5;b[C>>0]=A;t=D;return B|0}k=y+212|0;j=0;do{e=j+B|0;g=kb[f[37452>>2]&127](f[(f[k>>2]|0)+44>>2]|0,e,0)|0;do if(g|0){i=f[k>>2]|0;c=f[g+4>>2]|0;if(!(f[c>>2]|0)){c=ch(i,e,g)|0;if(!c)break}else{z=i+12|0;f[z>>2]=(f[z>>2]|0)+1;z=c+30|0;d[z>>1]=(d[z>>1]|0)+1<<16>>16}y=c+28|0;z=d[y>>1]|0;d[y>>1]=z|8;if(!(z&32)){bh(c);break}else{z=f[c+20>>2]|0;y=z+120|0;f[y>>2]=(f[y>>2]|0)+-1;z=z+136|0;f[c+16>>2]=f[z>>2];f[z>>2]=c;break}}while(0);j=j+1|0}while((j|0)!=(A|0));B=b[C>>0]|0;B=B&-5;b[C>>0]=B;t=D;return a|0}function Pg(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;v=t;t=t+16|0;o=v;u=f[a+20>>2]|0;s=u+16|0;c=b[s>>0]|0;if(c<<24>>24==2){r=f[u>>2]|0;c=f[u+40>>2]|0;if(c|0){a=c;t=v;return a|0}do if((f[u+216>>2]|0)==0?(l=u+5|0,(b[l>>0]|0)!=2):0){k=u+24|0;i=f[k>>2]|0;if(!(f[9328]|0)){c=ib[f[37356>>2]&255](512)|0;if(!c)q=16}else{c=ib[f[37372>>2]&255](512)|0;if((f[18194]|0)>>>0<512)f[18194]=512;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){p=f[18187]|0;j=LA(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&j>>>0<=p>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(c){e=ib[f[37368>>2]&255](c)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}else q=16}if((q|0)==16){f[u+56>>2]=0;a=7;t=v;return a|0}_A(c+4|0,0,508)|0;f[c>>2]=i;p=u+56|0;f[p>>2]=c;j=u+64|0;c=f[j>>2]|0;a:do if(!(f[c>>2]|0)){if((b[l>>0]|0)==4){j=c;k=j+72|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[c+4>>2]=1020;f[c>>2]=37976;f[c+8>>2]=-1;f[c+56>>2]=0;f[c+64>>2]=0;f[c+60>>2]=0;q=33;break}do if(!(b[u+12>>0]|0)){f[o>>2]=0;if((f[k>>2]|0)!=0?(m=f[u+60>>2]|0,n=f[m>>2]|0,(n|0)!=0):0){c=kb[f[n+40>>2]&127](m,20,o)|0;if((c|0)==12){g=2054;i=0;c=f[j>>2]|0;q=29;break}e=(c|0)==0;if(e&(f[o>>2]|0)!=0){c=1032;break a}if(e){e=f[u+172>>2]|0;c=f[j>>2]|0;j=c;k=j+72|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));g=2054;q=30}}else{g=2054;i=0;q=29}}else{i=f[9338]|0;f[o>>2]=0;g=4110;q=29}while(0);if((q|0)==29){e=f[u+172>>2]|0;j=c;k=j+72|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));if(!i)q=30;else{f[c+4>>2]=(i|0)>0?i:1020;f[c>>2]=37976;f[c+8>>2]=i;f[c+56>>2]=g;f[c+64>>2]=e;f[c+60>>2]=r;q=33;break}}if((q|0)==30)c=mb[f[r+24>>2]&127](r,e,c,g&556927,0)|0;if(!c)q=33}else q=33;while(0);if((q|0)==33){f[u+44>>2]=0;c=u+72|0;b[u+19>>0]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;c=Tg(u)|0;if(!c)break}Ug(f[p>>2]|0);f[p>>2]=0;a=c;t=v;return a|0}while(0);b[s>>0]=3;m=3}else m=c;n=a+28|0;c=d[n>>1]|0;g=c&65535;if(g&17){e=g&65519;c=e&65535;d[n>>1]=c;if(g&1){c=(e^3)&65535;d[n>>1]=c;e=f[a+12>>2]|0;f[a+36>>2]=0;g=f[e>>2]|0;f[a+32>>2]=g;if(!g){f[e+4>>2]=a;if(b[e+32>>0]|0)b[e+33>>0]=1}else f[g+36>>2]=a;f[e>>2]=a;e=e+8|0;if((c&8)==0&(f[e>>2]|0)==0)f[e>>2]=a}}j=f[u+56>>2]|0;b:do if(j){l=f[a+24>>2]|0;g=l+-1|0;e=f[j>>2]|0;c:do if(g>>>0>>0){i=f[j+8>>2]|0;if(i){k=j;do{e=(g>>>0)/(i>>>0)|0;k=f[k+12+(e<<2)>>2]|0;if(!k)break c;g=g-(U(e,i)|0)|0;i=f[k+8>>2]|0}while((i|0)!=0);j=k;e=f[k>>2]|0}if(e>>>0<4001)if(!(1<<(g&7)&h[j+12+(g>>>3)>>0]))break;else break b;i=g+1|0;e=(g>>>0)%125|0;g=f[j+12+(e<<2)>>2]|0;if(g|0)do{if((g|0)==(i|0))break b;e=((e+1|0)>>>0)%125|0;g=f[j+12+(e<<2)>>2]|0}while((g|0)!=0)}while(0);if(l>>>0>(f[u+28>>2]|0)>>>0){if(m<<24>>24==4)break;c=c|8;d[n>>1]=c;break}c=Vg(a)|0;if(!c){c=d[n>>1]|0;break}else{a=c;t=v;return a|0}}while(0);d[n>>1]=c|4;if((f[u+96>>2]|0)>0)g=Ng(a)|0;else g=0;e=u+24|0;c=f[a+24>>2]|0;if((f[e>>2]|0)>>>0>=c>>>0){a=g;t=v;return a|0}f[e>>2]=c;a=g;t=v;return a|0}function Qg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;g=c+(h[a+10>>0]|0)|0;i=b[g>>0]|0;e=i&255;if(i<<24>>24<0){d=0;e=e&127;do{d=d+1|0;i=b[g+d>>0]|0;e=e<<7|i&127}while(i<<24>>24<0&d>>>0<8);g=g+d|0;i=e}else i=e;if(!(b[a+2>>0]|0))d=g+1|0;else{d=1;do{e=d;d=d+1|0}while((b[g+e>>0]|0)<0&d>>>0<10);d=g+d|0}e=j[a+14>>1]|0;if(i>>>0>e>>>0){g=j[a+16>>1]|0;a=(((i-g|0)>>>0)%(((f[(f[a+52>>2]|0)+36>>2]|0)+-4|0)>>>0)|0)+g|0;c=(d-c&65535)+4+(a>>>0>e>>>0?g:a)|0;c=c&65535;return c|0}else{c=d-c+i|0;c=c>>>0>4?c:4;c=c&65535;return c|0}return 0}function Rg(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=b[c>>0]|0;i=n&255;if(n<<24>>24<0){g=0;i=i&127;do{g=g+1|0;n=b[c+g>>0]|0;i=i<<7|n&127}while(n<<24>>24<0&g>>>0<8);n=c+g|0}else n=c;g=n+1|0;m=b[g>>0]|0;j=m&255;do if(m<<24>>24<0){j=WA(j|0,0,7)|0;ba()|0;g=n+2|0;m=b[g>>0]|0;j=j&16256|m&127;if(m<<24>>24<=-1){k=2;g=1;l=0;while(1){if(g>>>0>6){m=10;break}j=WA(j|0,l|0,7)|0;l=ba()|0;g=k+1|0;m=b[n+g>>0]|0;j=j|m&127;if(m<<24>>24>-1){m=11;break}else{m=k;k=g;g=m}}if((m|0)==10){m=WA(j|0,l|0,8)|0;l=ba()|0;j=n+k+1|0;g=j;j=m|(h[j>>0]|0);break}else if((m|0)==11){g=n+g|0;break}}else l=0}else l=0;while(0);k=g+1|0;g=e;f[g>>2]=j;f[g+4>>2]=l;f[e+12>>2]=i;f[e+8>>2]=k;g=d[a+14>>1]|0;if(i>>>0>(g&65535)>>>0){Sg(g,d[a+16>>1]|0,f[(f[a+52>>2]|0)+36>>2]|0,c,e);return}else{c=k-c+i|0;d[e+18>>1]=(c&65532|0)==0?4:c&65535;d[e+16>>1]=i;return}}function Sg(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0;h=b&65535;c=((((f[g+12>>2]|0)-h|0)>>>0)%((c+-4|0)>>>0)|0)+h|0;a=(c|0)>(a&65535|0);d[g+16>>1]=a?b:c&65535;d[g+18>>1]=4-e+((f[g+8>>2]|0)+(a?h:c&65535));return}function Tg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f[a+208>>2]|0;j=a+152|0;m=f[j>>2]|0;l=a+148|0;i=f[l>>2]|0;m=m>>>0>i>>>0?i:m;h=f[a+96>>2]|0;if((h|0)>0){d=f[a+92>>2]|0;e=a+72|0;c=0;do{g=d+(c*48|0)+8|0;n=g;if((f[n>>2]|0)==0&(f[n+4>>2]|0)==0){p=e;o=f[p+4>>2]|0;n=g;f[n>>2]=f[p>>2];f[n+4>>2]=o}c=c+1|0}while((c|0)<(h|0));g=e}else g=a+72|0;d=g;c=f[d>>2]|0;d=f[d+4>>2]|0;if((c|0)==0&(d|0)==0){c=0;d=0}else{c=KA(c|0,d|0,-1,-1)|0;c=OA(c|0,ba()|0,i|0,0)|0;c=KA(c|0,ba()|0,1,0)|0;c=QA(c|0,ba()|0,i|0,0)|0;d=ba()|0}p=g;f[p>>2]=c;f[p+4>>2]=d;p=a+80|0;f[p>>2]=c;f[p+4>>2]=d;if(((b[a+7>>0]|0)==0?(b[a+5>>0]|0)!=4:0)?(p=f[a+60>>2]|0,((ib[f[(f[p>>2]|0)+48>>2]&255](p)|0)&512|0)==0):0){c=k;d=c+12|0;do{b[c>>0]=0;c=c+1|0}while((c|0)<(d|0))}else{p=k;o=p;b[o>>0]=-117058087;b[o+1>>0]=-117058087>>8;b[o+2>>0]=-117058087>>16;b[o+3>>0]=-117058087>>24;p=p+4|0;b[p>>0]=-681336544;b[p+1>>0]=-681336544>>8;b[p+2>>0]=-681336544>>16;b[p+3>>0]=-681336544>>24;p=k+8|0;b[p>>0]=-1;b[p+1>>0]=-1>>8;b[p+2>>0]=-1>>16;b[p+3>>0]=-1>>24}e=a+48|0;zd(4,e);e=f[e>>2]|0;b[k+12>>0]=e>>>24;b[k+13>>0]=e>>>16;b[k+14>>0]=e>>>8;b[k+15>>0]=e;e=f[a+28>>2]|0;b[k+16>>0]=e>>>24;b[k+17>>0]=e>>>16;b[k+18>>0]=e>>>8;b[k+19>>0]=e;e=f[l>>2]|0;b[k+20>>0]=e>>>24;b[k+21>>0]=e>>>16;b[k+22>>0]=e>>>8;b[k+23>>0]=e;e=f[j>>2]|0;b[k+24>>0]=e>>>24;b[k+25>>0]=e>>>16;b[k+26>>0]=e>>>8;b[k+27>>0]=e;_A(k+28|0,0,m+-28|0)|0;e=a+64|0;d=0;while(1){if(d>>>0>=(f[l>>2]|0)>>>0){c=0;d=17;break}n=f[e>>2]|0;c=g;c=mb[f[(f[n>>2]|0)+12>>2]&127](n,k,m,f[c>>2]|0,f[c+4>>2]|0)|0;n=g;n=KA(f[n>>2]|0,f[n+4>>2]|0,m|0,0)|0;o=ba()|0;p=g;f[p>>2]=n;f[p+4>>2]=o;if(!c)d=d+m|0;else{d=17;break}}if((d|0)==17)return c|0;return 0}function Ug(a){a=a|0;var b=0,c=0;if(!a)return;if(f[a+8>>2]|0){c=a+12|0;b=0;do{Ug(f[c+(b<<2)>>2]|0);b=b+1|0}while((b|0)!=125)}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Vg(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;u=t;t=t+16|0;p=u;s=f[a+20>>2]|0;r=s+72|0;g=r;n=f[g>>2]|0;g=f[g+4>>2]|0;o=f[a+4>>2]|0;c=f[s+48>>2]|0;q=s+152|0;e=f[q>>2]|0;if((e|0)>200)do{m=e;e=e+-200|0;c=c+(h[o+e>>0]|0)|0}while((m|0)>400);l=a+28|0;d[l>>1]=d[l>>1]|8;l=s+64|0;e=f[l>>2]|0;m=a+24|0;a=f[m>>2]|0;b[p>>0]=a>>>24;i=p+1|0;b[i>>0]=a>>>16;j=p+2|0;b[j>>0]=a>>>8;k=p+3|0;b[k>>0]=a;e=mb[f[(f[e>>2]|0)+12>>2]&127](e,p,4,n,g)|0;if(e|0){s=e;t=u;return s|0}v=f[l>>2]|0;e=f[q>>2]|0;a=KA(n|0,g|0,4,0)|0;g=ba()|0;e=mb[f[(f[v>>2]|0)+12>>2]&127](v,o,e,a,g)|0;if(e|0){v=e;t=u;return v|0}n=f[l>>2]|0;o=f[q>>2]|0;o=KA(a|0,g|0,o|0,((o|0)<0)<<31>>31|0)|0;v=ba()|0;b[p>>0]=c>>>24;b[i>>0]=c>>>16;b[j>>0]=c>>>8;b[k>>0]=c;c=mb[f[(f[n>>2]|0)+12>>2]&127](n,p,4,o,v)|0;if(c|0){v=c;t=u;return v|0}k=(f[q>>2]|0)+8|0;j=r;k=KA(f[j>>2]|0,f[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;j=ba()|0;l=r;f[l>>2]=k;f[l+4>>2]=j;l=s+44|0;f[l>>2]=(f[l>>2]|0)+1;l=Wg(f[s+56>>2]|0,f[m>>2]|0)|0;j=f[m>>2]|0;k=s+96|0;e=f[k>>2]|0;if((e|0)>0){i=s+92|0;c=0;g=0;do{a=f[i>>2]|0;if((f[a+(g*48|0)+20>>2]|0)>>>0>=j>>>0){c=Wg(f[a+(g*48|0)+16>>2]|0,j)|0|c;e=f[k>>2]|0}g=g+1|0}while((g|0)<(e|0))}else c=0;v=c|l;t=u;return v|0}function Wg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;if(!a){m=0;return m|0}c=c+-1|0;a:do if((f[a>>2]|0)>>>0>4e3){l=a;j=a;while(1){i=f[l+8>>2]|0;if(!i)break;g=(c>>>0)/(i>>>0)|0;c=c-(U(g,i)|0)|0;g=l+12+(g<<2)|0;a=f[g>>2]|0;if(!a){if(!(f[9328]|0)){a=ib[f[37356>>2]&255](512)|0;if(!a){m=17;break}}else{a=ib[f[37372>>2]&255](512)|0;if((f[18194]|0)>>>0<512)f[18194]=512;e=71896;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){l=f[18187]|0;k=LA(d|0,e|0,a|0,((a|0)<0)<<31>>31|0)|0;j=ba()|0;f[17976]=((j|0)<0|(j|0)==0&k>>>0<=l>>>0)&1}a=ib[f[37356>>2]&255](a)|0;if(!a){m=17;break}d=ib[f[37368>>2]&255](a)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d}_A(a+4|0,0,508)|0;f[a>>2]=i;f[g>>2]=a}if((f[a>>2]|0)>>>0>4e3){l=a;j=a}else break a}if((m|0)==17){f[g>>2]=0;m=7;return m|0}i=l+8|0;k=c+1|0;a=(c>>>0)%125|0;g=l+12|0;d=l+12+(a<<2)|0;c=f[d>>2]|0;if(!c){a=l+4|0;c=f[a>>2]|0;if(c>>>0<124)m=46}else{d=a;do{if((c|0)==(k|0)){c=0;m=47;break}c=d+1|0;d=c>>>0>124?0:c;c=f[l+12+(d<<2)>>2]|0}while((c|0)!=0);if((m|0)==47)return c|0;a=l+4|0;c=f[a>>2]|0;if(c>>>0<=61){d=l+12+(d<<2)|0;m=46}}if((m|0)==46){f[a>>2]=c+1;f[d>>2]=k;m=0;return m|0}if(!(f[9328]|0)){c=ib[f[37356>>2]&255](500)|0;if(!c){m=7;return m|0}else e=c}else{a=ib[f[37372>>2]&255](500)|0;if((f[18194]|0)>>>0<500)f[18194]=500;c=71896;d=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&d>>>0>0){m=f[18187]|0;e=LA(d|0,c|0,a|0,((a|0)<0)<<31>>31|0)|0;d=ba()|0;f[17976]=((d|0)<0|(d|0)==0&e>>>0<=m>>>0)&1}a=ib[f[37356>>2]&255](a)|0;if(!a){m=7;return m|0}c=ib[f[37368>>2]&255](a)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0){f[18196]=c;e=a}else e=a}YA(e|0,g|0,500)|0;_A(g|0,0,500)|0;f[i>>2]=(((f[j>>2]|0)+124|0)>>>0)/125|0;c=Wg(l,k)|0;d=0;do{a=f[e+(d<<2)>>2]|0;if(a)c=Wg(l,a)|0|c;d=d+1|0}while((d|0)!=125);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);m=c;return m|0}else{m=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);m=c;return m|0}}while(0);m=a+12+(c>>>3)|0;b[m>>0]=1<<(c&7)|(h[m>>0]|0);m=0;return m|0}function Xg(a){a=a|0;var b=0,c=0,d=0;c=a+16|0;a=f[c>>2]|0;if(!a){f[c>>2]=0;return 0}do{b=a;a=f[a>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](b);else{d=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b)}}while((a|0)!=0);f[c>>2]=0;return 0}function Yg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=a+40|0;k=l;a:do if((d|0)==0&(e|0)==0|((f[k>>2]|0)!=(d|0)?1:(f[k+4>>2]|0)!=(e|0))){g=f[a+16>>2]|0;if(!g)g=0;else{j=f[a+4>>2]|0;k=((j|0)<0)<<31>>31;h=0;i=0;while(1){h=KA(h|0,i|0,j|0,k|0)|0;i=ba()|0;if((i|0)>(e|0)|(i|0)==(e|0)&h>>>0>d>>>0)break a;g=f[g>>2]|0;if(!g){g=0;break}}}}else g=f[a+48>>2]|0;while(0);k=a+4|0;i=f[k>>2]|0;j=RA(d|0,e|0,i|0,((i|0)<0)<<31>>31|0)|0;ba()|0;i=i-j|0;h=(i|0)>(c|0)?c:i;YA(b|0,g+4+j|0,h|0)|0;i=c-i|0;b:do if((i|0)>-1){j=b;do{g=f[g>>2]|0;if(!((i|0)!=0&(g|0)!=0))break b;j=j+h|0;b=f[k>>2]|0;h=(i|0)<(b|0)?i:b;YA(j|0,g+4|0,h|0)|0;i=i-b|0}while((i|0)>-1)}while(0);b=(g|0)==0;d=KA(c|0,((c|0)<0)<<31>>31|0,d|0,e|0)|0;e=ba()|0;f[l>>2]=b?0:d;f[l+4>>2]=b?0:e;f[a+48>>2]=g;return 0}function Zg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;J=t;t=t+32|0;H=J;I=a+8|0;g=f[I>>2]|0;if((g|0)>0?(G=KA(c|0,((c|0)<0)<<31>>31|0,d|0,e|0)|0,E=ba()|0,F=((g|0)<0)<<31>>31,(E|0)>(F|0)|(E|0)==(F|0)&G>>>0>g>>>0):0){m=f[a>>2]|0;u=a+4|0;v=f[u>>2]|0;E=I;D=f[E>>2]|0;E=f[E+4>>2]|0;w=a+16|0;g=f[w>>2]|0;x=a+20|0;y=f[x>>2]|0;z=a+24|0;G=z;F=f[G>>2]|0;G=f[G+4>>2]|0;A=a+32|0;f[H>>2]=f[A>>2];f[H+4>>2]=f[A+4>>2];f[H+8>>2]=f[A+8>>2];f[H+12>>2]=f[A+12>>2];f[H+16>>2]=f[A+16>>2];f[H+20>>2]=f[A+20>>2];B=a+56|0;C=f[B>>2]|0;n=a+60|0;o=f[n>>2]|0;p=a+64|0;q=f[p>>2]|0;r=a+68|0;s=f[r>>2]|0;h=a;i=h+72|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));h=mb[f[o+24>>2]&127](o,q,a,C&556927,0)|0;a:do if(!h){if(g|0){i=v;j=g;k=0;l=0;do{K=KA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;L=ba()|0;h=LA(F|0,G|0,k|0,l|0)|0;ba()|0;i=(L|0)>(G|0)|(L|0)==(G|0)&K>>>0>F>>>0?h:i;h=mb[f[(f[a>>2]|0)+12>>2]&127](a,j+4|0,i,k,l)|0;if(h|0){i=a;break a}k=KA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;l=ba()|0;j=f[j>>2]|0}while((j|0)!=0);do{h=g;g=f[g>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](h);else{L=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h)}}while((g|0)!=0)}L=mb[f[(f[a>>2]|0)+12>>2]&127](a,b,c,d,e)|0;t=J;return L|0}else i=a;while(0);j=f[i>>2]|0;if(j|0){ib[f[j+4>>2]&255](a)|0;f[i>>2]=0}f[a>>2]=m;f[u>>2]=v;L=I;f[L>>2]=D;f[L+4>>2]=E;f[w>>2]=g;f[x>>2]=y;L=z;f[L>>2]=F;f[L+4>>2]=G;f[A>>2]=f[H>>2];f[A+4>>2]=f[H+4>>2];f[A+8>>2]=f[H+8>>2];f[A+12>>2]=f[H+12>>2];f[A+16>>2]=f[H+16>>2];f[A+20>>2]=f[H+20>>2];f[B>>2]=C;f[n>>2]=o;f[p>>2]=q;f[r>>2]=s;L=h;t=J;return L|0}b:do if((c|0)>0){m=a+24|0;n=a+32|0;o=a+4|0;p=a+16|0;i=m;l=c;h=f[i>>2]|0;i=f[i+4>>2]|0;while(1){g=f[n>>2]|0;j=f[o>>2]|0;i=RA(h|0,i|0,j|0,((j|0)<0)<<31>>31|0)|0;ba()|0;k=j-i|0;k=(l|0)<(k|0)?l:k;if(!i){h=Fd(j+4|0)|0;if(!h){g=3082;break}f[h>>2]=0;if(!g)f[p>>2]=h;else f[g>>2]=h;f[n>>2]=h;g=h}YA(g+4+i|0,b|0,k|0)|0;l=l-k|0;h=m;h=KA(f[h>>2]|0,f[h+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;i=ba()|0;L=m;f[L>>2]=h;f[L+4>>2]=i;if((l|0)<=0)break b;else b=b+k|0}t=J;return g|0}while(0);f[a+12>>2]=d+c;L=0;t=J;return L|0}function _g(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(!((b|0)==0&(c|0)==0))return 0;d=a+16|0;b=f[d>>2]|0;if(b|0)do{c=b;b=f[b>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((b|0)!=0);f[d>>2]=0;f[a+12>>2]=0;f[a+32>>2]=0;e=a+24|0;f[e>>2]=0;f[e+4>>2]=0;f[a+48>>2]=0;e=a+40|0;f[e>>2]=0;f[e+4>>2]=0;return 0}function $g(a,b){a=a|0;b=b|0;return 0}function ah(a,b){a=a|0;b=b|0;var c=0;c=a+24|0;a=f[c+4>>2]|0;f[b>>2]=f[c>>2];f[b+4>>2]=a;return 0}function bh(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=f[a+12>>2]|0;m=k+12|0;f[m>>2]=(f[m>>2]|0)+-1;m=a+30|0;n=(d[m>>1]|0)+-1<<16>>16;d[m>>1]=n;if(n<<16>>16)return;m=d[a+28>>1]|0;if(m&1){if(!(b[k+32>>0]|0))return;qb[f[37456>>2]&255](f[k+44>>2]|0,f[a>>2]|0,0);return}n=k+8|0;c=f[n>>2]|0;j=a+36|0;g=f[j>>2]|0;if((c|0)==(a|0)){f[n>>2]=g;l=g}else l=c;i=a+32|0;e=f[i>>2]|0;h=(e|0)==0;if(h){f[k+4>>2]=g;c=g}else{f[e+36>>2]=g;c=f[j>>2]|0}do if(!c){f[k>>2]=e;if(h){b[k+33>>0]=2;f[j>>2]=0;f[i>>2]=0;c=k;g=16;break}else{f[j>>2]=0;c=k;g=15;break}}else{f[c+32>>2]=e;e=f[k>>2]|0;f[j>>2]=0;f[i>>2]=e;if(!e){c=k;g=16}else{c=k;g=15}}while(0);if((g|0)==15)f[e+36>>2]=a;else if((g|0)==16){f[k+4>>2]=a;if(b[k+32>>0]|0)b[k+33>>0]=1}f[c>>2]=a;if(!((m&8)==0&(l|0)==0))return;f[n>>2]=a;return}function ch(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0;g=e+4|0;h=f[g>>2]|0;do{i=h+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[h>>2]=e;f[h+4>>2]=f[e>>2];i=h+40|0;f[h+8>>2]=i;j=i;b[j>>0]=0;b[j+1>>0]=0;b[j+2>>0]=0;b[j+3>>0]=0;i=i+4|0;b[i>>0]=0;b[i+1>>0]=0;b[i+2>>0]=0;b[i+3>>0]=0;f[h+12>>2]=a;f[h+24>>2]=c;d[h+28>>1]=1;h=f[g>>2]|0}while(!(f[h>>2]|0));j=a+12|0;f[j>>2]=(f[j>>2]|0)+1;j=h+30|0;d[j>>1]=(d[j>>1]|0)+1<<16>>16;return h|0}function dh(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=a+212|0;h=kb[f[37452>>2]&127](f[(f[e>>2]|0)+44>>2]|0,c,0)|0;do if(!h)g=0;else{e=f[e>>2]|0;g=f[h+4>>2]|0;if(!(f[g>>2]|0)){e=ch(e,c,h)|0;if(!e){g=0;break}g=e;e=d[e+30>>1]|0}else{k=e+12|0;f[k>>2]=(f[k>>2]|0)+1;k=g+30|0;e=(d[k>>1]|0)+1<<16>>16;d[k>>1]=e}if(e<<16>>16!=1){e=mh(g)|0;if(!e){ob[f[a+200>>2]&127](g);if(!(d[g+28>>1]&32)){bh(g);g=0;break}else{k=f[g+20>>2]|0;j=k+120|0;f[j>>2]=(f[j>>2]|0)+-1;k=k+136|0;f[g+16>>2]=f[k>>2];f[k>>2]=g;g=0;break}}else if(!(d[g+28>>1]&32)){bh(g);g=e;break}else{k=f[g+20>>2]|0;j=k+120|0;f[j>>2]=(f[j>>2]|0)+-1;k=k+136|0;f[g+16>>2]=f[k>>2];f[k>>2]=g;g=e;break}}k=f[g+12>>2]|0;do if(d[g+28>>1]&2){e=k+8|0;c=g+36|0;h=f[c>>2]|0;if((f[e>>2]|0)==(g|0))f[e>>2]=h;i=f[g+32>>2]|0;j=(i|0)==0;if(j){f[k+4>>2]=h;e=h}else{f[i+36>>2]=h;e=f[c>>2]|0}if(e|0){f[e+32>>2]=i;break}f[k>>2]=i;if(j)b[k+33>>0]=2}while(0);j=k+12|0;f[j>>2]=(f[j>>2]|0)+-1;qb[f[37456>>2]&255](f[k+44>>2]|0,f[g>>2]|0,1);g=0}while(0);e=f[a+88>>2]|0;if(!e)return g|0;do{f[e+16>>2]=1;e=f[e+44>>2]|0}while((e|0)!=0);return g|0}function eh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0;g=a+24|0;do if((f[g>>2]|0)<=(c|0)){i=c+1|0;j=a+32|0;k=f[j>>2]|0;if((Mc()|0)==0?(e=i<<2,e=Nc(k,e,((e|0)<0)<<31>>31)|0,e|0):0){k=f[g>>2]|0;_A(e+(k<<2)|0,0,i-k<<2|0)|0;f[j>>2]=e;f[g>>2]=i;break}f[d>>2]=0;d=7;return d|0}while(0);if((b[a+43>>0]|0)!=2){g=f[a+4>>2]|0;e=a+32|0;g=mb[f[(f[g>>2]|0)+52>>2]&127](g,c,32768,h[a+44>>0]|0,(f[e>>2]|0)+(c<<2)|0)|0;i=a+46|0;if((g&255|0)==8){b[i>>0]=b[i>>0]|2;g=(g|0)==8?0:g}}else{if(!(f[9328]|0)){e=ib[f[37356>>2]&255](32768)|0;if(!e)e=0;else l=18}else{e=ib[f[37372>>2]&255](32768)|0;if((f[18194]|0)>>>0<32768)f[18194]=32768;i=71896;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){k=f[18187]|0;j=LA(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;i=ba()|0;f[17976]=((i|0)<0|(i|0)==0&j>>>0<=k>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(e){g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;l=18}else l=18}else e=0}if((l|0)==18)_A(e|0,0,32768)|0;a=a+32|0;f[(f[a>>2]|0)+(c<<2)>>2]=e;g=(f[(f[a>>2]|0)+(c<<2)>>2]|0)==0?7:0;e=a}f[d>>2]=f[(f[e>>2]|0)+(c<<2)>>2];d=g;return d|0}function fh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+176|0;m=o+128|0;n=o;d=f[a>>2]|0;c=(d|0)==0;if(!c){a=d;do{l=a;a=f[a+32>>2]|0;f[l+16>>2]=a}while((a|0)!=0);a=n;b=a+128|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if(c)a=0;else{l=m+16|0;j=m+16|0;k=n+124|0;do{h=d+16|0;a=d;d=f[h>>2]|0;f[h>>2]=0;h=0;while(1){i=n+(h<<2)|0;b=f[i>>2]|0;if(!b){b=9;break}c=m;g=b;a:while(1){e=f[g+24>>2]|0;b=c;while(1){b=b+16|0;if(e>>>0<(f[a+24>>2]|0)>>>0)break;f[b>>2]=a;b=f[a+16>>2]|0;if(!b){b=a;a=g;break a}else{c=a;a=b;b=c}}f[b>>2]=g;b=f[g+16>>2]|0;if(!b){b=g;break}else{c=g;g=b}}f[b+16>>2]=a;a=f[l>>2]|0;f[i>>2]=0;h=h+1|0;if(h>>>0>=31){b=16;break}}if((b|0)==9)f[i>>2]=a;else if((b|0)==16?(0,(h|0)==31):0){b=m;e=f[k>>2]|0;b:while(1){c=f[e+24>>2]|0;while(1){b=b+16|0;if(c>>>0<(f[a+24>>2]|0)>>>0)break;f[b>>2]=a;b=f[a+16>>2]|0;if(!b){b=a;a=e;break b}else{i=a;a=b;b=i}}f[b>>2]=e;b=f[e+16>>2]|0;if(!b){b=e;break}else{i=e;e=b;b=i}}f[b+16>>2]=a;f[k>>2]=f[j>>2]}}while((d|0)!=0);a=f[n>>2]|0}}else{a=n;b=a+128|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));a=0}g=m+16|0;e=1;do{b=f[n+(e<<2)>>2]|0;if(b)if(!a)a=b;else{c=m;c:while(1){d=f[a+24>>2]|0;while(1){c=c+16|0;if(d>>>0<(f[b+24>>2]|0)>>>0)break;f[c>>2]=b;c=f[b+16>>2]|0;if(!c){c=b;break c}else{l=b;b=c;c=l}}f[c>>2]=a;c=f[a+16>>2]|0;if(!c){c=a;a=b;break}else{l=a;a=c;c=l}}f[c+16>>2]=a;a=f[g>>2]|0}e=e+1|0}while((e|0)!=32);t=o;return a|0}function gh(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=t;t=t+16|0;w=K+4|0;J=K;I=f[a+208>>2]|0;D=(g|0)!=0;r=f[(D?a+64|0:a+68|0)>>2]|0;k=c;k=mb[f[(f[r>>2]|0)+8>>2]&127](r,w,4,f[k>>2]|0,f[k+4>>2]|0)|0;if(k|0){J=k;t=K;return J|0}s=w+1|0;u=w+2|0;v=w+3|0;E=h[s>>0]<<16|h[w>>0]<<24|h[u>>0]<<8|h[v>>0];H=a+152|0;q=f[H>>2]|0;x=c;x=KA(f[x>>2]|0,f[x+4>>2]|0,4,0)|0;k=ba()|0;k=mb[f[(f[r>>2]|0)+8>>2]&127](r,I,q,x,k)|0;if(k|0){J=k;t=K;return J|0}k=f[H>>2]|0;p=(g<<2)+4+k|0;q=c;p=KA(f[q>>2]|0,f[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=ba()|0;x=c;f[x>>2]=p;f[x+4>>2]=q;if(!E){J=101;t=K;return J|0}if((E|0)==((1073741824/(k|0)|0)+1|0)){J=101;t=K;return J|0}if(E>>>0>(f[a+24>>2]|0)>>>0){J=0;t=K;return J|0}x=(e|0)==0;a:do if(!x?(m=E+-1|0,n=f[e>>2]|0,m>>>0>>0):0){l=f[e+8>>2]|0;if(!l){o=e;k=n}else{n=e;do{k=(m>>>0)/(l>>>0)|0;n=f[n+12+(k<<2)>>2]|0;if(!n)break a;m=m-(U(k,l)|0)|0;l=f[n+8>>2]|0}while((l|0)!=0);o=n;k=f[n>>2]|0}if(k>>>0<4001){if(!(1<<(m&7)&h[o+12+(m>>>3)>>0]))break;else k=0;t=K;return k|0}n=m+1|0;k=(m>>>0)%125|0;l=f[o+12+(k<<2)>>2]|0;if(l|0){while(1){if((l|0)==(n|0)){k=0;break}k=((k+1|0)>>>0)%125|0;l=f[o+12+(k<<2)>>2]|0;if(!l)break a}t=K;return k|0}}while(0);if(D){q=KA(p|0,q|0,-4,-1)|0;k=ba()|0;k=mb[f[(f[r>>2]|0)+8>>2]&127](r,w,4,q,k)|0;if(k|0){J=k;t=K;return J|0}m=h[s>>0]<<16|h[w>>0]<<24|h[u>>0]<<8|h[v>>0];if(!i){k=f[a+48>>2]|0;l=f[H>>2]|0;if((l|0)>200)do{i=l;l=l+-200|0;k=k+(h[I+l>>0]|0)|0}while((i|0)>400);if((k|0)!=(m|0)){J=101;t=K;return J|0}}}if(!x?(y=Wg(e,E)|0,y|0):0){J=y;t=K;return J|0}p=(E|0)==1;if(p?(z=a+142|0,A=b[I+20>>0]|0,(d[z>>1]|0)!=(A&255|0)):0)d[z>>1]=A&255;do if((f[a+216>>2]|0)==0?(B=a+212|0,C=kb[f[37452>>2]&127](f[(f[B>>2]|0)+44>>2]|0,E,0)|0,(C|0)!=0):0){k=f[B>>2]|0;l=f[C+4>>2]|0;if(!(f[l>>2]|0)){l=ch(k,E,C)|0;break}else{C=k+12|0;f[C>>2]=(f[C>>2]|0)+1;C=l+30|0;d[C>>1]=(d[C>>1]|0)+1<<16>>16;break}}else l=0;while(0);f[J>>2]=l;if(D)if(!(b[a+7>>0]|0)){D=c;C=f[D+4>>2]|0;k=a+80|0;c=f[k+4>>2]|0;k=((C|0)<(c|0)|((C|0)==(c|0)?(f[D>>2]|0)>>>0<=(f[k>>2]|0)>>>0:0))&1}else k=1;else if(!l)k=1;else k=((j[l+28>>1]|0)>>>3&1^1)&65535;m=f[a+60>>2]|0;n=f[m>>2]|0;do if(n){o=b[a+16>>0]|0;if((o&255)>3){if(!k){G=51;break}}else if(!((k|0)!=0&o<<24>>24==0)){G=51;break}F=f[H>>2]|0;k=QA(F|0,((F|0)<0)<<31>>31|0,E+-1|0,0)|0;l=ba()|0;l=mb[f[n+12>>2]&127](m,I,F,k,l)|0;k=a+32|0;if(E>>>0>(f[k>>2]|0)>>>0)f[k>>2]=E;k=f[a+88>>2]|0;if(!k)n=l;else{kh(k,E,I);n=l}}else G=51;while(0);if((G|0)==51)if((g|0)==0&(l|0)==0){G=a+20|0;b[G>>0]=b[G>>0]|2;k=lb[f[a+204>>2]&127](a,E,J,1)|0;b[G>>0]=b[G>>0]&-3;if(k|0){J=k;t=K;return J|0}n=f[J>>2]|0;l=n+28|0;k=j[l>>1]|0;if((k&17|0)!=0?(F=k&65519,d[l>>1]=F,(k&1|0)!=0):0){m=(F^3)&65535;d[l>>1]=m;k=f[n+12>>2]|0;f[n+36>>2]=0;l=f[k>>2]|0;f[n+32>>2]=l;if(!l){f[k+4>>2]=n;if(b[k+32>>0]|0)b[k+33>>0]=1}else f[l+36>>2]=n;f[k>>2]=n;k=k+8|0;if((m&8)==0&(f[k>>2]|0)==0){f[k>>2]=n;n=0}else n=0}else n=0}else n=0;k=f[J>>2]|0;if(!k){J=n;t=K;return J|0}k=f[k+4>>2]|0;YA(k|0,I|0,f[H>>2]|0)|0;ob[f[a+200>>2]&127](f[J>>2]|0);if(p){m=a+104|0;k=k+24|0;l=m+16|0;do{b[m>>0]=b[k>>0]|0;m=m+1|0;k=k+1|0}while((m|0)<(l|0))}bh(f[J>>2]|0);J=n;t=K;return J|0}function hh(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+32|0;p=u+16|0;k=u+8|0;q=u;s=a+72|0;j=s;i=f[j>>2]|0;j=f[j+4>>2]|0;if((i|0)==0&(j|0)==0){i=a+148|0;r=i;n=0;o=0;i=f[i>>2]|0;j=0}else{o=KA(i|0,j|0,-1,-1)|0;n=ba()|0;r=a+148|0;i=f[r>>2]|0;n=OA(o|0,n|0,i|0,0)|0;n=KA(n|0,ba()|0,1,0)|0;n=QA(n|0,ba()|0,i|0,0)|0;o=ba()|0;j=0}m=s;f[m>>2]=n;f[m+4>>2]=o;m=KA(n|0,o|0,i|0,j|0)|0;l=ba()|0;if((l|0)>(d|0)|(l|0)==(d|0)&m>>>0>c>>>0){s=101;t=u;return s|0}if((b|0)==0?(m=a+80|0,(n|0)==(f[m>>2]|0)?(o|0)==(f[m+4>>2]|0):0):0)c=a+64|0;else{i=a+64|0;j=f[i>>2]|0;j=mb[f[(f[j>>2]|0)+8>>2]&127](j,k,8,n,o)|0;if(j|0){s=j;t=u;return s|0}if(!(Hz(k,42612,8)|0))c=i;else{s=101;t=u;return s|0}}l=f[c>>2]|0;m=KA(n|0,o|0,8,0)|0;i=ba()|0;i=mb[f[(f[l>>2]|0)+8>>2]&127](l,p,4,m,i)|0;if(i|0){s=i;t=u;return s|0}k=p+1|0;l=p+2|0;m=p+3|0;f[e>>2]=(h[k>>0]|0)<<16|(h[p>>0]|0)<<24|(h[l>>0]|0)<<8|(h[m>>0]|0);d=f[c>>2]|0;e=KA(n|0,o|0,12,0)|0;i=ba()|0;i=mb[f[(f[d>>2]|0)+8>>2]&127](d,p,4,e,i)|0;if(i|0){s=i;t=u;return s|0}f[a+48>>2]=(h[k>>0]|0)<<16|(h[p>>0]|0)<<24|(h[l>>0]|0)<<8|(h[m>>0]|0);d=f[c>>2]|0;e=KA(n|0,o|0,16,0)|0;i=ba()|0;i=mb[f[(f[d>>2]|0)+8>>2]&127](d,p,4,e,i)|0;if(i|0){s=i;t=u;return s|0}f[g>>2]=(h[k>>0]|0)<<16|(h[p>>0]|0)<<24|(h[l>>0]|0)<<8|(h[m>>0]|0);j=s;b=f[j>>2]|0;j=f[j+4>>2]|0;a:do if((b|0)==0&(j|0)==0){e=f[c>>2]|0;g=KA(n|0,o|0,20,0)|0;i=ba()|0;i=mb[f[(f[e>>2]|0)+8>>2]&127](e,p,4,g,i)|0;do if(!i){d=(h[k>>0]|0)<<16|(h[p>>0]|0)<<24|(h[l>>0]|0)<<8|(h[m>>0]|0);g=f[c>>2]|0;o=KA(n|0,o|0,24,0)|0;i=ba()|0;i=mb[f[(f[g>>2]|0)+8>>2]&127](g,p,4,o,i)|0;if(i|0)break;i=(h[k>>0]|0)<<16|(h[p>>0]|0)<<24|(h[l>>0]|0)<<8|(h[m>>0]|0);f[q>>2]=i;if(!i){i=f[a+152>>2]|0;f[q>>2]=i}if((!((d+-32|0)>>>0>65504|(i+-512|0)>>>0>65024)?(i+-1&i|0)==0:0)?(d+-1&d|0)==0:0){c=ih(a,q,-1)|0;f[r>>2]=d;j=s;b=f[j>>2]|0;j=f[j+4>>2]|0;i=d;break a}else i=101}while(0);s=i;t=u;return s|0}else{c=0;i=f[r>>2]|0}while(0);q=KA(b|0,j|0,i|0,0)|0;r=ba()|0;f[s>>2]=q;f[s+4>>2]=r;s=c;t=u;return s|0}function ih(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;r=t;t=t+16|0;o=r;p=f[c>>2]|0;if(!((b[a+15>>0]|0)!=0?(f[a+24>>2]|0)!=0:0))l=3;a:do if(((l|0)==3?(m=a+212|0,p|0?(f[(f[m>>2]|0)+12>>2]|0)==0:0):0)?(q=a+152|0,(p|0)!=(f[q>>2]|0)):0){n=o;f[n>>2]=0;f[n+4>>2]=0;if(((b[a+16>>0]|0)!=0?(i=f[a+60>>2]|0,j=f[i>>2]|0,(j|0)!=0):0)?(k=jb[f[j+24>>2]&255](i,o)|0,(k|0)!=0):0)e=k;else l=8;b:do if((l|0)==8){if((f[18019]|0)>=(p|0)?(g=f[18025]|0,(g|0)!=0):0){f[18025]=f[g>>2];n=f[18026]|0;f[18026]=n+-1;f[18027]=(n|0)<=(f[18021]|0)&1;if((f[18195]|0)>>>0

>>0)f[18195]=p;i=(f[18188]|0)+1|0;f[18188]=i;if(i>>>0>(f[18192]|0)>>>0)f[18192]=i}else{n=KA(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;l=ba()|0;if(l>>>0>0|(l|0)==0&n>>>0>2147483390){e=7;break}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](p)|0;if(!g){e=7;break}}else{g=ib[f[37372>>2]&255](p)|0;if((f[18194]|0)>>>0

>>0)f[18194]=p;j=71896;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){n=f[18187]|0;l=LA(i|0,j|0,g|0,((g|0)<0)<<31>>31|0)|0;k=ba()|0;f[17976]=((k|0)<0|(k|0)==0&l>>>0<=n>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){e=7;break}i=ib[f[37368>>2]&255](g)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}i=ib[f[37368>>2]&255](g)|0;if((f[18195]|0)>>>0

>>0)f[18195]=p;i=(f[18189]|0)+i|0;f[18189]=i;if(i>>>0>(f[18193]|0)>>>0)f[18193]=i}jh(a);k=f[m>>2]|0;m=k+24|0;do if(f[m>>2]|0){j=k+28|0;n=kb[f[37440>>2]&127](p,(f[j>>2]|0)+40|0,h[k+32>>0]|0)|0;if(n|0){l=f[9361]|0;i=f[k+16>>2]|0;if((i|0)<=-1){u=QA(i|0,((i|0)<0)<<31>>31|0,-1024,-1)|0;s=ba()|0;i=(f[j>>2]|0)+(f[m>>2]|0)|0;i=OA(u|0,s|0,i|0,((i|0)<0)<<31>>31|0)|0;ba()|0}pb[l&127](n,i);i=k+44|0;j=f[i>>2]|0;if(j|0)ob[f[37468>>2]&127](j);f[i>>2]=n;f[m>>2]=p;break}e=g;do if((f[18022]|0)>>>0<=e>>>0)if((f[18023]|0)>>>0>e>>>0){f[18188]=(f[18188]|0)+-1;f[g>>2]=f[18025];f[18025]=g;e=(f[18026]|0)+1|0;f[18026]=e;f[18027]=(e|0)<(f[18021]|0)&1;e=7;break b}else{e=ib[f[37368>>2]&255](g)|0;break}else e=ib[f[37368>>2]&255](g)|0;while(0);f[18189]=(f[18189]|0)-e;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);e=7;break b}else{e=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);e=7;break b}}while(0);j=a+208|0;k=f[j>>2]|0;c:do if(k|0){i=k;do if((f[18022]|0)>>>0<=i>>>0)if((f[18023]|0)>>>0>i>>>0){f[18188]=(f[18188]|0)+-1;f[k>>2]=f[18025];f[18025]=k;u=(f[18026]|0)+1|0;f[18026]=u;f[18027]=(u|0)<(f[18021]|0)&1;break c}else{i=ib[f[37368>>2]&255](k)|0;break}else i=ib[f[37368>>2]&255](k)|0;while(0);f[18189]=(f[18189]|0)-i;if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{u=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);f[j>>2]=g;u=o;s=f[u>>2]|0;u=f[u+4>>2]|0;o=KA(p|0,0,-1,-1)|0;u=KA(o|0,ba()|0,s|0,u|0)|0;u=OA(u|0,ba()|0,p|0,0)|0;ba()|0;f[a+24>>2]=u;f[q>>2]=p;break a}while(0);f[c>>2]=f[q>>2];u=e;t=r;return u|0}while(0);f[c>>2]=f[a+152>>2];g=a+142|0;if((e|0)<0)e=d[g>>1]|0;d[g>>1]=e;u=0;t=r;return u|0}function jh(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+100|0;f[c>>2]=(f[c>>2]|0)+1;c=f[a+88>>2]|0;if(c|0)do{f[c+16>>2]=1;c=f[c+44>>2]|0}while((c|0)!=0);j=f[a+212>>2]|0;k=j+44|0;if(!(f[k>>2]|0))return;c=f[j>>2]|0;if(c|0)do{h=c;c=f[c+32>>2]|0;if(f[h+24>>2]|0){i=f[h+12>>2]|0;e=i+8|0;g=h+36|0;a=f[g>>2]|0;if((f[e>>2]|0)==(h|0))f[e>>2]=a;e=(c|0)==0;if(e)f[i+4>>2]=a;else{f[c+36>>2]=a;a=f[g>>2]|0}if(!a){f[i>>2]=c;if(e)b[i+33>>0]=2}else f[a+32>>2]=c;g=h+28|0;d[g>>1]=d[g>>1]&-16|1;if((d[h+30>>1]|0)==0?b[i+32>>0]|0:0)qb[f[37456>>2]&255](f[i+44>>2]|0,f[h>>2]|0,0)}}while((c|0)!=0);if((f[j+12>>2]|0)!=0?(l=kb[f[37452>>2]&127](f[k>>2]|0,1,0)|0,(l|0)!=0):0){_A(f[l>>2]|0,0,f[j+24>>2]|0)|0;c=2}else c=1;pb[f[37464>>2]&127](f[k>>2]|0,c);return}function kh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;do{d=a+28|0;switch(f[d>>2]|0){case 6:case 0:case 5:{if((f[a+16>>2]|0)>>>0>b>>>0?(e=lh(a,b,c,1)|0,e|0):0)f[d>>2]=e;break}default:{}}a=f[a+44>>2]|0}while((a|0)!=0);return}function lh(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+16|0;x=A;y=a+4|0;q=f[(f[y>>2]|0)+4>>2]|0;w=f[q>>2]|0;v=a+24|0;r=f[(f[(f[v>>2]|0)+4>>2]|0)+32>>2]|0;q=f[q+32>>2]|0;s=(r|0)<(q|0)?r:q;u=((r|0)<0)<<31>>31;o=QA(r|0,u|0,c|0,0)|0;p=ba()|0;if((r|0)==(q|0))a=0;else a=(b[w+12>>0]|0)==0?0:8;if(!((r|0)>0&(a|0)==0)){z=a;t=A;return z|0}c=LA(o|0,p|0,r|0,u|0)|0;m=((q|0)<0)<<31>>31;n=w+204|0;l=(g|0)==0;g=ba()|0;a=q;while(1){f[x>>2]=0;j=OA(c|0,g|0,q|0,m|0)|0;k=ba()|0;do if((1073741824/(a>>>0)|0|0)!=(j|0)){a=lb[f[n>>2]&127](w,j+1|0,x,0)|0;a:do if(!a){h=f[x>>2]|0;i=f[h+20>>2]|0;if((d[h+28>>1]&4)!=0?(f[i+24>>2]|0)>>>0>=(f[h+24>>2]|0)>>>0:0)if(!(f[i+96>>2]|0))a=h;else{a=Ng(h)|0;z=15}else z=11;do if((z|0)==11){z=0;a=f[i+40>>2]|0;if(a|0)break a;if((f[i+148>>2]|0)>>>0>(f[i+152>>2]|0)>>>0){a=Og(h)|0;z=15;break}else{a=Pg(h)|0;z=15;break}}while(0);if((z|0)==15){z=0;if(a|0)break;a=f[x>>2]|0}i=RA(c|0,g|0,r|0,u|0)|0;ba()|0;h=f[a+4>>2]|0;a=QA(j|0,k|0,q|0,m|0)|0;a=LA(c|0,g|0,a|0,ba()|0)|0;ba()|0;a=h+a|0;YA(a|0,e+i|0,s|0)|0;b[f[(f[x>>2]|0)+8>>2]>>0]=0;if(l&((c|0)==0&(g|0)==0)){a=a+28|0;k=f[(f[(f[v>>2]|0)+4>>2]|0)+44>>2]|0;b[a>>0]=k>>>24;b[a+1>>0]=k>>>16;b[a+2>>0]=k>>>8;b[a+3>>0]=k;a=0}else a=0}while(0);h=f[x>>2]|0;if(h)if(!(d[h+28>>1]&32)){bh(h);break}else{k=f[h+20>>2]|0;j=k+120|0;f[j>>2]=(f[j>>2]|0)+-1;k=k+136|0;f[h+16>>2]=f[k>>2];f[k>>2]=h;break}}else a=0;while(0);c=KA(c|0,g|0,q|0,m|0)|0;g=ba()|0;if(!(((g|0)<(p|0)|(g|0)==(p|0)&c>>>0>>0)&(a|0)==0))break;a=f[(f[(f[y>>2]|0)+4>>2]|0)+32>>2]|0}t=A;return a|0}function mh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;k=t;t=t+16|0;d=k;h=f[a+20>>2]|0;f[d>>2]=0;e=h+216|0;c=f[e>>2]|0;g=a+24|0;if(c){c=nh(c,f[g>>2]|0,d)|0;if(c|0){a=c;t=k;return a|0}c=f[d>>2]|0;if(c){l=f[e>>2]|0;d=f[h+152>>2]|0;m=f[a+4>>2]|0;n=f[l+8>>2]|0;l=j[l+66>>1]|0;l=l<<16&65536|l&65024;e=QA(l|24|0,0,c+-1|0,0)|0;e=KA(e|0,ba()|0,56,0)|0;c=ba()|0;c=mb[f[(f[n>>2]|0)+8>>2]&127](n,m,(l|0)<(d|0)?l:d,e,c)|0}else i=5}else i=5;if((i|0)==5){m=f[h+152>>2]|0;n=QA((f[g>>2]|0)+-1|0,0,m|0,((m|0)<0)<<31>>31|0)|0;c=ba()|0;l=f[h+60>>2]|0;c=mb[f[(f[l>>2]|0)+8>>2]&127](l,f[a+4>>2]|0,m,n,c)|0;c=(c|0)==522?0:c}if((f[g>>2]|0)!=1){n=c;t=k;return n|0}if(!c){e=h+104|0;c=(f[a+4>>2]|0)+24|0;d=e+16|0;do{b[e>>0]=b[c>>0]|0;e=e+1|0;c=c+1|0}while((e|0)<(d|0));n=0;t=k;return n|0}else{n=h+104|0;f[n>>2]=-1;f[n+4>>2]=-1;f[n+8>>2]=-1;f[n+12>>2]=-1;n=c;t=k;return n|0}return 0}function nh(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+32|0;B=D;y=D+12|0;A=f[a+68>>2]|0;do if(A|0){if((d[a+40>>1]|0)==0?(b[a+50>>0]|0)==0:0)break;r=a+100|0;s=((f[r>>2]|0)+33|0)>>>12;g=(A+33|0)>>>12;a:do if(g>>>0>>0)g=0;else{u=y+4|0;v=a+24|0;w=a+32|0;x=y+8|0;q=c*383&8191;p=g;b:while(1){if((f[v>>2]|0)>(p|0)?(z=f[(f[w>>2]|0)+(p<<2)>>2]|0,f[u>>2]=z,(z|0)!=0):0)g=z;else{g=eh(a,p,u)|0;if(g|0)break;g=f[u>>2]|0}n=g+16384|0;f[y>>2]=n;if(!p){g=g+136|0;f[u>>2]=g;o=0}else o=(p<<12)+-34|0;f[x>>2]=o;m=g+-4|0;f[u>>2]=m;h=n+(q<<1)|0;if(d[h>>1]|0){k=8192;l=q;g=0;while(1){i=o+(j[h>>1]|0)|0;if(i>>>0<=A>>>0?i>>>0>=(f[r>>2]|0)>>>0:0)g=(f[m+(j[h>>1]<<2)>>2]|0)==(c|0)?i:g;if(!k){C=22;break b}l=l+1&8191;h=n+(l<<1)|0;if(!(d[h>>1]|0))break;else k=k+-1|0}if(g|0)break a}if((p|0)>(s|0))p=p+-1|0;else{g=0;break a}}if((C|0)==22){f[B>>2]=42469;f[B+4>>2]=60988;f[B+8>>2]=40460;Ac(11,40408,B);g=11}C=g;t=D;return C|0}while(0);f[e>>2]=g;C=0;t=D;return C|0}while(0);f[e>>2]=0;C=0;t=D;return C|0}function oh(a){a=a|0;var c=0,e=0;if(d[a+50>>1]|0)return;c=a+1|0;b[c>>0]=b[c>>0]|2;c=f[a+116>>2]|0;e=(f[c+64>>2]|0)+(j[a+70>>1]<<1)|0;qb[f[c+80>>2]&255](c,(f[c+56>>2]|0)+((h[e>>0]<<8|h[e+1>>0])&j[c+24>>1])|0,a+32|0);return}function ph(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=t;t=t+48|0;A=B+16|0;m=B;x=B+32|0;y=B+28|0;n=f[a+116>>2]|0;w=f[a+20>>2]|0;oh(a);r=f[a+40>>2]|0;p=w+36|0;q=a+48|0;l=j[q>>1]|0;if((r-(f[n+56>>2]|0)|0)>>>0>((f[p>>2]|0)-l|0)>>>0){f[m>>2]=42469;f[m+4>>2]=67612;f[m+8>>2]=40460;Ac(11,40408,m);A=11;t=B;return A|0}if(l>>>0>c>>>0){o=(e+c|0)>>>0>l>>>0?l-c|0:e;c=r+c|0;l=f[n+72>>2]|0;a:do if(!i){YA(g|0,c|0,o|0)|0;k=0}else{m=f[l+20>>2]|0;if((d[l+28>>1]&4)!=0?(f[m+24>>2]|0)>>>0>=(f[l+24>>2]|0)>>>0:0){if(f[m+96>>2]|0){k=Ng(l)|0;z=13}}else z=9;do if((z|0)==9){k=f[m+40>>2]|0;if(k|0)break a;if((f[m+148>>2]|0)>>>0>(f[m+152>>2]|0)>>>0){k=Og(l)|0;z=13;break}else{k=Pg(l)|0;z=13;break}}while(0);if((z|0)==13?k|0:0)break;YA(c|0,g|0,o|0)|0;k=0}while(0);s=0;e=e-o|0;g=g+o|0}else{s=c-l|0;k=0}do if((k|0)==0&(e|0)!=0){l=f[p>>2]|0;u=l+-4|0;k=j[q>>1]|0;o=r+k|0;o=(h[o+1>>0]|0)<<16|(h[o>>0]|0)<<24|(h[o+2>>0]|0)<<8|(h[o+3>>0]|0);f[x>>2]=o;n=a+1|0;do if(b[n>>0]&4){k=(s>>>0)/(u>>>0)|0;l=f[(f[a+12>>2]|0)+(k<<2)>>2]|0;if(!l)z=28;else{f[x>>2]=l;c=k;m=s-(U(k,u)|0)|0;z=29}}else{c=((l+-5-k+(f[a+44>>2]|0)|0)>>>0)/(u>>>0)|0;m=a+12|0;k=f[m>>2]|0;if(k){l=c<<2;r=(l|0)>(ib[f[37368>>2]&255](k)|0);k=f[m>>2]|0;if(r)z=23}else z=23;if((z|0)==23){k=Nc(k,c<<3,0)|0;if(!k){k=7;break}f[m>>2]=k;l=c<<2}_A(k|0,0,l|0)|0;b[n>>0]=b[n>>0]|4;z=28}while(0);if((z|0)==28)if(!o){k=0;z=55}else{c=0;m=s;l=o;z=29}b:do if((z|0)==29){r=a+12|0;p=(i|0)==0;q=p?2:0;o=c;while(1){k=f[r>>2]|0;f[k+(o<<2)>>2]=l;if(m>>>0>>0){n=(m+e|0)>>>0>u>>>0?u-m|0:e;k=f[w>>2]|0;k=lb[f[k+204>>2]&127](k,l,y,q)|0;do if(!k){c=f[y>>2]|0;l=f[c+4>>2]|0;f[x>>2]=(h[l+1>>0]|0)<<16|(h[l>>0]|0)<<24|(h[l+2>>0]|0)<<8|(h[l+3>>0]|0);l=l+(m+4)|0;c:do if(p){YA(g|0,l|0,n|0)|0;k=0}else{m=f[c+20>>2]|0;if((d[c+28>>1]&4)!=0?(f[m+24>>2]|0)>>>0>=(f[c+24>>2]|0)>>>0:0){if(f[m+96>>2]|0){v=Ng(c)|0;z=46}}else z=42;do if((z|0)==42){z=0;k=f[m+40>>2]|0;if(k|0)break c;if((f[m+148>>2]|0)>>>0>(f[m+152>>2]|0)>>>0){v=Og(c)|0;z=46;break}else{v=Pg(c)|0;z=46;break}}while(0);if((z|0)==46?(z=0,v|0):0){k=v;break}YA(l|0,g|0,n|0)|0;k=0}while(0);l=f[y>>2]|0;if(l)if(!(d[l+28>>1]&32)){bh(l);m=0;break}else{m=f[l+20>>2]|0;i=m+120|0;f[i>>2]=(f[i>>2]|0)+-1;m=m+136|0;f[l+16>>2]=f[m>>2];f[m>>2]=l;m=0;break}else m=0}while(0);e=e-n|0;if(!e)break b;else c=g+n|0}else{k=f[k+(o+1<<2)>>2]|0;if(!k)k=qh(w,l,0,x)|0;else{f[x>>2]=k;k=0}c=g;m=m-u|0}if(k|0){z=55;break b}l=f[x>>2]|0;if(!l){k=0;z=55;break}else{g=c;o=o+1|0}}}while(0);if((z|0)==55)break;A=k;t=B;return A|0}while(0);if(!((k|0)==0&(e|0)!=0)){A=k;t=B;return A|0}f[A>>2]=42469;f[A+4>>2]=67757;f[A+8>>2]=40460;Ac(11,40408,A);A=11;t=B;return A|0}function qh(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=t;t=t+16|0;o=s;l=s+4|0;do if(b[a+17>>0]|0){m=a+36|0;k=1073741824/((f[a+32>>2]|0)>>>0)|0;p=c;do{i=p;p=p+1|0;if(p>>>0<2)j=0;else{j=i+-1|0;j=j-((j>>>0)%(((((f[m>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;j=((j+1|0)==(k|0)?3:2)+j|0}}while((j|0)==(p|0)|(i|0)==(k|0));if(p>>>0<=(f[a+44>>2]|0)>>>0?(n=rh(a,p,l,o)|0,m=(n|0)==0,q=m&(b[l>>0]|0)==4&(f[o>>2]|0)==(c|0),q|m^1):0){k=0;j=q?101:n;i=q?p:0;break}else{r=9;break}}else r=9;while(0);do if((r|0)==9){i=f[a>>2]|0;i=lb[f[i+204>>2]&127](i,c,o,(e|0)==0?2:0)|0;if(i|0){k=0;j=i;i=0;break}i=f[o>>2]|0;k=f[i+8>>2]|0;j=k+4|0;if((f[j>>2]|0)==(c|0))i=f[k+56>>2]|0;else{r=f[i+4>>2]|0;f[k+56>>2]=r;f[k+72>>2]=i;f[k+52>>2]=a;f[j>>2]=c;b[k+9>>0]=(c|0)==1?100:0;i=r}j=0;i=h[i+1>>0]<<16|h[i>>0]<<24|h[i+2>>0]<<8|h[i+3>>0]}while(0);f[g>>2]=i;if(e|0){f[e>>2]=k;g=(j|0)==101;g=g?0:j;t=s;return g|0}if(!k){g=(j|0)==101;g=g?0:j;t=s;return g|0}i=f[k+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);g=(j|0)==101;g=g?0:j;t=s;return g|0}else{g=f[i+20>>2]|0;e=g+120|0;f[e>>2]=(f[e>>2]|0)+-1;g=g+136|0;f[i+16>>2]=f[g>>2];f[g>>2]=i;g=(j|0)==101;g=g?0:j;t=s;return g|0}return 0}function rh(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+32|0;n=o+16|0;m=o;i=o+28|0;if(c>>>0<2)l=0;else{l=c+-2|0;l=l-((l>>>0)%(((((f[a+36>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;l=((l+1|0)==(1073741824/((f[a+32>>2]|0)>>>0)|0|0)?3:2)+l|0}a=f[a>>2]|0;a=lb[f[a+204>>2]&127](a,l,i,0)|0;if(a|0){n=a;t=o;return n|0}k=f[i>>2]|0;j=f[k+4>>2]|0;a=(c-l|0)*5|0;i=a+-5|0;if((i|0)<0){do if(k|0)if(!(d[k+28>>1]&32)){bh(k);break}else{n=f[k+20>>2]|0;g=n+120|0;f[g>>2]=(f[g>>2]|0)+-1;n=n+136|0;f[k+16>>2]=f[n>>2];f[n>>2]=k;break}while(0);f[m>>2]=42469;f[m+4>>2]=63979;f[m+8>>2]=40460;Ac(11,40408,m);n=11;t=o;return n|0}b[e>>0]=b[j+i>>0]|0;if(g|0){m=j+(a+-4)|0;f[g>>2]=(h[m+1>>0]|0)<<16|(h[m>>0]|0)<<24|(h[m+2>>0]|0)<<8|(h[m+3>>0]|0)}do if(k|0)if(!(d[k+28>>1]&32)){bh(k);break}else{m=f[k+20>>2]|0;g=m+120|0;f[g>>2]=(f[g>>2]|0)+-1;m=m+136|0;f[k+16>>2]=f[m>>2];f[m>>2]=k;break}while(0);if(((b[e>>0]|0)+-1&255)<=4){n=0;t=o;return n|0}f[n>>2]=42469;f[n+4>>2]=63987;f[n+8>>2]=40460;Ac(11,40408,n);n=11;t=o;return n|0}function sh(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=t;t=t+16|0;x=C;B=a+16|0;if((h[B>>0]|0)<2?(h[a+17>>0]|0)<2:0){B=0;t=C;return B|0}l=a+96|0;if((f[l>>2]|0)>0){k=a+92|0;i=0;do{Ug(f[(f[k>>2]|0)+(i*48|0)+16>>2]|0);i=i+1|0}while((i|0)<(f[l>>2]|0))}A=a+4|0;k=f[a+68>>2]|0;i=f[k>>2]|0;if(!(b[A>>0]|0)){if(i|0)z=9}else if((i|0)==37976){i=37976;z=9}if((z|0)==9){ib[f[i+4>>2]&255](k)|0;f[k>>2]=0}i=a+92|0;k=f[i>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{s=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[i>>2]=0;f[l>>2]=0;f[a+52>>2]=0;n=a+64|0;o=f[n>>2]|0;m=f[o>>2]|0;a:do if(!m)i=0;else{if((m|0)==37976){l=o+16|0;i=f[l>>2]|0;if(i|0)do{k=i;i=f[i>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{s=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}}while((i|0)!=0);f[l>>2]=0;f[o>>2]=0;i=0;break}i=b[a+5>>0]|0;switch(i<<24>>24){case 3:{k=a+72|0;s=k;if(!((f[s>>2]|0)==0&(f[s+4>>2]|0)==0)){i=kb[f[m+16>>2]&127](o,0,0)|0;if(!i)if((b[a+8>>0]|0)!=0?(p=f[n>>2]|0,q=b[a+10>>0]|0,q<<24>>24!=0):0)i=jb[f[(f[p>>2]|0)+20>>2]&255](p,q&255)|0;else i=0}else i=0;s=k;f[s>>2]=0;f[s+4>>2]=0;break a}case 1:break;default:if(i<<24>>24==5|(b[A>>0]|0)==0){s=(b[a+12>>0]|0)==0;ib[f[m+4>>2]&255](o)|0;f[o>>2]=0;if(!s){i=0;break a}i=f[a>>2]|0;i=kb[f[i+28>>2]&127](i,f[a+172>>2]|0,h[a+9>>0]|0)|0;break a}}if(!c)i=(b[a+12>>0]|0)!=0&1;else i=1;c=a+72|0;s=c;if(!((f[s>>2]|0)==0&(f[s+4>>2]|0)==0)){l=a+160|0;k=f[l>>2]|0;l=f[l+4>>2]|0;if((i|0)!=0|(k|0)==0&(l|0)==0)i=kb[f[m+16>>2]&127](o,0,0)|0;else i=mb[f[m+12>>2]&127](o,71840,28,0,0)|0;if(!i){if(!(b[a+7>>0]|0)){i=f[n>>2]|0;i=jb[f[(f[i>>2]|0)+20>>2]&255](i,(b[a+10>>0]|16)&255)|0}else i=0;if(((l|0)>0|(l|0)==0&k>>>0>0)&(i|0)==0){i=f[n>>2]|0;i=jb[f[(f[i>>2]|0)+24>>2]&255](i,x)|0;s=x;r=f[s+4>>2]|0;if((i|0)==0&((r|0)>(l|0)|((r|0)==(l|0)?(f[s>>2]|0)>>>0>k>>>0:0))){i=f[n>>2]|0;i=kb[f[(f[i>>2]|0)+16>>2]&127](i,k,l)|0}}}}else i=0;s=c;f[s>>2]=0;f[s+4>>2]=0}while(0);s=a+56|0;Ug(f[s>>2]|0);f[s>>2]=0;f[a+44>>2]=0;s=(i|0)==0;if(s){do if((b[a+15>>0]|0)==0?(b[a+12>>0]|0)!=0:0){if(e|0?f[f[a+60>>2]>>2]|0:0){l=f[a+212>>2]|0;k=f[l+16>>2]|0;if((k|0)<=-1){q=QA(k|0,((k|0)<0)<<31>>31|0,-1024,-1)|0;r=ba()|0;k=(f[l+28>>2]|0)+(f[l+24>>2]|0)|0;k=OA(q|0,r|0,k|0,((k|0)<0)<<31>>31|0)|0;ba()|0}l=f[l>>2]|0;if(!l){l=0;c=0}else{c=0;do{c=c+1|0;l=f[l+32>>2]|0}while((l|0)!=0);l=QA(c|0,0,100,0)|0;c=ba()|0}if(k|0?(r=OA(l|0,c|0,k|0,((k|0)<0)<<31>>31|0)|0,ba()|0,(r|0)>=25):0){z=60;break}}l=f[a+212>>2]|0;k=f[l>>2]|0;if(k|0)do{r=k+28|0;d[r>>1]=d[r>>1]&-13;k=f[k+32>>2]|0}while((k|0)!=0);f[l+8>>2]=f[l+4>>2]}else z=60;while(0);if((z|0)==60){r=a+212|0;l=f[r>>2]|0;k=f[l>>2]|0;if(k){do{q=f[k+12>>2]|0;c=q+8|0;m=k+36|0;n=f[m>>2]|0;if((f[c>>2]|0)==(k|0))f[c>>2]=n;o=f[k+32>>2]|0;p=(o|0)==0;if(p){f[q+4>>2]=n;c=n}else{f[o+36>>2]=n;c=f[m>>2]|0}if(!c){f[q>>2]=o;if(p)b[q+33>>0]=2}else f[c+32>>2]=o;p=k+28|0;d[p>>1]=d[p>>1]&-16|1;if((d[k+30>>1]|0)==0?b[q+32>>0]|0:0)qb[f[37456>>2]&255](f[q+44>>2]|0,f[k>>2]|0,0);k=f[l>>2]|0}while((k|0)!=0);l=f[r>>2]|0}}k=f[a+24>>2]|0;r=l+44|0;if(f[r>>2]|0){c=f[l>>2]|0;if(c|0)do{p=c;c=f[c+32>>2]|0;if((f[p+24>>2]|0)>>>0>k>>>0){q=f[p+12>>2]|0;n=q+8|0;o=p+36|0;m=f[o>>2]|0;if((f[n>>2]|0)==(p|0))f[n>>2]=m;n=(c|0)==0;if(n)f[q+4>>2]=m;else{f[c+36>>2]=m;m=f[o>>2]|0}if(!m){f[q>>2]=c;if(n)b[q+33>>0]=2}else f[m+32>>2]=c;o=p+28|0;d[o>>1]=d[o>>1]&-16|1;if((d[p+30>>1]|0)==0?b[q+32>>0]|0:0)qb[f[37456>>2]&255](f[q+44>>2]|0,f[p>>2]|0,0)}}while((c|0)!=0);if(!k)if((f[l+12>>2]|0)!=0?(u=kb[f[37452>>2]&127](f[r>>2]|0,1,0)|0,(u|0)!=0):0){_A(f[u>>2]|0,0,f[l+24>>2]|0)|0;k=1}else k=0;pb[f[37464>>2]&127](f[r>>2]|0,k+1|0)}}q=a+216|0;k=f[q>>2]|0;if(!k)if((e|0)!=0&s){n=a+32|0;o=f[a+24>>2]|0;if(((f[n>>2]|0)>>>0>o>>>0?(y=a+60|0,v=f[y>>2]|0,w=f[v>>2]|0,(w|0)!=0):0)?((b[B>>0]|0)+-1&255)>2:0){p=f[a+152>>2]|0;i=jb[f[w+24>>2]&255](v,x)|0;l=((p|0)<0)<<31>>31;c=QA(p|0,l|0,o|0,0)|0;m=ba()|0;do if(!i){k=x;i=f[k>>2]|0;k=f[k+4>>2]|0;if((i|0)==(c|0)&(k|0)==(m|0))g=0;else{if(!((k|0)>(m|0)|(k|0)==(m|0)&i>>>0>c>>>0)){x=KA(i|0,k|0,p|0,l|0)|0;w=ba()|0;if(!((w|0)>(m|0)|(w|0)==(m|0)&x>>>0>c>>>0)){x=f[a+208>>2]|0;_A(x|0,0,p|0)|0;y=f[y>>2]|0;z=LA(c|0,m|0,p|0,l|0)|0;g=ba()|0;g=mb[f[(f[y>>2]|0)+12>>2]&127](y,x,p,z,g)|0;z=117}}else{g=f[y>>2]|0;g=kb[f[(f[g>>2]|0)+16>>2]&127](g,c,m)|0;z=117}if((z|0)==117?g|0:0)break;f[n>>2]=o;g=0}}else g=i;while(0)}else g=0}else g=i;else{g=k+44|0;if(!(b[g>>0]|0))g=i;else{if(!(b[k+43>>0]|0)){z=f[k+4>>2]|0;lb[f[(f[z>>2]|0)+56>>2]&127](z,0,1,9)|0}b[g>>0]=0;f[k+104>>2]=0;b[k+47>>0]=0;g=i}}do if((e|0)!=0&(g|0)==0){g=f[a+60>>2]|0;i=f[g>>2]|0;if(i|0?(j=kb[f[i+40>>2]&127](g,22,0)|0,(j|0)!=12):0)break;j=0}else j=g;while(0);b:do if(!(b[A>>0]|0)){g=f[q>>2]|0;do if(g|0){i=g+43|0;if(!(b[i>>0]|0)){g=0;break b}b[i>>0]=0;A=f[g+4>>2]|0;if(!(lb[f[(f[A>>2]|0)+56>>2]&127](A,(d[g+40>>1]|0)+3|0,1,6)|0))if(!(b[i>>0]|0))break;else{g=0;break b}else{b[i>>0]=1;g=0;break b}}while(0);g=f[a+60>>2]|0;i=f[g>>2]|0;if(i){if(!(b[a+13>>0]|0))g=jb[f[i+32>>2]&255](g,1)|0;else g=0;i=a+17|0;if((b[i>>0]|0)!=5)b[i>>0]=1}else g=0;b[a+18>>0]=0}else g=0;while(0);b[B>>0]=1;b[a+19>>0]=0;B=(j|0)==0?g:j;t=C;return B|0}function th(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+32|0;l=q+16|0;h=q;if(!c){f[h>>2]=42469;f[h+4>>2]=55821;f[h+8>>2]=40460;Ac(11,40408,h);a=11;t=q;return a|0}p=a+212|0;h=f[p>>2]|0;h=kb[f[37452>>2]&127](f[h+44>>2]|0,c,b[h+33>>0]&3)|0;a:do if(!h){j=f[p>>2]|0;if((b[j+33>>0]|0)!=2){k=j+44|0;n=ib[f[37448>>2]&255](f[k>>2]|0)|0;b:do if((n|0)>(f[j+20>>2]|0)){i=j+8|0;h=f[i>>2]|0;c:do if(!h)m=12;else{while(1){if((d[h+30>>1]|0)==0?(d[h+28>>1]&8)==0:0)break;h=f[h+36>>2]|0;if(!h){m=12;break c}}f[i>>2]=h}while(0);d:do if((m|0)==12){f[i>>2]=0;h=f[j+4>>2]|0;if(!h)break b;while(1){if(!(d[h+30>>1]|0))break d;h=f[h+36>>2]|0;if(!h)break b}}while(0);h=jb[f[j+36>>2]&255](f[j+40>>2]|0,h)|0;switch(h|0){case 0:case 5:break;default:break a}}while(0);h=kb[f[37452>>2]&127](f[k>>2]|0,c,2)|0;if(h)m=18;else h=7}else h=7}else m=18;while(0);do if((m|0)==18){i=f[p>>2]|0;j=f[h+4>>2]|0;if(!(f[j>>2]|0))n=ch(i,c,h)|0;else{n=i+12|0;f[n>>2]=(f[n>>2]|0)+1;n=j+30|0;d[n>>1]=(d[n>>1]|0)+1<<16>>16;n=j}f[e>>2]=n;h=g&1;i=n+20|0;j=(h|0)!=0;if(!(j|(f[i>>2]|0)==0)){a=a+184|0;f[a>>2]=(f[a>>2]|0)+1;a=0;t=q;return a|0}do if((c|0)>=0?(o=a+152|0,((1073741824/(f[o>>2]|0)|0)+1|0)!=(c|0)):0){f[i>>2]=a;if(f[f[a+60>>2]>>2]|0?((h|0)==0?(f[a+24>>2]|0)>>>0>=c>>>0:0):0){h=a+188|0;f[h>>2]=(f[h>>2]|0)+1;h=mh(n)|0;if(!h)h=0;else break;t=q;return h|0}if((f[a+156>>2]|0)>>>0>>0)h=13;else{if(j){if((f[a+28>>2]|0)>>>0>=c>>>0)Wg(f[a+56>>2]|0,c)|0;g=a+96|0;h=f[g>>2]|0;if((h|0)>0){k=a+92|0;j=0;do{i=f[k>>2]|0;if((f[i+(j*48|0)+20>>2]|0)>>>0>=c>>>0){Wg(f[i+(j*48|0)+16>>2]|0,c)|0;h=f[g>>2]|0}j=j+1|0}while((j|0)<(h|0))}}_A(f[n+4>>2]|0,0,f[o>>2]|0)|0;a=0;t=q;return a|0}}else m=38;while(0);if((m|0)==38){f[l>>2]=42469;f[l+4>>2]=55853;f[l+8>>2]=40460;Ac(11,40408,l);if(!n){h=11;break}else h=11}m=f[n+12>>2]|0;do if(d[n+28>>1]&2){i=m+8|0;j=n+36|0;k=f[j>>2]|0;if((f[i>>2]|0)==(n|0))f[i>>2]=k;g=f[n+32>>2]|0;l=(g|0)==0;if(l){f[m+4>>2]=k;i=k}else{f[g+36>>2]=k;i=f[j>>2]|0}if(i|0){f[i+32>>2]=g;break}f[m>>2]=g;if(l)b[m+33>>0]=2}while(0);o=m+12|0;f[o>>2]=(f[o>>2]|0)+-1;qb[f[37456>>2]&255](f[m+44>>2]|0,f[n>>2]|0,1)}while(0);if(!(f[(f[p>>2]|0)+12>>2]|0)){switch(b[a+16>>0]|0){case 0:case 6:break;case 1:{if(!(b[a+4>>0]|0))sh(a,0,0)|0;break}default:wh(a)|0}xh(a)}f[e>>2]=0;a=h;t=q;return a|0}function uh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[c>>2]=0;return f[a+40>>2]|0}function vh(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0;j=f[a+4>>2]|0;e=f[a>>2]|0;b[j+19>>0]=0;k=a+8|0;do if(b[k>>0]|0){if((f[e+172>>2]|0)>1){e=j+76|0;if((f[e>>2]|0)==(a|0)?(f[e>>2]=0,c=j+22|0,d[c>>1]=d[c>>1]&-193,c=f[j+72>>2]|0,c|0):0)do{b[c+8>>0]=1;c=f[c+12>>2]|0}while((c|0)!=0);b[k>>0]=1;return}c=j+72|0;e=f[c>>2]|0;if(e|0)while(1){g=e+12|0;do if((f[e>>2]|0)==(a|0)){h=f[g>>2]|0;f[c>>2]=h;if((f[e+4>>2]|0)!=1)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);i=15;break}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);i=15;break}else{g=c;e=h}}else{c=g;i=15}while(0);if((i|0)==15){i=0;g=c;e=f[c>>2]|0}if(!e)break;else c=g}c=j+76|0;if((f[c>>2]|0)!=(a|0)){c=j+40|0;e=f[c>>2]|0;if((e|0)==2){a=j+22|0;d[a>>1]=d[a>>1]&-129;f[c>>2]=1;break}}else{f[c>>2]=0;e=j+22|0;d[e>>1]=d[e>>1]&-193;e=j+40|0;c=e;e=f[e>>2]|0}a=e+-1|0;f[c>>2]=a;if(!a)b[j+20>>0]=0}while(0);b[k>>0]=0;if(b[j+20>>0]|0)return;c=j+12|0;e=f[c>>2]|0;if(!e)return;f[c>>2]=0;k=f[e+72>>2]|0;c=f[k+20>>2]|0;bh(k);if(f[(f[c+212>>2]|0)+12>>2]|0)return;switch(b[c+16>>0]|0){case 0:case 6:break;case 1:{if(!(b[c+4>>0]|0))sh(c,0,0)|0;break}default:wh(c)|0}xh(c);return}function wh(a){a=a|0;var c=0,d=0,e=0;e=a+16|0;d=b[e>>0]|0;if(d<<24>>24==6){e=f[a+40>>2]|0;return e|0}if((d&255)<2){e=0;return e|0}do if(!(f[a+216>>2]|0)){if(!(d<<24>>24==2?1:(f[f[a+64>>2]>>2]|0)==0)){c=yh(a,0)|0;break}c=sh(a,0,0)|0;if((d&255)>2&(b[a+15>>0]|0)==0){f[a+40>>2]=4;b[e>>0]=6;f[a+204>>2]=82;e=c;return e|0}}else{c=Lg(a,2,-1)|0;d=sh(a,h[a+19>>0]|0,0)|0;c=(c|0)==0?d:c}while(0);switch((c&255)<<24>>24){case 10:case 13:break;default:{e=c;return e|0}}f[a+40>>2]=c;b[e>>0]=6;f[a+204>>2]=(c|0)==0?81:82;e=c;return e|0}function xh(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;g=a+56|0;Ug(f[g>>2]|0);f[g>>2]=0;g=a+96|0;if((f[g>>2]|0)>0){e=a+92|0;c=0;do{Ug(f[(f[e>>2]|0)+(c*48|0)+16>>2]|0);c=c+1|0}while((c|0)<(f[g>>2]|0))}h=a+4|0;e=f[a+68>>2]|0;c=f[e>>2]|0;if(!(b[h>>0]|0)){if(c|0)k=7}else if((c|0)==37976){c=37976;k=7}if((k|0)==7){ib[f[c+4>>2]&255](e)|0;f[e>>2]=0}c=a+92|0;e=f[c>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{l=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[c>>2]=0;f[g>>2]=0;f[a+52>>2]=0;g=f[a+216>>2]|0;if(!g){if(!(b[h>>0]|0)){c=a+60|0;e=f[c>>2]|0;g=f[e>>2]|0;if(!(((g|0)!=0?((ib[f[g+48>>2]&255](e)|0)&2048|0)!=0:0)?(b[a+5>>0]&5)==1:0))k=25;if((k|0)==25?(i=f[a+64>>2]|0,j=f[i>>2]|0,j|0):0){ib[f[j+4>>2]&255](i)|0;f[i>>2]=0}c=f[c>>2]|0;e=f[c>>2]|0;if(e|0){if(!(b[a+13>>0]|0))e=jb[f[e+32>>2]&255](c,0)|0;else e=0;c=a+17|0;if((b[c>>0]|0)!=5)b[c>>0]=0;if(e|0?(b[a+16>>0]|0)==6:0)b[c>>0]=5}b[a+18>>0]=0;k=36}}else{c=g+44|0;if(b[c>>0]|0){if(!(b[g+43>>0]|0)){l=f[g+4>>2]|0;lb[f[(f[l>>2]|0)+56>>2]&127](l,0,1,9)|0}b[c>>0]=0;f[g+104>>2]=0;b[g+47>>0]=0}c=g+40|0;e=d[c>>1]|0;if(e<<16>>16>-1){if(!(b[g+43>>0]|0)){l=f[g+4>>2]|0;lb[f[(f[l>>2]|0)+56>>2]&127](l,(e<<16>>16)+3|0,1,5)|0}d[c>>1]=-1;k=36}else k=36}if((k|0)==36)b[a+16>>0]=0;e=a+40|0;if(!(f[e>>2]|0)){l=a+72|0;a=a+19|0;b[a>>0]=0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;return}if(!(b[a+12>>0]|0)){jh(a);b[a+18>>0]=0;c=0}else c=(f[f[a+64>>2]>>2]|0)==0&1;b[a+16>>0]=c;f[e>>2]=0;f[a+204>>2]=81;l=a+72|0;a=a+19|0;b[a>>0]=0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;return}function yh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=t;t=t+48|0;L=M+16|0;I=M+8|0;J=M+40|0;y=M;z=M+36|0;A=M+32|0;H=M+28|0;B=M+24|0;h=f[a>>2]|0;f[A>>2]=0;f[H>>2]=1;x=a+152|0;f[B>>2]=f[x>>2];D=a+64|0;g=f[D>>2]|0;g=jb[f[(f[g>>2]|0)+24>>2]&255](g,y)|0;a:do if(!g){C=a+208|0;e=f[C>>2]|0;g=zh(f[D>>2]|0,e,(f[(f[a>>2]|0)+8>>2]|0)+1|0)|0;if(!g){if(!(b[e>>0]|0))e=0;else e=lb[f[h+32>>2]&127](h,e,0,H)|0;b:do if((e|0)==0&(f[H>>2]|0)!=0){p=a+72|0;q=p;f[q>>2]=0;f[q+4>>2]=0;q=a+148|0;r=a+80|0;s=a+60|0;u=a+24|0;v=a+16|0;w=a+32|0;e=0;h=c;c:while(1){do{g=y;g=hh(a,c,f[g>>2]|0,f[g+4>>2]|0,z,A)|0;switch(g|0){case 101:{h=e;break b}case 0:break;default:{d=g;K=37;break b}}g=f[z>>2]|0;if((g|0)==-1){n=y;n=LA(f[n>>2]|0,f[n+4>>2]|0,f[q>>2]|0,0)|0;o=ba()|0;g=(f[x>>2]|0)+8|0;g=OA(n|0,o|0,g|0,((g|0)<0)<<31>>31|0)|0;ba()|0;f[z>>2]=g}if(!(g|c)){j=r;l=f[q>>2]|0;j=KA(f[j>>2]|0,f[j+4>>2]|0,l|0,0)|0;i=ba()|0;m=p;k=f[m>>2]|0;m=f[m+4>>2]|0;if((j|0)==(k|0)&(i|0)==(m|0)){o=y;o=LA(f[o>>2]|0,f[o+4>>2]|0,j|0,i|0)|0;k=ba()|0;g=(f[x>>2]|0)+8|0;g=OA(o|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;ba()|0;f[z>>2]=g;k=j;j=0}else{i=m;j=0}}else{i=p;k=f[i>>2]|0;l=f[q>>2]|0;i=f[i+4>>2]|0;j=0}if((k|0)==(l|0)&(i|0)==(j|0)){n=f[A>>2]|0;i=f[s>>2]|0;j=f[i>>2]|0;if(j|0?((b[v>>0]|0)+-1&255)>2:0){o=f[x>>2]|0;i=jb[f[j+24>>2]&255](i,I)|0;k=((o|0)<0)<<31>>31;l=QA(o|0,k|0,n|0,0)|0;m=ba()|0;if(i|0){d=i;break c}j=I;i=f[j>>2]|0;j=f[j+4>>2]|0;if(!((i|0)==(l|0)&(j|0)==(m|0))){do if((j|0)>(m|0)|(j|0)==(m|0)&i>>>0>l>>>0){d=f[s>>2]|0;d=kb[f[(f[d>>2]|0)+16>>2]&127](d,l,m)|0;K=24}else{j=KA(i|0,j|0,o|0,k|0)|0;i=ba()|0;if((i|0)>(m|0)|(i|0)==(m|0)&j>>>0>l>>>0)break;j=f[C>>2]|0;_A(j|0,0,o|0)|0;i=f[s>>2]|0;K=LA(l|0,m|0,o|0,k|0)|0;d=ba()|0;d=mb[f[(f[i>>2]|0)+12>>2]&127](i,j,o,K,d)|0;K=24}while(0);if((K|0)==24?(K=0,d|0):0)break c;f[w>>2]=n}}f[u>>2]=n}}while(!(g|0));i=0;d:while(1){if(h|0)jh(a);h=gh(a,p,0,1,0)|0;switch(h|0){case 522:{h=e;break b}case 101:{K=35;break d}case 0:break;default:{d=h;K=37;break b}}e=e+1|0;i=i+1|0;if(i>>>0>=g>>>0)break;else h=0}if((K|0)==35){K=0;m=y;n=f[m+4>>2]|0;o=p;f[o>>2]=f[m>>2];f[o+4>>2]=n}h=0}K=38;break a}else{d=e;e=0;K=37}while(0);if((K|0)==37)if(!d)h=e;else{K=38;break}g=ih(a,B,-1)|0;d=a+12|0;b[a+18>>0]=b[d>>0]|0;if(!g){s=f[C>>2]|0;g=zh(f[D>>2]|0,s,(f[(f[a>>2]|0)+8>>2]|0)+1|0)|0;if(!g){if(((b[a+16>>0]|0)+-1&255)>2){i=a+60|0;e=f[i>>2]|0;g=f[e>>2]|0;if(g|0){g=kb[f[g+40>>2]&127](e,21,0)|0;switch(g|0){case 0:case 12:break;default:break a}}if(((b[a+7>>0]|0)==0?(E=f[i>>2]|0,F=b[a+10>>0]|0,F<<24>>24):0)?(G=jb[f[(f[E>>2]|0)+20>>2]&255](E,F&255)|0,G|0):0){g=G;break}}g=sh(a,(b[s>>0]|0)!=0&1,0)|0;if(!g)if((b[s>>0]|0)!=0&(f[H>>2]|0)!=0){r=f[a>>2]|0;j=r+4|0;k=f[j>>2]<<1;H=KA(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;G=ba()|0;do if(!(G>>>0>0|(G|0)==0&H>>>0>2147483390)){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](k)|0;if(!e){e=7;break}else q=e}else{e=ib[f[37372>>2]&255](k)|0;if((f[18194]|0)>>>0>>0)f[18194]=k;i=71896;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){H=f[18187]|0;G=LA(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;F=ba()|0;f[17976]=((F|0)<0|(F|0)==0&G>>>0<=H>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(!g){e=7;break}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0){f[18196]=e;q=g}else q=g}_A(q|0,0,k|0)|0;o=q+(f[j>>2]|0)|0;p=r+24|0;e=mb[f[p>>2]&127](r,s,q,16385,0)|0;e:do if(!e){e=jb[f[(f[q>>2]|0)+24>>2]&255](q,I)|0;if(!e){n=(f[r+8>>2]|0)+1|0;H=I;H=KA(f[H>>2]|0,f[H+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;G=ba()|0;e=KA(H|0,G|0,1,0)|0;ba()|0;if(!(G>>>0>0|(G|0)==0&H>>>0>2147483390)){do if(!(f[9328]|0)){e=ib[f[37356>>2]&255](e)|0;if(!e){e=7;break e}else g=e}else{i=ib[f[37372>>2]&255](e)|0;if((f[18194]|0)>>>0>>0)f[18194]=e;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){H=f[18187]|0;G=LA(e|0,g|0,i|0,((i|0)<0)<<31>>31|0)|0;F=ba()|0;f[17976]=((F|0)<0|(F|0)==0&G>>>0<=H>>>0)&1}g=ib[f[37356>>2]&255](i)|0;if(!g){e=7;break e}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0<=(f[18196]|0)>>>0)break;f[18196]=e}while(0);e=f[I>>2]|0;m=g+(e+1)|0;e=mb[f[(f[q>>2]|0)+8>>2]&127](q,g,e,0,0)|0;if(!e){b[g+(f[I>>2]|0)>>0]=0;k=g;H=I;G=f[H+4>>2]|0;f:do if((G|0)>0|(G|0)==0&(f[H>>2]|0)>>>0>0){l=r+32|0;j=g;g:while(1){e=lb[f[l>>2]&127](r,j,0,J)|0;if(e|0)break;do if(f[J>>2]|0){e=mb[f[p>>2]&127](r,j,o,2049,0)|0;if(e|0)break g;e=zh(o,m,n)|0;i=f[o>>2]|0;if(i|0){ib[f[i+4>>2]&255](o)|0;f[o>>2]=0}if(e|0)break g;if(!(b[m>>0]|0))break;if(!(tz(m,s)|0)){e=0;break g}}while(0);j=j+(((wz(j)|0)&1073741823)+1)|0;H=j-k|0;F=((H|0)<0)<<31>>31;G=I;E=f[G+4>>2]|0;if(!((E|0)>(F|0)|((E|0)==(F|0)?(f[G>>2]|0)>>>0>H>>>0:0))){K=88;break f}}}else K=88;while(0);if((K|0)==88){e=f[q>>2]|0;if(e|0){ib[f[e+4>>2]&255](q)|0;f[q>>2]=0}e=kb[f[r+28>>2]&127](r,s,0)|0}if(!g)break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{J=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}else e=7}}while(0);g=f[q>>2]|0;if(g|0){ib[f[g+4>>2]&255](q)|0;f[q>>2]=0}if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{J=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}else e=7;while(0);g=e}else g=0}}}else{e=0;d=g;K=38}}else{e=0;d=g;K=38}while(0);if((K|0)==38){K=a+12|0;b[a+18>>0]=b[K>>0]|0;h=e;g=d;d=K}if((c|0)!=0&(h|0)!=0){c=f[a+172>>2]|0;f[L>>2]=h;f[L+4>>2]=c;Ac(539,42620,L)}if(b[d>>0]|0){L=512;a=a+148|0;f[a>>2]=L;t=M;return g|0}d=a+60|0;L=f[d>>2]|0;if((ib[f[(f[L>>2]|0)+48>>2]&255](L)|0)&4096|0){L=512;a=a+148|0;f[a>>2]=L;t=M;return g|0}d=f[d>>2]|0;e=f[(f[d>>2]|0)+44>>2]|0;if(!e){L=4096;a=a+148|0;f[a>>2]=L;t=M;return g|0}L=ib[e&255](d)|0;L=(L|0)<32?512:(L|0)<65536?L:65536;a=a+148|0;f[a>>2]=L;t=M;return g|0}function zh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=t;t=t+32|0;l=p+16|0;n=p;o=p+8|0;b[c>>0]=0;i=jb[f[(f[a>>2]|0)+24>>2]&255](a,n)|0;g=n;e=f[g>>2]|0;g=f[g+4>>2]|0;if((i|0)!=0|((g|0)<0|(g|0)==0&e>>>0<16)){c=i;t=p;return c|0}m=KA(e|0,g|0,-16,-1)|0;e=ba()|0;e=mb[f[(f[a>>2]|0)+8>>2]&127](a,l,4,m,e)|0;if(e|0){c=e;t=p;return c|0}i=l+1|0;j=l+2|0;k=l+3|0;m=h[i>>0]<<16|h[l>>0]<<24|h[j>>0]<<8|h[k>>0];if(m>>>0>=d>>>0){c=0;t=p;return c|0}g=n;e=f[g>>2]|0;g=f[g+4>>2]|0;d=KA(e|0,g|0,-16,-1)|0;q=ba()|0;if((m|0)==0|((q|0)<0|(q|0)==0&d>>>0>>0)){q=0;t=p;return q|0}q=KA(e|0,g|0,-12,-1)|0;e=ba()|0;e=mb[f[(f[a>>2]|0)+8>>2]&127](a,l,4,q,e)|0;if(e|0){q=e;t=p;return q|0}e=h[i>>0]<<16|h[l>>0]<<24|h[j>>0]<<8|h[k>>0];q=n;q=KA(f[q>>2]|0,f[q+4>>2]|0,-8,-1)|0;g=ba()|0;g=mb[f[(f[a>>2]|0)+8>>2]&127](a,o,8,q,g)|0;if(g|0){q=g;t=p;return q|0}if(Hz(o,42612,8)|0){q=0;t=p;return q|0}q=n;g=f[q>>2]|0;q=f[q+4>>2]|0;o=LA(-16,-1,m|0,0)|0;q=KA(o|0,ba()|0,g|0,q|0)|0;g=ba()|0;g=mb[f[(f[a>>2]|0)+8>>2]&127](a,c,m,q,g)|0;if(g|0){q=g;t=p;return q|0}g=0;do{e=e-(b[c+g>>0]|0)|0;g=g+1|0}while((g|0)!=(m|0));b[c+((e|0)==0?m:0)>>0]=0;q=0;t=p;return q|0}function Ah(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;r=t;t=t+32|0;k=r;m=r+20|0;j=r+24|0;o=r+16|0;p=r+12|0;if(e>>>0<2)i=0;else{i=e+-2|0;i=i-((i>>>0)%(((((f[a+36>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;i=((i+1|0)==(1073741824/((f[a+32>>2]|0)>>>0)|0|0)?3:2)+i|0}a:do if((i|0)!=(e|0)?((1073741824/((f[a+32>>2]|0)>>>0)|0)+1|0)!=(e|0):0){n=f[(f[a+12>>2]|0)+56>>2]|0;b:do if((h[n+37>>0]|0)<<16|(h[n+36>>0]|0)<<24|(h[n+38>>0]|0)<<8|(h[n+39>>0]|0)){i=rh(a,e,j,o)|0;if(!i){n=b[j>>0]|0;c:do switch(n<<24>>24){case 1:{f[k>>2]=42469;f[k+4>>2]=66624;f[k+8>>2]=40460;Ac(11,40408,k);i=11;break b}case 2:{if(!g){i=Lh(a,p,m,e,1)|0;if(i|0)break b;i=f[p>>2]|0;do if(i|0){i=f[i+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{q=f[i+20>>2]|0;p=q+120|0;f[p>>2]=(f[p>>2]|0)+-1;q=q+136|0;f[i+16>>2]=f[q>>2];f[q>>2]=i;break}}while(0)}break}default:{i=f[a>>2]|0;i=lb[f[i+204>>2]&127](i,e,m,0)|0;do if(!i){i=f[m>>2]|0;l=f[i+8>>2]|0;j=l+4|0;if((f[j>>2]|0)!=(e|0)){f[l+56>>2]=f[i+4>>2];f[l+72>>2]=i;f[l+52>>2]=a;f[j>>2]=e;b[l+9>>0]=(e|0)==1?100:0}i=(g|0)==0;j=i?2:0;k=i?c:0;d:do if(i){i=Lh(a,m,p,k,j)|0;if(!i){i=f[m>>2]|0;do if(i|0){i=f[i+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{m=f[i+20>>2]|0;c=m+120|0;f[c>>2]=(f[c>>2]|0)+-1;m=m+136|0;f[i+16>>2]=f[m>>2];f[m>>2]=i;break}}while(0);i=f[p>>2]|0}else q=30}else do{i=Lh(a,m,p,k,j)|0;if(i|0){q=30;break d}i=f[m>>2]|0;do if(i|0){i=f[i+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{s=f[i+20>>2]|0;u=s+120|0;f[u>>2]=(f[u>>2]|0)+-1;s=s+136|0;f[i+16>>2]=f[s>>2];f[s>>2]=i;break}}while(0);i=f[p>>2]|0}while(i>>>0>c>>>0);while(0);if((q|0)==30){do if(l|0){j=f[l+72>>2]|0;if(!(d[j+28>>1]&32)){bh(j);break}else{u=f[j+20>>2]|0;s=u+120|0;f[s>>2]=(f[s>>2]|0)+-1;u=u+136|0;f[j+16>>2]=f[u>>2];f[u>>2]=j;break}}while(0);break}i=Mh(a,l,n,f[o>>2]|0,i,g)|0;do if(l|0){j=f[l+72>>2]|0;if(!(d[j+28>>1]&32)){bh(j);break}else{u=f[j+20>>2]|0;s=u+120|0;f[s>>2]=(f[s>>2]|0)+-1;u=u+136|0;f[j+16>>2]=f[u>>2];f[u>>2]=j;break}}while(0);if(!i)break c}while(0);break b}}while(0);break a}}else i=101;while(0);u=i;t=r;return u|0}while(0);if(g|0){u=0;t=r;return u|0}k=1073741824/((f[a+32>>2]|0)>>>0)|0;c=k+1|0;l=a+36|0;i=e;while(1){j=i+-1|0;if((j|0)!=(c|0)){if(j>>>0<2)i=0;else{i=i+-3|0;i=i-((i>>>0)%(((((f[l>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;i=((i+1|0)==(k|0)?3:2)+i|0}if((i|0)!=(j|0))break}i=j}b[a+19>>0]=1;f[a+44>>2]=j;u=0;t=r;return u|0}function Bh(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=t;t=t+16|0;A=D+8|0;r=D;g=f[a+40>>2]|0;if(g|0){a=g;t=D;return a|0}g=f[9393]|0;if(g|0?ib[g&255](400)|0:0){a=10;t=D;return a|0}C=a+16|0;if((h[C>>0]|0)<3){a=0;t=D;return a|0}do if(b[a+12>>0]|0){if(f[f[a+60>>2]>>2]|0){i=f[a+212>>2]|0;g=f[i+16>>2]|0;if((g|0)<=-1){n=QA(g|0,((g|0)<0)<<31>>31|0,-1024,-1)|0;p=ba()|0;g=(f[i+28>>2]|0)+(f[i+24>>2]|0)|0;g=OA(n|0,p|0,g|0,((g|0)<0)<<31>>31|0)|0;ba()|0}i=f[i>>2]|0;if(!i){i=0;j=0}else{j=0;do{j=j+1|0;i=f[i+32>>2]|0}while((i|0)!=0);i=QA(j|0,0,100,0)|0;j=ba()|0}if(g|0?(p=OA(i|0,j|0,g|0,((g|0)<0)<<31>>31|0)|0,ba()|0,(p|0)>=25):0){B=18;break}}g=f[a+88>>2]|0;if(g|0)do{f[g+16>>2]=1;g=f[g+44>>2]|0}while((g|0)!=0)}else B=18;while(0);do if((B|0)==18){if(!(f[a+216>>2]|0)){k=a+18|0;if((b[k>>0]|0)==0?f[a+24>>2]|0:0){g=lb[f[a+204>>2]&127](a,1,A,0)|0;a:do if(!g){j=f[A>>2]|0;i=f[j+20>>2]|0;if((d[j+28>>1]&4)!=0?(f[i+24>>2]|0)>>>0>=(f[j+24>>2]|0)>>>0:0)if(!(f[i+96>>2]|0))g=j;else{g=Ng(j)|0;B=53}else B=49;do if((B|0)==49){g=f[i+40>>2]|0;if(g|0)break a;if((f[i+148>>2]|0)>>>0>(f[i+152>>2]|0)>>>0){g=Og(j)|0;B=53;break}else{g=Pg(j)|0;B=53;break}}while(0);if((B|0)==53){if(g|0)break;g=f[A>>2]|0;i=f[g+20>>2]|0}o=(h[i+105>>0]<<16|h[i+104>>0]<<24|h[i+106>>0]<<8|h[i+107>>0])+1|0;g=g+4|0;p=f[g>>2]|0;l=o>>>24&255;b[p+24>>0]=l;m=o>>>16&255;b[p+25>>0]=m;n=o>>>8&255;b[p+26>>0]=n;o=o&255;b[p+27>>0]=o;p=f[g>>2]|0;b[p+92>>0]=l;b[p+93>>0]=m;b[p+94>>0]=n;b[p+95>>0]=o;g=f[g>>2]|0;b[g+96>>0]=0;b[g+97>>0]=46;b[g+98>>0]=44;b[g+99>>0]=80;b[k>>0]=1;g=0}while(0);i=f[A>>2]|0;do if(i|0)if(!(d[i+28>>1]&32)){bh(i);break}else{p=f[i+20>>2]|0;o=p+120|0;f[o>>2]=(f[o>>2]|0)+-1;p=p+136|0;f[i+16>>2]=f[p>>2];f[p>>2]=i;break}while(0);if(g|0){a=g;t=D;return a|0}}b:do if(((c|0)!=0?(b[a+5>>0]|0)!=4:0)?(s=a+64|0,q=f[s>>2]|0,(f[q>>2]|0)!=0):0){b[a+19>>0]=1;g=b[c>>0]|0;if(!(g<<24>>24)){i=0;j=0}else{j=0;i=0;do{i=i+(g<<24>>24)|0;j=j+1|0;g=b[c+j>>0]|0}while(g<<24>>24!=0)}p=a+72|0;k=p;g=f[k>>2]|0;k=f[k+4>>2]|0;if(!(b[a+8>>0]|0))l=g;else{if((g|0)==0&(k|0)==0){g=0;k=0}else{o=KA(g|0,k|0,-1,-1)|0;k=ba()|0;g=f[a+148>>2]|0;k=OA(o|0,k|0,g|0,0)|0;k=KA(k|0,ba()|0,1,0)|0;g=QA(k|0,ba()|0,g|0,0)|0;k=ba()|0}l=p;f[l>>2]=g;f[l+4>>2]=k;l=g}g=(1073741824/(f[a+152>>2]|0)|0)+1|0;b[A>>0]=g>>>24;m=A+1|0;b[m>>0]=g>>>16;n=A+2|0;b[n>>0]=g>>>8;o=A+3|0;b[o>>0]=g;g=mb[f[(f[q>>2]|0)+12>>2]&127](q,A,4,l,k)|0;do if(!g){g=f[s>>2]|0;k=KA(l|0,k|0,4,0)|0;l=ba()|0;g=mb[f[(f[g>>2]|0)+12>>2]&127](g,c,j,k,l)|0;if(!g){g=f[s>>2]|0;k=KA(k|0,l|0,j|0,0)|0;l=ba()|0;b[A>>0]=j>>>24;b[m>>0]=j>>>16;b[n>>0]=j>>>8;b[o>>0]=j;g=mb[f[(f[g>>2]|0)+12>>2]&127](g,A,4,k,l)|0;if(!g){E=f[s>>2]|0;q=KA(k|0,l|0,4,0)|0;g=ba()|0;b[A>>0]=i>>>24;b[m>>0]=i>>>16;b[n>>0]=i>>>8;b[o>>0]=i;g=mb[f[(f[E>>2]|0)+12>>2]&127](E,A,4,q,g)|0;if(!g){q=f[s>>2]|0;E=KA(k|0,l|0,8,0)|0;g=ba()|0;g=mb[f[(f[q>>2]|0)+12>>2]&127](q,42612,8,E,g)|0;if(!g){q=p;q=KA(f[q>>2]|0,f[q+4>>2]|0,j+20|0,0)|0;E=ba()|0;g=p;f[g>>2]=q;f[g+4>>2]=E;g=f[s>>2]|0;g=jb[f[(f[g>>2]|0)+24>>2]&255](g,r)|0;if(g|0)break;E=r;r=f[E+4>>2]|0;i=p;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((r|0)>(i|0)|((r|0)==(i|0)?(f[E>>2]|0)>>>0>g>>>0:0))){B=79;break b}E=f[s>>2]|0;g=kb[f[(f[E>>2]|0)+16>>2]&127](E,g,i)|0;if(!g)break b;t=D;return g|0}}}}}while(0);E=g;t=D;return E|0}else B=79;while(0);g=Dh(a,0)|0;if(g|0){E=g;t=D;return E|0}g=a+212|0;i=Eh(a,fh(f[g>>2]|0)|0)|0;if(i|0){E=i;t=D;return E|0}o=f[g>>2]|0;g=f[o>>2]|0;if(g|0)do{n=f[g+12>>2]|0;i=n+8|0;j=g+36|0;k=f[j>>2]|0;if((f[i>>2]|0)==(g|0))f[i>>2]=k;l=f[g+32>>2]|0;m=(l|0)==0;if(m){f[n+4>>2]=k;i=k}else{f[l+36>>2]=k;i=f[j>>2]|0}if(!i){f[n>>2]=l;if(m)b[n+33>>0]=2}else f[i+32>>2]=l;E=g+28|0;d[E>>1]=d[E>>1]&-16|1;if((d[g+30>>1]|0)==0?b[n+32>>0]|0:0)qb[f[37456>>2]&255](f[n+44>>2]|0,f[g>>2]|0,0);g=f[o>>2]|0}while((g|0)!=0);g=f[a+24>>2]|0;m=a+32|0;c:do if((g>>>0>(f[m>>2]|0)>>>0?(x=f[a+152>>2]|0,y=g-((g|0)==((1073741824/(x|0)|0)+1|0)&1)|0,z=a+60|0,u=f[z>>2]|0,v=f[u>>2]|0,v|0):0)?((b[C>>0]|0)+-1&255)>2:0){g=jb[f[v+24>>2]&255](u,A)|0;j=((x|0)<0)<<31>>31;k=QA(y|0,0,x|0,j|0)|0;l=ba()|0;do if(!g){i=A;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((g|0)==(k|0)&(i|0)==(l|0))){do if((i|0)>(l|0)|(i|0)==(l|0)&g>>>0>k>>>0){w=f[z>>2]|0;w=kb[f[(f[w>>2]|0)+16>>2]&127](w,k,l)|0;B=107}else{E=KA(g|0,i|0,x|0,j|0)|0;A=ba()|0;if((A|0)>(l|0)|(A|0)==(l|0)&E>>>0>k>>>0)break;E=f[a+208>>2]|0;_A(E|0,0,x|0)|0;A=f[z>>2]|0;B=LA(k|0,l|0,x|0,j|0)|0;w=ba()|0;w=mb[f[(f[A>>2]|0)+12>>2]&127](A,E,x,B,w)|0;B=107}while(0);if((B|0)==107?w|0:0){g=w;break}f[m>>2]=y}break c}while(0);E=g;t=D;return E|0}while(0);if(e|0)break;j=a+60|0;g=f[j>>2]|0;i=f[g>>2]|0;d:do if(i|0){g=kb[f[i+40>>2]&127](g,21,c)|0;switch(g|0){case 0:case 12:break d;default:{}}t=D;return g|0}while(0);if(b[a+7>>0]|0)break;g=f[j>>2]|0;i=b[a+10>>0]|0;if(!(i<<24>>24))break;g=jb[f[(f[g>>2]|0)+20>>2]&255](g,i&255)|0}else{f[A>>2]=0;j=a+212|0;g=fh(f[j>>2]|0)|0;if(!g){g=lb[f[a+204>>2]&127](a,1,A,0)|0;i=f[A>>2]|0;f[i+16>>2]=0;if(i){g=i;B=21}}else B=21;do if((B|0)==21){g=Ch(a,g,f[a+24>>2]|0,1)|0;i=f[A>>2]|0;if(i)if(!(d[i+28>>1]&32)){bh(i);break}else{E=f[i+20>>2]|0;B=E+120|0;f[B>>2]=(f[B>>2]|0)+-1;E=E+136|0;f[i+16>>2]=f[E>>2];f[E>>2]=i;break}}while(0);if((g|0)==0?(o=f[j>>2]|0,m=f[o>>2]|0,m|0):0)do{n=f[m+12>>2]|0;j=n+8|0;l=m+36|0;i=f[l>>2]|0;if((f[j>>2]|0)==(m|0))f[j>>2]=i;j=f[m+32>>2]|0;k=(j|0)==0;if(k)f[n+4>>2]=i;else{f[j+36>>2]=i;i=f[l>>2]|0}if(!i){f[n>>2]=j;if(k)b[n+33>>0]=2}else f[i+32>>2]=j;E=m+28|0;d[E>>1]=d[E>>1]&-16|1;if((d[m+30>>1]|0)==0?b[n+32>>0]|0:0)qb[f[37456>>2]&255](f[n+44>>2]|0,f[m>>2]|0,0);m=f[o>>2]|0}while((m|0)!=0)}if(g|0){E=g;t=D;return E|0}}while(0);if(f[a+216>>2]|0){E=0;t=D;return E|0}b[C>>0]=5;E=0;t=D;return E|0}function Ch(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;Aa=t;t=t+48|0;ta=Aa+32|0;ra=Aa;k=Aa+36|0;f[k>>2]=c;R=(g|0)==0;if(!R){f[k>>2]=c;if(!c){za=0;c=0}else{i=c;c=0;j=k;do{ya=(f[i+24>>2]|0)>>>0>e>>>0;za=i+16|0;c=c+((ya^1)&1)|0;j=ya?j:za;i=f[za>>2]|0;f[j>>2]=i}while((i|0)!=0);za=f[k>>2]|0}}else{za=c;c=1}ya=a+192|0;f[ya>>2]=(f[ya>>2]|0)+c;if((f[za+24>>2]|0)==1){wa=f[za+20>>2]|0;wa=(h[wa+105>>0]<<16|h[wa+104>>0]<<24|h[wa+106>>0]<<8|h[wa+107>>0])+1|0;ya=za+4|0;xa=f[ya>>2]|0;pa=wa>>>24&255;b[xa+24>>0]=pa;sa=wa>>>16&255;b[xa+25>>0]=sa;va=wa>>>8&255;b[xa+26>>0]=va;wa=wa&255;b[xa+27>>0]=wa;xa=f[ya>>2]|0;b[xa+92>>0]=pa;b[xa+93>>0]=sa;b[xa+94>>0]=va;b[xa+95>>0]=wa;ya=f[ya>>2]|0;b[ya+96>>0]=0;b[ya+97>>0]=46;b[ya+98>>0]=44;b[ya+99>>0]=80}xa=f[a+216>>2]|0;va=f[a+152>>2]|0;U=h[a+11>>0]|0;wa=xa+32|0;c=f[f[wa>>2]>>2]|0;ya=xa+52|0;if(!(Hz(ya,c,48)|0))C=0;else C=(f[c+16>>2]|0)+1|0;o=xa+40|0;if(!(d[o>>1]|0)){a:do if(!(f[c+96>>2]|0)){l=xa+43|0;$=20}else{zd(4,ra);k=xa+43|0;b:do if(!(b[k>>0]|0)){c=f[xa+4>>2]|0;c=lb[f[(f[c>>2]|0)+56>>2]&127](c,4,4,10)|0;switch(c|0){case 0:{$=15;break b}case 5:break b;default:{}}p=c;break a}else $=15;while(0);if(($|0)==15){m=f[ra>>2]|0;i=f[wa>>2]|0;c=f[i>>2]|0;j=c+96|0;$=xa+84|0;pa=xa+112|0;f[pa>>2]=(f[pa>>2]|0)+1;f[xa+68>>2]=0;pa=$+1|0;sa=$+2|0;n=$+3|0;l=(h[pa>>0]<<16|h[$>>0]<<24|h[sa>>0]<<8|h[n>>0])+1|0;b[$>>0]=l>>>24;b[pa>>0]=l>>>16;b[sa>>0]=l>>>8;b[n>>0]=l;f[xa+88>>2]=m;i=f[i>>2]|0;b[xa+64>>0]=1;f[ya>>2]=3007e3;n=f[ya+4>>2]|0;l=n+6014e3+(f[ya+8>>2]|0)|0;n=n+3007e3+(f[ya+12>>2]|0)+l|0;l=n+l|0;n=n+(f[ya+20>>2]|0)+l|0;l=l+(f[ya+24>>2]|0)+n|0;n=n+(f[ya+28>>2]|0)+l|0;l=l+(f[ya+32>>2]|0)+n|0;f[xa+92>>2]=l;f[xa+96>>2]=n+m+l;l=i+48|0;m=ya;n=l+48|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));if((b[k>>0]|0)!=2){sa=f[xa+4>>2]|0;ob[f[(f[sa>>2]|0)+60>>2]&127](sa)}l=i;m=ya;n=l+48|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));f[j>>2]=0;f[c+128>>2]=0;f[c+104>>2]=0;f[c+108>>2]=-1;f[c+112>>2]=-1;f[c+116>>2]=-1;if(!(b[k>>0]|0)){sa=f[xa+4>>2]|0;lb[f[(f[sa>>2]|0)+56>>2]&127](sa,4,4,9)|0}}l=k;$=20}while(0);if(($|0)==20){if(!(b[l>>0]|0)){sa=f[xa+4>>2]|0;lb[f[(f[sa>>2]|0)+56>>2]&127](sa,3,1,5)|0}d[o>>1]=-1;c=0;do{c=c+1|0;i=Fh(xa,ra,1,c)|0}while((i|0)==-1);p=i}if(p|0){e=p;t=Aa;return e|0}}sa=xa+68|0;l=f[sa>>2]|0;c:do if(!l){b[ra>>0]=55;b[ra+1>>0]=127;b[ra+2>>0]=6;b[ra+3>>0]=-126;c=ra+4|0;b[c>>0]=0;b[ra+5>>0]=45;b[ra+6>>0]=-30;b[ra+7>>0]=24;i=ra+8|0;b[i>>0]=va>>>24;b[ra+9>>0]=va>>>16;b[ra+10>>0]=va>>>8;b[ra+11>>0]=va;j=ra+12|0;pa=f[xa+112>>2]|0;b[j>>0]=pa>>>24;b[ra+13>>0]=pa>>>16;b[ra+14>>0]=pa>>>8;b[ra+15>>0]=pa;k=xa+84|0;if(!pa)zd(8,k);pa=k;Y=f[pa>>2]|0;pa=f[pa+4>>2]|0;W=ra+16|0;f[W>>2]=Y;f[W+4>>2]=pa;W=f[ra>>2]|0;X=(f[c>>2]|0)+W|0;c=X+W+(f[i>>2]|0)|0;i=(f[j>>2]|0)+X+c|0;c=c+Y+i|0;i=i+pa+c|0;b[ra+24>>0]=c>>>24;b[ra+25>>0]=c>>>16;b[ra+26>>0]=c>>>8;b[ra+27>>0]=c;b[ra+28>>0]=i>>>24;b[ra+29>>0]=i>>>16;b[ra+30>>0]=i>>>8;b[ra+31>>0]=i;f[xa+36>>2]=va;b[xa+65>>0]=0;f[xa+76>>2]=c;f[xa+80>>2]=i;b[xa+47>>0]=1;i=xa+8|0;c=f[i>>2]|0;c=mb[f[(f[c>>2]|0)+12>>2]&127](c,ra,32,0,0)|0;do if(!c){if((b[xa+48>>0]|0?(q=f[i>>2]|0,r=U>>>2&3,r|0):0)?(s=jb[f[(f[q>>2]|0)+20>>2]&255](q,r)|0,s|0):0){c=s;break}Y=i;break c}while(0);e=c;t=Aa;return e|0}else Y=xa+8|0;while(0);V=f[Y>>2]|0;W=va+24|0;X=((W|0)<0)<<31>>31;i=QA(l|0,0,W|0,X|0)|0;i=KA(i|0,ba()|0,32,0)|0;c=ba()|0;pa=(za|0)==0;d:do if(!pa){q=(C|0)==0;r=V;s=U&3;u=(s|0)==0;v=xa+104|0;w=((va|0)<0)<<31>>31;p=za;m=0;o=c;n=i;e:while(1){do if(q)$=47;else{j=p+16|0;if(!(R|(f[j>>2]|0)!=0)){L=0;S=l+1|0;$=49;break}f[ra>>2]=0;nh(xa,f[p+24>>2]|0,ra)|0;k=f[ra>>2]|0;if(k>>>0>>0){$=47;break}c=QA(k+-1|0,0,W|0,X|0)|0;c=KA(c|0,ba()|0,56,0)|0;i=ba()|0;if(((f[v>>2]|0)+-1|0)>>>0>=k>>>0)f[v>>2]=k;D=f[Y>>2]|0;D=mb[f[(f[D>>2]|0)+12>>2]&127](D,f[p+4>>2]|0,va,c,i)|0;if(D|0){$=45;break e}x=p+28|0;d[x>>1]=d[x>>1]&-65;x=l;y=m;z=j;A=n;B=o}while(0);if(($|0)==47){c=l+1|0;if(R){M=0;T=c;$=50}else{L=f[p+16>>2]|0;S=c;$=49}}if(($|0)==49){M=(L|0)==0?e:0;T=S;$=50}if(($|0)==50){$=0;m=f[p+4>>2]|0;Gh(xa,f[p+24>>2]|0,M,m,ra);if(!(o>>>0<4294967295|(o|0)==-1&n>>>0<4294967272)){l=0-n|0;c=mb[f[(f[r>>2]|0)+12>>2]&127](r,ra,l,n,o)|0;if(c|0){F=c;$=63;break}c=KA(n|0,o|0,l|0,((l|0)<0)<<31>>31|0)|0;i=ba()|0;j=n+24|0;if(u)k=0;else k=jb[f[(f[r>>2]|0)+20>>2]&255](r,s)|0;if((j|0)!=0&(k|0)==0){I=j;K=ra+l|0;N=c;O=i;$=55}else G=k}else{I=24;K=ra;N=n;O=o;$=55}if(($|0)==55){$=0;G=mb[f[(f[r>>2]|0)+12>>2]&127](r,K,I,N,O)|0}if(G|0){F=G;$=63;break}c=KA(n|0,o|0,24,0)|0;i=ba()|0;KA(c|0,i|0,va|0,w|0)|0;if(!((o|0)>-1|(o|0)==-1&n>>>0>4294967271|(ba()|0)<0)){l=-24-n|0;j=mb[f[(f[r>>2]|0)+12>>2]&127](r,m,l,c,i)|0;if(j|0){F=j;$=63;break}c=KA(c|0,i|0,l|0,((l|0)<0)<<31>>31|0)|0;i=ba()|0;j=va-l|0;if(u)k=0;else k=jb[f[(f[r>>2]|0)+20>>2]&255](r,s)|0;if((j|0)!=0&(k|0)==0){H=j;J=m+l|0;P=c;Q=i;$=62}else E=k}else{H=va;J=m;P=c;Q=i;$=62}if(($|0)==62){$=0;E=mb[f[(f[r>>2]|0)+12>>2]&127](r,J,H,P,Q)|0}c=p+28|0;if(E|0){ea=E;$=127;break}A=KA(n|0,o|0,W|0,X|0)|0;B=ba()|0;d[c>>1]=d[c>>1]|64;x=T;y=p;z=p+16|0}p=f[z>>2]|0;if(!p){na=x;ua=y;Z=A;_=B;break d}else{l=x;m=y;o=B;n=A}}if(($|0)==45){e=D;t=Aa;return e|0}else if(($|0)==63){e=F;t=Aa;return e|0}else if(($|0)==127){t=Aa;return ea|0}}else{na=l;ua=0;Z=i;_=c}while(0);B=(g|0)!=0;if(B){i=xa+104|0;if(f[i>>2]|0){m=(f[xa+36>>2]|0)+24|0;w=Fd(m)|0;if(!w){e=7;t=Aa;return e|0}p=f[i>>2]|0;o=(p|0)==1;n=((m|0)<0)<<31>>31;p=QA(p+-2|0,0,m|0,n|0)|0;p=KA(p|0,ba()|0,48,0)|0;c=ba()|0;q=f[Y>>2]|0;c=mb[f[(f[q>>2]|0)+8>>2]&127](q,w,8,o?24:p,o?0:c)|0;o=w+1|0;p=w+2|0;q=w+3|0;f[xa+76>>2]=h[o>>0]<<16|h[w>>0]<<24|h[p>>0]<<8|h[q>>0];r=w+4|0;s=w+5|0;u=w+6|0;v=w+7|0;f[xa+80>>2]=h[s>>0]<<16|h[r>>0]<<24|h[u>>0]<<8|h[v>>0];j=f[i>>2]|0;f[i>>2]=0;f:do if(!((c|0)!=0|j>>>0>na>>>0)){l=w+24|0;do{i=QA(j+-1|0,0,m|0,n|0)|0;i=KA(i|0,ba()|0,32,0)|0;k=ba()|0;c=f[Y>>2]|0;c=mb[f[(f[c>>2]|0)+8>>2]&127](c,w,m,i,k)|0;if(c|0)break f;Gh(xa,h[o>>0]<<16|h[w>>0]<<24|h[p>>0]<<8|h[q>>0],h[s>>0]<<16|h[r>>0]<<24|h[u>>0]<<8|h[v>>0],l,ra);c=f[Y>>2]|0;c=mb[f[(f[c>>2]|0)+12>>2]&127](c,ra,24,i,k)|0;j=j+1|0}while(!(j>>>0>na>>>0|(c|0)!=0))}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](w);else{T=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w)}if(c|0){e=c;t=Aa;return e|0}}A=U&3;do if(!A){i=0;k=0}else{if(b[xa+49>>0]|0){c=f[Y>>2]|0;i=f[(f[c>>2]|0)+44>>2]|0;if(!i){c=4096;i=0}else{i=ib[i&255](c)|0;U=(i|0)<32;i=(i|0)<65536?i:65536;c=U?512:i;i=U?0:((i|0)<0)<<31>>31}z=KA(Z|0,_|0,-1,-1)|0;z=KA(z|0,ba()|0,c|0,i|0)|0;w=ba()|0;v=RA(z|0,w|0,c|0,i|0)|0;v=LA(z|0,w|0,v|0,ba()|0)|0;w=ba()|0;z=(v|0)==(Z|0)&(w|0)==(_|0);g:do if((w|0)>(_|0)|(w|0)==(_|0)&v>>>0>Z>>>0){s=ua+4|0;u=ua+24|0;x=V;y=((va|0)<0)<<31>>31;k=0;r=Z;q=_;while(1){p=f[s>>2]|0;Gh(xa,f[u>>2]|0,e,p,ra);n=KA(r|0,q|0,24,0)|0;o=ba()|0;if(!((w|0)>(o|0)|(w|0)==(o|0)&v>>>0>n>>>0)){m=LA(v|0,w|0,r|0,q|0)|0;ba()|0;c=mb[f[(f[x>>2]|0)+12>>2]&127](x,ra,m,r,q)|0;if(c|0){ca=c;break}c=KA(r|0,q|0,m|0,((m|0)<0)<<31>>31|0)|0;i=ba()|0;j=24-m|0;l=jb[f[(f[x>>2]|0)+20>>2]&255](x,A)|0;if((j|0)!=0&(l|0)==0){ga=j;ia=ra+m|0;ja=c;ka=i;$=89}else da=l}else{ga=24;ia=ra;ja=r;ka=q;$=89}if(($|0)==89){$=0;da=mb[f[(f[x>>2]|0)+12>>2]&127](x,ia,ga,ja,ka)|0}if(da|0){ca=da;break}_=KA(n|0,o|0,va|0,y|0)|0;Z=ba()|0;if(!((w|0)<(o|0)|(w|0)==(o|0)&v>>>0<=n>>>0|((Z|0)<(w|0)|(Z|0)==(w|0)&_>>>0>>0))){m=LA(v|0,w|0,n|0,o|0)|0;ba()|0;c=mb[f[(f[x>>2]|0)+12>>2]&127](x,p,m,n,o)|0;if(c|0){ca=c;break}c=KA(n|0,o|0,m|0,((m|0)<0)<<31>>31|0)|0;i=ba()|0;j=va-m|0;l=jb[f[(f[x>>2]|0)+20>>2]&255](x,A)|0;if((j|0)!=0&(l|0)==0){fa=j;ha=p+m|0;la=c;ma=i;$=94}else aa=l}else{fa=va;ha=p;la=n;ma=o;$=94}if(($|0)==94){$=0;aa=mb[f[(f[x>>2]|0)+12>>2]&127](x,ha,fa,la,ma)|0}if(aa|0){ea=aa;$=127;break}r=KA(r|0,q|0,W|0,X|0)|0;q=ba()|0;k=k+1|0;if(!((w|0)>(q|0)|(w|0)==(q|0)&v>>>0>r>>>0))break g}if(($|0)==127){t=Aa;return ea|0}e=ca;t=Aa;return e|0}else k=0;while(0);if(!z){i=0;break}}else k=0;i=V;i=jb[f[(f[i>>2]|0)+20>>2]&255](i,A)|0}while(0);m=xa+47|0;if((b[m>>0]|0)!=0?(qa=xa+16|0,oa=f[qa>>2]|0,qa=f[qa+4>>2]|0,(qa|0)>-1|(qa|0)==-1&oa>>>0>4294967295):0){l=QA(k+na|0,0,W|0,X|0)|0;l=KA(l|0,ba()|0,32,0)|0;j=ba()|0;c=(j|0)>(qa|0)|(j|0)==(qa|0)&l>>>0>oa>>>0;l=c?l:oa;j=c?j:qa;c=f[Y>>2]|0;c=jb[f[(f[c>>2]|0)+24>>2]&255](c,ra)|0;qa=f[ra+4>>2]|0;if((c|0)==0&((qa|0)>(j|0)|((qa|0)==(j|0)?(f[ra>>2]|0)>>>0>l>>>0:0))){c=f[Y>>2]|0;c=kb[f[(f[c>>2]|0)+16>>2]&127](c,l,j)|0}if(c|0){f[ta>>2]=f[xa+108>>2];Ac(c,42647,ta)}b[m>>0]=0}}else{i=0;k=0}c=f[sa>>2]|0;if((za|0)!=0&(i|0)==0){l=za;do{j=c+1|0;if(!(d[l+28>>1]&64))i=0;else{i=Hh(xa,j,f[l+24>>2]|0)|0;c=j}l=f[l+16>>2]|0}while((i|0)==0&(l|0)!=0)}j=(i|0)==0;if((k|0)>0&j){l=ua+24|0;while(1){c=c+1|0;i=Hh(xa,c,f[l>>2]|0)|0;j=(i|0)==0;if((k|0)>1&j)k=k+-1|0;else{k=c;break}}}else k=c;if(j){d[xa+66>>1]=va&65280|va>>>16;f[sa>>2]=k;if(B){c=xa+60|0;m=f[c>>2]|0;f[c>>2]=m+1;f[xa+72>>2]=e;c=f[f[wa>>2]>>2]|0;b[xa+64>>0]=1;f[ya>>2]=3007e3;l=f[ya+4>>2]|0;m=m+6014001+l|0;l=l+3007e3+(f[ya+12>>2]|0)+m|0;m=m+k+l|0;l=l+e+m|0;m=m+(f[ya+24>>2]|0)+l|0;l=l+(f[ya+28>>2]|0)+m|0;m=m+(f[ya+32>>2]|0)+l|0;l=l+(f[ya+36>>2]|0)+m|0;f[xa+92>>2]=m;f[xa+96>>2]=l;l=c+48|0;m=ya;n=l+48|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));if((b[xa+43>>0]|0)!=2){e=f[xa+4>>2]|0;ob[f[(f[e>>2]|0)+60>>2]&127](e)}l=c;m=ya;n=l+48|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));f[xa+12>>2]=k}}else if(i|0){e=i;t=Aa;return e|0}j=a+88|0;i=f[j>>2]|0;if((i|0)==0|pa){e=0;t=Aa;return e|0}c=za;while(1){if(i|0)kh(i,f[c+24>>2]|0,f[c+4>>2]|0);c=f[c+16>>2]|0;if(!c){ea=0;break}i=f[j>>2]|0}t=Aa;return ea|0}function Dh(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+32|0;l=u+16|0;p=u;e=f[a+40>>2]|0;if(e|0){a=e;t=u;return a|0}a:do if(!(f[a+216>>2]|0)){k=a+17|0;g=a+13|0;h=a+60|0;i=a+176|0;j=a+180|0;b:while(1){switch(b[k>>0]|0){case 0:case 1:case 2:case 3:case 5:break;default:break a}if(b[g>>0]|0){g=7;break}e=f[h>>2]|0;e=jb[f[(f[e>>2]|0)+28>>2]&255](e,4)|0;switch(e|0){case 0:{g=7;break b}case 5:break;default:{g=36;break b}}if(!(ib[f[i>>2]&255](f[j>>2]|0)|0)){e=5;g=36;break}}if((g|0)==7){b[k>>0]=4;break}else if((g|0)==36){t=u;return e|0}}while(0);do if(!(b[a+7>>0]|0)){j=a+64|0;if(f[f[j>>2]>>2]|0?(b[a+5>>0]|0)!=4:0){i=f[a+60>>2]|0;i=ib[f[(f[i>>2]|0)+48>>2]&255](i)|0;k=(i&512|0)==0;c:do if(k){g=p;f[g>>2]=-117058087;f[g+4>>2]=-681336544;g=f[a+44>>2]|0;b[p+8>>0]=g>>>24;b[p+9>>0]=g>>>16;b[p+10>>0]=g>>>8;b[p+11>>0]=g;g=a+72|0;e=f[g>>2]|0;g=f[g+4>>2]|0;if((e|0)==0&(g|0)==0){g=0;h=0}else{e=KA(e|0,g|0,-1,-1)|0;h=ba()|0;g=f[a+148>>2]|0;h=OA(e|0,h|0,g|0,0)|0;h=KA(h|0,ba()|0,1,0)|0;g=QA(h|0,ba()|0,g|0,0)|0;h=ba()|0}e=f[j>>2]|0;e=mb[f[(f[e>>2]|0)+8>>2]&127](e,l,8,g,h)|0;if(!e)if(!(Hz(l,42612,8)|0)){e=f[j>>2]|0;e=mb[f[(f[e>>2]|0)+12>>2]&127](e,72789,1,g,h)|0;g=19}else g=20;else g=19;if((g|0)==19)switch(e|0){case 0:case 522:{g=20;break}default:{}}do if((g|0)==20){g=i&1024;if(((g|0)==0&(b[a+8>>0]|0)!=0?(m=f[j>>2]|0,n=b[a+10>>0]|0,n<<24>>24):0)?(o=jb[f[(f[m>>2]|0)+20>>2]&255](m,n&255)|0,o|0):0){e=o;break}o=f[j>>2]|0;e=a+80|0;e=mb[f[(f[o>>2]|0)+12>>2]&127](o,p,12,f[e>>2]|0,f[e+4>>2]|0)|0;if(!e){e=g;break c}}while(0);a=e;t=u;return a|0}else e=i&1024;while(0);if(((e|0)==0?(q=f[j>>2]|0,r=b[a+10>>0]|0,r=(r<<24>>24==3?16:0)|r&255,r|0):0)?(s=jb[f[(f[q>>2]|0)+20>>2]&255](q,r)|0,s|0):0){a=s;t=u;return a|0}q=a+72|0;r=f[q+4>>2]|0;s=a+80|0;f[s>>2]=f[q>>2];f[s+4>>2]=r;if((c|0)==0|k^1)break;f[a+44>>2]=0;e=Tg(a)|0;if(!e)break;t=u;return e|0}q=a+72|0;r=f[q+4>>2]|0;s=a+80|0;f[s>>2]=f[q>>2];f[s+4>>2]=r}while(0);g=f[a+212>>2]|0;e=f[g>>2]|0;if(e|0)do{s=e+28|0;d[s>>1]=d[s>>1]&-9;e=f[e+32>>2]|0}while((e|0)!=0);f[g+8>>2]=f[g+4>>2];b[a+16>>0]=4;a=0;t=u;return a|0}function Eh(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;u=t;t=t+16|0;l=u;s=a+60|0;g=f[s>>2]|0;if((f[g>>2]|0)==0?(e=f[a>>2]|0,e=mb[f[e+24>>2]&127](e,0,g,f[a+144>>2]&556897|30,0)|0,e|0):0){s=e;t=u;return s|0}k=a+36|0;g=f[k>>2]|0;j=a+24|0;e=f[j>>2]|0;do if(g>>>0>>0){if((f[c+16>>2]|0)==0?(f[c+24>>2]|0)>>>0<=g>>>0:0)break;r=f[a+152>>2]|0;r=QA(r|0,((r|0)<0)<<31>>31|0,e|0,0)|0;i=ba()|0;g=l;f[g>>2]=r;f[g+4>>2]=i;g=f[s>>2]|0;i=f[g>>2]|0;if(i){kb[f[i+40>>2]&127](g,5,l)|0;e=f[j>>2]|0}f[k>>2]=e}while(0);if(!c){s=0;t=u;return s|0}n=a+24|0;o=a+152|0;p=a+104|0;q=a+32|0;r=a+192|0;m=a+88|0;do{a=f[c+24>>2]|0;if(a>>>0<=(f[n>>2]|0)>>>0?(d[c+28>>1]&16)==0:0){e=f[o>>2]|0;g=QA(e|0,((e|0)<0)<<31>>31|0,a+-1|0,0)|0;i=ba()|0;j=(a|0)==1;if(j){k=f[c+20>>2]|0;k=((h[k+105>>0]|0)<<16|(h[k+104>>0]|0)<<24|(h[k+106>>0]|0)<<8|(h[k+107>>0]|0))+1|0;l=c+4|0;e=f[l>>2]|0;x=k>>>24&255;b[e+24>>0]=x;w=k>>>16&255;b[e+25>>0]=w;v=k>>>8&255;b[e+26>>0]=v;k=k&255;b[e+27>>0]=k;e=f[l>>2]|0;b[e+92>>0]=x;b[e+93>>0]=w;b[e+94>>0]=v;b[e+95>>0]=k;e=f[l>>2]|0;b[e+96>>0]=0;b[e+97>>0]=46;b[e+98>>0]=44;b[e+99>>0]=80;e=f[o>>2]|0}else l=c+4|0;k=f[l>>2]|0;x=f[s>>2]|0;e=mb[f[(f[x>>2]|0)+12>>2]&127](x,k,e,g,i)|0;if(j){j=p;g=k+24|0;i=j+16|0;do{b[j>>0]=b[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(i|0))}if(a>>>0>(f[q>>2]|0)>>>0)f[q>>2]=a;f[r>>2]=(f[r>>2]|0)+1;g=f[m>>2]|0;if(g)kh(g,a,f[l>>2]|0)}else e=0;c=f[c+16>>2]|0}while((e|0)==0&(c|0)!=0);t=u;return e|0}function Fh(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=t;t=t+64|0;v=B+32|0;k=B;i=B+48|0;w=B+44|0;x=B+40|0;do if((g|0)>5)if((g|0)>100){a=15;t=B;return a|0}else{A=g+-9|0;A=U(A*39|0,A)|0;z=f[a>>2]|0;jb[f[z+60>>2]&255](z,(g|0)>9?A:1)|0;break}while(0);a:do if(!e){A=a+50|0;if(!(b[A>>0]|0)){e=Ih(a,c)|0;b:do if((e|0)==5){if(!(f[f[a+32>>2]>>2]|0)){a=-1;t=B;return a|0}g=a+43|0;if(b[g>>0]|0){a=-1;t=B;return a|0}h=a+4|0;e=f[h>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,2,1,6)|0;switch(e|0){case 0:break;case 5:{a=261;t=B;return a|0}default:break b}if(b[g>>0]|0){a=-1;t=B;return a|0}a=f[h>>2]|0;lb[f[(f[a>>2]|0)+56>>2]&127](a,2,1,5)|0;a=-1;t=B;return a|0}while(0);if(e|0){a=e;t=B;return a|0}if(!(b[A>>0]|0)){i=a+32|0;m=(f[f[i>>2]>>2]|0)+96|0;l=a+52|0;g=a+68|0;if((f[m>>2]|0)!=(f[g>>2]|0)){e=0;break}k=a+43|0;h=b[k>>0]|0;if(!(h<<24>>24)){e=f[a+4>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,3,1,6)|0;h=b[k>>0]|0}else e=0;if(h<<24>>24!=2){c=f[a+4>>2]|0;ob[f[(f[c>>2]|0)+60>>2]&127](c)}switch(e|0){case 5:break a;case 0:break;default:{a=e;t=B;return a|0}}if(!(Hz(f[f[i>>2]>>2]|0,l,48)|0)){d[a+40>>1]=0;a=0;t=B;return a|0}if(b[k>>0]|0){a=-1;t=B;return a|0}a=f[a+4>>2]|0;lb[f[(f[a>>2]|0)+56>>2]&127](a,3,1,5)|0;a=-1;t=B;return a|0}}y=a+43|0;z=a+4|0;if(!(b[y>>0]|0)){e=f[z>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,3,1,6)|0;switch(e|0){case 0:{u=17;break}case 5:{e=-1;u=35;break}default:u=34}}else u=17;c:do if((u|0)==17){d[a+40>>1]=0;e=f[z>>2]|0;e=mb[f[(f[e>>2]|0)+52>>2]&127](e,0,32768,0,i)|0;switch(e|0){case 8:{e=-1;u=35;break c}case 1288:break;default:{u=34;break c}}e=a+52|0;g=f[f[a+32>>2]>>2]|0;h=e+48|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));u=a+8|0;e=f[u>>2]|0;e=jb[f[(f[e>>2]|0)+24>>2]&255](e,v)|0;if(!e){s=v;r=f[s+4>>2]|0;if((r|0)<0|(r|0)==0&(f[s>>2]|0)>>>0<32){f[c>>2]=1;e=((f[a+68>>2]|0)!=0)<<31>>31;u=34;break}e=f[u>>2]|0;e=mb[f[(f[e>>2]|0)+8>>2]&127](e,k,32,0,0)|0;if(!e)if(!(Hz(a+84|0,k+16|0,8)|0)){e=a+66|0;n=(j[e>>1]|0)+24|0;o=xd(n,0)|0;if(o){m=o+24|0;p=a+76|0;q=f[p>>2]|0;r=a+80|0;s=f[r>>2]|0;h=QA((j[e>>1]|0)+24|0,0,f[a+68>>2]|0,0)|0;h=KA(h|0,ba()|0,32,0)|0;i=ba()|0;e=KA(h|0,i|0,n|0,0)|0;g=ba()|0;l=v;k=f[l+4>>2]|0;d:do if((g|0)>(k|0)|((g|0)==(k|0)?e>>>0>(f[l>>2]|0)>>>0:0))e=0;else{l=e;k=g;g=h;e=i;while(1){i=f[u>>2]|0;e=mb[f[(f[i>>2]|0)+8>>2]&127](i,o,n,g,e)|0;if(e|0)break;if(!(Jh(a,w,x,m,o)|0)){e=0;break}if(f[x>>2]|0){e=-1;break d}e=KA(l|0,k|0,n|0,0)|0;g=ba()|0;i=v;h=f[i+4>>2]|0;if((g|0)>(h|0)|((g|0)==(h|0)?e>>>0>(f[i>>2]|0)>>>0:0)){e=0;break d}else{h=k;i=l;l=e;k=g;e=h;g=i}}}while(0);f[p>>2]=q;f[r>>2]=s;if(!(f[9328]|0)){ob[f[37360>>2]&127](o);u=34;break}else{u=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);u=34;break}}else{e=7;u=35}}else{e=-1;u=35}else u=35}else u=35}while(0);if((u|0)==34)if(!e)e=0;else u=35;if((u|0)==35){h=a+24|0;if((f[h>>2]|0)>0){i=a+32|0;g=0;do{k=f[(f[i>>2]|0)+(g<<2)>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{x=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[(f[i>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[h>>2]|0))}b[A>>0]=0;g=a+44|0;if(b[g>>0]|0){if(!(b[y>>0]|0)){A=f[z>>2]|0;lb[f[(f[A>>2]|0)+56>>2]&127](A,0,1,9)|0}b[g>>0]=0;f[a+104>>2]=0;b[a+47>>0]=0}g=a+40|0;h=d[g>>1]|0;if(h<<16>>16>-1){if(!(b[y>>0]|0)){a=f[z>>2]|0;lb[f[(f[a>>2]|0)+56>>2]&127](a,(h<<16>>16)+3|0,1,5)|0}d[g>>1]=-1}f[c>>2]=1}a=e;t=B;return a|0}else{e=0;l=a+52|0;g=a+68|0;m=(f[f[a+32>>2]>>2]|0)+96|0}while(0);s=f[g>>2]|0;h=m+8|0;o=f[h>>2]|0;k=o>>>0>s>>>0;o=k?0:o;n=m+12|0;p=f[n>>2]|0;z=o>>>0>p>>>0|p>>>0>s>>>0;p=z?o:p;o=m+16|0;c=f[o>>2]|0;y=p>>>0>c>>>0|c>>>0>s>>>0;c=y?p:c;p=m+20|0;i=f[p>>2]|0;A=c>>>0>i>>>0|i>>>0>s>>>0;k=A?(y?(z?(k^1)&1:2):3):4;i=A?c:i;e:do if(!(b[a+46>>0]&2)){if((k|0)==0|i>>>0>>0){q=a+43|0;r=a+4|0;f:do if(!(b[q>>0]|0)){e=f[r>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,4,1,10)|0;switch(e|0){case 0:{k=1;g=4;e=h;break f}case 5:break;default:{a=e;t=B;return a|0}}if(!(b[q>>0]|0)){e=f[r>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,5,1,10)|0;switch(e|0){case 0:{k=2;g=5;e=n;break f}case 5:break;default:{a=e;t=B;return a|0}}if(!(b[q>>0]|0)){e=f[r>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,6,1,10)|0;switch(e|0){case 0:{k=3;g=6;e=o;break f}case 5:break;default:{a=e;t=B;return a|0}}if(!(b[q>>0]|0)){e=f[r>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,7,1,10)|0;switch(e|0){case 5:{u=69;break e}case 0:{k=4;g=7;e=p;break f}default:{}}t=B;return e|0}else{k=4;g=7;e=p}}else{k=3;g=6;e=o}}else{k=2;g=5;e=n}}else{k=1;g=4;e=h}while(0);f[e>>2]=s;if(!(b[q>>0]|0)){i=f[r>>2]|0;lb[f[(f[i>>2]|0)+56>>2]&127](i,g,1,9)|0;i=s}else i=s}}else u=69;while(0);if((u|0)==69)if(!k){a=(e|0)==5?-1:1288;t=B;return a|0}g=k+3|0;h=a+43|0;e=b[h>>0]|0;do if(!(e<<24>>24)){e=f[a+4>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,g,1,6)|0;if(!e){e=b[h>>0]|0;break}a=(e|0)==5?-1:e;t=B;return a|0}while(0);f[a+100>>2]=(f[m>>2]|0)+1;if(e<<24>>24!=2){c=f[a+4>>2]|0;ob[f[(f[c>>2]|0)+60>>2]&127](c)}if((f[m+4+(k<<2)>>2]|0)==(i|0)?(Hz(f[f[a+32>>2]>>2]|0,l,48)|0)==0:0){d[a+40>>1]=k;a=0;t=B;return a|0}if(b[h>>0]|0){a=-1;t=B;return a|0}a=f[a+4>>2]|0;lb[f[(f[a>>2]|0)+56>>2]&127](a,g,1,5)|0;a=-1;t=B;return a|0}function Gh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0;j=a+76|0;b[g>>0]=c>>>24;b[g+1>>0]=c>>>16;b[g+2>>0]=c>>>8;b[g+3>>0]=c;b[g+4>>0]=d>>>24;b[g+5>>0]=d>>>16;b[g+6>>0]=d>>>8;b[g+7>>0]=d;c=g+8|0;if(f[a+104>>2]|0){d=c+16|0;do{b[c>>0]=0;c=c+1|0}while((c|0)<(d|0));return}i=a+84|0;k=i;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;d=c;b[d>>0]=k;b[d+1>>0]=k>>8;b[d+2>>0]=k>>16;b[d+3>>0]=k>>24;c=c+4|0;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;c=f[j>>2]|0;i=a+80|0;d=f[i>>2]|0;if(!(b[a+65>>0]|0)){k=c+d+(f[g>>2]|0)|0;c=(f[g+4>>2]|0)+d+k|0;f[j>>2]=k;f[i>>2]=c;a=e+(f[a+36>>2]|0)|0;d=k;do{d=d+c+(f[e>>2]|0)|0;c=(f[e+4>>2]|0)+c+d|0;e=e+8|0}while(e>>>0>>0)}else{k=c+d+(XA(f[g>>2]|0)|0)|0;c=(XA(f[g+4>>2]|0)|0)+d+k|0;f[j>>2]=k;f[i>>2]=c;a=e+(f[a+36>>2]|0)|0;d=k;do{d=d+c+(XA(f[e>>2]|0)|0)|0;c=(XA(f[e+4>>2]|0)|0)+c+d|0;e=e+8|0}while(e>>>0>>0)}f[j>>2]=d;f[i>>2]=c;b[g+16>>0]=d>>>24;b[g+17>>0]=d>>>16;b[g+18>>0]=d>>>8;b[g+19>>0]=d;k=f[i>>2]|0;b[g+20>>0]=k>>>24;b[g+21>>0]=k>>>16;b[g+22>>0]=k>>>8;b[g+23>>0]=k;return}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;v=t;t=t+48|0;u=v;p=v+24|0;s=v+12|0;h=b+33|0;i=h>>>12;l=s+4|0;o=a+24|0;if(!((f[o>>2]|0)>(i|0)?(g=f[(f[a+32>>2]|0)+(i<<2)>>2]|0,f[l>>2]=g,(g|0)!=0):0))n=3;do if((n|0)==3){g=eh(a,i,l)|0;if(!g){g=f[l>>2]|0;break}else{c=g;t=v;return c|0}}while(0);r=g+16384|0;f[s>>2]=r;if(!i){k=g+136|0;f[l>>2]=k;h=0}else{h=(h&-4096)+-34|0;k=g}f[s+8>>2]=h;i=k+-4|0;f[l>>2]=i;l=b-h|0;if((l|0)==1)_A(k|0,0,g+32768-k|0)|0;b=i+(l<<2)|0;if(f[b>>2]|0?(q=a+68|0,m=f[q>>2]|0,m|0):0){g=m+33|0;h=g>>>12;k=p+4|0;if((f[o>>2]|0)>(h|0)?(e=f[(f[a+32>>2]|0)+(h<<2)>>2]|0,f[k>>2]=e,(e|0)!=0):0)n=17;else n=14;do if((n|0)==14)if(!(eh(a,h,k)|0)){e=f[k>>2]|0;n=17;break}else{g=f[p+8>>2]|0;i=f[p>>2]|0;break}while(0);if((n|0)==17){i=e+16384|0;f[p>>2]=i;if(!h){e=e+136|0;f[k>>2]=e;g=0}else g=(g&-4096)+-34|0;f[p+8>>2]=g;f[k>>2]=e+-4}g=(f[q>>2]|0)-g|0;e=0;do{h=i+(e<<1)|0;if((g|0)<(j[h>>1]|0))d[h>>1]=0;e=e+1|0}while((e|0)!=8192);q=(f[k>>2]|0)+(g+1<<2)|0;_A(q|0,0,i-q|0)|0}g=c*383&8191;e=r+(g<<1)|0;a:do if(d[e>>1]|0){i=f[s>>2]|0;h=l;while(1){if(!h)break;g=g+1&8191;e=i+(g<<1)|0;if(!(d[e>>1]|0))break a;else h=h+-1|0}f[u>>2]=42469;f[u+4>>2]=59157;f[u+8>>2]=40460;Ac(11,40408,u);c=11;t=v;return c|0}while(0);f[b>>2]=c;d[e>>1]=l;c=0;t=v;return c|0}function Ih(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=t;t=t+96|0;L=O+64|0;H=O+56|0;p=O+40|0;C=O+32|0;m=O;D=O+84|0;E=O+80|0;j=O+76|0;N=a+24|0;if((f[N>>2]|0)>0?(M=f[f[a+32>>2]>>2]|0,f[j>>2]=M,(M|0)!=0):0){e=0;M=6}else{e=eh(a,0,j)|0;switch(e|0){case 0:break;case 1288:{b[a+50>>0]=1;b[a+43>>0]=2;f[c>>2]=1;break}default:{N=e;t=O;return N|0}}if(!(f[j>>2]|0)){g=1;M=7}else M=6}if((M|0)==6){g=Kh(a,c)|0;if(!g)M=67;else M=7}do if((M|0)==7){if((b[a+50>>0]|0)==0?b[a+46>>0]&2:0){g=a+43|0;if(b[g>>0]|0){e=264;break}i=a+4|0;e=f[i>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,0,1,6)|0;if(e|0)break;if(b[g>>0]|0){e=264;break}e=f[i>>2]|0;lb[f[(f[e>>2]|0)+56>>2]&127](e,0,1,5)|0;e=264;break}J=a+43|0;if((b[J>>0]|0)==0?(i=f[a+4>>2]|0,i=lb[f[(f[i>>2]|0)+56>>2]&127](i,0,1,10)|0,i|0):0){e=i;break}I=a+44|0;b[I>>0]=1;if((f[N>>2]|0)>0?(G=f[f[a+32>>2]>>2]|0,f[j>>2]=G,(G|0)!=0):0)M=18;else{e=eh(a,0,j)|0;if(!e)M=18}if((M|0)==18){g=Kh(a,c)|0;if(!g){g=0;e=0}else{G=h[a+45>>0]|0;F=G+1|0;G=2-G|0;if(!(b[J>>0]|0)){i=a+4|0;e=f[i>>2]|0;e=lb[f[(f[e>>2]|0)+56>>2]&127](e,F,G,10)|0;if(!e)if((b[J>>0]|0)==0?(k=f[i>>2]|0,k=lb[f[(f[k>>2]|0)+56>>2]&127](k,4,4,10)|0,(k|0)!=0):0)if(!(b[J>>0]|0)){e=f[i>>2]|0;lb[f[(f[e>>2]|0)+56>>2]&127](e,F,G,9)|0;e=k}else e=k;else M=25}else M=25;if((M|0)==25){B=a+52|0;i=B;l=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(l|0));A=a+8|0;e=f[A>>2]|0;e=jb[f[(f[e>>2]|0)+24>>2]&255](e,C)|0;a:do if(!e){z=C;y=f[z+4>>2]|0;b:do if((y|0)>0|(y|0)==0&(f[z>>2]|0)>>>0>32){e=f[A>>2]|0;e=mb[f[(f[e>>2]|0)+8>>2]&127](e,m,32,0,0)|0;c:do if(!e){e=h[m+3>>0]|0;i=m+8|0;n=h[m+9>>0]<<16|h[i>>0]<<24;o=h[m+10>>0]<<8;l=n|o|h[m+11>>0];if((h[m+1>>0]<<16|h[m>>0]<<24|h[m+2>>0]<<8|e&254|0)==931071618?!((l+-512|0)>>>0>65024|(l+-1&l|0)!=0):0){y=e&1;b[a+65>>0]=y;f[a+36>>2]=l;e=m+12|0;f[a+112>>2]=h[m+13>>0]<<16|h[e>>0]<<24|h[m+14>>0]<<8|h[m+15>>0];x=m+16|0;j=f[x>>2]|0;x=f[x+4>>2]|0;z=a+84|0;f[z>>2]=j;f[z+4>>2]=x;z=a+76|0;if(!y){y=f[m>>2]|0;k=f[m+4>>2]|0;x=k+y|0;y=x+y+(f[i>>2]|0)|0;i=(f[e>>2]|0)+x+y|0;e=i+(f[m+20>>2]|0)|0;i=y+j+i|0}else{x=XA(f[m>>2]|0)|0;k=f[m+4>>2]|0;y=(XA(k|0)|0)+x|0;i=y+x+(XA(f[i>>2]|0)|0)|0;e=(XA(f[e>>2]|0)|0)+y+i|0;i=i+(XA(j|0)|0)+e|0;e=e+(XA(f[m+20>>2]|0)|0)|0}e=e+i|0;f[z>>2]=i;y=a+80|0;f[y>>2]=e;do if((i|0)==(h[m+25>>0]<<16|h[m+24>>0]<<24|h[m+26>>0]<<8|h[m+27>>0]|0)){if((e|0)!=(h[m+29>>0]<<16|h[m+28>>0]<<24|h[m+30>>0]<<8|h[m+31>>0]|0))break;if((h[m+5>>0]<<16|k<<24|h[m+6>>0]<<8|h[m+7>>0]|0)!=3007e3){f[p>>2]=40896;f[p+4>>2]=59295;f[p+8>>2]=40460;Ac(14,40408,p);e=14;break a}r=l+24|0;s=((r|0)<0)<<31>>31;x=xd(r,s)|0;if(!x){e=7;break c}u=x+24|0;e=KA(r|0,s|0,32,0)|0;m=ba()|0;w=C;v=f[w+4>>2]|0;d:do if((m|0)>(v|0)|((m|0)==(v|0)?e>>>0>(f[w>>2]|0)>>>0:0)){e=0;i=0;j=0}else{v=a+68|0;w=a+72|0;p=(n>>>16|o)&65535;q=a+66|0;o=0;i=0;j=0;k=32;l=0;n=e;while(1){o=o+1|0;e=f[A>>2]|0;e=mb[f[(f[e>>2]|0)+8>>2]&127](e,x,r,k,l)|0;if(e|0)break;if(!(Jh(a,D,E,u,x)|0)){e=0;break}e=Hh(a,o,f[D>>2]|0)|0;if(e|0)break;e=f[E>>2]|0;if(e){f[v>>2]=o;f[w>>2]=e;d[q>>1]=p;i=f[z>>2]|0;j=f[y>>2]|0}e=KA(n|0,m|0,r|0,s|0)|0;k=ba()|0;l=C;P=f[l+4>>2]|0;if((k|0)>(P|0)|((k|0)==(P|0)?e>>>0>(f[l>>2]|0)>>>0:0)){e=0;break d}else{l=m;P=n;n=e;m=k;k=P}}}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](x);else{P=ib[f[37368>>2]&255](x)|0;f[18187]=(f[18187]|0)-P;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](x)}if(!e){e=j;break b}else break a}while(0);i=0;e=0;break b}i=0;e=0;break b}while(0);break a}else{i=0;e=0}while(0);f[a+76>>2]=i;f[a+80>>2]=e;j=a+32|0;k=f[f[j>>2]>>2]|0;b[a+64>>0]=1;f[B>>2]=3007e3;P=f[B+4>>2]|0;l=P+6014e3+(f[B+8>>2]|0)|0;P=P+3007e3+(f[B+12>>2]|0)+l|0;l=(f[B+16>>2]|0)+l+P|0;P=(f[B+20>>2]|0)+P+l|0;l=l+i+P|0;i=P+e+l|0;e=l+(f[B+32>>2]|0)+i|0;i=i+(f[B+36>>2]|0)+e|0;f[a+92>>2]=e;f[a+96>>2]=i;i=k+48|0;e=B;l=i+48|0;do{b[i>>0]=b[e>>0]|0;i=i+1|0;e=e+1|0}while((i|0)<(l|0));if((b[J>>0]|0)!=2){P=f[a+4>>2]|0;ob[f[(f[P>>2]|0)+60>>2]&127](P)}i=k;e=B;l=i+48|0;do{b[i>>0]=b[e>>0]|0;i=i+1|0;e=e+1|0}while((i|0)<(l|0));j=f[f[j>>2]>>2]|0;f[j+96>>2]=0;e=a+68|0;f[j+128>>2]=f[e>>2];f[j+100>>2]=0;i=j+104|0;f[i>>2]=-1;f[j+108>>2]=-1;f[j+112>>2]=-1;f[j+116>>2]=-1;j=f[e>>2]|0;if(j|0)f[i>>2]=j;if(!(f[a+72>>2]|0))e=0;else{P=f[a+108>>2]|0;f[H>>2]=f[e>>2];f[H+4>>2]=P;Ac(283,42673,H);e=0}}while(0);if((b[J>>0]|0)==0?(K=a+4|0,P=f[K>>2]|0,lb[f[(f[P>>2]|0)+56>>2]&127](P,F,G,9)|0,(b[J>>0]|0)==0):0){P=f[K>>2]|0;lb[f[(f[P>>2]|0)+56>>2]&127](P,4,4,9)|0}}f[c>>2]=1}}b[I>>0]=0;if(!(b[J>>0]|0)){P=f[a+4>>2]|0;lb[f[(f[P>>2]|0)+56>>2]&127](P,0,1,9)|0}if(!g)M=67}while(0);if((M|0)==67)if((f[a+52>>2]|0)!=3007e3){f[L>>2]=40896;f[L+4>>2]=60273;f[L+8>>2]=40460;Ac(14,40408,L);e=14}i=a+50|0;if(!(b[i>>0]|0)){P=e;t=O;return P|0}l=a+43|0;if(!e)e=0;else{if((f[N>>2]|0)>0){j=a+32|0;g=0;do{k=f[(f[j>>2]|0)+(g<<2)>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{P=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-P;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[(f[j>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[N>>2]|0))}if((b[l>>0]|0)!=2){P=f[a+4>>2]|0;jb[f[(f[P>>2]|0)+64>>2]&255](P,0)|0}b[i>>0]=0;e=(e|0)==522?-1:e}b[l>>0]=0;P=e;t=O;return P|0}function Jh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=a+76|0;if(Hz(a+84|0,g+8|0,8)|0){n=0;return n|0}l=h[g+1>>0]<<16|h[g>>0]<<24|h[g+2>>0]<<8|h[g+3>>0];if(!l){n=0;return n|0}i=f[n>>2]|0;m=a+80|0;j=f[m>>2]|0;if(!(b[a+65>>0]|0)){i=i+j+(f[g>>2]|0)|0;o=(f[g+4>>2]|0)+j+i|0;f[n>>2]=i;f[m>>2]=o;k=e+(f[a+36>>2]|0)|0;j=e;a=o;do{i=i+a+(f[j>>2]|0)|0;a=(f[j+4>>2]|0)+a+i|0;j=j+8|0}while(j>>>0>>0)}else{i=i+j+(XA(f[g>>2]|0)|0)|0;o=(XA(f[g+4>>2]|0)|0)+j+i|0;f[n>>2]=i;f[m>>2]=o;k=e+(f[a+36>>2]|0)|0;j=e;a=o;do{i=i+a+(XA(f[j>>2]|0)|0)|0;a=(XA(f[j+4>>2]|0)|0)+a+i|0;j=j+8|0}while(j>>>0>>0)}f[n>>2]=i;f[m>>2]=a;if((i|0)!=(h[g+17>>0]<<16|h[g+16>>0]<<24|h[g+18>>0]<<8|h[g+19>>0]|0)){o=0;return o|0}if((a|0)!=(h[g+21>>0]<<16|h[g+20>>0]<<24|h[g+22>>0]<<8|h[g+23>>0]|0)){o=0;return o|0}f[c>>2]=l;f[d>>2]=h[g+5>>0]<<16|h[g+4>>0]<<24|h[g+6>>0]<<8|h[g+7>>0];o=1;return o|0}function Kh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0;l=t;t=t+96|0;k=l+48|0;e=l;g=f[f[a+32>>2]>>2]|0;d=k;h=g;i=d+48|0;do{b[d>>0]=b[h>>0]|0;d=d+1|0;h=h+1|0}while((d|0)<(i|0));if((b[a+43>>0]|0)!=2){i=f[a+4>>2]|0;ob[f[(f[i>>2]|0)+60>>2]&127](i)}d=e;h=g+48|0;i=d+48|0;do{b[d>>0]=b[h>>0]|0;d=d+1|0;h=h+1|0}while((d|0)<(i|0));if(Hz(k,e,48)|0){k=1;t=l;return k|0}if(!(b[k+12>>0]|0)){k=1;t=l;return k|0}e=f[k>>2]|0;d=(f[k+4>>2]|0)+e|0;e=e+d+(f[k+8>>2]|0)|0;d=(f[k+12>>2]|0)+d+e|0;e=e+d+(f[k+16>>2]|0)|0;d=(f[k+20>>2]|0)+d+e|0;e=e+d+(f[k+24>>2]|0)|0;d=(f[k+28>>2]|0)+d+e|0;e=e+d+(f[k+32>>2]|0)|0;if((e|0)!=(f[k+40>>2]|0)){k=1;t=l;return k|0}if(((f[k+36>>2]|0)+d+e|0)!=(f[k+44>>2]|0)){k=1;t=l;return k|0}d=a+52|0;if(!(Hz(d,k,48)|0)){k=0;t=l;return k|0}f[c>>2]=1;h=k;i=d+48|0;do{f[d>>2]=f[h>>2];d=d+4|0;h=h+4|0}while((d|0)<(i|0));k=j[a+66>>1]|0;f[a+36>>2]=k<<16&65536|k&65024;k=0;t=l;return k|0}function Lh(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=t;t=t+160|0;r=_+144|0;o=_+128|0;T=_+112|0;R=_+96|0;V=_+80|0;Q=_+64|0;P=_+48|0;W=_+32|0;S=_+16|0;j=_;Z=_+156|0;q=a+12|0;k=f[q>>2]|0;p=a+44|0;X=f[p>>2]|0;O=k+56|0;N=f[O>>2]|0;N=h[N+37>>0]<<16|h[N+36>>0]<<24|h[N+38>>0]<<8|h[N+39>>0];if(N>>>0>=X>>>0){f[j>>2]=42469;f[j+4>>2]=68756;f[j+8>>2]=40460;Ac(11,40408,j);c=11;t=_;return c|0}if(!N){i=(b[a+19>>0]|0)==0&1;k=f[k+72>>2]|0;l=f[k+20>>2]|0;if((d[k+28>>1]&4)!=0?(f[l+24>>2]|0)>>>0>=(f[k+24>>2]|0)>>>0:0)if(!(f[l+96>>2]|0))k=X;else{j=Ng(k)|0;Y=190}else Y=186;do if((Y|0)==186){j=f[l+40>>2]|0;if(j|0){c=j;t=_;return c|0}if((f[l+148>>2]|0)>>>0>(f[l+152>>2]|0)>>>0){j=Og(k)|0;Y=190;break}else{j=Pg(k)|0;Y=190;break}}while(0);do if((Y|0)==190)if(!j){k=f[p>>2]|0;break}else{c=j;t=_;return c|0}while(0);j=k+1|0;f[p>>2]=j;n=a+32|0;l=1073741824/((f[n>>2]|0)>>>0)|0;if((k|0)==(l|0)){j=k+2|0;f[p>>2]=j}if(b[a+17>>0]|0){if(j>>>0<2)k=0;else{k=j+-2|0;k=k-((k>>>0)%(((((f[a+36>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;k=((k+1|0)==(l|0)?3:2)+k|0}if((k|0)==(j|0)){k=f[a>>2]|0;k=lb[f[k+204>>2]&127](k,j,Z,i)|0;if(k|0){c=k;t=_;return c|0}k=f[Z>>2]|0;m=f[k+8>>2]|0;l=m+4|0;if((f[l>>2]|0)==(j|0))j=f[m+72>>2]|0;else{f[m+56>>2]=f[k+4>>2];f[m+72>>2]=k;f[m+52>>2]=a;f[l>>2]=j;b[m+9>>0]=(j|0)==1?100:0;j=k}if((d[j+30>>1]|0)>1){j=f[m+72>>2]|0;if(!(d[j+28>>1]&32))bh(j);else{c=f[j+20>>2]|0;a=c+120|0;f[a>>2]=(f[a>>2]|0)+-1;c=c+136|0;f[j+16>>2]=f[c>>2];f[c>>2]=j}f[o>>2]=42469;f[o+4>>2]=65131;f[o+8>>2]=40460;Ac(11,40408,o);c=11;t=_;return c|0}b[m>>0]=0;m=m+72|0;j=f[m>>2]|0;l=f[j+20>>2]|0;if((d[j+28>>1]&4)!=0?(f[l+24>>2]|0)>>>0>=(f[j+24>>2]|0)>>>0:0)if(!(f[l+96>>2]|0))k=0;else k=Ng(j)|0;else Y=212;do if((Y|0)==212){k=f[l+40>>2]|0;if(!k)if((f[l+148>>2]|0)>>>0>(f[l+152>>2]|0)>>>0){k=Og(j)|0;break}else{k=Pg(j)|0;break}}while(0);j=f[m>>2]|0;if(!(d[j+28>>1]&32))bh(j);else{Y=f[j+20>>2]|0;X=Y+120|0;f[X>>2]=(f[X>>2]|0)+-1;Y=Y+136|0;f[j+16>>2]=f[Y>>2];f[Y>>2]=j}if(k|0){c=k;t=_;return c|0}k=f[p>>2]|0;j=k+1|0;f[p>>2]=j;if((k|0)==(1073741824/((f[n>>2]|0)>>>0)|0|0)){j=k+2|0;f[p>>2]=j}}}m=f[(f[q>>2]|0)+56>>2]|0;b[m+28>>0]=j>>>24;b[m+29>>0]=j>>>16;b[m+30>>0]=j>>>8;b[m+31>>0]=j;m=f[p>>2]|0;f[e>>2]=m;j=f[a>>2]|0;j=lb[f[j+204>>2]&127](j,m,Z,i)|0;if(j|0){f[c>>2]=0;c=j;t=_;return c|0}j=f[Z>>2]|0;k=f[j+8>>2]|0;l=k+4|0;if((f[l>>2]|0)==(m|0))j=k+72|0;else{f[k+56>>2]=f[j+4>>2];Z=k+72|0;f[Z>>2]=j;f[k+52>>2]=a;f[l>>2]=m;b[k+9>>0]=(m|0)==1?100:0;j=Z}f[c>>2]=k;m=f[j>>2]|0;if((d[m+30>>1]|0)>1){do if(k|0)if(!(d[m+28>>1]&32)){bh(m);break}else{a=f[m+20>>2]|0;Z=a+120|0;f[Z>>2]=(f[Z>>2]|0)+-1;a=a+136|0;f[m+16>>2]=f[a>>2];f[a>>2]=m;break}while(0);f[c>>2]=0;f[r>>2]=42469;f[r+4>>2]=65131;f[r+8>>2]=40460;Ac(11,40408,r);c=11;t=_;return c|0}b[k>>0]=0;l=f[m+20>>2]|0;do if((d[m+28>>1]&4)!=0?(f[l+24>>2]|0)>>>0>=(f[m+24>>2]|0)>>>0:0)if(!(f[l+96>>2]|0)){c=0;t=_;return c|0}else{j=Ng(m)|0;Y=241;break}else Y=237;while(0);do if((Y|0)==237){j=f[l+40>>2]|0;if(!j)if((f[l+148>>2]|0)>>>0>(f[l+152>>2]|0)>>>0){j=Og(m)|0;Y=241;break}else{j=Pg(m)|0;Y=241;break}else Y=243}while(0);do if((Y|0)==241)if(j){k=f[c>>2]|0;if(!k)break;else{Y=243;break}}else{c=0;t=_;return c|0}while(0);do if((Y|0)==243){k=f[k+72>>2]|0;if(!(d[k+28>>1]&32)){bh(k);break}else{a=f[k+20>>2]|0;Z=a+120|0;f[Z>>2]=(f[Z>>2]|0)+-1;a=a+136|0;f[k+16>>2]=f[a>>2];f[a>>2]=k;break}}while(0);f[c>>2]=0;c=j;t=_;return c|0}a:do switch(i<<24>>24){case 1:{if(X>>>0>>0)n=0;else{j=rh(a,g,Z,0)|0;if(!j){n=(b[Z>>0]|0)==2&1;break a}c=j;t=_;return c|0}break}case 2:{n=1;break}default:n=0}while(0);k=f[k+72>>2]|0;l=f[k+20>>2]|0;if((d[k+28>>1]&4)!=0?(f[l+24>>2]|0)>>>0>=(f[k+24>>2]|0)>>>0:0){if(f[l+96>>2]|0){m=Ng(k)|0;Y=18}}else Y=14;do if((Y|0)==14){j=f[l+40>>2]|0;if(j|0){c=j;t=_;return c|0}if((f[l+148>>2]|0)>>>0>(f[l+152>>2]|0)>>>0){m=Og(k)|0;Y=18;break}else{m=Pg(k)|0;Y=18;break}}while(0);if((Y|0)==18?m|0:0){c=m;t=_;return c|0}G=f[O>>2]|0;H=N+-1|0;b[G+36>>0]=H>>>24;b[G+37>>0]=H>>>16;b[G+38>>0]=H>>>8;b[G+39>>0]=H;G=a+36|0;H=(g|0)==0;F=i<<24>>24==2;E=a+60|0;D=0;l=0;b:while(1){C=l;y=(l|0)!=0;if(y){k=f[C+56>>2]|0;j=h[k+1>>0]<<16|h[k>>0]<<24|h[k+2>>0]<<8;k=k+3|0}else{k=f[O>>2]|0;j=h[k+33>>0]<<16|h[k+32>>0]<<24|h[k+34>>0]<<8;k=k+35|0}i=j|h[k>>0];if(i>>>0>X>>>0){Y=25;break}if(D>>>0>N>>>0){Y=25;break}D=D+1|0;k=f[a>>2]|0;k=lb[f[k+204>>2]&127](k,i,Z,0)|0;if(k|0){Y=35;break}j=f[Z>>2]|0;B=f[j+8>>2]|0;k=B+4|0;if((f[k>>2]|0)==(i|0))w=f[B+72>>2]|0;else{f[B+56>>2]=f[j+4>>2];f[B+72>>2]=j;f[B+52>>2]=a;f[k>>2]=i;b[B+9>>0]=(i|0)==1?100:0;w=j}j=B;if((d[w+30>>1]|0)>1){Y=31;break}b[B>>0]=0;z=B+56|0;x=f[z>>2]|0;r=x+4|0;s=x+5|0;u=x+6|0;v=x+7|0;A=h[s>>0]<<16|h[r>>0]<<24|h[u>>0]<<8|h[v>>0];q=n<<24>>24!=0;c:do if(q|(A|0)!=0){if(A>>>0>(((f[G>>2]|0)>>>2)+-2|0)>>>0){Y=49;break b}if(n<<24>>24?(i|0)==(g|0)|F&i>>>0>>0:0){f[e>>2]=i;f[c>>2]=j;j=f[B+72>>2]|0;m=f[j+20>>2]|0;if((d[j+28>>1]&4)!=0?(f[m+24>>2]|0)>>>0>=(f[j+24>>2]|0)>>>0:0){if(f[m+96>>2]|0){I=Ng(j)|0;Y=60}}else Y=56;do if((Y|0)==56){k=f[m+40>>2]|0;if(k|0){Y=251;break b}if((f[m+148>>2]|0)>>>0>(f[m+152>>2]|0)>>>0){I=Og(j)|0;Y=60;break}else{I=Pg(j)|0;Y=60;break}}while(0);if((Y|0)==60?(Y=0,I|0):0){Y=248;break b}if(!A){if(!y){Y=63;break b}i=C+72|0;j=f[i>>2]|0;m=f[j+20>>2]|0;do if(!(d[j+28>>1]&4))Y=68;else{if((f[m+24>>2]|0)>>>0<(f[j+24>>2]|0)>>>0){Y=68;break}if(!(f[m+96>>2]|0))break;J=Ng(j)|0;Y=72}while(0);do if((Y|0)==68){k=f[m+40>>2]|0;if(k|0){Y=252;break b}if((f[m+148>>2]|0)>>>0>(f[m+152>>2]|0)>>>0){J=Og(j)|0;Y=72;break}else{J=Pg(j)|0;Y=72;break}}while(0);if((Y|0)==72?(0,J|0):0){Y=249;break b}n=f[C+56>>2]|0;k=f[z>>2]|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[n>>0]=k;b[n+1>>0]=k>>8;b[n+2>>0]=k>>16;b[n+3>>0]=k>>24;n=0;k=0;l=i;j=0;Y=178;break}s=f[z>>2]|0;p=b[s+8>>0]|0;q=b[s+9>>0]|0;r=b[s+10>>0]|0;s=b[s+11>>0]|0;m=(q&255)<<16|(p&255)<<24|(r&255)<<8|s&255;if(m>>>0>X>>>0){Y=75;break b}k=f[a>>2]|0;k=lb[f[k+204>>2]&127](k,m,Z,0)|0;if(k|0){Y=85;break b}j=f[Z>>2]|0;o=f[j+8>>2]|0;k=o+4|0;if((f[k>>2]|0)==(m|0))j=f[o+72>>2]|0;else{f[o+56>>2]=f[j+4>>2];f[o+72>>2]=j;f[o+52>>2]=a;f[k>>2]=m;b[o+9>>0]=(m|0)==1?100:0}if((d[j+30>>1]|0)>1){Y=81;break b}b[o>>0]=0;j=o+72|0;n=f[j>>2]|0;i=f[n+20>>2]|0;m=d[n+28>>1]|0;do if(!(m&4))Y=90;else{if((f[i+24>>2]|0)>>>0<(f[n+24>>2]|0)>>>0){Y=90;break}if(!(f[i+96>>2]|0))break;K=Ng(n)|0;Y=94}while(0);do if((Y|0)==90){k=f[i+40>>2]|0;if(k|0){Y=96;break b}if((f[i+148>>2]|0)>>>0>(f[i+152>>2]|0)>>>0){K=Og(n)|0;Y=94;break}else{K=Pg(n)|0;Y=94;break}}while(0);if((Y|0)==94?(Y=0,K|0):0){Y=95;break b}x=o+56|0;w=f[x>>2]|0;v=f[z>>2]|0;v=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;b[w>>0]=v;b[w+1>>0]=v>>8;b[w+2>>0]=v>>16;b[w+3>>0]=v>>24;w=f[x>>2]|0;A=A+-1|0;b[w+4>>0]=A>>>24;b[w+5>>0]=A>>>16;b[w+6>>0]=A>>>8;b[w+7>>0]=A;YA((f[x>>2]|0)+8|0,(f[z>>2]|0)+12|0,A<<2|0)|0;j=f[j>>2]|0;if(!(d[j+28>>1]&32))bh(j);else{A=f[j+20>>2]|0;z=A+120|0;f[z>>2]=(f[z>>2]|0)+-1;A=A+136|0;f[j+16>>2]=f[A>>2];f[A>>2]=j}if(!y){Y=103;break b}i=C+72|0;j=f[i>>2]|0;m=f[j+20>>2]|0;do if(!(d[j+28>>1]&4))Y=108;else{if((f[m+24>>2]|0)>>>0<(f[j+24>>2]|0)>>>0){Y=108;break}if(!(f[m+96>>2]|0))break;L=Ng(j)|0;Y=112}while(0);do if((Y|0)==108){k=f[m+40>>2]|0;if(k|0){Y=254;break b}if((f[m+148>>2]|0)>>>0>(f[m+152>>2]|0)>>>0){L=Og(j)|0;Y=112;break}else{L=Pg(j)|0;Y=112;break}}while(0);if((Y|0)==112?(0,L|0):0){Y=253;break b}n=f[C+56>>2]|0;b[n>>0]=p;b[n+1>>0]=q;b[n+2>>0]=r;b[n+3>>0]=s;n=0;k=0;l=i;j=0;Y=178;break}if(A){d:do if(!H)if(F){k=0;while(1){z=x+((k<<2)+8)|0;if((h[z+1>>0]<<16|h[z>>0]<<24|h[z+2>>0]<<8|h[z+3>>0])>>>0<=g>>>0){i=k;break d}k=k+1|0;if(k>>>0>=A>>>0){i=0;break}}}else{k=(h[x+9>>0]<<16|h[x+8>>0]<<24|h[x+10>>0]<<8|h[x+11>>0])-g|0;if(A>>>0<=1){i=0;break}m=(k|0)>-1?k:(k|0)==-2147483648?2147483647:0-k|0;k=0;i=1;while(1){p=x+((i<<2)+8)|0;p=(h[p+1>>0]<<16|h[p>>0]<<24|h[p+2>>0]<<8|h[p+3>>0])-g|0;p=(p|0)>-1?p:(p|0)==-2147483648?2147483647:0-p|0;o=(p|0)<(m|0);k=o?i:k;i=i+1|0;if((i|0)==(A|0)){i=k;break}else m=o?p:m}}else i=0;while(0);o=x+((i<<2)+8)|0;k=h[o+1>>0]<<16|h[o>>0]<<24|h[o+2>>0]<<8|h[o+3>>0];if(k>>>0>X>>>0){Y=124;break b}if((k|0)==(g|0)|q^1|F&k>>>0>>0){f[e>>2]=k;m=f[w+20>>2]|0;do if(!(d[w+28>>1]&4))Y=130;else{if((f[m+24>>2]|0)>>>0<(f[w+24>>2]|0)>>>0){Y=130;break}if(!(f[m+96>>2]|0))break;M=Ng(w)|0;Y=134}while(0);do if((Y|0)==130){k=f[m+40>>2]|0;if(k|0){Y=256;break b}if((f[m+148>>2]|0)>>>0>(f[m+152>>2]|0)>>>0){M=Og(w)|0;Y=134;break}else{M=Pg(w)|0;Y=134;break}}while(0);if((Y|0)==134?(0,M|0):0){Y=255;break b}k=A+-1|0;if(i>>>0>>0){Y=x+((A<<2)+4)|0;Y=h[Y>>0]|h[Y+1>>0]<<8|h[Y+2>>0]<<16|h[Y+3>>0]<<24;b[o>>0]=Y;b[o+1>>0]=Y>>8;b[o+2>>0]=Y>>16;b[o+3>>0]=Y>>24}b[r>>0]=k>>>24;b[s>>0]=k>>>16;b[u>>0]=k>>>8;b[v>>0]=k;p=f[e>>2]|0;i=f[E>>2]|0;e:do if(!i)k=0;else{k=f[i>>2]|0;if(k>>>0

>>0){k=1;break}m=p+-1|0;if(m>>>0>=k>>>0){k=0;break}n=f[i+8>>2]|0;if(n){o=i;do{k=(m>>>0)/(n>>>0)|0;o=f[o+12+(k<<2)>>2]|0;if(!o){k=0;break e}m=m-(U(k,n)|0)|0;n=f[o+8>>2]|0}while((n|0)!=0);i=o;k=f[o>>2]|0}if(k>>>0<4001){k=(1<<(m&7)&h[i+12+(m>>>3)>>0]|0)!=0&1;break}n=m+1|0;k=(m>>>0)%125|0;m=f[i+12+(k<<2)>>2]|0;if(!m){k=0;break}while(1){if((m|0)==(n|0)){k=1;break e}k=((k+1|0)>>>0)%125|0;m=f[i+12+(k<<2)>>2]|0;if(!m){k=0;break}}}while(0);Y=f[a>>2]|0;k=lb[f[Y+204>>2]&127](Y,p,Z,k^1)|0;if(k|0){f[c>>2]=0;n=0;Y=176;break}k=f[Z>>2]|0;m=f[k+8>>2]|0;n=m+4|0;if((f[n>>2]|0)==(p|0))k=m+72|0;else{f[m+56>>2]=f[k+4>>2];Y=m+72|0;f[Y>>2]=k;f[m+52>>2]=a;f[n>>2]=p;b[m+9>>0]=(p|0)==1?100:0;k=Y}f[c>>2]=m;if((d[(f[k>>2]|0)+30>>1]|0)>1){do if(m|0){k=f[m+72>>2]|0;if(!(d[k+28>>1]&32)){bh(k);break}else{Y=f[k+20>>2]|0;B=Y+120|0;f[B>>2]=(f[B>>2]|0)+-1;Y=Y+136|0;f[k+16>>2]=f[Y>>2];f[Y>>2]=k;break}}while(0);f[c>>2]=0;f[T>>2]=42469;f[T+4>>2]=65131;f[T+8>>2]=40460;Ac(11,40408,T);n=0;k=11;Y=176;break}b[m>>0]=0;n=f[m+72>>2]|0;i=f[n+20>>2]|0;do if(!(d[n+28>>1]&4))Y=166;else{if((f[i+24>>2]|0)>>>0<(f[n+24>>2]|0)>>>0){Y=166;break}if(!(f[i+96>>2]|0)){n=0;k=0;Y=176;break c}k=Ng(n)|0;Y=170}while(0);do if((Y|0)==166){k=f[i+40>>2]|0;if(k|0){Y=172;break}if((f[i+148>>2]|0)>>>0>(f[i+152>>2]|0)>>>0){k=Og(n)|0;Y=170;break}else{k=Pg(n)|0;Y=170;break}}while(0);if((Y|0)==170){Y=0;if(!k){n=0;k=0;Y=176;break}m=f[c>>2]|0;if(m)Y=172}do if((Y|0)==172){m=f[m+72>>2]|0;if(!(d[m+28>>1]&32)){bh(m);break}else{Y=f[m+20>>2]|0;B=Y+120|0;f[B>>2]=(f[B>>2]|0)+-1;Y=Y+136|0;f[m+16>>2]=f[Y>>2];f[Y>>2]=m;break}}while(0);f[c>>2]=0;n=0;Y=176}else{k=0;Y=176}}else{k=0;Y=176}}else{m=f[w+20>>2]|0;if((d[w+28>>1]&4)!=0?(f[m+24>>2]|0)>>>0>=(f[w+24>>2]|0)>>>0:0)if(!(f[m+96>>2]|0))k=x;else{k=Ng(w)|0;Y=45}else Y=41;do if((Y|0)==41){k=f[m+40>>2]|0;if(k|0){Y=250;break b}if((f[m+148>>2]|0)>>>0>(f[m+152>>2]|0)>>>0){k=Og(w)|0;Y=45;break}else{k=Pg(w)|0;Y=45;break}}while(0);if((Y|0)==45){if(k|0){Y=247;break b}k=f[z>>2]|0}f[e>>2]=i;n=(f[O>>2]|0)+32|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[n>>0]=k;b[n+1>>0]=k>>8;b[n+2>>0]=k>>16;b[n+3>>0]=k>>24;f[c>>2]=j;n=0;k=0;j=0;Y=176}while(0);if((Y|0)==176){Y=0;if(l){l=C+72|0;Y=178}}do if((Y|0)==178){Y=0;l=f[l>>2]|0;if(!(d[l+28>>1]&32)){bh(l);break}else{C=f[l+20>>2]|0;B=C+120|0;f[B>>2]=(f[B>>2]|0)+-1;C=C+136|0;f[l+16>>2]=f[C>>2];f[C>>2]=l;break}}while(0);if(!(n<<24>>24)){l=0;Y=257;break}else l=j}switch(Y|0){case 25:{f[S>>2]=42469;f[S+4>>2]=68812;f[S+8>>2]=40460;Ac(11,40408,S);j=l;k=11;break}case 31:{j=f[B+72>>2]|0;if(!(d[j+28>>1]&32))bh(j);else{c=f[j+20>>2]|0;a=c+120|0;f[a>>2]=(f[a>>2]|0)+-1;c=c+136|0;f[j+16>>2]=f[c>>2];f[c>>2]=j}f[W>>2]=42469;f[W+4>>2]=65131;f[W+8>>2]=40460;Ac(11,40408,W);j=l;k=11;break}case 35:{j=l;break}case 49:{f[P>>2]=42469;f[P+4>>2]=68841;f[P+8>>2]=40460;Ac(11,40408,P);k=11;j=B;Y=257;break}case 63:{c=(f[O>>2]|0)+32|0;a=f[z>>2]|0;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;b[c>>0]=a;b[c+1>>0]=a>>8;b[c+2>>0]=a>>16;b[c+3>>0]=a>>24;c=0;t=_;return c|0}case 75:{f[Q>>2]=42469;f[Q+4>>2]=68875;f[Q+8>>2]=40460;Ac(11,40408,Q);k=11;j=B;Y=257;break}case 81:{j=f[o+72>>2]|0;if(!(d[j+28>>1]&32))bh(j);else{c=f[j+20>>2]|0;a=c+120|0;f[a>>2]=(f[a>>2]|0)+-1;c=c+136|0;f[j+16>>2]=f[c>>2];f[c>>2]=j}f[V>>2]=42469;f[V+4>>2]=65131;f[V+8>>2]=40460;Ac(11,40408,V);k=11;j=B;Y=257;break}case 85:{j=B;Y=257;break}case 95:{m=f[j>>2]|0;k=K;n=m;m=d[m+28>>1]|0;Y=96;break}case 103:{c=f[O>>2]|0;b[c+32>>0]=p;b[c+33>>0]=q;b[c+34>>0]=r;b[c+35>>0]=s;c=0;t=_;return c|0}case 124:{f[R>>2]=42469;f[R+4>>2]=68940;f[R+8>>2]=40460;Ac(11,40408,R);k=11;j=B;Y=257;break}case 247:{j=B;Y=257;break}case 248:{k=I;j=B;Y=257;break}case 249:{k=J;j=B;Y=257;break}case 250:{j=B;Y=257;break}case 251:{j=B;Y=257;break}case 252:{j=B;Y=257;break}case 253:{k=L;j=B;Y=257;break}case 254:{j=B;Y=257;break}case 255:{k=M;j=B;Y=257;break}case 256:{j=B;Y=257;break}}do if((Y|0)==96){j=B;if(!(m&32)){bh(n);Y=257;break}else{Y=f[n+20>>2]|0;c=Y+120|0;f[c>>2]=(f[c>>2]|0)+-1;Y=Y+136|0;f[n+16>>2]=f[Y>>2];f[Y>>2]=n;Y=257;break}}while(0);do if((Y|0)==257)if(j){j=f[j+72>>2]|0;if(!(d[j+28>>1]&32)){bh(j);j=l;break}else{c=f[j+20>>2]|0;a=c+120|0;f[a>>2]=(f[a>>2]|0)+-1;c=c+136|0;f[j+16>>2]=f[c>>2];f[c>>2]=j;j=l;break}}else j=l;while(0);if(!j){c=k;t=_;return c|0}j=f[j+72>>2]|0;if(!(d[j+28>>1]&32)){bh(j);c=k;t=_;return c|0}else{c=f[j+20>>2]|0;a=c+120|0;f[a>>2]=(f[a>>2]|0)+-1;c=c+136|0;f[j+16>>2]=f[c>>2];f[c>>2]=j;c=k;t=_;return c|0}return 0}function Mh(a,c,e,g,i,k){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=t;t=t+96|0;P=S+72|0;N=S+56|0;L=S+40|0;l=S+24|0;M=S;R=S+84|0;H=c+4|0;Q=f[H>>2]|0;G=f[a>>2]|0;if(Q>>>0<3){f[l>>2]=42469;f[l+4>>2]=66526;f[l+8>>2]=40460;Ac(11,40408,l);R=11;t=S;return R|0}D=f[c+72>>2]|0;E=G+12|0;a:do if(b[E>>0]|0){n=f[D+20>>2]|0;p=D+28|0;if((d[p>>1]&4)!=0?(f[n+24>>2]|0)>>>0>=(f[D+24>>2]|0)>>>0:0){if(!(f[n+96>>2]|0)){O=14;break}l=Ng(D)|0}else O=9;do if((O|0)==9){l=f[n+40>>2]|0;if(l|0)break a;if((f[n+148>>2]|0)>>>0>(f[n+152>>2]|0)>>>0){l=Og(D)|0;break}else{l=Pg(D)|0;break}}while(0);if(!l)O=14}else{p=D+28|0;O=14}while(0);do if((O|0)==14){l=d[p>>1]|0;if(l&2){l=Ng(D)|0;if(l|0)break;l=d[p>>1]|0}if((k|0)!=0|(l&8)==0)F=0;else F=f[D+24>>2]|0;d[p>>1]=l&-9;l=G+212|0;n=kb[f[37452>>2]&127](f[(f[l>>2]|0)+44>>2]|0,i,0)|0;do if(n){l=f[l>>2]|0;k=f[n+4>>2]|0;if(!(f[k>>2]|0)){l=ch(l,i,n)|0;if(!l){B=0;z=0;break}else z=1}else{l=l+12|0;f[l>>2]=(f[l>>2]|0)+1;l=k+30|0;d[l>>1]=(d[l>>1]|0)+1<<16>>16;l=k;z=(k|0)!=0}n=l+28|0;d[p>>1]=d[p>>1]|d[n>>1]&8;if(!(b[E>>0]|0)){u=f[l+12>>2]|0;do if(d[n>>1]&2){n=u+8|0;k=l+36|0;q=f[k>>2]|0;if((f[n>>2]|0)==(l|0))f[n>>2]=q;r=f[l+32>>2]|0;s=(r|0)==0;if(s){f[u+4>>2]=q;n=q}else{f[r+36>>2]=q;n=f[k>>2]|0}if(n|0){f[n+32>>2]=r;break}f[u>>2]=r;if(s)b[u+33>>0]=2}while(0);B=u+12|0;f[B>>2]=(f[B>>2]|0)+-1;qb[f[37456>>2]&255](f[u+44>>2]|0,f[l>>2]|0,1);B=l;break}B=(f[G+24>>2]|0)+1|0;k=l+12|0;y=l+24|0;rb[f[37460>>2]&127](f[(f[k>>2]|0)+44>>2]|0,f[l>>2]|0,f[y>>2]|0,B);f[y>>2]=B;y=d[n>>1]|0;if((y&10)==10){v=f[k>>2]|0;x=v+8|0;n=f[x>>2]|0;u=l+36|0;q=f[u>>2]|0;if((n|0)==(l|0)){f[x>>2]=q;w=q}else w=n;s=l+32|0;k=f[s>>2]|0;r=(k|0)==0;if(r){f[v+4>>2]=q;n=q}else{f[k+36>>2]=q;n=f[u>>2]|0}do if(!n){f[v>>2]=k;if(r){b[v+33>>0]=2;f[u>>2]=0;f[s>>2]=0;n=v;O=36;break}else{f[u>>2]=0;n=v;O=35;break}}else{f[n+32>>2]=k;k=f[v>>2]|0;f[u>>2]=0;f[s>>2]=k;if(!k){n=v;O=36}else{n=v;O=35}}while(0);if((O|0)==35)f[k+36>>2]=l;else if((O|0)==36){f[v+4>>2]=l;if(b[v+32>>0]|0)b[v+33>>0]=1}f[n>>2]=l;if((y&8)==0&(w|0)==0){f[x>>2]=l;B=l}else B=l}else B=l}else{B=0;z=0}while(0);w=D+24|0;A=f[w>>2]|0;y=D+12|0;rb[f[37460>>2]&127](f[(f[y>>2]|0)+44>>2]|0,f[D>>2]|0,A,i);f[w>>2]=i;w=d[p>>1]|0;if((w&10)==10){u=f[y>>2]|0;x=u+8|0;l=f[x>>2]|0;s=D+36|0;k=f[s>>2]|0;if((l|0)==(D|0)){f[x>>2]=k;v=k}else v=l;r=D+32|0;n=f[r>>2]|0;q=(n|0)==0;if(q){f[u+4>>2]=k;l=k}else{f[n+36>>2]=k;l=f[s>>2]|0}do if(!l){f[u>>2]=n;if(q){b[u+33>>0]=2;f[s>>2]=0;f[r>>2]=0;l=u;O=63;break}else{f[s>>2]=0;l=u;O=62;break}}else{f[l+32>>2]=n;n=f[u>>2]|0;f[s>>2]=0;f[r>>2]=n;if(!n){l=u;O=63}else{l=u;O=62}}while(0);if((O|0)==62)f[n+36>>2]=D;else if((O|0)==63){f[u+4>>2]=D;if(b[u+32>>0]|0)b[u+33>>0]=1}f[l>>2]=D;if((w&8)==0&(v|0)==0)f[x>>2]=D}l=w&65535;if(l&17|0?(C=l&65519,d[p>>1]=C,l&1|0):0){k=(C^3)&65535;d[p>>1]=k;l=f[y>>2]|0;f[D+36>>2]=0;n=f[l>>2]|0;f[D+32>>2]=n;if(!n){f[l+4>>2]=D;if(b[l+32>>0]|0)b[l+33>>0]=1}else f[n+36>>2]=D;f[l>>2]=D;l=l+8|0;if((k&8)==0&(f[l>>2]|0)==0)f[l>>2]=D}do if(z&(b[E>>0]|0)!=0){l=B+12|0;w=B+24|0;rb[f[37460>>2]&127](f[(f[l>>2]|0)+44>>2]|0,f[B>>2]|0,f[w>>2]|0,A);f[w>>2]=A;w=d[B+28>>1]|0;if((w&10)==10){s=f[l>>2]|0;v=s+8|0;l=f[v>>2]|0;r=B+36|0;p=f[r>>2]|0;if((l|0)==(B|0)){f[v>>2]=p;u=p}else u=l;q=B+32|0;n=f[q>>2]|0;k=(n|0)==0;if(k){f[s+4>>2]=p;l=p}else{f[n+36>>2]=p;l=f[r>>2]|0}do if(!l){f[s>>2]=n;if(k){b[s+33>>0]=2;f[r>>2]=0;f[q>>2]=0;l=s;O=88;break}else{f[r>>2]=0;l=s;O=87;break}}else{f[l+32>>2]=n;n=f[s>>2]|0;f[r>>2]=0;f[q>>2]=n;if(!n){l=s;O=88}else{l=s;O=87}}while(0);if((O|0)==87)f[n+36>>2]=B;else if((O|0)==88){f[s+4>>2]=B;if(b[s+32>>0]|0)b[s+33>>0]=1}f[l>>2]=B;if((w&8)==0&(u|0)==0)f[v>>2]=B}if(!(w&32)){bh(B);break}else{E=f[B+20>>2]|0;D=E+120|0;f[D>>2]=(f[D>>2]|0)+-1;E=E+136|0;f[B+16>>2]=f[E>>2];f[E>>2]=B;break}}while(0);do if(F|0){r=lb[f[G+204>>2]&127](G,F,M,0)|0;if(!r){l=f[M>>2]|0;p=l+28|0;n=d[p>>1]|8;d[p>>1]=n;k=n&65535;if(k&17){o=k&65519;n=o&65535;d[p>>1]=n;if(k&1){d[p>>1]=o^3;n=f[l+12>>2]|0;f[l+36>>2]=0;o=f[n>>2]|0;f[l+32>>2]=o;if(!o){f[n+4>>2]=l;if(b[n+32>>0]|0)b[n+33>>0]=1}else f[o+36>>2]=l;f[n>>2]=l;l=f[M>>2]|0;n=d[l+28>>1]|0}}if(!(n&32))bh(l);else{J=f[l+20>>2]|0;G=J+120|0;f[G>>2]=(f[G>>2]|0)+-1;J=J+136|0;f[l+16>>2]=f[J>>2];f[J>>2]=l}break}if(F>>>0<=(f[G+28>>2]|0)>>>0?(o=f[G+56>>2]|0,J=f[G+208>>2]|0,o|0):0){l=F+-1|0;m=f[o+8>>2]|0;b:do if(!m)O=103;else while(1){n=(l>>>0)/(m>>>0)|0;o=f[o+12+(n<<2)>>2]|0;if(!o)break b;l=l-(U(n,m)|0)|0;m=f[o+8>>2]|0;if(!m){O=103;break}}while(0);do if((O|0)==103){if((f[o>>2]|0)>>>0<4001){i=o+12+(l>>>3)|0;b[i>>0]=(1<<(l&7)^255)&h[i>>0];break}q=o+12|0;YA(J|0,q|0,500)|0;_A(q|0,0,500)|0;q=o+4|0;f[q>>2]=0;p=l+1|0;n=0;do{k=J+(n<<2)|0;l=f[k>>2]|0;if(!((l|0)==0|(l|0)==(p|0))){m=((l+-1|0)>>>0)%125|0;f[q>>2]=(f[q>>2]|0)+1;l=o+12+(m<<2)|0;if(f[l>>2]|0)do{l=m+1|0;m=l>>>0>124?0:l;l=o+12+(m<<2)|0}while((f[l>>2]|0)!=0);f[l>>2]=f[k>>2]}n=n+1|0}while((n|0)!=125)}while(0);f[R>>2]=r;R=r;t=S;return R|0}f[R>>2]=r;R=r;t=S;return R|0}while(0);f[R>>2]=0;f[H>>2]=i;switch(e<<24>>24){case 1:case 5:{l=Nh(c)|0;f[R>>2]=l;if(l|0){R=l;t=S;return R|0}if(e<<24>>24==1){R=0;t=S;return R|0}break}default:{l=f[c+56>>2]|0;l=h[l+1>>0]<<16|h[l>>0]<<24|h[l+2>>0]<<8|h[l+3>>0];if(l|0?(Oh(a,l,4,i,R),I=f[R>>2]|0,I|0):0){R=I;t=S;return R|0}}}l=f[a>>2]|0;l=lb[f[l+204>>2]&127](l,g,M,0)|0;if(l|0){f[R>>2]=l;R=l;t=S;return R|0}l=f[M>>2]|0;w=f[l+8>>2]|0;n=w+4|0;if((f[n>>2]|0)==(g|0))x=w+72|0;else{f[w+56>>2]=f[l+4>>2];x=w+72|0;f[x>>2]=l;f[w+52>>2]=a;f[n>>2]=g;b[w+9>>0]=(g|0)==1?100:0}f[R>>2]=0;l=f[x>>2]|0;n=f[l+20>>2]|0;do if((d[l+28>>1]&4)!=0?(f[n+24>>2]|0)>>>0>=(f[l+24>>2]|0)>>>0:0)if(!(f[n+96>>2]|0)){f[R>>2]=0;break}else{m=Ng(l)|0;O=146;break}else O=141;while(0);do if((O|0)==141){m=f[n+40>>2]|0;if(m|0){f[R>>2]=m;O=147;break}if((f[n+148>>2]|0)>>>0>(f[n+152>>2]|0)>>>0){m=Og(l)|0;O=146;break}else{m=Pg(l)|0;O=146;break}}while(0);if((O|0)==146?(f[R>>2]=m,m|0):0)O=147;if((O|0)==147){if(!w){R=m;t=S;return R|0}l=f[x>>2]|0;if(!(d[l+28>>1]&32)){bh(l);R=m;t=S;return R|0}else{R=f[l+20>>2]|0;i=R+120|0;f[i>>2]=(f[i>>2]|0)+-1;R=R+136|0;f[l+16>>2]=f[R>>2];f[R>>2]=l;R=m;t=S;return R|0}}c:do if(e<<24>>24==4){l=f[w+56>>2]|0;m=l+1|0;n=l+2|0;o=l+3|0;if((h[m>>0]<<16|h[l>>0]<<24|h[n>>0]<<8|h[o>>0]|0)==(Q|0)){b[l>>0]=i>>>24;b[m>>0]=i>>>16;b[n>>0]=i>>>8;b[o>>0]=i;l=0;O=175;break}else{f[L>>2]=42469;f[L+4>>2]=66454;f[L+8>>2]=40460;Ac(11,40408,L);l=11;O=175;break}}else{if((b[w>>0]|0)==0?(K=Ph(w)|0,K|0):0){l=K;O=175;break}L=d[w+22>>1]|0;v=L&65535;d:do if(L<<16>>16){n=w+56|0;u=w+24|0;s=w+64|0;o=w+80|0;p=M+16|0;k=M+12|0;q=M+18|0;r=w+52|0;if(e<<24>>24!=3){p=f[n>>2]|0;o=f[s>>2]|0;n=j[u>>1]|0;l=0;while(1){m=o+(l<<1)|0;m=p+((h[m>>0]<<8|h[m+1>>0])&n)|0;if((h[m+1>>0]<<16|h[m>>0]<<24|h[m+2>>0]<<8|h[m+3>>0]|0)==(Q|0))break;l=l+1|0;if(l>>>0>=v>>>0)break d}b[m>>0]=i>>>24;b[m+1>>0]=i>>>16;b[m+2>>0]=i>>>8;b[m+3>>0]=i;break}l=0;while(1){m=(f[s>>2]|0)+(l<<1)|0;m=(f[n>>2]|0)+((h[m>>0]<<8|h[m+1>>0])&j[u>>1])|0;qb[f[o>>2]&255](w,m,M);if((f[k>>2]|0)>>>0>(j[p>>1]|0)>>>0){m=m+(j[q>>1]|0)|0;if(m>>>0>((f[n>>2]|0)+(f[(f[r>>2]|0)+36>>2]|0)|0)>>>0){O=166;break}m=m+-4|0;if((h[m+1>>0]<<16|h[m>>0]<<24|h[m+2>>0]<<8|h[m+3>>0]|0)==(Q|0)){O=168;break}}l=l+1|0;if(l>>>0>=v>>>0)break d}if((O|0)==166){f[N>>2]=42469;f[N+4>>2]=66473;f[N+8>>2]=40460;Ac(11,40408,N);l=11;O=175;break c}else if((O|0)==168){b[m>>0]=i>>>24;b[m+1>>0]=i>>>16;b[m+2>>0]=i>>>8;b[m+3>>0]=i;break}}else l=0;while(0);if((l|0)==(v|0)){do if(e<<24>>24==5){l=(f[w+56>>2]|0)+((h[w+9>>0]|0)+8)|0;m=l+1|0;n=l+2|0;o=l+3|0;if((h[m>>0]<<16|h[l>>0]<<24|h[n>>0]<<8|h[o>>0]|0)!=(Q|0))break;b[l>>0]=i>>>24;b[m>>0]=i>>>16;b[n>>0]=i>>>8;b[o>>0]=i;l=0;O=175;break c}while(0);f[P>>2]=42469;f[P+4>>2]=66491;f[P+8>>2]=40460;Ac(11,40408,P);l=11}else l=0;f[R>>2]=l;if(w)O=177}while(0);if((O|0)==175){f[R>>2]=l;O=177}do if((O|0)==177){m=f[x>>2]|0;if(!(d[m+28>>1]&32)){bh(m);break}else{Q=f[m+20>>2]|0;P=Q+120|0;f[P>>2]=(f[P>>2]|0)+-1;Q=Q+136|0;f[m+16>>2]=f[Q>>2];f[Q>>2]=m;break}}while(0);if(l|0){R=l;t=S;return R|0}Oh(a,i,e,g,R);R=f[R>>2]|0;t=S;return R|0}while(0);f[R>>2]=l;R=l;t=S;return R|0}function Nh(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;z=t;t=t+32|0;s=z;w=z+24|0;u=a+52|0;x=f[u>>2]|0;v=a+4|0;y=f[v>>2]|0;if(!(b[a>>0]|0)){c=Ph(a)|0;f[w>>2]=c;if(c|0){y=c;t=z;return y|0}}else f[w>>2]=0;r=d[a+22>>1]|0;k=r&65535;a:do if(!(r<<16>>16))c=a+8|0;else{l=a+56|0;m=a+24|0;n=a+64|0;o=a+80|0;p=s+16|0;q=s+12|0;c=a+8|0;r=s+18|0;e=0;i=0;while(1){g=(f[n>>2]|0)+(e<<1)|0;g=(f[l>>2]|0)+((h[g>>0]<<8|h[g+1>>0])&j[m>>1])|0;if((i|0)==0?(qb[f[o>>2]&255](a,g,s),(f[q>>2]|0)>>>0>(j[p>>1]|0)>>>0):0){i=g+((j[r>>1]|0)+-4)|0;Oh(f[u>>2]|0,h[i+1>>0]<<16|h[i>>0]<<24|h[i+2>>0]<<8|h[i+3>>0],3,f[v>>2]|0,w)}if(!(b[c>>0]|0))Oh(x,h[g+1>>0]<<16|h[g>>0]<<24|h[g+2>>0]<<8|h[g+3>>0],5,y,w);e=e+1|0;if((e|0)==(k|0))break a;i=f[w>>2]|0}}while(0);if(!(b[c>>0]|0)){a=(f[a+56>>2]|0)+((h[a+9>>0]|0)+8)|0;Oh(x,h[a+1>>0]<<16|h[a>>0]<<24|h[a+2>>0]<<8|h[a+3>>0],5,y,w)}y=f[w>>2]|0;t=z;return y|0}function Oh(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+32|0;l=q+16|0;j=q;p=q+28|0;if(f[i>>2]|0){t=q;return}switch(c|0){case 0:{f[j>>2]=42469;f[j+4>>2]=63923;f[j+8>>2]=40460;Ac(11,40408,j);f[i>>2]=11;t=q;return}case 1:{k=0;break}default:{k=c+-2|0;k=k-((k>>>0)%(((((f[a+36>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;k=((k+1|0)==(1073741824/((f[a+32>>2]|0)>>>0)|0|0)?3:2)+k|0}}j=f[a>>2]|0;j=lb[f[j+204>>2]&127](j,k,p,0)|0;if(j|0){f[i>>2]=j;t=q;return}m=(c-k|0)*5|0;j=m+-5|0;a:do if((j|0)<0){f[l>>2]=42469;f[l+4>>2]=63934;f[l+8>>2]=40460;Ac(11,40408,l);f[i>>2]=11}else{l=f[p>>2]|0;c=f[l+4>>2]|0;k=c+j|0;if((b[k>>0]|0)==e<<24>>24?(a=c+(m+-4)|0,(h[a+1>>0]<<16|h[a>>0]<<24|h[a+2>>0]<<8|h[a+3>>0]|0)==(g|0)):0)break;a=f[l+20>>2]|0;do if((d[l+28>>1]&4)!=0?(f[a+24>>2]|0)>>>0>=(f[l+24>>2]|0)>>>0:0)if(!(f[a+96>>2]|0)){f[i>>2]=0;break}else{n=Ng(l)|0;o=21;break}else o=16;while(0);do if((o|0)==16){j=f[a+40>>2]|0;if(j|0){f[i>>2]=j;break a}if((f[a+148>>2]|0)>>>0>(f[a+152>>2]|0)>>>0){n=Og(l)|0;o=21;break}else{n=Pg(l)|0;o=21;break}}while(0);if((o|0)==21?(f[i>>2]=n,n|0):0)break;b[k>>0]=e;i=c+(m+-4)|0;b[i>>0]=g>>>24;b[i+1>>0]=g>>>16;b[i+2>>0]=g>>>8;b[i+3>>0]=g}while(0);j=f[p>>2]|0;if(!j){t=q;return}if(!(d[j+28>>1]&32)){bh(j);t=q;return}else{p=f[j+20>>2]|0;i=p+120|0;f[i>>2]=(f[i>>2]|0)+-1;p=p+136|0;f[j+16>>2]=f[p>>2];f[p>>2]=j;t=q;return}}function Ph(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=t;t=t+160|0;B=C+144|0;A=C+128|0;z=C+112|0;y=C+96|0;w=C+80|0;s=C+64|0;r=C+48|0;m=C+32|0;g=C+16|0;e=C;n=f[a+52>>2]|0;x=f[a+56>>2]|0;v=h[a+9>>0]|0;u=h[x+v>>0]|0;i=u>>>3;c=i&255;q=a+8|0;b[q>>0]=c;i=4-(i<<2)|0;b[a+10>>0]=i;p=a+76|0;f[p>>2]=149;switch((u&247)<<24>>24){case 5:{b[a+2>>0]=1;e=a+3|0;if(!(c<<24>>24)){b[e>>0]=0;f[p>>2]=150;e=191}else{b[e>>0]=1;e=189}f[a+80>>2]=e;d[a+14>>1]=d[n+28>>1]|0;e=n+30|0;break}case 2:{b[a+2>>0]=0;b[a+3>>0]=0;f[a+80>>2]=190;d[a+14>>1]=d[n+24>>1]|0;e=n+26|0;break}default:{f[e>>2]=42469;f[e+4>>2]=64757;f[e+8>>2]=40460;Ac(11,40408,e);f[g>>2]=42469;f[g+4>>2]=64798;f[g+8>>2]=40460;Ac(11,40408,g);B=11;t=C;return B|0}}d[a+16>>1]=d[e>>1]|0;b[a+11>>0]=b[n+21>>0]|0;D=f[n+32>>2]|0;d[a+24>>1]=D+65535;b[a+12>>0]=0;u=f[n+36>>2]|0;o=i&252;k=v+8+o|0;d[a+18>>1]=k;f[a+60>>2]=x+u;f[a+64>>2]=x+k;f[a+68>>2]=x+o;o=x+(v+5)|0;o=(((h[o>>0]|0)<<8|(h[o+1>>0]|0))+65535&65535)+1|0;e=x+(v+3)|0;e=(h[e>>0]|0)<<8|(h[e+1>>0]|0);g=e&65535;l=a+22|0;d[l>>1]=g;if(e>>>0>(((D+-8|0)>>>0)/6|0)>>>0){f[m>>2]=42469;f[m+4>>2]=64817;f[m+8>>2]=40460;Ac(11,40408,m);D=11;t=C;return D|0}m=(e<<1)+k|0;i=u+-4|0;if(!(0==0?(f[(f[n+4>>2]|0)+32>>2]&2097152|0)==0:0)){i=c<<24>>24==0?u+-5|0:i;do if(g<<16>>16){c=0;while(1){e=x+((c<<1)+k)|0;e=(h[e>>0]|0)<<8|(h[e+1>>0]|0);if(e>>>0>>0|(e|0)>(i|0)){e=15;break}c=c+1|0;if((e+((jb[f[p>>2]&255](a,x+e|0)|0)&65535)|0)>(u|0)){e=17;break}if(c>>>0>=(j[l>>1]|0)>>>0){e=18;break}}if((e|0)==15){f[r>>2]=42469;f[r+4>>2]=64845;f[r+8>>2]=40460;Ac(11,40408,r);D=11;t=C;return D|0}else if((e|0)==17){f[s>>2]=42469;f[s+4>>2]=64850;f[s+8>>2]=40460;Ac(11,40408,s);D=11;t=C;return D|0}else if((e|0)==18){c=b[q>>0]|0;break}}while(0);i=i+(c<<24>>24==0&1)|0}g=x+(v+1)|0;g=(h[g>>0]|0)<<8|(h[g+1>>0]|0);c=o+(h[x+(v+7)>>0]|0)|0;a:do if(g){if(g>>>0>>0){f[w>>2]=42469;f[w+4>>2]=64868;f[w+8>>2]=40460;Ac(11,40408,w);D=11;t=C;return D|0}b:do if((g|0)<=(i|0)){while(1){D=x+g|0;e=g;g=(h[D>>0]|0)<<8|(h[D+1>>0]|0);D=x+(e+2)|0;D=(h[D>>0]|0)<<8|(h[D+1>>0]|0);c=D+c|0;e=D+e|0;if(g>>>0<=(e+3|0)>>>0)break;if((g|0)>(i|0))break b}if(g|0){f[z>>2]=42469;f[z+4>>2]=64883;f[z+8>>2]=40460;Ac(11,40408,z);D=11;t=C;return D|0}if(e>>>0<=u>>>0)break a;f[A>>2]=42469;f[A+4>>2]=64887;f[A+8>>2]=40460;Ac(11,40408,A);D=11;t=C;return D|0}while(0);f[y>>2]=42469;f[y+4>>2]=64873;f[y+8>>2]=40460;Ac(11,40408,y);D=11;t=C;return D|0}while(0);if((c|0)>(u|0)){f[B>>2]=42469;f[B+4>>2]=64899;f[B+8>>2]=40460;Ac(11,40408,B);D=11;t=C;return D|0}else{d[a+20>>1]=c-m;b[a>>0]=1;D=0;t=C;return D|0}return 0}function Qh(a,c){a=a|0;c=c|0;var d=0;a=4;do{d=a;a=a+1|0}while((b[c+d>>0]|0)<0&a>>>0<13);return a&65535|0}function Rh(a,b,c){a=a|0;b=b|0;c=c|0;b=((Th(b+4|0,c)|0)&255)+4&65535;d[c+18>>1]=b;f[c+12>>2]=0;d[c+16>>1]=0;f[c+8>>2]=0;return}function Sh(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0;k=c+(h[a+10>>0]|0)|0;i=b[k>>0]|0;j=i&255;if(i<<24>>24<0){g=0;i=j&127;do{g=g+1|0;j=b[k+g>>0]|0;i=i<<7|j&127}while(j<<24>>24<0&g>>>0<8);g=k+g|0;j=i}else g=k;g=g+1|0;i=e;f[i>>2]=j;f[i+4>>2]=0;f[e+12>>2]=j;f[e+8>>2]=g;i=d[a+14>>1]|0;if(j>>>0>(i&65535)>>>0){Sg(i,d[a+16>>1]|0,f[(f[a+52>>2]|0)+36>>2]|0,c,e);return}else{c=g-c+j|0;d[e+18>>1]=(c&65532|0)==0?4:c&65535;d[e+16>>1]=j;return}}function Th(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;d=b[a>>0]|0;e=d&255;do if(e&128){d=h[a+1>>0]|0;if(!(d&128)){l=2;j=0;d=e<<7&16256|d;break}l=h[a+2>>0]|0;e=(e<<14|l)&2080895;if(!(l&128)){l=3;j=0;d=e|d<<7&16256;break}l=h[a+3>>0]|0;d=(d<<14|l)&2080895;if(!(l&128)){l=4;j=0;d=d|e<<7;break}k=b[a+4>>0]|0;l=k&255;g=e<<14|l;if(!(l&128)){l=5;j=e>>>18;d=g|d<<7;break}j=d|e<<7;l=h[a+5>>0]|0;i=d<<14|l;if(!(l&128)){l=6;j=j>>>18;d=i|g<<7&266354560;break}l=h[a+6>>0]|0;d=g<<14|l;if(!(l&128)){l=7;j=j>>>11;d=d&-266354561|i<<7&266354560;break}e=d&2080895;l=h[a+7>>0]|0;d=i<<14|l;if(!(l&128)){l=8;j=j>>>4;d=d&-266354561|e<<7;break}else{l=9;j=(k&120)>>>3|j<<4;d=d<<8&532709120|e<<15|(h[a+8>>0]|0);break}}else{l=1;j=0;d=d&255}while(0);f[c>>2]=d;f[c+4>>2]=j;return l|0}function Uh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0;k=t;t=t+16|0;g=k;j=f[a+4>>2]|0;f[j+4>>2]=f[a>>2];if(!c){d=f[j+8>>2]|0;if(d|0?(e=Kg(d,0,0)|0,e|0):0){c=e;d=0;i=4}}else i=4;if((i|0)==4)$h(a,c,d)|0;if((b[a+8>>0]|0)!=2){vh(a);t=k;return}wh(f[j>>2]|0)|0;i=f[j>>2]|0;if(!(lb[f[i+204>>2]&127](i,1,g,0)|0)){d=f[g>>2]|0;e=f[d+8>>2]|0;c=e+4|0;if((f[c>>2]|0)==1)d=f[e+56>>2]|0;else{i=f[d+4>>2]|0;f[e+56>>2]=i;f[e+72>>2]=d;f[e+52>>2]=j;f[c>>2]=1;b[e+9>>0]=100;d=i}d=h[d+29>>0]<<16|h[d+28>>0]<<24|h[d+30>>0]<<8|h[d+31>>0];if(!d)d=f[(f[j>>2]|0)+24>>2]|0;f[j+44>>2]=d;i=f[e+72>>2]|0;d=f[i+20>>2]|0;bh(i);if(!(f[(f[d+212>>2]|0)+12>>2]|0)){switch(b[d+16>>0]|0){case 0:case 6:break;case 1:{if(!(b[d+4>>0]|0))sh(d,0,0)|0;break}default:wh(d)|0}xh(d)}}b[j+20>>0]=1;j=j+60|0;Ug(f[j>>2]|0);f[j>>2]=0;vh(a);t=k;return}function Vh(a){a=a|0;var b=0,c=0,e=0,g=0,h=0,i=0,j=0;i=a+20|0;c=f[i>>2]|0;e=(c|0)>0;if(e){g=f[a+16>>2]|0;b=0;do{h=f[g+(b<<4)+4>>2]|0;if(h|0)f[(f[h+4>>2]|0)+4>>2]=f[h>>2];b=b+1|0}while((b|0)!=(c|0));if(e){h=a+16|0;b=a+56|0;g=0;do{e=f[(f[h>>2]|0)+(g<<4)+12>>2]|0;do if(e)if(!(f[b>>2]|0)){Wh(e);c=f[i>>2]|0;break}else{e=e+78|0;d[e>>1]=d[e>>1]|8;break}while(0);g=g+1|0}while((g|0)<(c|0))}else j=7}else j=7;if((j|0)==7)b=a+56|0;j=a+24|0;f[j>>2]=f[j>>2]&-10;Xh(a);if(f[b>>2]|0)return;Yh(a);return}function Wh(a){a=a|0;var b=0,c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=a+8|0;b=f[a+16>>2]|0;o=f[a+20>>2]|0;g=a+40|0;c=f[a+48>>2]|0;m=f[a+52>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;g=a+24|0;h=a+32|0;e=f[h>>2]|0;f[h>>2]=0;h=a+36|0;i=f[h>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{l=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[h>>2]=0;f[g>>2]=0;if(e|0)do{g=e;e=f[e>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](g);else{l=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g)}}while((e|0)!=0);f[a+28>>2]=0;k=(c|0)==0;if(!k){j=c;do{l=f[j+8>>2]|0;do if(l|0){kg(0,f[l+28>>2]|0);e=f[l>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[l+4>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[l+12>>2]|0;if(e|0)ig(0,e);i=f[l+16>>2]|0;do if(i|0){h=i+4|0;e=f[i>>2]|0;if((f[h>>2]|0)>0){g=0;do{e=f[e+(g<<3)>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{p=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);g=g+1|0;e=f[i>>2]|0}while((g|0)<(f[h>>2]|0))}do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{p=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{p=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{p=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);j=f[j>>2]|0}while((j|0)!=0)}do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{p=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);if(!k)do{e=c;c=f[c>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{p=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}}while((c|0)!=0);f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;e=(b|0)==0;if(!e){c=b;do{g=f[c+8>>2]|0;if(g|0?(n=g+32|0,p=(f[n>>2]|0)+-1|0,f[n>>2]=p,(p|0)==0):0)hg(0,g);c=f[c>>2]|0}while((c|0)!=0)}do if(o|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{p=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}while(0);if(!e)do{c=b;b=f[b>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{p=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((b|0)!=0);c=a+56|0;e=a+64|0;b=f[e>>2]|0;f[e>>2]=0;e=a+68|0;g=f[e>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{p=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[e>>2]=0;f[c>>2]=0;if(b|0)do{c=b;b=f[b>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{p=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((b|0)!=0);f[a+60>>2]=0;f[a+72>>2]=0;b=a+78|0;c=d[b>>1]|0;if(!(c&1)){p=c&-10;d[b>>1]=p;return}p=a+4|0;f[p>>2]=(f[p>>2]|0)+1;p=c&-10;d[b>>1]=p;return}function Xh(a){a=a|0;var c=0,d=0,e=0;d=a+360|0;c=f[d>>2]|0;f[d>>2]=0;if(!c)return;a=f[a+4>>2]|0;if(a|0)do{d=a+145|0;e=(h[d>>0]|h[d+1>>0]<<8)&-4|1;b[d>>0]=e;b[d+1>>0]=e>>8;a=f[a+8>>2]|0}while((a|0)!=0);do{e=c;c=f[c+24>>2]|0;_h(e)}while((c|0)!=0);return}function Yh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+20|0;if((f[g>>2]|0)>2){h=a+16|0;e=2;b=2;do{c=f[h>>2]|0;d=c+(e<<4)|0;if(!(f[c+(e<<4)+4>>2]|0)){Zh(a,f[d>>2]|0);f[d>>2]=0}else{if((b|0)<(e|0)){c=c+(b<<4)|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2]}b=b+1|0}e=e+1|0}while((e|0)<(f[g>>2]|0));f[g>>2]=b;if((b|0)>=3)return}else f[g>>2]=2;b=a+16|0;c=f[b>>2]|0;d=a+412|0;if((c|0)==(d|0))return;f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];f[d+12>>2]=f[c+12>>2];f[d+16>>2]=f[c+16>>2];f[d+20>>2]=f[c+20>>2];f[d+24>>2]=f[c+24>>2];f[d+28>>2]=f[c+28>>2];Zh(a,c);f[b>>2]=d;return}function Zh(a,b){a=a|0;b=b|0;var c=0;if(!b)return;if(a|0){if(f[a+480>>2]|0){Kc(a,b);return}c=b;if((f[a+304>>2]|0)>>>0<=c>>>0?(f[a+308>>2]|0)>>>0>c>>>0:0){c=a+300|0;f[b>>2]=f[c>>2];f[c>>2]=b;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);return}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);return}}function _h(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;d=a+12|0;c=(f[d>>2]|0)+-1|0;f[d>>2]=c;if(c|0)return;c=f[a+8>>2]|0;if(c|0)ib[f[(f[c>>2]|0)+16>>2]&255](c)|0;if(b|0){if(f[b+480>>2]|0){Kc(b,a);return}d=a;if((f[b+304>>2]|0)>>>0<=d>>>0?(f[b+308>>2]|0)>>>0>d>>>0:0){d=b+300|0;f[a>>2]=f[d>>2];f[d>>2]=a;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{d=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function $h(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!a){n=0;return n|0}n=a+4|0;g=f[n>>2]|0;f[g+4>>2]=f[a>>2];g=f[g+8>>2]|0;if(!g){n=0;return n|0}k=(e|0)==0;a:while(1){b:do if(k){e=g+16|0;h=f[e>>2]|0;if(h)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);m=94;break}else{m=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);m=94;break}else m=94}else{l=g+1|0;if(b[l>>0]&1){e=g+16|0;h=f[e>>2]|0;if(!h){m=94;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);m=94;break}else{m=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);m=94;break}}switch(b[g>>0]|0){case 0:{f[g+4>>2]=0;j=(b[g+69>>0]|0)==0;oh(g);if(j){e=f[g+44>>2]|0;j=g+56|0;i=j;f[i>>2]=e;f[i+4>>2]=0;i=KA(e|0,0,-1,-1)|0;h=ba()|0;if(h>>>0>0|(h|0)==0&i>>>0>2147483390){k=7;break a}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](e)|0;if(!e){k=7;break a}}else{i=ib[f[37372>>2]&255](e)|0;if((f[18194]|0)>>>0>>0)f[18194]=e;h=71896;e=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&e>>>0>0){o=f[18187]|0;h=LA(e|0,h|0,i|0,((i|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&h>>>0<=o>>>0)&1}e=ib[f[37356>>2]&255](i)|0;if(!e){k=7;break a}h=ib[f[37368>>2]&255](e)|0;h=(f[18187]|0)+h|0;f[18187]=h;if(h>>>0>(f[18191]|0)>>>0)f[18191]=h;h=(f[18190]|0)+1|0;f[18190]=h;if(h>>>0>(f[18196]|0)>>>0)f[18196]=h}h=ph(g,0,f[j>>2]|0,e,0)|0;if(h|0){m=23;break a}f[g+16>>2]=e}else{i=g+32|0;j=f[i+4>>2]|0;o=g+56|0;f[o>>2]=f[i>>2];f[o+4>>2]=j}j=g+68|0;e=b[j>>0]|0;if(e<<24>>24>-1){if(e<<24>>24){i=0;do{h=f[(f[g+120+(i<<2)>>2]|0)+72>>2]|0;if(!(d[h+28>>1]&32)){bh(h);e=b[j>>0]|0}else{o=f[h+20>>2]|0;p=o+120|0;f[p>>2]=(f[p>>2]|0)+-1;o=o+136|0;f[h+16>>2]=f[o>>2];f[o>>2]=h}i=i+1|0}while((i|0)<(e<<24>>24|0))}e=f[(f[g+116>>2]|0)+72>>2]|0;if(!(d[e+28>>1]&32))bh(e);else{p=f[e+20>>2]|0;o=p+120|0;f[o>>2]=(f[o>>2]|0)+-1;p=p+136|0;f[e+16>>2]=f[p>>2];f[p>>2]=e}b[j>>0]=-1}break}case 2:{b[g>>0]=0;p=(b[g+69>>0]|0)==0;oh(g);if(p){e=f[g+44>>2]|0;j=g+56|0;p=j;f[p>>2]=e;f[p+4>>2]=0;p=KA(e|0,0,-1,-1)|0;o=ba()|0;if(o>>>0>0|(o|0)==0&p>>>0>2147483390){k=7;break a}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](e)|0;if(!e){k=7;break a}}else{i=ib[f[37372>>2]&255](e)|0;if((f[18194]|0)>>>0>>0)f[18194]=e;h=71896;e=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&e>>>0>0){p=f[18187]|0;o=LA(e|0,h|0,i|0,((i|0)<0)<<31>>31|0)|0;h=ba()|0;f[17976]=((h|0)<0|(h|0)==0&o>>>0<=p>>>0)&1}e=ib[f[37356>>2]&255](i)|0;if(!e){k=7;break a}h=ib[f[37368>>2]&255](e)|0;h=(f[18187]|0)+h|0;f[18187]=h;if(h>>>0>(f[18191]|0)>>>0)f[18191]=h;h=(f[18190]|0)+1|0;f[18190]=h;if(h>>>0>(f[18196]|0)>>>0)f[18196]=h}h=ph(g,0,f[j>>2]|0,e,0)|0;if(h|0){m=53;break a}f[g+16>>2]=e}else{j=g+32|0;o=f[j+4>>2]|0;p=g+56|0;f[p>>2]=f[j>>2];f[p+4>>2]=o}j=g+68|0;e=b[j>>0]|0;if(e<<24>>24>-1){if(e<<24>>24){i=0;do{h=f[(f[g+120+(i<<2)>>2]|0)+72>>2]|0;if(!(d[h+28>>1]&32)){bh(h);e=b[j>>0]|0}else{p=f[h+20>>2]|0;o=p+120|0;f[o>>2]=(f[o>>2]|0)+-1;p=p+136|0;f[h+16>>2]=f[p>>2];f[p>>2]=h}i=i+1|0}while((i|0)<(e<<24>>24|0))}e=f[(f[g+116>>2]|0)+72>>2]|0;if(!(d[e+28>>1]&32))bh(e);else{p=f[e+20>>2]|0;o=p+120|0;f[o>>2]=(f[o>>2]|0)+-1;p=p+136|0;f[e+16>>2]=f[p>>2];f[p>>2]=e}b[j>>0]=-1}break}default:break b}b[g>>0]=3;b[l>>0]=b[l>>0]&-15}while(0);if((m|0)==94){m=0;f[e>>2]=0;b[g>>0]=4;f[g+4>>2]=c}j=g+68|0;e=b[j>>0]|0;if(e<<24>>24>-1){if(e<<24>>24){i=0;do{h=f[(f[g+120+(i<<2)>>2]|0)+72>>2]|0;if(!(d[h+28>>1]&32)){bh(h);e=b[j>>0]|0}else{p=f[h+20>>2]|0;o=p+120|0;f[o>>2]=(f[o>>2]|0)+-1;p=p+136|0;f[h+16>>2]=f[p>>2];f[p>>2]=h}i=i+1|0}while((i|0)<(e<<24>>24|0))}e=f[(f[g+116>>2]|0)+72>>2]|0;if(!(d[e+28>>1]&32))bh(e);else{p=f[e+20>>2]|0;o=p+120|0;f[o>>2]=(f[o>>2]|0)+-1;p=p+136|0;f[e+16>>2]=f[p>>2];f[p>>2]=e}b[j>>0]=-1}g=f[g+24>>2]|0;if(!g){e=0;m=107;break}}do if((m|0)==23)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);k=h;break}else{k=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);k=h;break}else if((m|0)==53)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);k=h;break}else{k=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);k=h;break}else if((m|0)==107)return e|0;while(0);b[l>>0]=b[l>>0]&-15;e=f[n>>2]|0;f[e+4>>2]=f[a>>2];e=f[e+8>>2]|0;if(!e){p=k;return p|0}do{g=e+16|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{p=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;b[e>>0]=4;f[e+4>>2]=k;j=e+68|0;g=b[j>>0]|0;if(g<<24>>24>-1){if(g<<24>>24){i=0;do{h=f[(f[e+120+(i<<2)>>2]|0)+72>>2]|0;if(!(d[h+28>>1]&32)){bh(h);g=b[j>>0]|0}else{p=f[h+20>>2]|0;o=p+120|0;f[o>>2]=(f[o>>2]|0)+-1;p=p+136|0;f[h+16>>2]=f[p>>2];f[p>>2]=h}i=i+1|0}while((i|0)<(g<<24>>24|0))}g=f[(f[e+116>>2]|0)+72>>2]|0;if(!(d[g+28>>1]&32))bh(g);else{p=f[g+20>>2]|0;o=p+120|0;f[o>>2]=(f[o>>2]|0)+-1;p=p+136|0;f[g+16>>2]=f[p>>2];f[p>>2]=g}b[j>>0]=-1}e=f[e+24>>2]|0}while((e|0)!=0);e=k;return e|0}function ai(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=c+20|0;l=f[k>>2]|0;do if(l|0){if((f[l>>2]|0)>0){m=l+12|0;j=0;do{g=f[m>>2]|0;i=g+(j*56|0)|0;e=f[g+(j*56|0)+28>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{p=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[g+(j*56|0)+36>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{p=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[g+(j*56|0)+48>>2]|0;do if(e|0){gi(f[e+4>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{p=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);e=i+56|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));j=j+1|0}while((j|0)<(f[l>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{p=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[k>>2]=0;k=c+59|0;if(b[k>>0]|0){l=(a|0)==0;m=a+480|0;n=a+304|0;o=a+308|0;p=a+300|0;j=0;do{i=c+64+(j*72|0)|0;e=f[c+64+(j*72|0)+12>>2]|0;do if(e|0){if(!l){if(f[m>>2]|0){Kc(a,e);break}g=e;if((f[n>>2]|0)>>>0<=g>>>0?(f[o>>2]|0)>>>0>g>>>0:0){f[e>>2]=f[p>>2];f[p>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{g=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);e=f[c+64+(j*72|0)+16>>2]|0;if(e|0)do{g=e;e=f[e+4>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](g);else{q=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g)}}while((e|0)!=0);e=f[c+64+(j*72|0)+40>>2]|0;do if(e|0){g=f[e>>2]|0;if(g|0){ib[f[g+4>>2]&255](e)|0;f[e>>2]=0}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{q=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);e=f[c+64+(j*72|0)+56>>2]|0;do if(e|0){g=f[e>>2]|0;if(g|0){ib[f[g+4>>2]&255](e)|0;f[e>>2]=0}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{q=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);e=i+72|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));f[c+64+(j*72|0)+8>>2]=c;j=j+1|0}while(j>>>0<(h[k>>0]|0)>>>0)}g=c+36|0;if((f[c+40>>2]|0)==0?(d=f[g>>2]|0,d|0):0)do{e=d;d=f[d+4>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{q=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}}while((d|0)!=0);f[g>>2]=0;f[c+44>>2]=0;b[c+56>>0]=0;f[c+48>>2]=0;f[c+8>>2]=0;d=c+32|0;e=f[d>>2]|0;if(!e){f[d>>2]=0;return}if(a|0){if(f[a+480>>2]|0){Kc(a,e);f[d>>2]=0;return}q=e;if((f[a+304>>2]|0)>>>0<=q>>>0?(f[a+308>>2]|0)>>>0>q>>>0:0){q=a+300|0;f[e>>2]=f[q>>2];f[q>>2]=e;f[d>>2]=0;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);f[d>>2]=0;return}else{q=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);f[d>>2]=0;return}}function bi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=f[a+4>>2]|0;f[i+4>>2]=f[a>>2];c=f[i+8>>2]|0;if(c|0)do{d=c;c=f[c+24>>2]|0;if((f[d+8>>2]|0)==(a|0))ci(d)}while((c|0)!=0);Uh(a,0,0);a:do if(b[a+9>>0]|0){d=i+64|0;e=f[d>>2]|0;f[d>>2]=e+-1;if((e|0)<2){c=f[18035]|0;if((c|0)==(i|0)){f[18035]=f[i+68>>2];h=15;break}if(!c)h=15;else{while(1){d=f[c+68>>2]|0;if((d|0)==(i|0))break;if(!d){h=15;break a}else c=d}f[c+68>>2]=f[i+68>>2];h=15}}}else h=15;while(0);do if((h|0)==15){di(f[i>>2]|0,f[a>>2]|0);d=f[i+52>>2]|0;c=i+48|0;if(d){e=f[c>>2]|0;if(e|0){ob[d&127](e);h=18}}else h=18;do if((h|0)==18?(g=f[c>>2]|0,g|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{e=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);e=i+80|0;c=f[e>>2]|0;if(c|0){d=c+-4|0;f[e>>2]=d;c=d;do if((f[18022]|0)>>>0<=c>>>0)if((f[18023]|0)>>>0>c>>>0){f[18188]=(f[18188]|0)+-1;f[d>>2]=f[18025];f[18025]=d;g=(f[18026]|0)+1|0;f[18026]=g;f[18027]=(g|0)<(f[18021]|0)&1;break}else{c=ib[f[37368>>2]&255](d)|0;h=28;break}else{c=ib[f[37368>>2]&255](d)|0;h=28}while(0);do if((h|0)==28){f[18189]=(f[18189]|0)-c;if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{h=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);f[e>>2]=0}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{h=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);d=f[a+28>>2]|0;c=a+24|0;if(d|0)f[d+24>>2]=f[c>>2];c=f[c>>2]|0;if(c|0)f[c+28>>2]=d;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{i=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function ci(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=f[a+8>>2]|0;if(!c)return;i=f[a+20>>2]|0;f[(f[c+4>>2]|0)+4>>2]=f[c>>2];e=i+8|0;c=f[e>>2]|0;a:do if((c|0)==(a|0))f[e>>2]=f[a+24>>2];else{while(1){e=f[c+24>>2]|0;if((e|0)==(a|0))break;if(!e)break a;else c=e}f[c+24>>2]=f[a+24>>2]}while(0);h=a+68|0;c=b[h>>0]|0;if(c<<24>>24>-1){if(c<<24>>24){g=0;do{e=f[(f[a+120+(g<<2)>>2]|0)+72>>2]|0;if(!(d[e+28>>1]&32)){bh(e);c=b[h>>0]|0}else{m=f[e+20>>2]|0;n=m+120|0;f[n>>2]=(f[n>>2]|0)+-1;m=m+136|0;f[e+16>>2]=f[m>>2];f[m>>2]=e}g=g+1|0}while((g|0)<(c<<24>>24|0))}c=f[(f[a+116>>2]|0)+72>>2]|0;if(!(d[c+28>>1]&32))bh(c);else{n=f[c+20>>2]|0;m=n+120|0;f[m>>2]=(f[m>>2]|0)+-1;n=n+136|0;f[c+16>>2]=f[n>>2];f[n>>2]=c}b[h>>0]=-1}if(((b[i+20>>0]|0)==0?(j=i+12|0,k=f[j>>2]|0,k|0):0)?(f[j>>2]=0,n=f[k+72>>2]|0,l=f[n+20>>2]|0,bh(n),(f[(f[l+212>>2]|0)+12>>2]|0)==0):0){switch(b[l+16>>0]|0){case 0:case 6:break;case 1:{if(!(b[l+4>>0]|0))sh(l,0,0)|0;break}default:wh(l)|0}xh(l)}c=f[a+12>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{n=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[a+16>>2]|0;if(!c)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{n=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}function di(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;g=o;n=f[a+208>>2]|0;d=f[a+136>>2]|0;if(d|0)do{e=d;d=f[d+16>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{l=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}}while((d|0)!=0);l=a+4|0;b[l>>0]=0;do if((c|0)!=0?(0==0?(f[c+32>>2]&2048|0)==0:0):0){f[g>>2]=0;if((((b[a+12>>0]|0)==0?(f[a+24>>2]|0)!=0:0)?(i=f[a+60>>2]|0,j=f[i>>2]|0,(j|0)!=0):0)?(k=kb[f[j+40>>2]&127](i,20,g)|0,(k|0)!=12):0){if(f[g>>2]|k|0){d=0;break}}else m=14;d=n}else d=0;while(0);k=a+216|0;ei(f[k>>2]|0,c,h[a+11>>0]|0,f[a+152>>2]|0,d)|0;f[k>>2]=0;jh(a);if(!(b[a+15>>0]|0)){g=a+64|0;d=f[g>>2]|0;e=f[d>>2]|0;a:do if(e|0){if(!(b[a+7>>0]|0)){d=jb[f[e+20>>2]&255](d,2)|0;if(!d){d=f[g>>2]|0;e=f[d>>2]|0;m=22}}else m=22;if((m|0)==22)d=jb[f[e+24>>2]&255](d,a+80|0)|0;switch((d&255)<<24>>24){case 10:case 13:break;default:break a}f[a+40>>2]=d;b[a+16>>0]=6;f[a+204>>2]=(d|0)==0?81:82}while(0);switch(b[a+16>>0]|0){case 0:case 6:break;case 1:{if(!(b[l>>0]|0))sh(a,0,0)|0;break}default:wh(a)|0}xh(a)}else xh(a);d=f[a+64>>2]|0;e=f[d>>2]|0;if(e|0){ib[f[e+4>>2]&255](d)|0;f[d>>2]=0}d=f[a+60>>2]|0;e=f[d>>2]|0;if(e|0){ib[f[e+4>>2]&255](d)|0;f[d>>2]=0}b:do if(n|0){d=n;do if((f[18022]|0)>>>0<=d>>>0)if((f[18023]|0)>>>0>d>>>0){f[18188]=(f[18188]|0)+-1;f[n>>2]=f[18025];f[18025]=n;n=(f[18026]|0)+1|0;f[18026]=n;f[18027]=(n|0)<(f[18021]|0)&1;break b}else{d=ib[f[37368>>2]&255](n)|0;break}else d=ib[f[37368>>2]&255](n)|0;while(0);f[18189]=(f[18189]|0)-d;if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{m=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);ob[f[37468>>2]&127](f[(f[a+212>>2]|0)+44>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);t=o;return}else{n=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);t=o;return}}function ei(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;l=n+8|0;k=n;j=n+12|0;if(!a){a=0;t=n;return a|0}if(g){i=a+4|0;h=f[i>>2]|0;h=jb[f[(f[h>>2]|0)+28>>2]&255](h,4)|0;if(!h){h=a+43|0;if(!(b[h>>0]|0))b[h>>0]=1;h=fi(a,c,0,0,0,d,e,g,0,0)|0;if(!h){f[j>>2]=-1;h=f[i>>2]|0;c=f[h>>2]|0;if((c|0)!=0?(kb[f[c+40>>2]&127](h,10,j)|0,(f[j>>2]|0)==1):0){j=a+16|0;i=f[j+4>>2]|0;if((i|0)>-1|(i|0)==-1&(f[j>>2]|0)>>>0>4294967295){c=a+8|0;h=f[c>>2]|0;h=jb[f[(f[h>>2]|0)+24>>2]&255](h,k)|0;j=f[k+4>>2]|0;if((h|0)==0&((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)){h=f[c>>2]|0;h=kb[f[(f[h>>2]|0)+16>>2]&127](h,0,0)|0}if(h|0){f[l>>2]=f[a+108>>2];Ac(h,42647,l)}h=0}else h=0}else h=1;j=0}else{j=h;h=0}}else{j=h;h=0}}else{j=0;h=0}g=a+43|0;c=b[g>>0]|0;if(c<<24>>24!=2?(b[a+50>>0]|0)==0:0)m=27;else{i=a+24|0;if((f[i>>2]|0)>0){d=a+32|0;c=0;do{e=f[(f[d>>2]|0)+(c<<2)>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{l=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[(f[d>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)<(f[i>>2]|0));c=b[g>>0]|0}if(c<<24>>24!=2)m=27}if((m|0)==27){m=f[a+4>>2]|0;jb[f[(f[m>>2]|0)+64>>2]&255](m,h)|0}c=f[a+8>>2]|0;d=f[c>>2]|0;if(d|0){ib[f[d+4>>2]&255](c)|0;f[c>>2]=0}if(h|0){m=f[a>>2]|0;kb[f[m+28>>2]&127](m,f[a+108>>2]|0,0)|0}h=f[a+32>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{m=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);a=j;t=n;return a|0}else{m=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);a=j;t=n;return a|0}return 0} -function Ki(a,c,e,g,i,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;ya=t;t=t+352|0;xa=ya+56|0;wa=ya+48|0;va=ya+40|0;p=ya+24|0;o=ya+16|0;n=ya+8|0;m=ya;sa=ya+336|0;ta=ya+64|0;f[k>>2]=0;a:do if(!a){f[m>>2]=40543;Ac(21,43101,m)}else{m=f[a+96>>2]|0;b:do if((m|0)<-264537850){switch(m|0){case -1607883113:break;default:break b}if(!c)break a;la=a+20|0;n=f[la>>2]|0;ma=a+16|0;if((n|0)>0){o=f[ma>>2]|0;m=0;do{p=f[o+(m<<4)+4>>2]|0;if(p|0)f[(f[p+4>>2]|0)+4>>2]=f[p>>2];m=m+1|0}while((m|0)!=(n|0))}E=ta+184|0;F=ta+216|0;G=(g&1|0)==0;H=ta+24|0;I=a+272|0;J=a+360|0;K=ta+64|0;L=(e|0)>-1;M=a+4|0;N=ta+68|0;O=(e|0)==0;P=ta+12|0;Q=a+112|0;R=c+(e+-1)|0;S=ta+17|0;T=a+81|0;U=a+68|0;V=c+e|0;W=ta+220|0;X=KA(e|0,((e|0)<0)<<31>>31|0,1,0)|0;Y=ba()|0;Z=(l|0)==0;_=a+276|0;$=a+288|0;aa=a+300|0;ca=a+480|0;da=ta+8|0;ea=a+165|0;fa=a+296|0;ga=a+284|0;ha=a+304|0;ia=ta+195|0;ja=c;w=g&255;x=a+292|0;y=a+308|0;z=w<<24>>24>-1;A=a+64|0;B=ta+256|0;C=a+256|0;D=a+56|0;v=0;c:while(1){d:while(1){f[sa>>2]=0;_A(ta|0,0,144)|0;m=E;n=m+88|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(n|0));f[F>>2]=i;if(!G){b[H>>0]=1;f[I>>2]=(f[I>>2]|0)+1}g=f[la>>2]|0;e:do if((g|0)>0){p=f[ma>>2]|0;m=0;f:while(1){o=f[p+(m<<4)+4>>2]|0;if(o|0?(ua=f[o+4>>2]|0,f[ua+4>>2]=f[o>>2],b[o+9>>0]|0):0){if((f[ua+76>>2]|0)!=(o|0)?d[ua+22>>1]&64:0)break;n=f[ua+72>>2]|0;if(n|0)do{do if((f[n>>2]|0)!=(o|0)){if((f[n+4>>2]|0)!=1)break;if((b[n+8>>0]|0)!=1)break f}while(0);n=f[n+12>>2]|0}while((n|0)!=0)}m=m+1|0;if((m|0)>=(g|0)){ka=31;break e}}f[va>>2]=f[p+(m<<4)>>2];vg(a,262,43163,va);n=262}else ka=31;while(0);g:do if((ka|0)==31){ka=0;n=f[J>>2]|0;f[J>>2]=0;if(n|0){m=f[M>>2]|0;if(m|0)do{u=m+145|0;s=(h[u>>0]|h[u+1>>0]<<8)&-4|1;b[u>>0]=s;b[u+1>>0]=s>>8;m=f[m+8>>2]|0}while((m|0)!=0);do{o=n;n=f[n+24>>2]|0;p=f[o>>2]|0;s=o+12|0;u=(f[s>>2]|0)+-1|0;f[s>>2]=u;h:do if(!u){m=f[o+8>>2]|0;if(m|0)ib[f[(f[m>>2]|0)+16>>2]&255](m)|0;do if(p|0){if(f[p+480>>2]|0){Kc(p,o);break h}m=o;if((f[p+304>>2]|0)>>>0>m>>>0)break;if((f[p+308>>2]|0)>>>0<=m>>>0)break;u=p+300|0;f[o>>2]=f[u>>2];f[u>>2]=o;break h}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{u=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0)}while((n|0)!=0)}f[ta>>2]=a;i:do if(L){if(!O?(b[R>>0]|0)==0:0){ka=75;break}if((f[Q>>2]|0)<(e|0)){vg(a,18,43193,wa);if(!(b[T>>0]|0)){n=f[U>>2]&18;break g}else{Di(a);n=7;break g}}j:do if(f[I>>2]|0){if(!(b[T>>0]|0))ka=64}else{do if(Y>>>0>0|((Y|0)==0?X>>>0>(j[_>>1]|0)>>>0:0))m=$;else{m=f[aa>>2]|0;if(m|0){f[aa>>2]=f[m>>2];f[ga>>2]=(f[ga>>2]|0)+1;na=m;ka=65;break j}m=f[fa>>2]|0;if(!m){m=x;break}f[fa>>2]=f[m>>2];f[ga>>2]=(f[ga>>2]|0)+1;na=m;ka=65;break j}while(0);f[m>>2]=(f[m>>2]|0)+1;ka=64}while(0);if((ka|0)==64){na=Dc(a,X,Y)|0;ka=65}if((ka|0)==65?(ka=0,na|0):0){YA(na|0,c|0,e|0)|0;b[na+e>>0]=0;bg(ta,na,sa)|0;m=na;f[W>>2]=c+((f[W>>2]|0)-m);if(f[ca>>2]|0){Kc(a,na);break}do if((f[ha>>2]|0)>>>0<=m>>>0){if((f[y>>2]|0)>>>0<=m>>>0)break;f[na>>2]=f[aa>>2];f[aa>>2]=na;break i}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](na);break}else{u=ib[f[37368>>2]&255](na)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](na);break}}f[W>>2]=V}else ka=75;while(0);if((ka|0)==75){ka=0;bg(ta,c,sa)|0}if((f[P>>2]|0)==101)f[P>>2]=0;k:do if(b[S>>0]|0?(oa=f[ta>>2]|0,pa=oa+20|0,(f[pa>>2]|0)>0):0){q=oa+16|0;r=oa+24|0;s=oa+56|0;g=0;l:while(1){m=f[q>>2]|0;u=f[m+(g<<4)+4>>2]|0;do if(u|0){if(!(b[u+8>>0]|0)){m=Li(u,0,0)|0;if((m|0)>=7)break l;switch(m|0){case 0:break;default:break k}o=f[u+4>>2]|0;f[o+4>>2]=f[u>>2];o=f[(f[o+12>>2]|0)+56>>2]|0;p=1;o=h[o+41>>0]<<16|h[o+40>>0]<<24|h[o+42>>0]<<8|h[o+43>>0];m=f[q>>2]|0}else{o=f[u+4>>2]|0;f[o+4>>2]=f[u>>2];o=f[(f[o+12>>2]|0)+56>>2]|0;p=0;o=h[o+41>>0]<<16|h[o+40>>0]<<24|h[o+42>>0]<<8|h[o+43>>0]}n=f[m+(g<<4)+12>>2]|0;if((o|0)!=(f[n>>2]|0)){o=n+78|0;d[o>>1]=d[o>>1]|8;o=(f[m+28>>2]|0)+78|0;d[o>>1]=d[o>>1]|8;f[r>>2]=f[r>>2]&-9;m:do if(!(f[s>>2]|0)){n=f[pa>>2]|0;if((n|0)<=0)break;o=0;while(1){m=f[m+(o<<4)+12>>2]|0;if(d[m+78>>1]&8){Wh(m);n=f[pa>>2]|0}m=o+1|0;if((m|0)>=(n|0))break m;o=m;m=f[q>>2]|0}}while(0);f[P>>2]=17}if(!p)break;f[(f[u+4>>2]|0)+4>>2]=f[u>>2];if(Gg(u,0)|0)break;Hg(u,0)|0}while(0);g=g+1|0;if((g|0)>=(f[pa>>2]|0))break k}if((m|0)<3082)switch(m|0){case 7:break;default:break k}else switch(m|0){case 3082:break;default:break k}m=oa+81|0;if((b[m>>0]|0)==0?(b[oa+82>>0]|0)==0:0){b[m>>0]=1;if((f[oa+180>>2]|0)>0)f[oa+264>>2]=1;u=oa+272|0;f[u>>2]=(f[u>>2]|0)+1}}while(0);if(b[T>>0]|0)f[P>>2]=7;if(!Z)f[l>>2]=f[W>>2];u=f[P>>2]|0;s=(u|0)==0;n:do if(s?(qa=f[da>>2]|0,qa|0):0){switch(b[ia>>0]|0){case 0:break n;case 2:{Mi(qa,4);m=12;n=8;break}default:{Mi(qa,8);m=8;n=0}}o=n;do{p=f[da>>2]|0;if(!(b[(f[p>>2]|0)+81>>0]|0))$e((f[p+100>>2]|0)+((o-n|0)*40|0)|0,f[7744+(o<<2)>>2]|0,-1,1,0)|0;o=o+1|0}while(o>>>0>>0)}while(0);do if(!(b[ea>>0]|0)){r=f[da>>2]|0;q=(f[W>>2]|0)-ja|0;if(!r){m=0;ka=154;break}b[r+144>>0]=w;if(z)f[r+204>>2]=0;o=f[r>>2]|0;p=KA(q|0,((q|0)<0)<<31>>31|0,1,0)|0;g=ba()|0;o:do if(f[o+272>>2]|0)if(!(b[o+81>>0]|0))ka=131;else m=0;else{do if(!(g>>>0>0|((g|0)==0?p>>>0>(j[o+276>>1]|0)>>>0:0))){n=o+300|0;m=f[n>>2]|0;if(m|0){f[n>>2]=f[m>>2];ka=o+284|0;f[ka>>2]=(f[ka>>2]|0)+1;ka=132;break o}n=o+296|0;m=f[n>>2]|0;if(!m){m=o+292|0;break}else{f[n>>2]=f[m>>2];ka=o+284|0;f[ka>>2]=(f[ka>>2]|0)+1;ka=132;break o}}else m=o+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1;ka=131}while(0);if((ka|0)==131){m=Dc(o,p,g)|0;ka=132}do if((ka|0)==132){if(!m){m=0;break}YA(m|0,c|0,q|0)|0;b[m+q>>0]=0}while(0);f[r+184>>2]=m;ka=135}else ka=135;while(0);p:do if((ka|0)==135){ka=0;q=f[da>>2]|0;m=q;if(!q){ka=154;break}if(s?(b[T>>0]|0)==0:0){ka=154;break}r=q+20|0;n=f[r>>2]|0;if((n|0)<832317811)switch(n|0){case 770837923:{ka=139;break}default:{}}else switch(n|0){case 832317811:{ka=139;break}default:{}}if((ka|0)==139){ka=0;fg(q)|0}p=f[q>>2]|0;gg(p,q);g=f[q+4>>2]|0;o=q+8|0;n=f[o>>2]|0;if(!g)f[p+4>>2]=n;else{f[g+8>>2]=n;n=f[o>>2]|0}if(n|0)f[n+4>>2]=g;f[r>>2]=1443283912;f[q>>2]=0;do if(p|0){if(f[p+480>>2]|0){Kc(p,q);break p}if((f[p+304>>2]|0)>>>0>m>>>0)break;if((f[p+308>>2]|0)>>>0<=m>>>0)break;r=p+300|0;f[q>>2]=f[r>>2];f[r>>2]=q;break p}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{r=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}while(0);if((ka|0)==154){ka=0;f[k>>2]=m}n=f[sa>>2]|0;q:do if(n){f[xa>>2]=n;vg(a,u,40840,xa);if(f[ca>>2]|0){Kc(a,n);break}m=n;do if((f[ha>>2]|0)>>>0<=m>>>0){if((f[y>>2]|0)>>>0<=m>>>0)break;f[n>>2]=f[aa>>2];f[aa>>2]=n;break q}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{s=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}else{f[A>>2]=u;if(!s){Bg(a,u);break}if(!(f[C>>2]|0))break;Bg(a,0)}while(0);m=f[B>>2]|0;if(!m){n=u;break}while(1){f[B>>2]=f[m+4>>2];r:do if(!(f[ca>>2]|0)){n=m;do if((f[ha>>2]|0)>>>0<=n>>>0){if((f[y>>2]|0)>>>0<=n>>>0)break;f[m>>2]=f[aa>>2];f[aa>>2]=m;break r}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{s=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}else Kc(a,m);while(0);m=f[B>>2]|0;if(!m){n=u;break}}}while(0);o=f[ta>>2]|0;m=f[K>>2]|0;do if(m|0){if(o|0){if(f[o+480>>2]|0){Kc(o,m);break}u=m;if((f[o+304>>2]|0)>>>0<=u>>>0?(f[o+308>>2]|0)>>>0>u>>>0:0){u=o+300|0;f[m>>2]=f[u>>2];f[u>>2]=m;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{u=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);m=f[N>>2]|0;if(m|0)jg(o,m);if(o|0){u=o+272|0;f[u>>2]=(f[u>>2]|0)-(h[H>>0]|0)}switch(n|0){case 513:break;case 17:break d;default:{ka=204;break c}}}if((f[D>>2]|0)==0?(ra=f[la>>2]|0,(ra|0)>0):0){o=0;m=ra;do{n=f[(f[ma>>2]|0)+(o<<4)+12>>2]|0;if(d[n+78>>1]&8){Wh(n);m=f[la>>2]|0}o=o+1|0}while((o|0)<(m|0))}if(!v)v=1;else{ka=201;break}}if((ka|0)==201)if(!(b[T>>0]|0)){xa=f[U>>2]&17;t=ya;return xa|0}else{Di(a);xa=7;t=ya;return xa|0}else if((ka|0)==204)if((n|0)==3082|(b[T>>0]|0)!=0){Di(a);xa=7;t=ya;return xa|0}else{xa=f[U>>2]&n;t=ya;return xa|0}}else{if((m|0)<1266094736)switch(m|0){case -264537850:break;default:break b}else switch(m|0){case 1266094736:break;default:break b}f[o>>2]=43154;Ac(21,43101,o);break a}while(0);f[n>>2]=43146;Ac(21,43101,n)}while(0);f[p>>2]=40433;f[p+4>>2]=123394;f[p+8>>2]=40460;Ac(21,40408,p);xa=21;t=ya;return xa|0}function Li(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=t;t=t+16|0;R=Y;L=Y+12|0;X=f[a+4>>2]|0;m=f[a>>2]|0;Q=X+4|0;f[Q>>2]=m;V=a+8|0;n=b[V>>0]|0;do if(n<<24>>24!=2?(S=(c|0)!=0,S|n<<24>>24!=1):0){if(!(0==0?(f[m+32>>2]&33554432|0)==0:0)?(b[(f[X>>2]|0)+14>>0]|0)==0:0){U=X+22|0;d[U>>1]=d[U>>1]&-2}M=X+22|0;q=d[M>>1]|0;if(S&(q&1)!=0){a=8;t=Y;return a|0}a:do if(S)if((q&128)==0&(b[X+20>>0]|0)!=2){if((c|0)>1?(o=f[X+72>>2]|0,o|0):0){m=o;do{n=f[m>>2]|0;if((n|0)!=(a|0)){p=n;K=16;break a}m=f[m+12>>2]|0}while((m|0)!=0)}}else K=10;else if(q&128)K=10;while(0);if((K|0)==10){p=f[X+76>>2]|0;K=16}if((K|0)==16?f[p>>2]|0:0){a=262;t=Y;return a|0}J=a+9|0;b:do if(b[J>>0]|0){if(!((q&64)==0?1:(f[X+76>>2]|0)==(a|0))){a=262;t=Y;return a|0}m=f[X+72>>2]|0;if(m|0){while(1){if(((f[m>>2]|0)!=(a|0)?(f[m+4>>2]|0)==1:0)?(b[m+8>>0]|0)!=1:0){g=262;break}m=f[m+12>>2]|0;if(!m)break b}t=Y;return g|0}}while(0);d[M>>1]=q&-17;U=X+44|0;if(!(f[U>>2]|0))d[M>>1]=q|16;H=X+12|0;I=X+20|0;x=X+24|0;y=X+26|0;z=X+28|0;A=X+30|0;B=X+21|0;w=X+36|0;C=X+32|0;D=X+80|0;E=X+17|0;F=X+18|0;G=(c|0)<2;n=0;c:while(1){d:do if(!(f[H>>2]|0)){e:while(1){m=Ni(f[X>>2]|0)|0;if(m|0){K=135;break d}m=f[X>>2]|0;m=lb[f[m+204>>2]&127](m,1,L,0)|0;if(m|0){K=35;break}n=f[L>>2]|0;m=f[n+8>>2]|0;o=m+4|0;if((f[o>>2]|0)==1)s=f[m+56>>2]|0;else{s=f[n+4>>2]|0;f[m+56>>2]=s;f[m+72>>2]=n;f[m+52>>2]=X;f[o>>2]=1;b[m+9>>0]=100}u=m;n=h[s+29>>0]<<16|h[s+28>>0]<<24|h[s+30>>0]<<8|h[s+31>>0];v=f[X>>2]|0;r=f[v+24>>2]|0;if(!((n|0)!=0?(Hz(s+24|0,s+92|0,4)|0)==0:0))n=r;p=f[(f[Q>>2]|0)+32>>2]|0;q=(p&33554432|0)==0&0==0?n:0;do if((q|0)>0){if(Hz(s,6064,16)|0){n=26;break e}if((h[s+18>>0]|0)>2)d[M>>1]=d[M>>1]|1;n=b[s+19>>0]|0;if((n&255)>2){n=26;break e}do if(n<<24>>24==2){if(d[M>>1]&32){K=62;break}if(b[v+12>>0]|0){K=62;break}if(f[v+216>>2]|0){K=62;break}n=f[f[v+60>>2]>>2]|0;if(b[v+13>>0]|0){n=14;break e}if(!(b[v+4>>0]|0)){if((f[n>>2]|0)<=1){n=14;break e}if(!(f[n+52>>2]|0)){n=14;break e}}n=f[v+64>>2]|0;o=f[n>>2]|0;if(o|0){ib[f[o+4>>2]&255](n)|0;f[n>>2]=0}n=Oi(v)|0;if(n|0)break e;b[v+5>>0]=5;b[v+16>>0]=0;v=f[m+72>>2]|0;m=f[v+20>>2]|0;bh(v);if(f[(f[m+212>>2]|0)+12>>2]|0)break;f:do switch(b[m+16>>0]|0){case 0:case 6:break;case 1:{if(b[m+4>>0]|0)break f;sh(m,0,0)|0;break}default:wh(m)|0}while(0);xh(m)}else K=62;while(0);if((K|0)==62){K=0;if(Hz(s+21|0,43272,3)|0){n=26;break e}o=h[s+17>>0]<<16|h[s+16>>0]<<8;if((o+-257|0)>>>0>65279|(o+16777215&o|0)!=0){n=26;break e}v=h[s+20>>0]|0;n=o-v|0;if((o|0)==(f[C>>2]|0)){if(((p&268435457|0)!=1|0!=0)&(q|0)>(r|0)){K=82;break e}if(n>>>0<480){n=26;break e}f[C>>2]=o;f[w>>2]=n;b[E>>0]=(h[s+53>>0]<<16|h[s+52>>0]<<24|h[s+54>>0]<<8|h[s+55>>0]|0)!=0&1;b[F>>0]=(h[s+65>>0]<<16|h[s+64>>0]<<24|h[s+66>>0]<<8|h[s+67>>0]|0)!=0&1;K=85;break}u=f[m+72>>2]|0;m=f[u+20>>2]|0;bh(u);if(!(f[(f[m+212>>2]|0)+12>>2]|0)){g:do switch(b[m+16>>0]|0){case 0:case 6:break;case 1:{if(b[m+4>>0]|0)break g;sh(m,0,0)|0;break}default:wh(m)|0}while(0);xh(m)}f[w>>2]=n;f[C>>2]=o;m=f[D>>2]|0;if(m|0){n=m+-4|0;f[D>>2]=n;m=n;do if((f[18022]|0)>>>0<=m>>>0)if((f[18023]|0)>>>0>m>>>0){f[18188]=(f[18188]|0)+-1;f[n>>2]=f[18025];f[18025]=n;u=(f[18026]|0)+1|0;f[18026]=u;f[18027]=(u|0)<(f[18021]|0)&1;break}else{m=ib[f[37368>>2]&255](n)|0;K=77;break}else{m=ib[f[37368>>2]&255](n)|0;K=77}while(0);do if((K|0)==77){K=0;f[18189]=(f[18189]|0)-m;if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{u=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[D>>2]=0}m=ih(f[X>>2]|0,C,v)|0;if(m|0){K=135;break d}}m=f[H>>2]|0}else{n=f[w>>2]|0;K=85}while(0);if((K|0)==85){K=0;v=((((n<<6)+-768|0)>>>0)/255|0)+65513|0;s=v&65535;d[x>>1]=s;r=((((n<<5)+-384|0)>>>0)/255|0)+65513&65535;d[y>>1]=r;d[z>>1]=n+65501;d[A>>1]=r;b[B>>0]=(s&65535)>127?127:v&255;f[H>>2]=u;f[U>>2]=q}if(m|0){n=0;K=96;break d}}if((K|0)==35){K=135;break}else if((K|0)==82){f[R>>2]=42469;f[R+4>>2]=66053;f[R+8>>2]=40460;Ac(11,40408,R);n=11}K=f[m+72>>2]|0;m=f[K+20>>2]|0;bh(K);if(!(f[(f[m+212>>2]|0)+12>>2]|0)){switch(b[m+16>>0]|0){case 0:case 6:break;case 1:{if(!(b[m+4>>0]|0))sh(m,0,0)|0;break}default:wh(m)|0}xh(m)}f[H>>2]=0;m=n;K=135}else K=96;while(0);h:do if((K|0)==96){K=0;i:do if(S&(n|0)==0){if(d[M>>1]&1){m=8;K=135;break h}v=f[X>>2]|0;n=f[v+40>>2]|0;j:do if(!n){b[v+21>>0]=(b[(f[a>>2]|0)+80>>0]|0)==2&1;u=v+16|0;if((b[u>>0]|0)==1){p=v+216|0;m=f[p>>2]|0;k:do if(!m){s=v+17|0;m=b[s>>0]|0;l:do switch(m<<24>>24){case 0:case 1:case 5:{if(!(b[v+13>>0]|0)){n=f[v+60>>2]|0;n=jb[f[(f[n>>2]|0)+28>>2]&255](n,2)|0;if(n|0){K=132;break j}m=b[s>>0]|0}if(m<<24>>24==5){m=5;break l}b[s>>0]=2;m=2;break}default:{}}while(0);if(!G){o=v+13|0;p=v+60|0;q=v+176|0;r=v+180|0;m:while(1){switch(m<<24>>24){case 0:case 1:case 2:case 3:case 5:break;default:break k}if(b[o>>0]|0)break;n=f[p>>2]|0;n=jb[f[(f[n>>2]|0)+28>>2]&255](n,4)|0;switch(n|0){case 0:break m;case 5:break;default:{K=132;break j}}if(!(ib[f[q>>2]&255](f[r>>2]|0)|0)){m=5;K=135;break h}m=b[s>>0]|0}b[s>>0]=4}}else{do if(b[v+4>>0]|0){n=m+43|0;if(b[n>>0]|0)break;o=v+17|0;n:do switch(b[o>>0]|0){case 0:case 1:case 2:case 3:case 5:{if(b[v+13>>0]|0){b[o>>0]=4;K=108;break n}n=f[v+60>>2]|0;n=jb[f[(f[n>>2]|0)+28>>2]&255](n,4)|0;if(n|0){K=132;break j}m=f[p>>2]|0;n=m+43|0;s=b[n>>0]|0;b[o>>0]=4;if(!(s<<24>>24))K=108;break}default:K=108}while(0);if((K|0)==108){K=f[m+4>>2]|0;lb[f[(f[K>>2]|0)+56>>2]&127](K,(d[m+40>>1]|0)+3|0,1,5)|0;m=f[p>>2]|0}b[n>>0]=1}while(0);if(b[m+46>>0]|0){m=8;K=135;break h}n=m+43|0;if((b[n>>0]|0)==0?(N=f[m+4>>2]|0,N=lb[f[(f[N>>2]|0)+56>>2]&127](N,0,1,10)|0,N|0):0){n=N;K=132;break j}o=m+44|0;b[o>>0]=1;if(!(Hz(m+52|0,f[f[m+32>>2]>>2]|0,48)|0))break;if(!(b[n>>0]|0)){K=f[m+4>>2]|0;lb[f[(f[K>>2]|0)+56>>2]&127](K,0,1,9)|0}b[o>>0]=0;K=134;break j}while(0);b[u>>0]=2;K=f[v+24>>2]|0;f[v+36>>2]=K;f[v+32>>2]=K;f[v+28>>2]=K;K=v+72|0;f[K>>2]=0;f[K+4>>2]=0;K=133}else K=133}else K=132;while(0);if((K|0)==132){K=0;switch(n|0){case 0:{K=133;break}case 517:{K=134;break}default:break i}}if((K|0)==133){K=0;n=Mg(X)|0;break}else if((K|0)==134){m=(b[I>>0]|0)==0?5:517;K=135;break h}}while(0);if(!n){n=0;break c}else s=0}while(0);if((K|0)==135){K=0;n=m;s=(m|0)==0}if(((b[I>>0]|0)==0?(O=f[H>>2]|0,O|0):0)?(f[H>>2]=0,v=f[O+72>>2]|0,P=f[v+20>>2]|0,bh(v),(f[(f[P+212>>2]|0)+12>>2]|0)==0):0){switch(b[P+16>>0]|0){case 0:case 6:break;case 1:{if(!(b[P+4>>0]|0))sh(P,0,0)|0;break}default:wh(P)|0}xh(P)}if((n&255|0)!=5){K=156;break}if(b[I>>0]|0){K=156;break}o=f[Q>>2]|0;m=f[(f[X>>2]|0)+60>>2]|0;p=f[o+396>>2]|0;if(!p){K=154;break}r=o+404|0;q=f[r>>2]|0;if((q|0)<0){K=154;break}if(!(b[o+408>>0]|0))m=jb[p&255](f[o+400>>2]|0,q)|0;else m=kb[p&127](f[o+400>>2]|0,q,m)|0;if(!m){K=153;break}f[r>>2]=(f[r>>2]|0)+1}if((K|0)==153){f[r>>2]=-1;if(!s){a=n;t=Y;return a|0}}else if((K|0)==154){if(!s){a=n;t=Y;return a|0}}else if((K|0)==156)if(!s){a=n;t=Y;return a|0}if((b[V>>0]|0)==0?(R=X+40|0,f[R>>2]=(f[R>>2]|0)+1,b[J>>0]|0):0){b[a+40>>0]=1;R=X+72|0;f[a+44>>2]=f[R>>2];f[R>>2]=a+32}m=S?2:1;b[V>>0]=m;if((m&255)>(h[I>>0]|0))b[I>>0]=m;if(S?(T=f[H>>2]|0,f[X+76>>2]=a,g=d[M>>1]|0,d[M>>1]=(c|0)>1?g|64:g&-65,g=f[U>>2]|0,W=T+56|0,j=f[W>>2]|0,i=j+28|0,l=j+29|0,k=j+30|0,j=j+31|0,(g|0)!=(h[l>>0]<<16|h[i>>0]<<24|h[k>>0]<<8|h[j>>0]|0)):0){m=f[T+72>>2]|0;n=f[m+20>>2]|0;if((d[m+28>>1]&4)!=0?(f[n+24>>2]|0)>>>0>=(f[m+24>>2]|0)>>>0:0){if(f[n+96>>2]|0){g=Ng(m)|0;K=172}}else K=168;do if((K|0)==168){g=f[n+40>>2]|0;if(g|0){a=g;t=Y;return a|0}if((f[n+148>>2]|0)>>>0>(f[n+152>>2]|0)>>>0){g=Og(m)|0;K=172;break}else{g=Pg(m)|0;K=172;break}}while(0);do if((K|0)==172)if(!g){i=f[W>>2]|0;l=i+29|0;k=i+30|0;j=i+31|0;i=i+28|0;g=f[U>>2]|0;break}else{a=g;t=Y;return a|0}while(0);b[i>>0]=g>>>24;b[l>>0]=g>>>16;b[k>>0]=g>>>8;b[j>>0]=g;break}if(n|0){a=n;t=Y;return a|0}}while(0);if(e|0){W=f[(f[X+12>>2]|0)+56>>2]|0;f[e>>2]=h[W+41>>0]<<16|h[W+40>>0]<<24|h[W+42>>0]<<8|h[W+43>>0]}if(!c){a=0;t=Y;return a|0}i=f[X>>2]|0;g=f[(f[a>>2]|0)+452>>2]|0;if((f[i+96>>2]|0)>=(g|0)){a=0;t=Y;return a|0}if(!(b[i+6>>0]|0)){a=0;t=Y;return a|0}a=Pi(i,g)|0;t=Y;return a|0}function Mi(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f[a>>2]|0;r=a+140|0;g=d[r>>1]|0;do if(g<<16>>16){q=a+100|0;e=f[q>>2]|0;a:do if(e|0){p=e+(((g&65535)<<1)*40|0)|0;k=f[e+32>>2]|0;l=k+480|0;g=(k|0)==0;m=k+304|0;n=k+308|0;o=k+300|0;if(f[l>>2]|0){if(g)while(1){do if(f[e+24>>2]|0?(h=f[e+20>>2]|0,h|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{o=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);e=e+40|0;if(e>>>0>=p>>>0)break a}while(1){do if(f[e+24>>2]|0?(i=f[e+20>>2]|0,i|0):0){if(f[l>>2]|0){Kc(k,i);break}h=i;if((f[m>>2]|0)>>>0<=h>>>0?(f[n>>2]|0)>>>0>h>>>0:0){f[i>>2]=f[o>>2];f[o>>2]=i;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{h=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);e=e+40|0;if(e>>>0>=p>>>0)break a}}if(g)while(1){g=e+8|0;if(!(d[g>>1]&9216)){h=e+24|0;if(f[h>>2]|0){i=f[e+20>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{o=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[h>>2]=0}}else ff(e);d[g>>1]=128;e=e+40|0;if(e>>>0>=p>>>0)break a}do{g=e+8|0;if(!(d[g>>1]&9216)){h=e+24|0;if(f[h>>2]|0){i=f[e+20>>2]|0;do if(!(f[l>>2]|0)){u=i;if((f[m>>2]|0)>>>0<=u>>>0?(f[n>>2]|0)>>>0>u>>>0:0){f[i>>2]=f[o>>2];f[o>>2]=i;break}if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{u=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}else Kc(k,i);while(0);f[h>>2]=0}}else ff(e);d[g>>1]=128;e=e+40|0}while(e>>>0

>>0)}while(0);e=f[q>>2]|0;if(e|0){if(t|0){if(f[t+480>>2]|0){Kc(t,e);break}u=e;if((f[t+304>>2]|0)>>>0<=u>>>0?(f[t+308>>2]|0)>>>0>u>>>0:0){u=t+300|0;f[e>>2]=f[u>>2];f[u>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}}while(0);d[r>>1]=c;h=c*80|0;b:do if(f[t+272>>2]|0)if(!(b[t+81>>0]|0))s=71;else{f[a+100>>2]=0;return}else{do if(!(0<0|(0==0?(j[t+276>>1]|0)>>>0>>0:0))){g=t+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];u=t+284|0;f[u>>2]=(f[u>>2]|0)+1;break b}g=t+296|0;e=f[g>>2]|0;if(!e){e=t+292|0;break}else{f[g>>2]=f[e>>2];u=t+284|0;f[u>>2]=(f[u>>2]|0)+1;break b}}else e=t+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;s=71}while(0);if((s|0)==71)e=Dc(t,h,0)|0;f[a+100>>2]=e;if(!((c|0)>0&(e|0)!=0))return;g=c<<1;while(1){f[e+32>>2]=t;d[e+8>>1]=1;f[e+24>>2]=0;if((g|0)>1){g=g+-1|0;e=e+40|0}else break}return}function Ni(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=t;t=t+48|0;p=G+16|0;E=G;v=G+32|0;h=G+28|0;C=a+216|0;e=f[C>>2]|0;a:do if(!e){B=a+16|0;b:do if(!(b[B>>0]|0)){q=a+17|0;A=a+13|0;z=a+60|0;e=a+176|0;g=a+180|0;c:while(1){c=b[q>>0]|0;switch(c<<24>>24){case 0:case 5:break;default:{u=11;break c}}if(b[A>>0]|0){u=8;break}c=f[z>>2]|0;c=jb[f[(f[c>>2]|0)+28>>2]&255](c,1)|0;switch(c|0){case 0:{u=7;break c}case 5:break;default:{u=136;break a}}if(!(ib[f[e>>2]&255](f[g>>2]|0)|0)){c=5;u=138;break a}}if((u|0)==7){c=b[q>>0]|0;u=8}else if((u|0)==11)if((c&255)<2)u=12;else u=48;if((u|0)==8)if(c<<24>>24==5)u=48;else{b[q>>0]=1;u=12}if((u|0)==12){g=f[a>>2]|0;f[v>>2]=1;j=a+64|0;k=(f[f[j>>2]>>2]|0)!=0;if(k){c=0;e=1}else{c=lb[f[g+32>>2]&127](g,f[a+172>>2]|0,0,v)|0;e=f[v>>2]|0}if((e|0)!=0&(c|0)==0){f[h>>2]=0;c=f[z>>2]|0;c=jb[f[(f[c>>2]|0)+36>>2]&255](c,h)|0;d:do if(!(f[h>>2]|c)){c=f[C>>2]|0;if(((c|0)!=0?(d[c+40>>1]|0)>-1:0)?(i=f[c+72>>2]|0,(i|0)!=0):0){c=i;u=22}else u=19;do if((u|0)==19){c=f[z>>2]|0;e=f[c>>2]|0;if(e){i=E;f[i>>2]=0;f[i+4>>2]=0;c=jb[f[e+24>>2]&255](c,E)|0;if(!c){i=E;u=f[a+152>>2]|0;c=((u|0)<0)<<31>>31;i=KA(f[i>>2]|0,f[i+4>>2]|0,-1,-1)|0;i=KA(i|0,ba()|0,u|0,c|0)|0;c=OA(i|0,ba()|0,u|0,c|0)|0;ba()|0;u=22;break}else{e=0;break d}}else{l=0;u=25}}while(0);if((u|0)==22){e=a+156|0;if(c>>>0>(f[e>>2]|0)>>>0)f[e>>2]=c;else{l=c;u=25}}if((u|0)==25?!(k|(l|0)!=0):0){c=b[q>>0]|0;switch(c<<24>>24){case 0:case 1:case 5:{if(!(b[A>>0]|0)){n=f[z>>2]|0;if(jb[f[(f[n>>2]|0)+28>>2]&255](n,2)|0){e=0;c=0;break d}c=b[q>>0]|0}if(c<<24>>24!=5)b[q>>0]=2;break}default:{}}kb[f[g+28>>2]&127](g,f[a+172>>2]|0,0)|0;if(b[a+4>>0]|0){e=0;c=0;break}c=f[z>>2]|0;e=f[c>>2]|0;if(!e){e=0;c=0;break}if(!(b[A>>0]|0))jb[f[e+32>>2]&255](c,1)|0;if((b[q>>0]|0)==5){e=0;c=0;break}b[q>>0]=1;e=0;c=0;break}e:do if(!k){f[E>>2]=2049;c=mb[f[g+24>>2]&127](g,f[a+172>>2]|0,f[j>>2]|0,2049,E)|0;switch(c|0){case 0:break e;case 14:break;default:{e=0;break d}}e=1;c=0;break d}while(0);b[E>>0]=0;c=f[j>>2]|0;c=mb[f[(f[c>>2]|0)+8>>2]&127](c,E,1,0,0)|0;c=(c|0)==522?0:c;if(!k?(m=f[j>>2]|0,n=f[m>>2]|0,n|0):0){ib[f[n+4>>2]&255](m)|0;f[m>>2]=0}e=(b[E>>0]|0)!=0&1}else e=0;while(0)}else e=0;if(c|0){u=138;break a}if(e|0)u=48}do if((u|0)==48){if(b[a+14>>0]|0){c=776;u=138;break a}switch(b[q>>0]|0){case 0:case 1:case 2:case 3:case 5:{if((b[A>>0]|0)==0?(o=f[z>>2]|0,o=jb[f[(f[o>>2]|0)+28>>2]&255](o,4)|0,o|0):0){c=o;u=138;break a}b[q>>0]=4;break}default:{}}h=a+64|0;c=f[h>>2]|0;e=f[c>>2]|0;if(!e){e=f[a>>2]|0;g=a+172|0;c=lb[f[e+32>>2]&127](e,f[g>>2]|0,0,E)|0;if((c|0)==0&(f[E>>2]|0)!=0){f[v>>2]=0;c=mb[f[e+24>>2]&127](e,f[g>>2]|0,f[h>>2]|0,2050,v)|0;if(!c)if(f[v>>2]&1){f[p>>2]=40896;f[p+4>>2]=55608;f[p+8>>2]=40460;Ac(14,40408,p);c=f[h>>2]|0;e=f[c>>2]|0;if(!e)c=14;else{ib[f[e+4>>2]&255](c)|0;f[c>>2]=0;c=14}}else c=0}g=f[h>>2]|0;e=f[g>>2]|0;if(!e)if((b[a+4>>0]|0)==0?(r=f[z>>2]|0,s=f[r>>2]|0,(s|0)!=0):0){if(!(b[A>>0]|0))jb[f[s+32>>2]&255](r,1)|0;if((b[q>>0]|0)!=5){b[q>>0]=1;u=72}else u=72}else u=72;else{c=g;u=61}}else u=61;do if((u|0)==61){if(!(b[a+7>>0]|0)){c=jb[f[e+20>>2]&255](c,2)|0;if(c|0)break;c=f[h>>2]|0;e=f[c>>2]|0}c=jb[f[e+24>>2]&255](c,a+80|0)|0;if(!c){c=yh(a,(b[a+12>>0]|0)==0&1)|0;b[B>>0]=0;u=72}}while(0);if((u|0)==72)if(!c)break;switch((c&255)<<24>>24){case 10:case 13:break;default:{u=138;break a}}f[a+40>>2]=c;b[B>>0]=6;f[a+204>>2]=82;u=138;break a}while(0);h=a+12|0;if(!(b[h>>0]|0)){if(b[a+23>>0]|0){c=f[z>>2]|0;c=mb[f[(f[c>>2]|0)+8>>2]&127](c,E,16,24,0)|0;switch(c|0){case 0:break;case 522:{f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;break}default:{u=136;break a}}if(Hz(a+104|0,E,16)|0)jh(a);if(b[h>>0]|0){c=0;break}}c=f[a>>2]|0;g=a+220|0;c=lb[f[c+32>>2]&127](c,f[g>>2]|0,0,v)|0;f:do if(!c){if(!(f[v>>2]|0)){c=a+5|0;if((b[c>>0]|0)!=5){c=0;break}b[c>>0]=0;c=0;break}c=f[C>>2]|0;if(((c|0)!=0?(d[c+40>>1]|0)>-1:0)?(w=f[c+72>>2]|0,(w|0)!=0):0){e=w;u=91}else u=88;do if((u|0)==88?(x=f[z>>2]|0,y=f[x>>2]|0,y|0):0){c=E;f[c>>2]=0;f[c+4>>2]=0;c=jb[f[y+24>>2]&255](x,E)|0;if(!c){y=E;u=f[a+152>>2]|0;e=((u|0)<0)<<31>>31;y=KA(f[y>>2]|0,f[y+4>>2]|0,-1,-1)|0;y=KA(y|0,ba()|0,u|0,e|0)|0;e=OA(y|0,ba()|0,u|0,e|0)|0;ba()|0;u=91;break}else break b}while(0);do if((u|0)==91){c=a+156|0;if(e>>>0<=(f[c>>2]|0)>>>0){if(!e)break}else f[c>>2]=e;if(b[h>>0]|0)Ya();if(f[C>>2]|0)Ya();c=f[f[z>>2]>>2]|0;if(b[A>>0]|0){c=14;break f}if(!(b[a+4>>0]|0)){if((f[c>>2]|0)<=1){c=14;break f}if(!(f[c+52>>2]|0)){c=14;break f}}c=f[a+64>>2]|0;e=f[c>>2]|0;if(e|0){ib[f[e+4>>2]&255](c)|0;f[c>>2]=0}c=Oi(a)|0;if(c|0)break f;b[a+5>>0]=5;b[B>>0]=0;c=0;break f}while(0);c=f[a>>2]|0;c=kb[f[c+28>>2]&127](c,f[g>>2]|0,0)|0}while(0)}else c=0}else c=0;while(0);e=f[C>>2]|0;if(!e)u=124;else u=111}else u=111;while(0);if((u|0)==111){f[E>>2]=0;c=e+44|0;if(b[c>>0]|0){if(!(b[e+43>>0]|0)){B=f[e+4>>2]|0;lb[f[(f[B>>2]|0)+56>>2]&127](B,0,1,9)|0}b[c>>0]=0;f[e+104>>2]=0;b[e+47>>0]=0}c=e+40|0;g=d[c>>1]|0;if(g<<16>>16>-1){if(!(b[e+43>>0]|0)){B=f[e+4>>2]|0;lb[f[(f[B>>2]|0)+56>>2]&127](B,(g<<16>>16)+3|0,1,5)|0}d[c>>1]=-1}g=f[C>>2]|0;e=0;do{e=e+1|0;c=Fh(g,E,0,e)|0}while((c|0)==-1);if(f[E>>2]|c|0)jh(a);u=124}g:do if((u|0)==124)if((b[a+12>>0]|0)==0?(F=a+16|0,(c|0)==0&(b[F>>0]|0)==0):0){g=a+24|0;c=f[C>>2]|0;if(((c|0)!=0?(d[c+40>>1]|0)>-1:0)?(D=f[c+72>>2]|0,(D|0)!=0):0){c=D;u=133}else u=129;do if((u|0)==129){c=f[a+60>>2]|0;e=f[c>>2]|0;if(e){D=E;f[D>>2]=0;f[D+4>>2]=0;c=jb[f[e+24>>2]&255](c,E)|0;if(!c){u=f[a+152>>2]|0;c=((u|0)<0)<<31>>31;E=KA(f[E>>2]|0,f[E+4>>2]|0,-1,-1)|0;E=KA(E|0,ba()|0,u|0,c|0)|0;c=OA(E|0,ba()|0,u|0,c|0)|0;ba()|0;u=133;break}else{u=138;break g}}else c=0}while(0);if((u|0)==133){e=a+156|0;if(c>>>0>(f[e>>2]|0)>>>0)f[e>>2]=c}f[g>>2]=c;c=F;u=139}else u=136;while(0);if((u|0)==136)if(!c){c=a+16|0;u=139}else u=138;if((u|0)==138){xh(a);a=c;t=G;return a|0}else if((u|0)==139){b[c>>0]=1;b[a+23>>0]=1;a=0;t=G;return a|0}return 0}function Oi(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;v=t;t=t+16|0;s=v;e=a+4|0;c=b[e>>0]|0;a:do if(!(c<<24>>24))c=0;else{i=a+17|0;switch(b[i>>0]|0){case 0:case 1:case 2:case 3:case 5:break;default:break a}h=a+13|0;do if(!(b[h>>0]|0)){c=a+60|0;g=f[c>>2]|0;g=jb[f[(f[g>>2]|0)+28>>2]&255](g,4)|0;if(!g){c=b[e>>0]|0;break}c=f[c>>2]|0;e=f[c>>2]|0;if(!e){u=g;t=v;return u|0}if(!(b[h>>0]|0))jb[f[e+32>>2]&255](c,1)|0;if((b[i>>0]|0)==5){u=g;t=v;return u|0}b[i>>0]=1;u=g;t=v;return u|0}while(0);b[i>>0]=4}while(0);n=f[a>>2]|0;p=f[a+60>>2]|0;o=f[a+220>>2]|0;k=a+160|0;j=f[k>>2]|0;k=f[k+4>>2]|0;q=a+216|0;f[q>>2]=0;i=(f[n+4>>2]|0)+120|0;r=KA(i|0,0,-1,-1)|0;m=ba()|0;do if(!(m>>>0>0|(m|0)==0&r>>>0>2147483390)){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](i)|0;if(!e){c=7;break}else r=e}else{e=ib[f[37372>>2]&255](i)|0;if((f[18194]|0)>>>0>>0)f[18194]=i;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){r=f[18187]|0;m=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&m>>>0<=r>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(!g){c=7;break}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0){f[18196]=e;r=g}else r=g}_A(r|0,0,i|0)|0;f[r>>2]=n;i=r+120|0;l=r+8|0;f[l>>2]=i;m=r+4|0;f[m>>2]=p;d[r+40>>1]=-1;e=r+16|0;f[e>>2]=j;f[e+4>>2]=k;f[r+108>>2]=o;e=r+48|0;b[e>>0]=1;g=r+49|0;b[g>>0]=1;a=r+43|0;b[a>>0]=c<<24>>24==0?0:2;f[s>>2]=524294;c=mb[f[n+24>>2]&127](n,o,i,524294,s)|0;if(!c){if(f[s>>2]&1|0)b[r+46>>0]=1;c=ib[f[(f[p>>2]|0)+48>>2]&255](p)|0;if(c&1024|0)b[e>>0]=0;if(c&4096|0)b[g>>0]=0;f[q>>2]=r;c=0;break}e=b[a>>0]|0;if(e<<24>>24!=2?(b[r+50>>0]|0)==0:0)u=38;else{i=r+24|0;if((f[i>>2]|0)>0){g=r+32|0;e=0;do{h=f[(f[g>>2]|0)+(e<<2)>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{s=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[(f[g>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[i>>2]|0));e=b[a>>0]|0}if(e<<24>>24!=2)u=38}if((u|0)==38){u=f[m>>2]|0;jb[f[(f[u>>2]|0)+64>>2]&255](u,0)|0}e=f[l>>2]|0;g=f[e>>2]|0;if(g|0){ib[f[g+4>>2]&255](e)|0;f[e>>2]=0}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{u=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}else c=7;while(0);u=c;t=v;return u|0}function Pi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=a+96|0;d=f[n>>2]|0;c=a+92|0;q=Nc(f[c>>2]|0,b*48|0,0)|0;if(!q){r=7;return r|0}_A(q+(d*48|0)|0,0,(b-d|0)*48|0)|0;f[c>>2]=q;if((d|0)>=(b|0)){r=0;return r|0}i=a+24|0;j=a+64|0;k=a+148|0;l=a+52|0;m=a+72|0;h=a+216|0;c=d;while(1){g=f[i>>2]|0;f[q+(c*48|0)+20>>2]=g;if((f[f[j>>2]>>2]|0)!=0?(p=m,o=f[p>>2]|0,p=f[p+4>>2]|0,(p|0)>0|(p|0)==0&o>>>0>0):0){a=o;d=p}else{a=f[k>>2]|0;d=0}e=q+(c*48|0)|0;f[e>>2]=a;f[e+4>>2]=d;f[q+(c*48|0)+24>>2]=f[l>>2];if(!(f[9328]|0)){a=ib[f[37356>>2]&255](512)|0;if(!a)break}else{a=ib[f[37372>>2]&255](512)|0;if((f[18194]|0)>>>0<512)f[18194]=512;e=71896;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){s=f[18187]|0;e=LA(d|0,e|0,a|0,((a|0)<0)<<31>>31|0)|0;d=ba()|0;f[17976]=((d|0)<0|(d|0)==0&e>>>0<=s>>>0)&1}a=ib[f[37356>>2]&255](a)|0;if(!a)break;d=ib[f[37368>>2]&255](a)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d}_A(a+4|0,0,508)|0;f[a>>2]=g;f[q+(c*48|0)+16>>2]=a;a=f[h>>2]|0;if(a|0){f[q+(c*48|0)+28>>2]=f[a+68>>2];f[q+(c*48|0)+32>>2]=f[a+76>>2];f[q+(c*48|0)+36>>2]=f[a+80>>2];f[q+(c*48|0)+40>>2]=f[a+112>>2]}c=c+1|0;f[n>>2]=c;if((c|0)>=(b|0)){c=0;r=22;break}}if((r|0)==22)return c|0;f[q+(c*48|0)+16>>2]=0;s=7;return s|0}function Qi(a){a=a|0;var b=0;b=a+8|0;if(!(d[b>>1]&9216)){d[b>>1]=1;d[b>>1]=4;return a|0}else{cf(a);d[b>>1]=4;return a|0}return 0}function Ri(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=a+10|0;e=c<<24>>24==1;if(!(e|(b[w>>0]|0)==1)){i=a+8|0;e=d[i>>1]|0;g=e&65535;do if(g&18){do if(g&16384){e=a+12|0;v=(f[a>>2]|0)+(f[e>>2]|0)|0;if(!(df(a,(v|0)>1?v:1,1)|0)){_A((f[a+16>>2]|0)+(f[e>>2]|0)|0,0,f[a>>2]|0)|0;f[e>>2]=(f[e>>2]|0)+(f[a>>2]|0);e=d[i>>1]&-16897;d[i>>1]=e;break}else{w=7;return w|0}}while(0);if(f[a+24>>2]|0?(f[a+16>>2]|0)==(f[a+20>>2]|0):0)break;if(!(gf(a)|0)){e=d[i>>1]|0;break}else{w=7;return w|0}}while(0);d[i>>1]=e&-4097;e=f[a+16>>2]|0;a=f[a+12>>2]&-2;g=e+a|0;if((a|0)>0)do{v=b[e>>0]|0;a=e+1|0;b[e>>0]=b[a>>0]|0;e=e+2|0;b[a>>0]=v}while(e>>>0>>0);b[w>>0]=c;w=0;return w|0}s=a+12|0;g=f[s>>2]|0;if(e){g=g&-2;f[s>>2]=g;n=g<<1|1}else n=(g<<1)+2|0;t=a+16|0;k=f[t>>2]|0;r=k+g|0;u=a+32|0;l=f[u>>2]|0;m=((n|0)<0)<<31>>31;a:do if(!l){q=KA(n|0,m|0,-1,-1)|0;p=ba()|0;if(p>>>0>0|(p|0)==0&q>>>0>2147483390){w=7;return w|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](n)|0;o=41;break}l=ib[f[37372>>2]&255](n)|0;if((f[18194]|0)>>>0>>0)f[18194]=n;i=71896;e=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&e>>>0>0){q=f[18187]|0;p=LA(e|0,i|0,l|0,((l|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&p>>>0<=q>>>0)&1}i=ib[f[37356>>2]&255](l)|0;if(!i){w=7;return w|0}e=ib[f[37368>>2]&255](i)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0){f[18196]=e;q=i}else q=i}else{if(f[l+272>>2]|0){if(b[l+81>>0]|0){w=7;return w|0}}else{do if(!(0>>0|(0==(m|0)?(j[l+276>>1]|0)>>>0>>0:0))){i=l+300|0;e=f[i>>2]|0;if(e|0){f[i>>2]=f[e>>2];o=l+284|0;f[o>>2]=(f[o>>2]|0)+1;o=41;break a}i=l+296|0;e=f[i>>2]|0;if(!e){e=l+292|0;break}else{f[i>>2]=f[e>>2];o=l+284|0;f[o>>2]=(f[o>>2]|0)+1;o=41;break a}}else e=l+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(l,n,m)|0;o=41}while(0);if((o|0)==41)if(!e){w=7;return w|0}else q=e;switch(b[w>>0]|0){case 1:{e=(g|0)>0;if(c<<24>>24==2)if(e){e=q;g=k;do{k=g+1|0;p=b[g>>0]|0;g=p&255;if((p&255)>191){g=h[5728+(g+-192)>>0]|0;b:do if((k|0)==(r|0)){i=g;g=r}else{i=g;g=k;while(1){k=b[g>>0]|0;if((k&-64)<<24>>24!=-128)break b;g=g+1|0;i=i<<6|k&63;if((g|0)==(r|0)){g=r;break}}}while(0);if(!((i&-2|0)==65534|(i>>>0<128|(i&-2048|0)==55296)))if(i>>>0<65536)o=53;else{l=i+-65536|0;b[e>>0]=l>>>10&192|i>>>10&63;b[e+1>>0]=l>>>18&3|216;b[e+2>>0]=i;l=e+3|0;k=4;i=i>>>8&3|220}else{i=65533;o=53}}else{i=g;g=k;o=53}if((o|0)==53){o=0;b[e>>0]=i;l=e+1|0;k=2;i=i>>>8}e=e+k|0;b[l>>0]=i}while(g>>>0>>0)}else e=q;else if(e){n=q;e=k;while(1){g=e+1|0;p=b[e>>0]|0;e=p&255;if((p&255)>191){e=h[5728+(e+-192)>>0]|0;c:do if((g|0)==(r|0))g=r;else while(1){i=b[g>>0]|0;if((i&-64)<<24>>24!=-128)break c;g=g+1|0;e=e<<6|i&63;if((g|0)==(r|0)){g=r;break}}while(0);if(!((e&-2|0)==65534|(e>>>0<128|(e&-2048|0)==55296)))if(e>>>0<65536)o=65;else{m=e+-65536|0;b[n>>0]=m>>>18&3|216;b[n+1>>0]=m>>>10&192|e>>>10&63;m=e;i=4;k=n+2|0;l=3;e=e>>>8&3|220}else{e=65533;o=65}}else o=65;if((o|0)==65){o=0;m=e;i=2;k=n;l=1;e=e>>>8}b[k>>0]=e;e=n+i|0;b[n+l>>0]=m;if(g>>>0>>0){n=e;e=g}else break}}else e=q;f[s>>2]=e-q;b[e>>0]=0;e=e+1|0;break}case 2:{if((g|0)>0){e=q;do{g=h[k>>0]|0;l=k+2|0;p=h[k+1>>0]|0;i=p<<8|g;if(l>>>0>>0&(p&248|0)==216){i=(i<<10&983040)+65536|g<<10&64512|h[l>>0]|h[k+3>>0]<<8&768;k=k+4|0}else k=l;if(i>>>0<128){l=e;g=1}else{if(i>>>0<2048){o=e;g=2;l=1;m=192;n=31}else{if(i>>>0<65536){m=e;g=3;l=2;n=1;o=224;p=15}else{b[e>>0]=i>>>18&7|240;m=e+1|0;g=4;l=3;n=2;o=128;p=63}b[m>>0]=i>>>12&p|o;o=e+n|0;m=128;n=63}b[o>>0]=i>>>6&n|m;l=e+l|0;i=i&63|128}e=e+g|0;b[l>>0]=i}while(k>>>0>>0);o=91}else{e=q;o=91}break}default:if((g|0)>0){e=q;while(1){p=h[k>>0]|0;g=k+2|0;l=h[k+1>>0]|0;i=p<<8|l;if(g>>>0>>0&(p&248|0)==216){p=k+4|0;i=(i<<10&983040)+65536|l<<10&64512|h[k+3>>0]|h[g>>0]<<8&768}else p=g;if(i>>>0<128){k=e;g=1}else{if(i>>>0<2048){n=e;g=2;k=1;l=192;m=31}else{if(i>>>0<65536){l=e;g=3;k=2;m=1;n=224;o=15}else{b[e>>0]=i>>>18&7|240;l=e+1|0;g=4;k=3;m=2;n=128;o=63}b[l>>0]=i>>>12&o|n;n=e+m|0;l=128;m=63}b[n>>0]=i>>>6&m|l;k=e+k|0;i=i&63|128}e=e+g|0;b[k>>0]=i;if(p>>>0>>0)k=p;else{o=91;break}}}else{e=q;o=91}}if((o|0)==91)f[s>>2]=e-q;b[e>>0]=0;e=a+8|0;g=d[e>>1]|0;if(!((g&9216)==0?!(f[a+24>>2]|0):0))ff(a);d[e>>1]=g&-32739|514;b[w>>0]=c;f[t>>2]=q;f[a+20>>2]=q;e=f[u>>2]|0;if(((e|0)!=0?(v=q,(f[e+304>>2]|0)>>>0<=v>>>0):0)?(f[e+308>>2]|0)>>>0>v>>>0:0)e=j[e+276>>1]|0;else e=ib[f[37368>>2]&255](q)|0;f[a+24>>2]=e;w=0;return w|0}function Si(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;e=a+8|0;do cf(a);while((d[e>>1]&9216)!=0);f[a>>2]=f[b>>2];f[a+4>>2]=f[b+4>>2];f[a+8>>2]=f[b+8>>2];f[a+12>>2]=f[b+12>>2];f[a+16>>2]=f[b+16>>2];if(d[b+8>>1]&2048)return;d[e>>1]=d[e>>1]&-7169&65535|c;return}function Ti(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=t;t=t+16|0;l=m+8|0;k=m;i=a+8|0;j=d[i>>1]|0;do if((f[a+24>>2]|0)<32){if(!(df(a,32,0)|0)){h=a+16|0;g=h;h=f[h>>2]|0;break}b[a+10>>0]=0;l=7;t=m;return l|0}else{h=f[a+20>>2]|0;g=a+16|0;f[g>>2]=h;d[i>>1]=j&13}while(0);if(!(j&4)){p[l>>3]=+p[a>>3];vd(32,h,41673,l)|0}else{n=a;j=f[n+4>>2]|0;l=k;f[l>>2]=f[n>>2];f[l+4>>2]=j;vd(32,h,41988,k)|0}n=(wz(f[g>>2]|0)|0)&1073741823;f[a+12>>2]=n;b[a+10>>0]=1;n=d[i>>1]|514;d[i>>1]=e<<24>>24==0?n:n&-13;if(c<<24>>24==1){n=0;t=m;return n|0}Ri(a,c)|0;n=0;t=m;return n|0}function Ui(a){a=a|0;var c=0,d=0,e=0;c=a+16|0;d=a+12|0;e=a+10|0;if(!(jf(f[c>>2]|0,a,f[d>>2]|0,b[e>>0]|0)|0)){e=0;return e|0}e=(kf(f[c>>2]|0,a,f[d>>2]|0,b[e>>0]|0)|0)==0;e=e?4:8;return e|0}function Vi(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0.0,i=0,j=0;j=a+8|0;g=d[j>>1]|0;i=g&65535;if(i&1|0)return;switch(c<<24>>24){case 65:{if(i&16|0){d[j>>1]=i&15888;return}if(!((i&2|0)!=0|(i&12|0)==0)){Ti(a,e,1)|0;g=d[j>>1]|0}g=g&-13;d[j>>1]=g;g=g&65535;if(!(g&2))return;d[j>>1]=g&15872|16;return}case 67:{vk(a);return}case 68:{do if(!(i&4)){if(i&8|0){c=Fc(+p[a>>3])|0;e=ba()|0;break}if(!(i&18)){c=0;e=0}else{c=Gc(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0)|0;e=ba()|0;g=d[j>>1]|0}}else{e=a;c=f[e>>2]|0;e=f[e+4>>2]|0}while(0);f[a>>2]=c;f[a+4>>2]=e;d[j>>1]=g&15872|4;return}case 69:{do if(!(i&8)){if(i&4|0){i=a;h=+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0);break}if(!(i&18))h=0.0;else{h=+Hc(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0);g=d[j>>1]|0}}else h=+p[a>>3];while(0);p[a>>3]=h;d[j>>1]=g&15872|8;return}default:{c=i>>>3&2|i;g=c&65535;d[j>>1]=g;if(!((i&12|0)==0|(c&2|0)!=0)){Ti(a,e,1)|0;g=d[j>>1]|0}d[j>>1]=g&-16413;return}}}function Wi(a){a=a|0;var c=0,d=0,e=0,g=0;g=t;t=t+16|0;e=g;c=g+12|0;d=a+64|0;d=ej(f[a+40>>2]|0,0,f[d>>2]|0,f[d+4>>2]|0,0,c)|0;if(d|0){e=d;t=g;return e|0}if(!(f[c>>2]|0)){b[a+3>>0]=0;f[a+28>>2]=0;e=0;t=g;return e|0}else{f[e>>2]=42469;f[e+4>>2]=79051;f[e+8>>2]=40460;Ac(11,40408,e);e=11;t=g;return e|0}return 0}function Xi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=t;t=t+16|0;e=h;g=f[a+40>>2]|0;c=b[g>>0]|0;a:do if((c&255)>2){do if(c<<24>>24==4){c=f[g+4>>2]|0;if(!c)c=0;else d=13}else{b[g>>0]=1;d=g+16|0;c=g+56|0;c=lk(g,f[d>>2]|0,f[c>>2]|0,f[c+4>>2]|0,0,e)|0;if(c|0){d=13;break}c=f[d>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[d>>2]=0;c=g+4|0;i=f[c>>2]|f[e>>2];f[c>>2]=i;c=b[g>>0]|0;if((i|0)!=0&c<<24>>24==0){b[g>>0]=2;c=2}d=14;break a}while(0);f[a+28>>2]=0}else d=14;while(0);if((d|0)==14){f[a+28>>2]=0;if(!(c<<24>>24)){i=0;t=h;return i|0}else c=0}b[a+2>>0]=1;i=c;t=h;return i|0}function Yi(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;j=g+8|0;d[j>>1]=1;h=e+1|0;k=g+24|0;do if((f[k>>2]|0)<(h|0)){h=df(g,h,0)|0;if(!h){h=g+16|0;i=h;h=f[h>>2]|0;break}else{k=h;return k|0}}else{h=f[g+20>>2]|0;i=g+16|0;f[i>>2]=h;d[j>>1]=1}while(0);h=ph(a,c,e,h,0)|0;if(!h){b[(f[i>>2]|0)+e>>0]=0;d[j>>1]=16;f[g+12>>2]=e;k=0;return k|0}if((d[j>>1]&9216)==0?(f[k>>2]|0)==0:0){k=h;return k|0}ff(g);k=h;return k|0}function Zi(a,c,e){a=a|0;c=c|0;e=e|0;var g=0;do switch(c|0){case 10:{d[e+8>>1]=16385;f[e+12>>2]=0;f[e>>2]=0;e=0;return e|0}case 0:case 11:{d[e+8>>1]=1;e=0;return e|0}case 1:{a=b[a>>0]|0;c=e;f[c>>2]=a;f[c+4>>2]=((a|0)<0)<<31>>31;d[e+8>>1]=4;e=1;return e|0}case 2:{a=b[a>>0]<<8|h[a+1>>0];c=e;f[c>>2]=a;f[c+4>>2]=((a|0)<0)<<31>>31;d[e+8>>1]=4;e=2;return e|0}case 3:{a=h[a+1>>0]<<8|b[a>>0]<<16|h[a+2>>0];c=e;f[c>>2]=a;f[c+4>>2]=((a|0)<0)<<31>>31;d[e+8>>1]=4;e=3;return e|0}case 4:{a=h[a+1>>0]<<16|b[a>>0]<<24|h[a+2>>0]<<8|h[a+3>>0];c=e;f[c>>2]=a;f[c+4>>2]=((a|0)<0)<<31>>31;d[e+8>>1]=4;e=4;return e|0}case 5:{g=b[a>>0]<<8|h[a+1>>0];c=e;f[c>>2]=h[a+3>>0]<<16|h[a+2>>0]<<24|h[a+4>>0]<<8|h[a+5>>0];f[c+4>>2]=g;d[e+8>>1]=4;e=6;return e|0}case 7:case 6:{uk(a,c,e);g=8;return g|0}case 9:case 8:{g=e;f[g>>2]=c+-8;f[g+4>>2]=0;d[e+8>>1]=4;g=0;return g|0}default:{f[e+16>>2]=a;g=(c+-12|0)>>>1;f[e+12>>2]=g;d[e+8>>1]=d[39654+((c&1)<<1)>>1]|0;return g|0}}while(0);return 0}function _i(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=t;t=t+16|0;g=h;if(d>>>0>16777215|(d|0)==16777215&c>>>0>4294967295){b[a+8>>0]=c;g=VA(c|0,d|0,8)|0;ba()|0;b[a+7>>0]=g&255|-128;g=VA(c|0,d|0,15)|0;ba()|0;b[a+6>>0]=g&255|-128;g=VA(c|0,d|0,22)|0;ba()|0;b[a+5>>0]=g&255|-128;g=VA(c|0,d|0,29)|0;ba()|0;b[a+4>>0]=g&255|-128;g=VA(c|0,d|0,36)|0;ba()|0;b[a+3>>0]=g&255|-128;g=VA(c|0,d|0,43)|0;ba()|0;b[a+2>>0]=g&255|-128;g=VA(c|0,d|0,50)|0;ba()|0;b[a+1>>0]=g&255|-128;g=VA(c|0,d|0,57)|0;ba()|0;b[a>>0]=g&255|-128;g=9;t=h;return g|0}e=0;f=c;while(1){c=e+1|0;b[g+e>>0]=f&255|-128;f=VA(f|0,d|0,7)|0;d=ba()|0;if((f|0)==0&(d|0)==0)break;else e=c}b[g>>0]=b[g>>0]&127;d=0;while(1){b[a+d>>0]=b[g+e>>0]|0;if((e|0)>0){e=e+-1|0;d=d+1|0}else break}t=h;return c|0}function $i(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=t;t=t+32|0;n=o+16|0;i=o;m=a+68|0;c=b[m>>0]|0;do if(c<<24>>24>-1){g=a+116|0;e=f[g>>2]|0;if(!(c<<24>>24)){c=g;j=26}else{e=f[e+72>>2]|0;if(!(d[e+28>>1]&32)){bh(e);c=b[m>>0]|0}else{l=f[e+20>>2]|0;k=l+120|0;f[k>>2]=(f[k>>2]|0)+-1;l=l+136|0;f[e+16>>2]=f[l>>2];f[l>>2]=e}c=c+-1<<24>>24;b[m>>0]=c;if(c<<24>>24)do{e=f[(f[a+120+(c<<24>>24<<2)>>2]|0)+72>>2]|0;if(!(d[e+28>>1]&32)){bh(e);c=b[m>>0]|0}else{l=f[e+20>>2]|0;k=l+120|0;f[k>>2]=(f[k>>2]|0)+-1;l=l+136|0;f[e+16>>2]=f[l>>2];f[l>>2]=e}c=c+-1<<24>>24;b[m>>0]=c}while(c<<24>>24!=0);k=f[a+120>>2]|0;f[g>>2]=k;c=g;l=k}}else{g=a+64|0;c=f[g>>2]|0;if(!c){b[a>>0]=1;n=16;t=o;return n|0}e=b[a>>0]|0;if((e&255)>2){if(e<<24>>24==4){n=f[a+4>>2]|0;t=o;return n|0}c=a+16|0;e=f[c>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{l=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[c>>2]=0;b[a>>0]=1;c=f[g>>2]|0}g=a+116|0;c=aj(f[(f[a+8>>2]|0)+4>>2]|0,c,g,0,h[a+2>>0]|0)|0;if(!c){b[m>>0]=0;e=f[g>>2]|0;b[a+69>>0]=b[e+2>>0]|0;c=g;j=26;break}b[a>>0]=1;n=c;t=o;return n|0}while(0);do if((j|0)==26){if(b[e>>0]|0?((f[a+112>>2]|0)==0|0)==(h[e+2>>0]|0):0){l=e;k=e;break}f[i>>2]=42469;f[i+4>>2]=68035;f[i+8>>2]=40460;Ac(11,40408,i);n=11;t=o;return n|0}while(0);e=a+70|0;d[e>>1]=0;g=a+50|0;d[g>>1]=0;i=a+1|0;j=b[i>>0]&-15;b[i>>0]=j;if(d[k+22>>1]|0){b[a>>0]=0;n=0;t=o;return n|0}if(b[k+8>>0]|0){b[a>>0]=1;n=16;t=o;return n|0}if((f[k+4>>2]|0)==1){n=(f[k+56>>2]|0)+((h[k+9>>0]|0)+8)|0;p=b[n>>0]|0;q=b[n+1>>0]|0;k=b[n+2>>0]|0;n=b[n+3>>0]|0;b[a>>0]=0;r=f[a+20>>2]|0;d[g>>1]=0;b[i>>0]=j;d[a+72>>1]=0;f[a+120>>2]=l;d[e>>1]=0;b[m>>0]=1;n=aj(r,(q&255)<<16|(p&255)<<24|(k&255)<<8|n&255,c,a,h[a+2>>0]|0)|0;t=o;return n|0}else{f[n>>2]=42469;f[n+4>>2]=68048;f[n+8>>2]=40460;Ac(11,40408,n);r=11;t=o;return r|0}return 0}function aj(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+32|0;l=n+16|0;i=n;j=n+28|0;do if((f[a+44>>2]|0)>>>0>=c>>>0){k=f[a>>2]|0;h=lb[f[k+204>>2]&127](k,c,j,h)|0;if(!h){k=f[j>>2]|0;i=k+8|0;h=f[i>>2]|0;f[e>>2]=h;if(!(b[h>>0]|0)){i=f[i>>2]|0;j=i+4|0;if((f[j>>2]|0)!=(c|0)){f[i+56>>2]=f[k+4>>2];f[i+72>>2]=k;f[i+52>>2]=a;f[j>>2]=c;b[i+9>>0]=(c|0)==1?100:0;h=f[e>>2]|0}h=Ph(h)|0;if(h|0){i=f[e>>2]|0;if(!i){m=19;break}i=f[i+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);m=19;break}else{m=f[i+20>>2]|0;l=m+120|0;f[l>>2]=(f[l>>2]|0)+-1;m=m+136|0;f[i+16>>2]=f[m>>2];f[m>>2]=i;m=19;break}}}if(!g){g=0;t=n;return g|0}c=f[e>>2]|0;if(d[c+22>>1]|0?(b[c+2>>0]|0)==(b[g+69>>0]|0):0){g=0;t=n;return g|0}f[l>>2]=42469;f[l+4>>2]=65066;f[l+8>>2]=40460;Ac(11,40408,l);h=f[e>>2]|0;if(h){h=f[h+72>>2]|0;if(!(d[h+28>>1]&32)){bh(h);h=11;break}else{l=f[h+20>>2]|0;e=l+120|0;f[e>>2]=(f[e>>2]|0)+-1;l=l+136|0;f[h+16>>2]=f[l>>2];f[l>>2]=h;h=11;break}}else h=11}else m=19}else{f[i>>2]=42469;f[i+4>>2]=65044;f[i+8>>2]=40460;Ac(11,40408,i);h=11;m=19}while(0);if((m|0)==19)if(!g){g=h;t=n;return g|0}l=g+68|0;m=(b[l>>0]|0)+-1<<24>>24;b[l>>0]=m;f[g+116>>2]=f[g+120+(m<<24>>24<<2)>>2];g=h;t=n;return g|0}function bj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;i=o;if((c|0)<1){f[i>>2]=42469;f[i+4>>2]=67284;f[i+8>>2]=40460;Ac(11,40408,i);g=11;t=o;return g|0}n=f[a+4>>2]|0;f[n+4>>2]=f[a>>2];l=(d|0)!=0;if(l?(m=n+80|0,(f[m>>2]|0)==0):0){k=f[n+32>>2]|0;if((f[18019]|0)>=(k|0)?(h=f[18025]|0,(h|0)!=0):0){f[18025]=f[h>>2];d=f[18026]|0;f[18026]=d+-1;f[18027]=(d|0)<=(f[18021]|0)&1;if((f[18195]|0)>>>0>>0)f[18195]=k;i=(f[18188]|0)+1|0;f[18188]=i;if(i>>>0>(f[18192]|0)>>>0)f[18192]=i}else j=11;a:do if((j|0)==11){j=KA(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;d=ba()|0;do if(!(d>>>0>0|(d|0)==0&j>>>0>2147483390)){if(!(f[9328]|0)){h=ib[f[37356>>2]&255](k)|0;if(!h)break}else{h=ib[f[37372>>2]&255](k)|0;if((f[18194]|0)>>>0>>0)f[18194]=k;d=71896;i=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&i>>>0>0){j=f[18187]|0;d=LA(i|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[17976]=((i|0)<0|(i|0)==0&d>>>0<=j>>>0)&1}h=ib[f[37356>>2]&255](h)|0;if(!h)break;i=ib[f[37368>>2]&255](h)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}i=ib[f[37368>>2]&255](h)|0;if((f[18195]|0)>>>0>>0)f[18195]=k;i=(f[18189]|0)+i|0;f[18189]=i;if(i>>>0<=(f[18193]|0)>>>0)break a;f[18193]=i;break a}while(0);f[m>>2]=0;g=7;t=o;return g|0}while(0);f[m>>2]=h;k=h;j=k;b[j>>0]=0;b[j+1>>0]=0;b[j+2>>0]=0;b[j+3>>0]=0;k=k+4|0;b[k>>0]=0;b[k+1>>0]=0;b[k+2>>0]=0;b[k+3>>0]=0;f[m>>2]=(f[m>>2]|0)+4}if((c|0)==1)c=(f[n+44>>2]|0)!=0&1;f[g+64>>2]=c;b[g+68>>0]=-1;f[g+112>>2]=e;f[g+8>>2]=a;f[g+20>>2]=n;j=g+1|0;b[j>>0]=l&1;b[g+2>>0]=l?0:2;i=n+8|0;h=f[i>>2]|0;d=h;if(h|0)do{if((f[h+64>>2]|0)==(c|0)){n=h+1|0;b[n>>0]=b[n>>0]|32;b[j>>0]=b[j>>0]|32}h=f[h+24>>2]|0}while((h|0)!=0);f[g+24>>2]=d;f[i>>2]=g;b[g>>0]=1;g=0;t=o;return g|0}function cj(a,c,e,g,i,j){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=t;t=t+128|0;p=K+104|0;E=K+120|0;B=K+116|0;I=K;H=(c|0)==0;if(!H){k=(b[c>>0]|0)==0;if(tz(c,46117)|0)if(k)C=4;else{k=0;C=5}else C=6}else C=4;if((C|0)==4)if((b[e+80>>0]|0)==2){k=1;C=6}else{k=1;C=5}if((C|0)==5)if(!(j&128)){G=0;F=i}else C=6;if((C|0)==6){G=1;F=i|2}D=(j&256|0)!=0&(G|k)?j&-769|512:j;if(!(f[9328]|0)){i=ib[f[37356>>2]&255](48)|0;if(!i){g=7;t=K;return g|0}else J=i}else{i=ib[f[37372>>2]&255](48)|0;if((f[18194]|0)>>>0<48)f[18194]=48;l=71896;j=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&j>>>0>0){J=f[18187]|0;A=LA(j|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;z=ba()|0;f[17976]=((z|0)<0|(z|0)==0&A>>>0<=J>>>0)&1}j=ib[f[37356>>2]&255](i)|0;if(!j){g=7;t=K;return g|0}i=ib[f[37368>>2]&255](j)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;J=j}else J=j}l=J+4|0;s=l+44|0;do{b[l>>0]=0;l=l+1|0}while((l|0)<(s|0));f[J>>2]=e;f[J+32>>2]=J;f[J+36>>2]=1;a:do if(!k?!((D&131072|0)==0|G&(D&64|0)==0):0){if(H)k=0;else k=(wz(c)|0)&1073741823;l=k+1|0;m=(f[a+8>>2]|0)+1|0;k=(m|0)>(l|0)?m:l;A=KA(k|0,0,-1,-1)|0;z=ba()|0;do if(!(z>>>0>0|(z|0)==0&A>>>0>2147483390)){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](k)|0;b[J+9>>0]=1;if(!k)break;else n=k}else{j=ib[f[37372>>2]&255](k)|0;if((f[18194]|0)>>>0>>0)f[18194]=k;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){A=f[18187]|0;z=LA(i|0,k|0,j|0,((j|0)<0)<<31>>31|0)|0;y=ba()|0;f[17976]=((y|0)<0|(y|0)==0&z>>>0<=A>>>0)&1}i=ib[f[37356>>2]&255](j)|0;if(!i){C=33;break}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k;b[J+9>>0]=1;n=i}if(!G){b[n>>0]=0;k=lb[f[a+36>>2]&127](a,c,m,n)|0;if(k|0){if(!(f[9328]|0))ob[f[37360>>2]&127](n);else{g=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n)}if(!(f[9328]|0)){ob[f[37360>>2]&127](J);g=k;t=K;return g|0}else{g=ib[f[37368>>2]&255](J)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](J);g=k;t=K;return g|0}}}else YA(n|0,c|0,l|0)|0;j=f[18035]|0;b:do if(!j)j=0;else{while(1){k=f[j>>2]|0;if((tz(n,f[k+168>>2]|0)|0)==0?(f[k>>2]|0)==(a|0):0)break;j=f[j+68>>2]|0;if(!j){j=0;break b}}k=f[e+20>>2]|0;c:do if((k|0)>0){l=f[e+16>>2]|0;while(1){i=k;k=k+-1|0;A=f[l+(k<<4)+4>>2]|0;if(A|0?(f[A+4>>2]|0)==(j|0):0)break;if((i|0)<=1)break c}if(!(f[9328]|0))ob[f[37360>>2]&127](n);else{g=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n)}if(!(f[9328]|0)){ob[f[37360>>2]&127](J);g=19;t=K;return g|0}else{g=ib[f[37368>>2]&255](J)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](J);g=19;t=K;return g|0}}while(0);f[J+4>>2]=j;A=j+64|0;f[A>>2]=(f[A>>2]|0)+1}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](n);else{A=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n)}if(!j){C=69;break a}if(!(b[J+9>>0]|0))break a;else{C=213;break a}}else C=33;while(0);if((C|0)==33)b[J+9>>0]=1;if(!(f[9328]|0)){ob[f[37360>>2]&127](J);g=7;t=K;return g|0}else{g=ib[f[37368>>2]&255](J)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](J);g=7;t=K;return g|0}}else C=69;while(0);d:do if((C|0)==69){if(!(f[9328]|0)){j=ib[f[37356>>2]&255](84)|0;if(!j)k=7;else C=80}else{k=ib[f[37372>>2]&255](84)|0;if((f[18194]|0)>>>0<84)f[18194]=84;j=71896;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){A=f[18187]|0;z=LA(i|0,j|0,k|0,((k|0)<0)<<31>>31|0)|0;y=ba()|0;f[17976]=((y|0)<0|(y|0)==0&z>>>0<=A>>>0)&1}j=ib[f[37356>>2]&255](k)|0;if(j){k=ib[f[37368>>2]&255](j)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;C=80}else C=80}else k=7}do if((C|0)==80){l=j+4|0;s=l+80|0;do{b[l>>0]=0;l=l+1|0}while((l|0)<(s|0));z=F&1;A=(z|0)!=0;f[E>>2]=4096;s=a+4|0;v=f[s>>2]|0;v=((v|0)>72?v:72)+7&-8;f[j>>2]=0;do if(!(F&2))if(!H)if(b[c>>0]|0){o=a+8|0;m=(f[o>>2]|0)+1|0;k=m<<1;C=KA(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;y=ba()|0;if(!(y>>>0>0|(y|0)==0&C>>>0>2147483390)){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](k)|0;if(!k){k=7;C=229;break}else i=k}else{l=ib[f[37372>>2]&255](k)|0;if((f[18194]|0)>>>0>>0)f[18194]=k;i=71896;k=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&k>>>0>0){C=f[18187]|0;y=LA(k|0,i|0,l|0,((l|0)<0)<<31>>31|0)|0;x=ba()|0;f[17976]=((x|0)<0|(x|0)==0&y>>>0<=C>>>0)&1}i=ib[f[37356>>2]&255](l)|0;if(!i){k=7;C=229;break}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k}b[i>>0]=0;k=lb[f[a+36>>2]&127](a,c,m,i)|0;n=(wz(i)|0)&1073741823;m=c+(((wz(c)|0)&1073741823)+1)|0;if(!(b[m>>0]|0))l=m;else{l=m;do{l=l+(((wz(l)|0)&1073741823)+1)|0;l=l+(((wz(l)|0)&1073741823)+1)|0}while((b[l>>0]|0)!=0)}if(!k){if((n+8|0)<=(f[o>>2]|0)){y=0;r=l+1-m|0;p=m;q=1;C=119;break}f[p>>2]=40896;f[p+4>>2]=55153;f[p+8>>2]=40460;Ac(14,40408,p);k=14}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);C=229;break}else{C=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);C=229;break}}else{k=7;C=229}}else{y=0;r=0;p=0;i=0;n=0;q=1;C=119}else{c=0;y=0;r=0;p=0;i=0;n=0;q=0;C=119}else if(!H)if(b[c>>0]|0){m=(wz(c)|0)+1|0;C=KA(m|0,0,-1,-1)|0;y=ba()|0;if(y>>>0>0|(y|0)==0&C>>>0>2147483390){k=7;C=229}else{if(!(f[9328]|0)){k=ib[f[37356>>2]&255](m)|0;if(!k){k=7;C=229;break}}else{k=ib[f[37372>>2]&255](m)|0;if((f[18194]|0)>>>0>>0)f[18194]=m;l=71896;i=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&i>>>0>0){C=f[18187]|0;y=LA(i|0,l|0,k|0,((k|0)<0)<<31>>31|0)|0;x=ba()|0;f[17976]=((x|0)<0|(x|0)==0&y>>>0<=C>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k){k=7;C=229;break}i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}YA(k|0,c|0,m|0)|0;c=0;y=1;r=0;p=0;i=k;n=(wz(k)|0)&1073741823;q=0;C=119}}else{y=1;r=0;p=0;i=0;n=0;q=1;C=119}else{c=0;y=1;r=0;p=0;i=0;n=0;q=0;C=119}while(0);e:do if((C|0)==119){o=(v<<1)+17+(n*3|0)+r+((f[s>>2]|0)+279&-8)|0;x=KA(o|0,0,-1,-1)|0;w=ba()|0;do if(!(w>>>0>0|(w|0)==0&x>>>0>2147483390)){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](o)|0;if(!k)break;else x=k}else{k=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){x=f[18187]|0;w=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;u=ba()|0;f[17976]=((u|0)<0|(u|0)==0&w>>>0<=x>>>0)&1}l=ib[f[37356>>2]&255](k)|0;if(!l)break;k=ib[f[37368>>2]&255](l)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;x=l}else x=l}_A(x|0,0,o|0)|0;u=x+212|0;f[u>>2]=x+224;k=x+272|0;w=x+60|0;f[w>>2]=k;k=k+((f[s>>2]|0)+7&-8)|0;f[x+68>>2]=k;k=k+v|0;f[x+64>>2]=k;k=k+v|0;m=x+168|0;f[m>>2]=k;do if(i|0){l=n+1|0;o=x+172|0;f[o>>2]=k+(r+l);YA(k|0,i|0,n|0)|0;if(r|0)YA((f[m>>2]|0)+l|0,p|0,r|0)|0;YA(f[o>>2]|0,i|0,n|0)|0;l=(f[o>>2]|0)+n|0;k=46126;s=l+10|0;do{b[l>>0]=b[k>>0]|0;l=l+1|0;k=k+1|0}while((l|0)<(s|0));s=(f[o>>2]|0)+(n+9)|0;v=x+220|0;f[v>>2]=s;YA(s|0,i|0,n|0)|0;v=(f[v>>2]|0)+n|0;b[v>>0]=b[46136]|0;b[v+1>>0]=b[46137]|0;b[v+2>>0]=b[46138]|0;b[v+3>>0]=b[46139]|0;b[v+4>>0]=b[46140]|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{v=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);f[x>>2]=a;f[x+144>>2]=D;f:do if(q?(b[c>>0]|0)!=0:0){f[B>>2]=0;k=mb[f[a+24>>2]&127](a,f[m>>2]|0,f[w>>2]|0,D&556927,B)|0;m=f[B>>2]&1;if(k|0)break;l=f[w>>2]|0;l=ib[f[(f[l>>2]|0)+48>>2]&255](l)|0;g:do if(!m){do if(!(b[x+12>>0]|0)){C=f[w>>2]|0;if((ib[f[(f[C>>2]|0)+48>>2]&255](C)|0)&4096|0)break;k=f[w>>2]|0;i=f[(f[k>>2]|0)+44>>2]|0;do if(i){C=ib[i&255](k)|0;k=(C|0)<65536?C:65536;if((C|0)<32){k=512;break}f[x+148>>2]=k;if(k>>>0<=4096)break g;if(k>>>0>8192){f[E>>2]=8192;break g}else{f[E>>2]=k;break g}}else k=4096;while(0);f[x+148>>2]=k;break g}while(0);f[x+148>>2]=512}while(0);k=c+(((wz(c)|0)&1073741823)+1)|0;h:do if(!(b[k>>0]|0))k=0;else{while(1){C=tz(k,46142)|0;k=k+(((wz(k)|0)&1073741823)+1)|0;if(!C)break;k=k+(((wz(k)|0)&1073741823)+1)|0;if(!(b[k>>0]|0)){k=0;break h}}k=(Hd(k,1,0)|0)<<24>>24!=0}while(0);b[x+13>>0]=k&1;i:do if(!(l&8192)){k=c+(((wz(c)|0)&1073741823)+1)|0;j:do if(b[k>>0]|0){while(1){C=tz(k,46149)|0;k=k+(((wz(k)|0)&1073741823)+1)|0;if(!C)break;k=k+(((wz(k)|0)&1073741823)+1)|0;if(!(b[k>>0]|0))break j}if((Hd(k,1,0)|0)<<24>>24)break i}while(0);q=m;c=0;C=170;break f}while(0);k=D|1;C=168}else{k=D;C=168}while(0);if((C|0)==168){b[x+16>>0]=1;b[x+17>>0]=4;b[x+13>>0]=1;q=k&1;c=1;C=170}if((C|0)==170){k=ih(x,E,-1)|0;if(!k){p=f[E>>2]|0;r=(y|0)==0;i=y^1;k=r?152:0;n=f[u>>2]|0;l=n;s=l+48|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(s|0));o=n+24|0;f[o>>2]=1;l=n+28|0;f[l>>2]=88;b[n+32>>0]=i;b[n+33>>0]=2;f[n+36>>2]=k;f[n+40>>2]=x;k=n+16|0;f[k>>2]=100;f[n+20>>2]=1;m=kb[f[37440>>2]&127](p,128,i)|0;if(!m)k=7;else{i=f[9361]|0;k=f[k>>2]|0;if((k|0)<=-1){D=QA(k|0,((k|0)<0)<<31>>31|0,-1024,-1)|0;E=ba()|0;k=(f[l>>2]|0)+(f[o>>2]|0)|0;k=OA(D|0,E|0,k|0,((k|0)<0)<<31>>31|0)|0;ba()|0}pb[i&127](m,k);k=n+44|0;i=f[k>>2]|0;if(i|0)ob[f[37468>>2]&127](i);f[k>>2]=m;f[o>>2]=p;b[x+6>>0]=z^1;f[x+156>>2]=1073741823;b[x+12>>0]=c;b[x+4>>0]=c;b[x+18>>0]=c;b[x+15>>0]=y;b[x+14>>0]=q;b[x+7>>0]=c;do if(!(c<<24>>24)){b[x+8>>0]=1;b[x+9>>0]=0;b[x+10>>0]=2;b[x+11>>0]=10;d[x+140>>1]=88;E=x+160|0;f[E>>2]=-1;f[E+4>>2]=-1;E=f[w>>2]|0;if((ib[f[(f[E>>2]|0)+48>>2]&255](E)|0)&4096|0){k=512;break}k=f[w>>2]|0;i=f[(f[k>>2]|0)+44>>2]|0;if(!i){k=4096;break}k=ib[i&255](k)|0;k=(k|0)<32?512:(k|0)<65536?k:65536}else{d[x+140>>1]=88;k=x+160|0;f[k>>2]=-1;f[k+4>>2]=-1;k=512}while(0);f[x+148>>2]=k;if(A|r^1)b[x+5>>0]=((z&255)<<1&255^2)+2<<24>>24;f[x+200>>2]=103;f[x+204>>2]=(f[x+40>>2]|0)==0?81:82;f[j>>2]=x;E=e+48|0;s=f[E+4>>2]|0;l=x+128|0;f[l>>2]=f[E>>2];f[l+4>>2]=s;l=I;s=l+100|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(s|0));k=f[w>>2]|0;i=f[k>>2]|0;if(i|0){k=mb[f[i+8>>2]&127](k,I,100,0,0)|0;switch(k|0){case 0:case 522:break;default:{C=230;break e}}}b[j+16>>0]=F;f[j+4>>2]=e;k=f[j>>2]|0;i=k+176|0;f[i>>2]=140;f[k+180>>2]=j;l=f[k+60>>2]|0;m=f[l>>2]|0;if(!m)l=k;else{kb[f[m+40>>2]&127](l,15,i)|0;l=f[j>>2]|0}f[J+4>>2]=j;f[j+8>>2]=0;f[j+12>>2]=0;if(b[l+14>>0]|0){F=j+22|0;d[F>>1]=d[F>>1]|1}k=h[I+17>>0]<<16|h[I+16>>0]<<8;m=j+32|0;f[m>>2]=k;do if((k+-512|0)>>>0>65024)C=205;else{if(k+16777215&k|0){C=205;break}k=b[I+20>>0]|0;i=j+22|0;d[i>>1]=d[i>>1]|2;b[j+17>>0]=(h[I+53>>0]<<16|h[I+52>>0]<<24|h[I+54>>0]<<8|h[I+55>>0]|0)!=0&1;i=(h[I+65>>0]<<16|h[I+64>>0]<<24|h[I+66>>0]<<8|h[I+67>>0]|0)!=0&1;C=208}while(0);do if((C|0)==205){f[m>>2]=0;if(H|G){k=0;break}b[j+17>>0]=0;k=0;i=0;C=208}while(0);if((C|0)==208)b[j+18>>0]=i;i=k&255;k=ih(l,m,i)|0;if(k|0){C=230;break e}f[j+36>>2]=(f[m>>2]|0)-i;f[j+64>>2]=1;if(!(b[J+9>>0]|0))break d;f[j+68>>2]=f[18035];f[18035]=j;C=213;break d}}}i=f[w>>2]|0;l=f[i>>2]|0;if(l|0){ib[f[l+4>>2]&255](i)|0;f[i>>2]=0}l=f[x+208>>2]|0;k:do if(l|0){i=l;do if((f[18022]|0)>>>0<=i>>>0)if((f[18023]|0)>>>0>i>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;e=(f[18026]|0)+1|0;f[18026]=e;f[18027]=(e|0)<(f[18021]|0)&1;break k}else{i=ib[f[37368>>2]&255](l)|0;break}else i=ib[f[37368>>2]&255](l)|0;while(0);f[18189]=(f[18189]|0)-i;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{e=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](x);C=229;break e}else{C=ib[f[37368>>2]&255](x)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](x);C=229;break e}}while(0);if(i)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);k=7;C=229;break}else{k=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);k=7;C=229;break}else{k=7;C=229}}while(0);if((C|0)==229)if(j)C=230;if((C|0)==230){i=f[j>>2]|0;if(i)di(i,0)}if(j)if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{e=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](J);else{e=ib[f[37368>>2]&255](J)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](J)}f[g>>2]=0;g=k;t=K;return g|0}while(0);l:do if((C|0)==213){m=f[e+20>>2]|0;if((m|0)>0){l=f[e+16>>2]|0;k=0;while(1){i=f[l+(k<<4)+4>>2]|0;if(i|0?b[i+9>>0]|0:0)break;k=k+1|0;if((k|0)>=(m|0))break l}while(1){k=f[i+28>>2]|0;if(!k)break;else i=k}m=f[J+4>>2]|0;if(m>>>0<(f[i+4>>2]|0)>>>0){f[J+24>>2]=i;f[J+28>>2]=0;f[i+28>>2]=J;break}k=i+24|0;l=f[k>>2]|0;m:do if(!l)C=224;else{while(1){if((f[l+4>>2]|0)>>>0>=m>>>0)break;k=l+24|0;i=f[k>>2]|0;if(!i){i=l;C=224;break m}else{e=l;l=i;i=e}}f[J+24>>2]=l;f[J+28>>2]=i;f[l+28>>2]=J}while(0);if((C|0)==224){f[J+24>>2]=0;f[J+28>>2]=i}f[k>>2]=J}}while(0);f[g>>2]=J;k=f[J+4>>2]|0;f[k+4>>2]=f[J>>2];if(!(f[k+48>>2]|0)){g=f[(f[k>>2]|0)+212>>2]|0;f[g+16>>2]=-2e3;e=f[9361]|0;J=f[g+44>>2]|0;g=(f[g+28>>2]|0)+(f[g+24>>2]|0)|0;g=OA(2048e3,0,g|0,((g|0)<0)<<31>>31|0)|0;ba()|0;pb[e&127](J,g)}k=f[(f[j>>2]|0)+60>>2]|0;i=f[k>>2]|0;if(!i){g=0;t=K;return g|0}kb[f[i+40>>2]&127](k,30,j+4|0)|0;g=0;t=K;return g|0}function dj(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=t;t=t+64|0;z=B+16|0;p=B;r=B+52|0;s=B+48|0;A=B+44|0;y=B+40|0;l=B+36|0;m=B+32|0;n=B+56|0;o=B+28|0;i=f[a>>2]|0;w=a+4|0;v=f[w>>2]|0;j=v+4|0;f[j>>2]=i;a:do if(!(b[v+17>>0]|0)){g=Lh(v,s,A,1,0)|0;f[y>>2]=g;if(!g){q=f[s>>2]|0;break}else{A=g;t=B;return A|0}}else{k=v+8|0;g=f[k>>2]|0;if(g|0)do{x=g+1|0;b[x>>0]=b[x>>0]&-5;g=f[g+24>>2]|0}while((g|0)!=0);f[j>>2]=i;q=f[(f[v+12>>2]|0)+56>>2]|0;q=h[q+53>>0]<<16|h[q+52>>0]<<24|h[q+54>>0]<<8|h[q+55>>0];f[A>>2]=q;i=v+36|0;j=1073741824/((f[v+32>>2]|0)>>>0)|0;while(1){x=q+1|0;if(x>>>0<2)g=0;else{g=q+-1|0;g=g-((g>>>0)%(((((f[i>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;g=((g+1|0)==(j|0)?3:2)+g|0}if((q|0)==(j|0)|(x|0)==(g|0))q=x;else break}f[A>>2]=x;g=Lh(v,m,l,x,1)|0;f[y>>2]=g;b:do if(!g){l=f[l>>2]|0;c:do if((l|0)==(x|0)){l=f[m>>2]|0;f[s>>2]=l}else{b[n>>0]=0;f[o>>2]=0;g=f[k>>2]|0;if(!g)g=0;else g=Kg(g,0,0)|0;f[y>>2]=g;i=f[m>>2]|0;do if(i|0){i=f[i+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{u=f[i+20>>2]|0;m=u+120|0;f[m>>2]=(f[m>>2]|0)+-1;u=u+136|0;f[i+16>>2]=f[u>>2];f[u>>2]=i;break}}while(0);do if(!g){g=f[v>>2]|0;g=lb[f[g+204>>2]&127](g,x,r,0)|0;if(g|0){f[y>>2]=g;break}g=f[r>>2]|0;j=f[g+8>>2]|0;i=j+4|0;if((f[i>>2]|0)!=(x|0)){f[j+56>>2]=f[g+4>>2];f[j+72>>2]=g;f[j+52>>2]=v;f[i>>2]=x;b[j+9>>0]=(q|0)==0?100:0}f[s>>2]=j;g=rh(v,x,n,o)|0;f[y>>2]=g;i=b[n>>0]|0;if((i+-1&255)>=2){if(!g){g=Mh(v,j,i,f[o>>2]|0,l,0)|0;f[y>>2]=g;do if(j|0){i=f[j+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{u=f[i+20>>2]|0;p=u+120|0;f[p>>2]=(f[p>>2]|0)+-1;u=u+136|0;f[i+16>>2]=f[u>>2];f[u>>2]=i;break}}while(0);if(g|0)break;g=f[v>>2]|0;g=lb[f[g+204>>2]&127](g,x,r,0)|0;if(g|0){f[y>>2]=g;break}g=f[r>>2]|0;l=f[g+8>>2]|0;i=l+4|0;if((f[i>>2]|0)==(x|0))k=l+72|0;else{f[l+56>>2]=f[g+4>>2];k=l+72|0;f[k>>2]=g;f[l+52>>2]=v;f[i>>2]=x;b[l+9>>0]=(q|0)==0?100:0}f[s>>2]=l;f[y>>2]=0;i=f[k>>2]|0;j=f[i+20>>2]|0;do if(d[i+28>>1]&4){if((f[j+24>>2]|0)>>>0<(f[i+24>>2]|0)>>>0){u=44;break}if(!(f[j+96>>2]|0)){f[y>>2]=0;u=55;break}else{g=Ng(i)|0;u=49;break}}else u=44;while(0);do if((u|0)==44){g=f[j+40>>2]|0;if(g|0){f[y>>2]=g;break}if((f[j+148>>2]|0)>>>0>(f[j+152>>2]|0)>>>0){g=Og(i)|0;u=49;break}else{g=Pg(i)|0;u=49;break}}while(0);if((u|0)==49){f[y>>2]=g;if(!g)u=55}if((u|0)==55)break c;if(!l)break;i=f[k>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{A=f[i+20>>2]|0;c=A+120|0;f[c>>2]=(f[c>>2]|0)+-1;A=A+136|0;f[i+16>>2]=f[A>>2];f[A>>2]=i;break}}}else{f[p>>2]=42469;f[p+4>>2]=71779;f[p+8>>2]=40460;Ac(11,40408,p);f[y>>2]=11;g=11}if(j){i=f[j+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{A=f[i+20>>2]|0;c=A+120|0;f[c>>2]=(f[c>>2]|0)+-1;A=A+136|0;f[i+16>>2]=f[A>>2];f[A>>2]=i;break}}}while(0);break b}while(0);Oh(v,x,1,0,y);g=f[y>>2]|0;if(g|0){if(!l)break;i=f[l+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{A=f[i+20>>2]|0;c=A+120|0;f[c>>2]=(f[c>>2]|0)+-1;A=A+136|0;f[i+16>>2]=f[A>>2];f[A>>2]=i;break}}i=f[w>>2]|0;f[i+4>>2]=f[a>>2];i=f[i+12>>2]|0;k=f[i+56>>2]|0;i=f[i+72>>2]|0;j=f[i+20>>2]|0;if((d[i+28>>1]&4)!=0?(f[j+24>>2]|0)>>>0>=(f[i+24>>2]|0)>>>0:0)if(!(f[j+96>>2]|0))u=76;else{g=Ng(i)|0;u=70}else u=66;do if((u|0)==66){g=f[j+40>>2]|0;if(!g)if((f[j+148>>2]|0)>>>0>(f[j+152>>2]|0)>>>0){g=Og(i)|0;u=70;break}else{g=Pg(i)|0;u=70;break}}while(0);if((u|0)==70)if(!g)u=76;if((u|0)==76){b[k+52>>0]=x>>>24;b[k+53>>0]=x>>>16;b[k+54>>0]=x>>>8;b[k+55>>0]=x;f[y>>2]=0;q=l;break a}f[y>>2]=g;if(l){i=f[l+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{A=f[i+20>>2]|0;c=A+120|0;f[c>>2]=(f[c>>2]|0)+-1;A=A+136|0;f[i+16>>2]=f[A>>2];f[A>>2]=i;break}}}while(0);A=g;t=B;return A|0}while(0);k=(e&1|0)==0?10:13;o=f[q+56>>2]|0;j=q+52|0;p=f[j>>2]|0;i=h[q+9>>0]|0;if(!(d[p+22>>1]&12)){g=o+i|0;n=p+36|0}else{n=p+36|0;g=o+i|0;_A(g|0,0,(f[n>>2]|0)-i|0)|0}b[g>>0]=k;l=i+8|0;m=l&65535;g=o+(i+1)|0;b[g>>0]=0;b[g+1>>0]=0;b[g+2>>0]=0;b[g+3>>0]=0;b[o+(i+7)>>0]=0;g=o+(i+5)|0;b[g>>0]=(f[n>>2]|0)>>>8;b[g+1>>0]=f[n>>2];d[q+20>>1]=(f[n>>2]|0)-l;b[q+8>>0]=1;g=q+10|0;b[g>>0]=0;f[q+76>>2]=149;i=f[j>>2]|0;switch(k&7){case 5:{b[q+2>>0]=1;b[q+3>>0]=1;f[q+80>>2]=189;d[q+14>>1]=d[i+28>>1]|0;g=i+30|0;u=86;break}case 2:{b[q+2>>0]=0;b[q+3>>0]=0;f[q+80>>2]=190;d[q+14>>1]=d[i+24>>1]|0;g=i+26|0;u=86;break}default:{f[z>>2]=42469;f[z+4>>2]=64757;f[z+8>>2]=40460;Ac(11,40408,z);g=b[g>>0]|0}}if((u|0)==86){d[q+16>>1]=d[g>>1]|0;b[q+11>>0]=b[i+21>>0]|0;g=0}d[q+18>>1]=m;f[q+60>>2]=o+(f[n>>2]|0);f[q+64>>2]=o+l;f[q+68>>2]=o+(g&255);b[q+12>>0]=0;d[q+24>>1]=(f[p+32>>2]|0)+65535;d[q+22>>1]=0;b[q>>0]=1;g=f[q+72>>2]|0;do if(g|0)if(!(d[g+28>>1]&32)){bh(g);break}else{z=f[g+20>>2]|0;y=z+120|0;f[y>>2]=(f[y>>2]|0)+-1;z=z+136|0;f[g+16>>2]=f[z>>2];f[z>>2]=g;break}while(0);f[c>>2]=f[A>>2];A=0;t=B;return A|0}function ej(a,c,e,g,i,k){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=t;t=t+80|0;R=V+56|0;T=V+40|0;S=V+24|0;Q=V+8|0;P=V;a:do if(!c)if((b[a>>0]|0)==0?(l=h[a+1>>0]|0,(l&2|0)!=0):0){o=a+32|0;n=o;m=f[n>>2]|0;n=f[n+4>>2]|0;if((m|0)==(e|0)&(n|0)==(g|0)){f[k>>2]=0;U=0;t=V;return U|0}if((n|0)<(g|0)|(n|0)==(g|0)&m>>>0>>0){if(l&8|0){f[k>>2]=-1;U=0;t=V;return U|0}N=KA(m|0,n|0,1,0)|0;if((N|0)==(e|0)&(ba()|0)==(g|0)?(f[a+4>>2]|0)==0:0){f[k>>2]=0;l=fj(a,0)|0;switch(l|0){case 101:{N=0;break a}case 0:break;default:{U=l;t=V;return U|0}}oh(a);N=o;if((f[N>>2]|0)==(e|0)?(f[N+4>>2]|0)==(g|0):0){U=0;t=V;return U|0}else N=0}else N=0}else N=0}else N=0;else{l=f[c>>2]|0;do if((j[l+8>>1]|0)<14){m=j[(f[c+4>>2]|0)+8>>1]|0;N=(b[f[l+16>>2]>>0]|0)==0;b[c+12>>0]=N?-1:1;b[c+13>>0]=N?1:-1;if(!(m&4)){if(m&25|0){l=94;break}if(!(f[l+20>>2]|0))l=96;else{l=94;break}}else l=95}else l=94;while(0);b[c+11>>0]=0;N=l}while(0);l=$i(a)|0;switch(l|0){case 0:{L=a+116|0;C=1-i|0;D=a+70|0;E=(N|0)==0;F=a+1|0;G=a+32|0;M=a+50|0;H=a+32|0;I=a+68|0;J=a+20|0;K=a+2|0;l=0;m=0;b:while(1){B=f[L>>2]|0;y=B+22|0;o=(j[y>>1]|0)+-1|0;i=o>>C;d[D>>1]=i;x=B+68|0;z=B+24|0;A=B+64|0;c:do if(E){u=B+3|0;v=B+60|0;n=B+8|0;s=i;r=o;o=0;d:while(1){i=(f[A>>2]|0)+(s<<1)|0;i=(f[x>>2]|0)+((h[i>>0]<<8|h[i+1>>0])&j[z>>1])|0;e:do if(b[u>>0]|0){p=i+1|0;if((b[i>>0]|0)<0){q=f[v>>2]|0;while(1){if(p>>>0>=q>>>0)break;i=p+1|0;if((b[p>>0]|0)<0)p=i;else{U=30;break e}}f[Q>>2]=42469;f[Q+4>>2]=68325;f[Q+8>>2]=40460;Ac(11,40408,Q);q=1;i=s;l=11;p=r}else{i=p;U=30}}else U=30;while(0);f:do if((U|0)==30){U=0;Th(i,P)|0;p=P;i=f[p>>2]|0;p=f[p+4>>2]|0;do if((p|0)<(g|0)|(p|0)==(g|0)&i>>>0>>0){o=s+1|0;if((s|0)<(r|0))p=r;else{q=4;i=s;m=-1;p=r;break f}}else{if((p|0)>(g|0)|(p|0)==(g|0)&i>>>0>e>>>0){p=s+-1|0;if((o|0)<(s|0))break;else{q=4;i=s;m=1;break f}}d[D>>1]=s;if(!(b[n>>0]|0)){q=8;i=s;p=r;o=s;break f}b[F>>0]=b[F>>0]|2;q=G;f[q>>2]=i;f[q+4>>2]=p;d[M>>1]=0;f[k>>2]=0;q=1;i=s;l=0;p=r;break f}while(0);q=0;i=p+o>>1}while(0);switch(q&15){case 4:{U=74;break c}case 8:{U=76;break c}case 0:{s=i;r=p;break}default:break d}}if(q){U=85;break b}}else{s=B+11|0;u=B+14|0;v=B+10|0;w=B+80|0;n=o;o=0;while(1){p=(f[A>>2]|0)+(i<<1)|0;p=(f[x>>2]|0)+((h[p>>0]<<8|h[p+1>>0])&j[z>>1])|0;r=b[p>>0]|0;q=r&255;m=p+1|0;do if((r&255)>(h[s>>0]|0)){m=h[m>>0]|0;if((m&128|0)==0?(O=(q<<7&16256)+m|0,O>>>0<=(j[u>>1]|0)>>>0):0){m=kb[N&127](O,p+2|0,c)|0;break}qb[f[w>>2]&255](B,p+(0-(h[v>>0]|0))|0,H);r=f[H>>2]|0;if((r|0)<2){U=45;break b}m=r+18|0;q=KA(m|0,((m|0)<0)<<31>>31|0,-1,-1)|0;p=ba()|0;if(p>>>0>0|(p|0)==0&q>>>0>2147483390){l=7;break b}if(!(f[9328]|0)){m=ib[f[37356>>2]&255](m)|0;if(!m){l=7;break b}else p=m}else{q=ib[f[37372>>2]&255](m)|0;if((f[18194]|0)>>>0>>0)f[18194]=m;p=71896;m=f[p>>2]|0;p=f[p+4>>2]|0;if((p|0)>0|(p|0)==0&m>>>0>0){W=f[18187]|0;p=LA(m|0,p|0,q|0,((q|0)<0)<<31>>31|0)|0;m=ba()|0;f[17976]=((m|0)<0|(m|0)==0&p>>>0<=W>>>0)&1}p=ib[f[37356>>2]&255](q)|0;if(!p){l=7;break b}m=ib[f[37368>>2]&255](p)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0>(f[18196]|0)>>>0)f[18196]=m}d[D>>1]=i;m=ph(a,0,r,p,0)|0;b[F>>0]=b[F>>0]&-5;if(m|0){U=59;break b}m=kb[N&127](r,p,c)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{W=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-W;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}else m=kb[N&127](q,m,c)|0;while(0);if((m|0)<0)o=i+1|0;else{if(!m){U=69;break b}n=i+-1|0}if((o|0)>(n|0))break;i=n+o>>1}n=B+8|0;U=74}while(0);if((U|0)==74)if(!(b[n>>0]|0))U=76;else{U=75;break}if((U|0)==76){U=0;if((o|0)<(j[y>>1]|0)){n=(f[A>>2]|0)+(o<<1)|0;n=(h[n>>0]<<8|h[n+1>>0])&j[z>>1]}else n=(h[B+9>>0]|0)+8|0;r=(f[B+56>>2]|0)+n|0;i=b[r>>0]|0;p=b[r+1>>0]|0;q=b[r+2>>0]|0;r=b[r+3>>0]|0;n=o&65535;d[D>>1]=n;o=b[I>>0]|0;if(o<<24>>24>18){U=80;break}W=f[J>>2]|0;d[M>>1]=0;b[F>>0]=b[F>>0]&-7;B=o<<24>>24;d[a+72+(B<<1)>>1]=n;f[a+120+(B<<2)>>2]=f[L>>2];d[D>>1]=0;b[I>>0]=o+1<<24>>24;n=aj(W,(p&255)<<16|(i&255)<<24|(q&255)<<8|r&255,L,a,h[K>>0]|0)|0;if(n){l=n;break}}}do if((U|0)==45){f[S>>2]=42469;f[S+4>>2]=68399;f[S+8>>2]=40460;Ac(11,40408,S);l=11}else if((U|0)==59)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);l=m;break}else{l=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);l=m;break}else if((U|0)==69){f[k>>2]=0;d[D>>1]=i;if(!(b[c+11>>0]|0))l=0;else{f[T>>2]=42469;f[T+4>>2]=68430;f[T+8>>2]=40460;Ac(11,40408,T);l=11}}else if((U|0)==75){d[D>>1]=i;f[k>>2]=m;l=0}else if((U|0)==80){f[R>>2]=42469;f[R+4>>2]=67897;f[R+8>>2]=40460;Ac(11,40408,R);l=11}else if((U|0)==85){t=V;return l|0}while(0);d[M>>1]=0;W=l;t=V;return W|0}case 16:{f[k>>2]=-1;W=0;t=V;return W|0}default:{W=l;t=V;return W|0}}return 0}function fj(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;s=t;t=t+16|0;r=s;o=a+50|0;d[o>>1]=0;p=a+1|0;b[p>>0]=b[p>>0]&-7;if(b[a>>0]|0){r=nk(a)|0;t=s;return r|0}q=a+116|0;e=f[q>>2]|0;n=a+70|0;c=d[n>>1]|0;m=c+1<<16>>16;d[n>>1]=m;if((m&65535)>=(j[e+22>>1]|0)){d[n>>1]=c;r=nk(a)|0;t=s;return r|0}if(b[e+8>>0]|0){r=0;t=s;return r|0}k=a+68|0;l=a+20|0;m=a+2|0;while(1){c=d[n>>1]|0;g=(f[e+64>>2]|0)+((c&65535)<<1)|0;g=(f[e+56>>2]|0)+((h[g>>0]<<8|h[g+1>>0])&j[e+24>>1])|0;i=b[k>>0]|0;if(i<<24>>24>18){e=8;break}g=h[g>>0]<<24|h[g+1>>0]<<16|h[g+2>>0]<<8|h[g+3>>0];u=f[l>>2]|0;d[o>>1]=0;b[p>>0]=b[p>>0]&-7;v=i<<24>>24;d[a+72+(v<<1)>>1]=c;f[a+120+(v<<2)>>2]=e;d[n>>1]=0;b[k>>0]=i+1<<24>>24;c=aj(u,g,q,a,h[m>>0]|0)|0;if(c|0){e=11;break}e=f[q>>2]|0;if(b[e+8>>0]|0){c=0;e=11;break}}if((e|0)==8){f[r>>2]=42469;f[r+4>>2]=67897;f[r+8>>2]=40460;Ac(11,40408,r);v=11;t=s;return v|0}else if((e|0)==11){t=s;return c|0}return 0}function gj(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;x=t;t=t+32|0;v=x+16|0;k=x;g=x+28|0;c=b[a>>0]|0;if(c<<24>>24){do if((c&255)>2){if(c<<24>>24==4){c=f[a+4>>2]|0;if(!c)break;t=x;return c|0}b[a>>0]=1;e=a+16|0;c=a+56|0;c=lk(a,f[e>>2]|0,f[c>>2]|0,f[c+4>>2]|0,0,g)|0;if(c|0){a=c;t=x;return a|0}c=f[e>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{w=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[e>>2]=0;c=a+4|0;w=f[c>>2]|f[g>>2];f[c>>2]=w;c=b[a>>0]|0;if((w|0)!=0&c<<24>>24==0){b[a>>0]=2;c=2}e=c;w=14}else{e=c;w=14}while(0);if((w|0)==14?e<<24>>24==1:0){a=101;t=x;return a|0}c=a+4|0;e=f[c>>2]|0;if(e|0?(b[a>>0]=0,f[c>>2]=0,(e|0)<0):0){a=0;t=x;return a|0}}s=a+116|0;c=f[s>>2]|0;u=a+70|0;e=d[u>>1]|0;i=c;if(!(b[c+8>>0]|0)){r=(f[c+64>>2]|0)+((e&65535)<<1)|0;c=(f[c+56>>2]|0)+((h[r>>0]<<8|h[r+1>>0])&j[c+24>>1])|0;r=a+68|0;g=b[r>>0]|0;if(g<<24>>24>18){f[k>>2]=42469;f[k+4>>2]=67897;f[k+8>>2]=40460;Ac(11,40408,k);a=11;t=x;return a|0}c=h[c>>0]<<24|h[c+1>>0]<<16|h[c+2>>0]<<8|h[c+3>>0];o=a+20|0;m=f[o>>2]|0;p=a+50|0;d[p>>1]=0;q=a+1|0;b[q>>0]=b[q>>0]&-7;n=g<<24>>24;d[a+72+(n<<1)>>1]=e;f[a+120+(n<<2)>>2]=i;d[u>>1]=0;b[r>>0]=g+1<<24>>24;n=a+2|0;c=aj(m,c,s,a,h[n>>0]|0)|0;if(c|0){a=c;t=x;return a|0}c=f[s>>2]|0;a:do if(!(b[c+8>>0]|0)){while(1){k=(f[c+56>>2]|0)+((h[c+9>>0]|0)+8)|0;e=b[k>>0]|0;g=b[k+1>>0]|0;i=b[k+2>>0]|0;k=b[k+3>>0]|0;l=d[c+22>>1]|0;d[u>>1]=l;m=b[r>>0]|0;if(m<<24>>24>18)break;y=f[o>>2]|0;d[p>>1]=0;b[q>>0]=b[q>>0]&-7;z=m<<24>>24;d[a+72+(z<<1)>>1]=l;f[a+120+(z<<2)>>2]=c;d[u>>1]=0;b[r>>0]=m+1<<24>>24;c=aj(y,(g&255)<<16|(e&255)<<24|(i&255)<<8|k&255,s,a,h[n>>0]|0)|0;if(c|0){w=40;break}c=f[s>>2]|0;if(b[c+8>>0]|0)break a}if((w|0)==40){t=x;return c|0}f[v>>2]=42469;f[v+4>>2]=67897;f[v+8>>2]=40460;Ac(11,40408,v);z=11;t=x;return z|0}while(0);d[u>>1]=(j[c+22>>1]|0)+65535;z=0;t=x;return z|0}do if(!(e<<16>>16)){g=a+68|0;i=a+50|0;k=a+1|0;while(1){c=b[g>>0]|0;if(!(c<<24>>24))break;d[i>>1]=0;b[k>>0]=b[k>>0]&-7;e=d[a+72+((c<<24>>24)+-1<<1)>>1]|0;d[u>>1]=e;z=f[s>>2]|0;c=c+-1<<24>>24;b[g>>0]=c;f[s>>2]=f[a+120+(c<<24>>24<<2)>>2];c=f[z+72>>2]|0;if(!(d[c+28>>1]&32)){bh(c);e=d[u>>1]|0}else{z=f[c+20>>2]|0;y=z+120|0;f[y>>2]=(f[y>>2]|0)+-1;z=z+136|0;f[c+16>>2]=f[z>>2];f[z>>2]=c}if(e<<16>>16){w=36;break}}if((w|0)==36){c=f[s>>2]|0;break}b[a>>0]=1;z=101;t=x;return z|0}while(0);d[u>>1]=e+-1<<16>>16;if(!(b[c+2>>0]|0)){z=0;t=x;return z|0}if(b[c+8>>0]|0){z=0;t=x;return z|0}z=a+1|0;b[z>>0]=b[z>>0]&-15;d[a+50>>1]=0;z=gj(a)|0;t=x;return z|0}function hj(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;v=t;t=t+16|0;u=v;m=f[g+4>>2]|0;b[g+10>>0]=0;s=b[e>>0]|0;i=s&255;do if(s<<24>>24<=-1){k=h[e+1>>0]|0;if(!(k&128)){s=i<<7&16256|k;i=2;break}l=h[e+2>>0]|0;if(!(l&128)){s=(i<<14|l)&2080895|k<<7&16256;i=3;break}else{i=Th(e,u)|0;r=u;s=f[r>>2]|0;s=((s|0)==(s|0)?0==(f[r+4>>2]|0):0)?s:-1;break}}else{s=i;i=1}while(0);k=i&255;if((s|0)>(c|0)|s>>>0<=k>>>0){e=0;u=g+8|0;d[u>>1]=e;t=v;return}r=a+4|0;q=a+12|0;i=g+8|0;l=0;o=k;p=s;while(1){a=e+o|0;n=b[a>>0]|0;k=n&255;if(n<<24>>24>-1)a=1;else{g=h[a+1>>0]|0;do if(g&128){n=h[a+2>>0]|0;if(!(n&128)){k=(k<<14|n)&2080895|g<<7&16256;a=3;break}else{a=Th(a,u)|0;n=u;k=f[n>>2]|0;k=((k|0)==(k|0)?0==(f[n+4>>2]|0):0)?k:-1;break}}else{k=k<<7&16256|g;a=2}while(0);a=a&255}b[m+10>>0]=b[r>>0]|0;f[m+32>>2]=f[q>>2];f[m+24>>2]=0;f[m+16>>2]=0;k=Zi(e+p|0,k,m)|0;l=l+1<<16>>16;if((l&65535)>=(j[i>>1]|0)){k=19;break}p=k+p|0;o=a+o|0;if((p|0)>(c|0)|o>>>0>=s>>>0){k=19;break}else m=m+40|0}if((k|0)==19){d[i>>1]=l;t=v;return}}function ij(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;x=t;t=t+16|0;v=x;if((b[a>>0]|0)==0?b[a+1>>0]&8:0){w=0;t=x;return w|0}e=$i(a)|0;switch(e|0){case 0:{f[c>>2]=0;r=a+116|0;e=f[r>>2]|0;s=a+70|0;a:do if(!(b[e+8>>0]|0)){n=a+68|0;o=a+20|0;p=a+50|0;u=a+1|0;q=a+2|0;while(1){k=(f[e+56>>2]|0)+((h[e+9>>0]|0)+8)|0;c=b[k>>0]|0;g=b[k+1>>0]|0;i=b[k+2>>0]|0;k=b[k+3>>0]|0;l=d[e+22>>1]|0;d[s>>1]=l;m=b[n>>0]|0;if(m<<24>>24>18){w=9;break}y=f[o>>2]|0;d[p>>1]=0;b[u>>0]=b[u>>0]&-7;z=m<<24>>24;d[a+72+(z<<1)>>1]=l;f[a+120+(z<<2)>>2]=e;d[s>>1]=0;b[n>>0]=m+1<<24>>24;c=aj(y,(g&255)<<16|(c&255)<<24|(i&255)<<8|k&255,r,a,h[q>>0]|0)|0;if(c|0)break;e=f[r>>2]|0;if(b[e+8>>0]|0){c=u;break a}}if((w|0)==9){f[v>>2]=42469;f[v+4>>2]=67897;f[v+8>>2]=40460;Ac(11,40408,v);c=11}b[u>>0]=b[u>>0]&-9;z=c;t=x;return z|0}else c=a+1|0;while(0);d[s>>1]=(j[e+22>>1]|0)+65535;b[c>>0]=b[c>>0]|8;z=0;t=x;return z|0}case 16:{f[c>>2]=1;z=0;t=x;return z|0}default:{z=e;t=x;return z|0}}return 0}function jj(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=t;t=t+80|0;I=N+40|0;H=N;B=N+64|0;C=N+60|0;M=N+56|0;D=N+52|0;f[D>>2]=g;o=f[a+8>>2]|0;q=o+4|0;G=f[q>>2]|0;if((b[a>>0]|0)==4){M=f[a+4>>2]|0;t=N;return M|0}J=a+1|0;l=b[J>>0]|0;a:do if(l&32){m=f[a+64>>2]|0;i=f[G+8>>2]|0;b:do if(!i)L=14;else{c:do if(m){do{if((i|0)!=(a|0)?(f[i+64>>2]|0)==(m|0):0)break c;i=f[i+24>>2]|0}while((i|0)!=0);if(!a)break b;else{L=14;break b}}else{k=a+24|0;while(1){if((i|0)!=(a|0))break c;i=f[k>>2]|0;if(!i){L=14;break b}}}while(0);i=Kg(i,m,a)|0;f[M>>2]=i;if(!i)break a;t=N;return i|0}while(0);if((L|0)==14)b[J>>0]=l&-33;f[M>>2]=0}while(0);K=a+112|0;A=f[K>>2]|0;k=A;do if(!A){l=f[a+64>>2]|0;n=c+8|0;m=f[n>>2]|0;n=f[n+4>>2]|0;k=o+11|0;if(b[k>>0]|0?(b[k>>0]=0,p=f[(f[q>>2]|0)+8>>2]|0,p|0):0){i=p;do{if((b[i+1>>0]&16?(b[k>>0]=1,(f[i+64>>2]|0)==(l|0)):0)?(A=i+32|0,(f[A>>2]|0)==(m|0)?(f[A+4>>2]|0)==(n|0):0):0)b[i>>0]=1;i=f[i+24>>2]|0}while((i|0)!=0)}if(b[J>>0]&2?(A=a+32|0,(m|0)==(f[A>>2]|0)?(n|0)==(f[A+4>>2]|0):0):0){if(!(d[a+50>>1]|0))break;if((f[a+44>>2]|0)!=((f[c+32>>2]|0)+(f[c+28>>2]|0)|0))break;M=kk(a,c)|0;t=N;return M|0}if((g|0)==0?(r=ej(a,0,m,n,(e|0)!=0&1,D)|0,f[M>>2]=r,r|0):0){M=r;t=N;return M|0}}else{do if(!(e&2|g)){i=d[c+24>>1]|0;if(!(i<<16>>16)){i=c+8|0;i=lk(a,f[c>>2]|0,f[i>>2]|0,f[i+4>>2]|0,(e|0)!=0&1,D)|0;f[M>>2]=i}else{f[H>>2]=k;f[H+4>>2]=f[c+20>>2];d[H+8>>1]=i;i=H+10|0;d[i>>1]=0;d[i+2>>1]=0;b[i+4>>0]=0;i=ej(a,H,0,0,(e|0)!=0&1,D)|0;f[M>>2]=i}if(!i){i=f[D>>2]|0;break}else{M=i;t=N;return M|0}}else i=g;while(0);if((i|0)==0?(oh(a),z=a+32|0,n=f[z>>2]|0,A=c+8|0,(n|0)==(f[A>>2]|0)?(f[z+4>>2]|0)==(f[A+4>>2]|0):0):0){f[H+16>>2]=f[c>>2];f[H+28>>2]=n;f[H+32>>2]=0;M=kk(a,H)|0;t=N;return M|0}}while(0);A=a+116|0;y=f[A>>2]|0;z=f[G+80>>2]|0;o=h[y+10>>0]|0;if(!(b[y+2>>0]|0)){m=f[c+8>>2]|0;l=f[c>>2]|0;do if(m>>>0>=128){i=z+o|0;k=((m|0)<0)<<31>>31;if(m>>>0<16384){x=VA(m|0,k|0,7)|0;ba()|0;b[i>>0]=x&255|-128;b[i+1>>0]=m&127;i=2;break}else{i=(_i(i,m,k)|0)&255;break}}else{b[z+o>>0]=m;i=1}while(0);r=m;n=i+o|0;q=m}else{q=f[c+28>>2]|0;n=(f[c+32>>2]|0)+q|0;p=f[c+16>>2]|0;do if(n>>>0>=128){i=z+o|0;k=((n|0)<0)<<31>>31;if(n>>>0<16384){x=VA(n|0,k|0,7)|0;ba()|0;b[i>>0]=x&255|-128;b[i+1>>0]=n&127;i=2;break}else{i=(_i(i,n,k)|0)&255;break}}else{b[z+o>>0]=n;i=1}while(0);m=i+o|0;i=z+m|0;l=c+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;do if(!(l>>>0<0|(l|0)==0&k>>>0<128))if(l>>>0<0|(l|0)==0&k>>>0<16384){x=VA(k|0,l|0,7)|0;ba()|0;b[i>>0]=x&255|-128;b[i+1>>0]=k&127;i=2;break}else{i=_i(i,k,l)|0;break}else{b[i>>0]=k&127;i=1}while(0);r=n;n=i+m|0;l=p}k=z+n|0;i=j[y+14>>1]|0;d:do if((r|0)>(i|0)){g=j[y+16>>1]|0;w=f[y+52>>2]|0;x=w+36|0;m=(((r-g|0)>>>0)%(((f[x>>2]|0)+-4|0)>>>0)|0)+g|0;m=(m|0)>(i|0)?g:m;g=m+n|0;n=g+4|0;f[B>>2]=0;s=w+17|0;u=w+32|0;g=z+g|0;v=0;i=r;e:while(1){r=i;while(1){i=(r|0)>(m|0)?m:r;do if((q|0)<(i|0))if((q|0)>0){YA(k|0,l|0,q|0)|0;i=q;break}else{_A(k|0,0,i|0)|0;break}else YA(k|0,l|0,i|0)|0;while(0);r=r-i|0;if((r|0)<1){L=94;break e}l=l+i|0;q=q-i|0;m=m-i|0;if(!m)break;else k=k+i|0}f[C>>2]=0;p=f[B>>2]|0;if(!(b[s>>0]|0))i=p;else{m=1073741824/((f[u>>2]|0)>>>0)|0;i=p;do{o=i;i=i+1|0;if(i>>>0<2)k=0;else{k=o+-1|0;k=k-((k>>>0)%(((((f[x>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;k=((k+1|0)==(m|0)?3:2)+k|0}}while((o|0)==(m|0)|(k|0)==(i|0));f[B>>2]=i}k=Lh(w,C,B,i,0)|0;f[H>>2]=k;i=(k|0)==0;if(i&(b[s>>0]|0)!=0){i=f[B>>2]|0;Oh(w,i,(p|0)==0?3:4,p,H);k=f[H>>2]|0;if(k){L=79;break}}else{if(!i)break;i=f[B>>2]|0}b[g>>0]=i>>>24;b[g+1>>0]=i>>>16;b[g+2>>0]=i>>>8;b[g+3>>0]=i;do if(v|0){i=f[v+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{v=f[i+20>>2]|0;g=v+120|0;f[g>>2]=(f[g>>2]|0)+-1;v=v+136|0;f[i+16>>2]=f[v>>2];f[v>>2]=i;break}}while(0);v=f[C>>2]|0;k=v+56|0;g=f[k>>2]|0;b[g>>0]=0;b[g+1>>0]=0;b[g+2>>0]=0;b[g+3>>0]=0;k=(f[k>>2]|0)+4|0;m=(f[x>>2]|0)+-4|0;i=r}do if((L|0)==79){i=f[C>>2]|0;if(i){i=f[i+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{a=f[i+20>>2]|0;c=a+120|0;f[c>>2]=(f[c>>2]|0)+-1;a=a+136|0;f[i+16>>2]=f[a>>2];f[a>>2]=i;break}}}else if((L|0)==94){if(!v)break d;i=f[v+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break d}else{C=f[i+20>>2]|0;B=C+120|0;f[B>>2]=(f[B>>2]|0)+-1;C=C+136|0;f[i+16>>2]=f[C>>2];f[C>>2]=i;break d}}while(0);do if(v|0){i=f[v+72>>2]|0;if(!(d[i+28>>1]&32)){bh(i);break}else{a=f[i+20>>2]|0;c=a+120|0;f[c>>2]=(f[c>>2]|0)+-1;a=a+136|0;f[i+16>>2]=f[a>>2];f[a>>2]=i;break}}while(0);f[M>>2]=k;M=k;t=N;return M|0}else{n=r+n|0;YA(k|0,l|0,q|0)|0;_A(k+q|0,0,r-q|0)|0;n=(n|0)>4?n:4}while(0);f[M>>2]=0;k=a+70|0;l=d[k>>1]|0;m=l&65535;i=f[D>>2]|0;if(!i){k=f[y+72>>2]|0;l=f[k+20>>2]|0;do if((d[k+28>>1]&4)!=0?(f[l+24>>2]|0)>>>0>=(f[k+24>>2]|0)>>>0:0)if(!(f[l+96>>2]|0)){f[M>>2]=0;break}else{F=Ng(k)|0;L=110;break}else L=105;while(0);do if((L|0)==105){i=f[l+40>>2]|0;if(i|0){f[M>>2]=i;L=121;break}if((f[l+148>>2]|0)>>>0>(f[l+152>>2]|0)>>>0){F=Og(k)|0;L=110;break}else{F=Pg(k)|0;L=110;break}}while(0);if((L|0)==110?(f[M>>2]=F,F|0):0){i=F;L=121}if((L|0)==121){M=i;t=N;return M|0}i=(f[y+64>>2]|0)+(m<<1)|0;i=(f[y+56>>2]|0)+((h[i>>0]<<8|h[i+1>>0])&j[y+24>>1])|0;if(!(b[y+8>>0]|0)){F=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[z>>0]=F;b[z+1>>0]=F>>8;b[z+2>>0]=F>>16;b[z+3>>0]=F>>24}k=Uj(y,i,H)|0;f[M>>2]=k;k=j[H+18>>1]|0;do if((n|0)==(k|0)?(f[H+12>>2]|0)==(j[H+16>>1]|0):0){if(b[G+17>>0]|0?(n|0)>=(j[y+16>>1]|0):0)break;if((i+n|0)>>>0>(f[y+60>>2]|0)>>>0){f[I>>2]=42469;f[I+4>>2]=71437;f[I+8>>2]=40460;Ac(11,40408,I);i=11}else{YA(i|0,z|0,n|0)|0;i=0}M=i;t=N;return M|0}while(0);ck(y,m,k,M);i=f[M>>2]|0;if(!i)i=m;else{M=i;t=N;return M|0}}else if((i|0)<0?(E=l+1<<16>>16,(d[y+22>>1]|0)!=0):0){d[k>>1]=E;b[J>>0]=b[J>>0]&-3;i=E&65535}else i=m;dk(y,i,z,n,0,0,M);d[a+50>>1]=0;if(!(b[y+12>>0]|0)){M=f[M>>2]|0;t=N;return M|0}b[J>>0]=b[J>>0]&-3;k=ek(a)|0;f[M>>2]=k;i=f[A>>2]|0;b[i+12>>0]=0;b[a>>0]=1;if(!((e&2|0)!=0&(k|0)==0)){M=k;t=N;return M|0}m=a+68|0;k=b[m>>0]|0;if(k<<24>>24>-1){if(k<<24>>24){l=0;i=k;do{k=f[(f[a+120+(l<<2)>>2]|0)+72>>2]|0;if(!(d[k+28>>1]&32)){bh(k);i=b[m>>0]|0}else{e=f[k+20>>2]|0;J=e+120|0;f[J>>2]=(f[J>>2]|0)+-1;e=e+136|0;f[k+16>>2]=f[e>>2];f[e>>2]=k}l=l+1|0}while((l|0)<(i<<24>>24|0));i=f[A>>2]|0}i=f[i+72>>2]|0;if(!(d[i+28>>1]&32))bh(i);else{e=f[i+20>>2]|0;J=e+120|0;f[J>>2]=(f[J>>2]|0)+-1;e=e+136|0;f[i+16>>2]=f[e>>2];f[e>>2]=i}b[m>>0]=-1}m=c+8|0;f:do if(!(f[K>>2]|0))i=0;else{K=m;i=f[K>>2]|0;K=KA(i|0,f[K+4>>2]|0,-1,-1)|0;e=ba()|0;do if(e>>>0>0|(e|0)==0&K>>>0>2147483390)L=153;else{if(!(f[9328]|0)){i=ib[f[37356>>2]&255](i)|0;f[a+16>>2]=i;if(!i)break}else{l=ib[f[37372>>2]&255](i)|0;if((f[18194]|0)>>>0>>0)f[18194]=i;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){L=f[18187]|0;K=LA(i|0,k|0,l|0,((l|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&K>>>0<=L>>>0)&1}i=ib[f[37356>>2]&255](l)|0;if(!i){L=153;break}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k;f[a+16>>2]=i}YA(i|0,f[c>>2]|0,f[m>>2]|0)|0;i=0;break f}while(0);if((L|0)==153)f[a+16>>2]=0;f[M>>2]=7;i=7}while(0);b[a>>0]=3;L=m;c=f[L+4>>2]|0;M=a+56|0;f[M>>2]=f[L>>2];f[M+4>>2]=c;M=i;t=N;return M|0}function kj(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=t;t=t+48|0;A=N+24|0;M=N+36|0;v=N;n=f[a+8>>2]|0;o=n+4|0;B=f[o>>2]|0;L=a+68|0;F=b[L>>0]|0;y=F<<24>>24;I=a+70|0;J=d[I>>1]|0;E=J&65535;K=a+116|0;G=f[K>>2]|0;w=(f[G+64>>2]|0)+(E<<1)|0;w=(f[G+56>>2]|0)+((h[w>>0]<<8|h[w+1>>0])&j[G+24>>1])|0;H=(c&2)!=0;x=G+8|0;do if(H){if(b[x>>0]|0){k=j[G+20>>1]|0;g=w+(h[G+10>>0]|0)|0;z=b[g>>0]|0;e=z&255;if(z<<24>>24<0){c=0;e=e&127;do{c=c+1|0;z=b[g+c>>0]|0;e=e<<7|z&127}while(z<<24>>24<0&c>>>0<8);g=g+c|0;i=e}else i=e;if(!(b[G+2>>0]|0))c=g+1|0;else{c=1;do{z=c;c=c+1|0}while((b[g+z>>0]|0)<0&c>>>0<10);c=g+c|0}e=j[G+14>>1]|0;if(i>>>0>e>>>0){g=j[G+16>>1]|0;z=(((i-g|0)>>>0)%(((f[(f[G+52>>2]|0)+36>>2]|0)+-4|0)>>>0)|0)+g|0;c=(c-w&65535)+4+(z>>>0>e>>>0?g:z)|0}else{c=c-w+i|0;c=c>>>0>4?c:4}if((k+2+(c&65535)|0)>>>0<=((f[B+36>>2]<<1>>>0)/3|0)>>>0){z=1;break}}z=(b[a+69>>0]|0)==0;oh(a);a:do if(z){c=f[a+44>>2]|0;i=a+56|0;z=i;f[z>>2]=c;f[z+4>>2]=0;z=KA(c|0,0,-1,-1)|0;k=ba()|0;do if(!(k>>>0>0|(k|0)==0&z>>>0>2147483390)){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](c)|0;if(!c){c=7;break}else e=c}else{g=ib[f[37372>>2]&255](c)|0;if((f[18194]|0)>>>0>>0)f[18194]=c;e=71896;c=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&c>>>0>0){z=f[18187]|0;k=LA(c|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&k>>>0<=z>>>0)&1}e=ib[f[37356>>2]&255](g)|0;if(!e){c=7;break}c=ib[f[37368>>2]&255](e)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}c=ph(a,0,f[i>>2]|0,e,0)|0;if(!c){f[a+16>>2]=e;break a}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}else c=7;while(0);f[M>>2]=c;M=c;t=N;return M|0}else{i=a+32|0;k=f[i+4>>2]|0;z=a+56|0;f[z>>2]=f[i>>2];f[z+4>>2]=k}while(0);f[M>>2]=0;z=0}else z=0;while(0);k=a+1|0;do if(!(b[x>>0]|0)){b[k>>0]=b[k>>0]&-15;d[a+50>>1]=0;if(((b[a>>0]|0)==0?(l=d[I>>1]|0,l<<16>>16):0)?b[(f[K>>2]|0)+8>>0]|0:0){d[I>>1]=l+-1<<16>>16;f[M>>2]=0;break}c=gj(a)|0;f[M>>2]=c;if(c|0){M=c;t=N;return M|0}}while(0);g=b[k>>0]|0;b:do if(g&32){i=f[a+64>>2]|0;c=f[B+8>>2]|0;c:do if(!c)C=53;else{d:do if(i){do{if((c|0)!=(a|0)?(f[c+64>>2]|0)==(i|0):0)break d;c=f[c+24>>2]|0}while((c|0)!=0);if(!a)break c;else{C=53;break c}}else{e=a+24|0;while(1){if((c|0)!=(a|0))break d;c=f[e>>2]|0;if(!c){C=53;break c}}}while(0);c=Kg(c,i,a)|0;f[M>>2]=c;if(!c)break b;t=N;return c|0}while(0);if((C|0)==53)b[k>>0]=g&-33;f[M>>2]=0}while(0);if(((f[a+112>>2]|0)==0?(p=f[a+64>>2]|0,r=a+32|0,q=f[r>>2]|0,r=f[r+4>>2]|0,s=n+11|0,b[s>>0]|0):0)?(b[s>>0]=0,m=f[(f[o>>2]|0)+8>>2]|0,m|0):0){c=m;do{if((b[c+1>>0]&16?(b[s>>0]=1,(f[c+64>>2]|0)==(p|0)):0)?(o=c+32|0,(f[o>>2]|0)==(q|0)?(f[o+4>>2]|0)==(r|0):0):0)b[c>>0]=1;c=f[c+24>>2]|0}while((c|0)!=0)}e=f[G+72>>2]|0;g=f[e+20>>2]|0;do if((d[e+28>>1]&4)!=0?(f[g+24>>2]|0)>>>0>=(f[e+24>>2]|0)>>>0:0)if(!(f[g+96>>2]|0)){f[M>>2]=0;break}else{u=Ng(e)|0;C=75;break}else C=70;while(0);do if((C|0)==70){c=f[g+40>>2]|0;if(c|0){f[M>>2]=c;M=c;t=N;return M|0}if((f[g+148>>2]|0)>>>0>(f[g+152>>2]|0)>>>0){u=Og(e)|0;C=75;break}else{u=Pg(e)|0;C=75;break}}while(0);if((C|0)==75?(f[M>>2]=u,u|0):0){M=u;t=N;return M|0}c=Uj(G,w,v)|0;f[M>>2]=c;ck(G,E,j[v+18>>1]|0,M);c=f[M>>2]|0;if(c|0){M=c;t=N;return M|0}if(!(b[x>>0]|0)){o=f[K>>2]|0;if(((b[L>>0]|0)+-1|0)>(y|0))c=f[a+120+(y+1<<2)>>2]|0;else c=o;l=f[c+4>>2]|0;m=o+22|0;C=(f[o+64>>2]|0)+((j[m>>1]<<1)+-2)|0;C=(h[C>>0]<<8|h[C+1>>0])&j[o+24>>1];n=(f[o+56>>2]|0)+C|0;if(C>>>0<4){f[A>>2]=42469;f[A+4>>2]=71625;f[A+8>>2]=40460;Ac(11,40408,A);M=11;t=N;return M|0}k=(jb[f[o+76>>2]&255](o,n)|0)&65535;c=f[B+80>>2]|0;e=f[o+72>>2]|0;g=f[e+20>>2]|0;do if((d[e+28>>1]&4)!=0?(f[g+24>>2]|0)>>>0>=(f[e+24>>2]|0)>>>0:0)if(!(f[g+96>>2]|0)){f[M>>2]=0;C=93;break}else{D=Ng(e)|0;C=92;break}else C=87;while(0);do if((C|0)==87){i=f[g+40>>2]|0;if(i|0){f[M>>2]=i;break}if((f[g+148>>2]|0)>>>0>(f[g+152>>2]|0)>>>0){D=Og(e)|0;C=92;break}else{D=Pg(e)|0;C=92;break}}while(0);if((C|0)==92?(f[M>>2]=D,(D|0)==0):0)C=93;if((C|0)==93)dk(G,E,n+-4|0,k+4|0,c,l,M);ck(o,(j[m>>1]|0)+-1|0,k,M);c=f[M>>2]|0;if(c|0){M=c;t=N;return M|0}}c=ek(a)|0;f[M>>2]=c;if(c|0){M=c;t=N;return M|0}c=b[L>>0]|0;if(c<<24>>24>F<<24>>24){e=f[(f[K>>2]|0)+72>>2]|0;if(!(d[e+28>>1]&32)){bh(e);c=b[L>>0]|0}else{E=f[e+20>>2]|0;D=E+120|0;f[D>>2]=(f[D>>2]|0)+-1;E=E+136|0;f[e+16>>2]=f[E>>2];f[E>>2]=e}e=c+-1<<24>>24;b[L>>0]=e;c=e<<24>>24;if(e<<24>>24>F<<24>>24)do{e=e+-1<<24>>24;b[L>>0]=e;c=f[a+120+(c<<2)>>2]|0;do if(c){c=f[c+72>>2]|0;if(!(d[c+28>>1]&32)){bh(c);e=b[L>>0]|0;break}else{E=f[c+20>>2]|0;D=E+120|0;f[D>>2]=(f[D>>2]|0)+-1;E=E+136|0;f[c+16>>2]=f[E>>2];f[E>>2]=c;break}}while(0);c=e<<24>>24}while(e<<24>>24>F<<24>>24);f[K>>2]=f[a+120+(c<<2)>>2];c=ek(a)|0;f[M>>2]=c;if(c|0){M=c;t=N;return M|0}}if(z|0){b[a>>0]=2;e=d[G+22>>1]|0;c=a+4|0;if((J&65535)<(e&65535)){f[c>>2]=1;M=0;t=N;return M|0}else{f[c>>2]=-1;d[I>>1]=(e&65535)+65535;M=0;t=N;return M|0}}i=$i(a)|0;f[M>>2]=i;if(H){c=b[L>>0]|0;if(c<<24>>24>-1){if(c<<24>>24){g=0;do{e=f[(f[a+120+(g<<2)>>2]|0)+72>>2]|0;if(!(d[e+28>>1]&32)){bh(e);c=b[L>>0]|0}else{J=f[e+20>>2]|0;I=J+120|0;f[I>>2]=(f[I>>2]|0)+-1;J=J+136|0;f[e+16>>2]=f[J>>2];f[J>>2]=e}g=g+1|0}while((g|0)<(c<<24>>24|0))}c=f[(f[K>>2]|0)+72>>2]|0;if(!(d[c+28>>1]&32))bh(c);else{K=f[c+20>>2]|0;J=K+120|0;f[J>>2]=(f[J>>2]|0)+-1;K=K+136|0;f[c+16>>2]=f[K>>2];f[K>>2]=c}b[L>>0]=-1}b[a>>0]=3}if((i|0)==16){f[M>>2]=0;M=0;t=N;return M|0}else{M=f[M>>2]|0;t=N;return M|0}return 0}function lj(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0.0,n=0.0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0;N=t;t=t+96|0;M=N+80|0;L=N+64|0;l=N+48|0;J=N+40|0;K=N;o=f[e+4>>2]|0;do if(!g){E=b[c>>0]|0;g=E&255;do if(E<<24>>24<=-1){i=h[c+1>>0]|0;if(!(i&128)){g=g<<7&16256|i;i=2;break}k=h[c+2>>0]|0;if(!(k&128)){g=(g<<14|k)&2080895|i<<7&16256;i=3;break}else{i=Th(c,J)|0;E=J;g=f[E>>2]|0;g=((g|0)==(g|0)?0==(f[E+4>>2]|0):0)?g:-1;break}}else i=1;while(0);if(g>>>0<=a>>>0){l=g;r=0;i=i&255;k=g;break}f[l>>2]=42469;f[l+4>>2]=79998;f[l+8>>2]=40460;Ac(11,40408,l);b[e+11>>0]=11;e=0;t=N;return e|0}else{l=c+1|0;E=b[l>>0]|0;g=E&255;do if(E<<24>>24>-1){k=h[c>>0]|0;i=2;v=12}else{i=h[c+2>>0]|0;do if(i&128){k=h[c+3>>0]|0;if(!(k&128)){g=(g<<14|k)&2080895|i<<7&16256;i=3;v=10;break}i=Th(l,J)|0;E=J;g=f[E>>2]|0;if((g|0)==(g|0)?0==(f[E+4>>2]|0):0)v=10;else{g=-1;k=h[c>>0]|0;i=(i&255)+1|0}}else{g=g<<7&16256|i;i=2;v=10}while(0);if((v|0)==10){i=(i&255)+1|0;k=h[c>>0]|0;if(g>>>0<=127){v=12;break}}g=(g+-12|0)>>>1}while(0);if((v|0)==12)g=h[7808+g>>0]|0;l=g+k|0;r=1;o=o+40|0}while(0);D=e+8|0;E=K+12|0;y=K+10|0;z=K+32|0;A=K+8|0;B=K+16|0;C=e+11|0;x=l;w=o;a:while(1){u=w+8|0;g=j[u>>1]|0;b:do if(g&4){g=b[c+i>>0]|0;q=g&255;if((g&255)>9){g=1;v=87;break a}switch(g<<24>>24){case 0:{g=-1;v=87;break a}case 7:{Zi(c+x|0,q,K)|0;l=w;g=f[l>>2]|0;l=f[l+4>>2]|0;n=+p[K>>3];if(!(n<-9223372036854775808.0))if(!(n>=9223372036854775808.0)?(F=~~n>>>0,I=+H(n)>=1.0?(n>0.0?~~+V(+G(n/4294967296.0),4294967295.0)>>>0:~~+T((n-+(~~n>>>0))/4294967296.0)>>>0):0,!((l|0)<(I|0)|(l|0)==(I|0)&g>>>0>>0)):0)if(!((l|0)>(I|0)|(l|0)==(I|0)&g>>>0>F>>>0)){m=+(g>>>0)+4294967296.0*+(l|0);if(n>m)g=-1;else g=n>24){case 6:{s=h[l+1>>0]<<16|h[l>>0]<<24|h[l+2>>0]<<8|h[l+3>>0];o=h[l+5>>0]<<16|h[l+4>>0]<<24|h[l+6>>0]<<8|h[l+7>>0];break}case 1:{o=b[l>>0]|0;s=((o|0)<0)<<31>>31;break}case 2:{o=b[l>>0]<<8|h[l+1>>0];s=((o|0)<0)<<31>>31;break}case 3:{o=h[l+1>>0]<<8|b[l>>0]<<16|h[l+2>>0];s=((o|0)<0)<<31>>31;break}case 4:{o=h[l+1>>0]<<16|h[l>>0]<<24|h[l+2>>0]<<8|h[l+3>>0];s=((o|0)<0)<<31>>31;break}case 5:{s=b[l>>0]<<8|h[l+1>>0];o=h[l+3>>0]<<16|h[l+2>>0]<<24|h[l+4>>0]<<8|h[l+5>>0];break}default:{s=0;o=q+-8|0}}l=w;g=f[l>>2]|0;l=f[l+4>>2]|0;if((s|0)<(l|0)|(s|0)==(l|0)&o>>>0>>0){g=-1;v=87;break a}else{g=((s|0)>(l|0)|(s|0)==(l|0)&o>>>0>g>>>0)&1;v=86}}else{if(g&8|0){g=b[c+i>>0]|0;s=g&255;if((g&255)>9){g=1;v=87;break a}if(!(g<<24>>24)){g=-1;v=87;break a}Zi(c+x|0,s,K)|0;if(g<<24>>24==7){m=+p[K>>3];n=+p[w>>3];if(mn){g=1;v=87;break a}else{g=7;break}}l=K;g=f[l>>2]|0;l=f[l+4>>2]|0;n=+p[w>>3];if(n<-9223372036854775808.0){g=1;v=87;break a}if(n>=9223372036854775808.0){g=-1;v=87;break a}o=~~n>>>0;q=+H(n)>=1.0?(n>0.0?~~+V(+G(n/4294967296.0),4294967295.0)>>>0:~~+T((n-+(~~n>>>0))/4294967296.0)>>>0):0;if((l|0)<(q|0)|(l|0)==(q|0)&g>>>0>>0){g=-1;v=87;break a}if((l|0)>(q|0)|(l|0)==(q|0)&g>>>0>o>>>0){g=1;v=87;break a}m=+(g>>>0)+4294967296.0*+(l|0);if(n>m){g=-1;v=87;break a}else{q=s;g=n>0]|0;g=u&255;do if(u<<24>>24<=-1){o=h[l+1>>0]|0;if(!(o&128)){g=g<<7&16256|o;v=61;break}q=h[l+2>>0]|0;if(q&128){Th(l,J)|0;u=J;g=f[u>>2]|0;if((g|0)==(g|0)?0==(f[u+4>>2]|0):0){v=61;break}else{o=-1;break}}else{g=(g<<14|q)&2080895|o<<7&16256;v=61;break}}else v=61;while(0);if((v|0)==61){if(g>>>0<12){g=-1;v=87;break a}if(!(g&1)){g=1;v=87;break a}else o=g}s=(o+-12|0)>>>1;f[E>>2]=s;if((s+x|0)>>>0>a>>>0){v=64;break a}g=f[e>>2]|0;l=f[g+20+(r<<2)>>2]|0;if(!l){l=f[w+12>>2]|0;g=Hz(c+x|0,f[w+16>>2]|0,(s|0)<(l|0)?s:l)|0;if(!g){q=o;g=s-l|0;v=86;break}else{v=87;break a}}else{b[y>>0]=b[g+4>>0]|0;f[z>>2]=f[g+12>>2];d[A>>1]=2;f[B>>2]=c+x;q=o;g=of(K,w,l,C)|0;v=86;break}}q=c+i|0;l=b[q>>0]|0;o=l&255;if(!(g&16)){q=o;g=l<<24>>24!=0&1;v=86;break}do if(l<<24>>24<=-1){g=h[q+1>>0]|0;if(!(g&128)){o=o<<7&16256|g;break}l=h[q+2>>0]|0;if(!(l&128)){o=(o<<14|l)&2080895|g<<7&16256;break}else{Th(q,J)|0;v=J;o=f[v>>2]|0;o=((o|0)==(o|0)?0==(f[v+4>>2]|0):0)?o:-1;break}}while(0);if(!(o>>>0>11&(o&1|0)==0)){g=-1;v=87;break a}s=(o+-12|0)>>>1;if((s+x|0)>>>0>a>>>0){v=84;break a}if(!(d[u>>1]&16384)){l=f[w+12>>2]|0;g=Hz(c+x|0,f[w+16>>2]|0,(s|0)<(l|0)?s:l)|0;if(!g){q=o;g=s-l|0;v=86;break}else{v=87;break a}}l=c+x|0;if(s|0){g=0;do{if(b[l+g>>0]|0){g=1;v=87;break a}g=g+1|0}while(g>>>0>>0)}q=o;g=s-(f[w>>2]|0)|0;v=86}while(0);if((v|0)==86){v=0;if(!g)g=q;else{v=87;break}}r=r+1|0;if((r|0)==(j[D>>1]|0)){v=95;break}w=w+40|0;if(g>>>0>127)q=(g+-12|0)>>>1;else q=h[7808+g>>0]|0;o=1;l=0;while(1){g=VA(g|0,l|0,7)|0;l=ba()|0;if((g|0)==0&(l|0)==0)break;else o=o+1|0}x=q+x|0;i=o+i|0;if(x>>>0>a>>>0|i>>>0>=k>>>0){v=95;break}}if((v|0)==64){f[L>>2]=42469;f[L+4>>2]=80073;f[L+8>>2]=40460;Ac(11,40408,L);b[C>>0]=11;e=0;t=N;return e|0}else if((v|0)==84){f[M>>2]=42469;f[M+4>>2]=80103;f[M+8>>2]=40460;Ac(11,40408,M);b[C>>0]=11;e=0;t=N;return e|0}else if((v|0)==87){e=(b[(f[(f[e>>2]|0)+16>>2]|0)+r>>0]|0)==0?g:0-g|0;t=N;return e|0}else if((v|0)==95){b[e+14>>0]=1;e=b[e+10>>0]|0;t=N;return e|0}return 0}function mj(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;s=t;t=t+16|0;r=s;e=$i(a)|0;switch(e|0){case 0:{f[c>>2]=0;k=a+116|0;l=a+70|0;m=a+68|0;n=a+20|0;o=a+50|0;p=a+1|0;q=a+2|0;while(1){c=f[k>>2]|0;if(b[c+8>>0]|0){c=0;e=8;break}e=d[l>>1]|0;g=(f[c+64>>2]|0)+((e&65535)<<1)|0;g=(f[c+56>>2]|0)+((h[g>>0]<<8|h[g+1>>0])&j[c+24>>1])|0;i=b[m>>0]|0;if(i<<24>>24>18){e=5;break}g=h[g>>0]<<24|h[g+1>>0]<<16|h[g+2>>0]<<8|h[g+3>>0];u=f[n>>2]|0;d[o>>1]=0;b[p>>0]=b[p>>0]&-7;v=i<<24>>24;d[a+72+(v<<1)>>1]=e;f[a+120+(v<<2)>>2]=c;d[l>>1]=0;b[m>>0]=i+1<<24>>24;c=aj(u,g,k,a,h[q>>0]|0)|0;if(c|0){e=8;break}}if((e|0)==5){f[r>>2]=42469;f[r+4>>2]=67897;f[r+8>>2]=40460;Ac(11,40408,r);v=11;t=s;return v|0}else if((e|0)==8){t=s;return c|0}break}case 16:{f[c>>2]=1;v=0;t=s;return v|0}default:{v=e;t=s;return v|0}}return 0}function nj(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+16|0;u=x+4|0;v=x;w=a+12|0;n=a+8|0;e=f[n>>2]|0;do if(!(f[w>>2]|0)){m=f[e+28>>2]|0;l=((j[m+6>>1]|0)*40|0)+56|0;i=f[m+12>>2]|0;a:do if(!i){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](l)|0;r=25;break}k=ib[f[37372>>2]&255](l)|0;if((f[18194]|0)>>>0>>0)f[18194]=l;i=71896;e=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&e>>>0>0){s=f[18187]|0;q=LA(e|0,i|0,k|0,((k|0)<0)<<31>>31|0)|0;p=ba()|0;f[17976]=((p|0)<0|(p|0)==0&q>>>0<=s>>>0)&1}e=ib[f[37356>>2]&255](k)|0;if(e|0){g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;r=26}else r=26}}else{if(f[i+272>>2]|0){if(b[i+81>>0]|0)break}else{do if(!(0<0|(0==0?(j[i+276>>1]|0)>>>0>>0:0))){e=i+300|0;g=f[e>>2]|0;if(g|0){f[e>>2]=f[g>>2];r=i+284|0;f[r>>2]=(f[r>>2]|0)+1;r=25;break a}e=i+296|0;g=f[e>>2]|0;if(!g){e=i+292|0;break}else{f[e>>2]=f[g>>2];r=i+284|0;f[r>>2]=(f[r>>2]|0)+1;r=25;break a}}else e=i+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}g=Dc(i,l,0)|0;r=25}while(0);if((r|0)==25?g|0:0){e=g;r=26}if((r|0)==26){f[e+4>>2]=e+16;f[e>>2]=m;f[w>>2]=e;s=f[n>>2]|0;d[e+8>>1]=d[(f[s+28>>2]|0)+6>>1]|0;b[e+11>>0]=0;e=s;break}f[w>>2]=0;w=7;t=x;return w|0}while(0);l=f[c>>2]|0;r=b[e+60>>0]|0;s=a+32|0;f[s>>2]=r<<24>>24==1?86:r<<24>>24==2?84:85;if(!(f[9328]|0)){e=ib[f[37356>>2]&255](256)|0;if(!e){w=7;t=x;return w|0}}else{e=ib[f[37372>>2]&255](256)|0;if((f[18194]|0)>>>0<256)f[18194]=256;i=71896;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){r=f[18187]|0;q=LA(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;p=ba()|0;f[17976]=((p|0)<0|(p|0)==0&q>>>0<=r>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e){w=7;t=x;return w|0}g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}_A(e|0,0,256)|0;if(l|0){q=c+4|0;k=l;i=l;while(1){g=f[q>>2]|0;if(g)if((i|0)==(g|0)){p=0;i=0}else{i=g+(f[k+4>>2]|0)|0;p=i}else{i=f[k+4>>2]|0;p=i}f[k+4>>2]=0;l=f[e>>2]|0;if(!l)g=e;else{o=0;g=e;do{f[u>>2]=0;f[v>>2]=0;m=u;b:while(1){n=l+8|0;while(1){if((nb[f[s>>2]&127](a,v,k+8|0,f[k>>2]|0,n,f[l>>2]|0)|0)>=1)break;f[m>>2]=k;m=k+4|0;k=f[m>>2]|0;if(!k){r=51;break b}}f[m>>2]=l;m=l+4|0;l=f[m>>2]|0;f[v>>2]=0;if(!l){r=53;break}}if((r|0)==51)f[m>>2]=l;else if((r|0)==53)f[m>>2]=k;k=f[u>>2]|0;f[g>>2]=0;o=o+1|0;g=e+(o<<2)|0;l=f[g>>2]|0}while((l|0)!=0)}f[g>>2]=k;if(!p)break;else k=p}}m=0;g=0;do{k=f[e+(m<<2)>>2]|0;if(k)if(!g)g=k;else{f[u>>2]=0;f[v>>2]=0;i=u;c:while(1){l=k+8|0;while(1){if((nb[f[s>>2]&127](a,v,g+8|0,f[g>>2]|0,l,f[k>>2]|0)|0)>=1)break;f[i>>2]=g;i=g+4|0;g=f[i>>2]|0;if(!g){r=63;break c}}f[i>>2]=k;i=k+4|0;k=f[i>>2]|0;f[v>>2]=0;if(!k){r=65;break}}if((r|0)==63)f[i>>2]=k;else if((r|0)==65)f[i>>2]=g;g=f[u>>2]|0}m=m+1|0}while((m|0)!=64);f[c>>2]=g;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{v=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}w=h[(f[w>>2]|0)+11>>0]|0;t=x;return w|0}function oj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;y=t;t=t+16|0;u=y;b[a+56>>0]=1;d=a+64|0;x=a+36|0;g=a+72|0;e=a+104|0;if((f[e>>2]|0)==0?(c=_j(f[(f[g>>2]|0)+24>>2]|0,e)|0,c|0):0){x=c;t=y;return x|0}c=nj(d,x)|0;if(c|0){x=c;t=y;return x|0}k=f[e>>2]|0;j=f[(f[g>>2]|0)+12>>2]|0;w=a+112|0;h=w;g=f[h>>2]|0;h=f[h+4>>2]|0;i=((j|0)<0)<<31>>31;s=KA(j|0,i|0,-1,-1)|0;r=ba()|0;do if(r>>>0>0|(r|0)==0&s>>>0>2147483390){c=7;s=0;q=0;i=0;r=0;e=0;d=0}else{if(!(f[9328]|0)){c=ib[f[37356>>2]&255](j)|0;if(!c){c=7;s=0;q=0;i=0;r=0;e=0;d=0;break}else d=c}else{c=ib[f[37372>>2]&255](j)|0;if((f[18194]|0)>>>0>>0)f[18194]=j;e=71896;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){s=f[18187]|0;r=LA(d|0,e|0,c|0,((c|0)<0)<<31>>31|0)|0;q=ba()|0;f[17976]=((q|0)<0|(q|0)==0&r>>>0<=s>>>0)&1}d=ib[f[37356>>2]&255](c)|0;if(!d){c=7;s=0;q=0;i=0;r=0;e=0;d=0;break}c=ib[f[37368>>2]&255](d)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}i=RA(g|0,h|0,j|0,i|0)|0;ba()|0;e=LA(g|0,h|0,i|0,((i|0)<0)<<31>>31|0)|0;c=0;s=d;q=j;r=k;d=ba()|0}while(0);g=a+92|0;f[g>>2]=(f[g>>2]|0)+1;g=f[a+44>>2]|0;h=((g|0)<0)<<31>>31;do if(g>>>0>=128)if(g>>>0>=16384){g=_i(u,g,h)|0;if((g|0)>0){v=22;break}else{h=i;g=i;break}}else{v=VA(g|0,h|0,7)|0;ba()|0;b[u>>0]=v&255|-128;b[u+1>>0]=g&127;g=2;v=22;break}else{b[u>>0]=g&127;g=1;v=22}while(0);a:do if((v|0)==22){l=((q|0)<0)<<31>>31;k=g;h=i;while(1){if(c|0){g=i;break a}j=q-i|0;j=(k|0)>(j|0)?j:k;YA(s+i|0,u+(g-k)|0,j|0)|0;i=j+i|0;if((i|0)==(q|0)){i=KA(e|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;c=ba()|0;e=KA(e|0,d|0,q|0,l|0)|0;d=ba()|0;c=mb[f[(f[r>>2]|0)+12>>2]&127](r,s+h|0,q-h|0,i,c)|0;h=0;i=0}else c=0;k=k-j|0;if((k|0)<=0){g=i;break}}}while(0);i=f[x>>2]|0;if(i){p=((q|0)<0)<<31>>31;n=a+40|0;o=u+1|0;do{m=i;i=f[i+4>>2]|0;l=f[m>>2]|0;j=((l|0)<0)<<31>>31;do if(l>>>0>=128)if(l>>>0>=16384){j=_i(u,l,j)|0;if((j|0)>0){v=34;break}else break}else{j=VA(l|0,j|0,7)|0;ba()|0;b[u>>0]=j&255|-128;j=2;k=o;v=33;break}else{j=1;k=u;v=33}while(0);if((v|0)==33){b[k>>0]=l&127;v=34}b:do if((v|0)==34){v=0;l=j;do{if(c|0)break b;k=q-g|0;k=(l|0)>(k|0)?k:l;YA(s+g|0,u+(j-l)|0,k|0)|0;g=k+g|0;if((g|0)==(q|0)){g=KA(e|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;c=ba()|0;e=KA(e|0,d|0,q|0,p|0)|0;d=ba()|0;c=mb[f[(f[r>>2]|0)+12>>2]&127](r,s+h|0,q-h|0,g,c)|0;h=0;g=0}else c=0;l=l-k|0}while((l|0)>0)}while(0);l=m+8|0;a=f[m>>2]|0;c:do if((a|0)>0){k=a;do{if(c|0)break c;j=q-g|0;j=(k|0)>(j|0)?j:k;YA(s+g|0,l+(a-k)|0,j|0)|0;g=j+g|0;if((g|0)==(q|0)){g=KA(e|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;c=ba()|0;e=KA(e|0,d|0,q|0,p|0)|0;d=ba()|0;c=mb[f[(f[r>>2]|0)+12>>2]&127](r,s+h|0,q-h|0,g,c)|0;h=0;g=0}else c=0;k=k-j|0}while((k|0)>0)}while(0);do if(!((m|0)==0|(f[n>>2]|0)!=0))if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{a=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0)}while((i|0)!=0)}f[x>>2]=0;if(c){u=KA(e|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;v=ba()|0;x=w;f[x>>2]=u;f[x+4>>2]=v;if(!s){x=c;t=y;return x|0}}else{if(!s){u=KA(e|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;v=ba()|0;x=w;f[x>>2]=u;f[x+4>>2]=v;x=0;t=y;return x|0}if((g|0)>(h|0)){x=KA(e|0,d|0,h|0,((h|0)<0)<<31>>31|0)|0;c=ba()|0;c=mb[f[(f[r>>2]|0)+12>>2]&127](r,s+h|0,g-h|0,x,c)|0}else c=0;u=KA(e|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;v=ba()|0;x=w;f[x>>2]=u;f[x+4>>2]=v}if(!(f[9328]|0)){ob[f[37360>>2]&127](s);x=c;t=y;return x|0}else{x=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);x=c;t=y;return x|0}return 0}function pj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=t;t=t+16|0;o=r;e=c;h=f[e>>2]|0;e=f[e+4>>2]|0;l=2;while(1)if((l|0)<(b|0))l=l<<1;else break;g=f[9393]|0;if((g|0)!=0?(ib[g&255](100)|0)!=0:0)q=17;else q=5;a:do if((q|0)==5){k=(l*60|0)+16|0;p=KA(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;n=ba()|0;if(!(n>>>0>0|(n|0)==0&p>>>0>2147483390)){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](k)|0;if(!g){q=17;break}else p=g}else{g=ib[f[37372>>2]&255](k)|0;if((f[18194]|0)>>>0>>0)f[18194]=k;j=71896;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){p=f[18187]|0;n=LA(i|0,j|0,g|0,((g|0)<0)<<31>>31|0)|0;m=ba()|0;f[17976]=((m|0)<0|(m|0)==0&n>>>0<=p>>>0)&1}i=ib[f[37356>>2]&255](g)|0;if(!i){q=17;break}g=ib[f[37368>>2]&255](i)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;p=i}else p=i}_A(p|0,0,k|0)|0;n=p+16|0;f[p>>2]=l;f[p+4>>2]=0;f[p+12>>2]=n;f[p+8>>2]=n+(l*56|0);f[d>>2]=p;n=(p|0)==0;g=n?7:0;i=n^1;b:do if((b|0)>0&i){l=p+12|0;m=a+40|0;j=0;while(1){i=f[l>>2]|0;k=i+(j*56|0)|0;g=Xj(a,k,m,h,e)|0;if(g|0){q=21;break}g=o;f[g>>2]=0;f[g+4>>2]=0;g=Yj(k,o)|0;s=k;h=o;s=KA(f[h>>2]|0,f[h+4>>2]|0,f[s>>2]|0,f[s+4>>2]|0)|0;h=ba()|0;e=i+(j*56|0)+8|0;i=e;f[i>>2]=s;f[i+4>>2]=h;if(g|0)break;g=Vj(k)|0;h=f[e>>2]|0;e=f[e+4>>2]|0;j=j+1|0;i=(g|0)==0;if(!((j|0)<(b|0)&i)){q=25;break b}}if((q|0)==21)e=i+(j*56|0)+8|0;h=f[e>>2]|0;e=f[e+4>>2]|0}else q=25;while(0);do if((q|0)==25)if(!i)if(n)break a;else break;else{s=g;p=h;q=e;d=c;c=d;f[c>>2]=p;d=d+4|0;f[d>>2]=q;t=r;return s|0}while(0);if((f[p>>2]|0)>0){m=p+12|0;l=0;do{j=f[m>>2]|0;k=j+(l*56|0)|0;i=f[j+(l*56|0)+28>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{s=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);i=f[j+(l*56|0)+36>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{s=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);i=f[j+(l*56|0)+48>>2]|0;do if(i|0){gi(f[i+4>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{s=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);i=k;j=i+56|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));l=l+1|0}while((l|0)<(f[p>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{s=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}else q=17}while(0);if((q|0)==17){f[d>>2]=0;g=7}f[d>>2]=0;s=g;p=h;q=e;d=c;c=d;f[c>>2]=p;d=d+4|0;f[d>>2]=q;t=r;return s|0}function qj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+16|0;o=q;p=b+4|0;f[p>>2]=a;m=f[b>>2]|0;a:do if((m|0)>0){n=b+12|0;l=0;while(1){j=f[n>>2]|0;k=j+(l*56|0)|0;j=f[j+(l*56|0)+48>>2]|0;if(j|0){d=f[j>>2]|0;e=f[(f[d+8>>2]|0)+24>>2]|0;c=qj(d,f[j+4>>2]|0)|0;if(c|0){d=22;break}i=f[j+16>>2]|0;g=d+56|0;c=f[g>>2]|0;if(!c){d=d+64|0;c=_j(e,g)|0;e=d;f[e>>2]=0;f[e+4>>2]=0;if(c|0){d=22;break}c=f[g>>2]|0;e=0;g=0}else{d=d+64|0;g=d;e=f[g>>2]|0;g=f[g+4>>2]|0}f[j+48>>2]=c;j=j+8|0;f[j>>2]=e;f[j+4>>2]=g;i=KA(e|0,g|0,i|0,((i|0)<0)<<31>>31|0)|0;j=ba()|0;c=d;f[c>>2]=i;f[c+4>>2]=j;c=Vj(k)|0;if(c|0){d=22;break}}l=l+1|0;if((l|0)>=(m|0)){d=11;break}}if((d|0)==11){c=f[b>>2]|0;if((c|0)<=1)break;j=b+12|0;k=b+8|0;i=c;while(1){g=i+-1|0;c=(c|0)/2|0;if((i|0)>(c|0)){d=g-c<<1;c=d;d=d|1}else{n=f[k>>2]|0;d=g<<1;c=f[n+(d<<2)>>2]|0;d=f[n+((d|1)<<2)>>2]|0}e=f[j>>2]|0;if(f[e+(c*56|0)+24>>2]|0){if(f[e+(d*56|0)+24>>2]|0){n=f[p>>2]|0;f[o>>2]=0;n=(nb[f[n+32>>2]&127](n,o,f[e+(c*56|0)+32>>2]|0,f[e+(c*56|0)+20>>2]|0,f[e+(d*56|0)+32>>2]|0,f[e+(d*56|0)+20>>2]|0)|0)<1;c=n?c:d}}else c=d;f[(f[k>>2]|0)+(g<<2)>>2]=c;if((i|0)<=2)break a;i=g;c=f[b>>2]|0}}else if((d|0)==22){t=q;return c|0}}while(0);p=h[(f[a+12>>2]|0)+11>>0]|0;t=q;return p|0}function rj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+16|0;k=q;l=a+8|0;d=f[(f[l>>2]|0)+4>>2]|0;p=f[a+4>>2]|0;n=a+12|0;c=Vj((f[n>>2]|0)+(d*56|0)|0)|0;if(c|0){p=c;t=q;return p|0}f[k>>2]=0;c=f[n>>2]|0;a=(f[a>>2]|0)+d|0;if((a|0)>1){j=p+32|0;e=c+((d|1)*56|0)|0;d=c+((d&65534)*56|0)|0;g=a;do{i=g;g=(g|0)/2|0;c=d+24|0;do if(!(f[c>>2]|0))o=12;else{if((f[e+24>>2]|0?(m=nb[f[j>>2]&127](p,k,f[d+32>>2]|0,f[d+20>>2]|0,f[e+32>>2]|0,f[e+20>>2]|0)|0,(m|0)>=0):0)?!(d>>>0>>0&(m|0)==0):0){if(!(f[c>>2]|0)){o=12;break}f[k>>2]=0;o=12;break}c=f[n>>2]|0;a=f[l>>2]|0;f[a+(g<<2)>>2]=(d-c|0)/56|0;e=c+((f[a+((g^1)<<2)>>2]|0)*56|0)|0;f[k>>2]=0}while(0);if((o|0)==12){o=0;c=f[n>>2]|0;a=f[l>>2]|0;f[a+(g<<2)>>2]=(e-c|0)/56|0;d=c+((f[a+((g^1)<<2)>>2]|0)*56|0)|0}}while((i|0)>3)}else a=f[l>>2]|0;f[b>>2]=(f[c+((f[a+4>>2]|0)*56|0)+24>>2]|0)==0&1;p=h[(f[p+12>>2]|0)+11>>0]|0;t=q;return p|0}function sj(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+80|0;m=A+56|0;y=A+40|0;k=A+24|0;l=A+68|0;p=A;if((f[a+44>>2]|0)>>>0>>0){f[k>>2]=42469;f[k+4>>2]=71869;f[k+8>>2]=40460;Ac(11,40408,k);z=11;t=A;return z|0}c=aj(a,c,l,0,0)|0;if(c|0){z=c;t=A;return z|0}x=f[l>>2]|0;w=x+1|0;if(b[w>>0]|0){f[m>>2]=42469;f[m+4>>2]=71874;f[m+8>>2]=40460;Ac(11,40408,m);b[w>>0]=0;if(!x){z=11;t=A;return z|0}else i=11}else{b[w>>0]=1;u=x+9|0;s=h[u>>0]|0;v=x+22|0;a:do if(!(d[v>>1]|0)){c=0;r=x+8|0;z=13}else{l=x+56|0;m=x+24|0;n=x+64|0;o=x+8|0;k=0;do{c=(f[n>>2]|0)+(k<<1)|0;c=(f[l>>2]|0)+((h[c>>0]<<8|h[c+1>>0])&j[m>>1])|0;if((b[o>>0]|0)==0?(q=sj(a,h[c+1>>0]<<16|h[c>>0]<<24|h[c+2>>0]<<8|h[c+3>>0],1,g)|0,q|0):0){i=q;break a}c=Uj(x,c,p)|0;k=k+1|0;if(c|0){i=c;break a}c=d[v>>1]|0}while(k>>>0<(c&65535)>>>0);c=c&65535;r=o;z=13}while(0);b:do if((z|0)==13){if(!(b[r>>0]|0)){c=(f[x+56>>2]|0)+(s+8)|0;c=sj(a,h[c+1>>0]<<16|h[c>>0]<<24|h[c+2>>0]<<8|h[c+3>>0],1,g)|0;if(c|0){i=c;break}}else if(g|0)f[g>>2]=(f[g>>2]|0)+c;if(e|0){i=tj(f[x+52>>2]|0,x,f[x+4>>2]|0)|0;break}c=f[x+72>>2]|0;k=f[c+20>>2]|0;if((d[c+28>>1]&4)!=0?(f[k+24>>2]|0)>>>0>=(f[c+24>>2]|0)>>>0:0){if(f[k+96>>2]|0){i=Ng(c)|0;z=27}}else z=23;do if((z|0)==23){i=f[k+40>>2]|0;if(i|0)break b;if((f[k+148>>2]|0)>>>0>(f[k+152>>2]|0)>>>0){i=Og(c)|0;z=27;break}else{i=Pg(c)|0;z=27;break}}while(0);if((z|0)==27?i|0:0)break;a=f[x+56>>2]|0;i=b[a+s>>0]|8;o=i&255;l=x+52|0;q=f[l>>2]|0;k=h[u>>0]|0;if(!(d[q+22>>1]&12)){c=a+k|0;p=q+36|0}else{p=q+36|0;c=a+k|0;_A(c|0,0,(f[p>>2]|0)-k|0)|0}b[c>>0]=i;m=k+8|0;n=m&65535;c=a+(k+1)|0;b[c>>0]=0;b[c+1>>0]=0;b[c+2>>0]=0;b[c+3>>0]=0;b[a+(k+7)>>0]=0;c=a+(k+5)|0;b[c>>0]=(f[p>>2]|0)>>>8;b[c+1>>0]=f[p>>2];d[x+20>>1]=(f[p>>2]|0)-m;c=o>>>3;b[r>>0]=c;c=4-(c<<2)&255;i=x+10|0;b[i>>0]=c;f[x+76>>2]=149;k=f[l>>2]|0;switch((o&247)<<24>>24){case 5:{b[x+2>>0]=1;b[x+3>>0]=1;f[x+80>>2]=189;d[x+14>>1]=d[k+28>>1]|0;i=k+30|0;z=35;break}case 2:{b[x+2>>0]=0;b[x+3>>0]=0;f[x+80>>2]=190;d[x+14>>1]=d[k+24>>1]|0;i=k+26|0;z=35;break}default:{f[y>>2]=42469;f[y+4>>2]=64757;f[y+8>>2]=40460;Ac(11,40408,y);c=b[i>>0]|0}}if((z|0)==35){d[x+16>>1]=d[i>>1]|0;b[x+11>>0]=b[k+21>>0]|0}d[x+18>>1]=n;f[x+60>>2]=a+(f[p>>2]|0);f[x+64>>2]=a+m;f[x+68>>2]=a+(c&255);b[x+12>>0]=0;d[x+24>>1]=(f[q+32>>2]|0)+65535;d[v>>1]=0;b[x>>0]=1;i=0}while(0);b[w>>0]=0}c=f[x+72>>2]|0;if(!(d[c+28>>1]&32)){bh(c);z=i;t=A;return z|0}else{z=f[c+20>>2]|0;y=z+120|0;f[y>>2]=(f[y>>2]|0)+-1;z=z+136|0;f[c+16>>2]=f[z>>2];f[z>>2]=c;z=i;t=A;return z|0}return 0}function tj(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=t;t=t+48|0;r=B+16|0;i=B;s=B+32|0;A=B+28|0;m=f[a+12>>2]|0;if(e>>>0<2){f[i>>2]=42469;f[i+4>>2]=69066;f[i+8>>2]=40460;Ac(11,40408,i);A=11;t=B;return A|0}do if(!c){c=(f[a>>2]|0)+212|0;k=kb[f[37452>>2]&127](f[(f[c>>2]|0)+44>>2]|0,e,0)|0;if(k){c=f[c>>2]|0;i=f[k+4>>2]|0;if(!(f[i>>2]|0)){c=ch(c,e,k)|0;if(!c){c=0;break}else i=c}else{z=c+12|0;f[z>>2]=(f[z>>2]|0)+1;z=i+30|0;d[z>>1]=(d[z>>1]|0)+1<<16>>16}c=f[i+8>>2]|0;k=c+4|0;if((f[k>>2]|0)!=(e|0)){f[c+56>>2]=f[i+4>>2];f[c+72>>2]=i;f[c+52>>2]=a;f[k>>2]=e;b[c+9>>0]=0}}else c=0}else{z=f[c+72>>2]|0;q=z+30|0;d[q>>1]=(d[q>>1]|0)+1<<16>>16;z=(f[z+12>>2]|0)+12|0;f[z>>2]=(f[z>>2]|0)+1}while(0);k=f[m+72>>2]|0;l=f[k+20>>2]|0;do if((d[k+28>>1]&4)!=0?(f[l+24>>2]|0)>>>0>=(f[k+24>>2]|0)>>>0:0)if(!(f[l+96>>2]|0)){f[A>>2]=0;z=22;break}else{i=Ng(k)|0;z=21;break}else z=16;while(0);do if((z|0)==16){i=f[l+40>>2]|0;if(i|0){f[A>>2]=i;g=0;z=104;break}if((f[l+148>>2]|0)>>>0>(f[l+152>>2]|0)>>>0){i=Og(k)|0;z=21;break}else{i=Pg(k)|0;z=21;break}}while(0);if((z|0)==21){f[A>>2]=i;if(!i)z=22;else{g=0;z=104}}a:do if((z|0)==22){q=m+56|0;p=f[q>>2]|0;i=p+36|0;k=p+37|0;m=p+38|0;p=p+39|0;l=h[k>>0]<<16|h[i>>0]<<24|h[m>>0]<<8|h[p>>0];o=l+1|0;b[i>>0]=o>>>24;b[k>>0]=o>>>16;b[m>>0]=o>>>8;b[p>>0]=o;p=a+22|0;if(!(d[p>>1]&4))m=c;else{if(!c){c=f[a>>2]|0;c=lb[f[c+204>>2]&127](c,e,s,0)|0;if(c|0){f[A>>2]=c;break}g=f[s>>2]|0;c=f[g+8>>2]|0;i=c+4|0;if((f[i>>2]|0)!=(e|0)){f[c+56>>2]=f[g+4>>2];f[c+72>>2]=g;f[c+52>>2]=a;f[i>>2]=e;b[c+9>>0]=0}f[A>>2]=0}i=f[c+72>>2]|0;k=f[i+20>>2]|0;do if((d[i+28>>1]&4)!=0?(f[k+24>>2]|0)>>>0>=(f[i+24>>2]|0)>>>0:0)if(!(f[k+96>>2]|0)){f[A>>2]=0;break}else{n=Ng(i)|0;z=39;break}else z=34;while(0);do if((z|0)==34){g=f[k+40>>2]|0;if(g|0){f[A>>2]=g;g=0;z=104;break a}if((f[k+148>>2]|0)>>>0>(f[k+152>>2]|0)>>>0){n=Og(i)|0;z=39;break}else{n=Pg(i)|0;z=39;break}}while(0);if((z|0)==39?(f[A>>2]=n,n|0):0){g=0;z=104;break}_A(f[c+56>>2]|0,0,f[(f[c+52>>2]|0)+32>>2]|0)|0;m=c}if(b[a+17>>0]|0?(Oh(a,e,2,0,A),f[A>>2]|0):0){g=0;c=m;z=104;break}if(l){n=f[q>>2]|0;n=h[n+33>>0]<<16|h[n+32>>0]<<24|h[n+34>>0]<<8|h[n+35>>0];c=f[a>>2]|0;c=lb[f[c+204>>2]&127](c,n,s,0)|0;if(c|0){f[A>>2]=c;g=0;c=m;z=104;break}c=f[s>>2]|0;g=f[c+8>>2]|0;i=g+4|0;if((f[i>>2]|0)==(n|0)){c=g+56|0;l=c;c=f[c>>2]|0}else{o=f[c+4>>2]|0;l=g+56|0;f[l>>2]=o;f[g+72>>2]=c;f[g+52>>2]=a;f[i>>2]=n;b[g+9>>0]=(n|0)==1?100:0;c=o}f[A>>2]=0;o=h[c+5>>0]<<16|h[c+4>>0]<<24|h[c+6>>0]<<8|h[c+7>>0];i=(f[a+36>>2]|0)>>>2;if(o>>>0>(i+-2|0)>>>0){f[r>>2]=42469;f[r+4>>2]=69119;f[r+8>>2]=40460;Ac(11,40408,r);f[A>>2]=11;c=m;z=104;break}if(o>>>0<(i+-8|0)>>>0){i=f[g+72>>2]|0;k=f[i+20>>2]|0;do if((d[i+28>>1]&4)!=0?(f[k+24>>2]|0)>>>0>=(f[i+24>>2]|0)>>>0:0)if(!(f[k+96>>2]|0)){f[A>>2]=0;break}else{c=Ng(i)|0;z=62;break}else z=57;while(0);do if((z|0)==57){c=f[k+40>>2]|0;if(c|0){f[A>>2]=c;c=m;z=104;break a}if((f[k+148>>2]|0)>>>0>(f[k+152>>2]|0)>>>0){c=Og(i)|0;z=62;break}else{c=Pg(i)|0;z=62;break}}while(0);if((z|0)==62){f[A>>2]=c;if(c|0){c=m;z=104;break}c=f[l>>2]|0}z=o+1|0;b[c+4>>0]=z>>>24;b[c+5>>0]=z>>>16;b[c+6>>0]=z>>>8;b[c+7>>0]=z;z=(f[l>>2]|0)+((o<<2)+8)|0;b[z>>0]=e>>>24;b[z+1>>0]=e>>>16;b[z+2>>0]=e>>>8;b[z+3>>0]=e;if((((m|0?(d[p>>1]&4)==0:0)?(u=f[m+72>>2]|0,v=f[u+20>>2]|0,(b[v+12>>0]|0)==0):0)?(w=u+28|0,x=j[w>>1]|0,x&2|0):0)?(f[v+96>>2]|0)==0:0)d[w>>1]=x&65515|16;n=a+60|0;c=f[n>>2]|0;do if(!c){l=f[a+44>>2]|0;do if(!(f[9328]|0)){c=ib[f[37356>>2]&255](512)|0;if(!c)z=82;else z=83}else{c=ib[f[37372>>2]&255](512)|0;if((f[18194]|0)>>>0<512)f[18194]=512;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){a=f[18187]|0;z=LA(i|0,k|0,c|0,((c|0)<0)<<31>>31|0)|0;y=ba()|0;f[17976]=((y|0)<0|(y|0)==0&z>>>0<=a>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c){z=82;break}i=ib[f[37368>>2]&255](c)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0<=(f[18196]|0)>>>0){z=83;break}f[18196]=i;z=83}while(0);if((z|0)==82){f[n>>2]=0;c=7;break}else if((z|0)==83){_A(c+4|0,0,508)|0;f[c>>2]=l;f[n>>2]=c;z=84;break}}else z=84;while(0);if((z|0)==84)if((f[c>>2]|0)>>>0>>0)c=0;else c=Wg(c,e)|0;f[A>>2]=c;c=m;z=104;break}}else{n=0;g=0}if(!m){c=f[a>>2]|0;c=lb[f[c+204>>2]&127](c,e,s,0)|0;if(c|0){f[A>>2]=c;z=110;break}i=f[s>>2]|0;c=f[i+8>>2]|0;k=c+4|0;if((f[k>>2]|0)!=(e|0)){f[c+56>>2]=f[i+4>>2];f[c+72>>2]=i;f[c+52>>2]=a;f[k>>2]=e;b[c+9>>0]=0}f[A>>2]=0;m=c}c=m+72|0;k=f[c>>2]|0;l=f[k+20>>2]|0;do if((d[k+28>>1]&4)!=0?(f[l+24>>2]|0)>>>0>=(f[k+24>>2]|0)>>>0:0)if(!(f[l+96>>2]|0)){f[A>>2]=0;break}else{y=Ng(k)|0;z=103;break}else z=98;while(0);do if((z|0)==98){i=f[l+40>>2]|0;if(i|0){f[A>>2]=i;c=m;z=104;break a}if((f[l+148>>2]|0)>>>0>(f[l+152>>2]|0)>>>0){y=Og(k)|0;z=103;break}else{y=Pg(k)|0;z=103;break}}while(0);if((z|0)==103?(f[A>>2]=y,y|0):0){c=m;z=104;break}a=m+56|0;z=f[a>>2]|0;b[z>>0]=n>>>24;b[z+1>>0]=n>>>16;b[z+2>>0]=n>>>8;b[z+3>>0]=n;a=(f[a>>2]|0)+4|0;b[a>>0]=0;b[a+1>>0]=0;b[a+2>>0]=0;b[a+3>>0]=0;a=f[q>>2]|0;b[a+32>>0]=e>>>24;b[a+33>>0]=e>>>16;b[a+34>>0]=e>>>8;b[a+35>>0]=e;b[m>>0]=0;if(!m)z=110;else z=107}while(0);if((z|0)==104)if(!c)z=110;else{b[c>>0]=0;c=c+72|0;z=107}do if((z|0)==107){c=f[c>>2]|0;if(!(d[c+28>>1]&32)){bh(c);z=110;break}else{z=f[c+20>>2]|0;e=z+120|0;f[e>>2]=(f[e>>2]|0)+-1;z=z+136|0;f[c+16>>2]=f[z>>2];f[z>>2]=c;z=110;break}}while(0);do if((z|0)==110?g|0:0){c=f[g+72>>2]|0;if(!(d[c+28>>1]&32)){bh(c);break}else{e=f[c+20>>2]|0;a=e+120|0;f[a>>2]=(f[a>>2]|0)+-1;e=e+136|0;f[c+16>>2]=f[e>>2];f[e>>2]=c;break}}while(0);A=f[A>>2]|0;t=B;return A|0}function uj(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=t;t=t+48|0;n=V+24|0;m=V+16|0;l=V+8|0;k=V;L=V+40|0;M=V+36|0;f[M>>2]=0;a:do if(!a){f[k>>2]=40543;Ac(21,43101,k)}else{k=f[a+96>>2]|0;b:do if((k|0)<-264537850){switch(k|0){case -1607883113:break;default:break b}T=a+64|0;f[T>>2]=0;if(f[a+256>>2]|0)Bg(a,0);A=(e|0)==0;B=a+272|0;C=a+32|0;D=a+276|0;O=a+81|0;E=a+288|0;P=a+300|0;F=a+296|0;G=a+284|0;H=a+292|0;I=a+82|0;J=a+180|0;K=a+264|0;Q=a+480|0;R=a+304|0;S=a+308|0;l=(c|0)==0?72788:c;c:while(1){if(!(b[l>>0]|0)){k=0;N=131;break}f[M>>2]=0;k=Ki(a,l,-1,128,0,M,L)|0;do if(!k){k=f[M>>2]|0;if(!k){k=0;l=f[L>>2]|0;break}y=d[k+140>>1]|0;w=y&65535;x=w<<3|4;y=y<<16>>16==0;z=w<<2;v=0;n=0;c=0;q=k;l=0;o=0;p=k;while(1){k=Ei(p)|0;if(!A){u=(k|0)==100;if(u)if(!n)N=20;else{s=n;u=c;v=o;N=46}else{if((n|0)!=0|(k|0)!=101){p=o;break}if((f[C>>2]&256|0)==0&0==0){p=o;break}else N=20}if((N|0)==20){N=0;d:do if(f[B>>2]|0)if(!(b[O>>0]|0))N=28;else{l=0;N=132;break c}else{do if(0<0|(0==0?(j[D>>1]|0)>>>0>>0:0))l=E;else{l=f[P>>2]|0;if(l|0){f[P>>2]=f[l>>2];f[G>>2]=(f[G>>2]|0)+1;break d}l=f[F>>2]|0;if(!l){l=H;break}f[F>>2]=f[l>>2];f[G>>2]=(f[G>>2]|0)+1;break d}while(0);f[l>>2]=(f[l>>2]|0)+1;N=28}while(0);if((N|0)==28){N=0;l=Dc(a,x,0)|0}if(!l){l=0;N=132;break c}do if(!y){r=p+140|0;s=p+100|0;if(!p){_A(l|0,0,z|0)|0;break}q=0;do{o=f[p>>2]|0;do if(q>>>0<(j[r>>1]|0)>>>0){m=f[s>>2]|0;n=m+(q*40|0)|0;e:do if(!n)m=0;else{c=d[m+(q*40|0)+8>>1]|0;do if((c&514)==514){if((b[m+(q*40|0)+10>>0]|0)!=1)break;m=f[m+(q*40|0)+16>>2]|0;break e}while(0);if(c&1){m=0;break}m=Ic(n,1)|0}while(0);n=o+81|0;if(!(b[n>>0]|0))break;if(f[o+180>>2]|0){m=0;break}b[n>>0]=0;f[o+264>>2]=0;m=o+272|0;f[m>>2]=(f[m>>2]|0)+-1;m=0}else m=0;while(0);f[l+(q<<2)>>2]=m;q=q+1|0}while((q|0)!=(w|0))}while(0);if(u){s=1;u=l;v=l;N=46}else{m=v;n=1;c=l;p=l}}if((N|0)==46){N=0;r=u+(w<<2)|0;f:do if(y)m=0;else{m=0;while(1){o=(p|0)==0;g:do if(o)n=37592;else{n=f[p+104>>2]|0;do if(n|0){if(m>>>0>=(j[p+140>>1]|0)>>>0)break;n=n+(m*40|0)|0;break g}while(0);n=f[p>>2]|0;f[n+64>>2]=25;Bg(n,25);n=37592}while(0);c=d[n+8>>1]|0;do if((c&514)==514){if((b[n+10>>0]|0)!=1){N=56;break}q=f[n+16>>2]|0}else N=56;while(0);do if((N|0)==56){N=0;if(c&1){q=0;break}q=Ic(n,1)|0}while(0);if(!o){c=f[p>>2]|0;o=p+40|0;n=f[o>>2]|0;if((n|0)==3082|(b[c+81>>0]|0)!=0){Di(c);n=7}else n=f[c+68>>2]&n;f[o>>2]=n}f[r+(m<<2)>>2]=q;if(!q){p=f[M>>2]|0;if(!p)n=1;else{n=f[p+104>>2]|0;do if(!n)N=68;else{if(m>>>0>=(j[p+140>>1]|0)>>>0){N=68;break}n=n+(m*40|0)|0;c=p}while(0);if((N|0)==68){N=0;n=f[p>>2]|0;f[n+64>>2]=25;Bg(n,25);n=37592;c=p}n=d[n+8>>1]&31;c=f[c>>2]|0;q=p+40|0;o=f[q>>2]|0;if((o|0)==3082|(b[c+81>>0]|0)!=0){Di(c);c=7}else c=f[c+68>>2]&o;f[q>>2]=c}if(!(-1431655766>>>n&1)){N=74;break c}}m=m+1|0;if(m>>>0>=w>>>0)break f;p=f[M>>2]|0}}while(0);f[r+(m<<2)>>2]=0;m=r;n=s;c=u;p=v}if(lb[e&127](g,w,m,c)|0){N=83;break c}}else{m=v;p=o}if((k|0)!=100){N=101;break}u=f[M>>2]|0;v=m;q=u;o=p;p=u}if((N|0)==101){N=0;q=f[M>>2]|0}o=q+20|0;k=f[o>>2]|0;if((k|0)<832317811)switch(k|0){case 770837923:{N=103;break}default:k=0}else switch(k|0){case 832317811:{N=103;break}default:k=0}if((N|0)==103){N=0;k=fg(q)|0}n=f[q>>2]|0;gg(n,q);c=f[q+4>>2]|0;m=q+8|0;l=f[m>>2]|0;if(!c)f[n+4>>2]=l;else{f[c+8>>2]=l;l=f[m>>2]|0}if(l|0)f[l+4>>2]=c;f[o>>2]=1443283912;f[q>>2]=0;do if(n){if(f[n+480>>2]|0){Kc(n,q);break}z=q;if((f[n+304>>2]|0)>>>0<=z>>>0?(f[n+308>>2]|0)>>>0>z>>>0:0){z=n+300|0;f[q>>2]=f[z>>2];f[z>>2]=q}else N=115}else N=115;while(0);do if((N|0)==115){N=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{z=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}while(0);f[M>>2]=0;l=f[L>>2]|0;while(1)if(!(b[5472+(h[l>>0]|0)>>0]&1))break;else l=l+1|0;if(p){if(f[Q>>2]|0){Kc(a,p);break}z=p;if((f[R>>2]|0)>>>0<=z>>>0?(f[S>>2]|0)>>>0>z>>>0:0){f[p>>2]=f[P>>2];f[P>>2]=p;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{z=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}}while(0);if(k){N=131;break}}if((N|0)==74)if((b[O>>0]|0)==0?(b[I>>0]|0)==0:0){b[O>>0]=1;if((f[J>>2]|0)>0)f[K>>2]=1;f[B>>2]=(f[B>>2]|0)+1;N=132}else N=132;else if((N|0)==83){o=f[M>>2]|0;p=o+20|0;k=f[p>>2]|0;if((k|0)<832317811)switch(k|0){case 770837923:{N=84;break}default:{}}else switch(k|0){case 832317811:{N=84;break}default:{}}if((N|0)==84)fg(o)|0;n=f[o>>2]|0;gg(n,o);c=f[o+4>>2]|0;m=o+8|0;k=f[m>>2]|0;if(!c)f[n+4>>2]=k;else{f[c+8>>2]=k;k=f[m>>2]|0}if(k|0)f[k+4>>2]=c;f[p>>2]=1443283912;f[o>>2]=0;do if(n){if(f[n+480>>2]|0){Kc(n,o);break}L=o;if((f[n+304>>2]|0)>>>0<=L>>>0?(f[n+308>>2]|0)>>>0>L>>>0:0){L=n+300|0;f[o>>2]=f[L>>2];f[L>>2]=o}else N=96}else N=96;while(0);do if((N|0)==96)if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{L=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}while(0);f[M>>2]=0;f[T>>2]=4;Bg(a,4);k=4}else if((N|0)==131){l=0;p=f[M>>2]|0;N=132}do if((N|0)==132)if(p){q=p+20|0;m=f[q>>2]|0;if((m|0)<832317811)switch(m|0){case 770837923:{N=134;break}default:{}}else switch(m|0){case 832317811:{N=134;break}default:{}}if((N|0)==134)fg(p)|0;c=f[p>>2]|0;gg(c,p);o=f[p+4>>2]|0;n=p+8|0;m=f[n>>2]|0;if(!o)f[c+4>>2]=m;else{f[o+8>>2]=m;m=f[n>>2]|0}if(m|0)f[m+4>>2]=o;f[q>>2]=1443283912;f[p>>2]=0;if(c|0){if(f[c+480>>2]|0){Kc(c,p);break}N=p;if((f[c+304>>2]|0)>>>0<=N>>>0?(f[c+308>>2]|0)>>>0>N>>>0:0){N=c+300|0;f[p>>2]=f[N>>2];f[N>>2]=p;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{N=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}while(0);do if(l|0){if(f[Q>>2]|0){Kc(a,l);break}Q=l;if((f[R>>2]|0)>>>0<=Q>>>0?(f[S>>2]|0)>>>0>Q>>>0:0){f[l>>2]=f[P>>2];f[P>>2]=l;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{S=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);if((k|0)==3082|(b[O>>0]|0)!=0){Di(a);c=7}else c=f[a+68>>2]&k;k=(i|0)!=0;if(!(k&(c|0)!=0)){if(!k){i=c;t=V;return i|0}f[i>>2]=0;i=c;t=V;return i|0}n=Mj(a)|0;do if(n|0?(U=(wz(n)|0)+1|0,S=KA(U|0,0,-1,-1)|0,R=ba()|0,!(R>>>0>0|(R|0)==0&S>>>0>2147483390)):0){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](U)|0;if(!k)break}else{k=ib[f[37372>>2]&255](U)|0;if((f[18194]|0)>>>0>>0)f[18194]=U;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){S=f[18187]|0;R=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;Q=ba()|0;f[17976]=((Q|0)<0|(Q|0)==0&R>>>0<=S>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}YA(k|0,n|0,U|0)|0;f[i>>2]=k;i=c;t=V;return i|0}while(0);f[i>>2]=0;f[T>>2]=7;Bg(a,7);i=7;t=V;return i|0}else{if((k|0)<1266094736)switch(k|0){case -264537850:break;default:break b}else switch(k|0){case 1266094736:break;default:break b}f[m>>2]=43154;Ac(21,43101,m);break a}while(0);f[l>>2]=43146;Ac(21,43101,l)}while(0);f[n>>2]=40433;f[n+4>>2]=117955;f[n+8>>2]=40460;Ac(21,40408,n);i=21;t=V;return i|0}function vj(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+96|0;y=A+64|0;x=A+56|0;w=A+40|0;l=A+24|0;k=A+16|0;j=A;n=A+80|0;r=A+76|0;z=f[a>>2]|0;u=f[a+8>>2]|0;s=f[z+16>>2]|0;q=(f[s+(u<<4)+12>>2]|0)+78|0;d[q>>1]=d[q>>1]&-5;q=z+81|0;if(b[q>>0]|0){f[a+12>>2]=7;a=1;t=A;return a|0}if(!e){a=0;t=A;return a|0}v=f[e+4>>2]|0;if(!v){c=f[e>>2]|0;g=a+4|0;i=f[g>>2]|0;if(f[i>>2]|0){a=0;t=A;return a|0}if(f[a+16>>2]&1|0){f[i>>2]=0;f[a+12>>2]=1;a=0;t=A;return a|0}if(0==0?(f[z+32>>2]&1|0)==0:0){f[k>>2]=(c|0)==0?46041:c;z=Ig(z,46043,k)|0;f[f[g>>2]>>2]=z;f[l>>2]=42469;f[l+4>>2]=122744;f[l+8>>2]=40460;Ac(11,40408,l);f[a+12>>2]=11;a=0;t=A;return a|0}else{f[j>>2]=42469;f[j+4>>2]=122737;f[j+8>>2]=40460;Ac(11,40408,j);f[a+12>>2]=11;a=0;t=A;return a|0}}i=e+8|0;k=f[i>>2]|0;l=(k|0)==0;do if(!l){c=b[k>>0]|0;do if(!(c<<24>>24)){c=46074;o=13}else{j=c&255;c=1232+j|0;if((j|32|0)==99){c=b[k+1>>0]|0;if(!(c<<24>>24)){c=46075;o=13;break}j=c&255;c=1232+j|0;if((j|32|0)==114){c=b[k+2>>0]|0;if(!(c<<24>>24)){c=46076;o=13;break}j=c&255;c=1232+j|0;if((j|32|0)==101){c=b[k+3>>0]|0;if(!(c<<24>>24)){c=46077;o=13;break}j=c&255;c=1232+j|0;if((j|32|0)==97){c=b[k+4>>0]|0;if(!(c<<24>>24)){c=46078;o=13;break}j=c&255;c=1232+j|0;if((j|32|0)==116){c=b[k+5>>0]|0;if(!(c<<24>>24)){c=46079;o=13;break}j=c&255;c=1232+j|0;if((j|32|0)==101){c=b[k+6>>0]|0;if(!(c<<24>>24)){c=46080;o=13;break}if(c<<24>>24==32)break;else{g=32;c=1232+(c&255)|0}}else g=101}else g=116}else g=97}else g=101}else g=114}else g=99;p=h[c>>0]|0;m=g;o=17}while(0);if((o|0)==13){p=0;m=b[1232+(h[c>>0]|0)>>0]|0;o=17}if((o|0)==17?(p|0)!=(m&255|0):0)break;x=z+164|0;w=b[x>>0]|0;b[x>>0]=u;f[n>>2]=0;Pd(v,n)|0;f[z+160>>2]=f[n>>2];y=z+166|0;b[y>>0]=b[y>>0]&-2;Ki(z,f[i>>2]|0,-1,0,0,r,0)|0;c=f[z+64>>2]|0;b[x>>0]=w;a:do if(c|0?(b[y>>0]&1)==0:0){f[a+12>>2]=c;switch(c|0){case 9:break a;case 7:break;default:{if((c&255|0)==6)break a;Tj(a,f[e>>2]|0,Mj(z)|0);break a}}if((b[q>>0]|0)==0?(b[z+82>>0]|0)==0:0){b[q>>0]=1;if((f[z+180>>2]|0)>0)f[z+264>>2]=1;a=z+272|0;f[a>>2]=(f[a>>2]|0)+1}}while(0);Fi(f[r>>2]|0)|0;a=0;t=A;return a|0}while(0);i=f[e>>2]|0;j=(i|0)==0;do if(!j){if(!l?b[k>>0]|0:0)break;c=Qj(z,i,f[s+(u<<4)>>2]|0)|0;if(!c){a=0;t=A;return a|0}if(Pd(v,c+44|0)|0){a=0;t=A;return a|0}Tj(a,f[e>>2]|0,46082);a=0;t=A;return a|0}while(0);c=a+4|0;g=f[c>>2]|0;if(f[g>>2]|0){a=0;t=A;return a|0}if(f[a+16>>2]&1|0){f[g>>2]=0;f[a+12>>2]=1;a=0;t=A;return a|0}if(0==0?(f[z+32>>2]&1|0)==0:0){f[x>>2]=j?46041:i;z=Ig(z,46043,x)|0;f[f[c>>2]>>2]=z;f[y>>2]=42469;f[y+4>>2]=122744;f[y+8>>2]=40460;Ac(11,40408,y);f[a+12>>2]=11;a=0;t=A;return a|0}else{f[w>>2]=42469;f[w+4>>2]=122737;f[w+8>>2]=40460;Ac(11,40408,w);f[a+12>>2]=11;a=0;t=A;return a|0}return 0}function wj(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;m=t;t=t+16|0;k=m;l=m+8|0;j=a+16|0;e=f[j>>2]|0;i=f[e+(c<<4)+12>>2]|0;g=f[i+16>>2]|0;if(g|0)do{n=(f[g+8>>2]|0)+36|0;f[n>>2]=f[n>>2]&-17;g=f[g>>2]|0}while((g|0)!=0);i=i+32|0;g=f[i>>2]|0;if(g){e=g;do{n=(f[e+8>>2]|0)+55|0;g=(h[n>>0]|h[n+1>>0]<<8)&-129;b[n>>0]=g;b[n+1>>0]=g>>8;e=f[e>>2]|0}while((e|0)!=0);e=f[j>>2]|0}f[l>>2]=a;e=f[e+(c<<4)>>2]|0;f[l+4>>2]=e;do if(ji(a,45954,e)|0){f[k>>2]=e;g=Ig(a,45967,k)|0;if(g){e=uj(a,g,84,l,0)|0;if(f[a+480>>2]|0){Kc(a,g);l=e;break}n=g;if((f[a+304>>2]|0)>>>0<=n>>>0?(f[a+308>>2]|0)>>>0>n>>>0:0){l=a+300|0;f[g>>2]=f[l>>2];f[l>>2]=g;l=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);l=e;break}else{l=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);l=e;break}}else l=7}else l=0;while(0);e=f[i>>2]|0;if(e|0)do{c=f[e+8>>2]|0;n=c+55|0;if(!((h[n>>0]|h[n+1>>0]<<8)&128)){k=f[c+8>>2]|0;j=c+50|0;i=d[j>>1]|0;i=(i&65535)<5?i:5;g=d[(f[c+12>>2]|0)+44>>1]|0;d[k>>1]=g;if(f[c+36>>2]|0){g=(g&65535)+65526&65535;d[k>>1]=g}if(g<<16>>16<33)d[k>>1]=33;YA(k+2|0,39644,i<<1&65535|0)|0;n=d[j>>1]|0;g=n&65535;if((i&65535)<(n&65535)){g=i&65535;do{g=g+1|0;d[k+(g<<1)>>1]=23;i=d[j>>1]|0}while(g>>>0<(i&65535)>>>0);g=i&65535}if(b[c+54>>0]|0)d[k+(g<<1)>>1]=0}e=f[e>>2]|0}while((e|0)!=0);if((l|0)!=7){t=m;return l|0}e=a+81|0;if(b[e>>0]|0){t=m;return l|0}if(b[a+82>>0]|0){t=m;return l|0}b[e>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;n=a+272|0;f[n>>2]=(f[n>>2]|0)+1;t=m;return l|0}function xj(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=t;t=t+176|0;P=Q+144|0;J=Q+120|0;I=Q+112|0;H=Q+104|0;G=Q+96|0;F=Q+72|0;E=Q+64|0;D=Q+56|0;C=Q+32|0;L=Q+24|0;K=Q+16|0;B=Q+8|0;A=Q;x=Q+164|0;y=Q+160|0;z=Q+156|0;N=a+20|0;O=f[N>>2]|0;a:do if(!e)i=g;else{r=a+16|0;s=a+12|0;q=a+8|0;u=a+4|0;v=(c|0)==0;w=a+24|0;i=g;while(1){if(!(f[r>>2]|0))break a;if((e+-1|0)>>>0>=(f[s>>2]|0)>>>0){M=5;break}j=(f[q>>2]|0)+(e>>>3)|0;k=h[j>>0]|0;l=1<<(e&7);if(l&k|0){M=7;break}b[j>>0]=l|k;o=i+-1|0;p=f[u>>2]|0;if(lb[f[p+204>>2]&127](p,e,z,0)|0){M=9;break}p=f[(f[z>>2]|0)+4>>2]|0;do if(v){j=f[a>>2]|0;if((i|0)>1&(b[j+17>>0]|0)!=0){k=h[p+1>>0]<<16|h[p>>0]<<24|h[p+2>>0]<<8|h[p+3>>0];i=rh(j,k,x,y)|0;b:do if((i|0)<7){switch(i|0){case 0:break;default:{M=40;break b}}i=b[x>>0]|0;j=f[y>>2]|0;if(!(i<<24>>24==4&(j|0)==(e|0))){f[J>>2]=k;f[J+4>>2]=4;f[J+8>>2]=e;f[J+12>>2]=i&255;f[J+16>>2]=j;yj(a,43929,J)}}else{if((i|0)<3082)switch(i|0){case 7:break;default:{M=40;break b}}else switch(i|0){case 3082:break;default:{M=40;break b}}f[w>>2]=1;M=40}while(0);if((M|0)==40){M=0;f[I>>2]=k;yj(a,43900,I)}i=o}else i=o}else{n=h[p+5>>0]<<16|h[p+4>>0]<<24|h[p+6>>0]<<8|h[p+7>>0];j=f[a>>2]|0;if(b[j+17>>0]|0){j=rh(j,e,x,y)|0;c:do if((j|0)<7){switch(j|0){case 0:break;default:{M=14;break c}}j=b[x>>0]|0;k=f[y>>2]|0;if(!(j<<24>>24==2&(k|0)==0)){f[C>>2]=e;f[C+4>>2]=2;f[C+8>>2]=0;f[C+12>>2]=j&255;f[C+16>>2]=k;yj(a,43929,C)}}else{if((j|0)<3082)switch(j|0){case 7:break;default:{M=14;break c}}else switch(j|0){case 3082:break;default:{M=14;break c}}f[w>>2]=1;M=14}while(0);if((M|0)==14){M=0;f[L>>2]=e;yj(a,43900,L)}j=f[a>>2]|0}if((n|0)>(((f[j+36>>2]|0)/4|0)+-2|0)){f[D>>2]=e;yj(a,45863,D);i=i+-2|0;break}d:do if((n|0)>0){i=0;while(1){m=p+((i<<2)+8)|0;l=h[m+3>>0]|0;m=h[m+1>>0]<<16|h[m>>0]<<24|h[m+2>>0]<<8|l;if(b[j+17>>0]|0){e=rh(j,m,x,y)|0;e:do if((e|0)<7){switch(e|0){case 0:break;default:{M=25;break e}}j=b[x>>0]|0;e=f[y>>2]|0;if(!(j<<24>>24==2&(e|0)==0)){f[F>>2]=m;f[F+4>>2]=2;f[F+8>>2]=0;f[F+12>>2]=j&255;f[F+16>>2]=e;yj(a,43929,F)}}else{if((e|0)<3082)switch(e|0){case 7:break;default:{M=25;break e}}else switch(e|0){case 3082:break;default:{M=25;break e}}f[w>>2]=1;M=25}while(0);if((M|0)==25){M=0;f[E>>2]=m;yj(a,43900,E)}}do if((m+-1|0)>>>0<(f[s>>2]|0)>>>0){j=(f[q>>2]|0)+(m>>>3)|0;k=h[j>>0]|0;e=1<<(l&7);if(!(e&k)){b[j>>0]=e|k;break}else{f[H>>2]=m;yj(a,45482,H);break}}else{f[G>>2]=m;yj(a,45459,G)}while(0);i=i+1|0;if((i|0)==(n|0))break d;j=f[a>>2]|0}}while(0);i=o-n|0}while(0);e=h[p+1>>0]<<16|h[p>>0]<<24|h[p+2>>0]<<8|h[p+3>>0];j=f[z>>2]|0;do if(j|0)if(!(d[j+28>>1]&32)){bh(j);break}else{p=f[j+20>>2]|0;o=p+120|0;f[o>>2]=(f[o>>2]|0)+-1;p=p+136|0;f[j+16>>2]=f[p>>2];f[p>>2]=j;break}while(0);if(!e)break a}if((M|0)==5){f[A>>2]=e;yj(a,45459,A)}else if((M|0)==7){f[B>>2]=e;yj(a,45482,B)}else if((M|0)==9){f[K>>2]=e;yj(a,45841,K);i=o}}while(0);if(!i){t=Q;return}if((O|0)!=(f[N>>2]|0)){t=Q;return}f[P>>2]=(c|0)==0?45902:45923;f[P+4>>2]=g-i;f[P+8>>2]=g;yj(a,45928,P);t=Q;return}function yj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=t;t=t+32|0;i=j+16|0;h=j;e=a+16|0;g=f[e>>2]|0;if(!g){t=j;return}f[e>>2]=g+-1;e=a+20|0;f[e>>2]=(f[e>>2]|0)+1;f[h>>2]=d;e=a+40|0;if(f[a+56>>2]|0)Oj(e,45839,1);g=f[a+28>>2]|0;if(g|0){d=f[a+36>>2]|0;f[i>>2]=f[a+32>>2];f[i+4>>2]=d;qf(e,g,i)}Bc(e,c,h);if((b[a+60>>0]|0)!=7){t=j;return}f[a+24>>2]=1;t=j;return}function zj(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=t;t=t+240|0;ga=na+208|0;ea=na+200|0;V=na+192|0;U=na+168|0;T=na+160|0;S=na+136|0;R=na+128|0;Q=na+120|0;P=na+112|0;O=na+96|0;s=na+72|0;q=na+64|0;p=na+56|0;o=na+48|0;n=na+40|0;k=na+32|0;L=na+224|0;M=na+220|0;X=na+24|0;N=na;ha=X;f[ha>>2]=g;f[ha+4>>2]=i;ha=a+28|0;ia=f[ha>>2]|0;ja=a+32|0;ka=f[ja>>2]|0;la=a+36|0;ma=f[la>>2]|0;u=f[a>>2]|0;fa=f[u+36>>2]|0;if(!c){ma=0;t=na;return ma|0}if((c+-1|0)>>>0>=(f[a+12>>2]|0)>>>0){f[k>>2]=c;yj(a,45459,k);ma=0;t=na;return ma|0}k=(f[a+8>>2]|0)+(c>>>3)|0;l=h[k>>0]|0;m=1<<(c&7);if(m&l|0){f[n>>2]=c;yj(a,45482,n);ma=0;t=na;return ma|0}b[k>>0]=m|l;f[ha>>2]=45507;f[ja>>2]=c;k=f[u>>2]|0;k=lb[f[k+204>>2]&127](k,c,L,0)|0;a:do if(!k){k=f[L>>2]|0;da=f[k+8>>2]|0;l=da+4|0;if((f[l>>2]|0)!=(c|0)){f[da+56>>2]=f[k+4>>2];f[da+72>>2]=k;f[da+52>>2]=u;f[l>>2]=c;b[da+9>>0]=(c|0)==1?100:0}K=b[da>>0]|0;b[da>>0]=0;k=Ph(da)|0;do if(!k){ba=f[da+56>>2]|0;ca=h[da+9>>0]|0;f[ha>>2]=45593;l=ba+(ca+5)|0;l=(h[l>>0]<<8|h[l+1>>0])+65535&65535;I=l+1|0;o=ba+(ca+3)|0;o=h[o>>0]<<8|h[o+1>>0];J=da+8|0;H=b[J>>0]|0;Y=ca+12-((H&255)<<2)|0;r=o+-1|0;p=ba+(Y+(r<<1))|0;if(!(H<<24>>24)){n=ba+(ca+8)|0;n=h[n+1>>0]<<16|h[n>>0]<<24|h[n+2>>0]<<8|h[n+3>>0];if(b[u+17>>0]|0){f[ha>>2]=45619;k=rh(f[a>>2]|0,n,L,M)|0;b:do if((k|0)<7){switch(k|0){case 0:break;default:{W=16;break b}}k=b[L>>0]|0;m=f[M>>2]|0;if(!(k<<24>>24==5&(m|0)==(c|0))){f[s>>2]=n;f[s+4>>2]=5;f[s+8>>2]=c;f[s+12>>2]=k&255;f[s+16>>2]=m;yj(a,43929,s)}}else{if((k|0)<3082)switch(k|0){case 7:break;default:{W=16;break b}}else switch(k|0){case 3082:break;default:{W=16;break b}}f[a+24>>2]=1;W=16}while(0);if((W|0)==16){f[q>>2]=n;yj(a,43900,q)}}k=zj(a,n,X,g,i)|0;n=0;i=0}else{i=f[a+64>>2]|0;f[i>>2]=0;k=-1;n=1}G=a+16|0;H=(o|0)==0;if(!H){z=fa+-4|0;A=da+80|0;B=N+18|0;C=da+2|0;D=N+12|0;E=N+16|0;F=fa+-5|0;x=u+17|0;y=a+24|0;w=r;m=1;v=p;while(1){if(!(f[G>>2]|0))break;f[la>>2]=w;s=h[v>>0]<<8|h[v+1>>0];v=v+-2|0;c:do if(s>>>0<=l>>>0|s>>>0>z>>>0){f[O>>2]=s;f[O+4>>2]=I;f[O+8>>2]=z;yj(a,45647,O);m=0}else{u=ba+s|0;qb[f[A>>2]&255](da,u,N);if((s+(j[B>>1]|0)|0)>>>0>fa>>>0){yj(a,45677,P);m=0;break}if(b[C>>0]|0){g=N;o=f[g>>2]|0;g=f[g+4>>2]|0;q=X;p=f[q>>2]|0;q=f[q+4>>2]|0;if(!n)if((g|0)<(q|0)|(g|0)==(q|0)&o>>>0

>>0)n=g;else W=34;else if((g|0)>(q|0)|(g|0)==(q|0)&o>>>0>p>>>0)W=34;else n=g;if((W|0)==34){W=0;n=Q;f[n>>2]=o;f[n+4>>2]=g;yj(a,45701,Q);n=N;o=f[n>>2]|0;n=f[n+4>>2]|0}g=X;f[g>>2]=o;f[g+4>>2]=n;n=0}o=f[D>>2]|0;p=j[E>>1]|0;if(o>>>0>p>>>0){q=((F+o-p|0)>>>0)/(z>>>0)|0;g=u+((j[B>>1]|0)+-4)|0;g=h[g+1>>0]<<16|h[g>>0]<<24|h[g+2>>0]<<8|h[g+3>>0];if(b[x>>0]|0){o=rh(f[a>>2]|0,g,L,M)|0;d:do if((o|0)<7){switch(o|0){case 0:break;default:{W=40;break d}}o=b[L>>0]|0;p=f[M>>2]|0;if(o<<24>>24==3&(p|0)==(c|0))break;f[S>>2]=g;f[S+4>>2]=3;f[S+8>>2]=c;f[S+12>>2]=o&255;f[S+16>>2]=p;yj(a,43929,S)}else{if((o|0)<3082)switch(o|0){case 7:break;default:{W=40;break d}}else switch(o|0){case 3082:break;default:{W=40;break d}}f[y>>2]=1;W=40}while(0);if((W|0)==40){W=0;f[R>>2]=g;yj(a,43900,R)}}xj(a,0,g,q)}if(b[J>>0]|0){p=s+-1+(j[B>>1]|0)|s<<16;o=(f[i>>2]|0)+1|0;f[i>>2]=o;f[i+(o<<2)>>2]=p;q=o>>>1;if(!q)break;g=i+(q<<2)|0;s=f[g>>2]|0;if(s>>>0<=p>>>0)break;while(1){f[g>>2]=p;f[i+(o<<2)>>2]=s;o=q>>>1;if(!o)break c;p=f[g>>2]|0;g=i+(o<<2)|0;s=f[g>>2]|0;if(s>>>0<=p>>>0)break c;else{u=q;q=o;o=u}}}p=h[u+1>>0]<<16|h[u>>0]<<24|h[u+2>>0]<<8|h[u+3>>0];if(b[x>>0]|0){n=rh(f[a>>2]|0,p,L,M)|0;e:do if((n|0)<7){switch(n|0){case 0:break;default:{W=49;break e}}n=b[L>>0]|0;o=f[M>>2]|0;if(n<<24>>24==5&(o|0)==(c|0))break;f[U>>2]=p;f[U+4>>2]=5;f[U+8>>2]=c;f[U+12>>2]=n&255;f[U+16>>2]=o;yj(a,43929,U)}else{if((n|0)<3082)switch(n|0){case 7:break;default:{W=49;break e}}else switch(n|0){case 3082:break;default:{W=49;break e}}f[y>>2]=1;W=49}while(0);if((W|0)==49){W=0;f[T>>2]=p;yj(a,43900,T)}}n=X;n=zj(a,p,X,f[n>>2]|0,f[n+4>>2]|0)|0;if((n|0)==(k|0)){n=0;break}yj(a,45725,V);k=n;n=0}while(0);if((w|0)<=0)break;else w=w+-1|0}V=X;W=f[V+4>>2]|0;X=e;f[X>>2]=f[V>>2];f[X+4>>2]=W;f[ha>>2]=0;if(!m){b[da>>0]=K;break}}else{V=X;W=f[V+4>>2]|0;X=e;f[X>>2]=f[V>>2];f[X+4>>2]=W;f[ha>>2]=0}f:do if((f[G>>2]|0)>0){if(!(b[J>>0]|0)){i=f[a+64>>2]|0;f[i>>2]=0;if(!H){g=da+76|0;while(1){n=ba+((r<<1)+Y)|0;n=h[n>>0]<<8|h[n+1>>0];n=n+-1+((jb[f[g>>2]&255](da,ba+n|0)|0)&65535)|n<<16;m=(f[i>>2]|0)+1|0;f[i>>2]=m;f[i+(m<<2)>>2]=n;o=m>>>1;g:do if(o|0?(Z=i+(o<<2)|0,_=f[Z>>2]|0,_>>>0>n>>>0):0){p=Z;q=_;while(1){f[p>>2]=n;f[i+(m<<2)>>2]=q;m=o>>>1;if(!m)break g;n=f[p>>2]|0;p=i+(m<<2)|0;q=f[p>>2]|0;if(q>>>0<=n>>>0)break;else{X=o;o=m;m=X}}}while(0);if((r|0)>0)r=r+-1|0;else break}}}m=ba+(ca+1)|0;m=h[m>>0]<<8|h[m+1>>0];if(m|0)do{o=ba+(m+2)|0;o=m+-1+(h[o>>0]<<8|h[o+1>>0])|m<<16;n=(f[i>>2]|0)+1|0;f[i>>2]=n;f[i+(n<<2)>>2]=o;p=n>>>1;h:do if(p|0?($=i+(p<<2)|0,aa=f[$>>2]|0,aa>>>0>o>>>0):0){q=$;r=aa;while(1){f[q>>2]=o;f[i+(n<<2)>>2]=r;n=p>>>1;if(!n)break h;o=f[q>>2]|0;q=i+(n<<2)|0;r=f[q>>2]|0;if(r>>>0<=o>>>0)break;else{_=p;p=n;n=_}}}while(0);_=ba+m|0;m=h[_>>0]<<8|h[_+1>>0]}while((m|0)!=0);n=f[i>>2]|0;i:do if(n){u=i+4|0;m=0;while(1){s=f[u>>2]|0;n=i+(n<<2)|0;f[u>>2]=f[n>>2];f[n>>2]=-1;n=(f[i>>2]|0)+-1|0;f[i>>2]=n;j:do if(n>>>0>=2){g=f[u>>2]|0;r=1;o=2;do{p=o|1;q=r;r=(f[i+(o<<2)>>2]|0)>>>0>(f[i+(p<<2)>>2]|0)>>>0?p:o;o=i+(r<<2)|0;p=f[o>>2]|0;if(g>>>0

>>0)break j;f[i+(q<<2)>>2]=p;f[o>>2]=g;o=r<<1;n=f[i>>2]|0}while(o>>>0<=n>>>0)}while(0);o=l&65535;p=s>>>16;if(p>>>0<=o>>>0)break;m=m+-1-o+p|0;if(!n){l=s;break i}else l=s}f[ea>>2]=p;f[ea+4>>2]=c;yj(a,45750,ea);if(f[i>>2]|0)break f}else m=0;while(0);m=m+-1+fa-(l&65535)|0;l=h[ba+(ca+7)>>0]|0;if((m|0)!=(l|0)){f[ga>>2]=m;f[ga+4>>2]=l;f[ga+8>>2]=c;yj(a,45787,ga)}}while(0);if(!da)break a}else{f[p>>2]=k;yj(a,45555,p);k=-1}while(0);l=f[da+72>>2]|0;if(!(d[l+28>>1]&32)){bh(l);break}else{ga=f[l+20>>2]|0;c=ga+120|0;f[c>>2]=(f[c>>2]|0)+-1;ga=ga+136|0;f[l+16>>2]=f[ga>>2];f[ga>>2]=l;break}}else{f[o>>2]=k;yj(a,45517,o);k=-1}while(0);f[ha>>2]=ia;f[ja>>2]=ka;f[la>>2]=ma;ma=k+1|0;t=na;return ma|0}function Aj(a){a=a|0;var c=0,e=0,g=0,h=0,i=0;h=f[a+32>>2]|0;i=a+8|0;if(!((d[i>>1]&9216)==0?!(f[a+24>>2]|0):0))ff(a);a:do if(f[h+272>>2]|0)if(!(b[h+81>>0]|0))g=14;else{i=7;return i|0}else{do if((j[h+276>>1]|0)>=32){c=h+300|0;e=f[c>>2]|0;if(e|0){f[c>>2]=f[e>>2];c=h+284|0;f[c>>2]=(f[c>>2]|0)+1;break a}c=h+296|0;e=f[c>>2]|0;if(!e){c=h+292|0;break}else{f[c>>2]=f[e>>2];c=h+284|0;f[c>>2]=(f[c>>2]|0)+1;break a}}else c=h+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;g=14}while(0);if((g|0)==14)e=Dc(h,32,0)|0;if(!e){i=7;return i|0}g=e;if((f[h+304>>2]|0)>>>0<=g>>>0?(f[h+308>>2]|0)>>>0>g>>>0:0)c=j[h+276>>1]|0;else c=ib[f[37368>>2]&255](e)|0;f[e>>2]=0;f[e+4>>2]=h;f[e+8>>2]=0;f[e+12>>2]=0;f[e+20>>2]=0;f[e+16>>2]=e+32;d[e+24>>1]=(c+1048544|0)>>>4;d[e+26>>1]=1;f[e+28>>2]=0;f[a+16>>2]=e;d[i>>1]=1040;f[a+36>>2]=104;i=0;return i|0}function Bj(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a>>2]|0;if(!c){a=0;return a|0}if((b|0)<=1){d=c+8|0;f[a>>2]=f[d>>2];f[d>>2]=0;f[c+12>>2]=0;a=c;return a|0}b=b+-1|0;c=Bj(a,b)|0;d=f[a>>2]|0;if(!d){a=c;return a|0}else{f[d+12>>2]=c;c=d+8|0;f[a>>2]=f[c>>2];a=Bj(a,b)|0;f[c>>2]=a;return d|0}return 0}function Cj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=t;t=t+16|0;d=g;e=f[a+12>>2]|0;if(!e)f[b>>2]=a;else{Cj(e,b,d);f[(f[d>>2]|0)+8>>2]=a}d=a+8|0;b=f[d>>2]|0;if(!b){f[c>>2]=a;t=g;return}else{Cj(b,d,c);t=g;return}}function Dj(a){a=a|0;var b=0;b=(f[a>>2]|0)+196|0;f[a+4>>2]=f[b>>2];f[b>>2]=a;return}function Ej(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=a+20|0;k=f[o>>2]|0;if((k|0)<=0){n=0;o=0;d=1;n=(n|0)!=0;n=d&n;o=n?5:o;return o|0}n=a+16|0;m=(d|0)==0;if((c|0)==10){a=f[(f[n>>2]|0)+4>>2]|0;if(a){i=f[a+4>>2]|0;l=f[a>>2]|0;f[i+4>>2]=l;if(!(b[i+20>>0]|0)){i=f[i>>2]|0;j=f[i+216>>2]|0;if(!j)a=0;else{if(m)a=0;else a=f[i+176>>2]|0;a=fi(j,l,d,a,f[i+180>>2]|0,h[i+11>>0]|0,f[i+152>>2]|0,f[i+208>>2]|0,e,g)|0;k=f[o>>2]|0}}else a=6}else a=0;j=(a|0)==5;i=j?0:a;j=j&1;a=(i|0)==0;if(!(a&(k|0)>1)){n=j;o=i;d=a;n=(n|0)!=0;n=d&n;o=n?5:o;return o|0}g=1;do{a=f[(f[n>>2]|0)+(g<<4)+4>>2]|0;if(a){i=f[a+4>>2]|0;e=f[a>>2]|0;f[i+4>>2]=e;if(!(b[i+20>>0]|0)){i=f[i>>2]|0;l=f[i+216>>2]|0;if(!l)a=0;else{if(m)a=0;else a=f[i+176>>2]|0;a=fi(l,e,d,a,f[i+180>>2]|0,h[i+11>>0]|0,f[i+152>>2]|0,f[i+208>>2]|0,0,0)|0;k=f[o>>2]|0}}else a=6}else a=0;c=(a|0)==5;i=c?0:a;j=c?1:j;g=g+1|0;a=(i|0)==0}while(a&(g|0)<(k|0));o=(j|0)!=0;o=a&o;o=o?5:i;return o|0}if(m){m=0;j=0;while(1){if((m|0)==(c|0)){a=f[(f[n>>2]|0)+(c<<4)+4>>2]|0;if(a){i=f[a+4>>2]|0;l=f[a>>2]|0;f[i+4>>2]=l;if(!(b[i+20>>0]|0)){a=f[i>>2]|0;i=f[a+216>>2]|0;if(!i)a=0;else{a=fi(i,l,0,0,f[a+180>>2]|0,h[a+11>>0]|0,f[a+152>>2]|0,f[a+208>>2]|0,e,g)|0;k=f[o>>2]|0}}else a=6}else a=0;i=(a|0)==5;j=i?1:j;i=i?0:a;l=0;e=0}else{i=0;l=g}m=m+1|0;a=(i|0)==0;if(!(a&(m|0)<(k|0)))break;else g=l}o=(j|0)!=0;o=a&o;o=o?5:i;return o|0}else{m=0;j=0;while(1){if((m|0)==(c|0)){a=f[(f[n>>2]|0)+(c<<4)+4>>2]|0;if(a){i=f[a+4>>2]|0;l=f[a>>2]|0;f[i+4>>2]=l;if(!(b[i+20>>0]|0)){a=f[i>>2]|0;i=f[a+216>>2]|0;if(!i)a=0;else{a=fi(i,l,d,f[a+176>>2]|0,f[a+180>>2]|0,h[a+11>>0]|0,f[a+152>>2]|0,f[a+208>>2]|0,e,g)|0;k=f[o>>2]|0}}else a=6}else a=0;i=(a|0)==5;j=i?1:j;i=i?0:a;l=0;e=0}else{i=0;l=g}m=m+1|0;a=(i|0)==0;if(!(a&(m|0)<(k|0)))break;else g=l}o=(j|0)!=0;o=a&o;o=o?5:i;return o|0}return 0}function Fj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;k=a+5|0;d=b[k>>0]|0;if(!(b[a+15>>0]|0))j=3;else switch(c|0){case 2:case 4:{j=3;break}default:{}}do if((j|0)==3?(e=d&255,(e|0)!=(c|0)):0){b[k>>0]=c;if(!((c&1|0)==0&((e&5|0)==1&(b[a+4>>0]|0)==0))){if((c|0)!=2)break;c=f[a+64>>2]|0;d=f[c>>2]|0;if(!d)break;ib[f[d+4>>2]&255](c)|0;f[c>>2]=0;break}c=f[a+64>>2]|0;d=f[c>>2]|0;if(d|0){ib[f[d+4>>2]&255](c)|0;f[c>>2]=0}i=a+17|0;if((h[i>>0]|0)>1){j=f[a>>2]|0;kb[f[j+28>>2]&127](j,f[a+172>>2]|0,0)|0;break}c=a+16|0;e=b[c>>0]|0;g=e<<24>>24==0;if(g){d=Ni(a)|0;c=b[c>>0]|0}else{d=0;c=e}a:do if(c<<24>>24==1){c=b[i>>0]|0;switch(c<<24>>24){case 0:case 1:case 5:break;default:{j=19;break a}}if(!(b[a+13>>0]|0)){d=f[a+60>>2]|0;if(jb[f[(f[d>>2]|0)+28>>2]&255](d,2)|0)break;c=b[i>>0]|0}if(c<<24>>24==5)j=19;else{b[i>>0]=2;j=19}}else if(!d)j=19;while(0);if((j|0)==19?(j=f[a>>2]|0,kb[f[j+28>>2]&127](j,f[a+172>>2]|0,0)|0,e<<24>>24==1):0){c=f[a+60>>2]|0;d=f[c>>2]|0;if(!d)break;if(!(b[a+13>>0]|0))jb[f[d+32>>2]&255](c,1)|0;if((b[i>>0]|0)==5)break;b[i>>0]=1;break}if(g)xh(a)}while(0);return h[k>>0]|0}function Gj(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;g=o;e=Ki(a,e,-1,128,0,g,0)|0;if(e|0){c=e;t=o;return c|0}n=f[g>>2]|0;e=Ei(n)|0;a:do if((e|0)==100){i=n+104|0;k=n+140|0;l=n+40|0;if(!n)while(1){e=Ei(0)|0;if((e|0)!=100)break a}do{e=f[i>>2]|0;if(!((e|0)!=0?(d[k>>1]|0)!=0:0)){e=f[n>>2]|0;f[e+64>>2]=25;Bg(e,25);e=37592}g=d[e+8>>1]|0;if((g&514)==514?(b[e+10>>0]|0)==1:0)h=f[e+16>>2]|0;else if(!(g&1))h=Ic(e,1)|0;else h=0;e=f[n>>2]|0;g=f[l>>2]|0;if((g|0)==3082|(b[e+81>>0]|0)!=0){Di(e);e=7}else e=f[e+68>>2]&g;f[l>>2]=e;do if(h|0){if(Yz(h,45412,3)|0?Yz(h,45416,3)|0:0)break;e=Gj(a,c,h)|0;if(e|0)break a}while(0);e=Ei(n)|0}while((e|0)==100)}while(0);l=(e|0)==101?0:e;if(l|0){k=Mj(a)|0;e=f[c>>2]|0;do if(e|0){if(a|0){if(f[a+480>>2]|0){Kc(a,e);break}i=e;if((f[a+304>>2]|0)>>>0<=i>>>0?(f[a+308>>2]|0)>>>0>i>>>0:0){i=a+300|0;f[e>>2]=f[i>>2];f[i>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);b:do if(!k)e=0;else{i=(wz(k)|0)+1|0;c:do if(!a){a=KA(i|0,0,-1,-1)|0;h=ba()|0;if(h>>>0>0|(h|0)==0&a>>>0>2147483390){e=0;break b}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](i)|0;m=59;break}e=ib[f[37372>>2]&255](i)|0;if((f[18194]|0)>>>0>>0)f[18194]=i;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){a=f[18187]|0;h=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&h>>>0<=a>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e){e=0;break b}g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){e=0;break b}}else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){g=a+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];m=a+284|0;f[m>>2]=(f[m>>2]|0)+1;m=59;break c}g=a+296|0;e=f[g>>2]|0;if(!e){e=a+292|0;break}else{f[g>>2]=f[e>>2];m=a+284|0;f[m>>2]=(f[m>>2]|0)+1;m=59;break c}}else e=a+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(a,i,0)|0;m=59}while(0);if((m|0)==59)if(!e){e=0;break}YA(e|0,k|0,i|0)|0}while(0);f[c>>2]=e}Fi(n)|0;c=l;t=o;return c|0}function Hj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=t;t=t+16|0;g=e;f[g>>2]=d;c=zg(a,c,g)|0;if(!c){g=7;t=e;return g|0}g=Gj(a,b,c)|0;Zh(a,c);t=e;return g|0}function Ij(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=t;t=t+16|0;w=G;E=a+24|0;i=f[E>>2]|0;h=f[i+4>>2]|0;f[h+4>>2]=f[i>>2];F=a+28|0;g=f[F>>2]|0;switch(g|0){case 6:case 0:case 5:break;default:{F=g;t=G;return F|0}}v=f[h>>2]|0;y=a+4|0;x=f[f[(f[y>>2]|0)+4>>2]>>2]|0;if((f[a>>2]|0)!=0?(b[h+20>>0]|0)==2:0){D=0;g=5}else if(!(b[i+8>>0]|0)){D=1;g=Li(i,0,0)|0}else{D=0;g=0}o=a+12|0;if((f[o>>2]|g|0)==0?(u=f[y>>2]|0,j=f[(f[(f[E>>2]|0)+4>>2]|0)+32>>2]|0,p=f[u+4>>2]|0,f[p+4>>2]=f[u>>2],(d[p+22>>1]&2)==0):0){k=p+32|0;l=p+36|0;m=(f[k>>2]|0)-(f[l>>2]|0)|0;if(((j+-512|0)>>>0<65025?(j+-1&j|0)==0:0)?(f[k>>2]=j,q=p+80|0,n=f[q>>2]|0,n|0):0){i=n+-4|0;f[q>>2]=i;h=i;do if((f[18022]|0)>>>0<=h>>>0)if((f[18023]|0)>>>0>h>>>0){f[18188]=(f[18188]|0)+-1;f[i>>2]=f[18025];f[18025]=i;u=(f[18026]|0)+1|0;f[18026]=u;f[18027]=(u|0)<(f[18021]|0)&1;break}else{h=ib[f[37368>>2]&255](i)|0;C=16;break}else{h=ib[f[37368>>2]&255](i)|0;C=16}while(0);do if((C|0)==16){f[18189]=(f[18189]|0)-h;if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{u=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);f[q>>2]=0}u=ih(f[p>>2]|0,k,m)|0;f[l>>2]=(f[k>>2]|0)-(m&65535);if((u|0)==7)g=7;else C=21}else C=21;if((C|0)==21)if(!g)if(!(f[o>>2]|0)){g=Li(f[y>>2]|0,2,a+8|0)|0;if(!g){f[o>>2]=1;g=0}}else g=0;l=f[(f[E>>2]|0)+4>>2]|0;u=f[l+32>>2]|0;n=f[(f[y>>2]|0)+4>>2]|0;s=f[n+32>>2]|0;n=(b[(f[n>>2]|0)+5>>0]|0)==5;g=(u|0)==(s|0)|(g|0)==0&n^1?g:8;l=f[l+44>>2]|0;a:do if(c){j=a+16|0;k=v+204|0;i=0;h=f[j>>2]|0;do{if(!((g|0)==0&h>>>0<=l>>>0))break a;if((h|0)==((1073741824/((f[(f[(f[E>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))g=0;else{g=lb[f[k>>2]&127](v,h,w,2)|0;do if(!g){g=lh(a,h,f[(f[w>>2]|0)+4>>2]|0,0)|0;h=f[w>>2]|0;if(h)if(!(d[h+28>>1]&32)){bh(h);break}else{q=f[h+20>>2]|0;p=q+120|0;f[p>>2]=(f[p>>2]|0)+-1;q=q+136|0;f[h+16>>2]=f[q>>2];f[q>>2]=h;break}}while(0);h=f[j>>2]|0}h=h+1|0;f[j>>2]=h;i=i+1|0}while(i>>>0>>0)}while(0);switch(g|0){case 0:{f[a+36>>2]=l;c=f[a+16>>2]|0;f[a+32>>2]=l+1-c;if(c>>>0<=l>>>0){e=a+40|0;if(!(f[e>>2]|0)){B=(f[f[(f[E>>2]|0)+4>>2]>>2]|0)+88|0;f[a+44>>2]=f[B>>2];f[B>>2]=a;f[e>>2]=1;e=0}else e=0}else C=40;break}case 101:{C=40;break}default:e=g}b:do if((C|0)==40){if(!l){c=f[y>>2]|0;g=f[c+4>>2]|0;f[g+4>>2]=f[c>>2];f[g+44>>2]=0;g=Mg(g)|0;switch(g|0){case 0:case 101:{m=1;break}default:{e=g;break b}}}else m=l;i=f[y>>2]|0;h=(f[a+8>>2]|0)+1|0;j=f[i+4>>2]|0;f[j+4>>2]=f[i>>2];j=f[j+12>>2]|0;i=f[j+56>>2]|0;j=f[j+72>>2]|0;k=f[j+20>>2]|0;if((d[j+28>>1]&4)!=0?(f[k+24>>2]|0)>>>0>=(f[j+24>>2]|0)>>>0:0){if(f[k+96>>2]|0){r=Ng(j)|0;C=50}}else C=46;do if((C|0)==46){g=f[k+40>>2]|0;if(g|0){e=g;break b}if((f[k+148>>2]|0)>>>0>(f[k+152>>2]|0)>>>0){r=Og(j)|0;C=50;break}else{r=Pg(j)|0;C=50;break}}while(0);if((C|0)==50?r|0:0){e=r;break}b[i+40>>0]=h>>>24;b[i+41>>0]=h>>>16;b[i+42>>0]=h>>>8;b[i+43>>0]=h;g=f[a>>2]|0;if(g|0)Vh(g);c:do if(n){i=f[y>>2]|0;g=f[i+4>>2]|0;l=g+22|0;d[l>>1]=d[l>>1]&-33;h=Li(i,0,0)|0;d:do if(!h){h=g+12|0;j=f[(f[h>>2]|0)+56>>2]|0;k=j+18|0;if(!((b[k>>0]|0)==2?(b[j+19>>0]|0)==2:0)){g=Li(i,2,0)|0;if(g|0){e=g;break}g=f[(f[h>>2]|0)+72>>2]|0;h=f[g+20>>2]|0;if((d[g+28>>1]&4)!=0?(f[h+24>>2]|0)>>>0>=(f[g+24>>2]|0)>>>0:0){if(f[h+96>>2]|0){e=Ng(g)|0;C=66}}else C=62;do if((C|0)==62){e=f[h+40>>2]|0;if(e|0)break d;if((f[h+148>>2]|0)>>>0>(f[h+152>>2]|0)>>>0){e=Og(g)|0;C=66;break}else{e=Pg(g)|0;C=66;break}}while(0);if((C|0)==66?e|0:0)break;b[k>>0]=2;b[j+19>>0]=2}d[l>>1]=d[l>>1]&-33;break c}else e=h;while(0);d[l>>1]=d[l>>1]&-33;break b}while(0);if((u|0)<(s|0)){e=(s|0)/(u|0)|0;e=(m+-1+e|0)/(e|0)|0;g=f[(f[(f[y>>2]|0)+4>>2]|0)+32>>2]|0;e=e+(((e|0)==((1073741824/(g>>>0)|0)+1|0))<<31>>31)|0;n=((u|0)<0)<<31>>31;o=QA(m|0,((m|0)<0)<<31>>31|0,u|0,n|0)|0;p=ba()|0;q=x+60|0;m=f[q>>2]|0;j=f[x+24>>2]|0;if(e>>>0<=j>>>0){k=x+204|0;i=e;e=0;h=1073741824;while(1){if((i|0)!=(((h>>>0)/(g>>>0)|0)+1|0)){e=lb[f[k>>2]&127](x,i,w,0)|0;do if(!e){g=f[w>>2]|0;h=f[g+20>>2]|0;do if((d[g+28>>1]&4)!=0?(f[h+24>>2]|0)>>>0>=(f[g+24>>2]|0)>>>0:0){if(!(f[h+96>>2]|0)){e=0;break}e=Ng(g)|0}else C=79;while(0);do if((C|0)==79){C=0;e=f[h+40>>2]|0;if(!e)if((f[h+148>>2]|0)>>>0>(f[h+152>>2]|0)>>>0){e=Og(g)|0;break}else{e=Pg(g)|0;break}}while(0);g=f[w>>2]|0;if(g)if(!(d[g+28>>1]&32)){bh(g);break}else{a=f[g+20>>2]|0;r=a+120|0;f[r>>2]=(f[r>>2]|0)+-1;a=a+136|0;f[g+16>>2]=f[a>>2];f[a>>2]=g;break}}while(0)}g=i+1|0;h=(e|0)==0;if(g>>>0>j>>>0|h^1)break;i=g;h=1073741824;g=f[(f[(f[y>>2]|0)+4>>2]|0)+32>>2]|0}if(h)C=91}else C=91;if((C|0)==91)e=Bh(x,0,1)|0;k=1073741824+s|0;l=((k|0)<0)<<31>>31;h=(p|0)>(l|0)|(p|0)==(l|0)&o>>>0>k>>>0;k=h?k:o;l=h?l:p;h=1073741824+u|0;i=((h|0)<0)<<31>>31;g=(e|0)==0;if(((l|0)>(i|0)|(l|0)==(i|0)&k>>>0>h>>>0)&g){j=v+204|0;do{f[w>>2]=0;e=OA(h|0,i|0,u|0,n|0)|0;ba()|0;e=lb[f[j>>2]&127](v,e+1|0,w,0)|0;if(!e)e=mb[f[(f[m>>2]|0)+12>>2]&127](m,f[(f[w>>2]|0)+4>>2]|0,u,h,i)|0;g=f[w>>2]|0;do if(g|0)if(!(d[g+28>>1]&32)){bh(g);break}else{s=f[g+20>>2]|0;a=s+120|0;f[a>>2]=(f[a>>2]|0)+-1;s=s+136|0;f[g+16>>2]=f[s>>2];f[s>>2]=g;break}while(0);h=KA(h|0,i|0,u|0,n|0)|0;i=ba()|0;g=(e|0)==0}while(((i|0)<(l|0)|(i|0)==(l|0)&h>>>0>>0)&g)}if(!g)break;e=jb[f[(f[m>>2]|0)+24>>2]&255](m,w)|0;v=f[w+4>>2]|0;if((e|0)==0&((v|0)>(p|0)|((v|0)==(p|0)?(f[w>>2]|0)>>>0>o>>>0:0)))e=kb[f[(f[m>>2]|0)+16>>2]&127](m,o,p)|0;if(e|0)break;e=f[q>>2]|0;g=f[e>>2]|0;if(g|0){e=kb[f[g+40>>2]&127](e,21,0)|0;switch(e|0){case 0:case 12:break;default:break b}}if((b[x+7>>0]|0)==0?(A=f[q>>2]|0,B=b[x+10>>0]|0,B<<24>>24):0){z=jb[f[(f[A>>2]|0)+20>>2]&255](A,B&255)|0;C=111}}else{z=U((u|0)/(s|0)|0,m)|0;f[x+24>>2]=z;z=Bh(x,0,0)|0;C=111}if((C|0)==111?z|0:0){e=z;break}e=Hg(f[y>>2]|0,0)|0;e=(e|0)==0?101:e}while(0);if(D|0){Gg(f[E>>2]|0,0)|0;Hg(f[E>>2]|0,0)|0}E=(e|0)==3082?7:e;f[F>>2]=E;F=E;t=G;return F|0}function Jj(a){a=a|0;var b=0,c=0,d=0;if(!a){d=0;return d|0}d=f[a+20>>2]|0;b=f[a+24>>2]|0;c=f[b+4>>2]|0;f[c+4>>2]=f[b>>2];if(f[a>>2]|0){b=b+16|0;f[b>>2]=(f[b>>2]|0)+-1}if(f[a+40>>2]|0){b=(f[c>>2]|0)+88|0;while(1){c=f[b>>2]|0;if((c|0)==(a|0))break;else b=c+44|0}f[b>>2]=f[a+44>>2]}Uh(f[a+4>>2]|0,0,0);c=f[a+28>>2]|0;c=(c|0)==101?0:c;b=f[a>>2]|0;do if(b|0){f[b+64>>2]=c;if(!c){if(f[b+256>>2]|0)Bg(b,0)}else Bg(b,c);Ii(f[a>>2]|0);if(f[a>>2]|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}}while(0);Ii(d);d=c;return d|0}function Kj(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=t;t=t+224|0;E=O+184|0;D=O+176|0;G=O+168|0;F=O+160|0;C=O+152|0;B=O+144|0;x=O+220|0;y=O+216|0;J=O+192|0;z=O+104|0;e=O;f[y>>2]=0;A=f[a>>2]|0;M=f[A+108>>2]|0;L=J+4|0;f[L>>2]=e;f[J>>2]=0;K=J+8|0;f[K>>2]=100;I=J+12|0;f[I>>2]=M;M=J+16|0;f[M>>2]=0;H=J+20|0;b[H>>0]=0;N=J+21|0;b[N>>0]=0;a:do if((f[A+180>>2]|0)>1){a=b[c>>0]|0;if(a<<24>>24)while(1){e=c+1|0;b:do if(a<<24>>24!=10)do{a=b[e>>0]|0;if(!(a<<24>>24))break b;e=e+1|0}while(a<<24>>24!=10);while(0);a=f[M>>2]|0;g=a+3|0;if(g>>>0<(f[K>>2]|0)>>>0){f[M>>2]=g;G=(f[L>>2]|0)+a|0;b[G>>0]=b[45378]|0;b[G+1>>0]=b[45379]|0;b[G+2>>0]=b[45380]|0}else Ec(J,45378,3);a=e-c|0;g=f[M>>2]|0;i=g+a|0;if(i>>>0<(f[K>>2]|0)>>>0){if(a|0){f[M>>2]=i;YA((f[L>>2]|0)+g|0,c|0,a|0)|0}}else Ec(J,c,a);a=b[e>>0]|0;if(!(a<<24>>24))break;else c=e}}else{if(!(d[a+16>>1]|0)){if(!c)break;a=(wz(c)|0)&1073741823;if(a>>>0>=100){Ec(J,c,a);break}if(!a)break;f[M>>2]=a;YA(e|0,c|0,a|0)|0;break}if(b[c>>0]|0){w=a+116|0;m=a+120|0;n=A+78|0;o=z+32|0;q=z+8|0;r=z+12|0;s=z+16|0;u=z+10|0;v=z+24|0;l=1;do{a=0;e=c;while(1){g=Lj(e,x)|0;if((f[x>>2]|0)==144){k=g;break}a=g+a|0;e=e+g|0;if(!(b[e>>0]|0)){k=0;break}}e=f[M>>2]|0;g=e+a|0;if(g>>>0<(f[K>>2]|0)>>>0){if(a|0){f[M>>2]=g;YA((f[L>>2]|0)+e|0,c|0,a|0)|0}}else Ec(J,c,a);c=c+a|0;if(!k)break a;do if((b[c>>0]|0)==63)if((k|0)>1){Pd(c+1|0,y)|0;a=f[y>>2]|0;break}else{f[y>>2]=l;a=l;break}else{g=f[m>>2]|0;c:do if(!g)a=0;else{i=f[g+4>>2]|0;a=2;while(1){e=g+(a+2<<2)|0;if((Yz(e,c,k)|0)==0?(b[e+k>>0]|0)==0:0)break;a=(f[g+(a+1<<2)>>2]|0)+a|0;if((a|0)>=(i|0)){a=0;break c}}a=f[g+(a<<2)>>2]|0}while(0);f[y>>2]=a}while(0);c=c+k|0;l=a+1|0;k=f[w>>2]|0;i=a+-1|0;a=k+(i*40|0)|0;e=j[k+(i*40|0)+8>>1]|0;do if(!(e&1)){if(e&4|0){g=a;i=f[g+4>>2]|0;k=B;f[k>>2]=f[g>>2];f[k+4>>2]=i;qf(J,41988,B);break}if(e&8|0){p[C>>3]=+p[a>>3];qf(J,41673,C);break}if(e&2|0){a=b[n>>0]|0;if(a<<24>>24==1){g=f[k+(i*40|0)+16>>2]|0;f[G>>2]=f[k+(i*40|0)+12>>2];f[G+4>>2]=g;qf(J,45382,G);break}e=z;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[o>>2]=A;$e(z,f[k+(i*40|0)+16>>2]|0,f[k+(i*40|0)+12>>2]|0,a,0)|0;if(!((d[q>>1]&2)==0|(b[u>>0]|0)==1)?(Ri(z,1)|0)==7:0){b[H>>0]=7;f[K>>2]=0}k=f[s>>2]|0;f[F>>2]=f[r>>2];f[F+4>>2]=k;qf(J,45382,F);if((d[q>>1]&9216)==0&(f[v>>2]|0)==0)break;ff(z);break}if(e&16384|0){f[D>>2]=f[a>>2];qf(J,45389,D);break}a=f[M>>2]|0;e=a+2|0;if(e>>>0<(f[K>>2]|0)>>>0){f[M>>2]=e;g=(f[L>>2]|0)+a|0;b[g>>0]=120;b[g+1>>0]=39}else Ec(J,45402,2);g=f[k+(i*40|0)+12>>2]|0;if((g|0)>0){e=k+(i*40|0)+16|0;a=0;do{f[E>>2]=h[(f[e>>2]|0)+a>>0];qf(J,45405,E);a=a+1|0}while((a|0)!=(g|0))}a=f[M>>2]|0;e=a+1|0;if(e>>>0<(f[K>>2]|0)>>>0){f[M>>2]=e;b[(f[L>>2]|0)+a>>0]=39;break}else{Ec(J,45410,1);break}}else{a=f[M>>2]|0;e=a+4|0;if(e>>>0<(f[K>>2]|0)>>>0){f[M>>2]=e;k=(f[L>>2]|0)+a|0;b[k>>0]=78;b[k+1>>0]=85;b[k+2>>0]=76;b[k+3>>0]=76;break}else{Ec(J,40543,4);break}}while(0)}while((b[c>>0]|0)!=0)}}while(0);if(!(b[H>>0]|0)){a=f[L>>2]|0;if((a|0?(b[a+(f[M>>2]|0)>>0]=0,f[I>>2]|0):0)?(b[N>>0]&4)==0:0){N=Cc(J)|0;t=O;return N|0}}else{if(b[N>>0]&4){a=f[J>>2]|0;e=f[L>>2]|0;do if(e|0){if(a|0){if(f[a+480>>2]|0){Kc(a,e);break}J=e;if((f[a+304>>2]|0)>>>0<=J>>>0?(f[a+308>>2]|0)>>>0>J>>>0:0){J=a+300|0;f[e>>2]=f[J>>2];f[J>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{J=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);b[N>>0]=b[N>>0]&-5}f[K>>2]=0;f[M>>2]=0;f[L>>2]=0}N=f[L>>2]|0;t=O;return N|0}function Lj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0;g=b[a>>0]|0;do switch(b[8112+(g&255)>>0]|0){case 7:{d=1;while(1)if(!(b[5472+(h[a+d>>0]|0)>>0]&1))break;else d=d+1|0;f[c>>2]=172;c=d;return c|0}case 11:{if((b[a+1>>0]|0)!=45){f[c>>2]=97;c=1;return c|0}d=2;a:while(1){switch(b[a+d>>0]|0){case 0:case 10:break a;default:{}}d=d+1|0}f[c>>2]=172;c=d;return c|0}case 17:{f[c>>2]=22;c=1;return c|0}case 18:{f[c>>2]=23;c=1;return c|0}case 19:{f[c>>2]=1;c=1;return c|0}case 20:{f[c>>2]=96;c=1;return c|0}case 21:{f[c>>2]=98;c=1;return c|0}case 16:{if((b[a+1>>0]|0)==42?(d=b[a+2>>0]|0,d<<24>>24):0){e=b[a+3>>0]|0;b:do if(d<<24>>24==42&e<<24>>24==47){e=1;d=3}else{d=3;while(1){if(!(e<<24>>24)){e=0;break b}d=d+1|0;k=e;e=b[a+d>>0]|0;if(k<<24>>24==42&e<<24>>24==47){e=1;break}}}while(0);f[c>>2]=172;c=e+d|0;return c|0}f[c>>2]=99;c=1;return c|0}case 22:{f[c>>2]=100;c=1;return c|0}case 14:{f[c>>2]=53;c=(b[a+1>>0]|0)==61?2:1;return c|0}case 12:switch(b[a+1>>0]|0){case 61:{f[c>>2]=55;c=2;return c|0}case 62:{f[c>>2]=52;c=2;return c|0}case 60:{f[c>>2]=94;c=2;return c|0}default:{f[c>>2]=56;c=1;return c|0}}case 13:switch(b[a+1>>0]|0){case 61:{f[c>>2]=57;c=2;return c|0}case 62:{f[c>>2]=95;c=2;return c|0}default:{f[c>>2]=54;c=1;return c|0}}case 15:if((b[a+1>>0]|0)==61){f[c>>2]=52;c=2;return c|0}else{f[c>>2]=173;c=1;return c|0}case 10:if((b[a+1>>0]|0)==124){f[c>>2]=101;c=2;return c|0}else{f[c>>2]=93;c=1;return c|0}case 23:{f[c>>2]=26;c=1;return c|0}case 24:{f[c>>2]=92;c=1;return c|0}case 25:{f[c>>2]=103;c=1;return c|0}case 8:{e=b[a+1>>0]|0;c:do if(e<<24>>24){d=1;while(1){if(e<<24>>24==g<<24>>24){d=d+1|0;if((b[a+d>>0]|0)!=g<<24>>24)break}d=d+1|0;e=b[a+d>>0]|0;if(!(e<<24>>24))break c}if(g<<24>>24==39){f[c>>2]=106;c=d;return c|0}else{f[c>>2]=59;c=d;return c|0}}else d=1;while(0);f[c>>2]=173;c=d;return c|0}case 26:{if(((h[a+1>>0]|0)+-48|0)>>>0>=10){f[c>>2]=130;c=1;return c|0}break}case 3:break;case 9:{d:do if(g<<24>>24==93){d=1;e=59}else{d=1;while(1){e=b[a+d>>0]|0;if(!(e<<24>>24)){e=173;break d}d=d+1|0;if(e<<24>>24==93){e=59;break}}}while(0);f[c>>2]=e;c=d;return c|0}case 6:{f[c>>2]=144;d=1;while(1)if(((h[a+d>>0]|0)+-48|0)>>>0<10)d=d+1|0;else break;return d|0}case 5:case 4:{f[c>>2]=144;e=b[a+1>>0]|0;if(e<<24>>24){i=0;d=1;while(1){if(!(b[5472+(e&255)>>0]&70)){if((i|0)>0&e<<24>>24==40){k=91;break}if(e<<24>>24!=58){e=i;break}e=d+1|0;if((b[a+e>>0]|0)==58){g=i;d=e}else{e=i;break}}else g=i+1|0;d=d+1|0;e=b[a+d>>0]|0;if(!(e<<24>>24)){e=g;break}else i=g}do if((k|0)==91){while(1){g=d+1|0;e=b[a+g>>0]|0;if(!(e<<24>>24))break;if(e<<24>>24!=41?(b[5472+(e&255)>>0]&1)==0:0)d=g;else{k=94;break}}if((k|0)==94?e<<24>>24==41:0){e=i;d=d+2|0;break}f[c>>2]=173;e=i;d=g}while(0);if(e){c=d;return c|0}}else d=1;f[c>>2]=173;c=d;return c|0}case 1:{d=1;while(1){e=b[a+d>>0]|0;g=d+1|0;if((h[8112+(e&255)>>0]|0)<2)d=g;else break}if(!(b[5472+(e&255)>>0]&70)){f[c>>2]=59;if(d>>>0<=1){c=d;return c|0}e=b[8368+(((h[1232+(h[a>>0]|0)>>0]<<2^d^(h[1232+(h[a+(d+-1)>>0]|0)>>0]|0)*3)>>>0)%127|0)>>0]|0;if(!(e<<24>>24)){c=d;return c|0}e=e&255;e:while(1){g=e+-1|0;f:do if((d|0)==(h[8496+g>>0]|0)){i=8912+(j[8640+(g<<1)>>1]|0)|0;e=0;while(1){if((b[a+e>>0]&-33)<<24>>24!=(b[i+e>>0]|0))break f;e=e+1|0;if(e>>>0>=d>>>0)break e}}while(0);e=b[9536+g>>0]|0;if(!(e<<24>>24)){k=127;break}else e=e&255}if((k|0)==127)return d|0;f[c>>2]=h[9680+g>>0];c=d;return c|0}else{d=g;k=114}break}case 0:{if((b[a+1>>0]|0)==39){f[c>>2]=142;d=2;while(1){e=b[a+d>>0]|0;if(!(b[5472+(e&255)>>0]&8))break;else d=d+1|0}if(e<<24>>24==39&(d&1|0)==0){e=d;d=1}else{f[c>>2]=173;g:while(1){g=b[a+d>>0]|0;switch(g<<24>>24){case 39:case 0:break g;default:{}}d=d+1|0}e=d;d=g<<24>>24!=0&1}c=e+d|0;return c|0}else{d=1;k=114}break}case 2:{d=1;k=114;break}case 28:{f[c>>2]=173;c=0;return c|0}default:{f[c>>2]=173;c=1;return c|0}}while(0);if((k|0)==114){while(1)if(!(b[5472+(h[a+d>>0]|0)>>0]&70))break;else d=d+1|0;f[c>>2]=59;c=d;return c|0}f[c>>2]=143;e=b[a>>0]|0;h:do if(e<<24>>24==48){switch(b[a+1>>0]|0){case 88:case 120:break;default:break h}if(b[5472+(h[a+2>>0]|0)>>0]&8){d=3;while(1)if(!(b[5472+(h[a+d>>0]|0)>>0]&8))break;else d=d+1|0;return d|0}}while(0);if(((e&255)+-48|0)>>>0<10){d=1;while(1){e=b[a+d>>0]|0;if(((e&255)+-48|0)>>>0<10)d=d+1|0;else break}}else d=0;if(e<<24>>24==46){e=d;do e=e+1|0;while(((h[a+e>>0]|0)+-48|0)>>>0<10);f[c>>2]=141;d=e;e=b[a+e>>0]|0}i:do switch(e<<24>>24){case 69:case 101:{g=b[a+(d+1)>>0]|0;if(((g&255)+-48|0)>>>0>=10){switch(g<<24>>24){case 45:case 43:break;default:break i}g=d+2|0;if(((h[a+g>>0]|0)+-48|0)>>>0<10)d=g;else break i}else d=d+2|0;e=d;while(1)if(((h[a+e>>0]|0)+-48|0)>>>0<10)e=e+1|0;else break;f[c>>2]=141;d=e;e=b[a+e>>0]|0;break}default:{}}while(0);if(!(b[5472+(e&255)>>0]&70)){c=d;return c|0}do{f[c>>2]=173;d=d+1|0}while((b[5472+(h[a+d>>0]|0)>>0]&70)!=0);return d|0}function Mj(a){a=a|0;var c=0,e=0,g=0,h=0,i=0;i=t;t=t+32|0;g=i+8|0;e=i;a:do if(a){c=f[a+96>>2]|0;b:do if((c|0)>=-264537850)if((c|0)<1266094736)switch(c|0){case -264537850:break b;default:{h=3;break b}}else switch(c|0){case 1266094736:break b;default:{h=3;break b}}else switch(c|0){case -1607883113:break;default:h=3}while(0);if((h|0)==3){f[e>>2]=43146;Ac(21,43101,e);f[g>>2]=40433;f[g+4>>2]=155123;f[g+8>>2]=40460;Ac(21,40408,g);c=45206;break}if(!(b[a+81>>0]|0)){c=f[a+256>>2]|0;do if(c|0){e=d[c+8>>1]|0;if((e&514)==514?(b[c+10>>0]|0)==1:0)c=f[c+16>>2]|0;else{if(e&1)break;c=Ic(c,1)|0}if(c|0)break a}while(0);c=f[a+64>>2]|0;switch(c|0){case 516:{c=44816;break a}case 100:{c=44794;break a}case 101:{c=44771;break a}default:{c=c&255;if(c>>>0>=29){c=44757;break a}if(!(520028155>>>c&1)){c=44757;break a}c=f[7984+(c<<2)>>2]|0;break a}}}else c=44870}else c=44870;while(0);t=i;return c|0}function Nj(a){a=a|0;var b=0,c=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;g=a+4|0;if(b|0)do{c=b;b=f[b>>2]|0;e=f[g>>2]|0;do if(e){if(f[e+480>>2]|0){Kc(e,c);break}i=c;if((f[e+304>>2]|0)>>>0<=i>>>0?(f[e+308>>2]|0)>>>0>i>>>0:0){i=e+300|0;f[c>>2]=f[i>>2];f[i>>2]=c}else h=9}else h=9;while(0);do if((h|0)==9){h=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0)}while((b|0)!=0);f[a>>2]=0;d[a+24>>1]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+20>>2]=0;d[a+26>>1]=1;b=f[g>>2]|0;if(b|0){if(f[b+480>>2]|0){Kc(b,a);return}i=a;if((f[b+304>>2]|0)>>>0<=i>>>0?(f[b+308>>2]|0)>>>0>i>>>0:0){i=b+300|0;f[a>>2]=f[i>>2];f[i>>2]=a;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{i=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+16|0;e=f[d>>2]|0;g=e+c|0;if(g>>>0>=(f[a+8>>2]|0)>>>0){Ec(a,b,c);return}if(!c)return;f[d>>2]=g;YA((f[a+4>>2]|0)+e|0,b|0,c|0)|0;return}function Pj(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0;o=t;t=t+80|0;l=o;if(!e){t=o;return 0}g=f[e>>2]|0;if(!g){t=o;return 0}n=f[e+8>>2]|0;if(!n){t=o;return 0}k=f[a>>2]|0;i=f[a+4>>2]|0;m=ji(k,g,i)|0;if(!m){t=o;return 0}e=f[e+4>>2]|0;a:do if(e|0){a=b[g>>0]|0;c=(h[1232+(a&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0;if(!(a<<24>>24==0|(c|0)!=0)){a=e;do{g=g+1|0;a=a+1|0;p=b[g>>0]|0;c=(h[1232+(p&255)>>0]|0)-(h[1232+(h[a>>0]|0)>>0]|0)|0}while(!(p<<24>>24==0|(c|0)!=0))}if(!c){c=f[m+8>>2]|0;if(!c)break;while(1){a=c+55|0;a=h[a>>0]|h[a+1>>0]<<8;if((a&3)==2)break;c=f[c+20>>2]|0;if(!c)break a}e=c;g=c+55|0;c=a}else{c=Qj(k,e,i)|0;if(!c)break;p=c+55|0;e=c;g=p;c=h[p>>0]|h[p+1>>0]<<8}p=(j[e+50>>1]|0)+1|0;c=c&-5;b[g>>0]=c;b[g+1>>0]=c>>8;c=e+8|0;Rj(n,p,f[c>>2]|0,e);p=h[g>>0]|h[g+1>>0]<<8|128;b[g>>0]=p;b[g+1>>0]=p>>8;if(f[e+36>>2]|0){t=o;return 0}d[m+44>>1]=d[f[c>>2]>>1]|0;p=m+36|0;f[p>>2]=f[p>>2]|16;t=o;return 0}while(0);p=m+46|0;k=l+48|0;d[k>>1]=d[p>>1]|0;Rj(n,1,m+44|0,l);d[p>>1]=d[k>>1]|0;p=m+36|0;f[p>>2]=f[p>>2]|16;t=o;return 0}function Qj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=f[a+20>>2]|0;if((q|0)<=0){r=0;return r|0}o=f[a+16>>2]|0;if(!d){a=0;while(1){e=Sj((f[o+((a^a>>>0<2)<<4)+12>>2]|0)+24|0,c)|0;if(e|0)break;a=a+1|0;if((a|0)>=(q|0)){p=0;r=15;break}}if((r|0)==15)return p|0;r=e;return r|0}m=b[d>>0]|0;l=h[1232+(m&255)>>0]|0;m=m<<24>>24==0;a=0;k=0;while(1){g=k^k>>>0<2;j=f[o+(g<<4)+12>>2]|0;g=f[o+(g<<4)>>2]|0;e=l-(h[1232+(h[g>>0]|0)>>0]|0)|0;if(!(m|(e|0)!=0)){i=d;do{i=i+1|0;g=g+1|0;s=b[i>>0]|0;e=(h[1232+(s&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(e|0)!=0))}if(!e){n=Sj(j+24|0,c)|0;if(!n)a=n;else break}k=k+1|0;if((k|0)>=(q|0)){p=a;r=15;break}}if((r|0)==15)return p|0;s=n;return s|0} -function Iv(a,c,e,g,i,k,l,m,n){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;aa=t;t=t+16|0;T=aa+8|0;U=aa;$=a+36|0;o=(f[$>>2]|0)==0;do if(o)if((l|0)<0){r=(f[c+16>>2]|0)+((f[a+12>>2]|0)!=0&1)|0;break}else{r=f[c+24+(l*12|0)+4>>2]|0;r=(r|0)<(m|0)?r:m;break}else r=0;while(0);p=2;while(1)if((p|0)<(r|0))p=p<<1;else break;m=(p*88|0)+80+(p<<2)|0;do if(o){_=Fd(m)|0;if(!_){if((m|0)<=0)break;f[$>>2]=7;break}_A(_|0,0,m|0)|0;Y=_+48|0;m=_+24|0;V=_+72|0;C=_+80|0;W=_+52|0;f[W>>2]=p;f[V>>2]=C+(p*88|0);f[m>>2]=a;f[Y>>2]=76;f[n>>2]=_;f[_+56>>2]=e>>>1&1;X=_+60|0;b[X>>0]=e>>>4&1;f[_+28>>2]=c;f[_+44>>2]=g;f[c>>2]=(f[c>>2]|0)+1;do if(!(e&32)){if(!(f[$>>2]|0)){m=f[f[m>>2]>>2]|0;o=f[m+48>>2]|0;if((o|0)==1){f[Y>>2]=70;Q=31;break}if(!g){f[Y>>2]=71;Q=31;break}if(!(f[g>>2]|0)){f[Y>>2]=72;Q=31;break}if(!o){f[Y>>2]=73;Q=31;break}p=f[m+12>>2]|0;if((p|0)>=101){f[Y>>2]=75;Q=31;break}f[Y>>2]=74;g=_+32|0;q=_+40|0;m=f[q>>2]|0;if(m>>>0

>>0){o=(m|0)==0?64:m;while(1)if(o>>>0

>>0)o=o<<1;else break;m=f[g>>2]|0;if((Mc()|0)==0?(s=Nc(m,(o|0)>0?o:0,0)|0,s|0):0){f[q>>2]=o;f[g>>2]=s;Q=31;break}f[$>>2]=7}else Q=31}}else Q=31;while(0);if((Q|0)==31?(f[$>>2]|0)==0:0){if((l|0)<0){B=f[c+20>>2]|0;R=c+24+(B*12|0)|0;m=a+12|0;g=f[m>>2]|0;a:do if(g){b:do if((e&8|0)==0&(i|0)!=0){p=_+84|0;f[p>>2]=f[p>>2]|1;p=f[g+12>>2]|0;if((k|0)>0){o=k;m=13;do{P=o;o=o+-1|0;m=m<<3^m^h[i+o>>0]}while((P|0)>1)}else m=13;m=f[(f[g+20>>2]|0)+(((m>>>0)%(p>>>0)|0)<<2)>>2]|0;if(m|0){s=m;while(1){u=s+40|0;if((Hz(u,i,k)|0)==0?(b[u+k>>0]|0)==0:0)break;m=f[s>>2]|0;if(!m)break b;else s=m}l=s+12|0;p=f[l>>2]|0;if(p|0){do if((f[g>>2]|0)==1){m=s+24|0;if(b[m>>0]|0){o=s+16|0;Q=f[o>>2]|0;f[o>>2]=Q+1;b[s+Q>>0]=0;if(!(b[s+25>>0]|0))break;Q=f[o>>2]|0;f[o>>2]=Q+1;b[s+Q>>0]=0}}else{g=s+16|0;o=(f[g>>2]|0)-p+-1|0;m=s+24|0;q=(o<<1)+(h[m>>0]|0)|0;if((q|0)<128){b[s+p>>0]=q;break}Q=q>>>0<16384;r=Q?2:q>>>0<2097152?3:q>>>0<268435456?4:5;ZA(s+(r+p)|0,s+(p+1)|0,o|0)|0;o=s+(f[l>>2]|0)|0;p=((q|0)<0)<<31>>31;if(Q){Q=VA(q|0,p|0,7)|0;ba()|0;b[o>>0]=Q&255|-128;b[o+1>>0]=q&127}else Zv(o,q,p)|0;f[g>>2]=r+-1+(f[g>>2]|0)}while(0);f[l>>2]=0;b[m>>0]=0;b[s+25>>0]=0}x=k;A=-41-k+(f[s+16>>2]|0)|0;y=i;z=u+(k+1)|0;Q=70}}else{v=fw(g,i,k)|0;f[$>>2]=v;m=f[m>>2]|0;v=f[m+16>>2]|0;if(v|0){s=v+40|0;u=wz(s)|0;l=v+12|0;p=f[l>>2]|0;if(p|0){do if((f[m>>2]|0)==1){m=v+24|0;if((b[m>>0]|0)!=0?(w=v+16|0,Q=f[w>>2]|0,f[w>>2]=Q+1,b[v+Q>>0]=0,(b[v+25>>0]|0)!=0):0){Q=f[w>>2]|0;f[w>>2]=Q+1;b[v+Q>>0]=0}}else{g=v+16|0;o=(f[g>>2]|0)-p+-1|0;m=v+24|0;q=(o<<1)+(h[m>>0]|0)|0;if((q|0)<128){b[v+p>>0]=q;break}Q=q>>>0<16384;r=Q?2:q>>>0<2097152?3:q>>>0<268435456?4:5;ZA(v+(r+p)|0,v+(p+1)|0,o|0)|0;o=v+(f[l>>2]|0)|0;p=((q|0)<0)<<31>>31;if(Q){Q=VA(q|0,p|0,7)|0;ba()|0;b[o>>0]=Q&255|-128;b[o+1>>0]=q&127}else Zv(o,q,p)|0;f[g>>2]=r+-1+(f[g>>2]|0)}while(0);f[l>>2]=0;b[m>>0]=0;b[v+25>>0]=0}A=-41-u+(f[v+16>>2]|0)|0;x=wz(s)|0;y=s;z=s+(u+1)|0;Q=70}}while(0);c:do if((Q|0)==70?(D=z,z|0):0){p=_+140|0;q=_+144|0;f[q>>2]=0;if(x|0){g=_+148|0;m=f[g>>2]|0;d:do if(m>>>0>>0){o=(m|0)==0?64:m;while(1)if(o>>>0>>0)o=o<<1;else break;m=f[p>>2]|0;do if(!(Mc()|0)){m=Nc(m,(o|0)>0?o:0,0)|0;if(!m)break;f[g>>2]=o;f[p>>2]=m;o=f[q>>2]|0;break d}while(0);f[$>>2]=7;m=1;break a}else{m=f[p>>2]|0;o=0}while(0);YA(m+o|0,y|0,x|0)|0;f[q>>2]=(f[q>>2]|0)+x}if(f[$>>2]|0){m=1;break a}e:do if(!(Mc()|0)){do if(!(f[9328]|0)){m=ib[f[37356>>2]&255](12)|0;if(!m)break e}else{m=ib[f[37372>>2]&255](12)|0;if((f[18194]|0)>>>0<12)f[18194]=12;p=71896;o=f[p>>2]|0;p=f[p+4>>2]|0;if((p|0)>0|(p|0)==0&o>>>0>0){P=f[18187]|0;O=LA(o|0,p|0,m|0,((m|0)<0)<<31>>31|0)|0;N=ba()|0;f[17976]=((N|0)<0|(N|0)==0&O>>>0<=P>>>0)&1}m=ib[f[37356>>2]&255](m)|0;if(!m)break e;o=ib[f[37368>>2]&255](m)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0<=(f[18196]|0)>>>0)break;f[18196]=o}while(0);f[m>>2]=D;f[m+8>>2]=A;P=m+4|0;f[P>>2]=A;f[_+92>>2]=m;O=(yv(z,_+152|0)|0)&255;f[_+100>>2]=O;f[_+120>>2]=f[P>>2];if(!(e&2)){zv(a,C);break c}else{P=_+84|0;f[P>>2]=f[P>>2]|2;Dv(a,C);break c}}while(0);f[$>>2]=7;m=1;break a}while(0);if(f[_+84>>2]&2|0){f[_+104>>2]=204;m=1;break}m=_+104|0;if((f[(f[a>>2]|0)+48>>2]|0)==1){f[m>>2]=205;m=1;break}else{f[m>>2]=206;m=1;break}}else m=0;while(0);if((B|0)>0){N=(i|0)==0;O=e&8;P=a+60|0;L=(e&2|0)!=0;M=(O|0)==0;K=c+24|0;do{o=f[K+4>>2]|0;if((o|0)>0){J=K+8|0;while(1){H=o;o=o+-1|0;u=f[J>>2]|0;s=u+(o*12|0)|0;I=m+1|0;G=_+80+(m*88|0)|0;do if(N){p=u+(o*12|0)+4|0;if(f[p>>2]|0?(f[$>>2]|0)==0:0){g=G;q=g+88|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(q|0));f[_+80+(m*88|0)+24>>2]=(f[(f[a>>2]|0)+48>>2]|0)==1?205:206;f[G>>2]=s;g=_+80+(m*88|0)+8|0;f[g>>2]=(f[p>>2]|0)+-1;v=_+80+(m*88|0)+12|0;p=f[v>>2]|0;do if(p|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{F=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);r=f[g>>2]|0;l=r+1|0;f[g>>2]=l;p=_+80+(m*88|0)+16|0;q=f[p>>2]|0;f:do if(!q){if((r|0)>=(f[u+(o*12|0)+8>>2]|0)){f[v>>2]=0;break}q=WA(f[s>>2]|0,0,37)|0;q=KA(q|0,ba()|0,l|0,((l|0)<0)<<31>>31|0)|0;q=xv(a,q,ba()|0)|0;do if(q|0){p=f[q+8>>2]|0;g=f[q+4>>2]|0;if((p|0)<=(g|0)){f[v>>2]=q;Q=125;break f}f[$>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{F=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}while(0);f[v>>2]=0}else{f[v>>2]=q;f[p>>2]=0;p=f[q+8>>2]|0;g=f[q+4>>2]|0;Q=125}while(0);do if((Q|0)==125){Q=0;u=_+80+(m*88|0)+36|0;f[u>>2]=p;if((p|0)>=(g|0)){f[_+80+(m*88|0)+40>>2]=g+1;break}g=(f[q>>2]|0)+p|0;q=_+80+(m*88|0)+40|0;r=h[g>>0]|0;do if(r&128){l=h[g+1>>0]|0;if(!(l&128)){f[q>>2]=r<<7&16256|l;g=2;break}s=h[g+2>>0]|0;if(!(s&128)){f[q>>2]=(r<<14|s)&2080895|l<<7&16256;g=3;break}else{g=yv(g,U)|0;f[q>>2]=f[U>>2];g=g&255;p=f[u>>2]|0;break}}else{f[q>>2]=r;g=1}while(0);f[u>>2]=p+g}while(0);if(f[$>>2]|0)break;f[_+80+(m*88|0)+20>>2]=4;f[_+80+(m*88|0)+36>>2]=(f[(f[v>>2]|0)+8>>2]|0)+1;_v(a,G,0);zv(a,G)}}else{g=G;q=g+88|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(q|0));f[G>>2]=s;p=f[P>>2]|0;if(!p){g=f[a>>2]|0;p=f[g+8>>2]|0;f[T>>2]=f[g+4>>2];f[T+4>>2]=p;p=wd(67658,T)|0;g=(p|0)==0;do if(!(f[$>>2]|0))if(g){f[$>>2]=7;break}else{Q=Ki(f[f[a>>2]>>2]|0,p,-1,129,0,P,0)|0;f[$>>2]=Q;Q=143;break}else if(!g)Q=143;while(0);do if((Q|0)==143){Q=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{F=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}while(0);p=f[P>>2]|0}if(!(f[$>>2]|0)){g=f[s>>2]|0;q=((g|0)<0)<<31>>31;do if(!(Op(p,1)|0)){r=f[p+116>>2]|0;l=r+8|0;if(!(d[l>>1]&9216)){F=r;f[F>>2]=g;f[F+4>>2]=q;d[l>>1]=4;break}else{bf(r,g,q);break}}while(0);do if(!(Op(p,2)|0)){g=$e((f[p+116>>2]|0)+40|0,i,k,0,0)|0;if(!g)break;q=f[p>>2]|0;f[q+64>>2]=g;Bg(q,g);q=f[p>>2]|0;if(!((g|0)==3082|(b[q+81>>0]|0)!=0))break;Di(q)}while(0);if((Ei(p)|0)==100){c=Ip(p,0)|0;r=c>>1;c=c&1}else{r=1;c=0}do if(p){g=f[p>>2]|0;F=p+128|0;E=f[F+4>>2]|0;if((E|0)>0|(E|0)==0&(f[F>>2]|0)>>>0>0)Hi(g,p);q=fg(p)|0;f[p+20>>2]=770837923;f[p+36>>2]=-1;f[p+40>>2]=0;b[p+142>>0]=2;f[p+44>>2]=0;f[p+32>>2]=1;b[p+143>>0]=-1;f[p+48>>2]=0;F=p+64|0;f[F>>2]=0;f[F+4>>2]=0;if((q|0)==3082|(b[g+81>>0]|0)!=0){Di(g);g=7;break}else{g=f[g+68>>2]&q;break}}else g=0;while(0);f[$>>2]=g;Op(p,2)|0;E=f[u+(o*12|0)+4>>2]|0;e=(r|0)<(E|0);F=_+80+(m*88|0)+8|0;f[F>>2]=(e?E:r)+-1;r=f[G>>2]|0;E=_+80+(m*88|0)+12|0;p=f[E>>2]|0;do if(p|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{D=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);g=f[F>>2]|0;q=g+1|0;f[F>>2]=q;C=_+80+(m*88|0)+16|0;p=f[C>>2]|0;g:do if(!p){if((g|0)>=(f[r+8>>2]|0)){f[E>>2]=0;break}p=WA(f[r>>2]|0,0,37)|0;p=KA(p|0,ba()|0,q|0,((q|0)<0)<<31>>31|0)|0;p=xv(a,p,ba()|0)|0;do if(p|0){g=f[p+8>>2]|0;q=f[p+4>>2]|0;if((g|0)<=(q|0)){f[E>>2]=p;Q=179;break g}f[$>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{D=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}while(0);f[E>>2]=0}else{f[E>>2]=p;f[C>>2]=0;g=f[p+8>>2]|0;q=f[p+4>>2]|0;Q=179}while(0);h:do if((Q|0)==179){Q=0;D=_+80+(m*88|0)+36|0;f[D>>2]=g;i:do if((g|0)<(q|0)){r=(f[p>>2]|0)+g|0;u=_+80+(m*88|0)+40|0;q=h[r>>0]|0;do if(q&128){l=h[r+1>>0]|0;if(!(l&128)){r=2;q=q<<7&16256|l;break}s=h[r+2>>0]|0;if(s&128){B=yv(r,U)|0;f[u>>2]=f[U>>2];p=f[E>>2]|0;f[D>>2]=(f[D>>2]|0)+(B&255);if(!p)break h;else break i}else{r=3;q=(q<<14|s)&2080895|l<<7&16256;break}}else r=1;while(0);f[u>>2]=q;f[D>>2]=r+g}else f[_+80+(m*88|0)+40>>2]=q+1;while(0);z=f[p>>2]|0;l=f[p+8>>2]|0;y=f[p+4>>2]|0;p=z+l|0;g=h[p>>0]|0;do if(g&128){q=h[p+1>>0]|0;if(!(q&128)){p=2;q=g<<7&16256|q;break}r=h[p+2>>0]|0;if(!(r&128)){p=3;q=(g<<14|r)&2080895|q<<7&16256;break}else{p=yv(p,U)|0;p=p&255;q=f[U>>2]|0;break}}else{p=1;q=g}while(0);if((q|0)>(y|0)){f[$>>2]=267;break}g=p+l|0;r=0;p=0;w=q;x=q;j:while(1){q=z+w|0;l=h[q>>0]|0;if(!(l&128))v=w+1|0;else{s=h[q+1>>0]|0;do if(s&128){u=h[q+2>>0]|0;if(!(u&128)){v=3;q=(l<<14|u)&2080895|s<<7&16256;break}else{v=yv(q,U)|0;v=v&255;q=f[U>>2]|0;break}}else{v=2;q=l<<7&16256|s}while(0);l=q;v=v+w|0}if((p|0)<(r|0)){q=0;Q=231;break}do if((p|0)==(r|0)){r=k-p|0;r=(l|0)<(r|0)?l:r;k:do if((r|0)>0){q=0;do{if((b[z+(q+v)>>0]|0)!=(b[i+(q+p)>>0]|0))break k;q=q+1|0}while((q|0)<(r|0))}else q=0;while(0);r=q+p|0;if((r|0)==(k|0)){Q=213;break j}if((q|0)>=(l|0))break;if((h[z+(q+v)>>0]|0)>(h[i+r>>0]|0)){q=0;Q=231;break j}}while(0);if((g|0)>=(y|0)){q=1;Q=231;break}q=z+g|0;p=h[q>>0]|0;do if(p&128){l=h[q+1>>0]|0;if(!(l&128)){q=2;p=p<<7&16256|l;break}s=h[q+2>>0]|0;if(!(s&128)){q=3;p=(p<<14|s)&2080895|l<<7&16256;break}else{q=yv(q,U)|0;q=q&255;p=f[U>>2]|0;break}}else q=1;while(0);g=q+g|0;u=p+x|0;if((u|0)>=(y|0)){Q=222;break}q=z+u|0;p=h[q>>0]|0;if(!(p&128))q=u+1|0;else{l=h[q+1>>0]|0;do if(l&128){s=h[q+2>>0]|0;if(!(s&128)){q=3;p=(p<<14|s)&2080895|l<<7&16256;break}else{q=yv(q,U)|0;q=q&255;p=f[U>>2]|0;break}}else{q=2;p=p<<7&16256|l}while(0);q=q+u|0}w=q;x=u}if((Q|0)==213){Q=0;if((q|0)==(l|0)){s=y;A=x;q=l}else{q=0;Q=231}}else if((Q|0)==222){Q=0;f[$>>2]=267;break}l:do if((Q|0)==231){Q=0;if(M){p=f[E>>2]|0;do if(p|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{D=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);f[E>>2]=0;break h}if(!q){s=y;A=x;q=l;break}u=_+80+(m*88|0)+40|0;while(1){r=f[G>>2]|0;p=f[E>>2]|0;do if(p|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{B=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);g=f[F>>2]|0;q=g+1|0;f[F>>2]=q;p=f[C>>2]|0;if(!p){if((g|0)>=(f[r+8>>2]|0)){Q=246;break}p=WA(f[r>>2]|0,0,37)|0;p=KA(p|0,ba()|0,q|0,((q|0)<0)<<31>>31|0)|0;p=xv(a,p,ba()|0)|0;if(!p)break;g=f[p+8>>2]|0;q=f[p+4>>2]|0;if((g|0)>(q|0)){Q=249;break}f[E>>2]=p}else{f[E>>2]=p;f[C>>2]=0;g=f[p+8>>2]|0;q=f[p+4>>2]|0}f[D>>2]=g;m:do if((g|0)<(q|0)){r=(f[p>>2]|0)+g|0;q=h[r>>0]|0;do if(q&128){l=h[r+1>>0]|0;if(!(l&128)){r=2;q=q<<7&16256|l;break}s=h[r+2>>0]|0;if(s&128){B=yv(r,U)|0;f[u>>2]=f[U>>2];p=f[E>>2]|0;f[D>>2]=(f[D>>2]|0)+(B&255);if(!p)break h;else break m}else{r=3;q=(q<<14|s)&2080895|l<<7&16256;break}}else r=1;while(0);f[u>>2]=q;f[D>>2]=r+g}else f[u>>2]=q+1;while(0);v=f[p>>2]|0;l=f[p+8>>2]|0;if((l|0)<(f[p+4>>2]|0)){p=v+l|0;g=h[p>>0]|0;do if(g&128){q=h[p+1>>0]|0;if(!(q&128)){p=2;w=g<<7&16256|q;break}r=h[p+2>>0]|0;if(!(r&128)){p=3;w=(g<<14|r)&2080895|q<<7&16256;break}else{p=yv(p,U)|0;p=p&255;w=f[U>>2]|0;break}}else{p=1;w=g}while(0);if((w|0)>=4?(S=f[E>>2]|0,(w|0)<(f[S+8>>2]|0)):0){Q=274;break}f[$>>2]=267}}do if((Q|0)==246){Q=0;f[E>>2]=0;break h}else if((Q|0)==249){Q=0;f[$>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{D=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}else if((Q|0)==274){Q=0;g=p+l|0;s=f[S+4>>2]|0;p=v+w|0;q=h[p>>0]|0;do if(q&128){r=h[p+1>>0]|0;if(!(r&128)){u=2;q=q<<7&16256|r;break}l=h[p+2>>0]|0;if(!(l&128)){u=3;q=(q<<14|l)&2080895|r<<7&16256;break}else{u=yv(p,U)|0;u=u&255;q=f[U>>2]|0;break}}else u=1;while(0);z=v;A=w;p=0;v=u+w|0;break l}while(0);f[E>>2]=0;break h}while(0);x=q+v|0;B=_+80+(m*88|0)+20|0;f[B>>2]=x;f[_+80+(m*88|0)+32>>2]=x;f[_+80+(m*88|0)+28>>2]=f[F>>2];x=_+80+(m*88|0)+60|0;y=_+80+(m*88|0)+64|0;f[y>>2]=0;n:do if(p|0){u=_+80+(m*88|0)+68|0;r=f[u>>2]|0;o:do if(r>>>0

>>0){l=(r|0)==0?64:r;while(1)if(l>>>0

>>0)l=l<<1;else break;r=f[x>>2]|0;do if(!(Mc()|0)){r=Nc(r,(l|0)>0?l:0,0)|0;if(!r)break;f[u>>2]=l;f[x>>2]=r;l=f[y>>2]|0;break o}while(0);f[$>>2]=7;break n}else{r=f[x>>2]|0;l=0}while(0);YA(r+l|0,i|0,p|0)|0;f[y>>2]=(f[y>>2]|0)+p}while(0);w=z+v|0;p:do if(q|0){p=f[y>>2]|0;u=p+q|0;v=_+80+(m*88|0)+68|0;r=f[v>>2]|0;q:do if(u>>>0>r>>>0){l=(r|0)==0?64:r;while(1)if(l>>>0>>0)l=l<<1;else break;p=f[x>>2]|0;do if(!(Mc()|0)){r=Nc(p,(l|0)>0?l:0,0)|0;if(!r)break;f[v>>2]=l;f[x>>2]=r;p=f[y>>2]|0;break q}while(0);f[$>>2]=7;break p}else r=f[x>>2]|0;while(0);YA(r+p|0,w|0,q|0)|0;f[y>>2]=(f[y>>2]|0)+q}while(0);if((g|0)<(s|0)){q=z+g|0;p=h[q>>0]|0;do if(p&128){r=h[q+1>>0]|0;if(!(r&128)){q=2;p=p<<7&16256|r;break}l=h[q+2>>0]|0;if(!(l&128)){q=3;p=(p<<14|l)&2080895|r<<7&16256;break}else{q=yv(q,U)|0;q=q&255;p=f[U>>2]|0;break}}else q=1;while(0);f[_+80+(m*88|0)+40>>2]=p+A;g=q+g|0;p=f[E>>2]|0}else{p=f[E>>2]|0;f[_+80+(m*88|0)+40>>2]=(f[p+4>>2]|0)+1}f[D>>2]=g;g=f[B>>2]|0;r:do if((g|0)<(f[p+8>>2]|0))Q=336;else{r=f[G>>2]|0;do if(p|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{A=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);g=f[F>>2]|0;q=g+1|0;f[F>>2]=q;p=f[C>>2]|0;s:do if(!p){do if((g|0)<(f[r+8>>2]|0)){p=WA(f[r>>2]|0,0,37)|0;p=KA(p|0,ba()|0,q|0,((q|0)<0)<<31>>31|0)|0;p=xv(a,p,ba()|0)|0;if(!p)break;g=f[p+8>>2]|0;q=f[p+4>>2]|0;if((g|0)<=(q|0)){f[E>>2]=p;Q=324;break s}f[$>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{D=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}while(0);f[E>>2]=0}else{f[E>>2]=p;f[C>>2]=0;g=f[p+8>>2]|0;q=f[p+4>>2]|0;Q=324}while(0);t:do if((Q|0)==324){Q=0;f[D>>2]=g;if((g|0)>=(q|0)){f[_+80+(m*88|0)+40>>2]=q+1;g=4;Q=336;break r}r=(f[p>>2]|0)+g|0;u=_+80+(m*88|0)+40|0;q=h[r>>0]|0;do if(q&128){l=h[r+1>>0]|0;if(!(l&128)){r=2;q=q<<7&16256|l;break}s=h[r+2>>0]|0;if(s&128){C=yv(r,U)|0;f[u>>2]=f[U>>2];p=f[E>>2]|0;f[D>>2]=(f[D>>2]|0)+(C&255);if(!p)break t;else{g=4;Q=336;break r}}else{r=3;q=(q<<14|s)&2080895|l<<7&16256;break}}else r=1;while(0);f[u>>2]=q;f[D>>2]=r+g;g=4;Q=336;break r}while(0);if(f[$>>2]|0)break;f[$>>2]=267}while(0);if((Q|0)==336){Q=0;D=g+((yv((f[p>>2]|0)+g|0,_+80+(m*88|0)+72|0)|0)&255)|0;f[B>>2]=D}zv(a,G)}while(0);w=_+80+(m*88|0)+4|0;do if(!(f[$>>2]|O)){p=f[w>>2]|0;g=p|1;f[w>>2]=g;r=f[E>>2]|0;if(!r)break;p=p|3;if(L)f[w>>2]=p;else p=g;do if(!((c|0)==0|e)){q=f[f[G>>2]>>2]|0;p=p&2;g=f[_+80+(m*88|0)+28>>2]|0;if((g|0)==(f[F>>2]|0)?(f[_+80+(m*88|0)+40>>2]|0)<(f[r+8>>2]|0):0)break;c=gw(a,p,q,g)|0;f[_+80+(m*88|0)+56>>2]=c}while(0);if(!L)break;p=f[_+80+(m*88|0)+56>>2]|0;u:do if(!p){g=f[E>>2]|0;l=f[F>>2]|0;if((f[_+80+(m*88|0)+28>>2]|0)==(l|0))p=f[_+80+(m*88|0)+32>>2]|0;else p=4;q=f[g>>2]|0;r=p+8|0;do{c=p;p=p+1|0}while((c|0)<(r|0)&(b[q+c>>0]|0)<0);f[_+80+(m*88|0)+20>>2]=p;if((f[_+80+(m*88|0)+40>>2]|0)<(f[g+8>>2]|0))break;u=f[G>>2]|0;v=u+8|0;if(f[$>>2]|0)break;g=0;p=0;while(1){if((l|0)>=(f[v>>2]|0)){q=g;Q=364;break u}l=l+1|0;q=WA(f[u>>2]|0,0,37)|0;q=KA(q|0,ba()|0,l|0,((l|0)<0)<<31>>31|0)|0;q=xv(a,q,ba()|0)|0;if(q){Q=f[q>>2]|0;r=(f[q+8>>2]|0)<(f[q+4>>2]|0);Q=(h[Q>>0]<<8|h[Q+1>>0]|0)==0;s=Q?q:g;p=Q?p:l;g=Q?g:q;do if(s|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{Q=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}while(0);if(r){q=g;Q=364;break u}}if(f[$>>2]|0){q=g;Q=364;break}}}else{p=f[p+24>>2]|0;q=WA(f[f[G>>2]>>2]|0,0,37)|0;q=KA(q|0,ba()|0,p|0,((p|0)<0)<<31>>31|0)|0;q=xv(a,q,ba()|0)|0;Q=364}while(0);do if((Q|0)==364){Q=0;if(!q)break;g=f[E>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{c=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[E>>2]=q;f[F>>2]=p;g=f[q>>2]|0;p=h[g>>0]<<8|h[g+1>>0];p=p+((yv(g+p|0,_+80+(m*88|0)+72|0)|0)&255)|0;f[_+80+(m*88|0)+20>>2]=p;p=f[q+8>>2]|0;g=f[q+4>>2]|0;if((p|0)>=(g|0)){f[_+80+(m*88|0)+40>>2]=g+1;break}g=(f[q>>2]|0)+p|0;p=h[g>>0]|0;do if(p&128){q=h[g+1>>0]|0;if(!(q&128)){p=p<<7&16256|q;break}r=h[g+2>>0]|0;if(!(r&128)){p=(p<<14|r)&2080895|q<<7&16256;break}else{yv(g,U)|0;p=f[U>>2]|0;break}}while(0);f[_+80+(m*88|0)+40>>2]=p}while(0);Dv(a,G)}while(0);if(f[w>>2]&2|0){f[_+80+(m*88|0)+24>>2]=204;break}m=_+80+(m*88|0)+24|0;if((f[(f[a>>2]|0)+48>>2]|0)==1){f[m>>2]=205;break}else{f[m>>2]=206;break}}}while(0);if((H|0)<=1){m=I;break}else m=I}}K=K+12|0}while(K>>>0>>0)}}else if((r|0)>0){z=c+24+(l*12|0)+8|0;u=r;w=0;do{v=u;u=u+-1|0;r=f[z>>2]|0;l=r+(u*12|0)|0;x=w;w=w+1|0;y=_+80+(x*88|0)|0;m=r+(u*12|0)+4|0;if(f[m>>2]|0?(f[$>>2]|0)==0:0){g=y;q=g+88|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(q|0));f[_+80+(x*88|0)+24>>2]=(f[(f[a>>2]|0)+48>>2]|0)==1?205:206;f[y>>2]=l;o=_+80+(x*88|0)+8|0;f[o>>2]=(f[m>>2]|0)+-1;s=_+80+(x*88|0)+12|0;m=f[s>>2]|0;do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{T=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);g=f[o>>2]|0;q=g+1|0;f[o>>2]=q;m=_+80+(x*88|0)+16|0;p=f[m>>2]|0;v:do if(!p){if((g|0)>=(f[r+(u*12|0)+8>>2]|0)){f[s>>2]=0;break}p=WA(f[l>>2]|0,0,37)|0;p=KA(p|0,ba()|0,q|0,((q|0)<0)<<31>>31|0)|0;p=xv(a,p,ba()|0)|0;do if(p|0){m=f[p+8>>2]|0;o=f[p+4>>2]|0;if((m|0)<=(o|0)){f[s>>2]=p;Q=405;break v}f[$>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{T=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}while(0);f[s>>2]=0}else{f[s>>2]=p;f[m>>2]=0;m=f[p+8>>2]|0;o=f[p+4>>2]|0;Q=405}while(0);do if((Q|0)==405){Q=0;l=_+80+(x*88|0)+36|0;f[l>>2]=m;if((m|0)>=(o|0)){f[_+80+(x*88|0)+40>>2]=o+1;break}o=(f[p>>2]|0)+m|0;p=_+80+(x*88|0)+40|0;g=h[o>>0]|0;do if(g&128){q=h[o+1>>0]|0;if(!(q&128)){f[p>>2]=g<<7&16256|q;o=2;break}r=h[o+2>>0]|0;if(!(r&128)){f[p>>2]=(g<<14|r)&2080895|q<<7&16256;o=3;break}else{o=yv(o,U)|0;f[p>>2]=f[U>>2];o=o&255;m=f[l>>2]|0;break}}else{f[p>>2]=g;o=1}while(0);f[l>>2]=m+o}while(0);if(!(f[$>>2]|0)){f[_+80+(x*88|0)+20>>2]=4;f[_+80+(x*88|0)+36>>2]=(f[(f[s>>2]|0)+8>>2]|0)+1;_v(a,y,0);zv(a,y)}}}while((v|0)>1)}if(!(f[$>>2]|0)){m=f[W>>2]|0;if((m|0)>1)do{g=m;m=m+-1|0;o=Cv(_,m)|0;w:do if((o|0?(f[$>>2]|0)==0:0)?(qb[f[_+80+(o*88|0)+24>>2]&255](a,_+80+(o*88|0)|0,0),Z=((f[W>>2]|0)+o|0)/2|0,(Z|0)>=(m|0)):0){o=Z;do{if(f[$>>2]|0)break w;p=Cv(_,o)|0;if(p){qb[f[_+80+(p*88|0)+24>>2]&255](a,_+80+(p*88|0)|0,0);o=(f[W>>2]|0)+p|0}o=(o|0)/2|0}while((o|0)>=(m|0))}while(0)}while((g|0)>2);m=j[(f[V>>2]|0)+4>>1]|0;o=(f[_+80+(m*88|0)+12>>2]|0)==0;b[_+16>>0]=o&1;V=_+80+(m*88|0)+72|0;W=f[V+4>>2]|0;Z=_+64|0;f[Z>>2]=f[V>>2];f[Z+4>>2]=W;if((b[X>>0]|0)!=0?(f[$>>2]|0)==0:0){if(o){t=aa;return}if(!(f[_+80+(m*88|0)+80>>2]|0)){vv(a,_,0,0,0);t=aa;return}}else Q=435;if((Q|0)==435?o:0){t=aa;return}pb[f[Y>>2]&127](_,_+80+(m*88|0)|0);t=aa;return}}Tv(_);f[n>>2]=0;t=aa;return}while(0);f[n>>2]=0;t=aa;return}function Jv(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=a+36|0;l=g+4|0;a=f[l>>2]|0;i=a+9|0;k=g+8|0;e=f[k>>2]|0;do if(i>>>0>e>>>0){e=(e|0)==0?64:e;while(1)if(e>>>0>>0)e=e<<1;else break;a=f[g>>2]|0;if((Mc()|0)==0?(h=Nc(a,(e|0)>0?e:0,0)|0,h|0):0){f[k>>2]=e;f[g>>2]=h;a=f[l>>2]|0;break}f[j>>2]=7;return}else h=f[g>>2]|0;while(0);a=h+a|0;do if(!(d>>>0<0|(d|0)==0&c>>>0<128))if(d>>>0<0|(d|0)==0&c>>>0<16384){d=VA(c|0,d|0,7)|0;ba()|0;b[a>>0]=d&255|-128;b[a+1>>0]=c&127;a=2;break}else{a=Zv(a,c,d)|0;break}else{b[a>>0]=c&127;a=1}while(0);f[l>>2]=(f[l>>2]|0)+a;return}function Kv(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=f[e+12>>2]|0;l=a+36|0;if(f[l>>2]|0)return;m=g+4|0;a=f[m>>2]|0;j=n+18+a|0;k=g+8|0;i=f[k>>2]|0;do if(j>>>0>i>>>0){i=(i|0)==0?64:i;while(1)if(i>>>0>>0)i=i<<1;else break;a=f[g>>2]|0;if((Mc()|0)==0?(h=Nc(a,(i|0)>0?i:0,0)|0,h|0):0){f[k>>2]=i;f[g>>2]=h;j=g;a=f[m>>2]|0;break}f[l>>2]=7;return}else{j=g;h=f[g>>2]|0}while(0);a=h+a|0;do if(!(d>>>0<0|(d|0)==0&c>>>0<128))if(d>>>0<0|(d|0)==0&c>>>0<16384){d=VA(c|0,d|0,7)|0;ba()|0;b[a>>0]=d&255|-128;b[a+1>>0]=c&127;a=2;break}else{a=Zv(a,c,d)|0;break}else{b[a>>0]=c&127;a=1}while(0);a=(f[m>>2]|0)+a|0;f[m>>2]=a;a=(f[j>>2]|0)+a|0;h=n<<1;i=((h|0)<0)<<31>>31;do if(h>>>0>=128)if(h>>>0<16384){d=VA(h|0,i|0,7)|0;ba()|0;b[a>>0]=d&255|-128;b[a+1>>0]=h&127;a=2;break}else{a=Zv(a,h,i)|0;break}else{b[a>>0]=h&127;a=1}while(0);d=(f[m>>2]|0)+a|0;f[m>>2]=d;YA((f[j>>2]|0)+d|0,f[e+8>>2]|0,n|0)|0;f[m>>2]=(f[m>>2]|0)+n;return}function Lv(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;y=t;t=t+16|0;w=y;h=a+36|0;x=c+4|0;u=d+4|0;a=(f[u>>2]|0)+(f[x>>2]|0)|0;do if(!a){v=0;s=0}else{e=64;while(1)if(e>>>0>>0)e=e<<1;else break;if((Mc()|0)==0?(g=Nc(0,(e|0)>0?e:0,0)|0,g|0):0){v=g;s=e;break}f[h>>2]=7;t=y;return}while(0);if(f[h>>2]|0){t=y;return}if((f[x>>2]|0)>0){e=(yv(f[c>>2]|0,w)|0)&255;g=w;i=f[g>>2]|0;g=f[g+4>>2]|0}else{e=-1;i=0;g=0}if((f[u>>2]|0)>0){a=(yv(f[d>>2]|0,w)|0)&255;h=w;j=f[h>>2]|0;h=f[h+4>>2]|0}else{a=-1;j=0;h=0}if((a&e|0)>-1){o=e;e=0;r=g;p=i;q=j;i=0;g=0;while(1){k=(o|0)>-1;if(k?(a|0)<0|((r|0)<(h|0)|(r|0)==(h|0)&p>>>0>>0):0){j=v+e|0;g=LA(p|0,r|0,i|0,g|0)|0;i=ba()|0;do if(!(i>>>0<0|(i|0)==0&g>>>0<128))if(i>>>0<0|(i|0)==0&g>>>0<16384){n=VA(g|0,i|0,7)|0;ba()|0;b[j>>0]=n&255|-128;b[j+1>>0]=g&127;g=2;break}else{g=Zv(j,g,i)|0;break}else{b[j>>0]=g&127;g=1}while(0);e=g+e|0;if((o|0)<(f[x>>2]|0)){g=o+((yv((f[c>>2]|0)+o|0,w)|0)&255)|0;i=w;i=KA(f[i>>2]|0,f[i+4>>2]|0,p|0,r|0)|0;j=ba()|0;k=q;l=h;m=p;n=r}else{g=-1;i=p;j=r;k=q;l=h;m=p;n=r}}else{j=v+e|0;g=LA(q|0,h|0,i|0,g|0)|0;i=ba()|0;do if(!(i>>>0<0|(i|0)==0&g>>>0<128))if(i>>>0<0|(i|0)==0&g>>>0<16384){n=VA(g|0,i|0,7)|0;ba()|0;b[j>>0]=n&255|-128;b[j+1>>0]=g&127;g=2;break}else{g=Zv(j,g,i)|0;break}else{b[j>>0]=g&127;g=1}while(0);e=g+e|0;if(k&((p|0)==(q|0)&(r|0)==(h|0)))if((o|0)<(f[x>>2]|0)){g=o+((yv((f[c>>2]|0)+o|0,w)|0)&255)|0;i=w;i=KA(f[i>>2]|0,f[i+4>>2]|0,q|0,h|0)|0;j=ba()|0}else{g=-1;i=q;j=h}else{g=o;i=p;j=r}if((a|0)<(f[u>>2]|0)){a=a+((yv((f[d>>2]|0)+a|0,w)|0)&255)|0;k=w;k=KA(f[k>>2]|0,f[k+4>>2]|0,q|0,h|0)|0;l=ba()|0;m=q;n=h}else{a=-1;k=q;l=h;m=q;n=h}}if((a&g|0)>-1){o=g;r=j;h=l;p=i;q=k;i=m;g=n}else{g=c;break}}}else{g=c;e=0}a=f[g>>2]|0;f[g>>2]=v;f[x>>2]=e;f[c+8>>2]=s;if(!a){t=y;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);t=y;return}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);t=y;return}}function Mv(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=t;t=t+48|0;D=O+24|0;E=O+16|0;F=O+8|0;G=O;H=O+36|0;I=O+32|0;m=d+4|0;g=f[m>>2]|0;if(!g){t=O;return}M=a+36|0;N=c+4|0;a=f[N>>2]|0;g=g+9+a|0;do if(!g)L=0;else{a=64;while(1)if(a>>>0>>0)a=a<<1;else break;if((Mc()|0)==0?(i=Nc(0,(a|0)>0?a:0,0)|0,i|0):0){L=i;a=f[N>>2]|0;break}f[M>>2]=7;t=O;return}while(0);g=f[c>>2]|0;C=g+a|0;K=C;if((a|0)>0){k=g+((yv(g,E)|0)&255)|0;n=E;o=f[n>>2]|0;n=f[n+4>>2]|0;a=h[k>>0]|0;if(!(a&128)){a=a>>>1;g=1}else{i=h[k+1>>0]|0;do if(i&128){j=h[k+2>>0]|0;if(!(j&128)){g=3;a=(a<<14|j)&2080895|i<<7&16256;break}else{g=yv(k,D)|0;g=g&255;a=f[D>>2]|0;break}}else{g=2;a=a<<7&16256|i}while(0);a=a>>1}l=k}else{l=0;a=0;g=0;o=0;n=0}i=f[d>>2]|0;A=f[m>>2]|0;B=i+A|0;J=B;if((A|0)>0){q=i+((yv(i,E)|0)&255)|0;d=E;m=f[d>>2]|0;d=f[d+4>>2]|0;j=h[q>>0]|0;if(!(j&128)){j=j>>>1;k=1}else{p=h[q+1>>0]|0;do if(p&128){i=h[q+2>>0]|0;if(!(i&128)){k=3;i=(j<<14|i)&2080895|p<<7&16256;break}else{k=yv(q,D)|0;k=k&255;i=f[D>>2]|0;break}}else{k=2;i=j<<7&16256|p}while(0);j=i>>1}i=q;p=j;s=k}else{i=0;p=0;s=0;m=0;d=0}k=0;j=0;u=a;v=g;y=0;g=0;a=0;a:while(1){q=g;r=a;a=n;g=o;b:while(1){A=p;o=s;x=d;w=m;m=q;d=r;while(1){if((a|0)<(x|0)|(a|0)==(x|0)&g>>>0>>0)break;if((w|0)==(g|0)&(x|0)==(a|0))break b;n=L+j|0;d=LA(w|0,x|0,m|0,d|0)|0;m=ba()|0;do if(!(m>>>0<0|(m|0)==0&d>>>0<128))if(m>>>0<0|(m|0)==0&d>>>0<16384){z=VA(d|0,m|0,7)|0;ba()|0;b[n>>0]=z&255|-128;b[n+1>>0]=d&127;d=2;break}else{d=Zv(n,d,m)|0;break}else{b[n>>0]=d&127;d=1}while(0);z=d+j|0;j=A+o|0;YA(L+z|0,i|0,j|0)|0;j=z+j|0;i=i+o+A|0;if(i>>>0>=B>>>0){p=l;i=0;m=w;d=x;o=g;n=a;g=w;a=x;r=192;break a}i=i+((yv(i,E)|0)&255)|0;m=E;m=KA(f[m>>2]|0,f[m+4>>2]|0,w|0,x|0)|0;d=ba()|0;n=h[i>>0]|0;if(!(n&128)){n=n>>>1;o=1}else{o=h[i+1>>0]|0;do if(o&128){p=h[i+2>>0]|0;if(!(p&128)){q=3;n=(n<<14|p)&2080895|o<<7&16256;break}else{q=yv(i,D)|0;q=q&255;n=f[D>>2]|0;break}}else{q=2;n=n<<7&16256|o}while(0);n=n>>1;o=q}if(!i){p=l;i=0;o=g;n=a;g=w;a=x;r=192;break a}else{s=x;z=w;A=n;x=d;w=m;d=s;m=z}}n=L+j|0;d=LA(g|0,a|0,m|0,d|0)|0;m=ba()|0;do if(!(m>>>0<0|(m|0)==0&d>>>0<128))if(m>>>0<0|(m|0)==0&d>>>0<16384){z=VA(d|0,m|0,7)|0;ba()|0;b[n>>0]=z&255|-128;b[n+1>>0]=d&127;d=2;break}else{d=Zv(n,d,m)|0;break}else{b[n>>0]=d&127;d=1}while(0);z=d+j|0;j=u+v|0;YA(L+z|0,l|0,j|0)|0;j=z+j|0;l=l+v+u|0;if(l>>>0>=C>>>0){n=i;m=w;d=x;r=199;break a}l=l+((yv(l,E)|0)&255)|0;q=E;q=KA(f[q>>2]|0,f[q+4>>2]|0,g|0,a|0)|0;r=ba()|0;d=h[l>>0]|0;if(!(d&128)){d=d>>>1;m=1}else{m=h[l+1>>0]|0;do if(m&128){n=h[l+2>>0]|0;if(!(n&128)){p=3;d=(d<<14|n)&2080895|m<<7&16256;break}else{p=yv(l,D)|0;p=p&255;d=f[D>>2]|0;break}}else{p=2;d=d<<7&16256|m}while(0);d=d>>1;m=p}if(!l){n=i;m=w;d=x;r=199;break a}else{n=a;z=g;u=d;p=A;v=m;s=o;m=w;d=x;a=r;g=q;r=n;q=z}}x=F;f[x>>2]=0;f[x+4>>2]=0;x=G;f[x>>2]=0;f[x+4>>2]=0;f[H>>2]=0;f[I>>2]=0;x=l+v|0;z=i+o|0;n=L+j|0;d=LA(g|0,a|0,m|0,d|0)|0;m=ba()|0;do if(!(m>>>0<0|(m|0)==0&d>>>0<128))if(m>>>0<0|(m|0)==0&d>>>0<16384){w=VA(d|0,m|0,7)|0;ba()|0;b[n>>0]=w&255|-128;b[n+1>>0]=d&127;d=2;break}else{d=Zv(n,d,m)|0;break}else{b[n>>0]=d&127;d=1}while(0);j=d+j|0;d=A+u|0;if(y>>>0>>0){m=(y|0)==0?64:y;while(1)if(m>>>0>>0)m=m<<1;else break;if(Mc()|0){r=74;break}d=Nc(k,(m|0)>0?m:0,0)|0;if(!d){r=74;break}else{k=d;y=m}}if(f[M>>2]|0){o=g;n=a;m=g;d=a;r=190;break}uv(x,u,H,F)|0;uv(z,A,I,G)|0;q=F;o=f[q>>2]|0;q=f[q+4>>2]|0;r=G;p=f[r>>2]|0;r=f[r+4>>2]|0;if((q|0)<(r|0)|(q|0)==(r|0)&o>>>0

>>0){m=q&2147483647;if(0==0&(m|0)==0){n=0;l=0;i=0}else{b[k>>0]=1;i=k+1|0;l=UA(o|0,q|0,32)|0;d=ba()|0;do if(!(d>>>0<0|(d|0)==0&l>>>0<128))if(d>>>0<0|(d|0)==0&l>>>0<16384){w=VA(l|0,d|0,7)|0;ba()|0;b[i>>0]=w&255|-128;b[k+2>>0]=l&127;i=2;break}else{i=Zv(i,l,d)|0;break}else{b[i>>0]=l&127;i=1}while(0);n=i+1|0;l=0;i=m}d=k+n|0;w=KA(o|0,q|0,2,0)|0;i=LA(w|0,ba()|0,l|0,i|0)|0;l=ba()|0;do if(!(l>>>0<0|(l|0)==0&i>>>0<128))if(l>>>0<0|(l|0)==0&i>>>0<16384){w=VA(i|0,l|0,7)|0;ba()|0;b[d>>0]=w&255|-128;b[d+1>>0]=i&127;i=2;break}else{i=Zv(d,i,l)|0;break}else{b[d>>0]=i&127;i=1}while(0);uv(x,u,H,F)|0;i=i+n|0;d=o;l=q}else{m=r&2147483647;if(0==0&(m|0)==0){n=0;l=0;i=0}else{b[k>>0]=1;i=k+1|0;l=UA(p|0,r|0,32)|0;d=ba()|0;do if(!(d>>>0<0|(d|0)==0&l>>>0<128))if(d>>>0<0|(d|0)==0&l>>>0<16384){w=VA(l|0,d|0,7)|0;ba()|0;b[i>>0]=w&255|-128;b[k+2>>0]=l&127;i=2;break}else{i=Zv(i,l,d)|0;break}else{b[i>>0]=l&127;i=1}while(0);n=i+1|0;l=0;i=m}d=k+n|0;w=KA(p|0,r|0,2,0)|0;i=LA(w|0,ba()|0,l|0,i|0)|0;l=ba()|0;do if(!(l>>>0<0|(l|0)==0&i>>>0<128))if(l>>>0<0|(l|0)==0&i>>>0<16384){w=VA(i|0,l|0,7)|0;ba()|0;b[d>>0]=w&255|-128;b[d+1>>0]=i&127;i=2;break}else{i=Zv(d,i,l)|0;break}else{b[d>>0]=i&127;i=1}while(0);uv(z,A,I,G)|0;i=i+n|0;d=p;l=r}m=F;p=f[m>>2]|0;m=f[m+4>>2]|0;n=G;o=f[n>>2]|0;n=f[n+4>>2]|0;w=n|m;c:do if((w|0)>-1|(w|0)==-1&(o|p)>>>0>4294967295){s=m;w=n;r=o;while(1){if((s|0)<(w|0)|(s|0)==(w|0)&p>>>0>>0){if(!((p|0)==(d|0)&(s|0)==(l|0))){n=s&2147483647;if(!(0==0&(n|0)==(l&2147483647|0))){m=i+1|0;b[k+i>>0]=1;i=k+m|0;l=UA(p|0,s|0,32)|0;d=ba()|0;do if(!(d>>>0<0|(d|0)==0&l>>>0<128))if(d>>>0<0|(d|0)==0&l>>>0<16384){w=VA(l|0,d|0,7)|0;ba()|0;b[i>>0]=w&255|-128;b[i+1>>0]=l&127;i=2;break}else{i=Zv(i,l,d)|0;break}else{b[i>>0]=l&127;i=1}while(0);i=i+m|0;d=0;l=n}m=k+i|0;w=KA(p|0,s|0,2,0)|0;l=LA(w|0,ba()|0,d|0,l|0)|0;d=ba()|0;do if(!(d>>>0<0|(d|0)==0&l>>>0<128))if(d>>>0<0|(d|0)==0&l>>>0<16384){w=VA(l|0,d|0,7)|0;ba()|0;b[m>>0]=w&255|-128;b[m+1>>0]=l&127;l=2;break}else{l=Zv(m,l,d)|0;break}else{b[m>>0]=l&127;l=1}while(0);i=l+i|0}uv(x,u,H,F)|0;l=F;d=f[l+4>>2]|0;n=G;m=f[n>>2]|0;n=f[n+4>>2]|0;if((d|0)<0){d=p;l=s;q=m;r=151;break c}else{q=m;o=f[l>>2]|0;m=d;d=p;l=s}}else{n=w&2147483647;if(!(0==0&(n|0)==(l&2147483647|0))){m=i+1|0;b[k+i>>0]=1;i=k+m|0;l=UA(r|0,w|0,32)|0;d=ba()|0;do if(!(d>>>0<0|(d|0)==0&l>>>0<128))if(d>>>0<0|(d|0)==0&l>>>0<16384){s=VA(l|0,d|0,7)|0;ba()|0;b[i>>0]=s&255|-128;b[i+1>>0]=l&127;i=2;break}else{i=Zv(i,l,d)|0;break}else{b[i>>0]=l&127;i=1}while(0);i=i+m|0;d=0;l=n}m=k+i|0;s=KA(r|0,w|0,2,0)|0;l=LA(s|0,ba()|0,d|0,l|0)|0;d=ba()|0;do if(!(d>>>0<0|(d|0)==0&l>>>0<128))if(d>>>0<0|(d|0)==0&l>>>0<16384){s=VA(l|0,d|0,7)|0;ba()|0;b[m>>0]=s&255|-128;b[m+1>>0]=l&127;l=2;break}else{l=Zv(m,l,d)|0;break}else{b[m>>0]=l&127;l=1}while(0);i=l+i|0;uv(z,A,I,G)|0;n=G;l=f[n>>2]|0;n=f[n+4>>2]|0;m=F;p=f[m>>2]|0;m=f[m+4>>2]|0;if((n|0)<0){o=l;q=m;d=r;l=w;r=135;break c}else{q=l;o=p;d=r;l=w}}s=m;w=n;p=o;r=q}}else{q=m;r=135}while(0);if((r|0)==135){r=0;if((q|0)>-1|(q|0)==-1&p>>>0>4294967295){if(!((p|0)==(d|0)&(q|0)==(l|0))){m=q&2147483647;if(!(0==0&(m|0)==(l&2147483647|0))){l=i+1|0;b[k+i>>0]=1;i=k+l|0;do if(!(q>>>0<128|(q|0)==128&p>>>0<0))if(q>>>0<16384|(q|0)==16384&p>>>0<0){w=VA(p|0,q|0,39)|0;ba()|0;b[i>>0]=w&255|-128;b[i+1>>0]=q&127;i=2;break}else{i=Zv(i,q,0)|0;break}else{b[i>>0]=q&127;i=1}while(0);i=i+l|0;d=0;l=m}m=k+i|0;w=KA(p|0,q|0,2,0)|0;l=LA(w|0,ba()|0,d|0,l|0)|0;d=ba()|0;do if(!(d>>>0<0|(d|0)==0&l>>>0<128))if(d>>>0<0|(d|0)==0&l>>>0<16384){w=VA(l|0,d|0,7)|0;ba()|0;b[m>>0]=w&255|-128;b[m+1>>0]=l&127;l=2;break}else{l=Zv(m,l,d)|0;break}else{b[m>>0]=l&127;l=1}while(0);i=l+i|0}l=f[H>>2]|0;YA(k+i|0,x+l|0,u-l|0)|0;i=i+u|0}else{q=o;r=151}}if((r|0)==151){p=n&2147483647;if(0==0&(p|0)==(l&2147483647|0))o=i;else{m=i+1|0;b[k+i>>0]=1;i=k+m|0;l=UA(q|0,n|0,32)|0;d=ba()|0;do if(!(d>>>0<0|(d|0)==0&l>>>0<128))if(d>>>0<0|(d|0)==0&l>>>0<16384){w=VA(l|0,d|0,7)|0;ba()|0;b[i>>0]=w&255|-128;b[i+1>>0]=l&127;i=2;break}else{i=Zv(i,l,d)|0;break}else{b[i>>0]=l&127;i=1}while(0);o=i+m|0;d=0;l=p}m=k+o|0;i=KA(q|0,n|0,2,0)|0;i=LA(i|0,ba()|0,d|0,l|0)|0;l=ba()|0;do if(!(l>>>0<0|(l|0)==0&i>>>0<128))if(l>>>0<0|(l|0)==0&i>>>0<16384){w=VA(i|0,l|0,7)|0;ba()|0;b[m>>0]=w&255|-128;b[m+1>>0]=i&127;i=2;break}else{i=Zv(m,i,l)|0;break}else{b[m>>0]=i&127;i=1}while(0);i=i+o|0;l=f[I>>2]|0;YA(k+i|0,z+l|0,A-l|0)|0;i=i+A|0}m=i-l|0;i=L+j|0;l=m<<1;d=((l|0)<0)<<31>>31;do if(l>>>0>=128)if(l>>>0<16384){w=VA(l|0,d|0,7)|0;ba()|0;b[i>>0]=w&255|-128;b[i+1>>0]=l&127;i=2;break}else{i=Zv(i,l,d)|0;break}else{b[i>>0]=l&127;i=1}while(0);j=i+j|0;YA(L+j|0,k|0,m|0)|0;j=j+m|0;i=x+u|0;if(i>>>0>>0){l=i+((yv(i,E)|0)&255)|0;o=E;o=KA(f[o>>2]|0,f[o+4>>2]|0,g|0,a|0)|0;n=ba()|0;i=h[l>>0]|0;if(!(i&128)){i=i>>>1;d=1}else{m=h[l+1>>0]|0;do if(m&128){p=h[l+2>>0]|0;if(!(p&128)){d=3;i=(i<<14|p)&2080895|m<<7&16256;break}else{d=yv(l,D)|0;d=d&255;i=f[D>>2]|0;break}}else{d=2;i=i<<7&16256|m}while(0);i=i>>1}u=i;v=d}else{l=0;o=g;n=a}i=z+A|0;if(i>>>0>=B>>>0){i=0;m=g;d=a;r=190;break}i=i+((yv(i,E)|0)&255)|0;m=E;m=KA(f[m>>2]|0,f[m+4>>2]|0,g|0,a|0)|0;d=ba()|0;p=h[i>>0]|0;if(!(p&128)){p=p>>>1;s=1}else{q=h[i+1>>0]|0;do if(q&128){r=h[i+2>>0]|0;if(!(r&128)){s=3;p=(p<<14|r)&2080895|q<<7&16256;break}else{s=yv(i,D)|0;s=s&255;p=f[D>>2]|0;break}}else{s=2;p=p<<7&16256|q}while(0);p=p>>1}if((l|0)==0|(i|0)==0){r=189;break}}if((r|0)==74){f[M>>2]=7;o=g;n=a;m=g;d=a;r=190}else if((r|0)==189)r=190;if((r|0)==190){p=l;r=192}if((r|0)==192){l=p;if(!p){n=i;r=199}else{i=L+j|0;a=LA(o|0,n|0,g|0,a|0)|0;g=ba()|0;do if(!(g>>>0<0|(g|0)==0&a>>>0<128))if(g>>>0<0|(g|0)==0&a>>>0<16384){J=VA(a|0,g|0,7)|0;ba()|0;b[i>>0]=J&255|-128;b[i+1>>0]=a&127;a=2;break}else{a=Zv(i,a,g)|0;break}else{b[i>>0]=a&127;a=1}while(0);J=a+j|0;j=K-p|0;YA(L+J|0,l|0,j|0)|0;j=J+j|0}}if((r|0)==199){l=n;if(n){i=L+j|0;a=LA(m|0,d|0,g|0,a|0)|0;g=ba()|0;do if(!(g>>>0<0|(g|0)==0&a>>>0<128))if(g>>>0<0|(g|0)==0&a>>>0<16384){K=VA(a|0,g|0,7)|0;ba()|0;b[i>>0]=K&255|-128;b[i+1>>0]=a&127;a=2;break}else{a=Zv(i,a,g)|0;break}else{b[i>>0]=a&127;a=1}while(0);K=a+j|0;j=J-n|0;YA(L+K|0,l|0,j|0)|0;j=K+j|0}}f[N>>2]=0;d:do if(j|0){i=c+8|0;a=f[i>>2]|0;do if(a>>>0>>0){a=(a|0)==0?64:a;while(1)if(a>>>0>>0)a=a<<1;else break;g=f[c>>2]|0;if((Mc()|0)==0?(e=Nc(g,(a|0)>0?a:0,0)|0,e|0):0){f[i>>2]=a;f[c>>2]=e;a=f[N>>2]|0;break}f[M>>2]=7;break d}else{e=f[c>>2]|0;a=0}while(0);YA(e+a|0,L|0,j|0)|0;f[N>>2]=(f[N>>2]|0)+j}while(0);do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{N=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);if(!L){t=O;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](L);t=O;return}else{N=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);t=O;return}}function Nv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=b+72|0;d=f[e+4>>2]|0;c=a;f[c>>2]=f[e>>2];f[c+4>>2]=d;f[a+12>>2]=f[b+80>>2];return}function Ov(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=b+72|0;c=f[d+4>>2]|0;e=a;f[e>>2]=f[d>>2];f[e+4>>2]=c;e=f[b+80>>2]|0;f[a+12>>2]=e;c=f[b+20>>2]|0;d=f[b+12>>2]|0;if((c+e|0)>(f[d+8>>2]|0)){e=a+32|0;f[a+36>>2]=0;$v(f[a+24>>2]|0,b,0,e);f[a+8>>2]=f[e>>2];return}else{f[a+8>>2]=(f[d>>2]|0)+c;return}}function Pv(a,b){a=a|0;b=b|0;f[a+12>>2]=0;return}function Qv(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=t;t=t+16|0;A=C;z=f[a+44>>2]|0;e=c+72|0;g=f[e+4>>2]|0;d=a;f[d>>2]=f[e>>2];f[d+4>>2]=g;d=f[c+20>>2]|0;g=f[c+80>>2]|0;e=f[c+12>>2]|0;if((g+d|0)>(f[e+8>>2]|0)){A=a+32|0;B=a+36|0;f[B>>2]=0;$v(f[a+24>>2]|0,c,z,A);f[a+8>>2]=f[A>>2];f[a+12>>2]=f[B>>2];t=C;return}c=(f[e>>2]|0)+d|0;e=c;d=f[z>>2]|0;if((d|0)==1){k=f[z+4>>2]|0;l=c+g|0;a:do if((k|0)>0){j=e;do{d=b[c>>0]|0;if(d<<24>>24==1)i=c;else while(1){c=c+1|0;if(d<<24>>24<0)while(1){d=c+1|0;if((b[c>>0]|0)<0)c=d;else{c=d;break}}if(c>>>0>=l>>>0){d=0;c=j;break a}d=b[c>>0]|0;if(d<<24>>24==1){i=c;break}}g=i+1|0;j=i;c=i+2|0;d=h[g>>0]|0;if(d&128){c=h[c>>0]|0;do if(c&128){e=h[i+3>>0]|0;if(!(e&128)){d=(d<<14|e)&2080895|c<<7&16256;c=3;break}else{c=yv(g,A)|0;d=f[A>>2]|0;c=c&255;break}}else{d=d<<7&16256|c;c=2}while(0);c=g+c|0}}while((d|0)<(k|0));e=i;B=21}else{d=0;B=21}while(0);if((B|0)==21)if((d|0)==(k|0)){b:do if(c>>>0>>0)do{d=b[c>>0]|0;if(d<<24>>24==1)break b;c=c+1|0;if(d<<24>>24<0)while(1){d=c+1|0;if((b[c>>0]|0)<0)c=d;else{c=d;break}}}while(c>>>0>>0);while(0);d=c-e|0;c=e}else{d=0;c=e}f[a+12>>2]=d;f[a+8>>2]=c;t=C;return}r=(f[a+24>>2]|0)+36|0;s=a+32|0;q=a+36|0;f[q>>2]=0;if((f[r>>2]|0)==0?(f[q>>2]=0,(d|0)>0):0){o=c+g|0;p=a+40|0;n=0;do{m=f[z+4+(n<<2)>>2]|0;c:do if((m|0)>0){d=c;while(1){g=b[d>>0]|0;if(g<<24>>24!=1)do{d=d+1|0;if(g<<24>>24<0)while(1){g=d+1|0;if((b[d>>0]|0)<0)d=g;else{d=g;break}}if(d>>>0>=o>>>0)break c;g=b[d>>0]|0}while(g<<24>>24!=1);l=d+1|0;i=d+2|0;g=h[l>>0]|0;if(g&128){i=h[i>>0]|0;do if(i&128){j=h[d+3>>0]|0;if(!(j&128)){k=3;g=(g<<14|j)&2080895|i<<7&16256;break}else{k=yv(l,A)|0;k=k&255;g=f[A>>2]|0;break}}else{k=2;g=g<<7&16256|i}while(0);i=l+k|0}if((g|0)<(m|0))d=i;else break}u=i;v=g;w=d;x=d;B=52}else{u=c;v=0;w=e;x=c;B=52}while(0);d:do if((B|0)==52?(B=0,(v|0)==(m|0)):0){e:do if(u>>>0>>0){d=u;do{g=b[d>>0]|0;if(g<<24>>24==1)break e;d=d+1|0;if(g<<24>>24<0)while(1){g=d+1|0;if((b[d>>0]|0)<0)d=g;else{d=g;break}}}while(d>>>0>>0)}else d=u;while(0);j=d-w|0;if(j|0){d=f[q>>2]|0;i=d+j|0;g=f[p>>2]|0;do if(i>>>0>g>>>0){g=(g|0)==0?64:g;while(1)if(g>>>0>>0)g=g<<1;else break;d=f[s>>2]|0;if((Mc()|0)==0?(y=Nc(d,(g|0)>0?g:0,0)|0,y|0):0){f[p>>2]=g;f[s>>2]=y;g=y;d=f[q>>2]|0;break}f[r>>2]=7;break d}else g=f[s>>2]|0;while(0);YA(g+d|0,x|0,j|0)|0;f[q>>2]=(f[q>>2]|0)+j}}while(0);n=n+1|0}while((n|0)<(f[z>>2]|0));c=f[q>>2]|0}else c=0;f[a+8>>2]=f[s>>2];f[a+12>>2]=c;t=C;return}function Rv(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[c+20>>2]|0;i=f[c+80>>2]|0;e=f[c+12>>2]|0;if((i+d|0)>(f[e+8>>2]|0)){l=a+32|0;m=a+36|0;f[m>>2]=0;$v(f[a+24>>2]|0,c,f[a+44>>2]|0,l);i=c+72|0;j=f[i+4>>2]|0;k=a;f[k>>2]=f[i>>2];f[k+4>>2]=j;f[a+8>>2]=f[l>>2];m=f[m>>2]|0;a=a+12|0;f[a>>2]=m;return}e=(f[e>>2]|0)+d|0;k=e+i|0;g=f[a+44>>2]|0;l=g+4+(f[g>>2]<<2)|0;m=a+32|0;d=f[m>>2]|0;n=c+72|0;c=f[n+4>>2]|0;j=a;f[j>>2]=f[n>>2];f[j+4>>2]=c;a:do if((i|0)>0){j=e;e=g+4|0;i=0;g=0;while(1){c=j;j=j+1|0;i=i+-2+(h[c>>0]|0)|0;c=f[e>>2]|0;if((c|0)<(i|0))do{e=e+4|0;if((e|0)==(l|0))break a;c=f[e>>2]|0}while((c|0)<(i|0));if((c|0)==(i|0)){b[d>>0]=2-g+i;c=i;d=d+1|0}else c=g;if(j>>>0>=k>>>0)break;else g=c}}while(0);m=f[m>>2]|0;f[a+8>>2]=m;m=d-m|0;n=a+12|0;f[n>>2]=m;return}function Sv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;d=a+32|0;c=a+36|0;f[c>>2]=0;$v(f[a+24>>2]|0,b,f[a+44>>2]|0,d);g=b+72|0;e=f[g+4>>2]|0;b=a;f[b>>2]=f[g>>2];f[b+4>>2]=e;f[a+8>>2]=f[d>>2];f[a+12>>2]=f[c>>2];return}function Tv(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;if(!a)return;h=a+52|0;if((f[h>>2]|0)>0){g=0;do{e=a+80+(g*88|0)|0;b=a+80+(g*88|0)+60|0;c=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[a+80+(g*88|0)+12>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{d=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+80+(g*88|0)+16>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{d=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);c=f[a+80+(g*88|0)+56>>2]|0;do if(c|0){if((f[c>>2]|0)>0){b=0;do{d=f[c+8+(b<<5)>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);b=b+1|0}while((b|0)<(f[c>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);b=f[a+80+(g*88|0)+52>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{i=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=e;c=b+88|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));g=g+1|0}while((g|0)<(f[h>>2]|0))}d=f[a+28>>2]|0;do if(d|0?(i=f[d>>2]|0,f[d>>2]=i+-1,(i|0)<2):0){e=d+20|0;if((f[e>>2]|0)>0){b=0;do{c=f[d+24+(b*12|0)+8>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);b=b+1|0}while((b|0)<(f[e>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);b=a+32|0;c=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{i=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Uv(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=a+36|0;do if(!(f[h>>2]|0)){k=Fd(264)|0;if(!k){f[h>>2]=7;break}_A(k|0,0,264)|0;h=k+72|0;f[k+52>>2]=2;f[h>>2]=k+256;f[k+24>>2]=a;f[k+48>>2]=76;i=k+168|0;j=k+172|0;f[j>>2]=1;do if((f[c+8>>2]|0)>0){f[k+180>>2]=c;l=(yv(f[c>>2]|0,k+240|0)|0)&255;f[k+188>>2]=l;f[k+208>>2]=f[c+4>>2];d[(f[h>>2]|0)+4>>1]=1;if(!e){zv(a,i);c=0;break}else{f[k+56>>2]=1;f[j>>2]=f[j>>2]|2;Dv(a,i);c=0;break}}else b[k+16>>0]=1;while(0);do if(!(f[j>>2]&2)){h=k+192|0;if((f[(f[a>>2]|0)+48>>2]|0)==1){f[h>>2]=205;break}else{f[h>>2]=206;break}}else f[k+192>>2]=204;while(0);f[g>>2]=k}while(0);if(!c)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{l=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}function Vv(a,b){a=a|0;b=b|0;return}function Wv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=t;t=t+16|0;e=h;c=b+44|0;d=f[c>>2]|0;if((d|0)<=0){Bv(a,b);t=h;return}g=f[f[b+12>>2]>>2]|0;d=d+-1|0;f[c>>2]=d;c=b+20|0;f[c>>2]=f[(f[b+52>>2]|0)+(d<<2)>>2];zv(a,b);c=f[c>>2]|0;if((f[(f[a>>2]|0)+48>>2]|0)!=1)c=(f[b+80>>2]|0)+c|0;yv(g+c|0,e)|0;b=b+72|0;g=b;e=LA(f[g>>2]|0,f[g+4>>2]|0,f[e>>2]|0,f[e+4>>2]|0)|0;g=ba()|0;f[b>>2]=e;f[b+4>>2]=g;t=h;return}function Xv(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;w=t;t=t+16|0;o=w;v=c+20|0;g=f[v>>2]|0;k=f[c>>2]|0;do if((k|0)!=0?(n=c+12|0,e=f[n>>2]|0,(g|0)>=(f[e+8>>2]|0)):0){do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{r=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);j=c+8|0;e=f[j>>2]|0;g=e+1|0;f[j>>2]=g;j=c+16|0;i=f[j>>2]|0;a:do if(!i){if((e|0)>=(f[k+8>>2]|0)){f[n>>2]=0;break}i=WA(f[k>>2]|0,0,37)|0;i=KA(i|0,ba()|0,g|0,((g|0)<0)<<31>>31|0)|0;i=xv(a,i,ba()|0)|0;do if(i|0){e=f[i+8>>2]|0;g=f[i+4>>2]|0;if((e|0)<=(g|0)){f[n>>2]=i;l=18;break a}f[a+36>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{r=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);f[n>>2]=0}else{f[n>>2]=i;f[j>>2]=0;e=f[i+8>>2]|0;g=f[i+4>>2]|0;l=18}while(0);do if((l|0)==18){m=c+36|0;f[m>>2]=e;if((e|0)>=(g|0)){f[c+40>>2]=g+1;break}g=(f[i>>2]|0)+e|0;i=c+40|0;j=h[g>>0]|0;do if(j&128){k=h[g+1>>0]|0;if(!(k&128)){f[i>>2]=j<<7&16256|k;g=2;break}l=h[g+2>>0]|0;if(!(l&128)){f[i>>2]=(j<<14|l)&2080895|k<<7&16256;g=3;break}else{g=yv(g,o)|0;f[i>>2]=f[o>>2];g=g&255;e=f[m>>2]|0;break}}else{f[i>>2]=j;g=1}while(0);f[m>>2]=e+g}while(0);if(f[a+36>>2]|0){t=w;return}if(!(f[n>>2]|0)){t=w;return}else{g=c+72|0;f[g>>2]=0;f[g+4>>2]=0;g=4;break}}while(0);q=c+40|0;b:do if((g|0)<(f[q>>2]|0)){u=g+((yv((f[f[c+12>>2]>>2]|0)+g|0,o)|0)&255)|0;f[v>>2]=u;u=o;v=c+72|0;d=v;u=KA(f[d>>2]|0,f[d+4>>2]|0,f[u>>2]|0,f[u+4>>2]|0)|0;d=ba()|0;f[v>>2]=u;f[v+4>>2]=d}else{do if(!(f[c+4>>2]&1)){if(!(f[c>>2]|0)){g=f[a+12>>2]|0;o=g+16|0;e=f[(f[o>>2]|0)+4>>2]|0;f[o>>2]=e;o=e;if(!e)break;r=o+40|0;p=wz(r)|0;n=o+12|0;i=f[n>>2]|0;if(i|0){m=e;do if((f[g>>2]|0)==1){e=o+24|0;if((b[e>>0]|0)!=0?(s=o+16|0,l=f[s>>2]|0,f[s>>2]=l+1,b[m+l>>0]=0,(b[o+25>>0]|0)!=0):0){l=f[s>>2]|0;f[s>>2]=l+1;b[m+l>>0]=0}}else{j=o+16|0;g=(f[j>>2]|0)-i+-1|0;e=o+24|0;k=(g<<1)+(h[e>>0]|0)|0;if((k|0)<128){b[m+i>>0]=k;break}s=k>>>0<16384;l=s?2:k>>>0<2097152?3:k>>>0<268435456?4:5;ZA(m+(l+i)|0,m+(i+1)|0,g|0)|0;g=m+(f[n>>2]|0)|0;i=((k|0)<0)<<31>>31;if(s){s=VA(k|0,i|0,7)|0;ba()|0;b[g>>0]=s&255|-128;b[g+1>>0]=k&127}else Zv(g,k,i)|0;f[j>>2]=l+-1+(f[j>>2]|0)}while(0);f[n>>2]=0;b[e>>0]=0;b[o+25>>0]=0}n=r+(p+1)|0;e=(f[o+16>>2]|0)+(-41-p)|0;if(!n)break;i=f[c+12>>2]|0;f[i>>2]=n;f[i+4>>2]=e;f[i+8>>2]=e;f[q>>2]=e;i=a+36|0;j=c+60|0;l=wz(r)|0;m=c+64|0;f[m>>2]=0;c:do if(l|0){k=c+68|0;e=f[k>>2]|0;do if(e>>>0>>0){e=(e|0)==0?64:e;while(1)if(e>>>0>>0)e=e<<1;else break;g=f[j>>2]|0;if((Mc()|0)==0?(u=Nc(g,(e|0)>0?e:0,0)|0,u|0):0){f[k>>2]=e;f[j>>2]=u;e=u;g=f[m>>2]|0;break}f[i>>2]=7;break c}else{e=f[j>>2]|0;g=0}while(0);YA(e+g|0,r|0,l|0)|0;f[m>>2]=(f[m>>2]|0)+l}while(0);u=(yv(n,c+72|0)|0)&255;f[v>>2]=u}else{l=c+12|0;i=f[l>>2]|0;i=(f[i>>2]|0)+(f[i+8>>2]|0)|0;e=h[i>>0]|0;do if(e&128){j=h[i+1>>0]|0;if(!(j&128)){e=e<<7&16256|j;break}k=h[i+2>>0]|0;if(!(k&128)){e=(e<<14|k)&2080895|j<<7&16256;break}else{yv(i,o)|0;e=f[o>>2]|0;break}}while(0);if((g|0)==(e|0))e=0;else{i=(f[f[l>>2]>>2]|0)+g|0;e=h[i>>0]|0;do if(e&128){j=h[i+1>>0]|0;if(!(j&128)){i=2;e=e<<7&16256|j;break}k=h[i+2>>0]|0;if(!(k&128)){i=3;e=(e<<14|k)&2080895|j<<7&16256;break}else{i=yv(i,o)|0;i=i&255;e=f[o>>2]|0;break}}else i=1;while(0);g=i+g|0}f[v>>2]=g;_v(a,c,e)}if(!d)break b;f[d>>2]=1;break b}while(0);e=c+12|0;g=f[e>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{v=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[e>>2]=0;t=w;return}while(0);zv(a,c);t=w;return}function Yv(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+16|0;x=A;w=c+12|0;e=f[w>>2]|0;l=f[e>>2]|0;g=f[e+8>>2]|0;y=c+20|0;z=c+80|0;i=(f[z>>2]|0)+(f[y>>2]|0)|0;a:do if((i|0)<(g|0)){if((i|0)>=(f[c+40>>2]|0)){g=l+g|0;e=h[g>>0]|0;do if(e&128){j=h[g+1>>0]|0;if(!(j&128)){e=e<<7&16256|j;break}k=h[g+2>>0]|0;if(!(k&128)){e=(e<<14|k)&2080895|j<<7&16256;break}else{yv(g,x)|0;e=f[x>>2]|0;break}}while(0);if((i|0)==(e|0)){g=1;e=0}else{g=l+i|0;e=h[g>>0]|0;do if(e&128){j=h[g+1>>0]|0;if(!(j&128)){l=2;e=e<<7&16256|j;break}k=h[g+2>>0]|0;if(!(k&128)){l=3;e=(e<<14|k)&2080895|j<<7&16256;break}else{l=yv(g,x)|0;l=l&255;e=f[x>>2]|0;break}}else l=1;while(0);g=1;i=l+i|0}}else{i=i+((yv(l+i|0,x)|0)&255)|0;v=x;g=c+72|0;e=g;v=KA(f[e>>2]|0,f[e+4>>2]|0,f[v>>2]|0,f[v+4>>2]|0)|0;e=ba()|0;f[g>>2]=v;f[g+4>>2]=e;g=0;e=0}f[y>>2]=i}else{k=f[c>>2]|0;if(!k){if((f[c+4>>2]&1|0)==0?(m=f[a+12>>2]|0,r=m+16|0,j=f[(f[r>>2]|0)+4>>2]|0,f[r>>2]=j,r=j,(j|0)!=0):0){s=r+40|0;q=wz(s)|0;p=r+12|0;n=f[p>>2]|0;if(n){i=j;do if((f[m>>2]|0)==1){e=r+24|0;if((b[e>>0]|0)!=0?(o=r+16|0,v=f[o>>2]|0,f[o>>2]=v+1,b[i+v>>0]=0,(b[r+25>>0]|0)!=0):0){v=f[o>>2]|0;f[o>>2]=v+1;b[i+v>>0]=0}}else{j=r+16|0;g=(f[j>>2]|0)-n+-1|0;e=r+24|0;k=(g<<1)+(h[e>>0]|0)|0;if((k|0)<128){b[i+n>>0]=k;break}v=k>>>0<16384;l=v?2:k>>>0<2097152?3:k>>>0<268435456?4:5;ZA(i+(l+n)|0,i+(n+1)|0,g|0)|0;g=i+(f[p>>2]|0)|0;i=((k|0)<0)<<31>>31;if(v){v=VA(k|0,i|0,7)|0;ba()|0;b[g>>0]=v&255|-128;b[g+1>>0]=k&127}else Zv(g,k,i)|0;f[j>>2]=l+-1+(f[j>>2]|0)}while(0);f[p>>2]=0;b[e>>0]=0;b[r+25>>0]=0;e=f[w>>2]|0}n=s+(q+1)|0;g=(f[r+16>>2]|0)+(-41-q)|0;if(n){f[e>>2]=n;f[e+4>>2]=g;f[e+8>>2]=g;f[c+40>>2]=g+1;i=a+36|0;j=c+60|0;l=wz(s)|0;m=c+64|0;f[m>>2]=0;b:do if(l|0){k=c+68|0;e=f[k>>2]|0;do if(e>>>0>>0){e=(e|0)==0?64:e;while(1)if(e>>>0>>0)e=e<<1;else break;g=f[j>>2]|0;if((Mc()|0)==0?(u=Nc(g,(e|0)>0?e:0,0)|0,u|0):0){f[k>>2]=e;f[j>>2]=u;e=u;g=f[m>>2]|0;break}f[i>>2]=7;break b}else{e=f[j>>2]|0;g=0}while(0);YA(e+g|0,s|0,l|0)|0;f[m>>2]=(f[m>>2]|0)+l}while(0);e=(yv(n,c+72|0)|0)&255;f[y>>2]=e;f[d>>2]=1;e=0;g=0;break}}do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{z=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[w>>2]=0;t=A;return}o=c+8|0;p=c+16|0;q=c+36|0;r=c+40|0;s=c+72|0;g=0;c:while(1){do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);i=f[o>>2]|0;j=i+1|0;f[o>>2]=j;e=f[p>>2]|0;if(!e){if((i|0)>=(f[k+8>>2]|0)){v=61;break}e=WA(f[k>>2]|0,0,37)|0;e=KA(e|0,ba()|0,j|0,((j|0)<0)<<31>>31|0)|0;e=xv(a,e,ba()|0)|0;if(!e)break;i=f[e+8>>2]|0;j=f[e+4>>2]|0;if((i|0)>(j|0)){v=64;break}f[w>>2]=e}else{f[w>>2]=e;f[p>>2]=0;i=f[e+8>>2]|0;j=f[e+4>>2]|0}f[q>>2]=i;d:do if((i|0)<(j|0)){k=(f[e>>2]|0)+i|0;j=h[k>>0]|0;do if(j&128){l=h[k+1>>0]|0;if(!(l&128)){k=2;j=j<<7&16256|l;break}m=h[k+2>>0]|0;if(m&128){u=yv(k,x)|0;f[r>>2]=f[x>>2];e=f[w>>2]|0;f[q>>2]=(f[q>>2]|0)+(u&255);if(!e){v=116;break c}else break d}else{k=3;j=(j<<14|m)&2080895|l<<7&16256;break}}else k=1;while(0);f[r>>2]=j;f[q>>2]=i+k}else f[r>>2]=j+1;while(0);i=f[e>>2]|0;j=h[i>>0]<<8|h[i+1>>0];n=e+8|0;k=f[n>>2]|0;if((j|0)!=0&(k|0)>(j|0)){m=j+((yv(i+j|0,s)|0)&255)|0;f[y>>2]=m;l=f[n>>2]|0;if((f[e+4>>2]|0)>(l|0)){e=(f[e>>2]|0)+l|0;i=h[e>>0]|0;do if(i&128){j=h[e+1>>0]|0;if(!(j&128)){f[r>>2]=i<<7&16256|j;e=2;break}k=h[e+2>>0]|0;if(!(k&128)){f[r>>2]=(i<<14|k)&2080895|j<<7&16256;e=3;break}else{e=yv(e,x)|0;f[r>>2]=f[x>>2];e=e&255;break}}else{f[r>>2]=i;e=1}while(0);f[q>>2]=e+l;e=m}else e=m}else if((f[e+4>>2]|0)>(k|0)){g=i+k|0;e=h[g>>0]|0;do if(e&128){i=h[g+1>>0]|0;if(!(i&128)){g=2;e=e<<7&16256|i;break}j=h[g+2>>0]|0;if(!(j&128)){g=3;e=(e<<14|j)&2080895|i<<7&16256;break}else{g=yv(g,x)|0;g=g&255;e=f[x>>2]|0;break}}else g=1;while(0);f[q>>2]=g+k;f[y>>2]=e;f[r>>2]=e;g=1}else e=j;if((e|0)>(f[n>>2]|0)){v=97;break}if(e|0){e=0;break a}e=f[w>>2]|0;k=f[c>>2]|0}do if((v|0)==61){f[w>>2]=0;t=A;return}else if((v|0)==64){f[a+36>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{z=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}else if((v|0)==97){f[a+36>>2]=267;t=A;return}else if((v|0)==116){t=A;return}while(0);f[w>>2]=0;t=A;return}while(0);i=f[w>>2]|0;if(!i){t=A;return}if(!g){i=f[i>>2]|0;g=f[y>>2]|0;f[y>>2]=g+1;i=i+g|0;e=h[i>>0]|0;if(e&128){f[y>>2]=g;e=h[i>>0]|0;do if(e&128){j=h[i+1>>0]|0;if(!(j&128)){i=2;e=e<<7&16256|j;break}k=h[i+2>>0]|0;if(!(k&128)){i=3;e=(e<<14|k)&2080895|j<<7&16256;break}else{i=yv(i,x)|0;i=i&255;e=f[x>>2]|0;g=f[y>>2]|0;break}}else i=1;while(0);f[y>>2]=g+i}b[c+84>>0]=e&1;f[z>>2]=e>>1;t=A;return}else{if(!(f[c+4>>2]&1)){_v(a,c,e);zv(a,c);if(!d){t=A;return}f[d>>2]=1;t=A;return}if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{z=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}f[w>>2]=0;t=A;return}}function Zv(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=t;t=t+16|0;g=h;if(d>>>0>16777215|(d|0)==16777215&c>>>0>4294967295){b[a+8>>0]=c;g=VA(c|0,d|0,8)|0;ba()|0;b[a+7>>0]=g&255|-128;g=VA(c|0,d|0,15)|0;ba()|0;b[a+6>>0]=g&255|-128;g=VA(c|0,d|0,22)|0;ba()|0;b[a+5>>0]=g&255|-128;g=VA(c|0,d|0,29)|0;ba()|0;b[a+4>>0]=g&255|-128;g=VA(c|0,d|0,36)|0;ba()|0;b[a+3>>0]=g&255|-128;g=VA(c|0,d|0,43)|0;ba()|0;b[a+2>>0]=g&255|-128;g=VA(c|0,d|0,50)|0;ba()|0;b[a+1>>0]=g&255|-128;g=VA(c|0,d|0,57)|0;ba()|0;b[a>>0]=g&255|-128;g=9;t=h;return g|0}e=0;f=c;while(1){c=e+1|0;b[g+e>>0]=f&255|-128;f=VA(f|0,d|0,7)|0;d=ba()|0;if((f|0)==0&(d|0)==0)break;else e=c}b[g>>0]=b[g>>0]&127;d=0;while(1){b[a+d>>0]=b[g+e>>0]|0;if((e|0)>0){e=e+-1|0;d=d+1|0}else break}t=h;return c|0}function _v(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;w=t;t=t+16|0;s=w;u=b+12|0;e=f[u>>2]|0;o=f[e>>2]|0;v=b+20|0;k=f[v>>2]|0;d=o+k|0;g=h[d>>0]|0;do if(g&128){i=h[d+1>>0]|0;if(!(i&128)){d=2;g=g<<7&16256|i;break}j=h[d+2>>0]|0;if(!(j&128)){d=3;g=(g<<14|j)&2080895|i<<7&16256;break}else{d=yv(d,s)|0;d=d&255;g=f[s>>2]|0;e=f[u>>2]|0;break}}else d=1;while(0);i=d+k|0;d=i+g|0;if((d|0)>(f[e+4>>2]|0)){f[a+36>>2]=267;t=w;return}k=b+60|0;m=b+64|0;f[m>>2]=c;p=a+36|0;l=o+i|0;a:do if(g|0){i=g+c|0;j=b+68|0;e=f[j>>2]|0;do if(i>>>0>e>>>0){e=(e|0)==0?64:e;while(1)if(e>>>0>>0)e=e<<1;else break;c=f[k>>2]|0;if((Mc()|0)==0?(n=Nc(c,(e|0)>0?e:0,0)|0,n|0):0){f[j>>2]=e;f[k>>2]=n;e=n;c=f[m>>2]|0;break}f[p>>2]=7;break a}else e=f[k>>2]|0;while(0);YA(e+c|0,l|0,g|0)|0;f[m>>2]=(f[m>>2]|0)+g}while(0);f[b+32>>2]=d;l=b+8|0;f[b+28>>2]=f[l>>2];f[v>>2]=d;m=b+36|0;e=f[m>>2]|0;c=f[u>>2]|0;g=f[c+4>>2]|0;if((e|0)<(g|0)){g=o+e|0;i=h[g>>0]|0;do if(i&128){j=h[g+1>>0]|0;if(!(j&128)){i=i<<7&16256|j;g=2;break}k=h[g+2>>0]|0;if(!(k&128)){i=(i<<14|k)&2080895|j<<7&16256;g=3;break}else{g=yv(g,s)|0;i=f[s>>2]|0;g=g&255;c=f[u>>2]|0;d=f[v>>2]|0;e=f[m>>2]|0;break}}else g=1;while(0);f[m>>2]=e+g;o=b+40|0;f[o>>2]=(f[o>>2]|0)+i}else f[b+40>>2]=g+1;b:do if((d|0)>=(f[c+8>>2]|0)){i=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);e=f[l>>2]|0;g=e+1|0;f[l>>2]=g;d=b+16|0;c=f[d>>2]|0;c:do if(!c){do if((e|0)<(f[i+8>>2]|0)?(q=WA(f[i>>2]|0,0,37)|0,q=KA(q|0,ba()|0,g|0,((g|0)<0)<<31>>31|0)|0,q=xv(a,q,ba()|0)|0,q|0):0){c=f[q+8>>2]|0;d=f[q+4>>2]|0;if((c|0)<=(d|0)){f[u>>2]=q;k=c;c=q;r=42;break c}f[p>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{v=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}while(0);f[u>>2]=0}else{f[u>>2]=c;f[d>>2]=0;k=f[c+8>>2]|0;d=f[c+4>>2]|0;r=42}while(0);d:do if((r|0)==42){f[m>>2]=k;if((k|0)>=(d|0)){f[b+40>>2]=d+1;d=4;break b}e=(f[c>>2]|0)+k|0;j=b+40|0;d=h[e>>0]|0;do if(d&128){g=h[e+1>>0]|0;if(!(g&128)){e=2;d=d<<7&16256|g;break}i=h[e+2>>0]|0;if(i&128){r=yv(e,s)|0;f[j>>2]=f[s>>2];c=f[u>>2]|0;f[m>>2]=(f[m>>2]|0)+(r&255);if(!c)break d;else{d=4;break b}}else{e=3;d=(d<<14|i)&2080895|g<<7&16256;break}}else e=1;while(0);f[j>>2]=d;f[m>>2]=k+e;d=4;break b}while(0);if(f[p>>2]|0){t=w;return}f[p>>2]=267;t=w;return}while(0);b=d+((yv((f[c>>2]|0)+d|0,b+72|0)|0)&255)|0;f[v>>2]=b;t=w;return}function $v(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;l=n;m=d+4|0;k=b+80|0;g=(f[k>>2]|0)+(f[m>>2]|0)|0;i=d+8|0;e=f[i>>2]|0;do if(g>>>0>e>>>0){h=(e|0)==0?64:e;while(1)if(h>>>0>>0)h=h<<1;else break;e=a+36|0;g=f[d>>2]|0;if((Mc()|0)==0?(j=Nc(g,(h|0)>0?h:0,0)|0,j|0):0){f[i>>2]=h;f[d>>2]=j;break}f[e>>2]=7;t=n;return}while(0);if(c|0){if(f[(f[a>>2]|0)+48>>2]|0){m=l+8|0;f[m>>2]=0;f[m+4>>2]=0;f[l>>2]=d;f[l+4>>2]=c;bw(a,b,l,70);t=n;return}f[l>>2]=d;f[l+4>>2]=c;g=f[c>>2]|0;a:do if((g|0)>0){e=0;while(1){if(!(f[c+4+(e<<2)>>2]|0)){e=1;break a}e=e+1|0;if((e|0)>=(g|0)){e=0;break}}}else e=0;while(0);f[l+8>>2]=e;bw(a,b,l,69);t=n;return}g=f[k>>2]|0;h=f[b+12>>2]|0;i=f[b+20>>2]|0;e=(f[h+8>>2]|0)-i|0;e=(g|0)<(e|0)?g:e;j=f[b+8>>2]|0;c=(f[b+4>>2]&2|0)==0?j+1|0:0;if((e|0)>0){YA((f[d>>2]|0)+(f[m>>2]|0)|0,(f[h>>2]|0)+i|0,e|0)|0;f[m>>2]=(f[m>>2]|0)+e}e=g-e|0;if((e|0)<1){t=n;return}k=b+16|0;while(1){j=j+1|0;g=WA(f[f[b>>2]>>2]|0,0,37)|0;g=KA(g|0,ba()|0,j|0,((j|0)<0)<<31>>31|0)|0;g=xv(a,g,ba()|0)|0;if(!g){e=34;break}h=f[g+8>>2]|0;if((h|0)>(f[g+4>>2]|0)){e=15;break}i=(f[g>>2]|0)+4|0;h=h+-4|0;h=(e|0)<(h|0)?e:h;if((j|0)==(c|0)){f[k>>2]=g;g=0}if((h|0)>0){YA((f[d>>2]|0)+(f[m>>2]|0)|0,i|0,h|0)|0;f[m>>2]=(f[m>>2]|0)+h}e=e-h|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{l=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);if((e|0)<1){e=34;break}}if((e|0)==15){f[a+36>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);t=n;return}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);t=n;return}}else if((e|0)==34){t=n;return}}function aw(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+16|0;n=p;if((e|0)<=0){t=p;return}o=c+8|0;a:do if((f[o>>2]|0)==2){g=h[d>>0]|0;do if(g&128){i=h[d+1>>0]|0;if(!(i&128)){a=2;g=g<<7&16256|i;break}j=h[d+2>>0]|0;if(!(j&128)){a=3;g=(g<<14|j)&2080895|i<<7&16256;break}else{a=yv(d,n)|0;a=a&255;g=f[n>>2]|0;break}}else a=1;while(0);l=c+4|0;j=f[l>>2]|0;k=f[j>>2]|0;b:do if((k|0)>0){i=0;while(1){if((f[j+4+(i<<2)>>2]|0)==(g|0))break;i=i+1|0;if((i|0)>=(k|0))break b}f[o>>2]=1;m=f[c>>2]|0;b[(f[m>>2]|0)+(f[m+4>>2]|0)>>0]=1;m=(f[c>>2]|0)+4|0;f[m>>2]=(f[m>>2]|0)+1;break a}while(0);f[o>>2]=0}else{a=0;l=c+4|0}while(0);i=0;while(1){c:do if((a|0)<(e|0))while(1){g=b[d+a>>0]|0;if(g<<24>>24==1){g=1;break c}a=a+1|0;if(g<<24>>24<0)while(1){g=a+1|0;if((b[d+a>>0]|0)<0)a=g;else{a=g;break}}if((a|0)>=(e|0)){g=0;break}}else g=0;while(0);if(f[o>>2]|0){m=f[c>>2]|0;k=a-i|0;YA((f[m>>2]|0)+(f[m+4>>2]|0)|0,d+i|0,k|0)|0;m=(f[c>>2]|0)+4|0;f[m>>2]=(f[m>>2]|0)+k}d:do if(g){m=a+1|0;if((m|0)>=(e|0)){f[o>>2]=2;g=a;a=m;break}i=d+m|0;g=h[i>>0]|0;if(!(g&128))m=a+2|0;else{j=h[i+1>>0]|0;do if(j&128){k=h[i+2>>0]|0;if(!(k&128)){i=3;g=(g<<14|k)&2080895|j<<7&16256;break}else{i=yv(i,n)|0;i=i&255;g=f[n>>2]|0;break}}else{i=2;g=g<<7&16256|j}while(0);m=i+m|0}j=f[l>>2]|0;k=f[j>>2]|0;e:do if((k|0)>0){i=0;while(1){if((f[j+4+(i<<2)>>2]|0)==(g|0))break;i=i+1|0;if((i|0)>=(k|0))break e}f[o>>2]=1;g=f[c>>2]|0;k=m-a|0;YA((f[g>>2]|0)+(f[g+4>>2]|0)|0,d+a|0,k|0)|0;g=(f[c>>2]|0)+4|0;f[g>>2]=(f[g>>2]|0)+k;g=m;a=m;break d}while(0);f[o>>2]=0;g=a;a=m}else g=i;while(0);if((a|0)<(e|0))i=g;else break}t=p;return}function bw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=f[b+80>>2]|0;i=f[b+12>>2]|0;j=f[b+20>>2]|0;g=(f[i+8>>2]|0)-j|0;g=(l|0)<(g|0)?l:g;e=f[b+8>>2]|0;k=(f[b+4>>2]&2|0)==0?e+1|0:0;rb[d&127](a,c,(f[i>>2]|0)+j|0,g);g=l-g|0;dw(0);if((g|0)<1)return;l=b+16|0;while(1){e=e+1|0;h=WA(f[f[b>>2]>>2]|0,0,37)|0;h=KA(h|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;h=ew(a,h,ba()|0)|0;if(!h){e=7;break}j=(f[h>>2]|0)+4|0;i=(f[h+8>>2]|0)+-4|0;i=(g|0)<(i|0)?g:i;if((e|0)==(k|0)){f[l>>2]=h;h=0}rb[d&127](a,c,j,i);g=g-i|0;dw(h);if((g|0)<1){e=7;break}}if((e|0)==7)return}function cw(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+16|0;m=q;if((e|0)<=0){t=q;return}n=c+8|0;o=c+4|0;p=c+12|0;l=0;do{g=d+l|0;a=h[g>>0]|0;do if(a&128){i=h[g+1>>0]|0;if(!(i&128)){g=2;a=a<<7&16256|i;break}j=h[g+2>>0]|0;if(!(j&128)){g=3;a=(a<<14|j)&2080895|i<<7&16256;break}else{g=yv(g,m)|0;g=g&255;a=f[m>>2]|0;break}}else g=1;while(0);l=g+l|0;j=(f[n>>2]|0)+a|0;k=j+-2|0;f[n>>2]=k;g=f[o>>2]|0;i=f[g>>2]|0;a:do if((i|0)>0){a=0;while(1){if((f[g+4+(a<<2)>>2]|0)==(k|0))break;a=a+1|0;if((a|0)>=(i|0))break a}i=f[c>>2]|0;i=(f[i>>2]|0)+(f[i+4>>2]|0)|0;a=j-(f[p>>2]|0)|0;g=((a|0)<0)<<31>>31;do if(a>>>0>=128)if(a>>>0<16384){j=VA(a|0,g|0,7)|0;ba()|0;b[i>>0]=j&255|-128;b[i+1>>0]=a&127;a=2;break}else{a=Zv(i,a,g)|0;break}else{b[i>>0]=a&127;a=1}while(0);j=(f[c>>2]|0)+4|0;f[j>>2]=(f[j>>2]|0)+a;f[p>>2]=k}while(0)}while((l|0)<(e|0));t=q;return}function dw(a){a=a|0;var b=0;if(!a)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function ew(a,b,c){a=a|0;b=b|0;c=c|0;b=xv(a,b,c)|0;if(!b){a=0;return a|0}if((f[b+8>>2]|0)<=(f[b+4>>2]|0)){a=b;return a|0}f[a+36>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](b);a=0;return a|0}else{a=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);a=0;return a|0}return 0}function fw(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;y=t;t=t+16|0;w=y;x=a+16|0;f[x>>2]=0;if(Mc()|0){x=7;t=y;return x|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](128)|0;if(!e){x=7;t=y;return x|0}else v=e}else{e=ib[f[37372>>2]&255](128)|0;if((f[18194]|0)>>>0<128)f[18194]=128;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){v=f[18187]|0;u=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;s=ba()|0;f[17976]=((s|0)<0|(s|0)==0&u>>>0<=v>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(!g){x=7;t=y;return x|0}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0){f[18196]=e;v=g}else v=g}e=v;g=e+128|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));r=f[a+12>>2]|0;if((r|0)>0){s=a+20|0;u=(c|0)==0;q=0;do{e=f[(f[s>>2]|0)+(q<<2)>>2]|0;a:do if(e|0){if(u)while(1){f[e+4>>2]=0;g=f[v>>2]|0;if(!g){h=e;g=v}else{p=0;h=e;i=g;g=v;do{f[w>>2]=0;j=w;do do if(!h){f[j>>2]=i;h=0;i=0}else{if(!i){f[j>>2]=h;h=0;i=0;break}l=h+40|0;m=i+40|0;k=0;while(1){n=b[l+k>>0]|0;o=b[m+k>>0]|0;if(n<<24>>24==o<<24>>24)k=k+1|0;else break}if((n&255)>(o&255)){f[j>>2]=i;j=i+4|0;i=f[j>>2]|0}else{f[j>>2]=h;j=h+4|0;h=f[j>>2]|0}f[j>>2]=0}while(0);while((i|0)!=0|(h|0)!=0);h=f[w>>2]|0;f[g>>2]=0;p=p+1|0;g=v+(p<<2)|0;i=f[g>>2]|0}while((i|0)!=0)}f[g>>2]=h;e=f[e>>2]|0;if(!e)break a}do{if(!(Hz(e+40|0,c,d)|0)){f[e+4>>2]=0;i=f[v>>2]|0;if(!i){h=e;g=v}else{p=0;h=e;g=v;do{f[w>>2]=0;j=w;do do if(!h){f[j>>2]=i;h=0;i=0}else{if(!i){f[j>>2]=h;h=0;i=0;break}l=h+40|0;m=i+40|0;k=0;while(1){n=b[l+k>>0]|0;o=b[m+k>>0]|0;if(n<<24>>24==o<<24>>24)k=k+1|0;else break}if((n&255)>(o&255)){f[j>>2]=i;j=i+4|0;i=f[j>>2]|0}else{f[j>>2]=h;j=h+4|0;h=f[j>>2]|0}f[j>>2]=0}while(0);while((i|0)!=0|(h|0)!=0);h=f[w>>2]|0;f[g>>2]=0;p=p+1|0;g=v+(p<<2)|0;i=f[g>>2]|0}while((i|0)!=0)}f[g>>2]=h}e=f[e>>2]|0}while((e|0)!=0)}while(0);q=q+1|0}while((q|0)!=(r|0))}e=0;n=0;do{g=f[v+(n<<2)>>2]|0;f[w>>2]=0;if((e|0)!=0|(g|0)!=0){h=w;do do if(!e){f[h>>2]=g;e=0;g=0}else{if(!g){f[h>>2]=e;e=0;g=0;break}j=e+40|0;k=g+40|0;i=0;while(1){l=b[j+i>>0]|0;m=b[k+i>>0]|0;if(l<<24>>24==m<<24>>24)i=i+1|0;else break}if((l&255)>(m&255)){f[h>>2]=g;h=g+4|0;g=f[h>>2]|0}else{f[h>>2]=e;h=e+4|0;e=f[h>>2]|0}f[h>>2]=0}while(0);while((g|0)!=0|(e|0)!=0);e=f[w>>2]|0}else e=0;n=n+1|0}while((n|0)!=32);f[a+8>>2]=0;if(!(f[9328]|0))ob[f[37360>>2]&127](v);else{w=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v)}f[x>>2]=e;x=0;t=y;return x|0}function gw(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+36|0;if(f[q>>2]|0){q=0;return q|0}l=WA(d|0,0,37)|0;l=KA(l|0,ba()|0|16|0,e|0,((e|0)<0)<<31>>31|0)|0;m=ba()|0;k=0;e=0;h=0;i=0;j=0;while(1){g=(k<<5)+40|0;if((Mc()|0)==0?(n=Nc(j,(g|0)>0?g:0,0)|0,(n|0)!=0):0){o=WA(k|0,0,31)|0;o=KA(l|0,m|0,o|0,ba()|0)|0;g=ba()|0;p=n+8+(k<<5)|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;g=xv(a,o,g)|0;f[p>>2]=g;if(g)e=(b[f[g>>2]>>0]&1)==0?1:e;h=k+1|0;f[n>>2]=h;p=n;o=n;j=n;g=f[q>>2]|0}else{f[q>>2]=7;p=h;h=k+1|0;o=i;g=7}if(!(g|e)){k=h;h=p;i=o}else break}a:do if(!g){j=p+4|0;f[j>>2]=d;e=f[p>>2]|0;g=(e|0)>0;b:do if(!c){if(g){e=0;do{Ev(p+8+(e<<5)|0)|0;e=e+1|0}while((e|0)<(f[p>>2]|0))}}else if(g)while(1){i=e;e=e+-1|0;g=p+8+(e<<5)|0;do{}while(!(Ev(g)|0));f[p+8+(e<<5)+8>>2]=0;if((i|0)<=1)break b;g=g+-32|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{c=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;d=WA(f[j>>2]|0,0,37)|0;c=ba()|0|16;l=i+-2|0;l=WA(l|0,((l|0)<0)<<31>>31|0,31)|0;m=ba()|0;n=f[p+8+(e<<5)+16>>2]|0;n=KA(l|0,m|0,n|0,((n|0)<0)<<31>>31|0)|0;c=KA(n|0,ba()|0,d|0,c|0)|0;c=xv(a,c,ba()|0)|0;f[g>>2]=c;if(f[q>>2]|0){g=p;break a}}while(0);if(!(f[q>>2]|0)){q=p;return q|0}else g=p}else if(!p){q=0;return q|0}else{g=p;break}while(0);if((f[g>>2]|0)>0){e=0;do{h=f[p+8+(e<<5)>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{q=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);e=e+1|0}while((e|0)<(f[g>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](o);q=0;return q|0}else{q=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);q=0;return q|0}return 0}function hw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+16|0;v=x;if(c|0)f[c>>2]=(h[a+1>>0]|0)<<16|(h[a>>0]|0)<<24|(h[a+2>>0]|0)<<8|(h[a+3>>0]|0);c=a+4|0;e=h[c>>0]|0;do if(e&128){g=h[a+5>>0]|0;if(!(g&128)){k=6;e=e<<7&16256|g;break}i=h[a+6>>0]|0;if(!(i&128)){k=7;e=(e<<14|i)&2080895|g<<7&16256;break}else{k=yv(c,v)|0;k=(k&255)+4|0;e=f[v>>2]|0;break}}else k=5;while(0);c=a+k|0;g=h[c>>0]|0;do if(g&128){i=h[c+1>>0]|0;if(!(i&128)){c=2;i=g<<7&16256|i;break}j=h[c+2>>0]|0;if(!(j&128)){c=3;i=(g<<14|j)&2080895|i<<7&16256;break}else{c=yv(c,v)|0;c=c&255;i=f[v>>2]|0;break}}else{c=1;i=g}while(0);j=c+k|0;g=(e*12|0)+28|0;c=Fd(g)|0;if(!c){v=0;w=(g|0)>0?7:0;f[d>>2]=v;t=x;return w|0}_A(c|0,0,g|0)|0;f[c>>2]=1;u=c+20|0;f[u>>2]=e;f[c+16>>2]=i;g=yv(a+j|0,c+8|0)|0;if((e|0)<=0){v=c;w=0;f[d>>2]=v;t=x;return w|0}s=c+24|0;n=j+(g&255)|0;i=0;a:while(1){if((n|0)>=(b|0)){i=267;break}g=a+n|0;j=s+(i*12|0)|0;k=h[g>>0]|0;do if(k&128){l=h[g+1>>0]|0;if(!(l&128)){f[j>>2]=k<<7&16256|l;g=2;break}m=h[g+2>>0]|0;if(!(m&128)){f[j>>2]=(k<<14|m)&2080895|l<<7&16256;g=3;break}else{g=yv(g,v)|0;f[j>>2]=f[v>>2];g=g&255;break}}else{f[j>>2]=k;g=1}while(0);m=g+n|0;g=a+m|0;j=h[g>>0]|0;do if(j&128){k=h[g+1>>0]|0;if(!(k&128)){g=2;r=j<<7&16256|k;break}l=h[g+2>>0]|0;if(!(l&128)){g=3;r=(j<<14|l)&2080895|k<<7&16256;break}else{g=yv(g,v)|0;g=g&255;r=f[v>>2]|0;break}}else{g=1;r=j}while(0);g=g+m|0;k=r*12|0;j=Fd(k)|0;if(!j)if((k|0)>0){w=36;break}else j=0;else _A(j|0,0,k|0)|0;q=s+(i*12|0)+8|0;f[q>>2]=j;f[s+(i*12|0)+4>>2]=r;if((r|0)>0){p=0;do{if((g|0)>=(b|0)){i=267;break a}j=a+g|0;o=f[q>>2]|0;k=o+(p*12|0)|0;l=h[j>>0]|0;do if(l&128){m=h[j+1>>0]|0;if(!(m&128)){f[k>>2]=l<<7&16256|m;j=2;break}n=h[j+2>>0]|0;if(!(n&128)){f[k>>2]=(l<<14|n)&2080895|m<<7&16256;j=3;break}else{j=yv(j,v)|0;f[k>>2]=f[v>>2];j=j&255;o=f[q>>2]|0;break}}else{f[k>>2]=l;j=1}while(0);n=j+g|0;g=a+n|0;j=o+(p*12|0)+4|0;k=h[g>>0]|0;do if(k&128){l=h[g+1>>0]|0;if(!(l&128)){f[j>>2]=k<<7&16256|l;g=2;j=o;break}m=h[g+2>>0]|0;if(!(m&128)){f[j>>2]=(k<<14|m)&2080895|l<<7&16256;g=3;j=o;break}else{g=yv(g,v)|0;f[j>>2]=f[v>>2];g=g&255;j=f[q>>2]|0;break}}else{f[j>>2]=k;g=1;j=o}while(0);n=g+n|0;m=a+n|0;g=j+(p*12|0)+8|0;j=h[m>>0]|0;do if(j&128){k=h[m+1>>0]|0;if(!(k&128)){f[g>>2]=j<<7&16256|k;g=2;break}l=h[m+2>>0]|0;if(!(l&128)){f[g>>2]=(j<<14|l)&2080895|k<<7&16256;g=3;break}else{o=yv(m,v)|0;f[g>>2]=f[v>>2];g=o&255;break}}else{f[g>>2]=j;g=1}while(0);g=g+n|0;p=p+1|0}while((p|0)<(r|0))}i=i+1|0;if((i|0)<(e|0))n=g;else{e=0;w=74;break}}if((w|0)==36){f[s+(i*12|0)+8>>2]=0;i=7}else if((w|0)==74){f[d>>2]=c;t=x;return e|0}w=f[c>>2]|0;f[c>>2]=w+-1;if((w|0)>=2){v=0;w=i;f[d>>2]=v;t=x;return w|0}if((f[u>>2]|0)>0){e=0;do{g=f[c+24+(e*12|0)+8>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{w=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);e=e+1|0}while((e|0)<(f[u>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);v=0;w=i;f[d>>2]=v;t=x;return w|0}else{v=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);v=0;w=i;f[d>>2]=v;t=x;return w|0}return 0}function iw(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=t;t=t+112|0;k=l+88|0;i=l;if(f[a>>2]|0){a=0;t=l;return a|0}f[i>>2]=d;do if(!(Mc()|0)){j=k+4|0;f[j>>2]=l+16;f[k>>2]=0;f[k+8>>2]=70;e=k+12|0;f[e>>2]=1e9;g=k+16|0;f[g>>2]=0;b[k+20>>0]=0;h=k+21|0;b[h>>0]=0;Bc(k,c,i);d=f[j>>2]|0;if((d|0?(b[d+(f[g>>2]|0)>>0]=0,f[e>>2]|0):0)?(b[h>>0]&4)==0:0){d=Cc(k)|0;break}d=f[j>>2]|0}else d=0;while(0);if(!d)f[a>>2]=7;a=d;t=l;return a|0}function jw(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;r=t;t=t+16|0;o=r+8|0;q=r;if(c|0){m=b[c>>0]|0;l=h[1232+(m&255)>>0]|0;i=l+-112|0;m=m<<24>>24==0;if(!(m|(i|0)!=0)){j=67870;k=c;do{k=k+1|0;j=j+1|0;s=b[k>>0]|0;i=(h[1232+(s&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(i|0)!=0))}if(!i){k=e+8|0;i=d[k>>1]|0;s=i&31;c=h[5792+s>>0]|0;if((s|16|0)==18){i=b[e+10>>0]|0;c=e+16|0;j=e+12|0;if(!(jf(f[c>>2]|0,o,f[j>>2]|0,i)|0))i=d[k>>1]|0;else{if(!(kf(f[c>>2]|0,q,f[j>>2]|0,i)|0)){s=f[q+4>>2]|0;i=e;f[i>>2]=f[q>>2];f[i+4>>2]=s;i=4}else{p[e>>3]=+p[o>>3];i=8}i=d[k>>1]&-3|i;d[k>>1]=i}c=h[5792+(i&31)>>0]|0}a:do if((c|0)==1){i=i&65535;do if(!(i&4)){if(i&8|0){i=Fc(+p[e>>3])|0;ba()|0;break}if(!(i&18))break a;i=Gc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)|0;ba()|0}else i=f[e>>2]|0;while(0);if((i+-1|0)>>>0<=131071){f[a+68>>2]=i;s=0;t=r;return s|0}}while(0);f[g>>2]=1;s=0;t=r;return s|0}i=l+-104|0;if(!(m|(i|0)!=0)){j=67875;k=c;do{k=k+1|0;j=j+1|0;s=b[k>>0]|0;i=(h[1232+(s&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(i|0)!=0))}if(!i){k=e+8|0;i=d[k>>1]|0;s=i&31;c=h[5792+s>>0]|0;if((s|16|0)==18){i=b[e+10>>0]|0;c=e+16|0;j=e+12|0;if(!(jf(f[c>>2]|0,o,f[j>>2]|0,i)|0))i=d[k>>1]|0;else{if(!(kf(f[c>>2]|0,q,f[j>>2]|0,i)|0)){s=f[q+4>>2]|0;i=e;f[i>>2]=f[q>>2];f[i+4>>2]=s;i=4}else{p[e>>3]=+p[o>>3];i=8}i=d[k>>1]&-3|i;d[k>>1]=i}c=h[5792+(i&31)>>0]|0}b:do if((c|0)==1){i=i&65535;do if(!(i&4)){if(i&8|0){i=Fc(+p[e>>3])|0;ba()|0;break}if(!(i&18))break b;i=Gc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)|0;ba()|0}else i=f[e>>2]|0;while(0);if((i|0)>=1){f[a+84>>2]=i;s=0;t=r;return s|0}}while(0);f[g>>2]=1;s=0;t=r;return s|0}i=l+-97|0;if(!(m|(i|0)!=0)){j=67884;k=c;do{k=k+1|0;j=j+1|0;s=b[k>>0]|0;i=(h[1232+(s&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(i|0)!=0))}if(!i){k=e+8|0;i=d[k>>1]|0;s=i&31;c=h[5792+s>>0]|0;if((s|16|0)==18){i=b[e+10>>0]|0;c=e+16|0;j=e+12|0;if(!(jf(f[c>>2]|0,o,f[j>>2]|0,i)|0))i=d[k>>1]|0;else{if(!(kf(f[c>>2]|0,q,f[j>>2]|0,i)|0)){s=f[q+4>>2]|0;i=e;f[i>>2]=f[q>>2];f[i+4>>2]=s;i=4}else{p[e>>3]=+p[o>>3];i=8}i=d[k>>1]&-3|i;d[k>>1]=i}c=h[5792+(i&31)>>0]|0}do if((c|0)==1){i=i&65535;do if(!(i&4)){if(i&8|0){i=Fc(+p[e>>3])|0;ba()|0;n=65;break}if(!(i&18))i=0;else{i=Gc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)|0;ba()|0;n=65}}else{i=f[e>>2]|0;n=65}while(0);if((n|0)==65){if(i>>>0>64)break;i=(i|0)==1?4:i}f[a+72>>2]=i;s=0;t=r;return s|0}while(0);f[g>>2]=1;s=0;t=r;return s|0}i=l+-117|0;if(!(m|(i|0)!=0)){j=67894;k=c;do{k=k+1|0;j=j+1|0;s=b[k>>0]|0;i=(h[1232+(s&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(i|0)!=0))}if(!i){k=e+8|0;i=d[k>>1]|0;s=i&31;c=h[5792+s>>0]|0;if((s|16|0)==18){i=b[e+10>>0]|0;c=e+16|0;j=e+12|0;if(!(jf(f[c>>2]|0,o,f[j>>2]|0,i)|0))i=d[k>>1]|0;else{if(!(kf(f[c>>2]|0,q,f[j>>2]|0,i)|0)){s=f[q+4>>2]|0;i=e;f[i>>2]=f[q>>2];f[i+4>>2]=s;i=4}else{p[e>>3]=+p[o>>3];i=8}i=d[k>>1]&-3|i;d[k>>1]=i}c=h[5792+(i&31)>>0]|0}c:do if((c|0)==1){i=i&65535;do if(!(i&4)){if(i&8|0){i=Fc(+p[e>>3])|0;ba()|0;break}if(!(i&18))break c;i=Gc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)|0;ba()|0}else i=f[e>>2]|0;while(0);if((i+-2|0)>>>0<=14){f[a+80>>2]=i;s=0;t=r;return s|0}}while(0);f[g>>2]=1;s=0;t=r;return s|0}i=l+-99|0;if(!(m|(i|0)!=0)){j=67904;k=c;do{k=k+1|0;j=j+1|0;s=b[k>>0]|0;i=(h[1232+(s&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(i|0)!=0))}if(!i){k=e+8|0;i=d[k>>1]|0;s=i&31;c=h[5792+s>>0]|0;if((s|16|0)==18){i=b[e+10>>0]|0;c=e+16|0;j=e+12|0;if(!(jf(f[c>>2]|0,o,f[j>>2]|0,i)|0))i=d[k>>1]|0;else{if(!(kf(f[c>>2]|0,q,f[j>>2]|0,i)|0)){s=f[q+4>>2]|0;i=e;f[i>>2]=f[q>>2];f[i+4>>2]=s;i=4}else{p[e>>3]=+p[o>>3];i=8}i=d[k>>1]&-3|i;d[k>>1]=i}c=h[5792+(i&31)>>0]|0}do if((c|0)==1){i=i&65535;do if(!(i&4)){if(i&8|0){i=Fc(+p[e>>3])|0;ba()|0;n=110;break}if(!(i&18))n=113;else{i=Gc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)|0;ba()|0;n=110}}else{i=f[e>>2]|0;n=110}while(0);if((n|0)==110){if((i|0)<0)break;if((i|0)<2)n=113}if((n|0)==113)i=16;f[a+76>>2]=i;s=0;t=r;return s|0}while(0);f[g>>2]=1;s=0;t=r;return s|0}i=l+-114|0;if(!(m|(i|0)!=0)){j=42283;do{c=c+1|0;j=j+1|0;s=b[c>>0]|0;i=(h[1232+(s&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(i|0)!=0))}if(!i){do if(e){i=d[e+8>>1]|0;if((i&514)==514?(b[e+10>>0]|0)==1:0){i=f[e+16>>2]|0;break}if(!(i&1))i=Ic(e,1)|0;else i=0}else i=0;while(0);i=kw(i,o,q)|0;switch(i|0){case 0:{j=a+88|0;i=f[j>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{s=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);i=a+92|0;c=f[i>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{s=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[j>>2]=f[o>>2];f[i>>2]=f[q>>2];i=0;break}case 1:{f[g>>2]=1;i=0;break}default:{}}s=i;t=r;return s|0}}f[g>>2]=1;s=0;t=r;return s|0}function kw(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;f[c>>2]=0;f[d>>2]=0;if(!a){d=1;return d|0}while(1){e=b[a>>0]|0;if(e<<24>>24==32)a=a+1|0;else break}j=a;while(1){i=e<<24>>24;if((i&128|0)==0?(b[26896+i>>0]|0)==0:0)break;e=j+1|0;j=e;e=b[e>>0]|0}h=(j|0)==(a|0);i=h?0:j;if(h){d=1;return d|0}e=a;g=i+1-e|0;h=Fd(g)|0;if(!h)if((g|0)>0){d=7;return d|0}else h=0;else{i=i-e|0;_A(h+i|0,0,(g>>>0>i>>>0?g-i|0:0)|0)|0;YA(h|0,a|0,i|0)|0}a=j;a:while(1)switch(b[a>>0]|0){case 32:{a=a+1|0;break}case 40:{k=14;break a}default:{a=1;break a}}b:do if((k|0)==14){c:while(1){j=a+1|0;switch(b[j>>0]|0){case 32:{a=j;break}case 41:{a=0;break c}default:{k=16;break c}}}do if((k|0)==16){a=j;d:while(1)e:do if((b[a>>0]|0)==32)a=a+1|0;else{a=lw(a)|0;if(!a){a=1;break b}g=a;while(1){a=g+1|0;switch(b[g>>0]|0){case 41:break d;case 44:break e;case 32:{g=a;break}default:{a=1;break b}}}}while(0);i=j;e=a-i|0;a=Fd(e)|0;if(!a)if((e|0)>0){a=7;break b}else{a=0;break}else{k=g-i|0;_A(a+k|0,0,(e>>>0>k>>>0?e-k|0:0)|0)|0;YA(a|0,j|0,k|0)|0;break}}while(0);f[c>>2]=h;f[d>>2]=a;d=0;return d|0}while(0);if(!h){d=a;return d|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);d=a;return d|0}else{d=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);d=a;return d|0}return 0}function lw(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;c=b[a>>0]|0;switch(c<<24>>24|0){case 78:case 110:{g=c&255;c=1232+g|0;if((g|32|0)==110){g=h[a+1>>0]|0;c=1232+g|0;if((g|32|0)==117){g=h[a+2>>0]|0;c=1232+g|0;if((g|32|0)==108){c=h[a+3>>0]|0;if((c|32|0)!=108){d=1232+c|0;e=108;f=3}}else{d=c;e=108;f=3}}else{d=c;e=117;f=3}}else{d=c;e=110;f=3}if((f|0)==3?(e|0)!=(h[d>>0]|0):0){g=0;return g|0}g=a+4|0;return g|0}case 88:case 120:{if((b[a+1>>0]|0)!=39){g=0;return g|0}c=a+2|0;a:while(1){d=b[c>>0]|0;if((d+-48&255)>=10)switch(d<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}c=c+1|0}return (d<<24>>24==39&(c-a&1|0)==0?c+1|0:0)|0}case 39:{c=a+1|0;while(1){if((b[c>>0]|0)==39){c=c+1|0;if((b[c>>0]|0)!=39){f=5;break}}c=c+1|0;if(!(b[c>>0]|0)){c=0;f=5;break}}if((f|0)==5)return c|0;break}default:{switch(c<<24>>24){case 45:case 43:{c=a+1|0;break}default:c=a}while(1){d=b[c>>0]|0;e=c+1|0;if((d+-48&255)>9)break;else c=e}if(d<<24>>24!=46){g=c;a=(g|0)==(a|0);g=a?0:g;return g|0}if(((b[e>>0]|0)+-48&255)>9){g=c;a=(g|0)==(a|0);g=a?0:g;return g|0}c=c+2|0;while(1)if(((b[c>>0]|0)+-48&255)>9)break;else c=c+1|0;g=(c|0)==(a|0);g=g?0:c;return g|0}}return 0}function mw(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;u=t;t=t+16|0;o=u+8|0;k=u;if((d|0)==6?(j=f[e+4>>2]|0,(wz(j)|0)==4):0)j=(Hz(59743,j,4)|0)==0;else j=0;if((d|0)!=5&(j^1)){a=wd(67993,k)|0;f[i>>2]=a;a=0;c=1;f[g>>2]=a;t=u;return c|0}s=e+12|0;r=f[(j?s:e+4|0)>>2]|0;n=e+16|0;s=f[(j?n:s)>>2]|0;j=f[(j?e+20|0:n)>>2]|0;n=wz(r)|0;p=n+1|0;q=(wz(s)|0)+1|0;d=wz(j)|0;m=Fd(d+1|0)|0;if(!m){a=0;c=7;f[g>>2]=a;t=u;return c|0}YA(m|0,j|0,d|0)|0;b[m+d>>0]=0;j=b[m>>0]|0;switch(j<<24>>24){case 96:case 34:case 39:case 91:{l=j<<24>>24==91?93:j;d=b[m+1>>0]|0;a:do if(!(d<<24>>24))j=0;else{e=1;j=0;while(1){k=e+1|0;if(d<<24>>24==l<<24>>24){if((b[m+k>>0]|0)!=l<<24>>24)break a;k=e+2|0;d=l}b[m+j>>0]=d;j=j+1|0;d=b[m+k>>0]|0;if(!(d<<24>>24))break;else e=k}}while(0);b[m+j>>0]=0;j=b[m>>0]|0;break}default:{}}e=h[1232+(j&255)>>0]|0;d=e+-99|0;l=j<<24>>24==0;if(l|(d|0)!=0)j=d;else{d=68026;k=m;do{k=k+1|0;d=d+1|0;v=b[k>>0]|0;j=(h[1232+(v&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(v<<24>>24==0|(j|0)!=0))}if(j){j=e+-114|0;if(!(l|(j|0)!=0)){d=68030;k=m;do{k=k+1|0;d=d+1|0;v=b[k>>0]|0;j=(h[1232+(v&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(v<<24>>24==0|(j|0)!=0))}if(j){j=e+-105|0;if(!(l|(j|0)!=0)){d=68034;k=m;do{k=k+1|0;d=d+1|0;v=b[k>>0]|0;j=(h[1232+(v&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(v<<24>>24==0|(j|0)!=0))}if(!j){k=2;j=0}else{f[o>>2]=m;k=wd(68043,o)|0;f[i>>2]=k;k=0;j=1}}else{k=1;j=0}}else{k=0;j=0}if(!(f[9328]|0))ob[f[37360>>2]&127](m);else{v=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m)}if(j|0){c=0;v=1;f[g>>2]=c;t=u;return v|0}j=wk(a,f[39292+(k<<2)>>2]|0)|0;d=n+33+q|0;if(j|0){c=0;v=j;f[g>>2]=c;t=u;return v|0}i=Fd(d)|0;if(!i){c=0;v=(d|0)>0?7:0;f[g>>2]=c;t=u;return v|0}_A(i|0,0,d|0)|0;f[i+24>>2]=c;f[i+28>>2]=k;f[i+20>>2]=a;v=i+32|0;m=i+12|0;f[m>>2]=v;j=v+q|0;n=i+16|0;f[n>>2]=j;YA(v|0,s|0,q|0)|0;YA(j|0,r|0,p|0)|0;m=f[m>>2]|0;j=b[m>>0]|0;switch(j<<24>>24){case 96:case 34:case 39:case 91:{l=j<<24>>24==91?93:j;d=b[m+1>>0]|0;b:do if(!(d<<24>>24))j=0;else{e=1;j=0;while(1){k=e+1|0;if(d<<24>>24==l<<24>>24){if((b[m+k>>0]|0)!=l<<24>>24)break b;k=e+2|0;d=l}b[m+j>>0]=d;j=j+1|0;d=b[m+k>>0]|0;if(!(d<<24>>24))break;else e=k}}while(0);b[m+j>>0]=0;break}default:{}}m=f[n>>2]|0;j=b[m>>0]|0;switch(j<<24>>24){case 96:case 34:case 39:case 91:break;default:{c=i;v=0;f[g>>2]=c;t=u;return v|0}}l=j<<24>>24==91?93:j;d=b[m+1>>0]|0;c:do if(!(d<<24>>24))j=0;else{e=1;j=0;while(1){k=e+1|0;if(d<<24>>24==l<<24>>24){if((b[m+k>>0]|0)!=l<<24>>24)break c;k=e+2|0;d=l}b[m+j>>0]=d;j=j+1|0;d=b[m+k>>0]|0;if(!(d<<24>>24))break;else e=k}}while(0);b[m+j>>0]=0;c=i;v=0;f[g>>2]=c;t=u;return v|0}function nw(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(d&1|0){r=1;return r|0}a:do if(!(Mc()|0)){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](180)|0;if(!g){g=0;a=7;r=77;break}}else{a=ib[f[37372>>2]&255](180)|0;if((f[18194]|0)>>>0<180)f[18194]=180;i=71896;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){q=f[18187]|0;p=LA(g|0,i|0,a|0,((a|0)<0)<<31>>31|0)|0;o=ba()|0;f[17976]=((o|0)<0|(o|0)==0&p>>>0<=q>>>0)&1}g=ib[f[37356>>2]&255](a)|0;if(!g){g=0;a=7;r=77;break}a=ib[f[37368>>2]&255](g)|0;a=(f[18187]|0)+a|0;f[18187]=a;if(a>>>0>(f[18191]|0)>>>0)f[18191]=a;a=(f[18190]|0)+1|0;f[18190]=a;if(a>>>0>(f[18196]|0)>>>0)f[18196]=a}_A(g|0,0,180)|0;q=g+136|0;f[q>>2]=1;f[g+132>>2]=64;do if(!(Mc()|0)){if(f[9328]|0){a=ib[f[37372>>2]&255](64)|0;if((f[18194]|0)>>>0<64)f[18194]=64;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){p=f[18187]|0;o=LA(i|0,k|0,a|0,((a|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&o>>>0<=p>>>0)&1}a=ib[f[37356>>2]&255](a)|0;if(!a)break;i=ib[f[37368>>2]&255](a)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}else a=ib[f[37356>>2]&255](64)|0;f[g+128>>2]=a;n=(a|0)!=0;o=(d|0)>0;if(n&o){m=0;a=68492;do{k=f[c+(m<<2)>>2]|0;if(k){p=b[k>>0]|0;i=(h[1232+(p&255)>>0]|0)+-99|0;if(!(p<<24>>24==0|(i|0)!=0)){l=68501;do{k=k+1|0;l=l+1|0;p=b[k>>0]|0;i=(h[1232+(p&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(p<<24>>24==0|(i|0)!=0))}if(!i)a=f[c+((m|1)<<2)>>2]|0}m=m+2|0}while((m|0)<(d|0))}else a=68492;if(!n){a=7;r=77;break a}i=b[a>>0]|0;b:do if(i<<24>>24){k=g+148|0;while(1){switch(i<<24>>24){case 9:case 32:{i=a+1|0;a=i;i=b[i>>0]|0;break}case 0:{r=44;break}default:if(!(zw(a,k)|0))r=44;else{a=1;r=77;break a}}c:do if((r|0)==44){r=0;while(1){i=b[a>>0]|0;switch(i<<24>>24){case 0:break b;case 32:case 9:break c;default:{}}a=a+1|0}}while(0)}}while(0);l=0;a=0;while(1){i=j[31392+(l<<1)>>1]|0;p=i>>>5;k=p+a|0;if((a|0)<128&(p|0)!=0){n=a+-128|0;p=a+1|0;p=a-((k|0)>(p|0)?k:p)|0;p=n>>>0>p>>>0?n:p;_A(g+a|0,b[(i&31)+(g+148)>>0]|0,0-p|0)|0;a=a-p|0}if((a|0)<128)l=l+1|0;else break}if(!o){a=0;break a}p=0;do{n=f[c+((p|1)<<2)>>2]|0;i=f[c+(p<<2)>>2]|0;if(!i){a=1;r=77;break a}o=b[i>>0]|0;m=h[1232+(o&255)>>0]|0;a=m+-114|0;o=o<<24>>24==0;if(!(o|(a|0)!=0)){k=68512;l=i;do{l=l+1|0;k=k+1|0;s=b[l>>0]|0;a=(h[1232+(s&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(a|0)!=0))}do if(!a){i=b[n>>0]|0;if((i&-2)<<24>>24==48?(b[n+1>>0]|0)==0:0)a=0;else a=1;f[q>>2]=i<<24>>24==49&1}else{a=m+-116|0;if(!(o|(a|0)!=0)){k=68470;l=i;do{l=l+1|0;k=k+1|0;s=b[l>>0]|0;a=(h[1232+(s&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(a|0)!=0))}if(!a){a=Aw(g,n,1)|0;break}a=m+-115|0;if(!(o|(a|0)!=0)){k=68481;l=i;do{l=l+1|0;k=k+1|0;s=b[l>>0]|0;a=(h[1232+(s&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(a|0)!=0))}if(!a){a=Aw(g,n,0)|0;break}a=m+-99|0;if(!(o|(a|0)!=0)){k=68501;do{i=i+1|0;k=k+1|0;s=b[i>>0]|0;a=(h[1232+(s&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(a|0)!=0))}a=(a|0)!=0&1}while(0);p=p+2|0}while((p|0)<(d|0)&(a|0)==0);if(!a){a=0;break a}else{r=77;break a}}while(0);f[g+128>>2]=0;a=7;r=77}else{g=0;a=7;r=77}while(0);if((r|0)==77){ow(g);g=0}f[e>>2]=g;s=a;return s|0}function ow(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+144>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+128>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function pw(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=e+g|0;x=a+128|0;q=f[x>>2]|0;y=a+132|0;m=f[y>>2]|0;u=e;v=a+136|0;o=q+(m+-6)|0;g=e;d=0;a:while(1){switch(d|0){case 101:{p=47;break a}case 0:break;default:{p=48;break a}}if(g>>>0>=w>>>0){p=47;break}d=g;while(1){l=b[d>>0]|0;g=l&255;if(g&128){e=d+1|0;if((l&255)>191){g=h[5728+(g+-192)>>0]|0;b:do if((e|0)==(w|0))e=w;else while(1){j=b[e>>0]|0;if((j&-64)<<24>>24!=-128)break b;e=e+1|0;g=g<<6|j&63;if((e|0)==(w|0)){e=w;break}}while(0);g=(g&-2|0)==65534|((g|0)<128|(g&-2048|0)==55296)?65533:g}if(!(xw(a,g)|0))d=e;else{p=34;break}}else{if(b[a+g>>0]|0){p=14;break}d=d+1|0}if(d>>>0>=w>>>0){d=0;p=48;break a}}if((p|0)==14){n=d-u|0;e=q;j=o;k=q;g=l;p=44}else if((p|0)==34){s=d-u|0;t=q;r=m;d=e;p=35}while(1){if((p|0)==35){g=yw(g,f[v>>2]|0)|0;if(!g){n=s;j=o;g=r;k=q;e=t}else{if((g|0)<128){e=t;l=1}else{if((g|0)<2048){m=2;l=t;e=1;j=192;k=31}else{if((g|0)<65536){j=3;e=2;k=t;n=1;l=224;m=15}else{b[t>>0]=g>>>18&7|240;j=4;e=3;k=t+1|0;n=2;l=128;m=63}b[k>>0]=g>>>12&m|l;m=j;l=t+n|0;j=128;k=63}b[l>>0]=g>>>6&k|j;e=t+e|0;l=m;g=g&63|128}b[e>>0]=g;n=s;j=o;g=r;k=q;e=t+l|0}}else if((p|0)==44){b[e>>0]=(g+-65&255)<26?(g&255)+32&255:g;g=m;e=e+1|0;d=d+1|0}p=d-u|0;if(d>>>0>=w>>>0)break;if(e>>>0>j>>>0){j=g<<1;k=Fd(j)|0;if(!k){d=7;p=48;break a}t=f[x>>2]|0;e=k+(e-t)|0;YA(k|0,t|0,g|0)|0;g=f[x>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{t=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-t;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[x>>2]=k;f[y>>2]=j;o=k+(j+-6)|0;m=j}else{o=j;m=g}l=b[d>>0]|0;g=l&255;if(!(g&128))if(!(b[a+g>>0]|0)){j=o;g=m;break}else{j=o;g=l;p=44;continue}d=d+1|0;if((l&255)>191){g=h[5728+(g+-192)>>0]|0;c:do if((d|0)==(w|0))d=w;else while(1){j=b[d>>0]|0;if((j&-64)<<24>>24!=-128)break c;d=d+1|0;g=g<<6|j&63;if((d|0)==(w|0)){d=w;break}}while(0);g=(g&-2|0)==65534|((g|0)<128|(g&-2048|0)==55296)?65533:g}if(xw(a,g)|0){s=n;t=e;r=m;q=k;p=35;continue}j=g+-768|0;if(j>>>0>49){j=o;g=m;break}t=(g|0)<800;if(!(1<<(t?j:g+-800|0)&(t?134389727:221688))){j=o;g=m;break}else{s=n;t=e;r=m;q=k;p=35}}o=j;m=g;q=k;g=d;d=nb[i&127](c,0,k,e-k|0,n,p)|0}if((p|0)==47){i=0;return i|0}else if((p|0)==48)return d|0;return 0}function qw(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(d&1|0){d=0;q=1;f[e>>2]=d;return q|0}if(Mc()|0){d=0;q=7;f[e>>2]=d;return q|0}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](128)|0;if(!a){d=a;q=7;f[e>>2]=d;return q|0}else p=a}else{a=ib[f[37372>>2]&255](128)|0;if((f[18194]|0)>>>0<128)f[18194]=128;i=71896;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){p=f[18187]|0;o=LA(g|0,i|0,a|0,((a|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&o>>>0<=p>>>0)&1}g=ib[f[37356>>2]&255](a)|0;if(!g){d=0;q=7;f[e>>2]=d;return q|0}a=ib[f[37368>>2]&255](g)|0;a=(f[18187]|0)+a|0;f[18187]=a;if(a>>>0>(f[18191]|0)>>>0)f[18191]=a;a=(f[18190]|0)+1|0;f[18190]=a;if(a>>>0>(f[18196]|0)>>>0)f[18196]=a;p=g;a=g}g=p;i=27024;j=g+128|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));if((d|0)<=0){d=a;q=0;f[e>>2]=d;return q|0}n=0;while(1){o=f[c+((n|1)<<2)>>2]|0;i=f[c+(n<<2)>>2]|0;if(!i)break;m=b[i>>0]|0;l=h[1232+(m&255)>>0]|0;g=l+-116|0;m=m<<24>>24==0;if(!(m|(g|0)!=0)){j=68470;k=i;do{k=k+1|0;j=j+1|0;r=b[k>>0]|0;g=(h[1232+(r&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(r<<24>>24==0|(g|0)!=0))}if(!g){g=b[o>>0]|0;if(g<<24>>24){i=0;do{g=g<<24>>24;if(!(g&128))b[a+g>>0]=1;i=i+1|0;g=b[o+i>>0]|0}while(g<<24>>24!=0)}}else{g=l+-115|0;if(!(m|(g|0)!=0)){j=68481;do{i=i+1|0;j=j+1|0;r=b[i>>0]|0;g=(h[1232+(r&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(r<<24>>24==0|(g|0)!=0))}if(g|0)break;g=b[o>>0]|0;if(g<<24>>24){i=0;do{g=g<<24>>24;if(!(g&128))b[a+g>>0]=0;i=i+1|0;g=b[o+i>>0]|0}while(g<<24>>24!=0)}}n=n+2|0;if((n|0)>=(d|0)){g=0;q=41;break}}if((q|0)==41){f[e>>2]=a;return g|0}if(!p){q=0;r=1;f[e>>2]=q;return r|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](p);q=0;r=1;f[e>>2]=q;return r|0}else{q=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);q=0;r=1;f[e>>2]=q;return r|0}return 0}function rw(a){a=a|0;var b=0;if(!a)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function sw(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=t;t=t+64|0;p=q;if((g|0)<=0){r=0;t=q;return r|0}d=p;m=64;j=0;while(1){a:do if((j|0)<(g|0)){i=j;do{j=b[e+i>>0]|0;if(j&128|0)break a;if(b[a+j>>0]|0)break a;i=i+1|0}while((i|0)<(g|0))}else i=j;while(0);if((i|0)==(g|0)){i=0;break}j=i+1|0;b:do if((j|0)<(g|0)){k=i;l=j;while(1){o=b[e+l>>0]|0;if((o&128|0)==0?(b[a+o>>0]|0)==0:0){j=l;break b}j=l+1|0;if((j|0)<(g|0)){k=l;l=j}else{k=l;break}}}else k=i;while(0);o=j-i|0;if((o|0)>(m|0)){do if(!((d|0)==(p|0)|(d|0)==0))if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{n=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);l=o<<1;d=Fd(l)|0;if(!d){d=7;r=29;break}}else l=m;n=e+i|0;if((o|0)>0){m=0;do{s=b[n+m>>0]|0;b[d+m>>0]=(s+-65&255)<26?(s&255)+32&255:s;m=m+1|0}while((m|0)!=(o|0))}i=nb[h&127](c,0,d,o,i,j)|0;j=k+2|0;if(!((j|0)<(g|0)&(i|0)==0))break;else m=l}if((r|0)==29){t=q;return d|0}do if(!((d|0)==(p|0)|(d|0)==0))if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{s=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);s=(i|0)==101?0:i;t=q;return s|0}function tw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=t;t=t+16|0;k=l;f[k>>2]=0;j=(c|0)>0;if(j)i=f[b>>2]|0;else i=60010;if(Mc()|0){b=0;k=7;f[d>>2]=b;t=l;return k|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](144)|0;if(!e){b=0;k=7;f[d>>2]=b;t=l;return k|0}else h=e}else{e=ib[f[37372>>2]&255](144)|0;if((f[18194]|0)>>>0<144)f[18194]=144;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){m=f[18187]|0;h=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&h>>>0<=m>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(!g){k=0;m=7;f[d>>2]=k;t=l;return m|0}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0){f[18196]=e;h=g}else h=g}_A(h|0,0,144)|0;e=lb[f[a+8>>2]&127](a,i,k,h)|0;g=j?c+-1|0:0;if(!e){e=lb[f[h>>2]&127](f[k>>2]|0,(g|0)==0?0:b+4|0,g,h+12|0)|0;if(!e){k=h;m=0;f[d>>2]=k;t=l;return m|0}}g=f[h+12>>2]|0;if(g|0)ob[f[h+4>>2]&127](g);if(!(f[9328]|0)){ob[f[37360>>2]&127](h);k=0;m=e;f[d>>2]=k;t=l;return m|0}else{k=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);k=0;m=e;f[d>>2]=k;t=l;return m|0}return 0}function uw(a){a=a|0;var b=0;if(!a)return;b=f[a+12>>2]|0;if(b|0)ob[f[a+4>>2]&127](b);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function vw(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;h=t;t=t+16|0;i=h;f[i+4>>2]=g;f[i>>2]=b;f[i+8>>2]=a+16;g=nb[f[a+8>>2]&127](f[a+12>>2]|0,i,c,d,e,87)|0;t=h;return g|0}function ww(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;j=e+-3|0;if(j>>>0>61){L=nb[f[a+4>>2]&127](f[a>>2]|0,c,d,e,g,h)|0;return L|0}L=f[a+8>>2]|0;YA(L|0,d|0,e|0)|0;i=e+-1|0;a:do if((b[L+i>>0]|0)==115){d=e+-2|0;switch(b[L+d>>0]|0){case 115:{d=e;break a}case 101:break;default:{d=i;break a}}if((e|0)>4)if((b[L+(e+-4)>>0]|0)==115?(b[L+j>>0]|0)==115:0)break;else J=8;else if((e|0)==4)J=8;if((J|0)==8?(b[L+j>>0]|0)==105:0)break;d=i}else d=e;while(0);e=d+-2|0;i=L+e|0;b:do switch(b[i>>0]|0){case 101:{if((d|0)>3){k=d+-3|0;l=L+k|0;if(!(Hz(68201,l,3)|0)){i=0;j=0;c:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break c}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break b;d:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break d}}if((i|0)<(k|0))j=0;else break b}if(!i)break b;b[l>>0]=101;b[l+1>>0]=101;d=d+-1|0;break b}}else if((d|0)!=3)break b;if(!(Hz(68205,i,2)|0)){i=0;while(1){j=b[L+i>>0]|0;w=j+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{d=e;J=38;break b}default:{}}if(!((i|0)==0|j<<24>>24!=121)){d=e;J=38;break b}i=i+1|0;if((i|0)>=(e|0))break b}}break}case 110:{if((d|0)>3?(k=d+-3|0,(Hz(68208,L+k|0,3)|0)==0):0){i=0;while(1){j=b[L+i>>0]|0;w=j+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{d=k;J=38;break b}default:{}}if(!((i|0)==0|j<<24>>24!=121)){d=k;J=38;break b}i=i+1|0;if((i|0)>=(k|0))break b}}break}default:{}}while(0);e:do if((J|0)==38){i=L+(d+-2)|0;j=b[i>>0]|0;switch(j<<24>>24|0){case 97:{if((d|0)>2?(Hz(68212,i,2)|0)==0:0){b[i>>0]=b[68215]|0;b[i+1>>0]=b[68216]|0;b[i+2>>0]=b[68217]|0;d=d+1|0;break e}break}case 98:{if((d|0)>2?(Hz(68219,i,2)|0)==0:0){b[i>>0]=b[68222]|0;b[i+1>>0]=b[68223]|0;b[i+2>>0]=b[68224]|0;d=d+1|0;break e}break}case 105:{if((d|0)>2?(Hz(68226,i,2)|0)==0:0){b[i>>0]=b[68229]|0;b[i+1>>0]=b[68230]|0;b[i+2>>0]=b[68231]|0;d=d+1|0;break e}break}default:{}}i=d+-1|0;n=b[L+i>>0]|0;w=n+-97<<24>>24;f:do switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:break;default:{switch(n<<24>>24){case 108:case 115:case 122:break f;default:{}}if(n<<24>>24==j<<24>>24){d=i;break e}}}while(0);m=(d|0)>0;g:do if(m){i=0;j=0;while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break g}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break g}i=i+1|0;if((i|0)<(d|0))j=1;else{j=1;break g}}}else{i=0;j=0}while(0);i=i+1|0;if((i|0)<(d|0)){h:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break h}}if((i|0)<(d|0))j=0;else break e}if(i){l=L+i|0;k=d-i|0;i:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;w=j+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break i}default:{}}if(j<<24>>24==121){j=0;break i}i=i+1|0;if((i|0)>=(k|0)){j=1;break i}}}else{i=0;j=1}while(0);i=i+1|0;j:do if((i|0)<(k|0)){k:while(1){e=b[l+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break k}}if((i|0)<(k|0))j=0;else break j}if(i|0)break e}while(0);if(m&(n+-119&255)>2){e=0;k=0;i=0;do{j=b[L+k>>0]|0;w=j+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=1;break}default:i=(i|0)!=0&j<<24>>24==121&1}i=i^1;e=i|e<<1;k=k+1|0}while((k|0)!=(d|0));if((e&7|0)==5){b[L+d>>0]=101;d=d+1|0}}}}}while(0);m=d+-1|0;j=L+m|0;l:do if((d|0)>1&(b[j>>0]|0)==121){i=0;m:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:break m;default:{}}if(!((i|0)==0|e<<24>>24!=121))break;i=i+1|0;if((i|0)>=(m|0))break l}b[j>>0]=105}while(0);w=d+-2|0;n:do switch(b[L+w>>0]|0){case 97:{if((d|0)>7){k=d+-7|0;l=L+k|0;if(!(Hz(68233,l,7)|0)){i=0;j=0;o:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break o}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;p:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break p}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=b[68215]|0;b[l+1>>0]=b[68216]|0;b[l+2>>0]=b[68217]|0;d=d+-4|0;break n}}else if((d|0)!=7)break n;k=d+-6|0;l=L+k|0;if(!(Hz(68241,l,6)|0)){i=0;j=0;q:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break q}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(k|0)){r:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break r}}if((i|0)<(k|0))j=0;else break n}if(i){b[l>>0]=116;b[l+1>>0]=105;b[l+2>>0]=111;b[l+3>>0]=110;d=w}}}break}case 99:{if((d|0)>4){k=d+-4|0;l=L+k|0;if(!(Hz(68248,l,4)|0)){i=0;j=0;s:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break s}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;t:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break t}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=101;b[l+1>>0]=110;b[l+2>>0]=99;b[l+3>>0]=101;break n}if(!(Hz(68253,l,4)|0)){i=0;j=0;u:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break u}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(k|0)){v:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break v}}if((i|0)<(k|0))j=0;else break n}if(i){b[l>>0]=97;b[l+1>>0]=110;b[l+2>>0]=99;b[l+3>>0]=101}}}}break}case 101:{if((d|0)>4?(o=d+-4|0,p=L+o|0,(Hz(68258,p,4)|0)==0):0){i=0;j=0;w:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break w}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(o|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(o|0)){x:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break x}}if((i|0)<(o|0))j=0;else break n}if(i){b[p>>0]=b[68229]|0;b[p+1>>0]=b[68230]|0;b[p+2>>0]=b[68231]|0;d=m}}}break}case 103:{if((d|0)>4?(q=d+-4|0,r=L+q|0,(Hz(68263,r,4)|0)==0):0){i=0;j=0;y:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break y}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(q|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(q|0)){z:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break z}}if((i|0)<(q|0))j=0;else break n}if(i){b[r>>0]=b[47891]|0;b[r+1>>0]=b[47892]|0;b[r+2>>0]=b[47893]|0;d=m}}}break}case 108:{if((d|0)>3){m=d+-3|0;n=L+m|0;if(!(Hz(68268,n,3)|0)){i=0;j=0;A:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break A}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(m|0))break n;B:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break B}}if((i|0)<(m|0))j=0;else break n}if(!i)break n;b[n>>0]=b[68222]|0;b[n+1>>0]=b[68223]|0;b[n+2>>0]=b[68224]|0;break n}if((d|0)>4){k=d+-4|0;l=L+k|0;if(!(Hz(68272,l,4)|0)){i=0;j=0;C:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break C}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;D:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break D}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=97;b[l+1>>0]=108;d=w;break n}if((d|0)>5){k=d+-5|0;l=L+k|0;if(!(Hz(68277,l,5)|0)){i=0;j=0;E:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break E}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;F:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break F}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=b[68283]|0;b[l+1>>0]=b[68284]|0;b[l+2>>0]=b[68285]|0;d=w;break n}else i=1}else i=0}else i=0;if(!(Hz(68287,n,3)|0)){i=0;j=0;G:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break G}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(m|0))break n;H:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break H}}if((i|0)<(m|0))j=0;else break n}if(!i)break n;b[n>>0]=101;d=w;break n}if(i?(u=d+-5|0,v=L+u|0,(Hz(68291,v,5)|0)==0):0){I:do if((d|0)>5){i=0;j=0;while(1){e=b[L+i>>0]|0;t=e+-97<<24>>24;switch(((t&255)>>>1|t<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break I}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break I}i=i+1|0;if((i|0)<(u|0))j=1;else{j=1;break I}}}else{i=0;j=0}while(0);i=i+1|0;if((i|0)<(u|0)){J:while(1){e=b[L+i>>0]|0;t=e+-97<<24>>24;switch(((t&255)>>>1|t<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break J}}if((i|0)<(u|0))j=0;else break n}if(i){b[v>>0]=b[68297]|0;b[v+1>>0]=b[68298]|0;b[v+2>>0]=b[68299]|0;d=w}}}}break}case 111:{if((d|0)>7){k=d+-7|0;l=L+k|0;if(!(Hz(68301,l,7)|0)){i=0;j=0;K:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break K}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;L:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break L}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=b[68229]|0;b[l+1>>0]=b[68230]|0;b[l+2>>0]=b[68231]|0;d=d+-4|0;break n}else J=257}else if((d|0)<=5){if((d|0)!=5)break n}else J=257;if((J|0)==257?(s=d+-5|0,t=L+s|0,(Hz(68309,t,5)|0)==0):0){i=0;j=0;M:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break M}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(s|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(s|0))break n;N:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break N}}if((i|0)<(s|0))j=0;else break n}if(!i)break n;b[t>>0]=b[68215]|0;b[t+1>>0]=b[68216]|0;b[t+2>>0]=b[68217]|0;d=w;break n}k=d+-4|0;l=L+k|0;if(!(Hz(68315,l,4)|0)){i=0;j=0;O:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break O}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(k|0)){P:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break P}}if((i|0)<(k|0))j=0;else break n}if(i){b[l>>0]=b[68215]|0;b[l+1>>0]=b[68216]|0;b[l+2>>0]=b[68217]|0;d=m}}}break}case 115:{if((d|0)>5){k=d+-5|0;l=L+k|0;if(!(Hz(68320,l,5)|0)){i=0;j=0;Q:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Q}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;R:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break R}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=97;b[l+1>>0]=108;d=d+-3|0;break n}if((d|0)>7){k=d+-7|0;l=L+k|0;if(!(Hz(68326,l,7)|0)){i=0;j=0;S:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break S}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;T:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break T}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=b[68334]|0;b[l+1>>0]=b[68335]|0;b[l+2>>0]=b[68336]|0;d=d+-4|0;break n}if(!(Hz(68338,l,7)|0)){i=0;j=0;U:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break U}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;V:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break V}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=b[68346]|0;b[l+1>>0]=b[68347]|0;b[l+2>>0]=b[68348]|0;d=d+-4|0;break n}if(!(Hz(68350,l,7)|0)){i=0;j=0;W:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break W}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(k|0)){X:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break X}}if((i|0)<(k|0))j=0;else break n}if(i){b[l>>0]=b[68297]|0;b[l+1>>0]=b[68298]|0;b[l+2>>0]=b[68299]|0;d=d+-4|0}}}}}break}case 116:{if((d|0)>5){k=d+-5|0;l=L+k|0;if(!(Hz(68358,l,5)|0)){i=0;j=0;Y:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Y}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;Z:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Z}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=97;b[l+1>>0]=108;d=d+-3|0;break n}if(!(Hz(68364,l,5)|0)){i=0;j=0;_:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break _}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break n;$:while(1){e=b[L+i>>0]|0;v=e+-97<<24>>24;switch(((v&255)>>>1|v<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break $}}if((i|0)<(k|0))j=0;else break n}if(!i)break n;b[l>>0]=b[68334]|0;b[l+1>>0]=b[68335]|0;b[l+2>>0]=b[68336]|0;d=w;break n}if((d|0)>6){k=d+-6|0;l=L+k|0;if(!(Hz(68370,l,6)|0)){i=0;j=0;aa:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break aa}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(k|0)){ba:while(1){e=b[L+i>>0]|0;w=e+-97<<24>>24;switch(((w&255)>>>1|w<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break ba}}if((i|0)<(k|0))j=0;else break n}if(i){b[l>>0]=b[68222]|0;b[l+1>>0]=b[68223]|0;b[l+2>>0]=b[68224]|0;d=d+-3|0}}}}else d=6}break}default:{}}while(0);k=d+-2|0;ca:do switch(b[L+k>>0]|0){case 97:{if((d|0)>4?(B=d+-4|0,C=L+B|0,(Hz(68377,C,4)|0)==0):0){i=0;j=0;da:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break da}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(B|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(B|0)){ea:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break ea}}if((i|0)<(B|0))j=0;else break ca}if(i){b[C>>0]=105;b[C+1>>0]=99;d=k}}}break}case 115:{if((d|0)>4?(D=d+-4|0,(Hz(68382,L+D|0,4)|0)==0):0){i=0;j=0;fa:while(1){e=b[L+i>>0]|0;C=e+-97<<24>>24;switch(((C&255)>>>1|C<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break fa}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(D|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(D|0)){ga:while(1){e=b[L+i>>0]|0;C=e+-97<<24>>24;switch(((C&255)>>>1|C<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break ga}}if((i|0)<(D|0))j=0;else break ca}d=(i|0)==0?d:D}}break}case 116:{if((d|0)>5){k=d+-5|0;l=L+k|0;if(!(Hz(68387,l,5)|0)){i=0;j=0;ha:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break ha}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(k|0))break ca;ia:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break ia}}if((i|0)<(k|0))j=0;else break ca}if(!i)break ca;b[l>>0]=105;b[l+1>>0]=99;d=d+-3|0;break ca}if(!(Hz(68393,l,5)|0)){i=0;j=0;ja:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break ja}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(k|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(k|0)){ka:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break ka}}if((i|0)<(k|0))j=0;else break ca}if(i){b[l>>0]=105;b[l+1>>0]=99;d=d+-3|0}}}}break}case 117:{if((d|0)>3?(x=d+-3|0,(Hz(68346,L+x|0,3)|0)==0):0){i=0;j=0;la:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break la}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(x|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(x|0)){ma:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break ma}}if((i|0)<(x|0))j=0;else break ca}d=(i|0)==0?d:x}}break}case 118:{if((d|0)>5?(y=d+-5|0,(Hz(68399,L+y|0,5)|0)==0):0){i=0;j=0;na:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break na}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(y|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(y|0)){oa:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break oa}}if((i|0)<(y|0))j=0;else break ca}d=(i|0)==0?d:y}}break}case 122:{if((d|0)>5?(z=d+-5|0,A=L+z|0,(Hz(68405,A,5)|0)==0):0){i=0;j=0;pa:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break pa}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(z|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(z|0)){qa:while(1){e=b[L+i>>0]|0;D=e+-97<<24>>24;switch(((D&255)>>>1|D<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break qa}}if((i|0)<(z|0))j=0;else break ca}if(i){b[A>>0]=97;b[A+1>>0]=108;d=d+-3|0}}}break}default:{}}while(0);n=d+-2|0;i=L+n|0;ra:do switch(b[i>>0]|0){case 97:{if((d|0)>2?(Hz(68411,i,2)|0)==0:0){i=0;j=0;sa:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break sa}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(n|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(n|0)){ta:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break ta}}if((i|0)<(n|0))j=0;else break ra}if(i){l=L+i|0;k=n-i|0;ua:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break ua}default:{}}if(j<<24>>24==121){j=0;break ua}i=i+1|0;if((i|0)>=(k|0)){j=1;break ua}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){va:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break va}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:n}}}}break}case 99:{if((d|0)>4){m=d+-4|0;i=L+m|0;if(!(Hz(68414,i,4)|0)){i=0;j=0;wa:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break wa}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(m|0))break ra;xa:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break xa}}if((i|0)<(m|0))j=0;else break ra}if(!i)break ra;l=L+i|0;k=m-i|0;ya:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break ya}default:{}}if(j<<24>>24==121){j=0;break ya}i=i+1|0;if((i|0)>=(k|0)){j=1;break ya}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)>=(k|0))break ra;za:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break za}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:m;break ra}if(!(Hz(68419,i,4)|0)){i=0;j=0;Aa:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Aa}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(m|0)){Ba:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Ba}}if((i|0)<(m|0))j=0;else break ra}if(i){l=L+i|0;k=m-i|0;Ca:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ca}default:{}}if(j<<24>>24==121){j=0;break Ca}i=i+1|0;if((i|0)>=(k|0)){j=1;break Ca}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){Da:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Da}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:m}}}}}break}case 101:{if((d|0)>2?(Hz(68424,i,2)|0)==0:0){i=0;j=0;Ea:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ea}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(n|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(n|0)){Fa:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Fa}}if((i|0)<(n|0))j=0;else break ra}if(i){l=L+i|0;k=n-i|0;Ga:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ga}default:{}}if(j<<24>>24==121){j=0;break Ga}i=i+1|0;if((i|0)>=(k|0)){j=1;break Ga}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){Ha:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Ha}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:n}}}}break}case 105:{if((d|0)>2?(Hz(68427,i,2)|0)==0:0){i=0;j=0;Ia:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ia}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(n|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(n|0)){Ja:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Ja}}if((i|0)<(n|0))j=0;else break ra}if(i){l=L+i|0;k=n-i|0;Ka:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ka}default:{}}if(j<<24>>24==121){j=0;break Ka}i=i+1|0;if((i|0)>=(k|0)){j=1;break Ka}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){La:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break La}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:n}}}}break}case 108:{if((d|0)>4){m=d+-4|0;i=L+m|0;if(!(Hz(68430,i,4)|0)){i=0;j=0;Ma:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ma}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(m|0))break ra;Na:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Na}}if((i|0)<(m|0))j=0;else break ra}if(!i)break ra;l=L+i|0;k=m-i|0;Oa:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Oa}default:{}}if(j<<24>>24==121){j=0;break Oa}i=i+1|0;if((i|0)>=(k|0)){j=1;break Oa}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)>=(k|0))break ra;Pa:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Pa}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:m;break ra}if(!(Hz(68435,i,4)|0)){i=0;j=0;Qa:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Qa}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(m|0)){Ra:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Ra}}if((i|0)<(m|0))j=0;else break ra}if(i){l=L+i|0;k=m-i|0;Sa:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Sa}default:{}}if(j<<24>>24==121){j=0;break Sa}i=i+1|0;if((i|0)>=(k|0)){j=1;break Sa}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){Ta:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Ta}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:m}}}}}break}case 110:{if((d|0)>3){n=d+-3|0;i=L+n|0;if(!(Hz(68440,i,3)|0)){i=0;j=0;Ua:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ua}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(n|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(n|0))break ra;Va:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Va}}if((i|0)<(n|0))j=0;else break ra}if(!i)break ra;l=L+i|0;k=n-i|0;Wa:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Wa}default:{}}if(j<<24>>24==121){j=0;break Wa}i=i+1|0;if((i|0)>=(k|0)){j=1;break Wa}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)>=(k|0))break ra;Xa:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Xa}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:n;break ra}if((d|0)>5){m=d+-5|0;if(!(Hz(68444,L+m|0,5)|0)){i=0;j=0;Ya:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ya}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(m|0))break ra;Za:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Za}}if((i|0)<(m|0))j=0;else break ra}if(!i)break ra;l=L+i|0;k=m-i|0;_a:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break _a}default:{}}if(j<<24>>24==121){j=0;break _a}i=i+1|0;if((i|0)>=(k|0)){j=1;break _a}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)>=(k|0))break ra;$a:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break $a}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:m;break ra}else J=699}else if((d|0)==5)J=699;if((J|0)==699?(I=d+-4|0,(Hz(68450,L+I|0,4)|0)==0):0){i=0;j=0;ab:while(1){e=b[L+i>>0]|0;H=e+-97<<24>>24;switch(((H&255)>>>1|H<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break ab}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(I|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(I|0))break ra;bb:while(1){e=b[L+i>>0]|0;H=e+-97<<24>>24;switch(((H&255)>>>1|H<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break bb}}if((i|0)<(I|0))j=0;else break ra}if(!i)break ra;l=L+i|0;k=I-i|0;cb:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;H=j+-97<<24>>24;switch(((H&255)>>>1|H<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break cb}default:{}}if(j<<24>>24==121){j=0;break cb}i=i+1|0;if((i|0)>=(k|0)){j=1;break cb}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)>=(k|0))break ra;db:while(1){e=b[l+i>>0]|0;H=e+-97<<24>>24;switch(((H&255)>>>1|H<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break db}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:I;break ra}if(!(Hz(68283,i,3)|0)){i=0;j=0;eb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break eb}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(n|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(n|0)){fb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break fb}}if((i|0)<(n|0))j=0;else break ra}if(i){l=L+i|0;k=n-i|0;gb:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break gb}default:{}}if(j<<24>>24==121){j=0;break gb}i=i+1|0;if((i|0)>=(k|0)){j=1;break gb}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){hb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break hb}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:n}}}}}break}case 111:{if((d|0)>3){m=d+-3|0;if(!(Hz(68455,L+m|0,3)|0)){if(((b[L+(d+-4)>>0]|0)+-115&255)>=2)break ra;i=0;j=0;ib:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break ib}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(m|0))break ra;jb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break jb}}if((i|0)<(m|0))j=0;else break ra}if(!i)break ra;l=L+i|0;k=m-i|0;kb:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break kb}default:{}}if(j<<24>>24==121){j=0;break kb}i=i+1|0;if((i|0)>=(k|0)){j=1;break kb}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)>=(k|0))break ra;lb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break lb}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:m;break ra}}else if((d|0)!=3)break ra;if(!(Hz(68459,i,2)|0)){i=0;j=0;mb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break mb}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(n|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(n|0)){nb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break nb}}if((i|0)<(n|0))j=0;else break ra}if(i){l=L+i|0;k=n-i|0;ob:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break ob}default:{}}if(j<<24>>24==121){j=0;break ob}i=i+1|0;if((i|0)>=(k|0)){j=1;break ob}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){pb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break pb}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:n}}}}break}case 115:{if((d|0)>3?(E=d+-3|0,(Hz(68462,L+E|0,3)|0)==0):0){i=0;j=0;qb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break qb}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(E|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(E|0)){rb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break rb}}if((i|0)<(E|0))j=0;else break ra}if(i){l=L+i|0;k=E-i|0;sb:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break sb}default:{}}if(j<<24>>24==121){j=0;break sb}i=i+1|0;if((i|0)>=(k|0)){j=1;break sb}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){tb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break tb}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:E}}}}break}case 116:{if((d|0)>3){m=d+-3|0;i=L+m|0;if(!(Hz(68215,i,3)|0)){i=0;j=0;ub:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break ub}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)>=(m|0))break ra;vb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break vb}}if((i|0)<(m|0))j=0;else break ra}if(!i)break ra;l=L+i|0;k=m-i|0;wb:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break wb}default:{}}if(j<<24>>24==121){j=0;break wb}i=i+1|0;if((i|0)>=(k|0)){j=1;break wb}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)>=(k|0))break ra;xb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break xb}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:m;break ra}if(!(Hz(68466,i,3)|0)){i=0;j=0;yb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break yb}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(m|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(m|0)){zb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break zb}}if((i|0)<(m|0))j=0;else break ra}if(i){l=L+i|0;k=m-i|0;Ab:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ab}default:{}}if(j<<24>>24==121){j=0;break Ab}i=i+1|0;if((i|0)>=(k|0)){j=1;break Ab}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){Bb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Bb}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:m}}}}}break}case 117:{if((d|0)>3?(F=d+-3|0,(Hz(68297,L+F|0,3)|0)==0):0){i=0;j=0;Cb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Cb}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(F|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(F|0)){Db:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Db}}if((i|0)<(F|0))j=0;else break ra}if(i){l=L+i|0;k=F-i|0;Eb:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Eb}default:{}}if(j<<24>>24==121){j=0;break Eb}i=i+1|0;if((i|0)>=(k|0)){j=1;break Eb}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){Fb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Fb}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:F}}}}break}case 118:{if((d|0)>3?(G=d+-3|0,(Hz(68334,L+G|0,3)|0)==0):0){i=0;j=0;Gb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Gb}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(G|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(G|0)){Hb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Hb}}if((i|0)<(G|0))j=0;else break ra}if(i){l=L+i|0;k=G-i|0;Ib:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ib}default:{}}if(j<<24>>24==121){j=0;break Ib}i=i+1|0;if((i|0)>=(k|0)){j=1;break Ib}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){Jb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Jb}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:G}}}}break}case 122:{if((d|0)>3?(H=d+-3|0,(Hz(68229,L+H|0,3)|0)==0):0){i=0;j=0;Kb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Kb}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(H|0))j=1;else{j=1;break}}i=i+1|0;if((i|0)<(H|0)){Lb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Lb}}if((i|0)<(H|0))j=0;else break ra}if(i){l=L+i|0;k=H-i|0;Mb:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Mb}default:{}}if(j<<24>>24==121){j=0;break Mb}i=i+1|0;if((i|0)>=(k|0)){j=1;break Mb}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){Nb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Nb}}if((i|0)<(k|0))j=0;else break ra}d=(i|0)==0?d:H}}}}break}default:{}}while(0);n=d+-1|0;Ob:do if((b[L+n>>0]|0)==101){m=(d|0)>1;Pb:do if(m){i=0;j=0;while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Pb}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break Pb}i=i+1|0;if((i|0)<(n|0))j=1;else{j=1;break Pb}}}else{i=0;j=0}while(0);i=i+1|0;Qb:do if((i|0)<(n|0)){Rb:while(1){e=b[L+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Rb}}if((i|0)<(n|0))j=0;else{J=972;break Qb}}if(i){l=L+i|0;k=n-i|0;Sb:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;I=j+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Sb}default:{}}if(j<<24>>24==121){j=0;break Sb}i=i+1|0;if((i|0)>=(k|0)){j=1;break Sb}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){Tb:while(1){e=b[l+i>>0]|0;I=e+-97<<24>>24;switch(((I&255)>>>1|I<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Tb}}if((i|0)<(k|0))j=0;else{J=972;break Qb}}if(!i)J=972}else J=972}else J=972}else J=972;while(0);if((J|0)==972){Ub:do if(m){i=0;j=0;while(1){e=b[L+i>>0]|0;J=e+-97<<24>>24;switch(((J&255)>>>1|J<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Ub}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break Ub}i=i+1|0;if((i|0)<(n|0))j=1;else{j=1;break Ub}}}else{i=0;j=0}while(0);i=i+1|0;if((i|0)>=(n|0))break;Vb:while(1){e=b[L+i>>0]|0;J=e+-97<<24>>24;switch(((J&255)>>>1|J<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Vb}}if((i|0)<(n|0))j=0;else break Ob}if(!i)break;l=L+i|0;k=n-i|0;Wb:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;J=j+-97<<24>>24;switch(((J&255)>>>1|J<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break Wb}default:{}}if(j<<24>>24==121){j=0;break Wb}i=i+1|0;if((i|0)>=(k|0)){j=1;break Wb}}}else{i=0;j=1}while(0);i=i+1|0;Xb:do if((i|0)<(k|0)){Yb:while(1){e=b[l+i>>0]|0;J=e+-97<<24>>24;switch(((J&255)>>>1|J<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break Yb}}if((i|0)<(k|0))j=0;else break Xb}if(i|0)break Ob}while(0);if(m&((b[L+(d+-2)>>0]|0)+-119&255)>2){e=0;k=0;i=0;do{j=b[L+k>>0]|0;J=j+-97<<24>>24;switch(((J&255)>>>1|J<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=1;break}default:i=(i|0)!=0&j<<24>>24==121&1}i=i^1;e=i|e<<1;k=k+1|0}while((k|0)!=(n|0));if((e&7|0)==5)break}}d=n}while(0);Zb:do if(((d|0)>1?(K=d+-1|0,(b[L+K>>0]|0)==108):0)?(b[L+(d+-2)>>0]|0)==108:0){i=0;j=0;_b:while(1){e=b[L+i>>0]|0;J=e+-97<<24>>24;switch(((J&255)>>>1|J<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break _b}default:{}}if(!((j|0)==0|e<<24>>24!=121)){j=0;break}i=i+1|0;if((i|0)<(K|0))j=1;else{j=1;break}}i=i+1|0;$b:do if((i|0)<(K|0)){ac:while(1){e=b[L+i>>0]|0;J=e+-97<<24>>24;switch(((J&255)>>>1|J<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break ac}}if((i|0)<(K|0))j=0;else break $b}if(i|0){l=L+i|0;k=K-i|0;bc:do if((k|0)>0){i=0;while(1){j=b[l+i>>0]|0;J=j+-97<<24>>24;switch(((J&255)>>>1|J<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{j=0;break bc}default:{}}if(j<<24>>24==121){j=0;break bc}i=i+1|0;if((i|0)>=(k|0)){j=1;break bc}}}else{i=0;j=1}while(0);i=i+1|0;if((i|0)<(k|0)){cc:while(1){e=b[l+i>>0]|0;J=e+-97<<24>>24;switch(((J&255)>>>1|J<<7&255)<<24>>24){case 10:case 7:case 4:case 2:case 0:{i=i+1|0;break}default:{i=i+1|0;if((j|0)==0|e<<24>>24!=121)break cc}}if((i|0)<(k|0))j=0;else break $b}if(i|0){d=K;break Zb}}}}while(0)}while(0);L=nb[f[a+4>>2]&127](f[a>>2]|0,c,L,d,g,h)|0;return L|0}function xw(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0;if((b|0)<=1048575?(c=b>>16,g=d[27808+(c<<1)>>1]|0,c=d[27808+(c+1<<1)>>1]|0,(c&65535)>(g&65535)):0){k=b&65535;i=-1;e=c&65535;c=g&65535;do{g=(c+e|0)/2|0;n=k>>>0<(j[27856+(g<<1)>>1]|0)>>>0;c=n?c:g+1|0;e=n?g:e;i=n?i:g}while((e|0)>(c|0));if((i|0)>=0?(l=j[27856+(i<<1)>>1]|0,m=j[31392+(i<<1)>>1]|0,k>>>0<((m>>>5)+l|0)>>>0):0){c=m&31;c=(c|0)==30?(b-l<<2&4^4)+5|0:c}else c=0}else c=0;l=h[a+148+c>>0]|0;c=f[a+140>>2]|0;if((c|0)<=0){n=0;n=n^l;return n|0}k=f[a+144>>2]|0;c=c+-1|0;e=0;while(1){g=(e+c|0)/2|0;n=f[k+(g<<2)>>2]|0;i=(n|0)<(b|0);if((n|0)==(b|0)){c=1;e=12;break}c=i?c:g+-1|0;e=i?g+1|0:e;if((c|0)<(e|0)){c=0;e=12;break}}if((e|0)==12){n=c^l;return n|0}return 0}function yw(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,i=0,k=0;if((a|0)<128)return ((a+-65|0)>>>0<26?a+32|0:a)|0;if((a|0)>=65536){c=(a+-66560|0)>>>0<40?a+40|0:a;return c|0}d=162;f=-1;e=0;do{i=(d+e|0)/2|0;k=(j[27152+(i<<2)>>1]|0)>(a|0);e=k?e:i+1|0;f=k?f:i;d=k?i+-1|0:d}while((d|0)>=(e|0));d=j[27152+(f<<2)>>1]|0;if(((h[27152+(f<<2)+3>>0]|0)+d|0)>(a|0)?(g=h[27152+(f<<2)+2>>0]|0,((d^a)&1&g|0)==0):0)a=(j[26304+(g>>>1<<1)>>1]|0)+a&65535;if(!c){k=a;return k|0}g=a<<3|7;d=0;e=100;f=0;do{k=(e+d|0)/2|0;i=g>>>0<(j[26464+(k<<1)>>1]|0)>>>0;e=i?k+-1|0:e;d=i?d:k+1|0;f=i?f:k}while((e|0)>=(d|0));k=j[26464+(f<<1)>>1]|0;if(((k>>>3)+(k&7)|0)<(a|0)){k=a;return k|0}k=b[26672+f>>0]|0;return k|0}function zw(a,c){a=a|0;c=c|0;b[c>>0]=1;a:do switch(b[a>>0]|0){case 67:switch(b[a+1>>0]|0){case 99:{b[c+1>>0]=1;a=0;break a}case 102:{b[c+2>>0]=1;a=0;break a}case 110:{b[c+3>>0]=1;a=0;break a}case 115:{b[c+4>>0]=1;a=0;break a}case 111:{b[c+31>>0]=1;a=0;break a}case 42:{a=c+1|0;b[c+31>>0]=1;b[a>>0]=1;b[a+1>>0]=1;b[a+2>>0]=1;b[a+3>>0]=1;a=0;break a}default:{a=1;break a}}case 76:switch(b[a+1>>0]|0){case 108:{b[c+5>>0]=1;a=0;break a}case 109:{b[c+6>>0]=1;a=0;break a}case 111:{b[c+7>>0]=1;a=0;break a}case 116:{b[c+8>>0]=1;a=0;break a}case 117:{b[c+9>>0]=1;a=0;break a}case 67:{b[c+30>>0]=1;a=0;break a}case 42:{a=c+5|0;b[c+30>>0]=1;b[a>>0]=1;b[a+1>>0]=1;b[a+2>>0]=1;b[a+3>>0]=1;b[a+4>>0]=1;a=0;break a}default:{a=1;break a}}case 77:switch(b[a+1>>0]|0){case 99:{b[c+10>>0]=1;a=0;break a}case 101:{b[c+11>>0]=1;a=0;break a}case 110:{b[c+12>>0]=1;a=0;break a}case 42:{b[c+10>>0]=1;b[c+11>>0]=1;b[c+12>>0]=1;a=0;break a}default:{a=1;break a}}case 78:switch(b[a+1>>0]|0){case 100:{b[c+13>>0]=1;a=0;break a}case 108:{b[c+14>>0]=1;a=0;break a}case 111:{b[c+15>>0]=1;a=0;break a}case 42:{b[c+13>>0]=1;b[c+14>>0]=1;b[c+15>>0]=1;a=0;break a}default:{a=1;break a}}case 80:switch(b[a+1>>0]|0){case 99:{b[c+16>>0]=1;a=0;break a}case 100:{b[c+17>>0]=1;a=0;break a}case 101:{b[c+18>>0]=1;a=0;break a}case 102:{b[c+19>>0]=1;a=0;break a}case 105:{b[c+20>>0]=1;a=0;break a}case 111:{b[c+21>>0]=1;a=0;break a}case 115:{b[c+22>>0]=1;a=0;break a}case 42:{a=c+16|0;b[a>>0]=1;b[a+1>>0]=1;b[a+2>>0]=1;b[a+3>>0]=1;b[a+4>>0]=1;b[a+5>>0]=1;b[a+6>>0]=1;a=0;break a}default:{a=1;break a}}case 83:switch(b[a+1>>0]|0){case 99:{b[c+23>>0]=1;a=0;break a}case 107:{b[c+24>>0]=1;a=0;break a}case 109:{b[c+25>>0]=1;a=0;break a}case 111:{b[c+26>>0]=1;a=0;break a}case 42:{a=c+23|0;b[a>>0]=1;b[a+1>>0]=1;b[a+2>>0]=1;b[a+3>>0]=1;a=0;break a}default:{a=1;break a}}case 90:switch(b[a+1>>0]|0){case 108:{b[c+27>>0]=1;a=0;break a}case 112:{b[c+28>>0]=1;a=0;break a}case 115:{b[c+29>>0]=1;a=0;break a}case 42:{b[c+27>>0]=1;b[c+28>>0]=1;b[c+29>>0]=1;a=0;break a}default:{a=1;break a}}default:a=0}while(0);return a|0}function Aw(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;k=wz(c)|0;if((k|0)<=0){v=0;return v|0}s=a+144|0;i=f[s>>2]|0;v=a+140|0;g=(f[v>>2]|0)+k<<2;if(Mc()|0){v=7;return v|0}r=Nc(i,(g|0)>0?g:0,0)|0;if(!r){v=7;return v|0}p=c+k|0;q=e&255;o=f[v>>2]|0;g=c;while(1){k=g+1|0;g=b[g>>0]|0;i=g&255;if((g&255)>191){g=h[5728+(i+-192)>>0]|0;a:do if((k|0)==(p|0))i=p;else while(1){i=b[k>>0]|0;if((i&-64)<<24>>24!=-128){i=k;break a}k=k+1|0;g=g<<6|i&63;if((k|0)==(p|0)){i=p;break}}while(0);if(!((g&-2|0)==65534|((g|0)<128|(g&-2048|0)==55296)))if((g|0)>1048575){k=i;i=0;l=20}else{n=g;l=14}else{n=65533;l=14}}else if(g<<24>>24>-1){b[a+i>>0]=q;i=o;g=k}else{n=i;i=k;l=14}if((l|0)==14){g=n>>>16;c=d[27808+(g<<1)>>1]|0;g=d[27808+(g+1<<1)>>1]|0;if((g&65535)>(c&65535)){m=n&65535;l=-1;k=g&65535;g=c&65535;do{c=(g+k|0)/2|0;w=m>>>0<(j[27856+(c<<1)>>1]|0)>>>0;g=w?g:c+1|0;k=w?c:k;l=w?l:c}while((k|0)>(g|0));if((l|0)>=0?(t=j[27856+(l<<1)>>1]|0,u=j[31392+(l<<1)>>1]|0,m>>>0<((u>>>5)+t|0)>>>0):0){l=u&31;g=n;k=i;i=(l|0)==30?(n-t<<2&4^4)+5|0:l;l=20}else{g=n;k=i;i=0;l=20}}else{g=n;k=i;i=0;l=20}}do if((l|0)==20){l=0;if((h[a+148+i>>0]|0|0)==(e|0)){i=o;g=k}else{i=g+-768|0;if(i>>>0<=49?(w=(g|0)<800,1<<(w?i:g+-800|0)&(w?134389727:221688)|0):0){i=o;g=k;break}b:do if((o|0)>0){i=0;do{if((f[r+(i<<2)>>2]|0)>(g|0))break b;i=i+1|0}while((o|0)>(i|0))}else i=0;while(0);w=r+(i<<2)|0;ZA(r+(i+1<<2)|0,w|0,o-i<<2|0)|0;f[w>>2]=g;i=o+1|0;g=k}}while(0);if(g>>>0

>>0)o=i;else break}f[s>>2]=r;f[v>>2]=i;w=0;return w|0}function Bw(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ga=t;t=t+176|0;aa=ga+32|0;ca=ga+16|0;T=ga;Y=ga+172|0;Z=ga+168|0;_=ga+164|0;S=ga+160|0;ea=ga+96|0;M=ga+88|0;$=ga+84|0;fa=ga+64|0;N=ga+60|0;O=ga+56|0;P=ga+52|0;Q=ga+48|0;R=ga+44|0;f[M>>2]=0;f[$>>2]=0;if((g|0)!=5){f[e+20>>2]=1;$e(f[e>>2]|0,64799,-1,1,-1)|0;t=ga;return}L=ib[f[a+8>>2]&255](c)|0;g=ea;i=g+64|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));g=f[h>>2]|0;i=j[g+8>>1]|0;do if(!(i&4)){if(i&8|0){J=Fc(+p[g>>3])|0;ba()|0;break}if(!(i&18))J=0;else{J=Gc(b[g+10>>0]|0,f[g+12>>2]|0,f[g+16>>2]|0)|0;ba()|0}}else J=f[g>>2]|0;while(0);g=f[h+4>>2]|0;do if(g){i=d[g+8>>1]|0;if((i&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(i&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);f[ea+40>>2]=(g|0)==0?72788:g;g=f[h+8>>2]|0;do if(g){i=d[g+8>>1]|0;if((i&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(i&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);f[ea+44>>2]=(g|0)==0?72788:g;g=f[h+12>>2]|0;do if(g){i=d[g+8>>1]|0;if((i&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(i&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);U=(g|0)==0?72788:g;i=f[h+16>>2]|0;g=j[i+8>>1]|0;do if(!(g&4)){if(g&8|0){K=Fc(+p[i>>3])|0;ba()|0;break}if(!(g&18))K=0;else{K=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;ba()|0}}else K=f[i>>2]|0;while(0);h=(J|0)>0?J:0;y=ib[f[a+24>>2]&255](c)|0;W=Fd(y)|0;X=(W|0)==0;if(X)g=7;else g=jb[f[a+32>>2]&255](c,M)|0;f[fa>>2]=0;f[fa+4>>2]=0;f[fa+8>>2]=0;f[fa+12>>2]=0;f[fa+16>>2]=0;a:do if((L|0)>0){z=(J|0)<0;A=fa+8|0;B=a+44|0;C=fa+16|0;D=a+20|0;E=a+48|0;F=a+36|0;G=a+32|0;H=a+28|0;I=fa+12|0;x=0;k=0;i=0;while(1){if(z|(J|0)==(x|0)){f[fa>>2]=0;f[A>>2]=0;g=lb[f[B>>2]&127](c,x,C,N)|0;if(g|0)break;g=mb[f[D>>2]&127](c,f[C>>2]|0,f[N>>2]|0,fa,88)|0;if(g|0)break;g=kb[f[E>>2]&127](c,x,O)|0;if(g|0)break;if((f[M>>2]|0)>0){w=0;do{g=mb[f[F>>2]&127](c,w,P,Q,R)|0;do if(!(g|0?1:(f[Q>>2]|0)!=(x|0))){_A(W|0,0,y|0)|0;v=f[O>>2]|0;u=f[R>>2]|0;f[Y>>2]=0;f[Z>>2]=0;f[_>>2]=0;g=jb[f[G>>2]&255](c,S)|0;if((g|0)==0&(f[S>>2]|0)>0){r=u+K|0;m=0;n=0;l=-1;q=0;do{g=mb[f[F>>2]&127](c,q,Y,Z,_)|0;s=(g|0)==0;do if(s&(f[Z>>2]|0)==(x|0)){o=f[_>>2]|0;if(!((o|0)>=(u|0)&(o|0)<(r|0)))break;m=f[Y>>2]|0;ha=W+m|0;n=((b[ha>>0]|0)==0?1e3:1)+n|0;b[ha>>0]=1;m=(jb[f[H>>2]&255](c,m)|0)+o|0;l=(l|0)<0?o:l}while(0);q=q+1|0}while(s&(q|0)<(f[S>>2]|0))}else{m=0;n=0;l=-1}l=l-((l+K-m|0)/2|0)|0;l=(l+K|0)>(v|0)?v-K|0:l;m=(g|0)==0;if(m&(n|0)>(k|0)){ha=f[O>>2]|0;f[$>>2]=ha;h=x;k=n;i=(l|0)>0?l:0;l=ha}else l=f[O>>2]|0;n=f[A>>2]|0;if(!(m&(n|0)!=0&(l|0)>(K|0)))break;m=n+-1|0;o=f[I>>2]|0;q=f[R>>2]|0;b:do if((n|0)>1){g=0;while(1){l=g+1|0;if((f[o+(l<<2)>>2]|0)>(q|0)){l=g;break b}if((l|0)<(m|0))g=l;else break}}else l=0;while(0);if((f[o+(l<<2)>>2]|0)>=(q|0)){g=0;break}_A(W|0,0,y|0)|0;r=f[(f[I>>2]|0)+(l<<2)>>2]|0;f[Y>>2]=0;f[Z>>2]=0;f[_>>2]=0;g=jb[f[G>>2]&255](c,S)|0;if((g|0)==0&(f[S>>2]|0)>0){o=r+K|0;m=0;n=0;do{g=mb[f[F>>2]&127](c,n,Y,Z,_)|0;q=(g|0)==0;do if(q&(f[Z>>2]|0)==(x|0)){ha=f[_>>2]|0;if(!((ha|0)>=(r|0)&(ha|0)<(o|0)))break;ha=f[Y>>2]|0;v=W+ha|0;m=((b[v>>0]|0)==0?1e3:1)+m|0;b[v>>0]=1;jb[f[H>>2]&255](c,ha)|0}while(0);n=n+1|0}while(q&(n|0)<(f[S>>2]|0))}else m=0;n=f[(f[I>>2]|0)+(l<<2)>>2]|0;l=((n|0)==0?120:100)+m|0;if(!((g|0)==0&(l|0)>(k|0)))break;f[$>>2]=f[O>>2];h=x;k=l;i=n;g=0}while(0);w=w+1|0}while((g|0)==0?(w|0)<(f[M>>2]|0):0)}else g=0}x=x+1|0;if((x|0)>=(L|0)){V=71;break a}}k=h;x=i}else{i=0;V=71}while(0);if((V|0)==71)if(!g){k=h;x=i;g=lb[f[a+44>>2]&127](c,h,ea+48|0,ea+52|0)|0}else{k=h;x=i}if(!(f[$>>2]|g))g=kb[f[a+48>>2]&127](c,k,$)|0;w=ea+48|0;i=(g|0)==0;do if(!(f[w>>2]|0))if(i){g=f[ea+60>>2]|0;V=109}else V=111;else{if(i)g=Fw(a,c,k,ea)|0;f[ea+32>>2]=x;v=ea+36|0;f[v>>2]=K+-1+x;if((x|0)>0&(g|0)==0){g=wz(U)|0;ha=ea+60|0;f[T>>2]=f[ha>>2];f[T+4>>2]=g;f[T+8>>2]=U;g=wd(68595,T)|0;f[ha>>2]=g;g=(g|0)==0?7:0}n=ea+20|0;i=f[n>>2]|0;c:do if((i|0)>-1){o=ea+24|0;q=ea+12|0;r=ea+16|0;s=ea+4|0;u=ea+8|0;do{if(!((g|0)==0&(i|0)<(x|0)))break c;f[n>>2]=-1;f[o>>2]=-1;d:while(1){g=f[q>>2]|0;if((g|0)>=(f[r>>2]|0)){g=0;V=96;break}g=mb[f[(f[ea>>2]|0)+36>>2]&127](f[s>>2]|0,g,Y,Z,_)|0;h=(g|0)==0;if(h){do if((f[Z>>2]|0)==(f[u>>2]|0)){k=(f[_>>2]|0)+-1|0;k=k+(jb[f[(f[ea>>2]|0)+28>>2]&255](f[s>>2]|0,f[Y>>2]|0)|0)|0;i=f[n>>2]|0;l=f[_>>2]|0;if((i|0)<0){f[n>>2]=l;f[o>>2]=k;break}m=f[o>>2]|0;if((l|0)>(m|0)){V=93;break d}if((k|0)<=(m|0))break;f[o>>2]=k}while(0);f[q>>2]=(f[q>>2]|0)+1}if(!h){V=96;break}}if((V|0)==93)g=0;else if((V|0)==96)i=f[n>>2]|0}while((i|0)>-1)}while(0);if(!g)g=mb[f[a+20>>2]&127](c,f[w>>2]|0,f[ea+52>>2]|0,ea,89)|0;if((f[v>>2]|0)<((f[$>>2]|0)+-1|0)){if(g|0){V=111;break}g=wz(U)|0;ha=ea+60|0;f[aa>>2]=f[ha>>2];f[aa+4>>2]=g;f[aa+8>>2]=U;g=wd(68595,aa)|0;f[ha>>2]=g;if(!g){g=7;V=111;break}else{V=109;break}}i=f[ea+56>>2]|0;h=(f[w>>2]|0)+i|0;i=(f[ea+52>>2]|0)-i|0;if(!g){if((i|0)<0)g=wz(h)|0;else g=i;ha=ea+60|0;f[ca>>2]=f[ha>>2];f[ca+4>>2]=g;f[ca+8>>2]=h;g=wd(68595,ca)|0;f[ha>>2]=g;if(!g){g=7;V=111}else V=109}else V=111}while(0);if((V|0)==109){if(($e(f[e>>2]|0,g,-1,1,-1)|0)==18){f[e+20>>2]=18;$e(f[e>>2]|0,41612,-1,1,0)|0}}else if((V|0)==111?(f[e+20>>2]=g,da=f[e>>2]|0,d[da+8>>1]&1):0){switch(g|0){case 516:{g=44816;break}case 100:{g=44794;break}case 101:{g=44771;break}default:{g=g&255;if(g>>>0<29?(520028155>>>g&1|0)!=0:0)g=f[7984+(g<<2)>>2]|0;else g=44757}}$e(da,g,-1,1,0)|0}g=f[ea+60>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{ha=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ha;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);do if(!X)if(!(f[9328]|0)){ob[f[37360>>2]&127](W);break}else{ha=ib[f[37368>>2]&255](W)|0;f[18187]=(f[18187]|0)-ha;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](W);break}while(0);g=f[fa+12>>2]|0;if(!g){t=ga;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);t=ga;return}else{ha=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ha;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);t=ga;return}}function Cw(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,q=0;q=t;t=t+80|0;n=q;m=q+16|0;if((g|0)!=3){f[e+20>>2]=1;$e(f[e>>2]|0,68545,-1,1,-1)|0;t=q;return}i=f[h>>2]|0;g=j[i+8>>1]|0;do if(!(g&4)){if(g&8|0){l=Fc(+p[i>>3])|0;ba()|0;break}if(!(g&18))l=0;else{l=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;ba()|0}}else l=f[i>>2]|0;while(0);g=m;i=g+64|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));g=f[h+4>>2]|0;do if(g){i=d[g+8>>1]|0;if((i&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(i&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);f[m+40>>2]=g;g=f[h+8>>2]|0;do if(g){i=d[g+8>>1]|0;if((i&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(i&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);f[m+44>>2]=g;i=m+48|0;k=m+52|0;g=lb[f[a+44>>2]&127](c,l,i,k)|0;do if(f[i>>2]|0){if(!g){g=Fw(a,c,l,m)|0;if(!g)g=mb[f[a+20>>2]&127](c,f[i>>2]|0,f[k>>2]|0,m,89)|0}c=f[m+56>>2]|0;h=(f[i>>2]|0)+c|0;i=(f[k>>2]|0)-c|0;if(!g){if((i|0)<0)g=wz(h)|0;else g=i;i=m+60|0;f[n>>2]=f[i>>2];f[n+4>>2]=g;f[n+8>>2]=h;g=wd(68595,n)|0;f[i>>2]=g;if(!g){g=7;break}if(($e(f[e>>2]|0,g,-1,1,-1)|0)==18){f[e+20>>2]=18;$e(f[e>>2]|0,41612,-1,1,0)|0;g=0}else g=0}else i=m+60|0;i=f[i>>2]|0;if(i)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);o=36;break}else{o=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);o=36;break}else o=36}else o=36;while(0);if((o|0)==36)if(!g){t=q;return}f[e+20>>2]=g;i=f[e>>2]|0;if(!(d[i+8>>1]&1)){t=q;return}switch(g|0){case 516:{g=44816;break}case 100:{g=44794;break}case 101:{g=44771;break}default:{g=g&255;if(g>>>0<29?(520028155>>>g&1|0)!=0:0)g=f[7984+(g<<2)>>2]|0;else g=44757}}$e(i,g,-1,1,0)|0;t=q;return}function Dw(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0.0,l=0,m=0.0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;z=t;t=t+32|0;x=z+16|0;y=z+8|0;v=z;w=z+24|0;f[w>>2]=0;i=jb[f[a+60>>2]&255](c,0)|0;a:do if(!i){o=x;f[o>>2]=0;f[o+4>>2]=0;o=y;f[o>>2]=0;f[o+4>>2]=0;o=ib[f[a+24>>2]&255](c)|0;i=(o<<4)+24|0;r=Fd(i)|0;l=r+24|0;if(!r){i=7;break}q=r+16|0;_A(r|0,0,i|0)|0;f[r>>2]=o;f[q>>2]=l;f[r+20>>2]=l+(o<<3);i=jb[f[a+12>>2]&255](c,x)|0;b:do if(!i){i=kb[f[a+16>>2]&127](c,-1,y)|0;if(!i){n=y;u=x;p[r+8>>3]=(+((f[n>>2]|0)>>>0)+4294967296.0*+(f[n+4>>2]|0))/(+((f[u>>2]|0)>>>0)+4294967296.0*+(f[u+4>>2]|0));c:do if((o|0)>0){n=a+52|0;l=0;while(1){i=v;f[i>>2]=0;f[i+4>>2]=0;i=lb[f[n>>2]&127](c,l,v,105)|0;if(i|0)break;A=x;u=v;i=f[u>>2]|0;u=f[u+4>>2]|0;A=LA(f[A>>2]|0,f[A+4>>2]|0,i|0,u|0)|0;m=+S(+((+(A>>>0)+4294967296.0*+(ba()|0)+.5)/(+(i>>>0)+4294967296.0*+(u|0)+.5)));p[(f[q>>2]|0)+(l<<3)>>3]=!(m<=0.0)?m:1.0e-06;l=l+1|0;if((l|0)>=(o|0))break c}break b}while(0);i=kb[f[a+56>>2]&127](c,r,101)|0;if(!i){u=r;s=16;break a}else break a}}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](r);else{A=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r)}}else{u=i;s=16}while(0);if((s|0)==16){s=f[u+20>>2]|0;_A(s|0,0,f[u>>2]<<3|0)|0;i=jb[f[a+32>>2]&255](c,w)|0;l=(i|0)==0;if(l&(f[w>>2]|0)>0){r=a+36|0;q=0;do{i=mb[f[r>>2]&127](c,q,x,y,v)|0;l=(i|0)==0;if(l){n=f[y>>2]|0;do if((n|0)<(g|0)){n=f[h+(n<<2)>>2]|0;o=j[n+8>>1]|0;if(o&8|0){k=+p[n>>3];break}if(o&4|0){A=n;k=+((f[A>>2]|0)>>>0)+4294967296.0*+(f[A+4>>2]|0);break}if(!(o&18))k=0.0;else k=+Hc(b[n+10>>0]|0,f[n+12>>2]|0,f[n+16>>2]|0)}else k=1.0;while(0);A=s+(f[x>>2]<<3)|0;p[A>>3]=k+ +p[A>>3]}q=q+1|0}while(l&(q|0)<(f[w>>2]|0))}if(l){i=kb[f[a+48>>2]&127](c,-1,x)|0;k=+(f[x>>2]|0)*.75}else k=0.0;if(!i){l=f[u>>2]|0;if((l|0)>0){n=f[u+16>>2]|0;m=(k/+p[u+8>>3]+.25)*1.2;k=0.0;i=0;do{B=+p[s+(i<<3)>>3];k=k+ +p[n+(i<<3)>>3]*(B*2.2/(B+m));i=i+1|0}while((i|0)<(l|0))}else k=0.0;k=-k;i=f[e>>2]|0;l=i+8|0;if(!(d[l>>1]&9216))d[l>>1]=1;else cf(i);p[x>>3]=k;p[y>>3]=+p[x>>3];if(!(+p[x>>3]==+p[y>>3])){t=z;return}p[i>>3]=k;d[l>>1]=8;t=z;return}}f[e+20>>2]=i;l=f[e>>2]|0;if(!(d[l+8>>1]&1)){t=z;return}switch(i|0){case 516:{i=44816;break}case 100:{i=44794;break}case 101:{i=44771;break}default:{i=i&255;if(i>>>0<29?(520028155>>>i&1|0)!=0:0)i=f[7984+(i<<2)>>2]|0;else i=44757}}$e(l,i,-1,1,0)|0;t=z;return}function Ew(a,b,c){a=a|0;b=b|0;c=c|0;a=c;a=KA(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;b=ba()|0;f[c>>2]=a;f[c+4>>2]=b;return 0}function Fw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+16|0;l=q+8|0;m=q+4|0;n=q;o=d+12|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[d>>2]=a;o=d+4|0;f[o>>2]=b;p=d+8|0;f[p>>2]=c;k=d+16|0;c=jb[f[a+32>>2]&255](b,k)|0;if(c|0){p=c;t=q;return p|0}h=d+20|0;f[h>>2]=-1;i=d+24|0;f[i>>2]=-1;j=d+12|0;a:while(1){c=f[j>>2]|0;if((c|0)>=(f[k>>2]|0)){c=0;a=15;break}c=mb[f[(f[d>>2]|0)+36>>2]&127](f[o>>2]|0,c,l,m,n)|0;a=(c|0)==0;if(a){do if((f[m>>2]|0)==(f[p>>2]|0)){b=(f[n>>2]|0)+-1|0;b=b+(jb[f[(f[d>>2]|0)+28>>2]&255](f[o>>2]|0,f[l>>2]|0)|0)|0;e=f[n>>2]|0;if((f[h>>2]|0)<0){f[h>>2]=e;f[i>>2]=b;break}g=f[i>>2]|0;if((e|0)>(g|0)){a=12;break a}if((b|0)>(g|0))f[i>>2]=b}while(0);f[j>>2]=(f[j>>2]|0)+1}if(!a){a=15;break}}if((a|0)==12){p=0;t=q;return p|0}else if((a|0)==15){t=q;return c|0}return 0}function Gw(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;w=t;t=t+112|0;v=w+96|0;u=w+80|0;p=w+64|0;o=w+48|0;k=w+32|0;j=w+16|0;i=w;n=w+108|0;if(b&1|0){a=0;t=w;return a|0}q=a+28|0;s=f[q>>2]|0;f[q>>2]=s+1;q=a+36|0;c=f[q>>2]|0;if((c|0)>0){d=f[a+32>>2]|0;if((s|0)>(c|0)|(s|0)<(d|0)){a=0;t=w;return a|0}if((d|0)!=0&(s|0)==(d|0))f[a+56>>2]=e}r=a+20|0;if((s|0)==(f[r>>2]|0)){h=a+56|0;c=f[h>>2]|0;d=(f[a+48>>2]|0)+c|0;c=e-c|0;if((c|0)<0)c=wz(d)|0;b=a+60|0;f[i>>2]=f[b>>2];f[i+4>>2]=c;f[i+8>>2]=d;c=wd(68595,i)|0;f[b>>2]=c;d=f[a+40>>2]|0;if(!c)d=7;else{m=wz(d)|0;f[j>>2]=c;f[j+4>>2]=m;f[j+8>>2]=d;d=wd(68595,j)|0;f[b>>2]=d;d=(d|0)==0?7:0}f[h>>2]=e}else d=0;m=a+24|0;a:do if((s|0)==(f[m>>2]|0)){if(((f[q>>2]|0)!=0?(f[r>>2]|0)<(f[a+32>>2]|0):0)?(l=f[a+40>>2]|0,(d|0)==0):0){d=wz(l)|0;e=a+60|0;f[k>>2]=f[e>>2];f[k+4>>2]=d;f[k+8>>2]=l;d=wd(68595,k)|0;f[e>>2]=d;d=(d|0)==0?7:0}h=a+56|0;c=f[h>>2]|0;b=(f[a+48>>2]|0)+c|0;c=g-c|0;if(!d){if((c|0)<0)c=wz(b)|0;d=a+60|0;f[o>>2]=f[d>>2];f[o+4>>2]=c;f[o+8>>2]=b;c=wd(68595,o)|0;f[d>>2]=c;if((c|0)!=0?(l=f[a+44>>2]|0,k=wz(l)|0,f[p>>2]=c,f[p+4>>2]=k,f[p+8>>2]=l,l=wd(68595,p)|0,f[d>>2]=l,(l|0)!=0):0){f[h>>2]=g;f[r>>2]=-1;f[m>>2]=-1;j=a+12|0;e=a+16|0;k=a+4|0;l=a+8|0;b:while(1){c=f[j>>2]|0;if((c|0)>=(f[e>>2]|0)){d=0;break a}d=mb[f[(f[a>>2]|0)+36>>2]&127](f[k>>2]|0,c,p,o,n)|0;i=(d|0)==0;if(i){do if((f[o>>2]|0)==(f[l>>2]|0)){c=(f[n>>2]|0)+-1|0;c=c+(jb[f[(f[a>>2]|0)+28>>2]&255](f[k>>2]|0,f[p>>2]|0)|0)|0;b=f[n>>2]|0;if((f[r>>2]|0)<0){f[r>>2]=b;f[m>>2]=c;break}h=f[m>>2]|0;if((b|0)>(h|0))break b;if((c|0)>(h|0))f[m>>2]=c}while(0);f[j>>2]=(f[j>>2]|0)+1}if(!i)break a}d=0;break}else d=7}f[h>>2]=g}while(0);q=f[q>>2]|0;if(!((q|0)>0&(s|0)==(q|0))){a=d;t=w;return a|0}h=a+56|0;c=f[h>>2]|0;b=(f[a+48>>2]|0)+c|0;c=g-c|0;if(!d){if((c|0)<0)c=wz(b)|0;q=a+60|0;f[u>>2]=f[q>>2];f[u+4>>2]=c;f[u+8>>2]=b;d=wd(68595,u)|0;f[q>>2]=d;d=(d|0)==0?7:0}f[h>>2]=g;if((s|0)<(f[r>>2]|0)){a=d;t=w;return a|0}if((s|0)>=(f[m>>2]|0)){a=d;t=w;return a|0}c=f[a+44>>2]|0;if(!d){u=wz(c)|0;g=a+60|0;f[v>>2]=f[g>>2];f[v+4>>2]=u;f[v+8>>2]=c;a=wd(68595,v)|0;f[g>>2]=a;t=w;return ((a|0)==0?7:0)|0}else{a=d;t=w;return a|0}return 0}function Hw(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;if(c&1|0){a=0;return a|0}j=f[a>>2]|0;a:do if((j|0)>0){i=g+-1|0;if((g|0)>0){d=f[a+16>>2]|0;c=i;b:while(1){h=b[d+c>>0]|0;switch(h<<24>>24){case 13:case 10:case 9:case 32:break;default:break b}e=c+-1|0;if((c|0)>0)c=e;else{c=e;break}}if((c|0)!=(i|0)){switch(h<<24>>24){case 58:case 46:break;default:{c=0;break a}}g=a+4|0;c=f[g>>2]|0;i=a+8|0;d=f[i>>2]|0;if((c|0)==(d|0)){h=(c|0)==0?64:c<<1;e=a+12|0;c=f[e>>2]|0;d=h<<2;if(Mc()|0){c=7;break}c=Nc(c,(d|0)>0?d:0,0)|0;if(!c){c=7;break}f[e>>2]=c;f[g>>2]=h;d=f[i>>2]|0}else c=f[a+12>>2]|0;f[i>>2]=d+1;f[c+(d<<2)>>2]=j;c=0}else c=0}else c=0}else{g=a+4|0;c=f[g>>2]|0;i=a+8|0;d=f[i>>2]|0;if((c|0)==(d|0)){h=(c|0)==0?64:c<<1;e=a+12|0;c=f[e>>2]|0;d=h<<2;if(Mc()|0){c=7;break}c=Nc(c,(d|0)>0?d:0,0)|0;if(!c){c=7;break}f[e>>2]=c;f[g>>2]=h;d=f[i>>2]|0}else c=f[a+12>>2]|0;f[i>>2]=d+1;f[c+(d<<2)>>2]=0;c=0}while(0);f[a>>2]=(f[a>>2]|0)+1;a=c;return a|0}function Iw(a,b,c){a=a|0;b=b|0;c=c|0;Mw(a,b,c,0);return}function Jw(a,b,c){a=a|0;b=b|0;c=c|0;Mw(a,b,c,1);return} -function Cn(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ka=t;t=t+128|0;da=ka+80|0;ga=ka+72|0;k=ka;l=ka+112|0;m=ka+108|0;d[m>>1]=-1;ia=f[a+12>>2]|0;_=f[a>>2]|0;P=f[_+4>>2]|0;Q=h[ia+16>>0]|0;$=P+8+(Q*72|0)|0;O=P+8+(Q*72|0)+16|0;R=f[O>>2]|0;aa=f[a+4>>2]|0;ca=P+8+(Q*72|0)+68|0;g=f[ca>>2]|0;o=(g|0)==0;do if(o){if(f[R+36>>2]&32|0){k=f[R+8>>2]|0;break}g=k;i=g+72|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));d[k+50>>1]=1;d[k+52>>1]=1;f[k+4>>2]=m;f[k+8>>2]=l;b[k+54>>0]=5;f[k+12>>2]=R;d[k+48>>1]=d[R+46>>1]|0;d[l>>1]=d[R+44>>1]|0;d[l+2>>1]=0;if(!(b[P+8+(Q*72|0)+37>>0]&1))f[k+20>>2]=f[(f[O>>2]|0)+8>>2]}else k=g;while(0);m=d[R+44>>1]|0;if(m<<16>>16<11)g=0;else{g=m<<16>>16;i=((g|0)<0)<<31>>31;if((m&65535)>255){l=40;do{l=(l&65535)+40|0;Z=g;g=VA(g|0,i|0,4)|0;Y=i;i=ba()|0}while(Y>>>0>0|(Y|0)==0&Z>>>0>4095);l=l&65535}else l=40;if(i>>>0>0|(i|0)==0&g>>>0>15){do{l=(l&65535)+10&65535;Z=g;g=VA(g|0,i|0,1)|0;Y=i;i=ba()|0}while(Y>>>0>0|(Y|0)==0&Z>>>0>31);i=l}else i=l;g=(i&65535)+65493+(j[7936+((g&7)<<1)>>1]|0)&65535}a:do if((((((f[a+16>>2]|0)==0?(d[_+44>>1]&32)==0:0)?!((0==0?(f[(f[f[_>>2]>>2]|0)+32>>2]&32768|0)==0:0)|o^1):0)?(n=b[P+8+(Q*72|0)+37>>0]|0,(n&1)==0):0)?(M=R+36|0,(n&40)==0&(f[M>>2]&32|0)==0):0)?(J=f[aa+20>>2]|0,Z=f[aa+12>>2]|0,N=J+(Z*48|0)|0,(Z|0)>0):0){B=ia+8|0;C=P+8+(Q*72|0)+40|0;D=P+8+(Q*72|0)+36|0;E=ia+24|0;F=ia+42|0;G=ia+32|0;H=ia+40|0;I=ia+48|0;y=(g&65535)+(m&65535)|0;s=y&65535;u=ia+18|0;v=R+12|0;w=ia+22|0;n=g<<16>>16;x=(y&65535)+65526|0;y=(y<<16>>16)+28|0;z=ia+20|0;A=ia+36|0;o=g<<16>>16<12;p=g<<16>>16>74;q=22960+(43-n)|0;r=22960+(n+-43)|0;if(g<<16>>16<43){m=g<<16>>16<-6?43:44;l=J;while(1){i=l+32|0;Z=i;Y=B;do if((((f[Y>>2]&f[Z>>2]|0)==0?(f[Y+4>>2]&f[Z+4>>2]|0)==0:0)?(f[l+20>>2]|0)==(f[C>>2]|0):0)?(K=j[l+12>>1]|0,(K&130|0)!=0):0){if(b[D>>0]&8?!((K&128|0)==0?1:(f[(f[l>>2]|0)+4>>2]&1|0)!=0):0){g=0;break}g=f[l+28>>2]|0;if((g|0)>=0?(Gn(f[l>>2]|0,b[(f[(f[O>>2]|0)+4>>2]|0)+(g<<4)+13>>0]|0)|0)!=0:0){d[E>>1]=1;d[F>>1]=0;f[G>>2]=0;d[H>>1]=1;f[f[I>>2]>>2]=l;d[u>>1]=s;if(!(f[v>>2]|0))g=(f[M>>2]&2|0)==0?y:x;else g=x;d[u>>1]=(g&32768|0)==0?g&65535:0;d[w>>1]=43;if(o)g=m;else g=(h[q>>0]|0)+43&65535;d[z>>1]=g;f[A>>2]=16384;Y=i;Z=f[Y+4>>2]|e;g=ia;f[g>>2]=f[Y>>2]|c;f[g+4>>2]=Z;g=Rn(a,ia)|0}else g=0}else g=0;while(0);l=l+48|0;if(!(l>>>0>>0&(g|0)==0))break a}}m=g<<16>>16>92?g:n+1&65535;l=J;do{i=l+32|0;Z=i;Y=B;do if((((f[Y>>2]&f[Z>>2]|0)==0?(f[Y+4>>2]&f[Z+4>>2]|0)==0:0)?(f[l+20>>2]|0)==(f[C>>2]|0):0)?(L=j[l+12>>1]|0,(L&130|0)!=0):0){if(b[D>>0]&8?!((L&128|0)==0?1:(f[(f[l>>2]|0)+4>>2]&1|0)!=0):0){g=0;break}g=f[l+28>>2]|0;if((g|0)>=0?(Gn(f[l>>2]|0,b[(f[(f[O>>2]|0)+4>>2]|0)+(g<<4)+13>>0]|0)|0)!=0:0){d[E>>1]=1;d[F>>1]=0;f[G>>2]=0;d[H>>1]=1;f[f[I>>2]>>2]=l;d[u>>1]=s;if((f[v>>2]|0)==0?(f[M>>2]&2|0)==0:0)g=y;else g=x;d[u>>1]=(g&32768|0)==0?g&65535:0;d[w>>1]=43;if(p)g=m;else g=(h[r>>0]|0)+n&65535;d[z>>1]=g;f[A>>2]=16384;Y=i;Z=f[Y+4>>2]|e;g=ia;f[g>>2]=f[Y>>2]|c;f[g+4>>2]=Z;g=Rn(a,ia)|0}else g=0}else g=0;while(0);l=l+48|0}while(l>>>0>>0&(g|0)==0)}else g=0;while(0);Z=ia+36|0;if(!((g|0)==0&(k|0)!=0)){ja=g;t=ka;return ja|0}J=P+8+(Q*72|0)+40|0;K=ia+24|0;L=ia+26|0;M=ia+28|0;N=ia+42|0;O=ia+40|0;S=ia+17|0;T=ia+18|0;U=ia+22|0;V=ia+32|0;W=ia+20|0;X=a+20|0;Y=R+36|0;I=P+8+(Q*72|0)+56|0;B=R+46|0;C=_+92|0;D=_+100|0;E=ga+4|0;F=da+4|0;G=da+24|0;A=da+20|0;H=_+44|0;z=1;b:while(1){x=k+36|0;g=f[x>>2]|0;if((g|0)!=0?(Tn(f[J>>2]|0,aa,g)|0)==0:0)g=0;else{w=k+55|0;if(!((h[w>>0]|h[w+1>>0]<<8)&256)){y=d[f[k+8>>2]>>1]|0;d[K>>1]=0;d[L>>1]=0;d[M>>1]=0;d[N>>1]=0;d[O>>1]=0;b[S>>0]=0;d[T>>1]=0;r=ia;f[r>>2]=c;f[r+4>>2]=e;d[U>>1]=y;f[V>>2]=k;r=f[J>>2]|0;c:do if((((h[w>>0]|h[w+1>>0]<<8)&4)==0?(ea=f[(f[a>>2]|0)+8>>2]|0,(ea|0)!=0):0)?(fa=f[ea>>2]|0,(fa|0)>0):0){s=k+40|0;u=k+50|0;v=k+4|0;q=0;g=fa;while(1){i=f[ea+4+(q*20|0)>>2]|0;d:do if(!i)i=0;else while(1){l=f[i+4>>2]|0;if(!(l&4096))break d;if(!(l&262144))i=i+12|0;else i=(f[i+20>>2]|0)+4|0;i=f[i>>2]|0;if(!i){i=0;break}}while(0);if((b[i>>0]|0)==-98?(f[i+28>>2]|0)==(r|0):0){m=d[i+32>>1]|0;if(m<<16>>16<0){g=1;break c}i=d[u>>1]|0;if(i<<16>>16){n=f[v>>2]|0;l=i&65535;i=0;do{if(m<<16>>16==(d[n+(i<<1)>>1]|0)){g=1;break c}i=i+1|0}while(i>>>0>>0)}}else ja=75;e:do if((ja|0)==75){ja=0;p=f[s>>2]|0;if((p|0)!=0?(ha=d[u>>1]|0,ha<<16>>16!=0):0){if(!i){n=f[v>>2]|0;o=ha&65535;m=0;while(1){f:do if((d[n+(m<<1)>>1]|0)==-2){i=f[p+4+(m*20|0)>>2]|0;if(!i){g=1;break c}while(1){l=f[i+4>>2]|0;if(!(l&4096))break f;if(!(l&262144))i=i+12|0;else i=(f[i+20>>2]|0)+4|0;i=f[i>>2]|0;if(!i){g=1;break c}}}while(0);m=m+1|0;if(m>>>0>=o>>>0)break e}}n=0;g=ha;do{if((d[(f[v>>2]|0)+(n<<1)>>1]|0)==-2){g=f[p+4+(n*20|0)>>2]|0;l=i;while(1){m=f[l+4>>2]|0;if(!(m&4096))break;if(!(m&262144))l=l+12|0;else l=(f[l+20>>2]|0)+4|0;l=f[l>>2]|0;if(!l){l=0;break}}g:do if(!g)g=0;else while(1){m=f[g+4>>2]|0;if(!(m&4096))break g;if(!(m&262144))g=g+12|0;else g=(f[g+20>>2]|0)+4|0;g=f[g>>2]|0;if(!g){g=0;break}}while(0);if(!(Ck(0,l,g,r)|0)){g=1;break c}g=d[u>>1]|0}n=n+1|0}while(n>>>0<(g&65535)>>>0);g=f[ea>>2]|0}}while(0);q=q+1|0;if((q|0)>=(g|0)){g=0;break}}}else g=0;while(0);do if((f[k+44>>2]|0)<1){f[Z>>2]=256;b[S>>0]=(g|0)==0?0:z&255;d[W>>1]=(y&65535)+16;Un(aa,ia,y);g=Rn(a,ia)|0;d[U>>1]=y;if(g|0){ja=147;break b}}else{if(!((h[w>>0]|h[w+1>>0]<<8)&32)){i=I;m=k+64|0;R=f[m>>2]&f[i>>2];i=f[m+4>>2]&f[i+4>>2];m=R;n=i;i=(R|0)==0&(i|0)==0?576:512}else{m=0;n=0;i=576}f[Z>>2]=i;g=(g|0)!=0;if((!g?(f[Y>>2]&32|0)==0:0)?(f[x>>2]|0)==0:0){if(!((m|0)==0&(n|0)==0))break;if((h[w>>0]|h[w+1>>0]<<8)&4)break;if((d[k+48>>1]|0)>=(d[B>>1]|0))break;if(!((d[H>>1]&4)==0&(f[9332]|0)!=0))break;if(d[(f[f[_>>2]>>2]|0)+76>>1]&32)break}b[S>>0]=g?z&255:0;g=y<<16>>16;l=g+1+(((d[k+48>>1]|0)*15|0)/(d[B>>1]|0)|0)&65535;d[W>>1]=l;if(!((m|0)==0&(n|0)==0)){g=g+16&65535;n=f[J>>2]|0;if((f[C>>2]|0)>0){m=0;do{l=f[D>>2]|0;i=f[l+(m*48|0)>>2]|0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[da+12>>2]=0;f[da+16>>2]=0;f[da+20>>2]=0;f[E>>2]=n;f[ga>>2]=k;f[F>>2]=166;f[G>>2]=ga;if(i){oi(da,i)|0;if(b[A>>0]|0)break}i=d[l+(m*48|0)+8>>1]|0;do if(i<<16>>16<1)g=(i&65535)+(g&65535)&65535;else{g=g+-1<<16>>16;if(!(d[l+(m*48|0)+12>>1]&130))break;g=(g&65535)+65517&65535}while(0);m=m+1|0}while((m|0)<(f[C>>2]|0));l=d[W>>1]|0}i=l<<16>>16;m=g<<16>>16;do if(l<<16>>16>16){if((i+49|0)>=(m|0))if((i+31|0)<(m|0)){g=m+1&65535;break}else{g=(h[22960+(m-i)>>0]|0)+m&65535;break}}else if((m+49|0)>=(i|0))if((m+31|0)<(i|0)){g=i+1&65535;break}else{g=(h[22960+(i-m)>>0]|0)+i&65535;break}else g=l;while(0);d[W>>1]=g}Un(aa,ia,y);g=Rn(a,ia)|0;d[U>>1]=y;if(g|0){ja=147;break b}}while(0);f[X>>2]=0;g=Vn(a,$,k,0)|0;if((f[X>>2]|0)==1)f[Y>>2]=f[Y>>2]|256}else g=0}if(f[ca>>2]|0){ja=147;break}k=f[k+20>>2]|0;if(!((g|0)==0&(k|0)!=0)){ja=147;break}else z=z+1|0}if((ja|0)==147){t=ka;return g|0}return 0}function Dn(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=t;t=t+608|0;ca=ja+168|0;ea=ja+576|0;ia=ja+112|0;fa=ja+56|0;ga=ja;k=f[a>>2]|0;$=f[a+4>>2]|0;o=f[$+20>>2]|0;n=f[$+12>>2]|0;aa=o+(n*48|0)|0;ba=f[a+12>>2]|0;l=ia;m=l+56|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));k=f[k+4>>2]|0;l=h[ba+16>>0]|0;_=f[k+8+(l*72|0)+40>>2]|0;if((n|0)<=0){ia=0;t=ja;return ia|0}X=ba+8|0;Y=ea+8|0;Z=ea+16|0;F=k+8+(l*72|0)+16|0;G=ea+4|0;H=ca+4|0;I=ca+8|0;J=ca+12|0;K=ca+20|0;L=ga+8|0;M=ia+8|0;N=fa+8|0;O=ia+16|0;P=ba+40|0;Q=ba+48|0;R=ba+36|0;S=ba+18|0;T=ba+17|0;U=ba+24|0;V=ba+20|0;W=ba+22|0;k=0;a:while(1){b:do if((d[o+12>>1]&512)!=0?(da=f[o+28>>2]|0,E=da+408|0,D=X,!((f[D>>2]&f[E>>2]|0)==0?(f[D+4>>2]&f[E+4>>2]|0)==0:0)):0){l=da+20|0;E=(f[l>>2]|0)+((f[da+12>>2]|0)*48|0)|0;f[ea>>2]=f[a>>2];f[ea+4>>2]=f[a+4>>2];f[ea+8>>2]=f[a+8>>2];f[ea+12>>2]=f[a+12>>2];f[ea+16>>2]=f[a+16>>2];f[ea+20>>2]=f[a+20>>2];f[ea+24>>2]=f[a+24>>2];f[Y>>2]=0;f[Z>>2]=fa;l=f[l>>2]|0;c:do if(l>>>0>>0){n=1;D=l;l=0;do{if(!(d[D+12>>1]&1024)){if((f[D+20>>2]|0)==(_|0)){f[ca>>2]=f[$>>2];f[H>>2]=$;b[I>>0]=44;f[J>>2]=1;f[K>>2]=D;l=ca;ha=11}}else{l=f[D+28>>2]|0;ha=11}do if((ha|0)==11){ha=0;f[G>>2]=l;d[fa>>1]=0;if(!(f[(f[F>>2]|0)+56>>2]|0))l=Cn(ea,c,e)|0;else l=Bn(ea,c,e,g,i)|0;if(!l)l=Dn(ea,c,e,g,i)|0;m=d[fa>>1]|0;if(!(m<<16>>16)){k=0;break c}if(n|0){YA(M|0,N|0,(m&65535)<<4|0)|0;n=0;k=m;break}d[ga>>1]=k;C=k&65535;YA(L|0,M|0,C<<4|0)|0;if(!(k<<16>>16))k=0;else{y=m&65535;x=0;k=0;do{z=ga+8+(x<<4)|0;A=ga+8+(x<<4)+8|0;B=ga+8+(x<<4)+10|0;w=0;do{v=z;m=fa+8+(w<<4)|0;u=f[m>>2]|f[v>>2];v=f[m+4>>2]|f[v+4>>2];m=d[A>>1]|0;n=d[fa+8+(w<<4)+8>>1]|0;p=m<<16>>16;q=n<<16>>16;do if(m<<16>>16>16){if((p+49|0)<(q|0)){m=n;break}if((p+31|0)<(q|0)){m=q+1&65535;break}else{m=(h[22960+(q-p)>>0]|0)+q&65535;break}}else{if((q+49|0)<(p|0))break;if((q+31|0)<(p|0)){m=p+1&65535;break}else{m=(h[22960+(p-q)>>0]|0)+p&65535;break}}while(0);n=d[B>>1]|0;p=d[fa+8+(w<<4)+10>>1]|0;q=n<<16>>16;r=p<<16>>16;do if(n<<16>>16>16){if((q+49|0)<(r|0))break;if((q+31|0)<(r|0)){p=r+1&65535;break}else{p=(h[22960+(r-q)>>0]|0)+r&65535;break}}else{if((r+49|0)<(q|0)){p=n;break}if((r+31|0)<(q|0)){p=q+1&65535;break}else{p=(h[22960+(q-r)>>0]|0)+q&65535;break}}while(0);d:do if(k<<16>>16){n=k;r=M;while(1){q=d[r+8>>1]|0;if(q<<16>>16>=m<<16>>16?(s=r,(f[s>>2]&u|0)==(u|0)?(f[s+4>>2]&v|0)==(v|0):0):0){ha=52;break}if(q<<16>>16<=m<<16>>16?(s=r,q=f[s>>2]|0,s=f[s+4>>2]|0,(q&u|0)==(q|0)&(s&v|0)==(s|0)):0)break d;n=n+-1<<16>>16;if(!(n<<16>>16))break;else r=r+16|0}if((ha|0)==52){q=r;n=r+8|0;ha=53;break}if((k&65535)<3){ha=48;break}r=k&65535;s=M;n=d[O>>1]|0;q=1;do{s=n<<16>>16>(d[ia+8+(q<<4)+8>>1]|0)?ia+8+(q<<4)|0:s;q=q+1|0;n=d[s+8>>1]|0}while((q|0)!=(r|0));if(n<<16>>16>m<<16>>16){q=s;n=s+8|0;ha=53}}else ha=48;while(0);if((ha|0)==48){n=k&65535;d[ia+8+(n<<4)+10>>1]=p;q=ia+8+(n<<4)|0;n=ia+8+(n<<4)+8|0;k=k+1<<16>>16;ha=53}do if((ha|0)==53){ha=0;s=q;f[s>>2]=u;f[s+4>>2]=v;d[n>>1]=m;m=q+10|0;if((d[m>>1]|0)<=p<<16>>16)break;d[m>>1]=p}while(0);w=w+1|0}while((w|0)!=(y|0));x=x+1|0}while((x|0)!=(C|0))}n=0}while(0);D=D+48|0}while(D>>>0>>0)}else l=0;while(0);d[P>>1]=1;f[f[Q>>2]>>2]=o;f[R>>2]=8192;d[S>>1]=0;b[T>>0]=0;f[U>>2]=0;f[U+4>>2]=0;f[U+8>>2]=0;if(l|0)break a;n=k&65535;m=0;while(1){if(m>>>0>=n>>>0)break b;d[V>>1]=(j[ia+8+(m<<4)+8>>1]|0)+1;d[W>>1]=d[ia+8+(m<<4)+10>>1]|0;D=ia+8+(m<<4)|0;E=f[D+4>>2]|0;l=ba;f[l>>2]=f[D>>2];f[l+4>>2]=E;l=Rn(a,ba)|0;if(!l)m=m+1|0;else break a}}while(0);o=o+48|0;if(o>>>0>=aa>>>0){l=0;break}}d[ia>>1]=k;ia=l;t=ja;return ia|0}function En(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;oa=t;t=t+16|0;ca=oa+8|0;ka=oa;aa=f[a>>2]|0;la=f[aa>>2]|0;ma=b[a+46>>0]|0;na=ma&255;Y=(ma&255)<2?1:ma<<24>>24==2?5:10;ja=a+8|0;e=f[ja>>2]|0;ea=c<<16>>16==0;if(ea|(e|0)==0)W=0;else W=f[e>>2]|0;l=Y<<1;m=W<<1;i=m+(U(l,(na<<2)+32|0)|0)|0;k=((i|0)<0)<<31>>31;a:do if(f[la+272>>2]|0)if(!(b[la+81>>0]|0))V=13;else{t=oa;return}else{do if(!(0>>0|(0==(k|0)?(j[la+276>>1]|0)>>>0>>0:0))){e=la+300|0;g=f[e>>2]|0;if(g|0){f[e>>2]=f[g>>2];ga=la+284|0;f[ga>>2]=(f[ga>>2]|0)+1;ga=g;break a}e=la+296|0;g=f[e>>2]|0;if(!g){e=la+292|0;break}else{f[e>>2]=f[g>>2];ga=la+284|0;f[ga>>2]=(f[ga>>2]|0)+1;ga=g;break a}}else e=la+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;V=13}while(0);if((V|0)==13)ga=Dc(la,i,k)|0;if(!ga){t=oa;return}o=ga+(Y<<5)|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;e=l;i=o+(Y<<5)|0;g=ga;while(1){f[g+24>>2]=i;i=i+(na<<2)|0;if((e|0)<=1)break;else{e=e+-1|0;g=g+32|0}}e=(W|0)!=0;if(e)_A(i|0,0,m|0)|0;else i=0;da=f[aa+128>>2]|0;d[ga+(Y<<5)+16>>1]=da>>>0<48?da:48;if(e)b[ga+(Y<<5)+22>>0]=ma<<24>>24==0?W&255:-1;da=ma<<24>>24==0;b:do if(!da){P=a+60|0;Q=a+44|0;R=Y>>>0>1;S=a+20|0;T=((c&65535)<<16)+1048576|0;O=0;l=0;k=0;e=0;g=ga;m=1;while(1){if((m|0)>0){K=O&65535;L=O<<2;M=g+18|0;N=g+16|0;p=0;J=0;I=o;while(1){n=f[P>>2]|0;if(!n)n=p;else{D=I+22|0;E=I+16|0;F=I+20|0;G=I+8|0;H=I+24|0;y=p;while(1){x=b[D>>0]|0;C=ka;f[C>>2]=0;f[C+4>>2]=0;C=n;w=I;v=f[w>>2]|0;w=f[w+4>>2]|0;c:do if((((f[C>>2]&~v|0)==0?(f[C+4>>2]&~w|0)==0:0)?(Z=n+8|0,$=Z,_=f[$>>2]|0,$=f[$+4>>2]|0,(_&v|0)==0&($&w|0)==0):0)?(X=d[E>>1]|0,!(X<<16>>16<3?(f[n+36>>2]&16384|0)!=0:0)):0){p=d[n+18>>1]|0;u=X&65535;s=u+(j[n+20>>1]|0)|0;q=s&65535;r=p<<16>>16;s=s<<16>>16;do if(p<<16>>16>16){if((r+49|0)<(s|0)){p=q;break}if((r+31|0)<(s|0)){p=s+1&65535;break}else{p=s+(h[22960+(s-r)>>0]|0)&65535;break}}else{if((s+49|0)<(r|0))break;if((s+31|0)<(r|0)){p=r+1&65535;break}else{p=(h[22960+(r-s)>>0]|0)+r&65535;break}}while(0);q=d[F>>1]|0;r=p<<16>>16;s=q<<16>>16;do if(p<<16>>16>16){if((r+49|0)<(s|0)){p=q;break}if((r+31|0)<(s|0)){p=s+1&65535;break}else{p=(h[22960+(s-r)>>0]|0)+s&65535;break}}else{if((s+49|0)<(r|0))break;if((s+31|0)<(r|0)){p=r+1&65535;break}else{p=(h[22960+(r-s)>>0]|0)+r&65535;break}}while(0);B=(j[n+22>>1]|0)+u|0;C=B&65535;A=_|v;z=$|w;if(x<<24>>24<0)x=Qn(a,f[ja>>2]|0,I,d[Q>>1]|0,K,n,ka)|0;else{u=G;v=f[u+4>>2]|0;w=ka;f[w>>2]=f[u>>2];f[w+4>>2]=v}r=x<<24>>24;if(x<<24>>24>-1&(W|0)>(r|0)){w=i+(r<<1)|0;q=d[w>>1]|0;if(!(q<<16>>16)){q=((W-r|0)*100|0)/(W|0)|0;r=((q|0)<0)<<31>>31;do if(q>>>0<8){if(q>>>0<2){v=-4325376;break}s=40;do{s=(s&65535)+65526|0;q=WA(q|0,r|0,1)|0;r=ba()|0}while(r>>>0<0|(r|0)==0&q>>>0<8);s=s&65535;V=66}else{if(q>>>0>255){s=40;do{s=(s&65535)+40|0;V=q;q=VA(q|0,r|0,4)|0;v=r;r=ba()|0}while(v>>>0>0|(v|0)==0&V>>>0>4095);s=s&65535}else s=40;if(!(r>>>0>0|(r|0)==0&q>>>0>15)){V=66;break}do{s=(s&65535)+10&65535;V=q;q=VA(q|0,r|0,1)|0;v=r;r=ba()|0}while(v>>>0>0|(v|0)==0&V>>>0>31);V=66}while(0);if((V|0)==66){V=0;v=((s&65535)+65526+(j[7936+((q&7)<<1)>>1]|0)<<16)+-4325376|0}if(!(d[Q>>1]&16384))r=c;else{r=d[S>>1]|0;r=r<<16>>16>16?r:c}if(r<<16>>16<11)q=0;else{q=r<<16>>16;u=((q|0)<0)<<31>>31;if((r&65535)>255){s=40;r=u;do{s=(s&65535)+40|0;u=q;q=VA(q|0,r|0,4)|0;pa=r;r=ba()|0}while(pa>>>0>0|(pa|0)==0&u>>>0>4095);s=s&65535}else{s=40;r=u}if(r>>>0>0|(r|0)==0&q>>>0>15){do{s=(s&65535)+10&65535;pa=q;q=VA(q|0,r|0,1)|0;u=r;r=ba()|0}while(u>>>0>0|(u|0)==0&pa>>>0>31);r=s}else r=s;q=(r&65535)+65493+(j[7936+((q&7)<<1)>>1]|0)&65535}q=q+((T+v|0)>>>16)&65535;d[w>>1]=q}r=p<<16>>16;s=q<<16>>16;do if(p<<16>>16>16){if((r+49|0)<(s|0))break;if((r+31|0)<(s|0)){q=s+1&65535;break}else{q=(h[22960+(s-r)>>0]|0)+s&65535;break}}else{if((s+49|0)<(r|0)){q=p;break}if((s+31|0)<(r|0)){q=r+1&65535;break}else{q=(h[22960+(r-s)>>0]|0)+r&65535;break}}while(0);w=p;v=(q&65535)+5&65535}else{w=(p&65535)+65534&65535;v=p}d:do if((y|0)>0){p=0;u=g;while(1){pa=u;if(((f[pa>>2]|0)==(A|0)?(f[pa+4>>2]|0)==(z|0):0)?(b[u+22>>0]^x)<<24>>24>-1:0)break;p=p+1|0;if((p|0)>=(y|0)){V=96;break d}else u=u+32|0}q=u+22|0;r=u+18|0;p=d[r>>1]|0;if(p<<16>>16>16){p=y;break c}if(p<<16>>16!=v<<16>>16){s=u;p=u;break}s=d[u+16>>1]|0;p=B<<16>>16;if((p|0)>(s|0)){p=y;break c}if((p|0)!=(s|0)){s=u;p=u;break}if((d[u+20>>1]|0)>w<<16>>16){s=u;p=u}else{p=y;break c}}else V=96;while(0);if((V|0)==96){V=0;p=(y|0)<(Y|0);if(!p){if(v<<16>>16>k<<16>>16){p=y;break}if(!(v<<16>>16!=k<<16>>16?1:w<<16>>16>16)){p=y;break}}q=p?y:l;pa=g+(q<<5)|0;s=pa;y=y+(p&1)|0;r=g+(q<<5)+18|0;q=g+(q<<5)+22|0;p=pa}pa=I;z=Z;B=f[z+4>>2]|f[pa+4>>2];A=p;f[A>>2]=f[z>>2]|f[pa>>2];f[A+4>>2]=B;A=ka;B=f[A+4>>2]|0;pa=s+8|0;f[pa>>2]=f[A>>2];f[pa+4>>2]=B;d[s+16>>1]=C;d[r>>1]=v;d[s+20>>1]=w;b[q>>0]=x;pa=s+24|0;YA(f[pa>>2]|0,f[H>>2]|0,L|0)|0;f[(f[pa>>2]|0)+(O<<2)>>2]=n;if((y|0)<(Y|0)){p=y;break}k=d[M>>1]|0;e=d[N>>1]|0;if(!R){p=y;l=0;break}r=g;s=1;l=0;do{q=d[r+50>>1]|0;do if(q<<16>>16<=k<<16>>16){if(q<<16>>16!=k<<16>>16)break;p=d[r+52>>1]|0;if(p<<16>>16>e<<16>>16){e=p;V=112}}else{e=d[r+52>>1]|0;V=112}while(0);r=r+32|0;if((V|0)==112){V=0;l=s;k=q}s=s+1|0}while((s|0)!=(Y|0));p=y}else p=y;while(0);n=f[n+52>>2]|0;if(!n){n=p;break}else y=p}}J=J+1|0;if((J|0)==(m|0)){m=n;break}else{p=n;I=I+32|0}}}else m=0;O=O+1|0;if((O|0)==(na|0))break;else{pa=o;o=g;g=pa}}if(m|0){if((m|0)>1){i=1;e=g;do{e=(d[e+18>>1]|0)>(d[g+(i<<5)+18>>1]|0)?g+(i<<5)|0:e;i=i+1|0}while((i|0)!=(m|0));g=e}if(da){o=g;break}i=f[g+24>>2]|0;k=f[a+4>>2]|0;e=0;while(1){pa=f[i+(e<<2)>>2]|0;f[a+752+(e*80|0)+64>>2]=pa;pa=b[pa+16>>0]|0;b[a+752+(e*80|0)+44>>0]=pa;f[a+752+(e*80|0)+4>>2]=f[k+8+((pa&255)*72|0)+40>>2];e=e+1|0;if((e|0)==(na|0)){o=g;break b}}}ni(aa,56862,ca);if(la|0){if(f[la+480>>2]|0){Kc(la,ga);t=oa;return}pa=ga;if((f[la+304>>2]|0)>>>0<=pa>>>0?(f[la+308>>2]|0)>>>0>pa>>>0:0){pa=la+300|0;f[ga>>2]=f[pa>>2];f[pa>>2]=ga;t=oa;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](ga);t=oa;return}else{pa=ib[f[37368>>2]&255](ga)|0;f[18187]=(f[18187]|0)-pa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ga);t=oa;return}}while(0);n=a+44|0;if(((d[n>>1]&384)==256?(fa=a+51|0,!(ea|(b[fa>>0]|0)!=0)):0)?(ea=a+12|0,pa=na+-1|0,pa=(Qn(a,f[ea>>2]|0,o,128,pa&65535,f[(f[o+24>>2]|0)+(pa<<2)>>2]|0,ka)|0)<<24>>24,(f[f[ea>>2]>>2]|0)==(pa|0)):0)b[fa>>0]=2;l=a+52|0;b[l>>0]=0;e=f[ja>>2]|0;if(e|0){g=d[n>>1]|0;i=b[o+22>>0]|0;if(!(g&128)){k=a+47|0;b[k>>0]=i;ea=o+8|0;fa=f[ea+4>>2]|0;m=a+64|0;pa=m;f[pa>>2]=f[ea>>2];f[pa+4>>2]=fa;if((i<<24>>24<1?(b[k>>0]=0,!da):0)?(ha=na+-1|0,ia=f[(f[o+24>>2]|0)+(ha<<2)>>2]|0,pa=f[ia+36>>2]|0,!((pa&4096|0)!=0|(pa&260|0)==260)):0){pa=ka;f[pa>>2]=0;f[pa+4>>2]=0;pa=(Qn(a,e,o,2048,ha&65535,ia,ka)|0)<<24>>24;e=f[ja>>2]|0;if((f[e>>2]|0)==(pa|0)){b[l>>0]=1;ha=ka;ia=f[ha+4>>2]|0;pa=m;f[pa>>2]=f[ha>>2];f[pa+4>>2]=ia}g=d[n>>1]|0}}else if((f[e>>2]|0)==(i<<24>>24|0))b[a+51>>0]=2;if((g&512?(ma<<24>>24?(f[e>>2]|0)==(b[a+47>>0]|0):0):0)?(pa=ka,f[pa>>2]=0,f[pa+4>>2]=0,pa=na+-1|0,pa=(Qn(a,e,o,0,pa&65535,f[(f[o+24>>2]|0)+(pa<<2)>>2]|0,ka)|0)<<24>>24,(f[f[ja>>2]>>2]|0)==(pa|0)):0){b[a+48>>0]=1;ma=ka;na=f[ma+4>>2]|0;pa=a+64|0;f[pa>>2]=f[ma>>2];f[pa+4>>2]=na}}d[a+72>>1]=d[o+16>>1]|0;if(la|0){if(f[la+480>>2]|0){Kc(la,ga);t=oa;return}pa=ga;if((f[la+304>>2]|0)>>>0<=pa>>>0?(f[la+308>>2]|0)>>>0>pa>>>0:0){pa=la+300|0;f[ga>>2]=f[pa>>2];f[pa>>2]=ga;t=oa;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](ga);t=oa;return}else{pa=ib[f[37368>>2]&255](ga)|0;f[18187]=(f[18187]|0)-pa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ga);t=oa;return}}function Fn(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b[c>>0]|0;j=c+4|0;e=f[j>>2]|0;if(d<<24>>24==-98&(e&8|0)==0){g=f[c+28>>2]|0;e=f[a+4>>2]|0;if((e|0)<=0){l=0;a=0;aa(l|0);return a|0}d=0;while(1){if((f[a+8+(d<<2)>>2]|0)==(g|0))break;d=d+1|0;if((d|0)>=(e|0)){d=0;e=0;i=29;break}}if((i|0)==29){aa(d|0);return e|0}a=WA(1,0,d|0)|0;l=ba()|0;aa(l|0);return a|0}if(e&8404992|0){l=0;a=0;aa(l|0);return a|0}a:do if(d<<24>>24==-89?(g=f[c+28>>2]|0,h=f[a+4>>2]|0,(h|0)>0):0){d=0;while(1){if((f[a+8+(d<<2)>>2]|0)==(g|0))break;d=d+1|0;if((d|0)>=(h|0)){e=0;g=0;break a}}e=WA(1,0,d|0)|0;g=ba()|0}else{e=0;g=0}while(0);d=f[c+12>>2]|0;if(!d)l=e;else{l=Fn(a,d)|0;l=l|e;g=ba()|0|g}d=f[c+16>>2]|0;if(d|0){a=Fn(a,d)|0;aa(ba()|0|g|0);return a|l|0}d=f[j>>2]|0;if(d&2048|0){if(d&32|0)f[a>>2]=1;a=Pn(a,f[c+20>>2]|0)|0;k=ba()|0|g;a=a|l;aa(k|0);return a|0}k=f[c+20>>2]|0;if(!k){k=g;a=l;aa(k|0);return a|0}h=f[k>>2]|0;if((h|0)>0){c=0;e=0;d=0;do{i=f[k+4+(c*20|0)>>2]|0;if(!i){i=0;j=0}else{i=Fn(a,i)|0;j=ba()|0;h=f[k>>2]|0}e=i|e;d=j|d;c=c+1|0}while((c|0)<(h|0))}else{e=0;d=0}k=d|g;a=e|l;aa(k|0);return a|0}function Gn(a,b){a=a|0;b=b|0;var c=0,d=0;d=Yk(f[a+12>>2]|0)|0;c=f[a+16>>2]|0;do if(!c){if(!(f[a+4>>2]&2048)){a=d<<24>>24==0?65:d;break}a=Yk(f[(f[f[a+20>>2]>>2]|0)+4>>2]|0)|0;if(d<<24>>24==0|a<<24>>24==0){a=(a|d)<<24>>24==0?65:(a&255)+(d&255)&255;break}else{a=d<<24>>24>66|a<<24>>24>66?67:65;break}}else{a=Yk(c)|0;if(d<<24>>24==0|a<<24>>24==0){a=(a|d)<<24>>24==0?65:(a&255)+(d&255)&255;break}else{a=d<<24>>24>66|a<<24>>24>66?67:65;break}}while(0);switch(a<<24>>24|0){case 66:{b=b<<24>>24==66;b=b&1;return b|0}case 65:{b=1;b=b&1;return b|0}default:{b=b<<24>>24>66;b=b&1;return b|0}}return 0}function Hn(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=t;t=t+192|0;o=F+152|0;r=F+144|0;v=F+136|0;u=F+128|0;p=F+120|0;n=F+112|0;m=F+104|0;D=F+160|0;l=F;E=f[a+116>>2]|0;if((b[((E|0)==0?a:E)+195>>0]|0)!=2){t=F;return}s=h[e+44>>0]|0;E=f[a+8>>2]|0;k=f[a>>2]|0;y=f[e+64>>2]|0;w=y+36|0;q=f[w>>2]|0;if((q&8192|0)==0?(i=g&65535,(i&32|0)==0):0){g=q&48;do if(!g){if((q&1024|0)==0?d[y+24>>1]|0:0){i=1;break}i=(i&3|0)!=0}else i=1;while(0);C=D+4|0;f[C>>2]=l;f[D>>2]=k;x=D+8|0;f[x>>2]=100;z=D+12|0;f[z>>2]=1e9;A=D+16|0;f[A>>2]=0;b[D+20>>0]=0;B=D+21|0;b[B>>0]=0;e=i?6:4;f[A>>2]=e;YA(l|0,(i?56599:56606)|0,e|0)|0;e=f[c+8+(s*72|0)+20>>2]|0;if(!e){f[n>>2]=f[c+8+(s*72|0)+8>>2];qf(D,56624,n)}else{f[m>>2]=f[e+20>>2];qf(D,56611,m)}e=f[c+8+(s*72|0)+12>>2]|0;if(e|0){f[p>>2]=e;qf(D,56634,p)}do if(!(q&1280)){k=y+32|0;l=f[k>>2]|0;if((f[(f[c+8+(s*72|0)+16>>2]|0)+36>>2]&32|0)!=0?(s=l+55|0,((h[s>>0]|h[s+1>>0]<<8)&3)==2):0)if(i)e=56726;else break;else if(!(q&131072))e=(q&16384|0)==0?((q&64|0)==0?56641:56650):56668;else e=56693;g=f[A>>2]|0;i=g+7|0;if(i>>>0<(f[x>>2]|0)>>>0){f[A>>2]=i;s=(f[C>>2]|0)+g|0;b[s>>0]=b[56738]|0;b[s+1>>0]=b[56739]|0;b[s+2>>0]=b[56740]|0;b[s+3>>0]=b[56741]|0;b[s+4>>0]=b[56742]|0;b[s+5>>0]=b[56743]|0;b[s+6>>0]=b[56744]|0}else Ec(D,56738,7);f[u>>2]=f[l>>2];qf(D,e,u);p=f[k>>2]|0;e=d[y+24>>1]|0;l=d[y+42>>1]|0;g=e&65535;e=e<<16>>16==0;if(e?(f[w>>2]&48|0)==0:0)break;i=f[A>>2]|0;k=i+2|0;if(k>>>0<(f[x>>2]|0)>>>0){f[A>>2]=k;u=(f[C>>2]|0)+i|0;b[u>>0]=32;b[u+1>>0]=40}else Ec(D,56746,2);a:do if(e)g=0;else{n=p+4|0;o=p+12|0;m=l&65535;l=0;while(1){e=d[(f[n>>2]|0)+(l<<1)>>1]|0;switch(e<<16>>16){case -2:{e=56749;break}case -1:{e=47870;break}default:e=f[(f[(f[o>>2]|0)+4>>2]|0)+(e<<16>>16<<4)>>2]|0}do if(l|0){i=f[A>>2]|0;k=i+5|0;if(k>>>0<(f[x>>2]|0)>>>0){f[A>>2]=k;u=(f[C>>2]|0)+i|0;b[u>>0]=b[56756]|0;b[u+1>>0]=b[56757]|0;b[u+2>>0]=b[56758]|0;b[u+3>>0]=b[56759]|0;b[u+4>>0]=b[56760]|0;break}else{Ec(D,56756,5);break}}while(0);f[v>>2]=e;qf(D,l>>>0>>0?56762:56770,v);l=l+1|0;if((l|0)==(g|0))break a}}while(0);e=f[w>>2]|0;if(!(e&32))i=g;else{On(D,p,j[y+26>>1]|0,g,g,56775);i=1;e=f[w>>2]|0}if(e&16|0)On(D,p,j[y+28>>1]|0,g,i,56777);e=f[A>>2]|0;g=e+1|0;if(g>>>0<(f[x>>2]|0)>>>0){f[A>>2]=g;b[(f[C>>2]|0)+e>>0]=41;break}else{Ec(D,43047,1);break}}else{if((q&256|0)==0|(q&15|0)==0){if(!(q&1024))break;x=f[y+32>>2]|0;f[o>>2]=f[y+24>>2];f[o+4>>2]=x;qf(D,56833,o);break}if(!(q&5))e=(g|0)==48?56779:(q&32|0)==0?56777:56775;else e=56793;f[r>>2]=e;qf(D,56795,r)}while(0);e=f[C>>2]|0;if(((e|0)!=0?(b[e+(f[A>>2]|0)>>0]=0,(f[z>>2]|0)!=0):0)?(b[B>>0]&4)==0:0)k=Cc(D)|0;else k=f[C>>2]|0;i=E+136|0;e=f[i>>2]|0;g=f[a+208>>2]|0;if((f[(f[E+12>>2]|0)+48>>2]|0)>(e|0)){f[i>>2]=e+1;a=f[E+88>>2]|0;b[a+(e*20|0)>>0]=-84;d[a+(e*20|0)+2>>1]=0;f[a+(e*20|0)+4>>2]=e;f[a+(e*20|0)+8>>2]=g;f[a+(e*20|0)+12>>2]=0;f[a+(e*20|0)+16>>2]=0;b[a+(e*20|0)+1>>0]=0}else e=tl(E,172,e,g,0)|0;g=f[E>>2]|0;do if(!(b[g+81>>0]|0)){if((e|0)<0)e=(f[i>>2]|0)+-1|0;g=f[E+88>>2]|0;i=g+(e*20|0)+1|0;if(b[i>>0]|0){ul(E,g+(e*20|0)|0,k,-7);break}if(k|0){f[g+(e*20|0)+16>>2]=k;b[i>>0]=-7}}else if(k|0){if(g|0){if(f[g+480>>2]|0){Kc(g,k);break}E=k;if((f[g+304>>2]|0)>>>0<=E>>>0?(f[g+308>>2]|0)>>>0>E>>>0:0){E=g+300|0;f[k>>2]=f[E>>2];f[E>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{E=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);t=F;return}t=F;return}function In(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;ta=t;t=t+176|0;E=ta+16|0;D=ta+8|0;C=ta;na=ta+72|0;oa=ta+24|0;sa=f[a>>2]|0;Z=sa+8|0;qa=f[Z>>2]|0;pa=a+80|0;$=f[sa>>2]|0;ia=a+752+(c*80|0)|0;x=a+752+(c*80|0)+64|0;X=f[x>>2]|0;A=a+4|0;ca=f[A>>2]|0;r=a+752+(c*80|0)+44|0;da=h[r>>0]|0;z=ca+8+(da*72|0)|0;ja=f[ca+8+(da*72|0)+40>>2]|0;k=f[a+492>>2]|0;a:do if((k|0)>0){i=0;while(1){if((f[a+496+(i<<2)>>2]|0)==(ja|0))break;i=i+1|0;if((i|0)>=(k|0)){i=0;k=0;break a}}i=WA(1,0,i|0)|0;k=ba()|0}else{i=0;k=0}while(0);ra=a+752+(c*80|0)+72|0;w=ra;f[w>>2]=~i&e;f[w+4>>2]=~k&g;w=a+64|0;w=VA(f[w>>2]|0,f[w+4>>2]|0,c|0)|0;ba()|0;_=w&1;V=X+36|0;if(!(f[V>>2]&64))Y=0;else Y=(d[a+44>>1]&32)==0;ha=qa+12|0;i=f[ha>>2]|0;p=i+60|0;q=f[p>>2]|0;f[p>>2]=q+1;p=i+64|0;if(!(q+-1&q)){n=q<<3|4;o=f[i>>2]|0;m=f[p>>2]|0;b:do if(m){k=m;l=o+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[o+308>>2]|0)>>>0>k>>>0:0)?!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)):0){i=m;break}i=Lc(o,m,n,0)|0;if(!i){if(f[o+480>>2]|0){Kc(o,m);i=0;break}if((f[l>>2]|0)>>>0<=k>>>0?(f[o+308>>2]|0)>>>0>k>>>0:0){i=o+300|0;f[m>>2]=f[i>>2];f[i>>2]=m;i=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);i=0;break}else{i=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);i=0;break}}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];fa=o+284|0;f[fa>>2]=(f[fa>>2]|0)+1;break b}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];fa=o+284|0;f[fa>>2]=(f[fa>>2]|0)+1;break b}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(q<<2)>>2]=-1;v=~q;M=a+752+(c*80|0)+16|0;f[M>>2]=v;W=a+752+(c*80|0)+12|0;f[W>>2]=v;i=f[ha>>2]|0;p=i+60|0;q=f[p>>2]|0;f[p>>2]=q+1;p=i+64|0;if(!(q+-1&q)){n=q<<3|4;o=f[i>>2]|0;i=f[p>>2]|0;c:do if(i){l=i;m=o+304|0;if(((f[m>>2]|0)>>>0<=l>>>0?(f[o+308>>2]|0)>>>0>l>>>0:0)?!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)):0)break;k=Lc(o,i,n,0)|0;if(!k){if(f[o+480>>2]|0){Kc(o,i);i=0;break}if((f[m>>2]|0)>>>0<=l>>>0?(f[o+308>>2]|0)>>>0>l>>>0:0){fa=o+300|0;f[i>>2]=f[fa>>2];f[fa>>2]=i;i=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{fa=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else i=k}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];fa=o+284|0;f[fa>>2]=(f[fa>>2]|0)+1;break c}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];fa=o+284|0;f[fa>>2]=(f[fa>>2]|0)+1;break c}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(q<<2)>>2]=-1;fa=~q;B=a+752+(c*80|0)+24|0;f[B>>2]=fa;do if(b[r>>0]|0?b[ca+8+(da*72|0)+36>>0]&8:0){k=sa+44|0;i=(f[k>>2]|0)+1|0;f[k>>2]=i;f[ia>>2]=i;k=qa+136|0;l=f[k>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;U=f[qa+88>>2]|0;b[U+(l*20|0)>>0]=70;d[U+(l*20|0)+2>>1]=0;f[U+(l*20|0)+4>>2]=0;f[U+(l*20|0)+8>>2]=i;f[U+(l*20|0)+12>>2]=0;f[U+(l*20|0)+16>>2]=0;b[U+(l*20|0)+1>>0]=0;break}else{tl(qa,70,0,i,0)|0;break}}while(0);if((c|0)>0){i=c;while(1){if(f[a+752+(i*80|0)>>2]|0)break;k=i+-1|0;if((i|0)>1)i=k;else{i=k;break}}i=a+752+(i*80|0)+12|0}else i=W;m=f[i>>2]|0;i=b[ca+8+(da*72|0)+37>>0]|0;d:do if(!(i&16)){l=f[V>>2]|0;if(l&1024|0){o=d[X+40>>1]|0;r=o&65535;i=r+2|0;k=sa+32|0;l=f[k>>2]|0;m=sa+28|0;n=f[m>>2]|0;if((n|0)<(i|0)){Z=sa+44|0;s=f[Z>>2]|0;f[Z>>2]=s+i;s=s+1|0}else{f[k>>2]=i+l;f[m>>2]=n-i;s=l}i=f[W>>2]|0;q=o<<16>>16==0;if(q)m=i;else{n=s+2|0;o=X+48|0;m=0;do{k=n+m|0;l=f[(f[o>>2]|0)+(m<<2)>>2]|0;do if(l)if(!(d[l+12>>1]&1)){Kn(sa,f[(f[l>>2]|0)+16>>2]|0,k,1);break}else{Jn(sa,l,ia,m,_,k)|0;i=f[M>>2]|0;break}while(0);m=m+1|0}while((m|0)!=(r|0));m=i}i=f[X+24>>2]|0;l=qa+136|0;k=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;_=f[qa+88>>2]|0;b[_+(k*20|0)>>0]=70;d[_+(k*20|0)+2>>1]=0;f[_+(k*20|0)+4>>2]=i;f[_+(k*20|0)+8>>2]=s;f[_+(k*20|0)+12>>2]=0;f[_+(k*20|0)+16>>2]=0;b[_+(k*20|0)+1>>0]=0}else tl(qa,70,i,s,0)|0;i=s+1|0;k=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;_=f[qa+88>>2]|0;b[_+(k*20|0)>>0]=70;d[_+(k*20|0)+2>>1]=0;f[_+(k*20|0)+4>>2]=r;f[_+(k*20|0)+8>>2]=i;f[_+(k*20|0)+12>>2]=0;f[_+(k*20|0)+16>>2]=0;b[_+(k*20|0)+1>>0]=0}else tl(qa,70,r,i,0)|0;n=f[X+32>>2]|0;o=X+28|0;p=(b[o>>0]|0)==0?-1:-7;i=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;_=f[qa+88>>2]|0;b[_+(i*20|0)>>0]=9;d[_+(i*20|0)+2>>1]=0;f[_+(i*20|0)+4>>2]=ja;f[_+(i*20|0)+8>>2]=m;f[_+(i*20|0)+12>>2]=s;f[_+(i*20|0)+16>>2]=0;b[_+(i*20|0)+1>>0]=0}else i=tl(qa,9,ja,m,s)|0;k=f[qa>>2]|0;do if(!(b[k+81>>0]|0)){if((i|0)<0)i=(f[l>>2]|0)+-1|0;k=f[qa+88>>2]|0;m=k+(i*20|0)+1|0;if(b[m>>0]|0){ul(qa,k+(i*20|0)|0,n,p);break}if(!n)break;f[k+(i*20|0)+16>>2]=n;b[m>>0]=p}else qg(k,p,n);while(0);b[o>>0]=0;f[a+752+(c*80|0)+48>>2]=ja;b[a+752+(c*80|0)+45>>0]=(b[a+49>>0]|0)==0?60:-85;f[a+752+(c*80|0)+52>>2]=f[l>>2];if(q){D=0;break}A=X+48|0;v=X+30|0;w=$+81|0;x=a+752+(c*80|0)+60|0;y=qa+88|0;z=na+4|0;u=s+2|0;i=f[a+752+(c*80|0)+56>>2]|0;while(1){s=r;r=r+-1|0;q=f[(f[A>>2]|0)+(r<<2)>>2]|0;do if((s|0)<17){if(!(1<>1])){ea=117;break}Ln(ia,q)}else ea=117;while(0);e:do if((ea|0)==117){ea=0;if(!(d[q+12>>1]&1))break;do if(!(b[w>>0]|0)){i=i+-1|0;k=f[(f[x>>2]|0)+(i*20|0)+4>>2]|0;if((k|0)<0)k=(f[l>>2]|0)+-1|0;if(!(b[(f[qa>>2]|0)+81>>0]|0))k=(f[y>>2]|0)+(k*20|0)|0;else k=72144;n=b[k>>0]|0;o=f[k+4>>2]|0;p=f[k+8>>2]|0;k=f[k+12>>2]|0;m=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;_=f[y>>2]|0;b[_+(m*20|0)>>0]=n;d[_+(m*20|0)+2>>1]=0;f[_+(m*20|0)+4>>2]=o;f[_+(m*20|0)+8>>2]=p;f[_+(m*20|0)+12>>2]=k;f[_+(m*20|0)+16>>2]=0;b[_+(m*20|0)+1>>0]=0;break}else{tl(qa,n&255,o,p,k)|0;break}}while(0);n=f[sa>>2]|0;f:do if(f[n+272>>2]|0)if(!(b[n+81>>0]|0))ea=136;else break e;else{do if((j[n+276>>1]|0)>=48){k=n+300|0;m=f[k>>2]|0;if(m|0){f[k>>2]=f[m>>2];_=n+284|0;f[_>>2]=(f[_>>2]|0)+1;break f}k=n+296|0;m=f[k>>2]|0;if(!m){k=n+292|0;break}else{f[k>>2]=f[m>>2];_=n+284|0;f[_>>2]=(f[_>>2]|0)+1;break f}}else k=n+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;ea=136}while(0);if((ea|0)==136){ea=0;m=Dc(n,48,0)|0}if(!m)break;I=m;H=I+48|0;do{f[I>>2]=0;I=I+4|0}while((I|0)<(H|0));b[m>>0]=53;d[m+34>>1]=-1;jl(m);k=f[(f[sa>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[C>>2]=k;ni(sa,42710,C)}n=m+12|0;f[n>>2]=f[(f[q>>2]|0)+12>>2];f[na>>2]=0;f[z>>2]=0;k=Dk($,164,na,0)|0;f[m+16>>2]=k;if(k|0){f[k+28>>2]=u+r;zm(sa,m,f[B>>2]|0,0)}f[n>>2]=0;ig($,m)}while(0);if((s|0)<=1){D=0;break d}}}if(!((l&256|0)==0|(l&5|0)==0)){m=f[f[X+48>>2]>>2]|0;$=sa+44|0;i=(f[$>>2]|0)+1|0;f[$>>2]=i;m=Jn(sa,m,ia,0,_,i)|0;if(!((i|0)==0|(m|0)==(i|0))?(s=sa+19|0,u=b[s>>0]|0,(u&255)<8):0){b[s>>0]=u+1<<24>>24;f[sa+144+((u&255)<<2)>>2]=i}i=f[M>>2]|0;l=qa+136|0;k=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;$=f[qa+88>>2]|0;b[$+(k*20|0)>>0]=30;d[$+(k*20|0)+2>>1]=0;f[$+(k*20|0)+4>>2]=ja;f[$+(k*20|0)+8>>2]=i;f[$+(k*20|0)+12>>2]=m;f[$+(k*20|0)+16>>2]=0;b[$+(k*20|0)+1>>0]=0}else tl(qa,30,ja,i,m)|0;b[a+752+(c*80|0)+45>>0]=-85;D=0;break}if((l&258|0)==258){if(!(l&32)){k=0;i=0}else{k=f[f[X+48>>2]>>2]|0;i=1}if(!(l&16))i=0;else i=f[(f[X+48>>2]|0)+(i<<2)>>2]|0;$=(_|0)==0;q=$?i:k;k=$?k:i;do if(!k){i=_<<2^36;k=qa+136|0;l=f[k>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;$=f[qa+88>>2]|0;b[$+(l*20|0)>>0]=i;d[$+(l*20|0)+2>>1]=0;f[$+(l*20|0)+4>>2]=ja;f[$+(l*20|0)+8>>2]=m;f[$+(l*20|0)+12>>2]=0;f[$+(l*20|0)+16>>2]=0;b[$+(l*20|0)+1>>0]=0;break}else{tl(qa,i,ja,m,0)|0;break}}else{n=f[k>>2]|0;l=f[n+16>>2]|0;i=b[l>>0]|0;if(i<<24>>24==-92)i=b[l+38>>0]|0;switch(i<<24>>24){case -91:{i=l+20|0;ea=163;break}case 127:{i=f[l+20>>2]|0;ea=163;break}default:ea=168}do if((ea|0)==163){if((f[f[i>>2]>>2]|0)<2){ea=168;break}i=sa+19|0;k=b[i>>0]|0;if(!(k<<24>>24)){$=sa+44|0;i=(f[$>>2]|0)+1|0;f[$>>2]=i}else{$=k+-1<<24>>24;b[i>>0]=$;i=f[sa+144+(($&255)<<2)>>2]|0}f[na>>2]=i;Kn(sa,l,i,1);m=i;i=((b[n>>0]|0)+1&2|1)&255}while(0);if((ea|0)==168){m=Dm(sa,l,na)|0;Ln(ia,k);i=(h[n>>0]|0)+-54|0}i=b[56564+i>>0]|0;k=qa+136|0;l=f[k>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;$=f[qa+88>>2]|0;b[$+(l*20|0)>>0]=i;d[$+(l*20|0)+2>>1]=0;f[$+(l*20|0)+4>>2]=ja;f[$+(l*20|0)+8>>2]=v;f[$+(l*20|0)+12>>2]=m;f[$+(l*20|0)+16>>2]=0;b[$+(l*20|0)+1>>0]=0}else tl(qa,i&255,ja,v,m)|0;i=f[na>>2]|0;do if(i|0){k=sa+19|0;l=b[k>>0]|0;if((l&255)>=8)break;b[k>>0]=l+1<<24>>24;f[sa+144+((l&255)<<2)>>2]=i}while(0)}while(0);do if(!q){n=0;m=171}else{l=f[q>>2]|0;p=sa+44|0;n=(f[p>>2]|0)+1|0;f[p>>2]=n;p=l+16|0;Kn(sa,f[p>>2]|0,n,1);p=f[p>>2]|0;i=b[p>>0]|0;o=i<<24>>24==-92;if(o)k=b[p+38>>0]|0;else k=i;switch(k<<24>>24){case -91:{k=p+20|0;ea=185;break}case 127:{k=f[p+20>>2]|0;ea=185;break}default:ea=186}if((ea|0)==185)if((f[f[k>>2]>>2]|0)<2)ea=186;else ea=188;g:do if((ea|0)==186){switch(b[l>>0]|0){case 54:case 56:break;default:{ea=188;break g}}m=(_<<1^2)+55|0}while(0);if((ea|0)==188)m=(_<<1)+54|0;if(o)i=b[p+38>>0]|0;switch(i<<24>>24){case -91:{y=p+20|0;ea=194;break}case 127:{y=f[p+20>>2]|0;ea=194;break}default:{}}if((ea|0)==194?(f[f[y>>2]>>2]|0)>=2:0)break;Ln(ia,q)}while(0);l=qa+136|0;i=f[l>>2]|0;b[a+752+(c*80|0)+45>>0]=5-_;f[a+752+(c*80|0)+48>>2]=ja;f[a+752+(c*80|0)+52>>2]=i;if((m|0)==171){D=0;break}$=sa+44|0;k=(f[$>>2]|0)+1|0;f[$>>2]=k;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;$=f[qa+88>>2]|0;b[$+(i*20|0)>>0]=-127;d[$+(i*20|0)+2>>1]=0;f[$+(i*20|0)+4>>2]=ja;f[$+(i*20|0)+8>>2]=k;f[$+(i*20|0)+12>>2]=0;f[$+(i*20|0)+16>>2]=0;b[$+(i*20|0)+1>>0]=0}else tl(qa,129,ja,k,0)|0;i=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;$=f[qa+88>>2]|0;b[$+(i*20|0)>>0]=m;d[$+(i*20|0)+2>>1]=0;f[$+(i*20|0)+4>>2]=n;f[$+(i*20|0)+8>>2]=v;f[$+(i*20|0)+12>>2]=k;f[$+(i*20|0)+16>>2]=0;b[$+(i*20|0)+1>>0]=0}else tl(qa,m,n,v,k)|0;i=f[l>>2]|0;if((i|0)<=0){D=0;break}d[(f[qa+88>>2]|0)+((i+-1|0)*20|0)+2>>1]=83;D=0;break}if(!(l&512)){if(!(l&8192)){if(i&32){b[a+752+(c*80|0)+45>>0]=-85;D=0;l=qa+136|0;break}b[a+752+(c*80|0)+45>>0]=b[56595+_>>0]|0;f[a+752+(c*80|0)+48>>2]=ja;i=b[56597+_>>0]|0;l=qa+136|0;k=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){$=k+1|0;f[l>>2]=$;_=f[qa+88>>2]|0;b[_+(k*20|0)>>0]=i;d[_+(k*20|0)+2>>1]=0;f[_+(k*20|0)+4>>2]=ja;f[_+(k*20|0)+8>>2]=m;f[_+(k*20|0)+12>>2]=0;f[_+(k*20|0)+16>>2]=0;b[_+(k*20|0)+1>>0]=0;i=$}else i=(tl(qa,i&255,ja,m,0)|0)+1|0;f[a+752+(c*80|0)+52>>2]=i;b[a+752+(c*80|0)+47>>0]=1;D=0;break}q=sa+40|0;U=f[q>>2]|0;f[q>>2]=U+1;S=sa+44|0;T=(f[S>>2]|0)+1|0;f[S>>2]=T;i=f[ha>>2]|0;p=i+60|0;V=f[p>>2]|0;f[p>>2]=V+1;p=i+64|0;if(!(V+-1&V)){n=V<<3|4;o=f[i>>2]|0;i=f[p>>2]|0;h:do if(i){l=i;m=o+304|0;do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)))break h}while(0);k=Lc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Kc(o,i);i=0;break}do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;_=o+300|0;f[i>>2]=f[_>>2];f[_>>2]=i;i=0;break h}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{_=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-_;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];_=o+284|0;f[_>>2]=(f[_>>2]|0)+1;break h}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];_=o+284|0;f[_>>2]=(f[_>>2]|0)+1;break h}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(V<<2)>>2]=-1;O=~V;P=f[ca+8+(da*72|0)+16>>2]|0;R=f[f[X+48>>2]>>2]|0;s=f[R+28>>2]|0;b[a+752+(c*80|0)+45>>0]=66;f[a+752+(c*80|0)+48>>2]=T;Q=a+46|0;i=b[Q>>0]|0;do if((i&255)>1){o=(i&255)-c|0;m=(o*72|0)+8|0;i:do if(!$){_=KA(m|0,0,-1,-1)|0;Y=ba()|0;if(Y>>>0>0|(Y|0)==0&_>>>0>2147483390){ra=g;sa=e;aa(ra|0);t=ta;return sa|0}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](m)|0;ea=723;break}l=ib[f[37372>>2]&255](m)|0;if((f[18194]|0)>>>0>>0)f[18194]=m;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){_=f[18187]|0;Y=LA(i|0,k|0,l|0,((l|0)<0)<<31>>31|0)|0;X=ba()|0;f[17976]=((X|0)<0|(X|0)==0&Y>>>0<=_>>>0)&1}i=ib[f[37356>>2]&255](l)|0;if(!i){ra=g;sa=e;aa(ra|0);t=ta;return sa|0}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}else{do if(!(f[$+272>>2]|0)){do if(!(0<0|(0==0?(j[$+276>>1]|0)>>>0>>0:0))){k=$+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];ea=$+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=723;break i}k=$+296|0;i=f[k>>2]|0;if(!i){i=$+292|0;break}else{f[k>>2]=f[i>>2];ea=$+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=723;break i}}else i=$+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}else{if(!(b[$+81>>0]|0))break;aa(g|0);t=ta;return e|0}while(0);i=Dc($,m,0)|0;ea=723}while(0);do if((ea|0)==723){if(i)break;aa(g|0);t=ta;return e|0}while(0);n=o&255;f[i+4>>2]=n;f[i>>2]=n;n=i+8|0;I=n;k=z;H=I+72|0;do{f[I>>2]=f[k>>2];I=I+4|0;k=k+4|0}while((I|0)<(H|0));m=f[A>>2]|0;if((o|0)<=1){M=i;N=i;break}l=1;do{I=n+(l*72|0)|0;k=m+8+((h[ia+(l*80|0)+44>>0]|0)*72|0)|0;H=I+72|0;do{f[I>>2]=f[k>>2];I=I+4|0;k=k+4|0}while((I|0)<(H|0));l=l+1|0}while((l|0)!=(o|0));M=i;N=i}else{N=f[A>>2]|0;M=N}while(0);L=a+44|0;if(!(d[L>>1]&16)){j:do if(!(f[P+36>>2]&32)){i=(f[S>>2]|0)+1|0;f[S>>2]=i;k=qa+136|0;l=f[k>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;_=f[qa+88>>2]|0;b[_+(l*20|0)>>0]=73;d[_+(l*20|0)+2>>1]=0;f[_+(l*20|0)+4>>2]=0;f[_+(l*20|0)+8>>2]=i;f[_+(l*20|0)+12>>2]=0;f[_+(l*20|0)+16>>2]=0;b[_+(l*20|0)+1>>0]=0;break}else{tl(qa,73,0,i,0)|0;break}}else{i=f[P+8>>2]|0;k:do if(!i)i=0;else while(1){_=i+55|0;if(((h[_>>0]|h[_+1>>0]<<8)&3)==2)break k;i=f[i+20>>2]|0;if(!i){i=0;break}}while(0);n=f[q>>2]|0;f[q>>2]=n+1;k=j[i+50>>1]|0;l=qa+136|0;m=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;_=f[qa+88>>2]|0;b[_+(m*20|0)>>0]=113;d[_+(m*20|0)+2>>1]=0;f[_+(m*20|0)+4>>2]=n;f[_+(m*20|0)+8>>2]=k;f[_+(m*20|0)+12>>2]=0;f[_+(m*20|0)+16>>2]=0;b[_+(m*20|0)+1>>0]=0}else tl(qa,113,n,k,0)|0;k=f[Z>>2]|0;l=om(sa,i)|0;if(!l){i=n;break}i=f[k>>2]|0;if(!(b[i+81>>0]|0)){_=f[k+88>>2]|0;i=(f[k+136>>2]|0)+-1|0;b[_+(i*20|0)+1>>0]=-9;f[_+(i*20|0)+16>>2]=l;i=n;break}if(f[i+480>>2]|0){i=n;break}_=(f[l>>2]|0)+-1|0;f[l>>2]=_;if(_|0){i=n;break}i=f[l+12>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,l);i=n;break j}k=l;if((f[i+304>>2]|0)>>>0>k>>>0)break;if((f[i+308>>2]|0)>>>0<=k>>>0)break;i=i+300|0;f[l>>2]=f[i>>2];f[i>>2]=l;i=n;break j}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);i=n;break}else{i=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);i=n;break}}while(0);J=(f[S>>2]|0)+1|0;f[S>>2]=J}else{J=0;i=0}l=qa+136|0;k=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;K=f[qa+88>>2]|0;b[K+(k*20|0)>>0]=70;d[K+(k*20|0)+2>>1]=0;f[K+(k*20|0)+4>>2]=0;f[K+(k*20|0)+8>>2]=T;f[K+(k*20|0)+12>>2]=0;f[K+(k*20|0)+16>>2]=0;b[K+(k*20|0)+1>>0]=0;K=k}else K=tl(qa,70,0,T,0)|0;q=a+92|0;k=f[q>>2]|0;l:do if((k|0)>1){r=a+100|0;p=0;o=0;do{m=f[r>>2]|0;_=m+(p*48|0)|0;n=f[_>>2]|0;do if((_|0)!=(R|0)){if(d[m+(p*48|0)+10>>1]&6)break;if(!(d[m+(p*48|0)+12>>1]&8191))break;if(!n)k=0;else k=Bk($,n,0,0)|0;o=kl($,o,k)|0;k=f[q>>2]|0}while(0);p=p+1|0}while((p|0)<(k|0));if(!o){I=0;break}k=f[sa>>2]|0;m:do if(f[k+272>>2]|0){if(!(b[k+81>>0]|0))ea=778}else{do if((j[k+276>>1]|0)>=48){m=k+300|0;n=f[m>>2]|0;if(n|0){f[m>>2]=f[n>>2];ea=k+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=779;break m}m=k+296|0;n=f[m>>2]|0;if(!n){m=k+292|0;break}else{f[m>>2]=f[n>>2];ea=k+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=779;break m}}else m=k+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1;ea=778}while(0);if((ea|0)==778){n=Dc(k,48,0)|0;ea=779}do if((ea|0)==779){if(!n){k=f[sa>>2]|0;break}I=n;H=I+48|0;do{f[I>>2]=0;I=I+4|0}while((I|0)<(H|0));b[n>>0]=44;d[n+34>>1]=-1;f[n+16>>2]=o;f[n+4>>2]=f[o+4>>2]&2097412;jl(n);k=f[(f[sa>>2]|0)+120>>2]|0;if((k|0)>=(f[n+24>>2]|0)){I=n;break l}f[D>>2]=k;ni(sa,42710,D);I=n;break l}while(0);ig(k,o);I=0}else I=0;while(0);H=d[L>>1]&1024|32;Km(sa,1,56580,E);G=s+12|0;if((f[G>>2]|0)>0){x=s+20|0;y=(I|0)==0;z=I+12|0;A=P+36|0;B=P+8|0;C=qa+88|0;D=sa+19|0;E=sa+32|0;F=sa+28|0;w=0;o=0;m=0;do{k=f[x>>2]|0;if(!((f[k+(w*48|0)+20>>2]|0)!=(ja|0)?(d[k+(w*48|0)+12>>1]&1024)==0:0))ea=788;do if((ea|0)==788){ea=0;k=f[k+(w*48|0)>>2]|0;if(!y){f[z>>2]=k;k=I}v=sn(sa,M,k,0,0,H,U)|0;if(!v)break;Hn(sa,M,v+752|0,0);do if(!(d[L>>1]&16)){r=(w|0)==((f[G>>2]|0)+-1|0)?-1:w;if(!(f[A>>2]&32)){Am(qa,P,ja,-1,J);k=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;_=f[C>>2]|0;b[_+(k*20|0)>>0]=42;d[_+(k*20|0)+2>>1]=0;f[_+(k*20|0)+4>>2]=i;f[_+(k*20|0)+8>>2]=0;f[_+(k*20|0)+12>>2]=J;f[_+(k*20|0)+16>>2]=0;b[_+(k*20|0)+1>>0]=0}else k=tl(qa,42,i,0,J)|0;if(b[(f[qa>>2]|0)+81>>0]|0)break;_=f[C>>2]|0;b[_+(k*20|0)+1>>0]=-3;f[_+(k*20|0)+16>>2]=r;break}k=f[B>>2]|0;n:do if(!k)k=0;else while(1){_=k+55|0;if(((h[_>>0]|h[_+1>>0]<<8)&3)==2)break n;k=f[k+20>>2]|0;if(!k){k=0;break}}while(0);q=d[k+50>>1]|0;s=q&65535;u=q<<16>>16==1;do if(u){n=b[D>>0]|0;if(!(n<<24>>24)){n=(f[S>>2]|0)+1|0;f[S>>2]=n;ea=810;break}else{n=n+-1<<24>>24;b[D>>0]=n;n=f[sa+144+((n&255)<<2)>>2]|0;ea=810;break}}else{n=f[E>>2]|0;p=f[F>>2]|0;if((p|0)<(s|0)){n=f[S>>2]|0;f[S>>2]=n+s;n=n+1|0}else{f[E>>2]=n+s;f[F>>2]=p-s}if(!(q<<16>>16))q=n;else ea=810}while(0);if((ea|0)==810){ea=0;p=k+4|0;k=0;do{Am(qa,P,ja,d[(f[p>>2]|0)+(k<<1)>>1]|0,k+n|0);k=k+1|0}while((k|0)!=(s|0));q=n}p=(r|0)!=0;if(p){k=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;_=f[C>>2]|0;b[_+(k*20|0)>>0]=29;d[_+(k*20|0)+2>>1]=0;f[_+(k*20|0)+4>>2]=i;f[_+(k*20|0)+8>>2]=0;f[_+(k*20|0)+12>>2]=q;f[_+(k*20|0)+16>>2]=0;b[_+(k*20|0)+1>>0]=0}else k=tl(qa,29,i,0,q)|0;if(!(b[(f[qa>>2]|0)+81>>0]|0)){_=f[C>>2]|0;b[_+(k*20|0)+1>>0]=-3;f[_+(k*20|0)+16>>2]=s}if((r|0)>-1)ea=819}else{k=0;ea=819}do if((ea|0)==819){ea=0;n=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(n|0)){f[l>>2]=n+1;_=f[C>>2]|0;b[_+(n*20|0)>>0]=102;d[_+(n*20|0)+2>>1]=0;f[_+(n*20|0)+4>>2]=q;f[_+(n*20|0)+8>>2]=s;f[_+(n*20|0)+12>>2]=J;f[_+(n*20|0)+16>>2]=0;b[_+(n*20|0)+1>>0]=0}else tl(qa,102,q,s,J)|0;n=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(n|0)){f[l>>2]=n+1;_=f[C>>2]|0;b[_+(n*20|0)>>0]=-123;d[_+(n*20|0)+2>>1]=0;f[_+(n*20|0)+4>>2]=i;f[_+(n*20|0)+8>>2]=J;f[_+(n*20|0)+12>>2]=q;f[_+(n*20|0)+16>>2]=0;b[_+(n*20|0)+1>>0]=0}else n=tl(qa,133,i,J,q)|0;if(!(b[(f[qa>>2]|0)+81>>0]|0)){_=f[C>>2]|0;b[_+(n*20|0)+1>>0]=-3;f[_+(n*20|0)+16>>2]=s}if(!p)break;n=f[l>>2]|0;if((n|0)<=0)break;d[(f[C>>2]|0)+((n+-1|0)*20|0)+2>>1]=16}while(0);if(!u){if((f[F>>2]|0)>=(s|0))break;f[F>>2]=s;f[E>>2]=q;break}if(!q)break;n=b[D>>0]|0;if((n&255)>=8)break;b[D>>0]=n+1<<24>>24;f[sa+144+((n&255)<<2)>>2]=q}else k=0;while(0);n=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(n|0)){f[l>>2]=n+1;_=f[C>>2]|0;b[_+(n*20|0)>>0]=12;d[_+(n*20|0)+2>>1]=0;f[_+(n*20|0)+4>>2]=T;f[_+(n*20|0)+8>>2]=O;f[_+(n*20|0)+12>>2]=0;f[_+(n*20|0)+16>>2]=0;b[_+(n*20|0)+1>>0]=0}else tl(qa,12,T,O,0)|0;if(k|0){n=f[l>>2]|0;if(!(b[(f[qa>>2]|0)+81>>0]|0))k=(f[C>>2]|0)+(((k|0)<0?n+-1|0:k)*20|0)|0;else k=72144;f[k+8>>2]=n}o=(b[v+50>>0]|0)==0?o:1;k=f[v+816>>2]|0;do if(!(f[k+36>>2]&512))m=0;else{if(w|0?(f[k+32>>2]|0)!=(m|0):0){m=0;break}m=f[k+32>>2]|0;if(f[A>>2]&32|0?(_=m+55|0,((h[_>>0]|h[_+1>>0]<<8)&3)==2):0){m=0;break}}while(0);tn(v)}while(0);w=w+1|0}while((w|0)<(f[G>>2]|0))}else{o=0;m=0}n=sa+208|0;i=f[n>>2]|0;if(!i)i=0;else{k=f[Z>>2]|0;if((i|0)<0)i=(f[k+136>>2]|0)+-1|0;if(!(b[(f[k>>2]|0)+81>>0]|0))i=(f[k+88>>2]|0)+(i*20|0)|0;else i=72144;i=f[i+8>>2]|0}f[n>>2]=i;f[a+752+(c*80|0)+56>>2]=m;if(m|0)f[a+752+(c*80|0)+8>>2]=U;if(I|0){f[I+12>>2]=0;ig($,I)}k=f[l>>2]|0;if(!(b[(f[qa>>2]|0)+81>>0]|0))i=(f[qa+88>>2]|0)+(((K|0)<0?k+-1|0:K)*20|0)|0;else i=72144;f[i+4>>2]=k;i=f[W>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;_=f[qa+88>>2]|0;b[_+(k*20|0)>>0]=11;d[_+(k*20|0)+2>>1]=0;f[_+(k*20|0)+4>>2]=0;f[_+(k*20|0)+8>>2]=i;f[_+(k*20|0)+12>>2]=0;f[_+(k*20|0)+16>>2]=0;b[_+(k*20|0)+1>>0]=0}else tl(qa,11,0,i,0)|0;i=f[(f[ha>>2]|0)+64>>2]|0;if(i|0)f[i+(V<<2)>>2]=f[l>>2];o:do if(!((N|0)==0|(h[Q>>0]|0)<2)){do if($|0){if(f[$+480>>2]|0){Kc($,N);break o}i=N;if((f[$+304>>2]|0)>>>0>i>>>0)break;if((f[$+308>>2]|0)>>>0<=i>>>0)break;$=$+300|0;f[N>>2]=f[$>>2];f[$>>2]=N;break o}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](N);break}else{$=ib[f[37368>>2]&255](N)|0;f[18187]=(f[18187]|0)-$;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](N);break}}while(0);if(o|0){D=0;break}Ln(ia,R);D=0;break}J=d[X+24>>1]|0;r=d[X+26>>1]|0;s=d[X+28>>1]|0;T=f[X+32>>2]|0;v=a+752+(c*80|0)+8|0;U=f[v>>2]|0;R=a+44|0;if((d[R>>1]&1)!=0?(b[a+47>>0]|0)>0:0){q=(j[T+50>>1]|0)>(J&65535);i=q&1;q=q&1}else{i=0;q=0}m=J&65535;k=r&65535;if(!(l&32)){u=0;k=m}else{u=f[(f[X+48>>2]|0)+(m<<2)>>2]|0;i=i>>>0>k>>>0?i:k;k=m+1|0}do if(l&16){p=f[(f[X+48>>2]|0)+(k<<2)>>2]|0;Q=s&65535;i=(i|0)>(Q|0)?i:Q;if(d[p+10>>1]&256){l=sa+44|0;k=(f[l>>2]|0)+1|0;f[l>>2]=k;l=a+752+(c*80|0)+36|0;f[l>>2]=k;n=qa+136|0;o=f[n>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;Q=f[qa+88>>2]|0;b[Q+(o*20|0)>>0]=70;d[Q+(o*20|0)+2>>1]=0;f[Q+(o*20|0)+4>>2]=1;f[Q+(o*20|0)+8>>2]=k;f[Q+(o*20|0)+12>>2]=0;f[Q+(o*20|0)+16>>2]=0;b[Q+(o*20|0)+1>>0]=0}else tl(qa,70,1,k,0)|0;f[a+752+(c*80|0)+40>>2]=f[n>>2];Q=f[l>>2]<<1;f[l>>2]=Q;f[l>>2]=_^(b[(f[T+28>>2]|0)+m>>0]|0)==1|Q}if(!u){k=d[(f[T+4>>2]|0)+(m<<1)>>1]|0;if(k<<16>>16>-1){if(b[(f[(f[T+12>>2]|0)+4>>2]|0)+(k<<16>>16<<4)+12>>0]|0){l=q;break}}else if(k<<16>>16!=-2){l=q;break}l=1}else l=q}else{p=0;l=q}while(0);k=d[T+50>>1]|0;if((J&65535)<(k&65535)?!(((w&1|0)!=0|0!=0)^(b[(f[T+28>>2]|0)+m>>0]|0)==0):0)ea=225;else if(_|0?k<<16>>16==J<<16>>16:0)ea=225;else{K=r;N=0;L=u;u=p;G=l}if((ea|0)==225){K=s;s=r&255;N=l;L=p;G=0}F=f[Z>>2]|0;w=f[x>>2]|0;x=d[w+24>>1]|0;D=d[w+42>>1]|0;n=f[w+32>>2]|0;Q=sa+44|0;l=f[Q>>2]|0;C=l+1|0;E=x&65535;y=i+E|0;f[Q>>2]=l+y;l=f[sa>>2]|0;n=Bm(l,n)|0;p:do if(!n)P=0;else{o=(wz(n)|0)+1|0;q:do if(!l){P=KA(o|0,0,-1,-1)|0;I=ba()|0;if(I>>>0>0|(I|0)==0&P>>>0>2147483390){P=0;break p}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](o)|0;ea=251;break}i=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){P=f[18187]|0;I=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;H=ba()|0;f[17976]=((H|0)<0|(H|0)==0&I>>>0<=P>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){P=0;break p}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}else{if(f[l+272>>2]|0){if(b[l+81>>0]|0){P=0;break p}}else{do if(!(0<0|(0==0?(j[l+276>>1]|0)>>>0>>0:0))){k=l+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];ea=l+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=251;break q}k=l+296|0;i=f[k>>2]|0;if(!i){i=l+292|0;break}else{f[k>>2]=f[i>>2];ea=l+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=251;break q}}else i=l+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(l,o,0)|0;ea=251}while(0);if((ea|0)==251)if(!i){P=0;break}YA(i|0,n|0,o|0)|0;P=i}while(0);r:do if(D<<16>>16){p=f[v>>2]|0;n=(_|0)==0;i=_<<2^36;q=F+136|0;k=f[q>>2]|0;r=F+12|0;if((f[(f[r>>2]|0)+48>>2]|0)>(k|0)){f[q>>2]=k+1;I=f[F+88>>2]|0;b[I+(k*20|0)>>0]=i;d[I+(k*20|0)+2>>1]=0;f[I+(k*20|0)+4>>2]=p;f[I+(k*20|0)+8>>2]=0;f[I+(k*20|0)+12>>2]=0;f[I+(k*20|0)+16>>2]=0;b[I+(k*20|0)+1>>0]=0}else tl(F,i,p,0,0)|0;i=f[q>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(i|0)){f[q>>2]=i+1;I=f[F+88>>2]|0;b[I+(i*20|0)>>0]=11;I=I+(i*20|0)+1|0;H=I+19|0;do{b[I>>0]=0;I=I+1|0}while((I|0)<(H|0));l=i}else l=tl(F,11,0,0,0)|0;k=n?25:22;o=D&65535;i=f[q>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(i|0)){f[q>>2]=i+1;I=f[F+88>>2]|0;b[I+(i*20|0)>>0]=k;d[I+(i*20|0)+2>>1]=0;f[I+(i*20|0)+4>>2]=p;f[I+(i*20|0)+8>>2]=0;f[I+(i*20|0)+12>>2]=C;f[I+(i*20|0)+16>>2]=0;b[I+(i*20|0)+1>>0]=0}else i=tl(F,k,p,0,C)|0;do if(!(b[(f[F>>2]|0)+81>>0]|0)){I=f[F+88>>2]|0;b[I+(i*20|0)+1>>0]=-3;f[I+(i*20|0)+16>>2]=o;I=b[(f[F>>2]|0)+81>>0]|0;f[a+752+(c*80|0)+20>>2]=i;k=f[q>>2]|0;if(I<<24>>24){i=72144;break}i=(f[F+88>>2]|0)+(((l|0)<0?k+-1|0:l)*20|0)|0}else{f[a+752+(c*80|0)+20>>2]=i;i=72144;k=f[q>>2]|0}while(0);f[i+8>>2]=k;n=F+88|0;i=0;while(1){l=i+C|0;if((f[(f[r>>2]|0)+48>>2]|0)>(k|0)){f[q>>2]=k+1;I=f[n>>2]|0;b[I+(k*20|0)>>0]=90;d[I+(k*20|0)+2>>1]=0;f[I+(k*20|0)+4>>2]=p;f[I+(k*20|0)+8>>2]=i;f[I+(k*20|0)+12>>2]=l;f[I+(k*20|0)+16>>2]=0;b[I+(k*20|0)+1>>0]=0}else tl(F,90,p,i,l)|0;i=i+1|0;if((i|0)==(o|0))break r;k=f[q>>2]|0}}while(0);if((D&65535)<(x&65535)){B=w+48|0;r=(y|0)==1;v=(P|0)!=0;w=F+136|0;x=F+12|0;y=sa+19|0;z=F+88|0;A=(P|0)==0;n=C;q=D&65535;while(1){o=f[(f[B>>2]|0)+(q<<2)>>2]|0;i=q+n|0;l=Jn(sa,o,ia,q,_,i)|0;do if((l|0)!=(i|0))if(!r){k=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(k|0)){f[w>>2]=k+1;I=f[z>>2]|0;b[I+(k*20|0)>>0]=79;d[I+(k*20|0)+2>>1]=0;f[I+(k*20|0)+4>>2]=l;f[I+(k*20|0)+8>>2]=i;f[I+(k*20|0)+12>>2]=0;f[I+(k*20|0)+16>>2]=0;b[I+(k*20|0)+1>>0]=0;break}else{tl(F,79,l,i,0)|0;break}}else{if(!n){n=l;break}i=b[y>>0]|0;if((i&255)>=8){n=l;break}b[y>>0]=i+1<<24>>24;f[sa+144+((i&255)<<2)>>2]=n;n=l;break}while(0);i=j[o+12>>1]|0;s:do if(!(i&1)){if(i&256|0)break;p=f[(f[o>>2]|0)+16>>2]|0;t:do if(!(d[o+10>>1]&2048)){k=b[p>>0]|0;if((k+95&255)<2){i=p;do{i=f[i+12>>2]|0;k=b[i>>0]|0}while((k+95&255)<2)}else i=p;if(k<<24>>24==-92)k=b[i+38>>0]|0;u:do switch(k<<24>>24){case -114:case -115:case 106:case -113:break t;case -98:{if(f[i+4>>2]&1048576|0)break u;k=f[i+44>>2]|0;if(!k)break u;i=d[i+32>>1]|0;if(i<<16>>16<=-1)break t;if(b[(f[k+4>>2]|0)+(i<<16>>16<<4)+12>>0]|0)break t;break}default:{}}while(0);i=n+q|0;k=f[W>>2]|0;l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;I=f[z>>2]|0;b[I+(l*20|0)>>0]=50;d[I+(l*20|0)+2>>1]=0;f[I+(l*20|0)+4>>2]=i;f[I+(l*20|0)+8>>2]=k;f[I+(l*20|0)+12>>2]=0;f[I+(l*20|0)+16>>2]=0;b[I+(l*20|0)+1>>0]=0;break}else{tl(F,50,i,k,0)|0;break}}while(0);if(A)break;l=P+q|0;o=b[l>>0]|0;i=Yk(p)|0;if(o<<24>>24==0|i<<24>>24==0)if((i|o)<<24>>24==0?1:((i&255)+(o&255)&255)<<24>>24==65)ea=305;else ea=306;else if(o<<24>>24>66|i<<24>>24>66)ea=306;else ea=305;v:do if((ea|0)==305){ea=0;b[l>>0]=65}else if((ea|0)==306){ea=0;if(o<<24>>24==65)break;k=b[p>>0]|0;if((k+95&255)<2){i=p;do{i=f[i+12>>2]|0;k=b[i>>0]|0}while((k+95&255)<2)}else i=p;if(k<<24>>24==-92)k=b[i+38>>0]|0;switch(k<<24>>24){case -114:break v;case -113:if((o+-67&255)<2)break v;else break s;case -115:switch(o<<24>>24){case 67:case 69:break v;default:break s}case 106:if(o<<24>>24==66)break v;else break s;case -98:if((o+-67&255)<2&(d[i+32>>1]|0)<0)break v;else break s;default:break s}}while(0);b[l>>0]=65}else{if(!(v&(f[(f[o>>2]|0)+4>>2]&2048|0)!=0))break;b[P+q>>0]=65}while(0);q=q+1|0;if((q|0)==(E|0)){C=n;break}}}F=(P|0)==0;w:do if(s<<16>>16==0|F)D=0;else{n=P+m|0;if(!n){D=0;break}o=(wz(n)|0)+1|0;x:do if(!$){W=KA(o|0,0,-1,-1)|0;I=ba()|0;if(I>>>0>0|(I|0)==0&W>>>0>2147483390){D=0;break w}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](o)|0;ea=345;break}i=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){W=f[18187]|0;I=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;H=ba()|0;f[17976]=((H|0)<0|(H|0)==0&I>>>0<=W>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){D=0;break w}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}else{if(f[$+272>>2]|0){if(b[$+81>>0]|0){D=0;break w}}else{do if(!(0<0|(0==0?(j[$+276>>1]|0)>>>0>>0:0))){k=$+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];ea=$+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=345;break x}k=$+296|0;i=f[k>>2]|0;if(!i){i=$+292|0;break}else{f[k>>2]=f[i>>2];ea=$+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=345;break x}}else i=$+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc($,o,0)|0;ea=345}while(0);if((ea|0)==345)if(!i){D=0;break}YA(i|0,n|0,o|0)|0;D=i}while(0);E=f[M>>2]|0;l=(L|0)!=0;if(l)i=(d[L+12>>1]&40)!=0;else i=1;A=i&1;B=(u|0)!=0;if(B)i=(d[u+12>>1]&40)!=0;else i=1;k=i&1;z=(J<<16>>16!=0|l)&1;do if(l){y=f[(f[L>>2]|0)+16>>2]|0;n=C+m|0;x=K&65535;Kn(sa,y,n,x);if(d[L+10>>1]&256){if(!(b[(f[qa>>2]|0)+81>>0]|0))i=(f[qa+88>>2]|0)+(((f[qa+136>>2]|0)+-1|0)*20|0)|0;else i=72144;W=f[a+752+(c*80|0)+36>>2]|0;f[i+12>>2]=W>>>1;d[i+2>>1]=W&1}l=b[y>>0]|0;if((l+95&255)<2){i=y;do{i=f[i+12>>2]|0;l=b[i>>0]|0}while((l+95&255)<2)}else i=y;if(l<<24>>24==-92)l=b[i+38>>0]|0;y:do switch(l<<24>>24){case -114:case -115:case 106:case -113:break;case -98:{if(f[i+4>>2]&1048576|0){ea=366;break y}l=f[i+44>>2]|0;if(!l){ea=366;break y}i=d[i+32>>1]|0;if(i<<16>>16<=-1)break y;if(!(b[(f[l+4>>2]|0)+(i<<16>>16<<4)+12>>0]|0))ea=366;break}default:ea=366}while(0);do if((ea|0)==366){i=qa+136|0;l=f[i>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(l|0)){f[i>>2]=l+1;W=f[qa+88>>2]|0;b[W+(l*20|0)>>0]=50;d[W+(l*20|0)+2>>1]=0;f[W+(l*20|0)+4>>2]=n;f[W+(l*20|0)+8>>2]=E;f[W+(l*20|0)+12>>2]=0;f[W+(l*20|0)+16>>2]=0;b[W+(l*20|0)+1>>0]=0;break}else{tl(qa,50,n,E,0)|0;break}}while(0);z:do if(!F){w=P+m|0;if(!(K<<16>>16))break;q=y+38|0;r=y+20|0;v=y+20|0;p=0;while(1){l=b[y>>0]|0;if(l<<24>>24==-92)i=b[q>>0]|0;else i=l;switch(i<<24>>24){case -91:{i=r;ea=376;break}case 127:{i=f[v>>2]|0;ea=376;break}default:i=y}A:do if((ea|0)==376){if((f[f[i>>2]>>2]|0)<2){i=y;break}do if(l<<24>>24!=127){if((b[q>>0]|0)==127)break;i=f[(f[r>>2]|0)+4+(p*20|0)>>2]|0;break A}while(0);i=f[(f[f[v>>2]>>2]|0)+4+(p*20|0)>>2]|0}while(0);n=w+p|0;o=b[n>>0]|0;l=Yk(i)|0;if(o<<24>>24==0|l<<24>>24==0)if(o<<24>>24==65|((l|o)<<24>>24==0?1:((l&255)+(o&255)&255)<<24>>24==65))ea=394;else ea=384;else if(o<<24>>24==65|o<<24>>24<67&l<<24>>24<67)ea=394;else ea=384;B:do if((ea|0)==384){ea=0;l=b[i>>0]|0;if((l+95&255)<2)do{i=f[i+12>>2]|0;l=b[i>>0]|0}while((l+95&255)<2);if(l<<24>>24==-92)l=b[i+38>>0]|0;switch(l<<24>>24){case -114:{ea=394;break B}case -113:if((o+-67&255)<2){ea=394;break B}else break B;case -115:switch(o<<24>>24){case 67:case 69:{ea=394;break B}default:break B}case 106:if(o<<24>>24==66){ea=394;break B}else break B;case -98:if((o+-67&255)<2&(d[i+32>>1]|0)<0){ea=394;break B}else break B;default:break B}}while(0);if((ea|0)==394){ea=0;b[n>>0]=65}p=p+1|0;if((p|0)==(x|0))break z}}while(0);l=x+m|0;i=b[y>>0]|0;if(i<<24>>24==-92)i=b[y+38>>0]|0;switch(i<<24>>24){case -91:{O=y+20|0;ea=401;break}case 127:{O=f[y+20>>2]|0;ea=401;break}default:{}}if((ea|0)==401?(f[f[O>>2]>>2]|0)>=2:0){w=z;x=l;v=1;i=0;break}Ln(ia,L);w=z;x=l;v=A;i=0}else{if(!(G<<24>>24)){w=z;x=m;v=A;i=0;break}i=C+m|0;l=qa+136|0;n=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(n|0)){f[l>>2]=n+1;W=f[qa+88>>2]|0;b[W+(n*20|0)>>0]=73;d[W+(n*20|0)+2>>1]=0;f[W+(n*20|0)+4>>2]=0;f[W+(n*20|0)+8>>2]=i;f[W+(n*20|0)+12>>2]=0;f[W+(n*20|0)+16>>2]=0;b[W+(n*20|0)+1>>0]=0}else tl(qa,73,0,i,0)|0;w=1;x=m+1|0;v=0;i=G}while(0);i=x-(i&255)|0;r=f[Z>>2]|0;C:do if((P|0)!=0&(i|0)>0){n=P;l=C;while(1){if((b[n>>0]|0)!=65){q=n;break}o=i+-1|0;l=l+1|0;n=n+1|0;if((i|0)>1)i=o;else{q=n;i=o;break}}D:do if((i|0)>1){n=i;while(1){i=n+-1|0;if((b[q+i>>0]|0)!=65)break D;if((n|0)>2)n=i;else{ea=416;break}}}else ea=416;while(0);if((ea|0)==416)if((i|0)==1)n=1;else break;o=r+136|0;i=f[o>>2]|0;if((f[(f[r+12>>2]|0)+48>>2]|0)>(i|0)){f[o>>2]=i+1;W=f[r+88>>2]|0;b[W+(i*20|0)>>0]=91;d[W+(i*20|0)+2>>1]=0;f[W+(i*20|0)+4>>2]=l;f[W+(i*20|0)+8>>2]=n;f[W+(i*20|0)+12>>2]=0;f[W+(i*20|0)+16>>2]=0;b[W+(i*20|0)+1>>0]=0}else i=tl(r,91,l,n,0)|0;l=f[r>>2]|0;if(b[l+81>>0]|0){if((n|0)==-12)break;qg(l,n,q);break}if((i|0)<0)i=(f[o>>2]|0)+-1|0;l=f[r+88>>2]|0;o=l+(i*20|0)|0;do if((n|0)<=-1){p=l+(i*20|0)+1|0;if(b[p>>0]|0)break;if((n|0)==-3){f[l+(i*20|0)+16>>2]=q;b[p>>0]=-3;break C}f[l+(i*20|0)+16>>2]=q;b[p>>0]=n;if((n|0)!=-12)break C;W=q+12|0;f[W>>2]=(f[W>>2]|0)+1;break C}while(0);ul(r,o,q,n)}while(0);X=d[X+42>>1]|0;do if(!(X<<16>>16!=0&(x|0)==(X&65535|0))){n=qa+136|0;do if(f[V>>2]&262144|0){i=f[n>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[n>>2]=i+1;X=f[qa+88>>2]|0;b[X+(i*20|0)>>0]=119;d[X+(i*20|0)+2>>1]=0;f[X+(i*20|0)+4>>2]=U;f[X+(i*20|0)+8>>2]=0;f[X+(i*20|0)+12>>2]=0;f[X+(i*20|0)+16>>2]=0;b[X+(i*20|0)+1>>0]=0;break}else{tl(qa,119,U,0,0)|0;break}}while(0);l=b[56568+(w<<2|_|v<<1)>>0]|0;i=f[n>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[n>>2]=i+1;X=f[qa+88>>2]|0;b[X+(i*20|0)>>0]=l;d[X+(i*20|0)+2>>1]=0;f[X+(i*20|0)+4>>2]=U;f[X+(i*20|0)+8>>2]=E;f[X+(i*20|0)+12>>2]=C;f[X+(i*20|0)+16>>2]=0;b[X+(i*20|0)+1>>0]=0}else i=tl(qa,l&255,U,E,C)|0;if(b[(f[qa>>2]|0)+81>>0]|0)break;X=f[qa+88>>2]|0;b[X+(i*20|0)+1>>0]=-3;f[X+(i*20|0)+16>>2]=x}while(0);do if(B){x=f[(f[u>>2]|0)+16>>2]|0;v=C+m|0;w=s&65535;Kn(sa,x,v,w);if(d[u+10>>1]&256){if(!(b[(f[qa>>2]|0)+81>>0]|0))i=(f[qa+88>>2]|0)+(((f[qa+136>>2]|0)+-1|0)*20|0)|0;else i=72144;X=f[a+752+(c*80|0)+36>>2]|0;f[i+12>>2]=X>>>1;d[i+2>>1]=X&1}l=b[x>>0]|0;if((l+95&255)<2){i=x;do{i=f[i+12>>2]|0;l=b[i>>0]|0}while((l+95&255)<2)}else i=x;if(l<<24>>24==-92)l=b[i+38>>0]|0;E:do switch(l<<24>>24){case -114:case -115:case 106:case -113:break;case -98:{if(f[i+4>>2]&1048576|0){ea=457;break E}l=f[i+44>>2]|0;if(!l){ea=457;break E}i=d[i+32>>1]|0;if(i<<16>>16<=-1)break E;if(!(b[(f[l+4>>2]|0)+(i<<16>>16<<4)+12>>0]|0))ea=457;break}default:ea=457}while(0);do if((ea|0)==457){i=qa+136|0;l=f[i>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(l|0)){f[i>>2]=l+1;X=f[qa+88>>2]|0;b[X+(l*20|0)>>0]=50;d[X+(l*20|0)+2>>1]=0;f[X+(l*20|0)+4>>2]=v;f[X+(l*20|0)+8>>2]=E;f[X+(l*20|0)+12>>2]=0;f[X+(l*20|0)+16>>2]=0;b[X+(l*20|0)+1>>0]=0;break}else{tl(qa,50,v,E,0)|0;break}}while(0);F:do if(!((D|0)==0|s<<16>>16==0)){q=x+38|0;r=x+20|0;s=x+20|0;p=0;do{l=b[x>>0]|0;if(l<<24>>24==-92)i=b[q>>0]|0;else i=l;switch(i<<24>>24){case -91:{i=r;ea=466;break}case 127:{i=f[s>>2]|0;ea=466;break}default:i=x}G:do if((ea|0)==466){if((f[f[i>>2]>>2]|0)<2){i=x;break}do if(l<<24>>24!=127){if((b[q>>0]|0)==127)break;i=f[(f[r>>2]|0)+4+(p*20|0)>>2]|0;break G}while(0);i=f[(f[f[s>>2]>>2]|0)+4+(p*20|0)>>2]|0}while(0);n=D+p|0;o=b[n>>0]|0;l=Yk(i)|0;if(o<<24>>24==0|l<<24>>24==0)if(o<<24>>24==65|((l|o)<<24>>24==0?1:((l&255)+(o&255)&255)<<24>>24==65))ea=484;else ea=474;else if(o<<24>>24==65|o<<24>>24<67&l<<24>>24<67)ea=484;else ea=474;H:do if((ea|0)==474){ea=0;l=b[i>>0]|0;if((l+95&255)<2)do{i=f[i+12>>2]|0;l=b[i>>0]|0}while((l+95&255)<2);if(l<<24>>24==-92)l=b[i+38>>0]|0;switch(l<<24>>24){case -114:{ea=484;break H}case -113:if((o+-67&255)<2){ea=484;break H}else break H;case -115:switch(o<<24>>24){case 67:case 69:{ea=484;break H}default:break H}case 106:if(o<<24>>24==66){ea=484;break H}else break H;case -98:if((o+-67&255)<2&(d[i+32>>1]|0)<0){ea=484;break H}else break H;default:break H}}while(0);if((ea|0)==484){ea=0;b[n>>0]=65}p=p+1|0}while((p|0)!=(w|0));r=f[Z>>2]|0;n=D;i=w;l=v;while(1){if((b[n>>0]|0)!=65){q=n;break}o=i+-1|0;l=l+1|0;n=n+1|0;if((i|0)>1)i=o;else{q=n;i=o;break}}I:do if((i|0)>1){n=i;while(1){i=n+-1|0;if((b[q+i>>0]|0)!=65)break I;if((n|0)>2)n=i;else{ea=493;break}}}else ea=493;while(0);if((ea|0)==493)if((i|0)==1)n=1;else break;o=r+136|0;i=f[o>>2]|0;if((f[(f[r+12>>2]|0)+48>>2]|0)>(i|0)){f[o>>2]=i+1;Z=f[r+88>>2]|0;b[Z+(i*20|0)>>0]=91;d[Z+(i*20|0)+2>>1]=0;f[Z+(i*20|0)+4>>2]=l;f[Z+(i*20|0)+8>>2]=n;f[Z+(i*20|0)+12>>2]=0;f[Z+(i*20|0)+16>>2]=0;b[Z+(i*20|0)+1>>0]=0}else i=tl(r,91,l,n,0)|0;l=f[r>>2]|0;if(b[l+81>>0]|0){if((n|0)==-12)break;qg(l,n,q);break}if((i|0)<0)i=(f[o>>2]|0)+-1|0;l=f[r+88>>2]|0;o=l+(i*20|0)|0;do if((n|0)<=-1){p=l+(i*20|0)+1|0;if(b[p>>0]|0)break;if((n|0)==-3){f[l+(i*20|0)+16>>2]=q;b[p>>0]=-3;break F}f[l+(i*20|0)+16>>2]=q;b[p>>0]=n;if((n|0)!=-12)break F;Z=q+12|0;f[Z>>2]=(f[Z>>2]|0)+1;break F}while(0);ul(r,o,q,n)}while(0);m=w+m|0;i=b[x>>0]|0;if(i<<24>>24==-92)i=b[x+38>>0]|0;switch(i<<24>>24){case -91:{S=x+20|0;ea=514;break}case 127:{S=f[x+20>>2]|0;ea=514;break}default:{}}if((ea|0)==514?(f[f[S>>2]>>2]|0)>=2:0){k=1;break}Ln(ia,u)}else{if(!(N<<24>>24))break;i=C+m|0;k=qa+136|0;l=f[k>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;Z=f[qa+88>>2]|0;b[Z+(l*20|0)>>0]=73;d[Z+(l*20|0)+2>>1]=0;f[Z+(l*20|0)+4>>2]=0;f[Z+(l*20|0)+8>>2]=i;f[Z+(l*20|0)+12>>2]=0;f[Z+(l*20|0)+16>>2]=0;b[Z+(l*20|0)+1>>0]=0}else tl(qa,73,0,i,0)|0;k=0;m=m+1|0}while(0);J:do if(!F){do if($|0){if(f[$+480>>2]|0){Kc($,P);break J}i=P;if((f[$+304>>2]|0)>>>0>i>>>0)break;if((f[$+308>>2]|0)>>>0<=i>>>0)break;Z=$+300|0;f[P>>2]=f[Z>>2];f[Z>>2]=P;break J}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](P);break}else{Z=ib[f[37368>>2]&255](P)|0;f[18187]=(f[18187]|0)-Z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](P);break}}while(0);K:do if(D|0){do if($|0){if(f[$+480>>2]|0){Kc($,D);break K}i=D;if((f[$+304>>2]|0)>>>0>i>>>0)break;if((f[$+308>>2]|0)>>>0<=i>>>0)break;$=$+300|0;f[D>>2]=f[$>>2];f[$>>2]=D;break K}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](D);break}else{$=ib[f[37368>>2]&255](D)|0;f[18187]=(f[18187]|0)-$;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](D);break}}while(0);l=qa+136|0;i=f[l>>2]|0;f[a+752+(c*80|0)+52>>2]=i;do if(m|0){k=b[56576+(k|_<<1)>>0]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;$=f[qa+88>>2]|0;b[$+(i*20|0)>>0]=k;d[$+(i*20|0)+2>>1]=0;f[$+(i*20|0)+4>>2]=U;f[$+(i*20|0)+8>>2]=E;f[$+(i*20|0)+12>>2]=C;f[$+(i*20|0)+16>>2]=0;b[$+(i*20|0)+1>>0]=0}else i=tl(qa,k&255,U,E,C)|0;if(b[(f[qa>>2]|0)+81>>0]|0)break;$=f[qa+88>>2]|0;b[$+(i*20|0)+1>>0]=-3;f[$+(i*20|0)+16>>2]=m}while(0);do if(f[V>>2]&262144|0){i=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;$=f[qa+88>>2]|0;b[$+(i*20|0)>>0]=119;d[$+(i*20|0)+2>>1]=0;f[$+(i*20|0)+4>>2]=U;f[$+(i*20|0)+8>>2]=1;f[$+(i*20|0)+12>>2]=0;f[$+(i*20|0)+16>>2]=0;b[$+(i*20|0)+1>>0]=0;break}else{tl(qa,119,U,1,0)|0;break}}while(0);L:do if(!Y){m=T+12|0;i=f[m>>2]|0;if(f[i+36>>2]&32|0){if((ja|0)==(U|0))break;i=f[i+8>>2]|0;M:do if(!i)i=0;else while(1){$=i+55|0;if(((h[$>>0]|h[$+1>>0]<<8)&3)==2)break M;i=f[i+20>>2]|0;if(!i){i=0;break}}while(0);v=i+50|0;q=d[v>>1]|0;m=q&65535;do if(q<<16>>16==1){k=sa+19|0;m=b[k>>0]|0;if(!(m<<24>>24)){k=(f[Q>>2]|0)+1|0;f[Q>>2]=k;ea=624;break}else{ea=m+-1<<24>>24;b[k>>0]=ea;k=f[sa+144+((ea&255)<<2)>>2]|0;ea=624;break}}else{n=sa+32|0;k=f[n>>2]|0;o=sa+28|0;p=f[o>>2]|0;if((p|0)<(m|0)){k=f[Q>>2]|0;f[Q>>2]=k+m;k=k+1|0}else{f[n>>2]=k+m;f[o>>2]=p-m}if(!(q<<16>>16))m=0;else ea=624}while(0);if((ea|0)==624){q=i+4|0;r=T+52|0;s=T+4|0;u=qa+88|0;p=0;do{n=d[(f[q>>2]|0)+(p<<1)>>1]|0;i=d[r>>1]|0;N:do if(!(i<<16>>16))i=-1;else{o=f[s>>2]|0;m=i&65535;i=0;while(1){if((d[o+(i<<1)>>1]|0)==n<<16>>16)break N;i=i+1|0;if(i>>>0>=m>>>0){i=-1;break}}}while(0);i=i<<16>>16;m=p+k|0;n=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(n|0)){f[l>>2]=n+1;$=f[u>>2]|0;b[$+(n*20|0)>>0]=90;d[$+(n*20|0)+2>>1]=0;f[$+(n*20|0)+4>>2]=U;f[$+(n*20|0)+8>>2]=i;f[$+(n*20|0)+12>>2]=m;f[$+(n*20|0)+16>>2]=0;b[$+(n*20|0)+1>>0]=0}else tl(qa,90,U,i,m)|0;p=p+1|0;i=d[v>>1]|0}while(p>>>0<(i&65535)>>>0);m=i&65535}i=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;$=f[qa+88>>2]|0;b[$+(i*20|0)>>0]=28;d[$+(i*20|0)+2>>1]=0;f[$+(i*20|0)+4>>2]=ja;f[$+(i*20|0)+8>>2]=fa;f[$+(i*20|0)+12>>2]=k;f[$+(i*20|0)+16>>2]=0;b[$+(i*20|0)+1>>0]=0}else i=tl(qa,28,ja,fa,k)|0;if(b[(f[qa>>2]|0)+81>>0]|0)break;$=f[qa+88>>2]|0;b[$+(i*20|0)+1>>0]=-3;f[$+(i*20|0)+16>>2]=m;break}i=j[R>>1]|0;do if(!(i&1024)){if(i&4096|0?(b[a+49>>0]|0)==1:0)break;i=f[a>>2]|0;s=f[i+8>>2]|0;r=s+136|0;k=f[r>>2]|0;if((f[(f[s+12>>2]|0)+48>>2]|0)>(k|0)){f[r>>2]=k+1;$=f[s+88>>2]|0;b[$+(k*20|0)>>0]=-121;d[$+(k*20|0)+2>>1]=0;f[$+(k*20|0)+4>>2]=U;f[$+(k*20|0)+8>>2]=0;f[$+(k*20|0)+12>>2]=ja;f[$+(k*20|0)+16>>2]=0;b[$+(k*20|0)+1>>0]=0}else tl(s,135,U,0,ja)|0;if(!(d[R>>1]&32))break L;$=f[i+116>>2]|0;if(f[(($|0)==0?i:$)+80>>2]|0)break L;n=f[i>>2]|0;p=(f[m>>2]|0)+42|0;q=(d[p>>1]<<2)+4|0;O:do if(!n){$=KA(q|0,0,-1,-1)|0;Z=ba()|0;if(Z>>>0>0|(Z|0)==0&$>>>0>2147483390)break L;if(!(f[9328]|0)){i=ib[f[37356>>2]&255](q)|0;ea=591;break}i=ib[f[37372>>2]&255](q)|0;if((f[18194]|0)>>>0>>0)f[18194]=q;m=71896;k=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&k>>>0>0){$=f[18187]|0;Z=LA(k|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;X=ba()|0;f[17976]=((X|0)<0|(X|0)==0&Z>>>0<=$>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(!k)break L;i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0<=(f[18196]|0)>>>0){o=k;break}f[18196]=i;o=k}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0)break L}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){k=n+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];ea=n+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=591;break O}k=n+296|0;i=f[k>>2]|0;if(!i){i=n+292|0;break}else{f[k>>2]=f[i>>2];ea=n+284|0;f[ea>>2]=(f[ea>>2]|0)+1;ea=591;break O}}else i=n+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(n,q,0)|0;ea=591}while(0);if((ea|0)==591)if(!i)break L;else o=i;_A(o|0,0,q|0)|0;f[o>>2]=d[p>>1];i=d[T+52>>1]|0;if((i&65535)>1){n=f[T+4>>2]|0;m=(i&65535)+-1|0;i=0;do{k=d[n+(i<<1)>>1]|0;if(k<<16>>16>-1){i=i+1|0;f[o+((k<<16>>16)+1<<2)>>2]=i}else i=i+1|0}while((i|0)<(m|0))}k=f[s>>2]|0;if(!(b[k+81>>0]|0)){i=(f[r>>2]|0)+-1|0;k=f[s+88>>2]|0;m=k+(i*20|0)+1|0;if(!(b[m>>0]|0)){f[k+(i*20|0)+16>>2]=o;b[m>>0]=-15;break L}else{ul(s,k+(i*20|0)|0,o,-15);break L}}do if(k|0){if(f[k+480>>2]|0){Kc(k,o);break L}i=o;if((f[k+304>>2]|0)>>>0>i>>>0)break;if((f[k+308>>2]|0)>>>0<=i>>>0)break;$=k+300|0;f[o>>2]=f[$>>2];f[$>>2]=o;break L}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break L}else{$=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-$;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break L}}while(0);k=(f[Q>>2]|0)+1|0;f[Q>>2]=k;i=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;$=f[qa+88>>2]|0;b[$+(i*20|0)>>0]=-120;d[$+(i*20|0)+2>>1]=0;f[$+(i*20|0)+4>>2]=U;f[$+(i*20|0)+8>>2]=k;f[$+(i*20|0)+12>>2]=0;f[$+(i*20|0)+16>>2]=0;b[$+(i*20|0)+1>>0]=0}else tl(qa,136,U,k,0)|0;i=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;$=f[qa+88>>2]|0;b[$+(i*20|0)>>0]=31;d[$+(i*20|0)+2>>1]=0;f[$+(i*20|0)+4>>2]=ja;f[$+(i*20|0)+8>>2]=0;f[$+(i*20|0)+12>>2]=k;f[$+(i*20|0)+16>>2]=0;b[$+(i*20|0)+1>>0]=0;break}else{tl(qa,31,ja,0,k)|0;break}}while(0);if(!(f[ia>>2]|0)){o=f[T+40>>2]|0;do if(o|0){f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;f[na+12>>2]=0;f[na+16>>2]=0;f[na+20>>2]=0;f[na+4>>2]=167;f[na+24>>2]=oa;f[oa+4>>2]=ja;f[oa+8>>2]=U;if((f[o>>2]|0)<=0)break;p=T+4|0;q=oa+12|0;r=a+16|0;s=a+8|0;u=a+12|0;n=0;do{P:do if((d[(f[p>>2]|0)+(n<<1)>>1]|0)==-2){f[q>>2]=n;f[oa>>2]=f[o+4+(n*20|0)>>2];i=f[r>>2]|0;if(i|0)oi(na,i)|0;k=f[s>>2]|0;Q:do if(k|0){i=f[k>>2]|0;if((i|0)<=0)break;k=k+4|0;while(1){m=f[k>>2]|0;if(m|0?oi(na,m)|0:0)break Q;if((i|0)>1){i=i+-1|0;k=k+20|0}else break}}while(0);k=f[u>>2]|0;if(!k)break;i=f[k>>2]|0;if((i|0)<=0)break;k=k+4|0;while(1){m=f[k>>2]|0;if(m|0?oi(na,m)|0:0)break P;if((i|0)>1){i=i+-1|0;k=k+20|0}else break}}while(0);n=n+1|0}while((n|0)<(f[o>>2]|0))}while(0)}i=f[V>>2]|0;do if(!(i&4096)){k=a+752+(c*80|0)+45|0;if(!_){b[k>>0]=5;break}else{b[k>>0]=4;break}}else b[a+752+(c*80|0)+45>>0]=-85;while(0);f[a+752+(c*80|0)+48>>2]=U;b[a+752+(c*80|0)+46>>0]=i>>>16&1;if(!(i&15))b[a+752+(c*80|0)+47>>0]=1;D=Y?0:T}else{m=f[ca+8+(da*72|0)+28>>2]|0;i=f[ca+8+(da*72|0)+24>>2]|0;l=qa+136|0;k=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;$=f[qa+88>>2]|0;b[$+(k*20|0)>>0]=13;d[$+(k*20|0)+2>>1]=0;f[$+(k*20|0)+4>>2]=m;f[$+(k*20|0)+8>>2]=0;f[$+(k*20|0)+12>>2]=i;f[$+(k*20|0)+16>>2]=0;b[$+(k*20|0)+1>>0]=0}else tl(qa,13,m,0,i)|0;i=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;$=f[qa+88>>2]|0;b[$+(i*20|0)>>0]=14;d[$+(i*20|0)+2>>1]=0;f[$+(i*20|0)+4>>2]=m;f[$+(i*20|0)+8>>2]=v;f[$+(i*20|0)+12>>2]=0;f[$+(i*20|0)+16>>2]=0;b[$+(i*20|0)+1>>0]=0}else i=tl(qa,14,m,v,0)|0;f[a+752+(c*80|0)+52>>2]=i;b[a+752+(c*80|0)+45>>0]=11;D=0}while(0);F=a+100|0;G=a+92|0;v=ca+8+(da*72|0)+36|0;w=a+50|0;x=a+752+(c*80|0)+4|0;y=oa+4|0;z=na+4|0;A=na+24|0;u=na+20|0;B=a+752+(c*80|0)+36|0;E=qa+88|0;i=(D|0)==0?2:1;while(1){k=f[G>>2]|0;if((k|0)<=0){ea=915;break}C=(i|0)==1;s=(i|0)<3;i=0;r=f[F>>2]|0;while(1){q=r+10|0;m=d[q>>1]|0;R:do if(!(m&6)){da=r+40|0;ca=ra;if(!((f[ca>>2]&f[da>>2]|0)==0?(f[ca+4>>2]&f[da+4>>2]|0)==0:0)){b[w>>0]=1;break}p=f[r>>2]|0;if(b[v>>0]&8?(f[p+4>>2]&1|0)==0:0)break;do if(C){da=f[x>>2]|0;f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;f[na+12>>2]=0;f[na+16>>2]=0;f[na+20>>2]=0;f[y>>2]=da;f[oa>>2]=D;f[z>>2]=166;f[A>>2]=oa;if((p|0)!=0?(oi(na,p)|0,(b[u>>0]|0)!=0):0){i=2;break R}else{ea=899;break}}else if(s)ea=899;while(0);if((ea|0)==899){ea=0;m=d[q>>1]|0;if(m&4096){i=(i|0)==0?3:i;break}}do if((m&512)!=0?(ga=f[B>>2]|0,(ga|0)!=0):0){n=(ga<<1&2)+18|0;o=ga>>>1;m=f[l>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;da=f[E>>2]|0;b[da+(m*20|0)>>0]=n;d[da+(m*20|0)+2>>1]=0;f[da+(m*20|0)+4>>2]=o;f[da+(m*20|0)+8>>2]=0;f[da+(m*20|0)+12>>2]=0;f[da+(m*20|0)+16>>2]=0;b[da+(m*20|0)+1>>0]=0}else m=tl(qa,n,o,0,0)|0;zm(sa,p,fa,16);if(!m)break;n=f[l>>2]|0;if(!(b[(f[qa>>2]|0)+81>>0]|0))m=(f[E>>2]|0)+(((m|0)<0?n+-1|0:m)*20|0)|0;else m=72144;f[m+8>>2]=n}else ea=906;while(0);if((ea|0)==906){ea=0;zm(sa,p,fa,16)}d[q>>1]=d[q>>1]|4}while(0);if((k|0)>1){r=r+48|0;k=k+-1|0}else break}if((i|0)<=0){ea=914;break}}if((ea|0)==914){i=f[G>>2]|0;if((i|0)>0){q=na+4|0;r=na+12|0;s=na+16|0;u=na+8|0;v=na+20|0;w=na+24|0;x=na+28|0;y=na+72|0;z=na+17|0;A=na+18|0;B=oa+12|0;p=f[F>>2]|0;while(1){S:do if((((((d[p+10>>1]&6)==0?(ga=j[p+12>>1]|0,!((ga&130|0)==0|(ga&2048|0)==0)):0)?(f[p+20>>2]|0)==(ja|0):0)?(f[ia>>2]|0)==0:0)?(ka=f[p>>2]|0,la=f[p+28>>2]|0,f[na>>2]=pa,f[q>>2]=pa,f[r>>2]=0,b[s>>0]=0,f[u>>2]=0,(la|0)!=-2):0)?(f[v>>2]=131,f[w>>2]=0,f[x>>2]=ja,d[y>>1]=la,b[z>>0]=1,b[A>>0]=1,ma=An(na)|0,ma|0):0){m=0;k=ma;while(1){o=k+32|0;n=f[o>>2]|0;o=f[o+4>>2]|0;if((n&e|0)==0&(o&g|0)==0){if((n|0)==0&(o|0)==0?d[k+12>>1]&130:0){ea=927;break}m=(m|0)==0?k:m}k=An(na)|0;if(!k){ea=931;break}}if((ea|0)==927)ea=0;else if((ea|0)==931){ea=0;if(!m)break;else k=m}if(d[k+10>>1]&4)break;do if(d[k+12>>1]&1){k=f[k>>2]|0;if(!(f[k+4>>2]&2048))break;if((f[f[f[k+20>>2]>>2]>>2]|0)>1)break S}else k=f[k>>2]|0;while(0);I=oa;H=I+48|0;do{f[I>>2]=f[k>>2];I=I+4|0;k=k+4|0}while((I|0)<(H|0));f[B>>2]=f[ka+12>>2];zm(sa,oa,fa,16);break}while(0);if((i|0)>1){p=p+48|0;i=i+-1|0}else{e=ia;break}}}else ea=915}if((ea|0)==915)e=ia;g=f[e>>2]|0;if(g|0){e=f[l>>2]|0;f[a+752+(c*80|0)+28>>2]=e;if((f[(f[ha>>2]|0)+48>>2]|0)>(e|0)){f[l>>2]=e+1;qa=f[E>>2]|0;b[qa+(e*20|0)>>0]=70;d[qa+(e*20|0)+2>>1]=0;f[qa+(e*20|0)+4>>2]=1;f[qa+(e*20|0)+8>>2]=g;f[qa+(e*20|0)+12>>2]=0;f[qa+(e*20|0)+16>>2]=0;b[qa+(e*20|0)+1>>0]=0}else tl(qa,70,1,g,0)|0;e=f[G>>2]|0;if((e|0)>0){i=f[F>>2]|0;k=0;while(1){g=i+10|0;if((d[g>>1]&6)==0?(qa=i+40|0,c=ra,(f[c>>2]&f[qa>>2]|0)==0?(f[c+4>>2]&f[qa+4>>2]|0)==0:0):0){zm(sa,f[i>>2]|0,fa,16);d[g>>1]=d[g>>1]|4;e=f[G>>2]|0}k=k+1|0;if((k|0)>=(e|0))break;else i=i+48|0}}}sa=ra;ra=f[sa+4>>2]|0;sa=f[sa>>2]|0;aa(ra|0);t=ta;return sa|0}function Jn(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;y=f[c>>2]|0;J=f[a+8>>2]|0;a:do switch(b[y>>0]|0){case 45:case 53:{i=xl(a,f[y+16>>2]|0,i)|0;break}case 50:{k=J+136|0;h=f[k>>2]|0;if((f[(f[J+12>>2]|0)+48>>2]|0)>(h|0)){f[k>>2]=h+1;J=f[J+88>>2]|0;b[J+(h*20|0)>>0]=73;d[J+(h*20|0)+2>>1]=0;f[J+(h*20|0)+4>>2]=0;f[J+(h*20|0)+8>>2]=i;f[J+(h*20|0)+12>>2]=0;f[J+(h*20|0)+16>>2]=0;b[J+(h*20|0)+1>>0]=0;break a}else{tl(J,73,0,i,0)|0;break a}}default:{D=f[e+64>>2]|0;H=D+36|0;if((f[H>>2]&1024|0)==0?(k=f[D+32>>2]|0,(k|0)!=0):0)h=(b[(f[k+28>>2]|0)+g>>0]|0)==0?h:(h|0)==0&1;G=(g|0)>0;b:do if(G){l=f[D+48>>2]|0;k=0;while(1){F=f[l+(k<<2)>>2]|0;if(F|0?(f[F>>2]|0)==(y|0):0)break;k=k+1|0;if((k|0)>=(g|0))break b}Ln(e,c);e=i;return e|0}while(0);F=D+40|0;m=j[F>>1]|0;if((m|0)>(g|0)){n=f[D+48>>2]|0;k=0;l=g;do{k=k+((f[f[n+(l<<2)>>2]>>2]|0)==(y|0)&1)|0;l=l+1|0}while((l|0)<(m|0));C=k}else C=0;if((f[y+4>>2]&2048|0)!=0?(f[f[f[y+20>>2]>>2]>>2]|0)!=1:0){A=f[a>>2]|0;B=Bk(A,y,0,0)|0;u=A+81|0;if(!(b[u>>0]|0)){s=B+20|0;q=f[f[s>>2]>>2]|0;t=B+12|0;r=f[(f[t>>2]|0)+20>>2]|0;m=d[F>>1]|0;if((m&65535|0)>(g|0)){p=D+48|0;k=0;o=g;l=0;do{n=f[(f[p>>2]|0)+(o<<2)>>2]|0;if((f[n>>2]|0)==(y|0)?(v=(f[n+24>>2]|0)+-1|0,w=q+4+(v*20|0)|0,x=f[w>>2]|0,(x|0)!=0):0){l=ml(f[a>>2]|0,l,x)|0;f[w>>2]=0;m=r+4+(v*20|0)|0;k=ml(f[a>>2]|0,k,f[m>>2]|0)|0;f[m>>2]=0;m=d[F>>1]|0}o=o+1|0}while((o|0)<(m&65535|0))}else{l=0;k=0}if(q|0)jg(A,q);if(r|0)jg(A,r);f[(f[t>>2]|0)+20>>2]=k;f[f[s>>2]>>2]=l;if(k|0?(f[k>>2]|0)==1:0){l=k+4|0;k=f[l>>2]|0;f[l>>2]=0;l=f[t>>2]|0;if(l|0)ig(A,l);f[t>>2]=k}l=f[(f[s>>2]|0)+48>>2]|0;if(l|0?(z=f[l>>2]|0,(z|0)>0):0){k=0;do{d[l+4+(k*20|0)+16>>1]=0;k=k+1|0}while((k|0)!=(z|0))}if(!(b[u>>0]|0)){m=f[a>>2]|0;n=C<<2;c:do if(!m){z=KA(n|0,0,-1,-1)|0;y=ba()|0;if(y>>>0>0|(y|0)==0&z>>>0>2147483390)k=0;else{if(!(f[9328]|0)){k=ib[f[37356>>2]&255](n)|0;E=66;break}k=ib[f[37372>>2]&255](n)|0;if((f[18194]|0)>>>0>>0)f[18194]=n;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){z=f[18187]|0;y=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;x=ba()|0;f[17976]=((x|0)<0|(x|0)==0&y>>>0<=z>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k){k=0;break}l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0<=(f[18196]|0)>>>0){E=67;break}f[18196]=l;E=67}}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){k=0;break}}else{do if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0))){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];E=m+284|0;f[E>>2]=(f[E>>2]|0)+1;E=66;break c}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];E=m+284|0;f[E>>2]=(f[E>>2]|0)+1;E=66;break c}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,n,0)|0;E=66}while(0);if((E|0)==66)if(!k)k=0;else E=67;if((E|0)==67)_A(k|0,0,n|0)|0;n=Jm(a,B,4,0,k)|0;f[(f[c>>2]|0)+28>>2]=f[B+28>>2];l=k;m=k;E=70}else E=69}else E=69;if((E|0)==69)if(!B){l=0;k=5;m=0}else{l=0;n=5;m=0;E=70}if((E|0)==70){ig(A,B);k=n}B=f[c>>2]|0}else{B=y;l=0;k=Jm(a,y,4,0,0)|0;m=0}A=f[B+28>>2]|0;x=(((k|0)==4?(h|0)==0&1:h)|0)!=0;h=x?32:36;y=J+136|0;n=f[y>>2]|0;z=J+12|0;if((f[(f[z>>2]|0)+48>>2]|0)>(n|0)){f[y>>2]=n+1;w=f[J+88>>2]|0;b[w+(n*20|0)>>0]=h;d[w+(n*20|0)+2>>1]=0;f[w+(n*20|0)+4>>2]=A;f[w+(n*20|0)+8>>2]=0;f[w+(n*20|0)+12>>2]=0;f[w+(n*20|0)+16>>2]=0;b[w+(n*20|0)+1>>0]=0}else tl(J,h,A,0,0)|0;f[H>>2]=f[H>>2]|2048;u=e+56|0;h=f[u>>2]|0;if(!h){h=f[z>>2]|0;s=h+60|0;t=f[s>>2]|0;f[s>>2]=t+1;s=h+64|0;if(!(t+-1&t)){q=t<<3|4;r=f[h>>2]|0;h=f[s>>2]|0;d:do if(h){o=h;p=r+304|0;if(((f[p>>2]|0)>>>0<=o>>>0?(f[r+308>>2]|0)>>>0>o>>>0:0)?!(0<0|(0==0?(j[r+276>>1]|0)>>>0>>0:0)):0)break;n=Lc(r,h,q,0)|0;if(!n){if(f[r+480>>2]|0){Kc(r,h);h=0;break}if((f[p>>2]|0)>>>0<=o>>>0?(f[r+308>>2]|0)>>>0>o>>>0:0){w=r+300|0;f[h>>2]=f[w>>2];f[w>>2]=h;h=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);h=0;break}else{w=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);h=0;break}}else h=n}else{if(f[r+272>>2]|0){if(b[r+81>>0]|0){h=0;break}}else{do if(!(0<0|(0==0?(j[r+276>>1]|0)>>>0>>0:0))){n=r+300|0;h=f[n>>2]|0;if(h|0){f[n>>2]=f[h>>2];w=r+284|0;f[w>>2]=(f[w>>2]|0)+1;break d}n=r+296|0;h=f[n>>2]|0;if(!h){h=r+292|0;break}else{f[n>>2]=f[h>>2];w=r+284|0;f[w>>2]=(f[w>>2]|0)+1;break d}}else h=r+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1}h=Dc(r,q,0)|0}while(0);f[s>>2]=h}else h=f[s>>2]|0;if(h|0)f[h+(t<<2)>>2]=-1;f[e+16>>2]=~t;h=f[u>>2]|0}r=h+C|0;f[u>>2]=r;s=f[a>>2]|0;t=e+60|0;n=f[t>>2]|0;r=r*20|0;e:do if(!n){f:do if(f[s+272>>2]|0)if(!(b[s+81>>0]|0))E=117;else{E=155;break e}else{do if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0))){o=s+300|0;n=f[o>>2]|0;if(n|0){f[o>>2]=f[n>>2];C=s+284|0;f[C>>2]=(f[C>>2]|0)+1;break f}o=s+296|0;n=f[o>>2]|0;if(!n){n=s+292|0;break}else{f[o>>2]=f[n>>2];C=s+284|0;f[C>>2]=(f[C>>2]|0)+1;break f}}else n=s+288|0;while(0);f[n>>2]=(f[n>>2]|0)+1;E=117}while(0);if((E|0)==117)n=Dc(s,r,0)|0;f[t>>2]=n;if(!n)E=156;else E=132}else{p=n;q=s+304|0;if(((f[q>>2]|0)>>>0<=p>>>0?(f[s+308>>2]|0)>>>0>p>>>0:0)?!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0)):0){E=132;break}o=Lc(s,n,r,0)|0;if(o|0){f[t>>2]=o;n=o;E=132;break}if(f[s+480>>2]|0){Kc(s,n);E=155;break}if((f[q>>2]|0)>>>0<=p>>>0?(f[s+308>>2]|0)>>>0>p>>>0:0){E=s+300|0;f[n>>2]=f[E>>2];f[E>>2]=n;E=155;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);E=155;break}else{E=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);E=155;break}}while(0);if((E|0)==132){o=d[F>>1]|0;if((o&65535|0)>(g|0)){v=D+48|0;w=i-g|0;s=(k|0)==1;t=(l|0)==0;u=J+88|0;r=x?4:5;k=0;n=n+(h*20|0)|0;q=g;h=o;do{if((f[f[(f[v>>2]|0)+(q<<2)>>2]>>2]|0)==(B|0)){p=w+q|0;do if(s){h=f[y>>2]|0;if((f[(f[z>>2]|0)+48>>2]|0)>(h|0)){f[y>>2]=h+1;D=f[u>>2]|0;b[D+(h*20|0)>>0]=-127;d[D+(h*20|0)+2>>1]=0;f[D+(h*20|0)+4>>2]=A;f[D+(h*20|0)+8>>2]=p;f[D+(h*20|0)+12>>2]=0;f[D+(h*20|0)+16>>2]=0;b[D+(h*20|0)+1>>0]=0;break}else{h=tl(J,129,A,p,0)|0;break}}else{if(t){o=k;k=0}else{o=k+1|0;k=f[l+(k<<2)>>2]|0}h=f[y>>2]|0;if((f[(f[z>>2]|0)+48>>2]|0)>(h|0)){f[y>>2]=h+1;D=f[u>>2]|0;b[D+(h*20|0)>>0]=90;d[D+(h*20|0)+2>>1]=0;f[D+(h*20|0)+4>>2]=A;f[D+(h*20|0)+8>>2]=k;f[D+(h*20|0)+12>>2]=p;f[D+(h*20|0)+16>>2]=0;b[D+(h*20|0)+1>>0]=0;k=o;break}else{h=tl(J,90,A,k,p)|0;k=o;break}}while(0);f[n+4>>2]=h;h=f[y>>2]|0;if((f[(f[z>>2]|0)+48>>2]|0)>(h|0)){f[y>>2]=h+1;D=f[u>>2]|0;b[D+(h*20|0)>>0]=50;d[D+(h*20|0)+2>>1]=0;f[D+(h*20|0)+4>>2]=p;f[D+(h*20|0)+8>>2]=0;f[D+(h*20|0)+12>>2]=0;f[D+(h*20|0)+16>>2]=0;b[D+(h*20|0)+1>>0]=0}else tl(J,50,p,0,0)|0;do if((q|0)==(g|0)){f[n>>2]=A;b[n+16>>0]=r;if(G?(I=f[H>>2]|0,(I&1024|0)==0):0){f[n+8>>2]=w;f[n+12>>2]=g;f[H>>2]=I|262144;break}f[n+12>>2]=0}else b[n+16>>0]=-85;while(0);n=n+20|0;h=d[F>>1]|0}q=q+1|0}while((q|0)<(h&65535|0))}}else if((E|0)==155){f[t>>2]=0;E=156}if((E|0)==156)f[u>>2]=0;k=f[a>>2]|0;if(m){if(k|0){if(f[k+480>>2]|0){Kc(k,m);break a}J=m;if((f[k+304>>2]|0)>>>0<=J>>>0?(f[k+308>>2]|0)>>>0>J>>>0:0){J=k+300|0;f[m>>2]=f[J>>2];f[J>>2]=m;break a}}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break a}else{J=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break a}}}}while(0);Ln(e,c);e=i;return e|0}function Kn(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!c){k=xl(a,0,e)|0;if((k|0)==(e|0))return;h=f[a+8>>2]|0;if(!h)return;i=h+136|0;j=f[i>>2]|0;if((f[(f[h+12>>2]|0)+48>>2]|0)>(j|0)){f[i>>2]=j+1;a=f[h+88>>2]|0;b[a+(j*20|0)>>0]=79;d[a+(j*20|0)+2>>1]=0;f[a+(j*20|0)+4>>2]=k;f[a+(j*20|0)+8>>2]=e;f[a+(j*20|0)+12>>2]=0;f[a+(j*20|0)+16>>2]=0;b[a+(j*20|0)+1>>0]=0;return}else{tl(h,79,k,e,0)|0;return}}h=b[c>>0]|0;j=h<<24>>24==-92;if(j)h=b[c+38>>0]|0;switch(h<<24>>24){case -91:{i=c+20|0;q=7;break}case 127:{i=f[c+20>>2]|0;q=7;break}default:{}}if((q|0)==7?(f[f[i>>2]>>2]|0)>=2:0){if(f[c+4>>2]&2048|0){l=f[a+8>>2]|0;k=Mm(a,c,0,0)|0;h=g+-1|0;i=l+136|0;j=f[i>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(j|0)){f[i>>2]=j+1;a=f[l+88>>2]|0;b[a+(j*20|0)>>0]=78;d[a+(j*20|0)+2>>1]=0;f[a+(j*20|0)+4>>2]=k;f[a+(j*20|0)+8>>2]=e;f[a+(j*20|0)+12>>2]=h;f[a+(j*20|0)+16>>2]=0;b[a+(j*20|0)+1>>0]=0;return}else{tl(l,78,k,e,h)|0;return}}c=f[c+20>>2]|0;if((g|0)<=0)return;m=a+8|0;l=0;do{h=f[c+4+(l*20|0)>>2]|0;n=l+e|0;do if(h){if((b[h>>0]|0)!=-92){p=xl(a,h,n)|0;q=21;break}k=f[m>>2]|0;h=f[h+28>>2]|0;i=k+136|0;j=f[i>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(j|0)){f[i>>2]=j+1;k=f[k+88>>2]|0;b[k+(j*20|0)>>0]=78;d[k+(j*20|0)+2>>1]=0;f[k+(j*20|0)+4>>2]=h;f[k+(j*20|0)+8>>2]=n;f[k+(j*20|0)+12>>2]=0;f[k+(j*20|0)+16>>2]=0;b[k+(j*20|0)+1>>0]=0;break}else{tl(k,78,h,n,0)|0;break}}else{p=xl(a,0,n)|0;q=21}while(0);do if(((q|0)==21?(q=0,(p|0)!=(n|0)):0)?(o=f[m>>2]|0,o|0):0){h=o+136|0;i=f[h>>2]|0;if((f[(f[o+12>>2]|0)+48>>2]|0)>(i|0)){f[h>>2]=i+1;k=f[o+88>>2]|0;b[k+(i*20|0)>>0]=79;d[k+(i*20|0)+2>>1]=0;f[k+(i*20|0)+4>>2]=p;f[k+(i*20|0)+8>>2]=n;f[k+(i*20|0)+12>>2]=0;f[k+(i*20|0)+16>>2]=0;b[k+(i*20|0)+1>>0]=0;break}else{tl(o,79,p,n,0)|0;break}}while(0);l=l+1|0}while((l|0)!=(g|0));return}if(j){k=f[a+8>>2]|0;h=f[c+28>>2]|0;i=k+136|0;j=f[i>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(j|0)){f[i>>2]=j+1;a=f[k+88>>2]|0;b[a+(j*20|0)>>0]=78;d[a+(j*20|0)+2>>1]=0;f[a+(j*20|0)+4>>2]=h;f[a+(j*20|0)+8>>2]=e;f[a+(j*20|0)+12>>2]=0;f[a+(j*20|0)+16>>2]=0;b[a+(j*20|0)+1>>0]=0;return}else{tl(k,78,h,e,0)|0;return}}k=xl(a,c,e)|0;if((k|0)==(e|0))return;h=f[a+8>>2]|0;if(!h)return;i=h+136|0;j=f[i>>2]|0;if((f[(f[h+12>>2]|0)+48>>2]|0)>(j|0)){f[i>>2]=j+1;a=f[h+88>>2]|0;b[a+(j*20|0)>>0]=79;d[a+(j*20|0)+2>>1]=0;f[a+(j*20|0)+4>>2]=k;f[a+(j*20|0)+8>>2]=e;f[a+(j*20|0)+12>>2]=0;f[a+(j*20|0)+16>>2]=0;b[a+(j*20|0)+1>>0]=0;return}else{tl(h,79,k,e,0)|0;return}}function Ln(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=c+10|0;g=d[h>>1]|0;if(g&4)return;q=a+72|0;if(!(f[a>>2]|0)){m=q;l=f[m>>2]|0;m=f[m+4>>2]|0;e=c;k=0;i=g;n=h;while(1){j=e+40|0;if(!((f[j>>2]&l|0)==0?(f[j+4>>2]&m|0)==0:0)){a=22;break}if((k|0)!=0?(o=i&65535,(o&1024|0)!=0):0)a=(o|512)&65535;else a=i|4;d[n>>1]=a;j=f[e+16>>2]|0;if((j|0)<0){a=22;break}a=f[(f[e+4>>2]|0)+20>>2]|0;i=a+(j*48|0)+14|0;n=(b[i>>0]|0)+-1<<24>>24;b[i>>0]=n;if(n<<24>>24){a=22;break}n=a+(j*48|0)+10|0;i=d[n>>1]|0;if(i&4){a=22;break}else{e=a+(j*48|0)|0;k=k+1|0}}if((a|0)==22)return}i=0;while(1){if(!(f[(f[c>>2]|0)+4>>2]&1)){a=22;break}o=q;n=c+40|0;if(!((f[n>>2]&f[o>>2]|0)==0?(f[n+4>>2]&f[o+4>>2]|0)==0:0)){a=22;break}if((i|0)!=0?(p=g&65535,(p&1024|0)!=0):0)a=(p|512)&65535;else a=g|4;d[h>>1]=a;e=f[c+16>>2]|0;if((e|0)<0){a=22;break}a=f[(f[c+4>>2]|0)+20>>2]|0;n=a+(e*48|0)+14|0;o=(b[n>>0]|0)+-1<<24>>24;b[n>>0]=o;if(o<<24>>24){a=22;break}h=a+(e*48|0)+10|0;g=d[h>>1]|0;if(g&4){a=22;break}else{c=a+(e*48|0)|0;i=i+1|0}}if((a|0)==22)return}function Mn(a,c){a=a|0;c=c|0;a=f[a+24>>2]|0;if(Ck(0,c,f[a>>2]|0,f[a+4>>2]|0)|0){c=0;return c|0}b[c>>0]=-98;f[c+28>>2]=f[a+8>>2];d[c+32>>1]=f[a+12>>2];f[c+44>>2]=0;c=1;return c|0}function Nn(a,c){a=a|0;c=c|0;var e=0,g=0,h=0;if((b[c>>0]|0)!=-98){a=0;return a|0}e=f[a+24>>2]|0;if((f[c+28>>2]|0)!=(f[e+4>>2]|0)){a=0;return a|0}e=f[e>>2]|0;h=d[c+32>>1]|0;c=d[e+52>>1]|0;a:do if(c<<16>>16){g=f[e+4>>2]|0;c=c&65535;e=0;while(1){if((d[g+(e<<1)>>1]|0)==h<<16>>16)break;e=e+1|0;if(e>>>0>=c>>>0)break a}if((e&65535)<<16>>16>=0){a=0;return a|0}}while(0);b[a+20>>0]=1;a=2;return a|0}function On(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;do if(h|0){h=a+16|0;j=f[h>>2]|0;k=j+5|0;if(k>>>0<(f[a+8>>2]|0)>>>0){f[h>>2]=k;s=(f[a+4>>2]|0)+j|0;b[s>>0]=b[56756]|0;b[s+1>>0]=b[56757]|0;b[s+2>>0]=b[56758]|0;b[s+3>>0]=b[56759]|0;b[s+4>>0]=b[56760]|0;break}else{Ec(a,56756,5);break}}while(0);s=(e|0)>1;do if(s){h=a+16|0;j=f[h>>2]|0;k=j+1|0;if(k>>>0<(f[a+8>>2]|0)>>>0){f[h>>2]=k;b[(f[a+4>>2]|0)+j>>0]=40;break}else{Ec(a,56860,1);break}}else if((e|0)!=1){h=a+16|0;j=f[h>>2]|0;k=j+1|0;if(k>>>0<(f[a+8>>2]|0)>>>0){f[h>>2]=k;b[(f[a+4>>2]|0)+j>>0]=b[i>>0]|0;return}else{Ec(a,i,1);return}}while(0);o=c+4|0;q=a+16|0;r=a+8|0;m=c+12|0;n=a+4|0;l=0;do{do if(l|0){h=f[q>>2]|0;j=h+1|0;if(j>>>0<(f[r>>2]|0)>>>0){f[q>>2]=j;b[(f[n>>2]|0)+h>>0]=44;break}else{Ec(a,41635,1);break}}while(0);h=d[(f[o>>2]|0)+(l+g<<1)>>1]|0;switch(h<<16>>16){case -2:{h=56749;p=21;break}case -1:{h=47870;p=21;break}default:{h=f[(f[(f[m>>2]|0)+4>>2]|0)+(h<<16>>16<<4)>>2]|0;if(!h){c=0;h=0}else p=21}}if((p|0)==21){p=0;c=(wz(h)|0)&1073741823}j=f[q>>2]|0;k=j+c|0;if(k>>>0<(f[r>>2]|0)>>>0){if(c|0){f[q>>2]=k;YA((f[n>>2]|0)+j|0,h|0,c|0)|0}}else Ec(a,h,c);l=l+1|0}while((l|0)!=(e|0));h=f[q>>2]|0;j=h+1|0;k=j>>>0<(f[r>>2]|0)>>>0;do if(s){if(k){f[q>>2]=j;b[(f[a+4>>2]|0)+h>>0]=41}else Ec(a,43047,1);h=f[q>>2]|0;j=h+1|0;if(j>>>0<(f[r>>2]|0)>>>0){f[q>>2]=j;b[(f[a+4>>2]|0)+h>>0]=b[i>>0]|0}else Ec(a,i,1);h=f[q>>2]|0;j=h+1|0;if(j>>>0<(f[r>>2]|0)>>>0){f[q>>2]=j;b[(f[a+4>>2]|0)+h>>0]=40;break}else{Ec(a,56860,1);break}}else if(k){f[q>>2]=j;b[(f[a+4>>2]|0)+h>>0]=b[i>>0]|0;break}else{Ec(a,i,1);break}while(0);c=a+4|0;k=0;do{do if(k|0){h=f[q>>2]|0;j=h+1|0;if(j>>>0<(f[r>>2]|0)>>>0){f[q>>2]=j;b[(f[c>>2]|0)+h>>0]=44;break}else{Ec(a,41635,1);break}}while(0);h=f[q>>2]|0;j=h+1|0;if(j>>>0<(f[r>>2]|0)>>>0){f[q>>2]=j;b[(f[c>>2]|0)+h>>0]=63}else Ec(a,46041,1);k=k+1|0}while((k|0)!=(e|0));if(!s)return;h=f[q>>2]|0;j=h+1|0;if(j>>>0<(f[r>>2]|0)>>>0){f[q>>2]=j;b[(f[a+4>>2]|0)+h>>0]=41;return}else{Ec(a,43047,1);return}}function Pn(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!c){r=0;s=0;aa(r|0);return s|0}o=c;c=0;d=0;do{n=f[o+32>>2]|0;l=f[o>>2]|0;if((l|0)!=0?(s=f[l>>2]|0,(s|0)>0):0){k=0;j=s;e=0;g=0;do{h=f[l+4+(k*20|0)>>2]|0;if(!h){h=0;i=0}else{h=Fn(a,h)|0;i=ba()|0;j=f[l>>2]|0}e=h|e;g=i|g;k=k+1|0}while((k|0)<(j|0))}else{e=0;g=0}l=e|c;k=g|d;j=f[o+40>>2]|0;if((j|0)!=0?(q=f[j>>2]|0,(q|0)>0):0){i=0;h=q;c=0;d=0;do{e=f[j+4+(i*20|0)>>2]|0;if(!e){e=0;g=0}else{e=Fn(a,e)|0;g=ba()|0;h=f[j>>2]|0}c=e|c;d=g|d;i=i+1|0}while((i|0)<(h|0))}else{c=0;d=0}l=l|c;k=k|d;j=f[o+48>>2]|0;if((j|0)!=0?(r=f[j>>2]|0,(r|0)>0):0){i=0;g=r;h=0;d=0;while(1){c=f[j+4+(i*20|0)>>2]|0;if(!c){c=0;e=0}else{c=Fn(a,c)|0;e=ba()|0;g=f[j>>2]|0}c=c|h;d=e|d;i=i+1|0;if((i|0)>=(g|0)){h=c;i=d;break}else h=c}}else{h=0;i=0}c=f[o+36>>2]|0;if(!c){d=0;g=0}else{d=Fn(a,c)|0;g=ba()|0}c=f[o+44>>2]|0;if(!c){c=0;e=0}else{c=Fn(a,c)|0;e=ba()|0}c=l|h|d|c;d=k|i|g|e;if((n|0)!=0?(f[n>>2]|0)>0:0){m=0;do{h=Pn(a,f[n+8+(m*72|0)+20>>2]|0)|0;g=ba()|0|d;d=f[n+8+(m*72|0)+44>>2]|0;if(!d){d=0;e=0}else{d=Fn(a,d)|0;e=ba()|0}c=h|c|d;d=g|e;if(b[n+8+(m*72|0)+37>>0]&4){l=f[n+8+(m*72|0)+64>>2]|0;if((l|0)!=0?(p=f[l>>2]|0,(p|0)>0):0){k=0;e=0;g=0;i=p;do{h=f[l+4+(k*20|0)>>2]|0;if(!h){h=0;j=0}else{h=Fn(a,h)|0;j=ba()|0;i=f[l>>2]|0}e=h|e;g=j|g;k=k+1|0}while((k|0)<(i|0))}else{e=0;g=0}c=e|c;d=g|d}m=m+1|0}while((m|0)<(f[n>>2]|0))}o=f[o+52>>2]|0}while((o|0)!=0);aa(d|0);return c|0}function Qn(a,c,e,g,i,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0;eb=t;t=t+96|0;$a=eb;ab=i&65535;if(i<<16>>16?d[(f[f[a>>2]>>2]|0)+76>>1]&64:0){db=0;t=eb;return db|0}Fa=f[c>>2]|0;i=Fa&65535;if(i>>>0>63){db=0;t=eb;return db|0}Ga=WA(1,0,i|0)|0;Ga=KA(Ga|0,ba()|0,-1,-1)|0;Ha=ba()|0;g=g&65535;Da=g&2048;Ca=(Da|0)==0;Da=Da>>>11&65535|386;a:do if(!((Ga|0)==0&(Ha|0)==0)){ca=e+24|0;da=a+4|0;ea=(i|0)==0;fa=a+80|0;ga=$a+4|0;ha=$a+12|0;ia=$a+16|0;ja=$a+8|0;ka=Da&65535;la=$a+20|0;ma=$a+24|0;na=$a+28|0;oa=$a+72|0;pa=$a+17|0;qa=$a+18|0;ra=$a+20|0;sa=$a+4|0;ta=$a+8|0;ua=$a+24|0;va=a+488|0;ya=(i|0)!=0;za=(g&192|0)==0;X=(g&64|0)==0;D=1;m=0;W=0;S=0;T=0;g=0;e=0;B=0;C=0;b:while(1){if(!W){U=g;V=e}else{V=m+8|0;U=f[V>>2]|g;V=f[V+4>>2]|e}if(W>>>0>>0){g=f[(f[ca>>2]|0)+(W<<2)>>2]|0;if(Ca){Oa=g;Aa=10}else{r=D;s=g;q=C;p=B;o=S;n=T}}else{Oa=k;Aa=10}if((Aa|0)==10){Aa=0;A=Oa+36|0;g=f[A>>2]|0;P=Oa+24|0;if(g&1024|0){Aa=11;break}Q=Oa+30|0;d[Q>>1]=0;R=f[(f[da>>2]|0)+8+((h[Oa+16>>0]|0)*72|0)+40>>2]|0;if(ea){o=B;p=C}else{w=~U;x=~V;y=Oa+40|0;z=Oa+48|0;v=0;e=B;m=C;do{s=WA(1,0,v|0)|0;u=ba()|0;c:do if((s&e|0)==0&(u&m|0)==0){r=c+4+(v*20|0)|0;g=f[r>>2]|0;n=f[g+4>>2]|0;if(n&4096)do{if(!(n&262144))g=g+12|0;else g=(f[g+20>>2]|0)+4|0;g=f[g>>2]|0;n=f[g+4>>2]|0}while((n&4096|0)!=0);if((b[g>>0]|0)==-98?(f[g+28>>2]|0)==(R|0):0){q=g+32|0;g=d[q>>1]|0;f[$a>>2]=fa;f[ga>>2]=fa;f[ha>>2]=0;b[ia>>0]=0;f[ja>>2]=0;if(g<<16>>16!=-2?(f[la>>2]=ka,f[ma>>2]=0,f[na>>2]=R,d[oa>>1]=g,b[pa>>0]=1,b[qa>>0]=1,Ra=An($a)|0,Ra|0):0){o=0;p=Ra;while(1){n=p+32|0;g=f[n>>2]|0;n=f[n+4>>2]|0;if((g&w|0)==0&(n&x|0)==0){if((g|0)==0&(n|0)==0?(Sa=d[p+12>>1]|0,Sa&130):0){Aa=29;break}La=(o|0)==0?p:o}else La=o;g=An($a)|0;if(!g){Aa=33;break}else{o=La;p=g}}if((Aa|0)==29){Aa=0;Ia=p;Ta=Sa}else if((Aa|0)==33){Aa=0;if(!La)break;Ia=La;Ta=d[La+12>>1]|0}d:do if(Ta<<16>>16==1){g=d[y>>1]|0;if(!(g<<16>>16))break c;o=f[z>>2]|0;n=g&65535;g=0;while(1){if((Ia|0)==(f[o+(g<<2)>>2]|0))break d;g=g+1|0;if(g>>>0>=n>>>0)break c}}while(0);do if(Ta&130){if((d[q>>1]|0)<=-1)break;p=f[a>>2]|0;o=f[Ia>>2]|0;g=Zk(p,f[r>>2]|0)|0;if(!g)n=f[(f[p>>2]|0)+8>>2]|0;else n=g;g=Zk(p,o)|0;if(!g)g=f[(f[p>>2]|0)+8>>2]|0;n=f[n>>2]|0;o=f[g>>2]|0;O=b[n>>0]|0;g=(h[1232+(O&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0;if(!(O<<24>>24==0|(g|0)!=0))do{n=n+1|0;o=o+1|0;O=b[n>>0]|0;g=(h[1232+(O&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(O<<24>>24==0|(g|0)!=0));if(g|0)break c}while(0);e=s|e;m=u|m;break}}}while(0);v=v+1|0}while((v|0)!=(i|0));g=f[A>>2]|0;o=e;p=m}do if(!(g&4096)){if(!(g&256)){m=f[Oa+32>>2]|0;if(!m){bb=0;Aa=135;break b}O=m+55|0;if((h[O>>0]|h[O+1>>0]<<8)&4){bb=0;Aa=135;break b}e=d[m+52>>1]|0;g=(b[m+54>>0]|0)!=0&1;if(!(e<<16>>16)){Ma=g;Va=o;Wa=p;Aa=117;break}else{n=m;O=d[m+50>>1]|0;N=e&65535}}else{n=0;O=0;g=D;N=1}G=Oa+42|0;H=(n|0)==0;I=Oa+48|0;J=n+4|0;K=n+28|0;L=n+12|0;M=n+40|0;D=n+32|0;E=WA(1,0,W|0)|0;F=ba()|0;e=0;z=0;B=0;C=0;A=o;y=p;e:while(1){o=j[P>>1]|0;q=C>>>0>>0;f:do if(q?C>>>0>=(j[G>>1]|0)>>>0:0){p=f[I>>2]|0;m=f[p+(C<<2)>>2]|0;x=d[m+12>>1]|0;n=x&65535;if((x&Da)<<16>>16){Ba=e;Y=z;Z=B;$=(n&256|0)==0?g:0;aa=C+1|0;wa=A;xa=y;break}if((n&1|0)!=0?(Ua=f[m>>2]|0,Pa=C+1|0,Pa>>>0>>0):0){m=Pa;while(1){if((f[f[p+(m<<2)>>2]>>2]|0)==(Ua|0)){Ea=0;Aa=68;break f}m=m+1|0;if(m>>>0>=o>>>0){Ea=1;Aa=68;break}}}else{Ea=1;Aa=68}}else{Ea=1;Aa=68}while(0);if((Aa|0)==68){Aa=0;if(!H){o=d[(f[J>>2]|0)+(C<<1)>>1]|0;m=b[(f[K>>2]|0)+C>>0]|0;n=f[L>>2]|0;o=o<<16>>16==(d[n+40>>1]|0)?-1:o<<16>>16;if(q|(g<<24>>24==0|(o|0)<0)){v=o;_=g}else{v=o;_=(b[(f[n+4>>2]|0)+(o<<4)+12>>0]|0)==0?0:g}}else{m=0;v=-1;_=g}if(!(ya&Ea<<24>>24!=0)){Aa=114;break}s=(v|0)>-2;u=(v|0)==-1;g=0;n=1;g:while(1){w=WA(1,0,g|0)|0;x=ba()|0;do if((w&A|0)==0&(x&y|0)==0){r=c+4+(g*20|0)|0;o=f[r>>2]|0;h:do if(!o)o=0;else while(1){p=f[o+4>>2]|0;if(!(p&4096))break h;if(!(p&262144))o=o+12|0;else o=(f[o+20>>2]|0)+4|0;o=f[o>>2]|0;if(!o){o=0;break}}while(0);n=za?0:n;if(s){if((b[o>>0]|0)!=-98)break;if((f[o+28>>2]|0)!=(R|0))break;if((v|0)!=(d[o+32>>1]|0))break}else{p=f[(f[M>>2]|0)+4+(C*20|0)>>2]|0;i:do if(!o)o=0;else while(1){q=f[o+4>>2]|0;if(!(q&4096))break i;if(!(q&262144))o=o+12|0;else o=(f[o+20>>2]|0)+4|0;o=f[o>>2]|0;if(!o){o=0;break}}while(0);j:do if(!p)p=0;else while(1){q=f[p+4>>2]|0;if(!(q&4096))break j;if(!(q&262144))p=p+12|0;else p=(f[p+20>>2]|0)+4|0;p=f[p>>2]|0;if(!p){p=0;break}}while(0);if(Ck(0,o,p,R)|0)break}if(u){n=-1;break g}p=f[a>>2]|0;o=Zk(p,f[r>>2]|0)|0;if(!o)o=f[(f[p>>2]|0)+8>>2]|0;p=f[o>>2]|0;q=f[(f[D>>2]|0)+(C<<2)>>2]|0;r=b[p>>0]|0;o=(h[1232+(r&255)>>0]|0)-(h[1232+(h[q>>0]|0)>>0]|0)|0;if(!(r<<24>>24==0|(o|0)!=0))do{p=p+1|0;q=q+1|0;r=b[p>>0]|0;o=(h[1232+(r&255)>>0]|0)-(h[1232+(h[q>>0]|0)>>0]|0)|0}while(!(r<<24>>24==0|(o|0)!=0));if(!o){n=v;break g}}while(0);g=g+1|0;if(!(g>>>0>>0&n<<24>>24!=0)){Aa=114;break e}}o=C+1|0;d[Q>>1]=o;do if(X){if(e<<24>>24)if((m^z)<<24>>24==(b[c+4+(g*20|0)+12>>0]|0)){g=z;break}else{Aa=114;break e}g=b[c+4+(g*20|0)+12>>0]^m;if(!(g<<24>>24)){e=1;g=0;break}xa=l;Ba=f[xa+4>>2]|F;e=l;f[e>>2]=f[xa>>2]|E;f[e+4>>2]=Ba;e=1}else g=z;while(0);Ba=e;Y=g;Z=(n|0)==-1?1:B;$=_;aa=o;wa=w|A;xa=x|y}if(aa>>>0>>0){e=Ba;z=Y;B=Z;C=aa;g=$;A=wa;y=xa}else{Ka=Z;Qa=$;Xa=wa;Ya=xa;break}}if((Aa|0)==114){Aa=0;Ka=B;Qa=(C|0)==0|C>>>0<(O&65535)>>>0?0:_;Xa=A;Ya=y}if(!(Ka<<24>>24)){Ma=Qa;Va=Xa;Wa=Ya;Aa=117}else{Na=1;Za=Xa;_a=Ya}}else{Ma=D;Va=o;Wa=p;Aa=117}while(0);if((Aa|0)==117){Aa=0;if(!(Ma<<24>>24)){Ja=0;cb=Va;db=Wa;break a}else{Na=Ma;Za=Va;_a=Wa}}w=Oa+8|0;v=f[w>>2]|S;w=f[w+4>>2]|T;if(ea){r=Na;s=Oa;q=_a;p=Za;o=v;n=w}else{s=~v;u=~w;r=0;q=Za;g=_a;while(1){o=WA(1,0,r|0)|0;p=ba()|0;do if((o&q|0)==0&(p&g|0)==0){m=f[c+4+(r*20|0)>>2]|0;if(m){n=Fn(va,m)|0;e=ba()|0;if((n|0)==0&(e|0)==0){b[ra>>0]=1;f[sa>>2]=155;f[ta>>2]=156;f[ua>>2]=0;oi($a,m)|0;if(!(b[ra>>0]|0)){e=q;break}else{n=0;e=0}}}else{n=0;e=0}T=(n&s|0)==0&(e&u|0)==0;e=(T?o:0)|q;g=(T?p:0)|g}else e=q;while(0);r=r+1|0;if((r|0)==(i|0)){r=Na;s=Oa;q=g;p=e;o=v;n=w;break}else q=e}}}if(W>>>0>=ab>>>0|(q>>>0>Ha>>>0|(q|0)==(Ha|0)&p>>>0>=Ga>>>0|r<<24>>24==0)){Ja=r;cb=p;db=q;break a}else{D=r;m=s;W=W+1|0;S=o;T=n;g=U;e=V;B=p;C=q}}if((Aa|0)==11){db=(b[P+5>>0]|0)==0;Ja=D;cb=db?B:Ga;db=db?C:Ha;break}else if((Aa|0)==135){t=eb;return bb|0}}else{Ja=1;cb=0;db=0}while(0);if((cb|0)==(Ga|0)&(db|0)==(Ha|0)){db=Fa&255;t=eb;return db|0}if(Ja<<24>>24){db=-1;t=eb;return db|0}if(i>>>0<=1){db=0;t=eb;return db|0}while(1){g=i;i=i+-1|0;$a=WA(1,0,i|0)|0;$a=KA($a|0,ba()|0,-1,-1)|0;ab=ba()|0;if(($a&cb|0)==($a|0)&(ab&db|0)==(ab|0))break;if((g|0)<=2){bb=0;Aa=135;break}}if((Aa|0)==135){t=eb;return bb|0}db=i&255;t=eb;return db|0}function Rn(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;i=f[a>>2]|0;A=f[f[i>>2]>>2]|0;e=a+24|0;g=f[e>>2]|0;if(!g){a=f[a+16>>2]|0;if(!a){c=101;return c|0}d[a>>1]=0;c=101;return c|0}f[e>>2]=g+-1;o=f[a+16>>2]|0;if(o|0){if(!(d[c+40>>1]|0)){c=0;return c|0}l=c;k=f[l>>2]|0;l=f[l+4>>2]|0;m=d[c+20>>1]|0;n=d[c+22>>1]|0;h=d[o>>1]|0;g=o+8|0;do if(h<<16>>16){a=h;i=g;while(1){e=d[i+8>>1]|0;if(e<<16>>16>=m<<16>>16?(c=i,(f[c>>2]&k|0)==(k|0)?(f[c+4>>2]&l|0)==(l|0):0):0){u=18;break}if(e<<16>>16<=m<<16>>16?(c=i,A=f[c>>2]|0,c=f[c+4>>2]|0,(A&k|0)==(A|0)&(c&l|0)==(c|0)):0){a=0;u=157;break}a=a+-1<<16>>16;if(!(a<<16>>16)){u=13;break}else i=i+16|0}if((u|0)==13){if((h&65535)<3){u=14;break}h=h&65535;a=d[o+16>>1]|0;e=1;do{g=a<<16>>16>(d[o+8+(e<<4)+8>>1]|0)?o+8+(e<<4)|0:g;e=e+1|0;a=d[g+8>>1]|0}while((e|0)!=(h|0));if(a<<16>>16>m<<16>>16){e=g;a=g+8|0;break}else a=0;return a|0}else if((u|0)==18){e=i;a=i+8|0;break}else if((u|0)==157)return a|0}else u=14;while(0);if((u|0)==14){a=h&65535;d[o>>1]=h+1<<16>>16;d[o+8+(a<<4)+10>>1]=n;e=o+8+(a<<4)|0;a=o+8+(a<<4)+8|0}c=e;f[c>>2]=k;f[c+4>>2]=l;d[a>>1]=m;a=e+10|0;if((d[a>>1]|0)<=n<<16>>16){c=0;return c|0}d[a>>1]=n;c=0;return c|0}a=i+60|0;o=f[a>>2]|0;z=c+36|0;m=f[z>>2]|0;i=(o|0)==0;if(!(i|(m&512|0)==0)){k=c+20|0;l=c+22|0;g=b[c+16>>0]|0;e=o;do{do if((b[e+16>>0]|0)==g<<24>>24?f[e+36>>2]&512|0:0){if(Sn(e,c)|0){d[k>>1]=d[e+20>>1]|0;d[l>>1]=(j[e+22>>1]|0)+65535;break}if(Sn(c,e)|0){d[k>>1]=d[e+20>>1]|0;d[l>>1]=(j[e+22>>1]|0)+1}}while(0);e=f[e+52>>2]|0}while((e|0)!=0)}a:do if(i)u=57;else{p=b[c+16>>0]|0;q=c+17|0;n=c+42|0;r=c+18|0;s=c+20|0;t=c+22|0;if((m&513|0)!=513){l=o;while(1){if((b[l+16>>0]|0)==p<<24>>24?(b[l+17>>0]|0)==(b[q>>0]|0):0){u=l;o=f[u>>2]|0;u=f[u+4>>2]|0;g=c;e=f[g>>2]|0;g=f[g+4>>2]|0;i=e&o;k=g&u;if((((i|0)==(o|0)&(k|0)==(u|0)?(d[l+18>>1]|0)<=(d[r>>1]|0):0)?(d[l+20>>1]|0)<=(d[s>>1]|0):0)?(d[l+22>>1]|0)<=(d[t>>1]|0):0){a=0;break}if(((i|0)==(e|0)&(k|0)==(g|0)?(d[l+20>>1]|0)>=(d[s>>1]|0):0)?(d[l+22>>1]|0)>=(d[t>>1]|0):0){u=57;break a}}a=l+52|0;l=f[a>>2]|0;if(!l){g=a;u=58;break a}}return a|0}l=o;while(1){if((b[l+16>>0]|0)==p<<24>>24?(b[l+17>>0]|0)==(b[q>>0]|0):0){if((f[l+36>>2]&16384|0?(d[n>>1]|0)==0:0)?(o=l,u=c,m=f[u>>2]|0,u=f[u+4>>2]|0,(m&f[o>>2]|0)==(m|0)?(u&f[o+4>>2]|0)==(u|0):0):0){u=57;break a}u=l;o=f[u>>2]|0;u=f[u+4>>2]|0;g=c;e=f[g>>2]|0;g=f[g+4>>2]|0;i=e&o;k=g&u;if((((i|0)==(o|0)&(k|0)==(u|0)?(d[l+18>>1]|0)<=(d[r>>1]|0):0)?(d[l+20>>1]|0)<=(d[s>>1]|0):0)?(d[l+22>>1]|0)<=(d[t>>1]|0):0){a=0;break}if(((i|0)==(e|0)&(k|0)==(g|0)?(d[l+20>>1]|0)>=(d[s>>1]|0):0)?(d[l+22>>1]|0)>=(d[t>>1]|0):0){u=57;break a}}a=l+52|0;l=f[a>>2]|0;if(!l){g=a;u=58;break a}}return a|0}while(0);b:do if((u|0)==57){t=f[a>>2]|0;if(t){a=t+52|0;e=f[a>>2]|0;if(e){n=c+16|0;o=c+17|0;p=c+42|0;q=c+18|0;r=c+20|0;s=c+22|0;do{m=b[n>>0]|0;while(1){if((b[e+16>>0]|0)==m<<24>>24?(b[e+17>>0]|0)==(b[o>>0]|0):0){if(((f[e+36>>2]&16384|0?(d[p>>1]|0)==0:0)?(f[z>>2]&513|0)==513:0)?(k=e,l=c,i=f[l>>2]|0,l=f[l+4>>2]|0,(i&f[k>>2]|0)==(i|0)?(l&f[k+4>>2]|0)==(l|0):0):0)break;B=e;C=f[B>>2]|0;B=f[B+4>>2]|0;i=c;g=f[i>>2]|0;i=f[i+4>>2]|0;k=g&C;l=i&B;if((((k|0)==(C|0)&(l|0)==(B|0)?(d[e+18>>1]|0)<=(d[q>>1]|0):0)?(d[e+20>>1]|0)<=(d[r>>1]|0):0)?(d[e+22>>1]|0)<=(d[s>>1]|0):0)break b;if(((k|0)==(g|0)&(l|0)==(i|0)?(d[e+20>>1]|0)>=(d[r>>1]|0):0)?(d[e+22>>1]|0)>=(d[s>>1]|0):0)break}a=e+52|0;e=f[a>>2]|0;if(!e)break b}f[a>>2]=f[e+52>>2];vn(A,e);e=f[a>>2]|0}while((e|0)!=0)}}else{g=a;u=58}}while(0);do if((u|0)==58){c:do if(f[A+272>>2]|0)if(!(b[A+81>>0]|0))u=69;else{f[g>>2]=0;C=7;return C|0}else{do if((j[A+276>>1]|0)>=72){e=A+300|0;a=f[e>>2]|0;if(a|0){f[e>>2]=f[a>>2];C=A+284|0;f[C>>2]=(f[C>>2]|0)+1;break c}e=A+296|0;a=f[e>>2]|0;if(!a){a=A+292|0;break}else{f[e>>2]=f[a>>2];C=A+284|0;f[C>>2]=(f[C>>2]|0)+1;break c}}else a=A+288|0;while(0);f[a>>2]=(f[a>>2]|0)+1;u=69}while(0);if((u|0)==69)a=Dc(A,72,0)|0;f[g>>2]=a;if(!a){C=7;return C|0}else{f[a+48>>2]=a+56;d[a+40>>1]=0;d[a+44>>1]=3;f[a+36>>2]=0;f[a+52>>2]=0;t=a;break}}while(0);k=t+36|0;a=f[k>>2]|0;do if(a&17408|0){if(a&1024|0?(w=t+28|0,b[w>>0]|0):0){a=t+32|0;e=f[a>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{C=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);b[w>>0]=0;f[a>>2]=0;break}if(a&16384|0?(x=t+32|0,v=f[x>>2]|0,v|0):0){a=f[v+16>>2]|0;d:do if(a){do if(A|0){e=A+480|0;if(!(f[e>>2]|0)){g=a;if((f[A+304>>2]|0)>>>0>g>>>0)break;if((f[A+308>>2]|0)>>>0<=g>>>0)break;C=A+300|0;f[a>>2]=f[C>>2];f[C>>2]=a}else Kc(A,a);a=f[x>>2]|0;u=113;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);u=111;break}else{u=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);u=111;break}}else u=111;while(0);if((u|0)==111){a=f[x>>2]|0;if(!A){y=a;u=118}else{e=A+480|0;u=113}}do if((u|0)==113){if(f[e>>2]|0){Kc(A,a);break}C=a;if((f[A+304>>2]|0)>>>0<=C>>>0?(f[A+308>>2]|0)>>>0>C>>>0:0){C=A+300|0;f[a>>2]=f[C>>2];f[C>>2]=a}else{y=a;u=118}}while(0);do if((u|0)==118?y|0:0)if(!(f[9328]|0)){ob[f[37360>>2]&127](y);break}else{C=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y);break}while(0);f[x>>2]=0}}while(0);a=d[c+40>>1]|0;i=t+44|0;do if((j[i>>1]|0)<(a&65535)){g=(a&65535)+7&131064;e=g<<2;e:do if(f[A+272>>2]|0){if(!(b[A+81>>0]|0))u=135}else{do if(!(0<0|(0==0?(j[A+276>>1]|0)>>>0>>0:0))){a=A+300|0;h=f[a>>2]|0;if(h|0){f[a>>2]=f[h>>2];u=A+284|0;f[u>>2]=(f[u>>2]|0)+1;u=136;break e}a=A+296|0;h=f[a>>2]|0;if(!h){a=A+292|0;break}else{f[a>>2]=f[h>>2];u=A+284|0;f[u>>2]=(f[u>>2]|0)+1;u=136;break e}}else a=A+288|0;while(0);f[a>>2]=(f[a>>2]|0)+1;u=135}while(0);if((u|0)==135){h=Dc(A,e,0)|0;u=136}if((u|0)==136?h|0:0){a=t+48|0;YA(h|0,f[a>>2]|0,j[i>>1]<<2|0)|0;e=f[a>>2]|0;do if((e|0)!=(t+56|0)){if(f[A+480>>2]|0){Kc(A,e);break}C=e;if((f[A+304>>2]|0)>>>0<=C>>>0?(f[A+308>>2]|0)>>>0>C>>>0:0){C=A+300|0;f[e>>2]=f[C>>2];f[C>>2]=e;break}if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{C=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[a>>2]=h;d[i>>1]=g;u=149;break}g=t+24|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;g=7}else{h=f[t+48>>2]|0;u=149}while(0);do if((u|0)==149){a=t;e=c;g=a+44|0;do{f[a>>2]=f[e>>2];a=a+4|0;e=e+4|0}while((a|0)<(g|0));YA(h|0,f[c+48>>2]|0,j[t+40>>1]<<2|0)|0;a=f[z>>2]|0;if(a&1024|0){b[c+28>>0]=0;g=0;break}if(!(a&16384))g=0;else{f[c+32>>2]=0;g=0}}while(0);if(f[k>>2]&1024|0){C=g;return C|0}a=t+32|0;e=f[a>>2]|0;if(!e){C=g;return C|0}if(f[e+44>>2]|0){C=g;return C|0}f[a>>2]=0;C=g;return C|0}function Sn(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;h=d[a+40>>1]|0;g=h&65535;j=d[a+42>>1]|0;i=d[b+40>>1]|0;l=i&65535;k=d[b+42>>1]|0;if((k&65535)>(j&65535)?1:(g-(j&65535)|0)>=(l-(k&65535)|0)){b=0;return b|0}c=d[a+20>>1]|0;e=d[b+20>>1]|0;if(c<<16>>16>=e<<16>>16){if(c<<16>>16>e<<16>>16){b=0;return b|0}if((d[a+22>>1]|0)>(d[b+22>>1]|0)){b=0;return b|0}}c=g+-1|0;a:do if(h<<16>>16){k=f[a+48>>2]|0;j=b+48|0;if(!(i<<16>>16)){while(1){if(f[k+(c<<2)>>2]|0){c=0;break}if((c|0)>0)c=c+-1|0;else break a}return c|0}b:while(1){h=f[k+(c<<2)>>2]|0;c:do if(h|0){i=f[j>>2]|0;e=l;while(1){g=e;e=e+-1|0;if((f[i+(e<<2)>>2]|0)==(h|0))break c;if((g|0)<=1){c=0;break b}}}while(0);if((c|0)>0)c=c+-1|0;else break a}return c|0}while(0);if(f[a+36>>2]&64|0?(f[b+36>>2]&64|0)==0:0){b=0;return b|0}b=1;return b|0}function Tn(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=f[f[c>>2]>>2]|0;a:do if((b[e>>0]|0)==44){while(1){if(!(Tn(a,c,f[e+12>>2]|0)|0)){e=0;break}e=f[e+16>>2]|0;if((b[e>>0]|0)!=44)break a}return e|0}while(0);k=(0==0?(f[(f[g>>2]|0)+32>>2]&8388608|0)==0:0)?g:0;j=c+12|0;g=f[j>>2]|0;if((g|0)<=0){a=0;return a|0}h=f[c+20>>2]|0;i=0;while(1){c=f[h>>2]|0;if(!((f[c+4>>2]&1|0)!=0?(d[c+36>>1]|0)!=(a|0):0)){if(Xn(k,c,e,a)|0){e=1;g=12;break}g=f[j>>2]|0}i=i+1|0;if((i|0)>=(g|0)){e=0;g=12;break}else h=h+48|0}if((g|0)==12)return e|0;return 0}function Un(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+16|0;s=u;r=b;p=b+8|0;e=p;q=~(f[e>>2]|f[r>>2]);r=~(f[e+4>>2]|f[r+4>>2]);e=f[a+12>>2]|0;m=a+20|0;a:do if((e|0)>0){n=b+40|0;o=b+48|0;b=b+22|0;a=0;l=f[m>>2]|0;while(1){if(d[l+10>>1]&2)break a;k=l+40|0;h=f[k>>2]|0;k=f[k+4>>2]|0;i=p;b:do if((h&q|0)==0&(k&r|0)==0&(f[i>>2]&h|0?1:(f[i+4>>2]&k|0)!=0)){g=d[n>>1]|0;if(g<<16>>16){k=f[o>>2]|0;g=g&65535;do{h=g;g=g+-1|0;i=f[k+(g<<2)>>2]|0;if(i|0){if((i|0)==(l|0))break b;i=f[i+16>>2]|0;if((i|0)>-1?((f[m>>2]|0)+(i*48|0)|0)==(l|0):0)break b}}while((h|0)>1)}g=d[l+8>>1]|0;if(g<<16>>16<1){d[b>>1]=(j[b>>1]|0)+(g&65535);break}d[b>>1]=(d[b>>1]|0)+-1<<16>>16;if(d[l+12>>1]&130){k=(Ak(f[(f[l>>2]|0)+16>>2]|0,s)|0)!=0;k=k&((f[s>>2]|0)+1|0)>>>0<3?10:20;f[s>>2]=k;a=(k|0)>(a<<16>>16|0)?k&65535:a}}while(0);if((e|0)>1){e=e+-1|0;l=l+48|0}else break}}else{a=0;b=b+22|0}while(0);a=(c<<16>>16)-(a<<16>>16)|0;if((a|0)>=(d[b>>1]|0)){t=u;return}d[b>>1]=a;t=u;return}function Vn(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=t;t=t+96|0;ha=Ga;ka=f[f[a>>2]>>2]|0;va=f[ka>>2]|0;wa=f[a+12>>2]|0;ta=va+81|0;if(b[ta>>0]|0){Fa=7;t=Ga;return Fa|0}xa=wa+36|0;ya=f[xa>>2]|0;p=(ya&32|0)==0?447:24;sa=e+55|0;p=((h[sa>>0]|h[sa+1>>0]<<8)&4)==0?p:p&387;za=wa+24|0;Aa=d[za>>1]|0;la=wa+26|0;ma=d[la>>1]|0;na=wa+28|0;oa=d[na>>1]|0;Ba=wa+42|0;pa=d[Ba>>1]|0;Ca=wa+40|0;m=d[Ca>>1]|0;ra=wa;qa=f[ra>>2]|0;ra=f[ra+4>>2]|0;Da=wa+22|0;Ea=d[Da>>1]|0;ia=a+4|0;k=f[ia>>2]|0;ja=c+40|0;q=f[ja>>2]|0;Fa=Aa&65535;f[ha>>2]=k;f[ha+4>>2]=k;k=ha+12|0;f[k>>2]=0;l=ha+16|0;b[l>>0]=0;n=ha+8|0;f[n>>2]=0;do if(e){o=d[(f[e+4>>2]|0)+(Fa<<1)>>1]|0;i=o<<16>>16;if(o<<16>>16==-2){f[k>>2]=f[(f[e+40>>2]|0)+4+(Fa*20|0)>>2];f[n>>2]=f[(f[e+32>>2]|0)+(Fa<<2)>>2];i=-2;break}k=f[e+12>>2]|0;if(o<<16>>16!=(d[k+40>>1]|0)){if(o<<16>>16>-1){b[l>>0]=b[(f[k+4>>2]|0)+(i<<4)+13>>0]|0;f[n>>2]=f[(f[e+32>>2]|0)+(Fa<<2)>>2]}}else i=-1}else i=Fa;while(0);f[ha+20>>2]=p;f[ha+24>>2]=0;f[ha+28>>2]=q;d[ha+72>>1]=i;b[ha+17>>0]=1;b[ha+18>>0]=1;n=An(ha)|0;d[wa+18>>1]=0;ua=e+8|0;ea=d[f[ua>>2]>>1]|0;if(ea<<16>>16<11)M=0;else{i=ea<<16>>16;k=((i|0)<0)<<31>>31;if((ea&65535)>255){l=40;do{l=(l&65535)+40|0;ca=i;i=VA(i|0,k|0,4)|0;aa=k;k=ba()|0}while(aa>>>0>0|(aa|0)==0&ca>>>0>4095);l=l&65535}else l=40;if(k>>>0>0|(k|0)==0&i>>>0>15){do{l=(l&65535)+10&65535;ca=i;i=VA(i|0,k|0,1)|0;aa=k;k=ba()|0}while(aa>>>0>0|(aa|0)==0&ca>>>0>31);k=l}else k=l;M=(k&65535)+65493+(j[7936+((i&7)<<1)>>1]|0)&65535}a:do if(!n)i=0;else{w=e+4|0;x=wa+8|0;y=e+12|0;z=c+36|0;A=e+54|0;B=a+20|0;C=wa+44|0;D=e+50|0;E=wa+48|0;F=m&65535;V=F+8&131064;G=V<<2;H=va+272|0;I=va+276|0;J=e+48|0;K=c+16|0;L=M<<16>>16;N=va+288|0;O=va+300|0;P=wa+56|0;Q=g<<16>>16==0;R=L+49|0;S=wa+20|0;T=va+296|0;U=va+284|0;V=V&65535;W=va+480|0;X=L+31|0;Y=g<<16>>16;Z=va+292|0;_=va+304|0;$=e+52|0;aa=L+1&65535;ca=va+308|0;u=n;l=0;k=0;do{s=d[u+12>>1]|0;v=s&65535;if(s<<16>>16==256){i=d[(f[w>>2]|0)+(Fa<<1)>>1]|0;if(i<<16>>16>-1)i=h[(f[(f[y>>2]|0)+4>>2]|0)+(i<<16>>16<<4)+12>>0]|0;else i=i<<16>>16==-1&1;if(i)i=0;else da=25}else da=25;b:do if((da|0)==25){da=0;r=u+32|0;q=r;o=x;n=f[o>>2]|0;o=f[o+4>>2]|0;if(((n&f[q>>2]|0)==0?(o&f[q+4>>2]|0)==0:0)?(fa=u+10|0,!(s<<16>>16==16&(d[fa>>1]&256)!=0)):0){if(b[z>>0]&8?(f[(f[u>>2]|0)+4>>2]&1|0)==0:0){i=0;break}if((b[A>>0]|0)!=0?((j[D>>1]|0)+-1|0)==(Fa|0):0)i=2;else i=1;f[B>>2]=f[B>>2]|i;f[xa>>2]=ya;d[za>>1]=Aa;d[la>>1]=ma;d[na>>1]=oa;d[Ca>>1]=m;if((m&65535)<(j[C>>1]|0)){q=F;p=m;i=f[E>>2]|0}else{do if(f[H>>2]|0)if(!(b[ta>>0]|0))da=42;else{i=0;break a}else{if(!(0<0|(0==0?(j[I>>1]|0)>>>0>>0:0))){i=f[O>>2]|0;if(i|0){f[O>>2]=f[i>>2];f[U>>2]=(f[U>>2]|0)+1;break}i=f[T>>2]|0;if(!i)i=Z;else{f[T>>2]=f[i>>2];f[U>>2]=(f[U>>2]|0)+1;break}}else i=N;f[i>>2]=(f[i>>2]|0)+1;da=42}while(0);if((da|0)==42){da=0;i=Dc(va,G,0)|0}if(!i){i=0;break a}YA(i|0,f[E>>2]|0,j[C>>1]<<2|0)|0;n=f[E>>2]|0;c:do if((n|0)!=(P|0)){if(f[W>>2]|0){Kc(va,n);break}o=n;do if((f[_>>2]|0)>>>0<=o>>>0){if((f[ca>>2]|0)>>>0<=o>>>0)break;f[n>>2]=f[O>>2];f[O>>2]=n;break c}while(0);if(!n)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{q=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[E>>2]=i;d[C>>1]=V;p=d[Ca>>1]|0;o=x;q=p&65535;n=f[o>>2]|0;o=f[o+4>>2]|0}p=p+1<<16>>16;d[Ca>>1]=p;f[i+(q<<2)>>2]=u;i=r;q=(f[i+4>>2]|ra)&~o;r=wa;f[r>>2]=(f[i>>2]|qa)&~n;f[r+4>>2]=q;d:do if(!(v&1)){if(v&130|0){i=d[(f[w>>2]|0)+(Fa<<1)>>1]|0;n=f[xa>>2]|0;o=n|1;f[xa>>2]=o;do if(i<<16>>16!=-1){if(!(Q&i<<16>>16>-1)){s=0;p=o;break d}i=d[D>>1]|0;if(((i&65535)+-1|0)!=(Fa|0)){s=0;p=o;break d}if((h[sa>>0]|h[sa+1>>0]<<8)&8)break;if(i<<16>>16==1?s<<16>>16==2&(b[A>>0]|0)!=0:0)break;p=n|65537;f[xa>>2]=p;s=0;break d}while(0);p=n|4097;f[xa>>2]=p;s=0;break}if(v&256|0){p=f[xa>>2]|8;f[xa>>2]=p;s=0;break}i=f[xa>>2]|0;if(!(v&36)){f[xa>>2]=i|18;i=(Wn(ka,f[ja>>2]|0,e,Fa,u)|0)&65535;d[na>>1]=i;i=f[xa>>2]|0;if(!(i&32)){l=u;k=0;s=0;p=i;break}l=u;k=f[(f[E>>2]|0)+((j[Ca>>1]|0)+-2<<2)>>2]|0;s=0;p=i;break}f[xa>>2]=i|34;s=(Wn(ka,f[ja>>2]|0,e,Fa,u)|0)&65535;d[la>>1]=s;if(!(d[fa>>1]&256)){l=0;k=u;s=0;p=f[xa>>2]|0;break}l=u+48|0;i=d[Ca>>1]|0;if((i&65535)<(j[C>>1]|0))k=f[E>>2]|0;else{o=(i&65535)+8&131064;n=o<<2;e:do if(f[H>>2]|0)if(!(b[ta>>0]|0))da=116;else{i=0;break a}else{do if(0<0|(0==0?(j[I>>1]|0)>>>0>>0:0))i=N;else{k=f[O>>2]|0;if(k|0){f[O>>2]=f[k>>2];f[U>>2]=(f[U>>2]|0)+1;break e}k=f[T>>2]|0;if(!k){i=Z;break}f[T>>2]=f[k>>2];f[U>>2]=(f[U>>2]|0)+1;break e}while(0);f[i>>2]=(f[i>>2]|0)+1;da=116}while(0);if((da|0)==116){da=0;k=Dc(va,n,0)|0}if(!k){i=0;break a}YA(k|0,f[E>>2]|0,j[C>>1]<<2|0)|0;i=f[E>>2]|0;f:do if((i|0)!=(P|0)){if(f[W>>2]|0){Kc(va,i);break}n=i;do if((f[_>>2]|0)>>>0<=n>>>0){if((f[ca>>2]|0)>>>0<=n>>>0)break;f[i>>2]=f[O>>2];f[O>>2]=i;break f}while(0);if(!i)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{s=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);f[E>>2]=k;d[C>>1]=o;i=d[Ca>>1]|0}d[Ca>>1]=i+1<<16>>16;f[k+((i&65535)<<2)>>2]=l;p=f[xa>>2]|16;f[xa>>2]=p;d[na>>1]=1;k=u;s=0}else{q=f[u>>2]|0;if(!(f[q+4>>2]&2048)){i=f[q+20>>2]|0;if((i|0)!=0?(ga=f[i>>2]|0,(ga|0)!=0):0){n=((ga|0)<0)<<31>>31;do if(ga>>>0<8){if(ga>>>0<2){i=0;break}o=40;i=ga;do{o=(o&65535)+65526|0;i=WA(i|0,n|0,1)|0;n=ba()|0}while(n>>>0<0|(n|0)==0&i>>>0<8);o=o&65535;da=77}else{if(ga>>>0>255){o=40;i=ga;do{o=(o&65535)+40|0;da=i;i=VA(i|0,n|0,4)|0;s=n;n=ba()|0}while(s>>>0>0|(s|0)==0&da>>>0>4095);o=o&65535}else{o=40;i=ga}if(!(n>>>0>0|(n|0)==0&i>>>0>15)){da=77;break}do{o=(o&65535)+10&65535;da=i;i=VA(i|0,n|0,1)|0;s=n;n=ba()|0}while(s>>>0>0|(s|0)==0&da>>>0>31);da=77}while(0);if((da|0)==77){da=0;i=(o&65535)+65526+(j[7936+((i&7)<<1)>>1]|0)|0}r=i<<16>>16}else r=0}else{r=(p&65535)+-1|0;if((p&65535)>1){p=f[E>>2]|0;o=0;i=46;do{n=f[p+(o<<2)>>2]|0;if(n)i=(f[n>>2]|0)==(q|0)?0:i;o=o+1|0}while((o|0)!=(r|0));r=i}else r=46}if((h[sa>>0]|h[sa+1>>0]<<8)&128){q=d[(f[ua>>2]|0)+(Fa<<1)>>1]|0;n=r&65535;if(n<<16>>16<11)i=0;else{i=n<<16>>16;p=((i|0)<0)<<31>>31;if((n&65535)>255){o=40;n=p;do{o=(o&65535)+40|0;s=i;i=VA(i|0,n|0,4)|0;p=n;n=ba()|0}while(p>>>0>0|(p|0)==0&s>>>0>4095);o=o&65535}else{o=40;n=p}if(n>>>0>0|(n|0)==0&i>>>0>15){do{o=(o&65535)+10&65535;s=i;i=VA(i|0,n|0,1)|0;p=n;n=ba()|0}while(p>>>0>0|(p|0)==0&s>>>0>31);n=o}else n=o;i=(n&65535)+65493+(j[7936+((i&7)<<1)>>1]|0)|0}if(((q<<16>>16)+10+(i<<16>>16)|0)<(r+L|0)){i=0;break b}}p=f[xa>>2]|4;f[xa>>2]=p;s=r}while(0);do if(!(p&2)){n=(d[za>>1]|0)+1<<16>>16;d[za>>1]=n;n=n&65535;u=d[u+8>>1]|0;i=u&65535;if(u<<16>>16<1?(d[(f[w>>2]|0)+(Fa<<1)>>1]|0)>-1:0){i=i-s+(j[Da>>1]|0)&65535;da=151;break}i=f[ua>>2]|0;i=(j[i+(n<<1)>>1]|0)-(j[i+(n+-1<<1)>>1]|0)+(j[Da>>1]|0)|0;n=i&65535;d[Da>>1]=n;if(v&256){i=i+10&65535;da=151}}else{i=d[Da>>1]|0;o=i<<16>>16;do if(k){n=d[k+8>>1]|0;if(n<<16>>16<1){i=(n&65535)+(i&65535)&65535;break}else{i=(i&65535)+65516&65535;break}}while(0);do if(l){n=d[l+8>>1]|0;if(n<<16>>16<1){i=(n&65535)+(i&65535)&65535;break}else{i=(i&65535)+65516&65535;break}}while(0);n=(k|0)!=0;do if(n){if(!((l|0)!=0&(d[k+8>>1]|0)>0))break;if((d[l+8>>1]|0)<=0)break;i=(i&65535)+65516&65535}while(0);da=(((l|0)!=0)<<31>>31)+(n<<31>>31)+o|0;i=(i<<16>>16>10?i:10)&65535;i=((da|0)>(i|0)?i:da)&65535;da=151}while(0);if((da|0)==151){da=0;d[Da>>1]=i;n=i}r=n&65535;o=r+1+(((d[J>>1]|0)*15|0)/(d[(f[K>>2]|0)+46>>1]|0)|0)|0;i=o&65535;o=o<<16>>16;do if(M<<16>>16>16){if((R|0)>=(o|0))if((X|0)<(o|0)){i=o+1&65535;break}else{i=o+(h[22960+(o-L)>>0]|0)&65535;break}}else if((o+49|0)>=(L|0))if((o+31|0)<(L|0))i=aa;else i=(h[22960+(L-o)>>0]|0)+L&65535;else i=M;while(0);d[S>>1]=i;if(!(p&320)){q=r+16|0;o=q&65535;p=i<<16>>16;q=q<<16>>16;do if(i<<16>>16>16){if((p+49|0)<(q|0)){i=o;break}if((p+31|0)<(q|0)){i=q+1&65535;break}else{i=q+(h[22960+(q-p)>>0]|0)&65535;break}}else{if((q+49|0)<(p|0))break;if((q+31|0)<(p|0)){i=p+1&65535;break}else{i=(h[22960+(p-q)>>0]|0)+p&65535;break}}while(0);d[S>>1]=i}o=s+Y|0;d[S>>1]=o+(i&65535);d[Da>>1]=o+r;Un(f[ia>>2]|0,wa,ea);i=Rn(a,wa)|0;v=f[xa>>2]|0;d[Da>>1]=(v&2|0)==0?n:Ea;if((v&16|0)==0?(j[za>>1]|0)<(j[$>>1]|0):0)Vn(a,c,e,o&65535)|0;d[Da>>1]=Ea}else i=0}while(0);u=An(ha)|0}while((i|0)==0&(u|0)!=0)}while(0);ka=wa;f[ka>>2]=qa;f[ka+4>>2]=ra;d[za>>1]=Aa;d[la>>1]=ma;d[na>>1]=oa;d[Ba>>1]=pa;f[xa>>2]=ya;d[Da>>1]=Ea;d[Ca>>1]=m;if(Aa<<16>>16!=pa<<16>>16){Fa=i;t=Ga;return Fa|0}p=Fa+1|0;if(p>>>0>=(j[e+50>>1]|0)>>>0){Fa=i;t=Ga;return Fa|0}if((h[sa>>0]|h[sa+1>>0]<<8)&64){Fa=i;t=Ga;return Fa|0}if(d[va+76>>1]&16384){Fa=i;t=Ga;return Fa|0}if((d[(f[ua>>2]|0)+(p<<1)>>1]|0)<=41){Fa=i;t=Ga;return Fa|0}n=wa+44|0;if((m&65535)<(j[n>>1]|0)){n=Aa;o=Aa;i=f[wa+48>>2]|0;k=ya;l=Ea}else{m=(m&65535)+8&131064;l=m<<2;g:do if(f[va+272>>2]|0)if(!(b[ta>>0]|0))da=193;else{Fa=7;t=Ga;return Fa|0}else{do if(!(0<0|(0==0?(j[va+276>>1]|0)>>>0>>0:0))){k=va+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];ta=va+284|0;f[ta>>2]=(f[ta>>2]|0)+1;break g}k=va+296|0;i=f[k>>2]|0;if(!i){i=va+292|0;break}else{f[k>>2]=f[i>>2];ta=va+284|0;f[ta>>2]=(f[ta>>2]|0)+1;break g}}else i=va+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;da=193}while(0);if((da|0)==193)i=Dc(va,l,0)|0;if(!i){Fa=7;t=Ga;return Fa|0}k=wa+48|0;YA(i|0,f[k>>2]|0,j[n>>1]<<2|0)|0;l=f[k>>2]|0;do if((l|0)!=(wa+56|0)){if(f[va+480>>2]|0){Kc(va,l);break}wa=l;if((f[va+304>>2]|0)>>>0<=wa>>>0?(f[va+308>>2]|0)>>>0>wa>>>0:0){wa=va+300|0;f[l>>2]=f[wa>>2];f[wa>>2]=l;break}if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{wa=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-wa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[k>>2]=i;d[n>>1]=m;n=d[za>>1]|0;o=d[Ba>>1]|0;m=d[Ca>>1]|0;k=f[xa>>2]|0;l=d[Da>>1]|0}d[za>>1]=n+1<<16>>16;d[Ba>>1]=o+1<<16>>16;d[Ca>>1]=m+1<<16>>16;f[i+((m&65535)<<2)>>2]=0;f[xa>>2]=k|32768;Ca=f[ua>>2]|0;Fa=(j[Ca+(Fa<<1)>>1]|0)-(j[Ca+(p<<1)>>1]|0)|0;d[Da>>1]=(l&65535)-Fa;Vn(a,c,e,(((Fa<<16)+327680|0)>>>16)+(g&65535)&65535)|0;d[Da>>1]=Ea;d[za>>1]=Aa;d[Ba>>1]=Aa;f[xa>>2]=ya;Fa=0;t=Ga;return Fa|0}function Wn(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=f[i>>2]|0;l=f[m+12>>2]|0;k=b[l>>0]|0;if(k<<24>>24==-92)k=b[l+38>>0]|0;switch(k<<24>>24){case -91:{k=l+20|0;v=6;break}case 127:{k=f[l+20>>2]|0;v=6;break}default:k=1}if((v|0)==6)k=f[f[k>>2]>>2]|0;r=(j[e+52>>1]|0)-g|0;r=(k|0)<(r|0)?k:r;s=e+28|0;if((r|0)<=1){v=1;return v|0}t=e+4|0;u=e+12|0;q=e+32|0;k=1;while(1){o=f[(f[l+20>>2]|0)+4+(k*20|0)>>2]|0;p=f[m+16>>2]|0;l=p+20|0;if(f[p+4>>2]&2048)l=f[l>>2]|0;n=f[(f[l>>2]|0)+4+(k*20|0)>>2]|0;if((b[o>>0]|0)!=-98){v=36;break}if((f[o+28>>2]|0)!=(c|0)){v=36;break}e=d[o+32>>1]|0;p=k+g|0;if(e<<16>>16!=(d[(f[t>>2]|0)+(p<<1)>>1]|0)){v=36;break}m=f[s>>2]|0;if((b[m+p>>0]|0)!=(b[m+g>>0]|0)){v=36;break}l=Yk(o)|0;m=Yk(n)|0;if(l<<24>>24==0|m<<24>>24==0)m=(m|l)<<24>>24==0?65:(m&255)+(l&255)&255;else m=l<<24>>24>66|m<<24>>24>66?67:65;if(e<<16>>16>-1)l=b[(f[(f[u>>2]|0)+4>>2]|0)+(e<<16>>16<<4)+13>>0]|0;else l=68;if(m<<24>>24!=l<<24>>24){v=36;break}do if(!(f[o+4>>2]&256)){if(n|0?f[n+4>>2]&256|0:0){l=Zk(a,n)|0;v=29;break}l=Zk(a,o)|0;if(!l){l=Zk(a,n)|0;v=29}}else{l=Zk(a,o)|0;v=29}while(0);if((v|0)==29){v=0;if(!l){v=36;break}}m=f[l>>2]|0;e=f[(f[q>>2]|0)+(p<<2)>>2]|0;p=b[m>>0]|0;l=(h[1232+(p&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0;if(!(p<<24>>24==0|(l|0)!=0))do{m=m+1|0;e=e+1|0;p=b[m>>0]|0;l=(h[1232+(p&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0}while(!(p<<24>>24==0|(l|0)!=0));if(l|0){v=36;break}k=k+1|0;if((k|0)>=(r|0)){v=36;break}m=f[i>>2]|0;l=f[m+12>>2]|0}if((v|0)==36)return k|0;return 0}function Xn(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0;if(!(Ck(a,c,d,e)|0)){e=1;return e|0}g=b[d>>0]|0;do if(g<<24>>24==43){if(Xn(a,c,f[d+12>>2]|0,e)|0){e=1;return e|0}if(!(Xn(a,c,f[d+16>>2]|0,e)|0)){g=b[d>>0]|0;break}else{e=1;return e|0}}while(0);a:do if(g<<24>>24==51){switch(b[c>>0]|0){case 45:case 50:break a;default:{}}g=f[c+12>>2]|0;b:do if(!g)g=0;else while(1){c=f[g+4>>2]|0;if(!(c&4096))break b;if(!(c&262144))g=g+12|0;else g=(f[g+20>>2]|0)+4|0;g=f[g>>2]|0;if(!g){g=0;break}}while(0);if(!(Ck(a,g,f[d+12>>2]|0,e)|0)){e=1;return e|0}}while(0);e=0;return e|0}function Yn(a,c,e,g,i,k,l,m,n){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,q=0.0,r=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,U=0,W=0;S=t;t=t+32|0;N=S+24|0;K=S+16|0;w=S+8|0;x=S;A=f[a+4>>2]|0;E=f[l+16>>2]|0;R=f[a+12>>2]|0;u=f[a>>2]|0;M=f[u>>2]|0;u=f[u+4>>2]|0;v=h[R+16>>0]|0;F=f[l>>2]|0;f[n>>2]=0;B=R;f[B>>2]=c;f[B+4>>2]=e;B=l+4|0;y=(F|0)>0;if(y){o=f[A+20>>2]|0;c=f[B>>2]|0;e=0;while(1){Q=f[c+8>>2]|0;r=c+5|0;b[r>>0]=0;O=o+(Q*48|0)+32|0;L=f[O>>2]|0;O=f[O+4>>2]|0;if((L&g|0)==(L|0)&(O&i|0)==(O|0)?(d[o+(Q*48|0)+12>>1]&k)<<16>>16==0:0)b[r>>0]=1;e=e+1|0;if((e|0)==(F|0))break;else c=c+12|0}}_A(E|0,0,F<<3|0)|0;I=l+24|0;f[I>>2]=0;D=l+20|0;f[D>>2]=0;J=l+32|0;f[J>>2]=0;L=l+40|0;p[L>>3]=5.e+98;O=l+48|0;Q=O;f[Q>>2]=25;f[Q+4>>2]=0;Q=l+56|0;f[Q>>2]=0;e=u+8+(v*72|0)+56|0;c=f[e+4>>2]|0;C=l+64|0;f[C>>2]=f[e>>2];f[C+4>>2]=c;C=u+8+(v*72|0)+16|0;c=f[(f[C>>2]|0)+64>>2]|0;e=f[M>>2]|0;if((f[c>>2]|0)!=(e|0))do c=f[c+24>>2]|0;while((f[c>>2]|0)!=(e|0));o=f[c+8>>2]|0;r=jb[f[(f[o>>2]|0)+12>>2]&255](o,l)|0;a:do switch(r|0){case 0:case 19:break;case 7:{c=f[M>>2]|0;e=c+81|0;if((b[e>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;z=c+272|0;f[z>>2]=(f[z>>2]|0)+1}break}default:{c=f[o+8>>2]|0;if(c|0){f[w>>2]=c;ni(M,40840,w);break a}switch(r|0){case 516:{c=44816;break}case 100:{c=44794;break}case 101:{c=44771;break}default:{c=r&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7984+(c<<2)>>2]|0;else c=44757}}f[x>>2]=c;ni(M,40840,x)}}while(0);c=o+8|0;e=f[c>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{z=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[c>>2]=0;switch(r|0){case 0:{do if(y){e=R+48|0;c=0;do{f[(f[e>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(F|0));z=R+24|0;c=R+30|0;d[c>>1]=0;if(y){x=A+12|0;y=R+48|0;w=A+20|0;r=-1;u=f[B>>2]|0;v=0;while(1){o=f[E+(v<<3)>>2]|0;g=o+-1|0;if((o|0)>0){i=f[u+8>>2]|0;if((o|0)>(F|0)|(i|0)<0)break;if((i|0)>=(f[x>>2]|0))break;e=(f[y>>2]|0)+(g<<2)|0;if(f[e>>2]|0)break;if(!(b[u+5>>0]|0))break;k=f[w>>2]|0;U=k+(i*48|0)+32|0;W=R;A=f[W+4>>2]|f[U+4>>2];B=R;f[B>>2]=f[W>>2]|f[U>>2];f[B+4>>2]=A;f[e>>2]=k+(i*48|0);r=(g|0)>(r|0)?g:r;if((o|0)<17?b[E+(v<<3)+4>>0]|0:0)d[c>>1]=1<>1];if(d[k+(i*48|0)+12>>1]&1){f[J>>2]=0;f[Q>>2]=f[Q>>2]&-2;f[n>>2]=1}}v=v+1|0;if((v|0)>=(F|0)){P=49;break}else u=u+12|0}if((P|0)==49){e=d[c>>1]|0;o=z;g=z;break}f[K>>2]=f[f[C>>2]>>2];ni(M,56880,K);W=1;t=S;return W|0}else{r=-1;e=0;o=z;g=z}}else{g=R+24|0;c=R+30|0;d[c>>1]=0;r=-1;e=0;o=g}while(0);d[c>>1]=e&~m;d[R+40>>1]=r+1;b:do if((r|0)>=0){e=f[R+48>>2]|0;c=0;while(1){if(!(f[e+(c<<2)>>2]|0))break;if((c|0)<(r|0))c=c+1|0;else break b}f[N>>2]=f[f[C>>2]>>2];ni(M,56880,N);W=1;t=S;return W|0}while(0);f[o>>2]=f[D>>2];r=l+28|0;i=R+28|0;b[i>>0]=f[r>>2];f[r>>2]=0;r=R+32|0;f[r>>2]=f[I>>2];if(!(f[J>>2]|0))c=0;else c=f[l+8>>2]&255;b[g+5>>0]=c;d[R+18>>1]=0;q=+p[L>>3];p[s>>3]=q;c=f[s>>2]|0;e=f[s+4>>2]|0;do if(!(q<=1.0)){if(!(q<=2.0e9)){c=VA(c|0,e|0,52)|0;ba()|0;c=(c*10|0)+55316&65535;break}c=~~q>>>0;e=+H(q)>=1.0?(q>0.0?~~+V(+G(q/4294967296.0),4294967295.0)>>>0:~~+T((q-+(~~q>>>0))/4294967296.0)>>>0):0;if(!(e>>>0<0|(e|0)==0&c>>>0<8)){if(e>>>0>0|(e|0)==0&c>>>0>255){o=40;do{o=(o&65535)+40|0;W=c;c=VA(c|0,e|0,4)|0;U=e;e=ba()|0}while(U>>>0>0|(U|0)==0&W>>>0>4095);o=o&65535}else o=40;if(e>>>0>0|(e|0)==0&c>>>0>15)do{o=(o&65535)+10&65535;W=c;c=VA(c|0,e|0,1)|0;U=e;e=ba()|0}while(U>>>0>0|(U|0)==0&W>>>0>31)}else{if(e>>>0<0|(e|0)==0&c>>>0<2){c=0;break}o=40;do{o=(o&65535)+65526|0;c=WA(c|0,e|0,1)|0;e=ba()|0}while(e>>>0<0|(e|0)==0&c>>>0<8);o=o&65535}c=(o&65535)+65526+(j[7936+((c&7)<<1)>>1]|0)&65535}else c=0;while(0);d[R+20>>1]=c;e=O;c=f[e>>2]|0;e=f[e+4>>2]|0;if(e>>>0<0|(e|0)==0&c>>>0<8)if(e>>>0<0|(e|0)==0&c>>>0<2)c=0;else{o=40;do{o=(o&65535)+65526|0;c=WA(c|0,e|0,1)|0;e=ba()|0}while(e>>>0<0|(e|0)==0&c>>>0<8);o=o&65535;P=87}else{if(e>>>0>0|(e|0)==0&c>>>0>255){o=40;do{o=(o&65535)+40|0;W=c;c=VA(c|0,e|0,4)|0;U=e;e=ba()|0}while(U>>>0>0|(U|0)==0&W>>>0>4095);o=o&65535}else o=40;if(e>>>0>0|(e|0)==0&c>>>0>15){do{o=(o&65535)+10&65535;W=c;c=VA(c|0,e|0,1)|0;U=e;e=ba()|0}while(U>>>0>0|(U|0)==0&W>>>0>31);P=87}else P=87}if((P|0)==87)c=(o&65535)+65526+(j[7936+((c&7)<<1)>>1]|0)&65535;d[R+22>>1]=c;e=R+36|0;W=f[e>>2]|0;f[e>>2]=(f[Q>>2]&1|0)==0?W&-4097:W|4096;e=Rn(a,R)|0;if(!(b[i>>0]|0)){W=e;t=S;return W|0}c=f[r>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{W=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-W;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);b[i>>0]=0;W=e;t=S;return W|0}case 19:{W=0;t=S;return W|0}default:{W=r;t=S;return W|0}}return 0}function Zn(a,b,c,e,g){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(c>>>0>0|(c|0)==0&b>>>0>1){h=0;do{h=h+1|0;m=b;b=VA(b|0,c|0,1)|0;l=c;c=ba()|0}while(l>>>0>0|(l|0)==0&m>>>0>3)}else h=0;m=f[a+8+(h*72|0)+40>>2]|0;h=f[(f[a+8+(h*72|0)+16>>2]|0)+8>>2]|0;if(!h){p=0;return p|0}l=(g|0)==0;a:while(1){j=h+40|0;b:do if(f[j>>2]|0?(n=h+50|0,o=d[n>>1]|0,o<<16>>16):0){k=h+4|0;if(l){a=0;b=o;while(1){if((d[(f[k>>2]|0)+(a<<1)>>1]|0)==-2){b=f[(f[j>>2]|0)+4+(a*20|0)>>2]|0;c:do if(!b)b=0;else while(1){c=f[b+4>>2]|0;if(!(c&4096))break c;if(!(c&262144))b=b+12|0;else b=(f[b+20>>2]|0)+4|0;b=f[b>>2]|0;if(!b){b=0;break}}while(0);if(!(Ck(0,0,b,m)|0))break a;b=d[n>>1]|0}a=a+1|0;if(a>>>0>=(b&65535)>>>0)break b}}i=0;b=o;do{if((d[(f[k>>2]|0)+(i<<1)>>1]|0)==-2){b=f[(f[j>>2]|0)+4+(i*20|0)>>2]|0;c=g;while(1){a=f[c+4>>2]|0;if(!(a&4096))break;if(!(a&262144))c=c+12|0;else c=(f[c+20>>2]|0)+4|0;c=f[c>>2]|0;if(!c){c=0;break}}d:do if(!b)b=0;else while(1){a=f[b+4>>2]|0;if(!(a&4096))break d;if(!(a&262144))b=b+12|0;else b=(f[b+20>>2]|0)+4|0;b=f[b>>2]|0;if(!b){b=0;break}}while(0);if(!(Ck(0,c,b,m)|0))break a;b=d[n>>1]|0}i=i+1|0}while(i>>>0<(b&65535)>>>0)}while(0);h=f[h+20>>2]|0;if(!h){h=0;p=41;break}}if((p|0)==41)return h|0;f[e>>2]=m;f[e+4>>2]=-2;p=1;return p|0}function _n(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=(c|0)<(e|0)?c:e;g=Hz(d,f,h)|0;if(g|0){e=g;return e|0}if(a|0){g=d+h|0;a=c-h|0;a:do if((a|0)>0)while(1){d=a+-1|0;if((b[g+d>>0]|0)!=32)break a;if((a|0)>1)a=d;else{a=d;break}}while(0);if(!a){g=f+h|0;a=e-h|0;b:do if((a|0)>0)while(1){d=a+-1|0;if((b[g+d>>0]|0)!=32)break b;if((a|0)>1)a=d;else{a=d;break}}while(0);if(!a){e=0;return e|0}}}e=c-e|0;return e|0}function $n(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=d[e+12>>1]|0;i=d[g+12>>1]|0;j=i|h;if((h&62)==0|(i&62)==0)return;i=j&65535;if(!((i&26|0)==(i|0)|(i&38|0)==(i|0)))return;if(Ck(0,f[(f[e>>2]|0)+12>>2]|0,f[(f[g>>2]|0)+12>>2]|0,-1)|0)return;if(Ck(0,f[(f[e>>2]|0)+16>>2]|0,f[(f[g>>2]|0)+16>>2]|0,-1)|0)return;e=f[e>>2]|0;if(!e)return;h=Bk(f[f[f[c>>2]>>2]>>2]|0,e,0,0)|0;if(!h)return;g=((i+65535&i|0)==0?j:(i&24|0)==0?32:8)&65535;e=53;while(1)if((2<>0]=e;yn(a,c,xn(c,h,3)|0);return}function ao(a,c){a=a|0;c=c|0;if((b[c>>0]|0)!=-98)return 0;c=d[c+32>>1]|0;if(c<<16>>16<=-1){a=a+20|0;b[a>>0]=b[a>>0]|2;return 0}if((f[(f[a+24>>2]|0)+(c<<16>>16<<2)>>2]|0)<=-1)return 0;a=a+20|0;b[a>>0]=b[a>>0]|1;return 0}function bo(a,c,e,g,i,k,l,m,n,o,p){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;L=a+8|0;M=f[L>>2]|0;K=M+12|0;q=f[K>>2]|0;w=q+60|0;N=f[w>>2]|0;f[w>>2]=N+1;w=q+64|0;if(!(N+-1&N)){u=N<<3|4;v=f[q>>2]|0;q=f[w>>2]|0;a:do if(q){s=q;t=v+304|0;if(((f[t>>2]|0)>>>0<=s>>>0?(f[v+308>>2]|0)>>>0>s>>>0:0)?!(0<0|(0==0?(j[v+276>>1]|0)>>>0>>0:0)):0)break;r=Lc(v,q,u,0)|0;if(!r){if(f[v+480>>2]|0){Kc(v,q);q=0;break}if((f[t>>2]|0)>>>0<=s>>>0?(f[v+308>>2]|0)>>>0>s>>>0:0){J=v+300|0;f[q>>2]=f[J>>2];f[J>>2]=q;q=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](q);q=0;break}else{J=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);q=0;break}}else q=r}else{if(f[v+272>>2]|0){if(b[v+81>>0]|0){q=0;break}}else{do if(!(0<0|(0==0?(j[v+276>>1]|0)>>>0>>0:0))){r=v+300|0;q=f[r>>2]|0;if(q|0){f[r>>2]=f[q>>2];J=v+284|0;f[J>>2]=(f[J>>2]|0)+1;break a}r=v+296|0;q=f[r>>2]|0;if(!q){q=v+292|0;break}else{f[r>>2]=f[q>>2];J=v+284|0;f[J>>2]=(f[J>>2]|0)+1;break a}}else q=v+288|0;while(0);f[q>>2]=(f[q>>2]|0)+1}q=Dc(v,u,0)|0}while(0);f[w>>2]=q}else q=f[w>>2]|0;if(q|0)f[q+(N<<2)>>2]=-1;J=~N;F=(f[c+36>>2]&32|0)==0?31:28;G=o<<24>>24==0;if(G){r=M+136|0;q=f[r>>2]|0;if((f[(f[K>>2]|0)+48>>2]|0)>(q|0)){f[r>>2]=q+1;I=f[M+88>>2]|0;b[I+(q*20|0)>>0]=F;d[I+(q*20|0)+2>>1]=0;f[I+(q*20|0)+4>>2]=g;f[I+(q*20|0)+8>>2]=J;f[I+(q*20|0)+12>>2]=k;f[I+(q*20|0)+16>>2]=0;b[I+(q*20|0)+1>>0]=0}else q=tl(M,F&255,g,J,k)|0;if(!(b[(f[M>>2]|0)+81>>0]|0)){I=f[M+88>>2]|0;b[I+(q*20|0)+1>>0]=-3;f[I+(q*20|0)+16>>2]=l<<16>>16}}if(!(0==0?(f[(f[a>>2]|0)+32>>2]&16384|0)==0:0)){w=f[c>>2]|0;t=f[c+72>>2]|0;u=f[t+68>>2]|0;if(!u){r=t+60|0;q=t+64|0}else{r=b[w>>0]|0;if(!(r<<24>>24))q=0;else{q=0;s=w;do{s=s+1|0;q=U(q+(h[1232+(r&255)>>0]|0)|0,-1640531535)|0;r=b[s>>0]|0}while(r<<24>>24!=0)}q=(q>>>0)%((f[t+56>>2]|0)>>>0)|0;r=u+(q<<3)|0;q=u+(q<<3)+4|0}r=f[r>>2]|0;b:do if(!r)q=72124;else{v=h[1232+(h[w>>0]|0)>>0]|0;while(1){q=f[q>>2]|0;r=r+-1|0;t=f[q+12>>2]|0;I=b[t>>0]|0;s=(h[1232+(I&255)>>0]|0)-v|0;if(!(I<<24>>24==0|(s|0)!=0)){u=w;do{t=t+1|0;u=u+1|0;I=b[t>>0]|0;s=(h[1232+(I&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0}while(!(I<<24>>24==0|(s|0)!=0))}if(!s)break b;if(!r){q=72124;break}}}while(0);if(!(f[q+8>>2]|0)){q=(f[c+16>>2]|0)!=0&1;I=52}else I=53}else{q=0;I=52}if((I|0)==52)if((e|0)!=0|(q|0)!=0)I=53;else{D=0;u=p}if((I|0)==53){E=n&255;u=(e|0)==0;if(u)q=0;else{t=a+116|0;q=0;s=e;do{do if((b[s+8>>0]|0)==117?(b[s+9>>0]&3)!=0:0){r=f[t>>2]|0;r=f[((r|0)==0?a:r)+256>>2]|0;c:do if(!r)I=62;else while(1){if((f[r>>2]|0)==(s|0)?(f[r+12>>2]|0)==(E|0):0)break c;r=f[r+4>>2]|0;if(!r){I=62;break}}while(0);if((I|0)==62){I=0;r=ln(a,s,c,E)|0;if(!r)break}q=f[r+16>>2]|q}while(0);s=f[s+32>>2]|0}while((s|0)!=0)}s=eo(a,c)|0|q;B=a+44|0;D=(f[B>>2]|0)+1|0;t=c+42|0;f[B>>2]=D+(d[t>>1]|0);C=M+136|0;q=f[C>>2]|0;if((f[(f[K>>2]|0)+48>>2]|0)>(q|0)){f[C>>2]=q+1;A=f[M+88>>2]|0;b[A+(q*20|0)>>0]=78;d[A+(q*20|0)+2>>1]=0;f[A+(q*20|0)+4>>2]=k;f[A+(q*20|0)+8>>2]=D;f[A+(q*20|0)+12>>2]=0;f[A+(q*20|0)+16>>2]=0;b[A+(q*20|0)+1>>0]=0}else tl(M,78,k,D,0)|0;q=d[t>>1]|0;d:do if(q<<16>>16>0){if((s|0)==-1){q=0;while(1){A=q;q=q+1|0;Am(M,c,g,A,q+D|0);if((q|0)>=(d[t>>1]|0))break d}}r=0;do{if(r>>>0<32?(1<>1]|0}r=r+1|0}while((r|0)<(q<<16>>16|0))}while(0);A=f[C>>2]|0;if(u)q=A;else{y=a+116|0;z=a+23|0;x=e;do{do if((b[x+8>>0]|0)==117?(b[x+9>>0]|0)==1:0){q=f[L>>2]|0;if(!q){if((f[y>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[z>>0]=1;q=sl(a)|0}r=f[y>>2]|0;r=f[((r|0)==0?a:r)+256>>2]|0;e:do if(!r)I=91;else while(1){if((f[r>>2]|0)==(x|0)?(f[r+12>>2]|0)==(E|0):0)break e;r=f[r+4>>2]|0;if(!r){I=91;break}}while(0);if((I|0)==91){I=0;r=ln(a,x,c,E)|0;if(!r)break}if(!(f[x>>2]|0))w=0;else{w=(f[a>>2]|0)+32|0;w=VA(f[w>>2]|0,f[w+4>>2]|0,13)|0;ba()|0;w=w&1^1}s=(f[B>>2]|0)+1|0;f[B>>2]=s;u=f[r+8>>2]|0;v=q+136|0;r=f[v>>2]|0;if((f[(f[q+12>>2]|0)+48>>2]|0)>(r|0)){f[v>>2]=r+1;t=f[q+88>>2]|0;b[t+(r*20|0)>>0]=45;d[t+(r*20|0)+2>>1]=0;f[t+(r*20|0)+4>>2]=D;f[t+(r*20|0)+8>>2]=J;f[t+(r*20|0)+12>>2]=s;f[t+(r*20|0)+16>>2]=0;b[t+(r*20|0)+1>>0]=0}else r=tl(q,45,D,J,s)|0;do if(!(b[(f[q>>2]|0)+81>>0]|0)){if((r|0)<0)r=(f[v>>2]|0)+-1|0;s=f[q+88>>2]|0;t=s+(r*20|0)+1|0;if(b[t>>0]|0){ul(q,s+(r*20|0)|0,u,-4);break}if(!u)break;f[s+(r*20|0)+16>>2]=u;b[t>>0]=-4}while(0);r=f[v>>2]|0;if((r|0)>0)d[(f[q+88>>2]|0)+((r+-1|0)*20|0)+2>>1]=w}while(0);x=f[x+32>>2]|0}while((x|0)!=0);q=f[C>>2]|0}if((A|0)<(q|0)){if((f[(f[K>>2]|0)+48>>2]|0)>(q|0)){f[C>>2]=q+1;p=f[M+88>>2]|0;b[p+(q*20|0)>>0]=F;d[p+(q*20|0)+2>>1]=0;f[p+(q*20|0)+4>>2]=g;f[p+(q*20|0)+8>>2]=J;f[p+(q*20|0)+12>>2]=k;f[p+(q*20|0)+16>>2]=0;b[p+(q*20|0)+1>>0]=0}else q=tl(M,F&255,g,J,k)|0;if(!(b[(f[M>>2]|0)+81>>0]|0)){p=f[M+88>>2]|0;b[p+(q*20|0)+1>>0]=-3;f[p+(q*20|0)+16>>2]=l<<16>>16;q=-1}else q=-1}else q=p;nn(a,c,D,0,0,0);u=q}if(!(f[c+12>>2]|0)){co(a,c,g,i,0,u);q=m<<24>>24!=0&1;t=M+136|0;r=f[t>>2]|0;if((f[(f[K>>2]|0)+48>>2]|0)>(r|0)){f[t>>2]=r+1;m=f[M+88>>2]|0;b[m+(r*20|0)>>0]=124;d[m+(r*20|0)+2>>1]=0;f[m+(r*20|0)+4>>2]=g;f[m+(r*20|0)+8>>2]=q;f[m+(r*20|0)+12>>2]=0;f[m+(r*20|0)+16>>2]=0;b[m+(r*20|0)+1>>0]=0}else tl(M,124,g,q,0)|0;if(b[a+18>>0]|0){r=f[c>>2]|0;if(r|0){m=b[r>>0]|0;q=(h[1232+(m&255)>>0]|0)+-115|0;if(!(m<<24>>24==0|(q|0)!=0)){s=45954;do{r=r+1|0;s=s+1|0;m=b[r>>0]|0;q=(h[1232+(m&255)>>0]|0)-(h[1232+(h[s>>0]|0)>>0]|0)|0}while(!(m<<24>>24==0|(q|0)!=0))}if(!q)I=125}}else I=125;if((I|0)==125?(b[(f[M>>2]|0)+81>>0]|0)==0:0){i=f[M+88>>2]|0;m=(f[t>>2]|0)+-1|0;b[i+(m*20|0)+1>>0]=-6;f[i+(m*20|0)+16>>2]=c}if(!G?(H=f[t>>2]|0,(H|0)>0):0)d[(f[M+88>>2]|0)+((H+-1|0)*20|0)+2>>1]=4;do if(!((u|0)<0|(u|0)==(g|0))){q=f[t>>2]|0;if((f[(f[K>>2]|0)+48>>2]|0)>(q|0)){f[t>>2]=q+1;H=f[M+88>>2]|0;b[H+(q*20|0)>>0]=124;d[H+(q*20|0)+2>>1]=0;f[H+(q*20|0)+4>>2]=u;f[H+(q*20|0)+8>>2]=0;f[H+(q*20|0)+12>>2]=0;f[H+(q*20|0)+16>>2]=0;b[H+(q*20|0)+1>>0]=0;break}else{tl(M,124,u,0,0)|0;break}}while(0);q=f[t>>2]|0;if((q|0)>0)d[(f[M+88>>2]|0)+((q+-1|0)*20|0)+2>>1]=o<<24>>24==2?2:0}if(!(0==0?(f[(f[a>>2]|0)+32>>2]&16384|0)==0:0)){w=f[c>>2]|0;t=f[c+72>>2]|0;u=f[t+68>>2]|0;if(!u){r=t+60|0;q=t+64|0}else{r=b[w>>0]|0;if(!(r<<24>>24))q=0;else{q=0;s=w;do{s=s+1|0;q=U(q+(h[1232+(r&255)>>0]|0)|0,-1640531535)|0;r=b[s>>0]|0}while(r<<24>>24!=0)}q=(q>>>0)%((f[t+56>>2]|0)>>>0)|0;r=u+(q<<3)|0;q=u+(q<<3)+4|0}r=f[r>>2]|0;f:do if(!r)q=72124;else{v=h[1232+(h[w>>0]|0)>>0]|0;while(1){q=f[q>>2]|0;r=r+-1|0;t=f[q+12>>2]|0;o=b[t>>0]|0;s=(h[1232+(o&255)>>0]|0)-v|0;if(!(o<<24>>24==0|(s|0)!=0)){u=w;do{t=t+1|0;u=u+1|0;o=b[t>>0]|0;s=(h[1232+(o&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0}while(!(o<<24>>24==0|(s|0)!=0))}if(!s)break f;if(!r){q=72124;break}}}while(0);q=f[q+8>>2]|0;if(q|0){y=a+116|0;z=a+23|0;A=a+44|0;do{t=fo(a,c,q,0)|0;do if(t|0){r=f[L>>2]|0;if(!r){if((f[y>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[z>>0]=1;r=sl(a)|0}s=f[y>>2]|0;s=f[((s|0)==0?a:s)+256>>2]|0;g:do if(!s)I=163;else while(1){if((f[s>>2]|0)==(t|0)?(f[s+12>>2]|0)==2:0)break g;s=f[s+4>>2]|0;if(!s){I=163;break}}while(0);if((I|0)==163){I=0;s=ln(a,t,c,2)|0;if(!s)break}if(!(f[t>>2]|0))x=0;else{x=(f[a>>2]|0)+32|0;x=VA(f[x>>2]|0,f[x+4>>2]|0,13)|0;ba()|0;x=x&1^1}t=(f[A>>2]|0)+1|0;f[A>>2]=t;v=f[s+8>>2]|0;w=r+136|0;s=f[w>>2]|0;if((f[(f[r+12>>2]|0)+48>>2]|0)>(s|0)){f[w>>2]=s+1;o=f[r+88>>2]|0;b[o+(s*20|0)>>0]=45;d[o+(s*20|0)+2>>1]=0;f[o+(s*20|0)+4>>2]=D;f[o+(s*20|0)+8>>2]=0;f[o+(s*20|0)+12>>2]=t;f[o+(s*20|0)+16>>2]=0;b[o+(s*20|0)+1>>0]=0}else s=tl(r,45,D,0,t)|0;do if(!(b[(f[r>>2]|0)+81>>0]|0)){if((s|0)<0)s=(f[w>>2]|0)+-1|0;t=f[r+88>>2]|0;u=t+(s*20|0)+1|0;if(b[u>>0]|0){ul(r,t+(s*20|0)|0,v,-4);break}if(!v)break;f[t+(s*20|0)+16>>2]=v;b[u>>0]=-4}while(0);s=f[w>>2]|0;if((s|0)>0)d[(f[r+88>>2]|0)+((s+-1|0)*20|0)+2>>1]=x}while(0);q=f[q+12>>2]|0}while((q|0)!=0)}}y=n&255;if(e|0){z=a+116|0;A=a+23|0;B=a+44|0;x=e;do{do if((b[x+8>>0]|0)==117?(b[x+9>>0]|0)==2:0){q=f[L>>2]|0;if(!q){if((f[z>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[A>>0]=1;q=sl(a)|0}r=f[z>>2]|0;r=f[((r|0)==0?a:r)+256>>2]|0;h:do if(!r)I=193;else while(1){if((f[r>>2]|0)==(x|0)?(f[r+12>>2]|0)==(y|0):0)break h;r=f[r+4>>2]|0;if(!r){I=193;break}}while(0);if((I|0)==193){I=0;r=ln(a,x,c,y)|0;if(!r)break}if(!(f[x>>2]|0))w=0;else{w=(f[a>>2]|0)+32|0;w=VA(f[w>>2]|0,f[w+4>>2]|0,13)|0;ba()|0;w=w&1^1}s=(f[B>>2]|0)+1|0;f[B>>2]=s;u=f[r+8>>2]|0;v=q+136|0;r=f[v>>2]|0;if((f[(f[q+12>>2]|0)+48>>2]|0)>(r|0)){f[v>>2]=r+1;e=f[q+88>>2]|0;b[e+(r*20|0)>>0]=45;d[e+(r*20|0)+2>>1]=0;f[e+(r*20|0)+4>>2]=D;f[e+(r*20|0)+8>>2]=J;f[e+(r*20|0)+12>>2]=s;f[e+(r*20|0)+16>>2]=0;b[e+(r*20|0)+1>>0]=0}else r=tl(q,45,D,J,s)|0;do if(!(b[(f[q>>2]|0)+81>>0]|0)){if((r|0)<0)r=(f[v>>2]|0)+-1|0;s=f[q+88>>2]|0;t=s+(r*20|0)+1|0;if(b[t>>0]|0){ul(q,s+(r*20|0)|0,u,-4);break}if(!u)break;f[s+(r*20|0)+16>>2]=u;b[t>>0]=-4}while(0);r=f[v>>2]|0;if((r|0)>0)d[(f[q+88>>2]|0)+((r+-1|0)*20|0)+2>>1]=w}while(0);x=f[x+32>>2]|0}while((x|0)!=0)}q=f[(f[K>>2]|0)+64>>2]|0;if(!q)return;f[q+(N<<2)>>2]=f[M+136>>2];return}function co(a,c,e,g,i,k){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+16|0;A=D;B=a+8|0;C=f[B>>2]|0;o=f[c+8>>2]|0;a:do if(!(f[c+36>>2]&32))c=0;else{if(!o){t=D;return}c=o;while(1){z=c+55|0;if(((h[z>>0]|h[z+1>>0]<<8)&3)==2)break a;c=f[c+20>>2]|0;if(!c){c=0;break}}}while(0);if(!o){t=D;return}x=C+136|0;y=C+12|0;z=C+88|0;if(!i){l=-1;m=0;p=0;while(1){if((o|0)!=(c|0)?(q=p+g|0,(q|0)!=(k|0)):0){n=xm(a,o,e,0,1,A,m,l)|0;l=o+55|0;l=j[(((h[l>>0]|h[l+1>>0]<<8)&8)==0?o+52|0:o+50|0)>>1]|0;m=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(m|0)){f[x>>2]=m+1;w=f[z>>2]|0;b[w+(m*20|0)>>0]=-122;d[w+(m*20|0)+2>>1]=0;f[w+(m*20|0)+4>>2]=q;f[w+(m*20|0)+8>>2]=n;f[w+(m*20|0)+12>>2]=l;f[w+(m*20|0)+16>>2]=0;b[w+(m*20|0)+1>>0]=0}else tl(C,134,q,n,l)|0;l=f[A>>2]|0;if((l|0)!=0?(r=f[B>>2]|0,s=f[(f[r+12>>2]|0)+64>>2]|0,(s|0)!=0):0){f[s+(~l<<2)>>2]=f[r+136>>2];l=n;m=o}else{l=n;m=o}}o=f[o+20>>2]|0;if(!o)break;else p=p+1|0}t=D;return}else{l=-1;m=0;p=0;while(1){if(!((o|0)==(c|0)?1:(f[i+(p<<2)>>2]|0)==0)?(u=p+g|0,(u|0)!=(k|0)):0){n=xm(a,o,e,0,1,A,m,l)|0;l=o+55|0;l=j[(((h[l>>0]|h[l+1>>0]<<8)&8)==0?o+52|0:o+50|0)>>1]|0;m=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(m|0)){f[x>>2]=m+1;s=f[z>>2]|0;b[s+(m*20|0)>>0]=-122;d[s+(m*20|0)+2>>1]=0;f[s+(m*20|0)+4>>2]=u;f[s+(m*20|0)+8>>2]=n;f[s+(m*20|0)+12>>2]=l;f[s+(m*20|0)+16>>2]=0;b[s+(m*20|0)+1>>0]=0}else tl(C,134,u,n,l)|0;l=f[A>>2]|0;if((l|0)!=0?(v=f[B>>2]|0,w=f[(f[v+12>>2]|0)+64>>2]|0,(w|0)!=0):0){f[w+(~l<<2)>>2]=f[v+136>>2];l=n;m=o}else{l=n;m=o}}o=f[o+20>>2]|0;if(!o)break;else p=p+1|0}t=D;return}}function eo(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=t;t=t+16|0;o=q;if(0==0?(f[(f[a>>2]|0)+32>>2]&16384|0)==0:0){p=0;t=q;return p|0}e=f[c+16>>2]|0;if(!e)e=0;else{j=e;e=0;do{i=f[j+20>>2]|0;if((i|0)>0){g=0;do{n=f[j+36+(g<<3)>>2]|0;e=((n|0)>31?-1:1<>2]|0}while((j|0)!=0)}n=f[c>>2]|0;k=f[c+72>>2]|0;l=f[k+68>>2]|0;if(!l){i=k+60|0;g=k+64|0}else{i=b[n>>0]|0;if(!(i<<24>>24))g=0;else{g=0;j=n;do{j=j+1|0;g=U(g+(h[1232+(i&255)>>0]|0)|0,-1640531535)|0;i=b[j>>0]|0}while(i<<24>>24!=0)}g=(g>>>0)%((f[k+56>>2]|0)>>>0)|0;i=l+(g<<3)|0;g=l+(g<<3)+4|0}i=f[i>>2]|0;a:do if(!i)g=72124;else{m=h[1232+(h[n>>0]|0)>>0]|0;while(1){g=f[g>>2]|0;i=i+-1|0;k=f[g+12>>2]|0;l=b[k>>0]|0;j=(h[1232+(l&255)>>0]|0)-m|0;if(!(l<<24>>24==0|(j|0)!=0)){l=n;do{k=k+1|0;l=l+1|0;r=b[k>>0]|0;j=(h[1232+(r&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(r<<24>>24==0|(j|0)!=0))}if(!j)break a;if(!i){g=72124;break}}}while(0);g=f[g+8>>2]|0;if(!g){r=e;t=q;return r|0}do{f[o>>2]=0;Ym(a,c,g,o,0)|0;i=f[o>>2]|0;if((i|0)!=0?(p=d[i+50>>1]|0,p<<16>>16!=0):0){j=f[i+4>>2]|0;k=p&65535;i=0;do{r=d[j+(i<<1)>>1]|0;e=(r<<16>>16>31?-1:1<<(r<<16>>16))|e;i=i+1|0}while(i>>>0>>0)}g=f[g+12>>2]|0}while((g|0)!=0);t=q;return e|0}function fo(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ka=t;t=t+96|0;fa=ka+72|0;Z=ka+64|0;Y=ka+56|0;$=ka+48|0;_=ka+40|0;X=ka+32|0;W=ka+24|0;da=ka+16|0;T=ka+92|0;aa=ka+88|0;ea=ka+8|0;U=ka;V=ka+80|0;ja=f[a>>2]|0;ia=(g|0)!=0;g=ia&1;ga=b[e+25+g>>0]|0;ca=ga<<24>>24==7;if(ca?!(0==0?(f[ja+32>>2]&524288|0)==0:0):0){ja=0;t=ka;return ja|0}ha=e+28+(g<<2)|0;g=f[ha>>2]|0;if(ga<<24>>24==0|(g|0)!=0){ja=g;t=ka;return ja|0}f[T>>2]=0;f[aa>>2]=0;a:do if(!(Ym(a,c,e,T,aa)|0)){v=e+20|0;if((f[v>>2]|0)>0){A=37632;z=f[A>>2]|0;A=f[A+4>>2]|0;C=37640;B=f[C>>2]|0;C=f[C+4>>2]|0;D=e+36|0;E=c+4|0;F=c+40|0;G=V+4|0;H=U+4|0;S=ga<<24>>24!=7&(ia|ga<<24>>24!=10);I=ja+272|0;J=ja+276|0;K=ja+81|0;L=ja+288|0;M=ja+300|0;N=a+196|0;O=ja+296|0;P=ja+284|0;Q=ja+292|0;R=a+268|0;u=0;s=0;r=0;i=0;while(1){q=da;f[q>>2]=z;f[q+4>>2]=A;q=ea;f[q>>2]=B;f[q+4>>2]=C;q=f[aa>>2]|0;q=f[((q|0)==0?D:q+(s<<2)|0)>>2]|0;g=f[T>>2]|0;if(!g)g=F;else g=(f[g+4>>2]|0)+(s<<1)|0;g=f[(f[E>>2]|0)+(d[g>>1]<<4)>>2]|0;f[V>>2]=g;if(!g)g=0;else g=(wz(g)|0)&1073741823;f[G>>2]=g;g=f[(f[(f[e>>2]|0)+4>>2]|0)+(q<<4)>>2]|0;f[U>>2]=g;if(!g)g=0;else g=(wz(g)|0)&1073741823;f[H>>2]=g;n=Dk(ja,59,da,0)|0;m=Dk(ja,59,V,0)|0;l=f[a>>2]|0;b:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))y=23;else{g=l;y=27}else{do if((j[l+276>>1]|0)>=48){g=l+300|0;k=f[g>>2]|0;if(k|0){f[g>>2]=f[k>>2];y=l+284|0;f[y>>2]=(f[y>>2]|0)+1;y=24;break b}g=l+296|0;k=f[g>>2]|0;if(!k){g=l+292|0;break}else{f[g>>2]=f[k>>2];y=l+284|0;f[y>>2]=(f[y>>2]|0)+1;y=24;break b}}else g=l+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;y=23}while(0);if((y|0)==23){k=Dc(l,48,0)|0;y=24}do if((y|0)==24){y=0;if(!k){g=f[a>>2]|0;y=27;break}w=k;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));b[k>>0]=-126;d[k+34>>1]=-1;if(!m)g=0;else{f[k+16>>2]=m;g=f[m+4>>2]&2097412;f[k+4>>2]=g}if(n|0){f[k+12>>2]=n;f[k+4>>2]=g|f[n+4>>2]&2097412}jl(k);g=f[(f[a>>2]|0)+120>>2]|0;if((g|0)<(f[k+24>>2]|0)){f[W>>2]=g;ni(a,42710,W);o=0}else o=0}while(0);if((y|0)==27){if(n|0)ig(g,n);if(!m){k=0;o=1}else{ig(g,m);k=0;o=1}}n=Dk(ja,59,U,0)|0;m=f[a>>2]|0;c:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))y=46;else{g=m;y=50}else{do if((j[m+276>>1]|0)>=48){l=m+300|0;g=f[l>>2]|0;if(g|0){f[l>>2]=f[g>>2];y=m+284|0;f[y>>2]=(f[y>>2]|0)+1;y=47;break c}l=m+296|0;g=f[l>>2]|0;if(!g){g=m+292|0;break}else{f[l>>2]=f[g>>2];y=m+284|0;f[y>>2]=(f[y>>2]|0)+1;y=47;break c}}else g=m+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;y=46}while(0);if((y|0)==46){g=Dc(m,48,0)|0;y=47}do if((y|0)==47){y=0;if(!g){g=f[a>>2]|0;y=50;break}w=g;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));b[g>>0]=53;d[g+34>>1]=-1;if(!n)l=0;else{f[g+16>>2]=n;l=f[n+4>>2]&2097412;f[g+4>>2]=l}if(!o){f[g+12>>2]=k;f[g+4>>2]=l|f[k+4>>2]&2097412}jl(g);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)<(f[g+24>>2]|0)){f[X>>2]=k;ni(a,42710,X)}}while(0);if((y|0)==50){y=0;if(!o)ig(g,k);if(!n)g=0;else{ig(g,n);g=0}}i=kl(ja,i,g)|0;if(ia){n=Dk(ja,59,da,0)|0;m=Dk(ja,59,V,0)|0;l=f[a>>2]|0;d:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))y=70;else{g=l;y=74}else{do if((j[l+276>>1]|0)>=48){g=l+300|0;k=f[g>>2]|0;if(k|0){f[g>>2]=f[k>>2];y=l+284|0;f[y>>2]=(f[y>>2]|0)+1;y=71;break d}g=l+296|0;k=f[g>>2]|0;if(!k){g=l+292|0;break}else{f[g>>2]=f[k>>2];y=l+284|0;f[y>>2]=(f[y>>2]|0)+1;y=71;break d}}else g=l+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;y=70}while(0);if((y|0)==70){k=Dc(l,48,0)|0;y=71}do if((y|0)==71){y=0;if(!k){g=f[a>>2]|0;y=74;break}w=k;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));b[k>>0]=-126;d[k+34>>1]=-1;if(!m)g=0;else{f[k+16>>2]=m;g=f[m+4>>2]&2097412;f[k+4>>2]=g}if(n|0){f[k+12>>2]=n;f[k+4>>2]=g|f[n+4>>2]&2097412}jl(k);g=f[(f[a>>2]|0)+120>>2]|0;if((g|0)<(f[k+24>>2]|0)){f[_>>2]=g;ni(a,42710,_);p=0}else p=0}while(0);if((y|0)==74){if(n|0)ig(g,n);if(!m){k=0;p=1}else{ig(g,m);k=0;p=1}}o=Dk(ja,59,ea,0)|0;n=Dk(ja,59,V,0)|0;m=f[a>>2]|0;e:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))y=93;else{g=m;y=97}else{do if((j[m+276>>1]|0)>=48){g=m+300|0;l=f[g>>2]|0;if(l|0){f[g>>2]=f[l>>2];y=m+284|0;f[y>>2]=(f[y>>2]|0)+1;y=94;break e}g=m+296|0;l=f[g>>2]|0;if(!l){g=m+292|0;break}else{f[g>>2]=f[l>>2];y=m+284|0;f[y>>2]=(f[y>>2]|0)+1;y=94;break e}}else g=m+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;y=93}while(0);if((y|0)==93){l=Dc(m,48,0)|0;y=94}do if((y|0)==94){y=0;if(!l){g=f[a>>2]|0;y=97;break}w=l;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));b[l>>0]=-126;d[l+34>>1]=-1;if(!n)g=0;else{f[l+16>>2]=n;g=f[n+4>>2]&2097412;f[l+4>>2]=g}if(o|0){f[l+12>>2]=o;f[l+4>>2]=g|f[o+4>>2]&2097412}jl(l);g=f[(f[a>>2]|0)+120>>2]|0;if((g|0)>=(f[l+24>>2]|0)){o=0;break}f[$>>2]=g;ni(a,42710,$);o=0}while(0);if((y|0)==97){if(o|0)ig(g,o);if(!n){l=0;o=1}else{ig(g,n);l=0;o=1}}n=f[a>>2]|0;f:do if(f[n+272>>2]|0)if(!(b[n+81>>0]|0))y=116;else{g=n;y=120}else{do if((j[n+276>>1]|0)>=48){m=n+300|0;g=f[m>>2]|0;if(g|0){f[m>>2]=f[g>>2];y=n+284|0;f[y>>2]=(f[y>>2]|0)+1;y=117;break f}m=n+296|0;g=f[m>>2]|0;if(!g){g=n+292|0;break}else{f[m>>2]=f[g>>2];y=n+284|0;f[y>>2]=(f[y>>2]|0)+1;y=117;break f}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;y=116}while(0);if((y|0)==116){g=Dc(n,48,0)|0;y=117}do if((y|0)==117){y=0;if(!g){g=f[a>>2]|0;y=120;break}w=g;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));b[g>>0]=45;d[g+34>>1]=-1;if(o)l=0;else{f[g+16>>2]=l;l=f[l+4>>2]&2097412;f[g+4>>2]=l}if(!p){f[g+12>>2]=k;f[g+4>>2]=l|f[k+4>>2]&2097412}jl(g);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)>=(f[g+24>>2]|0))break;f[Y>>2]=k;ni(a,42710,Y)}while(0);if((y|0)==120){y=0;if(!p)ig(g,k);if(o)g=0;else{ig(g,l);g=0}}u=kl(ja,u,g)|0}g:do if(S){h:do switch(ga<<24>>24){case 10:{n=Dk(ja,59,ea,0)|0;m=Dk(ja,59,V,0)|0;l=f[a>>2]|0;i:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))y=142;else g=l;else{do if((j[l+276>>1]|0)>=48){k=l+300|0;g=f[k>>2]|0;if(g|0){f[k>>2]=f[g>>2];y=l+284|0;f[y>>2]=(f[y>>2]|0)+1;y=143;break i}k=l+296|0;g=f[k>>2]|0;if(!g){g=l+292|0;break}else{f[k>>2]=f[g>>2];y=l+284|0;f[y>>2]=(f[y>>2]|0)+1;y=143;break i}}else g=l+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;y=142}while(0);if((y|0)==142){g=Dc(l,48,0)|0;y=143}do if((y|0)==143){y=0;if(!g){g=f[a>>2]|0;break}w=g;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));b[g>>0]=-126;d[g+34>>1]=-1;if(!m)k=0;else{f[g+16>>2]=m;k=f[m+4>>2]&2097412;f[g+4>>2]=k}if(n|0){f[g+12>>2]=n;f[g+4>>2]=k|f[n+4>>2]&2097412}jl(g);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)>=(f[g+24>>2]|0))break h;f[Z>>2]=k;ni(a,42710,Z);break h}while(0);if(n|0)ig(g,n);if(!m)g=0;else{ig(g,m);g=0}break}case 9:{g=f[(f[(f[e>>2]|0)+4>>2]|0)+(q<<4)+4>>2]|0;if(g|0){g=Bk(ja,g,0,0)|0;break h}j:do if(f[I>>2]|0)if(!(b[K>>0]|0))y=165;else{g=0;break h}else{do if((j[J>>1]|0)<48)g=L;else{g=f[M>>2]|0;if(g|0){f[M>>2]=f[g>>2];f[P>>2]=(f[P>>2]|0)+1;break j}g=f[O>>2]|0;if(!g){g=Q;break}f[O>>2]=f[g>>2];f[P>>2]=(f[P>>2]|0)+1;break j}while(0);f[g>>2]=(f[g>>2]|0)+1;y=165}while(0);if((y|0)==165){y=0;g=Dc(ja,48,0)|0}if(g){w=g;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));b[g>>0]=110;d[g+34>>1]=-1;f[g+24>>2]=1}break}default:{k:do if(f[I>>2]|0)if(!(b[K>>0]|0))y=176;else{g=0;break h}else{do if((j[J>>1]|0)<48)g=L;else{g=f[M>>2]|0;if(g|0){f[M>>2]=f[g>>2];f[P>>2]=(f[P>>2]|0)+1;break k}g=f[O>>2]|0;if(!g){g=Q;break}f[O>>2]=f[g>>2];f[P>>2]=(f[P>>2]|0)+1;break k}while(0);f[g>>2]=(f[g>>2]|0)+1;y=176}while(0);if((y|0)==176){y=0;g=Dc(ja,48,0)|0}if(g){w=g;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));b[g>>0]=110;d[g+34>>1]=-1;f[g+24>>2]=1}}}while(0);r=ml(f[a>>2]|0,r,g)|0;if(r){q=(f[r>>2]|0)+-1|0;l=f[a>>2]|0;o=f[U>>2]|0;p=f[H>>2]|0;l:do if(o){m=KA(p|0,0,1,0)|0;n=ba()|0;m:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))y=191;else{m=0;break l}else{do if(0<0|(0==0?p>>>0<(j[l+276>>1]|0)>>>0:0)){k=l+300|0;g=f[k>>2]|0;if(g|0){f[k>>2]=f[g>>2];x=l+284|0;f[x>>2]=(f[x>>2]|0)+1;break m}k=l+296|0;g=f[k>>2]|0;if(!g){g=l+292|0;break}else{f[k>>2]=f[g>>2];x=l+284|0;f[x>>2]=(f[x>>2]|0)+1;break m}}else g=l+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;y=191}while(0);if((y|0)==191){y=0;g=Dc(l,m,n)|0}if(g){YA(g|0,o|0,p|0)|0;b[g+p>>0]=0;m=g}else m=0}else m=0;while(0);f[r+4+(q*20|0)+4>>2]=m;if((h[N>>0]|0)>1){l=f[a>>2]|0;n:do if(!l){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](16)|0;y=218;break}g=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){x=f[18187]|0;w=LA(k|0,l|0,g|0,((g|0)<0)<<31>>31|0)|0;q=ba()|0;f[17976]=((q|0)<0|(q|0)==0&w>>>0<=x>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=r;break g}k=ib[f[37368>>2]&255](g)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}else{if(f[l+272>>2]|0){if(b[l+81>>0]|0){g=r;break g}}else{do if((j[l+276>>1]|0)>=16){k=l+300|0;g=f[k>>2]|0;if(g|0){f[k>>2]=f[g>>2];y=l+284|0;f[y>>2]=(f[y>>2]|0)+1;y=218;break n}k=l+296|0;g=f[k>>2]|0;if(!g){g=l+292|0;break}else{f[k>>2]=f[g>>2];y=l+284|0;f[y>>2]=(f[y>>2]|0)+1;y=218;break n}}else g=l+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(l,16,0)|0;y=218}while(0);if((y|0)==218){y=0;if(!g){g=r;break}}q=g+4|0;w=q;b[w>>0]=0;b[w+1>>0]=0;b[w+2>>0]=0;b[w+3>>0]=0;q=q+4|0;b[q>>0]=0;b[q+1>>0]=0;b[q+2>>0]=0;b[q+3>>0]=0;f[g>>2]=m;q=U;w=f[q+4>>2]|0;x=g+4|0;f[x>>2]=f[q>>2];f[x+4>>2]=w;f[g+12>>2]=f[R>>2];f[R>>2]=g;g=r}else g=r}else g=0}else g=r;while(0);s=s+1|0;if((s|0)>=(f[v>>2]|0)){v=g;break}else r=g}}else{u=0;v=0;i=0}g=f[aa>>2]|0;do if(g|0){if(ja|0){if(f[ja+480>>2]|0){Kc(ja,g);break}aa=g;if((f[ja+304>>2]|0)>>>0<=aa>>>0?(f[ja+308>>2]|0)>>>0>aa>>>0:0){aa=ja+300|0;f[g>>2]=f[aa>>2];f[aa>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{aa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);p=f[f[e>>2]>>2]|0;if(!p)o=0;else o=(wz(p)|0)&1073741823;if(ca){f[ea>>2]=p;f[ea+4>>2]=o;f[da>>2]=42524;f[da+4>>2]=29;g=Dk(ja,71,da,0)|0;if(!g)g=ml(f[a>>2]|0,0,0)|0;else{b[g+1>>0]=2;g=ml(f[a>>2]|0,0,g)|0}s=Ll(a,g,ol(ja,0,ea,0)|0,i,0,0,0,0,0)|0;q=0}else{s=0;q=i}r=ja+272|0;g=(f[r>>2]|0)+1|0;f[r>>2]=g;l=o+81|0;o:do if(!ja){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](l)|0;y=261;break}g=ib[f[37372>>2]&255](l)|0;if((f[18194]|0)>>>0>>0)f[18194]=l;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){ea=f[18187]|0;da=LA(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;ca=ba()|0;f[17976]=((ca|0)<0|(ca|0)==0&da>>>0<=ea>>>0)&1}i=ib[f[37356>>2]&255](g)|0;if(i){g=ib[f[37368>>2]&255](i)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;n=i;y=262}else{n=i;y=262}}else{l=0;i=0;g=u;k=0}}else{if(g){if(b[ja+81>>0]|0){l=0;i=0;g=u;k=0;break}}else{do if(!(0<0|(0==0?(j[ja+276>>1]|0)>>>0>>0:0))){i=ja+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];y=ja+284|0;f[y>>2]=(f[y>>2]|0)+1;y=261;break o}i=ja+296|0;g=f[i>>2]|0;if(!g){g=ja+292|0;break}else{f[i>>2]=f[g>>2];y=ja+284|0;f[y>>2]=(f[y>>2]|0)+1;y=261;break o}}else g=ja+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(ja,l,0)|0;y=261}while(0);if((y|0)==261)if(!g){l=0;i=0;g=u;k=0}else{n=g;y=262}if((y|0)==262){_A(n|0,0,l|0)|0;m=n+36|0;f[n+28>>2]=m;ea=n+80|0;f[n+48>>2]=ea;YA(ea|0,p|0,o|0)|0;if(!q)g=0;else g=Bk(ja,q,1,0)|0;f[n+52>>2]=g;ea=Ik(ja,v,1)|0;f[n+56>>2]=ea;ea=Hk(ja,s,1)|0;f[n+44>>2]=ea;if(!u){l=n;i=m;g=0;k=n}else{g=f[a>>2]|0;p:do if(f[g+272>>2]|0)if(!(b[g+81>>0]|0))y=275;else y=279;else{do if((j[g+276>>1]|0)>=48){i=g+300|0;k=f[i>>2]|0;if(k|0){f[i>>2]=f[k>>2];g=g+284|0;f[g>>2]=(f[g>>2]|0)+1;g=k;y=276;break p}i=g+296|0;k=f[i>>2]|0;if(!k){i=g+292|0;break}else{f[i>>2]=f[k>>2];g=g+284|0;f[g>>2]=(f[g>>2]|0)+1;g=k;y=276;break p}}else i=g+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;y=275}while(0);if((y|0)==275){g=Dc(g,48,0)|0;y=276}do if((y|0)==276){if(!g){g=f[a>>2]|0;y=279;break}w=g;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));b[g>>0]=19;d[g+34>>1]=-1;f[g+12>>2]=u;f[g+4>>2]=f[u+4>>2]&2097412;jl(g);i=f[(f[a>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[fa>>2]=i;ni(a,42710,fa)}i=Bk(ja,g,1,0)|0}while(0);if((y|0)==279){ig(g,u);i=0;g=0}f[n+12>>2]=i;l=n;i=m;k=n}}f[r>>2]=(f[r>>2]|0)+-1;if(q|0)ig(ja,q);if(g|0)ig(ja,g);if(v|0)jg(ja,v);if(s|0)mg(ja,s,1);if((b[ja+81>>0]|0)!=1){switch(ga<<24>>24){case 7:{g=127;break}case 10:{if(ia)y=311;else g=117;break}default:y=311}if((y|0)==311)g=118;b[i>>0]=g;f[i+4>>2]=l;ja=f[c+72>>2]|0;f[l+20>>2]=ja;f[l+24>>2]=ja;f[ha>>2]=l;b[l+8>>0]=ia?118:117;ja=k;t=ka;return ja|0}if(k|0){i=f[k+28>>2]|0;g=f[i+16>>2]|0;if(g|0)ig(ja,g);g=f[i+20>>2]|0;if(g|0)jg(ja,g);g=f[i+8>>2]|0;if(g|0)mg(ja,g,1);g=f[k+12>>2]|0;if(g|0)ig(ja,g);if(f[ja+480>>2]|0){Kc(ja,l);break}g=k;do if((f[ja+304>>2]|0)>>>0<=g>>>0){if((f[ja+308>>2]|0)>>>0<=g>>>0)break;ja=ja+300|0;f[k>>2]=f[ja>>2];f[ja>>2]=k;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{ja=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-ja;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}}while(0);ja=0;t=ka;return ja|0}function go(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c>>2]|0;n=f[a+12>>2]|0;o=n+64|0;k=f[o>>2]|0;l=a+145|0;j=(h[l>>0]|h[l+1>>0]<<8)&-769|256;b[l>>0]=j;b[l+1>>0]=j>>8;j=a+88|0;i=(f[j>>2]|0)+(((f[a+136>>2]|0)+-1|0)*20|0)|0;while(1){e=b[i>>0]|0;a:do if((e&255)<62){switch(e<<24>>24){case 2:{if(!(f[i+8>>2]|0))m=6;else{m=(h[l>>0]|h[l+1>>0]<<8)&-257;b[l>>0]=m;b[l+1>>0]=m>>8;m=6}break}case 0:case 1:{m=6;break}case 7:case 8:case 6:{g=(h[l>>0]|h[l+1>>0]<<8)&-769|512;b[l>>0]=g;b[l+1>>0]=g>>8;g=d;break a}case 3:case 5:{f[i+16>>2]=168;b[i+1>>0]=-5;g=d;break a}case 4:{f[i+16>>2]=169;b[i+1>>0]=-5;g=d;break a}case 10:{g=f[i+8>>2]|0;g=(g|0)>(d|0)?g:d;break a}case 9:{g=f[i+-16>>2]|0;d=(g|0)>(d|0)?g:d;break}default:{}}if((m|0)==6){m=0;g=h[l>>0]|h[l+1>>0]<<8|512;b[l>>0]=g;b[l+1>>0]=g>>8;g=d;break}e=i+8|0;g=f[e>>2]|0;if((g|0)<0){f[e>>2]=f[k+(~g<<2)>>2];g=d}else g=d}else g=d;while(0);if((i|0)==(f[j>>2]|0))break;else{d=g;i=i+-20|0}}d=f[a>>2]|0;e=f[o>>2]|0;if(!e){f[o>>2]=0;o=n+60|0;f[o>>2]=0;f[c>>2]=g;return}if(d|0){if(f[d+480>>2]|0){Kc(d,e);f[o>>2]=0;o=n+60|0;f[o>>2]=0;f[c>>2]=g;return}m=e;if((f[d+304>>2]|0)>>>0<=m>>>0?(f[d+308>>2]|0)>>>0>m>>>0:0){m=d+300|0;f[e>>2]=f[m>>2];f[m>>2]=e;f[o>>2]=0;o=n+60|0;f[o>>2]=0;f[c>>2]=g;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);f[o>>2]=0;o=n+60|0;f[o>>2]=0;f[c>>2]=g;return}else{m=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);f[o>>2]=0;o=n+60|0;f[o>>2]=0;f[c>>2]=g;return}}function ho(a,c){a=a|0;c=c|0;var e=0,g=0;c=a+1|0;b[c>>0]=b[c>>0]&-15;d[a+50>>1]=0;if(((b[a>>0]|0)==0?(e=a+70|0,g=d[e>>1]|0,g<<16>>16):0)?b[(f[a+116>>2]|0)+8>>0]|0:0){d[e>>1]=g+-1<<16>>16;g=0;return g|0}g=gj(a)|0;return g|0}function io(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=t;t=t+32|0;o=q;p=f[a>>2]|0;i=f[c+72>>2]|0;if(!i)k=-1e6;else{h=f[p+16>>2]|0;g=0;while(1)if((f[h+(g<<4)+12>>2]|0)==(i|0)){k=g;break}else g=g+1|0}if(!d)m=0;else m=Bk(p,d,0,0)|0;n=ol(p,0,0,0)|0;if(!n)g=Ll(a,0,0,m,0,0,0,131072,0)|0;else{d=f[c>>2]|0;a:do if(!d)g=0;else{c=(wz(d)|0)+1|0;b:do if(!p){i=KA(c|0,0,-1,-1)|0;h=ba()|0;if(h>>>0>0|(h|0)==0&i>>>0>2147483390){g=0;break a}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](c)|0;l=32;break}g=ib[f[37372>>2]&255](c)|0;if((f[18194]|0)>>>0>>0)f[18194]=c;i=71896;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){r=f[18187]|0;i=LA(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;h=ba()|0;f[17976]=((h|0)<0|(h|0)==0&i>>>0<=r>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break a}h=ib[f[37368>>2]&255](g)|0;h=(f[18187]|0)+h|0;f[18187]=h;if(h>>>0>(f[18191]|0)>>>0)f[18191]=h;h=(f[18190]|0)+1|0;f[18190]=h;if(h>>>0>(f[18196]|0)>>>0)f[18196]=h}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){g=0;break a}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){h=p+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];l=p+284|0;f[l>>2]=(f[l>>2]|0)+1;l=32;break b}h=p+296|0;g=f[h>>2]|0;if(!g){g=p+292|0;break}else{f[h>>2]=f[g>>2];l=p+284|0;f[l>>2]=(f[l>>2]|0)+1;l=32;break b}}else g=p+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(p,c,0)|0;l=32}while(0);if((l|0)==32)if(!g){g=0;break}YA(g|0,d|0,c|0)|0}while(0);f[n+16>>2]=g;i=f[(f[p+16>>2]|0)+(k<<4)>>2]|0;c:do if(i){d=(wz(i)|0)+1|0;d:do if(f[p+272>>2]|0)if(!(b[p+81>>0]|0))l=45;else{g=0;break c}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){h=p+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];r=p+284|0;f[r>>2]=(f[r>>2]|0)+1;break d}h=p+296|0;g=f[h>>2]|0;if(!g){g=p+292|0;break}else{f[h>>2]=f[g>>2];r=p+284|0;f[r>>2]=(f[r>>2]|0)+1;break d}}else g=p+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;l=45}while(0);if((l|0)==45)g=Dc(p,d,0)|0;if(g)YA(g|0,i|0,d|0)|0;else g=0}else g=0;while(0);f[n+12>>2]=g;g=Ll(a,0,n,m,0,0,0,131072,0)|0}b[o>>0]=12;f[o+4>>2]=e;f[o+16>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;Kl(a,g,o)|0;if(!g){t=q;return}mg(p,g,1);t=q;return}function jo(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0;j=f[a+24>>2]|0;i=f[a>>2]|0;a=b[c>>0]|0;a:do if(!(f[j+12>>2]|0)){switch(a<<24>>24){case -98:case -97:break a;case -99:break;default:{j=0;return j|0}}if(!(f[c+4>>2]&16777216)){j=0;return j|0}a=f[j>>2]|0;if(a|0){e=f[c+44>>2]|0;while(1){if((e|0)==(a|0)){a=1;break}a=f[a+24>>2]|0;if(!a)break a}return a|0}}else{if(a<<24>>24!=-98){j=0;return j|0}e=f[j+4>>2]|0;h=f[e>>2]|0;b:do if((h|0)>0){g=f[c+28>>2]|0;a=0;do{if((g|0)==(f[e+8+(a*72|0)+40>>2]|0))break b;a=a+1|0}while((a|0)<(h|0))}else a=0;while(0);if((a|0)==(h|0)){j=0;return j|0}}while(0);h=Bk(f[i>>2]|0,c,0,0)|0;g=j+8|0;h=ml(f[i>>2]|0,f[g>>2]|0,h)|0;f[g>>2]=h;if(!h){j=0;return j|0}a=c+4|0;f[a>>2]=f[a>>2]|32768;ig(f[i>>2]|0,c);f[a>>2]=f[a>>2]&-32769;a=c;e=a+48|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(e|0));b[c>>0]=-98;d[c+32>>1]=(f[f[g>>2]>>2]|0)+65535;f[c+28>>2]=f[(f[j>>2]|0)+36>>2];j=0;return j|0}function ko(a,b){a=a|0;b=b|0;var c=0,d=0;c=(f[a+24>>2]|0)+12|0;d=f[c>>2]|0;if((d|0)==(b|0)){d=0;return d|0}f[c>>2]=b;yk(a,b)|0;f[c>>2]=d;d=1;return d|0}function lo(a,c){a=a|0;c=c|0;if(f[c+4>>2]&1|0){c=1;return c|0}switch(b[c>>0]|0){case -98:{if((f[a+24>>2]|0)!=(f[c+28>>2]|0)){c=1;return c|0}b[a+20>>0]=1;c=2;return c|0}case 57:case 54:case 55:case 56:case 52:case 53:{a=f[c+12>>2]|0;if((b[a>>0]|0)==-98?f[(f[a+44>>2]|0)+56>>2]|0:0){c=1;return c|0}c=f[c+16>>2]|0;if((b[c>>0]|0)==-98?f[(f[c+44>>2]|0)+56>>2]|0:0){c=1;return c|0}break}case -99:case 49:case -111:case 43:case 45:case 50:case 19:case -100:{c=1;return c|0}default:{}}c=0;return c|0}function mo(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;if((c|0)<0){g=a;do{a=g+4|0;e=f[a>>2]|0;if(e&1|0)f[a>>2]=e&-2;if(((b[g>>0]|0)==-99?(h=g+20|0,i=f[h>>2]|0,i|0):0)?(f[i>>2]|0)>0:0){a=0;e=i;do{mo(f[e+4+(a*20|0)>>2]|0,c);a=a+1|0;e=f[h>>2]|0}while((a|0)<(f[e>>2]|0))}mo(f[g+12>>2]|0,c);g=f[g+16>>2]|0}while((g|0)!=0);return}g=a;do{a=g+4|0;e=f[a>>2]|0;if(e&1|0?(d[g+36>>1]|0)==(c|0):0)f[a>>2]=e&-2;if(((b[g>>0]|0)==-99?(j=g+20|0,k=f[j>>2]|0,k|0):0)?(f[k>>2]|0)>0:0){a=0;e=k;do{mo(f[e+4+(a*20|0)>>2]|0,c);a=a+1|0;e=f[j>>2]|0}while((a|0)<(f[e>>2]|0))}mo(f[g+12>>2]|0,c);g=f[g+16>>2]|0}while((g|0)!=0);return}function no(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;if(!c)return;h=(d|0)==0;while(1){e=f[c>>2]|0;if(e|0?(f[e>>2]|0)>0:0){d=0;do{g=e+4+(d*20|0)|0;j=Oo(a,f[g>>2]|0)|0;f[g>>2]=j;d=d+1|0}while((d|0)<(f[e>>2]|0))}e=f[c+40>>2]|0;if(e|0?(f[e>>2]|0)>0:0){d=0;do{j=e+4+(d*20|0)|0;g=Oo(a,f[j>>2]|0)|0;f[j>>2]=g;d=d+1|0}while((d|0)<(f[e>>2]|0))}e=f[c+48>>2]|0;if(e|0?(f[e>>2]|0)>0:0){d=0;do{j=e+4+(d*20|0)|0;g=Oo(a,f[j>>2]|0)|0;f[j>>2]=g;d=d+1|0}while((d|0)<(f[e>>2]|0))}d=c+44|0;e=Oo(a,f[d>>2]|0)|0;f[d>>2]=e;d=c+36|0;e=Oo(a,f[d>>2]|0)|0;f[d>>2]=e;d=f[c+32>>2]|0;e=f[d>>2]|0;if((e|0)>0){g=d+8|0;while(1){no(a,f[g+20>>2]|0,1);if((b[g+37>>0]&4?(i=f[g+64>>2]|0,i|0):0)?(f[i>>2]|0)>0:0){d=0;do{j=i+4+(d*20|0)|0;k=Oo(a,f[j>>2]|0)|0;f[j>>2]=k;d=d+1|0}while((d|0)<(f[i>>2]|0))}if((e|0)>1){g=g+72|0;e=e+-1|0}else break}}if(h){d=25;break}c=f[c+52>>2]|0;if(!c){d=25;break}}if((d|0)==25)return} -function Rj(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=t;t=t+16|0;o=p;k=b[a>>0]|0;if((c|0)>0&k<<24>>24!=0){m=0;do{do if((k+-48&255)<10){i=0;do{i=(i*10|0)+-48+(k<<24>>24)|0;a=a+1|0;k=b[a>>0]|0}while((k+-48&255)<10);if(i>>>0>=8){if(i>>>0>255){l=40;k=0;do{l=(l&65535)+40|0;q=i;i=VA(i|0,k|0,4)|0;r=k;k=ba()|0}while(r>>>0>0|(r|0)==0&q>>>0>4095);l=l&65535}else{l=40;k=0}if(k>>>0>0|(k|0)==0&i>>>0>15)do{l=(l&65535)+10&65535;r=i;i=VA(i|0,k|0,1)|0;q=k;k=ba()|0}while(q>>>0>0|(q|0)==0&r>>>0>31)}else{if(i>>>0<2){i=0;break}l=40;k=0;do{l=(l&65535)+65526|0;i=WA(i|0,k|0,1)|0;k=ba()|0}while(k>>>0<0|(k|0)==0&i>>>0<8);l=l&65535}i=(l&65535)+65526+(j[7936+((i&7)<<1)>>1]|0)&65535}else i=0;while(0);d[e+(m<<1)>>1]=i;a=(b[a>>0]|0)==32?a+1|0:a;m=m+1|0;k=b[a>>0]|0}while((m|0)<(c|0)&k<<24>>24!=0)}c=g+55|0;r=(h[c>>0]|h[c+1>>0]<<8)&-69;b[c>>0]=r;b[c+1>>0]=r>>8;if(!(b[a>>0]|0)){t=p;return}m=g+48|0;do{do if(!(af(46008,a,41507,91)|0)){r=h[c>>0]|h[c+1>>0]<<8|4;b[c>>0]=r;b[c+1>>0]=r>>8}else{if(af(46019,a,41507,91)|0){if(af(46029,a,41507,91)|0)break;r=h[c>>0]|h[c+1>>0]<<8|64;b[c>>0]=r;b[c+1>>0]=r>>8;break}f[o>>2]=0;Pd(a+3|0,o)|0;i=f[o>>2]|0;k=((i|0)<0)<<31>>31;if(i>>>0<8)if(i>>>0<2)i=0;else{l=40;do{l=(l&65535)+65526|0;i=WA(i|0,k|0,1)|0;k=ba()|0}while(k>>>0<0|(k|0)==0&i>>>0<8);l=l&65535;n=39}else{if(i>>>0>255){l=40;do{l=(l&65535)+40|0;r=i;i=VA(i|0,k|0,4)|0;q=k;k=ba()|0}while(q>>>0>0|(q|0)==0&r>>>0>4095);l=l&65535}else l=40;if(k>>>0>0|(k|0)==0&i>>>0>15){do{l=(l&65535)+10&65535;r=i;i=VA(i|0,k|0,1)|0;q=k;k=ba()|0}while(q>>>0>0|(q|0)==0&r>>>0>31);n=39}else n=39}if((n|0)==39){n=0;i=(l&65535)+65526+(j[7936+((i&7)<<1)>>1]|0)&65535}d[m>>1]=i}while(0);a:while(1){i=b[a>>0]|0;switch(i<<24>>24){case 32:{n=45;break a}case 0:break a;default:{}}a=a+1|0}if((n|0)==45){n=0;do{a=a+1|0;i=b[a>>0]|0}while(i<<24>>24==32)}}while(i<<24>>24!=0);t=p;return}function Sj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;i=f[a+12>>2]|0;if(!i){e=a+4|0;d=a+8|0}else{e=b[c>>0]|0;if(!(e<<24>>24))d=0;else{d=0;g=c;do{g=g+1|0;d=U(d+(h[1232+(e&255)>>0]|0)|0,-1640531535)|0;e=b[g>>0]|0}while(e<<24>>24!=0)}d=(d>>>0)%((f[a>>2]|0)>>>0)|0;e=i+(d<<3)|0;d=i+(d<<3)+4|0}e=f[e>>2]|0;if(!e){c=72124;c=c+8|0;c=f[c>>2]|0;return c|0}j=h[1232+(h[c>>0]|0)>>0]|0;while(1){d=f[d>>2]|0;e=e+-1|0;a=f[d+12>>2]|0;i=b[a>>0]|0;g=(h[1232+(i&255)>>0]|0)-j|0;if(!(i<<24>>24==0|(g|0)!=0)){i=c;do{a=a+1|0;i=i+1|0;k=b[a>>0]|0;g=(h[1232+(k&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(g|0)!=0))}if(!g){e=14;break}if(!e){d=72124;e=14;break}}if((e|0)==14){k=d+8|0;k=f[k>>2]|0;return k|0}return 0}function Tj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;n=t;t=t+48|0;i=n+32|0;h=n+24|0;g=n+16|0;e=n;k=f[a>>2]|0;do if(!(b[k+81>>0]|0)){m=a+4|0;if(f[f[m>>2]>>2]|0){t=n;return}if(!(f[a+16>>2]&1)){if(!(0==0?(f[k+32>>2]&1|0)==0:0)){f[e>>2]=42469;f[e+4>>2]=122737;f[e+8>>2]=40460;Ac(11,40408,e);c=11;break}f[g>>2]=(c|0)==0?46041:c;c=Ig(k,46043,g)|0;if((d|0)!=0?(b[d>>0]|0)!=0:0){f[h>>2]=c;f[h+4>>2]=d;c=Ig(k,46099,h)|0}f[f[m>>2]>>2]=c;f[i>>2]=42469;f[i+4>>2]=122744;f[i+8>>2]=40460;Ac(11,40408,i);c=11;break}a:do if(!d)c=0;else{h=(wz(d)|0)+1|0;b:do if(!k){k=KA(h|0,0,-1,-1)|0;i=ba()|0;if(i>>>0>0|(i|0)==0&k>>>0>2147483390){c=0;break a}if(!(f[9328]|0)){c=ib[f[37356>>2]&255](h)|0;l=28;break}c=ib[f[37372>>2]&255](h)|0;if((f[18194]|0)>>>0>>0)f[18194]=h;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){k=f[18187]|0;i=LA(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&i>>>0<=k>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c){c=0;break a}e=ib[f[37368>>2]&255](c)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}else{if(!(f[k+272>>2]|0)){do if(!(0<0|(0==0?(j[k+276>>1]|0)>>>0>>0:0))){e=k+300|0;c=f[e>>2]|0;if(c|0){f[e>>2]=f[c>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=28;break b}e=k+296|0;c=f[e>>2]|0;if(!c){c=k+292|0;break}else{f[e>>2]=f[c>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=28;break b}}else c=k+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(k,h,0)|0;l=28}while(0);if((l|0)==28)if(!c){c=0;break}YA(c|0,d|0,h|0)|0}while(0);f[f[m>>2]>>2]=c;c=1}else c=7;while(0);f[a+12>>2]=c;t=n;return}function Uj(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+64|0;s=u+32|0;r=u+16|0;g=u;o=u+48|0;p=u+44|0;qb[f[a+80>>2]&255](a,c,e);k=j[e+16>>1]|0;i=f[e+12>>2]|0;if((i|0)==(k|0)){s=0;t=u;return s|0}c=c+(j[e+18>>1]|0)|0;if(c>>>0>(f[a+60>>2]|0)>>>0){f[g>>2]=42469;f[g+4>>2]=69212;f[g+8>>2]=40460;Ac(11,40408,g);s=11;t=u;return s|0}e=c+-4|0;n=f[a+52>>2]|0;g=(f[n+36>>2]|0)+-4|0;c=i+~k+g|0;if(g>>>0>c>>>0){s=0;t=u;return s|0}l=n+44|0;a=h[e+1>>0]<<16|h[e>>0]<<24|h[e+2>>0]<<8|h[e+3>>0];i=(c>>>0)/(g>>>0)|0;while(1){i=i+-1|0;f[o>>2]=0;f[p>>2]=0;if(a>>>0<2){m=8;break}if(a>>>0>(f[l>>2]|0)>>>0){m=8;break}k=(i|0)==0;if(!k){c=qh(n,a,p,o)|0;if(c|0)break;c=f[p>>2]|0;if(c)m=20;else m=12}else m=12;a:do if((m|0)==12){c=(f[n>>2]|0)+212|0;g=kb[f[37452>>2]&127](f[(f[c>>2]|0)+44>>2]|0,a,0)|0;do if(g|0){c=f[c>>2]|0;e=f[g+4>>2]|0;if(!(f[e>>2]|0)){c=ch(c,a,g)|0;if(!c)break;else e=c}else{m=c+12|0;f[m>>2]=(f[m>>2]|0)+1;m=e+30|0;d[m>>1]=(d[m>>1]|0)+1<<16>>16}c=f[e+8>>2]|0;g=c+4|0;if((f[g>>2]|0)==(a|0)){f[p>>2]=c;if(!c){m=22;break a}else{m=20;break a}}else{f[c+56>>2]=f[e+4>>2];f[c+72>>2]=e;f[c+52>>2]=n;f[g>>2]=a;b[c+9>>0]=0;f[p>>2]=c;m=20;break a}}while(0);f[p>>2]=0;c=0;m=22}while(0);if((m|0)==20){m=0;if((d[(f[c+72>>2]|0)+30>>1]|0)==1)m=22;else{f[s>>2]=42469;f[s+4>>2]=69249;f[s+8>>2]=40460;Ac(11,40408,s);c=11}}if((m|0)==22){m=0;c=tj(n,c,a)|0}e=f[p>>2]|0;do if(e|0?(q=f[e+72>>2]|0,q|0):0)if(!(d[q+28>>1]&32)){bh(q);break}else{a=f[q+20>>2]|0;g=a+120|0;f[g>>2]=(f[g>>2]|0)+-1;a=a+136|0;f[q+16>>2]=f[a>>2];f[a>>2]=q;break}while(0);if((c|0)!=0|k){m=30;break}else a=f[o>>2]|0}if((m|0)==8){f[r>>2]=42469;f[r+4>>2]=69229;f[r+8>>2]=40460;Ac(11,40408,r);c=11}else if((m|0)==30){t=u;return c|0}s=c;t=u;return s|0}function Vj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=t;t=t+16|0;g=i;e=g;f[e>>2]=0;f[e+4>>2]=0;e=a;c=f[e+4>>2]|0;h=a+8|0;d=f[h+4>>2]|0;do if(!((c|0)<(d|0)|((c|0)==(d|0)?(f[e>>2]|0)>>>0<(f[h>>2]|0)>>>0:0))){h=a+48|0;b=f[h>>2]|0;if(b){c=Wj(b)|0;j=b+32|0;e=b+48|0;f[j>>2]=f[e>>2];f[j+4>>2]=f[e+4>>2];f[j+8>>2]=f[e+8>>2];f[j+12>>2]=f[e+12>>2];j=b+40|0;e=b+8|0;d=f[e>>2]|0;e=f[e+4>>2]|0;if((f[j>>2]|0)==(d|0)?(f[j+4>>2]|0)==(e|0):0)f[b+20>>2]=1;if(!c)if(!(f[b+20>>2]|0)){b=Xj(f[b>>2]|0,a,b+32|0,d,e)|0;if(!b)break;t=i;return b|0}else g=0;else g=c}else g=0;b=f[a+28>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{j=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+36>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{j=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);c=f[h>>2]|0;do if(c|0){d=f[c+4>>2]|0;do if(d|0){if((f[d>>2]|0)>0){e=d+12|0;b=0;do{hi((f[e>>2]|0)+(b*56|0)|0);b=b+1|0}while((b|0)<(f[d>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{j=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{j=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);b=a;c=b+56|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));j=g;t=i;return j|0}while(0);b=Yj(a,g)|0;if(b|0){j=b;t=i;return j|0}j=f[g>>2]|0;f[a+20>>2]=j;j=Zj(a,j,a+32|0)|0;t=i;return j|0}function Wj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=t;t=t+16|0;z=F+4|0;B=F;D=a+8|0;C=f[D>>2]|0;D=f[D+4>>2]|0;A=a+4|0;j=f[A>>2]|0;i=f[a+48>>2]|0;h=f[(f[(f[a>>2]|0)+8>>2]|0)+12>>2]|0;g=((h|0)<0)<<31>>31;y=KA(h|0,g|0,-1,-1)|0;x=ba()|0;do if(x>>>0>0|(x|0)==0&y>>>0>2147483390){c=7;y=0;w=0;d=0;x=0;g=0;e=0}else{if(!(f[9328]|0)){c=ib[f[37356>>2]&255](h)|0;if(!c){c=7;y=0;w=0;d=0;x=0;g=0;e=0;break}else d=c}else{c=ib[f[37372>>2]&255](h)|0;if((f[18194]|0)>>>0>>0)f[18194]=h;e=71896;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){y=f[18187]|0;x=LA(d|0,e|0,c|0,((c|0)<0)<<31>>31|0)|0;w=ba()|0;f[17976]=((w|0)<0|(w|0)==0&x>>>0<=y>>>0)&1}d=ib[f[37356>>2]&255](c)|0;if(!d){c=7;y=0;w=0;d=0;x=0;g=0;e=0;break}c=ib[f[37368>>2]&255](d)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}x=RA(C|0,D|0,h|0,g|0)|0;ba()|0;g=LA(C|0,D|0,x|0,((x|0)<0)<<31>>31|0)|0;c=0;y=d;w=h;d=x;x=i;e=ba()|0}while(0);v=j+12|0;q=j+8|0;r=a+16|0;s=((w|0)<0)<<31>>31;u=z+1|0;i=d;h=d;while(1){n=f[v>>2]|0;o=f[(f[q>>2]|0)+4>>2]|0;p=f[n+(o*56|0)+20>>2]|0;if(!(f[n+(o*56|0)+24>>2]|0)){E=35;break}j=((h|0)<0)<<31>>31;k=((p|0)<0)<<31>>31;d=1;l=p;m=k;while(1){l=VA(l|0,m|0,7)|0;m=ba()|0;if((l|0)==0&(m|0)==0)break;else d=d+1|0}l=KA(g|0,e|0,h|0,j|0)|0;l=KA(l|0,ba()|0,p|0,k|0)|0;l=KA(l|0,ba()|0,d|0,0)|0;d=ba()|0;m=f[r>>2]|0;m=KA(C|0,D|0,m|0,((m|0)<0)<<31>>31|0)|0;j=ba()|0;if((d|0)>(j|0)|(d|0)==(j|0)&l>>>0>m>>>0){E=35;break}do if(p>>>0>=128)if(p>>>0>=16384){d=_i(z,p,k)|0;if((d|0)>0){E=24;break}else break}else{d=VA(p|0,k|0,7)|0;ba()|0;b[z>>0]=d&255|-128;d=2;j=u;E=23;break}else{d=1;j=z;E=23}while(0);if((E|0)==23){b[j>>0]=p&127;E=24}a:do if((E|0)==24){E=0;k=d;do{if(c|0)break a;j=w-h|0;j=(k|0)>(j|0)?j:k;YA(y+h|0,z+(d-k)|0,j|0)|0;h=j+h|0;if((h|0)==(w|0)){l=KA(g|0,e|0,w|0,s|0)|0;m=ba()|0;h=KA(g|0,e|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;c=mb[f[(f[x>>2]|0)+12>>2]&127](x,y+i|0,w-i|0,h,c)|0;i=0;h=0;g=l;e=m}else c=0;k=k-j|0}while((k|0)>0)}while(0);k=f[n+(o*56|0)+32>>2]|0;b:do if((p|0)>0){j=p;do{if(c|0)break b;d=w-h|0;d=(j|0)>(d|0)?d:j;YA(y+h|0,k+(p-j)|0,d|0)|0;h=d+h|0;if((h|0)==(w|0)){n=KA(g|0,e|0,w|0,s|0)|0;o=ba()|0;h=KA(g|0,e|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;c=mb[f[(f[x>>2]|0)+12>>2]&127](x,y+i|0,w-i|0,h,c)|0;i=0;h=0;g=n;e=o}else c=0;j=j-d|0}while((j|0)>0)}while(0);d=rj(f[A>>2]|0,B)|0;if(d){j=d;break}}if((E|0)==35)j=0;d=a+56|0;if(c){D=KA(g|0,e|0,h|0,((h|0)<0)<<31>>31|0)|0;a=ba()|0;E=d;f[E>>2]=D;f[E+4>>2]=a;if(!y){E=c;a=(j|0)==0;E=a?E:j;t=F;return E|0}}else{if(!y){D=KA(g|0,e|0,h|0,((h|0)<0)<<31>>31|0)|0;a=ba()|0;E=d;f[E>>2]=D;f[E+4>>2]=a;E=0;a=(j|0)==0;E=a?E:j;t=F;return E|0}if((h|0)>(i|0)){E=KA(g|0,e|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;c=mb[f[(f[x>>2]|0)+12>>2]&127](x,y+i|0,h-i|0,E,c)|0}else c=0;D=KA(g|0,e|0,h|0,((h|0)<0)<<31>>31|0)|0;a=ba()|0;E=d;f[E>>2]=D;f[E+4>>2]=a}if(!(f[9328]|0)){ob[f[37360>>2]&127](y);E=c;a=(j|0)==0;E=a?E:j;t=F;return E|0}else{E=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-E;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y);E=c;a=(j|0)==0;E=a?E:j;t=F;return E|0}return 0}function Xj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=f[9393]|0;if(g|0?ib[g&255](201)|0:0){b=266;return b|0}h=b+44|0;if(f[h>>2]|0)f[h>>2]=0;n=b;f[n>>2]=d;f[n+4>>2]=e;n=c+8|0;l=f[n>>2]|0;n=f[n+4>>2]|0;k=b+8|0;i=k;f[i>>2]=l;f[i+4>>2]=n;i=f[c>>2]|0;j=b+24|0;f[j>>2]=i;c=a+8|0;g=f[c>>2]|0;a=f[(f[g+24>>2]|0)+156>>2]|0;m=((a|0)<0)<<31>>31;if(!((n|0)>(m|0)|(n|0)==(m|0)&l>>>0>a>>>0)?(f[f[i>>2]>>2]|0)>2:0){f[h>>2]=0;g=f[c>>2]|0}i=f[g+12>>2]|0;c=((i|0)<0)<<31>>31;d=RA(d|0,e|0,i|0,c|0)|0;ba()|0;h=b+36|0;g=f[h>>2]|0;if(!g){n=KA(i|0,c|0,-1,-1)|0;m=ba()|0;do if(!(m>>>0>0|(m|0)==0&n>>>0>2147483390)){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](i)|0;break}g=ib[f[37372>>2]&255](i)|0;if((f[18194]|0)>>>0>>0)f[18194]=i;a=71896;c=f[a>>2]|0;a=f[a+4>>2]|0;if((a|0)>0|(a|0)==0&c>>>0>0){n=f[18187]|0;m=LA(c|0,a|0,g|0,((g|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&m>>>0<=n>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(g){c=ib[f[37368>>2]&255](g)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}else g=0}else g=0;while(0);f[h>>2]=g;f[b+40>>2]=i;c=(g|0)==0?7:0}else c=0;if(!((d|0)!=0&(c|0)==0)){n=c;return n|0}l=i-d|0;n=b;m=f[n>>2]|0;n=f[n+4>>2]|0;i=KA(m|0,n|0,l|0,((l|0)<0)<<31>>31|0)|0;h=ba()|0;e=k;k=f[e>>2]|0;e=f[e+4>>2]|0;b=LA(k|0,e|0,m|0,n|0)|0;ba()|0;j=f[j>>2]|0;n=mb[f[(f[j>>2]|0)+8>>2]&127](j,g+d|0,(h|0)>(e|0)|(h|0)==(e|0)&i>>>0>k>>>0?b:l,m,n)|0;return n|0}function Yj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=t;t=t+32|0;i=j;h=j+16|0;e=f[a+44>>2]|0;d=a;g=f[d>>2]|0;d=f[d+4>>2]|0;if(e|0){h=(Th(e+g|0,c)|0)&255;c=a;h=KA(f[c>>2]|0,f[c+4>>2]|0,h|0,0)|0;c=ba()|0;i=a;f[i>>2]=h;f[i+4>>2]=c;i=0;t=j;return i|0}e=f[a+40>>2]|0;d=RA(g|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;ba()|0;if((d|0)!=0&(e-d|0)>8){h=(Th((f[a+36>>2]|0)+d|0,c)|0)&255;c=a;h=KA(f[c>>2]|0,f[c+4>>2]|0,h|0,0)|0;c=ba()|0;i=a;f[i>>2]=h;f[i+4>>2]=c;i=0;t=j;return i|0}d=0;while(1){e=Zj(a,1,h)|0;if(e|0){d=9;break}g=b[f[h>>2]>>0]|0;b[i+(d&15)>>0]=g;if(g<<24>>24<0)d=d+1|0;else{d=8;break}}if((d|0)==8){Th(i,c)|0;i=0;t=j;return i|0}else if((d|0)==9){i=e;t=j;return i|0}return 0}function Zj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=t;t=t+16|0;l=m;d=f[a+44>>2]|0;g=a;h=f[g>>2]|0;g=f[g+4>>2]|0;if(d|0){f[c>>2]=d+h;b=KA(h|0,g|0,b|0,((b|0)<0)<<31>>31|0)|0;c=ba()|0;l=a;f[l>>2]=b;f[l+4>>2]=c;l=0;t=m;return l|0}k=a+40|0;d=f[k>>2]|0;e=((d|0)<0)<<31>>31;j=RA(h|0,g|0,d|0,e|0)|0;ba()|0;do if(!j){i=a+8|0;i=LA(f[i>>2]|0,f[i+4>>2]|0,h|0,g|0)|0;n=ba()|0;o=f[a+24>>2]|0;d=mb[f[(f[o>>2]|0)+8>>2]&127](o,f[a+36>>2]|0,(n|0)>(e|0)|(n|0)==(e|0)&i>>>0>d>>>0?d:i,h,g)|0;if(!d){d=f[k>>2]|0;break}else{o=d;t=m;return o|0}}while(0);i=d-j|0;if((i|0)>=(b|0)){f[c>>2]=(f[a+36>>2]|0)+j;l=a;l=KA(f[l>>2]|0,f[l+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;n=ba()|0;o=a;f[o>>2]=l;f[o+4>>2]=n;o=0;t=m;return o|0}h=a+16|0;d=f[h>>2]|0;do if((d|0)<(b|0)){e=(d|0)<64?128:d<<1;while(1)if((e|0)<(b|0))e=e<<1;else break;g=a+28|0;d=Nc(f[g>>2]|0,e,((e|0)<0)<<31>>31)|0;if(!d){o=7;t=m;return o|0}else{f[h>>2]=e;f[g>>2]=d;h=g;break}}else{d=a+28|0;h=d;d=f[d>>2]|0}while(0);YA(d|0,(f[a+36>>2]|0)+j|0,i|0)|0;n=a;n=KA(f[n>>2]|0,f[n+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;o=ba()|0;d=a;f[d>>2]=n;f[d+4>>2]=o;d=b-i|0;a:do if((d|0)>0){while(1){g=f[k>>2]|0;g=(d|0)>(g|0)?g:d;e=Zj(a,g,l)|0;if(e|0)break;YA((f[h>>2]|0)+(b-d)|0,f[l>>2]|0,g|0)|0;d=d-g|0;if((d|0)<=0)break a}o=e;t=m;return o|0}while(0);f[c>>2]=f[h>>2];o=0;t=m;return o|0}function _j(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=t;t=t+16|0;i=j+8|0;h=j;c=f[9393]|0;if(c|0?ib[c&255](202)|0:0){i=3338;t=j;return i|0}g=f[a>>2]|0;e=f[g+4>>2]|0;d=KA(e|0,((e|0)<0)<<31>>31|0,-1,-1)|0;c=ba()|0;do if(c>>>0>0|(c|0)==0&d>>>0>2147483390)a=7;else{if(!(f[9328]|0)){a=ib[f[37356>>2]&255](e)|0;if(!a){a=7;break}else c=a}else{a=ib[f[37372>>2]&255](e)|0;if((f[18194]|0)>>>0>>0)f[18194]=e;d=71896;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){k=f[18187]|0;d=LA(c|0,d|0,a|0,((a|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&d>>>0<=k>>>0)&1}c=ib[f[37356>>2]&255](a)|0;if(!c){a=7;break}a=ib[f[37368>>2]&255](c)|0;a=(f[18187]|0)+a|0;f[18187]=a;if(a>>>0>(f[18191]|0)>>>0)f[18191]=a;a=(f[18190]|0)+1|0;f[18190]=a;if(a>>>0>(f[18196]|0)>>>0)f[18196]=a}_A(c|0,0,e|0)|0;a=mb[f[g+24>>2]&127](g,0,c,4126,i)|0;if(a|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{k=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}f[b>>2]=c;f[i>>2]=0;a=h;f[a>>2]=0;f[a+4>>2]=0;a=f[c>>2]|0;if(!a)a=0;else{kb[f[a+40>>2]&127](c,18,h)|0;a=f[i>>2]|0}k=a;t=j;return k|0}while(0);f[i>>2]=a;k=a;t=j;return k|0}function $j(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=t;t=t+16|0;p=s;r=d+(h[d>>0]|0)|0;q=g+(h[g>>0]|0)|0;k=d+1|0;o=b[k>>0]|0;l=o&255;do if(o<<24>>24<=-1){m=h[d+2>>0]|0;if(!(m&128)){o=l<<7&16256|m;break}n=h[d+3>>0]|0;if(!(n&128)){o=(l<<14|n)&2080895|m<<7&16256;break}else{Th(k,p)|0;n=p;o=f[n>>2]|0;o=((o|0)==(o|0)?0==(f[n+4>>2]|0):0)?o:-1;break}}else o=l;while(0);l=g+1|0;n=b[l>>0]|0;k=n&255;do if(n<<24>>24<=-1){m=h[g+2>>0]|0;if(!(m&128)){k=k<<7&16256|m;break}n=h[g+3>>0]|0;if(!(n&128)){k=(k<<14|n)&2080895|m<<7&16256;break}else{Th(l,p)|0;k=f[p>>2]|0;k=((k|0)==(k|0)?0==(f[p+4>>2]|0):0)?k:-1;break}}while(0);l=Hz(r,q,(((o|0)<(k|0)?o:k)+-13|0)/2|0)|0;m=o-k|0;if(!l){k=f[(f[a+8>>2]|0)+28>>2]|0;if(!m){if((j[k+6>>1]|0)<=1){i=0;t=s;return i|0}l=f[a+12>>2]|0;if(!(f[c>>2]|0)){hj(k,i,g,l);f[c>>2]=1}i=lj(e,d,l,1)|0;t=s;return i|0}else l=m}else k=f[(f[a+8>>2]|0)+28>>2]|0;i=(b[f[k+16>>2]>>0]|0)==0?l:0-l|0;t=s;return i|0}function ak(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;h=f[a+12>>2]|0;if(!(f[b>>2]|0)){hj(f[(f[a+8>>2]|0)+28>>2]|0,g,e,h);f[b>>2]=1}return lj(d,c,h,0)|0}function bk(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=b[d+1>>0]|0;o=k&255;l=b[g+1>>0]|0;p=d+(h[d>>0]|0)|0;q=g+(h[g>>0]|0)|0;a:do if(k<<24>>24!=l<<24>>24){m=(k&255)>7;n=(l&255)>7;k=o-(l&255)|0;do if(!(m&n)){k=n?1:m?-1:k;if((k|0)<=0)if((b[q>>0]|0)<0){k=1;r=12;break a}else break;else{k=(b[p>>0]|0)<0?-1:k;break}}while(0);l=f[(f[a+8>>2]|0)+28>>2]|0;if(k){i=k;g=l;g=g+16|0;g=f[g>>2]|0;g=b[g>>0]|0;g=g<<24>>24==0;r=0-i|0;r=g?i:r;return r|0}}else{m=h[46107+o>>0]|0;b:do if((o+-1|0)>>>0<6){k=0;while(1){l=(h[p+k>>0]|0)-(h[q+k>>0]|0)|0;k=k+1|0;if(l|0)break;if(k>>>0>=m>>>0)break b}k=b[p>>0]|0;k=(b[q>>0]^k)<<24>>24<0?(((k&255)>>>6&2^2)&255)+-1|0:l;r=12;break a}while(0);l=f[(f[a+8>>2]|0)+28>>2]|0}while(0);if((r|0)==12){i=k;g=f[(f[a+8>>2]|0)+28>>2]|0;g=g+16|0;g=f[g>>2]|0;g=b[g>>0]|0;g=g<<24>>24==0;r=0-i|0;r=g?i:r;return r|0}if((j[l+6>>1]|0)<=1){r=0;return r|0}k=f[a+12>>2]|0;if(!(f[c>>2]|0)){hj(l,i,g,k);f[c>>2]=1}r=lj(e,d,k,1)|0;return r|0}function ck(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+16|0;k=q;if(f[g>>2]|0){t=q;return}p=f[a+56>>2]|0;l=(f[a+64>>2]|0)+(c<<1)|0;i=(h[l>>0]|0)<<8|(h[l+1>>0]|0);m=a+9|0;n=h[m>>0]|0;o=a+52|0;if((i+e|0)>>>0>(f[(f[o>>2]|0)+36>>2]|0)>>>0){f[k>>2]=42469;f[k+4>>2]=69484;f[k+8>>2]=40460;Ac(11,40408,k);f[g>>2]=11;t=q;return}i=hk(a,i&65535,e&65535)|0;if(i|0){f[g>>2]=i;t=q;return}i=a+22|0;e=(d[i>>1]|0)+-1<<16>>16;d[i>>1]=e;if(!(e<<16>>16)){l=p+(n+1)|0;b[l>>0]=0;b[l+1>>0]=0;b[l+2>>0]=0;b[l+3>>0]=0;b[p+(n+7)>>0]=0;p=p+(n+5)|0;b[p>>0]=(f[(f[o>>2]|0)+36>>2]|0)>>>8;b[p+1>>0]=f[(f[o>>2]|0)+36>>2];d[a+20>>1]=(f[(f[o>>2]|0)+36>>2]|0)+65528-(h[m>>0]|0)-(h[a+10>>0]|0);t=q;return}else{ZA(l|0,l+2|0,(e&65535)-c<<1|0)|0;p=p+(n+3)|0;b[p>>0]=(j[i>>1]|0)>>>8;b[p+1>>0]=d[i>>1];p=a+20|0;d[p>>1]=(j[p>>1]|0)+2;t=q;return}}function dk(a,c,e,g,i,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+48|0;o=A+24|0;z=A;n=a+12|0;if((b[n>>0]|0)==0?(x=g+2|0,y=a+20|0,(x|0)<=(j[y>>1]|0)):0){i=f[a+72>>2]|0;n=f[i+20>>2]|0;if((d[i+28>>1]&4)!=0?(f[n+24>>2]|0)>>>0>=(f[i+24>>2]|0)>>>0:0){if(f[n+96>>2]|0){m=Ng(i)|0;w=16}}else w=12;do if((w|0)==12){m=f[n+40>>2]|0;if(!m)if((f[n+148>>2]|0)>>>0>(f[n+152>>2]|0)>>>0){m=Og(i)|0;w=16;break}else{m=Pg(i)|0;w=16;break}else w=17}while(0);if((w|0)==16?m|0:0)w=17;if((w|0)==17){f[l>>2]=m;t=A;return}s=f[a+56>>2]|0;u=a+9|0;n=b[u>>0]|0;i=n&255;f[z>>2]=0;v=a+22|0;p=(j[v>>1]<<1)+(j[a+18>>1]|0)|0;q=s+(i+5)|0;r=q+1|0;m=h[q>>0]<<8|h[r>>0];do if(p>>>0>m>>>0){if((m|0)==0?(f[(f[a+52>>2]|0)+36>>2]|0)==65536:0){o=65536;w=22;break}f[o>>2]=42469;f[o+4>>2]=64547;f[o+8>>2]=40460;Ac(11,40408,o);m=11}else{o=m;w=22}while(0);a:do if((w|0)==22){if(!(b[s+(i+2)>>0]|0)){m=p+2|0;if((m|0)>(o|0)?1:(b[s+(i+1)>>0]|0)==0)w=29;else w=25}else{m=p+2|0;if((m|0)>(o|0))w=29;else w=25}do if((w|0)==25){m=ik(n,f[(f[a+52>>2]|0)+36>>2]|0,s,g,z)|0;if(m|0){i=m-s|0;break}m=f[z>>2]|0;if(m|0)break a;m=p+2|0;w=29}while(0);if((w|0)==29){if((m+g|0)>(o|0)){m=-2-g+(j[y>>1]|0)|0;m=jk(a,(m|0)<4?m:4)|0;f[z>>2]=m;if(m|0)break;m=((h[q>>0]<<8|h[r>>0])+65535&65535)+1|0}else m=o;i=m-g|0;b[q>>0]=i>>>8;b[r>>0]=i}d[y>>1]=(j[y>>1]|0)-x;m=s+i|0;YA(m|0,e|0,g|0)|0;if(k|0){b[m>>0]=k>>>24;b[m+1>>0]=k>>>16;b[m+2>>0]=k>>>8;b[m+3>>0]=k}k=(f[a+64>>2]|0)+(c<<1)|0;ZA(k+2|0,k|0,(j[v>>1]|0)-c<<1|0)|0;b[k>>0]=i>>>8;b[k+1>>0]=i;d[v>>1]=(d[v>>1]|0)+1<<16>>16;c=s+((h[u>>0]|0)+4)|0;k=(b[c>>0]|0)+1<<24>>24;b[c>>0]=k;if(!(k<<24>>24)){k=s+((h[u>>0]|0)+3)|0;b[k>>0]=(b[k>>0]|0)+1<<24>>24}m=a+52|0;if(!(b[(f[m>>2]|0)+17>>0]|0)){t=A;return}if((f[l>>2]|0)==0?(qb[f[a+80>>2]&255](a,e,z),(f[z+12>>2]|0)>>>0>(j[z+16>>1]|0)>>>0):0){z=e+((j[z+18>>1]|0)+-4)|0;Oh(f[m>>2]|0,h[z+1>>0]<<16|h[z>>0]<<24|h[z+2>>0]<<8|h[z+3>>0],3,f[a+4>>2]|0,l)}t=A;return}while(0);f[l>>2]=m;t=A;return}if(!i)m=e;else{YA(i|0,e|0,g|0)|0;m=i}if(k|0){b[m>>0]=k>>>24;b[m+1>>0]=k>>>16;b[m+2>>0]=k>>>8;b[m+3>>0]=k}l=b[n>>0]|0;b[n>>0]=l+1<<24>>24;l=l&255;f[a+36+(l<<2)>>2]=m;d[a+26+(l<<1)>>1]=c;t=A;return}function ek(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0;$a=t;t=t+432|0;Za=$a+336|0;Ya=$a+320|0;Wa=$a+304|0;Va=$a+288|0;Ua=$a+272|0;Ta=$a+256|0;_a=$a+240|0;Xa=$a+224|0;Sa=$a+208|0;ea=$a+184|0;ma=$a+396|0;xa=$a+384|0;La=$a+160|0;Ma=$a+376|0;Oa=$a+128|0;Pa=$a+96|0;Qa=$a+64|0;Ra=$a+368|0;fa=$a+423|0;ga=$a+32|0;ha=$a;ia=$a+400|0;ja=$a+352|0;ka=$a+410|0;la=a+20|0;na=(f[(f[la>>2]|0)+36>>2]<<1>>>0)/3|0;oa=a+68|0;pa=a+116|0;qa=a+124|0;ra=a+70|0;sa=a+72|0;ta=a+120|0;ua=a+3|0;va=ja+8|0;ya=ka+4|0;Ca=ja+12|0;Da=ja+4|0;Ea=ea+16|0;Fa=ea+12|0;Ga=ea+18|0;Ha=ka;Ia=ea+16|0;Ja=ea+12|0;Ka=ea+18|0;e=0;i=b[oa>>0]|0;da=f[pa>>2]|0;do{c=i<<24>>24;ca=da+12|0;g=(b[ca>>0]|0)==0;if(!(i<<24>>24)){if(g){g=0;break}f[ma>>2]=0;f[xa>>2]=0;m=da+52|0;l=f[m>>2]|0;c=f[da+72>>2]|0;i=f[c+20>>2]|0;do if((d[c+28>>1]&4)!=0?(f[i+24>>2]|0)>>>0>=(f[c+24>>2]|0)>>>0:0)if(!(f[i+96>>2]|0)){f[ea>>2]=0;_=15;break}else{g=Ng(c)|0;_=14;break}else _=9;while(0);do if((_|0)==9){g=f[i+40>>2]|0;if(g|0){f[ea>>2]=g;_=23;break}if((f[i+148>>2]|0)>>>0>(f[i+152>>2]|0)>>>0){g=Og(c)|0;_=14;break}else{g=Pg(c)|0;_=14;break}}while(0);if((_|0)==14){f[ea>>2]=g;if(!g)_=15;else _=23}do if((_|0)==15){_=0;i=da+4|0;g=Lh(l,ma,xa,f[i>>2]|0,0)|0;f[ea>>2]=g;k=f[ma>>2]|0;v=k;do if(!g){c=f[m>>2]|0;aa=f[da+56>>2]|0;Z=f[k+56>>2]|0;g=h[da+9>>0]|0;$=(f[k+4>>2]|0)==1?100:0;Y=aa+(g+5)|0;Y=h[Y>>0]<<8|h[Y+1>>0];YA(Z+Y|0,aa+Y|0,(f[c+36>>2]|0)-Y|0)|0;YA(Z+$|0,aa+g|0,(j[da+22>>1]<<1)+(j[da+18>>1]|0)|0)|0;b[k>>0]=0;g=Ph(k)|0;if(g|0){f[ea>>2]=g;break}if(!(b[c+17>>0]|0))g=0;else{g=Nh(k)|0;f[ea>>2]=g}}while(0);if(b[l+17>>0]|0){Oh(l,f[xa>>2]|0,5,f[i>>2]|0,ea);g=f[ea>>2]|0}if(g|0){f[qa>>2]=0;if(!k)break;c=f[k+72>>2]|0;if(!(d[c+28>>1]&32)){bh(c);break}else{ca=f[c+20>>2]|0;aa=ca+120|0;f[aa>>2]=(f[aa>>2]|0)+-1;ca=ca+136|0;f[c+16>>2]=f[ca>>2];f[ca>>2]=c;break}}YA(k+26|0,da+26|0,h[ca>>0]<<1|0)|0;YA(k+36|0,da+36|0,h[ca>>0]<<2|0)|0;b[k+12>>0]=b[ca>>0]|0;l=b[f[k+56>>2]>>0]&-9;q=da+56|0;r=f[q>>2]|0;s=f[m>>2]|0;u=da+9|0;g=h[u>>0]|0;if(!(d[s+22>>1]&12)){c=r+g|0;p=s+36|0}else{p=s+36|0;c=r+g|0;_A(c|0,0,(f[p>>2]|0)-g|0)|0}b[c>>0]=l;n=g+12|0;o=n&65535;c=r+(g+1)|0;b[c>>0]=0;b[c+1>>0]=0;b[c+2>>0]=0;b[c+3>>0]=0;b[r+(g+7)>>0]=0;c=r+(g+5)|0;b[c>>0]=(f[p>>2]|0)>>>8;b[c+1>>0]=f[p>>2];d[da+20>>1]=(f[p>>2]|0)-n;c=(l&255)>>>3;i=c&255;b[da+8>>0]=i;c=4-(c<<2)&255;g=da+10|0;b[g>>0]=c;k=da+76|0;f[k>>2]=149;m=f[m>>2]|0;switch(l<<24>>24){case 5:{b[da+2>>0]=1;g=da+3|0;if(!(i<<24>>24)){b[g>>0]=0;f[k>>2]=150;g=191}else{b[g>>0]=1;g=189}f[da+80>>2]=g;d[da+14>>1]=d[m+28>>1]|0;g=m+30|0;_=38;break}case 2:{b[da+2>>0]=0;b[da+3>>0]=0;f[da+80>>2]=190;d[da+14>>1]=d[m+24>>1]|0;g=m+26|0;_=38;break}default:{f[Sa>>2]=42469;f[Sa+4>>2]=64757;f[Sa+8>>2]=40460;Ac(11,40408,Sa);c=b[g>>0]|0}}if((_|0)==38){d[da+16>>1]=d[g>>1]|0;b[da+11>>0]=b[m+21>>0]|0}d[da+18>>1]=o;f[da+60>>2]=r+(f[p>>2]|0);f[da+64>>2]=r+n;f[da+68>>2]=r+(c&255);b[ca>>0]=0;d[da+24>>1]=(f[s+32>>2]|0)+65535;d[da+22>>1]=0;b[da>>0]=1;g=(f[q>>2]|0)+((h[u>>0]|0)+8)|0;ca=f[xa>>2]|0;b[g>>0]=ca>>>24;b[g+1>>0]=ca>>>16;b[g+2>>0]=ca>>>8;b[g+3>>0]=ca;f[qa>>2]=v;g=0}else if((_|0)==23)f[qa>>2]=0;while(0);if(g|0)break;b[oa>>0]=1;d[ra>>1]=0;d[sa>>1]=0;f[ta>>2]=da;g=0;i=1;c=qa}else{if(g?na>>>0>=(j[da+20>>1]|0)>>>0:0){g=0;break}m=c+-1|0;aa=f[a+120+(m<<2)>>2]|0;m=d[a+72+(m<<1)>>1]|0;n=m&65535;c=f[aa+72>>2]|0;k=f[c+20>>2]|0;if((d[c+28>>1]&4)!=0?(f[k+24>>2]|0)>>>0>=(f[c+24>>2]|0)>>>0:0)if(!(f[k+96>>2]|0))_=53;else{g=Ng(c)|0;_=52}else _=48;do if((_|0)==48){_=0;g=f[k+40>>2]|0;if(!g)if((f[k+148>>2]|0)>>>0>(f[k+152>>2]|0)>>>0){g=Og(c)|0;_=52;break}else{g=Pg(c)|0;_=52;break}}while(0);if((_|0)==52){_=0;if(!g)_=53}a:do if((_|0)==53){_=0;if((((b[da+3>>0]|0?(b[ca>>0]|0)==1:0)?(wa=d[da+26>>1]|0,za=da+22|0,wa<<16>>16==(d[za>>1]|0)):0)?(Aa=aa+4|0,(f[Aa>>2]|0)!=1):0)?(Ba=aa+22|0,(d[Ba>>1]|0)==m<<16>>16):0){u=f[da+52>>2]|0;do if(wa<<16>>16){g=Lh(u,ma,La,0,0)|0;f[xa>>2]=g;if(!g){p=f[da+36>>2]|0;f[Ma>>2]=p;q=jb[f[da+76>>2]&255](da,p)|0;d[Oa>>1]=q;r=f[ma>>2]|0;n=f[r+56>>2]|0;s=r+52|0;o=f[s>>2]|0;g=h[r+9>>0]|0;if(!(d[o+22>>1]&12)){c=n+g|0;m=o+36|0}else{m=o+36|0;c=n+g|0;_A(c|0,0,(f[m>>2]|0)-g|0)|0}b[c>>0]=13;$=g+8|0;c=n+(g+1)|0;b[c>>0]=0;b[c+1>>0]=0;b[c+2>>0]=0;b[c+3>>0]=0;b[n+(g+7)>>0]=0;c=n+(g+5)|0;b[c>>0]=(f[m>>2]|0)>>>8;b[c+1>>0]=f[m>>2];c=r+20|0;d[c>>1]=(f[m>>2]|0)-$;b[r+8>>0]=1;b[r+10>>0]=0;f[r+76>>2]=149;l=f[s>>2]|0;b[r+2>>0]=1;b[r+3>>0]=1;i=r+80|0;f[i>>2]=189;d[r+14>>1]=d[l+28>>1]|0;k=r+16|0;d[k>>1]=d[l+30>>1]|0;b[r+11>>0]=b[l+21>>0]|0;l=r+18|0;d[l>>1]=$;f[r+60>>2]=n+(f[m>>2]|0);f[r+64>>2]=n+$;f[r+68>>2]=n;b[r+12>>0]=0;d[r+24>>1]=(f[o+32>>2]|0)+65535;d[r+22>>1]=0;b[r>>0]=1;g=fk(r,1,Ma,Oa)|0;f[xa>>2]=g;if(g|0)break;d[c>>1]=65534-(q&65535)+(f[u+36>>2]|0)-(j[l>>1]|0);if(b[u+17>>0]|0?(Oh(u,f[La>>2]|0,5,f[Aa>>2]|0,xa),(q&65535)>(j[k>>1]|0)):0)do if(!(f[xa>>2]|0)){qb[f[i>>2]&255](r,p,ea);if((f[Fa>>2]|0)>>>0<=(j[Ea>>1]|0)>>>0)break;$=p+((j[Ga>>1]|0)+-4)|0;Oh(f[s>>2]|0,h[$+1>>0]<<16|h[$>>0]<<24|h[$+2>>0]<<8|h[$+3>>0],3,f[r+4>>2]|0,xa)}while(0);i=(f[da+64>>2]|0)+((j[za>>1]<<1)+-2)|0;i=(f[da+56>>2]|0)+((h[i>>0]<<8|h[i+1>>0])&j[da+24>>1])|0;f[Ma>>2]=i;g=0;while(1){c=g+1|0;if(c>>>0<9&(b[i+g>>0]|0)<0)g=c;else break}$=i+c|0;f[Ma>>2]=$;g=i+g+10|0;c=ya;i=$;do{f[Ma>>2]=i+1;$=b[i>>0]|0;_=c;c=c+1|0;b[_>>0]=$;i=f[Ma>>2]|0}while($<<24>>24<0&i>>>0>>0);if(!(f[xa>>2]|0))dk(aa,j[Ba>>1]|0,ka,c-Ha|0,0,f[da+4>>2]|0,xa);c=(f[aa+56>>2]|0)+((h[aa+9>>0]|0)+8)|0;aa=f[La>>2]|0;b[c>>0]=aa>>>24;b[c+1>>0]=aa>>>16;b[c+2>>0]=aa>>>8;b[c+3>>0]=aa;c=f[ma>>2]|0;do if(c|0){c=f[c+72>>2]|0;if(!(d[c+28>>1]&32)){bh(c);break}else{aa=f[c+20>>2]|0;$=aa+120|0;f[$>>2]=(f[$>>2]|0)+-1;aa=aa+136|0;f[c+16>>2]=f[aa>>2];f[aa>>2]=c;break}}while(0);g=f[xa>>2]|0}}else{f[Xa>>2]=42469;f[Xa+4>>2]=69985;f[Xa+8>>2]=40460;Ac(11,40408,Xa);g=11}while(0);break}l=f[(f[la>>2]|0)+32>>2]|0;if((f[18019]|0)>=(l|0)?(Na=f[18025]|0,(Na|0)!=0):0){f[18025]=f[Na>>2];$=f[18026]|0;f[18026]=$+-1;f[18027]=($|0)<=(f[18021]|0)&1;if((f[18195]|0)>>>0>>0)f[18195]=l;c=(f[18188]|0)+1|0;f[18188]=c;if(c>>>0>(f[18192]|0)>>>0){f[18192]=c;$=Na}else $=Na}else _=90;do if((_|0)==90){$=KA(l|0,((l|0)<0)<<31>>31|0,-1,-1)|0;_=ba()|0;if(!(_>>>0>0|(_|0)==0&$>>>0>2147483390)){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](l)|0;if(!c){$=0;break}}else{c=ib[f[37372>>2]&255](l)|0;if((f[18194]|0)>>>0>>0)f[18194]=l;k=71896;g=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&g>>>0>0){$=f[18187]|0;_=LA(g|0,k|0,c|0,((c|0)<0)<<31>>31|0)|0;Z=ba()|0;f[17976]=((Z|0)<0|(Z|0)==0&_>>>0<=$>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c){$=0;break}g=ib[f[37368>>2]&255](c)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}g=ib[f[37368>>2]&255](c)|0;if((f[18195]|0)>>>0>>0)f[18195]=l;g=(f[18189]|0)+g|0;f[18189]=g;if(g>>>0>(f[18193]|0)>>>0){f[18193]=g;$=c}else $=c}else $=0}while(0);W=i<<24>>24==1;F=b[ua>>0]&1;i=F&255;f[ma>>2]=0;b[fa>>0]=0;b[fa+1>>0]=0;b[fa+2>>0]=0;b[fa+3>>0]=0;b[fa+4>>0]=0;f[ja>>2]=0;f[va>>2]=0;Y=f[aa+52>>2]|0;if(!$)g=7;else{z=aa+12|0;k=h[z>>0]|0;X=aa+22|0;l=j[X>>1]|0;c=l+k|0;if(c>>>0<2)g=0;else{do if(m<<16>>16)if((c|0)==(n|0)){g=(i|-2)+n|0;break}else{g=n+-1|0;break}else g=0;while(0);c=2-i|0}Z=c+1|0;i=g-k+c|0;V=aa+56|0;if((i|0)==(l|0))i=(h[aa+9>>0]|0)+8|0;else{i=(f[aa+64>>2]|0)+(i<<1)|0;i=(h[i>>0]<<8|h[i+1>>0])&j[aa+24>>1]}I=(f[V>>2]|0)+i|0;J=I+1|0;K=I+2|0;L=I+3|0;k=h[J>>0]<<16|h[I>>0]<<24|h[K>>0]<<8|h[L>>0];f[Ra>>2]=k;i=xa+(c<<2)|0;_=aj(Y,k,i,0,0)|0;f[ma>>2]=_;b:do if(!_){r=aa+24|0;s=aa+64|0;P=aa+76|0;u=Y+22|0;v=aa+26|0;M=Y+36|0;w=aa+36|0;x=0;y=c;while(1){q=f[i>>2]|0;x=x+1+(j[q+22>>1]|0)+(h[q+12>>0]|0)|0;q=y+-1|0;if(!y){_=130;break}i=b[z>>0]|0;p=q+g|0;if(i<<24>>24!=0?(p|0)==(j[v>>1]|0):0){_=f[w>>2]|0;f[Ma+(q<<2)>>2]=_;k=h[_+1>>0]<<16|h[_>>0]<<24|h[_+2>>0]<<8|h[_+3>>0];_=(jb[f[P>>2]&255](aa,_)|0)&65535;f[Qa+(q<<2)>>2]=_;b[z>>0]=0}else{i=(f[s>>2]|0)+(p-(i&255)<<1)|0;i=(f[V>>2]|0)+((h[i>>0]<<8|h[i+1>>0])&j[r>>1])|0;l=Ma+(q<<2)|0;f[l>>2]=i;k=h[i+1>>0]<<16|h[i>>0]<<24|h[i+2>>0]<<8|h[i+3>>0];m=(jb[f[P>>2]&255](aa,i)|0)&65535;f[Qa+(q<<2)>>2]=m;n=i;if(d[u>>1]&12){o=n-(f[V>>2]|0)|0;if((o+m|0)>(f[M>>2]|0)){_=127;break}YA($+o|0,i|0,m|0)|0;f[l>>2]=$+(n-(f[V>>2]|0))}ck(aa,p-(h[z>>0]|0)|0,m,ma)}i=xa+(q<<2)|0;_=aj(Y,k,i,0,0)|0;f[ma>>2]=_;if(_|0){_=118;break}else y=q}if((_|0)==118){f[Ra>>2]=k;c=q;_=119;break}else if((_|0)==127){_=0;f[Ra>>2]=k;f[_a>>2]=42469;f[_a+4>>2]=70326;f[_a+8>>2]=40460;Ac(11,40408,_a);f[ma>>2]=11;_A(xa|0,0,y<<2|0)|0;c=0;break}else if((_|0)==130){_=0;f[Ra>>2]=k;m=x+3&-4;i=(f[Y+32>>2]|0)+(m*6|0)|0;U=KA(i|0,((i|0)<0)<<31>>31|0,-1,-1)|0;T=ba()|0;do if(T>>>0>0|(T|0)==0&U>>>0>2147483390)_=141;else{if(!(f[9328]|0)){i=ib[f[37356>>2]&255](i)|0;f[va>>2]=i;if(!i)break}else{l=ib[f[37372>>2]&255](i)|0;if((f[18194]|0)>>>0>>0)f[18194]=i;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){U=f[18187]|0;T=LA(i|0,k|0,l|0,((l|0)<0)<<31>>31|0)|0;S=ba()|0;f[17976]=((S|0)<0|(S|0)==0&T>>>0<=U>>>0)&1}i=ib[f[37356>>2]&255](l)|0;if(!i){_=141;break}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k;f[va>>2]=i}q=i+(m<<2)|0;f[Ca>>2]=q;A=q+(m<<1)|0;C=f[xa>>2]|0;f[Da>>2]=C;N=h[C+8>>0]<<2;U=N&65535;O=b[C+3>>0]|0;D=O&255;E=C+56|0;B=O<<24>>24!=0;w=f[E>>2]|0;u=C+18|0;m=j[u>>1]|0;i=0;z=0;y=C;l=w+m|0;x=E;while(1){s=y+22|0;v=d[y+24>>1]|0;k=f[ja>>2]|0;r=y+12|0;_A(q+(k<<1)|0,0,(h[r>>0]|0)+(j[s>>1]|0)<<1|0)|0;r=b[r>>0]|0;if(r<<24>>24){T=d[y+26>>1]|0;q=T&65535;if(T<<16>>16){p=v&65535;o=(q<<1)+m|0;n=0;m=k;while(1){f[(f[va>>2]|0)+(m<<2)>>2]=w+((h[l>>0]<<8|h[l+1>>0])&p);m=m+1|0;f[ja>>2]=m;n=n+1|0;if((n|0)==(q|0))break;else l=l+2|0}l=w+o|0;k=k+q|0}n=r&255;m=0;o=k;while(1){f[(f[va>>2]|0)+(o<<2)>>2]=f[y+36+(m<<2)>>2];m=m+1|0;if((m|0)==(n|0))break;else o=o+1|0}k=k+n|0;f[ja>>2]=k}n=j[u>>1]|0;m=j[s>>1]<<1;p=w+n+m|0;if(l>>>0

>>0){o=v&65535;n=(w+-1+(m+n-l)|0)>>>1;m=k;do{f[(f[va>>2]|0)+(m<<2)>>2]=w+((h[l>>0]<<8|h[l+1>>0])&o);l=l+2|0;m=m+1|0;f[ja>>2]=m}while(l>>>0

>>0);k=k+1+n|0}f[Pa+(z<<2)>>2]=k;if(!(B|(z|0)>=(c|0))){l=f[Qa+(z<<2)>>2]|0;d[(f[Ca>>2]|0)+(k<<1)>>1]=l;T=A+i|0;l=l&65535;i=l+i|0;YA(T|0,f[Ma+(z<<2)>>2]|0,l|0)|0;f[(f[va>>2]|0)+(k<<2)>>2]=T+N;T=(f[Ca>>2]|0)+(k<<1)|0;l=(j[T>>1]|0)-N&65535;d[T>>1]=l;do if(!(b[y+8>>0]|0)){k=f[(f[va>>2]|0)+(k<<2)>>2]|0;T=(f[x>>2]|0)+8|0;T=h[T>>0]|h[T+1>>0]<<8|h[T+2>>0]<<16|h[T+3>>0]<<24;b[k>>0]=T;b[k+1>>0]=T>>8;b[k+2>>0]=T>>16;b[k+3>>0]=T>>24;k=f[ja>>2]|0}else{if((l&65535)>=4)break;while(1){l=i+1|0;b[A+i>>0]=0;k=f[ja>>2]|0;S=(f[Ca>>2]|0)+(k<<1)|0;T=(d[S>>1]|0)+1<<16>>16;d[S>>1]=T;if((T&65535)<4)i=l;else{i=l;break}}}while(0);f[ja>>2]=k+1}l=z+1|0;if((z|0)>=(c|0))break;k=f[xa+(l<<2)>>2]|0;p=k+56|0;n=f[p>>2]|0;o=k+18|0;m=j[o>>1]|0;if((b[n>>0]|0)!=(b[f[E>>2]>>0]|0)){_=165;break}z=l;y=k;l=n+m|0;q=f[Ca>>2]|0;w=n;u=o;x=p}if((_|0)==165){_=0;f[Ta>>2]=42469;f[Ta+4>>2]=70391;f[Ta+8>>2]=40460;Ac(11,40408,Ta);f[ma>>2]=11;c=0;break b}T=N+-12+(f[M>>2]|0)|0;p=0;l=C;while(1){i=T-(j[l+20>>1]|0)|0;m=Qa+(p<<2)|0;f[m>>2]=i;n=l+12|0;if(b[n>>0]|0){o=l+76|0;k=0;do{i=i+2+((jb[f[o>>2]&255](l,f[l+36+(k<<2)>>2]|0)|0)&65535)|0;f[m>>2]=i;k=k+1|0}while(k>>>0<(h[n>>0]|0)>>>0)}f[Oa+(p<<2)>>2]=f[Pa+(p<<2)>>2];i=p+1|0;if((i|0)==(Z|0))break;p=i;l=f[xa+(i<<2)>>2]|0}c:do if((c|0)>-1){w=O<<24>>24==0;o=Z;i=0;d:while(1){v=Qa+(i<<2)|0;l=f[v>>2]|0;e:do if((l|0)>(T|0)){p=i+1|0;u=Oa+(i<<2)|0;q=i+2|0;s=Qa+(p<<2)|0;r=Oa+(p<<2)|0;if(q>>>0>5){if((p|0)>=(o|0)){_=207;break d}k=f[u>>2]|0;if(!w){m=l;while(1){k=k+-1|0;l=d[(f[Ca>>2]|0)+(k<<1)>>1]|0;if(!(l<<16>>16))l=gk(ja,k)|0;S=(l&65535)+2|0;l=m-S|0;f[v>>2]=l;f[s>>2]=(f[s>>2]|0)+S;f[u>>2]=k;if((l|0)>(T|0))m=l;else{r=o;q=u;break e}}}n=k;m=l;while(1){k=n+-1|0;l=d[(f[Ca>>2]|0)+(k<<1)>>1]|0;if(!(l<<16>>16))l=gk(ja,k)|0;m=m-((l&65535)+2)|0;f[v>>2]=m;if((n|0)<(f[ja>>2]|0)){l=d[(f[Ca>>2]|0)+(n<<1)>>1]|0;if(!(l<<16>>16))l=gk(ja,n)|0;l=(l&65535)+2|0}else l=0;f[s>>2]=(f[s>>2]|0)+l;f[u>>2]=k;if((m|0)>(T|0))n=k;else{r=o;q=u;l=m;break e}}}if(!w){k=o;while(1){if((p|0)<(k|0))n=k;else{f[s>>2]=0;f[r>>2]=f[ja>>2];n=q}k=(f[u>>2]|0)+-1|0;m=d[(f[Ca>>2]|0)+(k<<1)>>1]|0;if(!(m<<16>>16))m=gk(ja,k)|0;S=(m&65535)+2|0;l=l-S|0;f[v>>2]=l;f[s>>2]=(f[s>>2]|0)+S;f[u>>2]=k;if((l|0)>(T|0))k=n;else{r=n;q=u;break e}}}k=o;while(1){if((p|0)<(k|0))o=k;else{f[s>>2]=0;f[r>>2]=f[ja>>2];o=q}n=f[u>>2]|0;k=n+-1|0;m=d[(f[Ca>>2]|0)+(k<<1)>>1]|0;if(!(m<<16>>16))m=gk(ja,k)|0;l=l+-2-(m&65535)|0;f[v>>2]=l;if((n|0)<(f[ja>>2]|0)){m=d[(f[Ca>>2]|0)+(n<<1)>>1]|0;if(!(m<<16>>16))m=gk(ja,n)|0;m=(m&65535)+2|0}else m=0;f[s>>2]=(f[s>>2]|0)+m;f[u>>2]=k;if((l|0)>(T|0))k=o;else{r=o;q=u;break}}}else{k=Oa+(i<<2)|0;r=o;q=k;k=f[k>>2]|0}while(0);f:do if((k|0)<(f[ja>>2]|0)){p=Qa+(i+1<<2)|0;if(!w){m=l;while(1){l=d[(f[Ca>>2]|0)+(k<<1)>>1]|0;if(!(l<<16>>16))l=gk(ja,k)|0;l=(l&65535)+2|0;m=l+m|0;if((m|0)>(T|0))break f;f[v>>2]=m;k=k+1|0;f[q>>2]=k;f[p>>2]=(f[p>>2]|0)-l;if((k|0)>=(f[ja>>2]|0))break f}}o=l;do{l=d[(f[Ca>>2]|0)+(k<<1)>>1]|0;if(!(l<<16>>16))l=gk(ja,k)|0;o=o+2+(l&65535)|0;if((o|0)>(T|0))break f;f[v>>2]=o;k=k+1|0;f[q>>2]=k;m=f[ja>>2]|0;if((k|0)<(m|0)){l=d[(f[Ca>>2]|0)+(k<<1)>>1]|0;if(!(l<<16>>16)){l=gk(ja,k)|0;m=f[ja>>2]|0}n=(l&65535)+2|0;l=m}else{n=0;l=m}f[p>>2]=(f[p>>2]|0)-n}while((k|0)<(l|0))}while(0);if((k|0)>=(f[ja>>2]|0)){_=229;break}if(!i)l=0;else l=f[Oa+(i+-1<<2)>>2]|0;if((k|0)<=(l|0)){_=233;break}i=i+1|0;if((i|0)<(r|0))o=r;else{H=r;break c}}if((_|0)==207){_=0;f[Ua>>2]=42469;f[Ua+4>>2]=70500;f[Ua+8>>2]=40460;Ac(11,40408,Ua);f[ma>>2]=11;c=0;break b}else if((_|0)==229){_=0;H=i+1|0;break}else if((_|0)==233){_=0;f[Va>>2]=42469;f[Va+4>>2]=70533;f[Va+8>>2]=40460;Ac(11,40408,Va);f[ma>>2]=11;c=0;break b}}else H=Z;while(0);u=H+-1|0;g:do if((H|0)>1){i=f[Qa+(u<<2)>>2]|0;h:do if(!(F<<24>>24)){y=u;m=f[Ca>>2]|0;while(1){v=Qa+(y<<2)|0;x=y;y=y+-1|0;w=Qa+(y<<2)|0;n=f[w>>2]|0;s=Oa+(y<<2)|0;l=f[s>>2]|0;k=l-D|0;if(!(d[m+(k<<1)>>1]|0)){gk(ja,k)|0;m=f[Ca>>2]|0}r=(x|0)==(u|0)?0:-2;while(1){q=l+-1|0;if(!(d[m+(q<<1)>>1]|0)){gk(ja,q)|0;m=f[Ca>>2]|0}o=d[m+(k<<1)>>1]|0;if(i){p=i+2+(o&65535)|0;o=j[m+(q<<1)>>1]|0;if((p|0)>(n+r-o|0))break;else i=p}else{i=(o&65535)+2|0;o=j[m+(q<<1)>>1]|0}n=n+-2-o|0;f[s>>2]=q;if((l|0)>1){k=k+-1|0;l=q}else{l=q;break}}f[v>>2]=i;f[w>>2]=n;k=(x|0)>1;if(k)i=f[Oa+(x+-2<<2)>>2]|0;else i=0;if((l|0)<=(i|0))break h;if(!k)break g;else i=n}}else while(1){q=Qa+(u<<2)|0;s=u;u=u+-1|0;r=Qa+(u<<2)|0;m=f[r>>2]|0;p=Oa+(u<<2)|0;n=f[p>>2]|0;l=n-D|0;k=f[Ca>>2]|0;if(!(d[k+(l<<1)>>1]|0)){gk(ja,l)|0;k=f[Ca>>2]|0}o=l;while(1){l=n+-1|0;if(!(d[k+(l<<1)>>1]|0))gk(ja,l)|0;if(i|0){l=n;break}k=f[Ca>>2]|0;i=(j[k+(o<<1)>>1]|0)+2|0;m=m+-2-(j[k+(l<<1)>>1]|0)|0;f[p>>2]=l;if((n|0)<=1)break;else{o=o+-1|0;n=l}}f[q>>2]=i;f[r>>2]=m;k=(s|0)>1;if(k)i=f[Oa+(s+-2<<2)>>2]|0;else i=0;if((l|0)<=(i|0))break h;if(!k)break g;else i=m}while(0);f[Wa>>2]=42469;f[Wa+4>>2]=70575;f[Wa+8>>2]=40460;Ac(11,40408,Wa);f[ma>>2]=11;c=0;break b}while(0);E=b[f[E>>2]>>0]|0;G=E&255;do if((H|0)>0){w=F<<24>>24==0;x=G>>>1&4^12;z=G>>>3;y=z&255;z=4-(z<<2)&255;D=G&247;A=Y+17|0;B=y<<24>>24==0;C=aa+4|0;u=0;v=0;i:while(1){j:do if((v|0)>(c|0)){S=Lh(Y,ea,Ra,w?f[Ra>>2]|0:1,0)|0;f[ma>>2]=S;if(S|0){c=u;break i}s=f[ea>>2]|0;p=f[s+56>>2]|0;l=s+52|0;q=f[l>>2]|0;k=h[s+9>>0]|0;r=s;if(!(d[q+22>>1]&12)){i=p+k|0;o=q+36|0}else{o=q+36|0;i=p+k|0;_A(i|0,0,(f[o>>2]|0)-k|0)|0}b[i>>0]=E;m=x+k|0;n=m&65535;i=p+(k+1)|0;b[i>>0]=0;b[i+1>>0]=0;b[i+2>>0]=0;b[i+3>>0]=0;b[p+(k+7)>>0]=0;i=p+(k+5)|0;b[i>>0]=(f[o>>2]|0)>>>8;b[i+1>>0]=f[o>>2];d[s+20>>1]=(f[o>>2]|0)-m;b[s+8>>0]=y;i=s+10|0;b[i>>0]=z;k=s+76|0;f[k>>2]=149;l=f[l>>2]|0;switch(D<<24>>24){case 5:{b[s+2>>0]=1;i=s+3|0;if(B){b[i>>0]=0;f[k>>2]=150;i=191}else{b[i>>0]=1;i=189}f[s+80>>2]=i;d[s+14>>1]=d[l+28>>1]|0;i=l+30|0;_=289;break}case 2:{b[s+2>>0]=0;b[s+3>>0]=0;f[s+80>>2]=190;d[s+14>>1]=d[l+24>>1]|0;i=l+26|0;_=289;break}default:{f[Ya>>2]=42469;f[Ya+4>>2]=64757;f[Ya+8>>2]=40460;Ac(11,40408,Ya);i=b[i>>0]|0}}if((_|0)==289){_=0;d[s+16>>1]=d[i>>1]|0;b[s+11>>0]=b[l+21>>0]|0;i=z}d[s+18>>1]=n;f[s+60>>2]=p+(f[o>>2]|0);f[s+64>>2]=p+m;f[s+68>>2]=p+(i&255);b[s+12>>0]=0;d[s+24>>1]=(f[q+32>>2]|0)+65535;d[s+22>>1]=0;b[s>>0]=1;f[La+(v<<2)>>2]=r;i=u+1|0;f[Pa+(v<<2)>>2]=f[ja>>2];if(!(b[A>>0]|0)){F=i;break}Oh(Y,f[s+4>>2]|0,5,f[C>>2]|0,ma);if(!(f[ma>>2]|0))F=i;else{c=i;break i}}else{k=xa+(v<<2)|0;i=f[k>>2]|0;f[La+(v<<2)>>2]=i;f[ea>>2]=i;f[k>>2]=0;i=f[i+72>>2]|0;k=f[i+20>>2]|0;do if(d[i+28>>1]&4){if((f[k+24>>2]|0)>>>0<(f[i+24>>2]|0)>>>0){_=272;break}if(!(f[k+96>>2]|0)){f[ma>>2]=0;F=u+1|0;break j}else{k=Ng(i)|0;break}}else _=272;while(0);do if((_|0)==272){_=0;l=f[k+40>>2]|0;if(l|0){_=273;break i}if((f[k+148>>2]|0)>>>0>(f[k+152>>2]|0)>>>0){k=Og(i)|0;break}else{k=Pg(i)|0;break}}while(0);f[ma>>2]=k;i=u+1|0;if(!k)F=i;else{c=i;break i}}while(0);v=v+1|0;if((v|0)>=(H|0)){_=294;break}else u=F}if((_|0)==273){_=0;f[ma>>2]=l;c=u+1|0}else if((_|0)==294){_=0;if((F|0)<=0){S=0;break}k=0;k:do{S=f[La+(k<<2)>>2]|0;l=f[S+4>>2]|0;f[ga+(k<<2)>>2]=l;f[ha+(k<<2)>>2]=l;d[ia+(k<<1)>>1]=d[(f[S+72>>2]|0)+28>>1]|0;if(k|0){i=0;do{if((f[ga+(i<<2)>>2]|0)==(l|0)){_=300;break k}i=i+1|0}while(i>>>0>>0)}k=k+1|0}while((k|0)<(F|0));if((_|0)==300){_=0;f[Za>>2]=42469;f[Za+4>>2]=70649;f[Za+8>>2]=40460;Ac(11,40408,Za);f[ma>>2]=11;c=F;break b}y=(F|0)==1;z=Y+44|0;x=0;do{if(y)i=0;else{i=0;k=1;do{i=(f[ha+(k<<2)>>2]|0)>>>0<(f[ha+(i<<2)>>2]|0)>>>0?k:i;k=k+1|0}while((k|0)<(F|0))}S=ha+(i<<2)|0;w=f[S>>2]|0;f[S>>2]=-1;if((i|0)!=(x|0)){do if((i|0)>(x|0)){u=f[(f[La+(i<<2)>>2]|0)+72>>2]|0;R=i+1+(f[z>>2]|0)|0;v=u+28|0;d[v>>1]=0;k=u+12|0;S=u+24|0;rb[f[37460>>2]&127](f[(f[k>>2]|0)+44>>2]|0,f[u>>2]|0,f[S>>2]|0,R);f[S>>2]=R;v=d[v>>1]|0;if((v&10)!=10)break;q=f[k>>2]|0;s=q+8|0;k=f[s>>2]|0;p=u+36|0;m=f[p>>2]|0;if((k|0)==(u|0)){f[s>>2]=m;r=m}else r=k;o=u+32|0;l=f[o>>2]|0;n=(l|0)==0;if(n){f[q+4>>2]=m;k=m}else{f[l+36>>2]=m;k=f[p>>2]|0}do if(!k){f[q>>2]=l;if(n){b[q+33>>0]=2;f[p>>2]=0;f[o>>2]=0;k=q;_=320;break}else{f[p>>2]=0;k=q;_=319;break}}else{f[k+32>>2]=l;l=f[q>>2]|0;f[p>>2]=0;f[o>>2]=l;if(!l){k=q;_=320}else{k=q;_=319}}while(0);do if((_|0)==319){_=0;f[l+36>>2]=u}else if((_|0)==320){_=0;f[q+4>>2]=u;if(!(b[q+32>>0]|0))break;b[q+33>>0]=1}while(0);f[k>>2]=u;if(!((v&8)==0&(r|0)==0))break;f[s>>2]=u}while(0);u=La+(x<<2)|0;v=f[(f[u>>2]|0)+72>>2]|0;s=v+28|0;d[s>>1]=d[ia+(i<<1)>>1]|0;i=v+12|0;S=v+24|0;rb[f[37460>>2]&127](f[(f[i>>2]|0)+44>>2]|0,f[v>>2]|0,f[S>>2]|0,w);f[S>>2]=w;s=d[s>>1]|0;do if((s&10)==10){p=f[i>>2]|0;r=p+8|0;i=f[r>>2]|0;o=v+36|0;l=f[o>>2]|0;if((i|0)==(v|0)){f[r>>2]=l;q=l}else q=i;n=v+32|0;k=f[n>>2]|0;m=(k|0)==0;if(m){f[p+4>>2]=l;i=l}else{f[k+36>>2]=l;i=f[o>>2]|0}do if(!i){f[p>>2]=k;if(m){b[p+33>>0]=2;f[o>>2]=0;f[n>>2]=0;i=p;_=336;break}else{f[o>>2]=0;i=p;_=335;break}}else{f[i+32>>2]=k;k=f[p>>2]|0;f[o>>2]=0;f[n>>2]=k;if(!k){i=p;_=336}else{i=p;_=335}}while(0);do if((_|0)==335){_=0;f[k+36>>2]=v}else if((_|0)==336){_=0;f[p+4>>2]=v;if(!(b[p+32>>0]|0))break;b[p+33>>0]=1}while(0);f[i>>2]=v;if(!((s&8)==0&(q|0)==0))break;f[r>>2]=v}while(0);f[(f[u>>2]|0)+4>>2]=w}x=x+1|0}while((x|0)!=(F|0));f[Ra>>2]=w;S=1;break}break b}else{F=0;S=0}while(0);w=F+-1|0;i=f[La+(w<<2)>>2]|0;R=f[i+4>>2]|0;b[I>>0]=R>>>24;b[J>>0]=R>>>16;b[K>>0]=R>>>8;b[L>>0]=R;if(!((G&8|0)!=0|(Z|0)==(F|0))){R=(f[i+56>>2]|0)+8|0;Q=(f[(f[((F|0)>(Z|0)?La:xa)+(c<<2)>>2]|0)+56>>2]|0)+8|0;Q=h[Q>>0]|h[Q+1>>0]<<8|h[Q+2>>0]<<16|h[Q+3>>0]<<24;b[R>>0]=Q;b[R+1>>0]=Q>>8;b[R+2>>0]=Q>>16;b[R+3>>0]=Q>>24}R=Y+17|0;do if(b[R>>0]|0){i=f[La>>2]|0;r=f[M>>2]|0;k=f[ja>>2]|0;if((k|0)<=0)break;s=O<<24>>24==0;u=s&1;v=U<<16>>16==0;o=0;l=0;m=(j[i+22>>1]|0)+(h[i+12>>0]|0)|0;n=f[i+56>>2]|0;q=0;do{p=f[(f[va>>2]|0)+(q<<2)>>2]|0;if((q|0)==(m|0)){o=o+1|0;n=f[((o|0)<(F|0)?La+(o<<2)|0:xa+(o<<2)|0)>>2]|0;m=q+u+(j[n+22>>1]|0)+(h[n+12>>0]|0)|0;n=f[n+56>>2]|0}if((q|0)==(f[Oa+(l<<2)>>2]|0)){l=l+1|0;i=f[La+(l<<2)>>2]|0;if(!s)_=352}else _=352;do if((_|0)==352){_=0;if((o|0)<(F|0)?p>>>0<(n+r|0)>>>0&(p>>>0>=n>>>0?(f[i+4>>2]|0)==(f[ga+(o<<2)>>2]|0):0):0)break;if(v)Oh(Y,h[p+1>>0]<<16|h[p>>0]<<24|h[p+2>>0]<<8|h[p+3>>0],5,f[i+4>>2]|0,ma);k=d[(f[Ca>>2]|0)+(q<<1)>>1]|0;if(!(k<<16>>16))k=gk(ja,q)|0;if((k&65535)>(j[i+16>>1]|0))do if(!(f[ma>>2]|0)){qb[f[i+80>>2]&255](i,p,ea);if((f[Ja>>2]|0)>>>0<=(j[Ia>>1]|0)>>>0)break;Q=p+((j[Ka>>1]|0)+-4)|0;Oh(f[i+52>>2]|0,h[Q+1>>0]<<16|h[Q>>0]<<24|h[Q+2>>0]<<8|h[Q+3>>0],3,f[i+4>>2]|0,ma)}while(0);if(f[ma>>2]|0){c=F;break b}k=f[ja>>2]|0}while(0);q=q+1|0}while((q|0)<(k|0))}while(0);l:do if((F|0)>1){if(!(O<<24>>24)){m=0;n=0;while(1){o=f[La+(n<<2)>>2]|0;l=f[Oa+(n<<2)>>2]|0;i=f[(f[va>>2]|0)+(l<<2)>>2]|0;l=d[(f[Ca>>2]|0)+(l<<1)>>1]|0;k=N+(l&65535)|0;p=$+m|0;do if(!(b[o+8>>0]|0)){Q=(f[o+56>>2]|0)+8|0;M=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[Q>>0]=M;b[Q+1>>0]=M>>8;b[Q+2>>0]=M>>16;b[Q+3>>0]=M>>24}else{i=i+-4|0;if(l<<16>>16!=4)break;k=(jb[f[P>>2]&255](aa,i)|0)&65535}while(0);dk(aa,n+g|0,i,k,p,f[o+4>>2]|0,ma);if(f[ma>>2]|0){c=F;break b}n=n+1|0;if((n|0)>=(w|0))break l;else m=k+m|0}}n=0;o=0;while(1){p=f[La+(o<<2)>>2]|0;k=f[Oa+(o<<2)>>2]|0;l=f[va>>2]|0;i=f[l+(k<<2)>>2]|0;m=$+n|0;if(!(b[p+8>>0]|0)){k=N+(j[(f[Ca>>2]|0)+(k<<1)>>1]|0)|0;l=(f[p+56>>2]|0)+8|0;Q=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[l>>0]=Q;b[l+1>>0]=Q>>8;b[l+2>>0]=Q>>16;b[l+3>>0]=Q>>24;l=m}else{qb[f[p+80>>2]&255](p,f[l+(k+-1<<2)>>2]|0,ea);i=m+4|0;l=ea;k=f[l>>2]|0;l=f[l+4>>2]|0;do if(!(l>>>0<0|(l|0)==0&k>>>0<128))if(l>>>0<0|(l|0)==0&k>>>0<16384){Q=VA(k|0,l|0,7)|0;ba()|0;b[i>>0]=Q&255|-128;b[i+1>>0]=k&127;i=2;break}else{i=_i(i,k,l)|0;break}else{b[i>>0]=k&127;i=1}while(0);k=i+4|0;l=0;i=m}dk(aa,o+g|0,i,k,l,f[p+4>>2]|0,ma);if(f[ma>>2]|0){c=F;break b}o=o+1|0;if((o|0)>=(w|0))break;else n=k+n|0}}while(0);g=1-F|0;if((g|0)<(F|0)){Q=O<<24>>24==0&1;do{O=(g|0)<0?0-g|0:g;P=fa+O|0;do if(!(b[P>>0]|0)){if((g|0)<=-1?(N=O+-1|0,(f[Pa+(N<<2)>>2]|0)<(f[Oa+(N<<2)>>2]|0)):0)break;if(!O){N=f[Oa>>2]|0;k=0;K=0}else{if((O|0)>(c|0)){i=O+-1|0;k=f[ja>>2]|0}else{k=O+-1|0;i=k;k=(f[Pa+(k<<2)>>2]|0)+Q|0}K=(f[Oa+(i<<2)>>2]|0)+Q|0;N=(f[Oa+(O<<2)>>2]|0)-K|0}M=La+(O<<2)|0;L=f[M>>2]|0;C=L+56|0;G=f[C>>2]|0;D=L+9|0;H=h[D>>0]|0;B=L+64|0;A=(f[B>>2]|0)+(N<<1)|0;I=L+22|0;m=j[I>>1]|0;J=L+12|0;w=k+m+(h[J>>0]|0)|0;E=N+K|0;if((k|0)<(K|0)){s=G+(f[(f[L+52>>2]|0)+36>>2]|0)|0;u=G+(H+8+(h[L+10>>0]|0))|0;v=G;i=0;l=0;n=0;r=k;while(1){q=f[(f[va>>2]|0)+(r<<2)>>2]|0;if(q>>>0>=u>>>0&q>>>0>>0){o=j[(f[Ca>>2]|0)+(r<<1)>>1]|0;p=q+o|0;if((n|0)!=(p|0)){if(n|0)hk(L,n-v&65535,l&65535)|0;if(p>>>0>s>>>0){i=0;break}else l=o}else l=l+o|0;i=i+1|0;n=q}r=r+1|0;if((r|0)>=(K|0)){_=407;break}}do if((_|0)==407){_=0;if(!n)break;hk(L,n-v&65535,l&65535)|0}while(0);z=f[B>>2]|0;ZA(z|0,z+(i<<1)|0,m<<1|0)|0;m=m-i|0}if((w|0)>(E|0)){v=f[C>>2]|0;s=v+(f[(f[L+52>>2]|0)+36>>2]|0)|0;u=v+((h[D>>0]|0)+8+(h[L+10>>0]|0))|0;i=0;l=0;n=0;r=E;while(1){q=f[(f[va>>2]|0)+(r<<2)>>2]|0;if(q>>>0>=u>>>0&q>>>0>>0){o=j[(f[Ca>>2]|0)+(r<<1)>>1]|0;p=q+o|0;if((n|0)!=(p|0)){if(n|0)hk(L,n-v&65535,l&65535)|0;if(p>>>0>s>>>0){i=0;break}else l=o}else l=l+o|0;i=i+1|0;n=q}r=r+1|0;if((r|0)>=(w|0)){_=420;break}}do if((_|0)==420){_=0;if(!n)break;hk(L,n-v&65535,l&65535)|0}while(0);m=m-i|0}y=G+(H+5)|0;z=y+1|0;i=G+(((h[y>>0]<<8|h[z>>0])+65535&65535)+1)|0;m:do if(i>>>0>>0)_=462;else{if((k|0)>(K|0)){x=k-K|0;x=(x|0)>(N|0)?N:x;n=f[B>>2]|0;ZA(n+(x<<1)|0,n|0,m<<1|0)|0;l=f[C>>2]|0;s=x+K|0;n:do if((x|0)>0){u=l+1|0;v=l+2|0;w=A;r=L+52|0;q=K;while(1){o=d[(f[Ca>>2]|0)+(q<<1)>>1]|0;if(!(o<<16>>16))o=gk(ja,q)|0;p=o&65535;if((b[u>>0]|0)==0?(b[v>>0]|0)==0:0)_=432;else{o=ik(b[D>>0]|0,f[(f[r>>2]|0)+36>>2]|0,f[C>>2]|0,p,ea)|0;if(!o)_=432}if((_|0)==432){_=0;if((i-w|0)<(p|0))break;i=i+(0-p)|0;o=i}ZA(o|0,f[(f[va>>2]|0)+(q<<2)>>2]|0,p|0)|0;p=o-l|0;b[n>>0]=p>>>8;b[n+1>>0]=p;q=q+1|0;if((q|0)>=(s|0))break n;else n=n+2|0}_=462;break m}while(0);m=m+x|0}l=b[J>>0]|0;o:do if(l<<24>>24){w=A;v=L+52|0;u=0;while(1){s=k+(j[L+26+(u<<1)>>1]|0)|0;n=s-K|0;if((n|0)>-1&(n|0)<(N|0)){r=(f[B>>2]|0)+(n<<1)|0;ZA(r+2|0,r|0,m-n<<1|0)|0;m=m+1|0;n=f[C>>2]|0;p=i;q=n;l=d[(f[Ca>>2]|0)+(s<<1)>>1]|0;if(!(l<<16>>16))l=gk(ja,s)|0;o=l&65535;if((b[n+1>>0]|0)==0?(b[n+2>>0]|0)==0:0)_=445;else{l=ik(b[D>>0]|0,f[(f[v>>2]|0)+36>>2]|0,f[C>>2]|0,o,ea)|0;if(!l)_=445;else i=p}if((_|0)==445){_=0;if((i-w|0)<(o|0))break;i=p+(0-o)|0;l=i}ZA(l|0,f[(f[va>>2]|0)+(s<<2)>>2]|0,o|0)|0;l=l-q|0;b[r>>0]=l>>>8;b[r+1>>0]=l;l=b[J>>0]|0}u=u+1|0;if(u>>>0>=(l&255)>>>0)break o}_=462;break m}while(0);k=f[C>>2]|0;p:do if((m|0)<(N|0)){r=k+1|0;s=k+2|0;q=A;p=k;o=L+52|0;n=(f[B>>2]|0)+(m<<1)|0;m=m+K|0;while(1){k=d[(f[Ca>>2]|0)+(m<<1)>>1]|0;if(!(k<<16>>16))k=gk(ja,m)|0;l=k&65535;if((b[r>>0]|0)==0?(b[s>>0]|0)==0:0)_=457;else{k=ik(b[D>>0]|0,f[(f[o>>2]|0)+36>>2]|0,f[C>>2]|0,l,ea)|0;if(!k)_=457}if((_|0)==457){_=0;if((i-q|0)<(l|0))break;i=i+(0-l)|0;k=i}ZA(k|0,f[(f[va>>2]|0)+(m<<2)>>2]|0,l|0)|0;B=k-p|0;b[n>>0]=B>>>8;b[n+1>>0]=B;m=m+1|0;if((m|0)>=(E|0))break p;else n=n+2|0}_=462;break m}while(0);d[I>>1]=N;b[J>>0]=0;L=G+(H+3)|0;b[L>>0]=N>>>8;b[L+1>>0]=d[I>>1];N=i-G|0;b[y>>0]=N>>>8;b[z>>0]=N;f[ma>>2]=0}while(0);if((_|0)==462){_=0;i=f[Ca>>2]|0;if((N|0)>0){k=K;l=N;while(1){if(!(d[i+(k<<1)>>1]|0)){J=f[Da>>2]|0;J=jb[f[J+76>>2]&255](J,f[(f[va>>2]|0)+(k<<2)>>2]|0)|0;i=f[Ca>>2]|0;d[i+(k<<1)>>1]=J}if((l|0)>1){k=k+1|0;l=l+-1|0}else break}}N=fk(L,N,(f[va>>2]|0)+(K<<2)|0,i+(K<<1)|0)|0;f[ma>>2]=N;if(N|0){c=F;break b}}b[P>>0]=(b[P>>0]|0)+1<<24>>24;d[(f[M>>2]|0)+20>>1]=T-(f[Qa+(O<<2)>>2]|0)}while(0);g=g+1|0}while((g|0)<(F|0))}do if(W){if(d[X>>1]|0){_=481;break}l=f[La>>2]|0;if((h[aa+9>>0]|0)>>>0>(j[l+20>>1]|0)>>>0){_=481;break}Y=jk(l,-1)|0;f[ma>>2]=Y;if(Y|0)break;k=l+52|0;i=f[k>>2]|0;Y=f[l+56>>2]|0;W=f[V>>2]|0;g=h[l+9>>0]|0;X=(f[aa+4>>2]|0)==1?100:0;V=Y+(g+5)|0;V=h[V>>0]<<8|h[V+1>>0];YA(W+V|0,Y+V|0,(f[i+36>>2]|0)-V|0)|0;YA(W+X|0,Y+g|0,(j[l+22>>1]<<1)+(j[l+18>>1]|0)|0)|0;b[aa>>0]=0;g=Ph(aa)|0;if(g|0){f[ma>>2]=g;break}if(!(b[i+17>>0]|0))g=f[ma>>2]|0;else{g=Nh(aa)|0;f[ma>>2]=g}if(g|0)break;aa=tj(f[k>>2]|0,l,f[l+4>>2]|0)|0;f[ma>>2]=aa}else _=481;while(0);do if((_|0)==481){_=0;if(!(S&(U<<16>>16==0&(b[R>>0]|0)!=0)))break;g=0;do{aa=f[La+(g<<2)>>2]|0;X=f[aa+56>>2]|0;Oh(Y,h[X+9>>0]<<16|h[X+8>>0]<<24|h[X+10>>0]<<8|h[X+11>>0],5,f[aa+4>>2]|0,ma);g=g+1|0}while((g|0)!=(F|0))}while(0);if((F|0)>(c|0)){c=F;break b}k=F;g=f[ma>>2]|0;while(1){i=f[xa+(k<<2)>>2]|0;if(!g){g=tj(f[i+52>>2]|0,i,f[i+4>>2]|0)|0;f[ma>>2]=g}if((k|0)<(c|0))k=k+1|0;else{c=F;break b}}}while(0);if((_|0)==141){_=0;f[va>>2]=0}f[ma>>2]=7;c=0;break}}else _=119;while(0);if((_|0)==119){_A(xa|0,0,(c<<2)+4|0)|0;c=0}g=f[va>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{aa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);i=0;do{g=f[xa+(i<<2)>>2]|0;do if(g|0){g=f[g+72>>2]|0;if(!(d[g+28>>1]&32)){bh(g);break}else{aa=f[g+20>>2]|0;_=aa+120|0;f[_>>2]=(f[_>>2]|0)+-1;aa=aa+136|0;f[g+16>>2]=f[aa>>2];f[aa>>2]=g;break}}while(0);i=i+1|0}while((i|0)!=(Z|0));if((c|0)>0){i=0;do{g=f[La+(i<<2)>>2]|0;do if(g|0){g=f[g+72>>2]|0;if(!(d[g+28>>1]&32)){bh(g);break}else{aa=f[g+20>>2]|0;_=aa+120|0;f[_>>2]=(f[_>>2]|0)+-1;aa=aa+136|0;f[g+16>>2]=f[aa>>2];f[aa>>2]=g;break}}while(0);i=i+1|0}while((i|0)!=(c|0))}g=f[ma>>2]|0}if(e){c=e;do if((f[18022]|0)>>>0<=c>>>0)if((f[18023]|0)>>>0>c>>>0){f[18188]=(f[18188]|0)+-1;f[e>>2]=f[18025];f[18025]=e;e=(f[18026]|0)+1|0;f[18026]=e;f[18027]=(e|0)<(f[18021]|0)&1;e=$;break a}else{c=ib[f[37368>>2]&255](e)|0;break}else c=ib[f[37368>>2]&255](e)|0;while(0);f[18189]=(f[18189]|0)-c;if(!(f[9328]|0)){ob[f[37360>>2]&127](e);e=$;break}else{aa=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);e=$;break}}else e=$}while(0);b[ca>>0]=0;do if(da|0){c=f[da+72>>2]|0;if(!(d[c+28>>1]&32)){bh(c);break}else{da=f[c+20>>2]|0;ca=da+120|0;f[ca>>2]=(f[ca>>2]|0)+-1;da=da+136|0;f[c+16>>2]=f[da>>2];f[da>>2]=c;break}}while(0);c=(b[oa>>0]|0)+-1<<24>>24;b[oa>>0]=c;i=c;c=a+120+(c<<24>>24<<2)|0}da=f[c>>2]|0;f[pa>>2]=da}while(!(g|0));if(!e){t=$a;return g|0}c=e;do if((f[18022]|0)>>>0>c>>>0)c=ib[f[37368>>2]&255](e)|0;else{if((f[18023]|0)>>>0<=c>>>0){c=ib[f[37368>>2]&255](e)|0;break}f[18188]=(f[18188]|0)+-1;f[e>>2]=f[18025];f[18025]=e;_a=(f[18026]|0)+1|0;f[18026]=_a;f[18027]=(_a|0)<(f[18021]|0)&1;t=$a;return g|0}while(0);f[18189]=(f[18189]|0)-c;if(!(f[9328]|0)){ob[f[37360>>2]&127](e);t=$a;return g|0}else{_a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-_a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);t=$a;return g|0}return 0}function fk(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;z=t;t=t+16|0;u=z;x=h[a+9>>0]|0;y=f[a+56>>2]|0;r=f[a+52>>2]|0;i=f[r+36>>2]|0;s=y+i|0;k=f[a+64>>2]|0;r=f[(f[r>>2]|0)+208>>2]|0;v=y+(x+5)|0;w=v+1|0;q=(h[v>>0]|0)<<8|(h[w>>0]|0);YA(r+q|0,y+q|0,i-q|0)|0;a:do if((c|0)>0){q=y;p=s;l=k;m=0;while(1){n=f[e+(m<<2)>>2]|0;o=g+(m<<1)|0;p=p+(0-(j[o>>1]|0))|0;i=p-q|0;k=i>>>8&255;b[l>>0]=k;i=i&255;b[l+1>>0]=i;l=l+2|0;if(p>>>0>>0)break;YA(p|0,(n>>>0>=y>>>0&n>>>0>>0?r+(n-q)|0:n)|0,j[o>>1]|0|0)|0;m=m+1|0;if((m|0)>=(c|0))break a}f[u>>2]=42469;f[u+4>>2]=69695;f[u+8>>2]=40460;Ac(11,40408,u);y=11;t=z;return y|0}else{k=i>>>8&255;i=i&255}while(0);u=a+22|0;d[u>>1]=c;b[a+12>>0]=0;c=y+(x+1)|0;b[c>>0]=0;b[c+1>>0]=0;c=y+(x+3)|0;b[c>>0]=(j[u>>1]|0)>>>8;b[c+1>>0]=d[u>>1];b[v>>0]=k;b[w>>0]=i;b[y+(x+7)>>0]=0;y=0;t=z;return y|0}function gk(a,b){a=a|0;b=b|0;var c=0;c=f[a+4>>2]|0;c=jb[f[c+76>>2]&255](c,f[(f[a+8>>2]|0)+(b<<2)>>2]|0)|0;d[(f[a+12>>2]|0)+(b<<1)>>1]=c;return c|0}function hk(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=t;t=t+112|0;D=G+96|0;A=G+80|0;x=G+64|0;v=G+48|0;u=G+32|0;s=G+16|0;r=G;l=c&65535;E=e&65535;w=E+l|0;F=f[a+56>>2]|0;B=h[a+9>>0]|0;C=B+1|0;p=C&65535;q=b[F+(B+2)>>0]|0;g=b[F+C>>0]|0;if(q<<24>>24==0?g<<24>>24==0:0){r=w;q=0;o=0;n=c&255;m=(c&65535)>>>8&255}else y=3;do if((y|0)==3){n=q&255;g=(g&255)<<8|n;i=g&65535;o=(i&65535)>>>8&255;do if(g>>>0>>0){m=C;while(1){if(g>>>0<(m+4|0)>>>0)break;m=i&65535;g=F+m|0;q=b[g+1>>0]|0;n=q&255;g=(h[g>>0]|0)<<8|n;k=g&65535;if(g>>>0>>0){p=i;i=k}else{y=10;break}}if((y|0)==10){p=i;o=(k&65535)>>>8&255;y=11;break}if(!g){o=(i&65535)>>>8&255;k=0;i=f[(f[a+52>>2]|0)+36>>2]|0;break}f[r>>2]=42469;f[r+4>>2]=64637;f[r+8>>2]=40460;Ac(11,40408,r);F=11;t=G;return F|0}else{m=C;y=11}while(0);if((y|0)==11){i=f[(f[a+52>>2]|0)+36>>2]|0;if(g>>>0>(i+-4|0)>>>0){f[s>>2]=42469;f[s+4>>2]=64642;f[s+8>>2]=40460;Ac(11,40408,s);F=11;t=G;return F|0}else k=g}do if((k+-1|0)>>>0<(w+3|0)>>>0){if(w>>>0>k>>>0){f[u>>2]=42469;f[u+4>>2]=64654;f[u+8>>2]=40460;Ac(11,40408,u);F=11;t=G;return F|0}g=F+(k+2)|0;g=((h[g>>0]|0)<<8|(h[g+1>>0]|0))+k|0;if(g>>>0<=i>>>0){o=F+k|0;r=g;e=g-l&65535;g=n-w&255;q=b[o+1>>0]|0;o=b[o>>0]|0;break}f[v>>2]=42469;f[v+4>>2]=64657;f[v+8>>2]=40460;Ac(11,40408,v);F=11;t=G;return F|0}else{r=w;g=0}while(0);do if(C>>>0>>0?(z=F+(m+2)|0,z=((h[z>>0]|0)<<8|(h[z+1>>0]|0))+m|0,(z+3|0)>>>0>=l>>>0):0){if(z>>>0<=l>>>0){c=p;e=r-m&65535;g=(g&255)+l-z&255;break}f[x>>2]=42469;f[x+4>>2]=64670;f[x+8>>2]=40460;Ac(11,40408,x);F=11;t=G;return F|0}while(0);i=F+(B+7)|0;k=b[i>>0]|0;if((k&255)>=(g&255)){b[i>>0]=(k&255)-(g&255);n=c&255;m=(c&65535)>>>8&255;l=c&65535;break}f[A>>2]=42469;f[A+4>>2]=64676;f[A+8>>2]=40460;Ac(11,40408,A);F=11;t=G;return F|0}while(0);g=F+(B+5)|0;i=g+1|0;k=(h[g>>0]|0)<<8|(h[i>>0]|0);do if(k>>>0>>0){D=F+(p&65535)|0;b[D>>0]=m;b[D+1>>0]=n}else{if((C|0)==(p&65535|0)&k>>>0<=l>>>0){D=F+C|0;b[D>>0]=o;b[D+1>>0]=q;b[g>>0]=r>>>8;b[i>>0]=r;break}f[D>>2]=42469;f[D+4>>2]=64684;f[D+8>>2]=40460;Ac(11,40408,D);F=11;t=G;return F|0}while(0);if(!(d[(f[a+52>>2]|0)+22>>1]&12))g=F+l|0;else{g=F+l|0;_A(g|0,0,e&65535|0)|0}b[g>>0]=o;b[F+l+1>>0]=q;F=F+(l+2)|0;b[F>>0]=(e&65535)>>>8;b[F+1>>0]=e;F=a+20|0;d[F>>1]=(j[F>>1]|0)+E;F=0;t=G;return F|0}function ik(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+32|0;p=q+16|0;o=q;m=a&255;i=m+1|0;a=d+i|0;a=(h[a>>0]|0)<<8|(h[a+1>>0]|0);j=c+-4|0;a:do if((a|0)<=(j|0)){l=i;while(1){i=d+(a+2)|0;k=(h[i>>0]|0)<<8|(h[i+1>>0]|0);n=k-e|0;if((n|0)>-1)break;i=d+a|0;i=(h[i>>0]|0)<<8|(h[i+1>>0]|0);if((i|0)<(k+a|0)|(i|0)>(j|0)){a=i;break a}else{l=a;a=i}}j=i+1|0;if((k+a|0)>(c|0)){f[o>>2]=42469;f[o+4>>2]=64476;f[o+8>>2]=40460;Ac(11,40408,o);f[g>>2]=11;d=0;t=q;return d|0}do if((n|0)<4){i=d+(m+7)|0;if((h[i>>0]|0)>57){d=0;t=q;return d|0}else{j=d+l|0;g=d+a|0;g=h[g>>0]|h[g+1>>0]<<8;b[j>>0]=g;b[j+1>>0]=g>>8;j=i;i=n+(h[i>>0]|0)|0;break}}else{b[i>>0]=n>>>8;i=n}while(0);b[j>>0]=i;d=d+(n+a)|0;t=q;return d|0}while(0);if(!a){d=0;t=q;return d|0}f[p>>2]=42469;f[p+4>>2]=64499;f[p+8>>2]=40460;Ac(11,40408,p);f[g>>2]=11;d=0;t=q;return d|0}function jk(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=t;t=t+64|0;G=H+48|0;z=H+32|0;y=H+16|0;i=H;E=f[a+56>>2]|0;F=h[a+9>>0]|0;A=j[a+18>>1]|0;k=d[a+22>>1]|0;v=k&65535;C=(v<<1)+A|0;w=a+52|0;x=f[(f[w>>2]|0)+36>>2]|0;D=E+(F+7)|0;do if((h[D>>0]|0)<=(c|0)?(p=E+(F+1)|0,p=h[p>>0]<<8|h[p+1>>0],(p|0)!=0):0){o=E+p|0;o=h[o>>0]<<8|h[o+1>>0];g=(o|0)==0;if(!g){if(b[E+o>>0]|0){B=16;break}if(b[E+(o+1)>>0]|0){B=16;break}}n=E+C|0;c=E+(p+2)|0;c=h[c>>0]<<8|h[c+1>>0];e=E+(F+5)|0;e=h[e>>0]<<8|h[e+1>>0];if(p>>>0<=e>>>0){f[i>>2]=42469;f[i+4>>2]=64372;f[i+8>>2]=40460;Ac(11,40408,i);G=11;t=H;return G|0}if(g){l=c;m=0}else{m=E+(o+2)|0;m=h[m>>0]<<8|h[m+1>>0];l=c+p|0;ZA(E+(m+l)|0,E+l|0,o-l|0)|0;l=m+c|0}c=l+e|0;ZA(E+c|0,E+e|0,p-e|0)|0;if(k<<16>>16){g=E+A|0;do{i=g+1|0;k=h[g>>0]<<8|h[i>>0];if(k>>>0>=p>>>0){if(k>>>0>>0){e=m;B=14}}else{e=l;B=14}if((B|0)==14){B=0;A=k+e|0;b[g>>0]=A>>>8;b[i>>0]=A}g=g+2|0}while(g>>>0>>0)}}else B=16;while(0);if((B|0)==16){u=x+-4|0;a:do if(k<<16>>16){q=a+76|0;r=E+(F+5)|0;s=r+1|0;p=0;g=0;e=E;k=x;while(1){l=E+((p<<1)+A)|0;m=l+1|0;n=h[l>>0]<<8|h[m>>0];if(n>>>0>>0|(n|0)>(u|0)){B=19;break}i=e+n|0;o=(jb[f[q>>2]&255](a,i)|0)&65535;c=k-o|0;if((c|0)<(C|0)|(n+o|0)>(x|0)){B=21;break}b[l>>0]=c>>>8;b[m>>0]=c;if(!g)if((c|0)==(n|0))g=0;else{i=f[(f[f[w>>2]>>2]|0)+208>>2]|0;g=h[r>>0]<<8|h[s>>0];YA(i+g|0,E+g|0,k-g|0)|0;g=i;e=i;i=i+n|0;B=25}else B=25;if((B|0)==25){B=0;YA(E+c|0,i|0,o|0)|0}p=p+1|0;if(p>>>0>=v>>>0)break a;else k=c}if((B|0)==19){f[y>>2]=42469;f[y+4>>2]=64406;f[y+8>>2]=40460;Ac(11,40408,y);G=11;t=H;return G|0}else if((B|0)==21){f[z>>2]=42469;f[z+4>>2]=64412;f[z+8>>2]=40460;Ac(11,40408,z);G=11;t=H;return G|0}}else c=x;while(0);b[D>>0]=0}e=c-C|0;if((e+(h[D>>0]|0)|0)==(j[a+20>>1]|0)){G=E+(F+5)|0;b[G>>0]=c>>>8;b[G+1>>0]=c;b[E+(F+1)>>0]=0;b[E+(F+2)>>0]=0;_A(E+C|0,0,e|0)|0;G=0;t=H;return G|0}else{f[G>>2]=42469;f[G+4>>2]=64432;f[G+8>>2]=40460;Ac(11,40408,G);G=11;t=H;return G|0}return 0}function kk(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=t;t=t+32|0;q=r+16|0;i=r;o=r+28|0;p=(f[c+32>>2]|0)+(f[c+28>>2]|0)|0;l=f[a+116>>2]|0;k=a+40|0;e=f[k>>2]|0;g=a+48|0;a=j[g>>1]|0;if((e+a|0)>>>0>(f[l+60>>2]|0)>>>0){f[i>>2]=42469;f[i+4>>2]=71188;f[i+8>>2]=40460;Ac(11,40408,i);q=11;t=r;return q|0}a=mk(l,e,c,0,a)|0;if(a|0){q=a;t=r;return q|0}a=j[g>>1]|0;if((p|0)==(a|0)){q=0;t=r;return q|0}g=(f[k>>2]|0)+a|0;n=f[l+52>>2]|0;i=(f[n+36>>2]|0)+-4|0;g=h[g+1>>0]<<16|h[g>>0]<<24|h[g+2>>0]<<8|h[g+3>>0];m=a;while(1){a=f[n>>2]|0;a=lb[f[a+204>>2]&127](a,g,o,0)|0;if(a|0){e=10;break}e=f[o>>2]|0;k=f[e+8>>2]|0;a=k+4|0;if((f[a>>2]|0)==(g|0)){a=k+72|0;l=a;a=f[a>>2]|0}else{f[k+56>>2]=f[e+4>>2];l=k+72|0;f[l>>2]=e;f[k+52>>2]=n;f[a>>2]=g;b[k+9>>0]=(g|0)==1?100:0;a=e}if((d[a+30>>1]|0)==1){if((i+m|0)>>>0

>>0){a=f[k+56>>2]|0;e=i;g=h[a+1>>0]<<16|h[a>>0]<<24|h[a+2>>0]<<8|h[a+3>>0]}else{e=p-m|0;a=f[k+56>>2]|0}a=mk(k,a+4|0,c,m,e)|0;i=e}else{f[q>>2]=42469;f[q+4>>2]=71207;f[q+8>>2]=40460;Ac(11,40408,q);a=11}e=f[l>>2]|0;do if(e|0)if(!(d[e+28>>1]&32)){bh(e);break}else{l=f[e+20>>2]|0;k=l+120|0;f[k>>2]=(f[k>>2]|0)+-1;l=l+136|0;f[e+16>>2]=f[l>>2];f[l>>2]=e;break}while(0);if(a|0){e=23;break}m=i+m|0;if((m|0)>=(p|0)){a=0;e=23;break}}if((e|0)==10){q=a;t=r;return q|0}else if((e|0)==23){t=r;return a|0}return 0}function lk(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+16|0;r=u;if(!c){s=ej(a,0,e,g,h,i)|0;t=u;return s|0}s=a+112|0;q=f[s>>2]|0;p=q+6|0;n=((j[p>>1]|0)*40|0)+56|0;m=f[q+12>>2]|0;a:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](n)|0;o=26;break}m=ib[f[37372>>2]&255](n)|0;if((f[18194]|0)>>>0>>0)f[18194]=n;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){n=f[18187]|0;l=LA(k|0,l|0,m|0,((m|0)<0)<<31>>31|0)|0;k=ba()|0;f[17976]=((k|0)<0|(k|0)==0&l>>>0<=n>>>0)&1}m=ib[f[37356>>2]&255](m)|0;if(!m){s=7;t=u;return s|0}k=ib[f[37368>>2]&255](m)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){s=7;t=u;return s|0}}else{do if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0))){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=26;break a}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=26;break a}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,n,0)|0;o=26}while(0);if((o|0)==26)if(!k){s=7;t=u;return s|0}else m=k;f[m+4>>2]=m+16;f[m>>2]=q;q=m+8|0;d[q>>1]=(j[p>>1]|0)+1;hj(f[s>>2]|0,e,c,m);if(!(d[q>>1]|0)){f[r>>2]=42469;f[r+4>>2]=63743;f[r+8>>2]=40460;Ac(11,40408,r);l=11}else l=ej(a,m,e,g,h,i)|0;k=f[(f[s>>2]|0)+12>>2]|0;if(k|0){if(f[k+480>>2]|0){Kc(k,m);s=l;t=u;return s|0}s=m;if((f[k+304>>2]|0)>>>0<=s>>>0?(f[k+308>>2]|0)>>>0>s>>>0:0){s=k+300|0;f[m>>2]=f[s>>2];f[s>>2]=m;s=l;t=u;return s|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);s=l;t=u;return s|0}else{s=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);s=l;t=u;return s|0}return 0}function mk(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=f[e+28>>2]|0;j=i-g|0;if((j|0)<1){if((h|0)<=0){n=0;return n|0}i=0;while(1){if(b[c+i>>0]|0)break;i=i+1|0;if((i|0)>=(h|0)){i=0;n=30;break}}if((n|0)==30)return i|0;l=c+i|0;e=f[a+72>>2]|0;k=f[e+20>>2]|0;if((d[e+28>>1]&4)!=0?(f[k+24>>2]|0)>>>0>=(f[e+24>>2]|0)>>>0:0){if(f[k+96>>2]|0){m=Ng(e)|0;n=14}}else n=10;do if((n|0)==10){j=f[k+40>>2]|0;if(j|0){n=j;return n|0}if((f[k+148>>2]|0)>>>0>(f[k+152>>2]|0)>>>0){m=Og(e)|0;n=14;break}else{m=Pg(e)|0;n=14;break}}while(0);if((n|0)==14?m|0:0){n=m;return n|0}_A(l|0,0,h-i|0)|0;n=0;return n|0}else{if((j|0)<(h|0)){i=mk(a,c+j|0,e,i,h-j|0)|0;if(!i)l=j;else{n=i;return n|0}}else l=h;k=e+16|0;i=(f[k>>2]|0)+g|0;if(!(Hz(c,i,l)|0)){n=0;return n|0}j=f[a+72>>2]|0;e=f[j+20>>2]|0;if((d[j+28>>1]&4)!=0?(f[e+24>>2]|0)>>>0>=(f[j+24>>2]|0)>>>0:0){if(f[e+96>>2]|0){i=Ng(j)|0;n=27}}else n=23;do if((n|0)==23){i=f[e+40>>2]|0;if(i|0){n=i;return n|0}if((f[e+148>>2]|0)>>>0>(f[e+152>>2]|0)>>>0){i=Og(j)|0;n=27;break}else{i=Pg(j)|0;n=27;break}}while(0);do if((n|0)==27)if(!i){i=(f[k>>2]|0)+g|0;break}else{n=i;return n|0}while(0);YA(c|0,i|0,l|0)|0;n=0;return n|0}return 0}function nk(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=t;t=t+64|0;v=B+48|0;A=B+32|0;w=B+16|0;k=B;i=B+60|0;e=b[a>>0]|0;if(e<<24>>24){do if((e&255)>2){if(e<<24>>24==4){e=f[a+4>>2]|0;if(!e)break;else z=e;t=B;return z|0}b[a>>0]=1;e=a+16|0;c=a+56|0;c=lk(a,f[e>>2]|0,f[c>>2]|0,f[c+4>>2]|0,0,i)|0;if(c|0){a=c;t=B;return a|0}c=f[e>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{y=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[e>>2]=0;c=a+4|0;y=f[c>>2]|f[i>>2];f[c>>2]=y;c=b[a>>0]|0;if((y|0)!=0&c<<24>>24==0){b[a>>0]=2;c=2}n=14}else{c=e;n=14}while(0);if((n|0)==14?c<<24>>24==1:0){a=101;t=B;return a|0}c=a+4|0;e=f[c>>2]|0;if(e|0?(b[a>>0]=0,f[c>>2]=0,(e|0)>0):0){a=0;t=B;return a|0}}x=a+116|0;i=f[x>>2]|0;y=a+70|0;s=(d[y>>1]|0)+1<<16>>16;d[y>>1]=s;u=i;if(!(b[i>>0]|0)){f[k>>2]=42469;f[k+4>>2]=68561;f[k+8>>2]=40460;Ac(11,40408,k);a=11;t=B;return a|0}r=(b[i+8>>0]|0)!=0;if((s&65535)<(j[i+22>>1]|0)){if(r){a=0;t=B;return a|0}m=a+68|0;n=a+20|0;o=a+50|0;p=a+1|0;q=a+2|0;e=i;l=u;while(1){k=d[y>>1]|0;c=(f[e+64>>2]|0)+((k&65535)<<1)|0;c=(f[e+56>>2]|0)+((h[c>>0]<<8|h[c+1>>0])&j[e+24>>1])|0;e=b[m>>0]|0;if(e<<24>>24>18){n=41;break}c=h[c>>0]<<24|h[c+1>>0]<<16|h[c+2>>0]<<8|h[c+3>>0];C=f[n>>2]|0;d[o>>1]=0;b[p>>0]=b[p>>0]&-7;D=e<<24>>24;d[a+72+(D<<1)>>1]=k;f[a+120+(D<<2)>>2]=l;d[y>>1]=0;b[m>>0]=e+1<<24>>24;c=aj(C,c,x,a,h[q>>0]|0)|0;if(c|0){z=c;n=44;break}c=f[x>>2]|0;if(!(b[c+8>>0]|0)){e=c;l=c}else{z=0;n=44;break}}if((n|0)==41){f[v>>2]=42469;f[v+4>>2]=67897;f[v+8>>2]=40460;Ac(11,40408,v);D=11;t=B;return D|0}else if((n|0)==44){t=B;return z|0}}if(r){k=a+68|0;l=a+50|0;m=a+1|0;while(1){e=b[k>>0]|0;if(!(e<<24>>24)){n=31;break}d[l>>1]=0;b[m>>0]=b[m>>0]&-7;c=d[a+72+((e<<24>>24)+-1<<1)>>1]|0;d[y>>1]=c;g=e+-1<<24>>24;b[k>>0]=g;g=f[a+120+(g<<24>>24<<2)>>2]|0;f[x>>2]=g;e=f[i+72>>2]|0;if(!(d[e+28>>1]&32)){bh(e);g=f[x>>2]|0;c=d[y>>1]|0}else{D=f[e+20>>2]|0;C=D+120|0;f[C>>2]=(f[C>>2]|0)+-1;D=D+136|0;f[e+16>>2]=f[D>>2];f[D>>2]=e}if((c&65535)<(j[g+22>>1]|0))break;else i=g}if((n|0)==31){b[a>>0]=1;D=101;t=B;return D|0}if(!(b[g+2>>0]|0)){D=0;t=B;return D|0}D=fj(a,0)|0;t=B;return D|0}c=(f[i+56>>2]|0)+((h[i+9>>0]|0)+8)|0;o=a+68|0;e=b[o>>0]|0;if(e<<24>>24>18){f[w>>2]=42469;f[w+4>>2]=67897;f[w+8>>2]=40460;Ac(11,40408,w);D=11;t=B;return D|0}c=h[c>>0]<<24|h[c+1>>0]<<16|h[c+2>>0]<<8|h[c+3>>0];l=a+20|0;D=f[l>>2]|0;m=a+50|0;d[m>>1]=0;n=a+1|0;b[n>>0]=b[n>>0]&-7;k=e<<24>>24;d[a+72+(k<<1)>>1]=s;f[a+120+(k<<2)>>2]=u;d[y>>1]=0;b[o>>0]=e+1<<24>>24;k=a+2|0;c=aj(D,c,x,a,h[k>>0]|0)|0;if(c|0){D=c;t=B;return D|0}while(1){c=f[x>>2]|0;if(b[c+8>>0]|0){z=0;n=44;break}e=d[y>>1]|0;g=(f[c+64>>2]|0)+((e&65535)<<1)|0;g=(f[c+56>>2]|0)+((h[g>>0]<<8|h[g+1>>0])&j[c+24>>1])|0;i=b[o>>0]|0;if(i<<24>>24>18){n=27;break}D=h[g>>0]<<24|h[g+1>>0]<<16|h[g+2>>0]<<8|h[g+3>>0];C=f[l>>2]|0;d[m>>1]=0;b[n>>0]=b[n>>0]&-7;w=i<<24>>24;d[a+72+(w<<1)>>1]=e;f[a+120+(w<<2)>>2]=c;d[y>>1]=0;b[o>>0]=i+1<<24>>24;c=aj(C,D,x,a,h[k>>0]|0)|0;if(c|0){z=c;n=44;break}}if((n|0)==27){f[A>>2]=42469;f[A+4>>2]=67897;f[A+8>>2]=40460;Ac(11,40408,A);D=11;t=B;return D|0}else if((n|0)==44){t=B;return z|0}return 0}function ok(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+32|0;o=p+8|0;i=p;k=c+1|0;g=b[k>>0]|0;l=g&255;do if(g<<24>>24<=-1){e=h[c+2>>0]|0;if(!(e&128)){n=l<<7&16256|e;m=7;break}g=h[c+3>>0]|0;if(g&128){Th(k,i)|0;l=i;e=f[l>>2]|0;if((e|0)==(e|0)?0==(f[l+4>>2]|0):0){n=e;m=7;break}else break}else{n=(l<<14|g)&2080895|e<<7&16256;m=7;break}}else{n=l;m=7}while(0);if((m|0)==7?(n|0)>=12:0){if(!(n&1)){d=b[d+13>>0]|0;t=p;return d|0}e=h[c>>0]|0;i=(n+-12|0)/2|0;if((i+e|0)>(a|0)){f[o>>2]=42469;f[o+4>>2]=80289;f[o+8>>2]=40460;Ac(11,40408,o);b[d+11>>0]=11;d=0;t=p;return d|0}o=f[d+4>>2]|0;g=f[o+12>>2]|0;e=Hz(c+e|0,f[o+16>>2]|0,(i|0)>(g|0)?g:i)|0;if(e|0)if((e|0)>0){d=b[d+13>>0]|0;t=p;return d|0}else{d=b[d+12>>0]|0;t=p;return d|0}e=i-g|0;if(!e)if((j[d+8>>1]|0)>1){d=lj(a,c,d,1)|0;t=p;return d|0}else{c=b[d+10>>0]|0;b[d+14>>0]=1;d=c;t=p;return d|0}else if((e|0)>0){d=b[d+13>>0]|0;t=p;return d|0}else{d=b[d+12>>0]|0;t=p;return d|0}}d=b[d+12>>0]|0;t=p;return d|0}function pk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0;e=c+(b[c>>0]&63)|0;switch(b[c+1>>0]|0){case 1:{k=b[e>>0]|0;i=((k|0)<0)<<31>>31;break}case 2:{k=b[e>>0]<<8|h[e+1>>0];i=((k|0)<0)<<31>>31;break}case 3:{k=h[e+1>>0]<<8|b[e>>0]<<16|h[e+2>>0];i=((k|0)<0)<<31>>31;break}case 4:{k=h[e+1>>0]<<16|h[e>>0]<<24|h[e+2>>0]<<8|h[e+3>>0];i=((k|0)<0)<<31>>31;break}case 5:{k=e+2|0;i=b[e>>0]<<8|h[e+1>>0];k=h[k+1>>0]<<16|h[k>>0]<<24|h[k+2>>0]<<8|h[k+3>>0];break}case 6:{k=e+4|0;i=h[e+1>>0]<<16|h[e>>0]<<24|h[e+2>>0]<<8|h[e+3>>0];k=h[k+1>>0]<<16|h[k>>0]<<24|h[k+2>>0]<<8|h[k+3>>0];break}case 8:{i=0;k=0;break}case 9:{i=0;k=1;break}case 7:case 0:{d=lj(a,c,d,0)|0;return d|0}default:{d=lj(a,c,d,0)|0;return d|0}}g=f[d+4>>2]|0;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>(i|0)|(g|0)==(i|0)&e>>>0>k>>>0){d=b[d+12>>0]|0;return d|0}if((g|0)<(i|0)|(g|0)==(i|0)&e>>>0>>0){d=b[d+13>>0]|0;return d|0}if((j[d+8>>1]|0)>1){d=lj(a,c,d,1)|0;return d|0}else{c=b[d+10>>0]|0;b[d+14>>0]=1;d=c;return d|0}return 0}function qk(a,b,c){a=a|0;b=b|0;c=c|0;return lj(a,b,c,0)|0}function rk(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0;h=a+40|0;if(f[h>>2]|0){c=0;return c|0}g=b[a+20>>0]|0;if(g<<24>>24){if(g&3){c=0;return c|0}if(d[c+28>>1]&8){c=0;return c|0}}j=a+196|0;f[j>>2]=(f[j>>2]|0)+1;f[c+16>>2]=0;do if(f[a+216>>2]|0){e=Ng(c)|0;if(!e){e=Ch(a,c,0,0)|0;i=12}}else{if(!((d[c+28>>1]&8)==0?(b[a+16>>0]|0)!=3:0))i=10;if((i|0)==10?(e=Dh(a,1)|0,e|0):0)break;e=Eh(a,c)|0;i=12}while(0);if((i|0)==12)if(!e){j=f[c+12>>2]|0;e=j+8|0;g=c+36|0;a=f[g>>2]|0;if((f[e>>2]|0)==(c|0))f[e>>2]=a;h=f[c+32>>2]|0;i=(h|0)==0;if(i){f[j+4>>2]=a;e=a}else{f[h+36>>2]=a;e=f[g>>2]|0}if(!e){f[j>>2]=h;if(i)b[j+33>>0]=2}else f[e+32>>2]=h;i=c+28|0;d[i>>1]=d[i>>1]&-16|1;if(d[c+30>>1]|0){c=0;return c|0}if(!(b[j+32>>0]|0)){c=0;return c|0}qb[f[37456>>2]&255](f[j+44>>2]|0,f[c>>2]|0,0);c=0;return c|0}switch((e&255)<<24>>24){case 10:case 13:break;default:{c=e;return c|0}}f[h>>2]=e;b[a+16>>0]=6;f[a+204>>2]=82;c=e;return c|0}function sk(a){a=a|0;var c=0;c=f[a+8>>2]|0;if(!(b[c>>0]|0))return;b[c>>0]=0;if((d[a+30>>1]|0)<=1)return;Ph(c)|0;return}function tk(a){a=a|0;var c=0,d=0,e=0,g=0;e=f[a+4>>2]|0;a=f[(f[a>>2]|0)+60>>2]|0;c=f[e+396>>2]|0;if(!c){g=0;return g|0}g=e+404|0;d=f[g>>2]|0;if((d|0)<0){g=0;return g|0}if(!(b[e+408>>0]|0))a=jb[c&255](f[e+400>>2]|0,d)|0;else a=kb[c&127](f[e+400>>2]|0,d,a)|0;if(!a)c=-1;else c=(f[g>>2]|0)+1|0;f[g>>2]=c;g=a;return g|0}function uk(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,i=0,j=0,k=0;j=t;t=t+16|0;g=j+8|0;i=j;e=(h[a+1>>0]|0)<<16|(h[a>>0]|0)<<24|(h[a+2>>0]|0)<<8|(h[a+3>>0]|0);a=(h[a+5>>0]|0)<<16|(h[a+4>>0]|0)<<24|(h[a+6>>0]|0)<<8|(h[a+7>>0]|0);k=c;f[k>>2]=a;f[k+4>>2]=e;if((b|0)==6){i=4;k=c+8|0;d[k>>1]=i;t=j;return}f[s>>2]=a;f[s+4>>2]=e;p[g>>3]=+p[s>>3];p[i>>3]=+p[g>>3];i=+p[g>>3]==+p[i>>3]?8:1;k=c+8|0;d[k>>1]=i;t=j;return}function vk(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;k=n+8|0;l=n;m=a+8|0;c=d[m>>1]|0;if(c&13){l=c;l=l&-16403;d[m>>1]=l;t=n;return}i=a+16|0;j=a+12|0;c=a+10|0;e=kf(f[i>>2]|0,a,f[j>>2]|0,b[c>>0]|0)|0;if(e){h=a;g=f[h>>2]|0;h=f[h+4>>2]|0;jf(f[i>>2]|0,a,f[j>>2]|0,b[c>>0]|0)|0;if((e|0)==1?(p[k>>3]=+p[a>>3],p[l>>3]=+(g>>>0)+4294967296.0*+(h|0),(Hz(k,l,8)|0)==0):0){c=a;f[c>>2]=g;f[c+4>>2]=h;c=4}else c=8}else c=4;l=d[m>>1]&15872|c;d[m>>1]=l;l=l&-16403;d[m>>1]=l;t=n;return}function wk(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+304|0;j=q+16|0;e=q;g=q+296|0;p=q+24|0;f[g>>2]=0;i=f[a+352>>2]|0;if(i|0?(m=i+12|0,(f[m>>2]|0)==0):0){l=f[i+4>>2]|0;_A(p+4|0,0,268)|0;n=p+196|0;b[n>>0]=1;f[p>>2]=a;f[p+128>>2]=1;if(((((bg(p,c,g)|0)==0?(k=f[p+224>>2]|0,(k|0)!=0):0)?(b[a+81>>0]|0)==0:0)?(f[k+12>>2]|0)==0:0)?(f[k+56>>2]|0)==0:0){e=l+4|0;if(!(f[e>>2]|0)){g=k+4|0;f[e>>2]=f[g>>2];c=k+42|0;d[l+42>>1]=d[c>>1]|0;j=k+36|0;e=l+36|0;f[e>>2]=f[e>>2]|f[j>>2]&96;d[c>>1]=0;f[g>>2]=0;if((f[j>>2]&32|0)!=0?(f[(f[f[(f[i>>2]|0)+4>>2]>>2]|0)+52>>2]|0)!=0:0){e=k+8|0;while(1){e=f[e>>2]|0;j=e+55|0;if(((h[j>>0]|h[j+1>>0]<<8)&3)==2)break;else e=e+20|0}e=(d[e+50>>1]|0)!=1&1}else e=0;c=k+8|0;g=f[c>>2]|0;if(g){f[l+8>>2]=g;f[c>>2]=0;f[g+12>>2]=l}}else e=0;f[m>>2]=1;l=e}else o=18;do if((o|0)==18){e=f[g>>2]|0;m=(e|0)==0;f[j>>2]=e;vg(a,1,m?0:40840,j);if(!m){if(f[a+480>>2]|0){Kc(a,e);l=1;break}m=e;if((f[a+304>>2]|0)>>>0<=m>>>0?(f[a+308>>2]|0)>>>0>m>>>0:0){l=a+300|0;f[e>>2]=f[l>>2];f[l>>2]=e;l=1;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);l=1;break}else{l=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);l=1;break}}else l=1}while(0);b[n>>0]=0;j=f[p+8>>2]|0;do if(j|0){k=j+20|0;e=f[k>>2]|0;if((e|0)<832317811)switch(e|0){case 770837923:{o=29;break}default:{}}else switch(e|0){case 832317811:{o=29;break}default:{}}if((o|0)==29)fg(j)|0;i=f[j>>2]|0;gg(i,j);g=f[j+4>>2]|0;c=j+8|0;e=f[c>>2]|0;if(!g)f[i+4>>2]=e;else{f[g+8>>2]=e;e=f[c>>2]|0}if(e|0)f[e+4>>2]=g;f[k>>2]=1443283912;f[j>>2]=0;if(i|0){if(f[i+480>>2]|0){Kc(i,j);break}o=j;if((f[i+304>>2]|0)>>>0<=o>>>0?(f[i+308>>2]|0)>>>0>o>>>0:0){o=i+300|0;f[j>>2]=f[o>>2];f[o>>2]=j;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{o=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);e=f[p+224>>2]|0;do if(e|0){if(a|0?f[a+480>>2]|0:0){hg(a,e);break}n=e+32|0;o=(f[n>>2]|0)+-1|0;f[n>>2]=o;if(!o)hg(a,e)}while(0);c=f[p>>2]|0;e=f[p+64>>2]|0;do if(e|0){if(c|0){if(f[c+480>>2]|0){Kc(c,e);break}o=e;if((f[c+304>>2]|0)>>>0<=o>>>0?(f[c+308>>2]|0)>>>0>o>>>0:0){o=c+300|0;f[e>>2]=f[o>>2];f[o>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{o=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);e=f[p+68>>2]|0;if(e|0)jg(c,e);e=p+24|0;if(c|0){p=c+272|0;f[p>>2]=(f[p>>2]|0)-(h[e>>0]|0)}b[e>>0]=0;if(!(b[a+81>>0]|0)){a=f[a+68>>2]&l;t=q;return a|0}else{Di(a);a=7;t=q;return a|0}}f[a+64>>2]=21;Bg(a,21);f[e>>2]=40433;f[e+4>>2]=134300;f[e+8>>2]=40460;Ac(21,40408,e);a=21;t=q;return a|0}function xk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[b>>2]|0;a:do if(c|0?(d=f[c>>2]|0,(d|0)>0):0){e=c+4|0;c=d;while(1){d=f[e>>2]|0;if(d|0?oi(a,d)|0:0){c=2;break}if((c|0)>1){e=e+20|0;c=c+-1|0}else break a}return c|0}while(0);c=f[b+36>>2]|0;if(c|0?oi(a,c)|0:0){a=2;return a|0}c=f[b+40>>2]|0;b:do if(c|0?(g=f[c>>2]|0,(g|0)>0):0){e=c+4|0;c=g;while(1){d=f[e>>2]|0;if(d|0?oi(a,d)|0:0){c=2;break}if((c|0)>1){e=e+20|0;c=c+-1|0}else break b}return c|0}while(0);c=f[b+44>>2]|0;if(c|0?oi(a,c)|0:0){a=2;return a|0}c=f[b+48>>2]|0;c:do if(c|0?(h=f[c>>2]|0,(h|0)>0):0){e=c+4|0;c=h;while(1){d=f[e>>2]|0;if(d|0?oi(a,d)|0:0){c=2;break}if((c|0)>1){e=e+20|0;c=c+-1|0}else break c}return c|0}while(0);c=f[b+60>>2]|0;if(c|0?oi(a,c)|0:0){a=2;return a|0}a=0;return a|0}function yk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!c){m=0;return m|0}l=a+8|0;d=f[l>>2]|0;if(!d){m=0;return m|0}m=a+12|0;d=jb[d&255](a,c)|0;a:do if(!d){b:while(1){if(xk(a,c)|0){d=2;c=23;break}d=f[c+32>>2]|0;e=f[d>>2]|0;if((e|0)>0){i=d+8|0;while(1){d=f[i+20>>2]|0;if(d|0?yk(a,d)|0:0){d=2;c=23;break b}if((b[i+37>>0]&4?(j=f[i+64>>2]|0,j|0):0)?(k=f[j>>2]|0,(k|0)>0):0){d=j+4|0;g=k;while(1){h=f[d>>2]|0;if(h|0?oi(a,h)|0:0){d=2;c=23;break b}if((g|0)>1){d=d+20|0;g=g+-1|0}else break}}if((e|0)>1){i=i+72|0;e=e+-1|0}else break}}d=f[m>>2]|0;if(d|0)pb[d&127](a,c);c=f[c+52>>2]|0;if(!c){d=0;c=23;break}d=jb[f[l>>2]&255](a,c)|0;if(d|0)break a}if((c|0)==23)return d|0}while(0);m=d&2;return m|0}function zk(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=t;t=t+48|0;E=G+24|0;A=G+16|0;z=G;w=G+36|0;if(!e){F=0;t=G;return F|0}x=f[f[c>>2]>>2]|0;D=f[a>>2]|0;k=e+4|0;j=f[e>>2]|0;a:do if((j|0)>0){s=c+68|0;i=0;r=k;b:while(1){q=f[r>>2]|0;c:do if(!q)j=0;else{j=q;while(1){l=f[j+4>>2]|0;if(!(l&4096))break c;if(!(l&262144))j=j+12|0;else j=(f[j+20>>2]|0)+4|0;j=f[j>>2]|0;if(!j){j=0;break}}}while(0);d:do if((b[g>>0]|0)==71)F=23;else{p=f[c>>2]|0;e:do if((b[j>>0]|0)==59?(u=f[j+8>>2]|0,v=f[p>>2]|0,(v|0)>0):0){l=0;while(1){n=f[p+4+(l*20|0)+4>>2]|0;if(n|0){o=b[n>>0]|0;m=(h[1232+(o&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0;if(!(o<<24>>24==0|(m|0)!=0)){o=u;do{n=n+1|0;o=o+1|0;H=b[n>>0]|0;m=(h[1232+(H&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(H<<24>>24==0|(m|0)!=0))}if(!m)break}l=l+1|0;if((l|0)>=(v|0))break e}H=l+1|0;f[w>>2]=H;d[r+16>>1]=H;break d}while(0);f[w>>2]=0;F=23}while(0);do if((F|0)==23){F=0;if(Ak(j,w)|0){j=f[w>>2]|0;if((j+-1|0)>>>0>65534)break b;d[r+16>>1]=j;break}n=r+16|0;d[n>>1]=0;if(Mk(a,q)|0){B=1;F=51;break b}l=f[c>>2]|0;if((f[l>>2]|0)>0){o=q+4|0;p=q+44|0;j=0;do{if(!(Ck(0,q,f[l+4+(j*20|0)>>2]|0,-1)|0)){if(f[o>>2]&16777216|0?(y=f[s>>2]|0,y|0):0){m=s;l=y;do{if((l|0)==(f[p>>2]|0)){l=f[l+24>>2]|0;f[m>>2]=l}m=l+24|0;l=f[m>>2]|0}while((l|0)!=0)}j=j+1|0;d[n>>1]=j}else j=j+1|0;l=f[c>>2]|0}while((j|0)<(f[l>>2]|0))}}while(0);i=i+1|0;j=f[e>>2]|0;if((i|0)<(j|0))r=r+20|0;else break a}if((F|0)==51){t=G;return B|0}f[z>>2]=i+1;f[z+4>>2]=g;f[z+8>>2]=x;ni(D,49392,z);H=1;t=G;return H|0}while(0);i=f[D>>2]|0;if(b[i+81>>0]|0){H=0;t=G;return H|0}if((j|0)>(f[i+116>>2]|0)){f[A>>2]=g;ni(D,49514,A);H=1;t=G;return H|0}m=f[c>>2]|0;if((j|0)<=0){H=0;t=G;return H|0}l=0;while(1){i=d[k+16>>1]|0;if(i<<16>>16){i=i&65535;C=f[m>>2]|0;if((C|0)<(i|0))break;Nk(D,m,i+-1|0,f[k>>2]|0,g,0);j=f[e>>2]|0}i=l+1|0;if((i|0)<(j|0)){l=i;k=k+20|0}else{B=0;F=51;break}}if((F|0)==51){t=G;return B|0}f[E>>2]=l+1;f[E+4>>2]=g;f[E+8>>2]=C;ni(D,49392,E);H=1;t=G;return H|0}function Ak(a,c){a=a|0;c=c|0;var d=0,e=0;e=t;t=t+16|0;d=e;a:do if(!a)a=0;else{if(f[a+4>>2]&1024|0){f[c>>2]=f[a+8>>2];a=1;break}switch(b[a>>0]|0){case -94:{a=Ak(f[a+12>>2]|0,c)|0;break a}case -95:break;default:{a=0;break a}}if(!(Ak(f[a+12>>2]|0,d)|0))a=0;else{f[c>>2]=0-(f[d>>2]|0);a=1}}while(0);t=e;return a|0}function Bk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+16|0;r=u;s=(e|0)!=0;a:do if(s){m=32768;q=f[e>>2]|0}else{i=Gk(c,d)|0;k=((i|0)<0)<<31>>31;if(f[a+272>>2]|0){if(b[a+81>>0]|0){f[r>>2]=0;a=0;t=u;return a|0}}else{do if(!(0>>0|(0==(k|0)?(j[a+276>>1]|0)>>>0>>0:0))){g=a+300|0;h=f[g>>2]|0;if(h|0){f[g>>2]=f[h>>2];m=a+284|0;f[m>>2]=(f[m>>2]|0)+1;m=0;q=h;break a}g=a+296|0;h=f[g>>2]|0;if(!h){g=a+292|0;break}else{f[g>>2]=f[h>>2];m=a+284|0;f[m>>2]=(f[m>>2]|0)+1;m=0;q=h;break a}}else g=a+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}m=0;q=Dc(a,i,k)|0}while(0);f[r>>2]=q;if(!q){a=q;t=u;return a|0}n=(d|0)==0;if((!n?(b[c>>0]|0)!=-90:0)?(f[c+4>>2]&16777216|0)==0:0)if(!(f[c+12>>2]|0))i=(f[c+20>>2]|0)==0?16396:8220;else i=8220;else i=48;k=i&60;o=c+4|0;g=f[o>>2]|0;if((g&1024|0)==0?(l=f[c+8>>2]|0,(l|0)!=0):0)h=((wz(l)|0)&1073741823)+1|0;else h=0;if(n){g=(g&16384|0)==0?((g&8192|0)==0?48:28):12;YA(q|0,c|0,g|0)|0;if(g>>>0<48)_A(q+g|0,0,48-g|0)|0}else YA(q|0,c|0,k|0)|0;l=q+4|0;g=i&24576|m|f[l>>2]&-122881;f[l>>2]=g;if(h){g=q+k|0;f[q+8>>2]=g;YA(g|0,f[c+8>>2]|0,h|0)|0;g=f[l>>2]|0}h=f[o>>2]|0;do if(!((g|h)&8404992)){g=c+20|0;if(!(h&2048)){d=Ik(a,f[g>>2]|0,d)|0;f[q+20>>2]=d;break}else{d=Hk(a,f[g>>2]|0,d)|0;f[q+20>>2]=d;break}}while(0);i=f[l>>2]|0;if(!(i&16801792)){if(f[o>>2]&8404992|0){a=q;t=u;return a|0}g=c+12|0;if((b[q>>0]|0)==-90)f[q+12>>2]=f[g>>2];else{g=f[g>>2]|0;if(!g)g=0;else g=Bk(a,g,0,0)|0;f[q+12>>2]=g}g=f[c+16>>2]|0;if(!g)g=0;else g=Bk(a,g,0,0)|0;f[q+16>>2]=g;a=q;t=u;return a|0}if((!n?(b[c>>0]|0)!=-90:0)?(f[o>>2]&16777216|0)==0:0)if(!(f[c+12>>2]|0))h=(f[c+20>>2]|0)==0?12:28;else h=28;else h=48;g=f[o>>2]|0;if((g&1024|0)==0?(p=f[c+8>>2]|0,(p|0)!=0):0)h=((wz(p)|0)&1073741823)+(h|1)|0;f[r>>2]=q+(h+7&-8);if(!(i&8404992)){g=f[c+12>>2]|0;if(!g)g=0;else g=Bk(a,g,1,r)|0;f[q+12>>2]=g;g=f[c+16>>2]|0;if(!g)g=0;else g=Bk(a,g,1,r)|0;f[q+16>>2]=g;g=f[o>>2]|0}if(g&16777216|0){a=Jk(a,q,f[c+44>>2]|0)|0;f[q+44>>2]=a}if(!s){a=q;t=u;return a|0}f[e>>2]=f[r>>2];a=q;t=u;return a|0}function Ck(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=t;t=t+16|0;i=s;if((c|0)==0|(e|0)==0){g=(e|0)==(c|0)?0:2;t=s;return g|0}do if(a|0?(b[c>>0]|0)==-112:0){f[i>>2]=0;Ek(f[a>>2]|0,e,1,65,i)|0;q=f[i>>2]|0;if(!q)break;m=d[c+32>>1]|0;i=m<<16>>16;r=f[a+8>>2]|0;m=m<<16>>16>31;k=r+204|0;r=r+204|0;f[(m?r:k)>>2]=f[(m?r:k)>>2]|(m?-2147483648:1<>2]|0;a:do if((k|0)!=0?(r=f[k+116>>2]|0,o=i+-1|0,n=r+(o*40|0)|0,o=r+(o*40|0)+8|0,(d[o>>1]&1)==0):0){m=f[k>>2]|0;b:do if(!m){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](40)|0;p=32;break}i=ib[f[37372>>2]&255](40)|0;if((f[18194]|0)>>>0<40)f[18194]=40;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){r=f[18187]|0;l=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;k=ba()|0;f[17976]=((k|0)<0|(k|0)==0&l>>>0<=r>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(!k){n=0;l=0;m=0;k=1;break a}i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){n=0;l=0;m=0;k=1;break a}}else{do if((j[m+276>>1]|0)>=40){k=m+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];p=m+284|0;f[p>>2]=(f[p>>2]|0)+1;p=32;break b}k=m+296|0;i=f[k>>2]|0;if(!i){i=m+292|0;break}else{f[k>>2]=f[i>>2];p=m+284|0;f[p>>2]=(f[p>>2]|0)+1;p=32;break b}}else i=m+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(m,40,0)|0;p=32}while(0);if((p|0)==32)if(!i){n=0;l=0;m=0;k=1;break}else k=i;i=k;l=i+40|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(l|0));l=k+8|0;d[l>>1]=1;f[k+32>>2]=m;f[k>>2]=f[n>>2];f[k+4>>2]=f[n+4>>2];f[k+8>>2]=f[n+8>>2];f[k+12>>2]=f[n+12>>2];f[k+16>>2]=f[n+16>>2];i=d[l>>1]&-1025;d[l>>1]=i;i=i&65535;do if(i&18|0?(d[o>>1]&2048)==0:0){d[l>>1]=i|4096;if(i&16384){i=k+12|0;r=(f[k>>2]|0)+(f[i>>2]|0)|0;if(df(k,(r|0)>1?r:1,1)|0)break;r=k+16|0;_A((f[r>>2]|0)+(f[i>>2]|0)|0,0,f[k>>2]|0)|0;f[i>>2]=(f[i>>2]|0)+(f[k>>2]|0);i=d[l>>1]&-16897;d[l>>1]=i;if(!((f[k+24>>2]|0)!=0?(f[r>>2]|0)==(f[k+20>>2]|0):0))p=39}else p=39;if((p|0)==39){if(gf(k)|0)break;i=d[l>>1]|0}d[l>>1]=i&-4097}while(0);i=d[l>>1]|0;do if((i&15|16)<<16>>16==18){if((i&514)==514){if(!((i&1)==0&(b[k+10>>0]|0)!=1))break}else if(i&1)break;Ic(k,1)|0}while(0);n=(nf(k,q,0)|0)==0&1;l=k;m=k;k=0}else{n=0;l=0;m=0;k=1}while(0);if(!((d[q+8>>1]&9216)==0?!(f[q+24>>2]|0):0))ff(q);i=f[q+32>>2]|0;do if(i){if(f[i+480>>2]|0){Kc(i,q);break}r=q;if((f[i+304>>2]|0)>>>0<=r>>>0?(f[i+308>>2]|0)>>>0>r>>>0:0){r=i+300|0;f[q>>2]=f[r>>2];f[r>>2]=q}else p=57}else p=57;while(0);do if((p|0)==57)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{r=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);do if(!k){if(!((d[l+8>>1]&9216)==0?!(f[l+24>>2]|0):0))ff(l);i=f[l+32>>2]|0;if(i|0){if(f[i+480>>2]|0){Kc(i,m);break}r=m;if((f[i+304>>2]|0)>>>0<=r>>>0?(f[i+308>>2]|0)>>>0>r>>>0:0){r=i+300|0;f[m>>2]=f[r>>2];f[r>>2]=m;break}}if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{r=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);if(n|0){g=0;t=s;return g|0}}while(0);p=c+4|0;q=f[p>>2]|0;o=e+4|0;k=f[o>>2]|0;r=k|q;if(r&1024|0){if(q&1024&k|0?(f[c+8>>2]|0)==(f[e+8>>2]|0):0){g=0;t=s;return g|0}g=2;t=s;return g|0}n=b[c>>0]|0;i=b[e>>0]|0;if(n<<24>>24!=i<<24>>24){do if(n<<24>>24==102)if((Ck(a,f[c+12>>2]|0,e,g)|0)<2){g=1;t=s;return g|0}else{i=b[e>>0]|0;break}while(0);if(i<<24>>24==102?(Ck(a,c,f[e+12>>2]|0,g)|0)<2:0){g=1;t=s;return g|0}g=2;t=s;return g|0}c:do switch(n<<24>>24){case -96:case -98:{i=q;break}default:{l=f[c+8>>2]|0;if(l){if(n<<24>>24==-99){m=f[e+8>>2]|0;n=b[l>>0]|0;i=(h[1232+(n&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0;if(!(n<<24>>24==0|(i|0)!=0))do{l=l+1|0;m=m+1|0;n=b[l>>0]|0;i=(h[1232+(n&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(n<<24>>24==0|(i|0)!=0));if(i|0){g=2;t=s;return g|0}if(!(q&16777216)){i=q;break c}if(!(Fk(a,f[c+44>>2]|0,f[e+44>>2]|0)|0)){k=f[o>>2]|0;i=f[p>>2]|0;break c}else{g=2;t=s;return g|0}}m=f[e+8>>2]|0;if(n<<24>>24!=102){if(!(tz(l,m)|0)){i=q;break c}else i=2;t=s;return i|0}if(!m){g=2;t=s;return g|0}p=b[l>>0]|0;i=(h[1232+(p&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0;if(!(p<<24>>24==0|(i|0)!=0))do{l=l+1|0;m=m+1|0;p=b[l>>0]|0;i=(h[1232+(p&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(p<<24>>24==0|(i|0)!=0));if(i){g=2;t=s;return g|0}else i=q}else i=q}}while(0);if((k^i)&16|0){g=2;t=s;return g|0}d:do if(!(r&16384)){if(r&2048|0){g=2;t=s;return g|0}if((r&8|0)==0?Ck(a,f[c+12>>2]|0,f[e+12>>2]|0,g)|0:0){g=2;t=s;return g|0}if(Ck(a,f[c+16>>2]|0,f[e+16>>2]|0,g)|0){g=2;t=s;return g|0}l=f[c+20>>2]|0;m=f[e+20>>2]|0;i=(l|0)==0;k=(m|0)==0;e:do if(!(i&k)){if(i|k){g=2;t=s;return g|0}i=f[l>>2]|0;if((i|0)!=(f[m>>2]|0)){g=2;t=s;return g|0}if((i|0)>0){i=0;while(1){if((b[l+4+(i*20|0)+12>>0]|0)!=(b[m+4+(i*20|0)+12>>0]|0)){i=2;p=122;break}if(Ck(0,f[l+4+(i*20|0)>>2]|0,f[m+4+(i*20|0)>>2]|0,g)|0){i=2;p=122;break}i=i+1|0;if((i|0)>=(f[l>>2]|0))break e}if((p|0)==122){t=s;return i|0}}}while(0);switch(b[c>>0]|0){case -101:case 106:break d;default:{}}if((d[c+32>>1]|0)!=(d[e+32>>1]|0)){g=2;t=s;return g|0}c=f[c+28>>2]|0;e=f[e+28>>2]|0;if((c|0)!=(e|0)?(c|0)!=(g|0)|(e|0)>-1:0){g=2;t=s;return g|0}}while(0);g=0;t=s;return g|0}function Dk(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+16|0;n=u;f[n>>2]=0;o=(e|0)!=0;do if(o){if(((c|0)==143?(h=f[e>>2]|0,h|0):0)?Pd(h,n)|0:0){m=0;break}m=(f[e+4>>2]|0)+1|0}else m=0;while(0);k=m+48|0;a:do if(f[a+272>>2]|0)if(!(b[a+81>>0]|0))l=16;else{s=0;t=u;return s|0}else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){h=a+300|0;i=f[h>>2]|0;if(i|0){f[h>>2]=f[i>>2];p=a+284|0;f[p>>2]=(f[p>>2]|0)+1;p=i;break a}h=a+296|0;i=f[h>>2]|0;if(!i){h=a+292|0;break}else{f[h>>2]=f[i>>2];p=a+284|0;f[p>>2]=(f[p>>2]|0)+1;p=i;break a}}else h=a+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1;l=16}while(0);if((l|0)==16)p=Dc(a,k,0)|0;if(!p){s=p;t=u;return s|0}h=p;i=h+48|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));b[p>>0]=c;d[p+34>>1]=-1;do if(o){if(!m){f[p+4>>2]=8389632;f[p+8>>2]=f[n>>2];break}k=p+48|0;a=p+8|0;f[a>>2]=k;h=e+4|0;i=f[h>>2]|0;if(!i)h=0;else{YA(k|0,f[e>>2]|0,i|0)|0;h=f[h>>2]|0}b[k+h>>0]=0;if(g|0?(s=f[a>>2]|0,q=b[s>>0]|0,(b[5472+(q&255)>>0]|0)<0):0){if(q<<24>>24==34){q=p+4|0;f[q>>2]=f[q>>2]|64}if(s|0?(r=b[s>>0]|0,(b[5472+(r&255)>>0]|0)<0):0){a=r<<24>>24==91?93:r;k=0;h=1;while(1){i=b[s+h>>0]|0;if(i<<24>>24==a<<24>>24){h=h+1|0;i=s+k|0;if((b[s+h>>0]|0)!=a<<24>>24)break;b[i>>0]=a}else b[s+k>>0]=i;k=k+1|0;h=h+1|0}b[i>>0]=0}}}while(0);f[p+24>>2]=1;s=p;t=u;return s|0}function Ek(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0.0,q=0,r=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=t;t=t+32|0;v=I+16|0;E=I+8|0;F=I;G=I+24|0;f[G>>2]=0;n=c;a:while(1){c=b[n>>0]|0;switch(c<<24>>24){case -94:case -87:break;default:break a}n=f[n+12>>2]|0}if(c<<24>>24==-92)c=h[n+38>>0]|0;else c=c&255;b:do switch((c&255)<<24>>24){case 36:{c=f[n+8>>2]|0;l=b[c>>0]|0;c:do if(!(l<<24>>24))k=67;else{k=67;m=0;do{m=m<<8|h[1232+(l&255)>>0];c=c+1|0;d:do if((m|0)<1685026146){if((m|0)<1667785074){switch(m|0){case 1651273570:break;default:{H=16;break d}}switch(k<<24>>24){case 69:case 67:{k=65;break d}default:{H=15;break d}}}if((m|0)<1668050786)switch(m|0){case 1667785074:{k=66;break d}default:{H=16;break d}}else switch(m|0){case 1668050786:{k=66;break d}default:{H=16;break d}}}else{if((m|0)>=1919246700){if((m|0)>=1952807028)switch(m|0){case 1952807028:{k=66;break d}default:{H=16;break d}}switch(m|0){case 1919246700:break;default:{H=16;break d}}if(k<<24>>24==67){k=69;break}else{H=15;break}}if((m|0)<1718382433){switch(m|0){case 1685026146:break;default:{H=16;break d}}if(k<<24>>24==67){k=69;break}}else{switch(m|0){case 1718382433:break;default:{H=16;break d}}if(k<<24>>24==67){k=69;break}}}while(0);if((H|0)==15)H=0;else if((H|0)==16){H=0;if((m&16777215|0)==6909556){k=68;break c}}l=b[c>>0]|0}while(l<<24>>24!=0)}while(0);r=Ek(a,f[n+12>>2]|0,e,k,i)|0;c=f[i>>2]|0;if(!c){i=r;t=I;return i|0}Vi(c,k,1);q=f[i>>2]|0;if(g<<24>>24<=66){if(g<<24>>24!=66){i=r;t=I;return i|0}k=q+8|0;c=d[k>>1]|0;i=c&65535;if(!((i&2|0)!=0|(i&12|0)==0)){Ti(q,1,1)|0;c=d[k>>1]|0}d[k>>1]=c&-13;i=r;t=I;return i|0}n=q+8|0;l=d[n>>1]|0;c=l&65535;if(c&4|0){i=r;t=I;return i|0}if(c&8|0){o=+p[q>>3];c=Fc(o)|0;k=ba()|0;i=KA(c|0,k|0,1,-2147483648)|0;H=ba()|0;if(!((H>>>0>0|(H|0)==0&i>>>0>1)&o==+(c>>>0)+4294967296.0*+(k|0))){i=r;t=I;return i|0}i=q;f[i>>2]=c;f[i+4>>2]=k;d[n>>1]=l&15872|4;i=r;t=I;return i|0}if(!(c&2)){i=r;t=I;return i|0}c=b[q+10>>0]|0;k=q+16|0;l=q+12|0;if(jf(f[k>>2]|0,E,f[l>>2]|0,c)|0){if(kf(f[k>>2]|0,F,f[l>>2]|0,c)|0){o=+p[E>>3];p[q>>3]=o;k=d[n>>1]|0;c=k|8;d[n>>1]=c;l=Fc(o)|0;m=ba()|0;i=KA(l|0,m|0,1,-2147483648)|0;a=ba()|0;if((a>>>0>0|(a|0)==0&i>>>0>1)&o==+(l>>>0)+4294967296.0*+(m|0)){c=q;f[c>>2]=l;f[c+4>>2]=m;c=k&15872;H=28}}else{i=F;H=f[i+4>>2]|0;c=q;f[c>>2]=f[i>>2];f[c+4>>2]=H;c=d[n>>1]|0;H=28}if((H|0)==28){c=c|4;d[n>>1]=c}d[n>>1]=c&-3}i=r;t=I;return i|0}case -95:{c=f[n+12>>2]|0;k=b[c>>0]|0;switch(k<<24>>24){case -115:case -113:break;default:{H=107;break b}}u=43039;n=c;r=k&255;m=-1;q=-1;H=39;break}default:{u=72788;r=c;m=1;q=0;H=39}}while(0);e:do if((H|0)==39){f:do switch(r|0){case 106:case 141:case 143:{g:do if(!a){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](40)|0;H=64;break}c=ib[f[37372>>2]&255](40)|0;if((f[18194]|0)>>>0<40)f[18194]=40;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){D=f[18187]|0;C=LA(k|0,l|0,c|0,((c|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&C>>>0<=D>>>0)&1}k=ib[f[37356>>2]&255](c)|0;if(k){c=ib[f[37368>>2]&255](k)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0){f[18196]=c;D=k}else D=k}else H=65}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){H=65;break}}else{do if((j[a+276>>1]|0)>=40){k=a+300|0;c=f[k>>2]|0;if(c|0){f[k>>2]=f[c>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=64;break g}k=a+296|0;c=f[k>>2]|0;if(!c){c=a+292|0;break}else{f[k>>2]=f[c>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=64;break g}}else c=a+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(a,40,0)|0;H=64}while(0);if((H|0)==64)if(!c)H=65;else D=c;if((H|0)==65){f[G>>2]=0;l=0;k=0;break f}k=D;l=k+40|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0));C=D+8|0;d[C>>1]=1;f[D+32>>2]=a;f[G>>2]=D;c=D;if(!(f[n+4>>2]&1024)){k=f[n+8>>2]|0;f[v>>2]=u;f[v+4>>2]=k;k=Ig(a,49509,v)|0;if(!k){l=D;k=D;break f}$e(D,k,-1,1,139)|0}else{v=f[n+8>>2]|0;v=QA(m|0,q|0,v|0,((v|0)<0)<<31>>31|0)|0;G=ba()|0;a=D;f[a>>2]=v;f[a+4>>2]=G;d[C>>1]=4}do if(g<<24>>24==65&(r|2|0)==143){m=d[C>>1]|0;k=m&65535;if(!(k&4)){if(k&8|0){o=+p[D>>3];k=Fc(o)|0;l=ba()|0;a=KA(k|0,l|0,1,-2147483648)|0;G=ba()|0;if(!((G>>>0>0|(G|0)==0&a>>>0>1)&o==+(k>>>0)+4294967296.0*+(l|0)))break;a=D;f[a>>2]=k;f[a+4>>2]=l;d[C>>1]=m&15872|4;break}if(k&2|0?(w=b[D+10>>0]|0,x=D+16|0,y=D+12|0,jf(f[x>>2]|0,E,f[y>>2]|0,w)|0):0){if(kf(f[x>>2]|0,F,f[y>>2]|0,w)|0){o=+p[E>>3];p[D>>3]=o;l=d[C>>1]|0;k=l|8;d[C>>1]=k;m=Fc(o)|0;n=ba()|0;a=KA(m|0,n|0,1,-2147483648)|0;G=ba()|0;if((G>>>0>0|(G|0)==0&a>>>0>1)&o==+(m>>>0)+4294967296.0*+(n|0)){k=D;f[k>>2]=m;f[k+4>>2]=n;k=l&15872;H=79}}else{a=F;H=f[a+4>>2]|0;k=D;f[k>>2]=f[a>>2];f[k+4>>2]=H;k=d[C>>1]|0;H=79}if((H|0)==79){k=k|4;d[C>>1]=k}d[C>>1]=k&-3}}}else{if(g<<24>>24<=66){if(g<<24>>24!=66)break;k=d[C>>1]|0;a=k&65535;if(!((a&2|0)!=0|(a&12|0)==0)){Ti(D,1,1)|0;k=d[C>>1]|0}d[C>>1]=k&-13;break}m=d[C>>1]|0;k=m&65535;if(!(k&4)){if(k&8|0){o=+p[D>>3];k=Fc(o)|0;l=ba()|0;a=KA(k|0,l|0,1,-2147483648)|0;G=ba()|0;if(!((G>>>0>0|(G|0)==0&a>>>0>1)&o==+(k>>>0)+4294967296.0*+(l|0)))break;a=D;f[a>>2]=k;f[a+4>>2]=l;d[C>>1]=m&15872|4;break}if(k&2|0?(z=b[D+10>>0]|0,A=D+16|0,B=D+12|0,jf(f[A>>2]|0,E,f[B>>2]|0,z)|0):0){if(kf(f[A>>2]|0,F,f[B>>2]|0,z)|0){o=+p[E>>3];p[D>>3]=o;l=d[C>>1]|0;k=l|8;d[C>>1]=k;m=Fc(o)|0;n=ba()|0;a=KA(m|0,n|0,1,-2147483648)|0;G=ba()|0;if((G>>>0>0|(G|0)==0&a>>>0>1)&o==+(m>>>0)+4294967296.0*+(n|0)){k=D;f[k>>2]=m;f[k+4>>2]=n;k=l&15872;H=93}}else{a=F;H=f[a+4>>2]|0;k=D;f[k>>2]=f[a>>2];f[k+4>>2]=H;k=d[C>>1]|0;H=93}if((H|0)==93){k=k|4;d[C>>1]=k}d[C>>1]=k&-3}}}while(0);k=d[C>>1]|0;l=k&65535;if(l&12){k=l&65533;d[C>>1]=k}if(e<<24>>24==1|(k&2)==0){k=0;break e}if((b[D+10>>0]|0)==e<<24>>24){k=0;break e}k=Ri(D,e)|0;break e}case 161:{c=f[n+12>>2]|0;H=107;break e}case 110:{h:do if(!a){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](40)|0;H=154;break}c=ib[f[37372>>2]&255](40)|0;if((f[18194]|0)>>>0<40)f[18194]=40;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){H=f[18187]|0;e=LA(k|0,l|0,c|0,((c|0)<0)<<31>>31|0)|0;F=ba()|0;f[17976]=((F|0)<0|(F|0)==0&e>>>0<=H>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(c){k=ib[f[37368>>2]&255](c)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;H=156}else H=156}else H=155}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){H=155;break}}else{do if((j[a+276>>1]|0)>=40){k=a+300|0;c=f[k>>2]|0;if(c|0){f[k>>2]=f[c>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=154;break h}k=a+296|0;c=f[k>>2]|0;if(!c){c=a+292|0;break}else{f[k>>2]=f[c>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=154;break h}}else c=a+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(a,40,0)|0;H=154}while(0);if((H|0)==154)if(!c)H=155;else H=156;if((H|0)==155){f[G>>2]=0;l=0;k=0;break f}else if((H|0)==156){k=c;l=k+40|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0));d[c+8>>1]=1;f[c+32>>2]=a;f[G>>2]=c;vk(c);k=0;break e}break}case 142:{i:do if(!a){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](40)|0;H=180;break}c=ib[f[37372>>2]&255](40)|0;if((f[18194]|0)>>>0<40)f[18194]=40;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){e=f[18187]|0;F=LA(k|0,l|0,c|0,((c|0)<0)<<31>>31|0)|0;E=ba()|0;f[17976]=((E|0)<0|(E|0)==0&F>>>0<=e>>>0)&1}k=ib[f[37356>>2]&255](c)|0;if(k){c=ib[f[37368>>2]&255](k)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0){f[18196]=c;w=k}else w=k}else H=181}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){H=181;break}}else{do if((j[a+276>>1]|0)>=40){k=a+300|0;c=f[k>>2]|0;if(c|0){f[k>>2]=f[c>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=180;break i}k=a+296|0;c=f[k>>2]|0;if(!c){c=a+292|0;break}else{f[k>>2]=f[c>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=180;break i}}else c=a+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(a,40,0)|0;H=180}while(0);if((H|0)==180)if(!c)H=181;else w=c;if((H|0)==181){f[G>>2]=0;l=0;k=0;break f}k=w;l=k+40|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0));d[w+8>>1]=1;f[w+32>>2]=a;f[G>>2]=w;c=w;r=(f[n+8>>2]|0)+2|0;q=(wz(r)|0)&1073741823;u=q+-1|0;v=(u|0)/2|0;m=v+1|0;n=((m|0)<0)<<31>>31;j:do if(f[a+272>>2]|0)if(!(b[a+81>>0]|0))H=192;else k=0;else{do if(!(0>>0|(0==(n|0)?(j[a+276>>1]|0)>>>0>>0:0))){l=a+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=193;break j}l=a+296|0;k=f[l>>2]|0;if(!k){k=a+292|0;break}else{f[l>>2]=f[k>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=193;break j}}else k=a+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;H=192}while(0);if((H|0)==192){k=Dc(a,m,n)|0;H=193}if((H|0)==193){m=q+-2|0;if(!k)k=0;else{if(q>>>0>2){l=0;do{a=b[r+l>>0]|0;e=b[r+(l|1)>>0]|0;b[k+(l>>>1)>>0]=(0-(e>>>6&1)&9)+e&15|(0-(a>>>6&1)&9)+a<<4;l=l+2|0}while((l|0)<(m|0));l=u>>>1}else l=0;b[k+l>>0]=0}}$e(w,k,v,0,139)|0;k=0;break e}case 155:{k:do if(!a){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](40)|0;H=223;break}c=ib[f[37372>>2]&255](40)|0;if((f[18194]|0)>>>0<40)f[18194]=40;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){e=f[18187]|0;F=LA(k|0,l|0,c|0,((c|0)<0)<<31>>31|0)|0;E=ba()|0;f[17976]=((E|0)<0|(E|0)==0&F>>>0<=e>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(c){k=ib[f[37368>>2]&255](c)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;H=224}else H=224}else c=0}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){c=0;break}}else{do if((j[a+276>>1]|0)>=40){k=a+300|0;c=f[k>>2]|0;if(c|0){f[k>>2]=f[c>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=223;break k}k=a+296|0;c=f[k>>2]|0;if(!c){c=a+292|0;break}else{f[k>>2]=f[c>>2];H=a+284|0;f[H>>2]=(f[H>>2]|0)+1;H=223;break k}}else c=a+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(a,40,0)|0;H=223}while(0);if((H|0)==223)if(!c)c=0;else H=224;if((H|0)==224){k=c;l=k+40|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0));d[c+8>>1]=1;f[c+32>>2]=a}f[G>>2]=c;d[c+8>>1]=4;k=c;f[k>>2]=(b[(f[n+8>>2]|0)+4>>0]|0)==0&1;f[k+4>>2]=0;k=0;break e}default:{k=0;c=0;break e}}while(0);c=a+81|0;if((b[c>>0]|0)==0?(b[a+82>>0]|0)==0:0){b[c>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;i=a+272|0;f[i>>2]=(f[i>>2]|0)+1}if(!l){i=7;t=I;return i|0}if(!((d[l+8>>1]&9216)==0?!(f[l+24>>2]|0):0))ff(l);c=f[l+32>>2]|0;if(c|0){if(f[c+480>>2]|0){Kc(c,k);i=7;t=I;return i|0}i=l;if((f[c+304>>2]|0)>>>0<=i>>>0?(f[c+308>>2]|0)>>>0>i>>>0:0){i=c+300|0;f[l>>2]=f[i>>2];f[i>>2]=k;i=7;t=I;return i|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);i=7;t=I;return i|0}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);i=7;t=I;return i|0}}while(0);do if((H|0)==107){a=(Ek(a,c,e,g,G)|0)==0;n=f[G>>2]|0;r=n;if(a&(n|0)!=0){vk(n);q=n+8|0;c=d[q>>1]|0;do if(!(c&8)){l=n;k=f[l>>2]|0;l=f[l+4>>2]|0;if((k|0)==0&(l|0)==-2147483648){p[n>>3]=9223372036854775808.0;c=c&15872|8;d[q>>1]=c;o=9223372036854775808.0;break}else{G=LA(0,0,k|0,l|0)|0;a=ba()|0;D=n;f[D>>2]=G;f[D+4>>2]=a;f[s>>2]=G;f[s+4>>2]=a;o=+p[s>>3];break}}else{o=-+p[n>>3];p[n>>3]=o}while(0);if(g<<24>>24<=66){if(g<<24>>24!=66){k=0;c=r;break}H=c&65535;if(!((H&2|0)!=0|(H&12|0)==0)){Ti(n,e,1)|0;c=d[q>>1]|0}d[q>>1]=c&-13;k=0;c=r;break}k=c&65535;if(!(k&4)){if(k&8|0){k=Fc(o)|0;l=ba()|0;H=KA(k|0,l|0,1,-2147483648)|0;a=ba()|0;if(!((a>>>0>0|(a|0)==0&H>>>0>1)&o==+(k>>>0)+4294967296.0*+(l|0))){k=0;c=r;break}H=n;f[H>>2]=k;f[H+4>>2]=l;d[q>>1]=c&15872|4;k=0;c=r;break}if(k&2){c=b[n+10>>0]|0;k=n+16|0;l=n+12|0;if(jf(f[k>>2]|0,E,f[l>>2]|0,c)|0){if(kf(f[k>>2]|0,F,f[l>>2]|0,c)|0){o=+p[E>>3];p[n>>3]=o;k=d[q>>1]|0;c=k|8;d[q>>1]=c;l=Fc(o)|0;m=ba()|0;a=KA(l|0,m|0,1,-2147483648)|0;e=ba()|0;if((e>>>0>0|(e|0)==0&a>>>0>1)&o==+(l>>>0)+4294967296.0*+(m|0)){c=n;f[c>>2]=l;f[c+4>>2]=m;c=k&15872;H=122}}else{a=F;H=f[a+4>>2]|0;c=n;f[c>>2]=f[a>>2];f[c+4>>2]=H;c=d[q>>1]|0;H=122}if((H|0)==122){c=c|4;d[q>>1]=c}d[q>>1]=c&-3}k=0;c=r}else{k=0;c=r}}else{k=0;c=r}}else{k=0;c=r}}while(0);f[i>>2]=c;i=k;t=I;return i|0}function Fk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((b[c+12>>0]|0)!=(b[d+12>>0]|0)){d=1;return d|0}if((b[c+13>>0]|0)!=(b[d+13>>0]|0)){d=1;return d|0}if((b[c+14>>0]|0)!=(b[d+14>>0]|0)){d=1;return d|0}if(Ck(a,f[c+16>>2]|0,f[d+16>>2]|0,-1)|0){d=1;return d|0}if(Ck(a,f[c+20>>2]|0,f[d+20>>2]|0,-1)|0){d=1;return d|0}g=f[c+4>>2]|0;h=f[d+4>>2]|0;a=(g|0)==0;e=(h|0)==0;a:do if(!(a&e)){if(a|e){d=1;return d|0}a=f[g>>2]|0;if((a|0)!=(f[h>>2]|0)){d=1;return d|0}if((a|0)>0){a=0;while(1){if((b[g+4+(a*20|0)+12>>0]|0)!=(b[h+4+(a*20|0)+12>>0]|0)){a=1;e=22;break}if(Ck(0,f[g+4+(a*20|0)>>2]|0,f[h+4+(a*20|0)>>2]|0,-1)|0){a=1;e=22;break}a=a+1|0;if((a|0)>=(f[g>>2]|0))break a}if((e|0)==22)return a|0}}while(0);h=f[c+8>>2]|0;g=f[d+8>>2]|0;a=(h|0)==0;e=(g|0)==0;if(a&e){d=0;return d|0}if(a|e){d=1;return d|0}a=f[h>>2]|0;if((a|0)!=(f[g>>2]|0)){d=1;return d|0}if((a|0)<=0){d=0;return d|0}a=0;while(1){if((b[h+4+(a*20|0)+12>>0]|0)!=(b[g+4+(a*20|0)+12>>0]|0)){a=1;e=22;break}if(Ck(0,f[h+4+(a*20|0)>>2]|0,f[g+4+(a*20|0)>>2]|0,-1)|0){a=1;e=22;break}a=a+1|0;if((a|0)>=(f[h>>2]|0)){a=0;e=22;break}}if((e|0)==22)return a|0;return 0}function Gk(a,c){a=a|0;c=c|0;var d=0,e=0;if(!a){c=0;return c|0}if(((c|0)!=0?(b[a>>0]|0)!=-90:0)?(f[a+4>>2]&16777216|0)==0:0)if(!(f[a+12>>2]|0))d=(f[a+20>>2]|0)==0?12:28;else d=28;else d=48;if((f[a+4>>2]&1024|0)==0?(e=f[a+8>>2]|0,(e|0)!=0):0)d=((wz(e)|0)&1073741823)+(d|1)|0;d=d+7&-8;if(!(c&1)){c=d;return c|0}else{e=Gk(f[a+12>>2]|0,c)|0;return e+d+(Gk(f[a+16>>2]|0,c)|0)|0}return 0}function Hk(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+16|0;x=D+4|0;y=D;f[y>>2]=0;z=a+81|0;if(!c){C=0;t=D;return C|0}A=a+272|0;B=a+276|0;C=a+288|0;s=a+300|0;u=a+296|0;v=a+284|0;w=a+292|0;i=0;r=y;a:while(1){do if(f[A>>2]|0)if(!(b[z>>0]|0))q=11;else break a;else{if((j[B>>1]|0)>=76){g=f[s>>2]|0;if(g|0){f[s>>2]=f[g>>2];f[v>>2]=(f[v>>2]|0)+1;break}g=f[u>>2]|0;if(!g)g=w;else{f[u>>2]=f[g>>2];f[v>>2]=(f[v>>2]|0)+1;break}}else g=C;f[g>>2]=(f[g>>2]|0)+1;q=11}while(0);if((q|0)==11){q=0;g=Dc(a,76,0)|0}if(!g)break;h=Ik(a,f[c>>2]|0,e)|0;f[g>>2]=h;h=Kk(a,f[c+32>>2]|0,e)|0;f[g+32>>2]=h;h=f[c+36>>2]|0;if(!h)h=0;else h=Bk(a,h,e,0)|0;f[g+36>>2]=h;h=Ik(a,f[c+40>>2]|0,e)|0;f[g+40>>2]=h;h=f[c+44>>2]|0;if(!h)h=0;else h=Bk(a,h,e,0)|0;f[g+44>>2]=h;p=Ik(a,f[c+48>>2]|0,e)|0;f[g+48>>2]=p;b[g+4>>0]=b[c+4>>0]|0;f[g+56>>2]=i;p=r;r=g+52|0;f[r>>2]=0;h=f[c+60>>2]|0;if(!h)h=0;else h=Bk(a,h,e,0)|0;f[g+60>>2]=h;f[g+12>>2]=0;f[g+16>>2]=0;f[g+8>>2]=f[c+8>>2]&-33;f[g+24>>2]=-1;f[g+28>>2]=-1;d[g+6>>1]=d[c+6>>1]|0;o=f[c+64>>2]|0;b:do if(o){k=f[o>>2]<<4|8;i=((k|0)<0)<<31>>31;do if(f[A>>2]|0)if(!(b[z>>0]|0))q=28;else{h=0;break b}else{if(!(0>>0|(0==(i|0)?(j[B>>1]|0)>>>0>>0:0))){h=f[s>>2]|0;if(h|0){f[s>>2]=f[h>>2];f[v>>2]=(f[v>>2]|0)+1;break}h=f[u>>2]|0;if(!h)h=w;else{f[u>>2]=f[h>>2];f[v>>2]=(f[v>>2]|0)+1;break}}else h=C;f[h>>2]=(f[h>>2]|0)+1;q=28}while(0);if((q|0)==28){q=0;h=Dc(a,k,i)|0}if(h){_A(h|0,0,k|0)|0;f[h>>2]=f[o>>2];if((f[o>>2]|0)>0){n=h+8|0;m=0;do{k=Hk(a,f[o+8+(m<<4)+8>>2]|0,0)|0;f[n+(m<<4)+8>>2]=k;k=Ik(a,f[o+8+(m<<4)+4>>2]|0,0)|0;f[n+(m<<4)+4>>2]=k;k=f[o+8+(m<<4)>>2]|0;c:do if(k){l=(wz(k)|0)+1|0;d:do if(f[A>>2]|0)if(!(b[z>>0]|0))q=41;else{i=0;break c}else{do if(0<0|(0==0?(j[B>>1]|0)>>>0>>0:0))i=C;else{i=f[s>>2]|0;if(i|0){f[s>>2]=f[i>>2];f[v>>2]=(f[v>>2]|0)+1;break d}i=f[u>>2]|0;if(!i){i=w;break}f[u>>2]=f[i>>2];f[v>>2]=(f[v>>2]|0)+1;break d}while(0);f[i>>2]=(f[i>>2]|0)+1;q=41}while(0);if((q|0)==41){q=0;i=Dc(a,l,0)|0}if(i)YA(i|0,k|0,l|0)|0;else i=0}else i=0;while(0);f[n+(m<<4)>>2]=i;m=m+1|0}while((m|0)<(f[o>>2]|0))}}else h=0}else h=0;while(0);f[g+64>>2]=h;f[g+68>>2]=0;h=f[c+72>>2]|0;f[x>>2]=0;if(!h)h=0;else{k=x;while(1){i=Jk(a,0,h)|0;f[k>>2]=i;if(!i)break;h=f[h+24>>2]|0;if(!h)break;else k=i+24|0}h=f[x>>2]|0}f[g+72>>2]=h;f[g+20>>2]=f[c+20>>2];f[p>>2]=g;c=f[c+52>>2]|0;if(!c)break;else i=g}C=f[y>>2]|0;t=D;return C|0}function Ik(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;if(!c){A=0;return A|0}A=(a|0)==0;if((!A?(g=c,(f[a+304>>2]|0)>>>0<=g>>>0):0)?(f[a+308>>2]|0)>>>0>g>>>0:0)i=j[a+276>>1]|0;else i=ib[f[37368>>2]&255](c)|0;k=((i|0)<0)<<31>>31;z=a+272|0;a:do if(f[z>>2]|0)if(!(b[a+81>>0]|0))y=17;else{A=0;return A|0}else{do if(!(0>>0|(0==(k|0)?(j[a+276>>1]|0)>>>0>>0:0))){h=a+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];x=a+284|0;f[x>>2]=(f[x>>2]|0)+1;break a}h=a+296|0;g=f[h>>2]|0;if(!g){g=a+292|0;break}else{f[h>>2]=f[g>>2];x=a+284|0;f[x>>2]=(f[x>>2]|0)+1;break a}}else g=a+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;y=17}while(0);if((y|0)==17)g=Dc(a,i,k)|0;if(!g){A=0;return A|0}f[g>>2]=f[c>>2];if((f[c>>2]|0)<=0){A=g;return A|0}r=a+276|0;s=a+81|0;t=a+288|0;u=a+300|0;v=a+296|0;w=a+284|0;x=a+292|0;o=g+4|0;h=0;p=0;q=c+4|0;while(1){i=f[q>>2]|0;do if(i){k=Bk(a,i,e,0)|0;f[o>>2]=k;if(!((k|0)==0|(b[i>>0]|0)!=-90))if(!(d[k+32>>1]|0)){n=f[k+16>>2]|0;f[k+12>>2]=n;break}else{f[k+12>>2]=h;n=h;break}else n=h}else{f[o>>2]=0;n=h}while(0);l=f[q+4>>2]|0;b:do if(!l)h=0;else{m=(wz(l)|0)+1|0;do if(A){k=KA(m|0,0,-1,-1)|0;i=ba()|0;if(i>>>0>0|(i|0)==0&k>>>0>2147483390){h=0;break b}if(!(f[9328]|0)){h=ib[f[37356>>2]&255](m)|0;y=50;break}h=ib[f[37372>>2]&255](m)|0;if((f[18194]|0)>>>0>>0)f[18194]=m;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){B=f[18187]|0;k=LA(i|0,k|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[17976]=((i|0)<0|(i|0)==0&k>>>0<=B>>>0)&1}h=ib[f[37356>>2]&255](h)|0;if(!h){h=0;break b}i=ib[f[37368>>2]&255](h)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}else{if(f[z>>2]|0){if(b[s>>0]|0){h=0;break b}}else{if(!(0<0|(0==0?(j[r>>1]|0)>>>0>>0:0))){h=f[u>>2]|0;if(h|0){f[u>>2]=f[h>>2];f[w>>2]=(f[w>>2]|0)+1;y=50;break}h=f[v>>2]|0;if(!h)h=x;else{f[v>>2]=f[h>>2];f[w>>2]=(f[w>>2]|0)+1;y=50;break}}else h=t;f[h>>2]=(f[h>>2]|0)+1}h=Dc(a,m,0)|0;y=50}while(0);if((y|0)==50){y=0;if(!h){h=0;break}}YA(h|0,l|0,m|0)|0}while(0);f[o+4>>2]=h;l=f[q+8>>2]|0;c:do if(!l)h=0;else{m=(wz(l)|0)+1|0;do if(A){B=KA(m|0,0,-1,-1)|0;k=ba()|0;if(k>>>0>0|(k|0)==0&B>>>0>2147483390){h=0;break c}if(!(f[9328]|0)){h=ib[f[37356>>2]&255](m)|0;y=75;break}h=ib[f[37372>>2]&255](m)|0;if((f[18194]|0)>>>0>>0)f[18194]=m;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){B=f[18187]|0;k=LA(i|0,k|0,h|0,((h|0)<0)<<31>>31|0)|0;i=ba()|0;f[17976]=((i|0)<0|(i|0)==0&k>>>0<=B>>>0)&1}h=ib[f[37356>>2]&255](h)|0;if(!h){h=0;break c}i=ib[f[37368>>2]&255](h)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}else{if(f[z>>2]|0){if(b[s>>0]|0){h=0;break c}}else{if(!(0<0|(0==0?(j[r>>1]|0)>>>0>>0:0))){h=f[u>>2]|0;if(h|0){f[u>>2]=f[h>>2];f[w>>2]=(f[w>>2]|0)+1;y=75;break}h=f[v>>2]|0;if(!h)h=x;else{f[v>>2]=f[h>>2];f[w>>2]=(f[w>>2]|0)+1;y=75;break}}else h=t;f[h>>2]=(f[h>>2]|0)+1}h=Dc(a,m,0)|0;y=75}while(0);if((y|0)==75){y=0;if(!h){h=0;break}}YA(h|0,l|0,m|0)|0}while(0);f[o+8>>2]=h;b[o+12>>0]=b[q+12>>0]|0;B=o+13|0;l=b[B>>0]|0;b[B>>0]=l&-2;m=q+13|0;l=b[m>>0]&2|l&-4;b[B>>0]=l;b[B>>0]=l&-10|b[m>>0]&8;f[o+16>>2]=f[q+16>>2];p=p+1|0;if((p|0)>=(f[c>>2]|0))break;else{o=o+20|0;h=n;q=q+20|0}}return g|0}function Jk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;if(!d){c=0;return c|0}i=(a|0)==0;a:do if(i){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](72)|0;m=25;break}e=ib[f[37372>>2]&255](72)|0;if((f[18194]|0)>>>0<72)f[18194]=72;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){l=f[18187]|0;k=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;h=ba()|0;f[17976]=((h|0)<0|(h|0)==0&k>>>0<=l>>>0)&1}g=ib[f[37356>>2]&255](e)|0;if(!g){c=0;return c|0}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){c=0;return c|0}}else{do if((j[a+276>>1]|0)>=72){g=a+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];m=a+284|0;f[m>>2]=(f[m>>2]|0)+1;m=25;break a}g=a+296|0;e=f[g>>2]|0;if(!e){e=a+292|0;break}else{f[g>>2]=f[e>>2];m=a+284|0;f[m>>2]=(f[m>>2]|0)+1;m=25;break a}}else e=a+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(a,72,0)|0;m=25}while(0);if((m|0)==25)if(!e){c=0;return c|0}else g=e;e=g;h=e+72|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(h|0));k=f[d>>2]|0;b:do if(!k)e=0;else{l=(wz(k)|0)+1|0;c:do if(i){i=KA(l|0,0,-1,-1)|0;h=ba()|0;if(h>>>0>0|(h|0)==0&i>>>0>2147483390){e=0;break b}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](l)|0;m=51;break}e=ib[f[37372>>2]&255](l)|0;if((f[18194]|0)>>>0>>0)f[18194]=l;i=71896;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){n=f[18187]|0;i=LA(h|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;h=ba()|0;f[17976]=((h|0)<0|(h|0)==0&i>>>0<=n>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e){e=0;break b}h=ib[f[37368>>2]&255](e)|0;h=(f[18187]|0)+h|0;f[18187]=h;if(h>>>0>(f[18191]|0)>>>0)f[18191]=h;h=(f[18190]|0)+1|0;f[18190]=h;if(h>>>0>(f[18196]|0)>>>0)f[18196]=h}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){e=0;break b}}else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){h=a+300|0;e=f[h>>2]|0;if(e|0){f[h>>2]=f[e>>2];m=a+284|0;f[m>>2]=(f[m>>2]|0)+1;m=51;break c}h=a+296|0;e=f[h>>2]|0;if(!e){e=a+292|0;break}else{f[h>>2]=f[e>>2];m=a+284|0;f[m>>2]=(f[m>>2]|0)+1;m=51;break c}}else e=a+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(a,l,0)|0;m=51}while(0);if((m|0)==51)if(!e){e=0;break}YA(e|0,k|0,l|0)|0}while(0);f[g>>2]=e;e=f[d+28>>2]|0;if(!e)e=0;else e=Bk(a,e,0,0)|0;f[g+28>>2]=e;e=Ik(a,f[d+4>>2]|0,0)|0;f[g+4>>2]=e;e=Ik(a,f[d+8>>2]|0,0)|0;f[g+8>>2]=e;b[g+12>>0]=b[d+12>>0]|0;b[g+14>>0]=b[d+14>>0]|0;b[g+13>>0]=b[d+13>>0]|0;e=f[d+16>>2]|0;if(!e)e=0;else e=Bk(a,e,0,0)|0;f[g+16>>2]=e;e=f[d+20>>2]|0;if(!e)e=0;else e=Bk(a,e,0,0)|0;f[g+20>>2]=e;f[g+60>>2]=c;n=g;return n|0}function Kk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if(!c){d=0;return d|0}h=f[c>>2]|0;v=(h|0)>0;h=(h*72|0)+8|0;i=v?h:80;h=v?((h|0)<0)<<31>>31:0;v=a+272|0;a:do if(f[v>>2]|0)if(!(b[a+81>>0]|0))u=12;else{d=0;return d|0}else{do if(!(h>>>0>0|((h|0)==0?i>>>0>(j[a+276>>1]|0)>>>0:0))){g=a+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];t=a+284|0;f[t>>2]=(f[t>>2]|0)+1;break a}g=a+296|0;e=f[g>>2]|0;if(!e){e=a+292|0;break}else{f[g>>2]=f[e>>2];t=a+284|0;f[t>>2]=(f[t>>2]|0)+1;break a}}else e=a+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;u=12}while(0);if((u|0)==12)e=Dc(a,i,h)|0;if(!e){d=0;return d|0}t=f[c>>2]|0;f[e+4>>2]=t;f[e>>2]=t;if((f[c>>2]|0)<=0){d=e;return d|0}m=e+8|0;n=a+276|0;o=a+81|0;p=a+288|0;q=a+300|0;r=a+296|0;s=a+284|0;t=a+292|0;l=0;do{f[m+(l*72|0)>>2]=f[c+8+(l*72|0)>>2];h=f[c+8+(l*72|0)+4>>2]|0;b:do if(h){i=(wz(h)|0)+1|0;do if(f[v>>2]|0)if(!(b[o>>0]|0))u=25;else{g=0;break b}else{if(!(0<0|(0==0?(j[n>>1]|0)>>>0>>0:0))){g=f[q>>2]|0;if(g|0){f[q>>2]=f[g>>2];f[s>>2]=(f[s>>2]|0)+1;break}g=f[r>>2]|0;if(!g)g=t;else{f[r>>2]=f[g>>2];f[s>>2]=(f[s>>2]|0)+1;break}}else g=p;f[g>>2]=(f[g>>2]|0)+1;u=25}while(0);if((u|0)==25){u=0;g=Dc(a,i,0)|0}if(g)YA(g|0,h|0,i|0)|0;else g=0}else g=0;while(0);f[m+(l*72|0)+4>>2]=g;h=f[c+8+(l*72|0)+8>>2]|0;c:do if(h){i=(wz(h)|0)+1|0;do if(f[v>>2]|0)if(!(b[o>>0]|0))u=37;else{g=0;break c}else{if(!(0<0|(0==0?(j[n>>1]|0)>>>0>>0:0))){g=f[q>>2]|0;if(g|0){f[q>>2]=f[g>>2];f[s>>2]=(f[s>>2]|0)+1;break}g=f[r>>2]|0;if(!g)g=t;else{f[r>>2]=f[g>>2];f[s>>2]=(f[s>>2]|0)+1;break}}else g=p;f[g>>2]=(f[g>>2]|0)+1;u=37}while(0);if((u|0)==37){u=0;g=Dc(a,i,0)|0}if(g)YA(g|0,h|0,i|0)|0;else g=0}else g=0;while(0);f[m+(l*72|0)+8>>2]=g;h=f[c+8+(l*72|0)+12>>2]|0;d:do if(h){i=(wz(h)|0)+1|0;do if(f[v>>2]|0)if(!(b[o>>0]|0))u=49;else{g=0;break d}else{if(!(0<0|(0==0?(j[n>>1]|0)>>>0>>0:0))){g=f[q>>2]|0;if(g|0){f[q>>2]=f[g>>2];f[s>>2]=(f[s>>2]|0)+1;break}g=f[r>>2]|0;if(!g)g=t;else{f[r>>2]=f[g>>2];f[s>>2]=(f[s>>2]|0)+1;break}}else g=p;f[g>>2]=(f[g>>2]|0)+1;u=49}while(0);if((u|0)==49){u=0;g=Dc(a,i,0)|0}if(g)YA(g|0,h|0,i|0)|0;else g=0}else g=0;while(0);f[m+(l*72|0)+12>>2]=g;f[m+(l*72|0)+36>>2]=f[c+8+(l*72|0)+36>>2];f[m+(l*72|0)+40>>2]=f[c+8+(l*72|0)+40>>2];f[m+(l*72|0)+24>>2]=f[c+8+(l*72|0)+24>>2];f[m+(l*72|0)+28>>2]=f[c+8+(l*72|0)+28>>2];k=m+(l*72|0)+37|0;g=b[k>>0]|0;if(g&2){h=f[c+8+(l*72|0)+64>>2]|0;e:do if(h){i=(wz(h)|0)+1|0;do if(f[v>>2]|0)if(!(b[o>>0]|0))u=62;else{g=0;break e}else{if(!(0<0|(0==0?(j[n>>1]|0)>>>0>>0:0))){g=f[q>>2]|0;if(g|0){f[q>>2]=f[g>>2];f[s>>2]=(f[s>>2]|0)+1;break}g=f[r>>2]|0;if(!g)g=t;else{f[r>>2]=f[g>>2];f[s>>2]=(f[s>>2]|0)+1;break}}else g=p;f[g>>2]=(f[g>>2]|0)+1;u=62}while(0);if((u|0)==62){u=0;g=Dc(a,i,0)|0}if(g)YA(g|0,h|0,i|0)|0;else g=0}else g=0;while(0);f[m+(l*72|0)+64>>2]=g;g=b[k>>0]|0}f[m+(l*72|0)+68>>2]=f[c+8+(l*72|0)+68>>2];if(g&4){k=Ik(a,f[c+8+(l*72|0)+64>>2]|0,d)|0;f[m+(l*72|0)+64>>2]=k}g=f[c+8+(l*72|0)+16>>2]|0;f[m+(l*72|0)+16>>2]=g;if(g|0){k=g+32|0;f[k>>2]=(f[k>>2]|0)+1}g=Hk(a,f[c+8+(l*72|0)+20>>2]|0,d)|0;f[m+(l*72|0)+20>>2]=g;g=f[c+8+(l*72|0)+44>>2]|0;if(!g)g=0;else g=Bk(a,g,d,0)|0;f[m+(l*72|0)+44>>2]=g;h=Lk(a,f[c+8+(l*72|0)+48>>2]|0)|0;f[m+(l*72|0)+48>>2]=h;h=c+8+(l*72|0)+56|0;i=f[h+4>>2]|0;k=m+(l*72|0)+56|0;f[k>>2]=f[h>>2];f[k+4>>2]=i;l=l+1|0}while((l|0)<(f[c>>2]|0));return e|0}function Lk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if(!c){v=0;return v|0}v=a+272|0;a:do if(f[v>>2]|0)if(!(b[a+81>>0]|0))t=12;else{v=0;return v|0}else{do if((j[a+276>>1]|0)>=8){e=a+300|0;d=f[e>>2]|0;if(d|0){f[e>>2]=f[d>>2];u=a+284|0;f[u>>2]=(f[u>>2]|0)+1;break a}e=a+296|0;d=f[e>>2]|0;if(!d){d=a+292|0;break}else{f[e>>2]=f[d>>2];u=a+284|0;f[u>>2]=(f[u>>2]|0)+1;break a}}else d=a+288|0;while(0);f[d>>2]=(f[d>>2]|0)+1;t=12}while(0);if((t|0)==12)d=Dc(a,8,0)|0;if(!d){v=0;return v|0}u=c+4|0;f[d+4>>2]=f[u>>2];h=f[u>>2]<<3;b:do if(f[v>>2]|0)if(!(b[a+81>>0]|0))t=25;else f[d>>2]=0;else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){e=a+300|0;g=f[e>>2]|0;if(g|0){f[e>>2]=f[g>>2];t=a+284|0;f[t>>2]=(f[t>>2]|0)+1;t=26;break b}e=a+296|0;g=f[e>>2]|0;if(!g){e=a+292|0;break}else{f[e>>2]=f[g>>2];t=a+284|0;f[t>>2]=(f[t>>2]|0)+1;t=26;break b}}else e=a+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;t=25}while(0);if((t|0)==25){g=Dc(a,h,0)|0;t=26}if((t|0)==26?(f[d>>2]=g,g|0):0){if((f[u>>2]|0)<=0){v=d;return v|0}n=a+276|0;o=a+81|0;p=a+288|0;q=a+300|0;r=a+296|0;s=a+284|0;m=a+292|0;e=0;while(1){l=f[c>>2]|0;i=f[l+(e<<3)>>2]|0;c:do if(i){k=(wz(i)|0)+1|0;do if(f[v>>2]|0)if(!(b[o>>0]|0))t=46;else{h=0;break c}else{if(!(0<0|(0==0?(j[n>>1]|0)>>>0>>0:0))){h=f[q>>2]|0;if(h|0){f[q>>2]=f[h>>2];f[s>>2]=(f[s>>2]|0)+1;break}h=f[r>>2]|0;if(!h)h=m;else{f[r>>2]=f[h>>2];f[s>>2]=(f[s>>2]|0)+1;break}}else h=p;f[h>>2]=(f[h>>2]|0)+1;t=46}while(0);if((t|0)==46){t=0;h=Dc(a,k,0)|0}if(h)YA(h|0,i|0,k|0)|0;else h=0}else h=0;while(0);f[g+(e<<3)>>2]=h;f[g+(e<<3)+4>>2]=f[l+(e<<3)+4>>2];e=e+1|0;if((e|0)>=(f[u>>2]|0))break;g=f[d>>2]|0}return d|0}if(f[a+480>>2]|0){Kc(a,d);v=0;return v|0}v=d;if((f[a+304>>2]|0)>>>0<=v>>>0?(f[a+308>>2]|0)>>>0>v>>>0:0){v=a+300|0;f[d>>2]=f[v>>2];f[v>>2]=d;v=0;return v|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);v=0;return v|0}else{v=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);v=0;return v|0}return 0}function Mk(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;m=t;t=t+32|0;h=m;e=m+4|0;if(!b){l=0;t=m;return l|0}k=a+24|0;l=j[k>>1]|0;d[k>>1]=l&61423;c=f[a>>2]|0;f[e>>2]=c;f[e+4>>2]=146;f[e+8>>2]=147;f[e+12>>2]=0;f[e+24>>2]=a;i=b+24|0;g=c+204|0;n=(f[g>>2]|0)+(f[i>>2]|0)|0;f[g>>2]=n;g=f[(f[c>>2]|0)+120>>2]|0;if((g|0)<(n|0)){f[h>>2]=g;ni(c,42710,h);n=1;t=m;return n|0}oi(e,b)|0;e=f[e>>2]|0;c=e+204|0;f[c>>2]=(f[c>>2]|0)-(f[i>>2]|0);c=d[k>>1]|0;if(c&16){n=b+4|0;f[n>>2]=f[n>>2]|2}d[k>>1]=l&4112|c&65535;if((f[a+20>>2]|0)>0){n=1;t=m;return n|0}n=(f[e+36>>2]|0)>0&1;t=m;return n|0}function Nk(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+32|0;k=p;c=f[c+4+(d*20|0)>>2]|0;m=f[a>>2]|0;if(!c){o=e+4|0;e=f[o>>2]|0;e=e|4194304;f[o>>2]=e;t=p;return}c=Bk(m,c,0,0)|0;if(!c){o=e+4|0;e=f[o>>2]|0;e=e|4194304;f[o>>2]=e;t=p;return}if((h|0)>0&(b[g>>0]|0)!=71){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+4>>2]=153;f[k+24>>2]=h;oi(k,c)|0}if((b[e>>0]|0)==102){d=f[e+8>>2]|0;f[k>>2]=d;if(d){h=(wz(d)|0)&1073741823;f[k+4>>2]=h;if((h|0)!=0?(i=Dk(f[a>>2]|0,102,k,0)|0,(i|0)!=0):0){f[i+12>>2]=c;c=i+4|0;f[c>>2]=f[c>>2]|4352;c=i}}else f[k+4>>2]=0}i=c+4|0;f[i>>2]=f[i>>2]|4194304;i=e+4|0;f[i>>2]=f[i>>2]|32768;ig(m,e);d=e;g=c;h=d+48|0;do{f[d>>2]=f[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(h|0));if((f[i>>2]&1024|0)==0?(o=e+8|0,n=f[o>>2]|0,n|0):0){a=(wz(n)|0)+1|0;a:do if(!m){k=KA(a|0,0,-1,-1)|0;h=ba()|0;if(!(h>>>0>0|(h|0)==0&k>>>0>2147483390)){if(!(f[9328]|0)){d=ib[f[37356>>2]&255](a)|0;l=38;break}g=ib[f[37372>>2]&255](a)|0;if((f[18194]|0)>>>0>>0)f[18194]=a;d=71896;h=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&h>>>0>0){k=f[18187]|0;h=LA(h|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ba()|0;f[17976]=((d|0)<0|(d|0)==0&h>>>0<=k>>>0)&1}d=ib[f[37356>>2]&255](g)|0;if(d){g=ib[f[37368>>2]&255](d)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;l=39}else l=39}else d=0}else d=0}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){d=0;break}}else{do if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0))){g=m+300|0;d=f[g>>2]|0;if(d|0){f[g>>2]=f[d>>2];l=m+284|0;f[l>>2]=(f[l>>2]|0)+1;l=38;break a}g=m+296|0;d=f[g>>2]|0;if(!d){d=m+292|0;break}else{f[g>>2]=f[d>>2];l=m+284|0;f[l>>2]=(f[l>>2]|0)+1;l=38;break a}}else d=m+288|0;while(0);f[d>>2]=(f[d>>2]|0)+1}d=Dc(m,a,0)|0;l=38}while(0);if((l|0)==38)if(!d)d=0;else l=39;if((l|0)==39)YA(d|0,n|0,a|0)|0;f[o>>2]=d;f[i>>2]=f[i>>2]|65536}if(m|0){if(f[m+480>>2]|0){Kc(m,c);o=e+4|0;e=f[o>>2]|0;e=e|4194304;f[o>>2]=e;t=p;return}o=c;if((f[m+304>>2]|0)>>>0<=o>>>0?(f[m+308>>2]|0)>>>0>o>>>0:0){o=m+300|0;f[c>>2]=f[o>>2];f[o>>2]=c;o=e+4|0;e=f[o>>2]|0;e=e|4194304;f[o>>2]=e;t=p;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);o=e+4|0;e=f[o>>2]|0;e=e|4194304;f[o>>2]=e;t=p;return}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);o=e+4|0;e=f[o>>2]|0;e=e|4194304;f[o>>2]=e;t=p;return}}function Ok(a,c){a=a|0;c=c|0;if((b[c>>0]|0)!=-97)return 0;c=c+38|0;b[c>>0]=(f[a+24>>2]|0)+(h[c>>0]|0);return 0}function Pk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0;l=0;a:while(1){switch(b[a+l>>0]|0){case 46:case 0:break a;default:{}}l=l+1|0}if(e|0){b:do if(l|0){g=a;k=e;i=l;while(1){f=b[g>>0]|0;if(!(f<<24>>24)){i=8;break}j=b[1232+(f&255)>>0]|0;f=b[1232+(h[k>>0]|0)>>0]|0;if(j<<24>>24!=f<<24>>24){i=10;break}if((i|0)>1){g=g+1|0;k=k+1|0;i=i+-1|0}else break b}if((i|0)==8){g=0;f=b[1232+(h[k>>0]|0)>>0]|0}else if((i|0)==10)g=j&255;if((g|0)!=(f&255|0)){d=0;return d|0}}while(0);if(b[e+l>>0]|0){d=0;return d|0}}a=a+(l+1)|0;l=0;c:while(1){switch(b[a+l>>0]|0){case 46:case 0:break c;default:{}}l=l+1|0}if(d|0){d:do if(l|0){g=a;k=d;i=l;while(1){f=b[g>>0]|0;if(!(f<<24>>24)){i=21;break}j=b[1232+(f&255)>>0]|0;f=b[1232+(h[k>>0]|0)>>0]|0;if(j<<24>>24!=f<<24>>24){i=23;break}if((i|0)>1){g=g+1|0;k=k+1|0;i=i+-1|0}else break d}if((i|0)==21){g=0;f=b[1232+(h[k>>0]|0)>>0]|0}else if((i|0)==23)g=j&255;if((g|0)!=(f&255|0)){d=0;return d|0}}while(0);if(b[d+l>>0]|0){d=0;return d|0}}if(c|0){g=a+(l+1)|0;d=b[g>>0]|0;f=(h[1232+(d&255)>>0]|0)-(h[1232+(h[c>>0]|0)>>0]|0)|0;if(!(d<<24>>24==0|(f|0)!=0))do{g=g+1|0;c=c+1|0;d=b[g>>0]|0;f=(h[1232+(d&255)>>0]|0)-(h[1232+(h[c>>0]|0)>>0]|0)|0}while(!(d<<24>>24==0|(f|0)!=0));if(f|0){d=0;return d|0}}d=1;return d|0}function Qk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+32|0;i=n+24|0;m=n+16|0;l=n+8|0;h=n;j=f[a>>2]|0;k=f[(f[j+16>>2]|0)+(e<<4)>>2]|0;if(b[j+165>>0]|0){m=0;t=n;return m|0}g=nb[f[j+312>>2]&127](f[j+316>>2]|0,20,c,d,k,f[a+236>>2]|0)|0;if((g|0)==1){f[h>>2]=c;f[h+4>>2]=d;c=wd(50225,h)|0;if(e|0?1:(f[j+20>>2]|0)>2){f[l>>2]=k;f[l+4>>2]=c;c=wd(50231,l)|0}f[m>>2]=c;ni(a,50237,m);f[a+12>>2]=23;m=1;t=n;return m|0}else{if((g|2|0)==2){m=g;t=n;return m|0}ni(a,49831,i);f[a+12>>2]=1;m=g;t=n;return m|0}return 0}function Rk(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if(!c)t=0;else t=(wz(c)|0)&1073741823;u=a+364|0;m=f[a+376>>2]|0;if(!m){k=a+368|0;i=a+372|0}else{k=b[c>>0]|0;if(!(k<<24>>24))i=0;else{i=0;l=c;do{l=l+1|0;i=U(i+(h[1232+(k&255)>>0]|0)|0,-1640531535)|0;k=b[l>>0]|0}while(k<<24>>24!=0)}i=(i>>>0)%((f[u>>2]|0)>>>0)|0;k=m+(i<<3)|0;i=m+(i<<3)+4|0}k=f[k>>2]|0;a:do if(!k)i=72124;else{o=h[1232+(h[c>>0]|0)>>0]|0;while(1){i=f[i>>2]|0;k=k+-1|0;m=f[i+12>>2]|0;n=b[m>>0]|0;l=(h[1232+(n&255)>>0]|0)-o|0;if(!(n<<24>>24==0|(l|0)!=0)){n=c;do{m=m+1|0;n=n+1|0;v=b[m>>0]|0;l=(h[1232+(v&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(v<<24>>24==0|(l|0)!=0))}if(!l)break a;if(!k){i=72124;break}}}while(0);i=f[i+8>>2]|0;b:do if(!i){l=0;i=0}else{o=e&255;if((d|0)==-2){l=0;k=0;while(1){o=(f[i+16>>2]|0)==0?0:6;v=(o|0)>(k|0);k=v?o:k;l=v?i:l;i=f[i+12>>2]|0;if(!i){i=k;break b}}}l=0;n=0;while(1){v=b[i>>0]|0;k=v<<24>>24;do if(!(v<<24>>24>-1&(k|0)!=(d|0))){k=(k|0)==(d|0)?4:1;m=f[i+4>>2]|0;if((m&3|0)==(o|0)){k=k|2;break}else{k=((m&o)>>>1&1)+k|0;break}}else k=0;while(0);v=(k|0)>(n|0);k=v?k:n;l=v?i:l;i=f[i+12>>2]|0;if(!i){i=k;break}else n=k}}while(0);c:do if(!(g<<24>>24)){if(l|0?(f[a+24>>2]&2|0)==0:0){q=l;r=0;o=93;break}o=h[1232+(h[c>>0]|0)>>0]|0;i=f[71916+((((t+o|0)>>>0)%23|0)<<2)>>2]|0;if(i){while(1){m=f[i+32>>2]|0;v=b[m>>0]|0;k=(h[1232+(v&255)>>0]|0)-o|0;if(!(v<<24>>24==0|(k|0)!=0)){n=c;do{m=m+1|0;n=n+1|0;v=b[m>>0]|0;k=(h[1232+(v&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(v<<24>>24==0|(k|0)!=0))}if(!k)break;i=f[i+36>>2]|0;if(!i){i=0;o=46;break c}}if(!i){i=0;o=46}else{o=e&255;if((d|0)==-2){k=0;while(1){o=(f[i+16>>2]|0)==0?0:6;v=(o|0)>(k|0);k=v?o:k;l=v?i:l;i=f[i+12>>2]|0;if(!i){i=k;o=46;break c}}}n=0;while(1){v=b[i>>0]|0;k=v<<24>>24;do if(!(v<<24>>24>-1&(k|0)!=(d|0))){k=(k|0)==(d|0)?4:1;m=f[i+4>>2]|0;if((m&3|0)==(o|0)){k=k|2;break}else{k=((m&o)>>>1&1)+k|0;break}}else k=0;while(0);v=(k|0)>(n|0);k=v?k:n;l=v?i:l;i=f[i+12>>2]|0;if(!i){i=k;o=46;break}else n=k}}}else{p=l;s=0;o=92}}else o=46;while(0);d:do if((o|0)==46){k=g<<24>>24!=0;if(k&(i|0)<6){n=t+41|0;g=(a|0)==0;e:do if(g){v=KA(n|0,0,-1,-1)|0;m=ba()|0;if(m>>>0>0|(m|0)==0&v>>>0>2147483390)break d;if(!(f[9328]|0)){i=ib[f[37356>>2]&255](n)|0;o=71;break}i=ib[f[37372>>2]&255](n)|0;if((f[18194]|0)>>>0>>0)f[18194]=n;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){v=f[18187]|0;m=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&m>>>0<=v>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(!k)break d;i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;m=k}else m=k}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0)break d}else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){k=a+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];o=a+284|0;f[o>>2]=(f[o>>2]|0)+1;o=71;break e}k=a+296|0;i=f[k>>2]|0;if(!i){i=a+292|0;break}else{f[k>>2]=f[i>>2];o=a+284|0;f[o>>2]=(f[o>>2]|0)+1;o=71;break e}}else i=a+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(a,n,0)|0;o=71}while(0);if((o|0)==71)if(!i)break;else m=i;_A(m|0,0,n|0)|0;i=m+40|0;l=m+32|0;f[l>>2]=i;b[m>>0]=d;f[m+4>>2]=e&255;YA(i|0,c|0,t+1|0)|0;k=b[i>>0]|0;if(k<<24>>24){do{b[i>>0]=b[1232+(k&255)>>0]|0;i=i+1|0;k=b[i>>0]|0}while(k<<24>>24!=0);i=f[l>>2]|0}i=pg(u,i,m)|0;if((i|0)!=(m|0)){f[m+12>>2]=i;v=m;return v|0}do if(!g){if(f[a+480>>2]|0){Kc(a,m);break}v=m;if((f[a+304>>2]|0)>>>0<=v>>>0?(f[a+308>>2]|0)>>>0>v>>>0:0){v=a+300|0;f[m>>2]=f[v>>2];f[v>>2]=m}else o=83}else o=83;while(0);do if((o|0)==83)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{v=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);i=a+81|0;if(b[i>>0]|0){v=0;return v|0}if(b[a+82>>0]|0){v=0;return v|0}b[i>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;v=a+272|0;f[v>>2]=(f[v>>2]|0)+1;v=0;return v|0}else{p=l;s=k;o=92}}while(0);if((o|0)==92?p|0:0){q=p;r=s;o=93}if((o|0)==93?r|(f[q+16>>2]|0)!=0:0){v=q;return v|0}v=0;return v|0}function Sk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;switch(b[c>>0]|0){case -96:case -98:break;default:return 0}d=f[a+24>>2]|0;e=f[d>>2]|0;a:do if((e|0)!=0?(g=f[e>>2]|0,(g|0)>0):0){c=f[c+28>>2]|0;a=0;while(1){if((c|0)==(f[e+8+(a*72|0)+40>>2]|0))break;a=a+1|0;if((a|0)>=(g|0)){h=8;break a}}a=d+4|0}else h=8;while(0);if((h|0)==8)a=d+8|0;f[a>>2]=(f[a>>2]|0)+1;return 0}function Tk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;if(!b)return;c=f[b>>2]|0;if((c|0)<=0)return;h=a+40|0;e=0;g=b+8|0;while(1){d=g+40|0;if((f[d>>2]|0)>-1){c=8;break}i=f[h>>2]|0;f[h>>2]=i+1;f[d>>2]=i;d=f[g+20>>2]|0;if(d){Tk(a,f[d+32>>2]|0);c=f[b>>2]|0}e=e+1|0;if((e|0)>=(c|0)){c=8;break}else g=g+72|0}if((c|0)==8)return}function Uk(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0;k=f[a>>2]|0;e=k+32|0;l=e;g=f[l>>2]|0;l=f[l+4>>2]|0;i=e;f[i>>2]=g&-69|64;f[i+4>>2]=l;cg(a,c,0);if(f[a+36>>2]|0){l=0;return l|0}i=c;while(1){c=f[i+52>>2]|0;if(!c)break;else i=c}c=UA(0,g|0,32)|0;g=ba()|0;l=e;f[l>>2]=c;f[l+4>>2]=g;a:do if(!k){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](80)|0;h=27;break}c=ib[f[37372>>2]&255](80)|0;if((f[18194]|0)>>>0<80)f[18194]=80;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){l=f[18187]|0;g=LA(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&g>>>0<=l>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c){l=0;return l|0}e=ib[f[37368>>2]&255](c)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}else{if(f[k+272>>2]|0){if(b[k+81>>0]|0){l=0;return l|0}}else{do if((j[k+276>>1]|0)>=80){e=k+300|0;c=f[e>>2]|0;if(c|0){f[e>>2]=f[c>>2];h=k+284|0;f[h>>2]=(f[h>>2]|0)+1;h=27;break a}e=k+296|0;c=f[e>>2]|0;if(!c){c=k+292|0;break}else{f[e>>2]=f[c>>2];h=k+284|0;f[h>>2]=(f[h>>2]|0)+1;h=27;break a}}else c=k+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(k,80,0)|0;h=27}while(0);if((h|0)==27)if(!c){l=0;return l|0}e=c+4|0;g=e+76|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(g|0));e=c+32|0;f[e>>2]=1;f[c>>2]=0;d[c+44>>1]=200;Vk(f[a>>2]|0,f[i>>2]|0,c+42|0,c+4|0);Wk(a,c,i);d[c+40>>1]=-1;if(!(b[k+81>>0]|0)){l=c;return l|0}if(f[k+480>>2]|0){hg(k,c);l=0;return l|0}l=(f[e>>2]|0)+-1|0;f[e>>2]=l;if(l|0){l=0;return l|0}hg(k,c);l=0;return l|0}function Vk(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=t;t=t+48|0;N=P+8|0;M=P;L=P+40|0;O=P+24|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;do if(c){n=f[c>>2]|0;m=n<<4;a:do if(!a){K=KA(m|0,0,-1,-1)|0;J=ba()|0;if(!(J>>>0>0|(J|0)==0&K>>>0>2147483390)){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](m)|0;s=27;break}i=ib[f[37372>>2]&255](m)|0;if((f[18194]|0)>>>0>>0)f[18194]=m;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){K=f[18187]|0;J=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;I=ba()|0;f[17976]=((I|0)<0|(I|0)==0&J>>>0<=K>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(i){k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;s=28}else s=28}else K=0}else K=0}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){K=0;break}}else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){k=a+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];s=a+284|0;f[s>>2]=(f[s>>2]|0)+1;s=27;break a}k=a+296|0;i=f[k>>2]|0;if(!i){i=a+292|0;break}else{f[k>>2]=f[i>>2];s=a+284|0;f[s>>2]=(f[s>>2]|0)+1;s=27;break a}}else i=a+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(a,m,0)|0;s=27}while(0);if((s|0)==27)if(!i)K=0;else s=28;if((s|0)==28){_A(i|0,0,m|0)|0;K=i}if((n|0)<32767){d[e>>1]=n;f[g>>2]=K;k=a+81|0;if((n|0)>0)J=k;else{i=K;l=K;s=32;break}}else{d[e>>1]=32767;f[g>>2]=K;n=32767;J=a+81|0}G=(a|0)==0;I=O+12|0;H=O+8|0;v=O+4|0;w=a+272|0;x=a+276|0;y=a+288|0;z=a+300|0;A=a+296|0;B=a+284|0;C=a+292|0;D=a+82|0;E=a+180|0;F=a+264|0;u=K;l=0;while(1){if(b[J>>0]|0)break;i=f[c+4+(l*20|0)+4>>2]|0;do if(!i){i=f[c+4+(l*20|0)>>2]|0;b:do if(!i)i=0;else while(1){k=f[i+4>>2]|0;if(!(k&4096))break b;if(!(k&262144))i=i+12|0;else i=(f[i+20>>2]|0)+4|0;i=f[i>>2]|0;if(!i){i=0;break}}while(0);c:while(1){switch(b[i>>0]|0){case -98:{s=46;break c}case 59:{s=50;break c}case -126:break;default:{s=51;break c}}i=f[i+16>>2]|0}if((s|0)==46){k=d[i+32>>1]|0;m=f[i+44>>2]|0;if(k<<16>>16<0)i=d[m+40>>1]|0;else i=k<<16>>16;if((i|0)<=-1){i=47870;s=53;break}i=(f[m+4>>2]|0)+(i<<4)|0}else if((s|0)==50)i=i+8|0;else if((s|0)==51)i=c+4+(l*20|0)+8|0;i=f[i>>2]|0;if(!i){f[M>>2]=l+1;i=Ig(a,50333,M)|0;f[L>>2]=0;if(!i)s=106;else s=78}else s=53}else s=53;while(0);do if((s|0)==53){p=(wz(i)|0)+1|0;do if(G){s=KA(p|0,0,-1,-1)|0;r=ba()|0;if(!(r>>>0>0|(r|0)==0&s>>>0>2147483390)){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](p)|0;s=74;break}k=ib[f[37372>>2]&255](p)|0;if((f[18194]|0)>>>0

>>0)f[18194]=p;o=71896;m=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&m>>>0>0){s=f[18187]|0;r=LA(m|0,o|0,k|0,((k|0)<0)<<31>>31|0)|0;q=ba()|0;f[17976]=((q|0)<0|(q|0)==0&r>>>0<=s>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(k){m=ib[f[37368>>2]&255](k)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0>(f[18196]|0)>>>0){f[18196]=m;s=75}else s=75}else s=76}else s=76}else{if(!(f[w>>2]|0)){if(!(0<0|(0==0?(j[x>>1]|0)>>>0

>>0:0))){k=f[z>>2]|0;if(k|0){f[z>>2]=f[k>>2];f[B>>2]=(f[B>>2]|0)+1;s=74;break}k=f[A>>2]|0;if(!k)k=C;else{f[A>>2]=f[k>>2];f[B>>2]=(f[B>>2]|0)+1;s=74;break}}else k=y;f[k>>2]=(f[k>>2]|0)+1}k=Dc(a,p,0)|0;s=74}while(0);if((s|0)==74)if(!k)s=76;else s=75;if((s|0)==75){YA(k|0,i|0,p|0)|0;f[L>>2]=0;i=k;s=78;break}else if((s|0)==76){f[L>>2]=0;s=106;break}}while(0);d:do if((s|0)==78){s=0;while(1){p=f[I>>2]|0;if(!p){m=v;k=H}else{m=b[i>>0]|0;if(!(m<<24>>24))k=0;else{k=0;o=i;do{o=o+1|0;k=U(k+(h[1232+(m&255)>>0]|0)|0,-1640531535)|0;m=b[o>>0]|0}while(m<<24>>24!=0)}k=(k>>>0)%((f[O>>2]|0)>>>0)|0;m=p+(k<<3)|0;k=p+(k<<3)+4|0}m=f[m>>2]|0;e:do if(!m)k=72124;else{r=h[1232+(h[i>>0]|0)>>0]|0;while(1){k=f[k>>2]|0;m=m+-1|0;p=f[k+12>>2]|0;q=b[p>>0]|0;o=(h[1232+(q&255)>>0]|0)-r|0;if(!(q<<24>>24==0|(o|0)!=0)){q=i;do{p=p+1|0;q=q+1|0;Q=b[p>>0]|0;o=(h[1232+(Q&255)>>0]|0)-(h[1232+(h[q>>0]|0)>>0]|0)|0}while(!(Q<<24>>24==0|(o|0)!=0))}if(!o)break e;if(!m){k=72124;break}}}while(0);if(!(f[k+8>>2]|0))break;Q=wz(i)|0;k=Q&1073741823;f:do switch(Q&1073741823|0){case 0:break;case 1:{m=0;s=96;break}default:{o=k+-1|0;while(1){if(((h[i+o>>0]|0)+-48|0)>>>0>=10){m=o;s=96;break f}m=o+-1|0;if((o|0)>1)o=m;else{s=96;break}}}}while(0);if((s|0)==96){s=0;k=(b[i+m>>0]|0)==58?m:k}Q=(f[L>>2]|0)+1|0;f[L>>2]=Q;f[N>>2]=k;f[N+4>>2]=i;f[N+8>>2]=Q;i=Ig(a,50342,N)|0;if((f[L>>2]|0)>>>0>3)zd(4,L);if(!i){s=106;break d}}f[u>>2]=i;if(((pg(O,i,u)|0)==(u|0)?(b[J>>0]|0)==0:0)?(b[D>>0]|0)==0:0){b[J>>0]=1;if((f[E>>2]|0)>0)f[F>>2]=1;f[w>>2]=(f[w>>2]|0)+1}}while(0);if((s|0)==106){s=0;f[u>>2]=0}l=l+1|0;if((l|0)<(n|0))u=u+16|0;else break}i=f[H>>2]|0;k=f[I>>2]|0;f[H>>2]=0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{Q=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[I>>2]=0;f[O>>2]=0;if(!i){r=K;q=l;i=J;l=K}else{do{k=i;i=f[i>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{Q=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}}while((i|0)!=0);r=K;q=l;i=J;l=K}}else{d[e>>1]=0;f[g>>2]=0;i=0;k=a+81|0;l=0;s=32}while(0);if((s|0)==32){f[O+8>>2]=0;f[O+12>>2]=0;f[O>>2]=0;r=i;q=0;i=k}f[O+4>>2]=0;if(!(b[i>>0]|0)){t=P;return}g:do if(q|0){k=a+480|0;m=a+304|0;n=a+308|0;o=a+300|0;if(!a){i=0;while(1){k=f[r+(i<<4)>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{Q=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);i=i+1|0;if((i|0)==(q|0))break g}}i=0;do{p=f[r+(i<<4)>>2]|0;do if(p|0){if(f[k>>2]|0){Kc(a,p);break}Q=p;if((f[m>>2]|0)>>>0<=Q>>>0?(f[n>>2]|0)>>>0>Q>>>0:0){f[p>>2]=f[o>>2];f[o>>2]=p;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{Q=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}while(0);i=i+1|0}while((i|0)!=(q|0))}while(0);do if(l|0){if(a|0){if(f[a+480>>2]|0){Kc(a,l);break}Q=l;if((f[a+304>>2]|0)>>>0<=Q>>>0?(f[a+308>>2]|0)>>>0>Q>>>0:0){Q=a+300|0;f[l>>2]=f[Q>>2];f[Q>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{Q=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[g>>2]=0;d[e>>1]=0;t=P;return}function Wk(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=t;t=t+32|0;G=J;H=f[a>>2]|0;I=H+81|0;if(b[I>>0]|0){t=J;return};f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;f[G+16>>2]=0;f[G+20>>2]=0;f[G+24>>2]=0;f[G+28>>2]=0;f[G+4>>2]=f[e+32>>2];r=f[e>>2]|0;s=c+42|0;if((d[s>>1]|0)>0){u=H+272|0;v=H+304|0;w=H+276|0;x=H+308|0;y=H+288|0;z=H+300|0;A=H+480|0;B=(H|0)==0;C=H+296|0;D=H+284|0;E=H+292|0;p=0;q=f[c+4>>2]|0;while(1){m=f[r+4+(p*20|0)>>2]|0;l=Xk(G,m)|0;e=Yk(m)|0;n=q+13|0;b[n>>0]=e;if(l){k=(wz(l)|0)&1073741823;g=f[q>>2]|0;a:do if(!g){g=k+2|0;do if(f[u>>2]|0)if(!(b[I>>0]|0))o=15;else{f[q>>2]=0;break a}else{if(!(0<0|(0==0?(j[w>>1]|0)>>>0>>0:0))){e=f[z>>2]|0;if(e|0){f[z>>2]=f[e>>2];f[D>>2]=(f[D>>2]|0)+1;break}e=f[C>>2]|0;if(!e)e=E;else{f[C>>2]=f[e>>2];f[D>>2]=(f[D>>2]|0)+1;break}}else e=y;f[e>>2]=(f[e>>2]|0)+1;o=15}while(0);if((o|0)==15){o=0;e=Dc(H,g,0)|0}f[q>>2]=e;if(e|0){e=e+1|0;o=32}}else{h=(wz(g)|0)&1073741823;e=k+2+h|0;i=g;if(((f[v>>2]|0)>>>0<=i>>>0?(f[x>>2]|0)>>>0>i>>>0:0)?!(0<0|(0==0?(j[w>>1]|0)>>>0>>0:0)):0){e=g+(h+1)|0;o=32;break}e=Lc(H,g,e,0)|0;if(e|0){f[q>>2]=e;e=e+(h+1)|0;o=32;break}do if(!(f[A>>2]|0)){if((f[v>>2]|0)>>>0<=i>>>0?(f[x>>2]|0)>>>0>i>>>0:0){f[g>>2]=f[z>>2];f[z>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{l=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}else Kc(H,g);while(0);f[q>>2]=0}while(0);if((o|0)==32){o=0;i=q+15|0;YA(e|0,l|0,k+1|0)|0;b[i>>0]=b[i>>0]|4}e=b[n>>0]|0}if(!(e<<24>>24))b[n>>0]=65;e=Zk(a,m)|0;if(e|0?(F=q+8|0,(f[F>>2]|0)==0):0){i=f[e>>2]|0;b:do if(!i)e=0;else{k=(wz(i)|0)+1|0;do if(B){n=KA(k|0,0,-1,-1)|0;m=ba()|0;if(m>>>0>0|(m|0)==0&n>>>0>2147483390){e=0;break b}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](k)|0;o=61;break}e=ib[f[37372>>2]&255](k)|0;if((f[18194]|0)>>>0>>0)f[18194]=k;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){n=f[18187]|0;m=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&m>>>0<=n>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e){e=0;break b}g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}else{if(f[u>>2]|0){if(b[I>>0]|0){e=0;break b}}else{if(!(0<0|(0==0?(j[w>>1]|0)>>>0>>0:0))){e=f[z>>2]|0;if(e|0){f[z>>2]=f[e>>2];f[D>>2]=(f[D>>2]|0)+1;o=61;break}e=f[C>>2]|0;if(!e)e=E;else{f[C>>2]=f[e>>2];f[D>>2]=(f[D>>2]|0)+1;o=61;break}}else e=y;f[e>>2]=(f[e>>2]|0)+1}e=Dc(H,k,0)|0;o=61}while(0);if((o|0)==61){o=0;if(!e){e=0;break}}YA(e|0,i|0,k|0)|0}while(0);f[F>>2]=e}p=p+1|0;if((p|0)>=(d[s>>1]|0))break;else q=q+16|0}}d[c+46>>1]=1;t=J;return}function Xk(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+32|0;m=o;switch(b[c>>0]|0){case -98:{k=d[c+32>>1]|0;n=k<<16>>16;if(!a){n=0;t=o;return n|0}j=c+28|0;e=0;do{i=f[a+4>>2]|0;g=f[i>>2]|0;a:do if((g|0)>0){h=f[j>>2]|0;c=0;while(1){if((f[i+8+(c*72|0)+40>>2]|0)==(h|0))break;c=c+1|0;if((c|0)>=(g|0)){l=9;break a}}g=f[i+8+(c*72|0)+16>>2]|0;e=f[i+8+(c*72|0)+20>>2]|0}else l=9;while(0);if((l|0)==9){l=0;a=f[a+12>>2]|0;g=0}c=(g|0)==0}while(c&(a|0)!=0);if(c){n=0;t=o;return n|0}if(!e){if(k<<16>>16<0){n=50325;t=o;return n|0}c=f[g+4>>2]|0;if(!(b[c+(n<<4)+15>>0]&4)){n=0;t=o;return n|0}n=f[c+(n<<4)>>2]|0;n=n+(wz(n)|0)+1|0;t=o;return n|0}else{if(k<<16>>16<=-1){n=0;t=o;return n|0}c=f[e>>2]|0;if((f[c>>2]|0)<=(n|0)){n=0;t=o;return n|0}n=f[c+4+(n*20|0)>>2]|0;f[m+4>>2]=f[e+32>>2];f[m+12>>2]=a;f[m>>2]=f[a>>2];n=Xk(m,n)|0;t=o;return n|0}}case 127:{l=f[c+20>>2]|0;n=f[(f[l>>2]|0)+4>>2]|0;f[m+4>>2]=f[l+32>>2];f[m+12>>2]=a;f[m>>2]=f[a>>2];n=Xk(m,n)|0;t=o;return n|0}default:{n=0;t=o;return n|0}}return 0}function Yk(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0;a:while(1){c=f[a+4>>2]|0;if(c&4096)do{if(!(c&262144))a=a+12|0;else a=(f[a+20>>2]|0)+4|0;a=f[a>>2]|0;c=f[a+4>>2]|0}while((c&4096|0)!=0);if(c&512|0){e=0;k=31;break}c=b[a>>0]|0;if(c<<24>>24==127)a=(f[f[a+20>>2]>>2]|0)+4|0;else{if(c<<24>>24==-92)c=h[a+38>>0]|0;else c=c&255;switch((c&255)<<24>>24){case 36:{k=15;break a}case -98:case -96:{k=26;break a}case -90:break;default:break a}a=(f[f[(f[a+12>>2]|0)+20>>2]>>2]|0)+4+((d[a+32>>1]|0)*20|0)|0}a=f[a>>2]|0}if((k|0)==15){c=f[a+8>>2]|0;e=b[c>>0]|0;if(!(e<<24>>24)){k=67;return k|0}g=67;i=0;while(1){i=i<<8|h[1232+(e&255)>>0];c=c+1|0;b:do if((i|0)<1685026146){if((i|0)<1667785074){switch(i|0){case 1651273570:break;default:{k=24;break b}}switch(g<<24>>24){case 69:case 67:{j=65;break b}default:{k=23;break b}}}if((i|0)<1668050786)switch(i|0){case 1667785074:{j=66;break b}default:{k=24;break b}}else switch(i|0){case 1668050786:{j=66;break b}default:{k=24;break b}}}else{if((i|0)>=1919246700){if((i|0)>=1952807028)switch(i|0){case 1952807028:{j=66;break b}default:{k=24;break b}}switch(i|0){case 1919246700:break;default:{k=24;break b}}if(g<<24>>24==67){j=69;break}else{k=23;break}}if((i|0)<1718382433){switch(i|0){case 1685026146:break;default:{k=24;break b}}if(g<<24>>24==67){j=69;break}}else{switch(i|0){case 1718382433:break;default:{k=24;break b}}if(g<<24>>24==67){j=69;break}}j=g}while(0);if((k|0)==23){k=0;j=g}else if((k|0)==24){k=0;if((i&16777215|0)==6909556){e=68;k=31;break}else j=g}e=b[c>>0]|0;if(!(e<<24>>24)){e=j;k=31;break}else g=j}if((k|0)==31)return e|0}else if((k|0)==26){c=f[a+44>>2]|0;if(c|0){a=d[a+32>>1]|0;if(a<<16>>16<=-1){k=68;return k|0}k=b[(f[c+4>>2]|0)+(a<<16>>16<<4)+13>>0]|0;return k|0}}else if((k|0)==31)return e|0;k=b[a+1>>0]|0;return k|0}function Zk(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=f[a>>2]|0;a:do if(c){b:while(1){e=b[c>>0]|0;i=f[c+4>>2]|0;if(i&512|0){c=0;break a}c:do switch(e<<24>>24){case 102:{e=10;break b}case 77:case -98:case -96:case -92:{g=f[c+44>>2]|0;if(g|0){e=6;break b}switch(e<<24>>24){case 102:{e=10;break b}case -94:{e=19;break c}case -92:break;default:{e=11;break c}}if((b[c+38>>0]|0)==102){e=10;break b}else e=11;break}case 36:case -94:{e=19;break}default:e=11}while(0);d:do if((e|0)==11){if(!(i&256)){c=0;break a}e=f[c+12>>2]|0;if(e|0?f[e+4>>2]&256|0:0){c=e;break}h=f[c+16>>2]|0;g=f[c+20>>2]|0;if((i&2048|0)==0&(g|0)!=0?(j=f[g>>2]|0,(j|0)>0):0){e=0;while(1){c=f[g+4+(e*20|0)>>2]|0;e=e+1|0;if(f[c+4>>2]&256|0)break d;if((e|0)>=(j|0)){c=h;break}}}else c=h}else if((e|0)==19)c=f[c+12>>2]|0;while(0);if(!c){c=0;break a}}if((e|0)==6){c=d[c+32>>1]|0;if(c<<16>>16<=-1){c=0;break}c=_k(k,b[k+78>>0]|0,f[(f[g+4>>2]|0)+(c<<16>>16<<4)+8>>2]|0,0)|0}else if((e|0)==10)c=$k(a,b[k+78>>0]|0,0,f[c+8>>2]|0)|0;if(c){if((f[c+12>>2]|0)==0?($k(a,b[(f[a>>2]|0)+78>>0]|0,c,f[c>>2]|0)|0)==0:0){a=0;return a|0}}else c=0}else c=0;while(0);a=c;return a|0}function _k(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!d){d=f[a+8>>2]|0;p=(d|0)==0;a=c&255;a=a+-1|0;a=d+(a*20|0)|0;a=p?0:a;return a|0}p=a+380|0;l=f[a+392>>2]|0;if(!l){i=a+384|0;g=a+388|0}else{i=b[d>>0]|0;if(!(i<<24>>24))g=0;else{g=0;k=d;do{k=k+1|0;g=U(g+(h[1232+(i&255)>>0]|0)|0,-1640531535)|0;i=b[k>>0]|0}while(i<<24>>24!=0)}g=(g>>>0)%((f[p>>2]|0)>>>0)|0;i=l+(g<<3)|0;g=l+(g<<3)+4|0}i=f[i>>2]|0;a:do if(!i)g=72124;else{n=h[1232+(h[d>>0]|0)>>0]|0;while(1){g=f[g>>2]|0;i=i+-1|0;l=f[g+12>>2]|0;m=b[l>>0]|0;k=(h[1232+(m&255)>>0]|0)-n|0;if(!(m<<24>>24==0|(k|0)!=0)){m=d;do{l=l+1|0;m=m+1|0;q=b[l>>0]|0;k=(h[1232+(q&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(q<<24>>24==0|(k|0)!=0))}if(!k)break a;if(!i){g=72124;break}}}while(0);g=f[g+8>>2]|0;if(!((e|0)!=0&(g|0)==0)){p=g;a=(p|0)==0;q=c&255;q=q+-1|0;q=p+(q*20|0)|0;q=a?0:q;return q|0}l=(wz(d)|0)&1073741823;m=l+61|0;b:do if(!a){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](m)|0;o=39;break}g=ib[f[37372>>2]&255](m)|0;if((f[18194]|0)>>>0>>0)f[18194]=m;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){q=f[18187]|0;e=LA(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;n=ba()|0;f[17976]=((n|0)<0|(n|0)==0&e>>>0<=q>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g)return 0;i=ib[f[37368>>2]&255](g)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0)return 0}else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){i=a+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];o=a+284|0;f[o>>2]=(f[o>>2]|0)+1;o=39;break b}i=a+296|0;g=f[i>>2]|0;if(!g){g=a+292|0;break}else{f[i>>2]=f[g>>2];o=a+284|0;f[o>>2]=(f[o>>2]|0)+1;o=39;break b}}else g=a+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(a,m,0)|0;o=39}while(0);if((o|0)==39)if(!g)return 0;_A(g|0,0,m|0)|0;i=g+60|0;f[g>>2]=i;b[g+4>>0]=1;f[g+20>>2]=i;b[g+24>>0]=2;f[g+40>>2]=i;b[g+44>>0]=3;YA(i|0,d|0,l+1|0)|0;i=pg(p,i,g)|0;if(!i){p=g;a=(p|0)==0;q=c&255;q=q+-1|0;q=p+(q*20|0)|0;q=a?0:q;return q|0}g=a+81|0;if((b[g>>0]|0)==0?(b[a+82>>0]|0)==0:0){b[g>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;q=a+272|0;f[q>>2]=(f[q>>2]|0)+1}if(f[a+480>>2]|0){Kc(a,i);return 0}q=i;if((f[a+304>>2]|0)>>>0<=q>>>0?(f[a+308>>2]|0)>>>0>q>>>0:0){q=a+300|0;f[i>>2]=f[q>>2];f[q>>2]=i;return 0}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);return 0}else{q=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);return 0}return 0}function $k(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;s=t;t=t+16|0;r=s;q=f[a>>2]|0;if(!e){e=_k(q,c,g,0)|0;if(e|0){i=e;n=3}}else{i=e;n=3}if((n|0)==3?f[i+12>>2]|0:0){r=i;t=s;return r|0}k=c&255;l=q+244|0;a:do if(f[l>>2]|0){if(g|0){m=(wz(g)|0)+1|0;b:do if(f[q+272>>2]|0)if(!(b[q+81>>0]|0))n=16;else break a;else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){i=q+300|0;e=f[i>>2]|0;if(e|0){f[i>>2]=f[e>>2];i=q+284|0;f[i>>2]=(f[i>>2]|0)+1;break b}i=q+296|0;e=f[i>>2]|0;if(!e){e=q+292|0;break}else{f[i>>2]=f[e>>2];i=q+284|0;f[i>>2]=(f[i>>2]|0)+1;break b}}else e=q+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;n=16}while(0);if((n|0)==16)e=Dc(q,m,0)|0;if(e|0){YA(e|0,g|0,m|0)|0;rb[f[l>>2]&127](f[q+252>>2]|0,q,k,e);if(f[q+480>>2]|0){Kc(q,e);n=26;break}n=e;if((f[q+304>>2]|0)>>>0<=n>>>0?(f[q+308>>2]|0)>>>0>n>>>0:0){n=q+300|0;f[e>>2]=f[n>>2];f[n>>2]=e;n=26;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);n=26;break}else{n=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);n=26;break}}}}else n=26;while(0);c:do if((n|0)==26?(p=q+248|0,f[p>>2]|0):0){d:do if(f[q+272>>2]|0)if(!(b[q+81>>0]|0))n=37;else break c;else{do if((j[q+276>>1]|0)>=40){e=q+300|0;i=f[e>>2]|0;if(i|0){f[e>>2]=f[i>>2];m=q+284|0;f[m>>2]=(f[m>>2]|0)+1;break d}e=q+296|0;i=f[e>>2]|0;if(!i){e=q+292|0;break}else{f[e>>2]=f[i>>2];m=q+284|0;f[m>>2]=(f[m>>2]|0)+1;break d}}else e=q+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;n=37}while(0);if((n|0)==37)i=Dc(q,40,0)|0;if(i|0){e=i;k=e+40|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(k|0));e=i+8|0;d[e>>1]=1;k=i+32|0;f[k>>2]=q;$e(i,g,-1,1,0)|0;l=d[e>>1]|0;if((l&514)==514?(b[i+10>>0]|0)==2:0){o=f[i+16>>2]|0;n=44}else n=42;if((n|0)==42?(l&1)==0:0){o=Ic(i,2)|0;n=44}if((n|0)==44?o|0:0)rb[f[p>>2]&127](f[q+252>>2]|0,q,h[q+78>>0]|0,o);if(!((d[e>>1]&9216)==0?!(f[i+24>>2]|0):0))ff(i);e=f[k>>2]|0;if(e|0){if(f[e+480>>2]|0){Kc(e,i);break}p=i;if((f[e+304>>2]|0)>>>0<=p>>>0?(f[e+308>>2]|0)>>>0>p>>>0:0){p=e+300|0;f[i>>2]=f[p>>2];f[p>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{p=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}}while(0);c=_k(q,c,g,0)|0;do if(c|0){if(f[c+12>>2]|0){r=c;t=s;return r|0}p=f[c>>2]|0;o=(p|0)==0;if(o)e=q+8|0;else{l=f[q+392>>2]|0;if(!l){i=q+384|0;e=q+388|0}else{i=b[p>>0]|0;if(!(i<<24>>24))e=0;else{e=0;k=p;do{k=k+1|0;e=U(e+(h[1232+(i&255)>>0]|0)|0,-1640531535)|0;i=b[k>>0]|0}while(i<<24>>24!=0)}e=(e>>>0)%((f[q+380>>2]|0)>>>0)|0;i=l+(e<<3)|0;e=l+(e<<3)+4|0}i=f[i>>2]|0;e:do if(!i)e=72124;else{n=h[1232+(h[p>>0]|0)>>0]|0;while(1){e=f[e>>2]|0;i=i+-1|0;l=f[e+12>>2]|0;m=b[l>>0]|0;k=(h[1232+(m&255)>>0]|0)-n|0;if(!(m<<24>>24==0|(k|0)!=0)){m=p;do{l=l+1|0;m=m+1|0;u=b[l>>0]|0;k=(h[1232+(u&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(k|0)!=0))}if(!k)break e;if(!i){e=72124;break}}}while(0);e=e+8|0}e=f[e>>2]|0;e=(e|0)==0?0:e+40|0;if(!(f[e+12>>2]|0)){if(o)e=q+8|0;else{l=f[q+392>>2]|0;if(!l){i=q+384|0;e=q+388|0}else{i=b[p>>0]|0;if(!(i<<24>>24))e=0;else{e=0;k=p;do{k=k+1|0;e=U(e+(h[1232+(i&255)>>0]|0)|0,-1640531535)|0;i=b[k>>0]|0}while(i<<24>>24!=0)}e=(e>>>0)%((f[q+380>>2]|0)>>>0)|0;i=l+(e<<3)|0;e=l+(e<<3)+4|0}i=f[i>>2]|0;f:do if(!i)e=72124;else{n=h[1232+(h[p>>0]|0)>>0]|0;while(1){e=f[e>>2]|0;i=i+-1|0;l=f[e+12>>2]|0;u=b[l>>0]|0;k=(h[1232+(u&255)>>0]|0)-n|0;if(!(u<<24>>24==0|(k|0)!=0)){m=p;do{l=l+1|0;m=m+1|0;u=b[l>>0]|0;k=(h[1232+(u&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(k|0)!=0))}if(!k)break f;if(!i){e=72124;break}}}while(0);e=e+8|0}e=f[e>>2]|0;e=(e|0)==0?0:e+20|0;if(!(f[e+12>>2]|0)){if(o)e=q+8|0;else{l=f[q+392>>2]|0;if(!l){i=q+384|0;e=q+388|0}else{i=b[p>>0]|0;if(!(i<<24>>24))e=0;else{e=0;k=p;do{k=k+1|0;e=U(e+(h[1232+(i&255)>>0]|0)|0,-1640531535)|0;i=b[k>>0]|0}while(i<<24>>24!=0)}e=(e>>>0)%((f[q+380>>2]|0)>>>0)|0;i=l+(e<<3)|0;e=l+(e<<3)+4|0}i=f[i>>2]|0;g:do if(!i)e=72124;else{n=h[1232+(h[p>>0]|0)>>0]|0;while(1){e=f[e>>2]|0;i=i+-1|0;l=f[e+12>>2]|0;u=b[l>>0]|0;k=(h[1232+(u&255)>>0]|0)-n|0;if(!(u<<24>>24==0|(k|0)!=0)){m=p;do{l=l+1|0;m=m+1|0;u=b[l>>0]|0;k=(h[1232+(u&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(k|0)!=0))}if(!k)break g;if(!i){e=72124;break}}}while(0);e=e+8|0}e=f[e>>2]|0;if(!(f[e+12>>2]|0))break}};f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[c+12>>2]=f[e+12>>2];f[c+16>>2]=0;u=c;t=s;return u|0}while(0);f[r>>2]=g;ni(a,50294,r);f[a+12>>2]=257;u=0;t=s;return u|0}function al(a,c){a=a|0;c=c|0;var d=0,e=0;if(!a){d=((c|0)!=0)<<31>>31;return d|0}if(!c){d=1;return d|0}e=b[a>>0]|0;d=(h[1232+(e&255)>>0]|0)-(h[1232+(h[c>>0]|0)>>0]|0)|0;if(e<<24>>24==0|(d|0)!=0){e=d;return e|0}d=c;do{a=a+1|0;d=d+1|0;e=b[a>>0]|0;c=(h[1232+(e&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(e<<24>>24==0|(c|0)!=0));return c|0}function bl(a,c){a=a|0;c=c|0;var d=0,e=0;e=b[a>>0]|0;d=(h[1232+(e&255)>>0]|0)-(h[1232+(h[c>>0]|0)>>0]|0)|0;if(e<<24>>24==0|(d|0)!=0){e=d;return e|0}d=c;do{a=a+1|0;d=d+1|0;e=b[a>>0]|0;c=(h[1232+(e&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(e<<24>>24==0|(c|0)!=0));return c|0}function cl(a,b){a=a|0;b=b|0;return 0}function dl(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+16|0;n=p+8|0;m=p;o=c+52|0;if(!(f[o>>2]|0)){o=0;t=p;return o|0}k=f[c+48>>2]|0;if(!k){o=0;t=p;return o|0}d=c;a:while(1){switch(b[d+4>>0]|0){case 127:case 124:break;default:break a}d=f[d+52>>2]|0;if(!d){i=0;l=36;break}}if((l|0)==36){t=p;return i|0}d=f[k>>2]|0;if((d|0)<=0){o=0;t=p;return o|0}while(1){h=d;d=d+-1|0;if(f[(f[k+4+(d*20|0)>>2]|0)+4>>2]&256|0)break;if((h|0)<=1){i=0;l=36;break}}if((l|0)==36){t=p;return i|0}a=f[a>>2]|0;k=f[a>>2]|0;b:do if(!k){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](76)|0;l=33;break}d=ib[f[37372>>2]&255](76)|0;if((f[18194]|0)>>>0<76)f[18194]=76;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){i=f[18187]|0;h=LA(g|0,h|0,d|0,((d|0)<0)<<31>>31|0)|0;g=ba()|0;f[17976]=((g|0)<0|(g|0)==0&h>>>0<=i>>>0)&1}g=ib[f[37356>>2]&255](d)|0;if(!g){o=2;t=p;return o|0}d=ib[f[37368>>2]&255](g)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d}else{if(f[k+272>>2]|0){if(b[k+81>>0]|0){o=2;t=p;return o|0}}else{do if((j[k+276>>1]|0)>=76){d=k+300|0;e=f[d>>2]|0;if(e|0){f[d>>2]=f[e>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=33;break b}d=k+296|0;e=f[d>>2]|0;if(!e){d=k+292|0;break}else{f[d>>2]=f[e>>2];l=k+284|0;f[l>>2]=(f[l>>2]|0)+1;l=33;break b}}else d=k+288|0;while(0);f[d>>2]=(f[d>>2]|0)+1}e=Dc(k,76,0)|0;l=33}while(0);if((l|0)==33)if(!e){o=2;t=p;return o|0}else g=e;h=g;i=h+76|0;do{b[h>>0]=0;h=h+1|0}while((h|0)<(i|0));d=m;f[d>>2]=0;f[d+4>>2]=0;d=nl(a,0,0,0,m,g,0,0)|0;if(!d){o=2;t=p;return o|0}h=g;e=c;i=h+76|0;do{f[h>>2]=f[e>>2];h=h+4|0;e=e+4|0}while((h|0)<(i|0));f[c+32>>2]=d;f[n>>2]=0;f[n+4>>2]=0;n=Dk(k,168,n,0)|0;n=ml(f[a>>2]|0,0,n)|0;f[c>>2]=n;b[c+4>>0]=127;f[c+36>>2]=0;f[g+40>>2]=0;f[g+44>>2]=0;f[g+48>>2]=0;f[o>>2]=0;f[c+56>>2]=0;f[c+64>>2]=0;o=c+8|0;f[o>>2]=f[o>>2]&-65793|65536;f[(f[g+52>>2]|0)+56>>2]=g;f[g+60>>2]=0;o=0;t=p;return o|0} -function Kw(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;q=t;t=t+32|0;g=q;if((c|0)!=1){f[a+20>>2]=1;$e(f[a>>2]|0,68697,-1,1,-1)|0;t=q;return};f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;zw(68748,g)|0;zw(68751,g)|0;zw(68754,g)|0;e=f[e>>2]|0;c=j[e+8>>1]|0;do if(!(c&4)){if(c&8|0){c=Fc(+p[e>>3])|0;ba()|0;e=9;break}if(!(c&18)){c=0;e=10}else{c=Gc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)|0;ba()|0;e=9}}else{c=f[e>>2]|0;e=9}while(0);if((e|0)==9)if((c|0)<=1048575)e=10;if((e|0)==10){e=c>>16;k=d[27808+(e<<1)>>1]|0;e=d[27808+(e+1<<1)>>1]|0;if((e&65535)>(k&65535)){m=c&65535;l=-1;i=e&65535;e=k&65535;do{k=(e+i|0)/2|0;r=m>>>0<(j[27856+(k<<1)>>1]|0)>>>0;e=r?e:k+1|0;i=r?k:i;l=r?l:k}while((i|0)>(e|0));if((l|0)>=0?(n=j[27856+(l<<1)>>1]|0,o=j[31392+(l<<1)>>1]|0,m>>>0<((o>>>5)+n|0)>>>0):0){r=o&31;g=g+((r|0)==30?(c-n<<2&4^4)+5|0:r)|0}}}e=f[a>>2]|0;g=h[g>>0]|0;c=e+8|0;if(!(d[c>>1]&9216)){r=e;f[r>>2]=g;f[r+4>>2]=0;d[c>>1]=4;t=q;return}else{bf(e,g,0);t=q;return}}function Lw(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0;if((c+-1|0)>>>0>1){f[a+20>>2]=1;$e(f[a>>2]|0,68649,-1,1,-1)|0;return}h=f[e>>2]|0;g=j[h+8>>1]|0;do if(!(g&4)){if(g&8|0){i=Fc(+p[h>>3])|0;ba()|0;break}if(!(g&18))i=0;else{i=Gc(b[h+10>>0]|0,f[h+12>>2]|0,f[h+16>>2]|0)|0;ba()|0}}else i=f[h>>2]|0;while(0);do if((c|0)==2){g=f[e+4>>2]|0;h=j[g+8>>1]|0;if(h&4|0){g=f[g>>2]|0;break}if(h&8|0){g=Fc(+p[g>>3])|0;ba()|0;break}if(h&18){g=Gc(b[g+10>>0]|0,f[g+12>>2]|0,f[g+16>>2]|0)|0;ba()|0}else g=0}else g=0;while(0);e=yw(i,g)|0;g=f[a>>2]|0;h=((e|0)<0)<<31>>31;c=g+8|0;if(!(d[c>>1]&9216)){a=g;f[a>>2]=e;f[a+4>>2]=h;d[c>>1]=4;return}else{bf(g,e,h);return}}function Mw(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;w=t;t=t+32|0;p=w+8|0;h=w;s=w+20|0;u=w+16|0;v=w+12|0;m=f[(f[a+4>>2]|0)+8>>2]|0;n=f[(f[a>>2]|0)+32>>2]|0;f[s>>2]=0;f[u>>2]=0;f[v>>2]=0;o=(g|0)!=0;if((c|0)<1){f[h>>2]=o?68612:68602;g=wd(68757,h)|0;f[s>>2]=g;f[a+20>>2]=1;$e(f[a>>2]|0,g,-1,1,-1)|0;if(!g){t=w;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);t=w;return}else{v=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);t=w;return}}do if((c|0)!=1&o){h=f[e+4>>2]|0;if(h){g=d[h+8>>1]|0;if((g&514)==514?(b[h+10>>0]|0)==1:0){g=2;l=f[h+16>>2]|0;break}if(!(g&1)){g=2;l=Ic(h,1)|0}else{g=2;l=0}}else{g=2;l=0}}else{g=1;l=68798}while(0);k=c-g+3|0;r=Fd(k<<2)|0;if(!r){g=f[a>>2]|0;h=g+8|0;if(!(d[h>>1]&9216))d[h>>1]=1;else{cf(g);g=f[a>>2]|0}f[a+20>>2]=7;g=f[g+32>>2]|0;h=g+81|0;if(b[h>>0]|0){t=w;return}if(b[g+82>>0]|0){t=w;return}b[h>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;v=g+272|0;f[v>>2]=(f[v>>2]|0)+1;t=w;return}f[r>>2]=0;f[r+4>>2]=42464;f[r+8>>2]=47825;if((g|0)<(c|0)){j=3;i=g;while(1){g=f[e+(i<<2)>>2]|0;do if(g){h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(h&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);f[r+(j<<2)>>2]=g;i=i+1|0;if((i|0)==(c|0))break;else j=j+1|0}}g=f[e>>2]|0;do if(g){h=d[g+8>>1]|0;if((h&514)==514?(b[g+10>>0]|0)==1:0){g=f[g+16>>2]|0;break}if(!(h&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);i=Nw(m,n,k,r,v,s)|0;do if(!i){h=f[v>>2]|0;i=Ow(h,f[h+12>>2]|0,g,u,s)|0;if(!i){g=f[(f[u>>2]|0)+8>>2]|0;do if(f[g+12>>2]|0)if(o){g=Pw(l,g)|0;break}else{g=Qw(h,g)|0;break}else g=wd(72788,p)|0;while(0);if(g){if(($e(f[a>>2]|0,g,-1,1,-1)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}else{i=7;q=50}}else q=50}else q=50;while(0);do if((q|0)==50){g=f[s>>2]|0;h=a+20|0;if(g|0){f[h>>2]=1;$e(f[a>>2]|0,g,-1,1,-1)|0;g=f[s>>2]|0;if(!g)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}f[h>>2]=i;h=f[a>>2]|0;if(d[h+8>>1]&1){switch(i|0){case 516:{g=44816;break}case 100:{g=44794;break}case 101:{g=44771;break}default:{g=i&255;if(g>>>0<29?(520028155>>>g&1|0)!=0:0)g=f[7984+(g<<2)>>2]|0;else g=44757}}$e(h,g,-1,1,0)|0}}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](r);else{a=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r)}Rw(f[v>>2]|0);g=f[u>>2]|0;if(!g){t=w;return}Sw(f[g+8>>2]|0);h=f[g+20>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{v=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);t=w;return}else{v=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);t=w;return}}function Nw(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;qa=t;t=t+208|0;oa=qa+168|0;na=qa+160|0;ja=qa+152|0;ha=qa+136|0;ca=qa+128|0;aa=qa+120|0;$=qa+112|0;_=qa+104|0;Z=qa+96|0;Y=qa+88|0;X=qa+80|0;W=qa+72|0;V=qa+64|0;U=qa+56|0;T=qa+48|0;S=qa+40|0;fa=qa+32|0;ea=qa+24|0;da=qa+16|0;R=qa+8|0;n=qa;ka=qa+196|0;ma=qa+184|0;pa=qa+180|0;Q=qa+176|0;O=qa+172|0;f[pa>>2]=0;do if(!(Mc()|0)){if(!(f[9328]|0)){j=ib[f[37356>>2]&255](100)|0;f[g>>2]=j;if(!j){g=7;t=qa;return g|0}else ia=j}else{j=ib[f[37372>>2]&255](100)|0;if((f[18194]|0)>>>0<100)f[18194]=100;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){ia=f[18187]|0;ga=LA(k|0,l|0,j|0,((j|0)<0)<<31>>31|0)|0;M=ba()|0;f[17976]=((M|0)<0|(M|0)==0&ga>>>0<=ia>>>0)&1}k=ib[f[37356>>2]&255](j)|0;if(!k)break;j=ib[f[37368>>2]&255](k)|0;j=(f[18187]|0)+j|0;f[18187]=j;if(j>>>0>(f[18191]|0)>>>0)f[18191]=j;j=(f[18190]|0)+1|0;f[18190]=j;if(j>>>0>(f[18196]|0)>>>0)f[18196]=j;f[g>>2]=k;ia=k}l=ia+4|0;m=l+96|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[ia>>2]=c;f[ia+64>>2]=-1;j=d*5|0;k=Fd(j)|0;if(!k)if((j|0)>0){f[pa>>2]=7;k=0;j=7}else{k=0;j=0}else{_A(k|0,0,j|0)|0;j=0}ga=ia+16|0;f[ga>>2]=k;M=ia+20|0;f[M>>2]=k+(d<<2);k=f[e+4>>2]|0;do if(!j){j=wz(k)|0;l=Fd(j+1|0)|0;if(!l){f[pa>>2]=7;j=7;I=22;break}YA(l|0,k|0,j|0)|0;b[l+j>>0]=0;j=f[pa>>2]|0;c=ia+4|0;f[c>>2]=l;l=f[e+8>>2]|0;if(!j){j=wz(l)|0;k=Fd(j+1|0)|0;if(!k){f[pa>>2]=7;k=0;j=7;break}else{YA(k|0,l|0,j|0)|0;b[k+j>>0]=0;j=0;break}}else k=0}else I=22;while(0);if((I|0)==22){c=ia+4|0;f[c>>2]=0;k=0}L=ia+8|0;f[L>>2]=k;K=ia+44|0;f[K>>2]=1;J=ia+48|0;f[J>>2]=0;if(!((k|0)==0|(j|0)!=0)){H=b[k>>0]|0;j=(h[1232+(H&255)>>0]|0)+-114|0;if(!(H<<24>>24==0|(j|0)!=0)){l=42283;m=k;do{m=m+1|0;l=l+1|0;H=b[m>>0]|0;j=(h[1232+(H&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(H<<24>>24==0|(j|0)!=0))}if(!j){f[n>>2]=k;j=wd(69153,n)|0;f[i>>2]=j;f[pa>>2]=1;j=1}else{j=0;I=33}}else I=33;a:do if((I|0)==33){k=(j|0)==0;if((d|0)>3&k){w=ia+12|0;x=ia+28|0;y=ia+24|0;z=ia+32|0;A=ia+56|0;B=ia+4|0;C=ia+36|0;D=ia+40|0;E=ia+60|0;F=a+40|0;G=(i|0)!=0;H=a+36|0;v=3;do{m=f[e+(v<<2)>>2]|0;f[ma>>2]=0;f[Q>>2]=0;f[O>>2]=0;j=ox(pa,m,ma,O)|0;b:do if(!j){l=0;k=0}else{c:while(1){k=j+1|0;switch(b[j>>0]|0){case 32:{j=k;break}case 61:{I=38;break c}default:{l=0;break c}}}if((I|0)==38){I=0;if(!(f[O>>2]|0)){l=1;j=k}else{l=1;k=0;break}}d:while(1)switch(b[j>>0]|0){case 0:{k=j;break b}case 32:{j=j+1|0;break}default:break d}j=ox(pa,j,Q,ka)|0;if(!j)j=0;else j=(b[j>>0]|0)==0?j:0;k=j}while(0);j=f[pa>>2]|0;do if(!j){if(!k){f[R>>2]=m;j=wd(69182,R)|0;f[i>>2]=j;f[pa>>2]=1;j=1;I=249;break}q=f[ma>>2]|0;o=f[Q>>2]|0;if(!l){do if(!q)I=241;else{n=b[q>>0]|0;j=(h[1232+(n&255)>>0]|0)+-114|0;n=n<<24>>24==0|(j|0)!=0;if(n)k=j;else{l=42283;m=q;do{m=m+1|0;l=l+1|0;u=b[m>>0]|0;k=(h[1232+(u&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(k|0)!=0))}if(k|0){if(!n){k=47870;l=q;do{l=l+1|0;k=k+1|0;u=b[l>>0]|0;j=(h[1232+(u&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(j|0)!=0))}if(j|0){I=241;break}}f[aa>>2]=q;j=wd(69626,aa)|0;f[i>>2]=j;j=1}while(0);do if((I|0)==241){I=0;if(o){u=b[o>>0]|0;j=(h[1232+(u&255)>>0]|0)+-117|0;if(!(u<<24>>24==0|(j|0)!=0)){k=69656;l=o;do{l=l+1|0;k=k+1|0;u=b[l>>0]|0;j=(h[1232+(u&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(u<<24>>24==0|(j|0)!=0))}if(!j){b[(f[M>>2]|0)+(f[w>>2]|0)>>0]=1;j=0;break}else{f[ca>>2]=o;j=wd(69666,ca)|0;f[i>>2]=j;j=1;break}}else j=0}while(0);s=f[ga>>2]|0;u=f[w>>2]|0;f[w>>2]=u+1;f[s+(u<<2)>>2]=q;f[pa>>2]=j;f[ma>>2]=0;break}j=(o|0)==0?72788:o;f[ka>>2]=0;p=wz(q)|0;e:do if(q){f:do if((p|0)>0){m=67282;o=q;n=p;while(1){k=b[m>>0]|0;if(!(k<<24>>24)){I=52;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){I=54;break}if((n|0)>1){m=m+1|0;o=o+1|0;n=n+-1|0}else break f}if((I|0)==52){I=0;l=0;k=b[1232+(h[o>>0]|0)>>0]|0}else if((I|0)==54){I=0;l=l&255}if((l|0)!=(k&255|0)){m=66559;o=q;n=p;while(1){k=b[m>>0]|0;if(!(k<<24>>24)){I=91;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){I=93;break}if((n|0)>1){m=m+1|0;o=o+1|0;n=n+-1|0}else break}if((I|0)==91){l=0;k=b[1232+(h[o>>0]|0)>>0]|0;I=95}else if((I|0)==93){l=l&255;I=95}do if((I|0)==95){I=0;if((l|0)==(k&255|0))break;m=63175;o=q;n=p;while(1){k=b[m>>0]|0;if(!(k<<24>>24)){I=159;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){I=161;break}if((n|0)>1){m=m+1|0;o=o+1|0;n=n+-1|0}else break}if((I|0)==159){l=0;k=b[1232+(h[o>>0]|0)>>0]|0;I=163}else if((I|0)==161){l=l&255;I=163}do if((I|0)==163){I=0;if((l|0)==(k&255|0))break;m=69461;o=q;n=p;while(1){k=b[m>>0]|0;if(!(k<<24>>24)){I=171;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){I=173;break}if((n|0)>1){m=m+1|0;o=o+1|0;n=n+-1|0}else break}if((I|0)==171){l=0;k=b[1232+(h[o>>0]|0)>>0]|0;I=175}else if((I|0)==173){l=l&255;I=175}do if((I|0)==175){I=0;if((l|0)==(k&255|0))break;m=69513;o=q;n=p;while(1){k=b[m>>0]|0;if(!(k<<24>>24)){I=184;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){I=186;break}if((n|0)>1){m=m+1|0;o=o+1|0;n=n+-1|0}else break}if((I|0)==184){l=0;k=b[1232+(h[o>>0]|0)>>0]|0;I=188}else if((I|0)==186){l=l&255;I=188}do if((I|0)==188){I=0;if((l|0)==(k&255|0))break;m=43265;n=q;o=p;while(1){k=b[m>>0]|0;if(!(k<<24>>24)){I=195;break}k=b[1232+(k&255)>>0]|0;l=b[1232+(h[n>>0]|0)>>0]|0;if(k<<24>>24!=l<<24>>24){I=197;break}if((o|0)>1){m=m+1|0;n=n+1|0;o=o+-1|0}else break}if((I|0)==195){N=0;P=b[1232+(h[n>>0]|0)>>0]|0;I=199}else if((I|0)==197){N=k&255;P=l;I=199}if((I|0)==199?(0,(N|0)!=(P&255|0)):0){I=229;break e}q=wz(j)|0;g:do if((q|0)>0){l=55445;o=j;m=q;while(1){k=b[l>>0]|0;if(!(k<<24>>24)){I=206;break}n=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(n<<24>>24!=k<<24>>24){I=204;break}if((m|0)>1){l=l+1|0;o=o+1|0;m=m+-1|0}else{I=208;break}}if((I|0)==204){l=n&255;I=207}else if((I|0)==206){l=0;k=b[1232+(h[o>>0]|0)>>0]|0;I=207}if((I|0)==207){I=0;if((l|0)==(k&255|0))I=208;else p=-1}if((I|0)==208)p=1;l=55450;o=j;m=q;while(1){k=b[l>>0]|0;if(!(k<<24>>24)){I=214;break}n=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(n<<24>>24!=k<<24>>24){I=212;break}if((m|0)>1){l=l+1|0;o=o+1|0;m=m+-1|0}else{I=216;break}}if((I|0)==212){l=n&255;I=215}else if((I|0)==214){l=0;k=b[1232+(h[o>>0]|0)>>0]|0;I=215}if((I|0)==215){I=0;if((l|0)==(k&255|0))I=216;else o=p}if((I|0)==216){I=0;if((p|0)>-1){I=226;break}else o=0}n=69559;l=q;while(1){k=b[n>>0]|0;if(!(k<<24>>24)){I=222;break}k=b[1232+(k&255)>>0]|0;m=b[1232+(h[j>>0]|0)>>0]|0;if(k<<24>>24!=m<<24>>24){I=220;break}if((l|0)>1){n=n+1|0;j=j+1|0;l=l+-1|0}else break}if((I|0)==220){k=k&255;j=m;I=223}else if((I|0)==222){k=0;j=b[1232+(h[j>>0]|0)>>0]|0;I=223}do if((I|0)==223){I=0;if((k|0)==(j&255|0))break;f[J>>2]=o;u=o>>>31;f[ka>>2]=u;if(!u){j=0;break e}else break g}while(0);if((o|0)>-1){I=226;break}f[J>>2]=2;f[ka>>2]=0;j=0;break e}else I=226;while(0);if((I|0)==226){I=0;f[ka>>2]=1}j=wd(69567,_)|0;f[i>>2]=j;j=1;break e}while(0);k=b[j>>0]|0;do if((k&-2)<<24>>24==48){if(b[j+1>>0]|0)break;f[K>>2]=k<<24>>24==49&1;j=0;break e}while(0);j=wd(69524,Z)|0;f[i>>2]=j;f[ka>>2]=1;j=1;break e}while(0);if(f[D>>2]|0){j=wd(69475,Y)|0;f[i>>2]=j;f[ka>>2]=1;j=1;break e}l=wz(j)|0;k=Fd(l+1|0)|0;if(!k){f[ka>>2]=7;k=0;j=7}else{YA(k|0,j|0,l|0)|0;b[k+l>>0]=0;j=f[ka>>2]|0}f[D>>2]=k;break e}while(0);if(f[z>>2]|0){j=wd(69423,W)|0;f[i>>2]=j;f[ka>>2]=1;j=1;break e}if(!(b[j>>0]|0)){f[z>>2]=1;j=0;break e}else{f[z>>2]=2;f[X>>2]=f[B>>2];f[X+4>>2]=j;j=iw(ka,69455,X)|0;f[C>>2]=j;j=f[ka>>2]|0;break e}}while(0);n=wz(j)|0;m=n+1|0;k=m<<2;l=Fd(k)|0;do if(!l){if((k|0)<=0){u=0;break}f[ka>>2]=7;j=7;break e}else{_A(l|0,0,k|0)|0;u=l}while(0);l=m<<1;k=Fd(l)|0;do if(!k){if((n|0)<=-1){k=0;j=0;I=150;break}f[ka>>2]=7;k=0;j=7;I=150}else{_A(k|0,0,l|0)|0;if(!u){j=0;break}if(f[A>>2]|0){j=wd(69303,S)|0;f[i>>2]=j;f[ka>>2]=1;j=1;I=151;break}r=k;s=0;l=j;m=b[j>>0]|0;h:while(1){switch(m<<24>>24){case 0:break h;case 32:{j=l;do{j=j+1|0;l=b[j>>0]|0}while(l<<24>>24==32);m=l;break}default:j=l}if(m<<24>>24==39){l=lw(j)|0;if(!l){I=129;break}}else{l=j;while(1){q=m<<24>>24;if((q&128|0)==0?(b[26896+q>>0]|0)==0:0)break;m=l+1|0;l=m;m=b[m>>0]|0}if((l|0)==(j|0)){I=129;break}}q=l-j|0;YA(r|0,j|0,q|0)|0;f[u+(s<<2)>>2]=r;j=b[r>>0]|0;switch(j<<24>>24){case 96:case 34:case 39:case 91:{p=j<<24>>24==91?93:j;m=b[r+1>>0]|0;i:do if(!(m<<24>>24))j=0;else{o=1;j=0;while(1){n=o+1|0;if(m<<24>>24==p<<24>>24){if((b[r+n>>0]|0)!=p<<24>>24)break i;n=o+2|0;m=p}b[r+j>>0]=m;j=j+1|0;m=b[r+n>>0]|0;if(!(m<<24>>24))break;else o=n}}while(0);b[r+j>>0]=0;break}default:{}}while(1){m=b[l>>0]|0;if(m<<24>>24==32)l=l+1|0;else break}if(!l){I=129;break}else{r=r+(q+1)|0;s=s+1|0}}if((I|0)==129){j=wd(69336,T)|0;f[i>>2]=j;f[ka>>2]=1;j=1;I=150;break}p=(s|0)==0;j:do if(p)I=132;else{j=f[u>>2]|0;if(!j){I=132;break}l=f[H>>2]|0;if(!l){I=143;break}while(1){n=f[l>>2]|0;if(n|0){I=b[j>>0]|0;m=(h[1232+(I&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0;if(!(I<<24>>24==0|(m|0)!=0)){o=j;do{o=o+1|0;n=n+1|0;I=b[o>>0]|0;m=(h[1232+(I&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(I<<24>>24==0|(m|0)!=0))}if(!m){I=141;break j}}l=f[l+24>>2]|0;if(!l){I=143;break}}}while(0);if((I|0)==132){l=f[F>>2]|0;I=141}do if((I|0)==141){I=0;if(!l){j=f[u>>2]|0;I=143;break}r=l+8|0;j=lb[f[r>>2]&127](f[l+4>>2]|0,u+4|0,p?0:s+-1|0,A)|0;f[E>>2]=r;if(!(G&(j|0)!=0))if(!j){j=0;break}else{I=148;break}else{l=wd(69392,V)|0;I=147;break}}while(0);if((I|0)==143){f[U>>2]=j;j=1;l=wd(69370,U)|0;I=147}if((I|0)==147){f[i>>2]=l;I=148}if((I|0)==148){f[E>>2]=0;f[A>>2]=0}f[ka>>2]=j;I=150}while(0);if((I|0)==150)if(!u)I=154;else I=151;do if((I|0)==151)if(!(f[9328]|0)){ob[f[37360>>2]&127](u);I=154;break}else{I=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);I=154;break}while(0);if((I|0)==154){I=0;if(!k)break e}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break e}else{u=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break e}}}while(0);k=f[x>>2]|0;k:do if(!k){l:do if(!(Mc()|0)){do if(!(f[9328]|0)){k=ib[f[37356>>2]&255](124)|0;if(!k)break l}else{k=ib[f[37372>>2]&255](124)|0;if((f[18194]|0)>>>0<124)f[18194]=124;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){u=f[18187]|0;s=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;r=ba()|0;f[17976]=((r|0)<0|(r|0)==0&s>>>0<=u>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break l;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0<=(f[18196]|0)>>>0)break;f[18196]=l}while(0);l=k;m=l+124|0;do{b[l>>0]=0;l=l+1|0}while((l|0)<(m|0));f[x>>2]=k;break k}while(0);f[ka>>2]=7;f[x>>2]=0;j=7;break e}while(0);m=1;while(1){while(1){l=b[j>>0]|0;if(l<<24>>24==32)j=j+1|0;else break}if(!((m|0)==0&l<<24>>24==44)){if(!(l<<24>>24)){I=89;break}}else do{j=j+1|0;l=b[j>>0]|0}while(l<<24>>24==32);if((l+-48&255)>9){I=81;break}n=f[y>>2]|0;if((n|0)==31){I=84;break}m=0;do{m=(l<<24>>24)+-48+(m*10|0)|0;j=j+1|0;l=b[j>>0]|0}while((l+-48&255)<10&(m|0)<1e3);if((m+-1|0)>>>0>998){I=87;break}f[k+(n<<2)>>2]=m;f[y>>2]=(f[y>>2]|0)+1;m=0}if((I|0)==81){I=0;j=wd(69202,da)|0;f[i>>2]=j;f[ka>>2]=1;j=1;break}else if((I|0)==84){I=0;f[ea>>2]=31;j=wd(69233,ea)|0;f[i>>2]=j;f[ka>>2]=1;j=1;break}else if((I|0)==87){I=0;j=wd(69266,fa)|0;f[i>>2]=j;f[ka>>2]=1;j=1;break}else if((I|0)==89){I=0;j=f[ka>>2]|0;break}}else I=229;while(0);if((I|0)==229){f[$>>2]=p;f[$+4>>2]=q;j=wd(69598,$)|0;f[i>>2]=j;j=1}f[pa>>2]=j;I=249}else I=249;while(0);do if((I|0)==249){I=0;k=f[ma>>2]|0;if(k)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{u=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);k=f[Q>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{u=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);v=v+1|0;k=(j|0)==0}while((v|0)<(d|0)&k)}if(k){l=ia+56|0;if(!(f[l>>2]|0)){j=f[a+40>>2]|0;k=ia+60|0;if(!j)Ya();a=j+8|0;j=lb[f[a>>2]&127](f[j+4>>2]|0,4,0,l)|0;f[k>>2]=a;if(!j)j=0;else{f[k>>2]=0;f[l>>2]=0}f[pa>>2]=j}if(!j){k=ia+36|0;do if(!(f[k>>2]|0)){if(f[ia+32>>2]|0)if(!(f[K>>2]|0))break;else j=63183;else j=63175;a=f[L>>2]|0;f[ha>>2]=f[c>>2];f[ha+4>>2]=a;f[ha+8>>2]=j;j=iw(pa,69697,ha)|0;f[k>>2]=j;j=f[pa>>2]|0;if(j|0)break a}while(0);k=ia+40|0;j=f[k>>2]|0;do if(!j){j=Fd(6)|0;if(!j){f[pa>>2]=7;f[k>>2]=0;j=7;break a}else{b[j>>0]=b[47870]|0;b[j+1>>0]=b[47871]|0;b[j+2>>0]=b[47872]|0;b[j+3>>0]=b[47873]|0;b[j+4>>0]=b[47874]|0;b[j+5>>0]=0;f[k>>2]=j;break}}while(0);f[ka>>2]=0;f[ma>>2]=0;f[ma+4>>2]=0;f[ma+8>>2]=0;f[ja>>2]=j;px(ka,ma,69708,ja);l=ia+32|0;k=f[l>>2]|0;m:do if((k|0)!=1?(la=ia+12|0,(f[la>>2]|0)>0):0){j=0;while(1){if((k|0)==2){f[na>>2]=f[(f[ga>>2]|0)+(j<<2)>>2];px(ka,ma,69713,na)}else{f[oa>>2]=j;px(ka,ma,69720,oa)}j=j+1|0;if((j|0)>=(f[la>>2]|0))break m;k=f[l>>2]|0}}while(0);f[ia+52>>2]=f[ma>>2];j=f[ka>>2]|0;f[pa>>2]=j;if(!j){g=0;t=qa;return g|0}}}}while(0);Rw(ia);f[g>>2]=0;g=j;t=qa;return g|0}while(0);f[g>>2]=0;g=7;t=qa;return g|0}function Ow(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=t;t=t+112|0;P=S+72|0;J=S+64|0;I=S+56|0;H=S+48|0;N=S+40|0;M=S+32|0;L=S+24|0;K=S+16|0;G=S+8|0;F=S;O=S+104|0;R=S+80|0;f[e>>2]=0;f[g>>2]=0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;f[R+16>>2]=0;f[R+20>>2]=0;if(Mc()|0){R=7;t=S;return R|0}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](1212)|0;if(!i){R=7;t=S;return R|0}else j=i}else{i=ib[f[37372>>2]&255](1212)|0;if((f[18194]|0)>>>0<1212)f[18194]=1212;k=71896;j=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){Q=f[18187]|0;E=LA(j|0,k|0,i|0,((i|0)<0)<<31>>31|0)|0;D=ba()|0;f[17976]=((D|0)<0|(D|0)==0&E>>>0<=Q>>>0)&1}j=ib[f[37356>>2]&255](i)|0;if(!j){R=7;t=S;return R|0}i=ib[f[37368>>2]&255](j)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}E=j+8|0;f[j>>2]=E;b[E>>0]=0;b[j+9>>0]=0;C=j+1208|0;f[C>>2]=j+1196;f[R>>2]=a;D=j+4|0;Q=R+8|0;do{B=d;a:while(1){i=b[B>>0]|0;switch(i<<24>>24){case 13:case 10:case 9:case 32:break;default:break a}B=B+1|0}i=i<<24>>24;b:do switch(i|0){case 40:{k=10;i=1;n=44;break}case 41:{k=11;i=1;n=44;break}case 123:{k=7;i=1;n=44;break}case 125:{k=8;i=1;n=44;break}case 58:{k=5;i=1;n=44;break}case 44:{k=13;i=1;n=44;break}case 43:{k=14;i=1;n=44;break}case 42:{k=15;i=1;n=44;break}case 45:{k=6;i=1;n=44;break}case 94:{k=12;i=1;n=44;break}case 0:{k=0;i=1;n=44;break}case 34:{k=B;c:while(1){i=k+1|0;switch(b[i>>0]|0){case 0:{n=32;break c}case 34:{i=k+2|0;if((b[i>>0]|0)!=34){n=33;break c}break}default:{}}k=i}if((n|0)==32){n=0;Ww(R,68904,F);A=0;i=1;break b}else if((n|0)==33){k=9;i=i-B|0;n=44;break b}break}default:{if((i&128|0)==0?(b[26896+i>>0]|0)==0:0){f[G>>2]=B;Ww(R,68924,G);A=0;i=1;break b}i=B;do{i=i+1|0;A=b[i>>0]|0}while(!((A&128|0)==0?(b[26896+A>>0]|0)==0:0));i=i-B|0;switch(i|0){case 2:{k=(Hz(B,66361,2)|0)==0;k=k?1:9;i=2;n=44;break b}case 3:{k=(Hz(B,66368,3)|0)==0;i=(Hz(B,66364,3)|0)==0;k=i?2:k?3:9;i=3;n=44;break b}default:{k=9;n=44;break b}}}}while(0);if((n|0)==44){n=0;d=B+i|0;A=k}y=B;f[D>>2]=R;l=f[j>>2]|0;z=A&255;x=A&255;k=b[l>>0]|0;do{m=k&255;if((k&255)>34)m=k;else{k=x+(h[34928+m>>0]|0)|0;if(k>>>0<=120?(b[34976+k>>0]|0)==z<<24>>24:0)k=35152+k|0;else k=35104+m|0;m=b[k>>0]|0}if((m&255)<=82){n=127;break}v=(m&255)+-83|0;u=f[D>>2]|0;w=35264+(v<<1)+1|0;d:do switch(m<<24>>24){case 105:case 110:{if(l>>>0<(f[C>>2]|0)>>>0)switch(m<<24>>24){case 108:{n=122;break d}case 107:{n=121;break d}case 106:{n=120;break d}case 109:{n=123;break d}case 105:{f[l+16>>2]=0;f[l+20>>2]=0;n=125;break d}case 110:{f[l+16>>2]=0;n=125;break d}default:{n=125;break d}}if(l>>>0>E>>>0){k=l;do{f[j>>2]=k+-12;Xw(b[k+1>>0]|0,k+4|0);k=f[j>>2]|0}while(k>>>0>E>>>0)}Ww(u,68955,K);f[D>>2]=u;k=0;l=f[j>>2]|0;break}case 83:{f[u+20>>2]=f[l+4>>2];n=125;break}case 84:{n=Yw(u,f[l+-8>>2]|0)|0;f[l+-32>>2]=n;n=125;break}case 85:{f[l+-20>>2]=f[l+-8>>2];n=125;break}case 86:{n=l+4|0;u=Zw(u,0,f[n>>2]|0,f[l+8>>2]|0)|0;f[n>>2]=u;n=125;break}case 87:{s=Zw(u,0,f[l+4>>2]|0,f[l+8>>2]|0)|0;n=l+-8|0;f[n>>2]=s;u=Yw(u,s)|0;f[n>>2]=u;n=125;break}case 88:{n=l+-8|0;u=Zw(u,f[n>>2]|0,f[l+4>>2]|0,f[l+8>>2]|0)|0;f[n>>2]=u;n=125;break}case 89:{n=l+4|0;u=Zw(u,0,f[n>>2]|0,f[l+8>>2]|0)|0;f[n>>2]=u;n=125;break}case 90:{n=l+-20|0;u=_w(u,2,f[n>>2]|0,f[l+4>>2]|0,0)|0;f[n>>2]=u;n=125;break}case 91:{n=l+-20|0;u=_w(u,1,f[n>>2]|0,f[l+4>>2]|0,0)|0;f[n>>2]=u;n=125;break}case 92:{n=l+-20|0;u=_w(u,3,f[n>>2]|0,f[l+4>>2]|0,0)|0;f[n>>2]=u;n=125;break}case 93:{n=l+-8|0;m=f[n>>2]|0;o=l+-44|0;k=f[o>>2]|0;f[O>>2]=k;if((f[(f[u>>2]|0)+48>>2]|0)==1){f[u+8>>2]=1;s=wd(68983,L)|0;f[u+4>>2]=s}else{$w(u,m,k,O);k=f[O>>2]|0}do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{u=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[o>>2]=f[n>>2];n=125;break}case 94:{f[l+-20>>2]=f[l+-8>>2];n=125;break}case 109:{n=123;break}case 108:{n=122;break}case 97:{o=l+-8|0;k=f[o>>2]|0;n=f[l+4>>2]|0;do if(!(f[u+8>>2]|0)){if((f[k>>2]|0)==2)m=f[k+32+((f[k+28>>2]|0)+-1<<2)>>2]|0;else m=k;if(!(f[n>>2]|0)){Sw(n);u=u+12|0;f[u>>2]=(f[u>>2]|0)+-1;break}if(f[m>>2]|0){k=_w(u,2,k,n,0)|0;break}if((m|0)==(k|0))k=n;else f[k+32+((f[k+28>>2]|0)+-1<<2)>>2]=n;s=u+12|0;r=f[(f[n+24>>2]|0)+8>>2]|0;u=(f[u+16>>2]|0)+((f[s>>2]|0)+-1-r<<2)|0;ZA(u|0,u+4|0,r<<2|0)|0;f[s>>2]=(f[s>>2]|0)+-1;Sw(m)}else{Sw(k);Sw(n);k=0}while(0);f[o>>2]=k;n=125;break}case 98:{n=l+4|0;u=_w(u,9,0,0,f[n>>2]|0)|0;f[n>>2]=u;n=125;break}case 99:{m=_w(u,9,0,0,f[l+4>>2]|0)|0;n=l+-20|0;k=f[n>>2]|0;f[O>>2]=k;if((f[(f[u>>2]|0)+48>>2]|0)==1){f[u+8>>2]=1;s=wd(68983,M)|0;f[u+4>>2]=s}else{$w(u,m,k,O);k=f[O>>2]|0}do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{u=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[n>>2]=m;n=125;break}case 100:{n=l+4|0;u=ax(u,0,f[n>>2]|0)|0;f[n>>2]=u;n=125;break}case 101:{m=l+4|0;k=f[m>>2]|0;if(k){if(f[k+16>>2]|0){b[k+21>>0]=1;k=f[m>>2]|0}}else k=0;n=ax(u,0,k)|0;f[l+-8>>2]=n;n=125;break}case 102:{s=l+-44|0;k=f[l+-40>>2]|0;m=f[s>>2]|0;if(!((k|0)==4?!(Hz(66372,m,4)|0):0)){f[N>>2]=k;f[N+4>>2]=m;Ww(u,69036,N)}q=l+-20|0;r=f[q>>2]|0;e:do if(r|0){o=f[l+-4>>2]|0;f:do if(o)if((o|0)>0){p=f[l+-8>>2]|0;k=0;n=0;while(1){m=b[p+n>>0]|0;if((m+-48&255)>9)break;k=(k*10|0)+-48+(m<<24>>24)|0;n=n+1|0;if((n|0)>=(o|0))break f}f[H>>2]=o;f[H+4>>2]=p;Ww(u,69067,H);break e}else k=0;else k=10;while(0);f[r>>2]=k}while(0);f[s>>2]=f[q>>2];n=125;break}case 103:{n=l+4|0;u=ax(u,0,f[n>>2]|0)|0;f[n>>2]=u;n=125;break}case 104:{n=l+-8|0;u=ax(u,f[n>>2]|0,f[l+4>>2]|0)|0;f[n>>2]=u;n=125;break}case 106:{n=120;break}case 107:{n=121;break}default:n=125}while(0);if((n|0)==120){r=l+4|0;s=f[r+4>>2]|0;u=l+-8|0;f[u>>2]=f[r>>2];f[u+4>>2]=s;n=125}else if((n|0)==121){s=l+-32|0;u=bx(u,f[s>>2]|0,f[l+-8>>2]|0,f[l+-4>>2]|0,f[l+4>>2]|0)|0;f[s>>2]=u;n=125}else if((n|0)==122){s=l+-8|0;u=bx(u,0,f[s>>2]|0,f[l+-4>>2]|0,f[l+4>>2]|0)|0;f[s>>2]=u;n=125}else if((n|0)==123){f[l+4>>2]=1;n=125}if((n|0)==125){n=0;u=b[35264+(v<<1)>>0]|0;v=b[w>>0]|0;k=b[35152+((b[35328+(h[l+(v*12|0)>>0]|0)>>0]|0)+(u&255))>>0]|0;v=v+1|0;w=l+(v*12|0)|0;f[j>>2]=w;b[w>>0]=k;b[l+(v*12|0)+1>>0]=u;l=w}}while(l>>>0>E>>>0);g:do if((n|0)==127){n=0;if((m&255)<80){k=l+12|0;f[j>>2]=k;if(k>>>0<=(f[C>>2]|0)>>>0){b[k>>0]=(m&255)>34?(m&255)+31&255:m;b[l+13>>0]=z;f[l+16>>2]=y;f[l+20>>2]=i;break}f[j>>2]=l;k=f[D>>2]|0;if(l>>>0>E>>>0){i=l;do{f[j>>2]=i+-12;Xw(b[i+1>>0]|0,i+4|0);i=f[j>>2]|0}while(i>>>0>E>>>0)}Ww(k,68955,I);f[D>>2]=k;break}if(m<<24>>24==81){f[j>>2]=l+-12;break}y=f[D>>2]|0;f[J>>2]=i;f[J+4>>2]=B;Ww(y,69036,J);f[D>>2]=y;switch(z<<24>>24){case 24:{Uw(B);break g}case 19:case 18:case 17:{Sw(B);break g}case 21:case 20:{if(!B)break g;if(!(f[9328]|0)){ob[f[37360>>2]&127](B);break g}else{z=ib[f[37368>>2]&255](B)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](B);break g}}case 23:case 22:{Tw(B);break g}default:break g}}while(0)}while((A|0)!=0&(f[Q>>2]|0)==0);i=f[j>>2]|0;if(i>>>0>E>>>0)do{f[j>>2]=i+-12;Xw(b[i+1>>0]|0,i+4|0);i=f[j>>2]|0}while(i>>>0>E>>>0);if(!(f[9328]|0))ob[f[37360>>2]&127](j);else{N=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j)}h:do if((f[a+12>>2]|0)>(c|0)){i=R+20|0;j=f[Q>>2]|0;if((f[i>>2]|0)!=0&(j|0)==0){do if(!(Mc()|0)){if(!(f[9328]|0)){j=ib[f[37356>>2]&255](8)|0;if(!j)break}else{j=ib[f[37372>>2]&255](8)|0;if((f[18194]|0)>>>0<8)f[18194]=8;d=71896;k=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&k>>>0>0){N=f[18187]|0;M=LA(k|0,d|0,j|0,((j|0)<0)<<31>>31|0)|0;L=ba()|0;f[17976]=((L|0)<0|(L|0)==0&M>>>0<=N>>>0)&1}j=ib[f[37356>>2]&255](j)|0;if(!j)break;k=ib[f[37368>>2]&255](j)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k}N=j;M=N;b[M>>0]=1;b[M+1>>0]=0;b[M+2>>0]=0;b[M+3>>0]=0;N=N+4|0;b[N>>0]=0;b[N+1>>0]=0;b[N+2>>0]=0;b[N+3>>0]=0;f[j+4>>2]=c;i=f[i>>2]|0;f[O>>2]=j;if((f[(f[R>>2]|0)+48>>2]|0)!=1){$w(R,i,j,O);i=f[O>>2]|0;if(i|0)n=169}else{f[Q>>2]=1;i=wd(68983,P)|0;f[R+4>>2]=i;i=j;n=169}do if((n|0)==169)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{P=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-P;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);n=173;break h}while(0);f[Q>>2]=7;n=210}else{i=j;n=174}}else n=173;while(0);if((n|0)==173){i=f[Q>>2]|0;n=174}i:do if((n|0)==174){if(i|0){i=R+20|0;n=210;break}do if(!(Mc()|0)){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](24)|0;f[e>>2]=i;if(!i)break}else{i=ib[f[37372>>2]&255](24)|0;if((f[18194]|0)>>>0<24)f[18194]=24;k=71896;j=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){P=f[18187]|0;O=LA(j|0,k|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&O>>>0<=P>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){n=187;break}j=ib[f[37368>>2]&255](i)|0;j=(f[18187]|0)+j|0;f[18187]=j;if(j>>>0>(f[18191]|0)>>>0)f[18191]=j;j=(f[18190]|0)+1|0;f[18190]=j;if(j>>>0>(f[18196]|0)>>>0)f[18196]=j;f[e>>2]=i}j=f[R+20>>2]|0;j:do if(!j){if(!(f[Q>>2]|0)){k:do if(!(Mc()|0)){do if(!(f[9328]|0)){j=ib[f[37356>>2]&255](40)|0;if(!j)break k}else{j=ib[f[37372>>2]&255](40)|0;if((f[18194]|0)>>>0<40)f[18194]=40;d=71896;k=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&k>>>0>0){e=f[18187]|0;P=LA(k|0,d|0,j|0,((j|0)<0)<<31>>31|0)|0;O=ba()|0;f[17976]=((O|0)<0|(O|0)==0&P>>>0<=e>>>0)&1}j=ib[f[37356>>2]&255](j)|0;if(!j)break k;k=ib[f[37368>>2]&255](j)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}while(0);k=j;d=k+40|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(d|0));f[i+8>>2]=j;f[j+4>>2]=1;break j}while(0);f[Q>>2]=7}f[i+8>>2]=0}else f[i+8>>2]=j;while(0);f[i>>2]=0;f[i+4>>2]=a;a=R+16|0;f[i+20>>2]=f[a>>2];f[i+16>>2]=f[R+12>>2];f[a>>2]=0;break i}else n=187;while(0);if((n|0)==187)f[e>>2]=0;f[Q>>2]=7;Sw(f[R+20>>2]|0)}while(0);if((n|0)==210)Sw(f[i>>2]|0);i=f[R+16>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{a=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[g>>2]=f[R+4>>2];R=f[Q>>2]|0;t=S;return R|0}function Pw(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+112|0;w=x+96|0;v=x+88|0;s=x+80|0;r=x+72|0;q=x+64|0;p=x+56|0;n=x+48|0;m=x+40|0;l=x+32|0;k=x+24|0;h=x+16|0;g=x+8|0;d=x;switch(f[c>>2]|0){case 4:case 9:{o=f[c+24>>2]|0;f[d>>2]=a;d=Vw(0,68851,d)|0;if(!d){w=0;t=x;return w|0}i=o+4|0;j=f[i>>2]|0;if(j){e=f[j+4>>2]|0;if((f[j>>2]|0)==1){f[g>>2]=e;d=Vw(d,68855,g)|0}else{f[h>>2]=e;d=Vw(d,68864,h)|0;if((f[f[i>>2]>>2]|0)>1){e=1;do{f[k>>2]=f[j+4+(e<<2)>>2];d=Vw(d,68873,k)|0;e=e+1|0}while((e|0)<(f[f[i>>2]>>2]|0))}d=Vw(d,68877,l)|0}if(!d){w=0;t=x;return w|0}}j=o+8|0;if((f[j>>2]|0)>1){f[m>>2]=f[o>>2];d=Vw(d,68880,m)|0;if(!d){w=0;t=x;return w|0}}d=Vw(d,68890,n)|0;if(!d){w=0;t=x;return w|0}if((f[j>>2]|0)<=0){w=d;t=x;return w|0}i=0;a:while(1){h=f[o+12+(i<<2)>>2]|0;d=Vw(d,68893,p)|0;if(!d){i=0;e=34;break}g=h+16|0;e=0;while(1){if((e|0)>=(f[g>>2]|0))break;n=f[h+20+(e<<4)+4>>2]|0;f[q>>2]=(e|0)==0?72788:41721;f[q+4>>2]=n;d=Vw(d,49509,q)|0;if(b[h+20+(e<<4)>>0]|0)d=Vw(d,50775,r)|0;if(!d){i=0;e=34;break a}else e=e+1|0}d=Vw(d,68896,s)|0;i=i+1|0;if(!d){i=0;e=34;break}if((i|0)>=(f[j>>2]|0)){i=d;e=34;break}}if((e|0)==34){t=x;return i|0}break}case 2:{u=66364;break}case 3:{u=66368;break}default:u=66361}f[v>>2]=u;d=wd(40840,v)|0;h=c+28|0;if(!d){w=0;t=x;return w|0}g=0;while(1){if((g|0)>=(f[h>>2]|0)){i=d;e=34;break}e=Pw(a,f[c+32+(g<<2)>>2]|0)|0;if(!e){e=30;break}f[w>>2]=e;e=Vw(d,68898,w)|0;if(!e){i=0;e=34;break}else{g=g+1|0;d=e}}if((e|0)==30)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);w=0;t=x;return w|0}else{w=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);w=0;t=x;return w|0}else if((e|0)==34){t=x;return i|0}return 0}function Qw(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+64|0;l=u+48|0;q=u+40|0;s=u+32|0;r=u+24|0;g=u+16|0;e=u+8|0;switch(f[c>>2]|0){case 0:{s=wd(68806,u)|0;t=u;return s|0}case 4:case 9:{p=f[c+24>>2]|0;d=f[p+4>>2]|0;if(d){f[e>>2]=f[(f[a+16>>2]|0)+(f[d+4>>2]<<2)>>2];d=Vw(0,68809,e)|0;if(d|0)h=5}else{d=0;h=5}a:do if((h|0)==5){o=p+8|0;e=f[o>>2]|0;if((e|0)>1){d=Vw(d,68815,g)|0;if(!d)break;e=f[o>>2]|0}if((e|0)<=0){s=d;t=u;return s|0}n=0;b:while(1){m=f[p+12+(n<<2)>>2]|0;if(n){d=Vw(d,41721,r)|0;if(!d)break a}a=m+16|0;if((f[a>>2]|0)>0){l=0;do{c=m+20+(l<<4)|0;h=((wz(f[m+20+(l<<4)+4>>2]|0)|0)<<1)+5|0;e=0;g=c;do{e=h+e|0;g=f[g+12>>2]|0}while((g|0)!=0);k=Fd(e)|0;if(!k){h=19;break b}e=0;j=c;while(1){h=f[j+4>>2]|0;i=e;e=34;c:while(1){b[k+i>>0]=e;g=i+1|0;e=b[h>>0]|0;switch(e<<24>>24){case 0:break c;case 34:{b[k+g>>0]=34;g=i+2|0;e=b[h>>0]|0;break}default:{}}h=h+1|0;i=g}e=i+2|0;b[k+g>>0]=34;g=j+12|0;if(!(f[g>>2]|0))break;h=i+3|0;b[k+e>>0]=124;j=f[g>>2]|0;if(!j){e=h;break}else e=h}if(b[c>>0]|0){b[k+e>>0]=32;b[k+(e+1)>>0]=42;e=e+2|0}b[k+e>>0]=0;f[s>>2]=(l|0)==0?72788:68821;f[s+4>>2]=k;d=Vw(d,49509,s)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{c=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}l=l+1|0;if(!d)break a}while((l|0)<(f[a>>2]|0))}n=n+1|0;e=f[o>>2]|0;if((n|0)>=(e|0)){h=36;break}}if((h|0)==19){if(!d)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{s=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}else if((h|0)==36){if((e|0)<=1){s=d;t=u;return s|0}f[q>>2]=f[p>>2];d=Vw(d,68825,q)|0;if(!d)break;t=u;return d|0}}while(0);s=0;t=u;return s|0}case 2:{j=56756;break}case 3:{j=68836;break}default:j=68831}k=c+28|0;if((f[k>>2]|0)<=0){s=0;t=u;return s|0}i=0;d=0;while(1){e=c+32+(i<<2)|0;h=Qw(a,f[e>>2]|0)|0;if(!h){h=45;break}switch(f[f[e>>2]>>2]|0){case 0:case 4:case 9:{e=72788;g=72788;break}default:{e=56860;g=43047}}f[l>>2]=(i|0)==0?72788:j;f[l+4>>2]=e;f[l+8>>2]=h;f[l+12>>2]=g;d=Vw(d,68842,l)|0;i=i+1|0;if(!d){d=0;h=52;break}if((i|0)>=(f[k>>2]|0)){h=52;break}}if((h|0)==45){if(!d){s=0;t=u;return s|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);s=0;t=u;return s|0}else{s=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);s=0;t=u;return s|0}}else if((h|0)==52){t=u;return d|0}return 0}function Rw(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;if(!a)return;b=f[a+56>>2]|0;if(b|0)ob[f[(f[a+60>>2]|0)+4>>2]&127](b);b=f[a+4>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{e=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+8>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{e=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);d=a+12|0;e=a+16|0;b=f[e>>2]|0;if((f[d>>2]|0)>0){c=0;do{b=f[b+(c<<2)>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{g=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);c=c+1|0;b=f[e>>2]|0}while((c|0)<(f[d>>2]|0))}do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{g=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+28>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{g=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+88>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{g=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+92>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{g=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+36>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{g=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+40>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{g=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+52>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{g=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{g=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Sw(a){a=a|0;var b=0,c=0;if(!a)return;c=a+28|0;if((f[c>>2]|0)>0){b=0;do{Sw(f[a+32+(b<<2)>>2]|0);b=b+1|0}while((b|0)<(f[c>>2]|0))}Tw(f[a+24>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Tw(a){a=a|0;var b=0,c=0;if(!a)return;c=a+8|0;if((f[c>>2]|0)>0){b=0;do{Uw(f[a+12+(b<<2)>>2]|0);b=b+1|0}while((b|0)<(f[c>>2]|0))}b=f[a+4>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Uw(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!a)return;h=a+16|0;if((f[h>>2]|0)>0){g=0;do{b=f[a+20+(g<<4)+4>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{e=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+20+(g<<4)+8>>2]|0;do if(b|0?(i=f[b+24>>2]|0,Tv(b),i=i+40|0,j=f[i>>2]|0,j|0):0){f[i>>2]=0;b=f[j+20>>2]|0;Fi(f[j+16>>2]|0)|0;if(b|0){if(f[b+480>>2]|0){Kc(b,j);break}e=j;if((f[b+304>>2]|0)>>>0<=e>>>0?(f[b+308>>2]|0)>>>0>e>>>0:0){e=b+300|0;f[j>>2]=f[e>>2];f[e>>2]=j;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{e=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);b=f[a+20+(g<<4)+12>>2]|0;if(b|0)do{e=b;b=f[b+12>>2]|0;c=f[e+8>>2]|0;do if(c|0?(k=f[c+24>>2]|0,Tv(c),k=k+40|0,l=f[k>>2]|0,l|0):0){f[k>>2]=0;c=f[l+20>>2]|0;Fi(f[l+16>>2]|0)|0;if(c|0){if(f[c+480>>2]|0){Kc(c,l);break}d=l;if((f[c+304>>2]|0)>>>0<=d>>>0?(f[c+308>>2]|0)>>>0>d>>>0:0){d=c+300|0;f[l>>2]=f[d>>2];f[d>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{d=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);c=e+16|0;d=f[c>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{m=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{m=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}}while((b|0)!=0);g=g+1|0}while((g|0)<(f[h>>2]|0))}if((f[a+12>>2]|0)>0){b=a+4|0;c=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{m=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Vw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=t;t=t+32|0;d=e+16|0;g=e;f[g>>2]=c;c=lp(b,g)|0;if(!((a|0)!=0&(c|0)!=0)){g=c;he(a);t=e;return g|0}f[d>>2]=a;f[d+4>>2]=c;b=wd(49509,d)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);g=b;he(a);t=e;return g|0}else{g=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);g=b;he(a);t=e;return g|0}return 0}function Ww(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+112|0;k=m+88|0;j=m;f[j>>2]=d;l=a+8|0;if(f[l>>2]|0){t=m;return}do if(!(Mc()|0)){e=k+4|0;f[e>>2]=m+16;f[k>>2]=0;f[k+8>>2]=70;g=k+12|0;f[g>>2]=1e9;h=k+16|0;f[h>>2]=0;b[k+20>>0]=0;i=k+21|0;b[i>>0]=0;Bc(k,c,j);d=f[e>>2]|0;if((d|0?(b[d+(f[h>>2]|0)>>0]=0,f[g>>2]|0):0)?(b[i>>0]&4)==0:0){d=Cc(k)|0;break}d=f[e>>2]|0}else d=0;while(0);f[a+4>>2]=d;f[l>>2]=1;t=m;return}function Xw(a,b){a=a|0;b=b|0;switch(a<<24>>24){case 24:{Uw(f[b>>2]|0);return}case 19:case 18:case 17:{Sw(f[b>>2]|0);return}case 21:case 20:{a=f[b>>2]|0;if(!a)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}case 23:case 22:{Tw(f[b>>2]|0);return}default:return}}function Yw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;g=f[(f[a>>2]|0)+12>>2]|0;c=a+8|0;d=(g<<2)+8|0;do if(!(f[c>>2]|0)){a=Fd(d)|0;if(!a){if((d|0)<=0){a=0;h=12;break}f[c>>2]=7;a=0;h=12;break}_A(a|0,0,d|0)|0;if((g|0)>0){e=a+4|0;d=0;c=0;do{if((c|0)<(f[b>>2]|0)?(f[b+4+(c<<2)>>2]|0)==(d|0):0)c=c+1|0;else{i=f[a>>2]|0;f[a>>2]=i+1;f[e+(i<<2)>>2]=d}d=d+1|0}while((d|0)!=(g|0))}else h=12}else{a=0;h=12}while(0);if((h|0)==12)if(!b){i=a;return i|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);i=a;return i|0}else{i=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);i=a;return i|0}return 0}function Zw(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+16|0;m=p;n=a+8|0;do if(!(f[n>>2]|0)){if((e|0)<0)e=wz(d)|0;o=Fd(e+1|0)|0;if(!o){f[n>>2]=7;break}YA(o|0,d|0,e|0)|0;b[o+e>>0]=0;if(!(f[n>>2]|0)){k=f[a>>2]|0;e=b[o>>0]|0;switch(e<<24>>24){case 96:case 34:case 39:case 91:{j=e<<24>>24==91?93:e;d=b[o+1>>0]|0;a:do if(!(d<<24>>24))e=0;else{i=1;e=0;while(1){g=i+1|0;if(d<<24>>24==j<<24>>24){if((b[o+g>>0]|0)!=j<<24>>24)break a;g=i+2|0;d=j}b[o+e>>0]=d;e=e+1|0;d=b[o+g>>0]|0;if(!(d<<24>>24))break;else i=g}}while(0);b[o+e>>0]=0;break}default:{}}l=f[k+12>>2]|0;b:do if((l|0)>0){j=f[k+16>>2]|0;e=0;while(1){g=f[j+(e<<2)>>2]|0;if(g|0){k=b[g>>0]|0;d=(h[1232+(k&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0;if(!(k<<24>>24==0|(d|0)!=0)){i=o;do{g=g+1|0;i=i+1|0;k=b[g>>0]|0;d=(h[1232+(k&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(d|0)!=0))}if(!d){k=e;break b}}e=e+1|0;if((e|0)>=(l|0)){k=e;break}}}else k=0;while(0);c:do if((k|0)==(l|0)){f[m>>2]=o;Ww(a,57072,m);e=0}else{if(!c)j=0;else j=f[c>>2]|0;e=(j<<2)+8|0;if(!(Mc()|0)){e=Nc(c,(e|0)>0?e:0,0)|0;if(e){i=e+4|0;d:do if((j|0)>0){d=0;do{g=f[i+(d<<2)>>2]|0;if((g|0)==(k|0))break c;if((g|0)>(k|0))break d;d=d+1|0}while((d|0)<(j|0))}else d=0;while(0);if((j|0)>(d|0)){g=j;do{n=g;g=g+-1|0;f[i+(n<<2)>>2]=f[i+(g<<2)>>2]}while((g|0)>(d|0))}f[i+(d<<2)>>2]=k;f[e>>2]=j+1;break}}else e=0;f[n>>2]=7}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](o);else{n=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o)}if(e|0){c=e;t=p;return c|0}}}while(0);if(!c){c=0;t=p;return c|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=0;t=p;return c|0}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=0;t=p;return c|0}return 0}function _w(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+16|0;o=p;m=a+8|0;do if(!(f[m>>2]|0)){j=(c|0)==9;if(j&(g|0)==0){o=0;t=p;return o|0}h=(c|0)!=9;if(h&(d|0)==0){o=e;t=p;return o|0}if(h&(e|0)==0){o=d;t=p;return o|0}if((c|0)!=3)if((c+-1|0)>>>0<2){if((f[d>>2]|0)==(c|0))h=(f[d+28>>2]|0)+1|0;else h=2;if((f[e>>2]|0)==(c|0))h=h+-1+(f[e+28>>2]|0)|0}else h=0;else h=2;h=(h<<2)+36|0;l=Fd(h)|0;if(!l){if((h|0)<=0)break;f[m>>2]=7;break}_A(l|0,0,h|0)|0;f[l>>2]=c;f[l+24>>2]=g;switch(c|0){case 9:{if((((f[g+8>>2]|0)==1?(i=f[g+12>>2]|0,(f[i+16>>2]|0)==1):0)?(f[i+32>>2]|0)==0:0)?(b[i+21>>0]|0)==0:0){f[l>>2]=4;h=4;c=93}else{h=9;c=92}break}case 1:{h=c;c=91;break}case 2:{h=c;c=94;break}default:{h=c;c=95}}f[l+12>>2]=c;if(!j){do if((h|0)!=3?(f[d>>2]|0)==(h|0):0){n=d+28|0;o=l+28|0;YA(l+32+(f[o>>2]<<2)|0,d+32|0,f[n>>2]<<2|0)|0;f[o>>2]=(f[o>>2]|0)+(f[n>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{o=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}else k=41;while(0);if((k|0)==41){n=l+28|0;o=f[n>>2]|0;f[n>>2]=o+1;f[l+32+(o<<2)>>2]=d}o=f[l>>2]|0;if((o|0)!=3?(f[e>>2]|0)==(o|0):0){n=e+28|0;o=l+28|0;YA(l+32+(f[o>>2]<<2)|0,e+32|0,f[n>>2]<<2|0)|0;f[o>>2]=(f[o>>2]|0)+(f[n>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);o=l;t=p;return o|0}else{o=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);o=l;t=p;return o|0}}n=l+28|0;o=f[n>>2]|0;f[n>>2]=o+1;f[l+32+(o<<2)>>2]=e;o=l;t=p;return o|0}i=f[g+8>>2]|0;if((i|0)>0){c=l+12|0;h=0;do{k=g+12+(h<<2)|0;f[f[k>>2]>>2]=l;if(!(f[(f[k>>2]|0)+16>>2]|0)){f[c>>2]=0;f[l>>2]=0}h=h+1|0}while((h|0)<(i|0))}if(!(f[(f[a>>2]|0)+48>>2]|0)){o=l;t=p;return o|0}c=f[g+12>>2]|0;h=(i|0)==1;if(h?(n=f[c+16>>2]|0,(n|0)<=1):0){if((n|0)!=1){o=l;t=p;return o|0}if(!(b[c+21>>0]|0)){o=l;t=p;return o|0}}f[m>>2]=1;f[o>>2]=h?69096:66372;o=wd(69103,o)|0;f[a+4>>2]=o;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{o=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);Sw(d);Sw(e);Tw(g);o=0;t=p;return o|0}function $w(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=a+8|0;if(f[h>>2]|0)return;switch(f[b>>2]|0){case 4:case 9:break;default:{g=b+28|0;if((f[g>>2]|0)<=0)return;e=0;do{$w(a,f[b+32+(e<<2)>>2]|0,c,d);e=e+1|0}while((e|0)<(f[g>>2]|0));return}}a=(f[b+24>>2]|0)+4|0;j=f[a>>2]|0;if(!j){if(f[d>>2]|0){f[a>>2]=c;f[d>>2]=0;return}do if(c){g=(f[c>>2]<<2)+4|0;e=Fd(g)|0;if(e|0){YA(e|0,c|0,g|0)|0;break}if((g|0)>0){f[h>>2]=7;e=0}else e=0}else e=0;while(0);f[a>>2]=e;return}g=f[j>>2]|0;if((g|0)>0){e=0;a=0;i=0;while(1){if((a|0)>=(f[c>>2]|0))break;d=f[c+4+(a<<2)>>2]|0;h=(f[j+4+(i<<2)>>2]|0)-d|0;do if(h)if((h|0)>0){d=i;a=a+1|0;break}else{d=i+1|0;break}else{f[j+4+(e<<2)>>2]=d;d=i+1|0;e=e+1|0;a=a+1|0;g=f[j>>2]|0}while(0);if((d|0)<(g|0))i=d;else break}f[j>>2]=e;if(e|0)return}else f[j>>2]=0;f[b>>2]=0;f[b+12>>2]=0;return}function ax(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=a+8|0;do if(!(f[i>>2]|0)){if(!c){a=b;return a|0}a:do if(b){e=b+8|0;d=f[e>>2]|0;if(!(d&7)){d=(d<<2)+48|0;if(!(Mc()|0)){d=Nc(b,(d|0)>0?d:0,0)|0;if(d){h=23;break}}else d=0;f[i>>2]=7;h=23}else g=e}else{do if(!(Mc()|0)){if(!(f[9328]|0)){d=ib[f[37356>>2]&255](48)|0;if(!d)break;else e=d}else{d=ib[f[37372>>2]&255](48)|0;if((f[18194]|0)>>>0<48)f[18194]=48;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){h=f[18187]|0;g=LA(e|0,g|0,d|0,((d|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&g>>>0<=h>>>0)&1}g=ib[f[37356>>2]&255](d)|0;if(!g){d=0;break}d=ib[f[37368>>2]&255](g)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d;e=g;d=g}g=e+48|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));h=23;break a}else d=0;while(0);f[i>>2]=7;h=23}while(0);if((h|0)==23){if(!d)break;i=d+8|0;b=d;g=i;d=f[i>>2]|0}do if((d|0)>0){e=f[b+12+(d+-1<<2)>>2]|0;if(!(f[c+16>>2]|0)){Uw(c);d=(f[g>>2]|0)+-1|0;f[g>>2]=d;c=a+12|0;f[c>>2]=(f[c>>2]|0)+-1;c=e;break}if(!(f[e+16>>2]|0)){Uw(e);d=a+12|0;i=f[d>>2]|0;f[(f[a+16>>2]|0)+(i+-2<<2)>>2]=c;f[d>>2]=i+-1;d=(f[g>>2]|0)+-1|0;f[g>>2]=d}}while(0);f[g>>2]=d+1;f[b+12+(d<<2)>>2]=c;a=b;return a|0}while(0);Tw(b);Uw(c);a=0;return a|0}function bx(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+16|0;o=p;m=f[a>>2]|0;l=o;f[l>>2]=0;f[l+4>>2]=0;f[o>>2]=c;if((e|0)<0)e=wz(d)|0;l=Fd(e+1|0)|0;if(l){YA(l|0,d|0,e|0)|0;b[l+e>>0]=0;k=(g|0)==0?1:3;e=b[l>>0]|0;switch(e<<24>>24){case 96:case 34:case 39:case 91:{j=e<<24>>24==91?93:e;d=b[l+1>>0]|0;a:do if(!(d<<24>>24))e=0;else{i=1;e=0;while(1){h=i+1|0;if(d<<24>>24==j<<24>>24){if((b[l+h>>0]|0)!=j<<24>>24)break a;h=i+2|0;d=j}b[l+e>>0]=d;e=e+1|0;d=b[l+h>>0]|0;if(!(d<<24>>24))break;else i=h}}while(0);b[l+e>>0]=0;break}default:{}}e=wz(l)|0;e=nb[f[(f[m+60>>2]|0)+8>>2]&127](f[m+56>>2]|0,o,k,l,e,90)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{m=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}if(!e){e=f[o+4>>2]|0;if(!e){if(!c){i=a+12|0;e=f[i>>2]|0;do if(!(e&7)){e=(e<<2)+32|0;d=a+16|0;h=f[d>>2]|0;if((Mc()|0)==0?(n=Nc(h,(e|0)>0?e:0,0)|0,n|0):0){f[d>>2]=n;e=f[i>>2]|0;break}f[a+8>>2]=7;Uw(f[o>>2]|0);o=0;t=p;return o|0}while(0);f[i>>2]=e+1}h=f[o>>2]|0;e=h;if(h){d=f[h+16>>2]|0;if(d)b[h+20+(d+-1<<4)>>0]=g}else{i=a+8|0;b:do if(!(f[i>>2]|0)){do if(!(Mc()|0)){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](36)|0;if(!e)break}else{e=ib[f[37372>>2]&255](36)|0;if((f[18194]|0)>>>0<36)f[18194]=36;h=71896;d=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&d>>>0>0){g=f[18187]|0;n=LA(d|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&n>>>0<=g>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e)break;d=ib[f[37368>>2]&255](e)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d}d=e;h=d+36|0;do{b[d>>0]=0;d=d+1|0}while((d|0)<(h|0));break b}while(0);f[i>>2]=7;e=0}else e=0;while(0);f[o>>2]=e}f[(f[a+16>>2]|0)+((f[a+12>>2]|0)+-1<<2)>>2]=e;o=f[o>>2]|0;t=p;return o|0}}}else e=7;f[a+8>>2]=e;Uw(f[o>>2]|0);f[o>>2]=0;o=0;t=p;return o|0}function cx(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;j=f[a>>2]|0;m=a+4|0;g=f[m>>2]|0;if(g|0){m=g;return m|0}g=(e|0)<32768?e:32768;do if(j){i=j+16|0;e=f[i>>2]|0;if((c&1|0)==0|(e|0)<1)if(!(e&7)){i=e;e=0;l=7;break}else{c=j;h=i;l=12;break}h=g+29|0;e=Fd(h)|0;if(!e)g=7;else{_A(e|0,0,h|0)|0;k=e+28|0;f[e+4>>2]=k;YA(k|0,d|0,g|0)|0;g=j+20+((f[i>>2]|0)+-1<<4)+12|0;f[e+12>>2]=f[g>>2];f[g>>2]=e;g=0}}else{i=0;e=1;l=7}while(0);if((l|0)==7){h=(i<<4)+164|0;if((Mc()|0)==0?(k=Nc(j,(h|0)>0?h:0,0)|0,(k|0)!=0):0){if(e){h=k;e=h+36|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(e|0))}f[a>>2]=k;f[k+16>>2]=i;c=k;h=k+16|0;e=i;l=12}else g=7}if((l|0)==12){f[h>>2]=e+1;l=c+20+(e<<4)|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;if((g|0)<0)g=wz(d)|0;h=Fd(g+1|0)|0;if(!h){h=0;g=7}else{YA(h|0,d|0,g|0)|0;b[h+g>>0]=0;g=0}f[c+20+(e<<4)+4>>2]=h}f[m>>2]=g;m=g;return m|0}function dx(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=c+24|0;q=f[(f[(f[r>>2]|0)+12>>2]|0)+28>>2]|0;o=q+24|0;p=f[o>>2]|0;a:do if(d){h=q+16|0;vv(p,q,1,e,g);d=p+36|0;if(!(f[d>>2]|0)){i=q+72|0;k=q+56|0;do{if(b[h>>0]|0)break a;m=q+80+((j[(f[i>>2]|0)+4>>1]|0)*88|0)+72|0;l=f[m>>2]|0;m=f[m+4>>2]|0;n=f[k>>2]|0;if(!((m|0)<(g|0)|(m|0)==(g|0)&l>>>0>>0|(n|0)!=0))break a;if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>e>>>0|(n|0)==0))break a;vv(p,q,1,e,g)}while(!(f[d>>2]|0))}}else vv(p,q,0,0,0);while(0);g=(f[o>>2]|0)+36|0;d=f[g>>2]|0;f[g>>2]=0;if((d|0)==0?(b[q+16>>0]|0)==0:0){q=f[(f[a+4>>2]|0)+48>>2]|0;d=f[(f[r>>2]|0)+12>>2]|0;h=f[d+28>>2]|0;i=f[h+12>>2]|0;f[d+8>>2]=i;if(!q)f[d+4>>2]=f[h+8>>2];a=h;q=f[a+4>>2]|0;r=c+16|0;f[r>>2]=f[a>>2];f[r+4>>2]=q;r=0;q=(i|0)==0&1;c=c+8|0;f[c>>2]=q;return r|0}f[c+4>>2]=1;r=d;q=0;c=c+8|0;f[c>>2]=q;return r|0}function ex(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0;g=f[b+32>>2]|0;c=mb[f[g+12>>2]&127](a,g,c,d,e)|0;if(!c){g=mx(a,b)|0;return g|0}else{f[b+8>>2]=0;g=c;return g|0}return 0}function fx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0;g=f[b+32>>2]|0;c=mb[f[g+12>>2]&127](a,g,c,d,e)|0;if(!c){c=kx(a,b)|0;if(!c){g=0;return g|0}}f[b+8>>2]=0;g=c;return g|0}function gx(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f[(f[c+24>>2]|0)+12>>2]|0;l=h+20|0;f[c+8>>2]=0;if(!(f[h+32>>2]|0)){r=f[h+28>>2]|0;p=r+24|0;q=f[p>>2]|0;a:do if(d){i=r+16|0;vv(q,r,1,e,g);h=q+36|0;if(!(f[h>>2]|0)){k=r+72|0;l=r+56|0;do{if(b[i>>0]|0)break a;n=r+80+((j[(f[k>>2]|0)+4>>1]|0)*88|0)+72|0;m=f[n>>2]|0;n=f[n+4>>2]|0;o=f[l>>2]|0;if(!((n|0)<(g|0)|(n|0)==(g|0)&m>>>0>>0|(o|0)!=0))break a;if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>e>>>0|(o|0)==0))break a;vv(q,r,1,e,g)}while(!(f[h>>2]|0))}}else vv(q,r,0,0,0);while(0);g=(f[p>>2]|0)+36|0;h=f[g>>2]|0;f[g>>2]=0;if(!h){k=h;h=(b[r+16>>0]|0)!=0}else{k=h;h=1}}else{w=a+12|0;p=f[w>>2]|0;o=l;i=0;n=0;m=0;do{h=f[o+8>>2]|0;do if(!(b[h+16>>0]|0)){k=h;h=f[k>>2]|0;k=f[k+4>>2]|0;if(i|0?(p|0)==(((k|0)<(n|0)|(k|0)==(n|0)&h>>>0>>0)&1|0):0)break;i=1;m=h;n=k}while(0);o=f[o+12>>2]|0}while((o|0)!=0);b:do if(!d){i=1;while(1){k=l+8|0;h=f[k>>2]|0;if(!(b[h+16>>0]|0)){g=h;if((f[g>>2]|0)==(m|0)?(f[g+4>>2]|0)==(n|0):0){g=h+24|0;vv(f[g>>2]|0,h,0,0,0);g=(f[g>>2]|0)+36|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0)break b;h=(b[(f[k>>2]|0)+16>>0]|0)==0?0:i}else h=0}else h=i;l=f[l+12>>2]|0;if(!l){i=h;h=0;break}else i=h}}else{i=1;while(1){v=l+8|0;t=f[v>>2]|0;u=t+16|0;do if(!(b[u>>0]|0)){k=t;h=f[k>>2]|0;k=f[k+4>>2]|0;if(!((h|0)==(m|0)&(k|0)==(n|0))){if((h|0)==(e|0)&(k|0)==(g|0)){i=0;break}if((f[w>>2]|0)!=(((k|0)>(g|0)|(k|0)==(g|0)&h>>>0>e>>>0)&1|0)){i=0;break}}q=t+24|0;r=f[q>>2]|0;vv(r,t,1,e,g);h=r+36|0;c:do if(!(f[h>>2]|0)){d=t+72|0;s=t+56|0;do{if(b[u>>0]|0)break c;o=t+80+((j[(f[d>>2]|0)+4>>1]|0)*88|0)+72|0;k=f[o>>2]|0;o=f[o+4>>2]|0;p=f[s>>2]|0;if(!((o|0)<(g|0)|(o|0)==(g|0)&k>>>0>>0|(p|0)!=0))break c;if(!((o|0)>(g|0)|(o|0)==(g|0)&k>>>0>e>>>0|(p|0)==0))break c;vv(r,t,1,e,g)}while(!(f[h>>2]|0))}while(0);u=(f[q>>2]|0)+36|0;h=f[u>>2]|0;f[u>>2]=0;if(h|0)break b;i=(b[(f[v>>2]|0)+16>>0]|0)==0?0:i}while(0);l=f[l+12>>2]|0;if(!l){h=0;break}}}while(0);k=h;h=(h|i|0)!=0}f[c+4>>2]=h&1;if(h){c=k;return c|0}c=ix(a,c)|0;return c|0}function hx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=b+16|0;m=p;o=f[m>>2]|0;m=f[m+4>>2]|0;n=b+28|0;g=f[n>>2]|0;if((g|0)>0){l=a+12|0;a:do if(!c){i=0;while(1){h=f[b+32+(i<<2)>>2]|0;if((f[h+4>>2]|0)==0?(c=h+16|0,(f[c>>2]|0)==(o|0)?(f[c+4>>2]|0)==(m|0):0):0){g=mb[f[h+12>>2]&127](a,h,0,d,e)|0;if(g|0){h=0;break}g=f[n>>2]|0}i=i+1|0;if((i|0)>=(g|0)){n=g;break a}}b=b+8|0;f[b>>2]=h;return g|0}else{k=0;b:while(1){h=f[b+32+(k<<2)>>2]|0;c:do if(!(f[h+4>>2]|0)){j=h+16|0;i=f[j>>2]|0;j=f[j+4>>2]|0;do if(!((i|0)==(o|0)&(j|0)==(m|0)))if(!(f[l>>2]|0))if((j|0)<(e|0)|(j|0)==(e|0)&i>>>0>>0)break;else break c;else if((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>d>>>0)break;else break c;while(0);g=mb[f[h+12>>2]&127](a,h,c,d,e)|0;if(g|0){h=0;break b}g=f[n>>2]|0}while(0);k=k+1|0;if((k|0)>=(g|0)){n=g;break a}}b=b+8|0;f[b>>2]=h;return g|0}while(0);g=f[b+32>>2]|0;if((n|0)>1){m=a+12|0;c=1;do{l=f[b+32+(c<<2)>>2]|0;do if(!(f[l+4>>2]|0)){if(!(f[g+4>>2]|0)){i=g+16|0;h=f[i>>2]|0;i=f[i+4>>2]|0;k=l+16|0;j=f[k>>2]|0;k=f[k+4>>2]|0;if(!(f[m>>2]|0))if((i|0)<(k|0)|(i|0)==(k|0)&h>>>0>>0)break;else h=(i|0)>(k|0)|(i|0)==(k|0)&h>>>0>j>>>0;else if((i|0)>(k|0)|(i|0)==(k|0)&h>>>0>j>>>0)break;else h=(i|0)<(k|0)|(i|0)==(k|0)&h>>>0>>0;if(!h?f[l+8>>2]|0:0)break}g=l}while(0);c=c+1|0}while((c|0)!=(n|0))}}else g=f[b+32>>2]|0;o=g+16|0;a=f[o+4>>2]|0;f[p>>2]=f[o>>2];f[p+4>>2]=a;f[b+4>>2]=f[g+4>>2];p=0;a=f[g+8>>2]|0;b=b+8|0;f[b>>2]=a;return p|0}function ix(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=t;t=t+224|0;N=O;H=O+208|0;I=O+204|0;J=O+192|0;E=c+24|0;D=f[E>>2]|0;d=f[D+12>>2]|0;B=f[a+12>>2]|0;if(!(f[d+32>>2]|0)){d=f[d+28>>2]|0;e=f[d>>2]|0;d=f[d+4>>2]|0}else{k=d+20|0;g=0;i=0;h=0;while(1){d=f[k+8>>2]|0;do if(!(b[d+16>>0]|0)){e=f[d>>2]|0;d=f[d+4>>2]|0;if(g|0?(B|0)==(((d|0)<(i|0)|(d|0)==(i|0)&e>>>0>>0)&1|0):0){e=h;d=i;break}g=1}else{e=h;d=i}while(0);k=f[k+12>>2]|0;if(!k)break;else{i=d;h=e}}}y=D+8|0;z=(B|0)==0;A=(B|0)!=0;g=f[y>>2]|0;a:while(1){if((g|0)<=0){k=e;i=d;G=70;break}x=0;h=1;do{v=f[D+12+(x<<2)>>2]|0;w=v+16|0;if((f[w>>2]|0)>0){u=0;s=d;while(1){k=v+20+(u<<4)|0;if(!(f[v+20+(u<<4)+12>>2]|0)){o=f[v+20+(u<<4)+8>>2]|0;d=o;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((g|0)==(e|0)&(d|0)==(s|0))?(C=o+16|0,(b[C>>0]|0)==0):0)if(z&((s|0)>(d|0)|(s|0)==(d|0)&e>>>0>g>>>0)|A&((s|0)<(d|0)|(s|0)==(d|0)&e>>>0>>0)){g=o+24|0;h=f[g>>2]|0;vv(h,o,1,e,s);d=h+36|0;b:do if(!(f[d>>2]|0)){i=o+72|0;k=o+56|0;do{if(b[C>>0]|0)break b;m=o+80+((j[(f[i>>2]|0)+4>>1]|0)*88|0)+72|0;l=f[m>>2]|0;m=f[m+4>>2]|0;n=f[k>>2]|0;if(!((m|0)<(s|0)|(m|0)==(s|0)&l>>>0>>0|(n|0)!=0))break b;if(!((m|0)>(s|0)|(m|0)==(s|0)&l>>>0>e>>>0|(n|0)==0))break b;vv(h,o,1,e,s)}while(!(f[d>>2]|0))}while(0);G=(f[g>>2]|0)+36|0;d=f[G>>2]|0;f[G>>2]=0;if(d|0){G=66;break a}if(b[C>>0]|0){d=0;G=66;break a}d=o;h=0;e=f[d>>2]|0;d=f[d+4>>2]|0}else{h=0;e=g}else d=s}else{n=k;i=0;m=0;l=0;while(1){d=f[n+8>>2]|0;do if(!(b[d+16>>0]|0)){g=f[d>>2]|0;d=f[d+4>>2]|0;if(i|0?(B|0)==(((d|0)<(m|0)|(d|0)==(m|0)&g>>>0>>0)&1|0):0){g=l;d=m;break}i=1}else{g=l;d=m}while(0);n=f[n+12>>2]|0;if(!n)break;else{m=d;l=g}}if(!((g|0)==(e|0)&(d|0)==(s|0))){if(z){r=k;while(1){p=f[r+8>>2]|0;q=p+16|0;if((b[q>>0]|0)==0?(G=p,F=f[G+4>>2]|0,(s|0)>(F|0)|((s|0)==(F|0)?e>>>0>(f[G>>2]|0)>>>0:0)):0){g=p+24|0;h=f[g>>2]|0;vv(h,p,1,e,s);d=h+36|0;c:do if(!(f[d>>2]|0)){i=p+72|0;l=p+56|0;do{if(b[q>>0]|0)break c;n=p+80+((j[(f[i>>2]|0)+4>>1]|0)*88|0)+72|0;m=f[n>>2]|0;n=f[n+4>>2]|0;o=f[l>>2]|0;if(!((n|0)<(s|0)|(n|0)==(s|0)&m>>>0>>0|(o|0)!=0))break c;if(!((n|0)>(s|0)|(n|0)==(s|0)&m>>>0>e>>>0|(o|0)==0))break c;vv(h,p,1,e,s)}while(!(f[d>>2]|0))}while(0);G=(f[g>>2]|0)+36|0;d=f[G>>2]|0;f[G>>2]=0}else d=0;r=f[r+12>>2]|0;g=(d|0)==0;if(!(g&(r|0)!=0)){e=g;break}}}else{r=k;while(1){g=f[r+8>>2]|0;h=g+16|0;if((b[h>>0]|0)==0?(G=g,F=f[G+4>>2]|0,(s|0)<(F|0)|((s|0)==(F|0)?e>>>0<(f[G>>2]|0)>>>0:0)):0){i=g+24|0;l=f[i>>2]|0;vv(l,g,1,e,s);d=l+36|0;d:do if(!(f[d>>2]|0)){m=g+72|0;n=g+56|0;do{if(b[h>>0]|0)break d;p=g+80+((j[(f[m>>2]|0)+4>>1]|0)*88|0)+72|0;o=f[p>>2]|0;p=f[p+4>>2]|0;q=f[n>>2]|0;if(!((p|0)<(s|0)|(p|0)==(s|0)&o>>>0>>0|(q|0)!=0))break d;if(!((p|0)>(s|0)|(p|0)==(s|0)&o>>>0>e>>>0|(q|0)==0))break d;vv(l,g,1,e,s)}while(!(f[d>>2]|0))}while(0);G=(f[i>>2]|0)+36|0;d=f[G>>2]|0;f[G>>2]=0}else d=0;r=f[r+12>>2]|0;g=(d|0)==0;if(!(g&(r|0)!=0)){e=g;break}}}if(!e){G=53;break a}g=0;h=0;i=0;while(1){d=f[k+8>>2]|0;do if(!(b[d+16>>0]|0)){e=f[d>>2]|0;d=f[d+4>>2]|0;if(g|0?(B|0)==(((d|0)<(h|0)|(d|0)==(h|0)&e>>>0>>0)&1|0):0){d=h;e=i;break}g=1}else{d=h;e=i}while(0);k=f[k+12>>2]|0;if(!k)break;else{h=d;i=e}}if(!g){d=0;G=53;break a}else h=0}else d=s}u=u+1|0;if((u|0)>=(f[w>>2]|0))break;else s=d}}x=x+1|0;g=f[y>>2]|0}while((x|0)<(g|0));if(h){k=e;i=d;G=70;break}}if((G|0)==53){f[c+8>>2]=0;f[c+4>>2]=1;c=d;t=O;return c|0}else if((G|0)==66){f[c+4>>2]=1;c=d;t=O;return c|0}else if((G|0)==70){D=c+16|0;F=D;f[F>>2]=k;f[F+4>>2]=i;F=f[E>>2]|0;e:do if(!(f[(f[a+4>>2]|0)+48>>2]|0)){E=F+8|0;C=F+4|0;e=0;do{if((e|0)>=(f[E>>2]|0)){d=0;break}n=f[F+12+(e<<2)>>2]|0;B=n+16|0;d=f[B>>2]|0;do if((((d|0)<=1?(f[n+32>>2]|0)==0:0)?(f[C>>2]|0)==0:0)?(b[n+21>>0]|0)==0:0){l=f[n+28>>2]|0;i=n+4|0;k=f[l+12>>2]|0;l=f[l+8>>2]|0;m=n+8|0;f[m>>2]=0;if(!k)d=0;else{h=n+12|0;d=f[h>>2]|0;if(d>>>0>>0){g=(d|0)==0?64:d;while(1)if(g>>>0>>0)g=g<<1;else break;d=f[i>>2]|0;if(Mc()|0){d=7;break}d=Nc(d,(g|0)>0?g:0,0)|0;if(!d){d=7;break}f[h>>2]=g;f[i>>2]=d;g=f[m>>2]|0}else{d=f[i>>2]|0;g=0}YA(d+g|0,l|0,k|0)|0;f[m>>2]=(f[m>>2]|0)+k;d=0}}else G=83;while(0);if((G|0)==83){G=0;l=b[n+21>>0]|0;z=n+8|0;f[z>>2]=0;if((d|0)>4){d=Fd(d*24|0)|0;if(!d){G=85;break}A=d;d=f[B>>2]|0}else A=N;_A(A|0,0,d*24|0)|0;d=f[B>>2]|0;f:do if((d|0)>0){k=0;while(1){f[H>>2]=0;f[I>>2]=0;if(!(f[n+20+(k<<4)+12>>2]|0)){h=f[n+20+(k<<4)+8>>2]|0;g=f[h+8>>2]|0;f[I>>2]=g;h=f[h+12>>2]|0;f[H>>2]=h;i=0}else{f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;d=D;d=jx(n+20+(k<<4)|0,f[d>>2]|0,f[d+4>>2]|0,J,I,H)|0;g=f[I>>2]|0;if(d|0)break;i=(g|0)==(f[J>>2]|0)&1;h=f[H>>2]|0}a=A+(k*24|0)+8|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[A+(k*24|0)>>2]=g;f[A+(k*24|0)+4>>2]=h;d=A+(k*24|0)+13|0;if(!(uv(g,h,a,A+(k*24|0)+16|0)|0))d=b[d>>0]|0;else{b[d>>0]=1;d=1}b[A+(k*24|0)+12>>0]=i;k=k+1|0;if(d<<24>>24){d=0;break f}d=f[B>>2]|0;if((k|0)>=(d|0)){G=103;break f}}do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0)}else G=103;while(0);g:do if((G|0)==103){G=0;y=A+16|0;w=l<<24>>24==0;x=n+12|0;v=n+4|0;i=0;u=0;h:while(1){k=y;g=f[k>>2]|0;k=f[k+4>>2]|0;while(1){if((d|0)<=0){m=g;l=k;break}l=1;s=0;h=g;r=k;while(1){p=KA(h|0,r|0,s|0,0)|0;q=ba()|0;o=A+(s*24|0)+16|0;k=o;g=f[k>>2]|0;k=f[k+4>>2]|0;if((g|0)==(p|0)&(k|0)==(q|0)){g=l;k=r}else{if((k|0)<(q|0)|(k|0)==(q|0)&g>>>0

>>0){l=A+(s*24|0)|0;m=A+(s*24|0)+4|0;n=A+(s*24|0)+8|0;d=A+(s*24|0)+13|0;do{if(uv(f[l>>2]|0,f[m>>2]|0,n,o)|0){G=112;break h}if(b[d>>0]|0){d=0;break g}k=o;g=f[k>>2]|0;k=f[k+4>>2]|0}while((k|0)<(q|0)|(k|0)==(q|0)&g>>>0

>>0);d=f[B>>2]|0}a=(k|0)>(q|0)|(k|0)==(q|0)&g>>>0>p>>>0;q=LA(g|0,k|0,s|0,0)|0;k=ba()|0;g=0;h=a?q:h;k=a?k:r}s=s+1|0;if((s|0)>=(d|0))break;else{l=g;r=k}}if(!g)g=h;else{m=h;l=k;break}}if(w|(m|0)==0){g=(f[z>>2]|0)+15|0;d=f[x>>2]|0;if(g>>>0>d>>>0){h=(d|0)==0?64:d;while(1)if(h>>>0>>0)h=h<<1;else break;d=f[v>>2]|0;if(Mc()|0){d=7;break g}d=Nc(d,(h|0)>0?h:0,0)|0;if(!d){d=7;break g}f[x>>2]=h;f[v>>2]=d}k=l&2147483647;if(0==0&(k|0)==(u&2147483647|0)){g=f[z>>2]|0;d=u}else{g=f[v>>2]|0;d=f[z>>2]|0;f[z>>2]=d+1;b[g+d>>0]=1;d=(f[v>>2]|0)+(f[z>>2]|0)|0;g=UA(m|0,l|0,32)|0;h=ba()|0;do if(!(h>>>0<0|(h|0)==0&g>>>0<128))if(h>>>0<0|(h|0)==0&g>>>0<16384){a=VA(g|0,h|0,7)|0;ba()|0;b[d>>0]=a&255|-128;b[d+1>>0]=g&127;d=2;break}else{d=Zv(d,g,h)|0;break}else{b[d>>0]=g&127;d=1}while(0);g=(f[z>>2]|0)+d|0;f[z>>2]=g;i=0;d=k}h=(f[v>>2]|0)+g|0;g=KA(m|0,l|0,2,0)|0;d=LA(g|0,ba()|0,i|0,d|0)|0;g=ba()|0;do if(!(g>>>0<0|(g|0)==0&d>>>0<128))if(g>>>0<0|(g|0)==0&d>>>0<16384){a=VA(d|0,g|0,7)|0;ba()|0;b[h>>0]=a&255|-128;b[h+1>>0]=d&127;d=2;break}else{d=Zv(h,d,g)|0;break}else{b[h>>0]=d&127;d=1}while(0);f[z>>2]=(f[z>>2]|0)+d;i=m;h=l;d=f[B>>2]|0}else h=u;if((d|0)>0){g=0;do{d=A+(g*24|0)+13|0;if(uv(f[A+(g*24|0)>>2]|0,f[A+(g*24|0)+4>>2]|0,A+(g*24|0)+8|0,A+(g*24|0)+16|0)|0){G=144;break h}g=g+1|0;if(b[d>>0]|0){d=0;break g}d=f[B>>2]|0}while((g|0)<(d|0))}u=h}if((G|0)==112){G=0;b[d>>0]=1;d=0;break}else if((G|0)==144){G=0;b[d>>0]=1;d=0;break}}while(0);h=(f[z>>2]|0)<1;if((f[B>>2]|0)>0){g=0;do{do if(b[A+(g*24|0)+12>>0]|0?(K=f[A+(g*24|0)>>2]|0,K|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](K);break}else{a=ib[f[37368>>2]&255](K)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](K);break}while(0);g=g+1|0}while((g|0)<(f[B>>2]|0))}do if(!((A|0)==(N|0)|(A|0)==0))if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{a=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}while(0);if(h)break}e=e+1|0}while((d|0)==0);if((G|0)==85)d=7;do if((e|0)==(f[E>>2]|0)){if((e|0)==1){e=1;break e}do if((e|0)>4){e=e*48|0;if(!d){d=Fd(e)|0;if(!d)if((e|0)>0){d=7;G=178;break}else d=0;else _A(d|0,0,e|0)|0;u=d;d=f[E>>2]|0}else G=178}else{_A(N|0,0,192)|0;if(!d){u=N;d=e}else G=178}while(0);if((G|0)==178)break;if((d|0)>0){o=0;do{e=f[F+12+(o<<2)>>2]|0;d=e+4|0;J=f[d>>2]|0;e=e+8|0;K=f[e>>2]|0;g=u+(o*48|0)+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;h=u+(o*48|0)|0;f[h>>2]=J;i=u+(o*48|0)+4|0;f[i>>2]=K;k=u+(o*48|0)+24|0;l=u+(o*48|0)+16|0;I=l;f[I>>2]=0;f[I+4>>2]=0;if(!(uv(J,K,g,k)|0)){n=k;m=f[n>>2]|0;n=f[n+4>>2]|0}else{m=k;f[m>>2]=0;f[m+4>>2]=1073741824;m=0;n=1073741824}K=l;f[K>>2]=m;f[K+4>>2]=n;if(uv(f[h>>2]|0,f[i>>2]|0,g,k)|0){K=k;f[K>>2]=0;f[K+4>>2]=1073741824}f[e>>2]=0;f[u+(o*48|0)+40>>2]=d;o=o+1|0;d=f[E>>2]|0}while((o|0)<(d|0))}r=u+16|0;s=u+24|0;i:while(1){g=r;e=f[g>>2]|0;g=f[g+4>>2]|0;while(1){if((d|0)<=0){e=0;g=s;d=r;break}i=1;q=0;p=e;while(1){o=f[(f[F+12+(q<<2)>>2]|0)+16>>2]|0;o=LA(p|0,g|0,o|0,((o|0)<0)<<31>>31|0)|0;n=ba()|0;m=f[F>>2]|0;m=LA(o|0,n|0,m|0,((m|0)<0)<<31>>31|0)|0;n=ba()|0;o=u+(q*48|0)+16|0;h=o;e=f[h>>2]|0;h=f[h+4>>2]|0;k=(h|0)<(n|0)|(h|0)==(n|0)&e>>>0>>0;if((h|0)>(g|0)|(h|0)==(g|0)&e>>>0>p>>>0|k){if(k){d=u+(q*48|0)+24|0;i=u+(q*48|0)|0;k=u+(q*48|0)+4|0;l=u+(q*48|0)+8|0;do{I=d;J=f[I+4>>2]|0;K=o;f[K>>2]=f[I>>2];f[K+4>>2]=J;if(uv(f[i>>2]|0,f[k>>2]|0,l,d)|0){K=d;f[K>>2]=0;f[K+4>>2]=1073741824}h=o;e=f[h>>2]|0;h=f[h+4>>2]|0;if((e|0)==0&(h|0)==1073741824)break i}while((h|0)<(n|0)|(h|0)==(n|0)&e>>>0>>0);d=f[E>>2]|0}K=(h|0)>(g|0)|(h|0)==(g|0)&e>>>0>p>>>0;i=0;e=K?e:p;g=K?h:g}else e=p;q=q+1|0;if((q|0)>=(d|0))break;else p=e}if(i){G=202;break}}if((G|0)==202){G=0;if((d|0)>0){p=0;do{m=u+(p*48|0)+16|0;l=f[m>>2]|0;m=f[m+4>>2]|0;n=u+(p*48|0)+32|0;k=f[u+(p*48|0)+40>>2]|0;o=k+4|0;d=f[o>>2]|0;if(!((d|0)!=0?(K=n,(l|0)==(f[K>>2]|0)?(m|0)==(f[K+4>>2]|0):0):0))G=206;do if((G|0)==206){G=0;e=d+15|0;h=k+8|0;d=f[h>>2]|0;if(e>>>0>d>>>0){g=(d|0)==0?64:d;while(1)if(g>>>0>>0)g=g<<1;else break;d=f[k>>2]|0;if(Mc()|0)break;d=Nc(d,(g|0)>0?g:0,0)|0;if(!d)break;f[h>>2]=g;f[k>>2]=d}i=m&2147483647;e=n;d=f[e+4>>2]|0;if(0==0&(i|0)==(d&2147483647|0)){g=k;h=f[o>>2]|0;e=f[e>>2]|0}else{e=f[k>>2]|0;d=f[o>>2]|0;f[o>>2]=d+1;b[e+d>>0]=1;d=(f[k>>2]|0)+(f[o>>2]|0)|0;e=UA(l|0,m|0,32)|0;g=ba()|0;do if(!(g>>>0<0|(g|0)==0&e>>>0<128))if(g>>>0<0|(g|0)==0&e>>>0<16384){K=VA(e|0,g|0,7)|0;ba()|0;b[d>>0]=K&255|-128;b[d+1>>0]=e&127;d=2;break}else{d=Zv(d,e,g)|0;break}else{b[d>>0]=e&127;d=1}while(0);h=(f[o>>2]|0)+d|0;f[o>>2]=h;g=n;f[g>>2]=0;f[g+4>>2]=i;g=k;e=0;d=i}g=(f[g>>2]|0)+h|0;K=KA(l|0,m|0,2,0)|0;d=LA(K|0,ba()|0,e|0,d|0)|0;e=ba()|0;do if(!(e>>>0<0|(e|0)==0&d>>>0<128))if(e>>>0<0|(e|0)==0&d>>>0<16384){K=VA(d|0,e|0,7)|0;ba()|0;b[g>>0]=K&255|-128;b[g+1>>0]=d&127;d=2;break}else{d=Zv(g,d,e)|0;break}else{b[g>>0]=d&127;d=1}while(0);f[o>>2]=(f[o>>2]|0)+d;K=n;f[K>>2]=l;f[K+4>>2]=m}while(0);p=p+1|0;l=f[E>>2]|0}while((p|0)<(l|0));if((l|0)>0?(M=s,L=f[M>>2]|0,M=f[M+4>>2]|0,(l|0)!=1):0){d=0;e=L;g=L;h=M;i=M;k=1;m=0;do{g=d?e:g;i=d?h:i;K=u+(k*48|0)+24|0;e=f[K>>2]|0;h=f[K+4>>2]|0;d=(h|0)<(i|0)|(h|0)==(i|0)&e>>>0>>0;m=d?k:m;k=k+1|0}while((k|0)!=(l|0));e=m;g=u+(m*48|0)+24|0;d=u+(m*48|0)+16|0}else{e=0;g=s;d=r}}else{e=0;g=s;d=r}}I=g;J=f[I+4>>2]|0;K=d;f[K>>2]=f[I>>2];f[K+4>>2]=J;if(uv(f[u+(e*48|0)>>2]|0,f[u+(e*48|0)+4>>2]|0,u+(e*48|0)+8|0,g)|0){K=g;f[K>>2]=0;f[K+4>>2]=1073741824}K=d;if((f[K>>2]|0)==0?(f[K+4>>2]|0)==1073741824:0)break;d=f[E>>2]|0}d=(f[(f[u+40>>2]|0)+4>>2]|0)<1;do if((u|0)!=(N|0))if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{N=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}while(0);if(d)d=0;else{e=1;d=0;break e}}while(0);e=0}else{g=f[F+12>>2]|0;h=g+8|0;f[h>>2]=0;g=g+20|0;e=0;do{d=f[g+8>>2]|0;if(((b[d+16>>0]|0)==0?(N=d,(f[N>>2]|0)==(k|0)?(f[N+4>>2]|0)==(i|0):0):0)?(f[d+12>>2]|0)>0:0){f[h>>2]=1;e=1}g=f[g+12>>2]|0}while((g|0)!=0);d=0}while(0);f[c+8>>2]=(e|d|0)==0&1;c=d;t=O;return c|0}return 0}function jx(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+96|0;z=A;a:do if(a){i=4;j=z;m=0;while(1){l=f[a+8>>2]|0;if(((b[l+16>>0]|0)==0?(w=l,(f[w>>2]|0)==(c|0)?(f[w+4>>2]|0)==(d|0):0):0)?(n=l+12|0,(f[n>>2]|0)!=0):0){do if((m|0)==(i|0)){k=Fd(m*48|0)|0;if(!k){i=7;break a}YA(k|0,j|0,m*24|0)|0;i=m<<1;if(!((j|0)==(z|0)|(j|0)==0))if(!(f[9328]|0)){ob[f[37360>>2]&127](j);j=k;break}else{w=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);j=k;break}else j=k}while(0);u=f[l+8>>2]|0;v=f[n>>2]|0;w=j+(m*24|0)+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;f[j+(m*24|0)>>2]=u;f[j+(m*24|0)+4>>2]=v;if(uv(u,v,w,j+(m*24|0)+16|0)|0)b[j+(m*24|0)+13>>0]=1;k=m+1|0}else k=m;a=f[a+12>>2]|0;if(!a)break;else m=k}if((k|0)==1){f[g>>2]=f[j>>2];f[h>>2]=f[j+4>>2];i=0}else{s=k;y=18}}else{j=z;s=0;y=18}while(0);if((y|0)==18){w=e+4|0;f[w>>2]=0;u=(s|0)>0;v=e+8|0;b:do if(u){i=0;a=0;r=0;p=-1;q=-1;while(1){o=0;n=2147483647;d=-1;do{l=j+(o*24|0)+13|0;do if(!(b[l>>0]|0)){m=j+(o*24|0)+16|0;c=m;k=f[c>>2]|0;c=f[c+4>>2]|0;if((k|0)==(p|0)&(c|0)==(q|0)){if(uv(f[j+(o*24|0)>>2]|0,f[j+(o*24|0)+4>>2]|0,j+(o*24|0)+8|0,m)|0){b[l>>0]=1;break}if(b[l>>0]|0)break;k=m;c=f[k+4>>2]|0;k=f[k>>2]|0}m=(c|0)<(n|0)|(c|0)==(n|0)&k>>>0>>0;d=m?k:d;n=m?c:n}while(0);o=o+1|0}while((o|0)!=(s|0));if((i|0)!=0|(d|0)==-1&(n|0)==2147483647)break b;l=(f[w>>2]|0)+15|0;i=f[v>>2]|0;if(l>>>0>i>>>0){k=(i|0)==0?64:i;while(1)if(k>>>0>>0)k=k<<1;else break;i=f[e>>2]|0;if((Mc()|0)==0?(x=Nc(i,(k|0)>0?k:0,0)|0,(x|0)!=0):0){f[v>>2]=k;f[e>>2]=x;y=36}else{i=7;k=r}}else y=36;if((y|0)==36){y=0;m=n&2147483647;if(0==0&(m|0)==(a&2147483647|0)){k=f[w>>2]|0;l=r;i=a}else{a=f[e>>2]|0;i=f[w>>2]|0;f[w>>2]=i+1;b[a+i>>0]=1;i=(f[e>>2]|0)+(f[w>>2]|0)|0;a=UA(d|0,n|0,32)|0;k=ba()|0;do if(!(k>>>0<0|(k|0)==0&a>>>0<128))if(k>>>0<0|(k|0)==0&a>>>0<16384){r=VA(a|0,k|0,7)|0;ba()|0;b[i>>0]=r&255|-128;b[i+1>>0]=a&127;i=2;break}else{i=Zv(i,a,k)|0;break}else{b[i>>0]=a&127;i=1}while(0);k=(f[w>>2]|0)+i|0;f[w>>2]=k;l=0;i=m}k=(f[e>>2]|0)+k|0;a=KA(d|0,n|0,2,0)|0;i=LA(a|0,ba()|0,l|0,i|0)|0;a=ba()|0;do if(!(a>>>0<0|(a|0)==0&i>>>0<128))if(a>>>0<0|(a|0)==0&i>>>0<16384){r=VA(i|0,a|0,7)|0;ba()|0;b[k>>0]=r&255|-128;b[k+1>>0]=i&127;i=2;break}else{i=Zv(k,i,a)|0;break}else{b[k>>0]=i&127;i=1}while(0);f[w>>2]=(f[w>>2]|0)+i;i=0;k=d;a=n}if(u){r=k;p=d;q=n}else break}}else i=0;while(0);if(!i){f[g>>2]=f[e>>2];f[h>>2]=f[w>>2];i=0}}if((j|0)==(z|0)){t=A;return i|0}if(!j){t=A;return i|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);t=A;return i|0}else{z=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);t=A;return i|0}return 0}function kx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=f[b+32>>2]|0;p=f[b+36>>2]|0;q=o+4|0;m=p+4|0;n=p+12|0;r=o+16|0;j=p+16|0;i=a+12|0;k=p+8|0;l=o+12|0;do{if(f[q>>2]|0){c=0;break}if(f[m>>2]|0){c=0;break}g=r;e=f[g>>2]|0;g=f[g+4>>2]|0;d=j;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!(f[i>>2]|0))if((g|0)<(d|0)|(g|0)==(d|0)&e>>>0>>0){c=0;break}else c=(g|0)>(d|0)|(g|0)==(d|0)&e>>>0>c>>>0;else if((g|0)>(d|0)|(g|0)==(d|0)&e>>>0>c>>>0){c=0;break}else c=(g|0)<(d|0)|(g|0)==(d|0)&e>>>0>>0;if(c){c=mb[f[n>>2]&127](a,p,1,e,g)|0;if(f[m>>2]|0)break;if(f[q>>2]|0)break;e=r;d=f[e>>2]|0;e=f[e+4>>2]|0;h=j;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!(f[i>>2]|0))if((e|0)<(h|0)|(e|0)==(h|0)&d>>>0>>0)break;else d=(e|0)>(h|0)|(e|0)==(h|0)&d>>>0>g>>>0;else if((e|0)>(h|0)|(e|0)==(h|0)&d>>>0>g>>>0)break;else d=(e|0)<(h|0)|(e|0)==(h|0)&d>>>0>>0;if(d)break}else c=0;if(f[k>>2]|0)break;c=mb[f[l>>2]&127](a,o,0,0,0)|0}while(!(c|0));f[b+4>>2]=f[q>>2];f[b+8>>2]=f[o+8>>2];n=r;o=f[n+4>>2]|0;r=b+16|0;f[r>>2]=f[n>>2];f[r+4>>2]=o;if(!(f[q>>2]|0))return c|0;lx(p);return c|0}function lx(a){a=a|0;var b=0,c=0;switch(f[a>>2]|0){case 4:case 9:{a=f[a+24>>2]|0;c=f[a+8>>2]|0;if((c|0)<=0)return;b=0;do{f[(f[a+12+(b<<2)>>2]|0)+8>>2]=0;b=b+1|0}while((b|0)<(c|0));return}default:{c=a+28|0;if((f[c>>2]|0)<=0)return;b=0;do{lx(f[a+32+(b<<2)>>2]|0);b=b+1|0}while((b|0)<(f[c>>2]|0));return}}}function mx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=b+16|0;c=q;p=b+8|0;n=b+28|0;l=a+12|0;e=f[n>>2]|0;d=f[c>>2]|0;c=f[c+4>>2]|0;a:while(1){f[p>>2]=0;if((e|0)<=0)break;j=0;k=1;while(1){i=f[b+32+(j<<2)>>2]|0;e=i+16|0;h=e;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!(f[l>>2]|0)){if(!((c|0)<(h|0)|(c|0)==(h|0)&d>>>0>>0)){m=(c|0)>(h|0)|(c|0)==(h|0)&d>>>0>g>>>0;r=7}}else if(!((c|0)>(h|0)|(c|0)==(h|0)&d>>>0>g>>>0)){m=(c|0)<(h|0)|(c|0)==(h|0)&d>>>0>>0;r=7}if(((r|0)==7?(r=0,m):0)?(o=mb[f[i+12>>2]&127](a,i,1,d,c)|0,o|0):0){r=9;break a}if(f[i+4>>2]|0){r=13;break a}h=e;g=f[h>>2]|0;h=f[h+4>>2]|0;k=(d|0)==(g|0)&(c|0)==(h|0)?k:0;if(f[i+8>>2]|0)f[p>>2]=1;j=j+1|0;e=f[n>>2]|0;if((j|0)>=(e|0))break;else{c=h;d=g}}if(!k){d=g;c=h}else{d=g;c=h;r=16;break}}if((r|0)==9){f[p>>2]=0;r=o;return r|0}else if((r|0)==13){nx(b);r=16}if((r|0)==16)if((f[p>>2]|0)!=0?(f[a+8>>2]|0)!=(b|0):0)lx(b);r=q;f[r>>2]=d;f[r+4>>2]=c;r=0;return r|0}function nx(a){a=a|0;var b=0,c=0;f[a+4>>2]=1;f[a+8>>2]=0;c=a+28|0;if((f[c>>2]|0)<=0)return;b=0;do{nx(f[a+32+(b<<2)>>2]|0);b=b+1|0}while((b|0)<(f[c>>2]|0));return}function ox(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=(wz(c)|0)+1|0;h=Fd(g)|0;f[e>>2]=0;f[d>>2]=0;a:do if(!h)f[a>>2]=7;else{YA(h|0,c|0,g|0)|0;switch(b[h>>0]|0){case 96:case 91:case 39:case 34:{a=c+(qx(h)|0)|0;f[e>>2]=1;if(!a)break a;break}default:{a=c;while(1){e=b[a>>0]|0;if((e&128|0)==0?(b[26896+e>>0]|0)==0:0)break;a=a+1|0}a=(a|0)==(c|0)?0:a;if(!a)break a;b[h+(a-c)>>0]=0}}f[d>>2]=h;h=a;return h|0}while(0);he(h);h=0;return h|0}function px(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+112|0;m=n+88|0;l=n;if(f[a>>2]|0){t=n;return}f[l>>2]=e;do if(!(Mc()|0)){h=m+4|0;f[h>>2]=n+16;f[m>>2]=0;f[m+8>>2]=70;i=m+12|0;f[i>>2]=1e9;j=m+16|0;f[j>>2]=0;b[m+20>>0]=0;k=m+21|0;b[k>>0]=0;Bc(m,d,l);e=f[h>>2]|0;if((e|0?(b[e+(f[j>>2]|0)>>0]=0,f[i>>2]|0):0)?(b[k>>0]&4)==0:0){k=Cc(m)|0;break}k=f[h>>2]|0}else k=0;while(0);do if(k){l=(wz(k)|0)+1|0;d=c+4|0;a:do if(l|0){e=f[d>>2]|0;i=e+l|0;j=c+8|0;h=f[j>>2]|0;do if(i>>>0>h>>>0){h=(h|0)==0?64:h;while(1)if(h>>>0>>0)h=h<<1;else break;e=f[c>>2]|0;if((Mc()|0)==0?(g=Nc(e,(h|0)>0?h:0,0)|0,g|0):0){f[j>>2]=h;f[c>>2]=g;e=f[d>>2]|0;break}f[a>>2]=7;break a}else g=f[c>>2]|0;while(0);YA(g+e|0,k|0,l|0)|0;f[d>>2]=(f[d>>2]|0)+l}while(0);f[d>>2]=(f[d>>2]|0)+-1;if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{c=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}else f[a>>2]=7;while(0);t=n;return}function qx(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;g=b[a>>0]|0;g=g<<24>>24==91?93:g;e=b[a+1>>0]|0;a:do if(!(e<<24>>24)){d=0;c=1}else{c=1;d=0;do{f=c+1|0;if(e<<24>>24==g<<24>>24){if((b[a+f>>0]|0)!=g<<24>>24){c=f;break a}c=c+2|0;e=g}else c=f;b[a+d>>0]=e;d=d+1|0;e=b[a+c>>0]|0}while(e<<24>>24!=0)}while(0);b[a+d>>0]=0;return c|0}function rx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;w=t;t=t+48|0;v=w+40|0;u=w+32|0;s=w+24|0;e=w+16|0;q=w+8|0;r=w;p=r;f[p>>2]=0;f[p+4>>2]=0;if((d|0)>0){p=(yv(c,r)|0)&255;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;o=e;f[o>>2]=g;f[o+4>>2]=i;px(a,b,70015,e);e=p}else{e=0;g=0;i=0}if((e|0)>=(d|0)){t=w;return}do{k=c+e|0;j=h[k>>0]|0;do if(j&128){l=h[k+1>>0]|0;if(!(l&128)){k=2;j=j<<7&16256|l;break}m=h[k+2>>0]|0;if(!(m&128)){k=3;j=(j<<14|m)&2080895|l<<7&16256;break}else{k=yv(k,q)|0;k=k&255;j=f[q>>2]|0;break}}else k=1;while(0);n=(j|0)/2|0;p=k+e|0;f[s>>2]=n;f[s+4>>2]=(j&1|0)==0?72788:50775;px(a,b,70024,s);o=c+p|0;m=d-p|0;n=(m|0)<(n|0)?m:n;if((n|0)>0){e=0;do{k=o+e|0;j=h[k>>0]|0;do if(j&128){l=h[k+1>>0]|0;if(!(l&128)){k=2;j=j<<7&16256|l;break}m=h[k+2>>0]|0;if(!(m&128)){k=3;j=(j<<14|m)&2080895|l<<7&16256;break}else{k=yv(k,q)|0;k=k&255;j=f[q>>2]|0;break}}else k=1;while(0);e=k+e|0;f[u>>2]=j;px(a,b,68873,u)}while((e|0)<(n|0))}else e=0;e=e+p|0;if((e|0)<(d|0)){e=e+((yv(c+e|0,q)|0)&255)|0;p=q;g=KA(g|0,i|0,f[p>>2]|0,f[p+4>>2]|0)|0;i=ba()|0;p=v;f[p>>2]=g;f[p+4>>2]=i;px(a,b,70015,v)}}while((e|0)<(d|0));v=r;f[v>>2]=g;f[v+4>>2]=i;t=w;return}function sx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return cz(1,a,b,c,d,e,f)|0}function tx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return cz(0,a,b,c,d,e,f)|0}function ux(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;q=f[(f[a+12>>2]|0)+12>>2]|0;s=q+1|0;r=f[c>>2]|0;a:do if((r|0)>0){o=f[c+4>>2]|0;e=0;n=0;i=-1;l=-1;g=-1;m=-1;h=-1;while(1){d=f[o+(n*12|0)>>2]|0;a=b[o+(n*12|0)+4>>0]|0;if((d|0)>(q|0)|((d|0)<0|a<<24>>24!=64)?!((d|0)==(q|0)&a<<24>>24==2):0)if((a&255)<65){j=a&255;k=o+(n*12|0)+5|0;if(!((d|0)!=(s|0)|(j&66|0)==0)){a=(b[k>>0]|0)==0;e=a?e:e|2;h=a?h:n}if((d|0)==-1){if(j&2){d=(b[k>>0]|0)==0;e=d?e:e|4;i=d?i:n}if(!(j&24))a=l;else{a=(b[k>>0]|0)==0;e=a?e:e|8;a=a?l:n}if(!(j&36))d=m;else{d=(b[k>>0]|0)==0;e=d?e:e|16;g=d?g:n;d=m}}else{a=l;d=m}}else{a=l;d=m}else{if(!(b[o+(n*12|0)+5>>0]|0))break;e=e&65534|d<<16|1;a=l;d=n}n=n+1|0;if((n|0)>=(r|0)){k=g;g=d;j=a;break a}else{l=a;m=d}}p[c+40>>3]=1.e+50;return 0}else{e=0;k=-1;g=-1;h=-1;i=-1;j=-1}while(0);if((f[c+8>>2]|0)==1){d=f[c+12>>2]|0;a=f[d>>2]|0;if((e&1|0)==0|(a|0)!=(s|0))a=(a|0)==-1?e|64:e;else a=e|32;if(!(a&96))e=a;else{f[c+32>>2]=1;e=(b[d+4>>0]|0)==0?a:a|128}}a=e&1;d=(a|0)!=0;b:do if(e&4){p[c+40>>3]=d?100.0:10.0;if(!a){s=c+56|0;f[s>>2]=f[s>>2]|1}}else switch(e&24){case 24:{p[c+40>>3]=d?500.0:25.0e4;break b}case 0:{p[c+40>>3]=d?1.0e3:1.0e6;break b}default:{p[c+40>>3]=d?750.0:75.0e4;break b}}while(0);d=c+16|0;if((g|0)>-1){a=f[d>>2]|0;f[a+(g<<3)>>2]=1;b[a+(g<<3)+4>>0]=1;a=2}else a=1;if((h|0)>-1){s=f[d>>2]|0;f[s+(h<<3)>>2]=a;b[s+(h<<3)+4>>0]=1;a=a+1|0}if((i|0)>-1){s=f[d>>2]|0;f[s+(i<<3)>>2]=a;b[s+(i<<3)+4>>0]=0;a=a+1|0}if((j|0)>-1){s=f[d>>2]|0;f[s+(j<<3)>>2]=a;b[s+(j<<3)+4>>0]=0;a=a+1|0}if((k|0)>-1){s=f[d>>2]|0;f[s+(k<<3)>>2]=a;b[s+(k<<3)+4>>0]=0}f[c+20>>2]=e;return 0}function vx(a){a=a|0;var b=0;if(!a)return 0;az(f[a+16>>2]|0);bz(f[a+20>>2]|0);Rw(f[a+12>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function wx(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=t;t=t+48|0;j=l+32|0;k=l+24|0;i=l;b=a+12|0;d=f[b>>2]|0;m=f[d>>2]|0;g=d+4|0;o=f[g>>2]|0;h=d+8|0;n=f[h>>2]|0;f[i>>2]=o;f[i+4>>2]=n;f[i+8>>2]=o;f[i+12>>2]=n;f[i+16>>2]=o;f[i+20>>2]=n;i=dy(m,0,71264,i)|0;if(i|0){o=i;t=l;return o|0}if(f[d+44>>2]|0?(c=f[d>>2]|0,o=f[h>>2]|0,f[k>>2]=f[g>>2],f[k+4>>2]=o,c=dy(c,0,71368,k)|0,c|0):0){o=c;t=l;return o|0}if((f[d+32>>2]|0)==0?(e=f[d>>2]|0,o=f[h>>2]|0,f[j>>2]=f[g>>2],f[j+4>>2]=o,e=dy(e,0,71406,j)|0,e|0):0){o=e;t=l;return o|0}az(f[a+16>>2]|0);bz(f[a+20>>2]|0);Rw(f[b>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);o=0;t=l;return o|0}else{o=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);o=0;t=l;return o|0}return 0}function xx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+12>>2]|0;d=Cy(a)|0;if(d|0){c=0;a=d;f[b>>2]=c;return a|0}d=(f[c+12>>2]<<2)+120|0;c=Fd(d)|0;if(!c){d=c;a=7;f[b>>2]=d;return a|0}e=f[a+24>>2]|0;_A(c|0,0,d|0)|0;f[c+8>>2]=c+120;d=e+44|0;f[c+4>>2]=f[d>>2];f[d>>2]=c;d=e+24|0;e=d;e=KA(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;a=ba()|0;f[d>>2]=e;f[d+4>>2]=a;d=c+16|0;f[d>>2]=e;f[d+4>>2]=a;d=c;a=0;f[b>>2]=d;return a|0}function yx(a){a=a|0;var b=0,c=0;if(!a)return 0;b=f[a>>2]|0;Ey(a);b=(f[b+24>>2]|0)+44|0;while(1){c=f[b>>2]|0;if((c|0)==(a|0))break;else b=c+4|0}f[b>>2]=f[a+4>>2];if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function zx(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=t;t=t+80|0;r=M+64|0;D=M+32|0;F=M+24|0;y=M+16|0;w=M+8|0;x=M;J=f[a>>2]|0;B=J+12|0;z=f[B>>2]|0;K=z+96|0;L=f[K>>2]|0;E=a+24|0;if(f[E>>2]|0){Ey(a);e=E;g=e+96|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0))}H=J+8|0;f[K>>2]=H;if(!(c&1)){e=0;q=0}else{e=1;q=f[i>>2]|0}if(!(c&2))s=0;else{s=f[i+(e<<2)>>2]|0;e=e+1|0}if(!(c&4))j=0;else{j=f[i+(e<<2)>>2]|0;e=e+1|0}if(!(c&8))g=0;else{g=f[i+(e<<2)>>2]|0;e=e+1|0}if(!(c&16))e=0;else e=f[i+(e<<2)>>2]|0;u=c>>16;v=(c&32|0)==0;C=c&128;A=(C|0)==0;C=C>>>7;n=a+28|0;f[n>>2]=C;o=(j|0)!=0;k=o?j:g;l=o?j:e;do if(k){c=k+8|0;e=d[c>>1]|0;m=e&31;g=h[5792+m>>0]|0;if((m|16|0)==18){e=b[k+10>>0]|0;g=k+16|0;j=k+12|0;if(!(jf(f[g>>2]|0,w,f[j>>2]|0,e)|0))e=d[c>>1]|0;else{if(!(kf(f[g>>2]|0,x,f[j>>2]|0,e)|0)){j=x;m=f[j+4>>2]|0;e=k;f[e>>2]=f[j>>2];f[e+4>>2]=m;e=4}else{p[k>>3]=+p[w>>3];e=8}e=d[c>>1]&-3|e;d[c>>1]=e}g=h[5792+(e&31)>>0]|0}if((g|0)==1){e=e&65535;if(e&4|0){g=k;e=f[g>>2]|0;g=f[g+4>>2]|0;break}if(e&8|0){e=Fc(+p[k>>3])|0;g=ba()|0;break}if(!(e&18)){e=0;g=0}else{e=Gc(b[k+10>>0]|0,f[k+12>>2]|0,f[k+16>>2]|0)|0;g=ba()|0}}else{e=-1;g=2147483647}}else{e=-1;g=2147483647}while(0);do if(A){m=a+40|0;f[m>>2]=e;f[m+4>>2]=g;if(l){c=l+8|0;e=d[c>>1]|0;m=e&31;g=h[5792+m>>0]|0;if((m|16|0)==18){e=b[l+10>>0]|0;g=l+16|0;j=l+12|0;if(!(jf(f[g>>2]|0,w,f[j>>2]|0,e)|0))e=d[c>>1]|0;else{if(!(kf(f[g>>2]|0,x,f[j>>2]|0,e)|0)){k=x;m=f[k+4>>2]|0;e=l;f[e>>2]=f[k>>2];f[e+4>>2]=m;e=4}else{p[l>>3]=+p[w>>3];e=8}e=d[c>>1]&-3|e;d[c>>1]=e}g=h[5792+(e&31)>>0]|0}if((g|0)==1){e=e&65535;if(e&4|0){j=l;e=8;g=f[j>>2]|0;j=f[j+4>>2]|0;break}if(e&8|0){g=Fc(+p[l>>3])|0;e=8;j=ba()|0;break}if(!(e&18)){e=8;g=0;j=0}else{g=Gc(b[l+10>>0]|0,f[l+12>>2]|0,f[l+16>>2]|0)|0;e=8;j=ba()|0}}else{e=8;g=0;j=-2147483648}}else{e=8;g=0;j=-2147483648}}else{m=a+32|0;f[m>>2]=e;f[m+4>>2]=g;if(l){c=l+8|0;e=d[c>>1]|0;m=e&31;g=h[5792+m>>0]|0;if((m|16|0)==18){e=b[l+10>>0]|0;g=l+16|0;j=l+12|0;if(!(jf(f[g>>2]|0,w,f[j>>2]|0,e)|0))e=d[c>>1]|0;else{if(!(kf(f[g>>2]|0,x,f[j>>2]|0,e)|0)){k=x;m=f[k+4>>2]|0;e=l;f[e>>2]=f[k>>2];f[e+4>>2]=m;e=4}else{p[l>>3]=+p[w>>3];e=8}e=d[c>>1]&-3|e;d[c>>1]=e}g=h[5792+(e&31)>>0]|0}if((g|0)==1){e=e&65535;if(e&4|0){j=l;e=10;g=f[j>>2]|0;j=f[j+4>>2]|0;break}if(e&8|0){g=Fc(+p[l>>3])|0;e=10;j=ba()|0;break}if(!(e&18)){e=10;g=0;j=0}else{g=Gc(b[l+10>>0]|0,f[l+12>>2]|0,f[l+16>>2]|0)|0;e=10;j=ba()|0}}else{e=10;g=0;j=-2147483648}}else{e=10;g=0;j=-2147483648}}while(0);m=a+(e<<2)|0;f[m>>2]=g;f[m+4>>2]=j;m=J+28|0;g=f[m>>2]|0;if(g|0){if(!(f[g+28>>2]|0)){H=g+40|0;I=f[H+4>>2]|0;e=a+40|0;f[e>>2]=f[H>>2];f[e+4>>2]=I;e=g+32|0}else{H=g+32|0;I=f[H+4>>2]|0;e=a+40|0;f[e>>2]=f[H>>2];f[e+4>>2]=I;e=g+40|0}k=e;c=f[k>>2]|0;k=f[k+4>>2]|0;j=a+32|0;f[j>>2]=c;f[j+4>>2]=k;f[E>>2]=2;j=f[g+52>>2]|0;f[a+52>>2]=j;l=j;n=l+8|0;m=f[n>>2]|0;f[j>>2]=f[J+16>>2];j=l+12|0;f[j>>2]=C;e=Dy(l,m)|0;do if(!e)if(!(f[m+4>>2]|0)){g=m+16|0;e=f[g>>2]|0;g=f[g+4>>2]|0;if(!(f[j>>2]|0)){if(!((g|0)<(k|0)|(g|0)==(k|0)&e>>>0>>0)){e=0;break}}else if(!((g|0)>(k|0)|(g|0)==(k|0)&e>>>0>c>>>0)){e=0;break}e=mb[f[m+12>>2]&127](l,m,1,c,k)|0}else e=0;while(0);g=m+8|0;if(!(f[g>>2]|0))c=e;else{e=m+12|0;do c=mb[f[e>>2]&127](l,m,0,0,0)|0;while((f[g>>2]|0)!=0)}j=a+60|0;e=f[j>>2]|0;g=e|1;if(f[(f[n>>2]|0)+4>>2]|0){f[j>>2]=g;e=g}f[j>>2]=e|78;a=c;f[K>>2]=L;t=M;return a|0}if(!q){if(!(f[z+36>>2]|0)){f[r>>2]=f[z+8>>2];a=wd(71175,r)|0;f[f[K>>2]>>2]=a;a=1;f[K>>2]=L;t=M;return a|0}f[E>>2]=o?6:5;j=f[J+20>>2]|0;if(o)g=2;else g=(f[n>>2]|0)!=0&1;k=a+48|0;e=Hy(j,g,k,H)|0;if(e|0){a=e;f[K>>2]=L;t=M;return a|0}f[j+28+(g<<2)>>2]=0;e=f[k>>2]|0;do if((f[E>>2]|0)!=6){c=a+32|0;j=f[c>>2]|0;c=f[c+4>>2]|0;do if(!(Op(e,1)|0)){e=f[e+116>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){J=e;f[J>>2]=j;f[J+4>>2]=c;d[g>>1]=4;break}else{bf(e,j,c);break}}while(0);e=f[k>>2]|0;c=a+40|0;j=f[c>>2]|0;c=f[c+4>>2]|0;if(!(Op(e,2)|0)){g=f[e+116>>2]|0;e=g+40|0;g=g+48|0;if(!(d[g>>1]&9216)){J=e;f[J>>2]=j;f[J+4>>2]=c;d[g>>1]=4;break}else{bf(e,j,c);break}}}else Tp(e,1,f[i>>2]|0)|0;while(0);a=Ax(a)|0;f[K>>2]=L;t=M;return a|0}e=f[i>>2]|0;do if(e){g=d[e+8>>1]|0;if((g&514)==514?(b[e+10>>0]|0)==1:0){e=f[e+16>>2]|0;break}if(!(g&1))e=Ic(e,1)|0;else e=0}else e=0;while(0);n=(e|0)==0?72788:e;a:do if(!s){e=f[z+88>>2]|0;g=a+72|0;if(!e){f[g>>2]=68540;f[a+76>>2]=0;break}else{f[g>>2]=e;f[a+76>>2]=f[z+92>>2];break}}else{j=s+8|0;e=d[j>>1]|0;if((e&514)==514?(b[s+10>>0]|0)==1:0)g=f[s+16>>2]|0;else if(!(e&1))g=Ic(s,1)|0;else g=0;f[w>>2]=0;f[x>>2]=0;if(!g)e=-1431655766>>>(d[j>>1]&31)&1;else e=kw(g,w,x)|0;switch(e|0){case 0:{f[a+72>>2]=f[w>>2];f[a+76>>2]=f[x>>2];y=a+60|0;f[y>>2]=f[y>>2]|16;break a}case 1:{f[y>>2]=g;J=wd(71108,y)|0;f[(f[a>>2]|0)+8>>2]=J;break}default:{}}a=e;f[K>>2]=L;t=M;return a|0}while(0);if((b[n>>0]|0)==42){do{n=n+1|0;e=b[n>>0]|0}while(e<<24>>24==32);m=0;b:while(1){switch(e<<24>>24){case 32:case 0:break b;default:{}}e=m+1|0;m=e;e=b[n+e>>0]|0}f[E>>2]=3;c:do if(m|0){g=71141;k=n;j=m;while(1){e=b[g>>0]|0;if(!(e<<24>>24)){l=110;break}c=b[1232+(e&255)>>0]|0;e=b[1232+(h[k>>0]|0)>>0]|0;if(c<<24>>24!=e<<24>>24){l=112;break}if((j|0)>1){g=g+1|0;k=k+1|0;j=j+-1|0}else break c}if((l|0)==110){g=0;e=b[1232+(h[k>>0]|0)>>0]|0}else if((l|0)==112)g=c&255;if((g|0)!=(e&255|0)){j=43247;c=n;k=m;while(1){e=b[j>>0]|0;if(!(e<<24>>24)){l=118;break}e=b[1232+(e&255)>>0]|0;g=b[1232+(h[c>>0]|0)>>0]|0;if(e<<24>>24!=g<<24>>24){l=120;break}if((k|0)>1){j=j+1|0;c=c+1|0;k=k+-1|0}else break}if((l|0)==118){G=0;I=b[1232+(h[c>>0]|0)>>0]|0;l=122}else if((l|0)==120){G=e&255;I=g;l=122}if((l|0)==122?(G|0)!=(I&255|0):0){f[F>>2]=m;f[F+4>>2]=n;a=wd(71147,F)|0;f[H>>2]=a;a=1;f[K>>2]=L;t=M;return a|0}I=a+16|0;J=f[I+4>>2]|0;a=a+64|0;f[a>>2]=f[I>>2];f[a+4>>2]=J;a=0;f[K>>2]=L;t=M;return a|0}}while(0);J=f[(f[J+16>>2]|0)+64>>2]|0;a=a+64|0;f[a>>2]=J;f[a+4>>2]=((J|0)<0)<<31>>31;a=0;f[K>>2]=L;t=M;return a|0}g=a+52|0;e=Ow(z,u,n,g,H)|0;if(e|0){a=e;f[K>>2]=L;t=M;return a|0}if(!v){f[E>>2]=4;j=f[B>>2]|0;c=f[a+72>>2]|0;k=f[a+76>>2]|0;e=f[g>>2]|0;if(!e)e=0;else e=f[e+16>>2]|0;g=(e<<2)+28|0;l=Fd(g)|0;if(!l){a=7;f[K>>2]=L;t=M;return a|0}_A(l|0,0,g|0)|0;f[l+20>>2]=e;g=f[j+8>>2]|0;e=(k|0)!=0;f[D>>2]=f[j+4>>2];f[D+4>>2]=g;f[D+8>>2]=c;f[D+12>>2]=g;f[D+16>>2]=e?54720:72788;f[D+20>>2]=e?k:72788;f[D+24>>2]=A?66262:66266;e=$y(l,j,0,D)|0;g=a+56|0;f[g>>2]=l;do if(!e){f[m>>2]=a;e=_y(a)|0;f[m>>2]=0;if(!e)e=0;else break;f[K>>2]=L;t=M;return e|0}while(0);Fi(f[l>>2]|0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{a=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}f[g>>2]=0;a=e;f[K>>2]=L;t=M;return a|0}f[E>>2]=1;l=f[g>>2]|0;k=a+32|0;c=f[k>>2]|0;k=f[k+4>>2]|0;n=l+8|0;m=f[n>>2]|0;f[l>>2]=f[J+16>>2];j=l+12|0;f[j>>2]=C;e=Dy(l,m)|0;do if(!e)if(!(f[m+4>>2]|0)){g=m+16|0;e=f[g>>2]|0;g=f[g+4>>2]|0;if(!(f[j>>2]|0)){if(!((g|0)<(k|0)|(g|0)==(k|0)&e>>>0>>0)){e=0;break}}else if(!((g|0)>(k|0)|(g|0)==(k|0)&e>>>0>c>>>0)){e=0;break}e=mb[f[m+12>>2]&127](l,m,1,c,k)|0}else e=0;while(0);g=m+8|0;if(!(f[g>>2]|0))c=e;else{e=m+12|0;do c=mb[f[e>>2]&127](l,m,0,0,0)|0;while((f[g>>2]|0)!=0)}j=a+60|0;e=f[j>>2]|0;g=e|1;if(f[(f[n>>2]|0)+4>>2]|0){f[j>>2]=g;e=g}f[j>>2]=e|78;a=c;f[K>>2]=L;t=M;return a|0}function Ax(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=f[a+24>>2]|0;if((c|0)>=3)switch(c|0){case 3:{n=a+60|0;f[n>>2]=f[n>>2]|1;n=0;return n|0}case 4:{n=_y(a)|0;return n|0}default:{c=a+48|0;if((Ei(f[c>>2]|0)|0)==100){n=0;return n|0}n=a+60|0;f[n>>2]=f[n>>2]|1;c=f[c>>2]|0;if(!c){n=0;return n|0}d=f[c>>2]|0;n=c+128|0;m=f[n+4>>2]|0;if((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)Hi(d,c);e=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;n=c+64|0;f[n>>2]=0;f[n+4>>2]=0;if((e|0)==3082|(b[d+81>>0]|0)!=0){Di(d);n=7;return n|0}else{n=f[d+68>>2]&e;return n|0}}}l=a+60|0;if(f[l>>2]&32){d=f[a+28>>2]|0;i=a+52|0;h=f[i>>2]|0;g=f[h+8>>2]|0;c=g+16|0;k=c;j=f[k>>2]|0;k=f[k+4>>2]|0;f[h>>2]=f[(f[a>>2]|0)+16>>2];e=h+12|0;f[e>>2]=d;d=Dy(h,g)|0;do if(!d)if(!(f[g+4>>2]|0)){d=c;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!(f[e>>2]|0)){if(!((d|0)<(k|0)|(d|0)==(k|0)&c>>>0>>0)){d=0;break}}else if(!((d|0)>(k|0)|(d|0)==(k|0)&c>>>0>j>>>0)){d=0;break}d=mb[f[g+12>>2]&127](h,g,1,j,k)|0}else d=0;while(0);e=g+8|0;if(f[e>>2]|0){c=g+12|0;do d=mb[f[c>>2]&127](h,g,0,0,0)|0;while((f[e>>2]|0)!=0)}g=f[(f[i>>2]|0)+8>>2]|0;if(!d){c=g+16|0;c=((j|0)!=(f[c>>2]|0)?1:(k|0)!=(f[c+4>>2]|0))&1}else c=0;e=f[l>>2]&-111;f[l>>2]=e|78;if(f[g+4>>2]|0){f[l>>2]=e|79;c=1}}else{d=0;c=0}if(d|c|0){n=d;return n|0}j=a+52|0;k=f[j>>2]|0;g=a+40|0;e=f[g>>2]|0;g=f[g+4>>2]|0;h=f[k+8>>2]|0;c=h+12|0;d=h+8|0;do i=mb[f[c>>2]&127](k,h,0,0,0)|0;while((f[d>>2]|0)!=0);d=h+16|0;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!(f[k+12>>2]|0)){if(!((d|0)<(g|0)|(d|0)==(g|0)&c>>>0>>0)){m=(d|0)>(g|0)|(d|0)==(g|0)&c>>>0>e>>>0;n=22}}else if(!((d|0)>(g|0)|(d|0)==(g|0)&c>>>0>e>>>0)){m=(d|0)<(g|0)|(d|0)==(g|0)&c>>>0>>0;n=22}if((n|0)==22?m:0)f[h+4>>2]=1;f[l>>2]=f[l>>2]|f[(f[(f[j>>2]|0)+8>>2]|0)+4>>2]|78;n=i;return n|0}function Bx(a){a=a|0;return f[a+60>>2]&1|0}function Cx(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=t;t=t+32|0;y=E+8|0;l=E;C=E+16|0;B=E+12|0;x=f[a>>2]|0;m=f[x+12>>2]|0;k=f[a+24>>2]|0;g=f[m+12>>2]|0;i=(g|0)==(e|0);if((k|0)==3){if(!i){c=0;t=E;return c|0}e=a+64|0;k=f[e>>2]|0;e=f[e+4>>2]|0;g=f[c>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){c=g;f[c>>2]=k;f[c+4>>2]=e;d[i>>1]=4;c=0;t=E;return c|0}else{bf(g,k,e);c=0;t=E;return c|0}}if(i){e=a+16|0;k=f[e>>2]|0;e=f[e+4>>2]|0;g=f[c>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){c=g;f[c>>2]=k;f[c+4>>2]=e;d[i>>1]=4;c=0;t=E;return c|0}else{bf(g,k,e);c=0;t=E;return c|0}}if((g+1|0)!=(e|0)){if((f[m+32>>2]|0)==1){c=0;t=E;return c|0}g=Iy(a,1)|0;if(g|0){c=g;t=E;return c|0}l=f[a+48>>2]|0;g=e+1|0;k=(l|0)==0;do if(k)e=37592;else{i=f[l+104>>2]|0;if(i|0?g>>>0<(j[l+140>>1]|0)>>>0:0){e=i+(g*40|0)|0;break}e=f[l>>2]|0;f[e+64>>2]=25;Bg(e,25);e=37592}while(0);g=e+8|0;i=j[g>>1]|0;if(i&2048|0)d[g>>1]=i&59391|4096;if(!k){i=f[l>>2]|0;k=l+40|0;g=f[k>>2]|0;if((g|0)==3082|(b[i+81>>0]|0)!=0){Di(i);g=7}else g=f[i+68>>2]&g;f[k>>2]=g}mf(c,e);c=0;t=E;return c|0}switch(k|0){case 2:{x=a+52|0;l=f[x>>2]|0;if(!l)y=0;else y=f[l+16>>2]|0;switch(f[m+48>>2]|0){case 0:{p=y+-1|0;a:do if((y|0)>1){e=0;i=0;g=0;k=0;while(1){m=f[(f[l+20>>2]|0)+(e<<2)>>2]|0;n=f[m>>2]|0;if((f[n+4>>2]|0)==0?(B=n+16|0,C=(f[l+8>>2]|0)+16|0,(f[B>>2]|0)==(f[C>>2]|0)?(f[B+4>>2]|0)==(f[C+4>>2]|0):0):0)n=f[m+8>>2]|0;else n=0;o=((n|0)<0)<<31>>31;l=g+9|0;if(l>>>0>k>>>0){m=(k|0)==0?64:k;while(1)if(m>>>0>>0)m=m<<1;else break;if((Mc()|0)==0?(q=Nc(i,(m|0)>0?m:0,0)|0,(q|0)!=0):0){i=q;k=m;D=25}}else D=25;if((D|0)==25){D=0;l=i+g|0;do if(n>>>0>=128)if(n>>>0<16384){C=VA(n|0,o|0,7)|0;ba()|0;b[l>>0]=C&255|-128;b[l+1>>0]=n&127;l=2;break}else{l=Zv(l,n,o)|0;break}else{b[l>>0]=n&127;l=1}while(0);g=l+g|0}e=e+1|0;if((e|0)==(p|0))break a;l=f[x>>2]|0}}else{i=0;g=0;k=0}while(0);if((y|0)>0){n=0;do{e=f[x>>2]|0;l=f[(f[e+20>>2]|0)+(n<<2)>>2]|0;m=f[l>>2]|0;do if(((f[m+4>>2]|0)==0?(C=m+16|0,D=(f[e+8>>2]|0)+16|0,(f[C>>2]|0)==(f[D>>2]|0)?(f[C+4>>2]|0)==(f[D+4>>2]|0):0):0)?(v=f[l+4>>2]|0,w=f[l+8>>2]|0,(w|0)!=0):0){m=w+g|0;if(m>>>0>k>>>0){l=(k|0)==0?64:k;while(1)if(l>>>0>>0)l=l<<1;else break;if(Mc()|0)break;e=Nc(i,(l|0)>0?l:0,0)|0;if(!e)break;else{i=e;k=l}}YA(i+g|0,v|0,w|0)|0;g=m}while(0);n=n+1|0}while((n|0)!=(y|0))}break}case 2:{q=y+-1|0;b:do if((y|0)>1){p=0;i=0;g=0;e=0;while(1){m=f[(f[l+20>>2]|0)+(p<<2)>>2]|0;k=f[m>>2]|0;do if(((f[k+4>>2]|0)==0?(s=k+16|0,r=f[s>>2]|0,s=f[s+4>>2]|0,a=(f[l+8>>2]|0)+16|0,(r|0)==(f[a>>2]|0)?(s|0)==(f[a+4>>2]|0):0):0)?(f[m+8>>2]|0)>0:0){k=f[m+32>>2]|0;if(!k){n=f[m+28>>2]|0;f[C>>2]=f[n+8>>2];n=f[n+12>>2]|0;f[B>>2]=n;k=0;break}else{k=jx(m+20|0,r,s,k+16|0,C,B)|0;n=f[B>>2]|0;break}}else D=53;while(0);if((D|0)==53){D=0;f[C>>2]=0;f[B>>2]=0;k=0;n=0}o=((n|0)<0)<<31>>31;l=g+9|0;if(l>>>0>e>>>0){m=(e|0)==0?64:e;while(1)if(m>>>0>>0)m=m<<1;else break;if((Mc()|0)==0?(u=Nc(i,(m|0)>0?m:0,0)|0,(u|0)!=0):0){i=u;e=m;D=59}else k=7}else D=59;if((D|0)==59){D=0;l=i+g|0;do if(n>>>0>=128)if(n>>>0<16384){a=VA(n|0,o|0,7)|0;ba()|0;b[l>>0]=a&255|-128;b[l+1>>0]=n&127;l=2;break}else{l=Zv(l,n,o)|0;break}else{b[l>>0]=n&127;l=1}while(0);g=l+g|0}l=p+1|0;if(!((l|0)<(q|0)&(k|0)==0))break b;p=l;l=f[x>>2]|0}}else{k=0;i=0;g=0;e=0}while(0);if((y|0)>0&(k|0)==0){q=0;while(1){k=f[x>>2]|0;m=f[(f[k+20>>2]|0)+(q<<2)>>2]|0;l=f[m>>2]|0;do if(((f[l+4>>2]|0)==0?(A=l+16|0,z=f[A>>2]|0,A=f[A+4>>2]|0,a=(f[k+8>>2]|0)+16|0,(z|0)==(f[a>>2]|0)?(A|0)==(f[a+4>>2]|0):0):0)?(f[m+8>>2]|0)>0:0){k=f[m+32>>2]|0;if(!k){n=f[m+28>>2]|0;o=f[n+8>>2]|0;f[C>>2]=o;n=f[n+12>>2]|0;f[B>>2]=n;m=0}else{m=jx(m+20|0,z,A,k+16|0,C,B)|0;n=f[B>>2]|0;o=f[C>>2]|0}if(!n){l=m;k=e}else{p=n+g|0;if(p>>>0>e>>>0){k=(e|0)==0?64:e;while(1)if(k>>>0

>>0)k=k<<1;else break;if(Mc()|0){l=7;k=e;break}l=Nc(i,(k|0)>0?k:0,0)|0;if(!l){l=7;k=e;break}else i=l}else k=e;YA(i+g|0,o|0,n|0)|0;l=m;g=p}}else D=75;while(0);if((D|0)==75){D=0;f[C>>2]=0;f[B>>2]=0;l=0;k=e}q=q+1|0;if(!((q|0)<(y|0)&(l|0)==0))break;else e=k}}break}default:{i=0;g=0}}if(($e(f[c>>2]|0,i,g,0,101)|0)!=18){c=0;t=E;return c|0}f[c+20>>2]=18;$e(f[c>>2]|0,41612,-1,1,0)|0;c=0;t=E;return c|0}case 4:case 1:{u=a+80|0;g=f[u>>2]|0;c:do if(!g){f[C>>2]=0;s=f[a+72>>2]|0;g=f[a+76>>2]|0;if(g){f[l>>2]=g;i=iw(C,65607,l)|0;if(!i)g=f[C>>2]|0;else{f[l>>2]=0;g=Ki(f[m>>2]|0,i,-1,129,0,l,0)|0;f[C>>2]=g;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{B=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}do if(!g){p=f[l>>2]|0;r=p;if((Ei(p)|0)!=100){g=Fi(p)|0;f[C>>2]=g;break}e=(p|0)==0;if(e)g=0;else g=j[p+140>>1]|0;q=a+84|0;f[q>>2]=g;i=g<<2;k=Fd(i)|0;if(!k)if(!g){k=0;D=101}else{f[C>>2]=7;f[a+88>>2]=0;g=7}else{_A(k|0,0,i|0)|0;D=101}d:do if((D|0)==101){o=a+88|0;f[o>>2]=k;i=f[q>>2]|0;if((i|0)>0){l=p+104|0;m=p+140|0;n=p+40|0;if(e){f[k>>2]=37592;if((i|0)==1){g=0;break}g=1;while(1){f[(f[o>>2]|0)+(g<<2)>>2]=37592;g=g+1|0;if((g|0)==(i|0)){g=0;break d}}}e=0;do{g=f[l>>2]|0;do if(!g)D=110;else{if(e>>>0>=(j[m>>1]|0)>>>0){D=110;break}k=g+(e*40|0)|0}while(0);if((D|0)==110){D=0;k=f[p>>2]|0;f[k+64>>2]=25;Bg(k,25);k=37592}g=k+8|0;i=j[g>>1]|0;if(i&2048|0)d[g>>1]=i&59391|4096;g=f[p>>2]|0;i=f[n>>2]|0;if((i|0)==3082|(b[g+81>>0]|0)!=0){Di(g);g=7}else g=f[g+68>>2]&i;f[n>>2]=g;f[(f[o>>2]|0)+(e<<2)>>2]=k;e=e+1|0}while((e|0)<(f[q>>2]|0));g=0}else g=0}while(0);f[a+92>>2]=r}while(0)}if(!g)D=121}else D=121;if((D|0)==121){g=f[(f[x+24>>2]|0)+32>>2]|0;e:do if(g|0){f:do if(s){while(1){k=f[g+4>>2]|0;if(k|0){D=b[s>>0]|0;i=(h[1232+(D&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0;if(!(D<<24>>24==0|(i|0)!=0)){e=s;do{e=e+1|0;k=k+1|0;D=b[e>>0]|0;i=(h[1232+(D&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(D<<24>>24==0|(i|0)!=0))}if(!i)break}g=f[g+20>>2]|0;if(!g)break e}if(!g)break e}else while(1){if(!(f[g+4>>2]|0))break f;g=f[g+20>>2]|0;if(!g)break e}while(0);f[u>>2]=g;break c}while(0);f[y>>2]=s;g=wd(71087,y)|0;f[x+8>>2]=g;f[C>>2]=1;g=1}f[u>>2]=0;c=g;t=E;return c|0}while(0);B=f[a+84>>2]|0;C=f[a+88>>2]|0;D=a+96|0;f[D>>2]=g;sb[f[g+12>>2]&127](39304,a,c,B,C);f[D>>2]=0;c=0;t=E;return c|0}default:{c=0;t=E;return c|0}}return 0}function Dx(a,b){a=a|0;b=b|0;var c=0;switch(f[a+24>>2]|0){case 3:{a=0;c=0;break}case 4:case 1:case 2:{c=f[a+56>>2]|0;if(!c)a=(f[(f[a+52>>2]|0)+8>>2]|0)+16|0;else a=c+8|0;c=a;a=f[c>>2]|0;c=f[c+4>>2]|0;break}default:{a=Jp(f[a+48>>2]|0,0)|0;c=ba()|0}}f[b>>2]=a;f[b+4>>2]=c;return 0}function Ex(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=t;t=t+144|0;s=ha+104|0;_=ha+88|0;Z=ha+80|0;Y=ha+64|0;x=ha+56|0;w=ha+48|0;ea=ha+32|0;da=ha+136|0;ca=ha+124|0;aa=ha+120|0;F=ha;z=ha+116|0;y=ha+112|0;ga=a+12|0;v=f[ga>>2]|0;n=a+8|0;f[v+96>>2]=n;i=f[(f[a+24>>2]|0)+44>>2]|0;if(i|0)do{if((f[i+24>>2]|0)==1?(f[i>>2]|0)==(a|0):0){$=i+60|0;f[$>>2]=f[$>>2]|32}i=f[i+4>>2]|0}while((i|0)!=0);r=f[e>>2]|0;m=d[r+8>>1]|0;i=m&31;if(-1431655766>>>i&1|0?(o=v+12|0,k=f[e+((f[o>>2]|0)+2<<2)>>2]|0,l=d[k+8>>1]|0,(-1431655766>>>(l&31)&1|0)==0):0){do if(k){if((l&514)==514?(b[k+10>>0]|0)==1:0)c=f[k+16>>2]|0;else{if(l&1){c=0;i=1;break}c=Ic(k,1)|0}i=(c|0)==0;if(!(i|(f[v+32>>2]|0)==0)?(b[c>>0]|32)<<24>>24==100:0){k=c;l=45420;do{l=l+1|0;k=k+1|0;$=b[l>>0]|0;m=(h[1232+($&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!($<<24>>24==0|(m|0)!=0));if(!m){k=f[e+4>>2]|0;i=d[k+8>>1]|0;if(!(1347440720>>>(i&31)&1)){fa=0;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}i=i&65535;do if(!(i&4)){if(i&8|0){i=Fc(+p[k>>3])|0;k=ba()|0;break}if(!(i&18)){i=0;k=0}else{i=Gc(b[k+10>>0]|0,f[k+12>>2]|0,f[k+16>>2]|0)|0;k=ba()|0}}else{i=f[k>>2]|0;k=f[k+4>>2]|0}while(0);fa=Ly(f[a+20>>2]|0,i,k,e+8|0)|0;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}}}else{c=0;i=1}while(0);o=f[e+((f[o>>2]|0)+3<<2)>>2]|0;m=f[ga>>2]|0;f[y>>2]=0;a:do if(!i){n=b[c>>0]|32;switch(n<<24>>24){case 100:{i=c;k=70695;do{k=k+1|0;i=i+1|0;ea=b[k>>0]|0;l=(h[1232+(ea&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(ea<<24>>24==0|(l|0)!=0));if(l|0){fa=542;break a}if(!(f[m+32>>2]|0)){My(a,70706,w);i=1;break a}else{i=Ny(f[a+20>>2]|0)|0;break a}}case 114:{fa=30;break}case 111:{fa=92;break}case 109:{fa=144;break}case 105:break;default:{fa=542;break a}}b:do if((fa|0)==30){i=c;k=65599;do{k=k+1|0;i=i+1|0;$=b[k>>0]|0;l=(h[1232+($&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!($<<24>>24==0|(l|0)!=0));if(l|0)switch(n<<24>>24){case 111:{fa=92;break b}case 109:{fa=144;break b}case 105:break b;default:{fa=542;break a}}if((f[m+32>>2]|0)==1){My(a,70786,x);i=1;break a}B=f[a+20>>2]|0;f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;k=f[B>>2]|0;f[da>>2]=0;A=ca+4|0;i=A;f[i>>2]=0;f[i+4>>2]=0;f[ca>>2]=B;i=Ny(B)|0;c:do if(!i){i=Ky(B,1)|0;if(!i){i=Hy(B,10,da,0)|0;if(!i){u=ea+4|0;v=B+4|0;a=B+16|0;w=k+12|0;x=ca+8|0;g=k+20|0;y=ea+8|0;z=B+24|0;e=k+60|0;s=k+56|0;d:while(1){i=f[da>>2]|0;if((Ei(i)|0)!=100){i=0;l=1;break}q=Jp(i,0)|0;r=ba()|0;f[u>>2]=0;i=Oy(f[v>>2]|0,0,q,r)|0;f[A>>2]=0;if(i|0){fa=82;break}k=0;l=0;while(1){if((l|0)>=(f[w>>2]|0))break;f[x>>2]=0;if(!(b[(f[g>>2]|0)+l>>0]|0)){n=f[da>>2]|0;i=l+1|0;m=(n|0)==0;e:do if(m)i=37592;else{l=f[n+104>>2]|0;do if(l|0){if(i>>>0>=(j[n+140>>1]|0)>>>0)break;i=l+(i*40|0)|0;break e}while(0);i=f[n>>2]|0;f[i+64>>2]=25;Bg(i,25);i=37592}while(0);l=d[i+8>>1]|0;do if((l&514)==514){if((b[i+10>>0]|0)!=1){fa=58;break}c=f[i+16>>2]|0}else fa=58;while(0);do if((fa|0)==58){fa=0;if(l&1){c=0;break}c=Ic(i,1)|0}while(0);if(!m){i=f[n>>2]|0;m=n+40|0;l=f[m>>2]|0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7}else i=f[i+68>>2]&l;f[m>>2]=i}i=Gp(n,(f[A>>2]|0)+1|0)|0;if(!c)i=0;else i=nb[f[(f[e>>2]|0)+8>>2]&127](f[s>>2]|0,ca,4,c,i,91)|0;n=f[x>>2]|0}else{i=0;n=0}o=((n|0)<0)<<31>>31;m=k+9|0;l=f[y>>2]|0;do if(m>>>0>l>>>0){c=(l|0)==0?64:l;while(1)if(c>>>0>>0)c=c<<1;else break;l=f[ea>>2]|0;if(Mc()|0){i=7;break}l=Nc(l,(c|0)>0?c:0,0)|0;if(!l){i=7;break}f[y>>2]=c;f[ea>>2]=l;fa=75}else{l=f[ea>>2]|0;fa=75}while(0);if((fa|0)==75){fa=0;l=l+k|0;do if(n>>>0>=128)if(n>>>0<16384){aa=VA(n|0,o|0,7)|0;ba()|0;b[l>>0]=aa&255|-128;b[l+1>>0]=n&127;l=2;break}else{l=Zv(l,n,o)|0;k=f[u>>2]|0;break}else{b[l>>0]=n&127;l=1}while(0);k=l+k|0;f[u>>2]=k}_=f[x>>2]|0;l=f[A>>2]|0;aa=(f[z>>2]|0)+(l<<3)|0;$=aa;_=KA(f[$>>2]|0,f[$+4>>2]|0,_|0,((_|0)<0)<<31>>31|0)|0;$=ba()|0;f[aa>>2]=_;f[aa+4>>2]=$;l=l+1|0;f[A>>2]=l;if(i|0){fa=82;break d}}$=a;$=KA(f[$>>2]|0,f[$+4>>2]|0,1,0)|0;aa=ba()|0;i=a;f[i>>2]=$;f[i+4>>2]=aa;i=Qy(B,q,r,ea)|0;if(i|0){l=0;break}}if((fa|0)==82){ca=a;ca=KA(f[ca>>2]|0,f[ca+4>>2]|0,1,0)|0;da=ba()|0;l=a;f[l>>2]=ca;f[l+4>>2]=da;l=0}k=f[ea>>2]|0;do if(!k){if(!l)break c}else if(!(f[9328]|0)){ob[f[37360>>2]&127](k);if(l)break;else break c}else{ea=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);if(l)break;else break c}while(0);i=Rx(B)|0}}}while(0);break a}while(0);f:do if((fa|0)==92){i=c;k=48511;do{k=k+1|0;i=i+1|0;$=b[k>>0]|0;l=(h[1232+($&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!($<<24>>24==0|(l|0)!=0));if(l|0)switch(n<<24>>24){case 109:{fa=144;break f}case 105:break f;default:{fa=542;break a}}o=f[(f[a+20>>2]|0)+4>>2]|0;f[ea>>2]=0;Sx(o);n=Hv(o)|0;k=o+80|0;l=f[k>>2]|0;if(l|0){ca=f[l>>2]|0;f[l>>2]=ca+-1;do if((ca|0)<2){m=l+20|0;if((f[m>>2]|0)>0){i=0;do{c=f[l+24+(i*12|0)+8>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{ca=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-ca;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);i=i+1|0}while((i|0)<(f[m>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{ca=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-ca;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[k>>2]=0}g:do if(n){k=Ry(o,n)|0;f[ea>>2]=k;ca=f[n>>2]|0;f[n>>2]=ca+-1;do if((ca|0)<2){l=n+20|0;if((f[l>>2]|0)>0){i=0;do{m=f[n+24+(i*12|0)+8>>2]|0;do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{ca=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-ca;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);i=i+1|0}while((i|0)<(f[l>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{ca=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-ca;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);if(k){m=0;while(1){l=f[k+24+(m*12|0)+4>>2]|0;if(!l)m=m+1|0;else break}i=o+36|0;h:do if((f[i>>2]|0)==0?(l|0)>0:0){while(1){f[da>>2]=1e3;_x(o,ea,m,da);k=f[ea>>2]|0;if(f[i>>2]|0)break;if((f[k+24+(m*12|0)+4>>2]|0)<=0){fa=129;break h}}$x(o,k);if(!k)break g}else fa=129;while(0);if((fa|0)==129)$x(o,k);ea=f[k>>2]|0;f[k>>2]=ea+-1;if((ea|0)<2){m=k+20|0;if((f[m>>2]|0)>0){l=0;do{c=f[k+24+(l*12|0)+8>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{ea=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);l=l+1|0}while((l|0)<(f[m>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{ea=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}}else fa=122}else fa=122;while(0);if((fa|0)==122)i=o+36|0;ea=f[i>>2]|0;f[i>>2]=0;i=ea;break a}while(0);do if((fa|0)==144){i=c;k=70842;do{k=k+1|0;i=i+1|0;$=b[k>>0]|0;l=(h[1232+($&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!($<<24>>24==0|(l|0)!=0));if(l|0)if(n<<24>>24==105)break;else{fa=542;break a}i=j[o+8>>1]|0;do if(!(i&4)){if(i&8|0){l=Fc(+p[o>>3])|0;ba()|0;break}if(!(i&18))l=0;else{l=Gc(b[o+10>>0]|0,f[o+12>>2]|0,f[o+16>>2]|0)|0;ba()|0}}else l=f[o>>2]|0;while(0);r=f[(f[a+20>>2]|0)+4>>2]|0;i=Hv(r)|0;f[ea>>2]=i;do if(i|0){k=f[(f[r>>2]|0)+80>>2]|0;c=r+80|0;n=f[c>>2]|0;if(n|0){da=f[n>>2]|0;f[n>>2]=da+-1;do if((da|0)<2){o=n+20|0;if((f[o>>2]|0)>0){m=0;do{q=f[n+24+(m*12|0)+8>>2]|0;do if(q|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{da=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);m=m+1|0}while((m|0)<(f[o>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{da=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[c>>2]=0}if((l|0)<0){n=Ry(r,i)|0;da=f[i>>2]|0;f[i>>2]=da+-1;do if((da|0)<2){m=i+20|0;if((f[m>>2]|0)>0){k=0;do{c=f[i+24+(k*12|0)+8>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{da=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);k=k+1|0}while((k|0)<(f[m>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{da=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);f[ea>>2]=n;l=0-l|0;k=2;i=n}if(i|0){if(f[i+20>>2]|0){da=(Zx(r,ea,l,k)|0)==0;i=f[ea>>2]|0;if(!da)$x(r,i);if(!i)break}ea=f[i>>2]|0;f[i>>2]=ea+-1;if((ea|0)<2){l=i+20|0;if((f[l>>2]|0)>0){k=0;do{m=f[i+24+(k*12|0)+8>>2]|0;do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{ea=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);k=k+1|0}while((k|0)<(f[l>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{ea=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}}}while(0);ea=r+36|0;i=f[ea>>2]|0;f[ea>>2]=0;break a}while(0);i=c;k=65617;do{k=k+1|0;i=i+1|0;$=b[k>>0]|0;l=(h[1232+($&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!($<<24>>24==0|(l|0)!=0));if(!l){D=f[a+20>>2]|0;C=f[D>>2]|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;f[F+16>>2]=0;f[F+20>>2]=0;f[F+24>>2]=0;f[F+28>>2]=0;f[F+28>>2]=C;B=C+12|0;$=Fd((f[B>>2]|0)*12|0)|0;do if($){i=f[B>>2]|0;a=$+(i<<3)|0;_A($|0,0,i<<3|0)|0;i=Hy(D,10,z,0)|0;i:do if(!i){A=f[z>>2]|0;j:do if((Ei(A)|0)==100){o=F+12|0;q=C+44|0;r=C+48|0;s=F+24|0;u=C+20|0;v=F+8|0;w=C+60|0;x=C+56|0;g=(A|0)==0;y=A+104|0;z=A+140|0;e=A+40|0;l=0;k:while(1){i=Jp(A,0)|0;k=ba()|0;U=F;f[U>>2]=i;f[U+4>>2]=k;f[o>>2]=0;if(f[q>>2]|0)l=Fy(D,i,k,a)|0;l:do if(!l){if((f[r>>2]|0)==1){if(Mc()|0)break k;do if(!(f[9328]|0)){i=ib[f[37356>>2]&255](2048)|0;if(!i)break k}else{i=ib[f[37372>>2]&255](2048)|0;if((f[18194]|0)>>>0<2048)f[18194]=2048;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){U=f[18187]|0;T=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;S=ba()|0;f[17976]=((S|0)<0|(S|0)==0&T>>>0<=U>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i)break k;k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}while(0);_A(i|0,0,2048)|0;f[s>>2]=i}n=0;while(1){if((n|0)>=(f[B>>2]|0)){l=0;c=1;break l}do if(!(b[(f[u>>2]|0)+n>>0]|0)){f[v>>2]=n;f[o>>2]=0;m:do if((f[r>>2]|0)==2){n:do if(!(Mc()|0)){do if(!(f[9328]|0)){i=ib[f[37356>>2]&255](2048)|0;if(!i)break n}else{i=ib[f[37372>>2]&255](2048)|0;if((f[18194]|0)>>>0<2048)f[18194]=2048;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){U=f[18187]|0;T=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;S=ba()|0;f[17976]=((S|0)<0|(S|0)==0&T>>>0<=U>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i)break n;k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}while(0);_A(i|0,0,2048)|0;f[s>>2]=i;fa=242;break m}while(0);f[s>>2]=0;l=7}else fa=242;while(0);do if((fa|0)==242){fa=0;m=n+1|0;o:do if(g)i=37592;else{i=f[y>>2]|0;do if(i|0){if(m>>>0>=(j[z>>1]|0)>>>0)break;i=i+(m*40|0)|0;break o}while(0);i=f[A>>2]|0;f[i+64>>2]=25;Bg(i,25);i=37592}while(0);k=d[i+8>>1]|0;do if((k&514)==514){if((b[i+10>>0]|0)!=1){fa=250;break}l=f[i+16>>2]|0}else fa=250;while(0);do if((fa|0)==250){fa=0;if(k&1){l=0;break}l=Ic(i,1)|0}while(0);if(!g){i=f[A>>2]|0;k=f[e>>2]|0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7}else i=f[i+68>>2]&k;f[e>>2]=i}i=Gp(A,m)|0;if(l|0?(E=nb[f[(f[w>>2]|0)+8>>2]&127](f[x>>2]|0,F,4,l,i,92)|0,E|0):0){l=E;break}if(!(f[q>>2]|0)){l=0;break}l=(f[o>>2]|0)==(f[a+(n<<2)>>2]|0)?0:267}while(0);S=f[o>>2]|0;U=$+(n<<3)|0;T=U;S=KA(f[T>>2]|0,f[T+4>>2]|0,S|0,((S|0)<0)<<31>>31|0)|0;T=ba()|0;f[U>>2]=S;f[U+4>>2]=T;if((f[r>>2]|0)!=2)break;c=f[s>>2]|0;do if(c|0){m=0;do{i=f[c+(m<<2)>>2]|0;if(i|0)do{k=i;i=f[i+12>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{U=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-U;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}}while((i|0)!=0);m=m+1|0}while((m|0)!=512);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{U=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-U;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);f[s>>2]=0}else l=0;while(0);if(!l)n=n+1|0;else{c=0;break}}}else c=0;while(0);n=f[s>>2]|0;do if(!n){f[s>>2]=0;if(!c)break j}else{m=0;do{i=f[n+(m<<2)>>2]|0;if(i|0)do{k=i;i=f[i+12>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{U=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-U;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}}while((i|0)!=0);m=m+1|0}while((m|0)!=512);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);f[s>>2]=0;if(c)break;else break j}else{U=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-U;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);f[s>>2]=0;if(c)break;else break j}}while(0);if((Ei(A)|0)!=100)break j}f[s>>2]=0;l=7}else l=0;while(0);do if(A){i=f[A>>2]|0;U=A+128|0;T=f[U+4>>2]|0;if((T|0)>0|(T|0)==0&(f[U>>2]|0)>>>0>0)Hi(i,A);k=fg(A)|0;f[A+20>>2]=770837923;f[A+36>>2]=-1;f[A+40>>2]=0;b[A+142>>0]=2;f[A+44>>2]=0;f[A+32>>2]=1;b[A+143>>0]=-1;f[A+48>>2]=0;U=A+64|0;f[U>>2]=0;f[U+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&k;break}}else i=0;while(0);i=(l|0)==0?i:l;if(!i){i=Ky(D,0)|0;if(!i){k=f[B>>2]|0;l=D+24|0;i=0;while(1){if((i|0)>=(k|0))break;T=(f[l>>2]|0)+(i<<3)|0;U=$+(i<<3)|0;if((f[T>>2]|0)==(f[U>>2]|0)?(f[T+4>>2]|0)==(f[U+4>>2]|0):0)i=i+1|0;else{i=267;break i}}p:do if(!(f[C+32>>2]|0)){i=ea;f[i>>2]=0;f[i+4>>2]=0;i=Ty(f[D>>2]|0,63175,ea)|0;do if(!i){T=ea;U=D+16|0;if(!((f[T>>2]|0)==(f[U>>2]|0)?(f[T+4>>2]|0)==(f[U+4>>2]|0):0)){i=267;break}break p}while(0);break i}while(0);q:do if(f[C+44>>2]|0){i=ea;f[i>>2]=0;f[i+4>>2]=0;i=Ty(f[D>>2]|0,63183,ea)|0;do if(!i){T=ea;U=D+16|0;if(!((f[T>>2]|0)==(f[U>>2]|0)?(f[T+4>>2]|0)==(f[U+4>>2]|0):0)){i=267;break}break q}while(0);break i}while(0);Q=f[D+4>>2]|0;S=F+16|0;R=f[S>>2]|0;S=f[S+4>>2]|0;P=f[(f[Q>>2]|0)+48>>2]|0;f[ca>>2]=0;f[ca+4>>2]=0;f[ca+8>>2]=0;U=Hv(Q)|0;T=(U|0)==0;if(T)Iv(Q,0,32,0,0,0,-1,0,aa);else{N=U+20|0;i=f[N>>2]|0;if((i|0)>0){O=Q+36|0;M=0;do{L=U+24+(M*12|0)+4|0;if((f[L>>2]|0)>0){K=U+24+(M*12|0)+8|0;J=0;do{k=f[K>>2]|0;l=f[Q>>2]|0;f[da>>2]=0;H=k+(J*12|0)+4|0;i=f[H>>2]|0;I=k+(J*12|0)+8|0;do if(i|0){n=f[I>>2]|0;m=i+-1|0;F=f[l+8>>2]|0;G=k+(J*12|0)|0;i=f[G>>2]|0;f[Y>>2]=f[l+4>>2];f[Y+4>>2]=F;f[Y+8>>2]=i;i=wd(70848,Y)|0;k=(i|0)==0;do if(!(f[O>>2]|0))if(k){f[O>>2]=7;i=0;break}else{fa=Ki(f[f[Q>>2]>>2]|0,i,-1,129,0,da,0)|0;f[O>>2]=fa;fa=321;break}else if(k)i=0;else fa=321;while(0);r:do if((fa|0)==321){fa=0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{F=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[da>>2]|0;if(f[O>>2]|0)break;D=i+104|0;E=i+140|0;F=i+40|0;if(!i){Ac(21,42973,Z);f[_>>2]=40433;f[_+4>>2]=81396;f[_+8>>2]=40460;Ac(21,40408,_);i=0;break}c=m;k=n;while(1){while(1){if((Ei(i)|0)!=100)break r;u=Gp(i,1)|0;l=f[D>>2]|0;do if(!l)fa=333;else{if((j[E>>1]|0)<=1){fa=333;break}l=l+40|0}while(0);if((fa|0)==333){fa=0;l=f[i>>2]|0;f[l+64>>2]=25;Bg(l,25);l=37592}m=d[l+8>>1]|0;do if((m&514)==514){if((b[l+10>>0]|0)!=1){fa=338;break}s=f[l+16>>2]|0}else fa=338;while(0);do if((fa|0)==338){fa=0;if(m&1){s=0;break}s=Ic(l,1)|0}while(0);l=f[i>>2]|0;m=f[F>>2]|0;if((m|0)==3082|(b[l+81>>0]|0)!=0){Di(l);l=7}else l=f[l+68>>2]&m;f[F>>2]=l;C=Ip(i,2)|0;B=Ip(i,3)|0;if((C|0)>=(f[H>>2]|0))break;if(f[O>>2]|0)break r}A=WA(f[G>>2]|0,0,37)|0;A=KA(A|0,ba()|0,C|0,((C|0)<0)<<31>>31|0)|0;A=xv(Q,A,ba()|0)|0;if(!A)break r;e=A+8|0;m=f[e>>2]|0;a=A+4|0;l=f[a>>2]|0;if((m|0)>(l|0))break;do if((l|0)>(m|0)){l=f[A>>2]|0;m=l+m|0;n=h[m>>0]|0;do if(n&128){o=h[m+1>>0]|0;if(!(o&128)){n=n<<7&16256|o;break}q=h[m+2>>0]|0;if(!(q&128)){n=(n<<14|q)&2080895|o<<7&16256;break}else{yv(m,ea)|0;n=f[ea>>2]|0;l=f[A>>2]|0;break}}while(0);if((n|0)>(h[l>>0]<<8|h[l+1>>0]|0)){o=l+n|0;m=h[o>>0]|0;do if(m&128){q=h[o+1>>0]|0;if(!(q&128)){o=2;m=m<<7&16256|q;break}r=h[o+2>>0]|0;if(!(r&128)){o=3;m=(m<<14|r)&2080895|q<<7&16256;break}else{o=yv(o,ea)|0;o=o&255;m=f[ea>>2]|0;l=f[A>>2]|0;break}}else o=1;while(0);z=Hz(l+(o+n)|0,s,(m|0)<(u|0)?m:u)|0;if((((z|0)==0?m-u|0:z)|0)<0)fa=367}else fa=367;if((fa|0)==367){fa=0;f[O>>2]=267}l=f[e>>2]|0;do if((l|0)<(f[a>>2]|0)){z=0;y=l;m=0;l=0;w=0;g=0;x=0;v=0;while(1){if(f[O>>2]|0)break;o=(f[A>>2]|0)+y|0;n=h[o>>0]|0;do if(n&128){q=h[o+1>>0]|0;if(!(q&128)){o=2;n=n<<7&16256|q;break}r=h[o+2>>0]|0;if(!(r&128)){o=3;n=(n<<14|r)&2080895|q<<7&16256;break}else{o=yv(o,ea)|0;o=o&255;n=f[ea>>2]|0;break}}else o=1;while(0);y=o+y|0;s=z;z=n+z|0;q=f[e>>2]|0;s:do if((z|0)<(q|0)){n=f[A>>2]|0;u=n+z|0;o=h[u>>0]|0;r=(o&128|0)==0;if(!s){do if(!r){n=h[u+1>>0]|0;if(!(n&128)){s=2;o=o<<7&16256|n;break}r=h[u+2>>0]|0;if(!(r&128)){s=3;o=(o<<14|r)&2080895|n<<7&16256;break}else{s=yv(u,ea)|0;s=s&255;o=f[ea>>2]|0;q=f[e>>2]|0;break}}else s=1;while(0);n=s+z|0;if((n+o|0)>(q|0)){f[O>>2]=267;o=w;q=x;fa=422;break}q=(f[A>>2]|0)+n|0;if(!o){r=0;n=g;q=x;o=0;break}do if(x>>>0>>0){n=(x|0)==0?64:x;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?(V=Nc(l,(n|0)>0?n:0,0)|0,V|0):0){l=V;break}f[O>>2]=7;r=0;n=g;q=x;o=0;break s}else n=x;while(0);YA(l|0,q|0,o|0)|0;q=n;fa=423;break}do if(!r){q=h[u+1>>0]|0;if(!(q&128)){s=2;o=o<<7&16256|q;break}r=h[u+2>>0]|0;if(!(r&128)){s=3;o=(o<<14|r)&2080895|q<<7&16256;break}else{s=yv(u,ea)|0;s=s&255;o=f[ea>>2]|0;n=f[A>>2]|0;break}}else s=1;while(0);u=s+z|0;n=n+u|0;q=h[n>>0]|0;do if(q&128){r=h[n+1>>0]|0;if(!(r&128)){n=2;s=q<<7&16256|r;break}s=h[n+2>>0]|0;if(!(s&128)){n=3;s=(q<<14|s)&2080895|r<<7&16256;break}else{n=yv(n,ea)|0;n=n&255;s=f[ea>>2]|0;break}}else{n=1;s=q}while(0);n=n+u|0;do if((o|0)<=(w|0)){if((n+s|0)>(f[e>>2]|0))break;q=(f[A>>2]|0)+n|0;if(!s)n=x;else{r=s+o|0;do if(r>>>0>x>>>0){n=(x|0)==0?64:x;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?(W=Nc(l,(n|0)>0?n:0,0)|0,W|0):0){l=W;break}f[O>>2]=7;q=x;fa=422;break s}else n=x;while(0);YA(l+o|0,q|0,s|0)|0;o=r}if(f[O>>2]|0){q=n;fa=422;break s}fa=Hz(l,m,(o|0)<(v|0)?o:v)|0;if((((fa|0)==0?o-v|0:fa)|0)>=1){q=n;fa=422;break s}f[O>>2]=267;q=n;fa=422;break s}while(0);f[O>>2]=267;o=w;q=x;fa=422}else{f[O>>2]=267;o=w;q=x;fa=422}while(0);if((fa|0)==422){fa=0;if(!o){r=0;n=g;o=0}else fa=423}t:do if((fa|0)==423){fa=0;do if(g>>>0>>0){n=(g|0)==0?64:g;while(1)if(n>>>0>>0)n=n<<1;else break;if((Mc()|0)==0?(X=Nc(m,(n|0)>0?n:0,0)|0,X|0):0){m=X;break}f[O>>2]=7;r=o;n=g;o=0;break t}else n=g;while(0);YA(m|0,l|0,o|0)|0;r=o}while(0);if((y|0)>=(f[a>>2]|0))break;else{w=r;g=n;x=q;v=o}}do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{a=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);if(!m)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{a=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{a=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}}else{f[O>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{a=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}}while(0);if(f[O>>2]|0)break r;n=C+-1|0;if((c|0)<(n|0)){do{l=c;c=c+1|0;m=WA(f[G>>2]|0,0,37)|0;m=KA(m|0,ba()|0,c|0,((c|0)<0)<<31>>31|0)|0;m=xv(Q,m,ba()|0)|0;do if(m|0){if((f[m+8>>2]|0)<(f[m+4>>2]|0))f[O>>2]=267;do if((l|0)>=(k|0)){A=f[m>>2]|0;if(!(h[A>>0]<<8|h[A+1>>0]))break;f[O>>2]=267}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{A=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);l=f[O>>2]|0}while(!((c|0)>=(n|0)|(l|0)!=0));if(l|0)break r}do if(B){k=f[G>>2]|0;v=gw(Q,0,k,C)|0;u:do if(f[O>>2]|0)if(!v)break r;else k=0;else{u=v+16|0;s=v+24|0;q=WA(k|0,0,37)|0;r=ba()|0;o=v+32|0;k=0;l=C;do{if(f[u>>2]|0)break u;k=l+1|0;l=f[s>>2]|0;if((k|0)<(l|0))do{l=KA(q|0,r|0,k|0,((k|0)<0)<<31>>31|0)|0;l=xv(Q,l,ba()|0)|0;do if(l|0){B=f[l>>2]|0;if(!(h[B>>0]<<8|h[B+1>>0]))if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{B=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}else{f[O>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{B=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}}while(0);k=k+1|0;l=f[s>>2]|0}while((k|0)<(l|0));m=KA(q|0,r|0,l|0,((l|0)<0)<<31>>31|0)|0;m=xv(Q,m,ba()|0)|0;if(m|0){c=f[m>>2]|0;n=h[c>>0]<<8|h[c+1>>0];if(!((f[m+8>>2]|0)>(n|0)?(yv(c+n|0,ea)|0,A=ea,B=o,(f[A>>2]|0)==(f[B>>2]|0)?(f[A+4>>2]|0)==(f[B+4>>2]|0):0):0))f[O>>2]=267;if(!(f[9328]|0))ob[f[37360>>2]&127](m);else{B=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m)}}wv(Q,v,0)}while((f[O>>2]|0)==0)}while(0);if((f[v>>2]|0)>0){l=0;do{m=f[v+8+(l<<5)>>2]|0;do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{B=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);l=l+1|0}while((l|0)<(f[v>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](v);break}else{B=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);break}}else k=f[I>>2]|0;while(0);if(!(f[O>>2]|0))c=C;else break r}f[O>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](A);break}else{I=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);break}}while(0);i=Fi(i)|0;if(f[O>>2]|0)break;f[O>>2]=i}while(0);J=J+1|0}while((J|0)<(f[L>>2]|0));i=f[N>>2]|0}M=M+1|0}while((M|0)<(i|0))}Iv(Q,U,32,0,0,0,-1,0,aa)}l=f[aa>>2]|0;w=Q+36|0;v:do if(!(f[w>>2]|0)){u=(P|0)==1;v=ca+4|0;k=0;i=0;do{if(b[l+16>>0]|0)break v;m=ea;f[m>>2]=0;f[m+4>>2]=0;f[da>>2]=0;m=j[(f[l+72>>2]|0)+4>>1]|0;n=l+80+(m*88|0)+72|0;c=f[n>>2]|0;n=f[n+4>>2]|0;r=f[l+80+(m*88|0)+64>>2]|0;s=f[l+80+(m*88|0)+60>>2]|0;w:do if(u){if(f[l+80+(m*88|0)+12>>2]|0?(f[l+80+(m*88|0)+80>>2]|0)==0:0)break;c=QA(c|0,n|0,81,0)|0;m=ba()|0;if((r|0)>0){n=0;do{_=b[s+n>>0]|0;c=QA(c|0,m|0,9,0)|0;c=KA(c|0,ba()|0,_|0,((_|0)<0)<<31>>31|0)|0;m=ba()|0;n=n+1|0}while((n|0)!=(r|0))}k=c^k;i=m^i}else{f[v>>2]=0;$v(Q,l+80+(m*88|0)|0,0,ca);if(uv(f[ca>>2]|0,f[v>>2]|0,da,ea)|0)break;o=QA(c|0,n|0,9,0)|0;q=ba()|0;if((r|0)<=0)while(1){W=ea;Y=f[W>>2]|0;W=UA(Y|0,f[W+4>>2]|0,32)|0;W=KA(W|0,ba()|0,o|0,q|0)|0;X=ba()|0;Z=WA(W|0,X|0,3)|0;_=ba()|0;Y=UA(0,Y|0,32)|0;Y=KA(W|0,X|0,Y|0,ba()|0)|0;_=KA(Y|0,ba()|0,Z|0,_|0)|0;k=_^k;i=(ba()|0)^i;if(uv(f[ca>>2]|0,f[v>>2]|0,da,ea)|0)break w}do{Z=ea;n=f[Z>>2]|0;Z=UA(n|0,f[Z+4>>2]|0,32)|0;Z=KA(Z|0,ba()|0,o|0,q|0)|0;_=ba()|0;m=WA(Z|0,_|0,3)|0;c=ba()|0;n=UA(0,n|0,32)|0;n=KA(Z|0,_|0,n|0,ba()|0)|0;c=KA(n|0,ba()|0,m|0,c|0)|0;m=0;n=ba()|0;do{_=b[s+m>>0]|0;Z=QA(c|0,n|0,9,0)|0;c=KA(Z|0,ba()|0,_|0,((_|0)<0)<<31>>31|0)|0;n=ba()|0;m=m+1|0}while((m|0)!=(r|0));k=c^k;i=n^i}while((uv(f[ca>>2]|0,f[v>>2]|0,da,ea)|0)==0)}while(0);vv(Q,l,0,0,0);l=f[aa>>2]|0}while((f[w>>2]|0)==0)}else{k=0;i=0}while(0);Tv(l);if(!((k|0)==(R|0)&(i|0)==(S|0)|(f[w>>2]|0)!=0))f[w>>2]=267;do if(!T){ea=f[U>>2]|0;f[U>>2]=ea+-1;if((ea|0)>=2)break;k=U+20|0;if((f[k>>2]|0)>0){i=0;do{l=f[U+24+(i*12|0)+8>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{ea=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);i=i+1|0}while((i|0)<(f[k>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](U);break}else{ea=ib[f[37368>>2]&255](U)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](U);break}}while(0);i=f[ca>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{ea=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);i=f[w>>2]|0;f[w>>2]=0}}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127]($);break}else{ea=ib[f[37368>>2]&255]($)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127]($);break}}else i=7;while(0)}else fa=542}else fa=542;while(0);if((fa|0)==542){i=Uy(f[a+16>>2]|0)|0;if(!i){i=jw(f[ga>>2]|0,c,o,y)|0;if(!i)if(!(f[y>>2]|0))i=Vy(f[a+20>>2]|0,c,o,0)|0;else i=1}}fa=i;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}k=f[v+32>>2]|0;if(!k)o=h[59738+((h[(f[v>>2]|0)+86>>0]|0)+-1)>>0]|0;else o=4;i=(1347440720>>>i&1|0)!=0;if(i&(k|0)==1){fa=f[v+8>>2]|0;f[s>>2]=(c|0)>1?70920:70927;f[s+4>>2]=fa;fa=wd(70939,s)|0;f[n>>2]=fa;fa=1;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}if((c|0)==1){i=m&65535;do if(!(i&4)){if(i&8|0){i=Fc(+p[r>>3])|0;k=ba()|0;break}if(!(i&18)){i=0;k=0}else{i=Gc(b[r+10>>0]|0,f[r+12>>2]|0,f[r+16>>2]|0)|0;k=ba()|0}}else{k=r;i=f[k>>2]|0;k=f[k+4>>2]|0}while(0);fa=Ly(f[a+20>>2]|0,i,k,0)|0;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}if(!i){if((o|0)==5?(u=f[e+4>>2]|0,q=d[u+8>>1]|0,1347440720>>>(q&31)&1|0):0){i=q&65535;do if(!(i&4)){if(i&8|0){i=Fc(+p[u>>3])|0;k=ba()|0;break}if(!(i&18)){i=0;k=0}else{i=Gc(b[u+10>>0]|0,f[u+12>>2]|0,f[u+16>>2]|0)|0;k=ba()|0}}else{k=u;i=f[k>>2]|0;k=f[k+4>>2]|0}while(0);i=Ly(f[a+20>>2]|0,i,k,0)|0;if(i|0){fa=i;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}}i=a+20|0;k=Wy(f[i>>2]|0,e,g)|0;if(k|0){fa=k;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}fa=g;fa=Xy(f[i>>2]|0,e,f[fa>>2]|0,f[fa+4>>2]|0)|0;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}i=m&65535;do if(!(i&4)){if(i&8|0){m=Fc(+p[r>>3])|0;c=ba()|0;break}if(!(i&18)){m=0;c=0}else{m=Gc(b[r+10>>0]|0,f[r+12>>2]|0,f[r+16>>2]|0)|0;c=ba()|0}}else{c=r;m=f[c>>2]|0;c=f[c+4>>2]|0}while(0);i=f[e+4>>2]|0;k=j[i+8>>1]|0;do if(!(k&4)){if(k&8|0){k=Fc(+p[i>>3])|0;l=ba()|0;break}if(!(k&18)){k=0;l=0}else{k=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;l=ba()|0}}else{l=i;k=f[l>>2]|0;l=f[l+4>>2]|0}while(0);if((m|0)==(k|0)&(c|0)==(l|0)){k=a+20|0;i=Ly(f[k>>2]|0,m,c,0)|0;if(i|0){fa=i;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}i=Wy(f[k>>2]|0,e,g)|0;if(i|0){fa=i;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}fa=g;fa=Xy(f[k>>2]|0,e,f[fa>>2]|0,f[fa+4>>2]|0)|0;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}n=a+20|0;i=f[n>>2]|0;if((o|0)!=5){i=Wy(i,e,g)|0;if(i|0){fa=i;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}i=Ly(f[n>>2]|0,m,c,0)|0;if(i|0){fa=i;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}fa=g;fa=Xy(f[n>>2]|0,e,f[fa>>2]|0,f[fa+4>>2]|0)|0;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}i=Ly(i,m,c,0)|0;if(i|0){fa=i;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}i=Ly(f[n>>2]|0,k,l,0)|0;if(i|0){fa=i;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}i=Wy(f[n>>2]|0,e,g)|0;if(i|0){fa=i;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}fa=g;fa=Xy(f[n>>2]|0,e,f[fa>>2]|0,f[fa+4>>2]|0)|0;ga=f[ga>>2]|0;ga=ga+96|0;f[ga>>2]=0;t=ha;return fa|0}function Fx(a){a=a|0;Cy(a)|0;return 0}function Gx(a){a=a|0;var b=0,c=0,d=0;c=a+12|0;f[(f[c>>2]|0)+96>>2]=a+8;b=f[(f[a+24>>2]|0)+44>>2]|0;if(b|0)do{if((f[b+24>>2]|0)==1?(f[b>>2]|0)==(a|0):0){d=b+60|0;f[d>>2]=f[d>>2]|32}b=f[b+4>>2]|0}while((b|0)!=0);d=Qx(f[a+20>>2]|0)|0;f[(f[c>>2]|0)+96>>2]=0;return d|0}function Hx(a){a=a|0;return 0}function Ix(a){a=a|0;a=f[a+20>>2]|0;f[a+8>>2]=0;Px(f[a+4>>2]|0);return 0}function Jx(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0;a=f[(f[a+24>>2]|0)+32>>2]|0;if(!a){g=0;return g|0}a:do if(d){while(1){i=f[a+4>>2]|0;if(i|0){j=b[d>>0]|0;c=(h[1232+(j&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0;if(!(j<<24>>24==0|(c|0)!=0)){j=d;do{j=j+1|0;i=i+1|0;l=b[j>>0]|0;c=(h[1232+(l&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(l<<24>>24==0|(c|0)!=0))}if(!c)break}a=f[a+20>>2]|0;if(!a){a=0;k=15;break}}if((k|0)==15)return a|0;if(!a){l=0;return l|0}}else{while(1){if(!(f[a+4>>2]|0))break a;a=f[a+20>>2]|0;if(!a){a=0;break}}return a|0}while(0);f[e>>2]=207;f[g>>2]=a;l=1;return l|0}function Kx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=t;t=t+128|0;k=l+96|0;j=l+72|0;h=l+48|0;g=l+24|0;c=l;a=f[a+20>>2]|0;i=f[a>>2]|0;a=Qx(a)|0;if(!a){a=f[i>>2]|0;e=i+4|0;d=i+8|0;m=f[d>>2]|0;f[c>>2]=f[e>>2];f[c+4>>2]=m;f[c+8>>2]=60838;f[c+12>>2]=b;f[c+16>>2]=60838;a=dy(a,0,70239,c)|0;if(!a){a=f[i>>2]|0;m=f[d>>2]|0;f[g>>2]=f[e>>2];f[g+4>>2]=m;f[g+8>>2]=47829;f[g+12>>2]=b;f[g+16>>2]=47829;a=dy(a,0,70239,g)|0;if(!a){a=f[i>>2]|0;m=f[d>>2]|0;f[h>>2]=f[e>>2];f[h+4>>2]=m;f[h+8>>2]=70035;f[h+12>>2]=b;f[h+16>>2]=70035;a=dy(a,0,70239,h)|0;if((a|0)==0&(f[i+44>>2]|0)!=0){a=f[i>>2]|0;m=f[d>>2]|0;f[j>>2]=f[e>>2];f[j+4>>2]=m;f[j+8>>2]=63183;f[j+12>>2]=b;f[j+16>>2]=63183;a=dy(a,0,70239,j)|0}}}}if(f[i+32>>2]|a|0){m=a;t=l;return m|0}m=f[i>>2]|0;j=f[i+8>>2]|0;f[k>>2]=f[i+4>>2];f[k+4>>2]=j;f[k+8>>2]=63175;f[k+12>>2]=b;f[k+16>>2]=63175;m=dy(m,0,70239,k)|0;t=l;return m|0}function Lx(a,b){a=a|0;b=b|0;var c=0;b=f[(f[a+24>>2]|0)+44>>2]|0;if(b|0)do{if((f[b+24>>2]|0)==1?(f[b>>2]|0)==(a|0):0){c=b+60|0;f[c>>2]=f[c>>2]|32}b=f[b+4>>2]|0}while((b|0)!=0);return Qx(f[a+20>>2]|0)|0}function Mx(a,b){a=a|0;b=b|0;var c=0;b=f[(f[a+24>>2]|0)+44>>2]|0;if(b|0)do{if((f[b+24>>2]|0)==1?(f[b>>2]|0)==(a|0):0){c=b+60|0;f[c>>2]=f[c>>2]|32}b=f[b+4>>2]|0}while((b|0)!=0);return Qx(f[a+20>>2]|0)|0}function Nx(a,b){a=a|0;b=b|0;var c=0;b=f[(f[a+24>>2]|0)+44>>2]|0;if(b|0)do{if((f[b+24>>2]|0)==1?(f[b>>2]|0)==(a|0):0){c=b+60|0;f[c>>2]=f[c>>2]|32}b=f[b+4>>2]|0}while((b|0)!=0);c=f[a+20>>2]|0;f[c+8>>2]=0;Px(f[c+4>>2]|0);return 0}function Ox(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;if(!a){j=0;return j|0}j=b[a>>0]|0;i=h[1232+(j&255)>>0]|0;c=i+-99|0;j=j<<24>>24==0;g=j|(c|0)!=0;if(g)d=c;else{e=70035;f=a;do{f=f+1|0;e=e+1|0;k=b[f>>0]|0;d=(h[1232+(k&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(d|0)!=0))}if(!d){k=1;return k|0}if(!g){d=63175;e=a;do{e=e+1|0;d=d+1|0;k=b[e>>0]|0;c=(h[1232+(k&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(c|0)!=0))}if(!c){k=1;return k|0}c=i+-100|0;g=j|(c|0)!=0;if(g)d=c;else{e=60838;f=a;do{f=f+1|0;e=e+1|0;k=b[f>>0]|0;d=(h[1232+(k&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(d|0)!=0))}if(!d){k=1;return k|0}if(!g){d=63183;e=a;do{e=e+1|0;d=d+1|0;k=b[e>>0]|0;c=(h[1232+(k&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(c|0)!=0))}if(!c){k=1;return k|0}c=i+-105|0;if(j|(c|0)!=0){k=c;k=(k|0)==0;k=k&1;return k|0}d=47829;do{a=a+1|0;d=d+1|0;k=b[a>>0]|0;c=(h[1232+(k&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(c|0)!=0));k=(c|0)==0;k=k&1;return k|0}function Px(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=a+40|0;c=f[b>>2]|0;do if(c|0){f[b>>2]=0;b=f[c+20>>2]|0;Fi(f[c+16>>2]|0)|0;if(b|0){if(f[b+480>>2]|0){Kc(b,c);break}h=c;if((f[b+304>>2]|0)>>>0<=h>>>0?(f[b+308>>2]|0)>>>0>h>>>0:0){h=b+300|0;f[c>>2]=f[h>>2];f[h>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{h=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);g=f[a+12>>2]|0;if(g|0){e=g+12|0;b=f[e>>2]|0;h=g+20|0;if((b|0)>0){d=0;do{c=f[(f[h>>2]|0)+(d<<2)>>2]|0;if(c){b=c;do{c=b;b=f[b>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((b|0)!=0);b=f[e>>2]|0}d=d+1|0}while((d|0)<(b|0))}_A(f[h>>2]|0,0,b<<2|0)|0;f[g+8>>2]=0;f[a+16>>2]=0}c=a+80|0;d=f[c>>2]|0;if(!d)return;i=f[d>>2]|0;f[d>>2]=i+-1;do if((i|0)<2){e=d+20|0;if((f[e>>2]|0)>0){b=0;do{g=f[d+24+(b*12|0)+8>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{i=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);b=b+1|0}while((b|0)<(f[e>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);f[c>>2]=0;return}function Qx(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=(f[f[a>>2]>>2]|0)+40|0;e=f[g>>2]|0;g=f[g+4>>2]|0;b=a+8|0;if(f[b>>2]|0?(c=Rx(a)|0,f[b>>2]=0,c|0):0){d=c;a=f[a>>2]|0;a=f[a>>2]|0;a=a+40|0;c=a;f[c>>2]=e;e=a+4|0;f[e>>2]=g;return d|0}c=f[a+4>>2]|0;Sx(c);b=c+40|0;d=f[b>>2]|0;do if(d|0){f[b>>2]=0;b=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;if(b|0){if(f[b+480>>2]|0){Kc(b,d);break}h=d;if((f[b+304>>2]|0)>>>0<=h>>>0?(f[b+308>>2]|0)>>>0>h>>>0:0){h=b+300|0;f[d>>2]=f[h>>2];f[h>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{h=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);d=c+36|0;h=f[d>>2]|0;f[d>>2]=0;a=f[a>>2]|0;a=f[a>>2]|0;a=a+40|0;d=a;f[d>>2]=e;e=a+4|0;f[e>>2]=g;return h|0}function Rx(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=f[(f[a>>2]|0)+12>>2]|0;d=a+16|0;h=f[d>>2]|0;d=f[d+4>>2]|0;do if((Mc()|0)==0?(g=Nc(0,64,0)|0,(g|0)!=0):0){if(d>>>0<0|(d|0)==0&h>>>0<128){b[g>>0]=h&127;c=0;e=g;d=1;g=64;break}if(d>>>0<0|(d|0)==0&h>>>0<16384){c=VA(h|0,d|0,7)|0;ba()|0;b[g>>0]=c&255|-128;b[g+1>>0]=h&127;c=0;e=g;d=2;g=64;break}else{c=0;e=g;d=Zv(g,h,d)|0;g=64;break}}else{c=7;e=0;d=0;g=0}while(0);if((n|0)>0){m=a+24|0;l=0;do{k=(f[m>>2]|0)+(l<<3)|0;j=f[k>>2]|0;k=f[k+4>>2]|0;h=d+9|0;if(h>>>0>g>>>0){i=(g|0)==0?64:g;while(1)if(i>>>0>>0)i=i<<1;else break;if((Mc()|0)==0?(o=Nc(e,(i|0)>0?i:0,0)|0,(o|0)!=0):0){e=o;p=15}else c=7}else{i=g;p=15}if((p|0)==15){p=0;g=e+d|0;do if(!(k>>>0<0|(k|0)==0&j>>>0<128))if(k>>>0<0|(k|0)==0&j>>>0<16384){k=VA(j|0,k|0,7)|0;ba()|0;b[g>>0]=k&255|-128;b[g+1>>0]=j&127;g=2;break}else{g=Zv(g,j,k)|0;break}else{b[g>>0]=j&127;g=1}while(0);d=g+d|0;g=i}l=l+1|0}while((l|0)!=(n|0))}if(!c){a=f[a+4>>2]|0;ay(a,1,0,e,d);a=a+36|0;c=f[a>>2]|0;f[a>>2]=0}if(!e)return c|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](e);return c|0}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);return c|0}return 0}function Sx(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=t;t=t+368|0;J=L;K=L+364|0;H=L+360|0;E=L+264|0;A=L+256|0;d=a+16|0;if(!(f[d>>2]|0)){t=L;return}f[d>>2]=0;C=f[a+12>>2]|0;f[H>>2]=0;D=Hv(a)|0;f[K>>2]=D;I=a+36|0;do if(!(f[I>>2]|0)){if((f[D+16>>2]|0)>1999){f[I>>2]=13;B=0;break}_A(J|0,0,252)|0;g=f[D+20>>2]|0;if((g|0)>0){d=0;do{i=f[D+24+(d*12|0)+4>>2]|0;if((i|0)>0){j=f[D+24+(d*12|0)+8>>2]|0;e=0;do{k=f[j+(e*12|0)>>2]|0;if((k|0)<2001){x=k+-1|0;B=J+(((x|0)/32|0)<<2)|0;f[B>>2]=f[B>>2]|1<<(x&31)}e=e+1|0}while((e|0)!=(i|0))}d=d+1|0}while((d|0)!=(g|0))}e=0;while(1){g=f[J+(e<<2)>>2]|0;if((g|0)==-1)e=e+1|0;else break}d=0;while(1)if(!(1<>2]|0;if(g|0){x=f[g>>2]|0;f[g>>2]=x+-1;do if((x|0)<2){i=g+20|0;if((f[i>>2]|0)>0){d=0;do{j=f[g+24+(d*12|0)+8>>2]|0;do if(j|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{x=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}while(0);d=d+1|0}while((d|0)<(f[i>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{x=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[e>>2]=0}if(!B){d=0;e=0}else{d=f[a>>2]|0;s=f[d+68>>2]|0;d=f[d+48>>2]|0;Tx(a,E,B);a:do if((f[I>>2]|0)==0?(x=fw(C,0,0)|0,f[I>>2]=x,y=C+16|0,(x|0)==0):0){u=E+16|0;v=E+28|0;w=E+12|0;x=E+57|0;r=(d|0)==1;n=f[y>>2]|0;do{if(!n)break a;o=n+40|0;m=wz(o)|0;l=n+12|0;e=f[l>>2]|0;if(e|0){do if((f[C>>2]|0)==1){d=n+24|0;if((b[d>>0]|0)!=0?(z=n+16|0,q=f[z>>2]|0,f[z>>2]=q+1,b[n+q>>0]=0,(b[n+25>>0]|0)!=0):0){q=f[z>>2]|0;f[z>>2]=q+1;b[n+q>>0]=0}}else{i=n+16|0;g=(f[i>>2]|0)-e+-1|0;d=n+24|0;j=(g<<1)+(h[d>>0]|0)|0;if((j|0)<128){b[n+e>>0]=j;break}q=j>>>0<16384;k=q?2:j>>>0<2097152?3:j>>>0<268435456?4:5;ZA(n+(k+e)|0,n+(e+1)|0,g|0)|0;e=n+(f[l>>2]|0)|0;g=((j|0)<0)<<31>>31;if(q){q=VA(j|0,g|0,7)|0;ba()|0;b[e>>0]=q&255|-128;b[e+1>>0]=j&127}else Zv(e,j,g)|0;f[i>>2]=k+-1+(f[i>>2]|0)}while(0);f[l>>2]=0;b[d>>0]=0;b[n+25>>0]=0}q=o+(m+1)|0;p=(f[n+16>>2]|0)+(-41-m)|0;Ux(a,E,wz(o)|0,o);d=f[u>>2]|0;if((s|0)>(d+p+(f[v>>2]|0)|0)){YA((f[w>>2]|0)+d|0,q|0,p|0)|0;f[u>>2]=(f[u>>2]|0)+p;d=f[I>>2]|0}else{d=A;f[d>>2]=0;f[d+4>>2]=0;d=f[I>>2]|0;if((p|0)>0&(d|0)==0){d=0;n=0;o=0;while(1){d=d+((yv(q+d|0,A)|0)&255)|0;j=A;i=f[j>>2]|0;j=f[j+4>>2]|0;n=KA(i|0,j|0,n|0,o|0)|0;o=ba()|0;e=f[w>>2]|0;g=f[u>>2]|0;if(!(b[x>>0]|0)){e=e+g|0;do if(!(j>>>0<0|(j|0)==0&i>>>0<128))if(j>>>0<0|(j|0)==0&i>>>0<16384){m=VA(i|0,j|0,7)|0;ba()|0;b[e>>0]=m&255|-128;b[e+1>>0]=i&127;e=2;break}else{e=Zv(e,i,j)|0;break}else{b[e>>0]=i&127;e=1}while(0);f[u>>2]=(f[u>>2]|0)+e}else{b[e>>0]=(g&65535)>>>8;b[e+1>>0]=g;e=(f[w>>2]|0)+(f[u>>2]|0)|0;do if(!(o>>>0<0|(o|0)==0&n>>>0<128))if(o>>>0<0|(o|0)==0&n>>>0<16384){m=VA(n|0,o|0,7)|0;ba()|0;b[e>>0]=m&255|-128;b[e+1>>0]=n&127;e=2;break}else{e=Zv(e,n,o)|0;break}else{b[e>>0]=n&127;e=1}while(0);f[u>>2]=(f[u>>2]|0)+e;b[x>>0]=0;Vx(a,E,n,o)}do if(r){do if((d|0)<(p|0)){if(b[q+d>>0]|0)break;m=f[w>>2]|0;e=f[u>>2]|0;f[u>>2]=e+1;b[m+e>>0]=0;e=d+1|0;if((e|0)>=(p|0)){d=e;break}if(b[q+e>>0]|0){d=e;break}l=f[w>>2]|0;m=f[u>>2]|0;f[u>>2]=m+1;b[l+m>>0]=0;d=d+2|0}while(0);if(((f[v>>2]|0)+(f[u>>2]|0)|0)<(s|0)){e=d;break}Wx(a,E);e=d}else{m=q+d|0;e=h[m>>0]|0;do if(e&128){g=h[m+1>>0]|0;if(!(g&128)){j=2;e=e<<7&16256|g;break}i=h[m+2>>0]|0;if(!(i&128)){j=3;e=(e<<14|i)&2080895|g<<7&16256;break}else{j=yv(m,J)|0;j=j&255;e=f[J>>2]|0;break}}else j=1;while(0);l=j+((e|0)/2|0)|0;g=f[u>>2]|0;i=f[v>>2]|0;b:do if((l+g+i|0)>(s|0)){if(f[I>>2]|0)break;e=0;while(1){j=s-g-i|0;g=l-e|0;k=m+e|0;do if((g|0)>(j|0)){do if((b[k>>0]|0)>-1)g=1;else{if((b[k+1>>0]|0)>-1){g=2;break}if((b[k+2>>0]|0)>-1){g=3;break}g=(yv(k,J)|0)&255}while(0);if((g|0)>=(j|0))break;while(1){i=k+g|0;do if((b[i>>0]|0)>-1)i=1;else{if((b[i+1>>0]|0)>-1){i=2;break}if((b[i+2>>0]|0)>-1){i=3;break}i=(yv(i,J)|0)&255}while(0);i=i+g|0;if((i|0)>(j|0))break;else g=i}}while(0);YA((f[w>>2]|0)+(f[u>>2]|0)|0,k|0,g|0)|0;k=(f[u>>2]|0)+g|0;f[u>>2]=k;e=g+e|0;if(((f[v>>2]|0)+k|0)>=(s|0))Wx(a,E);if((e|0)>=(l|0))break b;if(f[I>>2]|0)break b;g=f[u>>2]|0;i=f[v>>2]|0}}else{YA((f[w>>2]|0)+g|0,m|0,l|0)|0;f[u>>2]=(f[u>>2]|0)+l}while(0);e=l+d|0}while(0);d=f[I>>2]|0;if(!((e|0)<(p|0)&(d|0)==0))break;else d=e}}}n=f[(f[y>>2]|0)+4>>2]|0;f[y>>2]=n}while(!(d|0))}while(0);i=C+12|0;d=f[i>>2]|0;j=C+20|0;if((d|0)>0){g=0;do{e=f[(f[j>>2]|0)+(g<<2)>>2]|0;if(e){d=e;do{e=d;d=f[d>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{A=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}}while((d|0)!=0);d=f[i>>2]|0}g=g+1|0}while((g|0)<(d|0))}_A(f[j>>2]|0,0,d<<2|0)|0;f[C+8>>2]=0;Xx(a,E,H);do if(!(f[D+20>>2]|0)){if(!(f[I>>2]|0)){if((Mc()|0)==0?(c=Nc(D,52,0)|0,c|0):0){F=c+24|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;F=c+20|0;f[F>>2]=(f[F>>2]|0)+1;f[K>>2]=c;F=122;break}f[I>>2]=7}c=f[K>>2]|0}else{c=f[K>>2]|0;F=122}while(0);do if((F|0)==122)if(!(f[I>>2]|0)){d=c+28|0;e=((f[d>>2]|0)*12|0)+12|0;g=c+32|0;i=f[g>>2]|0;if((Mc()|0)==0?(G=Nc(i,(e|0)>0?e:0,0)|0,G|0):0){F=G+((f[d>>2]|0)*12|0)|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[g>>2]=G;if(f[I>>2]|0)break;F=f[d>>2]|0;f[d>>2]=F+1;f[G+(F*12|0)>>2]=B;f[G+(F*12|0)+4>>2]=1;f[G+(F*12|0)+8>>2]=f[H>>2];G=c+16|0;f[G>>2]=(f[G>>2]|0)+1;break}f[I>>2]=7}while(0);Yx(a,0,c);e=f[H>>2]|0;d=e;e=((e|0)<0)<<31>>31}c=f[I>>2]|0;if(!c){c=f[(f[a>>2]|0)+72>>2]|0;if((c|0)>0){H=f[K>>2]|0;F=H+8|0;A=F;z=f[A>>2]|0;A=f[A+4>>2]|0;D=KA(z|0,A|0,d|0,e|0)|0;E=ba()|0;G=f[a+8>>2]|0;d=((G|0)<0)<<31>>31;B=SA(D|0,E|0,G|0,d|0)|0;C=ba()|0;d=SA(z|0,A|0,G|0,d|0)|0;d=LA(B|0,C|0,d|0,ba()|0)|0;ba()|0;f[F>>2]=D;f[F+4>>2]=E;d=U(G,d)|0;Zx(a,K,U(d,f[H+20>>2]|0)|0,c)|0;d=f[I>>2]|0}else d=0}else d=c;g=f[(f[a>>2]|0)+76>>2]|0;c=f[K>>2]|0;f[J>>2]=c;c:do if(!d){d=0;e=c;while(1){if((f[e+24+(d*12|0)+4>>2]|0)<(g|0))break c;_x(a,J,d,0);d=d+1|0;c=f[J>>2]|0;Yx(a,d,c);if(!(f[I>>2]|0))e=c;else break}}while(0);f[K>>2]=c;i=c;$x(a,i);do if(c|0?(a=f[i>>2]|0,f[i>>2]=a+-1,(a|0)<2):0){e=i+20|0;if((f[e>>2]|0)>0){d=0;do{g=f[i+24+(d*12|0)+8>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);d=d+1|0}while((d|0)<(f[e>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);t=L;return}function Tx(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;n=o;k=(f[(f[a>>2]|0)+68>>2]|0)+20|0;g=c;h=g+96|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[c>>2]=e;m=a+36|0;do if(!(f[m>>2]|0)){e=c+68|0;g=c+72|0;if((Mc()|0)==0?(i=Nc(0,32,0)|0,i|0):0){h=f[e>>2]|0;_A(i+(h<<5)|0,0,32-(h<<5)|0)|0;f[g>>2]=i;f[e>>2]=1;break}f[m>>2]=7}while(0);f[c+4>>2]=1;b[c+58>>0]=1;f[c+88>>2]=1;i=c+32|0;e=f[i>>2]|0;do if(e>>>0>>0){e=(e|0)==0?64:e;while(1)if(e>>>0>>0)e=e<<1;else break;g=c+24|0;h=f[g>>2]|0;if((Mc()|0)==0?(j=Nc(h,(e|0)>0?e:0,0)|0,j|0):0){f[i>>2]=e;f[g>>2]=j;break}f[m>>2]=7}while(0);i=c+12|0;h=c+20|0;e=f[h>>2]|0;do if(e>>>0>>0){g=(e|0)==0?64:e;while(1)if(g>>>0>>0)g=g<<1;else break;e=f[i>>2]|0;if((Mc()|0)==0?(l=Nc(e,(g|0)>0?g:0,0)|0,l|0):0){f[h>>2]=g;f[i>>2]=l;break}f[m>>2]=7}while(0);h=a+52|0;do if(!(f[h>>2]|0)){g=f[a>>2]|0;e=f[g+8>>2]|0;f[n>>2]=f[g+4>>2];f[n+4>>2]=e;e=wd(70182,n)|0;g=(e|0)==0;do if(f[m>>2]|0){if(g){t=o;return}}else{if(!g){a=Ki(f[f[a>>2]>>2]|0,e,-1,129,0,h,0)|0;f[m>>2]=a;break}f[m>>2]=7;t=o;return}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);if(f[m>>2]|0){t=o;return}e=f[i>>2]|0;b[e>>0]=0;b[e+1>>0]=0;b[e+2>>0]=0;b[e+3>>0]=0;f[c+16>>2]=4;e=f[h>>2]|0;h=f[c>>2]|0;i=((h|0)<0)<<31>>31;if(Op(e,1)|0){t=o;return}e=f[e+116>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){c=e;f[c>>2]=h;f[c+4>>2]=i;d[g>>1]=4;t=o;return}else{bf(e,h,i);t=o;return}}function Ux(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=c+4|0;u=c+12|0;v=c+16|0;h=f[v>>2]|0;p=c+28|0;do if((d+2+h+(f[p>>2]|0)|0)>=(f[(f[a>>2]|0)+68>>2]|0)){if((h|0)>4){Wx(a,c);h=f[v>>2]|0}l=d+20+h|0;m=c+20|0;h=f[m>>2]|0;if(l>>>0>h>>>0){n=a+36|0;j=(h|0)==0?64:h;while(1)if(j>>>0>>0)j=j<<1;else break;h=f[u>>2]|0;if((Mc()|0)==0?(o=Nc(h,(j|0)>0?j:0,0)|0,o|0):0){f[m>>2]=j;f[u>>2]=o;break}f[n>>2]=7}}while(0);h=(f[c+24>>2]|0)+(f[p>>2]|0)|0;m=c+8|0;j=(f[v>>2]|0)-(f[m>>2]|0)|0;l=((j|0)<0)<<31>>31;do if(j>>>0>=128)if(j>>>0<16384){t=VA(j|0,l|0,7)|0;ba()|0;b[h>>0]=t&255|-128;b[h+1>>0]=j&127;h=2;break}else{h=Zv(h,j,l)|0;break}else{b[h>>0]=j&127;h=1}while(0);f[p>>2]=(f[p>>2]|0)+h;h=f[v>>2]|0;f[m>>2]=h;t=c+58|0;a:do if(!(b[t>>0]|0)){l=f[c+40>>2]|0;m=f[c+36>>2]|0;b:do if((l|0)>0){j=0;do{if((b[m+j>>0]|0)!=(b[e+j>>0]|0))break b;j=j+1|0}while((j|0)<(l|0))}else j=0;while(0);o=a+36|0;p=((j|0)<0)<<31>>31;m=h+9|0;n=c+20|0;l=f[n>>2]|0;do if(m>>>0>l>>>0){l=(l|0)==0?64:l;while(1)if(l>>>0>>0)l=l<<1;else break;h=f[u>>2]|0;if((Mc()|0)==0?(k=Nc(h,(l|0)>0?l:0,0)|0,k|0):0){f[n>>2]=l;f[u>>2]=k;h=f[v>>2]|0;break}f[o>>2]=7;break a}else k=f[u>>2]|0;while(0);h=k+h|0;do if(j>>>0>=128)if(j>>>0<16384){q=VA(j|0,p|0,7)|0;ba()|0;b[h>>0]=q&255|-128;b[h+1>>0]=j&127;h=2;break}else{h=Zv(h,j,p)|0;break}else{b[h>>0]=j&127;h=1}while(0);f[v>>2]=(f[v>>2]|0)+h}else{if((f[w>>2]|0)==1){j=0;o=a+36|0;break}j=f[c+40>>2]|0;if(!j)n=d;else{k=f[c+36>>2]|0;c:do if((j|0)>0){h=0;do{if((b[k+h>>0]|0)!=(b[e+h>>0]|0))break c;h=h+1|0}while((h|0)<(j|0))}else h=0;while(0);n=h+1|0}cy(a,c);o=a+36|0;k=c+76|0;m=c+80|0;f[m>>2]=0;d:do if(n|0){l=c+84|0;h=f[l>>2]|0;do if(h>>>0>>0){h=(h|0)==0?64:h;while(1)if(h>>>0>>0)h=h<<1;else break;j=f[k>>2]|0;if((Mc()|0)==0?(q=Nc(j,(h|0)>0?h:0,0)|0,q|0):0){f[l>>2]=h;f[k>>2]=q;h=q;j=f[m>>2]|0;break}f[o>>2]=7;break d}else{h=f[k>>2]|0;j=0}while(0);YA(h+j|0,e|0,n|0)|0;f[m>>2]=(f[m>>2]|0)+n}while(0);f[c+88>>2]=f[c+4>>2];j=0}while(0);p=d-j|0;m=((p|0)<0)<<31>>31;h=f[v>>2]|0;l=h+9|0;n=c+20|0;k=f[n>>2]|0;do if(l>>>0>k>>>0){k=(k|0)==0?64:k;while(1)if(k>>>0>>0)k=k<<1;else break;h=f[u>>2]|0;if((Mc()|0)==0?(r=Nc(h,(k|0)>0?k:0,0)|0,r|0):0){f[n>>2]=k;f[u>>2]=r;k=r;h=f[v>>2]|0;s=62;break}f[o>>2]=7}else{k=f[u>>2]|0;s=62}while(0);if((s|0)==62){h=k+h|0;do if(p>>>0>=128)if(p>>>0<16384){s=VA(p|0,m|0,7)|0;ba()|0;b[h>>0]=s&255|-128;b[h+1>>0]=p&127;h=2;break}else{h=Zv(h,p,m)|0;break}else{b[h>>0]=p&127;h=1}while(0);f[v>>2]=(f[v>>2]|0)+h}l=e+j|0;e:do if(p|0){h=f[v>>2]|0;k=h+p|0;j=f[n>>2]|0;do if(k>>>0>j>>>0){j=(j|0)==0?64:j;while(1)if(j>>>0>>0)j=j<<1;else break;h=f[u>>2]|0;if((Mc()|0)==0?(i=Nc(h,(j|0)>0?j:0,0)|0,i|0):0){f[n>>2]=j;f[u>>2]=i;h=f[v>>2]|0;break}f[o>>2]=7;break e}else i=f[u>>2]|0;while(0);YA(i+h|0,l|0,p|0)|0;f[v>>2]=(f[v>>2]|0)+p}while(0);j=c+36|0;l=c+40|0;f[l>>2]=0;if(!d){b[t>>0]=0;e=c+57|0;b[e>>0]=0;e=c+56|0;b[e>>0]=1;e=f[w>>2]|0;w=c+72|0;w=f[w>>2]|0;f[w>>2]=e;return}k=c+44|0;h=f[k>>2]|0;do if(h>>>0>>0){h=(h|0)==0?64:h;while(1)if(h>>>0>>0)h=h<<1;else break;i=f[j>>2]|0;if((Mc()|0)==0?(g=Nc(i,(h|0)>0?h:0,0)|0,g|0):0){f[k>>2]=h;f[j>>2]=g;h=f[l>>2]|0;break}f[o>>2]=7;b[t>>0]=0;e=c+57|0;b[e>>0]=0;e=c+56|0;b[e>>0]=1;e=f[w>>2]|0;w=c+72|0;w=f[w>>2]|0;f[w>>2]=e;return}else{g=f[j>>2]|0;h=0}while(0);YA(g+h|0,e|0,d|0)|0;f[l>>2]=(f[l>>2]|0)+d;b[t>>0]=0;e=c+57|0;b[e>>0]=0;e=c+56|0;b[e>>0]=1;e=f[w>>2]|0;w=c+72|0;w=f[w>>2]|0;f[w>>2]=e;return}function Vx(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=t;t=t+16|0;B=I;D=a+36|0;if(f[D>>2]|0){t=I;return}E=c+72|0;F=c+4|0;v=c+68|0;u=0;s=0;while(1){h=f[E>>2]|0;g=h+(u<<5)|0;i=h+(u<<5)+20|0;if((f[i>>2]|0)<(f[(f[a>>2]|0)+68>>2]|0))q=1;else{r=h+(u<<5)+16|0;b[f[r>>2]>>0]=1;p=WA(f[c>>2]|0,0,37)|0;q=ba()|0|16;n=WA(u|0,0,31)|0;o=ba()|0;g=f[g>>2]|0;g=KA(n|0,o|0,g|0,((g|0)<0)<<31>>31|0)|0;q=KA(g|0,ba()|0,p|0,q|0)|0;g=ba()|0;ay(a,q,g,f[r>>2]|0,f[i>>2]|0);g=u+2|0;a:do if(!(f[D>>2]|0)){do if((f[v>>2]|0)>(g|0)){h=f[E>>2]|0;g=h+(u<<5)|0}else{h=f[E>>2]|0;i=g<<5;if((Mc()|0)==0?(C=Nc(h,(i|0)>0?i:0,0)|0,C|0):0){r=f[v>>2]|0;_A(C+(r<<5)|0,0,g-r<<5|0)|0;f[E>>2]=C;f[v>>2]=g;g=C+(u<<5)|0;if(!(f[D>>2]|0)){h=C;break}else{h=C;break a}}f[D>>2]=7;H=10;break a}while(0);n=g+48|0;p=g+52|0;if(!(f[p>>2]|0)){q=h+(u<<5)+16|0;r=((yv((f[q>>2]|0)+1|0,B)|0)&255)+1|0;yv((f[q>>2]|0)+r|0,B)|0;r=B;q=f[r>>2]|0;r=f[r+4>>2]|0;f[g+32>>2]=f[g>>2];i=f[p>>2]|0;k=i+9|0;o=g+56|0;j=f[o>>2]|0;do if(k>>>0>j>>>0){j=(j|0)==0?64:j;while(1)if(j>>>0>>0)j=j<<1;else break;i=f[n>>2]|0;if((Mc()|0)==0?(G=Nc(i,(j|0)>0?j:0,0)|0,G|0):0){f[o>>2]=j;f[n>>2]=G;j=G;i=f[p>>2]|0;H=21;break}f[D>>2]=7;i=f[p>>2]|0}else{j=f[n>>2]|0;H=21}while(0);if((H|0)==21){H=0;b[j+i>>0]=0;i=(f[p>>2]|0)+1|0;f[p>>2]=i}m=f[g>>2]|0;l=((m|0)<0)<<31>>31;k=i+9|0;j=f[o>>2]|0;do if(k>>>0>j>>>0){j=(j|0)==0?64:j;while(1)if(j>>>0>>0)j=j<<1;else break;i=f[n>>2]|0;if((Mc()|0)==0?(w=Nc(i,(j|0)>0?j:0,0)|0,w|0):0){f[o>>2]=j;f[n>>2]=w;j=w;i=f[p>>2]|0;H=30;break}f[D>>2]=7;i=f[p>>2]|0}else{j=f[n>>2]|0;H=30}while(0);if((H|0)==30){H=0;i=j+i|0;do if(m>>>0>=128)if(m>>>0<16384){l=VA(m|0,l|0,7)|0;ba()|0;b[i>>0]=l&255|-128;b[i+1>>0]=m&127;i=2;break}else{i=Zv(i,m,l)|0;break}else{b[i>>0]=m&127;i=1}while(0);i=(f[p>>2]|0)+i|0;f[p>>2]=i}k=i+9|0;j=f[o>>2]|0;do if(k>>>0>j>>>0){j=(j|0)==0?64:j;while(1)if(j>>>0>>0)j=j<<1;else break;i=f[n>>2]|0;if((Mc()|0)==0?(x=Nc(i,(j|0)>0?j:0,0)|0,x|0):0){f[o>>2]=j;f[n>>2]=x;j=x;i=f[p>>2]|0;H=44;break}f[D>>2]=7}else{j=f[n>>2]|0;H=44}while(0);if((H|0)==44){H=0;i=j+i|0;do if(!(r>>>0<0|(r|0)==0&q>>>0<128))if(r>>>0<0|(r|0)==0&q>>>0<16384){o=VA(q|0,r|0,7)|0;ba()|0;b[i>>0]=o&255|-128;b[i+1>>0]=q&127;i=2;break}else{i=Zv(i,q,r)|0;break}else{b[i>>0]=q&127;i=1}while(0);f[p>>2]=(f[p>>2]|0)+i}f[g+36>>2]=1;p=g+40|0;f[p>>2]=q;f[p+4>>2]=r}}else H=10;while(0);if((H|0)==10){H=0;g=f[E>>2]|0;h=g;g=g+(u<<5)|0}f[h+(u<<5)+20>>2]=0;f[h+(u<<5)+4>>2]=0;f[g>>2]=(f[g>>2]|0)+1;q=s}r=g+4|0;b:do if(!(f[r>>2]|0)){n=f[((u|0)==0?F:g+-32|0)>>2]|0;p=((n|0)<0)<<31>>31;m=g+16|0;k=(q|0)==0;o=g+20|0;h=f[o>>2]|0;j=h+9|0;l=g+24|0;i=f[l>>2]|0;do if(j>>>0>i>>>0){i=(i|0)==0?64:i;while(1)if(i>>>0>>0)i=i<<1;else break;h=f[m>>2]|0;if((Mc()|0)==0?(y=Nc(h,(i|0)>0?i:0,0)|0,y|0):0){f[l>>2]=i;f[m>>2]=y;i=y;h=f[o>>2]|0;H=62;break}f[D>>2]=7;h=f[o>>2]|0}else{i=f[m>>2]|0;H=62}while(0);if((H|0)==62){H=0;b[i+h>>0]=k&1;h=(f[o>>2]|0)+1|0;f[o>>2]=h}j=h+9|0;i=f[l>>2]|0;do if(j>>>0>i>>>0){i=(i|0)==0?64:i;while(1)if(i>>>0>>0)i=i<<1;else break;h=f[m>>2]|0;if((Mc()|0)==0?(z=Nc(h,(i|0)>0?i:0,0)|0,z|0):0){f[l>>2]=i;f[m>>2]=z;i=z;h=f[o>>2]|0;break}f[D>>2]=7;m=e;n=d;break b}else i=f[m>>2]|0;while(0);h=i+h|0;do if(n>>>0>=128)if(n>>>0<16384){s=VA(n|0,p|0,7)|0;ba()|0;b[h>>0]=s&255|-128;b[h+1>>0]=n&127;h=2;break}else{h=Zv(h,n,p)|0;break}else{b[h>>0]=n&127;h=1}while(0);f[o>>2]=(f[o>>2]|0)+h;m=e;n=d}else{n=g+8|0;n=LA(d|0,e|0,f[n>>2]|0,f[n+4>>2]|0)|0;o=g+20|0;l=g+24|0;m=ba()|0}while(0);h=f[o>>2]|0;k=h+9|0;i=f[l>>2]|0;do if(k>>>0>i>>>0){j=(i|0)==0?64:i;while(1)if(j>>>0>>0)j=j<<1;else break;h=g+16|0;i=f[h>>2]|0;if((Mc()|0)==0?(A=Nc(i,(j|0)>0?j:0,0)|0,A|0):0){f[l>>2]=j;f[h>>2]=A;i=A;h=f[o>>2]|0;H=85;break}f[D>>2]=7;h=7}else{i=f[g+16>>2]|0;H=85}while(0);if((H|0)==85){H=0;h=i+h|0;do if(!(m>>>0<0|(m|0)==0&n>>>0<128))if(m>>>0<0|(m|0)==0&n>>>0<16384){s=VA(n|0,m|0,7)|0;ba()|0;b[h>>0]=s&255|-128;b[h+1>>0]=n&127;h=2;break}else{h=Zv(h,n,m)|0;break}else{b[h>>0]=n&127;h=1}while(0);f[o>>2]=(f[o>>2]|0)+h;h=f[D>>2]|0}f[r>>2]=1;s=g+8|0;f[s>>2]=d;f[s+4>>2]=e;if(!(h|q)){u=u+1|0;s=q}else break}t=I;return}function Wx(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=c+12|0;p=f[o>>2]|0;q=c+16|0;n=f[q>>2]|0;b[p+2>>0]=(n&65535)>>>8;b[p+3>>0]=n;p=c+58|0;a:do if(!(b[p>>0]|0)){i=a+36|0;e=c+28|0;m=f[e>>2]|0;n=f[c+24>>2]|0;if(m){g=f[q>>2]|0;k=g+m|0;l=c+20|0;j=f[l>>2]|0;do if(k>>>0>j>>>0){j=(j|0)==0?64:j;while(1)if(j>>>0>>0)j=j<<1;else break;g=f[o>>2]|0;if((Mc()|0)==0?(h=Nc(g,(j|0)>0?j:0,0)|0,h|0):0){f[l>>2]=j;f[o>>2]=h;g=f[q>>2]|0;break}f[i>>2]=7;break a}else h=f[o>>2]|0;while(0);YA(h+g|0,n|0,m|0)|0;f[q>>2]=(f[q>>2]|0)+m}}else{b:do if(b[c+57>>0]|0?(i=f[c+72>>2]|0,m=i+20|0,e=f[m>>2]|0,(e|0)>0):0){k=i+16|0;l=a+36|0;j=e+9|0;i=i+24|0;h=f[i>>2]|0;do if(j>>>0>h>>>0){h=(h|0)==0?64:h;while(1)if(h>>>0>>0)h=h<<1;else break;e=f[k>>2]|0;if((Mc()|0)==0?(g=Nc(e,(h|0)>0?h:0,0)|0,g|0):0){f[i>>2]=h;f[k>>2]=g;e=f[m>>2]|0;break}f[l>>2]=7;break b}else g=f[k>>2]|0;while(0);b[g+e>>0]=0;f[m>>2]=(f[m>>2]|0)+1}while(0);i=c+64|0;f[i>>2]=(f[i>>2]|0)+1;i=a+36|0;e=c+28|0}while(0);m=WA(f[c>>2]|0,0,37)|0;h=ba()|0;j=c+4|0;n=f[j>>2]|0;n=KA(m|0,h|0,n|0,((n|0)<0)<<31>>31|0)|0;h=ba()|0;ay(a,n,h,f[o>>2]|0,f[q>>2]|0);f[q>>2]=0;f[e>>2]=0;h=c+20|0;e=f[h>>2]|0;do if(e>>>0<4){e=(e|0)==0?64:e;while(1)if(e>>>0<4)e=e<<1;else break;g=f[o>>2]|0;if((Mc()|0)==0?(d=Nc(g,(e|0)>0?e:0,0)|0,d|0):0){f[h>>2]=e;f[o>>2]=d;e=f[q>>2]|0;break}f[i>>2]=7;q=c+8|0;f[q>>2]=0;q=f[j>>2]|0;q=q+1|0;f[j>>2]=q;q=c+60|0;o=f[q>>2]|0;o=o+1|0;f[q>>2]=o;b[p>>0]=1;q=c+57|0;b[q>>0]=1;return}else{d=f[o>>2]|0;e=0}while(0);o=d+e|0;b[o>>0]=0;b[o+1>>0]=0;b[o+2>>0]=0;b[o+3>>0]=0;f[q>>2]=(f[q>>2]|0)+4;q=c+8|0;f[q>>2]=0;q=f[j>>2]|0;q=q+1|0;f[j>>2]=q;q=c+60|0;o=f[q>>2]|0;o=o+1|0;f[q>>2]=o;b[p>>0]=1;q=c+57|0;b[q>>0]=1;return} -function mn(a,c,e,g,i,k,l,m,n,o,p,q,r){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;Ia=t;t=t+48|0;V=Ia+16|0;T=Ia+8|0;M=Ia;Q=Ia+20|0;Fa=(l|0)!=0;W=f[a>>2]|0;Ga=a+8|0;s=f[Ga>>2]|0;if(!s){if((f[a+116>>2]|0)==0?(d[W+76>>1]&8)==0:0)b[a+23>>0]=1;Ha=sl(a)|0}else Ha=s;u=d[c+42>>1]|0;J=u<<16>>16;Ea=c+36|0;if(!(f[Ea>>2]&32)){Da=0;Ca=1}else{s=c+8|0;while(1){s=f[s>>2]|0;Da=s+55|0;if(((h[Da>>0]|h[Da+1>>0]<<8)&3)==2)break;else s=s+20|0}Da=s;Ca=j[s+50>>1]|0}if(u<<16>>16>0){A=c+40|0;B=(q|0)==0;C=c+4|0;D=n<<24>>24==11;E=k+1|0;F=Ha+136|0;G=Ha+12|0;H=a+116|0;I=Ha+88|0;z=0;do{a:do if((z|0)!=(d[A>>1]|0)){if(!B?(f[q+(z<<2)>>2]|0)<0:0)break;u=f[C>>2]|0;s=b[u+(z<<4)+12>>0]|0;if(s<<24>>24){Aa=D?(s<<24>>24==11?2:s):n;s=Aa&255;if(Aa<<24>>24==5)s=(f[u+(z<<4)+4>>2]|0)==0?2:s;switch((s&255)<<24>>24){case 2:{Aa=f[H>>2]|0;b[((Aa|0)==0?a:Aa)+21>>0]=1;break}case 3:case 1:break;case 4:{s=z+E|0;u=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(u|0)){f[F>>2]=u+1;Aa=f[I>>2]|0;b[Aa+(u*20|0)>>0]=50;d[Aa+(u*20|0)+2>>1]=0;f[Aa+(u*20|0)+4>>2]=s;f[Aa+(u*20|0)+8>>2]=o;f[Aa+(u*20|0)+12>>2]=0;f[Aa+(u*20|0)+16>>2]=0;b[Aa+(u*20|0)+1>>0]=0;break a}else{tl(Ha,50,s,o,0)|0;break a}}default:{y=z+E|0;s=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(s|0)){f[F>>2]=s+1;Aa=f[I>>2]|0;b[Aa+(s*20|0)>>0]=51;d[Aa+(s*20|0)+2>>1]=0;f[Aa+(s*20|0)+4>>2]=y;f[Aa+(s*20|0)+8>>2]=0;f[Aa+(s*20|0)+12>>2]=0;f[Aa+(s*20|0)+16>>2]=0;b[Aa+(s*20|0)+1>>0]=0}else s=tl(Ha,51,y,0,0)|0;u=f[(f[C>>2]|0)+(z<<4)+4>>2]|0;do if(u){if((b[u>>0]|0)!=-92){L=xl(a,u,y)|0;Ba=50;break}x=f[Ga>>2]|0;u=f[u+28>>2]|0;v=x+136|0;w=f[v>>2]|0;if((f[(f[x+12>>2]|0)+48>>2]|0)>(w|0)){f[v>>2]=w+1;Aa=f[x+88>>2]|0;b[Aa+(w*20|0)>>0]=78;d[Aa+(w*20|0)+2>>1]=0;f[Aa+(w*20|0)+4>>2]=u;f[Aa+(w*20|0)+8>>2]=y;f[Aa+(w*20|0)+12>>2]=0;f[Aa+(w*20|0)+16>>2]=0;b[Aa+(w*20|0)+1>>0]=0;break}else{tl(x,78,u,y,0)|0;break}}else{L=xl(a,0,y)|0;Ba=50}while(0);do if(((Ba|0)==50?(Ba=0,(L|0)!=(y|0)):0)?(K=f[Ga>>2]|0,K|0):0){u=K+136|0;v=f[u>>2]|0;if((f[(f[K+12>>2]|0)+48>>2]|0)>(v|0)){f[u>>2]=v+1;Aa=f[K+88>>2]|0;b[Aa+(v*20|0)>>0]=79;d[Aa+(v*20|0)+2>>1]=0;f[Aa+(v*20|0)+4>>2]=L;f[Aa+(v*20|0)+8>>2]=y;f[Aa+(v*20|0)+12>>2]=0;f[Aa+(v*20|0)+16>>2]=0;b[Aa+(v*20|0)+1>>0]=0;break}else{tl(K,79,L,y,0)|0;break}}while(0);u=f[F>>2]|0;if(!(b[(f[Ha>>2]|0)+81>>0]|0))s=(f[I>>2]|0)+(((s|0)<0?u+-1|0:s)*20|0)|0;else s=72144;f[s+8>>2]=u;break a}}w=f[u+(z<<4)>>2]|0;f[M>>2]=f[c>>2];f[M+4>>2]=w;w=Ig(W,50225,M)|0;u=z+E|0;v=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(v|0)){f[F>>2]=v+1;Aa=f[I>>2]|0;b[Aa+(v*20|0)>>0]=68;d[Aa+(v*20|0)+2>>1]=0;f[Aa+(v*20|0)+4>>2]=1299;f[Aa+(v*20|0)+8>>2]=s;f[Aa+(v*20|0)+12>>2]=u;f[Aa+(v*20|0)+16>>2]=0;b[Aa+(v*20|0)+1>>0]=0}else tl(Ha,68,1299,s,u)|0;s=f[Ha>>2]|0;do if(b[s+81>>0]|0){if(w|0){if(s|0){if(f[s+480>>2]|0){Kc(s,w);break}Aa=w;if((f[s+304>>2]|0)>>>0<=Aa>>>0?(f[s+308>>2]|0)>>>0>Aa>>>0:0){Aa=s+300|0;f[w>>2]=f[Aa>>2];f[Aa>>2]=w;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](w);break}else{Aa=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-Aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);break}}}else{za=f[I>>2]|0;Aa=(f[F>>2]|0)+-1|0;b[za+(Aa*20|0)+1>>0]=-7;f[za+(Aa*20|0)+16>>2]=w}while(0);s=f[F>>2]|0;if((s|0)>0)d[(f[I>>2]|0)+((s+-1|0)*20|0)+2>>1]=1}}while(0);z=z+1|0}while((z|0)!=(J|0))}F=f[c+24>>2]|0;if(F|0?(0==0?(f[W+32>>2]&512|0)==0:0):0){G=a+56|0;f[G>>2]=~k;if((f[F>>2]|0)>0){H=(q|0)==0;E=Ha+12|0;I=Q+20|0;J=Q+4|0;K=Q+24|0;L=m<<24>>24==0;M=Ha+136|0;N=Ha+88|0;O=a+116|0;P=a+23|0;D=0;s=n<<24>>24==11?2:n&255;do{B=f[F+4+(D*20|0)>>2]|0;if(!H){f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;f[Q+16>>2]=0;f[Q+20>>2]=0;f[J>>2]=164;f[K>>2]=q;if(!B)v=0;else{oi(Q,B)|0;v=b[I>>0]|0}u=v&-3;if(L)b[I>>0]=u;else u=v;if(u<<24>>24)Ba=69}else Ba=69;if((Ba|0)==69){Ba=0;u=f[E>>2]|0;A=u+60|0;C=f[A>>2]|0;f[A>>2]=C+1;A=u+64|0;if(!(C+-1&C)){y=C<<3|4;z=f[u>>2]|0;u=f[A>>2]|0;b:do if(u){w=u;x=z+304|0;if(((f[x>>2]|0)>>>0<=w>>>0?(f[z+308>>2]|0)>>>0>w>>>0:0)?!(0<0|(0==0?(j[z+276>>1]|0)>>>0>>0:0)):0)break;v=Lc(z,u,y,0)|0;if(!v){if(f[z+480>>2]|0){Kc(z,u);u=0;break}do if((f[x>>2]|0)>>>0<=w>>>0){if((f[z+308>>2]|0)>>>0<=w>>>0)break;Aa=z+300|0;f[u>>2]=f[Aa>>2];f[Aa>>2]=u;u=0;break b}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](u);u=0;break}else{Aa=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-Aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);u=0;break}}else u=v}else{if(f[z+272>>2]|0){if(b[z+81>>0]|0){u=0;break}}else{do if(!(0<0|(0==0?(j[z+276>>1]|0)>>>0>>0:0))){v=z+300|0;u=f[v>>2]|0;if(u|0){f[v>>2]=f[u>>2];Aa=z+284|0;f[Aa>>2]=(f[Aa>>2]|0)+1;break b}v=z+296|0;u=f[v>>2]|0;if(!u){u=z+292|0;break}else{f[v>>2]=f[u>>2];Aa=z+284|0;f[Aa>>2]=(f[Aa>>2]|0)+1;break b}}else u=z+288|0;while(0);f[u>>2]=(f[u>>2]|0)+1}u=Dc(z,y,0)|0}while(0);f[A>>2]=u}else u=f[A>>2]|0;if(u|0)f[u+(C<<2)>>2]=-1;Cm(a,B,~C,16);do if((s|0)==4){s=f[M>>2]|0;if((f[(f[E>>2]|0)+48>>2]|0)>(s|0)){f[M>>2]=s+1;Aa=f[N>>2]|0;b[Aa+(s*20|0)>>0]=11;d[Aa+(s*20|0)+2>>1]=0;f[Aa+(s*20|0)+4>>2]=0;f[Aa+(s*20|0)+8>>2]=o;f[Aa+(s*20|0)+12>>2]=0;f[Aa+(s*20|0)+16>>2]=0;b[Aa+(s*20|0)+1>>0]=0;s=4;break}else{tl(Ha,11,0,o,0)|0;s=4;break}}else{u=f[F+4+(D*20|0)+4>>2]|0;if(!u)u=f[c>>2]|0;s=(s|0)==5?2:s;v=f[Ga>>2]|0;if(!v){do if(!(f[O>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[P>>0]=1}while(0);v=sl(a)|0}if((s|0)==2){Aa=f[O>>2]|0;b[((Aa|0)==0?a:Aa)+21>>0]=1}x=v+136|0;w=f[x>>2]|0;if((f[(f[v+12>>2]|0)+48>>2]|0)>(w|0)){f[x>>2]=w+1;Aa=f[v+88>>2]|0;b[Aa+(w*20|0)>>0]=69;d[Aa+(w*20|0)+2>>1]=0;f[Aa+(w*20|0)+4>>2]=275;f[Aa+(w*20|0)+8>>2]=s;f[Aa+(w*20|0)+12>>2]=0;f[Aa+(w*20|0)+16>>2]=0;b[Aa+(w*20|0)+1>>0]=0}else w=tl(v,69,275,s,0)|0;if(!(b[(f[v>>2]|0)+81>>0]|0)){if((w|0)<0)w=(f[x>>2]|0)+-1|0;ul(v,(f[v+88>>2]|0)+(w*20|0)|0,u,0)}u=f[x>>2]|0;if((u|0)<=0)break;d[(f[v+88>>2]|0)+((u+-1|0)*20|0)+2>>1]=3}while(0);u=f[(f[E>>2]|0)+64>>2]|0;if(u)f[u+(C<<2)>>2]=f[M>>2]}D=D+1|0}while((D|0)<(f[F>>2]|0))}f[G>>2]=0}do if(r)if(f[r>>2]|0){u=f[r+16>>2]|0;if(u){s=Ha+136|0;v=f[s>>2]|0;if((f[(f[Ha+12>>2]|0)+48>>2]|0)>(v|0)){f[s>>2]=v+1;x=f[Ha+88>>2]|0;b[x+(v*20|0)>>0]=11;x=x+(v*20|0)+1|0;y=x+19|0;do{b[x>>0]=0;x=x+1|0}while((x|0)<(y|0));Aa=u;za=v;break}else{Aa=u;za=tl(Ha,11,0,0,0)|0;break}}else{Aa=0;za=0}}else{n=4;r=0;Aa=0;za=0}else{r=0;Aa=0;za=0}while(0);if(m<<24>>24!=0&(Da|0)==0){E=Ha+12|0;s=f[E>>2]|0;z=s+60|0;F=f[z>>2]|0;f[z>>2]=F+1;z=s+64|0;if(!(F+-1&F)){x=F<<3|4;y=f[s>>2]|0;s=f[z>>2]|0;c:do if(s){v=s;w=y+304|0;if(((f[w>>2]|0)>>>0<=v>>>0?(f[y+308>>2]|0)>>>0>v>>>0:0)?!(0<0|(0==0?(j[y+276>>1]|0)>>>0>>0:0)):0)break;u=Lc(y,s,x,0)|0;if(!u){if(f[y+480>>2]|0){Kc(y,s);s=0;break}if((f[w>>2]|0)>>>0<=v>>>0?(f[y+308>>2]|0)>>>0>v>>>0:0){ya=y+300|0;f[s>>2]=f[ya>>2];f[ya>>2]=s;s=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](s);s=0;break}else{ya=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);s=0;break}}else s=u}else{if(f[y+272>>2]|0){if(b[y+81>>0]|0){s=0;break}}else{do if(!(0<0|(0==0?(j[y+276>>1]|0)>>>0>>0:0))){u=y+300|0;s=f[u>>2]|0;if(s|0){f[u>>2]=f[s>>2];ya=y+284|0;f[ya>>2]=(f[ya>>2]|0)+1;break c}u=y+296|0;s=f[u>>2]|0;if(!s){s=y+292|0;break}else{f[u>>2]=f[s>>2];ya=y+284|0;f[ya>>2]=(f[ya>>2]|0)+1;break c}}else s=y+288|0;while(0);f[s>>2]=(f[s>>2]|0)+1}s=Dc(y,x,0)|0}while(0);f[z>>2]=s}else s=f[z>>2]|0;if(s|0)f[s+(F<<2)>>2]=-1;w=~F;u=b[c+48>>0]|0;s=n&255;u=n<<24>>24==11?(u<<24>>24==11?2:u&255):s;if((r|0)!=0?(f[r+16>>2]|0)==0:0){D=0;u=(f[r+8>>2]|0)==0?4:6}else Ba=163;do if((Ba|0)==163)if(!((u|0)!=5|(u|0)==(s|0)))if(f[c+8>>2]|0){s=Ha+136|0;u=f[s>>2]|0;if((f[(f[E>>2]|0)+48>>2]|0)>(u|0)){v=u+1|0;f[s>>2]=v;x=f[Ha+88>>2]|0;b[x+(u*20|0)>>0]=11;x=x+(u*20|0)+1|0;y=x+19|0;do{b[x>>0]=0;x=x+1|0}while((x|0)<(y|0));D=v;u=5;break}else{D=(tl(Ha,11,0,0,0)|0)+1|0;u=5;break}}else{D=0;u=5}else D=0;while(0);C=Ha+136|0;s=f[C>>2]|0;if(Fa){if((f[(f[E>>2]|0)+48>>2]|0)>(s|0)){f[C>>2]=s+1;ya=f[Ha+88>>2]|0;b[ya+(s*20|0)>>0]=53;d[ya+(s*20|0)+2>>1]=0;f[ya+(s*20|0)+4>>2]=k;f[ya+(s*20|0)+8>>2]=w;f[ya+(s*20|0)+12>>2]=l;f[ya+(s*20|0)+16>>2]=0;b[ya+(s*20|0)+1>>0]=0}else tl(Ha,53,k,w,l)|0;s=f[C>>2]|0;if((s|0)>0)d[(f[Ha+88>>2]|0)+((s+-1|0)*20|0)+2>>1]=144}if((f[(f[E>>2]|0)+48>>2]|0)>(s|0)){f[C>>2]=s+1;ya=f[Ha+88>>2]|0;b[ya+(s*20|0)>>0]=31;d[ya+(s*20|0)+2>>1]=0;f[ya+(s*20|0)+4>>2]=g;f[ya+(s*20|0)+8>>2]=w;f[ya+(s*20|0)+12>>2]=k;f[ya+(s*20|0)+16>>2]=0;b[ya+(s*20|0)+1>>0]=0}else tl(Ha,31,g,w,k)|0;d:do switch(u|0){case 3:case 2:case 1:{w=u;Ba=179;break}case 5:{s=f[a>>2]|0;B=f[s+32>>2]|0;do if(!((0==0?(f[W+32>>2]&8192|0)==0:0)|(B&262144|0)==0&0==0)?(R=f[(f[s+16>>2]|0)+28>>2]|0,(b[a+142>>0]|0)==0):0){A=f[c+72>>2]|0;if((A|0)!=(R|0)?(S=f[R+48>>2]|0,(S|0)!=0):0){z=c+68|0;y=S;s=0;do{x=f[y+8>>2]|0;do if((f[x+24>>2]|0)==(A|0)){v=f[x+4>>2]|0;w=f[c>>2]|0;ya=b[v>>0]|0;u=(h[1232+(ya&255)>>0]|0)-(h[1232+(h[w>>0]|0)>>0]|0)|0;if(!(ya<<24>>24==0|(u|0)!=0))do{v=v+1|0;w=w+1|0;ya=b[v>>0]|0;u=(h[1232+(ya&255)>>0]|0)-(h[1232+(h[w>>0]|0)>>0]|0)|0}while(!(ya<<24>>24==0|(u|0)!=0));if(u|0)break;if(!s)s=f[z>>2]|0;f[x+32>>2]=s;s=x}while(0);y=f[y>>2]|0}while((y|0)!=0);if(!s)Ba=226}else Ba=226;if((Ba|0)==226){s=f[c+68>>2]|0;if(!s){Ba=232;break}}u=0;v=s;do{if((b[v+8>>0]|0)==117)u=u|h[v+9>>0];v=f[v+32>>2]|0}while((v|0)!=0);if((s|0)==0|(u|0)==0)Ba=232}else Ba=232;while(0);do if((Ba|0)==232){if(!((B&16384|0)==0&0==0)){z=f[c>>2]|0;w=f[c+72>>2]|0;x=f[w+68>>2]|0;if(!x){u=w+60|0;s=w+64|0}else{u=b[z>>0]|0;if(!(u<<24>>24))s=0;else{s=0;v=z;do{v=v+1|0;s=U(s+(h[1232+(u&255)>>0]|0)|0,-1640531535)|0;u=b[v>>0]|0}while(u<<24>>24!=0)}s=(s>>>0)%((f[w+56>>2]|0)>>>0)|0;u=x+(s<<3)|0;s=x+(s<<3)+4|0}u=f[u>>2]|0;e:do if(!u)s=72124;else{y=h[1232+(h[z>>0]|0)>>0]|0;while(1){s=f[s>>2]|0;u=u+-1|0;w=f[s+12>>2]|0;ya=b[w>>0]|0;v=(h[1232+(ya&255)>>0]|0)-y|0;if(!(ya<<24>>24==0|(v|0)!=0)){x=z;do{w=w+1|0;x=x+1|0;ya=b[w>>0]|0;v=(h[1232+(ya&255)>>0]|0)-(h[1232+(h[x>>0]|0)>>0]|0)|0}while(!(ya<<24>>24==0|(v|0)!=0))}if(!v)break e;if(!u){s=72124;break}}}while(0);if(f[s+8>>2]|0){s=0;break}if(f[c+16>>2]|0){s=0;break}}if(!(f[c+8>>2]|0)){w=1;break d}w=f[a+116>>2]|0;b[((w|0)==0?a:w)+20>>0]=1;co(a,c,g,i,0,-1);w=1;break d}while(0);w=f[a+116>>2]|0;b[((w|0)==0?a:w)+20>>0]=1;bo(a,c,s,g,i,k,1,0,5,1,-1);w=1;break}case 6:{ya=r+8|0;Ba=r+12|0;Ol(a,Kk(f[a>>2]|0,f[r+20>>2]|0,0)|0,f[ya>>2]|0,f[Ba>>2]|0,2,r);f[ya>>2]=0;f[Ba>>2]=0;Ba=252;break}case 4:{Ba=252;break}default:{w=2;Ba=179}}while(0);do if((Ba|0)==179){s=d[c+40>>1]|0;v=f[a>>2]|0;u=f[c>>2]|0;if(s<<16>>16>-1){z=f[(f[c+4>>2]|0)+(s<<16>>16<<4)>>2]|0;f[T>>2]=u;f[T+4>>2]=z;u=1555;z=Ig(v,50225,T)|0}else{f[V>>2]=u;u=2579;z=Ig(v,56207,V)|0}s=f[Ga>>2]|0;if(!s){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;y=sl(a)|0}else y=s;if((w|0)==2){ya=f[a+116>>2]|0;b[((ya|0)==0?a:ya)+21>>0]=1}x=y+136|0;s=f[x>>2]|0;if((f[(f[y+12>>2]|0)+48>>2]|0)>(s|0)){f[x>>2]=s+1;ya=f[y+88>>2]|0;b[ya+(s*20|0)>>0]=69;d[ya+(s*20|0)+2>>1]=0;f[ya+(s*20|0)+4>>2]=u;f[ya+(s*20|0)+8>>2]=w;f[ya+(s*20|0)+12>>2]=0;f[ya+(s*20|0)+16>>2]=0;b[ya+(s*20|0)+1>>0]=0}else s=tl(y,69,u,w,0)|0;u=f[y>>2]|0;f:do if(b[u+81>>0]|0){if(z|0){do if(u|0){if(f[u+480>>2]|0){Kc(u,z);break f}s=z;if((f[u+304>>2]|0)>>>0>s>>>0)break;if((f[u+308>>2]|0)>>>0<=s>>>0)break;ya=u+300|0;f[z>>2]=f[ya>>2];f[ya>>2]=z;break f}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](z);break}else{ya=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);break}}}else{if((s|0)<0)s=(f[x>>2]|0)+-1|0;u=f[y+88>>2]|0;v=u+(s*20|0)+1|0;if(b[v>>0]|0){ul(y,u+(s*20|0)|0,z,-7);break}if(!z)break;f[u+(s*20|0)+16>>2]=z;b[v>>0]=-7}while(0);s=f[x>>2]|0;if((s|0)>0){d[(f[y+88>>2]|0)+((s+-1|0)*20|0)+2>>1]=2;w=0}else w=0}else if((Ba|0)==252){s=f[C>>2]|0;if((f[(f[E>>2]|0)+48>>2]|0)>(s|0)){f[C>>2]=s+1;w=f[Ha+88>>2]|0;b[w+(s*20|0)>>0]=11;d[w+(s*20|0)+2>>1]=0;f[w+(s*20|0)+4>>2]=0;f[w+(s*20|0)+8>>2]=o;f[w+(s*20|0)+12>>2]=0;f[w+(s*20|0)+16>>2]=0;b[w+(s*20|0)+1>>0]=0;w=0;break}else{tl(Ha,11,0,o,0)|0;w=0;break}}while(0);u=f[E>>2]|0;s=f[u+64>>2]|0;if(s|0)f[s+(F<<2)>>2]=f[C>>2];if(!D){ya=0;xa=0}else{v=f[C>>2]|0;if((f[u+48>>2]|0)>(v|0)){f[C>>2]=v+1;x=f[Ha+88>>2]|0;b[x+(v*20|0)>>0]=11;x=x+(v*20|0)+1|0;y=x+19|0;do{b[x>>0]=0;x=x+1|0}while((x|0)<(y|0))}else v=tl(Ha,11,0,0,0)|0;u=f[C>>2]|0;if(!(b[(f[Ha>>2]|0)+81>>0]|0))s=(f[Ha+88>>2]|0)+((((D|0)<1?u:D)+-1|0)*20|0)|0;else s=72144;f[s+8>>2]=u;ya=v;xa=D}}else{w=0;ya=0;xa=0}ma=c+8|0;s=f[ma>>2]|0;if(s){na=za+1|0;oa=Ha+136|0;pa=Ha+12|0;qa=(Aa|0)==0;ra=Ha+88|0;sa=k+1|0;ta=(za|0)<0;ua=c+40|0;va=~k;wa=a+56|0;ja=m<<24>>24==0;ka=n<<24>>24==11;la=r+8|0;V=W+32|0;m=c+16|0;S=a+142|0;W=(Ca|0)==1;T=c+72|0;X=a+19|0;Y=a+32|0;Z=a+28|0;_=c+68|0;$=r+28|0;aa=a+44|0;ba=Da+50|0;ca=Ca&65535;da=a+116|0;ea=r+20|0;fa=r+12|0;ga=Da+4|0;ha=Da+32|0;ia=l+1|0;R=0;v=0;u=0;while(1){H=e+(R<<2)|0;g:do if(f[H>>2]|0){Q=(Aa|0)==(s|0);if(Q){u=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(u|0)){f[oa>>2]=u+1;x=f[ra>>2]|0;b[x+(u*20|0)>>0]=11;x=x+(u*20|0)+1|0;y=x+19|0;do{b[x>>0]=0;x=x+1|0}while((x|0)<(y|0));y=u}else y=tl(Ha,11,0,0,0)|0;x=f[oa>>2]|0;if(!(b[(f[Ha>>2]|0)+81>>0]|0))u=(f[ra>>2]|0)+((ta?x+-1|0:za)*20|0)|0;else u=72144;f[u+8>>2]=x;q=na}else{x=f[pa>>2]|0;D=x+60|0;E=f[D>>2]|0;f[D>>2]=E+1;D=x+64|0;if(!(E+-1&E)){B=E<<3|4;C=f[x>>2]|0;y=f[D>>2]|0;h:do if(y){z=y;A=C+304|0;if(((f[A>>2]|0)>>>0<=z>>>0?(f[C+308>>2]|0)>>>0>z>>>0:0)?!(0<0|(0==0?(j[C+276>>1]|0)>>>0>>0:0)):0){x=y;break}x=Lc(C,y,B,0)|0;if(!x){if(f[C+480>>2]|0){Kc(C,y);x=0;break}do if((f[A>>2]|0)>>>0<=z>>>0){if((f[C+308>>2]|0)>>>0<=z>>>0)break;x=C+300|0;f[y>>2]=f[x>>2];f[x>>2]=y;x=0;break h}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](y);x=0;break}else{x=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y);x=0;break}}}else{if(f[C+272>>2]|0){if(b[C+81>>0]|0){x=0;break}}else{do if(!(0<0|(0==0?(j[C+276>>1]|0)>>>0>>0:0))){y=C+300|0;x=f[y>>2]|0;if(x|0){f[y>>2]=f[x>>2];q=C+284|0;f[q>>2]=(f[q>>2]|0)+1;break h}y=C+296|0;x=f[y>>2]|0;if(!x){x=C+292|0;break}else{f[y>>2]=f[x>>2];q=C+284|0;f[q>>2]=(f[q>>2]|0)+1;break h}}else x=C+288|0;while(0);f[x>>2]=(f[x>>2]|0)+1}x=Dc(C,B,0)|0}while(0);f[D>>2]=x}else x=f[D>>2]|0;if(x|0)f[x+(E<<2)>>2]=-1;q=~E;y=u}if((qa|Q)&v<<24>>24==0){kn(Ha,c,sa);v=1}O=R+i|0;u=s+36|0;if(f[u>>2]|0){x=f[H>>2]|0;z=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(z|0)){f[oa>>2]=z+1;P=f[ra>>2]|0;b[P+(z*20|0)>>0]=73;d[P+(z*20|0)+2>>1]=0;f[P+(z*20|0)+4>>2]=0;f[P+(z*20|0)+8>>2]=x;f[P+(z*20|0)+12>>2]=0;f[P+(z*20|0)+16>>2]=0;b[P+(z*20|0)+1>>0]=0}else tl(Ha,73,0,x,0)|0;f[wa>>2]=va;u=f[u>>2]|0;x=f[a>>2]|0;if(!u)u=0;else u=Bk(x,u,0,0)|0;if(!(b[x+81>>0]|0))zm(a,u,q,16);if(u|0)ig(x,u);f[wa>>2]=0}u=f[H>>2]|0;P=u+1|0;N=s+52|0;if(!(d[N>>1]|0))z=0;else{F=s+4|0;G=s+40|0;E=0;do{u=d[(f[F>>2]|0)+(E<<1)>>1]|0;switch(u<<16>>16){case -2:{f[wa>>2]=va;u=f[(f[G>>2]|0)+4+(E*20|0)>>2]|0;B=E+P|0;D=f[a>>2]|0;if(!u)C=0;else C=Bk(D,u,0,0)|0;i:do if(!(b[D+81>>0]|0)){do if(C){if((b[C>>0]|0)!=-92){A=xl(a,C,B)|0;break}u=f[Ga>>2]|0;x=f[C+28>>2]|0;z=u+136|0;A=f[z>>2]|0;if((f[(f[u+12>>2]|0)+48>>2]|0)>(A|0)){f[z>>2]=A+1;Ba=f[u+88>>2]|0;b[Ba+(A*20|0)>>0]=78;d[Ba+(A*20|0)+2>>1]=0;f[Ba+(A*20|0)+4>>2]=x;f[Ba+(A*20|0)+8>>2]=B;f[Ba+(A*20|0)+12>>2]=0;f[Ba+(A*20|0)+16>>2]=0;b[Ba+(A*20|0)+1>>0]=0;Ba=336;break i}else{tl(u,78,x,B,0)|0;Ba=336;break i}}else A=xl(a,0,B)|0;while(0);if((A|0)==(B|0)){Ba=335;break}u=f[Ga>>2]|0;if(!u){Ba=335;break}x=u+136|0;z=f[x>>2]|0;if((f[(f[u+12>>2]|0)+48>>2]|0)>(z|0)){f[x>>2]=z+1;Ba=f[u+88>>2]|0;b[Ba+(z*20|0)>>0]=79;d[Ba+(z*20|0)+2>>1]=0;f[Ba+(z*20|0)+4>>2]=A;f[Ba+(z*20|0)+8>>2]=B;f[Ba+(z*20|0)+12>>2]=0;f[Ba+(z*20|0)+16>>2]=0;b[Ba+(z*20|0)+1>>0]=0;Ba=335;break}else{tl(u,79,A,B,0)|0;Ba=335;break}}else Ba=335;while(0);if((Ba|0)==335?(Ba=0,C|0):0)Ba=336;if((Ba|0)==336){Ba=0;ig(D,C)}f[wa>>2]=0;break}case -1:{A=k;Ba=339;break}default:{A=u<<16>>16==(d[ua>>1]|0)?k:sa+(u<<16>>16)|0;Ba=339}}do if((Ba|0)==339){Ba=0;z=((u&65535)>>>15)+79<<16>>16;u=E+P|0;x=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(x|0)){f[oa>>2]=x+1;M=f[ra>>2]|0;b[M+(x*20|0)>>0]=z;d[M+(x*20|0)+2>>1]=0;f[M+(x*20|0)+4>>2]=A;f[M+(x*20|0)+8>>2]=u;f[M+(x*20|0)+12>>2]=0;f[M+(x*20|0)+16>>2]=0;b[M+(x*20|0)+1>>0]=0;break}else{tl(Ha,z&65535,A,u,0)|0;break}}while(0);E=E+1|0;u=d[N>>1]|0}while(E>>>0<(u&65535)>>>0);z=u&65535;u=f[H>>2]|0}x=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(x|0)){f[oa>>2]=x+1;M=f[ra>>2]|0;b[M+(x*20|0)>>0]=102;d[M+(x*20|0)+2>>1]=0;f[M+(x*20|0)+4>>2]=P;f[M+(x*20|0)+8>>2]=z;f[M+(x*20|0)+12>>2]=u;f[M+(x*20|0)+16>>2]=0;b[M+(x*20|0)+1>>0]=0}else tl(Ha,102,P,z,u)|0;G=(Da|0)==(s|0);if(ja&(Fa&G)){u=f[(f[pa>>2]|0)+64>>2]|0;if(!u){u=y;break}f[u+(~q<<2)>>2]=f[oa>>2];u=y;break}u=b[s+54>>0]|0;if(!(u<<24>>24)){u=f[(f[pa>>2]|0)+64>>2]|0;if(!u){u=y;break}f[u+(~q<<2)>>2]=f[oa>>2];u=y;break}if(Q)F=(f[la>>2]|0)==0?4:6;else F=(ka?(u<<24>>24==11?2:u):n)&255;j:do if(!R){if(!(G&(F|0)==5&(f[s+20>>2]|0)==0))break;E=f[V>>2]|0;do if(!((E&8192|0)==0&0==0)){u=f[a>>2]|0;if(0==0?(f[u+32>>2]&262144|0)==0:0)break;u=f[(f[u+16>>2]|0)+28>>2]|0;if(b[S>>0]|0)break;D=f[T>>2]|0;do if((D|0)!=(u|0)){u=f[u+48>>2]|0;if(!u){Ba=373;break}C=u;u=0;do{B=f[C+8>>2]|0;do if((f[B+24>>2]|0)==(D|0)){z=f[B+4>>2]|0;A=f[c>>2]|0;M=b[z>>0]|0;x=(h[1232+(M&255)>>0]|0)-(h[1232+(h[A>>0]|0)>>0]|0)|0;if(!(M<<24>>24==0|(x|0)!=0))do{z=z+1|0;A=A+1|0;M=b[z>>0]|0;x=(h[1232+(M&255)>>0]|0)-(h[1232+(h[A>>0]|0)>>0]|0)|0}while(!(M<<24>>24==0|(x|0)!=0));if(x|0)break;if(!u)u=f[_>>2]|0;f[B+32>>2]=u;u=B}while(0);C=f[C>>2]|0}while((C|0)!=0);if(!u)Ba=373}else Ba=373;while(0);if((Ba|0)==373){Ba=0;u=f[_>>2]|0;if(!u)break}x=0;z=u;do{if((b[z+8>>0]|0)==117)x=x|h[z+9>>0];z=f[z+32>>2]|0}while((z|0)!=0);if(!((u|0)==0|(x|0)==0))break j}while(0);if(!((E&16384|0)==0&0==0)){if(f[m>>2]|0)break;D=f[c>>2]|0;A=f[T>>2]|0;B=f[A+68>>2]|0;if(!B){x=A+60|0;u=A+64|0}else{x=b[D>>0]|0;if(!(x<<24>>24))u=0;else{u=0;z=D;do{z=z+1|0;u=U(u+(h[1232+(x&255)>>0]|0)|0,-1640531535)|0;x=b[z>>0]|0}while(x<<24>>24!=0)}u=(u>>>0)%((f[A+56>>2]|0)>>>0)|0;x=B+(u<<3)|0;u=B+(u<<3)+4|0}x=f[x>>2]|0;k:do if(!x)u=72124;else{C=h[1232+(h[D>>0]|0)>>0]|0;while(1){u=f[u>>2]|0;x=x+-1|0;A=f[u+12>>2]|0;M=b[A>>0]|0;z=(h[1232+(M&255)>>0]|0)-C|0;if(!(M<<24>>24==0|(z|0)!=0)){B=D;do{A=A+1|0;B=B+1|0;M=b[A>>0]|0;z=(h[1232+(M&255)>>0]|0)-(h[1232+(h[B>>0]|0)>>0]|0)|0}while(!(M<<24>>24==0|(z|0)!=0))}if(!z)break k;if(!x){u=72124;break}}}while(0);if(f[u+8>>2]|0)break}u=f[(f[pa>>2]|0)+64>>2]|0;if(!u){u=y;break g}f[u+(~q<<2)>>2]=f[oa>>2];u=y;break g}while(0);x=j[s+50>>1]|0;u=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(u|0)){f[oa>>2]=u+1;M=f[ra>>2]|0;b[M+(u*20|0)>>0]=27;d[M+(u*20|0)+2>>1]=0;f[M+(u*20|0)+4>>2]=O;f[M+(u*20|0)+8>>2]=q;f[M+(u*20|0)+12>>2]=P;f[M+(u*20|0)+16>>2]=0;b[M+(u*20|0)+1>>0]=0}else u=tl(Ha,27,O,q,P)|0;if(!(b[(f[Ha>>2]|0)+81>>0]|0)){M=f[ra>>2]|0;b[M+(u*20|0)+1>>0]=-3;f[M+(u*20|0)+16>>2]=x}do if(!G)if(W){u=b[X>>0]|0;if(!(u<<24>>24)){M=(f[aa>>2]|0)+1|0;f[aa>>2]=M;break}else{M=u+-1<<24>>24;b[X>>0]=M;M=f[a+144+((M&255)<<2)>>2]|0;break}}else{u=f[Y>>2]|0;x=f[Z>>2]|0;if((x|0)<(Ca|0)){M=f[aa>>2]|0;f[aa>>2]=M+Ca;M=M+1|0;break}else{f[Y>>2]=u+Ca;f[Z>>2]=x-Ca;M=u;break}}else M=P;while(0);do if(Fa|(F|0)==5){if(!(f[Ea>>2]&32)){u=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(u|0)){f[oa>>2]=u+1;L=f[ra>>2]|0;b[L+(u*20|0)>>0]=-120;d[L+(u*20|0)+2>>1]=0;f[L+(u*20|0)+4>>2]=O;f[L+(u*20|0)+8>>2]=M;f[L+(u*20|0)+12>>2]=0;f[L+(u*20|0)+16>>2]=0;b[L+(u*20|0)+1>>0]=0}else tl(Ha,136,O,M,0)|0;if(!Fa)break;u=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(u|0)){f[oa>>2]=u+1;L=f[ra>>2]|0;b[L+(u*20|0)>>0]=53;d[L+(u*20|0)+2>>1]=0;f[L+(u*20|0)+4>>2]=M;f[L+(u*20|0)+8>>2]=q;f[L+(u*20|0)+12>>2]=l;f[L+(u*20|0)+16>>2]=0;b[L+(u*20|0)+1>>0]=0}else tl(Ha,53,M,q,l)|0;u=f[oa>>2]|0;if((u|0)<=0)break;d[(f[ra>>2]|0)+((u+-1|0)*20|0)+2>>1]=144;break}do if(!G){if(!(d[ba>>1]|0))break;C=s+4|0;B=0;do{z=d[(f[ga>>2]|0)+(B<<1)>>1]|0;u=d[N>>1]|0;l:do if(!(u<<16>>16))u=-1;else{A=f[C>>2]|0;x=u&65535;u=0;while(1){if((d[A+(u<<1)>>1]|0)==z<<16>>16)break l;u=u+1|0;if(u>>>0>=x>>>0){u=-1;break}}}while(0);u=u<<16>>16;x=B+M|0;z=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(z|0)){f[oa>>2]=z+1;L=f[ra>>2]|0;b[L+(z*20|0)>>0]=90;d[L+(z*20|0)+2>>1]=0;f[L+(z*20|0)+4>>2]=O;f[L+(z*20|0)+8>>2]=u;f[L+(z*20|0)+12>>2]=x;f[L+(z*20|0)+16>>2]=0;b[L+(z*20|0)+1>>0]=0}else tl(Ha,90,O,u,x)|0;B=B+1|0}while(B>>>0<(j[ba>>1]|0)>>>0)}while(0);if(!Fa)break;E=s+55|0;E=((h[E>>0]|h[E+1>>0]<<8)&3)==2?P:M;u=d[ba>>1]|0;if(!(u<<16>>16))break;D=52;B=(f[oa>>2]|0)+(u&65535)|0;C=0;do{u=f[(f[ha>>2]|0)+(C<<2)>>2]|0;z=f[a>>2]|0;x=b[z+78>>0]|0;L=b[z+165>>0]|0;z=_k(z,x,u,L&255)|0;do if(!(L<<24>>24)){if(!z){z=$k(a,x,0,u)|0;break}if(f[z+12>>2]|0)break;z=$k(a,x,z,u)|0}while(0);x=(C|0)==((j[ba>>1]|0)+-1|0);B=x?q:B;D=x?53:D;x=ia+(d[(f[ga>>2]|0)+(C<<1)>>1]|0)|0;A=C+E|0;u=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(u|0)){f[oa>>2]=u+1;L=f[ra>>2]|0;b[L+(u*20|0)>>0]=D;d[L+(u*20|0)+2>>1]=0;f[L+(u*20|0)+4>>2]=x;f[L+(u*20|0)+8>>2]=B;f[L+(u*20|0)+12>>2]=A;f[L+(u*20|0)+16>>2]=0;b[L+(u*20|0)+1>>0]=0}else u=tl(Ha,D,x,B,A)|0;do if(!(b[(f[Ha>>2]|0)+81>>0]|0)){if((u|0)<0)u=(f[oa>>2]|0)+-1|0;x=f[ra>>2]|0;A=x+(u*20|0)+1|0;if(b[A>>0]|0){ul(Ha,x+(u*20|0)|0,z,-2);break}if(!z)break;f[x+(u*20|0)+16>>2]=z;b[A>>0]=-2}while(0);u=f[oa>>2]|0;if((u|0)>0)d[(f[ra>>2]|0)+((u+-1|0)*20|0)+2>>1]=144;C=C+1|0}while(C>>>0<(j[ba>>1]|0)>>>0)}while(0);switch((F&255)<<24>>24){case 3:case 2:case 1:{ym(a,F,s);break}case 6:{K=f[Ga>>2]|0;L=f[a>>2]|0;J=f[$>>2]|0;do if((J|0)!=(O|0)){if(!(f[Ea>>2]&32)){u=b[X>>0]|0;if(!(u<<24>>24)){A=(f[aa>>2]|0)+1|0;f[aa>>2]=A}else{A=u+-1<<24>>24;b[X>>0]=A;A=f[a+144+((A&255)<<2)>>2]|0}x=K+136|0;u=f[x>>2]|0;z=K+12|0;if((f[(f[z>>2]|0)+48>>2]|0)>(u|0)){f[x>>2]=u+1;Ba=f[K+88>>2]|0;b[Ba+(u*20|0)>>0]=-120;d[Ba+(u*20|0)+2>>1]=0;f[Ba+(u*20|0)+4>>2]=O;f[Ba+(u*20|0)+8>>2]=A;f[Ba+(u*20|0)+12>>2]=0;f[Ba+(u*20|0)+16>>2]=0;b[Ba+(u*20|0)+1>>0]=0}else tl(K,136,O,A,0)|0;u=f[x>>2]|0;if((f[(f[z>>2]|0)+48>>2]|0)>(u|0)){f[x>>2]=u+1;Ba=f[K+88>>2]|0;b[Ba+(u*20|0)>>0]=30;d[Ba+(u*20|0)+2>>1]=0;f[Ba+(u*20|0)+4>>2]=J;f[Ba+(u*20|0)+8>>2]=0;f[Ba+(u*20|0)+12>>2]=A;f[Ba+(u*20|0)+16>>2]=0;b[Ba+(u*20|0)+1>>0]=0}else tl(K,30,J,0,A)|0;if(!A)break;u=b[X>>0]|0;if((u&255)>=8)break;b[X>>0]=u+1<<24>>24;f[a+144+((u&255)<<2)>>2]=A;break}u=f[ma>>2]|0;m:do if(!u)u=0;else while(1){Ba=u+55|0;if(((h[Ba>>0]|h[Ba+1>>0]<<8)&3)==2)break m;u=f[u+20>>2]|0;if(!u){u=0;break}}while(0);Ba=d[u+50>>1]|0;I=Ba&65535;G=f[aa>>2]|0;H=G+1|0;f[aa>>2]=G+I;if(!(Ba<<16>>16)){B=K+136|0;x=K+12|0}else{E=u+4|0;B=K+136|0;x=K+12|0;F=s+4|0;G=K+88|0;D=0;do{A=d[(f[E>>2]|0)+(D<<1)>>1]|0;u=d[N>>1]|0;n:do if(!(u<<16>>16))u=-1;else{C=f[F>>2]|0;z=u&65535;u=0;while(1){if((d[C+(u<<1)>>1]|0)==A<<16>>16)break n;u=u+1|0;if(u>>>0>=z>>>0){u=-1;break}}}while(0);u=u<<16>>16;z=D+H|0;A=f[B>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(A|0)){f[B>>2]=A+1;Ba=f[G>>2]|0;b[Ba+(A*20|0)>>0]=90;d[Ba+(A*20|0)+2>>1]=0;f[Ba+(A*20|0)+4>>2]=O;f[Ba+(A*20|0)+8>>2]=u;f[Ba+(A*20|0)+12>>2]=z;f[Ba+(A*20|0)+16>>2]=0;b[Ba+(A*20|0)+1>>0]=0}else tl(K,90,O,u,z)|0;D=D+1|0}while((D|0)!=(I|0))}u=f[B>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(u|0)){f[B>>2]=u+1;A=f[K+88>>2]|0;b[A+(u*20|0)>>0]=29;d[A+(u*20|0)+2>>1]=0;f[A+(u*20|0)+4>>2]=J;f[A+(u*20|0)+8>>2]=0;f[A+(u*20|0)+12>>2]=H;f[A+(u*20|0)+16>>2]=0;b[A+(u*20|0)+1>>0]=0;A=u}else A=tl(K,29,J,0,H)|0;if(!(b[(f[K>>2]|0)+81>>0]|0)){Ba=f[K+88>>2]|0;b[Ba+(A*20|0)+1>>0]=-3;f[Ba+(A*20|0)+16>>2]=I}u=f[B>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(u|0)){f[B>>2]=u+1;Ba=f[K+88>>2]|0;b[Ba+(u*20|0)>>0]=69;d[Ba+(u*20|0)+2>>1]=0;f[Ba+(u*20|0)+4>>2]=11;f[Ba+(u*20|0)+8>>2]=2;f[Ba+(u*20|0)+12>>2]=0;f[Ba+(u*20|0)+16>>2]=0;b[Ba+(u*20|0)+1>>0]=0}else u=tl(K,69,11,2,0)|0;do if(!(b[(f[K>>2]|0)+81>>0]|0)){if((u|0)<0)u=(f[B>>2]|0)+-1|0;x=f[K+88>>2]|0;z=x+(u*20|0)+1|0;if(!(b[z>>0]|0)){f[x+(u*20|0)+16>>2]=51151;b[z>>0]=-1;break}else{ul(K,x+(u*20|0)|0,51151,-1);break}}while(0);x=f[B>>2]|0;if(!(b[(f[K>>2]|0)+81>>0]|0))u=(f[K+88>>2]|0)+(((A|0)<0?x+-1|0:A)*20|0)|0;else u=72144;f[u+8>>2]=x}while(0);Ol(a,Kk(L,f[ea>>2]|0,0)|0,f[la>>2]|0,f[fa>>2]|0,2,r);f[la>>2]=0;f[fa>>2]=0;Ba=502;break}case 4:{Ba=502;break}default:{u=f[a>>2]|0;D=f[u+32>>2]|0;do if(!((f[V>>2]&8192|0)==0&0==0|(D&262144|0)==0&0==0)){u=f[(f[u+16>>2]|0)+28>>2]|0;if(b[S>>0]|0){Ba=526;break}C=f[T>>2]|0;do if((C|0)!=(u|0)){u=f[u+48>>2]|0;if(!u){Ba=520;break}B=u;u=0;do{A=f[B+8>>2]|0;do if((f[A+24>>2]|0)==(C|0)){x=f[A+4>>2]|0;z=f[c>>2]|0;N=b[x>>0]|0;w=(h[1232+(N&255)>>0]|0)-(h[1232+(h[z>>0]|0)>>0]|0)|0;if(!(N<<24>>24==0|(w|0)!=0))do{x=x+1|0;z=z+1|0;N=b[x>>0]|0;w=(h[1232+(N&255)>>0]|0)-(h[1232+(h[z>>0]|0)>>0]|0)|0}while(!(N<<24>>24==0|(w|0)!=0));if(w|0)break;if(!u)u=f[_>>2]|0;f[A+32>>2]=u;u=A}while(0);B=f[B>>2]|0}while((B|0)!=0);if(!u)Ba=520}else Ba=520;while(0);if((Ba|0)==520){u=f[_>>2]|0;if(!u){Ba=526;break}}w=0;x=u;do{if((b[x+8>>0]|0)==117)w=w|h[x+9>>0];x=f[x+32>>2]|0}while((x|0)!=0);if(!((u|0)==0|(w|0)==0))Ba=542;else Ba=526}else Ba=526;while(0);do if((Ba|0)==526){Ba=0;if((D&16384|0)==0&0==0){u=0;break}C=f[c>>2]|0;z=f[T>>2]|0;A=f[z+68>>2]|0;if(!A){w=z+60|0;u=z+64|0}else{w=b[C>>0]|0;if(!(w<<24>>24))u=0;else{u=0;x=C;do{x=x+1|0;u=U(u+(h[1232+(w&255)>>0]|0)|0,-1640531535)|0;w=b[x>>0]|0}while(w<<24>>24!=0)}u=(u>>>0)%((f[z+56>>2]|0)>>>0)|0;w=A+(u<<3)|0;u=A+(u<<3)+4|0}w=f[w>>2]|0;o:do if(!w)u=72124;else{B=h[1232+(h[C>>0]|0)>>0]|0;while(1){u=f[u>>2]|0;w=w+-1|0;z=f[u+12>>2]|0;N=b[z>>0]|0;x=(h[1232+(N&255)>>0]|0)-B|0;if(!(N<<24>>24==0|(x|0)!=0)){A=C;do{z=z+1|0;A=A+1|0;N=b[z>>0]|0;x=(h[1232+(N&255)>>0]|0)-(h[1232+(h[A>>0]|0)>>0]|0)|0}while(!(N<<24>>24==0|(x|0)!=0))}if(!x)break o;if(!w){u=72124;break}}}while(0);if(f[u+8>>2]|0){u=0;Ba=542;break}if(!(f[m>>2]|0))u=0;else{u=0;Ba=542}}while(0);if((Ba|0)==542){Ba=0;N=f[da>>2]|0;b[((N|0)==0?a:N)+20>>0]=1}bo(a,c,u,g,i,M,ca,0,5,G&1,O);w=1}}do if((Ba|0)==502){Ba=0;u=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(u|0)){f[oa>>2]=u+1;O=f[ra>>2]|0;b[O+(u*20|0)>>0]=11;d[O+(u*20|0)+2>>1]=0;f[O+(u*20|0)+4>>2]=0;f[O+(u*20|0)+8>>2]=o;f[O+(u*20|0)+12>>2]=0;f[O+(u*20|0)+16>>2]=0;b[O+(u*20|0)+1>>0]=0;break}else{tl(Ha,11,0,o,0)|0;break}}while(0);do if(Q){u=f[oa>>2]|0;if((f[(f[pa>>2]|0)+48>>2]|0)>(u|0)){f[oa>>2]=u+1;Q=f[ra>>2]|0;b[Q+(u*20|0)>>0]=11;d[Q+(u*20|0)+2>>1]=0;f[Q+(u*20|0)+4>>2]=0;f[Q+(u*20|0)+8>>2]=na;f[Q+(u*20|0)+12>>2]=0;f[Q+(u*20|0)+16>>2]=0;b[Q+(u*20|0)+1>>0]=0}else tl(Ha,11,0,na,0)|0;x=f[oa>>2]|0;if(!(b[(f[Ha>>2]|0)+81>>0]|0))u=(f[ra>>2]|0)+(((y|0)<0?x+-1|0:y)*20|0)|0;else u=72144;f[u+8>>2]=x}else{u=f[(f[pa>>2]|0)+64>>2]|0;if(!u)break;f[u+(~q<<2)>>2]=f[oa>>2]}while(0);if((M|0)==(P|0)){u=y;break}if(!W){if((f[Z>>2]|0)>=(Ca|0)){u=y;break}f[Z>>2]=Ca;f[Y>>2]=M;u=y;break}if(!M){u=y;break}u=b[X>>0]|0;if((u&255)>=8){u=y;break}b[X>>0]=u+1<<24>>24;f[a+144+((u&255)<<2)>>2]=M;u=y}while(0);s=f[s+20>>2]|0;if(!s)break;else R=R+1|0}}if(!xa){f[p>>2]=w;t=Ia;return}s=xa+1|0;u=Ha+136|0;v=f[u>>2]|0;if((f[(f[Ha+12>>2]|0)+48>>2]|0)>(v|0)){f[u>>2]=v+1;o=f[Ha+88>>2]|0;b[o+(v*20|0)>>0]=11;d[o+(v*20|0)+2>>1]=0;f[o+(v*20|0)+4>>2]=0;f[o+(v*20|0)+8>>2]=s;f[o+(v*20|0)+12>>2]=0;f[o+(v*20|0)+16>>2]=0;b[o+(v*20|0)+1>>0]=0}else tl(Ha,11,0,s,0)|0;u=f[u>>2]|0;if(!(b[(f[Ha>>2]|0)+81>>0]|0))s=(f[Ha+88>>2]|0)+(((ya|0)<0?u+-1|0:ya)*20|0)|0;else s=72144;f[s+8>>2]=u;f[p>>2]=w;t=Ia;return}function nn(a,c,e,g,i,j){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;_=t;t=t+16|0;X=_+8|0;Y=_+4|0;R=_;Z=f[a>>2]|0;Q=a+142|0;V=b[Q>>0]|0;W=Z+32|0;if((f[W>>2]&16384|0)==0&0==0){t=_;return}S=c+72|0;o=f[S>>2]|0;l=f[Z+16>>2]|0;if(!o)k=-1e6;else{k=0;while(1)if((f[l+(k<<4)+12>>2]|0)==(o|0))break;else k=k+1|0}P=f[l+(k<<4)>>2]|0;l=f[c+16>>2]|0;do if(!l)k=c;else{x=(i|0)==0;y=V<<24>>24==0;z=c+40|0;A=(j|0)==0;B=Z+81|0;C=a+8|0;D=a+40|0;E=(e|0)==0;F=Z+312|0;G=a+116|0;H=(g|0)==0;I=e+1|0;J=a+23|0;K=(Z|0)==0;L=Z+480|0;M=Z+304|0;N=Z+308|0;O=Z+300|0;a:while(1){f[X>>2]=0;f[Y>>2]=0;b:do if(!x){o=f[c>>2]|0;m=f[l+8>>2]|0;if(o){if(m|0){T=b[o>>0]|0;n=(h[1232+(T&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0;if(T<<24>>24==0|(n|0)!=0)T=16;else{p=m;do{o=o+1|0;p=p+1|0;T=b[o>>0]|0;n=(h[1232+(T&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0}while(!(T<<24>>24==0|(n|0)!=0));T=16}}}else{n=((m|0)!=0)<<31>>31;T=16}if((T|0)==16?(T=0,(n|0)==0):0){T=26;break}q=f[l+20>>2]|0;if((q|0)>0){if(A){o=0;while(1){if((f[i+(f[l+36+(o<<3)>>2]<<2)>>2]|0)>-1){T=26;break b}o=o+1|0;if((o|0)>=(q|0))break b}}o=0;do{p=f[l+36+(o<<3)>>2]|0;if((f[i+(p<<2)>>2]|0)>-1){T=26;break b}o=o+1|0;if((p|0)==(d[z>>1]|0)){T=26;break b}}while((o|0)<(q|0))}}else{m=f[l+8>>2]|0;T=26}while(0);c:do if((T|0)==26){T=0;if(!(b[Q>>0]|0))w=pi(a,0,m,P)|0;else w=ji(Z,m,P)|0;m=(w|0)==0;if(!m?(Ym(a,w,l,X,Y)|0)==0:0){m=f[Y>>2]|0;if(!m){f[R>>2]=f[l+36>>2];m=R}u=l+20|0;if((f[u>>2]|0)>0){v=w+4|0;q=f[X>>2]|0;r=w+40|0;s=q+4|0;if(!q){p=0;q=0;do{o=m+(q<<2)|0;if((f[o>>2]|0)==(d[z>>1]|0))f[o>>2]=-1;if(f[F>>2]|0)p=(Qk(a,f[w>>2]|0,f[(f[v>>2]|0)+(d[r>>1]<<4)>>2]|0,k)|0)==2&1;q=q+1|0}while((q|0)<(f[u>>2]|0));o=w}else{p=0;q=0;do{o=m+(q<<2)|0;if((f[o>>2]|0)==(d[z>>1]|0))f[o>>2]=-1;if(f[F>>2]|0)p=(Qk(a,f[w>>2]|0,f[(f[v>>2]|0)+(d[(f[s>>2]|0)+(q<<1)>>1]<<4)>>2]|0,k)|0)==2&1;q=q+1|0}while((q|0)<(f[u>>2]|0));o=w}}else{p=0;o=w}nm(a,k,f[w+28>>2]|0,0,f[o>>2]|0);f[D>>2]=(f[D>>2]|0)+1;if(!E)pn(a,k,w,f[X>>2]|0,l,m,e,-1,p);do if(!H){o=f[G>>2]|0;o=f[((o|0)==0?a:o)+256>>2]|0;if(o|0){o=f[o>>2]|0;if((o|0)==(f[l+28>>2]|0)?(b[l+25>>0]|0)==8:0)break;if((o|0)==(f[l+32>>2]|0)?(b[l+26>>0]|0)==8:0)break}pn(a,k,w,f[X>>2]|0,l,m,g,1,p)}while(0);m=f[Y>>2]|0;if(!m)break;do if(!K){if(f[L>>2]|0){Kc(Z,m);break c}o=m;if((f[M>>2]|0)>>>0<=o>>>0){if((f[N>>2]|0)>>>0<=o>>>0)break;f[m>>2]=f[O>>2];f[O>>2]=m;break c}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{w=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}if(y)break a;if(b[B>>0]|0)break a;if(m){m=f[C>>2]|0;if(!m){if((f[G>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[J>>0]=1;m=sl(a)|0}v=m+136|0;p=f[v>>2]|0;r=l+20|0;u=f[r>>2]|0;s=p+1+u|0;w=m+12|0;if((u|0)>0){u=m+88|0;q=0;do{o=I+(f[l+36+(q<<3)>>2]|0)|0;if((f[(f[w>>2]|0)+48>>2]|0)>(p|0)){f[v>>2]=p+1;$=f[u>>2]|0;b[$+(p*20|0)>>0]=50;d[$+(p*20|0)+2>>1]=0;f[$+(p*20|0)+4>>2]=o;f[$+(p*20|0)+8>>2]=s;f[$+(p*20|0)+12>>2]=0;f[$+(p*20|0)+16>>2]=0;b[$+(p*20|0)+1>>0]=0}else tl(m,50,o,s,0)|0;q=q+1|0;p=f[v>>2]|0}while((q|0)<(f[r>>2]|0))}o=h[l+24>>0]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(p|0)){f[v>>2]=p+1;$=f[m+88>>2]|0;b[$+(p*20|0)>>0]=-105;d[$+(p*20|0)+2>>1]=0;f[$+(p*20|0)+4>>2]=o;f[$+(p*20|0)+8>>2]=-1;f[$+(p*20|0)+12>>2]=0;f[$+(p*20|0)+16>>2]=0;b[$+(p*20|0)+1>>0]=0;break}else{tl(m,151,o,-1,0)|0;break}}}while(0);l=f[l+4>>2]|0;if(!l){T=86;break}}if((T|0)==86){k=c;o=f[S>>2]|0;break}t=_;return}while(0);q=f[k>>2]|0;n=f[o+68>>2]|0;if(!n){l=o+60|0;k=o+64|0}else{l=b[q>>0]|0;if(!(l<<24>>24))k=0;else{k=0;m=q;do{m=m+1|0;k=U(k+(h[1232+(l&255)>>0]|0)|0,-1640531535)|0;l=b[m>>0]|0}while(l<<24>>24!=0)}k=(k>>>0)%((f[o+56>>2]|0)>>>0)|0;l=n+(k<<3)|0;k=n+(k<<3)+4|0}l=f[l>>2]|0;d:do if(!l)k=72124;else{p=h[1232+(h[q>>0]|0)>>0]|0;while(1){k=f[k>>2]|0;l=l+-1|0;n=f[k+12>>2]|0;$=b[n>>0]|0;m=(h[1232+($&255)>>0]|0)-p|0;if(!($<<24>>24==0|(m|0)!=0)){o=q;do{n=n+1|0;o=o+1|0;$=b[n>>0]|0;m=(h[1232+($&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!($<<24>>24==0|(m|0)!=0))}if(!m)break d;if(!l){k=72124;break}}}while(0);k=f[k+8>>2]|0;if(!k){t=_;return}B=(i|0)!=0;C=a+116|0;o=V<<24>>24==0;p=a+20|0;q=a+40|0;r=(g|0)==0;s=Z+81|0;u=(Z|0)==0;v=(e|0)==0;w=Z+480|0;x=B&1;y=Z+304|0;z=Z+308|0;A=Z+300|0;e:while(1){f[X>>2]=0;f[Y>>2]=0;if(B?(qn(c,k,i,j)|0)==0:0)T=128;else T=104;do if((T|0)==104){T=0;n=k+24|0;if((((b[n>>0]|0)==0?(f[W>>2]&524288|0)==0&0==0:0)?(f[C>>2]|0)==0:0)?(b[p>>0]|0)==0:0){T=128;break}if(Ym(a,c,k,X,Y)|0){if(o){T=110;break e}if(!(b[s>>0]|0))break;else{T=131;break e}}l=ol(Z,0,0,0)|0;if(l|0){$=f[k>>2]|0;f[l+24>>2]=$;m=l+16|0;f[m>>2]=f[$>>2];$=$+32|0;f[$>>2]=(f[$>>2]|0)+1;$=f[q>>2]|0;f[q>>2]=$+1;f[l+48>>2]=$;if(!r)rn(a,l,c,f[X>>2]|0,k,f[Y>>2]|0,g,-1);if(!v?($=b[k+25+x>>0]|0,rn(a,l,c,f[X>>2]|0,k,f[Y>>2]|0,e,1),($|2)<<24>>24!=10&(b[n>>0]|0)==0):0){$=f[C>>2]|0;b[(($|0)==0?a:$)+21>>0]=1}f[m>>2]=0;ng(Z,l)}l=f[Y>>2]|0;if(l){if(!u){if(f[w>>2]|0){Kc(Z,l);T=128;break}$=l;if((f[y>>2]|0)>>>0<=$>>>0?(f[z>>2]|0)>>>0>$>>>0:0){f[l>>2]=f[A>>2];f[A>>2]=l;T=128;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);T=128;break}else{T=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);T=128;break}}else T=128}while(0);k=f[k+12>>2]|0;if(!k){T=131;break}}if((T|0)==110){t=_;return}else if((T|0)==131){t=_;return}}function on(a,c,e,g,i,k,l,m,n){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;o=f[a+8>>2]|0;if(!o){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;C=sl(a)|0}else C=o;p=f[c+8>>2]|0;if(!p){u=0;o=c+36|0}else{y=(n|0)==0?0:16;x=C+136|0;z=C+12|0;o=c+36|0;A=C+88|0;B=(l&2|(y|1)&255)&255;w=0;u=0;while(1){t=k+(w<<2)|0;s=f[t>>2]|0;if(s){do if(f[p+36>>2]|0){q=f[x>>2]|0;r=q+2|0;if((f[(f[z>>2]|0)+48>>2]|0)>(q|0)){f[x>>2]=q+1;v=f[A>>2]|0;b[v+(q*20|0)>>0]=50;d[v+(q*20|0)+2>>1]=0;f[v+(q*20|0)+4>>2]=s;f[v+(q*20|0)+8>>2]=r;f[v+(q*20|0)+12>>2]=0;f[v+(q*20|0)+16>>2]=0;b[v+(q*20|0)+1>>0]=0;break}else{tl(C,50,s,r,0)|0;break}}while(0);q=p+55|0;q=h[q>>0]|h[q+1>>0]<<8;if((q&3)==2)v=(f[o>>2]&32|0)==0?y:B;else v=y;u=w+g|0;r=f[t>>2]|0;s=r+1|0;t=j[((q&8)==0?p+52|0:p+50|0)>>1]|0;q=f[x>>2]|0;if((f[(f[z>>2]|0)+48>>2]|0)>(q|0)){f[x>>2]=q+1;D=f[A>>2]|0;b[D+(q*20|0)>>0]=-123;d[D+(q*20|0)+2>>1]=0;f[D+(q*20|0)+4>>2]=u;f[D+(q*20|0)+8>>2]=r;f[D+(q*20|0)+12>>2]=s;f[D+(q*20|0)+16>>2]=0;b[D+(q*20|0)+1>>0]=0}else q=tl(C,133,u,r,s)|0;if(!(b[(f[C>>2]|0)+81>>0]|0)){D=f[A>>2]|0;b[D+(q*20|0)+1>>0]=-3;f[D+(q*20|0)+16>>2]=t}q=f[x>>2]|0;if((q|0)>0){d[(f[A>>2]|0)+((q+-1|0)*20|0)+2>>1]=v&255;u=1}else u=1}p=f[p+20>>2]|0;if(!p)break;else w=w+1|0}}if(f[o>>2]&32|0)return;q=i+1|0;o=a+19|0;p=b[o>>0]|0;if(!(p<<24>>24)){D=a+44|0;r=(f[D>>2]|0)+1|0;f[D>>2]=r}else{r=p+-1<<24>>24;b[o>>0]=r;r=f[a+144+((r&255)<<2)>>2]|0}o=d[c+42>>1]|0;s=C+136|0;p=f[s>>2]|0;t=C+12|0;if((f[(f[t>>2]|0)+48>>2]|0)>(p|0)){f[s>>2]=p+1;D=f[C+88>>2]|0;b[D+(p*20|0)>>0]=102;d[D+(p*20|0)+2>>1]=0;f[D+(p*20|0)+4>>2]=q;f[D+(p*20|0)+8>>2]=o;f[D+(p*20|0)+12>>2]=r;f[D+(p*20|0)+16>>2]=0;b[D+(p*20|0)+1>>0]=0}else tl(C,102,q,o,r)|0;if(!(u<<24>>24))kn(C,c,0);q=a+18|0;p=(b[q>>0]|0)==0?((l|0)==0?33:(l|1)&255):0;p=(m|0)==0?p:p|8;p=(n|0)==0?p:p|16;o=f[s>>2]|0;if((f[(f[t>>2]|0)+48>>2]|0)>(o|0)){f[s>>2]=o+1;D=f[C+88>>2]|0;b[D+(o*20|0)>>0]=122;d[D+(o*20|0)+2>>1]=0;f[D+(o*20|0)+4>>2]=e;f[D+(o*20|0)+8>>2]=r;f[D+(o*20|0)+12>>2]=i;f[D+(o*20|0)+16>>2]=0;b[D+(o*20|0)+1>>0]=0}else tl(C,122,e,r,i)|0;if((b[q>>0]|0)==0?(b[(f[C>>2]|0)+81>>0]|0)==0:0){i=f[C+88>>2]|0;D=(f[s>>2]|0)+-1|0;b[i+(D*20|0)+1>>0]=-6;f[i+(D*20|0)+16>>2]=c}o=f[s>>2]|0;if((o|0)<=0)return;d[(f[C+88>>2]|0)+((o+-1|0)*20|0)+2>>1]=p&255;return}function pn(a,c,e,g,i,k,l,m,n){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;C=a+8|0;o=f[C>>2]|0;if(!o){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;H=sl(a)|0}else H=o;I=(f[a+40>>2]|0)+-1|0;F=H+12|0;o=f[F>>2]|0;u=o+60|0;G=f[u>>2]|0;f[u>>2]=G+1;u=o+64|0;if(!(G+-1&G)){s=G<<3|4;t=f[o>>2]|0;o=f[u>>2]|0;a:do if(o){q=o;r=t+304|0;if(((f[r>>2]|0)>>>0<=q>>>0?(f[t+308>>2]|0)>>>0>q>>>0:0)?!(0<0|(0==0?(j[t+276>>1]|0)>>>0>>0:0)):0)break;p=Lc(t,o,s,0)|0;if(!p){if(f[t+480>>2]|0){Kc(t,o);o=0;break}if((f[r>>2]|0)>>>0<=q>>>0?(f[t+308>>2]|0)>>>0>q>>>0:0){B=t+300|0;f[o>>2]=f[B>>2];f[B>>2]=o;o=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](o);o=0;break}else{B=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);o=0;break}}else o=p}else{if(f[t+272>>2]|0){if(b[t+81>>0]|0){o=0;break}}else{do if(!(0<0|(0==0?(j[t+276>>1]|0)>>>0>>0:0))){p=t+300|0;o=f[p>>2]|0;if(o|0){f[p>>2]=f[o>>2];B=t+284|0;f[B>>2]=(f[B>>2]|0)+1;break a}p=t+296|0;o=f[p>>2]|0;if(!o){o=t+292|0;break}else{f[p>>2]=f[o>>2];B=t+284|0;f[B>>2]=(f[B>>2]|0)+1;break a}}else o=t+288|0;while(0);f[o>>2]=(f[o>>2]|0)+1}o=Dc(t,s,0)|0}while(0);f[u>>2]=o}else o=f[u>>2]|0;if(o|0)f[o+(G<<2)>>2]=-1;B=~G;do if((m|0)<0){o=h[i+24>>0]|0;p=H+136|0;q=f[p>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(q|0)){f[p>>2]=q+1;A=f[H+88>>2]|0;b[A+(q*20|0)>>0]=46;d[A+(q*20|0)+2>>1]=0;f[A+(q*20|0)+4>>2]=o;f[A+(q*20|0)+8>>2]=B;f[A+(q*20|0)+12>>2]=0;f[A+(q*20|0)+16>>2]=0;b[A+(q*20|0)+1>>0]=0;break}else{tl(H,46,o,B,0)|0;break}}while(0);u=i+20|0;o=f[u>>2]|0;if((o|0)>0){r=l+1|0;s=H+136|0;t=H+88|0;q=0;do{o=r+(f[k+(q<<2)>>2]|0)|0;p=f[s>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(p|0)){f[s>>2]=p+1;A=f[t>>2]|0;b[A+(p*20|0)>>0]=50;d[A+(p*20|0)+2>>1]=0;f[A+(p*20|0)+4>>2]=o;f[A+(p*20|0)+8>>2]=B;f[A+(p*20|0)+12>>2]=0;f[A+(p*20|0)+16>>2]=0;b[A+(p*20|0)+1>>0]=0}else tl(H,50,o,B,0)|0;q=q+1|0;o=f[u>>2]|0}while((q|0)<(o|0));A=o}else A=o;do if(!n){if(!g){t=a+19|0;o=b[t>>0]|0;if(!(o<<24>>24)){g=a+44|0;s=(f[g>>2]|0)+1|0;f[g>>2]=s}else{s=o+-1<<24>>24;b[t>>0]=s;s=f[a+144+((s&255)<<2)>>2]|0}o=l+1+(f[k>>2]|0)|0;r=H+136|0;p=f[r>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(p|0)){f[r>>2]=p+1;k=f[H+88>>2]|0;b[k+(p*20|0)>>0]=79;d[k+(p*20|0)+2>>1]=0;f[k+(p*20|0)+4>>2]=o;f[k+(p*20|0)+8>>2]=s;f[k+(p*20|0)+12>>2]=0;f[k+(p*20|0)+16>>2]=0;b[k+(p*20|0)+1>>0]=0}else tl(H,79,o,s,0)|0;o=f[r>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(o|0)){f[r>>2]=o+1;q=f[H+88>>2]|0;b[q+(o*20|0)>>0]=15;d[q+(o*20|0)+2>>1]=0;f[q+(o*20|0)+4>>2]=s;f[q+(o*20|0)+8>>2]=0;f[q+(o*20|0)+12>>2]=0;f[q+(o*20|0)+16>>2]=0;b[q+(o*20|0)+1>>0]=0;q=o}else q=tl(H,15,s,0,0)|0;if((m|0)==1?(f[i>>2]|0)==(e|0):0){o=f[r>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(o|0)){f[r>>2]=o+1;k=f[H+88>>2]|0;b[k+(o*20|0)>>0]=53;d[k+(o*20|0)+2>>1]=0;f[k+(o*20|0)+4>>2]=l;f[k+(o*20|0)+8>>2]=B;f[k+(o*20|0)+12>>2]=s;f[k+(o*20|0)+16>>2]=0;b[k+(o*20|0)+1>>0]=0}else tl(H,53,l,B,s)|0;o=f[r>>2]|0;if((o|0)>0)d[(f[H+88>>2]|0)+((o+-1|0)*20|0)+2>>1]=144}vl(a,I,c,e,109);o=f[r>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(o|0)){f[r>>2]=o+1;l=f[H+88>>2]|0;b[l+(o*20|0)>>0]=31;d[l+(o*20|0)+2>>1]=0;f[l+(o*20|0)+4>>2]=I;f[l+(o*20|0)+8>>2]=0;f[l+(o*20|0)+12>>2]=s;f[l+(o*20|0)+16>>2]=0;b[l+(o*20|0)+1>>0]=0}else tl(H,31,I,0,s)|0;o=f[r>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(o|0)){f[r>>2]=o+1;l=f[H+88>>2]|0;b[l+(o*20|0)>>0]=11;d[l+(o*20|0)+2>>1]=0;f[l+(o*20|0)+4>>2]=0;f[l+(o*20|0)+8>>2]=B;f[l+(o*20|0)+12>>2]=0;f[l+(o*20|0)+16>>2]=0;b[l+(o*20|0)+1>>0]=0}else tl(H,11,0,B,0)|0;p=f[r>>2]|0;if(!(b[(f[H>>2]|0)+81>>0]|0)){o=f[H+88>>2]|0;f[o+((((p|0)<2?-1:-2)+p|0)*20|0)+8>>2]=p;o=o+(((q|0)<0?p+-1|0:q)*20|0)|0}else{f[18038]=p;o=72144}f[o+8>>2]=p;if(!s)break;o=b[t>>0]|0;if((o&255)>=8)break;b[t>>0]=o+1<<24>>24;f[a+144+((o&255)<<2)>>2]=s;break}z=(A|0)==1;do if(z){o=a+19|0;p=b[o>>0]|0;if(!(p<<24>>24)){x=a+44|0;y=(f[x>>2]|0)+1|0;f[x>>2]=y;break}else{y=p+-1<<24>>24;b[o>>0]=y;y=f[a+144+((y&255)<<2)>>2]|0;break}}else{o=a+32|0;p=f[o>>2]|0;q=a+28|0;r=f[q>>2]|0;if((r|0)<(A|0)){x=a+44|0;y=f[x>>2]|0;f[x>>2]=y+A;y=y+1|0;break}else{f[o>>2]=p+A;f[q>>2]=r-A;y=p;break}}while(0);x=a+19|0;o=b[x>>0]|0;if(!(o<<24>>24)){v=a+44|0;w=(f[v>>2]|0)+1|0;f[v>>2]=w}else{w=o+-1<<24>>24;b[x>>0]=w;w=f[a+144+((w&255)<<2)>>2]|0}o=f[g+44>>2]|0;v=H+136|0;p=f[v>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(p|0)){f[v>>2]=p+1;n=f[H+88>>2]|0;b[n+(p*20|0)>>0]=109;d[n+(p*20|0)+2>>1]=0;f[n+(p*20|0)+4>>2]=I;f[n+(p*20|0)+8>>2]=o;f[n+(p*20|0)+12>>2]=c;f[n+(p*20|0)+16>>2]=0;b[n+(p*20|0)+1>>0]=0}else tl(H,109,I,o,c)|0;o=f[C>>2]|0;q=om(a,g)|0;b:do if(q|0){p=f[o>>2]|0;if(!(b[p+81>>0]|0)){n=f[o+88>>2]|0;c=(f[o+136>>2]|0)+-1|0;b[n+(c*20|0)+1>>0]=-9;f[n+(c*20|0)+16>>2]=q;break}if((f[p+480>>2]|0)==0?(c=(f[q>>2]|0)+-1|0,f[q>>2]=c,(c|0)==0):0){o=f[q+12>>2]|0;do if(o|0){if(f[o+480>>2]|0){Kc(o,q);break b}p=q;if((f[o+304>>2]|0)>>>0<=p>>>0){if((f[o+308>>2]|0)>>>0<=p>>>0)break;c=o+300|0;f[q>>2]=f[c>>2];f[c>>2]=q;break b}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{c=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}}while(0);u=(A|0)>0;if(u){p=l+1|0;q=H+88|0;o=0;do{r=p+(f[k+(o<<2)>>2]|0)|0;s=o+y|0;t=f[v>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(t|0)){f[v>>2]=t+1;c=f[q>>2]|0;b[c+(t*20|0)>>0]=78;d[c+(t*20|0)+2>>1]=0;f[c+(t*20|0)+4>>2]=r;f[c+(t*20|0)+8>>2]=s;f[c+(t*20|0)+12>>2]=0;f[c+(t*20|0)+16>>2]=0;b[c+(t*20|0)+1>>0]=0}else tl(H,78,r,s,0)|0;o=o+1|0}while((o|0)!=(A|0))}do if((m|0)==1?(f[i>>2]|0)==(e|0):0){o=f[v>>2]|0;c=A+1+o|0;if(u){u=l+1|0;n=g+4|0;s=e+40|0;t=H+88|0;r=0;do{p=u+(f[k+(r<<2)>>2]|0)|0;q=d[(f[n>>2]|0)+(r<<1)>>1]|0;q=(q<<16>>16==(d[s>>1]|0)?0:(q<<16>>16)+1|0)+l|0;if((f[(f[F>>2]|0)+48>>2]|0)>(o|0)){f[v>>2]=o+1;e=f[t>>2]|0;b[e+(o*20|0)>>0]=52;d[e+(o*20|0)+2>>1]=0;f[e+(o*20|0)+4>>2]=p;f[e+(o*20|0)+8>>2]=c;f[e+(o*20|0)+12>>2]=q;f[e+(o*20|0)+16>>2]=0;b[e+(o*20|0)+1>>0]=0}else tl(H,52,p,c,q)|0;o=f[v>>2]|0;if((o|0)>0)d[(f[t>>2]|0)+((o+-1|0)*20|0)+2>>1]=16;r=r+1|0}while((r|0)!=(A|0))}if((f[(f[F>>2]|0)+48>>2]|0)>(o|0)){f[v>>2]=o+1;l=f[H+88>>2]|0;b[l+(o*20|0)>>0]=11;d[l+(o*20|0)+2>>1]=0;f[l+(o*20|0)+4>>2]=0;f[l+(o*20|0)+8>>2]=B;f[l+(o*20|0)+12>>2]=0;f[l+(o*20|0)+16>>2]=0;b[l+(o*20|0)+1>>0]=0;break}else{tl(H,11,0,B,0)|0;break}}while(0);s=Bm(f[a>>2]|0,g)|0;o=f[v>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(o|0)){f[v>>2]=o+1;l=f[H+88>>2]|0;b[l+(o*20|0)>>0]=102;d[l+(o*20|0)+2>>1]=0;f[l+(o*20|0)+4>>2]=y;f[l+(o*20|0)+8>>2]=A;f[l+(o*20|0)+12>>2]=w;f[l+(o*20|0)+16>>2]=0;b[l+(o*20|0)+1>>0]=0}else o=tl(H,102,y,A,w)|0;p=f[H>>2]|0;c:do if(b[p+81>>0]|0){if((A|0)!=-12)qg(p,A,s)}else{if((o|0)<0)o=(f[v>>2]|0)+-1|0;p=f[H+88>>2]|0;q=p+(o*20|0)|0;do if((A|0)<=-1){r=p+(o*20|0)+1|0;if(b[r>>0]|0)break;if((A|0)==-3){f[p+(o*20|0)+16>>2]=s;b[r>>0]=-3;break c}if(!s)break c;f[p+(o*20|0)+16>>2]=s;b[r>>0]=A;if((A|0)!=-12)break c;l=s+12|0;f[l>>2]=(f[l>>2]|0)+1;break c}while(0);ul(H,q,s,A)}while(0);o=f[v>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(o|0)){f[v>>2]=o+1;l=f[H+88>>2]|0;b[l+(o*20|0)>>0]=29;d[l+(o*20|0)+2>>1]=0;f[l+(o*20|0)+4>>2]=I;f[l+(o*20|0)+8>>2]=B;f[l+(o*20|0)+12>>2]=w;f[l+(o*20|0)+16>>2]=0;b[l+(o*20|0)+1>>0]=0}else o=tl(H,29,I,B,w)|0;if(!(b[(f[H>>2]|0)+81>>0]|0)){l=f[H+88>>2]|0;b[l+(o*20|0)+1>>0]=-3;f[l+(o*20|0)+16>>2]=0}do if(w|0){o=b[x>>0]|0;if((o&255)>=8)break;b[x>>0]=o+1<<24>>24;f[a+144+((o&255)<<2)>>2]=w}while(0);if(!z){o=a+28|0;if((f[o>>2]|0)>=(A|0))break;f[o>>2]=A;f[a+32>>2]=y;break}if(!y)break;o=b[x>>0]|0;if((o&255)>=8)break;b[x>>0]=o+1<<24>>24;f[a+144+((o&255)<<2)>>2]=y}while(0);o=b[i+24>>0]|0;p=o<<24>>24==0;do if(p){q=f[a>>2]|0;if(((0==0?(f[q+32>>2]&524288|0)==0:0)?(D=a+116|0,(f[D>>2]|0)==0):0)?(b[a+20>>0]|0)==0:0){o=f[C>>2]|0;if(!o){if(!(d[q+76>>1]&8))b[a+23>>0]=1;r=sl(a)|0;o=f[D>>2]|0}else{r=o;o=0}b[((o|0)==0?a:o)+21>>0]=1;q=r+136|0;o=f[q>>2]|0;if((f[(f[r+12>>2]|0)+48>>2]|0)>(o|0)){f[q>>2]=o+1;m=f[r+88>>2]|0;b[m+(o*20|0)>>0]=69;d[m+(o*20|0)+2>>1]=0;f[m+(o*20|0)+4>>2]=787;f[m+(o*20|0)+8>>2]=2;f[m+(o*20|0)+12>>2]=0;f[m+(o*20|0)+16>>2]=0;b[m+(o*20|0)+1>>0]=0}else o=tl(r,69,787,2,0)|0;if(!(b[(f[r>>2]|0)+81>>0]|0)){if((o|0)<0)o=(f[q>>2]|0)+-1|0;p=f[r+88>>2]|0;if(b[p+(o*20|0)+1>>0]|0)ul(r,p+(o*20|0)|0,0,-1)}o=f[q>>2]|0;if((o|0)<=0)break;d[(f[r+88>>2]|0)+((o+-1|0)*20|0)+2>>1]=4;break}if(!((m|0)<1|p^1)){E=f[a+116>>2]|0;b[((E|0)==0?a:E)+21>>0]=1;E=169}else E=169}else E=169;while(0);do if((E|0)==169){o=o&255;p=H+136|0;q=f[p>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(q|0)){f[p>>2]=q+1;E=f[H+88>>2]|0;b[E+(q*20|0)>>0]=-105;d[E+(q*20|0)+2>>1]=0;f[E+(q*20|0)+4>>2]=o;f[E+(q*20|0)+8>>2]=m;f[E+(q*20|0)+12>>2]=0;f[E+(q*20|0)+16>>2]=0;b[E+(q*20|0)+1>>0]=0;break}else{tl(H,151,o,m,0)|0;break}}while(0);q=f[F>>2]|0;o=f[q+64>>2]|0;p=H+136|0;if(o|0)f[o+(G<<2)>>2]=f[p>>2];o=f[p>>2]|0;if((f[q+48>>2]|0)>(o|0)){f[p>>2]=o+1;H=f[H+88>>2]|0;b[H+(o*20|0)>>0]=117;d[H+(o*20|0)+2>>1]=0;f[H+(o*20|0)+4>>2]=I;f[H+(o*20|0)+8>>2]=0;f[H+(o*20|0)+12>>2]=0;f[H+(o*20|0)+16>>2]=0;b[H+(o*20|0)+1>>0]=0;return}else{tl(H,117,I,0,0)|0;return}}function qn(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=f[c+20>>2]|0;if((t|0)<=0){v=0;return v|0}q=d[a+42>>1]|0;u=q<<16>>16>0;s=a+4|0;r=a+40|0;n=(g|0)==0;o=q<<16>>16;p=q<<16>>16;q=q<<16>>16;m=0;a:while(1){l=f[c+36+(m<<3)+4>>2]|0;b:do if(u){k=(l|0)==0;if(!n){j=0;while(1){if(!((f[e+(j<<2)>>2]|0)<=-1?(j|0)!=(d[r>>1]|0):0))v=8;do if((v|0)==8){v=0;a=f[s>>2]|0;if(k)if(!(b[a+(j<<4)+15>>0]&1))break;else{a=1;v=28;break a}g=f[a+(j<<4)>>2]|0;i=b[g>>0]|0;a=(h[1232+(i&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0;if(!(i<<24>>24==0|(a|0)!=0)){i=l;do{g=g+1|0;i=i+1|0;w=b[g>>0]|0;a=(h[1232+(w&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(w<<24>>24==0|(a|0)!=0))}if(!a){a=1;v=28;break a}}while(0);j=j+1|0;if((j|0)>=(o|0))break b}}if(k){a=0;while(1){if((f[e+(a<<2)>>2]|0)>-1?b[(f[s>>2]|0)+(a<<4)+15>>0]&1:0){a=1;v=28;break a}a=a+1|0;if((a|0)>=(p|0))break b}}j=0;do{if((f[e+(j<<2)>>2]|0)>-1){g=f[(f[s>>2]|0)+(j<<4)>>2]|0;w=b[g>>0]|0;a=(h[1232+(w&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0;if(!(w<<24>>24==0|(a|0)!=0)){i=l;do{g=g+1|0;i=i+1|0;w=b[g>>0]|0;a=(h[1232+(w&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(w<<24>>24==0|(a|0)!=0))}if(!a){a=1;v=28;break a}}j=j+1|0}while((j|0)<(q|0))}while(0);m=m+1|0;if((m|0)>=(t|0)){a=0;v=28;break}}if((v|0)==28)return a|0;return 0}function rn(a,c,e,g,i,k,l,m){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=t;t=t+112|0;U=Y+32|0;R=Y+24|0;Q=Y+16|0;M=Y+8|0;L=Y;T=Y+72|0;S=Y+40|0;X=f[a>>2]|0;o=f[a+8>>2]|0;if(!o){if((f[a+116>>2]|0)==0?(d[X+76>>1]&8)==0:0)b[a+23>>0]=1;W=sl(a)|0}else W=o;do if((m|0)<0){o=h[i+24>>0]|0;p=W+136|0;q=f[p>>2]|0;if((f[(f[W+12>>2]|0)+48>>2]|0)>(q|0)){f[p>>2]=q+1;V=f[W+88>>2]|0;b[V+(q*20|0)>>0]=46;d[V+(q*20|0)+2>>1]=0;f[V+(q*20|0)+4>>2]=o;f[V+(q*20|0)+8>>2]=0;f[V+(q*20|0)+12>>2]=0;f[V+(q*20|0)+16>>2]=0;b[V+(q*20|0)+1>>0]=0;V=q;break}else{V=tl(W,46,o,0,0)|0;break}}else V=0;while(0);w=i+20|0;if((f[w>>2]|0)>0){x=(g|0)==0;y=T+4|0;z=g+4|0;A=(k|0)==0;B=i+36|0;C=T+4|0;D=e+40|0;E=e+4|0;F=l+1|0;G=T+4|0;H=T+4|0;r=0;v=0;while(1){if(x)q=-1;else q=d[(f[z>>2]|0)+(v<<1)>>1]|0;p=q&65535;s=f[a>>2]|0;f[T>>2]=0;f[y>>2]=0;o=Dk(s,164,T,0)|0;do if(!o)o=0;else{if(p<<16>>16>-1?(d[D>>1]|0)!=p<<16>>16:0){p=f[E>>2]|0;f[o+28>>2]=F+q;b[o+1>>0]=b[p+(q<<4)+13>>0]|0;p=f[p+(q<<4)+8>>2]|0;if(p|0){f[T>>2]=p;N=(wz(p)|0)&1073741823;f[G>>2]=N;if((N|0)!=0?(J=Dk(f[a>>2]|0,102,T,0)|0,(J|0)!=0):0){f[J+12>>2]=o;o=J+4|0;f[o>>2]=f[o>>2]|4352;o=J}break}p=f[f[s+8>>2]>>2]|0;f[T>>2]=p;if(p){N=(wz(p)|0)&1073741823;f[H>>2]=N;if((N|0)!=0?(K=Dk(f[a>>2]|0,102,T,0)|0,(K|0)!=0):0){f[K+12>>2]=o;o=K+4|0;f[o>>2]=f[o>>2]|4352;o=K}}else f[H>>2]=0;break}f[o+28>>2]=l;b[o+1>>0]=68}while(0);p=f[(f[(f[i>>2]|0)+4>>2]|0)+(f[(A?B:k+(v<<2)|0)>>2]<<16>>16<<4)>>2]|0;f[T>>2]=p;if(!p)p=0;else p=(wz(p)|0)&1073741823;f[C>>2]=p;u=Dk(X,59,T,0)|0;s=f[a>>2]|0;a:do if(f[s+272>>2]|0)if(!(b[s+81>>0]|0))N=42;else{p=s;N=46}else{do if((j[s+276>>1]|0)>=48){p=s+300|0;q=f[p>>2]|0;if(q|0){f[p>>2]=f[q>>2];N=s+284|0;f[N>>2]=(f[N>>2]|0)+1;N=43;break a}p=s+296|0;q=f[p>>2]|0;if(!q){p=s+292|0;break}else{f[p>>2]=f[q>>2];N=s+284|0;f[N>>2]=(f[N>>2]|0)+1;N=43;break a}}else p=s+288|0;while(0);f[p>>2]=(f[p>>2]|0)+1;N=42}while(0);if((N|0)==42){q=Dc(s,48,0)|0;N=43}do if((N|0)==43){N=0;if(!q){p=f[a>>2]|0;N=46;break}p=q;I=p+48|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(I|0));b[q>>0]=53;d[q+34>>1]=-1;if(!u)p=0;else{f[q+16>>2]=u;p=f[u+4>>2]&2097412;f[q+4>>2]=p}if(o|0){f[q+12>>2]=o;f[q+4>>2]=p|f[o+4>>2]&2097412}jl(q);o=f[(f[a>>2]|0)+120>>2]|0;if((o|0)<(f[q+24>>2]|0)){f[L>>2]=o;ni(a,42710,L);o=q}else o=q}while(0);if((N|0)==46){N=0;if(o|0)ig(p,o);if(!u)o=0;else{ig(p,u);o=0}}r=kl(X,r,o)|0;v=v+1|0;if((v|0)>=(f[w>>2]|0)){o=i;break}}}else{r=0;o=i}if((m|0)>0?(f[o>>2]|0)==(e|0):0){b:do if(!(f[e+36>>2]&32)){n=f[a>>2]|0;f[T>>2]=0;f[T+4>>2]=0;n=Dk(n,164,T,0)|0;if(!n)u=0;else{f[n+28>>2]=l;b[n+1>>0]=68;u=n}n=f[c+48>>2]|0;f[T>>2]=0;f[T+4>>2]=0;q=Dk(X,158,T,0)|0;s=(q|0)==0;if(!s){f[q+44>>2]=e;f[q+28>>2]=n;d[q+32>>1]=-1}p=f[a>>2]|0;c:do if(f[p+272>>2]|0)if(!(b[p+81>>0]|0))N=72;else n=p;else{do if((j[p+276>>1]|0)>=48){o=p+300|0;n=f[o>>2]|0;if(n|0){f[o>>2]=f[n>>2];N=p+284|0;f[N>>2]=(f[N>>2]|0)+1;N=73;break c}o=p+296|0;n=f[o>>2]|0;if(!n){n=p+292|0;break}else{f[o>>2]=f[n>>2];N=p+284|0;f[N>>2]=(f[N>>2]|0)+1;N=73;break c}}else n=p+288|0;while(0);f[n>>2]=(f[n>>2]|0)+1;N=72}while(0);if((N|0)==72){n=Dc(p,48,0)|0;N=73}do if((N|0)==73){if(!n){n=f[a>>2]|0;break}p=n;I=p+48|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(I|0));b[n>>0]=52;d[n+34>>1]=-1;if(s)o=0;else{f[n+16>>2]=q;o=f[q+4>>2]&2097412;f[n+4>>2]=o}if(u|0){f[n+12>>2]=u;f[n+4>>2]=o|f[u+4>>2]&2097412}jl(n);o=f[(f[a>>2]|0)+120>>2]|0;if((o|0)>=(f[n+24>>2]|0))break b;f[M>>2]=o;ni(a,42710,M);break b}while(0);if(u|0)ig(n,u);if(s)n=0;else{ig(n,q);n=0}}else{o=e+8|0;while(1){o=f[o>>2]|0;M=o+55|0;if(((h[M>>0]|h[M+1>>0]<<8)&3)==2)break;else o=o+20|0}H=o+50|0;if(!(d[H>>1]|0))q=0;else{y=g+4|0;z=T+4|0;A=c+48|0;B=T+4|0;C=e+40|0;D=e+4|0;E=l+1|0;F=T+4|0;G=T+4|0;q=0;x=0;do{u=d[(f[y>>2]|0)+(x<<1)>>1]|0;s=f[a>>2]|0;f[T>>2]=0;f[z>>2]=0;o=Dk(s,164,T,0)|0;do if(!o)o=0;else{p=u<<16>>16;if(u<<16>>16>-1?(d[C>>1]|0)!=u<<16>>16:0){N=f[D>>2]|0;f[o+28>>2]=E+p;b[o+1>>0]=b[N+(p<<4)+13>>0]|0;p=f[N+(p<<4)+8>>2]|0;if(p|0){f[T>>2]=p;N=(wz(p)|0)&1073741823;f[F>>2]=N;if((N|0)!=0?(O=Dk(f[a>>2]|0,102,T,0)|0,(O|0)!=0):0){f[O+12>>2]=o;o=O+4|0;f[o>>2]=f[o>>2]|4352;o=O}break}p=f[f[s+8>>2]>>2]|0;f[T>>2]=p;if(p){N=(wz(p)|0)&1073741823;f[G>>2]=N;if((N|0)!=0?(P=Dk(f[a>>2]|0,102,T,0)|0,(P|0)!=0):0){f[P+12>>2]=o;o=P+4|0;f[o>>2]=f[o>>2]|4352;o=P}}else f[G>>2]=0;break}f[o+28>>2]=l;b[o+1>>0]=68}while(0);p=f[A>>2]|0;f[T>>2]=0;f[B>>2]=0;v=Dk(X,158,T,0)|0;w=(v|0)==0;if(!w){f[v+44>>2]=e;f[v+28>>2]=p;d[v+32>>1]=u}u=f[a>>2]|0;d:do if(f[u+272>>2]|0)if(!(b[u+81>>0]|0))N=116;else{p=u;N=120}else{do if((j[u+276>>1]|0)>=48){p=u+300|0;s=f[p>>2]|0;if(s|0){f[p>>2]=f[s>>2];N=u+284|0;f[N>>2]=(f[N>>2]|0)+1;N=117;break d}p=u+296|0;s=f[p>>2]|0;if(!s){p=u+292|0;break}else{f[p>>2]=f[s>>2];N=u+284|0;f[N>>2]=(f[N>>2]|0)+1;N=117;break d}}else p=u+288|0;while(0);f[p>>2]=(f[p>>2]|0)+1;N=116}while(0);if((N|0)==116){s=Dc(u,48,0)|0;N=117}do if((N|0)==117){N=0;if(!s){p=f[a>>2]|0;N=120;break}p=s;I=p+48|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(I|0));b[s>>0]=53;d[s+34>>1]=-1;if(w)p=0;else{f[s+16>>2]=v;p=f[v+4>>2]&2097412;f[s+4>>2]=p}if(o|0){f[s+12>>2]=o;f[s+4>>2]=p|f[o+4>>2]&2097412}jl(s);o=f[(f[a>>2]|0)+120>>2]|0;if((o|0)<(f[s+24>>2]|0)){f[Q>>2]=o;ni(a,42710,Q);o=s}else o=s}while(0);if((N|0)==120){N=0;if(o|0)ig(p,o);if(w)o=0;else{ig(p,v);o=0}}q=kl(X,q,o)|0;x=x+1|0}while(x>>>0<(j[H>>1]|0)>>>0)}p=f[a>>2]|0;e:do if(f[p+272>>2]|0){if(!(b[p+81>>0]|0))N=140}else{do if((j[p+276>>1]|0)>=48){o=p+300|0;n=f[o>>2]|0;if(n|0){f[o>>2]=f[n>>2];N=p+284|0;f[N>>2]=(f[N>>2]|0)+1;N=141;break e}o=p+296|0;n=f[o>>2]|0;if(!n){n=p+292|0;break}else{f[o>>2]=f[n>>2];N=p+284|0;f[N>>2]=(f[N>>2]|0)+1;N=141;break e}}else n=p+288|0;while(0);f[n>>2]=(f[n>>2]|0)+1;N=140}while(0);if((N|0)==140){n=Dc(p,48,0)|0;N=141}if((N|0)==141?n|0:0){p=n;I=p+48|0;do{f[p>>2]=0;p=p+4|0}while((p|0)<(I|0));b[n>>0]=19;d[n+34>>1]=-1;if(q|0){f[n+12>>2]=q;f[n+4>>2]=f[q+4>>2]&2097412}jl(n);o=f[(f[a>>2]|0)+120>>2]|0;if((o|0)>=(f[n+24>>2]|0))break;f[R>>2]=o;ni(a,42710,R);break}if(!q)n=0;else{ig(f[a>>2]|0,q);n=0}}while(0);r=kl(X,r,n)|0}s=S+8|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[s+16>>2]=0;f[s+20>>2]=0;f[S+4>>2]=c;f[S>>2]=a;s=(r|0)==0;do if(!s){p=S+24|0;d[p>>1]=0;f[T>>2]=a;f[T+4>>2]=146;f[T+8>>2]=147;f[T+12>>2]=0;f[T+24>>2]=S;n=r+24|0;o=a+204|0;S=(f[o>>2]|0)+(f[n>>2]|0)|0;f[o>>2]=S;o=f[(f[a>>2]|0)+120>>2]|0;if((o|0)<(S|0)){f[U>>2]=o;ni(a,42710,U);break}oi(T,r)|0;U=(f[T>>2]|0)+204|0;f[U>>2]=(f[U>>2]|0)-(f[n>>2]|0);if(d[p>>1]&16){U=r+4|0;f[U>>2]=f[U>>2]|2}}while(0);if(!(f[a+36>>2]|0)){q=sn(a,c,r,0,0,0,0)|0;n=h[i+24>>0]|0;o=W+136|0;p=f[o>>2]|0;if((f[(f[W+12>>2]|0)+48>>2]|0)>(p|0)){f[o>>2]=p+1;i=f[W+88>>2]|0;b[i+(p*20|0)>>0]=-105;d[i+(p*20|0)+2>>1]=0;f[i+(p*20|0)+4>>2]=n;f[i+(p*20|0)+8>>2]=m;f[i+(p*20|0)+12>>2]=0;f[i+(p*20|0)+16>>2]=0;b[i+(p*20|0)+1>>0]=0}else tl(W,151,n,m,0)|0;if(q|0)tn(q)}if(!s)ig(X,r);if(!V){t=Y;return}o=f[W+136>>2]|0;if(!(b[(f[W>>2]|0)+81>>0]|0))n=(f[W+88>>2]|0)+(((V|0)<0?o+-1|0:V)*20|0)|0;else n=72144;f[n+8>>2]=o;t=Y;return}function sn(a,c,e,g,i,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;Ca=t;t=t+192|0;za=Ca+56|0;ma=Ca+48|0;U=Ca+40|0;E=Ca+32|0;G=Ca+24|0;F=Ca+16|0;w=Ca+8|0;m=Ca;xa=Ca+96|0;T=Ca+64|0;ya=a+8|0;la=f[ya>>2]|0;Ba=f[a>>2]|0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;f[T+16>>2]=0;f[T+20>>2]=0;f[T+24>>2]=0;if(!g)I=0;else I=(f[g>>2]|0)>63?0:g;$=T+8|0;f[$>>2]=I;_=Ba+76|0;wa=(d[_>>1]&16)==0?k:k&-257;g=f[c>>2]|0;if((g|0)>64){f[m>>2]=64;ni(a,56410,m);Ba=0;t=Ca;return Ba|0}ea=wa&65535;ka=ea&32;fa=(ka|0)!=0;ca=fa?1:g;u=ca*80|0;v=u+759&-16;m=v+72|0;a:do if(f[Ba+272>>2]|0)if(!(b[Ba+81>>0]|0))na=15;else g=0;else{do if(!(0<0|(0==0?(j[Ba+276>>1]|0)>>>0>>0:0))){k=Ba+300|0;g=f[k>>2]|0;if(g|0){f[k>>2]=f[g>>2];Aa=Ba+284|0;f[Aa>>2]=(f[Aa>>2]|0)+1;break a}k=Ba+296|0;g=f[k>>2]|0;if(!g){g=Ba+292|0;break}else{f[k>>2]=f[g>>2];Aa=Ba+284|0;f[Aa>>2]=(f[Aa>>2]|0)+1;break a}}else g=Ba+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;na=15}while(0);if((na|0)==15)g=Dc(Ba,m,0)|0;va=Ba+81|0;if(b[va>>0]|0){if(!g){Ba=0;t=Ca;return Ba|0}if(f[Ba+480>>2]|0){Kc(Ba,g);Ba=0;t=Ca;return Ba|0}Aa=g;if((f[Ba+304>>2]|0)>>>0<=Aa>>>0?(f[Ba+308>>2]|0)>>>0>Aa>>>0:0){Ba=Ba+300|0;f[g>>2]=f[Ba>>2];f[Ba>>2]=g;Ba=0;t=Ca;return Ba|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);Ba=0;t=Ca;return Ba|0}else{Ba=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Ba;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);Ba=0;t=Ca;return Ba|0}}f[g>>2]=a;da=g+4|0;f[da>>2]=c;W=g+8|0;f[W>>2]=I;f[g+16>>2]=e;f[g+12>>2]=i;ia=g+24|0;ja=g+28|0;f[ja>>2]=-1;f[ia>>2]=-1;Aa=g+46|0;b[Aa>>0]=ca;ha=la+12|0;k=f[ha>>2]|0;r=k+60|0;s=f[r>>2]|0;f[r>>2]=s+1;r=k+64|0;if(!(s+-1&s)){p=s<<3|4;q=f[k>>2]|0;k=f[r>>2]|0;b:do if(k){n=k;o=q+304|0;if(((f[o>>2]|0)>>>0<=n>>>0?(f[q+308>>2]|0)>>>0>n>>>0:0)?!(0<0|(0==0?(j[q+276>>1]|0)>>>0

>>0:0)):0)break;m=Lc(q,k,p,0)|0;if(!m){if(f[q+480>>2]|0){Kc(q,k);k=0;break}if((f[o>>2]|0)>>>0<=n>>>0?(f[q+308>>2]|0)>>>0>n>>>0:0){ua=q+300|0;f[k>>2]=f[ua>>2];f[ua>>2]=k;k=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);k=0;break}else{ua=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-ua;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);k=0;break}}else k=m}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){k=0;break}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0

>>0:0))){m=q+300|0;k=f[m>>2]|0;if(k|0){f[m>>2]=f[k>>2];ua=q+284|0;f[ua>>2]=(f[ua>>2]|0)+1;break b}m=q+296|0;k=f[m>>2]|0;if(!k){k=q+292|0;break}else{f[m>>2]=f[k>>2];ua=q+284|0;f[ua>>2]=(f[ua>>2]|0)+1;break b}}else k=q+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(q,p,0)|0}while(0);f[r>>2]=k}else k=f[r>>2]|0;if(k|0)f[k+(s<<2)>>2]=-1;ga=~s;qa=g+32|0;f[qa>>2]=ga;z=g+36|0;f[z>>2]=ga;ga=g+44|0;d[ga>>1]=wa;d[g+20>>1]=l;ra=a+128|0;sa=g+40|0;f[sa>>2]=f[ra>>2];k=g+47|0;A=k;C=A+33|0;do{b[A>>0]=0;A=A+1|0}while((A|0)<(C|0));ta=g+752|0;_A(ta|0,0,u+72|0)|0;Z=g+488|0;f[T>>2]=g;ua=g+80|0;aa=T+4|0;f[aa>>2]=ua;x=g+v|0;M=T+12|0;f[M>>2]=x;f[x+48>>2]=x+56;d[x+40>>1]=0;d[x+44>>1]=3;f[x+36>>2]=0;x=g+492|0;f[x>>2]=0;f[ua>>2]=g;b[g+89>>0]=0;f[g+84>>2]=0;oa=g+92|0;f[oa>>2]=0;f[g+96>>2]=8;pa=g+100|0;f[pa>>2]=g+104;wn(ua,e,44);y=(ca|0)==0;if(y){if(I|0)b[k>>0]=f[I>>2];if(ea&256|0)b[g+51>>0]=1;Km(a,0,56438,w)}else{u=0;do{v=c+8+(u*72|0)+40|0;K=f[v>>2]|0;S=f[x>>2]|0;f[x>>2]=S+1;f[Z+8+(S<<2)>>2]=K;c:do if((b[c+8+(u*72|0)+37>>0]&4?(B=f[c+8+(u*72|0)+16>>2]|0,D=f[c+8+(u*72|0)+64>>2]|0,D|0):0)?(f[D>>2]|0)>0:0){e=B+42|0;w=B+4|0;s=0;k=0;d:while(1){n=d[e>>1]|0;if((s|0)>=(n|0))break;o=f[w>>2]|0;p=s;while(1){if(b[o+(p<<4)+15>>0]&2)break;m=p+1|0;if((m|0)<(n|0))p=m;else break d}o=f[a>>2]|0;e:do if(f[o+272>>2]|0)if(!(b[o+81>>0]|0))na=81;else break c;else{do if((j[o+276>>1]|0)>=48){m=o+300|0;n=f[m>>2]|0;if(n|0){f[m>>2]=f[n>>2];S=o+284|0;f[S>>2]=(f[S>>2]|0)+1;break e}m=o+296|0;n=f[m>>2]|0;if(!n){m=o+292|0;break}else{f[m>>2]=f[n>>2];S=o+284|0;f[S>>2]=(f[S>>2]|0)+1;break e}}else m=o+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1;na=81}while(0);if((na|0)==81){na=0;n=Dc(o,48,0)|0}if(!n)break c;A=n;C=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(C|0));b[n>>0]=-98;d[n+34>>1]=-1;f[n+24>>2]=1;f[n+28>>2]=f[v>>2];s=p+1|0;d[n+32>>1]=p;f[n+44>>2]=B;m=f[D+4+(k*20|0)>>2]|0;if(!m)q=0;else q=Bk(f[a>>2]|0,m,0,0)|0;p=f[a>>2]|0;f:do if(f[p+272>>2]|0)if(!(b[p+81>>0]|0))na=95;else na=98;else{do if((j[p+276>>1]|0)>=48){m=p+300|0;o=f[m>>2]|0;if(o|0){f[m>>2]=f[o>>2];na=p+284|0;f[na>>2]=(f[na>>2]|0)+1;na=96;break f}m=p+296|0;o=f[m>>2]|0;if(!o){m=p+292|0;break}else{f[m>>2]=f[o>>2];na=p+284|0;f[na>>2]=(f[na>>2]|0)+1;na=96;break f}}else m=p+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1;na=95}while(0);if((na|0)==95){o=Dc(p,48,0)|0;na=96}do if((na|0)==96){na=0;if(!o){na=98;break}A=o;C=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(C|0));b[o>>0]=-94;d[o+34>>1]=-1;if(q|0){f[o+12>>2]=q;f[o+4>>2]=f[q+4>>2]&2097412}jl(o);m=f[(f[a>>2]|0)+120>>2]|0;if((m|0)>=(f[o+24>>2]|0)){r=0;break}f[G>>2]=m;ni(a,42710,G);r=0}while(0);do if((na|0)==98){if(!q){r=1;o=0;break}ig(f[a>>2]|0,q);r=1;o=0}while(0);q=f[a>>2]|0;g:do if(f[q+272>>2]|0)if(!(b[q+81>>0]|0))na=113;else{m=q;na=118}else{do if((j[q+276>>1]|0)>=48){p=q+300|0;m=f[p>>2]|0;if(m|0){f[p>>2]=f[m>>2];na=q+284|0;f[na>>2]=(f[na>>2]|0)+1;na=114;break g}p=q+296|0;m=f[p>>2]|0;if(!m){m=q+292|0;break}else{f[p>>2]=f[m>>2];na=q+284|0;f[na>>2]=(f[na>>2]|0)+1;na=114;break g}}else m=q+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1;na=113}while(0);if((na|0)==113){m=Dc(q,48,0)|0;na=114}do if((na|0)==114){na=0;if(!m){m=f[a>>2]|0;na=118;break}A=m;C=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(C|0));b[m>>0]=53;d[m+34>>1]=-1;if(r){o=m+4|0;p=0}else{f[m+16>>2]=o;p=f[o+4>>2]&2097412;o=m+4|0;f[o>>2]=p}f[m+12>>2]=n;f[o>>2]=f[n+4>>2]&2097412|p;jl(m);n=f[(f[a>>2]|0)+120>>2]|0;if((n|0)>=(f[m+24>>2]|0))break;f[E>>2]=n;ni(a,42710,E)}while(0);do if((na|0)==118){na=0;ig(m,n);if(r){m=0;break}ig(m,o);m=0}while(0);xn(ua,m,1)|0;k=k+1|0;if((k|0)>=(f[D>>2]|0))break c}f[F>>2]=f[B>>2];f[F+4>>2]=k;ni(a,56456,F)}while(0);u=u+1|0}while((u|0)<(f[c>>2]|0))}k=f[oa>>2]|0;if((k|0)>0)do{S=k;k=k+-1|0;yn(c,ua,k)}while((S|0)>1);h:do if(!(b[va>>0]|0)){i:do if((f[g+92>>2]|0)>0){p=xa+20|0;q=xa+4|0;r=xa+8|0;if(y){o=0;k=ua;while(1){m=f[k+20>>2]|0;n=m+(o*48|0)+10|0;if((d[n>>1]&2)==0?(S=m+(o*48|0)+40|0,(f[S>>2]|0)==0&(f[S+4>>2]|0)==0):0){zm(a,f[m+(o*48|0)>>2]|0,f[z>>2]|0,16);d[n>>1]=d[n>>1]|4;k=f[aa>>2]|0}o=o+1|0;if((o|0)>=(f[k+12>>2]|0))break i}}o=0;k=ua;do{k=f[k+20>>2]|0;n=k+(o*48|0)+10|0;do if((d[n>>1]&2)==0?(S=k+(o*48|0)+40|0,(f[S>>2]|0)==0&(f[S+4>>2]|0)==0):0){k=k+(o*48|0)|0;m=f[k>>2]|0;f[xa>>2]=0;f[xa+4>>2]=0;f[xa+8>>2]=0;f[xa+12>>2]=0;f[xa+16>>2]=0;f[xa+20>>2]=0;f[xa+24>>2]=0;b[p>>0]=1;f[q>>2]=165;f[r>>2]=156;if(m){oi(xa,m)|0;if(!(b[p>>0]|0))break}zm(a,f[k>>2]|0,f[z>>2]|0,16);d[n>>1]=d[n>>1]|4}while(0);o=o+1|0;k=f[aa>>2]|0}while((o|0)<(f[k+12>>2]|0))}while(0);S=(ea&256|0)==0;j:do if(!S){k:do if((f[c>>2]|0)==1){H=f[c+48>>2]|0;o=f[c+24>>2]|0;p=f[i>>2]|0;l:do if((p|0)>0){n=0;while(1){k=f[i+4+(n*20|0)>>2]|0;m:do if(!k)k=0;else while(1){m=f[k+4>>2]|0;if(!(m&4096))break m;if(!(m&262144))k=k+12|0;else k=(f[k+20>>2]|0)+4|0;k=f[k>>2]|0;if(!k){k=0;break}}while(0);do if((b[k>>0]|0)==-98){if((f[k+28>>2]|0)!=(H|0))break;if((d[k+32>>1]|0)<0)break l}while(0);n=n+1|0;if((n|0)>=(p|0)){na=159;break}}}else na=159;while(0);n:do if((na|0)==159){k=f[o+8>>2]|0;if(!k)break k;x=xa+4|0;y=xa+12|0;z=xa+16|0;A=xa+8|0;B=xa+20|0;C=xa+24|0;D=xa+28|0;E=xa+72|0;F=xa+17|0;G=xa+18|0;while(1){if(b[k+54>>0]|0){w=k+50|0;o:do if(!(d[w>>1]|0))m=0;else{s=k+4|0;u=k+40|0;v=k+32|0;e=k+12|0;m=0;do{f[xa>>2]=ua;f[x>>2]=ua;f[y>>2]=0;b[z>>0]=0;f[A>>2]=0;o=d[(f[s>>2]|0)+(m<<1)>>1]|0;n=o<<16>>16;do if(o<<16>>16==-2){f[y>>2]=f[(f[u>>2]|0)+4+(m*20|0)>>2];f[A>>2]=f[(f[v>>2]|0)+(m<<2)>>2];n=-2}else{p=f[e>>2]|0;if(o<<16>>16==(d[p+40>>1]|0)){n=-1;break}if(o<<16>>16<=-1)break;b[z>>0]=b[(f[p+4>>2]|0)+(n<<4)+13>>0]|0;f[A>>2]=f[(f[v>>2]|0)+(m<<2)>>2]}while(0);f[B>>2]=2;f[C>>2]=0;f[D>>2]=H;d[E>>1]=n;b[F>>0]=1;b[G>>0]=1;n=An(xa)|0;do if(n){o=0;while(1){na=n+32|0;if((f[na>>2]|0)==0&(f[na+4>>2]|0)==0){if(d[n+12>>1]&2){na=174;break}o=(o|0)==0?n:o}n=An(xa)|0;if(!n){na=177;break}}if((na|0)==174){na=0;break}else if((na|0)==177){na=0;if(!o){na=178;break}else break}}else na=178;while(0);if((na|0)==178){r=f[(f[v>>2]|0)+(m<<2)>>2]|0;if((f[i>>2]|0)<=0)break o;q=0;p:while(1){p=f[i+4+(q*20|0)>>2]|0;q:do if(!p)n=0;else{n=p;while(1){o=f[n+4>>2]|0;if(!(o&4096))break q;if(!(o&262144))n=n+12|0;else n=(f[n+20>>2]|0)+4|0;n=f[n>>2]|0;if(!n){n=0;break}}}while(0);do if((b[n>>0]|0)==-98){if((d[n+32>>1]|0)!=(d[(f[s>>2]|0)+(m<<1)>>1]|0))break;if((f[n+28>>2]|0)!=(H|0))break;n=Zk(a,p)|0;if(!n)n=f[(f[a>>2]|0)+8>>2]|0;o=f[n>>2]|0;na=b[o>>0]|0;n=(h[1232+(na&255)>>0]|0)-(h[1232+(h[r>>0]|0)>>0]|0)|0;if(!(na<<24>>24==0|(n|0)!=0)){p=r;do{o=o+1|0;p=p+1|0;na=b[o>>0]|0;n=(h[1232+(na&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0}while(!(na<<24>>24==0|(n|0)!=0))}if(!n)break p}while(0);q=q+1|0;if((q|0)>=(f[i>>2]|0))break o}n=d[(f[s>>2]|0)+(m<<1)>>1]|0;if(n<<16>>16>-1)n=h[(f[(f[e>>2]|0)+4>>2]|0)+(n<<16>>16<<4)+12>>0]|0;else n=n<<16>>16==-1&1;if(!n)break o}m=m+1|0}while(m>>>0<(j[w>>1]|0)>>>0)}while(0);if((m|0)==(j[w>>1]|0))break n}k=f[k+20>>2]|0;if(!k)break k}}while(0);b[g+51>>0]=1;break j}while(0);if(!I){d[ga>>1]=d[ga>>1]|128;f[W>>2]=i}}while(0);do if((((ca|0)==1?(Q=f[T>>2]|0,O=f[M>>2]|0,R=Q+44|0,(d[R>>1]&32)==0):0)?(P=f[Q+4>>2]|0,L=f[P+24>>2]|0,(f[L+56>>2]|0)==0):0)?(b[P+45>>0]&2)==0:0){I=f[P+48>>2]|0;J=Q+80|0;K=O+36|0;f[K>>2]=0;d[O+42>>1]=0;f[xa>>2]=J;f[xa+4>>2]=J;f[xa+12>>2]=0;b[xa+16>>0]=0;f[xa+8>>2]=0;f[xa+20>>2]=130;f[xa+24>>2]=0;f[xa+28>>2]=I;d[xa+72>>1]=-1;b[xa+17>>0]=1;b[xa+18>>0]=1;m=An(xa)|0;do if(!m)na=220;else{k=0;while(1){na=m+32|0;if((f[na>>2]|0)==0&(f[na+4>>2]|0)==0?d[m+12>>1]&130:0){na=216;break}k=(k|0)==0?m:k;m=An(xa)|0;if(!m){na=218;break}}if((na|0)==216)k=m;else if((na|0)==218)if(!k){na=220;break}f[K>>2]=4353;f[f[O+48>>2]>>2]=k;d[O+40>>1]=1;d[O+24>>1]=1;d[O+20>>1]=33}while(0);r:do if((na|0)==220?(N=f[L+8>>2]|0,N|0):0){x=xa+4|0;y=xa+12|0;z=xa+16|0;A=xa+8|0;B=xa+20|0;C=xa+24|0;D=xa+28|0;E=xa+72|0;F=xa+17|0;G=xa+18|0;H=O+48|0;k=N;s:while(1){do if(b[k+54>>0]|0){if(f[k+36>>2]|0)break;w=k+50|0;m=d[w>>1]|0;if((m&65535)>3)break;v=k+55|0;v=(h[v>>0]|h[v+1>>0]<<8)<<4&128|2;e=v&65535;t:do if(!(m<<16>>16))m=0;else{q=k+4|0;r=k+40|0;s=k+32|0;u=k+12|0;m=0;while(1){f[xa>>2]=J;f[x>>2]=J;f[y>>2]=0;b[z>>0]=0;f[A>>2]=0;o=d[(f[q>>2]|0)+(m<<1)>>1]|0;n=o<<16>>16;do if(o<<16>>16==-2){f[y>>2]=f[(f[r>>2]|0)+4+(m*20|0)>>2];f[A>>2]=f[(f[s>>2]|0)+(m<<2)>>2];n=-2}else{p=f[u>>2]|0;if(o<<16>>16==(d[p+40>>1]|0)){n=-1;break}if(o<<16>>16<=-1)break;b[z>>0]=b[(f[p+4>>2]|0)+(n<<4)+13>>0]|0;f[A>>2]=f[(f[s>>2]|0)+(m<<2)>>2]}while(0);f[B>>2]=e;f[C>>2]=0;f[D>>2]=I;d[E>>1]=n;b[F>>0]=1;b[G>>0]=1;o=An(xa)|0;if(!o)break;n=0;while(1){na=o+32|0;if((f[na>>2]|0)==0&(f[na+4>>2]|0)==0?(d[o+12>>1]&v)<<16>>16:0){na=237;break}n=(n|0)==0?o:n;o=An(xa)|0;if(!o){na=239;break}}if((na|0)==237)n=o;else if((na|0)==239)if(!n)break t;f[(f[H>>2]|0)+(m<<2)>>2]=n;m=m+1|0;if(m>>>0>=(j[w>>1]|0)>>>0)break t}}while(0);if((m|0)==(j[w>>1]|0))break s}while(0);k=f[k+20>>2]|0;if(!k)break r}na=k+55|0;f[K>>2]=4609;if(!(((h[na>>0]|h[na+1>>0]<<8)&32)==0?(na=P+64|0,P=k+64|0,!((f[P>>2]&f[na>>2]|0)==0?(f[P+4>>2]&f[na+4>>2]|0)==0:0)):0))f[K>>2]=4673;na=m&65535;d[O+40>>1]=na;d[O+24>>1]=na;f[O+32>>2]=k;d[O+20>>1]=39}while(0);if(f[K>>2]|0){d[O+22>>1]=1;f[Q+816>>2]=O;k=O+8|0;f[k>>2]=1;f[k+4>>2]=0;f[Q+756>>2]=I;d[Q+72>>1]=1;k=f[Q+8>>2]|0;if(k|0)b[Q+47>>0]=f[k>>2];if(!(d[R>>1]&256)){na=329;break}b[Q+51>>0]=1;na=329}else na=252}else na=252;while(0);if((na|0)==252){E=f[T>>2]|0;k=f[E+4>>2]|0;R=b[E+46>>0]|0;F=k+8+((R&255)*72|0)|0;H=f[f[E>>2]>>2]|0;G=f[M>>2]|0;I=G+56|0;J=G+48|0;f[J>>2]=I;K=G+40|0;d[K>>1]=0;L=G+44|0;d[L>>1]=3;M=G+36|0;f[M>>2]=0;z=T+24|0;f[z>>2]=2e4;u:do if(R<<24>>24){A=G+16|0;B=E+492|0;C=G+8|0;D=H+81|0;s=0;y=0;m=k+8|0;o=2e4;r=0;n=0;q=0;x=0;v:while(1){b[A>>0]=y;f[z>>2]=o+1e3;o=f[m+40>>2]|0;u=f[B>>2]|0;p=(u|0)>0;w:do if(p){k=0;while(1){if((f[E+496+(k<<2)>>2]|0)==(o|0))break;k=k+1|0;if((k|0)>=(u|0)){k=0;o=0;break w}}k=WA(1,0,k|0)|0;o=ba()|0}else{k=0;o=0}while(0);v=C;f[v>>2]=k;f[v+4>>2]=o;v=b[m+36>>0]|0;w=((v|s)&10)==0;e=w?r:n;w=w?q:x;if(!(f[(f[m+16>>2]|0)+56>>2]|0)){k=Cn(T,e,w)|0;p=0;o=0}else{k=m+72|0;if(k>>>0>=F>>>0|p^1){p=0;o=0}else{q=m;p=0;o=0;while(1){if((p|0)==0&(o|0)==0?(b[q+108>>0]&10)==0:0){p=0;o=0}else{r=f[q+112>>2]|0;q=0;while(1){if((f[E+496+(q<<2)>>2]|0)==(r|0)){na=267;break}q=q+1|0;if((q|0)>=(u|0)){q=0;r=0;break}}if((na|0)==267){na=0;q=WA(1,0,q|0)|0;r=ba()|0}p=q|p;o=r|o}q=k+72|0;if(q>>>0>>0){R=k;k=q;q=R}else break}}k=Bn(T,e,w,p,o)|0}do if(!k)if(!(b[(f[aa>>2]|0)+9>>0]|0)){k=C;n=f[k>>2]|n;k=f[k+4>>2]|x;na=277;break}else{k=Dn(T,e,w,p,o)|0;na=276;break}else na=276;while(0);x:do if((na|0)==276){na=0;o=C;n=f[o>>2]|n;o=f[o+4>>2]|x;switch(k|0){case 0:{k=o;na=277;break x}case 101:break;default:break v}Ac(28,56492,U);k=o}while(0);if((na|0)==277){na=0;if(b[D>>0]|0){k=0;break}}m=m+72|0;if(m>>>0>=F>>>0){k=0;break}s=v;y=y+1|0;o=f[z>>2]|0;r=e;q=w;x=k}m=f[J>>2]|0;if((m|0)!=(I|0)){do if(H|0){if(f[H+480>>2]|0){Kc(H,m);o=k;break u}n=m;if((f[H+304>>2]|0)>>>0>n>>>0)break;if((f[H+308>>2]|0)>>>0<=n>>>0)break;o=H+300|0;f[m>>2]=f[o>>2];f[o>>2]=m;o=k;break u}while(0);if(m)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);o=k;break}else{o=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);o=k;break}else o=k}else o=k}else o=0;while(0);k=f[M>>2]|0;do if(k&17408|0){if(k&1024|0?(X=G+28|0,b[X>>0]|0):0){k=G+32|0;m=f[k>>2]|0;do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{Y=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);b[X>>0]=0;f[k>>2]=0;break}if(k&16384|0?(Y=G+32|0,V=f[Y>>2]|0,V|0):0){k=f[V+16>>2]|0;y:do if(k){do if(H|0){m=H+480|0;if(!(f[m>>2]|0)){n=k;if((f[H+304>>2]|0)>>>0>n>>>0)break;if((f[H+308>>2]|0)>>>0<=n>>>0)break;na=H+300|0;f[k>>2]=f[na>>2];f[na>>2]=k}else Kc(H,k);k=f[Y>>2]|0;na=315;break y}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);na=313;break}else{na=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);na=313;break}}else na=313;while(0);do if((na|0)==313){k=f[Y>>2]|0;if(!H){na=320;break}m=H+480|0;na=315}while(0);do if((na|0)==315){if(f[m>>2]|0){Kc(H,k);break}m=k;if((f[H+304>>2]|0)>>>0>m>>>0){na=320;break}if((f[H+308>>2]|0)>>>0<=m>>>0){na=320;break}X=H+300|0;f[k>>2]=f[X>>2];f[X>>2]=k}while(0);do if((na|0)==320){if(!k)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{X=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-X;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);f[Y>>2]=0}}while(0);f[J>>2]=I;d[K>>1]=0;d[L>>1]=3;f[M>>2]=0;if(o|0){na=714;break}En(g,0);if(b[va>>0]|0){na=714;break}if(f[W>>2]|0){En(g,(j[g+72>>1]|0)+1&65535);if(!(b[va>>0]|0))na=329;else break}else na=330}if((na|0)==329?(f[W>>2]|0)==0:0)na=330;if((na|0)==330?!(0==0?(f[Ba+32>>2]&4096|0)==0:0):0){Y=g+64|0;f[Y>>2]=-1;f[Y+4>>2]=-1}if((f[a+36>>2]|0)==0?(b[va>>0]|0)==0:0){z:do if((i|0)!=0&(h[Aa>>0]|0)>1?(d[_>>1]&256)==0:0){k=f[i>>2]|0;if((k|0)>0){q=0;p=0;n=0;while(1){m=f[i+4+(q*20|0)>>2]|0;if(!m){m=0;o=0}else{m=Fn(Z,m)|0;o=ba()|0;k=f[i>>2]|0}m=m|p;n=o|n;q=q+1|0;if((q|0)>=(k|0)){s=m;u=n;break}else p=m}}else{s=0;u=0}r=f[$>>2]|0;if(r){n=f[r>>2]|0;if((n|0)>0){q=0;k=0;m=0;do{o=f[r+4+(q*20|0)>>2]|0;if(!o){o=0;p=0}else{o=Fn(Z,o)|0;p=ba()|0;n=f[r>>2]|0}k=o|k;m=p|m;q=q+1|0}while((q|0)<(n|0))}else{k=0;m=0}s=k|s;u=m|u}k=b[Aa>>0]|0;m=k&255;n=m+-1|0;if((k&255)<=1){J=-1;I=-1;break}if(!S){o=ca;B=n;z=-1;n=-1;while(1){A=ta+(B*80|0)|0;p=f[ta+(B*80|0)+64>>2]|0;q=f[da>>2]|0;r=h[p+16>>0]|0;A:do if(!(b[q+8+(r*72|0)+36>>0]&8))m=z;else{y=p+8|0;w=f[y>>2]|0;y=f[y+4>>2]|0;if(!((w&s|0)==0&(y&u|0)==0)){m=z;break}e=f[aa>>2]|0;v=f[e+20>>2]|0;e=f[e+12>>2]|0;x=v+(e*48|0)|0;e=(e|0)>0;do if(e){q=q+8+(r*72|0)+40|0;p=v;do{ca=p+40|0;if(!((f[ca>>2]&w|0)==0?(f[ca+4>>2]&y|0)==0:0)){r=f[p>>2]|0;if(!(f[r+4>>2]&1)){m=z;break A}if((f[q>>2]|0)!=(d[r+36>>1]|0)){m=z;break A}}p=p+48|0}while(p>>>0>>0);q=z&~w;p=n&~y;if(!e)break;n=v;do{ca=n+40|0;if(!((f[ca>>2]&w|0)==0?(f[ca+4>>2]&y|0)==0:0)){ca=n+10|0;d[ca>>1]=d[ca>>1]|4}n=n+48|0}while(n>>>0>>0)}else{q=z&~w;p=n&~y}while(0);n=(k&255)+-1|0;if((n|0)!=(B|0)){ZA(A|0,ta+(m*80|0)|0,(n-B|0)*80|0)|0;k=b[Aa>>0]|0}k=k+-1<<24>>24;b[Aa>>0]=k;o=o+-1|0;m=q;n=p}while(0);if((B|0)>1){ca=B;B=B+-1|0;z=m;m=ca}else{ca=o;J=m;I=n;break z}}}o=ca;B=n;z=-1;n=-1;while(1){A=ta+(B*80|0)|0;p=f[ta+(B*80|0)+64>>2]|0;q=f[da>>2]|0;r=h[p+16>>0]|0;B:do if(!(b[q+8+(r*72|0)+36>>0]&8))m=z;else{if(!(f[p+36>>2]&4096)){m=z;break}y=p+8|0;w=f[y>>2]|0;y=f[y+4>>2]|0;if(!((w&s|0)==0&(y&u|0)==0)){m=z;break}e=f[aa>>2]|0;v=f[e+20>>2]|0;e=f[e+12>>2]|0;x=v+(e*48|0)|0;e=(e|0)>0;do if(e){r=q+8+(r*72|0)+40|0;p=v;do{ca=p+40|0;if(!((f[ca>>2]&w|0)==0?(f[ca+4>>2]&y|0)==0:0)){q=f[p>>2]|0;if(!(f[q+4>>2]&1)){m=z;break B}if((f[r>>2]|0)!=(d[q+36>>1]|0)){m=z;break B}}p=p+48|0}while(p>>>0>>0);q=z&~w;p=n&~y;if(!e)break;n=v;do{ca=n+40|0;if(!((f[ca>>2]&w|0)==0?(f[ca+4>>2]&y|0)==0:0)){ca=n+10|0;d[ca>>1]=d[ca>>1]|4}n=n+48|0}while(n>>>0>>0)}else{q=z&~w;p=n&~y}while(0);n=(k&255)+-1|0;if((n|0)!=(B|0)){ZA(A|0,ta+(m*80|0)|0,(n-B|0)*80|0)|0;k=b[Aa>>0]|0}k=k+-1<<24>>24;b[Aa>>0]=k;o=o+-1|0;m=q;n=p}while(0);if((B|0)>1){ca=B;B=B+-1|0;z=m;m=ca}else{ca=o;J=m;I=n;break}}}else{J=-1;I=-1}while(0);da=(f[g>>2]|0)+128|0;f[da>>2]=(f[da>>2]|0)+(d[g+72>>1]|0);do if(ea&4){k=(f[g+816>>2]|0)+36|0;m=f[k>>2]|0;n=m&4096;if(!n){if(!((ea&8|0)!=0&(m&1024|0)==0)){D=0;break}if((ea&16|0)==0&(m&8192|0)!=0){D=0;break}}b[g+49>>0]=2-(n>>>12);if(!((m&64|0)==0?1:(f[(f[c+24>>2]|0)+36>>2]&32|0)!=0)){f[k>>2]=m&-65;D=wa&8}else D=0}else D=0;while(0);H=(ca|0)>0;if(H){E=Ba+16|0;F=a+116|0;G=g+49|0;x=fa^1;y=la+136|0;C=(l|0)==0|x;z=la+88|0;A=a+40|0;B=g+51|0;e=ta;w=0;while(1){p=h[e+44>>0]|0;u=c+8+(p*72|0)+16|0;o=f[u>>2]|0;m=f[o+72>>2]|0;if(!m)v=-1e6;else{n=f[E>>2]|0;k=0;while(1)if((f[n+(k<<4)+12>>2]|0)==(m|0)){v=k;break}else k=k+1|0}r=f[e+64>>2]|0;s=o+36|0;do if(!(f[s>>2]&2)){if(f[o+12>>2]|0)break;k=f[r+36>>2]|0;if(k&1024|0){k=f[o+64>>2]|0;C:do if(!k)o=0;else while(1){if((f[k>>2]|0)==(Ba|0)){o=k;break C}k=f[k+24>>2]|0;if(!k){o=0;break}}while(0);m=f[c+8+(p*72|0)+40>>2]|0;k=f[y>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(k|0)){f[y>>2]=k+1;fa=f[z>>2]|0;b[fa+(k*20|0)>>0]=-92;d[fa+(k*20|0)+2>>1]=0;f[fa+(k*20|0)+4>>2]=m;f[fa+(k*20|0)+8>>2]=0;f[fa+(k*20|0)+12>>2]=0;f[fa+(k*20|0)+16>>2]=0;b[fa+(k*20|0)+1>>0]=0}else k=tl(la,164,m,0,0)|0;if(b[(f[la>>2]|0)+81>>0]|0)break;if((k|0)<0)k=(f[y>>2]|0)+-1|0;m=f[z>>2]|0;n=m+(k*20|0)+1|0;if(b[n>>0]|0){ul(la,m+(k*20|0)|0,o,-12);break}if(!o)break;f[m+(k*20|0)+16>>2]=o;b[n>>0]=-12;fa=o+12|0;f[fa>>2]=(f[fa>>2]|0)+1;break}if(f[o+56>>2]|0)break;if(k&64|ka|0){nm(a,v,f[o+28>>2]|0,0,f[o>>2]|0);break}m=c+8+(p*72|0)+40|0;if(!(b[G>>0]|0))k=109;else{f[ia>>2]=f[m>>2];k=110}vl(a,f[m>>2]|0,v,o,k);do if(!(b[G>>0]|0)){if((d[o+42>>1]|0)>=64)break;if(f[s>>2]&32|0)break;n=c+8+(p*72|0)+56|0;k=f[n>>2]|0;n=f[n+4>>2]|0;if((k|0)==0&(n|0)==0)m=0;else{m=0;do{k=VA(k|0,n|0,1)|0;n=ba()|0;m=m+1|0}while(!((k|0)==0&(n|0)==0))}if(b[(f[la>>2]|0)+81>>0]|0)break;k=(f[y>>2]|0)+-1|0;n=f[z>>2]|0;o=n+(k*20|0)+1|0;if(!(b[o>>0]|0)){f[n+(k*20|0)+16>>2]=m;b[o>>0]=-3;break}else{ul(la,n+(k*20|0)|0,m,-3);break}}while(0);k=f[y>>2]|0;if((k|0)<=0)break;d[(f[z>>2]|0)+((k+-1|0)*20|0)+2>>1]=D}while(0);q=r+36|0;D:do if(f[q>>2]&512|0){p=f[r+32>>2]|0;do if(f[s>>2]&32|0){fa=p+55|0;if(((h[fa>>0]|h[fa+1>>0]<<8)&3)!=2|x)break;f[e+8>>2]=f[e+4>>2];break D}while(0);do if(!(b[G>>0]|0)){if(!C){o=108;k=l;break}k=f[A>>2]|0;f[A>>2]=k+1;o=109}else{k=f[(f[u>>2]|0)+8>>2]|0;if((k|0)==0|(k|0)==(p|0))k=l;else{m=l;do{m=m+1|0;k=f[k+20>>2]|0}while(!((k|0)==0|(k|0)==(p|0)));k=m}f[ja>>2]=k;o=110}while(0);f[e+8>>2]=k;m=f[p+44>>2]|0;n=f[y>>2]|0;if((f[(f[ha>>2]|0)+48>>2]|0)>(n|0)){f[y>>2]=n+1;fa=f[z>>2]|0;b[fa+(n*20|0)>>0]=o;d[fa+(n*20|0)+2>>1]=0;f[fa+(n*20|0)+4>>2]=k;f[fa+(n*20|0)+8>>2]=m;f[fa+(n*20|0)+12>>2]=v;f[fa+(n*20|0)+16>>2]=0;b[fa+(n*20|0)+1>>0]=0}else tl(la,o,k,m,v)|0;m=f[ya>>2]|0;n=om(a,p)|0;E:do if(n|0){k=f[m>>2]|0;if(!(b[k+81>>0]|0)){ea=f[m+88>>2]|0;fa=(f[m+136>>2]|0)+-1|0;b[ea+(fa*20|0)+1>>0]=-9;f[ea+(fa*20|0)+16>>2]=n;break}if(f[k+480>>2]|0)break;fa=(f[n>>2]|0)+-1|0;f[n>>2]=fa;if(fa|0)break;k=f[n+12>>2]|0;do if(k|0){if(f[k+480>>2]|0){Kc(k,n);break E}m=n;if((f[k+304>>2]|0)>>>0>m>>>0)break;if((f[k+308>>2]|0)>>>0<=m>>>0)break;fa=k+300|0;f[n>>2]=f[fa>>2];f[fa>>2]=n;break E}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{fa=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);fa=f[q>>2]|0;if(!((fa&15|0)!=0&(fa&32770|0)==0))break;if(d[ga>>1]&1)break;if((b[B>>0]|0)==2)break;k=f[y>>2]|0;if((k|0)<=0)break;d[(f[z>>2]|0)+((k+-1|0)*20|0)+2>>1]=2}while(0);F:do if((v|0)>-1){o=f[F>>2]|0;o=(o|0)==0?a:o;k=o+84|0;m=f[k>>2]|0;n=1<>2]=m|n;if((v|0)!=1)break;s=f[o>>2]|0;k=s+16|0;if(f[(f[k>>2]|0)+20>>2]|0)break;if(b[o+195>>0]|0)break;m=cj(f[s>>2]|0,0,s,xa,0,542)|0;if(m|0){ni(o,51535,ma);f[o+12>>2]=m;break}fa=f[xa>>2]|0;f[(f[k>>2]|0)+20>>2]=fa;k=f[s+92>>2]|0;o=f[fa+4>>2]|0;f[o+4>>2]=f[fa>>2];do if(!(d[o+22>>1]&2)){p=o+32|0;q=o+36|0;r=(f[p>>2]|0)-(f[q>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[p>>2]=k;n=o+80|0;k=f[n>>2]|0;if(!k)break;m=k+-4|0;f[n>>2]=m;k=m;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[m>>2]=f[18025];f[18025]=m;fa=(f[18026]|0)+1|0;f[18026]=fa;f[18027]=(fa|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](m)|0;na=484;break}else{k=ib[f[37368>>2]&255](m)|0;na=484}while(0);do if((na|0)==484){na=0;f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{fa=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);f[n>>2]=0}while(0);fa=ih(f[o>>2]|0,p,r)|0;f[q>>2]=(f[p>>2]|0)-(r&65535);if((fa|0)!=7)break;k=s+81|0;do if(!(b[k>>0]|0)){if(b[s+82>>0]|0)break;b[k>>0]=1;if((f[s+180>>2]|0)>0)f[s+264>>2]=1;fa=s+272|0;f[fa>>2]=(f[fa>>2]|0)+1}while(0);break F}while(0)}while(0);w=w+1|0;if((w|0)==(ca|0)){aa=y;break}else e=e+80|0}}else aa=la+136|0;f[g+56>>2]=f[aa>>2];if(!(b[va>>0]|0)){if(!H){Ba=g;t=Ca;return Ba|0}W=xa+20|0;X=xa+4|0;Y=xa+8|0;Z=xa+24|0;_=a+40|0;i=a+19|0;$=a+44|0;V=0;U=J;do{T=ta+(V*80|0)|0;m=ta+(V*80|0)+64|0;if(f[(f[m>>2]|0)+36>>2]&16384|0){O=ta+(V*80|0)+44|0;J=h[O>>0]|0;S=f[ya>>2]|0;R=S+136|0;k=f[R>>2]|0;P=S+12|0;if((f[(f[P>>2]|0)+48>>2]|0)>(k|0)){f[R>>2]=k+1;A=f[S+88>>2]|0;b[A+(k*20|0)>>0]=17;A=A+(k*20|0)+1|0;C=A+19|0;do{b[A>>0]=0;A=A+1|0}while((A|0)<(C|0));Q=k}else Q=tl(S,17,0,0,0)|0;L=c+8+(J*72|0)+16|0;H=f[L>>2]|0;k=f[pa>>2]|0;ma=f[oa>>2]|0;M=k+(ma*48|0)|0;G=f[m>>2]|0;G:do if((ma|0)>0){z=c+8+(J*72|0)+40|0;A=c+8+(J*72|0)+36|0;B=H+4|0;C=G+44|0;D=G+48|0;E=G+56|0;x=0;y=k;p=0;k=0;m=0;n=0;while(1){o=f[y>>2]|0;ma=G;do if((f[ma>>2]|0)==0&(f[ma+4>>2]|0)==0){if(d[y+10>>1]&2)break;if(f[o+4>>2]&1|0)break;ma=f[z>>2]|0;b[W>>0]=3;f[X>>2]=155;f[Y>>2]=156;f[Z>>2]=ma;oi(xa,o)|0;if(!(b[W>>0]|0))break;ma=f[a>>2]|0;k=kl(ma,k,Bk(ma,o,0,0)|0)|0}while(0);do if((f[y+20>>2]|0)==(f[z>>2]|0)){o=j[y+12>>1]|0;if(!(o&130)){o=x;break}if(b[A>>0]&8?!((o&128|0)==0?1:(f[(f[y>>2]|0)+4>>2]&1|0)!=0):0){o=x;break}ma=y+32|0;if(!((f[ma>>2]&U|0)==0?(f[ma+4>>2]&I|0)==0:0)){o=x;break}o=f[y+28>>2]|0;if((o|0)<0){o=x;break}if(!(Gn(f[y>>2]|0,b[(f[(f[L>>2]|0)+4>>2]|0)+(o<<4)+13>>0]|0)|0)){o=x;break}ma=(o|0)>63;e=WA(1,0,o|0)|0;w=ba()|0;e=ma?0:e;w=ma?-2147483648:w;if(!(p<<24>>24)){v=f[(f[B>>2]|0)+(o<<4)>>2]|0;f[za>>2]=f[H>>2];f[za+4>>2]=v;Ac(284,56527,za);v=1}else v=p;if(!((e&m|0)==0&(w&n|0)==0)){p=v;o=x;break}s=f[a>>2]|0;o=x+1|0;if((x|0)<(j[C>>1]|0))p=f[D>>2]|0;else{u=x+8&-8;r=u<<2;H:do if(f[s+272>>2]|0)if(!(b[s+81>>0]|0))na=533;else break G;else{do if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0))){q=s+300|0;p=f[q>>2]|0;if(p|0){f[q>>2]=f[p>>2];ma=s+284|0;f[ma>>2]=(f[ma>>2]|0)+1;break H}q=s+296|0;p=f[q>>2]|0;if(!p){p=s+292|0;break}else{f[q>>2]=f[p>>2];ma=s+284|0;f[ma>>2]=(f[ma>>2]|0)+1;break H}}else p=s+288|0;while(0);f[p>>2]=(f[p>>2]|0)+1;na=533}while(0);if((na|0)==533){na=0;p=Dc(s,r,0)|0}if(!p)break G;YA(p|0,f[D>>2]|0,j[C>>1]<<2|0)|0;q=f[D>>2]|0;I:do if((q|0)!=(E|0)){if(f[s+480>>2]|0){Kc(s,q);break}r=q;do if((f[s+304>>2]|0)>>>0<=r>>>0){if((f[s+308>>2]|0)>>>0<=r>>>0)break;ma=s+300|0;f[q>>2]=f[ma>>2];f[ma>>2]=q;break I}while(0);if(!q)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{ma=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-ma;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}while(0);f[D>>2]=p;d[C>>1]=u}f[p+(x<<2)>>2]=y;p=v;m=e|m;n=w|n}else o=x;while(0);y=y+48|0;if(y>>>0>=M>>>0){na=548;break}else x=o}}else{o=0;k=0;n=0;m=0;na=548}while(0);J:do if((na|0)==548){na=0;N=o&65535;d[G+40>>1]=N;d[G+24>>1]=N;N=G+36|0;f[N>>2]=16961;E=c+8+(J*72|0)+56|0;C=E;q=f[C+4>>2]|0;C=f[C>>2]&~m;A=q&((n|-2147483648)^2147483647);F=H+42|0;z=d[F>>1]|0;p=z<<16>>16;B=(z<<16>>16<63?z:63)<<16>>16;z=z<<16>>16>0;if(z){n=0;m=o;do{ma=WA(1,0,n|0)|0;m=m+(((ma&C|0)!=0|((ba()|0)&A|0)!=0)&1)|0;n=n+1|0}while((n|0)<(B|0))}else m=o;r=f[a>>2]|0;D=((q|0)<0?p+-62|0:1)+m|0;u=D&65535;e=D<<16;v=e>>16;q=(e>>14)+7&-8;e=e>>15;s=e+2|0;p=q+72+(v+7+e+s&-8)|0;o=((p|0)<0)<<31>>31;K:do if(!r){ma=KA(p|0,o|0,-1,-1)|0;l=ba()|0;if(l>>>0>0|(l|0)==0&ma>>>0>2147483390)break J;if(!(f[9328]|0)){m=ib[f[37356>>2]&255](p)|0;na=575;break}m=ib[f[37372>>2]&255](p)|0;if((f[18194]|0)>>>0

>>0)f[18194]=p;o=71896;n=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&n>>>0>0){ma=f[18187]|0;l=LA(n|0,o|0,m|0,((m|0)<0)<<31>>31|0)|0;la=ba()|0;f[17976]=((la|0)<0|(la|0)==0&l>>>0<=ma>>>0)&1}n=ib[f[37356>>2]&255](m)|0;if(!n)break J;m=ib[f[37368>>2]&255](n)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0<=(f[18196]|0)>>>0){K=n;break}f[18196]=m;K=n}else{if(f[r+272>>2]|0){if(b[r+81>>0]|0)break J}else{do if(!(0>>0|(0==(o|0)?(j[r+276>>1]|0)>>>0

>>0:0))){n=r+300|0;m=f[n>>2]|0;if(m|0){f[n>>2]=f[m>>2];na=r+284|0;f[na>>2]=(f[na>>2]|0)+1;na=575;break K}n=r+296|0;m=f[n>>2]|0;if(!m){m=r+292|0;break}else{f[n>>2]=f[m>>2];na=r+284|0;f[na>>2]=(f[na>>2]|0)+1;na=575;break K}}else m=r+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1}m=Dc(r,p,o)|0;na=575}while(0);if((na|0)==575){na=0;if(!m)break;else K=m}_A(K|0,0,p|0)|0;n=K+72|0;y=K+32|0;f[y>>2]=n;n=n+q|0;f[K+8>>2]=n;n=n+s|0;x=K+4|0;f[x>>2]=n;f[K+28>>2]=n+e;d[K+52>>1]=u;d[K+50>>1]=v+65535;f[G+32>>2]=K;f[K>>2]=56553;f[K+12>>2]=H;n=f[pa>>2]|0;if(n>>>0>>0){w=c+8+(J*72|0)+40|0;e=c+8+(J*72|0)+36|0;m=0;p=0;u=0;while(1){do if((f[n+20>>2]|0)==(f[w>>2]|0)){o=j[n+12>>1]|0;if(!(o&130)){o=u;break}if(b[e>>0]&8?!((o&128|0)==0?1:(f[(f[n>>2]|0)+4>>2]&1|0)!=0):0){o=u;break}ma=n+32|0;if(!((f[ma>>2]&U|0)==0?(f[ma+4>>2]&I|0)==0:0)){o=u;break}r=f[n+28>>2]|0;if((r|0)<0){o=u;break}s=f[n>>2]|0;if(!(Gn(s,b[(f[(f[L>>2]|0)+4>>2]|0)+(r<<4)+13>>0]|0)|0)){o=u;break}ma=(r|0)>63;o=WA(1,0,r|0)|0;q=ba()|0;o=ma?0:o;q=ma?-2147483648:q;if(!((o&p|0)==0&(q&u|0)==0)){o=u;break}v=o|p;q=q|u;d[(f[x>>2]|0)+(m<<1)>>1]=r;o=f[s+12>>2]|0;p=f[s+16>>2]|0;L:do if(!(f[o+4>>2]&256)){do if(p|0){if(!(f[p+4>>2]&256))break;o=Zk(a,p)|0;na=593;break L}while(0);o=Zk(a,o)|0;if(o|0){na=594;break}o=Zk(a,p)|0;na=593}else{o=Zk(a,o)|0;na=593}while(0);if((na|0)==593){na=0;if(!o)o=43030;else na=594}if((na|0)==594){na=0;o=f[o>>2]|0}f[(f[y>>2]|0)+(m<<2)>>2]=o;m=m+1|0;p=v;o=q}else o=u;while(0);n=n+48|0;if(n>>>0>=M>>>0)break;else u=o}}else m=0;if(z){n=0;do{ma=WA(1,0,n|0)|0;if(!((ma&C|0)==0&((ba()|0)&A|0)==0)){d[(f[x>>2]|0)+(m<<1)>>1]=n;f[(f[y>>2]|0)+(m<<2)>>2]=43030;m=m+1|0}n=n+1|0}while((n|0)<(B|0))}do if((f[E+4>>2]|0)<0){if((d[F>>1]|0)<=63){B=m;break}n=63;do{d[(f[x>>2]|0)+(m<<1)>>1]=n;f[(f[y>>2]|0)+(m<<2)>>2]=43030;m=m+1|0;n=n+1|0}while((n|0)<(d[F>>1]|0));B=m}else B=m;while(0);d[(f[x>>2]|0)+(B<<1)>>1]=-1;f[(f[y>>2]|0)+(B<<2)>>2]=43030;m=f[_>>2]|0;f[_>>2]=m+1;z=ta+(V*80|0)+8|0;f[z>>2]=m;n=f[R>>2]|0;if((f[(f[P>>2]|0)+48>>2]|0)>(n|0)){f[R>>2]=n+1;ma=f[S+88>>2]|0;b[ma+(n*20|0)>>0]=112;d[ma+(n*20|0)+2>>1]=0;f[ma+(n*20|0)+4>>2]=m;f[ma+(n*20|0)+8>>2]=D;f[ma+(n*20|0)+12>>2]=0;f[ma+(n*20|0)+16>>2]=0;b[ma+(n*20|0)+1>>0]=0}else tl(S,112,m,D,0)|0;m=f[ya>>2]|0;o=om(a,K)|0;M:do if(o|0){n=f[m>>2]|0;if(!(b[n+81>>0]|0)){l=f[m+88>>2]|0;ma=(f[m+136>>2]|0)+-1|0;b[l+(ma*20|0)+1>>0]=-9;f[l+(ma*20|0)+16>>2]=o;break}if(f[n+480>>2]|0)break;ma=(f[o>>2]|0)+-1|0;f[o>>2]=ma;if(ma|0)break;m=f[o+12>>2]|0;do if(m|0){if(f[m+480>>2]|0){Kc(m,o);break M}n=o;if((f[m+304>>2]|0)>>>0>n>>>0)break;if((f[m+308>>2]|0)>>>0<=n>>>0)break;ma=m+300|0;f[o>>2]=f[ma>>2];f[ma>>2]=o;break M}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ma=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ma;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);y=f[(f[ua>>2]|0)+4>>2]|0;x=h[O>>0]|0;w=y+8+(x*72|0)+37|0;do if(!(b[w>>0]&16)){m=f[ta+(V*80|0)+4>>2]|0;n=f[R>>2]|0;if((f[(f[P>>2]|0)+48>>2]|0)>(n|0)){f[R>>2]=n+1;A=f[S+88>>2]|0;b[A+(n*20|0)>>0]=36;d[A+(n*20|0)+2>>1]=0;f[A+(n*20|0)+4>>2]=m;f[A+(n*20|0)+8>>2]=0;f[A+(n*20|0)+12>>2]=0;f[A+(n*20|0)+16>>2]=0;b[A+(n*20|0)+1>>0]=0;A=n;m=0;break}else{A=tl(S,36,m,0,0)|0;m=0;break}}else{p=f[y+8+(x*72|0)+28>>2]|0;m=f[R>>2]|0;if((f[(f[P>>2]|0)+48>>2]|0)>(m|0)){f[R>>2]=m+1;A=f[S+88>>2]|0;b[A+(m*20|0)>>0]=70;A=A+(m*20|0)+1|0;C=A+19|0;do{b[A>>0]=0;A=A+1|0}while((A|0)<(C|0))}else m=tl(S,70,0,0,0)|0;n=f[y+8+(x*72|0)+24>>2]|0;o=f[R>>2]|0;if((f[(f[P>>2]|0)+48>>2]|0)>(o|0)){f[R>>2]=o+1;ma=f[S+88>>2]|0;b[ma+(o*20|0)>>0]=13;d[ma+(o*20|0)+2>>1]=0;f[ma+(o*20|0)+4>>2]=p;f[ma+(o*20|0)+8>>2]=0;f[ma+(o*20|0)+12>>2]=n;f[ma+(o*20|0)+16>>2]=0;b[ma+(o*20|0)+1>>0]=0}else tl(S,13,p,0,n)|0;n=f[R>>2]|0;if((f[(f[P>>2]|0)+48>>2]|0)>(n|0)){f[R>>2]=n+1;A=f[S+88>>2]|0;b[A+(n*20|0)>>0]=14;d[A+(n*20|0)+2>>1]=0;f[A+(n*20|0)+4>>2]=p;f[A+(n*20|0)+8>>2]=0;f[A+(n*20|0)+12>>2]=0;f[A+(n*20|0)+16>>2]=0;b[A+(n*20|0)+1>>0]=0;A=n;break}else{A=tl(S,14,p,0,0)|0;break}}while(0);e=(k|0)!=0;if(e){n=f[P>>2]|0;u=n+60|0;v=f[u>>2]|0;f[u>>2]=v+1;u=n+64|0;if(!(v+-1&v)){r=v<<3|4;s=f[n>>2]|0;n=f[u>>2]|0;N:do if(n){p=n;q=s+304|0;do if((f[q>>2]|0)>>>0<=p>>>0){if((f[s+308>>2]|0)>>>0<=p>>>0)break;if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0)))break N}while(0);o=Lc(s,n,r,0)|0;if(o|0){n=o;break}if(f[s+480>>2]|0){Kc(s,n);n=0;break}do if((f[q>>2]|0)>>>0<=p>>>0){if((f[s+308>>2]|0)>>>0<=p>>>0)break;ma=s+300|0;f[n>>2]=f[ma>>2];f[ma>>2]=n;n=0;break N}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);n=0;break}else{ma=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-ma;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);n=0;break}}else{if(f[s+272>>2]|0){if(b[s+81>>0]|0){n=0;break}}else{do if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0))){o=s+300|0;n=f[o>>2]|0;if(n|0){f[o>>2]=f[n>>2];ma=s+284|0;f[ma>>2]=(f[ma>>2]|0)+1;break N}o=s+296|0;n=f[o>>2]|0;if(!n){n=s+292|0;break}else{f[o>>2]=f[n>>2];ma=s+284|0;f[ma>>2]=(f[ma>>2]|0)+1;break N}}else n=s+288|0;while(0);f[n>>2]=(f[n>>2]|0)+1}n=Dc(s,r,0)|0}while(0);f[u>>2]=n}else n=f[u>>2]|0;if(n|0)f[n+(v<<2)>>2]=-1;p=~v;zm(a,k,p,16);f[N>>2]=f[N>>2]|131072}else p=0;n=b[i>>0]|0;if(!(n<<24>>24)){s=(f[$>>2]|0)+1|0;f[$>>2]=s}else{s=n+-1<<24>>24;b[i>>0]=s;s=f[a+144+((s&255)<<2)>>2]|0}r=ta+(V*80|0)+4|0;q=xm(a,K,f[r>>2]|0,s,0,0,0,0)|0;n=f[z>>2]|0;o=f[R>>2]|0;if((f[(f[P>>2]|0)+48>>2]|0)>(o|0)){f[R>>2]=o+1;ma=f[S+88>>2]|0;b[ma+(o*20|0)>>0]=-123;d[ma+(o*20|0)+2>>1]=0;f[ma+(o*20|0)+4>>2]=n;f[ma+(o*20|0)+8>>2]=s;f[ma+(o*20|0)+12>>2]=0;f[ma+(o*20|0)+16>>2]=0;b[ma+(o*20|0)+1>>0]=0}else tl(S,133,n,s,0)|0;o=f[R>>2]|0;if((o|0)>0)d[(f[S+88>>2]|0)+((o+-1|0)*20|0)+2>>1]=16;do if(e){n=f[(f[P>>2]|0)+64>>2]|0;if(!n)break;f[n+(~p<<2)>>2]=o}while(0);do if(!(b[w>>0]&16)){m=f[r>>2]|0;n=A+1|0;o=f[R>>2]|0;if((f[(f[P>>2]|0)+48>>2]|0)>(o|0)){f[R>>2]=o+1;ma=f[S+88>>2]|0;b[ma+(o*20|0)>>0]=5;d[ma+(o*20|0)+2>>1]=0;f[ma+(o*20|0)+4>>2]=m;f[ma+(o*20|0)+8>>2]=n;f[ma+(o*20|0)+12>>2]=0;f[ma+(o*20|0)+16>>2]=0;b[ma+(o*20|0)+1>>0]=0;break}else{tl(S,5,m,n,0)|0;break}}else{if((m|0)<0)m=(f[R>>2]|0)+-1|0;if(!(b[(f[S>>2]|0)+81>>0]|0))m=(f[S+88>>2]|0)+(m*20|0)|0;else m=72144;f[m+8>>2]=q+B;r=f[r>>2]|0;q=f[y+8+(x*72|0)+32>>2]|0;n=f[ya>>2]|0;if((A|0)<0)m=(f[n+136>>2]|0)+-1|0;else m=A;if(!(b[(f[n>>2]|0)+81>>0]|0))m=(f[n+88>>2]|0)+(m*20|0)|0;else m=72144;p=f[n+136>>2]|0;if((p|0)>(A|0)?(b[(f[a>>2]|0)+81>>0]|0)==0:0){n=A;while(1){o=m+4|0;O:do if((f[o>>2]|0)==(r|0))switch(b[m>>0]|0){case 90:{b[m>>0]=78;l=m+8|0;f[o>>2]=(f[l>>2]|0)+q;ma=m+12|0;f[l>>2]=f[ma>>2];f[ma>>2]=0;break O}case -127:{b[m>>0]=83;ma=m+8|0;f[o>>2]=f[ma>>2];f[ma>>2]=1;break O}default:break O}while(0);n=n+1|0;if((n|0)==(p|0))break;else m=m+20|0}}m=f[R>>2]|0;if((f[(f[P>>2]|0)+48>>2]|0)>(m|0)){f[R>>2]=m+1;ma=f[S+88>>2]|0;b[ma+(m*20|0)>>0]=11;d[ma+(m*20|0)+2>>1]=0;f[ma+(m*20|0)+4>>2]=0;f[ma+(m*20|0)+8>>2]=A;f[ma+(m*20|0)+12>>2]=0;f[ma+(m*20|0)+16>>2]=0;b[ma+(m*20|0)+1>>0]=0;break}else{tl(S,11,0,A,0)|0;break}}while(0);n=f[R>>2]|0;if((n|0)>0)d[(f[S+88>>2]|0)+((n+-1|0)*20|0)+2>>1]=3;o=(b[(f[S>>2]|0)+81>>0]|0)==0;if(o)m=(f[S+88>>2]|0)+(((A|0)<0?n+-1|0:A)*20|0)|0;else m=72144;f[m+8>>2]=n;do if(s){m=b[i>>0]|0;if((m&255)>=8)break;b[i>>0]=m+1<<24>>24;f[a+144+((m&255)<<2)>>2]=s;n=f[R>>2]|0}while(0);if(o)m=(f[S+88>>2]|0)+(((Q|0)<0?n+-1|0:Q)*20|0)|0;else m=72144;f[m+8>>2]=n}while(0);if(k|0)ig(f[a>>2]|0,k);if(b[va>>0]|0){na=714;break h}}Hn(a,c,T,wa);f[ta+(V*80|0)+32>>2]=f[aa>>2];U=In(g,V,U,I)|0;I=ba()|0;f[qa>>2]=f[ta+(V*80|0)+24>>2];V=V+1|0}while((V|0)<(ca|0));t=Ca;return g|0}}}else na=714;while(0);if((na|0)==714?(g|0)==0:0){Ba=0;t=Ca;return Ba|0}f[ra>>2]=f[sa>>2];k=b[Aa>>0]|0;P:do if(k<<24>>24){o=Ba+480|0;p=Ba+304|0;q=Ba+308|0;r=Ba+300|0;if(!Ba){m=0;while(1){za=f[g+752+(m*80|0)+64>>2]|0;if((za|0)!=0?(f[za+36>>2]&2048|0)!=0:0){k=f[g+752+(m*80|0)+60>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{za=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-za;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);k=b[Aa>>0]|0}m=m+1|0;if(m>>>0>=(k&255)>>>0)break P}}n=0;do{za=f[g+752+(n*80|0)+64>>2]|0;if((za|0)!=0?(f[za+36>>2]&2048|0)!=0:0){k=f[g+752+(n*80|0)+60>>2]|0;Q:do if(k|0){if(f[o>>2]|0){Kc(Ba,k);break}m=k;do if((f[p>>2]|0)>>>0<=m>>>0){if((f[q>>2]|0)>>>0<=m>>>0)break;f[k>>2]=f[r>>2];f[r>>2]=k;break Q}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{za=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-za;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);k=b[Aa>>0]|0}n=n+1|0}while(n>>>0<(k&255)>>>0)}while(0);un(ua);m=g+60|0;k=f[m>>2]|0;if(k|0)do{f[m>>2]=f[k+52>>2];vn(Ba,k);k=f[m>>2]|0}while((k|0)!=0);if(Ba|0){if(f[Ba+480>>2]|0){Kc(Ba,g);Ba=0;t=Ca;return Ba|0}Aa=g;if((f[Ba+304>>2]|0)>>>0<=Aa>>>0?(f[Ba+308>>2]|0)>>>0>Aa>>>0:0){Ba=Ba+300|0;f[g>>2]=f[Ba>>2];f[Ba>>2]=g;Ba=0;t=Ca;return Ba|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);Ba=0;t=Ca;return Ba|0}else{Ba=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Ba;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);Ba=0;t=Ca;return Ba|0}return 0}function tn(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;D=f[a>>2]|0;E=D+8|0;F=f[E>>2]|0;G=f[a+4>>2]|0;I=f[D>>2]|0;H=a+46|0;e=b[H>>0]|0;if(!(e<<24>>24))c=F+12|0;else{c=F+12|0;u=a+51|0;v=F+136|0;w=F+88|0;x=D+44|0;s=e&255;do{t=s;s=s+-1|0;n=f[a+752+(s*80|0)+64>>2]|0;r=a+752+(s*80|0)+45|0;if((b[r>>0]|0)==-85){e=f[(f[c>>2]|0)+64>>2]|0;if(e|0)f[e+(~f[a+752+(s*80|0)+24>>2]<<2)>>2]=f[v>>2]}else{do if((((((b[u>>0]|0)==2?(t|0)==(h[H>>0]|0):0)?(f[n+36>>2]&512|0)!=0:0)?(A=f[n+32>>2]|0,q=A+55|0,((h[q>>0]|h[q+1>>0]<<8)&128)!=0):0)?(q=d[n+30>>1]|0,B=q&65535,q<<16>>16!=0):0)?(d[(f[A+8>>2]|0)+(B<<1)>>1]|0)>35:0){l=(f[x>>2]|0)+1|0;k=a+752+(s*80|0)+8|0;e=0;do{g=f[k>>2]|0;i=e+l|0;j=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(j|0)){f[v>>2]=j+1;q=f[w>>2]|0;b[q+(j*20|0)>>0]=90;d[q+(j*20|0)+2>>1]=0;f[q+(j*20|0)+4>>2]=g;f[q+(j*20|0)+8>>2]=e;f[q+(j*20|0)+12>>2]=i;f[q+(j*20|0)+16>>2]=0;b[q+(j*20|0)+1>>0]=0}else tl(F,90,g,e,i)|0;e=e+1|0}while((e|0)!=(B|0));i=b[r>>0]|0;f[x>>2]=B+1+(f[x>>2]|0);i=i<<24>>24==4?22:25;g=f[k>>2]|0;e=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(e|0)){f[v>>2]=e+1;q=f[w>>2]|0;b[q+(e*20|0)>>0]=i;d[q+(e*20|0)+2>>1]=0;f[q+(e*20|0)+4>>2]=g;f[q+(e*20|0)+8>>2]=0;f[q+(e*20|0)+12>>2]=l;f[q+(e*20|0)+16>>2]=0;b[q+(e*20|0)+1>>0]=0}else e=tl(F,i,g,0,l)|0;if(!(b[(f[F>>2]|0)+81>>0]|0)){q=f[w>>2]|0;b[q+(e*20|0)+1>>0]=-3;f[q+(e*20|0)+16>>2]=B}g=f[a+752+(s*80|0)+52>>2]|0;i=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(i|0)){f[v>>2]=i+1;q=f[w>>2]|0;b[q+(i*20|0)>>0]=11;d[q+(i*20|0)+2>>1]=0;f[q+(i*20|0)+4>>2]=1;f[q+(i*20|0)+8>>2]=g;f[q+(i*20|0)+12>>2]=0;f[q+(i*20|0)+16>>2]=0;b[q+(i*20|0)+1>>0]=0;break}else{tl(F,11,1,g,0)|0;break}}else e=0;while(0);m=f[c>>2]|0;g=f[m+64>>2]|0;if(g|0)f[g+(~f[a+752+(s*80|0)+24>>2]<<2)>>2]=f[v>>2];g=b[r>>0]|0;i=f[a+752+(s*80|0)+48>>2]|0;j=f[a+752+(s*80|0)+52>>2]|0;k=h[a+752+(s*80|0)+46>>0]|0;l=f[v>>2]|0;if((f[m+48>>2]|0)>(l|0)){f[v>>2]=l+1;q=f[w>>2]|0;b[q+(l*20|0)>>0]=g;d[q+(l*20|0)+2>>1]=0;f[q+(l*20|0)+4>>2]=i;f[q+(l*20|0)+8>>2]=j;f[q+(l*20|0)+12>>2]=k;f[q+(l*20|0)+16>>2]=0;b[q+(l*20|0)+1>>0]=0}else tl(F,g&255,i,j,k)|0;g=f[v>>2]|0;if((g|0)>0)d[(f[w>>2]|0)+((g+-1|0)*20|0)+2>>1]=h[a+752+(s*80|0)+47>>0]|0;if(e|0){if(!(b[(f[F>>2]|0)+81>>0]|0))e=(f[w>>2]|0)+(((e|0)<0?g+-1|0:e)*20|0)|0;else e=72144;f[e+8>>2]=g}}q=n+36|0;do if(f[q>>2]&2048|0?(y=a+752+(s*80|0)+56|0,z=f[y>>2]|0,(z|0)>0):0){e=f[(f[c>>2]|0)+64>>2]|0;if(e){f[e+(~f[a+752+(s*80|0)+16>>2]<<2)>>2]=f[v>>2];e=f[y>>2]|0;if((e|0)<=0)break}else e=z;p=a+752+(s*80|0)+8|0;o=e;n=(f[a+752+(s*80|0)+60>>2]|0)+((e+-1|0)*20|0)|0;l=f[v>>2]|0;g=b[(f[F>>2]|0)+81>>0]|0;while(1){m=n+4|0;e=f[m>>2]|0;if(!(g<<24>>24))e=(f[w>>2]|0)+(((e|0)<-1?l+-1|0:e+1|0)*20|0)|0;else e=72144;f[e+8>>2]=l;j=n+16|0;do if((b[j>>0]|0)!=-85){k=f[n+12>>2]|0;if(k|0){e=f[p>>2]|0;g=l+2|0;i=f[n+8>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(l|0)){f[v>>2]=l+1;J=f[w>>2]|0;b[J+(l*20|0)>>0]=26;d[J+(l*20|0)+2>>1]=0;f[J+(l*20|0)+4>>2]=e;f[J+(l*20|0)+8>>2]=g;f[J+(l*20|0)+12>>2]=i;f[J+(l*20|0)+16>>2]=0;b[J+(l*20|0)+1>>0]=0;e=l}else e=tl(F,26,e,g,i)|0;if(!(b[(f[F>>2]|0)+81>>0]|0)){J=f[w>>2]|0;b[J+(e*20|0)+1>>0]=-3;f[J+(e*20|0)+16>>2]=k}}e=b[j>>0]|0;g=f[n>>2]|0;i=f[m>>2]|0;j=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(j|0)){f[v>>2]=j+1;J=f[w>>2]|0;b[J+(j*20|0)>>0]=e;d[J+(j*20|0)+2>>1]=0;f[J+(j*20|0)+4>>2]=g;f[J+(j*20|0)+8>>2]=i;f[J+(j*20|0)+12>>2]=0;f[J+(j*20|0)+16>>2]=0;b[J+(j*20|0)+1>>0]=0;break}else{tl(F,e&255,g,i,0)|0;break}}while(0);e=f[m>>2]|0;l=f[v>>2]|0;g=b[(f[F>>2]|0)+81>>0]|0;if(!(g<<24>>24))e=(f[w>>2]|0)+((((e|0)<1?l:e)+-1|0)*20|0)|0;else e=72144;f[e+8>>2]=l;if((o|0)<=1)break;else{o=o+-1|0;n=n+-20|0}}}while(0);j=f[c>>2]|0;e=f[j+64>>2]|0;if(e|0)f[e+(~f[a+752+(s*80|0)+12>>2]<<2)>>2]=f[v>>2];e=a+752+(s*80|0)+20|0;g=f[e>>2]|0;if(g|0){i=f[v>>2]|0;if((f[j+48>>2]|0)>(i|0)){f[v>>2]=i+1;J=f[w>>2]|0;b[J+(i*20|0)>>0]=11;d[J+(i*20|0)+2>>1]=0;f[J+(i*20|0)+4>>2]=0;f[J+(i*20|0)+8>>2]=g;f[J+(i*20|0)+12>>2]=0;f[J+(i*20|0)+16>>2]=0;b[J+(i*20|0)+1>>0]=0}else tl(F,11,0,g,0)|0;e=f[e>>2]|0;g=f[v>>2]|0;if(!(b[(f[F>>2]|0)+81>>0]|0)){J=g+-1|0;p=f[w>>2]|0;f[p+(((e|0)<0?J:e)*20|0)+8>>2]=g;e=p+(((e|0)<2?J:e+-2|0)*20|0)|0}else{f[18038]=g;e=72144}f[e+8>>2]=g}e=f[a+752+(s*80|0)+40>>2]|0;do if(e|0){g=(f[a+752+(s*80|0)+36>>2]|0)>>>1;i=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(i|0)){f[v>>2]=i+1;J=f[w>>2]|0;b[J+(i*20|0)>>0]=49;d[J+(i*20|0)+2>>1]=0;f[J+(i*20|0)+4>>2]=g;f[J+(i*20|0)+8>>2]=e;f[J+(i*20|0)+12>>2]=0;f[J+(i*20|0)+16>>2]=0;b[J+(i*20|0)+1>>0]=0;break}else{tl(F,49,g,e,0)|0;break}}while(0);g=f[a+752+(s*80|0)>>2]|0;if(g|0){i=f[q>>2]|0;e=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(e|0)){f[v>>2]=e+1;j=f[w>>2]|0;b[j+(e*20|0)>>0]=47;d[j+(e*20|0)+2>>1]=0;f[j+(e*20|0)+4>>2]=g;f[j+(e*20|0)+8>>2]=0;f[j+(e*20|0)+12>>2]=0;f[j+(e*20|0)+16>>2]=0;b[j+(e*20|0)+1>>0]=0;j=e}else j=tl(F,47,g,0,0)|0;do if(!(i&64)){e=f[a+752+(s*80|0)+4>>2]|0;g=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(g|0)){f[v>>2]=g+1;J=f[w>>2]|0;b[J+(g*20|0)>>0]=-126;d[J+(g*20|0)+2>>1]=0;f[J+(g*20|0)+4>>2]=e;f[J+(g*20|0)+8>>2]=0;f[J+(g*20|0)+12>>2]=0;f[J+(g*20|0)+16>>2]=0;b[J+(g*20|0)+1>>0]=0;break}else{tl(F,130,e,0,0)|0;break}}while(0);if(!(i&512)){if(i&8192|0?f[a+752+(s*80|0)+56>>2]|0:0)C=82}else C=82;do if((C|0)==82){C=0;e=f[a+752+(s*80|0)+8>>2]|0;g=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(g|0)){f[v>>2]=g+1;J=f[w>>2]|0;b[J+(g*20|0)>>0]=-126;d[J+(g*20|0)+2>>1]=0;f[J+(g*20|0)+4>>2]=e;f[J+(g*20|0)+8>>2]=0;f[J+(g*20|0)+12>>2]=0;f[J+(g*20|0)+16>>2]=0;b[J+(g*20|0)+1>>0]=0;break}else{tl(F,130,e,0,0)|0;break}}while(0);do if((b[r>>0]|0)==66){e=f[a+752+(s*80|0)+48>>2]|0;g=f[a+752+(s*80|0)+28>>2]|0;i=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(i|0)){f[v>>2]=i+1;J=f[w>>2]|0;b[J+(i*20|0)>>0]=12;d[J+(i*20|0)+2>>1]=0;f[J+(i*20|0)+4>>2]=e;f[J+(i*20|0)+8>>2]=g;f[J+(i*20|0)+12>>2]=0;f[J+(i*20|0)+16>>2]=0;b[J+(i*20|0)+1>>0]=0;break}else{tl(F,12,e,g,0)|0;break}}else{e=f[a+752+(s*80|0)+28>>2]|0;g=f[v>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(g|0)){f[v>>2]=g+1;J=f[w>>2]|0;b[J+(g*20|0)>>0]=11;d[J+(g*20|0)+2>>1]=0;f[J+(g*20|0)+4>>2]=0;f[J+(g*20|0)+8>>2]=e;f[J+(g*20|0)+12>>2]=0;f[J+(g*20|0)+16>>2]=0;b[J+(g*20|0)+1>>0]=0;break}else{tl(F,11,0,e,0)|0;break}}while(0);g=f[v>>2]|0;if(!(b[(f[F>>2]|0)+81>>0]|0))e=(f[w>>2]|0)+(((j|0)<0?g+-1|0:j)*20|0)|0;else e=72144;f[e+8>>2]=g}}while((t|0)>1)}c=f[(f[c>>2]|0)+64>>2]|0;if(c|0)f[c+(~f[a+36>>2]<<2)>>2]=f[F+136>>2];c=b[H>>0]|0;a:do if(c<<24>>24){y=a+49|0;z=I+81|0;x=F+136|0;A=F+88|0;B=c&255;v=a+752|0;w=0;while(1){e=h[v+44>>0]|0;i=f[G+8+(e*72|0)+16>>2]|0;g=f[v+64>>2]|0;do if(!(b[G+8+(e*72|0)+37>>0]&16)){e=f[g+36>>2]|0;if(!(e&576)){if(!(e&8192))break;e=v+56|0}else e=g+32|0;e=f[e>>2]|0;if(e|0){if(b[y>>0]|0?(f[(f[e+12>>2]|0)+36>>2]&32|0)==0:0)break;if(!(b[z>>0]|0)){r=f[x>>2]|0;j=f[v+32>>2]|0;if(!(b[(f[F>>2]|0)+81>>0]|0))g=(f[A>>2]|0)+(((j|0)<0?r+-1|0:j)*20|0)|0;else g=72144;if((j|0)<(r|0)){s=i+36|0;t=v+8|0;u=e+52|0;q=i+8|0;p=e+4|0;o=f[v+4>>2]|0;while(1){m=g+4|0;b:do if((f[m>>2]|0)==(o|0))switch(b[g>>0]|0){case 90:{n=g+8|0;e=f[n>>2]|0;if(f[s>>2]&32){i=q;while(1){i=f[i>>2]|0;J=i+55|0;if(((h[J>>0]|h[J+1>>0]<<8)&3)==2)break;else i=i+20|0}e=d[(f[i+4>>2]|0)+(e<<1)>>1]|0}k=e&65535;e=d[u>>1]|0;if(!(e<<16>>16))break b;l=f[p>>2]|0;i=e&65535;e=0;while(1){if((d[l+(e<<1)>>1]|0)==k<<16>>16)break;e=e+1|0;if(e>>>0>=i>>>0)break b}if((e&65535)<<16>>16<=-1)break b;f[n>>2]=e<<16>>16;f[m>>2]=f[t>>2];break b}case -127:{f[m>>2]=f[t>>2];b[g>>0]=-120;break b}case 21:{f[m>>2]=f[t>>2];break b}default:break b}while(0);j=j+1|0;if((j|0)==(r|0))break;else g=g+20|0}}}}}else{k=f[v+32>>2]|0;m=f[v+4>>2]|0;l=f[G+8+(e*72|0)+32>>2]|0;g=f[E>>2]|0;if((k|0)<0)e=(f[g+136>>2]|0)+-1|0;else e=k;if(!(b[(f[g>>2]|0)+81>>0]|0))e=(f[g+88>>2]|0)+(e*20|0)|0;else e=72144;j=f[g+136>>2]|0;if((j|0)>(k|0)?(b[(f[D>>2]|0)+81>>0]|0)==0:0){i=e;e=k;while(1){g=i+4|0;c:do if((f[g>>2]|0)==(m|0))switch(b[i>>0]|0){case 90:{b[i>>0]=78;C=i+8|0;f[g>>2]=(f[C>>2]|0)+l;J=i+12|0;f[C>>2]=f[J>>2];f[J>>2]=0;break c}case -127:{b[i>>0]=73;f[g>>2]=0;f[i+12>>2]=0;break c}default:break c}while(0);e=e+1|0;if((e|0)==(j|0))break;else i=i+20|0}}}while(0);w=w+1|0;if(w>>>0>=B>>>0)break;else v=v+80|0}f[D+128>>2]=f[a+40>>2];if(c<<24>>24){g=I+480|0;i=I+304|0;j=I+308|0;k=I+300|0;if(!I){e=0;while(1){J=f[a+752+(e*80|0)+64>>2]|0;if((J|0)!=0?(f[J+36>>2]&2048|0)!=0:0){c=f[a+752+(e*80|0)+60>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{J=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=b[H>>0]|0}e=e+1|0;if(e>>>0>=(c&255)>>>0)break a}}e=0;do{J=f[a+752+(e*80|0)+64>>2]|0;if((J|0)!=0?(f[J+36>>2]&2048|0)!=0:0){c=f[a+752+(e*80|0)+60>>2]|0;do if(c|0){if(f[g>>2]|0){Kc(I,c);break}J=c;if((f[i>>2]|0)>>>0<=J>>>0?(f[j>>2]|0)>>>0>J>>>0:0){f[c>>2]=f[k>>2];f[k>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{J=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=b[H>>0]|0}e=e+1|0}while(e>>>0<(c&255)>>>0)}}else f[D+128>>2]=f[a+40>>2];while(0);un(a+80|0);e=a+60|0;c=f[e>>2]|0;if(c|0)do{f[e>>2]=f[c+52>>2];vn(I,c);c=f[e>>2]|0}while((c|0)!=0);if(I|0){if(f[I+480>>2]|0){Kc(I,a);return}J=a;if((f[I+304>>2]|0)>>>0<=J>>>0?(f[I+308>>2]|0)>>>0>J>>>0:0){J=I+300|0;f[a>>2]=f[J>>2];f[J>>2]=a;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{J=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function un(a){a=a|0;var b=0,c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=f[f[f[a>>2]>>2]>>2]|0;b=f[a+12>>2]|0;o=a+20|0;if((b|0)>0){p=(q|0)==0;i=q+480|0;j=q+304|0;k=q+308|0;l=q+300|0;h=f[o>>2]|0;while(1){g=b;b=b+-1|0;e=h+10|0;c=d[e>>1]|0;if((c&1)!=0?(m=f[h>>2]|0,(m|0)!=0):0){ig(q,m);c=d[e>>1]|0}c=c&65535;do if(!(c&16)){if(c&32|0?(n=f[h+28>>2]|0,un(n),n|0):0){if(!p){if(f[i>>2]|0){Kc(q,n);break}e=n;if((f[j>>2]|0)>>>0<=e>>>0?(f[k>>2]|0)>>>0>e>>>0:0){f[n>>2]=f[l>>2];f[l>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{e=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}}else{c=f[h+28>>2]|0;un(c);if(c|0){if(!p){if(f[i>>2]|0){Kc(q,c);break}e=c;if((f[j>>2]|0)>>>0<=e>>>0?(f[k>>2]|0)>>>0>e>>>0:0){f[c>>2]=f[l>>2];f[l>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}}while(0);if((g|0)<=1)break;else h=h+48|0}}b=f[o>>2]|0;if((b|0)==(a+24|0))return;if(!b)return;if(q|0){if(f[q+480>>2]|0){Kc(q,b);return}a=b;if((f[q+304>>2]|0)>>>0<=a>>>0?(f[q+308>>2]|0)>>>0>a>>>0:0){q=q+300|0;f[b>>2]=f[q>>2];f[q>>2]=b;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);return}else{q=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);return}}function vn(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c+48|0;e=f[l>>2]|0;m=c+56|0;do if((e|0)!=(m|0)){if(a|0){if(f[a+480>>2]|0){Kc(a,e);break}k=e;if((f[a+304>>2]|0)>>>0<=k>>>0?(f[a+308>>2]|0)>>>0>k>>>0:0){k=a+300|0;f[e>>2]=f[k>>2];f[k>>2]=e;break}}if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{k=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);k=c+36|0;e=f[k>>2]|0;do if(e&17408|0){if(e&1024|0?(h=c+28|0,b[h>>0]|0):0){e=c+32|0;g=f[e>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{j=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);b[h>>0]=0;f[e>>2]=0;break}if(e&16384|0?(i=c+32|0,g=f[i>>2]|0,g|0):0){e=f[g+16>>2]|0;a:do if(e){do if(a|0){g=a+480|0;if(!(f[g>>2]|0)){h=e;if((f[a+304>>2]|0)>>>0>h>>>0)break;if((f[a+308>>2]|0)>>>0<=h>>>0)break;h=a+300|0;f[e>>2]=f[h>>2];f[h>>2]=e}else Kc(a,e);e=f[i>>2]|0;h=35;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);h=33;break}else{h=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);h=33;break}}else h=33;while(0);if((h|0)==33){e=f[i>>2]|0;if(!a){j=e;h=40}else{g=a+480|0;h=35}}do if((h|0)==35){if(f[g>>2]|0){Kc(a,e);break}g=e;if((f[a+304>>2]|0)>>>0<=g>>>0?(f[a+308>>2]|0)>>>0>g>>>0:0){g=a+300|0;f[e>>2]=f[g>>2];f[g>>2]=e}else{j=e;h=40}}while(0);do if((h|0)==40?j|0:0)if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{h=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}while(0);f[i>>2]=0}}while(0);f[l>>2]=m;d[c+40>>1]=0;d[c+44>>1]=3;f[k>>2]=0;if(a|0){if(f[a+480>>2]|0){Kc(a,c);return}m=c;if((f[a+304>>2]|0)>>>0<=m>>>0?(f[a+308>>2]|0)>>>0>m>>>0:0){m=a+300|0;f[c>>2]=f[m>>2];f[m>>2]=c;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}function wn(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;h=a+8|0;a:do if(c|0){while(1){e=c;while(1){g=f[e+4>>2]|0;if(!(g&4096))break;if(!(g&262144))e=e+12|0;else e=(f[e+20>>2]|0)+4|0;e=f[e>>2]|0;if(!e)break a}b[h>>0]=d;if((b[e>>0]|0)!=d<<24>>24)break;wn(a,f[e+12>>2]|0,d);c=f[e+16>>2]|0;if(!c)break a}xn(a,c,0)|0;return}while(0);b[h>>0]=d;return}function xn(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+12|0;g=f[o>>2]|0;m=a+16|0;i=f[m>>2]|0;n=a+20|0;do if((g|0)<(i|0))m=g;else{k=f[n>>2]|0;l=f[f[f[a>>2]>>2]>>2]|0;i=i*96|0;a:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))p=13;else f[n>>2]=0;else{do if(!(0<0|(0==0?(j[l+276>>1]|0)>>>0>>0:0))){g=l+300|0;h=f[g>>2]|0;if(h|0){f[g>>2]=f[h>>2];p=l+284|0;f[p>>2]=(f[p>>2]|0)+1;p=14;break a}g=l+296|0;h=f[g>>2]|0;if(!h){g=l+292|0;break}else{f[g>>2]=f[h>>2];p=l+284|0;f[p>>2]=(f[p>>2]|0)+1;p=14;break a}}else g=l+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;p=13}while(0);if((p|0)==13){h=Dc(l,i,0)|0;p=14}if((p|0)==14?(f[n>>2]=h,h|0):0){YA(h|0,k|0,(f[o>>2]|0)*48|0)|0;do if(!((k|0)==(a+24|0)|(k|0)==0)){if(f[l+480>>2]|0){Kc(l,k);break}i=k;if((f[l+304>>2]|0)>>>0<=i>>>0?(f[l+308>>2]|0)>>>0>i>>>0:0){i=l+300|0;f[k>>2]=f[i>>2];f[i>>2]=k;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{i=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);g=f[n>>2]|0;k=g;if((f[l+304>>2]|0)>>>0<=k>>>0?(f[l+308>>2]|0)>>>0>k>>>0:0)g=j[l+276>>1]|0;else g=ib[f[37368>>2]&255](g)|0;f[m>>2]=(g>>>0)/48|0;m=f[o>>2]|0;break}if(!((c|0)==0|(e&1)==0))ig(l,c);f[n>>2]=k;e=0;return e|0}while(0);l=f[n>>2]|0;f[o>>2]=m+1;b:do if(c){g=f[c+4>>2]|0;if(!(g&262144)){d[l+(m*48|0)+8>>1]=1;if(!(g&4096))break;while(1){if(!(g&262144))c=c+12|0;else c=(f[c+20>>2]|0)+4|0;c=f[c>>2]|0;if(!c){c=0;break b}g=f[c+4>>2]|0;if(!(g&4096))break b}}h=f[c+28>>2]|0;i=((h|0)<0)<<31>>31;if(h>>>0<8)if(h>>>0<2)h=-270;else{k=40;do{k=(k&65535)+65526|0;h=WA(h|0,i|0,1)|0;i=ba()|0}while(i>>>0<0|(i|0)==0&h>>>0<8);k=k&65535;p=48}else{if(h>>>0>255){k=40;do{k=(k&65535)+40|0;p=h;h=VA(h|0,i|0,4)|0;o=i;i=ba()|0}while(o>>>0>0|(o|0)==0&p>>>0>4095);k=k&65535}else k=40;if(i>>>0>0|(i|0)==0&h>>>0>15){do{k=(k&65535)+10&65535;p=h;h=VA(h|0,i|0,1)|0;o=i;i=ba()|0}while(o>>>0>0|(o|0)==0&p>>>0>31);p=48}else p=48}if((p|0)==48)h=(k&65535)+65256+(j[7936+((h&7)<<1)>>1]|0)&65535;d[l+(m*48|0)+8>>1]=h;if(g&4096)do{if(!(g&262144))c=c+12|0;else c=(f[c+20>>2]|0)+4|0;c=f[c>>2]|0;if(!c){c=0;break b}g=f[c+4>>2]|0}while((g&4096|0)!=0)}else{d[l+(m*48|0)+8>>1]=1;c=0}while(0);f[l+(m*48|0)>>2]=c;d[l+(m*48|0)+10>>1]=e;f[l+(m*48|0)+4>>2]=a;f[l+(m*48|0)+16>>2]=-1;c=l+(m*48|0)+12|0;g=c+36|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(g|0));e=m;return e|0}function yn(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;Aa=t;t=t+96|0;z=Aa+72|0;va=Aa+64|0;ua=Aa+56|0;ta=Aa+48|0;oa=Aa+40|0;ea=Aa+32|0;da=Aa+24|0;U=Aa+16|0;u=Aa+8|0;s=Aa;ka=Aa+80|0;la=Aa+76|0;r=f[c>>2]|0;sa=f[r>>2]|0;na=f[sa>>2]|0;ca=na+81|0;if(b[ca>>0]|0){t=Aa;return}xa=c+20|0;w=f[xa>>2]|0;y=w+(e*48|0)|0;ma=r+488|0;ya=f[y>>2]|0;za=ya+12|0;g=f[za>>2]|0;if(!g){C=0;D=0}else{C=Fn(ma,g)|0;D=ba()|0}x=b[ya>>0]|0;v=x&255;a:do switch(x<<24>>24){case 49:{if(Hm(sa,ya)|0){t=Aa;return}g=ya+20|0;if(f[ya+4>>2]&2048|0){k=Pn(ma,f[g>>2]|0)|0;g=ba()|0;break a}q=f[g>>2]|0;if((q|0)!=0?(k=f[q>>2]|0,(k|0)>0):0){p=0;n=k;k=0;g=0;do{l=f[q+4+(p*20|0)>>2]|0;if(!l){l=0;m=0}else{l=Fn(ma,l)|0;m=ba()|0;n=f[q>>2]|0}k=l|k;g=m|g;p=p+1|0}while((p|0)<(n|0))}else{k=0;g=0}break}case 50:{k=0;g=0;break}default:{g=f[ya+16>>2]|0;if(!g){k=0;g=0}else{k=Fn(ma,g)|0;g=ba()|0}}}while(0);n=w+(e*48|0)+32|0;f[n>>2]=k;f[n+4>>2]=g;f[ma>>2]=0;n=Fn(ma,ya)|0;p=ba()|0;q=w+(e*48|0)+10|0;if(f[ma>>2]|0)d[q>>1]=d[q>>1]|4096;ra=ya+4|0;if(f[ra>>2]&1){k=d[ya+36>>1]|0;l=f[r+492>>2]|0;b:do if((l|0)>0){g=0;while(1){if((f[r+496+(g<<2)>>2]|0)==(k|0))break;g=g+1|0;if((g|0)>=(l|0)){l=0;m=0;break b}}l=WA(1,0,g|0)|0;m=ba()|0}else{l=0;m=0}while(0);g=l|n;k=m|p;n=KA(l|0,m|0,-1,-1)|0;p=ba()|0;qa=VA(g|0,k|0,1)|0;pa=ba()|0;if(pa>>>0>>0|(pa|0)==(m|0)&qa>>>0>>0){B=g;A=k;qa=n;pa=p}else{ni(sa,56906,s);t=Aa;return}}else{B=n;A=p;qa=0;pa=0}p=w+(e*48|0)+40|0;f[p>>2]=B;f[p+4>>2]=A;p=w+(e*48|0)+20|0;f[p>>2]=-1;f[w+(e*48|0)+16>>2]=-1;m=w+(e*48|0)+12|0;d[m>>1]=0;c:do switch(x<<24>>24){case 45:case 50:case 53:case 54:case 55:case 56:case 57:case 49:{g=f[za>>2]|0;d:do if(!g)g=0;else while(1){i=f[g+4>>2]|0;if(!(i&4096))break d;if(!(i&262144))g=g+12|0;else g=(f[g+20>>2]|0)+4|0;g=f[g>>2]|0;if(!g){g=0;break}}while(0);i=f[ya+16>>2]|0;e:do if(!i)i=0;else while(1){k=f[i+4>>2]|0;if(!(k&4096))break e;if(!(k&262144))i=i+12|0;else i=(f[i+20>>2]|0)+4|0;i=f[i>>2]|0;if(!i){i=0;break}}while(0);l=w+(e*48|0)+32|0;u=l;u=((f[u>>2]&C|0)==0?(f[u+4>>2]&D|0)==0:0)?8191:2048;k=f[w+(e*48|0)+24>>2]|0;if((k|0)>0)g=f[(f[g+20>>2]|0)+4+((k+-1|0)*20|0)>>2]|0;k=b[g>>0]|0;n=(v+-54|0)>>>0<4;if(n&k<<24>>24==-91){k=f[(f[g+20>>2]|0)+4>>2]|0;g=k;k=b[k>>0]|0}if(k<<24>>24!=-98){if((!((C|0)==0&(D|0)==0)?(U=KA(C|0,D|0,-1,-1)|0,(U&C|0)==0&((ba()|0)&D|0)==0):0)?Zn(a,C,D,ka,g)|0:0){g=f[ka>>2]|0;k=f[ka+4>>2]|0;ia=51}}else{ia=f[g+28>>2]|0;f[ka>>2]=ia;k=d[g+32>>1]|0;f[ka+4>>2]=k;g=ia;ia=51}if((ia|0)==51){f[p>>2]=g;f[w+(e*48|0)+28>>2]=k;switch(x<<24>>24){case 49:{g=1;break}case 50:{g=256;break}case 45:{g=128;break}default:g=2<>1]=g&u}m=x<<24>>24==45;if(m)d[q>>1]=d[q>>1]|2048;do if(!i)g=y;else{k=f[l>>2]|0;l=f[l+4>>2]|0;g=b[i>>0]|0;if(n&g<<24>>24==-91){g=f[(f[i+20>>2]|0)+4>>2]|0;i=g;g=b[g>>0]|0}if(g<<24>>24!=-98){if((k|0)==0&(l|0)==0){g=y;break}U=KA(k|0,l|0,-1,-1)|0;if(!((U&k|0)==0&((ba()|0)&l|0)==0)){g=y;break}if(!(Zn(a,k,l,ka,i)|0)){g=y;break}}else{f[ka>>2]=f[i+28>>2];f[ka+4>>2]=d[i+32>>1]}f:do if((f[p>>2]|0)>-1){if(!ya)s=0;else s=Bk(na,ya,0,0)|0;do if(!(b[ca>>0]|0)){g=xn(c,s,3)|0;if(!g)break;n=f[xa>>2]|0;q=n+(g*48|0)|0;f[n+(g*48|0)+16>>2]=e;d[n+(g*48|0)+8>>1]=d[n+(e*48|0)+8>>1]|0;U=n+(e*48|0)+14|0;b[U>>0]=(b[U>>0]|0)+1<<24>>24;g=n+(g*48|0)+10|0;if(m)d[g>>1]=d[g>>1]|2048;g=n+(e*48|0)|0;U=n+(e*48|0)+10|0;d[U>>1]=d[U>>1]|8;if(d[(f[sa>>2]|0)+76>>1]&128){r=0;break f}switch(b[s>>0]|0){case 45:case 53:break;default:{r=0;break f}}if(f[s+4>>2]&1|0){r=0;break f}m=s+12|0;i=f[m>>2]|0;T=Yk(i)|0;l=s+16|0;k=f[l>>2]|0;U=Yk(k)|0;if(T<<24>>24!=U<<24>>24?!(T<<24>>24>66&U<<24>>24>66):0){r=0;break f}g:do if(!(f[i+4>>2]&256)){do if(k|0){if(!(f[k+4>>2]&256))break;i=Zk(sa,k)|0;ia=87;break g}while(0);i=Zk(sa,i)|0;if(i|0){ia=88;break}i=Zk(sa,k)|0;ia=87}else{i=Zk(sa,i)|0;ia=87}while(0);if((ia|0)==87?i|0:0)ia=88;do if((ia|0)==88){if((f[i+12>>2]|0)==85?(f[i+8>>2]|0)==0:0)break;k=f[l>>2]|0;i=Zk(sa,f[m>>2]|0)|0;if(!i)i=f[(f[sa>>2]|0)+8>>2]|0;k=Zk(sa,k)|0;if(!k)k=f[(f[sa>>2]|0)+8>>2]|0;m=f[i>>2]|0;k=f[k>>2]|0;U=b[m>>0]|0;i=(h[1232+(U&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0;if(!(U<<24>>24==0|(i|0)!=0)){l=k;k=m;do{k=k+1|0;l=l+1|0;U=b[k>>0]|0;i=(h[1232+(U&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(U<<24>>24==0|(i|0)!=0))}if(i|0){r=0;break f}}while(0);r=n+(e*48|0)+12|0;d[r>>1]=d[r>>1]|2048;r=2048;break f}else{if(!s)break;ig(na,s)}while(0);t=Aa;return}else{s=ya;g=y;q=y;r=0}while(0);o=s+16|0;k=(f[o>>2]|0)+4|0;l=f[k>>2]|0;m=l&256;p=s+12|0;n=f[p>>2]|0;i=n;do if((m|0)==(f[n+4>>2]&256|0)){if(m|0){f[k>>2]=l&-257;break}if(!(Zk(sa,n)|0)){i=f[p>>2]|0;break}else{i=f[p>>2]|0;U=i+4|0;f[U>>2]=f[U>>2]|256;break}}while(0);U=f[o>>2]|0;f[o>>2]=i;f[p>>2]=U;i=b[s>>0]|0;if((i&255)>53)b[s>>0]=((i&255)+202^2)+54;f[q+20>>2]=f[ka>>2];f[q+28>>2]=f[ka+4>>2];i=q+32|0;f[i>>2]=qa|C;f[i+4>>2]=pa|D;i=q+40|0;f[i>>2]=B;f[i+4>>2]=A;i=b[s>>0]|0;switch(i<<24>>24){case 49:{i=1;break}case 50:{i=256;break}case 45:{i=128;break}default:i=2<<(i&255)+-53}d[q+12>>1]=i+r&(u&65535)}while(0);break}default:{switch(b[ya>>0]|0){case 48:{if((b[c+8>>0]|0)!=44){g=y;break c}n=f[ya+20>>2]|0;o=ya+36|0;g=f[za>>2]|0;if(!g)m=0;else m=Bk(na,g,0,0)|0;g=f[n+4>>2]|0;if(!g)l=0;else l=Bk(na,g,0,0)|0;k=f[sa>>2]|0;h:do if(f[k+272>>2]|0)if(!(b[k+81>>0]|0))ia=130;else{g=k;ia=134}else{do if((j[k+276>>1]|0)>=48){i=k+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];ia=k+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=131;break h}i=k+296|0;g=f[i>>2]|0;if(!g){g=k+292|0;break}else{f[i>>2]=f[g>>2];ia=k+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=131;break h}}else g=k+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;ia=130}while(0);if((ia|0)==130){g=Dc(k,48,0)|0;ia=131}do if((ia|0)==131){if(!g){g=f[sa>>2]|0;ia=134;break}A=g;B=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));b[g>>0]=57;d[g+34>>1]=-1;if(!l)i=0;else{f[g+16>>2]=l;i=f[l+4>>2]&2097412;f[g+4>>2]=i}if(m|0){f[g+12>>2]=m;f[g+4>>2]=i|f[m+4>>2]&2097412}jl(g);i=f[(f[sa>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[u>>2]=i;ni(sa,42710,u)}U=g+4|0;f[U>>2]=f[U>>2]|f[ra>>2]&1;d[g+36>>1]=d[o>>1]|0}while(0);if((ia|0)==134){if(m|0)ig(g,m);if(!l)g=0;else{ig(g,l);g=0}}ia=xn(c,g,3)|0;yn(a,c,ia);g=f[xa>>2]|0;f[g+(ia*48|0)+16>>2]=e;d[g+(ia*48|0)+8>>1]=d[g+(e*48|0)+8>>1]|0;g=g+(e*48|0)+14|0;b[g>>0]=(b[g>>0]|0)+1<<24>>24;g=f[za>>2]|0;if(!g)m=0;else m=Bk(na,g,0,0)|0;g=f[n+24>>2]|0;if(!g)l=0;else l=Bk(na,g,0,0)|0;k=f[sa>>2]|0;i:do if(f[k+272>>2]|0)if(!(b[k+81>>0]|0))ia=669;else{g=k;ia=679}else{do if((j[k+276>>1]|0)>=48){i=k+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];ia=k+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=670;break i}i=k+296|0;g=f[i>>2]|0;if(!g){g=k+292|0;break}else{f[i>>2]=f[g>>2];ia=k+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=670;break i}}else g=k+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;ia=669}while(0);if((ia|0)==669){g=Dc(k,48,0)|0;ia=670}do if((ia|0)==670){if(!g){g=f[sa>>2]|0;ia=679;break}A=g;B=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));b[g>>0]=55;d[g+34>>1]=-1;if(!l)i=0;else{f[g+16>>2]=l;i=f[l+4>>2]&2097412;f[g+4>>2]=i}if(m|0){f[g+12>>2]=m;f[g+4>>2]=i|f[m+4>>2]&2097412}jl(g);i=f[(f[sa>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[z>>2]=i;ni(sa,42710,z)}U=g+4|0;f[U>>2]=f[U>>2]|f[ra>>2]&1;d[g+36>>1]=d[o>>1]|0}while(0);if((ia|0)==679){if(m|0)ig(g,m);if(!l)g=0;else{ig(g,l);g=0}}U=xn(c,g,3)|0;yn(a,c,U);g=f[xa>>2]|0;f[g+(U*48|0)+16>>2]=e;d[g+(U*48|0)+8>>1]=d[g+(e*48|0)+8>>1]|0;U=g+(e*48|0)+14|0;b[U>>0]=(b[U>>0]|0)+1<<24>>24;g=g+(e*48|0)|0;break c}case 43:break;default:{g=y;break c}}O=f[c>>2]|0;Q=f[O>>2]|0;P=f[Q>>2]|0;K=f[xa>>2]|0;R=f[K+(e*48|0)>>2]|0;j:do if(!P){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](416)|0;ia=168;break}g=ib[f[37372>>2]&255](416)|0;if((f[18194]|0)>>>0<416)f[18194]=416;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){ia=f[18187]|0;M=LA(k|0,l|0,g|0,((g|0)<0)<<31>>31|0)|0;L=ba()|0;f[17976]=((L|0)<0|(L|0)==0&M>>>0<=ia>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(g){k=ib[f[37368>>2]&255](g)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;ia=170}else ia=170}else ia=169}else{if(f[P+272>>2]|0){if(b[P+81>>0]|0){ia=169;break}}else{do if((j[P+276>>1]|0)>=416){k=P+300|0;g=f[k>>2]|0;if(g|0){f[k>>2]=f[g>>2];ia=P+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=168;break j}k=P+296|0;g=f[k>>2]|0;if(!g){g=P+292|0;break}else{f[k>>2]=f[g>>2];ia=P+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=168;break j}}else g=P+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(P,416,0)|0;ia=168}while(0);if((ia|0)==168)if(!g)ia=169;else ia=170;k:do if((ia|0)==169)f[K+(e*48|0)+28>>2]=0;else if((ia|0)==170){_A(g+8|0,0,408)|0;f[K+(e*48|0)+28>>2]=g;k=K+(e*48|0)+10|0;d[k>>1]=d[k>>1]|16;k=g+24|0;_A(k|0,0,384)|0;f[g>>2]=O;b[g+9>>0]=0;f[g+4>>2]=0;L=g+12|0;f[L>>2]=0;f[g+16>>2]=8;M=g+20|0;f[M>>2]=k;wn(g,R,43);k=f[L>>2]|0;if((k|0)>0)do{J=k;k=k+-1|0;yn(a,g,k)}while((J|0)>1);B=P+81|0;if(!(b[B>>0]|0)){k=f[L>>2]|0;if((k|0)>0){C=P+272|0;D=P+276|0;E=O+492|0;F=P+288|0;G=P+300|0;H=P+296|0;I=P+284|0;J=P+292|0;A=f[M>>2]|0;y=-1;m=-1;p=-1;q=-1;while(1){z=k;k=k+-1|0;n=A+12|0;x=d[n>>1]|0;l:do if(!(x&511)){do if(f[C>>2]|0)if(!(b[B>>0]|0))ia=186;else{p=0;q=0;r=y;break l}else{if((j[D>>1]|0)>=408){l=f[G>>2]|0;if(l|0){f[G>>2]=f[l>>2];f[I>>2]=(f[I>>2]|0)+1;break}l=f[H>>2]|0;if(!l)l=J;else{f[H>>2]=f[l>>2];f[I>>2]=(f[I>>2]|0)+1;break}}else l=F;f[l>>2]=(f[l>>2]|0)+1;ia=186}while(0);if((ia|0)==186){ia=0;l=Dc(P,408,0)|0}if(!l){p=0;q=0;r=y}else{f[A+28>>2]=l;p=A+10|0;d[p>>1]=d[p>>1]|32;d[n>>1]=1024;n=l+24|0;_A(n|0,0,384)|0;f[l>>2]=f[c>>2];b[l+9>>0]=0;p=l+4|0;f[p>>2]=0;q=l+12|0;f[q>>2]=0;f[l+16>>2]=8;r=l+20|0;f[r>>2]=n;wn(l,f[A>>2]|0,44);n=f[q>>2]|0;if((n|0)>0)do{x=n;n=n+-1|0;yn(a,l,n)}while((x|0)>1);f[p>>2]=c;m:do if((b[B>>0]|0)==0?(N=f[q>>2]|0,(N|0)>0):0){s=f[r>>2]|0;u=0;l=0;n=0;while(1){switch(b[f[s>>2]>>0]|0){case 45:case 50:case 53:case 54:case 55:case 56:case 57:case 49:{ia=196;break}default:if((d[s+12>>1]|0)==64)ia=196}if((ia|0)==196){ia=0;q=f[s+20>>2]|0;r=f[E>>2]|0;n:do if((r|0)>0){p=0;while(1){if((f[O+496+(p<<2)>>2]|0)==(q|0))break;p=p+1|0;if((p|0)>=(r|0)){p=0;q=0;break n}}p=WA(1,0,p|0)|0;q=ba()|0}else{p=0;q=0}while(0);l=p|l;n=q|n}u=u+1|0;if((u|0)>=(N|0))break m;else s=s+48|0}}else{l=0;n=0}while(0);p=0;q=0;r=l&y;m=n&m}}else{s=d[A+10>>1]|0;if(!(s&8)){n=f[A+20>>2]|0;v=f[E>>2]|0;u=(v|0)>0;o:do if(u){l=0;while(1){if((f[O+496+(l<<2)>>2]|0)==(n|0))break;l=l+1|0;if((l|0)>=(v|0)){r=0;w=0;break o}}r=WA(1,0,l|0)|0;w=ba()|0}else{r=0;w=0}while(0);if(!(s&2))l=w;else{n=f[(f[M>>2]|0)+((f[A+16>>2]|0)*48|0)+20>>2]|0;p:do if(u){l=0;while(1){if((f[O+496+(l<<2)>>2]|0)==(n|0))break;l=l+1|0;if((l|0)>=(v|0)){l=0;n=0;break p}}l=WA(1,0,l|0)|0;n=ba()|0}else{l=0;n=0}while(0);r=l|r;l=n|w}x=(x&2)==0;p=x?0:r&p;q=x?0:l&q;r=r&y;m=l&m}else r=y}while(0);l=(r|0)!=0|(m|0)!=0;if(!(l&(z|0)>1))break;else{A=A+48|0;y=r}}N=g+408|0;f[N>>2]=r;f[N+4>>2]=m;d[K+(e*48|0)+12>>1]=512;if(l)ia=220}else{p=g+408|0;f[p>>2]=-1;f[p+4>>2]=-1;d[K+(e*48|0)+12>>1]=512;p=-1;q=-1;ia=220}q:do if((ia|0)==220){b[c+9>>0]=1;if((f[L>>2]|0)==2){k=0;l=f[M>>2]|0;while(1){n=k+1|0;if((d[l+12>>1]|0)!=1024)if(!k)k=l;else break q;else{g=f[l+28>>2]|0;if((f[g+12>>2]|0)<=(k|0))break q;k=(f[g+20>>2]|0)+(k*48|0)|0}if(!k)break q;m=0;while(1){if((d[l+60>>1]|0)==1024){g=f[l+76>>2]|0;if((f[g+12>>2]|0)<=(m|0))break;g=(f[g+20>>2]|0)+(m*48|0)|0;if(!g)break}else if(!m)g=l+48|0;else break;$n(a,c,k,g);m=m+1|0;l=f[M>>2]|0}k=n}}}while(0);if(!((p|0)==0&(q|0)==0)?(S=O+492|0,o=f[L>>2]|0,T=(o|0)>0,T):0){n=o;g=f[M>>2]|0;while(1){l=n+-1|0;s=g+10|0;d[s>>1]=d[s>>1]&-65;s=f[g+20>>2]|0;if((s|0)!=-1){m=f[S>>2]|0;r:do if((m|0)>0){k=0;while(1){if((f[O+496+(k<<2)>>2]|0)==(s|0))break;k=k+1|0;if((k|0)>=(m|0)){k=0;m=0;break r}}k=WA(1,0,k|0)|0;m=ba()|0}else{k=0;m=0}while(0);if(!((k&p|0)==0&(m&q|0)==0))break}if((n|0)>1){n=l;g=g+48|0}else break k}m=f[g+28>>2]|0;if((n|0)>=1){k=s;while(1){if((k|0)==(s|0)){if((f[g+28>>2]|0)!=(m|0)){ia=254;break}N=f[g>>2]|0;L=Yk(f[N+16>>2]|0)|0;if(!(L<<24>>24==0|L<<24>>24==(Yk(f[N+12>>2]|0)|0)<<24>>24)){ia=254;break}N=g+10|0;d[N>>1]=d[N>>1]|64}else{N=g+10|0;d[N>>1]=d[N>>1]&-65}if((l|0)<=0)break;k=f[g+68>>2]|0;l=l+-1|0;g=g+48|0}s:do if((ia|0)==254){if(!T)break k;n=o;g=f[M>>2]|0;while(1){l=n+-1|0;r=g+10|0;d[r>>1]=d[r>>1]&-65;r=f[g+20>>2]|0;if((r|0)!=(s|0)){m=f[S>>2]|0;t:do if((m|0)>0){k=0;while(1){if((f[O+496+(k<<2)>>2]|0)==(r|0))break;k=k+1|0;if((k|0)>=(m|0)){k=0;m=0;break t}}k=WA(1,0,k|0)|0;m=ba()|0}else{k=0;m=0}while(0);if(!((k&p|0)==0&(m&q|0)==0))break}if((n|0)>1){n=l;g=g+48|0}else break k}m=f[g+28>>2]|0;if((n|0)<1)break k;k=r;while(1){if((k|0)==(r|0)){if((f[g+28>>2]|0)!=(m|0))break k;S=f[g>>2]|0;N=Yk(f[S+16>>2]|0)|0;if(!(N<<24>>24==0|N<<24>>24==(Yk(f[S+12>>2]|0)|0)<<24>>24))break k;S=g+10|0;d[S>>1]=d[S>>1]|64}else{S=g+10|0;d[S>>1]=d[S>>1]&-65}if((l|0)<=0)break s;k=f[g+68>>2]|0;l=l+-1|0;g=g+48|0}}while(0);if(T){k=0;n=0;m=f[M>>2]|0;while(1){l=o;o=o+-1|0;if(!(d[m+10>>1]&64))g=n;else{g=f[(f[m>>2]|0)+16>>2]|0;if(!g)g=0;else g=Bk(P,g,0,0)|0;g=ml(f[f[O>>2]>>2]|0,n,g)|0;k=f[(f[m>>2]|0)+12>>2]|0}if((l|0)<=1)break;else{n=g;m=m+48|0}}if(!k){m=g;l=0}else{m=g;l=Bk(P,k,0,0)|0}}else{m=0;l=0}k=f[Q>>2]|0;u:do if(f[k+272>>2]|0){if(!(b[k+81>>0]|0))ia=274}else{do if((j[k+276>>1]|0)>=48){g=k+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];ia=k+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=275;break u}g=k+296|0;i=f[g>>2]|0;if(!i){g=k+292|0;break}else{f[g>>2]=f[i>>2];ia=k+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=275;break u}}else g=k+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;ia=274}while(0);if((ia|0)==274){i=Dc(k,48,0)|0;ia=275}if((ia|0)==275?i|0:0){A=i;B=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));b[i>>0]=49;d[i+34>>1]=-1;if(l|0){f[i+12>>2]=l;f[i+4>>2]=f[l+4>>2]&2097412}jl(i);g=f[(f[Q>>2]|0)+120>>2]|0;if((g|0)<(f[i+24>>2]|0)){f[U>>2]=g;ni(Q,42710,U)}T=i+4|0;f[T>>2]=f[T>>2]|f[R+4>>2]&1;d[i+36>>1]=d[R+36>>1]|0;f[i+20>>2]=m;T=xn(c,i,3)|0;yn(a,c,T);U=f[xa>>2]|0;f[U+(T*48|0)+16>>2]=e;d[U+(T*48|0)+8>>1]=d[U+(e*48|0)+8>>1]|0;U=U+(e*48|0)+14|0;b[U>>0]=(b[U>>0]|0)+1<<24>>24;break}if(l|0)ig(f[Q>>2]|0,l);if(m|0)jg(P,m)}}}}while(0);g=(f[xa>>2]|0)+(e*48|0)|0}}while(0);D=c+8|0;v:do if((b[D>>0]|0)==44){z=f[sa>>2]|0;w:do if((((b[ya>>0]|0)==-99?(aa=ya+20|0,V=f[aa>>2]|0,(V|0)!=0):0)?(W=f[V>>2]|0,X=Rk(z,f[ya+8>>2]|0,W,1,0)|0,(X|0)!=0):0)?(Y=f[X+4>>2]|0,(Y&4|0)!=0):0){l=f[aa>>2]|0;if((W|0)>=3){i=f[l+44>>2]|0;if((b[i>>0]|0)!=106)break;i=f[i+8>>2]|0;k=b[i>>0]|0;if(!(k<<24>>24))break;if(b[i+1>>0]|0)break}else k=0;v=f[X+8>>2]|0;q=b[v>>0]|0;r=b[v+1>>0]|0;v=b[v+2>>0]|0;C=Y&8;x=f[l+24>>2]|0;i=f[l+4>>2]|0;x:do if(!i)y=0;else while(1){l=f[i+4>>2]|0;if(!(l&4096)){y=i;break x}if(!(l&262144))i=i+12|0;else i=(f[i+20>>2]|0)+4|0;i=f[i>>2]|0;if(!i){y=0;break}}while(0);i=b[y>>0]|0;w=i<<24>>24==-112;do if(w){if(!(0==0?(f[z+32>>2]&8388608|0)==0:0))break w;i=f[sa+216>>2]|0;o=d[y+32>>1]|0;p=o<<16>>16;y:do if((i|0)!=0?(Y=f[i+116>>2]|0,_=p+-1|0,Z=Y+(_*40|0)|0,_=Y+(_*40|0)+8|0,(d[_>>1]&1)==0):0){n=f[i>>2]|0;z:do if(!n){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](40)|0;ia=329;break}i=ib[f[37372>>2]&255](40)|0;if((f[18194]|0)>>>0<40)f[18194]=40;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){Y=f[18187]|0;X=LA(l|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;W=ba()|0;f[17976]=((W|0)<0|(W|0)==0&X>>>0<=Y>>>0)&1}l=ib[f[37356>>2]&255](i)|0;if(!l){i=0;m=0;n=0;break y}i=ib[f[37368>>2]&255](l)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0<=(f[18196]|0)>>>0)break;f[18196]=i}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){i=0;m=0;n=0;break y}}else{do if((j[n+276>>1]|0)>=40){l=n+300|0;i=f[l>>2]|0;if(i|0){f[l>>2]=f[i>>2];ia=n+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=329;break z}l=n+296|0;i=f[l>>2]|0;if(!i){i=n+292|0;break}else{f[l>>2]=f[i>>2];ia=n+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=329;break z}}else i=n+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(n,40,0)|0;ia=329}while(0);if((ia|0)==329)if(!i){i=0;m=0;n=0;break}else l=i;A=l;B=A+40|0;do{b[A>>0]=0;A=A+1|0}while((A|0)<(B|0));m=l+8|0;d[m>>1]=1;f[l+32>>2]=n;f[l>>2]=f[Z>>2];f[l+4>>2]=f[Z+4>>2];f[l+8>>2]=f[Z+8>>2];f[l+12>>2]=f[Z+12>>2];f[l+16>>2]=f[Z+16>>2];i=d[m>>1]&-1025;d[m>>1]=i;i=i&65535;A:do if(i&18|0){if(d[_>>1]&2048)break;d[m>>1]=i|4096;do if(i&16384){i=l+12|0;_=(f[l>>2]|0)+(f[i>>2]|0)|0;if(df(l,(_|0)>1?_:1,1)|0)break A;_A((f[l+16>>2]|0)+(f[i>>2]|0)|0,0,f[l>>2]|0)|0;f[i>>2]=(f[i>>2]|0)+(f[l>>2]|0);i=d[m>>1]&-16897;d[m>>1]=i;if(!(f[l+24>>2]|0)){ia=336;break}if((f[l+16>>2]|0)!=(f[l+20>>2]|0))ia=336}else ia=336;while(0);if((ia|0)==336){if(gf(l)|0)break;i=d[m>>1]|0}d[m>>1]=i&-4097}while(0);i=d[m>>1]|0;if((i&15|16)<<16>>16!=18){i=0;m=l;n=l;break}do if((i&514)==514){if((b[l+10>>0]|0)!=1)break;i=f[l+16>>2]|0;m=l;n=l;break y}while(0);if(i&1){i=0;m=l;n=l;break}i=Ic(l,1)|0;m=l;n=l}else{i=0;m=0;n=0}while(0);l=f[sa+8>>2]|0;if(o<<16>>16>31){s=l+204|0;f[s>>2]=f[s>>2]|-2147483648;s=m;u=n;break}else{s=l+204|0;f[s>>2]=f[s>>2]|1<>24!=106)break w;s=0;i=f[y+8>>2]|0;u=0}while(0);do if((i|0)!=0?($=b[i>>0]|0,$<<24>>24!=v<<24>>24&(($<<24>>24==r<<24>>24|($<<24>>24==0?1:$<<24>>24==q<<24>>24))^1)):0){l=0;n=$;do{m=l+1|0;if(n<<24>>24==k<<24>>24)l=(b[i+m>>0]|0)==0?m:l+2|0;else l=m;n=b[i+l>>0]|0;m=n<<24>>24==q<<24>>24}while(n<<24>>24!=v<<24>>24&((n<<24>>24==r<<24>>24|(n<<24>>24==0|m))^1));if(((l|0)!=0?(b[i+(l+-1)>>0]|0)!=-1:0)?!((l|0)<2?$<<24>>24==k<<24>>24:0):0){if(m)q=(b[i+(l+1)>>0]|0)==0&1;else q=0;f[ka>>2]=i;r=(wz(i)|0)&1073741823;f[ka+4>>2]=r;r=Dk(z,106,ka,0)|0;B:do if(r|0){p=f[r+8>>2]|0;b[p+l>>0]=0;if((l|0)>0){o=k&255;m=0;n=0;while(1){$=n+((b[p+n>>0]|0)==(o|0)&1)|0;k=m+1|0;b[p+m>>0]=b[p+$>>0]|0;n=$+1|0;if((n|0)>=(l|0))break;else m=k}}else k=0;b[p+k>>0]=0;$=b[p>>0]|0;if(!($<<24>>24==45|(($&255)+-48|0)>>>0<10)?!((k|0)==1&$<<24>>24==47):0)break;do if((b[x>>0]|0)==-98){if((Yk(x)|0)<<24>>24!=66)break;if(!(f[(f[x+44>>2]|0)+56>>2]|0))break B}while(0);ig(z,r);if(!s)break w;if(!((d[s+8>>1]&9216)==0?!(f[s+24>>2]|0):0))ff(s);i=f[s+32>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,u);break w}k=u;if((f[i+304>>2]|0)>>>0>k>>>0)break;if((f[i+308>>2]|0)>>>0<=k>>>0)break;ea=i+300|0;f[u>>2]=f[ea>>2];f[ea>>2]=u;break w}while(0);if(!u)break w;if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break w}else{ea=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break w}}while(0);if(!w)break;m=f[sa+8>>2]|0;k=d[y+32>>1]|0;if(k<<16>>16>31)k=-2147483648;else k=1<<(k<<16>>16)+-1;$=m+204|0;f[$>>2]=f[$>>2]|k;if(!q){q=0;break}if(!(b[(f[y+8>>2]|0)+1>>0]|0))break;n=sa+19|0;k=b[n>>0]|0;if(!(k<<24>>24)){$=sa+44|0;l=(f[$>>2]|0)+1|0;f[$>>2]=l}else{l=k+-1<<24>>24;b[n>>0]=l;l=f[sa+144+((l&255)<<2)>>2]|0}xl(sa,y,l)|0;if(!(b[(f[m>>2]|0)+81>>0]|0))k=(f[m+88>>2]|0)+(((f[m+136>>2]|0)+-1|0)*20|0)|0;else k=72144;f[k+12>>2]=0;if(!l)break;k=b[n>>0]|0;if((k&255)>=8)break;b[n>>0]=k+1<<24>>24;f[sa+144+((k&255)<<2)>>2]=l}else{q=0;r=0;i=0}}else{q=0;r=0;i=0}while(0);l=(i|0)==0;C:do if(s|0){if(!((d[s+8>>1]&9216)==0?!(f[s+24>>2]|0):0))ff(s);i=f[s+32>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,u);break C}k=u;if((f[i+304>>2]|0)>>>0>k>>>0)break;if((f[i+308>>2]|0)>>>0<=k>>>0)break;$=i+300|0;f[u>>2]=f[$>>2];f[$>>2]=u;break C}while(0);if(u|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{$=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-$;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}}while(0);if(!l){s=f[(f[aa>>2]|0)+24>>2]|0;p=(r|0)==0;if(p)u=0;else u=Bk(na,r,0,0)|0;n=(C|0)!=0;do if(!n){if(b[(f[sa>>2]|0)+81>>0]|0)break;l=g+10|0;d[l>>1]=d[l>>1]|1024;l=r+8|0;i=f[l>>2]|0;g=b[i>>0]|0;if(!(g<<24>>24))break;m=u+8|0;k=0;do{ia=g&255;b[i>>0]=g&~(b[5472+ia>>0]&32);b[(f[m>>2]|0)+k>>0]=b[1232+ia>>0]|0;k=k+1|0;i=(f[l>>2]|0)+k|0;g=b[i>>0]|0}while(g<<24>>24!=0)}while(0);if(!(b[ca>>0]|0)){i=f[u+8>>2]|0;if(!i)g=0;else g=(wz(i)|0)&1073741823;k=i+(g+-1)|0;g=b[k>>0]|0;if(n){i=g;g=q}else{i=b[1232+(g&255)>>0]|0;g=g<<24>>24==64?0:q}b[k>>0]=(i&255)+1;q=g}o=n?43030:56947;m=(s|0)==0;if(m)i=0;else i=Bk(na,s,0,0)|0;f[ka>>2]=o;f[ka+4>>2]=6;g=Dk(f[sa>>2]|0,102,ka,0)|0;if(g){f[g+12>>2]=i;i=g+4|0;f[i>>2]=f[i>>2]|4352;i=g}l=f[sa>>2]|0;D:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))ia=439;else{g=l;ia=443}else{do if((j[l+276>>1]|0)>=48){k=l+300|0;g=f[k>>2]|0;if(g|0){f[k>>2]=f[g>>2];ia=l+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=440;break D}k=l+296|0;g=f[k>>2]|0;if(!g){g=l+292|0;break}else{f[k>>2]=f[g>>2];ia=l+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=440;break D}}else g=l+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;ia=439}while(0);if((ia|0)==439){g=Dc(l,48,0)|0;ia=440}do if((ia|0)==440){if(!g){g=f[sa>>2]|0;ia=443;break}A=g;B=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));b[g>>0]=57;d[g+34>>1]=-1;if(p)k=0;else{f[g+16>>2]=r;k=f[r+4>>2]&2097412;f[g+4>>2]=k}if(i|0){f[g+12>>2]=i;f[g+4>>2]=k|f[i+4>>2]&2097412}jl(g);i=f[(f[sa>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[da>>2]=i;ni(sa,42710,da)}da=g+4|0;f[da>>2]=f[da>>2]|f[ra>>2]&1;d[g+36>>1]=d[ya+36>>1]|0}while(0);do if((ia|0)==443){if(i|0)ig(g,i);if(p){g=0;break}ig(g,r);g=0}while(0);n=xn(c,g,259)|0;yn(a,c,n);if(m)i=0;else i=Bk(na,s,0,0)|0;f[ka>>2]=o;f[ka+4>>2]=6;g=Dk(f[sa>>2]|0,102,ka,0)|0;if(g){f[g+12>>2]=i;i=g+4|0;f[i>>2]=f[i>>2]|4352;i=g}l=f[sa>>2]|0;E:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))ia=467;else{g=l;ia=471}else{do if((j[l+276>>1]|0)>=48){k=l+300|0;g=f[k>>2]|0;if(g|0){f[k>>2]=f[g>>2];ia=l+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=468;break E}k=l+296|0;g=f[k>>2]|0;if(!g){g=l+292|0;break}else{f[k>>2]=f[g>>2];ia=l+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=468;break E}}else g=l+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;ia=467}while(0);if((ia|0)==467){g=Dc(l,48,0)|0;ia=468}do if((ia|0)==468){if(!g){g=f[sa>>2]|0;ia=471;break}A=g;B=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));b[g>>0]=56;d[g+34>>1]=-1;if(!u)k=0;else{f[g+16>>2]=u;k=f[u+4>>2]&2097412;f[g+4>>2]=k}if(i|0){f[g+12>>2]=i;f[g+4>>2]=k|f[i+4>>2]&2097412}jl(g);i=f[(f[sa>>2]|0)+120>>2]|0;if((i|0)<(f[g+24>>2]|0)){f[ea>>2]=i;ni(sa,42710,ea)}ea=g+4|0;f[ea>>2]=f[ea>>2]|f[ra>>2]&1;d[g+36>>1]=d[ya+36>>1]|0}while(0);do if((ia|0)==471){if(i|0)ig(g,i);if(!u){g=0;break}ig(g,u);g=0}while(0);i=xn(c,g,259)|0;yn(a,c,i);k=f[xa>>2]|0;g=k+(e*48|0)|0;if(!q)break;f[k+(n*48|0)+16>>2]=e;ca=k+(e*48|0)+8|0;d[k+(n*48|0)+8>>1]=d[ca>>1]|0;ea=k+(e*48|0)+14|0;da=b[ea>>0]|0;f[k+(i*48|0)+16>>2]=e;d[k+(i*48|0)+8>>1]=d[ca>>1]|0;b[ea>>0]=da+2<<24>>24}}while(0);if((b[D>>0]|0)==44){i=b[ya>>0]|0;F:do switch(i<<24>>24){case -99:{i=f[ya+20>>2]|0;if((i|0)!=0?(f[i>>2]|0)==2:0){o=i+4|0;p=i+24|0;k=f[p>>2]|0;G:do if(((b[k>>0]|0)==-98?f[(f[k+44>>2]|0)+56>>2]|0:0)?(ga=f[ya+8>>2]|0,ea=b[ga>>0]|0,fa=ea&255,ea<<24>>24):0){i=(h[1232+fa>>0]|0)+-109|0;if(!i){l=47756;m=ga;do{m=m+1|0;l=l+1|0;ea=b[m>>0]|0;i=(h[1232+(ea&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(ea<<24>>24==0|(i|0)!=0))}H:do if(i){n=fa|32;switch((n&255)<<24>>24){case 103:{m=41511;i=ga;do{i=i+1|0;m=m+1|0;ia=b[i>>0]|0;l=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(ia<<24>>24==0|(l|0)!=0));if(!l){i=1;break H}else break G}case 108:{ia=496;break}case 114:break;default:break G}if((ia|0)==496){i=41520;l=ga;do{l=l+1|0;i=i+1|0;ia=b[l>>0]|0;m=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(ia<<24>>24==0|(m|0)!=0));if(!m){i=2;break}if((n|0)!=114)break G}m=56954;i=ga;do{i=i+1|0;m=m+1|0;ia=b[i>>0]|0;l=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(ia<<24>>24==0|(l|0)!=0));if(!l)i=3;else break G}else i=0;while(0);i=b[22992+(i<<3)+4>>0]|0;m=1;n=f[o>>2]|0;ia=524;break F}while(0);k=f[o>>2]|0;if((b[k>>0]|0)==-98?(ha=f[k+44>>2]|0,(f[ha+56>>2]|0)!=0):0){i=ha+64|0;while(1){i=f[i>>2]|0;if((f[i>>2]|0)==(na|0))break;else i=i+24|0}i=f[i+8>>2]|0;l=f[(f[i>>2]|0)+72>>2]|0;if(l|0?(ja=mb[l&127](i,2,f[ya+8>>2]|0,ka,la)|0,(ja|0)>149):0){i=ja&255;m=1;n=f[p>>2]|0;ia=524;break F}ia=554}else ia=554}else ia=554;break}case 51:case -100:case 52:{k=f[za>>2]|0;l=f[ya+16>>2]|0;if((b[k>>0]|0)==-98)m=(f[(f[k+44>>2]|0)+56>>2]|0)!=0&1;else m=0;if(l)if((b[l>>0]|0)==-98){la=(f[(f[l+44>>2]|0)+56>>2]|0)==0;n=la?l:k;k=la?k:l;m=m+((la^1)&1)|0}else n=l;else n=0;switch(i<<24>>24){case 52:{i=68;break}case -100:{i=69;break}case 51:{i=70;break}default:i=0}if((m|0)>0)ia=524;else ia=554;break}default:{}}while(0);if((ia|0)==524)while(1){v=m;m=m+-1|0;l=n;o=(n|0)==0;if(o){s=0;u=0}else{s=Fn(ma,l)|0;u=ba()|0}r=k;if(!k){p=0;q=0}else{p=Fn(ma,r)|0;q=ba()|0}if((p&s|0)==0&(q&u|0)==0){if(o)p=0;else p=Bk(na,l,0,0)|0;o=f[sa>>2]|0;I:do if(f[o+272>>2]|0)if(!(b[o+81>>0]|0))ia=542;else ia=545;else{do if((j[o+276>>1]|0)>=48){l=o+300|0;g=f[l>>2]|0;if(g|0){f[l>>2]=f[g>>2];ia=o+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=543;break I}l=o+296|0;g=f[l>>2]|0;if(!g){g=o+292|0;break}else{f[l>>2]=f[g>>2];ia=o+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=543;break I}}else g=o+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;ia=542}while(0);if((ia|0)==542){g=Dc(o,48,0)|0;ia=543}do if((ia|0)==543){ia=0;if(!g)ia=545;else{A=g;B=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));b[g>>0]=46;d[g+34>>1]=-1;if(p|0){f[g+16>>2]=p;f[g+4>>2]=f[p+4>>2]&2097412}jl(g);l=f[(f[sa>>2]|0)+120>>2]|0;if((l|0)<(f[g+24>>2]|0)){f[oa>>2]=l;ni(sa,42710,oa)}if(!(f[ra>>2]&1))break;la=g+4|0;f[la>>2]=f[la>>2]|1}}while(0);if((ia|0)==545)if(!p)g=0;else{ig(f[sa>>2]|0,p);g=0}la=xn(c,g,3)|0;ia=f[xa>>2]|0;g=ia+(la*48|0)+32|0;f[g>>2]=s;f[g+4>>2]=u;f[ia+(la*48|0)+20>>2]=f[r+28>>2];f[ia+(la*48|0)+28>>2]=d[r+32>>1];d[ia+(la*48|0)+12>>1]=64;b[ia+(la*48|0)+15>>0]=i;g=f[xa>>2]|0;f[g+(la*48|0)+16>>2]=e;d[g+(la*48|0)+8>>1]=d[g+(e*48|0)+8>>1]|0;ja=g+(e*48|0)+14|0;b[ja>>0]=(b[ja>>0]|0)+1<<24>>24;ja=g+(e*48|0)+10|0;d[ja>>1]=d[ja>>1]|8;ja=g+(e*48|0)+40|0;ka=f[ja+4>>2]|0;la=ia+(la*48|0)+40|0;f[la>>2]=f[ja>>2];f[la+4>>2]=ka;g=g+(e*48|0)|0}if((v|0)<=1){ia=554;break}else{la=n;n=k;k=la}}if((ia|0)==554){if((b[D>>0]|0)!=44)break;i=b[ya>>0]|0}switch(i<<24>>24){case 45:case 53:{m=f[za>>2]|0;k=b[m>>0]|0;if(k<<24>>24==-92)i=b[m+38>>0]|0;else i=k;switch(i<<24>>24){case -91:{i=m+20|0;ia=562;break}case 127:{i=f[m+20>>2]|0;ia=562;break}default:{}}do if((ia|0)==562){r=f[f[i>>2]>>2]|0;if((r|0)>1){s=ya+16|0;l=f[s>>2]|0;i=b[l>>0]|0;if(i<<24>>24==-92)i=b[l+38>>0]|0;switch(i<<24>>24){case -91:{i=l+20|0;ia=568;break}case 127:{i=f[l+20>>2]|0;ia=568;break}default:i=1}if((ia|0)==568)i=f[f[i>>2]>>2]|0;if((i|0)==(r|0)){if(f[m+4>>2]&2048|0?f[l+4>>2]&2048|0:0)break;p=sa+36|0;q=ya+36|0;g=0;i=m;while(1){J:do switch(k<<24>>24){case 127:{m=f[sa>>2]|0;K:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))ia=584;else{l=0;break J}else{do if((j[m+276>>1]|0)>=48){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];oa=m+284|0;f[oa>>2]=(f[oa>>2]|0)+1;break K}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];oa=m+284|0;f[oa>>2]=(f[oa>>2]|0)+1;break K}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;ia=584}while(0);if((ia|0)==584){ia=0;l=Dc(m,48,0)|0}if(!l)l=0;else{A=l;B=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));b[l>>0]=-90;d[l+34>>1]=-1;jl(l);k=f[(f[sa>>2]|0)+120>>2]|0;if((k|0)<(f[l+24>>2]|0)){f[ta>>2]=k;ni(sa,42710,ta)}d[l+32>>1]=g;f[l+12>>2]=i}break}case -91:{i=f[(f[i+20>>2]|0)+4+(g*20|0)>>2]|0;if(!i)l=0;else ia=590;break}default:ia=590}while(0);if((ia|0)==590){ia=0;l=Bk(f[sa>>2]|0,i,0,0)|0}i=f[s>>2]|0;L:do switch(b[i>>0]|0){case 127:{n=f[sa>>2]|0;M:do if(f[n+272>>2]|0)if(!(b[n+81>>0]|0))ia=602;else{m=0;break L}else{do if((j[n+276>>1]|0)>=48){k=n+300|0;m=f[k>>2]|0;if(m|0){f[k>>2]=f[m>>2];oa=n+284|0;f[oa>>2]=(f[oa>>2]|0)+1;break M}k=n+296|0;m=f[k>>2]|0;if(!m){k=n+292|0;break}else{f[k>>2]=f[m>>2];oa=n+284|0;f[oa>>2]=(f[oa>>2]|0)+1;break M}}else k=n+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;ia=602}while(0);if((ia|0)==602){ia=0;m=Dc(n,48,0)|0}if(!m)m=0;else{A=m;B=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));b[m>>0]=-90;d[m+34>>1]=-1;jl(m);k=f[(f[sa>>2]|0)+120>>2]|0;if((k|0)<(f[m+24>>2]|0)){f[ua>>2]=k;ni(sa,42710,ua)}d[m+32>>1]=g;f[m+12>>2]=i}break}case -91:{i=f[(f[i+20>>2]|0)+4+(g*20|0)>>2]|0;if(!i)m=0;else ia=608;break}default:ia=608}while(0);if((ia|0)==608){ia=0;m=Bk(f[sa>>2]|0,i,0,0)|0}o=b[ya>>0]|0;if(o<<24>>24==44?(f[p>>2]|0)==0:0){i=kl(f[sa>>2]|0,l,m)|0;if(!i)i=0;else ia=634}else ia=611;N:do if((ia|0)==611){ia=0;n=f[sa>>2]|0;O:do if(f[n+272>>2]|0)if(!(b[n+81>>0]|0))ia=621;else i=n;else{do if((j[n+276>>1]|0)>=48){k=n+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];ia=n+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=622;break O}k=n+296|0;i=f[k>>2]|0;if(!i){i=n+292|0;break}else{f[k>>2]=f[i>>2];ia=n+284|0;f[ia>>2]=(f[ia>>2]|0)+1;ia=622;break O}}else i=n+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;ia=621}while(0);if((ia|0)==621){i=Dc(n,48,0)|0;ia=622}do if((ia|0)==622){ia=0;if(!i){i=f[sa>>2]|0;break}A=i;B=A+48|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(B|0));b[i>>0]=o;d[i+34>>1]=-1;if(!m)k=0;else{f[i+16>>2]=m;k=f[m+4>>2]&2097412;f[i+4>>2]=k}if(l|0){f[i+12>>2]=l;f[i+4>>2]=k|f[l+4>>2]&2097412}jl(i);ia=634;break N}while(0);if(l|0)ig(i,l);if(!m){i=0;break}ig(i,m);i=0}while(0);if((ia|0)==634){ia=0;k=f[(f[sa>>2]|0)+120>>2]|0;if((k|0)<(f[i+24>>2]|0)){f[va>>2]=k;ni(sa,42710,va)}oa=i+4|0;f[oa>>2]=f[oa>>2]|f[ra>>2]&1;d[i+36>>1]=d[q>>1]|0}yn(a,c,xn(c,i,1)|0);g=g+1|0;if((g|0)==(r|0))break;i=f[za>>2]|0;k=b[i>>0]|0}va=b[D>>0]|0;g=f[xa>>2]|0;ua=g+(e*48|0)+10|0;d[ua>>1]=d[ua>>1]|6;d[g+(e*48|0)+12>>1]=0;if(va<<24>>24==44)g=g+(e*48|0)|0;else break v}}}while(0);i=b[ya>>0]|0;break}default:{}}if(((i<<24>>24==49?(f[g+24>>2]|0)==0:0)?(wa=f[za>>2]|0,(b[wa>>0]|0)==-91):0)?(f[(f[ya+20>>2]|0)+52>>2]|0)==0:0){k=0;g=-91;i=wa;while(1){if(g<<24>>24==-92)g=b[i+38>>0]|0;switch(g<<24>>24){case -91:{g=i+20|0;ia=651;break}case 127:{g=f[i+20>>2]|0;ia=651;break}default:g=1}if((ia|0)==651){ia=0;g=f[f[g>>2]>>2]|0}if((k|0)>=(g|0))break v;wa=xn(c,ya,2)|0;g=k+1|0;f[(f[xa>>2]|0)+(wa*48|0)+24>>2]=g;yn(a,c,wa);i=f[xa>>2]|0;f[i+(wa*48|0)+16>>2]=e;d[i+(wa*48|0)+8>>1]=d[i+(e*48|0)+8>>1]|0;i=i+(e*48|0)+14|0;b[i>>0]=(b[i>>0]|0)+1<<24>>24;i=f[za>>2]|0;k=g;g=b[i>>0]|0}}}}while(0);e=(f[xa>>2]|0)+(e*48|0)+32|0;ya=e;za=f[ya+4>>2]|pa;f[e>>2]=f[ya>>2]|qa;f[e+4>>2]=za;t=Aa;return}function zn(a,c){a=a|0;c=c|0;if((b[c>>0]|0)!=-99){c=0;return c|0}if(f[c+4>>2]&524288|0){c=0;return c|0}b[a+20>>0]=0;c=2;return c|0}function An(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;t=a+24|0;x=a+4|0;y=a+18|0;z=a+12|0;A=a+20|0;C=a+17|0;D=a+8|0;u=a+16|0;v=a+28|0;w=a+72|0;e=f[t>>2]|0;g=f[x>>2]|0;c=b[y>>0]|0;a:while(1){q=(c&255)+-1|0;s=d[a+72+(q<<1)>>1]|0;q=f[a+28+(q<<2)>>2]|0;r=s<<16>>16;s=s<<16>>16==-2;c=g;while(1){p=c+12|0;if((e|0)<(f[p>>2]|0)){o=(f[c+20>>2]|0)+(e*48|0)|0;while(1){do if((f[o+20>>2]|0)==(q|0)?(f[o+28>>2]|0)==(r|0):0){if(s){i=f[(f[o>>2]|0)+12>>2]|0;g=f[z>>2]|0;b:do if(!i)i=0;else while(1){j=f[i+4>>2]|0;if(!(j&4096))break b;if(!(j&262144))i=i+12|0;else i=(f[i+20>>2]|0)+4|0;i=f[i>>2]|0;if(!i){i=0;break}}while(0);c:do if(!g)g=0;else while(1){j=f[g+4>>2]|0;if(!(j&4096))break c;if(!(j&262144))g=g+12|0;else g=(f[g+20>>2]|0)+4|0;g=f[g>>2]|0;if(!g){g=0;break}}while(0);if(Ck(0,i,g,q)|0)break}if((h[y>>0]|0)>=2?f[(f[o>>2]|0)+4>>2]&1|0:0)break;n=o+12|0;g=d[n>>1]|0;if((g&2048)!=0?(B=b[C>>0]|0,(B&255)<11):0){i=f[(f[o>>2]|0)+16>>2]|0;j=f[i+4>>2]|0;if(j&4096)do{if(!(j&262144))i=i+12|0;else i=(f[i+20>>2]|0)+4|0;i=f[i>>2]|0;j=f[i+4>>2]|0}while((j&4096|0)!=0);if((b[i>>0]|0)==-98){m=B&255;d:do if(!(B<<24>>24))j=0;else{l=f[i+28>>2]|0;k=i+32|0;j=0;do{if((f[a+28+(j<<2)>>2]|0)==(l|0)?(d[a+72+(j<<1)>>1]|0)==(d[k>>1]|0):0)break d;j=j+1|0}while(j>>>0>>0)}while(0);if((j|0)==(m|0)){f[a+28+(m<<2)>>2]=f[i+28>>2];d[a+72+(m<<1)>>1]=d[i+32>>1]|0;b[C>>0]=B+1<<24>>24;g=d[n>>1]|0}}}i=g&65535;if(f[A>>2]&i|0){if((i&256|0)==0&(f[D>>2]|0)!=0){k=f[f[c>>2]>>2]|0;g=f[o>>2]|0;if(!(Gn(g,b[u>>0]|0)|0))break;i=f[g+12>>2]|0;j=f[g+16>>2]|0;do if(!(f[i+4>>2]&256)){if(j|0?f[j+4>>2]&256|0:0){g=Zk(k,j)|0;E=51;break}g=Zk(k,i)|0;if(!g){g=Zk(k,j)|0;E=51}}else{g=Zk(k,i)|0;E=51}while(0);if((E|0)==51){E=0;if(!g)g=f[(f[k>>2]|0)+8>>2]|0}i=f[g>>2]|0;j=f[D>>2]|0;m=b[i>>0]|0;g=(h[1232+(m&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0;if(!(m<<24>>24==0|(g|0)!=0))do{i=i+1|0;j=j+1|0;m=b[i>>0]|0;g=(h[1232+(m&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0}while(!(m<<24>>24==0|(g|0)!=0));if(g|0)break;g=d[n>>1]|0}if(!(g&130))break a;g=f[(f[o>>2]|0)+16>>2]|0;if((b[g>>0]|0)!=-98)break a;if((f[g+28>>2]|0)!=(f[v>>2]|0))break a;if((d[g+32>>1]|0)!=(d[w>>1]|0))break a}}while(0);e=e+1|0;if((e|0)<(f[p>>2]|0))o=o+48|0;else break}}c=f[c+4>>2]|0;if(!c)break;else e=0}c=b[y>>0]|0;if((c&255)>=(h[C>>0]|0)){c=0;E=67;break}g=f[a>>2]|0;c=c+1<<24>>24;b[y>>0]=c;e=0}if((E|0)==67)return c|0;f[x>>2]=c;f[t>>2]=e+1;E=o;return E|0}function Bn(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=t;t=t+16|0;p=L;I=L+4|0;s=f[a>>2]|0;K=f[s>>2]|0;r=f[a+4>>2]|0;G=f[a+12>>2]|0;s=f[s+4>>2]|0;y=h[G+16>>0]|0;C=f[a+8>>2]|0;H=r+20|0;q=r+12|0;n=f[q>>2]|0;if((n|0)>0){o=f[s+8+(y*72|0)+40>>2]|0;l=0;k=0;m=f[H>>2]|0;while(1){if((f[m+20>>2]|0)==(o|0)?(F=m+32|0,(f[F>>2]&g|0)==0?(f[F+4>>2]&i|0)==0:0):0)k=k+((d[m+12>>1]&-2049)<<16>>16!=0&1)|0;l=l+1|0;if((l|0)==(n|0)){o=k;break}else m=m+48|0}}else o=0;if(!C)z=0;else{n=f[C>>2]|0;a:do if((n|0)>0){m=s+8+(y*72|0)+40|0;k=0;do{l=f[C+4+(k*20|0)>>2]|0;if((b[l>>0]|0)!=-98)break a;if((f[l+28>>2]|0)!=(f[m>>2]|0))break a;k=k+1|0}while((k|0)<(n|0))}else k=0;while(0);z=(k|0)==(n|0)?n:0}m=f[K>>2]|0;n=(o*20|0)+80+(z<<3)|0;b:do if(!m){F=KA(n|0,0,-1,-1)|0;D=ba()|0;if(!(D>>>0>0|(D|0)==0&F>>>0>2147483390)){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](n)|0;E=38;break}k=ib[f[37372>>2]&255](n)|0;if((f[18194]|0)>>>0>>0)f[18194]=n;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){F=f[18187]|0;D=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;x=ba()|0;f[17976]=((x|0)<0|(x|0)==0&D>>>0<=F>>>0)&1}l=ib[f[37356>>2]&255](k)|0;if(l){k=ib[f[37368>>2]&255](l)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;F=l}else F=l}else E=39}else E=39}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0){E=39;break}}else{do if(!(0<0|(0==0?(j[m+276>>1]|0)>>>0>>0:0))){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];E=m+284|0;f[E>>2]=(f[E>>2]|0)+1;E=38;break b}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];E=m+284|0;f[E>>2]=(f[E>>2]|0)+1;E=38;break b}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,n,0)|0;E=38}while(0);if((E|0)==38)if(!k)E=39;else F=k;if((E|0)==39){ni(K,44870,p);K=7;t=L;return K|0}_A(F|0,0,n|0)|0;w=F+80|0;x=w+(o*12|0)|0;f[F>>2]=o;f[F+8>>2]=z;D=F+4|0;f[D>>2]=w;f[F+12>>2]=x;f[F+16>>2]=x+(z<<3);f[F+72>>2]=r;f[F+76>>2]=K;u=f[q>>2]|0;if((u|0)>0){v=s+8+(y*72|0)+36|0;s=f[s+8+(y*72|0)+40>>2]|0;l=0;k=0;q=f[H>>2]|0;r=0;while(1){do if(((f[q+20>>2]|0)==(s|0)?(y=q+32|0,(f[y>>2]&g|0)==0?(f[y+4>>2]&i|0)==0:0):0)?(A=d[q+12>>1]|0,B=A&65535,(B&63487|0)!=0):0){if(b[v>>0]&8?!((B&384|0)==0?1:(f[(f[q>>2]|0)+4>>2]&1|0)!=0):0)break;f[w+(l*12|0)>>2]=f[q+28>>2];f[w+(l*12|0)+8>>2]=r;p=A&8191;p=p<<16>>16==1?2:p;m=p&65535;c:do if(p<<16>>16!=64){if(m&384|0){m=w+(l*12|0)+4|0;if(p<<16>>16==256){b[m>>0]=71;break}else{b[m>>0]=72;break}}o=w+(l*12|0)+4|0;b[o>>0]=p;if(m&60){n=f[(f[q>>2]|0)+16>>2]|0;m=b[n>>0]|0;if(m<<24>>24==-92)m=b[n+38>>0]|0;switch(m<<24>>24){case -91:{m=n+20|0;break}case 127:{m=f[n+20>>2]|0;break}default:break c}if((f[f[m>>2]>>2]|0)>=2){k=r>>>0<16?(1<>0]=8;break c}case 4:{b[o>>0]=32;break c}default:break c}}}}else b[w+(l*12|0)+4>>0]=b[q+15>>0]|0;while(0);l=l+1|0}while(0);r=r+1|0;if((r|0)==(u|0)){g=k;break}else q=q+48|0}}else g=0;if((z|0)<=0){if(!F){K=7;t=L;return K|0}}else{k=0;do{f[x+(k<<3)>>2]=d[(f[C+4+(k*20|0)>>2]|0)+32>>1];b[x+(k<<3)+4>>0]=b[C+4+(k*20|0)+12>>0]|0;k=k+1|0}while((k|0)!=(z|0))}d[G+18>>1]=0;f[G+36>>2]=1024;d[G+40>>1]=0;b[G+28>>0]=0;B=f[F>>2]|0;k=f[K>>2]|0;o=G+44|0;d:do if((B|0)>(j[o>>1]|0)){p=B+7&-8;n=p<<2;e:do if(f[k+272>>2]|0)if(!(b[k+81>>0]|0))E=80;else E=94;else{do if(!(0<0|(0==0?(j[k+276>>1]|0)>>>0>>0:0))){l=k+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];E=k+284|0;f[E>>2]=(f[E>>2]|0)+1;E=81;break e}l=k+296|0;m=f[l>>2]|0;if(!m){l=k+292|0;break}else{f[l>>2]=f[m>>2];E=k+284|0;f[E>>2]=(f[E>>2]|0)+1;E=81;break e}}else l=k+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;E=80}while(0);if((E|0)==80){m=Dc(k,n,0)|0;E=81}do if((E|0)==81){if(!m){k=f[K>>2]|0;if(!k)break;else{E=94;break}}l=G+48|0;YA(m|0,f[l>>2]|0,j[o>>1]<<2|0)|0;n=f[l>>2]|0;do if((n|0)!=(G+56|0)){if(f[k+480>>2]|0){Kc(k,n);break}C=n;if((f[k+304>>2]|0)>>>0<=C>>>0?(f[k+308>>2]|0)>>>0>C>>>0:0){C=k+300|0;f[n>>2]=f[C>>2];f[C>>2]=n;break}if(n|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{C=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[l>>2]=m;d[o>>1]=p;break d}while(0);if((E|0)==94){if(f[k+480>>2]|0){Kc(k,F);K=7;t=L;return K|0}K=F;if((f[k+304>>2]|0)>>>0<=K>>>0?(f[k+308>>2]|0)>>>0>K>>>0:0){K=k+300|0;f[F>>2]=f[K>>2];f[K>>2]=F;K=7;t=L;return K|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](F);K=7;t=L;return K|0}else{K=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);K=7;t=L;return K|0}}while(0);l=Yn(a,c,e,-1,-1,0,F,g,I)|0;if(!l){A=G;x=~c;y=~e;z=f[A>>2]&x;A=f[A+4>>2]&y;if(!((z|0)==0&(A|0)==0)){if(f[I>>2]|0){l=Yn(a,c,e,-1,-1,1,F,g,I)|0;n=G;k=f[n>>2]&x;n=f[n+4>>2]&y;m=(k|0)==0&(n|0)==0&1;if(!l){w=k;E=106}else k=m}else{m=0;w=0;n=0;E=106}f:do if((E|0)==106){v=(B|0)>0;k=m;o=0;l=0;while(1){if(!v){l=0;break f}q=f[H>>2]|0;r=f[D>>2]|0;while(1){p=0;u=-1;s=-1;do{E=q+((f[r+(p*12|0)+8>>2]|0)*48|0)+32|0;i=f[E>>2]&x;E=f[E+4>>2]&y;C=(E>>>0>l>>>0|(E|0)==(l|0)&i>>>0>o>>>0)&(E>>>0>>0|(E|0)==(u|0)&i>>>0>>0);s=C?i:s;u=C?E:u;p=p+1|0}while((p|0)!=(B|0));if((s|0)==-1&(u|0)==-1){l=0;break f}if((s|0)==(z|0)&(u|0)==(A|0)|(s|0)==(w|0)&(u|0)==(n|0)){l=u;o=s}else break}l=Yn(a,c,e,s|c,u|e,0,F,g,I)|0;E=G;if((f[E>>2]|0)==(c|0)?(f[E+4>>2]|0)==(e|0):0){k=(f[I>>2]|0)==0?1:k;m=1}if(!l){o=s;l=u}else break}}while(0);if(!(m|l)){l=Yn(a,c,e,c,e,0,F,g,I)|0;k=(f[I>>2]|0)==0?1:k}if(!(k|l))l=Yn(a,c,e,c,e,1,F,g,I)|0}else l=0}do if(f[F+28>>2]|0?(J=f[F+24>>2]|0,J|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](J);break}else{I=ib[f[37368>>2]&255](J)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](J);break}while(0);k=f[K>>2]|0;if(k|0){if(f[k+480>>2]|0){Kc(k,F);K=l;t=L;return K|0}K=F;if((f[k+304>>2]|0)>>>0<=K>>>0?(f[k+308>>2]|0)>>>0>K>>>0:0){K=k+300|0;f[F>>2]=f[K>>2];f[K>>2]=F;K=l;t=L;return K|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](F);K=l;t=L;return K|0}else{K=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);K=l;t=L;return K|0}return 0} -function Nt(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=t;t=t+16|0;s=x;v=f[d>>2]|0;w=(f[d+28>>2]|0)+((U(c*3|0,f[d+4>>2]|0)|0)<<2)|0;e=f[v>>2]|0;if(b[a+34>>0]|0?(f[f[a+8>>2]>>2]|0)!=1:0){a=e+24|0;if((f[a>>2]|0)<=0){w=0;t=x;return w|0}d=f[v+64>>2]|0;c=0;do{v=c*3|0;f[w+(v+1<<2)>>2]=d;f[w+(v+2<<2)>>2]=d;c=c+1|0}while((c|0)<(f[a>>2]|0));c=0;t=x;return c|0}f[s>>2]=0;u=a+40|0;if(!(f[u>>2]|0)){o=v+32|0;q=o;p=f[q>>2]|0;q=f[q+4>>2]|0;d=f[a+8>>2]|0;a:do if(!d)d=a;else{c=a;while(1){if((f[d>>2]|0)!=1){d=c;break a}c=f[d+8>>2]|0;if(!c)break;else{n=d;d=c;c=n}}}while(0);l=d+24|0;n=l;m=f[n>>2]|0;n=f[n+4>>2]|0;j=d+32|0;k=b[j>>0]|0;a=e+24|0;c=d;do{if((f[c>>2]|0)==5)g=c;else g=f[c+16>>2]|0;e=Fd((f[a>>2]|0)*12|0)|0;f[g+40>>2]=e;if(!e){h=16;break}_A(e|0,0,(f[a>>2]|0)*12|0)|0;c=f[c+12>>2]|0}while((c|0)!=0);if((h|0)==16){w=7;t=x;return w|0}Xt(v,d,s);i=v+6|0;c=f[s>>2]|0;b:do if((b[i>>0]|0)==0&(c|0)==0){e=v+7|0;g=v+12|0;h=v+88|0;while(1){if((b[e>>0]|0)==0?(r=f[g>>2]|0,r|0):0){c=f[r>>2]|0;y=r+128|0;z=f[y+4>>2]|0;if((z|0)>0|(z|0)==0&(f[y>>2]|0)>>>0>0)Hi(c,r);z=fg(r)|0;f[r+20>>2]=770837923;f[r+36>>2]=-1;f[r+40>>2]=0;b[r+142>>0]=2;f[r+44>>2]=0;f[r+32>>2]=1;b[r+143>>0]=-1;f[r+48>>2]=0;y=r+64|0;f[y>>2]=0;f[y+4>>2]=0;if((z|0)==3082|(b[c+81>>0]|0)!=0)Di(c)}Yt(v,d,s);z=b[j>>0]|0;b[i>>0]=z;b[e>>0]=1;f[h>>2]=1;A=l;c=f[A+4>>2]|0;y=o;f[y>>2]=f[A>>2];f[y+4>>2]=c;if(!((z<<24>>24==0?(f[d>>2]|0)==1:0)?(Ot(v,s)|0)!=0:0)){c=f[s>>2]|0;if(c|0)break b;if(b[i>>0]|0){c=0;break b}Zt(d);c=f[s>>2]|0;if(!((c|0)==0&(b[i>>0]|0)==0))break b}}}while(0);b[i>>0]=0;A=o;f[A>>2]=p;f[A+4>>2]=q;if(!(k<<24>>24)){Xt(v,d,s);do{Yt(v,d,s);A=l;c=f[s>>2]|0}while(((f[A>>2]|0)!=(m|0)?1:(f[A+4>>2]|0)!=(n|0))&(c|0)==0)}else b[j>>0]=k;if(c){A=c;t=x;return A|0}}else a=e+24|0;if((f[a>>2]|0)<=0){A=0;t=x;return A|0}d=f[u>>2]|0;c=0;do{A=c*3|0;z=A+1|0;f[w+(z<<2)>>2]=f[d+(z<<2)>>2];A=A+2|0;f[w+(A<<2)>>2]=f[d+(A<<2)>>2];c=c+1|0}while((c|0)<(f[a>>2]|0));c=0;t=x;return c|0}function Ot(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=t;t=t+32|0;z=J+24|0;G=J+20|0;A=J+16|0;B=J+12|0;C=J+8|0;D=J+4|0;I=J;e=f[c>>2]|0;f[I>>2]=e;if(e|0){c=0;I=e;I=(I|0)==0;I=c&I;I=I&1;t=J;return I|0}H=a+28|0;if(f[H>>2]|0?(y=Qt(0,a)|0,f[I>>2]=y,(y|0)==0):0){f[G>>2]=0;a:do if(f[H>>2]|0){e=f[a>>2]|0;u=f[e+36>>2]|0;g=f[u>>2]|0;v=a+12|0;w=Jp(f[v>>2]|0,0)|0;x=ba()|0;y=e+24|0;h=f[y>>2]|0;if((h|0)>0){q=e+32|0;r=a+20|0;s=g+20|0;p=g+16|0;n=0;g=h;while(1){if(!(b[(f[q>>2]|0)+n>>0]|0)){i=f[v>>2]|0;o=n+1|0;h=(i|0)==0;do if(h)e=37592;else{e=f[i+104>>2]|0;if(e|0?o>>>0<(j[i+140>>1]|0)>>>0:0){e=e+(o*40|0)|0;break}e=f[i>>2]|0;f[e+64>>2]=25;Bg(e,25);e=37592}while(0);g=d[e+8>>1]|0;if((g&514)==514?(b[e+10>>0]|0)==1:0)k=f[e+16>>2]|0;else if(!(g&1))k=Ic(e,1)|0;else k=0;if(!h){g=f[i>>2]|0;h=i+40|0;e=f[h>>2]|0;if((e|0)==3082|(b[g+81>>0]|0)!=0){Di(g);e=7}else e=f[g+68>>2]&e;f[h>>2]=e}g=f[r>>2]|0;h=f[u>>2]|0;f[z>>2]=0;e=lb[f[h+12>>2]&127](u,k,-1,z)|0;do if(!e){f[f[z>>2]>>2]=u;if((f[h>>2]|0)>0?(E=jb[f[h+24>>2]&255](f[z>>2]|0,g)|0,E|0):0){ib[f[h+16>>2]&255](f[z>>2]|0)|0;f[z>>2]=0;e=E;g=0;F=29;break}g=f[z>>2]|0;f[G>>2]=0;m=g;do{f[A>>2]=0;f[B>>2]=0;f[C>>2]=0;f[D>>2]=0;e=nb[f[s>>2]&127](m,z,A,B,C,D)|0;f[G>>2]=e;h=f[H>>2]|0;if((e|0)==0&(h|0)!=0){e=0;do{l=f[h>>2]|0;k=f[h+4>>2]|0;do if((k|0)==(n|0)?1:(k|0)>=(f[y>>2]|0)){i=f[D>>2]|0;if(!((f[l+12>>2]|0)==0|(i|0)==0)){i=0;break}k=f[l+4>>2]|0;K=f[A>>2]|0;if((k|0)!=(K|0)?!((k|0)<(K|0)&(f[l+8>>2]|0)!=0):0){i=0;break}if(Hz(f[z>>2]|0,f[l>>2]|0,k)|0){i=0;break}Rt(h+12|0,w,x,n,0,i,((i|0)<0)<<31>>31,G)|0;i=f[G>>2]|0;e=i}else i=0;while(0);h=f[h+8>>2]|0}while((i|0)==0&(h|0)!=0)}}while(!(e|0))}else{g=f[z>>2]|0;F=29}while(0);if((F|0)==29){F=0;f[G>>2]=e}if(g|0)ib[f[p>>2]&255](g)|0;if((e|0)!=101)break a;f[G>>2]=0;e=o;g=f[y>>2]|0}else e=n+1|0;if((e|0)<(g|0))n=e;else break}}e=f[H>>2]|0;if(e){h=e;e=0;do{g=h+12|0;if(!(f[g>>2]|0))g=0;else{e=St(g,0,0)|0;f[G>>2]=e;g=e}h=f[h+8>>2]|0}while((g|0)==0&(h|0)!=0)}else e=0}else e=0;while(0);f[I>>2]=e}i=(Tt(a,f[a+16>>2]|0,I)|0)==0;e=f[H>>2]|0;if(e|0)do{g=e+12|0;h=f[g>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{K=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[g>>2]=0;e=f[e+8>>2]|0}while((e|0)!=0);K=f[I>>2]|0;f[c>>2]=K;I=i;K=(K|0)==0;K=I&K;K=K&1;t=J;return K|0}function Pt(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=t;t=t+16|0;l=n;m=d+4|0;k=f[m>>2]|0;j=U(c*3|0,k)|0;if((k|0)<=0){m=0;t=n;return m|0}k=d+28|0;i=0;do{c=Lt(f[d>>2]|0,a,i,l)|0;g=f[l>>2]|0;if(!g)e=0;else{h=b[g>>0]|0;if(!(h&254))e=0;else{e=0;do{g=g+1|0;o=h&128;e=(o>>>7^1)+e|0;h=b[g>>0]|0}while((h&254|o|0)!=0)}f[l>>2]=g}f[(f[k>>2]|0)+((i*3|0)+j<<2)>>2]=e;i=i+1|0}while((c|0)==0?(i|0)<(f[m>>2]|0):0);t=n;return c|0}function Qt(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+16|0;i=m;k=c+7|0;if(!(b[k>>0]|0)){a=0;t=m;return a|0}l=c+12|0;e=f[l>>2]|0;do if(!e){h=f[c>>2]|0;g=h+216|0;e=f[g>>2]|0;if(!e){f[i>>2]=f[h+220>>2];e=wd(64616,i)|0;if(!e){h=7;break}h=Ki(f[h+12>>2]|0,e,-1,129,0,l,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}if(h|0)break;e=f[l>>2]|0}else{f[l>>2]=e;f[g>>2]=0}b[c+8>>0]=1;j=13}else j=13;while(0);a:do if((j|0)==13){i=c+32|0;h=f[i>>2]|0;i=f[i+4>>2]|0;do if(!(Op(e,1)|0)){e=f[e+116>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){j=e;f[j>>2]=h;f[j+4>>2]=i;d[g>>1]=4;break}else{bf(e,h,i);break}}while(0);b[k>>0]=0;if((Ei(f[l>>2]|0)|0)==100){a=0;t=m;return a|0}e=f[l>>2]|0;do if(e|0){g=f[e>>2]|0;l=e+128|0;k=f[l+4>>2]|0;if((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)Hi(g,e);h=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;l=e+64|0;f[l>>2]=0;f[l+4>>2]=0;if(!((h|0)==3082|(b[g+81>>0]|0)!=0)){e=f[g+68>>2]&h;if(!e)break;else{h=e;break a}}else{Di(g);h=7;break a}}while(0);if(!(f[(f[c>>2]|0)+40>>2]|0)){b[c+6>>0]=1;h=267;break}else{a=0;t=m;return a|0}}while(0);if(!((a|0)!=0&(h|0)!=0)){a=h;t=m;return a|0}f[a+20>>2]=h;g=f[a>>2]|0;if(!(d[g+8>>1]&1)){a=h;t=m;return a|0}switch(h|0){case 516:{e=44816;break}case 100:{e=44794;break}case 101:{e=44771;break}default:{e=h&255;if(e>>>0<29?(520028155>>>e&1|0)!=0:0)e=f[7984+(e<<2)>>2]|0;else e=44757}}$e(g,e,-1,1,0)|0;a=h;t=m;return a|0}function Rt(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;m=n;j=f[a>>2]|0;f[m>>2]=j;if(j){l=j+16|0;k=f[l>>2]|0;l=f[l+4>>2]|0;if((k|0)==(b|0)&(l|0)==(c|0))l=6;else{l=LA(b|0,c|0,k|0,l|0)|0;k=ba()|0;f[j>>2]=(f[j>>2]|0)+1;j=l;l=4}}else{j=b;k=c;l=4}if((l|0)==4){j=St(m,j,k)|0;if(!j){j=f[m>>2]|0;l=j+24|0;f[l>>2]=-1;f[l+4>>2]=-1;l=j+32|0;f[l>>2]=0;f[l+4>>2]=0;l=j+16|0;f[l>>2]=b;f[l+4>>2]=c;l=6}}do if((l|0)==6){if((e|0)>0|(e|0)==0&d>>>0>0){c=j+24|0;if(!((f[c>>2]|0)==(d|0)?(f[c+4>>2]|0)==(e|0):0)){j=St(m,1,0)|0;if(j|0)break;j=St(m,d,e)|0;if(j|0)break;j=f[m>>2]|0;c=j+24|0;f[c>>2]=d;f[c+4>>2]=e;e=j+32|0;f[e>>2]=0;f[e+4>>2]=0}}else if(!((e|0)>-1|(e|0)==-1&d>>>0>4294967295)){j=0;break}d=KA(g|0,h|0,2,0)|0;e=ba()|0;j=j+32|0;j=LA(d|0,e|0,f[j>>2]|0,f[j+4>>2]|0)|0;j=St(m,j,ba()|0)|0;if(!j){j=(f[m>>2]|0)+32|0;f[j>>2]=g;f[j+4>>2]=h;j=0}}while(0);f[i>>2]=j;j=f[m>>2]|0;if((j|0)==(f[a>>2]|0)){a=0;t=n;return a|0}f[a>>2]=j;a=1;t=n;return a|0}function St(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=f[a>>2]|0;do if(e){g=f[e+8>>2]|0;if(((f[e>>2]|0)+11|0)>(g|0)){g=g<<1;h=g+40|0;if((Mc()|0)==0?(i=Nc(e,(h|0)>0?h:0,0)|0,i|0):0){f[i+8>>2]=g;f[i+4>>2]=i+40;e=i;break}e=f[a>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{d=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[a>>2]=0;a=7;return a|0}}else{if(Mc()|0){a=7;return a|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](140)|0;if(!e){a=7;return a|0}}else{e=ib[f[37372>>2]&255](140)|0;if((f[18194]|0)>>>0<140)f[18194]=140;h=71896;g=f[h>>2]|0;h=f[h+4>>2]|0;if((h|0)>0|(h|0)==0&g>>>0>0){l=f[18187]|0;k=LA(g|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;j=ba()|0;f[17976]=((j|0)<0|(j|0)==0&k>>>0<=l>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e){a=7;return a|0}g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}f[e+8>>2]=100;f[e+4>>2]=e+40;f[e>>2]=0}while(0);k=e+4|0;l=(f[k>>2]|0)+(f[e>>2]|0)|0;j=l;i=d;while(1){g=c&255;h=j+1|0;b[j>>0]=g|-128;c=VA(c|0,i|0,7)|0;i=ba()|0;if((c|0)==0&(i|0)==0)break;else j=h}b[j>>0]=g&127;d=(f[e>>2]|0)+(h-l)|0;f[e>>2]=d;b[(f[k>>2]|0)+d>>0]=0;f[a>>2]=e;a=0;return a|0}function Tt(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;v=t;t=t+16|0;s=v+8|0;u=v+4|0;p=v;if(f[d>>2]|0){u=1;u=u&1;t=v;return u|0}switch(f[c>>2]|0){case 3:case 1:{j=c+12|0;do if(Tt(a,f[j>>2]|0,d)|0?(k=c+16|0,Tt(a,f[k>>2]|0,d)|0):0){if(f[d>>2]|0){u=1;u=u&1;t=v;return u|0}if((f[c>>2]|0)!=1){u=1;u=u&1;t=v;return u|0}r=f[c+8>>2]|0;if(r|0?(f[r>>2]|0)==1:0){u=1;u=u&1;t=v;return u|0}g=f[j>>2]|0;if(!g){g=c;e=0}else{h=c;e=0;while(1){e=(f[(f[(f[h+16>>2]|0)+20>>2]|0)+32>>2]|0)+e|0;h=f[g+12>>2]|0;if(!h)break;else{r=g;g=h;h=r}}}h=g+20|0;i=Fd((f[(f[h>>2]|0)+32>>2]|0)+e<<1)|0;if(!i){f[d>>2]=7;break}d=f[h>>2]|0;f[s>>2]=f[d+28>>2];f[u>>2]=f[d+64>>2];g=f[g+8>>2]|0;a:do if(!g)e=1;else{e=1;do{if((f[g>>2]|0)!=1)break a;e=Ut(f[g+4>>2]|0,i,s,u,f[(f[g+16>>2]|0)+20>>2]|0)|0;g=f[g+8>>2]|0}while((e|0)!=0&(g|0)!=0)}while(0);g=f[(f[k>>2]|0)+20>>2]|0;f[s>>2]=f[g+28>>2];f[u>>2]=f[g+64>>2];g=f[j>>2]|0;if((e|0)!=0&(g|0)!=0)do{if((f[g>>2]|0)==1)e=f[g+16>>2]|0;else e=g;e=Ut(f[(f[g+8>>2]|0)+4>>2]|0,i,s,u,f[e+20>>2]|0)|0;g=f[g+12>>2]|0}while((e|0)!=0&(g|0)!=0);if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{u=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}if(e|0){u=1;u=u&1;t=v;return u|0}}while(0);if((f[c>>2]|0)!=1){u=0;u=u&1;t=v;return u|0}u=f[c+8>>2]|0;if(u|0?(f[u>>2]|0)==1:0){u=0;u=u&1;t=v;return u|0}g=f[c+20>>2]|0;i=a+32|0;if(!g){h=c;while(1){c=f[h+16>>2]|0;s=c+24|0;u=i;if((f[s>>2]|0)==(f[u>>2]|0)?(f[s+4>>2]|0)==(f[u+4>>2]|0):0){e=f[c+20>>2]|0;g=e+24|0;c=e+28|0;do if(f[g>>2]|0?(m=f[c>>2]|0,m|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{u=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);f[c>>2]=0;f[e+32>>2]=0;f[g>>2]=0}c=f[h+12>>2]|0;g=f[c+20>>2]|0;if(!g)h=c;else break}}s=c+24|0;u=i;if(!((f[s>>2]|0)==(f[u>>2]|0)?(f[s+4>>2]|0)==(f[u+4>>2]|0):0)){u=0;u=u&1;t=v;return u|0}e=g+24|0;c=g+28|0;do if(f[e>>2]|0?(n=f[c>>2]|0,n|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{u=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}while(0);f[c>>2]=0;f[g+32>>2]=0;f[e>>2]=0;u=0;u=u&1;t=v;return u|0}case 4:{u=Tt(a,f[c+12>>2]|0,d)|0;u=(Tt(a,f[c+16>>2]|0,d)|0|u|0)!=0;u=u&1;t=v;return u|0}case 2:{if(!(Tt(a,f[c+12>>2]|0,d)|0)){u=0;u=u&1;t=v;return u|0}u=(Tt(a,f[c+16>>2]|0,d)|0)==0;u=u&1;t=v;return u|0}default:{do if(f[a+28>>2]|0){q=c+24|0;n=q;r=a+32|0;o=r;e=b[c+34>>0]|0;if((f[n>>2]|0)==(f[o>>2]|0)?(f[n+4>>2]|0)==(f[o+4>>2]|0):0){c=f[c+20>>2]|0;if(!(e<<24>>24))g=c;else{g=c;l=55}}else{if(!(e<<24>>24))break;g=f[c+20>>2]|0;l=55}if((l|0)==55){e=g+24|0;c=g+28|0;do if(f[e>>2]|0?(h=f[c>>2]|0,h|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{o=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[c>>2]=0;f[g+32>>2]=0;f[e>>2]=0}n=g+64|0;b:do if((f[n>>2]|0)>0){c=g+28|0;o=g+32|0;l=0;m=0;h=0;j=-1;while(1){e=f[g+72+(l*24|0)+16>>2]|0;if(e){h=e+12|0;e=f[h>>2]|0;if(!e){l=66;break}a=Fd(f[e>>2]|0)|0;if(!a){e=7;break b}i=f[h>>2]|0;k=f[i+4>>2]|0;if((b[k>>0]|0)<=-1)if((b[k+1>>0]|0)<=-1)if((b[k+2>>0]|0)<=-1)if((b[k+3>>0]|0)>-1)h=4;else{e=28;h=k+4|0;do{w=h;h=h+1|0;e=e+7|0}while(e>>>0<64&(b[w>>0]|0)<0);h=h-k|0}else h=3;else h=2;else h=1;i=(f[i>>2]|0)-h|0;e=a;YA(a|0,k+h|0,i|0)|0;if(!m){j=l;k=a}else{f[s>>2]=e;f[u>>2]=m;f[p>>2]=e;Vt(s,l-j|0,0,1,u,p)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](m);else{w=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m)}e=(f[s>>2]|0)-e|0;if(!e){l=85;break}j=l;k=a;i=e}}else{k=m;i=h}l=l+1|0;if((l|0)>=(f[n>>2]|0)){l=90;break}else{m=k;h=i}}if((l|0)==66){do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{w=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);f[c>>2]=0;f[o>>2]=0;e=0;break}else if((l|0)==85){if(!(f[9328]|0))ob[f[37360>>2]&127](a);else{w=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a)}f[c>>2]=0;f[o>>2]=0;e=0;break}else if((l|0)==90){if((j|0)<=-1){e=0;break}e=f[g+44>>2]|0;if((e|0)<0){f[c>>2]=k;f[o>>2]=i;u=r;w=f[u+4>>2]|0;e=g+16|0;f[e>>2]=f[u>>2];f[e+4>>2]=w;f[g+24>>2]=1;e=0;break}if((e|0)>(j|0)){f[s>>2]=k;f[u>>2]=f[c>>2];h=e-j|0}else{f[s>>2]=f[c>>2];f[u>>2]=k;h=j-e|0}e=Fd(i+8|0)|0;f[p>>2]=e;if(!e){do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{w=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);e=7;break}f[c>>2]=e;if(!(Vt(p,h,0,1,s,u)|0)){e=f[p>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{w=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[c>>2]=0;e=0}else{f[g+24>>2]=1;e=(f[p>>2]|0)-(f[c>>2]|0)|0}f[o>>2]=e;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{w=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);e=0;break}}else{e=0;c=g+28|0}while(0);f[d>>2]=e;w=(f[c>>2]|0)!=0;d=r;s=f[d+4>>2]|0;u=q;f[u>>2]=f[d>>2];f[u+4>>2]=s;w=w&1;t=v;return w|0}while(0);if(b[c+32>>0]|0){w=0;w=w&1;t=v;return w|0}u=c+24|0;w=a+32|0;w=(f[u>>2]|0)==(f[w>>2]|0)?(f[u+4>>2]|0)==(f[w+4>>2]|0):0;w=w&1;t=v;return w|0}}return 0}function Ut(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;r=t;t=t+32|0;l=r+20|0;k=r+16|0;h=r+12|0;m=r+8|0;i=r+4|0;p=r;q=g+64|0;u=(f[q>>2]|0)+a|0;a=(f[e>>2]|0)+a|0;o=g+28|0;n=f[o>>2]|0;f[p>>2]=n;f[i>>2]=n;f[l>>2]=c;s=f[d>>2]|0;j=c;f[k>>2]=j;Vt(k,u,0,0,d,i)|0;k=f[k>>2]|0;f[h>>2]=k;f[m>>2]=k;f[d>>2]=s;f[i>>2]=n;Vt(h,a,1,0,i,d)|0;i=k;a=(f[h>>2]|0)==(i|0);do if((i|0)==(c|0))if(a)a=0;else{a=c;h=0;while(1){i=b[a>>0]|0;a=a+1|0;if(!(h<<24>>24|i))break;else h=i&128}u=a-k|0;YA(n|0,c|0,u|0)|0;f[p>>2]=n+u;f[m>>2]=a;a=1}else{if(!a){Wt(p,l,m);a=1;break}a=c;h=0;while(1){i=b[a>>0]|0;a=a+1|0;if(!(h<<24>>24|i))break;else h=i&128}u=a-j|0;YA(n|0,c|0,u|0)|0;f[p>>2]=n+u;f[l>>2]=a;a=1}while(0);if(!a){t=r;return a|0}c=f[o>>2]|0;s=(f[p>>2]|0)-c+-1|0;u=g+32|0;_A(c+s|0,0,(f[u>>2]|0)-s|0)|0;f[u>>2]=s;f[d>>2]=f[o>>2];f[e>>2]=f[q>>2];t=r;return a|0}function Vt(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;j=f[a>>2]|0;k=f[g>>2]|0;n=f[i>>2]|0;m=k;if((b[m>>0]|0)==1){o=m+1|0;l=b[o>>0]|0;k=l&255;if(k&128){D=b[m+2>>0]|0;k=D<<7|l&127;if(D&128){D=b[m+3>>0]|0;k=D<<14|k&16383;if(D&128){D=b[m+4>>0]|0;k=D<<21|k&2097151;if(!(D&128))l=4;else{k=(b[m+5>>0]&7)<<28|k&268435455;l=5}}else l=3}else l=2}else l=1;p=k;k=o+l|0}else p=0;o=n;if((b[o>>0]|0)==1){n=o+1|0;m=b[n>>0]|0;l=m&255;if(l&128){D=b[o+2>>0]|0;l=D<<7|m&127;if(D&128){D=b[o+3>>0]|0;l=D<<14|l&16383;if(D&128){D=b[o+4>>0]|0;l=D<<21|l&2097151;if(!(D&128))m=4;else{l=(b[o+5>>0]&7)<<28|l&268435455;m=5}}else m=3}else m=2}else m=1;n=n+m|0}else l=0;C=((c|0)<0)<<31>>31;D=(d|0)==0;B=(d|0)!=0;A=(e|0)!=0;m=p;a:while(1){b:while(1){while(1){if((m|0)==(l|0))break b;if((m|0)<(l|0))break;l=b[n>>0]|0;o=l<<24>>24;if(o&254)do{n=n+1|0;l=b[n>>0]|0;z=o;o=l<<24>>24}while((o&254|z&128|0)!=0);if(!(l<<24>>24)){l=121;break a}p=n+1|0;o=b[p>>0]|0;l=o&255;if(l&128){z=b[n+2>>0]|0;l=z<<7|o&127;if(z&128){z=b[n+3>>0]|0;l=z<<14|l&16383;if(z&128){z=b[n+4>>0]|0;l=z<<21|l&2097151;if(!(z&128))n=4;else{l=(b[n+5>>0]&7)<<28|l&268435455;n=5}}else n=3}else n=2}else n=1;n=p+n|0}m=b[k>>0]|0;o=m<<24>>24;if(o&254)do{k=k+1|0;m=b[k>>0]|0;z=o;o=m<<24>>24}while((o&254|z&128|0)!=0);if(!(m<<24>>24)){l=122;break a}p=k+1|0;o=b[p>>0]|0;m=o&255;if(m&128){z=b[k+2>>0]|0;m=z<<7|o&127;if(z&128){z=b[k+3>>0]|0;m=z<<14|m&16383;if(z&128){z=b[k+4>>0]|0;m=z<<21|m&2097151;if(!(z&128))k=4;else{m=(b[k+5>>0]&7)<<28|m&268435455;k=5}}else k=3}else k=2}else k=1;k=p+k|0}s=j;if(m){b[s>>0]=1;o=s+1|0;p=m;m=((m|0)<0)<<31>>31;while(1){l=p&255;j=o+1|0;b[o>>0]=l|-128;p=VA(p|0,m|0,7)|0;m=ba()|0;if((p|0)==0&(m|0)==0)break;else o=j}b[o>>0]=l&127}d=k;m=b[d>>0]|0;l=m&255;do if(!(l&128)){k=1;l=m&255;m=0}else{z=h[d+1>>0]|0;l=z<<7|l&127;if(!(z&128)){k=2;m=0;break}z=h[d+2>>0]|0;l=z<<14|l&16383;if(!(z&128)){k=3;m=0;break}z=h[d+3>>0]|0;l=z<<21|l&2097151;if(!(z&128)){k=4;m=0;break}o=28;p=d+4|0;l=l&268435455;m=0;do{z=p;p=p+1|0;z=h[z>>0]|0;y=WA(z&127|0,0,o|0)|0;l=KA(y|0,ba()|0,l|0,m|0)|0;m=ba()|0;o=o+7|0}while(o>>>0<64&((z&128|0)!=0|0!=0));k=p-k|0}while(0);k=d+k|0;e=KA(l|0,m|0,-2,-1)|0;q=ba()|0;d=n;m=b[d>>0]|0;l=m&255;do if(!(l&128)){n=1;l=m&255;m=0}else{z=h[d+1>>0]|0;l=z<<7|l&127;if(!(z&128)){n=2;m=0;break}z=h[d+2>>0]|0;l=z<<14|l&16383;if(!(z&128)){n=3;m=0;break}z=h[d+3>>0]|0;l=z<<21|l&2097151;if(!(z&128)){n=4;m=0;break}o=28;p=d+4|0;l=l&268435455;m=0;do{z=p;p=p+1|0;z=h[z>>0]|0;y=WA(z&127|0,0,o|0)|0;l=KA(y|0,ba()|0,l|0,m|0)|0;m=ba()|0;o=o+7|0}while(o>>>0<64&((z&128|0)!=0|0!=0));n=p-n|0}while(0);l=KA(l|0,m|0,-2,-1)|0;n=d+n|0;z=e;y=q;o=0;p=0;m=ba()|0;c:while(1){v=k;t=KA(z|0,y|0,c|0,C|0)|0;u=ba()|0;d=s;w=l;x=m;l=p;while(1){if(!((w|0)==(t|0)&(x|0)==(u|0))?(x|0)>(u|0)|(x|0)==(u|0)&w>>>0>t>>>0|(A|((x|0)<(y|0)|(x|0)==(y|0)&w>>>0<=z>>>0)):0){s=d;q=o;r=l}else{q=D?w:z;r=D?x:y;e=j;o=LA(2,0,o|0,l|0)|0;o=KA(o|0,ba()|0,q|0,r|0)|0;l=e;p=ba()|0;while(1){m=o&255;d=l+1|0;b[l>>0]=m|-128;o=VA(o|0,p|0,7)|0;p=ba()|0;if((o|0)==0&(p|0)==0)break;else l=d}b[l>>0]=m&127;s=0;j=e+(d-j)|0}if(((x|0)>(y|0)|(x|0)==(y|0)&w>>>0>z>>>0)&(B|((x|0)>(u|0)|(x|0)==(u|0)&w>>>0>t>>>0)))break;e=n;m=b[e>>0]|0;if((m&255)<2)break c;l=m&255;do if(!(l&128)){n=1;l=m&255;m=0}else{d=h[e+1>>0]|0;l=d<<7|l&127;if(!(d&128)){n=2;m=0;break}d=h[e+2>>0]|0;l=d<<14|l&16383;if(!(d&128)){n=3;m=0;break}d=h[e+3>>0]|0;l=d<<21|l&2097151;if(!(d&128)){n=4;m=0;break}o=28;p=e+4|0;l=l&268435455;m=0;do{d=p;p=p+1|0;d=h[d>>0]|0;E=WA(d&127|0,0,o|0)|0;l=KA(E|0,ba()|0,l|0,m|0)|0;m=ba()|0;o=o+7|0}while(o>>>0<64&((d&128|0)!=0|0!=0));n=p-n|0}while(0);o=KA(w|0,x|0,-2,-1)|0;o=KA(o|0,ba()|0,l|0,m|0)|0;d=s;n=e+n|0;w=o;x=ba()|0;o=q;l=r}m=b[k>>0]|0;if((m&255)<2)break;l=m&255;do if(!(l&128)){o=1;l=m&255;m=0}else{E=h[k+1>>0]|0;l=E<<7|l&127;if(!(E&128)){o=2;m=0;break}E=h[k+2>>0]|0;l=E<<14|l&16383;if(!(E&128)){o=3;m=0;break}E=h[k+3>>0]|0;l=E<<21|l&2097151;if(!(E&128)){o=4;m=0;break}o=28;p=k+4|0;l=l&268435455;m=0;do{E=p;p=p+1|0;E=h[E>>0]|0;u=WA(E&127|0,0,o|0)|0;l=KA(u|0,ba()|0,l|0,m|0)|0;m=ba()|0;o=o+7|0}while(o>>>0<64&((E&128|0)!=0|0!=0));o=p-v|0}while(0);p=KA(z|0,y|0,-2,-1)|0;p=KA(p|0,ba()|0,l|0,m|0)|0;k=k+o|0;z=p;y=ba()|0;o=q;p=r;l=w;m=x}j=(s|0)==0?j:s;l=b[k>>0]|0;m=l<<24>>24;if(!(m&254))o=l;else{do{k=k+1|0;l=b[k>>0]|0;E=m;m=l<<24>>24}while((m&254|E&128|0)!=0);o=l}l=b[n>>0]|0;m=l<<24>>24;if(m&254)do{n=n+1|0;l=b[n>>0]|0;E=m;m=l<<24>>24}while((m&254|E&128|0)!=0);if(!(o<<24>>24)){l=120;break}if(!(l<<24>>24)){l=119;break}o=k+1|0;l=b[o>>0]|0;m=l&255;if(m&128){E=b[k+2>>0]|0;l=E<<7|l&127;if(E&128){E=b[k+3>>0]|0;l=E<<14|l&16383;if(E&128){E=b[k+4>>0]|0;l=E<<21|l&2097151;if(!(E&128)){m=l;k=4}else{m=(b[k+5>>0]&7)<<28|l&268435455;k=5}}else{m=l;k=3}}else{m=l;k=2}}else k=1;k=o+k|0;p=n+1|0;o=b[p>>0]|0;l=o&255;if(l&128){E=b[n+2>>0]|0;l=E<<7|o&127;if(E&128){E=b[n+3>>0]|0;l=E<<14|l&16383;if(E&128){E=b[n+4>>0]|0;l=E<<21|l&2097151;if(!(E&128))n=4;else{l=(b[n+5>>0]&7)<<28|l&268435455;n=5}}else n=3}else n=2}else n=1;n=p+n|0}l=0;while(1){m=b[n>>0]|0;n=n+1|0;if(!(l<<24>>24|m))break;else l=m&128}l=0;while(1){m=b[k>>0]|0;k=k+1|0;if(!(l<<24>>24|m))break;else l=m&128}f[g>>2]=k;f[i>>2]=n;if((f[a>>2]|0)==(j|0)){E=0;return E|0}b[j>>0]=0;f[a>>2]=j+1;E=1;return E|0}function Wt(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[d>>2]|0;i=f[c>>2]|0;g=f[a>>2]|0;a:while(1){r=g;q=i;o=b[q>>0]|0;switch(o<<24>>24){case 0:{if(!(b[e>>0]|0))break a;else j=2147483647;break}case 1:{k=b[q+1>>0]|0;j=k&255;if(j&128){y=b[q+2>>0]|0;j=y<<7|k&127;if(y&128){y=b[q+3>>0]|0;j=y<<14|j&16383;if(y&128){y=b[q+4>>0]|0;j=y<<21|j&2097151;if(y&128)j=(b[q+5>>0]&7)<<28|j&268435455}}}break}default:j=0}p=e;m=b[p>>0]|0;switch(m<<24>>24){case 1:{k=b[p+1>>0]|0;l=k&255;if(l&128){y=b[p+2>>0]|0;k=y<<7|k&127;if(y&128){y=b[p+3>>0]|0;k=y<<14|k&16383;if(y&128){y=b[p+4>>0]|0;k=y<<21|k&2097151;if(!(y&128))n=k;else n=(b[p+5>>0]&7)<<28|k&268435455}else n=k}else n=k}else n=l;break}case 0:{n=2147483647;break}default:n=0}do if((j|0)!=(n|0))if((j|0)<(n|0)){if(!j){g=0;l=r;i=o}else{l=r+1|0;k=l;m=j;j=((j|0)<0)<<31>>31;while(1){g=m&255;i=k+1|0;b[k>>0]=g|-128;m=VA(m|0,j|0,7)|0;j=ba()|0;if((m|0)==0&(j|0)==0)break;else k=i}b[k>>0]=g&127;i=i-l+1|0;b[r>>0]=1;g=i;l=r+i|0;i=b[q+i>>0]|0}j=q+g|0;k=j;i=i<<24>>24;if(!(i&254))g=k;else{g=j;do{g=g+1|0;y=i;i=b[g>>0]|0}while((i&254|y&128|0)!=0)}y=g-k|0;YA(l|0,j|0,y|0)|0;i=g;g=l+y|0;break}else{if(!n){e=0;l=r;g=m}else{l=r+1|0;k=l;m=n;j=((n|0)<0)<<31>>31;while(1){e=m&255;g=k+1|0;b[k>>0]=e|-128;m=VA(m|0,j|0,7)|0;j=ba()|0;if((m|0)==0&(j|0)==0)break;else k=g}b[k>>0]=e&127;g=g-l+1|0;b[r>>0]=1;e=g;l=r+g|0;g=b[p+g>>0]|0}j=p+e|0;k=j;g=g<<24>>24;if(!(g&254))e=k;else{e=j;do{e=e+1|0;y=g;g=b[e>>0]|0}while((g&254|y&128|0)!=0)}g=e-k|0;YA(l|0,j|0,g|0)|0;g=l+g|0;break}else{if(!j){e=0;i=o}else{l=r+1|0;k=l;m=j;i=((j|0)<0)<<31>>31;while(1){e=m&255;g=k+1|0;b[k>>0]=e|-128;m=VA(m|0,i|0,7)|0;i=ba()|0;if((m|0)==0&(i|0)==0)break;else k=g}b[k>>0]=e&127;i=g-l+1|0;b[r>>0]=1;e=i;g=r+i|0;i=b[q+i>>0]|0}m=q+e|0;l=m;q=p+e|0;p=q;e=i&255;do if(!(e&128)){j=1;o=i&255;n=0}else{y=h[m+1>>0]|0;e=y<<7|e&127;if(!(y&128)){j=2;o=e;n=0;break}y=h[m+2>>0]|0;e=y<<14|e&16383;if(!(y&128)){j=3;o=e;n=0;break}y=h[m+3>>0]|0;e=y<<21|e&2097151;if(!(y&128)){j=4;o=e;n=0;break}i=28;j=m+4|0;e=e&268435455;k=0;do{y=j;j=j+1|0;y=h[y>>0]|0;x=WA(y&127|0,0,i|0)|0;e=KA(x|0,ba()|0,e|0,k|0)|0;k=ba()|0;i=i+7|0}while(i>>>0<64&((y&128|0)!=0|0!=0));j=j-l|0;o=e;n=k}while(0);i=m+j|0;j=b[q>>0]|0;e=j&255;do if(!(e&128)){k=1;j=j&255;l=0}else{y=h[q+1>>0]|0;e=y<<7|e&127;if(!(y&128)){k=2;j=e;l=0;break}y=h[q+2>>0]|0;e=y<<14|e&16383;if(!(y&128)){k=3;j=e;l=0;break}y=h[q+3>>0]|0;e=y<<21|e&2097151;if(!(y&128)){k=4;j=e;l=0;break}j=28;k=q+4|0;e=e&268435455;l=0;do{y=k;k=k+1|0;y=h[y>>0]|0;x=WA(y&127|0,0,j|0)|0;e=KA(x|0,ba()|0,e|0,l|0)|0;l=ba()|0;j=j+7|0}while(j>>>0<64&((y&128|0)!=0|0!=0));k=k-p|0;j=e}while(0);e=q+k|0;y=n;x=o;t=j;u=0;v=0;while(1){q=(y|0)<(l|0)|(y|0)==(l|0)&x>>>0>>0;r=q?x:t;s=q?y:l;p=g;m=LA(r|0,s|0,u|0,v|0)|0;j=p;o=ba()|0;while(1){k=m&255;n=j+1|0;b[j>>0]=k|-128;m=VA(m|0,o|0,7)|0;o=ba()|0;if((m|0)==0&(o|0)==0)break;else j=n}b[j>>0]=k&127;w=p+(n-g)|0;g=w;u=KA(r|0,s|0,-2,-1)|0;v=ba()|0;do if((x|0)==(t|0)&(y|0)==(l|0)){n=i;k=b[n>>0]|0;if((k&255)>1){j=k&255;do if(!(j&128)){l=1;j=k&255;i=0}else{t=h[n+1>>0]|0;j=t<<7|j&127;if(!(t&128)){l=2;i=0;break}t=h[n+2>>0]|0;j=t<<14|j&16383;if(!(t&128)){l=3;i=0;break}t=h[n+3>>0]|0;j=t<<21|j&2097151;if(!(t&128)){l=4;i=0;break}k=28;l=n+4|0;j=j&268435455;m=0;do{t=l;l=l+1|0;t=h[t>>0]|0;s=WA(t&127|0,0,k|0)|0;j=KA(s|0,ba()|0,j|0,m|0)|0;m=ba()|0;k=k+7|0}while(k>>>0<64&((t&128|0)!=0|0!=0));l=l-i|0;i=m}while(0);m=KA(x|0,y|0,-2,-1)|0;m=KA(m|0,ba()|0,j|0,i|0)|0;i=n+l|0;p=ba()|0}else{m=2147483647;p=0}o=e;k=b[o>>0]|0;if((k&255)>1){j=k&255;do if(!(j&128)){l=1;j=k&255;e=0}else{t=h[o+1>>0]|0;j=t<<7|j&127;if(!(t&128)){l=2;e=0;break}t=h[o+2>>0]|0;j=t<<14|j&16383;if(!(t&128)){l=3;e=0;break}t=h[o+3>>0]|0;j=t<<21|j&2097151;if(!(t&128)){l=4;e=0;break}k=28;l=o+4|0;j=j&268435455;n=0;do{t=l;l=l+1|0;t=h[t>>0]|0;s=WA(t&127|0,0,k|0)|0;j=KA(s|0,ba()|0,j|0,n|0)|0;n=ba()|0;k=k+7|0}while(k>>>0<64&((t&128|0)!=0|0!=0));l=l-e|0;e=n}while(0);k=KA(x|0,y|0,-2,-1)|0;k=KA(k|0,ba()|0,j|0,e|0)|0;e=o+l|0;j=p;l=ba()|0}else{j=p;k=2147483647;l=0}}else if(q){o=i;k=b[o>>0]|0;if((k&255)<=1){m=2147483647;j=0;k=t;break}j=k&255;do if(!(j&128)){m=1;j=k&255;i=0}else{s=h[o+1>>0]|0;j=s<<7|j&127;if(!(s&128)){m=2;i=0;break}s=h[o+2>>0]|0;j=s<<14|j&16383;if(!(s&128)){m=3;i=0;break}s=h[o+3>>0]|0;j=s<<21|j&2097151;if(!(s&128)){m=4;i=0;break}k=28;m=o+4|0;j=j&268435455;n=0;do{s=m;m=m+1|0;s=h[s>>0]|0;r=WA(s&127|0,0,k|0)|0;j=KA(r|0,ba()|0,j|0,n|0)|0;n=ba()|0;k=k+7|0}while(k>>>0<64&((s&128|0)!=0|0!=0));m=m-i|0;i=n}while(0);k=KA(x|0,y|0,-2,-1)|0;j=KA(k|0,ba()|0,j|0,i|0)|0;i=o+m|0;m=j;j=ba()|0;k=t;break}else{o=e;k=b[o>>0]|0;if((k&255)<=1){m=x;j=y;k=2147483647;l=0;break}j=k&255;do if(!(j&128)){m=1;j=k&255;e=0}else{s=h[o+1>>0]|0;j=s<<7|j&127;if(!(s&128)){m=2;e=0;break}s=h[o+2>>0]|0;j=s<<14|j&16383;if(!(s&128)){m=3;e=0;break}s=h[o+3>>0]|0;j=s<<21|j&2097151;if(!(s&128)){m=4;e=0;break}k=28;m=o+4|0;j=j&268435455;n=0;do{s=m;m=m+1|0;s=h[s>>0]|0;r=WA(s&127|0,0,k|0)|0;j=KA(r|0,ba()|0,j|0,n|0)|0;n=ba()|0;k=k+7|0}while(k>>>0<64&((s&128|0)!=0|0!=0));m=m-e|0;e=n}while(0);k=KA(t|0,l|0,-2,-1)|0;k=KA(k|0,ba()|0,j|0,e|0)|0;e=o+m|0;m=x;j=y;l=ba()|0;break}while(0);if(!((m|0)!=2147483647|(j|0)!=0|((k|0)!=2147483647|(l|0)!=0))){g=w;break}else{y=j;x=m;t=k}}}while(0)}y=g;b[y>>0]=0;f[a>>2]=y+1;f[c>>2]=i+1;f[d>>2]=e+1;return}function Xt(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=t;t=t+16|0;m=p+4|0;n=p;if(!c){t=p;return}if(f[d>>2]|0){t=p;return}o=f[c+20>>2]|0;if(o|0){g=o+24|0;e=o+28|0;do if(f[g>>2]|0?(h=f[e>>2]|0,h|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{l=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);f[e>>2]=0;f[o+32>>2]=0;f[g>>2]=0;l=o+40|0;if(f[l>>2]|0){k=o+64|0;j=f[k>>2]|0;if((j|0)>0){h=0;do{e=f[o+72+(h*24|0)+20>>2]|0;if(e|0?(f[e+8>>2]=0,f[e+28>>2]=1,i=f[e+4>>2]|0,(i|0)>0):0){g=f[e>>2]|0;e=0;do{q=g+(e<<2)|0;f[(f[q>>2]|0)+80>>2]=0;q=f[q>>2]|0;f[q+84>>2]=0;q=q+88|0;f[q>>2]=0;f[q+4>>2]=0;e=e+1|0}while((e|0)!=(i|0))}h=h+1|0}while((h|0)<(j|0))}h=f[a>>2]|0;i=o+68|0;a:do if((j|0)>0){g=0;while(1){if(f[o+72+(g*24|0)+20>>2]|0){f[m>>2]=0;f[n>>2]=0;e=au(h,o+72+(g*24|0)|0,f[i>>2]|0,m,n)|0;if(e|0)break;e=bu(h,o,g,f[n>>2]|0,f[m>>2]|0)|0;if(e|0)break a}g=g+1|0;if((g|0)>=(f[k>>2]|0)){e=0;break a}}}else e=0;while(0);f[l>>2]=0;f[d>>2]=e}f[o+8>>2]=0;q=o+16|0;f[q>>2]=0;f[q+4>>2]=0;f[o+48>>2]=0}q=c+24|0;f[q>>2]=0;f[q+4>>2]=0;b[c+32>>0]=0;b[c+33>>0]=0;Xt(a,f[c+12>>2]|0,d);Xt(a,f[c+16>>2]|0,d);t=p;return}function Yt(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=t;t=t+112|0;C=G+108|0;y=G;z=G+104|0;A=G+100|0;B=G+96|0;if(f[d>>2]|0){t=G;return}h=a+52|0;q=b[h>>0]|0;b[c+33>>0]=1;switch(f[c>>2]|0){case 3:case 1:{n=f[c+12>>2]|0;m=f[c+16>>2]|0;if(b[n+34>>0]|0){Yt(a,m,d);E=m+24|0;F=f[E+4>>2]|0;d=c+24|0;f[d>>2]=f[E>>2];f[d+4>>2]=F;b[c+32>>0]=b[m+32>>0]|0;t=G;return}E=(b[m+34>>0]|0)==0;Yt(a,n,d);if(!E){E=n+24|0;F=f[E+4>>2]|0;d=c+24|0;f[d>>2]=f[E>>2];f[d+4>>2]=F;b[c+32>>0]=b[n+32>>0]|0;t=G;return}Yt(a,m,d);o=n+32|0;a:do if(!(b[o>>0]|0)){l=m+32|0;h=q<<24>>24==0;g=h?1:-1;h=h?0:-1;e=n+24|0;i=m+24|0;while(1){j=b[l>>0]|0;if(j<<24>>24)break;if(f[d>>2]|0)break;k=e;E=i;E=LA(f[k>>2]|0,f[k+4>>2]|0,f[E>>2]|0,f[E+4>>2]|0)|0;E=QA(E|0,ba()|0,g|0,h|0)|0;k=ba()|0;if((E|0)==0&(k|0)==0)break;if((k|0)<0)Yt(a,n,d);else Yt(a,m,d);if(b[o>>0]|0){F=17;break a}}D=e;E=f[D+4>>2]|0;e=c+24|0;f[e>>2]=f[D>>2];f[e+4>>2]=E;e=j<<24>>24!=0&1}else{e=n+24|0;F=17}while(0);if((F|0)==17){E=e;F=f[E+4>>2]|0;e=c+24|0;f[e>>2]=f[E>>2];f[e+4>>2]=F;e=1}b[c+32>>0]=e;if(e<<24>>24==0|(f[c>>2]|0)!=1){t=G;return}e=f[m+20>>2]|0;b:do if(f[e>>2]|0?(r=m+32|0,(f[d>>2]|0)==0):0){g=e+28|0;e=e+32|0;do{if(b[r>>0]|0)break b;_A(f[g>>2]|0,0,f[e>>2]|0)|0;Yt(a,m,d)}while(!(f[d>>2]|0))}while(0);e=f[n+20>>2]|0;if(!e){t=G;return}if(!(f[e>>2]|0)){t=G;return}if(f[d>>2]|0){t=G;return}g=e+28|0;e=e+32|0;while(1){if(b[o>>0]|0){F=120;break}_A(f[g>>2]|0,0,f[e>>2]|0)|0;Yt(a,n,d);if(f[d>>2]|0){F=120;break}}if((F|0)==120){t=G;return}break}case 4:{h=f[c+12>>2]|0;i=f[c+16>>2]|0;m=q<<24>>24==0;l=m?1:-1;m=m?0:-1;k=h+24|0;g=k;j=i+24|0;e=j;e=LA(f[g>>2]|0,f[g+4>>2]|0,f[e>>2]|0,f[e+4>>2]|0)|0;e=QA(e|0,ba()|0,l|0,m|0)|0;g=ba()|0;n=i+32|0;o=h+32|0;do if((b[n>>0]|0)==0?(p=b[o>>0]|0,!((g|0)<0&p<<24>>24==0)):0)if((g|0)>0|(g|0)==0&e>>>0>0|p<<24>>24!=0){Yt(a,i,d);break}else{Yt(a,h,d);Yt(a,i,d);break}else F=33;while(0);if((F|0)==33)Yt(a,h,d);if(!(b[o>>0]|0))e=0;else e=(b[n>>0]|0)!=0&1;b[c+32>>0]=e;i=j;h=f[i>>2]|0;i=f[i+4>>2]|0;g=k;e=f[g>>2]|0;g=f[g+4>>2]|0;if((b[n>>0]|0)==0?(d=LA(e|0,g|0,h|0,i|0)|0,QA(d|0,ba()|0,l|0,m|0)|0,d=ba()|0,!((b[o>>0]|0)==0&(d|0)<0)):0){c=c+24|0;f[c>>2]=h;f[c+4>>2]=i;t=G;return}c=c+24|0;f[c>>2]=e;f[c+4>>2]=g;t=G;return}case 2:{g=f[c+12>>2]|0;k=f[c+16>>2]|0;if(!(b[k+33>>0]|0))Yt(a,k,d);Yt(a,g,d);l=g+32|0;e=b[l>>0]|0;if(!(e<<24>>24)){j=k+32|0;i=q<<24>>24==0;h=i?1:-1;i=i?0:-1;g=g+24|0;if(!(f[d>>2]|0)){e=k+24|0;do{if(b[j>>0]|0)break;E=g;F=e;F=LA(f[E>>2]|0,f[E+4>>2]|0,f[F>>2]|0,f[F+4>>2]|0)|0;F=QA(F|0,ba()|0,h|0,i|0)|0;E=ba()|0;if(!((E|0)>0|(E|0)==0&F>>>0>0))break;Yt(a,k,d)}while(!(f[d>>2]|0));e=b[l>>0]|0}else e=0}else g=g+24|0;E=g;F=f[E+4>>2]|0;d=c+24|0;f[d>>2]=f[E>>2];f[d+4>>2]=F;b[c+32>>0]=e;t=G;return}default:{E=f[c+20>>2]|0;v=E+24|0;x=E+28|0;do if(f[v>>2]|0?(e=f[x>>2]|0,e|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{D=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[x>>2]=0;w=E+32|0;f[w>>2]=0;f[v>>2]=0;D=c+32|0;u=f[a>>2]|0;do if(!(f[E+40>>2]|0)){F=b[u+235>>0]|0;e=F&255;if((b[h>>0]|0)!=F<<24>>24?(g=f[E+4>>2]|0,g|0):0){F=E+8|0;wt(e,f[E>>2]|0,g,F,E+16|0,w,D);f[x>>2]=f[F>>2];e=0;break}$t(u,E,D);e=0}else{b[C>>0]=0;s=E+64|0;do if((f[s>>2]|0)==1){e=_t(u,f[E+92>>2]|0,E+16|0,x,w)|0;if(!(f[x>>2]|0)){b[C>>0]=1;g=1;F=113}else{g=0;F=113}}else{h=b[h>>0]|0;e=y;g=e+96|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));r=E+44|0;a=E+16|0;q=h<<24>>24==0;p=q?1:-1;q=q?0:-1;e=0;while(1){c:do if(!e){g=f[s>>2]|0;if((g|0)>0){k=0;l=0;i=0;j=0;while(1){g=y+(l*24|0)|0;do if((f[r>>2]|0)!=(l|0)){e=f[E+72+(l*24|0)+20>>2]|0;if(!e){f[g>>2]=1;e=0;break}F=y+(l*24|0)+16|0;e=_t(u,e,y+(l*24|0)+8|0,F,y+(l*24|0)+20|0)|0;if(!(f[F>>2]|0))b[C>>0]=1}else{$t(u,E,C);f[y+(l*24|0)+16>>2]=f[x>>2];f[y+(l*24|0)+20>>2]=f[w>>2];o=a;F=f[o+4>>2]|0;e=y+(l*24|0)+8|0;f[e>>2]=f[o>>2];f[e+4>>2]=F;e=0}while(0);do if(!(f[g>>2]|0)){h=y+(l*24|0)+8|0;g=f[h>>2]|0;h=f[h+4>>2]|0;if(k|0?(F=LA(i|0,j|0,g|0,h|0)|0,QA(F|0,ba()|0,p|0,q|0)|0,(ba()|0)>=0):0)break;k=1;i=g;j=h}while(0);if(e|0)break;l=l+1|0;g=b[C>>0]|0;h=f[s>>2]|0;if(!(g<<24>>24==0&(l|0)<(h|0))){e=0;F=81;break c}}g=b[C>>0]|0;F=80}else{e=0;i=0;j=0}}else{g=0;i=0;j=0;F=80}while(0);if((F|0)==80){h=f[s>>2]|0;F=81}if((F|0)==81){F=0;if((h|0)>0){m=0;k=g;o=g;l=g;while(1){if(k<<24>>24==0&(e|0)==0){g=o;while(1){e=y+(m*24|0)|0;if(f[e>>2]|0){h=m;e=0;m=l;k=0;break}k=y+(m*24|0)+8|0;o=k;o=LA(f[o>>2]|0,f[o+4>>2]|0,i|0,j|0)|0;QA(o|0,ba()|0,p|0,q|0)|0;if((ba()|0)>=0){h=m;e=0;m=l;k=0;break}do if((f[r>>2]|0)==(m|0)){$t(u,E,C);f[y+(m*24|0)+16>>2]=f[x>>2];f[y+(m*24|0)+20>>2]=f[w>>2];l=a;e=f[l+4>>2]|0;g=k;f[g>>2]=f[l>>2];f[g+4>>2]=e;g=b[C>>0]|0;e=0;l=g}else{h=f[E+72+(m*24|0)+20>>2]|0;if(!h){f[e>>2]=1;e=0;break}o=y+(m*24|0)+16|0;e=_t(u,h,k,o,y+(m*24|0)+20|0)|0;if(f[o>>2]|0)break;b[C>>0]=1;l=1;g=1}while(0);o=k;k=f[o>>2]|0;o=f[o+4>>2]|0;n=LA(k|0,o|0,i|0,j|0)|0;n=QA(n|0,ba()|0,p|0,q|0)|0;h=ba()|0;n=(h|0)>0|(h|0)==0&n>>>0>0;h=n?0:m;i=n?k:i;j=n?o:j;if(l<<24>>24==0&(e|0)==0){m=h;l=0}else{m=l;k=l;break}}n=h;h=f[s>>2]|0;l=m}else{n=m;g=o}m=n+1|0;if((m|0)>=(h|0))break;else o=g}}if(!(g<<24>>24))g=h;else break}g=(f[y+((g+-1|0)*24|0)+20>>2]|0)+1|0;n=Fd(g)|0;if(!n){F=112;break}YA(n|0,f[y+(((f[s>>2]|0)+-1|0)*24|0)+16>>2]|0,g|0)|0;g=f[s>>2]|0;d:do if((g|0)>1){l=n;k=0;h=0;m=g+-1|0;while(1){if(!(f[y+(h*24|0)>>2]|0)){f[z>>2]=f[y+(h*24|0)+16>>2];f[A>>2]=n;f[B>>2]=n;o=(Vt(B,m-h|0,0,1,z,A)|0)==0;if(o)break;k=(f[B>>2]|0)-l|0;g=f[s>>2]|0}h=h+1|0;m=g+-1|0;if((m|0)<=(h|0))break d}g=f[s>>2]|0}else{k=0;h=0}while(0);if((h|0)==(g+-1|0)){F=110;break}if(!(f[9328]|0))ob[f[37360>>2]&127](n);else{o=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n)}}if((F|0)==110){g=a;f[g>>2]=i;f[g+4>>2]=j;f[x>>2]=n;f[w>>2]=k;f[v>>2]=1;g=0}else if((F|0)==112){e=7;break}F=113}while(0);if((F|0)==113)b[D>>0]=g}while(0);f[d>>2]=e;F=E+16|0;d=f[F+4>>2]|0;c=c+24|0;f[c>>2]=f[F>>2];f[c+4>>2]=d;t=G;return}}}function Zt(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;do{c=f[a+20>>2]|0;a:do if(c|0?(k=f[c+28>>2]|0,k|0):0){j=a+40|0;g=k;c=0;while(1){e=b[g>>0]|0;if((e&255)<2)d=0;else{d=0;h=0;i=e;while(1){d=d+((h|0)==0&1)|0;g=g+1|0;e=i&-128;i=b[g>>0]|0;if(!((i&-2|e)<<24>>24))break;else h=e&255}}h=f[j>>2]|0;i=c*3|0;e=h+(i+1<<2)|0;f[e>>2]=(f[e>>2]|0)+d;i=h+(i+2<<2)|0;f[i>>2]=(f[i>>2]|0)+((d|0)!=0&1);if(!(b[g>>0]|0))break a;e=g+1|0;d=b[e>>0]|0;c=d&255;if(c&128){i=b[g+2>>0]|0;c=i<<7|d&127;if(i&128){i=b[g+3>>0]|0;c=i<<14|c&16383;if(i&128){i=b[g+4>>0]|0;c=i<<21|c&2097151;if(!(i&128))d=4;else{c=(b[g+5>>0]&7)<<28|c&268435455;d=5}}else d=3}else d=2}else d=1;g=e+d|0}}while(0);Zt(f[a+12>>2]|0);a=f[a+16>>2]|0}while((a|0)!=0);return}function _t(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+16|0;y=D+4|0;z=D;A=f[c+8>>2]|0;B=f[c>>2]|0;s=(b[a+235>>0]|0)==0?174:175;if(!A){f[e>>2]=0;C=0;t=D;return C|0}h=f[B>>2]|0;a:do if(f[h+80>>2]|0){u=(A|0)>1;v=A+-1|0;w=c+24|0;x=c+20|0;r=c+16|0;while(1){q=h+88|0;p=f[q>>2]|0;q=f[q+4>>2]|0;h=xt(a,h,y,z)|0;j=(h|0)==0;b:do if(j&u){i=1;while(1){h=f[B+(i<<2)>>2]|0;if(!(f[h+80>>2]|0)){h=i;break b}o=h+88|0;if(!((f[o>>2]|0)==(p|0)?(f[o+4>>2]|0)==(q|0):0)){h=i;break b}h=xt(a,h,0,0)|0;i=i+1|0;j=(h|0)==0;if(!(j&(i|0)<(A|0))){C=11;break}}}else{i=1;C=11}while(0);if((C|0)==11){C=0;if(j)h=i;else{C=45;break}}n=f[c>>2]|0;h=h+(((h|0)==(A|0))<<31>>31)|0;if((h|0)>0)do{k=h;h=h+-1|0;c:do if((k|0)<(A|0)){i=h;m=f[n+(h<<2)>>2]|0;do{j=i;i=i+1|0;l=n+(i<<2)|0;if((jb[s&255](m,f[l>>2]|0)|0)<0)break c;o=n+(j<<2)|0;j=f[l>>2]|0;m=f[o>>2]|0;f[l>>2]=m;f[o>>2]=j}while((i|0)<(v|0))}while(0)}while((k|0)>1);h=f[z>>2]|0;if((h|0)>0?f[(f[B>>2]|0)+56>>2]|0:0){k=f[y>>2]|0;l=h+1|0;if((f[x>>2]|0)>(h|0))i=f[r>>2]|0;else{i=l<<1;f[x>>2]=i;j=f[r>>2]|0;if(Mc()|0){h=7;C=45;break}i=Nc(j,(i|0)>0?i:0,0)|0;if(!i){h=7;C=45;break}f[r>>2]=i}YA(i|0,k|0,l|0)|0;f[y>>2]=f[r>>2]}n=f[w>>2]|0;if((n|0)>-1){j=f[y>>2]|0;o=j+h|0;i=j;m=h;l=0;while(1){d:do if(i>>>0>>0){k=0;h=i;while(1){i=b[h>>0]|0;if(!(i&254|k)){k=h;break d}h=h+1|0;if(h>>>0>>0)k=i&128;else{k=h;break}}}else k=i;while(0);h=k-j|0;if((l|0)==(n|0))break;m=m-h|0;if(!m){j=k;h=0;break}j=k+1|0;i=b[j>>0]|0;h=i&255;if(h&128){l=b[k+2>>0]|0;h=l<<7|i&127;if(l&128){l=b[k+3>>0]|0;h=l<<14|h&16383;if(l&128){l=b[k+4>>0]|0;h=l<<21|h&2097151;if(!(l&128))i=4;else{h=(b[k+5>>0]&7)<<28|h&268435455;i=5}}else i=3}else i=2}else i=1;i=j+i|0;j=k;l=h}i=j+h|0;if((i|0)!=(o|0))_A(i|0,0,o-i|0)|0;f[y>>2]=j;f[z>>2]=h}if((h|0)>0){C=46;break}if(!(f[(f[f[c>>2]>>2]|0)+80>>2]|0))break a;h=f[B>>2]|0}if((C|0)==45){C=h;t=D;return C|0}else if((C|0)==46){f[e>>2]=f[y>>2];C=d;f[C>>2]=p;f[C+4>>2]=q;f[g>>2]=h;C=0;t=D;return C|0}}while(0);f[e>>2]=0;C=0;t=D;return C|0}function $t(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=f[c>>2]|0;n=k+(f[c+4>>2]|0)|0;o=c+8|0;l=f[o>>2]|0;m=(l|0)==0;l=m?k:l;k=l;if(l>>>0>=n>>>0){o=1;b[d>>0]=o;return}g=b[l>>0]|0;e=g&255;do if(!(e&128)){i=1;e=g&255;g=0}else{j=h[l+1>>0]|0;e=j<<7|e&127;if(!(j&128)){i=2;g=0;break}j=h[l+2>>0]|0;e=j<<14|e&16383;if(!(j&128)){i=3;g=0;break}j=h[l+3>>0]|0;e=j<<21|e&2097151;if(!(j&128)){i=4;g=0;break}i=28;j=l+4|0;e=e&268435455;g=0;do{p=j;j=j+1|0;p=h[p>>0]|0;q=WA(p&127|0,0,i|0)|0;e=KA(q|0,ba()|0,e|0,g|0)|0;g=ba()|0;i=i+7|0}while(i>>>0<64&((p&128|0)!=0|0!=0));i=j-k|0}while(0);q=l+i|0;j=q;a=m|(b[a+235>>0]|0)==0;m=c+16|0;k=m;i=f[k>>2]|0;k=f[k+4>>2]|0;l=LA(0,0,e|0,g|0)|0;p=ba()|0;p=KA(i|0,k|0,(a?e:l)|0,(a?g:p)|0)|0;g=ba()|0;e=m;f[e>>2]=p;f[e+4>>2]=g;f[c+28>>2]=j;e=q;g=0;while(1){i=b[e>>0]|0;e=e+1|0;if(!(g<<24>>24|i))break;else g=i&128}f[c+32>>2]=e-j;a:do if(e>>>0>>0)do{if(b[e>>0]|0)break a;e=e+1|0}while(e>>>0>>0);while(0);f[o>>2]=e;q=0;b[d>>0]=q;return}function au(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;x=t;t=t+160|0;q=x+148|0;r=x+144|0;u=x+16|0;g=x;w=b+20|0;v=f[w>>2]|0;i=u;j=i+128|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[g+12>>2]=((f[b+12>>2]|0)==0?0:32)|((f[b+8>>2]|0)==0?3:11)|((f[a+24>>2]|0)>(c|0)?4:0);f[g+8>>2]=c;p=f[b>>2]|0;f[g>>2]=p;b=f[b+4>>2]|0;f[g+4>>2]=b;f[v+12>>2]=g;b=mt(a,v,p,b)|0;a:do if(!b){m=v+48|0;n=v+52|0;o=u+64|0;p=a+235|0;b:while(1){b=nt(a,v)|0;switch(b|0){case 0:break b;case 100:break;default:break a}l=f[m>>2]|0;c=f[n>>2]|0;b=f[u>>2]|0;c:do if(!b){b=Fd(c+11|0)|0;f[u>>2]=b;f[o>>2]=c;if(!b)b=7;else{YA(b|0,l|0,c|0)|0;b=0}}else{k=0;i=l;g=u;while(1){j=u+64+(k<<2)|0;b=cu(h[p>>0]|0,i,c,b,f[j>>2]|0,q,r)|0;c=(i|0)==(l|0)|(i|0)==0;if(b|0){s=10;break}do if(!c)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{c=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);b=f[g>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{i=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);f[g>>2]=0;i=f[q>>2]|0;c=f[r>>2]|0;if((k|0)==15){s=23;break}k=k+1|0;if(k>>>0>=16){b=0;break c}g=u+(k<<2)|0;b=f[g>>2]|0;if(!b){s=8;break}}if((s|0)==8){s=0;f[g>>2]=i;f[u+64+(k<<2)>>2]=c;b=0;break}else if((s|0)==10){s=0;do if(!c)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{l=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);break}else if((s|0)==23){s=0;f[g>>2]=i;f[j>>2]=c;b=0;break}}while(0);if(b|0)break a}k=0;c=0;i=0;d:while(1){g=u+(k<<2)|0;j=f[g>>2]|0;do if(!j)b=i;else{if(!i){c=f[u+64+(k<<2)>>2]|0;f[g>>2]=0;b=j;break}b=cu(h[p>>0]|0,j,f[u+64+(k<<2)>>2]|0,i,c,r,q)|0;c=(f[9328]|0)==0;if(b|0)break d;if(c)ob[f[37360>>2]&127](j);else{a=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j)}if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{a=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}f[g>>2]=0;c=f[q>>2]|0;b=f[r>>2]|0}while(0);k=k+1|0;if(k>>>0>=16){s=45;break}else i=b}if((s|0)==45){f[u>>2]=b;f[o>>2]=c;f[e>>2]=b;f[d>>2]=c;u=0;du(v);f[w>>2]=0;t=x;return u|0}if(c)ob[f[37360>>2]&127](i);else{s=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}}while(0);c=0;do{g=f[u+(c<<2)>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{s=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);c=c+1|0}while((c|0)!=16);du(v);f[w>>2]=0;t=x;return b|0}function bu(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=t;t=t+16|0;G=M+8|0;H=M+4|0;I=M;do if(!e){i=f[c>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{L=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[c>>2]=0;f[c+4>>2]=0;j=0;i=c+44|0}else{i=c+44|0;j=f[i>>2]|0;if((j|0)<0){f[c>>2]=e;f[c+4>>2]=g;j=0;break}l=f[c>>2]|0;if(!l)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);j=0;break}else{j=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);j=0;break}L=c+4|0;k=f[L>>2]|0;if((j|0)<(d|0)){E=d-j|0;m=k;K=l;l=e}else{E=j-d|0;m=g;K=e;g=k}F=l;p=b[a+235>>0]|0;B=K+m|0;C=l+g|0;f[G>>2]=K;f[H>>2]=l;D=p<<24>>24!=0;if(D){j=Fd(g+10|0)|0;if(!j){j=7;k=F}else{e=j;k=j;J=19}}else{e=l;k=F;J=19}do if((J|0)==19){f[I>>2]=e;if((m|0)>0){e=b[K>>0]|0;j=e&255;do if(!(j&128)){a=1;j=e&255;e=0}else{A=h[K+1>>0]|0;j=A<<7|j&127;if(!(A&128)){a=2;e=0;break}A=h[K+2>>0]|0;j=A<<14|j&16383;if(!(A&128)){a=3;e=0;break}A=h[K+3>>0]|0;j=A<<21|j&2097151;if(!(A&128)){a=4;e=0;break}e=28;a=K+4|0;j=j&268435455;m=0;do{A=a;a=a+1|0;A=h[A>>0]|0;z=WA(A&127|0,0,e|0)|0;j=KA(z|0,ba()|0,j|0,m|0)|0;m=ba()|0;e=e+7|0}while(e>>>0<64&((A&128|0)!=0|0!=0));a=a-K|0;e=m}while(0);o=K+a|0;n=e}else{o=0;j=0;n=0}f[G>>2]=o;if((g|0)>0){e=b[l>>0]|0;g=e&255;do if(!(g&128)){a=1;g=e&255;m=0}else{A=h[l+1>>0]|0;g=A<<7|g&127;if(!(A&128)){a=2;m=0;break}A=h[l+2>>0]|0;g=A<<14|g&16383;if(!(A&128)){a=3;m=0;break}A=h[l+3>>0]|0;g=A<<21|g&2097151;if(!(A&128)){a=4;m=0;break}e=28;a=l+4|0;g=g&268435455;m=0;do{A=a;a=a+1|0;A=h[A>>0]|0;z=WA(A&127|0,0,e|0)|0;g=KA(z|0,ba()|0,g|0,m|0)|0;m=ba()|0;e=e+7|0}while(e>>>0<64&((A&128|0)!=0|0!=0));a=a-F|0}while(0);e=l+a|0;f[H>>2]=e;if((o|0)!=0&(e|0)!=0){z=D?-1:1;A=D?-1:0;y=p<<24>>24==0;x=0;s=n;w=0;v=0;u=e;r=o;a:while(1){q=LA(j|0,s|0,g|0,m|0)|0;q=QA(q|0,ba()|0,z|0,A|0)|0;e=ba()|0;do if(!((q|0)==0&(e|0)==0))if((e|0)<0){n=r;e=0;while(1){a=b[n>>0]|0;q=n+1|0;if(!(e<<24>>24|a))break;else{n=q;e=a&128}}p=q;f[G>>2]=q;if(q>>>0>=B>>>0){J=85;break a}a=b[q>>0]|0;e=a&255;do if(!(e&128)){n=1;a=a&255;e=0}else{r=h[n+2>>0]|0;e=r<<7|e&127;if(!(r&128)){n=2;a=e;e=0;break}r=h[n+3>>0]|0;e=r<<14|e&16383;if(!(r&128)){n=3;a=e;e=0;break}r=h[n+4>>0]|0;a=r<<21|e&2097151;if(!(r&128)){n=4;e=0;break}o=28;n=n+5|0;a=a&268435455;e=0;do{r=n;n=n+1|0;r=h[r>>0]|0;N=WA(r&127|0,0,o|0)|0;a=KA(N|0,ba()|0,a|0,e|0)|0;e=ba()|0;o=o+7|0}while(o>>>0<64&((r&128|0)!=0|0!=0));n=n-p|0}while(0);p=q+n|0;f[G>>2]=p;o=LA(0,0,a|0,e|0)|0;q=ba()|0;j=KA((y?a:o)|0,(y?e:q)|0,j|0,s|0)|0;q=x;o=u;n=ba()|0;a=w;e=v;break}else{n=u;e=0;while(1){a=b[n>>0]|0;q=n+1|0;if(!(e<<24>>24|a))break;else{n=q;e=a&128}}p=q;f[H>>2]=q;if(q>>>0>=C>>>0){J=100;break a}a=b[q>>0]|0;e=a&255;do if(!(e&128)){n=1;a=a&255;e=0}else{N=h[n+2>>0]|0;e=N<<7|e&127;if(!(N&128)){n=2;a=e;e=0;break}N=h[n+3>>0]|0;e=N<<14|e&16383;if(!(N&128)){n=3;a=e;e=0;break}N=h[n+4>>0]|0;a=N<<21|e&2097151;if(!(N&128)){n=4;e=0;break}o=28;n=n+5|0;a=a&268435455;e=0;do{N=n;n=n+1|0;N=h[N>>0]|0;u=WA(N&127|0,0,o|0)|0;a=KA(u|0,ba()|0,a|0,e|0)|0;e=ba()|0;o=o+7|0}while(o>>>0<64&((N&128|0)!=0|0!=0));n=n-p|0}while(0);o=q+n|0;f[H>>2]=o;p=LA(0,0,a|0,e|0)|0;q=ba()|0;g=KA((y?a:p)|0,(y?e:q)|0,g|0,m|0)|0;q=x;p=r;n=s;m=ba()|0;a=w;e=v;break}else{a=f[I>>2]|0;u=y|(x|0)==0;r=LA(j|0,s|0,w|0,v|0)|0;N=ba()|0;o=LA(w|0,v|0,j|0,s|0)|0;q=ba()|0;e=a;o=u?r:o;q=u?N:q;while(1){n=o&255;p=e+1|0;b[e>>0]=n|-128;o=VA(o|0,q|0,7)|0;q=ba()|0;if((o|0)==0&(q|0)==0)break;else e=p}b[e>>0]=n&127;f[I>>2]=(f[I>>2]|0)+(p-a);if(!(Vt(I,E,0,1,G,H)|0)){f[I>>2]=a;q=x;u=w}else{q=1;u=j;v=s}p=f[G>>2]|0;if(p>>>0>>0){a=b[p>>0]|0;e=a&255;do if(!(e&128)){n=1;e=a&255;a=0}else{N=h[p+1>>0]|0;e=N<<7|e&127;if(!(N&128)){n=2;a=0;break}N=h[p+2>>0]|0;e=N<<14|e&16383;if(!(N&128)){n=3;a=0;break}N=h[p+3>>0]|0;e=N<<21|e&2097151;if(!(N&128)){n=4;a=0;break}n=28;o=p+4|0;e=e&268435455;a=0;do{N=o;o=o+1|0;N=h[N>>0]|0;x=WA(N&127|0,0,n|0)|0;e=KA(x|0,ba()|0,e|0,a|0)|0;a=ba()|0;n=n+7|0}while(n>>>0<64&((N&128|0)!=0|0!=0));n=o-p|0}while(0);r=p+n|0;f[G>>2]=r;x=LA(0,0,e|0,a|0)|0;N=ba()|0;j=KA((y?e:x)|0,(y?a:N)|0,j|0,s|0)|0;s=ba()|0}else{f[G>>2]=0;r=0}p=f[H>>2]|0;if(p>>>0>=C>>>0){J=67;break a}a=b[p>>0]|0;e=a&255;do if(!(e&128)){n=1;e=a&255;a=0}else{N=h[p+1>>0]|0;e=N<<7|e&127;if(!(N&128)){n=2;a=0;break}N=h[p+2>>0]|0;e=N<<14|e&16383;if(!(N&128)){n=3;a=0;break}N=h[p+3>>0]|0;e=N<<21|e&2097151;if(!(N&128)){n=4;a=0;break}n=28;o=p+4|0;e=e&268435455;a=0;do{N=o;o=o+1|0;N=h[N>>0]|0;x=WA(N&127|0,0,n|0)|0;e=KA(x|0,ba()|0,e|0,a|0)|0;a=ba()|0;n=n+7|0}while(n>>>0<64&((N&128|0)!=0|0!=0));n=o-p|0}while(0);o=p+n|0;f[H>>2]=o;n=LA(0,0,e|0,a|0)|0;p=ba()|0;g=KA((y?e:n)|0,(y?a:p)|0,g|0,m|0)|0;p=r;n=s;m=ba()|0;a=u;e=v}while(0);if((o|0)!=0&(p|0)!=0){x=q;s=n;w=a;v=e;u=o;r=p}else break}if((J|0)==67)f[H>>2]=0;else if((J|0)==85)f[G>>2]=0;else if((J|0)==100)f[H>>2]=0;j=f[I>>2]|0}else j=k}else{f[H>>2]=0;j=k}g=j-k|0;if(D)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);j=0;break}else{j=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);j=0;break}else{j=0;k=F}}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](K);else{N=ib[f[37368>>2]&255](K)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](K)}f[c>>2]=k;f[L>>2]=g}while(0);if((f[i>>2]|0)>=(d|0)){t=M;return j|0}f[i>>2]=d;t=M;return j|0}function cu(a,c,d,e,g,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+16|0;y=D+8|0;z=D+4|0;A=D;w=c+d|0;x=e+g|0;f[y>>2]=c;f[z>>2]=e;f[i>>2]=0;f[j>>2]=0;B=Fd(d+9+g|0)|0;if(!B){j=7;t=D;return j|0}f[A>>2]=B;C=B;if((d|0)>0){k=b[c>>0]|0;d=k&255;do if(!(d&128)){l=1;d=k&255;k=0}else{v=h[c+1>>0]|0;d=v<<7|d&127;if(!(v&128)){l=2;k=0;break}v=h[c+2>>0]|0;d=v<<14|d&16383;if(!(v&128)){l=3;k=0;break}v=h[c+3>>0]|0;d=v<<21|d&2097151;if(!(v&128)){l=4;k=0;break}l=28;m=c+4|0;d=d&268435455;k=0;do{v=m;m=m+1|0;v=h[v>>0]|0;u=WA(v&127|0,0,l|0)|0;d=KA(u|0,ba()|0,d|0,k|0)|0;k=ba()|0;l=l+7|0}while(l>>>0<64&((v&128|0)!=0|0!=0));l=m-c|0}while(0);o=k;n=c+l|0}else{d=0;o=0;n=0}f[y>>2]=n;if((g|0)>0){l=b[e>>0]|0;k=l&255;do if(!(k&128)){m=1;k=l&255;l=0}else{v=h[e+1>>0]|0;k=v<<7|k&127;if(!(v&128)){m=2;l=0;break}v=h[e+2>>0]|0;k=v<<14|k&16383;if(!(v&128)){m=3;l=0;break}v=h[e+3>>0]|0;k=v<<21|k&2097151;if(!(v&128)){m=4;l=0;break}m=28;c=e+4|0;k=k&268435455;l=0;do{v=c;c=c+1|0;v=h[v>>0]|0;u=WA(v&127|0,0,m|0)|0;k=KA(u|0,ba()|0,k|0,l|0)|0;l=ba()|0;m=m+7|0}while(m>>>0<64&((v&128|0)!=0|0!=0));m=c-e|0}while(0);c=l;l=e+m|0}else{k=0;c=0;l=0}f[z>>2]=l;m=(n|0)!=0;l=(l|0)!=0;if(m|l){s=(a|0)==0;u=s?1:-1;v=s?0:-1;e=0;r=o;q=c;p=m;a=l;c=0;m=0;while(1){o=LA(d|0,r|0,k|0,q|0)|0;o=QA(o|0,ba()|0,u|0,v|0)|0;l=ba()|0;do if(!((o|0)==0&(l|0)==0&(p&a))){e=s|(e|0)==0;if((l|0)<0&p|a^1){a=LA(d|0,r|0,c|0,m|0)|0;p=ba()|0;o=LA(c|0,m|0,d|0,r|0)|0;c=ba()|0;n=f[A>>2]|0;g=n;o=e?a:o;c=e?p:c;while(1){l=o&255;m=g+1|0;b[g>>0]=l|-128;o=VA(o|0,c|0,7)|0;c=ba()|0;if((o|0)==0&(c|0)==0)break;else g=m}b[g>>0]=l&127;c=(f[A>>2]|0)+(m-n)|0;f[A>>2]=c;g=f[y>>2]|0;n=g;l=0;while(1){m=b[n>>0]|0;e=n+1|0;if(!(l<<24>>24|m))break;else{n=e;l=m&128}}o=e;p=o-g|0;YA(c|0,g|0,p|0)|0;f[A>>2]=c+p;f[y>>2]=e;if(e>>>0>=w>>>0){f[y>>2]=0;o=d;l=r;g=k;n=q;c=d;m=r;break}m=b[e>>0]|0;l=m&255;do if(!(l&128)){c=1;m=m&255;l=0}else{p=h[n+2>>0]|0;l=p<<7|l&127;if(!(p&128)){c=2;m=l;l=0;break}p=h[n+3>>0]|0;l=p<<14|l&16383;if(!(p&128)){c=3;m=l;l=0;break}p=h[n+4>>0]|0;m=p<<21|l&2097151;if(!(p&128)){c=4;l=0;break}g=28;c=n+5|0;m=m&268435455;l=0;do{p=c;c=c+1|0;p=h[p>>0]|0;a=WA(p&127|0,0,g|0)|0;m=KA(a|0,ba()|0,m|0,l|0)|0;l=ba()|0;g=g+7|0}while(g>>>0<64&((p&128|0)!=0|0!=0));c=c-o|0}while(0);f[y>>2]=e+c;g=LA(0,0,m|0,l|0)|0;o=ba()|0;o=KA((s?m:g)|0,(s?l:o)|0,d|0,r|0)|0;l=ba()|0;g=k;n=q;c=d;m=r;break}else{a=LA(k|0,q|0,c|0,m|0)|0;p=ba()|0;o=LA(c|0,m|0,k|0,q|0)|0;c=ba()|0;n=f[A>>2]|0;g=n;o=e?a:o;c=e?p:c;while(1){l=o&255;m=g+1|0;b[g>>0]=l|-128;o=VA(o|0,c|0,7)|0;c=ba()|0;if((o|0)==0&(c|0)==0)break;else g=m}b[g>>0]=l&127;c=(f[A>>2]|0)+(m-n)|0;f[A>>2]=c;g=f[z>>2]|0;n=g;l=0;while(1){m=b[n>>0]|0;e=n+1|0;if(!(l<<24>>24|m))break;else{n=e;l=m&128}}o=e;p=o-g|0;YA(c|0,g|0,p|0)|0;f[A>>2]=c+p;f[z>>2]=e;if(e>>>0>=x>>>0){f[z>>2]=0;o=d;l=r;g=k;n=q;c=k;m=q;break}m=b[e>>0]|0;l=m&255;do if(!(l&128)){c=1;m=m&255;l=0}else{p=h[n+2>>0]|0;l=p<<7|l&127;if(!(p&128)){c=2;m=l;l=0;break}p=h[n+3>>0]|0;l=p<<14|l&16383;if(!(p&128)){c=3;m=l;l=0;break}p=h[n+4>>0]|0;m=p<<21|l&2097151;if(!(p&128)){c=4;l=0;break}g=28;c=n+5|0;m=m&268435455;l=0;do{p=c;c=c+1|0;p=h[p>>0]|0;a=WA(p&127|0,0,g|0)|0;m=KA(a|0,ba()|0,m|0,l|0)|0;l=ba()|0;g=g+7|0}while(g>>>0<64&((p&128|0)!=0|0!=0));c=c-o|0}while(0);f[z>>2]=e+c;o=LA(0,0,m|0,l|0)|0;g=ba()|0;g=KA((s?m:o)|0,(s?l:g)|0,k|0,q|0)|0;o=d;l=r;n=ba()|0;c=k;m=q;break}}else{a=s|(e|0)==0;e=LA(d|0,r|0,c|0,m|0)|0;p=ba()|0;g=LA(c|0,m|0,d|0,r|0)|0;o=ba()|0;m=f[A>>2]|0;l=m;g=a?e:g;o=a?p:o;while(1){c=g&255;n=l+1|0;b[l>>0]=c|-128;g=VA(g|0,o|0,7)|0;o=ba()|0;if((g|0)==0&(o|0)==0)break;else l=n}b[l>>0]=c&127;f[A>>2]=(f[A>>2]|0)+(n-m);Wt(A,y,z);n=f[y>>2]|0;if(n>>>0>>0){m=b[n>>0]|0;l=m&255;do if(!(l&128)){c=1;l=m&255;m=0}else{p=h[n+1>>0]|0;l=p<<7|l&127;if(!(p&128)){c=2;m=0;break}p=h[n+2>>0]|0;l=p<<14|l&16383;if(!(p&128)){c=3;m=0;break}p=h[n+3>>0]|0;l=p<<21|l&2097151;if(!(p&128)){c=4;m=0;break}c=28;g=n+4|0;l=l&268435455;m=0;do{p=g;g=g+1|0;p=h[p>>0]|0;a=WA(p&127|0,0,c|0)|0;l=KA(a|0,ba()|0,l|0,m|0)|0;m=ba()|0;c=c+7|0}while(c>>>0<64&((p&128|0)!=0|0!=0));c=g-n|0}while(0);f[y>>2]=n+c;e=LA(0,0,l|0,m|0)|0;o=ba()|0;o=KA((s?l:e)|0,(s?m:o)|0,d|0,r|0)|0;e=ba()|0}else{f[y>>2]=0;o=d;e=r}n=f[z>>2]|0;if(n>>>0>=x>>>0){f[z>>2]=0;l=e;g=k;n=q;c=d;m=r;break}m=b[n>>0]|0;l=m&255;do if(!(l&128)){c=1;l=m&255;m=0}else{p=h[n+1>>0]|0;l=p<<7|l&127;if(!(p&128)){c=2;m=0;break}p=h[n+2>>0]|0;l=p<<14|l&16383;if(!(p&128)){c=3;m=0;break}p=h[n+3>>0]|0;l=p<<21|l&2097151;if(!(p&128)){c=4;m=0;break}c=28;g=n+4|0;l=l&268435455;m=0;do{p=g;g=g+1|0;p=h[p>>0]|0;a=WA(p&127|0,0,c|0)|0;l=KA(a|0,ba()|0,l|0,m|0)|0;m=ba()|0;c=c+7|0}while(c>>>0<64&((p&128|0)!=0|0!=0));c=g-n|0}while(0);f[z>>2]=n+c;n=LA(0,0,l|0,m|0)|0;g=ba()|0;g=KA((s?l:n)|0,(s?m:g)|0,k|0,q|0)|0;l=e;n=ba()|0;c=d;m=r}while(0);p=(f[y>>2]|0)!=0;a=(f[z>>2]|0)!=0;if(!(p|a))break;else{e=1;d=o;r=l;k=g;q=n}}d=f[A>>2]|0}else d=C;f[i>>2]=B;f[j>>2]=d-C;j=0;t=D;return j|0}function du(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;j=a+4|0;c=f[a>>2]|0;if((f[j>>2]|0)>0){g=0;do{e=f[c+(g<<2)>>2]|0;do if(e|0){do if((f[e+56>>2]|0)==0?(h=f[e+64>>2]|0,h|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{d=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);do if((b[e+5>>0]|0)==0?(i=f[e+40>>2]|0,i|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{d=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);c=f[e+52>>2]|0;do if(c|0){d=f[c+20>>2]|0;Fi(f[c+16>>2]|0)|0;if(d|0){if(f[d+480>>2]|0){Kc(d,c);break}k=c;if((f[d+304>>2]|0)>>>0<=k>>>0?(f[d+308>>2]|0)>>>0>k>>>0:0){k=d+300|0;f[c>>2]=f[k>>2];f[k>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{k=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{k=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);g=g+1|0;c=f[a>>2]|0}while((g|0)<(f[j>>2]|0))}do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{k=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=a+16|0;d=f[c>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{k=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);f[j>>2]=0;f[a>>2]=0;f[c>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{k=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function eu(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=t;t=t+16|0;g=m;h=m+8|0;j=a+164|0;e=f[j>>2]|0;f[h>>2]=e;do if(!e){e=f[a+20>>2]|0;f[g>>2]=f[a+16>>2];f[g+4>>2]=e;e=wd(64725,g)|0;if(!e){j=0;i=7;break}i=Ki(f[a+12>>2]|0,e,-1,129,0,h,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{l=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}e=f[h>>2]|0;f[j>>2]=e;if(!i)k=9;else j=0}else k=9;while(0);if((k|0)==9){l=e;g=f[a+280>>2]|0;h=((g|0)<0)<<31>>31;do if(!(Op(l,1)|0)){i=f[l+116>>2]|0;j=i+8|0;if(!(d[j>>1]&9216)){k=i;f[k>>2]=g;f[k+4>>2]=h;d[j>>1]=4;break}else{bf(i,g,h);break}}while(0);k=a+252|0;g=f[k>>2]|0;h=((g|0)<0)<<31>>31;do if(!(Op(l,2)|0)){j=f[l+116>>2]|0;i=j+40|0;j=j+48|0;if(!(d[j>>1]&9216)){f[i>>2]=g;f[i+4>>2]=h;d[j>>1]=4;break}else{bf(i,g,h);break}}while(0);if((Ei(l)|0)==100){g=0;h=0;while(1){j=Ip(l,0)|0;a:do if(!g){i=0;while(1){if((i|0)>=(f[k>>2]|0)){g=0;break a}g=kt(a,j,i,-2)|0;n=(g|0)==101;g=n?0:g;h=n?1:h;if(!g)i=i+1|0;else break}}while(0);if((Ei(l)|0)!=100){i=g;break}}}else{h=0;i=0}do if(e){e=f[l>>2]|0;n=l+128|0;k=f[n+4>>2]|0;if((k|0)>0|(k|0)==0&(f[n>>2]|0)>>>0>0)Hi(e,l);g=fg(l)|0;f[l+20>>2]=770837923;f[l+36>>2]=-1;f[l+40>>2]=0;b[l+142>>0]=2;f[l+44>>2]=0;f[l+32>>2]=1;b[l+143>>0]=-1;f[l+48>>2]=0;n=l+64|0;f[n>>2]=0;f[n+4>>2]=0;if((g|0)==3082|(b[e+81>>0]|0)!=0){Di(e);e=7;break}else{e=f[e+68>>2]&g;break}}else e=0;while(0);j=h;i=(i|0)==0?e:i}e=a+248|0;g=f[e>>2]|0;if(!g){f[e>>2]=0;ht(a);n=(i|0)==0;c=(c|0)!=0;c=c&n;n=(j|0)!=0;n=c&n;n=n?101:i;t=m;return n|0}h=f[g+20>>2]|0;Fi(f[g+16>>2]|0)|0;if(h|0){if(f[h+480>>2]|0){Kc(h,g);f[e>>2]=0;ht(a);n=(i|0)==0;c=(c|0)!=0;c=c&n;n=(j|0)!=0;n=c&n;n=n?101:i;t=m;return n|0}n=g;if((f[h+304>>2]|0)>>>0<=n>>>0?(f[h+308>>2]|0)>>>0>n>>>0:0){n=h+300|0;f[g>>2]=f[n>>2];f[n>>2]=g;f[e>>2]=0;ht(a);n=(i|0)==0;c=(c|0)!=0;c=c&n;n=(j|0)!=0;n=c&n;n=n?101:i;t=m;return n|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);f[e>>2]=0;ht(a);n=(i|0)==0;c=(c|0)!=0;c=c&n;n=(j|0)!=0;n=c&n;n=n?101:i;t=m;return n|0}else{n=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);f[e>>2]=0;ht(a);n=(i|0)==0;c=(c|0)!=0;c=c&n;n=(j|0)!=0;n=c&n;n=n?101:i;t=m;return n|0}return 0}function fu(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+16|0;g=m;l=Lt(f[d>>2]|0,a,f[d+4>>2]|0,g)|0;k=f[(f[a+20>>2]|0)+64>>2]|0;e=f[g>>2]|0;if(!e){h=0;i=0}else{a=b[e>>0]|0;c=a&255;if(c&128){j=b[e+1>>0]|0;c=j<<7|a&127;if(j&128){j=b[e+2>>0]|0;c=j<<14|c&16383;if(j&128){j=b[e+3>>0]|0;c=j<<21|c&2097151;if(!(j&128))a=4;else{c=(b[e+4>>0]&7)<<28|c&268435455;a=5}}else a=3}else a=2}else a=1;i=e+a|0;f[g>>2]=i;h=c+-2|0}if((k|0)<=0){t=m;return l|0}j=f[d+24>>2]|0;e=d+8|0;g=k+-1|0;a=f[e>>2]|0;c=0;d=a;while(1){f[j+(d*12|0)+8>>2]=g-c;f[j+(d*12|0)>>2]=i;f[j+(d*12|0)+4>>2]=h;c=c+1|0;if((c|0)==(k|0))break;else d=d+1|0}f[e>>2]=a+k;t=m;return l|0}function gu(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=t;t=t+16|0;h=j;i=f[d+16>>2]|0;f[i+(c*24|0)>>2]=f[(f[a+20>>2]|0)+64>>2];e=Lt(f[d>>2]|0,a,f[d+4>>2]|0,h)|0;g=f[h>>2]|0;if(!g){t=j;return e|0}f[i+(c*24|0)+4>>2]=g;d=b[g>>0]|0;a=d&255;if(a&128){k=b[g+1>>0]|0;a=k<<7|d&127;if(k&128){k=b[g+2>>0]|0;a=k<<14|a&16383;if(k&128){k=b[g+3>>0]|0;a=k<<21|a&2097151;if(!(k&128))d=4;else{a=(b[g+4>>0]&7)<<28|a&268435455;d=5}}else d=3}else d=2}else d=1;g=g+d|0;f[h>>2]=g;k=a+-2|0;h=g;f[i+(c*24|0)+12>>2]=h;f[i+(c*24|0)+20>>2]=h;f[i+(c*24|0)+8>>2]=k;f[i+(c*24|0)+16>>2]=k;t=j;return e|0}function hu(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,jb=0,kb=0,lb=0,mb=0,nb=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0;Ib=t;t=t+256|0;Eb=Ib+232|0;Cb=Ib+224|0;Bb=Ib+216|0;Ab=Ib+208|0;zb=Ib+200|0;yb=Ib+192|0;xb=Ib+184|0;wb=Ib+176|0;vb=Ib+168|0;ub=Ib+160|0;tb=Ib+152|0;rb=Ib+144|0;qb=Ib+136|0;pb=Ib+128|0;Db=Ib+120|0;sb=Ib+112|0;l=Ib+104|0;Fb=Ib+56|0;kb=Ib+244|0;lb=Ib+8|0;mb=Ib;nb=Ib+240|0;if(Mc()|0){Hb=7;t=Ib;return Hb|0}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](640)|0;if(!g){Hb=7;t=Ib;return Hb|0}else Gb=g}else{g=ib[f[37372>>2]&255](640)|0;if((f[18194]|0)>>>0<640)f[18194]=640;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){Gb=f[18187]|0;hb=LA(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;gb=ba()|0;f[17976]=((gb|0)<0|(gb|0)==0&hb>>>0<=Gb>>>0)&1}i=ib[f[37356>>2]&255](g)|0;if(!i){Hb=7;t=Ib;return Hb|0}g=ib[f[37368>>2]&255](i)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;Gb=i}else Gb=i}gb=Gb+568|0;hb=Gb+584|0;k=a+144|0;g=f[k>>2]|0;f[Fb>>2]=g;do if(!g){g=f[a+20>>2]|0;f[l>>2]=f[a+16>>2];f[l+4>>2]=g;g=wd(63474,l)|0;if(!g){i=7;g=0;break}i=Ki(f[a+12>>2]|0,g,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](g);else{fb=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-fb;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g)}g=f[Fb>>2]|0;f[k>>2]=g;if(!i){n=g;L=21}else g=0}else{n=g;L=21}while(0);do if((L|0)==21){o=n;do if(!(Op(o,1)|0)){g=f[o+116>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){fb=g;f[fb>>2]=1;f[fb+4>>2]=0;d[i>>1]=4;break}else{bf(g,1,0);break}}while(0);do if((Ei(o)|0)==100){if(!n)i=lf(37592)|0;else{g=f[o+104>>2]|0;if((g|0)!=0?(d[o+140>>1]|0)!=0:0)i=o;else{g=f[o>>2]|0;f[g+64>>2]=25;Bg(g,25);g=37592;i=o}l=lf(g)|0;g=f[i>>2]|0;k=o+40|0;i=f[k>>2]|0;if((i|0)==3082|(b[g+81>>0]|0)!=0){Di(g);g=7}else g=f[g+68>>2]&i;f[k>>2]=g;i=l}l=Gp(o,0)|0;if(i){if((l|0)>0){if(Mc()|0){m=7;g=0;l=0;p=0;break}g=Nc(0,l,0)|0;if(!g){m=7;g=0;l=0;p=0;break}else k=l}else{g=0;k=0}YA(g|0,i|0,l|0)|0;m=0;p=k}else{m=0;g=0;l=0;p=0}}else{m=0;g=0;l=0;p=0}while(0);do if(n){i=f[o>>2]|0;fb=o+128|0;eb=f[fb+4>>2]|0;if((eb|0)>0|(eb|0)==0&(f[fb>>2]|0)>>>0>0)Hi(i,o);k=fg(o)|0;f[o+20>>2]=770837923;f[o+36>>2]=-1;f[o+40>>2]=0;b[o+142>>0]=2;f[o+44>>2]=0;f[o+32>>2]=1;b[o+143>>0]=-1;f[o+48>>2]=0;fb=o+64|0;f[fb>>2]=0;f[fb+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&k;break}}else i=0;while(0);i=(m|0)==0?i:m;if((i|0)==0&(c|0)>0){cb=a+252|0;db=a+168|0;eb=a+16|0;fb=a+20|0;P=(e|0)>2?e:2;Q=a+12|0;R=Gb+580|0;S=a+88|0;T=Gb+588|0;V=a+116|0;W=Gb+600|0;X=a+104|0;Y=Gb+596|0;Z=Gb+572|0;_=Gb+624|0;$=Gb+628|0;aa=a+184|0;ca=Gb+40|0;da=a+172|0;ea=Gb+632|0;fa=Gb+636|0;ga=Gb+64|0;ha=Gb+68|0;ia=Gb+76|0;ja=Gb+80|0;ka=a+228|0;la=Gb+56|0;ma=Gb+4|0;na=Gb+84|0;oa=Gb+48|0;pa=Gb+116|0;qa=Gb+108|0;ra=Gb+8|0;sa=Gb+16|0;ta=Gb+24|0;ua=Gb+32|0;va=a+96|0;wa=Gb+112|0;xa=Gb+88|0;ya=Gb+120|0;za=Gb+152|0;Aa=Gb+184|0;Ba=Gb+216|0;Ca=Gb+248|0;Da=Gb+280|0;Ea=Gb+312|0;Fa=Gb+344|0;Ga=Gb+376|0;Ha=Gb+408|0;Ia=Gb+440|0;Ja=Gb+472|0;Ka=Gb+504|0;La=Gb+536|0;Ma=a+192|0;Na=a+176|0;Oa=a+124|0;Pa=lb+4|0;Qa=a+188|0;Ra=kb+4|0;Sa=a+196|0;Ta=lb+8|0;Ua=lb+4|0;Va=a+236|0;Wa=lb+16|0;Xa=lb+24|0;Ya=lb+28|0;Za=Fb+8|0;_a=Fb+4|0;$a=Fb+16|0;ab=Fb+28|0;O=Fb+24|0;bb=a+180|0;K=c;k=0;o=0;e=0;while(1){v=f[cb>>2]<<10;w=((v|0)<0)<<31>>31;N=f[db>>2]|0;f[Fb>>2]=N;i=N;if((N|0)==0?(jb=f[fb>>2]|0,f[sb>>2]=f[eb>>2],f[sb+4>>2]=jb,jb=wd(64915,sb)|0,(jb|0)!=0):0){Ki(f[Q>>2]|0,jb,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](jb);else{N=ib[f[37368>>2]&255](jb)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](jb)}i=f[Fb>>2]|0;f[db>>2]=i}c=i;do if(!(Op(c,1)|0)){m=f[c+116>>2]|0;n=m+8|0;if(!(d[n>>1]&9216)){N=m;f[N>>2]=P;f[N+4>>2]=0;d[n>>1]=4;break}else{bf(m,P,0);break}}while(0);if((Ei(c)|0)==100){o=Jp(c,0)|0;e=ba()|0;u=Ip(c,1)|0}else u=-1;do if(i){i=f[c>>2]|0;N=c+128|0;M=f[N+4>>2]|0;if((M|0)>0|(M|0)==0&(f[N>>2]|0)>>>0>0)Hi(i,c);m=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;N=c+64|0;f[N>>2]=0;f[N+4>>2]=0;if(!((m|0)==3082|(b[i+81>>0]|0)!=0)){i=f[i+68>>2]&m;if(!i){L=67;break}else{c=0;m=u;n=l;L=94;break}}else{Di(i);c=0;m=u;i=7;n=l;L=94;break}}else L=67;while(0);if((L|0)==67){L=0;if(l){n=l+-2|0;a:do if((l|0)>2)while(1){i=n+-1|0;if((b[g+i>>0]|0)>=0)break a;if((n|0)>1)n=i;else{n=i;break}}while(0);b:do if((n|0)>0)while(1){i=n+-1|0;if((b[g+i>>0]|0)>=0)break b;if((n|0)>1)n=i;else{n=i;break}}while(0);r=g+n|0;m=b[r>>0]|0;i=m&255;do if(!(i&128)){c=1;s=m&255;q=0}else{N=h[r+1>>0]|0;i=N<<7|i&127;if(!(N&128)){c=2;s=i;q=0;break}N=h[r+2>>0]|0;i=N<<14|i&16383;if(!(N&128)){c=3;s=i;q=0;break}N=h[r+3>>0]|0;i=N<<21|i&2097151;if(!(N&128)){c=4;s=i;q=0;break}m=28;c=r+4|0;i=i&268435455;q=0;do{N=c;c=c+1|0;N=h[N>>0]|0;M=WA(N&127|0,0,m|0)|0;i=KA(M|0,ba()|0,i|0,q|0)|0;q=ba()|0;m=m+7|0}while(m>>>0<64&((N&128|0)!=0|0!=0));c=c-r|0;s=i}while(0);r=c+n|0;c=g+r|0;i=b[c>>0]|0;m=i&255;do if(!(m&128))i=1;else{N=b[c+1>>0]|0;i=N<<7|i&127;if(!(N&128)){m=i;i=2;break}N=b[c+2>>0]|0;i=N<<14|i&16383;if(!(N&128)){m=i;i=3;break}N=b[c+3>>0]|0;i=N<<21|i&2097151;if(!(N&128)){m=i;i=4;break}m=(b[c+4>>0]&7)<<28|i&268435455;i=5}while(0);i=(i+r|0)==(l|0)?0:267;if((u|0)>=0?(M=RA(o|0,e|0,v|0,w|0)|0,I=ba()|0,N=RA(s|0,q|0,v|0,w|0)|0,J=ba()|0,(I|0)<(J|0)|(I|0)==(J|0)&M>>>0>>0):0){F=0;J=u;n=l;N=o;M=e}else{c=1;k=1;o=s;e=q;L=94}}else{c=0;m=u;i=0;n=0;L=94}}if((L|0)==94){L=0;if((m|0)<0)break;else{F=c;J=m;N=o;M=e}}_A(Gb|0,0,640)|0;f[R>>2]=1;c:do if(!i){i=f[S>>2]|0;f[Fb>>2]=i;do if(!i){i=f[fb>>2]|0;f[Db>>2]=f[eb>>2];f[Db+4>>2]=i;i=wd(63582,Db)|0;if(!i){s=0;L=116;break}l=Ki(f[Q>>2]|0,i,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{L=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[Fb>>2]|0;f[S>>2]=i;if(!l)L=104;else{s=0;L=116}}else L=104;while(0);if((L|0)==104){L=0;c=i;l=KA(N|0,M|0,1,0)|0;m=ba()|0;do if(!(Op(c,1)|0)){o=f[c+116>>2]|0;e=o+8|0;if(!(d[e>>1]&9216)){I=o;f[I>>2]=l;f[I+4>>2]=m;d[e>>1]=4;break}else{bf(o,l,m);break}}while(0);Ei(c)|0;m=Ip(c,0)|0;do if(i){i=f[c>>2]|0;I=c+128|0;H=f[I+4>>2]|0;if((H|0)>0|(H|0)==0&(f[I>>2]|0)>>>0>0)Hi(i,c);l=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;I=c+64|0;f[I>>2]=0;f[I+4>>2]=0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&l;break}}else i=0;while(0);if(m)if((F|0)!=0&(m|0)==1){s=1;L=116}else E=m;else{s=0;L=116}}do if((L|0)==116){L=0;c=KA(N|0,M|0,1,0)|0;q=ba()|0;i=f[V>>2]|0;f[Fb>>2]=i;if(!i){l=f[fb>>2]|0;f[pb>>2]=f[eb>>2];f[pb+4>>2]=l;l=wd(63516,pb)|0;if(!l){m=K;i=7;l=p;L=789;break c}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{I=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[V>>2]=l;if(!i)i=l;else{m=K;l=p;L=789;break c}}r=i;l=KA(N|0,M|0,2,0)|0;m=ba()|0;do if(!(Op(r,1)|0)){o=f[r+116>>2]|0;e=o+8|0;if(!(d[e>>1]&9216)){I=o;f[I>>2]=l;f[I+4>>2]=m;d[e>>1]=4;break}else{bf(o,l,m);break}}while(0);l=OA(c|0,q|0,1024,0)|0;l=WA(l|0,ba()|0,10)|0;l=KA(l|0,ba()|0,1024,0)|0;m=ba()|0;do if(!(Op(r,2)|0)){e=f[r+116>>2]|0;o=e+40|0;e=e+48|0;if(!(d[e>>1]&9216)){I=o;f[I>>2]=l;f[I+4>>2]=m;d[e>>1]=4;break}else{bf(o,l,m);break}}while(0);if((Ei(r)|0)==100){if(!i)l=1;else{l=f[r+104>>2]|0;do if(!l)L=137;else{if(!(d[r+140>>1]|0)){L=137;break}m=r}while(0);if((L|0)==137){L=0;l=f[r>>2]|0;f[l+64>>2]=25;Bg(l,25);l=37592;m=r}l=d[l+8>>1]&31;m=f[m>>2]|0;e=r+40|0;o=f[e>>2]|0;if((o|0)==3082|(b[m+81>>0]|0)!=0){Di(m);m=7}else m=f[m+68>>2]&o;f[e>>2]=m}m=-1431655766>>>l&1}else m=0;do if(i){i=f[r>>2]|0;I=r+128|0;H=f[I+4>>2]|0;if((H|0)>0|(H|0)==0&(f[I>>2]|0)>>>0>0)Hi(i,r);l=fg(r)|0;f[r+20>>2]=770837923;f[r+36>>2]=-1;f[r+40>>2]=0;b[r+142>>0]=2;f[r+44>>2]=0;f[r+32>>2]=1;b[r+143>>0]=-1;f[r+48>>2]=0;I=r+64|0;f[I>>2]=0;f[I+4>>2]=0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&l;break}}else i=0;while(0);if(!m){E=s;break}f[R>>2]=f[R>>2]|2;E=s}while(0);if(!i){C=hb;D=C+56|0;do{f[C>>2]=0;C=C+4|0}while((C|0)<(D|0));i=J<<2;l=Fd(i)|0;f[hb>>2]=l;if(!l){m=K;i=7;l=p;L=789}else{_A(l|0,0,i|0)|0;i=f[X>>2]|0;f[Fb>>2]=i;if(!i){l=f[fb>>2]|0;f[qb>>2]=f[eb>>2];f[qb+4>>2]=l;l=wd(64378,qb)|0;if(!l){m=K;i=7;l=p;L=789;break}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{I=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[X>>2]=l;if(!i)i=l;else{m=K;l=p;L=789;break}}B=i;do if(!(Op(B,1)|0)){l=f[B+116>>2]|0;m=l+8|0;if(!(d[m>>1]&9216)){I=l;f[I>>2]=N;f[I+4>>2]=M;d[m>>1]=4;break}else{bf(l,N,M);break}}while(0);z=(i|0)==0;x=B+104|0;A=B+40|0;y=B+140|0;d:do if(z){w=0;while(1){if(!((w|0)<(J|0)&(Ei(B)|0)==100)){m=0;o=1;break d}i=Jp(B,1)|0;l=ba()|0;m=Jp(B,2)|0;o=ba()|0;e=Jp(B,3)|0;c=ba()|0;q=lf(37592)|0;r=Gp(B,4)|0;s=(f[hb>>2]|0)+(w<<2)|0;v=(i|0)==0&(l|0)==0?r+20|0:0;u=Fd(v+96|0)|0;if(!u)i=7;else{C=u;D=C+96|0;do{f[C>>2]=0;C=C+4|0}while((C|0)<(D|0));f[u>>2]=w;b[u+4>>0]=0;I=u+8|0;f[I>>2]=i;f[I+4>>2]=l;I=u+16|0;f[I>>2]=m;f[I+4>>2]=o;I=u+24|0;f[I>>2]=e;f[I+4>>2]=c;if(!v){G=KA(i|0,l|0,-1,-1)|0;H=ba()|0;I=u+32|0;f[I>>2]=G;f[I+4>>2]=H}else{C=u+96|0;f[u+40>>2]=C;b[u+5>>0]=1;f[u+44>>2]=r;YA(C|0,q|0,r|0)|0;C=C+r|0;D=C+20|0;do{b[C>>0]=0;C=C+1|0}while((C|0)<(D|0))}f[s>>2]=u;i=0}f[T>>2]=(f[T>>2]|0)+1;if(!i)w=w+1|0;else{m=i;o=0;break}}}else{w=0;while(1){if(!((w|0)<(J|0)&(Ei(B)|0)==100)){m=0;o=1;break d}c=Jp(B,1)|0;q=ba()|0;r=Jp(B,2)|0;s=ba()|0;u=Jp(B,3)|0;v=ba()|0;i=f[x>>2]|0;do if(!i)L=179;else{if((j[y>>1]|0)<=4){L=179;break}i=i+160|0}while(0);if((L|0)==179){L=0;i=f[B>>2]|0;f[i+64>>2]=25;Bg(i,25);i=37592}e=lf(i)|0;i=f[B>>2]|0;l=f[A>>2]|0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7}else i=f[i+68>>2]&l;f[A>>2]=i;i=Gp(B,4)|0;l=(f[hb>>2]|0)+(w<<2)|0;o=(c|0)==0&(q|0)==0?i+20|0:0;m=Fd(o+96|0)|0;if(!m)i=7;else{C=m;D=C+96|0;do{f[C>>2]=0;C=C+4|0}while((C|0)<(D|0));f[m>>2]=w;b[m+4>>0]=0;I=m+8|0;f[I>>2]=c;f[I+4>>2]=q;I=m+16|0;f[I>>2]=r;f[I+4>>2]=s;I=m+24|0;f[I>>2]=u;f[I+4>>2]=v;if(!o){G=KA(c|0,q|0,-1,-1)|0;H=ba()|0;I=m+32|0;f[I>>2]=G;f[I+4>>2]=H}else{C=m+96|0;f[m+40>>2]=C;b[m+5>>0]=1;f[m+44>>2]=i;YA(C|0,e|0,i|0)|0;C=C+i|0;D=C+20|0;do{b[C>>0]=0;C=C+1|0}while((C|0)<(D|0))}f[l>>2]=m;i=0}f[T>>2]=(f[T>>2]|0)+1;if(!i)w=w+1|0;else{m=i;o=0;break}}}while(0);do if(!z){i=f[B>>2]|0;I=B+128|0;H=f[I+4>>2]|0;if((H|0)>0|(H|0)==0&(f[I>>2]|0)>>>0>0)Hi(i,B);l=fg(B)|0;f[B+20>>2]=770837923;f[B+36>>2]=-1;f[A>>2]=0;b[B+142>>0]=2;f[B+44>>2]=0;f[B+32>>2]=1;b[B+143>>0]=-1;f[B+48>>2]=0;I=B+64|0;f[I>>2]=0;f[I+4>>2]=0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&l;break}}else i=0;while(0);i=o?i:m;if(i|0){m=K;l=p;L=789;break}m=f[T>>2]|0;if((m|0)!=(J|0)){q=K;i=0;break}f[Y>>2]=gb;i=mt(a,hb,f[gb>>2]|0,f[Z>>2]|0)|0;if(i|0){m=K;l=p;L=789;break}i=nt(a,hb)|0;if((i|0)!=100){m=K;l=p;L=789;break}e:do if((F|0)!=0&(E|0)>0){y=f[_>>2]|0;z=f[$>>2]|0;A=E+-1|0;i=f[aa>>2]|0;f[Fb>>2]=i;if(!i){l=f[fb>>2]|0;f[rb>>2]=f[eb>>2];f[rb+4>>2]=l;l=wd(65034,rb)|0;if(!l){m=K;c=J;i=7;l=p;L=738;break}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{I=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[aa>>2]=l;if(!i)i=l;else{m=K;c=J;l=p;L=738;break}}E=i;l=KA(N|0,M|0,1,0)|0;m=ba()|0;do if(!(Op(E,1)|0)){o=f[E+116>>2]|0;e=o+8|0;if(!(d[e>>1]&9216)){I=o;f[I>>2]=l;f[I+4>>2]=m;d[e>>1]=4;break}else{bf(o,l,m);break}}while(0);l=((A|0)<0)<<31>>31;do if(!(Op(E,2)|0)){o=f[E+116>>2]|0;m=o+40|0;o=o+48|0;if(!(d[o>>1]&9216)){I=m;f[I>>2]=A;f[I+4>>2]=l;d[o>>1]=4;break}else{bf(m,A,l);break}}while(0);do if((Ei(E)|0)!=100){if(!i){L=409;break e}i=f[E>>2]|0;L=E+128|0;I=f[L+4>>2]|0;if((I|0)>0|(I|0)==0&(f[L>>2]|0)>>>0>0)Hi(i,E);l=fg(E)|0;f[E+20>>2]=770837923;f[E+36>>2]=-1;f[E+40>>2]=0;b[E+142>>0]=2;f[E+44>>2]=0;f[E+32>>2]=1;b[E+143>>0]=-1;f[E+48>>2]=0;L=E+64|0;f[L>>2]=0;f[L+4>>2]=0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);m=K;c=J;i=7;l=p;L=738;break e}else{i=f[i+68>>2]&l;break}}else{w=Jp(E,1)|0;x=ba()|0;u=Jp(E,2)|0;v=ba()|0;B=(i|0)==0;f:do if(B)i=37592;else{i=f[E+104>>2]|0;do if(i|0){if((j[E+140>>1]|0)<=3)break;i=i+120|0;break f}while(0);i=f[E>>2]|0;f[i+64>>2]=25;Bg(i,25);i=37592}while(0);l=d[i+8>>1]|0;do if((l&514)==514){if((b[i+10>>0]|0)!=1){L=225;break}s=f[i+16>>2]|0}else L=225;while(0);do if((L|0)==225){L=0;if(l&1){s=0;break}s=Ic(i,1)|0}while(0);if(!B){i=f[E>>2]|0;m=E+40|0;l=f[m>>2]|0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7}else i=f[i+68>>2]&l;f[m>>2]=i}if(!s){l=ca;o=0;r=0;i=f[l+4>>2]|0;l=f[l>>2]|0}else{l=b[s>>0]|0;if((l+-48&255)<10){i=0;o=0;m=0;do{m=QA(o|0,m|0,10,0)|0;o=(l&255)+-48|0;o=KA(m|0,ba()|0,o|0,((o|0)<0)<<31>>31|0)|0;m=ba()|0;i=i+1|0;l=b[s+i>>0]|0}while((l+-48&255)<10)}else{i=0;o=0;m=0}g:while(1){l=b[s+i>>0]|0;switch(l<<24>>24){case 45:{L=239;break g}case 32:break;default:{q=1;r=0;break g}}i=i+1|0}if((L|0)==239){L=0;l=i+1|0;i=l;l=b[s+l>>0]|0;q=-1;r=-1}if((l+-48&255)<10){e=0;c=0;do{c=QA(e|0,c|0,10,0)|0;e=(l&255)+-48|0;e=KA(c|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;i=i+1|0;l=b[s+i>>0]|0}while((l+-48&255)<10);l=e;i=c}else{l=0;i=0}l=QA(l|0,i|0,q|0,r|0)|0;i=ba()|0;r=ca;f[r>>2]=l;f[r+4>>2]=i;r=m}m=LA(0,0,l|0,i|0)|0;e=ba()|0;if((i|0)<0){l=ca;f[l>>2]=m;f[l+4>>2]=e;l=m;i=e}b[oa>>0]=(l|0)==0&(i|0)==0&1;s=Gp(E,4)|0;if(B)q=lf(37592)|0;else{i=f[E+104>>2]|0;do if(!i)L=251;else{if((j[E+140>>1]|0)<=4){L=251;break}i=i+160|0;l=E}while(0);if((L|0)==251){L=0;i=f[E>>2]|0;f[i+64>>2]=25;Bg(i,25);i=37592;l=E}e=lf(i)|0;i=f[l>>2]|0;m=E+40|0;l=f[m>>2]|0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7}else i=f[i+68>>2]&l;f[m>>2]=i;q=e}i=f[Ma>>2]|0;f[Fb>>2]=i;do if(!i){i=f[fb>>2]|0;f[tb>>2]=f[eb>>2];f[tb+4>>2]=i;i=wd(65141,tb)|0;if(!i){m=7;break}m=Ki(f[Q>>2]|0,i,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{I=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[Fb>>2]|0;f[Ma>>2]=i;if(!m){m=i;L=265}}else{m=i;L=265}while(0);h:do if((L|0)==265){L=0;c=m;do if(!(Op(c,1)|0)){i=f[c+116>>2]|0;l=i+8|0;if(!(d[l>>1]&9216)){I=i;f[I>>2]=o;f[I+4>>2]=r;d[l>>1]=4;break}else{bf(i,o,r);break}}while(0);e=(Ei(c)|0)==100;i=e&1;do if(m){l=f[c>>2]|0;I=c+128|0;H=f[I+4>>2]|0;if((H|0)>0|(H|0)==0&(f[I>>2]|0)>>>0>0)Hi(l,c);m=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;I=c+64|0;f[I>>2]=0;f[I+4>>2]=0;if((m|0)==3082|(b[l+81>>0]|0)!=0){Di(l);m=7;break h}else{m=f[l+68>>2]&m;break}}else m=0;while(0);if(e&(m|0)==0){f[Fb>>2]=0;f[kb>>2]=0;m=yt(a,u,v,Fb,kb)|0;if(!m){m=f[Fb>>2]|0;i=f[kb>>2]|0;C=Ta;D=C+40|0;do{f[C>>2]=0;C=C+4|0}while((C|0)<(D|0));f[lb>>2]=m;f[Ua>>2]=i;do if(!(b[m>>0]|0))i=1;else{c=m+1|0;i=b[c>>0]|0;l=i&255;if(!(l&128)){I=Wa;f[I>>2]=i&255;f[I+4>>2]=0;i=2;break}I=h[m+2>>0]|0;i=I<<7|l&127;if(!(I&128)){I=Wa;f[I>>2]=i;f[I+4>>2]=0;i=3;break}I=h[m+3>>0]|0;i=I<<14|i&16383;if(!(I&128)){I=Wa;f[I>>2]=i;f[I+4>>2]=0;i=4;break}I=h[m+4>>0]|0;i=I<<21|i&2097151;if(!(I&128)){I=Wa;f[I>>2]=i;f[I+4>>2]=0;i=5;break}e=28;m=m+5|0;i=i&268435455;l=0;do{I=m;m=m+1|0;I=h[I>>0]|0;H=WA(I&127|0,0,e|0)|0;i=KA(H|0,ba()|0,i|0,l|0)|0;l=ba()|0;e=e+7|0}while(e>>>0<64&((I&128|0)!=0|0!=0));I=Wa;f[I>>2]=i;f[I+4>>2]=l;i=1-c+m|0}while(0);f[Ta>>2]=i;m=iu(lb)|0;if((m|0)==0&(f[lb>>2]|0)!=0)do m=iu(lb)|0;while((m|0)==0&(f[lb>>2]|0)!=0);l=f[Xa>>2]|0;I=f[Ya>>2]|0;i=Hz(y,l,(z|0)<(I|0)?z:I)|0;i=(((i|0)==0?z-I|0:i)|0)>0&1;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{I=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0)}else i=1;l=f[Fb>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{I=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0)}if(!((m|0)==0&(i|0)!=0))break;e=b[q>>0]|0;c=e<<24>>24;l=LA(o|0,r|0,w|0,x|0)|0;ba()|0;l=(l+1|0)/16|0;f[Gb>>2]=l;I=ta;f[I>>2]=w;f[I+4>>2]=x;I=ua;f[I>>2]=o;f[I+4>>2]=r;I=ra;f[I>>2]=N;f[I+4>>2]=M;f[sa>>2]=A;if(e<<24>>24<15){i=c;do{I=i;i=i+1|0;F=U(i,l)|0;F=KA(w|0,x|0,F|0,((F|0)<0)<<31>>31|0)|0;G=ba()|0;H=Gb+56+(i<<5)|0;f[H>>2]=F;f[H+4>>2]=G}while((I|0)<14)}o=U(l,c)|0;o=KA(w|0,x|0,o|0,((o|0)<0)<<31>>31|0)|0;m=ba()|0;l=Gb+56+(c<<5)|0;f[l>>2]=o;f[l+4>>2]=m;l=f[ka>>2]|0;l=(s|0)>(l|0)?s:l;m=Gb+56+(c<<5)+28|0;o=Gb+56+(c<<5)+20|0;i=f[o>>2]|0;if((f[m>>2]|0)<(l|0)){if(Mc()|0){m=7;break}i=Nc(i,(l|0)>0?l:0,0)|0;if(!i){m=7;break}f[m>>2]=l;f[o>>2]=i}YA(i|0,q|0,s|0)|0;f[Gb+56+(c<<5)+24>>2]=s;if(e<<24>>24<=-1){m=0;break}q=c;i=s;while(1){m=f[Gb+56+(q<<5)+20>>2]|0;C=Za;D=C+40|0;do{f[C>>2]=0;C=C+4|0}while((C|0)<(D|0));f[Fb>>2]=m;f[_a>>2]=i;if(!(b[m>>0]|0))i=1;else{e=m+1|0;i=b[e>>0]|0;l=i&255;do if(!(l&128)){I=$a;f[I>>2]=i&255;f[I+4>>2]=0;i=1}else{I=h[m+2>>0]|0;i=I<<7|l&127;if(!(I&128)){I=$a;f[I>>2]=i;f[I+4>>2]=0;i=2;break}I=h[m+3>>0]|0;i=I<<14|i&16383;if(!(I&128)){I=$a;f[I>>2]=i;f[I+4>>2]=0;i=3;break}I=h[m+4>>0]|0;i=I<<21|i&2097151;if(!(I&128)){I=$a;f[I>>2]=i;f[I+4>>2]=0;i=4;break}o=28;m=m+5|0;i=i&268435455;l=0;do{I=m;m=m+1|0;I=h[I>>0]|0;H=WA(I&127|0,0,o|0)|0;i=KA(H|0,ba()|0,i|0,l|0)|0;l=ba()|0;o=o+7|0}while(o>>>0<64&((I&128|0)!=0|0!=0));I=$a;f[I>>2]=i;f[I+4>>2]=l;i=m-e|0}while(0);i=i+1|0}f[Za>>2]=i;i=iu(Fb)|0;l=(i|0)==0;if(l&(f[Fb>>2]|0)!=0)do{i=iu(Fb)|0;l=(i|0)==0}while(l&(f[Fb>>2]|0)!=0);o=f[ab>>2]|0;do if(l){l=Gb+56+(q<<5)+16|0;m=Gb+56+(q<<5)+8|0;if((f[l>>2]|0)<(o|0)){i=f[m>>2]|0;if(Mc()|0){i=7;L=352;break}i=Nc(i,(o|0)>0?o:0,0)|0;if(!i){i=7;L=352;break}f[l>>2]=o;f[m>>2]=i}else i=f[m>>2]|0;l=f[O>>2]|0;YA(i|0,l|0,o|0)|0;f[Gb+56+(q<<5)+12>>2]=o;if((q|0)<=0){i=0;break}f[kb>>2]=0;f[lb>>2]=0;e=q+-1|0;i=$a;c=f[i>>2]|0;i=f[i+4>>2]|0;o=Gb+56+(e<<5)|0;f[o>>2]=c;f[o+4>>2]=i;i=yt(a,c,i,kb,lb)|0;c=f[lb>>2]|0;o=f[ka>>2]|0;o=(c|0)>(o|0)?c:o;do if(!i){l=Gb+56+(e<<5)+28|0;m=Gb+56+(e<<5)+20|0;i=f[m>>2]|0;if((f[l>>2]|0)<(o|0)){if(Mc()|0){i=7;break}i=Nc(i,(o|0)>0?o:0,0)|0;if(!i){i=7;break}f[l>>2]=o;f[m>>2]=i}YA(i|0,f[kb>>2]|0,c|0)|0;f[Gb+56+(e<<5)+24>>2]=c;i=0}while(0);l=f[kb>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{L=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);L=352}else L=352;while(0);if((L|0)==352){L=0;l=f[O>>2]|0}do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{I=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);l=q+-1|0;if(!((q|0)>0&(i|0)==0)){m=i;break h}q=l;i=f[Gb+56+(l<<5)+24>>2]|0}}while(0);do if(!B){i=f[E>>2]|0;L=E+128|0;I=f[L+4>>2]|0;if((I|0)>0|(I|0)==0&(f[L>>2]|0)>>>0>0)Hi(i,E);l=fg(E)|0;f[E+20>>2]=770837923;f[E+36>>2]=-1;f[E+40>>2]=0;b[E+142>>0]=2;f[E+44>>2]=0;f[E+32>>2]=1;b[E+143>>0]=-1;f[E+48>>2]=0;L=E+64|0;f[L>>2]=0;f[L+4>>2]=0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&l;break}}else i=0;while(0);i=(m|0)==0?i:m}while(0);if(!i)L=409;else{m=K;c=J;l=p;L=738}}else{i=f[da>>2]|0;f[Fb>>2]=i;if(!i){l=f[fb>>2]|0;f[ub>>2]=f[eb>>2];f[ub+4>>2]=l;l=wd(65206,ub)|0;if(!l){m=K;c=J;i=7;l=p;L=738;break}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{L=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[da>>2]=l;if(!i)i=l;else{m=K;c=J;l=p;L=738;break}}c=i;do if(!(Op(c,1)|0)){l=f[c+116>>2]|0;m=l+8|0;if(!(d[m>>1]&9216)){L=l;f[L>>2]=N;f[L+4>>2]=M;d[m>>1]=4;break}else{bf(l,N,M);break}}while(0);l=f[T>>2]|0;m=((l|0)<0)<<31>>31;do if(!(Op(c,2)|0)){e=f[c+116>>2]|0;o=e+40|0;e=e+48|0;if(!(d[e>>1]&9216)){L=o;f[L>>2]=l;f[L+4>>2]=m;d[e>>1]=4;break}else{bf(o,l,m);break}}while(0);if((Ei(c)|0)==100)o=Ip(c,0)|0;else o=0;do if(i|0){i=f[c>>2]|0;L=c+128|0;I=f[L+4>>2]|0;if((I|0)>0|(I|0)==0&(f[L>>2]|0)>>>0>0)Hi(i,c);l=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;L=c+64|0;f[L>>2]=0;f[L+4>>2]=0;if(!((l|0)==3082|(b[i+81>>0]|0)!=0)){i=f[i+68>>2]&l;if(!i)break;else{m=K;c=J;l=p;L=738;break e}}else{Di(i);m=K;c=J;i=7;l=p;L=738;break e}}while(0);i=f[va>>2]|0;f[Fb>>2]=i;if(!i){l=f[fb>>2]|0;f[vb>>2]=f[eb>>2];f[vb+4>>2]=l;l=wd(63647,vb)|0;if(!l){m=K;c=J;i=7;l=p;L=738;break}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{L=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[va>>2]=l;if(!i)i=l;else{m=K;c=J;l=p;L=738;break}}m=i;if((Ei(m)|0)==100){G=o<<4;G=KA(G|0,((G|0)<0)<<31>>31|0,-1,-1)|0;L=ba()|0;I=Jp(m,0)|0;H=ba()|0;F=ta;f[F>>2]=I;f[F+4>>2]=H;H=KA(G|0,L|0,I|0,H|0)|0;I=ba()|0;L=ua;f[L>>2]=H;f[L+4>>2]=I}do if(i|0){i=f[m>>2]|0;L=m+128|0;I=f[L+4>>2]|0;if((I|0)>0|(I|0)==0&(f[L>>2]|0)>>>0>0)Hi(i,m);l=fg(m)|0;f[m+20>>2]=770837923;f[m+36>>2]=-1;f[m+40>>2]=0;b[m+142>>0]=2;f[m+44>>2]=0;f[m+32>>2]=1;b[m+143>>0]=-1;f[m+48>>2]=0;L=m+64|0;f[L>>2]=0;f[L+4>>2]=0;if(!((l|0)==3082|(b[i+81>>0]|0)!=0)){i=f[i+68>>2]&l;if(!i)break;else{m=K;c=J;l=p;L=738;break e}}else{Di(i);m=K;c=J;i=7;l=p;L=738;break e}}while(0);i=ua;i=ot(a,f[i>>2]|0,f[i+4>>2]|0,0,0)|0;if(i|0){m=K;c=J;l=p;L=738;break}I=ra;f[I>>2]=N;f[I+4>>2]=M;f[Gb>>2]=o;f[sa>>2]=E;I=ta;L=f[I>>2]|0;I=f[I+4>>2]|0;H=la;f[H>>2]=L;f[H+4>>2]=I;H=KA(L|0,I|0,o|0,((o|0)<0)<<31>>31|0)|0;G=ba()|0;F=xa;f[F>>2]=H;f[F+4>>2]=G;F=o<<1;F=KA(L|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;G=ba()|0;H=ya;f[H>>2]=F;f[H+4>>2]=G;H=o*3|0;H=KA(L|0,I|0,H|0,((H|0)<0)<<31>>31|0)|0;G=ba()|0;F=za;f[F>>2]=H;f[F+4>>2]=G;F=o<<2;F=KA(L|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;G=ba()|0;H=Aa;f[H>>2]=F;f[H+4>>2]=G;H=o*5|0;H=KA(L|0,I|0,H|0,((H|0)<0)<<31>>31|0)|0;G=ba()|0;F=Ba;f[F>>2]=H;f[F+4>>2]=G;F=o*6|0;F=KA(L|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;G=ba()|0;H=Ca;f[H>>2]=F;f[H+4>>2]=G;H=o*7|0;H=KA(L|0,I|0,H|0,((H|0)<0)<<31>>31|0)|0;G=ba()|0;F=Da;f[F>>2]=H;f[F+4>>2]=G;F=o<<3;F=KA(L|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;G=ba()|0;H=Ea;f[H>>2]=F;f[H+4>>2]=G;H=o*9|0;H=KA(L|0,I|0,H|0,((H|0)<0)<<31>>31|0)|0;G=ba()|0;F=Fa;f[F>>2]=H;f[F+4>>2]=G;F=o*10|0;F=KA(L|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;G=ba()|0;H=Ga;f[H>>2]=F;f[H+4>>2]=G;H=o*11|0;H=KA(L|0,I|0,H|0,((H|0)<0)<<31>>31|0)|0;G=ba()|0;F=Ha;f[F>>2]=H;f[F+4>>2]=G;F=o*12|0;F=KA(L|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;G=ba()|0;H=Ia;f[H>>2]=F;f[H+4>>2]=G;H=o*13|0;H=KA(L|0,I|0,H|0,((H|0)<0)<<31>>31|0)|0;G=ba()|0;F=Ja;f[F>>2]=H;f[F+4>>2]=G;F=o*14|0;F=KA(L|0,I|0,F|0,((F|0)<0)<<31>>31|0)|0;G=ba()|0;H=Ka;f[H>>2]=F;f[H+4>>2]=G;H=o*15|0;H=KA(L|0,I|0,H|0,((H|0)<0)<<31>>31|0)|0;I=ba()|0;L=La;f[L>>2]=H;f[L+4>>2]=I;L=409}while(0);i:do if((L|0)==409){L=0;if(!(f[Gb>>2]|0)){m=K;c=J;i=0;l=p;L=738;break}j:while(1){F=f[_>>2]|0;G=f[$>>2]|0;H=f[ea>>2]|0;I=f[fa>>2]|0;l=f[ga>>2]|0;m=f[ha>>2]|0;k:do if((m|0)>0){i=0;while(1){if((b[l+i>>0]|0)!=(b[F+i>>0]|0)){B=i;break k}i=i+1|0;if((i|0)>=(m|0)){B=i;break}}}else B=0;while(0);c=0;i=B;l=((B|0)<0)<<31>>31;do{c=c+1|0;i=VA(i|0,l|0,7)|0;l=ba()|0}while(!((i|0)==0&(l|0)==0));e=G-B|0;o=0;i=e;l=((e|0)<0)<<31>>31;do{o=o+1|0;i=VA(i|0,l|0,7)|0;l=ba()|0}while(!((i|0)==0&(l|0)==0));E=((I|0)<0)<<31>>31;i=0;l=I;m=E;do{i=i+1|0;l=VA(l|0,m|0,7)|0;m=ba()|0}while(!((l|0)==0&(m|0)==0));l=e+I+c+o+i|0;i=f[ja>>2]|0;do if((i|0)>0){if((i+l|0)<=(f[ka>>2]|0)){L=468;break}D=la;i=ot(a,f[D>>2]|0,f[D+4>>2]|0,f[ia>>2]|0,i)|0;f[ma>>2]=(f[ma>>2]|0)+1;l:do if(!i){D=B+1|0;m=la;w=1;l=f[m>>2]|0;m=f[m+4>>2]|0;while(1){A=Gb+56+(w<<5)+8|0;o=f[A>>2]|0;C=Gb+56+(w<<5)+12|0;q=f[C>>2]|0;m:do if((q|0)>0){i=0;while(1){if((b[o+i>>0]|0)!=(b[F+i>>0]|0)){y=i;break m}i=i+1|0;if((i|0)>=(q|0)){y=i;break}}}else y=0;while(0);u=((y|0)<0)<<31>>31;c=0;i=y;o=u;do{c=c+1|0;i=VA(i|0,o|0,7)|0;o=ba()|0}while(!((i|0)==0&(o|0)==0));x=D-y|0;v=((x|0)<0)<<31>>31;i=0;o=x;e=v;do{i=i+1|0;o=VA(o|0,e|0,7)|0;e=ba()|0}while(!((o|0)==0&(e|0)==0));s=c+x+i|0;z=Gb+56+(w<<5)+24|0;i=f[z>>2]|0;if(!q)break;if((i+s|0)<=(f[ka>>2]|0))break;r=Gb+56+(w<<5)|0;o=r;q=Gb+56+(w<<5)+20|0;i=ot(a,f[o>>2]|0,f[o+4>>2]|0,f[q>>2]|0,i)|0;b[f[q>>2]>>0]=w;q=(f[q>>2]|0)+1|0;o=KA(l|0,m|0,1,0)|0;l=q;c=ba()|0;while(1){m=o&255;e=l+1|0;b[l>>0]=m|-128;o=VA(o|0,c|0,7)|0;c=ba()|0;if((o|0)==0&(c|0)==0)break;else l=e}b[l>>0]=m&127;f[z>>2]=1-q+e;m=r;l=f[m>>2]|0;m=f[m+4>>2]|0;y=KA(l|0,m|0,1,0)|0;z=ba()|0;A=r;f[A>>2]=y;f[A+4>>2]=z;f[C>>2]=0;if((i|0)!=0|(l|0)==0&(m|0)==0)break l;i=w+1|0;if(i>>>0<16)w=i;else{i=0;break l}}q=Gb+56+(w<<5)+20|0;if(!i){o=f[ka>>2]|0;r=Gb+56+(w<<5)+28|0;i=f[q>>2]|0;if((f[r>>2]|0)<(o|0)){if(Mc()|0){i=7;break}i=Nc(i,(o|0)>0?o:0,0)|0;if(!i){i=7;break}f[r>>2]=o;f[q>>2]=i}b[i>>0]=w;c=(f[q>>2]|0)+1|0;e=c;while(1){i=l&255;o=e+1|0;b[e>>0]=i|-128;l=VA(l|0,m|0,7)|0;m=ba()|0;if((l|0)==0&(m|0)==0)break;else e=o}b[e>>0]=i&127;i=1-c+o|0;f[z>>2]=i;m=r}else m=Gb+56+(w<<5)+28|0;l=i+s|0;if((f[m>>2]|0)<(l|0)){i=f[q>>2]|0;if(Mc()|0){i=7;break}i=Nc(i,(l|0)>0?l:0,0)|0;if(!i){i=7;break}f[m>>2]=l;f[q>>2]=i}l=Gb+56+(w<<5)+16|0;if((f[l>>2]|0)<=(B|0)){i=f[A>>2]|0;if(Mc()|0){i=7;break}i=Nc(i,(D|0)>0?D:0,0)|0;if(!i){i=7;break}f[l>>2]=D;f[A>>2]=i}if(!(f[C>>2]|0))i=f[z>>2]|0;else{e=(f[q>>2]|0)+(f[z>>2]|0)|0;o=e;c=y;m=u;while(1){i=c&255;l=o+1|0;b[o>>0]=i|-128;c=VA(c|0,m|0,7)|0;m=ba()|0;if((c|0)==0&(m|0)==0)break;else o=l}b[o>>0]=i&127;i=(f[z>>2]|0)+(l-e)|0;f[z>>2]=i}e=(f[q>>2]|0)+i|0;o=e;c=x;m=v;while(1){i=c&255;l=o+1|0;b[o>>0]=i|-128;c=VA(c|0,m|0,7)|0;m=ba()|0;if((c|0)==0&(m|0)==0)break;else o=l}b[o>>0]=i&127;i=(f[z>>2]|0)+(l-e)|0;f[z>>2]=i;YA((f[q>>2]|0)+i|0,F+y|0,x|0)|0;f[z>>2]=(f[z>>2]|0)+x;YA(f[A>>2]|0,F|0,D|0)|0;f[C>>2]=D;i=0}while(0);m=la;m=KA(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;l=ba()|0;e=la;f[e>>2]=m;f[e+4>>2]=l;f[ha>>2]=0;f[ja>>2]=0;e=0;l=G;m=((G|0)<0)<<31>>31;do{e=e+1|0;l=VA(l|0,m|0,7)|0;m=ba()|0}while(!((l|0)==0&(m|0)==0));o=0;m=I;l=E;do{o=o+1|0;m=VA(m|0,l|0,7)|0;l=ba()|0}while(!((m|0)==0&(l|0)==0));l=G+1+I+e|0;C=l+o|0;D=ca;C=KA(f[D>>2]|0,f[D+4>>2]|0,C|0,((C|0)<0)<<31>>31|0)|0;D=ba()|0;E=ca;f[E>>2]=C;f[E+4>>2]=D;if(!i){l=l+o|0;i=0;L=470}}else L=468;while(0);if((L|0)==468){C=ca;C=KA(f[C>>2]|0,f[C+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;D=ba()|0;E=ca;f[E>>2]=C;f[E+4>>2]=D;l=l+i|0;L=470}do if((L|0)==470){L=0;if((f[na>>2]|0)<(l|0)){i=f[ia>>2]|0;if(Mc()|0){m=K;c=J;i=7;l=p;L=738;break i}i=Nc(i,(l|0)>0?l:0,0)|0;if(!i){m=K;c=J;i=7;l=p;L=738;break i}f[na>>2]=l;f[ia>>2]=i;i=f[ja>>2]|0}if(!i){f[ja>>2]=1;b[f[ia>>2]>>0]=0}i=ju(ia,ga,F,G,H,I)|0;if(i|0)break;i=nt(a,hb)|0}while(0);l=f[ma>>2]|0;if((i|0)==100&(l|0)>=(K|0))break;switch(i|0){case 100:break;case 0:break j;default:{m=K;c=J;l=p;L=738;break i}}}G=K+-1-l|0;i=f[T>>2]|0;n:do if((i|0)>0){x=0;z=i;l=i;o:while(1){y=z+-1|0;if((l|0)>0){m=f[hb>>2]|0;i=0;do{o=f[m+(i<<2)>>2]|0;i=i+1|0}while((i|0)<(l|0)?(f[o>>2]|0)!=(y|0):0)}else o=0;do if(!(f[o+40>>2]|0)){e=o+8|0;m=e;i=f[m>>2]|0;m=f[m+4>>2]|0;do if(!((i|0)==0&(m|0)==0)){l=f[Oa>>2]|0;f[Fb>>2]=l;if(!l){l=f[fb>>2]|0;f[wb>>2]=f[eb>>2];f[wb+4>>2]=l;l=wd(63715,wb)|0;if(!l){L=490;break o}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[Oa>>2]=l;if(i|0){c=x;break n}m=e;i=f[m>>2]|0;m=f[m+4>>2]|0}q=l;do if(!(Op(q,1)|0)){e=f[q+116>>2]|0;c=e+8|0;if(!(d[c>>1]&9216)){K=e;f[K>>2]=i;f[K+4>>2]=m;d[c>>1]=4;break}else{bf(e,i,m);break}}while(0);e=o+24|0;m=f[e>>2]|0;e=f[e+4>>2]|0;if(Op(q,2)|0){Ei(q)|0;if(!l)break}else{l=f[q+116>>2]|0;i=l+40|0;l=l+48|0;if(!(d[l>>1]&9216)){K=i;f[K>>2]=m;f[K+4>>2]=e;d[l>>1]=4}else bf(i,m,e);Ei(q)|0}i=f[q>>2]|0;K=q+128|0;J=f[K+4>>2]|0;if((J|0)>0|(J|0)==0&(f[K>>2]|0)>>>0>0)Hi(i,q);l=fg(q)|0;f[q+20>>2]=770837923;f[q+36>>2]=-1;f[q+40>>2]=0;b[q+142>>0]=2;f[q+44>>2]=0;f[q+32>>2]=1;b[q+143>>0]=-1;f[q+48>>2]=0;K=q+64|0;f[K>>2]=0;f[K+4>>2]=0;if((l|0)==3082|(b[i+81>>0]|0)!=0){L=509;break o}i=f[i+68>>2]&l;if(i|0){c=x;break n}}while(0);e=f[o>>2]|0;i=f[Na>>2]|0;f[Fb>>2]=i;if(!i){l=f[fb>>2]|0;f[xb>>2]=f[eb>>2];f[xb+4>>2]=l;l=wd(65309,xb)|0;if(!l){L=514;break o}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[Na>>2]=l;if(!i)i=l;else{c=x;break n}}o=i;do if(!(Op(o,1)|0)){l=f[o+116>>2]|0;m=l+8|0;if(!(d[m>>1]&9216)){K=l;f[K>>2]=N;f[K+4>>2]=M;d[m>>1]=4;break}else{bf(l,N,M);break}}while(0);m=((e|0)<0)<<31>>31;if(Op(o,2)|0){Ei(o)|0;if(!i){m=x;i=0;break}}else{l=f[o+116>>2]|0;i=l+40|0;l=l+48|0;if(!(d[l>>1]&9216)){K=i;f[K>>2]=e;f[K+4>>2]=m;d[l>>1]=4}else bf(i,e,m);Ei(o)|0}i=f[o>>2]|0;K=o+128|0;J=f[K+4>>2]|0;if((J|0)>0|(J|0)==0&(f[K>>2]|0)>>>0>0)Hi(i,o);l=fg(o)|0;f[o+20>>2]=770837923;f[o+36>>2]=-1;f[o+40>>2]=0;b[o+142>>0]=2;f[o+44>>2]=0;f[o+32>>2]=1;b[o+143>>0]=-1;f[o+48>>2]=0;K=o+64|0;f[K>>2]=0;f[K+4>>2]=0;if((l|0)==3082|(b[i+81>>0]|0)!=0){L=532;break o}m=x;i=f[i+68>>2]&l}else{q=f[o+64>>2]|0;u=f[o+60>>2]|0;w=f[o>>2]|0;f[kb>>2]=0;f[kb+4>>2]=0;f[kb+8>>2]=0;f[lb>>2]=0;f[lb+4>>2]=0;f[lb+8>>2]=0;i=mb;f[i>>2]=0;f[i+4>>2]=0;i=f[aa>>2]|0;f[Fb>>2]=i;do if(!i){l=f[fb>>2]|0;f[yb>>2]=f[eb>>2];f[yb+4>>2]=l;l=wd(65034,yb)|0;if(!l){i=7;break}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[aa>>2]=l;if(!i){i=l;L=542}}else L=542;while(0);p:do if((L|0)==542){L=0;c=i;do if(!(Op(c,1)|0)){l=f[c+116>>2]|0;m=l+8|0;if(!(d[m>>1]&9216)){K=l;f[K>>2]=N;f[K+4>>2]=M;d[m>>1]=4;break}else{bf(l,N,M);break}}while(0);v=((w|0)<0)<<31>>31;do if(!(Op(c,2)|0)){m=f[c+116>>2]|0;l=m+40|0;m=m+48|0;if(!(d[m>>1]&9216)){K=l;f[K>>2]=w;f[K+4>>2]=v;d[m>>1]=4;break}else{bf(l,w,v);break}}while(0);if((Ei(c)|0)==100){if(!i)l=lf(37592)|0;else{l=f[c+104>>2]|0;do if(!l)L=555;else{if((j[c+140>>1]|0)<=4){L=555;break}l=l+160|0;m=c}while(0);if((L|0)==555){L=0;l=f[c>>2]|0;f[l+64>>2]=25;Bg(l,25);l=37592;m=c}l=lf(l)|0;m=f[m>>2]|0;e=c+40|0;o=f[e>>2]|0;if((o|0)==3082|(b[m+81>>0]|0)!=0){Di(m);m=7}else m=f[m+68>>2]&o;f[e>>2]=m}m=Gp(c,4)|0;r=Jp(c,1)|0;s=ba()|0;m=ku(l,m,kb,q,u,mb)|0}else{m=0;r=0;s=0}do if(i){i=f[c>>2]|0;K=c+128|0;J=f[K+4>>2]|0;if((J|0)>0|(J|0)==0&(f[K>>2]|0)>>>0>0)Hi(i,c);l=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;K=c+64|0;f[K>>2]=0;f[K+4>>2]=0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&l;break}}else i=0;while(0);i=(m|0)==0?i:m;m=mb;l=f[m>>2]|0;m=f[m+4>>2]|0;do if((i|0)==0&((l|0)!=0|(m|0)!=0)){while(1){f[Fb>>2]=0;f[nb>>2]=0;i=yt(a,l,m,Fb,nb)|0;do if(!i){i=ku(f[Fb>>2]|0,f[nb>>2]|0,lb,q,u,mb)|0;if(i|0)break;i=ot(a,l,m,f[lb>>2]|0,f[Pa>>2]|0)|0}while(0);o=f[Fb>>2]|0;do if(o|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{K=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}while(0);o=(i|0)==0;c=mb;e=f[c>>2]|0;c=f[c+4>>2]|0;if(o&((e|0)!=0|(c|0)!=0)){l=e;m=c}else break}if(!o)break p;i=f[Oa>>2]|0;f[Fb>>2]=i;if(!i){o=f[fb>>2]|0;f[zb>>2]=f[eb>>2];f[zb+4>>2]=o;o=wd(63715,zb)|0;if(!o){i=7;break p}i=Ki(f[Q>>2]|0,o,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](o);else{K=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o)}o=f[Fb>>2]|0;f[Oa>>2]=o;if(!i)i=o;else break p}q=i;do if(!(Op(q,1)|0)){o=f[q+116>>2]|0;e=o+8|0;if(!(d[e>>1]&9216)){K=o;f[K>>2]=r;f[K+4>>2]=s;d[e>>1]=4;break}else{bf(o,r,s);break}}while(0);e=KA(l|0,m|0,-1,-1)|0;c=ba()|0;if(Op(q,2)|0){Ei(q)|0;if(!i){e=l;break}}else{o=f[q+116>>2]|0;i=o+40|0;o=o+48|0;if(!(d[o>>1]&9216)){K=i;f[K>>2]=e;f[K+4>>2]=c;d[o>>1]=4}else bf(i,e,c);Ei(q)|0}i=f[q>>2]|0;K=q+128|0;J=f[K+4>>2]|0;if((J|0)>0|(J|0)==0&(f[K>>2]|0)>>>0>0)Hi(i,q);o=fg(q)|0;f[q+20>>2]=770837923;f[q+36>>2]=-1;f[q+40>>2]=0;b[q+142>>0]=2;f[q+44>>2]=0;f[q+32>>2]=1;b[q+143>>0]=-1;f[q+48>>2]=0;K=q+64|0;f[K>>2]=0;f[K+4>>2]=0;if((o|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break p}else{i=f[i+68>>2]&o;L=602;break}}else{l=0;m=0;L=602}while(0);if((L|0)==602){L=0;if(!i)e=l;else break}i=f[Qa>>2]|0;f[Fb>>2]=i;if(!i){l=f[fb>>2]|0;f[Ab>>2]=f[eb>>2];f[Ab+4>>2]=l;l=wd(65364,Ab)|0;if(!l){i=7;break}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[Qa>>2]=l;if(!i)i=l;else break}c=i;do if(!(Op(c,1)|0)){l=f[c+116>>2]|0;o=l+8|0;if(!(d[o>>1]&9216)){K=l;f[K>>2]=e;f[K+4>>2]=m;d[o>>1]=4;break}else{bf(l,e,m);break}}while(0);l=f[kb>>2]|0;m=f[Ra>>2]|0;do if(!((l|0)==0|(Op(c,2)|0)!=0)){l=$e((f[c+116>>2]|0)+40|0,l,m,0,0)|0;if(!l)break;m=f[c>>2]|0;f[m+64>>2]=l;Bg(m,l);m=f[c>>2]|0;if(!((l|0)==3082|(b[m+81>>0]|0)!=0))break;Di(m)}while(0);do if(!(Op(c,3)|0)){m=f[c+116>>2]|0;l=m+80|0;m=m+88|0;if(!(d[m>>1]&9216)){K=l;f[K>>2]=N;f[K+4>>2]=M;d[m>>1]=4;break}else{bf(l,N,M);break}}while(0);if(Op(c,4)|0){Ei(c)|0;if(!i)i=0;else L=629}else{l=f[c+116>>2]|0;i=l+120|0;l=l+128|0;if(!(d[l>>1]&9216)){L=i;f[L>>2]=w;f[L+4>>2]=v;d[l>>1]=4}else bf(i,w,v);Ei(c)|0;L=629}do if((L|0)==629){L=0;i=f[c>>2]|0;K=c+128|0;J=f[K+4>>2]|0;if((J|0)>0|(J|0)==0&(f[K>>2]|0)>>>0>0)Hi(i,c);l=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;K=c+64|0;f[K>>2]=0;f[K+4>>2]=0;if((l|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&l;break}}while(0);Op(c,2)|0}while(0);l=f[kb>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);l=f[lb>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);m=x+1|0}while(0);l=(i|0)==0;if(!((z|0)>1&l)){L=646;break}x=m;z=y;l=f[T>>2]|0}if((L|0)==490){L=0;c=x;i=7;break}else if((L|0)==509){L=0;Di(i);c=x;i=7;break}else if((L|0)==514){L=0;c=x;i=7;break}else if((L|0)==532){L=0;Di(i);c=x;i=7;break}else if((L|0)==646){L=0;if(!l){c=m;break}F=m;i=f[T>>2]|0;L=648;break}}else{F=0;L=648}while(0);do if((L|0)==648){L=0;if((F|0)==(i|0)){c=i;i=0;break}i=f[Sa>>2]|0;f[Fb>>2]=i;do if(!i){l=f[fb>>2]|0;f[Bb>>2]=f[eb>>2];f[Bb+4>>2]=l;l=wd(65443,Bb)|0;if(!l){i=7;l=0;L=686;break}i=Ki(f[Q>>2]|0,l,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{L=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}l=f[Fb>>2]|0;f[Sa>>2]=l;if(!i){i=l;L=657}else{l=0;L=686}}else L=657;while(0);q:do if((L|0)==657){L=0;r=i;do if(!(Op(r,1)|0)){l=f[r+116>>2]|0;m=l+8|0;if(!(d[m>>1]&9216)){K=l;f[K>>2]=N;f[K+4>>2]=M;d[m>>1]=4;break}else{bf(l,N,M);break}}while(0);r:do if((Ei(r)|0)==100){c=0;o=0;q=0;e=0;l=0;while(1){if((q|0)>=(o|0)){o=o+16|0;m=o<<2;if(Mc()|0){o=7;break r}m=Nc(e,(m|0)>0?m:0,0)|0;if(!m){o=7;break r}else{c=m;l=m;e=m}}K=Ip(r,0)|0;m=q+1|0;f[c+(q<<2)>>2]=K;if((Ei(r)|0)==100)q=m;else{q=m;o=0;break}}}else{q=0;o=0;c=0;l=0}while(0);do if(i){i=f[r>>2]|0;K=r+128|0;J=f[K+4>>2]|0;if((J|0)>0|(J|0)==0&(f[K>>2]|0)>>>0>0)Hi(i,r);m=fg(r)|0;f[r+20>>2]=770837923;f[r+36>>2]=-1;f[r+40>>2]=0;b[r+142>>0]=2;f[r+44>>2]=0;f[r+32>>2]=1;b[r+143>>0]=-1;f[r+48>>2]=0;K=r+64|0;f[K>>2]=0;f[K+4>>2]=0;if((m|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&m;break}}else i=0;while(0);i=(o|0)==0?i:o;if(i|0){L=686;break}i=f[bb>>2]|0;f[Fb>>2]=i;if(!i){m=f[fb>>2]|0;f[Cb>>2]=f[eb>>2];f[Cb+4>>2]=m;m=wd(65503,Cb)|0;if(!m){i=7;L=686;break}i=Ki(f[Q>>2]|0,m,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](m);else{K=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m)}m=f[Fb>>2]|0;f[bb>>2]=m;if(!i)i=m;else{L=686;break}}E=i;do if(!(Op(E,2)|0)){o=f[E+116>>2]|0;m=o+40|0;o=o+48|0;if(!(d[o>>1]&9216)){K=m;f[K>>2]=N;f[K+4>>2]=M;d[o>>1]=4;break}else{bf(m,N,M);break}}while(0);b[Va>>0]=1;if(!q){i=0;break}s=E+116|0;u=E+128|0;v=E+20|0;w=E+36|0;x=E+40|0;y=E+142|0;z=E+44|0;A=E+32|0;B=E+143|0;C=E+48|0;D=E+64|0;if(!i){r=0;s:while(1){i=f[c+(r<<2)>>2]|0;do if((i|0)==(r|0))i=0;else{m=((i|0)<0)<<31>>31;do if(!(Op(E,3)|0)){e=f[s>>2]|0;o=e+80|0;e=e+88|0;if(!(d[e>>1]&9216)){K=o;f[K>>2]=i;f[K+4>>2]=m;d[e>>1]=4;break}else{bf(o,i,m);break}}while(0);if(Op(E,1)|0){Ei(E)|0;i=0;break}i=f[s>>2]|0;m=i+8|0;if(!(d[m>>1]&9216)){K=i;f[K>>2]=r;f[K+4>>2]=0;d[m>>1]=4}else bf(i,r,0);Ei(E)|0;i=f[E>>2]|0;K=u;J=f[K+4>>2]|0;if((J|0)>0|(J|0)==0&(f[K>>2]|0)>>>0>0)Hi(i,E);m=fg(E)|0;f[v>>2]=770837923;f[w>>2]=-1;f[x>>2]=0;b[y>>0]=2;f[z>>2]=0;f[A>>2]=1;b[B>>0]=-1;f[C>>2]=0;K=D;f[K>>2]=0;f[K+4>>2]=0;if((m|0)==3082|(b[i+81>>0]|0)!=0)break s;i=f[i+68>>2]&m}while(0);r=r+1|0;if(!(r>>>0>>0&(i|0)==0))break q}Di(i);i=7;break}r=0;while(1){i=f[c+(r<<2)>>2]|0;if((i|0)==(r|0))i=0;else{m=((i|0)<0)<<31>>31;do if(!(Op(E,3)|0)){e=f[s>>2]|0;o=e+80|0;e=e+88|0;if(!(d[e>>1]&9216)){K=o;f[K>>2]=i;f[K+4>>2]=m;d[e>>1]=4;break}else{bf(o,i,m);break}}while(0);if(!(Op(E,1)|0)){i=f[s>>2]|0;m=i+8|0;if(!(d[m>>1]&9216)){K=i;f[K>>2]=r;f[K+4>>2]=0;d[m>>1]=4}else bf(i,r,0);Ei(E)|0}else Ei(E)|0;i=f[E>>2]|0;K=u;J=f[K+4>>2]|0;if((J|0)>0|(J|0)==0&(f[K>>2]|0)>>>0>0)Hi(i,E);m=fg(E)|0;f[v>>2]=770837923;f[w>>2]=-1;f[x>>2]=0;b[y>>0]=2;f[z>>2]=0;f[A>>2]=1;b[B>>0]=-1;f[C>>2]=0;K=D;f[K>>2]=0;f[K+4>>2]=0;if((m|0)==3082|(b[i+81>>0]|0)!=0)break;i=f[i+68>>2]&m}r=r+1|0;if(!(r>>>0>>0&(i|0)==0))break q}Di(i);i=7}while(0);if((L|0)==686){L=0;b[Va>>0]=1}b[Va>>0]=0;if(!l){c=F;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);c=F;break}else{c=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);c=F;break}}while(0);if(!c){u=G;s=p;r=1;break}k=n+20|0;if(i|0){m=G;k=1;l=p;L=739;break}if((p|0)<(k|0)){if(Mc()|0){m=G;k=1;i=7;l=p;L=739;break}i=Nc(g,(k|0)>0?k:0,0)|0;if(!i){m=G;k=1;i=7;l=p;L=739;break}else{g=i;p=k}}k=g+n|0;i=k;m=N;e=M;while(1){l=m&255;o=i+1|0;b[i>>0]=l|-128;m=VA(m|0,e|0,7)|0;e=ba()|0;if((m|0)==0&(e|0)==0)break;else i=o}b[i>>0]=l&127;n=o-k+n|0;o=g+n|0;i=o;l=c;m=((c|0)<0)<<31>>31;while(1){k=l&255;e=i+1|0;b[i>>0]=k|-128;l=VA(l|0,m|0,7)|0;m=ba()|0;if((l|0)==0&(m|0)==0)break;else i=e}b[i>>0]=k&127;m=G;k=1;i=0;n=n-o+e|0;l=p;L=738}while(0);if((L|0)==738){L=0;if(!c){u=m;s=l;r=1}else L=739}if((L|0)==739){L=0;r=ca;r=LA(0,0,f[r>>2]|0,f[r+4>>2]|0)|0;s=ba()|0;u=ca;f[u>>2]=r;f[u+4>>2]=s;u=m;s=l;r=0}m=15;while(1){if((f[Gb+56+(m<<5)+24>>2]|0)>0){L=751;break}l=f[Gb+56+(m<<5)+20>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);l=f[Gb+56+(m<<5)+8>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);if(!m)break;else m=m+-1|0}do if((L|0)==751){L=0;do if(m){if((m|0)>0)L=761}else{if(i|0){m=1;L=761;break}i=f[qa>>2]|0;if((f[pa>>2]|0)<11){if(Mc()|0){i=7;m=1;L=761;break}i=Nc(i,11,0)|0;if(!i){i=7;m=1;L=761;break}f[pa>>2]=11;f[qa>>2]=i}b[i>>0]=1;l=(f[qa>>2]|0)+1|0;p=la;i=l;o=f[p>>2]|0;p=f[p+4>>2]|0;while(1){m=o&255;e=i+1|0;b[i>>0]=m|-128;o=VA(o|0,p|0,7)|0;p=ba()|0;if((o|0)==0&(p|0)==0)break;else i=e}b[i>>0]=m&127;f[wa>>2]=1-l+e;i=0;m=1;L=761}while(0);if((L|0)==761){e=0;do{l=f[Gb+56+(e<<5)+24>>2]|0;o=Gb+56+(e<<5)+20|0;if((i|0)==0&(l|0)>0){i=Gb+56+(e<<5)|0;i=ot(a,f[i>>2]|0,f[i+4>>2]|0,f[o>>2]|0,l)|0}l=f[o>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{L=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);l=f[Gb+56+(e<<5)+8>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{L=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);e=e+1|0}while((e|0)!=(m|0))}if(!i){i=ra;i=KA(f[i>>2]|0,f[i+4>>2]|0,1,0)|0;l=ba()|0;o=ta;e=la;p=ua;if(!(b[oa>>0]|0)){q=ca;c=f[q>>2]|0;q=f[q+4>>2]|0}else{c=0;q=0}L=Gb+56+(m<<5)+20|0;i=qt(a,i,l,f[sa>>2]|0,f[o>>2]|0,f[o+4>>2]|0,f[e>>2]|0,f[e+4>>2]|0,f[p>>2]|0,f[p+4>>2]|0,c,q,f[L>>2]|0,f[Gb+56+(m<<5)+24>>2]|0)|0;l=L}else l=Gb+56+(m<<5)+20|0;l=f[l>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{L=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);l=f[Gb+56+(m<<5)+8>>2]|0;if(!l)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{L=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-L;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);if(!r){m=u;l=s;L=789;break}if(b[oa>>0]|0){m=u;l=s;L=789;break}L=KA(N|0,M|0,1,0)|0;l=ba()|0;m=ca;rt(a,L,l,f[m>>2]|0,f[m+4>>2]|0)|0;m=u;l=s;L=789}}else{m=K;l=p;L=789}}else{m=K;l=p;L=789}while(0);if((L|0)==789){L=0;q=m;p=l;m=f[T>>2]|0}l=f[hb>>2]|0;if((m|0)>0){c=0;do{e=f[l+(c<<2)>>2]|0;do if(e|0){do if(!(f[e+56>>2]|0)){l=f[e+64>>2]|0;if(!l)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);do if(!(b[e+5>>0]|0)){l=f[e+40>>2]|0;if(!l)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);l=f[e+52>>2]|0;t:do if(l|0){m=f[l+20>>2]|0;Fi(f[l+16>>2]|0)|0;do if(m|0){if(f[m+480>>2]|0){Kc(m,l);break t}o=l;if((f[m+304>>2]|0)>>>0>o>>>0)break;if((f[m+308>>2]|0)>>>0<=o>>>0)break;K=m+300|0;f[l>>2]=f[K>>2];f[K>>2]=l;break t}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{K=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);c=c+1|0;l=f[hb>>2]|0}while((c|0)<(f[T>>2]|0))}do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);l=f[W>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{K=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-K;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);f[T>>2]=0;f[hb>>2]=0;f[W>>2]=0;if((i|0)==0&(q|0)>0){K=q;l=n;o=N;e=M}else break}if((i|0)==0&(k|0)!=0){l=a+148|0;k=f[l>>2]|0;f[Fb>>2]=k;if(!k){k=f[a+20>>2]|0;f[Eb>>2]=f[a+16>>2];f[Eb+4>>2]=k;k=wd(65561,Eb)|0;if(!k){i=7;break}i=Ki(f[a+12>>2]|0,k,-1,129,0,Fb,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{a=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}k=f[Fb>>2]|0;f[l>>2]=k;if(i)break}m=k;do if(!(Op(m,1)|0)){i=f[m+116>>2]|0;l=i+8|0;if(!(d[l>>1]&9216)){Fb=i;f[Fb>>2]=1;f[Fb+4>>2]=0;d[l>>1]=4;break}else{bf(i,1,0);break}}while(0);if((g|0)==0|(Op(m,2)|0)!=0){Ei(m)|0;if(!k)i=0;else L=845}else{i=$e((f[m+116>>2]|0)+40|0,g,n,0,0)|0;if(i|0?(Hb=f[m>>2]|0,f[Hb+64>>2]=i,Bg(Hb,i),Hb=f[m>>2]|0,(i|0)==3082|(b[Hb+81>>0]|0)!=0):0)Di(Hb);Ei(m)|0;L=845}do if((L|0)==845){i=f[m>>2]|0;Hb=m+128|0;Fb=f[Hb+4>>2]|0;if((Fb|0)>0|(Fb|0)==0&(f[Hb>>2]|0)>>>0>0)Hi(i,m);k=fg(m)|0;f[m+20>>2]=770837923;f[m+36>>2]=-1;f[m+40>>2]=0;b[m+142>>0]=2;f[m+44>>2]=0;f[m+32>>2]=1;b[m+143>>0]=-1;f[m+48>>2]=0;Hb=m+64|0;f[Hb>>2]=0;f[Hb+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&k;break}}while(0);Op(m,2)|0}}}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](Gb);else{Hb=ib[f[37368>>2]&255](Gb)|0;f[18187]=(f[18187]|0)-Hb;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Gb)}if(!g){Hb=i;t=Ib;return Hb|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);Hb=i;t=Ib;return Hb|0}else{Hb=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Hb;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);Hb=i;t=Ib;return Hb|0}return 0}function iu(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=a+28|0;e=(f[l>>2]|0)!=0;m=a+16|0;c=m;d=f[c>>2]|0;c=f[c+4>>2]|0;if(e&((d|0)!=0|(c|0)!=0)){k=KA(d|0,c|0,1,0)|0;n=ba()|0;o=m;f[o>>2]=k;f[o+4>>2]=n}n=a+8|0;i=f[n>>2]|0;o=a+4|0;j=f[o>>2]|0;if((i|0)>=(j|0)){f[a>>2]=0;a=0;return a|0}g=f[a>>2]|0;if(e){e=g+i|0;d=b[e>>0]|0;c=d&255;if(c&128){k=b[e+1>>0]|0;c=k<<7|d&127;if(k&128){k=b[e+2>>0]|0;c=k<<14|c&16383;if(k&128){k=b[e+3>>0]|0;c=k<<21|c&2097151;if(!(k&128))d=4;else{c=(b[e+4>>0]&7)<<28|c&268435455;d=5}}else d=3}else d=2}else d=1;i=d+i|0;f[n>>2]=i}else c=0;h=g+i|0;d=b[h>>0]|0;e=d&255;if(e&128){k=b[h+1>>0]|0;d=k<<7|d&127;if(k&128){k=b[h+2>>0]|0;d=k<<14|d&16383;if(k&128){k=b[h+3>>0]|0;d=k<<21|d&2097151;if(!(k&128)){k=d;d=4}else{k=(b[h+4>>0]&7)<<28|d&268435455;d=5}}else{k=d;d=3}}else{k=d;d=2}}else{k=e;d=1}e=d+i|0;f[n>>2]=e;if((c|0)>(e|0)|(k|0)>(j-e|0)){a=267;return a|0}j=k+c|0;h=a+32|0;i=a+24|0;do if((f[h>>2]|0)<(j|0)){d=f[i>>2]|0;if(Mc()|0){a=7;return a|0}d=Nc(d,(j|0)>0?j:0,0)|0;if(!d){a=7;return a|0}else{f[h>>2]=j;f[i>>2]=d;g=f[a>>2]|0;e=f[n>>2]|0;break}}else d=f[i>>2]|0;while(0);YA(d+c|0,g+e|0,k|0)|0;f[l>>2]=j;h=(f[n>>2]|0)+k|0;f[n>>2]=h;if(!((f[m>>2]|0)==0&(f[m+4>>2]|0)==0)){a=0;return a|0}i=f[a>>2]|0;e=i+h|0;c=b[e>>0]|0;d=c&255;g=a+40|0;do if(d&128){m=b[e+1>>0]|0;d=m<<7|c&127;if(!(m&128)){f[g>>2]=d;c=2;break}m=b[e+2>>0]|0;d=m<<14|d&16383;if(!(m&128)){f[g>>2]=d;c=3;break}m=b[e+3>>0]|0;d=m<<21|d&2097151;if(!(m&128)){f[g>>2]=d;c=4;break}else{d=(b[e+4>>0]&7)<<28|d&268435455;f[g>>2]=d;c=5;break}}else{f[g>>2]=d;c=1}while(0);c=c+h|0;f[n>>2]=c;if(((f[o>>2]|0)-c|0)<(d|0)){a=267;return a|0}f[a+36>>2]=i+c;f[n>>2]=d+c;a=0;return a|0}function ju(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=c+4|0;k=f[m>>2]|0;j=c+8|0;i=f[c>>2]|0;do if((f[j>>2]|0)<(e|0)){if(Mc()|0){h=7;return h|0}i=Nc(i,(e|0)>0?e:0,0)|0;if(!i){h=7;return h|0}else{f[j>>2]=e;f[c>>2]=i;l=f[m>>2]|0;break}}else l=k;while(0);j=(k|0)==0;a:do if((l|0)>0){c=0;while(1){if((b[i+c>>0]|0)!=(b[d+c>>0]|0)){n=c;break a}c=c+1|0;if((c|0)>=(l|0)){n=c;break}}}else n=0;while(0);o=e-n|0;YA(i|0,d|0,e|0)|0;f[m>>2]=e;if(j){c=a+4|0;m=c;c=f[c>>2]|0}else{m=a+4|0;i=(f[a>>2]|0)+(f[m>>2]|0)|0;c=i;k=n;e=((n|0)<0)<<31>>31;while(1){j=k&255;l=c+1|0;b[c>>0]=j|-128;k=VA(k|0,e|0,7)|0;e=ba()|0;if((k|0)==0&(e|0)==0)break;else c=l}b[c>>0]=j&127;c=l-i+(f[m>>2]|0)|0;f[m>>2]=c}i=(f[a>>2]|0)+c|0;c=i;k=o;e=((o|0)<0)<<31>>31;while(1){j=k&255;l=c+1|0;b[c>>0]=j|-128;k=VA(k|0,e|0,7)|0;e=ba()|0;if((k|0)==0&(e|0)==0)break;else c=l}b[c>>0]=j&127;c=(f[m>>2]|0)+(l-i)|0;f[m>>2]=c;YA((f[a>>2]|0)+c|0,d+n|0,o|0)|0;c=(f[m>>2]|0)+o|0;f[m>>2]=c;if(!g){h=0;return h|0}i=(f[a>>2]|0)+c|0;c=i;k=h;e=((h|0)<0)<<31>>31;while(1){j=k&255;l=c+1|0;b[c>>0]=j|-128;k=VA(k|0,e|0,7)|0;e=ba()|0;if((k|0)==0&(e|0)==0)break;else c=l}b[c>>0]=j&127;d=(f[m>>2]|0)+(l-i)|0;f[m>>2]=d;YA((f[a>>2]|0)+d|0,g|0,h|0)|0;f[m>>2]=(f[m>>2]|0)+h;h=0;return h|0}function ku(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+64|0;y=A;z=A+48|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;w=(b[a>>0]|0)!=0;k=d+8|0;do if((f[k>>2]|0)<(c|0)){j=f[d>>2]|0;if(Mc()|0){z=7;t=A;return z|0}j=Nc(j,(c|0)>0?c:0,0)|0;if(!j){z=7;t=A;return z|0}else{f[k>>2]=c;f[d>>2]=j;break}}while(0);x=d+4|0;f[x>>2]=0;o=y+8|0;j=o;k=j+40|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[y>>2]=a;f[y+4>>2]=c;do if(!(b[a>>0]|0))j=1;else{m=a+1|0;n=y+16|0;j=b[m>>0]|0;k=j&255;if(!(k&128)){u=n;f[u>>2]=j&255;f[u+4>>2]=0;j=2;break}u=h[a+2>>0]|0;j=u<<7|k&127;if(!(u&128)){u=n;f[u>>2]=j;f[u+4>>2]=0;j=3;break}u=h[a+3>>0]|0;j=u<<14|j&16383;if(!(u&128)){u=n;f[u>>2]=j;f[u+4>>2]=0;j=4;break}u=h[a+4>>0]|0;j=u<<21|j&2097151;if(!(u&128)){u=n;f[u>>2]=j;f[u+4>>2]=0;j=5;break}c=28;l=a+5|0;j=j&268435455;k=0;do{u=l;l=l+1|0;u=h[u>>0]|0;s=WA(u&127|0,0,c|0)|0;j=KA(s|0,ba()|0,j|0,k|0)|0;k=ba()|0;c=c+7|0}while(c>>>0<64&((u&128|0)!=0|0!=0));u=n;f[u>>2]=j;f[u+4>>2]=k;j=1-m+l|0}while(0);f[o>>2]=j;j=iu(y)|0;a:do if((j|0)==0&(f[y>>2]|0)!=0){o=y+24|0;q=y+28|0;r=y+36|0;s=y+40|0;u=y+16|0;while(1){if(!(f[x>>2]|0)){m=f[q>>2]|0;n=Hz(f[o>>2]|0,e,(m|0)<(g|0)?m:g)|0;n=(n|0)==0?m-g|0:n;if(!((n|0)<0|w&(n|0)==0)){k=u;j=f[k>>2]|0;k=f[k+4>>2]|0;b[f[d>>2]>>0]=b[a>>0]|0;if((j|0)==0&(k|0)==0){k=0;c=0;j=1}else{n=(f[d>>2]|0)+1|0;l=n;while(1){c=j&255;m=l+1|0;b[l>>0]=c|-128;j=VA(j|0,k|0,7)|0;k=ba()|0;if((j|0)==0&(k|0)==0)break;else l=m}b[l>>0]=c&127;c=u;k=f[c>>2]|0;c=f[c+4>>2]|0;j=1-n+m|0}f[x>>2]=j;v=i;f[v>>2]=k;f[v+4>>2]=c;v=26}}else v=26;if((v|0)==26?(v=0,p=ju(d,z,f[o>>2]|0,f[q>>2]|0,f[r>>2]|0,f[s>>2]|0)|0,p|0):0)break a;j=iu(y)|0;if(!((j|0)==0&(f[y>>2]|0)!=0)){p=j;break}}}else p=j;while(0);if(!(f[x>>2]|0)){n=y+16|0;c=n;j=f[c>>2]|0;c=f[c+4>>2]|0;b[f[d>>2]>>0]=b[a>>0]|0;if((j|0)==0&(c|0)==0){k=0;c=0;j=1}else{o=(f[d>>2]|0)+1|0;l=o;while(1){k=j&255;m=l+1|0;b[l>>0]=k|-128;j=VA(j|0,c|0,7)|0;c=ba()|0;if((j|0)==0&(c|0)==0)break;else l=m}b[l>>0]=k&127;c=n;k=f[c>>2]|0;c=f[c+4>>2]|0;j=1-o+m|0}f[x>>2]=j;f[i>>2]=k;f[i+4>>2]=c}j=f[y+24>>2]|0;do if(j|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{y=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}while(0);j=f[z>>2]|0;if(!j){z=p;t=A;return z|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);z=p;t=A;return z|0}else{z=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);z=p;t=A;return z|0}return 0}function lu(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=t;t=t+48|0;j=l+32|0;i=l+24|0;h=l+16|0;g=l+8|0;d=l;k=l+40|0;ht(a);do if(c|0){e=a+64|0;c=f[e>>2]|0;f[k>>2]=c;if(!c){c=f[a+20>>2]|0;f[d>>2]=f[a+16>>2];f[d+4>>2]=c;c=wd(65879,d)|0;if(!c){k=7;t=l;return k|0}d=Ki(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ei(e)|0;if(c|0){c=f[e>>2]|0;m=e+128|0;d=f[m+4>>2]|0;if((d|0)>0|(d|0)==0&(f[m>>2]|0)>>>0>0)Hi(c,e);d=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;m=e+64|0;f[m>>2]=0;f[m+4>>2]=0;if((d|0)==3082|(b[c+81>>0]|0)!=0){Di(c);m=7;t=l;return m|0}else{c=f[c+68>>2]&d;if(!c)break;t=l;return c|0}}}while(0);e=a+68|0;c=f[e>>2]|0;f[k>>2]=c;if(!c){c=f[a+20>>2]|0;f[g>>2]=f[a+16>>2];f[g+4>>2]=c;c=wd(65907,g)|0;if(!c){m=7;t=l;return m|0}d=Ki(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ei(e)|0;do if(c|0){d=f[e>>2]|0;m=e+128|0;g=f[m+4>>2]|0;if((g|0)>0|(g|0)==0&(f[m>>2]|0)>>>0>0)Hi(d,e);c=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;m=e+64|0;f[m>>2]=0;f[m+4>>2]=0;if((c|0)==3082|(b[d+81>>0]|0)!=0){Di(d);m=7;t=l;return m|0}else{c=f[d+68>>2]&c;if(!c)break;t=l;return c|0}}while(0);e=a+72|0;c=f[e>>2]|0;f[k>>2]=c;if(!c){c=f[a+20>>2]|0;f[h>>2]=f[a+16>>2];f[h+4>>2]=c;c=wd(65936,h)|0;if(!c){m=7;t=l;return m|0}d=Ki(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ei(e)|0;do if(!c)c=0;else{c=f[e>>2]|0;m=e+128|0;h=f[m+4>>2]|0;if((h|0)>0|(h|0)==0&(f[m>>2]|0)>>>0>0)Hi(c,e);d=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;m=e+64|0;f[m>>2]=0;f[m+4>>2]=0;if(!((d|0)==3082|(b[c+81>>0]|0)!=0)){c=f[c+68>>2]&d;break}Di(c);m=7;t=l;return m|0}while(0);do if((c|0)==0&(b[a+234>>0]|0)!=0){e=a+76|0;c=f[e>>2]|0;f[k>>2]=c;if(!c){c=f[a+20>>2]|0;f[i>>2]=f[a+16>>2];f[i+4>>2]=c;c=wd(65963,i)|0;if(!c){m=7;t=l;return m|0}d=Ki(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ei(e)|0;if(!c)c=0;else{c=f[e>>2]|0;m=e+128|0;i=f[m+4>>2]|0;if((i|0)>0|(i|0)==0&(f[m>>2]|0)>>>0>0)Hi(c,e);d=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;m=e+64|0;f[m>>2]=0;f[m+4>>2]=0;if(!((d|0)==3082|(b[c+81>>0]|0)!=0)){c=f[c+68>>2]&d;break}Di(c);m=7;t=l;return m|0}}while(0);if(!((c|0)==0&(b[a+233>>0]|0)!=0)){m=c;t=l;return m|0}e=a+80|0;c=f[e>>2]|0;f[k>>2]=c;if(!c){c=f[a+20>>2]|0;f[j>>2]=f[a+16>>2];f[j+4>>2]=c;c=wd(65991,j)|0;if(!c){m=7;t=l;return m|0}d=Ki(f[a+12>>2]|0,c,-1,129,0,k,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{m=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}c=f[k>>2]|0;f[e>>2]=c;if(d){m=d;t=l;return m|0}}e=c;Ei(e)|0;if(!c){m=0;t=l;return m|0}c=f[e>>2]|0;m=e+128|0;k=f[m+4>>2]|0;if((k|0)>0|(k|0)==0&(f[m>>2]|0)>>>0>0)Hi(c,e);d=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;m=e+64|0;f[m>>2]=0;f[m+4>>2]=0;if((d|0)==3082|(b[c+81>>0]|0)!=0){Di(c);m=7;t=l;return m|0}else{m=f[c+68>>2]&d;t=l;return m|0}return 0}function mu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=t;t=t+32|0;i=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;m=s;f[n>>2]=0;f[o>>2]=0;f[p>>2]=0;f[m>>2]=0;g=f[a+36>>2]|0;r=f[g>>2]|0;if(!c){f[e>>2]=0;e=0;t=s;return e|0}f[i>>2]=0;c=lb[f[r+12>>2]&127](g,c,-1,i)|0;do if(!c){f[f[i>>2]>>2]=g;if((f[r>>2]|0)>0?(h=jb[f[r+24>>2]&255](f[i>>2]|0,b)|0,h|0):0){ib[f[r+16>>2]&255](f[i>>2]|0)|0;f[i>>2]=0;c=h;break}l=f[i>>2]|0;i=f[r+20>>2]|0;j=a+256|0;k=a+252|0;c=nb[i&127](l,q,m,n,o,p)|0;a:do if(!c){b=0;do{h=f[p>>2]|0;b=(h|0)<(b|0)?b:h+1|0;c=f[q>>2]|0;g=f[m>>2]|0;if((h|0)<0|(c|0)==0|(g|0)<1){c=1;break a}c=su(a,d,h,(f[j>>2]|0)+4|0,c,g)|0;if(c|0)break a;h=1;while(1){if((h|0)>=(f[k>>2]|0))break;c=f[j>>2]|0;g=f[c+(h*24|0)>>2]|0;if((f[m>>2]|0)<(g|0))c=0;else c=su(a,d,f[p>>2]|0,c+(h*24|0)+4|0,f[q>>2]|0,g)|0;if(!c)h=h+1|0;else break a}c=nb[i&127](l,q,m,n,o,p)|0}while((c|0)==0)}else b=0;while(0);ib[f[r+16>>2]&255](l)|0;f[e>>2]=(f[e>>2]|0)+b;e=(c|0)==101?0:c;t=s;return e|0}while(0);e=c;t=s;return e|0}function nu(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+16|0;p=u;q=u+8|0;if(f[a>>2]|0){t=u;return}g=c+24|0;r=Fd((f[g>>2]|0)*10|0)|0;a:do if(r){o=f[g>>2]|0;if((o|0)>0){n=0;g=0;do{i=r+g|0;h=i;k=f[e+(n<<2)>>2]|0;m=0;while(1){j=k&255;l=h+1|0;b[h>>0]=j|-128;k=VA(k|0,m|0,7)|0;m=ba()|0;if((k|0)==0&(m|0)==0)break;else h=l}b[h>>0]=j&127;g=g-i+l|0;n=n+1|0}while((n|0)!=(o|0));m=g}else m=0;i=c+136|0;h=f[i>>2]|0;f[q>>2]=h;do if(!h){h=f[c+20>>2]|0;f[p>>2]=f[c+16>>2];f[p+4>>2]=h;h=wd(66136,p)|0;if(h){g=Ki(f[c+12>>2]|0,h,-1,129,0,q,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](h);else{p=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h)}h=f[q>>2]|0;f[i>>2]=h;if(!g)break}else g=7;if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break a}else{s=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break a}}while(0);l=h;i=c+272|0;g=f[i>>2]|0;i=f[i+4>>2]|0;do if(!(Op(l,1)|0)){j=f[l+116>>2]|0;k=j+8|0;if(!(d[k>>1]&9216)){c=j;f[c>>2]=g;f[c+4>>2]=i;d[k>>1]=4;break}else{bf(j,g,i);break}}while(0);if(Op(l,2)|0){do if(101!=-1)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{s=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);Ei(l)|0;if(!h){g=0;break}}else{g=$e((f[l+116>>2]|0)+40|0,r,m,0,101)|0;if(g|0?(s=f[l>>2]|0,f[s+64>>2]=g,Bg(s,g),s=f[l>>2]|0,(g|0)==3082|(b[s+81>>0]|0)!=0):0)Di(s);Ei(l)|0}g=f[l>>2]|0;s=l+128|0;r=f[s+4>>2]|0;if((r|0)>0|(r|0)==0&(f[s>>2]|0)>>>0>0)Hi(g,l);h=fg(l)|0;f[l+20>>2]=770837923;f[l+36>>2]=-1;f[l+40>>2]=0;b[l+142>>0]=2;f[l+44>>2]=0;f[l+32>>2]=1;b[l+143>>0]=-1;f[l+48>>2]=0;s=l+64|0;f[s>>2]=0;f[s+4>>2]=0;if((h|0)==3082|(b[g+81>>0]|0)!=0){Di(g);g=7;break}else{g=f[g+68>>2]&h;break}}else g=7;while(0);f[a>>2]=g;t=u;return}function ou(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;D=t;t=t+32|0;x=D+8|0;k=D;y=D+16|0;u=c+24|0;v=f[u>>2]|0;w=v+2|0;if(f[a>>2]|0){t=D;return}C=Fd(w*14|0)|0;if(!C){f[a>>2]=7;t=D;return}z=C+(w<<2)|0;l=c+144|0;j=f[l>>2]|0;f[y>>2]=j;do if(!j){s=f[c+20>>2]|0;f[k>>2]=f[c+16>>2];f[k+4>>2]=s;k=wd(63474,k)|0;if(k){j=Ki(f[c+12>>2]|0,k,-1,129,0,y,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{s=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}k=f[y>>2]|0;f[l>>2]=k;if(!j){j=k;break}}else j=7;if(!(f[9328]|0))ob[f[37360>>2]&127](C);else{B=ib[f[37368>>2]&255](C)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](C)}f[a>>2]=j;t=D;return}while(0);s=j;do if(!(Op(s,1)|0)){k=f[s+116>>2]|0;l=k+8|0;if(!(d[l>>1]&9216)){r=k;f[r>>2]=0;f[r+4>>2]=0;d[l>>1]=4;break}else{bf(k,0,0);break}}while(0);if((Ei(s)|0)==100){if(!j)n=lf(37592)|0;else{k=f[s+104>>2]|0;if((k|0)!=0?(d[s+140>>1]|0)!=0:0)l=s;else{k=f[s>>2]|0;f[k+64>>2]=25;Bg(k,25);k=37592;l=s}n=lf(k)|0;k=f[l>>2]|0;m=s+40|0;l=f[m>>2]|0;if((l|0)==3082|(b[k+81>>0]|0)!=0){Di(k);k=7}else k=f[k+68>>2]&l;f[m>>2]=k}Gp(s,0)|0;if((v|0)>-2){q=0;r=0;while(1){p=n+r|0;k=h[p>>0]|0;if(k&128){o=h[p+1>>0]|0;k=o<<7|k&127;if(o&128){o=h[p+2>>0]|0;k=o<<14|k&16383;if(o&128){o=h[p+3>>0]|0;k=o<<21|k&2097151;if(!(o&128))l=4;else{m=28;o=p+4|0;k=k&268435455;l=0;do{E=o;o=o+1|0;E=h[E>>0]|0;F=WA(E&127|0,0,m|0)|0;k=KA(F|0,ba()|0,k|0,l|0)|0;l=ba()|0;m=m+7|0}while(m>>>0<64&((E&128|0)!=0|0!=0));l=o-p|0}}else l=3}else l=2}else l=1;f[C+(q<<2)>>2]=k;q=q+1|0;if((q|0)==(w|0))break;else r=l+r|0}}}else _A(C|0,0,w<<2|0)|0;do if(j|0){j=f[s>>2]|0;F=s+128|0;E=f[F+4>>2]|0;if((E|0)>0|(E|0)==0&(f[F>>2]|0)>>>0>0)Hi(j,s);k=fg(s)|0;f[s+20>>2]=770837923;f[s+36>>2]=-1;f[s+40>>2]=0;b[s+142>>0]=2;f[s+44>>2]=0;f[s+32>>2]=1;b[s+143>>0]=-1;f[s+48>>2]=0;F=s+64|0;f[F>>2]=0;f[F+4>>2]=0;if(!((k|0)==3082|(b[j+81>>0]|0)!=0)){j=f[j+68>>2]&k;if(!j)break}else{Di(j);j=7}if(!(f[9328]|0))ob[f[37360>>2]&127](C);else{F=ib[f[37368>>2]&255](C)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](C)}f[a>>2]=j;t=D;return}while(0);k=f[C>>2]|0;k=(i|0)<0&k>>>0<(0-i|0)>>>0?0:k+i|0;f[C>>2]=k;if((f[u>>2]|0)>=0){j=0;do{F=j;j=j+1|0;E=C+(j<<2)|0;s=(f[e+(F<<2)>>2]|0)+(f[E>>2]|0)|0;i=f[g+(F<<2)>>2]|0;f[E>>2]=s>>>0>>0?0:s-i|0}while((F|0)<(f[u>>2]|0))}a:do if((v|0)>-2){q=0;j=0;while(1){p=z+j|0;o=p;n=0;while(1){l=k&255;m=o+1|0;b[o>>0]=l|-128;k=VA(k|0,n|0,7)|0;n=ba()|0;if((k|0)==0&(n|0)==0)break;else o=m}b[o>>0]=l&127;j=j-p+m|0;k=q+1|0;if((k|0)==(w|0)){n=j;break a}q=k;k=f[C+(k<<2)>>2]|0}}else n=0;while(0);l=c+148|0;k=f[l>>2]|0;f[y>>2]=k;do if(!k){k=f[c+20>>2]|0;f[x>>2]=f[c+16>>2];f[x+4>>2]=k;k=wd(65561,x)|0;if(k){j=Ki(f[c+12>>2]|0,k,-1,129,0,y,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{F=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}k=f[y>>2]|0;f[l>>2]=k;if(!j)break}else j=7;if(!(f[9328]|0))ob[f[37360>>2]&127](C);else{F=ib[f[37368>>2]&255](C)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](C)}f[a>>2]=j;t=D;return}while(0);m=k;do if(!(Op(m,1)|0)){j=f[m+116>>2]|0;l=j+8|0;if(!(d[l>>1]&9216)){F=j;f[F>>2]=0;f[F+4>>2]=0;d[l>>1]=4;break}else{bf(j,0,0);break}}while(0);if((z|0)==0|(Op(m,2)|0)!=0){Ei(m)|0;if(!k)j=0;else B=83}else{j=$e((f[m+116>>2]|0)+40|0,z,n,0,0)|0;if(j|0?(A=f[m>>2]|0,f[A+64>>2]=j,Bg(A,j),A=f[m>>2]|0,(j|0)==3082|(b[A+81>>0]|0)!=0):0)Di(A);Ei(m)|0;B=83}do if((B|0)==83){j=f[m>>2]|0;F=m+128|0;E=f[F+4>>2]|0;if((E|0)>0|(E|0)==0&(f[F>>2]|0)>>>0>0)Hi(j,m);k=fg(m)|0;f[m+20>>2]=770837923;f[m+36>>2]=-1;f[m+40>>2]=0;b[m+142>>0]=2;f[m+44>>2]=0;f[m+32>>2]=1;b[m+143>>0]=-1;f[m+48>>2]=0;F=m+64|0;f[F>>2]=0;f[F+4>>2]=0;if((k|0)==3082|(b[j+81>>0]|0)!=0){Di(j);j=7;break}else{j=f[j+68>>2]&k;break}}while(0);f[a>>2]=j;Op(m,2)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](C);t=D;return}else{F=ib[f[37368>>2]&255](C)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](C);t=D;return}}function pu(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;y=t;t=t+16|0;x=y+8|0;u=y;w=y+4|0;f[w>>2]=c;f[x>>2]=c;h=ru(a,7,u,x)|0;s=f[u>>2]|0;a:do if(!h){b:do if((Ei(s)|0)==100){if(!(f[a+44>>2]|0))r=0;else r=Ip(s,(f[a+24>>2]|0)+1|0)|0;i=Jp(s,0)|0;k=ba()|0;l=a+272|0;h=l;c=f[h>>2]|0;h=f[h+4>>2]|0;do if(!((h|0)>(k|0)|(h|0)==(k|0)&c>>>0>i>>>0)){if((c|0)==(i|0)&(h|0)==(k|0)?(f[a+284>>2]|0)==0:0){v=10;break}c=a+280|0;if((f[c>>2]|0)==(r|0)?(f[a+264>>2]|0)<=(f[a+260>>2]|0):0)v=12;else v=10}else v=10;while(0);if((v|0)==10){c=it(a)|0;if(!c){c=a+280|0;v=12}}if((v|0)==12){q=l;f[q>>2]=i;f[q+4>>2]=k;f[c>>2]=r;f[a+284>>2]=1;q=a+24|0;p=a+32|0;m=s+104|0;n=s+140|0;o=s+40|0;if(!s){c=f[q>>2]|0;if((c|0)<1){h=0;c=1;break a}k=f[p>>2]|0;i=1;while(1){h=i+-1|0;if(!(b[k+h>>0]|0)){f[g+(h<<2)>>2]=0;c=f[q>>2]|0}if((i|0)<(c|0))i=i+1|0;else{c=1;break b}}}l=1;while(1){if((l|0)>(f[q>>2]|0)){c=1;break b}k=l+-1|0;if(!(b[(f[p>>2]|0)+k>>0]|0)){c=f[m>>2]|0;if((c|0)!=0?l>>>0<(j[n>>1]|0)>>>0:0)c=c+(l*40|0)|0;else{c=f[s>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}h=d[c+8>>1]|0;if((h&514)==514?(b[c+10>>0]|0)==1:0)i=f[c+16>>2]|0;else if(!(h&1))i=Ic(c,1)|0;else i=0;c=f[s>>2]|0;h=f[o>>2]|0;if((h|0)==3082|(b[c+81>>0]|0)!=0){Di(c);c=7}else c=f[c+68>>2]&h;f[o>>2]=c;c=mu(a,r,i,-1,g+(k<<2)|0)|0;i=Gp(s,l)|0;k=g+(f[q>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+i}else c=0;if(!c)l=l+1|0;else break}}if(!s){h=c;c=0;break a}h=f[s>>2]|0;r=s+128|0;q=f[r+4>>2]|0;if((q|0)>0|(q|0)==0&(f[r>>2]|0)>>>0>0)Hi(h,s);r=fg(s)|0;f[s+20>>2]=770837923;f[s+36>>2]=-1;f[s+40>>2]=0;b[s+142>>0]=2;f[s+44>>2]=0;f[s+32>>2]=1;b[s+143>>0]=-1;f[s+48>>2]=0;s=s+64|0;f[s>>2]=0;f[s+4>>2]=0;if(!((r|0)==3082|(b[h+81>>0]|0)!=0)){h=c;c=0;break a}Di(h);h=c;c=0;break a}else c=0;while(0);if(s){h=f[s>>2]|0;r=s+128|0;q=f[r+4>>2]|0;if((q|0)>0|(q|0)==0&(f[r>>2]|0)>>>0>0)Hi(h,s);i=fg(s)|0;f[s+20>>2]=770837923;f[s+36>>2]=-1;f[s+40>>2]=0;b[s+142>>0]=2;f[s+44>>2]=0;f[s+32>>2]=1;b[s+143>>0]=-1;f[s+48>>2]=0;s=s+64|0;f[s>>2]=0;f[s+4>>2]=0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Di(h);h=7;break}else{h=f[h+68>>2]&i;break}}else h=0}else if(s){c=f[s>>2]|0;r=s+128|0;q=f[r+4>>2]|0;if((q|0)>0|(q|0)==0&(f[r>>2]|0)>>>0>0)Hi(c,s);r=fg(s)|0;f[s+20>>2]=770837923;f[s+36>>2]=-1;f[s+40>>2]=0;b[s+142>>0]=2;f[s+44>>2]=0;f[s+32>>2]=1;b[s+143>>0]=-1;f[s+48>>2]=0;s=s+64|0;f[s>>2]=0;f[s+4>>2]=0;if((r|0)==3082|(b[c+81>>0]|0)!=0){Di(c);c=0}else c=0}else c=0;while(0);if(!((h|0)==0&(c|0)!=0)){x=h;t=y;return x|0}f[x>>2]=f[w>>2];l=a+40|0;c:do if(!(f[l>>2]|0)){c=ru(a,1,u,x)|0;do if(!c){c=f[u>>2]|0;if((Ei(c)|0)==100)k=Ip(c,0)|0;else k=0;if(!c){c=k;v=61;break c}h=f[c>>2]|0;u=c+128|0;s=f[u+4>>2]|0;if((s|0)>0|(s|0)==0&(f[u>>2]|0)>>>0>0)Hi(h,c);i=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;u=c+64|0;f[u>>2]=0;f[u+4>>2]=0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Di(h);c=7;break}c=f[h+68>>2]&i;if(!c){c=k;break c}t=y;return c|0}while(0);x=c;t=y;return x|0}else{c=0;v=61}while(0);if(c|0){x=lu(a,1)|0;f[e>>2]=0;_A(g|0,0,(f[a+24>>2]<<3)+8|0)|0;t=y;return x|0}f[e>>2]=(f[e>>2]|0)+-1;if(!(f[l>>2]|0)){c=ru(a,0,x,w)|0;do if(!c){c=f[x>>2]|0;Ei(c)|0;if(c){h=f[c>>2]|0;g=c+128|0;e=f[g+4>>2]|0;if((e|0)>0|(e|0)==0&(f[g>>2]|0)>>>0>0)Hi(h,c);i=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;g=c+64|0;f[g>>2]=0;f[g+4>>2]=0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Di(h);c=7;break}else{c=f[h+68>>2]&i;break}}else c=0}while(0)}else c=0;if(!(b[a+234>>0]|0)){x=c;t=y;return x|0}do if(!c){c=ru(a,19,x,w)|0;if(!c){c=f[x>>2]|0;Ei(c)|0;if(c){h=f[c>>2]|0;x=c+128|0;w=f[x+4>>2]|0;if((w|0)>0|(w|0)==0&(f[x>>2]|0)>>>0>0)Hi(h,c);i=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;x=c+64|0;f[x>>2]=0;f[x+4>>2]=0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Di(h);c=7;break}else{c=f[h+68>>2]&i;break}}else c=0}}while(0);x=c;t=y;return x|0}function qu(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;s=t;t=t+16|0;q=s;if(f[a+40>>2]|0){i=f[c+((f[a+24>>2]|0)+3<<2)>>2]|0;g=d[i+8>>1]|0;h=g&31;if(-1431655766>>>h&1){i=f[c+4>>2]|0;g=d[i+8>>1]|0;h=g&31}if(!(1347440720>>>h&1)){e=19;t=s;return e|0}g=g&65535;do if(!(g&4)){if(g&8|0){g=Fc(+p[i>>3])|0;h=ba()|0;break}if(!(g&18)){g=0;h=0}else{g=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;h=ba()|0}}else{h=i;g=f[h>>2]|0;h=f[h+4>>2]|0}while(0);f[e>>2]=g;f[e+4>>2]=h;e=0;t=s;return e|0}r=c+4|0;g=ru(a,18,q,r)|0;if(g|0){e=g;t=s;return e|0}do if(f[a+44>>2]|0){m=f[q>>2]|0;g=a+24|0;n=f[g>>2]|0;k=n+2|0;h=f[c+(n+4<<2)>>2]|0;i=j[h+8>>1]|0;do if(!(i&4)){if(i&8|0){l=Fc(+p[h>>3])|0;ba()|0;break}if(!(i&18))l=0;else{l=Gc(b[h+10>>0]|0,f[h+12>>2]|0,f[h+16>>2]|0)|0;ba()|0}}else l=f[h>>2]|0;while(0);o=((l|0)<0)<<31>>31;h=Op(m,k)|0;if(h|0){e=h;t=s;return e|0}m=f[m+116>>2]|0;i=n+1|0;h=m+(i*40|0)|0;i=m+(i*40|0)+8|0;if(!(d[i>>1]&9216)){n=h;f[n>>2]=l;f[n+4>>2]=o;d[i>>1]=4;break}else{bf(h,l,o);break}}else g=a+24|0;while(0);g=f[c+((f[g>>2]|0)+3<<2)>>2]|0;if(!(-1431655766>>>(d[g+8>>1]&31)&1)){if(-1431655766>>>(d[(f[c>>2]|0)+8>>1]&31)&1|0?(-1431655766>>>(d[(f[r>>2]|0)+8>>1]&31)&1|0)==0:0){e=1;t=s;return e|0}h=f[q>>2]|0;g=Tp(h,1,g)|0;if(g){e=g;t=s;return e|0}}else h=f[q>>2]|0;Ei(h)|0;do if(h){g=f[h>>2]|0;c=h+128|0;r=f[c+4>>2]|0;if((r|0)>0|(r|0)==0&(f[c>>2]|0)>>>0>0)Hi(g,h);i=fg(h)|0;f[h+20>>2]=770837923;f[h+36>>2]=-1;f[h+40>>2]=0;b[h+142>>0]=2;f[h+44>>2]=0;f[h+32>>2]=1;b[h+143>>0]=-1;f[h+48>>2]=0;c=h+64|0;f[c>>2]=0;f[c+4>>2]=0;if((i|0)==3082|(b[g+81>>0]|0)!=0){Di(g);g=7;break}else{g=f[g+68>>2]&i;break}}else g=0;while(0);c=(f[a+12>>2]|0)+40|0;a=f[c+4>>2]|0;f[e>>2]=f[c>>2];f[e+4>>2]=a;e=g;t=s;return e|0}function ru(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+48|0;k=n+24|0;h=n+16|0;g=n;l=n+32|0;m=a+56+(b<<2)|0;i=f[m>>2]|0;f[l>>2]=i;j=i;if(!i){do if((b|0)!=18){g=f[24336+(b<<2)>>2]|0;if((b|0)==7){f[h>>2]=f[a+220>>2];b=wd(g,h)|0;break}else{b=f[a+20>>2]|0;f[k>>2]=f[a+16>>2];f[k+4>>2]=b;b=wd(g,k)|0;break}}else{k=f[a+20>>2]|0;b=f[a+224>>2]|0;f[g>>2]=f[a+16>>2];f[g+4>>2]=k;f[g+8>>2]=b;b=wd(65728,g)|0}while(0);if(!b){g=7;i=0}else{g=Ki(f[a+12>>2]|0,b,-1,129,0,l,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](b);else{a=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b)}j=f[l>>2]|0;f[m>>2]=j;i=j}}else g=0;if((e|0)==0|(i|0)==0){e=g;f[c>>2]=j;t=n;return e|0}m=d[i+16>>1]|0;h=m<<16>>16;if(!(m<<16>>16>0&(g|0)==0)){e=g;f[c>>2]=j;t=n;return e|0}b=0;do{g=b;b=b+1|0;g=Tp(i,b,f[e+(g<<2)>>2]|0)|0}while((b|0)<(h|0)&(g|0)==0);f[c>>2]=j;t=n;return g|0}function su(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=t;t=t+16|0;p=r+4|0;q=r;f[q>>2]=0;a:do if((((e|0)!=0?(m=e+16|0,(f[m>>2]|0)!=0):0)?(k=jb[(b[e>>0]<<24>>24==1?171:172)&255](g,h)|0,k=(f[e+12>>2]|0)+-1&k,l=f[m>>2]|0,(l|0)!=0):0)?(j=f[l+(k<<3)>>2]|0,n=(b[e>>0]|0)==1?87:88,i=f[l+(k<<3)+4>>2]|0,(j|0)!=0&(i|0)!=0):0){while(1){j=j+-1|0;if(!(lb[n&127](f[i+12>>2]|0,f[i+16>>2]|0,g,h)|0))break;i=f[i>>2]|0;if(!((j|0)!=0&(i|0)!=0)){o=8;break a}}i=f[i+8>>2]|0;f[p>>2]=i;if(!i)i=p;else{n=a+264|0;f[n>>2]=-20-h-(f[i>>2]|0)+(f[n>>2]|0);i=p}}else o=8;while(0);if((o|0)==8){f[p>>2]=0;i=p}o=a+272|0;if(Rt(p,f[o>>2]|0,f[o+4>>2]|0,c,((c|0)<0)<<31>>31,d,((d|0)<0)<<31>>31,q)|0?(o=f[p>>2]|0,(o|0)==(Fq(e,g,h,o)|0)):0){i=f[i>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{p=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[q>>2]=7;q=7;t=r;return q|0}i=f[q>>2]|0;if(i|0){q=i;t=r;return q|0}q=a+264|0;f[q>>2]=h+20+(f[f[p>>2]>>2]|0)+(f[q>>2]|0);q=0;t=r;return q|0}function tu(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;e=a+8|0;if(b[e>>0]|0){c=(f[a>>2]|0)+216|0;if(!(f[c>>2]|0)){g=a+12|0;d=f[g>>2]|0;f[c>>2]=d;c=d;if(d|0){d=f[c>>2]|0;h=c+128|0;i=f[h+4>>2]|0;if((i|0)>0|(i|0)==0&(f[h>>2]|0)>>>0>0)Hi(d,c);i=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;h=c+64|0;f[h>>2]=0;f[h+4>>2]=0;if((i|0)==3082|(b[d+81>>0]|0)!=0)Di(d)}f[g>>2]=0}b[e>>0]=0}Fi(f[a+12>>2]|0)|0;g=a+28|0;c=f[g>>2]|0;if(c|0)do{d=c;c=f[c+8>>2]|0;e=f[d+12>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](d);else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d)}}while((c|0)!=0);f[g>>2]=0;c=f[a+44>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[a+92>>2]|0;do if((c|0?(b[c>>0]=0,(b[c+1>>0]|0)==0):0)?(b[c+2>>0]|0)==0:0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{i=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);uu(f[a+16>>2]|0);c=a+4|0;d=c+92|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));return}function uu(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;if(!a)return;while(1){b=f[a+12>>2]|0;if(!b){b=f[a+16>>2]|0;if(!b)break;else a=b}else a=b}do{g=f[a+8>>2]|0;e=f[a+20>>2]|0;if(e|0){b=f[e>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{d=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);do if(f[e+24>>2]|0?(h=f[e+28>>2]|0,h|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{d=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);d=e+64|0;b=e;c=b+40|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));if((f[d>>2]|0)>0){b=0;do{c=e+72+(b*24|0)+20|0;du(f[c>>2]|0);f[c>>2]=0;b=b+1|0}while((b|0)<(f[d>>2]|0))}}b=f[a+40>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{e=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](a);else{e=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a)}a:do if(g)if((a|0)==(f[g+12>>2]|0)?(i=f[g+16>>2]|0,(i|0)!=0):0){a=i;while(1){b=f[a+12>>2]|0;if(!b){b=f[a+16>>2]|0;if(!b)break a;else a=b}else a=b}}else a=g;else a=0;while(0)}while((a|0)!=0);return}function vu(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=t;t=t+32|0;R=W+20|0;S=W+16|0;T=W+12|0;U=W+8|0;V=W+4|0;F=W;G=a+24|0;I=a+20|0;J=a+16|0;K=a+32|0;L=a+8|0;M=a+4|0;N=a+12|0;m=0;j=d;l=1;E=c;c=0;a:while(1){f[F>>2]=0;f[G>>2]=0;b:do if((j|0)>0){n=j;k=E;while(1){switch(b[k>>0]|0){case 12:case 11:case 13:case 10:case 9:case 32:break;default:{D=k;break b}}i=n+-1|0;k=k+1|0;if((n|0)>1)n=i;else{x=6;break b}}}else{i=j;k=E;x=6}while(0);if((x|0)==6){x=0;if(!i){k=101;i=0;x=171;break}else{n=i;D=k}}i=D+4|0;k=D+5|0;c:do if((n|0)<2)x=187;else{if(!(Hz(D,66361,2)|0))switch(b[D+2>>0]|0){case 0:case 34:case 40:case 41:case 12:case 11:case 13:case 10:case 9:case 32:{i=0;q=2;o=10;break}default:x=25}else x=25;d:do if((x|0)==25){x=0;if((n|0)<3){x=187;break c}if(!(Hz(D,66364,3)|0))switch(b[D+3>>0]|0){case 0:case 34:case 40:case 41:case 12:case 11:case 13:case 10:case 9:case 32:{i=1;q=3;o=10;break d}default:{}}if(!(Hz(D,66368,3)|0))switch(b[D+3>>0]|0){case 0:case 34:case 40:case 41:case 12:case 11:case 13:case 10:case 9:case 32:{i=2;q=3;o=10;break d}default:{}}if((n|0)<4){x=187;break c}if(Hz(D,66372,4)|0){x=187;break c}i=b[i>>0]|0;if(i<<24>>24==47){i=b[k>>0]|0;if((i+-48&255)>=10){x=187;break c}k=5;o=0;do{o=(o*10|0)+-48+(i<<24>>24)|0;k=k+1|0;i=b[D+k>>0]|0}while((i+-48&255)<10)}else{k=4;o=10}switch(i<<24>>24){case 0:case 34:case 40:case 41:case 12:case 11:case 13:case 10:case 9:case 32:{i=3;q=k;break}default:{x=187;break c}}}while(0);p=24496+(i<<3)+6|0;if(Mc()|0){k=7;i=0;x=171;break a}if(!(f[9328]|0)){n=ib[f[37356>>2]&255](48)|0;if(!n){k=7;i=0;x=171;break a}u=n;v=u+48|0;do{b[u>>0]=0;u=u+1|0}while((u|0)<(v|0))}else{i=ib[f[37372>>2]&255](48)|0;if((f[18194]|0)>>>0<48)f[18194]=48;n=71896;k=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&k>>>0>0){C=f[18187]|0;B=LA(k|0,n|0,i|0,((i|0)<0)<<31>>31|0)|0;A=ba()|0;f[17976]=((A|0)<0|(A|0)==0&B>>>0<=C>>>0)&1}n=ib[f[37356>>2]&255](i)|0;if(!n){k=7;i=0;x=171;break a}i=ib[f[37368>>2]&255](n)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i;u=n;v=u+48|0;do{b[u>>0]=0;u=u+1|0}while((u|0)<(v|0))}f[n>>2]=h[p>>0];f[n+4>>2]=o;f[F>>2]=n;k=0;i=D-E+q|0}while(0);e:do if((x|0)==187){x=0;switch(b[D>>0]|0){case 41:{x=87;break a}case 34:{f:do if((n|0)>1){i=1;while(1){if((b[D+i>>0]|0)==34){k=i;break f}i=i+1|0;if((i|0)>=(n|0)){k=i;break}}}else k=1;while(0);i=k+1-E+D|0;if((k|0)==(n|0)){k=1;x=171;break a}B=D+1|0;A=k+-1|0;o=f[a>>2]|0;C=f[o>>2]|0;n=f[M>>2]|0;f[R>>2]=0;k=lb[f[C+12>>2]&127](o,B,A,R)|0;g:do if(!k){f[f[R>>2]>>2]=o;if((f[C>>2]|0)>0?(H=jb[f[C+24>>2]&255](f[R>>2]|0,n)|0,H|0):0){ib[f[C+16>>2]&255](f[R>>2]|0)|0;f[R>>2]=0;k=H;o=0;x=36;break}o=f[R>>2]|0;x=C+20|0;z=o;u=0;r=0;s=0;q=0;n=0;v=0;p=0;while(1){f[S>>2]=0;f[T>>2]=0;f[U>>2]=0;f[V>>2]=0;k=nb[f[x>>2]&127](z,R,S,T,U,V)|0;y=(k|0)==0;if(y){n=(u*24|0)+144|0;if(Mc()|0){x=42;break}w=Nc(v,(n|0)>0?n:0,0)|0;if(!w){x=42;break}n=(f[S>>2]|0)+s|0;if(Mc()|0){x=48;break}v=Nc(q,(n|0)>0?n:0,0)|0;if(!v){x=48;break}p=w+120|0;q=p+(u*24|0)|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;f[q+16>>2]=0;f[q+20>>2]=0;YA(v+s|0,f[R>>2]|0,f[S>>2]|0)|0;q=f[S>>2]|0;f[p+(u*24|0)+4>>2]=q;n=f[U>>2]|0;if((n|0)<(A|0))n=(b[B+n>>0]|0)==42;else n=0;f[p+(u*24|0)+8>>2]=n&1;n=f[T>>2]|0;if((n|0)>0)n=(b[D+n>>0]|0)==94;else n=0;f[p+(u*24|0)+12>>2]=n&1;u=u+1|0;n=w;r=u;s=q+s|0;q=v;p=w;v=w}else u=u+1|0;if(!y){x=58;break}}do if((x|0)==42)if(v)if(!(f[9328]|0)){ob[f[37360>>2]&127](v);n=q;k=0;break}else{n=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);n=q;k=0;break}else{n=q;k=0}else if((x|0)==48)if(q)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);n=0;k=w;break}else{n=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);n=0;k=w;break}else{n=0;k=w}else if((x|0)==58){ib[f[C+16>>2]&255](z)|0;o=0;x=59;break g}while(0);x=75}else{o=f[R>>2]|0;x=36}while(0);if((x|0)==36){n=0;r=0;s=0;q=0;p=0;x=59}h:do if((x|0)==59){x=0;if((k|0)==101){k=s+144+(r*24|0)|0;if((Mc()|0)==0?(O=Nc(p,(k|0)>0?k:0,0)|0,O|0):0){n=O+48|0;u=O;v=u+112|0;do{f[u>>2]=0;u=u+4|0}while((u|0)<(v|0));f[O>>2]=5;k=O+20|0;f[k>>2]=n;f[O+116>>2]=f[I>>2];f[O+112>>2]=r;n=n+72+(r*24|0)|0;do if(q|0){YA(n|0,q|0,s|0)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{D=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}while(0);p=f[k>>2]|0;q=f[p+64>>2]|0;if((q|0)<=0){k=0;n=O;break}f[p+72>>2]=n;if((q|0)==1){k=0;n=O;break}k=n+(f[p+76>>2]|0)|0;n=1;while(1){f[p+72+(n*24|0)>>2]=k;o=n+1|0;if((o|0)<(q|0)){k=k+(f[p+72+(n*24|0)+4>>2]|0)|0;n=o}else{k=0;n=O;break h}}}if(p)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);n=q;k=0;x=75;break}else{n=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);n=q;k=0;x=75;break}else{n=q;k=0;x=75}}}while(0);do if((x|0)==75){x=0;if(o|0)ib[f[C+16>>2]&255](o)|0;do if(n|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{D=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}while(0);if(k)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);k=7;n=0;break}else{n=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);k=7;n=0;break}else{k=7;n=0}}while(0);f[F>>2]=n;break e}case 40:{f[R>>2]=0;f[K>>2]=(f[K>>2]|0)+1;k=vu(a,D+1|0,n+-1|0,F,R)|0;n=f[F>>2]|0;k=(k|0)==0?((n|0)==0?101:0):k;i=1-E+D+(f[R>>2]|0)|0;break e}default:{s=f[I>>2]|0;u=f[J>>2]|0;i:do if((u|0)>0){v=f[L>>2]|0;i=0;j:while(1){k=f[v+(i<<2)>>2]|0;w=wz(k)|0;if((n|0)>(w|0)?!((k|0)==0?1:(b[D+w>>0]|0)!=58):0){if((w|0)<=0){x=99;break}r=D;p=w;while(1){o=b[k>>0]|0;if(!(o<<24>>24)){x=95;break}o=b[1232+(o&255)>>0]|0;q=b[1232+(h[r>>0]|0)>>0]|0;if(o<<24>>24!=q<<24>>24){x=97;break}if((p|0)>1){k=k+1|0;r=r+1|0;p=p+-1|0}else{x=99;break j}}if((x|0)==95){x=0;o=0;k=b[1232+(h[r>>0]|0)>>0]|0}else if((x|0)==97){x=0;o=o&255;k=q}if((o|0)==(k&255|0)){x=102;break}}i=i+1|0;if((i|0)>=(u|0)){q=s;v=0;break i}}if((x|0)==99){x=0;q=i;v=w+1-E+D|0;break}else if((x|0)==102){x=0;q=i;v=w+1-E+D|0;break}}else{q=s;v=0}while(0);s=E+v|0;p=j-v|0;o=f[a>>2]|0;u=f[o>>2]|0;k:do if((p|0)>0){i=0;while(1){switch(b[s+i>>0]|0){case 34:case 41:case 40:break k;default:{}}i=i+1|0;if((i|0)>=(p|0))break k}}else i=0;while(0);n=f[M>>2]|0;f[R>>2]=0;k=lb[f[u+12>>2]&127](o,s,i,R)|0;do if(!k){f[f[R>>2]>>2]=o;if((f[u>>2]|0)>0?(P=jb[f[u+24>>2]&255](f[R>>2]|0,n)|0,P|0):0){ib[f[u+16>>2]&255](f[R>>2]|0)|0;f[R>>2]=0;k=P;x=111;break}r=f[R>>2]|0;f[S>>2]=0;f[T>>2]=0;f[U>>2]=0;f[V>>2]=0;k=nb[f[u+20>>2]&127](r,R,S,T,U,V)|0;l:do if(!k){i=(f[S>>2]|0)+144|0;n=Fd(i)|0;if(!n){n=0;k=7;i=f[U>>2]|0;break}_A(n|0,0,i|0)|0;f[n>>2]=5;f[n+20>>2]=n+48;f[n+112>>2]=1;f[n+116>>2]=q;i=f[S>>2]|0;f[n+124>>2]=i;D=n+144|0;f[n+120>>2]=D;YA(D|0,f[R>>2]|0,i|0)|0;i=f[U>>2]|0;if((i|0)<(p|0)?(Q=i+1|0,(b[s+i>>0]|0)==42):0){f[n+128>>2]=1;f[U>>2]=Q;i=Q}k=f[T>>2]|0;if((f[N>>2]|0)!=0&(k|0)>0){p=n+132|0;while(1){o=k;k=k+-1|0;if((b[s+k>>0]|0)!=94){k=0;break l}f[p>>2]=1;f[T>>2]=k;if((o|0)<=1){k=0;break}}}else k=0}else{n=0;k=(i|0)!=0&(k|0)==101?0:k}while(0);ib[f[u+16>>2]&255](r)|0}else x=111;while(0);if((x|0)==111){x=0;n=0}f[F>>2]=n;i=i+v|0;break e}}}while(0);if((k|0)==0&(n|0)!=0){r=f[n>>2]|0;if((r|0)!=5){p=(f[n+12>>2]|0)!=0;o=p^1;k=(l|0)!=0;if(k&o){x=129;break}else q=p}else{k=(l|0)!=0;o=0;q=1}if(k|o)if(!m)m=0;else x=154;else{if(Mc()|0){x=152;break}if(!(f[9328]|0)){k=ib[f[37356>>2]&255](48)|0;if(!k){x=152;break}u=k;v=u+48|0;do{b[u>>0]=0;u=u+1|0}while((u|0)<(v|0));p=k}else{k=ib[f[37372>>2]&255](48)|0;if((f[18194]|0)>>>0<48)f[18194]=48;p=71896;l=f[p>>2]|0;p=f[p+4>>2]|0;if((p|0)>0|(p|0)==0&l>>>0>0){D=f[18187]|0;C=LA(l|0,p|0,k|0,((k|0)<0)<<31>>31|0)|0;B=ba()|0;f[17976]=((B|0)<0|(B|0)==0&C>>>0<=D>>>0)&1}l=ib[f[37356>>2]&255](k)|0;if(!l){x=152;break}k=ib[f[37368>>2]&255](l)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k;u=l;v=u+48|0;do{b[u>>0]=0;u=u+1|0}while((u|0)<(v|0));p=l}f[p>>2]=3;k=m+8|0;l=f[k>>2]|0;m:do if(!l)x=150;else{n=l;while(1){if((f[n>>2]|0)>3)break;k=n+8|0;l=f[k>>2]|0;if(!l){m=n;x=150;break m}else{m=n;n=l}}f[n+16>>2]=p;f[p+8>>2]=f[k>>2]}while(0);if((x|0)==150)c=p;f[p+12>>2]=m;f[k>>2]=p;m=p;x=154}if((x|0)==154){x=0;if(!((r|0)!=1|q)?(f[m>>2]|0)!=5:0){x=158;break}if((r|0)!=5&q?(f[m>>2]|0)==1:0){x=158;break}}if(q){k=f[F>>2]|0;l=k;if(!c){c=k;m=l}else{f[m+16>>2]=k;f[l+8>>2]=m;m=l}}else{q=f[F>>2]|0;k=m+8|0;l=f[k>>2]|0;n:do if(!l)x=167;else{p=f[q>>2]|0;n=l;while(1){if((f[n>>2]|0)>(p|0))break;k=n+8|0;l=f[k>>2]|0;if(!l){m=n;x=167;break n}else{m=n;n=l}}f[n+16>>2]=q;f[q+8>>2]=f[k>>2]}while(0);if((x|0)==167){x=0;c=q}f[q+12>>2]=m;f[k>>2]=q;m=f[F>>2]|0}l=o&1;k=0}j=j-i|0;if(!k)E=E+i|0;else{x=173;break}}if((x|0)==87){f[K>>2]=(f[K>>2]|0)+-1;f[F>>2]=0;k=101;i=1-E+D|0;x=171}else if((x|0)==129){uu(n);i=1;x=170}else if((x|0)==152){uu(n);i=7;x=170}else if((x|0)==158){uu(f[F>>2]|0);i=1;x=170}if((x|0)!=170)if((x|0)==171){j=j-i|0;x=173}if((x|0)==173){i=(c|0)!=0&(k|0)==101&(l|0)!=0?1:k;f[g>>2]=d-j;if((i|0)==101){g=0;d=c;f[e>>2]=d;t=W;return g|0}}uu(c);g=i;d=0;f[e>>2]=d;t=W;return g|0}function wu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=t;t=t+16|0;p=r+4|0;j=r;c=f[a>>2]|0;n=f[c>>2]|0;do if(b){if((n+-3|0)>>>0<2){d=b<<2;q=Fd(d)|0;if(!q){d=7;break}_A(q|0,0,d|0)|0;f[p>>2]=c;if((f[c>>2]|0)==(n|0)){d=c;do d=f[d+12>>2]|0;while((f[d>>2]|0)==(n|0));f[p>>2]=d}else d=c;m=b+-1|0;o=(b|0)>0;a:do if(o){e=0;b:while(1){k=d+8|0;l=f[k>>2]|0;f[k>>2]=0;k=(l|0)==0;if(k)c=0;else f[l+12>>2]=0;d=wu(p,m)|0;if(d|0){k=46;break a}g=f[p>>2]|0;if(g){j=0;d=e;h=f[p>>2]|0;while(1){i=q+(j<<2)|0;e=f[i>>2]|0;if(!e)break;f[d+12>>2]=e;f[d+16>>2]=g;f[e+8>>2]=d;f[g+8>>2]=d;h=d+8|0;e=f[h>>2]|0;f[h>>2]=0;f[i>>2]=0;j=j+1|0;if(!((j|0)<(b|0)&(d|0)!=0))break b;else{g=d;h=d;d=e}}f[p>>2]=h;f[i>>2]=g;f[p>>2]=0;e=d}if(k){k=37;break a}h=l+16|0;d=h;while(1){d=f[d>>2]|0;g=d;if((f[g>>2]|0)==(n|0))d=g+12|0;else break}f[p>>2]=d;i=l+8|0;g=f[h>>2]|0;f[g+8>>2]=f[i>>2];h=f[i>>2]|0;if(!h)c=g;else f[h+12>>2]=g;f[i>>2]=e;e=l}f[p>>2]=d;k=30}else{e=0;while(1){g=d+8|0;j=f[g>>2]|0;f[g>>2]=0;g=(j|0)==0;if(g)c=0;else f[j+12>>2]=0;d=wu(p,m)|0;if(d|0){k=46;break a}d=f[p>>2]|0;if(d|0){k=30;break a}if(g){k=37;break a}h=j+16|0;d=h;while(1){d=f[d>>2]|0;g=d;if((f[g>>2]|0)==(n|0))d=g+12|0;else break}f[p>>2]=d;i=j+8|0;g=f[h>>2]|0;f[g+8>>2]=f[i>>2];h=f[i>>2]|0;if(!h)c=g;else f[h+12>>2]=g;f[i>>2]=e;e=j}}while(0);if((k|0)==30){uu(d);d=18;k=46}else if((k|0)==37){f[p>>2]=0;if(o){h=0;c=0;do{d=q+(h<<2)|0;g=f[d>>2]|0;if(g){if(!c){c=g;d=g+8|0}else{f[e+16>>2]=c;d=f[d>>2]|0;f[e+12>>2]=d;f[d+8>>2]=e;f[c+8>>2]=e;d=e+8|0;c=e;e=f[d>>2]|0}f[d>>2]=0}h=h+1|0}while((h|0)!=(b|0));f[p>>2]=c;d=0}else{d=0;c=0}}if((k|0)==46){if(o){g=0;do{uu(f[q+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(b|0))}if(e)do{g=e;e=f[e+8>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](g);else{b=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g)}}while((e|0)!=0)}if(!(f[9328]|0))ob[f[37360>>2]&127](q);else{b=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q)}}else{if((n|0)!=2){q=0;b=c;f[a>>2]=b;t=r;return q|0}h=c+12|0;g=f[h>>2]|0;f[p>>2]=g;i=c+16|0;e=f[i>>2]|0;f[j>>2]=e;f[h>>2]=0;f[i>>2]=0;f[g+8>>2]=0;f[e+8>>2]=0;g=b+-1|0;d=wu(p,g)|0;do if(!d){d=wu(j,g)|0;if(!d){d=f[p>>2]|0;f[h>>2]=d;f[d+8>>2]=c;d=f[j>>2]|0;f[i>>2]=d;f[d+8>>2]=c;d=0;break}else{e=f[j>>2]|0;k=63;break}}else k=63;while(0);if((k|0)==63){uu(e);uu(f[p>>2]|0)}}if(!d){q=0;b=c;f[a>>2]=b;t=r;return q|0}}else d=1;while(0);uu(c);q=d;b=0;f[a>>2]=b;t=r;return q|0}function xu(a,b){a=a|0;b=b|0;var c=0;if(!a){c=0;return c|0}c=b;while(1){if((c|0)<0){b=18;a=6;break}c=c+-1|0;b=xu(f[a+12>>2]|0,c)|0;if(b|0){a=6;break}a=f[a+16>>2]|0;if(!a){b=0;a=6;break}}if((a|0)==6)return b|0;return 0}function yu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if(!b)return;while(1){if(f[e>>2]|0){v=38;break}g=f[b>>2]|0;if((g|0)==5){v=5;break}f[d>>2]=(f[d>>2]|0)+((g|0)==4&1);yu(a,f[b+12>>2]|0,c,d,e);b=f[b+16>>2]|0;if(!b){v=38;break}}if((v|0)==5){t=b+20|0;b=f[t>>2]|0;u=f[b+64>>2]|0;f[c>>2]=(f[c>>2]|0)+u;a:do if((u|0)>0){s=a+20|0;r=0;b:while(1){o=f[b+72+(r*24|0)>>2]|0;p=f[b+72+(r*24|0)+4>>2]|0;n=f[b+72+(r*24|0)+8>>2]|0;q=b+72+(r*24|0)+20|0;if(Mc()|0){g=0;b=7;v=34;break}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](56)|0;if(!g){g=0;b=7;v=34;break}}else{b=ib[f[37372>>2]&255](56)|0;if((f[18194]|0)>>>0<56)f[18194]=56;d=71896;g=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&g>>>0>0){m=f[18187]|0;l=LA(g|0,d|0,b|0,((b|0)<0)<<31>>31|0)|0;k=ba()|0;f[17976]=((k|0)<0|(k|0)==0&l>>>0<=m>>>0)&1}g=ib[f[37356>>2]&255](b)|0;if(!g){g=0;b=7;v=34;break}b=ib[f[37368>>2]&255](g)|0;b=(f[18187]|0)+b|0;f[18187]=b;if(b>>>0>(f[18191]|0)>>>0)f[18191]=b;b=(f[18190]|0)+1|0;f[18190]=b;if(b>>>0>(f[18196]|0)>>>0)f[18196]=b}m=f[a>>2]|0;l=(n|0)!=0;c:do if(l){h=m+256|0;c=g+36|0;k=f[m+252>>2]|0;i=(k|0)>1;if(i){d=f[h>>2]|0;j=1;while(1){if((f[d+(j*24|0)>>2]|0)==(p|0)){v=25;break}b=j+1|0;if((b|0)<(k|0))j=b;else break}if((v|0)==25){v=0;b=f[s>>2]|0;i=g;k=i+56|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(k|0));b=lt(m,b,j,-2,o,p,0,0,g)|0;f[c>>2]=1;break}j=p+1|0;if(i){d=f[h>>2]|0;h=1;while(1){if((f[d+(h*24|0)>>2]|0)==(j|0))break;b=h+1|0;if((b|0)<(k|0))h=b;else{v=33;break c}}b=f[s>>2]|0;i=g;k=i+56|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(k|0));b=lt(m,b,h,-2,o,p,1,0,g)|0;if(b|0){v=34;break b}b=lt(m,f[s>>2]|0,0,-2,o,p,0,0,g)|0}else v=33}else v=33}else{c=g+36|0;v=33}while(0);if((v|0)==33){v=0;b=(l^1)&1;d=f[s>>2]|0;i=g;k=i+56|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(k|0));p=lt(m,d,0,-2,o,p,n,0,g)|0;f[c>>2]=b;b=p}f[q>>2]=g;r=r+1|0;if(b|0)break;b=f[t>>2]|0;if((r|0)>=(u|0))break a}if((v|0)==34)f[q>>2]=g;f[e>>2]=b;return}while(0);f[b+44>>2]=-1;return}else if((v|0)==38)return} -function Ys(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0;da=t;t=t+160|0;q=da+48|0;F=da+40|0;E=da+32|0;D=da+24|0;Z=da+16|0;z=da+8|0;v=da;O=da+136|0;$=da+80|0;W=da+72|0;X=da+68|0;Y=da+64|0;ca=da+60|0;A=da+56|0;f[ca>>2]=0;f[A>>2]=0;y=(c|0)>1;a:do if(y){_=a+24|0;c=f[_>>2]|0;if(-1431655766>>>(d[(f[e>>2]|0)+8>>1]&31)&1|0?(o=f[e+(c+2<<2)>>2]|0,n=o+8|0,i=d[n>>1]|0,(-1431655766>>>(i&31)&1|0)==0):0){do if(o){if((i&514)==514?(b[o+10>>0]|0)==1:0){q=f[o+16>>2]|0;break}if(!(i&1)){q=Ic(o,1)|0;i=d[n>>1]|0}else q=0}else q=0;while(0);if((i&2)!=0?(b[o+10>>0]|0)==1:0)c=f[o+12>>2]|0;else aa=14;do if((aa|0)==14){i=i&65535;if(!(i&16)){if(i&1|0){c=0;break}c=_e(o,1)|0;break}else{c=f[o+12>>2]|0;if(!(i&16384))break;c=(f[o>>2]|0)+c|0;break}}while(0);b:do if(!q)i=7;else{c:do switch(c|0){case 8:{n=b[q>>0]|0;d:do if(!(n<<24>>24)){i=48511;aa=22}else{_=n&255;i=1232+_|0;do if((_|32|0)==111){i=b[q+1>>0]|0;if(!(i<<24>>24)){i=48512;aa=22;break d}_=i&255;i=1232+_|0;if((_|32|0)==112){i=b[q+2>>0]|0;if(!(i<<24>>24)){i=48513;aa=22;break d}_=i&255;i=1232+_|0;if((_|32|0)==116){i=b[q+3>>0]|0;if(!(i<<24>>24)){i=48514;aa=22;break d}_=i&255;i=1232+_|0;if((_|32|0)==105){i=b[q+4>>0]|0;if(!(i<<24>>24)){i=48515;aa=22;break d}i=i&255;if((i|32|0)!=109){m=109;i=1232+i|0;break}i=b[q+5>>0]|0;if(!(i<<24>>24)){i=48516;aa=22;break d}i=i&255;if((i|32|0)!=105){m=105;i=1232+i|0;break}i=b[q+6>>0]|0;if(!(i<<24>>24)){i=48517;aa=22;break d}i=i&255;if((i|32|0)!=122){m=122;i=1232+i|0;break}i=b[q+7>>0]|0;if(!(i<<24>>24)){i=48518;aa=22;break d}i=i&255;if((i|32|0)==101)break d;else{m=101;i=1232+i|0}}else m=105}else m=116}else m=112}else m=111;while(0);u=h[i>>0]|0;aa=26}while(0);if((aa|0)==22){u=0;m=b[1232+(h[i>>0]|0)>>0]|0;aa=26}if((aa|0)==26?(u|0)!=(m&255|0):0)break c;i=eu(a,0)|0;break b}case 7:{n=b[q>>0]|0;e:do if(!(n<<24>>24)){i=65599;aa=29}else{Z=n&255;i=1232+Z|0;do if((Z|32|0)==114){i=b[q+1>>0]|0;if(!(i<<24>>24)){i=65600;aa=29;break e}Z=i&255;i=1232+Z|0;if((Z|32|0)==101){i=b[q+2>>0]|0;if(!(i<<24>>24)){i=65601;aa=29;break e}Z=i&255;i=1232+Z|0;if((Z|32|0)==98){i=b[q+3>>0]|0;if(!(i<<24>>24)){i=65602;aa=29;break e}Z=i&255;i=1232+Z|0;if((Z|32|0)==117){i=b[q+4>>0]|0;if(!(i<<24>>24)){i=65603;aa=29;break e}i=i&255;if((i|32|0)!=105){m=105;i=1232+i|0;break}i=b[q+5>>0]|0;if(!(i<<24>>24)){i=65604;aa=29;break e}i=i&255;if((i|32|0)!=108){m=108;i=1232+i|0;break}i=b[q+6>>0]|0;if(!(i<<24>>24)){i=65605;aa=29;break e}i=i&255;if((i|32|0)==100)break e;else{m=100;i=1232+i|0}}else m=117}else m=98}else m=101}else m=114;while(0);s=h[i>>0]|0;r=m;aa=33}while(0);if((aa|0)==29){s=0;r=b[1232+(h[i>>0]|0)>>0]|0;aa=33}if((aa|0)==33?(s|0)!=(r&255|0):0)break c;i=lu(a,0)|0;f[O>>2]=i;if(!i){f[$>>2]=0;f[v>>2]=f[a+220>>2];i=wd(65607,v)|0;do if(i){k=Ki(f[a+12>>2]|0,i,-1,128,0,$,0)|0;f[O>>2]=k;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{Z=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}if(!k){i=((f[_>>2]|0)*12|0)+12|0;D=Fd(i)|0;if(!D){f[O>>2]=7;m=0;l=0;k=0;i=0;break}_A(D|0,0,i|0)|0;k=(f[_>>2]|0)+1|0;l=D+(k<<2)|0;k=l+(k<<2)|0;x=a+44|0;y=a+272|0;z=a+284|0;g=a+280|0;e=a+234|0;A=a+32|0;B=a+264|0;C=a+260|0;m=0;w=f[$>>2]|0;while(1){if((Ei(w)|0)!=100){aa=89;break}if(!(f[x>>2]|0))v=0;else v=Ip(w,(f[_>>2]|0)+1|0)|0;n=Jp(w,0)|0;o=ba()|0;c=y;i=f[c>>2]|0;c=f[c+4>>2]|0;do if(!((c|0)>(o|0)|(c|0)==(o|0)&i>>>0>n>>>0)){if((i|0)==(n|0)&(c|0)==(o|0)?(f[z>>2]|0)==0:0){aa=52;break}if((f[g>>2]|0)!=(v|0)){aa=52;break}if((f[B>>2]|0)<=(f[C>>2]|0))aa=53;else aa=52}else aa=52;while(0);if((aa|0)==52){aa=0;i=it(a)|0;if(!i)aa=53}if((aa|0)==53){aa=0;i=y;f[i>>2]=n;f[i+4>>2]=o;f[g>>2]=v;f[z>>2]=0;i=0}f[O>>2]=i;_A(D|0,0,(f[_>>2]<<2)+4|0)|0;f:do if(!i){r=w+104|0;s=w+140|0;u=w+40|0;g:do if(!w){i=f[_>>2]|0;if((i|0)<=0)break;n=f[A>>2]|0;c=0;do{if(!(b[n+c>>0]|0)){f[D+(c<<2)>>2]=0;i=f[_>>2]|0}c=c+1|0}while((c|0)<(i|0))}else{q=0;do{if((q|0)>=(f[_>>2]|0))break g;o=q;q=q+1|0;if(!(b[(f[A>>2]|0)+o>>0]|0)){i=f[r>>2]|0;do if(!i)aa=66;else{if(q>>>0>=(j[s>>1]|0)>>>0){aa=66;break}i=i+(q*40|0)|0}while(0);if((aa|0)==66){aa=0;i=f[w>>2]|0;f[i+64>>2]=25;Bg(i,25);i=37592}c=d[i+8>>1]|0;do if((c&514)==514){if((b[i+10>>0]|0)!=1){aa=71;break}n=f[i+16>>2]|0}else aa=71;while(0);do if((aa|0)==71){aa=0;if(c&1){n=0;break}n=Ic(i,1)|0}while(0);i=f[w>>2]|0;c=f[u>>2]|0;if((c|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7}else i=f[i+68>>2]&c;f[u>>2]=i;i=mu(a,v,n,o,D+(o<<2)|0)|0;Y=Gp(w,q)|0;Z=D+(f[_>>2]<<2)|0;f[Z>>2]=(f[Z>>2]|0)+Y}else i=0}while(!(i|0));f[O>>2]=i;break f}while(0);f[O>>2]=0;i=0}while(0);if(b[e>>0]|0){nu(O,a,D);i=f[O>>2]|0}c=(i|0)==0;do if(c){m=m+1|0;if((f[_>>2]|0)<0){i=w;break}i=0;while(1){aa=l+(i<<2)|0;f[aa>>2]=(f[aa>>2]|0)+(f[D+(i<<2)>>2]|0);if((i|0)<(f[_>>2]|0))i=i+1|0;else{i=w;break}}}else{Fi(w)|0;i=0}while(0);if(c)w=i;else{aa=88;break}}if((aa|0)==88){f[$>>2]=i;i=D;break}else if((aa|0)==89){f[$>>2]=w;i=D;break}}else{m=0;l=0;k=0;i=0}}else{f[O>>2]=7;m=0;l=0;k=0;i=0}while(0);if(b[a+232>>0]|0)ou(O,a,l,k,m);do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{_=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-_;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);i=f[$>>2]|0;if(i){i=Fi(i)|0;k=f[O>>2]|0;if(!k)f[O>>2]=i;else i=k}else i=f[O>>2]|0}break b}case 15:{n=b[q>>0]|0;h:do if(!(n<<24>>24)){i=65617;aa=103}else{V=n&255;i=1232+V|0;do if((V|32|0)==105){i=b[q+1>>0]|0;if(!(i<<24>>24)){i=65618;aa=103;break h}V=i&255;i=1232+V|0;if((V|32|0)==110){i=b[q+2>>0]|0;if(!(i<<24>>24)){i=65619;aa=103;break h}V=i&255;i=1232+V|0;if((V|32|0)==116){i=b[q+3>>0]|0;if(!(i<<24>>24)){i=65620;aa=103;break h}V=i&255;i=1232+V|0;if((V|32|0)==101){i=b[q+4>>0]|0;if(!(i<<24>>24)){i=65621;aa=103;break h}i=i&255;if((i|32|0)!=103){m=103;i=1232+i|0;break}i=b[q+5>>0]|0;if(!(i<<24>>24)){i=65622;aa=103;break h}i=i&255;if((i|32|0)!=114){m=114;i=1232+i|0;break}i=b[q+6>>0]|0;if(!(i<<24>>24)){i=65623;aa=103;break h}i=i&255;if((i|32|0)!=105){m=105;i=1232+i|0;break}i=b[q+7>>0]|0;if(!(i<<24>>24)){i=65624;aa=103;break h}i=i&255;if((i|32|0)!=116){m=116;i=1232+i|0;break}i=b[q+8>>0]|0;if(!(i<<24>>24)){i=65625;aa=103;break h}i=i&255;if((i|32|0)!=121){m=121;i=1232+i|0;break}i=b[q+9>>0]|0;if(!(i<<24>>24)){i=65626;aa=103;break h}if(i<<24>>24!=45){m=45;i=1232+(i&255)|0;break}i=b[q+10>>0]|0;if(!(i<<24>>24)){i=65627;aa=103;break h}i=i&255;if((i|32|0)!=99){m=99;i=1232+i|0;break}i=b[q+11>>0]|0;if(!(i<<24>>24)){i=65628;aa=103;break h}i=i&255;if((i|32|0)!=104){m=104;i=1232+i|0;break}i=b[q+12>>0]|0;if(!(i<<24>>24)){i=65629;aa=103;break h}i=i&255;if((i|32|0)!=101){m=101;i=1232+i|0;break}i=b[q+13>>0]|0;if(!(i<<24>>24)){i=65630;aa=103;break h}i=i&255;if((i|32|0)!=99){m=99;i=1232+i|0;break}i=b[q+14>>0]|0;if(!(i<<24>>24)){i=65631;aa=103;break h}i=i&255;if((i|32|0)==107)break h;else{m=107;i=1232+i|0}}else m=101}else m=116}else m=110}else m=105;while(0);x=h[i>>0]|0;w=m;aa=107}while(0);if((aa|0)==103){x=0;w=b[1232+(h[i>>0]|0)>>0]|0;aa=107}if((aa|0)==107?(x|0)!=(w&255|0):0)break c;k=a+164|0;i=f[k>>2]|0;f[O>>2]=i;do if(!i){i=f[a+20>>2]|0;f[z>>2]=f[a+16>>2];f[z+4>>2]=i;i=wd(64725,z)|0;if(!i){c=7;m=0;l=0;k=0;i=0;break}c=Ki(f[a+12>>2]|0,i,-1,129,0,O,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{V=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-V;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[O>>2]|0;f[k>>2]=i;if(!c)aa=116;else{m=0;l=0;k=0;i=0}}else aa=116;while(0);if((aa|0)==116){N=i;k=f[a+280>>2]|0;l=((k|0)<0)<<31>>31;do if(!(Op(N,1)|0)){m=f[N+116>>2]|0;c=m+8|0;if(!(d[c>>1]&9216)){V=m;f[V>>2]=k;f[V+4>>2]=l;d[c>>1]=4;break}else{bf(m,k,l);break}}while(0);V=a+252|0;k=f[V>>2]|0;l=((k|0)<0)<<31>>31;do if(!(Op(N,2)|0)){c=f[N+116>>2]|0;m=c+40|0;c=c+48|0;if(!(d[c>>1]&9216)){U=m;f[U>>2]=k;f[U+4>>2]=l;d[c>>1]=4;break}else{bf(m,k,l);break}}while(0);F=O+12|0;G=$+12|0;H=$+4|0;I=$+16|0;J=$+48|0;K=$+52|0;L=$+40|0;M=$+44|0;m=0;k=0;while(1){if((Ei(N)|0)!=100){l=0;n=1;U=k;break}D=Ip(N,0)|0;if((f[V>>2]|0)>0){E=((D|0)<0)<<31>>31;C=0;do{f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[F>>2]=19;l=$;c=l+56|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(c|0));l=lt(a,D,C,-2,0,0,0,1,$)|0;do if(!l){f[G>>2]=O;l=mt(a,$,0,0)|0;if(l|0){w=0;n=0;break}l=nt(a,$)|0;if((l|0)!=100){w=0;n=0;break}c=0;n=0;do{u=f[J>>2]|0;s=f[K>>2]|0;B=u+s|0;o=b[u>>0]|0;l=o&255;do if(!(l&128)){q=1;l=o&255;r=0}else{U=h[u+1>>0]|0;l=U<<7|l&127;if(!(U&128)){q=2;r=0;break}U=h[u+2>>0]|0;l=U<<14|l&16383;if(!(U&128)){q=3;r=0;break}U=h[u+3>>0]|0;l=U<<21|l&2097151;if(!(U&128)){q=4;r=0;break}o=28;q=u+4|0;l=l&268435455;r=0;do{U=q;q=q+1|0;U=h[U>>0]|0;T=WA(U&127|0,0,o|0)|0;l=KA(T|0,ba()|0,l|0,r|0)|0;r=ba()|0;o=o+7|0}while(o>>>0<64&((U&128|0)!=0|0!=0));q=q-u|0}while(0);if((q|0)<(s|0)){g=f[L>>2]|0;e=f[M>>2]|0;A=(e|0)>0;z=u+q|0;o=0;x=0;y=0;while(1){s=b[z>>0]|0;q=s&255;do if(!(q&128)){w=1;v=0;u=s&255}else{U=h[z+1>>0]|0;q=U<<7|q&127;if(!(U&128)){w=2;v=0;u=q;break}U=h[z+2>>0]|0;q=U<<14|q&16383;if(!(U&128)){w=3;v=0;u=q;break}U=h[z+3>>0]|0;u=U<<21|q&2097151;if(!(U&128)){w=4;v=0;break}q=28;s=z+4|0;u=u&268435455;v=0;do{U=s;s=s+1|0;U=h[U>>0]|0;T=WA(U&127|0,0,q|0)|0;u=KA(T|0,ba()|0,u|0,v|0)|0;v=ba()|0;q=q+7|0}while(q>>>0<64&((U&128|0)!=0|0!=0));w=s-z|0}while(0);z=z+w|0;do if(z>>>0>>0){if(!(v>>>0<0|(v|0)==0&u>>>0<2)){w=KA(x|0,y|0,-2,-1)|0;v=KA(w|0,ba()|0,u|0,v|0)|0;w=ba()|0;q=WA(l|0,r|0,3)|0;T=ba()|0;U=KA(l|0,r|0,D|0,E|0)|0;T=KA(U|0,ba()|0,q|0,T|0)|0;q=ba()|0;U=WA(T|0,q|0,3)|0;s=ba()|0;q=KA(T|0,q|0,C|0,0)|0;s=KA(q|0,ba()|0,U|0,s|0)|0;U=ba()|0;q=WA(s|0,U|0,3)|0;T=ba()|0;U=KA(s|0,U|0,o|0,((o|0)<0)<<31>>31|0)|0;T=KA(U|0,ba()|0,q|0,T|0)|0;q=ba()|0;U=UA(0,v|0,32)|0;s=ba()|0;q=QA(T|0,q|0,9,0)|0;q=KA(U|0,s|0,q|0,ba()|0)|0;s=ba()|0;if(A){u=0;do{U=b[g+u>>0]|0;q=QA(q|0,s|0,9,0)|0;q=KA(q|0,ba()|0,U|0,((U|0)<0)<<31>>31|0)|0;s=ba()|0;u=u+1|0}while((u|0)!=(e|0))}u=z;c=q^c;n=s^n;s=v;q=w;break}s=b[z>>0]|0;o=s&255;q=(o&128|0)==0;if(!((u|0)==0&(v|0)==0)){do if(q)q=1;else{U=h[z+1>>0]|0;o=U<<7|o&127;if(!(U&128)){q=2;break}U=h[z+2>>0]|0;o=U<<14|o&16383;if(!(U&128)){q=3;break}U=h[z+3>>0]|0;o=U<<21|o&2097151;if(!(U&128)){q=4;break}s=28;u=z+4|0;o=o&268435455;q=0;do{U=u;u=u+1|0;U=h[U>>0]|0;T=WA(U&127|0,0,s|0)|0;o=KA(T|0,ba()|0,o|0,q|0)|0;q=ba()|0;s=s+7|0}while(s>>>0<64&((U&128|0)!=0|0!=0));q=u-z|0}while(0);u=z+q|0;s=0;q=0;break}do if(q){u=1;o=s&255;q=0}else{U=h[z+1>>0]|0;o=U<<7|o&127;if(!(U&128)){u=2;q=0;break}U=h[z+2>>0]|0;o=U<<14|o&16383;if(!(U&128)){u=3;q=0;break}U=h[z+3>>0]|0;o=U<<21|o&2097151;if(!(U&128)){u=4;q=0;break}s=28;u=z+4|0;o=o&268435455;q=0;do{U=u;u=u+1|0;U=h[U>>0]|0;T=WA(U&127|0,0,s|0)|0;o=KA(T|0,ba()|0,o|0,q|0)|0;q=ba()|0;s=s+7|0}while(s>>>0<64&((U&128|0)!=0|0!=0));u=u-z|0}while(0);l=KA(o|0,q|0,l|0,r|0)|0;u=z+u|0;o=0;r=ba()|0;s=0;q=0}else{u=z;s=x;q=y}while(0);if(u>>>0>>0){z=u;x=s;y=q}else break}}l=nt(a,$)|0}while((l|0)==100);w=c}else{w=0;n=0}while(0);u=f[H>>2]|0;v=f[$>>2]|0;if((u|0)<=0){if(v|0)aa=213}else{r=0;while(1){s=f[v+(r<<2)>>2]|0;do if(s|0){do if(!(f[s+56>>2]|0)){c=f[s+64>>2]|0;if(!c)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{aa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);do if(!(b[s+5>>0]|0)){c=f[s+40>>2]|0;if(!c)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{aa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=f[s+52>>2]|0;i:do if(c|0){o=f[c+20>>2]|0;Fi(f[c+16>>2]|0)|0;do if(o|0){if(f[o+480>>2]|0){Kc(o,c);break i}q=c;if((f[o+304>>2]|0)>>>0>q>>>0)break;if((f[o+308>>2]|0)>>>0<=q>>>0)break;aa=o+300|0;f[c>>2]=f[aa>>2];f[aa>>2]=c;break i}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{aa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{aa=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);r=r+1|0;if((r|0)==(u|0)){aa=213;break}}}do if((aa|0)==213){aa=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](v);break}else{U=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-U;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);break}}while(0);c=f[I>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{U=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-U;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);m=w^m;k=n^k;C=C+1|0}while((C|0)<(f[V>>2]|0))}else l=0;if(l){n=0;U=k;break}}do if(i){i=f[N>>2]|0;T=N+128|0;S=f[T+4>>2]|0;if((S|0)>0|(S|0)==0&(f[T>>2]|0)>>>0>0)Hi(i,N);k=fg(N)|0;f[N+20>>2]=770837923;f[N+36>>2]=-1;f[N+40>>2]=0;b[N+142>>0]=2;f[N+44>>2]=0;f[N+32>>2]=1;b[N+143>>0]=-1;f[N+48>>2]=0;T=N+64|0;f[T>>2]=0;f[T+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);c=7;break}else{c=f[i+68>>2]&k;break}}else c=0;while(0);if(n)if(!c){T=a+36|0;l=f[f[T>>2]>>2]|0;f[O>>2]=0;f[Z>>2]=f[a+220>>2];i=wd(65607,Z)|0;j:do if(!i){c=7;l=0;i=0;k=0}else{c=Ki(f[a+12>>2]|0,i,-1,128,0,O,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{S=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}k=f[O>>2]|0;if(c|0){l=0;i=0;break}L=a+44|0;M=a+32|0;N=(k|0)==0;O=k+104|0;P=k+140|0;Q=k+40|0;R=l+20|0;S=a+256|0;K=l+16|0;l=0;i=0;do{if((Ei(k)|0)!=100){c=0;break j}c=Jp(k,0)|0;n=ba()|0;if(!(f[L>>2]|0))J=0;else J=Ip(k,(f[_>>2]|0)+1|0)|0;I=QA(c|0,n|0,9,0)|0;I=KA(I|0,ba()|0,J|0,((J|0)<0)<<31>>31|0)|0;H=ba()|0;F=QA(I|0,H|0,81,0)|0;G=ba()|0;H=QA(I|0,H|0,9,0)|0;I=ba()|0;E=0;do{if((E|0)>=(f[_>>2]|0)){c=0;break}D=E;E=E+1|0;if(!(b[(f[M>>2]|0)+D>>0]|0)){k:do if(N)c=37592;else{c=f[O>>2]|0;do if(c|0){if(E>>>0>=(j[P>>1]|0)>>>0)break;c=c+(E*40|0)|0;break k}while(0);c=f[k>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}while(0);n=d[c+8>>1]|0;do if((n&514)==514){if((b[c+10>>0]|0)!=1){aa=250;break}q=f[c+16>>2]|0}else aa=250;while(0);do if((aa|0)==250){aa=0;if(n&1){q=0;break}q=Ic(c,1)|0}while(0);if(!N){c=f[k>>2]|0;n=f[Q>>2]|0;if((n|0)==3082|(b[c+81>>0]|0)!=0){Di(c);c=7}else c=f[c+68>>2]&n;f[Q>>2]=c}c=Gp(k,E)|0;n=f[T>>2]|0;o=f[n>>2]|0;f[Z>>2]=0;c=lb[f[o+12>>2]&127](n,q,c,Z)|0;l:do if(!c){f[f[Z>>2]>>2]=n;do if((f[o>>2]|0)>0){c=jb[f[o+24>>2]&255](f[Z>>2]|0,J)|0;if(!c)break;ib[f[o+16>>2]&255](f[Z>>2]|0)|0;f[Z>>2]=0;n=0;aa=262;break l}while(0);n=f[Z>>2]|0;A=n;B=KA(F|0,G|0,D|0,0)|0;B=QA(B|0,ba()|0,9,0)|0;C=ba()|0;do{f[$>>2]=0;f[W>>2]=0;f[X>>2]=0;f[Y>>2]=0;c=nb[f[R>>2]&127](A,Z,$,W,X,Y)|0;e=(c|0)==0;do if(e){x=f[Z>>2]|0;y=f[$>>2]|0;z=f[Y>>2]|0;g=((z|0)<0)<<31>>31;o=KA(B|0,C|0,z|0,g|0)|0;q=ba()|0;if((y|0)>0){r=0;do{w=b[x+r>>0]|0;o=QA(o|0,q|0,9,0)|0;o=KA(o|0,ba()|0,w|0,((w|0)<0)<<31>>31|0)|0;q=ba()|0;r=r+1|0}while((r|0)!=(y|0))}l=o^l;i=q^i;v=f[V>>2]|0;if((v|0)<=1)break;w=f[S>>2]|0;u=1;do{s=f[w+(u*24|0)>>2]|0;if((s|0)<=(y|0)){q=KA(H|0,I|0,u|0,0)|0;o=ba()|0;r=WA(q|0,o|0,3)|0;ea=ba()|0;o=KA(q|0,o|0,D|0,0)|0;ea=KA(o|0,ba()|0,r|0,ea|0)|0;r=ba()|0;o=WA(ea|0,r|0,3)|0;q=ba()|0;r=KA(ea|0,r|0,z|0,g|0)|0;q=KA(r|0,ba()|0,o|0,q|0)|0;o=ba()|0;if((s|0)>0){r=0;do{ea=b[x+r>>0]|0;q=QA(q|0,o|0,9,0)|0;q=KA(q|0,ba()|0,ea|0,((ea|0)<0)<<31>>31|0)|0;o=ba()|0;r=r+1|0}while((r|0)!=(s|0))}l=q^l;i=o^i}u=u+1|0}while((u|0)!=(v|0))}while(0)}while(e)}else{n=f[Z>>2]|0;aa=262}while(0);if((aa|0)==262)aa=0;if(n|0)ib[f[K>>2]&255](n)|0;c=(c|0)==101?0:c}else c=0}while(!(c|0))}while((c|0)==0)}while(0);Fi(k)|0;k=U}else{l=0;k=U;i=0}else{c=l;l=0;k=U;i=0}}i=(c|(m|0)==(l|0)&(k|0)==(i|0)&1|0)==0?267:c;break b}default:{if((c|0)<=6){i=1;break b}n=b[q>>0]|0}}while(0);m=n<<24>>24==0;m:do if(m){i=65633;aa=287}else{ea=n&255;i=1232+ea|0;do if((ea|32|0)==109){i=b[q+1>>0]|0;if(!(i<<24>>24)){i=65634;aa=287;break m}ea=i&255;i=1232+ea|0;if((ea|32|0)==101){i=b[q+2>>0]|0;if(!(i<<24>>24)){i=65635;aa=287;break m}ea=i&255;i=1232+ea|0;if((ea|32|0)==114){i=b[q+3>>0]|0;if(!(i<<24>>24)){i=65636;aa=287;break m}ea=i&255;i=1232+ea|0;if((ea|32|0)==103){i=b[q+4>>0]|0;if(!(i<<24>>24)){i=65637;aa=287;break m}i=i&255;if((i|32|0)!=101){l=101;i=1232+i|0;break}i=b[q+5>>0]|0;if(!(i<<24>>24)){i=65638;aa=287;break m}if(i<<24>>24==61)break m;else{l=61;i=1232+(i&255)|0}}else l=103}else l=114}else l=101}else l=109;while(0);B=h[i>>0]|0;aa=291}while(0);if((aa|0)==287){B=0;l=b[1232+(h[i>>0]|0)>>0]|0;aa=291}if((aa|0)==291?(B|0)!=(l&255|0):0){if((c|0)<=10){i=1;break}n:do if(m){i=65717;aa=321}else{ea=n&255;i=1232+ea|0;do if((ea|32|0)==97){i=b[q+1>>0]|0;if(!(i<<24>>24)){i=65718;aa=321;break n}ea=i&255;i=1232+ea|0;if((ea|32|0)==117){i=b[q+2>>0]|0;if(!(i<<24>>24)){i=65719;aa=321;break n}i=i&255;if((i|32|0)!=116){k=116;i=1232+i|0;break}i=b[q+3>>0]|0;if(!(i<<24>>24)){i=65720;aa=321;break n}i=i&255;if((i|32|0)!=111){k=111;i=1232+i|0;break}i=b[q+4>>0]|0;if(!(i<<24>>24)){i=65721;aa=321;break n}i=i&255;if((i|32|0)!=109){k=109;i=1232+i|0;break}i=b[q+5>>0]|0;if(!(i<<24>>24)){i=65722;aa=321;break n}i=i&255;if((i|32|0)!=101){k=101;i=1232+i|0;break}i=b[q+6>>0]|0;if(!(i<<24>>24)){i=65723;aa=321;break n}i=i&255;if((i|32|0)!=114){k=114;i=1232+i|0;break}i=b[q+7>>0]|0;if(!(i<<24>>24)){i=65724;aa=321;break n}i=i&255;if((i|32|0)!=103){k=103;i=1232+i|0;break}i=b[q+8>>0]|0;if(!(i<<24>>24)){i=65725;aa=321;break n}i=i&255;if((i|32|0)!=101){k=101;i=1232+i|0;break}i=b[q+9>>0]|0;if(!(i<<24>>24)){i=65726;aa=321;break n}if(i<<24>>24==61)break n;else{k=61;i=1232+(i&255)|0}}else k=117}else k=97;while(0);C=h[i>>0]|0;aa=325}while(0);if((aa|0)==321){C=0;k=b[1232+(h[i>>0]|0)>>0]|0;aa=325}if((aa|0)==325?(C|0)!=(k&255|0):0){i=1;break}i=q+10|0;f[$>>2]=0;k=b[i>>0]|0;o:do if(k<<24>>24>47){m=i;i=0;l=k;k=k<<24>>24;while(1){if(!(l<<24>>24<58&(i|0)<214748363))break o;m=m+1|0;i=k+-48+(i*10|0)|0;k=b[m>>0]|0;if(k<<24>>24<=47)break;else{l=k;k=k<<24>>24}}}else i=0;while(0);m=a+48|0;f[m>>2]=(i|0)==1|(i|0)>16?8:i;k=a+233|0;if(!(b[k>>0]|0)){i=f[a+12>>2]|0;ea=f[a+20>>2]|0;f[E>>2]=f[a+16>>2];f[E+4>>2]=ea;jt($,i,65640,E);i=f[$>>2]|0;if(!i){b[k>>0]=1;aa=333}}else aa=333;do if((aa|0)==333){l=a+148|0;k=f[l>>2]|0;f[O>>2]=k;if(!k){k=f[a+20>>2]|0;f[F>>2]=f[a+16>>2];f[F+4>>2]=k;k=wd(65561,F)|0;if(!k){f[$>>2]=7;i=7;break}i=Ki(f[a+12>>2]|0,k,-1,129,0,O,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{ea=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}k=f[O>>2]|0;f[l>>2]=k;f[$>>2]=i;if(i)break}else f[$>>2]=0;c=k;do if(!(Op(c,1)|0)){i=f[c+116>>2]|0;l=i+8|0;if(!(d[l>>1]&9216)){ea=i;f[ea>>2]=2;f[ea+4>>2]=0;d[l>>1]=4;break}else{bf(i,2,0);break}}while(0);l=f[m>>2]|0;m=((l|0)<0)<<31>>31;if(Op(c,2)|0){Ei(c)|0;if(!k)i=0;else aa=351}else{k=f[c+116>>2]|0;i=k+40|0;k=k+48|0;if(!(d[k>>1]&9216)){ea=i;f[ea>>2]=l;f[ea+4>>2]=m;d[k>>1]=4}else bf(i,l,m);Ei(c)|0;aa=351}do if((aa|0)==351){i=f[c>>2]|0;ea=c+128|0;_=f[ea+4>>2]|0;if((_|0)>0|(_|0)==0&(f[ea>>2]|0)>>>0>0)Hi(i,c);k=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;ea=c+64|0;f[ea>>2]=0;f[ea+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&k;break}}while(0);f[$>>2]=i}while(0);break}i=q+6|0;m=b[i>>0]|0;p:do if(m<<24>>24>47){k=0;c=m;l=m<<24>>24;while(1){if(!(c<<24>>24<58&(k|0)<214748363)){aa=302;break p}i=i+1|0;k=l+-48+(k*10|0)|0;m=b[i>>0]|0;if(m<<24>>24>47){c=m;l=m<<24>>24}else{aa=296;break}}}else{k=0;aa=296}while(0);q:do if((aa|0)==296){if(m<<24>>24==44){i=i+1|0;m=b[i>>0]|0;if(m<<24>>24<=47){aa=302;break}l=0;c=m;m=m<<24>>24;while(1){if(!(c<<24>>24<58&(l|0)<214748363)){aa=302;break q}i=i+1|0;l=m+-48+(l*10|0)|0;m=b[i>>0]|0;if(m<<24>>24<=47){i=m;break}else{c=m;m=m<<24>>24}}}else{l=8;i=m}if(i<<24>>24!=0|(l|0)<2)aa=302;else{f[O>>2]=0;m=a+233|0;if(!(b[m>>0]|0)){i=f[a+12>>2]|0;ea=f[a+20>>2]|0;f[D>>2]=f[a+16>>2];f[D+4>>2]=ea;jt(O,i,65640,D);i=f[O>>2]|0;if(!i){b[m>>0]=1;aa=306}}else aa=306;if((aa|0)==306){i=hu(a,k,l)|0;f[O>>2]=i}k=a+248|0;l=f[k>>2]|0;r:do if(l|0){m=f[l+20>>2]|0;Fi(f[l+16>>2]|0)|0;do if(m|0){if(f[m+480>>2]|0){Kc(m,l);break r}c=l;if((f[m+304>>2]|0)>>>0>c>>>0)break;if((f[m+308>>2]|0)>>>0<=c>>>0)break;ea=m+300|0;f[l>>2]=f[ea>>2];f[ea>>2]=l;break r}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{ea=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[k>>2]=0}}while(0);if((aa|0)==302){f[O>>2]=1;i=1}}while(0);f[ca>>2]=i;break}i=f[e+(c+4<<2)>>2]|0;k=j[i+8>>1]|0;do if(!(k&4)){if(k&8|0){i=Fc(+p[i>>3])|0;ba()|0;break}if(!(k&18)){r=_;aa=444;break a}i=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;ba()|0}else i=f[i>>2]|0;while(0);if((i|0)<0)f[ca>>2]=19;else{r=_;aa=444}}else{r=a+24|0;aa=444}while(0);do if((aa|0)==444){u=Fd((f[r>>2]<<3)+8|0)|0;if(!u){f[ca>>2]=7;break}n=(f[r>>2]|0)+1|0;s=u+(n<<2)|0;_A(u|0,0,n<<3|0)|0;n=a+264|0;s:do if(!(f[n>>2]|0)){l=a+120|0;i=f[l>>2]|0;f[O>>2]=i;do if(!i){k=f[a+20>>2]|0;f[q>>2]=f[a+16>>2];f[q+4>>2]=k;k=wd(63829,q)|0;if(!k){i=7;break}i=Ki(f[a+12>>2]|0,k,-1,129,0,O,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{ea=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}k=f[O>>2]|0;f[l>>2]=k;if(!i){i=k;aa=455}}else aa=455;while(0);do if((aa|0)==455){l=i;Op(l,1)|0;Ei(l)|0;if(!i){aa=461;break s}i=f[l>>2]|0;ea=l+128|0;$=f[ea+4>>2]|0;if(($|0)>0|($|0)==0&(f[ea>>2]|0)>>>0>0)Hi(i,l);k=fg(l)|0;f[l+20>>2]=770837923;f[l+36>>2]=-1;f[l+40>>2]=0;b[l+142>>0]=2;f[l+44>>2]=0;f[l+32>>2]=1;b[l+143>>0]=-1;f[l+48>>2]=0;ea=l+64|0;f[ea>>2]=0;f[ea+4>>2]=0;if(!((k|0)==3082|(b[i+81>>0]|0)!=0)){ea=f[i+68>>2]&k;f[ca>>2]=ea;if(!ea){aa=463;break s}else break s}else{Di(i);i=7;break}}while(0);f[ca>>2]=i}else aa=461;while(0);if((aa|0)==461){f[ca>>2]=0;aa=463}t:do if((aa|0)==463){do if(y?(f[a+40>>2]|0)==0:0){i=f[e+((f[r>>2]|0)+3<<2)>>2]|0;m=i+8|0;k=d[m>>1]|0;l=-1431655766>>>(k&31);if(l&1){i=f[e+4>>2]|0;m=i+8|0;k=d[m>>1]|0;l=-1431655766>>>(k&31)}if(!(l&1)){c=f[e>>2]|0;l=d[c+8>>1]|0;if(!(-1431655766>>>(l&31)&1)){l=l&65535;do if(!(l&4)){if(l&8|0){m=Fc(+p[c>>3])|0;c=ba()|0;break}if(!(l&18)){m=0;c=0}else{ea=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;c=ba()|0;k=d[m>>1]|0;m=ea}}else{m=f[c>>2]|0;c=f[c+4>>2]|0}while(0);k=k&65535;do if(!(k&4)){if(k&8|0){k=Fc(+p[i>>3])|0;l=ba()|0;break}if(!(k&18)){k=0;l=0}else{k=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;l=ba()|0}}else{l=i;k=f[l>>2]|0;l=f[l+4>>2]|0}while(0);if((m|0)==(k|0)&(c|0)==(l|0)){l=0;break}}if((b[(f[a+12>>2]|0)+86>>0]|0)==5){k=0;i=pu(a,i,A,u)|0}else{k=1;i=qu(a,e,g)|0}f[ca>>2]=i;if(!i)l=k;else break t}else l=0}else l=0;while(0);i=f[e>>2]|0;if(!(-1431655766>>>(d[i+8>>1]&31)&1)){i=pu(a,i,A,u)|0;f[ca>>2]=i}else i=0;if(y&(i|0)==0){i=f[e+((f[r>>2]|0)+4<<2)>>2]|0;k=j[i+8>>1]|0;do if(!(k&4)){if(k&8|0){o=Fc(+p[i>>3])|0;ba()|0;break}if(!(k&18))o=0;else{o=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;ba()|0}}else o=f[i>>2]|0;while(0);u:do if(!l){ea=qu(a,e,g)|0;f[ca>>2]=ea;switch(ea|0){case 0:{aa=499;break u}case 19:break;default:break u}if(!(f[a+40>>2]|0))f[ca>>2]=267}else aa=499;while(0);v:do if((aa|0)==499){m=g;l=f[m>>2]|0;m=f[m+4>>2]|0;c=a+272|0;k=c;i=f[k>>2]|0;k=f[k+4>>2]|0;do if(!((k|0)>(m|0)|(k|0)==(m|0)&i>>>0>l>>>0)){if((i|0)==(l|0)&(k|0)==(m|0)?(f[a+284>>2]|0)==0:0){aa=504;break}i=a+280|0;if(!((f[i>>2]|0)==(o|0)?(f[n>>2]|0)<=(f[a+260>>2]|0):0))aa=504}else aa=504;while(0);do if((aa|0)==504){i=it(a)|0;if(!i){i=a+280|0;break}else{f[ca>>2]=i;break v}}while(0);ea=c;f[ea>>2]=l;f[ea+4>>2]=m;f[i>>2]=o;f[a+284>>2]=0;f[ca>>2]=0;i=f[r>>2]|0;w:do if((i|0)>0){n=a+32|0;c=2;while(1){l=c+-2|0;if(!(b[(f[n>>2]|0)+l>>0]|0)){m=e+(c<<2)|0;i=f[m>>2]|0;x:do if(!i)i=0;else{k=d[i+8>>1]|0;do if((k&514)==514){if((b[i+10>>0]|0)!=1)break;i=f[i+16>>2]|0;break x}while(0);if(k&1){i=0;break}i=Ic(i,1)|0}while(0);i=mu(a,o,i,l,s+(l<<2)|0)|0;if(i|0)break w;l=f[m>>2]|0;i=d[l+8>>1]|0;do if(!(i&2))aa=520;else{if((b[l+10>>0]|0)!=1){aa=520;break}i=f[l+12>>2]|0}while(0);do if((aa|0)==520){aa=0;k=i&65535;if(!(k&16)){if(k&1|0){i=0;break}i=_e(l,1)|0;break}else{i=f[l+12>>2]|0;if(!(k&16384))break;i=(f[l>>2]|0)+i|0;break}}while(0);ea=s+(f[r>>2]<<2)|0;f[ea>>2]=(f[ea>>2]|0)+i;i=f[r>>2]|0}if((c|0)>(i|0)){i=0;break}else c=c+1|0}}else i=0;while(0);f[ca>>2]=i}while(0);if(b[a+234>>0]|0)nu(ca,a,s);f[A>>2]=(f[A>>2]|0)+1}if(b[a+232>>0]|0)ou(ca,a,s,u,f[A>>2]|0)}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{ea=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}}while(0);i=a+248|0;k=f[i>>2]|0;if(!k){f[i>>2]=0;ea=f[ca>>2]|0;t=da;return ea|0}l=f[k+20>>2]|0;Fi(f[k+16>>2]|0)|0;if(l|0){if(f[l+480>>2]|0){Kc(l,k);f[i>>2]=0;ea=f[ca>>2]|0;t=da;return ea|0}ea=k;if((f[l+304>>2]|0)>>>0<=ea>>>0?(f[l+308>>2]|0)>>>0>ea>>>0:0){ea=l+300|0;f[k>>2]=f[ea>>2];f[ea>>2]=k;f[i>>2]=0;ea=f[ca>>2]|0;t=da;return ea|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);f[i>>2]=0;ea=f[ca>>2]|0;t=da;return ea|0}else{ea=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-ea;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);f[i>>2]=0;ea=f[ca>>2]|0;t=da;return ea|0}return 0}function Zs(a){a=a|0;var c=0,d=0,e=0,g=0;g=t;t=t+16|0;c=g;f[a+52>>2]=0;e=a+233|0;if((b[e>>0]|0)!=2){e=0;t=g;return e|0}f[c>>2]=f[a+20>>2];d=wd(63207,c)|0;if(!d){e=7;t=g;return e|0}c=rs(f[a+12>>2]|0,f[a+16>>2]|0,d,0,0,0,0,0,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](d);else{a=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d)}b[e>>0]=(c|0)==0&1;e=0;t=g;return e|0}function _s(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;c=o;e=o+8|0;m=a+12|0;l=(f[m>>2]|0)+40|0;n=f[l>>2]|0;l=f[l+4>>2]|0;g=it(a)|0;a:do if(!g){j=a+52|0;if((f[j>>2]|0)>>>0>4){k=a+48|0;switch(f[k>>2]|0){case 255:case 0:{g=0;break a}default:{}}h=a+200|0;d=f[h>>2]|0;f[e>>2]=d;do if(!d){g=f[a+20>>2]|0;f[c>>2]=f[a+16>>2];f[c+4>>2]=g;c=wd(64867,c)|0;if(!c){g=7;c=0;break}g=Ki(f[m>>2]|0,c,-1,129,0,e,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}c=f[e>>2]|0;f[h>>2]=c;if(!g){d=c;i=12}else c=0}else i=12;while(0);do if((i|0)==12){g=d;if((Ei(g)|0)==100)c=Ip(g,0)|0;else c=0;if(d){d=f[g>>2]|0;i=g+128|0;h=f[i+4>>2]|0;if((h|0)>0|(h|0)==0&(f[i>>2]|0)>>>0>0)Hi(d,g);e=fg(g)|0;f[g+20>>2]=770837923;f[g+36>>2]=-1;f[g+40>>2]=0;b[g+142>>0]=2;f[g+44>>2]=0;f[g+32>>2]=1;b[g+143>>0]=-1;f[g+48>>2]=0;i=g+64|0;f[i>>2]=0;f[i+4>>2]=0;if((e|0)==3082|(b[d+81>>0]|0)!=0){Di(d);g=7;break}else{g=f[d+68>>2]&e;break}}else g=0}while(0);c=U(f[j>>2]|0,c)|0;c=((c|0)/2|0)+c|0;if((c|0)>64)g=hu(a,c,f[k>>2]|0)|0}else g=0}while(0);c=a+248|0;d=f[c>>2]|0;do if(d|0){e=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;if(e|0){if(f[e+480>>2]|0){Kc(e,d);break}a=d;if((f[e+304>>2]|0)>>>0<=a>>>0?(f[e+308>>2]|0)>>>0>a>>>0:0){a=e+300|0;f[d>>2]=f[a>>2];f[a>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{a=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);f[c>>2]=0;m=(f[m>>2]|0)+40|0;f[m>>2]=n;f[m+4>>2]=l;t=o;return g|0}function $s(a){a=a|0;return 0}function at(a){a=a|0;ht(a);return 0}function bt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(tz(c,60035)|0)if(tz(c,60043)|0)if(tz(c,48511)|0)if(!(tz(c,60051)|0))a=3;else{d=0;return d|0}else a=2;else a=1;else a=0;f[d>>2]=f[24304+(a<<3)+4>>2];d=1;return d|0}function ct(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+96|0;p=q+72|0;o=q+56|0;l=q+40|0;j=q+24|0;i=q+8|0;d=q;m=q+84|0;g=a+12|0;n=f[g>>2]|0;k=a+233|0;if((b[k>>0]|0)==2){f[d>>2]=f[a+20>>2];e=wd(63207,d)|0;if(!e)d=7;else{d=rs(f[g>>2]|0,f[a+16>>2]|0,e,0,0,0,0,0,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{h=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}b[k>>0]=(d|0)==0&1;h=7}}else h=7;if((h|0)==7){f[m>>2]=0;d=it(a)|0}f[m>>2]=d;if(!(f[a+40>>2]|0)){h=f[a+20>>2]|0;f[i>>2]=f[a+16>>2];f[i+4>>2]=h;f[i+8>>2]=c;jt(m,n,63215,i)}if(b[a+234>>0]|0){i=f[a+20>>2]|0;f[j>>2]=f[a+16>>2];f[j+4>>2]=i;f[j+8>>2]=c;jt(m,n,63268,j)}e=a+16|0;if(!(b[k>>0]|0))d=a+20|0;else{d=a+20|0;k=f[d>>2]|0;f[l>>2]=f[e>>2];f[l+4>>2]=k;f[l+8>>2]=c;jt(m,n,63321,l)}l=f[d>>2]|0;f[o>>2]=f[e>>2];f[o+4>>2]=l;f[o+8>>2]=c;jt(m,n,63368,o);o=f[d>>2]|0;f[p>>2]=f[e>>2];f[p+4>>2]=o;f[p+8>>2]=c;jt(m,n,63422,p);t=q;return f[m>>2]|0}function dt(a,c){a=a|0;c=c|0;if(b[a+236>>0]|0){c=0;return c|0}c=_s(a)|0;return c|0}function et(a,b){a=a|0;b=b|0;return 0}function ft(a,b){a=a|0;b=b|0;ht(a);return 0}function gt(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,i=0;if(!a){i=0;return i|0}i=b[a>>0]|0;f=h[1232+(i&255)>>0]|0;c=f+-99|0;i=i<<24>>24==0;if(!(i|(c|0)!=0)){d=63175;e=a;do{e=e+1|0;d=d+1|0;g=b[e>>0]|0;c=(h[1232+(g&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(g<<24>>24==0|(c|0)!=0))}if(!c){i=1;return i|0}c=f+-100|0;if(!(i|(c|0)!=0)){d=63183;e=a;do{e=e+1|0;d=d+1|0;g=b[e>>0]|0;c=(h[1232+(g&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(g<<24>>24==0|(c|0)!=0))}if(!c){i=1;return i|0}g=f+-115|0;f=i|(g|0)!=0;if(f)c=g;else{d=63191;e=a;do{e=e+1|0;d=d+1|0;i=b[e>>0]|0;c=(h[1232+(i&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(i<<24>>24==0|(c|0)!=0))}if(!c){i=1;return i|0}if(f)c=g;else{d=63198;e=a;do{e=e+1|0;d=d+1|0;i=b[e>>0]|0;c=(h[1232+(i&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(i<<24>>24==0|(c|0)!=0))}if(!c){i=1;return i|0}if(f){i=g;i=(i|0)==0;i=i&1;return i|0}d=40655;do{a=a+1|0;d=d+1|0;i=b[a>>0]|0;c=(h[1232+(i&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(i<<24>>24==0|(c|0)!=0));i=(c|0)==0;i=i&1;return i|0}function ht(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;h=a+252|0;if((f[h>>2]|0)<=0){k=a+264|0;f[k>>2]=0;return}i=a+256|0;g=0;do{k=f[i>>2]|0;e=k+(g*24|0)+12|0;c=f[e>>2]|0;if(!c)c=0;else{do{d=f[c+8>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{l=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);c=f[c>>2]|0}while((c|0)!=0);c=f[e>>2]|0}f[e>>2]=0;d=k+(g*24|0)+20|0;e=f[d>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{l=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[d>>2]=0;f[k+(g*24|0)+16>>2]=0;if(c|0){e=k+(g*24|0)+5|0;do{d=c;c=f[c>>2]|0;do if(b[e>>0]|0?(j=f[d+12>>2]|0,j|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{l=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](d);else{l=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d)}}while((c|0)!=0)}f[k+(g*24|0)+8>>2]=0;g=g+1|0}while((g|0)<(f[h>>2]|0));l=a+264|0;f[l>>2]=0;return}function it(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+16|0;i=m;j=m+8|0;e=a+252|0;g=a+280|0;a:do if((f[e>>2]|0)>0){c=0;b:while(1){h=kt(a,f[g>>2]|0,c,-1)|0;c=c+1|0;switch(h|0){case 0:case 101:break;default:break b}if((c|0)>=(f[e>>2]|0))break a}ht(a);l=h;t=m;return l|0}while(0);ht(a);if(!(b[a+233>>0]|0)){l=0;t=m;return l|0}k=a+48|0;if((f[k>>2]|0)!=255){l=0;t=m;return l|0}if(!(f[a+52>>2]|0)){l=0;t=m;return l|0}g=a+144|0;c=f[g>>2]|0;f[j>>2]=c;if(!c){c=f[a+20>>2]|0;f[i>>2]=f[a+16>>2];f[i+4>>2]=c;c=wd(63474,i)|0;if(!c){l=7;t=m;return l|0}e=Ki(f[a+12>>2]|0,c,-1,129,0,j,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}c=f[j>>2]|0;f[g>>2]=c;if(e){l=e;t=m;return l|0}}h=c;do if(!(Op(h,1)|0)){e=f[h+116>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){j=e;f[j>>2]=2;f[j+4>>2]=0;d[g>>1]=4;break}else{bf(e,2,0);break}}while(0);switch(Ei(h)|0){case 100:{e=Ip(h,0)|0;e=(e|0)==1?8:e;l=22;break}case 101:{e=0;l=22;break}default:{}}if((l|0)==22)f[k>>2]=e;if(!c){l=0;t=m;return l|0}c=f[h>>2]|0;l=h+128|0;k=f[l+4>>2]|0;if((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)Hi(c,h);e=fg(h)|0;f[h+20>>2]=770837923;f[h+36>>2]=-1;f[h+40>>2]=0;b[h+142>>0]=2;f[h+44>>2]=0;f[h+32>>2]=1;b[h+143>>0]=-1;f[h+48>>2]=0;l=h+64|0;f[l>>2]=0;f[l+4>>2]=0;if((e|0)==3082|(b[c+81>>0]|0)!=0){Di(c);l=7;t=m;return l|0}else{l=f[c+68>>2]&e;t=m;return l|0}return 0}function jt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=t;t=t+16|0;e=g;if(f[a>>2]|0){t=g;return}f[e>>2]=d;c=lp(c,e)|0;if(!c){f[a>>2]=7;t=g;return}b=uj(b,c,0,0,0)|0;f[a>>2]=b;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);t=g;return}else{b=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);t=g;return}}function kt(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0;da=t;t=t+128|0;R=da+40|0;Q=da+32|0;P=da+24|0;O=da+16|0;x=da+8|0;i=da;S=da+120|0;y=da+104|0;aa=da+48|0;h=aa;j=h+56|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(j|0));h=lt(a,c,e,g,0,0,1,0,aa)|0;ca=aa+4|0;a:do if(!h){q=f[ca>>2]|0;if(!q){h=0;j=f[aa>>2]|0;i=aa;Z=263;break}N=(g|0)!=-1;if(N){j=a+116|0;h=f[j>>2]|0;f[S>>2]=h;if(!h){Y=f[a+20>>2]|0;f[i>>2]=f[a+16>>2];f[i+4>>2]=Y;i=wd(63516,i)|0;if(!i){h=7;Z=236;break}h=Ki(f[a+12>>2]|0,i,-1,129,0,S,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{Y=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[S>>2]|0;f[j>>2]=i;if(!h)h=i;else{Z=236;break}}n=h;o=a+252|0;i=f[o>>2]|0;p=((c|0)<0)<<31>>31;i=QA(i|0,((i|0)<0)<<31>>31|0,c|0,p|0)|0;m=((e|0)<0)<<31>>31;i=KA(i|0,ba()|0,e|0,m|0)|0;i=WA(i|0,ba()|0,10)|0;j=ba()|0;do if(!(Op(n,1)|0)){k=f[n+116>>2]|0;l=k+8|0;if(!(d[l>>1]&9216)){Y=k;f[Y>>2]=i;f[Y+4>>2]=j;d[l>>1]=4;break}else{bf(k,i,j);break}}while(0);j=f[o>>2]|0;j=QA(j|0,((j|0)<0)<<31>>31|0,c|0,p|0)|0;j=KA(j|0,ba()|0,e|0,m|0)|0;j=WA(j|0,ba()|0,10)|0;i=ba()|0;j=j|1023;do if(!(Op(n,2)|0)){l=f[n+116>>2]|0;k=l+40|0;l=l+48|0;if(!(d[l>>1]&9216)){Y=k;f[Y>>2]=j;f[Y+4>>2]=i;d[l>>1]=4;break}else{bf(k,j,i);break}}while(0);if((Ei(n)|0)==100){k=Jp(n,0)|0;j=ba()|0}else{k=0;j=0}do if(h|0){i=f[n>>2]|0;Y=n+128|0;X=f[Y+4>>2]|0;if((X|0)>0|(X|0)==0&(f[Y>>2]|0)>>>0>0)Hi(i,n);h=fg(n)|0;f[n+20>>2]=770837923;f[n+36>>2]=-1;f[n+40>>2]=0;b[n+142>>0]=2;f[n+44>>2]=0;f[n+32>>2]=1;b[n+143>>0]=-1;f[n+48>>2]=0;Y=n+64|0;f[Y>>2]=0;f[Y+4>>2]=0;if(!((h|0)==3082|(b[i+81>>0]|0)!=0)){h=f[i+68>>2]&h;if(!h)break;else{Z=236;break a}}else{Di(i);h=7;Z=236;break a}}while(0);if((g|0)==-2){if((q|0)==1?(f[(f[f[aa>>2]>>2]|0)+56>>2]|0)==0:0){h=101;Z=236;break};f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;W=0;Y=k;X=j;V=j;U=k;L=1;i=3;h=y+12|0}else{q=c;n=p;p=e;v=j;w=k;Z=33}}else{o=a+252|0;q=c;n=((c|0)<0)<<31>>31;p=e;m=((e|0)<0)<<31>>31;v=0;w=0;Z=33}do if((Z|0)==33){r=g+1|0;s=f[o>>2]|0;s=QA(q|0,n|0,s|0,((s|0)<0)<<31>>31|0)|0;s=KA(s|0,ba()|0,p|0,m|0)|0;s=WA(s|0,ba()|0,10)|0;j=((r|0)<0)<<31>>31;s=KA(s|0,ba()|0,r|0,j|0)|0;u=ba()|0;k=a+88|0;l=f[k>>2]|0;f[S>>2]=l;if(!l){i=f[a+20>>2]|0;f[x>>2]=f[a+16>>2];f[x+4>>2]=i;i=wd(63582,x)|0;if(!i){h=7;Z=236;break a}h=Ki(f[a+12>>2]|0,i,-1,129,0,S,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{Y=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}l=f[S>>2]|0;f[k>>2]=l;if(h|0){Z=236;break a}k=f[o>>2]|0;k=QA(q|0,n|0,k|0,((k|0)<0)<<31>>31|0)|0;k=KA(k|0,ba()|0,p|0,m|0)|0;k=WA(k|0,ba()|0,10)|0;j=KA(k|0,ba()|0,r|0,j|0)|0;k=ba()|0}else{j=s;k=u}m=l;do if(!(Op(m,1)|0)){h=f[m+116>>2]|0;i=h+8|0;if(!(d[i>>1]&9216)){Y=h;f[Y>>2]=j;f[Y+4>>2]=k;d[i>>1]=4;break}else{bf(h,j,k);break}}while(0);if((Ei(m)|0)==100)j=Ip(m,0)|0;else j=0;do if(l|0){h=f[m>>2]|0;Y=m+128|0;X=f[Y+4>>2]|0;if((X|0)>0|(X|0)==0&(f[Y>>2]|0)>>>0>0)Hi(h,m);i=fg(m)|0;f[m+20>>2]=770837923;f[m+36>>2]=-1;f[m+40>>2]=0;b[m+142>>0]=2;f[m+44>>2]=0;f[m+32>>2]=1;b[m+143>>0]=-1;f[m+48>>2]=0;Y=m+64|0;f[Y>>2]=0;f[Y+4>>2]=0;if(!((i|0)==3082|(b[h+81>>0]|0)!=0)){h=f[h+68>>2]&i;if(!h)break;else{Z=236;break a}}else{Di(h);h=7;Z=236;break a}}while(0);if((j|0)>15){h=kt(a,c,e,r)|0;if(!h){i=N&((u|0)>(v|0)|(u|0)==(v|0)&s>>>0>w>>>0);h=0;Z=59}else{Z=236;break a}}else if(N){i=(u|0)>(v|0)|(u|0)==(v|0)&s>>>0>w>>>0;h=j;Z=59}else{f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;h=j;j=y+12|0}if((Z|0)==59){f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;j=y+12|0;if(i){W=h;Y=s;X=u;V=v;U=w;L=0;i=3;h=j;break}}W=h;Y=s;X=u;V=v;U=w;L=0;i=1;h=j}while(0);f[h>>2]=i;f[aa+12>>2]=y;h=mt(a,aa,0,0)|0;if(!h){D=aa+40|0;E=aa+44|0;F=aa+48|0;G=aa+52|0;H=a+228|0;I=a+96|0;J=a+16|0;K=a+20|0;M=a+12|0;T=a+52|0;i=0;j=0;b:while(1){h=nt(a,aa)|0;switch(h|0){case 0:{Z=129;break b}case 100:break;default:{Z=222;break b}}B=f[D>>2]|0;C=f[E>>2]|0;z=f[F>>2]|0;A=f[G>>2]|0;if(!i){if(Mc()|0){h=7;Z=236;break a}if(!(f[9328]|0)){h=ib[f[37356>>2]&255](64)|0;if(!h){h=7;Z=236;break a}else l=h}else{h=ib[f[37372>>2]&255](64)|0;if((f[18194]|0)>>>0<64)f[18194]=64;j=71896;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)>0|(j|0)==0&i>>>0>0){y=f[18187]|0;x=LA(i|0,j|0,h|0,((h|0)<0)<<31>>31|0)|0;w=ba()|0;f[17976]=((w|0)<0|(w|0)==0&x>>>0<=y>>>0)&1}i=ib[f[37356>>2]&255](h)|0;if(!i){h=7;Z=236;break a}h=ib[f[37368>>2]&255](i)|0;h=(f[18187]|0)+h|0;f[18187]=h;if(h>>>0>(f[18191]|0)>>>0)f[18191]=h;h=(f[18190]|0)+1|0;f[18190]=h;if(h>>>0>(f[18196]|0)>>>0){f[18196]=h;l=i}else l=i}h=l;j=h+64|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(j|0));y=Fd(f[H>>2]|0)|0;f[l+48>>2]=y;if(!y){Z=221;break}f[l+40>>2]=f[H>>2];h=f[I>>2]|0;f[S>>2]=h;if(!h){i=f[K>>2]|0;f[O>>2]=f[J>>2];f[O+4>>2]=i;i=wd(63647,O)|0;if(!i){Z=81;break}h=Ki(f[M>>2]|0,i,-1,129,0,S,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{y=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[S>>2]|0;f[I>>2]=i;if(!h)h=i;else{Z=223;break}}j=h;if((Ei(j)|0)==100){w=Jp(j,0)|0;x=ba()|0;y=l+16|0;f[y>>2]=w;f[y+4>>2]=x;y=l+8|0;f[y>>2]=w;f[y+4>>2]=x}if(h){h=f[j>>2]|0;y=j+128|0;x=f[y+4>>2]|0;if((x|0)>0|(x|0)==0&(f[y>>2]|0)>>>0>0)Hi(h,j);i=fg(j)|0;f[j+20>>2]=770837923;f[j+36>>2]=-1;f[j+40>>2]=0;b[j+142>>0]=2;f[j+44>>2]=0;f[j+32>>2]=1;b[j+143>>0]=-1;f[j+48>>2]=0;y=j+64|0;f[y>>2]=0;f[y+4>>2]=0;if((i|0)==3082|(b[h+81>>0]|0)!=0){Z=92;break}h=f[h+68>>2]&i;if(h){Z=224;break}else{i=l;j=l}}else{i=l;j=l}}w=i+44|0;q=f[w>>2]|0;x=i+24|0;k=f[x>>2]|0;y=i+28|0;l=f[y>>2]|0;c:do if((l|0)>0){h=0;while(1){if((b[k+h>>0]|0)!=(b[B+h>>0]|0)){o=h;break c}h=h+1|0;if((h|0)>=(l|0)){o=h;break}}}else o=0;while(0);n=0;h=o;k=((o|0)<0)<<31>>31;do{n=n+1|0;h=VA(h|0,k|0,7)|0;k=ba()|0}while(!((h|0)==0&(k|0)==0));p=C-o|0;m=0;h=p;k=((p|0)<0)<<31>>31;do{m=m+1|0;h=VA(h|0,k|0,7)|0;k=ba()|0}while(!((h|0)==0&(k|0)==0));v=((A|0)<0)<<31>>31;h=0;k=A;l=v;do{h=h+1|0;k=VA(k|0,l|0,7)|0;l=ba()|0}while(!((k|0)==0&(l|0)==0));h=p+A+n+m+h|0;if((q|0)>0?(h+q|0)>(f[H>>2]|0):0){s=i+16|0;h=s;u=f[h>>2]|0;h=f[h+4>>2]|0;p=KA(u|0,h|0,1,0)|0;r=ba()|0;f[s>>2]=p;f[s+4>>2]=r;h=ot(a,u,h,f[i+48>>2]|0,q)|0;if(h|0){k=i;break}f[T>>2]=(f[T>>2]|0)+1;h=pt(a,i,B,o+1|0)|0;if(h|0){k=i;break}f[y>>2]=0;m=0;h=C;k=((C|0)<0)<<31>>31;while(1){h=VA(h|0,k|0,7)|0;k=ba()|0;if((h|0)==0&(k|0)==0)break;else m=m+1|0}l=0;h=A;k=v;do{l=l+1|0;h=VA(h|0,k|0,7)|0;k=ba()|0}while(!((h|0)==0&(k|0)==0));s=0;q=0;l=C+2+A+m+l|0;r=C}else{s=o;l=h;r=p}k=i+56|0;h=k;h=KA(f[h>>2]|0,f[h+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;u=ba()|0;f[k>>2]=h;f[k+4>>2]=u;k=i+40|0;u=i+48|0;h=f[u>>2]|0;if((l|0)>(f[k>>2]|0)){if(Mc()|0){k=i;h=7;break}h=Nc(h,(l|0)>0?l:0,0)|0;if(!h){k=i;h=7;break}f[u>>2]=h;f[k>>2]=l}k=h+q|0;h=k;m=s;o=((s|0)<0)<<31>>31;while(1){l=m&255;n=h+1|0;b[h>>0]=l|-128;m=VA(m|0,o|0,7)|0;o=ba()|0;if((m|0)==0&(o|0)==0)break;else h=n}b[h>>0]=l&127;k=n-k+q|0;l=(f[u>>2]|0)+k|0;h=l;n=r;p=((r|0)<0)<<31>>31;while(1){m=n&255;o=h+1|0;b[h>>0]=m|-128;n=VA(n|0,p|0,7)|0;p=ba()|0;if((n|0)==0&(p|0)==0)break;else h=o}b[h>>0]=m&127;n=o-l+k|0;YA((f[u>>2]|0)+n|0,B+s|0,r|0)|0;n=n+r|0;o=(f[u>>2]|0)+n|0;m=o;p=A;l=v;while(1){h=p&255;k=m+1|0;b[m>>0]=h|-128;p=VA(p|0,l|0,7)|0;l=ba()|0;if((p|0)==0&(l|0)==0)break;else m=k}b[m>>0]=h&127;k=k-o+n|0;YA((f[u>>2]|0)+k|0,z|0,A|0)|0;f[w>>2]=k+A;k=i+32|0;if((f[k>>2]|0)<(C|0)){l=i+36|0;h=f[l>>2]|0;m=C<<1;if(Mc()|0){k=i;h=7;break}h=Nc(h,(m|0)>0?m:0,0)|0;if(!h){k=i;h=7;break}f[k>>2]=m;f[l>>2]=h;f[x>>2]=h}else h=f[x>>2]|0;YA(h|0,B|0,C|0)|0;f[y>>2]=C}d:do if((Z|0)==81){k=l;h=7;j=l}else if((Z|0)==92){Di(h);k=l;h=7;j=l}else if((Z|0)==129){if(N){s=f[aa>>2]|0;u=f[ca>>2]|0;do if((u|0)>0){r=a+124|0;q=0;e:while(1){p=f[s+(q<<2)>>2]|0;m=p+8|0;l=m;h=f[l>>2]|0;l=f[l+4>>2]|0;do if((h|0)==0&(l|0)==0)h=0;else{k=f[r>>2]|0;f[S>>2]=k;if(!k){k=f[K>>2]|0;f[P>>2]=f[J>>2];f[P+4>>2]=k;k=wd(63715,P)|0;if(!k){Z=136;break e}h=Ki(f[M>>2]|0,k,-1,129,0,S,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{Z=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-Z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}k=f[S>>2]|0;f[r>>2]=k;if(h|0){Z=222;break d}l=m;h=f[l>>2]|0;l=f[l+4>>2]|0}o=k;do if(!(Op(o,1)|0)){m=f[o+116>>2]|0;n=m+8|0;if(!(d[n>>1]&9216)){Z=m;f[Z>>2]=h;f[Z+4>>2]=l;d[n>>1]=4;break}else{bf(m,h,l);break}}while(0);m=p+24|0;l=f[m>>2]|0;m=f[m+4>>2]|0;if(Op(o,2)|0){Ei(o)|0;if(!k){h=0;break}}else{k=f[o+116>>2]|0;h=k+40|0;k=k+48|0;if(!(d[k>>1]&9216)){Z=h;f[Z>>2]=l;f[Z+4>>2]=m;d[k>>1]=4}else bf(h,l,m);Ei(o)|0}k=f[o>>2]|0;Z=o+128|0;O=f[Z+4>>2]|0;if((O|0)>0|(O|0)==0&(f[Z>>2]|0)>>>0>0)Hi(k,o);h=fg(o)|0;f[o+20>>2]=770837923;f[o+36>>2]=-1;f[o+40>>2]=0;b[o+142>>0]=2;f[o+44>>2]=0;f[o+32>>2]=1;b[o+143>>0]=-1;f[o+48>>2]=0;Z=o+64|0;f[Z>>2]=0;f[Z+4>>2]=0;if((h|0)==3082|(b[k+81>>0]|0)!=0){Z=155;break e}h=f[k+68>>2]&h}while(0);q=q+1|0;k=(h|0)==0;if(!((q|0)<(u|0)&k)){Z=158;break}}if((Z|0)==136){h=7;Z=222;break d}else if((Z|0)==155){Di(k);h=7;Z=222;break d}else if((Z|0)==158)if(k)break;else{Z=222;break d}}while(0);do if(L){l=a+160|0;h=f[l>>2]|0;f[S>>2]=h;if(!h){k=f[K>>2]|0;f[Q>>2]=f[J>>2];f[Q+4>>2]=k;k=wd(63774,Q)|0;if(!k){h=7;Z=222;break d}h=Ki(f[M>>2]|0,k,-1,129,0,S,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{R=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}k=f[S>>2]|0;f[l>>2]=k;if(!h)h=k;else{Z=222;break d}}l=h;k=a+252|0;o=f[k>>2]|0;m=((c|0)<0)<<31>>31;o=QA(o|0,((o|0)<0)<<31>>31|0,c|0,m|0)|0;n=((e|0)<0)<<31>>31;o=KA(o|0,ba()|0,e|0,n|0)|0;o=WA(o|0,ba()|0,10)|0;p=ba()|0;do if(!(Op(l,1)|0)){q=f[l+116>>2]|0;r=q+8|0;if(!(d[r>>1]&9216)){S=q;f[S>>2]=o;f[S+4>>2]=p;d[r>>1]=4;break}else{bf(q,o,p);break}}while(0);k=f[k>>2]|0;m=QA(k|0,((k|0)<0)<<31>>31|0,c|0,m|0)|0;m=KA(m|0,ba()|0,e|0,n|0)|0;m=WA(m|0,ba()|0,10)|0;k=ba()|0;m=m|1023;if(!(Op(l,2)|0)){o=f[l+116>>2]|0;n=o+40|0;o=o+48|0;if(!(d[o>>1]&9216)){e=n;f[e>>2]=m;f[e+4>>2]=k;d[o>>1]=4;break}else{bf(n,m,k);break}}}else{l=a+120|0;h=f[l>>2]|0;f[S>>2]=h;if(!h){k=f[K>>2]|0;f[R>>2]=f[J>>2];f[R+4>>2]=k;k=wd(63829,R)|0;if(!k){h=7;Z=222;break d}h=Ki(f[M>>2]|0,k,-1,129,0,S,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](k);else{R=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k)}k=f[S>>2]|0;f[l>>2]=k;if(!h)h=k;else{Z=222;break d}}l=h;k=f[a+252>>2]|0;k=QA(k|0,((k|0)<0)<<31>>31|0,c|0,((c|0)<0)<<31>>31|0)|0;k=KA(k|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;k=WA(k|0,ba()|0,10)|0;k=KA(k|0,ba()|0,g|0,((g|0)<0)<<31>>31|0)|0;m=ba()|0;if(!(Op(l,1)|0)){n=f[l+116>>2]|0;o=n+8|0;if(!(d[o>>1]&9216)){e=n;f[e>>2]=k;f[e+4>>2]=m;d[o>>1]=4;break}else{bf(n,k,m);break}}}while(0);Ei(l)|0;do if(h){h=f[l>>2]|0;e=l+128|0;c=f[e+4>>2]|0;if((c|0)>0|(c|0)==0&(f[e>>2]|0)>>>0>0)Hi(h,l);k=fg(l)|0;f[l+20>>2]=770837923;f[l+36>>2]=-1;f[l+40>>2]=0;b[l+142>>0]=2;f[l+44>>2]=0;f[l+32>>2]=1;b[l+143>>0]=-1;f[l+48>>2]=0;e=l+64|0;f[e>>2]=0;f[e+4>>2]=0;if((k|0)==3082|(b[h+81>>0]|0)!=0){Di(h);h=7;Z=222;break d}else{h=f[h+68>>2]&k;break}}else h=0;while(0);if(!((i|0)!=0&(h|0)==0)){Z=222;break}}else if(!i){h=0;Z=236;break a}f:do if(!(f[i>>2]|0)){h=i+56|0;h=qt(a,Y,X,W,0,0,0,0,0,0,f[h>>2]|0,f[h+4>>2]|0,f[i+48>>2]|0,f[i+44>>2]|0)|0}else{k=i+16|0;C=k;B=f[C>>2]|0;C=f[C+4>>2]|0;c=KA(B|0,C|0,1,0)|0;e=ba()|0;h=k;f[h>>2]=c;f[h+4>>2]=e;h=ot(a,B,C,f[i+48>>2]|0,f[i+44>>2]|0)|0;g:do if(!h){m=f[i>>2]|0;A=i+8|0;o=A;r=f[o>>2]|0;o=f[o+4>>2]|0;q=k;l=f[q>>2]|0;q=f[q+4>>2]|0;h=f[m>>2]|0;if(!h){k=m;s=1;v=l;u=q;q=o}else{p=m;z=1;y=m;while(1){k=f[p+8>>2]|0;if(!k){m=l;n=q;k=h}else{x=z&255;m=l;n=q;w=o;do{h=0;o=r;p=w;while(1){o=VA(o|0,p|0,7)|0;p=ba()|0;if((o|0)==0&(p|0)==0)break;else h=h+1|0}o=9-h|0;p=k+36|0;b[(f[p>>2]|0)+o>>0]=x;h=(f[p>>2]|0)+(o+1)|0;u=r;v=w;while(1){s=u&255;b[h>>0]=s|-128;u=VA(u|0,v|0,7)|0;v=ba()|0;if((u|0)==0&(v|0)==0)break;else h=h+1|0}b[h>>0]=s&127;h=ot(a,m,n,(f[p>>2]|0)+o|0,(f[k+32>>2]|0)-o|0)|0;m=KA(m|0,n|0,1,0)|0;n=ba()|0;o=(f[k+12>>2]|0)+1|0;r=KA(r|0,w|0,o|0,((o|0)<0)<<31>>31|0)|0;w=ba()|0;k=f[k+4>>2]|0;o=(h|0)==0}while(o&(k|0)!=0);if(!o)break g;k=f[y>>2]|0}z=z+1|0;h=f[k>>2]|0;if(!h)break;else{o=q;r=l;p=k;l=m;q=n;y=k}}s=z&255;v=m;u=n;r=l}h=0;l=r;m=q;while(1){l=VA(l|0,m|0,7)|0;m=ba()|0;if((l|0)==0&(m|0)==0)break;else h=h+1|0}o=9-h|0;p=k+36|0;b[(f[p>>2]|0)+o>>0]=s;n=(f[p>>2]|0)+(o+1)|0;m=r;l=q;while(1){h=m&255;b[n>>0]=h|-128;m=VA(m|0,l|0,7)|0;l=ba()|0;if((m|0)==0&(l|0)==0)break;else n=n+1|0}b[n>>0]=h&127;c=KA(v|0,u|0,-1,-1)|0;e=ba()|0;S=A;h=i+56|0;h=qt(a,Y,X,W,f[S>>2]|0,f[S+4>>2]|0,B,C,c,e,f[h>>2]|0,f[h+4>>2]|0,(f[p>>2]|0)+o|0,(f[k+32>>2]|0)-o|0)|0;break f}while(0);f[T>>2]=(f[T>>2]|0)+1;Z=222;break d}while(0);f[T>>2]=(f[T>>2]|0)+1;if(!h)if((g|0)==-1|((X|0)<(V|0)|(X|0)==(V|0)&Y>>>0>>0)){h=i+56|0;k=i;h=rt(a,Y,X,f[h>>2]|0,f[h+4>>2]|0)|0}else{k=i;h=0}else k=i}else if((Z|0)==221){i=l;h=7;j=l;Z=222}else if((Z|0)==223){k=l;j=l}else if((Z|0)==224){k=l;j=l}while(0);if((Z|0)==222)if(!i){Z=236;break}else k=i;i=f[k+48>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{a=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);i=f[k+36>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{a=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);st(f[k>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](j);Z=236;break}else{Z=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-Z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);Z=236;break}}else Z=236}else Z=236;while(0);if((Z|0)==236){k=f[ca>>2]|0;j=f[aa>>2]|0;if((k|0)>0){i=0;do{l=f[j+(i<<2)>>2]|0;do if(l|0){do if((f[l+56>>2]|0)==0?(_=f[l+64>>2]|0,_|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](_);break}else{a=ib[f[37368>>2]&255](_)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](_);break}while(0);do if((b[l+5>>0]|0)==0?($=f[l+40>>2]|0,$|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127]($);break}else{a=ib[f[37368>>2]&255]($)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127]($);break}while(0);m=f[l+52>>2]|0;do if(m|0){n=f[m+20>>2]|0;Fi(f[m+16>>2]|0)|0;if(n|0){if(f[n+480>>2]|0){Kc(n,m);break}a=m;if((f[n+304>>2]|0)>>>0<=a>>>0?(f[n+308>>2]|0)>>>0>a>>>0:0){a=n+300|0;f[m>>2]=f[a>>2];f[a>>2]=m;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{a=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{a=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);i=i+1|0}while((i|0)!=(k|0));i=aa;Z=264}else{i=aa;Z=263}}if((Z|0)==263)if(!j)j=h;else Z=264;do if((Z|0)==264)if(!(f[9328]|0)){ob[f[37360>>2]&127](j);j=h;break}else{$=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-$;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);j=h;break}while(0);h=f[aa+16>>2]|0;if(!h){f[ca>>2]=0;f[i>>2]=0;t=da;return j|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);f[ca>>2]=0;f[i>>2]=0;t=da;return j|0}else{aa=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);f[ca>>2]=0;f[i>>2]=0;t=da;return j|0}return 0}function lt(a,c,e,g,h,i,k,l,m){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=t;t=t+32|0;p=O+24|0;A=O+16|0;N=O+8|0;K=O;do if((g|0)<0){p=f[a+256>>2]|0;a:do if(p){w=(l|k|0)!=0;b:do if(w){o=f[p+(e*24|0)+12>>2]|0;f[N>>2]=o;if(!o){n=0;break a}if(!i){p=0;u=0;n=0;q=0;s=o;o=0;while(1){if((u|0)==(n|0)){o=u+16|0;n=o<<2;if(Mc()|0){r=0;o=p;n=7;q=0;break b}n=Nc(q,(n|0)>0?n:0,0)|0;if(!n){r=0;o=p;n=7;q=0;break b}else{r=o;p=n;o=n;q=n}}else r=n;n=u+1|0;f[p+(u<<2)>>2]=s;s=f[f[N>>2]>>2]|0;f[N>>2]=s;if(!s)break;else{u=n;n=r}}}else{p=0;n=0;s=0;v=o;u=0;o=0;while(1){q=v;r=v;if((f[r+16>>2]|0)>=(i|0)?(Hz(f[r+12>>2]|0,h,i)|0)==0:0){if((n|0)==(s|0)){q=n+16|0;o=q<<2;if(Mc()|0){r=0;o=p;n=7;q=0;break b}r=Nc(u,(o|0)>0?o:0,0)|0;if(!r){r=0;o=p;n=7;q=0;break b}else{p=r;o=r}}else{q=s;r=u}f[p+(n<<2)>>2]=v;s=q;n=n+1|0;q=f[N>>2]|0}else r=u;v=f[q>>2]|0;f[N>>2]=v;if(!v)break;else u=r}}if((n|0)<=1)if((n|0)==1){n=1;J=31;break}else{r=0;o=p;n=0;q=0;break}else{hA(o,n,4,173);J=31;break}}else{q=p+(e*24|0)+20|0;c:do if((f[q>>2]|0?(r=p+(e*24|0)+4|0,s=jb[(b[r>>0]<<24>>24==1?171:172)&255](h,i)|0,s=(f[p+(e*24|0)+16>>2]|0)+-1&s,u=f[q>>2]|0,u|0):0)?(o=f[u+(s<<3)>>2]|0,v=(b[r>>0]|0)==1?87:88,n=f[u+(s<<3)+4>>2]|0,(o|0)!=0&(n|0)!=0):0){while(1){o=o+-1|0;if(!(lb[v&127](f[n+12>>2]|0,f[n+16>>2]|0,h,i)|0))break;n=f[n>>2]|0;if(!((o|0)!=0&(n|0)!=0))break c}f[N>>2]=n;n=1;p=N;J=31;break b}while(0);f[N>>2]=0;r=0;o=0;n=0;q=0}while(0);if((J|0)==31){n=n<<2;o=n+100|0;q=Fd(o)|0;if(!q){r=q;o=p;n=7;q=0}else{_A(q|0,0,o|0)|0;f[q>>2]=2147483647;r=q+96|0;f[q+56>>2]=r;YA(r|0,p|0,n|0)|0;r=q;o=p;n=0}}do if(w?o|0:0)if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{I=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}while(0);if((n|0)==0&(r|0)!=0){p=m+4|0;o=f[p>>2]|0;do if(!(o&15)){n=(o<<2)+64|0;o=f[m>>2]|0;if((Mc()|0)==0?(z=Nc(o,(n|0)>0?n:0,0)|0,z|0):0){f[m>>2]=z;o=f[p>>2]|0;n=z;break}do if((f[r+56>>2]|0)==0?(x=f[r+64>>2]|0,x|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](x);break}else{I=ib[f[37368>>2]&255](x)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](x);break}while(0);do if((b[r+5>>0]|0)==0?(y=f[r+40>>2]|0,y|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](y);break}else{I=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y);break}while(0);n=f[r+52>>2]|0;do if(n|0){o=f[n+20>>2]|0;Fi(f[n+16>>2]|0)|0;if(o|0){if(f[o+480>>2]|0){Kc(o,n);break}I=n;if((f[o+304>>2]|0)>>>0<=I>>>0?(f[o+308>>2]|0)>>>0>I>>>0:0){I=o+300|0;f[n>>2]=f[I>>2];f[I>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{I=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);if(!q){n=7;break a}if(!(f[9328]|0)){ob[f[37360>>2]&127](q);n=7;break a}else{n=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);n=7;break a}}else n=f[m>>2]|0;while(0);f[p>>2]=o+1;f[n+(o<<2)>>2]=q;n=0}}else n=0;while(0);if(!((g|0)!=-1&(n|0)==0)){m=0;N=n;i=(N|0)==101;N=i?m:N;t=O;return N|0}q=a+108|0;I=f[q>>2]|0;f[N>>2]=I;o=I;if(!I){p=f[a+20>>2]|0;f[A>>2]=f[a+16>>2];f[A+4>>2]=p;p=wd(64243,A)|0;if(!p){n=7;break}n=Ki(f[a+12>>2]|0,p,-1,129,0,N,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](p);else{I=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p)}o=f[N>>2]|0;f[q>>2]=o;if(n)break}w=o;n=a+252|0;r=f[n>>2]|0;p=((c|0)<0)<<31>>31;r=QA(r|0,((r|0)<0)<<31>>31|0,c|0,p|0)|0;q=((e|0)<0)<<31>>31;r=KA(r|0,ba()|0,e|0,q|0)|0;r=WA(r|0,ba()|0,10)|0;s=ba()|0;do if(!(Op(w,1)|0)){u=f[w+116>>2]|0;v=u+8|0;if(!(d[v>>1]&9216)){J=u;f[J>>2]=r;f[J+4>>2]=s;d[v>>1]=4;break}else{bf(u,r,s);break}}while(0);r=f[n>>2]|0;r=QA(r|0,((r|0)<0)<<31>>31|0,c|0,p|0)|0;r=KA(r|0,ba()|0,e|0,q|0)|0;r=WA(r|0,ba()|0,10)|0;q=ba()|0;r=r|1023;if(!(Op(w,2)|0)){p=f[w+116>>2]|0;n=p+40|0;p=p+48|0;if(!(d[p>>1]&9216)){J=n;f[J>>2]=r;f[J+4>>2]=q;d[p>>1]=4;J=98;break}else{bf(n,r,q);J=98;break}}else J=98}else{q=a+104|0;I=f[q>>2]|0;f[N>>2]=I;o=I;if(!I){I=f[a+20>>2]|0;f[p>>2]=f[a+16>>2];f[p+4>>2]=I;p=wd(64378,p)|0;if(!p){n=7;break}n=Ki(f[a+12>>2]|0,p,-1,129,0,N,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](p);else{I=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p)}o=f[N>>2]|0;f[q>>2]=o;if(n)break}n=o;q=f[a+252>>2]|0;q=QA(q|0,((q|0)<0)<<31>>31|0,c|0,((c|0)<0)<<31>>31|0)|0;q=KA(q|0,ba()|0,e|0,((e|0)<0)<<31>>31|0)|0;q=WA(q|0,ba()|0,10)|0;q=KA(q|0,ba()|0,g|0,((g|0)<0)<<31>>31|0)|0;r=ba()|0;if(!(Op(n,1)|0)){n=f[n+116>>2]|0;p=n+8|0;if(!(d[p>>1]&9216)){J=n;f[J>>2]=q;f[J+4>>2]=r;d[p>>1]=4;J=98;break}else{bf(n,q,r);J=98;break}}else J=98}while(0);d:do if((J|0)==98){C=o;D=(o|0)==0;E=(h|0)!=0;F=C+104|0;B=(k|0)==0?0:K;G=m+4|0;H=C+40|0;I=C+140|0;c=(l|k|0)==0;e=c&1;n=Ei(C)|0;if((n|0)==100){while(1){z=Jp(C,1)|0;A=ba()|0;g=N;f[g>>2]=z;f[g+4>>2]=A;g=Jp(C,2)|0;A=ba()|0;z=K;f[z>>2]=g;f[z+4>>2]=A;z=Jp(C,3)|0;A=ba()|0;g=Gp(C,4)|0;if(D)q=lf(37592)|0;else{n=f[F>>2]|0;if((n|0)!=0?(j[I>>1]|0)>4:0)n=n+160|0;else{n=f[C>>2]|0;f[n+64>>2]=25;Bg(n,25);n=37592}q=lf(n)|0;n=f[C>>2]|0;p=f[H>>2]|0;if((p|0)==3082|(b[n+81>>0]|0)!=0){Di(n);n=7}else n=f[n+68>>2]&p;f[H>>2]=n}p=N;n=f[p>>2]|0;p=f[p+4>>2]|0;if(E&((n|0)!=0|(p|0)!=0)){n=At(a,h,i,q,g,N,B)|0;if(n|0){J=146;break}p=N;n=f[p>>2]|0;p=f[p+4>>2]|0;if(c){l=K;f[l>>2]=n;f[l+4>>2]=p}}r=f[G>>2]|0;w=K;v=f[w>>2]|0;w=f[w+4>>2]|0;x=(n|0)==0&(p|0)==0?g+20|0:0;y=Fd(x+96|0)|0;if(!y){n=7;J=146;break}r=r+1|0;s=y;u=s+96|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(u|0));f[y>>2]=r;b[y+4>>0]=e;l=y+8|0;f[l>>2]=n;f[l+4>>2]=p;l=y+16|0;f[l>>2]=v;f[l+4>>2]=w;l=y+24|0;f[l>>2]=z;f[l+4>>2]=A;if(!x){g=KA(n|0,p|0,-1,-1)|0;k=ba()|0;l=y+32|0;f[l>>2]=g;f[l+4>>2]=k}else{s=y+96|0;f[y+40>>2]=s;b[y+5>>0]=1;f[y+44>>2]=g;YA(s|0,q|0,g|0)|0;s=s+g|0;u=s+20|0;do{b[s>>0]=0;s=s+1|0}while((s|0)<(u|0))}n=f[G>>2]|0;if(!(n&15)){n=(n<<2)+64|0;p=f[m>>2]|0;if(Mc()|0)break;p=Nc(p,(n|0)>0?n:0,0)|0;if(!p)break;f[m>>2]=p;n=f[G>>2]|0}else p=f[m>>2]|0;f[G>>2]=n+1;f[p+(n<<2)>>2]=y;n=Ei(C)|0;if((n|0)!=100)break d}if((J|0)==146)break;do if((f[y+56>>2]|0)==0?(L=f[y+64>>2]|0,L|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](L);break}else{N=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);break}while(0);do if((b[y+5>>0]|0)==0?(M=f[y+40>>2]|0,M|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](M);break}else{N=ib[f[37368>>2]&255](M)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](M);break}while(0);n=f[y+52>>2]|0;do if(n|0){p=f[n+20>>2]|0;Fi(f[n+16>>2]|0)|0;if(p|0){if(f[p+480>>2]|0){Kc(p,n);break}N=n;if((f[p+304>>2]|0)>>>0<=N>>>0?(f[p+308>>2]|0)>>>0>N>>>0:0){N=p+300|0;f[n>>2]=f[N>>2];f[N>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{N=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](y);else{N=ib[f[37368>>2]&255](y)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](y)}n=7}}while(0);q=o;if(!o){m=0;N=n;i=(N|0)==101;N=i?m:N;t=O;return N|0}o=f[q>>2]|0;N=q+128|0;m=f[N+4>>2]|0;if((m|0)>0|(m|0)==0&(f[N>>2]|0)>>>0>0)Hi(o,q);p=fg(q)|0;f[q+20>>2]=770837923;f[q+36>>2]=-1;f[q+40>>2]=0;b[q+142>>0]=2;f[q+44>>2]=0;f[q+32>>2]=1;b[q+143>>0]=-1;f[q+48>>2]=0;N=q+64|0;f[N>>2]=0;f[N+4>>2]=0;if((p|0)==3082|(b[o+81>>0]|0)!=0){Di(o);m=7;N=n;i=(N|0)==101;N=i?m:N;t=O;return N|0}else{m=f[o+68>>2]&p;N=n;i=(N|0)==101;N=i?m:N;t=O;return N|0}return 0}function mt(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=c+4|0;p=f[m>>2]|0;n=c+28|0;a:do if((f[n>>2]|0)==0?(o=(d|0)==0,(p|0)>0):0){l=0;b:while(1){j=f[(f[c>>2]|0)+(l<<2)>>2]|0;k=j+40|0;h=j+60|0;i=j+64|0;c:do if(o){g=vt(a,j)|0;if(g|0){q=43;break b}}else{do{g=vt(a,j)|0;if(g|0){q=43;break b}if(!(f[k>>2]|0))break c;r=f[h>>2]|0;g=Hz(f[i>>2]|0,d,(r|0)>(e|0)?e:r)|0;g=(g|0)==0?r-e|0:g}while((g|0)<0);if((g|0)!=0&(b[j+4>>0]|0)!=0){if(!(b[j+5>>0]|0)){g=f[k>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{r=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);g=j+52|0;h=f[g>>2]|0;do if(h|0){i=f[h+20>>2]|0;Fi(f[h+16>>2]|0)|0;if(i|0){if(f[i+480>>2]|0){Kc(i,h);break}r=h;if((f[i+304>>2]|0)>>>0<=r>>>0?(f[i+308>>2]|0)>>>0>r>>>0:0){r=i+300|0;f[h>>2]=f[r>>2];f[r>>2]=h;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{r=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}}while(0);f[g>>2]=0}f[k>>2]=0}}while(0);if(f[n>>2]|0)break a;l=l+1|0;if((l|0)>=(f[m>>2]|0))break a}if((q|0)==43)return g|0}while(0);d=f[c>>2]|0;n=p+-1|0;if((p|0)<=1){r=0;return r|0}a=n;while(1){c=a;a=a+-1|0;d:do if((c|0)<(p|0)){k=a;j=f[d+(a<<2)>>2]|0;do{l=k;k=k+1|0;e=d+(k<<2)|0;i=f[e>>2]|0;h=(f[j+40>>2]|0)==0;m=i;g=f[i+40>>2]|0;if(!h)if(!g){g=0;q=37}else{o=f[j+60>>2]|0;g=f[i+60>>2]|0;r=o-g|0;g=Hz(f[j+64>>2]|0,f[i+64>>2]|0,(r|0)<0?o:g)|0;g=(g|0)==0?r:g}else q=37;if((q|0)==37){q=0;g=(h&1)-((g|0)==0&1)|0}if(!g)g=(f[i>>2]|0)-(f[j>>2]|0)|0;if((g|0)<0)break d;r=d+(l<<2)|0;j=f[r>>2]|0;f[e>>2]=j;f[r>>2]=m}while((k|0)<(n|0))}while(0);if((c|0)<=1){g=0;break}}return g|0}function nt(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=t;t=t+16|0;I=$+4|0;Q=$;W=f[c+12>>2]|0;d=f[W+12>>2]|0;X=f[c>>2]|0;F=f[c+4>>2]|0;G=a+235|0;H=(b[G>>0]|0)==0?174:175;if(!F){_=0;t=$;return _|0}_=c+8|0;J=F+-1|0;K=c+44|0;L=c+40|0;M=(d&16|0)!=0;N=(F|0)>1;O=W+4|0;P=(d&32|0)==0;R=(d&34|0)!=0;S=(d&8|0)==0;T=(d&4|0)==0;U=(d&2|0)==0;V=W+8|0;E=(d&1|0)!=0;Y=c+20|0;Z=c+16|0;d=f[_>>2]|0;a:while(1){if((d|0)>0){j=0;do{d=f[X+(j<<2)>>2]|0;if(!(b[d+4>>0]|0)){d=vt(a,d)|0;if(d|0){D=184;break a}}else{i=d+40|0;if(!(b[d+5>>0]|0)){e=f[i>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{C=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);d=d+52|0;e=f[d>>2]|0;do if(e|0){g=f[e+20>>2]|0;Fi(f[e+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Kc(g,e);break}C=e;if((f[g+304>>2]|0)>>>0<=C>>>0?(f[g+308>>2]|0)>>>0>C>>>0:0){C=g+300|0;f[e>>2]=f[C>>2];f[C>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{C=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[d>>2]=0}f[i>>2]=0}j=j+1|0;d=f[_>>2]|0}while((j|0)<(d|0))}d=d+(((d|0)==(F|0))<<31>>31)|0;if((d|0)>0)do{m=d;d=d+-1|0;b:do if((m|0)<(F|0)){k=d;j=f[X+(d<<2)>>2]|0;do{l=k;k=k+1|0;n=X+(k<<2)|0;i=f[n>>2]|0;g=(f[j+40>>2]|0)==0;o=i;e=f[i+40>>2]|0;if(!g)if(!e){e=0;D=32}else{B=f[j+60>>2]|0;e=f[i+60>>2]|0;C=B-e|0;e=Hz(f[j+64>>2]|0,f[i+64>>2]|0,(C|0)<0?B:e)|0;e=(e|0)==0?C:e}else D=32;if((D|0)==32){D=0;e=(g&1)-((e|0)==0&1)|0}if(!e)e=(f[i>>2]|0)-(f[j>>2]|0)|0;if((e|0)<0)break b;C=X+(l<<2)|0;j=f[C>>2]|0;f[n>>2]=j;f[C>>2]=o}while((k|0)<(J|0))}while(0)}while((m|0)>1);f[_>>2]=0;d=f[X>>2]|0;if(!(f[d+40>>2]|0)){d=0;D=184;break}i=f[d+60>>2]|0;f[K>>2]=i;g=f[d+64>>2]|0;f[L>>2]=g;d=f[W>>2]|0;if(!(M|(d|0)==0)){e=f[O>>2]|0;if((i|0)<(e|0)|S&(i|0)>(e|0)){d=0;D=184;break}if(Hz(g,d,e)|0){d=0;D=184;break}}c:do if(N){d=1;do{e=f[X+(d<<2)>>2]|0;if(!(f[e+40>>2]|0)){D=48;break c}if((f[e+60>>2]|0)!=(i|0)){D=48;break c}if(Hz(g,f[e+64>>2]|0,i)|0){D=48;break c}d=d+1|0}while((d|0)<(F|0))}else{d=1;D=48}while(0);if((D|0)==48){D=0;if(!(R|(d|0)!=1)){d=f[X>>2]|0;e=(f[d+56>>2]|0)==0;if(!(b[G>>0]|0)){D=52;break}if(e){D=51;break}else d=1}}q=0;do{r=f[X+(q<<2)>>2]|0;if((b[G>>0]|0)!=0?(f[r+56>>2]|0)!=0:0){b[I>>0]=0;B=r+88|0;C=B;f[C>>2]=0;f[C+4>>2]=0;C=r+84|0;f[C>>2]=0;wt(0,f[r+72>>2]|0,f[r+76>>2]|0,r+80|0,B,C,I)}else D=64;d:do if((D|0)==64){D=0;n=r+72|0;k=r+40|0;o=r+52|0;e=f[o>>2]|0;e:do if(e|0){l=(f[n>>2]|0)+10|0;p=r+48|0;m=r+44|0;i=f[p>>2]|0;j=e;while(1){e=f[k>>2]|0;if((l-e|0)<=(i|0))break e;g=(f[m>>2]|0)-i|0;g=(g|0)<4096?g:4096;if(Zp(j,e+i|0,g,i,89)|0)break d;e=(f[p>>2]|0)+g|0;f[p>>2]=e;e=(f[k>>2]|0)+e|0;g=e+20|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(g|0));i=f[p>>2]|0;j=f[o>>2]|0;if((i|0)==(f[m>>2]|0))break;if(!j)break e}do if(j|0){e=f[j+20>>2]|0;Fi(f[j+16>>2]|0)|0;if(e|0){if(f[e+480>>2]|0){Kc(e,j);break}C=j;if((f[e+304>>2]|0)>>>0<=C>>>0?(f[e+308>>2]|0)>>>0>C>>>0:0){C=e+300|0;f[j>>2]=f[C>>2];f[C>>2]=j;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{C=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);f[o>>2]=0;f[p>>2]=0}while(0);l=f[n>>2]|0;k=r+88|0;e=b[l>>0]|0;g=e&255;do if(!(g&128)){C=k;f[C>>2]=e&255;f[C+4>>2]=0;e=1}else{C=h[l+1>>0]|0;e=C<<7|g&127;if(!(C&128)){C=k;f[C>>2]=e;f[C+4>>2]=0;e=2;break}C=h[l+2>>0]|0;e=C<<14|e&16383;if(!(C&128)){C=k;f[C>>2]=e;f[C+4>>2]=0;e=3;break}C=h[l+3>>0]|0;e=C<<21|e&2097151;if(!(C&128)){C=k;f[C>>2]=e;f[C+4>>2]=0;e=4;break}i=28;j=l+4|0;e=e&268435455;g=0;do{C=j;j=j+1|0;C=h[C>>0]|0;B=WA(C&127|0,0,i|0)|0;e=KA(B|0,ba()|0,e|0,g|0)|0;g=ba()|0;i=i+7|0}while(i>>>0<64&((C&128|0)!=0|0!=0));C=k;f[C>>2]=e;f[C+4>>2]=g;e=j-l|0}while(0);f[r+80>>2]=l+e}while(0);q=q+1|0}while(q>>>0>>0);C=d+-1|0;B=d>>>0>1;if(B){i=C;do{j=i;i=i+-1|0;f:do if((j|0)<(d|0)){e=i;l=f[X+(i<<2)>>2]|0;do{g=e;e=e+1|0;k=X+(e<<2)|0;if((jb[H&255](l,f[k>>2]|0)|0)<0)break f;A=X+(g<<2)|0;z=f[k>>2]|0;l=f[A>>2]|0;f[k>>2]=l;f[A>>2]=z}while((e|0)<(C|0))}while(0)}while((j|0)>1)}if(f[(f[X>>2]|0)+80>>2]|0){e=0;z=0;A=0;while(1){f[I>>2]=0;f[Q>>2]=0;y=f[X>>2]|0;n=y+88|0;o=f[n>>2]|0;n=f[n+4>>2]|0;xt(a,y,I,Q)|0;g:do if(B){g=1;do{i=f[X+(g<<2)>>2]|0;if(!(f[i+80>>2]|0))break g;y=i+88|0;if(!((f[y>>2]|0)==(o|0)?(f[y+4>>2]|0)==(n|0):0))break g;xt(a,i,0,0)|0;g=g+1|0}while(g>>>0>>0)}else g=1;while(0);if(T)i=f[Q>>2]|0;else{q=f[V>>2]|0;j=f[I>>2]|0;p=f[Q>>2]|0;r=j+p|0;k=j;m=0;while(1){h:do if(k>>>0>>0){l=0;i=k;while(1){k=b[i>>0]|0;if(!(k&254|l)){l=i;break h}i=i+1|0;if(i>>>0>>0)l=k&128;else{l=i;break}}}else l=k;while(0);i=l-j|0;if((m|0)==(q|0))break;p=p-i|0;if(!p){j=l;i=0;break}k=l+1|0;j=b[k>>0]|0;i=j&255;do if(!(i&128))j=1;else{y=b[l+2>>0]|0;i=y<<7|j&127;if(!(y&128)){j=2;break}y=b[l+3>>0]|0;i=y<<14|i&16383;if(!(y&128)){j=3;break}y=b[l+4>>0]|0;i=y<<21|i&2097151;if(!(y&128)){j=4;break}i=(b[l+5>>0]&7)<<28|i&268435455;j=5}while(0);k=k+j|0;j=l;m=i}f[I>>2]=j;f[Q>>2]=i}do if(U|(i|0)>0){l=(e|0)>0&(b[G>>0]|0)!=0;m=LA(z|0,A|0,o|0,n|0)|0;j=ba()|0;y=LA(o|0,n|0,z|0,A|0)|0;k=ba()|0;y=l?m:y;k=l?j:k;j=0;l=y;m=k;do{j=j+1|0;l=VA(l|0,m|0,7)|0;m=ba()|0}while(!((l|0)==0&(m|0)==0));j=(E?i+1|0:0)+e+j|0;if((j|0)>(f[Y>>2]|0)){j=j<<1;f[Y>>2]=j;l=f[Z>>2]|0;if(Mc()|0){D=182;break a}j=Nc(l,(j|0)>0?j:0,0)|0;if(!j){D=182;break a}f[Z>>2]=j}else j=f[Z>>2]|0;x=j+e|0;if(P){m=x;l=y;while(1){i=l&255;j=m+1|0;b[m>>0]=i|-128;l=VA(l|0,k|0,7)|0;k=ba()|0;if((l|0)==0&(k|0)==0)break;else m=j}b[m>>0]=i&127;e=j-x+e|0;if(!E)break;A=f[Q>>2]|0;YA((f[Z>>2]|0)+e|0,f[I>>2]|0,A|0)|0;e=A+e|0;b[(f[Z>>2]|0)+e>>0]=0;e=e+1|0;break}l=f[I>>2]|0;w=l+i|0;m=b[l>>0]|0;switch(m<<24>>24){case 1:{i=0;j=0;break}case 2:{i=x;m=y;q=k;while(1){j=m&255;p=i+1|0;b[i>>0]=j|-128;m=VA(m|0,q|0,7)|0;q=ba()|0;if((m|0)==0&(q|0)==0)break;else i=p}b[i>>0]=j&127;b[p>>0]=2;i=1-x+p|0;j=1;m=b[l>>0]|0;D=138;break}default:{i=0;j=0;D=138}}if((D|0)==138){D=0;m=m<<24>>24;if(m&254)do{l=l+1|0;v=m;m=b[l>>0]|0}while((m&254|v&128|0)!=0)}if(l>>>0>>0)do{r=l+1|0;p=b[r>>0]|0;m=p&255;do if(!(m&128)){l=1;v=p&255;q=0}else{v=h[l+2>>0]|0;m=v<<7|m&127;if(!(v&128)){l=2;v=m;q=0;break}v=h[l+3>>0]|0;m=v<<14|m&16383;if(!(v&128)){l=3;v=m;q=0;break}v=h[l+4>>0]|0;m=v<<21|m&2097151;if(!(v&128)){l=4;v=m;q=0;break}p=28;l=l+5|0;m=m&268435455;q=0;do{v=l;l=l+1|0;v=h[v>>0]|0;u=WA(v&127|0,0,p|0)|0;m=KA(u|0,ba()|0,m|0,q|0)|0;q=ba()|0;p=p+7|0}while(p>>>0<64&((v&128|0)!=0|0!=0));l=l-r|0;v=m}while(0);l=r+l|0;m=b[l>>0]|0;if(m<<24>>24==2){if(!j){m=x+i|0;j=m;r=y;u=k;while(1){p=r&255;s=j+1|0;b[j>>0]=p|-128;r=VA(r|0,u|0,7)|0;u=ba()|0;if((r|0)==0&(u|0)==0)break;else j=s}b[j>>0]=p&127;i=i-m+s|0;j=1}u=i+1|0;b[x+i>>0]=1;s=x+u|0;r=s;p=v;while(1){i=p&255;m=r+1|0;b[r>>0]=i|-128;p=VA(p|0,q|0,7)|0;q=ba()|0;if((p|0)==0&(q|0)==0)break;else r=m}b[r>>0]=i&127;i=m-s+u|0;b[x+i>>0]=2;i=i+1|0;m=b[l>>0]|0}m=m<<24>>24;if(m&254)do{l=l+1|0;v=m;m=b[l>>0]|0}while((m&254|v&128|0)!=0)}while(l>>>0>>0);if(j){b[x+i>>0]=0;i=i+1|0}y=(i|0)==0;e=i+e|0;o=y?z:o;n=y?A:n}else{o=z;n=A}while(0);g=g+(((g|0)==(d|0))<<31>>31)|0;if((g|0)>0)do{k=g;g=g+-1|0;i:do if((k|0)<(d|0)){i=g;m=f[X+(g<<2)>>2]|0;do{j=i;i=i+1|0;l=X+(i<<2)|0;if((jb[H&255](m,f[l>>2]|0)|0)<0)break i;A=X+(j<<2)|0;z=f[l>>2]|0;m=f[A>>2]|0;f[l>>2]=m;f[A>>2]=z}while((i|0)<(C|0))}while(0)}while((k|0)>1);if(!(f[(f[X>>2]|0)+80>>2]|0))break;else{z=o;A=n}}if((e|0)>0){D=181;break}}f[_>>2]=d}do if((D|0)==51){f[c+52>>2]=f[d+76>>2];d=d+72|0;e=100}else if((D|0)==52){i=f[d+76>>2]|0;f[c+52>>2]=i;d=d+72|0;if(e)e=100;else{g=f[d>>2]|0;if((f[Y>>2]|0)<(i|0)){e=i<<1;f[Y>>2]=e;d=f[Z>>2]|0;if(Mc()|0){d=Z;e=7;break}d=Nc(d,(e|0)>0?e:0,0)|0;if(!d){d=Z;e=7;break}f[Z>>2]=d}else d=f[Z>>2]|0;YA(d|0,g|0,i|0)|0;d=Z;e=100}}else if((D|0)==181){f[c+48>>2]=f[Z>>2];f[c+52>>2]=e;f[_>>2]=d;_=100;t=$;return _|0}else if((D|0)==182){_=7;t=$;return _|0}else if((D|0)==184){t=$;return d|0}while(0);f[c+48>>2]=f[d>>2];f[_>>2]=1;_=e;t=$;return _|0}function ot(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;j=o;k=o+8|0;l=a+92|0;i=f[l>>2]|0;f[k>>2]=i;if(!i){i=f[a+20>>2]|0;f[j>>2]=f[a+16>>2];f[j+4>>2]=i;i=wd(64166,j)|0;if(!i){n=7;t=o;return n|0}j=Ki(f[a+12>>2]|0,i,-1,129,0,k,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{a=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[k>>2]|0;f[l>>2]=i;if(j){n=j;t=o;return n|0}}k=i;do if(!(Op(k,1)|0)){j=f[k+116>>2]|0;a=j+8|0;if(!(d[a>>1]&9216)){l=j;f[l>>2]=c;f[l+4>>2]=e;d[a>>1]=4;break}else{bf(j,c,e);break}}while(0);if((g|0)==0|(Op(k,2)|0)!=0){Ei(k)|0;if(!i)i=0;else n=19}else{i=$e((f[k+116>>2]|0)+40|0,g,h,0,0)|0;if(i|0?(m=f[k>>2]|0,f[m+64>>2]=i,Bg(m,i),m=f[k>>2]|0,(i|0)==3082|(b[m+81>>0]|0)!=0):0)Di(m);Ei(k)|0;n=19}do if((n|0)==19){i=f[k>>2]|0;n=k+128|0;m=f[n+4>>2]|0;if((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)Hi(i,k);j=fg(k)|0;f[k+20>>2]=770837923;f[k+36>>2]=-1;f[k+40>>2]=0;b[k+142>>0]=2;f[k+44>>2]=0;f[k+32>>2]=1;b[k+143>>0]=-1;f[k+48>>2]=0;n=k+64|0;f[n>>2]=0;f[n+4>>2]=0;if((j|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&j;break}}while(0);Op(k,2)|0;n=i;t=o;return n|0}function pt(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;y=t;t=t+16|0;p=y+4|0;q=y;x=f[c>>2]|0;o=(x|0)!=0;a:do if(o){u=x+32|0;j=f[u>>2]|0;v=x+16|0;n=f[v>>2]|0;w=x+20|0;h=f[w>>2]|0;b:do if((h|0)>0){g=0;while(1){if((b[n+g>>0]|0)!=(b[d+g>>0]|0)){s=g;break b}g=g+1|0;if((g|0)>=(h|0)){s=g;break}}}else s=0;while(0);k=((s|0)<0)<<31>>31;m=0;g=s;h=k;do{m=m+1|0;g=VA(g|0,h|0,7)|0;h=ba()|0}while(!((g|0)==0&(h|0)==0));r=e-s|0;i=((r|0)<0)<<31>>31;g=0;h=r;l=i;do{g=g+1|0;h=VA(h|0,l|0,7)|0;l=ba()|0}while(!((h|0)==0&(l|0)==0));h=r+j+m+g|0;g=f[a+228>>2]|0;do if((h|0)>(g|0)){if(n|0)break a;c=Fd(h)|0;f[x+36>>2]=c;if(!c){e=7;t=y;return e|0}else{g=f[v>>2]|0;break}}else g=n;while(0);a=x+36|0;if(g){m=(f[a>>2]|0)+j|0;l=m;n=s;while(1){g=n&255;h=l+1|0;b[l>>0]=g|-128;n=VA(n|0,k|0,7)|0;k=ba()|0;if((n|0)==0&(k|0)==0)break;else l=h}b[l>>0]=g&127;j=j-m+h|0}l=(f[a>>2]|0)+j|0;k=l;m=r;while(1){g=m&255;h=k+1|0;b[k>>0]=g|-128;m=VA(m|0,i|0,7)|0;i=ba()|0;if((m|0)==0&(i|0)==0)break;else k=h}b[k>>0]=g&127;j=h-l+j|0;YA((f[a>>2]|0)+j|0,d+s|0,r|0)|0;f[u>>2]=j+r;j=x+12|0;f[j>>2]=(f[j>>2]|0)+1;j=x+24|0;i=x+28|0;g=f[i>>2]|0;do if((f[j>>2]|0)<(e|0)){h=e<<1;if(Mc()|0){e=7;t=y;return e|0}g=Nc(g,(h|0)>0?h:0,0)|0;if(!g){e=7;t=y;return e|0}else{f[j>>2]=h;f[i>>2]=g;break}}while(0);f[v>>2]=g;YA(g|0,d|0,e|0)|0;f[w>>2]=e;e=0;t=y;return e|0}else g=f[a+228>>2]|0;while(0);j=Fd(g+40|0)|0;f[p>>2]=j;g=j;if(!j){e=7;t=y;return e|0};f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;f[j+28>>2]=0;f[j+32>>2]=11;f[j+36>>2]=j+40;if(o){f[q>>2]=f[x>>2];h=pt(a,q,d,e)|0;i=f[q>>2]|0;if(!(f[x>>2]|0))f[x>>2]=i;f[x+4>>2]=g;f[j+8>>2]=f[x+8>>2];f[j>>2]=i;e=x+28|0;f[j+28>>2]=f[e>>2];f[j+24>>2]=f[x+24>>2];f[e>>2]=0}else{f[j+8>>2]=j;h=pt(a,p,d,e)|0;g=f[p>>2]|0}f[c>>2]=g;e=h;t=y;return e|0}function qt(a,c,e,g,h,i,j,k,l,m,n,o,p,q){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;z=t;t=t+32|0;w=z+8|0;s=z;u=z+24|0;v=a+100|0;r=f[v>>2]|0;f[u>>2]=r;if(!r){r=f[a+20>>2]|0;f[s>>2]=f[a+16>>2];f[s+4>>2]=r;r=wd(64108,s)|0;if(!r){y=7;t=z;return y|0}s=Ki(f[a+12>>2]|0,r,-1,129,0,u,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](r);else{a=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r)}r=f[u>>2]|0;f[v>>2]=r;if(!s)u=r;else{y=s;t=z;return y|0}}else u=r;v=u;do if(!(Op(v,1)|0)){r=f[v+116>>2]|0;s=r+8|0;if(!(d[s>>1]&9216)){a=r;f[a>>2]=c;f[a+4>>2]=e;d[s>>1]=4;break}else{bf(r,c,e);break}}while(0);r=((g|0)<0)<<31>>31;do if(!(Op(v,2)|0)){a=f[v+116>>2]|0;s=a+40|0;a=a+48|0;if(!(d[a>>1]&9216)){e=s;f[e>>2]=g;f[e+4>>2]=r;d[a>>1]=4;break}else{bf(s,g,r);break}}while(0);do if(!(Op(v,3)|0)){s=f[v+116>>2]|0;r=s+80|0;s=s+88|0;if(!(d[s>>1]&9216)){g=r;f[g>>2]=h;f[g+4>>2]=i;d[s>>1]=4;break}else{bf(r,h,i);break}}while(0);do if(!(Op(v,4)|0)){s=f[v+116>>2]|0;r=s+120|0;s=s+128|0;if(!(d[s>>1]&9216)){i=r;f[i>>2]=j;f[i+4>>2]=k;d[s>>1]=4;break}else{bf(r,j,k);break}}while(0);do if((n|0)==0&(o|0)==0){if(!(Op(v,5)|0)){s=f[v+116>>2]|0;r=s+160|0;s=s+168|0;if(!(d[s>>1]&9216)){w=r;f[w>>2]=l;f[w+4>>2]=m;d[s>>1]=4;break}else{bf(r,l,m);break}}}else{r=w;f[r>>2]=l;f[r+4>>2]=m;r=w+8|0;f[r>>2]=n;f[r+4>>2]=o;r=wd(64156,w)|0;if(!r){y=7;t=z;return y|0}else{Sp(v,5,r,-1,101,1)|0;break}}while(0);if((p|0)==0|(Op(v,6)|0)!=0){Ei(v)|0;if(!u)r=0;else y=38}else{r=$e((f[v+116>>2]|0)+200|0,p,q,0,0)|0;if(r|0?(x=f[v>>2]|0,f[x+64>>2]=r,Bg(x,r),x=f[v>>2]|0,(r|0)==3082|(b[x+81>>0]|0)!=0):0)Di(x);Ei(v)|0;y=38}do if((y|0)==38){r=f[v>>2]|0;y=v+128|0;x=f[y+4>>2]|0;if((x|0)>0|(x|0)==0&(f[y>>2]|0)>>>0>0)Hi(r,v);s=fg(v)|0;f[v+20>>2]=770837923;f[v+36>>2]=-1;f[v+40>>2]=0;b[v+142>>0]=2;f[v+44>>2]=0;f[v+32>>2]=1;b[v+143>>0]=-1;f[v+48>>2]=0;y=v+64|0;f[y>>2]=0;f[y+4>>2]=0;if((s|0)==3082|(b[r+81>>0]|0)!=0){Di(r);r=7;break}else{r=f[r+68>>2]&s;break}}while(0);Op(v,6)|0;y=r;t=z;return y|0}function rt(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=t;t=t+32|0;x=B+16|0;w=B+8|0;k=B;y=B+24|0;l=a+204|0;i=f[l>>2]|0;f[y>>2]=i;if(!i){i=f[a+20>>2]|0;f[k>>2]=f[a+16>>2];f[k+4>>2]=i;i=wd(63872,k)|0;if(!i){e=7;t=B;return e|0}k=Ki(f[a+12>>2]|0,i,-1,129,0,y,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{A=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[y>>2]|0;f[l>>2]=i;if(k){e=k;t=B;return e|0}}n=OA(c|0,e|0,1024,0)|0;n=WA(n|0,ba()|0,10)|0;m=ba()|0;n=n|1023;s=QA(g|0,h|0,3,0)|0;s=OA(s|0,ba()|0,2,0)|0;u=ba()|0;A=i;k=KA(c|0,e|0,1,0)|0;l=ba()|0;do if(!(Op(A,1)|0)){g=f[A+116>>2]|0;h=g+8|0;if(!(d[h>>1]&9216)){z=g;f[z>>2]=k;f[z+4>>2]=l;d[h>>1]=4;break}else{bf(g,k,l);break}}while(0);do if(!(Op(A,2)|0)){l=f[A+116>>2]|0;k=l+40|0;l=l+48|0;if(!(d[l>>1]&9216)){z=k;f[z>>2]=n;f[z+4>>2]=m;d[l>>1]=4;break}else{bf(k,n,m);break}}while(0);a:do if((Ei(A)|0)==100){p=A+104|0;q=A+140|0;r=A+40|0;if(!i){e=0;t=B;return e|0}while(1){k=f[p>>2]|0;if((k|0)!=0?(j[q>>1]|0)>2:0)k=k+80|0;else{k=f[A>>2]|0;f[k+64>>2]=25;Bg(k,25);k=37592}l=d[k+8>>1]|0;if((l&514)==514?(b[k+10>>0]|0)==1:0)o=f[k+16>>2]|0;else if(!(l&1))o=Ic(k,1)|0;else o=0;k=f[A>>2]|0;l=f[r>>2]|0;if((l|0)==3082|(b[k+81>>0]|0)!=0){Di(k);k=7}else k=f[k+68>>2]&l;f[r>>2]=k;if(!o){l=0;break a}if(((b[o>>0]|0)+-48&255)<10){k=0;do k=k+1|0;while(((b[o+k>>0]|0)+-48&255)<10)}else k=0;b:while(1){l=b[o+k>>0]|0;switch(l<<24>>24){case 45:{v=40;break b}case 32:break;default:{m=1;n=0;break b}}k=k+1|0}if((v|0)==40){v=0;l=k+1|0;k=l;l=b[o+l>>0]|0;m=-1;n=-1}if((l+-48&255)<10){g=0;h=0;do{h=QA(g|0,h|0,10,0)|0;g=(l&255)+-48|0;g=KA(h|0,ba()|0,g|0,((g|0)<0)<<31>>31|0)|0;h=ba()|0;k=k+1|0;l=b[o+k>>0]|0}while((l+-48&255)<10);l=g;k=h}else{l=0;k=0}l=QA(l|0,k|0,m|0,n|0)|0;z=ba()|0;k=(z|0)<0|(z|0)==0&l>>>0<1;l=(z|0)>(u|0)|(z|0)==(u|0)&l>>>0>s>>>0;if(k|l){v=45;break}if((Ei(A)|0)!=100){v=46;break}}if((v|0)==45){l=(k|l)^1;break}else if((v|0)==46){l=(k|l)^1;break}}else l=0;while(0);do if(!i){i=0;z=1}else{i=f[A>>2]|0;z=A+128|0;v=f[z+4>>2]|0;if((v|0)>0|(v|0)==0&(f[z>>2]|0)>>>0>0)Hi(i,A);k=fg(A)|0;f[A+20>>2]=770837923;f[A+36>>2]=-1;f[A+40>>2]=0;b[A+142>>0]=2;f[A+44>>2]=0;f[A+32>>2]=1;b[A+143>>0]=-1;f[A+48>>2]=0;z=A+64|0;f[z>>2]=0;f[z+4>>2]=0;if(!((k|0)==3082|(b[i+81>>0]|0)!=0)){i=f[i+68>>2]&k;z=0;break}Di(i);e=7;t=B;return e|0}while(0);if(!(l&(i|0)==0)){e=i;t=B;return e|0}l=a+208|0;i=f[l>>2]|0;f[y>>2]=i;if(!i){i=f[a+20>>2]|0;f[w>>2]=f[a+16>>2];f[w+4>>2]=i;i=wd(63978,w)|0;if(!i){e=7;t=B;return e|0}k=Ki(f[a+12>>2]|0,i,-1,129,0,y,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{w=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[y>>2]|0;f[l>>2]=i;if(!k)g=i;else{e=k;t=B;return e|0}}else g=i;l=a+212|0;i=f[l>>2]|0;f[y>>2]=i;if(!i){i=f[a+20>>2]|0;f[x>>2]=f[a+16>>2];f[x+4>>2]=i;i=wd(64051,x)|0;if(!i){e=7;t=B;return e|0}k=Ki(f[a+12>>2]|0,i,-1,129,0,y,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{a=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}i=f[y>>2]|0;f[l>>2]=i;if(!k)y=i;else{e=k;t=B;return e|0}}else y=i;do if(!(Op(A,1)|0)){i=f[A+116>>2]|0;k=i+8|0;if(!(d[k>>1]&9216)){a=i;f[a>>2]=c;f[a+4>>2]=e;d[k>>1]=4;break}else{bf(i,c,e);break}}while(0);c:do if((Ei(A)|0)==100){m=g;n=m+116|0;o=m+128|0;p=m+20|0;q=m+36|0;r=m+40|0;s=m+142|0;u=m+44|0;v=m+32|0;w=m+143|0;x=m+48|0;a=m+64|0;d:do if(!g){h=0;while(1){do if(!(Op(m,1)|0)){i=f[n>>2]|0;k=i+8|0;if(!(d[k>>1]&9216)){g=i;f[g>>2]=h;f[g+4>>2]=0;d[k>>1]=4;break}else{bf(i,h,0);break}}while(0);i=Ip(A,0)|0;k=((i|0)<0)<<31>>31;do if(!(Op(m,2)|0)){g=f[n>>2]|0;l=g+40|0;g=g+48|0;if(!(d[g>>1]&9216)){f[l>>2]=i;f[l+4>>2]=k;d[g>>1]=4;break}else{bf(l,i,k);break}}while(0);i=Ip(A,1)|0;k=((i|0)<0)<<31>>31;if(!(Op(m,3)|0)){g=f[n>>2]|0;l=g+80|0;g=g+88|0;if(!(d[g>>1]&9216)){f[l>>2]=i;f[l+4>>2]=k;d[g>>1]=4}else bf(l,i,k);Ei(m)|0;i=f[m>>2]|0;g=o;l=f[g+4>>2]|0;if((l|0)>0|(l|0)==0&(f[g>>2]|0)>>>0>0)Hi(i,m);k=fg(m)|0;f[p>>2]=770837923;f[q>>2]=-1;f[r>>2]=0;b[s>>0]=2;f[u>>2]=0;f[v>>2]=1;b[w>>0]=-1;f[x>>2]=0;g=a;f[g>>2]=0;f[g+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){v=113;break d}i=f[i+68>>2]&k;if(i|0){v=115;break d}}else Ei(m)|0;if((Ei(A)|0)==100)h=h+1|0;else break c}}else{h=0;while(1){do if(!(Op(m,1)|0)){i=f[n>>2]|0;k=i+8|0;if(!(d[k>>1]&9216)){g=i;f[g>>2]=h;f[g+4>>2]=0;d[k>>1]=4;break}else{bf(i,h,0);break}}while(0);i=Ip(A,0)|0;k=((i|0)<0)<<31>>31;do if(!(Op(m,2)|0)){g=f[n>>2]|0;l=g+40|0;g=g+48|0;if(!(d[g>>1]&9216)){f[l>>2]=i;f[l+4>>2]=k;d[g>>1]=4;break}else{bf(l,i,k);break}}while(0);i=Ip(A,1)|0;k=((i|0)<0)<<31>>31;if(!(Op(m,3)|0)){g=f[n>>2]|0;l=g+80|0;g=g+88|0;if(!(d[g>>1]&9216)){f[l>>2]=i;f[l+4>>2]=k;d[g>>1]=4}else bf(l,i,k);Ei(m)|0}else Ei(m)|0;i=f[m>>2]|0;g=o;l=f[g+4>>2]|0;if((l|0)>0|(l|0)==0&(f[g>>2]|0)>>>0>0)Hi(i,m);k=fg(m)|0;f[p>>2]=770837923;f[q>>2]=-1;f[r>>2]=0;b[s>>0]=2;f[u>>2]=0;f[v>>2]=1;b[w>>0]=-1;f[x>>2]=0;g=a;f[g>>2]=0;f[g+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){v=113;break d}i=f[i+68>>2]&k;if(i|0){v=115;break d}if((Ei(A)|0)==100)h=h+1|0;else break c}}while(0);if((v|0)==113){Di(i);if(z){e=7;t=B;return e|0}else k=7}else if((v|0)==115)if(z){e=i;t=B;return e|0}else k=i;i=f[A>>2]|0;e=A+128|0;c=f[e+4>>2]|0;if((c|0)>0|(c|0)==0&(f[e>>2]|0)>>>0>0)Hi(i,A);e=fg(A)|0;f[A+20>>2]=770837923;f[A+36>>2]=-1;f[A+40>>2]=0;b[A+142>>0]=2;f[A+44>>2]=0;f[A+32>>2]=1;b[A+143>>0]=-1;f[A+48>>2]=0;c=A+64|0;f[c>>2]=0;f[c+4>>2]=0;if(!((e|0)==3082|(b[i+81>>0]|0)!=0)){e=k;t=B;return e|0}Di(i);e=k;t=B;return e|0}while(0);do if(!z){i=f[A>>2]|0;z=A+128|0;a=f[z+4>>2]|0;if((a|0)>0|(a|0)==0&(f[z>>2]|0)>>>0>0)Hi(i,A);k=fg(A)|0;f[A+20>>2]=770837923;f[A+36>>2]=-1;f[A+40>>2]=0;b[A+142>>0]=2;f[A+44>>2]=0;f[A+32>>2]=1;b[A+143>>0]=-1;f[A+48>>2]=0;A=A+64|0;f[A>>2]=0;f[A+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);e=7;t=B;return e|0}else{i=f[i+68>>2]&k;if(!i)break;t=B;return i|0}}while(0);l=y;if(Op(l,1)|0){Ei(l)|0;if(!y){e=0;t=B;return e|0}}else{i=f[l+116>>2]|0;k=i+8|0;if(!(d[k>>1]&9216)){A=i;f[A>>2]=c;f[A+4>>2]=e;d[k>>1]=4}else bf(i,c,e);Ei(l)|0}i=f[l>>2]|0;e=l+128|0;c=f[e+4>>2]|0;if((c|0)>0|(c|0)==0&(f[e>>2]|0)>>>0>0)Hi(i,l);k=fg(l)|0;f[l+20>>2]=770837923;f[l+36>>2]=-1;f[l+40>>2]=0;b[l+142>>0]=2;f[l+44>>2]=0;f[l+32>>2]=1;b[l+143>>0]=-1;f[l+48>>2]=0;e=l+64|0;f[e>>2]=0;f[e+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);e=7;t=B;return e|0}else{e=f[i+68>>2]&k;t=B;return e|0}return 0}function st(a){a=a|0;var b=0,c=0,d=0;if(!a)return;a=f[a+8>>2]|0;st(f[a>>2]|0);if(!a)return;do{c=a;a=f[a+4>>2]|0;b=f[c+36>>2]|0;do if(!((b|0)==(c+40|0)|(b|0)==0))if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{d=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[c+28>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{d=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}}while((a|0)!=0);return}function tt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=((f[a+80>>2]|0)==0&1)-((f[b+80>>2]|0)==0&1)|0;if(c|0){b=c;return b|0}d=a+88|0;c=f[d>>2]|0;d=f[d+4>>2]|0;g=b+88|0;e=f[g>>2]|0;g=f[g+4>>2]|0;if((c|0)==(e|0)&(d|0)==(g|0)){b=(f[b>>2]|0)-(f[a>>2]|0)|0;return b|0}else{b=(d|0)>(g|0)|(d|0)==(g|0)&c>>>0>e>>>0?1:-1;return b|0}return 0}function ut(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=((f[a+80>>2]|0)==0&1)-((f[b+80>>2]|0)==0&1)|0;if(c|0){b=c;return b|0}d=a+88|0;c=f[d>>2]|0;d=f[d+4>>2]|0;g=b+88|0;e=f[g>>2]|0;g=f[g+4>>2]|0;if((c|0)==(e|0)&(d|0)==(g|0)){b=(f[b>>2]|0)-(f[a>>2]|0)|0;return b|0}else{b=(d|0)<(g|0)|(d|0)==(g|0)&c>>>0>>0?1:-1;return b|0}return 0}function vt(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c+72|0;d=f[r>>2]|0;if(!d)d=f[c+40>>2]|0;else d=d+(f[c+76>>2]|0)|0;if((d|0)!=0?(e=c+40|0,g=f[e>>2]|0,d>>>0<(g+(f[c+44>>2]|0)|0)>>>0):0){k=d;h=g;p=e}else q=6;do if((q|0)==6){j=c+56|0;d=f[j>>2]|0;if(d|0){e=f[d>>2]|0;i=c+40|0;d=f[i>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{q=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);f[i>>2]=0;if(!e){r=0;return r|0}g=f[e+8>>2]|0;h=(f[g>>2]|0)+1|0;f[c+64>>2]=f[e+12>>2];f[c+60>>2]=f[e+16>>2];d=Fd(h)|0;if(!d){r=7;return r|0}YA(d|0,f[g+4>>2]|0,h|0)|0;f[c+76>>2]=h;f[c+44>>2]=h;f[r>>2]=d;f[i>>2]=d;f[j>>2]=(f[j>>2]|0)+4;r=0;return r|0}i=c+40|0;if(!(b[c+5>>0]|0)){d=f[i>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{p=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);d=c+52|0;e=f[d>>2]|0;do if(e|0){g=f[e+20>>2]|0;Fi(f[e+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Kc(g,e);break}p=e;if((f[g+304>>2]|0)>>>0<=p>>>0?(f[g+308>>2]|0)>>>0>p>>>0:0){p=g+300|0;f[e>>2]=f[p>>2];f[p>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{p=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[d>>2]=0}f[i>>2]=0;g=c+32|0;e=g;d=f[e>>2]|0;e=f[e+4>>2]|0;p=c+16|0;n=f[p+4>>2]|0;if(!((e|0)<(n|0)|((e|0)==(n|0)?d>>>0<(f[p>>2]|0)>>>0:0))){r=0;return r|0}p=KA(d|0,e|0,1,0)|0;d=ba()|0;n=g;f[n>>2]=p;f[n+4>>2]=d;d=yt(a,p,d,i,c+44|0)|0;if(!d){h=f[i>>2]|0;k=h;p=i;break}else{r=d;return r|0}}while(0);n=c+52|0;g=f[n>>2]|0;a:do if(g){d=h;i=k+20|0;a=c+48|0;j=c+44|0;e=f[a>>2]|0;if((i-d|0)>(e|0)){while(1){h=(f[j>>2]|0)-e|0;h=(h|0)<4096?h:4096;d=Zp(g,d+e|0,h,e,89)|0;if(d|0){o=d;q=94;break}g=(f[a>>2]|0)+h|0;f[a>>2]=g;g=(f[p>>2]|0)+g|0;h=g+20|0;do{b[g>>0]=0;g=g+1|0}while((g|0)<(h|0));e=f[a>>2]|0;l=f[n>>2]|0;if((e|0)==(f[j>>2]|0))break;if(!l){j=0;break a}d=f[p>>2]|0;if((i-d|0)<=(e|0)){j=l;break a}else g=l}if((q|0)==94)return o|0;do if(l|0){d=f[l+20>>2]|0;Fi(f[l+16>>2]|0)|0;if(d|0){if(f[d+480>>2]|0){Kc(d,l);break}m=l;if((f[d+304>>2]|0)>>>0<=m>>>0?(f[d+308>>2]|0)>>>0>m>>>0:0){m=d+300|0;f[l>>2]=f[m>>2];f[m>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{m=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[n>>2]=0;f[a>>2]=0;j=0}else j=g}else j=0;while(0);e=b[k>>0]|0;d=e&255;if(d&128){m=b[k+1>>0]|0;d=m<<7|e&127;if(m&128){m=b[k+2>>0]|0;d=m<<14|d&16383;if(m&128){m=b[k+3>>0]|0;d=m<<21|d&2097151;if(!(m&128))e=4;else{d=(b[k+4>>0]&7)<<28|d&268435455;e=5}}else e=3}else e=2}else e=1;h=k+e|0;g=b[h>>0]|0;e=g&255;if(e&128){m=b[h+1>>0]|0;e=m<<7|g&127;if(m&128){m=b[h+2>>0]|0;e=m<<14|e&16383;if(m&128){m=b[h+3>>0]|0;e=m<<21|e&2097151;if(!(m&128))g=4;else{e=(b[h+4>>0]&7)<<28|e&268435455;g=5}}else g=3}else g=2}else g=1;l=h+g|0;if((e|0)<1){r=267;return r|0}m=c+44|0;k=l;if(((f[p>>2]|0)+(f[m>>2]|0)-k|0)<(e|0)){r=267;return r|0}a=c+68|0;g=f[a>>2]|0;if((d|0)>(g|0)){r=267;return r|0}h=KA(e|0,((e|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;i=ba()|0;s=((g|0)<0)<<31>>31;do if((i|0)>(s|0)|(i|0)==(s|0)&h>>>0>g>>>0){i=WA(h|0,i|0,1)|0;g=ba()|0;j=c+64|0;h=f[j>>2]|0;if(Mc()|0){s=7;return s|0}g=Nc(h,i,g)|0;if(!g){s=7;return s|0}else{f[j>>2]=g;f[a>>2]=i;g=f[n>>2]|0;break}}else g=j;while(0);b:do if(g|0){a=e+10+k|0;k=c+48|0;h=f[k>>2]|0;j=g;while(1){g=f[p>>2]|0;if((a-g|0)<=(h|0))break b;i=(f[m>>2]|0)-h|0;i=(i|0)<4096?i:4096;g=Zp(j,g+h|0,i,h,89)|0;if(g|0){o=g;q=94;break}g=(f[k>>2]|0)+i|0;f[k>>2]=g;g=(f[p>>2]|0)+g|0;h=g+20|0;do{b[g>>0]=0;g=g+1|0}while((g|0)<(h|0));h=f[k>>2]|0;j=f[n>>2]|0;if((h|0)==(f[m>>2]|0))break;if(!j)break b}if((q|0)==94)return o|0;do if(j|0){g=f[j+20>>2]|0;Fi(f[j+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Kc(g,j);break}s=j;if((f[g+304>>2]|0)>>>0<=s>>>0?(f[g+308>>2]|0)>>>0>s>>>0:0){s=g+300|0;f[j>>2]=f[s>>2];f[s>>2]=j;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{s=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);f[n>>2]=0;f[k>>2]=0}while(0);YA((f[c+64>>2]|0)+d|0,l|0,e|0)|0;f[c+60>>2]=e+d;g=l+e|0;d=b[g>>0]|0;e=d&255;h=c+76|0;if(e&128){s=b[g+1>>0]|0;d=s<<7|d&127;if(s&128){s=b[g+2>>0]|0;d=s<<14|d&16383;if(s&128){s=b[g+3>>0]|0;d=s<<21|d&2097151;if(!(s&128)){e=d;d=4}else{e=(b[g+4>>0]&7)<<28|d&268435455;d=5}}else{e=d;d=3}}else{e=d;d=2}}else d=1;f[h>>2]=e;d=g+d|0;f[r>>2]=d;f[c+80>>2]=0;if(((f[p>>2]|0)+(f[m>>2]|0)-d|0)<(e|0)){s=267;return s|0}if((f[c+48>>2]|0)==0?b[d+(e+-1)>>0]|0:0){s=267;return s|0}s=0;return s|0}function wt(a,c,d,e,g,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=f[e>>2]|0;if(!k){p=c+d|0;if((d|0)>0){o=(a|0)==0?1:-1;j=1;d=0;a=0;while(1){l=b[c>>0]|0;k=l&255;do if(!(k&128)){n=1;m=l&255;l=0}else{n=h[c+1>>0]|0;k=n<<7|k&127;if(!(n&128)){n=2;m=k;l=0;break}n=h[c+2>>0]|0;k=n<<14|k&16383;if(!(n&128)){n=3;m=k;l=0;break}n=h[c+3>>0]|0;k=n<<21|k&2097151;if(!(n&128)){n=4;m=k;l=0;break}m=28;n=c+4|0;k=k&268435455;l=0;do{q=n;n=n+1|0;q=h[q>>0]|0;r=WA(q&127|0,0,m|0)|0;k=KA(r|0,ba()|0,k|0,l|0)|0;l=ba()|0;m=m+7|0}while(m>>>0<64&((q&128|0)!=0|0!=0));n=n-c|0;m=k}while(0);k=c+n|0;m=QA(m|0,l|0,j|0,((j|0)<0)<<31>>31|0)|0;n=ba()|0;c=k;l=0;while(1){j=b[c>>0]|0;c=c+1|0;if(!(l<<24>>24|j))break;else l=j&128}d=KA(m|0,n|0,d|0,a|0)|0;a=ba()|0;a:do if(c>>>0

>>0)do{if(b[c>>0]|0)break a;c=c+1|0}while(c>>>0

>>0);while(0);if(c>>>0

>>0)j=o;else break}}else{k=0;d=0;a=0}f[i>>2]=p-k;f[e>>2]=k;r=g;f[r>>2]=d;f[r+4>>2]=a;return}n=(a|0)==0;a=k+-2|0;b:do if(a>>>0>>0)o=a;else while(1){if((b[a>>0]|0)>=0){o=a;break b}a=a+-1|0;if(a>>>0>>0){o=a;break}}while(0);m=o+1|0;p=m;a=b[m>>0]|0;d=a&255;do if(!(d&128)){a=a&255;d=0}else{r=h[o+2>>0]|0;a=r<<7|d&127;if(!(r&128)){d=0;break}r=h[o+3>>0]|0;a=r<<14|a&16383;if(!(r&128)){d=0;break}r=h[o+4>>0]|0;a=r<<21|a&2097151;if(!(r&128)){d=0;break}k=28;l=o+5|0;a=a&268435455;d=0;while(1){r=h[l>>0]|0;q=WA(r&127|0,0,k|0)|0;a=KA(q|0,ba()|0,a|0,d|0)|0;d=ba()|0;k=k+7|0;if(!(k>>>0<64&((r&128|0)!=0|0!=0)))break;else l=l+1|0}}while(0);q=QA(a|0,d|0,(n?1:-1)|0,(n?0:-1)|0)|0;n=ba()|0;r=g;n=LA(f[r>>2]|0,f[r+4>>2]|0,q|0,n|0)|0;q=ba()|0;r=g;f[r>>2]=n;f[r+4>>2]=q;if((m|0)==(c|0)){b[j>>0]=1;a=p}else{a=o+-1|0;c:do if(a>>>0>c>>>0){a=-1;while(1){k=a+-1|0;d=b[o+a>>0]|0;a=o+k|0;if(d<<24>>24)break c;if(a>>>0>c>>>0)a=k;else{d=0;break}}}else{d=0;k=-1}while(0);d:do if(a>>>0>c>>>0){a=d;while(1){d=b[o+k>>0]|0;if(!(d&-128&255|a<<24>>24))break;k=k+-1|0;a=o+k|0;if(a>>>0>c>>>0)a=d;else{c=47;break d}}a=o+k+2|0;c=49}else c=47;while(0);if((c|0)==47)if((k|0)<-1&d<<24>>24==0){a=o+(k+2)|0;c=49}do{r=a;a=a+1|0}while((b[r>>0]|0)<0);f[i>>2]=p-a}f[e>>2]=a;return}function xt(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0;w=t;t=t+16|0;n=w;i=w+4|0;v=c+80|0;g=f[v>>2]|0;f[n>>2]=g;u=a+235|0;a=g;if(b[u>>0]|0?f[c+56>>2]|0:0){b[i>>0]=0;if(!d)a=c+84|0;else{f[d>>2]=g;a=c+84|0;f[e>>2]=(f[a>>2]|0)+-1}wt(0,f[c+72>>2]|0,f[c+76>>2]|0,n,c+88|0,a,i);if(!(b[i>>0]|0))f[v>>2]=f[n>>2];else f[v>>2]=0;v=0;t=w;return v|0}m=(f[c+72>>2]|0)+(f[c+76>>2]|0)|0;q=c+52|0;o=c+40|0;r=c+48|0;p=c+44|0;g=0;while(1){i=b[a>>0]|0;if((i|g)<<24>>24)do{a=a+1|0;g=i&-128;i=b[a>>0]|0}while((i|g)<<24>>24!=0);i=f[q>>2]|0;if(!i)break;j=f[r>>2]|0;k=(f[o>>2]|0)+j|0;if(a>>>0>>0)break;l=(f[p>>2]|0)-j|0;l=(l|0)<4096?l:4096;i=Zp(i,k,l,j,89)|0;if(i|0){s=67;break}i=(f[r>>2]|0)+l|0;f[r>>2]=i;i=(f[o>>2]|0)+i|0;j=i+20|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(j|0));if((f[r>>2]|0)==(f[p>>2]|0)){i=f[q>>2]|0;do if(i|0){j=f[i+20>>2]|0;Fi(f[i+16>>2]|0)|0;if(j|0){if(f[j+480>>2]|0){Kc(j,i);break}l=i;if((f[j+304>>2]|0)>>>0<=l>>>0?(f[j+308>>2]|0)>>>0>l>>>0:0){l=j+300|0;f[i>>2]=f[l>>2];f[l>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{l=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);f[q>>2]=0;f[r>>2]=0}}if((s|0)==67){f[n>>2]=a;v=i;t=w;return v|0}a=a+1|0;f[n>>2]=a;if(d|0){f[d>>2]=f[v>>2];f[e>>2]=a+-1-(f[v>>2]|0)}do if(a>>>0>>0){l=a;while(1){if(b[l>>0]|0)break;a=l+1|0;if(a>>>0>>0)l=a;else{s=36;break}}if((s|0)==36){f[n>>2]=a;break}f[n>>2]=l;a=f[q>>2]|0;a:do if(a|0){k=l+10|0;i=f[r>>2]|0;j=a;while(1){a=f[o>>2]|0;if((k-a|0)<=(i|0))break a;g=(f[p>>2]|0)-i|0;g=(g|0)<4096?g:4096;if(Zp(j,a+i|0,g,i,89)|0){a=0;s=68;break}i=(f[r>>2]|0)+g|0;f[r>>2]=i;i=(f[o>>2]|0)+i|0;j=i+20|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(j|0));i=f[r>>2]|0;j=f[q>>2]|0;if((i|0)==(f[p>>2]|0))break;if(!j)break a}if((s|0)==68){t=w;return a|0}do if(j|0){a=f[j+20>>2]|0;Fi(f[j+16>>2]|0)|0;if(a|0){if(f[a+480>>2]|0){Kc(a,j);break}s=j;if((f[a+304>>2]|0)>>>0<=s>>>0?(f[a+308>>2]|0)>>>0>s>>>0:0){s=a+300|0;f[j>>2]=f[s>>2];f[s>>2]=j;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{s=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);f[q>>2]=0;f[r>>2]=0}while(0);g=b[l>>0]|0;a=g&255;do if(!(a&128)){i=1;a=g&255;g=0}else{s=h[l+1>>0]|0;a=s<<7|a&127;if(!(s&128)){i=2;g=0;break}s=h[l+2>>0]|0;a=s<<14|a&16383;if(!(s&128)){i=3;g=0;break}s=h[l+3>>0]|0;a=s<<21|a&2097151;if(!(s&128)){i=4;g=0;break}i=28;j=l+4|0;a=a&268435455;g=0;do{s=j;j=j+1|0;s=h[s>>0]|0;r=WA(s&127|0,0,i|0)|0;a=KA(r|0,ba()|0,a|0,g|0)|0;g=ba()|0;i=i+7|0}while(i>>>0<64&((s&128|0)!=0|0!=0));i=j-l|0}while(0);f[v>>2]=l+i;r=(b[u>>0]|0)==0;v=c+88|0;u=v;c=f[u>>2]|0;u=f[u+4>>2]|0;q=LA(0,0,a|0,g|0)|0;s=ba()|0;u=KA((r?a:q)|0,(r?g:s)|0,c|0,u|0)|0;c=ba()|0;f[v>>2]=u;f[v+4>>2]=c;v=0;t=w;return v|0}while(0);f[v>>2]=0;v=0;t=w;return v|0}function yt(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=t;t=t+16|0;j=l;k=a+248|0;h=f[k>>2]|0;if(!h){i=a+244|0;h=f[i>>2]|0;if(!h){f[j>>2]=f[a+20>>2];h=wd(64225,j)|0;f[i>>2]=h;if(!h){e=7;t=l;return e|0}}h=Wp(f[a+12>>2]|0,f[a+16>>2]|0,h,64237,c,d,0,k)|0}else h=aq(h,c,d)|0;if(h|0){e=h;t=l;return e|0}h=f[k>>2]|0;if((h|0)!=0?(f[h+16>>2]|0)!=0:0)j=f[h>>2]|0;else j=0;f[g>>2]=j;if(!e){e=0;t=l;return e|0}i=Fd(j+20|0)|0;do if(i){h=Zp(f[k>>2]|0,i,j,0,89)|0;j=i+j|0;a=j+20|0;do{b[j>>0]=0;j=j+1|0}while((j|0)<(a|0));if(h)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{k=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}else h=0}else{i=0;h=7}while(0);f[e>>2]=i;e=h;t=l;return e|0}function zt(a,b){a=a|0;b=b|0;var c=0,d=0;d=f[a>>2]|0;b=f[b>>2]|0;c=f[d+16>>2]|0;a=f[b+16>>2]|0;b=Hz(f[d+12>>2]|0,f[b+12>>2]|0,(c|0)<(a|0)?c:a)|0;return ((b|0)==0?c-a|0:b)|0}function At(a,c,d,e,g,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=t;t=t+16|0;F=G+4|0;D=G;l=b[e>>0]|0;k=l&255;if(k&128){A=b[e+1>>0]|0;k=A<<7|l&127;if(A&128){A=b[e+2>>0]|0;k=A<<14|k&16383;if(A&128){A=b[e+3>>0]|0;k=A<<21|k&2097151;if(!(A&128))A=k;else A=(b[e+4>>0]&7)<<28|k&268435455}else A=k}else A=k}else A=k;z=e+g|0;if(l<<24>>24<=-1)if((b[e+1>>0]|0)<=-1)if((b[e+2>>0]|0)<=-1)if((b[e+3>>0]|0)>-1)k=4;else{k=28;g=e+4|0;do{y=g;g=g+1|0;k=k+7|0}while(k>>>0<64&(b[y>>0]|0)<0);k=g-e|0}else k=3;else k=2;else k=1;n=e+k|0;g=b[n>>0]|0;k=g&255;do if(!(k&128)){m=1;l=g&255;g=0}else{y=h[n+1>>0]|0;k=y<<7|k&127;if(!(y&128)){m=2;l=k;g=0;break}y=h[n+2>>0]|0;k=y<<14|k&16383;if(!(y&128)){m=3;l=k;g=0;break}y=h[n+3>>0]|0;l=y<<21|k&2097151;if(!(y&128)){m=4;g=0;break}k=28;m=n+4|0;l=l&268435455;g=0;do{y=m;m=m+1|0;y=h[y>>0]|0;x=WA(y&127|0,0,k|0)|0;l=KA(x|0,ba()|0,l|0,g|0)|0;g=ba()|0;k=k+7|0}while(k>>>0<64&((y&128|0)!=0|0!=0));m=m-n|0}while(0);o=n+m|0;if(o>>>0>z>>>0){F=267;t=G;return F|0}a:do if(o>>>0>>0){x=e;y=z;n=i;m=j;e=1;k=0;r=0;u=0;while(1){v=(n|0)!=0;w=(m|0)!=0;if(!(v|w)){g=0;break a}if(!e){p=b[o>>0]|0;e=p&255;if(e&128){s=b[o+1>>0]|0;e=s<<7|p&127;if(s&128){s=b[o+2>>0]|0;e=s<<14|e&16383;if(s&128){s=b[o+3>>0]|0;e=s<<21|e&2097151;if(!(s&128))p=4;else{e=(b[o+4>>0]&7)<<28|e&268435455;p=5}}else p=3}else p=2}else p=1;o=o+p|0}else e=0;q=b[o>>0]|0;p=q&255;if(p&128){s=b[o+1>>0]|0;p=s<<7|q&127;if(s&128){s=b[o+2>>0]|0;p=s<<14|p&16383;if(s&128){s=b[o+3>>0]|0;p=s<<21|p&2097151;if(!(s&128))q=4;else{p=(b[o+4>>0]&7)<<28|p&268435455;q=5}}else q=3}else q=2}else q=1;s=o+q|0;q=s;if((e|0)>(q-x|0)|(p|0)>(y-q|0)){g=267;break a}o=KA(p|0,((p|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;q=ba()|0;if((q|0)>(r|0)|(q|0)==(r|0)&o>>>0>u>>>0){q=WA(o|0,q|0,1)|0;r=ba()|0;if(Mc()|0){g=7;break a}o=Nc(k,q,r)|0;if(!o){g=7;break a}else k=o}else q=u;YA(k+e|0,s|0,p|0)|0;u=p+e|0;o=s+p|0;e=(u|0)>(d|0);p=Hz(c,k,e?d:u)|0;do if(v){if((p|0)>=0?(p|0)!=0|e^1:0)break;E=n;f[E>>2]=l;f[E+4>>2]=g;E=48}else E=48;while(0);if((E|0)==48){E=0;if(w&(p|0)<0){n=m;f[n>>2]=l;f[n+4>>2]=g;n=0;m=0}else n=0}l=KA(l|0,g|0,1,0)|0;g=ba()|0;if(o>>>0>=z>>>0){E=51;break}else{e=0;u=q}}}else{n=i;m=j;k=0;E=51}while(0);if((E|0)==51){if(n|0){z=n;f[z>>2]=l;f[z+4>>2]=g}if(!m)g=0;else{z=m;f[z>>2]=l;f[z+4>>2]=g;g=0}}do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{z=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);if(!((A|0)>1&(g|0)==0)){F=g;t=G;return F|0}f[F>>2]=0;f[D>>2]=0;if((i|0)!=0&(j|0)!=0?(C=i,B=f[C>>2]|0,C=f[C+4>>2]|0,A=j,!((B|0)==(f[A>>2]|0)?(C|0)==(f[A+4>>2]|0):0)):0){k=yt(a,B,C,F,D)|0;if(!k)k=At(a,c,d,f[F>>2]|0,f[D>>2]|0,i,0)|0;i=f[F>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{C=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-C;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[F>>2]=0;if(!k){k=j;i=0;E=70}}else{k=(i|0)==0?j:i;E=70}do if((E|0)==70){k=yt(a,f[k>>2]|0,f[k+4>>2]|0,F,D)|0;if(!k)k=At(a,c,d,f[F>>2]|0,f[D>>2]|0,i,j)|0;i=f[F>>2]|0;if(i)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{F=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);F=k;t=G;return F|0}function Bt(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0;Aa=t;t=t+176|0;k=Aa+96|0;sa=Aa+164|0;ta=Aa+152|0;ua=Aa+128|0;va=Aa+124|0;xa=Aa+120|0;ya=Aa+116|0;za=Aa+112|0;na=Aa+108|0;oa=Aa+104|0;pa=Aa+100|0;qa=Aa;if((c|0)>6){f[a+20>>2]=1;$e(f[a>>2]|0,64799,-1,1,-1)|0;t=Aa;return}g=f[e>>2]|0;if((((d[g+8>>1]&-15361)<<16>>16==-32255?(b[g+11>>0]|0)==112:0)?(tz(f[g>>2]|0,64490)|0)==0:0)?(ra=f[g+16>>2]|0,ra|0):0){a:do switch(c|0){case 6:{c=f[e+20>>2]|0;g=j[c+8>>1]|0;if(g&4|0){h=f[c>>2]|0;ga=18;break a}if(g&8|0){h=Fc(+p[c>>3])|0;ba()|0;ga=18;break a}if(!(g&18)){h=0;ga=18}else{h=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0;ga=18}break}case 5:{h=15;ga=18;break}case 4:{i=-1;h=15;ga=24;break}case 3:{k=64847;i=-1;h=15;ga=30;break}case 2:{m=64858;l=64847;i=-1;h=15;ga=36;break}default:{ka=64863;la=64858;ma=64847;ea=-1;fa=15;ga=42}}while(0);do if((ga|0)==18){c=f[e+16>>2]|0;g=j[c+8>>1]|0;if(g&4|0){i=f[c>>2]|0;ga=24;break}if(g&8|0){i=Fc(+p[c>>3])|0;ba()|0;ga=24;break}if(!(g&18)){i=0;ga=24}else{i=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0;ga=24}}while(0);do if((ga|0)==24){c=f[e+12>>2]|0;if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){k=f[c+16>>2]|0;ga=30;break}if(!(g&1)){k=Ic(c,1)|0;ga=30}else{k=0;ga=30}}else{k=0;ga=30}}while(0);do if((ga|0)==30){c=f[e+8>>2]|0;if(c){g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0){m=f[c+16>>2]|0;l=k;ga=36;break}if(!(g&1)){m=Ic(c,1)|0;l=k;ga=36}else{m=0;l=k;ga=36}}else{m=0;l=k;ga=36}}while(0);do if((ga|0)==36?(n=f[e+4>>2]|0,n|0):0){c=d[n+8>>1]|0;if((c&514)==514?(b[n+10>>0]|0)==1:0){ka=f[n+16>>2]|0;la=m;ma=l;ea=i;fa=h;ga=42;break}if(!(c&1)){ka=Ic(n,1)|0;la=m;ma=l;ea=i;fa=h;ga=42}}while(0);if((ga|0)==42?(ka|0)!=0&((la|0)!=0&(ma|0)!=0):0){if(!fa){if(($e(f[a>>2]|0,72788,-1,1,0)|0)!=18){t=Aa;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=Aa;return}if(Qt(a,ra)|0){t=Aa;return}ja=f[ra>>2]|0;U=ra+16|0;b:do if(!(f[U>>2]|0)){if(($e(f[a>>2]|0,72788,0,1,0)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}}else{V=(fa|0)>-1;W=ja+24|0;X=(ea|0)<0;Y=ta+4|0;Z=ua+16|0;_=ua+4|0;$=ua+8|0;aa=ua+12|0;ca=ua+20|0;da=0-fa|0;c=0;ia=1;c:while(1){if(V)ha=(ia+-1+fa|0)/(ia|0)|0;else ha=da;T=0;h=0;S=0;g=0;i=0;d:while(1){R=qa+(T*24|0)|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;f[R+16>>2]=0;f[R+20>>2]=0;e:do if((f[W>>2]|0)>0){P=qa+(T*24|0)+4|0;k=qa+(T*24|0)+8|0;Q=qa+(T*24|0)+16|0;O=0;N=-1;u=g;f:while(1){g:do if(X|(O|0)==(ea|0)){f[ua>>2]=0;f[ua+4>>2]=0;f[ua+8>>2]=0;f[ua+12>>2]=0;f[ua+16>>2]=0;f[ua+20>>2]=0;c=Y;f[c>>2]=0;f[c+4>>2]=0;f[ta>>2]=ra;c=f[U>>2]|0;f[sa>>2]=0;c=Gt(c,sa,98,ta)|0;e=f[Y>>2]|0;do if(!c){c=e*24|0;g=Fd(c)|0;f[Z>>2]=g;if(!g){c=7;break}_A(g|0,0,c|0)|0;f[ua>>2]=ra;f[_>>2]=O;f[$>>2]=ha;f[aa>>2]=e;f[ca>>2]=-1;c=f[U>>2]|0;f[sa>>2]=0;c=Gt(c,sa,99,ua)|0;M=(c|0)==0;h:do if(M){if((e|0)>0){m=f[Z>>2]|0;l=0;g=u;do{K=(f[m+(l*24|0)+12>>2]|0)==0;J=WA(1,0,l|0)|0;L=ba()|0;g=(K?0:J)|g;i=(K?0:L)|i;l=l+1|0}while((l|0)!=(e|0))}else g=u;l=-1;H=0;m=f[ca>>2]|0;I=0;J=0;K=0;L=0;while(1){i:do if((m|0)<0){f[ca>>2]=0;m=f[aa>>2]|0;if((m|0)<=0){q=0;r=0;o=0;n=0;e=0;m=0;break}u=0;while(1){s=f[Z>>2]|0;r=s+(u*24|0)+12|0;s=s+(u*24|0)+8|0;q=f[$>>2]|0;n=f[r>>2]|0;if(n){e=f[s>>2]|0;m=n;j:do if((e|0)<(q|0)){m=n;do{o=b[m>>0]|0;if((o&255)<2){e=-1;m=0;break j}n=o&255;do if(!(n&128))o=1;else{ga=b[m+1>>0]|0;n=ga<<7|o&127;if(!(ga&128)){o=2;break}ga=b[m+2>>0]|0;n=ga<<14|n&16383;if(!(ga&128)){o=3;break}ga=b[m+3>>0]|0;n=ga<<21|n&2097151;if(!(ga&128)){o=4;break}n=(b[m+4>>0]&7)<<28|n&268435455;o=5}while(0);m=m+o|0;e=e+-2+n|0}while((e|0)<(q|0))}while(0);f[s>>2]=e;f[r>>2]=m;m=f[aa>>2]|0}u=u+1|0;if((u|0)>=(m|0)){ga=122;break}}}else{n=f[aa>>2]|0;if((n|0)<=0){s=O;r=H;q=I;o=J;n=K;e=L;m=g;break h}o=f[Z>>2]|0;m=2147483647;e=0;while(1){if(!(f[o+(e*24|0)+12>>2]|0))w=m;else{w=f[o+(e*24|0)+8>>2]|0;w=(w|0)<(m|0)?w:m}e=e+1|0;if((e|0)==(n|0))break;else m=w}if((w|0)==2147483647){s=O;r=H;q=I;o=J;n=K;e=L;m=g;break h}v=w-(f[$>>2]|0)|0;f[ca>>2]=v+1;e=0;while(1){s=o+(e*24|0)+12|0;u=o+(e*24|0)+8|0;m=f[s>>2]|0;if(m|0){n=f[u>>2]|0;k:do if((n|0)<=(w|0))do{r=b[m>>0]|0;if((r&255)<2){n=-1;m=0;break k}q=r&255;do if(!(q&128))r=1;else{ga=b[m+1>>0]|0;q=ga<<7|r&127;if(!(ga&128)){r=2;break}ga=b[m+2>>0]|0;q=ga<<14|q&16383;if(!(ga&128)){r=3;break}ga=b[m+3>>0]|0;q=ga<<21|q&2097151;if(!(ga&128)){r=4;break}q=(b[m+4>>0]&7)<<28|q&268435455;r=5}while(0);m=m+r|0;n=n+-2+q|0}while((n|0)<=(w|0));while(0);f[u>>2]=n;f[s>>2]=m}s=o+(e*24|0)+20|0;r=o+(e*24|0)+16|0;m=f[s>>2]|0;if(m|0){n=f[r>>2]|0;l:do if((n|0)<=(v|0))do{q=b[m>>0]|0;if((q&255)<2){n=-1;m=0;break l}o=q&255;do if(!(o&128))q=1;else{ga=b[m+1>>0]|0;o=ga<<7|q&127;if(!(ga&128)){q=2;break}ga=b[m+2>>0]|0;o=ga<<14|o&16383;if(!(ga&128)){q=3;break}ga=b[m+3>>0]|0;o=ga<<21|o&2097151;if(!(ga&128)){q=4;break}o=(b[m+4>>0]&7)<<28|o&268435455;q=5}while(0);m=m+q|0;n=n+-2+o|0}while((n|0)<=(v|0));while(0);f[r>>2]=n;f[s>>2]=m}e=e+1|0;m=f[aa>>2]|0;if((e|0)>=(m|0)){ga=122;break i}o=f[Z>>2]|0}}while(0);do if((ga|0)==122){ga=0;G=f[ca>>2]|0;if((m|0)<=0){q=0;r=0;o=0;n=0;e=0;m=G;break}E=f[Z>>2]|0;F=(f[$>>2]|0)+G|0;q=0;D=0;r=0;o=0;n=0;e=0;while(1){u=f[E+(D*24|0)+20>>2]|0;m:do if(u){s=f[E+(D*24|0)+16>>2]|0;if((s|0)>=(F|0))break;B=WA(1,0,D|0)|0;C=ba()|0;A=f[E+(D*24|0)>>2]|0;if((A|0)<=0){w=u;while(1){q=(((r|h)&B|0)==0&((o|S)&C|0)==0?1e3:1)+q|0;r=r|B;o=o|C;v=b[w>>0]|0;if((v&255)<2)break m;u=v&255;do if(!(u&128))v=1;else{A=b[w+1>>0]|0;u=A<<7|v&127;if(!(A&128)){v=2;break}A=b[w+2>>0]|0;u=A<<14|u&16383;if(!(A&128)){v=3;break}A=b[w+3>>0]|0;u=A<<21|u&2097151;if(!(A&128)){v=4;break}u=(b[w+4>>0]&7)<<28|u&268435455;v=5}while(0);s=s+-2+u|0;if((s|0)>=(F|0))break m;else w=w+v|0}}z=u;while(1){v=WA(1,0,s-G|0)|0;w=ba()|0;x=(r|h)&B;y=(o|S)&C;u=0;do{Ba=VA(v|0,w|0,u|0)|0;n=Ba|n;e=ba()|0|e;u=u+1|0}while((u|0)!=(A|0));q=((x|0)==0&(y|0)==0?1e3:1)+q|0;r=r|B;o=o|C;v=b[z>>0]|0;if((v&255)<2)break m;u=v&255;do if(!(u&128))v=1;else{Ba=b[z+1>>0]|0;u=Ba<<7|v&127;if(!(Ba&128)){v=2;break}Ba=b[z+2>>0]|0;u=Ba<<14|u&16383;if(!(Ba&128)){v=3;break}Ba=b[z+3>>0]|0;u=Ba<<21|u&2097151;if(!(Ba&128)){v=4;break}u=(b[z+4>>0]&7)<<28|u&268435455;v=5}while(0);s=s+-2+u|0;if((s|0)>=(F|0))break;else z=z+v|0}}while(0);D=D+1|0;if((D|0)==(m|0)){m=G;break}}}while(0);Ba=(q|0)>(l|0);l=Ba?q:l;H=Ba?m:H;I=Ba?r:I;J=Ba?o:J;K=Ba?n:K;L=Ba?e:L}}else{l=0;s=0;r=0;q=0;o=0;n=0;e=0;m=u}while(0);g=f[Z>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{Ba=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Ba;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);if(!M){g=11;l=N;break g}if((l|0)<=(N|0)){g=0;l=N;c=0;break g}f[R>>2]=s;f[P>>2]=r;g=k;f[g>>2]=q;f[g+4>>2]=o;g=Q;f[g>>2]=n;f[g+4>>2]=e;g=0;c=0;break g}while(0);g=11;l=N;m=u}else{g=10;l=N;m=u}while(0);switch(g&15){case 10:case 0:break;default:break f}O=O+1|0;if((O|0)>=(f[W>>2]|0)){g=m;ga=157;break e}else{N=l;u=m}}if(!g){k=m;g=S}else break d}else{k=qa+(T*24|0)+8|0;ga=157}while(0);if((ga|0)==157){ga=0;Ba=k;k=g;h=f[Ba>>2]|h;g=f[Ba+4>>2]|S}T=T+1|0;if(T>>>0>=ia>>>0){ga=160;break}else{S=g;g=k}}if((ga|0)==160){ga=0;g=(ia|0)==4|(k|0)==(h|0)&(i|0)==(g|0)?2:0}switch(g|0){case 2:{ga=163;break c}case 11:{k=0;break c}case 0:break;default:break b}ia=ia+1|0}n:do if((ga|0)==163)if(!c){F=ia+-1|0;G=ra+12|0;H=ra+20|0;I=ha+-1|0;E=0;k=0;h=0;r=0;while(1){B=(E|0)==(F|0);e=f[qa+(E*24|0)>>2]|0;n=f[qa+(E*24|0)+4>>2]|0;q=qa+(E*24|0)+16|0;o=f[q>>2]|0;q=f[q+4>>2]|0;m=f[ra>>2]|0;f[ya>>2]=0;e=e+1|0;l=f[G>>2]|0;i=(l|0)==0;do if(i)c=37592;else{c=f[l+104>>2]|0;if(c|0?e>>>0<(j[l+140>>1]|0)>>>0:0){c=c+(e*40|0)|0;break}c=f[l>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}while(0);g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0)A=f[c+16>>2]|0;else if(!(g&1))A=Ic(c,1)|0;else A=0;if(!i){g=f[l>>2]|0;i=l+40|0;c=f[i>>2]|0;if((c|0)==3082|(b[g+81>>0]|0)!=0){Di(g);c=7}else c=f[g+68>>2]&c;f[i>>2]=c}l=f[G>>2]|0;if(!A){if(!l)c=1;else{c=f[l+104>>2]|0;do if(!c)ga=185;else{if(e>>>0>=(j[l+140>>1]|0)>>>0){ga=185;break}c=c+(e*40|0)|0;g=l}while(0);if((ga|0)==185){ga=0;c=f[l>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592;g=l}c=d[c+8>>1]&31;i=f[g>>2]|0;l=l+40|0;g=f[l>>2]|0;if((g|0)==3082|(b[i+81>>0]|0)!=0){Di(i);g=7}else g=f[i+68>>2]&g;f[l>>2]=g}c=(-1431655766>>>c&1|0)==0?7:0;g=r}else{z=Gp(l,e)|0;y=m+36|0;g=f[y>>2]|0;D=f[g>>2]|0;i=f[H>>2]|0;f[sa>>2]=0;c=lb[f[D+12>>2]&127](g,A,z,sa)|0;if(c|0)break;f[f[sa>>2]>>2]=g;if((f[D>>2]|0)>0?(wa=jb[f[D+24>>2]&255](f[sa>>2]|0,i)|0,wa|0):0){ga=194;break}C=f[sa>>2]|0;w=D+20|0;x=(E|0)!=0;s=n;v=0;m=0;g=r;r=o;o:while(1){f[na>>2]=-1;f[oa>>2]=0;f[pa>>2]=0;c=nb[f[w>>2]&127](C,za,na,oa,pa,ya)|0;switch(c|0){case 101:{ga=198;break o}case 0:break;default:{ga=266;break o}}c=f[ya>>2]|0;p:do if((c|0)<(s|0)){n=v;e=s;c=0;l=r;i=q}else{if(!m){m=f[oa>>2]|0;l=z-m|0;e=f[H>>2]|0;m=A+m|0;q:do if((r|0)==0&(q|0)==0){e=s;o=0;q=0}else{c=0;while(1){Ba=WA(1,0,c|0)|0;if((Ba&r|0)==0&((ba()|0)&q|0)==0)c=c+1|0;else break}i=0;while(1){Ba=WA(1,0,I-i|0)|0;if((Ba&r|0)==0&((ba()|0)&q|0)==0)i=i+1|0;else break}Ba=c-i|0;n=(Ba|0)/2|0;if((Ba|0)<=1){e=s;o=r;break}f[ta>>2]=0;i=f[y>>2]|0;o=f[i>>2]|0;f[sa>>2]=0;c=lb[f[o+12>>2]&127](i,m,l,sa)|0;r:do if(!c){f[f[sa>>2]>>2]=i;do if((f[o>>2]|0)>0){c=jb[f[o+24>>2]&255](f[sa>>2]|0,e)|0;if(!c)break;ib[f[o+16>>2]&255](f[sa>>2]|0)|0;f[sa>>2]=0;ga=214;break r}while(0);m=f[sa>>2]|0;i=n+ha|0;l=o+20|0;while(1){if((f[ta>>2]|0)>=(i|0)){ga=217;break}f[ua>>2]=0;f[va>>2]=0;f[xa>>2]=0;c=nb[f[l>>2]&127](m,sa,ua,va,xa,ta)|0;if(c|0){ga=219;break}}if((ga|0)==217){ga=0;ib[f[o+16>>2]&255](m)|0;c=0}else if((ga|0)==219){ga=0;ib[f[o+16>>2]&255](m)|0;if((c|0)==101)c=1;else break}e=c-ha+(f[ta>>2]|0)|0;Ba=(e|0)>0;o=VA(r|0,q|0,(Ba?e:0)|0)|0;q=ba()|0;e=(Ba?e:0)+s|0;break q}else ga=214;while(0);if((ga|0)==214)ga=0;n=v;m=1;e=s;l=r;i=q;break p}while(0);do if(x|(e|0)>0){l=wz(ma)|0;if((h+1+l|0)>=(g|0)){i=g+100+l|0;if(Mc()|0){n=v;m=1;c=7;l=o;i=q;break p}c=Nc(k,(i|0)>0?i:0,0)|0;if(!c){n=v;m=1;c=7;l=o;i=q;break p}else{k=c;g=i}}YA(k+h|0,ma|0,l|0)|0;h=l+h|0;c=k+h|0;ga=234}else{c=f[oa>>2]|0;if(!c)break;if((c|0)<0)c=wz(A)|0;if((h+1+c|0)>=(g|0)){l=g+100+c|0;if(Mc()|0){n=v;m=1;c=7;l=o;i=q;break p}i=Nc(k,(l|0)>0?l:0,0)|0;if(!i){n=v;m=1;c=7;l=o;i=q;break p}else{k=i;g=l}}YA(k+h|0,A|0,c|0)|0;h=c+h|0;c=k+h|0;ga=234}while(0);if((ga|0)==234){ga=0;b[c>>0]=0}c=f[ya>>2]|0;if((c|0)<(e|0)){n=v;m=1;c=0;l=o;i=q;break}else{u=1;s=e}}else{u=m;o=r}if((c|0)>=(s+ha|0)){ga=237;break o}n=WA(1,0,c-s|0)|0;n=(n&o|0)!=0|((ba()|0)&q|0)!=0;do if((c|0)>(s|0)){m=A+v|0;c=(f[oa>>2]|0)-v|0;if((c|0)<0)c=wz(m)|0;if((h+1+c|0)>=(g|0)){l=g+100+c|0;if(Mc()|0){c=7;break}i=Nc(k,(l|0)>0?l:0,0)|0;if(!i){c=7;break}else{k=i;g=l}}YA(k+h|0,m|0,c|0)|0;h=c+h|0;b[k+h>>0]=0;ga=249}else ga=249;while(0);do if((ga|0)==249){ga=0;if(n){l=wz(ka)|0;m=l+h|0;if((m+1|0)>=(g|0)){i=g+100+l|0;if(Mc()|0){c=7;break}c=Nc(k,(i|0)>0?i:0,0)|0;if(!c){c=7;break}else{k=c;g=i}}YA(k+h|0,ka|0,l|0)|0;b[k+m>>0]=0;h=m}c=f[oa>>2]|0;m=A+c|0;c=(f[pa>>2]|0)-c|0;if((c|0)<0)c=wz(m)|0;e=c+h|0;if((e+1|0)>=(g|0)){l=g+100+c|0;if(Mc()|0){c=7;break}i=Nc(k,(l|0)>0?l:0,0)|0;if(!i){c=7;break}else{k=i;g=l}}YA(k+h|0,m|0,c|0)|0;c=k+e|0;b[c>>0]=0;if(!n){c=0;h=e;break}m=wz(la)|0;h=m+e|0;if((h+1|0)>=(g|0)){l=g+100+m|0;if(Mc()|0){c=7;h=e;break}i=Nc(k,(l|0)>0?l:0,0)|0;if(!i){c=7;h=e;break}c=i+e|0;k=i;g=l}YA(c|0,la|0,m|0)|0;b[k+h>>0]=0;c=0}while(0);n=f[pa>>2]|0;m=u;e=s;l=o;i=q}while(0);if(!c){s=e;v=n;r=l;q=i}else break}do if((ga|0)==198){l=A+v|0;m=wz(l)|0;if((h+1+m|0)>=(g|0)){i=g+100+m|0;if(Mc()|0){c=7;ga=266;break}c=Nc(k,(i|0)>0?i:0,0)|0;if(!c){c=7;ga=266;break}else{k=c;g=i}}YA(k+h|0,l|0,m|0)|0;h=m+h|0;b[k+h>>0]=0;c=0;ga=266}else if((ga|0)==237){if(!B){c=0;ga=266;break}l=wz(ma)|0;if((h+1+l|0)>=(g|0)){i=g+100+l|0;if(Mc()|0){c=7;ga=266;break}c=Nc(k,(i|0)>0?i:0,0)|0;if(!c){c=7;ga=266;break}else{k=c;g=i}}YA(k+h|0,ma|0,l|0)|0;h=l+h|0;b[k+h>>0]=0;c=0;ga=266}while(0);if((ga|0)==266)ga=0;ib[f[D+16>>2]&255](C)|0}E=E+1|0;if(!(E>>>0>>0&(c|0)==0))break n;else r=g}if((ga|0)==194){ib[f[D+16>>2]&255](f[sa>>2]|0)|0;f[sa>>2]=0;c=wa}}else k=0;while(0);g=ja+248|0;h=f[g>>2]|0;do if(h|0){i=f[h+20>>2]|0;Fi(f[h+16>>2]|0)|0;if(i|0){if(f[i+480>>2]|0){Kc(i,h);break}Ba=h;if((f[i+304>>2]|0)>>>0<=Ba>>>0?(f[i+308>>2]|0)>>>0>Ba>>>0:0){Ba=i+300|0;f[h>>2]=f[Ba>>2];f[Ba>>2]=h;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{Ba=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-Ba;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}}while(0);f[g>>2]=0;if(!c){if(($e(f[a>>2]|0,k,-1,1,101)|0)!=18)break;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;break}f[a+20>>2]=c;g=f[a>>2]|0;if(d[g+8>>1]&1){switch(c|0){case 516:{c=44816;break}case 100:{c=44794;break}case 101:{c=44771;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7984+(c<<2)>>2]|0;else c=44757}}$e(g,c,-1,1,0)|0}if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{Ba=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-Ba;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);t=Aa;return}c=f[a>>2]|0;g=c+8|0;if(!(d[g>>1]&9216))d[g>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;g=c+81|0;if(b[g>>0]|0){t=Aa;return}if(b[c+82>>0]|0){t=Aa;return}b[g>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;Ba=c+272|0;f[Ba>>2]=(f[Ba>>2]|0)+1;t=Aa;return}f[k>>2]=60035;c=wd(64501,k)|0;f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=Aa;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);t=Aa;return}else{Ba=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-Ba;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);t=Aa;return}}function Ct(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;Q=t;t=t+160|0;L=Q+104|0;g=Q+96|0;E=Q;F=Q+136|0;N=Q+64|0;G=Q+132|0;I=Q+128|0;J=Q+124|0;K=Q+120|0;c=f[e>>2]|0;if((((d[c+8>>1]&-15361)<<16>>16==-32255?(b[c+11>>0]|0)==112:0)?(tz(f[c>>2]|0,64490)|0)==0:0)?(h=f[c+16>>2]|0,h|0):0){if(Qt(a,h)|0){t=Q;return}O=f[h>>2]|0;C=O+36|0;e=f[f[C>>2]>>2]|0;D=h+16|0;c=f[D>>2]|0;do if(!c){if(($e(f[a>>2]|0,72788,0,1,0)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}}else{f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;f[N+24>>2]=0;f[N+28>>2]=0;i=F+4|0;f[i>>2]=0;f[i+4>>2]=0;f[F>>2]=h;f[E>>2]=0;i=Gt(c,E,98,F)|0;B=f[F+8>>2]|0;a:do if(!i){A=Fd(B*12|0)|0;H=N+24|0;f[H>>2]=A;if(A){z=h+32|0;A=f[z+4>>2]|0;x=N+16|0;f[x>>2]=f[z>>2];f[x+4>>2]=A;f[N>>2]=h;x=O+24|0;if((f[x>>2]|0)>0){y=N+4|0;z=N+8|0;A=h+12|0;s=h+20|0;u=e+20|0;v=(B|0)>0;w=O+40|0;r=e+16|0;q=0;e=0;h=0;m=0;b:while(1){f[G>>2]=0;f[I>>2]=0;f[J>>2]=0;f[K>>2]=0;f[y>>2]=q;f[z>>2]=0;k=f[D>>2]|0;f[E>>2]=0;Gt(k,E,100,N)|0;k=f[A>>2]|0;p=q;q=q+1|0;i=(k|0)==0;do if(i)c=37592;else{c=f[k+104>>2]|0;if(c|0?q>>>0<(j[k+140>>1]|0)>>>0:0){c=c+(q*40|0)|0;break}c=f[k>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}while(0);g=d[c+8>>1]|0;if((g&514)==514?(b[c+10>>0]|0)==1:0)l=f[c+16>>2]|0;else if(!(g&1))l=Ic(c,1)|0;else l=0;if(!i){g=f[k>>2]|0;i=k+40|0;c=f[i>>2]|0;if((c|0)==3082|(b[g+81>>0]|0)!=0){Di(g);c=7}else c=f[g+68>>2]&c;f[i>>2]=c}c=Gp(f[A>>2]|0,q)|0;if(!l){k=f[A>>2]|0;if(!k)c=1;else{c=f[k+104>>2]|0;do if(!c)P=38;else{if(q>>>0>=(j[k+140>>1]|0)>>>0){P=38;break}c=c+(q*40|0)|0;g=k}while(0);if((P|0)==38){P=0;c=f[k>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592;g=k}c=d[c+8>>1]&31;i=f[g>>2]|0;k=k+40|0;g=f[k>>2]|0;if((g|0)==3082|(b[i+81>>0]|0)!=0){Di(i);g=7}else g=f[i+68>>2]&g;f[k>>2]=g}if(!(-1431655766>>>c&1)){i=7;c=H;P=82;break a}else c=m}else{g=f[C>>2]|0;i=f[s>>2]|0;k=f[g>>2]|0;f[E>>2]=0;c=lb[f[k+12>>2]&127](g,l,c,E)|0;if(c|0){P=47;break}f[f[E>>2]>>2]=g;if((f[k>>2]|0)>0?(M=jb[f[k+24>>2]&255](f[E>>2]|0,i)|0,M|0):0){P=46;break}o=f[E>>2]|0;c=nb[f[u>>2]&127](o,F,G,I,J,K)|0;g=m;c:while(1){d:while(1){switch(c|0){case 101:break c;case 0:break;default:{P=78;break b}}do if(v){m=f[H>>2]|0;i=0;k=2147483647;l=0;while(1){c=m+(l*12|0)|0;if(!(f[c>>2]|0))n=i;else{R=(f[m+(l*12|0)+4>>2]|0)-(f[m+(l*12|0)+8>>2]|0)|0;S=(R|0)<(k|0);n=S?c:i;k=S?R:k}l=l+1|0;if((l|0)==(B|0))break;else i=n}if(!n){c=101;break}l=f[n>>2]|0;i=b[l>>0]|0;if((i&255)<2)f[n>>2]=0;else{m=n+4|0;c=i&255;do if(!(c&128))i=1;else{S=b[l+1>>0]|0;c=S<<7|i&127;if(!(S&128)){i=2;break}S=b[l+2>>0]|0;c=S<<14|c&16383;if(!(S&128)){i=3;break}S=b[l+3>>0]|0;c=S<<21|c&2097151;if(!(S&128)){i=4;break}c=(b[l+4>>0]&7)<<28|c&268435455;i=5}while(0);f[n>>2]=l+i;f[m>>2]=c+-2+(f[m>>2]|0)}if((f[K>>2]|0)>=(k|0))break d;do{c=nb[f[u>>2]&127](o,F,G,I,J,K)|0;i=(c|0)==0}while(i&(f[K>>2]|0)<(k|0));if(i)break d;if((c|0)!=101)break;c=(f[w>>2]|0)==0?267:101}else c=101;while(0)}S=(n-(f[H>>2]|0)|0)/12|0;l=f[I>>2]|0;k=(f[J>>2]|0)-l|0;f[L>>2]=p;f[L+4>>2]=S;f[L+8>>2]=l;f[L+12>>2]=k;vd(64,E,64786,L)|0;k=wz(E)|0;l=k+h|0;do if((l+1|0)>=(g|0)){i=g+100+k|0;if(Mc()|0){c=7;break}c=Nc(e,(i|0)>0?i:0,0)|0;if(!c)c=7;else{e=c;g=i;P=72}}else P=72;while(0);if((P|0)==72){P=0;YA(e+h|0,E|0,k|0)|0;b[e+l>>0]=0;c=0;h=l}}ib[f[r>>2]&255](o)|0;c=g}if((q|0)>=(f[x>>2]|0)){i=0;c=H;P=82;break a}else m=c}if((P|0)==46){ib[f[k+16>>2]&255](f[E>>2]|0)|0;f[E>>2]=0;c=M;P=47}else if((P|0)==78)ib[f[r>>2]&255](o)|0;i=c;c=H;P=82}else{i=0;c=H;e=0;h=0;P=82}}else{i=7;k=0;h=0}}else{c=N+24|0;e=0;h=0;P=82}while(0);do if((P|0)==82){c=f[c>>2]|0;if(c)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);k=e;break}else{k=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);k=e;break}else k=e}while(0);c=O+248|0;e=f[c>>2]|0;do if(e|0){g=f[e+20>>2]|0;Fi(f[e+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Kc(g,e);break}S=e;if((f[g+304>>2]|0)>>>0<=S>>>0?(f[g+308>>2]|0)>>>0>S>>>0:0){S=g+300|0;f[e>>2]=f[S>>2];f[S>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{S=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[c>>2]=0;if(!i){if(($e(f[a>>2]|0,k,h+-1|0,1,101)|0)!=18)break;f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;break}f[a+20>>2]=i;e=f[a>>2]|0;if(d[e+8>>1]&1){switch(i|0){case 516:{c=44816;break}case 100:{c=44794;break}case 101:{c=44771;break}default:{c=i&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7984+(c<<2)>>2]|0;else c=44757}}$e(e,c,-1,1,0)|0}if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{S=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);t=Q;return}f[g>>2]=60043;c=wd(64501,g)|0;f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=Q;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);t=Q;return}else{S=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);t=Q;return}}function Dt(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0;i=t;t=t+16|0;g=i;c=f[e>>2]|0;if((((d[c+8>>1]&-15361)<<16>>16==-32255?(b[c+11>>0]|0)==112:0)?(tz(f[c>>2]|0,64490)|0)==0:0)?(h=f[c+16>>2]|0,h|0):0){g=f[h>>2]|0;e=g+12|0;c=uj(f[e>>2]|0,64642,0,0,0)|0;a:do if(!c){c=eu(g,1)|0;switch(c|0){case 0:case 101:{h=uj(f[e>>2]|0,64657,0,0,0)|0;c=(h|0)==0?c:h;break a}default:{uj(f[e>>2]|0,64670,0,0,0)|0;uj(f[e>>2]|0,64657,0,0,0)|0;break a}}}while(0);e=g+248|0;g=f[e>>2]|0;do if(g|0){h=f[g+20>>2]|0;Fi(f[g+16>>2]|0)|0;if(h|0){if(f[h+480>>2]|0){Kc(h,g);break}j=g;if((f[h+304>>2]|0)>>>0<=j>>>0?(f[h+308>>2]|0)>>>0>j>>>0:0){j=h+300|0;f[g>>2]=f[j>>2];f[j>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{j=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[e>>2]=0;switch(c|0){case 0:{if(($e(f[a>>2]|0,64687,-1,1,0)|0)!=18){t=i;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=i;return}case 101:{if(($e(f[a>>2]|0,64703,-1,1,0)|0)!=18){t=i;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=i;return}default:{f[a+20>>2]=(c|0)==0?-1:c;e=f[a>>2]|0;if(!(d[e+8>>1]&1)){t=i;return}switch(c|0){case 516:{c=44816;break}case 100:{c=44794;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7984+(c<<2)>>2]|0;else c=44757}}$e(e,c,-1,1,0)|0;t=i;return}}}f[g>>2]=48511;c=wd(64501,g)|0;f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=i;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);t=i;return}else{j=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);t=i;return}}function Et(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;$=t;t=t+80|0;X=$+48|0;o=$+40|0;i=$+32|0;Y=$+76|0;T=$+64|0;V=$+60|0;Z=$+56|0;W=$;g=f[e>>2]|0;if((((d[g+8>>1]&-15361)<<16>>16==-32255?(b[g+11>>0]|0)==112:0)?(tz(f[g>>2]|0,64490)|0)==0:0)?(S=f[g+16>>2]|0,S|0):0){do if((c|0)>1?(j=f[e+4>>2]|0,(j|0)!=0):0){c=d[j+8>>1]|0;if((c&514)==514?(b[j+10>>0]|0)==1:0){c=f[j+16>>2]|0;break}if(!(c&1))c=Ic(j,1)|0;else c=0}else c=0;while(0);_=f[S>>2]|0;N=(c|0)==0?64530:c;O=S+16|0;c=f[O>>2]|0;if(!c){g=f[a>>2]|0;c=f[g+32>>2]|0;if(!c)c=1e9;else c=f[c+108>>2]|0;e=g+8|0;if(!((d[e>>1]&9216)==0?!(f[g+24>>2]|0):0))ff(g);f[g+16>>2]=72788;f[g+36>>2]=0;f[g+12>>2]=0;d[e>>1]=2064;b[g+10>>0]=1;if((c|0)>=0){t=$;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=$;return}P=W+8|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;f[W>>2]=S;Q=W+4|0;f[Q>>2]=f[_+24>>2];R=S+92|0;e=f[R>>2]|0;if(e)if(!(tz(f[e+12>>2]|0,N)|0)){j=0;v=52}else{b[e>>0]=0;do if((b[e+1>>0]|0)==0?(b[e+2>>0]|0)==0:0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{M=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-M;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[R>>2]=0;c=f[O>>2]|0;v=32}else v=32;a:do if((v|0)==32){f[T>>2]=0;f[Y>>2]=0;Gt(c,Y,101,T)|0;e=f[T>>2]|0;f[S+24>>2]=e;f[P>>2]=e;c=b[N>>0]|0;b:do if(!(c<<24>>24))c=0;else{j=_+232|0;k=_+234|0;l=f[Q>>2]|0;m=U(l,e)|0;n=m*3|0;i=U((l+31|0)/32|0,e)|0;g=0;e=0;c:while(1){f[Y>>2]=0;switch(c<<24>>24){case 98:case 121:case 120:case 115:case 99:case 112:break;case 110:{if(!(b[j>>0]|0)){c=110;break c}break}case 97:{if(!(b[j>>0]|0)){c=97;break c}break}case 108:{if(!(b[k>>0]|0)){c=108;break c}break}default:break c}switch(c<<24>>24|0){case 99:case 112:case 110:{c=1;break}case 115:case 108:case 97:{c=l;break}case 121:{c=m;break}case 98:{c=i;break}default:c=n}e=c+e|0;g=g+1|0;c=b[N+g>>0]|0;if(!(c<<24>>24)){c=e;break b}}f[o>>2]=c<<24>>24;Ls(Y,64534,o);c=f[Y>>2]|0;f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);break a}while(0);e=(c<<3|4)+20|0;g=(wz(N)|0)+1|0;i=Fd(e+g|0)|0;if(!i){f[R>>2]=0;f[S+88>>2]=1;i=0;c=7;g=0;v=308;break}else{_A(i|0,0,e|0)|0;v=i+16|0;f[v>>2]=20;j=c+1|0;f[v+(j<<2)>>2]=(j<<2)+20;f[i+4>>2]=c;j=i+e|0;f[i+12>>2]=j;YA(j|0,N|0,g|0)|0;b[i>>0]=1;f[R>>2]=i;f[S+88>>2]=1;j=1;e=i;v=52;break}}while(0);d:do if((v|0)==52){c=e+1|0;do if(b[c>>0]|0){c=e+2|0;if(!(b[c>>0]|0)){b[c>>0]=1;M=e+16+((f[e+4>>2]|0)+2<<2)|0;i=111;break}c=e+4|0;g=Fd(f[c>>2]<<2)|0;if(!g){i=0;c=7;g=0;v=308;break d}if(!(f[e+8>>2]|0)){M=g;i=101}else{YA(g|0,e+20|0,f[c>>2]<<2|0)|0;M=g;i=101}}else{b[c>>0]=1;M=e+20|0;i=111}while(0);g=M;G=W+28|0;f[G>>2]=g;H=S+24|0;f[P>>2]=f[H>>2];f[V>>2]=0;I=f[S>>2]|0;f[Z>>2]=0;J=W+24|0;K=T+4|0;L=(j|0)==0;y=S+32|0;z=I+140|0;A=T+4|0;B=I+16|0;C=I+20|0;D=S+28|0;E=I+12|0;F=W+16|0;x=0;e=M;while(1){w=N+x|0;c=b[w>>0]|0;if(!(c<<24>>24)){c=0;break}b[J>>0]=c;e:do switch(c<<24>>24|0){case 112:{if(L)c=0;else{f[e>>2]=f[P>>2];c=0}break}case 99:{if(L)c=0;else{f[e>>2]=f[Q>>2];c=0}break}case 110:{if(L)c=0;else{c=f[Z>>2]|0;if(!c){c=It(I,Z)|0;if(!c){c=f[Z>>2]|0;if(!c){k=lf(37592)|0;v=79}else v=70}else j=0}else v=70;if((v|0)==70){e=f[c+104>>2]|0;if((e|0)!=0?(d[c+140>>1]|0)!=0:0)j=c;else{e=f[c>>2]|0;f[e+64>>2]=25;Bg(e,25);e=37592;j=c}k=lf(e)|0;e=f[j>>2]|0;j=c+40|0;c=f[j>>2]|0;if((c|0)==3082|(b[e+81>>0]|0)!=0){Di(e);c=7}else c=f[e+68>>2]&c;f[j>>2]=c;v=79}if((v|0)==79){v=0;c=b[k>>0]|0;e=c&255;do if(!(e&128)){c=c&255;e=0}else{u=h[k+1>>0]|0;c=u<<7|e&127;if(!(u&128)){e=0;break}u=h[k+2>>0]|0;c=u<<14|c&16383;if(!(u&128)){e=0;break}u=h[k+3>>0]|0;c=u<<21|c&2097151;if(!(u&128)){e=0;break}l=28;j=k+4|0;c=c&268435455;e=0;while(1){u=h[j>>0]|0;s=WA(u&127|0,0,l|0)|0;c=KA(s|0,ba()|0,c|0,e|0)|0;e=ba()|0;l=l+7|0;if(!(l>>>0<64&((u&128|0)!=0|0!=0)))break;else j=j+1|0}}while(0);j=c;c=(c|0)==0&(e|0)==0?267:0}f[V>>2]=c;f[f[G>>2]>>2]=j}break}case 97:{if(L)c=0;else{c=f[Z>>2]|0;if(!c){c=It(I,Z)|0;if(!c){c=f[Z>>2]|0;if(!c){l=lf(37592)|0;v=104}else v=95}}else v=95;if((v|0)==95){e=f[c+104>>2]|0;if((e|0)!=0?(d[c+140>>1]|0)!=0:0)j=c;else{e=f[c>>2]|0;f[e+64>>2]=25;Bg(e,25);e=37592;j=c}k=lf(e)|0;e=f[j>>2]|0;j=c+40|0;c=f[j>>2]|0;if((c|0)==3082|(b[e+81>>0]|0)!=0){Di(e);c=7}else c=f[e+68>>2]&c;f[j>>2]=c;l=k;v=104}if((v|0)==104){v=0;e=b[l>>0]|0;c=e&255;do if(!(c&128)){j=1;c=e&255;e=0}else{u=h[l+1>>0]|0;c=u<<7|c&127;if(!(u&128)){j=2;e=0;break}u=h[l+2>>0]|0;c=u<<14|c&16383;if(!(u&128)){j=3;e=0;break}u=h[l+3>>0]|0;c=u<<21|c&2097151;if(!(u&128)){j=4;e=0;break}j=28;k=l+4|0;c=c&268435455;e=0;do{u=k;k=k+1|0;u=h[u>>0]|0;s=WA(u&127|0,0,j|0)|0;c=KA(s|0,ba()|0,c|0,e|0)|0;e=ba()|0;j=j+7|0}while(j>>>0<64&((u&128|0)!=0|0!=0));j=k-l|0}while(0);if((c|0)==0&(e|0)==0)c=267;else{f[V>>2]=0;if((f[Q>>2]|0)<=0){c=0;break e}o=VA(c|0,0,1)|0;p=ba()|0;n=0;m=l+j|0;while(1){j=b[m>>0]|0;e=j&255;do if(!(e&128)){k=1;e=j&255}else{u=h[m+1>>0]|0;e=u<<7|e&127;if(!(u&128)){k=2;break}u=h[m+2>>0]|0;e=u<<14|e&16383;if(!(u&128)){k=3;break}u=h[m+3>>0]|0;e=u<<21|e&2097151;if(!(u&128)){k=4;break}k=28;l=m+4|0;e=e&268435455;j=0;do{u=l;l=l+1|0;u=h[u>>0]|0;s=WA(u&127|0,0,k|0)|0;e=KA(s|0,ba()|0,e|0,j|0)|0;j=ba()|0;k=k+7|0}while(k>>>0<64&((u&128|0)!=0|0!=0));k=l-m|0}while(0);u=KA(e|0,0,o|0,p|0)|0;u=SA(u|0,ba()|0,c|0,0)|0;ba()|0;f[(f[G>>2]|0)+(n<<2)>>2]=u;n=n+1|0;if((n|0)>=(f[Q>>2]|0)){c=0;break e}else m=m+k|0}}}f[V>>2]=c}break}case 108:{l=y;k=f[l>>2]|0;l=f[l+4>>2]|0;v=f[z>>2]|0;f[Y>>2]=v;e=v;do if(!v){j=f[C>>2]|0;f[X>>2]=f[B>>2];f[X+4>>2]=j;j=wd(64569,X)|0;if(!j){c=7;v=161;break}c=Ki(f[E>>2]|0,j,-1,129,0,Y,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](j);else{v=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j)}e=f[Y>>2]|0;f[z>>2]=e;if(!c)v=139;else v=161}else v=139;while(0);f:do if((v|0)==139){v=0;o=e;do if(!(Op(o,1)|0)){c=f[o+116>>2]|0;j=c+8|0;if(!(d[j>>1]&9216)){u=c;f[u>>2]=k;f[u+4>>2]=l;d[j>>1]=4;break}else{bf(c,k,l);break}}while(0);c=(e|0)==0;do if((Ei(o)|0)==100){if(!c){m=o+104|0;c=f[m>>2]|0;do if(!c)v=148;else{if(!(d[o+140>>1]|0)){v=148;break}j=c;c=o}while(0);if((v|0)==148){v=0;j=f[o>>2]|0;f[j+64>>2]=25;Bg(j,25);j=37592;c=o}l=d[j+8>>1]&15;j=f[c>>2]|0;n=o+40|0;k=f[n>>2]|0;if((k|0)==3082|(b[j+81>>0]|0)!=0){Di(j);j=7}else j=f[j+68>>2]&k;f[n>>2]=j;if((l|16)<<16>>16!=16){v=155;break}f[V>>2]=0;c=f[m>>2]|0;do if(!c)v=165;else{if(!(d[o+140>>1]|0)){v=165;break}j=o}while(0);if((v|0)==165){v=0;c=f[o>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592;j=o}k=lf(c)|0;c=f[j>>2]|0;j=f[n>>2]|0;if((j|0)==3082|(b[c+81>>0]|0)!=0){Di(c);c=7}else c=f[c+68>>2]&j;f[n>>2]=c;if((f[Q>>2]|0)<=0){k=o;e=o;c=0;break f}m=k;n=0;while(1){c=h[m>>0]|0;do if(!(c&128))j=1;else{v=h[m+1>>0]|0;c=v<<7|c&127;if(!(v&128)){j=2;break}v=h[m+2>>0]|0;c=v<<14|c&16383;if(!(v&128)){j=3;break}v=h[m+3>>0]|0;c=v<<21|c&2097151;if(!(v&128)){j=4;break}k=28;l=m+4|0;c=c&268435455;j=0;do{v=l;l=l+1|0;v=h[v>>0]|0;u=WA(v&127|0,0,k|0)|0;c=KA(u|0,ba()|0,c|0,j|0)|0;j=ba()|0;k=k+7|0}while(k>>>0<64&((v&128|0)!=0|0!=0));j=l-m|0}while(0);f[(f[G>>2]|0)+(n<<2)>>2]=c;n=n+1|0;if((n|0)>=(f[Q>>2]|0)){j=o;c=0;v=179;break f}else m=m+j|0}}}else if(!c){c=o;v=155}while(0);do if((v|0)==155){c=f[c>>2]|0;v=o+128|0;u=f[v+4>>2]|0;if((u|0)>0|(u|0)==0&(f[v>>2]|0)>>>0>0)Hi(c,o);e=fg(o)|0;f[o+20>>2]=770837923;f[o+36>>2]=-1;f[o+40>>2]=0;b[o+142>>0]=2;f[o+44>>2]=0;f[o+32>>2]=1;b[o+143>>0]=-1;f[o+48>>2]=0;v=o+64|0;f[v>>2]=0;f[v+4>>2]=0;if(!((e|0)==3082|(b[c+81>>0]|0)!=0)){c=f[c+68>>2]&e;if(!c)break;else{e=0;v=161;break f}}else{Di(c);c=7;e=0;v=161;break f}}while(0);c=267;e=0;v=161}while(0);if((v|0)==161){f[V>>2]=c;j=e;v=179}if((v|0)==179){v=0;if(!e)break e;k=j;e=j}e=f[e>>2]|0;u=k+128|0;s=f[u+4>>2]|0;if((s|0)>0|(s|0)==0&(f[u>>2]|0)>>>0>0)Hi(e,k);u=fg(k)|0;f[k+20>>2]=770837923;f[k+36>>2]=-1;f[k+40>>2]=0;b[k+142>>0]=2;f[k+44>>2]=0;f[k+32>>2]=1;b[k+143>>0]=-1;f[k+48>>2]=0;s=k+64|0;f[s>>2]=0;f[s+4>>2]=0;if((u|0)==3082|(b[e+81>>0]|0)!=0)Di(e);break}case 115:{c=A;f[c>>2]=0;f[c+4>>2]=0;f[T>>2]=S;c=f[O>>2]|0;f[Y>>2]=0;c=Gt(c,Y,98,T)|0;f[V>>2]=c;if(!c){u=Fd(f[H>>2]<<4)|0;g:do if(u){_A(u|0,0,f[H>>2]<<4|0)|0;c=f[O>>2]|0;f[Y>>2]=0;Gt(c,Y,102,u)|0;c=f[P>>2]|0;if((c|0)>0){e=0;j=0;do{e=e-(f[(f[(f[u+(j<<4)>>2]|0)+20>>2]|0)+64>>2]|0)|0;f[u+(j<<4)+4>>2]=e;j=j+1|0}while((j|0)!=(c|0))}h:do if((f[Q>>2]|0)>0){s=0;while(1){i:do if((c|0)>0){e=0;q=0;do{p=u+(q<<4)+8|0;c=Lt(S,f[u+(q<<4)>>2]|0,s,p)|0;if(c|0)break g;m=f[p>>2]|0;if(m){n=f[u+(q<<4)+4>>2]|0;o=u+(q<<4)+12|0;f[o>>2]=n;j=b[m>>0]|0;c=j&255;do if(!(c&128)){k=1;l=0;c=j&255}else{r=h[m+1>>0]|0;c=r<<7|c&127;if(!(r&128)){k=2;l=0;break}r=h[m+2>>0]|0;c=r<<14|c&16383;if(!(r&128)){k=3;l=0;break}r=h[m+3>>0]|0;c=r<<21|c&2097151;if(!(r&128)){k=4;l=0;break}j=28;k=m+4|0;c=c&268435455;l=0;do{r=k;k=k+1|0;r=h[r>>0]|0;aa=WA(r&127|0,0,j|0)|0;c=KA(aa|0,ba()|0,c|0,l|0)|0;l=ba()|0;j=j+7|0}while(j>>>0<64&((r&128|0)!=0|0!=0));k=k-m|0}while(0);if(l>>>0<0|(l|0)==0&c>>>0<2)c=0;else{f[o>>2]=n+-2+c;c=m+k|0}f[p>>2]=c;e=e+1|0}q=q+1|0;r=f[P>>2]|0}while((q|0)<(r|0));if((e|0)<=0){c=0;break}if((r|0)<=0){c=e;e=f[2]|0;while(1){k=b[e>>0]|0;j=k&255;do if(!(j&128)){l=1;m=0;j=k&255}else{aa=h[e+1>>0]|0;j=aa<<7|j&127;if(!(aa&128)){l=2;m=0;break}aa=h[e+2>>0]|0;j=aa<<14|j&16383;if(!(aa&128)){l=3;m=0;break}aa=h[e+3>>0]|0;j=aa<<21|j&2097151;if(!(aa&128)){l=4;m=0;break}k=28;l=e+4|0;j=j&268435455;m=0;do{aa=l;l=l+1|0;aa=h[aa>>0]|0;r=WA(aa&127|0,0,k|0)|0;j=KA(r|0,ba()|0,j|0,m|0)|0;m=ba()|0;k=k+7|0}while(k>>>0<64&((aa&128|0)!=0|0!=0));l=l-e|0}while(0);if(m>>>0<0|(m|0)==0&j>>>0<2){f[2]=0;e=0;c=c+-1|0}else{e=e+l|0;f[3]=j+-2+(f[3]|0);f[2]=e}if((c|0)<=0){c=0;break i}}}c=0;do{j=0;l=0;m=0;do{k=u+(m<<4)|0;if(!(f[u+(m<<4)+8>>2]|0))j=0;else{if(!((l|0)!=0?(f[u+(m<<4)+12>>2]|0)>=(f[l+12>>2]|0):0))l=k;if((j|0)!=0?(f[u+(m<<4)+12>>2]|0)!=(f[k+-16+12>>2]|0):0)j=1;else j=j+1|0;c=(j|0)>(c|0)?j:c}m=m+1|0}while((m|0)!=(r|0));p=l+8|0;o=f[p>>2]|0;k=b[o>>0]|0;j=k&255;do if(!(j&128)){m=1;n=0;j=k&255}else{aa=h[o+1>>0]|0;j=aa<<7|j&127;if(!(aa&128)){m=2;n=0;break}aa=h[o+2>>0]|0;j=aa<<14|j&16383;if(!(aa&128)){m=3;n=0;break}aa=h[o+3>>0]|0;j=aa<<21|j&2097151;if(!(aa&128)){m=4;n=0;break}k=28;m=o+4|0;j=j&268435455;n=0;do{aa=m;m=m+1|0;aa=h[aa>>0]|0;q=WA(aa&127|0,0,k|0)|0;j=KA(q|0,ba()|0,j|0,n|0)|0;n=ba()|0;k=k+7|0}while(k>>>0<64&((aa&128|0)!=0|0!=0));m=m-o|0}while(0);if(n>>>0<0|(n|0)==0&j>>>0<2){f[p>>2]=0;e=e+-1|0}else{aa=l+12|0;f[aa>>2]=j+-2+(f[aa>>2]|0);f[p>>2]=o+m}}while((e|0)>0)}else c=0;while(0);f[(f[G>>2]|0)+(s<<2)>>2]=c;c=s+1|0;if((c|0)>=(f[Q>>2]|0))break h;s=c;c=f[P>>2]|0}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](u);c=0;break}else{c=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);c=0;break}}else c=7;while(0);f[V>>2]=c}break}case 98:{c=U(((f[Q>>2]|0)+31|0)/32|0,f[P>>2]|0)|0;v=263;break}case 121:{c=U(f[P>>2]|0,f[Q>>2]|0)|0;v=263;break}default:{m=f[O>>2]|0;c=K;f[c>>2]=0;f[c+4>>2]=0;f[T>>2]=S;f[Y>>2]=0;c=Gt(m,Y,98,T)|0;f[V>>2]=c;if(!c){if(!L){j:do if(f[D>>2]|0){c=f[Z>>2]|0;do if(!c){c=It(I,Z)|0;if(c|0)break;c=f[Z>>2]|0;if(c|0){v=270;break}k=lf(37592)|0;v=279}else v=270;while(0);if((v|0)==270){v=0;e=f[c+104>>2]|0;do if(!e)v=273;else{if(!(d[c+140>>1]|0)){v=273;break}j=c}while(0);if((v|0)==273){e=f[c>>2]|0;f[e+64>>2]=25;Bg(e,25);e=37592;j=c}k=lf(e)|0;e=f[j>>2]|0;j=c+40|0;c=f[j>>2]|0;if((c|0)==3082|(b[e+81>>0]|0)!=0){Di(e);c=7}else c=f[e+68>>2]&c;f[j>>2]=c;v=279}do if((v|0)==279){v=0;c=b[k>>0]|0;e=c&255;do if(!(e&128)){e=c&255;c=0}else{aa=h[k+1>>0]|0;c=aa<<7|e&127;if(!(aa&128)){e=c;c=0;break}aa=h[k+2>>0]|0;c=aa<<14|c&16383;if(!(aa&128)){e=c;c=0;break}aa=h[k+3>>0]|0;e=aa<<21|c&2097151;if(!(aa&128)){c=0;break}l=28;j=k+4|0;e=e&268435455;c=0;while(1){aa=h[j>>0]|0;u=WA(aa&127|0,0,l|0)|0;e=KA(u|0,ba()|0,e|0,c|0)|0;c=ba()|0;l=l+7|0;if(!(l>>>0<64&((aa&128|0)!=0|0!=0)))break;else j=j+1|0}}while(0);if((e|0)==0&(c|0)==0){c=267;break}aa=F;f[aa>>2]=e;f[aa+4>>2]=0;f[V>>2]=0;break j}while(0);f[V>>2]=c;break e}while(0);f[Y>>2]=0;c=Gt(m,Y,103,W)|0;f[V>>2]=c;Ot(S,V)|0;c=f[V>>2]|0;if(c|0)break e}f[Y>>2]=0;Gt(m,Y,104,W)|0;c=0}}}while(0);if((v|0)==263){v=0;_A(e|0,0,c<<2|0)|0;Mt(f[O>>2]|0,W);c=0}switch(b[w>>0]|0){case 99:case 112:case 110:{e=1;break}case 115:case 108:case 97:{e=f[Q>>2]|0;break}case 121:{e=U(f[P>>2]|0,f[Q>>2]|0)|0;break}case 98:{e=U(((f[Q>>2]|0)+31|0)/32|0,f[P>>2]|0)|0;break}default:e=U((f[Q>>2]|0)*3|0,f[P>>2]|0)|0}e=(f[G>>2]|0)+(e<<2)|0;f[G>>2]=e;if(c|0)break;else x=x+1|0}e=f[Z>>2]|0;if(e|0){j=f[e>>2]|0;aa=e+128|0;Z=f[aa+4>>2]|0;if((Z|0)>0|(Z|0)==0&(f[aa>>2]|0)>>>0>0)Hi(j,e);aa=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;Z=e+64|0;f[Z>>2]=0;f[Z+4>>2]=0;if((aa|0)==3082|(b[j+81>>0]|0)!=0)Di(j)}if(!L){Z=f[R>>2]|0;f[Z+8>>2]=1;aa=f[Z+4>>2]|0;YA(Z+16+(aa+2<<2)|0,Z+20|0,aa<<2|0)|0}if(!c){if(($e(f[a>>2]|0,M,f[(f[R>>2]|0)+4>>2]<<2,0,i)|0)==18){f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0}}else v=308}while(0);if((v|0)==308){f[a+20>>2]=c;e=f[a>>2]|0;if(d[e+8>>1]&1){switch(c|0){case 516:{c=44816;break}case 100:{c=44794;break}case 101:{c=44771;break}default:{c=c&255;if(c>>>0<29?(520028155>>>c&1|0)!=0:0)c=f[7984+(c<<2)>>2]|0;else c=44757}}$e(e,c,-1,1,0)|0}if(i|0)ob[i&127](g)}c=_+248|0;e=f[c>>2]|0;do if(e|0){g=f[e+20>>2]|0;Fi(f[e+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Kc(g,e);break}aa=e;if((f[g+304>>2]|0)>>>0<=aa>>>0?(f[g+308>>2]|0)>>>0>aa>>>0:0){aa=g+300|0;f[e>>2]=f[aa>>2];f[aa>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{aa=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[c>>2]=0;t=$;return}f[i>>2]=60051;c=wd(64501,i)|0;f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(!c){t=$;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);t=$;return}else{aa=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);t=$;return}}function Ft(a,b,c){a=a|0;b=b|0;c=c|0;f[c>>2]=(f[c>>2]|0)+1;f[a+36>>2]=b;return 0}function Gt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=f[a>>2]|0;a:do if((e|0)!=5){g=a;while(1){a=Gt(f[g+12>>2]|0,b,c,d)|0;if(!((e|0)!=2&(a|0)==0))break;a=f[g+16>>2]|0;e=f[a>>2]|0;if((e|0)==5)break a;else g=a}return a|0}while(0);d=kb[c&127](a,f[b>>2]|0,d)|0;f[b>>2]=(f[b>>2]|0)+1;return d|0}function Ht(a){a=a|0;var c=0;c=a+(0-(f[a+-4>>2]|0))|0;if((c+16+4|0)==(a|0))b[c+1>>0]=0;else b[c+2>>0]=0;if(b[c>>0]|0)return;if(b[c+1>>0]|0)return;if(b[c+2>>0]|0)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);return}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);return}}function It(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=t;t=t+16|0;e=l;h=l+8|0;i=a+144|0;k=f[i>>2]|0;f[h>>2]=k;g=k;if(!k){k=f[a+20>>2]|0;f[e>>2]=f[a+16>>2];f[e+4>>2]=k;e=wd(63474,e)|0;if(!e){k=7;j=g;f[c>>2]=j;t=l;return k|0}a=Ki(f[a+12>>2]|0,e,-1,129,0,h,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{k=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}e=f[h>>2]|0;f[i>>2]=e;if(!a)i=e;else{k=a;j=e;f[c>>2]=j;t=l;return k|0}}else i=g;k=i;do if(!(Op(k,1)|0)){e=f[k+116>>2]|0;a=e+8|0;if(!(d[a>>1]&9216)){h=e;f[h>>2]=0;f[h+4>>2]=0;d[a>>1]=4;break}else{bf(e,0,0);break}}while(0);if((Ei(k)|0)==100){if(i|0){e=f[k+104>>2]|0;if(!((e|0)!=0?(d[k+140>>1]|0)!=0:0)){e=f[k>>2]|0;f[e+64>>2]=25;Bg(e,25);e=37592}g=d[e+8>>1]&15;e=f[k>>2]|0;h=k+40|0;a=f[h>>2]|0;if((a|0)==3082|(b[e+81>>0]|0)!=0){Di(e);e=7}else e=f[e+68>>2]&a;f[h>>2]=e;if((g|16)<<16>>16==16){k=0;j=i;f[c>>2]=j;t=l;return k|0}else j=22}}else j=22;do if((j|0)==22?i|0:0){e=f[k>>2]|0;j=k+128|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0)Hi(e,k);a=fg(k)|0;f[k+20>>2]=770837923;f[k+36>>2]=-1;f[k+40>>2]=0;b[k+142>>0]=2;f[k+44>>2]=0;f[k+32>>2]=1;b[k+143>>0]=-1;f[k+48>>2]=0;k=k+64|0;f[k>>2]=0;f[k+4>>2]=0;if((a|0)==3082|(b[e+81>>0]|0)!=0){Di(e);k=7;j=0;f[c>>2]=j;t=l;return k|0}else{e=f[e+68>>2]&a;if(!e)break;else a=0;f[c>>2]=a;t=l;return e|0}}while(0);k=267;j=0;f[c>>2]=j;t=l;return k|0}function Jt(a,b,c){a=a|0;b=b|0;c=c|0;b=f[a+20>>2]|0;a=c+4|0;f[a>>2]=(f[a>>2]|0)+1;c=c+8|0;f[c>>2]=(f[c>>2]|0)+(f[b+64>>2]|0);return 0}function Kt(a,b,c){a=a|0;b=b|0;c=c|0;f[c+(b<<4)>>2]=a;return 0}function Lt(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;H=t;t=t+32|0;G=H+16|0;D=H;o=H+12|0;E=H+20|0;F=H+8|0;B=f[c+20>>2]|0;i=f[a>>2]|0;f[e>>2]=0;C=f[B+68>>2]|0;if(!((C|0)==(d|0)?1:(C|0)>=(f[i+24>>2]|0))){e=0;t=H;return e|0}n=c+24|0;m=f[n>>2]|0;n=f[n+4>>2]|0;g=D;f[g>>2]=m;f[g+4>>2]=n;g=f[B+28>>2]|0;f[G>>2]=g;C=a+32|0;A=C;if(!(((m|0)==(f[A>>2]|0)?(n|0)==(f[A+4>>2]|0):0)?(b[c+32>>0]|0)==0:0))y=4;a:do if((y|0)==4){f[o>>2]=0;z=b[i+235>>0]|0;A=z&255;g=f[c+8>>2]|0;b:do if(g){i=0;l=0;do{y=f[g>>2]|0;i=(y|0)==4?1:i;c=(y|0)==1?g:c;l=(b[g+32>>0]|0)==0?l:1;g=f[g+8>>2]|0}while((g|0)!=0);if(i){c:do if(f[B+40>>2]|0){k=c+32|0;i=b[k>>0]|0;Xt(a,c,o);j=c+24|0;g=f[o>>2]|0;if(!g)if(!(i<<24>>24))do{if(b[k>>0]|0){g=0;break c}Yt(a,c,o);y=j;g=f[o>>2]|0}while(((f[y>>2]|0)!=(m|0)?1:(f[y+4>>2]|0)!=(n|0))&(g|0)==0);else do{if(b[k>>0]|0){g=0;break c}Yt(a,c,o);g=f[o>>2]|0}while(!(g|0))}else g=0;while(0);i=(g|0)==0;d:do if(!(l<<24>>24)){if(!i)break b;if(!c)y=81;else y=24}else{if(!i)break b;i=c+32|0;while(1){if(b[i>>0]|0){y=24;break d}Yt(a,c,o);g=f[o>>2]|0;if(g|0)break b}}while(0);if((y|0)==24){v=a+52|0;x=z<<24>>24==0;w=x?1:-1;x=x?0:-1;g=1;do{b[E>>0]=0;if((f[c>>2]|0)==1)i=f[c+16>>2]|0;else i=c;r=f[i+20>>2]|0;s=r+48|0;j=f[s>>2]|0;f[G>>2]=j;u=r+56|0;m=u;i=f[m>>2]|0;m=f[m+4>>2]|0;a=D;f[a>>2]=i;f[a+4>>2]=m;a=r+4|0;q=f[a>>2]|0;k=(q|0)!=0;l=j;e:do if((b[v>>0]|0)==z<<24>>24){if(k)k=((f[r>>2]|0)+q|0)>>>0<=l>>>0;else k=1;n=k&1;b[E>>0]=n;p=n;a=l;while(1){f:do if(!a){if(p<<24>>24){g=m;y=76;break e}n=f[r>>2]|0;l=n;i=b[n>>0]|0;j=i&255;do if(!(j&128)){i=i&255;j=D;f[j>>2]=i;f[j+4>>2]=0;j=1;m=0}else{p=h[n+1>>0]|0;i=p<<7|j&127;if(!(p&128)){j=D;f[j>>2]=i;f[j+4>>2]=0;j=2;m=0;break}p=h[n+2>>0]|0;i=p<<14|i&16383;if(!(p&128)){j=D;f[j>>2]=i;f[j+4>>2]=0;j=3;m=0;break}p=h[n+3>>0]|0;i=p<<21|i&2097151;if(!(p&128)){j=D;f[j>>2]=i;f[j+4>>2]=0;j=4;m=0;break}j=28;k=n+4|0;i=i&268435455;m=0;do{p=k;k=k+1|0;p=h[p>>0]|0;o=WA(p&127|0,0,j|0)|0;i=KA(o|0,ba()|0,i|0,m|0)|0;m=ba()|0;j=j+7|0}while(j>>>0<64&((p&128|0)!=0|0!=0));j=D;f[j>>2]=i;f[j+4>>2]=m;j=k-l|0}while(0);k=0;j=n+j|0;n=0}else{k=C;l=f[k>>2]|0;k=f[k+4>>2]|0;o=LA(i|0,m|0,l|0,k|0)|0;QA(o|0,ba()|0,w|0,x|0)|0;if(!(n<<24>>24==0&(ba()|0)<0)){y=77;break e}n=f[r>>2]|0;l=a;j=0;while(1){k=b[l>>0]|0;l=l+1|0;if(!(j<<24>>24|k))break;else j=k&128}j=l;k=n+q|0;do if(l>>>0>>0){while(1){n=b[l>>0]|0;if(n<<24>>24)break;j=l+1|0;if(j>>>0>>0)l=j;else{y=52;break}}if((y|0)==52){y=0;break}k=n&255;do if(!(k&128)){a=1;k=n&255;j=0}else{o=h[l+1>>0]|0;k=o<<7|k&127;if(!(o&128)){a=2;j=0;break}o=h[l+2>>0]|0;k=o<<14|k&16383;if(!(o&128)){a=3;j=0;break}o=h[l+3>>0]|0;k=o<<21|k&2097151;if(!(o&128)){a=4;j=0;break}n=28;a=l+4|0;k=k&268435455;o=0;do{I=a;a=a+1|0;I=h[I>>0]|0;J=WA(I&127|0,0,n|0)|0;k=KA(J|0,ba()|0,k|0,o|0)|0;o=ba()|0;n=n+7|0}while(n>>>0<64&((I&128|0)!=0|0!=0));a=a-j|0;j=o}while(0);k=QA(k|0,j|0,w|0,x|0)|0;i=KA(i|0,m|0,k|0,ba()|0)|0;m=ba()|0;k=D;f[k>>2]=i;f[k+4>>2]=m;k=p;j=l+a|0;n=0;break f}while(0);b[E>>0]=1;k=1;n=1}while(0);f[G>>2]=j;p=k;a=j}}else{if(k)if(!j)i=0;else i=(f[r>>2]|0)>>>0>=l>>>0;else i=1;b[E>>0]=i&1;i=l;while(1){if(!i){if(b[E>>0]|0)break}else{m=D;i=f[m>>2]|0;m=f[m+4>>2]|0;k=C;l=f[k>>2]|0;k=f[k+4>>2]|0;J=LA(i|0,m|0,l|0,k|0)|0;J=QA(J|0,ba()|0,w|0,x|0)|0;I=ba()|0;n=b[E>>0]|0;if(!(n<<24>>24==0&((I|0)>0|(I|0)==0&J>>>0>0))){y=77;break e}}wt(A,f[r>>2]|0,f[a>>2]|0,G,D,F,E);j=f[G>>2]|0;i=j}g=D;i=f[g>>2]|0;g=f[g+4>>2]|0;y=76}while(0);if((y|0)==76){f[s>>2]=j;J=u;f[J>>2]=i;f[J+4>>2]=g;y=78}else if((y|0)==77){y=0;f[s>>2]=j;J=u;f[J>>2]=i;f[J+4>>2]=m;if(!(n<<24>>24==0&((i|0)==(l|0)&(m|0)==(k|0))))y=78}if((y|0)==78){y=0;g=0}c=f[c+12>>2]|0}while((c|0)!=0);if(!g)g=0;else y=81}if((y|0)==81)g=f[B+48>>2]|0;f[G>>2]=g;break a}else g=0}else g=0;while(0);J=g;t=H;return J|0}while(0);if(!g){J=0;t=H;return J|0}if((b[g>>0]|0)==1){j=g+1|0;f[G>>2]=j;i=b[j>>0]|0;c=i&255;if(c&128){J=b[g+2>>0]|0;i=J<<7|i&127;if(J&128){J=b[g+3>>0]|0;i=J<<14|i&16383;if(J&128){J=b[g+4>>0]|0;i=J<<21|i&2097151;if(!(J&128)){g=i;i=4}else{g=(b[g+5>>0]&7)<<28|i&268435455;i=5}}else{g=i;i=3}}else{g=i;i=2}}else{g=c;i=1}J=j+i|0;f[G>>2]=J;i=g;g=J}else i=0;c=b[g>>0]|0;g:do if((i|0)<(d|0)){while(1){i=c<<24>>24;if(i&254)do{g=g+1|0;J=i;i=b[g>>0]|0}while((i&254|J&128|0)!=0);f[G>>2]=g;if(!(b[g>>0]|0)){g=0;break}j=g+1|0;f[G>>2]=j;c=b[j>>0]|0;i=c&255;if(i&128){J=b[g+2>>0]|0;i=J<<7|c&127;if(J&128){J=b[g+3>>0]|0;i=J<<14|i&16383;if(J&128){J=b[g+4>>0]|0;i=J<<21|i&2097151;if(!(J&128))g=4;else{i=(b[g+5>>0]&7)<<28|i&268435455;g=5}}else g=3}else g=2}else g=1;g=j+g|0;f[G>>2]=g;c=b[g>>0]|0;if((i|0)>=(d|0))break g}t=H;return g|0}while(0);if(!(c<<24>>24)){f[G>>2]=0;g=0}f[e>>2]=(i|0)==(d|0)?g:0;J=0;t=H;return J|0}function Mt(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(b[a+32>>0]|0)return;while(1){k=a+24|0;e=f[c>>2]|0;l=e+32|0;if(!((f[k>>2]|0)==(f[l>>2]|0)?(f[k+4>>2]|0)==(f[l+4>>2]|0):0)){d=33;break}d=f[a+12>>2]|0;if(!d){d=6;break}Mt(d,c);a=f[a+16>>2]|0;if(b[a+32>>0]|0){d=33;break}}if((d|0)==6){l=f[a+20>>2]|0;d=f[l+28>>2]|0;h=(b[c+24>>0]|0)==121;k=f[c+4>>2]|0;k=U(h?k:(k+31|0)/32|0,f[a+36>>2]|0)|0;l=l+68|0;j=(f[e>>2]|0)+24|0;i=c+28|0;if(h){h=0;while(1){a=b[d>>0]|0;e=a<<24>>24;if(!(e&254)){c=0;g=d}else{a=0;while(1){d=d+1|0;g=e&128;c=(g>>>7^1)+a|0;a=b[d>>0]|0;e=a<<24>>24;if(!(e&254|g)){g=d;break}else a=c}}e=f[l>>2]|0;if((e|0)==(h|0)?1:(e|0)>=(f[j>>2]|0)){f[(f[i>>2]|0)+(h+k<<2)>>2]=c;a=b[g>>0]|0}if(a<<24>>24!=1)break;e=g+1|0;d=b[e>>0]|0;a=d&255;if(a&128){h=b[g+2>>0]|0;a=h<<7|d&127;if(h&128){h=b[g+3>>0]|0;a=h<<14|a&16383;if(h&128){h=b[g+4>>0]|0;a=h<<21|a&2097151;if(!(h&128))d=4;else{a=(b[g+5>>0]&7)<<28|a&268435455;d=5}}else d=3}else d=2}else d=1;h=a;d=e+d|0}return}else{h=0;while(1){a=b[d>>0]|0;e=a<<24>>24;if(!(e&254)){c=0;g=d}else{a=0;while(1){d=d+1|0;g=e&128;c=(g>>>7^1)+a|0;a=b[d>>0]|0;e=a<<24>>24;if(!(e&254|g)){g=d;break}else a=c}}e=f[l>>2]|0;if(!((c|0)==0|((e|0)!=(h|0)?(e|0)<(f[j>>2]|0):0))){a=(f[i>>2]|0)+(((h+1|0)/32|0)+k<<2)|0;f[a>>2]=f[a>>2]|1<<(h&31);a=b[g>>0]|0}if(a<<24>>24!=1)break;e=g+1|0;d=b[e>>0]|0;a=d&255;if(a&128){h=b[g+2>>0]|0;a=h<<7|d&127;if(h&128){h=b[g+3>>0]|0;a=h<<14|a&16383;if(h&128){h=b[g+4>>0]|0;a=h<<21|a&2097151;if(!(h&128))d=4;else{a=(b[g+5>>0]&7)<<28|a&268435455;d=5}}else d=3}else d=2}else d=1;h=a;d=e+d|0}return}}else if((d|0)==33)return} -function zu(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;E=t;t=t+16|0;D=E;if(f[h>>2]|0){t=E;return}j=d;a:while(1){switch(f[j>>2]|0){case 5:{d=5;break a}case 2:{d=31;break a}case 4:{i=j+12|0;d=f[i>>2]|0;f[f[g>>2]>>2]=d;f[g>>2]=(f[g>>2]|0)+4;break}default:{d=c;i=j+12|0}}zu(a,d,f[i>>2]|0,e,g,h);i=j+16|0;if((f[j>>2]|0)==4){d=f[i>>2]|0;f[f[g>>2]>>2]=d;f[g>>2]=(f[g>>2]|0)+4}if(!(f[h>>2]|0)){c=d;j=f[i>>2]|0}else{d=31;break}}if((d|0)==5){w=f[j+20>>2]|0;x=w+64|0;y=w+68|0;v=0;while(1){if((v|0)>=(f[x>>2]|0)){d=31;break}z=f[e>>2]|0;f[e>>2]=z+24;f[z>>2]=w;f[z+4>>2]=v;f[z+12>>2]=c;f[z+8>>2]=w+72+(v*24|0);f[z+20>>2]=f[y>>2];m=f[w+72+(v*24|0)+20>>2]|0;z=z+16|0;u=f[a>>2]|0;n=f[u+240>>2]|0;o=m+4|0;p=u+20|0;q=u+248|0;r=u+244|0;s=u+12|0;u=u+16|0;i=0;l=0;while(1){if((l|0)>=(f[o>>2]|0)){d=0;break}d=f[(f[m>>2]|0)+(l<<2)>>2]|0;b:do if(((f[d+56>>2]|0)==0?(b[d+5>>0]|0)==0:0)?(B=d+8|0,A=f[B>>2]|0,B=f[B+4>>2]|0,C=d+16|0,k=C,g=f[k+4>>2]|0,!((B|0)>(g|0)|((B|0)==(g|0)?A>>>0>(f[k>>2]|0)>>>0:0))):0){j=f[q>>2]|0;g=A;k=B;while(1){if(!j){d=f[r>>2]|0;if(!d){f[D>>2]=f[p>>2];d=wd(64225,D)|0;f[r>>2]=d;if(!d){d=7;break b}}d=Wp(f[s>>2]|0,f[u>>2]|0,d,64237,g,k,0,q)|0}else d=aq(j,g,k)|0;if(d|0)break b;j=f[q>>2]|0;if((j|0)!=0?(f[j+16>>2]|0)!=0:0)d=f[j>>2]|0;else d=0;if((d+35|0)>(n|0))i=((d+34|0)/(n|0)|0)+i|0;F=g;g=KA(g|0,k|0,1,0)|0;H=k;k=ba()|0;d=C;G=f[d+4>>2]|0;if(!((H|0)<(G|0)|((H|0)==(G|0)?F>>>0<(f[d>>2]|0)>>>0:0))){d=0;break}}}else d=0;while(0);if(!d)l=l+1|0;else break}f[z>>2]=i;f[h>>2]=d;if(!d)v=v+1|0;else{d=31;break}}if((d|0)==31){t=E;return}}else if((d|0)==31){t=E;return}}function Au(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=t;t=t+16|0;y=C+4|0;z=C;A=f[a>>2]|0;if(f[A+40>>2]|0){B=0;t=C;return B|0}w=(g|0)>0;if(!w){B=0;t=C;return B|0}i=0;j=0;k=0;while(1){if((f[e+(k*24|0)+12>>2]|0)==(c|0)){v=i+1|0;j=(f[e+(k*24|0)+16>>2]|0)+j|0}else v=i;k=k+1|0;if((k|0)==(g|0))break;else i=v}if((j|0)==0|(v|0)<2){B=0;t=C;return B|0}s=a+60|0;i=f[s>>2]|0;do if(!i){i=It(A,y)|0;if(!i){r=f[y>>2]|0;q=(r|0)==0;if(q)l=lf(37592)|0;else{i=f[r+104>>2]|0;if((i|0)!=0?(d[r+140>>1]|0)!=0:0)j=r;else{i=f[r>>2]|0;f[i+64>>2]=25;Bg(i,25);i=37592;j=r}l=lf(i)|0;i=f[j>>2]|0;k=r+40|0;j=f[k>>2]|0;if((j|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7}else i=f[i+68>>2]&j;f[k>>2]=i}n=Gp(r,0)|0;p=l+n|0;j=b[l>>0]|0;i=j&255;do if(!(i&128)){k=1;i=j&255;o=0}else{u=h[l+1>>0]|0;i=u<<7|i&127;if(!(u&128)){k=2;o=0;break}u=h[l+2>>0]|0;i=u<<14|i&16383;if(!(u&128)){k=3;o=0;break}u=h[l+3>>0]|0;i=u<<21|i&2097151;if(!(u&128)){k=4;o=0;break}j=28;k=l+4|0;i=i&268435455;m=0;do{u=k;k=k+1|0;u=h[u>>0]|0;o=WA(u&127|0,0,j|0)|0;i=KA(o|0,ba()|0,i|0,m|0)|0;m=ba()|0;j=j+7|0}while(j>>>0<64&((u&128|0)!=0|0!=0));k=k-l|0;o=m}while(0);if((k|0)<(n|0)){n=l+k|0;do{k=b[n>>0]|0;j=k&255;do if(!(j&128)){l=1;j=k&255;k=0}else{u=h[n+1>>0]|0;j=u<<7|j&127;if(!(u&128)){l=2;k=0;break}u=h[n+2>>0]|0;j=u<<14|j&16383;if(!(u&128)){l=3;k=0;break}u=h[n+3>>0]|0;j=u<<21|j&2097151;if(!(u&128)){l=4;k=0;break}l=28;m=n+4|0;j=j&268435455;k=0;do{u=m;m=m+1|0;u=h[u>>0]|0;D=WA(u&127|0,0,l|0)|0;j=KA(D|0,ba()|0,j|0,k|0)|0;k=ba()|0;l=l+7|0}while(l>>>0<64&((u&128|0)!=0|0!=0));l=m-n|0}while(0);n=n+l|0}while(n>>>0

>>0);if(!((i|0)==0&(o|0)==0|(j|0)==0&(k|0)==0)){p=a+64|0;f[p>>2]=i;f[p+4>>2]=o;o=OA(j|0,k|0,i|0,o|0)|0;p=ba()|0;u=f[A+240>>2]|0;D=((u|0)<0)<<31>>31;p=KA(o|0,p|0,u|0,D|0)|0;D=OA(p|0,ba()|0,u|0,D|0)|0;ba()|0;f[s>>2]=D;do if(!q){i=f[r>>2]|0;D=r+128|0;u=f[D+4>>2]|0;if((u|0)>0|(u|0)==0&(f[D>>2]|0)>>>0>0)Hi(i,r);j=fg(r)|0;f[r+20>>2]=770837923;f[r+36>>2]=-1;f[r+40>>2]=0;b[r+142>>0]=2;f[r+44>>2]=0;f[r+32>>2]=1;b[r+143>>0]=-1;f[r+48>>2]=0;D=r+64|0;f[D>>2]=0;f[D+4>>2]=0;if((j|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=7;break}else{i=f[i+68>>2]&j;break}}else i=0;while(0);u=f[s>>2]|0;break}}if(!q){i=f[r>>2]|0;D=r+128|0;B=f[D+4>>2]|0;if((B|0)>0|(B|0)==0&(f[D>>2]|0)>>>0>0)Hi(i,r);D=fg(r)|0;f[r+20>>2]=770837923;f[r+36>>2]=-1;f[r+40>>2]=0;b[r+142>>0]=2;f[r+44>>2]=0;f[r+32>>2]=1;b[r+143>>0]=-1;f[r+48>>2]=0;B=r+64|0;f[B>>2]=0;f[B+4>>2]=0;if((D|0)==3082|(b[i+81>>0]|0)!=0){Di(i);i=267}else i=267}else i=267}D=i;t=C;return D|0}else{u=i;i=0}while(0);if(!((v|0)>0&(i|0)==0)){D=i;t=C;return D|0}s=v+-1|0;r=a+28|0;p=0;o=1;q=0;while(1){if(w){i=0;k=0;do{j=e+(k*24|0)|0;do if((f[e+(k*24|0)+8>>2]|0)!=0?(f[e+(k*24|0)+12>>2]|0)==(c|0):0){if(i|0?(f[e+(k*24|0)+16>>2]|0)>=(f[i+16>>2]|0):0)break;i=j}while(0);k=k+1|0}while((k|0)!=(g|0));m=i}else m=0;n=(q|0)==0;do if(n){o=o<<2;B=88}else{D=(o|0)/4|0;if((f[m+16>>2]|0)<(U((p+-1+D|0)/(D|0)|0,u)|0)){j=q>>>0<12?o<<2:o;if(!((q|0)==(s|0)?1:(f[(f[m>>2]|0)+64>>2]|0)<2)){o=j;B=88;break}i=0;l=j;k=p;j=m+8|0;break}j=m+8|0;n=f[j>>2]|0;m=f[m+20>>2]|0;do if(!(Mc()|0)){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](16)|0;if(!i){i=7;break}}else{i=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){D=f[18187]|0;a=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&a>>>0<=D>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){i=7;break}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k}f[i+12>>2]=0;f[i>>2]=n;f[i+8>>2]=f[r>>2];f[i+4>>2]=m;f[r>>2]=i;f[n+16>>2]=i;i=0}else i=7;while(0);l=n+20|0;du(f[l>>2]|0);f[l>>2]=0;l=o;k=p}while(0);if((B|0)==88){B=0;j=m+8|0;i=f[j>>2]|0;f[y>>2]=0;f[z>>2]=0;i=au(A,i,f[m+20>>2]|0,y,z)|0;if(!i){i=bu(A,f[m>>2]|0,f[m+4>>2]|0,f[z>>2]|0,f[y>>2]|0)|0;if(!i){k=f[m>>2]|0;i=f[k>>2]|0;k=f[k+4>>2]|0;if((i|0)!=0?(x=i+k|0,(k|0)>0):0){k=0;do{do{D=i;i=i+1|0}while((b[D>>0]|0)<0);l=0;while(1){m=b[i>>0]|0;i=i+1|0;if(!(l<<24>>24|m))break;else l=m&128}k=k+1|0}while(i>>>0>>0)}else k=0;i=0;k=n|(k|0)<(p|0)?k:p}else k=p}else k=p;l=o}f[j>>2]=0;q=q+1|0;if(!((q|0)<(v|0)&(i|0)==0))break;else{p=k;o=l}}t=C;return i|0}function Bu(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if(!c)return;if(f[d>>2]|0)return;if((f[c>>2]|0)!=5){h=c+12|0;Bu(a,f[h>>2]|0,d);e=c+16|0;Bu(a,f[e>>2]|0,d);if(!(b[(f[h>>2]|0)+34>>0]|0))e=0;else e=(b[(f[e>>2]|0)+34>>0]|0)!=0&1;b[c+34>>0]=e;return}h=f[c+20>>2]|0;g=f[h+64>>2]|0;if(g|0){a:do if((g|0)>0){e=0;do{if(!(f[h+72+(e*24|0)+16>>2]|0))break a;e=e+1|0}while((e|0)<(g|0))}else e=0;while(0);b[c+34>>0]=(e|0)==(g|0)&1}c=Cu(a,1,h)|0;f[d>>2]=c;return}function Cu(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=t;t=t+16|0;A=D+4|0;B=D;C=f[a>>2]|0;a:do if(((c|0)!=0?(b[a+52>>0]|0)==(b[C+235>>0]|0):0)?((f[d+64>>2]|0)+-1|0)>>>0<4:0){w=d+64|0;g=f[w>>2]|0;if((g|0)>0){c=0;e=0;do{if(f[d+72+(c*24|0)+12>>2]|0){z=w;break a}a=f[d+72+(c*24|0)+20>>2]|0;if(a){if(!(f[a+36>>2]|0)){z=w;break a}}else a=0;e=(a|0)==0?e:1;c=c+1|0}while((c|0)<(g|0));if(e){v=f[d+68>>2]|0;v=(v|0)<(f[C+24>>2]|0)?v:-1;u=C+235|0;if((g|0)<=0){C=0;A=1;B=d+40|0;f[B>>2]=A;t=D;return C|0}q=0;b:while(1){r=f[d+72+(q*24|0)+20>>2]|0;if(r|0){c=f[d+72+(q*24|0)>>2]|0;e=f[d+72+(q*24|0)+4>>2]|0;g=f[r+4>>2]|0;s=(b[u>>0]|0)==0?174:175;a=mt(C,r,c,e)|0;if(a|0){c=1;k=74;break}do if((g|0)>0){j=f[r>>2]|0;i=0;while(1){a=f[j+(i<<2)>>2]|0;if(!(f[a+40>>2]|0)){k=23;break}o=f[a+60>>2]|0;p=Hz(f[a+64>>2]|0,c,(o|0)>(e|0)?e:o)|0;if(((p|0)==0?o-e|0:p)|0){k=23;break}y=i+1|0;if((y|0)<(g|0))i=y;else{k=22;break}}if((k|0)==22){x=r+8|0;f[x>>2]=y}else if((k|0)==23){a=r+8|0;f[a>>2]=i;if(!i)break;else x=a}p=0;k=j;while(1){o=f[k+(p<<2)>>2]|0;if((b[u>>0]|0)!=0?(f[o+56>>2]|0)!=0:0){b[A>>0]=0;m=o+88|0;n=m;f[n>>2]=0;f[n+4>>2]=0;n=o+84|0;f[n>>2]=0;wt(0,f[o+72>>2]|0,f[o+76>>2]|0,o+80|0,m,n,A)}else{l=o+72|0;j=o+40|0;m=o+52|0;a=f[m>>2]|0;c:do if(a|0){k=(f[l>>2]|0)+10|0;n=o+48|0;i=o+44|0;c=f[n>>2]|0;g=a;while(1){a=f[j>>2]|0;if((k-a|0)<=(c|0))break c;e=(f[i>>2]|0)-c|0;e=(e|0)<4096?e:4096;a=Zp(g,a+c|0,e,c,89)|0;if(a|0){c=1;k=74;break b}a=(f[n>>2]|0)+e|0;f[n>>2]=a;a=(f[j>>2]|0)+a|0;c=a+20|0;do{b[a>>0]=0;a=a+1|0}while((a|0)<(c|0));c=f[n>>2]|0;g=f[m>>2]|0;if((c|0)==(f[i>>2]|0))break;if(!g)break c}d:do if(g|0){a=f[g+20>>2]|0;Fi(f[g+16>>2]|0)|0;do if(a|0){if(f[a+480>>2]|0){Kc(a,g);break d}c=g;if((f[a+304>>2]|0)>>>0>c>>>0)break;if((f[a+308>>2]|0)>>>0<=c>>>0)break;k=a+300|0;f[g>>2]=f[k>>2];f[k>>2]=g;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{k=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);f[m>>2]=0;f[n>>2]=0}while(0);j=f[l>>2]|0;i=o+88|0;a=b[j>>0]|0;c=a&255;do if(!(c&128)){n=i;f[n>>2]=a&255;f[n+4>>2]=0;a=1}else{n=h[j+1>>0]|0;a=n<<7|c&127;if(!(n&128)){n=i;f[n>>2]=a;f[n+4>>2]=0;a=2;break}n=h[j+2>>0]|0;a=n<<14|a&16383;if(!(n&128)){n=i;f[n>>2]=a;f[n+4>>2]=0;a=3;break}n=h[j+3>>0]|0;a=n<<21|a&2097151;if(!(n&128)){n=i;f[n>>2]=a;f[n+4>>2]=0;a=4;break}e=28;g=j+4|0;a=a&268435455;c=0;do{n=g;g=g+1|0;n=h[n>>0]|0;m=WA(n&127|0,0,e|0)|0;a=KA(m|0,ba()|0,a|0,c|0)|0;c=ba()|0;e=e+7|0}while(e>>>0<64&((n&128|0)!=0|0!=0));n=i;f[n>>2]=a;f[n+4>>2]=c;a=g-j|0}while(0);f[o+80>>2]=j+a}a=p+1|0;k=f[r>>2]|0;if((a|0)>=(f[x>>2]|0))break;else p=a}if(p|0){e=p;do{g=e;e=e+-1|0;e:do if((g|0)<=(p|0)){a=e;j=f[k+(e<<2)>>2]|0;do{c=a;a=a+1|0;i=k+(a<<2)|0;if((jb[s&255](j,f[i>>2]|0)|0)<0)break e;o=k+(c<<2)|0;n=f[i>>2]|0;j=f[o>>2]|0;f[i>>2]=j;f[o>>2]=n}while((a|0)<(p|0))}while(0)}while((g|0)>1)}}else f[r+8>>2]=0;while(0);f[r+24>>2]=v}q=q+1|0;if((q|0)>=(f[w>>2]|0)){a=0;c=1;k=74;break}}if((k|0)==74){C=d+40|0;f[C>>2]=c;t=D;return a|0}}else z=w}else z=w}else k=4;while(0);if((k|0)==4)z=d+64|0;e=d+68|0;c=0;while(1){if((c|0)>=(f[z>>2]|0)){a=0;c=0;k=74;break}if(!(f[d+72+(c*24|0)+20>>2]|0))a=0;else{f[A>>2]=0;f[B>>2]=0;a=au(C,d+72+(c*24|0)|0,f[e>>2]|0,A,B)|0;if(!a)a=bu(C,d,c,f[B>>2]|0,f[A>>2]|0)|0}if(!a)c=c+1|0;else{c=0;k=74;break}}if((k|0)==74){C=d+40|0;f[C>>2]=c;t=D;return a|0}return 0}function Du(a,c,e,g,i,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;Ia=t;t=t+320|0;Fa=Ia+296|0;Da=Ia+288|0;Ca=Ia+280|0;Ba=Ia+272|0;za=Ia+264|0;xa=Ia+256|0;wa=Ia+248|0;va=Ia+240|0;ua=Ia+232|0;ta=Ia+216|0;sa=Ia+200|0;ra=Ia+192|0;qa=Ia+176|0;pa=Ia+168|0;oa=Ia+160|0;na=Ia+152|0;Aa=Ia+144|0;ma=Ia+128|0;ha=Ia+120|0;ga=Ia+112|0;fa=Ia+104|0;ka=Ia+96|0;ja=Ia+80|0;ia=Ia+72|0;ea=Ia+64|0;da=Ia+56|0;W=Ia+48|0;R=Ia+40|0;O=Ia+32|0;Q=Ia+24|0;P=Ia+16|0;N=Ia+8|0;M=Ia;la=Ia+316|0;Ha=Ia+312|0;Ga=Ia+308|0;f[Ha>>2]=0;ya=(b[(f[i>>2]|0)+3>>0]|0)==52;f[Ga>>2]=0;_=i+4|0;X=wz(f[_>>2]|0)|0;$=X+1|0;Y=i+8|0;Z=(wz(f[Y>>2]|0)|0)+1|0;o=(g<<2)+-8|0;n=Fd(o)|0;if((n|0)!=0?(_A(n|0,0,o|0)|0,m=Fd(o)|0,(m|0)!=0):0){_A(m|0,0,o|0)|0;a:do if((g|0)>3){x=3;z=0;w=0;u=0;s=0;r=0;q=0;v=0;G=0;y=0;p=0;o=0;while(1){I=f[i+(x<<2)>>2]|0;do if((o|0)==0?!((I|0)==0|(wz(I)|0)>>>0<9):0){o=b[I>>0]|0;b:do if(!(o<<24>>24)){o=66559;Ea=9}else{J=o&255;o=1232+J|0;do if((J|32|0)==116){o=b[I+1>>0]|0;if(!(o<<24>>24)){o=66560;Ea=9;break b}J=o&255;o=1232+J|0;if((J|32|0)==111){o=b[I+2>>0]|0;if(!(o<<24>>24)){o=66561;Ea=9;break b}J=o&255;o=1232+J|0;if((J|32|0)==107){o=b[I+3>>0]|0;if(!(o<<24>>24)){o=66562;Ea=9;break b}J=o&255;o=1232+J|0;if((J|32|0)==101){o=b[I+4>>0]|0;if(!(o<<24>>24)){o=66563;Ea=9;break b}o=o&255;if((o|32|0)!=110){A=110;o=1232+o|0;break}o=b[I+5>>0]|0;if(!(o<<24>>24)){o=66564;Ea=9;break b}o=o&255;if((o|32|0)!=105){A=105;o=1232+o|0;break}o=b[I+6>>0]|0;if(!(o<<24>>24)){o=66565;Ea=9;break b}o=o&255;if((o|32|0)!=122){A=122;o=1232+o|0;break}o=b[I+7>>0]|0;if(!(o<<24>>24)){o=66566;Ea=9;break b}o=o&255;if((o|32|0)==101)break b;else{A=101;o=1232+o|0}}else A=101}else A=107}else A=111}else A=116;while(0);L=h[o>>0]|0;K=A;Ea=13}while(0);if((Ea|0)==9){L=0;K=b[1232+(h[o>>0]|0)>>0]|0;Ea=13}if((Ea|0)==13?(Ea=0,(L|0)!=(K&255|0)):0){Ea=17;break}J=b[I+8>>0]|0;if((J&128|0)==0?(b[24528+J>>0]|0)==0:0){F=Eu(e,I+9|0,Ga,l)|0;f[Ha>>2]=F;F=z}else Ea=17}else Ea=17;while(0);c:do if((Ea|0)==17){Ea=0;d:do if(ya){o=I;e:while(1){switch(b[o>>0]|0){case 0:break d;case 61:break e;default:{}}o=o+1|0}F=o-I|0;f[M>>2]=o+1;J=wd(40840,M)|0;if(!J){f[Ha>>2]=7;F=z;break c}o=b[J>>0]|0;switch(o<<24>>24){case 34:case 39:case 91:case 96:{D=o<<24>>24==91?93:o;A=b[J+1>>0]|0;f:do if(!(A<<24>>24))o=0;else{B=1;o=0;do{C=B+1|0;if(A<<24>>24==D<<24>>24){if((b[J+C>>0]|0)!=D<<24>>24)break f;b[J+o>>0]=D;B=B+2|0}else{b[J+o>>0]=A;B=C}o=o+1|0;A=b[J+B>>0]|0}while(A<<24>>24!=0)}while(0);b[J+o>>0]=0;break}default:{}}H=J;g:do if(!I)o=8;else{switch(F|0){case 9:{B=I;D=60051;C=F;while(1){o=b[B>>0]|0;if(!(o<<24>>24)){Ea=36;break}A=b[1232+(o&255)>>0]|0;o=b[1232+(h[D>>0]|0)>>0]|0;if(A<<24>>24!=o<<24>>24){Ea=38;break}if((C|0)>1){B=B+1|0;D=D+1|0;C=C+-1|0}else{o=0;break g}}if((Ea|0)==36){Ea=0;A=0;o=b[1232+(h[D>>0]|0)>>0]|0}else if((Ea|0)==38){Ea=0;A=A&255}if((A|0)==(o&255|0)){o=0;break g}switch(F|0){case 6:{Ea=42;break}case 8:{o=F;Ea=415;break}default:{}}break}case 6:{Ea=42;break}case 8:{o=F;Ea=415;break}default:{}}if((Ea|0)==42){Ea=0;B=I;D=67282;C=F;while(1){o=b[B>>0]|0;if(!(o<<24>>24)){Ea=412;break}A=b[1232+(o&255)>>0]|0;o=b[1232+(h[D>>0]|0)>>0]|0;if(A<<24>>24!=o<<24>>24){Ea=410;break}if((C|0)>1){B=B+1|0;D=D+1|0;C=C+-1|0}else{o=1;break g}}if((Ea|0)==410){Ea=0;A=A&255}else if((Ea|0)==412){Ea=0;A=0;o=b[1232+(h[D>>0]|0)>>0]|0}if((A|0)==(o&255|0)){o=1;break}if((F|0)==8){o=8;Ea=415}}if((Ea|0)==415){Ea=0;C=I;D=66684;B=o;while(1){o=b[C>>0]|0;if(!(o<<24>>24)){Ea=420;break}A=b[1232+(o&255)>>0]|0;o=b[1232+(h[D>>0]|0)>>0]|0;if(A<<24>>24!=o<<24>>24){Ea=418;break}if((B|0)>1){C=C+1|0;D=D+1|0;B=B+-1|0}else{o=2;break g}}if((Ea|0)==418){Ea=0;A=A&255}else if((Ea|0)==420){Ea=0;A=0;o=b[1232+(h[D>>0]|0)>>0]|0}if((A|0)==(o&255|0)){o=2;break}}E=(F|0)==10;if(E){o=b[I>>0]|0;h:do if(!(o<<24>>24)){o=66693;Ea=427}else{D=o&255;o=1232+D|0;do if((D|32|0)==117){o=b[I+1>>0]|0;if(!(o<<24>>24)){o=66694;Ea=427;break h}o=o&255;if((o|32|0)!=110){B=110;o=1232+o|0;break}o=b[I+2>>0]|0;if(!(o<<24>>24)){o=66695;Ea=427;break h}o=o&255;if((o|32|0)!=99){B=99;o=1232+o|0;break}o=b[I+3>>0]|0;if(!(o<<24>>24)){o=66696;Ea=427;break h}o=o&255;if((o|32|0)!=111){B=111;o=1232+o|0;break}o=b[I+4>>0]|0;if(!(o<<24>>24)){o=66697;Ea=427;break h}o=o&255;if((o|32|0)!=109){B=109;o=1232+o|0;break}o=b[I+5>>0]|0;if(!(o<<24>>24)){o=66698;Ea=427;break h}o=o&255;if((o|32|0)!=112){B=112;o=1232+o|0;break}o=b[I+6>>0]|0;if(!(o<<24>>24)){o=66699;Ea=427;break h}o=o&255;if((o|32|0)!=114){B=114;o=1232+o|0;break}o=b[I+7>>0]|0;if(!(o<<24>>24)){o=66700;Ea=427;break h}o=o&255;if((o|32|0)!=101){B=101;o=1232+o|0;break}o=b[I+8>>0]|0;if(!(o<<24>>24)){o=66701;Ea=427;break h}o=o&255;if((o|32|0)!=115){B=115;o=1232+o|0;break}o=b[I+9>>0]|0;if(!(o<<24>>24)){o=66702;Ea=427;break h}o=o&255;if((o|32|0)==115){o=3;break g}else{B=115;o=1232+o|0}}else B=117;while(0);A=h[o>>0]|0;o=B}while(0);if((Ea|0)==427){Ea=0;A=0;o=b[1232+(h[o>>0]|0)>>0]|0}if((A|0)==(o&255|0)){o=3;break}}switch(F|0){case 5:{B=I;D=67289;C=F;while(1){o=b[B>>0]|0;if(!(o<<24>>24)){Ea=435;break}A=b[1232+(o&255)>>0]|0;o=b[1232+(h[D>>0]|0)>>0]|0;if(A<<24>>24!=o<<24>>24){Ea=433;break}if((C|0)>1){B=B+1|0;D=D+1|0;C=C+-1|0}else{o=4;break g}}if((Ea|0)==433){Ea=0;A=A&255}else if((Ea|0)==435){Ea=0;A=0;o=b[1232+(h[D>>0]|0)>>0]|0}if((A|0)==(o&255|0)){o=4;break g}if((F|0)==7){o=7;Ea=438}break}case 7:{o=F;Ea=438;break}default:{}}if((Ea|0)==438){Ea=0;C=I;D=63175;B=o;while(1){o=b[C>>0]|0;if(!(o<<24>>24)){Ea=443;break}A=b[1232+(o&255)>>0]|0;o=b[1232+(h[D>>0]|0)>>0]|0;if(A<<24>>24!=o<<24>>24){Ea=441;break}if((B|0)>1){C=C+1|0;D=D+1|0;B=B+-1|0}else{o=5;break g}}if((Ea|0)==441){Ea=0;A=A&255}else if((Ea|0)==443){Ea=0;A=0;o=b[1232+(h[D>>0]|0)>>0]|0}if((A|0)==(o&255|0)){o=5;break}}if(E){o=b[I>>0]|0;i:do if(!(o<<24>>24)){o=67295;Ea=450}else{F=o&255;o=1232+F|0;do if((F|32|0)==108){o=b[I+1>>0]|0;if(!(o<<24>>24)){o=67296;Ea=450;break i}o=o&255;if((o|32|0)!=97){B=97;o=1232+o|0;break}o=b[I+2>>0]|0;if(!(o<<24>>24)){o=67297;Ea=450;break i}o=o&255;if((o|32|0)!=110){B=110;o=1232+o|0;break}o=b[I+3>>0]|0;if(!(o<<24>>24)){o=67298;Ea=450;break i}o=o&255;if((o|32|0)!=103){B=103;o=1232+o|0;break}o=b[I+4>>0]|0;if(!(o<<24>>24)){o=67299;Ea=450;break i}o=o&255;if((o|32|0)!=117){B=117;o=1232+o|0;break}o=b[I+5>>0]|0;if(!(o<<24>>24)){o=67300;Ea=450;break i}o=o&255;if((o|32|0)!=97){B=97;o=1232+o|0;break}o=b[I+6>>0]|0;if(!(o<<24>>24)){o=67301;Ea=450;break i}o=o&255;if((o|32|0)!=103){B=103;o=1232+o|0;break}o=b[I+7>>0]|0;if(!(o<<24>>24)){o=67302;Ea=450;break i}o=o&255;if((o|32|0)!=101){B=101;o=1232+o|0;break}o=b[I+8>>0]|0;if(!(o<<24>>24)){o=67303;Ea=450;break i}o=o&255;if((o|32|0)!=105){B=105;o=1232+o|0;break}o=b[I+9>>0]|0;if(!(o<<24>>24)){o=67304;Ea=450;break i}o=o&255;if((o|32|0)==100){o=6;break g}else{B=100;o=1232+o|0}}else B=108;while(0);A=h[o>>0]|0;o=B}while(0);if((Ea|0)==450){Ea=0;A=0;o=b[1232+(h[o>>0]|0)>>0]|0}if((A|0)==(o&255|0)){o=6;break}if(E){o=b[I>>0]|0;j:do if(!(o<<24>>24)){o=67306;Ea=457}else{F=o&255;o=1232+F|0;do if((F|32|0)==110){o=b[I+1>>0]|0;if(!(o<<24>>24)){o=67307;Ea=457;break j}o=o&255;if((o|32|0)!=111){B=111;o=1232+o|0;break}o=b[I+2>>0]|0;if(!(o<<24>>24)){o=67308;Ea=457;break j}o=o&255;if((o|32|0)!=116){B=116;o=1232+o|0;break}o=b[I+3>>0]|0;if(!(o<<24>>24)){o=67309;Ea=457;break j}o=o&255;if((o|32|0)!=105){B=105;o=1232+o|0;break}o=b[I+4>>0]|0;if(!(o<<24>>24)){o=67310;Ea=457;break j}o=o&255;if((o|32|0)!=110){B=110;o=1232+o|0;break}o=b[I+5>>0]|0;if(!(o<<24>>24)){o=67311;Ea=457;break j}o=o&255;if((o|32|0)!=100){B=100;o=1232+o|0;break}o=b[I+6>>0]|0;if(!(o<<24>>24)){o=67312;Ea=457;break j}o=o&255;if((o|32|0)!=101){B=101;o=1232+o|0;break}o=b[I+7>>0]|0;if(!(o<<24>>24)){o=67313;Ea=457;break j}o=o&255;if((o|32|0)!=120){B=120;o=1232+o|0;break}o=b[I+8>>0]|0;if(!(o<<24>>24)){o=67314;Ea=457;break j}o=o&255;if((o|32|0)!=101){B=101;o=1232+o|0;break}o=b[I+9>>0]|0;if(!(o<<24>>24)){o=67315;Ea=457;break j}o=o&255;if((o|32|0)==100){o=7;break g}else{B=100;o=1232+o|0}}else B=110;while(0);A=h[o>>0]|0;o=B}while(0);if((Ea|0)==457){Ea=0;A=0;o=b[1232+(h[o>>0]|0)>>0]|0}if((A|0)==(o&255|0)){o=7;break}}}o=8}while(0);k:do switch(o&15){case 0:{if((wz(J)|0)==4){o=b[J>>0]|0;l:do if(!(o<<24>>24)){o=60061;Ea=46}else{I=o&255;o=1232+I|0;do if((I|32|0)==102){o=b[J+1>>0]|0;if(!(o<<24>>24)){o=60062;Ea=46;break l}o=o&255;if((o|32|0)!=116){A=116;o=1232+o|0;break}o=b[J+2>>0]|0;if(!(o<<24>>24)){o=60063;Ea=46;break l}o=o&255;if((o|32|0)!=115){A=115;o=1232+o|0;break}o=b[J+3>>0]|0;if(!(o<<24>>24)){o=60064;Ea=46;break l}if(o<<24>>24==51){z=1;o=G;break k}else{A=51;o=1232+(o&255)|0}}else A=102;while(0);z=h[o>>0]|0;o=A}while(0);if((Ea|0)==46){Ea=0;z=0;o=b[1232+(h[o>>0]|0)>>0]|0}if((z|0)==(o&255|0)){z=1;o=G;break k}}f[N>>2]=J;Ls(l,66568,N);f[Ha>>2]=1;z=1;o=G;break}case 1:{if(!v){F=z;v=J;break c}if(!(f[9328]|0)){ob[f[37360>>2]&127](v);F=z;v=J;break c}else{F=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);F=z;v=J;break c}}case 2:{if(!q){F=z;q=J;break c}if(!(f[9328]|0)){ob[f[37360>>2]&127](q);F=z;q=J;break c}else{F=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);F=z;q=J;break c}}case 3:{if(!r){F=z;r=J;break c}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);F=z;r=J;break c}else{F=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);F=z;r=J;break c}}case 4:{m:do switch(wz(J)|0){case 3:{C=b[J>>0]|0;do if(!(C<<24>>24)){o=66595;Ea=66}else{I=C&255;o=1232+I|0;if((I|32|0)==97){o=b[J+1>>0]|0;if(!(o<<24>>24)){o=66596;Ea=66;break}I=o&255;o=1232+I|0;if((I|32|0)==115){o=b[J+2>>0]|0;if(!(o<<24>>24)){o=66597;Ea=66;break}o=o&255;if((o|32|0)==99){o=C;break m}else{B=99;o=1232+o|0}}else B=115}else B=97;A=h[o>>0]|0;o=B}while(0);if((Ea|0)==66){Ea=0;A=0;o=b[1232+(h[o>>0]|0)>>0]|0}if((A|0)==(o&255|0))o=C;else Ea=77;break}case 4:{C=b[J>>0]|0;n:do if(!(C<<24>>24)){o=47811;Ea=72}else{I=C&255;o=1232+I|0;do if((I|32|0)==100){o=b[J+1>>0]|0;if(!(o<<24>>24)){o=47812;Ea=72;break n}I=o&255;o=1232+I|0;if((I|32|0)==101){o=b[J+2>>0]|0;if(!(o<<24>>24)){o=47813;Ea=72;break n}o=o&255;if((o|32|0)!=115){B=115;o=1232+o|0;break}o=b[J+3>>0]|0;if(!(o<<24>>24)){o=47814;Ea=72;break n}o=o&255;if((o|32|0)==99){o=C;break m}else{B=99;o=1232+o|0}}else B=101}else B=100;while(0);A=h[o>>0]|0;o=B}while(0);if((Ea|0)==72){Ea=0;A=0;o=b[1232+(h[o>>0]|0)>>0]|0}if((A|0)==(o&255|0))o=C;else Ea=77;break}default:Ea=77}while(0);if((Ea|0)==77){Ea=0;f[P>>2]=J;Ls(l,66599,P);f[Ha>>2]=1;o=b[J>>0]|0}o=(o|32)<<24>>24==100&1;break}case 5:{if(!s){F=z;s=J;break c}if(!(f[9328]|0)){ob[f[37360>>2]&127](s);F=z;s=J;break c}else{F=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);F=z;s=J;break c}}case 6:{if(!u){F=z;u=J;break c}if(!(f[9328]|0)){ob[f[37360>>2]&127](u);F=z;u=J;break c}else{F=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);F=z;u=J;break c}}case 7:{f[m+(w<<2)>>2]=H;F=z;w=w+1|0;break c}default:{f[Q>>2]=I;Ls(l,66622,Q);f[Ha>>2]=1;o=G}}while(0);if(!J){F=z;G=o;break c}if(!(f[9328]|0)){ob[f[37360>>2]&127](J);F=z;G=o;break c}else{F=ib[f[37368>>2]&255](J)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](J);F=z;G=o;break c}}while(0);p=p+1+(wz(I)|0)|0;f[n+(y<<2)>>2]=I;y=y+1|0;F=z}while(0);x=x+1|0;o=f[Ha>>2]|0;z=(o|0)==0;if(!((x|0)<(g|0)&z))break;z=F;o=f[Ga>>2]|0}o:do if((s|0)!=0&z){do if(q|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{Q=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);do if(r|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{Q=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);if(y|0){x=n;r=0;q=0;o=f[Ha>>2]|0;Ea=162;break}if(!(f[9328]|0))ob[f[37360>>2]&127](n);else{Q=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n)}o=f[_>>2]|0;f[la>>2]=0;f[O>>2]=o;f[O+4>>2]=s;o=wd(60843,O)|0;if(o){n=Ki(c,o,-1,0,0,la,0)|0;p=(n|0)==0;if(!p){Q=Mj(c)|0;f[R>>2]=Q;Ls(l,40840,R)}if(!(f[9328]|0))ob[f[37360>>2]&127](o);else{R=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o)}if(p){D=f[la>>2]|0;B=(D|0)==0;p:do if(!B?(T=D+140|0,S=d[T>>1]|0,U=S&65535,S<<16>>16!=0):0){y=D+100|0;x=0;o=0;n=S;while(1){r=f[D>>2]|0;do if(o>>>0<(n&65535)>>>0){n=f[y>>2]|0;p=n+(o*40|0)|0;q:do if(!p)n=0;else{q=d[n+(o*40|0)+8>>1]|0;do if((q&514)==514){if((b[n+(o*40|0)+10>>0]|0)!=1)break;n=f[n+(o*40|0)+16>>2]|0;break q}while(0);if(q&1){n=0;break}n=Ic(p,1)|0}while(0);p=r+81|0;if(!(b[p>>0]|0))break;if(f[r+180>>2]|0){n=0;break}b[p>>0]=0;f[r+264>>2]=0;n=r+272|0;f[n>>2]=(f[n>>2]|0)+-1;n=0}else n=0;while(0);n=x+1+(wz(n)|0)|0;o=o+1|0;if((o|0)==(U|0)){C=n;y=U;o=0;break p}x=n;n=d[T>>1]|0}}else{C=0;y=0;o=1}while(0);E=Fd(C+(y<<2)|0)|0;n=(E|0)==0;r:do if(o|n)o=n?7:0;else{n=E+(y<<2)|0;z=D+140|0;A=D+100|0;if(B){p=(wz(0)|0)+1|0;o=0;while(1){YA(n|0,0,p|0)|0;f[E+(o<<2)>>2]=n;o=o+1|0;if((o|0)==(y|0)){o=0;break r}else n=n+p|0}}x=0;while(1){r=f[D>>2]|0;do if(x>>>0<(j[z>>1]|0)>>>0){o=f[A>>2]|0;p=o+(x*40|0)|0;s:do if(!p)o=0;else{q=d[o+(x*40|0)+8>>1]|0;do if((q&514)==514){if((b[o+(x*40|0)+10>>0]|0)!=1)break;o=f[o+(x*40|0)+16>>2]|0;break s}while(0);if(q&1){o=0;break}o=Ic(p,1)|0}while(0);p=r+81|0;if(!(b[p>>0]|0))break;if(f[r+180>>2]|0){o=0;break}b[p>>0]=0;f[r+264>>2]=0;o=r+272|0;f[o>>2]=(f[o>>2]|0)+-1;o=0}else o=0;while(0);p=(wz(o)|0)+1|0;YA(n|0,o|0,p|0)|0;f[E+(x<<2)>>2]=n;x=x+1|0;if((x|0)==(y|0)){o=0;break}else n=n+p|0}}while(0);Fi(D)|0;f[Ha>>2]=o;if(!((u|0)!=0&(o|0)==0)){x=E;p=C;r=0;q=0;n=E;Ea=162;break}if(!y){o=F;p=G;x=E;r=0;q=0;n=E;Ea=164;break a}n=0;while(1){p=f[E+(n<<2)>>2]|0;if(p|0){U=b[u>>0]|0;o=(h[1232+(U&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0;if(!(U<<24>>24==0|(o|0)!=0)){q=u;do{q=q+1|0;p=p+1|0;U=b[q>>0]|0;o=(h[1232+(U&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0}while(!(U<<24>>24==0|(o|0)!=0))}if(!o)break}n=n+1|0;if(n>>>0>=y>>>0){x=E;p=C;r=0;q=0;n=E;break o}}if(n>>>0>>0)do{U=n;n=n+1|0;f[E+(U<<2)>>2]=f[E+(n<<2)>>2]}while((n|0)!=(y|0));x=E;y=y+-1|0;p=C;r=0;q=0;n=E;break}}else n=7;f[Ha>>2]=n;o=0;r=0;q=0;n=0;p=0;break a}else{x=n;Ea=162}while(0);if((Ea|0)==162)if(o){o=0;p=0;break}if(!y){o=F;p=G;Ea=164}else{D=F;C=G;E=x;I=y;B=p;Ea=165}}else{o=0;w=0;u=0;s=0;v=0;p=0;x=n;r=0;q=0;Ea=164}while(0);if((Ea|0)==164){f[x>>2]=63175;D=o;C=p;E=x;I=1;B=8;Ea=165}do if((Ea|0)==165){if((f[Ga>>2]|0)==0?(e=Eu(e,59996,Ga,l)|0,f[Ha>>2]=e,e|0):0){o=0;p=0;break}y=(v|0)!=0;t:do if(y?(V=b[v>>0]|0,V<<24>>24!=0):0){x=v;o=2;p=V;while(1){switch(p<<24>>24){case 0:break t;case 44:{o=o+1|0;break}default:{}}p=x+1|0;x=p;p=b[p>>0]|0}}else o=1;while(0);p=o*24|0;O=Fd(p)|0;u:do if(O){_A(O|0,0,p|0)|0;if(y&(o|0)>1){A=v;p=1;while(1){y=b[A>>0]|0;if((y+-48&255)>=10)break;z=A;x=0;do{x=(y<<24>>24)+-48+(x*10|0)|0;if((x|0)>1e7){x=0;break}z=z+1|0;y=b[z>>0]|0}while((y+-48&255)<10);if((z|0)==(A|0))break;if(!x){p=p+-1|0;o=o+-1|0}else f[O+(p*24|0)>>2]=x;p=p+1|0;if((p|0)>=(o|0)){p=0;Ea=185;break u}else A=z+1|0}f[Ha>>2]=1;f[W>>2]=v;Ls(l,66649,W);y=0;o=f[Ha>>2]|0}else{p=0;Ea=185}}else{o=0;p=7;Ea=185}while(0);if((Ea|0)==185){f[Ha>>2]=p;y=o;o=p}if(!o){x=y*24|0;p=X+289+Z+B+I+(I<<2)+x|0;o=Fd(p)|0;if(!o){f[Ha>>2]=7;p=O;break}_A(o|0,0,p|0)|0;N=o+12|0;f[N>>2]=c;i=o+24|0;f[i>>2]=I;f[o+264>>2]=0;p=o+288|0;M=o+28|0;f[M>>2]=p;f[o+36>>2]=f[Ga>>2];f[o+260>>2]=1048576;J=o+234|0;b[J>>0]=ya&(D|0)==0&1;H=ya&1;L=o+233|0;b[L>>0]=H;b[o+232>>0]=H;b[o+235>>0]=C;f[o+48>>2]=255;H=o+40|0;f[H>>2]=s;g=o+44|0;f[g>>2]=u;p=p+(I<<2)|0;u=o+256|0;f[u>>2]=p;YA(p|0,O|0,x|0)|0;f[o+252>>2]=y;p=f[u>>2]|0;if((y|0)>0){s=0;do{b[p+(s*24|0)+4>>0]=1;b[p+(s*24|0)+5>>0]=1;p=p+(s*24|0)+8|0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;s=s+1|0;p=f[u>>2]|0}while((s|0)!=(y|0))}p=p+(y*24|0)|0;F=o+32|0;f[F>>2]=p;p=p+I|0;K=o+20|0;f[K>>2]=p;YA(p|0,f[Y>>2]|0,Z|0)|0;p=p+Z|0;G=o+16|0;f[G>>2]=p;YA(p|0,f[_>>2]|0,$|0)|0;C=(I|0)>0;if(C){B=0;A=p+$|0;while(1){z=f[E+(B<<2)>>2]|0;v:while(1){y=b[z>>0]|0;s=y<<24>>24;switch(s|0){case 0:break v;case 96:case 34:case 39:{Ea=198;break v}case 91:{Ea=197;break v}default:{}}if(s&128|0){Ea=206;break}p=z+1|0;if(!(b[24528+s>>0]|0))z=p;else{Ea=208;break}}w:do if((Ea|0)==197){p=z;while(1){s=p+1|0;Ea=b[s>>0]|0;u=Ea<<24>>24==0;if(u^Ea<<24>>24!=93)p=s;else break}p=u?s:p+2|0;Ea=212}else if((Ea|0)==198){p=z+1|0;s=b[p>>0]|0;if(!(s<<24>>24))Ea=212;else{x=z;while(1){if(s<<24>>24==y<<24>>24){p=x+2|0;if((b[p>>0]|0)!=y<<24>>24){Ea=212;break w}}u=p+1|0;s=b[u>>0]|0;if(!(s<<24>>24)){p=u;Ea=212;break}else{x=p;p=u}}}}else if((Ea|0)==206){p=z+1|0;Ea=208}while(0);x:do if((Ea|0)==208)while(1){Ea=b[p>>0]|0;if((Ea&128|0)==0?(b[24528+Ea>>0]|0)==0:0){Ea=212;break x}p=p+1|0}while(0);if((Ea|0)==212){Ea=0;p=p-z|0;if((p|0)>0){YA(A|0,z|0,p|0)|0;s=p}else s=p}b[A+s>>0]=0;p=b[A>>0]|0;switch(p<<24>>24){case 34:case 39:case 91:case 96:{z=p<<24>>24==91?93:p;u=b[A+1>>0]|0;y:do if(!(u<<24>>24))p=0;else{x=1;p=0;do{y=x+1|0;if(u<<24>>24==z<<24>>24){if((b[A+y>>0]|0)!=z<<24>>24)break y;b[A+p>>0]=z;x=x+2|0}else{b[A+p>>0]=u;x=y}p=p+1|0;u=b[A+x>>0]|0}while(u<<24>>24!=0)}while(0);b[A+p>>0]=0;break}default:{}}f[(f[M>>2]|0)+(B<<2)>>2]=A;B=B+1|0;if((B|0)>=(I|0))break;else A=A+(s+1)|0}if(C){D=(w|0)>0;C=0;do{E=wz(f[(f[M>>2]|0)+(C<<2)>>2]|0)|0;z:do if(D){if((E|0)<=0){p=0;while(1){s=m+(p<<2)|0;u=f[s>>2]|0;do if(u|0){if((E|0)!=(wz(u)|0))break;if(!(f[(f[M>>2]|0)+(C<<2)>>2]|0))break;b[(f[F>>2]|0)+C>>0]=1;if(!(f[9328]|0))ob[f[37360>>2]&127](u);else{$=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-$;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u)}f[s>>2]=0}while(0);p=p+1|0;if((p|0)==(w|0))break z}}z=0;do{A=m+(z<<2)|0;B=f[A>>2]|0;do if(B|0){if((E|0)!=(wz(B)|0))break;p=f[(f[M>>2]|0)+(C<<2)>>2]|0;if(!p)break;x=B;y=E;while(1){s=b[p>>0]|0;if(!(s<<24>>24)){Ea=238;break}s=b[1232+(s&255)>>0]|0;u=b[1232+(h[x>>0]|0)>>0]|0;if(s<<24>>24!=u<<24>>24){Ea=236;break}if((y|0)>1){p=p+1|0;x=x+1|0;y=y+-1|0}else break}if((Ea|0)==236){aa=s&255;ba=u;Ea=239}else if((Ea|0)==238){aa=0;ba=b[1232+(h[x>>0]|0)>>0]|0;Ea=239}if((Ea|0)==239?(Ea=0,(aa|0)!=(ba&255|0)):0)break;b[(f[F>>2]|0)+C>>0]=1;if(!(f[9328]|0))ob[f[37360>>2]&127](B);else{$=ib[f[37368>>2]&255](B)|0;f[18187]=(f[18187]|0)-$;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](B)}f[A>>2]=0}while(0);z=z+1|0}while((z|0)!=(w|0))}while(0);C=C+1|0}while((C|0)<(I|0))}}if((w|0)>0){p=0;do{s=f[m+(p<<2)>>2]|0;if(s|0){f[da>>2]=s;Ls(l,57072,da);f[Ha>>2]=1}p=p+1|0}while((p|0)!=(w|0))}if((f[Ha>>2]|0)==0?(ca=(q|0)==0,ca^(r|0)==0):0){f[Ha>>2]=1;f[ea>>2]=ca?66684:66693;Ls(l,66704,ea)}f[la>>2]=0;do if(!(f[H>>2]|0)){if(r){z=Fd(((wz(r)|0)<<1)+3|0)|0;if(!z){u=0;s=0}else{b[z>>0]=34;y=0;u=z;A:while(1){s=u+1|0;x=r+y|0;p=b[x>>0]|0;switch(p<<24>>24){case 0:break A;case 34:{b[s>>0]=34;s=u+2|0;p=b[x>>0]|0;break}default:{}}b[s>>0]=p;y=y+1|0;u=s}b[s>>0]=34;b[u+2>>0]=0;u=z;s=z}}else{u=72788;s=0;r=0}Fu(Ha,la,66745,ia);if((f[i>>2]|0)>0){p=0;do{ia=f[(f[M>>2]|0)+(p<<2)>>2]|0;f[ja>>2]=u;f[ja+4>>2]=p;f[ja+8>>2]=ia;Fu(Ha,la,66751,ja);p=p+1|0}while((p|0)<(f[i>>2]|0))}if(f[g>>2]|0){f[ka>>2]=66773;Fu(Ha,la,66766,ka)}if(s)if(!(f[9328]|0)){ob[f[37360>>2]&127](s);z=r;break}else{z=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);z=r;break}else z=r}else{Fu(Ha,la,47870,fa);if((f[i>>2]|0)>0){p=0;do{f[ga>>2]=f[(f[M>>2]|0)+(p<<2)>>2];Fu(Ha,la,66780,ga);p=p+1|0}while((p|0)<(f[i>>2]|0))}p=f[g>>2]|0;if(!p)z=r;else{f[ha>>2]=p;Fu(Ha,la,66766,ha);z=r}}while(0);p=f[H>>2]|0;r=(p|0)==0;if(r)p=f[K>>2]|0;f[ma>>2]=f[G>>2];f[ma+4>>2]=p;f[ma+8>>2]=r?66789:72788;Fu(Ha,la,66798,ma);f[o+220>>2]=f[la>>2];f[ma>>2]=0;if(q){y=Fd(((wz(q)|0)<<1)+3|0)|0;if(!y){s=0;r=0}else{b[y>>0]=34;x=0;s=y;B:while(1){r=s+1|0;u=q+x|0;p=b[u>>0]|0;switch(p<<24>>24){case 0:break B;case 34:{b[r>>0]=34;r=s+2|0;p=b[u>>0]|0;break}default:{}}b[r>>0]=p;x=x+1|0;s=r}b[r>>0]=34;b[s+2>>0]=0;s=y;r=y}}else{s=72788;r=0;q=0}Fu(Ha,ma,46041,Aa);if((f[i>>2]|0)>0){p=0;do{f[na>>2]=s;Fu(Ha,ma,66821,na);p=p+1|0}while((p|0)<(f[i>>2]|0))}if(f[g>>2]|0)Fu(Ha,ma,66828,oa);do if(r|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{oa=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);f[o+224>>2]=f[ma>>2];if(f[Ha>>2]|0){u=0;s=0;r=z;p=O;break}x=(a|0)!=0;if(x){f[Aa>>2]=0;u=f[N>>2]|0;C:do if(!(f[H>>2]|0)){s=f[g>>2]|0;p=wd(66832,pa)|0;D:do if(p|0){r=0;while(1){if((r|0)>=(f[i>>2]|0))break;pa=f[(f[M>>2]|0)+(r<<2)>>2]|0;f[qa>>2]=p;f[qa+4>>2]=r;f[qa+8>>2]=pa;p=wd(66858,qa)|0;if(!p)break D;else r=r+1|0}if(s){f[ra>>2]=p;f[ra+4>>2]=s;p=wd(66870,ra)|0;if(!p)break}sa=f[K>>2]|0;f[ta>>2]=f[G>>2];f[ta+4>>2]=sa;f[ta+8>>2]=p;jt(Aa,u,66881,ta);if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break C}else{ta=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-ta;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break C}}while(0);f[Aa>>2]=7;ta=f[K>>2]|0;f[sa>>2]=f[G>>2];f[sa+4>>2]=ta;f[sa+8>>2]=0;jt(Aa,u,66881,sa)}while(0);ta=f[K>>2]|0;f[ua>>2]=f[G>>2];f[ua+4>>2]=ta;jt(Aa,u,66914,ua);ua=f[K>>2]|0;f[va>>2]=f[G>>2];f[va+4>>2]=ua;jt(Aa,u,66986,va);if(b[J>>0]|0){va=f[K>>2]|0;f[wa>>2]=f[G>>2];f[wa+4>>2]=va;jt(Aa,u,67139,wa)}do if(!(b[L>>0]|0))p=f[Aa>>2]|0;else{p=f[N>>2]|0;wa=f[K>>2]|0;f[xa>>2]=f[G>>2];f[xa+4>>2]=wa;jt(Aa,p,65640,xa);p=f[Aa>>2]|0;if(p|0)break;b[L>>0]=1;p=0}while(0);f[Ha>>2]=p}else p=0;if(!(x|ya))b[L>>0]=2;if(p|0){f[o+228>>2]=(f[o+240>>2]|0)+-35;u=0;s=0;r=z;p=O;break}f[za>>2]=f[G>>2];r=wd(61126,za)|0;do if(r){p=Ki(f[N>>2]|0,r,-1,0,0,Aa,0)|0;switch(p|0){case 0:{p=f[Aa>>2]|0;Ei(p)|0;Aa=Ip(p,0)|0;f[o+240>>2]=Aa;p=Fi(p)|0;break}case 23:{f[o+240>>2]=1024;p=0;break}default:{}}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{Aa=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-Aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}else p=7;while(0);f[Ha>>2]=p;f[o+228>>2]=(f[o+240>>2]|0)+-35;if(p|0){u=0;s=0;r=z;p=O;break}u=f[g>>2]|0;u=(u|0)==0?67207:u;p=f[N>>2]|0;f[Ba>>2]=1;eq(p,1,Ba)|0;f[Ca>>2]=f[f[M>>2]>>2];p=wd(67216,Ca)|0;E:do if(!p){s=0;p=0}else{r=1;while(1){if((r|0)>=(f[i>>2]|0)){s=p;p=1;break E}Ca=f[(f[M>>2]|0)+(r<<2)>>2]|0;f[Da>>2]=p;f[Da+4>>2]=Ca;p=wd(67221,Da)|0;if(!p){s=0;p=0;break}else r=r+1|0}}while(0);r=f[K>>2]|0;f[Fa>>2]=s;f[Fa+4>>2]=r;f[Fa+8>>2]=u;r=wd(67228,Fa)|0;if(!(p&(r|0)!=0))if(!r)p=7;else{p=7;Ea=341}else{p=wk(f[N>>2]|0,r)|0;Ea=341}do if((Ea|0)==341)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{Fa=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);do if(s|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{Fa=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}while(0);f[Ha>>2]=p;u=0;s=0;r=z;p=O}else{o=0;p=O}}while(0);do if(v|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](v);break}else{Fa=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);break}while(0);do if(p|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{Fa=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}while(0);do if(q|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{Fa=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);do if(r|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{Fa=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}while(0);do if(s|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{Fa=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}while(0);do if(u|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{Fa=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}while(0);if((w|0)>0){p=0;do{q=f[m+(p<<2)>>2]|0;do if(q|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{Fa=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}while(0);p=p+1|0}while((p|0)!=(w|0))}}else{f[Ha>>2]=7;o=0;m=0}do if(n|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{Fa=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}while(0);do if(m|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{Fa=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Fa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);if(!(f[Ha>>2]|0)){f[k>>2]=o;Ha=f[Ha>>2]|0;t=Ia;return Ha|0}if(o|0){Ps(o)|0;Ha=f[Ha>>2]|0;t=Ia;return Ha|0}m=f[Ga>>2]|0;if(!m){Ha=f[Ha>>2]|0;t=Ia;return Ha|0}ib[f[(f[m>>2]|0)+8>>2]&255](m)|0;Ha=f[Ha>>2]|0;t=Ia;return Ha|0}function Eu(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;y=t;t=t+32|0;x=y+16|0;s=y+8|0;w=y;f[w>>2]=c;w=wd(40840,w)|0;if(!w){x=7;t=y;return x|0}v=w+(wz(w)|0)|0;l=w;a:while(1){k=b[l>>0]|0;h=k<<24>>24;switch(h|0){case 0:{c=0;break a}case 96:case 34:case 39:{u=5;break a}case 91:{u=4;break a}default:{}}if(h&128|0){u=13;break}c=l+1|0;if(!(b[24528+h>>0]|0))l=c;else{u=15;break}}b:do if((u|0)==4){c=l;while(1){h=c+1|0;u=b[h>>0]|0;i=u<<24>>24==0;if(i^u<<24>>24!=93)c=h;else break}c=i?h:c+2|0;u=19}else if((u|0)==5){c=l+1|0;h=b[c>>0]|0;if(!(h<<24>>24))u=19;else{j=l;while(1){if(h<<24>>24==k<<24>>24){c=j+2|0;if((b[c>>0]|0)!=k<<24>>24){u=19;break b}}i=c+1|0;h=b[i>>0]|0;if(!(h<<24>>24)){c=i;u=19;break}else{j=c;c=i}}}}else if((u|0)==13){c=l+1|0;u=15}while(0);c:do if((u|0)==15)while(1){u=b[c>>0]|0;if((u&128|0)==0?(b[24528+u>>0]|0)==0:0){u=19;break c}c=c+1|0}while(0);if((u|0)==19){h=c-l|0;c=l}m=(c|0)==0?w:c;b[m+h>>0]=0;c=b[m>>0]|0;switch(c<<24>>24){case 34:case 39:case 91:case 96:{l=c<<24>>24==91?93:c;i=b[m+1>>0]|0;d:do if(!(i<<24>>24))c=0;else{j=1;c=0;do{k=j+1|0;if(i<<24>>24==l<<24>>24){if((b[m+k>>0]|0)!=l<<24>>24)break d;b[m+c>>0]=l;j=j+2|0}else{b[m+c>>0]=i;j=k}c=c+1|0;i=b[m+j>>0]|0}while(i<<24>>24!=0)}while(0);b[m+c>>0]=0;break}default:{}}i=(wz(m)|0)+1|0;e:do if((((a|0)!=0?(n=a+16|0,(f[n>>2]|0)!=0):0)?(o=jb[(b[a>>0]<<24>>24==1?171:172)&255](m,i)|0,o=(f[a+12>>2]|0)+-1&o,p=f[n>>2]|0,(p|0)!=0):0)?(q=f[p+(o<<3)>>2]|0,r=(b[a>>0]|0)==1?87:88,g=f[p+(o<<3)+4>>2]|0,(q|0)!=0&(g|0)!=0):0){c=q;while(1){c=c+-1|0;if(!(lb[r&127](f[g+12>>2]|0,f[g+16>>2]|0,m,i)|0))break;g=f[g>>2]|0;if(!((c|0)!=0&(g|0)!=0)){u=37;break e}}n=f[g+8>>2]|0;if(n){g=m+(h+1)|0;f:do if(g>>>0>>0){a=0;l=0;c=0;while(1){g:while(1){k=b[g>>0]|0;i=k<<24>>24;switch(i|0){case 0:{h=a;g=l;break f}case 96:case 34:case 39:{u=43;break g}case 91:{u=42;break g}default:{}}if(i&128|0){u=51;break}h=g+1|0;if(!(b[24528+i>>0]|0))g=h;else{u=53;break}}h:do if((u|0)==42){h=g;while(1){i=h+1|0;u=b[i>>0]|0;j=u<<24>>24==0;if(j^u<<24>>24!=93)h=i;else break}h=j?i:h+2|0;u=57}else if((u|0)==43){u=0;i=g+1|0;j=b[i>>0]|0;if(!(j<<24>>24))l=1;else{h=g;while(1){if(j<<24>>24==k<<24>>24){h=h+2|0;if((b[h>>0]|0)!=k<<24>>24){u=57;break h}}else h=i;i=h+1|0;j=b[i>>0]|0;if(!(j<<24>>24)){h=i;u=57;break}}}}else if((u|0)==51){h=g+1|0;u=53}while(0);i:do if((u|0)==53)while(1){u=b[h>>0]|0;if((u&128|0)==0?(b[24528+u>>0]|0)==0:0){u=57;break i}h=h+1|0}while(0);if((u|0)==57){u=0;if(!g){h=a;g=l;break f}else l=h-g|0}i=a;a=a+1|0;h=a<<2;if(Mc()|0)break;m=Nc(c,(h|0)>0?h:0,0)|0;if(!m)break;f[m+(i<<2)>>2]=g;b[g+l>>0]=0;c=b[g>>0]|0;switch(c<<24>>24){case 34:case 39:case 91:case 96:{k=c<<24>>24==91?93:c;h=b[g+1>>0]|0;j:do if(!(h<<24>>24))c=0;else{i=1;c=0;do{j=i+1|0;if(h<<24>>24==k<<24>>24){if((b[g+j>>0]|0)!=k<<24>>24)break j;b[g+c>>0]=k;i=i+2|0}else{b[g+c>>0]=h;i=j}c=c+1|0;h=b[g+i>>0]|0}while(h<<24>>24!=0)}while(0);b[g+c>>0]=0;break}default:{}}g=g+(l+1)|0;if(g>>>0>=v>>>0){u=77;break}else{l=m;c=m}}if((u|0)==77){h=a;g=m;c=m;break}if(!(f[9328]|0))ob[f[37360>>2]&127](w);else{x=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w)}if(!c){x=7;t=y;return x|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);x=7;t=y;return x|0}else{x=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);x=7;t=y;return x|0}}else{h=0;g=0;c=0}while(0);g=kb[f[n+4>>2]&127](h,g,d)|0;if(!g)f[f[d>>2]>>2]=n;else Ls(e,67317,x);if(c)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{x=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}else u=37}else u=37;while(0);if((u|0)==37){f[s>>2]=m;Ls(e,63153,s);g=1}if(!(f[9328]|0)){ob[f[37360>>2]&127](w);x=g;t=y;return x|0}else{x=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);x=g;t=y;return x|0}return 0}function Fu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;i=t;t=t+32|0;g=i+16|0;e=i;if(f[a>>2]|0){t=i;return}f[e>>2]=d;e=lp(c,e)|0;if(e){c=f[b>>2]|0;if(c){f[g>>2]=c;f[g+4>>2]=e;c=wd(49509,g)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{g=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}if(!c)h=8}else c=e}else h=8;if((h|0)==8){f[a>>2]=7;c=0}he(f[b>>2]|0);f[b>>2]=c;t=i;return}function Gu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(Mc()|0){c=7;return c|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](16)|0;if(!e){c=7;return c|0}}else{g=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;e=71896;d=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&d>>>0>0){i=f[18187]|0;h=LA(d|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&h>>>0<=i>>>0)&1}e=ib[f[37356>>2]&255](g)|0;if(!e){c=7;return c|0}d=ib[f[37368>>2]&255](e)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d};f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;i=e+4|0;f[i>>2]=1;do if((a|0)>0){h=0;a:while(1){d=f[b+(h<<2)>>2]|0;g=wz(d)|0;do if((g|0)==19){if(!(Hz(67380,d,19)|0)){f[i>>2]=1;d=0;break}if(!(Hz(67400,d,19)|0)){f[i>>2]=0;d=0}else j=21}else if((g|0)>10)j=21;else{d=1;break a}while(0);do if((j|0)==21){j=0;if(!(Hz(67420,d,11)|0)){d=Lu(e,1,d+11|0,g+-11|0)|0;break}if(Hz(67432,d,11)|0){d=1;break a}d=Lu(e,0,d+11|0,g+-11|0)|0}while(0);h=h+1|0;g=(d|0)==0;if(!((h|0)<(a|0)&g)){j=26;break}}if((j|0)==26)if(g){d=0;break}if(e){g=f[e+12>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{j=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);e=0;break}else{j=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);e=0;break}}else e=0}else d=0;while(0);f[c>>2]=e;c=d;return c|0}function Hu(a){a=a|0;var b=0,c=0;if(!a)return 0;b=f[a+12>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Iu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if(Mc()|0){d=7;return d|0}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](28)|0;if(!a){d=7;return d|0}}else{g=ib[f[37372>>2]&255](28)|0;if((f[18194]|0)>>>0<28)f[18194]=28;e=71896;a=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&a>>>0>0){h=f[18187]|0;e=LA(a|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&e>>>0<=h>>>0)&1}a=ib[f[37356>>2]&255](g)|0;if(!a){h=7;return h|0}e=ib[f[37368>>2]&255](a)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e};f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+4>>2]=b;if(b){if((c|0)<0)c=wz(b)|0}else c=0;f[a+8>>2]=c;f[d>>2]=a;h=0;return h|0}function Ju(a){a=a|0;var b=0,c=0;b=f[a+20>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Ku(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;u=f[a>>2]|0;D=a+4|0;z=f[D>>2]|0;E=a+12|0;A=f[E>>2]|0;k=z+A|0;C=f[a+8>>2]|0;z=z+C|0;if((A|0)>=(C|0)){E=101;return E|0}A=u+8|0;x=f[A>>2]|0;C=u+12|0;s=x+-1|0;a:do if((x|0)>0){t=f[C>>2]|0;while(1){m=k+1|0;n=b[k>>0]|0;l=n&255;if((n&255)>191){l=h[5728+(l+-192)>>0]|0;b:do if((m|0)==(z|0))m=z;else while(1){n=b[m>>0]|0;if((n&-64)<<24>>24!=-128)break b;m=m+1|0;l=l<<6|n&63;if((m|0)==(z|0)){m=z;break}}while(0);if(!((l&-2|0)==65534|(l>>>0<128|(l&-2048|0)==55296)))if(l>>>0<4194304)y=15;else n=1;else{l=65533;y=15}}else if(n<<24>>24>-1)n=(f[24656+(l>>>5<<2)>>2]&1<<(l&31)|0)==0;else y=15;if((y|0)==15){y=0;q=l<<10|1023;n=0;o=405;p=0;do{x=(o+n|0)/2|0;w=q>>>0<(f[24672+(x<<2)>>2]|0)>>>0;p=w?p:x;o=w?x+-1|0:o;n=w?n:x+1|0}while((o|0)>=(n|0));n=f[24672+(p<<2)>>2]|0;n=((n>>>10)+(n&1023)|0)>>>0<=l>>>0}r=n&1;n=s;o=0;while(1){p=(o+n|0)/2|0;x=f[t+(p<<2)>>2]|0;q=(x|0)<(l|0);if((x|0)==(l|0)){n=1;break}n=q?n:p+-1|0;o=q?p+1|0:o;if((n|0)<(o|0)){n=0;break}}if((n|0)!=(r|0)){x=k;break a}if(m>>>0>>0)k=m;else{k=101;break}}return k|0}else{while(1){n=k+1|0;m=b[k>>0]|0;l=m&255;if((m&255)>191){l=h[5728+(l+-192)>>0]|0;c:do if((n|0)==(z|0))m=z;else while(1){m=b[n>>0]|0;if((m&-64)<<24>>24!=-128){m=n;break c}n=n+1|0;l=l<<6|m&63;if((n|0)==(z|0)){m=z;break}}while(0);if(!((l&-2|0)==65534|(l>>>0<128|(l&-2048|0)==55296)))if(l>>>0<4194304)y=32;else{x=k;break a}else{l=65533;y=32}}else if(m<<24>>24>-1)if(!(f[24656+(l>>>5<<2)>>2]&1<<(l&31))){x=k;m=n;break a}else k=n;else{m=n;y=32}if((y|0)==32){y=0;q=l<<10|1023;n=0;o=405;p=0;do{x=(o+n|0)/2|0;w=q>>>0<(f[24672+(x<<2)>>2]|0)>>>0;p=w?p:x;o=w?x+-1|0:o;n=w?n:x+1|0}while((o|0)>=(n|0));x=f[24672+(p<<2)>>2]|0;if(((x>>>10)+(x&1023)|0)>>>0>l>>>0)k=m;else{x=k;break a}}if(k>>>0>=z>>>0){k=101;break}}return k|0}while(0);w=a+20|0;n=f[w>>2]|0;v=a+24|0;u=u+4|0;p=n;while(1){o=p;k=f[v>>2]|0;if((o-n|0)<(k+-4|0))t=p;else{k=k+64|0;if(Mc()|0){k=7;y=84;break}k=Nc(n,(k|0)>0?k:0,0)|0;if(!k){k=7;y=84;break}t=k+(o-(f[w>>2]|0))|0;f[w>>2]=k;f[v>>2]=(f[v>>2]|0)+64}p=f[u>>2]|0;do if((l|0)>=128){if((l|0)>=65536)if((l+-66560|0)>>>0<40){l=l+40|0;y=56;break}else{y=59;break}k=162;o=-1;n=0;do{y=(n+k|0)/2|0;s=(l|0)<(j[27152+(y<<2)>>1]|0);n=s?n:y+1|0;o=s?o:y;k=s?y+-1|0:k}while((k|0)>=(n|0));k=j[27152+(o<<2)>>1]|0;if(((h[27152+(o<<2)+3>>0]|0)+k|0)>(l|0)?(B=h[27152+(o<<2)+2>>0]|0,((l^k)&1&B|0)==0):0)l=l+(j[26304+(B>>>1<<1)>>1]|0)&65535;if(p){p=l<<3|7;k=0;n=100;o=0;do{y=(n+k|0)/2|0;s=p>>>0<(j[26464+(y<<1)>>1]|0)>>>0;n=s?y+-1|0:n;k=s?k:y+1|0;o=s?o:y}while((n|0)>=(k|0));y=j[26464+(o<<1)>>1]|0;if(((y>>>3)+(y&7)|0)>=(l|0)){l=b[26672+o>>0]|0;y=55}else y=55}else y=55}else{l=(l+-65|0)>>>0<26?l+32|0:l;y=55}while(0);if((y|0)==55){y=0;if(l)y=56}if((y|0)==56)if((l|0)>=128)if((l|0)>=2048)if((l|0)<65536){o=t;k=3;n=2;p=1;q=224;r=15;y=60}else y=59;else{q=t;k=2;n=1;o=192;p=31;y=61}else{n=t;k=1;y=62}if((y|0)==59){b[t>>0]=l>>>18&7|240;o=t+1|0;k=4;n=3;p=2;q=128;r=63;y=60}if((y|0)==60){b[o>>0]=l>>>12&r|q;q=t+p|0;o=128;p=63;y=61}if((y|0)==61){b[q>>0]=l>>>6&p|o;n=t+n|0;l=l&63|128;y=62}if((y|0)==62){y=0;b[n>>0]=l;t=t+k|0}if(m>>>0>=z>>>0){k=m;y=83;break}k=m+1|0;n=b[m>>0]|0;l=n&255;if((n&255)>191){l=h[5728+(l+-192)>>0]|0;d:do if((k|0)==(z|0))k=z;else while(1){n=b[k>>0]|0;if((n&-64)<<24>>24!=-128)break d;k=k+1|0;l=l<<6|n&63;if((k|0)==(z|0)){k=z;break}}while(0);if(!((l&-2|0)==65534|(l>>>0<128|(l&-2048|0)==55296)))if(l>>>0<4194304)y=73;else n=1;else{l=65533;y=73}}else if(n<<24>>24>-1)n=(f[24656+(l>>>5<<2)>>2]&1<<(l&31)|0)==0;else y=73;if((y|0)==73){q=l<<10|1023;n=0;o=405;p=0;do{y=(o+n|0)/2|0;s=q>>>0<(f[24672+(y<<2)>>2]|0)>>>0;p=s?p:y;o=s?y+-1|0:o;n=s?n:y+1|0}while((o|0)>=(n|0));n=f[24672+(p<<2)>>2]|0;n=((n>>>10)+(n&1023)|0)>>>0<=l>>>0}s=n&1;n=f[A>>2]|0;e:do if((n|0)>0){r=f[C>>2]|0;n=n+-1|0;o=0;while(1){p=(o+n|0)/2|0;y=f[r+(p<<2)>>2]|0;q=(y|0)<(l|0);if((y|0)==(l|0)){n=1;break e}n=q?n:p+-1|0;o=q?p+1|0:o;if((n|0)<(o|0)){n=0;break}}}else n=0;while(0);if((n|0)==(s|0)){n=l+-768|0;if(n>>>0>49){y=83;break}y=(l|0)<800;if(!(1<<(y?n:l+-800|0)&(y?134389727:221688))){y=83;break}}p=t;m=k;n=f[w>>2]|0}if((y|0)==83){f[E>>2]=k-(f[D>>2]|0);f[c>>2]=f[w>>2];f[d>>2]=t-(f[w>>2]|0);D=f[D>>2]|0;f[e>>2]=x-D;f[g>>2]=m-D;D=a+16|0;E=f[D>>2]|0;f[D>>2]=E+1;f[i>>2]=E;E=0;return E|0}else if((y|0)==84)return k|0;return 0}function Lu(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=d+e|0;n=(e|0)>0;if(!n){q=0;return q|0}m=0;e=d;while(1){j=e+1|0;e=b[e>>0]|0;g=e&255;if((e&255)>191){e=h[5728+(g+-192)>>0]|0;a:do if((j|0)==(p|0)){g=e;e=p}else{g=e;e=j;while(1){i=b[e>>0]|0;if((i&-64)<<24>>24!=-128)break a;e=e+1|0;g=g<<6|i&63;if((e|0)==(p|0)){e=p;break}}}while(0);if(!((g&-2|0)==65534|(g>>>0<128|(g&-2048|0)==55296)))if(g>>>0<4194304)q=12;else i=1;else{g=65533;q=12}}else if(e<<24>>24>-1){i=(f[24656+(g>>>5<<2)>>2]&1<<(g&31)|0)==0;e=j}else{e=j;q=12}if((q|0)==12){q=0;l=g<<10|1023;i=0;j=405;k=0;do{o=(j+i|0)/2|0;r=l>>>0<(f[24672+(o<<2)>>2]|0)>>>0;k=r?k:o;j=r?o+-1|0:j;i=r?i:o+1|0}while((j|0)>=(i|0));i=f[24672+(k<<2)>>2]|0;i=((i>>>10)+(i&1023)|0)>>>0<=g>>>0}do if((i&1|0)==(c|0))g=m;else{i=g+-768|0;if(i>>>0<=49?(r=(g|0)<800,1<<(r?i:g+-800|0)&(r?134389727:221688)|0):0){g=m;break}g=m+1|0}while(0);if(e>>>0

>>0)m=g;else break}if(!g){r=0;return r|0}o=a+12|0;i=f[o>>2]|0;a=a+8|0;e=(f[a>>2]|0)+g<<2;if(Mc()|0){r=7;return r|0}m=Nc(i,(e|0)>0?e:0,0)|0;if(!m){r=7;return r|0}e=f[a>>2]|0;if(n)do{j=d+1|0;d=b[d>>0]|0;g=d&255;if((d&255)>191){d=h[5728+(g+-192)>>0]|0;b:do if((j|0)==(p|0)){g=d;d=p}else{g=d;d=j;while(1){i=b[d>>0]|0;if((i&-64)<<24>>24!=-128)break b;d=d+1|0;g=g<<6|i&63;if((d|0)==(p|0)){d=p;break}}}while(0);if(!((g&-2|0)==65534|(g>>>0<128|(g&-2048|0)==55296)))if(g>>>0<4194304)q=34;else i=1;else{g=65533;q=34}}else if(d<<24>>24>-1){i=(f[24656+(g>>>5<<2)>>2]&1<<(g&31)|0)==0;d=j}else{d=j;q=34}if((q|0)==34){q=0;l=g<<10|1023;i=0;j=405;k=0;do{r=(j+i|0)/2|0;n=l>>>0<(f[24672+(r<<2)>>2]|0)>>>0;k=n?k:r;j=n?r+-1|0:j;i=n?i:r+1|0}while((j|0)>=(i|0));i=f[24672+(k<<2)>>2]|0;i=((i>>>10)+(i&1023)|0)>>>0<=g>>>0}do if((i&1|0)!=(c|0)){i=g+-768|0;if(i>>>0<=49?(r=(g|0)<800,1<<(r?i:g+-800|0)&(r?134389727:221688)|0):0)break;c:do if((e|0)>0){i=0;do{if((f[m+(i<<2)>>2]|0)>=(g|0))break c;i=i+1|0}while((i|0)<(e|0))}else i=0;while(0);if((e|0)>(i|0)){j=e;do{r=j;j=j+-1|0;f[m+(r<<2)>>2]=f[m+(j<<2)>>2]}while((j|0)>(i|0))}f[m+(i<<2)>>2]=g;e=e+1|0}while(0)}while(d>>>0

>>0);f[o>>2]=m;f[a>>2]=e;r=0;return r|0}function Mu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(Mc()|0){c=7;return c|0}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](4)|0;if(!a){c=7;return c|0}}else{d=ib[f[37372>>2]&255](4)|0;if((f[18194]|0)>>>0<4)f[18194]=4;b=71896;a=f[b>>2]|0;b=f[b+4>>2]|0;if((b|0)>0|(b|0)==0&a>>>0>0){e=f[18187]|0;b=LA(a|0,b|0,d|0,((d|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&b>>>0<=e>>>0)&1}a=ib[f[37356>>2]&255](d)|0;if(!a){e=7;return e|0}b=ib[f[37368>>2]&255](a)|0;b=(f[18187]|0)+b|0;f[18187]=b;if(b>>>0>(f[18191]|0)>>>0)f[18191]=b;b=(f[18190]|0)+1|0;f[18190]=b;if(b>>>0>(f[18196]|0)>>>0)f[18196]=b}f[a>>2]=0;f[c>>2]=a;e=0;return e|0}function Nu(a){a=a|0;var b=0;if(!a)return 0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Ou(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if(Mc()|0){d=7;return d|0}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](28)|0;if(!a){d=7;return d|0}}else{g=ib[f[37372>>2]&255](28)|0;if((f[18194]|0)>>>0<28)f[18194]=28;e=71896;a=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&a>>>0>0){h=f[18187]|0;e=LA(a|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&e>>>0<=h>>>0)&1}a=ib[f[37356>>2]&255](g)|0;if(!a){h=7;return h|0}e=ib[f[37368>>2]&255](a)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}f[a+4>>2]=b;if(b){if((c|0)<0)c=wz(b)|0}else c=0;f[a+8>>2]=c;h=a+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[d>>2]=a;h=0;return h|0}function Pu(a){a=a|0;var b=0,c=0;b=f[a+20>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Qu(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;la=t;t=t+32|0;q=la;p=f[a+4>>2]|0;ka=a+12|0;i=f[ka>>2]|0;o=f[a+8>>2]|0;if((i|0)>=(o|0)){ka=101;t=la;return ka|0}while(1){a:do if((i|0)<(o|0))while(1){l=b[p+i>>0]|0;n=l<<24>>24;if(n&128|0){ja=i;break a}if(l<<24>>24>=48?b[26784+(n+-48)>>0]|0:0){ja=i;break a}i=i+1|0;f[ka>>2]=i;if((i|0)>=(o|0)){ja=i;break}}else ja=i;while(0);if((ja|0)<(o|0)){i=ja;do{l=b[p+i>>0]|0;n=l<<24>>24;if(!(n&128)){if(l<<24>>24<48)break;if(!(b[26784+(n+-48)>>0]|0))break}i=i+1|0;f[ka>>2]=i}while((i|0)<(o|0));if((i|0)>(ja|0))break}else i=ja;if((i|0)>=(o|0)){i=101;ga=564;break}}if((ga|0)==564){t=la;return i|0}r=i-ja|0;i=a+24|0;do if((r|0)>(f[i>>2]|0)){l=r+20|0;f[i>>2]=l;n=a+20|0;i=f[n>>2]|0;if(Mc()|0){ka=7;t=la;return ka|0}i=Nc(i,(l|0)>0?l:0,0)|0;if(!i){ka=7;t=la;return ka|0}else{f[n>>2]=i;ia=n;ha=i;break}}else{ha=a+20|0;ia=ha;ha=f[ha>>2]|0}while(0);o=p+ja|0;do if((r+-3|0)>>>0<=17){l=22;n=0;while(1){i=b[o+n>>0]|0;if((i+-65&255)>=26){if((i+-97&255)>=26){ga=39;break}}else i=(i&255)+32&255;b[q+l>>0]=i;n=n+1|0;if((n|0)>=(r|0))break;else l=l+-1|0}if((ga|0)==39){i=0;k=0;do{j=b[o+k>>0]|0;if((j+-65&255)<26)j=(j&255)+32&255;else i=(j+-48&255)<10?1:i;b[ha+k>>0]=j;k=k+1|0}while((k|0)!=(r|0));j=(i|0)==0?10:3;if((j<<1|0)<(r|0)){i=j;j=r-j|0;do{b[ha+i>>0]=b[ha+j>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(r|0))}else i=r;b[ha+i>>0]=0;f[d>>2]=i;break}i=q+23|0;b[i>>0]=0;b[i+1>>0]=0;b[i+2>>0]=0;b[i+3>>0]=0;b[i+4>>0]=0;i=q+l|0;l=b[i>>0]|0;b:do if(l<<24>>24==115){l=i+1|0;n=b[l>>0]|0;switch(n<<24>>24){case 101:break;case 115:{b[l>>0]=115;b[i>>0]=115;l=115;break b}default:{i=l;l=n;ga=51;break b}}n=i+2|0;switch(b[n>>0]|0){case 115:break;case 105:{b[n>>0]=105;i=n;l=105;break b}default:{ga=82;break b}}i=i+3|0;if((b[i>>0]|0)==115){b[i>>0]=115;b[n>>0]=115;i=n;l=115}else ga=82}else ga=51;while(0);c:do if((ga|0)==51){d:do switch(l<<24>>24){case 100:{p=i+1|0;if((b[p>>0]|0)!=101){l=i;ga=82;break c}o=i+2|0;l=b[o>>0]|0;if(l<<24>>24!=101){n=o;while(1)if(!(Ru(n)|0))break;else n=n+1|0;if(!(b[n>>0]|0)){l=i;ga=82;break c}else break d}l=i+3|0;n=b[l>>0]|0;if(!(n<<24>>24)){l=i;ga=82;break c}while(1){n=(n<<24>>24)+-97|0;if((n|0)==24)n=Ru(l+1|0)|0;else n=1-(b[26864+n>>0]|0)|0;if(!n)break;l=l+1|0;n=b[l>>0]|0;if(!(n<<24>>24)){l=i;ga=82;break c}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=i;ga=82;break c}b[o>>0]=101;b[p>>0]=101;i=p;l=101;break c}case 103:{if((b[i+1>>0]|0)!=110){l=i;ga=82;break c}if((b[i+2>>0]|0)!=105){l=i;ga=82;break c}n=i+3|0;l=n;while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=i;ga=82;break c}o=n;l=b[n>>0]|0;break}default:{l=i;ga=82;break c}}while(0);switch(l<<24>>24){case 116:{i=o+1|0;if((b[i>>0]|0)==97){b[i>>0]=97;b[o>>0]=116;i=o+-1|0;b[i>>0]=101;l=101;break c}break}case 108:{i=o+1|0;if((b[i>>0]|0)==98){b[i>>0]=98;b[o>>0]=108;i=o+-1|0;b[i>>0]=101;l=101;break c}break}case 122:{i=o+1|0;if((b[i>>0]|0)==105){b[i>>0]=105;b[o>>0]=122;i=o+-1|0;b[i>>0]=101;l=101;break c}break}default:{}}if(Ru(o)|0){i=o+1|0;n=b[i>>0]|0;if(l<<24>>24==n<<24>>24)switch(l<<24>>24){case 122:case 115:case 108:break;default:{ga=83;break c}}if(!(n<<24>>24==0|((l+-119&255)<3|(Su(o)|0)==0))){i=(n<<24>>24)+-97|0;if((i|0)==24)i=Ru(o+2|0)|0;else i=1-(b[26864+i>>0]|0)|0;if((i|0)!=0?(Ru(o+2|0)|0)!=0:0){i=o+-1|0;b[i>>0]=101;l=101}else{l=o;ga=82}}else{l=o;ga=82}}else{l=o;ga=82}}while(0);if((ga|0)==82){i=l;l=b[l>>0]|0;ga=83}if((ga|0)==83)if(l<<24>>24==121){l=i;do l=l+1|0;while((Ru(l)|0)!=0);if(!(b[l>>0]|0))l=121;else{b[i>>0]=105;l=105}}q=i+1|0;n=b[q>>0]|0;e:do switch(n<<24>>24|0){case 97:{if(l<<24>>24==108)if((n<<24>>24==97?(K=i+2|0,(b[K>>0]|0)==110):0)?(J=i+3|0,(b[J>>0]|0)==111):0){n=i+4|0;if(((b[n>>0]|0)==105?(O=i+5|0,(b[O>>0]|0)==116):0)?(N=i+6|0,(b[N>>0]|0)==97):0){l=i+7|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=108;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=108;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=108;break e}b[N>>0]=97;b[O>>0]=116;b[n>>0]=101;i=n;l=101;break e}n=i+4|0;if(((b[n>>0]|0)==105?(I=i+5|0,(b[I>>0]|0)==116):0)?(w=i+6|0,y=b[w>>0]|0,y<<24>>24!=0):0){l=w;m=y;while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=108;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(b[l>>0]|0){b[I>>0]=116;b[n>>0]=105;b[J>>0]=111;b[K>>0]=110;i=K;l=110}else l=108}else l=108}else l=108;break}case 99:{if(l<<24>>24==105)if(n<<24>>24==99?(Z=i+2|0,(b[Z>>0]|0)==110):0){n=i+3|0;switch(b[n>>0]|0){case 101:{l=i+4|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=105;break e}b[n>>0]=101;b[Z>>0]=110;b[q>>0]=99;b[i>>0]=101;l=101;break e}case 97:{l=i+4|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=105;break e}b[n>>0]=97;b[Z>>0]=110;b[q>>0]=99;b[i>>0]=101;l=101;break e}default:{l=105;break e}}}else l=105;break}case 101:{if(l<<24>>24==114)if(((n<<24>>24==101?(F=i+2|0,(b[F>>0]|0)==122):0)?(E=i+3|0,(b[E>>0]|0)==105):0)?(s=i+4|0,m=b[s>>0]|0,m<<24>>24!=0):0){l=s;while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=114;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(b[l>>0]|0){b[E>>0]=105;b[F>>0]=122;b[q>>0]=101;i=q;l=101}else l=114}else l=114;break}case 103:{if(l<<24>>24==105)if(((n<<24>>24==103?(H=i+2|0,(b[H>>0]|0)==111):0)?(G=i+3|0,(b[G>>0]|0)==108):0)?(u=i+4|0,v=b[u>>0]|0,v<<24>>24!=0):0){l=u;m=v;while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(b[l>>0]|0){b[G>>0]=108;b[H>>0]=111;b[q>>0]=103;i=q;l=103}else l=105}else l=105;break}case 108:{if(l<<24>>24==105)if(n<<24>>24==108){p=i+2|0;switch(b[p>>0]|0){case 98:{l=i+3|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=105;break e}b[p>>0]=98;b[q>>0]=108;b[i>>0]=101;l=101;break e}case 108:{n=i+3|0;if((b[n>>0]|0)!=97){l=105;break e}l=i+4|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=105;break e}b[n>>0]=97;b[p>>0]=108;i=p;l=108;break e}case 116:{o=i+3|0;if((b[o>>0]|0)!=110){l=105;break e}n=i+4|0;if((b[n>>0]|0)!=101){l=105;break e}l=i+5|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=105;break e}b[n>>0]=101;b[o>>0]=110;b[p>>0]=116;i=p;l=116;break e}case 101:{l=i+3|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=105;break e}b[p>>0]=101;i=p;l=101;break e}case 115:{o=i+3|0;if((b[o>>0]|0)!=117){l=105;break e}n=i+4|0;if((b[n>>0]|0)!=111){l=105;break e}l=i+5|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=105;break e}b[n>>0]=111;b[o>>0]=117;b[p>>0]=115;i=p;l=115;break e}default:{l=105;break e}}}else l=105;break}case 111:{switch(l<<24>>24){case 110:break;case 114:{if(n<<24>>24!=111){l=114;break e}o=i+2|0;if((b[o>>0]|0)!=116){l=114;break e}n=i+3|0;if((b[n>>0]|0)!=97){l=114;break e}l=i+4|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=114;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=114;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=114;break e}b[n>>0]=97;b[o>>0]=116;b[q>>0]=101;i=q;l=101;break e}default:break e}if((n<<24>>24==111?(M=i+2|0,(b[M>>0]|0)==105):0)?(L=i+3|0,(b[L>>0]|0)==116):0){n=i+4|0;if(((b[n>>0]|0)==97?(Q=i+5|0,(b[Q>>0]|0)==122):0)?(P=i+6|0,(b[P>>0]|0)==105):0){l=i+7|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=110;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=110;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=110;break e}b[P>>0]=105;b[Q>>0]=122;b[n>>0]=101;i=n;l=101;break e}n=i+4|0;if((b[n>>0]|0)==97?(x=i+5|0,z=b[x>>0]|0,z<<24>>24!=0):0){l=x;m=z;while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=110;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(b[l>>0]|0){b[n>>0]=97;b[L>>0]=116;b[M>>0]=101;i=M;l=101}else l=110}else l=110}else l=110;break}case 115:{switch(l<<24>>24){case 109:{if(n<<24>>24!=115){l=109;break e}if((b[i+2>>0]|0)!=105){l=109;break e}o=i+3|0;if((b[o>>0]|0)!=108){l=109;break e}n=i+4|0;if((b[n>>0]|0)!=97){l=109;break e}l=i+5|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=109;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=109;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=109;break e}b[n>>0]=97;b[o>>0]=108;i=o;l=108;break e}case 115:break;default:break e}if((n<<24>>24==115?(b[i+2>>0]|0)==101:0)?(b[i+3>>0]|0)==110:0){n=i+4|0;if(((b[n>>0]|0)==101?(S=i+5|0,(b[S>>0]|0)==118):0)?(R=i+6|0,(b[R>>0]|0)==105):0){l=i+7|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=115;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=115;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=115;break e}b[R>>0]=105;b[S>>0]=118;b[n>>0]=101;i=n;l=101;break e}n=i+4|0;if(((b[n>>0]|0)==108?(X=i+5|0,(b[X>>0]|0)==117):0)?(W=i+6|0,(b[W>>0]|0)==102):0){l=i+7|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=115;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=115;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=115;break e}b[W>>0]=102;b[X>>0]=117;b[n>>0]=108;i=n;l=108;break e}n=i+4|0;if((((b[n>>0]|0)==115?(U=i+5|0,(b[U>>0]|0)==117):0)?(T=i+6|0,(b[T>>0]|0)==111):0)?(A=i+7|0,C=b[A>>0]|0,C<<24>>24!=0):0){l=A;m=C;while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=115;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(b[l>>0]|0){b[T>>0]=111;b[U>>0]=117;b[n>>0]=115;i=n;l=115}else l=115}else l=115}else l=115;break}case 116:{if(l<<24>>24==105)if(n<<24>>24==116?(Y=i+2|0,(b[Y>>0]|0)==105):0){o=i+3|0;switch(b[o>>0]|0){case 108:break;case 118:{n=i+4|0;if((b[n>>0]|0)!=105){l=105;break e}l=i+5|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=105;break e}b[n>>0]=105;b[o>>0]=118;b[Y>>0]=101;i=Y;l=101;break e}default:{l=105;break e}}n=i+4|0;if((b[n>>0]|0)==97){l=i+5|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(!(b[l>>0]|0)){l=105;break e}b[n>>0]=97;b[o>>0]=108;i=o;l=108;break e}n=i+4|0;if(((b[n>>0]|0)==105?(V=i+5|0,(b[V>>0]|0)==98):0)?(B=i+6|0,D=b[B>>0]|0,D<<24>>24!=0):0){l=B;m=D;while(1){m=(m<<24>>24)+-97|0;if((m|0)==24)m=Ru(l+1|0)|0;else m=1-(b[26864+m>>0]|0)|0;if(!m)break;l=l+1|0;m=b[l>>0]|0;if(!(m<<24>>24)){l=105;break e}}while(1)if(!(Ru(l)|0))break;else l=l+1|0;if(b[l>>0]|0){b[V>>0]=98;b[n>>0]=108;b[o>>0]=101;i=o;l=101}else l=105}else l=105}else l=105;break}default:{}}while(0);f:do switch(l<<24>>24|0){case 101:{if(l<<24>>24==101)switch(b[i+1>>0]|0){case 116:{if((b[i+2>>0]|0)!=97)break f;m=i+3|0;if((b[m>>0]|0)!=99)break f;l=i+4|0;if((b[l>>0]|0)!=105)break f;j=i+5|0;k=b[j>>0]|0;if(!(k<<24>>24))break f;while(1){k=(k<<24>>24)+-97|0;if((k|0)==24)k=Ru(j+1|0)|0;else k=1-(b[26864+k>>0]|0)|0;if(!k)break;j=j+1|0;k=b[j>>0]|0;if(!(k<<24>>24))break f}while(1)if(!(Ru(j)|0))break;else j=j+1|0;if(!(b[j>>0]|0))break f;b[l>>0]=105;b[m>>0]=99;i=m;break f}case 118:{if((b[i+2>>0]|0)!=105)break f;if((b[i+3>>0]|0)!=116)break f;if((b[i+4>>0]|0)!=97)break f;l=i+5|0;k=b[l>>0]|0;if(!(k<<24>>24))break f;j=l;while(1){k=(k<<24>>24)+-97|0;if((k|0)==24)k=Ru(j+1|0)|0;else k=1-(b[26864+k>>0]|0)|0;if(!k)break;j=j+1|0;k=b[j>>0]|0;if(!(k<<24>>24))break f}while(1)if(!(Ru(j)|0))break;else j=j+1|0;i=(b[j>>0]|0)==0?i:l;break f}case 122:{if((b[i+2>>0]|0)!=105)break f;m=i+3|0;if((b[m>>0]|0)!=108)break f;l=i+4|0;if((b[l>>0]|0)!=97)break f;j=i+5|0;k=b[j>>0]|0;if(!(k<<24>>24))break f;while(1){k=(k<<24>>24)+-97|0;if((k|0)==24)k=Ru(j+1|0)|0;else k=1-(b[26864+k>>0]|0)|0;if(!k)break;j=j+1|0;k=b[j>>0]|0;if(!(k<<24>>24))break f}while(1)if(!(Ru(j)|0))break;else j=j+1|0;if(!(b[j>>0]|0))break f;b[l>>0]=97;b[m>>0]=108;i=m;break f}default:break f}break}case 105:{if(((((l<<24>>24==105?(b[i+1>>0]|0)==116:0)?(b[i+2>>0]|0)==105:0)?(ca=i+3|0,(b[ca>>0]|0)==99):0)?(ba=i+4|0,(b[ba>>0]|0)==105):0)?(j=i+5|0,_=b[j>>0]|0,_<<24>>24!=0):0){k=_;while(1){k=(k<<24>>24)+-97|0;if((k|0)==24)k=Ru(j+1|0)|0;else k=1-(b[26864+k>>0]|0)|0;if(!k)break;j=j+1|0;k=b[j>>0]|0;if(!(k<<24>>24))break f}while(1)if(!(Ru(j)|0))break;else j=j+1|0;if(b[j>>0]|0){b[ba>>0]=105;b[ca>>0]=99;i=ca}}break}case 108:{if(l<<24>>24==108){switch(b[i+1>>0]|0){case 97:break;case 117:{if((b[i+2>>0]|0)!=102)break f;l=i+3|0;k=b[l>>0]|0;if(!(k<<24>>24))break f;j=l;while(1){k=(k<<24>>24)+-97|0;if((k|0)==24)k=Ru(j+1|0)|0;else k=1-(b[26864+k>>0]|0)|0;if(!k)break;j=j+1|0;k=b[j>>0]|0;if(!(k<<24>>24))break f}while(1)if(!(Ru(j)|0))break;else j=j+1|0;i=(b[j>>0]|0)==0?i:l;break f}default:break f}l=i+2|0;if(((b[l>>0]|0)==99?(ea=i+3|0,(b[ea>>0]|0)==105):0)?($=i+4|0,aa=b[$>>0]|0,aa<<24>>24!=0):0){j=$;k=aa;while(1){k=(k<<24>>24)+-97|0;if((k|0)==24)k=Ru(j+1|0)|0;else k=1-(b[26864+k>>0]|0)|0;if(!k)break;j=j+1|0;k=b[j>>0]|0;if(!(k<<24>>24))break f}while(1)if(!(Ru(j)|0))break;else j=j+1|0;if(b[j>>0]|0){b[ea>>0]=105;b[l>>0]=99;i=l}}}break}case 115:{if((((l<<24>>24==115?(b[i+1>>0]|0)==115:0)?(b[i+2>>0]|0)==101:0)?(b[i+3>>0]|0)==110:0)?(da=i+4|0,k=b[da>>0]|0,k<<24>>24!=0):0){j=da;while(1){k=(k<<24>>24)+-97|0;if((k|0)==24)k=Ru(j+1|0)|0;else k=1-(b[26864+k>>0]|0)|0;if(!k)break;j=j+1|0;k=b[j>>0]|0;if(!(k<<24>>24))break f}while(1)if(!(Ru(j)|0))break;else j=j+1|0;i=(b[j>>0]|0)==0?i:da}break}default:{}}while(0);l=b[i+1>>0]|0;g:do switch(l<<24>>24|0){case 97:{j=b[i>>0]|0;if(j<<24>>24==108){j=i+2|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399}else ga=400;break}case 99:{if((b[i>>0]|0)==101)if((b[i+2>>0]|0)==110){switch(b[i+3>>0]|0){case 101:case 97:break;default:{j=i;ga=399;break g}}j=i+4|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399}else{j=i;ga=399}break}case 101:{j=b[i>>0]|0;if(j<<24>>24==114){j=i+2|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399}else ga=400;break}case 105:{j=b[i>>0]|0;if(j<<24>>24==99){j=i+2|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399}else ga=400;break}case 108:{if((b[i>>0]|0)==101)if((b[i+2>>0]|0)==98){switch(b[i+3>>0]|0){case 105:case 97:break;default:{j=i;ga=399;break g}}j=i+4|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399}else{j=i;ga=399}break}case 110:{j=b[i>>0]|0;if(j<<24>>24==116){switch(b[i+2>>0]|0){case 97:{j=i+3|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399;break g}case 101:break;default:break g}if(l<<24>>24==110){j=i+3|0;if((b[j>>0]|0)!=109){ga=(Tu(j)|0)==0;j=ga?i:j;ga=399;break g}j=i+4|0;if((b[j>>0]|0)==101){j=i+5|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399;break g}else{ga=(Tu(j)|0)==0;j=ga?i:j;ga=399;break g}}else{j=i;ga=399}}else ga=400;break}case 111:{j=b[i>>0]|0;if(j<<24>>24==117){j=i+2|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399;break g}k=i+3|0;if(l<<24>>24==111&(j<<24>>24==110?((b[k>>0]|0)+-115&255)<2:0)?(b[i+2>>0]|0)==105:0){j=(Tu(k)|0)==0;j=j?i:k;ga=399}else{j=i;ga=399}break}case 115:{j=b[i>>0]|0;if(j<<24>>24==109)if((b[i+2>>0]|0)==105){j=i+3|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399}else{j=i;ga=399}else ga=400;break}case 116:switch(b[i>>0]|0){case 101:{if(l<<24>>24!=116){j=i;ga=399;break g}if((b[i+2>>0]|0)!=97){j=i;ga=399;break g}j=i+3|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399;break g}case 105:{if(l<<24>>24!=116){j=i;ga=399;break g}if((b[i+2>>0]|0)!=105){j=i;ga=399;break g}j=i+3|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399;break g}default:{j=i;ga=399;break g}}case 117:{j=b[i>>0]|0;if(j<<24>>24==115)if((b[i+2>>0]|0)==111){j=i+3|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399}else{j=i;ga=399}else ga=400;break}case 122:case 118:{if((b[i>>0]|0)==101)if((b[i+2>>0]|0)==105){j=i+3|0;ga=(Tu(j)|0)==0;j=ga?i:j;ga=399}else{j=i;ga=399}break}default:{j=i;ga=399}}while(0);if((ga|0)==399){i=j;j=b[j>>0]|0;ga=400}do if((ga|0)==400)if(j<<24>>24==101){k=i+1|0;if(!(Tu(k)|0)){if(Su(k)|0){if((Ru(k)|0?((b[k>>0]|0)+-119&255)>=3:0)?(fa=b[i+2>>0]|0,fa<<24>>24):0){j=(fa<<24>>24)+-97|0;if((j|0)==24)j=Ru(i+3|0)|0;else j=1-(b[26864+j>>0]|0)|0;if(j|0?Ru(i+3|0)|0:0)break}i=k}}else i=k}while(0);if((Tu(i)|0)!=0?(b[i>>0]|0)==108:0){ga=i+1|0;i=(b[ga>>0]|0)==108?ga:i}k=wz(i)|0;f[d>>2]=k;b[ha+k>>0]=0;j=b[i>>0]|0;if(j<<24>>24)do{i=i+1|0;k=k+-1|0;b[ha+k>>0]=j;j=b[i>>0]|0}while(j<<24>>24!=0)}else{if((r|0)>0){i=0;k=0;do{j=b[o+k>>0]|0;if((j+-65&255)<26)j=(j&255)+32&255;else i=(j+-48&255)<10?1:i;b[ha+k>>0]=j;k=k+1|0}while((k|0)!=(r|0));if(!i){i=r;ga=31}else{i=r;j=3}}else{i=0;ga=31}if((ga|0)==31)j=10;if((j<<1|0)<(r|0)){i=j;j=r-j|0;do{b[ha+i>>0]=b[ha+j>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(r|0))}b[ha+i>>0]=0;f[d>>2]=i}while(0);f[c>>2]=f[ia>>2];f[e>>2]=ja;f[g>>2]=f[ka>>2];g=a+16|0;ka=f[g>>2]|0;f[g>>2]=ka+1;f[h>>2]=ka;ka=0;t=la;return ka|0}function Ru(a){a=a|0;var c=0;c=b[a>>0]|0;if(!(c<<24>>24)){a=0;return a|0}c=(c<<24>>24)+-97|0;if((c|0)!=24){a=b[26864+c>>0]|0;return a|0}c=b[a+1>>0]|0;if(!(c<<24>>24)){a=1;return a|0}c=(c<<24>>24)+-97|0;if((c|0)==24)c=Ru(a+2|0)|0;else c=1-(b[26864+c>>0]|0)|0;a=(c|0)!=0&1;return a|0}function Su(a){a=a|0;var c=0,d=0;c=b[a>>0]|0;if(!(c<<24>>24)){d=0;return d|0}while(1){c=(c<<24>>24)+-97|0;if((c|0)==24)c=Ru(a+1|0)|0;else c=1-(b[26864+c>>0]|0)|0;if(!c)break;a=a+1|0;c=b[a>>0]|0;if(!(c<<24>>24)){a=0;d=17;break}}if((d|0)==17)return a|0;while(1)if(!(Ru(a)|0))break;else a=a+1|0;if(!(b[a>>0]|0)){d=0;return d|0}while(1)if(!(Uu(a)|0))break;else a=a+1|0;if(!(b[a>>0]|0)){d=1;return d|0}while(1)if(!(Ru(a)|0))break;else a=a+1|0;d=(b[a>>0]|0)==0&1;return d|0}function Tu(a){a=a|0;var c=0,d=0,e=0,f=0;c=b[a>>0]|0;if(!(c<<24>>24)){f=0;return f|0}while(1){c=(c<<24>>24)+-97|0;if((c|0)==24)c=Ru(a+1|0)|0;else c=1-(b[26864+c>>0]|0)|0;if(!c)break;d=a+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){e=0;f=20;break}else a=d}if((f|0)==20)return e|0;while(1)if(!(Ru(a)|0))break;else a=a+1|0;c=b[a>>0]|0;if(!(c<<24>>24)){f=0;return f|0}while(1){c=(c<<24>>24)+-97|0;if((c|0)==24)c=Ru(a+1|0)|0;else c=1-(b[26864+c>>0]|0)|0;if(!c)break;d=a+1|0;c=b[d>>0]|0;if(!(c<<24>>24)){e=0;f=20;break}else a=d}if((f|0)==20)return e|0;while(1)if(!(Ru(a)|0))break;else a=a+1|0;f=(b[a>>0]|0)!=0&1;return f|0}function Uu(a){a=a|0;var c=0;c=b[a>>0]|0;if(!(c<<24>>24)){a=0;return a|0}c=(c<<24>>24)+-97|0;if((c|0)==24){a=Ru(a+1|0)|0;return a|0}else{a=1-(b[26864+c>>0]|0)|0;return a|0}return 0}function Vu(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if(Mc()|0){d=7;return d|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](132)|0;if(!e){d=7;return d|0}else i=e}else{h=ib[f[37372>>2]&255](132)|0;if((f[18194]|0)>>>0<132)f[18194]=132;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){i=f[18187]|0;g=LA(e|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;e=ba()|0;f[17976]=((e|0)<0|(e|0)==0&g>>>0<=i>>>0)&1}g=ib[f[37356>>2]&255](h)|0;if(!g){d=7;return d|0}e=ib[f[37368>>2]&255](g)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0){f[18196]=e;i=g}else i=g}_A(i|0,0,132)|0;a:do if((a|0)>1){h=c+4|0;e=f[h>>2]|0;a=wz(e)|0;if((a|0)>0){c=i+4|0;e=b[e>>0]|0;if(e<<24>>24>=0){g=0;do{b[c+(e&255)>>0]=1;g=g+1|0;if((g|0)>=(a|0))break a;e=b[(f[h>>2]|0)+g>>0]|0}while(e<<24>>24>=0)}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);d=1;return d|0}else{d=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);d=1;return d|0}}}else{g=i+4|0;e=1;do{b[g+e>>0]=((e+-48|0)>>>0>9&((e&2147483615)+-65|0)>>>0>25)<<31>>31;e=e+1|0}while((e|0)!=128)}while(0);f[d>>2]=i;d=0;return d|0}function Wu(a){a=a|0;var b=0;if(!a)return 0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Xu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if(Mc()|0){d=7;return d|0}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](28)|0;if(!a){d=7;return d|0}}else{g=ib[f[37372>>2]&255](28)|0;if((f[18194]|0)>>>0<28)f[18194]=28;e=71896;a=f[e>>2]|0;e=f[e+4>>2]|0;if((e|0)>0|(e|0)==0&a>>>0>0){h=f[18187]|0;e=LA(a|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&e>>>0<=h>>>0)&1}a=ib[f[37356>>2]&255](g)|0;if(!a){h=7;return h|0}e=ib[f[37368>>2]&255](a)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}f[a+4>>2]=b;if(b){if((c|0)<0)c=wz(b)|0}else c=0;f[a+8>>2]=c;h=a+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[d>>2]=a;h=0;return h|0}function Yu(a){a=a|0;var b=0,c=0;b=f[a+20>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Zu(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=f[a>>2]|0;o=f[a+4>>2]|0;p=a+12|0;i=f[p>>2]|0;k=f[a+8>>2]|0;if((i|0)>=(k|0)){p=101;return p|0}while(1){a:do if((i|0)<(k|0))while(1){j=b[o+i>>0]|0;if(j<<24>>24<=-1){n=i;break a}if(!(b[(j&255)+(l+4)>>0]|0)){n=i;break a}i=i+1|0;f[p>>2]=i;if((i|0)>=(k|0)){n=i;break}}else n=i;while(0);if((n|0)<(k|0)){i=n;do{j=b[o+i>>0]|0;if(j<<24>>24>-1?b[(j&255)+(l+4)>>0]|0:0)break;i=i+1|0;f[p>>2]=i}while((i|0)<(k|0));if((i|0)>(n|0))break}else i=n;if((i|0)>=(k|0)){i=101;m=23;break}}if((m|0)==23)return i|0;l=i-n|0;i=a+24|0;do if((l|0)>(f[i>>2]|0)){j=l+20|0;f[i>>2]=j;k=a+20|0;i=f[k>>2]|0;if(Mc()|0){p=7;return p|0}i=Nc(i,(j|0)>0?j:0,0)|0;if(!i){p=7;return p|0}else{f[k>>2]=i;break}}while(0);j=a+20|0;if((l|0)>0){i=0;do{k=b[o+(i+n)>>0]|0;m=k&255;b[(f[j>>2]|0)+i>>0]=(k+-65&255)<26?m+32|0:m;i=i+1|0}while((i|0)!=(l|0))}f[c>>2]=f[j>>2];f[d>>2]=l;f[e>>2]=n;f[g>>2]=f[p>>2];o=a+16|0;p=f[o>>2]|0;f[o>>2]=p+1;f[h>>2]=p;p=0;return p|0}function _u(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+16|0;j=p;do if((d|1|0)==5){l=f[e+4>>2]|0;k=wz(l)|0;if((d|0)==5){if((l|0)==0|(k|0)!=4)break;k=h[l>>0]|0;c=1232+k|0;if((k|32|0)==116){k=h[l+1>>0]|0;c=1232+k|0;if((k|32|0)==101){k=h[l+2>>0]|0;c=1232+k|0;if((k|32|0)==109){c=h[l+3>>0]|0;if((c|32|0)!=112){m=1232+c|0;n=112;o=5}}else{m=c;n=109;o=5}}else{m=c;n=101;o=5}}else{m=c;n=116;o=5}if((o|0)==5?(n|0)!=(h[m>>0]|0):0)break;k=f[e+12>>2]|0;l=k;k=wz(k)|0;c=4}else c=3;d=f[e+(c<<2)>>2]|0;j=wz(d)|0;c=wk(a,67444)|0;if(c|0){g=c;t=p;return g|0}c=k+306+j|0;n=Fd(c)|0;if(!n){g=7;t=p;return g|0}_A(n|0,0,c|0)|0;m=n+12|0;f[m>>2]=n+16;e=n+304|0;f[n+32>>2]=e;c=e+(k+1)|0;f[n+36>>2]=c;f[n+28>>2]=a;f[n+268>>2]=1;YA(e|0,l|0,k|0)|0;YA(c|0,d|0,j|0)|0;m=f[(f[m>>2]|0)+20>>2]|0;c=b[m>>0]|0;switch(c<<24>>24){case 34:case 39:case 91:case 96:{l=c<<24>>24==91?93:c;d=b[m+1>>0]|0;a:do if(!(d<<24>>24))c=0;else{j=1;c=0;do{k=j+1|0;if(d<<24>>24==l<<24>>24){if((b[m+k>>0]|0)!=l<<24>>24)break a;b[m+c>>0]=l;j=j+2|0}else{b[m+c>>0]=d;j=k}c=c+1|0;d=b[m+j>>0]|0}while(d<<24>>24!=0)}while(0);b[m+c>>0]=0;break}default:{}}f[g>>2]=n;g=0;t=p;return g|0}while(0);Ls(i,67513,j);g=1;t=p;return g|0}function $u(a,c){a=a|0;c=c|0;var d=0,e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(((f[c+8>>2]|0)==1?(d=f[c+12>>2]|0,(f[d>>2]|0)==0):0)?(b[d+4>>0]|0)==0:0)f[c+32>>2]=1;l=f[c>>2]|0;if((l|0)<=0){f[c+20>>2]=0;p[c+40>>3]=2.0e4;return 0}m=f[c+4>>2]|0;a=-1;j=-1;g=-1;d=-1;k=0;while(1){if(!(b[m+(k*12|0)+5>>0]|0))i=g;else{h=b[m+(k*12|0)+4>>0]|0;i=f[m+(k*12|0)>>2]|0;if(!i){a=h<<24>>24==2?k:a;d=h<<24>>24==32|h<<24>>24==4?k:d;g=h<<24>>24==8|h<<24>>24==16?k:g}j=h<<24>>24==2&(i|0)==4?k:j;i=g}k=k+1|0;if((k|0)>=(l|0))break;else g=i}h=c+20|0;if((a|0)<=-1){f[h>>2]=0;g=c+40|0;p[g>>3]=2.0e4;if((d|0)>-1){f[h>>2]=2;f[(f[c+16>>2]|0)+(d<<3)>>2]=1;p[g>>3]=1.0e4;a=2;d=6;e=1.0e4}else{a=1;d=4;e=2.0e4}if((i|0)>-1){f[h>>2]=d;f[(f[c+16>>2]|0)+(i<<3)>>2]=a;e=e*.5;p[g>>3]=e;a=a+1|0}}else{f[h>>2]=1;f[(f[c+16>>2]|0)+(a<<3)>>2]=1;p[c+40>>3]=5.0;a=2;e=5.0}if((j|0)<=-1)return 0;f[(f[c+16>>2]|0)+(j<<3)>>2]=a;p[c+40>>3]=e+-1.0;return 0}function av(a){a=a|0;var b=0,c=0;b=f[a+12>>2]|0;Fi(f[b+56>>2]|0)|0;Fi(f[b+60>>2]|0)|0;Fi(f[b+64>>2]|0)|0;Fi(f[b+68>>2]|0)|0;Fi(f[b+72>>2]|0)|0;Fi(f[b+76>>2]|0)|0;Fi(f[b+80>>2]|0)|0;Fi(f[b+84>>2]|0)|0;Fi(f[b+88>>2]|0)|0;Fi(f[b+92>>2]|0)|0;Fi(f[b+96>>2]|0)|0;Fi(f[b+100>>2]|0)|0;Fi(f[b+104>>2]|0)|0;Fi(f[b+108>>2]|0)|0;Fi(f[b+112>>2]|0)|0;Fi(f[b+116>>2]|0)|0;Fi(f[b+120>>2]|0)|0;Fi(f[b+124>>2]|0)|0;Fi(f[b+128>>2]|0)|0;Fi(f[b+132>>2]|0)|0;Fi(f[b+136>>2]|0)|0;Fi(f[b+140>>2]|0)|0;Fi(f[b+144>>2]|0)|0;Fi(f[b+148>>2]|0)|0;Fi(f[b+152>>2]|0)|0;Fi(f[b+156>>2]|0)|0;Fi(f[b+160>>2]|0)|0;Fi(f[b+164>>2]|0)|0;Fi(f[b+168>>2]|0)|0;Fi(f[b+172>>2]|0)|0;Fi(f[b+176>>2]|0)|0;Fi(f[b+180>>2]|0)|0;Fi(f[b+184>>2]|0)|0;Fi(f[b+188>>2]|0)|0;Fi(f[b+192>>2]|0)|0;Fi(f[b+196>>2]|0)|0;Fi(f[b+200>>2]|0)|0;Fi(f[b+204>>2]|0)|0;Fi(f[b+208>>2]|0)|0;Fi(f[b+212>>2]|0)|0;b=f[b+244>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function bv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(Mc()|0){b=7;return b|0}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](120)|0;if(!a){b=7;return b|0}}else{d=ib[f[37372>>2]&255](120)|0;if((f[18194]|0)>>>0<120)f[18194]=120;c=71896;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){e=f[18187]|0;c=LA(a|0,c|0,d|0,((d|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&c>>>0<=e>>>0)&1}a=ib[f[37356>>2]&255](d)|0;if(!a){e=7;return e|0}c=ib[f[37368>>2]&255](a)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}c=a;d=c+120|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=a;e=0;return e|0}function cv(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=(f[(f[a>>2]|0)+12>>2]|0)+248|0;d=f[c>>2]|0;do if(d|0){e=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;if(e|0){if(f[e+480>>2]|0){Kc(e,d);break}i=d;if((f[e+304>>2]|0)>>>0<=i>>>0?(f[e+308>>2]|0)>>>0>i>>>0:0){i=e+300|0;f[d>>2]=f[i>>2];f[i>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{i=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);f[c>>2]=0;h=a+4|0;i=a+8|0;c=f[h>>2]|0;if((f[i>>2]|0)>0){g=0;do{c=f[c+(g<<2)>>2]|0;do if(c|0){do if((f[c+56>>2]|0)==0?(j=f[c+64>>2]|0,j|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{e=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}while(0);do if((b[c+5>>0]|0)==0?(k=f[c+40>>2]|0,k|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{e=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);d=f[c+52>>2]|0;do if(d|0){e=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;if(e|0){if(f[e+480>>2]|0){Kc(e,d);break}l=d;if((f[e+304>>2]|0)>>>0<=l>>>0?(f[e+308>>2]|0)>>>0>l>>>0:0){l=e+300|0;f[d>>2]=f[l>>2];f[l>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{l=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{l=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);g=g+1|0;c=f[h>>2]|0}while((g|0)<(f[i>>2]|0))}do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{l=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=a+20|0;d=f[c>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{l=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);f[i>>2]=0;f[h>>2]=0;f[c>>2]=0;c=f[a+60>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{l=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[a+76>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{l=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);c=f[a+112>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{l=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{l=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function dv(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=t;t=t+16|0;u=A+8|0;r=A;z=f[(f[a>>2]|0)+12>>2]|0;if((c|0)==1){s=-1;n=0;y=0;e=1;o=-1}else{e=c&2;o=(e|0)==0;x=(o^1)&1;v=(c&4|0)==0;s=v?-1:x;n=-1;y=1;e=v?x:(e>>>1)+1|0;o=o<<31>>31}v=(e|0)<(g|0)?e:-1;x=a+4|0;k=a+8|0;e=f[x>>2]|0;if((f[k>>2]|0)>0){i=0;do{e=f[e+(i<<2)>>2]|0;do if(e|0){do if((f[e+56>>2]|0)==0?(l=f[e+64>>2]|0,l|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{g=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);do if((b[e+5>>0]|0)==0?(m=f[e+40>>2]|0,m|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{g=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}while(0);c=f[e+52>>2]|0;do if(c|0){g=f[c+20>>2]|0;Fi(f[c+16>>2]|0)|0;if(g|0){if(f[g+480>>2]|0){Kc(g,c);break}B=c;if((f[g+304>>2]|0)>>>0<=B>>>0?(f[g+308>>2]|0)>>>0>B>>>0:0){B=g+300|0;f[c>>2]=f[B>>2];f[B>>2]=c;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{B=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{B=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);i=i+1|0;e=f[x>>2]|0}while((i|0)<(f[k>>2]|0))}do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{B=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=a+20|0;c=f[e>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{B=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[k>>2]=0;f[x>>2]=0;f[e>>2]=0;m=a+60|0;e=f[m>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{B=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[a+112>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{B=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);k=x;l=k+116|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[a+72>>2]=(y|0)==0?3:19;do if((o&n|0)>-1?(q=f[h>>2]|0,q|0):0){e=d[q+8>>1]|0;if((e&514)==514?(b[q+10>>0]|0)==1:0)e=f[q+16>>2]|0;else{if(e&1)break;e=Ic(q,1)|0}if(e|0){f[r>>2]=e;e=wd(40840,r)|0;f[m>>2]=e;i=f[h>>2]|0;c=d[i+8>>1]|0;if((c&2)!=0?(b[i+10>>0]|0)==1:0)c=f[i+12>>2]|0;else w=57;do if((w|0)==57){g=c&65535;if(!(g&16)){if(g&1|0){c=0;break}c=_e(i,1)|0;e=f[m>>2]|0;break}else{c=f[i+12>>2]|0;if(!(g&16384))break;c=(f[i>>2]|0)+c|0;break}}while(0);f[a+64>>2]=c;if(!e){B=7;t=A;return B|0}}}while(0);if((s|0)>-1){g=h+(s<<2)|0;e=f[g>>2]|0;do if(e){c=d[e+8>>1]|0;if((c&514)==514?(b[e+10>>0]|0)==1:0){e=f[e+16>>2]|0;break}if(!(c&1))e=Ic(e,1)|0;else e=0}else e=0;while(0);f[u>>2]=e;e=wd(40840,u)|0;k=a+76|0;f[k>>2]=e;i=f[g>>2]|0;c=d[i+8>>1]|0;if((c&2)!=0?(b[i+10>>0]|0)==1:0)c=f[i+12>>2]|0;else w=73;do if((w|0)==73){g=c&65535;if(!(g&16)){if(g&1|0){c=0;break}c=_e(i,1)|0;e=f[k>>2]|0;break}else{c=f[i+12>>2]|0;if(!(g&16384))break;c=(f[i>>2]|0)+c|0;break}}while(0);f[a+80>>2]=c;if(!e){B=7;t=A;return B|0}}a:do if((v|0)>-1){e=f[h+(v<<2)>>2]|0;c=j[e+8>>1]|0;do if(!(c&4)){if(c&8|0){e=Fc(+p[e>>3])|0;ba()|0;break}if(!(c&18)){e=0;break a}e=Gc(b[e+10>>0]|0,f[e+12>>2]|0,f[e+16>>2]|0)|0;ba()|0}else e=f[e>>2]|0;while(0);e=(e|0)>0?e:0}else e=0;while(0);f[a+84>>2]=e;c=f[m>>2]|0;i=a+64|0;g=f[i>>2]|0;k=x;l=k+56|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));e=lt(z,e,0,-2,c,g,0,y,x)|0;if(e|0){B=e;t=A;return B|0}f[a+16>>2]=m;e=mt(z,x,f[m>>2]|0,f[i>>2]|0)|0;if(e|0){B=e;t=A;return B|0}B=ev(a)|0;t=A;return B|0}function ev(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=f[(f[a>>2]|0)+12>>2]|0;o=a+96|0;p=o;p=KA(f[p>>2]|0,f[p+4>>2]|0,1,0)|0;c=ba()|0;f[o>>2]=p;f[o+4>>2]=c;o=a+104|0;c=(f[o>>2]|0)+1|0;f[o>>2]=c;p=a+108|0;d=f[p>>2]|0;a:do if((c|0)<(d|0)){e=f[a+112>>2]|0;while(1){n=e+(c<<4)|0;m=f[n+4>>2]|0;if((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0){c=0;break}c=c+1|0;f[o>>2]=c;if((c|0)>=(d|0))break a}return c|0}while(0);c=nt(g,a+4|0)|0;if((c|0)!=100){f[a+88>>2]=1;q=c;return q|0}m=f[a+56>>2]|0;n=f[a+52>>2]|0;c=f[a+76>>2]|0;do if(c|0){j=f[a+80>>2]|0;k=f[a+48>>2]|0;l=(j|0)<(k|0);k=Hz(c,f[a+44>>2]|0,l?j:k)|0;if((k|0)>=0?(k|0)!=0|l^1:0)break;f[a+88>>2]=1;q=0;return q|0}while(0);d=f[p>>2]|0;l=a+112|0;c=f[l>>2]|0;do if((d|0)<2){if(Mc()|0){q=7;return q|0}c=Nc(c,32,0)|0;if(!c){q=7;return q|0}else{d=f[p>>2]|0;_A(c+(d<<4)|0,0,32-(d<<4)|0)|0;f[l>>2]=c;f[p>>2]=2;d=32;break}}else d=d<<4;while(0);_A(c|0,0,d|0)|0;b:do if((m|0)>0){c=0;d=0;k=0;c:while(1){j=n+k|0;g=b[j>>0]|0;e=g&255;do if(!(e&128)){j=1;i=0;a=g&255}else{i=h[j+1>>0]|0;e=i<<7|e&127;if(!(i&128)){j=2;i=0;a=e;break}i=h[j+2>>0]|0;e=i<<14|e&16383;if(!(i&128)){j=3;i=0;a=e;break}i=h[j+3>>0]|0;a=i<<21|e&2097151;if(!(i&128)){j=4;i=0;break}e=28;g=j+4|0;a=a&268435455;i=0;do{r=g;g=g+1|0;r=h[r>>0]|0;s=WA(r&127|0,0,e|0)|0;a=KA(s|0,ba()|0,a|0,i|0)|0;i=ba()|0;e=e+7|0}while(e>>>0<64&((r&128|0)!=0|0!=0));j=g-j|0}while(0);k=j+k|0;switch(c|0){case 0:{d=f[l>>2]|0;s=d;s=KA(f[s>>2]|0,f[s+4>>2]|0,1,0)|0;c=ba()|0;f[d>>2]=s;f[d+4>>2]=c;d=0;c=1;break}case 1:{if((i|0)>0|(i|0)==0&a>>>0>1){q=(f[l>>2]|0)+16|0;r=q;r=KA(f[r>>2]|0,f[r+4>>2]|0,1,0)|0;s=ba()|0;f[q>>2]=r;f[q+4>>2]=s;q=32}else q=32;break}case 2:{q=32;break}default:{e=a+2|0;if((f[p>>2]|0)<(e|0)){c=f[l>>2]|0;d=e<<4;if(Mc()|0){c=7;q=46;break c}c=Nc(c,(d|0)>0?d:0,0)|0;if(!c){c=7;q=46;break c}s=f[p>>2]|0;_A(c+(s<<4)|0,0,e-s<<4|0)|0;f[l>>2]=c;f[p>>2]=e}else c=f[l>>2]|0;d=c+(a+1<<4)|0;s=d;s=KA(f[s>>2]|0,f[s+4>>2]|0,1,0)|0;c=ba()|0;f[d>>2]=s;f[d+4>>2]=c;d=a;c=2}}d:do if((q|0)==32){q=0;switch(a|0){case 0:{if(!i){c=0;break d}break}case 1:{if(!i){c=3;break d}break}default:{}}c=f[l>>2]|0;r=c+(d+1<<4)+8|0;j=r;j=KA(f[j>>2]|0,f[j+4>>2]|0,1,0)|0;s=ba()|0;f[r>>2]=j;f[r+4>>2]=s;c=c+8|0;r=c;r=KA(f[r>>2]|0,f[r+4>>2]|0,1,0)|0;s=ba()|0;f[c>>2]=r;f[c+4>>2]=s;c=2}while(0);if((k|0)>=(m|0))break b}if((q|0)==46)return c|0}while(0);f[o>>2]=0;s=0;return s|0}function fv(a){a=a|0;return f[a+88>>2]|0}function gv(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0;switch(c|0){case 0:{if(($e(f[b>>2]|0,f[a+44>>2]|0,f[a+48>>2]|0,1,-1)|0)!=18)return 0;f[b+20>>2]=18;$e(f[b>>2]|0,41612,-1,1,0)|0;return 0}case 1:{a=f[a+104>>2]|0;if(!a){if(($e(f[b>>2]|0,50775,-1,1,0)|0)!=18)return 0;f[b+20>>2]=18;$e(f[b>>2]|0,41612,-1,1,0)|0;return 0}g=a+-1|0;a=f[b>>2]|0;c=((g|0)<0)<<31>>31;e=a+8|0;if(!(d[e>>1]&9216)){b=a;f[b>>2]=g;f[b+4>>2]=c;d[e>>1]=4;return 0}else{bf(a,g,c);return 0}}case 2:{g=(f[a+112>>2]|0)+(f[a+104>>2]<<4)|0;e=f[g>>2]|0;g=f[g+4>>2]|0;a=f[b>>2]|0;c=a+8|0;if(!(d[c>>1]&9216)){b=a;f[b>>2]=e;f[b+4>>2]=g;d[c>>1]=4;return 0}else{bf(a,e,g);return 0}}case 3:{g=(f[a+112>>2]|0)+(f[a+104>>2]<<4)+8|0;e=f[g>>2]|0;g=f[g+4>>2]|0;a=f[b>>2]|0;c=a+8|0;if(!(d[c>>1]&9216)){b=a;f[b>>2]=e;f[b+4>>2]=g;d[c>>1]=4;return 0}else{bf(a,e,g);return 0}}default:{g=f[a+84>>2]|0;a=f[b>>2]|0;c=((g|0)<0)<<31>>31;e=a+8|0;if(!(d[e>>1]&9216)){b=a;f[b>>2]=g;f[b+4>>2]=c;d[e>>1]=4;return 0}else{bf(a,g,c);return 0}}}return 0}function hv(a,b){a=a|0;b=b|0;var c=0;c=a+96|0;a=f[c+4>>2]|0;f[b>>2]=f[c>>2];f[b+4>>2]=a;return 0}function iv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return mw(a,b,c,d,e,f)|0}function jv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return mw(a,b,c,d,e,f)|0}function kv(a,c){a=a|0;c=c|0;var d=0,e=0.0,g=0,h=0,i=0,j=0,k=0;i=f[c>>2]|0;do if((i|0)>0){j=f[c+4>>2]|0;h=0;g=-1;a=-1;d=-1;while(1){if((b[j+(h*12|0)+5>>0]|0)!=0?(f[j+(h*12|0)>>2]|0)==0:0){k=b[j+(h*12|0)+4>>0]|0;a=k<<24>>24==4|k<<24>>24==32?h:a;d=k<<24>>24==2?h:d;k=k<<24>>24==16|k<<24>>24==8?h:g}else k=g;h=h+1|0;if((h|0)>=(i|0))break;else g=k}if((d|0)>-1){f[(f[c+16>>2]|0)+(d<<3)>>2]=1;p[c+40>>3]=100.0;a=1;break}g=c+40|0;p[g>>3]=1.0e6;if((a|0)>-1){f[(f[c+16>>2]|0)+(a<<3)>>2]=1;p[g>>3]=5.0e5;d=2;a=2;e=25.0e4}else{d=1;a=0;e=5.0e5}if((k|0)>-1){f[(f[c+16>>2]|0)+(k<<3)>>2]=d;p[g>>3]=e;a=a|4}}else{p[c+40>>3]=1.0e6;a=0}while(0);if((f[c+8>>2]|0)!=1){c=c+20|0;f[c>>2]=a;return 0}d=f[c+12>>2]|0;if(f[d>>2]|0){c=c+20|0;f[c>>2]=a;return 0}if(b[d+4>>0]|0){c=c+20|0;f[c>>2]=a;return 0}f[c+32>>2]=1;c=c+20|0;f[c>>2]=a;return 0}function lv(a){a=a|0;var b=0;if(!a)return 0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function mv(a){a=a|0;var b=0;if(!a)return 0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function nv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+32|0;n=p+16|0;d=p;o=p+28|0;k=p+24|0;f[o>>2]=0;f[k>>2]=0;l=a+12|0;j=f[l>>2]|0;m=a+16|0;i=f[m>>2]|0;f[d>>2]=j;f[d+4>>2]=i;f[d+8>>2]=j;f[d+12>>2]=j;d=iw(o,67916,d)|0;do if(d){c=Ki(f[a+20>>2]|0,d,-1,128,0,k,0)|0;f[o>>2]=c;if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{j=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}else c=f[o>>2]|0;while(0);if((c|0)==1){f[o>>2]=0;c=0}d=f[k>>2]|0;j=d;if((d|0)!=0?(Ei(d)|0)==100:0){g=Jp(d,0)|0;h=ba()|0;e=f[(f[a+24>>2]|0)+44>>2]|0;i=e+16|0;if(!((f[i>>2]|0)==(g|0)?(f[i+4>>2]|0)==(h|0):0))do{e=f[e+4>>2]|0;i=e+16|0}while(!((f[i>>2]|0)==(g|0)?(f[i+4>>2]|0)==(h|0):0));i=f[e>>2]|0;h=f[i+16>>2]|0;i=f[i+12>>2]|0}else{h=0;i=0}e=(c|0)==0;do if((h|0)==0&e){c=Fi(d)|0;f[o>>2]=c;f[k>>2]=0;if(!c){d=f[l>>2]|0;f[n>>2]=f[m>>2];f[n+4>>2]=d;d=wd(67967,n)|0;f[a+8>>2]=d;f[o>>2]=1;d=0;c=1}else d=0}else if(e){c=i+12|0;e=(f[c>>2]<<4)+88|0;g=Fd(e)|0;if(!g){if((e|0)<=0){c=0;break}f[o>>2]=7;c=7;break}else{_A(g|0,0,e|0)|0;f[g+8>>2]=h;f[g+4>>2]=j;f[g+28>>2]=i;n=g+88|0;f[g+36>>2]=n;f[g+40>>2]=n+(f[c>>2]<<3);n=g;o=0;f[b>>2]=n;t=p;return o|0}}while(0);Fi(d)|0;n=0;o=c;f[b>>2]=n;t=p;return o|0}function ov(a){a=a|0;var b=0,c=0,d=0;Fv(a);b=a+56|0;c=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;Fi(f[a+4>>2]|0)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{d=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function pv(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=f[(f[a>>2]|0)+28>>2]|0;Fv(a);if(!(c&1)){l=0;e=0;m=0}else{m=f[h>>2]|0;l=m;e=1}if(!(c&2)){i=0;k=0}else{k=f[h+(e<<2)>>2]|0;i=k;e=e+1|0}if(!(c&4)){n=0;o=0}else{o=f[h+(e<<2)>>2]|0;n=o}do if(!l){do if(i){c=i+8|0;g=d[c>>1]|0;if((g&514)==514?(b[i+10>>0]|0)==1:0)e=f[i+16>>2]|0;else if(!(g&1)){e=Ic(i,1)|0;g=d[c>>1]|0}else e=0;if(g&2?(b[i+10>>0]|0)==1:0){c=f[i+12>>2]|0;break}g=g&65535;if(!(g&16)){if(g&1|0){c=0;break}c=_e(i,1)|0;break}else{c=f[i+12>>2]|0;if(!(g&16384))break;c=(f[k>>2]|0)+c|0;break}}else{c=0;e=0}while(0);if(n){h=n+8|0;g=d[h>>1]|0;if((g&514)==514?(b[n+10>>0]|0)==1:0)i=f[n+16>>2]|0;else if(!(g&1)){i=Ic(n,1)|0;g=d[h>>1]|0}else i=0;if((g&2)!=0?(b[n+10>>0]|0)==1:0)g=f[n+12>>2]|0;else p=44;do if((p|0)==44){h=g&65535;if(!(h&16)){if(h&1|0){g=0;break}g=_e(n,1)|0;break}else{g=f[n+12>>2]|0;if(!(h&16384))break;g=(f[o>>2]|0)+g|0;break}}while(0);h=a+20|0;f[h>>2]=g;g=Fd(g+1|0)|0;f[a+24>>2]=g;if(!g){a=7;return a|0}else{YA(g|0,i|0,(f[h>>2]|0)+1|0)|0;g=8;break}}else g=8}else{c=l+8|0;g=d[c>>1]|0;if((g&514)==514?(b[l+10>>0]|0)==1:0)e=f[l+16>>2]|0;else if(!(g&1)){e=Ic(l,1)|0;g=d[c>>1]|0}else e=0;if(g&2?(b[l+10>>0]|0)==1:0){g=0;c=f[l+12>>2]|0;break}g=g&65535;if(!(g&16)){if(g&1|0){g=0;c=0;break}g=0;c=_e(l,1)|0;break}else{c=f[l+12>>2]|0;if(!(g&16384)){g=0;break}g=0;c=(f[m>>2]|0)+c|0;break}}while(0);h=a+16|0;e=Gv(f[a+8>>2]|0,e,c,g,0,h)|0;g=(e|0)==0;m=(q|0)==2;do if(m&g){e=f[h>>2]|0;if(b[e+16>>0]|0){f[a+12>>2]=1;break}k=j[(f[e+72>>2]|0)+4>>1]|0;l=(f[e+80+(k*88|0)+64>>2]|0)+-1|0;k=(f[e+80+(k*88|0)+60>>2]|0)+1|0;e=f[a+20>>2]|0;do if((e|0)>-1){q=Hz(f[a+24>>2]|0,k,(l|0)<(e|0)?l:e)|0;if((q|0)>=0?!((e|0)<(l|0)&(q|0)==0):0)break;f[a+12>>2]=1}while(0);c=a+56|0;i=a+60|0;f[i>>2]=0;if(l|0){h=a+64|0;e=f[h>>2]|0;do if(e>>>0>>0){g=(e|0)==0?64:e;while(1)if(g>>>0>>0)g=g<<1;else break;e=f[c>>2]|0;if(Mc()|0){a=7;return a|0}e=Nc(e,(g|0)>0?g:0,0)|0;if(!e){a=7;return a|0}else{f[h>>2]=g;f[c>>2]=e;g=f[i>>2]|0;break}}else{e=f[c>>2]|0;g=0}while(0);YA(e+g|0,k|0,l|0)|0;f[i>>2]=(f[i>>2]|0)+l}}else if(!g){a=e;return a|0}while(0);if(f[a+12>>2]|0){a=0;return a|0}if(m?(f[(f[a+28>>2]|0)+48>>2]|0)==1:0){a=0;return a|0}a=qv(a)|0;return a|0}function qv(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=t;t=t+16|0;D=O;E=O+8|0;F=f[a>>2]|0;M=a+28|0;c=f[M>>2]|0;N=f[c+12>>2]|0;A=a+48|0;s=A;s=KA(f[s>>2]|0,f[s+4>>2]|0,1,0)|0;u=ba()|0;f[A>>2]=s;f[A+4>>2]=u;F=F+28|0;A=f[F>>2]|0;switch(A|0){case 2:{q=a+16|0;l=f[q>>2]|0;r=a+72|0;s=a+80|0;i=(f[c+48>>2]|0)==1;k=l+8|0;l=l+12|0;m=a+20|0;u=a+12|0;n=a+24|0;o=a+60|0;p=a+64|0;h=a+56|0;while(1){if(!i?(uv(f[k>>2]|0,f[l>>2]|0,s,r)|0)==0:0){C=0;p=94;break}c=r;f[c>>2]=0;f[c+4>>2]=0;f[s>>2]=0;c=f[q>>2]|0;d=c+24|0;g=f[d>>2]|0;vv(g,c,0,0,0);if(((f[g+36>>2]|0)==0?(w=c+80|0,x=j[(f[c+72>>2]|0)+4>>1]|0,y=w+(x*88|0)+12|0,z=f[y>>2]|0,z|0):0)?(b[f[w+(x*88|0)+60>>2]>>0]|0)!=48:0){if(!(f[9328]|0))ob[f[37360>>2]&127](z);else{g=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z)}f[y>>2]=0;b[c+16>>0]=1}g=(f[d>>2]|0)+36|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){v=c;p=30;break}c=f[q>>2]|0;do if(!(b[c+16>>0]|0)){e=j[(f[c+72>>2]|0)+4>>1]|0;g=(f[c+80+(e*88|0)+64>>2]|0)+-1|0;e=(f[c+80+(e*88|0)+60>>2]|0)+1|0;c=f[m>>2]|0;do if((c|0)>-1){d=Hz(f[n>>2]|0,e,(g|0)<(c|0)?g:c)|0;if((d|0)>=0?!((c|0)<(g|0)&(d|0)==0):0)break;f[u>>2]=1}while(0);f[o>>2]=0;if(!g)c=0;else{c=f[p>>2]|0;if(c>>>0>>0){d=(c|0)==0?64:c;while(1)if(d>>>0>>0)d=d<<1;else break;c=f[h>>2]|0;if(Mc()|0){c=7;break}c=Nc(c,(d|0)>0?d:0,0)|0;if(!c){c=7;break}f[p>>2]=d;f[h>>2]=c;d=f[o>>2]|0}else{c=f[h>>2]|0;d=0}YA(c+d|0,e|0,g|0)|0;f[o>>2]=(f[o>>2]|0)+g;c=0}}else{f[u>>2]=1;c=0}while(0);if(i|(f[u>>2]|0)!=0){C=c;p=94;break}if(c|0){v=c;p=30;break}}if((p|0)==30){f[u>>2]=1;a=v;t=O;return a|0}else if((p|0)==94){t=O;return C|0}break}case 0:{d=a+32|0;c=(f[d>>2]|0)+1|0;f[d>>2]=c;a:do if((c|0)<(N|0)){e=f[a+40>>2]|0;do{z=e+(c<<3)|0;if(!((f[z>>2]|0)==0&(f[z+4>>2]|0)==0))break a;c=c+1|0;f[d>>2]=c}while((c|0)<(N|0))}while(0);if((c|0)<(N|0))L=0;else p=36;break}default:p=36}do if((p|0)==36){o=a+16|0;c=f[o>>2]|0;if(b[c+16>>0]|0){f[a+12>>2]=1;L=A;break}g=j[(f[c+72>>2]|0)+4>>1]|0;h=(f[c+80+(g*88|0)+64>>2]|0)+-1|0;g=(f[c+80+(g*88|0)+60>>2]|0)+1|0;c=f[a+20>>2]|0;do if((c|0)>-1){A=Hz(f[a+24>>2]|0,g,(h|0)<(c|0)?h:c)|0;if((A|0)>=0?!((c|0)<(h|0)&(A|0)==0):0)break;f[a+12>>2]=1;a=0;t=O;return a|0}while(0);m=a+56|0;n=a+60|0;f[n>>2]=0;do if(!h)c=0;else{e=a+64|0;c=f[e>>2]|0;if(c>>>0>>0){d=(c|0)==0?64:c;while(1)if(d>>>0>>0)d=d<<1;else break;c=f[m>>2]|0;if(Mc()|0){c=7;break}c=Nc(c,(d|0)>0?d:0,0)|0;if(!c){c=7;break}f[e>>2]=d;f[m>>2]=c;d=f[n>>2]|0}else{c=f[m>>2]|0;d=0}YA(c+d|0,g|0,h|0)|0;f[n>>2]=(f[n>>2]|0)+h;c=0}while(0);k=a+36|0;A=N<<3;_A(f[k>>2]|0,0,A|0)|0;l=a+40|0;_A(f[l>>2]|0,0,A|0)|0;f[a+32>>2]=0;if(c|0){a=c;t=O;return a|0}i=((N|0)<0)<<31>>31;h=f[F>>2]|0;while(1){c=f[(f[M>>2]|0)+48>>2]|0;d=D;f[d>>2]=0;f[d+4>>2]=0;f[E>>2]=0;d=f[o>>2]|0;e=f[d+8>>2]|0;g=f[d+12>>2]|0;b:do switch(h|0){case 1:{if((c|0)==0?(uv(e,g,E,D)|0)==0:0)do{A=f[k>>2]|0;y=A;y=KA(f[y>>2]|0,f[y+4>>2]|0,1,0)|0;z=ba()|0;f[A>>2]=y;f[A+4>>2]=z}while(!(uv(e,g,E,D)|0));p=f[l>>2]|0;z=p;z=KA(f[z>>2]|0,f[z+4>>2]|0,1,0)|0;A=ba()|0;f[p>>2]=z;f[p+4>>2]=A;p=70;break}case 0:{switch(c|0){case 0:{if(uv(e,g,E,D)|0){p=70;break b}c=-1;while(1){d=f[D+4>>2]|0;A=(f[k>>2]|0)+(d<<3)|0;y=A;y=KA(f[y>>2]|0,f[y+4>>2]|0,1,0)|0;z=ba()|0;f[A>>2]=y;f[A+4>>2]=z;if((c|0)!=(d|0)){if((N|0)<=(d|0)){B=267;break b}c=(f[l>>2]|0)+(d<<3)|0;z=c;z=KA(f[z>>2]|0,f[z+4>>2]|0,1,0)|0;A=ba()|0;f[c>>2]=z;f[c+4>>2]=A;c=d}if(uv(e,g,E,D)|0){p=70;break}}break}case 2:{if(uv(e,g,E,D)|0){p=70;break b}while(1){A=D;c=f[A>>2]|0;A=f[A+4>>2]|0;if(!((A|0)<(i|0)|(A|0)==(i|0)&c>>>0>>0)){B=267;break b}A=(f[l>>2]|0)+(c<<3)|0;y=A;y=KA(f[y>>2]|0,f[y+4>>2]|0,1,0)|0;z=ba()|0;f[A>>2]=y;f[A+4>>2]=z;if(uv(e,g,E,D)|0){p=70;break}}break}default:{G=f[l>>2]|0;A=G;A=KA(f[A>>2]|0,f[A+4>>2]|0,1,0)|0;p=ba()|0;f[G>>2]=A;f[G+4>>2]=p;G=d;p=71;break b}}break}default:{G=d;p=71}}while(0);if((p|0)==70){G=f[o>>2]|0;p=71}if((p|0)==71){p=0;c=G+24|0;B=f[c>>2]|0;vv(B,G,0,0,0);if(((f[B+36>>2]|0)==0?(H=G+80|0,I=j[(f[G+72>>2]|0)+4>>1]|0,J=H+(I*88|0)+12|0,K=f[J>>2]|0,K|0):0)?(b[f[H+(I*88|0)+60>>2]>>0]|0)!=48:0){if(!(f[9328]|0))ob[f[37360>>2]&127](K);else{B=ib[f[37368>>2]&255](K)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](K)}f[J>>2]=0;b[G+16>>0]=1}A=(f[c>>2]|0)+36|0;B=f[A>>2]|0;f[A>>2]=0}h=f[F>>2]|0;if((h|0)==2){p=87;break}c=(B|0)==0;if(!c){p=93;break}d=f[o>>2]|0;e=j[(f[d+72>>2]|0)+4>>1]|0;g=(f[d+80+(e*88|0)+64>>2]|0)+-1|0;if((g|0)!=(f[n>>2]|0)){p=86;break}if(Hz((f[d+80+(e*88|0)+60>>2]|0)+1|0,f[m>>2]|0,g)|0){p=86;break}if(b[d+16>>0]|0){p=86;break}if(!c){C=B;p=94;break}}if((p|0)==86){L=h;break}else if((p|0)==87){if(!B){L=2;break}else C=B;t=O;return C|0}else if((p|0)==93){a=B;t=O;return a|0}else if((p|0)==94){t=O;return C|0}}while(0);if(f[a+12>>2]|L|0){a=0;t=O;return a|0}e=f[a+40>>2]|0;d=a+32|0;c=f[d>>2]|0;a=e+(c<<3)|0;if(!((f[a>>2]|0)==0&(f[a+4>>2]|0)==0)){a=0;t=O;return a|0}do{c=c+1|0;a=e+(c<<3)|0}while((f[a>>2]|0)==0&(f[a+4>>2]|0)==0);f[d>>2]=c;a=0;t=O;return a|0}function rv(a){a=a|0;return f[a+12>>2]|0}function sv(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0;g=f[a+28>>2]|0;e=f[g+48>>2]|0;if(!c){if(($e(f[b>>2]|0,f[a+56>>2]|0,f[a+60>>2]|0,1,-1)|0)!=18)return 0;f[b+20>>2]=18;$e(f[b>>2]|0,41612,-1,1,0)|0;return 0}a:do switch(f[(f[a>>2]|0)+28>>2]|0){case 0:switch(c|0){case 1:{if((e|0)==1)return 0;if(($e(f[b>>2]|0,f[(f[g+16>>2]|0)+(f[a+32>>2]<<2)>>2]|0,-1,1,0)|0)!=18)return 0;f[b+20>>2]=18;$e(f[b>>2]|0,41612,-1,1,0)|0;return 0}case 2:{c=(f[a+40>>2]|0)+(f[a+32>>2]<<3)|0;break a}default:{c=(f[a+36>>2]|0)+(f[a+32>>2]<<3)|0;break a}}case 1:if((c|0)==1){c=f[a+40>>2]|0;break a}else{c=f[a+36>>2]|0;break a}default:switch(c|0){case 1:{g=f[a+16>>2]|0;a=f[g>>2]|0;g=f[g+4>>2]|0;c=f[b>>2]|0;e=c+8|0;if(!(d[e>>1]&9216)){b=c;f[b>>2]=a;f[b+4>>2]=g;d[e>>1]=4;return 0}else{bf(c,a,g);return 0}}case 2:{switch(e|0){case 0:{c=f[a+72+4>>2]|0;break}case 2:{c=f[a+72>>2]|0;break}default:return 0}if((c|0)<=-1)return 0;if((c|0)>=(f[g+12>>2]|0))return 0;if(($e(f[b>>2]|0,f[(f[g+16>>2]|0)+(c<<2)>>2]|0,-1,1,0)|0)!=18)return 0;f[b+20>>2]=18;$e(f[b>>2]|0,41612,-1,1,0)|0;return 0}default:{if(e|0)return 0;g=f[b>>2]|0;c=UA(0,f[a+72>>2]|0,32)|0;e=ba()|0;a=g+8|0;if(!(d[a>>1]&9216)){b=g;f[b>>2]=c;f[b+4>>2]=e;d[a>>1]=4;return 0}else{bf(g,c,e);return 0}}}}while(0);g=c;a=f[g>>2]|0;g=f[g+4>>2]|0;if(!((g|0)>0|(g|0)==0&a>>>0>0))return 0;c=f[b>>2]|0;e=c+8|0;if(!(d[e>>1]&9216)){b=c;f[b>>2]=a;f[b+4>>2]=g;d[e>>1]=4;return 0}else{bf(c,a,g);return 0}return 0}function tv(a,b){a=a|0;b=b|0;var c=0;c=a+48|0;a=f[c+4>>2]|0;f[b>>2]=f[c>>2];f[b+4>>2]=a;return 0}function uv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;m=n;l=f[c>>2]|0;if((l|0)>=(b|0)){f[d>>2]=-1;f[d+4>>2]=-1;d=1;t=n;return d|0}b=d;g=f[b>>2]|0;b=f[b+4>>2]|0;i=a+l|0;e=h[i>>0]|0;do if(e&128){j=h[i+1>>0]|0;if(!(j&128)){e=e<<7&16256|j;i=2;break}k=h[i+2>>0]|0;if(!(k&128)){e=(e<<14|k)&2080895|j<<7&16256;i=3;break}else{i=yv(i,m)|0;e=f[m>>2]|0;i=i&255;break}}else i=1;while(0);j=i+l|0;if((e|0)==1){e=a+j|0;b=h[e>>0]|0;do if(b&128){g=h[e+1>>0]|0;if(!(g&128)){b=b<<7&16256|g;e=2;break}i=h[e+2>>0]|0;if(!(i&128)){b=(b<<14|i)&2080895|g<<7&16256;e=3;break}else{e=yv(e,m)|0;b=f[m>>2]|0;e=e&255;break}}else e=1;while(0);k=e+j|0;g=a+k|0;e=h[g>>0]|0;if(!(e&128)){i=k+1|0;g=0}else{i=h[g+1>>0]|0;do if(i&128){j=h[g+2>>0]|0;if(!(j&128)){g=3;e=(e<<14|j)&2080895|i<<7&16256;break}else{g=yv(g,m)|0;g=g&255;e=f[m>>2]|0;break}}else{g=2;e=e<<7&16256|i}while(0);i=g+k|0;g=0}}else i=j;a=e+-2|0;a=KA(g|0,b|0,a|0,((a|0)<0)<<31>>31|0)|0;m=ba()|0;f[d>>2]=a;f[d+4>>2]=m;f[c>>2]=i;d=0;t=n;return d|0}function vv(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=t;t=t+16|0;G=J;H=J+8|0;I=a+36|0;if(f[I>>2]|0){t=J;return}z=c+72|0;A=c+52|0;B=c+60|0;C=c+64|0;D=c+16|0;y=c+56|0;E=c+80|0;e=(e|0)==0;while(1){s=j[(f[z>>2]|0)+4>>1]|0;f[H>>2]=0;u=c+80+(s*88|0)|0;a:do if(!e?(F=f[c+80+(s*88|0)+56>>2]|0,(F|0)!=0):0){o=c+80+(s*88|0)+8|0;r=(f[c+80+(s*88|0)+4>>2]&2|0)==0;m=F+16|0;l=F+32|0;do if(r){k=F+24|0;e=f[o>>2]|0;do{if(f[m>>2]|0)break;w=l;v=f[w+4>>2]|0;if(!((v|0)<(i|0)|((v|0)==(i|0)?(f[w>>2]|0)>>>0>>0:0)))break;e=f[k>>2]|0;wv(a,F,0)}while((f[I>>2]|0)==0);if((e|0)>(f[o>>2]|0)){if((f[(f[u>>2]|0)+8>>2]|0)<(e|0)){f[I>>2]=267;e=0;break}n=c+80+(s*88|0)+16|0;k=f[n>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{w=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[n>>2]=0;f[o>>2]=e+-1;m=f[u>>2]|0;q=c+80+(s*88|0)+12|0;e=f[q>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{w=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);e=f[o>>2]|0;l=e+1|0;f[o>>2]=l;k=f[n>>2]|0;b:do if(!k){if((e|0)>=(f[m+8>>2]|0)){f[q>>2]=0;break}k=WA(f[m>>2]|0,0,37)|0;k=KA(k|0,ba()|0,l|0,((l|0)<0)<<31>>31|0)|0;k=xv(a,k,ba()|0)|0;do if(k|0){e=f[k+8>>2]|0;l=f[k+4>>2]|0;if((e|0)<=(l|0)){f[q>>2]=k;x=33;break b}f[I>>2]=267;if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{w=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-w;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);f[q>>2]=0}else{f[q>>2]=k;f[n>>2]=0;e=f[k+8>>2]|0;l=f[k+4>>2]|0;x=33}while(0);do if((x|0)==33){p=c+80+(s*88|0)+36|0;f[p>>2]=e;if((e|0)>=(l|0)){f[c+80+(s*88|0)+40>>2]=l+1;break}k=(f[k>>2]|0)+e|0;l=c+80+(s*88|0)+40|0;m=h[k>>0]|0;do if(m&128){n=h[k+1>>0]|0;if(!(n&128)){f[l>>2]=m<<7&16256|n;k=2;break}o=h[k+2>>0]|0;if(!(o&128)){f[l>>2]=(m<<14|o)&2080895|n<<7&16256;k=3;break}else{k=yv(k,G)|0;f[l>>2]=f[G>>2];k=k&255;e=f[p>>2]|0;break}}else{f[l>>2]=m;k=1}while(0);f[p>>2]=k+e}while(0);if(!(f[I>>2]|0)){x=f[q>>2]|0;e=f[x>>2]|0;k=h[e>>0]<<8|h[e+1>>0];if((k&65535)>3?(f[x+8>>2]|0)>(k|0):0){e=k+((yv(e+k|0,c+80+(s*88|0)+72|0)|0)&255)|0;f[c+80+(s*88|0)+20>>2]=e;zv(a,u);e=0;break}else{f[I>>2]=267;e=0;break}}else e=0}else e=1}else{do{if(f[m>>2]|0)break;x=l;w=f[x+4>>2]|0;if(!((w|0)>(i|0)|((w|0)==(i|0)?(f[x>>2]|0)>>>0>g>>>0:0)))break;Av(a,F,0)}while(!(f[I>>2]|0));e=f[F+24>>2]|0;if((e|0)<(f[o>>2]|0)){f[o>>2]=e+1;Bv(a,u);e=0}else e=1}while(0);k=c+80+(s*88|0)+12|0;l=c+80+(s*88|0)+72|0;m=c+80+(s*88|0)+24|0;if(r)while(1){if(e|0?(f[I>>2]|0)==0:0)qb[f[m>>2]&255](a,u,0);e=f[k>>2]|0;if(!e){x=69;break a}x=l;w=f[x+4>>2]|0;if(!((w|0)<(i|0)|((w|0)==(i|0)?(f[x>>2]|0)>>>0>>0:0))){x=68;break a}if(!(f[I>>2]|0))e=1;else{x=68;break}}else while(1){if(e|0?(f[I>>2]|0)==0:0)qb[f[m>>2]&255](a,u,0);e=f[k>>2]|0;if(!e){x=69;break a}x=l;w=f[x+4>>2]|0;if(!((w|0)>(i|0)|((w|0)==(i|0)?(f[x>>2]|0)>>>0>g>>>0:0))){x=68;break a}if(!(f[I>>2]|0))e=1;else{x=68;break}}}else x=67;while(0);if((x|0)==67){qb[f[c+80+(s*88|0)+24>>2]&255](a,u,H);e=f[c+80+(s*88|0)+12>>2]|0;x=68}c:do if((x|0)==68){x=0;if(!((e|0)==0|(f[H>>2]|0)!=0)){k=c+80+(s*88|0)+72|0;e=f[k>>2]|0;k=f[k+4>>2]|0;m=C;l=f[m>>2]|0;m=f[m+4>>2]|0;if(!((e|0)==(l|0)&(k|0)==(m|0))){e=((k|0)<(m|0)|(k|0)==(m|0)&e>>>0>>0)&1;if((f[y>>2]|0)==(e|0))v=e;else{e=u;break}}else v=f[y>>2]|0;k=(v|0)==0;q=k?-1:0;k=k?2147483647:-2147483648;e=C;f[e>>2]=q;f[e+4>>2]=k;e=(f[A>>2]|0)+s|0;w=f[z>>2]|0;s=c+80+((s^1)*88|0)|0;r=e;p=u;d:while(1){u=(r|0)/2|0;do if(b[w+(u<<2)+2>>0]|0){m=p+72|0;l=f[m>>2]|0;m=f[m+4>>2]|0;o=s+72|0;n=f[o>>2]|0;o=f[o+4>>2]|0;if(!((l|0)==(n|0)&(m|0)==(o|0))){if((v|0)==(((o|0)>(m|0)|(o|0)==(m|0)&n>>>0>l>>>0)&1|0)){m=C;f[m>>2]=n;f[m+4>>2]=o;m=s;k=o;x=80;break}if((v|0)==(((o|0)>(k|0)|(o|0)==(k|0)&n>>>0>q>>>0)&1|0)){m=C;f[m>>2]=n;f[m+4>>2]=o;m=p;k=o;x=80}else{m=p;n=q;x=80}}else{o=1;l=s;m=p;n=q}}else{m=p;n=q;x=80}while(0);if((x|0)==80){x=0;d[w+(u<<2)>>1]=(m-E|0)/88|0;if((r&-2|0)==2){o=2;l=s}else{o=0;l=c+80+((j[w+((u^1)<<2)>>1]|0)*88|0)|0}}switch(o&3){case 2:{e=m;break c}case 0:{s=l;r=u;p=m;q=n;break}default:break d}}if(!o)e=m;else x=84}else x=69}while(0);if((x|0)==69){e=(f[A>>2]|0)+s|0;x=84}if((x|0)==84){x=0;e:do if((e|0)>=2)do{e=e>>>1;if(f[I>>2]|0)break e;k=Cv(c,e)|0;if(k){qb[f[c+80+(k*88|0)+24>>2]&255](a,c+80+(k*88|0)|0,0);e=(f[A>>2]|0)+k|0}}while((e|0)>=2);while(0);e=j[(f[z>>2]|0)+4>>1]|0;w=(f[c+80+(e*88|0)+12>>2]|0)==0;b[D>>0]=w&1;s=c+80+(e*88|0)+72|0;u=f[s+4>>2]|0;v=C;f[v>>2]=f[s>>2];f[v+4>>2]=u;if(w)break;else e=c+80+(e*88|0)|0}if(!(b[B>>0]|0)){x=93;break}if(f[e+80>>2]|0){x=93;break}if(!(f[I>>2]|0))e=1;else{x=96;break}}if((x|0)==93)pb[f[c+48>>2]&127](c,e);else if((x|0)==96){t=J;return}t=J;return}function wv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=b+8+(c<<5)|0;if(!(Ev(e)|0))return;d=c+1|0;if((d|0)>=(f[b>>2]|0))return;wv(a,b,d);if(f[e+40>>2]|0)return;d=f[e>>2]|0;do if(d|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{g=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[e+28>>2]=0;b=WA(f[b+4>>2]|0,0,37)|0;g=ba()|0|16;h=WA(c|0,((c|0)<0)<<31>>31|0,31)|0;d=ba()|0;c=f[e+48>>2]|0;c=KA(h|0,d|0,c|0,((c|0)<0)<<31>>31|0)|0;g=KA(c|0,ba()|0,b|0,g|0)|0;g=xv(a,g,ba()|0)|0;f[e>>2]=g;if(!g)return;Ev(e)|0;return}function xv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;k=a+36|0;if(f[k>>2]|0){k=0;return k|0}i=a+40|0;d=f[i>>2]|0;if(d){f[i>>2]=0;g=aq(d,b,c)|0;f[i>>2]=d;if(!g)j=18;else{f[i>>2]=0;e=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;do if(e){if(f[e+480>>2]|0){Kc(e,d);break}l=d;if((f[e+304>>2]|0)>>>0<=l>>>0?(f[e+308>>2]|0)>>>0>l>>>0:0){l=e+300|0;f[d>>2]=f[l>>2];f[l>>2]=d}else j=10}else j=10;while(0);do if((j|0)==10)if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{l=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}while(0);d=(g|0)==4?0:g;e=(f[i>>2]|0)==0;j=14}}else{d=0;e=1;j=14}a:do if((j|0)==14){if((d|0)==0&e){d=f[a>>2]|0;d=Wp(f[d>>2]|0,f[d+4>>2]|0,f[a+4>>2]|0,64237,b,c,0,i)|0}switch(d|0){case 1:{e=0;d=267;break a}case 0:{d=f[i>>2]|0;if(!d){d=0;j=20;break a}else{j=18;break a}}default:{e=0;break a}}}while(0);if((j|0)==18)if(!(f[d+16>>2]|0)){d=0;j=20}else{d=f[d>>2]|0;j=20}do if((j|0)==20){e=Fd(d+32|0)|0;if(e){f[e+4>>2]=d;l=e+12|0;f[e>>2]=l;d=Zp(f[i>>2]|0,l,d,0,89)|0;if(!d){d=f[e>>2]|0;f[e+8>>2]=(h[d+2>>0]|0)<<8|(h[d+3>>0]|0);d=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);e=0;break}else{l=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);e=0;break}}else{e=0;d=7}}while(0);f[k>>2]=d;l=a+64|0;f[l>>2]=(f[l>>2]|0)+1;l=e;return l|0}function yv(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;d=b[a>>0]|0;e=d&255;do if(e&128){d=h[a+1>>0]|0;if(!(d&128)){l=2;j=0;d=e<<7&16256|d;break}l=h[a+2>>0]|0;e=(e<<14|l)&2080895;if(!(l&128)){l=3;j=0;d=e|d<<7&16256;break}l=h[a+3>>0]|0;d=(d<<14|l)&2080895;if(!(l&128)){l=4;j=0;d=d|e<<7;break}k=b[a+4>>0]|0;l=k&255;g=e<<14|l;if(!(l&128)){l=5;j=e>>>18;d=g|d<<7;break}j=d|e<<7;l=h[a+5>>0]|0;i=d<<14|l;if(!(l&128)){l=6;j=j>>>18;d=i|g<<7&266354560;break}l=h[a+6>>0]|0;d=g<<14|l;if(!(l&128)){l=7;j=j>>>11;d=d&-266354561|i<<7&266354560;break}e=d&2080895;l=h[a+7>>0]|0;d=i<<14|l;if(!(l&128)){l=8;j=j>>>4;d=d&-266354561|e<<7;break}else{l=9;j=(k&120)>>>3|j<<4;d=d<<8&532709120|e<<15|(h[a+8>>0]|0);break}}else{l=1;j=0;d=d&255}while(0);f[c>>2]=d;f[c+4>>2]=j;return l|0}function zv(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+16|0;i=m;if(f[a+36>>2]|0){t=m;return}l=c+20|0;k=f[l>>2]|0;do if((f[(f[a>>2]|0)+48>>2]|0)==1){d=f[c+40>>2]|0;a=f[c+12>>2]|0;g=f[a+8>>2]|0;g=(d|0)<(g|0)?d:g;d=c+84|0;b[d>>0]=0;e=c+80|0;f[e>>2]=1;if((k|0)<(g|0)?(j=f[a>>2]|0,(b[j+k>>0]|0)==0):0){b[d>>0]=1;a=k+1|0;if((a|0)<(g|0)?(b[j+a>>0]|0)==0:0){f[e>>2]=1;a=k+2|0;break}f[e>>2]=0}else a=k}else{d=(f[f[c+12>>2]>>2]|0)+k|0;a=h[d>>0]|0;do if(a&128){e=h[d+1>>0]|0;if(!(e&128)){a=a<<7&16256|e;d=2;break}g=h[d+2>>0]|0;if(!(g&128)){a=(a<<14|g)&2080895|e<<7&16256;d=3;break}else{d=yv(d,i)|0;a=f[i>>2]|0;d=d&255;break}}else d=1;while(0);b[c+84>>0]=a&1;f[c+80>>2]=a>>1;a=d+k|0}while(0);f[l>>2]=a;t=m;return}function Av(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=t;t=t+16|0;j=q;p=c+8+(d<<5)|0;o=c+8+(d<<5)+4|0;e=f[o>>2]|0;m=c+8+(d<<5)+12|0;if((e|0)>(f[m>>2]|0)){n=f[f[p>>2]>>2]|0;i=(e|0)>9?e+-9|0:0;g=e+-1|0;a:do if((g|0)>(i|0)){h=g;while(1){if((b[n+(e+-2)>>0]|0)>-1){g=h;break a}g=h+-1|0;if((g|0)>(i|0)){e=h;h=g}else{e=h;break}}}while(0);yv(n+g|0,j)|0;h=j;k=c+8+(d<<5)+24|0;l=k;h=LA(f[l>>2]|0,f[l+4>>2]|0,f[h>>2]|0,f[h+4>>2]|0)|0;l=ba()|0;f[k>>2]=h;f[k+4>>2]=l;k=c+8+(d<<5)+16|0;l=(f[k>>2]|0)+-1|0;f[k>>2]=l;h=e+-2|0;j=f[m>>2]|0;b:do if((h|0)>=(j|0)){e=0;while(1){i=b[n+h>>0]|0;if(i<<24>>24)break;e=e+1|0;if((h|0)>(j|0))h=h+-1|0;else break b}if(i<<24>>24<0){m=h+-8|0;if(((((((((m|0)>=(j|0)?(b[n+(h+-1)>>0]|0)<0:0)?(b[n+(h+-2)>>0]|0)<0:0)?(b[n+(h+-3)>>0]|0)<0:0)?(b[n+(h+-4)>>0]|0)<0:0)?(b[n+(h+-5)>>0]|0)<0:0)?(b[n+(h+-6)>>0]|0)<0:0)?(b[n+(h+-7)>>0]|0)<0:0)?(b[n+m>>0]|0)<0:0)break;e=e+-1|0}}else e=0;while(0);f[k>>2]=l-e;f[o>>2]=g-e;if(!(f[c+8+(d<<5)+8>>2]|0)){t=q;return}}else f[c+8+(d<<5)+8>>2]=1;e=d+1|0;if((e|0)>=(f[c>>2]|0)){t=q;return}Av(a,c,e);if(f[p+40>>2]|0){t=q;return}e=f[p>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{o=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;n=WA(f[c+4>>2]|0,0,37)|0;o=ba()|0|16;k=WA(d|0,((d|0)<0)<<31>>31|0,31)|0;l=ba()|0;m=f[p+48>>2]|0;m=KA(k|0,l|0,m|0,((m|0)<0)<<31>>31|0)|0;o=KA(m|0,ba()|0,n|0,o|0)|0;a=xv(a,o,ba()|0)|0;f[p>>2]=a;if(!a){t=q;return}do{}while(!(Ev(p)|0));f[c+8+(d<<5)+8>>2]=0;t=q;return}function Bv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;l=b+12|0;c=f[l>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{k=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[l>>2]=0;e=a+36|0;if(f[e>>2]|0)return;g=b+8|0;i=b+28|0;j=b+32|0;a:do{c=f[g>>2]|0;if((c|0)<=(f[i>>2]|0))break;k=c+-1|0;f[g>>2]=k;d=WA(f[f[b>>2]>>2]|0,0,37)|0;k=KA(d|0,ba()|0,k|0,((k|0)<0)<<31>>31|0)|0;k=xv(a,k,ba()|0)|0;do if(k|0){if((f[g>>2]|0)==(f[i>>2]|0)){c=f[j>>2]|0;if((c|0)<(f[k+8>>2]|0)){m=11;break a}}else{c=f[k>>2]|0;c=(h[c>>0]|0)<<8|(h[c+1>>0]|0);if(c|0){m=13;break a}}d=f[l>>2]|0;if(d|0){m=15;break a}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{d=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0)}while(!(f[e>>2]|0));if((m|0)==11){f[l>>2]=k;e=b+20|0;f[e>>2]=c;d=k;m=16}else if((m|0)==13){e=b+20|0;f[l>>2]=k;f[e>>2]=c;d=k;m=16}else if((m|0)==15){c=b+20|0;e=c;c=f[c>>2]|0;m=16}if((m|0)==16){m=(yv((f[d>>2]|0)+c|0,b+72|0)|0)&255;f[e>>2]=(f[e>>2]|0)+m}c=f[l>>2]|0;if(!c)return;f[b+40>>2]=(f[c+4>>2]|0)+1;Dv(a,b);return}function Cv(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0;m=f[a+72>>2]|0;e=(f[a+52>>2]|0)/2|0;if((e|0)>(c|0)){l=c<<1;e=j[m+(l<<2)>>1]|0;l=j[m+((l|1)<<2)>>1]|0}else{l=c-e<<1;e=l;l=l|1}h=m+(c<<2)+2|0;b[h>>0]=0;if(f[a+80+(e*88|0)+12>>2]|0){if(f[a+80+(l*88|0)+12>>2]|0){i=f[a+80+(e*88|0)+64>>2]|0;k=f[a+80+(l*88|0)+64>>2]|0;g=Hz(f[a+80+(e*88|0)+60>>2]|0,f[a+80+(l*88|0)+60>>2]|0,(i|0)<(k|0)?i:k)|0;g=(g|0)==0?i-k|0:g;do if(!g){b[h>>0]=1;h=a+80+(e*88|0)+72|0;g=f[h>>2]|0;h=f[h+4>>2]|0;k=a+80+(l*88|0)+72|0;i=f[k>>2]|0;k=f[k+4>>2]|0;if(!((g|0)==(i|0)&(h|0)==(k|0))){g=(f[a+56>>2]|0)==(((h|0)>(k|0)|(h|0)==(k|0)&g>>>0>i>>>0)&1|0)?-1:1;break}b[a+80+(e*88|0)+84>>0]=b[a+80+(l*88|0)+84>>0]|0;m=l;return m|0}while(0);e=(g|0)<0?e:l}}else e=l;d[m+(c<<2)>>1]=e;m=0;return m|0}function Dv(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+16|0;l=u+8|0;r=u;n=f[c+12>>2]|0;s=f[n+8>>2]|0;m=c+20|0;e=f[m>>2]|0;n=f[n>>2]|0;o=f[c+40>>2]|0;s=(s|0)>(o|0)?o:s;o=c+72|0;p=c+48|0;q=c+52|0;a:do if((f[(f[a>>2]|0)+48>>2]|0)==1){d=0;while(1){l=r;f[l>>2]=0;f[l+4>>2]=0;if((e|0)<(s|0)?(b[n+e>>0]|0)==0:0){g=e+1|0;if((g|0)<(s|0))e=(b[n+g>>0]|0)==0?e+2|0:g;else e=g}if((e|0)>=(s|0))break;e=e+((yv(n+e|0,r)|0)&255)|0;k=r;l=o;k=KA(f[l>>2]|0,f[l+4>>2]|0,f[k>>2]|0,f[k+4>>2]|0)|0;l=ba()|0;g=o;f[g>>2]=k;f[g+4>>2]=l;g=f[p>>2]|0;if((d|0)<(g|0))g=f[q>>2]|0;else{j=g+8|0;g=f[q>>2]|0;i=j<<2;if(Mc()|0)break a;g=Nc(g,(i|0)>0?i:0,0)|0;if(!g)break a;f[q>>2]=g;f[p>>2]=j}f[g+(d<<2)>>2]=f[m>>2];f[m>>2]=e;d=d+1|0}s=c+44|0;f[s>>2]=d;zv(a,c);t=u;return}else{d=0;while(1){i=r;f[i>>2]=0;f[i+4>>2]=0;i=n+e|0;g=h[i>>0]|0;do if(g&128){j=h[i+1>>0]|0;if(!(j&128)){i=2;g=g<<7&16256|j;break}k=h[i+2>>0]|0;if(!(k&128)){i=3;g=(g<<14|k)&2080895|j<<7&16256;break}else{i=yv(i,l)|0;i=i&255;g=f[l>>2]|0;break}}else i=1;while(0);e=i+e+((g|0)/2|0)|0;if((e|0)>=(s|0))break;e=e+((yv(n+e|0,r)|0)&255)|0;j=r;k=o;j=KA(f[k>>2]|0,f[k+4>>2]|0,f[j>>2]|0,f[j+4>>2]|0)|0;k=ba()|0;g=o;f[g>>2]=j;f[g+4>>2]=k;g=f[p>>2]|0;if((d|0)<(g|0))g=f[q>>2]|0;else{j=g+8|0;g=f[q>>2]|0;i=j<<2;if(Mc()|0)break a;g=Nc(g,(i|0)>0?i:0,0)|0;if(!g)break a;f[q>>2]=g;f[p>>2]=j}f[g+(d<<2)>>2]=f[m>>2];f[m>>2]=e;d=d+1|0}s=c+44|0;f[s>>2]=d;zv(a,c);t=u;return}while(0);f[a+36>>2]=7;r=d;s=c+44|0;f[s>>2]=r;zv(a,c);t=u;return}function Ev(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;l=n;k=f[a>>2]|0;m=a+4|0;e=f[m>>2]|0;if(e|0){g=f[k+4>>2]|0;a:do if((e|0)<(g|0)){d=f[k>>2]|0;c=e;while(1){if(b[d+c>>0]|0)break;c=c+1|0;if((c|0)>=(g|0))break a}k=a+16|0;f[k>>2]=1-e+c+(f[k>>2]|0);k=c+((yv(d+c|0,l)|0)&255)|0;i=l;l=a+24|0;j=l;i=KA(f[j>>2]|0,f[j+4>>2]|0,f[i>>2]|0,f[i+4>>2]|0)|0;j=ba()|0;f[l>>2]=i;f[l+4>>2]=j;f[m>>2]=k;m=a+8|0;m=f[m>>2]|0;t=n;return m|0}while(0);f[a+8>>2]=1;m=a+8|0;m=f[m>>2]|0;t=n;return m|0}f[m>>2]=1;c=f[k>>2]|0;i=c+1|0;j=a+16|0;d=h[i>>0]|0;do if(d&128){e=h[c+2>>0]|0;if(!(e&128)){f[j>>2]=d<<7&16256|e;d=2;e=1;break}g=h[c+3>>0]|0;if(!(g&128)){f[j>>2]=(d<<14|g)&2080895|e<<7&16256;d=3;e=1;break}else{d=yv(i,l)|0;f[j>>2]=f[l>>2];d=d&255;e=f[m>>2]|0;c=f[k>>2]|0;break}}else{f[j>>2]=d;d=1;e=1}while(0);l=e+d|0;f[m>>2]=l;l=(yv(c+l|0,a+24|0)|0)&255;l=(f[m>>2]|0)+l|0;f[m>>2]=l;f[a+12>>2]=l;m=a+8|0;m=f[m>>2]|0;t=n;return m|0}function Fv(a){a=a|0;var b=0,c=0,d=0,e=0;e=a+48|0;f[e>>2]=0;f[e+4>>2]=0;e=a+16|0;c=f[e>>2]|0;do if(c|0?(b=f[c+24>>2]|0,Tv(c),b=b+40|0,d=f[b>>2]|0,d|0):0){f[b>>2]=0;b=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;if(b|0){if(f[b+480>>2]|0){Kc(b,d);break}c=d;if((f[b+304>>2]|0)>>>0<=c>>>0?(f[b+308>>2]|0)>>>0>c>>>0:0){c=b+300|0;f[d>>2]=f[c>>2];f[c>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{c=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);f[e>>2]=0;b=a+24|0;c=f[b>>2]|0;if(!c){a=a+20|0;f[a>>2]=-1;f[b>>2]=0;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);a=a+20|0;f[a>>2]=-1;f[b>>2]=0;return}else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);a=a+20|0;f[a>>2]=-1;f[b>>2]=0;return}}function Gv(a,c,e,g,i,k){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=t;t=t+32|0;O=W+20|0;p=W+16|0;R=W+4|0;T=W;o=f[a>>2]|0;f[T>>2]=0;V=a+36|0;P=e+1|0;do if(!P){l=0;Q=8}else{m=64;while(1)if(m>>>0

>>0)m=m<<1;else break;if((Mc()|0)==0?(l=Nc(0,(m|0)>0?m:0,0)|0,l|0):0)if(!e){U=l;break}else{Q=8;break}f[V>>2]=7;k=f[V>>2]|0;f[V>>2]=0;t=W;return k|0}while(0);if((Q|0)==8){YA(l+1|0,c|0,e|0)|0;U=l}a:do if(g&1){if((e|0)>0){m=0;l=0;do{n=l+1|0;b:do if((n|0)<(e|0)?(h[c+l>>0]|0)>191:0){l=n;do{if((b[c+l>>0]&-64)<<24>>24!=-128)break b;l=l+1|0}while((l|0)<(e|0))}else l=n;while(0);m=m+1|0}while((l|0)<(e|0))}else m=0;l=f[o+24>>2]|0;if((l|0)<1)n=1;else{c=f[o+28>>2]|0;n=1;while(1){if((f[c+(n+-1<<2)>>2]|0)==(m|0))break a;o=n+1|0;if((n|0)<(l|0))n=o;else{n=o;break}}}}else{n=0;l=f[o+24>>2]|0}while(0);c:do if((n|0)>(l|0)){N=g>>>1&1;b[U>>0]=48;K=(f[(f[a>>2]|0)+48>>2]|0)==1;J=K?68:69;K=K?202:203;d:do if(!(f[V>>2]|0)){do if(!(Mc()|0)){if(!(f[9328]|0)){l=ib[f[37356>>2]&255](384)|0;if(!l)break}else{l=ib[f[37372>>2]&255](384)|0;if((f[18194]|0)>>>0<384)f[18194]=384;n=71896;m=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&m>>>0>0){M=f[18187]|0;L=LA(m|0,n|0,l|0,((l|0)<0)<<31>>31|0)|0;I=ba()|0;f[17976]=((I|0)<0|(I|0)==0&L>>>0<=M>>>0)&1}l=ib[f[37356>>2]&255](l)|0;if(!l)break;m=ib[f[37368>>2]&255](l)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0>(f[18196]|0)>>>0)f[18196]=m}_A(l|0,0,384)|0;L=l;break d}while(0);f[V>>2]=7;L=0}else L=0;while(0);M=Hv(a)|0;if((L|0)!=0&(M|0)!=0){f[p>>2]=0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;Iv(a,M,56,i,U,P,-1,0,p);I=f[p>>2]|0;e:do if(!(f[V>>2]|0)){l=f[f[I+24>>2]>>2]|0;m=f[l+48>>2]|0;do if((m|0)!=1){n=f[I+44>>2]|0;if(!n){c=I+48|0;f[c>>2]=71;break}if(!(f[n>>2]|0)){c=I+48|0;f[c>>2]=72;break}if(!m){c=I+48|0;f[c>>2]=73;break}m=f[l+12>>2]|0;c=I+48|0;if((m|0)>=101){f[c>>2]=75;break}f[c>>2]=74;o=I+40|0;l=f[o>>2]|0;if(l>>>0>>0){n=(l|0)==0?64:l;while(1)if(n>>>0>>0)n=n<<1;else break;l=I+32|0;m=f[l>>2]|0;if((Mc()|0)==0?(q=Nc(m,(n|0)>0?n:0,0)|0,q|0):0){f[o>>2]=n;f[l>>2]=q;if(!(f[V>>2]|0))break;else break e}f[V>>2]=7;break e}}else{c=I+48|0;f[c>>2]=70}while(0);B=I+16|0;C=I+72|0;D=I+12|0;E=I+52|0;F=I+64|0;A=I+56|0;G=I+80|0;H=R+4|0;p=1;g=0;n=0;while(1){if(b[B>>0]|0)break e;z=j[(f[C>>2]|0)+4>>1]|0;l=f[I+80+(z*88|0)+64>>2]|0;m=f[I+80+(z*88|0)+60>>2]|0;pb[f[c>>2]&127](I,I+80+(z*88|0)|0);if(p|0){if((l|0)<=(e|0))break e;if(Hz(U,m,P)|0)break e}if(!(f[D>>2]|0))z=g;else{m=I;l=f[m>>2]|0;m=f[m+4>>2]|0;if(((m|0)<(g|0)|(m|0)==(g|0)&l>>>0<=n>>>0)&(f[H>>2]|0)>0)if(!(f[V>>2]|0)){l=0;while(1){m=L+(l*12|0)|0;n=L+(l*12|0)+4|0;if(!(f[n>>2]|0)){Q=79;break}qb[K&255](a,R,m);f[n>>2]=0;if((f[H>>2]|0)!=0&(f[V>>2]|0)==0)l=l+1|0;else break}if((Q|0)==79){Q=0;f[O>>2]=f[R>>2];f[O+4>>2]=f[R+4>>2];f[O+8>>2]=f[R+8>>2];f[R>>2]=f[m>>2];f[R+4>>2]=f[m+4>>2];f[R+8>>2]=f[m+8>>2];f[m>>2]=f[O>>2];f[m+4>>2]=f[O+4>>2];f[m+8>>2]=f[O+8>>2];f[H>>2]=0}o=I;l=f[o>>2]|0;o=f[o+4>>2]|0;n=0;m=0}else{o=m;n=0;m=0}else{o=m;m=g}n=LA(l|0,o|0,n|0,m|0)|0;z=ba()|0;sb[J&127](a,n,z,I,R);z=I;n=f[z>>2]|0;z=f[z+4>>2]|0}l=f[V>>2]|0;f:do if(!l){g=0;o=d[(f[C>>2]|0)+4>>1]|0;while(1){i=o&65535;q=I+80+(i*88|0)|0;f[O>>2]=0;qb[f[I+80+(i*88|0)+24>>2]&255](a,q,O);g:do if(!(f[O>>2]|0?1:(f[I+80+(i*88|0)+12>>2]|0)==0)){m=I+80+(i*88|0)+72|0;l=f[m>>2]|0;m=f[m+4>>2]|0;p=F;o=f[p>>2]|0;p=f[p+4>>2]|0;do if((l|0)==(o|0)&(m|0)==(p|0))y=f[A>>2]|0;else{l=((m|0)<(p|0)|(m|0)==(p|0)&l>>>0>>0)&1;if((f[A>>2]|0)==(l|0)){y=l;break}m=f[C>>2]|0;break g}while(0);o=(y|0)==0;u=o?-1:0;o=o?2147483647:-2147483648;l=F;f[l>>2]=u;f[l+4>>2]=o;l=(f[E>>2]|0)+i|0;m=f[C>>2]|0;w=I+80+((i^1)*88|0)|0;v=l;h:while(1){x=(v|0)/2|0;do if(!(b[m+(x<<2)+2>>0]|0)){r=u;Q=98}else{i=q+72|0;p=f[i>>2]|0;i=f[i+4>>2]|0;s=w+72|0;r=f[s>>2]|0;s=f[s+4>>2]|0;if((p|0)==(r|0)&(i|0)==(s|0)){i=1;p=w;r=u;break}if((y|0)==(((s|0)>(i|0)|(s|0)==(i|0)&r>>>0>p>>>0)&1|0)){q=F;f[q>>2]=r;f[q+4>>2]=s;q=w;o=s;Q=98;break}if((y|0)!=(((s|0)>(o|0)|(s|0)==(o|0)&r>>>0>u>>>0)&1|0)){r=u;Q=98;break}o=F;f[o>>2]=r;f[o+4>>2]=s;o=s;Q=98}while(0);do if((Q|0)==98){Q=0;d[m+(x<<2)>>1]=(q-G|0)/88|0;if((v&-2|0)==2){i=2;p=w;break}i=0;p=I+80+((j[m+((x^1)<<2)>>1]|0)*88|0)|0}while(0);switch(i&3){case 2:break g;case 0:{w=p;v=x;u=r;break}default:break h}}if(i)Q=102}else{l=(f[E>>2]|0)+i|0;Q=102}while(0);if((Q|0)==102){Q=0;i:do if((l|0)>=2)do{l=l>>>1;if(f[V>>2]|0)break i;m=Cv(I,l)|0;if(m){qb[f[I+80+(m*88|0)+24>>2]&255](a,I+80+(m*88|0)|0,0);l=(f[E>>2]|0)+m|0}}while((l|0)>=2);while(0);m=f[C>>2]|0;x=j[m+4>>1]|0;b[B>>0]=(f[I+80+(x*88|0)+12>>2]|0)==0&1;x=I+80+(x*88|0)+72|0;y=f[x+4>>2]|0;g=F;f[g>>2]=f[x>>2];f[g+4>>2]=y;g=1}l=f[V>>2]|0;o=d[m+4>>1]|0;m=o&65535;if(l|0){m=g;break f}if(!(f[I+80+(m*88|0)+12>>2]|0)){m=g;l=0;break f}if(f[I+80+(m*88|0)+80>>2]|0){m=g;l=0;break}}}else m=p;while(0);if(!l){p=m;g=z}else break}}while(0);l=0;do{m=L+(l*12|0)|0;if(!(f[V>>2]|0))qb[K&255](a,R,m);n=f[L+(l*12|0)>>2]|0;do if(n|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{Q=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}while(0);f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;l=l+1|0}while((l|0)!=32);Tv(I);m=R+4|0;l=(f[m>>2]|0)+12|0;do if(!(f[V>>2]|0)){c=Fd(l)|0;if(!c){if((l|0)<=0)break;f[V>>2]=7;break}_A(c|0,0,l|0)|0;n=c+12|0;f[c>>2]=n;l=f[m>>2]|0;f[c+8>>2]=l;f[c+4>>2]=l;if(!l){Uv(a,c,N,T);break}else{YA(n|0,f[R>>2]|0,l|0)|0;Uv(a,c,N,T);break}}while(0);l=f[R>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{R=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0)}do if(M|0?(R=f[M>>2]|0,f[M>>2]=R+-1,(R|0)<2):0){m=M+20|0;if((f[m>>2]|0)>0){l=0;do{n=f[M+24+(l*12|0)+8>>2]|0;do if(n|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{R=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}while(0);l=l+1|0}while((l|0)<(f[m>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](M);break}else{R=ib[f[37368>>2]&255](M)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](M);break}}while(0);do if(L|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](L);break}else{R=ib[f[37368>>2]&255](L)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](L);break}while(0);o=f[T>>2]|0;if(!(f[V>>2]|0)){l=f[f[o+24>>2]>>2]|0;m=f[l+48>>2]|0;do if((m|0)!=1){n=f[o+44>>2]|0;if(!n){f[o+48>>2]=71;break}if(!(f[n>>2]|0)){f[o+48>>2]=72;break}if(!m){f[o+48>>2]=73;break}m=f[l+12>>2]|0;l=o+48|0;if((m|0)>=101){f[l>>2]=75;break}f[l>>2]=74;c=o+40|0;l=f[c>>2]|0;if(l>>>0>>0){n=(l|0)==0?64:l;while(1)if(n>>>0>>0)n=n<<1;else break;l=o+32|0;m=f[l>>2]|0;if((Mc()|0)==0?(S=Nc(m,(n|0)>0?n:0,0)|0,S|0):0){f[c>>2]=n;f[l>>2]=S;break}f[V>>2]=7;m=o;l=o;Q=174;break c}}else f[o+48>>2]=70;while(0);if(!(f[V>>2]|0)){l=j[(f[o+72>>2]|0)+4>>1]|0;if(!(f[o+80+(l*88|0)+12>>2]|0))Q=170;else{pb[f[o+48>>2]&127](o,o+80+(l*88|0)|0);Q=170}}else{m=o;l=o;Q=174}}else{m=o;l=o;Q=173}}else{c=Hv(a)|0;b[U>>0]=n+48;if((c|0)!=0?(Iv(a,c,g|16,i,U,P,-1,0,T),S=f[c>>2]|0,f[c>>2]=S+-1,(S|0)<2):0){m=c+20|0;if((f[m>>2]|0)>0){l=0;do{n=f[c+24+(l*12|0)+8>>2]|0;do if(n|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{S=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}while(0);l=l+1|0}while((l|0)<(f[m>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);Q=170;break}else{Q=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);Q=170;break}}else Q=170}while(0);do if((Q|0)==170)if(!(f[V>>2]|0)){l=f[T>>2]|0;break}else{l=f[T>>2]|0;m=l;Q=173;break}while(0);if((Q|0)==173)if(!m)Q=184;else Q=174;do if((Q|0)==174){m=f[m+24>>2]|0;Tv(l);l=m+40|0;m=f[l>>2]|0;if(m){f[l>>2]=0;l=f[m+20>>2]|0;Fi(f[m+16>>2]|0)|0;if(l|0){if(f[l+480>>2]|0){Kc(l,m);Q=184;break}S=m;if((f[l+304>>2]|0)>>>0<=S>>>0?(f[l+308>>2]|0)>>>0>S>>>0:0){Q=l+300|0;f[m>>2]=f[Q>>2];f[Q>>2]=m;Q=184;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);Q=184;break}else{Q=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);Q=184;break}}else Q=184}while(0);do if((Q|0)==184){f[T>>2]=0;l=a+40|0;m=f[l>>2]|0;if(m){f[l>>2]=0;l=f[m+20>>2]|0;Fi(f[m+16>>2]|0)|0;if(l|0){if(f[l+480>>2]|0){Kc(l,m);l=0;break}T=m;if((f[l+304>>2]|0)>>>0<=T>>>0?(f[l+308>>2]|0)>>>0>T>>>0:0){l=l+300|0;f[m>>2]=f[l>>2];f[l>>2]=m;l=0;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](m);l=0;break}else{l=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);l=0;break}}else l=0}while(0);f[k>>2]=l;if(!U){k=f[V>>2]|0;f[V>>2]=0;t=W;return k|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](U);k=f[V>>2]|0;f[V>>2]=0;t=W;return k|0}else{k=ib[f[37368>>2]&255](U)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](U);k=f[V>>2]|0;f[V>>2]=0;t=W;return k|0}return 0}function Hv(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=t;t=t+48|0;z=E+16|0;v=E+8|0;e=E;m=E+36|0;y=E+32|0;B=E+28|0;l=E+24|0;C=a+80|0;D=a+36|0;a:do if(!(f[C>>2]|0)){do if(!(f[D>>2]|0)){g=a+68|0;c=f[g>>2]|0;if(!c){f[e>>2]=f[(f[a>>2]|0)+4>>2];c=wd(67742,e)|0;e=(c|0)==0;do if(!(f[D>>2]|0))if(e){f[D>>2]=7;A=23;break}else{u=Ki(f[f[a>>2]>>2]|0,c,-1,129,0,g,0)|0;f[D>>2]=u;break}else if(e)A=23;while(0);if((A|0)==23){B=a+72|0;f[B>>2]=0;f[B+4>>2]=0;break a}if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{u=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}if(f[D>>2]|0)break;c=f[g>>2]|0}if((Ei(c)|0)==100){i=Jp(f[g>>2]|0,0)|0;k=ba()|0}else{i=0;k=0}c=f[g>>2]|0;do if(c){e=f[c>>2]|0;u=c+128|0;s=f[u+4>>2]|0;if((s|0)>0|(s|0)==0&(f[u>>2]|0)>>>0>0)Hi(e,c);g=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;u=c+64|0;f[u>>2]=0;f[u+4>>2]=0;if((g|0)==3082|(b[e+81>>0]|0)!=0){Di(e);f[D>>2]=7;D=a+72|0;f[D>>2]=i;f[D+4>>2]=k;D=0;t=E;return D|0}else{u=f[e+68>>2]&g;f[D>>2]=u;s=a+72|0;f[s>>2]=i;f[s+4>>2]=k;if(!u)break;else c=0;t=E;return c|0}}else{f[D>>2]=0;u=a+72|0;f[u>>2]=i;f[u+4>>2]=k}while(0);f[B>>2]=0;s=f[a>>2]|0;u=xv(a,10,0)|0;if(!(f[D>>2]|0)){c=u+4|0;e=(f[u>>2]|0)+(f[c>>2]|0)|0;g=e+20|0;do{b[e>>0]=0;e=e+1|0}while((e|0)<(g|0));r=hw(f[u>>2]|0,f[c>>2]|0,l,B)|0;f[D>>2]=r;do if((r|0)==0?(w=s+64|0,x=f[l>>2]|0,(f[w>>2]|0)!=(x|0)):0){f[m>>2]=0;f[y>>2]=0;f[s+68>>2]=4050;f[s+72>>2]=4;f[s+80>>2]=4;f[s+76>>2]=16;f[s+84>>2]=1048576;e=f[s+8>>2]|0;f[v>>2]=f[s+4>>2];f[v+4>>2]=e;e=iw(y,67765,v)|0;do if(e){c=Ki(f[s>>2]|0,e,-1,128,0,m,0)|0;f[y>>2]=c;if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{r=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}else c=f[y>>2]|0;while(0);if(c|0){f[D>>2]=c;A=80;break}r=f[m>>2]|0;if((Ei(r)|0)==100){m=(r|0)==0;n=r+104|0;o=r+140|0;q=r+40|0;g=0;do{do if(m)c=37592;else{c=f[n>>2]|0;if(c|0?d[o>>1]|0:0)break;c=f[r>>2]|0;f[c+64>>2]=25;Bg(c,25);c=37592}while(0);e=d[c+8>>1]|0;do if((e&514)==514){if((b[c+10>>0]|0)!=1){A=44;break}l=f[c+16>>2]|0}else A=44;while(0);do if((A|0)==44){A=0;if(e&1){l=0;break}l=Ic(c,1)|0}while(0);b:do if(m)a=37592;else{c=f[r>>2]|0;e=f[q>>2]|0;if((e|0)==3082|(b[c+81>>0]|0)!=0){Di(c);c=7}else c=f[c+68>>2]&e;f[q>>2]=c;c=f[n>>2]|0;do if(c|0){if((j[o>>1]|0)<=1)break;a=c+40|0;break b}while(0);a=f[r>>2]|0;f[a+64>>2]=25;Bg(a,25);a=37592}while(0);k=a+8|0;c=j[k>>1]|0;if(c&2048|0)d[k>>1]=c&59391|4096;if(!m){c=f[r>>2]|0;e=f[q>>2]|0;if((e|0)==3082|(b[c+81>>0]|0)!=0){Di(c);c=7}else c=f[c+68>>2]&e;f[q>>2]=c}do if(!l)A=72;else{i=b[l>>0]|0;c=(h[1232+(i&255)>>0]|0)+-118|0;if(!(i<<24>>24==0|(c|0)!=0)){e=67797;i=l;do{i=i+1|0;e=e+1|0;F=b[i>>0]|0;c=(h[1232+(F&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0}while(!(F<<24>>24==0|(c|0)!=0))}if(c|0){A=72;break}c=j[k>>1]|0;if(c&4|0){g=f[a>>2]|0;break}if(c&8|0){g=Fc(+p[a>>3])|0;ba()|0;break}if(!(c&18)){g=0;break}g=Gc(b[a+10>>0]|0,f[a+12>>2]|0,f[a+16>>2]|0)|0;ba()|0}while(0);if((A|0)==72){A=0;f[v>>2]=0;jw(s,l,a,v)|0}}while((Ei(r)|0)==100)}else g=0;c=Fi(r)|0;f[y>>2]=c;e=(c|0)==0;if((g|0)!=4&e){f[y>>2]=1;c=s+96|0;if(!(f[c>>2]|0))c=1;else{f[z>>2]=g;f[z+4>>2]=4;F=wd(67805,z)|0;f[f[c>>2]>>2]=F;c=1}}else if(e){f[w>>2]=x;c=0}f[D>>2]=c;if(!u)e=c;else A=80}else A=80;while(0);if((A|0)==80){if(!(f[9328]|0))ob[f[37360>>2]&127](u);else{F=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u)}e=f[D>>2]|0}c=f[B>>2]|0;if(e){do if(c|0?(F=f[c>>2]|0,f[c>>2]=F+-1,(F|0)<2):0){g=c+20|0;if((f[g>>2]|0)>0){e=0;do{i=f[c+24+(e*12|0)+8>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{F=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);e=e+1|0}while((e|0)<(f[g>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{F=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);f[B>>2]=0;c=0}}else c=0;f[C>>2]=c;break a}while(0);F=a+72|0;f[F>>2]=0;f[F+4>>2]=0}while(0);if(f[D>>2]|0){F=0;t=E;return F|0}F=f[C>>2]|0;f[F>>2]=(f[F>>2]|0)+1;t=E;return F|0} -function Vl(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;Ea=t;t=t+448|0;ha=Ea+424|0;$=Ea+416|0;sa=Ea+408|0;ra=Ea+400|0;qa=Ea+392|0;pa=Ea+384|0;ma=Ea+376|0;na=Ea+368|0;da=Ea+336|0;V=Ea+328|0;K=Ea+320|0;T=Ea+304|0;_=Ea+280|0;U=Ea+272|0;ga=Ea+256|0;fa=Ea+240|0;ea=Ea+224|0;Y=Ea+216|0;ja=Ea+184|0;ia=Ea+152|0;W=Ea+144|0;I=Ea+136|0;L=Ea+128|0;J=Ea+120|0;H=Ea+112|0;Z=Ea+104|0;R=Ea+96|0;O=Ea+88|0;Q=Ea+80|0;A=Ea+72|0;y=Ea+64|0;z=Ea+56|0;w=Ea+48|0;o=Ea+40|0;m=Ea+32|0;l=Ea+24|0;wa=Ea+16|0;B=Ea;va=Ea+440|0;ua=Ea+436|0;oa=Ea+432|0;Da=f[a>>2]|0;ta=a+8|0;k=f[ta>>2]|0;if(!k){if((f[a+116>>2]|0)==0?(d[Da+76>>1]&8)==0:0)b[a+23>>0]=1;k=sl(a)|0;if(!k){t=Ea;return}else Aa=k}else Aa=k;S=Aa+145|0;xa=h[S>>0]|h[S+1>>0]<<8|64;b[S>>0]=xa;b[S+1>>0]=xa>>8;xa=a+44|0;f[xa>>2]=2;k=f[a>>2]|0;ka=e+4|0;if(f[ka>>2]|0){if(b[k+165>>0]|0){ni(a,51151,l);t=Ea;return}r=Hl(k,c)|0;if((r|0)<0){f[m>>2]=c;ni(a,51168,m);t=Ea;return}else c=e}else r=h[k+164>>0]|0;ya=Da+16|0;ca=f[ya>>2]|0;aa=(r|0)==1;if((aa?(v=f[a>>2]|0,n=v+16|0,(f[(f[n>>2]|0)+20>>2]|0)==0):0)?(b[a+195>>0]|0)==0:0){k=cj(f[v>>2]|0,0,v,wa,0,542)|0;if(k|0){ni(a,51535,o);f[a+12>>2]=k;t=Ea;return}Ca=f[wa>>2]|0;f[(f[n>>2]|0)+20>>2]=Ca;k=f[v+92>>2]|0;m=f[Ca+4>>2]|0;f[m+4>>2]=f[Ca>>2];if(!(d[m+22>>1]&2)){n=m+32|0;o=m+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;if(((k+-512|0)>>>0<65025?(k+-1&k|0)==0:0)?(f[n>>2]=k,s=m+80|0,q=f[s>>2]|0,q|0):0){l=q+-4|0;f[s>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;Ca=(f[18026]|0)+1|0;f[18026]=Ca;f[18027]=(Ca|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;za=26;break}else{k=ib[f[37368>>2]&255](l)|0;za=26}while(0);do if((za|0)==26){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{Ca=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Ca;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[s>>2]=0}Ca=ih(f[m>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((Ca|0)==7){k=v+81|0;if((b[k>>0]|0)==0?(b[v+82>>0]|0)==0:0){b[k>>0]=1;if((f[v+180>>2]|0)>0)f[v+264>>2]=1;Da=v+272|0;f[Da>>2]=(f[Da>>2]|0)+1}t=Ea;return}}}Ca=pl(Da,c)|0;if(!Ca){t=Ea;return}if(!i)Ba=pl(Da,g)|0;else{f[w>>2]=g;Ba=Ig(Da,55419,w)|0}if(!(f[ka>>2]|0))la=0;else la=f[ca+(r<<4)>>2]|0;k=f[a>>2]|0;do if(((b[k+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(x=f[k+312>>2]|0,(x|0)!=0):0){k=nb[x&127](f[k+316>>2]|0,19,Ca,Ba,la,f[a+236>>2]|0)|0;if((k|0)==1){ni(a,49816,z);f[a+12>>2]=23;za=2130;break}if((k|2|0)==2)if(!k){za=52;break}else{za=2130;break}else{ni(a,49831,y);f[a+12>>2]=1;za=2130;break}}else za=52;while(0);a:do if((za|0)==52){f[B>>2]=0;f[B+4>>2]=Ca;f[B+8>>2]=Ba;f[B+12>>2]=0;g=Da+404|0;f[g>>2]=0;k=Vm(Da,la)|0;b:do if(k){l=f[k+4>>2]|0;f[l+4>>2]=f[k>>2];k=f[(f[l>>2]|0)+60>>2]|0;l=f[k>>2]|0;c:do if(l|0){k=kb[f[l+40>>2]&127](k,14,B)|0;switch(k|0){case 12:break c;case 0:break;default:{l=f[B>>2]|0;if(!l)break b;f[A>>2]=l;ni(a,40840,A);l=f[B>>2]|0;if(!l)break b;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break b}else{Aa=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break b}}}Mi(Aa,1);if(!(b[(f[Aa>>2]|0)+81>>0]|0))$e(f[Aa+100>>2]|0,f[B>>2]|0,-1,1,-1)|0;l=f[B>>2]|0;if(!l){za=2130;break a}m=Aa+136|0;k=f[m>>2]|0;c=Aa+12|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=106;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,106,0,1,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;ul(Aa,(f[Aa+88>>2]|0)+(k*20|0)|0,l,0)}k=f[m>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0}else tl(Aa,81,1,1,0)|0;k=f[B>>2]|0;if(!k){za=2130;break a}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);za=2130;break a}else{za=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-za;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);za=2130;break a}}while(0);B=b[Ca>>0]|0;q=h[1232+(B&255)>>0]|0;d:do if(!(B<<24>>24)){k=0;l=59;do{n=k+l|0;m=(n|0)/2|0;c=q-(h[1232+(h[f[6080+(m<<4)>>2]>>0]|0)>>0]|0)|0;if(!c){v=m;za=88;break d}B=(c|0)<0;k=B?k:m+1|0;l=B?m+-1|0:l}while((k|0)<=(l|0))}else{c=0;o=59;do{n=c+o|0;p=(n|0)/2|0;l=f[6080+(p<<4)>>2]|0;k=q-(h[1232+(h[l>>0]|0)>>0]|0)|0;if(!k){m=Ca;do{m=m+1|0;l=l+1|0;B=b[m>>0]|0;k=(h[1232+(B&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(B<<24>>24==0|(k|0)!=0));if(!k){v=p;za=88;break d}}B=(k|0)<0;c=B?c:p+1|0;o=B?p+-1|0:o}while((c|0)<=(o|0))}while(0);e:do if((za|0)==88){s=6080+(v<<4)|0;m=b[6080+(v<<4)+5>>0]|0;f:do if(m&1?(D=f[a>>2]|0,(b[D+165>>0]|0)==0):0){c=a+4|0;o=D+24|0;p=(f[o>>2]&1|0)==0;q=D+16|0;B=f[(f[q>>2]|0)+12>>2]|0;b[D+78>>0]=b[B+77>>0]|0;if((d[B+78>>1]&1)==0?(C=qi(D,0,c,0)|0,(C|0)!=0):0)k=C;else za=92;g:do if((za|0)==92){k=f[D+20>>2]|0;if((k|0)>1)do{l=k;k=k+-1|0;if((d[(f[(f[q>>2]|0)+(k<<4)+12>>2]|0)+78>>1]&1)==0?(E=qi(D,k,c,0)|0,E|0):0){k=E;break g}}while((l|0)>2);if(p)f[o>>2]=f[o>>2]&-2;if(!(b[D+89>>0]|0))break f;f[o>>2]=f[o>>2]|8;break f}while(0);f[a+12>>2]=k;Aa=a+36|0;f[Aa>>2]=(f[Aa>>2]|0)+1;break e}while(0);E=m&255;do if((E&2|0)==0?(Ba|0)==0|(E&4|0)==0:0){E=b[6080+(v<<4)+7>>0]|0;m=E&255;E=E<<24>>24==0;Mi(Aa,E?1:m);if(E){if(b[(f[Aa>>2]|0)+81>>0]|0)break;$e(f[Aa+100>>2]|0,f[s>>2]|0,-1,1,0)|0;break}c=Aa+100|0;k=0;l=h[6080+(v<<4)+6>>0]|0;while(1){if(!(b[(f[Aa>>2]|0)+81>>0]|0))$e((f[c>>2]|0)+(k*40|0)|0,f[9824+(l<<2)>>2]|0,-1,1,0)|0;k=k+1|0;if((k|0)==(m|0))break;else l=l+1|0}}while(0);do switch(b[6080+(v<<4)+4>>0]|0){case 11:{u=1<>2]=f[ya>>2]|u;if(!aa?b[(f[(f[(f[Aa>>2]|0)+16>>2]|0)+(r<<4)+4>>2]|0)+9>>0]|0:0){ya=Aa+152|0;f[ya>>2]=f[ya>>2]|u}if(!Ba){f[xa>>2]=(f[xa>>2]|0)+2;Aa=wl(Aa,9,22768)|0;f[Aa+4>>2]=r;f[Aa+24>>2]=r;f[Aa+124>>2]=-2e3;break e}f[wa>>2]=0;Pd(Ba,wa)|0;k=f[wa>>2]|0;k=(k|0)>-1?k:(k|0)==-2147483648?2147483647:0-k|0;g=f[a+116>>2]|0;g=(g|0)==0?a:g;l=g+84|0;m=f[l>>2]|0;h:do if(!(m&u)){f[l>>2]=m|u;if(!aa)break;s=f[g>>2]|0;l=s+16|0;if(f[(f[l>>2]|0)+20>>2]|0)break;if(b[g+195>>0]|0)break;m=cj(f[s>>2]|0,0,s,wa,0,542)|0;if(m|0){ni(g,51535,Q);f[g+12>>2]=m;break}ya=f[wa>>2]|0;f[(f[l>>2]|0)+20>>2]=ya;l=f[s+92>>2]|0;n=f[ya+4>>2]|0;f[n+4>>2]=f[ya>>2];do if(!(d[n+22>>1]&2)){o=n+32|0;p=n+36|0;q=(f[o>>2]|0)-(f[p>>2]|0)|0;do if((l+-512|0)>>>0<65025){if(l+-1&l|0)break;f[o>>2]=l;c=n+80|0;l=f[c>>2]|0;if(!l)break;m=l+-4|0;f[c>>2]=m;l=m;do if((f[18022]|0)>>>0<=l>>>0)if((f[18023]|0)>>>0>l>>>0){f[18188]=(f[18188]|0)+-1;f[m>>2]=f[18025];f[18025]=m;ya=(f[18026]|0)+1|0;f[18026]=ya;f[18027]=(ya|0)<(f[18021]|0)&1;break}else{l=ib[f[37368>>2]&255](m)|0;za=132;break}else{l=ib[f[37368>>2]&255](m)|0;za=132}while(0);do if((za|0)==132){f[18189]=(f[18189]|0)-l;if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{za=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-za;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);f[c>>2]=0}while(0);za=ih(f[n>>2]|0,o,q)|0;f[p>>2]=(f[o>>2]|0)-(q&65535);if((za|0)!=7)break;l=s+81|0;do if(!(b[l>>0]|0)){if(b[s+82>>0]|0)break;b[l>>0]=1;if((f[s+180>>2]|0)>0)f[s+264>>2]=1;za=s+272|0;f[za>>2]=(f[za>>2]|0)+1}while(0);break h}while(0)}while(0);l=g+80|0;f[l>>2]=f[l>>2]|u;l=Aa+136|0;m=f[l>>2]|0;if((f[(f[Aa+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;Aa=f[Aa+88>>2]|0;b[Aa+(m*20|0)>>0]=107;d[Aa+(m*20|0)+2>>1]=0;f[Aa+(m*20|0)+4>>2]=r;f[Aa+(m*20|0)+8>>2]=3;f[Aa+(m*20|0)+12>>2]=k;f[Aa+(m*20|0)+16>>2]=0;b[Aa+(m*20|0)+1>>0]=0}else tl(Aa,107,r,3,k)|0;f[(f[ca+(r<<4)+12>>2]|0)+80>>2]=k;m=f[ca+(r<<4)+4>>2]|0;l=f[m+4>>2]|0;f[l+4>>2]=f[m>>2];l=f[(f[l>>2]|0)+212>>2]|0;f[l+16>>2]=k;m=f[9361]|0;c=f[l+44>>2]|0;if((k|0)<=-1){za=QA(k|0,((k|0)<0)<<31>>31|0,-1024,-1)|0;Aa=ba()|0;k=(f[l+28>>2]|0)+(f[l+24>>2]|0)|0;k=OA(za|0,Aa|0,k|0,((k|0)<0)<<31>>31|0)|0;ba()|0}pb[m&127](c,k);break e}case 28:{k=f[ca+(r<<4)+4>>2]|0;if(Ba|0){f[wa>>2]=0;Pd(Ba,wa)|0;l=f[wa>>2]|0;f[Da+92>>2]=l;p=f[k+4>>2]|0;f[p+4>>2]=f[k>>2];if(d[p+22>>1]&2){za=2130;break a}c=p+32|0;n=p+36|0;o=(f[c>>2]|0)-(f[n>>2]|0)|0;do if((l+-512|0)>>>0<65025){if(l+-1&l|0)break;f[c>>2]=l;m=p+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;Aa=(f[18026]|0)+1|0;f[18026]=Aa;f[18027]=(Aa|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;za=203;break}else{k=ib[f[37368>>2]&255](l)|0;za=203}while(0);do if((za|0)==203){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{Aa=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);Aa=ih(f[p>>2]|0,c,o)|0;f[n>>2]=(f[c>>2]|0)-(o&65535);if((Aa|0)!=7){za=2130;break a}k=Da+81|0;if(b[k>>0]|0){za=2130;break a}if(b[Da+82>>0]|0){za=2130;break a}b[k>>0]=1;if((f[Da+180>>2]|0)>0)f[Da+264>>2]=1;za=Da+272|0;f[za>>2]=(f[za>>2]|0)+1;za=2130;break a}if(!k){c=0;n=0}else{n=f[(f[k+4>>2]|0)+32>>2]|0;c=n;n=((n|0)<0)<<31>>31}m=f[Aa>>2]|0;i:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=163;else za=183;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=164;break i}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=164;break i}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=163}while(0);if((za|0)==163){o=Dc(m,8,0)|0;za=164}j:do if((za|0)==164){if(!o){za=183;break}m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=n;b[m+1>>0]=n>>8;b[m+2>>0]=n>>16;b[m+3>>0]=n>>24;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break j}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break j}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);do if((za|0)==183){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}case 30:{p=f[ca+(r<<4)+4>>2]|0;do if(!Ba){m=-1;c=0}else{za=b[Ba>>0]|0;k=(h[1232+(za&255)>>0]|0)+-102|0;if(!(za<<24>>24==0|(k|0)!=0)){l=55423;m=Ba;do{m=m+1|0;l=l+1|0;za=b[m>>0]|0;k=(h[1232+(za&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(k|0)!=0))}if(!k)m=2;else m=(Hd(Ba,1,0)|0)<<24>>24!=0&1;if(f[ka>>2]|0){c=1;break}o=f[Da+20>>2]|0;if((o|0)<=0){c=1;break}l=f[ya>>2]|0;c=m<<2;k=0;do{n=f[l+(k<<4)+4>>2]|0;if(n|0){za=f[n+4>>2]|0;f[za+4>>2]=f[n>>2];za=za+22|0;d[za>>1]=c|d[za>>1]&-13&65535}k=k+1|0}while((k|0)!=(o|0));c=1}while(0);if(!p)c=0;else{l=f[p+4>>2]|0;f[l+4>>2]=f[p>>2];l=l+22|0;k=d[l>>1]|0;if(c){k=(m<<2|k&-13&65535)&65535;d[l>>1]=k}c=(k&65535)>>>2&3}m=f[Aa>>2]|0;k:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=239;else za=259;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=240;break k}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=240;break k}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=239}while(0);if((za|0)==239){o=Dc(m,8,0)|0;za=240}l:do if((za|0)==240){if(!o){za=259;break}m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=0;b[m+1>>0]=0;b[m+2>>0]=0;b[m+3>>0]=0;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break l}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break l}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);do if((za|0)==259){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}case 24:{c=f[a+116>>2]|0;c=(c|0)==0?a:c;k=c+84|0;l=f[k>>2]|0;m=1<>2]=l|m,aa):0)?(X=f[c>>2]|0,N=X+16|0,(f[(f[N>>2]|0)+20>>2]|0)==0):0){if(b[c+195>>0]|0)break;k=cj(f[X>>2]|0,0,X,wa,0,542)|0;if(k|0){ni(c,51535,O);f[c+12>>2]=k;break}ya=f[wa>>2]|0;f[(f[N>>2]|0)+20>>2]=ya;k=f[X+92>>2]|0;p=f[ya+4>>2]|0;f[p+4>>2]=f[ya>>2];do if(!(d[p+22>>1]&2)){c=p+32|0;n=p+36|0;o=(f[c>>2]|0)-(f[n>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[c>>2]=k;m=p+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;ya=(f[18026]|0)+1|0;f[18026]=ya;f[18027]=(ya|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;za=285;break}else{k=ib[f[37368>>2]&255](l)|0;za=285}while(0);do if((za|0)==285){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{ya=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);ya=ih(f[p>>2]|0,c,o)|0;f[n>>2]=(f[c>>2]|0)-(o&65535);if((ya|0)!=7)break;k=X+81|0;do if(!(b[k>>0]|0)){if(b[X+82>>0]|0)break;b[k>>0]=1;if((f[X+180>>2]|0)>0)f[X+264>>2]=1;ya=X+272|0;f[ya>>2]=(f[ya>>2]|0)+1}while(0);break m}while(0)}while(0);n=(f[xa>>2]|0)+1|0;f[xa>>2]=n;do if((b[Ca>>0]|32)<<24>>24==112){l=Aa+136|0;m=f[l>>2]|0;k=Aa+12|0;if((f[(f[k>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;za=f[Aa+88>>2]|0;b[za+(m*20|0)>>0]=-89;d[za+(m*20|0)+2>>1]=0;f[za+(m*20|0)+4>>2]=r;f[za+(m*20|0)+8>>2]=n;f[za+(m*20|0)+12>>2]=0;f[za+(m*20|0)+16>>2]=0;b[za+(m*20|0)+1>>0]=0;m=l;break}else{tl(Aa,167,r,n,0)|0;m=l;break}}else{f[wa>>2]=0;if(Ba){Pd(Ba,wa)|0;k=f[wa>>2]|0;if((k|0)<0)k=(k|0)==-2147483648?2147483647:0-k|0;else za=304}else{k=0;za=304}m=Aa+136|0;l=f[m>>2]|0;c=Aa+12|0;if((f[(f[c>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;za=f[Aa+88>>2]|0;b[za+(l*20|0)>>0]=-88;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=r;f[za+(l*20|0)+8>>2]=n;f[za+(l*20|0)+12>>2]=k;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0;k=c;break}else{tl(Aa,168,r,n,k)|0;k=c;break}}while(0);l=f[m>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;Aa=f[Aa+88>>2]|0;b[Aa+(l*20|0)>>0]=81;d[Aa+(l*20|0)+2>>1]=0;f[Aa+(l*20|0)+4>>2]=n;f[Aa+(l*20|0)+8>>2]=1;f[Aa+(l*20|0)+12>>2]=0;f[Aa+(l*20|0)+16>>2]=0;b[Aa+(l*20|0)+1>>0]=0;break e}else{tl(Aa,81,n,1,0)|0;break e}}case 23:{do if(!Ba)za=321;else{n=b[Ba>>0]|0;c=h[1232+(n&255)>>0]|0;k=c+-101|0;n=n<<24>>24==0;if(!(n|(k|0)!=0)){l=55428;m=Ba;do{m=m+1|0;l=l+1|0;za=b[m>>0]|0;k=(h[1232+(za&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(k|0)!=0))}if(k){k=c+-110|0;if(!(n|(k|0)!=0)){l=55438;m=Ba;do{m=m+1|0;l=l+1|0;za=b[m>>0]|0;k=(h[1232+(za&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(k|0)!=0))}if(!k)l=0;else{za=321;break}}else l=1;if(f[ka>>2]|0){za=332;break}o=f[Da+20>>2]|0;if((o|0)>2){n=f[ya>>2]|0;k=l&255;m=2;do{c=f[f[(f[n+(m<<4)+4>>2]|0)+4>>2]>>2]|0;do if(!(b[c+12>>0]|0)){za=f[c+216>>2]|0;if(za|0?(b[za+43>>0]|0)==2:0)break;b[c+4>>0]=k}while(0);m=m+1|0}while((m|0)!=(o|0))}else k=l&255;b[Da+83>>0]=k;za=332}while(0);if((za|0)==321)if(!(f[ka>>2]|0))m=Da+83|0;else{l=-1;za=332}if((za|0)==332){k=f[f[(f[ca+(r<<4)+4>>2]|0)+4>>2]>>2]|0;do if((l|0)>-1){if(b[k+12>>0]|0)break;za=f[k+216>>2]|0;if(za|0?(b[za+43>>0]|0)==2:0)break;b[k+4>>0]=l}while(0);m=k+4|0}c=Aa+136|0;k=f[c>>2]|0;n=Aa+12|0;l=(f[(f[n>>2]|0)+48>>2]|0)>(k|0);if((b[m>>0]|0)==1){if(l){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=106;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,106,0,1,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[c>>2]|0)+-1|0;ul(Aa,(f[Aa+88>>2]|0)+(k*20|0)|0,55428,0)}k=f[c>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}else{if(l){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=106;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,106,0,1,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[c>>2]|0)+-1|0;ul(Aa,(f[Aa+88>>2]|0)+(k*20|0)|0,55438,0)}k=f[c>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}}case 20:{n:do if(Ba){m=(wz(Ba)|0)&1073741823;if(m){c=Ba;o=45420;n=m;while(1){k=b[c>>0]|0;if(!(k<<24>>24)){za=363;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){za=365;break}if((n|0)>1){c=c+1|0;o=o+1|0;n=n+-1|0}else{s=0;break n}}if((za|0)==363){l=0;k=b[1232+(h[o>>0]|0)>>0]|0}else if((za|0)==365)l=l&255;if((l|0)!=(k&255|0)){c=Ba;o=45427;n=m;while(1){k=b[c>>0]|0;if(!(k<<24>>24)){za=2153;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){za=2151;break}if((n|0)>1){c=c+1|0;o=o+1|0;n=n+-1|0}else{s=1;break n}}if((za|0)==2151)l=l&255;else if((za|0)==2153){l=0;k=b[1232+(h[o>>0]|0)>>0]|0}if((l|0)==(k&255|0)){s=1;break}c=Ba;o=45435;n=m;while(1){k=b[c>>0]|0;if(!(k<<24>>24)){za=2160;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){za=2158;break}if((n|0)>1){c=c+1|0;o=o+1|0;n=n+-1|0}else{s=2;break n}}if((za|0)==2158)l=l&255;else if((za|0)==2160){l=0;k=b[1232+(h[o>>0]|0)>>0]|0}if((l|0)==(k&255|0)){s=2;break}c=Ba;o=45439;n=m;while(1){k=b[c>>0]|0;if(!(k<<24>>24)){za=2167;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){za=2165;break}if((n|0)>1){c=c+1|0;o=o+1|0;n=n+-1|0}else{s=3;break n}}if((za|0)==2165)l=l&255;else if((za|0)==2167){l=0;k=b[1232+(h[o>>0]|0)>>0]|0}if((l|0)==(k&255|0)){s=3;break}c=Ba;o=45448;n=m;while(1){k=b[c>>0]|0;if(!(k<<24>>24)){za=2174;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[o>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){za=2172;break}if((n|0)>1){c=c+1|0;o=o+1|0;n=n+-1|0}else{s=4;break n}}if((za|0)==2172)l=l&255;else if((za|0)==2174){l=0;k=b[1232+(h[o>>0]|0)>>0]|0}if((l|0)==(k&255|0)){s=4;break}c=Ba;n=45455;while(1){k=b[c>>0]|0;if(!(k<<24>>24)){za=2181;break}l=b[1232+(k&255)>>0]|0;k=b[1232+(h[n>>0]|0)>>0]|0;if(l<<24>>24!=k<<24>>24){za=2179;break}if((m|0)>1){c=c+1|0;n=n+1|0;m=m+-1|0}else{s=5;break n}}if((za|0)==2179)l=l&255;else if((za|0)==2181){l=0;k=b[1232+(h[n>>0]|0)>>0]|0}if((l|0)==(k&255|0))s=5;else za=369}else s=0}else s=0}else za=369;while(0);if((za|0)==369)if(!(f[ka>>2]|0)){f[ka>>2]=1;r=0;s=-1}else s=-1;l=f[Da+20>>2]|0;if((l|0)>0){o=Aa+148|0;m=Aa+136|0;k=Aa+12|0;p=Aa+88|0;q=Aa+152|0;do{n=l;l=l+-1|0;do if(f[(f[ya>>2]|0)+(l<<4)+4>>2]|0){if((l|0)!=(r|0)?f[ka>>2]|0:0)break;c=1<>2]=f[o>>2]|c;do if((l|0)!=1){if(!(b[(f[(f[(f[Aa>>2]|0)+16>>2]|0)+(l<<4)+4>>2]|0)+9>>0]|0))break;f[q>>2]=f[q>>2]|c}while(0);c=f[m>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(c|0)){f[m>>2]=c+1;za=f[p>>2]|0;b[za+(c*20|0)>>0]=7;d[za+(c*20|0)+2>>1]=0;f[za+(c*20|0)+4>>2]=l;f[za+(c*20|0)+8>>2]=1;f[za+(c*20|0)+12>>2]=s;f[za+(c*20|0)+16>>2]=0;b[za+(c*20|0)+1>>0]=0;break}else{tl(Aa,7,l,1,s)|0;break}}while(0)}while((n|0)>1)}else{m=Aa+136|0;k=Aa+12|0}l=f[m>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;za=f[Aa+88>>2]|0;b[za+(l*20|0)>>0]=81;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=1;f[za+(l*20|0)+8>>2]=1;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0;za=2130;break a}else{tl(Aa,81,1,1,0)|0;za=2130;break a}}case 21:{m=f[f[(f[ca+(r<<4)+4>>2]|0)+4>>2]>>2]|0;za=wa;f[za>>2]=-2;f[za+4>>2]=-1;if(Ba){Wm(Ba,wa)|0;l=wa;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)<-1|(l|0)==-1&k>>>0<4294967295){k=wa;f[k>>2]=-1;f[k+4>>2]=-1;k=-1;c=-1}else c=l;l=m+160|0;f[l>>2]=k;f[l+4>>2]=c;l=f[m+216>>2]|0;if(!l)n=k;else{n=l+16|0;f[n>>2]=k;f[n+4>>2]=c;n=k}}else{c=m+160|0;n=f[c>>2]|0;c=f[c+4>>2]|0}m=wa;f[m>>2]=n;f[m+4>>2]=c;m=f[Aa>>2]|0;o:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=403;else za=423;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=404;break o}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=404;break o}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=403}while(0);if((za|0)==403){o=Dc(m,8,0)|0;za=404}p:do if((za|0)==404)if(o){m=o;k=m;b[k>>0]=n;b[k+1>>0]=n>>8;b[k+2>>0]=n>>16;b[k+3>>0]=n>>24;m=m+4|0;b[m>>0]=c;b[m+1>>0]=c>>8;b[m+2>>0]=c>>16;b[m+3>>0]=c>>24;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break p}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break p}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else za=423;while(0);do if((za|0)==423){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0}else tl(Aa,81,1,1,0)|0;break e}case 1:{o=f[ca+(r<<4)+4>>2]|0;if(Ba|0){n=b[Ba>>0]|0;c=h[1232+(n&255)>>0]|0;k=c+-110|0;n=n<<24>>24==0;if(!(n|(k|0)!=0)){l=55445;m=Ba;do{m=m+1|0;l=l+1|0;za=b[m>>0]|0;k=(h[1232+(za&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(k|0)!=0))}do if(!k)m=0;else{k=c+-102|0;if(!(n|(k|0)!=0)){l=55450;m=Ba;do{m=m+1|0;l=l+1|0;za=b[m>>0]|0;k=(h[1232+(za&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(k|0)!=0))}if(!k){m=1;break}k=c+-105|0;if(!(n|(k|0)!=0)){l=55455;m=Ba;do{m=m+1|0;l=l+1|0;za=b[m>>0]|0;k=(h[1232+(za&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(k|0)!=0))}if(!k){m=2;break}f[wa>>2]=0;Pd(Ba,wa)|0;m=f[wa>>2]|0;m=m>>>0<3?m&255:0}while(0);b[Da+84>>0]=m;c=f[o+4>>2]|0;f[c+4>>2]=f[o>>2];l=m&255;if(d[c+22>>1]&2){k=c+17|0;if(((l|0)!=0|0)!=(h[k>>0]|0)){za=2130;break a}}else k=c+17|0;b[k>>0]=(l|0)!=0&1;b[c+18>>0]=(l|0)==2&1;k=m+-1|0;if(k>>>0>=2){za=2130;break a}ya=f[Aa+136>>2]|0;za=wl(Aa,5,22816)|0;f[za+4>>2]=r;f[za+24>>2]=r;f[za+48>>2]=ya+4;f[za+84>>2]=r;f[za+92>>2]=k;k=1<>2]=f[za>>2]|k;if(aa){za=2130;break a}if(!(b[(f[(f[(f[Aa>>2]|0)+16>>2]|0)+(r<<4)+4>>2]|0)+9>>0]|0)){za=2130;break a}za=Aa+152|0;f[za>>2]=f[za>>2]|k;za=2130;break a}k=f[o+4>>2]|0;f[k+4>>2]=f[o>>2];if(!(b[k+17>>0]|0))c=0;else c=(b[k+18>>0]|0)==0?1:2;m=f[Aa>>2]|0;q:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=448;else za=468;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=449;break q}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=449;break q}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=448}while(0);if((za|0)==448){o=Dc(m,8,0)|0;za=449}r:do if((za|0)==449){if(!o){za=468;break}m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=0;b[m+1>>0]=0;b[m+2>>0]=0;b[m+3>>0]=0;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break r}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break r}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);do if((za|0)==468){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}case 16:{if(!((Ba|0)!=0?(ya=(Pd(Ba,va)|0)==0,u=f[va>>2]|0,!(ya|(u|0)<1)):0)){f[va>>2]=2147483647;u=2147483647}g=f[a+116>>2]|0;g=(g|0)==0?a:g;k=g+84|0;l=f[k>>2]|0;s=1<>2]=l|s,aa):0){q=f[g>>2]|0;k=q+16|0;if(f[(f[k>>2]|0)+20>>2]|0)break;if(b[g+195>>0]|0)break;l=cj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){ni(g,51535,R);f[g+12>>2]=l;break}ya=f[wa>>2]|0;f[(f[k>>2]|0)+20>>2]=ya;k=f[q+92>>2]|0;c=f[ya+4>>2]|0;f[c+4>>2]=f[ya>>2];do if(!(d[c+22>>1]&2)){n=c+32|0;o=c+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[n>>2]=k;m=c+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;ya=(f[18026]|0)+1|0;f[18026]=ya;f[18027]=(ya|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;za=517;break}else{k=ib[f[37368>>2]&255](l)|0;za=517}while(0);do if((za|0)==517){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{za=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-za;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);za=ih(f[c>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((za|0)!=7)break;k=q+81|0;do if(!(b[k>>0]|0)){if(b[q+82>>0]|0)break;b[k>>0]=1;if((f[q+180>>2]|0)>0)f[q+264>>2]=1;za=q+272|0;f[za>>2]=(f[za>>2]|0)+1}while(0);break s}while(0)}while(0);m=g+80|0;f[m>>2]=f[m>>2]|s;m=Aa+136|0;k=f[m>>2]|0;c=Aa+12|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=70;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=u;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else tl(Aa,70,u,1,0)|0;k=f[m>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=59;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=r;f[za+(k*20|0)+8>>2]=0;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,59,r,0,0)|0;l=f[m>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;za=f[Aa+88>>2]|0;b[za+(l*20|0)>>0]=81;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=1;f[za+(l*20|0)+8>>2]=0;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else tl(Aa,81,1,0,0)|0;l=f[m>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;za=f[Aa+88>>2]|0;b[za+(l*20|0)>>0]=83;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=1;f[za+(l*20|0)+8>>2]=-1;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else tl(Aa,83,1,-1,0)|0;l=f[m>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;za=f[Aa+88>>2]|0;b[za+(l*20|0)>>0]=47;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=1;f[za+(l*20|0)+8>>2]=k;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else tl(Aa,47,1,k,0)|0;l=f[m>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))k=(f[Aa+88>>2]|0)+(((k|0)<0?l+-1|0:k)*20|0)|0;else k=72144;f[k+8>>2]=l;break e}case 4:{if(Ba|0){f[wa>>2]=0;Pd(Ba,wa)|0;k=f[wa>>2]|0;f[(f[ca+(r<<4)+12>>2]|0)+80>>2]=k;m=f[ca+(r<<4)+4>>2]|0;l=f[m+4>>2]|0;f[l+4>>2]=f[m>>2];l=f[(f[l>>2]|0)+212>>2]|0;f[l+16>>2]=k;m=f[9361]|0;c=f[l+44>>2]|0;if((k|0)<=-1){za=QA(k|0,((k|0)<0)<<31>>31|0,-1024,-1)|0;Aa=ba()|0;k=(f[l+28>>2]|0)+(f[l+24>>2]|0)|0;k=OA(za|0,Aa|0,k|0,((k|0)<0)<<31>>31|0)|0;ba()|0}pb[m&127](c,k);break e}c=f[(f[ca+(r<<4)+12>>2]|0)+80>>2]|0;n=((c|0)<0)<<31>>31;m=f[Aa>>2]|0;t:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=558;else za=578;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=559;break t}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=559;break t}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=558}while(0);if((za|0)==558){o=Dc(m,8,0)|0;za=559}u:do if((za|0)==559)if(o){m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=n;b[m+1>>0]=n>>8;b[m+2>>0]=n>>16;b[m+3>>0]=n>>24;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break u}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break u}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else za=578;while(0);do if((za|0)==578){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}case 5:{if(Ba|0){f[wa>>2]=1;do if(!(Pd(Ba,wa)|0))k=f[wa>>2]|0;else{Aa=f[ca+(r<<4)+4>>2]|0;k=f[wa>>2]|0;m=f[Aa+4>>2]|0;f[m+4>>2]=f[Aa>>2];m=f[(f[m>>2]|0)+212>>2]|0;if(!k){k=0;break}if((k|0)<0){za=QA(k|0,((k|0)<0)<<31>>31|0,-1024,-1)|0;Aa=ba()|0;l=(f[m+28>>2]|0)+(f[m+24>>2]|0)|0;l=OA(za|0,Aa|0,l|0,((l|0)<0)<<31>>31|0)|0;ba()|0}else l=k;f[m+20>>2]=l}while(0);a=(Hd(Ba,1,(k|0)!=0&1)|0)<<24>>24==0;r=Da+32|0;za=r;xa=f[za>>2]|0;za=f[za+4>>2]|0;Aa=r;f[Aa>>2]=a?xa&-33:xa|32;f[Aa+4>>2]=a?za:za;do if(b[Da+79>>0]|0){k=f[Da+20>>2]|0;if((k|0)<=0)break;q=f[ya>>2]|0;while(1){o=k;k=k+-1|0;l=f[q+4>>2]|0;if(l|0){p=f[r>>2]&56|h[q+8>>0];m=f[l+4>>2]|0;f[m+4>>2]=f[l>>2];m=f[m>>2]|0;za=p&7;Aa=(b[m+12>>0]|0)==0;c=(za|0)==1;n=za>>>0>2&Aa;b[m+7>>0]=(c|Aa^1)&1;b[m+8>>0]=n&1;b[m+9>>0]=(za|0)==4&Aa&1;c=Aa&(c^1);do if(c){l=m+10|0;if(!(p&8)){b[l>>0]=2;l=2;break}else{b[l>>0]=3;l=3;break}}else{b[m+10>>0]=0;l=0}while(0);Aa=(l<<2|(n?l:0))&255;b[m+11>>0]=(p&16|0)==0|c^1?Aa:Aa|12;Aa=m+20|0;za=h[Aa>>0]|0;b[Aa>>0]=(p&32|0)==0?za|1:za&254}if((o|0)<=1)break;else q=q+16|0}}while(0);break e}if(0==0?(f[Da+32>>2]&32|0)==0:0){c=0;n=0}else{k=f[ca+(r<<4)+4>>2]|0;l=f[k+4>>2]|0;f[l+4>>2]=f[k>>2];l=f[(f[l>>2]|0)+212>>2]|0;k=f[l+16>>2]|0;if((k|0)<=-1){ya=QA(k|0,((k|0)<0)<<31>>31|0,-1024,-1)|0;za=ba()|0;k=(f[l+28>>2]|0)+(f[l+24>>2]|0)|0;k=OA(ya|0,za|0,k|0,((k|0)<0)<<31>>31|0)|0;ba()|0}n=f[l+20>>2]|0;n=(k|0)<(n|0)?n:k;c=n;n=((n|0)<0)<<31>>31}m=f[Aa>>2]|0;v:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=607;else za=627;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=608;break v}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=608;break v}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=607}while(0);if((za|0)==607){o=Dc(m,8,0)|0;za=608}w:do if((za|0)==608){if(!o){za=627;break}m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=n;b[m+1>>0]=n>>8;b[m+2>>0]=n>>16;b[m+3>>0]=n>>24;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break w}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break w}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);do if((za|0)==627){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=81;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=1;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0;za=2130;break a}else{tl(Aa,81,1,1,0)|0;za=2130;break a}}case 25:{m=f[Aa>>2]|0;x:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=666;else za=686;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];za=m+284|0;f[za>>2]=(f[za>>2]|0)+1;za=667;break x}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];za=m+284|0;f[za>>2]=(f[za>>2]|0)+1;za=667;break x}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=666}while(0);if((za|0)==666){l=Dc(m,8,0)|0;za=667}y:do if((za|0)==667)if(l){m=l;k=m;b[k>>0]=0;b[k+1>>0]=0;b[k+2>>0]=0;b[k+3>>0]=0;m=m+4|0;b[m>>0]=0;b[m+1>>0]=0;b[m+2>>0]=0;b[m+3>>0]=0;m=Aa+136|0;k=f[m>>2]|0;o=Aa+12|0;if((f[(f[o>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=l;b[n>>0]=-14;l=o;break}else{ul(Aa,c+(k*20|0)|0,l,-14);l=o;break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,l);l=o;break y}k=l;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[l>>2]=f[ya>>2];f[ya>>2]=l;l=o;break y}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);l=o;break}else{ya=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);l=o;break}}else za=686;while(0);do if((za|0)==686){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}else m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}case 35:{if(Ba|0){l=b[Ba>>0]|0;do if((l+-48&255)<3)k=(l<<24>>24)+-48|0;else{c=h[1232+(l&255)>>0]|0;k=c+-102|0;n=l<<24>>24==0;if(!(n|(k|0)!=0)){l=47881;m=Ba;do{m=m+1|0;l=l+1|0;Aa=b[m>>0]|0;k=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(k|0)!=0))}if(!k){k=1;break}k=c+-109|0;if(!(n|(k|0)!=0)){l=45448;m=Ba;do{m=m+1|0;l=l+1|0;Aa=b[m>>0]|0;k=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(k|0)!=0))}k=(k|0)==0?2:0}while(0);l=f[a>>2]|0;m=l+80|0;if((k|0)==(h[m>>0]|0))break e;c=l+16|0;n=f[(f[c>>2]|0)+20>>2]|0;z:do if(n|0){do if(b[l+79>>0]|0){if(b[n+8>>0]|0)break;bi(n);f[(f[c>>2]|0)+20>>2]=0;Vh(l);break z}while(0);ni(a,55467,Z);break e}while(0);b[m>>0]=k;break e}c=h[Da+80>>0]|0;m=f[Aa>>2]|0;A:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=708;else za=728;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=709;break A}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=709;break A}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=708}while(0);if((za|0)==708){o=Dc(m,8,0)|0;za=709}B:do if((za|0)==709)if(o){m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=0;b[m+1>>0]=0;b[m+2>>0]=0;b[m+3>>0]=0;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break B}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break B}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else za=728;while(0);do if((za|0)==728){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=81;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=1;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0;za=2130;break a}else{tl(Aa,81,1,1,0)|0;za=2130;break a}}case 36:{if(!Ba){l=f[17978]|0;if(!l)break e;m=Aa+136|0;k=f[m>>2]|0;c=Aa+12|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=106;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,106,0,1,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;ul(Aa,(f[Aa+88>>2]|0)+(k*20|0)|0,l,0)}k=f[m>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}do if(b[Ba>>0]|0){Aa=f[Da>>2]|0;Aa=(lb[f[Aa+32>>2]&127](Aa,Ba,1,wa)|0)!=0;if(Aa|(f[wa>>2]|0)==0){ni(a,55529,H);za=2130;break a}else break}while(0);C:do if((h[Da+80>>0]|0)<2){k=f[a>>2]|0;l=k+16|0;m=f[(f[l>>2]|0)+20>>2]|0;if(!m)break;do if(b[k+79>>0]|0){if(b[m+8>>0]|0)break;bi(m);f[(f[l>>2]|0)+20>>2]=0;Vh(k);break C}while(0);ni(a,55467,J)}while(0);k=f[17978]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{Aa=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-Aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);if(!(b[Ba>>0]|0)){f[17978]=0;za=2130;break a}else{f[L>>2]=Ba;za=wd(40840,L)|0;f[17978]=za;za=2130;break a}}case 33:{if(Ba|0){k=Da+79|0;if(!(b[k>>0]|0)){ni(a,55554,I);za=2130;break a}if(aa){za=2130;break a}Aa=(Hd(Ba,0,1)|0)+1&7;b[ca+(r<<4)+8>>0]=Aa<<24>>24==0?1:Aa;b[ca+(r<<4)+9>>0]=1;if(!(b[k>>0]|0)){za=2130;break a}k=f[Da+20>>2]|0;if((k|0)<=0){za=2130;break a}r=Da+32|0;q=f[ya>>2]|0;while(1){o=k;k=k+-1|0;l=f[q+4>>2]|0;if(l|0){p=f[r>>2]&56|h[q+8>>0];m=f[l+4>>2]|0;f[m+4>>2]=f[l>>2];m=f[m>>2]|0;za=p&7;Aa=(b[m+12>>0]|0)==0;c=(za|0)==1;n=za>>>0>2&Aa;b[m+7>>0]=(c|Aa^1)&1;b[m+8>>0]=n&1;b[m+9>>0]=(za|0)==4&Aa&1;c=Aa&(c^1);do if(c){l=m+10|0;if(!(p&8)){b[l>>0]=2;l=2;break}else{b[l>>0]=3;l=3;break}}else{b[m+10>>0]=0;l=0}while(0);Aa=(l<<2|(n?l:0))&255;b[m+11>>0]=(p&16|0)==0|c^1?Aa:Aa|12;Aa=m+20|0;za=h[Aa>>0]|0;b[Aa>>0]=(p&32|0)==0?za|1:za&254}if((o|0)<=1)break e;else q=q+16|0}}c=(h[ca+(r<<4)+8>>0]|0)+-1|0;n=((c|0)<0)<<31>>31;m=f[Aa>>2]|0;D:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=796;else za=816;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=797;break D}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=797;break D}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=796}while(0);if((za|0)==796){o=Dc(m,8,0)|0;za=797}E:do if((za|0)==797)if(o){m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=n;b[m+1>>0]=n>>8;b[m+2>>0]=n>>16;b[m+3>>0]=n>>24;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break E}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break E}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else za=816;while(0);do if((za|0)==816){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}case 2:{if(Ba|0){l=6080+(v<<4)+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=Da+79|0;za=(b[m>>0]|0)==0;k=za?k&-16385:k;l=za?l:l;do if(!((Hd(Ba,1,0)|0)<<24>>24)){za=Da+32|0;xa=za;a=f[xa+4>>2]&~l;f[za>>2]=f[xa>>2]&~k;f[za+4>>2]=a;if(!((k|0)==524288&(l|0)==0))break;za=Da+472|0;f[za>>2]=0;f[za+4>>2]=0}else{za=Da+32|0;xa=za;a=f[xa+4>>2]|l;f[za>>2]=f[xa>>2]|k;f[za+4>>2]=a}while(0);k=Aa+136|0;l=f[k>>2]|0;if((f[(f[Aa+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;y=f[Aa+88>>2]|0;b[y+(l*20|0)>>0]=-97;y=y+(l*20|0)+1|0;z=y+19|0;do{b[y>>0]=0;y=y+1|0}while((y|0)<(z|0))}else tl(Aa,159,0,0,0)|0;if(!(b[m>>0]|0)){za=2130;break a}k=f[Da+20>>2]|0;if((k|0)<=0){za=2130;break a}r=Da+32|0;q=f[ya>>2]|0;while(1){o=k;k=k+-1|0;l=f[q+4>>2]|0;if(l|0){p=f[r>>2]&56|h[q+8>>0];m=f[l+4>>2]|0;f[m+4>>2]=f[l>>2];m=f[m>>2]|0;za=p&7;Aa=(b[m+12>>0]|0)==0;c=(za|0)==1;n=za>>>0>2&Aa;b[m+7>>0]=(c|Aa^1)&1;b[m+8>>0]=n&1;b[m+9>>0]=(za|0)==4&Aa&1;c=Aa&(c^1);do if(c){l=m+10|0;if(!(p&8)){b[l>>0]=2;l=2;break}else{b[l>>0]=3;l=3;break}}else{b[m+10>>0]=0;l=0}while(0);Aa=(l<<2|(n?l:0))&255;b[m+11>>0]=(p&16|0)==0|c^1?Aa:Aa|12;Aa=m+20|0;za=h[Aa>>0]|0;b[Aa>>0]=(p&32|0)==0?za|1:za&254}if((o|0)<=1)break e;else q=q+16|0}}za=b[6080+(v<<4)+7>>0]|0;c=za&255;za=za<<24>>24==0;Mi(Aa,za?1:c);if(za)if(!(b[(f[Aa>>2]|0)+81>>0]|0)){$e(f[Aa+100>>2]|0,f[s>>2]|0,-1,1,0)|0;n=Aa}else n=Aa;else{m=Aa+100|0;k=0;l=h[6080+(v<<4)+6>>0]|0;while(1){if(!(b[(f[Aa>>2]|0)+81>>0]|0))$e((f[m>>2]|0)+(k*40|0)|0,f[9824+(l<<2)>>2]|0,-1,1,0)|0;k=k+1|0;if((k|0)==(c|0)){n=Aa;break}else l=l+1|0}}c=Da+32|0;m=6080+(v<<4)+8|0;c=(f[m>>2]&f[c>>2]|0?1:(f[m+4>>2]&f[c+4>>2]|0)!=0)&1;m=f[n>>2]|0;F:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=859;else za=879;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=860;break F}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=860;break F}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=859}while(0);if((za|0)==859){o=Dc(m,8,0)|0;za=860}G:do if((za|0)==860){if(!o){za=879;break}m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=0;b[m+1>>0]=0;b[m+2>>0]=0;b[m+3>>0]=0;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[n>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break G}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break G}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);do if((za|0)==879){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[n>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=81;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=1;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0;za=2130;break a}else{tl(Aa,81,1,1,0)|0;za=2130;break a}}case 34:{if(!Ba)break e;s=pi(a,2,Ba,la)|0;if(!s)break e;m=f[s+72>>2]|0;if(!m)c=-1e6;else{l=f[ya>>2]|0;k=0;while(1)if((f[l+(k<<4)+12>>2]|0)==(m|0)){c=k;break}else k=k+1|0}k=f[s+8>>2]|0;H:do if(!k)r=0;else while(1){ya=k+55|0;if(((h[ya>>0]|h[ya+1>>0]<<8)&3)==2){r=k;break H}k=f[k+20>>2]|0;if(!k){r=0;break}}while(0);f[xa>>2]=7;n=f[a+116>>2]|0;n=(n|0)==0?a:n;k=n+84|0;l=f[k>>2]|0;m=1<>2]=l|m;if((c|0)!=1)break;q=f[n>>2]|0;k=q+16|0;if(f[(f[k>>2]|0)+20>>2]|0)break;if(b[n+195>>0]|0)break;l=cj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){ni(n,51535,W);f[n+12>>2]=l;break}ya=f[wa>>2]|0;f[(f[k>>2]|0)+20>>2]=ya;k=f[q+92>>2]|0;c=f[ya+4>>2]|0;f[c+4>>2]=f[ya>>2];do if(!(d[c+22>>1]&2)){n=c+32|0;o=c+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[n>>2]=k;m=c+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;ya=(f[18026]|0)+1|0;f[18026]=ya;f[18027]=(ya|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;za=932;break}else{k=ib[f[37368>>2]&255](l)|0;za=932}while(0);do if((za|0)==932){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{ya=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);ya=ih(f[c>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((ya|0)!=7)break;k=q+81|0;do if(!(b[k>>0]|0)){if(b[q+82>>0]|0)break;b[k>>0]=1;if((f[q+180>>2]|0)>0)f[q+264>>2]=1;ya=q+272|0;f[ya>>2]=(f[ya>>2]|0)+1}while(0);break I}while(0)}while(0);ki(a,s)|0;i=s+42|0;l=d[i>>1]|0;if(l<<16>>16<=0)break e;m=f[s+4>>2]|0;g=6080+(v<<4)+8|0;u=r+4|0;if(!r){r=f[g>>2]|0;g=f[g+4>>2]|0;s=(r|0)==0&(g|0)==0;g=(r|0)==0&(g|0)==0?55607:55614;r=0;k=0;q=m;while(1){o=b[q+15>>0]|0;za=o&2;p=(za&255)>>>1&255;if(za<<24>>24!=0&s)k=k+1|0;else{c=f[q>>2]|0;if(!(o&4))m=72788;else m=c+(wz(c)|0)+1|0;n=(b[q+12>>0]|0)!=0&1;l=f[q+4>>2]|0;if(!l)l=0;else l=f[l+8>>2]|0;f[ia>>2]=r-k;f[ia+4>>2]=c;f[ia+8>>2]=m;f[ia+12>>2]=n;f[ia+16>>2]=l;f[ia+20>>2]=o&1;f[ia+24>>2]=p;Xm(Aa,1,g,ia);l=d[i>>1]|0}r=r+1|0;if((r|0)>=(l<<16>>16|0))break e;else q=q+16|0}}s=0;k=0;r=m;o=l<<16>>16;while(1){n=b[r+15>>0]|0;ya=n&2;q=(ya&255)>>>1&255;do if(!(ya<<24>>24))za=959;else{ya=g;if(!((f[ya>>2]|0)==0&(f[ya+4>>2]|0)==0)){za=959;break}k=k+1|0}while(0);if((za|0)==959){za=0;l=(n&1)==0;J:do if(l)l=(l^1)&1;else{if((o|0)<1){l=1;break}m=f[u>>2]|0;l=1;while(1){if((s|0)==(d[m+(l+-1<<1)>>1]|0))break J;c=l+1|0;if((l|0)<(o|0))l=c;else{l=c;break}}}while(0);o=g;o=(f[o>>2]|0)==0&(f[o+4>>2]|0)==0?55607:55614;p=f[r>>2]|0;if(!(n&4))c=72788;else c=p+(wz(p)|0)+1|0;n=(b[r+12>>0]|0)!=0&1;m=f[r+4>>2]|0;if(!m)m=0;else m=f[m+8>>2]|0;f[ja>>2]=s-k;f[ja+4>>2]=p;f[ja+8>>2]=c;f[ja+12>>2]=n;f[ja+16>>2]=m;f[ja+20>>2]=l;f[ja+24>>2]=q;Xm(Aa,1,o,ja);l=d[i>>1]|0}s=s+1|0;o=l<<16>>16;if((s|0)>=(o|0))break;else r=r+16|0}break}case 17:{if(!Ba)break e;i=Qj(Da,Ba,la)|0;if(!i)break e;m=f[i+24>>2]|0;if(!m)k=-1e6;else{l=f[ya>>2]|0;k=0;while(1)if((f[l+(k<<4)+12>>2]|0)==(m|0))break;else k=k+1|0}u=6080+(v<<4)+8|0;u=(f[u>>2]|0)==0&(f[u+4>>2]|0)==0;r=d[(u?i+50|0:i+52|0)>>1]|0;v=r&65535;f[xa>>2]=u?3:6;s=f[i+12>>2]|0;n=f[a+116>>2]|0;n=(n|0)==0?a:n;l=n+84|0;m=f[l>>2]|0;c=1<>2]=m|c;if((k|0)!=1)break;q=f[n>>2]|0;k=q+16|0;if(f[(f[k>>2]|0)+20>>2]|0)break;if(b[n+195>>0]|0)break;l=cj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){ni(n,51535,Y);f[n+12>>2]=l;break}ya=f[wa>>2]|0;f[(f[k>>2]|0)+20>>2]=ya;k=f[q+92>>2]|0;c=f[ya+4>>2]|0;f[c+4>>2]=f[ya>>2];do if(!(d[c+22>>1]&2)){n=c+32|0;o=c+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[n>>2]=k;m=c+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;ya=(f[18026]|0)+1|0;f[18026]=ya;f[18027]=(ya|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;za=990;break}else{k=ib[f[37368>>2]&255](l)|0;za=990}while(0);do if((za|0)==990){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{za=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-za;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);za=ih(f[c>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((za|0)!=7)break;k=q+81|0;do if(!(b[k>>0]|0)){if(b[q+82>>0]|0)break;b[k>>0]=1;if((f[q+180>>2]|0)>0)f[q+264>>2]=1;za=q+272|0;f[za>>2]=(f[za>>2]|0)+1}while(0);break K}while(0)}while(0);if(!(r<<16>>16))break e;g=i+4|0;q=s+4|0;r=Aa+136|0;s=Aa+12|0;n=i+28|0;o=i+32|0;c=i+50|0;p=Aa+88|0;if(u){m=0;do{za=d[(f[g>>2]|0)+(m<<1)>>1]|0;k=za<<16>>16;if(za<<16>>16<0)l=0;else l=f[(f[q>>2]|0)+(k<<4)>>2]|0;f[ea>>2]=m;f[ea+4>>2]=k;f[ea+8>>2]=l;Xm(Aa,1,55622,ea);k=f[xa>>2]|0;l=f[r>>2]|0;if((f[(f[s>>2]|0)+48>>2]|0)>(l|0)){f[r>>2]=l+1;za=f[p>>2]|0;b[za+(l*20|0)>>0]=81;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=1;f[za+(l*20|0)+8>>2]=k;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else tl(Aa,81,1,k,0)|0;m=m+1|0}while((m|0)!=(v|0))}else{m=0;do{za=d[(f[g>>2]|0)+(m<<1)>>1]|0;k=za<<16>>16;if(za<<16>>16<0)l=0;else l=f[(f[q>>2]|0)+(k<<4)>>2]|0;f[fa>>2]=m;f[fa+4>>2]=k;f[fa+8>>2]=l;Xm(Aa,1,55622,fa);l=f[(f[o>>2]|0)+(m<<2)>>2]|0;k=m>>>0<(j[c>>1]|0)>>>0&1;f[ga>>2]=h[(f[n>>2]|0)+m>>0];f[ga+4>>2]=l;f[ga+8>>2]=k;Xm(Aa,4,55627,ga);k=f[xa>>2]|0;l=f[r>>2]|0;if((f[(f[s>>2]|0)+48>>2]|0)>(l|0)){f[r>>2]=l+1;za=f[p>>2]|0;b[za+(l*20|0)>>0]=81;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=1;f[za+(l*20|0)+8>>2]=k;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else tl(Aa,81,1,k,0)|0;m=m+1|0}while((m|0)!=(v|0))}break}case 18:{if(!Ba)break e;r=ji(Da,Ba,la)|0;if(!r)break e;m=f[r+72>>2]|0;if(!m)k=-1e6;else{l=f[ya>>2]|0;k=0;while(1)if((f[l+(k<<4)+12>>2]|0)==(m|0))break;else k=k+1|0}f[xa>>2]=5;n=f[a+116>>2]|0;n=(n|0)==0?a:n;l=n+84|0;m=f[l>>2]|0;c=1<>2]=m|c;if((k|0)!=1)break;q=f[n>>2]|0;k=q+16|0;if(f[(f[k>>2]|0)+20>>2]|0)break;if(b[n+195>>0]|0)break;l=cj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){ni(n,51535,U);f[n+12>>2]=l;break}ya=f[wa>>2]|0;f[(f[k>>2]|0)+20>>2]=ya;k=f[q+92>>2]|0;c=f[ya+4>>2]|0;f[c+4>>2]=f[ya>>2];do if(!(d[c+22>>1]&2)){n=c+32|0;o=c+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[n>>2]=k;m=c+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;ya=(f[18026]|0)+1|0;f[18026]=ya;f[18027]=(ya|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;za=1038;break}else{k=ib[f[37368>>2]&255](l)|0;za=1038}while(0);do if((za|0)==1038){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{za=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-za;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);za=ih(f[c>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((za|0)!=7)break;k=q+81|0;do if(!(b[k>>0]|0)){if(b[q+82>>0]|0)break;b[k>>0]=1;if((f[q+180>>2]|0)>0)f[q+264>>2]=1;za=q+272|0;f[za>>2]=(f[za>>2]|0)+1}while(0);break L}while(0)}while(0);k=f[r+8>>2]|0;if(!k)break e;l=0;while(1){xa=f[k>>2]|0;a=(b[k+54>>0]|0)!=0&1;ya=k+55|0;ya=f[38372+(((h[ya>>0]|h[ya+1>>0]<<8)&3)<<2)>>2]|0;za=(f[k+36>>2]|0)!=0&1;f[_>>2]=l;f[_+4>>2]=xa;f[_+8>>2]=a;f[_+12>>2]=ya;f[_+16>>2]=za;Xm(Aa,1,55632,_);k=f[k+20>>2]|0;if(!k)break;else l=l+1|0}break}case 10:{f[xa>>2]=3;n=Da+20|0;k=f[n>>2]|0;if((k|0)<=0){za=2130;break a}c=0;while(1){l=f[ya>>2]|0;m=f[l+(c<<4)+4>>2]|0;if(m){l=f[l+(c<<4)>>2]|0;k=f[f[m+4>>2]>>2]|0;if(!(b[k+15>>0]|0))k=f[k+168>>2]|0;else k=72788;f[T>>2]=c;f[T+4>>2]=l;f[T+8>>2]=k;Xm(Aa,1,55638,T);k=f[n>>2]|0}c=c+1|0;if((c|0)>=(k|0)){za=2130;break a}}}case 7:{f[xa>>2]=2;k=f[Da+388>>2]|0;if(!k){za=2130;break a}l=0;while(1){za=f[f[k+8>>2]>>2]|0;f[K>>2]=l;f[K+4>>2]=za;Xm(Aa,1,55642,K);k=f[k>>2]|0;if(!k)break;else l=l+1|0}break}case 14:{if(!Ba)break e;r=ji(Da,Ba,la)|0;if(!r)break e;s=f[r+16>>2]|0;if(!s)break e;m=f[r+72>>2]|0;if(!m)k=-1e6;else{l=f[ya>>2]|0;k=0;while(1)if((f[l+(k<<4)+12>>2]|0)==(m|0))break;else k=k+1|0}f[xa>>2]=8;n=f[a+116>>2]|0;n=(n|0)==0?a:n;l=n+84|0;m=f[l>>2]|0;c=1<>2]=m|c;if((k|0)!=1)break;q=f[n>>2]|0;k=q+16|0;if(f[(f[k>>2]|0)+20>>2]|0)break;if(b[n+195>>0]|0)break;l=cj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){ni(n,51535,V);f[n+12>>2]=l;break}ya=f[wa>>2]|0;f[(f[k>>2]|0)+20>>2]=ya;k=f[q+92>>2]|0;c=f[ya+4>>2]|0;f[c+4>>2]=f[ya>>2];do if(!(d[c+22>>1]&2)){n=c+32|0;o=c+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[n>>2]=k;m=c+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;ya=(f[18026]|0)+1|0;f[18026]=ya;f[18027]=(ya|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;za=1084;break}else{k=ib[f[37368>>2]&255](l)|0;za=1084}while(0);do if((za|0)==1084){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{za=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-za;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);za=ih(f[c>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((za|0)!=7)break;k=q+81|0;do if(!(b[k>>0]|0)){if(b[q+82>>0]|0)break;b[k>>0]=1;if((f[q+180>>2]|0)>0)f[q+264>>2]=1;za=q+272|0;f[za>>2]=(f[za>>2]|0)+1}while(0);break M}while(0)}while(0);i=r+4|0;m=s;c=0;while(1){o=m+20|0;N:do if((f[o>>2]|0)>0){p=m+8|0;q=m+26|0;r=m+25|0;n=0;while(1){s=f[p>>2]|0;g=f[(f[i>>2]|0)+(f[m+36+(n<<3)>>2]<<4)>>2]|0;u=f[m+36+(n<<3)+4>>2]|0;switch(b[q>>0]|0){case 8:{k=55684;break}case 9:{k=55672;break}case 10:{k=55664;break}case 7:{k=55655;break}default:k=55645}switch(b[r>>0]|0){case 8:{l=55684;break}case 9:{l=55672;break}case 10:{l=55664;break}case 7:{l=55655;break}default:l=55645}f[da>>2]=c;f[da+4>>2]=n;f[da+8>>2]=s;f[da+12>>2]=g;f[da+16>>2]=u;f[da+20>>2]=k;f[da+24>>2]=l;f[da+28>>2]=55702;Xm(Aa,1,55693,da);n=n+1|0;if((n|0)>=(f[o>>2]|0))break N}}while(0);m=f[m+4>>2]|0;if(!m)break;else c=c+1|0}break}case 13:{k=f[xa>>2]|0;L=k+1|0;M=k+5|0;N=k+6|0;f[xa>>2]=N;l=f[(f[(f[ya>>2]|0)+(r<<4)+12>>2]|0)+16>>2]|0;O:do if(l|0){F=(Ba|0)==0;G=a+116|0;H=Aa+136|0;e=Aa+12|0;I=Aa+88|0;J=a+40|0;K=k+2|0;A=k+3|0;B=Da+480|0;C=Da+304|0;D=Da+308|0;E=Da+300|0;k=l;do{if(F){x=f[k+8>>2]|0;k=f[k>>2]|0}else{x=pi(a,0,Ba,la)|0;k=0}do if(x|0){g=x+16|0;if(!(f[g>>2]|0))break;m=f[x+72>>2]|0;if(!m)s=-1e6;else{c=f[ya>>2]|0;l=0;while(1)if((f[c+(l<<4)+12>>2]|0)==(m|0)){s=l;break}else l=l+1|0}n=f[G>>2]|0;n=(n|0)==0?a:n;l=n+84|0;m=f[l>>2]|0;c=1<>2]=m|c;if((s|0)!=1)break;r=f[n>>2]|0;l=r+16|0;if(f[(f[l>>2]|0)+20>>2]|0)break;if(b[n+195>>0]|0)break;m=cj(f[r>>2]|0,0,r,wa,0,542)|0;if(m|0){ni(n,51535,na);f[n+12>>2]=m;break}sa=f[wa>>2]|0;f[(f[l>>2]|0)+20>>2]=sa;l=f[r+92>>2]|0;n=f[sa+4>>2]|0;f[n+4>>2]=f[sa>>2];do if(!(d[n+22>>1]&2)){o=n+32|0;p=n+36|0;q=(f[o>>2]|0)-(f[p>>2]|0)|0;do if((l+-512|0)>>>0<65025){if(l+-1&l|0)break;f[o>>2]=l;c=n+80|0;l=f[c>>2]|0;if(!l)break;m=l+-4|0;f[c>>2]=m;l=m;do if((f[18022]|0)>>>0<=l>>>0)if((f[18023]|0)>>>0>l>>>0){f[18188]=(f[18188]|0)+-1;f[m>>2]=f[18025];f[18025]=m;sa=(f[18026]|0)+1|0;f[18026]=sa;f[18027]=(sa|0)<(f[18021]|0)&1;break}else{l=ib[f[37368>>2]&255](m)|0;za=1136;break}else{l=ib[f[37368>>2]&255](m)|0;za=1136}while(0);do if((za|0)==1136){za=0;f[18189]=(f[18189]|0)-l;if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{sa=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);f[c>>2]=0}while(0);sa=ih(f[n>>2]|0,o,q)|0;f[p>>2]=(f[o>>2]|0)-(q&65535);if((sa|0)!=7)break;l=r+81|0;do if(!(b[l>>0]|0)){if(b[r+82>>0]|0)break;b[l>>0]=1;if((f[r+180>>2]|0)>0)f[r+264>>2]=1;sa=r+272|0;f[sa>>2]=(f[sa>>2]|0)+1}while(0);break P}while(0)}while(0);nm(a,s,f[x+28>>2]|0,0,f[x>>2]|0);l=N+(d[x+42>>1]|0)|0;if((l|0)>(f[xa>>2]|0)){f[xa>>2]=l;vl(a,0,s,x,109)}else vl(a,0,s,x,109);m=f[x>>2]|0;l=f[H>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(l|0)){f[H>>2]=l+1;sa=f[I>>2]|0;b[sa+(l*20|0)>>0]=106;d[sa+(l*20|0)+2>>1]=0;f[sa+(l*20|0)+4>>2]=0;f[sa+(l*20|0)+8>>2]=L;f[sa+(l*20|0)+12>>2]=0;f[sa+(l*20|0)+16>>2]=0;b[sa+(l*20|0)+1>>0]=0}else l=tl(Aa,106,0,L,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[H>>2]|0)+-1|0;ul(Aa,(f[I>>2]|0)+(l*20|0)|0,m,0)}l=f[g>>2]|0;if(!l)l=1;else{o=l;l=1;do{m=ji(Da,f[o+8>>2]|0,la)|0;Q:do if(m|0){f[va>>2]=0;nm(a,s,f[m+28>>2]|0,0,f[m>>2]|0);if(Ym(a,m,o,va,0)|0)break O;n=f[va>>2]|0;if(!n){vl(a,l,s,m,109);break}m=f[n+44>>2]|0;c=f[H>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(c|0)){f[H>>2]=c+1;sa=f[I>>2]|0;b[sa+(c*20|0)>>0]=109;d[sa+(c*20|0)+2>>1]=0;f[sa+(c*20|0)+4>>2]=l;f[sa+(c*20|0)+8>>2]=m;f[sa+(c*20|0)+12>>2]=s;f[sa+(c*20|0)+16>>2]=0;b[sa+(c*20|0)+1>>0]=0}else tl(Aa,109,l,m,s)|0;c=f[ta>>2]|0;n=om(a,n)|0;if(!n)break;m=f[c>>2]|0;if(!(b[m+81>>0]|0)){ra=f[c+88>>2]|0;sa=(f[c+136>>2]|0)+-1|0;b[ra+(sa*20|0)+1>>0]=-9;f[ra+(sa*20|0)+16>>2]=n;break}if(f[m+480>>2]|0)break;sa=(f[n>>2]|0)+-1|0;f[n>>2]=sa;if(sa|0)break;m=f[n+12>>2]|0;do if(m|0){if(f[m+480>>2]|0){Kc(m,n);break Q}c=n;if((f[m+304>>2]|0)>>>0>c>>>0)break;if((f[m+308>>2]|0)>>>0<=c>>>0)break;sa=m+300|0;f[n>>2]=f[sa>>2];f[sa>>2]=n;break Q}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{sa=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);l=l+1|0;o=f[o+4>>2]|0}while((o|0)!=0)}if((f[J>>2]|0)<(l|0))f[J>>2]=l;l=f[H>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(l|0)){f[H>>2]=l+1;y=f[I>>2]|0;b[y+(l*20|0)>>0]=36;y=y+(l*20|0)+1|0;z=y+19|0;do{b[y>>0]=0;y=y+1|0}while((y|0)<(z|0));w=l}else w=tl(Aa,36,0,0,0)|0;l=f[g>>2]|0;if(l|0){v=x+36|0;i=1;while(1){g=l+8|0;m=ji(Da,f[g>>2]|0,la)|0;f[va>>2]=0;f[ua>>2]=0;s=(m|0)!=0;if(s)Ym(a,m,l,va,ua)|0;m=f[e>>2]|0;r=m+60|0;u=f[r>>2]|0;f[r>>2]=u+1;r=m+64|0;if(!(u+-1&u)){p=u<<3|4;q=f[m>>2]|0;m=f[r>>2]|0;R:do if(m){n=m;o=q+304|0;do if((f[o>>2]|0)>>>0<=n>>>0){if((f[q+308>>2]|0)>>>0<=n>>>0)break;if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0

>>0:0)))break R}while(0);c=Lc(q,m,p,0)|0;if(c|0){m=c;break}if(f[q+480>>2]|0){Kc(q,m);m=0;break}do if((f[o>>2]|0)>>>0<=n>>>0){if((f[q+308>>2]|0)>>>0<=n>>>0)break;sa=q+300|0;f[m>>2]=f[sa>>2];f[sa>>2]=m;m=0;break R}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);m=0;break}else{sa=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);m=0;break}}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){m=0;break}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0

>>0:0))){c=q+300|0;m=f[c>>2]|0;if(m|0){f[c>>2]=f[m>>2];sa=q+284|0;f[sa>>2]=(f[sa>>2]|0)+1;break R}c=q+296|0;m=f[c>>2]|0;if(!m){m=q+292|0;break}else{f[c>>2]=f[m>>2];sa=q+284|0;f[sa>>2]=(f[sa>>2]|0)+1;break R}}else m=q+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1}m=Dc(q,p,0)|0}while(0);f[r>>2]=m}else m=f[r>>2]|0;if(m|0)f[m+(u<<2)>>2]=-1;r=~u;o=l+20|0;m=f[o>>2]|0;if((m|0)>0){n=0;do{c=f[ua>>2]|0;m=n+N|0;Am(Aa,x,0,f[((c|0)==0?l+36+(n<<3)|0:c+(n<<2)|0)>>2]|0,m);c=f[H>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(c|0)){f[H>>2]=c+1;sa=f[I>>2]|0;b[sa+(c*20|0)>>0]=50;d[sa+(c*20|0)+2>>1]=0;f[sa+(c*20|0)+4>>2]=m;f[sa+(c*20|0)+8>>2]=r;f[sa+(c*20|0)+12>>2]=0;f[sa+(c*20|0)+16>>2]=0;b[sa+(c*20|0)+1>>0]=0}else tl(Aa,50,m,r,0)|0;n=n+1|0;m=f[o>>2]|0}while((n|0)<(m|0))}c=f[va>>2]|0;do if(!c){if(!s)break;m=f[H>>2]|0;c=m+2|0;if((f[(f[e>>2]|0)+48>>2]|0)>(m|0)){f[H>>2]=m+1;sa=f[I>>2]|0;b[sa+(m*20|0)>>0]=30;d[sa+(m*20|0)+2>>1]=0;f[sa+(m*20|0)+4>>2]=i;f[sa+(m*20|0)+8>>2]=c;f[sa+(m*20|0)+12>>2]=N;f[sa+(m*20|0)+16>>2]=0;b[sa+(m*20|0)+1>>0]=0}else tl(Aa,30,i,c,N)|0;m=f[H>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(m|0)){f[H>>2]=m+1;sa=f[I>>2]|0;b[sa+(m*20|0)>>0]=11;d[sa+(m*20|0)+2>>1]=0;f[sa+(m*20|0)+4>>2]=0;f[sa+(m*20|0)+8>>2]=r;f[sa+(m*20|0)+12>>2]=0;f[sa+(m*20|0)+16>>2]=0;b[sa+(m*20|0)+1>>0]=0;break}else{tl(Aa,11,0,r,0)|0;break}}else{q=Bm(Da,c)|0;p=f[o>>2]|0;c=f[H>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(c|0)){f[H>>2]=c+1;sa=f[I>>2]|0;b[sa+(c*20|0)>>0]=102;d[sa+(c*20|0)+2>>1]=0;f[sa+(c*20|0)+4>>2]=N;f[sa+(c*20|0)+8>>2]=m;f[sa+(c*20|0)+12>>2]=M;f[sa+(c*20|0)+16>>2]=0;b[sa+(c*20|0)+1>>0]=0;m=c}else m=tl(Aa,102,N,m,M)|0;c=f[Aa>>2]|0;S:do if(!(b[c+81>>0]|0)){if((m|0)<0)m=(f[H>>2]|0)+-1|0;c=f[I>>2]|0;n=c+(m*20|0)|0;do if((p|0)<=-1){o=c+(m*20|0)+1|0;if(b[o>>0]|0)break;if((p|0)==-3){f[c+(m*20|0)+16>>2]=q;b[o>>0]=-3;break S}if(!q)break S;f[c+(m*20|0)+16>>2]=q;b[o>>0]=p;if((p|0)!=-12)break S;sa=q+12|0;f[sa>>2]=(f[sa>>2]|0)+1;break S}while(0);ul(Aa,n,q,p)}else{if((p|0)==-12)break;qg(c,p,q)}while(0);m=f[H>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(m|0)){f[H>>2]=m+1;sa=f[I>>2]|0;b[sa+(m*20|0)>>0]=29;d[sa+(m*20|0)+2>>1]=0;f[sa+(m*20|0)+4>>2]=i;f[sa+(m*20|0)+8>>2]=r;f[sa+(m*20|0)+12>>2]=M;f[sa+(m*20|0)+16>>2]=0;b[sa+(m*20|0)+1>>0]=0}else m=tl(Aa,29,i,r,M)|0;if(b[(f[Aa>>2]|0)+81>>0]|0)break;sa=f[I>>2]|0;b[sa+(m*20|0)+1>>0]=-3;f[sa+(m*20|0)+16>>2]=0}while(0);m=f[H>>2]|0;c=(f[(f[e>>2]|0)+48>>2]|0)>(m|0);do if(!(f[v>>2]&32))if(c){f[H>>2]=m+1;sa=f[I>>2]|0;b[sa+(m*20|0)>>0]=-127;d[sa+(m*20|0)+2>>1]=0;f[sa+(m*20|0)+4>>2]=0;f[sa+(m*20|0)+8>>2]=K;f[sa+(m*20|0)+12>>2]=0;f[sa+(m*20|0)+16>>2]=0;b[sa+(m*20|0)+1>>0]=0;break}else{tl(Aa,129,0,K,0)|0;break}else if(c){f[H>>2]=m+1;sa=f[I>>2]|0;b[sa+(m*20|0)>>0]=73;d[sa+(m*20|0)+2>>1]=0;f[sa+(m*20|0)+4>>2]=0;f[sa+(m*20|0)+8>>2]=K;f[sa+(m*20|0)+12>>2]=0;f[sa+(m*20|0)+16>>2]=0;b[sa+(m*20|0)+1>>0]=0;break}else{tl(Aa,73,0,K,0)|0;break}while(0);f[ma>>2]=f[g>>2];f[ma+4>>2]=i+-1;Xm(Aa,A,55707,ma);m=f[H>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(m|0)){f[H>>2]=m+1;sa=f[I>>2]|0;b[sa+(m*20|0)>>0]=81;d[sa+(m*20|0)+2>>1]=0;f[sa+(m*20|0)+4>>2]=L;f[sa+(m*20|0)+8>>2]=4;f[sa+(m*20|0)+12>>2]=0;f[sa+(m*20|0)+16>>2]=0;b[sa+(m*20|0)+1>>0]=0}else tl(Aa,81,L,4,0)|0;m=f[(f[e>>2]|0)+64>>2]|0;if(m|0)f[m+(u<<2)>>2]=f[H>>2];m=f[ua>>2]|0;T:do if(m|0){if(f[B>>2]|0){Kc(Da,m);break}c=m;do if((f[C>>2]|0)>>>0<=c>>>0){if((f[D>>2]|0)>>>0<=c>>>0)break;f[m>>2]=f[E>>2];f[E>>2]=m;break T}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{sa=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);l=f[l+4>>2]|0;if(!l)break;else i=i+1|0}}l=w+1|0;m=f[H>>2]|0;if((f[(f[e>>2]|0)+48>>2]|0)>(m|0)){f[H>>2]=m+1;sa=f[I>>2]|0;b[sa+(m*20|0)>>0]=5;d[sa+(m*20|0)+2>>1]=0;f[sa+(m*20|0)+4>>2]=0;f[sa+(m*20|0)+8>>2]=l;f[sa+(m*20|0)+12>>2]=0;f[sa+(m*20|0)+16>>2]=0;b[sa+(m*20|0)+1>>0]=0}else tl(Aa,5,0,l,0)|0;m=f[H>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))l=(f[I>>2]|0)+(((w|0)<0?m+-1|0:w)*20|0)|0;else l=72144;f[l+8>>2]=m}while(0)}while((k|0)!=0)}while(0);break e}case 6:{if(!Ba)break e;l=(Hd(Ba,1,0)|0)<<24>>24!=0;Aa=l?55711:41516;Zm(Da,41520,2,1,Aa,158,0,0,0,0,0)|0;Zm(Da,41520,3,1,Aa,158,0,0,0,0,0)|0;Zm(Da,41511,2,1,41507,158,0,0,0,0,0)|0;Aa=Rk(Da,41511,2,1,0)|0;k=Aa+4|0;if(Aa|0)f[k>>2]=f[k>>2]|12;Aa=Rk(Da,41520,2,1,0)|0;k=Aa+4|0;if(!Aa)break e;f[k>>2]=f[k>>2]|(l?12:4);break e}case 19:{V=(b[Ca>>0]|32)<<24>>24==113;U=(f[e>>2]|0)==0?-1:r;f[xa>>2]=6;f[va>>2]=100;if(Ba){Pd(Ba,va)|0;k=f[va>>2]|0;if((k|0)<1){f[va>>2]=100;k=100}}else k=100;k=k+-1|0;T=Aa+136|0;l=f[T>>2]|0;S=Aa+12|0;if((f[(f[S>>2]|0)+48>>2]|0)>(l|0)){f[T>>2]=l+1;na=f[Aa+88>>2]|0;b[na+(l*20|0)>>0]=70;d[na+(l*20|0)+2>>1]=0;f[na+(l*20|0)+4>>2]=k;f[na+(l*20|0)+8>>2]=1;f[na+(l*20|0)+12>>2]=0;f[na+(l*20|0)+16>>2]=0;b[na+(l*20|0)+1>>0]=0}else tl(Aa,70,k,1,0)|0;D=Da+81|0;E=Da+20|0;U:do if((f[E>>2]|0)>0){F=(U|0)<0;G=a+116|0;H=Da+272|0;e=Da+276|0;I=Da+288|0;J=Da+300|0;K=Da+296|0;L=Da+284|0;M=a+19|0;N=a+28|0;O=Da+292|0;P=Aa+88|0;Q=Da+32|0;R=a+56|0;C=0;do{do if(F|(C|0)==(U|0)){c=f[G>>2]|0;c=(c|0)==0?a:c;k=c+84|0;l=f[k>>2]|0;m=1<>2]=l|m;if((C|0)!=1)break;q=f[c>>2]|0;k=q+16|0;if(f[(f[k>>2]|0)+20>>2]|0)break;if(b[c+195>>0]|0)break;l=cj(f[q>>2]|0,0,q,wa,0,542)|0;if(l|0){ni(c,51535,pa);f[c+12>>2]=l;break}na=f[wa>>2]|0;f[(f[k>>2]|0)+20>>2]=na;k=f[q+92>>2]|0;c=f[na+4>>2]|0;f[c+4>>2]=f[na>>2];do if(!(d[c+22>>1]&2)){n=c+32|0;o=c+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[n>>2]=k;m=c+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;na=(f[18026]|0)+1|0;f[18026]=na;f[18027]=(na|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;za=1314;break}else{k=ib[f[37368>>2]&255](l)|0;za=1314}while(0);do if((za|0)==1314){za=0;f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{na=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);na=ih(f[c>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((na|0)!=7)break;k=q+81|0;do if(!(b[k>>0]|0)){if(b[q+82>>0]|0)break;b[k>>0]=1;if((f[q+180>>2]|0)>0)f[q+264>>2]=1;na=q+272|0;f[na>>2]=(f[na>>2]|0)+1}while(0);break V}while(0)}while(0);p=(f[(f[ya>>2]|0)+(C<<4)+12>>2]|0)+16|0;l=f[p>>2]|0;if(!l){m=0;k=0}else{m=0;k=0;do{c=f[l+8>>2]|0;k=((f[c+36>>2]|0)>>>5&1^1)+k|0;c=f[c+8>>2]|0;if(!c)n=0;else{n=0;do{k=k+1|0;n=n+1|0;c=f[c+20>>2]|0}while((c|0)!=0)}m=(n|0)>(m|0)?n:m;l=f[l>>2]|0}while((l|0)!=0)}l=(k<<2)+4|0;W:do if(f[H>>2]|0)if(!(b[D>>0]|0))za=1340;else break U;else{do if(0<0|(0==0?(j[e>>1]|0)>>>0>>0:0))k=I;else{k=f[J>>2]|0;if(k|0){f[J>>2]=f[k>>2];f[L>>2]=(f[L>>2]|0)+1;o=k;break W}k=f[K>>2]|0;if(!k){k=O;break}f[K>>2]=f[k>>2];f[L>>2]=(f[L>>2]|0)+1;o=k;break W}while(0);f[k>>2]=(f[k>>2]|0)+1;za=1340}while(0);if((za|0)==1340){za=0;o=Dc(Da,l,0)|0}if(!o)break U;k=f[p>>2]|0;if(!k)l=0;else{l=0;do{n=f[k+8>>2]|0;c=l+1|0;if(!(f[n+36>>2]&32)){f[o+(c<<2)>>2]=f[n+28>>2];l=c}c=f[n+8>>2]|0;if(c)do{l=l+1|0;f[o+(l<<2)>>2]=f[c+44>>2];c=f[c+20>>2]|0}while((c|0)!=0);k=f[k>>2]|0}while((k|0)!=0)}f[o>>2]=l;na=f[xa>>2]|0;k=m+8|0;f[xa>>2]=(na|0)>(k|0)?na:k;b[M>>0]=0;f[N>>2]=0;k=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(k|0)){f[T>>2]=k+1;na=f[P>>2]|0;b[na+(k*20|0)>>0]=-108;d[na+(k*20|0)+2>>1]=0;f[na+(k*20|0)+4>>2]=2;f[na+(k*20|0)+8>>2]=l;f[na+(k*20|0)+12>>2]=1;f[na+(k*20|0)+16>>2]=0;b[na+(k*20|0)+1>>0]=0}else k=tl(Aa,148,2,l,1)|0;l=f[Aa>>2]|0;X:do if(!(b[l+81>>0]|0)){if((k|0)<0)k=(f[T>>2]|0)+-1|0;l=f[P>>2]|0;m=l+(k*20|0)+1|0;if(!(b[m>>0]|0)){f[l+(k*20|0)+16>>2]=o;b[m>>0]=-15;break}else{ul(Aa,l+(k*20|0)|0,o,-15);break}}else{do if(l|0){if(f[l+480>>2]|0){Kc(l,o);break X}k=o;if((f[l+304>>2]|0)>>>0>k>>>0)break;if((f[l+308>>2]|0)>>>0<=k>>>0)break;na=l+300|0;f[o>>2]=f[na>>2];f[na>>2]=o;break X}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{na=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);k=f[T>>2]|0;if((k|0)>0)d[(f[P>>2]|0)+((k+-1|0)*20|0)+2>>1]=C&255;if((f[(f[S>>2]|0)+48>>2]|0)>(k|0)){f[T>>2]=k+1;na=f[P>>2]|0;b[na+(k*20|0)>>0]=50;d[na+(k*20|0)+2>>1]=0;f[na+(k*20|0)+4>>2]=2;f[na+(k*20|0)+8>>2]=0;f[na+(k*20|0)+12>>2]=0;f[na+(k*20|0)+16>>2]=0;b[na+(k*20|0)+1>>0]=0}else k=tl(Aa,50,2,0,0)|0;f[qa>>2]=f[(f[ya>>2]|0)+(C<<4)>>2];n=Ig(Da,55715,qa)|0;l=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(l|0)){f[T>>2]=l+1;na=f[P>>2]|0;b[na+(l*20|0)>>0]=106;d[na+(l*20|0)+2>>1]=0;f[na+(l*20|0)+4>>2]=0;f[na+(l*20|0)+8>>2]=3;f[na+(l*20|0)+12>>2]=0;f[na+(l*20|0)+16>>2]=0;b[na+(l*20|0)+1>>0]=0}else l=tl(Aa,106,0,3,0)|0;m=f[Aa>>2]|0;Y:do if(b[m+81>>0]|0){if(!n)break;do if(m|0){if(f[m+480>>2]|0){Kc(m,n);break Y}l=n;if((f[m+304>>2]|0)>>>0>l>>>0)break;if((f[m+308>>2]|0)>>>0<=l>>>0)break;na=m+300|0;f[n>>2]=f[na>>2];f[na>>2]=n;break Y}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{na=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}else{if((l|0)<0)l=(f[T>>2]|0)+-1|0;m=f[P>>2]|0;c=m+(l*20|0)+1|0;if(b[c>>0]|0){ul(Aa,m+(l*20|0)|0,n,-7);break}if(!n)break;f[m+(l*20|0)+16>>2]=n;b[c>>0]=-7}while(0);l=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(l|0)){f[T>>2]=l+1;na=f[P>>2]|0;b[na+(l*20|0)>>0]=101;d[na+(l*20|0)+2>>1]=0;f[na+(l*20|0)+4>>2]=2;f[na+(l*20|0)+8>>2]=3;f[na+(l*20|0)+12>>2]=3;f[na+(l*20|0)+16>>2]=0;b[na+(l*20|0)+1>>0]=0}else tl(Aa,101,2,3,3)|0;l=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(l|0)){f[T>>2]=l+1;na=f[P>>2]|0;b[na+(l*20|0)>>0]=81;d[na+(l*20|0)+2>>1]=0;f[na+(l*20|0)+4>>2]=3;f[na+(l*20|0)+8>>2]=1;f[na+(l*20|0)+12>>2]=0;f[na+(l*20|0)+16>>2]=0;b[na+(l*20|0)+1>>0]=0}else tl(Aa,81,3,1,0)|0;l=f[T>>2]|0;m=l+2|0;if((f[(f[S>>2]|0)+48>>2]|0)>(l|0)){f[T>>2]=l+1;na=f[P>>2]|0;b[na+(l*20|0)>>0]=47;d[na+(l*20|0)+2>>1]=0;f[na+(l*20|0)+4>>2]=1;f[na+(l*20|0)+8>>2]=m;f[na+(l*20|0)+12>>2]=1;f[na+(l*20|0)+16>>2]=0;b[na+(l*20|0)+1>>0]=0}else tl(Aa,47,1,m,1)|0;l=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(l|0)){f[T>>2]=l+1;y=f[P>>2]|0;b[y+(l*20|0)>>0]=69;y=y+(l*20|0)+1|0;z=y+19|0;do{b[y>>0]=0;y=y+1|0}while((y|0)<(z|0))}else tl(Aa,69,0,0,0)|0;l=f[T>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))k=(f[P>>2]|0)+(((k|0)<0?l+-1|0:k)*20|0)|0;else k=72144;f[k+8>>2]=l;k=f[p>>2]|0;if(!k)break;do{v=f[k+8>>2]|0;do if((f[v+28>>2]|0)>=1){Z:do if(!(f[v+36>>2]&32))l=0;else{l=f[v+8>>2]|0;if(!l){l=0;break}while(1){na=l+55|0;if(((h[na>>0]|h[na+1>>0]<<8)&3)==2)break Z;l=f[l+20>>2]|0;if(!l){l=0;break}}}while(0);_m(a,v,109,0,1,0,wa,ua)|0;m=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(m|0)){f[T>>2]=m+1;na=f[P>>2]|0;b[na+(m*20|0)>>0]=70;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=0;f[na+(m*20|0)+8>>2]=7;f[na+(m*20|0)+12>>2]=0;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0}else tl(Aa,70,0,7,0)|0;B=v+8|0;m=f[B>>2]|0;if(m|0){c=0;while(1){n=c+8|0;o=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(o|0)){f[T>>2]=o+1;na=f[P>>2]|0;b[na+(o*20|0)>>0]=70;d[na+(o*20|0)+2>>1]=0;f[na+(o*20|0)+4>>2]=0;f[na+(o*20|0)+8>>2]=n;f[na+(o*20|0)+12>>2]=0;f[na+(o*20|0)+16>>2]=0;b[na+(o*20|0)+1>>0]=0}else tl(Aa,70,0,n,0)|0;m=f[m+20>>2]|0;if(!m)break;else c=c+1|0}}m=f[wa>>2]|0;c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=36;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=m;f[na+(c*20|0)+8>>2]=0;f[na+(c*20|0)+12>>2]=0;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else tl(Aa,36,m,0,0)|0;m=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(m|0)){f[T>>2]=m+1;A=f[P>>2]|0;b[A+(m*20|0)>>0]=83;d[A+(m*20|0)+2>>1]=0;f[A+(m*20|0)+4>>2]=7;f[A+(m*20|0)+8>>2]=1;f[A+(m*20|0)+12>>2]=0;f[A+(m*20|0)+16>>2]=0;b[A+(m*20|0)+1>>0]=0;A=m}else A=tl(Aa,83,7,1,0)|0;do if(V)o=v+42|0;else{m=f[wa>>2]|0;o=v+42|0;c=(d[o>>1]|0)+-1|0;n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=90;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=m;f[na+(n*20|0)+8>>2]=c;f[na+(n*20|0)+12>>2]=3;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else tl(Aa,90,m,c,3)|0;m=f[T>>2]|0;if((m|0)<=0)break;d[(f[P>>2]|0)+((m+-1|0)*20|0)+2>>1]=128}while(0);m=d[o>>1]|0;if(m<<16>>16>0){s=v+40|0;g=v+4|0;r=0;do{do if((r|0)!=(d[s>>1]|0)){if(!(b[(f[g>>2]|0)+(r<<4)+12>>0]|0))break;Am(Aa,v,f[wa>>2]|0,r,3);m=f[T>>2]|0;if((m|0)>0)d[(f[P>>2]|0)+((m+-1|0)*20|0)+2>>1]=128;if((f[(f[S>>2]|0)+48>>2]|0)>(m|0)){f[T>>2]=m+1;na=f[P>>2]|0;b[na+(m*20|0)>>0]=51;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=3;f[na+(m*20|0)+8>>2]=0;f[na+(m*20|0)+12>>2]=0;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0}else m=tl(Aa,51,3,0,0)|0;q=f[(f[g>>2]|0)+(r<<4)>>2]|0;f[ra>>2]=f[v>>2];f[ra+4>>2]=q;q=Ig(Da,55739,ra)|0;c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=106;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=0;f[na+(c*20|0)+8>>2]=3;f[na+(c*20|0)+12>>2]=0;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else c=tl(Aa,106,0,3,0)|0;n=f[Aa>>2]|0;_:do if(b[n+81>>0]|0){if(!q)break;do if(n|0){if(f[n+480>>2]|0){Kc(n,q);break _}c=q;if((f[n+304>>2]|0)>>>0>c>>>0)break;if((f[n+308>>2]|0)>>>0<=c>>>0)break;na=n+300|0;f[q>>2]=f[na>>2];f[na>>2]=q;break _}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{na=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}else{if((c|0)<0)c=(f[T>>2]|0)+-1|0;n=f[P>>2]|0;p=n+(c*20|0)+1|0;if(b[p>>0]|0){ul(Aa,n+(c*20|0)|0,q,-7);break}if(!q)break;f[n+(c*20|0)+16>>2]=q;b[p>>0]=-7}while(0);c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=81;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=3;f[na+(c*20|0)+8>>2]=1;f[na+(c*20|0)+12>>2]=0;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else tl(Aa,81,3,1,0)|0;c=f[T>>2]|0;n=c+2|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=47;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=1;f[na+(c*20|0)+8>>2]=n;f[na+(c*20|0)+12>>2]=1;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else tl(Aa,47,1,n,1)|0;c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;y=f[P>>2]|0;b[y+(c*20|0)>>0]=69;y=y+(c*20|0)+1|0;z=y+19|0;do{b[y>>0]=0;y=y+1|0}while((y|0)<(z|0))}else tl(Aa,69,0,0,0)|0;c=f[T>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))m=(f[P>>2]|0)+(((m|0)<0?c+-1|0:m)*20|0)|0;else m=72144;f[m+8>>2]=c;m=d[o>>1]|0}while(0);r=r+1|0}while((r|0)<(m<<16>>16|0))}m=f[v+24>>2]|0;$:do if(m|0){if(!((f[Q>>2]&512|0)==0&0==0))break;i=Ik(Da,m,0)|0;do if(b[D>>0]|0){if(!i)break $}else{m=f[S>>2]|0;r=m+60|0;g=f[r>>2]|0;f[r>>2]=g+1;r=m+64|0;if(!(g+-1&g)){p=g<<3|4;q=f[m>>2]|0;m=f[r>>2]|0;aa:do if(m){n=m;o=q+304|0;do if((f[o>>2]|0)>>>0<=n>>>0){if((f[q+308>>2]|0)>>>0<=n>>>0)break;if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0

>>0:0)))break aa}while(0);c=Lc(q,m,p,0)|0;if(c|0){m=c;break}if(f[q+480>>2]|0){Kc(q,m);m=0;break}do if((f[o>>2]|0)>>>0<=n>>>0){if((f[q+308>>2]|0)>>>0<=n>>>0)break;na=q+300|0;f[m>>2]=f[na>>2];f[na>>2]=m;m=0;break aa}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);m=0;break}else{na=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);m=0;break}}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){m=0;break}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0

>>0:0))){c=q+300|0;m=f[c>>2]|0;if(m|0){f[c>>2]=f[m>>2];na=q+284|0;f[na>>2]=(f[na>>2]|0)+1;break aa}c=q+296|0;m=f[c>>2]|0;if(!m){m=q+292|0;break}else{f[c>>2]=f[m>>2];na=q+284|0;f[na>>2]=(f[na>>2]|0)+1;break aa}}else m=q+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1}m=Dc(q,p,0)|0}while(0);f[r>>2]=m}else m=f[r>>2]|0;if(m|0)f[m+(g<<2)>>2]=-1;s=~g;m=f[S>>2]|0;r=m+60|0;u=f[r>>2]|0;f[r>>2]=u+1;r=m+64|0;if(!(u+-1&u)){p=u<<3|4;q=f[m>>2]|0;m=f[r>>2]|0;ba:do if(m){n=m;o=q+304|0;do if((f[o>>2]|0)>>>0<=n>>>0){if((f[q+308>>2]|0)>>>0<=n>>>0)break;if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0

>>0:0)))break ba}while(0);c=Lc(q,m,p,0)|0;if(c|0){m=c;break}if(f[q+480>>2]|0){Kc(q,m);m=0;break}do if((f[o>>2]|0)>>>0<=n>>>0){if((f[q+308>>2]|0)>>>0<=n>>>0)break;na=q+300|0;f[m>>2]=f[na>>2];f[na>>2]=m;m=0;break ba}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);m=0;break}else{na=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);m=0;break}}else{if(f[q+272>>2]|0){if(b[q+81>>0]|0){m=0;break}}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0

>>0:0))){c=q+300|0;m=f[c>>2]|0;if(m|0){f[c>>2]=f[m>>2];na=q+284|0;f[na>>2]=(f[na>>2]|0)+1;break ba}c=q+296|0;m=f[c>>2]|0;if(!m){m=q+292|0;break}else{f[c>>2]=f[m>>2];na=q+284|0;f[na>>2]=(f[na>>2]|0)+1;break ba}}else m=q+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1}m=Dc(q,p,0)|0}while(0);f[r>>2]=m}else m=f[r>>2]|0;if(m|0)f[m+(u<<2)>>2]=-1;c=~u;f[R>>2]=(f[wa>>2]|0)+1;m=f[i>>2]|0;if((m|0)>1)do{na=m;m=m+-1|0;zm(a,f[i+4+(m*20|0)>>2]|0,s,0)}while((na|0)>2);Cm(a,f[i+4>>2]|0,c,16);m=f[(f[S>>2]|0)+64>>2]|0;if(m|0)f[m+(g<<2)>>2]=f[T>>2];f[R>>2]=0;f[sa>>2]=f[v>>2];o=Ig(Da,55759,sa)|0;m=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(m|0)){f[T>>2]=m+1;na=f[P>>2]|0;b[na+(m*20|0)>>0]=106;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=0;f[na+(m*20|0)+8>>2]=3;f[na+(m*20|0)+12>>2]=0;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0}else m=tl(Aa,106,0,3,0)|0;c=f[Aa>>2]|0;ca:do if(b[c+81>>0]|0){if(!o)break;do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break ca}m=o;if((f[c+304>>2]|0)>>>0>m>>>0)break;if((f[c+308>>2]|0)>>>0<=m>>>0)break;na=c+300|0;f[o>>2]=f[na>>2];f[na>>2]=o;break ca}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{na=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else{if((m|0)<0)m=(f[T>>2]|0)+-1|0;c=f[P>>2]|0;n=c+(m*20|0)+1|0;if(b[n>>0]|0){ul(Aa,c+(m*20|0)|0,o,-7);break}if(!o)break;f[c+(m*20|0)+16>>2]=o;b[n>>0]=-7}while(0);m=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(m|0)){f[T>>2]=m+1;na=f[P>>2]|0;b[na+(m*20|0)>>0]=81;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=3;f[na+(m*20|0)+8>>2]=1;f[na+(m*20|0)+12>>2]=0;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0}else tl(Aa,81,3,1,0)|0;m=f[T>>2]|0;c=m+2|0;if((f[(f[S>>2]|0)+48>>2]|0)>(m|0)){f[T>>2]=m+1;na=f[P>>2]|0;b[na+(m*20|0)>>0]=47;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=1;f[na+(m*20|0)+8>>2]=c;f[na+(m*20|0)+12>>2]=1;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0}else tl(Aa,47,1,c,1)|0;m=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(m|0)){f[T>>2]=m+1;y=f[P>>2]|0;b[y+(m*20|0)>>0]=69;y=y+(m*20|0)+1|0;z=y+19|0;do{b[y>>0]=0;y=y+1|0}while((y|0)<(z|0))}else tl(Aa,69,0,0,0)|0;m=f[(f[S>>2]|0)+64>>2]|0;if(!m)break;f[m+(u<<2)>>2]=f[T>>2]}while(0);jg(Da,i)}while(0);if(V){l=f[wa>>2]|0;m=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(m|0)){f[T>>2]=m+1;na=f[P>>2]|0;b[na+(m*20|0)>>0]=5;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=l;f[na+(m*20|0)+8>>2]=A;f[na+(m*20|0)+12>>2]=0;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0}else tl(Aa,5,l,A,0)|0;m=f[T>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))l=(f[P>>2]|0)+((((A|0)<1?m:A)+-1|0)*20|0)|0;else l=72144;f[l+8>>2]=m;break}m=f[B>>2]|0;if(m|0){x=v+4|0;c=-1;n=0;w=0;while(1){o=f[S>>2]|0;u=o+60|0;i=f[u>>2]|0;f[u>>2]=i+1;u=o+64|0;if(!(i+-1&i)){s=i<<3|4;g=f[o>>2]|0;o=f[u>>2]|0;da:do if(o){q=o;r=g+304|0;do if((f[r>>2]|0)>>>0<=q>>>0){if((f[g+308>>2]|0)>>>0<=q>>>0)break;if(!(0<0|(0==0?(j[g+276>>1]|0)>>>0>>0:0)))break da}while(0);p=Lc(g,o,s,0)|0;if(p|0){o=p;break}if(f[g+480>>2]|0){Kc(g,o);o=0;break}do if((f[r>>2]|0)>>>0<=q>>>0){if((f[g+308>>2]|0)>>>0<=q>>>0)break;na=g+300|0;f[o>>2]=f[na>>2];f[na>>2]=o;o=0;break da}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);o=0;break}else{na=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);o=0;break}}else{if(f[g+272>>2]|0){if(b[g+81>>0]|0){o=0;break}}else{do if(!(0<0|(0==0?(j[g+276>>1]|0)>>>0>>0:0))){p=g+300|0;o=f[p>>2]|0;if(o|0){f[p>>2]=f[o>>2];na=g+284|0;f[na>>2]=(f[na>>2]|0)+1;break da}p=g+296|0;o=f[p>>2]|0;if(!o){o=g+292|0;break}else{f[p>>2]=f[o>>2];na=g+284|0;f[na>>2]=(f[na>>2]|0)+1;break da}}else o=g+288|0;while(0);f[o>>2]=(f[o>>2]|0)+1}o=Dc(g,s,0)|0}while(0);f[u>>2]=o}else o=f[u>>2]|0;if(o|0)f[o+(i<<2)>>2]=-1;p=~i;do if((l|0)!=(m|0)){v=xm(a,m,f[wa>>2]|0,0,0,oa,n,c)|0;c=w+8|0;n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=83;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=c;f[na+(n*20|0)+8>>2]=1;f[na+(n*20|0)+12>>2]=0;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else tl(Aa,83,c,1,0)|0;c=(f[ua>>2]|0)+w|0;o=j[m+52>>1]|0;n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=29;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=c;f[na+(n*20|0)+8>>2]=p;f[na+(n*20|0)+12>>2]=v;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0;p=n}else p=tl(Aa,29,c,p,v)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){na=f[P>>2]|0;b[na+(p*20|0)+1>>0]=-3;f[na+(p*20|0)+16>>2]=o}c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=106;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=0;f[na+(c*20|0)+8>>2]=3;f[na+(c*20|0)+12>>2]=0;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else c=tl(Aa,106,0,3,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((c|0)<0)c=(f[T>>2]|0)+-1|0;ul(Aa,(f[P>>2]|0)+(c*20|0)|0,55789,0)}c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=101;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=7;f[na+(c*20|0)+8>>2]=3;f[na+(c*20|0)+12>>2]=3;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else tl(Aa,101,7,3,3)|0;c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=106;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=0;f[na+(c*20|0)+8>>2]=4;f[na+(c*20|0)+12>>2]=0;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else c=tl(Aa,106,0,4,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((c|0)<0)c=(f[T>>2]|0)+-1|0;ul(Aa,(f[P>>2]|0)+(c*20|0)|0,55794,0)}c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=101;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=4;f[na+(c*20|0)+8>>2]=3;f[na+(c*20|0)+12>>2]=3;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else tl(Aa,101,4,3,3)|0;o=f[m>>2]|0;c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=106;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=0;f[na+(c*20|0)+8>>2]=4;f[na+(c*20|0)+12>>2]=0;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else c=tl(Aa,106,0,4,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((c|0)<0)n=(f[T>>2]|0)+-1|0;else n=c;ul(Aa,(f[P>>2]|0)+(n*20|0)|0,o,0)}n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=101;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=4;f[na+(n*20|0)+8>>2]=3;f[na+(n*20|0)+12>>2]=3;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else tl(Aa,101,4,3,3)|0;n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=81;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=3;f[na+(n*20|0)+8>>2]=1;f[na+(n*20|0)+12>>2]=0;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else tl(Aa,81,3,1,0)|0;n=f[T>>2]|0;o=n+2|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;i=f[P>>2]|0;b[i+(n*20|0)>>0]=47;d[i+(n*20|0)+2>>1]=0;f[i+(n*20|0)+4>>2]=1;f[i+(n*20|0)+8>>2]=o;f[i+(n*20|0)+12>>2]=1;f[i+(n*20|0)+16>>2]=0;b[i+(n*20|0)+1>>0]=0;i=n}else i=tl(Aa,47,1,o,1)|0;n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;y=f[P>>2]|0;b[y+(n*20|0)>>0]=69;y=y+(n*20|0)+1|0;z=y+19|0;do{b[y>>0]=0;y=y+1|0}while((y|0)<(z|0))}else tl(Aa,69,0,0,0)|0;o=f[T>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))n=(f[P>>2]|0)+(((p|0)<0?o+-1|0:p)*20|0)|0;else n=72144;f[n+8>>2]=o;do if(b[m+54>>0]|0){n=f[S>>2]|0;g=n+60|0;u=f[g>>2]|0;f[g>>2]=u+1;g=n+64|0;if(!(u+-1&u)){r=u<<3|4;s=f[n>>2]|0;n=f[g>>2]|0;ea:do if(n){p=n;q=s+304|0;do if((f[q>>2]|0)>>>0<=p>>>0){if((f[s+308>>2]|0)>>>0<=p>>>0)break;if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0)))break ea}while(0);o=Lc(s,n,r,0)|0;if(o|0){n=o;break}if(f[s+480>>2]|0){Kc(s,n);n=0;break}do if((f[q>>2]|0)>>>0<=p>>>0){if((f[s+308>>2]|0)>>>0<=p>>>0)break;na=s+300|0;f[n>>2]=f[na>>2];f[na>>2]=n;n=0;break ea}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);n=0;break}else{na=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-na;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);n=0;break}}else{if(f[s+272>>2]|0){if(b[s+81>>0]|0){n=0;break}}else{do if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0))){o=s+300|0;n=f[o>>2]|0;if(n|0){f[o>>2]=f[n>>2];na=s+284|0;f[na>>2]=(f[na>>2]|0)+1;break ea}o=s+296|0;n=f[o>>2]|0;if(!n){n=s+292|0;break}else{f[o>>2]=f[n>>2];na=s+284|0;f[na>>2]=(f[na>>2]|0)+1;break ea}}else n=s+288|0;while(0);f[n>>2]=(f[n>>2]|0)+1}n=Dc(s,r,0)|0}while(0);f[g>>2]=n}else n=f[g>>2]|0;if(n|0)f[n+(u<<2)>>2]=-1;s=~u;r=m+50|0;if(d[r>>1]|0){o=m+4|0;n=0;do{na=d[(f[o>>2]|0)+(n<<1)>>1]|0;if(!(na<<16>>16>-1?(b[(f[x>>2]|0)+(na<<16>>16<<4)+12>>0]|0)!=0:0))za=1694;do if((za|0)==1694){za=0;p=n+v|0;q=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(q|0)){f[T>>2]=q+1;na=f[P>>2]|0;b[na+(q*20|0)>>0]=50;d[na+(q*20|0)+2>>1]=0;f[na+(q*20|0)+4>>2]=p;f[na+(q*20|0)+8>>2]=s;f[na+(q*20|0)+12>>2]=0;f[na+(q*20|0)+16>>2]=0;b[na+(q*20|0)+1>>0]=0;break}else{tl(Aa,50,p,s,0)|0;break}}while(0);n=n+1|0}while(n>>>0<(j[r>>1]|0)>>>0)}n=(f[ua>>2]|0)+w|0;o=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(o|0)){f[T>>2]=o+1;na=f[P>>2]|0;b[na+(o*20|0)>>0]=5;d[na+(o*20|0)+2>>1]=0;f[na+(o*20|0)+4>>2]=n;f[na+(o*20|0)+8>>2]=0;f[na+(o*20|0)+12>>2]=0;f[na+(o*20|0)+16>>2]=0;b[na+(o*20|0)+1>>0]=0}else o=tl(Aa,5,n,0,0)|0;n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=11;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=0;f[na+(n*20|0)+8>>2]=s;f[na+(n*20|0)+12>>2]=0;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else tl(Aa,11,0,s,0)|0;n=f[T>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))o=(f[P>>2]|0)+(((o|0)<0?n+-1|0:o)*20|0)|0;else o=72144;f[o+8>>2]=n;o=(f[ua>>2]|0)+w|0;p=j[r>>1]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=38;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=o;f[na+(n*20|0)+8>>2]=s;f[na+(n*20|0)+12>>2]=v;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else n=tl(Aa,38,o,s,v)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){na=f[P>>2]|0;b[na+(n*20|0)+1>>0]=-3;f[na+(n*20|0)+16>>2]=p}n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=106;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=0;f[na+(n*20|0)+8>>2]=3;f[na+(n*20|0)+12>>2]=0;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else n=tl(Aa,106,0,3,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((n|0)<0)n=(f[T>>2]|0)+-1|0;ul(Aa,(f[P>>2]|0)+(n*20|0)|0,55815,0)}n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=11;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=0;f[na+(n*20|0)+8>>2]=c;f[na+(n*20|0)+12>>2]=0;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else tl(Aa,11,0,c,0)|0;c=f[(f[S>>2]|0)+64>>2]|0;if(!c)break;f[c+(u<<2)>>2]=f[T>>2]}while(0);n=f[T>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))c=(f[P>>2]|0)+(((i|0)<0?n+-1|0:i)*20|0)|0;else c=72144;f[c+8>>2]=n;c=f[oa>>2]|0;if(!c){c=v;n=m;break}n=f[ta>>2]|0;o=f[(f[n+12>>2]|0)+64>>2]|0;if(!o){c=v;n=m;break}f[o+(~c<<2)>>2]=f[n+136>>2];c=v;n=m}while(0);m=f[m+20>>2]|0;if(!m)break;else w=w+1|0}}m=f[wa>>2]|0;c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=5;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=m;f[na+(c*20|0)+8>>2]=A;f[na+(c*20|0)+12>>2]=0;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else tl(Aa,5,m,A,0)|0;m=f[T>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))c=(f[P>>2]|0)+((((A|0)<1?m:A)+-1|0)*20|0)|0;else c=72144;f[c+8>>2]=m;if((f[(f[S>>2]|0)+48>>2]|0)>(m|0)){f[T>>2]=m+1;na=f[P>>2]|0;b[na+(m*20|0)>>0]=106;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=0;f[na+(m*20|0)+8>>2]=2;f[na+(m*20|0)+12>>2]=0;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0}else m=tl(Aa,106,0,2,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((m|0)<0)m=(f[T>>2]|0)+-1|0;ul(Aa,(f[P>>2]|0)+(m*20|0)|0,55842,0)}m=f[B>>2]|0;if(!m)break;p=0;while(1){if((l|0)!=(m|0)){c=(f[ua>>2]|0)+p|0;n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=104;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=c;f[na+(n*20|0)+8>>2]=3;f[na+(n*20|0)+12>>2]=0;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else tl(Aa,104,c,3,0)|0;c=p+8|0;n=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(n|0)){f[T>>2]=n+1;na=f[P>>2]|0;b[na+(n*20|0)>>0]=53;d[na+(n*20|0)+2>>1]=0;f[na+(n*20|0)+4>>2]=c;f[na+(n*20|0)+8>>2]=0;f[na+(n*20|0)+12>>2]=3;f[na+(n*20|0)+16>>2]=0;b[na+(n*20|0)+1>>0]=0}else n=tl(Aa,53,c,0,3)|0;c=f[T>>2]|0;if((c|0)>0)d[(f[P>>2]|0)+((c+-1|0)*20|0)+2>>1]=144;o=f[m>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=106;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=0;f[na+(c*20|0)+8>>2]=4;f[na+(c*20|0)+12>>2]=0;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else c=tl(Aa,106,0,4,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((c|0)<0)c=(f[T>>2]|0)+-1|0;ul(Aa,(f[P>>2]|0)+(c*20|0)|0,o,0)}c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=101;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=4;f[na+(c*20|0)+8>>2]=2;f[na+(c*20|0)+12>>2]=3;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else tl(Aa,101,4,2,3)|0;c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=81;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=3;f[na+(c*20|0)+8>>2]=1;f[na+(c*20|0)+12>>2]=0;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else tl(Aa,81,3,1,0)|0;c=f[T>>2]|0;o=c+2|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;na=f[P>>2]|0;b[na+(c*20|0)>>0]=47;d[na+(c*20|0)+2>>1]=0;f[na+(c*20|0)+4>>2]=1;f[na+(c*20|0)+8>>2]=o;f[na+(c*20|0)+12>>2]=1;f[na+(c*20|0)+16>>2]=0;b[na+(c*20|0)+1>>0]=0}else tl(Aa,47,1,o,1)|0;c=f[T>>2]|0;if((f[(f[S>>2]|0)+48>>2]|0)>(c|0)){f[T>>2]=c+1;y=f[P>>2]|0;b[y+(c*20|0)>>0]=69;y=y+(c*20|0)+1|0;z=y+19|0;do{b[y>>0]=0;y=y+1|0}while((y|0)<(z|0))}else tl(Aa,69,0,0,0)|0;o=f[T>>2]|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0))c=(f[P>>2]|0)+(((n|0)<0?o+-1|0:n)*20|0)|0;else c=72144;f[c+8>>2]=o}m=f[m+20>>2]|0;if(!m)break;else p=p+1|0}}while(0);k=f[k>>2]|0}while((k|0)!=0)}while(0);C=C+1|0}while((C|0)<(f[E>>2]|0))}while(0);k=wl(Aa,7,22848)|0;if(k|0){f[k+8>>2]=1-(f[va>>2]|0);b[k+41>>0]=-1;f[k+56>>2]=55871;b[k+101>>0]=-1;f[k+116>>2]=45048}if(!(b[(f[Aa>>2]|0)+81>>0]|0))k=f[Aa+88>>2]|0;else k=72144;f[k+12>>2]=(f[T>>2]|0)+-2;za=2130;break a}case 12:{if(!Ba){m=f[a>>2]|0;fa:do if(!(b[m+165>>0]|0)){c=a+4|0;n=m+24|0;o=(f[n>>2]&1|0)==0;p=m+16|0;ya=f[(f[p>>2]|0)+12>>2]|0;b[m+78>>0]=b[ya+77>>0]|0;if((d[ya+78>>1]&1)==0?(M=qi(m,0,c,0)|0,(M|0)!=0):0)k=M;else za=1792;ga:do if((za|0)==1792){k=f[m+20>>2]|0;if((k|0)>1)do{l=k;k=k+-1|0;if((d[(f[(f[p>>2]|0)+(k<<4)+12>>2]|0)+78>>1]&1)==0?(P=qi(m,k,c,0)|0,P|0):0){k=P;break ga}}while((l|0)>2);if(o)f[n>>2]=f[n>>2]&-2;if(!(b[m+89>>0]|0))break fa;f[n>>2]=f[n>>2]|8;break fa}while(0);f[a+12>>2]=k;Aa=a+36|0;f[Aa>>2]=(f[Aa>>2]|0)+1;break e}while(0);za=b[(f[a>>2]|0)+78>>0]|0;l=f[22880+((za&255)<<3)>>2]|0;if(za<<24>>24==8)break e;m=Aa+136|0;k=f[m>>2]|0;c=Aa+12|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=106;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,106,0,1,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;ul(Aa,(f[Aa+88>>2]|0)+(k*20|0)|0,l,0)}k=f[m>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,1,0)|0;break e}}n=f[(f[ya>>2]|0)+12>>2]|0;if((d[n+78>>1]&5)==1){za=2130;break a}k=b[Ba>>0]|0;ha:do if(k<<24>>24){k=(h[1232+(k&255)>>0]|0)+-117|0;c=(k|0)==0;if(c){l=55874;m=Ba;do{m=m+1|0;l=l+1|0;Aa=b[m>>0]|0;k=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(k|0)!=0))}do if(k){if(!c)break ha;k=55950;l=Ba;do{l=l+1|0;k=k+1|0;Aa=b[l>>0]|0;m=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(m|0)!=0));if(!m){k=22888;break}k=55956;l=Ba;do{l=l+1|0;k=k+1|0;Aa=b[l>>0]|0;m=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(m|0)!=0));if(!m){k=22896;break}k=55965;l=Ba;do{l=l+1|0;k=k+1|0;Aa=b[l>>0]|0;m=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(m|0)!=0));if(!m){k=22904;break}k=55974;l=Ba;do{l=l+1|0;k=k+1|0;Aa=b[l>>0]|0;m=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(m|0)!=0));if(!m){k=22912;break}k=55982;l=Ba;do{l=l+1|0;k=k+1|0;Aa=b[l>>0]|0;m=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(m|0)!=0));if(!m){k=22920;break}k=55990;l=Ba;do{l=l+1|0;k=k+1|0;Aa=b[l>>0]|0;m=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(m|0)!=0));if(!m){k=22928;break}k=55997;l=Ba;do{l=l+1|0;k=k+1|0;Aa=b[l>>0]|0;m=(h[1232+(Aa&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(Aa<<24>>24==0|(m|0)!=0));if(!m)k=22936;else break ha}else k=22880;while(0);za=b[k+4>>0]|0;za=za<<24>>24==0?2:za;b[Da+78>>0]=za;b[n+77>>0]=za;za=2130;break a}while(0);f[$>>2]=Ba;ni(a,55879,$);break e}case 0:{k=f[6080+(v<<4)+8>>2]|0;l=1<>2]=f[za>>2]|l;if(!aa?b[(f[(f[(f[Aa>>2]|0)+16>>2]|0)+(r<<4)+4>>2]|0)+9>>0]|0:0){za=Aa+152|0;f[za>>2]=f[za>>2]|l}ia:do if(Ba|0){switch(n|0){case 24:case 25:case 42:case 43:break ia;default:{}}Aa=wl(Aa,2,55904)|0;f[Aa+4>>2]=r;f[Aa+24>>2]=r;f[Aa+28>>2]=k;f[wa>>2]=0;Pd(Ba,wa)|0;f[Aa+32>>2]=f[wa>>2];break e}while(0);Aa=wl(Aa,3,55912)|0;f[Aa+4>>2]=r;f[Aa+24>>2]=r;f[Aa+32>>2]=k;Aa=(h[S>>0]|h[S+1>>0]<<8)&-65;b[S>>0]=Aa;b[S+1>>0]=Aa>>8;break e}case 8:{f[xa>>2]=1;c=Aa+136|0;n=Aa+12|0;o=Aa+88|0;m=0;do{l=f[5872+(m<<2)>>2]|0;m=m+1|0;k=f[c>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[o>>2]|0;b[za+(k*20|0)>>0]=106;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,106,0,1,0)|0;if(!(b[(f[Aa>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[c>>2]|0)+-1|0;ul(Aa,(f[o>>2]|0)+(k*20|0)|0,l,0)}k=f[c>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[o>>2]|0;b[za+(k*20|0)>>0]=81;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=1;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else tl(Aa,81,1,1,0)|0}while((m|0)!=10);Aa=(h[S>>0]|h[S+1>>0]<<8)&-65;b[S>>0]=Aa;b[S+1>>0]=Aa>>8;break e}case 39:{o=(f[e>>2]|0)==0?10:r;do if(Ba){n=b[Ba>>0]|0;c=h[1232+(n&255)>>0]|0;k=c+-102|0;n=n<<24>>24==0;if(!(n|(k|0)!=0)){l=55450;m=Ba;do{m=m+1|0;l=l+1|0;za=b[m>>0]|0;k=(h[1232+(za&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(k|0)!=0))}if(!k)l=1;else{k=c+-114|0;if(!(n|(k|0)!=0)){l=55924;m=Ba;do{m=m+1|0;l=l+1|0;za=b[m>>0]|0;k=(h[1232+(za&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(k|0)!=0))}if(!k){l=2;break}k=c+-116|0;if(!(n|(k|0)!=0)){l=45439;m=Ba;do{m=m+1|0;l=l+1|0;za=b[m>>0]|0;k=(h[1232+(za&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(k|0)!=0))}l=(k|0)==0?3:0}}else l=0;while(0);f[xa>>2]=3;m=Aa+136|0;k=f[m>>2]|0;c=Aa+12|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=6;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=o;f[za+(k*20|0)+8>>2]=l;f[za+(k*20|0)+12>>2]=1;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else tl(Aa,6,o,l,1)|0;k=f[m>>2]|0;if((f[(f[c>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=3;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0;break e}else{tl(Aa,81,1,3,0)|0;break e}}case 38:{if(!Ba)k=f[Da+236>>2]|0;else{f[wa>>2]=0;Pd(Ba,wa)|0;za=f[wa>>2]|0;ya=(za|0)>0;k=ya?85:0;f[Da+236>>2]=k;f[Da+240>>2]=ya?za:0}if((k|0)==85){n=f[Da+240>>2]|0;c=n;n=((n|0)<0)<<31>>31}else{c=0;n=0}m=f[Aa>>2]|0;ja:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=1877;else za=1897;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=1878;break ja}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=1878;break ja}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=1877}while(0);if((za|0)==1877){o=Dc(m,8,0)|0;za=1878}ka:do if((za|0)==1878){if(!o){za=1897;break}m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=n;b[m+1>>0]=n>>8;b[m+2>>0]=n>>16;b[m+3>>0]=n>>24;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break ka}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break ka}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);do if((za|0)==1897){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=81;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=1;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0;za=2130;break a}else{tl(Aa,81,1,1,0)|0;za=2130;break a}}case 31:{n=Da+20|0;m=f[n>>2]|0;if((m|0)<=0){za=2130;break a}c=f[ya>>2]|0;k=0;do{l=f[c+(k<<4)+4>>2]|0;if(l|0)f[(f[l+4>>2]|0)+4>>2]=f[l>>2];k=k+1|0}while((k|0)!=(m|0));k=0;while(1){l=f[c+(k<<4)+4>>2]|0;if(!l)l=m;else{ob[f[37472>>2]&127](f[(f[(f[f[l+4>>2]>>2]|0)+212>>2]|0)+44>>2]|0);l=f[n>>2]|0}k=k+1|0;if((k|0)>=(l|0)){za=2130;break a}c=f[ya>>2]|0;m=l}}case 27:{if(Ba){f[wa>>2]=0;Pd(Ba,wa)|0;k=f[wa>>2]|0;if(!(k&2))break e}else k=65534;wa=a+40|0;x=f[wa>>2]|0;f[wa>>2]=x+1;if(!la)v=(f[Da+20>>2]|0)+-1|0;else v=r;if((r|0)>(v|0)){m=Aa+136|0;k=Aa+12|0}else{w=a+116|0;g=k&1;s=(g|0)==0;m=Aa+136|0;g=g|2;k=Aa+12|0;u=a+19|0;i=Aa+88|0;while(1){do if((r|0)!=1){l=f[w>>2]|0;l=((l|0)==0?a:l)+84|0;c=f[l>>2]|0;n=1<>2]=c|n;l=f[(f[(f[ya>>2]|0)+(r<<4)+12>>2]|0)+16>>2]|0;if(!l)break;do{q=f[l+8>>2]|0;la:do if(f[q+36>>2]&256|0){p=(j[q+44>>1]|0)+46|0;n=p&65535;c=f[q+8>>2]|0;ma:do if(!c)za=1935;else while(1){wa=c+55|0;if(!((h[wa>>0]|h[wa+1>>0]<<8)&128))break ma;c=f[c+20>>2]|0;if(!c){za=1935;break}}while(0);do if((za|0)==1935){za=0;if(!(n<<16>>16))break;vl(a,x,r,q,109);n=f[m>>2]|0;o=n+g|0;c=p<<16>>16;if((f[(f[k>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;wa=f[i>>2]|0;b[wa+(n*20|0)>>0]=33;d[wa+(n*20|0)+2>>1]=0;f[wa+(n*20|0)+4>>2]=x;f[wa+(n*20|0)+8>>2]=o;f[wa+(n*20|0)+12>>2]=c;f[wa+(n*20|0)+16>>2]=0;b[wa+(n*20|0)+1>>0]=0;break}else{tl(Aa,33,x,o,c)|0;break}}while(0);q=f[q>>2]|0;f[ha>>2]=f[(f[ya>>2]|0)+(r<<4)>>2];f[ha+4>>2]=q;q=Ig(Da,55932,ha)|0;if(s){c=f[m>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(c|0)){f[m>>2]=c+1;y=f[i>>2]|0;b[y+(c*20|0)>>0]=-114;y=y+(c*20|0)+1|0;z=y+19|0;do{b[y>>0]=0;y=y+1|0}while((y|0)<(z|0))}else c=tl(Aa,142,0,0,0)|0;n=f[Aa>>2]|0;if(!(b[n+81>>0]|0)){if((c|0)<0)c=(f[m>>2]|0)+-1|0;n=f[i>>2]|0;o=n+(c*20|0)+1|0;if(b[o>>0]|0){ul(Aa,n+(c*20|0)|0,q,-7);break}if(!q)break;f[n+(c*20|0)+16>>2]=q;b[o>>0]=-7;break}if(!q)break;do if(n|0){if(f[n+480>>2]|0){Kc(n,q);break la}c=q;if((f[n+304>>2]|0)>>>0>c>>>0)break;if((f[n+308>>2]|0)>>>0<=c>>>0)break;wa=n+300|0;f[q>>2]=f[wa>>2];f[wa>>2]=q;break la}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{wa=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-wa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}c=b[u>>0]|0;if(!(c<<24>>24)){p=(f[xa>>2]|0)+1|0;f[xa>>2]=p}else{p=c+-1<<24>>24;b[u>>0]=p;p=f[a+144+((p&255)<<2)>>2]|0}c=f[m>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(c|0)){f[m>>2]=c+1;wa=f[i>>2]|0;b[wa+(c*20|0)>>0]=106;d[wa+(c*20|0)+2>>1]=0;f[wa+(c*20|0)+4>>2]=0;f[wa+(c*20|0)+8>>2]=p;f[wa+(c*20|0)+12>>2]=0;f[wa+(c*20|0)+16>>2]=0;b[wa+(c*20|0)+1>>0]=0}else c=tl(Aa,106,0,p,0)|0;n=f[Aa>>2]|0;na:do if(b[n+81>>0]|0){if(!q)break;do if(n|0){if(f[n+480>>2]|0){Kc(n,q);break na}c=q;if((f[n+304>>2]|0)>>>0>c>>>0)break;if((f[n+308>>2]|0)>>>0<=c>>>0)break;wa=n+300|0;f[q>>2]=f[wa>>2];f[wa>>2]=q;break na}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{wa=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-wa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}else{if((c|0)<0)c=(f[m>>2]|0)+-1|0;n=f[i>>2]|0;o=n+(c*20|0)+1|0;if(b[o>>0]|0){ul(Aa,n+(c*20|0)|0,q,-7);break}if(!q)break;f[n+(c*20|0)+16>>2]=q;b[o>>0]=-7}while(0);c=f[m>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(c|0)){f[m>>2]=c+1;wa=f[i>>2]|0;b[wa+(c*20|0)>>0]=81;d[wa+(c*20|0)+2>>1]=0;f[wa+(c*20|0)+4>>2]=p;f[wa+(c*20|0)+8>>2]=1;f[wa+(c*20|0)+12>>2]=0;f[wa+(c*20|0)+16>>2]=0;b[wa+(c*20|0)+1>>0]=0;break}else{tl(Aa,81,p,1,0)|0;break}}while(0);l=f[l>>2]|0}while((l|0)!=0)}while(0);if((r|0)<(v|0))r=r+1|0;else break}}l=f[m>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;y=f[Aa+88>>2]|0;b[y+(l*20|0)>>0]=-97;y=y+(l*20|0)+1|0;z=y+19|0;do{b[y>>0]=0;y=y+1|0}while((y|0)<(z|0));break e}else{tl(Aa,159,0,0,0)|0;break e}}case 32:{if((Ba|0?(Wm(Ba,wa)|0)==0:0)?(G=wa,F=f[G>>2]|0,G=f[G+4>>2]|0,!((G|0)<0|(Mc()|0)!=0)):0){za=71896;f[za>>2]=F;f[za+4>>2]=G;f[17976]=((F|0)!=0|(G|0)!=0)&((G|0)<0|(G|0)==0&F>>>0<=(f[18187]|0)>>>0)&1}m=(Mc()|0)==0;n=71896;c=m?f[n>>2]|0:-1;n=m?f[n+4>>2]|0:-1;m=f[Aa>>2]|0;oa:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=2052;else za=2072;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=2053;break oa}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=2053;break oa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=2052}while(0);if((za|0)==2052){o=Dc(m,8,0)|0;za=2053}pa:do if((za|0)==2053)if(o){m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=n;b[m+1>>0]=n>>8;b[m+2>>0]=n>>16;b[m+3>>0]=n>>24;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break pa}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break pa}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else za=2072;while(0);do if((za|0)==2072){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0}else tl(Aa,81,1,1,0)|0;break e}case 37:{if(Ba|0?(a=(Wm(Ba,wa)|0)==0,za=wa,ya=f[za+4>>2]|0,a&((ya|0)>-1|(ya|0)==-1&(f[za>>2]|0)>>>0>4294967295)):0)f[Da+152>>2]=0;c=f[Da+152>>2]|0;n=((c|0)<0)<<31>>31;m=f[Aa>>2]|0;qa:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))za=2097;else za=2117;else{do if((j[m+276>>1]|0)>=8){k=m+300|0;l=f[k>>2]|0;if(l|0){f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=2098;break qa}k=m+296|0;l=f[k>>2]|0;if(!l){k=m+292|0;break}else{f[k>>2]=f[l>>2];o=m+284|0;f[o>>2]=(f[o>>2]|0)+1;o=l;za=2098;break qa}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1;za=2097}while(0);if((za|0)==2097){o=Dc(m,8,0)|0;za=2098}ra:do if((za|0)==2098)if(o){m=o;k=m;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;m=m+4|0;b[m>>0]=n;b[m+1>>0]=n>>8;b[m+2>>0]=n>>16;b[m+3>>0]=n>>24;m=Aa+136|0;k=f[m>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=o;b[n>>0]=-14;break}else{ul(Aa,c+(k*20|0)|0,o,-14);break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,o);break ra}k=o;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[o>>2]=f[ya>>2];f[ya>>2]=o;break ra}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ya=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else za=2117;while(0);do if((za|0)==2117){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Aa=f[Aa+88>>2]|0;b[Aa+(k*20|0)>>0]=81;d[Aa+(k*20|0)+2>>1]=0;f[Aa+(k*20|0)+4>>2]=1;f[Aa+(k*20|0)+8>>2]=1;f[Aa+(k*20|0)+12>>2]=0;f[Aa+(k*20|0)+16>>2]=0;b[Aa+(k*20|0)+1>>0]=0}else tl(Aa,81,1,1,0)|0;za=2130;break a}default:{if(!Ba)k=f[Da+448>>2]|0;else{f[wa>>2]=0;Pd(Ba,wa)|0;k=f[wa>>2]|0;l=Da+396|0;if((k|0)>0){f[l>>2]=97;f[Da+400>>2]=Da;f[g>>2]=0;b[Da+408>>0]=1}else{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;b[l+12>>0]=0;k=0}f[Da+448>>2]=k}n=((k|0)<0)<<31>>31;c=f[Aa>>2]|0;sa:do if(f[c+272>>2]|0)if(!(b[c+81>>0]|0))za=2007;else za=2027;else{do if((j[c+276>>1]|0)>=8){l=c+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];za=c+284|0;f[za>>2]=(f[za>>2]|0)+1;za=2008;break sa}l=c+296|0;m=f[l>>2]|0;if(!m){l=c+292|0;break}else{f[l>>2]=f[m>>2];za=c+284|0;f[za>>2]=(f[za>>2]|0)+1;za=2008;break sa}}else l=c+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;za=2007}while(0);if((za|0)==2007){m=Dc(c,8,0)|0;za=2008}ta:do if((za|0)==2008)if(m){o=m;l=o;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;o=o+4|0;b[o>>0]=n;b[o+1>>0]=n>>8;b[o+2>>0]=n>>16;b[o+3>>0]=n>>24;o=Aa+136|0;k=f[o>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[o>>2]=k+1;ya=f[Aa+88>>2]|0;b[ya+(k*20|0)>>0]=71;d[ya+(k*20|0)+2>>1]=0;f[ya+(k*20|0)+4>>2]=0;f[ya+(k*20|0)+8>>2]=1;f[ya+(k*20|0)+12>>2]=0;f[ya+(k*20|0)+16>>2]=0;b[ya+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;c=f[Aa>>2]|0;if(!(b[c+81>>0]|0)){if((k|0)<0)k=(f[o>>2]|0)+-1|0;c=f[Aa+88>>2]|0;n=c+(k*20|0)+1|0;if(!(b[n>>0]|0)){f[c+(k*20|0)+16>>2]=m;b[n>>0]=-14;m=o;break}else{ul(Aa,c+(k*20|0)|0,m,-14);m=o;break}}do if(c|0){if(f[c+480>>2]|0){Kc(c,m);m=o;break ta}k=m;if((f[c+304>>2]|0)>>>0>k>>>0)break;if((f[c+308>>2]|0)>>>0<=k>>>0)break;ya=c+300|0;f[m>>2]=f[ya>>2];f[ya>>2]=m;m=o;break ta}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);m=o;break}else{ya=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-ya;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);m=o;break}}else za=2027;while(0);do if((za|0)==2027){c=Aa+136|0;k=f[c>>2]|0;l=Aa+12|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[c>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=71;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=0;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0}else k=tl(Aa,71,0,1,0)|0;if(b[(f[Aa>>2]|0)+81>>0]|0){m=c;break}if((k|0)<0)k=(f[c>>2]|0)+-1|0;m=f[Aa+88>>2]|0;if(!(b[m+(k*20|0)+1>>0]|0)){m=c;break}ul(Aa,m+(k*20|0)|0,0,-14);m=c}while(0);k=f[m>>2]|0;if((f[(f[l>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;za=f[Aa+88>>2]|0;b[za+(k*20|0)>>0]=81;d[za+(k*20|0)+2>>1]=0;f[za+(k*20|0)+4>>2]=1;f[za+(k*20|0)+8>>2]=1;f[za+(k*20|0)+12>>2]=0;f[za+(k*20|0)+16>>2]=0;b[za+(k*20|0)+1>>0]=0;za=2130;break a}else{tl(Aa,81,1,1,0)|0;za=2130;break a}}}while(0)}while(0);if(!Da){za=2135;break a}else{za=2130;break a}}else k=1;while(0);za=a+36|0;f[za>>2]=(f[za>>2]|0)+1;f[a+12>>2]=k;za=2130}while(0);do if((za|0)==2130){if(f[Da+480>>2]|0){Kc(Da,Ca);break}Aa=Ca;if((f[Da+304>>2]|0)>>>0<=Aa>>>0?(f[Da+308>>2]|0)>>>0>Aa>>>0:0){Aa=Da+300|0;f[Ca>>2]=f[Aa>>2];f[Aa>>2]=Ca}else za=2135}while(0);do if((za|0)==2135)if(!(f[9328]|0)){ob[f[37360>>2]&127](Ca);break}else{Aa=ib[f[37368>>2]&255](Ca)|0;f[18187]=(f[18187]|0)-Aa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Ca);break}while(0);if(!Ba){t=Ea;return}if(Da|0){if(f[Da+480>>2]|0){Kc(Da,Ba);t=Ea;return}Ca=Ba;if((f[Da+304>>2]|0)>>>0<=Ca>>>0?(f[Da+308>>2]|0)>>>0>Ca>>>0:0){Da=Da+300|0;f[Ba>>2]=f[Da>>2];f[Da>>2]=Ba;t=Ea;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](Ba);t=Ea;return}else{Da=ib[f[37368>>2]&255](Ba)|0;f[18187]=(f[18187]|0)-Da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Ba);t=Ea;return}}function Wl(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=t;t=t+16|0;h=i;if(!c){h=0;t=i;return h|0}a:while(1){if((b[c>>0]|0)==-112){d=f[a>>2]|0;if(!(b[(f[d>>2]|0)+165>>0]|0)){e=6;break}b[c>>0]=110}d=f[c+4>>2]|0;if(d&8404992|0){c=0;e=17;break}e=c+20|0;if(!(d&2048)){g=f[e>>2]|0;if(g|0?(f[g>>2]|0)>0:0){d=g+4|0;e=0;while(1){if(Wl(a,f[d>>2]|0)|0){c=1;e=17;break a}e=e+1|0;if((e|0)>=(f[g>>2]|0))break;else d=d+20|0}}}else if(Il(a,f[e>>2]|0)|0){c=1;e=17;break}if(Wl(a,f[c+16>>2]|0)|0){c=1;e=17;break}c=f[c+12>>2]|0;if(!c){c=0;e=17;break}}if((e|0)==6){f[h>>2]=f[a+16>>2];ni(d,55395,h);h=1;t=i;return h|0}else if((e|0)==17){t=i;return c|0}return 0}function Xl(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0;h=a+136|0;g=f[h>>2]|0;if((f[(f[a+12>>2]|0)+48>>2]|0)>(g|0)){f[h>>2]=g+1;h=f[a+88>>2]|0;b[h+(g*20|0)>>0]=-113;d[h+(g*20|0)+2>>1]=0;f[h+(g*20|0)+4>>2]=c;f[h+(g*20|0)+8>>2]=0;f[h+(g*20|0)+12>>2]=0;f[h+(g*20|0)+16>>2]=0;b[h+(g*20|0)+1>>0]=0}else g=tl(a,143,c,0,0)|0;Om(a,g,e,-7);if((f[(f[a>>2]|0)+20>>2]|0)<=0)return;g=0;do{Um(a,g);g=g+1|0}while((g|0)<(f[(f[a>>2]|0)+20>>2]|0));return}function Yl(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=t;t=t+16|0;q=r;if(!c){q=0;t=r;return q|0}m=f[a+12>>2]|0;if((f[c>>2]|0)<=0){q=0;t=r;return q|0}n=a+8|0;p=a+4|0;k=0;l=c+8|0;a:while(1){if(!(f[n>>2]|0)){i=l+4|0;j=f[i>>2]|0;do if(j|0){g=b[j>>0]|0;d=(h[1232+(g&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0;if(!(g<<24>>24==0|(d|0)!=0)){e=m;g=j;do{g=g+1|0;e=e+1|0;s=b[g>>0]|0;d=(h[1232+(s&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0}while(!(s<<24>>24==0|(d|0)!=0))}g=f[a>>2]|0;if(d|0){e=10;break a}d=f[g>>2]|0;if(d|0){if(f[d+480>>2]|0){Kc(d,j);break}s=j;if((f[d+304>>2]|0)>>>0<=s>>>0?(f[d+308>>2]|0)>>>0>s>>>0:0){s=d+300|0;f[j>>2]=f[s>>2];f[s>>2]=j;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);break}else{s=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);break}}while(0);f[i>>2]=0;f[l>>2]=f[p>>2]}if(Il(a,f[l+20>>2]|0)|0){d=1;e=30;break}if(Wl(a,f[l+44>>2]|0)|0){d=1;e=30;break}if((b[l+37>>0]&4?(o=f[l+64>>2]|0,o|0):0)?(f[o>>2]|0)>0:0){d=o+4|0;e=0;while(1){if(Wl(a,f[d>>2]|0)|0){d=1;e=30;break a}e=e+1|0;if((e|0)>=(f[o>>2]|0))break;else d=d+20|0}}k=k+1|0;if((k|0)>=(f[c>>2]|0)){d=0;e=30;break}else l=l+72|0}if((e|0)==10){s=f[a+20>>2]|0;f[q>>2]=f[a+16>>2];f[q+4>>2]=s;f[q+8>>2]=j;ni(g,55349,q);s=1;t=r;return s|0}else if((e|0)==30){t=r;return d|0}return 0}function Zl(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;k=t;t=t+16|0;j=k;d=f[a>>2]|0;if(b[d+165>>0]|0){j=0;t=k;return j|0}if(b[a+18>>0]|0){j=0;t=k;return j|0}if((c|0)==0|(0==0?(f[d+32>>2]&268435457|0)==1:0)){j=0;t=k;return j|0}d=b[c>>0]|0;do if(!(d<<24>>24)){d=51912;g=5}else{l=d&255;d=1232+l|0;if((l|32|0)==115){d=b[c+1>>0]|0;if(!(d<<24>>24)){d=51913;g=5;break}l=d&255;d=1232+l|0;if((l|32|0)==113){d=b[c+2>>0]|0;if(!(d<<24>>24)){d=51914;g=5;break}l=d&255;d=1232+l|0;if((l|32|0)==108){d=b[c+3>>0]|0;if(!(d<<24>>24)){d=51915;g=5;break}l=d&255;d=1232+l|0;if((l|32|0)==105){d=b[c+4>>0]|0;if(!(d<<24>>24)){d=51916;g=5;break}l=d&255;d=1232+l|0;if((l|32|0)==116){d=b[c+5>>0]|0;if(!(d<<24>>24)){d=51917;g=5;break}l=d&255;d=1232+l|0;if((l|32|0)==101){d=b[c+6>>0]|0;if(!(d<<24>>24)){d=51918;g=5;break}if(d<<24>>24==95)break;else{e=95;d=1232+(d&255)|0}}else e=101}else e=116}else e=105}else e=108}else e=113}else e=115;i=h[d>>0]|0;g=9}while(0);if((g|0)==5){i=0;e=b[1232+(h[d>>0]|0)>>0]|0;g=9}if((g|0)==9?(i|0)!=(e&255|0):0){l=0;t=k;return l|0}f[j>>2]=c;ni(a,55307,j);l=1;t=k;return l|0}function _l(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f[a>>2]|0;o=d+4|0;m=(f[o>>2]|0)+45|0;a:do if(!p){r=KA(m|0,0,-1,-1)|0;n=ba()|0;if(n>>>0>0|(n|0)==0&r>>>0>2147483390){d=0;return d|0}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](m)|0;q=25;break}i=ib[f[37372>>2]&255](m)|0;if((f[18194]|0)>>>0>>0)f[18194]=m;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){r=f[18187]|0;n=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&n>>>0<=r>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(!k){d=0;return d|0}i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0){f[18196]=i;r=k}else r=k}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){d=0;return d|0}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){k=p+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];q=p+284|0;f[q>>2]=(f[q>>2]|0)+1;q=25;break a}k=p+296|0;i=f[k>>2]|0;if(!i){i=p+292|0;break}else{f[k>>2]=f[i>>2];q=p+284|0;f[q>>2]=(f[q>>2]|0)+1;q=25;break a}}else i=p+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(p,m,0)|0;q=25}while(0);if((q|0)==25)if(!i){d=0;return d|0}else r=i;_A(r|0,0,m|0)|0;n=r+44|0;YA(n|0,f[d>>2]|0,f[o>>2]|0)|0;i=b[n>>0]|0;if((b[5472+(i&255)>>0]|0)<0){m=i<<24>>24==91?93:i;l=0;i=1;while(1){k=b[n+i>>0]|0;if(k<<24>>24==m<<24>>24){i=i+1|0;k=n+l|0;if((b[n+i>>0]|0)!=m<<24>>24)break;b[k>>0]=m}else b[n+l>>0]=k;l=l+1|0;i=i+1|0}b[k>>0]=0}o=r+12|0;f[o>>2]=n;b[r>>0]=c;while(1)if(!(b[5472+(h[e>>0]|0)>>0]&1))break;else e=e+1|0;i=g-e|0;b:do if((i|0)<=0)if(!e)i=0;else{k=i;q=41}else while(1){k=i+-1|0;if(!(b[5472+(h[e+k>>0]|0)>>0]&1)){k=i;q=41;break b}if((i|0)>1)i=k;else{q=41;break}}while(0);c:do if((q|0)==41){m=KA(k|0,((k|0)<0)<<31>>31|0,1,0)|0;n=ba()|0;d:do if(f[p+272>>2]|0)if(!(b[p+81>>0]|0))q=51;else{i=0;break c}else{do if(!(n>>>0>0|((n|0)==0?m>>>0>(j[p+276>>1]|0)>>>0:0))){l=p+300|0;i=f[l>>2]|0;if(i|0){f[l>>2]=f[i>>2];p=p+284|0;f[p>>2]=(f[p>>2]|0)+1;break d}l=p+296|0;i=f[l>>2]|0;if(!i){i=p+292|0;break}else{f[l>>2]=f[i>>2];p=p+284|0;f[p>>2]=(f[p>>2]|0)+1;break d}}else i=p+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;q=51}while(0);if((q|0)==51)i=Dc(p,m,n)|0;if(i){YA(i|0,e|0,k|0)|0;b[i+k>>0]=0;k=b[i>>0]|0;if(k<<24>>24){m=0;l=i;do{if(b[5472+(k&255)>>0]&1)b[l>>0]=32;m=m+1|0;l=i+m|0;k=b[l>>0]|0}while(k<<24>>24!=0)}}else i=0}while(0);f[r+32>>2]=i;if((h[a+196>>0]|0)<=1){d=r;return d|0}m=f[o>>2]|0;l=f[a>>2]|0;e:do if(!l){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](16)|0;q=82;break}i=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){p=f[18187]|0;g=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&g>>>0<=p>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){d=r;return d|0}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k}else{if(f[l+272>>2]|0){if(b[l+81>>0]|0){d=r;return d|0}}else{do if((j[l+276>>1]|0)>=16){k=l+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];q=l+284|0;f[q>>2]=(f[q>>2]|0)+1;q=82;break e}k=l+296|0;i=f[k>>2]|0;if(!i){i=l+292|0;break}else{f[k>>2]=f[i>>2];q=l+284|0;f[q>>2]=(f[q>>2]|0)+1;q=82;break e}}else i=l+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(l,16,0)|0;q=82}while(0);if((q|0)==82)if(!i){d=r;return d|0}k=i+4|0;l=k+12|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0));f[i>>2]=m;p=d;q=f[p+4>>2]|0;d=i+4|0;f[d>>2]=f[p>>2];f[d+4>>2]=q;d=a+268|0;f[i+12>>2]=f[d>>2];f[d>>2]=i;d=r;return d|0}function $l(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;w=t;t=t+48|0;u=w+32|0;s=w+24|0;r=w+16|0;p=w+8|0;o=w;e=f[a>>2]|0;i=f[c+20>>2]|0;if(!i)v=-1e6;else{j=f[e+16>>2]|0;g=0;while(1)if((f[j+(g<<4)+12>>2]|0)==(i|0)){v=g;break}else g=g+1|0}n=f[c+4>>2]|0;k=f[c+24>>2]|0;l=f[k+20>>2]|0;if(!l){g=k+12|0;i=k+16|0}else{i=b[n>>0]|0;if(!(i<<24>>24))g=0;else{g=0;j=n;do{j=j+1|0;g=U(g+(h[1232+(i&255)>>0]|0)|0,-1640531535)|0;i=b[j>>0]|0}while(i<<24>>24!=0)}i=(g>>>0)%((f[k+8>>2]|0)>>>0)|0;g=l+(i<<3)|0;i=l+(i<<3)+4|0}g=f[g>>2]|0;a:do if(!g)i=72124;else{m=h[1232+(h[n>>0]|0)>>0]|0;while(1){i=f[i>>2]|0;g=g+-1|0;k=f[i+12>>2]|0;l=b[k>>0]|0;j=(h[1232+(l&255)>>0]|0)-m|0;if(!(l<<24>>24==0|(j|0)!=0)){l=n;do{k=k+1|0;l=l+1|0;x=b[k>>0]|0;j=(h[1232+(x&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(x<<24>>24==0|(j|0)!=0))}if(!j)break a;if(!g){i=72124;break}}}while(0);n=e+16|0;l=f[(f[n>>2]|0)+(v<<4)>>2]|0;k=(v|0)==1;m=k?48842:43770;k=k?14:16;j=f[c>>2]|0;g=f[f[i+8>>2]>>2]|0;do if((b[e+165>>0]|0)==0?(q=a+196|0,(b[q>>0]|0)==0):0){i=f[e+312>>2]|0;if(i){e=nb[i&127](f[e+316>>2]|0,k,j,g,l,f[a+236>>2]|0)|0;if((e|0)==1){ni(a,49816,o);f[a+12>>2]=23;t=w;return}if((e|2|0)!=2){ni(a,49831,p);f[a+12>>2]=1;t=w;return}if(e|0){t=w;return}e=f[a>>2]|0;if(b[e+165>>0]|0)break;if(b[q>>0]|0)break}g=f[e+312>>2]|0;if(g|0){e=nb[g&127](f[e+316>>2]|0,9,m,0,l,f[a+236>>2]|0)|0;if((e|0)==1){ni(a,49816,r);f[a+12>>2]=23;t=w;return}if((e|2|0)==2){if(!e)break;t=w;return}else{ni(a,49831,s);f[a+12>>2]=1;t=w;return}}}while(0);g=a+8|0;e=f[g>>2]|0;if(!e){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;e=sl(a)|0;if(!e){t=w;return}else k=e}else k=e;j=f[c>>2]|0;f[u>>2]=f[(f[n>>2]|0)+(v<<4)>>2];f[u+4>>2]=43770;f[u+8>>2]=j;Tl(a,55256,u);j=f[g>>2]|0;e=(f[f[(f[(f[a>>2]|0)+16>>2]|0)+(v<<4)+12>>2]>>2]|0)+1|0;g=j+136|0;i=f[g>>2]|0;if((f[(f[j+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;x=f[j+88>>2]|0;b[x+(i*20|0)>>0]=107;d[x+(i*20|0)+2>>1]=0;f[x+(i*20|0)+4>>2]=v;f[x+(i*20|0)+8>>2]=1;f[x+(i*20|0)+12>>2]=e;f[x+(i*20|0)+16>>2]=0;b[x+(i*20|0)+1>>0]=0}else tl(j,107,v,1,e)|0;i=f[c>>2]|0;g=k+136|0;e=f[g>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(e|0)){f[g>>2]=e+1;x=f[k+88>>2]|0;b[x+(e*20|0)>>0]=-109;d[x+(e*20|0)+2>>1]=0;f[x+(e*20|0)+4>>2]=v;f[x+(e*20|0)+8>>2]=0;f[x+(e*20|0)+12>>2]=0;f[x+(e*20|0)+16>>2]=0;b[x+(e*20|0)+1>>0]=0}else e=tl(k,147,v,0,0)|0;if(b[(f[k>>2]|0)+81>>0]|0){t=w;return}if((e|0)<0)e=(f[g>>2]|0)+-1|0;ul(k,(f[k+88>>2]|0)+(e*20|0)|0,i,0);t=w;return}function am(a,c,e,g,i,j,k){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=t;t=t+112|0;x=J+32|0;w=J+24|0;s=J+16|0;q=J+8|0;m=J;r=J+72|0;u=J+40|0;I=f[a>>2]|0;a:do if(!(f[a+36>>2]|0)){z=u+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;f[z+16>>2]=0;f[z+20>>2]=0;f[z+24>>2]=0;f[u>>2]=a;z=(i|0)==0;l=a;do if(z)l=0;else{if((b[i>>0]|0)==59){b[i>>0]=106;l=0;break}o=u+24|0;d[o>>1]=0;f[r>>2]=l;f[r+4>>2]=146;f[r+8>>2]=147;f[r+12>>2]=0;f[r+24>>2]=u;n=i+24|0;l=a+204|0;A=(f[l>>2]|0)+(f[n>>2]|0)|0;f[l>>2]=A;l=f[I+120>>2]|0;if((l|0)>=(A|0)){oi(r,i)|0;m=f[r>>2]|0;l=m+204|0;f[l>>2]=(f[l>>2]|0)-(f[n>>2]|0);l=d[o>>1]|0;if(l&16){A=i+4|0;f[A>>2]=f[A>>2]|2}if((f[u+20>>2]|0)<=0)if((f[m+36>>2]|0)<1)break;else{F=113;break a}}else{f[m>>2]=l;ni(a,42710,m)}F=113;break a}while(0);A=(j|0)==0;do if(!A){if((b[j>>0]|0)==59){b[j>>0]=106;break}p=u+24|0;l=l&65535;o=l&4112;d[p>>1]=l&61423;l=f[u>>2]|0;f[r>>2]=l;f[r+4>>2]=146;f[r+8>>2]=147;f[r+12>>2]=0;f[r+24>>2]=u;n=j+24|0;m=l+204|0;y=(f[m>>2]|0)+(f[n>>2]|0)|0;f[m>>2]=y;m=f[(f[l>>2]|0)+120>>2]|0;if((m|0)>=(y|0)){oi(r,j)|0;m=f[r>>2]|0;l=m+204|0;f[l>>2]=(f[l>>2]|0)-(f[n>>2]|0);l=d[p>>1]|0;if(l&16){y=j+4|0;f[y>>2]=f[y>>2]|2}l=(o|l&65535)&65535;d[p>>1]=l;if((f[u+20>>2]|0)<=0)if((f[m+36>>2]|0)<1)break;else{F=112;break a}}else{f[q>>2]=m;ni(l,42710,q)}F=112;break a}while(0);y=(k|0)==0;do if(!y){if((b[k>>0]|0)==59){b[k>>0]=106;break}p=u+24|0;l=l&65535;o=l&4112;d[p>>1]=l&61423;l=f[u>>2]|0;f[r>>2]=l;f[r+4>>2]=146;f[r+8>>2]=147;f[r+12>>2]=0;f[r+24>>2]=u;n=k+24|0;m=l+204|0;q=(f[m>>2]|0)+(f[n>>2]|0)|0;f[m>>2]=q;m=f[(f[l>>2]|0)+120>>2]|0;if((m|0)>=(q|0)){oi(r,k)|0;m=f[r>>2]|0;l=m+204|0;f[l>>2]=(f[l>>2]|0)-(f[n>>2]|0);l=d[p>>1]|0;if(l&16){s=k+4|0;f[s>>2]=f[s>>2]|2}d[p>>1]=o|l&65535;if((f[u+20>>2]|0)<=0)if((f[m+36>>2]|0)<1)break;else{F=112;break a}}else{f[s>>2]=m;ni(l,42710,s)}F=112;break a}while(0);do if(g|0){if((b[g>>0]|0)==106)l=f[g+8>>2]|0;else l=0;m=f[a>>2]|0;if(((b[m+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(v=f[m+312>>2]|0,v|0):0){l=nb[v&127](f[m+316>>2]|0,c,l,0,0,f[a+236>>2]|0)|0;if((l|0)==1){ni(a,49816,w);f[a+12>>2]=23;F=112;break a}if((l|2|0)==2)if(!l)break;else{F=112;break a}else{ni(a,49831,x);f[a+12>>2]=1;F=112;break a}}}while(0);r=a+8|0;l=f[r>>2]|0;if(!l){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;s=sl(a)|0}else s=l;m=a+32|0;n=f[m>>2]|0;l=a+28|0;o=f[l>>2]|0;if((o|0)<4){l=a+44|0;m=f[l>>2]|0;q=m+1|0;m=m+4|0}else{f[m>>2]=n+4;q=n;m=o+-4|0}f[l>>2]=m;do if(!z){if((b[i>>0]|0)!=-92){C=xl(a,i,q)|0;F=58;break}l=f[r>>2]|0;m=f[i+28>>2]|0;n=l+136|0;o=f[n>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;z=f[l+88>>2]|0;b[z+(o*20|0)>>0]=78;d[z+(o*20|0)+2>>1]=0;f[z+(o*20|0)+4>>2]=m;f[z+(o*20|0)+8>>2]=q;f[z+(o*20|0)+12>>2]=0;f[z+(o*20|0)+16>>2]=0;b[z+(o*20|0)+1>>0]=0;break}else{tl(l,78,m,q,0)|0;break}}else{C=xl(a,0,q)|0;F=58}while(0);do if(((F|0)==58?(C|0)!=(q|0):0)?(B=f[r>>2]|0,B|0):0){l=B+136|0;m=f[l>>2]|0;if((f[(f[B+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;B=f[B+88>>2]|0;b[B+(m*20|0)>>0]=79;d[B+(m*20|0)+2>>1]=0;f[B+(m*20|0)+4>>2]=C;f[B+(m*20|0)+8>>2]=q;f[B+(m*20|0)+12>>2]=0;f[B+(m*20|0)+16>>2]=0;b[B+(m*20|0)+1>>0]=0;break}else{tl(B,79,C,q,0)|0;break}}while(0);p=q+1|0;do if(!A){if((b[j>>0]|0)!=-92){E=xl(a,j,p)|0;F=70;break}l=f[r>>2]|0;m=f[j+28>>2]|0;n=l+136|0;o=f[n>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;C=f[l+88>>2]|0;b[C+(o*20|0)>>0]=78;d[C+(o*20|0)+2>>1]=0;f[C+(o*20|0)+4>>2]=m;f[C+(o*20|0)+8>>2]=p;f[C+(o*20|0)+12>>2]=0;f[C+(o*20|0)+16>>2]=0;b[C+(o*20|0)+1>>0]=0;break}else{tl(l,78,m,p,0)|0;break}}else{E=xl(a,0,p)|0;F=70}while(0);do if(((F|0)==70?(E|0)!=(p|0):0)?(D=f[r>>2]|0,D|0):0){l=D+136|0;m=f[l>>2]|0;if((f[(f[D+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;D=f[D+88>>2]|0;b[D+(m*20|0)>>0]=79;d[D+(m*20|0)+2>>1]=0;f[D+(m*20|0)+4>>2]=E;f[D+(m*20|0)+8>>2]=p;f[D+(m*20|0)+12>>2]=0;f[D+(m*20|0)+16>>2]=0;b[D+(m*20|0)+1>>0]=0;break}else{tl(D,79,E,p,0)|0;break}}while(0);p=q+2|0;do if(!y){if((b[k>>0]|0)!=-92){H=xl(a,k,p)|0;F=82;break}l=f[r>>2]|0;m=f[k+28>>2]|0;n=l+136|0;o=f[n>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;a=f[l+88>>2]|0;b[a+(o*20|0)>>0]=78;d[a+(o*20|0)+2>>1]=0;f[a+(o*20|0)+4>>2]=m;f[a+(o*20|0)+8>>2]=p;f[a+(o*20|0)+12>>2]=0;f[a+(o*20|0)+16>>2]=0;b[a+(o*20|0)+1>>0]=0;break}else{tl(l,78,m,p,0)|0;break}}else{H=xl(a,0,p)|0;F=82}while(0);do if(((F|0)==82?(H|0)!=(p|0):0)?(G=f[r>>2]|0,G|0):0){l=G+136|0;m=f[l>>2]|0;if((f[(f[G+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;G=f[G+88>>2]|0;b[G+(m*20|0)>>0]=79;d[G+(m*20|0)+2>>1]=0;f[G+(m*20|0)+4>>2]=H;f[G+(m*20|0)+8>>2]=p;f[G+(m*20|0)+12>>2]=0;f[G+(m*20|0)+16>>2]=0;b[G+(m*20|0)+1>>0]=0;break}else{tl(G,79,H,p,0)|0;break}}while(0);if(s){m=q+3|0;n=m-(b[e>>0]|0)|0;o=s+136|0;l=f[o>>2]|0;p=s+12|0;if((f[(f[p>>2]|0)+48>>2]|0)>(l|0)){f[o>>2]=l+1;H=f[s+88>>2]|0;b[H+(l*20|0)>>0]=63;d[H+(l*20|0)+2>>1]=0;f[H+(l*20|0)+4>>2]=0;f[H+(l*20|0)+8>>2]=n;f[H+(l*20|0)+12>>2]=m;f[H+(l*20|0)+16>>2]=0;b[H+(l*20|0)+1>>0]=0}else l=tl(s,63,0,n,m)|0;m=f[s>>2]|0;b:do if(!(b[m+81>>0]|0)){if((l|0)<0)l=(f[o>>2]|0)+-1|0;m=f[s+88>>2]|0;n=m+(l*20|0)+1|0;if(!(b[n>>0]|0)){f[m+(l*20|0)+16>>2]=e;b[n>>0]=-8;break}else{ul(s,m+(l*20|0)|0,e,-8);break}}else if(f[e+4>>2]&16|0){do if(m|0){if(f[m+480>>2]|0){Kc(m,e);break b}l=e;if((f[m+304>>2]|0)>>>0<=l>>>0){if((f[m+308>>2]|0)>>>0<=l>>>0)break;H=m+300|0;f[e>>2]=f[H>>2];f[H>>2]=e;break b}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{H=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-H;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);m=f[o>>2]|0;if((m|0)>0)d[(f[s+88>>2]|0)+((m+-1|0)*20|0)+2>>1]=h[e>>0]|0;l=(c|0)==24&1;if((f[(f[p>>2]|0)+48>>2]|0)>(m|0)){f[o>>2]=m+1;F=f[s+88>>2]|0;b[F+(m*20|0)>>0]=-97;d[F+(m*20|0)+2>>1]=0;f[F+(m*20|0)+4>>2]=l;f[F+(m*20|0)+8>>2]=0;f[F+(m*20|0)+12>>2]=0;f[F+(m*20|0)+16>>2]=0;b[F+(m*20|0)+1>>0]=0;F=112;break}else{tl(s,159,l,0,0)|0;F=112;break}}else F=112}else F=112;while(0);if((F|0)==112?i|0:0)F=113;if((F|0)==113)ig(I,i);if(j|0)ig(I,j);if(!k){t=J;return}ig(I,k);t=J;return} -function rl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;do switch(b<<16>>16){case 219:case 207:case 206:case 174:{b=f[c>>2]|0;if(!b)return;mg(f[a>>2]|0,b,1);return}case 272:case 258:case 253:case 244:case 242:case 227:case 215:case 213:case 185:case 184:{b=f[c>>2]|0;if(!b)return;ig(f[a>>2]|0,b);return}case 271:case 243:case 241:case 233:case 229:case 221:case 220:case 216:case 214:case 211:case 199:case 198:case 189:{b=f[c>>2]|0;if(!b)return;jg(f[a>>2]|0,b);return}case 230:case 224:case 223:case 212:case 205:{ng(f[a>>2]|0,f[c>>2]|0);return}case 208:{i=f[a>>2]|0;h=f[c>>2]|0;if(!h)return;a:do if((f[h>>2]|0)>0){c=i+480|0;d=i+304|0;e=i+308|0;g=i+300|0;if(!i){a=0;while(1){b=f[h+8+(a<<4)+4>>2]|0;if(b|0)jg(0,b);b=f[h+8+(a<<4)+8>>2]|0;if(b|0)mg(0,b,1);b=f[h+8+(a<<4)>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{j=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);a=a+1|0;if((a|0)>=(f[h>>2]|0))break a}}a=0;do{b=f[h+8+(a<<4)+4>>2]|0;if(b|0)jg(i,b);b=f[h+8+(a<<4)+8>>2]|0;if(b|0)mg(i,b,1);b=f[h+8+(a<<4)>>2]|0;do if(b|0){if(f[c>>2]|0){Kc(i,b);break}j=b;if((f[d>>2]|0)>>>0<=j>>>0?(f[e>>2]|0)>>>0>j>>>0:0){f[b>>2]=f[g>>2];f[g>>2]=b;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{j=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}}while(0);a=a+1|0}while((a|0)<(f[h>>2]|0))}while(0);if(i|0){if(f[i+480>>2]|0){Kc(i,h);return}j=h;if((f[i+304>>2]|0)>>>0<=j>>>0?(f[i+308>>2]|0)>>>0>j>>>0:0){j=i+300|0;f[h>>2]=f[j>>2];f[j>>2]=h;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);return}else{j=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);return}}case 267:case 218:{a=f[a>>2]|0;b=f[c>>2]|0;if(!b)return;do{j=b;b=f[b+24>>2]|0;og(a,j)}while((b|0)!=0);return}case 235:case 231:case 228:{j=f[a>>2]|0;b=f[c>>2]|0;if(!b)return;i=b+4|0;a=f[b>>2]|0;b:do if((f[i>>2]|0)>0){d=j+480|0;e=j+304|0;g=j+308|0;h=j+300|0;if(!j){c=0;while(1){a=f[a+(c<<3)>>2]|0;do if(a|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{h=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}while(0);c=c+1|0;a=f[b>>2]|0;if((c|0)>=(f[i>>2]|0))break b}}c=0;do{a=f[a+(c<<3)>>2]|0;do if(a|0){if(f[d>>2]|0){Kc(j,a);break}k=a;if((f[e>>2]|0)>>>0<=k>>>0?(f[g>>2]|0)>>>0>k>>>0:0){f[a>>2]=f[h>>2];f[h>>2]=a;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{k=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}}while(0);c=c+1|0;a=f[b>>2]|0}while((c|0)<(f[i>>2]|0))}while(0);c:do if(a){do if(j|0){c=j+480|0;if(!(f[c>>2]|0)){d=a;if((f[j+304>>2]|0)>>>0>d>>>0)break;if((f[j+308>>2]|0)>>>0<=d>>>0)break;k=j+300|0;f[a>>2]=f[k>>2];f[k>>2]=a}else Kc(j,a);a=c;c=82;break c}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);c=80;break}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);c=80;break}}else c=80;while(0);if((c|0)==80)if(j){a=j+480|0;c=82}if((c|0)==82){if(f[a>>2]|0){Kc(j,b);return}k=b;if((f[j+304>>2]|0)>>>0<=k>>>0?(f[j+308>>2]|0)>>>0>k>>>0:0){k=j+300|0;f[b>>2]=f[k>>2];f[k>>2]=b;return}}if(!b)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](b);return}else{k=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);return}}case 270:case 269:case 268:case 237:{og(f[a>>2]|0,f[c>>2]|0);return}case 254:case 249:{kg(f[a>>2]|0,f[c>>2]|0);return}case 251:{j=f[a>>2]|0;b=f[c+4>>2]|0;if(!b)return;i=b+4|0;a=f[b>>2]|0;d:do if((f[i>>2]|0)>0){d=j+480|0;e=j+304|0;g=j+308|0;h=j+300|0;if(!j){c=0;while(1){a=f[a+(c<<3)>>2]|0;do if(a|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{k=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}while(0);c=c+1|0;a=f[b>>2]|0;if((c|0)>=(f[i>>2]|0))break d}}c=0;do{a=f[a+(c<<3)>>2]|0;do if(a|0){if(f[d>>2]|0){Kc(j,a);break}k=a;if((f[e>>2]|0)>>>0<=k>>>0?(f[g>>2]|0)>>>0>k>>>0:0){f[a>>2]=f[h>>2];f[h>>2]=a;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{k=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}}while(0);c=c+1|0;a=f[b>>2]|0}while((c|0)<(f[i>>2]|0))}while(0);e:do if(a){do if(j|0){c=j+480|0;if(!(f[c>>2]|0)){d=a;if((f[j+304>>2]|0)>>>0>d>>>0)break;if((f[j+308>>2]|0)>>>0<=d>>>0)break;k=j+300|0;f[a>>2]=f[k>>2];f[k>>2]=a}else Kc(j,a);a=c;c=126;break e}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);c=124;break}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);c=124;break}}else c=124;while(0);if((c|0)==124)if(j){a=j+480|0;c=126}if((c|0)==126){if(f[a>>2]|0){Kc(j,b);return}k=b;if((f[j+304>>2]|0)>>>0<=k>>>0?(f[j+308>>2]|0)>>>0>k>>>0:0){k=j+300|0;f[b>>2]=f[k>>2];f[k>>2]=b;return}}if(!b)return;if(!(f[9328]|0)){ob[f[37360>>2]&127](b);return}else{k=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);return}}case 276:case 275:case 274:{b=f[c+4>>2]|0;if(!b)return;ig(f[a>>2]|0,b);return}default:return}while(0)}function sl(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;h=f[a>>2]|0;a:do if(f[h+272>>2]|0)if(!(b[h+81>>0]|0))g=11;else{a=0;return a|0}else{do if((j[h+276>>1]|0)>=216){d=h+300|0;c=f[d>>2]|0;if(c|0){f[d>>2]=f[c>>2];e=h+284|0;f[e>>2]=(f[e>>2]|0)+1;e=c;break a}c=h+296|0;d=f[c>>2]|0;if(!d){c=h+292|0;break}else{f[c>>2]=f[d>>2];e=h+284|0;f[e>>2]=(f[e>>2]|0)+1;e=d;break a}}else c=h+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;g=11}while(0);if((g|0)==11)e=Dc(h,216,0)|0;if(!e){a=0;return a|0}c=e+88|0;d=c+128|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[e>>2]=h;c=h+4|0;d=f[c>>2]|0;if(d|0)f[d+4>>2]=e;f[e+8>>2]=d;f[e+4>>2]=0;f[c>>2]=e;f[e+20>>2]=381479589;f[e+12>>2]=a;f[a+8>>2]=e;if((f[a+48>>2]|0)>0){f[e+136>>2]=1;Ya()}tl(e,61,0,1,0)|0;a=e;return a|0}function tl(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=a+12|0;m=f[r>>2]|0;k=m+48|0;l=f[k>>2]|0;l=(l|0)==0?51:l<<1;i=f[m>>2]|0;a:do if((l|0)<=(f[i+128>>2]|0)){q=a+88|0;p=a+136|0;o=m;a=f[q>>2]|0;n=m;b:while(1){m=l*20|0;c:do if(!a){if(f[i+272>>2]|0){if(b[i+81>>0]|0){a=1;l=34;break b}}else{do if(!(0<0|(0==0?(j[i+276>>1]|0)>>>0>>0:0))){l=i+300|0;a=f[l>>2]|0;if(a|0){f[l>>2]=f[a>>2];l=i+284|0;f[l>>2]=(f[l>>2]|0)+1;l=26;break c}l=i+296|0;a=f[l>>2]|0;if(!a){a=i+292|0;break}else{f[l>>2]=f[a>>2];l=i+284|0;f[l>>2]=(f[l>>2]|0)+1;l=26;break c}}else a=i+288|0;while(0);f[a>>2]=(f[a>>2]|0)+1}a=Dc(i,m,0)|0;l=26}else{l=a;if((f[i+304>>2]|0)>>>0<=l>>>0?(f[i+308>>2]|0)>>>0>l>>>0:0){if(!(0<0|(0==0?(j[i+276>>1]|0)>>>0>>0:0))){l=28;break}a=Lc(i,a,m,0)|0;l=26;break}a=Lc(i,a,m,0)|0;l=26}while(0);if((l|0)==26){if(!a){a=1;l=34;break}i=f[n>>2]|0;if(!i)l=30;else l=28}if((l|0)==28){l=0;n=a;if((f[i+304>>2]|0)>>>0<=n>>>0?(f[i+308>>2]|0)>>>0>n>>>0:0)i=j[i+276>>1]|0;else l=30}if((l|0)==30)i=ib[f[37368>>2]&255](a)|0;f[o+52>>2]=i;f[k>>2]=(i>>>0)/20|0;f[q>>2]=a;k=f[p>>2]|0;n=f[r>>2]|0;m=n+48|0;i=f[m>>2]|0;if((i|0)>(k|0)){l=33;break}l=(i|0)==0?51:i<<1;i=f[n>>2]|0;if((l|0)>(f[i+128>>2]|0))break a;else{o=n;k=m}}if((l|0)==33){f[p>>2]=k+1;b[a+(k*20|0)>>0]=c;d[a+(k*20|0)+2>>1]=0;f[a+(k*20|0)+4>>2]=e;f[a+(k*20|0)+8>>2]=g;f[a+(k*20|0)+12>>2]=h;f[a+(k*20|0)+16>>2]=0;b[a+(k*20|0)+1>>0]=0;r=k;return r|0}else if((l|0)==34)return a|0}while(0);a=i+81|0;if(b[a>>0]|0){r=1;return r|0}if(b[i+82>>0]|0){r=1;return r|0}b[a>>0]=1;if((f[i+180>>2]|0)>0)f[i+264>>2]=1;r=i+272|0;f[r>>2]=(f[r>>2]|0)+1;r=1;return r|0}function ul(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0;k=a+88|0;l=a+136|0;if((e|0)<0){while(1){g=c+1|0;h=b[g>>0]|0;if(h<<24>>24){m=c+16|0;qg(f[a>>2]|0,h<<24>>24,f[m>>2]|0);b[g>>0]=0;f[m>>2]=0}g=f[k>>2]|0;h=c-g|0;c=f[a>>2]|0;i=g;if(b[c+81>>0]|0){n=12;break}if((h|0)<0)h=(f[l>>2]|0)+-1|0;else h=(h|0)/20|0;c=i+(h*20|0)+1|0;if(!(b[c>>0]|0))break;c=i+(h*20|0)|0}if((n|0)==12){if((e|0)==-12)return;qg(c,e,d);return}if((e|0)==-3){f[g+(h*20|0)+16>>2]=d;b[c>>0]=-3;return}if(!d)return;f[g+(h*20|0)+16>>2]=d;b[c>>0]=e;if((e|0)!=-12)return;d=d+12|0;f[d>>2]=(f[d>>2]|0)+1;return}else{m=c+1|0;g=b[m>>0]|0;if(g<<24>>24){l=c+16|0;qg(f[a>>2]|0,g<<24>>24,f[l>>2]|0);b[m>>0]=0;f[l>>2]=0}g=(d|0)==0;if(!e)if(g)g=0;else{e=(wz(d)|0)&1073741823;n=23}else if(g)g=0;else n=23;a:do if((n|0)==23){i=f[a>>2]|0;k=KA(e|0,((e|0)<0)<<31>>31|0,1,0)|0;l=ba()|0;b:do if(f[i+272>>2]|0)if(!(b[i+81>>0]|0))n=33;else{g=0;break a}else{do if(!(l>>>0>0|((l|0)==0?k>>>0>(j[i+276>>1]|0)>>>0:0))){h=i+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];a=i+284|0;f[a>>2]=(f[a>>2]|0)+1;break b}h=i+296|0;g=f[h>>2]|0;if(!g){g=i+292|0;break}else{f[h>>2]=f[g>>2];a=i+284|0;f[a>>2]=(f[a>>2]|0)+1;break b}}else g=i+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;n=33}while(0);if((n|0)==33)g=Dc(i,k,l)|0;if(!g)g=0;else{YA(g|0,d|0,e|0)|0;b[g+e>>0]=0}}while(0);f[c+16>>2]=g;b[m>>0]=-7;return}}function vl(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;m=a+8|0;j=f[m>>2]|0;if(!j){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;n=sl(a)|0}else n=j;j=g+28|0;nm(a,e,f[j>>2]|0,(i|0)==110&1,f[g>>2]|0);if(!(f[g+36>>2]&32)){k=f[j>>2]|0;l=d[g+42>>1]|0;g=n+136|0;j=f[g>>2]|0;if((f[(f[n+12>>2]|0)+48>>2]|0)>(j|0)){f[g>>2]=j+1;a=f[n+88>>2]|0;b[a+(j*20|0)>>0]=i;d[a+(j*20|0)+2>>1]=0;f[a+(j*20|0)+4>>2]=c;f[a+(j*20|0)+8>>2]=k;f[a+(j*20|0)+12>>2]=e;f[a+(j*20|0)+16>>2]=0;b[a+(j*20|0)+1>>0]=0}else j=tl(n,i,c,k,e)|0;if(b[(f[n>>2]|0)+81>>0]|0)return;i=f[n+88>>2]|0;b[i+(j*20|0)+1>>0]=-3;f[i+(j*20|0)+16>>2]=l;return}j=f[g+8>>2]|0;a:do if(!j)j=0;else while(1){l=j+55|0;if(((h[l>>0]|h[l+1>>0]<<8)&3)==2)break a;j=f[j+20>>2]|0;if(!j){j=0;break}}while(0);g=f[j+44>>2]|0;k=n+136|0;l=f[k>>2]|0;if((f[(f[n+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;n=f[n+88>>2]|0;b[n+(l*20|0)>>0]=i;d[n+(l*20|0)+2>>1]=0;f[n+(l*20|0)+4>>2]=c;f[n+(l*20|0)+8>>2]=g;f[n+(l*20|0)+12>>2]=e;f[n+(l*20|0)+16>>2]=0;b[n+(l*20|0)+1>>0]=0}else tl(n,i,c,g,e)|0;k=f[m>>2]|0;g=om(a,j)|0;if(!g)return;j=f[k>>2]|0;if(!(b[j+81>>0]|0)){e=f[k+88>>2]|0;i=(f[k+136>>2]|0)+-1|0;b[e+(i*20|0)+1>>0]=-9;f[e+(i*20|0)+16>>2]=g;return}if(f[j+480>>2]|0)return;i=(f[g>>2]|0)+-1|0;f[g>>2]=i;if(i|0)return;j=f[g+12>>2]|0;if(j|0){if(f[j+480>>2]|0){Kc(j,g);return}i=g;if((f[j+304>>2]|0)>>>0<=i>>>0?(f[j+308>>2]|0)>>>0>i>>>0:0){i=j+300|0;f[g>>2]=f[i>>2];f[i>>2]=g;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);return}else{i=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);return}}function wl(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0;n=a+136|0;g=f[n>>2]|0;l=f[a+12>>2]|0;m=l+48|0;h=f[m>>2]|0;if((g+c|0)>(h|0)){g=(h|0)==0?51:h<<1;i=f[l>>2]|0;if((g|0)>(f[i+128>>2]|0)){g=i+81|0;if(b[g>>0]|0){n=0;return n|0}if(b[i+82>>0]|0){n=0;return n|0}b[g>>0]=1;if((f[i+180>>2]|0)>0)f[i+264>>2]=1;n=i+272|0;f[n>>2]=(f[n>>2]|0)+1;n=0;return n|0}k=a+88|0;h=f[k>>2]|0;a=g*20|0;a:do if(!h){if(f[i+272>>2]|0){if(b[i+81>>0]|0){n=0;return n|0}}else{do if(!(0<0|(0==0?(j[i+276>>1]|0)>>>0>>0:0))){g=i+300|0;h=f[g>>2]|0;if(h|0){f[g>>2]=f[h>>2];a=i+284|0;f[a>>2]=(f[a>>2]|0)+1;a=26;break a}g=i+296|0;h=f[g>>2]|0;if(!h){g=i+292|0;break}else{f[g>>2]=f[h>>2];a=i+284|0;f[a>>2]=(f[a>>2]|0)+1;a=26;break a}}else g=i+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}h=Dc(i,a,0)|0;a=26}else{g=h;if((f[i+304>>2]|0)>>>0<=g>>>0?(f[i+308>>2]|0)>>>0>g>>>0:0){if(!(0<0|(0==0?(j[i+276>>1]|0)>>>0>>0:0))){g=i;a=28;break}h=Lc(i,h,a,0)|0;a=26;break}h=Lc(i,h,a,0)|0;a=26}while(0);do if((a|0)==26)if(h){g=f[l>>2]|0;if(!g){a=30;break}else{a=28;break}}else{n=0;return n|0}while(0);if((a|0)==28){i=h;if((f[g+304>>2]|0)>>>0<=i>>>0?(f[g+308>>2]|0)>>>0>i>>>0:0)g=j[g+276>>1]|0;else a=30}if((a|0)==30)g=ib[f[37368>>2]&255](h)|0;f[l+52>>2]=g;f[m>>2]=(g>>>0)/20|0;f[k>>2]=h;g=f[n>>2]|0}else h=f[a+88>>2]|0;l=h+(g*20|0)|0;if((c|0)>0){i=l;k=0;g=e;while(1){e=b[g>>0]|0;b[i>>0]=e;f[i+4>>2]=b[g+1>>0];m=b[g+2>>0]|0;h=m<<24>>24;a=i+8|0;f[a>>2]=h;if(m<<24>>24>0?(b[23168+(e&255)>>0]&1)!=0:0)f[a>>2]=(f[n>>2]|0)+h;f[i+12>>2]=b[g+3>>0];b[i+1>>0]=0;f[i+16>>2]=0;d[i+2>>1]=0;k=k+1|0;if((k|0)==(c|0))break;else{i=i+20|0;g=g+4|0}}g=f[n>>2]|0}f[n>>2]=g+c;n=l;return n|0}function xl(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0.0,n=0,o=0,q=0,r=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=t;t=t+320|0;k=_+96|0;i=_+88|0;y=_+80|0;l=_+72|0;z=_+64|0;n=_+56|0;D=_+48|0;S=_;R=_+264|0;o=_+216|0;q=_+168|0;r=_+160|0;T=_+156|0;X=_+152|0;C=_+104|0;K=a+8|0;Z=f[K>>2]|0;f[T>>2]=0;f[X>>2]=0;if(!Z){e=0;t=_;return e|0}L=c;a:while(1){if(!L)B=110;else B=h[L>>0]|0;A=B&255;switch(A<<24>>24){case -96:{Y=6;break a}case -98:{Y=12;break a}case -113:{Y=36;break a}case -101:{Y=37;break a}case -115:{Y=40;break a}case 106:{Y=80;break a}case 110:{Y=87;break a}case -114:{Y=90;break a}case -112:{Y=127;break a}case -92:{Y=138;break a}case 36:{Y=139;break a}case -100:case 45:{Y=157;break a}case 53:case 52:case 57:case 54:case 55:case 56:{k=0;i=B;Y=158;break a}case 101:case 95:case 94:case 99:case 93:case 92:case 100:case 97:case 98:case 96:case 43:case 44:{Y=256;break a}case -95:{Y=259;break a}case 19:case 103:{Y=304;break a}case -93:{Y=307;break a}case 51:case 50:{Y=312;break a}case -97:{Y=324;break a}case -99:{Y=327;break a}case 127:case 20:{Y=476;break a}case -90:{Y=480;break a}case 49:{Y=492;break a}case 48:{Y=563;break a}case 77:{Y=568;break a}case -91:{Y=576;break a}case -89:{Y=577;break a}case 71:{Y=685;break a}case -94:case 102:case -87:break;default:{Y=584;break a}}L=f[L+12>>2]|0}b:switch(Y|0){case 6:{c=f[L+40>>2]|0;g=f[c+28>>2]|0;i=d[L+34>>1]|0;if(!(b[c>>0]|0)){e=f[g+(i*24|0)+16>>2]|0;t=_;return e|0}if(b[c+1>>0]|0){k=f[c+8>>2]|0;c=f[g+(i*24|0)+12>>2]|0;g=Z+136|0;i=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;Z=f[Z+88>>2]|0;b[Z+(i*20|0)>>0]=90;d[Z+(i*20|0)+2>>1]=0;f[Z+(i*20|0)+4>>2]=k;f[Z+(i*20|0)+8>>2]=c;f[Z+(i*20|0)+12>>2]=e;f[Z+(i*20|0)+16>>2]=0;b[Z+(i*20|0)+1>>0]=0;t=_;return e|0}else{tl(Z,90,k,c,e)|0;t=_;return e|0}}else Y=12;break}case 36:{Uo(a,L,0,e);t=_;return e|0}case 37:{c=(b[(f[L+8>>2]|0)+4>>0]|0)==0&1;g=Z+136|0;i=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;Z=f[Z+88>>2]|0;b[Z+(i*20|0)>>0]=70;d[Z+(i*20|0)+2>>1]=0;f[Z+(i*20|0)+4>>2]=c;f[Z+(i*20|0)+8>>2]=e;f[Z+(i*20|0)+12>>2]=0;f[Z+(i*20|0)+16>>2]=0;b[Z+(i*20|0)+1>>0]=0;t=_;return e|0}else{tl(Z,70,c,e,0)|0;t=_;return e|0}}case 40:{c=f[L+8>>2]|0;if(!c){t=_;return e|0}jf(c,S,(wz(c)|0)&1073741823,1)|0;i=f[Z>>2]|0;c:do if(f[i+272>>2]|0)if(!(b[i+81>>0]|0))Y=51;else Y=71;else{do if((j[i+276>>1]|0)>=8){c=i+300|0;g=f[c>>2]|0;if(g|0){f[c>>2]=f[g>>2];Y=i+284|0;f[Y>>2]=(f[Y>>2]|0)+1;Y=52;break c}c=i+296|0;g=f[c>>2]|0;if(!g){c=i+292|0;break}else{f[c>>2]=f[g>>2];Y=i+284|0;f[Y>>2]=(f[Y>>2]|0)+1;Y=52;break c}}else c=i+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;Y=51}while(0);if((Y|0)==51){g=Dc(i,8,0)|0;Y=52}do if((Y|0)==52)if(g){c=S;X=f[c>>2]|0;c=f[c+4>>2]|0;k=g;a=k;b[a>>0]=X;b[a+1>>0]=X>>8;b[a+2>>0]=X>>16;b[a+3>>0]=X>>24;k=k+4|0;b[k>>0]=c;b[k+1>>0]=c>>8;b[k+2>>0]=c>>16;b[k+3>>0]=c>>24;k=Z+136|0;c=f[k>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(c|0)){f[k>>2]=c+1;a=f[Z+88>>2]|0;b[a+(c*20|0)>>0]=-115;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=0;f[a+(c*20|0)+8>>2]=e;f[a+(c*20|0)+12>>2]=0;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else c=tl(Z,141,0,e,0)|0;i=f[Z>>2]|0;if(!(b[i+81>>0]|0)){if((c|0)<0)c=(f[k>>2]|0)+-1|0;i=f[Z+88>>2]|0;k=i+(c*20|0)+1|0;if(!(b[k>>0]|0)){f[i+(c*20|0)+16>>2]=g;b[k>>0]=-13;break}else{ul(Z,i+(c*20|0)|0,g,-13);break}}if(i|0){if(f[i+480>>2]|0){Kc(i,g);break}Z=g;if((f[i+304>>2]|0)>>>0<=Z>>>0?(f[i+308>>2]|0)>>>0>Z>>>0:0){Z=i+300|0;f[g>>2]=f[Z>>2];f[Z>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{Z=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}else Y=71;while(0);if((Y|0)==71){g=Z+136|0;c=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(c|0)){f[g>>2]=c+1;a=f[Z+88>>2]|0;b[a+(c*20|0)>>0]=-115;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=0;f[a+(c*20|0)+8>>2]=e;f[a+(c*20|0)+12>>2]=0;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else c=tl(Z,141,0,e,0)|0;if(!(b[(f[Z>>2]|0)+81>>0]|0)){if((c|0)<0)c=(f[g>>2]|0)+-1|0;g=f[Z+88>>2]|0;if(b[g+(c*20|0)+1>>0]|0)ul(Z,g+(c*20|0)|0,0,-13)}}t=_;return e|0}case 80:{i=f[L+8>>2]|0;g=Z+136|0;c=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(c|0)){f[g>>2]=c+1;a=f[Z+88>>2]|0;b[a+(c*20|0)>>0]=106;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=0;f[a+(c*20|0)+8>>2]=e;f[a+(c*20|0)+12>>2]=0;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else c=tl(Z,106,0,e,0)|0;if(b[(f[Z>>2]|0)+81>>0]|0){t=_;return e|0}if((c|0)<0)c=(f[g>>2]|0)+-1|0;ul(Z,(f[Z+88>>2]|0)+(c*20|0)|0,i,0);t=_;return e|0}case 87:{c=Z+136|0;g=f[c>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(g|0)){f[c>>2]=g+1;Z=f[Z+88>>2]|0;b[Z+(g*20|0)>>0]=73;d[Z+(g*20|0)+2>>1]=0;f[Z+(g*20|0)+4>>2]=0;f[Z+(g*20|0)+8>>2]=e;f[Z+(g*20|0)+12>>2]=0;f[Z+(g*20|0)+16>>2]=0;b[Z+(g*20|0)+1>>0]=0;t=_;return e|0}else{tl(Z,73,0,e,0)|0;t=_;return e|0}}case 90:{o=(f[L+8>>2]|0)+2|0;n=(wz(o)|0)&1073741823;q=n+-1|0;g=f[Z>>2]|0;r=(q|0)/2|0;k=r+1|0;l=((k|0)<0)<<31>>31;d:do if(f[g+272>>2]|0)if(!(b[g+81>>0]|0))Y=100;else{k=0;l=1}else{do if(!(0>>0|(0==(l|0)?(j[g+276>>1]|0)>>>0>>0:0))){c=g+300|0;i=f[c>>2]|0;if(i|0){f[c>>2]=f[i>>2];Y=g+284|0;f[Y>>2]=(f[Y>>2]|0)+1;Y=101;break d}c=g+296|0;i=f[c>>2]|0;if(!i){c=g+292|0;break}else{f[c>>2]=f[i>>2];Y=g+284|0;f[Y>>2]=(f[Y>>2]|0)+1;Y=101;break d}}else c=g+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;Y=100}while(0);if((Y|0)==100){i=Dc(g,k,l)|0;Y=101}if((Y|0)==101){g=n+-2|0;if(!i){k=0;l=1}else{if(n>>>0>2){c=0;do{a=b[o+c>>0]|0;Y=b[o+(c|1)>>0]|0;b[i+(c>>>1)>>0]=(0-(Y>>>6&1)&9)+Y&15|(0-(a>>>6&1)&9)+a<<4;c=c+2|0}while((c|0)<(g|0));c=q>>>1}else c=0;b[i+c>>0]=0;k=i;l=0}}i=Z+136|0;c=f[i>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(c|0)){f[i>>2]=c+1;a=f[Z+88>>2]|0;b[a+(c*20|0)>>0]=75;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=r;f[a+(c*20|0)+8>>2]=e;f[a+(c*20|0)+12>>2]=0;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else c=tl(Z,75,r,e,0)|0;g=f[Z>>2]|0;if(!(b[g+81>>0]|0)){if((c|0)<0)c=(f[i>>2]|0)+-1|0;g=f[Z+88>>2]|0;i=g+(c*20|0)+1|0;if(b[i>>0]|0){ul(Z,g+(c*20|0)|0,k,-7);t=_;return e|0}if(l){t=_;return e|0}f[g+(c*20|0)+16>>2]=k;b[i>>0]=-7;t=_;return e|0}if(l){t=_;return e|0}if(g|0){if(f[g+480>>2]|0){Kc(g,k);t=_;return e|0}Z=k;if((f[g+304>>2]|0)>>>0<=Z>>>0?(f[g+308>>2]|0)>>>0>Z>>>0:0){Z=g+300|0;f[k>>2]=f[Z>>2];f[Z>>2]=k;t=_;return e|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);t=_;return e|0}else{Z=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-Z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);t=_;return e|0}}case 127:{i=L+32|0;c=d[i>>1]|0;l=Z+136|0;g=f[l>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(g|0)){f[l>>2]=g+1;Y=f[Z+88>>2]|0;b[Y+(g*20|0)>>0]=76;d[Y+(g*20|0)+2>>1]=0;f[Y+(g*20|0)+4>>2]=c;f[Y+(g*20|0)+8>>2]=e;f[Y+(g*20|0)+12>>2]=0;f[Y+(g*20|0)+16>>2]=0;b[Y+(g*20|0)+1>>0]=0}else tl(Z,76,c,e,0)|0;if(!(b[(f[L+8>>2]|0)+1>>0]|0)){t=_;return e|0}k=f[a+212>>2]|0;g=d[i>>1]|0;e:do if(!k)c=0;else{i=f[k+4>>2]|0;c=2;while(1){if((f[k+(c<<2)>>2]|0)==(g|0))break;c=(f[k+(c+1<<2)>>2]|0)+c|0;if((c|0)>=(i|0)){c=0;break e}}c=k+(c+2<<2)|0}while(0);f[k>>2]=0;if(b[(f[Z>>2]|0)+81>>0]|0){t=_;return e|0}a=f[Z+88>>2]|0;Z=(f[l>>2]|0)+-1|0;b[a+(Z*20|0)+1>>0]=-1;f[a+(Z*20|0)+16>>2]=c;t=_;return e|0}case 138:{e=f[L+28>>2]|0;t=_;return e|0}case 139:{c=xl(a,f[L+12>>2]|0,e)|0;do if((c|0)!=(e|0)){g=Z+136|0;i=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;a=f[Z+88>>2]|0;b[a+(i*20|0)>>0]=79;d[a+(i*20|0)+2>>1]=0;f[a+(i*20|0)+4>>2]=c;f[a+(i*20|0)+8>>2]=e;f[a+(i*20|0)+12>>2]=0;f[a+(i*20|0)+16>>2]=0;b[a+(i*20|0)+1>>0]=0;break}else{tl(Z,79,c,e,0)|0;break}}while(0);g=f[L+8>>2]|0;i=b[g>>0]|0;f:do if(!(i<<24>>24))c=67;else{c=67;k=0;do{k=k<<8|h[1232+(i&255)>>0];g=g+1|0;g:do if((k|0)<1685026146){if((k|0)<1667785074){switch(k|0){case 1651273570:break;default:{Y=152;break g}}switch(c<<24>>24){case 69:case 67:{c=65;break g}default:{Y=151;break g}}}if((k|0)<1668050786)switch(k|0){case 1667785074:{c=66;break g}default:{Y=152;break g}}else switch(k|0){case 1668050786:{c=66;break g}default:{Y=152;break g}}}else{if((k|0)>=1919246700){if((k|0)>=1952807028)switch(k|0){case 1952807028:{c=66;break g}default:{Y=152;break g}}switch(k|0){case 1919246700:break;default:{Y=152;break g}}if(c<<24>>24==67){c=69;break}else{Y=151;break}}if((k|0)<1718382433){switch(k|0){case 1685026146:break;default:{Y=152;break g}}if(c<<24>>24==67){c=69;break}}else{switch(k|0){case 1718382433:break;default:{Y=152;break g}}if(c<<24>>24==67){c=69;break}}}while(0);if((Y|0)==151)Y=0;else if((Y|0)==152){Y=0;if((k&16777215|0)==6909556){c=68;break f}}i=b[g>>0]|0}while(i<<24>>24!=0)}while(0);c=c<<24>>24;g=Z+136|0;i=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;Z=f[Z+88>>2]|0;b[Z+(i*20|0)>>0]=85;d[Z+(i*20|0)+2>>1]=0;f[Z+(i*20|0)+4>>2]=e;f[Z+(i*20|0)+8>>2]=c;f[Z+(i*20|0)+12>>2]=0;f[Z+(i*20|0)+16>>2]=0;b[Z+(i*20|0)+1>>0]=0;t=_;return e|0}else{tl(Z,85,e,c,0)|0;t=_;return e|0}}case 157:{k=128;i=(B|0)==45?53:52;Y=158;break}case 256:{k=Dm(a,f[L+12>>2]|0,T)|0;c=Dm(a,f[L+16>>2]|0,X)|0;g=Z+136|0;i=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;Z=f[Z+88>>2]|0;b[Z+(i*20|0)>>0]=A;d[Z+(i*20|0)+2>>1]=0;f[Z+(i*20|0)+4>>2]=c;f[Z+(i*20|0)+8>>2]=k;f[Z+(i*20|0)+12>>2]=e;f[Z+(i*20|0)+16>>2]=0;b[Z+(i*20|0)+1>>0]=0;k=e;break}else{tl(Z,B,c,k,e)|0;k=e;break}}case 259:{g=L+12|0;c=f[g>>2]|0;switch(b[c>>0]|0){case -113:{Uo(a,c,1,e);t=_;return e|0}case -115:{c=f[c+8>>2]|0;if(!c){t=_;return e|0}jf(c,S,(wz(c)|0)&1073741823,1)|0;m=-+p[S>>3];p[S>>3]=m;i=f[Z>>2]|0;h:do if(f[i+272>>2]|0)if(!(b[i+81>>0]|0))Y=272;else Y=292;else{do if((j[i+276>>1]|0)>=8){c=i+300|0;g=f[c>>2]|0;if(g|0){f[c>>2]=f[g>>2];Y=i+284|0;f[Y>>2]=(f[Y>>2]|0)+1;Y=273;break h}c=i+296|0;g=f[c>>2]|0;if(!g){c=i+292|0;break}else{f[c>>2]=f[g>>2];Y=i+284|0;f[Y>>2]=(f[Y>>2]|0)+1;Y=273;break h}}else c=i+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;Y=272}while(0);if((Y|0)==272){g=Dc(i,8,0)|0;Y=273}do if((Y|0)==273)if(g){p[s>>3]=m;b[g>>0]=b[s>>0];b[g+1>>0]=b[s+1>>0];b[g+2>>0]=b[s+2>>0];b[g+3>>0]=b[s+3>>0];b[g+4>>0]=b[s+4>>0];b[g+5>>0]=b[s+5>>0];b[g+6>>0]=b[s+6>>0];b[g+7>>0]=b[s+7>>0];k=Z+136|0;c=f[k>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(c|0)){f[k>>2]=c+1;a=f[Z+88>>2]|0;b[a+(c*20|0)>>0]=-115;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=0;f[a+(c*20|0)+8>>2]=e;f[a+(c*20|0)+12>>2]=0;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else c=tl(Z,141,0,e,0)|0;i=f[Z>>2]|0;if(!(b[i+81>>0]|0)){if((c|0)<0)c=(f[k>>2]|0)+-1|0;i=f[Z+88>>2]|0;k=i+(c*20|0)+1|0;if(!(b[k>>0]|0)){f[i+(c*20|0)+16>>2]=g;b[k>>0]=-13;break}else{ul(Z,i+(c*20|0)|0,g,-13);break}}if(i|0){if(f[i+480>>2]|0){Kc(i,g);break}Z=g;if((f[i+304>>2]|0)>>>0<=Z>>>0?(f[i+308>>2]|0)>>>0>Z>>>0:0){Z=i+300|0;f[g>>2]=f[Z>>2];f[Z>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{Z=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}else Y=292;while(0);if((Y|0)==292){g=Z+136|0;c=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(c|0)){f[g>>2]=c+1;a=f[Z+88>>2]|0;b[a+(c*20|0)>>0]=-115;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=0;f[a+(c*20|0)+8>>2]=e;f[a+(c*20|0)+12>>2]=0;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else c=tl(Z,141,0,e,0)|0;if(!(b[(f[Z>>2]|0)+81>>0]|0)){if((c|0)<0)c=(f[g>>2]|0)+-1|0;g=f[Z+88>>2]|0;if(b[g+(c*20|0)+1>>0]|0)ul(Z,g+(c*20|0)|0,0,-13)}}t=_;return e|0}default:{b[C>>0]=-113;f[C+4>>2]=17408;f[C+8>>2]=0;k=Dm(a,C,T)|0;c=Dm(a,f[g>>2]|0,X)|0;g=Z+136|0;i=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;Z=f[Z+88>>2]|0;b[Z+(i*20|0)>>0]=97;d[Z+(i*20|0)+2>>1]=0;f[Z+(i*20|0)+4>>2]=c;f[Z+(i*20|0)+8>>2]=k;f[Z+(i*20|0)+12>>2]=e;f[Z+(i*20|0)+16>>2]=0;b[Z+(i*20|0)+1>>0]=0;k=e;break b}else{tl(Z,97,c,k,e)|0;k=e;break b}}}}case 304:{c=Dm(a,f[L+12>>2]|0,T)|0;g=Z+136|0;i=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;k=f[Z+88>>2]|0;b[k+(i*20|0)>>0]=A;d[k+(i*20|0)+2>>1]=0;f[k+(i*20|0)+4>>2]=c;f[k+(i*20|0)+8>>2]=e;f[k+(i*20|0)+12>>2]=0;f[k+(i*20|0)+16>>2]=0;b[k+(i*20|0)+1>>0]=0;k=e;break}else{tl(Z,B,c,e,0)|0;k=e;break}}case 307:{i=Dm(a,f[L+12>>2]|0,T)|0;l=(b[(f[(f[L+16>>2]|0)+8>>2]|0)+4>>0]|0)==0;k=(l^1)&1;l=(l^(b[L+38>>0]|0)==45)&1;g=Z+136|0;c=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(c|0)){f[g>>2]=c+1;S=f[Z+88>>2]|0;b[S+(c*20|0)>>0]=88;d[S+(c*20|0)+2>>1]=0;f[S+(c*20|0)+4>>2]=i;f[S+(c*20|0)+8>>2]=e;f[S+(c*20|0)+12>>2]=k;f[S+(c*20|0)+16>>2]=0;b[S+(c*20|0)+1>>0]=0}else c=tl(Z,88,i,e,k)|0;if(!(b[(f[Z>>2]|0)+81>>0]|0)){k=f[Z+88>>2]|0;b[k+(c*20|0)+1>>0]=-3;f[k+(c*20|0)+16>>2]=l;k=e}else k=e;break}case 312:{g=Z+136|0;c=f[g>>2]|0;k=Z+12|0;if((f[(f[k>>2]|0)+48>>2]|0)>(c|0)){f[g>>2]=c+1;S=f[Z+88>>2]|0;b[S+(c*20|0)>>0]=70;d[S+(c*20|0)+2>>1]=0;f[S+(c*20|0)+4>>2]=1;f[S+(c*20|0)+8>>2]=e;f[S+(c*20|0)+12>>2]=0;f[S+(c*20|0)+16>>2]=0;b[S+(c*20|0)+1>>0]=0}else tl(Z,70,1,e,0)|0;c=Dm(a,f[L+12>>2]|0,T)|0;i=f[g>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;S=f[Z+88>>2]|0;b[S+(i*20|0)>>0]=A;d[S+(i*20|0)+2>>1]=0;f[S+(i*20|0)+4>>2]=c;f[S+(i*20|0)+8>>2]=0;f[S+(i*20|0)+12>>2]=0;f[S+(i*20|0)+16>>2]=0;b[S+(i*20|0)+1>>0]=0}else i=tl(Z,B,c,0,0)|0;c=f[g>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(c|0)){f[g>>2]=c+1;S=f[Z+88>>2]|0;b[S+(c*20|0)>>0]=70;d[S+(c*20|0)+2>>1]=0;f[S+(c*20|0)+4>>2]=0;f[S+(c*20|0)+8>>2]=e;f[S+(c*20|0)+12>>2]=0;f[S+(c*20|0)+16>>2]=0;b[S+(c*20|0)+1>>0]=0}else tl(Z,70,0,e,0)|0;g=f[g>>2]|0;if(!(b[(f[Z>>2]|0)+81>>0]|0))c=(f[Z+88>>2]|0)+(((i|0)<0?g+-1|0:i)*20|0)|0;else c=72144;f[c+8>>2]=g;k=e;break}case 324:{c=f[L+40>>2]|0;if(!c){f[n>>2]=f[L+8>>2];ni(a,59301,n);k=e;break}e=f[(f[c+40>>2]|0)+(d[L+34>>1]<<4)+8>>2]|0;t=_;return e|0}case 327:{A=f[a>>2]|0;g=b[A+78>>0]|0;y=L+4|0;c=f[y>>2]|0;if(c&16777216|0){e=f[(f[L+44>>2]|0)+44>>2]|0;t=_;return e|0}do if(b[a+23>>0]|0){R=S+20|0;b[R>>0]=2;f[S+4>>2]=155;f[S+8>>2]=156;f[S+24>>2]=0;oi(S,L)|0;if(!(b[R>>0]|0)){c=f[y>>2]|0;break}e=Pm(a,L,-1)|0;t=_;return e|0}while(0);if((c&16384|0)==0?(x=f[L+20>>2]|0,(x|0)!=0):0){B=x;x=f[x>>2]|0;r=1}else{B=0;x=0;r=0}c=f[L+8>>2]|0;w=Rk(A,c,x,g,0)|0;if(w|0?(f[w+20>>2]|0)==0:0){u=w+4|0;c=f[u>>2]|0;if(c&512|0){r=Z+12|0;c=f[r>>2]|0;o=c+60|0;u=f[o>>2]|0;f[o>>2]=u+1;o=c+64|0;if(!(u+-1&u)){l=u<<3|4;n=f[c>>2]|0;c=f[o>>2]|0;i:do if(c){i=c;k=n+304|0;if(((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;g=Lc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Kc(n,c);c=0;break}if((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0){S=n+300|0;f[c>>2]=f[S>>2];f[S>>2]=c;c=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=0;break}else{S=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=0;break}}else c=g}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){c=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){g=n+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];S=n+284|0;f[S>>2]=(f[S>>2]|0)+1;break i}g=n+296|0;c=f[g>>2]|0;if(!c){c=n+292|0;break}else{f[g>>2]=f[c>>2];S=n+284|0;f[S>>2]=(f[S>>2]|0)+1;break i}}else c=n+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(n,l,0)|0}while(0);f[o>>2]=c}else c=f[o>>2]|0;if(c|0)f[c+(u<<2)>>2]=-1;q=~u;c=f[B+4>>2]|0;do if(c){if((b[c>>0]|0)!=-92){F=xl(a,c,e)|0;Y=376;break}k=f[K>>2]|0;c=f[c+28>>2]|0;g=k+136|0;i=f[g>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;S=f[k+88>>2]|0;b[S+(i*20|0)>>0]=78;d[S+(i*20|0)+2>>1]=0;f[S+(i*20|0)+4>>2]=c;f[S+(i*20|0)+8>>2]=e;f[S+(i*20|0)+12>>2]=0;f[S+(i*20|0)+16>>2]=0;b[S+(i*20|0)+1>>0]=0;break}else{tl(k,78,c,e,0)|0;break}}else{F=xl(a,0,e)|0;Y=376}while(0);do if(((Y|0)==376?(F|0)!=(e|0):0)?(E=f[K>>2]|0,E|0):0){c=E+136|0;g=f[c>>2]|0;if((f[(f[E+12>>2]|0)+48>>2]|0)>(g|0)){f[c>>2]=g+1;S=f[E+88>>2]|0;b[S+(g*20|0)>>0]=79;d[S+(g*20|0)+2>>1]=0;f[S+(g*20|0)+4>>2]=F;f[S+(g*20|0)+8>>2]=e;f[S+(g*20|0)+12>>2]=0;f[S+(g*20|0)+16>>2]=0;b[S+(g*20|0)+1>>0]=0;break}else{tl(E,79,F,e,0)|0;break}}while(0);if((x|0)>1){n=Z+136|0;o=Z+88|0;l=1;do{c=f[n>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(c|0)){f[n>>2]=c+1;S=f[o>>2]|0;b[S+(c*20|0)>>0]=51;d[S+(c*20|0)+2>>1]=0;f[S+(c*20|0)+4>>2]=e;f[S+(c*20|0)+8>>2]=q;f[S+(c*20|0)+12>>2]=0;f[S+(c*20|0)+16>>2]=0;b[S+(c*20|0)+1>>0]=0}else tl(Z,51,e,q,0)|0;c=f[B+4+(l*20|0)>>2]|0;do if(c){if((b[c>>0]|0)!=-92){G=xl(a,c,e)|0;Y=393;break}k=f[K>>2]|0;c=f[c+28>>2]|0;g=k+136|0;i=f[g>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;S=f[k+88>>2]|0;b[S+(i*20|0)>>0]=78;d[S+(i*20|0)+2>>1]=0;f[S+(i*20|0)+4>>2]=c;f[S+(i*20|0)+8>>2]=e;f[S+(i*20|0)+12>>2]=0;f[S+(i*20|0)+16>>2]=0;b[S+(i*20|0)+1>>0]=0;break}else{tl(k,78,c,e,0)|0;break}}else{G=xl(a,0,e)|0;Y=393}while(0);do if((Y|0)==393?(Y=0,(G|0)!=(e|0)):0){c=f[K>>2]|0;if(!c)break;g=c+136|0;i=f[g>>2]|0;if((f[(f[c+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;S=f[c+88>>2]|0;b[S+(i*20|0)>>0]=79;d[S+(i*20|0)+2>>1]=0;f[S+(i*20|0)+4>>2]=G;f[S+(i*20|0)+8>>2]=e;f[S+(i*20|0)+12>>2]=0;f[S+(i*20|0)+16>>2]=0;b[S+(i*20|0)+1>>0]=0;break}else{tl(c,79,G,e,0)|0;break}}while(0);l=l+1|0}while((l|0)!=(x|0))}c=f[(f[r>>2]|0)+64>>2]|0;if(!c){k=e;break}f[c+(u<<2)>>2]=f[Z+136>>2];k=e;break}if(c&1024|0){e=xl(a,f[B+4>>2]|0,e)|0;t=_;return e|0}if((x|0)>0){k=S+20|0;n=S+4|0;o=S+8|0;q=S+24|0;c=0;l=0;i=0;do{if(i>>>0<32){g=f[B+4+(i*20|0)>>2]|0;b[k>>0]=1;f[n>>2]=155;f[o>>2]=156;f[q>>2]=0;if(!g)g=1<>0]|0)==0?0:1<>2]&32|0)==0))l=Zk(a,f[B+4+(i*20|0)>>2]|0)|0;i=i+1|0}while((i|0)!=(x|0));v=c}else{v=0;l=0}if(r){do if(!v)if((x|0)==1){c=a+19|0;g=b[c>>0]|0;if(!(g<<24>>24)){X=a+44|0;i=(f[X>>2]|0)+1|0;f[X>>2]=i;break}else{i=g+-1<<24>>24;b[c>>0]=i;i=f[a+144+((i&255)<<2)>>2]|0;break}}else{c=a+32|0;i=f[c>>2]|0;g=a+28|0;k=f[g>>2]|0;if((k|0)<(x|0)){X=a+44|0;i=f[X>>2]|0;f[X>>2]=i+x;i=i+1|0;break}else{f[c>>2]=i+x;f[g>>2]=k-x;break}}else{X=a+44|0;i=f[X>>2]|0;f[X>>2]=i+x;i=i+1|0}while(0);c=f[u>>2]&192;j:do if(c|0){g=f[B+4>>2]|0;switch(b[g>>0]|0){case -96:case -98:break;default:break j}b[g+38>>0]=c}while(0);Jo(a,B,i,0,3);q=i}else q=0;if((x|0)>1)if(!(f[y>>2]&128))Y=431;else{c=B+24|0;Y=432}else if((x|0)==1)Y=431;else o=w;if((Y|0)==431){c=B+4|0;Y=432}if((Y|0)==432)o=Vo(A,w,x,f[c>>2]|0)|0;do if(f[o+4>>2]&32){if(!l)l=f[A+8>>2]|0;n=Z+136|0;c=f[n>>2]|0;g=Z+12|0;if((f[(f[g>>2]|0)+48>>2]|0)>(c|0)){f[n>>2]=c+1;k=f[Z+88>>2]|0;b[k+(c*20|0)>>0]=82;k=k+(c*20|0)+1|0;i=k+19|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(i|0))}else c=tl(Z,82,0,0,0)|0;if(!(b[(f[Z>>2]|0)+81>>0]|0)){if((c|0)<0)c=(f[n>>2]|0)+-1|0;i=f[Z+88>>2]|0;k=i+(c*20|0)+1|0;if(b[k>>0]|0){ul(Z,i+(c*20|0)|0,l,-2);break}if(!l)break;f[i+(c*20|0)+16>>2]=l;b[k>>0]=-2}}else{n=Z+136|0;g=Z+12|0}while(0);i=(f[a+56>>2]|0)==0?63:62;c=f[n>>2]|0;if((f[(f[g>>2]|0)+48>>2]|0)>(c|0)){f[n>>2]=c+1;Y=f[Z+88>>2]|0;b[Y+(c*20|0)>>0]=i;d[Y+(c*20|0)+2>>1]=0;f[Y+(c*20|0)+4>>2]=v;f[Y+(c*20|0)+8>>2]=q;f[Y+(c*20|0)+12>>2]=e;f[Y+(c*20|0)+16>>2]=0;b[Y+(c*20|0)+1>>0]=0}else c=tl(Z,i,v,q,e)|0;g=f[Z>>2]|0;k:do if(!(b[g+81>>0]|0)){if((c|0)<0)c=(f[n>>2]|0)+-1|0;g=f[Z+88>>2]|0;i=g+(c*20|0)+1|0;if(b[i>>0]|0){ul(Z,g+(c*20|0)|0,o,-8);break}if(o|0){f[g+(c*20|0)+16>>2]=o;b[i>>0]=-8}}else if(f[o+4>>2]&16|0){do if(g|0){if(f[g+480>>2]|0){Kc(g,o);break k}c=o;if((f[g+304>>2]|0)>>>0>c>>>0)break;if((f[g+308>>2]|0)>>>0<=c>>>0)break;Y=g+300|0;f[o>>2]=f[Y>>2];f[Y>>2]=o;break k}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{Y=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-Y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);c=f[n>>2]|0;if((c|0)>0)d[(f[Z+88>>2]|0)+((c+-1|0)*20|0)+2>>1]=x&255;if(!((x|0)!=0&(v|0)==0)){t=_;return e|0}if((x|0)!=1){c=a+28|0;if((f[c>>2]|0)>=(x|0)){t=_;return e|0}f[c>>2]=x;f[a+32>>2]=q;t=_;return e|0}if(!q){t=_;return e|0}c=a+19|0;g=b[c>>0]|0;if((g&255)>=8){t=_;return e|0}b[c>>0]=g+1<<24>>24;f[a+144+((g&255)<<2)>>2]=q;t=_;return e|0}f[z>>2]=c;ni(a,59327,z);k=e;break}case 476:{if((B|0)==127?(g=f[f[f[L+20>>2]>>2]>>2]|0,(g|0)!=1):0){f[l>>2]=g;f[l+4>>2]=1;ni(a,54847,l);k=e;break}e=Mm(a,L,0,0)|0;t=_;return e|0}case 480:{k=L+12|0;c=f[k>>2]|0;if(!(f[c+28>>2]|0)){e=Mm(a,c,0,0)|0;c=f[k>>2]|0;f[c+28>>2]=e}i=f[L+28>>2]|0;if(i){g=b[c>>0]|0;if(g<<24>>24==-92)g=b[c+38>>0]|0;switch(g<<24>>24){case -91:{g=c+20|0;Y=488;break}case 127:{g=f[c+20>>2]|0;Y=488;break}default:g=1}if((Y|0)==488)g=f[f[g>>2]>>2]|0;if((i|0)!=(g|0)){f[y>>2]=i;f[y+4>>2]=g;ni(a,57042,y);c=f[k>>2]|0}}e=(f[c+28>>2]|0)+(d[L+32>>1]|0)|0;t=_;return e|0}case 492:{v=Z+12|0;c=f[v>>2]|0;o=c+60|0;u=f[o>>2]|0;f[o>>2]=u+1;o=c+64|0;if(!(u+-1&u)){l=u<<3|4;n=f[c>>2]|0;c=f[o>>2]|0;l:do if(c){i=c;k=n+304|0;if(((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;g=Lc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Kc(n,c);c=0;break}if((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0){Y=n+300|0;f[c>>2]=f[Y>>2];f[Y>>2]=c;c=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=0;break}else{Y=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-Y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=0;break}}else c=g}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){c=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){g=n+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];Y=n+284|0;f[Y>>2]=(f[Y>>2]|0)+1;break l}g=n+296|0;c=f[g>>2]|0;if(!c){c=n+292|0;break}else{f[g>>2]=f[c>>2];Y=n+284|0;f[Y>>2]=(f[Y>>2]|0)+1;break l}}else c=n+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(n,l,0)|0}while(0);f[o>>2]=c}else c=f[o>>2]|0;if(c|0)f[c+(u<<2)>>2]=-1;q=~u;c=f[v>>2]|0;o=c+60|0;r=f[o>>2]|0;f[o>>2]=r+1;o=c+64|0;if(!(r+-1&r)){l=r<<3|4;n=f[c>>2]|0;c=f[o>>2]|0;m:do if(c){i=c;k=n+304|0;if(((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;g=Lc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Kc(n,c);c=0;break}if((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0){Y=n+300|0;f[c>>2]=f[Y>>2];f[Y>>2]=c;c=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=0;break}else{Y=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-Y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=0;break}}else c=g}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){c=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){g=n+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];Y=n+284|0;f[Y>>2]=(f[Y>>2]|0)+1;break m}g=n+296|0;c=f[g>>2]|0;if(!c){c=n+292|0;break}else{f[g>>2]=f[c>>2];Y=n+284|0;f[Y>>2]=(f[Y>>2]|0)+1;break m}}else c=n+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(n,l,0)|0}while(0);f[o>>2]=c}else c=f[o>>2]|0;if(c|0)f[c+(r<<2)>>2]=-1;i=Z+136|0;c=f[i>>2]|0;if((f[(f[v>>2]|0)+48>>2]|0)>(c|0)){f[i>>2]=c+1;Y=f[Z+88>>2]|0;b[Y+(c*20|0)>>0]=73;d[Y+(c*20|0)+2>>1]=0;f[Y+(c*20|0)+4>>2]=0;f[Y+(c*20|0)+8>>2]=e;f[Y+(c*20|0)+12>>2]=0;f[Y+(c*20|0)+16>>2]=0;b[Y+(c*20|0)+1>>0]=0}else tl(Z,73,0,e,0)|0;Gm(a,L,q,~r);c=f[i>>2]|0;if((f[(f[v>>2]|0)+48>>2]|0)>(c|0)){f[i>>2]=c+1;a=f[Z+88>>2]|0;b[a+(c*20|0)>>0]=70;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=1;f[a+(c*20|0)+8>>2]=e;f[a+(c*20|0)+12>>2]=0;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else tl(Z,70,1,e,0)|0;g=f[v>>2]|0;c=f[g+64>>2]|0;if(c|0)f[c+(u<<2)>>2]=f[i>>2];c=f[i>>2]|0;if((f[g+48>>2]|0)>(c|0)){f[i>>2]=c+1;Z=f[Z+88>>2]|0;b[Z+(c*20|0)>>0]=83;d[Z+(c*20|0)+2>>1]=0;f[Z+(c*20|0)+4>>2]=e;f[Z+(c*20|0)+8>>2]=0;f[Z+(c*20|0)+12>>2]=0;f[Z+(c*20|0)+16>>2]=0;b[Z+(c*20|0)+1>>0]=0}else tl(Z,83,e,0,0)|0;c=f[(f[v>>2]|0)+64>>2]|0;if(!c){t=_;return e|0}f[c+(r<<2)>>2]=f[i>>2];t=_;return e|0}case 563:{f[r>>2]=0;k=R;i=k+48|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(i|0));k=o;i=k+48|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(i|0));k=S;i=k+48|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(i|0));k=q;c=f[L+12>>2]|0;i=k+48|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(i|0));b[S>>0]=44;f[S+12>>2]=R;f[S+16>>2]=o;b[R>>0]=57;f[R+12>>2]=q;c=f[L+20>>2]|0;f[R+16>>2]=f[c+4>>2];b[o>>0]=55;f[o+12>>2]=q;f[o+16>>2]=f[c+24>>2];c=Fm(a,q,r)|0;b[q+38>>0]=b[q>>0]|0;b[q>>0]=-92;f[q+28>>2]=c;c=q+4|0;f[c>>2]=f[c>>2]&-4098|1;xl(a,S,e)|0;c=f[r>>2]|0;if(c|0?(u=a+19|0,v=b[u>>0]|0,(v&255)<8):0){b[u>>0]=v+1<<24>>24;f[a+144+((v&255)<<2)>>2]=c}t=_;return e|0}case 568:{k=f[L+44>>2]|0;g=U((d[k+42>>1]|0)+1|0,f[L+28>>2]|0)|0;c=L+32|0;g=(d[c>>1]|0)+1+g|0;l=Z+136|0;i=f[l>>2]|0;n=Z+12|0;if((f[(f[n>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;S=f[Z+88>>2]|0;b[S+(i*20|0)>>0]=-106;d[S+(i*20|0)+2>>1]=0;f[S+(i*20|0)+4>>2]=g;f[S+(i*20|0)+8>>2]=e;f[S+(i*20|0)+12>>2]=0;f[S+(i*20|0)+16>>2]=0;b[S+(i*20|0)+1>>0]=0}else tl(Z,150,g,e,0)|0;S=d[c>>1]|0;if(S<<16>>16>-1?(b[(f[k+4>>2]|0)+(S<<16>>16<<4)+13>>0]|0)==69:0){c=f[l>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(c|0)){f[l>>2]=c+1;k=f[Z+88>>2]|0;b[k+(c*20|0)>>0]=84;d[k+(c*20|0)+2>>1]=0;f[k+(c*20|0)+4>>2]=e;f[k+(c*20|0)+8>>2]=0;f[k+(c*20|0)+12>>2]=0;f[k+(c*20|0)+16>>2]=0;b[k+(c*20|0)+1>>0]=0;k=e;break}else{tl(Z,84,e,0,0)|0;k=e;break}}else k=e;break}case 576:{ni(a,49666,i);k=e;break}case 577:{c=f[L+28>>2]|0;i=Z+136|0;g=f[i>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(g|0)){f[i>>2]=g+1;S=f[Z+88>>2]|0;b[S+(g*20|0)>>0]=21;d[S+(g*20|0)+2>>1]=0;f[S+(g*20|0)+4>>2]=c;f[S+(g*20|0)+8>>2]=0;f[S+(g*20|0)+12>>2]=0;f[S+(g*20|0)+16>>2]=0;b[S+(g*20|0)+1>>0]=0}else g=tl(Z,21,c,0,0)|0;k=xl(a,f[L+12>>2]|0,e)|0;c=f[i>>2]|0;if(!(b[(f[Z>>2]|0)+81>>0]|0)){e=(g|0)<0?c+-1|0:g;Z=f[Z+88>>2]|0;f[Z+(e*20|0)+8>>2]=c;c=Z+(e*20|0)|0}else{f[18038]=c;c=72144}f[c+12>>2]=k;break}case 584:{B=f[L+20>>2]|0;D=f[B>>2]|0;E=Z+12|0;c=f[E>>2]|0;o=c+60|0;F=f[o>>2]|0;f[o>>2]=F+1;o=c+64|0;if(!(F+-1&F)){l=F<<3|4;n=f[c>>2]|0;c=f[o>>2]|0;n:do if(c){i=c;k=n+304|0;if(((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;g=Lc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Kc(n,c);c=0;break}if((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0){R=n+300|0;f[c>>2]=f[R>>2];f[R>>2]=c;c=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=0;break}else{R=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-R;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=0;break}}else c=g}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){c=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){g=n+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];R=n+284|0;f[R>>2]=(f[R>>2]|0)+1;break n}g=n+296|0;c=f[g>>2]|0;if(!c){c=n+292|0;break}else{f[g>>2]=f[c>>2];R=n+284|0;f[R>>2]=(f[R>>2]|0)+1;break n}}else c=n+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(n,l,0)|0}while(0);f[o>>2]=c}else c=f[o>>2]|0;if(c|0)f[c+(F<<2)>>2]=-1;A=~F;c=f[L+12>>2]|0;z=(c|0)!=0;if(z){k=C;i=k+48|0;do{f[k>>2]=f[c>>2];k=k+4|0;c=c+4|0}while((k|0)<(i|0));k=Fm(a,C,T)|0;b[C+38>>0]=b[C>>0]|0;b[C>>0]=-92;f[C+28>>2]=k;k=C+4|0;f[k>>2]=f[k>>2]&-4097;k=S;i=k+48|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(i|0));b[S>>0]=53;f[S+12>>2]=C;f[T>>2]=0;c=S}else c=0;y=D+-1|0;if((D|0)>1){v=S+16|0;w=Z+136|0;x=Z+88|0;u=0;do{g=f[B+4+(u*20|0)>>2]|0;if(z)f[v>>2]=g;else c=g;g=f[E>>2]|0;q=g+60|0;r=f[q>>2]|0;f[q>>2]=r+1;q=g+64|0;if(!(r+-1&r)){n=r<<3|4;o=f[g>>2]|0;g=f[q>>2]|0;o:do if(g){k=g;l=o+304|0;if(((f[l>>2]|0)>>>0<=k>>>0?(f[o+308>>2]|0)>>>0>k>>>0:0)?!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)):0)break;i=Lc(o,g,n,0)|0;if(!i){if(f[o+480>>2]|0){Kc(o,g);g=0;break}if((f[l>>2]|0)>>>0<=k>>>0?(f[o+308>>2]|0)>>>0>k>>>0:0){S=o+300|0;f[g>>2]=f[S>>2];f[S>>2]=g;g=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{S=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-S;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else g=i}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){i=o+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];S=o+284|0;f[S>>2]=(f[S>>2]|0)+1;break o}i=o+296|0;g=f[i>>2]|0;if(!g){g=o+292|0;break}else{f[i>>2]=f[g>>2];S=o+284|0;f[S>>2]=(f[S>>2]|0)+1;break o}}else g=o+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(o,n,0)|0}while(0);f[q>>2]=g}else g=f[q>>2]|0;if(g|0)f[g+(r<<2)>>2]=-1;zm(a,c,~r,16);g=f[B+4+((u|1)*20|0)>>2]|0;do if(g){if((b[g>>0]|0)!=-92){I=xl(a,g,e)|0;Y=655;break}l=f[K>>2]|0;g=f[g+28>>2]|0;i=l+136|0;k=f[i>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;S=f[l+88>>2]|0;b[S+(k*20|0)>>0]=78;d[S+(k*20|0)+2>>1]=0;f[S+(k*20|0)+4>>2]=g;f[S+(k*20|0)+8>>2]=e;f[S+(k*20|0)+12>>2]=0;f[S+(k*20|0)+16>>2]=0;b[S+(k*20|0)+1>>0]=0;break}else{tl(l,78,g,e,0)|0;break}}else{I=xl(a,0,e)|0;Y=655}while(0);do if(((Y|0)==655?(Y=0,(I|0)!=(e|0)):0)?(H=f[K>>2]|0,H|0):0){g=H+136|0;i=f[g>>2]|0;if((f[(f[H+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;S=f[H+88>>2]|0;b[S+(i*20|0)>>0]=79;d[S+(i*20|0)+2>>1]=0;f[S+(i*20|0)+4>>2]=I;f[S+(i*20|0)+8>>2]=e;f[S+(i*20|0)+12>>2]=0;f[S+(i*20|0)+16>>2]=0;b[S+(i*20|0)+1>>0]=0;break}else{tl(H,79,I,e,0)|0;break}}while(0);g=f[w>>2]|0;if((f[(f[E>>2]|0)+48>>2]|0)>(g|0)){f[w>>2]=g+1;S=f[x>>2]|0;b[S+(g*20|0)>>0]=11;d[S+(g*20|0)+2>>1]=0;f[S+(g*20|0)+4>>2]=0;f[S+(g*20|0)+8>>2]=A;f[S+(g*20|0)+12>>2]=0;f[S+(g*20|0)+16>>2]=0;b[S+(g*20|0)+1>>0]=0}else tl(Z,11,0,A,0)|0;g=f[(f[E>>2]|0)+64>>2]|0;if(g|0)f[g+(r<<2)>>2]=f[w>>2];u=u+2|0}while((u|0)<(y|0))}p:do if(!(D&1)){c=Z+136|0;g=f[c>>2]|0;if((f[(f[E>>2]|0)+48>>2]|0)>(g|0)){f[c>>2]=g+1;S=f[Z+88>>2]|0;b[S+(g*20|0)>>0]=73;d[S+(g*20|0)+2>>1]=0;f[S+(g*20|0)+4>>2]=0;f[S+(g*20|0)+8>>2]=e;f[S+(g*20|0)+12>>2]=0;f[S+(g*20|0)+16>>2]=0;b[S+(g*20|0)+1>>0]=0;break}else{tl(Z,73,0,e,0)|0;break}}else{c=f[B+4+(y*20|0)>>2]|0;do if(c){if((b[c>>0]|0)!=-92){i=xl(a,c,e)|0;break}k=f[K>>2]|0;c=f[c+28>>2]|0;g=k+136|0;i=f[g>>2]|0;if((f[(f[k+12>>2]|0)+48>>2]|0)>(i|0)){f[g>>2]=i+1;S=f[k+88>>2]|0;b[S+(i*20|0)>>0]=78;d[S+(i*20|0)+2>>1]=0;f[S+(i*20|0)+4>>2]=c;f[S+(i*20|0)+8>>2]=e;f[S+(i*20|0)+12>>2]=0;f[S+(i*20|0)+16>>2]=0;b[S+(i*20|0)+1>>0]=0;break p}else{tl(k,78,c,e,0)|0;break p}}else i=xl(a,0,e)|0;while(0);if((i|0)!=(e|0)?(J=f[K>>2]|0,J|0):0){c=J+136|0;g=f[c>>2]|0;if((f[(f[J+12>>2]|0)+48>>2]|0)>(g|0)){f[c>>2]=g+1;S=f[J+88>>2]|0;b[S+(g*20|0)>>0]=79;d[S+(g*20|0)+2>>1]=0;f[S+(g*20|0)+4>>2]=i;f[S+(g*20|0)+8>>2]=e;f[S+(g*20|0)+12>>2]=0;f[S+(g*20|0)+16>>2]=0;b[S+(g*20|0)+1>>0]=0;break}else{tl(J,79,i,e,0)|0;break}}}while(0);c=f[(f[E>>2]|0)+64>>2]|0;if(c|0)f[c+(F<<2)>>2]=f[Z+136>>2];k=e;break}case 685:{if(!(f[a+120>>2]|0)){ni(a,59350,k);e=0;t=_;return e|0}c=b[L+1>>0]|0;switch(c<<24>>24){case 2:{k=f[a+116>>2]|0;b[((k|0)==0?a:k)+21>>0]=1;k=f[L+8>>2]|0;g=f[a+116>>2]|0;b[((g|0)==0?a:g)+21>>0]=1;g=2;break}case 4:{i=f[L+8>>2]|0;g=Z+136|0;c=f[g>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(c|0)){f[g>>2]=c+1;S=f[Z+88>>2]|0;b[S+(c*20|0)>>0]=69;d[S+(c*20|0)+2>>1]=0;f[S+(c*20|0)+4>>2]=0;f[S+(c*20|0)+8>>2]=4;f[S+(c*20|0)+12>>2]=0;f[S+(c*20|0)+16>>2]=0;b[S+(c*20|0)+1>>0]=0}else c=tl(Z,69,0,4,0)|0;if(b[(f[Z>>2]|0)+81>>0]|0){k=e;break b}if((c|0)<0)c=(f[g>>2]|0)+-1|0;ul(Z,(f[Z+88>>2]|0)+(c*20|0)|0,i,0);k=e;break b}default:{g=c<<24>>24;k=f[L+8>>2]|0}}i=Z+136|0;c=f[i>>2]|0;if((f[(f[Z+12>>2]|0)+48>>2]|0)>(c|0)){f[i>>2]=c+1;S=f[Z+88>>2]|0;b[S+(c*20|0)>>0]=69;d[S+(c*20|0)+2>>1]=0;f[S+(c*20|0)+4>>2]=1811;f[S+(c*20|0)+8>>2]=g;f[S+(c*20|0)+12>>2]=0;f[S+(c*20|0)+16>>2]=0;b[S+(c*20|0)+1>>0]=0}else c=tl(Z,69,1811,g,0)|0;if(!(b[(f[Z>>2]|0)+81>>0]|0)){if((c|0)<0)c=(f[i>>2]|0)+-1|0;ul(Z,(f[Z+88>>2]|0)+(c*20|0)|0,k,0)}c=f[i>>2]|0;if((c|0)>0){d[(f[Z+88>>2]|0)+((c+-1|0)*20|0)+2>>1]=0;k=e}else k=e;break}}if((Y|0)==12){c=f[L+28>>2]|0;if(!(f[L+4>>2]&8)){do if((c|0)<0){c=f[a+56>>2]|0;if((c|0)>=0){c=c+-1|0;break}e=(d[L+32>>1]|0)-c|0;t=_;return e|0}while(0);g=b[L+38>>0]|0;Am(Z,f[L+44>>2]|0,c,d[L+32>>1]|0,e);if(!(g<<24>>24)){t=_;return e|0}c=f[Z+136>>2]|0;if((c|0)<=0){t=_;return e|0}d[(f[Z+88>>2]|0)+((c+-1|0)*20|0)+2>>1]=g&255;t=_;return e|0}k=xl(a,f[L+12>>2]|0,e)|0;c=d[L+32>>1]|0;if(c<<16>>16>-1){c=b[(f[(f[L+44>>2]|0)+4>>2]|0)+(c<<16>>16<<4)+13>>0]|0;if(c<<24>>24==65){e=k;t=_;return e|0}else i=c<<24>>24}else i=68;l=Z+136|0;do if((k|0)!=(e|0)){c=f[l>>2]|0;g=Z+12|0;if((f[(f[g>>2]|0)+48>>2]|0)>(c|0)){f[l>>2]=c+1;a=f[Z+88>>2]|0;b[a+(c*20|0)>>0]=79;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=k;f[a+(c*20|0)+8>>2]=e;f[a+(c*20|0)+12>>2]=0;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0;break}else{tl(Z,79,k,e,0)|0;break}}else g=Z+12|0;while(0);k=59293+((i<<1)+-132)|0;c=f[l>>2]|0;if((f[(f[g>>2]|0)+48>>2]|0)>(c|0)){f[l>>2]=c+1;a=f[Z+88>>2]|0;b[a+(c*20|0)>>0]=91;d[a+(c*20|0)+2>>1]=0;f[a+(c*20|0)+4>>2]=e;f[a+(c*20|0)+8>>2]=1;f[a+(c*20|0)+12>>2]=0;f[a+(c*20|0)+16>>2]=0;b[a+(c*20|0)+1>>0]=0}else c=tl(Z,91,e,1,0)|0;if(b[(f[Z>>2]|0)+81>>0]|0){t=_;return e|0}if((c|0)<0)c=(f[l>>2]|0)+-1|0;g=f[Z+88>>2]|0;i=g+(c*20|0)+1|0;if(!(b[i>>0]|0)){f[g+(c*20|0)+16>>2]=k;b[i>>0]=-1;t=_;return e|0}else{ul(Z,g+(c*20|0)|0,k,-1);t=_;return e|0}}do if((Y|0)==158){O=f[L+12>>2]|0;c=b[O>>0]|0;l=c<<24>>24==-92;if(l)g=b[O+38>>0]|0;else g=c;switch(g<<24>>24){case -91:{w=O+20|0;Y=163;break}case 127:{w=f[O+20>>2]|0;Y=163;break}default:{}}if((Y|0)==163?(f[f[w>>2]>>2]|0)>=2:0){N=i&255;I=k&255;M=f[L+16>>2]|0;if(l)c=b[O+38>>0]|0;switch(c<<24>>24){case -91:{c=O+20|0;Y=169;break}case 127:{c=f[O+20>>2]|0;Y=169;break}default:q=1}if((Y|0)==169)q=f[f[c>>2]>>2]|0;K=Z+12|0;c=f[K>>2]|0;o=c+60|0;L=f[o>>2]|0;f[o>>2]=L+1;o=c+64|0;if(!(L+-1&L)){l=L<<3|4;n=f[c>>2]|0;c=f[o>>2]|0;q:do if(c){i=c;k=n+304|0;if(((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0)?!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)):0)break;g=Lc(n,c,l,0)|0;if(!g){if(f[n+480>>2]|0){Kc(n,c);c=0;break}if((f[k>>2]|0)>>>0<=i>>>0?(f[n+308>>2]|0)>>>0>i>>>0:0){J=n+300|0;f[c>>2]=f[J>>2];f[J>>2]=c;c=0;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=0;break}else{J=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-J;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=0;break}}else c=g}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){c=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){g=n+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];J=n+284|0;f[J>>2]=(f[J>>2]|0)+1;break q}g=n+296|0;c=f[g>>2]|0;if(!c){c=n+292|0;break}else{f[g>>2]=f[c>>2];J=n+284|0;f[J>>2]=(f[J>>2]|0)+1;break q}}else c=n+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(n,l,0)|0}while(0);f[o>>2]=c}else c=f[o>>2]|0;if(c|0)f[c+(L<<2)>>2]=-1;J=~L;g=b[M>>0]|0;if(g<<24>>24==-92)c=b[M+38>>0]|0;else c=g;switch(c<<24>>24){case -91:{c=M+20|0;Y=204;break}case 127:{c=f[M+20>>2]|0;Y=204;break}default:c=1}if((Y|0)==204)c=f[f[c>>2]>>2]|0;if((q|0)!=(c|0)){ni(a,49666,D);k=e;break}i=N<<24>>24==55?56:N;if((b[O>>0]|0)==127){H=Mm(a,O,0,0)|0;c=b[M>>0]|0}else{H=0;c=g}if(c<<24>>24==127)u=Mm(a,M,0,0)|0;else u=0;v=O+38|0;w=O+20|0;x=O+28|0;y=O+20|0;z=M+38|0;A=M+20|0;B=M+28|0;C=M+20|0;D=a+19|0;E=q+-1|0;G=Z+136|0;F=Z+88|0;r=q+-2|0;c=I|32;q=0;g=i<<24>>24==57?54:i;while(1){f[S>>2]=0;f[R>>2]=0;switch(b[O>>0]|0){case -92:{k=b[v>>0]|0;switch(k<<24>>24){case -91:{i=y;Y=215;break}case 127:{i=f[w>>2]|0;Y=215;break}default:i=O}do if((Y|0)==215){Y=0;if((f[f[i>>2]>>2]|0)>=2)if(k<<24>>24==127){i=f[(f[f[w>>2]>>2]|0)+4+(q*20|0)>>2]|0;break}else{i=f[(f[y>>2]|0)+4+(q*20|0)>>2]|0;break}else i=O}while(0);n=(f[x>>2]|0)+q|0;break}case 127:{n=q+H|0;i=f[(f[f[w>>2]>>2]|0)+4+(q*20|0)>>2]|0;break}default:{i=f[(f[w>>2]|0)+4+(q*20|0)>>2]|0;n=Dm(a,i,S)|0}}switch(b[M>>0]|0){case -92:{l=b[z>>0]|0;switch(l<<24>>24){case -91:{k=C;Y=225;break}case 127:{k=f[A>>2]|0;Y=225;break}default:k=M}do if((Y|0)==225){Y=0;if((f[f[k>>2]>>2]|0)>=2)if(l<<24>>24==127){k=f[(f[f[A>>2]>>2]|0)+4+(q*20|0)>>2]|0;break}else{k=f[(f[C>>2]|0)+4+(q*20|0)>>2]|0;break}else k=M}while(0);l=(f[B>>2]|0)+q|0;break}case 127:{l=q+u|0;k=f[(f[f[A>>2]>>2]|0)+4+(q*20|0)>>2]|0;break}default:{k=f[(f[A>>2]|0)+4+(q*20|0)>>2]|0;l=Dm(a,k,R)|0}}o=c&255;Em(a,i,k,g&255,n,l,e,o);i=f[S>>2]|0;if(i|0?(P=b[D>>0]|0,(P&255)<8):0){b[D>>0]=P+1<<24>>24;f[a+144+((P&255)<<2)>>2]=i}i=f[R>>2]|0;if(i|0?(Q=b[D>>0]|0,(Q&255)<8):0){b[D>>0]=Q+1<<24>>24;f[a+144+((Q&255)<<2)>>2]=i}if((q|0)==(E|0))break;switch(g<<24>>24){case 53:{c=f[G>>2]|0;if((f[(f[K>>2]|0)+48>>2]|0)>(c|0)){f[G>>2]=c+1;I=f[F>>2]|0;b[I+(c*20|0)>>0]=20;d[I+(c*20|0)+2>>1]=0;f[I+(c*20|0)+4>>2]=e;f[I+(c*20|0)+8>>2]=J;f[I+(c*20|0)+12>>2]=0;f[I+(c*20|0)+16>>2]=0;b[I+(c*20|0)+1>>0]=0}else tl(Z,20,e,J,0)|0;c=(o|8)&255;g=53;break}case 52:{c=f[G>>2]|0;if((f[(f[K>>2]|0)+48>>2]|0)>(c|0)){f[G>>2]=c+1;I=f[F>>2]|0;b[I+(c*20|0)>>0]=18;d[I+(c*20|0)+2>>1]=0;f[I+(c*20|0)+4>>2]=e;f[I+(c*20|0)+8>>2]=J;f[I+(c*20|0)+12>>2]=0;f[I+(c*20|0)+16>>2]=0;b[I+(c*20|0)+1>>0]=0}else tl(Z,18,e,J,0)|0;c=(o|8)&255;g=52;break}default:{i=f[G>>2]|0;if((f[(f[K>>2]|0)+48>>2]|0)>(i|0)){f[G>>2]=i+1;I=f[F>>2]|0;b[I+(i*20|0)>>0]=58;d[I+(i*20|0)+2>>1]=0;f[I+(i*20|0)+4>>2]=0;f[I+(i*20|0)+8>>2]=J;f[I+(i*20|0)+12>>2]=0;f[I+(i*20|0)+16>>2]=0;b[I+(i*20|0)+1>>0]=0}else tl(Z,58,0,J,0)|0;g=(q|0)==(r|0)?N:g}}q=q+1|0}c=f[(f[K>>2]|0)+64>>2]|0;if(!c){k=e;break}f[c+(L<<2)>>2]=f[G>>2];k=e;break}Y=Dm(a,O,T)|0;S=L+16|0;Z=Dm(a,f[S>>2]|0,X)|0;Em(a,O,f[S>>2]|0,i,Y,Z,e,k|32);k=e}while(0);c=f[T>>2]|0;if(c|0?(V=a+19|0,W=b[V>>0]|0,(W&255)<8):0){b[V>>0]=W+1<<24>>24;f[a+144+((W&255)<<2)>>2]=c}c=f[X>>2]|0;if(!c){e=k;t=_;return e|0}g=a+19|0;i=b[g>>0]|0;if((i&255)>=8){e=k;t=_;return e|0}b[g>>0]=i+1<<24>>24;f[a+144+((i&255)<<2)>>2]=c;e=k;t=_;return e|0}function yl(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=t;t=t+16|0;k=N;M=f[a>>2]|0;I=d[c+192>>1]|0;i=I<<16>>16;g=f[c+44>>2]|0;G=f[c+40>>2]|0;f[k>>2]=f[c+96>>2];g=G+g|0;g=g+((G|0)==0&(g|0)>0&1)|0;l=((f[a+136>>2]|0)*20|0)+7&-8;m=(f[a+88>>2]|0)+l|0;l=(f[c+52>>2]|0)-l&-8;go(a,k);if(!(b[c+20>>0]|0))e=0;else e=((b[c+21>>0]|0)!=0&1)<<7&65535;H=a+145|0;J=(h[H>>0]|h[H+1>>0]<<8)&-129|e;b[H>>0]=J;b[H+1>>0]=J>>8;D=c+195|0;g=(g|0)<10&(b[D>>0]|0)!=0?10:g;J=J&-4;b[H>>0]=J;b[H+1>>0]=J>>8;J=a+92|0;A=g*40|0;E=a+116|0;B=i*40|0;C=a+96|0;o=(f[k>>2]<<2)+7&-8;K=a+112|0;L=G<<2;p=L+7&-8;q=M+272|0;r=M+276|0;s=a+188|0;u=M+81|0;v=M+288|0;w=M+300|0;x=M+296|0;y=M+284|0;z=M+292|0;e=m;do{k=f[J>>2]|0;if(!k){O=(l|0)<(A|0);m=l-A|0;k=O?0:e+m|0;n=O?A:0;m=O?l:m}else{n=0;m=l}f[J>>2]=k;k=f[E>>2]|0;do if(!k)if((m|0)<(B|0)){k=0;l=n+B|0;break}else{m=m-B|0;k=e+m|0;l=n;break}else l=n;while(0);f[E>>2]=k;k=f[C>>2]|0;do if(!k)if((m|0)<(o|0)){k=0;l=o+l|0;break}else{m=m-o|0;k=e+m|0;break}while(0);f[C>>2]=k;k=f[K>>2]|0;do if(!k)if((m|0)<(p|0)){e=0;l=l+p|0;break}else{e=e+(m-p)|0;break}else e=k;while(0);f[K>>2]=e;if(!l)break;k=((l|0)<0)<<31>>31;do if(f[q>>2]|0)if(!(b[u>>0]|0))F=27;else e=0;else{if(!(0>>0|(0==(k|0)?(j[r>>1]|0)>>>0>>0:0))){e=f[w>>2]|0;if(e|0){f[w>>2]=f[e>>2];f[y>>2]=(f[y>>2]|0)+1;break}e=f[x>>2]|0;if(!e)e=z;else{f[x>>2]=f[e>>2];f[y>>2]=(f[y>>2]|0)+1;break}}else e=v;f[e>>2]=(f[e>>2]|0)+1;F=27}while(0);if((F|0)==27){F=0;e=Dc(M,l,k)|0}f[s>>2]=e}while((b[u>>0]|0)==0);O=c+212|0;f[a+120>>2]=f[O>>2];f[O>>2]=0;O=(h[H>>0]|h[H+1>>0]<<8)&-13|b[D>>0]<<2&12;b[H>>0]=O;b[H+1>>0]=O>>8;if(b[u>>0]|0){d[a+16>>1]=0;f[a+28>>2]=0;f[a+24>>2]=0;O=a+20|0;f[O>>2]=770837923;O=a+36|0;f[O>>2]=-1;O=a+40|0;f[O>>2]=0;O=a+142|0;b[O>>0]=2;O=a+44|0;f[O>>2]=0;O=a+32|0;f[O>>2]=1;O=a+143|0;b[O>>0]=-1;O=a+48|0;f[O>>2]=0;O=a+64|0;M=O;f[M>>2]=0;O=O+4|0;f[O>>2]=0;t=N;return}f[a+28>>2]=G;d[a+16>>1]=I;if(I<<16>>16>0){e=f[E>>2]|0;while(1){f[e+32>>2]=M;d[e+8>>1]=1;f[e+24>>2]=0;if((i|0)>1){i=i+-1|0;e=e+40|0}else break}}f[a+24>>2]=g;if((g|0)>0){e=f[J>>2]|0;while(1){f[e+32>>2]=M;d[e+8>>1]=128;f[e+24>>2]=0;if((g|0)>1){g=g+-1|0;e=e+40|0}else break}}_A(f[K>>2]|0,0,L|0)|0;O=a+20|0;f[O>>2]=770837923;O=a+36|0;f[O>>2]=-1;O=a+40|0;f[O>>2]=0;O=a+142|0;b[O>>0]=2;O=a+44|0;f[O>>2]=0;O=a+32|0;f[O>>2]=1;O=a+143|0;b[O>>0]=-1;O=a+48|0;f[O>>2]=0;O=a+64|0;M=O;f[M>>2]=0;O=O+4|0;f[O>>2]=0;t=N;return}function zl(a,c,e,g,i,k,l){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=t;t=t+96|0;K=P+80|0;F=P+72|0;G=P+64|0;E=P+56|0;A=P+48|0;B=P+40|0;w=P+32|0;v=P+24|0;s=P+16|0;q=P+8|0;p=P;L=P+84|0;O=f[a>>2]|0;H=O+165|0;n=(b[H>>0]|0)==0;do if(!n?(f[O+160>>2]|0)==1:0){e=b[O+164>>0]|0;q=e&255;e=e<<24>>24==1;p=e?48842:43770;e=e?19:14;a:do if(f[O+272>>2]|0){if(!(b[O+81>>0]|0))N=13}else{do if(!(0<0|(0==0?(j[O+276>>1]|0)>>>0>>0:0))){n=O+300|0;o=f[n>>2]|0;if(o|0){f[n>>2]=f[o>>2];N=O+284|0;f[N>>2]=(f[N>>2]|0)+1;N=14;break a}n=O+296|0;o=f[n>>2]|0;if(!o){n=O+292|0;break}else{f[n>>2]=f[o>>2];N=O+284|0;f[N>>2]=(f[N>>2]|0)+1;N=14;break a}}else n=O+288|0;while(0);f[n>>2]=(f[n>>2]|0)+1;N=13}while(0);if((N|0)==13){o=Dc(O,e,0)|0;N=14}if((N|0)==14?o|0:0){YA(o|0,p|0,e|0)|0;s=c;I=f[s+4>>2]|0;C=a+176|0;f[C>>2]=f[s>>2];f[C+4>>2]=I;C=o;I=q;break}i=c;k=f[i+4>>2]|0;O=a+176|0;f[O>>2]=f[i>>2];f[O+4>>2]=k;t=P;return}else N=16;while(0);if((N|0)==16){r=e+4|0;if(f[r>>2]|0){if(!n){ni(a,51151,p);t=P;return}n=Hl(O,c)|0;if((n|0)<0){f[q>>2]=c;ni(a,51168,q);t=P;return}}else{e=c;n=h[O+164>>0]|0}o=(g|0)!=0;if(o?(n|0)!=1&(f[r>>2]|0)!=0:0){ni(a,59183,s);t=P;return}s=o?1:n;r=pl(O,e)|0;b:do if((h[a+196>>0]|0)>1){p=f[a>>2]|0;c:do if(!p){if(!(f[9328]|0)){n=ib[f[37356>>2]&255](16)|0;N=49;break}n=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;p=71896;o=f[p>>2]|0;p=f[p+4>>2]|0;if((p|0)>0|(p|0)==0&o>>>0>0){I=f[18187]|0;C=LA(o|0,p|0,n|0,((n|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&C>>>0<=I>>>0)&1}n=ib[f[37356>>2]&255](n)|0;if(!n)break b;o=ib[f[37368>>2]&255](n)|0;o=(f[18187]|0)+o|0;f[18187]=o;if(o>>>0>(f[18191]|0)>>>0)f[18191]=o;o=(f[18190]|0)+1|0;f[18190]=o;if(o>>>0>(f[18196]|0)>>>0)f[18196]=o}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0)break b}else{do if((j[p+276>>1]|0)>=16){o=p+300|0;n=f[o>>2]|0;if(n|0){f[o>>2]=f[n>>2];N=p+284|0;f[N>>2]=(f[N>>2]|0)+1;N=49;break c}o=p+296|0;n=f[o>>2]|0;if(!n){n=p+292|0;break}else{f[o>>2]=f[n>>2];N=p+284|0;f[N>>2]=(f[N>>2]|0)+1;N=49;break c}}else n=p+288|0;while(0);f[n>>2]=(f[n>>2]|0)+1}n=Dc(p,16,0)|0;N=49}while(0);if((N|0)==49)if(!n)break;o=n+4|0;p=o;q=p+12|0;do{b[p>>0]=0;p=p+1|0}while((p|0)<(q|0));f[n>>2]=r;c=e;C=f[c+4>>2]|0;I=o;f[I>>2]=f[c>>2];f[I+4>>2]=C;I=a+268|0;f[n+12>>2]=f[I>>2];f[I>>2]=n}while(0);c=e;C=f[c+4>>2]|0;I=a+176|0;f[I>>2]=f[c>>2];f[I+4>>2]=C;if(!r){t=P;return}else{C=r;c=e;I=s}}d:do if(!(Zl(a,C)|0)){e=(b[O+164>>0]|0)==1?1:g;g=O+16|0;p=f[(f[g>>2]|0)+(I<<4)>>2]|0;n=(e|0)==1?48842:43770;o=f[a>>2]|0;do if(((b[o+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(u=f[o+312>>2]|0,u|0):0){n=nb[u&127](f[o+316>>2]|0,18,n,0,p,f[a+236>>2]|0)|0;if((n|0)==1){ni(a,49816,v);f[a+12>>2]=23;N=241;break d}if((n|2|0)==2)if(!n)break;else{N=241;break d}else{ni(a,49831,w);f[a+12>>2]=1;N=241;break d}}while(0);w=(k|0)==0;do if(((w?(x=h[59224+(e+(i<<1))>>0]|0,y=f[a>>2]|0,(b[y+165>>0]|0)==0):0)?(b[a+196>>0]|0)==0:0)?(z=f[y+312>>2]|0,z|0):0){n=nb[z&127](f[y+316>>2]|0,x,C,0,p,f[a+236>>2]|0)|0;if((n|0)==1){ni(a,49816,B);f[a+12>>2]=23;N=241;break d}if((n|2|0)==2)if(!n)break;else{N=241;break d}else{ni(a,49831,A);f[a+12>>2]=1;N=241;break d}}while(0);do if(!(b[a+196>>0]|0)){o=f[(f[g>>2]|0)+(I<<4)>>2]|0;p=f[a>>2]|0;e:do if(!(b[p+165>>0]|0)){e=a+4|0;q=p+24|0;r=(f[q>>2]&1|0)==0;s=p+16|0;B=f[(f[s>>2]|0)+12>>2]|0;b[p+78>>0]=b[B+77>>0]|0;if(!((d[B+78>>1]&1)==0?(m=qi(p,0,e,0)|0,(m|0)!=0):0))N=75;f:do if((N|0)==75){m=f[p+20>>2]|0;if((m|0)>1)do{n=m;m=m+-1|0;if((d[(f[(f[s>>2]|0)+(m<<4)+12>>2]|0)+78>>1]&1)==0?(D=qi(p,m,e,0)|0,D|0):0){m=D;break f}}while((n|0)>2);if(r)f[q>>2]=f[q>>2]&-2;if(!(b[p+89>>0]|0))break e;f[q>>2]=f[q>>2]|8;break e}while(0);f[a+12>>2]=m;N=a+36|0;f[N>>2]=(f[N>>2]|0)+1;N=240;break d}while(0);if(!(ji(O,C,o)|0)){if(Qj(O,C,o)|0){f[F>>2]=C;ni(a,59252,F);N=240;break d}if(O|0){N=118;break}if(!(f[9328]|0)){m=ib[f[37356>>2]&255](80)|0;N=140;break}m=ib[f[37372>>2]&255](80)|0;if((f[18194]|0)>>>0<80)f[18194]=80;o=71896;n=f[o>>2]|0;o=f[o+4>>2]|0;if((o|0)>0|(o|0)==0&n>>>0>0){G=f[18187]|0;F=LA(n|0,o|0,m|0,((m|0)<0)<<31>>31|0)|0;E=ba()|0;f[17976]=((E|0)<0|(E|0)==0&F>>>0<=G>>>0)&1}m=ib[f[37356>>2]&255](m)|0;if(!m){N=141;break}n=ib[f[37368>>2]&255](m)|0;n=(f[18187]|0)+n|0;f[18187]=n;if(n>>>0>(f[18191]|0)>>>0)f[18191]=n;n=(f[18190]|0)+1|0;f[18190]=n;if(n>>>0<=(f[18196]|0)>>>0)break;f[18196]=n;break}if(!l){f[E>>2]=c;ni(a,59228,E);N=240;break d}p=f[a+116>>2]|0;p=(p|0)==0?a:p;m=p+84|0;n=f[m>>2]|0;o=1<>2]=n|o;if((I|0)!=1){N=240;break d}s=f[p>>2]|0;m=s+16|0;if(f[(f[m>>2]|0)+20>>2]|0){N=240;break d}if(b[p+195>>0]|0){N=240;break d}n=cj(f[s>>2]|0,0,s,L,0,542)|0;if(n|0){ni(p,51535,G);f[p+12>>2]=n;N=240;break d}a=f[L>>2]|0;f[(f[m>>2]|0)+20>>2]=a;m=f[s+92>>2]|0;p=f[a+4>>2]|0;f[p+4>>2]=f[a>>2];if(!(d[p+22>>1]&2)){e=p+32|0;q=p+36|0;r=(f[e>>2]|0)-(f[q>>2]|0)|0;do if((m+-512|0)>>>0<65025?(m+-1&m|0)==0:0){f[e>>2]=m;o=p+80|0;m=f[o>>2]|0;if(!m)break;n=m+-4|0;f[o>>2]=n;m=n;do if((f[18022]|0)>>>0<=m>>>0)if((f[18023]|0)>>>0>m>>>0){f[18188]=(f[18188]|0)+-1;f[n>>2]=f[18025];f[18025]=n;a=(f[18026]|0)+1|0;f[18026]=a;f[18027]=(a|0)<(f[18021]|0)&1;break}else{m=ib[f[37368>>2]&255](n)|0;N=103;break}else{m=ib[f[37368>>2]&255](n)|0;N=103}while(0);do if((N|0)==103){f[18189]=(f[18189]|0)-m;if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{a=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[o>>2]=0}while(0);a=ih(f[p>>2]|0,e,r)|0;f[q>>2]=(f[e>>2]|0)-(r&65535);if((a|0)==7){m=s+81|0;do if(!(b[m>>0]|0)){if(b[s+82>>0]|0)break;b[m>>0]=1;if((f[s+180>>2]|0)>0)f[s+264>>2]=1;a=s+272|0;f[a>>2]=(f[a>>2]|0)+1}while(0);N=240;break d}}N=240;break d}else N=118;while(0);g:do if((N|0)==118){if(f[O+272>>2]|0){if(b[O+81>>0]|0){N=141;break}}else{do if((j[O+276>>1]|0)>=80){n=O+300|0;m=f[n>>2]|0;if(m|0){f[n>>2]=f[m>>2];N=O+284|0;f[N>>2]=(f[N>>2]|0)+1;N=140;break g}n=O+296|0;m=f[n>>2]|0;if(!m){m=O+292|0;break}else{f[n>>2]=f[m>>2];N=O+284|0;f[N>>2]=(f[N>>2]|0)+1;N=140;break g}}else m=O+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1}m=Dc(O,80,0)|0;N=140}while(0);if((N|0)==140)if(!m)N=141;if((N|0)==141){f[a+12>>2]=7;a=a+36|0;f[a>>2]=(f[a>>2]|0)+1;N=240;break}p=m+4|0;q=p+76|0;do{b[p>>0]=0;p=p+1|0}while((p|0)<(q|0));f[m>>2]=C;d[m+40>>1]=-1;n=f[(f[g>>2]|0)+(I<<4)+12>>2]|0;f[m+72>>2]=n;f[m+32>>2]=1;d[m+44>>1]=200;f[a+224>>2]=m;if((b[a+18>>0]|0)==0?(tz(C,52908)|0)==0:0)f[n+72>>2]=m;if(b[H>>0]|0){t=P;return}g=a+8|0;m=f[g>>2]|0;u=a+116|0;if(!m){if((f[u>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;m=sl(a)|0;if(!m){t=P;return}else v=m}else v=m;s=f[u>>2]|0;s=(s|0)==0?a:s;m=s+84|0;n=f[m>>2]|0;c=1<>2]=n|c,(I|0)==1):0)?(M=f[s>>2]|0,J=M+16|0,(f[(f[J>>2]|0)+20>>2]|0)==0):0)?(b[s+195>>0]|0)==0:0){m=cj(f[M>>2]|0,0,M,L,0,542)|0;if(m|0){ni(s,51535,K);f[s+12>>2]=m;break}L=f[L>>2]|0;f[(f[J>>2]|0)+20>>2]=L;m=f[M+92>>2]|0;p=f[L+4>>2]|0;f[p+4>>2]=f[L>>2];if(!(d[p+22>>1]&2)){e=p+32|0;q=p+36|0;r=(f[e>>2]|0)-(f[q>>2]|0)|0;do if((m+-512|0)>>>0<65025?(m+-1&m|0)==0:0){f[e>>2]=m;o=p+80|0;m=f[o>>2]|0;if(!m)break;n=m+-4|0;f[o>>2]=n;m=n;do if((f[18022]|0)>>>0<=m>>>0)if((f[18023]|0)>>>0>m>>>0){f[18188]=(f[18188]|0)+-1;f[n>>2]=f[18025];f[18025]=n;L=(f[18026]|0)+1|0;f[18026]=L;f[18027]=(L|0)<(f[18021]|0)&1;break}else{m=ib[f[37368>>2]&255](n)|0;N=166;break}else{m=ib[f[37368>>2]&255](n)|0;N=166}while(0);do if((N|0)==166){f[18189]=(f[18189]|0)-m;if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{N=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-N;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[o>>2]=0}while(0);N=ih(f[p>>2]|0,e,r)|0;f[q>>2]=(f[e>>2]|0)-(r&65535);if((N|0)==7){m=M+81|0;do if(!(b[m>>0]|0)){if(b[M+82>>0]|0)break;b[m>>0]=1;if((f[M+180>>2]|0)>0)f[M+264>>2]=1;N=M+272|0;f[N>>2]=(f[N>>2]|0)+1}while(0);break}}}while(0);N=s+80|0;f[N>>2]=f[N>>2]|c;s=s+20|0;b[s>>0]=b[s>>0]|1;s=v+136|0;do if(!w){m=f[s>>2]|0;n=v+12|0;if((f[(f[n>>2]|0)+48>>2]|0)>(m|0)){f[s>>2]=m+1;p=f[v+88>>2]|0;b[p+(m*20|0)>>0]=-95;p=p+(m*20|0)+1|0;q=p+19|0;do{b[p>>0]=0;p=p+1|0}while((p|0)<(q|0));r=n;break}else{tl(v,161,0,0,0)|0;r=n;break}}else r=v+12|0;while(0);m=a+44|0;q=f[m>>2]|0;e=q+1|0;f[a+88>>2]=e;p=q+2|0;f[a+92>>2]=p;q=q+3|0;f[m>>2]=q;m=f[s>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(m|0)){f[s>>2]=m+1;N=f[v+88>>2]|0;b[N+(m*20|0)>>0]=105;d[N+(m*20|0)+2>>1]=0;f[N+(m*20|0)+4>>2]=I;f[N+(m*20|0)+8>>2]=q;f[N+(m*20|0)+12>>2]=2;f[N+(m*20|0)+16>>2]=0;b[N+(m*20|0)+1>>0]=0}else tl(v,105,I,q,2)|0;N=v+148|0;f[N>>2]=f[N>>2]|c;if((I|0)!=1?b[(f[(f[(f[v>>2]|0)+16>>2]|0)+(I<<4)+4>>2]|0)+9>>0]|0:0){N=v+152|0;f[N>>2]=f[N>>2]|c}m=f[s>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(m|0)){f[s>>2]=m+1;o=f[v+88>>2]|0;b[o+(m*20|0)>>0]=18;d[o+(m*20|0)+2>>1]=0;f[o+(m*20|0)+4>>2]=q;f[o+(m*20|0)+8>>2]=0;f[o+(m*20|0)+12>>2]=0;f[o+(m*20|0)+16>>2]=0;b[o+(m*20|0)+1>>0]=0;o=m}else o=tl(v,18,q,0,0)|0;m=(0==0?(f[O+32>>2]&2|0)==0:0)?4:1;n=f[s>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(n|0)){f[s>>2]=n+1;N=f[v+88>>2]|0;b[N+(n*20|0)>>0]=107;d[N+(n*20|0)+2>>1]=0;f[N+(n*20|0)+4>>2]=I;f[N+(n*20|0)+8>>2]=2;f[N+(n*20|0)+12>>2]=m;f[N+(n*20|0)+16>>2]=0;b[N+(n*20|0)+1>>0]=0}else tl(v,107,I,2,m)|0;m=h[O+78>>0]|0;n=f[s>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(n|0)){f[s>>2]=n+1;O=f[v+88>>2]|0;b[O+(n*20|0)>>0]=107;d[O+(n*20|0)+2>>1]=0;f[O+(n*20|0)+4>>2]=I;f[O+(n*20|0)+8>>2]=5;f[O+(n*20|0)+12>>2]=m;f[O+(n*20|0)+16>>2]=0;b[O+(n*20|0)+1>>0]=0}else tl(v,107,I,5,m)|0;m=f[s>>2]|0;if(!(b[(f[v>>2]|0)+81>>0]|0))n=(f[v+88>>2]|0)+(((o|0)<0?m+-1|0:o)*20|0)|0;else n=72144;f[n+8>>2]=m;n=(f[(f[r>>2]|0)+48>>2]|0)>(m|0);do if(k|i)if(n){f[s>>2]=m+1;O=f[v+88>>2]|0;b[O+(m*20|0)>>0]=70;d[O+(m*20|0)+2>>1]=0;f[O+(m*20|0)+4>>2]=0;f[O+(m*20|0)+8>>2]=p;f[O+(m*20|0)+12>>2]=0;f[O+(m*20|0)+16>>2]=0;b[O+(m*20|0)+1>>0]=0;break}else{tl(v,70,0,p,0)|0;break}else{if(n){f[s>>2]=m+1;O=f[v+88>>2]|0;b[O+(m*20|0)>>0]=-116;d[O+(m*20|0)+2>>1]=0;f[O+(m*20|0)+4>>2]=I;f[O+(m*20|0)+8>>2]=p;f[O+(m*20|0)+12>>2]=1;f[O+(m*20|0)+16>>2]=0;b[O+(m*20|0)+1>>0]=0}else m=tl(v,140,I,p,1)|0;f[a+124>>2]=m}while(0);m=f[g>>2]|0;if(!m){do if(!(f[u>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);o=sl(a)|0}else o=m;nm(a,I,1,1,43770);n=o+136|0;m=f[n>>2]|0;if((f[(f[o+12>>2]|0)+48>>2]|0)>(m|0)){f[n>>2]=m+1;O=f[o+88>>2]|0;b[O+(m*20|0)>>0]=110;d[O+(m*20|0)+2>>1]=0;f[O+(m*20|0)+4>>2]=0;f[O+(m*20|0)+8>>2]=1;f[O+(m*20|0)+12>>2]=I;f[O+(m*20|0)+16>>2]=0;b[O+(m*20|0)+1>>0]=0}else m=tl(o,110,0,1,I)|0;if(!(b[(f[o>>2]|0)+81>>0]|0)){O=f[o+88>>2]|0;b[O+(m*20|0)+1>>0]=-3;f[O+(m*20|0)+16>>2]=5}m=a+40|0;if(!(f[m>>2]|0))f[m>>2]=1;m=f[s>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(m|0)){f[s>>2]=m+1;O=f[v+88>>2]|0;b[O+(m*20|0)>>0]=121;d[O+(m*20|0)+2>>1]=0;f[O+(m*20|0)+4>>2]=0;f[O+(m*20|0)+8>>2]=e;f[O+(m*20|0)+12>>2]=0;f[O+(m*20|0)+16>>2]=0;b[O+(m*20|0)+1>>0]=0}else tl(v,121,0,e,0)|0;m=f[s>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(m|0)){f[s>>2]=m+1;O=f[v+88>>2]|0;b[O+(m*20|0)>>0]=75;d[O+(m*20|0)+2>>1]=0;f[O+(m*20|0)+4>>2]=6;f[O+(m*20|0)+8>>2]=q;f[O+(m*20|0)+12>>2]=0;f[O+(m*20|0)+16>>2]=0;b[O+(m*20|0)+1>>0]=0}else m=tl(v,75,6,q,0)|0;do if(!(b[(f[v>>2]|0)+81>>0]|0)){if((m|0)<0)m=(f[s>>2]|0)+-1|0;n=f[v+88>>2]|0;o=n+(m*20|0)+1|0;if(!(b[o>>0]|0)){f[n+(m*20|0)+16>>2]=59287;b[o>>0]=-1;break}else{ul(v,n+(m*20|0)|0,59287,-1);break}}while(0);m=f[s>>2]|0;if((f[(f[r>>2]|0)+48>>2]|0)>(m|0)){f[s>>2]=m+1;O=f[v+88>>2]|0;b[O+(m*20|0)>>0]=122;d[O+(m*20|0)+2>>1]=0;f[O+(m*20|0)+4>>2]=0;f[O+(m*20|0)+8>>2]=q;f[O+(m*20|0)+12>>2]=e;f[O+(m*20|0)+16>>2]=0;b[O+(m*20|0)+1>>0]=0}else tl(v,122,0,q,e)|0;m=f[s>>2]|0;if((m|0)>0)d[(f[v+88>>2]|0)+((m+-1|0)*20|0)+2>>1]=8;if((f[(f[r>>2]|0)+48>>2]|0)>(m|0)){f[s>>2]=m+1;p=f[v+88>>2]|0;b[p+(m*20|0)>>0]=117;p=p+(m*20|0)+1|0;q=p+19|0;do{b[p>>0]=0;p=p+1|0}while((p|0)<(q|0));t=P;return}else{tl(v,117,0,0,0)|0;t=P;return}}else N=240;while(0);if((N|0)==240?O|0:0)N=241;if((N|0)==241){if(f[O+480>>2]|0){Kc(O,C);t=P;return}a=C;if((f[O+304>>2]|0)>>>0<=a>>>0?(f[O+308>>2]|0)>>>0>a>>>0:0){O=O+300|0;f[C>>2]=f[O>>2];f[O>>2]=C;t=P;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](C);t=P;return}else{O=ib[f[37368>>2]&255](C)|0;f[18187]=(f[18187]|0)-O;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](C);t=P;return}}function Al(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0;ea=t;t=t+272|0;$=ea+192|0;_=ea+184|0;Y=ea+152|0;Q=ea+136|0;X=ea+128|0;W=ea+120|0;S=ea+112|0;O=ea+104|0;x=ea+96|0;w=ea+88|0;v=ea+80|0;R=ea+232|0;M=ea;N=ea+200|0;ca=f[a>>2]|0;P=(i|0)==0;if((e|0)==0&P){t=ea;return}aa=a+224|0;da=f[aa>>2]|0;if(!da){t=ea;return}if(((P?(k=f[da>>2]|0,r=Nz(k,95)|0,r|0):0)?(b[r>>0]=0,l=ji(ca,k,0)|0,b[r>>0]=95,l|0):0)?f[l+56>>2]|0:0){q=f[f[l+60>>2]>>2]|0;n=f[ca+348>>2]|0;if(!n){l=ca+340|0;k=ca+344|0}else{l=b[q>>0]|0;if(!(l<<24>>24))k=0;else{k=0;m=q;do{m=m+1|0;k=U(k+(h[1232+(l&255)>>0]|0)|0,-1640531535)|0;l=b[m>>0]|0}while(l<<24>>24!=0)}k=(k>>>0)%((f[ca+336>>2]|0)>>>0)|0;l=n+(k<<3)|0;k=n+(k<<3)+4|0}l=f[l>>2]|0;a:do if(!l)k=72124;else{p=h[1232+(h[q>>0]|0)>>0]|0;while(1){k=f[k>>2]|0;l=l+-1|0;n=f[k+12>>2]|0;V=b[n>>0]|0;m=(h[1232+(V&255)>>0]|0)-p|0;if(!(V<<24>>24==0|(m|0)!=0)){o=q;do{n=n+1|0;o=o+1|0;V=b[n>>0]|0;m=(h[1232+(V&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(V<<24>>24==0|(m|0)!=0))}if(!m)break a;if(!l){k=72124;break}}}while(0);k=f[k+8>>2]|0;if(((k|0?(s=f[k>>2]|0,(f[s>>2]|0)>=3):0)?(u=f[s+92>>2]|0,u|0):0)?ib[u&255](r+1|0)|0:0){V=da+36|0;f[V>>2]=f[V>>2]|1024}}V=ca+165|0;do if(b[V>>0]|0)if(P){L=f[ca+160>>2]|0;f[da+28>>2]=L;if((L|0)!=1)break;L=da+36|0;f[L>>2]=f[L>>2]|1;break}else{ni(a,72788,v);t=ea;return}while(0);b:do if(g&32){k=da+36|0;l=f[k>>2]|0;if(l&8|0){ni(a,58864,w);t=ea;return}if(!(l&4)){f[x>>2]=f[da>>2];ni(a,58914,x);break}f[k>>2]=l|96;L=f[a>>2]|0;w=f[a+8>>2]|0;v=L+166|0;if((b[v>>0]&2)==0?(y=d[da+42>>1]|0,y<<16>>16>0):0){m=f[da+4>>2]|0;l=y<<16>>16;k=0;do{if(b[m+(k<<4)+15>>0]&1)b[m+(k<<4)+12>>0]=2;k=k+1|0}while((k|0)!=(l|0))}k=f[a+124>>2]|0;if(k|0){if((k|0)<0)k=(f[w+136>>2]|0)+-1|0;if(!(b[(f[w>>2]|0)+81>>0]|0))k=(f[w+88>>2]|0)+(k*20|0)|0;else k=72144;f[k+12>>2]=2}l=da+40|0;k=d[l>>1]|0;do if(k<<16>>16>-1){k=f[(f[da+4>>2]|0)+(k<<16>>16<<4)>>2]|0;f[R>>2]=k;if(!k)k=0;else k=(wz(k)|0)&1073741823;f[R+4>>2]=k;k=Dk(L,59,R,0)|0;k=ml(f[a>>2]|0,0,k)|0;if((k|0?(b[k+16>>0]=b[a+194>>0]|0,El(a,0,0,0,k,h[da+48>>0]|0,0,0,0,0,2),(b[L+81>>0]|0)==0):0)?(f[a+36>>2]|0)==0:0){k=f[da+8>>2]|0;c:do if(!k)k=0;else while(1){K=k+55|0;if(((h[K>>0]|h[K+1>>0]<<8)&3)==2)break c;k=f[k+20>>2]|0;if(!k){k=0;break}}while(0);d[l>>1]=-1;K=k;break}break b}else{k=f[da+8>>2]|0;d:do if(!k)k=0;else while(1){K=k+55|0;if(((h[K>>0]|h[K+1>>0]<<8)&3)==2)break d;k=f[k+20>>2]|0;if(!k){k=0;break}}while(0);u=k+50|0;m=d[u>>1]|0;if((m&65535)>1){r=f[k+4>>2]|0;s=k+52|0;l=1;q=1;do{p=d[r+(q<<1)>>1]|0;e:do if((l|0)>0){n=r;o=l;while(1){if((d[n>>1]|0)==p<<16>>16)break;if((o|0)>1){n=n+2|0;o=o+-1|0}else{T=70;break e}}d[s>>1]=(d[s>>1]|0)+-1<<16>>16}else T=70;while(0);if((T|0)==70){T=0;d[r+(l<<1)>>1]=p;l=l+1|0;m=d[u>>1]|0}q=q+1|0}while(q>>>0<(m&65535)>>>0)}else l=1;d[u>>1]=l;K=k}while(0);I=K+55|0;k=h[I>>0]|h[I+1>>0]<<8;J=k|32;b[I>>0]=J;b[I+1>>0]=J>>8;if(!(b[v>>0]&2)){J=k|40;b[I>>0]=J;b[I+1>>0]=J>>8}m=d[K+50>>1]|0;J=m&65535;l=K+44|0;if(w|0?(z=f[l>>2]|0,(z|0)>0):0){if(!(b[(f[w>>2]|0)+81>>0]|0))k=(f[w+88>>2]|0)+(z*20|0)|0;else k=72144;b[k>>0]=11}f[l>>2]=f[da+28>>2];k=f[da+8>>2]|0;if(k|0){x=m<<16>>16==0;y=K+4|0;z=L+272|0;A=K+32|0;B=L+276|0;C=L+81|0;D=L+288|0;E=L+300|0;F=L+296|0;G=L+284|0;H=L+292|0;do{v=k+55|0;f:do if(((h[v>>0]|h[v+1>>0]<<8)&3)!=2){w=k+50|0;l=d[w>>1]|0;do if(!x){s=f[y>>2]|0;u=l&65535;if(!(l<<16>>16)){m=J;n=0}else{r=f[k+4>>2]|0;m=0;q=0;do{p=d[s+(q<<1)>>1]|0;n=r;o=u;while(1){if((d[n>>1]|0)==p<<16>>16)break;if((o|0)>1){n=n+2|0;o=o+-1|0}else{T=89;break}}if((T|0)==89){T=0;m=m+1|0}q=q+1|0}while((q|0)!=(J|0));n=l}if(!m){l=n;break}o=m+(n&65535)|0;p=k+52|0;if((o|0)>(j[p>>1]|0)){n=o*7|0;m=((n|0)<0)<<31>>31;g:do if(f[z>>2]|0)if(!(b[C>>0]|0))T=103;else break b;else{do if(0>>0|(0==(m|0)?(j[B>>1]|0)>>>0>>0:0))l=D;else{l=f[E>>2]|0;if(l|0){f[E>>2]=f[l>>2];f[G>>2]=(f[G>>2]|0)+1;break g}l=f[F>>2]|0;if(!l){l=H;break}f[F>>2]=f[l>>2];f[G>>2]=(f[G>>2]|0)+1;break g}while(0);f[l>>2]=(f[l>>2]|0)+1;T=103}while(0);if((T|0)==103){T=0;l=Dc(L,n,m)|0}if(!l)break b;_A(l|0,0,n|0)|0;s=k+32|0;YA(l|0,f[s>>2]|0,j[p>>1]<<2|0)|0;f[s>>2]=l;m=l+(o<<2)|0;r=k+4|0;YA(m|0,f[r>>2]|0,j[p>>1]<<1|0)|0;f[r>>2]=m;m=m+(o<<1)|0;l=k+28|0;YA(m|0,f[l>>2]|0,j[p>>1]|0)|0;f[l>>2]=m;d[p>>1]=o;l=h[v>>0]|h[v+1>>0]<<8|16;b[v>>0]=l;b[v+1>>0]=l>>8;l=d[w>>1]|0;m=l&65535}else{m=u;r=k+4|0;s=k+32|0}n=0;while(1){p=f[r>>2]|0;q=d[(f[y>>2]|0)+(n<<1)>>1]|0;h:do if(!(l<<16>>16))T=111;else{o=p;l=l&65535;while(1){if((d[o>>1]|0)==q<<16>>16){l=m;break h}if((l|0)>1){o=o+2|0;l=l+-1|0}else{T=111;break}}}while(0);if((T|0)==111){T=0;d[p+(m<<1)>>1]=q;f[(f[s>>2]|0)+(m<<2)>>2]=f[(f[A>>2]|0)+(n<<2)>>2];l=m+1|0}n=n+1|0;if((n|0)==(J|0))break f;m=l;l=d[w>>1]|0}}while(0);d[k+52>>1]=l}while(0);k=f[k+20>>2]|0}while((k|0)!=0)}s=da+42|0;l=d[s>>1]|0;p=l<<16>>16;u=K+52|0;if((J|0)<(p|0)){k=d[u>>1]|0;if((k&65535|0)<(p|0)){o=p*7|0;n=((o|0)<0)<<31>>31;i:do if(!L){L=KA(o|0,n|0,-1,-1)|0;H=ba()|0;if(H>>>0>0|(H|0)==0&L>>>0>2147483390)break b;if(!(f[9328]|0)){k=ib[f[37356>>2]&255](o)|0;T=141;break}k=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;n=71896;m=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&m>>>0>0){L=f[18187]|0;H=LA(m|0,n|0,k|0,((k|0)<0)<<31>>31|0)|0;G=ba()|0;f[17976]=((G|0)<0|(G|0)==0&H>>>0<=L>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break b;m=ib[f[37368>>2]&255](k)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0<=(f[18196]|0)>>>0)break;f[18196]=m}else{if(f[L+272>>2]|0){if(b[L+81>>0]|0)break b}else{do if(!(0>>0|(0==(n|0)?(j[L+276>>1]|0)>>>0>>0:0))){m=L+300|0;k=f[m>>2]|0;if(k|0){f[m>>2]=f[k>>2];T=L+284|0;f[T>>2]=(f[T>>2]|0)+1;T=141;break i}m=L+296|0;k=f[m>>2]|0;if(!k){k=L+292|0;break}else{f[m>>2]=f[k>>2];T=L+284|0;f[T>>2]=(f[T>>2]|0)+1;T=141;break i}}else k=L+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(L,o,n)|0;T=141}while(0);if((T|0)==141)if(!k)break;_A(k|0,0,o|0)|0;L=K+32|0;YA(k|0,f[L>>2]|0,j[u>>1]<<2|0)|0;f[L>>2]=k;L=k+(p<<2)|0;k=K+4|0;YA(L|0,f[k>>2]|0,j[u>>1]<<1|0)|0;f[k>>2]=L;L=L+(p<<1)|0;k=K+28|0;YA(L|0,f[k>>2]|0,j[u>>1]|0)|0;f[k>>2]=L;d[u>>1]=l;k=h[I>>0]|h[I+1>>0]<<8|16;b[I>>0]=k;b[I+1>>0]=k>>8;k=l;l=d[s>>1]|0}if(l<<16>>16>0){q=K+4|0;r=K+32|0;p=0;k=J;do{o=f[q>>2]|0;j:do if((k|0)>0){m=o;n=k;while(1){if((p|0)==(d[m>>1]|0))break j;if((n|0)>1){m=m+2|0;n=n+-1|0}else{T=149;break}}}else T=149;while(0);if((T|0)==149){T=0;d[o+(k<<1)>>1]=p;f[(f[r>>2]|0)+(k<<2)>>2]=43030;k=k+1|0;l=d[s>>1]|0}p=p+1|0}while((p|0)<(l<<16>>16|0));k=d[u>>1]|0}}else{d[u>>1]=l;k=l}if(!(k<<16>>16)){l=-1;k=-1}else{m=f[K+4>>2]|0;k=k&65535;l=0;n=0;do{L=k;k=k+-1|0;H=d[m+(k<<1)>>1]|0;I=(H&65535)<63;H=WA(1,0,H<<16>>16|0)|0;J=ba()|0;l=(I?H:0)|l;n=(I?J:0)|n}while((L|0)>1);l=~l;k=~n}L=K+64|0;f[L>>2]=l;f[L+4>>2]=k}while(0);G=da+72|0;l=f[G>>2]|0;if(!l)F=-1e6;else{m=f[ca+16>>2]|0;k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0)){F=k;break}else k=k+1|0}x=f[da+24>>2]|0;if(x|0){k=N+8|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=M;l=k+80|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[M>>2]=1;f[M+16>>2]=f[da>>2];f[M+24>>2]=da;f[M+48>>2]=-1;f[N>>2]=a;f[N+4>>2]=M;q=N+24|0;d[q>>1]=4;k:do if((f[x>>2]|0)>0){r=R+4|0;s=R+8|0;u=R+12|0;v=R+24|0;w=N+20|0;p=0;k=4;while(1){o=f[x+4+(p*20|0)>>2]|0;if(o){n=k&65535;d[q>>1]=n&61423;k=f[N>>2]|0;f[R>>2]=k;f[r>>2]=146;f[s>>2]=147;f[u>>2]=0;f[v>>2]=N;m=o+24|0;l=k;L=l+204|0;M=(f[L>>2]|0)+(f[m>>2]|0)|0;f[L>>2]=M;l=f[(f[l>>2]|0)+120>>2]|0;if((l|0)<(M|0)){T=168;break}oi(R,o)|0;l=f[R>>2]|0;k=l+204|0;f[k>>2]=(f[k>>2]|0)-(f[m>>2]|0);k=d[q>>1]|0;if(k&16){M=o+4|0;f[M>>2]=f[M>>2]|2}k=(n&4112|k&65535)&65535;d[q>>1]=k;if((f[w>>2]|0)>0)break;if((f[l+36>>2]|0)>=1)break k}p=p+1|0;if((p|0)>=(f[x>>2]|0))break k}if((T|0)==168){f[O>>2]=l;ni(k,42710,O)}}while(0)}E=da+42|0;l=d[E>>1]|0;if(l<<16>>16>0){m=f[da+4>>2]|0;k=0;l=l<<16>>16;while(1){k=k+(h[m+14>>0]|0)|0;if((l|0)>1){m=m+16|0;l=l+-1|0}else break}}else k=0;k=k+((j[da+40>>1]|0)>>>15&65535)<<2;if(k>>>0<8)if(!k)k=0;else{m=40;l=0;do{m=(m&65535)+65526|0;k=WA(k|0,l|0,1)|0;l=ba()|0}while(l>>>0<0|(l|0)==0&k>>>0<8);m=m&65535;T=191}else{if(k>>>0>255){m=40;l=0;do{m=(m&65535)+40|0;T=k;k=VA(k|0,l|0,4)|0;O=l;l=ba()|0}while(O>>>0>0|(O|0)==0&T>>>0>4095);m=m&65535}else{m=40;l=0}if(l>>>0>0|(l|0)==0&k>>>0>15){do{m=(m&65535)+10&65535;T=k;k=VA(k|0,l|0,1)|0;O=l;l=ba()|0}while(O>>>0>0|(O|0)==0&T>>>0>31);T=191}else T=191}if((T|0)==191)k=(m&65535)+65526+(j[7936+((k&7)<<1)>>1]|0)&65535;d[da+46>>1]=k;k=f[da+8>>2]|0;if(k|0)do{To(k);k=f[k+20>>2]|0}while((k|0)!=0);if(!(b[V>>0]|0)){C=a+8|0;k=f[C>>2]|0;if(!k){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;k=sl(a)|0;if(!k){t=ea;return}else D=k}else D=k;v=D+136|0;k=f[v>>2]|0;w=D+12|0;if((f[(f[w>>2]|0)+48>>2]|0)>(k|0)){f[v>>2]=k+1;l=f[D+88>>2]|0;b[l+(k*20|0)>>0]=117;k=l+(k*20|0)+1|0;l=k+19|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0))}else tl(D,117,0,0,0)|0;B=(f[da+12>>2]|0)==0;n=B?58946:58952;B=B?47722:51188;l:do if(P){l=g<<24>>24==0?e:a+184|0;X=f[l>>2]|0;m=f[a+176>>2]|0;k=X-m|0;if((b[X>>0]|0)!=59)k=(f[l+4>>2]|0)+k|0;f[Q>>2]=n;f[Q+4>>2]=k;f[Q+8>>2]=m;m=Ig(ca,58983,Q)|0;l=a+92|0;k=da}else{l=a+44|0;u=f[l>>2]|0;n=u+1|0;s=u+2|0;u=u+3|0;f[l>>2]=u;l=f[a+116>>2]|0;b[((l|0)==0?a:l)+21>>0]=1;l=a+92|0;k=f[l>>2]|0;m=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(m|0)){f[v>>2]=m+1;Q=f[D+88>>2]|0;b[Q+(m*20|0)>>0]=110;d[Q+(m*20|0)+2>>1]=0;f[Q+(m*20|0)+4>>2]=1;f[Q+(m*20|0)+8>>2]=k;f[Q+(m*20|0)+12>>2]=F;f[Q+(m*20|0)+16>>2]=0;b[Q+(m*20|0)+1>>0]=0}else tl(D,110,1,k,F)|0;p=f[v>>2]|0;if((p|0)>0)d[(f[D+88>>2]|0)+((p+-1|0)*20|0)+2>>1]=16;f[a+40>>2]=2;k=p+1|0;if((f[(f[w>>2]|0)+48>>2]|0)>(p|0)){f[v>>2]=k;Q=f[D+88>>2]|0;b[Q+(p*20|0)>>0]=13;d[Q+(p*20|0)+2>>1]=0;f[Q+(p*20|0)+4>>2]=n;f[Q+(p*20|0)+8>>2]=0;f[Q+(p*20|0)+12>>2]=k;f[Q+(p*20|0)+16>>2]=0;b[Q+(p*20|0)+1>>0]=0}else tl(D,13,n,0,k)|0;m=a+36|0;do if(!(f[m>>2]|0)){k=Uk(a,i)|0;if(!k)break;g=k+42|0;d[E>>1]=d[g>>1]|0;Q=k+4|0;x=da+4|0;f[x>>2]=f[Q>>2];d[g>>1]=0;f[Q>>2]=0;do if(!(f[ca+480>>2]|0)){g=k+32|0;Q=(f[g>>2]|0)+-1|0;f[g>>2]=Q;if(Q|0)break;hg(ca,k)}else hg(ca,k);while(0);b[R>>0]=13;o=R+4|0;f[o>>2]=n;f[R+16>>2]=0;q=R+8|0;f[q>>2]=0;r=R+12|0;f[r>>2]=0;Kl(a,i,R)|0;if(f[m>>2]|0)break;k=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(k|0)){f[v>>2]=k+1;R=f[D+88>>2]|0;b[R+(k*20|0)>>0]=67;d[R+(k*20|0)+2>>1]=0;f[R+(k*20|0)+4>>2]=n;f[R+(k*20|0)+8>>2]=0;f[R+(k*20|0)+12>>2]=0;f[R+(k*20|0)+16>>2]=0;b[R+(k*20|0)+1>>0]=0}else tl(D,67,n,0,0)|0;m=f[w>>2]|0;b[m+19>>0]=0;f[m+28>>2]=0;n=f[v>>2]|0;if(!(b[(f[D>>2]|0)+81>>0]|0))k=(f[D+88>>2]|0)+(((p|0)<0?n+-1|0:p)*20|0)|0;else k=72144;f[k+8>>2]=n;k=f[o>>2]|0;if((f[m+48>>2]|0)>(n|0)){f[v>>2]=n+1;o=f[D+88>>2]|0;b[o+(n*20|0)>>0]=14;d[o+(n*20|0)+2>>1]=0;f[o+(n*20|0)+4>>2]=k;f[o+(n*20|0)+8>>2]=0;f[o+(n*20|0)+12>>2]=0;f[o+(n*20|0)+16>>2]=0;b[o+(n*20|0)+1>>0]=0;o=n}else o=tl(D,14,k,0,0)|0;n=f[q>>2]|0;k=f[r>>2]|0;m=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(m|0)){f[v>>2]=m+1;R=f[D+88>>2]|0;b[R+(m*20|0)>>0]=102;d[R+(m*20|0)+2>>1]=0;f[R+(m*20|0)+4>>2]=n;f[R+(m*20|0)+8>>2]=k;f[R+(m*20|0)+12>>2]=s;f[R+(m*20|0)+16>>2]=0;b[R+(m*20|0)+1>>0]=0}else tl(D,102,n,k,s)|0;kn(D,da,0);k=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(k|0)){f[v>>2]=k+1;R=f[D+88>>2]|0;b[R+(k*20|0)>>0]=121;d[R+(k*20|0)+2>>1]=0;f[R+(k*20|0)+4>>2]=1;f[R+(k*20|0)+8>>2]=u;f[R+(k*20|0)+12>>2]=0;f[R+(k*20|0)+16>>2]=0;b[R+(k*20|0)+1>>0]=0}else tl(D,121,1,u,0)|0;k=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(k|0)){f[v>>2]=k+1;R=f[D+88>>2]|0;b[R+(k*20|0)>>0]=122;d[R+(k*20|0)+2>>1]=0;f[R+(k*20|0)+4>>2]=1;f[R+(k*20|0)+8>>2]=s;f[R+(k*20|0)+12>>2]=u;f[R+(k*20|0)+16>>2]=0;b[R+(k*20|0)+1>>0]=0}else tl(D,122,1,s,u)|0;k=f[v>>2]|0;if((f[(f[w>>2]|0)+48>>2]|0)>(k|0)){f[v>>2]=k+1;R=f[D+88>>2]|0;b[R+(k*20|0)>>0]=11;d[R+(k*20|0)+2>>1]=0;f[R+(k*20|0)+4>>2]=0;f[R+(k*20|0)+8>>2]=o;f[R+(k*20|0)+12>>2]=0;f[R+(k*20|0)+16>>2]=0;b[R+(k*20|0)+1>>0]=0}else tl(D,11,0,o,0)|0;m=f[v>>2]|0;if(!(b[(f[D>>2]|0)+81>>0]|0))k=(f[D+88>>2]|0)+(((o|0)<0?m+-1|0:o)*20|0)|0;else k=72144;f[k+8>>2]=m;if((f[(f[w>>2]|0)+48>>2]|0)>(m|0)){f[v>>2]=m+1;R=f[D+88>>2]|0;b[R+(m*20|0)>>0]=117;d[R+(m*20|0)+2>>1]=0;f[R+(m*20|0)+4>>2]=1;f[R+(m*20|0)+8>>2]=0;f[R+(m*20|0)+12>>2]=0;f[R+(m*20|0)+16>>2]=0;b[R+(m*20|0)+1>>0]=0}else tl(D,117,1,0,0)|0;R=d[E>>1]|0;r=R<<16>>16;if(R<<16>>16>0){o=0;p=f[x>>2]|0;k=0;while(1){m=0;n=f[p>>2]|0;m:while(1){switch(b[n>>0]|0){case 0:break m;case 34:{m=m+1|0;break}default:{}}m=m+1|0;n=n+1|0}k=k+7+m|0;o=o+1|0;if((o|0)==(r|0)){n=k;break}else p=p+16|0}}else n=0;k=0;m=f[da>>2]|0;n:while(1){switch(b[m>>0]|0){case 0:break n;case 34:{k=k+1|0;break}default:{}}k=k+1|0;m=m+1|0}y=n+2+k|0;A=(y|0)<50;q=A?72788:58957;z=A?41635:58961;A=A?43047:58966;y=(r*6|0)+35+y|0;R=KA(y|0,((y|0)<0)<<31>>31|0,-1,-1)|0;i=ba()|0;o:do if(!(i>>>0>0|(i|0)==0&R>>>0>2147483390)){do if(!(f[9328]|0)){m=ib[f[37356>>2]&255](y)|0;if(!m)break o}else{k=ib[f[37372>>2]&255](y)|0;if((f[18194]|0)>>>0>>0)f[18194]=y;n=71896;m=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&m>>>0>0){R=f[18187]|0;i=LA(m|0,n|0,k|0,((k|0)<0)<<31>>31|0)|0;Q=ba()|0;f[17976]=((Q|0)<0|(Q|0)==0&i>>>0<=R>>>0)&1}m=ib[f[37356>>2]&255](k)|0;if(!m)break o;k=ib[f[37368>>2]&255](m)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}while(0);vd(y,m,58969,S)|0;k=(wz(m)|0)&1073741823;v=f[da>>2]|0;u=b[v>>0]|0;p:do if(!(u<<24>>24)){n=0;s=0}else{n=0;o=u;while(1){if(!(o<<24>>24==95?1:(b[5472+(o&255)>>0]&6)!=0)){s=1;break p}n=n+1|0;o=b[v+n>>0]|0;if(!(o<<24>>24)){s=0;break}}}while(0);o=u&255;q:do if((o+-48|0)>>>0>=10){do if((n|0)>1){o=b[8368+((h[1232+o>>0]<<2^n^(h[1232+(h[v+(n+-1)>>0]|0)>>0]|0)*3|0)%127|0)>>0]|0;if(!(o<<24>>24))break;o=o&255;while(1){p=o+-1|0;r:do if((n|0)==(h[8496+p>>0]|0)){r=8912+(j[8640+(p<<1)>>1]|0)|0;o=0;while(1){if((b[v+o>>0]&-33)<<24>>24!=(b[r+o>>0]|0))break r;o=o+1|0;if((o|0)>=(n|0)){T=289;break q}}}while(0);o=b[9536+p>>0]|0;if(!(o<<24>>24))break;else o=o&255}}while(0);if(!((n|0)==0|s)){p=u;u=0}else T=289}else T=289;while(0);if((T|0)==289){b[m+k>>0]=34;k=k+1|0;p=b[v>>0]|0;u=1}n=k+1|0;o=m+k|0;if(p<<24>>24){s=0;r=v;do{b[o>>0]=p;if((b[r>>0]|0)==34){b[m+n>>0]=34;k=k+2|0}else k=n;s=s+1|0;r=v+s|0;p=b[r>>0]|0;n=k+1|0;o=m+k|0}while(p<<24>>24!=0)}if(u){b[o>>0]=34;k=n}o=k+1|0;b[m+k>>0]=40;k=y-o|0;n=m+o|0;if((d[E>>1]|0)>0){p=0;w=f[x>>2]|0;while(1){vd(k,n,q,W)|0;k=((wz(n)|0)&1073741823)+o|0;v=f[w>>2]|0;u=b[v>>0]|0;s:do if(!(u<<24>>24)){n=0;s=0}else{n=0;o=u;while(1){if(!(o<<24>>24==95?1:(b[5472+(o&255)>>0]&6)!=0)){s=1;break s}n=n+1|0;o=b[v+n>>0]|0;if(!(o<<24>>24)){s=0;break}}}while(0);o=u&255;t:do if((o+-48|0)>>>0>=10){do if((n|0)>1){o=b[8368+((h[1232+o>>0]<<2^n^(h[1232+(h[v+(n+-1)>>0]|0)>>0]|0)*3|0)%127|0)>>0]|0;if(!(o<<24>>24))break;o=o&255;while(1){q=o+-1|0;u:do if((n|0)==(h[8496+q>>0]|0)){r=8912+(j[8640+(q<<1)>>1]|0)|0;o=0;while(1){if((b[v+o>>0]&-33)<<24>>24!=(b[r+o>>0]|0))break u;o=o+1|0;if((o|0)>=(n|0)){T=313;break t}}}while(0);o=b[9536+q>>0]|0;if(!(o<<24>>24))break;else o=o&255}}while(0);if(!((n|0)==0|s)){q=u;u=0}else T=313}else T=313;while(0);if((T|0)==313){T=0;b[m+k>>0]=34;k=k+1|0;q=b[v>>0]|0;u=1}n=k+1|0;o=m+k|0;if(q<<24>>24){s=0;r=v;do{b[o>>0]=q;if((b[r>>0]|0)==34){b[m+n>>0]=34;k=k+2|0}else k=n;s=s+1|0;r=v+s|0;q=b[r>>0]|0;n=k+1|0;o=m+k|0}while(q<<24>>24!=0)}if(u){b[o>>0]=34;k=n}S=m+k|0;b[S>>0]=0;n=f[23136+((b[w+13>>0]|0)+-65<<2)>>2]|0;o=(wz(n)|0)&1073741823;YA(S|0,n|0,o|0)|0;o=o+k|0;p=p+1|0;k=y-o|0;n=m+o|0;if((p|0)<(d[E>>1]|0)){w=w+16|0;q=z}else break}}f[X>>2]=A;vd(k,n,40840,X)|0;k=da;break l}while(0);k=ca+81|0;if(b[k>>0]|0){m=0;k=da;break l}if(b[ca+82>>0]|0){m=0;k=da;break l}b[k>>0]=1;if((f[ca+180>>2]|0)>0)f[ca+264>>2]=1;m=ca+272|0;f[m>>2]=(f[m>>2]|0)+1;m=0;k=da;break l}while(0);t=ea;return}while(0);p=ca+16|0;T=f[k>>2]|0;W=f[l>>2]|0;X=f[a+88>>2]|0;f[Y>>2]=f[(f[p>>2]|0)+(F<<4)>>2];f[Y+4>>2]=43770;f[Y+8>>2]=B;f[Y+12>>2]=T;f[Y+16>>2]=T;f[Y+20>>2]=W;f[Y+24>>2]=m;f[Y+28>>2]=X;Tl(a,58998,Y);v:do if(m|0){if(f[ca+480>>2]|0){Kc(ca,m);break}l=m;do if((f[ca+304>>2]|0)>>>0<=l>>>0){if((f[ca+308>>2]|0)>>>0<=l>>>0)break;Y=ca+300|0;f[m>>2]=f[Y>>2];f[Y>>2]=m;break v}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{Y=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);l=f[C>>2]|0;m=(f[f[(f[(f[a>>2]|0)+16>>2]|0)+(F<<4)+12>>2]>>2]|0)+1|0;n=l+136|0;o=f[n>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(o|0)){f[n>>2]=o+1;Y=f[l+88>>2]|0;b[Y+(o*20|0)>>0]=107;d[Y+(o*20|0)+2>>1]=0;f[Y+(o*20|0)+4>>2]=F;f[Y+(o*20|0)+8>>2]=1;f[Y+(o*20|0)+12>>2]=m;f[Y+(o*20|0)+16>>2]=0;b[Y+(o*20|0)+1>>0]=0}else tl(l,107,F,1,m)|0;if(f[da+36>>2]&8|0?(Z=f[p>>2]|0,(f[(f[Z+(F<<4)+12>>2]|0)+72>>2]|0)==0):0){f[_>>2]=f[Z+(F<<4)>>2];Tl(a,59085,_)}f[$>>2]=f[k>>2];Xl(D,F,Ig(ca,59127,$)|0);if(!(b[V>>0]|0)){t=ea;return}}else k=da;if(pg((f[G>>2]|0)+8|0,f[k>>2]|0,da)|0){k=ca+81|0;if(b[k>>0]|0){t=ea;return}if(b[ca+82>>0]|0){t=ea;return}b[k>>0]=1;if((f[ca+180>>2]|0)>0)f[ca+264>>2]=1;da=ca+272|0;f[da>>2]=(f[da>>2]|0)+1;t=ea;return}f[aa>>2]=0;ca=ca+24|0;f[ca>>2]=f[ca>>2]|1;if(f[da+12>>2]|0){t=ea;return}k=f[a+176>>2]|0;o=(f[((f[c>>2]|0)==0?e:c)>>2]|0)-k|0;o=(o|0)>-1?k+o|0:-1;l=b[k>>0]|0;if(l<<24>>24!=0&o>>>0>k>>>0){n=0;while(1){m=k+1|0;if((l&255)>191){k=m;while(1){l=b[k>>0]|0;if((l&-64)<<24>>24==-128)k=k+1|0;else break}}else{k=m;l=b[m>>0]|0}if(l<<24>>24!=0&k>>>0>>0)n=n+1|0;else break}k=n+14|0}else k=13;f[da+52>>2]=k;t=ea;return}function Bl(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=t;t=t+64|0;n=s;q=s+8|0;r=f[a>>2]|0;i=f[a+224>>2]|0;do if(i|0){m=f[i+4>>2]|0;l=(d[i+42>>1]|0)+-1|0;i=(h[r+165>>0]|0)+4&255;k=q+20|0;b[k>>0]=i;f[q+4>>2]=155;f[q+8>>2]=156;f[q+24>>2]=0;if(c){oi(q,c)|0;i=b[k>>0]|0}if(!(i<<24>>24)){f[n>>2]=f[m+(l<<4)>>2];ni(a,58819,n);break}o=m+(l<<4)+4|0;i=f[o>>2]|0;if(i|0)ig(r,i);i=q;k=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(k|0));b[q>>0]=-87;while(1)if(!(b[5472+(h[e>>0]|0)>>0]&1))break;else e=e+1|0;i=g-e|0;a:do if((i|0)<=0)if(!e)i=0;else{k=i;p=15}else while(1){k=i+-1|0;if(!(b[5472+(h[e+k>>0]|0)>>0]&1)){k=i;p=15;break a}if((i|0)>1)i=k;else{p=15;break}}while(0);b:do if((p|0)==15){m=KA(k|0,((k|0)<0)<<31>>31|0,1,0)|0;n=ba()|0;c:do if(f[r+272>>2]|0)if(!(b[r+81>>0]|0))p=25;else{i=0;break b}else{do if(!(n>>>0>0|((n|0)==0?m>>>0>(j[r+276>>1]|0)>>>0:0))){l=r+300|0;i=f[l>>2]|0;if(i|0){f[l>>2]=f[i>>2];g=r+284|0;f[g>>2]=(f[g>>2]|0)+1;break c}l=r+296|0;i=f[l>>2]|0;if(!i){i=r+292|0;break}else{f[l>>2]=f[i>>2];g=r+284|0;f[g>>2]=(f[g>>2]|0)+1;break c}}else i=r+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;p=25}while(0);if((p|0)==25)i=Dc(r,m,n)|0;if(!i)i=0;else{YA(i|0,e|0,k|0)|0;b[i+k>>0]=0}}while(0);p=q+8|0;f[p>>2]=i;f[q+12>>2]=c;f[q+4>>2]=4096;i=Bk(r,q,1,0)|0;f[o>>2]=i;i=f[p>>2]|0;do if(i|0){if(r|0){if(f[r+480>>2]|0){Kc(r,i);break}p=i;if((f[r+304>>2]|0)>>>0<=p>>>0?(f[r+308>>2]|0)>>>0>p>>>0:0){p=r+300|0;f[i>>2]=f[p>>2];f[p>>2]=i;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{p=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0)}while(0);if((h[a+196>>0]|0)>1?(p=q+8|0,f[p>>2]=0,f[p+4>>2]=0,f[p+8>>2]=0,f[p+12>>2]=0,f[p+16>>2]=0,f[q>>2]=a,f[q+4>>2]=154,c|0):0)oi(q,c)|0;if(!c){t=s;return}ig(r,c);t=s;return}function Cl(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=e;l=f[a>>2]|0;m=g+49|0;a:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))p=11;else{q=0;return q|0}else{do if(!(0<0|(0==0?(j[l+276>>1]|0)>>>0>>0:0))){i=l+300|0;k=f[i>>2]|0;if(k|0){f[i>>2]=f[k>>2];o=l+284|0;f[o>>2]=(f[o>>2]|0)+1;o=k;break a}i=l+296|0;k=f[i>>2]|0;if(!k){i=l+292|0;break}else{f[i>>2]=f[k>>2];o=l+284|0;f[o>>2]=(f[o>>2]|0)+1;o=k;break a}}else i=l+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;p=11}while(0);if((p|0)==11)o=Dc(l,m,0)|0;if(!o){q=0;return q|0}b[o>>0]=c;b[o+1>>0]=0;k=o+4|0;f[k>>2]=8388608;d[o+34>>1]=-1;f[o+16>>2]=0;f[o+12>>2]=0;f[o+20>>2]=0;f[o+40>>2]=0;f[o+44>>2]=0;b[o+38>>0]=0;f[o+28>>2]=0;d[o+32>>1]=0;i=o+48|0;c=o+8|0;f[c>>2]=i;YA(i|0,e|0,g|0)|0;b[i+g>>0]=0;c=f[c>>2]|0;i=b[c>>0]|0;if((b[5472+(i&255)>>0]|0)<0){if(i<<24>>24==34)f[k>>2]=f[k>>2]|64;if(c|0?(n=b[c>>0]|0,(b[5472+(n&255)>>0]|0)<0):0){m=n<<24>>24==91?93:n;l=0;i=1;while(1){k=b[c+i>>0]|0;if(k<<24>>24==m<<24>>24){i=i+1|0;k=c+l|0;if((b[c+i>>0]|0)!=m<<24>>24)break;b[k>>0]=m}else b[c+l>>0]=k;l=l+1|0;i=i+1|0}b[k>>0]=0}}f[o+24>>2]=1;if((h[a+196>>0]|0)<=1){q=o;return q|0}l=f[a>>2]|0;b:do if(!l){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](16)|0;p=49;break}i=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){n=f[18187]|0;e=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&e>>>0<=n>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){q=o;return q|0}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0)f[18196]=k}else{if(f[l+272>>2]|0){if(b[l+81>>0]|0){q=o;return q|0}}else{do if((j[l+276>>1]|0)>=16){k=l+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];p=l+284|0;f[p>>2]=(f[p>>2]|0)+1;p=49;break b}k=l+296|0;i=f[k>>2]|0;if(!i){i=l+292|0;break}else{f[k>>2]=f[i>>2];p=l+284|0;f[p>>2]=(f[p>>2]|0)+1;p=49;break b}}else i=l+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(l,16,0)|0;p=49}while(0);if((p|0)==49)if(!i){q=o;return q|0}f[i>>2]=o;f[i+4>>2]=q;f[i+8>>2]=g;q=a+268|0;f[i+12>>2]=f[q>>2];f[q>>2]=i;q=o;return q|0}function Dl(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=t;t=t+16|0;y=E+8|0;l=E;B=f[a+224>>2]|0;do if(!B)D=52;else{C=B+36|0;k=f[C>>2]|0;if(k&4|0){f[l>>2]=f[B>>2];ni(a,58722,l);D=52;break}z=k|4;f[C>>2]=z;if(c){x=f[c>>2]|0;if((x|0)>0){v=B+42|0;w=B+4|0;m=0;u=0;n=-1;while(1){k=f[c+4+(u*20|0)>>2]|0;a:do if(!k)k=0;else while(1){l=f[k+4>>2]|0;if(!(l&4096))break a;if(!(l&262144))k=k+12|0;else k=(f[k+20>>2]|0)+4|0;k=f[k>>2]|0;if(!k){k=0;break}}while(0);l=b[k>>0]|0;switch(l<<24>>24){case 106:{b[k>>0]=59;D=20;break}case 102:{l=f[k+12>>2]|0;if((b[l>>0]|0)==106){b[l>>0]=59;l=b[k>>0]|0;D=19}else k=n;break}default:D=19}if((D|0)==19){D=0;if(l<<24>>24==59)D=20;else k=n}b:do if((D|0)==20){D=0;p=f[k+8>>2]|0;k=d[v>>1]|0;if(k<<16>>16>0){s=f[w>>2]|0;o=b[p>>0]|0;r=b[1232+(o&255)>>0]|0;q=k<<16>>16;c:do if(!(o<<24>>24)){k=0;while(1){if(r<<24>>24==(b[1232+(h[f[s+(k<<4)>>2]>>0]|0)>>0]|0))break c;k=k+1|0;if((k|0)>=(q|0))break b}}else{k=0;while(1){l=f[s+(k<<4)>>2]|0;if(r<<24>>24==(b[1232+(h[l>>0]|0)>>0]|0)){n=p;do{n=n+1|0;l=l+1|0;F=b[n>>0]|0;o=(h[1232+(F&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(F<<24>>24==0|(o|0)!=0));if(!o)break c}k=k+1|0;if((k|0)>=(q|0))break b}}while(0);m=s+(k<<4)+15|0;b[m>>0]=b[m>>0]|1;m=s+(k<<4)|0}else k=0}while(0);u=u+1|0;if((u|0)==(x|0))break;else n=k}n=(x|0)==1;o=k;D=34}}else{o=(d[B+42>>1]|0)+-1|0;m=f[B+4>>2]|0;n=m+(o<<4)+15|0;b[n>>0]=b[n>>0]|1;n=1;m=m+(o<<4)|0;D=34}if((D|0)==34?n&(m|0)!=0:0){if(!(b[m+15>>0]&4))l=72788;else{l=f[m>>2]|0;l=l+(wz(l)|0)+1|0}F=b[l>>0]|0;k=(h[1232+(F&255)>>0]|0)+-105|0;if(!(F<<24>>24==0|(k|0)!=0)){m=50325;do{l=l+1|0;m=m+1|0;F=b[l>>0]|0;k=(h[1232+(F&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(F<<24>>24==0|(k|0)!=0))}if((i|0)!=1&(k|0)==0){k=(c|0)!=0;l=B+40|0;d:do if(k&(h[a+196>>0]|0)>1?(A=f[c+4>>2]|0,j=f[a+268>>2]|0,j|0):0){while(1){if((f[j>>2]|0)==(A|0))break;j=f[j+12>>2]|0;if(!j)break d}f[j>>2]=l}while(0);d[l>>1]=o;b[B+48>>0]=e;f[C>>2]=z|g<<3;if(k){b[a+194>>0]=b[c+16>>0]|0;break}else{t=E;return}}}if(g|0){ni(a,58763,y);D=52;break}El(a,0,0,0,c,e,0,0,i,0,2);t=E;return}while(0);if((D|0)==52?(c|0)==0:0){t=E;return}jg(f[a>>2]|0,c);t=E;return}function El(a,c,e,g,i,k,l,m,n,o,p){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0;xa=t;t=t+400|0;sa=xa+296|0;ra=xa+272|0;qa=xa+256|0;na=xa+248|0;ja=xa+240|0;ia=xa+232|0;da=xa+224|0;ca=xa+216|0;W=xa+208|0;U=xa+200|0;T=xa+192|0;S=xa+184|0;Q=xa+176|0;P=xa+168|0;M=xa+160|0;N=xa+152|0;L=xa+144|0;K=xa+136|0;J=xa+128|0;I=xa+120|0;H=xa+112|0;E=xa+104|0;B=xa+96|0;z=xa+88|0;y=xa+80|0;oa=xa+360|0;$=xa;aa=xa+328|0;C=xa+304|0;wa=f[a>>2]|0;ma=wa+81|0;a:do if(((b[ma>>0]|0)==0?(ea=a+36|0,(f[ea>>2]|0)<=0):0)?(ta=a+196|0,fa=p<<24>>24==2,fa|(b[ta>>0]|0)!=1):0){ua=wa+165|0;b:do if(!(b[ua>>0]|0)){s=a+4|0;u=wa+24|0;v=(f[u>>2]&1|0)==0;w=wa+16|0;pa=f[(f[w>>2]|0)+12>>2]|0;b[wa+78>>0]=b[pa+77>>0]|0;if(!((d[pa+78>>1]&1)==0?(q=qi(wa,0,s,0)|0,(q|0)!=0):0))va=7;c:do if((va|0)==7){q=f[wa+20>>2]|0;if((q|0)>1)do{r=q;q=q+-1|0;if((d[(f[(f[w>>2]|0)+(q<<4)+12>>2]|0)+78>>1]&1)==0?(x=qi(wa,q,s,0)|0,x|0):0){q=x;break c}}while((r|0)>2);if(v)f[u>>2]=f[u>>2]&-2;if(!(b[wa+89>>0]|0))break b;f[u>>2]=f[u>>2]|8;break b}while(0);f[a+12>>2]=q;f[ea>>2]=(f[ea>>2]|0)+1;r=m;q=0;va=448;break a}while(0);pa=(g|0)!=0;d:do if(pa){q=f[a>>2]|0;A=e+4|0;if(f[A>>2]|0){if(b[q+165>>0]|0){ni(a,51151,y);r=m;q=0;va=448;break a}q=Hl(q,c)|0;if((q|0)<0){f[z>>2]=c;ni(a,51168,z);r=m;q=0;va=448;break a}else{v=q;c=e}}else v=h[q+164>>0]|0;z=g+8|0;e:do if(!(b[ua>>0]|0)){r=f[z>>2]|0;if(!r)q=g+12|0;else{s=f[(f[a>>2]|0)+16>>2]|0;q=0;while(1)if((f[s+(q<<4)+12>>2]|0)==(r|0))break;else q=q+1|0;q=s+(q<<4)|0}y=pi(a,0,f[g+16>>2]|0,f[q>>2]|0)|0;q=f[a>>2]|0;r=g+24|0;s=f[r>>2]|0;do if(s|0){if(q|0?f[q+480>>2]|0:0){hg(q,s);break}ka=s+32|0;la=(f[ka>>2]|0)+-1|0;f[ka>>2]=la;if(!la)hg(q,s)}while(0);f[r>>2]=y;if(y){la=y+32|0;f[la>>2]=(f[la>>2]|0)+1;f:do if(b[g+45>>0]&2){w=f[g+72>>2]|0;q=f[y+8>>2]|0;g:do if(q|0){x=h[1232+(h[w>>0]|0)>>0]|0;while(1){s=f[q>>2]|0;la=b[s>>0]|0;r=(h[1232+(la&255)>>0]|0)-x|0;if(!(la<<24>>24==0|(r|0)!=0)){u=w;do{s=s+1|0;u=u+1|0;la=b[s>>0]|0;r=(h[1232+(la&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0}while(!(la<<24>>24==0|(r|0)!=0))}if(!r)break;q=f[q+20>>2]|0;if(!q)break g}f[g+76>>2]=q;break f}while(0);f[B>>2]=w;f[B+4>>2]=0;ni(a,50588,B);b[a+17>>0]=1;break e}while(0);if(!(f[A>>2]|0))v=(f[y+72>>2]|0)==(f[(f[wa+16>>2]|0)+28>>2]|0)?1:v}}while(0);u=f[a>>2]|0;f[C>>2]=a;u=f[u+16>>2]|0;f[C+12>>2]=f[u+(v<<4)>>2];f[C+4>>2]=f[u+(v<<4)+12>>2];f[C+16>>2]=58282;f[C+20>>2]=c;u=(v|0)==1;f[C+8>>2]=u&1;Yl(C,g)|0;r=f[z>>2]|0;if(!r)q=g+12|0;else{s=f[(f[a>>2]|0)+16>>2]|0;q=0;while(1)if((f[s+(q<<4)+12>>2]|0)==(r|0))break;else q=q+1|0;q=s+(q<<4)|0}r=pi(a,0,f[g+16>>2]|0,f[q>>2]|0)|0;if(!r){r=m;q=0;va=448;break a}if(u?(f[(f[wa+16>>2]|0)+28>>2]|0)!=(f[r+72>>2]|0):0){f[E>>2]=f[r>>2];ni(a,58288,E);r=m;q=0;va=448;break a}if((f[r+36>>2]&32|0)!=0?(D=f[r+8>>2]|0,(D|0)!=0):0){q=D;while(1){la=q+55|0;if(((h[la>>0]|h[la+1>>0]<<8)&3)==2){la=r;X=q;ka=v;ga=c;break d}q=f[q+20>>2]|0;if(!q){la=r;X=0;ka=v;ga=c;break}}}else{la=r;X=0;ka=v;ga=c}}else{q=f[a+224>>2]|0;if(!q){r=m;q=0;va=448;break a}r=f[q+72>>2]|0;if(!r){la=q;X=0;ka=-1e6;ga=0}else{s=f[wa+16>>2]|0;u=0;while(1)if((f[s+(u<<4)+12>>2]|0)==(r|0)){la=q;X=0;ka=u;ga=0;break}else u=u+1|0}}while(0);ha=wa+16|0;B=f[ha>>2]|0;v=B+(ka<<4)|0;u=f[la>>2]|0;h:do if(u|0){q=b[u>>0]|0;i:do if(!(q<<24>>24)){q=51912;va=69}else{_=q&255;q=1232+_|0;do if((_|32|0)==115){q=b[u+1>>0]|0;if(!(q<<24>>24)){q=51913;va=69;break i}_=q&255;q=1232+_|0;if((_|32|0)==113){q=b[u+2>>0]|0;if(!(q<<24>>24)){q=51914;va=69;break i}_=q&255;q=1232+_|0;if((_|32|0)==108){q=b[u+3>>0]|0;if(!(q<<24>>24)){q=51915;va=69;break i}_=q&255;q=1232+_|0;if((_|32|0)==105){q=b[u+4>>0]|0;if(!(q<<24>>24)){q=51916;va=69;break i}_=q&255;q=1232+_|0;if((_|32|0)==116){q=b[u+5>>0]|0;if(!(q<<24>>24)){q=51917;va=69;break i}q=q&255;if((q|32|0)!=101){r=101;q=1232+q|0;break}q=b[u+6>>0]|0;if(!(q<<24>>24)){q=51918;va=69;break i}if(q<<24>>24==95)break i;else{r=95;q=1232+(q&255)|0}}else r=116}else r=105}else r=108}else r=113}else r=115;while(0);G=h[q>>0]|0;F=r;va=73}while(0);if((va|0)==69){G=0;F=b[1232+(h[q>>0]|0)>>0]|0;va=73}if((va|0)==73?(G|0)!=(F&255|0):0)break;if(!(b[ua>>0]|0)){q=b[u+7>>0]|0;j:do if(!(q<<24>>24)){q=58338;va=76}else{_=q&255;q=1232+_|0;do if((_|32|0)==97){q=b[u+8>>0]|0;if(!(q<<24>>24)){q=58339;va=76;break j}_=q&255;q=1232+_|0;if((_|32|0)==108){q=b[u+9>>0]|0;if(!(q<<24>>24)){q=58340;va=76;break j}_=q&255;q=1232+_|0;if((_|32|0)==116){q=b[u+10>>0]|0;if(!(q<<24>>24)){q=58341;va=76;break j}_=q&255;q=1232+_|0;if((_|32|0)==101){q=b[u+11>>0]|0;if(!(q<<24>>24)){q=58342;va=76;break j}q=q&255;if((q|32|0)!=114){s=114;q=1232+q|0;break}q=b[u+12>>0]|0;if(!(q<<24>>24)){q=58343;va=76;break j}q=q&255;if((q|32|0)!=116){s=116;q=1232+q|0;break}q=b[u+13>>0]|0;if(!(q<<24>>24)){q=58344;va=76;break j}q=q&255;if((q|32|0)!=97){s=97;q=1232+q|0;break}q=b[u+14>>0]|0;if(!(q<<24>>24)){q=58345;va=76;break j}q=q&255;if((q|32|0)!=98){s=98;q=1232+q|0;break}q=b[u+15>>0]|0;if(!(q<<24>>24)){q=58346;va=76;break j}if(q<<24>>24==95)break h;else{s=95;q=1232+(q&255)|0}}else s=101}else s=116}else s=108}else s=97;while(0);r=h[q>>0]|0;q=s}while(0);if((va|0)==76){r=0;q=b[1232+(h[q>>0]|0)>>0]|0}if((r|0)!=(q&255|0)){f[H>>2]=u;ni(a,58348,H);r=m;q=0;va=448;break a}}}while(0);if(f[la+12>>2]|0){ni(a,58376,I);r=m;q=0;va=448;break}if(f[la+56>>2]|0){ni(a,58401,J);r=m;q=0;va=448;break}if(!ga){q=f[la+8>>2]|0;if(!q)q=1;else{r=1;do{r=r+1|0;q=f[q+20>>2]|0}while((q|0)!=0);q=r}f[M>>2]=u;f[M+4>>2]=q;q=Ig(wa,58493,M)|0;if(!q){r=m;q=0;va=448;break}if(b[ta>>0]|0){r=q+7|0;b[r>>0]=(b[r>>0]|0)+1<<24>>24;r=b[ta>>0]|0;if((r&255)<=1)va=129}else{r=0;va=129}}else{q=pl(wa,ga)|0;if(!q){r=m;q=0;va=448;break}if(Zl(a,q)|0){r=m;va=448;break}r=b[ta>>0]|0;if((r&255)<=1){if((b[ua>>0]|0)==0?ji(wa,q,0)|0:0){f[K>>2]=q;ni(a,58435,K);r=m;va=448;break}if(!(Qj(wa,q,f[v>>2]|0)|0))va=129;else{if(!o){f[L>>2]=q;ni(a,58469,L);r=m;va=448;break}v=f[a+116>>2]|0;v=(v|0)==0?a:v;r=v+84|0;s=f[r>>2]|0;u=1<>2]=s|u;if((ka|0)!=1){r=m;va=448;break}z=f[v>>2]|0;r=z+16|0;if(f[(f[r>>2]|0)+20>>2]|0){r=m;va=448;break}if(b[v+195>>0]|0){r=m;va=448;break}s=cj(f[z>>2]|0,0,z,oa,0,542)|0;if(s|0){ni(v,51535,N);f[v+12>>2]=s;r=m;va=448;break}k=f[oa>>2]|0;f[(f[r>>2]|0)+20>>2]=k;r=f[z+92>>2]|0;v=f[k+4>>2]|0;f[v+4>>2]=f[k>>2];do if(!(d[v+22>>1]&2)){w=v+32|0;x=v+36|0;y=(f[w>>2]|0)-(f[x>>2]|0)|0;do if((r+-512|0)>>>0<65025){if(r+-1&r|0)break;f[w>>2]=r;u=v+80|0;r=f[u>>2]|0;if(!r)break;s=r+-4|0;f[u>>2]=s;r=s;do if((f[18022]|0)>>>0<=r>>>0)if((f[18023]|0)>>>0>r>>>0){f[18188]=(f[18188]|0)+-1;f[s>>2]=f[18025];f[18025]=s;k=(f[18026]|0)+1|0;f[18026]=k;f[18027]=(k|0)<(f[18021]|0)&1;break}else{r=ib[f[37368>>2]&255](s)|0;va=111;break}else{r=ib[f[37368>>2]&255](s)|0;va=111}while(0);do if((va|0)==111){f[18189]=(f[18189]|0)-r;if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{va=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-va;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);f[u>>2]=0}while(0);va=ih(f[v>>2]|0,w,y)|0;f[x>>2]=(f[w>>2]|0)-(y&65535);if((va|0)!=7)break;r=z+81|0;do if(!(b[r>>0]|0)){if(b[z+82>>0]|0)break;b[r>>0]=1;if((f[z+180>>2]|0)>0)f[z+264>>2]=1;va=z+272|0;f[va>>2]=(f[va>>2]|0)+1}while(0);r=m;va=448;break a}while(0);r=m;va=448;break}}}do if((va|0)==129){x=f[v>>2]|0;w=(ka|0)==1;s=w?48842:43770;u=f[a>>2]|0;v=b[u+165>>0]|0;if((v|r)<<24>>24==0?(O=f[u+312>>2]|0,(O|0)!=0):0){r=nb[O&127](f[u+316>>2]|0,18,s,0,x,f[a+236>>2]|0)|0;if((r|0)==1){ni(a,49816,P);f[a+12>>2]=23;r=m;va=448;break a}if((r|2|0)!=2){ni(a,49831,Q);f[a+12>>2]=1;r=m;va=448;break a}if(r|0){r=m;va=448;break a}u=f[a>>2]|0;v=b[u+165>>0]|0}s=w?3:1;r=f[la>>2]|0;if((v<<24>>24==0?(b[ta>>0]|0)==0:0)?(R=f[u+312>>2]|0,(R|0)!=0):0){r=nb[R&127](f[u+316>>2]|0,s,q,r,x,f[a+236>>2]|0)|0;if((r|0)==1){ni(a,49816,S);f[a+12>>2]=23;r=m;va=448;break a}if((r|2|0)==2)if(!r)break;else{r=m;va=448;break a}else{ni(a,49831,T);f[a+12>>2]=1;r=m;va=448;break a}}}while(0);if(i){r=f[i>>2]|0;if((r|0)>(f[(f[a>>2]|0)+116>>2]|0)){f[U>>2]=58282;ni(a,51227,U);r=i;va=156}else{Q=i;A=i}}else{va=f[la+4>>2]|0;i=(d[la+42>>1]|0)+-1|0;_=va+(i<<4)+15|0;b[_>>0]=b[_>>0]|8;i=f[va+(i<<4)>>2]|0;f[oa>>2]=i;if(!i)i=0;else i=(wz(i)|0)&1073741823;f[oa+4>>2]=i;r=Dk(wa,59,oa,0)|0;r=ml(f[a>>2]|0,0,r)|0;if(!r){r=m;i=0;va=448;break}if((n|0)<0)i=r;else{b[r+4+(((f[r>>2]|0)+-1|0)*20|0)+12>>0]=n;i=r}va=156}if((va|0)==156){Q=r;A=i;r=f[i>>2]|0}if((r|0)>0){u=0;i=0;do{s=f[Q+4+(u*20|0)>>2]|0;if((b[s>>0]|0)==102){s=f[s+8>>2]|0;if(!s)s=0;else s=(wz(s)|0)&1073741823;i=i+1+s|0}u=u+1|0}while((u|0)!=(r|0));if(!q)u=0;else va=165}else{i=0;va=165}if((va|0)==165)u=(wz(q)|0)&1073741823;S=(X|0)!=0;if(S)s=j[X+50>>1]|0;else s=1;y=s+r|0;v=y&65535;y=y<<16;w=y>>16;x=(y>>14)+7&-8;y=y>>15;z=y+2|0;c=x+72+(w+7+y+z&-8)|0;e=u+1|0;u=e+i+c|0;s=((u|0)<0)<<31>>31;_=(wa|0)==0;k:do if(_){Z=KA(u|0,s|0,-1,-1)|0;Y=ba()|0;if(!(Y>>>0>0|(Y|0)==0&Z>>>0>2147483390)){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](u)|0;va=192;break}i=ib[f[37372>>2]&255](u)|0;if((f[18194]|0)>>>0>>0)f[18194]=u;s=71896;r=f[s>>2]|0;s=f[s+4>>2]|0;if((s|0)>0|(s|0)==0&r>>>0>0){Z=f[18187]|0;Y=LA(r|0,s|0,i|0,((i|0)<0)<<31>>31|0)|0;V=ba()|0;f[17976]=((V|0)<0|(V|0)==0&Y>>>0<=Z>>>0)&1}r=ib[f[37356>>2]&255](i)|0;if(r){i=ib[f[37368>>2]&255](r)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0<=(f[18196]|0)>>>0){va=193;break}f[18196]=i;va=193}else{Z=0;i=0;Y=0}}else{Z=0;i=0;Y=0}}else{if(f[wa+272>>2]|0){if(b[ma>>0]|0){r=m;i=Q;va=448;break a}}else{do if(!(0>>0|(0==(s|0)?(j[wa+276>>1]|0)>>>0>>0:0))){r=wa+300|0;i=f[r>>2]|0;if(i|0){f[r>>2]=f[i>>2];va=wa+284|0;f[va>>2]=(f[va>>2]|0)+1;va=192;break k}r=wa+296|0;i=f[r>>2]|0;if(!i){i=wa+292|0;break}else{f[r>>2]=f[i>>2];va=wa+284|0;f[va>>2]=(f[va>>2]|0)+1;va=192;break k}}else i=wa+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(wa,u,s)|0;va=192}while(0);if((va|0)==192)if(!i){Z=0;i=0;Y=0}else{r=i;va=193}if((va|0)==193){_A(r|0,0,u|0)|0;Z=r+72|0;f[r+32>>2]=Z;Z=Z+x|0;f[r+8>>2]=Z;Z=Z+z|0;f[r+4>>2]=Z;f[r+28>>2]=Z+y;d[r+52>>1]=v;d[r+50>>1]=w+65535;Z=r;i=r+c|0;Y=r}l:do if(!(b[ma>>0]|0)){f[Z>>2]=i;R=i;w=R+e|0;YA(R|0,q|0,e|0)|0;R=Z+12|0;f[R>>2]=la;V=Z+54|0;b[V>>0]=k;T=Z+55|0;U=p&3;p=((k|0)!=0&1)<<3&65535|U|(h[T>>0]|h[T+1>>0]<<8)&-12;b[T>>0]=p;b[T+1>>0]=p>>8;p=Z+24|0;f[p>>2]=f[(f[ha>>2]|0)+(ka<<4)+12>>2];n=Z+50|0;d[n>>1]=f[A>>2];if(m|0){u=aa+8|0;f[u>>2]=0;f[u+4>>2]=0;f[u+8>>2]=0;f[u+12>>2]=0;f[u+16>>2]=0;f[u+20>>2]=0;u=$;z=u+80|0;do{f[u>>2]=0;u=u+4|0}while((u|0)<(z|0));f[$>>2]=1;f[$+16>>2]=f[la>>2];f[$+24>>2]=la;f[$+48>>2]=-1;f[aa>>2]=a;f[aa+4>>2]=$;i=aa+24|0;d[i>>1]=2;f[oa>>2]=a;f[oa+4>>2]=146;f[oa+8>>2]=147;f[oa+12>>2]=0;f[oa+24>>2]=aa;r=m+24|0;s=a+204|0;P=(f[s>>2]|0)+(f[r>>2]|0)|0;f[s>>2]=P;s=f[(f[a>>2]|0)+120>>2]|0;do if((s|0)<(P|0)){f[W>>2]=s;ni(a,42710,W)}else{oi(oa,m)|0;W=(f[oa>>2]|0)+204|0;f[W>>2]=(f[W>>2]|0)-(f[r>>2]|0);if(!(d[i>>1]&16))break;W=m+4|0;f[W>>2]=f[W>>2]|2}while(0);f[Z+36>>2]=m}y=(h[(f[B+(ka<<4)+12>>2]|0)+76>>0]|0)>3;if((h[ta>>0]|0)>1){f[Z+40>>2]=Q;i=0}else i=Q;m:do if(!(d[n>>1]|0)){s=0;v=0}else{c=aa+8|0;e=$+16|0;A=$+24|0;B=$+48|0;C=aa+4|0;D=aa+24|0;E=oa+4|0;F=oa+8|0;G=oa+12|0;H=oa+24|0;I=a+224|0;J=la+40|0;o=Z+4|0;K=la+4|0;L=Z+40|0;M=Z+32|0;N=Z+28|0;O=a;P=a+204|0;x=Q+4|0;s=0;while(1){v=f[x>>2]|0;n:do switch(b[v>>0]|0){case 106:{b[v>>0]=59;break}case 102:{r=f[v+12>>2]|0;if((b[r>>0]|0)!=106)break n;b[r>>0]=59;break}default:{}}while(0);f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;u=$;z=u+80|0;do{f[u>>2]=0;u=u+4|0}while((u|0)<(z|0));f[$>>2]=1;f[e>>2]=f[la>>2];f[A>>2]=la;f[B>>2]=-1;f[aa>>2]=a;f[C>>2]=$;d[D>>1]=32;do if(v|0){d[D>>1]=32;f[oa>>2]=O;f[E>>2]=146;f[F>>2]=147;f[G>>2]=0;f[H>>2]=aa;r=v+24|0;m=(f[P>>2]|0)+(f[r>>2]|0)|0;f[P>>2]=m;u=f[(f[a>>2]|0)+120>>2]|0;if((u|0)<(m|0)){f[ca>>2]=u;ni(a,42710,ca);break}oi(oa,v)|0;m=(f[oa>>2]|0)+204|0;f[m>>2]=(f[m>>2]|0)-(f[r>>2]|0);if(!(d[D>>1]&16))break;m=v+4|0;f[m>>2]=f[m>>2]|2}while(0);if(f[ea>>2]|0){u=0;break l}r=f[x>>2]|0;o:do if(!r)r=0;else while(1){u=f[r+4>>2]|0;if(!(u&4096))break o;if(!(u&262144))r=r+12|0;else r=(f[r+20>>2]|0)+4|0;r=f[r>>2]|0;if(!r){r=0;break}}while(0);if((b[r>>0]|0)==-98){m=d[r+32>>1]|0;r=m<<16>>16;do if(m<<16>>16<0)r=d[J>>1]|0;else{if(b[(f[K>>2]|0)+(r<<4)+12>>0]|0)break;m=(h[T>>0]|h[T+1>>0]<<8)&-9;b[T>>0]=m;b[T+1>>0]=m>>8}while(0);d[(f[o>>2]|0)+(s<<1)>>1]=r}else{if((la|0)==(f[I>>2]|0))break;if(!(f[L>>2]|0)){f[L>>2]=i;i=0}d[(f[o>>2]|0)+(s<<1)>>1]=-2;r=(h[T>>0]|h[T+1>>0]<<8)&-9;b[T>>0]=r;b[T+1>>0]=r>>8;r=-2}u=f[x>>2]|0;do if((b[u>>0]|0)==102){u=f[u+8>>2]|0;if(!u)r=0;else r=(wz(u)|0)&1073741823;m=r+1|0;YA(w|0,u|0,m|0)|0;r=w;w=w+m|0}else{if((r|0)<=-1){r=0;break}r=f[(f[K>>2]|0)+(r<<4)+8>>2]|0}while(0);v=(r|0)==0?43030:r;p:do if(!(b[ua>>0]|0)){r=f[a>>2]|0;u=b[r+78>>0]|0;m=b[r+165>>0]|0;r=_k(r,u,v,m&255)|0;do if(!(m<<24>>24)){if(!r){r=$k(a,u,0,v)|0;break}if(f[r+12>>2]|0)break p;r=$k(a,u,r,v)|0}while(0);if(!r){u=0;break l}}while(0);f[(f[M>>2]|0)+(s<<2)>>2]=v;b[(f[N>>2]|0)+s>>0]=y?b[x+12>>0]|0:0;s=s+1|0;v=d[n>>1]|0;if(s>>>0<(v&65535)>>>0)x=x+20|0;else break m}ni(a,58516,da);r=0;va=412;break l}while(0);q:do if(S){A=X+50|0;u=d[A>>1]|0;if(!(u<<16>>16))break;B=X+4|0;C=Z+4|0;D=X+32|0;E=Z+32|0;z=X+28|0;c=Z+28|0;e=Z+52|0;r=0;while(1){x=d[(f[B>>2]|0)+(r<<1)>>1]|0;y=f[C>>2]|0;r:do if(!(v<<16>>16))va=255;else{w=y;v=v&65535;while(1){if((d[w>>1]|0)==x<<16>>16)break;if((v|0)>1){w=w+2|0;v=v+-1|0}else{va=255;break r}}d[e>>1]=(d[e>>1]|0)+-1<<16>>16}while(0);if((va|0)==255){va=0;d[y+(s<<1)>>1]=x;f[(f[E>>2]|0)+(s<<2)>>2]=f[(f[D>>2]|0)+(r<<2)>>2];b[(f[c>>2]|0)+s>>0]=b[(f[z>>2]|0)+r>>0]|0;s=s+1|0;u=d[A>>1]|0}r=r+1|0;if(r>>>0>=(u&65535)>>>0)break q;v=d[n>>1]|0}}else{d[(f[Z+4>>2]|0)+(s<<1)>>1]=-1;f[(f[Z+32>>2]|0)+(s<<2)>>2]=43030}while(0);u=f[Z+8>>2]|0;s=d[n>>1]|0;s=(s&65535)<5?s:5;r=d[(f[R>>2]|0)+44>>1]|0;d[u>>1]=r;if(f[Z+36>>2]|0){r=(r&65535)+65526&65535;d[u>>1]=r}if(r<<16>>16<33)d[u>>1]=33;YA(u+2|0,39644,s<<1&65535|0)|0;ea=d[n>>1]|0;r=ea&65535;if((s&65535)<(ea&65535)){r=s&65535;do{r=r+1|0;d[u+(r<<1)>>1]=23;s=d[n>>1]|0}while(r>>>0<(s&65535)>>>0);r=s&65535}if(b[V>>0]|0)d[u+(r<<1)>>1]=0;A=a+224|0;if(!(f[A>>2]|0))To(Z);w=d[Z+52>>1]|0;e=w<<16>>16==0;if(e){s=-1;r=-1}else{s=f[Z+4>>2]|0;r=w&65535;u=0;v=0;do{ea=r;r=r+-1|0;aa=d[s+(r<<1)>>1]|0;ca=(aa&65535)<63;aa=WA(1,0,aa<<16>>16|0)|0;da=ba()|0;u=(ca?aa:0)|u;v=(ca?da:0)|v}while((ea|0)>1);s=~u;r=~v}ea=Z+64|0;f[ea>>2]=s;f[ea+4>>2]=r;s:do if(pa){z=w&65535;r=la+42|0;if((z|0)<(d[r>>1]|0))break;c=h[T>>0]|h[T+1>>0]<<8;ea=c|32;b[T>>0]=ea;b[T+1>>0]=ea>>8;r=d[r>>1]|0;if(r<<16>>16<=0)break;s=d[la+40>>1]|0;x=s<<16>>16;y=Z+4|0;t:do if(e){if(!((x+1|0)<(r<<16>>16|0)|s<<16>>16==0^1))break s}else{u=r<<16>>16;s=0;while(1){if((s|0)!=(x|0)){v=s&65535;w=f[y>>2]|0;r=0;while(1){if((d[w+(r<<1)>>1]|0)==v<<16>>16)break;r=r+1|0;if(r>>>0>=z>>>0)break t}if((r&65535)<<16>>16<=-1)break t}s=s+1|0;if((s|0)>=(u|0))break s}}while(0);ea=c&-33;b[T>>0]=ea;b[T+1>>0]=ea>>8}while(0);u:do if((la|0)==(f[A>>2]|0)){r=f[la+8>>2]|0;if(!r)break;e=Z+4|0;A=Z+32|0;v:do if(fa){c=r;while(1){r=d[c+50>>1]|0;do if(r<<16>>16==(d[n>>1]|0)){z=r&65535;w:do if(!(r<<16>>16))r=0;else{w=f[c+4>>2]|0;x=f[e>>2]|0;y=c+32|0;r=0;do{if((d[w+(r<<1)>>1]|0)!=(d[x+(r<<1)>>1]|0))break w;u=f[(f[y>>2]|0)+(r<<2)>>2]|0;v=f[(f[A>>2]|0)+(r<<2)>>2]|0;ja=b[u>>0]|0;s=(h[1232+(ja&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0;if(!(ja<<24>>24==0|(s|0)!=0))do{u=u+1|0;v=v+1|0;ja=b[u>>0]|0;s=(h[1232+(ja&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0}while(!(ja<<24>>24==0|(s|0)!=0));if(s|0)break w;r=r+1|0}while(r>>>0>>0)}while(0);if((r|0)!=(z|0)){r=0;break}u=c+54|0;r=b[u>>0]|0;s=b[V>>0]|0;do if(r<<24>>24!=s<<24>>24){if(!(r<<24>>24==11|s<<24>>24==11)){f[ia>>2]=0;ni(a,58577,ia);r=b[u>>0]|0}if(r<<24>>24!=11)break;b[u>>0]=b[V>>0]|0}while(0);r=c+55|0;ja=(h[r>>0]|h[r+1>>0]<<8)&-4|U;b[r>>0]=ja;b[r+1>>0]=ja>>8;r=2}else r=20;while(0);switch(r&31){case 20:case 0:break;default:break v}c=f[c+20>>2]|0;if(!c)break u}}else{c=r;while(1){r=d[c+50>>1]|0;do if(r<<16>>16==(d[n>>1]|0)){z=r&65535;x:do if(!(r<<16>>16))r=0;else{w=f[c+4>>2]|0;x=f[e>>2]|0;y=c+32|0;r=0;do{if((d[w+(r<<1)>>1]|0)!=(d[x+(r<<1)>>1]|0))break x;u=f[(f[y>>2]|0)+(r<<2)>>2]|0;v=f[(f[A>>2]|0)+(r<<2)>>2]|0;ia=b[u>>0]|0;s=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0;if(!(ia<<24>>24==0|(s|0)!=0))do{u=u+1|0;v=v+1|0;ia=b[u>>0]|0;s=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0}while(!(ia<<24>>24==0|(s|0)!=0));if(s|0)break x;r=r+1|0}while(r>>>0>>0)}while(0);if((r|0)!=(z|0)){r=0;break}u=c+54|0;r=b[u>>0]|0;s=b[V>>0]|0;if(r<<24>>24==s<<24>>24){r=2;break}if(!(r<<24>>24==11|s<<24>>24==11)){f[ja>>2]=0;ni(a,58577,ja);r=b[u>>0]|0}if(r<<24>>24!=11){r=2;break}b[u>>0]=b[V>>0]|0;r=2}else r=20;while(0);switch(r&31){case 20:case 0:break;default:break v}c=f[c+20>>2]|0;if(!c)break u}}while(0);if(r|0){r=0;va=412;break l}}while(0);do if((h[ta>>0]|0)>1)va=399;else{if(b[ua>>0]|0){if(!(pg((f[p>>2]|0)+24|0,f[Z>>2]|0,Y)|0)){sa=wa+24|0;f[sa>>2]=f[sa>>2]|1;if(!pa)break;f[Z+44>>2]=f[wa+160>>2];va=399;break}if(b[ma>>0]|0){u=0;break l}if(b[wa+82>>0]|0){u=0;break l}b[ma>>0]=1;if((f[wa+180>>2]|0)>0)f[wa+264>>2]=1;u=wa+272|0;f[u>>2]=(f[u>>2]|0)+1;u=0;break l}if(!(pa|(f[la+36>>2]&32|0)==0))break;B=a+44|0;A=(f[B>>2]|0)+1|0;f[B>>2]=A;B=a+8|0;r=f[B>>2]|0;s=a+116|0;if(!r){do if(!(f[s>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);r=sl(a)|0;if(!r){r=0;va=412;break l}else C=r}else C=r;e=f[s>>2]|0;e=(e|0)==0?a:e;r=e+84|0;s=f[r>>2]|0;c=1<>2]=s|c;if((ka|0)!=1)break;z=f[e>>2]|0;r=z+16|0;if(f[(f[r>>2]|0)+20>>2]|0)break;if(b[e+195>>0]|0)break;s=cj(f[z>>2]|0,0,z,oa,0,542)|0;if(s|0){ni(e,51535,na);f[e+12>>2]=s;break}oa=f[oa>>2]|0;f[(f[r>>2]|0)+20>>2]=oa;r=f[z+92>>2]|0;v=f[oa+4>>2]|0;f[v+4>>2]=f[oa>>2];do if(!(d[v+22>>1]&2)){w=v+32|0;x=v+36|0;y=(f[w>>2]|0)-(f[x>>2]|0)|0;do if((r+-512|0)>>>0<65025){if(r+-1&r|0)break;f[w>>2]=r;u=v+80|0;r=f[u>>2]|0;if(!r)break;s=r+-4|0;f[u>>2]=s;r=s;do if((f[18022]|0)>>>0<=r>>>0)if((f[18023]|0)>>>0>r>>>0){f[18188]=(f[18188]|0)+-1;f[s>>2]=f[18025];f[18025]=s;oa=(f[18026]|0)+1|0;f[18026]=oa;f[18027]=(oa|0)<(f[18021]|0)&1;break}else{r=ib[f[37368>>2]&255](s)|0;va=360;break}else{r=ib[f[37368>>2]&255](s)|0;va=360}while(0);do if((va|0)==360){f[18189]=(f[18189]|0)-r;if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{va=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-va;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);f[u>>2]=0}while(0);va=ih(f[v>>2]|0,w,y)|0;f[x>>2]=(f[w>>2]|0)-(y&65535);if((va|0)!=7)break;r=z+81|0;do if(!(b[r>>0]|0)){if(b[z+82>>0]|0)break;b[r>>0]=1;if((f[z+180>>2]|0)>0)f[z+264>>2]=1;va=z+272|0;f[va>>2]=(f[va>>2]|0)+1}while(0);break y}while(0)}while(0);y=e+80|0;f[y>>2]=f[y>>2]|c;y=e+20|0;b[y>>0]=b[y>>0]|1;y=C+136|0;r=f[y>>2]|0;x=C+12|0;if((f[(f[x>>2]|0)+48>>2]|0)>(r|0)){f[y>>2]=r+1;u=f[C+88>>2]|0;b[u+(r*20|0)>>0]=-85;u=u+(r*20|0)+1|0;z=u+19|0;do{b[u>>0]=0;u=u+1|0}while((u|0)<(z|0))}else r=tl(C,171,0,0,0)|0;w=Z+44|0;f[w>>2]=r;r=f[y>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(r|0)){f[y>>2]=r+1;va=f[C+88>>2]|0;b[va+(r*20|0)>>0]=-116;d[va+(r*20|0)+2>>1]=0;f[va+(r*20|0)+4>>2]=ka;f[va+(r*20|0)+8>>2]=A;f[va+(r*20|0)+12>>2]=2;f[va+(r*20|0)+16>>2]=0;b[va+(r*20|0)+1>>0]=0}else tl(C,140,ka,A,2)|0;if(!l)s=0;else{s=f[ga>>2]|0;va=(f[a+184>>2]|0)-s+(f[a+188>>2]|0)|0;l=va+-1|0;va=(b[s+l>>0]|0)==59?l:va;f[qa>>2]=(k|0)==0?72788:58619;f[qa+4>>2]=va;f[qa+8>>2]=s;s=Ig(wa,58627,qa)|0}qa=f[Z>>2]|0;va=f[la>>2]|0;f[ra>>2]=f[(f[ha>>2]|0)+(ka<<4)>>2];f[ra+4>>2]=43770;f[ra+8>>2]=qa;f[ra+12>>2]=va;f[ra+16>>2]=A;f[ra+20>>2]=s;Tl(a,58647,ra);z:do if(s|0){if(f[wa+480>>2]|0){Kc(wa,s);break}r=s;do if((f[wa+304>>2]|0)>>>0<=r>>>0){if((f[wa+308>>2]|0)>>>0<=r>>>0)break;va=wa+300|0;f[s>>2]=f[va>>2];f[va>>2]=s;break z}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{va=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-va;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);do if(pa){bm(a,Z,A);r=f[B>>2]|0;s=(f[f[(f[(f[a>>2]|0)+16>>2]|0)+(ka<<4)+12>>2]>>2]|0)+1|0;u=r+136|0;v=f[u>>2]|0;if((f[(f[r+12>>2]|0)+48>>2]|0)>(v|0)){f[u>>2]=v+1;va=f[r+88>>2]|0;b[va+(v*20|0)>>0]=107;d[va+(v*20|0)+2>>1]=0;f[va+(v*20|0)+4>>2]=ka;f[va+(v*20|0)+8>>2]=1;f[va+(v*20|0)+12>>2]=s;f[va+(v*20|0)+16>>2]=0;b[va+(v*20|0)+1>>0]=0}else tl(r,107,ka,1,s)|0;f[sa>>2]=f[Z>>2];Xl(C,ka,Ig(wa,58695,sa)|0);r=f[y>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(r|0)){f[y>>2]=r+1;va=f[C+88>>2]|0;b[va+(r*20|0)>>0]=-97;d[va+(r*20|0)+2>>1]=0;f[va+(r*20|0)+4>>2]=0;f[va+(r*20|0)+8>>2]=1;f[va+(r*20|0)+12>>2]=0;f[va+(r*20|0)+16>>2]=0;b[va+(r*20|0)+1>>0]=0;break}else{tl(C,159,0,1,0)|0;break}}while(0);r=f[w>>2]|0;s=f[y>>2]|0;if(!(b[(f[C>>2]|0)+81>>0]|0))r=(f[C+88>>2]|0)+(((r|0)<0?s+-1|0:r)*20|0)|0;else r=72144;f[r+8>>2]=s;va=399}while(0);do if((va|0)==399){if((g|0)==0|(b[ua>>0]|0)!=0)break;if((h[ta>>0]|0)<=1){r=0;va=412;break l}f[a+228>>2]=Z;break a}while(0);u=la+8|0;do if((k|0)==5){s=f[u>>2]|0;r=s;if(!s)break;if((b[s+54>>0]|0)==5)break;r=s+20|0;s=f[r>>2]|0;A:do if(!s)s=0;else while(1){if((b[s+54>>0]|0)==5)break A;r=s+20|0;s=f[r>>2]|0;if(!s){s=0;break}}while(0);f[Z+20>>2]=s;f[r>>2]=Z;break a}else r=f[u>>2]|0;while(0);f[Z+20>>2]=r;f[u>>2]=Z;break a}else{r=m;i=Q;va=412}while(0);if((va|0)==412)if(!Z){va=448;break}else u=r;r=f[Z+36>>2]|0;if(r|0)ig(wa,r);r=f[Z+40>>2]|0;if(r|0)jg(wa,r);r=f[Z+16>>2]|0;B:do if(r|0){do if(!_){if(f[wa+480>>2]|0){Kc(wa,r);break B}s=r;if((f[wa+304>>2]|0)>>>0>s>>>0)break;if((f[wa+308>>2]|0)>>>0<=s>>>0)break;va=wa+300|0;f[r>>2]=f[va>>2];f[va>>2]=r;break B}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{va=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-va;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}while(0);va=Z+55|0;C:do if((h[va>>0]|h[va+1>>0]<<8)&16){r=f[Z+32>>2]|0;if(!r)break;do if(!_){if(f[wa+480>>2]|0){Kc(wa,r);break C}s=r;if((f[wa+304>>2]|0)>>>0>s>>>0)break;if((f[wa+308>>2]|0)>>>0<=s>>>0)break;va=wa+300|0;f[r>>2]=f[va>>2];f[va>>2]=r;break C}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{va=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-va;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}while(0);if(Y){do if(!_){if(f[wa+480>>2]|0){Kc(wa,Y);r=u;va=448;break a}r=Y;if((f[wa+304>>2]|0)>>>0>r>>>0)break;if((f[wa+308>>2]|0)>>>0<=r>>>0)break;r=wa+300|0;f[Y>>2]=f[r>>2];f[r>>2]=Y;r=u;va=448;break a}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](Y);r=u;va=448;break}else{r=ib[f[37368>>2]&255](Y)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Y);r=u;va=448;break}}else{r=u;va=448}}else{r=m;q=0;va=448}while(0);if((va|0)==448)if(r)ig(wa,r);if(i|0)jg(wa,i);ng(wa,g);if(!q){t=xa;return}if(wa|0){if(f[wa+480>>2]|0){Kc(wa,q);t=xa;return}g=q;if((f[wa+304>>2]|0)>>>0<=g>>>0?(f[wa+308>>2]|0)>>>0>g>>>0:0){g=wa+300|0;f[q>>2]=f[g>>2];f[g>>2]=q;t=xa;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](q);t=xa;return}else{g=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);t=xa;return}}function Fl(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=t;t=t+32|0;H=M+16|0;m=M+8|0;l=M;L=f[a>>2]|0;J=f[a+224>>2]|0;a:do if((J|0)!=0?(K=a+196|0,(b[K>>0]|0)!=1):0){r=(c|0)==0;do if(r){E=d[J+42>>1]|0;k=(E<<16>>16)+-1|0;if(E<<16>>16<1){D=129;break a}if(g)if((f[g>>2]|0)==1){k=1;D=13}else{f[l>>2]=f[(f[J+4>>2]|0)+(k<<4)>>2];f[l+4>>2]=e;ni(a,58079,l);break a}else{k=1;D=12}}else{if(!g){k=f[c>>2]|0;D=12;break}k=f[g>>2]|0;if((k|0)==(f[c>>2]|0))D=13;else{ni(a,58142,m);D=128;break a}}while(0);if((D|0)==12){p=e+4|0;l=(k<<3)+37+(f[p>>2]|0)|0;E=k;B=0}else if((D|0)==13){p=e+4|0;l=(k<<3)+37+(f[p>>2]|0)|0;o=f[g>>2]|0;if((o|0)>0){n=0;do{m=f[g+4+(n*20|0)+4>>2]|0;if(!m)m=0;else m=(wz(m)|0)&1073741823;l=l+1+m|0;n=n+1|0}while((n|0)<(o|0));E=k;B=1}else{E=k;B=1}}n=((l|0)<0)<<31>>31;C=(L|0)==0;b:do if(C){A=KA(l|0,n|0,-1,-1)|0;z=ba()|0;if(z>>>0>0|(z|0)==0&A>>>0>2147483390){D=127;break a}if(!(f[9328]|0)){k=ib[f[37356>>2]&255](l)|0;D=42;break}n=ib[f[37372>>2]&255](l)|0;if((f[18194]|0)>>>0>>0)f[18194]=l;m=71896;k=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&k>>>0>0){A=f[18187]|0;z=LA(k|0,m|0,n|0,((n|0)<0)<<31>>31|0)|0;y=ba()|0;f[17976]=((y|0)<0|(y|0)==0&z>>>0<=A>>>0)&1}m=ib[f[37356>>2]&255](n)|0;if(!m){D=127;break a}k=ib[f[37368>>2]&255](m)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;A=m}else A=m}else{if(f[L+272>>2]|0){if(b[L+81>>0]|0){D=127;break a}}else{do if(!(0>>0|(0==(n|0)?(j[L+276>>1]|0)>>>0>>0:0))){m=L+300|0;k=f[m>>2]|0;if(k|0){f[m>>2]=f[k>>2];D=L+284|0;f[D>>2]=(f[D>>2]|0)+1;D=42;break b}m=L+296|0;k=f[m>>2]|0;if(!k){k=L+292|0;break}else{f[m>>2]=f[k>>2];D=L+284|0;f[D>>2]=(f[D>>2]|0)+1;D=42;break b}}else k=L+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(L,l,n)|0;D=42}while(0);if((D|0)==42)if(!k){D=127;break}else A=k;_A(A|0,0,l|0)|0;f[A>>2]=J;z=J+16|0;f[A+4>>2]=f[z>>2];x=A+36|0;o=x+(E<<3)|0;y=A+8|0;f[y>>2]=o;c:do if((h[K>>0]|0)>1){m=f[a>>2]|0;d:do if(!m){if(!(f[9328]|0)){k=ib[f[37356>>2]&255](16)|0;D=67;break}k=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){w=f[18187]|0;v=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;u=ba()|0;f[17976]=((u|0)<0|(u|0)==0&v>>>0<=w>>>0)&1}k=ib[f[37356>>2]&255](k)|0;if(!k)break c;l=ib[f[37368>>2]&255](k)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0>(f[18196]|0)>>>0)f[18196]=l}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break c}else{do if((j[m+276>>1]|0)>=16){l=m+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];D=m+284|0;f[D>>2]=(f[D>>2]|0)+1;D=67;break d}l=m+296|0;k=f[l>>2]|0;if(!k){k=m+292|0;break}else{f[l>>2]=f[k>>2];D=m+284|0;f[D>>2]=(f[D>>2]|0)+1;D=67;break d}}else k=m+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(m,16,0)|0;D=67}while(0);if((D|0)==67)if(!k)break;l=k+4|0;m=l+12|0;do{b[l>>0]=0;l=l+1|0}while((l|0)<(m|0));f[k>>2]=o;u=e;v=f[u+4>>2]|0;w=k+4|0;f[w>>2]=f[u>>2];f[w+4>>2]=v;w=a+268|0;f[k+12>>2]=f[w>>2];f[w>>2]=k}while(0);YA(o|0,f[e>>2]|0,f[p>>2]|0)|0;b[o+(f[p>>2]|0)>>0]=0;if(o|0?(q=b[o>>0]|0,(b[5472+(q&255)>>0]|0)<0):0){n=q<<24>>24==91?93:q;m=0;k=1;while(1){l=b[o+k>>0]|0;if(l<<24>>24==n<<24>>24){k=k+1|0;l=o+m|0;if((b[o+k>>0]|0)!=n<<24>>24)break;b[l>>0]=n}else b[o+m>>0]=l;m=m+1|0;k=k+1|0}b[l>>0]=0}m=o+((f[p>>2]|0)+1)|0;f[A+20>>2]=E;e:do if(!r)if((E|0)>0){s=J+4|0;u=a+268|0;w=d[J+42>>1]|0;v=w<<16>>16>0;w=w<<16>>16;r=0;f:while(1){if(!v){D=116;break}e=f[s>>2]|0;k=f[c+4+(r*20|0)+4>>2]|0;q=h[1232+(h[k>>0]|0)>>0]|0;l=0;while(1){o=f[e+(l<<4)>>2]|0;p=b[o>>0]|0;n=(h[1232+(p&255)>>0]|0)-q|0;if(!(p<<24>>24==0|(n|0)!=0)){p=k;do{o=o+1|0;p=p+1|0;N=b[o>>0]|0;n=(h[1232+(N&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0}while(!(N<<24>>24==0|(n|0)!=0))}if(!n)break;l=l+1|0;if((l|0)>=(w|0))break f}f[x+(r<<3)>>2]=l;g:do if((h[K>>0]|0)>1?(G=x+(r<<3)|0,F=f[u>>2]|0,F|0):0){l=F;while(1){if((f[l>>2]|0)==(k|0))break;l=f[l+12>>2]|0;if(!l)break g}f[l>>2]=G}while(0);k=r+1|0;if((k|0)<(E|0))r=k;else{D=96;break e}}if((D|0)==116)k=f[c+4+(r*20|0)+4>>2]|0;f[H>>2]=k;ni(a,58236,H);if(!A){D=128;break a}if(!C)D=119}else D=107;else{f[x>>2]=(d[J+42>>1]|0)+-1;D=96}while(0);if((D|0)==96)if(B&(E|0)>0){p=a+268|0;n=0;while(1){o=f[g+4+(n*20|0)+4>>2]|0;if(!o)l=0;else l=(wz(o)|0)&1073741823;f[x+(n<<3)+4>>2]=m;h:do if((h[K>>0]|0)>1?(I=f[p>>2]|0,I|0):0){k=I;while(1){if((f[k>>2]|0)==(o|0))break;k=f[k+12>>2]|0;if(!k)break h}f[k>>2]=m}while(0);YA(m|0,o|0,l|0)|0;b[m+l>>0]=0;n=n+1|0;if((n|0)==(E|0)){D=107;break}else m=m+(l+1)|0}}else D=107;if((D|0)==107){b[A+24>>0]=0;b[A+25>>0]=i;b[A+26>>0]=i>>>8;k=pg((f[J+72>>2]|0)+56|0,f[y>>2]|0,A)|0;if((k|0)!=(A|0)){if(k|0){f[A+12>>2]=k;f[k+16>>2]=A}f[z>>2]=A;D=127;break}k=L+81|0;if((b[k>>0]|0)==0?(b[L+82>>0]|0)==0:0){b[k>>0]=1;if((f[L+180>>2]|0)>0)f[L+264>>2]=1;D=L+272|0;f[D>>2]=(f[D>>2]|0)+1;D=119}else D=119}if((D|0)==119){if(f[L+480>>2]|0){Kc(L,A);D=127;break}N=A;if((f[L+304>>2]|0)>>>0<=N>>>0?(f[L+308>>2]|0)>>>0>N>>>0:0){D=L+300|0;f[A>>2]=f[D>>2];f[D>>2]=A;D=127;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](A);D=127;break}else{D=ib[f[37368>>2]&255](A)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](A);D=127;break}}else D=127;while(0);if((D|0)==127)if(!c)D=129;else D=128;if((D|0)==128){jg(L,c);D=129}if((D|0)==129?(g|0)==0:0){t=M;return}jg(L,g);t=M;return}function Gl(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0;V=t;t=t+208|0;Q=V+184|0;O=V+176|0;N=V+160|0;M=V+152|0;L=V+136|0;K=V+128|0;J=V+112|0;I=V+104|0;F=V+96|0;B=V+88|0;A=V+80|0;z=V+72|0;y=V+64|0;x=V+56|0;v=V+48|0;u=V+40|0;s=V+32|0;r=V+24|0;P=V;T=f[a>>2]|0;if(b[T+81>>0]|0){ng(T,c);t=V;return}a:do if(!(b[T+165>>0]|0)){l=a+4|0;m=T+24|0;n=(f[m>>2]&1|0)==0;o=T+16|0;S=f[(f[o>>2]|0)+12>>2]|0;b[T+78>>0]=b[S+77>>0]|0;if(!((d[S+78>>1]&1)==0?(i=qi(T,0,l,0)|0,(i|0)!=0):0))C=5;b:do if((C|0)==5){i=f[T+20>>2]|0;if((i|0)>1)do{k=i;i=i+-1|0;if((d[(f[(f[o>>2]|0)+(i<<4)+12>>2]|0)+78>>1]&1)==0?(p=qi(T,i,l,0)|0,p|0):0){i=p;break b}}while((k|0)>2);if(n)f[m>>2]=f[m>>2]&-2;if(!(b[T+89>>0]|0))break a;f[m>>2]=f[m>>2]|8;break a}while(0);f[a+12>>2]=i;a=a+36|0;f[a>>2]=(f[a>>2]|0)+1;ng(T,c);t=V;return}while(0);m=(g|0)!=0;if(m){S=T+85|0;b[S>>0]=(b[S>>0]|0)+1<<24>>24}k=f[c+8>>2]|0;if(!k)i=c+12|0;else{l=f[(f[a>>2]|0)+16>>2]|0;i=0;while(1)if((f[l+(i<<4)+12>>2]|0)==(k|0))break;else i=i+1|0;i=l+(i<<4)|0}S=pi(a,e,f[c+16>>2]|0,f[i>>2]|0)|0;if(m){R=T+85|0;b[R>>0]=(b[R>>0]|0)+-1<<24>>24}if(!S){if(!m){ng(T,c);t=V;return}Sl(a,f[c+12>>2]|0);ng(T,c);t=V;return}G=S+72|0;k=f[G>>2]|0;if(!k)R=-1e6;else{l=f[T+16>>2]|0;i=0;while(1)if((f[l+(i<<4)+12>>2]|0)==(k|0)){R=i;break}else i=i+1|0}D=S+56|0;if(f[D>>2]|0?ki(a,S)|0:0){ng(T,c);t=V;return}g=(R|0)==1;i=g?48842:43770;o=f[(f[T+16>>2]|0)+(R<<4)>>2]|0;k=f[a>>2]|0;do if(((b[k+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(q=f[k+312>>2]|0,q|0):0){i=nb[q&127](f[k+316>>2]|0,9,i,0,o,f[a+236>>2]|0)|0;if((i|0)==1){ni(a,49816,r);f[a+12>>2]=23;ng(T,c);t=V;return}if((i|2|0)==2){if(!i)break;ng(T,c);t=V;return}else{ni(a,49831,s);f[a+12>>2]=1;ng(T,c);t=V;return}}while(0);do if(!e){if(!(f[D>>2]|0)){l=0;m=g?13:11;break}i=S+64|0;while(1){i=f[i>>2]|0;if((f[i>>2]|0)==(T|0))break;else i=i+24|0}l=f[(f[i+4>>2]|0)+4>>2]|0;m=30}else{l=0;m=g?15:17}while(0);i=f[S>>2]|0;k=f[a>>2]|0;do if((b[k+165>>0]|0)==0?(w=a+196|0,(b[w>>0]|0)==0):0){n=f[k+312>>2]|0;if(n){i=nb[n&127](f[k+316>>2]|0,m,i,l,o,f[a+236>>2]|0)|0;if((i|0)==1){ni(a,49816,u);f[a+12>>2]=23;ng(T,c);t=V;return}if((i|2|0)!=2){ni(a,49831,v);f[a+12>>2]=1;ng(T,c);t=V;return}if(i|0){ng(T,c);t=V;return}i=f[S>>2]|0;k=f[a>>2]|0;if(b[k+165>>0]|0){o=i;break}if(b[w>>0]|0){o=i;break}}l=f[k+312>>2]|0;if(l){i=nb[l&127](f[k+316>>2]|0,9,i,0,o,f[a+236>>2]|0)|0;if((i|0)==1){ni(a,49816,x);f[a+12>>2]=23;ng(T,c);t=V;return}if((i|2|0)!=2){ni(a,49831,y);f[a+12>>2]=1;ng(T,c);t=V;return}if(!i){o=f[S>>2]|0;break}else{ng(T,c);t=V;return}}else o=i}else o=i;while(0);c:do if(o|0){m=b[o>>0]|0;n=m<<24>>24==0;d:do if(n){i=51912;C=66}else{C=m&255;i=1232+C|0;do if((C|32|0)==115){i=b[o+1>>0]|0;if(!(i<<24>>24)){i=51913;C=66;break d}C=i&255;i=1232+C|0;if((C|32|0)==113){i=b[o+2>>0]|0;if(!(i<<24>>24)){i=51914;C=66;break d}i=i&255;if((i|32|0)!=108){l=108;i=1232+i|0;break}i=b[o+3>>0]|0;if(!(i<<24>>24)){i=51915;C=66;break d}i=i&255;if((i|32|0)!=105){l=105;i=1232+i|0;break}i=b[o+4>>0]|0;if(!(i<<24>>24)){i=51916;C=66;break d}i=i&255;if((i|32|0)!=116){l=116;i=1232+i|0;break}i=b[o+5>>0]|0;if(!(i<<24>>24)){i=51917;C=66;break d}i=i&255;if((i|32|0)!=101){l=101;i=1232+i|0;break}i=b[o+6>>0]|0;if(!(i<<24>>24)){i=51918;C=66;break d}if(i<<24>>24==95){C=75;break d}else{l=95;i=1232+(i&255)|0}}else l=113}else l=115;while(0);k=h[i>>0]|0;i=l;C=70}while(0);if((C|0)==66){k=0;i=b[1232+(h[i>>0]|0)>>0]|0;C=70}if((C|0)==70){if((k|0)!=(i&255|0))break;if(!n){i=m&255;if((i|32|0)==115)C=75;else{l=115;i=1232+i|0;C=74}}else{i=57872;C=72}}do if((C|0)==75){i=b[o+1>>0]|0;if(i<<24>>24){y=i&255;i=1232+y|0;if((y|32|0)==113){i=b[o+2>>0]|0;if(i<<24>>24){y=i&255;i=1232+y|0;if((y|32|0)==108){i=b[o+3>>0]|0;if(i<<24>>24){i=i&255;if((i|32|0)!=105){l=105;i=1232+i|0;C=74;break}i=b[o+4>>0]|0;if(!(i<<24>>24)){i=57876;C=72;break}i=i&255;if((i|32|0)!=116){l=116;i=1232+i|0;C=74;break}i=b[o+5>>0]|0;if(!(i<<24>>24)){i=57877;C=72;break}i=i&255;if((i|32|0)!=101){l=101;i=1232+i|0;C=74;break}i=b[o+6>>0]|0;if(!(i<<24>>24)){i=57878;C=72;break}if(i<<24>>24!=95){l=95;i=1232+(i&255)|0;C=74;break}i=b[o+7>>0]|0;if(!(i<<24>>24)){i=57879;C=72;break}i=i&255;if((i|32|0)!=115){l=115;i=1232+i|0;C=74;break}i=b[o+8>>0]|0;if(!(i<<24>>24)){i=57880;C=72;break}i=i&255;if((i|32|0)!=116){l=116;i=1232+i|0;C=74;break}i=b[o+9>>0]|0;if(!(i<<24>>24)){i=57881;C=72;break}i=i&255;if((i|32|0)!=97){l=97;i=1232+i|0;C=74;break}i=b[o+10>>0]|0;if(!(i<<24>>24)){i=57882;C=72;break}i=i&255;if((i|32|0)==116)break c;else{l=116;i=1232+i|0;C=74}}else{i=57875;C=72}}else{l=108;C=74}}else{i=57874;C=72}}else{l=113;C=74}}else{i=57873;C=72}}while(0);if((C|0)==72){k=0;i=b[1232+(h[i>>0]|0)>>0]|0}else if((C|0)==74){k=h[i>>0]|0;i=l}if((k|0)!=(i&255|0)){f[z>>2]=o;ni(a,57884,z);ng(T,c);t=V;return}}while(0);r=(e|0)!=0;i=(f[S+12>>2]|0)==0;if(r){if(i){f[A>>2]=o;ni(a,57912,A);ng(T,c);t=V;return}}else if(!i){f[B>>2]=o;ni(a,57946,B);ng(T,c);t=V;return}v=a+8|0;w=a+116|0;if(!(f[v>>2]|0)){if((f[w>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;if(!(sl(a)|0)){ng(T,c);t=V;return}}q=f[w>>2]|0;q=(q|0)==0?a:q;i=q+84|0;k=f[i>>2]|0;p=1<>2]=k|p,g):0)?(H=f[q>>2]|0,E=H+16|0,(f[(f[E>>2]|0)+20>>2]|0)==0):0)?(b[q+195>>0]|0)==0:0){i=cj(f[H>>2]|0,0,H,P,0,542)|0;if(i|0){ni(q,51535,F);f[q+12>>2]=i;break}F=f[P>>2]|0;f[(f[E>>2]|0)+20>>2]=F;i=f[H+92>>2]|0;m=f[F+4>>2]|0;f[m+4>>2]=f[F>>2];do if(!(d[m+22>>1]&2)){n=m+32|0;o=m+36|0;g=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((i+-512|0)>>>0<65025){if(i+-1&i|0)break;f[n>>2]=i;l=m+80|0;i=f[l>>2]|0;if(!i)break;k=i+-4|0;f[l>>2]=k;i=k;do if((f[18022]|0)>>>0<=i>>>0)if((f[18023]|0)>>>0>i>>>0){f[18188]=(f[18188]|0)+-1;f[k>>2]=f[18025];f[18025]=k;F=(f[18026]|0)+1|0;f[18026]=F;f[18027]=(F|0)<(f[18021]|0)&1;break}else{i=ib[f[37368>>2]&255](k)|0;C=103;break}else{i=ib[f[37368>>2]&255](k)|0;C=103}while(0);do if((C|0)==103){f[18189]=(f[18189]|0)-i;if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{F=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);f[l>>2]=0}while(0);F=ih(f[m>>2]|0,n,g)|0;f[o>>2]=(f[n>>2]|0)-(g&65535);if((F|0)!=7)break;i=H+81|0;do if(!(b[i>>0]|0)){if(b[H+82>>0]|0)break;b[i>>0]=1;if((f[H+180>>2]|0)>0)f[H+264>>2]=1;H=H+272|0;f[H>>2]=(f[H>>2]|0)+1}while(0);break e}while(0)}while(0);H=q+80|0;f[H>>2]=f[H>>2]|p;H=q+20|0;b[H>>0]=b[H>>0]|1;if(r){So(a,S,R,e);ng(T,c);t=V;return}k=f[S>>2]|0;l=f[(f[(f[a>>2]|0)+16>>2]|0)+(R<<4)>>2]|0;f[I>>2]=1;vd(24,P,51654,I)|0;if(ji(f[a>>2]|0,P,l)|0){f[J>>2]=l;f[J+4>>2]=P;f[J+8>>2]=47825;f[J+12>>2]=k;Tl(a,51668,J)}f[K>>2]=2;vd(24,P,51654,K)|0;if(ji(f[a>>2]|0,P,l)|0){f[L>>2]=l;f[L+4>>2]=P;f[L+8>>2]=47825;f[L+12>>2]=k;Tl(a,51668,L)}f[M>>2]=3;vd(24,P,51654,M)|0;if(ji(f[a>>2]|0,P,l)|0){f[N>>2]=l;f[N+4>>2]=P;f[N+8>>2]=47825;f[N+12>>2]=k;Tl(a,51668,N)}f[O>>2]=4;vd(24,P,51654,O)|0;i=f[a>>2]|0;if(!(ji(i,P,l)|0))r=i;else{f[Q>>2]=l;f[Q+4>>2]=P;f[Q+8>>2]=47825;f[Q+12>>2]=k;Tl(a,51668,Q);r=f[a>>2]|0}s=r+32|0;f:do if(!((f[s>>2]&16384|0)==0&0==0)){if(f[D>>2]|0)break;i=f[v>>2]|0;if(!i){do if(!(f[w>>2]|0)){if(d[r+76>>1]&8)break;b[a+23>>0]=1}while(0);u=sl(a)|0}else u=i;g=f[S>>2]|0;m=f[G>>2]|0;n=f[m+68>>2]|0;if(!n){k=m+60|0;i=m+64|0}else{k=b[g>>0]|0;if(!(k<<24>>24))i=0;else{i=0;l=g;do{l=l+1|0;i=U(i+(h[1232+(k&255)>>0]|0)|0,-1640531535)|0;k=b[l>>0]|0}while(k<<24>>24!=0)}i=(i>>>0)%((f[m+56>>2]|0)>>>0)|0;k=n+(i<<3)|0;i=n+(i<<3)+4|0}k=f[k>>2]|0;g:do if(!k)i=72124;else{o=h[1232+(h[g>>0]|0)>>0]|0;while(1){i=f[i>>2]|0;k=k+-1|0;m=f[i+12>>2]|0;Q=b[m>>0]|0;l=(h[1232+(Q&255)>>0]|0)-o|0;if(!(Q<<24>>24==0|(l|0)!=0)){n=g;do{m=m+1|0;n=n+1|0;Q=b[m>>0]|0;l=(h[1232+(Q&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(Q<<24>>24==0|(l|0)!=0))}if(!l)break g;if(!k){i=72124;break}}}while(0);do if(!(f[i+8>>2]|0)){i=f[S+16>>2]|0;if(!i)break f;while(1){if(b[i+24>>0]|0)break;if(!((f[s>>2]&524288|0)==0&0==0))break;i=f[i+4>>2]|0;if(!i)break f}q=u+12|0;i=f[q>>2]|0;g=i+60|0;p=f[g>>2]|0;f[g>>2]=p+1;g=i+64|0;if(!(p+-1&p)){n=p<<3|4;o=f[i>>2]|0;i=f[g>>2]|0;h:do if(i){l=i;m=o+304|0;do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)))break h}while(0);k=Lc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Kc(o,i);i=0;break}do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;Q=o+300|0;f[i>>2]=f[Q>>2];f[Q>>2]=i;i=0;break h}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{Q=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];Q=o+284|0;f[Q>>2]=(f[Q>>2]|0)+1;break h}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];Q=o+284|0;f[Q>>2]=(f[Q>>2]|0)+1;break h}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[g>>2]=i}else i=f[g>>2]|0;if(i|0)f[i+(p<<2)>>2]=-1;i=~p;k=u+136|0;l=f[k>>2]|0;if((f[(f[q>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;n=f[u+88>>2]|0;b[n+(l*20|0)>>0]=46;d[n+(l*20|0)+2>>1]=0;f[n+(l*20|0)+4>>2]=1;f[n+(l*20|0)+8>>2]=i;f[n+(l*20|0)+12>>2]=0;f[n+(l*20|0)+16>>2]=0;b[n+(l*20|0)+1>>0]=0;n=i;break}else{tl(u,46,1,i,0)|0;n=i;break}}else n=0;while(0);Q=a+142|0;b[Q>>0]=1;Nl(a,Kk(r,c,0)|0,0);b[Q>>0]=0;do if((f[s>>2]&524288|0)==0&0==0){i=u+136|0;k=f[i>>2]|0;l=k+2|0;if((f[(f[u+12>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;Q=f[u+88>>2]|0;b[Q+(k*20|0)>>0]=46;d[Q+(k*20|0)+2>>1]=0;f[Q+(k*20|0)+4>>2]=0;f[Q+(k*20|0)+8>>2]=l;f[Q+(k*20|0)+12>>2]=0;f[Q+(k*20|0)+16>>2]=0;b[Q+(k*20|0)+1>>0]=0}else tl(u,46,0,l,0)|0;i=f[v>>2]|0;if(!i){do if(!(f[w>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);i=sl(a)|0}m=f[w>>2]|0;b[((m|0)==0?a:m)+21>>0]=1;m=i+136|0;k=f[m>>2]|0;if((f[(f[i+12>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;Q=f[i+88>>2]|0;b[Q+(k*20|0)>>0]=69;d[Q+(k*20|0)+2>>1]=0;f[Q+(k*20|0)+4>>2]=787;f[Q+(k*20|0)+8>>2]=2;f[Q+(k*20|0)+12>>2]=0;f[Q+(k*20|0)+16>>2]=0;b[Q+(k*20|0)+1>>0]=0}else k=tl(i,69,787,2,0)|0;do if(!(b[(f[i>>2]|0)+81>>0]|0)){if((k|0)<0)k=(f[m>>2]|0)+-1|0;l=f[i+88>>2]|0;if(!(b[l+(k*20|0)+1>>0]|0))break;ul(i,l+(k*20|0)|0,0,-1)}while(0);k=f[m>>2]|0;if((k|0)<=0)break;d[(f[i+88>>2]|0)+((k+-1|0)*20|0)+2>>1]=4}while(0);if(!n)break;i=f[(f[u+12>>2]|0)+64>>2]|0;if(!i)break;f[i+(~n<<2)>>2]=f[u+136>>2]}while(0);So(a,S,R,0);ng(T,c);t=V;return}function Hl(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;j=pl(a,c)|0;if(!j){k=-1;return k|0}i=f[a+20>>2]|0;c=i+-1|0;if((i|0)>0){i=c;g=(f[a+16>>2]|0)+(c<<4)|0;while(1){d=f[g>>2]|0;if(d|0){e=b[d>>0]|0;c=(h[1232+(e&255)>>0]|0)-(h[1232+(h[j>>0]|0)>>0]|0)|0;if(!(e<<24>>24==0|(c|0)!=0)){e=j;do{d=d+1|0;e=e+1|0;l=b[d>>0]|0;c=(h[1232+(l&255)>>0]|0)-(h[1232+(h[e>>0]|0)>>0]|0)|0}while(!(l<<24>>24==0|(c|0)!=0))}if(!c){c=i;break}}if(!i){k=10;break}c=i+-1|0;if((i|0)>0){i=c;g=g+-16|0}else break}if((k|0)==10){c=109-(h[1232+(h[j>>0]|0)>>0]|0)|0;if(!c){d=j;e=42464;do{e=e+1|0;d=d+1|0;l=b[e>>0]|0;c=(h[1232+(l&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(l<<24>>24==0|(c|0)!=0))}c=((c|0)!=0)<<31>>31}if(a)k=16}else k=16;if((k|0)==16){if(f[a+480>>2]|0){Kc(a,j);l=c;return l|0}l=j;if((f[a+304>>2]|0)>>>0<=l>>>0?(f[a+308>>2]|0)>>>0>l>>>0:0){l=a+300|0;f[j>>2]=f[l>>2];f[l>>2]=j;l=c;return l|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](j);l=c;return l|0}else{l=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);l=c;return l|0}return 0}function Il(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(!b){a=0;return a|0}a:while(1){e=f[b>>2]|0;if(e|0?(f[e>>2]|0)>0:0){c=e+4|0;d=0;while(1){if(Wl(a,f[c>>2]|0)|0){b=1;c=28;break a}d=d+1|0;if((d|0)>=(f[e>>2]|0))break;else c=c+20|0}}if(Yl(a,f[b+32>>2]|0)|0){b=1;c=28;break}if(Wl(a,f[b+36>>2]|0)|0){b=1;c=28;break}e=f[b+40>>2]|0;if(e|0?(f[e>>2]|0)>0:0){c=e+4|0;d=0;while(1){if(Wl(a,f[c>>2]|0)|0){b=1;c=28;break a}d=d+1|0;if((d|0)>=(f[e>>2]|0))break;else c=c+20|0}}if(Wl(a,f[b+44>>2]|0)|0){b=1;c=28;break}e=f[b+48>>2]|0;if(e|0?(f[e>>2]|0)>0:0){c=e+4|0;d=0;while(1){if(Wl(a,f[c>>2]|0)|0){b=1;c=28;break a}d=d+1|0;if((d|0)>=(f[e>>2]|0))break;else c=c+20|0}}if(Wl(a,f[b+60>>2]|0)|0){b=1;c=28;break}e=b+64|0;c=f[e>>2]|0;if(c|0?(f[c>>2]|0)>0:0){d=0;do{if(Il(a,f[c+8+(d<<4)+8>>2]|0)|0){b=1;c=28;break a}d=d+1|0;c=f[e>>2]|0}while((d|0)<(f[c>>2]|0))}b=f[b+52>>2]|0;if(!b){b=0;c=28;break}}if((c|0)==28)return b|0;return 0}function Jl(a,b){a=a|0;b=b|0;var c=0;a=f[(f[a>>2]|0)+268>>2]|0;if(!a)return 0;while(1){if((f[a>>2]|0)==(b|0))break;a=f[a+12>>2]|0;if(!a){c=6;break}}if((c|0)==6)return 0;f[a>>2]=0;return 0} -function Br(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0;l=t;t=t+16|0;j=l;g=l+4|0;i=Dr(a,e,a)|0;if(!i){t=l;return}if((c|0)==2){e=f[e+4>>2]|0;do if(e){c=d[e+8>>1]|0;if((c&514)==514?(b[e+10>>0]|0)==1:0)c=f[e+16>>2]|0;else{if(c&1){k=9;break}c=Ic(e,1)|0}f[g>>2]=0;if(c){if((b[c>>0]|0)==36){c=gr(i,0,c+1|0,0,g)|0;e=f[g>>2]|0;if(!e)break;else c=e}else f[g>>2]=c;i=i+21|0;b[i>>0]=(b[i>>0]|0)+1<<24>>24;f[j>>2]=c;c=wd(60239,j)|0;if(c|0){f[a+20>>2]=1;$e(f[a>>2]|0,c,-1,1,-1)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);c=0;break}else{j=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);c=0;break}}c=f[a>>2]|0;e=c+8|0;if(!(d[e>>1]&9216))d[e>>1]=1;else{cf(c);c=f[a>>2]|0}f[a+20>>2]=7;c=f[c+32>>2]|0;e=c+81|0;if((b[e>>0]|0)==0?(b[c+82>>0]|0)==0:0){b[e>>0]=1;if((f[c+180>>2]|0)>0)f[c+264>>2]=1;c=c+272|0;f[c>>2]=(f[c>>2]|0)+1;c=0}else c=0}else c=0}else k=9;while(0);if((k|0)==9){f[g>>2]=0;c=0}}else c=f[i+8>>2]|0;if(!c){t=l;return}if(($e(f[a>>2]|0,f[23920+(h[c>>0]<<2)>>2]|0,-1,1,0)|0)!=18){t=l;return}f[a+20>>2]=18;$e(f[a>>2]|0,41612,-1,1,0)|0;t=l;return}function Cr(a,b,c){a=a|0;b=b|0;c=c|0;b=(Dr(a,c,0)|0)!=0;a=f[a>>2]|0;b=b&1;c=a+8|0;if(!(d[c>>1]&9216)){f[a>>2]=b;f[a+4>>2]=0;d[c>>1]=4;return}else{bf(a,b,0);return}}function Dr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=f[c>>2]|0;g=d[h+8>>1]|0;if((g&514)==514?(b[h+10>>0]|0)==1:0)o=f[h+16>>2]|0;else if(!(g&1)){o=Ic(h,1)|0;h=f[c>>2]|0}else o=0;g=d[h+8>>1]|0;if((g&2)!=0?(b[h+10>>0]|0)==1:0)c=f[h+12>>2]|0;else i=9;do if((i|0)==9){g=g&65535;if(!(g&16)){if(g&1|0){c=0;break}c=_e(h,1)|0;break}else{c=f[h+12>>2]|0;if(!(g&16384))break;c=(f[h>>2]|0)+c|0;break}}while(0);if(!o){a=0;return a|0}n=a+12|0;m=f[(f[n>>2]|0)+212>>2]|0;a:do if(m){g=m;while(1){if((f[g+4>>2]|0)==-429938)break;g=f[g+16>>2]|0;if(!g){k=0;l=0;break a}}h=f[g+8>>2]|0;if(h){if((f[h+24>>2]|0)==(c|0)?(Hz(f[h+12>>2]|0,o,c)|0)==0:0){b[h+21>>0]=0;k=-1;g=h;j=f[h+28>>2]|0}else{j=f[h+28>>2]|0;k=j;g=0}h=m;while(1){if((f[h+4>>2]|0)==-429937){i=75;break}h=f[h+16>>2]|0;if(!h){h=1;break}}b:do if((i|0)==75){i=f[h+8>>2]|0;if(i){if(((g|0)==0?(f[i+24>>2]|0)==(c|0):0)?(Hz(f[i+12>>2]|0,o,c)|0)==0:0){b[i+21>>0]=0;h=0;g=i;i=f[i+28>>2]|0}else{i=f[i+28>>2]|0;h=i>>>0>>0;k=h?i:k;h=h&1}j=i>>>0>j>>>0?i:j;i=m;while(1){if((f[i+4>>2]|0)==-429936)break;i=f[i+16>>2]|0;if(!i){h=2;break b}}l=f[i+8>>2]|0;if(l){if(((g|0)==0?(f[l+24>>2]|0)==(c|0):0)?(Hz(f[l+12>>2]|0,o,c)|0)==0:0){b[l+21>>0]=0;i=l;g=f[l+28>>2]|0}else{l=f[l+28>>2]|0;i=l>>>0>>0;k=i?l:k;h=i?2:h;i=g;g=l}j=g>>>0>j>>>0?g:j;g=m;while(1){if((f[g+4>>2]|0)==-429935)break;g=f[g+16>>2]|0;if(!g){g=i;h=3;break b}}g=f[g+8>>2]|0;if(!g){g=i;h=3}else{if(((i|0)==0?(f[g+24>>2]|0)==(c|0):0)?(Hz(f[g+12>>2]|0,o,c)|0)==0:0){b[g+21>>0]=0;i=g;g=f[g+28>>2]|0}else{g=f[g+28>>2]|0;h=g>>>0>>0?3:h}j=g>>>0>j>>>0?g:j;g=i}}else h=2}else h=1}while(0);if(!g){k=j;l=h}else{b[g+21>>0]=0;f[g+28>>2]=j+1;a=g;return a|0}}else{k=0;l=0}}else{k=0;l=0}while(0);m=Fd(c+33|0)|0;if(!m){g=f[a>>2]|0;c=g+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else{cf(g);g=f[a>>2]|0}f[a+20>>2]=7;g=f[g+32>>2]|0;c=g+81|0;if(b[c>>0]|0){a=0;return a|0}if(b[g+82>>0]|0){a=0;return a|0}b[c>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;a=g+272|0;f[a>>2]=(f[a>>2]|0)+1;a=0;return a|0};f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[m+28>>2]=0;j=m+32|0;g=m+12|0;f[g>>2]=j;YA(j|0,o|0,c+1|0)|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;f[m+24>>2]=0;f[m+28>>2]=0;f[g>>2]=j;g=er(m,0)|0;i=(b[m+20>>0]|0)==0;if((g|0)>0&i){while(1){h=b[j+g>>0]|0;if(!(b[23984+(h&255)>>0]|0))break;else g=g+1|0}if(!((g|0)<1|h<<24>>24!=0)){f[m+24>>2]=c;f[m+28>>2]=k+1;h=l+-429938|0;Dp(a,h,m,109);g=f[(f[n>>2]|0)+212>>2]|0;if(!g){a=0;return a|0}c=a+16|0;c:do if((l|0)<429938){while(1){if((f[g+4>>2]|0)==(h|0))break c;g=f[g+16>>2]|0;if(!g){g=0;break}}return g|0}else{while(1){if((f[g+4>>2]|0)==(h|0)?(f[g>>2]|0)==(f[c>>2]|0):0)break c;g=f[g+16>>2]|0;if(!g){g=0;break}}return g|0}while(0);a=f[g+8>>2]|0;return a|0}}do if(e|0){if(i){f[e+20>>2]=1;$e(f[e>>2]|0,60224,-1,1,-1)|0;break}g=f[e>>2]|0;c=g+8|0;if(!(d[c>>1]&9216))d[c>>1]=1;else{cf(g);g=f[e>>2]|0}f[e+20>>2]=7;g=f[g+32>>2]|0;c=g+81|0;if((b[c>>0]|0)==0?(b[g+82>>0]|0)==0:0){b[c>>0]=1;if((f[g+180>>2]|0)>0)f[g+264>>2]=1;a=g+272|0;f[a>>2]=(f[a>>2]|0)+1}}while(0);g=m+8|0;c=f[g>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[g>>2]=0;f[m>>2]=0;f[m+4>>2]=0;g=m+16|0;c=f[g>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[g>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](m);a=0;return a|0}else{a=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);a=0;return a|0}return 0}function Er(a){a=a|0;var b=0,c=0,d=0;b=a+8|0;c=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[b>>2]=0;f[a>>2]=0;f[a+4>>2]=0;b=a+16|0;c=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[b>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{d=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function Fr(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if((b[d>>0]|0)!=7){u=d;return u|0}t=a+8|0;e=(f[t>>2]|0)+(c*12|0)|0;if((b[e>>0]|0)!=7){Gr(d);u=d;return u|0}q=d+4|0;if((f[q>>2]|0)>>>0<=1){u=e;return u|0}r=a+4|0;s=a+20|0;m=1;p=c;a:while(1){n=f[d+(m*12|0)+4>>2]|0;o=f[d+(m*12|0)+8>>2]|0;j=f[e+4>>2]|0;b:do if(j>>>0>1){g=1;while(1){if((f[e+(g*12|0)+4>>2]|0)==(n|0)?(Yz(f[e+(g*12|0)+8>>2]|0,o,n)|0)==0:0)break;g=g+1|0;if((h[e+(g*12|0)>>0]|0)>5)i=(f[e+(g*12|0)+4>>2]|0)+1|0;else i=1;g=g+i|0;if(g>>>0>=j>>>0)break b}l=g+1|0;i=e+(l*12|0)+1|0;j=h[i>>0]|0;if(!(j&20)){k=d+((m+1|0)*12|0)|0;if(!(b[k>>0]|0)){b[i>>0]=j|4;break}j=Fr(a,l+c|0,k)|0;if(!j){e=0;g=35;break a}e=(f[t>>2]|0)+(c*12|0)|0;i=e+(l*12|0)|0;if((j|0)!=(i|0)){f[i+8>>2]=j;l=i+1|0;b[l>>0]=b[l>>0]|16}}}else g=1;while(0);j=m+1|0;if(g>>>0>=(f[e+4>>2]|0)>>>0?(u=d+(j*12|0)|0,(b[u>>0]|0)!=0):0){e=f[a>>2]|0;if(e>>>0<(f[r>>2]|0)>>>0){i=f[t>>2]|0;b[i+(e*12|0)>>0]=7;b[i+(e*12|0)+1>>0]=0;f[i+(e*12|0)+4>>2]=2;f[i+(e*12|0)+8>>2]=0;i=f[a>>2]|0;e=i+1|0;f[a>>2]=e}else{i=hr(a,7,2,0)|0;e=f[a>>2]|0}if(e>>>0<(f[r>>2]|0)>>>0){m=f[t>>2]|0;b[m+(e*12|0)>>0]=5;b[m+(e*12|0)+1>>0]=0;f[m+(e*12|0)+4>>2]=n;f[m+(e*12|0)+8>>2]=o;e=(f[a>>2]|0)+1|0;f[a>>2]=e}else{hr(a,5,n,o)|0;e=f[a>>2]|0}if(e>>>0<(f[r>>2]|0)>>>0){o=f[t>>2]|0;b[o+(e*12|0)>>0]=1;b[o+(e*12|0)+1>>0]=0;f[o+(e*12|0)+4>>2]=0;f[o+(e*12|0)+8>>2]=0;e=f[a>>2]|0;f[a>>2]=e+1}else e=hr(a,1,0,0)|0;if(b[s>>0]|0){e=0;g=35;break}Gr(d);o=f[t>>2]|0;n=o+(p*12|0)+1|0;b[n>>0]=b[n>>0]|32;f[o+(p*12|0)+8>>2]=i-p;p=f[t>>2]|0;n=p+(e*12|0)+1|0;b[n>>0]=b[n>>0]|16;f[p+(e*12|0)+8>>2]=u;e=o+(c*12|0)|0}else i=p;if((h[d+(j*12|0)>>0]|0)>5)g=(f[d+(j*12|0)+4>>2]|0)+1|0;else g=1;m=j+g|0;if(m>>>0>=(f[q>>2]|0)>>>0){g=35;break}else p=i}if((g|0)==35)return e|0;return 0}function Gr(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;if((g|0)<2)return;e=2;do{d=a+(e*12|0)|0;c=b[d>>0]|0;switch(c<<24>>24){case 0:{c=a+(e*12|0)+1|0;b[c>>0]=b[c>>0]|4;c=1;break}case 7:{Gr(d);c=b[d>>0]|0;h=6;break}default:h=6}if((h|0)==6){h=0;if((c&255)>5)c=(f[a+(e*12|0)+4>>2]|0)+1|0;else c=1}e=e+1+c|0}while((e|0)<=(g|0));return}function Hr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return qs(a,b,c,d,e,f,1)|0}function Ir(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return qs(a,b,c,d,e,f,0)|0}function Jr(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;r=t;t=t+64|0;o=r+48|0;n=r;d=n;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));b[n+40>>0]=0;m=f[c>>2]|0;e=(m|0)>0;if(e){g=f[c+4>>2]|0;d=0;i=0;do{i=(b[g+(d*12|0)+4>>0]|0)==64?1:i;d=d+1|0}while((d|0)<(m|0));if(e){j=f[c+4>>2]|0;k=a+21|0;l=c+16|0;a:do if(!i){e=0;d=0;b:while(1){i=j+(d*12|0)|0;do if(b[j+(d*12|0)+5>>0]|0){if((f[i>>2]|0)==0?(b[j+(d*12|0)+4>>0]|0)==2:0)break b;g=f[i>>2]|0;c:do if((g|0)>0?(g|0)<=(h[k>>0]|0):0)switch(b[j+(d*12|0)+4>>0]|0){case 2:{g=65;break c}case 4:{g=69;break c}case 8:{g=66;break c}case 16:{g=67;break c}case 32:{g=68;break c}default:{q=19;break c}}else q=13;while(0);if((q|0)==13){q=0;if((b[j+(d*12|0)+4>>0]|0)==64)q=19;else break}if((q|0)==19){q=0;g=70}b[n+e>>0]=g;g=e+2|0;b[n+(e+1)>>0]=(f[i>>2]|0)+47;e=f[l>>2]|0;f[e+(d<<3)>>2]=(g|0)/2|0;b[e+(d<<3)+4>>0]=1;e=g}while(0);d=d+1|0;if(!((d|0)<(m|0)&(e|0)<40)){d=e;break a}}g=f[l>>2]|0;if(!d)d=0;else{e=0;do{f[g+(e<<3)>>2]=0;b[g+(e<<3)+4>>0]=0;e=e+1|0}while((e|0)!=(d|0))}f[c+20>>2]=1;f[g+(d<<3)>>2]=1;b[g+(d<<3)+4>>0]=1;p[c+40>>3]=30.0;q=c+48|0;f[q>>2]=1;f[q+4>>2]=0;f[c+56>>2]=1;c=0;t=r;return c|0}else{d=0;i=0;do{do if(b[j+(i*12|0)+5>>0]|0){g=j+(i*12|0)|0;e=f[g>>2]|0;d:do if((e|0)>0?(e|0)<=(h[k>>0]|0):0)switch(b[j+(i*12|0)+4>>0]|0){case 2:{e=65;break d}case 4:{e=69;break d}case 8:{e=66;break d}case 16:{e=67;break d}case 32:{e=68;break d}default:{q=34;break d}}else q=28;while(0);if((q|0)==28){q=0;if((b[j+(i*12|0)+4>>0]|0)==64)q=34;else break}if((q|0)==34){q=0;e=70}b[n+d>>0]=e;e=d+2|0;b[n+(d+1)>>0]=(f[g>>2]|0)+47;d=f[l>>2]|0;f[d+(i<<3)>>2]=(e|0)/2|0;b[d+(i<<3)+4>>0]=1;d=e}while(0);i=i+1|0}while((i|0)<(m|0)&(d|0)<40)}while(0);f[c+20>>2]=2;f[c+28>>2]=1;if((d|0)>0?(f[o>>2]=n,o=wd(40840,o)|0,f[c+24>>2]=o,(o|0)==0):0){c=7;t=r;return c|0}}else q=38}else q=38;if((q|0)==38){f[c+20>>2]=2;f[c+28>>2]=1;d=0}a=a+48|0;a=UA(f[a>>2]|0,f[a+4>>2]|0,(d|0)/2|0|0)|0;q=ba()|0;p[c+40>>3]=(+(a>>>0)+4294967296.0*+(q|0))*6.0;c=c+48|0;f[c>>2]=a;f[c+4>>2]=q;c=0;t=r;return c|0}function Kr(a){a=a|0;cs(a);return 0}function Lr(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;g=t;t=t+32|0;e=g;c=f[a+32>>2]|0;d=f[a+36>>2]|0;f[e>>2]=c;f[e+4>>2]=d;f[e+8>>2]=c;f[e+12>>2]=d;f[e+16>>2]=c;f[e+20>>2]=d;e=wd(60946,e)|0;if(!e){e=7;t=g;return e|0}c=a+76|0;d=f[c>>2]|0;do if((d|0?(b[a+24>>0]|0)==0:0)?(f[a+56>>2]|0)==0:0){f[c>>2]=0;c=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;if(c|0){if(f[c+480>>2]|0){Kc(c,d);break}h=d;if((f[c+304>>2]|0)>>>0<=h>>>0?(f[c+308>>2]|0)>>>0>h>>>0:0){h=c+300|0;f[d>>2]=f[h>>2];f[h>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{h=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);c=uj(f[a+12>>2]|0,e,0,0,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{h=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}if(c|0){h=c;t=g;return h|0}cs(a);h=0;t=g;return h|0}function Mr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if(Mc()|0){a=7;e=0;f[b>>2]=e;return a|0}if(!(f[9328]|0)){c=ib[f[37356>>2]&255](248)|0;if(!c){a=7;e=0;f[b>>2]=e;return a|0}}else{e=ib[f[37372>>2]&255](248)|0;if((f[18194]|0)>>>0<248)f[18194]=248;d=71896;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){g=f[18187]|0;d=LA(c|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&d>>>0<=g>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(!c){g=7;a=0;f[b>>2]=a;return g|0}d=ib[f[37368>>2]&255](c)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d}_A(c|0,0,248)|0;f[c>>2]=a;g=a+56|0;f[g>>2]=(f[g>>2]|0)+1;g=0;a=c;f[b>>2]=a;return g|0}function Nr(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=f[a>>2]|0;h=a+16|0;c=f[h>>2]|0;if(c|0){g=a+12|0;if((f[g>>2]|0)>0){e=0;while(1){c=f[c+(e*24|0)+16>>2]|0;do if(c|0){d=f[c+16>>2]|0;if(d|0)ob[d&127](f[c+12>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);c=e+1|0;if((c|0)>=(f[g>>2]|0))break;e=c;c=f[h>>2]|0}c=f[h>>2]|0}do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{g=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[h>>2]=0}Fi(f[a+36>>2]|0)|0;c=f[a+32>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{h=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);bs(i,f[a+64>>2]|0)|0;bs(i,f[a+68>>2]|0)|0;bs(i,f[a+72>>2]|0)|0;bs(i,f[a+76>>2]|0)|0;bs(i,f[a+80>>2]|0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](a);else{h=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a)}d=i+56|0;c=(f[d>>2]|0)+-1|0;f[d>>2]=c;d=i+76|0;e=f[d>>2]|0;if(!e)return 0;if(!((c|0)==0&(b[i+24>>0]|0)==0))return 0;f[d>>2]=0;c=f[e+20>>2]|0;Fi(f[e+16>>2]|0)|0;if(c|0){if(f[c+480>>2]|0){Kc(c,e);return 0}i=e;if((f[c+304>>2]|0)>>>0<=i>>>0?(f[c+308>>2]|0)>>>0>i>>>0:0){i=c+300|0;f[e>>2]=f[i>>2];f[i>>2]=e;return 0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);return 0}else{i=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);return 0}return 0}function Or(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0.0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=t;t=t+16|0;x=z+4|0;u=z;y=f[a>>2]|0;f[x>>2]=0;w=y+40|0;f[w>>2]=(f[w>>2]|0)+1;w=a+16|0;k=f[w>>2]|0;if(k|0){n=a+12|0;if((f[n>>2]|0)>0){m=0;while(1){k=f[k+(m*24|0)+16>>2]|0;do if(k|0){l=f[k+16>>2]|0;if(l|0)ob[l&127](f[k+12>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{v=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);k=m+1|0;if((k|0)>=(f[n>>2]|0))break;m=k;k=f[w>>2]|0}k=f[w>>2]|0}do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{v=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);f[w>>2]=0}k=f[a+32>>2]|0;do if(k|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{v=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}while(0);v=a+36|0;s=f[v>>2]|0;_A(a|0,0,248)|0;f[a>>2]=y;f[v>>2]=s;f[a+8>>2]=c;a:do if((c|0)!=1){k=ks(y,1,0,0,x)|0;if(!((g|0)>0&(k|0)==0)){if(k|0)break}else{k=g*24|0;l=Fd(k)|0;f[w>>2]=l;f[a+12>>2]=g;if(!l){k=7;break}_A(l|0,0,k|0)|0;r=a+84|0;s=y+28|0;_A(r|0,0,(f[s>>2]<<2)+4|0)|0;u=y+21|0;q=0;do{v=f[w>>2]|0;l=q<<1;n=b[e+l>>0]|0;c=v+(q*24|0)+4|0;f[c>>2]=n<<24>>24;f[v+(q*24|0)>>2]=(b[e+(l|1)>>0]|0)+-48;l=f[i+(q<<2)>>2]|0;k=d[l+8>>1]|0;if(n<<24>>24>69){if((k&-15361)<<16>>16!=-32255){k=1;break a}if((b[l+11>>0]|0)!=112){k=1;break a}if(tz(f[l>>2]|0,60932)|0){k=1;break a}k=f[l+16>>2]|0;if(!k){k=1;break a}n=xd((f[k>>2]|0)+80|0,0)|0;if(!n){k=7;break a}l=n;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));YA(n+80|0,k|0,f[k>>2]|0)|0;f[n>>2]=f[n+96>>2];f[n+4>>2]=f[n+100>>2];f[n+8>>2]=n+112;f[n+72>>2]=f[n+104>>2];k=f[n+84>>2]|0;if(!k){f[c>>2]=71;f[v+(q*24|0)+8>>2]=f[n+88>>2]}else f[v+(q*24|0)+8>>2]=k;f[v+(q*24|0)+16>>2]=n;f[n+28>>2]=h[u>>0];f[n+24>>2]=r;f[n+36>>2]=(f[s>>2]|0)+1}else{k=k&65535;do if(!(k&8)){if(k&4|0){c=l;o=+((f[c>>2]|0)>>>0)+4294967296.0*+(f[c+4>>2]|0);break}if(!(k&18))o=0.0;else o=+Hc(b[l+10>>0]|0,f[l+12>>2]|0,f[l+16>>2]|0)}else o=+p[l>>3];while(0);p[v+(q*24|0)+8>>3]=o}q=q+1|0}while((q|0)<(g|0))}k=ps(a,0.0,(f[y+28>>2]|0)+1&255)|0;if(!k){y=7;t=z;return y|0}else{i=k+8|0;f[i>>2]=1;f[i+4>>2]=0;b[k+18>>0]=0;b[k+17>>0]=1;f[a+64>>2]=f[x>>2];f[x>>2]=0;k=os(a)|0;break}}else{k=f[i>>2]|0;l=j[k+8>>1]|0;do if(!(l&4)){if(l&8|0){s=Fc(+p[k>>3])|0;r=ba()|0;break}if(!(l&18)){r=0;s=0}else{s=Gc(b[k+10>>0]|0,f[k+12>>2]|0,f[k+16>>2]|0)|0;r=ba()|0}}else{s=k;r=f[s+4>>2]|0;s=f[s>>2]|0}while(0);f[u>>2]=0;q=y+88|0;k=f[q>>2]|0;do if(!(Op(k,1)|0)){k=f[k+116>>2]|0;l=k+8|0;if(!(d[l>>1]&9216)){i=k;f[i>>2]=s;f[i+4>>2]=r;d[l>>1]=4;break}else{bf(k,s,r);break}}while(0);i=(Ei(f[q>>2]|0)|0)==100;m=f[q>>2]|0;do if(i){n=Jp(m,0)|0;c=ba()|0;k=ks(y,n,c,0,u)|0;l=f[q>>2]|0;if(l){m=f[l>>2]|0;i=l+128|0;g=f[i+4>>2]|0;if((g|0)>0|(g|0)==0&(f[i>>2]|0)>>>0>0)Hi(m,l);i=fg(l)|0;f[l+20>>2]=770837923;f[l+36>>2]=-1;f[l+40>>2]=0;b[l+142>>0]=2;f[l+44>>2]=0;f[l+32>>2]=1;b[l+143>>0]=-1;f[l+48>>2]=0;g=l+64|0;f[g>>2]=0;f[g+4>>2]=0;if((i|0)==3082|(b[m+81>>0]|0)!=0){Di(m);m=c;q=45}else{m=c;q=45}}else{m=c;q=45}}else if(m){k=f[m>>2]|0;i=m+128|0;g=f[i+4>>2]|0;if((g|0)>0|(g|0)==0&(f[i>>2]|0)>>>0>0)Hi(k,m);l=fg(m)|0;f[m+20>>2]=770837923;f[m+36>>2]=-1;f[m+40>>2]=0;b[m+142>>0]=2;f[m+44>>2]=0;f[m+32>>2]=1;b[m+143>>0]=-1;f[m+48>>2]=0;i=m+64|0;f[i>>2]=0;f[i+4>>2]=0;if((l|0)==3082|(b[k+81>>0]|0)!=0){Di(k);k=7;q=51;break}else{k=f[k+68>>2]&l;n=0;m=0;q=45;break}}else{k=0;n=0;m=0;q=45}while(0);if((q|0)==45){l=f[u>>2]|0;if((k|0)==0&(l|0)!=0){c=ps(a,0.0,0)|0;f[a+64>>2]=l;k=c+8|0;f[k>>2]=n;f[k+4>>2]=m;b[c+17>>0]=1;k=f[l+24>>2]|0;m=h[k+2>>0]<<8|h[k+3>>0];b:do if(!m){k=267;l=0}else{n=h[y+23>>0]|0;l=0;while(1){a=k+((U(l,n)|0)+4)|0;u=WA(h[a>>0]|0,0,56)|0;i=ba()|0;A=WA(h[a+1>>0]|0,0,48)|0;i=ba()|0|i;v=WA(h[a+2>>0]|0,0,40)|0;i=i|(ba()|0);i=i|h[a+3>>0];w=WA(h[a+4>>0]|0,0,24)|0;i=i|(ba()|0);e=WA(h[a+5>>0]|0,0,16)|0;i=i|(ba()|0);g=WA(h[a+6>>0]|0,0,8)|0;i=i|(ba()|0);a=KA(A|u|v|w|e|g|0,i|0,h[a+7>>0]|0,0)|0;if((a|0)==(s|0)&(ba()|0)==(r|0)){k=0;break b}l=l+1|0;if(l>>>0>=m>>>0){k=267;l=0;break}}}while(0);b[c+18>>0]=l}else q=51}if((q|0)==51)b[a+4>>0]=1}while(0);bs(y,f[x>>2]|0)|0;cs(y);A=k;t=z;return A|0}function Pr(a){a=a|0;var c=0,d=0,e=0,g=0;c=a+6|0;if(!(b[c>>0]|0)){ns(a);a=os(a)|0;return a|0}b[c>>0]=0;c=f[a+36>>2]|0;if(!c){ns(a);a=os(a)|0;return a|0}d=f[c>>2]|0;e=c+128|0;g=f[e+4>>2]|0;if((g|0)>0|(g|0)==0&(f[e>>2]|0)>>>0>0)Hi(d,c);g=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;e=c+64|0;f[e>>2]=0;f[e+4>>2]=0;if(!((g|0)==3082|(b[d+81>>0]|0)!=0)){ns(a);g=os(a)|0;return g|0}Di(d);ns(a);g=os(a)|0;return g|0}function Qr(a){a=a|0;return h[a+4>>0]|0|0}function Rr(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0.0,m=0,o=0,q=0,r=0,u=0,v=0,w=0,x=0,y=0;v=t;t=t+16|0;m=v+8|0;o=v;u=f[a>>2]|0;g=b[a+5>>0]|0;if(!(g<<24>>24))if(!(f[a+24>>2]|0))r=0;else r=f[a+32>>2]|0;else r=a+40|0;g=1-(g&255)|0;k=a+64+(g<<2)|0;i=f[k>>2]|0;if(!i){if(!g)g=a+48|0;else g=(f[a+32>>2]|0)+8|0;g=ks(u,f[g>>2]|0,f[g+4>>2]|0,0,k)|0;if(!g)i=f[k>>2]|0;else{c=g;t=v;return c|0}}if(!r){c=0;t=v;return c|0}if(!e){k=(f[i+24>>2]|0)+((U(h[u+23>>0]|0,h[r+18>>0]|0)|0)+4)|0;r=WA(h[k>>0]|0,0,56)|0;a=ba()|0;q=WA(h[k+1>>0]|0,0,48)|0;a=ba()|0|a;u=WA(h[k+2>>0]|0,0,40)|0;a=a|(ba()|0);a=a|h[k+3>>0];e=WA(h[k+4>>0]|0,0,24)|0;a=a|(ba()|0);i=WA(h[k+5>>0]|0,0,16)|0;a=a|(ba()|0);g=WA(h[k+6>>0]|0,0,8)|0;a=a|(ba()|0);k=KA(q|r|u|e|i|g|0,a|0,h[k+7>>0]|0,0)|0;a=ba()|0;g=f[c>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){c=g;f[c>>2]=k;f[c+4>>2]=a;d[i>>1]=4;c=0;t=v;return c|0}else{bf(g,k,a);c=0;t=v;return c|0}}q=u+21|0;g=h[q>>0]|0;if((g|0)>=(e|0)){a=(f[i+24>>2]|0)+((e<<2)+8+(U(h[u+23>>0]|0,h[r+18>>0]|0)|0))|0;a=h[a+1>>0]<<16|h[a>>0]<<24|h[a+2>>0]<<8|h[a+3>>0];if(b[u+22>>0]|0){g=f[c>>2]|0;i=((a|0)<0)<<31>>31;k=g+8|0;if(!(d[k>>1]&9216)){c=g;f[c>>2]=a;f[c+4>>2]=i;d[k>>1]=4;c=0;t=v;return c|0}else{bf(g,a,i);c=0;t=v;return c|0}}l=(f[s>>2]=a,+n[s>>2]);g=f[c>>2]|0;i=g+8|0;if(!(d[i>>1]&9216))d[i>>1]=1;else cf(g);p[m>>3]=l;p[o>>3]=+p[m>>3];if(!(+p[m>>3]==+p[o>>3])){c=0;t=v;return c|0}p[g>>3]=l;d[i>>1]=8;c=0;t=v;return c|0}m=a+6|0;o=a+36|0;do if(!(b[m>>0]|0)){g=f[o>>2]|0;do if(!g){g=Ki(f[u+12>>2]|0,f[u+64>>2]|0,-1,128,0,o,0)|0;if(!g){g=f[o>>2]|0;break}else{c=g;t=v;return c|0}}while(0);k=(f[i+24>>2]|0)+((U(h[u+23>>0]|0,h[r+18>>0]|0)|0)+4)|0;x=WA(h[k>>0]|0,0,56)|0;a=ba()|0;y=WA(h[k+1>>0]|0,0,48)|0;a=ba()|0|a;w=WA(h[k+2>>0]|0,0,40)|0;a=a|(ba()|0);a=a|h[k+3>>0];i=WA(h[k+4>>0]|0,0,24)|0;a=a|(ba()|0);r=WA(h[k+5>>0]|0,0,16)|0;a=a|(ba()|0);u=WA(h[k+6>>0]|0,0,8)|0;a=a|(ba()|0);k=KA(y|x|w|i|r|u|0,a|0,h[k+7>>0]|0,0)|0;a=ba()|0;do if(!(Op(g,1)|0)){g=f[g+116>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){y=g;f[y>>2]=k;f[y+4>>2]=a;d[i>>1]=4;break}else{bf(g,k,a);break}}while(0);k=Ei(f[o>>2]|0)|0;if((k|0)==100){b[m>>0]=1;g=h[q>>0]|0;break}g=f[o>>2]|0;if(!g){y=(k|0)==101;y=y?0:k;t=v;return y|0}i=f[g>>2]|0;y=g+128|0;x=f[y+4>>2]|0;if((x|0)>0|(x|0)==0&(f[y>>2]|0)>>>0>0)Hi(i,g);y=fg(g)|0;f[g+20>>2]=770837923;f[g+36>>2]=-1;f[g+40>>2]=0;b[g+142>>0]=2;f[g+44>>2]=0;f[g+32>>2]=1;b[g+143>>0]=-1;f[g+48>>2]=0;x=g+64|0;f[x>>2]=0;f[x+4>>2]=0;if(!((y|0)==3082|(b[i+81>>0]|0)!=0)){y=(k|0)==101;y=y?0:k;t=v;return y|0}Di(i);y=(k|0)==101;y=y?0:k;t=v;return y|0}while(0);m=f[o>>2]|0;g=e-g+1|0;k=(m|0)==0;do if(k)a=37592;else{i=f[m+104>>2]|0;if(i|0?g>>>0<(j[m+140>>1]|0)>>>0:0){a=i+(g*40|0)|0;break}a=f[m>>2]|0;f[a+64>>2]=25;Bg(a,25);a=37592}while(0);g=a+8|0;i=j[g>>1]|0;if(i&2048|0)d[g>>1]=i&59391|4096;if(!k){i=f[m>>2]|0;k=m+40|0;g=f[k>>2]|0;if((g|0)==3082|(b[i+81>>0]|0)!=0){Di(i);g=7}else g=f[i+68>>2]&g;f[k>>2]=g}mf(c,a);y=0;t=v;return y|0}function Sr(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;d=b[a+5>>0]|0;if(!(d<<24>>24))if(!(f[a+24>>2]|0))i=0;else i=f[a+32>>2]|0;else i=a+40|0;e=1-(d&255)|0;g=a+64+(e<<2)|0;d=f[g>>2]|0;if(!d){if(!e)d=a+48|0;else d=(f[a+32>>2]|0)+8|0;e=d;e=ks(f[a>>2]|0,f[e>>2]|0,f[e+4>>2]|0,0,g)|0;d=f[g>>2]|0}else e=0;if(!((i|0)!=0&(e|0)==0))return e|0;g=(f[d+24>>2]|0)+((U(h[(f[a>>2]|0)+23>>0]|0,h[i+18>>0]|0)|0)+4)|0;l=WA(h[g>>0]|0|0,0,56)|0;a=ba()|0;m=WA(h[g+1>>0]|0|0,0,48)|0;a=ba()|0|a;k=WA(h[g+2>>0]|0|0,0,40)|0;a=a|(ba()|0);a=a|(h[g+3>>0]|0);j=WA(h[g+4>>0]|0|0,0,24)|0;a=a|(ba()|0);d=WA(h[g+5>>0]|0|0,0,16)|0;a=a|(ba()|0);i=WA(h[g+6>>0]|0|0,0,8)|0;a=a|(ba()|0);g=KA(m|l|k|j|d|i|0,a|0,h[g+7>>0]|0|0,0)|0;a=ba()|0;i=c;f[i>>2]=g;f[i+4>>2]=a;return e|0}function Tr(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0.0,o=0,q=0,r=0.0,s=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=t;t=t+64|0;v=y;w=y+48|0;if(f[a+60>>2]|0){a=518;t=y;return a|0}u=a+40|0;f[u>>2]=(f[u>>2]|0)+1;u=v;f[u>>2]=0;f[u+4>>2]=0;u=(c|0)>1;a:do if(u){o=c+-4|0;c=h[a+21>>0]|0;o=(o|0)>(c|0)?c:o;c=(o|0)>0;b:do if(!(b[a+22>>0]|0)){if(c){k=0;while(1){c=f[e+(k+3<<2)>>2]|0;i=j[c+8>>1]|0;do if(!(i&8)){if(i&4|0){s=c;m=+((f[s>>2]|0)>>>0)+4294967296.0*+(f[s+4>>2]|0);break}if(!(i&18))m=0.0;else m=+Hc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)}else m=+p[c>>3];while(0);r=m;r=m>2]=r;c=f[e+(k+4<<2)>>2]|0;i=j[c+8>>1]|0;do if(!(i&8)){if(i&4|0){s=c;m=+((f[s>>2]|0)>>>0)+4294967296.0*+(f[s+4>>2]|0);break}if(!(i&18))m=0.0;else m=+Hc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)}else m=+p[c>>3];while(0);z=m;m=m>z?m*(m<0.0?.9999998807907104:1.0000001192092896):z;c=k|1;n[v+8+(c<<2)>>2]=m;k=k+2|0;if(r>m)break;if((k|0)>=(o|0))break b}c=Zr(a,c)|0;break a}}else if(c){l=0;while(1){c=f[e+(l+3<<2)>>2]|0;i=j[c+8>>1]|0;do if(!(i&4)){if(i&8|0){k=Fc(+p[c>>3])|0;ba()|0;break}if(!(i&18))k=0;else{k=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else k=f[c>>2]|0;while(0);f[v+8+(l<<2)>>2]=k;c=f[e+(l+4<<2)>>2]|0;i=j[c+8>>1]|0;do if(!(i&4)){if(i&8|0){c=Fc(+p[c>>3])|0;ba()|0;break}if(!(i&18))c=0;else{c=Gc(b[c+10>>0]|0,f[c+12>>2]|0,f[c+16>>2]|0)|0;ba()|0}}else c=f[c>>2]|0;while(0);i=l|1;f[v+8+(i<<2)>>2]=c;l=l+2|0;if((k|0)>(c|0))break;if((l|0)>=(o|0))break b}c=Zr(a,i)|0;break a}while(0);i=f[e+8>>2]|0;c=d[i+8>>1]|0;if(!(-1431655766>>>(c&31)&1)){c=c&65535;do if(!(c&4)){if(c&8|0){o=Fc(+p[i>>3])|0;s=ba()|0;break}if(!(c&18)){o=0;s=0}else{o=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;s=ba()|0}}else{s=i;o=f[s>>2]|0;s=f[s+4>>2]|0}while(0);i=v;f[i>>2]=o;f[i+4>>2]=s;i=f[e>>2]|0;c=d[i+8>>1]|0;if(!(-1431655766>>>(c&31)&1)){c=c&65535;do if(!(c&4)){if(c&8|0){c=Fc(+p[i>>3])|0;i=ba()|0;break}if(!(c&18)){c=0;i=0}else{c=Gc(b[i+10>>0]|0,f[i+12>>2]|0,f[i+16>>2]|0)|0;i=ba()|0}}else{c=f[i>>2]|0;i=f[i+4>>2]|0}while(0);if((c|0)==(o|0)&(i|0)==(s|0)){q=1;c=0;l=s;x=67;break}}k=a+88|0;c=f[k>>2]|0;do if(!(Op(c,1)|0)){c=f[c+116>>2]|0;i=c+8|0;if(!(d[i>>1]&9216)){q=c;f[q>>2]=o;f[q+4>>2]=s;d[i>>1]=4;break}else{bf(c,o,s);break}}while(0);l=Ei(f[k>>2]|0)|0;c=f[k>>2]|0;do if(c){i=f[c>>2]|0;q=c+128|0;k=f[q+4>>2]|0;if((k|0)>0|(k|0)==0&(f[q>>2]|0)>>>0>0)Hi(i,c);k=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;q=c+64|0;f[q>>2]=0;f[q+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);c=7;break}else{c=f[i+68>>2]&k;break}}else c=0;while(0);if((l|0)==100)if((b[(f[a+12>>2]|0)+86>>0]|0)==5){q=1;c=_r(a,o,s)|0;l=s;x=67;break}else{c=Zr(a,0)|0;break}else{q=1;l=s;x=67}}else{q=0;c=0;o=0;l=0;x=67}}else{q=0;c=0;o=0;l=0;x=67}while(0);if((x|0)==67){k=f[e>>2]|0;i=d[k+8>>1]|0;if(!(-1431655766>>>(i&31)&1)){c=i&65535;do if(!(c&4)){if(c&8|0){c=Fc(+p[k>>3])|0;i=ba()|0;break}if(!(c&18)){c=0;i=0}else{c=Gc(b[k+10>>0]|0,f[k+12>>2]|0,f[k+16>>2]|0)|0;i=ba()|0}}else{i=k;c=f[i>>2]|0;i=f[i+4>>2]|0}while(0);c=_r(a,c,i)|0}if(u&(c|0)==0){f[w>>2]=0;if(!q){c=a+92|0;Op(f[c>>2]|0,1)|0;Op(f[c>>2]|0,2)|0;Ei(f[c>>2]|0)|0;c=f[c>>2]|0;do if(c){i=f[c>>2]|0;u=c+128|0;s=f[u+4>>2]|0;if((s|0)>0|(s|0)==0&(f[u>>2]|0)>>>0>0)Hi(i,c);k=fg(c)|0;f[c+20>>2]=770837923;f[c+36>>2]=-1;f[c+40>>2]=0;b[c+142>>0]=2;f[c+44>>2]=0;f[c+32>>2]=1;b[c+143>>0]=-1;f[c+48>>2]=0;u=c+64|0;f[u>>2]=0;f[u+4>>2]=0;if((k|0)==3082|(b[i+81>>0]|0)!=0){Di(i);c=7;break}else{c=f[i+68>>2]&k;break}}else c=0;while(0);s=(f[a+12>>2]|0)+40|0;q=f[s>>2]|0;s=f[s+4>>2]|0;u=v;f[u>>2]=q;f[u+4>>2]=s;u=g;f[u>>2]=q;f[u+4>>2]=s;if(!c)x=85}else{x=g;f[x>>2]=o;f[x+4>>2]=l;x=85}if((x|0)==85){c=$r(a,v,0,w)|0;if(!c){f[a+72>>2]=-1;x=f[w>>2]|0;c=as(a,x,v,0)|0;x=bs(a,x)|0;c=(c|0)==0?x:c}}o=a+25|0;do if(b[o>>0]|0){q=f[a+112>>2]|0;i=g;c=f[i>>2]|0;i=f[i+4>>2]|0;do if(!(Op(q,1)|0)){k=f[q+116>>2]|0;l=k+8|0;if(!(d[l>>1]&9216)){g=k;f[g>>2]=c;f[g+4>>2]=i;d[l>>1]=4;break}else{bf(k,c,i);break}}while(0);if(b[o>>0]|0){i=a+21|0;c=0;do{Tp(q,c+2|0,f[e+(c+3+(h[i>>0]|0)<<2)>>2]|0)|0;c=c+1|0}while(c>>>0<(h[o>>0]|0)>>>0)}Ei(q)|0;if(q){c=f[q>>2]|0;e=q+128|0;g=f[e+4>>2]|0;if((g|0)>0|(g|0)==0&(f[e>>2]|0)>>>0>0)Hi(c,q);i=fg(q)|0;f[q+20>>2]=770837923;f[q+36>>2]=-1;f[q+40>>2]=0;b[q+142>>0]=2;f[q+44>>2]=0;f[q+32>>2]=1;b[q+143>>0]=-1;f[q+48>>2]=0;e=q+64|0;f[e>>2]=0;f[e+4>>2]=0;if((i|0)==3082|(b[c+81>>0]|0)!=0){Di(c);c=7;break}else{c=f[c+68>>2]&i;break}}else c=0}while(0)}}cs(a);a=c;t=y;return a|0}function Ur(a){a=a|0;a=a+24|0;b[a>>0]=(b[a>>0]|0)+1<<24>>24;return 0}function Vr(a){a=a|0;var c=0,d=0;b[a+24>>0]=0;c=a+76|0;d=f[c>>2]|0;if(!d)return 0;if(f[a+56>>2]|0)return 0;f[c>>2]=0;a=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;if(a|0){if(f[a+480>>2]|0){Kc(a,d);return 0}c=d;if((f[a+304>>2]|0)>>>0<=c>>>0?(f[a+308>>2]|0)>>>0>c>>>0:0){c=a+300|0;f[d>>2]=f[c>>2];f[c>>2]=d;return 0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);return 0}else{c=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);return 0}return 0}function Wr(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;g=t;t=t+48|0;e=g;h=f[a+32>>2]|0;d=f[a+36>>2]|0;f[e>>2]=h;f[e+4>>2]=d;f[e+8>>2]=c;f[e+12>>2]=h;f[e+16>>2]=d;f[e+20>>2]=c;f[e+24>>2]=h;f[e+28>>2]=d;f[e+32>>2]=c;e=wd(60685,e)|0;if(!e){h=7;t=g;return h|0}c=a+76|0;d=f[c>>2]|0;do if((d|0?(b[a+24>>0]|0)==0:0)?(f[a+56>>2]|0)==0:0){f[c>>2]=0;c=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;if(c|0){if(f[c+480>>2]|0){Kc(c,d);break}h=d;if((f[c+304>>2]|0)>>>0<=h>>>0?(f[c+308>>2]|0)>>>0>h>>>0:0){h=c+300|0;f[d>>2]=f[h>>2];f[h>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{h=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);c=uj(f[a+12>>2]|0,e,0,0,0)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](e);h=c;t=g;return h|0}else{h=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);h=c;t=g;return h|0}return 0}function Xr(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=a+24|0;e=b[d>>0]|0;b[d>>0]=0;c=a+76|0;g=f[c>>2]|0;if(!g){b[d>>0]=e;return 0}if(f[a+56>>2]|0){b[d>>0]=e;return 0}f[c>>2]=0;c=f[g+20>>2]|0;Fi(f[g+16>>2]|0)|0;if(c|0){if(f[c+480>>2]|0){Kc(c,g);b[d>>0]=e;return 0}a=g;if((f[c+304>>2]|0)>>>0<=a>>>0?(f[c+308>>2]|0)>>>0>a>>>0:0){a=c+300|0;f[g>>2]=f[a>>2];f[a>>2]=g;b[d>>0]=e;return 0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);b[d>>0]=e;return 0}else{a=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);b[d>>0]=e;return 0}return 0}function Yr(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,i=0;if(!a){g=0;return g|0}g=b[a>>0]|0;f=h[1232+(g&255)>>0]|0;c=f+-110|0;g=g<<24>>24==0;if(!(g|(c|0)!=0)){d=60680;e=a;do{e=e+1|0;d=d+1|0;i=b[e>>0]|0;c=(h[1232+(i&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(i<<24>>24==0|(c|0)!=0))}if(!c){i=1;return i|0}c=f+-112|0;if(!(g|(c|0)!=0)){d=43250;e=a;do{e=e+1|0;d=d+1|0;i=b[e>>0]|0;c=(h[1232+(i&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(i<<24>>24==0|(c|0)!=0))}if(!c){i=1;return i|0}c=f+-114|0;if(g|(c|0)!=0){i=c;i=(i|0)==0;i=i&1;return i|0}d=47870;do{a=a+1|0;d=d+1|0;i=b[a>>0]|0;c=(h[1232+(i&255)>>0]|0)-(h[1232+(h[d>>0]|0)>>0]|0)|0}while(!(i<<24>>24==0|(c|0)!=0));i=(c|0)==0;i=i&1;return i|0}function Zr(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+32|0;l=o+16|0;i=o+8|0;e=o;h=o+28|0;f[h>>2]=0;n=a+36|0;m=f[n>>2]|0;f[e>>2]=f[a+32>>2];f[e+4>>2]=m;e=wd(60843,e)|0;do if(!e){g=7;e=0}else{g=Ki(f[a+12>>2]|0,e,-1,128,0,h,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{m=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}if(g|0){e=f[h>>2]|0;break}m=f[h>>2]|0;k=f[m>>2]|0;e=(m|0)==0;if(!c){if(!e?(d[m+140>>1]|0)!=0:0){e=f[m+100>>2]|0;do if(e){g=d[e+8>>1]|0;if((g&514)==514?(b[e+10>>0]|0)==1:0){e=f[e+16>>2]|0;break}if(!(g&1))e=Ic(e,1)|0;else e=0}else e=0;while(0);g=k+81|0;if(b[g>>0]|0)if(!(f[k+180>>2]|0)){b[g>>0]=0;f[k+264>>2]=0;e=k+272|0;f[e>>2]=(f[e>>2]|0)+-1;e=0}else e=0}else e=0;f[i>>2]=f[n>>2];f[i+4>>2]=e;e=wd(60863,i)|0}else{if(!e){i=m+140|0;if((j[i>>1]|0)>>>0>c>>>0){e=f[m+100>>2]|0;g=e+(c*40|0)|0;do if(g){h=d[e+(c*40|0)+8>>1]|0;if((h&514)==514?(b[e+(c*40|0)+10>>0]|0)==1:0){g=f[e+(c*40|0)+16>>2]|0;break}if(!(h&1))g=Ic(g,1)|0;else g=0}else g=0;while(0);e=k+81|0;if(b[e>>0]|0)if(!(f[k+180>>2]|0)){b[e>>0]=0;f[k+264>>2]=0;g=k+272|0;f[g>>2]=(f[g>>2]|0)+-1;g=0}else g=0}else g=0;c=c+1|0;k=f[m>>2]|0;if(c>>>0<(j[i>>1]|0)>>>0){e=f[m+100>>2]|0;h=e+(c*40|0)|0;do if(h){i=d[e+(c*40|0)+8>>1]|0;if((i&514)==514?(b[e+(c*40|0)+10>>0]|0)==1:0){e=f[e+(c*40|0)+16>>2]|0;break}if(!(i&1))e=Ic(h,1)|0;else e=0}else e=0;while(0);h=k+81|0;if(b[h>>0]|0)if(!(f[k+180>>2]|0)){b[h>>0]=0;f[k+264>>2]=0;e=k+272|0;f[e>>2]=(f[e>>2]|0)+-1;e=0}else e=0}else e=0}else{g=0;e=0}f[l>>2]=f[n>>2];f[l+4>>2]=g;f[l+8>>2]=e;e=wd(60895,l)|0}f[a+8>>2]=e;Fi(m)|0;a=19;t=o;return a|0}while(0);Fi(e)|0;a=g;t=o;return a|0}function _r(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;y=t;t=t+64|0;u=y+56|0;v=y;w=y+52|0;x=y+48|0;f[w>>2]=0;f[x>>2]=0;i=ks(a,1,0,0,x)|0;a:do if(!i){f[w>>2]=0;k=a+88|0;g=f[k>>2]|0;do if(!(Op(g,1)|0)){g=f[g+116>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){s=g;f[s>>2]=c;f[s+4>>2]=e;d[i>>1]=4;break}else{bf(g,c,e);break}}while(0);s=(Ei(f[k>>2]|0)|0)==100;j=f[k>>2]|0;do if(s){i=Jp(j,0)|0;i=ks(a,i,ba()|0,0,w)|0;g=f[k>>2]|0;if(g){j=f[g>>2]|0;s=g+128|0;r=f[s+4>>2]|0;if((r|0)>0|(r|0)==0&(f[s>>2]|0)>>>0>0)Hi(j,g);s=fg(g)|0;f[g+20>>2]=770837923;f[g+36>>2]=-1;f[g+40>>2]=0;b[g+142>>0]=2;f[g+44>>2]=0;f[g+32>>2]=1;b[g+143>>0]=-1;f[g+48>>2]=0;r=g+64|0;f[r>>2]=0;f[r+4>>2]=0;if((s|0)==3082|(b[j+81>>0]|0)!=0)Di(j)}}else{g=f[j>>2]|0;s=j+128|0;r=f[s+4>>2]|0;if((r|0)>0|(r|0)==0&(f[s>>2]|0)>>>0>0)Hi(g,j);i=fg(j)|0;f[j+20>>2]=770837923;f[j+36>>2]=-1;f[j+40>>2]=0;b[j+142>>0]=2;f[j+44>>2]=0;f[j+32>>2]=1;b[j+143>>0]=-1;f[j+48>>2]=0;s=j+64|0;f[s>>2]=0;f[s+4>>2]=0;if((i|0)==3082|(b[g+81>>0]|0)!=0){Di(g);i=7;break a}else{i=f[g+68>>2]&i;break}}while(0);if(!i){l=f[w>>2]|0;i=f[l+24>>2]|0;j=h[i+2>>0]<<8|h[i+3>>0];b:do if(j|0){k=h[a+23>>0]|0;g=0;while(1){s=i+((U(g,k)|0)+4)|0;m=WA(h[s>>0]|0,0,56)|0;r=ba()|0;z=WA(h[s+1>>0]|0,0,48)|0;r=ba()|0|r;n=WA(h[s+2>>0]|0,0,40)|0;r=r|(ba()|0);r=r|h[s+3>>0];o=WA(h[s+4>>0]|0,0,24)|0;r=r|(ba()|0);p=WA(h[s+5>>0]|0,0,16)|0;r=r|(ba()|0);q=WA(h[s+6>>0]|0,0,8)|0;r=r|(ba()|0);s=KA(z|m|n|o|p|q|0,r|0,h[s+7>>0]|0,0)|0;if((s|0)==(c|0)&(ba()|0)==(e|0))break;g=g+1|0;if(g>>>0>=j>>>0)break b}i=ls(a,l,g,0)|0;g=bs(a,l)|0;if(i|0)break a;if(g|0){i=g;break a}j=a+96|0;g=f[j>>2]|0;do if(!(Op(g,1)|0)){g=f[g+116>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){z=g;f[z>>2]=c;f[z+4>>2]=e;d[i>>1]=4;break}else{bf(g,c,e);break}}while(0);Ei(f[j>>2]|0)|0;g=f[j>>2]|0;do if(g|0){i=f[g>>2]|0;z=g+128|0;s=f[z+4>>2]|0;if((s|0)>0|(s|0)==0&(f[z>>2]|0)>>>0>0)Hi(i,g);j=fg(g)|0;f[g+20>>2]=770837923;f[g+36>>2]=-1;f[g+40>>2]=0;b[g+142>>0]=2;f[g+44>>2]=0;f[g+32>>2]=1;b[g+143>>0]=-1;f[g+48>>2]=0;z=g+64|0;f[z>>2]=0;f[z+4>>2]=0;if(!((j|0)==3082|(b[i+81>>0]|0)!=0)){i=f[i+68>>2]&j;if(!i)break;else break a}else{Di(i);i=7;break a}}while(0);j=a+28|0;if((f[j>>2]|0)<=0){i=0;break a}k=f[x>>2]|0;l=k+24|0;g=f[l>>2]|0;if((h[g+2>>0]<<8|h[g+3>>0]|0)!=1){i=0;break a}f[u>>2]=0;p=WA(h[g+4>>0]|0,0,56)|0;i=ba()|0;o=WA(h[g+5>>0]|0,0,48)|0;i=ba()|0|i;q=WA(h[g+6>>0]|0,0,40)|0;i=i|(ba()|0);i=i|h[g+7>>0];r=WA(h[g+8>>0]|0,0,24)|0;i=i|(ba()|0);s=WA(h[g+9>>0]|0,0,16)|0;i=i|(ba()|0);z=WA(h[g+10>>0]|0,0,8)|0;i=i|(ba()|0);g=KA(o|p|q|r|s|z|0,i|0,h[g+11>>0]|0,0)|0;g=ks(a,g,ba()|0,k,u)|0;i=f[u>>2]|0;if(!g)g=ms(a,i,(f[j>>2]|0)+-1|0)|0;i=bs(a,i)|0;i=(g|0)==0?i:g;if(!i){s=(f[j>>2]|0)+-1|0;f[j>>2]=s;z=f[l>>2]|0;b[z>>0]=s>>>8;b[z+1>>0]=s;f[k+20>>2]=1}break a}while(0);bs(a,l)|0;i=267}}while(0);q=a+68|0;j=f[q>>2]|0;f[w>>2]=j;g=(i|0)==0;if(!j){z=i;w=g;x=f[x>>2]|0;x=bs(a,x)|0;z=w?x:z;t=y;return z|0}r=a+60|0;p=a+23|0;s=a+21|0;do{o=j;n=j;c:do if(g){c=n+24|0;g=f[c>>2]|0;e=h[g+2>>0]<<8|h[g+3>>0];if(!e)i=0;else{m=n+8|0;l=0;while(1){z=U(l,h[p>>0]|0)|0;A=g+(z+4)|0;E=WA(h[A>>0]|0,0,56)|0;i=ba()|0;F=WA(h[A+1>>0]|0,0,48)|0;i=ba()|0|i;D=WA(h[A+2>>0]|0,0,40)|0;i=i|(ba()|0);i=i|h[A+3>>0];C=WA(h[A+4>>0]|0,0,24)|0;i=i|(ba()|0);B=WA(h[A+5>>0]|0,0,16)|0;i=i|(ba()|0);k=WA(h[A+6>>0]|0,0,8)|0;i=i|(ba()|0);A=KA(F|E|D|C|B|k|0,i|0,h[A+7>>0]|0,0)|0;i=ba()|0;k=v;f[k>>2]=A;f[k+4>>2]=i;k=h[s>>0]|0;i=0;g=g+(z+12)|0;while(1){f[v+8+(i<<2)>>2]=h[g+1>>0]<<16|h[g>>0]<<24|h[g+2>>0]<<8|h[g+3>>0];f[v+8+((i|1)<<2)>>2]=h[g+5>>0]<<16|h[g+4>>0]<<24|h[g+6>>0]<<8|h[g+7>>0];i=i+2|0;if(i>>>0>=k>>>0)break;else g=g+8|0}i=$r(a,v,f[m>>2]|0,u)|0;if(!i){F=f[u>>2]|0;i=as(a,F,v,f[m>>2]|0)|0;F=bs(a,F)|0;i=(i|0)==0?F:i}g=l+1|0;if(!(g>>>0>>0&(i|0)==0))break c;l=g;g=f[c>>2]|0}}}while(0);g=f[n+28>>2]|0;f[q>>2]=g;f[r>>2]=(f[r>>2]|0)+-1;if(!j)j=g;else{if(!(f[9328]|0))ob[f[37360>>2]&127](o);else{F=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o)}j=f[q>>2]|0}f[w>>2]=j;g=(i|0)==0}while((j|0)!=0);F=f[x>>2]|0;F=bs(a,F)|0;F=g?F:i;t=y;return F|0}function $r(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ca=t;t=t+112|0;xa=Ca+48|0;Aa=Ca+96|0;ya=Ca;f[Aa>>2]=0;g=ks(a,1,0,0,Aa)|0;za=a+28|0;if(g|0){Ba=g;Aa=f[Aa>>2]|0;f[e>>2]=Aa;t=Ca;return Ba|0}E=a+23|0;H=a+21|0;F=a+20|0;G=a+22|0;I=xa+12|0;J=xa+8|0;K=xa+44|0;L=xa+40|0;M=xa+36|0;N=xa+32|0;O=xa+28|0;P=xa+24|0;Q=xa+20|0;R=xa+16|0;S=xa+12|0;T=xa+8|0;V=xa+44|0;W=xa+40|0;X=xa+36|0;Y=xa+32|0;Z=xa+28|0;_=xa+24|0;$=xa+20|0;aa=xa+16|0;ca=ya+12|0;da=ya+8|0;ea=ya+44|0;fa=ya+40|0;ga=ya+36|0;ha=ya+32|0;ia=ya+28|0;ja=ya+24|0;ka=ya+20|0;la=ya+16|0;ma=ya+12|0;na=ya+8|0;oa=ya+44|0;pa=ya+40|0;qa=ya+36|0;ra=ya+32|0;sa=ya+28|0;ta=ya+24|0;ua=ya+20|0;va=ya+16|0;D=0;while(1){if((D|0)>=((f[za>>2]|0)-d|0)){g=0;Ba=56;break}wa=f[Aa>>2]|0;y=wa+24|0;g=f[y>>2]|0;z=h[g+2>>0]<<8|h[g+3>>0];a:do if(!z){i=0;g=0}else{C=b[H>>0]|0;A=h[E>>0]|0;B=C&255;C=C&255;j=0;p=0.0;x=0.0;k=g;v=0;w=0;while(1){u=U(j,A)|0;i=k+(u+4)|0;Fa=WA(h[i>>0]|0,0,56)|0;g=ba()|0;Ga=WA(h[i+1>>0]|0,0,48)|0;g=ba()|0|g;Ea=WA(h[i+2>>0]|0,0,40)|0;g=g|(ba()|0);g=g|h[i+3>>0];Da=WA(h[i+4>>0]|0,0,24)|0;g=g|(ba()|0);o=WA(h[i+5>>0]|0,0,16)|0;g=g|(ba()|0);l=WA(h[i+6>>0]|0,0,8)|0;g=g|(ba()|0);i=KA(Ga|Fa|Ea|Da|o|l|0,g|0,h[i+7>>0]|0,0)|0;g=ba()|0;l=ya;f[l>>2]=i;f[l+4>>2]=g;l=0;k=k+(u+12)|0;while(1){f[ya+8+(l<<2)>>2]=h[k+1>>0]<<16|h[k>>0]<<24|h[k+2>>0]<<8|h[k+3>>0];f[ya+8+((l|1)<<2)>>2]=h[k+5>>0]<<16|h[k+4>>0]<<24|h[k+6>>0]<<8|h[k+7>>0];l=l+2|0;if(l>>>0>=B>>>0)break;else k=k+8|0}k=xa;l=ya;o=k+48|0;do{f[k>>2]=f[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(o|0));u=b[F>>0]|0;o=(b[G>>0]|0)==0;if(o){switch(u<<24>>24){case 5:{m=+n[K>>2]-+n[L>>2];Ba=11;break}case 4:{m=1.0;Ba=11;break}case 3:{m=1.0;Ba=12;break}case 2:{m=1.0;Ba=13;break}default:q=1.0}if((Ba|0)==11){m=m*(+n[M>>2]-+n[N>>2]);Ba=12}if((Ba|0)==12){m=m*(+n[O>>2]-+n[P>>2]);Ba=13}if((Ba|0)==13){Ba=0;q=m*(+n[Q>>2]-+n[R>>2])}m=+n[J>>2];r=+n[I>>2]-m;l=0;while(1){s=+n[c+8+(l<<2)>>2];n[xa+8+(l<<2)>>2]=m>2];s=+n[c+8+(Ga<<2)>>2];n[k>>2]=m>s?m:s;k=l+2|0;if(k>>>0>=C>>>0)break;l=k;m=+n[xa+8+(k<<2)>>2]}s=q*r}else{switch(u<<24>>24){case 5:{m=+((f[V>>2]|0)-(f[W>>2]|0)|0);Ba=16;break}case 4:{m=1.0;Ba=16;break}case 3:{m=1.0;Ba=17;break}case 2:{m=1.0;Ba=18;break}default:m=1.0}if((Ba|0)==16){m=m*+((f[X>>2]|0)-(f[Y>>2]|0)|0);Ba=17}if((Ba|0)==17){m=m*+((f[Z>>2]|0)-(f[_>>2]|0)|0);Ba=18}if((Ba|0)==18){Ba=0;m=m*+((f[$>>2]|0)-(f[aa>>2]|0)|0)}k=f[T>>2]|0;q=+((f[S>>2]|0)-k|0);l=0;while(1){Ga=f[c+8+(l<<2)>>2]|0;f[xa+8+(l<<2)>>2]=(k|0)<(Ga|0)?k:Ga;Ga=l|1;k=xa+8+(Ga<<2)|0;Fa=f[k>>2]|0;Ga=f[c+8+(Ga<<2)>>2]|0;f[k>>2]=(Fa|0)>(Ga|0)?Fa:Ga;k=l+2|0;if(k>>>0>=C>>>0)break;l=k;k=f[xa+8+(k<<2)>>2]|0}s=m*q}if(o){switch(u<<24>>24){case 5:{m=+n[K>>2]-+n[L>>2];Ba=30;break}case 4:{m=1.0;Ba=30;break}case 3:{m=1.0;Ba=31;break}case 2:{m=1.0;Ba=32;break}default:m=1.0}if((Ba|0)==30){m=m*(+n[M>>2]-+n[N>>2]);Ba=31}if((Ba|0)==31){m=m*(+n[O>>2]-+n[P>>2]);Ba=32}if((Ba|0)==32){Ba=0;m=m*(+n[Q>>2]-+n[R>>2])}r=m*(+n[I>>2]-+n[J>>2]);switch(u<<24>>24){case 5:{m=+n[ea>>2]-+n[fa>>2];Ba=40;break}case 4:{m=1.0;Ba=40;break}case 3:{m=1.0;Ba=41;break}case 2:{m=1.0;Ba=42;break}default:m=1.0}if((Ba|0)==40){m=m*(+n[ga>>2]-+n[ha>>2]);Ba=41}if((Ba|0)==41){m=m*(+n[ia>>2]-+n[ja>>2]);Ba=42}if((Ba|0)==42){Ba=0;m=m*(+n[ka>>2]-+n[la>>2])}q=m*(+n[ca>>2]-+n[da>>2]);m=r}else{switch(u<<24>>24){case 5:{m=+((f[V>>2]|0)-(f[W>>2]|0)|0);Ba=35;break}case 4:{m=1.0;Ba=35;break}case 3:{m=1.0;Ba=36;break}case 2:{m=1.0;Ba=37;break}default:m=1.0}if((Ba|0)==35){m=m*+((f[X>>2]|0)-(f[Y>>2]|0)|0);Ba=36}if((Ba|0)==36){m=m*+((f[Z>>2]|0)-(f[_>>2]|0)|0);Ba=37}if((Ba|0)==37){Ba=0;m=m*+((f[$>>2]|0)-(f[aa>>2]|0)|0)}r=m*+((f[S>>2]|0)-(f[T>>2]|0)|0);switch(u<<24>>24){case 5:{m=+((f[oa>>2]|0)-(f[pa>>2]|0)|0);Ba=46;break}case 4:{m=1.0;Ba=46;break}case 3:{m=1.0;Ba=47;break}case 2:{m=1.0;Ba=48;break}default:m=1.0}if((Ba|0)==46){m=m*+((f[qa>>2]|0)-(f[ra>>2]|0)|0);Ba=47}if((Ba|0)==47){m=m*+((f[sa>>2]|0)-(f[ta>>2]|0)|0);Ba=48}if((Ba|0)==48){Ba=0;m=m*+((f[ua>>2]|0)-(f[va>>2]|0)|0)}q=m*+((f[ma>>2]|0)-(f[na>>2]|0)|0);m=r}m=m-s;if(!((j|0)==0|m>2]|0;v=i;w=g}}while(0);g=ks(a,i,g,wa,Aa)|0;bs(a,wa)|0;if(!g)D=D+1|0;else{Ba=56;break}}if((Ba|0)==56){Ga=f[Aa>>2]|0;f[e>>2]=Ga;t=Ca;return g|0}return 0}function as(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0.0,q=0,r=0.0,s=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0,F=0,G=0.0,H=0,I=0,J=0.0,K=0.0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0.0;Sa=t;t=t+192|0;Fa=Sa;Ja=Sa+144|0;Ga=Sa+96|0;Ha=Sa+48|0;Na=(e|0)>0;a:do if(Na?(j=d,i=f[j>>2]|0,j=f[j+4>>2]|0,g=RA(i|0,j|0,97,0)|0,ba()|0,g=f[a+116+(g<<2)>>2]|0,g|0):0){while(1){Ra=g+8|0;if((f[Ra>>2]|0)==(i|0)?(f[Ra+4>>2]|0)==(j|0):0)break;g=f[g+28>>2]|0;if(!g)break a}bs(a,f[g>>2]|0)|0;if(c|0){Ra=c+16|0;f[Ra>>2]=(f[Ra>>2]|0)+1}f[g>>2]=c}while(0);Ma=a+16|0;Ra=a+23|0;g=h[Ra>>0]|0;k=((f[Ma>>2]|0)+-4|0)/(g|0)|0;F=c+24|0;i=f[F>>2]|0;l=h[i+2>>0]<<8|h[i+3>>0];if((l|0)<(k|0)){g=i+((U(l,g)|0)+4)|0;Pa=d;j=f[Pa>>2]|0;Pa=f[Pa+4>>2]|0;Oa=VA(j|0,Pa|0,56)|0;ba()|0;b[g>>0]=Oa;Oa=VA(j|0,Pa|0,48)|0;ba()|0;b[g+1>>0]=Oa;Oa=VA(j|0,Pa|0,40)|0;ba()|0;b[g+2>>0]=Oa;b[g+3>>0]=Pa;Oa=VA(j|0,Pa|0,24)|0;ba()|0;b[g+4>>0]=Oa;Oa=VA(j|0,Pa|0,16)|0;ba()|0;b[g+5>>0]=Oa;Pa=VA(j|0,Pa|0,8)|0;ba()|0;b[g+6>>0]=Pa;b[g+7>>0]=j;j=a+21|0;if(b[j>>0]|0){i=0;g=g+8|0;while(1){Pa=f[d+8+(i<<2)>>2]|0;b[g>>0]=Pa>>>24;b[g+1>>0]=Pa>>>16;b[g+2>>0]=Pa>>>8;b[g+3>>0]=Pa;i=i+1|0;if(i>>>0>=(h[j>>0]|0)>>>0)break;else g=g+4|0}}Pa=f[F>>2]|0;Oa=l+1|0;b[Pa+2>>0]=Oa>>>8;b[Pa+3>>0]=Oa;f[c+20>>2]=1}if((l|0)!=(k|0)){g=fs(a,c,d)|0;if(g|0){a=g;t=Sa;return a|0}k=d;j=f[k>>2]|0;k=f[k+4>>2]|0;i=c+8|0;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!e){a=gs(a,j,k,g,i)|0;t=Sa;return a|0}else{a=hs(a,j,k,g,i)|0;t=Sa;return a|0}}g=a+72|0;if((f[g>>2]|0)<(e|0)?(E=c+8|0,Pa=E,!((f[Pa>>2]|0)==1&(f[Pa+4>>2]|0)==0)):0){f[g>>2]=e;k=Fa;I=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(I|0));A=f[F>>2]|0;A=h[A+2>>0]<<8|h[A+3>>0];x=A+1|0;v=A+2|0;g=v&131070;C=Fd(g<<6)|0;do if(C){B=C+(g*48|0)|0;y=B+(g<<2)|0;w=y+(g<<2)|0;m=a+20|0;z=a+21|0;u=a+22|0;l=0;do{g=C+(l*48|0)|0;if((l|0)==(A|0)){k=g;H=d;I=k+48|0;do{f[k>>2]=f[H>>2];k=k+4|0;H=H+4|0}while((k|0)<(I|0))}else{Qa=f[F>>2]|0;i=U(l,h[Ra>>0]|0)|0;Oa=Qa+(i+4)|0;Ha=WA(h[Oa>>0]|0,0,56)|0;Pa=ba()|0;Ga=WA(h[Oa+1>>0]|0,0,48)|0;Pa=ba()|0|Pa;Ia=WA(h[Oa+2>>0]|0,0,40)|0;Pa=Pa|(ba()|0);Pa=Pa|h[Oa+3>>0];Ka=WA(h[Oa+4>>0]|0,0,24)|0;Pa=Pa|(ba()|0);La=WA(h[Oa+5>>0]|0,0,16)|0;Pa=Pa|(ba()|0);Na=WA(h[Oa+6>>0]|0,0,8)|0;Pa=Pa|(ba()|0);Oa=KA(Ga|Ha|Ia|Ka|La|Na|0,Pa|0,h[Oa+7>>0]|0,0)|0;Pa=ba()|0;f[g>>2]=Oa;f[g+4>>2]=Pa;g=0;i=Qa+(i+12)|0;while(1){f[C+(l*48|0)+8+(g<<2)>>2]=h[i+1>>0]<<16|h[i>>0]<<24|h[i+2>>0]<<8|h[i+3>>0];f[C+(l*48|0)+8+((g|1)<<2)>>2]=h[i+5>>0]<<16|h[i+4>>0]<<24|h[i+6>>0]<<8|h[i+7>>0];g=g+2|0;if(g>>>0>=(h[z>>0]|0)>>>0)break;else i=i+8|0}}f[B+(l<<2)>>2]=l;k=b[m>>0]|0;j=k<<24>>24==0;if(!j){i=k&255;if(!(b[u>>0]|0)){g=0;do{Pa=g<<1;Qa=Fa+(g<<3)|0;p[Qa>>3]=+p[Qa>>3]+ +n[C+(l*48|0)+8+(Pa<<2)>>2]+ +n[C+(l*48|0)+8+((Pa|1)<<2)>>2];g=g+1|0}while(g>>>0>>0)}else{g=0;do{Pa=g<<1;Qa=Fa+(g<<3)|0;p[Qa>>3]=+p[Qa>>3]+ +(f[C+(l*48|0)+8+(Pa<<2)>>2]|0)+ +(f[C+(l*48|0)+8+((Pa|1)<<2)>>2]|0);g=g+1|0}while(g>>>0>>0)}}l=l+1|0}while((l|0)!=(x|0));q=k&255;if(!j){o=+(x|0)*2.0;g=0;do{Qa=Fa+(g<<3)|0;p[Qa>>3]=+p[Qa>>3]/o;g=g+1|0}while(g>>>0>>0);if(k<<24>>24){l=(b[u>>0]|0)==0;j=0;do{m=w+(j<<3)|0;p[m>>3]=0.0;k=0;s=0.0;do{i=k<<1;g=C+(j*48|0)+8+((i|1)<<2)|0;if(l){r=+n[g>>2];o=+n[C+(j*48|0)+8+(i<<2)>>2]}else{r=+(f[g>>2]|0);o=+(f[C+(j*48|0)+8+(i<<2)>>2]|0)}K=r-o-+p[Fa+(k<<3)>>3];s=s+K*K;p[m>>3]=s;k=k+1|0}while((k|0)!=(q|0));j=j+1|0}while((j|0)!=(x|0))}else Ca=210}else Ca=210;if((Ca|0)==210)_A(C+((v>>>1)*112|0)|0,0,(A<<3)+8|0)|0;is(B,x,w,y);_A((f[F>>2]|0)+2|0,0,(f[Ma>>2]|0)+-2|0)|0;u=c+20|0;f[u>>2]=1;v=(e|0)==0;j=0;while(1){i=h[Ra>>0]|0;k=((f[Ma>>2]|0)+-4|0)/(i|0)|0;if((j|0)>=(A+((k|0)/-3|0)|0)){Ca=224;break}m=f[B+(j<<2)>>2]|0;g=C+(m*48|0)|0;l=f[F>>2]|0;q=h[l+2>>0]<<8|h[l+3>>0];if((q|0)<(k|0)){i=l+((U(q,i)|0)+4)|0;Pa=g;Qa=f[Pa>>2]|0;Pa=f[Pa+4>>2]|0;Oa=VA(Qa|0,Pa|0,56)|0;ba()|0;b[i>>0]=Oa;Oa=VA(Qa|0,Pa|0,48)|0;ba()|0;b[i+1>>0]=Oa;Oa=VA(Qa|0,Pa|0,40)|0;ba()|0;b[i+2>>0]=Oa;b[i+3>>0]=Pa;Oa=VA(Qa|0,Pa|0,24)|0;ba()|0;b[i+4>>0]=Oa;Oa=VA(Qa|0,Pa|0,16)|0;ba()|0;b[i+5>>0]=Oa;Pa=VA(Qa|0,Pa|0,8)|0;ba()|0;b[i+6>>0]=Pa;b[i+7>>0]=Qa;if(b[z>>0]|0){k=0;i=i+8|0;while(1){Qa=f[C+(m*48|0)+8+(k<<2)>>2]|0;b[i>>0]=Qa>>>24;b[i+1>>0]=Qa>>>16;b[i+2>>0]=Qa>>>8;b[i+3>>0]=Qa;k=k+1|0;if(k>>>0>=(h[z>>0]|0)>>>0)break;else i=i+4|0}}Qa=f[F>>2]|0;Pa=q+1|0;b[Qa+2>>0]=Pa>>>8;b[Qa+3>>0]=Pa;f[u>>2]=1}i=g;g=f[i>>2]|0;i=f[i+4>>2]|0;Qa=d;do if((g|0)==(f[Qa>>2]|0)?(i|0)==(f[Qa+4>>2]|0):0){l=E;k=f[l>>2]|0;l=f[l+4>>2]|0;if(v){g=gs(a,g,i,k,l)|0;break}else{g=hs(a,g,i,k,l)|0;break}}else g=0;while(0);if(!g)j=j+1|0;else break}b:do if((Ca|0)==224){g=js(a,c)|0;if(!((g|0)!=0|j>>>0>A>>>0))while(1){i=C+((f[B+(j<<2)>>2]|0)*48|0)|0;g=$r(a,i,e,Ja)|0;if(g|0)break;Ra=f[Ja>>2]|0;g=as(a,Ra,i,e)|0;Ra=bs(a,Ra)|0;g=(g|0)==0?Ra:g;if((g|0)!=0|j>>>0>=A>>>0)break b;else j=j+1|0}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](C);break}else{a=ib[f[37368>>2]&255](C)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](C);break}}else g=7;while(0);a=g;t=Sa;return a|0}Ba=f[F>>2]|0;Ba=h[Ba+2>>0]<<8|h[Ba+3>>0];Da=Ba+1|0;Oa=Fd(Da*52|0)|0;Pa=(Oa|0)==0;c:do if(!Pa){l=Da<<2;_A(Oa+(Da*48|0)|0,0,l|0)|0;m=(Ba|0)==0;if(!m){k=a+21|0;i=0;do{Ka=f[F>>2]|0;j=U(i,h[Ra>>0]|0)|0;Ca=Ka+(j+4)|0;xa=WA(h[Ca>>0]|0,0,56)|0;Ia=ba()|0;wa=WA(h[Ca+1>>0]|0,0,48)|0;Ia=ba()|0|Ia;ya=WA(h[Ca+2>>0]|0,0,40)|0;Ia=Ia|(ba()|0);Ia=Ia|h[Ca+3>>0];za=WA(h[Ca+4>>0]|0,0,24)|0;Ia=Ia|(ba()|0);Aa=WA(h[Ca+5>>0]|0,0,16)|0;Ia=Ia|(ba()|0);g=WA(h[Ca+6>>0]|0,0,8)|0;Ia=Ia|(ba()|0);Ca=KA(wa|xa|ya|za|Aa|g|0,Ia|0,h[Ca+7>>0]|0,0)|0;Ia=ba()|0;g=Oa+(i*48|0)|0;f[g>>2]=Ca;f[g+4>>2]=Ia;g=0;j=Ka+(j+12)|0;while(1){f[Oa+(i*48|0)+8+(g<<2)>>2]=h[j+1>>0]<<16|h[j>>0]<<24|h[j+2>>0]<<8|h[j+3>>0];f[Oa+(i*48|0)+8+((g|1)<<2)>>2]=h[j+5>>0]<<16|h[j+4>>0]<<24|h[j+6>>0]<<8|h[j+7>>0];g=g+2|0;if(g>>>0>=(h[k>>0]|0)>>>0)break;else j=j+8|0}i=i+1|0}while((i|0)!=(Ba|0))}_A((f[F>>2]|0)+2|0,0,(f[Ma>>2]|0)+-2|0)|0;j=c+20|0;f[j>>2]=1;k=Oa+(Ba*48|0)|0;H=d;I=k+48|0;do{f[k>>2]=f[H>>2];k=k+4|0;H=H+4|0}while((k|0)<(I|0));Ia=c+8|0;Ka=Ia;if((f[Ka>>2]|0)==1&(f[Ka+4>>2]|0)==0){g=Fd((f[Ma>>2]|0)+32|0)|0;if(g|0){_A(g|0,0,(f[Ma>>2]|0)+32|0)|0;f[g+24>>2]=g+32;f[g+16>>2]=1;Ka=a+60|0;f[Ka>>2]=(f[Ka>>2]|0)+1;f[g>>2]=c;f[g+20>>2]=1;Ka=c+16|0;f[Ka>>2]=(f[Ka>>2]|0)+1}i=Fd((f[Ma>>2]|0)+32|0)|0;if(i|0){_A(i|0,0,(f[Ma>>2]|0)+32|0)|0;f[i+24>>2]=i+32;f[i+16>>2]=1;Ka=a+60|0;f[Ka>>2]=(f[Ka>>2]|0)+1;f[i>>2]=c;f[i+20>>2]=1;Ka=c+16|0;f[Ka>>2]=(f[Ka>>2]|0)+1}Ka=a+28|0;c=(f[Ka>>2]|0)+1|0;f[Ka>>2]=c;f[j>>2]=1;Ka=f[F>>2]|0;b[Ka>>0]=c>>>8;b[Ka+1>>0]=c;Ka=g;c=i}else{g=f[c>>2]|0;i=Fd((f[Ma>>2]|0)+32|0)|0;if(i|0?(_A(i|0,0,(f[Ma>>2]|0)+32|0)|0,f[i+24>>2]=i+32,f[i+16>>2]=1,Ka=a+60|0,f[Ka>>2]=(f[Ka>>2]|0)+1,f[i>>2]=g,f[i+20>>2]=1,g|0):0){Ka=g+16|0;f[Ka>>2]=(f[Ka>>2]|0)+1}Ka=c+16|0;f[Ka>>2]=(f[Ka>>2]|0)+1;Ka=i}if((c|0)!=0&(Ka|0)!=0?(Qa=c+24|0,_A(f[Qa>>2]|0,0,f[Ma>>2]|0)|0,La=Ka+24|0,_A(f[La>>2]|0,0,f[Ma>>2]|0)|0,u=a+20|0,q=U((h[u>>0]|0)+1|0,l+4|0)|0,Ea=Fd(q)|0,(Ea|0)!=0):0){k=h[u>>0]|0;k=Ea+(k<<2)+((U(Da,k)|0)<<2)|0;_A(Ea|0,0,q|0)|0;g=b[u>>0]|0;if(g<<24>>24){g=g&255;if(m){j=0;do{i=Ea+(g<<2)+((U(j,Da)|0)<<2)|0;f[Ea+(j<<2)>>2]=i;f[i>>2]=0;es(a,i,Da,j,Oa,k);j=j+1|0;i=b[u>>0]|0;g=i&255}while(j>>>0>>0);Aa=g}else{j=0;do{i=Ea+(g<<2)+((U(j,Da)|0)<<2)|0;f[Ea+(j<<2)>>2]=i;f[i>>2]=0;g=1;do{f[i+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(Da|0));es(a,i,Da,j,Oa,k);j=j+1|0;i=b[u>>0]|0;g=i&255}while(j>>>0>>0);Aa=g}if(i<<24>>24){A=Ba>>>0>1;B=a+21|0;C=a+22|0;E=Fa+12|0;F=Fa+8|0;L=Fa+44|0;M=Fa+40|0;N=Fa+36|0;O=Fa+32|0;P=Fa+28|0;Q=Fa+24|0;R=Fa+20|0;S=Fa+16|0;T=Fa+12|0;V=Fa+8|0;W=Fa+44|0;X=Fa+40|0;Y=Fa+36|0;Z=Fa+32|0;_=Fa+28|0;$=Fa+24|0;aa=Fa+20|0;ca=Fa+16|0;da=Ja+12|0;ea=Ja+8|0;fa=Ja+44|0;ga=Ja+40|0;ha=Ja+36|0;ia=Ja+32|0;ja=Ja+28|0;ka=Ja+24|0;la=Ja+20|0;ma=Ja+16|0;na=Ja+12|0;oa=Ja+8|0;pa=Ja+44|0;qa=Ja+40|0;ra=Ja+36|0;sa=Ja+32|0;ta=Ja+28|0;ua=Ja+24|0;va=Ja+20|0;wa=Ja+16|0;xa=(((f[Ma>>2]|0)+-4|0)/(h[Ra>>0]|0)|0|0)/3|0;ya=Da-xa|0;za=(xa|0)>(ya|0);g=0;x=0;K=0.0;z=0;while(1){if(za){j=0;o=0.0}else{y=Ea+(z<<2)|0;w=xa;j=0;J=0.0;r=0.0;o=0.0;while(1){k=Fa;H=Oa+((f[f[y>>2]>>2]|0)*48|0)|0;I=k+48|0;do{f[k>>2]=f[H>>2];k=k+4|0;H=H+4|0}while((k|0)<(I|0));k=Ja;H=Oa+((f[(f[y>>2]|0)+(Ba<<2)>>2]|0)*48|0)|0;I=k+48|0;do{f[k>>2]=f[H>>2];k=k+4|0;H=H+4|0}while((k|0)<(I|0));if(A){m=b[C>>0]|0;v=b[B>>0]|0;u=v&255;if(!(m<<24>>24)){l=1;do{m=f[(f[y>>2]|0)+(l<<2)>>2]|0;if((l|0)<(w|0)){k=0;do{I=Fa+8+(k<<2)|0;G=+n[I>>2];D=+n[Oa+(m*48|0)+8+(k<<2)>>2];n[I>>2]=G>2];G=+n[Oa+(m*48|0)+8+(I<<2)>>2];n[Ca>>2]=D>G?D:G;k=k+2|0}while(k>>>0>>0)}else{k=0;do{I=Ja+8+(k<<2)|0;G=+n[I>>2];D=+n[Oa+(m*48|0)+8+(k<<2)>>2];n[I>>2]=G>2];G=+n[Oa+(m*48|0)+8+(I<<2)>>2];n[Ca>>2]=D>G?D:G;k=k+2|0}while(k>>>0>>0)}l=l+1|0}while((l|0)!=(Ba|0));l=u;m=v;Ca=66}else{l=1;do{q=f[(f[y>>2]|0)+(l<<2)>>2]|0;if((l|0)<(w|0)){k=0;do{I=Fa+8+(k<<2)|0;H=f[I>>2]|0;Ca=f[Oa+(q*48|0)+8+(k<<2)>>2]|0;f[I>>2]=(H|0)<(Ca|0)?H:Ca;I=k|1;Ca=Fa+8+(I<<2)|0;H=f[Ca>>2]|0;I=f[Oa+(q*48|0)+8+(I<<2)>>2]|0;f[Ca>>2]=(H|0)>(I|0)?H:I;k=k+2|0}while(k>>>0>>0)}else{k=0;do{I=Ja+8+(k<<2)|0;H=f[I>>2]|0;Ca=f[Oa+(q*48|0)+8+(k<<2)>>2]|0;f[I>>2]=(H|0)<(Ca|0)?H:Ca;I=k|1;Ca=Ja+8+(I<<2)|0;H=f[Ca>>2]|0;I=f[Oa+(q*48|0)+8+(I<<2)>>2]|0;f[Ca>>2]=(H|0)>(I|0)?H:I;k=k+2|0}while(k>>>0>>0)}l=l+1|0}while((l|0)!=(Ba|0));k=m;l=u;m=v;Ca=64}}else{m=b[B>>0]|0;k=b[C>>0]|0;l=m&255;Ca=64}do if((Ca|0)==64){Ca=0;q=k<<24>>24==0;if(q){Ca=66;break}k=l;s=0.0;do{I=k;k=k+-2|0;s=s+(+(f[Fa+8+(I+-1<<2)>>2]|0)-+(f[Fa+8+(k<<2)>>2]|0))}while((I|0)>3)}while(0);if((Ca|0)==66){Ca=0;k=l;s=0.0;do{I=k;k=k+-2|0;s=s+(+n[Fa+8+(I+-1<<2)>>2]-+n[Fa+8+(k<<2)>>2])}while((I|0)>3);q=1}s=o+s;if(q){k=l;o=0.0;do{I=k;k=k+-2|0;o=o+(+n[Ja+8+(I+-1<<2)>>2]-+n[Ja+8+(k<<2)>>2])}while((I|0)>3)}else{k=l;o=0.0;do{I=k;k=k+-2|0;o=o+(+(f[Ja+8+(I+-1<<2)>>2]|0)-+(f[Ja+8+(k<<2)>>2]|0))}while((I|0)>3)}o=s+o;d:do if(m<<24>>24)if(q){s=1.0;k=0;do{Ta=+n[Fa+8+(k<<2)>>2];G=+n[Ja+8+(k<<2)>>2];G=Ta>G?Ta:G;I=k|1;Ta=+n[Fa+8+(I<<2)>>2];D=+n[Ja+8+(I<<2)>>2];D=Ta>>0>>0)}else{s=1.0;k=0;do{H=Fa+8+(k<<2)|0;I=Ja+8+(k<<2)|0;Ta=+(f[((f[H>>2]|0)>(f[I>>2]|0)?H:I)>>2]|0);I=k|1;D=+(f[Fa+8+(I<<2)>>2]|0);G=+(f[Ja+8+(I<<2)>>2]|0);G=D>>0>>0)}else s=1.0;while(0);G=s+0.0;if(q){switch(i<<24>>24){case 5:{s=+n[L>>2]-+n[M>>2];Ca=85;break}case 4:{s=1.0;Ca=85;break}case 3:{s=1.0;Ca=86;break}case 2:{s=1.0;Ca=87;break}default:s=1.0}if((Ca|0)==85){s=s*(+n[N>>2]-+n[O>>2]);Ca=86}if((Ca|0)==86){s=s*(+n[P>>2]-+n[Q>>2]);Ca=87}if((Ca|0)==87){Ca=0;s=s*(+n[R>>2]-+n[S>>2])}s=s*(+n[E>>2]-+n[F>>2]);switch(i<<24>>24){case 5:{D=+n[fa>>2]-+n[ga>>2];Ca=95;break}case 4:{D=1.0;Ca=95;break}case 3:{D=1.0;Ca=96;break}case 2:{D=1.0;Ca=97;break}default:D=1.0}if((Ca|0)==95){D=D*(+n[ha>>2]-+n[ia>>2]);Ca=96}if((Ca|0)==96){D=D*(+n[ja>>2]-+n[ka>>2]);Ca=97}if((Ca|0)==97)D=D*(+n[la>>2]-+n[ma>>2]);D=D*(+n[da>>2]-+n[ea>>2])}else{switch(i<<24>>24){case 5:{s=+((f[W>>2]|0)-(f[X>>2]|0)|0);Ca=90;break}case 4:{s=1.0;Ca=90;break}case 3:{s=1.0;Ca=91;break}case 2:{s=1.0;Ca=92;break}default:s=1.0}if((Ca|0)==90){s=s*+((f[Y>>2]|0)-(f[Z>>2]|0)|0);Ca=91}if((Ca|0)==91){s=s*+((f[_>>2]|0)-(f[$>>2]|0)|0);Ca=92}if((Ca|0)==92){Ca=0;s=s*+((f[aa>>2]|0)-(f[ca>>2]|0)|0)}s=s*+((f[T>>2]|0)-(f[V>>2]|0)|0);switch(i<<24>>24){case 5:{D=+((f[pa>>2]|0)-(f[qa>>2]|0)|0);Ca=101;break}case 4:{D=1.0;Ca=101;break}case 3:{D=1.0;Ca=102;break}case 2:{D=1.0;Ca=103;break}default:D=1.0}if((Ca|0)==101){D=D*+((f[ra>>2]|0)-(f[sa>>2]|0)|0);Ca=102}if((Ca|0)==102){D=D*+((f[ta>>2]|0)-(f[ua>>2]|0)|0);Ca=103}if((Ca|0)==103)D=D*+((f[va>>2]|0)-(f[wa>>2]|0)|0);D=D*+((f[na>>2]|0)-(f[oa>>2]|0)|0)}s=s+D;if(!((w|0)==(xa|0)|G>2]|0;i=f[g>>2]|0;k=Ga;H=Oa+(i*48|0)|0;I=k+48|0;do{f[k>>2]=f[H>>2];k=k+4|0;H=H+4|0}while((k|0)<(I|0));k=Ha;H=Oa+((f[g+(x<<2)>>2]|0)*48|0)|0;I=k+48|0;do{f[k>>2]=f[H>>2];k=k+4|0;H=H+4|0}while((k|0)<(I|0));y=a+21|0;v=a+22|0;u=0;while(1){q=(u|0)<(x|0);k=q?c:Ka;q=q?Ga:Ha;g=h[Ra>>0]|0;l=k+24|0;j=f[l>>2]|0;m=h[j+2>>0]<<8|h[j+3>>0];if((m|0)<(((f[Ma>>2]|0)+-4|0)/(g|0)|0|0)){g=j+((U(m,g)|0)+4)|0;Fa=Oa+(i*48|0)|0;Ja=f[Fa>>2]|0;Fa=f[Fa+4>>2]|0;Ca=VA(Ja|0,Fa|0,56)|0;ba()|0;b[g>>0]=Ca;Ca=VA(Ja|0,Fa|0,48)|0;ba()|0;b[g+1>>0]=Ca;Ca=VA(Ja|0,Fa|0,40)|0;ba()|0;b[g+2>>0]=Ca;b[g+3>>0]=Fa;Ca=VA(Ja|0,Fa|0,24)|0;ba()|0;b[g+4>>0]=Ca;Ca=VA(Ja|0,Fa|0,16)|0;ba()|0;b[g+5>>0]=Ca;Fa=VA(Ja|0,Fa|0,8)|0;ba()|0;b[g+6>>0]=Fa;b[g+7>>0]=Ja;if(b[y>>0]|0){j=0;g=g+8|0;while(1){Ja=f[Oa+(i*48|0)+8+(j<<2)>>2]|0;b[g>>0]=Ja>>>24;b[g+1>>0]=Ja>>>16;b[g+2>>0]=Ja>>>8;b[g+3>>0]=Ja;j=j+1|0;if(j>>>0>=(h[y>>0]|0)>>>0)break;else g=g+4|0}}Ja=f[l>>2]|0;Fa=m+1|0;b[Ja+2>>0]=Fa>>>8;b[Ja+3>>0]=Fa;f[k+20>>2]=1}j=h[y>>0]|0;if(!(b[v>>0]|0)){g=0;do{Fa=q+8+(g<<2)|0;Ta=+n[Fa>>2];K=+n[Oa+(i*48|0)+8+(g<<2)>>2];n[Fa>>2]=Ta>2];Ta=+n[Oa+(i*48|0)+8+(Fa<<2)>>2];n[Ja>>2]=K>Ta?K:Ta;g=g+2|0}while(g>>>0>>0)}else{g=0;do{Fa=q+8+(g<<2)|0;Ca=f[Fa>>2]|0;Ja=f[Oa+(i*48|0)+8+(g<<2)>>2]|0;f[Fa>>2]=(Ca|0)<(Ja|0)?Ca:Ja;Fa=g|1;Ja=q+8+(Fa<<2)|0;Ca=f[Ja>>2]|0;Fa=f[Oa+(i*48|0)+8+(Fa<<2)>>2]|0;f[Ja>>2]=(Ca|0)>(Fa|0)?Ca:Fa;g=g+2|0}while(g>>>0>>0)}g=u+1|0;if((g|0)==(Da|0))break;u=g;i=f[(f[w>>2]|0)+(g<<2)>>2]|0}if(!(f[9328]|0))ob[f[37360>>2]&127](Ea);else{Ma=ib[f[37368>>2]&255](Ea)|0;f[18187]=(f[18187]|0)-Ma;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Ea)}g=ds(a,Ka)|0;if(!g){v=c+8|0;i=v;g=f[i>>2]|0;i=f[i+4>>2]|0;if((g|0)==0&(i|0)==0){g=ds(a,c)|0;if(g|0){j=c;i=Ka;break}i=v;g=f[i>>2]|0;i=f[i+4>>2]|0}u=Ka+8|0;Ja=u;q=f[Ja+4>>2]|0;Ma=Ha;f[Ma>>2]=f[Ja>>2];f[Ma+4>>2]=q;Ma=Ga;f[Ma>>2]=g;f[Ma+4>>2]=i;Ma=Ia;q=f[c>>2]|0;if((f[Ma>>2]|0)==1&(f[Ma+4>>2]|0)==0){i=e+1|0;g=as(a,q,Ga,i)|0;if(!g)g=i;else{j=c;i=Ka;break}}else{e:do if(!q){k=-1;l=h[Ra>>0]|0;j=f[6]|0}else{j=f[q+24>>2]|0;m=h[j+2>>0]<<8|h[j+3>>0];if(!m){j=c;i=Ka;g=267;break c}l=h[Ra>>0]|0;k=0;while(1){Ma=j+((U(k,l)|0)+4)|0;Ba=WA(h[Ma>>0]|0,0,56)|0;Ja=ba()|0;Aa=WA(h[Ma+1>>0]|0,0,48)|0;Ja=ba()|0|Ja;Ca=WA(h[Ma+2>>0]|0,0,40)|0;Ja=Ja|(ba()|0);Ja=Ja|h[Ma+3>>0];Da=WA(h[Ma+4>>0]|0,0,24)|0;Ja=Ja|(ba()|0);Ea=WA(h[Ma+5>>0]|0,0,16)|0;Ja=Ja|(ba()|0);Fa=WA(h[Ma+6>>0]|0,0,8)|0;Ja=Ja|(ba()|0);Ma=KA(Aa|Ba|Ca|Da|Ea|Fa|0,Ja|0,h[Ma+7>>0]|0,0)|0;if((Ma|0)==(g|0)&(ba()|0)==(i|0))break e;k=k+1|0;if(k>>>0>=m>>>0){j=c;i=Ka;g=267;break c}}}while(0);j=j+((U(k,l)|0)+4)|0;Ma=VA(g|0,i|0,56)|0;ba()|0;b[j>>0]=Ma;Ma=VA(g|0,i|0,48)|0;ba()|0;b[j+1>>0]=Ma;Ma=VA(g|0,i|0,40)|0;ba()|0;b[j+2>>0]=Ma;b[j+3>>0]=i;Ma=VA(g|0,i|0,24)|0;ba()|0;b[j+4>>0]=Ma;Ma=VA(g|0,i|0,16)|0;ba()|0;b[j+5>>0]=Ma;Ma=VA(g|0,i|0,8)|0;ba()|0;b[j+6>>0]=Ma;b[j+7>>0]=g;if(b[y>>0]|0){i=0;g=j+8|0;while(1){Ma=f[Ga+8+(i<<2)>>2]|0;b[g>>0]=Ma>>>24;b[g+1>>0]=Ma>>>16;b[g+2>>0]=Ma>>>8;b[g+3>>0]=Ma;i=i+1|0;if(i>>>0>=(h[y>>0]|0)>>>0)break;else g=g+4|0}}f[q+20>>2]=1;g=fs(a,q,Ga)|0;if(g|0){j=c;i=Ka;break}g=e+1|0}g=as(a,f[Ka>>2]|0,Ha,g)|0;if(!g){i=f[La>>2]|0;f:do if(!(h[i+2>>0]<<8|h[i+3>>0]))g=0;else{q=(e|0)==0?89:90;m=Ka+16|0;if(!Na){k=0;l=0;while(1){i=i+((U(l,h[Ra>>0]|0)|0)+4)|0;Ga=WA(h[i>>0]|0,0,56)|0;j=ba()|0;Fa=WA(h[i+1>>0]|0,0,48)|0;j=ba()|0|j;Ha=WA(h[i+2>>0]|0,0,40)|0;j=j|(ba()|0);j=j|h[i+3>>0];Ja=WA(h[i+4>>0]|0,0,24)|0;j=j|(ba()|0);Ma=WA(h[i+5>>0]|0,0,16)|0;j=j|(ba()|0);g=WA(h[i+6>>0]|0,0,8)|0;j=j|(ba()|0);i=KA(Fa|Ga|Ha|Ja|Ma|g|0,j|0,h[i+7>>0]|0,0)|0;j=ba()|0;g=u;g=mb[q&127](a,i,j,f[g>>2]|0,f[g+4>>2]|0)|0;if(g|0){j=c;i=Ka;break c}g=d;g=((i|0)==(f[g>>2]|0)?(j|0)==(f[g+4>>2]|0):0)?1:k;l=l+1|0;i=f[La>>2]|0;if(l>>>0>=(h[i+2>>0]<<8|h[i+3>>0])>>>0)break f;else k=g}}k=0;l=0;while(1){i=i+((U(l,h[Ra>>0]|0)|0)+4)|0;Ga=WA(h[i>>0]|0,0,56)|0;j=ba()|0;Fa=WA(h[i+1>>0]|0,0,48)|0;j=ba()|0|j;Ha=WA(h[i+2>>0]|0,0,40)|0;j=j|(ba()|0);j=j|h[i+3>>0];Ja=WA(h[i+4>>0]|0,0,24)|0;j=j|(ba()|0);Ma=WA(h[i+5>>0]|0,0,16)|0;j=j|(ba()|0);g=WA(h[i+6>>0]|0,0,8)|0;j=j|(ba()|0);i=KA(Fa|Ga|Ha|Ja|Ma|g|0,j|0,h[i+7>>0]|0,0)|0;j=ba()|0;g=RA(i|0,j|0,97,0)|0;ba()|0;g=f[a+116+(g<<2)>>2]|0;g:do if(g|0){while(1){Ma=g+8|0;if((f[Ma>>2]|0)==(i|0)?(f[Ma+4>>2]|0)==(j|0):0)break;g=f[g+28>>2]|0;if(!g)break g}bs(a,f[g>>2]|0)|0;f[m>>2]=(f[m>>2]|0)+1;f[g>>2]=Ka}while(0);g=u;g=mb[q&127](a,i,j,f[g>>2]|0,f[g+4>>2]|0)|0;if(g|0){j=c;i=Ka;break c}g=d;g=((i|0)==(f[g>>2]|0)?(j|0)==(f[g+4>>2]|0):0)?1:k;l=l+1|0;i=f[La>>2]|0;if(l>>>0>=(h[i+2>>0]<<8|h[i+3>>0])>>>0)break;else k=g}}while(0);Ma=Ia;h:do if((f[Ma>>2]|0)==1&(f[Ma+4>>2]|0)==0){g=f[Qa>>2]|0;if(h[g+2>>0]<<8|h[g+3>>0]|0){m=(e|0)==0?89:90;l=c+16|0;if(!Na){i=0;while(1){d=g+((U(i,h[Ra>>0]|0)|0)+4)|0;Ja=WA(h[d>>0]|0,0,56)|0;e=ba()|0;Ia=WA(h[d+1>>0]|0,0,48)|0;e=ba()|0|e;La=WA(h[d+2>>0]|0,0,40)|0;e=e|(ba()|0);e=e|h[d+3>>0];Ma=WA(h[d+4>>0]|0,0,24)|0;e=e|(ba()|0);Na=WA(h[d+5>>0]|0,0,16)|0;e=e|(ba()|0);g=WA(h[d+6>>0]|0,0,8)|0;e=e|(ba()|0);d=KA(Ia|Ja|La|Ma|Na|g|0,e|0,h[d+7>>0]|0,0)|0;e=ba()|0;g=v;g=mb[m&127](a,d,e,f[g>>2]|0,f[g+4>>2]|0)|0;i=i+1|0;if(g|0){j=c;i=Ka;break c}g=f[Qa>>2]|0;if(i>>>0>=(h[g+2>>0]<<8|h[g+3>>0])>>>0)break h}}k=0;do{i=g+((U(k,h[Ra>>0]|0)|0)+4)|0;Ma=WA(h[i>>0]|0,0,56)|0;j=ba()|0;La=WA(h[i+1>>0]|0,0,48)|0;j=ba()|0|j;Na=WA(h[i+2>>0]|0,0,40)|0;j=j|(ba()|0);j=j|h[i+3>>0];d=WA(h[i+4>>0]|0,0,24)|0;j=j|(ba()|0);e=WA(h[i+5>>0]|0,0,16)|0;j=j|(ba()|0);g=WA(h[i+6>>0]|0,0,8)|0;j=j|(ba()|0);i=KA(La|Ma|Na|d|e|g|0,j|0,h[i+7>>0]|0,0)|0;j=ba()|0;g=RA(i|0,j|0,97,0)|0;ba()|0;g=f[a+116+(g<<2)>>2]|0;i:do if(g|0){while(1){e=g+8|0;if((f[e>>2]|0)==(i|0)?(f[e+4>>2]|0)==(j|0):0)break;g=f[g+28>>2]|0;if(!g)break i}bs(a,f[g>>2]|0)|0;f[l>>2]=(f[l>>2]|0)+1;f[g>>2]=c}while(0);g=v;g=mb[m&127](a,i,j,f[g>>2]|0,f[g+4>>2]|0)|0;k=k+1|0;if(g|0){j=c;i=Ka;break c}g=f[Qa>>2]|0}while(k>>>0<(h[g+2>>0]<<8|h[g+3>>0])>>>0)}}else if(!g){k=d;j=f[k>>2]|0;k=f[k+4>>2]|0;i=(e|0)==0?89:90;j:do if(Na){g=RA(j|0,k|0,97,0)|0;ba()|0;g=f[a+116+(g<<2)>>2]|0;if(!g)break;while(1){e=g+8|0;if((f[e>>2]|0)==(j|0)?(f[e+4>>2]|0)==(k|0):0)break;g=f[g+28>>2]|0;if(!g)break j}bs(a,f[g>>2]|0)|0;e=c+16|0;f[e>>2]=(f[e>>2]|0)+1;f[g>>2]=c}while(0);g=v;g=mb[i&127](a,j,k,f[g>>2]|0,f[g+4>>2]|0)|0;if(g|0){j=c;i=Ka;break c}}while(0);g=bs(a,Ka)|0;if(!g){j=0;i=0;g=bs(a,c)|0}else{j=c;i=0}}else{j=c;i=Ka}}else{j=c;i=Ka}}else{j=c;i=Ka;g=7}}else{j=0;i=0;g=7}while(0);bs(a,i)|0;bs(a,j)|0;do if(!Pa)if(!(f[9328]|0)){ob[f[37360>>2]&127](Oa);break}else{a=ib[f[37368>>2]&255](Oa)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](Oa);break}while(0);a=g;t=Sa;return a|0}function bs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if(!b){b=0;return b|0}e=b+16|0;g=(f[e>>2]|0)+-1|0;f[e>>2]=g;if(g|0){b=0;return b|0}e=a+60|0;f[e>>2]=(f[e>>2]|0)+-1;e=b+8|0;g=e;if((f[g>>2]|0)==1&(f[g+4>>2]|0)==0)f[a+28>>2]=-1;c=f[b>>2]|0;if((c|0)!=0?(d=bs(a,c)|0,(d|0)!=0):0)g=d;else g=ds(a,b)|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((c|0)==0&(d|0)==0)){c=RA(c|0,d|0,97,0)|0;ba()|0;c=a+116+(c<<2)|0;while(1){d=f[c>>2]|0;if((d|0)==(b|0))break;else c=d+28|0}a=b+28|0;f[c>>2]=f[a>>2];f[a>>2]=0}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);b=g;return b|0}else{a=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);b=g;return b|0}return 0}function cs(a){a=a|0;var c=0,d=0,e=0;c=a+40|0;d=(f[c>>2]|0)+-1|0;f[c>>2]=d;if(d|0)return;b[a+24>>0]=0;c=a+76|0;d=f[c>>2]|0;do if(d|0?(f[a+56>>2]|0)==0:0){f[c>>2]=0;c=f[d+20>>2]|0;Fi(f[d+16>>2]|0)|0;if(c|0){if(f[c+480>>2]|0){Kc(c,d);break}e=d;if((f[c+304>>2]|0)>>>0<=e>>>0?(f[c+308>>2]|0)>>>0>e>>>0:0){e=c+300|0;f[d>>2]=f[e>>2];f[e>>2]=d;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](d);break}else{e=ib[f[37368>>2]&255](d)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](d);break}}while(0);Fi(f[a+80>>2]|0)|0;Fi(f[a+84>>2]|0)|0;Fi(f[a+88>>2]|0)|0;Fi(f[a+92>>2]|0)|0;Fi(f[a+96>>2]|0)|0;Fi(f[a+100>>2]|0)|0;Fi(f[a+104>>2]|0)|0;Fi(f[a+108>>2]|0)|0;Fi(f[a+112>>2]|0)|0;c=f[a+64>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{e=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{e=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function ds(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=c+20|0;if(!(f[j>>2]|0)){n=0;return n|0}m=f[a+80>>2]|0;n=c+8|0;g=n;e=f[g>>2]|0;g=f[g+4>>2]|0;do if(((e|0)!=0|(g|0)!=0)&(Op(m,1)|0)==0){h=f[m+116>>2]|0;i=h+8|0;if(!(d[i>>1]&9216)){f[h>>2]=e;f[h+4>>2]=g;d[i>>1]=4;break}else{bf(h,e,g);break}}while(0);e=f[c+24>>2]|0;g=f[a+16>>2]|0;if((e|0)==0|(Op(m,2)|0)!=0){Ei(m)|0;f[j>>2]=0;if(!m)e=0;else l=12}else{e=$e((f[m+116>>2]|0)+40|0,e,g,0,0)|0;if(e|0?(k=f[m>>2]|0,f[k+64>>2]=e,Bg(k,e),k=f[m>>2]|0,(e|0)==3082|(b[k+81>>0]|0)!=0):0)Di(k);Ei(m)|0;f[j>>2]=0;l=12}do if((l|0)==12){e=f[m>>2]|0;l=m+128|0;k=f[l+4>>2]|0;if((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)Hi(e,m);g=fg(m)|0;f[m+20>>2]=770837923;f[m+36>>2]=-1;f[m+40>>2]=0;b[m+142>>0]=2;f[m+44>>2]=0;f[m+32>>2]=1;b[m+143>>0]=-1;f[m+48>>2]=0;l=m+64|0;f[l>>2]=0;f[l+4>>2]=0;if((g|0)==3082|(b[e+81>>0]|0)!=0){Di(e);e=7;break}else{e=f[e+68>>2]&g;break}}while(0);Op(m,2)|0;m=n;if(!((e|0)==0&((f[m>>2]|0)==0&(f[m+4>>2]|0)==0))){n=e;return n|0}m=(f[a+12>>2]|0)+40|0;l=f[m>>2]|0;m=f[m+4>>2]|0;f[n>>2]=l;f[n+4>>2]=m;n=RA(l|0,m|0,97,0)|0;ba()|0;n=a+116+(n<<2)|0;f[c+28>>2]=f[n>>2];f[n>>2]=c;n=0;return n|0}function es(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((d|0)<=1)return;t=d>>>1;r=d-t|0;s=c+(t<<2)|0;es(a,c,t,e,g,h);es(a,s,r,e,g,h);YA(h|0,c|0,t<<2|0)|0;if(!((r|0)>0|(t|0)!=0))return;p=e<<1;q=p|1;o=(b[a+22>>0]|0)==0;d=0;e=0;do{m=f[h+(e<<2)>>2]|0;a=g+(m*48|0)+8+(p<<2)|0;if(o){v=f[s+(d<<2)>>2]|0;i=+n[a>>2];j=+n[g+(v*48|0)+8+(p<<2)>>2];k=+n[g+(m*48|0)+8+(q<<2)>>2];l=+n[g+(v*48|0)+8+(q<<2)>>2];a=v}else{v=f[s+(d<<2)>>2]|0;i=+(f[a>>2]|0);j=+(f[g+(v*48|0)+8+(p<<2)>>2]|0);k=+(f[g+(m*48|0)+8+(q<<2)>>2]|0);l=+(f[g+(v*48|0)+8+(q<<2)>>2]|0);a=v}do if((e|0)==(t|0))u=11;else{if(!((d|0)==(r|0)|i>2]=m;e=e+1|0}while(0);if((u|0)==11){u=0;f[c+(e+d<<2)>>2]=a;d=d+1|0}}while((d|0)<(r|0)|(e|0)<(t|0));return}function fs(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0;C=t;t=t+48|0;z=C;e=f[c>>2]|0;if(!e){B=0;t=C;return B|0}y=a+23|0;A=a+21|0;x=a+22|0;a=c;a:while(1){v=a+8|0;u=f[v>>2]|0;v=f[v+4>>2]|0;i=f[e+24>>2]|0;c=h[i+2>>0]<<8|h[i+3>>0];if(!c)break;g=h[y>>0]|0;a=0;while(1){j=U(a,g)|0;w=i+(j+4)|0;m=WA(h[w>>0]|0,0,56)|0;s=ba()|0;l=WA(h[w+1>>0]|0,0,48)|0;s=ba()|0|s;o=WA(h[w+2>>0]|0,0,40)|0;s=s|(ba()|0);s=s|h[w+3>>0];p=WA(h[w+4>>0]|0,0,24)|0;s=s|(ba()|0);q=WA(h[w+5>>0]|0,0,16)|0;s=s|(ba()|0);r=WA(h[w+6>>0]|0,0,8)|0;s=s|(ba()|0);s=KA(l|m|o|p|q|r|0,s|0,h[w+7>>0]|0,0)|0;if((s|0)==(u|0)&(ba()|0)==(v|0))break;a=a+1|0;if(a>>>0>=c>>>0)break a}k=w+1|0;l=w+2|0;m=w+3|0;o=w+4|0;p=w+5|0;q=w+6|0;r=w+7|0;g=z;f[g>>2]=u;f[g+4>>2]=v;g=b[A>>0]|0;s=g&255;c=0;a=i+(j+12)|0;while(1){f[z+8+(c<<2)>>2]=h[a+1>>0]<<16|h[a>>0]<<24|h[a+2>>0]<<8|h[a+3>>0];f[z+8+((c|1)<<2)>>2]=h[a+5>>0]<<16|h[a+4>>0]<<24|h[a+6>>0]<<8|h[a+7>>0];c=c+2|0;if(c>>>0>=s>>>0)break;else a=a+8|0}b:do if(g<<24>>24){i=b[x>>0]|0;c:do if(i<<24>>24==1){a=0;while(1){c=z+8+(a<<2)|0;g=d+8+(a<<2)|0;if((f[g>>2]|0)<(f[c>>2]|0))break c;if((f[g+4>>2]|0)>(f[c+4>>2]|0))break c;a=a+2|0;if(a>>>0>=s>>>0)break b}}else{a=0;while(1){c=z+8+(a<<2)|0;g=d+8+(a<<2)|0;if(+n[g>>2]<+n[c>>2])break c;if(+n[g+4>>2]>+n[c+4>>2])break c;a=a+2|0;if(a>>>0>=s>>>0)break b}}while(0);if(!(i<<24>>24)){a=0;do{i=z+8+(a<<2)|0;D=+n[i>>2];E=+n[d+8+(a<<2)>>2];n[i>>2]=D>2];D=+n[d+8+(i<<2)>>2];n[j>>2]=E>D?E:D;a=a+2|0}while(a>>>0>>0)}else{a=0;do{i=z+8+(a<<2)|0;g=f[i>>2]|0;j=f[d+8+(a<<2)>>2]|0;f[i>>2]=(g|0)<(j|0)?g:j;i=a|1;j=z+8+(i<<2)|0;g=f[j>>2]|0;i=f[d+8+(i<<2)>>2]|0;f[j>>2]=(g|0)>(i|0)?g:i;a=a+2|0}while(a>>>0>>0)}s=VA(u|0,v|0,56)|0;ba()|0;b[w>>0]=s;s=VA(u|0,v|0,48)|0;ba()|0;b[k>>0]=s;s=VA(u|0,v|0,40)|0;ba()|0;b[l>>0]=s;b[m>>0]=v;s=VA(u|0,v|0,24)|0;ba()|0;b[o>>0]=s;s=VA(u|0,v|0,16)|0;ba()|0;b[p>>0]=s;v=VA(u|0,v|0,8)|0;ba()|0;b[q>>0]=v;b[r>>0]=u;if(b[A>>0]|0){c=0;a=w+8|0;while(1){w=f[z+8+(c<<2)>>2]|0;b[a>>0]=w>>>24;b[a+1>>0]=w>>>16;b[a+2>>0]=w>>>8;b[a+3>>0]=w;c=c+1|0;if(c>>>0>=(h[A>>0]|0)>>>0)break;else a=a+4|0}}f[e+20>>2]=1}while(0);a=f[e>>2]|0;if(!a){a=0;B=30;break}else{w=e;e=a;a=w}}if((B|0)==30){t=C;return a|0}B=267;t=C;return B|0}function gs(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;j=a+92|0;a=f[j>>2]|0;do if(!(Op(a,1)|0)){a=f[a+116>>2]|0;i=a+8|0;if(!(d[i>>1]&9216)){f[a>>2]=c;f[a+4>>2]=e;d[i>>1]=4;break}else{bf(a,c,e);break}}while(0);a=f[j>>2]|0;do if(!(Op(a,2)|0)){i=f[a+116>>2]|0;a=i+40|0;i=i+48|0;if(!(d[i>>1]&9216)){e=a;f[e>>2]=g;f[e+4>>2]=h;d[i>>1]=4;break}else{bf(a,g,h);break}}while(0);Ei(f[j>>2]|0)|0;a=f[j>>2]|0;if(!a){h=0;return h|0}i=f[a>>2]|0;h=a+128|0;g=f[h+4>>2]|0;if((g|0)>0|(g|0)==0&(f[h>>2]|0)>>>0>0)Hi(i,a);c=fg(a)|0;f[a+20>>2]=770837923;f[a+36>>2]=-1;f[a+40>>2]=0;b[a+142>>0]=2;f[a+44>>2]=0;f[a+32>>2]=1;b[a+143>>0]=-1;f[a+48>>2]=0;h=a+64|0;f[h>>2]=0;f[h+4>>2]=0;if((c|0)==3082|(b[i+81>>0]|0)!=0){Di(i);h=7;return h|0}else{h=f[i+68>>2]&c;return h|0}return 0}function hs(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;j=a+104|0;a=f[j>>2]|0;do if(!(Op(a,1)|0)){a=f[a+116>>2]|0;i=a+8|0;if(!(d[i>>1]&9216)){f[a>>2]=c;f[a+4>>2]=e;d[i>>1]=4;break}else{bf(a,c,e);break}}while(0);a=f[j>>2]|0;do if(!(Op(a,2)|0)){i=f[a+116>>2]|0;a=i+40|0;i=i+48|0;if(!(d[i>>1]&9216)){e=a;f[e>>2]=g;f[e+4>>2]=h;d[i>>1]=4;break}else{bf(a,g,h);break}}while(0);Ei(f[j>>2]|0)|0;a=f[j>>2]|0;if(!a){h=0;return h|0}i=f[a>>2]|0;h=a+128|0;g=f[h+4>>2]|0;if((g|0)>0|(g|0)==0&(f[h>>2]|0)>>>0>0)Hi(i,a);c=fg(a)|0;f[a+20>>2]=770837923;f[a+36>>2]=-1;f[a+40>>2]=0;b[a+142>>0]=2;f[a+44>>2]=0;f[a+32>>2]=1;b[a+143>>0]=-1;f[a+48>>2]=0;h=a+64|0;f[h>>2]=0;f[h+4>>2]=0;if((c|0)==3082|(b[i+81>>0]|0)!=0){Di(i);h=7;return h|0}else{h=f[i+68>>2]&c;return h|0}return 0}function is(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;if((b|0)<=1)return;l=b>>>1;j=b-l|0;k=a+(l<<2)|0;is(a,l,c,d);is(k,j,c,d);YA(d|0,a|0,l<<2|0)|0;if(!((j|0)>0|(l|0)!=0))return;b=0;e=0;do do if((e|0)!=(l|0)){g=f[d+(e<<2)>>2]|0;if((b|0)==(j|0)){f[a+(e+j<<2)>>2]=g;e=e+1|0;b=j;break}h=f[k+(b<<2)>>2]|0;i=a+(e+b<<2)|0;if(+p[c+(g<<3)>>3]<+p[c+(h<<3)>>3]){f[i>>2]=g;e=e+1|0;break}else{f[i>>2]=h;b=b+1|0;break}}else{f[a+(l+b<<2)>>2]=f[k+(b<<2)>>2];e=l;b=b+1|0}while(0);while((b|0)<(j|0)|(e|0)<(l|0));return}function js(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0;u=t;t=t+96|0;q=u+48|0;m=u;r=f[c>>2]|0;if(!r){s=0;t=u;return s|0}o=f[c+24>>2]|0;k=h[o+2>>0]|0;j=h[o+3>>0]|0;p=b[a+23>>0]|0;l=WA(h[o+4>>0]|0,0,56)|0;i=ba()|0;v=WA(h[o+5>>0]|0,0,48)|0;i=ba()|0|i;e=WA(h[o+6>>0]|0,0,40)|0;i=i|(ba()|0);i=i|h[o+7>>0];d=WA(h[o+8>>0]|0,0,24)|0;i=i|(ba()|0);s=WA(h[o+9>>0]|0,0,16)|0;i=i|(ba()|0);g=WA(h[o+10>>0]|0,0,8)|0;i=i|(ba()|0);i=KA(v|l|e|d|s|g|0,i|0,h[o+11>>0]|0,0)|0;g=ba()|0;s=q;f[s>>2]=i;f[s+4>>2]=g;s=a+21|0;g=b[s>>0]|0;i=g&255;d=0;e=o+12|0;while(1){f[q+8+(d<<2)>>2]=h[e+1>>0]<<16|h[e>>0]<<24|h[e+2>>0]<<8|h[e+3>>0];f[q+8+((d|1)<<2)>>2]=h[e+5>>0]<<16|h[e+4>>0]<<24|h[e+6>>0]<<8|h[e+7>>0];d=d+2|0;if(d>>>0>=i>>>0)break;else e=e+8|0}l=g&255;g=k<<8|j;if(g>>>0>1){i=p&255;j=a+22|0;k=1;do{e=U(k,i)|0;w=o+(e+4)|0;A=WA(h[w>>0]|0,0,56)|0;v=ba()|0;B=WA(h[w+1>>0]|0,0,48)|0;v=ba()|0|v;z=WA(h[w+2>>0]|0,0,40)|0;v=v|(ba()|0);v=v|h[w+3>>0];y=WA(h[w+4>>0]|0,0,24)|0;v=v|(ba()|0);x=WA(h[w+5>>0]|0,0,16)|0;v=v|(ba()|0);d=WA(h[w+6>>0]|0,0,8)|0;v=v|(ba()|0);w=KA(B|A|z|y|x|d|0,v|0,h[w+7>>0]|0,0)|0;v=ba()|0;d=m;f[d>>2]=w;f[d+4>>2]=v;d=0;e=o+(e+12)|0;while(1){f[m+8+(d<<2)>>2]=h[e+1>>0]<<16|h[e>>0]<<24|h[e+2>>0]<<8|h[e+3>>0];f[m+8+((d|1)<<2)>>2]=h[e+5>>0]<<16|h[e+4>>0]<<24|h[e+6>>0]<<8|h[e+7>>0];d=d+2|0;if(d>>>0>=l>>>0)break;else e=e+8|0}if(!(b[j>>0]|0)){d=0;do{A=q+8+(d<<2)|0;C=+n[A>>2];D=+n[m+8+(d<<2)>>2];n[A>>2]=C>2];C=+n[m+8+(A<<2)>>2];n[B>>2]=D>C?D:C;d=d+2|0}while(d>>>0>>0)}else{d=0;do{A=q+8+(d<<2)|0;z=f[A>>2]|0;B=f[m+8+(d<<2)>>2]|0;f[A>>2]=(z|0)<(B|0)?z:B;A=d|1;B=q+8+(A<<2)|0;z=f[B>>2]|0;A=f[m+8+(A<<2)>>2]|0;f[B>>2]=(z|0)>(A|0)?z:A;d=d+2|0}while(d>>>0>>0)}k=k+1|0}while((k|0)!=(g|0))}j=c+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;g=q;f[g>>2]=i;f[g+4>>2]=j;g=f[r+24>>2]|0;k=h[g+2>>0]<<8|h[g+3>>0];a:do if(!k)d=267;else{e=p&255;d=0;while(1){l=g+((U(d,e)|0)+4)|0;w=WA(h[l>>0]|0,0,56)|0;B=ba()|0;v=WA(h[l+1>>0]|0,0,48)|0;B=ba()|0|B;x=WA(h[l+2>>0]|0,0,40)|0;B=B|(ba()|0);B=B|h[l+3>>0];y=WA(h[l+4>>0]|0,0,24)|0;B=B|(ba()|0);z=WA(h[l+5>>0]|0,0,16)|0;B=B|(ba()|0);A=WA(h[l+6>>0]|0,0,8)|0;B=B|(ba()|0);B=KA(v|w|x|y|z|A|0,B|0,h[l+7>>0]|0,0)|0;if((B|0)==(i|0)&(ba()|0)==(j|0))break;d=d+1|0;if(d>>>0>=k>>>0){d=267;break a}}B=VA(i|0,j|0,56)|0;ba()|0;b[l>>0]=B;B=VA(i|0,j|0,48)|0;ba()|0;b[l+1>>0]=B;B=VA(i|0,j|0,40)|0;ba()|0;b[l+2>>0]=B;b[l+3>>0]=j;B=VA(i|0,j|0,24)|0;ba()|0;b[l+4>>0]=B;B=VA(i|0,j|0,16)|0;ba()|0;b[l+5>>0]=B;B=VA(i|0,j|0,8)|0;ba()|0;b[l+6>>0]=B;b[l+7>>0]=i;if(b[s>>0]|0){e=0;d=l+8|0;while(1){B=f[q+8+(e<<2)>>2]|0;b[d>>0]=B>>>24;b[d+1>>0]=B>>>16;b[d+2>>0]=B>>>8;b[d+3>>0]=B;e=e+1|0;if(e>>>0>=(h[s>>0]|0)>>>0)break;else d=d+4|0}}f[r+20>>2]=1;d=js(a,r)|0}while(0);B=d;t=u;return B|0}function ks(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+16|0;m=p;i=RA(c|0,d|0,97,0)|0;ba()|0;i=f[a+116+(i<<2)>>2]|0;a:do if(i|0){while(1){o=i+8|0;if((f[o>>2]|0)==(c|0)?(f[o+4>>2]|0)==(d|0):0)break;i=f[i+28>>2]|0;if(!i)break a}if(e|0?(f[i>>2]|0)==0:0){a=e+16|0;f[a>>2]=(f[a>>2]|0)+1;f[i>>2]=e}a=i+16|0;f[a>>2]=(f[a>>2]|0)+1;f[g>>2]=i;g=0;t=p;return g|0}while(0);o=a+76|0;k=f[o>>2]|0;do if(k){f[o>>2]=0;i=aq(k,c,d)|0;f[o>>2]=k;if(!i){l=a+16|0;i=f[l>>2]|0;n=45;break}j=a+24|0;do if((b[j>>0]|0)==0?(f[a+56>>2]|0)==0:0){f[o>>2]=0;l=f[k+20>>2]|0;Fi(f[k+16>>2]|0)|0;if(l|0){if(f[l+480>>2]|0){Kc(l,k);break}n=k;if((f[l+304>>2]|0)>>>0<=n>>>0?(f[l+308>>2]|0)>>>0>n>>>0:0){n=l+300|0;f[k>>2]=f[n>>2];f[n>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{n=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);if((i|0)!=7){k=f[o>>2]|0;if(!k){n=25;break}else{n=32;break}}else{g=7;t=p;return g|0}}else n=25;while(0);do if((n|0)==25){f[m>>2]=f[a+36>>2];j=wd(60830,m)|0;if(!j){g=7;t=p;return g|0}i=Wp(f[a+12>>2]|0,f[a+32>>2]|0,j,60838,c,d,0,o)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](j);else{n=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j)}k=f[o>>2]|0;if(!i){l=a+16|0;i=f[l>>2]|0;if(!k){j=0;k=l;n=47;break}else{n=45;break}}if(!k)n=43;else{j=a+24|0;n=32}}while(0);do if((n|0)==32)if((b[j>>0]|0)==0?(f[a+56>>2]|0)==0:0){f[o>>2]=0;j=f[k+20>>2]|0;Fi(f[k+16>>2]|0)|0;if(j|0){if(f[j+480>>2]|0){Kc(j,k);n=43;break}a=k;if((f[j+304>>2]|0)>>>0<=a>>>0?(f[j+308>>2]|0)>>>0>a>>>0:0){n=j+300|0;f[k>>2]=f[n>>2];f[n>>2]=k;n=43;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);n=43;break}else{n=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);n=43;break}}else n=43;else if((n|0)==45)if(!(f[k+16>>2]|0)){j=0;k=l;n=47}else{j=f[k>>2]|0;k=l;n=47}while(0);do if((n|0)==43){f[g>>2]=0;i=(i|0)==1?267:i;j=0}else if((n|0)==47)if((i|0)==(j|0)){j=Fd(i+32|0)|0;if(j){f[j>>2]=e;i=j+32|0;f[j+24>>2]=i;f[j+16>>2]=1;n=a+60|0;f[n>>2]=(f[n>>2]|0)+1;n=j+8|0;f[n>>2]=c;f[n+4>>2]=d;f[j+20>>2]=0;f[j+28>>2]=0;i=Zp(f[o>>2]|0,i,f[k>>2]|0,0,89)|0;if(e|0){e=e+16|0;f[e>>2]=(f[e>>2]|0)+1}if((c|0)==1&(d|0)==0){e=f[j+24>>2]|0;e=h[e>>0]<<8|h[e+1>>0];f[a+28>>2]=e;i=e>>>0>40?267:i}if(!i){e=f[j+24>>2]|0;if((h[e+2>>0]<<8|h[e+3>>0]|0)>(((f[a+16>>2]|0)+-4|0)/(h[a+23>>0]|0)|0|0))i=267;else{i=j+8|0;i=RA(f[i>>2]|0,f[i+4>>2]|0,97,0)|0;ba()|0;i=a+116+(i<<2)|0;f[j+28>>2]=f[i>>2];f[i>>2]=j;i=0;break}}a=a+60|0;f[a>>2]=(f[a>>2]|0)+-1;if(!(f[9328]|0)){ob[f[37360>>2]&127](j);j=0;break}else{a=ib[f[37368>>2]&255](j)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](j);j=0;break}}else{i=7;j=0}}else{i=267;j=0}while(0);f[g>>2]=j;g=i;t=p;return g|0}function ls(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=a+100|0;a:do if(c|0?(j=c+8|0,i=f[j>>2]|0,j=f[j+4>>2]|0,!((i|0)==1&(j|0)==0)):0){m=c;while(1){if(f[m>>2]|0)break a;k=f[n>>2]|0;do if(!(Op(k,1)|0)){k=f[k+116>>2]|0;l=k+8|0;if(!(d[l>>1]&9216)){f[k>>2]=i;f[k+4>>2]=j;d[l>>1]=4;break}else{bf(k,i,j);break}}while(0);b:do if((Ei(f[n>>2]|0)|0)==100){j=Jp(f[n>>2]|0,0)|0;k=ba()|0;i=c;do{l=i+8|0;if((f[l>>2]|0)==(j|0)?(f[l+4>>2]|0)==(k|0):0){i=0;break b}i=f[i>>2]|0}while((i|0)!=0);i=ks(a,j,k,0,m)|0}else i=0;while(0);j=f[n>>2]|0;if(j|0){l=f[j>>2]|0;k=j+128|0;o=f[k+4>>2]|0;if((o|0)>0|(o|0)==0&(f[k>>2]|0)>>>0>0)Hi(l,j);k=fg(j)|0;f[j+20>>2]=770837923;f[j+36>>2]=-1;f[j+40>>2]=0;b[j+142>>0]=2;f[j+44>>2]=0;f[j+32>>2]=1;b[j+143>>0]=-1;f[j+48>>2]=0;o=j+64|0;f[o>>2]=0;f[o+4>>2]=0;if((k|0)==3082|(b[l+81>>0]|0)!=0){j=19;break}j=f[l+68>>2]&k;if(j|0){i=j;j=27;break}}if(i|0){j=27;break}m=f[m>>2]|0;if(!m){i=267;j=27;break}j=m+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;if((i|0)==1&(j|0)==0)break a}if((j|0)==19){Di(l);o=7;return o|0}else if((j|0)==27)return i|0}while(0);i=a+23|0;j=c+24|0;n=f[j>>2]|0;o=h[i>>0]|0;m=n+((U(o,e)|0)+4)|0;ZA(m|0,m+o|0,U((h[n+2>>0]<<8|h[n+3>>0])+~e|0,o)|0)|0;o=f[j>>2]|0;n=o+2|0;o=o+3|0;e=(h[n>>0]<<8|h[o>>0])+-1|0;b[n>>0]=e>>>8;b[o>>0]=e;f[c+20>>2]=1;if(!(f[c>>2]|0)){o=0;return o|0}o=f[j>>2]|0;if((h[o+2>>0]<<8|h[o+3>>0]|0)<((((f[a+16>>2]|0)+-4|0)/(h[i>>0]|0)|0|0)/3|0|0)){o=ms(a,c,g)|0;return o|0}else{o=js(a,c)|0;return o|0}return 0}function ms(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=f[c>>2]|0;a:do if(!n)g=-1;else{j=c+8|0;m=f[j>>2]|0;j=f[j+4>>2]|0;i=f[n+24>>2]|0;k=h[i+2>>0]<<8|h[i+3>>0];if(k|0){l=h[a+23>>0]|0;g=0;do{o=i+((U(g,l)|0)+4)|0;u=WA(h[o>>0]|0,0,56)|0;p=ba()|0;v=WA(h[o+1>>0]|0,0,48)|0;p=ba()|0|p;t=WA(h[o+2>>0]|0,0,40)|0;p=p|(ba()|0);p=p|h[o+3>>0];s=WA(h[o+4>>0]|0,0,24)|0;p=p|(ba()|0);r=WA(h[o+5>>0]|0,0,16)|0;p=p|(ba()|0);q=WA(h[o+6>>0]|0,0,8)|0;p=p|(ba()|0);o=KA(v|u|t|s|r|q|0,p|0,h[o+7>>0]|0,0)|0;if((o|0)==(m|0)&(ba()|0)==(j|0))break a;g=g+1|0}while(g>>>0>>0)}bs(a,0)|0;v=267;return v|0}while(0);f[c>>2]=0;i=ls(a,n,g,e+1|0)|0;g=bs(a,n)|0;if(i|0){v=i;return v|0}if(g|0){v=g;return v|0}j=a+84|0;g=f[j>>2]|0;m=c+8|0;l=m;k=f[l>>2]|0;l=f[l+4>>2]|0;do if(!(Op(g,1)|0)){g=f[g+116>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){v=g;f[v>>2]=k;f[v+4>>2]=l;d[i>>1]=4;break}else{bf(g,k,l);break}}while(0);Ei(f[j>>2]|0)|0;g=f[j>>2]|0;do if(g|0){i=f[g>>2]|0;v=g+128|0;u=f[v+4>>2]|0;if((u|0)>0|(u|0)==0&(f[v>>2]|0)>>>0>0)Hi(i,g);j=fg(g)|0;f[g+20>>2]=770837923;f[g+36>>2]=-1;f[g+40>>2]=0;b[g+142>>0]=2;f[g+44>>2]=0;f[g+32>>2]=1;b[g+143>>0]=-1;f[g+48>>2]=0;v=g+64|0;f[v>>2]=0;f[v+4>>2]=0;if((j|0)==3082|(b[i+81>>0]|0)!=0){Di(i);v=7;return v|0}else{g=f[i+68>>2]&j;if(!g)break;return g|0}}while(0);j=a+108|0;g=f[j>>2]|0;l=m;k=f[l>>2]|0;l=f[l+4>>2]|0;do if(!(Op(g,1)|0)){g=f[g+116>>2]|0;i=g+8|0;if(!(d[i>>1]&9216)){v=g;f[v>>2]=k;f[v+4>>2]=l;d[i>>1]=4;break}else{bf(g,k,l);break}}while(0);Ei(f[j>>2]|0)|0;g=f[j>>2]|0;do if(g|0){i=f[g>>2]|0;v=g+128|0;u=f[v+4>>2]|0;if((u|0)>0|(u|0)==0&(f[v>>2]|0)>>>0>0)Hi(i,g);j=fg(g)|0;f[g+20>>2]=770837923;f[g+36>>2]=-1;f[g+40>>2]=0;b[g+142>>0]=2;f[g+44>>2]=0;f[g+32>>2]=1;b[g+143>>0]=-1;f[g+48>>2]=0;v=g+64|0;f[v>>2]=0;f[v+4>>2]=0;if((j|0)==3082|(b[i+81>>0]|0)!=0){Di(i);v=7;return v|0}else{g=f[i+68>>2]&j;if(!g)break;return g|0}}while(0);i=m;g=f[i>>2]|0;i=f[i+4>>2]|0;if((g|0)==0&(i|0)==0)g=c+28|0;else{g=RA(g|0,i|0,97,0)|0;ba()|0;g=a+116+(g<<2)|0;while(1){i=f[g>>2]|0;if((i|0)==(c|0))break;else g=i+28|0}v=c+28|0;f[g>>2]=f[v>>2];f[v>>2]=0;g=v}v=m;f[v>>2]=e;f[v+4>>2]=((e|0)<0)<<31>>31;v=a+68|0;f[g>>2]=f[v>>2];u=c+16|0;f[u>>2]=(f[u>>2]|0)+1;f[v>>2]=c;v=0;return v|0}function ns(a){a=a|0;var c=0,d=0,e=0,g=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;r=t;t=t+32|0;o=r;g=a+5|0;c=b[g>>0]|0;d=a+64+(1-(c&255)<<2)|0;e=f[d>>2]|0;if(e){bs(f[a>>2]|0,e)|0;f[d>>2]=0;c=b[g>>0]|0}if(c<<24>>24){q=a+84+((h[a+56>>0]|0)<<2)|0;f[q>>2]=(f[q>>2]|0)+-1;b[g>>0]=0;t=r;return}c=a+24|0;d=f[c>>2]|0;if(!d){t=r;return}m=a+32|0;l=f[m>>2]|0;n=a+84+((h[l+16>>0]|0)<<2)|0;f[n>>2]=(f[n>>2]|0)+-1;n=d+-1|0;f[c>>2]=n;c=l+(n*24|0)|0;f[l>>2]=f[c>>2];f[l+4>>2]=f[c+4>>2];f[l+8>>2]=f[c+8>>2];f[l+12>>2]=f[c+12>>2];f[l+16>>2]=f[c+16>>2];f[l+20>>2]=f[c+20>>2];c=a+64+(d<<2)|0;if((d|0)<5?(f[a+68>>2]=f[c>>2],f[c>>2]=0,(d|0)<=2):0){t=r;return}c=0;l=1;a:while(1){k=l+1|0;g=f[m>>2]|0;do if((k|0)<(n|0)){e=g+(k*24|0)|0;j=+p[e>>3];i=+p[g+(l*24|0)>>3];if(!(ji){q=21;break}if((h[g+(k*24|0)+16>>0]|0)>=(h[g+(l*24|0)+16>>0]|0)){q=21;break}}d=g+(c*24|0)|0;i=+p[d>>3];if(!(ji){q=30;break a}if((h[g+(k*24|0)+16>>0]|0)>=(h[g+(c*24|0)+16>>0]|0)){q=30;break a}};f[o>>2]=f[d>>2];f[o+4>>2]=f[d+4>>2];f[o+8>>2]=f[d+8>>2];f[o+12>>2]=f[d+12>>2];f[o+16>>2]=f[d+16>>2];f[o+20>>2]=f[d+20>>2];f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];d=(f[m>>2]|0)+(k*24|0)|0;f[d>>2]=f[o>>2];f[d+4>>2]=f[o+4>>2];f[d+8>>2]=f[o+8>>2];f[d+12>>2]=f[o+12>>2];f[d+16>>2]=f[o+16>>2];f[d+20>>2]=f[o+20>>2];d=c+1|0;e=l+2|0;do if((c|0)<4)if((l|0)>2){l=a+64+(d<<2)|0;bs(f[a>>2]|0,f[l>>2]|0)|0;f[l>>2]=0;break}else{d=a+64+(d<<2)|0;g=f[d>>2]|0;l=a+64+(e<<2)|0;f[d>>2]=f[l>>2];f[l>>2]=g;break}while(0);c=k}else q=21;while(0);if((q|0)==21){q=0;d=g+(l*24|0)|0;e=g+(c*24|0)|0;i=+p[d>>3];j=+p[e>>3];if(!(ij){q=30;break}if((h[g+(l*24|0)+16>>0]|0)>=(h[g+(c*24|0)+16>>0]|0)){q=30;break}};f[o>>2]=f[e>>2];f[o+4>>2]=f[e+4>>2];f[o+8>>2]=f[e+8>>2];f[o+12>>2]=f[e+12>>2];f[o+16>>2]=f[e+16>>2];f[o+20>>2]=f[e+20>>2];f[e>>2]=f[d>>2];f[e+4>>2]=f[d+4>>2];f[e+8>>2]=f[d+8>>2];f[e+12>>2]=f[d+12>>2];f[e+16>>2]=f[d+16>>2];f[e+20>>2]=f[d+20>>2];d=(f[m>>2]|0)+(l*24|0)|0;f[d>>2]=f[o>>2];f[d+4>>2]=f[o+4>>2];f[d+8>>2]=f[o+8>>2];f[d+12>>2]=f[o+12>>2];f[d+16>>2]=f[o+16>>2];f[d+20>>2]=f[o+20>>2];d=c+1|0;do if((c|0)<4)if((l|0)>3){k=a+64+(d<<2)|0;bs(f[a>>2]|0,f[k>>2]|0)|0;f[k>>2]=0;break}else{e=a+64+(d<<2)|0;g=f[e>>2]|0;k=a+64+(k<<2)|0;f[e>>2]=f[k>>2];f[k>>2]=g;break}while(0);c=l}l=c<<1|1;if((l|0)>=(n|0)){q=30;break}}if((q|0)==30){t=r;return}}function os(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0.0,o=0.0,q=0,r=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0;Qa=t;t=t+96|0;va=Qa;Ga=Qa+80|0;Aa=f[a>>2]|0;Na=f[a+12>>2]|0;Oa=(b[Aa+22>>0]|0)==1;Pa=a+5|0;wa=a+24|0;xa=a+40|0;ya=a+32|0;za=a+48|0;Aa=Aa+23|0;Ba=(Na|0)>0;Ca=a+16|0;Da=va+8|0;Ea=va+72|0;Fa=va+64|0;Ha=va+56|0;Ia=va+48|0;Ja=va+40|0;Ka=va+32|0;La=va+24|0;Ma=va+16|0;j=0;c=0;a:while(1){e=b[Pa>>0]|0;if(!(e<<24>>24)){if(!(f[wa>>2]|0)){c=1;ua=66;break}d=f[ya>>2]|0;if(!d){c=1;ua=66;break}}else d=xa;if(!(b[d+16>>0]|0)){c=0;ua=66;break}g=1-(e&255)|0;i=a+64+(g<<2)|0;e=f[i>>2]|0;if(!e){if(!g)c=za;else c=(f[ya>>2]|0)+8|0;c=ks(f[a>>2]|0,f[c>>2]|0,f[c+4>>2]|0,0,i)|0;e=f[i>>2]|0}if(c|0){ua=67;break}sa=e+24|0;ta=f[sa>>2]|0;ta=h[ta+2>>0]<<8|h[ta+3>>0];ra=d;e=j;c=0;b:while(1){pa=ra+18|0;g=b[pa>>0]|0;d=g&255;if(ta>>>0<=d>>>0)break;qa=(f[sa>>2]|0)+((U(h[Aa>>0]|0,d)|0)+4)|0;c:do if(Ba){N=ra+16|0;O=qa+8|0;P=qa+1|0;Q=qa+2|0;R=qa+3|0;S=qa+4|0;T=qa+5|0;V=qa+6|0;W=qa+7|0;X=qa+12|0;Y=qa+13|0;Z=qa+14|0;_=qa+15|0;$=qa+9|0;aa=qa+10|0;ca=qa+11|0;da=qa+44|0;ea=qa+45|0;fa=qa+46|0;ga=qa+47|0;ha=qa+40|0;ia=qa+41|0;ja=qa+42|0;ka=qa+43|0;la=qa+36|0;ma=qa+37|0;na=qa+38|0;oa=qa+39|0;q=qa+32|0;r=qa+33|0;u=qa+34|0;v=qa+35|0;w=qa+28|0;x=qa+29|0;y=qa+30|0;z=qa+31|0;A=qa+24|0;B=qa+25|0;C=qa+26|0;D=qa+27|0;E=qa+20|0;F=qa+21|0;G=qa+22|0;H=qa+23|0;I=qa+16|0;J=qa+17|0;K=qa+18|0;L=qa+19|0;M=ra+17|0;l=2;k=0;m=-1.0;d:do{i=f[Ca>>2]|0;j=f[i+(k*24|0)+4>>2]|0;e:do if((j|0)>69){c=f[i+(k*24|0)+16>>2]|0;d=f[c+28>>2]|0;if((j|0)==71?(b[N>>0]|0)==1:0){Va=WA(h[qa>>0]|0,0,56)|0;Sa=ba()|0;Wa=WA(h[P>>0]|0,0,48)|0;Sa=ba()|0|Sa;Ua=WA(h[Q>>0]|0,0,40)|0;Sa=Sa|(ba()|0);Sa=Sa|h[R>>0];Ta=WA(h[S>>0]|0,0,24)|0;Sa=Sa|(ba()|0);g=WA(h[T>>0]|0,0,16)|0;Sa=Sa|(ba()|0);Ra=WA(h[V>>0]|0,0,8)|0;Sa=Sa|(ba()|0);Sa=KA(Wa|Va|Ua|Ta|g|Ra|0,Sa|0,h[W>>0]|0,0)|0;Ra=ba()|0;g=c+40|0;f[g>>2]=Sa;f[g+4>>2]=Ra}if(Oa){switch(d|0){case 10:{p[Ea>>3]=+(h[ea>>0]<<16|h[da>>0]<<24|h[fa>>0]<<8|h[ga>>0]|0);p[Fa>>3]=+(h[ia>>0]<<16|h[ha>>0]<<24|h[ja>>0]<<8|h[ka>>0]|0);ua=29;break}case 8:{ua=29;break}case 6:{ua=30;break}case 4:{ua=31;break}default:{}}if((ua|0)==29){p[Ha>>3]=+(h[ma>>0]<<16|h[la>>0]<<24|h[na>>0]<<8|h[oa>>0]|0);p[Ia>>3]=+(h[r>>0]<<16|h[q>>0]<<24|h[u>>0]<<8|h[v>>0]|0);ua=30}if((ua|0)==30){p[Ja>>3]=+(h[x>>0]<<16|h[w>>0]<<24|h[y>>0]<<8|h[z>>0]|0);p[Ka>>3]=+(h[B>>0]<<16|h[A>>0]<<24|h[C>>0]<<8|h[D>>0]|0);ua=31}if((ua|0)==31){ua=0;p[La>>3]=+(h[F>>0]<<16|h[E>>0]<<24|h[G>>0]<<8|h[H>>0]|0);p[Ma>>3]=+(h[J>>0]<<16|h[I>>0]<<24|h[K>>0]<<8|h[L>>0]|0)}p[Da>>3]=+(h[Y>>0]<<16|h[X>>0]<<24|h[Z>>0]<<8|h[_>>0]|0);o=+(h[$>>0]<<16|h[O>>0]<<24|h[aa>>0]<<8|h[ca>>0]|0)}else{switch(d|0){case 10:{p[Ea>>3]=(f[s>>2]=h[ea>>0]<<16|h[da>>0]<<24|h[fa>>0]<<8|h[ga>>0],+n[s>>2]);p[Fa>>3]=(f[s>>2]=h[ia>>0]<<16|h[ha>>0]<<24|h[ja>>0]<<8|h[ka>>0],+n[s>>2]);ua=23;break}case 8:{ua=23;break}case 6:{ua=24;break}case 4:{ua=25;break}default:{}}if((ua|0)==23){p[Ha>>3]=(f[s>>2]=h[ma>>0]<<16|h[la>>0]<<24|h[na>>0]<<8|h[oa>>0],+n[s>>2]);p[Ia>>3]=(f[s>>2]=h[r>>0]<<16|h[q>>0]<<24|h[u>>0]<<8|h[v>>0],+n[s>>2]);ua=24}if((ua|0)==24){p[Ja>>3]=(f[s>>2]=h[x>>0]<<16|h[w>>0]<<24|h[y>>0]<<8|h[z>>0],+n[s>>2]);p[Ka>>3]=(f[s>>2]=h[B>>0]<<16|h[A>>0]<<24|h[C>>0]<<8|h[D>>0],+n[s>>2]);ua=25}if((ua|0)==25){ua=0;p[La>>3]=(f[s>>2]=h[F>>0]<<16|h[E>>0]<<24|h[G>>0]<<8|h[H>>0],+n[s>>2]);p[Ma>>3]=(f[s>>2]=h[J>>0]<<16|h[I>>0]<<24|h[K>>0]<<8|h[L>>0],+n[s>>2])}p[Da>>3]=(f[s>>2]=h[Y>>0]<<16|h[X>>0]<<24|h[Z>>0]<<8|h[_>>0],+n[s>>2]);o=(f[s>>2]=h[$>>0]<<16|h[O>>0]<<24|h[aa>>0]<<8|h[ca>>0],+n[s>>2])}p[va>>3]=o;if((j|0)==70){f[Ga>>2]=0;c=lb[f[i+(k*24|0)+8>>2]&127](c,d,va,Ga)|0;m=0.0;l=(f[Ga>>2]|0)==0?0:l}else{f[c+20>>2]=va;f[c+32>>2]=(h[N>>0]|0)+-1;o=+p[ra>>3];p[c+48>>3]=o;Va=c+64|0;p[Va>>3]=o;Ua=h[M>>0]|0;f[c+56>>2]=Ua;Wa=c+60|0;f[Wa>>2]=Ua;c=ib[f[i+(k*24|0)+8>>2]&255](c)|0;Wa=f[Wa>>2]|0;o=+p[Va>>3];m=m<0.0|o>2]<<2;if((b[N>>0]|0)!=1){g=qa+((d&1016)+8)|0;if((j+-65|0)>>>0<3){d=h[g+1>>0]<<16|h[g>>0]<<24|h[g+2>>0]<<8|h[g+3>>0];o=+p[i+(k*24|0)+8>>3];if(o>=(Oa?+(d|0):(f[s>>2]=d,+n[s>>2]))){ua=49;break}if((j|0)!=65){ua=50;break}}else o=+p[i+(k*24|0)+8>>3];d=g+4|0;d=h[d+1>>0]<<16|h[d>>0]<<24|h[d+2>>0]<<8|h[d+3>>0];if(!(o<=(Oa?+(d|0):(f[s>>2]=d,+n[s>>2])))){ua=50;break}else{ua=49;break}}d=qa+(d+8)|0;d=h[d+1>>0]<<16|h[d>>0]<<24|h[d+2>>0]<<8|h[d+3>>0];o=Oa?+(d|0):(f[s>>2]=d,+n[s>>2]);switch(j|0){case 66:if(!(o<=+p[i+(k*24|0)+8>>3])){ua=50;break e}else{ua=49;break e}case 67:if(o<+p[i+(k*24|0)+8>>3]){ua=49;break e}else{ua=50;break e}case 68:if(!(o>=+p[i+(k*24|0)+8>>3])){ua=50;break e}else{ua=49;break e}case 69:if(o>+p[i+(k*24|0)+8>>3]){ua=49;break e}else{ua=50;break e}default:if(o==+p[i+(k*24|0)+8>>3]){ua=49;break e}else{ua=50;break e}}}while(0);if((ua|0)==49){ua=0;if(!l)ua=50;else g=0}if((ua|0)==50){ua=0;g=6;l=0}switch(g&7){case 6:break d;case 0:break;default:{d=ra;break c}}k=k+1|0}while((k|0)<(Na|0));d=(b[pa>>0]|0)+1<<24>>24;b[pa>>0]=d;if(!l){d=ra;g=4}else ua=54}else{d=g+1<<24>>24;b[pa>>0]=d;m=-1.0;l=2;ua=54}while(0);if((ua|0)==54){ua=0;k=(h[ra+16>>0]|0)+255&255;if(!(k<<24>>24)){j=ra+8|0;g=d&255;d=g;g=g+255&255;i=f[j>>2]|0;j=f[j+4>>2]|0}else{Ua=WA(h[qa>>0]|0,0,56)|0;i=ba()|0;Ta=WA(h[qa+1>>0]|0,0,48)|0;i=ba()|0|i;Va=WA(h[qa+2>>0]|0,0,40)|0;i=i|(ba()|0);i=i|h[qa+3>>0];Wa=WA(h[qa+4>>0]|0,0,24)|0;i=i|(ba()|0);j=WA(h[qa+5>>0]|0,0,16)|0;i=i|(ba()|0);g=WA(h[qa+6>>0]|0,0,8)|0;i=i|(ba()|0);i=KA(Ta|Ua|Va|Wa|j|g|0,i|0,h[qa+7>>0]|0,0)|0;d=d&255;g=0;j=ba()|0}if(ta>>>0<=d>>>0)ns(a);d=ps(a,m<0.0?0.0:m,k)|0;if(!d){c=7;ua=67;break a}b[d+17>>0]=l;Wa=d+8|0;f[Wa>>2]=i;f[Wa+4>>2]=j;b[d+18>>0]=g;g=5}switch(g|0){case 4:{ra=d;break}case 5:{ua=62;break b}default:{c=e;ua=67;break a}}}if((ua|0)==62){ua=0;d=h[d+18>>0]|0}if(ta>>>0<=d>>>0)ns(a);j=e}if((ua|0)==66){b[a+4>>0]=c;Wa=0;t=Qa;return Wa|0}else if((ua|0)==67){t=Qa;return c|0}return 0}function ps(a,c,d){a=a|0;c=+c;d=d|0;var e=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0,q=0,r=0,s=0,u=0,v=0,w=0;v=t;t=t+32|0;u=v;s=a+5|0;g=(b[s>>0]|0)==0;do if(g)if(f[a+24>>2]|0){e=f[a+32>>2]|0;q=a+84+((d&255)<<2)|0;f[q>>2]=(f[q>>2]|0)+1;if(!e)break;else{r=6;break}}else{u=a+84+((d&255)<<2)|0;f[u>>2]=(f[u>>2]|0)+1;break}else{e=a+84+((d&255)<<2)|0;f[e>>2]=(f[e>>2]|0)+1;e=a+40|0;r=6}while(0);if((r|0)==6){j=+p[e>>3];do if(!(j>c)){if(j==c?(h[e+16>>0]|0)>(d&255):0)break;m=a+24|0;g=f[m>>2]|0;l=a+20|0;e=f[l>>2]|0;do if((g|0)>=(e|0)){i=(e<<1)+8|0;k=a+32|0;e=f[k>>2]|0;g=i*24|0;if(Mc()|0){a=0;t=v;return a|0}e=Nc(e,(g|0)>0?g:0,0)|0;if(!e){a=0;t=v;return a|0}else{f[k>>2]=e;f[l>>2]=i;g=f[m>>2]|0;i=e;break}}else{i=a+32|0;k=i;i=f[i>>2]|0}while(0);f[m>>2]=g+1;e=i+(g*24|0)|0;p[e>>3]=c;b[i+(g*24|0)+16>>0]=d;if((g|0)<=0){a=e;t=v;return a|0}o=a+32|0;a:while(1){l=(g+-1|0)/2|0;m=i+(l*24|0)|0;j=+p[m>>3];if(!(cj){r=49;break}if((h[e+16>>0]|0)>=(h[i+(l*24|0)+16>>0]|0)){r=49;break}}e=i+(l*24|0)|0;f[u>>2]=f[e>>2];f[u+4>>2]=f[e+4>>2];f[u+8>>2]=f[e+8>>2];f[u+12>>2]=f[e+12>>2];f[u+16>>2]=f[e+16>>2];f[u+20>>2]=f[e+20>>2];i=i+(g*24|0)|0;f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];f[e+8>>2]=f[i+8>>2];f[e+12>>2]=f[i+12>>2];f[e+16>>2]=f[i+16>>2];f[e+20>>2]=f[i+20>>2];e=(f[o>>2]|0)+(g*24|0)|0;f[e>>2]=f[u>>2];f[e+4>>2]=f[u+4>>2];f[e+8>>2]=f[u+8>>2];f[e+12>>2]=f[u+12>>2];f[e+16>>2]=f[u+16>>2];f[e+20>>2]=f[u+20>>2];e=l+1|0;i=g+1|0;do if((g|0)<9)if((g|0)<=3){r=a+64+(e<<2)|0;s=f[r>>2]|0;d=a+64+(i<<2)|0;f[r>>2]=f[d>>2];f[d>>2]=s;if((g|0)==3)break;else{e=m;r=49;break a}}else{d=a+64+(e<<2)|0;bs(f[a>>2]|0,f[d>>2]|0)|0;f[d>>2]=0;break}while(0);g=l;e=m;i=f[k>>2]|0;c=+p[m>>3]}if((r|0)==49){t=v;return e|0}}while(0);if(!g){m=a+24|0;i=f[m>>2]|0;l=a+20|0;e=f[l>>2]|0;do if((i|0)>=(e|0)){i=(e<<1)+8|0;k=a+32|0;e=f[k>>2]|0;g=i*24|0;if(Mc()|0){a=0;t=v;return a|0}e=Nc(e,(g|0)>0?g:0,0)|0;if(!e){a=0;t=v;return a|0}else{f[k>>2]=e;f[l>>2]=i;g=e;i=f[m>>2]|0;l=e;break}}else{k=a+32|0;l=f[k>>2]|0;g=l}while(0);f[m>>2]=i+1;e=l+(i*24|0)|0;p[e>>3]=c;b[l+(i*24|0)+16>>0]=d;b:do if((i|0)>0){q=a+32|0;n=c;while(1){m=(i+-1|0)/2|0;o=l+(m*24|0)|0;j=+p[o>>3];if(!(nj){r=26;break b}if((h[e+16>>0]|0)>=(h[l+(m*24|0)+16>>0]|0))break b}e=l+(m*24|0)|0;f[u>>2]=f[e>>2];f[u+4>>2]=f[e+4>>2];f[u+8>>2]=f[e+8>>2];f[u+12>>2]=f[e+12>>2];f[u+16>>2]=f[e+16>>2];f[u+20>>2]=f[e+20>>2];g=l+(i*24|0)|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[e+16>>2]=f[g+16>>2];f[e+20>>2]=f[g+20>>2];e=(f[q>>2]|0)+(i*24|0)|0;f[e>>2]=f[u>>2];f[e+4>>2]=f[u+4>>2];f[e+8>>2]=f[u+8>>2];f[e+12>>2]=f[u+12>>2];f[e+16>>2]=f[u+16>>2];f[e+20>>2]=f[u+20>>2];e=m+1|0;g=i+1|0;do if((i|0)<9)if((i|0)<=3){w=a+64+(e<<2)|0;e=f[w>>2]|0;l=a+64+(g<<2)|0;f[w>>2]=f[l>>2];f[l>>2]=e;if((i|0)==3)break;else{e=o;r=26;break b}}else{w=a+64+(e<<2)|0;bs(f[a>>2]|0,f[w>>2]|0)|0;f[w>>2]=0;break}while(0);l=f[k>>2]|0;i=m;e=o;g=l;n=+p[o>>3]}}else r=26;while(0);do if((r|0)==26)if(!e){w=0;t=v;return w|0}else{g=f[a+32>>2]|0;break}while(0);g=e-g|0;if((g|0)<96){f[a+64+(((g|0)/24|0)+1<<2)>>2]=f[a+64>>2];g=a+64|0}else{g=a+64|0;bs(f[a>>2]|0,f[g>>2]|0)|0}f[g>>2]=0;w=a+40|0;f[e>>2]=f[w>>2];f[e+4>>2]=f[w+4>>2];f[e+8>>2]=f[w+8>>2];f[e+12>>2]=f[w+12>>2];f[e+16>>2]=f[w+16>>2];f[e+20>>2]=f[w+20>>2]}}w=a+40|0;p[w>>3]=c;b[a+56>>0]=d;b[s>>0]=1;t=v;return w|0}function qs(a,c,d,e,g,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=t;t=t+240|0;s=T+232|0;S=T+224|0;P=T+216|0;O=T+208|0;N=T+192|0;M=T+184|0;L=T+176|0;K=T+168|0;H=T+160|0;E=T+144|0;D=T+136|0;C=T+128|0;B=T+120|0;A=T+112|0;y=T+104|0;w=T+96|0;v=T+88|0;u=T+80|0;r=T+72|0;I=T+64|0;p=T+56|0;q=T+48|0;J=T;l=T+40|0;k=T+32|0;if((d|0)>103){f[k>>2]=61028;S=wd(40840,k)|0;f[i>>2]=S;i=1;t=T;return i|0}f[l>>2]=1;eq(a,1,l)|0;x=e+4|0;l=wz(f[x>>2]|0)|0;z=e+8|0;m=wz(f[z>>2]|0)|0;k=l+506+m|0;R=Fd(k)|0;if(!R){i=7;t=T;return i|0}_A(R|0,0,k|0)|0;f[R+40>>2]=1;f[R>>2]=38996;n=R+504|0;F=R+32|0;f[F>>2]=n;o=n+(l+1)|0;G=R+36|0;f[G>>2]=o;b[R+22>>0]=(c|0)!=0&1;YA(n|0,f[x>>2]|0,l|0)|0;YA(o|0,f[z>>2]|0,m|0)|0;o=kp(a)|0;f[J>>2]=f[e+12>>2];qf(o,61064,J);a:do if((d|0)>4){l=R+25|0;m=R+21|0;k=4;while(1){c=f[e+(k<<2)>>2]|0;n=b[l>>0]|0;if((b[c>>0]|0)==43){b[l>>0]=n+1<<24>>24;f[q>>2]=c+1;qf(o,61082,q)}else{if(n<<24>>24){m=1;break a}b[m>>0]=(b[m>>0]|0)+1<<24>>24;f[p>>2]=c;qf(o,61082,p)}k=k+1|0;if((k|0)>=(d|0)){m=0;break}}}else m=0;while(0);qf(o,61086,I);do if((o|0)!=0&(o|0)!=38408){k=o+4|0;l=f[k>>2]|0;if(((l|0)!=0?(b[l+(f[o+16>>2]|0)>>0]=0,(f[o+12>>2]|0)!=0):0)?(b[o+21>>0]&4)==0:0)c=Cc(o)|0;else c=f[k>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](o);else{q=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o)}if(c){if(!m){k=wk(a,c)|0;if(!k)k=0;else{l=Mj(a)|0;Q=24}}else{k=1;l=61089;Q=24}if((Q|0)==24){f[r>>2]=l;r=wd(40840,r)|0;f[i>>2]=r}if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{r=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}if(!k){k=b[R+21>>0]|0;r=(k&255)>>>1;b[R+20>>0]=r;if(r<<24>>24)if((k&255)<=10)if(!(k&1)){c=R+23|0;b[c>>0]=((k&255)<<2)+8;n=(j|0)==0;k=f[F>>2]|0;do if(n){l=f[G>>2]|0;f[v>>2]=k;f[v+4>>2]=l;l=wd(61146,v)|0;m=R+16|0;if(!l){k=7;Q=48}else{f[v>>2]=0;k=Ki(a,l,-1,128,0,v,0)|0;if(k|0){Q=48;break}k=f[v>>2]|0;if((Ei(k)|0)==100){v=Ip(k,0)|0;f[m>>2]=v}k=Fi(k)|0;if(k|0){Q=48;break}if((f[m>>2]|0)>=448){k=0;break}f[w>>2]=f[G>>2];k=wd(61203,w)|0;f[i>>2]=k;k=267}}else{f[u>>2]=k;l=wd(61126,u)|0;if(!l){k=7;Q=48}else{f[u>>2]=0;k=Ki(a,l,-1,128,0,u,0)|0;if(k|0){Q=48;break}k=f[u>>2]|0;if((Ei(k)|0)==100)m=(Ip(k,0)|0)+-64|0;else m=-64;k=Fi(k)|0;if(k|0){Q=48;break}k=((h[c>>0]|0)*51|0)+4|0;f[R+16>>2]=(k|0)<(m|0)?k:m;k=0}}while(0);if((Q|0)==48){w=Mj(a)|0;f[y>>2]=w;y=wd(40840,y)|0;f[i>>2]=y;if(!l)break}if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{y=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}if(k|0)break;d=f[x>>2]|0;o=f[z>>2]|0;f[R+12>>2]=a;do if(!n){m=kp(a)|0;f[A>>2]=d;f[A+4>>2]=o;qf(m,61238,A);l=R+25|0;if(b[l>>0]|0){k=0;do{f[B>>2]=k;qf(m,61300,B);k=k+1|0}while(k>>>0<(h[l>>0]|0)>>>0)}f[C>>2]=d;f[C+4>>2]=o;qf(m,61305,C);f[D>>2]=d;f[D+4>>2]=o;qf(m,61369,D);D=f[R+16>>2]|0;f[E>>2]=d;f[E+4>>2]=o;f[E+8>>2]=D;qf(m,61439,E);if(!((m|0)!=0&(m|0)!=38408)){k=7;Q=122;break}k=m+4|0;l=f[k>>2]|0;do if(!l)Q=62;else{b[l+(f[m+16>>2]|0)>>0]=0;if(!(f[m+12>>2]|0)){Q=62;break}if(b[m+21>>0]&4){Q=62;break}l=Cc(m)|0}while(0);if((Q|0)==62)l=f[k>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](m);else{Q=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m)}if(!l){k=7;Q=122;break}k=uj(a,l,0,0,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{Q=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}if(k)Q=122;else Q=71}else Q=71;while(0);b:do if((Q|0)==71){f[J>>2]=R+80;f[J+4>>2]=R+84;f[J+8>>2]=R+88;f[J+12>>2]=R+92;f[J+16>>2]=R+96;f[J+20>>2]=R+100;f[J+24>>2]=R+104;f[J+28>>2]=R+108;k=rs(a,f[F>>2]|0,45954,0,0,0,0,0,0)|0;do if(!k){c=f[G>>2]|0;f[H>>2]=f[F>>2];f[H+4>>2]=c;c=wd(61488,H)|0;if(!c){k=7;Q=85;break}k=Ki(a,c,-1,128,0,I,0)|0;c:do switch(k|0){case 0:{k=f[I>>2]|0;if((Ei(k)|0)==100){l=Jp(k,0)|0;m=ba()|0}else{l=0;m=0}k=Fi(k)|0;if(k|0)break c;if((l|0)==0&(m|0)==0){Q=79;break c}I=(m|0)>0|(m|0)==0&l>>>0>100;k=R+48|0;f[k>>2]=I?l:100;f[k+4>>2]=I?m:0;k=0;break}case 7:break;default:Q=79}while(0);if((Q|0)==79){k=R+48|0;f[k>>2]=1048576;f[k+4>>2]=0;k=0}if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{Q=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-Q;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}if(!k)Q=88;else Q=87}else{Q=R+48|0;f[Q>>2]=1048576;f[Q+4>>2]=0;if((k|0)!=1){Q=85;break}Q=88}while(0);d:do if((Q|0)==85)Q=87;else if((Q|0)==88){c=R+25|0;m=0;while(1){if((m|0)==3?(b[c>>0]|0)!=0:0)k=61544;else k=f[24240+(m<<2)>>2]|0;f[K>>2]=d;f[K+4>>2]=o;l=wd(k,K)|0;if(!l){k=7;e=c;break d}k=Ki(a,l,-1,129,0,f[J+(m<<2)>>2]|0,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](l);else{I=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l)}m=m+1|0;if(!(m>>>0<8&(k|0)==0)){e=c;break}}}while(0);if((Q|0)==87)e=R+25|0;do if(b[e>>0]|0){f[L>>2]=d;f[L+4>>2]=o;L=wd(61652,L)|0;f[R+64>>2]=L;if(!L){k=7;Q=122;break b}p=kp(a)|0;f[M>>2]=d;f[M+4>>2]=o;qf(p,61697,M);if(b[e>>0]|0){c=R+26|0;n=p+16|0;o=p+8|0;d=p+4|0;m=0;do{do if(m|0){k=f[n>>2]|0;l=k+1|0;if(l>>>0<(f[o>>2]|0)>>>0){f[n>>2]=l;b[(f[d>>2]|0)+k>>0]=44;break}else{Ec(p,41635,1);break}}while(0);k=m+2|0;if(m>>>0<(h[c>>0]|0)>>>0){f[N>>2]=m;f[N+4>>2]=k;f[N+8>>2]=m;qf(p,61724,N)}else{f[O>>2]=m;f[O+4>>2]=k;qf(p,61746,O)}m=m+1|0}while(m>>>0<(h[e>>0]|0)>>>0)}qf(p,61754,P);if(!((p|0)!=0&(p|0)!=38408)){k=7;Q=122;break b}k=p+4|0;l=f[k>>2]|0;do if(!l)Q=114;else{b[l+(f[p+16>>2]|0)>>0]=0;if(!(f[p+12>>2]|0)){Q=114;break}if(b[p+21>>0]&4){Q=114;break}l=Cc(p)|0}while(0);if((Q|0)==114)l=f[k>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](p);else{P=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-P;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p)}if(!l){k=7;Q=122;break b}k=Ki(a,l,-1,129,0,R+112|0,0)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{P=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-P;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);if(k|0)break;f[g>>2]=R;i=0;t=T;return i|0}while(0);a=Mj(a)|0;f[S>>2]=a;S=wd(40840,S)|0;f[i>>2]=S;break}else k=1;else k=3;else k=2;f[s>>2]=f[24272+(k<<2)>>2];k=wd(40840,s)|0;f[i>>2]=k;k=1}}else k=7}else k=7;while(0);cs(R);i=k;t=T;return i|0}function rs(a,c,e,g,i,j,k,l,m){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=t;t=t+16|0;z=A+8|0;x=A;y=A+12|0;f[y>>2]=0;r=a+20|0;n=f[r>>2]|0;u=a+16|0;q=f[u>>2]|0;if((n|0)>0){o=0;do{p=f[q+(o<<4)+4>>2]|0;if(p|0)f[(f[p+4>>2]|0)+4>>2]=f[p>>2];o=o+1|0}while((o|0)!=(n|0))}p=a+24|0;s=(f[p>>2]&1|0)==0;w=f[q+12>>2]|0;b[a+78>>0]=b[w+77>>0]|0;if(!(d[w+78>>1]&1)){n=qi(a,0,y,0)|0;if(!n){n=f[r>>2]|0;w=9}else w=16}else w=9;a:do if((w|0)==9){if((n|0)>1)do{o=n;n=n+-1|0;if((d[(f[(f[u>>2]|0)+(n<<4)+12>>2]|0)+78>>1]&1)==0?(v=qi(a,n,y,0)|0,v|0):0){n=v;w=16;break a}}while((o|0)>2);if(s)f[p>>2]=f[p>>2]&-2;v=ji(a,e,c)|0;if((v|0)!=0?(f[v+12>>2]|0)==0:0){do if(g){c=d[v+42>>1]|0;u=c<<16>>16;b:do if(c<<16>>16>0){s=f[v+4>>2]|0;c=h[1232+(h[g>>0]|0)>>0]|0;n=0;do{o=s+(n<<4)|0;q=f[o>>2]|0;r=b[q>>0]|0;p=(h[1232+(r&255)>>0]|0)-c|0;if(!(r<<24>>24==0|(p|0)!=0)){r=g;do{q=q+1|0;r=r+1|0;B=b[q>>0]|0;p=(h[1232+(B&255)>>0]|0)-(h[1232+(h[r>>0]|0)>>0]|0)|0}while(!(B<<24>>24==0|(p|0)!=0))}if(!p)break b;n=n+1|0}while((n|0)<(u|0))}else{n=0;o=0}while(0);if((n|0)==(u|0)){if(f[v+36>>2]&32|0){o=0;v=0;u=0;c=0;s=0;r=0;p=0;q=0;break a}r=b[g>>0]|0;q=h[1232+(r&255)>>0]|0;n=q+-95|0;r=r<<24>>24==0;if(!(r|(n|0)!=0)){o=49617;p=g;do{p=p+1|0;o=o+1|0;B=b[p>>0]|0;n=(h[1232+(B&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(B<<24>>24==0|(n|0)!=0))}if(n|0){n=q+-114|0;if(!(r|(n|0)!=0)){o=49625;p=g;do{p=p+1|0;o=o+1|0;B=b[p>>0]|0;n=(h[1232+(B&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(B<<24>>24==0|(n|0)!=0))}if(n|0){n=q+-111|0;if(!(r|(n|0)!=0)){o=49631;p=g;do{p=p+1|0;o=o+1|0;B=b[p>>0]|0;n=(h[1232+(B&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(B<<24>>24==0|(n|0)!=0))}if(n|0){o=0;v=0;u=0;c=0;s=0;r=0;p=0;q=0;break a}}}B=d[v+40>>1]|0;n=B<<16>>16;if(B<<16>>16<=-1){q=0;n=1;s=0;r=0;p=50325;break}q=n;o=(f[v+4>>2]|0)+(n<<4)|0}else q=n;if(o){n=b[o+15>>0]|0;if(!(n&4))p=0;else{p=f[o>>2]|0;p=p+(wz(p)|0)+1|0}r=f[o+8>>2]|0;o=(b[o+12>>0]|0)!=0&1;n=n&1;if((q|0)==(d[v+40>>1]|0)){q=(f[v+36>>2]|0)>>>3&1;s=o}else{q=0;s=o}}else{q=0;n=1;s=0;r=0;p=50325}}else{q=0;n=1;s=0;r=0;p=50325}while(0);o=0;u=q;c=n;r=(r|0)==0?43030:r;q=0}else{o=0;v=0;u=0;c=0;s=0;r=0;p=0;q=0}}while(0);if((w|0)==16){o=n;v=0;u=0;c=0;s=0;r=0;p=0;q=(n|0)!=0}if(i|0)f[i>>2]=p;if(j|0)f[j>>2]=r;if(k|0)f[k>>2]=s;if(l|0)f[l>>2]=c;if(m|0)f[m>>2]=u;n=f[y>>2]|0;if(!(q|(v|0)!=0)){do if(n|0){if(a|0){if(f[a+480>>2]|0){Kc(a,n);break}B=n;if((f[a+304>>2]|0)>>>0<=B>>>0?(f[a+308>>2]|0)>>>0>B>>>0:0){B=a+300|0;f[n>>2]=f[B>>2];f[B>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{B=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[x>>2]=e;f[x+4>>2]=g;n=Ig(a,62257,x)|0;f[y>>2]=n;o=1}f[z>>2]=n;vg(a,o,(n|0)==0?0:40840,z);n=f[y>>2]|0;do if(n|0){if(a|0){if(f[a+480>>2]|0){Kc(a,n);break}B=n;if((f[a+304>>2]|0)>>>0<=B>>>0?(f[a+308>>2]|0)>>>0>B>>>0:0){B=a+300|0;f[n>>2]=f[B>>2];f[B>>2]=n;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{B=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);if((o|0)==3082|(b[a+81>>0]|0)!=0){Di(a);B=7;t=A;return B|0}else{B=f[a+68>>2]&o;t=A;return B|0}return 0}function ss(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=t;t=t+32|0;d=h;e=h+16|0;f[e>>2]=0;f[d>>2]=c;b=lp(b,d)|0;c=a+40|0;d=(b|0)==0;do if(!(f[c>>2]|0))if(d){f[c>>2]=7;break}else{g=Ki(f[a>>2]|0,b,-1,128,0,e,0)|0;f[c>>2]=g;g=6;break}else if(!d)g=6;while(0);do if((g|0)==6)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{g=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-g;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);t=h;return f[e>>2]|0}function ts(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=t;t=t+32|0;h=i+16|0;d=i;f[d>>2]=c;e=a+40|0;if(f[e>>2]|0){t=i;return}g=a+48|0;if((f[g>>2]|0)>=100){t=i;return}c=lp(b,d)|0;if(!((c|0)!=0?(a=a+44|0,d=f[a>>2]|0,f[h>>2]=d,f[h+4>>2]=(d|0)==0?72788:45839,f[h+8>>2]=c,h=wd(63045,h)|0,f[a>>2]=h,(h|0)!=0):0))f[e>>2]=7;f[g>>2]=(f[g>>2]|0)+1;t=i;return}function us(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0;J=t;t=t+112|0;H=J+88|0;G=J+72|0;F=J+56|0;w=J+40|0;v=J+32|0;u=J+16|0;r=J+8|0;k=J;p=a+20|0;j=f[p>>2]|0;if(!j){j=f[a+8>>2]|0;f[k>>2]=f[a+4>>2];f[k+4>>2]=j;j=ss(a,62512,k)|0;f[p>>2]=j}q=a+40|0;if(f[q>>2]|0){t=J;return}do if(!(Op(j,1)|0)){j=f[j+116>>2]|0;k=j+8|0;if(!(d[k>>1]&9216)){E=j;f[E>>2]=g;f[E+4>>2]=i;d[k>>1]=4;break}else{bf(j,g,i);break}}while(0);do if((Ei(f[p>>2]|0)|0)==100){o=Gp(f[p>>2]|0,0)|0;m=f[p>>2]|0;if(!m)k=lf(37592)|0;else{j=f[m+104>>2]|0;if((j|0)!=0?(d[m+140>>1]|0)!=0:0)l=m;else{j=f[m>>2]|0;f[j+64>>2]=25;Bg(j,25);j=37592;l=m}k=lf(j)|0;l=f[l>>2]|0;m=m+40|0;j=f[m>>2]|0;if((j|0)==3082|(b[l+81>>0]|0)!=0){Di(l);j=7}else j=f[l+68>>2]&j;f[m>>2]=j}j=Fd(o)|0;if(!j){f[q>>2]=7;E=0;m=0;break}else{YA(j|0,k|0,o|0)|0;E=j;m=o;break}}else{E=0;m=0}while(0);j=f[p>>2]|0;do if(j){k=f[j>>2]|0;D=j+128|0;C=f[D+4>>2]|0;if((C|0)>0|(C|0)==0&(f[D>>2]|0)>>>0>0)Hi(k,j);l=fg(j)|0;f[j+20>>2]=770837923;f[j+36>>2]=-1;f[j+40>>2]=0;b[j+142>>0]=2;f[j+44>>2]=0;f[j+32>>2]=1;b[j+143>>0]=-1;f[j+48>>2]=0;D=j+64|0;f[D>>2]=0;f[D+4>>2]=0;if((l|0)==3082|(b[k+81>>0]|0)!=0){Di(k);j=7;break}else{j=f[k+68>>2]&l;break}}else j=0;while(0);if((f[q>>2]|0)==0?(f[q>>2]=j,(E|0)==0&(j|0)==0):0){I=r;f[I>>2]=g;f[I+4>>2]=i;ts(a,62557,r);t=J;return}if(!E){t=J;return}if((m|0)<4){I=u;f[I>>2]=g;f[I+4>>2]=i;f[u+8>>2]=m;ts(a,62589,u);if(!(f[9328]|0)){ob[f[37360>>2]&127](E);t=J;return}else{I=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);t=J;return}}D=(e|0)==0;if(D){c=h[E>>0]<<8|h[E+1>>0];if(c>>>0>40){f[v>>2]=c;ts(a,62623,v);if(!(f[9328]|0)){ob[f[37360>>2]&127](E);t=J;return}else{I=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);t=J;return}}}B=h[E+2>>0]<<8|h[E+3>>0];C=a+16|0;j=f[C>>2]|0;a:do if((U((j<<3)+8|0,B)|0|4|0)<=(m|0)){if(B|0){z=a+12|0;A=(c|0)>0;w=c+-1|0;x=a+36|0;y=a+32|0;c=0;while(1){v=E+(U((j<<3)+8|0,c)|0|4)|0;m=WA(h[v>>0]|0,0,56)|0;r=ba()|0;l=WA(h[v+1>>0]|0,0,48)|0;r=ba()|0|r;o=WA(h[v+2>>0]|0,0,40)|0;r=r|(ba()|0);r=r|h[v+3>>0];p=WA(h[v+4>>0]|0,0,24)|0;r=r|(ba()|0);q=WA(h[v+5>>0]|0,0,16)|0;r=r|(ba()|0);u=WA(h[v+6>>0]|0,0,8)|0;r=r|(ba()|0);r=KA(l|m|o|p|q|u|0,r|0,h[v+7>>0]|0,0)|0;u=ba()|0;v=v+8|0;b:do if((j|0)>0){if(D){m=0;while(1){l=m<<3;k=v+l|0;k=h[k+1>>0]<<16|h[k>>0]<<24|h[k+2>>0]<<8|h[k+3>>0];l=v+(l|4)|0;l=h[l+1>>0]<<16|h[l>>0]<<24|h[l+2>>0]<<8|h[l+3>>0];if(!(f[z>>2]|0)){K=(f[s>>2]=k,+n[s>>2]);if(K>(f[s>>2]=l,+n[s>>2]))I=52}else if((k|0)>(l|0))I=52;if((I|0)==52){I=0;f[F>>2]=m;f[F+4>>2]=c;j=F+8|0;f[j>>2]=g;f[j+4>>2]=i;ts(a,62708,F);j=f[C>>2]|0}m=m+1|0;if((m|0)>=(j|0))break b}}o=0;do{k=o<<3;p=v+k|0;p=h[p+1>>0]<<16|h[p>>0]<<24|h[p+2>>0]<<8|h[p+3>>0];m=k|4;q=v+m|0;q=h[q+1>>0]<<16|h[q>>0]<<24|h[q+2>>0]<<8|h[q+3>>0];j=f[z>>2]|0;if(!j){K=(f[s>>2]=p,+n[s>>2]);if(K>(f[s>>2]=q,+n[s>>2]))I=57;else j=0}else if((p|0)>(q|0))I=57;if((I|0)==57){I=0;f[G>>2]=o;f[G+4>>2]=c;j=G+8|0;f[j>>2]=g;f[j+4>>2]=i;ts(a,62708,G);j=f[z>>2]|0}l=e+k|0;l=h[l+1>>0]<<16|h[l>>0]<<24|h[l+2>>0]<<8|h[l+3>>0];k=e+m|0;k=h[k+1>>0]<<16|h[k>>0]<<24|h[k+2>>0]<<8|h[k+3>>0];do if(!j){K=(f[s>>2]=p,+n[s>>2]);if(K<(f[s>>2]=l,+n[s>>2])){I=62;break}K=(f[s>>2]=q,+n[s>>2]);if(K>(f[s>>2]=k,+n[s>>2]))I=62}else if((p|0)<(l|0)|(q|0)>(k|0))I=62;while(0);if((I|0)==62){I=0;f[H>>2]=o;f[H+4>>2]=c;q=H+8|0;f[q>>2]=g;f[q+4>>2]=i;ts(a,62756,H)}o=o+1|0}while((o|0)<(f[C>>2]|0))}while(0);if(A){ws(a,0,r,u,g,i);us(a,w,v,r,u);j=x}else{ws(a,1,r,u,g,i);j=y}f[j>>2]=(f[j>>2]|0)+1;c=c+1|0;if((c|0)==(B|0))break a;j=f[C>>2]|0}}}else{I=w;f[I>>2]=g;f[I+4>>2]=i;f[w+8>>2]=B;f[w+12>>2]=m;ts(a,62653,w)}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](E);t=J;return}else{I=ib[f[37368>>2]&255](E)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](E);t=J;return}}function vs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=t;t=t+48|0;j=k+16|0;e=k;i=a+40|0;if(f[i>>2]|0){t=k;return}l=f[a+8>>2]|0;f[e>>2]=f[a+4>>2];f[e+4>>2]=l;f[e+8>>2]=b;e=ss(a,62414,e)|0;if(!e){t=k;return}if((Ei(e)|0)==100?(g=Jp(e,0)|0,h=ba()|0,!((g|0)==(c|0)&(h|0)==(d|0))):0){f[j>>2]=b;l=j+8|0;f[l>>2]=c;f[l+4>>2]=d;l=j+16|0;f[l>>2]=g;f[l+4>>2]=h;ts(a,62445,j)}l=Fi(e)|0;f[i>>2]=l;t=k;return}function ws(a,c,e,g,h,i){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=t;t=t+80|0;o=p+32|0;m=p+8|0;l=p;j=a+24+(c<<2)|0;k=f[j>>2]|0;if(!k){n=f[39284+(c<<2)>>2]|0;k=f[a+8>>2]|0;f[l>>2]=f[a+4>>2];f[l+4>>2]=k;l=ss(a,n,l)|0;f[j>>2]=l}else l=k;n=a+40|0;if(f[n>>2]|0){t=p;return}do if(!(Op(l,1)|0)){j=f[l+116>>2]|0;k=j+8|0;if(!(d[k>>1]&9216)){f[j>>2]=e;f[j+4>>2]=g;d[k>>1]=4;break}else{bf(j,e,g);break}}while(0);switch(Ei(l)|0){case 101:{o=m;f[o>>2]=e;f[o+4>>2]=g;o=m+8|0;f[o>>2]=h;f[o+4>>2]=i;f[m+16>>2]=(c|0)==0?62823:62832;ts(a,62840,m);break}case 100:{j=Jp(l,0)|0;k=ba()|0;if(!((j|0)==(h|0)&(k|0)==(i|0))){m=o;f[m>>2]=e;f[m+4>>2]=g;m=o+8|0;f[m>>2]=j;f[m+4>>2]=k;f[o+16>>2]=(c|0)==0?62823:62832;c=o+24|0;f[c>>2]=e;f[c+4>>2]=g;g=o+32|0;f[g>>2]=h;f[g+4>>2]=i;ts(a,62885,o)}break}default:{}}do if(l){j=f[l>>2]|0;o=l+128|0;i=f[o+4>>2]|0;if((i|0)>0|(i|0)==0&(f[o>>2]|0)>>>0>0)Hi(j,l);k=fg(l)|0;f[l+20>>2]=770837923;f[l+36>>2]=-1;f[l+40>>2]=0;b[l+142>>0]=2;f[l+44>>2]=0;f[l+32>>2]=1;b[l+143>>0]=-1;f[l+48>>2]=0;o=l+64|0;f[o>>2]=0;f[o+4>>2]=0;if((k|0)==3082|(b[j+81>>0]|0)!=0){Di(j);j=7;break}else{j=f[j+68>>2]&k;break}}else j=0;while(0);if(f[n>>2]|0){t=p;return}f[n>>2]=j;t=p;return}function xs(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=t;t=t+16|0;y=A;z=A+4|0;f[z>>2]=0;a=wk(a,63102)|0;if(a|0){z=a;t=A;return z|0}s=d+-3|0;r=e+12|0;a:do if(s){k=(d|0)>3;if(k){e=0;a=0;do{a=a+1+(wz(f[r+(e<<2)>>2]|0)|0)|0;e=e+1|0}while((e|0)!=(s|0))}else a=0;q=Fd(a+(s<<2)|0)|0;a=(q|0)==0;b:do if(a|k^1){if(a){e=7;j=0;a=0;m=44;break a}}else{n=q+(s<<2)|0;o=0;while(1){a=r+(o<<2)|0;p=wz(f[a>>2]|0)|0;f[q+(o<<2)>>2]=n;p=p+1|0;YA(n|0,f[a>>2]|0,p|0)|0;a=b[n>>0]|0;switch(a<<24>>24){case 34:case 39:case 91:case 96:{m=a<<24>>24==91?93:a;e=b[n+1>>0]|0;c:do if(!(e<<24>>24))a=0;else{k=1;a=0;do{l=k+1|0;if(e<<24>>24==m<<24>>24){if((b[n+l>>0]|0)!=m<<24>>24)break c;b[n+a>>0]=m;k=k+2|0}else{b[n+a>>0]=e;k=l}a=a+1|0;e=b[n+k>>0]|0}while(e<<24>>24!=0)}while(0);b[n+a>>0]=0;break}default:{}}o=o+1|0;if((o|0)==(s|0))break b;else n=n+p|0}}while(0);if((d|0)<4){k=59996;l=q;a=q;m=21}else{k=f[q>>2]|0;l=q;a=q;m=21}}else{k=59996;l=0;a=0;m=21}while(0);d:do if((m|0)==21){e=(wz(k)|0)+1|0;e:do if(((c|0?(u=c+16|0,f[u>>2]|0):0)?(v=jb[(b[c>>0]<<24>>24==1?171:172)&255](k,e)|0,v=(f[c+12>>2]|0)+-1&v,w=f[u>>2]|0,w|0):0)?(j=f[w+(v<<3)>>2]|0,x=(b[c>>0]|0)==1?87:88,i=f[w+(v<<3)+4>>2]|0,(j|0)!=0&(i|0)!=0):0){while(1){j=j+-1|0;if(!(lb[x&127](f[i+12>>2]|0,f[i+16>>2]|0,k,e)|0))break;i=f[i>>2]|0;if(!((j|0)!=0&(i|0)!=0))break e}i=f[i+8>>2]|0;if(i|0){j=i;i=kb[f[i+4>>2]&127]((d|0)>4?d+-4|0:0,l+4|0,z)|0;if(i|0){e=i;m=44;break d}if(Mc()|0){e=7;m=44;break d}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](20)|0;if(!i){e=7;m=44;break d}}else{i=ib[f[37372>>2]&255](20)|0;if((f[18194]|0)>>>0<20)f[18194]=20;k=71896;e=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&e>>>0>0){d=f[18187]|0;y=LA(e|0,k|0,i|0,((i|0)<0)<<31>>31|0)|0;h=ba()|0;f[17976]=((h|0)<0|(h|0)==0&y>>>0<=d>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){e=7;m=44;break d}e=ib[f[37368>>2]&255](i)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e};f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=j;f[i+16>>2]=f[z>>2];f[g>>2]=i;i=0;break d}}while(0);f[y>>2]=k;Ls(h,63153,y);e=1;j=0;m=44}while(0);if((m|0)==44){i=f[z>>2]|0;if(!i)i=e;else{ib[f[j+8>>2]&255](i)|0;i=e}}if(!a){z=i;t=A;return z|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);z=i;t=A;return z|0}else{z=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-z;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);z=i;t=A;return z|0}return 0}function ys(a,c){a=a|0;c=c|0;var d=0,e=0;d=f[c>>2]|0;a:do if((d|0)>0){e=f[c+4>>2]|0;a=0;while(1){if((b[e+(a*12|0)+5>>0]|0?(f[e+(a*12|0)>>2]|0)==0:0)?(b[e+(a*12|0)+4>>0]|0)==2:0)break;a=a+1|0;if((a|0)>=(d|0))break a}f[c+20>>2]=1;e=f[c+16>>2]|0;f[e+(a<<3)>>2]=1;b[e+(a<<3)+4>>0]=1;p[c+40>>3]=1.0;return 0}while(0);f[c+20>>2]=0;return 0}function zs(a){a=a|0;var b=0;ib[f[(f[a+12>>2]|0)+8>>2]&255](f[a+16>>2]|0)|0;if(!a)return 0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function As(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(Mc()|0){b=7;return b|0}if(!(f[9328]|0)){a=ib[f[37356>>2]&255](36)|0;if(!a){b=7;return b|0}}else{d=ib[f[37372>>2]&255](36)|0;if((f[18194]|0)>>>0<36)f[18194]=36;c=71896;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){e=f[18187]|0;c=LA(a|0,c|0,d|0,((d|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&c>>>0<=e>>>0)&1}a=ib[f[37356>>2]&255](d)|0;if(!a){e=7;return e|0}c=ib[f[37368>>2]&255](a)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c}c=a;d=c+36|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=a;e=0;return e|0}function Bs(a){a=a|0;var b=0,c=0,d=0;b=a+8|0;c=f[b>>2]|0;if(c|0){ib[f[(f[(f[a>>2]|0)+12>>2]|0)+16>>2]&255](c)|0;f[b>>2]=0}c=a+4|0;b=f[c>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{d=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);f[c>>2]=0;d=a+12|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{d=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Cs(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=f[a>>2]|0;n=a+8|0;e=f[n>>2]|0;if(e|0){ib[f[(f[k+12>>2]|0)+16>>2]&255](e)|0;f[n>>2]=0}m=a+4|0;e=f[m>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{l=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[m>>2]=0;l=a+12|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;if((c|0)!=1){a=1;return a|0}g=f[h>>2]|0;e=d[g+8>>1]|0;if((e&514)==514?(b[g+10>>0]|0)==1:0){i=f[g+16>>2]|0;c=g}else if(!(e&1)){i=Ic(g,1)|0;c=f[h>>2]|0}else{i=0;c=g}e=d[c+8>>1]|0;if((e&2)!=0?(b[c+10>>0]|0)==1:0)c=f[c+12>>2]|0;else j=16;do if((j|0)==16){e=e&65535;if(!(e&16)){if(e&1|0){c=0;break}c=_e(c,1)|0;break}else{g=f[c+12>>2]|0;if(!(e&16384)){c=g;break}c=(f[c>>2]|0)+g|0;break}}while(0);e=Fd(c+1|0)|0;f[m>>2]=e;if(!e){a=7;return a|0}YA(e|0,i|0,c|0)|0;b[(f[m>>2]|0)+c>>0]=0;g=k+16|0;e=lb[f[(f[k+12>>2]|0)+12>>2]&127](f[g>>2]|0,f[m>>2]|0,c,n)|0;if(e|0){a=e;return a|0}k=f[n>>2]|0;f[k>>2]=f[g>>2];g=f[a>>2]|0;f[l>>2]=(f[l>>2]|0)+1;g=nb[f[(f[g+12>>2]|0)+20>>2]&127](k,a+16|0,a+20|0,a+24|0,a+28|0,a+32|0)|0;if(!g){a=0;return a|0}e=f[n>>2]|0;if(e|0){ib[f[(f[(f[a>>2]|0)+12>>2]|0)+16>>2]&255](e)|0;f[n>>2]=0}e=f[m>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{a=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[m>>2]=0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;a=(g|0)==101?0:g;return a|0}function Ds(a){a=a|0;var b=0,c=0,d=0,e=0;d=f[a>>2]|0;e=a+12|0;f[e>>2]=(f[e>>2]|0)+1;c=a+8|0;d=nb[f[(f[d+12>>2]|0)+20>>2]&127](f[c>>2]|0,a+16|0,a+20|0,a+24|0,a+28|0,a+32|0)|0;if(!d)return 0;b=f[c>>2]|0;if(b|0){ib[f[(f[(f[a>>2]|0)+12>>2]|0)+16>>2]&255](b)|0;f[c>>2]=0}a=a+4|0;b=f[a>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);f[a>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;return ((d|0)==101?0:d)|0}function Es(a){a=a|0;return (f[a+16>>2]|0)==0|0}function Fs(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;switch(c|0){case 0:{if(($e(f[b>>2]|0,f[a+4>>2]|0,-1,1,-1)|0)!=18)return 0;f[b+20>>2]=18;$e(f[b>>2]|0,41612,-1,1,0)|0;return 0}case 1:{if(($e(f[b>>2]|0,f[a+16>>2]|0,f[a+20>>2]|0,1,-1)|0)!=18)return 0;f[b+20>>2]=18;$e(f[b>>2]|0,41612,-1,1,0)|0;return 0}case 2:{e=f[a+24>>2]|0;a=f[b>>2]|0;c=((e|0)<0)<<31>>31;b=a+8|0;if(!(d[b>>1]&9216)){f[a>>2]=e;f[a+4>>2]=c;d[b>>1]=4;return 0}else{bf(a,e,c);return 0}}case 3:{e=f[a+28>>2]|0;a=f[b>>2]|0;c=((e|0)<0)<<31>>31;b=a+8|0;if(!(d[b>>1]&9216)){f[a>>2]=e;f[a+4>>2]=c;d[b>>1]=4;return 0}else{bf(a,e,c);return 0}}default:{e=f[a+32>>2]|0;a=f[b>>2]|0;c=((e|0)<0)<<31>>31;b=a+8|0;if(!(d[b>>1]&9216)){f[a>>2]=e;f[a+4>>2]=c;d[b>>1]=4;return 0}else{bf(a,e,c);return 0}}}return 0}function Gs(a,b){a=a|0;b=b|0;a=f[a+12>>2]|0;f[b>>2]=a;f[b+4>>2]=((a|0)<0)<<31>>31;return 0}function Hs(a,c){a=a|0;c=c|0;var d=0;if((c|0)<1){c=wz(a)|0;if((c|0)<=0){d=0;return d|0}}d=0;while(1){d=d<<3^d^b[a>>0];if((c|0)<=1)break;else{a=a+1|0;c=c+-1|0}}d=d&2147483647;return d|0}function Is(a,c){a=a|0;c=c|0;var d=0;if((c|0)<=0){d=0;return d|0}d=0;while(1){d=d<<3^d^b[a>>0];if((c|0)<=1)break;else{a=a+1|0;c=c+-1|0}}d=d&2147483647;return d|0}function Js(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((b|0)==(d|0))a=Yz(a,c,b)|0;else a=1;return a|0}function Ks(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((b|0)==(d|0))a=Hz(a,c,b)|0;else a=1;return a|0}function Ls(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;g=t;t=t+16|0;d=g;e=f[a>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{h=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-h;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);f[d>>2]=c;h=lp(b,d)|0;f[a>>2]=h;t=g;return}function Ms(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Du(1,a,b,c,d,e,f)|0}function Ns(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Du(0,a,b,c,d,e,f)|0}function Os(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;t=c+20|0;f[t>>2]=0;n=c+40|0;p[n>>3]=5.0e6;o=f[c>>2]|0;if((o|0)>0){q=f[c+4>>2]|0;r=a+24|0;l=-1;i=-1;m=0;e=-1;k=-1;d=0;a:while(1){b:do if(!(b[q+(m*12|0)+5>>0]|0))if((b[q+(m*12|0)+4>>0]|0)==64){s=18;break a}else{g=l;h=i}else{h=f[q+(m*12|0)>>2]|0;if((h|0)<0)j=1;else j=(h|0)==((f[r>>2]|0)+1|0);g=b[q+(m*12|0)+4>>0]|0;c:do if(!((e|0)<0&(j&g<<24>>24==2))){switch(g<<24>>24){case 2:{s=13;break c}case 64:break;default:{h=i;break c}}if((h|0)>-1?(h|0)<=(f[r>>2]|0):0){d=h+2|0;f[t>>2]=d;p[n>>3]=2.0;h=i;e=m;g=64}else{h=i;g=64}}else{f[t>>2]=1;p[n>>3]=1.0;e=m;d=1;s=13}while(0);if((s|0)==13){s=0;h=(h|0)==((f[r>>2]|0)+2|0)?m:i;g=2}if(j){j=(g&255)+-4|0;switch(j>>>2|j<<30|0){case 0:case 7:{g=m;break b}case 3:case 1:{g=l;k=m;break b}default:{g=l;break b}}}else g=l}while(0);m=m+1|0;if((m|0)>=(o|0))break;else{l=g;i=h}}if((s|0)==18){f[t>>2]=0;p[n>>3]=1.e+50;c=c+48|0;f[c>>2]=0;f[c+4>>2]=262144;return 0}if((d|0)==1){d=c+56|0;f[d>>2]=f[d>>2]|1;d=1}if((e|0)>-1){s=f[c+16>>2]|0;f[s+(e<<3)>>2]=1;b[s+(e<<3)+4>>0]=1;e=2}else e=1;if((h|0)>-1){d=d|65536;f[t>>2]=d;f[(f[c+16>>2]|0)+(h<<3)>>2]=e;e=e+1|0}if((g|0)>-1){d=d|131072;f[t>>2]=d;f[(f[c+16>>2]|0)+(g<<3)>>2]=e;e=e+1|0}if((k|0)>-1){f[t>>2]=d|262144;f[(f[c+16>>2]|0)+(k<<3)>>2]=e}}if((f[c+8>>2]|0)!=1)return 0;d=f[c+12>>2]|0;t=f[d>>2]|0;if((t|0)>=0?(t|0)!=((f[a+24>>2]|0)+1|0):0)return 0;f[c+24>>2]=(b[d+4>>0]|0)==0?66262:66266;f[c+32>>2]=1;return 0}function Ps(a){a=a|0;var b=0,c=0;Fi(f[a+216>>2]|0)|0;b=a+56|0;Fi(f[b>>2]|0)|0;Fi(f[b+4>>2]|0)|0;Fi(f[b+8>>2]|0)|0;Fi(f[b+12>>2]|0)|0;Fi(f[b+16>>2]|0)|0;Fi(f[b+20>>2]|0)|0;Fi(f[b+24>>2]|0)|0;Fi(f[b+28>>2]|0)|0;Fi(f[b+32>>2]|0)|0;Fi(f[b+36>>2]|0)|0;Fi(f[b+40>>2]|0)|0;Fi(f[b+44>>2]|0)|0;Fi(f[b+48>>2]|0)|0;Fi(f[b+52>>2]|0)|0;Fi(f[b+56>>2]|0)|0;Fi(f[b+60>>2]|0)|0;Fi(f[b+64>>2]|0)|0;Fi(f[b+68>>2]|0)|0;Fi(f[b+72>>2]|0)|0;Fi(f[b+76>>2]|0)|0;Fi(f[b+80>>2]|0)|0;Fi(f[b+84>>2]|0)|0;Fi(f[b+88>>2]|0)|0;Fi(f[b+92>>2]|0)|0;Fi(f[b+96>>2]|0)|0;Fi(f[b+100>>2]|0)|0;Fi(f[b+104>>2]|0)|0;Fi(f[b+108>>2]|0)|0;Fi(f[b+112>>2]|0)|0;Fi(f[b+116>>2]|0)|0;Fi(f[b+120>>2]|0)|0;Fi(f[b+124>>2]|0)|0;Fi(f[b+128>>2]|0)|0;Fi(f[b+132>>2]|0)|0;Fi(f[b+136>>2]|0)|0;Fi(f[b+140>>2]|0)|0;Fi(f[b+144>>2]|0)|0;Fi(f[b+148>>2]|0)|0;Fi(f[b+152>>2]|0)|0;Fi(f[b+156>>2]|0)|0;b=f[a+244>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+220>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+224>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+40>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+44>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);c=f[a+36>>2]|0;ib[f[(f[c>>2]|0)+8>>2]&255](c)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Qs(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=t;t=t+48|0;i=l+32|0;h=l+24|0;k=l+16|0;j=l+8|0;g=l;b=l+40|0;f[b>>2]=0;c=f[a+16>>2]|0;d=f[a+12>>2]|0;e=a+20|0;if(!(f[a+40>>2]|0)){m=f[e>>2]|0;f[g>>2]=c;f[g+4>>2]=m;jt(b,d,66377,g)}m=f[e>>2]|0;f[j>>2]=c;f[j+4>>2]=m;jt(b,d,66414,j);m=f[e>>2]|0;f[k>>2]=c;f[k+4>>2]=m;jt(b,d,66452,k);m=f[e>>2]|0;f[h>>2]=c;f[h+4>>2]=m;jt(b,d,66488,h);m=f[e>>2]|0;f[i>>2]=c;f[i+4>>2]=m;jt(b,d,66525,i);b=f[b>>2]|0;if(b|0){m=b;t=l;return m|0}Ps(a)|0;m=0;t=l;return m|0}function Rs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;do if(!(Mc()|0)){if(!(f[9328]|0)){a=ib[f[37356>>2]&255](96)|0;f[b>>2]=a;if(!a){b=7;return b|0}}else{d=ib[f[37372>>2]&255](96)|0;if((f[18194]|0)>>>0<96)f[18194]=96;c=71896;a=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)>0|(c|0)==0&a>>>0>0){e=f[18187]|0;c=LA(a|0,c|0,d|0,((d|0)<0)<<31>>31|0)|0;a=ba()|0;f[17976]=((a|0)<0|(a|0)==0&c>>>0<=e>>>0)&1}a=ib[f[37356>>2]&255](d)|0;if(!a)break;c=ib[f[37368>>2]&255](a)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0)f[18196]=c;f[b>>2]=a}c=a+96|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));e=0;return e|0}while(0);f[b>>2]=0;e=7;return e|0}function Ss(a){a=a|0;var b=0;tu(a);if(!a)return 0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function Ts(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=t;t=t+128|0;J=L+104|0;F=L+96|0;G=L+64|0;x=L+56|0;w=L+48|0;A=L+40|0;B=L;C=L+116|0;y=L+112|0;z=L+108|0;H=f[a>>2]|0;r=c&65535;if(!r){g=0;K=0}else{g=1;K=f[i>>2]|0}if(!(c&65536)){u=0;s=0}else{s=f[i+(g<<2)>>2]|0;u=s;g=g+1|0}if(!(c&131072)){E=0;n=0}else{n=f[i+(g<<2)>>2]|0;E=n;g=g+1|0}if(!(c&262144)){D=0;o=0}else{o=f[i+(g<<2)>>2]|0;D=o}tu(a);do if(E){m=E+8|0;g=d[m>>1]|0;v=g&31;i=h[5792+v>>0]|0;if((v|16|0)==18){g=b[E+10>>0]|0;i=E+16|0;l=E+12|0;if(!(jf(f[i>>2]|0,A,f[l>>2]|0,g)|0))g=d[m>>1]|0;else{if(!(kf(f[i>>2]|0,B,f[l>>2]|0,g)|0)){q=B;v=f[q+4>>2]|0;g=E;f[g>>2]=f[q>>2];f[g+4>>2]=v;g=4}else{p[E>>3]=+p[A>>3];g=8}g=d[m>>1]&-3|g;d[m>>1]=g}i=h[5792+(g&31)>>0]|0}if((i|0)==1){g=g&65535;if(g&4|0){i=n;g=f[i>>2]|0;i=f[i+4>>2]|0;break}if(g&8|0){g=Fc(+p[E>>3])|0;i=ba()|0;break}if(!(g&18)){g=0;i=0}else{g=Gc(b[E+10>>0]|0,f[E+12>>2]|0,f[E+16>>2]|0)|0;i=ba()|0}}else{g=0;i=-2147483648}}else{g=0;i=-2147483648}while(0);v=a+72|0;q=v;f[q>>2]=g;f[q+4>>2]=i;do if(D){m=D+8|0;g=d[m>>1]|0;q=g&31;i=h[5792+q>>0]|0;if((q|16|0)==18){g=b[D+10>>0]|0;i=D+16|0;l=D+12|0;if(!(jf(f[i>>2]|0,A,f[l>>2]|0,g)|0))g=d[m>>1]|0;else{if(!(kf(f[i>>2]|0,B,f[l>>2]|0,g)|0)){n=B;q=f[n+4>>2]|0;g=D;f[g>>2]=f[n>>2];f[g+4>>2]=q;g=4}else{p[D>>3]=+p[A>>3];g=8}g=d[m>>1]&-3|g;d[m>>1]=g}i=h[5792+(g&31)>>0]|0}if((i|0)==1){g=g&65535;if(g&4|0){i=o;g=f[i>>2]|0;i=f[i+4>>2]|0;break}if(g&8|0){g=Fc(+p[D>>3])|0;i=ba()|0;break}if(!(g&18)){g=0;i=0}else{g=Gc(b[D+10>>0]|0,f[D+12>>2]|0,f[D+16>>2]|0)|0;i=ba()|0}}else{g=-1;i=2147483647}}else{g=-1;i=2147483647}while(0);q=a+80|0;o=q;f[o>>2]=g;f[o+4>>2]=i;if(!e)g=b[H+235>>0]|0;else g=(b[e>>0]|0)==68&1;b[a+52>>0]=g;c=c&65535;d[a+4>>1]=c;do if(r>>>0>1){n=r+-2|0;i=K+8|0;do if(K){g=d[i>>1]|0;if((g&514)==514?(b[K+10>>0]|0)==1:0)g=f[K+16>>2]|0;else{if(g&1){I=52;break}g=Ic(K,1)|0}if(g){o=g;l=0}else I=52}else I=52;while(0);if((I|0)==52)if(!(-1431655766>>>(d[i>>1]&31)&1)){a=7;t=L;return a|0}else{o=0;l=1}i=a+20|0;f[i>>2]=0;if(!u)g=0;else{g=j[u+8>>1]|0;do if(!(g&4)){if(g&8|0){g=Fc(+p[u>>3])|0;ba()|0;break}if(!(g&18))g=0;else{g=Gc(b[u+10>>0]|0,f[u+12>>2]|0,f[u+16>>2]|0)|0;ba()|0}}else g=f[s>>2]|0;while(0);f[i>>2]=g}i=f[H+36>>2]|0;r=f[H+28>>2]|0;u=h[H+232>>0]|0;s=f[H+24>>2]|0;e=a+16|0;m=H+8|0;M=B+24|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[B>>2]=i;f[B+4>>2]=g;f[B+8>>2]=r;f[B+16>>2]=s;f[B+20>>2]=n;f[B+12>>2]=u;a:do if(l){f[e>>2]=0;g=0}else{g=vu(B,o,wz(o)|0,e,A)|0;do if(!g){g=f[e>>2]|0;if(f[B+32>>2]|0){uu(g);f[e>>2]=0;break}if(!g){g=0;break a}g=wu(e,12)|0;if(!g){g=f[e>>2]|0;i=xu(g,12)|0;if(!i)break a;else{k=i;I=70}}else{k=g;I=70}}else{k=g;I=70}while(0);b:do if((I|0)==70){uu(f[e>>2]|0);f[e>>2]=0;switch(k|0){case 1:break b;case 18:break;default:{M=k;t=L;return M|0}}f[w>>2]=12;Ls(m,66177,w);M=1;t=L;return M|0}while(0);f[x>>2]=o;Ls(m,66229,x);M=1;t=L;return M|0}while(0);M=f[a>>2]|0;f[A>>2]=0;f[B>>2]=0;f[C>>2]=0;yu(a,g,B,C,A);g=f[B>>2]|0;do if((f[A>>2]|0)==0&(g|0)>1?b[M+232>>0]|0:0){i=Fd((f[C>>2]<<3)+(g*24|0)|0)|0;l=i+((f[B>>2]|0)*24|0)|0;if(!i){f[A>>2]=7;break}f[y>>2]=i;f[z>>2]=l;zu(a,0,f[e>>2]|0,y,z,A);g=((f[y>>2]|0)-i|0)/24|0;f[B>>2]=g;f[C>>2]=(f[z>>2]|0)-l>>2;if((f[A>>2]|0)==0?(M=Au(a,0,i,g)|0,f[A>>2]=M,(M|0)==0&(f[C>>2]|0)>0):0){g=0;do{M=Au(a,f[l+(g<<2)>>2]|0,i,f[B>>2]|0)|0;f[A>>2]=M;g=g+1|0}while((M|0)==0?(g|0)<(f[C>>2]|0):0)}if(!(f[9328]|0))ob[f[37360>>2]&127](i);else{M=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-M;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i)}}while(0);Bu(a,f[e>>2]|0,A);g=f[A>>2]|0;i=H+248|0;l=f[i>>2]|0;do if(l|0){m=f[l+20>>2]|0;Fi(f[l+16>>2]|0)|0;if(m|0){if(f[m+480>>2]|0){Kc(m,l);break}M=l;if((f[m+304>>2]|0)>>>0<=M>>>0?(f[m+308>>2]|0)>>>0>M>>>0:0){M=m+300|0;f[l>>2]=f[M>>2];f[M>>2]=l;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{M=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-M;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[i>>2]=0;if(!g){f[a+40>>2]=f[a+44>>2];M=a+32|0;f[M>>2]=0;f[M+4>>2]=0;break}else{M=g;t=L;return M|0}}while(0);c:do switch(c<<16>>16){case 0:{k=f[H+220>>2]|0;if((E|0)!=0|(D|0)!=0){I=v;F=f[I>>2]|0;I=f[I+4>>2]|0;K=q;J=f[K>>2]|0;K=f[K+4>>2]|0;g=(b[a+52>>0]|0)==0?66262:66266;f[G>>2]=k;M=G+8|0;f[M>>2]=F;f[M+4>>2]=I;M=G+16|0;f[M>>2]=J;f[M+4>>2]=K;f[G+24>>2]=g;g=wd(66271,G)|0}else{g=(b[a+52>>0]|0)==0?66262:66266;f[F>>2]=k;f[F+4>>2]=g;g=wd(66333,F)|0}if(!g){M=7;t=L;return M|0}k=Ki(f[H+12>>2]|0,g,-1,129,0,a+12|0,0)|0;if(!(f[9328]|0)){ob[f[37360>>2]&127](g);I=116;break c}else{I=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);I=116;break c}}case 1:{l=a+12|0;k=f[l>>2]|0;if(!k){i=f[a>>2]|0;g=i+216|0;k=f[g>>2]|0;do if(!k){f[J>>2]=f[i+220>>2];g=wd(64616,J)|0;if(!g){M=7;t=L;return M|0}k=Ki(f[i+12>>2]|0,g,-1,129,0,l,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](g);else{M=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-M;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g)}if(!k){k=f[l>>2]|0;break}else{M=k;t=L;return M|0}}else{f[l>>2]=k;f[g>>2]=0}while(0);b[a+8>>0]=1}k=Tp(k,1,K)|0;I=116;break}default:{}}while(0);if((I|0)==116?k|0:0){M=k;t=L;return M|0}M=Us(a)|0;t=L;return M|0}function Us(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;q=t;t=t+16|0;c=q;if((j[a+4>>1]|0)<2){c=a+12|0;if((Ei(f[c>>2]|0)|0)==100){o=Jp(f[c>>2]|0,0)|0;p=ba()|0;a=a+32|0;f[a>>2]=o;f[a+4>>2]=p;a=0;t=q;return a|0}b[a+6>>0]=1;e=f[c>>2]|0;if(!e){a=0;t=q;return a|0}c=f[e>>2]|0;a=e+128|0;p=f[a+4>>2]|0;if((p|0)>0|(p|0)==0&(f[a>>2]|0)>>>0>0)Hi(c,e);d=fg(e)|0;f[e+20>>2]=770837923;f[e+36>>2]=-1;f[e+40>>2]=0;b[e+142>>0]=2;f[e+44>>2]=0;f[e+32>>2]=1;b[e+143>>0]=-1;f[e+48>>2]=0;a=e+64|0;f[a>>2]=0;f[a+4>>2]=0;if((d|0)==3082|(b[c+81>>0]|0)!=0){Di(c);a=7;t=q;return a|0}else{a=f[c+68>>2]&d;t=q;return a|0}}f[c>>2]=0;d=f[a+16>>2]|0;if(d){e=a+7|0;g=a+12|0;h=d+32|0;i=a+6|0;k=a+88|0;l=d+24|0;o=a+32|0;do{if((b[e>>0]|0)==0?(m=f[g>>2]|0,m|0):0){n=f[m>>2]|0;r=m+128|0;s=f[r+4>>2]|0;if((s|0)>0|(s|0)==0&(f[r>>2]|0)>>>0>0)Hi(n,m);s=fg(m)|0;f[m+20>>2]=770837923;f[m+36>>2]=-1;f[m+40>>2]=0;b[m+142>>0]=2;f[m+44>>2]=0;f[m+32>>2]=1;b[m+143>>0]=-1;f[m+48>>2]=0;r=m+64|0;f[r>>2]=0;f[r+4>>2]=0;if((s|0)==3082|(b[n+81>>0]|0)!=0)Di(n)}Yt(a,d,c);s=b[h>>0]|0;b[i>>0]=s;b[e>>0]=1;f[k>>2]=1;u=l;n=f[u+4>>2]|0;r=o;f[r>>2]=f[u>>2];f[r+4>>2]=n;if(s<<24>>24)break}while((Ot(a,c)|0)!=0);c=f[c>>2]|0;if(!c){c=o;p=22}}else{b[a+6>>0]=1;c=a+32|0;p=22}do if((p|0)==22){d=c;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!(b[a+52>>0]|0)){u=a+80|0;s=f[u+4>>2]|0;if(!((d|0)>(s|0)|((d|0)==(s|0)?c>>>0>(f[u>>2]|0)>>>0:0))){c=0;break}}else{u=a+72|0;s=f[u+4>>2]|0;if(!((d|0)<(s|0)|((d|0)==(s|0)?c>>>0<(f[u>>2]|0)>>>0:0))){c=0;break}}b[a+6>>0]=1;c=0}while(0);u=c;t=q;return u|0}function Vs(a){a=a|0;var c=0;c=a+6|0;if(!(b[c>>0]|0)){c=0;return c|0}tu(a);b[c>>0]=1;c=1;return c|0}function Ws(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0;g=f[a>>2]|0;h=f[g+24>>2]|0;switch(e-h|0){case 0:{e=f[c>>2]|0;g=e+8|0;if(!((d[g>>1]&9216)==0?!(f[e+24>>2]|0):0))ff(e);f[e>>2]=64490;f[e+16>>2]=a;d[g>>1]=-31231;b[e+11>>0]=112;f[e+36>>2]=110;c=0;return c|0}case 1:{a=a+32|0;h=f[a>>2]|0;a=f[a+4>>2]|0;e=f[c>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){c=e;f[c>>2]=h;f[c+4>>2]=a;d[g>>1]=4;c=0;return c|0}else{bf(e,h,a);c=0;return c|0}}case 2:{if(f[a+16>>2]|0){h=f[a+20>>2]|0;a=((h|0)<0)<<31>>31;e=f[c>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){c=e;f[c>>2]=h;f[c+4>>2]=a;d[g>>1]=4;c=0;return c|0}else{bf(e,h,a);c=0;return c|0}}if(!(f[g+44>>2]|0)){e=f[c>>2]|0;g=e+8|0;if(!(d[g>>1]&9216)){c=e;f[c>>2]=0;f[c+4>>2]=0;d[g>>1]=4;c=0;return c|0}else{bf(e,0,0);c=0;return c|0}}break}default:h=e}e=Qt(0,a)|0;if(e|0){c=e;return c|0}k=f[a+12>>2]|0;i=(k|0)==0;if(!i?(f[k+104>>2]|0)!=0:0)e=(j[k+140>>1]|0)+-1|0;else e=-1;if((e|0)<=(h|0)){c=0;return c|0}e=h+1|0;do if(i)a=37592;else{g=f[k+104>>2]|0;if(g|0?e>>>0<(j[k+140>>1]|0)>>>0:0){a=g+(e*40|0)|0;break}a=f[k>>2]|0;f[a+64>>2]=25;Bg(a,25);a=37592}while(0);e=a+8|0;g=j[e>>1]|0;if(g&2048|0)d[e>>1]=g&59391|4096;if(!i){g=f[k>>2]|0;h=k+40|0;e=f[h>>2]|0;if((e|0)==3082|(b[g+81>>0]|0)!=0){Di(g);e=7}else e=f[g+68>>2]&e;f[h>>2]=e}mf(c,a);c=0;return c|0}function Xs(a,b){a=a|0;b=b|0;var c=0;c=a+32|0;a=f[c+4>>2]|0;f[b>>2]=f[c>>2];f[b+4>>2]=a;return 0} -function Kl(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0;Sa=t;t=t+368|0;Ka=Sa+192|0;Ja=Sa+184|0;Ea=Sa+168|0;Ca=Sa+160|0;Fa=Sa+152|0;ua=Sa+144|0;ta=Sa+136|0;sa=Sa+128|0;ra=Sa+120|0;la=Sa+112|0;ja=Sa+104|0;ka=Sa+96|0;ha=Sa+88|0;ga=Sa+80|0;ia=Sa+72|0;ea=Sa+64|0;ca=Sa+56|0;aa=Sa+48|0;da=Sa+32|0;D=Sa+24|0;C=Sa+16|0;l=Sa+8|0;k=Sa;Ha=Sa+336|0;Da=Sa+304|0;Ia=Sa+288|0;Ma=Sa+248|0;Pa=Sa+200|0;Qa=f[a>>2]|0;Ra=a+8|0;g=f[Ra>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[Qa+76>>1]&8)==0:0)b[a+23>>0]=1;Na=sl(a)|0}else Na=g;if(!c){Ra=1;t=Sa;return Ra|0}Aa=Qa+81|0;if(b[Aa>>0]|0){Ra=1;t=Sa;return Ra|0}Oa=a+36|0;if(f[Oa>>2]|0){Ra=1;t=Sa;return Ra|0}g=f[a>>2]|0;do if(((b[g+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(i=f[g+312>>2]|0,i|0):0){g=nb[i&127](f[g+316>>2]|0,21,0,0,0,f[a+236>>2]|0)|0;if((g|0)==1){ni(a,49816,k);f[a+12>>2]=23;Ra=1;t=Sa;return Ra|0}if((g|2|0)==2){if(!g)break;else g=1;t=Sa;return g|0}else{ni(a,49831,l);f[a+12>>2]=1;Ra=1;t=Sa;return Ra|0}}while(0);W=Pa;X=W+48|0;do{f[W>>2]=0;W=W+4|0}while((W|0)<(X|0));if((h[e>>0]|0)<9){g=c+48|0;i=f[g>>2]|0;if(i|0)jg(Qa,i);f[g>>2]=0;Ga=c+8|0;f[Ga>>2]=f[Ga>>2]&-2;cg(a,c,0)}else cg(a,c,0);a:do if((f[Oa>>2]|0)==0?(b[Aa>>0]|0)==0:0){if(((b[e>>0]|0)==9?(A=f[Ra>>2]|0,B=f[a>>2]|0,(b[a+195>>0]|0)==0):0)?(m=a+16|0,(b[m>>0]|0)==0):0){i=c;while(1){g=f[i+52>>2]|0;if(!g)break;else i=g}y=f[i+32>>2]|0;z=f[i>>2]|0;b[m>>0]=1;x=f[B+32>>2]|0;w=(x&4|0)==0&0==0;x=(x&68|0)==0&0==0;Mi(A,f[z>>2]|0);g=f[z>>2]|0;if((g|0)>0){q=A+100|0;r=B+272|0;s=B+276|0;u=B+81|0;v=B+288|0;m=B+300|0;n=B+296|0;o=B+284|0;p=B+292|0;l=0;do{i=f[z+4+(l*20|0)>>2]|0;g=f[z+4+(l*20|0)+4>>2]|0;b:do if(g){if(!(b[(f[A>>2]|0)+81>>0]|0))$e((f[q>>2]|0)+(l*40|0)|0,g,-1,1,-1)|0}else{do if(!x){if((b[i>>0]|0)!=-98)break;g=d[i+32>>1]|0;i=f[i+44>>2]|0;if(g<<16>>16<0)g=d[i+40>>1]|0;else g=g<<16>>16;if((g|0)<0)g=47870;else g=f[(f[i+4>>2]|0)+(g<<4)>>2]|0;if(w){if(b[(f[A>>2]|0)+81>>0]|0)break b;$e((f[q>>2]|0)+(l*40|0)|0,g,-1,1,-1)|0;break b}else{f[C>>2]=f[i>>2];f[C+4>>2]=g;g=Ig(B,50225,C)|0;if(b[(f[A>>2]|0)+81>>0]|0)break b;$e((f[q>>2]|0)+(l*40|0)|0,g,-1,1,139)|0;break b}}while(0);i=f[z+4+(l*20|0)+8>>2]|0;c:do if(!i){f[D>>2]=l+1;g=Ig(B,50333,D)|0}else{k=(wz(i)|0)+1|0;d:do if(f[r>>2]|0)if(!(b[u>>0]|0))La=55;else{g=0;break c}else{do if(0<0|(0==0?(j[s>>1]|0)>>>0>>0:0))g=v;else{g=f[m>>2]|0;if(g|0){f[m>>2]=f[g>>2];f[o>>2]=(f[o>>2]|0)+1;break d}g=f[n>>2]|0;if(!g){g=p;break}f[n>>2]=f[g>>2];f[o>>2]=(f[o>>2]|0)+1;break d}while(0);f[g>>2]=(f[g>>2]|0)+1;La=55}while(0);if((La|0)==55){La=0;g=Dc(B,k,0)|0}if(!g){g=0;break}YA(g|0,i|0,k|0)|0}while(0);if(b[(f[A>>2]|0)+81>>0]|0)break;$e((f[q>>2]|0)+(l*40|0)|0,g,-1,1,139)|0}while(0);l=l+1|0;g=f[z>>2]|0}while((l|0)<(g|0))}m=f[Ra>>2]|0;f[Ha+4>>2]=y;f[Ha>>2]=a;f[Ha+12>>2]=0;if((g|0)>0){k=m+100|0;l=m+140|0;i=0;do{if(!(b[(f[m>>2]|0)+81>>0]|0)){g=Xk(Ha,f[z+4+(i*20|0)>>2]|0)|0;$e((f[k>>2]|0)+((i+(j[l>>1]|0)|0)*40|0)|0,g,-1,1,-1)|0;g=f[z>>2]|0}i=i+1|0}while((i|0)<(g|0))}}xa=c+68|0;i=f[xa>>2]|0;fa=c+52|0;if(i|0?(f[fa>>2]|0)==0:0){g=f[Ra>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;A=sl(a)|0;i=f[xa>>2]|0}else A=g;B=f[a>>2]|0;z=c+32|0;v=f[z>>2]|0;w=f[c+36>>2]|0;x=f[c+40>>2]|0;y=f[c+44>>2]|0;o=i+4|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;f[z+12>>2]=0;g=Ik(B,f[o>>2]|0,0)|0;p=i+8|0;m=f[p>>2]|0;if(m){if(!g)n=0;else n=f[g>>2]|0;if((f[m>>2]|0)>0){l=0;do{k=f[m+4+(l*20|0)>>2]|0;if(!k)k=0;else k=Bk(f[a>>2]|0,k,0,0)|0;g=ml(f[a>>2]|0,g,k)|0;if(g|0)b[g+4+((l+n|0)*20|0)+12>>0]=b[m+4+(l*20|0)+12>>0]|0;l=l+1|0}while((l|0)<(f[m>>2]|0));u=g}else u=g}else u=g;e:do if((u|0?(G=c+48|0,F=f[G>>2]|0,F|0):0)?(E=f[u>>2]|0,(E|0)==(f[F>>2]|0)):0){if((E|0)>0){g=0;do{if((b[u+4+(g*20|0)+12>>0]|0)!=(b[F+4+(g*20|0)+12>>0]|0))break e;if(Ck(0,f[u+4+(g*20|0)>>2]|0,f[F+4+(g*20|0)>>2]|0,-1)|0)break e;g=g+1|0}while((g|0)<(f[u>>2]|0));g=f[G>>2]|0;if(g|0)La=93}else{g=F;La=93}if((La|0)==93)jg(B,g);f[G>>2]=0}while(0);s=a+40|0;g=f[s>>2]|0;f[s>>2]=g+1;s=i+36|0;f[s>>2]=g;g=f[c>>2]|0;m=Ha+12|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[Da+12>>2]=0;m=Da+8|0;f[m>>2]=0;f[Da>>2]=i;f[Da+4>>2]=v;f[Ha>>2]=a;f[Ha+4>>2]=157;f[Ha+8>>2]=158;f[Ha+24>>2]=Da;if((g|0)!=0?(H=f[g>>2]|0,(H|0)>0):0){l=H;g=g+4|0;while(1){k=f[g>>2]|0;if(k|0?oi(Ha,k)|0:0)break;if((l|0)>1){l=l+-1|0;g=g+20|0}else break}k=f[m>>2]|0}else k=0;g=f[c+48>>2]|0;m=Ha+12|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[Da+12>>2]=0;m=Da+8|0;f[m>>2]=k;f[Da>>2]=i;f[Da+4>>2]=v;f[Ha>>2]=a;f[Ha+4>>2]=157;f[Ha+8>>2]=158;f[Ha+24>>2]=Da;if((g|0)!=0?(I=f[g>>2]|0,(I|0)>0):0){l=I;g=g+4|0;while(1){k=f[g>>2]|0;if(k|0?oi(Ha,k)|0:0)break;if((l|0)>1){l=l+-1|0;g=g+20|0}else break}k=f[m>>2]|0}g=k;l=(k|0)==0;if(l)k=0;else k=f[g>>2]|0;f[i+64>>2]=k;n=f[o>>2]|0;do if(n){if(l)m=0;else m=f[g>>2]|0;if((f[n>>2]|0)<=0)break;l=0;do{k=f[n+4+(l*20|0)>>2]|0;if(!k)k=0;else k=Bk(f[a>>2]|0,k,0,0)|0;g=ml(f[a>>2]|0,g,k)|0;if(g|0)b[g+4+((l+m|0)*20|0)+12>>0]=b[n+4+(l*20|0)+12>>0]|0;l=l+1|0}while((l|0)<(f[n>>2]|0))}while(0);m=f[p>>2]|0;do if(m){if(!g)n=0;else n=f[g>>2]|0;if((f[m>>2]|0)<=0){La=131;break}l=0;do{k=f[m+4+(l*20|0)>>2]|0;if(!k)k=0;else k=Bk(f[a>>2]|0,k,0,0)|0;g=ml(f[a>>2]|0,g,k)|0;k=(g|0)==0;if(!k)b[g+4+((l+n|0)*20|0)+12>>0]=b[m+4+(l*20|0)+12>>0]|0;l=l+1|0}while((l|0)<(f[m>>2]|0));if(!i)i=k;else{l=g;La=133}}else La=131;while(0);if((La|0)==131){l=g;k=(g|0)==0;La=133}if((La|0)==133){o=a+44|0;p=A+136|0;q=A+12|0;r=A+88|0;g=l;do{if(k)l=0;else l=f[g>>2]|0;f[i+68>>2]=l;n=f[(f[i+60>>2]|0)+20>>2]|0;do if(n){if(k)m=0;else m=f[g>>2]|0;if((f[n>>2]|0)<=0)break;l=0;do{k=f[n+4+(l*20|0)>>2]|0;if(!k)k=0;else k=Bk(f[a>>2]|0,k,0,0)|0;g=ml(f[a>>2]|0,g,k)|0;if(g|0)b[g+4+((l+m|0)*20|0)+12>>0]=b[n+4+(l*20|0)+12>>0]|0;l=l+1|0}while((l|0)<(f[n>>2]|0))}while(0);k=f[i+28>>2]|0;if(k){Ga=Bk(B,k,0,0)|0;g=ml(f[a>>2]|0,g,Ga)|0}l=f[o>>2]|0;k=l+1|0;f[i+40>>2]=k;l=l+2|0;f[o>>2]=l;f[i+44>>2]=l;l=f[p>>2]|0;if((f[(f[q>>2]|0)+48>>2]|0)>(l|0)){f[p>>2]=l+1;Ga=f[r>>2]|0;b[Ga+(l*20|0)>>0]=73;d[Ga+(l*20|0)+2>>1]=0;f[Ga+(l*20|0)+4>>2]=0;f[Ga+(l*20|0)+8>>2]=k;f[Ga+(l*20|0)+12>>2]=0;f[Ga+(l*20|0)+16>>2]=0;b[Ga+(l*20|0)+1>>0]=0}else tl(A,73,0,k,0)|0;i=f[i+24>>2]|0;k=(g|0)==0}while((i|0)!=0);i=k}if(i){k=Dk(B,143,10016,0)|0;k=ml(f[a>>2]|0,0,k)|0}else k=g;g=Ll(a,k,v,w,x,y,u,0,0)|0;i=ol(B,0,0,0)|0;f[z>>2]=i;do if(i){f[i+28>>2]=g;Tk(a,i);if(!(il(a,(f[z>>2]|0)+8|0)|0)){Ga=g+8|0;f[Ga>>2]=f[Ga>>2]|64;Ga=c+8|0;f[Ga>>2]=f[Ga>>2]&-9;cg(a,g,0);g=0}else g=7;m=f[s>>2]|0;i=f[k>>2]|0;k=A+136|0;l=f[k>>2]|0;if((f[(f[A+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;Ga=f[A+88>>2]|0;b[Ga+(l*20|0)>>0]=113;d[Ga+(l*20|0)+2>>1]=0;f[Ga+(l*20|0)+4>>2]=m;f[Ga+(l*20|0)+8>>2]=i;f[Ga+(l*20|0)+12>>2]=0;f[Ga+(l*20|0)+16>>2]=0;b[Ga+(l*20|0)+1>>0]=0;break}else{tl(A,113,m,i,0)|0;break}}else{if(!g){g=0;break}mg(B,g,1);g=0}while(0);if(!((g|0)==0&(b[B+81>>0]|0)==0)){l=1;break}}za=c+32|0;k=f[za>>2]|0;Ga=c+8|0;na=(f[Ga>>2]|0)>>>3&1;W=Ma+4|0;X=W+36|0;do{f[W>>2]=0;W=W+4|0}while((W|0)<(X|0));Y=c+48|0;f[Ma>>2]=f[Y>>2];g=f[fa>>2]|0;f:do if(!g){va=c+36|0;K=Ha+4|0;L=Ha+8|0;M=Ha+12|0;N=Ha+20|0;O=Ha+24|0;ya=Qa+76|0;Z=a+236|0;P=c+60|0;Q=(na|0)!=0;_=a+196|0;R=c+4|0;$=a+12|0;S=Ha+4|0;T=Ha+8|0;U=Ha+12|0;V=Ha+16|0;Ba=a+116|0;i=0;wa=k;g:while(1){g=f[wa>>2]|0;if((i|0)>=(g|0))break;m=f[wa+8+(i*72|0)+20>>2]|0;n=f[wa+8+(i*72|0)+16>>2]|0;g=wa+8+(i*72|0)+36|0;do if(b[g>>0]&8){k=f[va>>2]|0;l=wa+8+(i*72|0)+40|0;X=f[l>>2]|0;f[K>>2]=159;f[L>>2]=0;f[M>>2]=0;b[N>>0]=0;f[O>>2]=X;if(!k)break;oi(Ha,k)|0;if(b[N>>0]|0?(d[ya>>1]&8192)==0:0){b[g>>0]=b[g>>0]&-41;mo(f[va>>2]|0,f[l>>2]|0)}}while(0);h:do if(m){g=d[n+42>>1]|0;k=f[f[m>>2]>>2]|0;if((k|0)!=(g<<16>>16|0)){La=174;break g}if(!(f[m+8>>2]&8)){do if((i|0)==0&(f[m+48>>2]|0)!=0){if(!(f[Ga>>2]&262144))break;if((f[wa>>2]|0)==1){g=wa;i=0;break h}if(b[wa+116>>0]&10){g=wa;i=0;break h}}while(0);r=f[Z>>2]|0;I=f[a>>2]|0;i:do if(!(d[I+76>>1]&1)){s=f[za>>2]|0;J=f[s+8+(i*72|0)+40>>2]|0;u=s+8+(i*72|0)+20|0;l=f[u>>2]|0;if(f[xa>>2]|0)break;if(f[l+68>>2]|0)break;n=f[l+32>>2]|0;g=f[l+60>>2]|0;m=(g|0)==0;if(!m){if(f[P>>2]|0)break;if(f[g+16>>2]|0)break;g=f[Ga>>2]|0;if(g&256)break}else g=f[Ga>>2]|0;k=f[n>>2]|0;if(!k)break;o=f[l+8>>2]|0;if(o&1|0)break;if(!m?Q|(f[s>>2]|0)>1:0)break;q=f[Y>>2]|0;p=(q|0)==0;if(!p?f[l+48>>2]|0:0)break;if(Q?f[l+48>>2]|0:0)break;if(m){if(o&8192|0)break}else if(!((o&8192|g&1|0)==0&(f[va>>2]|0)==0))break;H=s+8+(i*72|0)+36|0;if(b[H>>0]&32){if(Q|(k|0)>1)break;if(!(f[(f[n+24>>2]|0)+56>>2]|0))G=1;else break}else G=0;m=l+52|0;k=f[m>>2]|0;do if(k|0){if(!((g&1|0)==0&((Q|(f[l+48>>2]|0)!=0)^1)))break i;if(!((f[s>>2]|0)==1&(o&9|0)==0))break i;g=k;while(1){k=(g|0)==0;if(!k?(b[l+4>>0]|0)!=124:0)break i;if((f[f[l+32>>2]>>2]|0)<1)break i;if(k)break;if(f[g+8>>2]&9|0)break i;l=g;g=f[g+52>>2]|0}if(p)break;k=f[q>>2]|0;if((k|0)<=0)break;g=0;do{if(!(d[q+4+(g*20|0)+16>>1]|0))break i;g=g+1|0}while((g|0)<(k|0))}while(0);p=s+8+(i*72|0)+8|0;g=f[p>>2]|0;f[Z>>2]=g;do if(!(b[I+165>>0]|0)){if(b[_>>0]|0)break;k=f[I+312>>2]|0;if(!k)break;g=nb[k&127](f[I+316>>2]|0,21,0,0,0,g)|0;if((g|0)==1){ni(a,49816,aa);f[$>>2]=23;break}if((g|2|0)==2)break;ni(a,49831,ca);f[$>>2]=1}while(0);f[Z>>2]=r;g=f[m>>2]|0;if(g|0){o=I+81|0;n=f[Y>>2]|0;m=f[P>>2]|0;l=f[fa>>2]|0;while(1){f[Y>>2]=0;f[za>>2]=0;f[fa>>2]=0;f[P>>2]=0;k=Hk(I,c,0)|0;f[P>>2]=m;f[Y>>2]=n;f[za>>2]=s;b[R>>0]=124;if(!k)k=l;else{f[k+52>>2]=l;if(l|0)f[l+56>>2]=k;f[k+56>>2]=c}f[fa>>2]=k;if(b[o>>0]|0){i=-1;break i}g=f[g+52>>2]|0;if(!g)break;else l=k}}F=f[u>>2]|0;m=s+8+(i*72|0)+4|0;g=f[m>>2]|0;j:do if(g|0){if(f[I+480>>2]|0){Kc(I,g);break}k=g;do if((f[I+304>>2]|0)>>>0<=k>>>0){if((f[I+308>>2]|0)>>>0<=k>>>0)break;wa=I+300|0;f[g>>2]=f[wa>>2];f[wa>>2]=g;break j}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{wa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-wa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[p>>2]|0;k:do if(g|0){if(f[I+480>>2]|0){Kc(I,g);break}k=g;do if((f[I+304>>2]|0)>>>0<=k>>>0){if((f[I+308>>2]|0)>>>0<=k>>>0)break;wa=I+300|0;f[g>>2]=f[wa>>2];f[wa>>2]=g;break k}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{wa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-wa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=s+8+(i*72|0)+12|0;k=f[g>>2]|0;l:do if(k|0){if(f[I+480>>2]|0){Kc(I,k);break}l=k;do if((f[I+304>>2]|0)>>>0<=l>>>0){if((f[I+308>>2]|0)>>>0<=l>>>0)break;wa=I+300|0;f[k>>2]=f[wa>>2];f[wa>>2]=k;break l}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{wa=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-wa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);f[m>>2]=0;f[p>>2]=0;f[g>>2]=0;f[u>>2]=0;g=s+8+(i*72|0)+16|0;k=f[g>>2]|0;if(k|0){l=k+32|0;m=f[l>>2]|0;if((m|0)==1){wa=f[Ba>>2]|0;wa=((wa|0)==0?a:wa)+252|0;f[k+76>>2]=f[wa>>2];f[wa>>2]=k}else f[l>>2]=m+-1;f[g>>2]=0}x=i+1|0;y=I+81|0;z=I+480|0;A=I+304|0;B=I+308|0;C=I+300|0;D=I+276|0;E=(G|0)==0;v=c;n=-1;w=F;while(1){r=f[w+32>>2]|0;s=f[r>>2]|0;q=v+32|0;g=f[q>>2]|0;if(!g){g=ol(I,0,0,0)|0;f[q>>2]=g;if(!g)break;else u=0}else u=b[H>>0]|0;if((s|0)>1){p=s+-1|0;k=f[g>>2]|0;do if((k+p|0)>>>0>(f[g+4>>2]|0)>>>0){k=(((k<<1)+p|0)*72|0)+8|0;l=g;m=f[A>>2]|0;do if(m>>>0<=l>>>0){if((f[B>>2]|0)>>>0<=l>>>0){La=273;break}if(!(0<0|(0==0?(j[D>>1]|0)>>>0>>0:0))){o=g;l=g;k=m}else La=273}else La=273;while(0);if((La|0)==273){La=0;k=Lc(I,g,k,0)|0;if(!k)break;o=k;l=k;k=f[A>>2]|0}g=o;do if(k>>>0>g>>>0)La=277;else{if((f[B>>2]|0)>>>0<=g>>>0){La=277;break}g=j[D>>1]|0}while(0);if((La|0)==277)g=ib[f[37368>>2]&255](o)|0;f[o+4>>2]=(((g+-80|0)>>>0)/72|0)+1;m=o;g=f[o>>2]|0;La=280}else{l=g;m=g;g=k;La=280}while(0);if((La|0)==280){La=0;if((g|0)>(x|0)){do{g=g+-1|0;W=l+8+((g+p|0)*72|0)|0;k=l+8+(g*72|0)|0;X=W+72|0;do{f[W>>2]=f[k>>2];W=W+4|0;k=k+4|0}while((W|0)<(X|0))}while((g|0)>(x|0));g=f[m>>2]|0}f[m>>2]=g+p;_A(l+8+(x*72|0)|0,0,p*72|0)|0;k=s+i|0;g=x;do{f[l+8+(g*72|0)+40>>2]=-1;g=g+1|0}while((g|0)<(k|0));g=l}f[q>>2]=g;if(b[y>>0]|0)break}if((s|0)>0){q=0;while(1){o=q+i|0;p=g+8+(o*72|0)|0;o=f[g+8+(o*72|0)+48>>2]|0;m:do if(o|0){n=o+4|0;k=f[o>>2]|0;if((f[n>>2]|0)>0){m=0;do{k=f[k+(m<<3)>>2]|0;n:do if(k|0){if(f[z>>2]|0){Kc(I,k);break}l=k;do if((f[A>>2]|0)>>>0<=l>>>0){if((f[B>>2]|0)>>>0<=l>>>0)break;f[k>>2]=f[C>>2];f[C>>2]=k;break n}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{wa=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-wa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);m=m+1|0;k=f[o>>2]|0}while((m|0)<(f[n>>2]|0))}o:do if(k|0){if(f[z>>2]|0){Kc(I,k);break}l=k;do if((f[A>>2]|0)>>>0<=l>>>0){if((f[B>>2]|0)>>>0<=l>>>0)break;f[k>>2]=f[C>>2];f[C>>2]=k;break o}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{wa=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-wa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);if(f[z>>2]|0){Kc(I,o);break}k=o;do if((f[A>>2]|0)>>>0<=k>>>0){if((f[B>>2]|0)>>>0<=k>>>0)break;f[o>>2]=f[C>>2];f[C>>2]=o;break m}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{wa=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-wa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);l=r+8+(q*72|0)|0;W=p;k=l;X=W+72|0;do{f[W>>2]=f[k>>2];W=W+4|0;k=k+4|0}while((W|0)<(X|0));k=f[r+8+(q*72|0)+40>>2]|0;W=l;X=W+72|0;do{f[W>>2]=0;W=W+4|0}while((W|0)<(X|0));q=q+1|0;if((q|0)==(s|0)){n=k;break}}}b[g+8+(i*72|0)+36>>0]=u;k=w+48|0;l=f[k>>2]|0;if(l|0){m=f[l>>2]|0;if((m|0)>0){g=0;do{d[l+4+(g*20|0)+16>>1]=0;g=g+1|0}while((g|0)!=(m|0))}f[v+48>>2]=l;f[k>>2]=0}g=f[w+36>>2]|0;if(!g)g=0;else g=Bk(I,g,0,0)|0;if(!E)ll(g,n);wa=v+36|0;X=kl(I,g,f[wa>>2]|0)|0;f[wa>>2]=X;if(!(b[y>>0]|0)){f[Ha>>2]=a;f[S>>2]=J;f[T>>2]=n;f[U>>2]=G;f[V>>2]=f[w>>2];no(Ha,v,0)}g=v+8|0;f[g>>2]=f[g>>2]|f[w+8>>2]&1;g=w+60|0;k=f[g>>2]|0;if(k|0){f[v+60>>2]=k;f[g>>2]=0}v=f[v+52>>2]|0;if(!v)break;else w=f[w+52>>2]|0}if(!F){i=-1;break}mg(I,F,1);i=-1}while(0);g=f[za>>2]|0;if(b[Aa>>0]|0){l=1;break a}if((h[e>>0]|0)<9)break;f[Ma>>2]=f[Y>>2]}else g=wa}else g=wa;while(0);k=f[fa>>2]|0;if(!k){i=i+1|0;wa=g}else{r=k;break f}}if((La|0)==174){l=f[n>>2]|0;f[da>>2]=g<<16>>16;f[da+4>>2]=l;f[da+8>>2]=k;ni(a,57216,da);l=1;break a}if((g|0)>1)if((d[ya>>1]|0)>-1){f[Ha>>2]=a;l=Ha+4|0;m=Ha+8|0;n=Ha+12|0;o=Da+4|0;p=Da+8|0;q=Da+12|0;r=Da+16|0;s=Da+24|0;u=Da+20|0;do{f[l>>2]=0;f[m>>2]=0;f[n>>2]=0;to(Ha,f[va>>2]|0);p:do if(f[l>>2]|0){f[u>>2]=0;f[Da>>2]=a;f[o>>2]=160;f[p>>2]=148;f[q>>2]=0;f[r>>2]=0;f[s>>2]=Ha;g=f[va>>2]|0;if(g|0)oi(Da,g)|0;g=f[f[Ha>>2]>>2]|0;i=f[n>>2]|0;if(!i)break;do if(g|0){if(f[g+480>>2]|0){Kc(g,i);break p}k=i;if((f[g+304>>2]|0)>>>0>k>>>0)break;if((f[g+308>>2]|0)>>>0<=k>>>0)break;La=g+300|0;f[i>>2]=f[La>>2];f[La>>2]=i;break p}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{La=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-La;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0)}while((f[m>>2]|0)!=0);g=f[wa>>2]|0;La=733}else La=734;else La=733;if((La|0)==733?(g|0)>0:0)La=734;q:do if((La|0)==734){z=a+204|0;A=Na+136|0;B=Na+12|0;C=a+44|0;D=Na+88|0;E=wa+116|0;F=Ha+4|0;G=Ha+16|0;H=Ha+8|0;I=Ha+12|0;J=wa+8|0;K=a+19|0;L=a+28|0;M=wa+36|0;N=wa+24|0;O=wa+45|0;P=wa+40|0;y=0;r:while(1){u=wa+8+(y*72|0)|0;ma=wa+8+(y*72|0)+56|0;do if(((f[ma>>2]|0)==0&(f[ma+4>>2]|0)==0?(oa=f[wa+8+(y*72|0)+8>>2]|0,pa=f[wa+8+(y*72|0)+4>>2]|0,qa=f[a>>2]|0,(b[qa+165>>0]|0)==0):0)?(b[_>>0]|0)==0:0){g=f[qa+312>>2]|0;if(!g)break;g=nb[g&127](f[qa+316>>2]|0,20,oa,72788,pa,f[Z>>2]|0)|0;if((g|0)==1){ni(a,49816,ra);f[$>>2]=23;break}if((g|2|0)==2)break;ni(a,49831,sa);f[$>>2]=1}while(0);s=wa+8+(y*72|0)+20|0;w=f[s>>2]|0;do if(w|0){l=wa+8+(y*72|0)+24|0;k=f[l>>2]|0;if(k|0){if(b[wa+8+(y*72|0)+37>>0]&16)break;g=f[wa+8+(y*72|0)+28>>2]|0;i=f[A>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(i|0)){f[A>>2]=i+1;ma=f[D>>2]|0;b[ma+(i*20|0)>>0]=12;d[ma+(i*20|0)+2>>1]=0;f[ma+(i*20|0)+4>>2]=g;f[ma+(i*20|0)+8>>2]=k;f[ma+(i*20|0)+12>>2]=0;f[ma+(i*20|0)+16>>2]=0;b[ma+(i*20|0)+1>>0]=0;break}else{tl(Na,12,g,k,0)|0;break}}ma=vo(c)|0;f[z>>2]=(f[z>>2]|0)+ma;if(!(d[ya>>1]&4096))wo(a,w,f[va>>2]|0,f[wa+8+(y*72|0)+40>>2]|0,(h[wa+8+(y*72|0)+36>>0]|0)>>>5&1)|0;x=f[Z>>2]|0;r=wa+8+(y*72|0)+8|0;f[Z>>2]=f[r>>2];k=(y|0)==0;do if(k){if((f[wa>>2]|0)!=1?(b[E>>0]&10)==0:0){La=763;break}k=f[A>>2]|0;g=k+1|0;i=(f[C>>2]|0)+1|0;f[C>>2]=i;f[M>>2]=i;if((f[(f[B>>2]|0)+48>>2]|0)>(k|0)){f[A>>2]=g;ma=f[D>>2]|0;b[ma+(k*20|0)>>0]=13;d[ma+(k*20|0)+2>>1]=0;f[ma+(k*20|0)+4>>2]=i;f[ma+(k*20|0)+8>>2]=0;f[ma+(k*20|0)+12>>2]=g;f[ma+(k*20|0)+16>>2]=0;b[ma+(k*20|0)+1>>0]=0}else tl(Na,13,i,0,g)|0;f[l>>2]=g;g=f[M>>2]|0;b[Ha>>0]=13;f[F>>2]=g;f[G>>2]=0;f[H>>2]=0;f[I>>2]=0;f[ta>>2]=f[w+20>>2];Km(a,1,57393,ta);Kl(a,w,Ha)|0;d[(f[N>>2]|0)+44>>1]=d[w+6>>1]|0;b[O>>0]=b[O>>0]|16;f[P>>2]=f[H>>2];g=f[M>>2]|0;i=f[A>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(i|0)){f[A>>2]=i+1;ma=f[D>>2]|0;b[ma+(i*20|0)>>0]=67;d[ma+(i*20|0)+2>>1]=0;f[ma+(i*20|0)+4>>2]=g;f[ma+(i*20|0)+8>>2]=0;f[ma+(i*20|0)+12>>2]=0;f[ma+(i*20|0)+16>>2]=0;b[ma+(i*20|0)+1>>0]=0}else tl(Na,67,g,0,0)|0;i=f[B>>2]|0;b[i+19>>0]=0;f[i+28>>2]=0;i=f[A>>2]|0;if(!(b[(f[Na>>2]|0)+81>>0]|0))g=(f[D>>2]|0)+(((k|0)<0?i+-1|0:k)*20|0)|0;else g=72144;f[g+8>>2]=i}else La=763;while(0);if((La|0)==763){La=0;i=(f[C>>2]|0)+1|0;f[C>>2]=i;v=wa+8+(y*72|0)+28|0;f[v>>2]=i;g=f[A>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(g|0)){ma=g+1|0;f[A>>2]=ma;la=f[D>>2]|0;b[la+(g*20|0)>>0]=70;d[la+(g*20|0)+2>>1]=0;f[la+(g*20|0)+4>>2]=0;f[la+(g*20|0)+8>>2]=i;f[la+(g*20|0)+12>>2]=0;f[la+(g*20|0)+16>>2]=0;b[la+(g*20|0)+1>>0]=0;i=ma}else{i=tl(Na,70,0,i,0)|0;g=i;i=i+1|0}f[l>>2]=i;do if(!(b[wa+8+(y*72|0)+37>>0]&8)){i=f[A>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(i|0)){f[A>>2]=i+1;W=f[D>>2]|0;b[W+(i*20|0)>>0]=17;W=W+(i*20|0)+1|0;X=W+19|0;do{b[W>>0]=0;W=W+1|0}while((W|0)<(X|0));q=i;break}else{q=tl(Na,17,0,0,0)|0;break}}else q=0;while(0);s:do if(k)La=793;else{o=wa+8+(y*72|0)+4|0;p=J;t:while(1){n=f[p+20>>2]|0;u:do if(n|0){if(b[p+37>>0]&16)break;k=f[p+8>>2]|0;if(!k)break;l=f[p+4>>2]|0;m=f[o>>2]|0;do if(!l)i=((m|0)!=0)<<31>>31;else{if(!m)break u;ma=b[l>>0]|0;i=(h[1232+(ma&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0;if(ma<<24>>24==0|(i|0)!=0)break;do{l=l+1|0;m=m+1|0;ma=b[l>>0]|0;i=(h[1232+(ma&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(ma<<24>>24==0|(i|0)!=0))}while(0);if(i|0)break;l=f[r>>2]|0;if(!l)break;ma=b[k>>0]|0;i=(h[1232+(ma&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0;if(!(ma<<24>>24==0|(i|0)!=0))do{k=k+1|0;l=l+1|0;ma=b[k>>0]|0;i=(h[1232+(ma&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(ma<<24>>24==0|(i|0)!=0));if(i|0)break;if(!(Ck(0,f[(f[s>>2]|0)+36>>2]|0,f[n+36>>2]|0,-1)|0))break t}while(0);i=p+72|0;if(i>>>0>>0)p=i;else{La=793;break s}}i=f[wa+8+(y*72|0)+40>>2]|0;k=f[p+40>>2]|0;l=f[A>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(l|0)){f[A>>2]=l+1;ma=f[D>>2]|0;b[ma+(l*20|0)>>0]=111;d[ma+(l*20|0)+2>>1]=0;f[ma+(l*20|0)+4>>2]=i;f[ma+(l*20|0)+8>>2]=k;f[ma+(l*20|0)+12>>2]=0;f[ma+(l*20|0)+16>>2]=0;b[ma+(l*20|0)+1>>0]=0}else tl(Na,111,i,k,0)|0;i=d[(f[p+20>>2]|0)+6>>1]|0;d[w+6>>1]=i}while(0);if((La|0)==793){La=0;i=f[wa+8+(y*72|0)+40>>2]|0;b[Ha>>0]=12;f[F>>2]=i;f[G>>2]=0;f[H>>2]=0;f[I>>2]=0;f[ua>>2]=f[w+20>>2];Km(a,1,57407,ua);Kl(a,w,Ha)|0;i=d[w+6>>1]|0}d[(f[wa+8+(y*72|0)+16>>2]|0)+44>>1]=i;k=f[A>>2]|0;if(q|0){if(!(b[(f[Na>>2]|0)+81>>0]|0))i=(f[D>>2]|0)+(((q|0)<0?k+-1|0:q)*20|0)|0;else i=72144;f[i+8>>2]=k}i=f[v>>2]|0;if((f[(f[B>>2]|0)+48>>2]|0)>(k|0)){f[A>>2]=k+1;ma=f[D>>2]|0;b[ma+(k*20|0)>>0]=66;d[ma+(k*20|0)+2>>1]=0;f[ma+(k*20|0)+4>>2]=i;f[ma+(k*20|0)+8>>2]=0;f[ma+(k*20|0)+12>>2]=0;f[ma+(k*20|0)+16>>2]=0;b[ma+(k*20|0)+1>>0]=0;i=k}else i=tl(Na,66,i,0,0)|0;if((g|0)<0)g=(f[A>>2]|0)+-1|0;if(!(b[(f[Na>>2]|0)+81>>0]|0))g=(f[D>>2]|0)+(g*20|0)|0;else g=72144;f[g+4>>2]=i}b[K>>0]=0;f[L>>2]=0;if(b[Aa>>0]|0)break r;ma=vo(c)|0;f[z>>2]=(f[z>>2]|0)-ma;f[Z>>2]=x}while(0);y=y+1|0;if((y|0)>=(f[wa>>2]|0))break q}l=1;break a}while(0);Y=f[c>>2]|0;G=f[va>>2]|0;s=c+40|0;l=f[s>>2]|0;u=c+44|0;X=f[u>>2]|0;g=f[Ga>>2]|0;b[Ia>>0]=g&1;v:do if((g&9|0)==1){m=f[Ma>>2]|0;i=(m|0)==0;k=(Y|0)==0;do if(!(k&i)){if(k|i){V=l;break v}i=f[m>>2]|0;if((i|0)!=(f[Y>>2]|0)){V=l;break v}if((i|0)<=0)break;g=0;do{if((b[m+4+(g*20|0)+12>>0]|0)!=(b[Y+4+(g*20|0)+12>>0]|0)){V=l;break v}if(Ck(0,f[m+4+(g*20|0)>>2]|0,f[Y+4+(g*20|0)>>2]|0,-1)|0){V=l;break v}g=g+1|0}while((g|0)<(f[m>>2]|0));g=f[Ga>>2]|0}while(0);f[Ga>>2]=g&-2;V=Ik(Qa,Y,0)|0;f[s>>2]=V}else V=l;while(0);p=f[Ma>>2]|0;w:do if(p){n=f[a>>2]|0;q=f[p>>2]|0;l=(f[Y>>2]|0)+1+q|0;m=l*5|0;k=m+20|0;o=n+272|0;x:do if(f[o>>2]|0)if(!(b[n+81>>0]|0))La=832;else{m=0;n=1}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){g=n+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];La=n+284|0;f[La>>2]=(f[La>>2]|0)+1;La=833;break x}g=n+296|0;i=f[g>>2]|0;if(!i){g=n+292|0;break}else{f[g>>2]=f[i>>2];La=n+284|0;f[La>>2]=(f[La>>2]|0)+1;La=833;break x}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;La=832}while(0);if((La|0)==832){i=Dc(n,k,0)|0;La=833}do if((La|0)==833){do if(!i){g=n+81|0;if(b[g>>0]|0){m=0;o=1;break}if(b[n+82>>0]|0){m=0;o=1;break}b[g>>0]=1;if((f[n+180>>2]|0)>0)f[n+264>>2]=1;f[o>>2]=(f[o>>2]|0)+1;m=0;o=1}else{f[i+16>>2]=i+20+(l<<2);d[i+6>>1]=q;d[i+8>>1]=l;b[i+4>>0]=b[n+78>>0]|0;f[i+12>>2]=n;f[i>>2]=1;_A(i+24|0,0,m+-4|0)|0;m=i;o=0}while(0);if(!((q|0)>0&(i|0)!=0)){n=o;break}n=i+16|0;k=p+4|0;l=0;while(1){g=Zk(a,f[k>>2]|0)|0;if(!g)g=f[(f[a>>2]|0)+8>>2]|0;f[i+20+(l<<2)>>2]=g;b[(f[n>>2]|0)+l>>0]=b[k+12>>0]|0;l=l+1|0;if((l|0)==(q|0)){n=o;break}else k=k+20|0}}while(0);k=a+40|0;i=f[k>>2]|0;f[k>>2]=i+1;f[Ma+8>>2]=i;k=(f[f[Ma>>2]>>2]|0)+1+(f[Y>>2]|0)|0;l=Na+136|0;g=f[l>>2]|0;if((f[(f[Na+12>>2]|0)+48>>2]|0)>(g|0)){f[l>>2]=g+1;ua=f[Na+88>>2]|0;b[ua+(g*20|0)>>0]=113;d[ua+(g*20|0)+2>>1]=0;f[ua+(g*20|0)+4>>2]=i;f[ua+(g*20|0)+8>>2]=k;f[ua+(g*20|0)+12>>2]=0;f[ua+(g*20|0)+16>>2]=0;b[ua+(g*20|0)+1>>0]=0}else g=tl(Na,113,i,k,0)|0;i=f[Na>>2]|0;if(!(b[i+81>>0]|0)){if((g|0)<0)i=(f[l>>2]|0)+-1|0;else i=g;k=f[Na+88>>2]|0;l=k+(i*20|0)+1|0;if(b[l>>0]|0){ul(Na,k+(i*20|0)|0,m,-9);break}if(n)break;f[k+(i*20|0)+16>>2]=m;b[l>>0]=-9;break}if(n|(f[i+480>>2]|0)!=0)break;ua=(f[m>>2]|0)+-1|0;f[m>>2]=ua;if(ua|0)break;i=f[m+12>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,m);break w}k=m;if((f[i+304>>2]|0)>>>0>k>>>0)break;if((f[i+308>>2]|0)>>>0<=k>>>0)break;ua=i+300|0;f[m>>2]=f[ua>>2];f[ua>>2]=m;break w}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{ua=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-ua;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}else g=-1;while(0);f[Ma+20>>2]=g;do if((b[e>>0]|0)==12){g=f[e+4>>2]|0;i=f[Y>>2]|0;k=Na+136|0;l=f[k>>2]|0;m=Na+12|0;if((f[(f[m>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;Z=f[Na+88>>2]|0;b[Z+(l*20|0)>>0]=113;d[Z+(l*20|0)+2>>1]=0;f[Z+(l*20|0)+4>>2]=g;f[Z+(l*20|0)+8>>2]=i;f[Z+(l*20|0)+12>>2]=0;f[Z+(l*20|0)+16>>2]=0;b[Z+(l*20|0)+1>>0]=0;Z=m;break}else{tl(Na,113,g,i,0)|0;Z=m;break}}else Z=Na+12|0;while(0);g=f[Z>>2]|0;o=g+60|0;_=f[o>>2]|0;f[o>>2]=_+1;o=g+64|0;if(!(_+-1&_)){m=_<<3|4;n=f[g>>2]|0;g=f[o>>2]|0;y:do if(g){k=g;l=n+304|0;do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)))break y}while(0);i=Lc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Kc(n,g);g=0;break}do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;ua=n+300|0;f[g>>2]=f[ua>>2];f[ua>>2]=g;g=0;break y}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{ua=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-ua;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];ua=n+284|0;f[ua>>2]=(f[ua>>2]|0)+1;break y}i=n+296|0;g=f[i>>2]|0;if(!g){g=n+292|0;break}else{f[i>>2]=f[g>>2];ua=n+284|0;f[ua>>2]=(f[ua>>2]|0)+1;break y}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(n,m,0)|0}while(0);f[o>>2]=g}else g=f[o>>2]|0;if(g|0)f[g+(_<<2)>>2]=-1;if(!(f[Ga>>2]&16384))d[c+6>>1]=320;ro(a,c,~_);do if(!(f[c+12>>2]|0)){g=f[Ma+20>>2]|0;if((g|0)<=-1)break;if(!(b[(f[Na>>2]|0)+81>>0]|0))g=(f[Na+88>>2]|0)+(g*20|0)|0;else g=72144;b[g>>0]=114;ua=Ma+32|0;b[ua>>0]=b[ua>>0]|1}while(0);do if(!(f[Ga>>2]&1))g=0;else{p=a+40|0;r=f[p>>2]|0;f[p>>2]=r+1;f[Ia+4>>2]=r;p=f[c>>2]|0;n=f[a>>2]|0;q=f[p>>2]|0;l=q+1|0;m=l*5|0;k=m+20|0;o=n+272|0;z:do if(f[o>>2]|0)if(!(b[n+81>>0]|0))La=918;else{n=0;m=1}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){g=n+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];La=n+284|0;f[La>>2]=(f[La>>2]|0)+1;La=919;break z}g=n+296|0;i=f[g>>2]|0;if(!i){g=n+292|0;break}else{f[g>>2]=f[i>>2];La=n+284|0;f[La>>2]=(f[La>>2]|0)+1;La=919;break z}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;La=918}while(0);if((La|0)==918){i=Dc(n,k,0)|0;La=919}do if((La|0)==919){do if(!i){g=n+81|0;if(b[g>>0]|0){n=0;m=1;break}if(b[n+82>>0]|0){n=0;m=1;break}b[g>>0]=1;if((f[n+180>>2]|0)>0)f[n+264>>2]=1;f[o>>2]=(f[o>>2]|0)+1;n=0;m=1}else{f[i+16>>2]=i+20+(l<<2);d[i+6>>1]=q;d[i+8>>1]=l;b[i+4>>0]=b[n+78>>0]|0;f[i+12>>2]=n;f[i>>2]=1;_A(i+24|0,0,m+-4|0)|0;n=i;m=0}while(0);if(!((q|0)>0&(i|0)!=0))break;o=i+16|0;k=p+4|0;l=0;while(1){g=Zk(a,f[k>>2]|0)|0;if(!g)g=f[(f[a>>2]|0)+8>>2]|0;f[i+20+(l<<2)>>2]=g;b[(f[o>>2]|0)+l>>0]=b[k+12>>0]|0;l=l+1|0;if((l|0)==(q|0))break;else k=k+20|0}}while(0);o=Na+136|0;g=f[o>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(g|0)){f[o>>2]=g+1;ua=f[Na+88>>2]|0;b[ua+(g*20|0)>>0]=113;d[ua+(g*20|0)+2>>1]=0;f[ua+(g*20|0)+4>>2]=r;f[ua+(g*20|0)+8>>2]=0;f[ua+(g*20|0)+12>>2]=0;f[ua+(g*20|0)+16>>2]=0;b[ua+(g*20|0)+1>>0]=0}else g=tl(Na,113,r,0,0)|0;i=f[Na>>2]|0;A:do if(b[i+81>>0]|0){if(m|(f[i+480>>2]|0)!=0)break;ua=(f[n>>2]|0)+-1|0;f[n>>2]=ua;if(ua|0)break;i=f[n+12>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,n);break A}k=n;if((f[i+304>>2]|0)>>>0>k>>>0)break;if((f[i+308>>2]|0)>>>0<=k>>>0)break;ua=i+300|0;f[n>>2]=f[ua>>2];f[ua>>2]=n;break A}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{ua=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-ua;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}else{if((g|0)<0)i=(f[o>>2]|0)+-1|0;else i=g;k=f[Na+88>>2]|0;l=k+(i*20|0)+1|0;if(b[l>>0]|0){ul(Na,k+(i*20|0)|0,n,-9);break}if(m)break;f[k+(i*20|0)+16>>2]=n;b[l>>0]=-9}while(0);f[Ia+8>>2]=g;g=f[o>>2]|0;if((g|0)<=0){g=3;break}d[(f[Na+88>>2]|0)+((g+-1|0)*20|0)+2>>1]=8;g=3}while(0);b[Ia+1>>0]=g;k=(V|0)==0;B:do if((na|0)==0&k){B=(((b[Ia>>0]|0)==0?0:256)|f[Ga>>2]&16384)&65535;o=f[xa>>2]|0;C=(o|0)!=0;if(C){g=f[Ra>>2]|0;if(!g){do if(!(f[Ba>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);g=sl(a)|0}i=f[o+4>>2]|0;if(!i)k=0;else k=f[i>>2]|0;i=f[o+8>>2]|0;if(!i)i=0;else i=f[i>>2]|0;i=i+k|0;A=a+44|0;do if(i){k=f[A>>2]|0;m=k+1|0;f[o+56>>2]=m;i=k+i|0;f[A>>2]=i;k=g+136|0;l=f[k>>2]|0;n=g+12|0;if((f[(f[n>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;Ga=f[g+88>>2]|0;b[Ga+(l*20|0)>>0]=73;d[Ga+(l*20|0)+2>>1]=0;f[Ga+(l*20|0)+4>>2]=0;f[Ga+(l*20|0)+8>>2]=m;f[Ga+(l*20|0)+12>>2]=i;f[Ga+(l*20|0)+16>>2]=0;b[Ga+(l*20|0)+1>>0]=0;break}else{tl(g,73,0,m,i)|0;break}}else{k=g+136|0;n=g+12|0}while(0);x=a+40|0;y=o+36|0;z=g+88|0;w=o;do{v=w+32|0;i=f[v>>2]|0;do if(f[i+4>>2]&4096){if((b[w+13>>0]|0)==87){La=1017;break}o=f[(f[w+60>>2]|0)+20>>2]|0;s=f[a>>2]|0;u=f[o>>2]|0;q=u+1|0;r=q*5|0;l=r+20|0;p=s+272|0;C:do if(f[p>>2]|0)if(!(b[s+81>>0]|0))La=983;else{q=0;m=0;o=1}else{do if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0))){i=s+300|0;m=f[i>>2]|0;if(m|0){f[i>>2]=f[m>>2];La=s+284|0;f[La>>2]=(f[La>>2]|0)+1;La=984;break C}i=s+296|0;m=f[i>>2]|0;if(!m){i=s+292|0;break}else{f[i>>2]=f[m>>2];La=s+284|0;f[La>>2]=(f[La>>2]|0)+1;La=984;break C}}else i=s+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;La=983}while(0);if((La|0)==983){m=Dc(s,l,0)|0;La=984}do if((La|0)==984){La=0;if(!m){i=s+81|0;if(b[i>>0]|0){q=0;o=1;break}if(b[s+82>>0]|0){q=0;o=1;break}b[i>>0]=1;if((f[s+180>>2]|0)>0)f[s+264>>2]=1;f[p>>2]=(f[p>>2]|0)+1;q=0;o=1;break}else{p=m+16|0;f[p>>2]=m+20+(q<<2);d[m+6>>1]=u;d[m+8>>1]=q;b[m+4>>0]=b[s+78>>0]|0;f[m+12>>2]=s;f[m>>2]=1;_A(m+24|0,0,r+-4|0)|0;if((u|0)<=0){q=m;o=0;break}l=o+4|0;o=0;while(1){i=Zk(a,f[l>>2]|0)|0;if(!i)i=f[(f[a>>2]|0)+8>>2]|0;f[m+20+(o<<2)>>2]=i;b[(f[p>>2]|0)+o>>0]=b[l+12>>0]|0;o=o+1|0;if((o|0)==(u|0)){q=m;o=0;break}else l=l+20|0}}}while(0);l=f[x>>2]|0;f[x>>2]=l+1;i=w+48|0;f[i>>2]=l;Ga=f[A>>2]|0;p=w+52|0;f[p>>2]=Ga+1;f[A>>2]=Ga+3;do if(m){if((b[(f[(f[v>>2]|0)+32>>2]|0)+1>>0]|0)!=105)break;b[f[m+16>>2]>>0]=1;l=f[i>>2]|0}while(0);i=f[k>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(i|0)){f[k>>2]=i+1;Ga=f[z>>2]|0;b[Ga+(i*20|0)>>0]=113;d[Ga+(i*20|0)+2>>1]=0;f[Ga+(i*20|0)+4>>2]=l;f[Ga+(i*20|0)+8>>2]=2;f[Ga+(i*20|0)+12>>2]=0;f[Ga+(i*20|0)+16>>2]=0;b[Ga+(i*20|0)+1>>0]=0}else tl(g,113,l,2,0)|0;i=f[g>>2]|0;D:do if(b[i+81>>0]|0){if(o|(f[i+480>>2]|0)!=0)break;Ga=(f[q>>2]|0)+-1|0;f[q>>2]=Ga;if(Ga|0)break;i=f[q+12>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,q);break D}l=q;if((f[i+304>>2]|0)>>>0>l>>>0)break;if((f[i+308>>2]|0)>>>0<=l>>>0)break;Ga=i+300|0;f[q>>2]=f[Ga>>2];f[Ga>>2]=q;break D}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{Ga=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-Ga;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}else{Fa=f[z>>2]|0;Ga=(f[k>>2]|0)+-1|0;b[Fa+(Ga*20|0)+1>>0]=-9;f[Fa+(Ga*20|0)+16>>2]=q}while(0);i=(f[p>>2]|0)+1|0;l=f[k>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;Ga=f[z>>2]|0;b[Ga+(l*20|0)>>0]=70;d[Ga+(l*20|0)+2>>1]=0;f[Ga+(l*20|0)+4>>2]=0;f[Ga+(l*20|0)+8>>2]=i;f[Ga+(l*20|0)+12>>2]=0;f[Ga+(l*20|0)+16>>2]=0;b[Ga+(l*20|0)+1>>0]=0;break}else{tl(g,70,0,i,0)|0;break}}else La=1017;while(0);do if((La|0)==1017){La=0;i=f[i+32>>2]|0;if((i|0)==42328|(i|0)==42338){l=f[A>>2]|0;f[w+52>>2]=l+1;i=f[x>>2]|0;f[x>>2]=i+1;f[w+48>>2]=i;f[A>>2]=l+2;l=f[y>>2]|0;m=f[k>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(m|0)){f[k>>2]=m+1;Ga=f[z>>2]|0;b[Ga+(m*20|0)>>0]=111;d[Ga+(m*20|0)+2>>1]=0;f[Ga+(m*20|0)+4>>2]=i;f[Ga+(m*20|0)+8>>2]=l;f[Ga+(m*20|0)+12>>2]=0;f[Ga+(m*20|0)+16>>2]=0;b[Ga+(m*20|0)+1>>0]=0;break}else{tl(g,111,i,l,0)|0;break}}if(!((i|0)==42350|(i|0)==42355))break;i=f[x>>2]|0;f[x>>2]=i+1;f[w+48>>2]=i;l=f[y>>2]|0;m=f[k>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(m|0)){f[k>>2]=m+1;Ga=f[z>>2]|0;b[Ga+(m*20|0)>>0]=111;d[Ga+(m*20|0)+2>>1]=0;f[Ga+(m*20|0)+4>>2]=i;f[Ga+(m*20|0)+8>>2]=l;f[Ga+(m*20|0)+12>>2]=0;f[Ga+(m*20|0)+16>>2]=0;b[Ga+(m*20|0)+1>>0]=0;break}else{tl(g,111,i,l,0)|0;break}}while(0);w=f[w+24>>2]|0}while((w|0)!=0)}i=c+6|0;D=sn(a,wa,G,f[Ma>>2]|0,f[c>>2]|0,B,d[i>>1]|0)|0;if(!D){l=1;break a}g=d[D+72>>1]|0;if(g<<16>>16<(d[i>>1]|0))d[i>>1]=g;do if(b[Ia>>0]|0){g=b[D+51>>0]|0;if(!(g<<24>>24))break;b[Ia+1>>0]=g}while(0);i=f[Ma>>2]|0;do if(!i)La=1038;else{k=b[D+47>>0]|0;f[Ma+4>>2]=k;if(!(b[D+52>>0]|0))g=D+32|0;else g=D+752+(((h[D+46>>0]|0)+-1|0)*80|0)+16|0;f[Ma+28>>2]=f[g>>2];if((f[i>>2]|0)!=(k|0))break;f[Ma>>2]=0;La=1038}while(0);do if((La|0)==1038){g=f[Ma+20>>2]|0;if((g|0)<=-1)break;i=f[Na>>2]|0;if(b[i+81>>0]|0)break;Ga=f[Na+88>>2]|0;Ea=Ga+(g*20|0)+1|0;Fa=Ga+(g*20|0)+16|0;qg(i,b[Ea>>0]|0,f[Fa>>2]|0);b[Ea>>0]=0;f[Fa>>2]=0;b[Ga+(g*20|0)>>0]=-85}while(0);if(!C){oo(a,c,-1,Ma,Ia,e,f[D+32>>2]|0,f[D+36>>2]|0);tn(D);g=0;La=2007;break}g=f[Z>>2]|0;o=g+60|0;U=f[o>>2]|0;f[o>>2]=U+1;o=g+64|0;if(!(U+-1&U)){m=U<<3|4;n=f[g>>2]|0;g=f[o>>2]|0;E:do if(g){k=g;l=n+304|0;do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)))break E}while(0);i=Lc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Kc(n,g);g=0;break}do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;Ga=n+300|0;f[g>>2]=f[Ga>>2];f[Ga>>2]=g;g=0;break E}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{Ga=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Ga;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];Ga=n+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break E}i=n+296|0;g=f[i>>2]|0;if(!g){g=n+292|0;break}else{f[i>>2]=f[g>>2];Ga=n+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break E}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(n,m,0)|0}while(0);f[o>>2]=g}else g=f[o>>2]|0;if(g|0)f[g+(U<<2)>>2]=-1;R=~U;g=f[Z>>2]|0;o=g+60|0;T=f[o>>2]|0;f[o>>2]=T+1;o=g+64|0;if(!(T+-1&T)){m=T<<3|4;n=f[g>>2]|0;g=f[o>>2]|0;F:do if(g){k=g;l=n+304|0;do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)))break F}while(0);i=Lc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Kc(n,g);g=0;break}do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;Ga=n+300|0;f[g>>2]=f[Ga>>2];f[Ga>>2]=g;g=0;break F}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{Ga=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Ga;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];Ga=n+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break F}i=n+296|0;g=f[i>>2]|0;if(!g){g=n+292|0;break}else{f[i>>2]=f[g>>2];Ga=n+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break F}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(n,m,0)|0}while(0);f[o>>2]=g}else g=f[o>>2]|0;if(g|0)f[g+(T<<2)>>2]=-1;Q=~T;g=f[Z>>2]|0;o=g+60|0;S=f[o>>2]|0;f[o>>2]=S+1;o=g+64|0;if(!(S+-1&S)){m=S<<3|4;n=f[g>>2]|0;g=f[o>>2]|0;G:do if(g){k=g;l=n+304|0;do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)))break G}while(0);i=Lc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Kc(n,g);g=0;break}do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;Ga=n+300|0;f[g>>2]=f[Ga>>2];f[Ga>>2]=g;g=0;break G}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{Ga=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-Ga;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];Ga=n+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break G}i=n+296|0;g=f[i>>2]|0;if(!g){g=n+292|0;break}else{f[i>>2]=f[g>>2];Ga=n+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break G}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(n,m,0)|0}while(0);f[o>>2]=g}else g=f[o>>2]|0;if(g|0)f[g+(S<<2)>>2]=-1;O=~S;s=a+44|0;P=(f[s>>2]|0)+1|0;f[s>>2]=P;N=f[xa>>2]|0;L=N+12|0;M=N+13|0;g=b[M>>0]|0;H:do if((b[L>>0]|0)!=76){if(g<<24>>24!=82){La=1136;break}if((b[N+14>>0]|0)==87)La=1140;else La=1136}else{do if(g<<24>>24==87){if((b[N+14>>0]|0)!=82)break;if(f[N+8>>2]|0){La=1136;break H}}while(0);xo(a,c,D,P,R)}while(0);I:do if((La|0)==1136){g=N;do{i=f[g+32>>2]|0;if(f[i+4>>2]&131072|0){La=1140;break I}Ga=f[i+32>>2]|0;if((Ga|0)==42355|((Ga|0)==42350|((Ga|0)==42328|(Ga|0)==42338))){La=1140;break I}g=f[g+24>>2]|0}while((g|0)!=0);g=f[Ra>>2]|0;if(!g){do if(!(f[Ba>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);C=sl(a)|0;g=f[s>>2]|0}else{C=g;g=P}Ha=f[za>>2]|0;o=f[Ha+48>>2]|0;Ha=d[(f[Ha+24>>2]|0)+42>>1]|0;p=Ha<<16>>16;z=g+1|0;A=z+p|0;B=A+1|0;r=f[N+4>>2]|0;w=(b[N+14>>0]|0)==87?0:f[N+8>>2]|0;f[s>>2]=p+2+g;if(Ha<<16>>16>0){i=C+136|0;k=C+12|0;l=C+88|0;g=0;do{m=g+z|0;n=f[i>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(n|0)){f[i>>2]=n+1;Ha=f[l>>2]|0;b[Ha+(n*20|0)>>0]=90;d[Ha+(n*20|0)+2>>1]=0;f[Ha+(n*20|0)+4>>2]=o;f[Ha+(n*20|0)+8>>2]=g;f[Ha+(n*20|0)+12>>2]=m;f[Ha+(n*20|0)+16>>2]=0;b[Ha+(n*20|0)+1>>0]=0}else tl(C,90,o,g,m)|0;g=g+1|0}while((g|0)!=(p|0))}g=(r|0)!=0;u=(w|0)!=0;do if(g|u){if(g)x=f[r>>2]|0;else x=0;if(u)y=f[w>>2]|0;else y=0;do if(g){v=N+64|0;s=(f[v>>2]|0)+z|0;p=f[a>>2]|0;q=f[r>>2]|0;n=q+1|0;o=n*5|0;k=o+20|0;l=p+272|0;J:do if(f[l>>2]|0)if(!(b[p+81>>0]|0))La=1341;else{m=0;l=1}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){g=p+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];m=p+284|0;f[m>>2]=(f[m>>2]|0)+1;m=i;La=1342;break J}g=p+296|0;i=f[g>>2]|0;if(!i){g=p+292|0;break}else{f[g>>2]=f[i>>2];m=p+284|0;f[m>>2]=(f[m>>2]|0)+1;m=i;La=1342;break J}}else g=p+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;La=1341}while(0);if((La|0)==1341){m=Dc(p,k,0)|0;La=1342}do if((La|0)==1342)if(!m){g=p+81|0;if(b[g>>0]|0){m=0;l=1;break}if(b[p+82>>0]|0){m=0;l=1;break}b[g>>0]=1;if((f[p+180>>2]|0)>0)f[p+264>>2]=1;f[l>>2]=(f[l>>2]|0)+1;m=0;l=1;break}else{l=m+16|0;f[l>>2]=m+20+(n<<2);d[m+6>>1]=q;d[m+8>>1]=n;b[m+4>>0]=b[p+78>>0]|0;f[m+12>>2]=p;f[m>>2]=1;_A(m+24|0,0,o+-4|0)|0;if((q|0)<=0){l=0;break}i=r+4|0;k=0;while(1){g=Zk(a,f[i>>2]|0)|0;if(!g)g=f[(f[a>>2]|0)+8>>2]|0;f[m+20+(k<<2)>>2]=g;b[(f[l>>2]|0)+k>>0]=b[i+12>>0]|0;k=k+1|0;if((k|0)==(q|0)){l=0;break}else i=i+20|0}}while(0);o=N+56|0;g=f[o>>2]|0;p=C+136|0;i=f[p>>2]|0;n=C+12|0;if((f[(f[n>>2]|0)+48>>2]|0)>(i|0)){f[p>>2]=i+1;k=f[C+88>>2]|0;b[k+(i*20|0)>>0]=87;d[k+(i*20|0)+2>>1]=0;f[k+(i*20|0)+4>>2]=s;f[k+(i*20|0)+8>>2]=g;f[k+(i*20|0)+12>>2]=x;f[k+(i*20|0)+16>>2]=0;b[k+(i*20|0)+1>>0]=0;k=i}else k=tl(C,87,s,g,x)|0;g=f[C>>2]|0;K:do if(b[g+81>>0]|0){if(l|(f[g+480>>2]|0)!=0)break;Ha=(f[m>>2]|0)+-1|0;f[m>>2]=Ha;if(Ha|0)break;g=f[m+12>>2]|0;do if(g|0){if(f[g+480>>2]|0){Kc(g,m);break K}i=m;if((f[g+304>>2]|0)>>>0>i>>>0)break;if((f[g+308>>2]|0)>>>0<=i>>>0)break;Ha=g+300|0;f[m>>2]=f[Ha>>2];f[Ha>>2]=m;break K}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{Ha=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Ha;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}else{Ga=f[C+88>>2]|0;Ha=(f[p>>2]|0)+-1|0;b[Ga+(Ha*20|0)+1>>0]=-9;f[Ga+(Ha*20|0)+16>>2]=m}while(0);g=k+2|0;k=f[p>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(k|0)){f[p>>2]=k+1;Ha=f[C+88>>2]|0;b[Ha+(k*20|0)>>0]=16;d[Ha+(k*20|0)+2>>1]=0;f[Ha+(k*20|0)+4>>2]=g;f[Ha+(k*20|0)+8>>2]=0;f[Ha+(k*20|0)+12>>2]=g;f[Ha+(k*20|0)+16>>2]=0;b[Ha+(k*20|0)+1>>0]=0}else k=tl(C,16,g,0,g)|0;Co(a,N,1);if(!u)break;g=f[p>>2]|0;if((f[(f[n>>2]|0)+48>>2]|0)>(g|0)){f[p>>2]=g+1;W=f[C+88>>2]|0;b[W+(g*20|0)>>0]=11;W=W+(g*20|0)+1|0;X=W+19|0;do{b[W>>0]=0;W=W+1|0}while((W|0)<(X|0));l=g}else l=tl(C,11,0,0,0)|0;m=x+z+(f[v>>2]|0)|0;n=(f[o>>2]|0)+x|0;if(!k){La=1382;break}i=f[p>>2]|0;if(!(b[(f[C>>2]|0)+81>>0]|0))g=(f[C+88>>2]|0)+(((k|0)<0?i+-1|0:k)*20|0)|0;else g=72144;f[g+8>>2]=i;La=1382}else{if(!u){k=0;break}l=0;m=x+z+(f[N+64>>2]|0)|0;n=(f[N+56>>2]|0)+x|0;La=1382}while(0);do if((La|0)==1382){do if((b[L>>0]|0)==86){s=f[a>>2]|0;u=f[w>>2]|0;q=u+1|0;r=q*5|0;k=r+20|0;p=s+272|0;L:do if(f[p>>2]|0)if(!(b[s+81>>0]|0))La=1393;else{o=0;i=1}else{do if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0))){g=s+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];o=s+284|0;f[o>>2]=(f[o>>2]|0)+1;o=i;La=1394;break L}g=s+296|0;i=f[g>>2]|0;if(!i){g=s+292|0;break}else{f[g>>2]=f[i>>2];o=s+284|0;f[o>>2]=(f[o>>2]|0)+1;o=i;La=1394;break L}}else g=s+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;La=1393}while(0);if((La|0)==1393){o=Dc(s,k,0)|0;La=1394}do if((La|0)==1394)if(!o){g=s+81|0;if(b[g>>0]|0){o=0;i=1;break}if(b[s+82>>0]|0){o=0;i=1;break}b[g>>0]=1;if((f[s+180>>2]|0)>0)f[s+264>>2]=1;f[p>>2]=(f[p>>2]|0)+1;o=0;i=1;break}else{p=o+16|0;f[p>>2]=o+20+(q<<2);d[o+6>>1]=u;d[o+8>>1]=q;b[o+4>>0]=b[s+78>>0]|0;f[o+12>>2]=s;f[o>>2]=1;_A(o+24|0,0,r+-4|0)|0;if((u|0)<=0){i=0;break}i=w+4|0;k=0;while(1){g=Zk(a,f[i>>2]|0)|0;if(!g)g=f[(f[a>>2]|0)+8>>2]|0;f[o+20+(k<<2)>>2]=g;b[(f[p>>2]|0)+k>>0]=b[i+12>>0]|0;k=k+1|0;if((k|0)==(u|0)){i=0;break}else i=i+20|0}}while(0);p=C+136|0;g=f[p>>2]|0;q=C+12|0;if((f[(f[q>>2]|0)+48>>2]|0)>(g|0)){f[p>>2]=g+1;k=f[C+88>>2]|0;b[k+(g*20|0)>>0]=87;d[k+(g*20|0)+2>>1]=0;f[k+(g*20|0)+4>>2]=m;f[k+(g*20|0)+8>>2]=n;f[k+(g*20|0)+12>>2]=y;f[k+(g*20|0)+16>>2]=0;b[k+(g*20|0)+1>>0]=0;k=g}else k=tl(C,87,m,n,y)|0;g=f[C>>2]|0;M:do if(b[g+81>>0]|0){if(i|(f[g+480>>2]|0)!=0)break;Ha=(f[o>>2]|0)+-1|0;f[o>>2]=Ha;if(Ha|0)break;g=f[o+12>>2]|0;do if(g|0){if(f[g+480>>2]|0){Kc(g,o);break M}i=o;if((f[g+304>>2]|0)>>>0>i>>>0)break;if((f[g+308>>2]|0)>>>0<=i>>>0)break;Ha=g+300|0;f[o>>2]=f[Ha>>2];f[Ha>>2]=o;break M}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{Ha=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-Ha;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}else{Ga=f[C+88>>2]|0;Ha=(f[p>>2]|0)+-1|0;b[Ga+(Ha*20|0)+1>>0]=-9;f[Ga+(Ha*20|0)+16>>2]=o}while(0);g=k+2|0;k=f[p>>2]|0;if((f[(f[q>>2]|0)+48>>2]|0)>(k|0)){f[p>>2]=k+1;Ha=f[C+88>>2]|0;b[Ha+(k*20|0)>>0]=16;d[Ha+(k*20|0)+2>>1]=0;f[Ha+(k*20|0)+4>>2]=g;f[Ha+(k*20|0)+8>>2]=0;f[Ha+(k*20|0)+12>>2]=g;f[Ha+(k*20|0)+16>>2]=0;b[Ha+(k*20|0)+1>>0]=0;break}else{k=tl(C,16,g,0,g)|0;break}}else k=0;while(0);Co(a,N,(b[M>>0]|0)==82&1);if(!l)break;i=f[C+136>>2]|0;if(!(b[(f[C>>2]|0)+81>>0]|0))g=(f[C+88>>2]|0)+(((l|0)<0?i+-1|0:l)*20|0)|0;else g=72144;f[g+8>>2]=i}while(0);m=N+36|0;i=f[m>>2]|0;o=C+136|0;g=f[o>>2]|0;l=g+3|0;p=C+12|0;if((f[(f[p>>2]|0)+48>>2]|0)>(g|0)){f[o>>2]=g+1;Ha=f[C+88>>2]|0;b[Ha+(g*20|0)>>0]=36;d[Ha+(g*20|0)+2>>1]=0;f[Ha+(g*20|0)+4>>2]=i;f[Ha+(g*20|0)+8>>2]=l;f[Ha+(g*20|0)+12>>2]=0;f[Ha+(g*20|0)+16>>2]=0;b[Ha+(g*20|0)+1>>0]=0}else tl(C,36,i,l,0)|0;g=f[o>>2]|0;if((f[(f[p>>2]|0)+48>>2]|0)>(g|0)){f[o>>2]=g+1;Ha=f[C+88>>2]|0;b[Ha+(g*20|0)>>0]=12;d[Ha+(g*20|0)+2>>1]=0;f[Ha+(g*20|0)+4>>2]=P;f[Ha+(g*20|0)+8>>2]=R;f[Ha+(g*20|0)+12>>2]=0;f[Ha+(g*20|0)+16>>2]=0;b[Ha+(g*20|0)+1>>0]=0}else tl(C,12,P,R,0)|0;i=f[m>>2]|0;g=f[o>>2]|0;l=g+-1|0;if((f[(f[p>>2]|0)+48>>2]|0)>(g|0)){f[o>>2]=g+1;Ha=f[C+88>>2]|0;b[Ha+(g*20|0)>>0]=5;d[Ha+(g*20|0)+2>>1]=0;f[Ha+(g*20|0)+4>>2]=i;f[Ha+(g*20|0)+8>>2]=l;f[Ha+(g*20|0)+12>>2]=0;f[Ha+(g*20|0)+16>>2]=0;b[Ha+(g*20|0)+1>>0]=0}else tl(C,5,i,l,0)|0;g=f[m>>2]|0;i=f[o>>2]|0;if((f[(f[p>>2]|0)+48>>2]|0)>(i|0)){f[o>>2]=i+1;Ha=f[C+88>>2]|0;b[Ha+(i*20|0)>>0]=-117;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=g;f[Ha+(i*20|0)+8>>2]=0;f[Ha+(i*20|0)+12>>2]=0;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else tl(C,139,g,0,0)|0;n=N+64|0;l=(f[n>>2]|0)+z|0;m=f[N+56>>2]|0;g=x+-1+y|0;i=f[o>>2]|0;if((f[(f[p>>2]|0)+48>>2]|0)>(i|0)){f[o>>2]=i+1;Ha=f[C+88>>2]|0;b[Ha+(i*20|0)>>0]=78;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=l;f[Ha+(i*20|0)+8>>2]=m;f[Ha+(i*20|0)+12>>2]=g;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else tl(C,78,l,m,g)|0;if(!k){g=n;n=o;m=p;break}i=f[o>>2]|0;if(!(b[(f[C>>2]|0)+81>>0]|0))g=(f[C+88>>2]|0)+(((k|0)<0?i+-1|0:k)*20|0)|0;else g=72144;f[g+8>>2]=i;g=n;n=o;m=p}else{g=N+64|0;n=C+136|0;m=C+12|0}while(0);Ao(a,N,-1,0,z,0);g=f[g>>2]|0;i=f[n>>2]|0;k=(f[(f[m>>2]|0)+48>>2]|0)>(i|0);do if((g|0)>0)if(k){f[n>>2]=i+1;Ha=f[C+88>>2]|0;b[Ha+(i*20|0)>>0]=102;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=z;f[Ha+(i*20|0)+8>>2]=g;f[Ha+(i*20|0)+12>>2]=A;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0;break}else{tl(C,102,z,g,A)|0;break}else{if(k){f[n>>2]=i+1;Ha=f[C+88>>2]|0;b[Ha+(i*20|0)>>0]=75;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=0;f[Ha+(i*20|0)+8>>2]=A;f[Ha+(i*20|0)+12>>2]=0;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else tl(C,75,0,A,0)|0;if(b[(f[C>>2]|0)+81>>0]|0)break;Ga=f[C+88>>2]|0;Ha=(f[n>>2]|0)+-1|0;b[Ga+(Ha*20|0)+1>>0]=0;f[Ga+(Ha*20|0)+16>>2]=72788}while(0);l=N+36|0;g=f[l>>2]|0;i=f[n>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(i|0)){f[n>>2]=i+1;Ha=f[C+88>>2]|0;b[Ha+(i*20|0)>>0]=121;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=g;f[Ha+(i*20|0)+8>>2]=B;f[Ha+(i*20|0)+12>>2]=0;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else tl(C,121,g,B,0)|0;g=f[l>>2]|0;i=f[n>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(i|0)){f[n>>2]=i+1;Ha=f[C+88>>2]|0;b[Ha+(i*20|0)>>0]=122;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=g;f[Ha+(i*20|0)+8>>2]=A;f[Ha+(i*20|0)+12>>2]=B;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else tl(C,122,g,A,B)|0;tn(D);Co(a,N,1);i=f[l>>2]|0;g=f[n>>2]|0;k=g+3|0;if((f[(f[m>>2]|0)+48>>2]|0)>(g|0)){f[n>>2]=g+1;Ha=f[C+88>>2]|0;b[Ha+(g*20|0)>>0]=36;d[Ha+(g*20|0)+2>>1]=0;f[Ha+(g*20|0)+4>>2]=i;f[Ha+(g*20|0)+8>>2]=k;f[Ha+(g*20|0)+12>>2]=0;f[Ha+(g*20|0)+16>>2]=0;b[Ha+(g*20|0)+1>>0]=0}else tl(C,36,i,k,0)|0;g=f[n>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(g|0)){f[n>>2]=g+1;Ha=f[C+88>>2]|0;b[Ha+(g*20|0)>>0]=12;d[Ha+(g*20|0)+2>>1]=0;f[Ha+(g*20|0)+4>>2]=P;f[Ha+(g*20|0)+8>>2]=R;f[Ha+(g*20|0)+12>>2]=0;f[Ha+(g*20|0)+16>>2]=0;b[Ha+(g*20|0)+1>>0]=0}else tl(C,12,P,R,0)|0;i=f[l>>2]|0;g=f[n>>2]|0;k=g+-1|0;if((f[(f[m>>2]|0)+48>>2]|0)>(g|0)){f[n>>2]=g+1;Ha=f[C+88>>2]|0;b[Ha+(g*20|0)>>0]=5;d[Ha+(g*20|0)+2>>1]=0;f[Ha+(g*20|0)+4>>2]=i;f[Ha+(g*20|0)+8>>2]=k;f[Ha+(g*20|0)+12>>2]=0;f[Ha+(g*20|0)+16>>2]=0;b[Ha+(g*20|0)+1>>0]=0;break}else{tl(C,5,i,k,0)|0;break}}while(0);if((La|0)==1140){g=f[Ra>>2]|0;if(!g){do if(!(f[Ba>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);K=sl(a)|0}else K=g;y=f[N+4>>2]|0;E=f[N+8>>2]|0;u=(E|0)!=0;do if(u){g=f[E>>2]|0;if((b[M>>0]|0)!=82){H=0;break}H=(b[N+14>>0]|0)==87}else{g=0;H=0}while(0);J=K+12|0;i=f[J>>2]|0;p=i+60|0;I=f[p>>2]|0;f[p>>2]=I+1;p=i+64|0;if(!(I+-1&I)){n=I<<3|4;o=f[i>>2]|0;i=f[p>>2]|0;N:do if(i){l=i;m=o+304|0;do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)))break N}while(0);k=Lc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Kc(o,i);i=0;break}do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;Ga=o+300|0;f[i>>2]=f[Ga>>2];f[Ga>>2]=i;i=0;break N}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{Ga=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Ga;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];Ga=o+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break N}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];Ga=o+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break N}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(I<<2)>>2]=-1;r=~I;F=(f[s>>2]|0)+1|0;G=F+g|0;f[s>>2]=G;i=f[J>>2]|0;p=i+60|0;q=f[p>>2]|0;f[p>>2]=q+1;p=i+64|0;if(!(q+-1&q)){n=q<<3|4;o=f[i>>2]|0;i=f[p>>2]|0;O:do if(i){l=i;m=o+304|0;do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)))break O}while(0);k=Lc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Kc(o,i);i=0;break}do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;Ga=o+300|0;f[i>>2]=f[Ga>>2];f[Ga>>2]=i;i=0;break O}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{Ga=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Ga;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];Ga=o+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break O}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];Ga=o+284|0;f[Ga>>2]=(f[Ga>>2]|0)+1;break O}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(q<<2)>>2]=-1;B=a+40|0;A=f[B>>2]|0;f[B>>2]=A+1;B=(f[s>>2]|0)+1|0;f[s>>2]=B;yo(a,c,D,G,~q,Ha);D=K+136|0;i=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;W=f[K+88>>2]|0;b[W+(i*20|0)>>0]=11;W=W+(i*20|0)+1|0;X=W+19|0;do{b[W>>0]=0;W=W+1|0}while((W|0)<(X|0));C=i}else C=tl(K,11,0,0,0)|0;l=f[J>>2]|0;i=f[l+64>>2]|0;if(i|0)f[i+(q<<2)>>2]=f[D>>2];i=f[D>>2]|0;k=i+2|0;if((f[l+48>>2]|0)>(i|0)){f[D>>2]=i+1;Ga=f[K+88>>2]|0;b[Ga+(i*20|0)>>0]=17;d[Ga+(i*20|0)+2>>1]=0;f[Ga+(i*20|0)+4>>2]=0;f[Ga+(i*20|0)+8>>2]=k;f[Ga+(i*20|0)+12>>2]=0;f[Ga+(i*20|0)+16>>2]=0;b[Ga+(i*20|0)+1>>0]=0}else tl(K,17,0,k,0)|0;z=N+36|0;i=f[z>>2]|0;k=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;Ga=f[K+88>>2]|0;b[Ga+(k*20|0)>>0]=111;d[Ga+(k*20|0)+2>>1]=0;f[Ga+(k*20|0)+4>>2]=A;f[Ga+(k*20|0)+8>>2]=i;f[Ga+(k*20|0)+12>>2]=0;f[Ga+(k*20|0)+16>>2]=0;b[Ga+(k*20|0)+1>>0]=0}else tl(K,111,A,i,0)|0;x=zo(a,N)|0;i=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;Ga=f[K+88>>2]|0;b[Ga+(i*20|0)>>0]=70;d[Ga+(i*20|0)+2>>1]=0;f[Ga+(i*20|0)+4>>2]=0;f[Ga+(i*20|0)+8>>2]=B;f[Ga+(i*20|0)+12>>2]=0;f[Ga+(i*20|0)+16>>2]=0;b[Ga+(i*20|0)+1>>0]=0}else tl(K,70,0,B,0)|0;i=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;Ga=f[K+88>>2]|0;b[Ga+(i*20|0)>>0]=36;d[Ga+(i*20|0)+2>>1]=0;f[Ga+(i*20|0)+4>>2]=A;f[Ga+(i*20|0)+8>>2]=r;f[Ga+(i*20|0)+12>>2]=0;f[Ga+(i*20|0)+16>>2]=0;b[Ga+(i*20|0)+1>>0]=0}else tl(K,36,A,r,0)|0;i=f[z>>2]|0;k=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;Ga=f[K+88>>2]|0;b[Ga+(k*20|0)>>0]=36;d[Ga+(k*20|0)+2>>1]=0;f[Ga+(k*20|0)+4>>2]=i;f[Ga+(k*20|0)+8>>2]=r;f[Ga+(k*20|0)+12>>2]=0;f[Ga+(k*20|0)+16>>2]=0;b[Ga+(k*20|0)+1>>0]=0}else tl(K,36,i,r,0)|0;do if(H){i=f[D>>2]|0;Ao(a,N,A,0,x,f[Ha>>2]|0);k=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;Ga=f[K+88>>2]|0;b[Ga+(k*20|0)>>0]=5;d[Ga+(k*20|0)+2>>1]=0;f[Ga+(k*20|0)+4>>2]=A;f[Ga+(k*20|0)+8>>2]=i;f[Ga+(k*20|0)+12>>2]=0;f[Ga+(k*20|0)+16>>2]=0;b[Ga+(k*20|0)+1>>0]=0}else tl(K,5,A,i,0)|0;i=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;Ga=f[K+88>>2]|0;b[Ga+(i*20|0)>>0]=36;d[Ga+(i*20|0)+2>>1]=0;f[Ga+(i*20|0)+4>>2]=A;f[Ga+(i*20|0)+8>>2]=r;f[Ga+(i*20|0)+12>>2]=0;f[Ga+(i*20|0)+16>>2]=0;b[Ga+(i*20|0)+1>>0]=0;break}else{tl(K,36,A,r,0)|0;break}}while(0);w=f[D>>2]|0;do if(u){i=b[M>>0]|0;if((b[N+14>>0]|0)!=82)if(i<<24>>24==82)i=82;else break;v=i<<24>>24==82;do if((b[L>>0]|0)==86){i=f[N+64>>2]|0;if(!y){k=0;s=i}else{s=f[y>>2]|0;k=s;s=s+i|0}u=(f[N+56>>2]|0)+k|0;q=f[a>>2]|0;r=f[E>>2]|0;o=r+1|0;p=o*5|0;l=p+20|0;m=q+272|0;P:do if(f[m>>2]|0)if(!(b[q+81>>0]|0))La=1250;else{p=0;o=1}else{do if(!(0<0|(0==0?(j[q+276>>1]|0)>>>0>>0:0))){i=q+300|0;k=f[i>>2]|0;if(k|0){f[i>>2]=f[k>>2];n=q+284|0;f[n>>2]=(f[n>>2]|0)+1;n=k;La=1251;break P}i=q+296|0;k=f[i>>2]|0;if(!k){i=q+292|0;break}else{f[i>>2]=f[k>>2];n=q+284|0;f[n>>2]=(f[n>>2]|0)+1;n=k;La=1251;break P}}else i=q+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;La=1250}while(0);if((La|0)==1250){n=Dc(q,l,0)|0;La=1251}do if((La|0)==1251)if(!n){i=q+81|0;if(b[i>>0]|0){p=0;o=1;break}if(b[q+82>>0]|0){p=0;o=1;break}b[i>>0]=1;if((f[q+180>>2]|0)>0)f[q+264>>2]=1;f[m>>2]=(f[m>>2]|0)+1;p=0;o=1;break}else{m=n+16|0;f[m>>2]=n+20+(o<<2);d[n+6>>1]=r;d[n+8>>1]=o;b[n+4>>0]=b[q+78>>0]|0;f[n+12>>2]=q;f[n>>2]=1;_A(n+24|0,0,p+-4|0)|0;if((r|0)<=0){p=n;o=0;break}k=E+4|0;l=0;while(1){i=Zk(a,f[k>>2]|0)|0;if(!i)i=f[(f[a>>2]|0)+8>>2]|0;f[n+20+(l<<2)>>2]=i;b[(f[m>>2]|0)+l>>0]=b[k+12>>0]|0;l=l+1|0;if((l|0)==(r|0)){p=n;o=0;break}else k=k+20|0}}while(0);if((g|0)>0){k=K+88|0;i=0;do{l=i+s|0;m=i+F|0;n=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(n|0)){f[D>>2]=n+1;La=f[k>>2]|0;b[La+(n*20|0)>>0]=90;d[La+(n*20|0)+2>>1]=0;f[La+(n*20|0)+4>>2]=A;f[La+(n*20|0)+8>>2]=l;f[La+(n*20|0)+12>>2]=m;f[La+(n*20|0)+16>>2]=0;b[La+(n*20|0)+1>>0]=0}else tl(K,90,A,l,m)|0;i=i+1|0}while((i|0)!=(g|0))}i=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;La=f[K+88>>2]|0;b[La+(i*20|0)>>0]=87;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=F;f[La+(i*20|0)+8>>2]=u;f[La+(i*20|0)+12>>2]=g;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else i=tl(K,87,F,u,g)|0;k=f[K>>2]|0;Q:do if(b[k+81>>0]|0){if(o|(f[k+480>>2]|0)!=0)break;La=(f[p>>2]|0)+-1|0;f[p>>2]=La;if(La|0)break;k=f[p+12>>2]|0;do if(k|0){if(f[k+480>>2]|0){Kc(k,p);break Q}l=p;if((f[k+304>>2]|0)>>>0>l>>>0)break;if((f[k+308>>2]|0)>>>0<=l>>>0)break;La=k+300|0;f[p>>2]=f[La>>2];f[La>>2]=p;break Q}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{La=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-La;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}else{Ga=f[K+88>>2]|0;La=(f[D>>2]|0)+-1|0;b[Ga+(La*20|0)+1>>0]=-9;f[Ga+(La*20|0)+16>>2]=p}while(0);i=i+2|0;k=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(k|0)){f[D>>2]=k+1;La=f[K+88>>2]|0;b[La+(k*20|0)>>0]=16;d[La+(k*20|0)+2>>1]=0;f[La+(k*20|0)+4>>2]=i;f[La+(k*20|0)+8>>2]=0;f[La+(k*20|0)+12>>2]=i;f[La+(k*20|0)+16>>2]=0;b[La+(k*20|0)+1>>0]=0}else k=tl(K,16,i,0,i)|0;g=g+-1|0;i=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(i|0)){f[D>>2]=i+1;La=f[K+88>>2]|0;b[La+(i*20|0)>>0]=78;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=F;f[La+(i*20|0)+8>>2]=u;f[La+(i*20|0)+12>>2]=g;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0;g=k;break}else{tl(K,78,F,u,g)|0;g=k;break}}else g=0;while(0);Bo(a,N,B,P,R,v?x:0,v?f[Ha>>2]|0:0);if(!g)break;i=f[D>>2]|0;if(!(b[(f[K>>2]|0)+81>>0]|0))g=(f[K+88>>2]|0)+(((g|0)<0?i+-1|0:g)*20|0)|0;else g=72144;f[g+8>>2]=i}while(0);if(!H)Ao(a,N,A,0,x,f[Ha>>2]|0);g=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;La=f[K+88>>2]|0;b[La+(g*20|0)>>0]=83;d[La+(g*20|0)+2>>1]=0;f[La+(g*20|0)+4>>2]=B;f[La+(g*20|0)+8>>2]=1;f[La+(g*20|0)+12>>2]=0;f[La+(g*20|0)+16>>2]=0;b[La+(g*20|0)+1>>0]=0}else tl(K,83,B,1,0)|0;g=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;La=f[K+88>>2]|0;b[La+(g*20|0)>>0]=5;d[La+(g*20|0)+2>>1]=0;f[La+(g*20|0)+4>>2]=A;f[La+(g*20|0)+8>>2]=w;f[La+(g*20|0)+12>>2]=0;f[La+(g*20|0)+16>>2]=0;b[La+(g*20|0)+1>>0]=0}else tl(K,5,A,w,0)|0;Bo(a,N,B,P,R,0,0);k=f[J>>2]|0;g=f[k+64>>2]|0;if(g|0)f[g+(I<<2)>>2]=f[D>>2];g=f[z>>2]|0;i=f[D>>2]|0;if((f[k+48>>2]|0)>(i|0)){f[D>>2]=i+1;La=f[K+88>>2]|0;b[La+(i*20|0)>>0]=-117;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=g;f[La+(i*20|0)+8>>2]=0;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(K,139,g,0,0)|0;g=f[D>>2]|0;if((f[(f[J>>2]|0)+48>>2]|0)>(g|0)){f[D>>2]=g+1;La=f[K+88>>2]|0;b[La+(g*20|0)>>0]=66;d[La+(g*20|0)+2>>1]=0;f[La+(g*20|0)+4>>2]=G;f[La+(g*20|0)+8>>2]=0;f[La+(g*20|0)+12>>2]=0;f[La+(g*20|0)+16>>2]=0;b[La+(g*20|0)+1>>0]=0}else tl(K,66,G,0,0)|0;i=f[D>>2]|0;if(!(b[(f[K>>2]|0)+81>>0]|0))g=(f[K+88>>2]|0)+(((C|0)<0?i+-1|0:C)*20|0)|0;else g=72144;f[g+8>>2]=i}k=Na+136|0;g=f[k>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(g|0)){f[k>>2]=g+1;La=f[Na+88>>2]|0;b[La+(g*20|0)>>0]=11;d[La+(g*20|0)+2>>1]=0;f[La+(g*20|0)+4>>2]=0;f[La+(g*20|0)+8>>2]=O;f[La+(g*20|0)+12>>2]=0;f[La+(g*20|0)+16>>2]=0;b[La+(g*20|0)+1>>0]=0}else tl(Na,11,0,O,0)|0;g=f[(f[Z>>2]|0)+64>>2]|0;if(g|0)f[g+(U<<2)>>2]=f[k>>2];f[Ma+28>>2]=0;oo(a,c,-1,Ma,Ia,e,Q,O);i=f[Z>>2]|0;g=f[i+64>>2]|0;if(g|0)f[g+(T<<2)>>2]=f[k>>2];g=f[k>>2]|0;if((f[i+48>>2]|0)>(g|0)){f[k>>2]=g+1;La=f[Na+88>>2]|0;b[La+(g*20|0)>>0]=66;d[La+(g*20|0)+2>>1]=0;f[La+(g*20|0)+4>>2]=P;f[La+(g*20|0)+8>>2]=0;f[La+(g*20|0)+12>>2]=0;f[La+(g*20|0)+16>>2]=0;b[La+(g*20|0)+1>>0]=0}else tl(Na,66,P,0,0)|0;g=f[(f[Z>>2]|0)+64>>2]|0;if(!g){g=0;La=2007;break}f[g+(S<<2)>>2]=f[k>>2];g=0;La=2007}else{A=(V|0)!=0;do if(A){i=f[c>>2]|0;g=f[i>>2]|0;if((g|0)>0){i=i+4|0;while(1){d[i+16+2>>1]=0;if((g|0)>1){i=i+20|0;g=g+-1|0}else break}}g=f[V>>2]|0;if((g|0)>0){i=V+4|0;while(1){d[i+16+2>>1]=0;if((g|0)>1){i=i+20|0;g=g+-1|0}else break}}g=c+6|0;if((d[g>>1]|0)<=66)break;d[g>>1]=66}else d[c+6>>1]=0;while(0);i=f[Ma>>2]|0;g=(i|0)==0;R:do if(k&g)S=1;else{if(k|g){S=0;break}g=f[V>>2]|0;if((g|0)!=(f[i>>2]|0)){S=0;break}if((g|0)<=0){S=1;break}g=0;while(1){if((b[V+4+(g*20|0)+12>>0]|0)!=(b[i+4+(g*20|0)+12>>0]|0)){S=0;break R}if(Ck(0,f[V+4+(g*20|0)>>2]|0,f[i+4+(g*20|0)>>2]|0,-1)|0){S=0;break R}g=g+1|0;if((g|0)>=(f[V>>2]|0)){S=1;break}}}while(0);g=f[Z>>2]|0;o=g+60|0;W=f[o>>2]|0;f[o>>2]=W+1;o=g+64|0;if(!(W+-1&W)){m=W<<3|4;n=f[g>>2]|0;g=f[o>>2]|0;S:do if(g){k=g;l=n+304|0;do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0)))break S}while(0);i=Lc(n,g,m,0)|0;if(i|0){g=i;break}if(f[n+480>>2]|0){Kc(n,g);g=0;break}do if((f[l>>2]|0)>>>0<=k>>>0){if((f[n+308>>2]|0)>>>0<=k>>>0)break;xa=n+300|0;f[g>>2]=f[xa>>2];f[xa>>2]=g;g=0;break S}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);g=0;break}else{xa=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-xa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);g=0;break}}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){g=0;break}}else{do if(!(0<0|(0==0?(j[n+276>>1]|0)>>>0>>0:0))){i=n+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];xa=n+284|0;f[xa>>2]=(f[xa>>2]|0)+1;break S}i=n+296|0;g=f[i>>2]|0;if(!g){g=n+292|0;break}else{f[i>>2]=f[g>>2];xa=n+284|0;f[xa>>2]=(f[xa>>2]|0)+1;break S}}else g=n+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(n,m,0)|0}while(0);f[o>>2]=g}else g=f[o>>2]|0;if(g|0)f[g+(W<<2)>>2]=-1;U=~W;R=Da+12|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;f[R+16>>2]=0;f[Da>>2]=a;f[Da+4>>2]=wa;f[Da+8>>2]=Pa;R=a+44|0;f[Pa+16>>2]=(f[R>>2]|0)+1;if(A)g=f[V>>2]|0;else g=0;z=Pa+12|0;f[z>>2]=g;f[Pa+24>>2]=V;do if(Y|0){g=f[Y>>2]|0;if((g|0)<=0)break;m=Ha+4|0;n=Ha+8|0;o=Ha+12|0;p=Ha+16|0;q=Ha+24|0;k=Y+4|0;l=0;while(1){i=f[k>>2]|0;f[m>>2]=161;f[n>>2]=162;f[o>>2]=69;f[p>>2]=0;f[q>>2]=Da;if(i){oi(Ha,i)|0;g=f[Y>>2]|0}l=l+1|0;if((l|0)>=(g|0))break;else k=k+20|0}}while(0);m=f[Ma>>2]|0;do if(m|0){g=f[m>>2]|0;if((g|0)<=0)break;n=Ha+4|0;o=Ha+8|0;p=Ha+12|0;q=Ha+16|0;r=Ha+24|0;k=m+4|0;l=0;while(1){i=f[k>>2]|0;f[n>>2]=161;f[o>>2]=162;f[p>>2]=69;f[q>>2]=0;f[r>>2]=Da;if(i){oi(Ha,i)|0;g=f[m>>2]|0}l=l+1|0;if((l|0)>=(g|0))break;else k=k+20|0}}while(0);do if(X){if(!A){f[Ha+4>>2]=161;f[Ha+8>>2]=162;f[Ha+12>>2]=69;f[Ha+16>>2]=0;f[Ha+24>>2]=Da;oi(Ha,X)|0;break}g=Ha+8|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[Ha>>2]=a;f[Ha+4>>2]=163;f[Ha+24>>2]=c;g=f[u>>2]|0;if(g|0)oi(Ha,g)|0;G=f[va>>2]|0;f[Ha+4>>2]=161;f[Ha+8>>2]=162;f[Ha+12>>2]=69;f[Ha+16>>2]=0;f[Ha+24>>2]=Da;oi(Ha,X)|0}while(0);M=Pa+32|0;y=Pa+36|0;f[y>>2]=f[M>>2];do if(!(f[s>>2]|0)){if(f[u>>2]|0){x=0;g=0;break}if((f[Pa+44>>2]|0)!=1){x=0;g=0;break}g=f[f[Pa+40>>2]>>2]|0;o=f[g+20>>2]|0;do if(!o){g=0;i=0}else{if((f[o>>2]|0)!=1){g=0;i=0;break}i=f[g+8>>2]|0;n=b[i>>0]|0;g=(h[1232+(n&255)>>0]|0)+-109|0;n=n<<24>>24==0|(g|0)!=0;if(n)k=g;else{l=41255;m=i;do{m=m+1|0;l=l+1|0;xa=b[m>>0]|0;k=(h[1232+(xa&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(xa<<24>>24==0|(k|0)!=0))}if(k){if(!n){k=41259;do{i=i+1|0;k=k+1|0;xa=b[i>>0]|0;g=(h[1232+(xa&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(xa<<24>>24==0|(g|0)!=0))}if(!g){k=1;i=2}else{g=0;i=0;break}}else{k=0;i=1}g=Ik(Qa,o,0)|0;if(!g){g=0;break}b[g+16>>0]=k}while(0);x=i&255}else{x=0;g=0}while(0);T=Pa+44|0;m=f[T>>2]|0;if((m|0)>0){p=Da+24|0;q=Pa+40|0;r=Ha+4|0;s=Ha+8|0;u=Ha+12|0;v=Ha+16|0;w=Ha+24|0;o=0;i=d[p>>1]|0;do{i=i|8;d[p>>1]=i;n=f[(f[(f[q>>2]|0)+(o<<4)>>2]|0)+20>>2]|0;do if(n){k=f[n>>2]|0;if((k|0)<=0)break;l=n+4|0;m=0;i=k;while(1){k=f[l>>2]|0;f[r>>2]=161;f[s>>2]=162;f[u>>2]=69;f[v>>2]=0;f[w>>2]=Da;if(k){oi(Ha,k)|0;i=f[n>>2]|0}m=m+1|0;if((m|0)>=(i|0))break;else l=l+20|0}i=d[p>>1]|0;m=f[T>>2]|0}while(0);i=i&-9;d[p>>1]=i;o=o+1|0}while((o|0)<(m|0))}n=f[R>>2]|0;f[Pa+20>>2]=n;T:do if(!(b[Aa>>0]|0)){do if(A){C=a+40|0;o=f[C>>2]|0;f[C>>2]=o+1;P=Pa+4|0;f[P>>2]=o;o=f[a>>2]|0;q=f[V>>2]|0;m=(f[M>>2]|0)+1+q|0;n=m*5|0;l=n+20|0;p=o+272|0;U:do if(f[p>>2]|0)if(!(b[o+81>>0]|0))La=1589;else{F=0;p=1;E=0}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){i=o+300|0;k=f[i>>2]|0;if(k|0){f[i>>2]=f[k>>2];La=o+284|0;f[La>>2]=(f[La>>2]|0)+1;La=1590;break U}i=o+296|0;k=f[i>>2]|0;if(!k){i=o+292|0;break}else{f[i>>2]=f[k>>2];La=o+284|0;f[La>>2]=(f[La>>2]|0)+1;La=1590;break U}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;La=1589}while(0);if((La|0)==1589){k=Dc(o,l,0)|0;La=1590}do if((La|0)==1590){do if(!k){i=o+81|0;if(b[i>>0]|0){l=0;p=1;break}if(b[o+82>>0]|0){l=0;p=1;break}b[i>>0]=1;if((f[o+180>>2]|0)>0)f[o+264>>2]=1;f[p>>2]=(f[p>>2]|0)+1;l=0;p=1}else{f[k+16>>2]=k+20+(m<<2);d[k+6>>1]=q;d[k+8>>1]=m;b[k+4>>0]=b[o+78>>0]|0;f[k+12>>2]=o;f[k>>2]=1;_A(k+24|0,0,n+-4|0)|0;l=k;p=0}while(0);if(!((q|0)>0&(k|0)!=0)){F=l;E=k;break}o=k+16|0;m=V+4|0;n=0;while(1){i=Zk(a,f[m>>2]|0)|0;if(!i)i=f[(f[a>>2]|0)+8>>2]|0;f[k+20+(n<<2)>>2]=i;b[(f[o>>2]|0)+n>>0]=b[m+12>>0]|0;n=n+1|0;if((n|0)==(q|0)){F=l;E=k;break}else m=m+20|0}}while(0);l=f[P>>2]|0;i=f[z>>2]|0;Q=Na+136|0;k=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[Q>>2]=k+1;I=f[Na+88>>2]|0;b[I+(k*20|0)>>0]=114;d[I+(k*20|0)+2>>1]=0;f[I+(k*20|0)+4>>2]=l;f[I+(k*20|0)+8>>2]=i;f[I+(k*20|0)+12>>2]=0;f[I+(k*20|0)+16>>2]=0;b[I+(k*20|0)+1>>0]=0;I=k}else I=tl(Na,114,l,i,0)|0;i=f[Na>>2]|0;V:do if(b[i+81>>0]|0){if(p|(f[i+480>>2]|0)!=0)break;Ha=(f[F>>2]|0)+-1|0;f[F>>2]=Ha;if(Ha|0){p=0;break}i=f[F+12>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,F);p=0;break V}k=F;if((f[i+304>>2]|0)>>>0>k>>>0)break;if((f[i+308>>2]|0)>>>0<=k>>>0)break;p=i+300|0;f[F>>2]=f[p>>2];f[p>>2]=F;p=0;break V}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](F);p=0;break}else{p=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);p=0;break}}else{if((I|0)<0)i=(f[Q>>2]|0)+-1|0;else i=I;k=f[Na+88>>2]|0;l=k+(i*20|0)+1|0;if(b[l>>0]|0){ul(Na,k+(i*20|0)|0,F,-9);break}if(p){p=1;break}f[k+(i*20|0)+16>>2]=F;b[l>>0]=-9;p=0}while(0);N=f[R>>2]|0;O=N+1|0;H=N+2|0;N=N+3|0;f[R>>2]=N;i=f[Z>>2]|0;q=i+60|0;J=f[q>>2]|0;f[q>>2]=J+1;q=i+64|0;if(!(J+-1&J)){n=J<<3|4;o=f[i>>2]|0;i=f[q>>2]|0;W:do if(i){l=i;m=o+304|0;do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)))break W}while(0);k=Lc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Kc(o,i);i=0;break}do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;Ha=o+300|0;f[i>>2]=f[Ha>>2];f[Ha>>2]=i;i=0;break W}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{Ha=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Ha;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];Ha=o+284|0;f[Ha>>2]=(f[Ha>>2]|0)+1;break W}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];Ha=o+284|0;f[Ha>>2]=(f[Ha>>2]|0)+1;break W}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[q>>2]=i}else i=f[q>>2]|0;if(i|0)f[i+(J<<2)>>2]=-1;D=~J;L=(f[R>>2]|0)+1|0;f[R>>2]=L;i=f[Z>>2]|0;q=i+60|0;K=f[q>>2]|0;f[q>>2]=K+1;q=i+64|0;if(!(K+-1&K)){n=K<<3|4;o=f[i>>2]|0;i=f[q>>2]|0;X:do if(i){l=i;m=o+304|0;do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)))break X}while(0);k=Lc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Kc(o,i);i=0;break}do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;Ha=o+300|0;f[i>>2]=f[Ha>>2];f[Ha>>2]=i;i=0;break X}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{Ha=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Ha;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];Ha=o+284|0;f[Ha>>2]=(f[Ha>>2]|0)+1;break X}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];Ha=o+284|0;f[Ha>>2]=(f[Ha>>2]|0)+1;break X}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[q>>2]=i}else i=f[q>>2]|0;if(i|0)f[i+(K<<2)>>2]=-1;B=~K;i=f[R>>2]|0;z=i+1|0;k=f[V>>2]|0;Ha=k+i|0;A=Ha+1|0;f[R>>2]=Ha+k;k=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[Q>>2]=k+1;Ha=f[Na+88>>2]|0;b[Ha+(k*20|0)>>0]=70;d[Ha+(k*20|0)+2>>1]=0;f[Ha+(k*20|0)+4>>2]=0;f[Ha+(k*20|0)+8>>2]=H;f[Ha+(k*20|0)+12>>2]=0;f[Ha+(k*20|0)+16>>2]=0;b[Ha+(k*20|0)+1>>0]=0}else tl(Na,70,0,H,0)|0;i=(f[V>>2]|0)+i|0;k=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[Q>>2]=k+1;Ha=f[Na+88>>2]|0;b[Ha+(k*20|0)>>0]=73;d[Ha+(k*20|0)+2>>1]=0;f[Ha+(k*20|0)+4>>2]=0;f[Ha+(k*20|0)+8>>2]=z;f[Ha+(k*20|0)+12>>2]=i;f[Ha+(k*20|0)+16>>2]=0;b[Ha+(k*20|0)+1>>0]=0}else tl(Na,73,0,z,i)|0;i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;Ha=f[Na+88>>2]|0;b[Ha+(i*20|0)>>0]=12;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=L;f[Ha+(i*20|0)+8>>2]=B;f[Ha+(i*20|0)+12>>2]=0;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else tl(Na,12,L,B,0)|0;y=sn(a,wa,G,V,0,S?576:64,0)|0;if(!y)break T;if((f[V>>2]|0)==(b[y+47>>0]|0)){m=0;n=0;l=0}else{if(!(b[Ia>>0]|0))i=57431;else i=(f[Ga>>2]&1|0)==0?57422:57431;f[Fa>>2]=i;Km(a,0,57440,Fa);u=f[V>>2]|0;o=f[M>>2]|0;if((o|0)>0){m=f[Pa+28>>2]|0;k=u;i=u;l=0;while(1){n=(f[m+(l*24|0)+12>>2]|0)>=(k|0)&1;i=i+n|0;l=l+1|0;if((l|0)>=(o|0)){x=i;break}else k=k+n|0}}else x=u;w=(x|0)==1;do if(w){i=a+19|0;k=b[i>>0]|0;if(!(k<<24>>24)){v=(f[R>>2]|0)+1|0;f[R>>2]=v;break}else{v=k+-1<<24>>24;b[i>>0]=v;v=f[a+144+((v&255)<<2)>>2]|0;break}}else{i=a+32|0;k=f[i>>2]|0;l=a+28|0;m=f[l>>2]|0;if((m|0)<(x|0)){v=f[R>>2]|0;f[R>>2]=v+x;v=v+1|0;break}else{f[i>>2]=k+x;f[l>>2]=m-x;v=k;break}}while(0);s=f[Ra>>2]|0;if((u|0)>0){l=s+136|0;m=s+12|0;n=s+88|0;i=V+4|0;k=0;while(1){o=k+v|0;q=xl(a,f[i>>2]|0,o)|0;do if((q|0)!=(o|0)){r=f[l>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(r|0)){f[l>>2]=r+1;Ha=f[n>>2]|0;b[Ha+(r*20|0)>>0]=79;d[Ha+(r*20|0)+2>>1]=0;f[Ha+(r*20|0)+4>>2]=q;f[Ha+(r*20|0)+8>>2]=o;f[Ha+(r*20|0)+12>>2]=0;f[Ha+(r*20|0)+16>>2]=0;b[Ha+(r*20|0)+1>>0]=0;break}else{tl(s,79,q,o,0)|0;break}}while(0);k=k+1|0;if((k|0)==(u|0))break;else i=i+20|0}k=f[M>>2]|0}else k=o;if((k|0)>0){n=Pa+28|0;i=u;m=0;do{l=f[n>>2]|0;if((f[l+(m*24|0)+12>>2]|0)>=(i|0)){Am(Na,f[l+(m*24|0)>>2]|0,f[l+(m*24|0)+4>>2]|0,f[l+(m*24|0)+8>>2]|0,i+v|0);i=i+1|0;k=f[M>>2]|0}m=m+1|0}while((m|0)<(k|0))}m=a+19|0;i=b[m>>0]|0;if(!(i<<24>>24)){l=(f[R>>2]|0)+1|0;f[R>>2]=l}else{l=i+-1<<24>>24;b[m>>0]=l;l=f[a+144+((l&255)<<2)>>2]|0}i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;Ha=f[Na+88>>2]|0;b[Ha+(i*20|0)>>0]=102;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=v;f[Ha+(i*20|0)+8>>2]=x;f[Ha+(i*20|0)+12>>2]=l;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else tl(Na,102,v,x,l)|0;i=f[P>>2]|0;k=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[Q>>2]=k+1;Ha=f[Na+88>>2]|0;b[Ha+(k*20|0)>>0]=-124;d[Ha+(k*20|0)+2>>1]=0;f[Ha+(k*20|0)+4>>2]=i;f[Ha+(k*20|0)+8>>2]=l;f[Ha+(k*20|0)+12>>2]=0;f[Ha+(k*20|0)+16>>2]=0;b[Ha+(k*20|0)+1>>0]=0}else tl(Na,132,i,l,0)|0;do if(l|0){i=b[m>>0]|0;if((i&255)>=8)break;b[m>>0]=i+1<<24>>24;f[a+144+((i&255)<<2)>>2]=l}while(0);do if(w){if(!v)break;i=b[m>>0]|0;if((i&255)>=8)break;b[m>>0]=i+1<<24>>24;f[a+144+((i&255)<<2)>>2]=v}else{i=a+28|0;if((f[i>>2]|0)>=(x|0))break;f[i>>2]=x;f[a+32>>2]=v}while(0);tn(y);n=f[C>>2]|0;f[C>>2]=n+1;f[Pa+8>>2]=n;i=b[m>>0]|0;if(!(i<<24>>24)){l=(f[R>>2]|0)+1|0;f[R>>2]=l}else{l=i+-1<<24>>24;b[m>>0]=l;l=f[a+144+((l&255)<<2)>>2]|0}i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;Ha=f[Na+88>>2]|0;b[Ha+(i*20|0)>>0]=116;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=n;f[Ha+(i*20|0)+8>>2]=l;f[Ha+(i*20|0)+12>>2]=x;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else tl(Na,116,n,l,x)|0;i=f[P>>2]|0;k=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[Q>>2]=k+1;Ha=f[Na+88>>2]|0;b[Ha+(k*20|0)>>0]=34;d[Ha+(k*20|0)+2>>1]=0;f[Ha+(k*20|0)+4>>2]=i;f[Ha+(k*20|0)+8>>2]=U;f[Ha+(k*20|0)+12>>2]=0;f[Ha+(k*20|0)+16>>2]=0;b[Ha+(k*20|0)+1>>0]=0}else tl(Na,34,i,U,0)|0;b[Pa+1>>0]=1;m=1}Y:do if(S){if(d[ya>>1]&4){La=1752;break}do if(!m){if(b[y+48>>0]|0)break;u=f[Q>>2]|0;s=0;break Y}while(0);f[Ma>>2]=0;i=f[Ma+20>>2]|0;k=f[Na>>2]|0;if(b[k+81>>0]|0){La=1752;break}La=f[Na+88>>2]|0;Ga=La+(i*20|0)+1|0;Ha=La+(i*20|0)+16|0;qg(k,b[Ga>>0]|0,f[Ha>>2]|0);b[Ga>>0]=0;f[Ha>>2]=0;b[La+(i*20|0)>>0]=-85;La=1752}else La=1752;while(0);do if((La|0)==1752){k=f[Q>>2]|0;if(!m){u=k;s=0;break}i=f[P>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[Q>>2]=k+1;u=f[Na+88>>2]|0;b[u+(k*20|0)>>0]=127;d[u+(k*20|0)+2>>1]=0;f[u+(k*20|0)+4>>2]=i;f[u+(k*20|0)+8>>2]=l;f[u+(k*20|0)+12>>2]=n;f[u+(k*20|0)+16>>2]=0;b[u+(k*20|0)+1>>0]=0;u=k;s=1;break}else{tl(Na,127,i,l,n)|0;u=k;s=1;break}}while(0);k=f[V>>2]|0;if((k|0)>0){r=Na+88|0;q=0;do{Z:do if(s){i=q+A|0;k=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[Q>>2]=k+1;La=f[r>>2]|0;b[La+(k*20|0)>>0]=90;d[La+(k*20|0)+2>>1]=0;f[La+(k*20|0)+4>>2]=n;f[La+(k*20|0)+8>>2]=q;f[La+(k*20|0)+12>>2]=i;f[La+(k*20|0)+16>>2]=0;b[La+(k*20|0)+1>>0]=0;break}else{tl(Na,90,n,q,i)|0;break}}else{b[Pa>>0]=1;i=f[V+4+(q*20|0)>>2]|0;o=q+A|0;do if(i){if((b[i>>0]|0)!=-92){m=xl(a,i,o)|0;break}m=f[Ra>>2]|0;i=f[i+28>>2]|0;k=m+136|0;l=f[k>>2]|0;if((f[(f[m+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;La=f[m+88>>2]|0;b[La+(l*20|0)>>0]=78;d[La+(l*20|0)+2>>1]=0;f[La+(l*20|0)+4>>2]=i;f[La+(l*20|0)+8>>2]=o;f[La+(l*20|0)+12>>2]=0;f[La+(l*20|0)+16>>2]=0;b[La+(l*20|0)+1>>0]=0;break Z}else{tl(m,78,i,o,0)|0;break Z}}else m=xl(a,0,o)|0;while(0);if((m|0)==(o|0))break;i=f[Ra>>2]|0;if(!i)break;k=i+136|0;l=f[k>>2]|0;if((f[(f[i+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;La=f[i+88>>2]|0;b[La+(l*20|0)>>0]=79;d[La+(l*20|0)+2>>1]=0;f[La+(l*20|0)+4>>2]=m;f[La+(l*20|0)+8>>2]=o;f[La+(l*20|0)+12>>2]=0;f[La+(l*20|0)+16>>2]=0;b[La+(l*20|0)+1>>0]=0;break}else{tl(i,79,m,o,0)|0;break}}while(0);q=q+1|0;k=f[V>>2]|0}while((q|0)<(k|0))}if(E|0)f[E>>2]=(f[E>>2]|0)+1;i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=87;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=z;f[La+(i*20|0)+8>>2]=A;f[La+(i*20|0)+12>>2]=k;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else i=tl(Na,87,z,A,k)|0;k=f[Na>>2]|0;_:do if(b[k+81>>0]|0){if(p|(f[k+480>>2]|0)!=0)break;La=(f[F>>2]|0)+-1|0;f[F>>2]=La;if(La|0)break;i=f[F+12>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,F);break _}k=F;if((f[i+304>>2]|0)>>>0>k>>>0)break;if((f[i+308>>2]|0)>>>0<=k>>>0)break;La=i+300|0;f[F>>2]=f[La>>2];f[La>>2]=F;break _}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](F);break}else{La=ib[f[37368>>2]&255](F)|0;f[18187]=(f[18187]|0)-La;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](F);break}}else{if((i|0)<0)i=(f[Q>>2]|0)+-1|0;k=f[Na+88>>2]|0;l=k+(i*20|0)+1|0;if(b[l>>0]|0){ul(Na,k+(i*20|0)|0,F,-9);break}if(p)break;f[k+(i*20|0)+16>>2]=F;b[l>>0]=-9}while(0);n=f[Q>>2]|0;i=n+1|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(n|0)){f[Q>>2]=i;La=f[Na+88>>2]|0;b[La+(n*20|0)>>0]=16;d[La+(n*20|0)+2>>1]=0;f[La+(n*20|0)+4>>2]=i;f[La+(n*20|0)+8>>2]=0;f[La+(n*20|0)+12>>2]=i;f[La+(n*20|0)+16>>2]=0;b[La+(n*20|0)+1>>0]=0}else tl(Na,16,i,0,i)|0;k=f[V>>2]|0;i=f[Ra>>2]|0;l=i+136|0;m=f[l>>2]|0;if((f[(f[i+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;La=f[i+88>>2]|0;b[La+(m*20|0)>>0]=77;d[La+(m*20|0)+2>>1]=0;f[La+(m*20|0)+4>>2]=A;f[La+(m*20|0)+8>>2]=z;f[La+(m*20|0)+12>>2]=k;f[La+(m*20|0)+16>>2]=0;b[La+(m*20|0)+1>>0]=0}else tl(i,77,A,z,k)|0;i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=12;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=N;f[La+(i*20|0)+8>>2]=D;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,12,N,D,0)|0;i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=47;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=H;f[La+(i*20|0)+8>>2]=U;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,47,H,U,0)|0;i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=12;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=L;f[La+(i*20|0)+8>>2]=B;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,12,L,B,0)|0;k=f[Q>>2]|0;if(!(b[(f[Na>>2]|0)+81>>0]|0))i=(f[Na+88>>2]|0)+(((n|0)<0?k+-1|0:n)*20|0)|0;else i=72144;f[i+8>>2]=k;Ho(a,O,Pa);i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=70;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=1;f[La+(i*20|0)+8>>2]=O;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,70,1,O,0)|0;do if(s){i=f[P>>2]|0;k=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[Q>>2]=k+1;La=f[Na+88>>2]|0;b[La+(k*20|0)>>0]=3;d[La+(k*20|0)+2>>1]=0;f[La+(k*20|0)+4>>2]=i;f[La+(k*20|0)+8>>2]=u;f[La+(k*20|0)+12>>2]=0;f[La+(k*20|0)+16>>2]=0;b[La+(k*20|0)+1>>0]=0;break}else{tl(Na,3,i,u,0)|0;break}}else{tn(y);i=f[Na>>2]|0;if(b[i+81>>0]|0)break;La=f[Na+88>>2]|0;Ga=La+(I*20|0)+1|0;Ha=La+(I*20|0)+16|0;qg(i,b[Ga>>0]|0,f[Ha>>2]|0);b[Ga>>0]=0;f[Ha>>2]=0;b[La+(I*20|0)>>0]=-85}while(0);i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=12;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=N;f[La+(i*20|0)+8>>2]=D;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,12,N,D,0)|0;i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=11;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=0;f[La+(i*20|0)+8>>2]=U;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,11,0,U,0)|0;u=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(u|0)){f[Q>>2]=u+1;La=f[Na+88>>2]|0;b[La+(u*20|0)>>0]=70;d[La+(u*20|0)+2>>1]=0;f[La+(u*20|0)+4>>2]=1;f[La+(u*20|0)+8>>2]=H;f[La+(u*20|0)+12>>2]=0;f[La+(u*20|0)+16>>2]=0;b[La+(u*20|0)+1>>0]=0}else tl(Na,70,1,H,0)|0;i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=66;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=N;f[La+(i*20|0)+8>>2]=0;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,66,N,0,0)|0;k=f[Z>>2]|0;i=f[k+64>>2]|0;if(i|0)f[i+(J<<2)>>2]=f[Q>>2];s=f[Q>>2]|0;i=s+2|0;if((f[k+48>>2]|0)>(s|0)){f[Q>>2]=s+1;La=f[Na+88>>2]|0;b[La+(s*20|0)>>0]=47;d[La+(s*20|0)+2>>1]=0;f[La+(s*20|0)+4>>2]=O;f[La+(s*20|0)+8>>2]=i;f[La+(s*20|0)+12>>2]=0;f[La+(s*20|0)+16>>2]=0;b[La+(s*20|0)+1>>0]=0}else tl(Na,47,O,i,0)|0;i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=66;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=N;f[La+(i*20|0)+8>>2]=0;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,66,N,0,0)|0;o=f[Ra>>2]|0;if((f[T>>2]|0)>0){p=o+136|0;q=o+12|0;r=o+88|0;m=f[Pa+40>>2]|0;n=0;while(1){i=f[(f[m>>2]|0)+20>>2]|0;l=f[m+8>>2]|0;if(!i)k=0;else k=f[i>>2]|0;i=f[p>>2]|0;if((f[(f[q>>2]|0)+48>>2]|0)>(i|0)){f[p>>2]=i+1;La=f[r>>2]|0;b[La+(i*20|0)>>0]=-98;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=l;f[La+(i*20|0)+8>>2]=k;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(o,158,l,k,0)|0;i=f[m+4>>2]|0;k=f[o>>2]|0;$:do if(b[k+81>>0]|0){if(!(f[i+4>>2]&16))break;do if(k|0){if(f[k+480>>2]|0){Kc(k,i);break $}l=i;if((f[k+304>>2]|0)>>>0>l>>>0)break;if((f[k+308>>2]|0)>>>0<=l>>>0)break;La=k+300|0;f[i>>2]=f[La>>2];f[La>>2]=i;break $}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{La=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-La;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}else{Ha=f[r>>2]|0;La=(f[p>>2]|0)+-1|0;b[Ha+(La*20|0)+1>>0]=-8;f[Ha+(La*20|0)+16>>2]=i}while(0);n=n+1|0;if((n|0)>=(f[T>>2]|0))break;else m=m+16|0}}i=s+1|0;zm(a,X,i,16);oo(a,c,-1,Ma,Ia,e,i,u);i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=66;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=N;f[La+(i*20|0)+8>>2]=0;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,66,N,0,0)|0;i=f[(f[Z>>2]|0)+64>>2]|0;if(i|0)f[i+(K<<2)>>2]=f[Q>>2];Io(a,Pa);i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=70;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=0;f[La+(i*20|0)+8>>2]=O;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(Na,70,0,O,0)|0;i=f[Q>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[Q>>2]=i+1;La=f[Na+88>>2]|0;b[La+(i*20|0)>>0]=66;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=L;f[La+(i*20|0)+8>>2]=0;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0;break}else{tl(Na,66,L,0,0)|0;break}}else{z=Pa+40|0;l=f[z>>2]|0;do if(!(f[va>>2]|0)){k=f[c>>2]|0;if((f[k>>2]|0)!=1){La=1964;break}i=f[za>>2]|0;if((f[i>>2]|0)!=1){La=1964;break}if(f[i+28>>2]|0){La=1964;break}w=f[i+24>>2]|0;i=f[k+4>>2]|0;if(f[w+56>>2]|0){La=1964;break}if((m|0)==0|(b[i>>0]|0)!=-97){La=1964;break}if(!(f[(f[l+4>>2]|0)+4>>2]&256)){La=1964;break}if((w|0)==0?1:(f[i+4>>2]&16|0)!=0){La=1964;break}k=f[w+72>>2]|0;if(!k)u=-1e6;else{l=f[(f[a>>2]|0)+16>>2]|0;i=0;while(1)if((f[l+(i<<4)+12>>2]|0)==(k|0)){u=i;break}else i=i+1|0}r=a+40|0;v=f[r>>2]|0;f[r>>2]=v+1;r=w+28|0;s=f[r>>2]|0;m=f[Ba>>2]|0;m=(m|0)==0?a:m;i=m+84|0;k=f[i>>2]|0;l=1<>2]=k|l;if((u|0)!=1)break;q=f[m>>2]|0;i=q+16|0;if(f[(f[i>>2]|0)+20>>2]|0)break;if(b[m+195>>0]|0)break;k=cj(f[q>>2]|0,0,q,Ha,0,542)|0;if(k|0){ni(m,51535,Ca);f[m+12>>2]=k;break}Ha=f[Ha>>2]|0;f[(f[i>>2]|0)+20>>2]=Ha;i=f[q+92>>2]|0;m=f[Ha+4>>2]|0;f[m+4>>2]=f[Ha>>2];do if(!(d[m+22>>1]&2)){n=m+32|0;o=m+36|0;p=(f[n>>2]|0)-(f[o>>2]|0)|0;do if((i+-512|0)>>>0<65025){if(i+-1&i|0)break;f[n>>2]=i;l=m+80|0;i=f[l>>2]|0;if(!i)break;k=i+-4|0;f[l>>2]=k;i=k;do if((f[18022]|0)>>>0<=i>>>0)if((f[18023]|0)>>>0>i>>>0){f[18188]=(f[18188]|0)+-1;f[k>>2]=f[18025];f[18025]=k;Ha=(f[18026]|0)+1|0;f[18026]=Ha;f[18027]=(Ha|0)<(f[18021]|0)&1;break}else{i=ib[f[37368>>2]&255](k)|0;La=1901;break}else{i=ib[f[37368>>2]&255](k)|0;La=1901}while(0);do if((La|0)==1901){f[18189]=(f[18189]|0)-i;if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{Ha=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-Ha;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);f[l>>2]=0}while(0);Ha=ih(f[m>>2]|0,n,p)|0;f[o>>2]=(f[n>>2]|0)-(p&65535);if((Ha|0)!=7)break;i=q+81|0;do if(!(b[i>>0]|0)){if(b[q+82>>0]|0)break;b[i>>0]=1;if((f[q+180>>2]|0)>0)f[q+264>>2]=1;Ha=q+272|0;f[Ha>>2]=(f[Ha>>2]|0)+1}while(0);break aa}while(0)}while(0);nm(a,u,f[r>>2]|0,0,f[w>>2]|0);q=w+36|0;k=f[w+8>>2]|0;ba:do if(!(f[q>>2]&32)){i=0;La=1918}else{if(!k){k=s;m=0;p=0;o=1;break}i=k;while(1){La=i+55|0;if(((h[La>>0]|h[La+1>>0]<<8)&3)==2){La=1918;break ba}i=f[i+20>>2]|0;if(!i){i=0;La=1918;break}}}while(0);do if((La|0)==1918){if(k){m=w+46|0;do{Ha=k+55|0;do if(!((h[Ha>>0]|h[Ha+1>>0]<<8)&4)){l=d[k+48>>1]|0;if(l<<16>>16>=(d[m>>1]|0))break;if(f[k+36>>2]|0)break;if(i|0?l<<16>>16>=(d[i+48>>1]|0):0)break;i=k}while(0);k=f[k+20>>2]|0}while((k|0)!=0)}if(!i){k=s;m=0;p=0;o=1;break}k=f[i+44>>2]|0;m=om(a,i)|0;p=i;o=0}while(0);n=Na+136|0;i=f[n>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[n>>2]=i+1;Ha=f[Na+88>>2]|0;b[Ha+(i*20|0)>>0]=109;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=v;f[Ha+(i*20|0)+8>>2]=k;f[Ha+(i*20|0)+12>>2]=u;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else i=tl(Na,109,v,k,u)|0;if(!(b[(f[Na>>2]|0)+81>>0]|0)){Ha=f[Na+88>>2]|0;b[Ha+(i*20|0)+1>>0]=-3;f[Ha+(i*20|0)+16>>2]=1}ca:do if(m|0){i=f[Na>>2]|0;if(!(b[i+81>>0]|0)){i=(f[n>>2]|0)+-1|0;k=f[Na+88>>2]|0;l=k+(i*20|0)+1|0;if(!(b[l>>0]|0)){f[k+(i*20|0)+16>>2]=m;b[l>>0]=-9;break}else{ul(Na,k+(i*20|0)|0,m,-9);break}}if(f[i+480>>2]|0)break;Ha=(f[m>>2]|0)+-1|0;f[m>>2]=Ha;if(Ha|0)break;i=f[m+12>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,m);break ca}k=m;if((f[i+304>>2]|0)>>>0>k>>>0)break;if((f[i+308>>2]|0)>>>0<=k>>>0)break;Ha=i+300|0;f[m>>2]=f[Ha>>2];f[Ha>>2]=m;break ca}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{Ha=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-Ha;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);i=f[(f[z>>2]|0)+8>>2]|0;k=f[n>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[n>>2]=k+1;Ha=f[Na+88>>2]|0;b[Ha+(k*20|0)>>0]=104;d[Ha+(k*20|0)+2>>1]=0;f[Ha+(k*20|0)+4>>2]=v;f[Ha+(k*20|0)+8>>2]=i;f[Ha+(k*20|0)+12>>2]=0;f[Ha+(k*20|0)+16>>2]=0;b[Ha+(k*20|0)+1>>0]=0}else tl(Na,104,v,i,0)|0;i=f[n>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(i|0)){f[n>>2]=i+1;Ha=f[Na+88>>2]|0;b[Ha+(i*20|0)>>0]=117;d[Ha+(i*20|0)+2>>1]=0;f[Ha+(i*20|0)+4>>2]=v;f[Ha+(i*20|0)+8>>2]=0;f[Ha+(i*20|0)+12>>2]=0;f[Ha+(i*20|0)+16>>2]=0;b[Ha+(i*20|0)+1>>0]=0}else tl(Na,117,v,0,0)|0;if((b[a+195>>0]|0)!=2)break;do if(o){i=f[w>>2]|0;l=72788;k=72788}else{if(f[q>>2]&32){Ha=p+55|0;i=f[w>>2]|0;if(((h[Ha>>0]|h[Ha+1>>0]<<8)&3)==2){l=72788;k=72788;break}}else i=f[w>>2]|0;l=57463;k=f[p>>2]|0}while(0);f[Ea>>2]=i;f[Ea+4>>2]=l;f[Ea+8>>2]=k;Km(a,0,57486,Ea)}else La=1964;while(0);do if((La|0)==1964){do if(f[y>>2]|0){da:do if((m|0)>0){i=0;do{if(f[(f[l+(i<<4)+4>>2]|0)+4>>2]&32|0)break da;i=i+1|0}while((i|0)<(m|0))}else i=0;while(0);if((i|0)!=(m|0)){l=0;break}l=n+1|0;f[R>>2]=l;i=Na+136|0;k=f[i>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;Ha=f[Na+88>>2]|0;b[Ha+(k*20|0)>>0]=70;d[Ha+(k*20|0)+2>>1]=0;f[Ha+(k*20|0)+4>>2]=0;f[Ha+(k*20|0)+8>>2]=l;f[Ha+(k*20|0)+12>>2]=0;f[Ha+(k*20|0)+16>>2]=0;b[Ha+(k*20|0)+1>>0]=0;break}else{tl(Na,70,0,l,0)|0;break}}else l=0;while(0);Io(a,Pa);m=sn(a,wa,G,g,0,x,0)|0;if(!m)break T;Ho(a,l,Pa);do if(l|0){i=Na+136|0;k=f[i>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;La=f[Na+88>>2]|0;b[La+(k*20|0)>>0]=70;d[La+(k*20|0)+2>>1]=0;f[La+(k*20|0)+4>>2]=1;f[La+(k*20|0)+8>>2]=l;f[La+(k*20|0)+12>>2]=0;f[La+(k*20|0)+16>>2]=0;b[La+(k*20|0)+1>>0]=0;break}else{tl(Na,70,1,l,0)|0;break}}while(0);do if((b[m+47>>0]|0)>0){i=f[m+36>>2]|0;k=Na+136|0;l=f[k>>2]|0;if((f[(f[Z>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;La=f[Na+88>>2]|0;b[La+(l*20|0)>>0]=11;d[La+(l*20|0)+2>>1]=0;f[La+(l*20|0)+4>>2]=0;f[La+(l*20|0)+8>>2]=i;f[La+(l*20|0)+12>>2]=0;f[La+(l*20|0)+16>>2]=0;b[La+(l*20|0)+1>>0]=0;break}else{tl(Na,11,0,i,0)|0;break}}while(0);tn(m);o=f[Ra>>2]|0;if((f[T>>2]|0)<=0)break;p=o+136|0;q=o+12|0;r=o+88|0;m=f[z>>2]|0;n=0;while(1){i=f[(f[m>>2]|0)+20>>2]|0;l=f[m+8>>2]|0;if(!i)k=0;else k=f[i>>2]|0;i=f[p>>2]|0;if((f[(f[q>>2]|0)+48>>2]|0)>(i|0)){f[p>>2]=i+1;La=f[r>>2]|0;b[La+(i*20|0)>>0]=-98;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=l;f[La+(i*20|0)+8>>2]=k;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(o,158,l,k,0)|0;i=f[m+4>>2]|0;k=f[o>>2]|0;ea:do if(b[k+81>>0]|0){if(!(f[i+4>>2]&16))break;do if(k|0){if(f[k+480>>2]|0){Kc(k,i);break ea}l=i;if((f[k+304>>2]|0)>>>0>l>>>0)break;if((f[k+308>>2]|0)>>>0<=l>>>0)break;La=k+300|0;f[i>>2]=f[La>>2];f[La>>2]=i;break ea}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{La=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-La;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}else{Ha=f[r>>2]|0;La=(f[p>>2]|0)+-1|0;b[Ha+(La*20|0)+1>>0]=-8;f[Ha+(La*20|0)+16>>2]=i}while(0);n=n+1|0;if((n|0)>=(f[T>>2]|0))break;else m=m+16|0}}while(0);f[Ma>>2]=0;zm(a,X,U,16);oo(a,c,-1,0,0,e,U,U)}while(0);i=f[(f[Z>>2]|0)+64>>2]|0;if(i|0)f[i+(W<<2)>>2]=f[Na+136>>2];La=2007;break B}while(0);i=1}while(0);if((La|0)==2007){if((b[Ia+1>>0]|0)==3){f[Ja>>2]=57422;Km(a,0,57440,Ja)}do if(f[Ma>>2]|0){q=Ma+4|0;f[Ka>>2]=(f[q>>2]|0)>0?57504:57262;Km(a,0,57440,Ka);D=f[Y>>2]|0;G=f[Ra>>2]|0;H=f[Ma+24>>2]|0;F=G+12|0;i=f[F>>2]|0;p=i+60|0;E=f[p>>2]|0;f[p>>2]=E+1;p=i+64|0;if(!(E+-1&E)){n=E<<3|4;o=f[i>>2]|0;i=f[p>>2]|0;fa:do if(i){l=i;m=o+304|0;do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0)))break fa}while(0);k=Lc(o,i,n,0)|0;if(k|0){i=k;break}if(f[o+480>>2]|0){Kc(o,i);i=0;break}do if((f[m>>2]|0)>>>0<=l>>>0){if((f[o+308>>2]|0)>>>0<=l>>>0)break;La=o+300|0;f[i>>2]=f[La>>2];f[La>>2]=i;i=0;break fa}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{La=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-La;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[o+272>>2]|0){if(b[o+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[o+276>>1]|0)>>>0>>0:0))){k=o+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];La=o+284|0;f[La>>2]=(f[La>>2]|0)+1;break fa}k=o+296|0;i=f[k>>2]|0;if(!i){i=o+292|0;break}else{f[k>>2]=f[i>>2];La=o+284|0;f[La>>2]=(f[La>>2]|0)+1;break fa}}else i=o+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(o,n,0)|0}while(0);f[p>>2]=i}else i=f[p>>2]|0;if(i|0)f[i+(E<<2)>>2]=-1;r=~E;o=f[Ma>>2]|0;B=b[e>>0]|0;v=e+4|0;y=f[v>>2]|0;w=f[c>>2]|0;p=Ma+16|0;i=f[p>>2]|0;do if(i|0){k=f[Ma+12>>2]|0;m=G+136|0;l=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;La=f[G+88>>2]|0;b[La+(l*20|0)>>0]=12;d[La+(l*20|0)+2>>1]=0;f[La+(l*20|0)+4>>2]=k;f[La+(l*20|0)+8>>2]=i;f[La+(l*20|0)+12>>2]=0;f[La+(l*20|0)+16>>2]=0;b[La+(l*20|0)+1>>0]=0}else tl(G,12,k,i,0)|0;i=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(i|0)){f[m>>2]=i+1;La=f[G+88>>2]|0;b[La+(i*20|0)>>0]=11;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=0;f[La+(i*20|0)+8>>2]=H;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else tl(G,11,0,H,0)|0;i=f[(f[F>>2]|0)+64>>2]|0;if(!i)break;f[i+(~f[p>>2]<<2)>>2]=f[m>>2]}while(0);C=f[Ma+8>>2]|0;ga:do switch(B<<24>>24){case 9:case 10:case 13:{x=f[e+8>>2]|0;z=0;break}default:{k=a+19|0;i=b[k>>0]|0;if(!(i<<24>>24)){i=a+44|0;n=(f[i>>2]|0)+1|0;f[i>>2]=n;i=0}else{i=i+-1<<24>>24;b[k>>0]=i;n=f[a+144+((i&255)<<2)>>2]|0}if((D|0)==1)if(!(i<<24>>24)){z=a+44|0;x=(f[z>>2]|0)+1|0;f[z>>2]=x;z=n;break ga}else{x=i+-1<<24>>24;b[k>>0]=x;x=f[a+144+((x&255)<<2)>>2]|0;z=n;break ga}else{i=a+32|0;k=f[i>>2]|0;l=a+28|0;m=f[l>>2]|0;if((m|0)<(D|0)){z=a+44|0;x=f[z>>2]|0;f[z>>2]=x+D;x=x+1|0;z=n;break ga}else{f[i>>2]=k+D;f[l>>2]=m-D;x=k;z=n;break ga}}}}while(0);o=(f[o>>2]|0)-(f[q>>2]|0)|0;A=Ma+32|0;do if(!(b[A>>0]&1)){m=G+136|0;i=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(i|0)){f[m>>2]=i+1;La=f[G+88>>2]|0;b[La+(i*20|0)>>0]=35;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=C;f[La+(i*20|0)+8>>2]=H;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else i=tl(G,35,C,H,0)|0;k=f[c+16>>2]|0;if((k|0)<=0){k=1;s=C;break}l=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;s=f[G+88>>2]|0;b[s+(l*20|0)>>0]=47;d[s+(l*20|0)+2>>1]=0;f[s+(l*20|0)+4>>2]=k;f[s+(l*20|0)+8>>2]=r;f[s+(l*20|0)+12>>2]=1;f[s+(l*20|0)+16>>2]=0;b[s+(l*20|0)+1>>0]=0;k=1;s=C;break}else{tl(G,47,k,r,1)|0;k=1;s=C;break}}else{m=a+44|0;n=(f[m>>2]|0)+1|0;f[m>>2]=n;m=a+40|0;s=f[m>>2]|0;f[m>>2]=s+1;m=G+136|0;do if(f[p>>2]|0){i=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(i|0)){f[m>>2]=i+1;W=f[G+88>>2]|0;b[W+(i*20|0)>>0]=17;W=W+(i*20|0)+1|0;X=W+19|0;do{b[W>>0]=0;W=W+1|0}while((W|0)<(X|0));l=i;break}else{l=tl(G,17,0,0,0)|0;break}}else l=0;while(0);i=D+1+o|0;k=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;La=f[G+88>>2]|0;b[La+(k*20|0)>>0]=116;d[La+(k*20|0)+2>>1]=0;f[La+(k*20|0)+4>>2]=s;f[La+(k*20|0)+8>>2]=n;f[La+(k*20|0)+12>>2]=i;f[La+(k*20|0)+16>>2]=0;b[La+(k*20|0)+1>>0]=0}else tl(G,116,s,n,i)|0;i=f[m>>2]|0;if(l|0){if(!(b[(f[G>>2]|0)+81>>0]|0))k=(f[G+88>>2]|0)+(((l|0)<0?i+-1|0:l)*20|0)|0;else k=72144;f[k+8>>2]=i}if((f[(f[F>>2]|0)+48>>2]|0)>(i|0)){f[m>>2]=i+1;La=f[G+88>>2]|0;b[La+(i*20|0)>>0]=34;d[La+(i*20|0)+2>>1]=0;f[La+(i*20|0)+4>>2]=C;f[La+(i*20|0)+8>>2]=H;f[La+(i*20|0)+12>>2]=0;f[La+(i*20|0)+16>>2]=0;b[La+(i*20|0)+1>>0]=0}else i=tl(G,34,C,H,0)|0;k=f[c+16>>2]|0;do if((k|0)>0){l=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[m>>2]=l+1;c=f[G+88>>2]|0;b[c+(l*20|0)>>0]=47;d[c+(l*20|0)+2>>1]=0;f[c+(l*20|0)+4>>2]=k;f[c+(l*20|0)+8>>2]=r;f[c+(l*20|0)+12>>2]=1;f[c+(l*20|0)+16>>2]=0;b[c+(l*20|0)+1>>0]=0;break}else{tl(G,47,k,r,1)|0;break}}while(0);k=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;c=f[G+88>>2]|0;b[c+(k*20|0)>>0]=127;d[c+(k*20|0)+2>>1]=0;f[c+(k*20|0)+4>>2]=C;f[c+(k*20|0)+8>>2]=n;f[c+(k*20|0)+12>>2]=s;f[c+(k*20|0)+16>>2]=0;b[c+(k*20|0)+1>>0]=0;k=0;break}else{tl(G,127,C,n,s)|0;k=0;break}}while(0);u=i+1|0;if((D|0)>0){i=0;k=o+-1+k|0;do{k=k+((d[w+4+(i*20|0)+16>>1]|0)==0&1)|0;i=i+1|0}while((i|0)!=(D|0));q=G+136|0;r=G+88|0;p=D;while(1){l=p;p=p+-1|0;i=d[w+4+(p*20|0)+16>>1]|0;m=i<<16>>16==0;i=m?k:(i&65535)+-1|0;n=p+x|0;o=f[q>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(o|0)){f[q>>2]=o+1;c=f[r>>2]|0;b[c+(o*20|0)>>0]=90;d[c+(o*20|0)+2>>1]=0;f[c+(o*20|0)+4>>2]=s;f[c+(o*20|0)+8>>2]=i;f[c+(o*20|0)+12>>2]=n;f[c+(o*20|0)+16>>2]=0;b[c+(o*20|0)+1>>0]=0}else tl(G,90,s,i,n)|0;if((l|0)<=1)break;else k=k+(m<<31>>31)|0}}ha:do switch(B<<24>>24){case 12:case 14:{k=G+136|0;i=f[k>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(i|0)){f[k>>2]=i+1;e=f[G+88>>2]|0;b[e+(i*20|0)>>0]=121;d[e+(i*20|0)+2>>1]=0;f[e+(i*20|0)+4>>2]=y;f[e+(i*20|0)+8>>2]=z;f[e+(i*20|0)+12>>2]=0;f[e+(i*20|0)+16>>2]=0;b[e+(i*20|0)+1>>0]=0}else tl(G,121,y,z,0)|0;i=f[k>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(i|0)){f[k>>2]=i+1;e=f[G+88>>2]|0;b[e+(i*20|0)>>0]=122;d[e+(i*20|0)+2>>1]=0;f[e+(i*20|0)+4>>2]=y;f[e+(i*20|0)+8>>2]=x;f[e+(i*20|0)+12>>2]=z;f[e+(i*20|0)+16>>2]=0;b[e+(i*20|0)+1>>0]=0}else tl(G,122,y,x,z)|0;i=f[k>>2]|0;if((i|0)<=0)break ha;d[(f[G+88>>2]|0)+((i+-1|0)*20|0)+2>>1]=8;break}case 11:{n=f[e+16>>2]|0;o=G+136|0;i=f[o>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(i|0)){f[o>>2]=i+1;e=f[G+88>>2]|0;b[e+(i*20|0)>>0]=102;d[e+(i*20|0)+2>>1]=0;f[e+(i*20|0)+4>>2]=x;f[e+(i*20|0)+8>>2]=D;f[e+(i*20|0)+12>>2]=z;f[e+(i*20|0)+16>>2]=0;b[e+(i*20|0)+1>>0]=0}else i=tl(G,102,x,D,z)|0;k=f[G>>2]|0;ia:do if(!(b[k+81>>0]|0)){if((i|0)<0)i=(f[o>>2]|0)+-1|0;k=f[G+88>>2]|0;l=k+(i*20|0)|0;do if((D|0)<=-1){m=k+(i*20|0)+1|0;if(b[m>>0]|0)break;if((D|0)==-3){f[k+(i*20|0)+16>>2]=n;b[m>>0]=-3;break ia}if(!n)break ia;f[k+(i*20|0)+16>>2]=n;b[m>>0]=D;if((D|0)!=-12)break ia;e=n+12|0;f[e>>2]=(f[e>>2]|0)+1;break ia}while(0);ul(G,l,n,D)}else{if((D|0)==-12)break;qg(k,D,n)}while(0);i=f[o>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(i|0)){f[o>>2]=i+1;e=f[G+88>>2]|0;b[e+(i*20|0)>>0]=-123;d[e+(i*20|0)+2>>1]=0;f[e+(i*20|0)+4>>2]=y;f[e+(i*20|0)+8>>2]=z;f[e+(i*20|0)+12>>2]=x;f[e+(i*20|0)+16>>2]=0;b[e+(i*20|0)+1>>0]=0}else i=tl(G,133,y,z,x)|0;if(b[(f[G>>2]|0)+81>>0]|0)break ha;e=f[G+88>>2]|0;b[e+(i*20|0)+1>>0]=-3;f[e+(i*20|0)+16>>2]=D;break}case 10:break;case 9:{i=f[e+8>>2]|0;k=G+136|0;l=f[k>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;e=f[G+88>>2]|0;b[e+(l*20|0)>>0]=81;d[e+(l*20|0)+2>>1]=0;f[e+(l*20|0)+4>>2]=i;f[e+(l*20|0)+8>>2]=D;f[e+(l*20|0)+12>>2]=0;f[e+(l*20|0)+16>>2]=0;b[e+(l*20|0)+1>>0]=0;break ha}else{tl(G,81,i,D,0)|0;break ha}}default:{i=f[v>>2]|0;k=G+136|0;l=f[k>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;e=f[G+88>>2]|0;b[e+(l*20|0)>>0]=14;d[e+(l*20|0)+2>>1]=0;f[e+(l*20|0)+4>>2]=i;f[e+(l*20|0)+8>>2]=0;f[e+(l*20|0)+12>>2]=0;f[e+(l*20|0)+16>>2]=0;b[e+(l*20|0)+1>>0]=0;break ha}else{tl(G,14,i,0,0)|0;break ha}}}while(0);do if(z|0){if(B<<24>>24!=11){k=a+19|0;i=b[k>>0]|0;if(x){if((i&255)>=8)break;e=i+1<<24>>24;b[k>>0]=e;f[a+144+((i&255)<<2)>>2]=x;i=e}if((i&255)>=8)break;b[k>>0]=i+1<<24>>24;f[a+144+((i&255)<<2)>>2]=z;break}do if((D|0)==1){if(!x)break;i=a+19|0;k=b[i>>0]|0;if((k&255)>=8)break;b[i>>0]=k+1<<24>>24;f[a+144+((k&255)<<2)>>2]=x}else{i=a+28|0;if((f[i>>2]|0)>=(D|0))break;f[i>>2]=D;f[a+32>>2]=x}while(0);i=a+19|0;k=b[i>>0]|0;if((k&255)>=8)break;b[i>>0]=k+1<<24>>24;f[a+144+((k&255)<<2)>>2]=z}while(0);l=f[F>>2]|0;i=f[l+64>>2]|0;m=G+136|0;if(i|0)f[i+(E<<2)>>2]=f[m>>2];k=f[m>>2]|0;i=(f[l+48>>2]|0)>(k|0);do if(!(b[A>>0]&1))if(i){f[m>>2]=k+1;e=f[G+88>>2]|0;b[e+(k*20|0)>>0]=5;d[e+(k*20|0)+2>>1]=0;f[e+(k*20|0)+4>>2]=C;f[e+(k*20|0)+8>>2]=u;f[e+(k*20|0)+12>>2]=0;f[e+(k*20|0)+16>>2]=0;b[e+(k*20|0)+1>>0]=0;break}else{tl(G,5,C,u,0)|0;break}else if(i){f[m>>2]=k+1;e=f[G+88>>2]|0;b[e+(k*20|0)>>0]=3;d[e+(k*20|0)+2>>1]=0;f[e+(k*20|0)+4>>2]=C;f[e+(k*20|0)+8>>2]=u;f[e+(k*20|0)+12>>2]=0;f[e+(k*20|0)+16>>2]=0;b[e+(k*20|0)+1>>0]=0;break}else{tl(G,3,C,u,0)|0;break}while(0);i=f[Ma+12>>2]|0;do if(i|0){k=f[m>>2]|0;if((f[(f[F>>2]|0)+48>>2]|0)>(k|0)){f[m>>2]=k+1;e=f[G+88>>2]|0;b[e+(k*20|0)>>0]=66;d[e+(k*20|0)+2>>1]=0;f[e+(k*20|0)+4>>2]=i;f[e+(k*20|0)+8>>2]=0;f[e+(k*20|0)+12>>2]=0;f[e+(k*20|0)+16>>2]=0;b[e+(k*20|0)+1>>0]=0;break}else{tl(G,66,i,0,0)|0;break}}while(0);i=f[(f[F>>2]|0)+64>>2]|0;if(!i)break;f[i+(~H<<2)>>2]=f[m>>2]}while(0);i=f[(f[Z>>2]|0)+64>>2]|0;if(i|0)f[i+(_<<2)>>2]=f[Na+136>>2];i=(f[Oa>>2]|0)>0&1}if(!g){l=i;break a}jg(Qa,g);l=i;break a}else r=g;while(0);A=f[a>>2]|0;f[Ha>>2]=f[e>>2];f[Ha+4>>2]=f[e+4>>2];f[Ha+8>>2]=f[e+8>>2];f[Ha+12>>2]=f[e+12>>2];f[Ha+16>>2]=f[e+16>>2];f[Ha+20>>2]=f[e+20>>2];g=(f[r+48>>2]|0)==0;ja:do if(g?(ma=r+60|0,(f[ma>>2]|0)==0):0){g=f[Ra>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[A+76>>1]&8)==0:0)b[a+23>>0]=1;z=sl(a)|0}else z=g;if((b[Ha>>0]|0)==12){g=f[Ha+4>>2]|0;i=f[f[c>>2]>>2]|0;k=z+136|0;l=f[k>>2]|0;if((f[(f[z+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;Qa=f[z+88>>2]|0;b[Qa+(l*20|0)>>0]=113;d[Qa+(l*20|0)+2>>1]=0;f[Qa+(l*20|0)+4>>2]=g;f[Qa+(l*20|0)+8>>2]=i;f[Qa+(l*20|0)+12>>2]=0;f[Qa+(l*20|0)+16>>2]=0;b[Qa+(l*20|0)+1>>0]=0}else tl(z,113,g,i,0)|0;b[Ha>>0]=14}g=f[Ga>>2]|0;if(g&1024|0){m=(f[c+60>>2]|0)==0;k=m&1;g=c;i=1;while(1){l=f[g+52>>2]|0;if(!l)break;else{g=l;i=i+k|0}}f[ia>>2]=i;f[ia+4>>2]=(i|0)==1?72788:57313;Km(a,0,57315,ia);i=i&65535;if(!m){oo(a,g,-1,0,0,Ha,1,1);i=0;g=0;La=705;break}while(1){oo(a,g,-1,0,0,Ha,1,1);d[g+6>>1]=i;g=f[g+56>>2]|0;if(!g){i=0;g=0;La=705;break ja}}}do if(!(g&8192)){if(f[Y>>2]|0){l=qo(a,c,e)|0;break ja}if(!(f[r+52>>2]|0)){Km(a,1,57338,ga);Km(a,1,57353,ha)}o=c+4|0;switch(b[o>>0]|0){case 124:{n=c+12|0;i=r+12|0;f[i>>2]=f[n>>2];l=c+16|0;k=r+16|0;f[k>>2]=f[l>>2];Qa=c+60|0;f[ma>>2]=f[Qa>>2];g=Kl(a,r,Ha)|0;f[Qa>>2]=0;if(g|0){i=0;La=705;break ja}f[fa>>2]=0;i=f[i>>2]|0;f[n>>2]=i;f[l>>2]=f[k>>2];do if(i){o=z+136|0;g=f[o>>2]|0;p=z+12|0;if((f[(f[p>>2]|0)+48>>2]|0)>(g|0)){f[o>>2]=g+1;Qa=f[z+88>>2]|0;b[Qa+(g*20|0)>>0]=20;d[Qa+(g*20|0)+2>>1]=0;f[Qa+(g*20|0)+4>>2]=i;f[Qa+(g*20|0)+8>>2]=0;f[Qa+(g*20|0)+12>>2]=0;f[Qa+(g*20|0)+16>>2]=0;b[Qa+(g*20|0)+1>>0]=0}else g=tl(z,20,i,0,0)|0;m=f[l>>2]|0;if(!m){u=g;break}i=f[n>>2]|0;k=m+1|0;l=f[o>>2]|0;if((f[(f[p>>2]|0)+48>>2]|0)>(l|0)){f[o>>2]=l+1;u=f[z+88>>2]|0;b[u+(l*20|0)>>0]=-103;d[u+(l*20|0)+2>>1]=0;f[u+(l*20|0)+4>>2]=i;f[u+(l*20|0)+8>>2]=k;f[u+(l*20|0)+12>>2]=m;f[u+(l*20|0)+16>>2]=0;b[u+(l*20|0)+1>>0]=0;u=g;break}else{tl(z,153,i,k,m)|0;u=g;break}}else u=0;while(0);Km(a,1,49266,ka);g=Kl(a,c,Ha)|0;m=f[fa>>2]|0;f[fa>>2]=r;s=c+6|0;i=d[s>>1]|0;k=d[r+6>>1]|0;l=i<<16>>16;n=k<<16>>16;do if(i<<16>>16>16){if((l+49|0)<(n|0)){i=k;break}if((l+31|0)<(n|0)){i=n+1&65535;break}else{i=(h[22960+(n-l)>>0]|0)+n&65535;break}}else{if((n+49|0)<(l|0))break;if((n+31|0)<(l|0)){i=l+1&65535;break}else{i=(h[22960+(l-n)>>0]|0)+l&65535;break}}while(0);d[s>>1]=i;i=f[ma>>2]|0;do if(i|0){Qa=(Ak(f[i+12>>2]|0,Da)|0)!=0;i=f[Da>>2]|0;if(!(Qa&(i|0)>0))break;q=d[s>>1]|0;k=((i|0)<0)<<31>>31;r=i>>>0<8;do if(r){if(i>>>0<2){l=0;break}l=40;o=i;n=k;do{l=(l&65535)+65526|0;o=WA(o|0,n|0,1)|0;n=ba()|0}while(n>>>0<0|(n|0)==0&o>>>0<8);n=l&65535;l=o;La=404}else{if(i>>>0>255){l=40;p=i;n=k;do{l=(l&65535)+40|0;Qa=p;p=VA(p|0,n|0,4)|0;Pa=n;n=ba()|0}while(Pa>>>0>0|(Pa|0)==0&Qa>>>0>4095);o=l&65535;l=p}else{o=40;n=k;l=i}if(!(n>>>0>0|(n|0)==0&l>>>0>15)){n=o;La=404;break}do{o=(o&65535)+10&65535;Qa=l;l=VA(l|0,n|0,1)|0;Pa=n;n=ba()|0}while(Pa>>>0>0|(Pa|0)==0&Qa>>>0>31);n=o;La=404}while(0);if((La|0)==404)l=(n&65535)+65526+(j[7936+((l&7)<<1)>>1]|0)&65535;if(q<<16>>16<=l<<16>>16)break;do if(r){if(i>>>0<2){i=0;break}l=40;do{l=(l&65535)+65526|0;i=WA(i|0,k|0,1)|0;k=ba()|0}while(k>>>0<0|(k|0)==0&i>>>0<8);l=l&65535;La=419}else{if(i>>>0>255){l=40;do{l=(l&65535)+40|0;Qa=i;i=VA(i|0,k|0,4)|0;Pa=k;k=ba()|0}while(Pa>>>0>0|(Pa|0)==0&Qa>>>0>4095);l=l&65535}else l=40;if(!(k>>>0>0|(k|0)==0&i>>>0>15)){La=419;break}do{l=(l&65535)+10&65535;Qa=i;i=VA(i|0,k|0,1)|0;Pa=k;k=ba()|0}while(Pa>>>0>0|(Pa|0)==0&Qa>>>0>31);La=419}while(0);if((La|0)==419)i=(l&65535)+65526+(j[7936+((i&7)<<1)>>1]|0)&65535;d[s>>1]=i}while(0);if(u|0){k=f[z+136>>2]|0;if(!(b[(f[z>>2]|0)+81>>0]|0))i=(f[z+88>>2]|0)+(((u|0)<0?k+-1|0:u)*20|0)|0;else i=72144;f[i+8>>2]=k}break}case 123:case 125:{if((b[Ha>>0]|0)==1)w=f[Ha+4>>2]|0;else{i=a+40|0;k=f[i>>2]|0;f[i>>2]=k+1;i=z+136|0;g=f[i>>2]|0;if((f[(f[z+12>>2]|0)+48>>2]|0)>(g|0)){f[i>>2]=g+1;Qa=f[z+88>>2]|0;b[Qa+(g*20|0)>>0]=113;d[Qa+(g*20|0)+2>>1]=0;f[Qa+(g*20|0)+4>>2]=k;f[Qa+(g*20|0)+8>>2]=0;f[Qa+(g*20|0)+12>>2]=0;f[Qa+(g*20|0)+16>>2]=0;b[Qa+(g*20|0)+1>>0]=0}else g=tl(z,113,k,0,0)|0;f[c+24>>2]=g;g=c;while(1){i=f[g+56>>2]|0;if(!i)break;else g=i}w=g+8|0;f[w>>2]=f[w>>2]|32;w=k}b[Da>>0]=1;f[Da+4>>2]=w;f[Da+16>>2]=0;f[Da+8>>2]=0;f[Da+12>>2]=0;g=Kl(a,r,Da)|0;if(g|0){i=0;La=705;break ja}Qa=b[o>>0]|0;f[fa>>2]=0;p=c+60|0;q=f[p>>2]|0;f[p>>2]=0;b[Da>>0]=Qa<<24>>24==125?2:1;switch(Qa<<24>>24){case 124:{g=49266;break}case 126:{g=49256;break}case 125:{g=49249;break}default:g=49243}f[ja>>2]=g;Km(a,1,57372,ja);g=Kl(a,c,Da)|0;i=f[Y>>2]|0;if(i|0)jg(A,i);m=f[fa>>2]|0;f[fa>>2]=r;f[Y>>2]=0;if((b[o>>0]|0)==123){o=c+6|0;i=d[o>>1]|0;k=d[r+6>>1]|0;l=i<<16>>16;n=k<<16>>16;do if(i<<16>>16>16){if((l+49|0)<(n|0)){i=k;break}if((l+31|0)<(n|0)){i=n+1&65535;break}else{i=(h[22960+(n-l)>>0]|0)+n&65535;break}}else{if((n+49|0)<(l|0))break;if((n+31|0)<(l|0)){i=l+1&65535;break}else{i=(h[22960+(l-n)>>0]|0)+l&65535;break}}while(0);d[o>>1]=i}i=f[p>>2]|0;if(i|0)ig(A,i);f[p>>2]=q;f[c+12>>2]=0;f[c+16>>2]=0;do if((b[Ha>>0]|0)!=1){u=z+12|0;i=f[u>>2]|0;q=i+60|0;v=f[q>>2]|0;f[q>>2]=v+1;q=i+64|0;if(!(v+-1&v)){o=v<<3|4;p=f[i>>2]|0;i=f[q>>2]|0;ka:do if(i){l=i;n=p+304|0;do if((f[n>>2]|0)>>>0<=l>>>0){if((f[p+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0)))break ka}while(0);k=Lc(p,i,o,0)|0;if(k|0){i=k;break}if(f[p+480>>2]|0){Kc(p,i);i=0;break}do if((f[n>>2]|0)>>>0<=l>>>0){if((f[p+308>>2]|0)>>>0<=l>>>0)break;Qa=p+300|0;f[i>>2]=f[Qa>>2];f[Qa>>2]=i;i=0;break ka}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{Qa=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Qa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){k=p+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];Qa=p+284|0;f[Qa>>2]=(f[Qa>>2]|0)+1;break ka}k=p+296|0;i=f[k>>2]|0;if(!i){i=p+292|0;break}else{f[k>>2]=f[i>>2];Qa=p+284|0;f[Qa>>2]=(f[Qa>>2]|0)+1;break ka}}else i=p+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(p,o,0)|0}while(0);f[q>>2]=i}else i=f[q>>2]|0;if(i|0)f[i+(v<<2)>>2]=-1;r=~v;i=f[u>>2]|0;q=i+60|0;s=f[q>>2]|0;f[q>>2]=s+1;q=i+64|0;if(!(s+-1&s)){o=s<<3|4;p=f[i>>2]|0;i=f[q>>2]|0;la:do if(i){l=i;n=p+304|0;do if((f[n>>2]|0)>>>0<=l>>>0){if((f[p+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0)))break la}while(0);k=Lc(p,i,o,0)|0;if(k|0){i=k;break}if(f[p+480>>2]|0){Kc(p,i);i=0;break}do if((f[n>>2]|0)>>>0<=l>>>0){if((f[p+308>>2]|0)>>>0<=l>>>0)break;Qa=p+300|0;f[i>>2]=f[Qa>>2];f[Qa>>2]=i;i=0;break la}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{Qa=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Qa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){k=p+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];Qa=p+284|0;f[Qa>>2]=(f[Qa>>2]|0)+1;break la}k=p+296|0;i=f[k>>2]|0;if(!i){i=p+292|0;break}else{f[k>>2]=f[i>>2];Qa=p+284|0;f[Qa>>2]=(f[Qa>>2]|0)+1;break la}}else i=p+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(p,o,0)|0}while(0);f[q>>2]=i}else i=f[q>>2]|0;if(i|0)f[i+(s<<2)>>2]=-1;ro(a,c,r);n=z+136|0;i=f[n>>2]|0;if((f[(f[u>>2]|0)+48>>2]|0)>(i|0)){f[n>>2]=i+1;Qa=f[z+88>>2]|0;b[Qa+(i*20|0)>>0]=36;d[Qa+(i*20|0)+2>>1]=0;f[Qa+(i*20|0)+4>>2]=w;f[Qa+(i*20|0)+8>>2]=r;f[Qa+(i*20|0)+12>>2]=0;f[Qa+(i*20|0)+16>>2]=0;b[Qa+(i*20|0)+1>>0]=0}else tl(z,36,w,r,0)|0;l=f[n>>2]|0;oo(a,c,w,0,0,Ha,~s,r);k=f[u>>2]|0;i=f[k+64>>2]|0;if(i|0)f[i+(s<<2)>>2]=f[n>>2];i=f[n>>2]|0;if((f[k+48>>2]|0)>(i|0)){f[n>>2]=i+1;Qa=f[z+88>>2]|0;b[Qa+(i*20|0)>>0]=5;d[Qa+(i*20|0)+2>>1]=0;f[Qa+(i*20|0)+4>>2]=w;f[Qa+(i*20|0)+8>>2]=l;f[Qa+(i*20|0)+12>>2]=0;f[Qa+(i*20|0)+16>>2]=0;b[Qa+(i*20|0)+1>>0]=0}else tl(z,5,w,l,0)|0;k=f[u>>2]|0;i=f[k+64>>2]|0;if(i|0)f[i+(v<<2)>>2]=f[n>>2];i=f[n>>2]|0;if((f[k+48>>2]|0)>(i|0)){f[n>>2]=i+1;Qa=f[z+88>>2]|0;b[Qa+(i*20|0)>>0]=117;d[Qa+(i*20|0)+2>>1]=0;f[Qa+(i*20|0)+4>>2]=w;f[Qa+(i*20|0)+8>>2]=0;f[Qa+(i*20|0)+12>>2]=0;f[Qa+(i*20|0)+16>>2]=0;b[Qa+(i*20|0)+1>>0]=0;break}else{tl(z,117,w,0,0)|0;break}}while(0);break}default:{x=a+40|0;w=f[x>>2]|0;v=w+1|0;f[x>>2]=w+2;x=z+136|0;g=f[x>>2]|0;y=z+12|0;if((f[(f[y>>2]|0)+48>>2]|0)>(g|0)){f[x>>2]=g+1;Qa=f[z+88>>2]|0;b[Qa+(g*20|0)>>0]=113;d[Qa+(g*20|0)+2>>1]=0;f[Qa+(g*20|0)+4>>2]=w;f[Qa+(g*20|0)+8>>2]=0;f[Qa+(g*20|0)+12>>2]=0;f[Qa+(g*20|0)+16>>2]=0;b[Qa+(g*20|0)+1>>0]=0}else g=tl(z,113,w,0,0)|0;f[c+24>>2]=g;g=c;while(1){i=f[g+56>>2]|0;if(!i)break;else g=i}i=g+8|0;f[i>>2]=f[i>>2]|32;b[Da>>0]=1;i=Da+4|0;f[i>>2]=w;f[Da+16>>2]=0;f[Da+8>>2]=0;f[Da+12>>2]=0;g=Kl(a,r,Da)|0;if(g|0){i=0;La=705;break ja}g=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(g|0)){f[x>>2]=g+1;Qa=f[z+88>>2]|0;b[Qa+(g*20|0)>>0]=113;d[Qa+(g*20|0)+2>>1]=0;f[Qa+(g*20|0)+4>>2]=v;f[Qa+(g*20|0)+8>>2]=0;f[Qa+(g*20|0)+12>>2]=0;f[Qa+(g*20|0)+16>>2]=0;b[Qa+(g*20|0)+1>>0]=0}else g=tl(z,113,v,0,0)|0;f[c+28>>2]=g;f[fa>>2]=0;l=c+60|0;n=f[l>>2]|0;f[l>>2]=0;f[i>>2]=v;switch(b[o>>0]|0){case 124:{g=49266;break}case 126:{g=49256;break}case 125:{g=49249;break}default:g=49243}f[la>>2]=g;Km(a,1,57372,la);g=Kl(a,c,Da)|0;m=f[fa>>2]|0;f[fa>>2]=r;k=c+6|0;i=d[r+6>>1]|0;if((d[k>>1]|0)>i<<16>>16)d[k>>1]=i;i=f[l>>2]|0;if(i|0)ig(A,i);f[l>>2]=n;i=f[y>>2]|0;q=i+60|0;u=f[q>>2]|0;f[q>>2]=u+1;q=i+64|0;if(!(u+-1&u)){o=u<<3|4;p=f[i>>2]|0;i=f[q>>2]|0;ma:do if(i){l=i;n=p+304|0;do if((f[n>>2]|0)>>>0<=l>>>0){if((f[p+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0)))break ma}while(0);k=Lc(p,i,o,0)|0;if(k|0){i=k;break}if(f[p+480>>2]|0){Kc(p,i);i=0;break}do if((f[n>>2]|0)>>>0<=l>>>0){if((f[p+308>>2]|0)>>>0<=l>>>0)break;Qa=p+300|0;f[i>>2]=f[Qa>>2];f[Qa>>2]=i;i=0;break ma}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{Qa=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Qa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){k=p+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];Qa=p+284|0;f[Qa>>2]=(f[Qa>>2]|0)+1;break ma}k=p+296|0;i=f[k>>2]|0;if(!i){i=p+292|0;break}else{f[k>>2]=f[i>>2];Qa=p+284|0;f[Qa>>2]=(f[Qa>>2]|0)+1;break ma}}else i=p+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(p,o,0)|0}while(0);f[q>>2]=i}else i=f[q>>2]|0;if(i|0)f[i+(u<<2)>>2]=-1;r=~u;i=f[y>>2]|0;q=i+60|0;s=f[q>>2]|0;f[q>>2]=s+1;q=i+64|0;if(!(s+-1&s)){o=s<<3|4;p=f[i>>2]|0;i=f[q>>2]|0;na:do if(i){l=i;n=p+304|0;do if((f[n>>2]|0)>>>0<=l>>>0){if((f[p+308>>2]|0)>>>0<=l>>>0)break;if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0)))break na}while(0);k=Lc(p,i,o,0)|0;if(k|0){i=k;break}if(f[p+480>>2]|0){Kc(p,i);i=0;break}do if((f[n>>2]|0)>>>0<=l>>>0){if((f[p+308>>2]|0)>>>0<=l>>>0)break;Qa=p+300|0;f[i>>2]=f[Qa>>2];f[Qa>>2]=i;i=0;break na}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);i=0;break}else{Qa=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-Qa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);i=0;break}}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[p+276>>1]|0)>>>0>>0:0))){k=p+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];Qa=p+284|0;f[Qa>>2]=(f[Qa>>2]|0)+1;break na}k=p+296|0;i=f[k>>2]|0;if(!i){i=p+292|0;break}else{f[k>>2]=f[i>>2];Qa=p+284|0;f[Qa>>2]=(f[Qa>>2]|0)+1;break na}}else i=p+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(p,o,0)|0}while(0);f[q>>2]=i}else i=f[q>>2]|0;if(i|0)f[i+(s<<2)>>2]=-1;o=~s;ro(a,c,r);i=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(i|0)){f[x>>2]=i+1;Qa=f[z+88>>2]|0;b[Qa+(i*20|0)>>0]=36;d[Qa+(i*20|0)+2>>1]=0;f[Qa+(i*20|0)+4>>2]=w;f[Qa+(i*20|0)+8>>2]=r;f[Qa+(i*20|0)+12>>2]=0;f[Qa+(i*20|0)+16>>2]=0;b[Qa+(i*20|0)+1>>0]=0}else tl(z,36,w,r,0)|0;l=a+19|0;i=b[l>>0]|0;if(!(i<<24>>24)){Qa=a+44|0;k=(f[Qa>>2]|0)+1|0;f[Qa>>2]=k}else{k=i+-1<<24>>24;b[l>>0]=k;k=f[a+144+((k&255)<<2)>>2]|0}i=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(i|0)){f[x>>2]=i+1;n=f[z+88>>2]|0;b[n+(i*20|0)>>0]=-128;d[n+(i*20|0)+2>>1]=0;f[n+(i*20|0)+4>>2]=w;f[n+(i*20|0)+8>>2]=k;f[n+(i*20|0)+12>>2]=0;f[n+(i*20|0)+16>>2]=0;b[n+(i*20|0)+1>>0]=0;n=i}else n=tl(z,128,w,k,0)|0;i=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(i|0)){f[x>>2]=i+1;Qa=f[z+88>>2]|0;b[Qa+(i*20|0)>>0]=28;d[Qa+(i*20|0)+2>>1]=0;f[Qa+(i*20|0)+4>>2]=v;f[Qa+(i*20|0)+8>>2]=o;f[Qa+(i*20|0)+12>>2]=k;f[Qa+(i*20|0)+16>>2]=0;b[Qa+(i*20|0)+1>>0]=0}else i=tl(z,28,v,o,k)|0;if(!(b[(f[z>>2]|0)+81>>0]|0)){Qa=f[z+88>>2]|0;b[Qa+(i*20|0)+1>>0]=-3;f[Qa+(i*20|0)+16>>2]=0}do if(k|0){i=b[l>>0]|0;if((i&255)>=8)break;b[l>>0]=i+1<<24>>24;f[a+144+((i&255)<<2)>>2]=k}while(0);oo(a,c,w,0,0,Ha,o,r);k=f[y>>2]|0;i=f[k+64>>2]|0;if(i|0)f[i+(s<<2)>>2]=f[x>>2];i=f[x>>2]|0;if((f[k+48>>2]|0)>(i|0)){f[x>>2]=i+1;Qa=f[z+88>>2]|0;b[Qa+(i*20|0)>>0]=5;d[Qa+(i*20|0)+2>>1]=0;f[Qa+(i*20|0)+4>>2]=w;f[Qa+(i*20|0)+8>>2]=n;f[Qa+(i*20|0)+12>>2]=0;f[Qa+(i*20|0)+16>>2]=0;b[Qa+(i*20|0)+1>>0]=0}else tl(z,5,w,n,0)|0;k=f[y>>2]|0;i=f[k+64>>2]|0;if(i|0)f[i+(u<<2)>>2]=f[x>>2];i=f[x>>2]|0;if((f[k+48>>2]|0)>(i|0)){f[x>>2]=i+1;Qa=f[z+88>>2]|0;b[Qa+(i*20|0)>>0]=117;d[Qa+(i*20|0)+2>>1]=0;f[Qa+(i*20|0)+4>>2]=v;f[Qa+(i*20|0)+8>>2]=0;f[Qa+(i*20|0)+12>>2]=0;f[Qa+(i*20|0)+16>>2]=0;b[Qa+(i*20|0)+1>>0]=0}else tl(z,117,v,0,0)|0;i=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(i|0)){f[x>>2]=i+1;Qa=f[z+88>>2]|0;b[Qa+(i*20|0)>>0]=117;d[Qa+(i*20|0)+2>>1]=0;f[Qa+(i*20|0)+4>>2]=w;f[Qa+(i*20|0)+8>>2]=0;f[Qa+(i*20|0)+12>>2]=0;f[Qa+(i*20|0)+16>>2]=0;b[Qa+(i*20|0)+1>>0]=0}else tl(z,117,w,0,0)|0}}if(f[c+56>>2]|0)break;l=a+208|0;i=f[l>>2]|0;if(!i)i=0;else{k=f[Ra>>2]|0;if((i|0)<0)i=(f[k+136>>2]|0)+-1|0;if(!(b[(f[k>>2]|0)+81>>0]|0))i=(f[k+88>>2]|0)+(i*20|0)|0;else i=72144;i=f[i+8>>2]|0}f[l>>2]=i}else{po(a,c,Ha);g=0;m=0}while(0);if(f[Ga>>2]&32){w=f[f[c>>2]>>2]|0;n=w+1|0;o=n*5|0;l=o+20|0;p=A+272|0;oa:do if(f[p>>2]|0)if(!(b[A+81>>0]|0))La=655;else{i=m;g=7;La=705;break ja}else{do if(!(0<0|(0==0?(j[A+276>>1]|0)>>>0>>0:0))){i=A+300|0;k=f[i>>2]|0;if(k|0){f[i>>2]=f[k>>2];v=A+284|0;f[v>>2]=(f[v>>2]|0)+1;v=k;break oa}i=A+296|0;k=f[i>>2]|0;if(!k){i=A+292|0;break}else{f[i>>2]=f[k>>2];v=A+284|0;f[v>>2]=(f[v>>2]|0)+1;v=k;break oa}}else i=A+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;La=655}while(0);if((La|0)==655)v=Dc(A,l,0)|0;if(!v){i=A+81|0;do if(!(b[i>>0]|0)){if(b[A+82>>0]|0)break;b[i>>0]=1;if((f[A+180>>2]|0)>0)f[A+264>>2]=1;f[p>>2]=(f[p>>2]|0)+1}while(0);if(!v){i=m;g=7;La=705;break}else{u=0;s=1}}else{f[v+16>>2]=v+20+(n<<2);d[v+6>>1]=w;d[v+8>>1]=n;b[v+4>>0]=b[A+78>>0]|0;f[v+12>>2]=A;f[v>>2]=1;_A(v+24|0,0,o+-4|0)|0;u=v;s=0}if((w|0)>0){l=A+8|0;i=v+20|0;k=0;while(1){Qa=so(a,c,k)|0;f[i>>2]=Qa;if(!Qa)f[i>>2]=f[l>>2];k=k+1|0;if((k|0)==(w|0))break;else i=i+4|0}}p=z+88|0;q=u+12|0;r=u;o=c;do{n=o+24|0;l=f[n>>2]|0;i=(l|0)<0;do if(s){if(i)break;do if(!(b[(f[z>>2]|0)+81>>0]|0)){i=f[p>>2]|0;f[i+(l*20|0)+8>>2]=w;f[v>>2]=(f[v>>2]|0)+1;if(!(b[i+(l*20|0)+1>>0]|0))break;ul(z,i+(l*20|0)|0,u,-9)}else{f[18038]=w;f[v>>2]=(f[v>>2]|0)+1}while(0);f[n>>2]=-1;i=o+28|0;k=f[i>>2]|0;if((k|0)<0)break;do if(!(b[(f[z>>2]|0)+81>>0]|0)){l=f[p>>2]|0;f[l+(k*20|0)+8>>2]=w;f[v>>2]=(f[v>>2]|0)+1;if(!(b[l+(k*20|0)+1>>0]|0))break;ul(z,l+(k*20|0)|0,u,-9)}else{f[18038]=w;f[v>>2]=(f[v>>2]|0)+1}while(0);f[i>>2]=-1}else{if(i)break;i=f[z>>2]|0;pa:do if(!(b[i+81>>0]|0)){i=f[p>>2]|0;f[i+(l*20|0)+8>>2]=w;f[v>>2]=(f[v>>2]|0)+1;k=i+(l*20|0)+1|0;if(!(b[k>>0]|0)){f[i+(l*20|0)+16>>2]=u;b[k>>0]=-9;break}else{ul(z,i+(l*20|0)|0,u,-9);break}}else{f[18038]=w;f[v>>2]=(f[v>>2]|0)+1;if(f[i+480>>2]|0)break;Qa=(f[u>>2]|0)+-1|0;f[u>>2]=Qa;if(Qa|0)break;i=f[q>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,u);break pa}if((f[i+304>>2]|0)>>>0>r>>>0)break;if((f[i+308>>2]|0)>>>0<=r>>>0)break;Qa=i+300|0;f[u>>2]=f[Qa>>2];f[Qa>>2]=u;break pa}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{Qa=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-Qa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}}while(0);f[n>>2]=-1;n=o+28|0;l=f[n>>2]|0;if((l|0)<0)break;i=f[z>>2]|0;qa:do if(!(b[i+81>>0]|0)){i=f[p>>2]|0;f[i+(l*20|0)+8>>2]=w;f[v>>2]=(f[v>>2]|0)+1;k=i+(l*20|0)+1|0;if(!(b[k>>0]|0)){f[i+(l*20|0)+16>>2]=u;b[k>>0]=-9;break}else{ul(z,i+(l*20|0)|0,u,-9);break}}else{f[18038]=w;f[v>>2]=(f[v>>2]|0)+1;if(f[i+480>>2]|0)break;Qa=(f[u>>2]|0)+-1|0;f[u>>2]=Qa;if(Qa|0)break;i=f[q>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,u);break qa}if((f[i+304>>2]|0)>>>0>r>>>0)break;if((f[i+308>>2]|0)>>>0<=r>>>0)break;Qa=i+300|0;f[u>>2]=f[Qa>>2];f[Qa>>2]=u;break qa}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{Qa=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-Qa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}}while(0);f[n>>2]=-1}while(0);o=f[o+52>>2]|0}while((o|0)!=0);Qa=(f[v>>2]|0)+-1|0;f[v>>2]=Qa;if(Qa|0){i=m;La=705;break}i=f[v+12>>2]|0;do if(i|0){if(f[i+480>>2]|0){Kc(i,u);i=m;La=705;break ja}k=v;if((f[i+304>>2]|0)>>>0>k>>>0)break;if((f[i+308>>2]|0)>>>0<=k>>>0)break;i=i+300|0;f[v>>2]=f[i>>2];f[i>>2]=v;i=m;La=705;break ja}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](u);i=m;La=705;break}else{i=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);i=m;La=705;break}}else{i=m;La=705}}else La=342;while(0);if((La|0)==342){i=g?57256:57262;switch(b[c+4>>0]|0){case 124:{g=49266;break}case 126:{g=49256;break}case 125:{g=49249;break}default:g=49243}f[ea>>2]=i;f[ea+4>>2]=g;ni(a,57271,ea);i=0;g=1;La=705}if((La|0)==705){f[e+8>>2]=f[Ha+8>>2];f[e+12>>2]=f[Ha+12>>2];if(!i)l=g;else{mg(A,i,1);l=g}}if(f[c+56>>2]|0){Ra=l;t=Sa;return Ra|0}k=a+208|0;g=f[k>>2]|0;if(!g)g=0;else{i=f[Ra>>2]|0;if((g|0)<0)g=(f[i+136>>2]|0)+-1|0;if(!(b[(f[i>>2]|0)+81>>0]|0))g=(f[i+88>>2]|0)+(g*20|0)|0;else g=72144;g=f[g+8>>2]|0}f[k>>2]=g;Ra=l;t=Sa;return Ra|0}else l=1;while(0);g=f[Pa+28>>2]|0;do if(g|0){if(Qa|0){if(f[Qa+480>>2]|0){Kc(Qa,g);break}e=g;if((f[Qa+304>>2]|0)>>>0<=e>>>0?(f[Qa+308>>2]|0)>>>0>e>>>0:0){e=Qa+300|0;f[g>>2]=f[e>>2];f[e>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{e=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[Pa+40>>2]|0;do if(g|0){if(Qa|0){if(f[Qa+480>>2]|0){Kc(Qa,g);break}e=g;if((f[Qa+304>>2]|0)>>>0<=e>>>0?(f[Qa+308>>2]|0)>>>0>e>>>0:0){e=Qa+300|0;f[g>>2]=f[e>>2];f[e>>2]=g;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{e=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);k=a+208|0;g=f[k>>2]|0;if(!g)g=0;else{i=f[Ra>>2]|0;if((g|0)<0)g=(f[i+136>>2]|0)+-1|0;if(!(b[(f[i>>2]|0)+81>>0]|0))g=(f[i+88>>2]|0)+(g*20|0)|0;else g=72144;g=f[g+8>>2]|0}f[k>>2]=g;Ra=l;t=Sa;return Ra|0}function Ll(a,c,e,g,h,i,k,l,m){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+96|0;q=u+80|0;s=u;p=f[a>>2]|0;a:do if(f[p+272>>2]|0)if(!(b[p+81>>0]|0))r=11;else n=0;else{do if((j[p+276>>1]|0)>=76){o=p+300|0;n=f[o>>2]|0;if(n|0){f[o>>2]=f[n>>2];p=p+284|0;f[p>>2]=(f[p>>2]|0)+1;break a}o=p+296|0;n=f[o>>2]|0;if(!n){n=p+292|0;break}else{f[o>>2]=f[n>>2];p=p+284|0;f[p>>2]=(f[p>>2]|0)+1;break a}}else n=p+288|0;while(0);f[n>>2]=(f[n>>2]|0)+1;r=11}while(0);if((r|0)==11)n=Dc(p,76,0)|0;o=(n|0)==0?s:n;if(!c){c=f[a>>2]|0;f[q>>2]=0;f[q+4>>2]=0;c=Dk(c,168,q,0)|0;c=ml(f[a>>2]|0,0,c)|0}f[o>>2]=c;b[o+4>>0]=127;f[o+8>>2]=l;f[o+12>>2]=0;f[o+16>>2]=0;q=a+100|0;l=(f[q>>2]|0)+1|0;f[q>>2]=l;f[o+20>>2]=l;f[o+24>>2]=-1;f[o+28>>2]=-1;d[o+6>>1]=0;if(!e){n=f[a>>2]|0;b:do if(!n){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](80)|0;r=38;break}e=ib[f[37372>>2]&255](80)|0;if((f[18194]|0)>>>0<80)f[18194]=80;n=71896;c=f[n>>2]|0;n=f[n+4>>2]|0;if((n|0)>0|(n|0)==0&c>>>0>0){l=f[18187]|0;q=LA(c|0,n|0,e|0,((e|0)<0)<<31>>31|0)|0;p=ba()|0;f[17976]=((p|0)<0|(p|0)==0&q>>>0<=l>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(e){c=ib[f[37368>>2]&255](e)|0;c=(f[18187]|0)+c|0;f[18187]=c;if(c>>>0>(f[18191]|0)>>>0)f[18191]=c;c=(f[18190]|0)+1|0;f[18190]=c;if(c>>>0>(f[18196]|0)>>>0){f[18196]=c;r=39}else r=39}else e=0}else{if(f[n+272>>2]|0){if(b[n+81>>0]|0){e=0;break}}else{do if((j[n+276>>1]|0)>=80){c=n+300|0;e=f[c>>2]|0;if(e|0){f[c>>2]=f[e>>2];r=n+284|0;f[r>>2]=(f[r>>2]|0)+1;r=38;break b}c=n+296|0;e=f[c>>2]|0;if(!e){e=n+292|0;break}else{f[c>>2]=f[e>>2];r=n+284|0;f[r>>2]=(f[r>>2]|0)+1;r=38;break b}}else e=n+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(n,80,0)|0;r=38}while(0);if((r|0)==38)if(!e)e=0;else r=39;if((r|0)==39){c=e;n=c+80|0;do{b[c>>0]=0;c=c+1|0}while((c|0)<(n|0))}}f[o+32>>2]=e;f[o+36>>2]=g;f[o+40>>2]=h;f[o+44>>2]=i;f[o+48>>2]=k;f[o+52>>2]=0;f[o+56>>2]=0;f[o+60>>2]=m;f[o+64>>2]=0;f[o+68>>2]=0;f[o+72>>2]=0;e=f[a>>2]|0;if(!(b[e+81>>0]|0)){s=o;t=u;return s|0}mg(e,o,(o|0)!=(s|0)&1);s=0;t=u;return s|0}function Ml(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0;v=t;t=t+48|0;s=v+32|0;u=v+16|0;r=v;p=v+36|0;f[p>>2]=c;f[p+4>>2]=d;f[p+8>>2]=e;a:do if(!c)g=0;else{o=0;g=0;n=c;b:while(1){m=f[n+4>>2]|0;if((m|0)<=0)break;c:do if((m|0)==7){j=f[n>>2]|0;if(!j)break b;i=b[j>>0]|0;d:do if(!(i<<24>>24)){i=23056;q=10}else{l=i&255;i=1232+l|0;do if((l|32|0)==110){i=b[j+1>>0]|0;if(!(i<<24>>24)){i=23057;q=10;break d}l=i&255;i=1232+l|0;if((l|32|0)==97){i=b[j+2>>0]|0;if(!(i<<24>>24)){i=23058;q=10;break d}l=i&255;i=1232+l|0;if((l|32|0)==116){i=b[j+3>>0]|0;if(!(i<<24>>24)){i=23059;q=10;break d}l=i&255;i=1232+l|0;if((l|32|0)==117){i=b[j+4>>0]|0;if(!(i<<24>>24)){i=23060;q=10;break d}l=i&255;i=1232+l|0;if((l|32|0)==114){i=b[j+5>>0]|0;if(!(i<<24>>24)){i=23061;q=10;break d}i=i&255;if((i|32|0)!=97){k=97;i=1232+i|0;break}i=b[j+6>>0]|0;if(!(i<<24>>24)){i=23062;q=10;break d}i=i&255;if((i|32|0)==108){i=0;break c}else{k=108;i=1232+i|0}}else k=114}else k=117}else k=116}else k=97}else k=110;while(0);j=h[i>>0]|0;i=k}while(0);if((q|0)==10){q=0;j=0;i=b[1232+(h[i>>0]|0)>>0]|0}if((j|0)==(i&255|0))i=0;else q=12}else q=12;while(0);e:do if((q|0)==12){q=0;l=(m|0)==4;if(l){j=f[n>>2]|0;if(!j)break b;i=b[j>>0]|0;do if(!(i<<24>>24)){i=23062;q=28}else{k=i&255;i=1232+k|0;if((k|32|0)==108){i=b[j+1>>0]|0;if(!(i<<24>>24)){i=23063;q=28;break}k=i&255;i=1232+k|0;if((k|32|0)==101){i=b[j+2>>0]|0;if(!(i<<24>>24)){i=23064;q=28;break}k=i&255;i=1232+k|0;if((k|32|0)==102){i=b[j+3>>0]|0;if(!(i<<24>>24)){i=23065;q=28;break}i=i&255;if((i|32|0)==116){i=1;break e}else{k=116;i=1232+i|0}}else k=102}else k=101}else k=108;j=h[i>>0]|0;i=k}while(0);if((q|0)==28){q=0;j=0;i=b[1232+(h[i>>0]|0)>>0]|0}if((j|0)==(i&255|0)){i=1;break}}else l=0;m=(m|0)==5;if(m){j=f[n>>2]|0;if(!j)break b;i=b[j>>0]|0;do if(!(i<<24>>24)){i=23066;q=37}else{k=i&255;i=1232+k|0;if((k|32|0)==111){i=b[j+1>>0]|0;if(!(i<<24>>24)){i=23067;q=37;break}k=i&255;i=1232+k|0;if((k|32|0)==117){i=b[j+2>>0]|0;if(!(i<<24>>24)){i=23068;q=37;break}k=i&255;i=1232+k|0;if((k|32|0)==116){i=b[j+3>>0]|0;if(!(i<<24>>24)){i=23069;q=37;break}k=i&255;i=1232+k|0;if((k|32|0)==101){i=b[j+4>>0]|0;if(!(i<<24>>24)){i=23070;q=37;break}i=i&255;if((i|32|0)==114){i=2;break e}else{k=114;i=1232+i|0}}else k=101}else k=116}else k=117}else k=111;j=h[i>>0]|0;i=k}while(0);if((q|0)==37){q=0;j=0;i=b[1232+(h[i>>0]|0)>>0]|0}if((j|0)==(i&255|0)){i=2;break}if(m){j=f[n>>2]|0;if(j){i=b[j>>0]|0;f:do if(!(i<<24>>24)){i=23070;q=45}else{m=i&255;i=1232+m|0;do if((m|32|0)==114){i=b[j+1>>0]|0;if(!(i<<24>>24)){i=23071;q=45;break f}i=i&255;if((i|32|0)!=105){k=105;i=1232+i|0;break}i=b[j+2>>0]|0;if(!(i<<24>>24)){i=23072;q=45;break f}i=i&255;if((i|32|0)!=103){k=103;i=1232+i|0;break}i=b[j+3>>0]|0;if(!(i<<24>>24)){i=23073;q=45;break f}i=i&255;if((i|32|0)!=104){k=104;i=1232+i|0;break}i=b[j+4>>0]|0;if(!(i<<24>>24)){i=23074;q=45;break f}i=i&255;if((i|32|0)==116){i=3;break e}else{k=116;i=1232+i|0}}else k=114;while(0);j=h[i>>0]|0;i=k}while(0);if((q|0)==45){q=0;j=0;i=b[1232+(h[i>>0]|0)>>0]|0}if((j|0)==(i&255|0)){i=3;break}else i=1}else i=1}else i=0;if(l){l=i;q=48}else l=i}else if(l){l=0;q=48}else break b;if((q|0)==48){q=0;j=f[n>>2]|0;if(j){i=b[j>>0]|0;do if(!(i<<24>>24)){i=23075;q=53}else{m=i&255;i=1232+m|0;if((m|32|0)==102){i=b[j+1>>0]|0;if(!(i<<24>>24)){i=23076;q=53;break}m=i&255;i=1232+m|0;if((m|32|0)==117){i=b[j+2>>0]|0;if(!(i<<24>>24)){i=23077;q=53;break}m=i&255;i=1232+m|0;if((m|32|0)==108){i=b[j+3>>0]|0;if(!(i<<24>>24)){i=23078;q=53;break}i=i&255;if((i|32|0)==108){i=4;break e}else{k=108;i=1232+i|0}}else k=108}else k=117}else k=102;j=h[i>>0]|0;i=k}while(0);if((q|0)==53){q=0;j=0;i=b[1232+(h[i>>0]|0)>>0]|0}if((j|0)==(i&255|0)){i=4;break}}}if(!l)break b;j=f[n>>2]|0;if(!j)break b;i=b[j>>0]|0;do if(!(i<<24>>24)){i=23079;q=61}else{m=i&255;i=1232+m|0;if((m|32|0)==105){i=b[j+1>>0]|0;if(!(i<<24>>24)){i=23080;q=61;break}m=i&255;i=1232+m|0;if((m|32|0)==110){i=b[j+2>>0]|0;if(!(i<<24>>24)){i=23081;q=61;break}m=i&255;i=1232+m|0;if((m|32|0)==110){i=b[j+3>>0]|0;if(!(i<<24>>24)){i=23082;q=61;break}m=i&255;i=1232+m|0;if((m|32|0)==101){i=b[j+4>>0]|0;if(!(i<<24>>24)){i=23083;q=61;break}i=i&255;if((i|32|0)==114){i=5;break e}else{k=114;i=1232+i|0}}else k=101}else k=110}else k=110}else k=105;j=h[i>>0]|0;i=k}while(0);if((q|0)==61){q=0;j=0;i=b[1232+(h[i>>0]|0)>>0]|0}if((j|0)!=(i&255|0)){if(!l)break b;j=f[n>>2]|0;if(!j)break b;i=b[j>>0]|0;g:do if(!(i<<24>>24)){i=23084;q=69}else{n=i&255;i=1232+n|0;do if((n|32|0)==99){i=b[j+1>>0]|0;if(!(i<<24>>24)){i=23085;q=69;break g}n=i&255;i=1232+n|0;if((n|32|0)==114){i=b[j+2>>0]|0;if(!(i<<24>>24)){i=23086;q=69;break g}i=i&255;if((i|32|0)!=111){k=111;i=1232+i|0;break}i=b[j+3>>0]|0;if(!(i<<24>>24)){i=23087;q=69;break g}i=i&255;if((i|32|0)!=115){k=115;i=1232+i|0;break}i=b[j+4>>0]|0;if(!(i<<24>>24)){i=23088;q=69;break g}i=i&255;if((i|32|0)==115){i=6;break e}else{k=115;i=1232+i|0}}else k=114}else k=99;while(0);j=h[i>>0]|0;i=k}while(0);if((q|0)==69){q=0;j=0;i=b[1232+(h[i>>0]|0)>>0]|0}if((j|0)==(i&255|0))i=6;else break b}else i=5}while(0);g=g|(h[23104+(i*3|0)+2>>0]|0);o=o+1|0;if(o>>>0>=3)break a;n=f[p+(o<<2)>>2]|0;if(!n)break a}g=g|64}while(0);if((g&33|0)!=33&(g&64|0)==0){if((g&32|0)==0|(g&24|0)==8){u=g;t=v;return u|0}ni(a,57161,s);u=1;t=v;return u|0}if(!e){f[u>>2]=c;f[u+4>>2]=d;f[u+8>>2]=41722;f[u+12>>2]=0;ni(a,57117,u);u=1;t=v;return u|0}else{f[r>>2]=c;f[r+4>>2]=d;f[r+8>>2]=41721;f[r+12>>2]=e;ni(a,57117,r);u=1;t=v;return u|0}return 0} -function fi(a,c,e,g,i,k,l,m,n,o){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;ma=t;t=t+144|0;r=ma+120|0;ga=ma;Z=ma+104|0;ja=ma+132|0;f[ja>>2]=0;if(b[a+46>>0]|0){e=8;t=ma;return e|0}la=a+43|0;if((b[la>>0]|0)==0?(p=f[a+4>>2]|0,p=lb[f[(f[p>>2]|0)+56>>2]&127](p,1,1,10)|0,p|0):0){e=p;t=ma;return e|0}ka=a+45|0;b[ka>>0]=1;a:do if(!e){p=0;fa=14}else{p=a+4|0;b:do if(!g){if(!(b[la>>0]|0)){q=f[p>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,0,1,10)|0;fa=12}}else while(1){if(b[la>>0]|0)break b;q=f[p>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,0,1,10)|0;if((q|0)!=5){fa=12;break b}if(!(ib[g&255](i)|0)){p=0;g=0;fa=14;break a}}while(0);if((fa|0)==12)switch(q|0){case 5:{p=0;g=0;fa=14;break a}case 0:break;default:{ia=e;break a}}b[a+44>>0]=1;p=e;fa=14}while(0);if((fa|0)==14){ia=p;q=Ih(a,ja)|0}c:do if(!q){ha=a+68|0;s=f[ha>>2]|0;aa=j[a+66>>1]|0;aa=aa<<16&65536|aa&65024;if(!((s|0)==0|(aa|0)==(l|0))){f[r>>2]=42469;f[r+4>>2]=61695;f[r+8>>2]=40460;Ac(11,40408,r);q=11;break}ea=a+32|0;S=f[f[ea>>2]>>2]|0;da=S+96|0;d:do if((f[da>>2]|0)>>>0>>0){_=a+72|0;$=f[_>>2]|0;ca=a+4|0;p=S+104|0;l=f[p>>2]|0;e:do if(s>>>0>l>>>0){f:do if(!g)if(!(b[la>>0]|0)){q=f[ca>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,4,1,10)|0;g=0}else{g=0;fa=28}else while(1){if(b[la>>0]|0){fa=28;break f}q=f[ca>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,4,1,10)|0;if((q|0)!=5)break f;if(!(ib[g&255](i)|0)){g=0;q=5;break e}}while(0);if((fa|0)==28){f[p>>2]=s;q=0;l=s;break}switch(q|0){case 5:{g=0;break e}case 0:break;default:break d}W=b[la>>0]|0;f[p>>2]=s;if(!(W<<24>>24)){q=f[ca>>2]|0;lb[f[(f[q>>2]|0)+56>>2]&127](q,4,1,9)|0;q=0;l=s}else{q=0;l=s}}else{q=0;l=s}while(0);p=S+108|0;r=f[p>>2]|0;g:do if(l>>>0>r>>>0){h:do if(!g)if(!(b[la>>0]|0)){q=f[ca>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,5,1,10)|0}else fa=161;else while(1){if(b[la>>0]|0){fa=161;break h}q=f[ca>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,5,1,10)|0;if((q|0)!=5)break h;if(!(ib[g&255](i)|0)){g=0;q=5;l=r;break g}}while(0);if((fa|0)==161){f[p>>2]=-1;q=0;break}switch(q|0){case 5:{g=0;l=r;break g}case 0:break;default:break d}W=b[la>>0]|0;f[p>>2]=-1;if(!(W<<24>>24)){q=f[ca>>2]|0;lb[f[(f[q>>2]|0)+56>>2]&127](q,5,1,9)|0;q=0}else q=0}while(0);p=S+112|0;r=f[p>>2]|0;i:do if(l>>>0>r>>>0){j:do if(!g)if(!(b[la>>0]|0)){q=f[ca>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,6,1,10)|0}else fa=173;else while(1){if(b[la>>0]|0){fa=173;break j}q=f[ca>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,6,1,10)|0;if((q|0)!=5)break j;if(!(ib[g&255](i)|0)){g=0;q=5;l=r;break i}}while(0);if((fa|0)==173){f[p>>2]=-1;q=0;break}switch(q|0){case 5:{g=0;l=r;break i}case 0:break;default:break d}W=b[la>>0]|0;f[p>>2]=-1;if(!(W<<24>>24)){q=f[ca>>2]|0;lb[f[(f[q>>2]|0)+56>>2]&127](q,6,1,9)|0;q=0}else q=0}while(0);p=S+116|0;r=f[p>>2]|0;k:do if(l>>>0>r>>>0){l:do if(!g)if(!(b[la>>0]|0)){q=f[ca>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,7,1,10)|0}else fa=185;else while(1){if(b[la>>0]|0){fa=185;break l}q=f[ca>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,7,1,10)|0;if((q|0)!=5)break l;if(!(ib[g&255](i)|0)){g=0;q=5;l=r;break k}}while(0);if((fa|0)==185){f[p>>2]=-1;q=0;break}switch(q|0){case 5:{g=0;l=r;break k}case 0:break;default:break d}W=b[la>>0]|0;f[p>>2]=-1;if(!(W<<24>>24)){q=f[ca>>2]|0;lb[f[(f[q>>2]|0)+56>>2]&127](q,7,1,9)|0;q=0}else q=0}while(0);m:do if((f[da>>2]|0)>>>0>>0){q=f[da>>2]|0;P=f[ha>>2]|0;Q=(P+33|0)>>>12;p=(P<<1)+28+(Q*20|0)|0;W=xd(p,((p|0)<0)<<31>>31)|0;if(!W){q=7;break c}_A(W|0,0,p|0)|0;R=W+4|0;f[R>>2]=Q+1;N=xd((P>>>0<4096?P:4096)<<1,0)|0;O=(N|0)==0;p=(q+34|0)>>>12;n:do if(p>>>0>Q>>>0|O)q=O?7:0;else{I=Z+4|0;J=a+24|0;K=Z+8|0;L=W+8|0;M=ga+4|0;while(1){if((f[J>>2]|0)>(p|0)?(T=f[(f[ea>>2]|0)+(p<<2)>>2]|0,f[I>>2]=T,(T|0)!=0):0)q=T;else{q=eh(a,p,I)|0;if(q|0)break;q=f[I>>2]|0}r=q+16384|0;f[Z>>2]=r;if(!p){q=q+136|0;f[I>>2]=q;s=0}else s=(p<<12)+-34|0;f[I>>2]=q;H=q;F=(p|0)==(Q|0)?P-s|0:r-H>>2;G=L+((f[R>>2]|0)*20|0)+(s<<1)|0;E=s+1|0;f[K>>2]=E;if((F|0)>0){r=0;do{d[G+(r<<1)>>1]=r;r=r+1|0}while((r|0)!=(F|0));w=ga;x=w+104|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));D=0;do{u=G+(D<<1)|0;if(!(D&1)){v=0;r=1;s=M}else{r=1;B=0;s=M;while(1){C=f[s>>2]|0;A=f[ga+(B<<3)>>2]|0;v=(r|0)>0;s=(A|0)>0;if(v|s){x=0;z=0;w=0;while(1){do if(s){s=C+(w<<1)|0;if(v?(U=u+(x<<1)|0,(f[q+(j[s>>1]<<2)>>2]|0)>>>0>=(f[q+(j[U>>1]<<2)>>2]|0)>>>0):0){s=U;fa=57;break}v=w+1|0}else{s=u+(x<<1)|0;fa=57}while(0);if((fa|0)==57){fa=0;v=w;x=x+1|0}w=d[s>>1]|0;s=f[q+((w&65535)<<2)>>2]|0;y=z+1|0;d[N+(z<<1)>>1]=w;if((v|0)<(A|0))w=v+((f[q+(j[C+(v<<1)>>1]<<2)>>2]|0)==(s|0)&1)|0;else w=v;v=(x|0)<(r|0);s=(w|0)<(A|0);if(!(v|s)){r=y;break}else z=y}}else r=0;YA(C|0,N|0,r<<1|0)|0;u=B+1|0;s=ga+(u<<3)+4|0;if(!(1<>2]=u;f[ga+(v<<3)>>2]=r;D=D+1|0}while((D|0)!=(F|0));s=v+1|0;if(s>>>0<13)fa=64;else q=r}else{w=ga;x=w+104|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0));r=0;s=1;u=0;fa=64}if((fa|0)==64){fa=0;do{if(1<>2]|0;B=f[ga+(s<<3)>>2]|0;w=(r|0)>0;v=(B|0)>0;if(w|v){y=0;A=0;x=0;while(1){do if(v){v=C+(x<<1)|0;if(w?(V=u+(y<<1)|0,(f[q+(j[v>>1]<<2)>>2]|0)>>>0>=(f[q+(j[V>>1]<<2)>>2]|0)>>>0):0){v=V;fa=73;break}w=x+1|0}else{v=u+(y<<1)|0;fa=73}while(0);if((fa|0)==73){fa=0;w=x;y=y+1|0}D=d[v>>1]|0;v=f[q+((D&65535)<<2)>>2]|0;z=A+1|0;d[N+(A<<1)>>1]=D;if((w|0)<(B|0))x=w+((f[q+(j[C+(w<<1)>>1]<<2)>>2]|0)==(v|0)&1)|0;else x=w;w=(y|0)<(r|0);v=(x|0)<(B|0);if(!(w|v)){r=z;break}else A=z}}else r=0;YA(C|0,N|0,r<<1|0)|0;u=C}s=s+1|0}while((s|0)!=13);q=r}f[L+(p*20|0)+16>>2]=E;f[L+(p*20|0)+12>>2]=q;f[L+(p*20|0)+4>>2]=G;f[L+(p*20|0)+8>>2]=H;if(p>>>0>>0)p=p+1|0;else{q=0;break n}}}while(0);do if(!O)if(!(f[9328]|0)){ob[f[37360>>2]&127](N);break}else{V=ib[f[37368>>2]&255](N)|0;f[18187]=(f[18187]|0)-V;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](N);break}while(0);if(q|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](W);p=0;l=0;fa=129;break}else{p=ib[f[37368>>2]&255](W)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](W);p=0;l=0;fa=129;break}o:do if(!g){if(b[la>>0]|0)break;X=f[ca>>2]|0;X=lb[f[(f[X>>2]|0)+56>>2]&127](X,3,1,10)|0;fa=95}else while(1){if(b[la>>0]|0)break o;p=f[ca>>2]|0;p=lb[f[(f[p>>2]|0)+56>>2]&127](p,3,1,10)|0;if((p|0)!=5){X=p;fa=95;break o}if(!(ib[g&255](i)|0)){p=W;l=W;break m}}while(0);if((fa|0)==95?X|0:0){q=X;p=W;l=W;fa=129;break}G=f[da>>2]|0;f[S+128>>2]=l;F=a+8|0;p=f[F>>2]|0;H=k>>>2&3;I=(H|0)==0;if(!I?(Y=jb[f[(f[p>>2]|0)+20>>2]&255](p,H)|0,(Y|0)!=0):0)q=Y;else fa=98;p:do if((fa|0)==98){k=QA($|0,0,aa|0,0)|0;Y=ba()|0;q=ga;f[q>>2]=k;f[q+4>>2]=Y;q=f[ca>>2]|0;q=jb[f[(f[q>>2]|0)+24>>2]&255](q,Z)|0;if(q|0)break;Y=Z;X=f[Y+4>>2]|0;Z=ga;k=f[Z+4>>2]|0;do if((X|0)<(k|0)|((X|0)==(k|0)?(f[Y>>2]|0)>>>0<(f[Z>>2]|0)>>>0:0)){p=f[ca>>2]|0;q=f[p>>2]|0;if(!q)break;kb[f[q+40>>2]&127](p,5,ga)|0}while(0);D=c+264|0;E=aa|24;p=f[R>>2]|0;q:do if((p|0)>0){q=0;while(1){C=f[W>>2]|0;r=-1;B=p;while(1){A=B;B=B+-1|0;v=W+8+(B*20|0)|0;s=f[v>>2]|0;w=f[W+8+(B*20|0)+12>>2]|0;r:do if((s|0)<(w|0)){x=f[W+8+(B*20|0)+8>>2]|0;y=f[W+8+(B*20|0)+4>>2]|0;while(1){u=d[y+(s<<1)>>1]|0;z=f[x+((u&65535)<<2)>>2]|0;if(z>>>0>C>>>0)break;s=s+1|0;f[v>>2]=s;if((s|0)>=(w|0)){s=q;break r}}if(z>>>0>=r>>>0){s=q;break}s=(f[W+8+(B*20|0)+16>>2]|0)+(u&65535)|0;r=z}else s=q;while(0);if((A|0)<=1)break;else q=s}f[W>>2]=r;if((r|0)==-1)break q;if(f[D>>2]|0)break;if(!(s>>>0<=G>>>0|s>>>0>l>>>0|r>>>0>$>>>0)){Z=QA(s+-1|0,0,E|0,0)|0;Z=KA(Z|0,ba()|0,56,0)|0;q=ba()|0;Y=f[F>>2]|0;q=mb[f[(f[Y>>2]|0)+8>>2]&127](Y,m,aa,Z,q)|0;if(q|0)break p;Z=QA(r+-1|0,0,aa|0,0)|0;q=ba()|0;Y=f[ca>>2]|0;q=mb[f[(f[Y>>2]|0)+12>>2]&127](Y,m,aa,Z,q)|0;if(q|0)break p;p=f[R>>2]|0}if((p|0)>0)q=s;else{fa=105;break q}}q=(b[c+81>>0]|0)==0?9:7;break p}else fa=105;while(0);if((fa|0)==105)f[W>>2]=-1;do if((l|0)==(f[(f[f[ea>>2]>>2]|0)+16>>2]|0)){fa=QA(f[_>>2]|0,0,aa|0,0)|0;q=ba()|0;m=f[ca>>2]|0;q=kb[f[(f[m>>2]|0)+16>>2]&127](m,fa,q)|0;if(q|0)break p;p=f[ca>>2]|0;if(I)break;q=jb[f[(f[p>>2]|0)+20>>2]&255](p,H)|0;if(q|0)break p}while(0);f[da>>2]=l;q=0}while(0);if(b[la>>0]|0){p=W;l=W;fa=129;break}p=f[ca>>2]|0;lb[f[(f[p>>2]|0)+56>>2]&127](p,3,1,9)|0;p=W;l=W;fa=129}else{p=0;l=0;fa=129}while(0);if((fa|0)==129)if((q|0)!=5){v=l;fa=131;break}q=0;v=l;fa=131}else{q=0;p=0;v=0;fa=131}while(0);do if((fa|0)==131){if((ia|0)!=0&(q|0)==0)if((f[da>>2]|0)>>>0>=(f[ha>>2]|0)>>>0)if((ia|0)>1){zd(4,ga);u=a+4|0;s:do if(!g)if(!(b[la>>0]|0)){q=f[u>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,4,4,10)|0;fa=141}else fa=142;else while(1){if(b[la>>0]|0){fa=142;break s}q=f[u>>2]|0;q=lb[f[(f[q>>2]|0)+56>>2]&127](q,4,4,10)|0;if((q|0)!=5){fa=141;break s}if(!(ib[g&255](i)|0)){q=5;break}}while(0);if((fa|0)==141)if(!q)fa=142;if((fa|0)==142){if((ia|0)==3){s=f[ga>>2]|0;g=f[ea>>2]|0;q=f[g>>2]|0;l=q+96|0;fa=a+84|0;ga=a+112|0;f[ga>>2]=(f[ga>>2]|0)+1;f[ha>>2]=0;ga=fa+1|0;w=fa+2|0;r=fa+3|0;x=(h[ga>>0]<<16|h[fa>>0]<<24|h[w>>0]<<8|h[r>>0])+1|0;b[fa>>0]=x>>>24;b[ga>>0]=x>>>16;b[w>>0]=x>>>8;b[r>>0]=x;f[a+88>>2]=s;g=f[g>>2]|0;r=a+52|0;b[a+64>>0]=1;f[r>>2]=3007e3;x=f[r+4>>2]|0;w=x+6014e3+(f[r+8>>2]|0)|0;x=x+3007e3+(f[r+12>>2]|0)+w|0;w=x+w|0;x=x+(f[r+20>>2]|0)+w|0;w=w+(f[r+24>>2]|0)+x|0;x=x+(f[r+28>>2]|0)+w|0;w=w+(f[r+32>>2]|0)+x|0;f[a+92>>2]=w;f[a+96>>2]=x+s+w;w=g+48|0;s=r;x=w+48|0;do{b[w>>0]=b[s>>0]|0;w=w+1|0;s=s+1|0}while((w|0)<(x|0));if((b[la>>0]|0)!=2){ga=f[u>>2]|0;ob[f[(f[ga>>2]|0)+60>>2]&127](ga)}w=g;s=r;x=w+48|0;do{b[w>>0]=b[s>>0]|0;w=w+1|0;s=s+1|0}while((w|0)<(x|0));f[l>>2]=0;f[q+128>>2]=0;f[q+104>>2]=0;f[q+108>>2]=-1;f[q+112>>2]=-1;f[q+116>>2]=-1;q=f[a+8>>2]|0;q=kb[f[(f[q>>2]|0)+16>>2]&127](q,0,0)|0}else q=0;if(!(b[la>>0]|0)){ga=f[u>>2]|0;lb[f[(f[ga>>2]|0)+56>>2]&127](ga,4,4,9)|0}}}else q=0;else q=5;if(p)if(!(f[9328]|0)){ob[f[37360>>2]&127](v);break}else{ga=ib[f[37368>>2]&255](v)|0;f[18187]=(f[18187]|0)-ga;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](v);break}}while(0);switch(q|0){case 0:case 5:break;default:break c}if(n|0)f[n>>2]=f[ha>>2];if(o)f[o>>2]=f[(f[f[ea>>2]>>2]|0)+96>>2]}while(0);if(f[ja>>2]|0){w=a+52|0;x=w+48|0;do{f[w>>2]=0;w=w+4|0}while((w|0)<(x|0))}p=a+44|0;if(b[p>>0]|0){if(!(b[la>>0]|0)){ja=f[a+4>>2]|0;lb[f[(f[ja>>2]|0)+56>>2]&127](ja,0,1,9)|0}b[p>>0]=0;f[a+104>>2]=0;b[a+47>>0]=0}if(!(b[la>>0]|0)){la=f[a+4>>2]|0;lb[f[(f[la>>2]|0)+56>>2]&127](la,1,1,9)|0}b[ka>>0]=0;e=(ia|0)==(e|0)|(q|0)!=0?q:5;t=ma;return e|0}function gi(a){a=a|0;var b=0,c=0;if(!a)return;if((f[a>>2]|0)>0){c=a+12|0;b=0;do{hi((f[c>>2]|0)+(b*56|0)|0);b=b+1|0}while((b|0)<(f[a>>2]|0))}if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{c=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function hi(a){a=a|0;var b=0,c=0;b=f[a+28>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);b=f[a+36>>2]|0;do if(b|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](b);break}else{c=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);break}while(0);ii(f[a+48>>2]|0);b=a;a=b+56|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function ii(a){a=a|0;var b=0;if(!a)return;gi(f[a+4>>2]|0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}}function ji(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=f[a+20>>2]|0;l=(c|0)==0;d=a+16|0;if((k|0)<=0){a=b;while(1){if(bl(a,43770)|0){h=0;a=18;break}if(!(al(c,f[(f[d>>2]|0)+16>>2]|0)|0))a=48842;else{h=0;a=18;break}}if((a|0)==18)return h|0}e=f[d>>2]|0;g=e+16|0;a:while(1){if(l){a=0;do{j=Sj((f[e+((a^a>>>0<2)<<4)+12>>2]|0)+8|0,b)|0;if(j|0){a=16;break a}a=a+1|0}while((a|0)<(k|0))}else{a=0;do{d=a^a>>>0<2;if((bl(c,f[e+(d<<4)>>2]|0)|0)==0?(i=Sj((f[e+(d<<4)+12>>2]|0)+8|0,b)|0,i|0):0){a=17;break a}a=a+1|0}while((a|0)<(k|0))}if(bl(b,43770)|0){h=0;a=18;break}if(!(al(c,f[g>>2]|0)|0))b=48842;else{h=0;a=18;break}}if((a|0)==16){l=j;return l|0}else if((a|0)==17){l=i;return l|0}else if((a|0)==18)return h|0;return 0}function ki(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0;w=t;t=t+32|0;s=w+16|0;r=w+8|0;n=w;o=w+20|0;v=f[a>>2]|0;p=v+56|0;i=f[p>>2]|0;f[p>>2]=i+1;q=c+56|0;e=f[q>>2]|0;a:do if(e){g=f[c+64>>2]|0;if(g|0)do{if((f[g>>2]|0)==(v|0)){u=33;break a}g=f[g+24>>2]|0}while((g|0)!=0);m=f[f[c+60>>2]>>2]|0;j=f[v+348>>2]|0;if(!j){g=v+340|0;e=v+344|0}else{g=b[m>>0]|0;if(!(g<<24>>24))e=0;else{e=0;i=m;do{i=i+1|0;e=U(e+(h[1232+(g&255)>>0]|0)|0,-1640531535)|0;g=b[i>>0]|0}while(g<<24>>24!=0)}e=(e>>>0)%((f[v+336>>2]|0)>>>0)|0;g=j+(e<<3)|0;e=j+(e<<3)+4|0}g=f[g>>2]|0;b:do if(!g)e=72124;else{l=h[1232+(h[m>>0]|0)>>0]|0;while(1){e=f[e>>2]|0;g=g+-1|0;j=f[e+12>>2]|0;k=b[j>>0]|0;i=(h[1232+(k&255)>>0]|0)-l|0;if(!(k<<24>>24==0|(i|0)!=0)){k=m;do{j=j+1|0;k=k+1|0;x=b[j>>0]|0;i=(h[1232+(x&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(x<<24>>24==0|(i|0)!=0))}if(!i)break b;if(!g){e=72124;break}}}while(0);e=f[e+8>>2]|0;if(!e){f[n>>2]=m;ni(a,44732,n);f[p>>2]=(f[p>>2]|0)+-1;x=1;t=w;return x|0}f[o>>2]=0;g=si(v,c,e,f[(f[e>>2]|0)+8>>2]|0,o)|0;i=(g|0)==0;e=f[o>>2]|0;if(!i){f[r>>2]=e;ni(a,40840,r);f[a+12>>2]=g}do if(e|0){if(v|0){if(f[v+480>>2]|0){Kc(v,e);break}x=e;if((f[v+304>>2]|0)>>>0<=x>>>0?(f[v+308>>2]|0)>>>0>x>>>0:0){x=v+300|0;f[e>>2]=f[x>>2];f[x>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{x=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[p>>2]=(f[p>>2]|0)+-1;if(i){e=f[q>>2]|0;break}else{x=1;t=w;return x|0}}else u=33;while(0);if((u|0)==33)f[p>>2]=i;if(e|0){x=0;t=w;return x|0}p=c+42|0;e=d[p>>1]|0;if(e<<16>>16>0){x=0;t=w;return x|0}if(e<<16>>16<0){f[s>>2]=f[c>>2];ni(a,50264,s);x=1;t=w;return x|0}i=Hk(v,f[c+12>>2]|0,0)|0;if(!i)o=1;else{j=a+196|0;k=b[j>>0]|0;b[j>>0]=0;g=a+40|0;x=f[g>>2]|0;Tk(a,f[i+32>>2]|0);d[p>>1]=-1;l=v+272|0;f[l>>2]=(f[l>>2]|0)+1;s=v+312|0;r=f[s>>2]|0;f[s>>2]=0;e=Uk(a,i)|0;f[s>>2]=r;f[g>>2]=x;g=f[c+24>>2]|0;do if(!g)if(!e){d[p>>1]=0;e=1;break}else{x=e+42|0;d[p>>1]=d[x>>1]|0;u=e+4|0;f[c+4>>2]=f[u>>2];d[x>>1]=0;f[u>>2]=0;u=50;break}else{Vk(f[a>>2]|0,g,p,c+4|0);if(((b[v+81>>0]|0)==0?(f[a+36>>2]|0)==0:0)?(f[f[i>>2]>>2]|0)==(d[p>>1]|0):0)Wk(a,c,i);if(!e)e=0;else u=50}while(0);do if((u|0)==50){if(f[v+480>>2]|0){hg(v,e);e=0;break}u=e+32|0;x=(f[u>>2]|0)+-1|0;f[u>>2]=x;if(!x){hg(v,e);e=0}else e=0}while(0);mg(v,i,1);f[l>>2]=(f[l>>2]|0)+-1;b[j>>0]=k;o=e}x=(f[c+72>>2]|0)+78|0;d[x>>1]=d[x>>1]|2;if(!(b[v+81>>0]|0)){x=o;t=w;return x|0}n=c+4|0;e=f[n>>2]|0;do if(e|0){if((d[p>>1]|0)>0){j=v+480|0;k=v+304|0;l=v+308|0;m=v+300|0;i=0;while(1){g=f[e>>2]|0;do if(g|0){if(f[j>>2]|0){Kc(v,g);break}x=g;if((f[k>>2]|0)>>>0<=x>>>0?(f[l>>2]|0)>>>0>x>>>0:0){f[g>>2]=f[m>>2];f[m>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{x=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=f[e+4>>2]|0;if(g|0)ig(v,g);g=f[e+8>>2]|0;do if(g|0){if(f[j>>2]|0){Kc(v,g);break}x=g;if((f[k>>2]|0)>>>0<=x>>>0?(f[l>>2]|0)>>>0>x>>>0:0){f[g>>2]=f[m>>2];f[m>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{x=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);i=i+1|0;if((i|0)>=(d[p>>1]|0))break;else e=e+16|0}e=f[n>>2]|0}if(e|0){if(v|0){if(f[v+480>>2]|0){Kc(v,e);break}x=e;if((f[v+304>>2]|0)>>>0<=x>>>0?(f[v+308>>2]|0)>>>0>x>>>0:0){x=v+300|0;f[e>>2]=f[x>>2];f[x>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{x=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}}while(0);f[n>>2]=0;d[p>>1]=0;x=o;t=w;return x|0}function li(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0.0,qa=0;oa=t;t=t+240|0;s=oa+224|0;n=oa+216|0;q=oa+208|0;P=oa+200|0;N=oa+192|0;J=oa+184|0;I=oa+176|0;H=oa+160|0;G=oa+144|0;E=oa+136|0;D=oa+128|0;C=oa+120|0;A=oa+112|0;z=oa+104|0;x=oa+96|0;ia=oa+88|0;ha=oa+72|0;ja=oa+56|0;ga=oa+48|0;ea=oa+40|0;o=oa+32|0;L=oa;M=oa+228|0;e=f[a+24>>2]|0;na=f[e>>2]|0;a:do switch(b[c>>0]|0){case 55:case 56:case 52:case 53:case 48:case 54:case 57:{ma=371;break}case -99:{K=c+20|0;w=f[K>>2]|0;v=(w|0)==0;if(v)o=0;else o=f[w>>2]|0;g=f[na>>2]|0;i=b[g+78>>0]|0;u=f[c+8>>2]|0;if(!u)s=0;else s=(wz(u)|0)&1073741823;r=Rk(g,u,o,i,0)|0;if(r){n=(f[r+20>>2]|0)!=0&1;q=r+4|0;do if(f[q>>2]&1024|0){la=c+4|0;f[la>>2]=f[la>>2]|266240;if((o|0)!=2){f[c+28>>2]=(b[f[r+32>>2]>>0]|0)==117?8388608:125829120;break}g=f[w+24>>2]|0;p[L>>3]=-1.0;if((b[g>>0]|0)==-115){i=f[g+8>>2]|0;if(!i)g=0;else g=(wz(i)|0)&1073741823;jf(i,L,g,1)|0;pa=+p[L>>3];g=~~(pa*134217728.0);if(!(pa>1.0)){f[c+28>>2]=g;if((g|0)>=0)break}else ma=243}else ma=243;if((ma|0)==243)f[c+28>>2]=-1;ni(na,49745,x);la=e+20|0;f[la>>2]=(f[la>>2]|0)+1}while(0);o=r+32|0;g=f[o>>2]|0;i=f[na>>2]|0;b:do if(((b[i+165>>0]|0)==0?(b[na+196>>0]|0)==0:0)?(y=f[i+312>>2]|0,y|0):0){g=nb[y&127](f[i+316>>2]|0,31,0,g,0,f[na+236>>2]|0)|0;do if((g|0)!=1)if((g|2|0)==2)if(!g)break b;else break;else{ni(na,49831,A);g=1;ma=255;break}else{ni(na,49816,z);g=23;ma=255}while(0);if((ma|0)==255){f[na+12>>2]=g;f[C>>2]=f[o>>2];ni(na,49854,C);na=e+20|0;f[na>>2]=(f[na>>2]|0)+1}b[c>>0]=110;na=1;t=oa;return na|0}while(0);g=f[q>>2]|0;if(g&10240|0){la=c+4|0;f[la>>2]=f[la>>2]|524288}if((g&2048|0)==0?(B=j[e+24>>1]|0,(B&34|0)!=0):0){f[D>>2]=49935;f[D+4>>2]=(B&32|0)==0?((B&4|0)==0?49889:49917):49582;ni(na,49545,D);g=f[q>>2]|0}if(!(g&262144)){x=r;o=0;q=0}else{o=(b[na+18>>0]|0)==0&(f[9395]|0)==0;x=o?0:r;q=0}}else{x=Rk(f[na>>2]|0,u,-2,i,0)|0;q=(x|0)==0;o=q;q=(q^1)&1;n=0}c:do if((h[na+196>>0]|0)<2){if(((x|0)!=0?(f[x+24>>2]|0)==0:0)?(f[c+4>>2]&16777216|0)!=0:0){f[E>>2]=s;f[E+4>>2]=u;ni(na,49963,E);ma=283}else ma=269;do if((ma|0)==269){do if(n|0){i=d[e+24>>1]|0;g=f[x+4>>2]|0;if((i&1?(F=f[c+44>>2]|0,!((g&65536|0)!=0&(F|0)==0)):0)?!((i&16384)==0&(F|0)!=0):0)break;if((g&65536|0)==0?(f[c+44>>2]|0)==0:0){f[G>>2]=50036;f[G+4>>2]=s;f[G+8>>2]=u;ni(na,50007,G)}else{f[H>>2]=50046;f[H+4>>2]=s;f[H+8>>2]=u;ni(na,50007,H)}n=e+20|0;f[n>>2]=(f[n>>2]|0)+1;n=0;break c}while(0);if(o?(b[(f[na>>2]|0)+165>>0]|0)==0:0){f[I>>2]=s;f[I+4>>2]=u;ni(na,50053,I);ma=283;break}if(q|0){f[J>>2]=s;f[J+4>>2]=u;ni(na,50076,J);ma=283}}while(0);if((ma|0)==283){la=e+20|0;f[la>>2]=(f[la>>2]|0)+1}if(!n)n=0;else{n=e+24|0;d[n>>1]=((f[c+44>>2]|0)==0?65534:49151)&j[n>>1];n=1}}while(0);d:do if(!v?(m=f[w>>2]|0,(m|0)>0):0){g=w+4|0;while(1){i=f[g>>2]|0;if(i|0?oi(a,i)|0:0)break d;if((m|0)>1){m=m+-1|0;g=g+20|0}else break}}while(0);if(!n){na=1;t=oa;return na|0}r=c+44|0;g=f[r>>2]|0;if(!g){b[c>>0]=-97;m=c+38|0;b[m>>0]=0;e:do if(e|0){n=L+4|0;o=L+8|0;q=L+24|0;r=M+4|0;s=M+8|0;g=e;while(1){na=f[g+4>>2]|0;k=f[K>>2]|0;f[n>>2]=151;f[o>>2]=0;f[q>>2]=M;f[M>>2]=na;f[r>>2]=0;f[s>>2]=0;if(!k){ma=355;break}i=f[k>>2]|0;if((i|0)<=0){ma=355;break}k=k+4|0;while(1){l=f[k>>2]|0;if(l|0?oi(L,l)|0:0)break;if((i|0)>1){i=i+-1|0;k=k+20|0}else break}if((f[s>>2]|0)==0|(f[r>>2]|0)>0)break;b[m>>0]=(b[m>>0]|0)+1<<24>>24;g=f[g+12>>2]|0;if(!g)break e}na=g+24|0;d[na>>1]=f[x+4>>2]&4096|j[na>>1]|16}while(0);na=e+24|0;d[na>>1]=d[na>>1]|1;na=1;t=oa;return na|0}q=f[e+28>>2]|0;i=f[g+4>>2]|0;if((i|0)!=0?(l=f[i>>2]|0,(l|0)>0):0){g=i+4|0;while(1){i=f[g>>2]|0;if(i|0?oi(a,i)|0:0)break;if((l|0)>1){l=l+-1|0;g=g+20|0}else break}g=f[r>>2]|0}i=f[g+8>>2]|0;if((i|0)!=0?(k=f[i>>2]|0,(k|0)>0):0){g=i+4|0;while(1){i=f[g>>2]|0;if(i|0?oi(a,i)|0:0)break;if((k|0)>1){k=k+-1|0;g=g+20|0}else break}g=f[r>>2]|0}i=f[g+28>>2]|0;if(!i)o=g;else{oi(a,i)|0;o=f[r>>2]|0}g=f[q+72>>2]|0;l=f[o>>2]|0;f:do if((l|0)!=0?(O=o+12|0,(b[O>>0]|0)==0):0){g:do if(g|0){m=h[1232+(h[l>>0]|0)>>0]|0;n=g;while(1){i=f[n>>2]|0;c=b[i>>0]|0;g=(h[1232+(c&255)>>0]|0)-m|0;if(!(c<<24>>24==0|(g|0)!=0)){k=l;do{i=i+1|0;k=k+1|0;c=b[i>>0]|0;g=(h[1232+(c&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(c<<24>>24==0|(g|0)!=0))}if(!g)break;g=f[n+24>>2]|0;if(!g)break g;else n=g}g=Ik(f[na>>2]|0,f[n+4>>2]|0,0)|0;f[o+4>>2]=g;g=Ik(f[na>>2]|0,f[n+8>>2]|0,0)|0;f[o+8>>2]=g;g=f[n+16>>2]|0;if(!g)g=0;else g=Bk(f[na>>2]|0,g,0,0)|0;f[o+16>>2]=g;g=f[n+20>>2]|0;if(!g)g=0;else g=Bk(f[na>>2]|0,g,0,0)|0;f[o+20>>2]=g;b[o+13>>0]=b[n+13>>0]|0;b[o+14>>0]=b[n+14>>0]|0;b[O>>0]=b[n+12>>0]|0;ma=325;break f}while(0);f[N>>2]=l;ni(na,50121,N)}else ma=325;while(0);if((ma|0)==325){do if(f[x+4>>2]&65536|0){l=f[na>>2]|0;if(f[o+28>>2]|0){ni(na,50140,P);break}g=f[x+32>>2]|0;if((g|0)==42261|(g|0)==42311){k=o+16|0;g=f[k>>2]|0;if(g|0)ig(l,g);g=o+20|0;i=f[g>>2]|0;if(i|0)ig(l,i);f[g>>2]=0;f[k>>2]=0;b[o+12>>0]=76;b[o+13>>0]=87;b[o+14>>0]=82;break}if((g|0)==42301|((g|0)==42288|((g|0)==42272|(g|0)==42283))){k=o+16|0;g=f[k>>2]|0;if(g|0)ig(l,g);g=o+20|0;i=f[g>>2]|0;if(i|0)ig(l,i);f[g>>2]=0;f[k>>2]=0;b[o+12>>0]=86;b[o+13>>0]=87;b[o+14>>0]=82}}while(0);f[o+32>>2]=x}k=q+68|0;g=f[k>>2]|0;if(g){if(!(Fk(na,g,f[r>>2]|0)|0)){i=k;g=f[k>>2]|0;ma=345}}else{i=k;ma=345}if((ma|0)==345){f[(f[r>>2]|0)+24>>2]=g;f[i>>2]=f[r>>2]}na=e+24|0;d[na>>1]=d[na>>1]|16384;na=1;t=oa;return na|0}case 49:case 20:case 127:{i=c+4|0;if(f[i>>2]&2048|0){k=e+16|0;l=f[k>>2]|0;e=e+24|0;g=j[e>>1]|0;if(g&38|0){f[q>>2]=50203;f[q+4>>2]=(g&32|0)==0?((g&4|0)==0?49889:49917):49582;ni(na,49545,q)}yk(a,f[c+20>>2]|0)|0;if((l|0)!=(f[k>>2]|0)){f[i>>2]=f[i>>2]|32;d[e>>1]=d[e>>1]|64}}break}case -112:{e=j[e+24>>1]|0;if(e&38|0){f[n>>2]=50214;f[n+4>>2]=(e&32|0)==0?((e&4|0)==0?49889:49917):49582;ni(na,49545,n)}break}case -100:case 45:{e=f[c+16>>2]|0;if((b[e>>0]|0)==59){if((li(a,e)|0)==2){na=2;t=oa;return na|0}if((b[e>>0]|0)==-101){b[c+38>>0]=b[c>>0]|0;b[c>>0]=-93;na=0;t=oa;return na|0}else ma=371}else ma=371;break}case 59:{u=f[c+8>>2]|0;s=f[na>>2]|0;$=c+28|0;f[$>>2]=-1;v=0;w=0;k=0;x=na+196|0;_=na;ma=28;break}case -126:{l=f[c+12>>2]|0;n=e+24|0;if(d[n>>1]&32){f[o>>2]=49565;f[o+4>>2]=49582;ni(na,49545,o)}k=f[c+16>>2]|0;if((b[k>>0]|0)==59){w=0;m=k}else{w=f[l+8>>2]|0;m=f[k+16>>2]|0;l=f[k+12>>2]|0}v=f[l+8>>2]|0;u=f[m+8>>2]|0;x=na+196|0;h:do if((h[x>>0]|0)>1?(r=na+268|0,g=f[r>>2]|0,g|0):0){k=g;do{if((f[k>>2]|0)==(m|0)){ma=12;break}k=f[k+12>>2]|0}while((k|0)!=0);if((ma|0)==12){f[k>>2]=c;g=f[r>>2]|0}k=c+44|0;if(g|0){while(1){if((f[g>>2]|0)==(l|0))break;g=f[g+12>>2]|0;if(!g)break h}f[g>>2]=k}}while(0);s=f[na>>2]|0;r=c+28|0;f[r>>2]=-1;if((w|0)!=0?(d[n>>1]&6)==0:0){n=f[s+20>>2]|0;if((n|0)>0){q=f[s+16>>2]|0;o=h[1232+(h[w>>0]|0)>>0]|0;g=0;while(1){l=f[q+(g<<4)>>2]|0;ma=b[l>>0]|0;k=(h[1232+(ma&255)>>0]|0)-o|0;if(!(ma<<24>>24==0|(k|0)!=0)){m=w;do{l=l+1|0;m=m+1|0;ma=b[l>>0]|0;k=(h[1232+(ma&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(ma<<24>>24==0|(k|0)!=0))}if(!k)break;g=g+1|0;if((g|0)>=(n|0)){k=0;$=r;_=na;ma=28;break a}}k=f[q+(g<<4)+12>>2]|0;$=r;_=na;ma=28}else{k=0;$=r;_=na;ma=28}}else{w=0;k=0;$=r;_=na;ma=28}break}default:{}}while(0);if((ma|0)==28){X=(w|0)==0;Y=(v|0)!=0;U=Y&X;g=na+120|0;Q=(v|0)==0;aa=c+32|0;R=c+44|0;W=na+268|0;S=na+140|0;T=c+44|0;Z=c+4|0;N=c+1|0;O=na+132|0;P=na+136|0;q=e;o=0;V=0;n=158;m=0;y=-1;i:while(1){l=f[q+4>>2]|0;if(l){a=f[l>>2]|0;if((a|0)>0){L=l+8|0;M=0;r=0;while(1){K=f[L+16>>2]|0;l=f[L+20>>2]|0;if((l|0)!=0?(f[l+8>>2]&2048|0)!=0:0){A=f[l>>2]|0;B=f[A>>2]|0;if((B|0)>0){z=0;l=0;do{if(Pk(f[A+4+(z*20|0)+8>>2]|0,u,v,w)|0){d[aa>>1]=z;l=1;r=r+1|0;o=2;m=L}z=z+1|0}while((z|0)!=(B|0))}else l=0;if(Y&(l|0)==0)ma=40}else ma=40;j:do if((ma|0)==40){ma=0;if(!X?(f[K+72>>2]|0)!=(k|0):0)break;k:do if(!Q){z=f[L+12>>2]|0;B=(z|0)==0;if(B){z=f[K>>2]|0;J=b[z>>0]|0;l=(h[1232+(J&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0;if(!(J<<24>>24==0|(l|0)!=0)){A=v;do{z=z+1|0;A=A+1|0;J=b[z>>0]|0;l=(h[1232+(J&255)>>0]|0)-(h[1232+(h[A>>0]|0)>>0]|0)|0}while(!(J<<24>>24==0|(l|0)!=0))}}else{J=b[z>>0]|0;l=(h[1232+(J&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0;if(!(J<<24>>24==0|(l|0)!=0)){A=v;do{z=z+1|0;A=A+1|0;J=b[z>>0]|0;l=(h[1232+(J&255)>>0]|0)-(h[1232+(h[A>>0]|0)>>0]|0)|0}while(!(J<<24>>24==0|(l|0)!=0))}}if(l|0)break j;if(!(B|(h[x>>0]|0)<2)?(ca=f[W>>2]|0,ca|0):0){l=ca;while(1){if((f[l>>2]|0)==(R|0))break;l=f[l+12>>2]|0;if(!l)break k}f[l>>2]=0}}while(0);J=o+1|0;m=(o|0)==0?L:m;o=f[K+4>>2]|0;l=d[K+42>>1]|0;if(l<<16>>16>0){I=h[1232+(h[u>>0]|0)>>0]|0;F=L+36|0;G=L+48|0;H=l<<16>>16;l:do if((r|0)==1){l=0;while(1){A=f[o>>2]|0;E=b[A>>0]|0;z=(h[1232+(E&255)>>0]|0)-I|0;if(!(E<<24>>24==0|(z|0)!=0)){B=u;do{A=A+1|0;B=B+1|0;E=b[A>>0]|0;z=(h[1232+(E&255)>>0]|0)-(h[1232+(h[B>>0]|0)>>0]|0)|0}while(!(E<<24>>24==0|(z|0)!=0))}m:do if((z|0)==0?(b[F>>0]&4)==0:0){z=f[G>>2]|0;if(!z)break l;E=f[z+4>>2]|0;if((E|0)<=0)break l;D=f[z>>2]|0;C=0;while(1){A=f[D+(C<<3)>>2]|0;B=b[A>>0]|0;z=(h[1232+(B&255)>>0]|0)-I|0;if(!(B<<24>>24==0|(z|0)!=0)){B=u;do{A=A+1|0;B=B+1|0;qa=b[A>>0]|0;z=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[B>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(z|0)!=0))}C=C+1|0;if(!z)break m;if((C|0)>=(E|0))break l}}while(0);l=l+1|0;if((l|0)>=(H|0)){r=1;o=J;break j}else o=o+16|0}}else{B=o;l=0;while(1){z=f[B>>2]|0;qa=b[z>>0]|0;o=(h[1232+(qa&255)>>0]|0)-I|0;if(!(qa<<24>>24==0|(o|0)!=0)){A=u;do{z=z+1|0;A=A+1|0;qa=b[z>>0]|0;o=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[A>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(o|0)!=0))}if(!o)break l;l=l+1|0;if((l|0)>=(H|0)){o=J;break j}else B=B+16|0}}while(0);d[aa>>1]=(l|0)==(d[K+40>>1]|0)?-1:l&65535;r=r+1|0;o=J;m=L}else o=J}while(0);M=M+1|0;if((M|0)==(a|0))break;else L=L+72|0}}else r=0;if(!m){F=r;G=0}else{l=f[m+40>>2]|0;f[$>>2]=l;k=f[m+16>>2]|0;f[T>>2]=k;if(b[m+36>>0]&8)f[Z>>2]=f[Z>>2]|1048576;k=f[k+72>>2]|0;F=r;G=m;y=l}}else{F=0;G=m}do if(U&(o|0)==0){r=f[g>>2]|0;do if(r){A=b[S>>0]|0;z=b[v>>0]|0;l=z|32;if(A<<24>>24==117){if(l<<24>>24!=111){r=0;break}}else{if(l<<24>>24==110){l=v;m=49600;do{m=m+1|0;l=l+1|0;qa=b[m>>0]|0;o=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(o|0)!=0));if(!o){f[$>>2]=1;y=1;break}}if(!(A<<24>>24!=116&(z|32)<<24>>24==111)){r=0;break}}l=v;m=49604;do{m=m+1|0;l=l+1|0;qa=b[m>>0]|0;o=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(o|0)!=0));if(!o){f[$>>2]=0;y=0}else r=0}else r=0;while(0);z=d[q+24>>1]|0;if(((z&512)!=0?(da=f[q+8>>2]|0,(da|0)!=0):0)?(b[v>>0]|32)<<24>>24==101:0){l=v;m=49608;do{m=m+1|0;l=l+1|0;qa=b[m>>0]|0;o=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(o|0)!=0));if(!o){C=f[(f[da+20>>2]|0)+24>>2]|0;f[$>>2]=2;y=2}else C=r}else C=r;if(!C){E=n;D=0;n=F;m=(G|0)!=0;B=z;break}k=f[C+72>>2]|0;qa=d[C+42>>1]|0;B=qa<<16>>16;n:do if(qa<<16>>16>0){A=h[1232+(h[u>>0]|0)>>0]|0;m=0;z=f[C+4>>2]|0;while(1){o=f[z>>2]|0;qa=b[o>>0]|0;l=(h[1232+(qa&255)>>0]|0)-A|0;if(!(qa<<24>>24==0|(l|0)!=0)){r=u;do{o=o+1|0;r=r+1|0;qa=b[o>>0]|0;l=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[r>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(l|0)!=0))}if(!l)break;m=m+1|0;if((m|0)<(B|0))z=z+16|0;else break n}m=(m|0)==(d[C+40>>1]|0)?-1:m}else m=0;while(0);do if((m|0)>=(B|0)){A=b[u>>0]|0;z=h[1232+(A&255)>>0]|0;l=z+-95|0;A=A<<24>>24==0;if(!(A|(l|0)!=0)){o=49617;r=u;do{r=r+1|0;o=o+1|0;qa=b[r>>0]|0;l=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(l|0)!=0))}if(l|0){l=z+-114|0;if(!(A|(l|0)!=0)){o=49625;r=u;do{r=r+1|0;o=o+1|0;qa=b[r>>0]|0;l=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(l|0)!=0))}if(l|0){l=z+-111|0;if(!(A|(l|0)!=0)){o=49631;r=u;do{r=r+1|0;o=o+1|0;qa=b[r>>0]|0;l=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(l|0)!=0))}if(l|0)break}}m=(f[C+36>>2]&64|0)==0?-1:m}while(0);if((m|0)<(B|0)){o=F+1|0;if((y|0)==2)if((h[x>>0]|0)>1){d[aa>>1]=m;f[R>>2]=C;n=158;l=1;y=2;ma=142;break}else{y=(f[(f[q+8>>2]|0)+24>>2]|0)+m|0;f[$>>2]=y;f[Z>>2]=f[Z>>2]|4194304;n=164;l=1;ma=142;break}do if((m|0)>=0){l=(m|0)>31?-1:1<>2]=f[O>>2]|l;break}else{f[P>>2]=f[P>>2]|l;break}}else b[N>>0]=68;while(0);f[R>>2]=C;d[aa>>1]=m;n=77;l=1;ma=142}else{l=1;o=F;ma=142}}else{l=o;o=F;ma=142}while(0);do if((ma|0)==142){ma=0;m=(G|0)!=0;B=d[q+24>>1]|0;if(m&((l|0)==1&(o|0)==0))if(!(B&32)){z=b[u>>0]|0;r=h[1232+(z&255)>>0]|0;l=r+-95|0;z=z<<24>>24==0;if(!(z|(l|0)!=0)){m=49617;o=u;do{o=o+1|0;m=m+1|0;qa=b[o>>0]|0;l=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(l|0)!=0))}if(l|0){l=r+-114|0;if(!(z|(l|0)!=0)){m=49625;o=u;do{o=o+1|0;m=m+1|0;qa=b[o>>0]|0;l=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(l|0)!=0))}if(l|0){l=r+-111|0;if(!(z|(l|0)!=0)){m=49631;o=u;do{o=o+1|0;m=m+1|0;qa=b[o>>0]|0;l=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(l|0)!=0))}if(l|0){E=n;D=1;n=0;m=1;break}}}if(!(f[(f[G+16>>2]|0)+36>>2]&64)){ma=157;break i}else{E=n;D=1;n=0;m=1}}else{E=n;D=1;n=0;m=1}else{E=n;D=l;n=o}}while(0);l=(n|0)==0;if(Q&(l&(B&128)!=0)){C=f[q+8>>2]|0;r=f[C>>2]|0;if((r|0)>0){A=0;while(1){z=f[C+4+(A*20|0)+4>>2]|0;if(z|0){qa=b[z>>0]|0;l=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0;if(!(qa<<24>>24==0|(l|0)!=0)){n=u;o=z;do{o=o+1|0;n=n+1|0;qa=b[o>>0]|0;l=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(l|0)!=0))}if(!l){ma=166;break i}}l=A+1|0;if((l|0)<(r|0))A=l;else break}}}else if(!l){ma=197;break}q=f[q+12>>2]|0;if(!q){ma=185;break}else{o=D;V=V+1|0;n=E;m=G}}o:do if((ma|0)==157){d[aa>>1]=-1;b[N>>0]=68;o=1;m=1;ma=204}else if((ma|0)==166){m=f[C+4+(A*20|0)>>2]|0;if((B&1)==0?f[m+4>>2]&2|0:0){f[ea>>2]=z;ni(na,49635,ea);qa=2;t=oa;return qa|0}l=b[m>>0]|0;if(l<<24>>24==-92)l=b[m+38>>0]|0;switch(l<<24>>24){case -91:{fa=m+20|0;ma=174;break}case 127:{fa=f[m+20>>2]|0;ma=174;break}default:{}}if((ma|0)==174?(f[f[fa>>2]>>2]|0)!=1:0){ni(na,49666,ga);qa=2;t=oa;return qa|0}Nk(na,C,A,c,72788,V);if((h[x>>0]|0)>1?(i=f[W>>2]|0,(i|0)!=0):0){while(1){if((f[i>>2]|0)==(c|0))break;i=f[i+12>>2]|0;if(!i){m=q;break o}}f[i>>2]=0;m=q}else m=q}else if((ma|0)==185)if(Q){if(f[Z>>2]&64|0){b[c>>0]=106;f[R>>2]=0;qa=1;t=oa;return qa|0}l=f[c+8>>2]|0;r=b[l>>0]|0;q=h[1232+(r&255)>>0]|0;i=q+-116|0;r=r<<24>>24==0;if(!(r|(i|0)!=0)){n=49684;o=l;do{o=o+1|0;n=n+1|0;qa=b[o>>0]|0;i=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(i|0)!=0))}if(i|0){i=q+-102|0;if(!(r|(i|0)!=0)){n=49689;do{l=l+1|0;n=n+1|0;qa=b[l>>0]|0;i=(h[1232+(qa&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(qa<<24>>24==0|(i|0)!=0))}if(i|0){l=0;n=0;i=49717;ma=198;break}}b[c>>0]=-101;qa=1;t=oa;return qa|0}else{l=0;n=0;i=49717;ma=198}else if((ma|0)==197)if((n|0)==1){o=1;n=E;ma=204}else{l=q;i=49695;ma=198}while(0);if((ma|0)==198){do if(X)if(Y){f[ha>>2]=i;f[ha+4>>2]=v;f[ha+8>>2]=u;ni(na,42793,ha);break}else{f[ia>>2]=i;f[ia+4>>2]=u;ni(na,42803,ia);break}else{f[ja>>2]=i;f[ja+4>>2]=w;f[ja+8>>2]=v;f[ja+12>>2]=u;ni(na,49732,ja)}while(0);b[na+17>>0]=1;q=e+20|0;f[q>>2]=(f[q>>2]|0)+1;q=l;o=n;n=E;ma=204}if((ma|0)==204){qa=d[aa>>1]|0;l=qa<<16>>16;i=G+56|0;if(m&qa<<16>>16>-1){ia=WA(1,0,((l|0)<63?l:63)|0)|0;ja=ba()|0;ha=i;ja=f[ha+4>>2]|ja;qa=i;f[qa>>2]=f[ha>>2]|ia;f[qa+4>>2]=ja}i=c+12|0;l=f[i>>2]|0;if(l|0)ig(s,l);f[i>>2]=0;i=c+16|0;l=f[i>>2]|0;if(l|0)ig(s,l);f[i>>2]=0;b[c>>0]=n;f[Z>>2]=f[Z>>2]|8388608;if((o|0)==1)m=q;else{qa=2;t=oa;return qa|0}}p:do if((f[Z>>2]&4194304|0)==0?(la=f[m+4>>2]|0,ka=f[_>>2]|0,!((k|0)==0|(f[ka+312>>2]|0)==0)):0){i=f[ka+16>>2]|0;l=0;while(1)if((f[i+(l<<4)+12>>2]|0)==(k|0))break;else l=l+1|0;if((b[c>>0]|0)!=77){k=f[la>>2]|0;if((k|0)<=0)break;i=f[$>>2]|0;g=0;while(1){if((i|0)==(f[la+8+(g*72|0)+40>>2]|0))break;g=g+1|0;if((g|0)>=(k|0))break p}g=la+8+(g*72|0)+16|0}k=f[g>>2]|0;i=d[aa>>1]|0;g=i<<16>>16;if(k|0){if(i<<16>>16<=-1){g=d[k+40>>1]|0;if(g<<16>>16>-1){g=g<<16>>16;ma=225}else g=49625}else ma=225;if((ma|0)==225)g=f[(f[k+4>>2]|0)+(g<<4)>>2]|0;if((Qk(na,f[k>>2]|0,g,l)|0)==2)b[c>>0]=110}}while(0);qa=e+16|0;f[qa>>2]=(f[qa>>2]|0)+1;if((m|0)==(e|0)){qa=1;t=oa;return qa|0}do{e=f[e+12>>2]|0;qa=e+16|0;f[qa>>2]=(f[qa>>2]|0)+1}while((e|0)!=(m|0));e=1;t=oa;return e|0}else if((ma|0)==371?(b[(f[na>>2]|0)+81>>0]|0)==0:0){g=f[c+12>>2]|0;e=b[g>>0]|0;if(e<<24>>24==-92)e=b[g+38>>0]|0;switch(e<<24>>24){case -91:{e=g+20|0;ma=377;break}case 127:{e=f[g+20>>2]|0;ma=377;break}default:k=1}if((ma|0)==377)k=f[f[e>>2]>>2]|0;q:do if((b[c>>0]|0)==48){i=f[c+20>>2]|0;g=f[i+4>>2]|0;e=b[g>>0]|0;if(e<<24>>24==-92)e=b[g+38>>0]|0;switch(e<<24>>24){case -91:{e=g+20|0;ma=384;break}case 127:{e=f[g+20>>2]|0;ma=384;break}default:e=1}if((ma|0)==384)e=f[f[e>>2]>>2]|0;if((e|0)==(k|0)){g=f[i+24>>2]|0;e=b[g>>0]|0;if(e<<24>>24==-92)e=b[g+38>>0]|0;switch(e<<24>>24){case -91:{e=f[f[g+20>>2]>>2]|0;break q}case 127:{e=f[f[f[g+20>>2]>>2]>>2]|0;break q}default:{e=1;break q}}}}else{g=f[c+16>>2]|0;e=b[g>>0]|0;if(e<<24>>24==-92)e=b[g+38>>0]|0;switch(e<<24>>24){case -91:{e=f[f[g+20>>2]>>2]|0;break q}case 127:{e=f[f[f[g+20>>2]>>2]>>2]|0;break q}default:{e=1;break q}}}while(0);if((k|0)!=(e|0))ni(na,49666,s)}if(f[na+36>>2]|0){qa=2;t=oa;return qa|0}qa=(b[(f[na>>2]|0)+81>>0]|0)==0?0:2;t=oa;return qa|0}function mi(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0;Ra=t;t=t+224|0;Qa=Ra+104|0;Na=Ra+96|0;Ma=Ra+80|0;Ba=Ra+72|0;za=Ra+64|0;va=Ra+56|0;ua=Ra+48|0;ta=Ra+40|0;ya=Ra+32|0;xa=Ra+24|0;wa=Ra+16|0;sa=Ra+8|0;ra=Ra;Ga=Ra+184|0;Ha=Ra+152|0;Ia=Ra+144|0;ga=Ra+112|0;e=f[c+8>>2]|0;if(e&4|0){Qa=1;t=Ra;return Qa|0}ca=f[a+24>>2]|0;Pa=f[a>>2]|0;a=f[Pa>>2]|0;if(!(e&64)){cg(Pa,c,ca);if(f[Pa+36>>2]|0){Qa=2;t=Ra;return Qa|0}Qa=(b[a+81>>0]|0)==0?1:2;t=Ra;return Qa|0}Aa=c+52|0;ea=(f[Aa>>2]|0)!=0;O=ea&1;P=ga+28|0;Q=ga+24|0;R=Ga+4|0;S=Ga+8|0;T=Ga+12|0;U=Ga+24|0;V=ga+4|0;W=ga+12|0;X=Pa+236|0;Y=(ca|0)==0;Z=Ga+4|0;_=Ga+8|0;$=Ga+12|0;aa=Ga+24|0;ba=Pa+36|0;r=a+81|0;s=ga+20|0;u=Ga+4|0;v=Ga+8|0;w=Ga+12|0;x=Ga+24|0;y=ga+8|0;z=Ga+4|0;A=Ga+8|0;B=Ga+12|0;C=Ga+24|0;D=Ga+4|0;E=Ga+8|0;F=Ga+12|0;G=Ga+24|0;H=Ga+4|0;I=Ga+8|0;J=Ga+12|0;K=Ga+24|0;L=ga+4|0;M=Pa;N=Pa+204|0;p=c;q=0;a=e;a:while(1){o=p+8|0;f[o>>2]=a|4;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;f[L+16>>2]=0;f[L+20>>2]=0;f[ga>>2]=Pa;f[P>>2]=p;a=f[p+60>>2]|0;if(a){d[Q>>1]=0;f[Ga>>2]=M;f[R>>2]=146;f[S>>2]=147;f[T>>2]=0;f[U>>2]=ga;e=a+24|0;n=(f[N>>2]|0)+(f[e>>2]|0)|0;f[N>>2]=n;qa=f[(f[Pa>>2]|0)+120>>2]|0;if((qa|0)<(n|0)){H=9;break}oi(Ga,a)|0;g=f[Ga>>2]|0;n=g+204|0;f[n>>2]=(f[n>>2]|0)-(f[e>>2]|0);if(d[Q>>1]&16){n=a+4|0;f[n>>2]=f[n>>2]|2}if((f[s>>2]|0)>0){H=13;break}if((f[g+36>>2]|0)>=1){Oa=2;H=188;break}}n=p+32|0;e=f[n>>2]|0;if(f[o>>2]&65536|0){m=p+48|0;f[(f[e+28>>2]|0)+48>>2]=f[m>>2];f[m>>2]=0}a=e;b:do if((f[e>>2]|0)>0){if(Y){j=0;while(1){i=f[e+8+(j*72|0)+20>>2]|0;if(i){a=f[X>>2]|0;g=f[e+8+(j*72|0)+8>>2]|0;if(g|0)f[X>>2]=g;f[Z>>2]=146;f[_>>2]=147;f[$>>2]=0;f[Ga>>2]=Pa;f[aa>>2]=0;yk(Ga,i)|0;f[X>>2]=a;if(f[ba>>2]|0){Oa=2;H=188;break a}if(b[r>>0]|0){Oa=2;H=188;break a}a=e+8+(j*72|0)+37|0;b[a>>0]=b[a>>0]&-9;a=f[n>>2]|0;e=a}j=j+1|0;if((j|0)>=(f[e>>2]|0))break b}}k=0;j=e;while(1){i=f[j+8+(k*72|0)+20>>2]|0;if(!i)e=j;else{g=f[X>>2]|0;a=0;e=ca;do{a=(f[e+16>>2]|0)+a|0;e=f[e+12>>2]|0}while((e|0)!=0);e=f[j+8+(k*72|0)+8>>2]|0;if(e|0)f[X>>2]=e;f[Z>>2]=146;f[_>>2]=147;f[$>>2]=0;f[Ga>>2]=Pa;f[aa>>2]=ca;yk(Ga,i)|0;f[X>>2]=g;if(f[ba>>2]|0){Oa=2;H=188;break a}if(b[r>>0]|0){Oa=2;H=188;break a}e=ca;do{a=a-(f[e+16>>2]|0)|0;e=f[e+12>>2]|0}while((e|0)!=0);e=j+8+(k*72|0)+37|0;b[e>>0]=b[e>>0]&-9|((a|0)!=0&1)<<3&255;a=f[n>>2]|0;e=a}k=k+1|0;if((k|0)>=(f[e>>2]|0))break;else j=e}}while(0);d[Q>>1]=16385;f[V>>2]=a;f[W>>2]=ca;k=f[p>>2]|0;if((k|0)!=0?(f[k>>2]|0)>0:0){j=0;a=16385;do{g=f[k+4+(j*20|0)>>2]|0;if(g){e=a&65535;d[Q>>1]=e&61423;ha=f[ga>>2]|0;f[Ga>>2]=ha;f[u>>2]=146;f[v>>2]=147;f[w>>2]=0;f[x>>2]=ga;a=g+24|0;ia=ha;l=ia+204|0;m=(f[l>>2]|0)+(f[a>>2]|0)|0;f[l>>2]=m;ia=f[(f[ia>>2]|0)+120>>2]|0;if((ia|0)<(m|0)){H=46;break a}oi(Ga,g)|0;i=f[Ga>>2]|0;m=i+204|0;f[m>>2]=(f[m>>2]|0)-(f[a>>2]|0);a=d[Q>>1]|0;if(a&16){m=g+4|0;f[m>>2]=f[m>>2]|2}a=(e&4112|a&65535)&65535;d[Q>>1]=a;if((f[s>>2]|0)>0){H=50;break a}if((f[i+36>>2]|0)>=1){Oa=2;H=188;break a}}j=j+1|0}while((j|0)<(f[k>>2]|0))}else a=16385;e=a&-16385;d[Q>>1]=e;m=f[p+40>>2]|0;l=(m|0)!=0;if(!l?(da=e&65535,(da&16|0)==0):0){e=da&49150;d[Q>>1]=e}else f[o>>2]=f[o>>2]|(a&4096|8)&65535;i=f[p+44>>2]|0;g=(i|0)==0;if(!(l|g)){H=57;break}f[y>>2]=f[p>>2];a=e|128;d[Q>>1]=a;if(!g){e=a&65535;d[Q>>1]=e&61423;ja=f[ga>>2]|0;f[Ga>>2]=ja;f[z>>2]=146;f[A>>2]=147;f[B>>2]=0;f[C>>2]=ga;a=i+24|0;ka=ja;j=ka+204|0;k=(f[j>>2]|0)+(f[a>>2]|0)|0;f[j>>2]=k;ka=f[(f[ka>>2]|0)+120>>2]|0;if((ka|0)<(k|0)){H=61;break}oi(Ga,i)|0;g=f[Ga>>2]|0;k=g+204|0;f[k>>2]=(f[k>>2]|0)-(f[a>>2]|0);a=d[Q>>1]|0;if(a&16){k=i+4|0;f[k>>2]=f[k>>2]|2}a=(e&4112|a&65535)&65535;d[Q>>1]=a;if((f[s>>2]|0)>0){H=65;break}if((f[g+36>>2]|0)>=1){Oa=2;H=188;break}}g=f[p+36>>2]|0;if(g){e=a&65535;d[Q>>1]=e&61423;la=f[ga>>2]|0;f[Ga>>2]=la;f[D>>2]=146;f[E>>2]=147;f[F>>2]=0;f[G>>2]=ga;a=g+24|0;ma=la;j=ma+204|0;k=(f[j>>2]|0)+(f[a>>2]|0)|0;f[j>>2]=k;ma=f[(f[ma>>2]|0)+120>>2]|0;if((ma|0)<(k|0)){H=70;break}oi(Ga,g)|0;i=f[Ga>>2]|0;k=i+204|0;f[k>>2]=(f[k>>2]|0)-(f[a>>2]|0);a=d[Q>>1]|0;if(a&16){k=g+4|0;f[k>>2]=f[k>>2]|2}a=(e&4112|a&65535)&65535;d[Q>>1]=a;if((f[s>>2]|0)>0){H=74;break}if((f[i+36>>2]|0)>=1){Oa=2;H=188;break}}e=f[n>>2]|0;if((f[e>>2]|0)>0){k=0;do{if(((b[e+8+(k*72|0)+37>>0]&4)!=0?(fa=f[e+8+(k*72|0)+64>>2]|0,(fa|0)!=0):0)?(f[fa>>2]|0)>0:0){j=0;do{g=f[fa+4+(j*20|0)>>2]|0;if(g){e=a&65535;d[Q>>1]=e&61423;na=f[ga>>2]|0;f[Ga>>2]=na;f[H>>2]=146;f[I>>2]=147;f[J>>2]=0;f[K>>2]=ga;a=g+24|0;oa=na;Sa=oa+204|0;i=(f[Sa>>2]|0)+(f[a>>2]|0)|0;f[Sa>>2]=i;oa=f[(f[oa>>2]|0)+120>>2]|0;if((oa|0)<(i|0)){H=86;break a}oi(Ga,g)|0;i=f[Ga>>2]|0;Sa=i+204|0;f[Sa>>2]=(f[Sa>>2]|0)-(f[a>>2]|0);a=d[Q>>1]|0;if(a&16){Sa=g+4|0;f[Sa>>2]=f[Sa>>2]|2}a=(e&4112|a&65535)&65535;d[Q>>1]=a;if((f[s>>2]|0)>0){H=90;break a}if((f[i+36>>2]|0)>=1){Oa=2;H=188;break a}}j=j+1|0}while((j|0)<(f[fa>>2]|0))}k=k+1|0;e=f[n>>2]|0}while((k|0)<(f[e>>2]|0))}f[W>>2]=0;d[Q>>1]=a|16385;if(f[o>>2]&65536|0){Sa=(f[e+28>>2]|0)+48|0;f[p+48>>2]=f[Sa>>2];f[Sa>>2]=0}if(q>>>0>=O>>>0?zk(ga,p,f[p+48>>2]|0,49126)|0:0){Oa=2;H=188;break}if(b[r>>0]|0){Oa=2;H=188;break}d[Q>>1]=d[Q>>1]&-16385;if(l){if(zk(ga,p,m,49132)|0){Oa=2;H=188;break}if(b[r>>0]|0){Oa=2;H=188;break}g=f[m>>2]|0;if((g|0)>0){a=m+4|0;e=0;while(1){if(f[(f[a>>2]|0)+4>>2]&2|0){H=104;break a}e=e+1|0;if((e|0)>=(g|0))break;else a=a+20|0}}}pa=f[p+56>>2]|0;if(pa|0?(f[f[p>>2]>>2]|0)!=(f[f[pa>>2]>>2]|0):0){H=108;break}a=f[p+52>>2]|0;if(!a){H=117;break}p=a;q=q+1|0;a=f[a+8>>2]|0}switch(H|0){case 9:{f[ra>>2]=qa;ni(Pa,42710,ra);H=13;break}case 46:{f[sa>>2]=ia;ni(ha,42710,sa);H=50;break}case 57:{ni(Pa,49082,wa);Sa=2;t=Ra;return Sa|0}case 61:{f[xa>>2]=ka;ni(ja,42710,xa);H=65;break}case 70:{f[ya>>2]=ma;ni(la,42710,ya);H=74;break}case 86:{f[ta>>2]=oa;ni(na,42710,ta);H=90;break}case 104:{ni(Pa,49138,ua);Sa=2;t=Ra;return Sa|0}case 108:{if(f[pa+8>>2]&512|0){ni(Pa,49197,va);Sa=2;t=Ra;return Sa|0}switch(b[pa+4>>0]|0){case 124:{c=49266;break}case 126:{c=49256;break}case 125:{c=49249;break}default:c=49243}f[za>>2]=c;ni(Pa,49276,za);Sa=2;t=Ra;return Sa|0}case 117:{if(!ea){Sa=1;t=Ra;return Sa|0}G=f[c+48>>2]|0;if(!G){Sa=1;t=Ra;return Sa|0}F=f[Pa>>2]|0;e=f[G>>2]|0;if((e|0)>(f[F+116>>2]|0)){ni(Pa,49358,Ba);Sa=2;t=Ra;return Sa|0}if((e|0)>0){a=0;do{Sa=G+4+(a*20|0)+13|0;b[Sa>>0]=b[Sa>>0]&-2;a=a+1|0}while((a|0)!=(e|0))}f[c+56>>2]=0;a=f[Aa>>2]|0;if(a)while(1){f[a+56>>2]=c;c=f[a+52>>2]|0;if(!c){c=a;break}else{Sa=a;a=c;c=Sa}}q=G+4|0;r=Ga+4|0;s=F+81|0;u=Ha+12|0;v=Ha+4|0;w=Ha+8|0;x=Ha+24|0;y=Ha+20|0;z=Pa;A=Ga+4|0;B=Ga+8|0;C=Ga+12|0;D=Ga+24|0;E=Pa+204|0;a=e;c:while(1){p=f[c>>2]|0;if((a|0)<=0){Oa=1;H=188;break}o=c+32|0;n=q;m=0;Ea=0;while(1){f[Ia>>2]=-1;l=n+13|0;d:do if(!(b[l>>0]&1)){a=f[n>>2]|0;e:do if(!a)a=0;else while(1){e=f[a+4>>2]|0;if(!(e&4096))break e;if(!(e&262144))a=a+12|0;else a=(f[a+20>>2]|0)+4|0;a=f[a>>2]|0;if(!a){a=0;break}}while(0);f:do if(!(Ak(a,Ia)|0)){do if((b[a>>0]|0)==59?(Ja=f[a+8>>2]|0,Ka=f[p>>2]|0,(Ka|0)>0):0){j=0;while(1){g=f[p+4+(j*20|0)+4>>2]|0;if(g|0){Sa=b[g>>0]|0;e=(h[1232+(Sa&255)>>0]|0)-(h[1232+(h[Ja>>0]|0)>>0]|0)|0;if(!(Sa<<24>>24==0|(e|0)!=0)){i=Ja;do{g=g+1|0;i=i+1|0;Sa=b[g>>0]|0;e=(h[1232+(Sa&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(Sa<<24>>24==0|(e|0)!=0))}if(!e){H=152;break}}e=j+1|0;if((e|0)<(Ka|0))j=e;else{H=151;break}}if((H|0)==151){H=0;f[Ia>>2]=0;if(!a){La=0;break}else{H=153;break}}else if((H|0)==152){H=0;e=j+1|0;f[Ia>>2]=e;break f}}else H=150;while(0);if((H|0)==150){f[Ia>>2]=0;H=153}if((H|0)==153){H=0;La=Bk(F,a,0,0)|0}if(!(b[s>>0]|0)){k=f[c>>2]|0;f[u>>2]=0;f[u+4>>2]=0;f[u+8>>2]=0;f[u+12>>2]=0;f[u+16>>2]=0;f[Ha>>2]=Pa;f[v>>2]=f[o>>2];f[w>>2]=k;d[x>>1]=129;f[y>>2]=0;e=f[Pa>>2]|0;g=e+85|0;i=b[g>>0]|0;b[g>>0]=1;g:do if(!La){b[g>>0]=i;H=164}else{d[x>>1]=129;f[Ga>>2]=z;f[A>>2]=146;f[B>>2]=147;f[C>>2]=0;f[D>>2]=Ha;j=La+24|0;Sa=(f[E>>2]|0)+(f[j>>2]|0)|0;f[E>>2]=Sa;e=f[e+120>>2]|0;do if((e|0)>=(Sa|0)){oi(Ga,La)|0;e=f[Ga>>2]|0;Sa=e+204|0;f[Sa>>2]=(f[Sa>>2]|0)-(f[j>>2]|0);if(d[x>>1]&16){Sa=La+4|0;f[Sa>>2]=f[Sa>>2]|2}if((f[y>>2]|0)>0)break;Sa=(f[e+36>>2]|0)<1;b[g>>0]=i;if(Sa){H=164;break g}else{Da=0;break g}}else{f[Na>>2]=e;ni(Pa,42710,Na)}while(0);b[g>>0]=i;Da=0}while(0);h:do if((H|0)==164){H=0;if((f[k>>2]|0)<=0){Da=0;break}e=0;while(1){Sa=e;e=e+1|0;if((Ck(0,f[k+4+(Sa*20|0)>>2]|0,La,-1)|0)<2){Da=e;break h}if((e|0)>=(f[k>>2]|0)){Da=0;break}}}while(0);f[Ia>>2]=Da;e=Da}else e=0;if(La|0)ig(F,La);if((e|0)<=0){a=1;break d}}else{e=f[Ia>>2]|0;Fa=f[p>>2]|0;if((e|0)<1|(e|0)>(Fa|0)){H=140;break c}}while(0);f[Ga>>2]=0;f[r>>2]=0;j=Dk(F,143,Ga,0)|0;if(!j)break c;g=j+4|0;f[g>>2]=f[g>>2]|1024;f[j+8>>2]=e;g=f[n>>2]|0;if((g|0)==(a|0))g=n;else{while(1){i=f[g+12>>2]|0;if((b[i>>0]|0)==102)g=i;else break}g=g+12|0}f[g>>2]=j;if(a|0)ig(F,a);d[n+16>>1]=e;b[l>>0]=b[l>>0]|1;a=m}else a=m;while(0);e=Ea+1|0;Ca=f[G>>2]|0;if((e|0)<(Ca|0)){n=n+20|0;m=a;Ea=e}else break}c=f[c+56>>2]|0;if((a|0)!=0&(c|0)!=0)a=Ca;else{H=183;break}}if((H|0)==140){f[Ma>>2]=Ea+1;f[Ma+4>>2]=49126;f[Ma+8>>2]=Fa;ni(Pa,49392,Ma)}else if((H|0)==183){if((Ca|0)<=0){Sa=1;t=Ra;return Sa|0}c=0;while(1){Sa=c;c=c+1|0;if(!(b[G+4+(Sa*20|0)+13>>0]&1))break;if((c|0)>=(Ca|0)){Oa=1;H=188;break}}if((H|0)==188){t=Ra;return Oa|0}f[Qa>>2]=c;ni(Pa,49448,Qa);Sa=2;t=Ra;return Sa|0}else if((H|0)==188){t=Ra;return Oa|0}Sa=2;t=Ra;return Sa|0}case 188:{t=Ra;return Oa|0}}if((H|0)==13){Sa=2;t=Ra;return Sa|0}else if((H|0)==50){Sa=2;t=Ra;return Sa|0}else if((H|0)==65){Sa=2;t=Ra;return Sa|0}else if((H|0)==74){Sa=2;t=Ra;return Sa|0}else if((H|0)==90){Sa=2;t=Ra;return Sa|0}return 0}function ni(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=t;t=t+112|0;k=n+88|0;o=n;m=f[a>>2]|0;f[o>>2]=d;g=f[m+108>>2]|0;i=k+4|0;f[i>>2]=n+16;f[k>>2]=m;f[k+8>>2]=70;e=k+12|0;f[e>>2]=g;g=k+16|0;f[g>>2]=0;j=k+20|0;b[j>>0]=0;h=k+21|0;b[h>>0]=1;Bc(k,c,o);d=f[i>>2]|0;if(((d|0)!=0?(b[d+(f[g>>2]|0)>>0]=0,(f[e>>2]|0)!=0):0)?(b[h>>0]&4)==0:0)e=Cc(k)|0;else e=f[i>>2]|0;if(((b[j>>0]|0)==7?(l=m+81|0,(b[l>>0]|0)==0):0)?(b[m+82>>0]|0)==0:0){b[l>>0]=1;if((f[m+180>>2]|0)>0)f[m+264>>2]=1;o=m+272|0;f[o>>2]=(f[o>>2]|0)+1}if(!(b[m+85>>0]|0)){d=a+36|0;f[d>>2]=(f[d>>2]|0)+1;d=a+4|0;c=f[d>>2]|0;do if(c|0){if(f[m+480>>2]|0){Kc(m,c);break}o=c;if((f[m+304>>2]|0)>>>0<=o>>>0?(f[m+308>>2]|0)>>>0>o>>>0:0){o=m+300|0;f[c>>2]=f[o>>2];f[o>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{o=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);f[d>>2]=e;f[a+12>>2]=1;t=n;return}if(!e){t=n;return}if(f[m+480>>2]|0){Kc(m,e);t=n;return}o=e;if((f[m+304>>2]|0)>>>0<=o>>>0?(f[m+308>>2]|0)>>>0>o>>>0:0){o=m+300|0;f[e>>2]=f[o>>2];f[o>>2]=e;t=n;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);t=n;return}else{o=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);t=n;return}}function oi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;d=jb[f[e>>2]&255](a,c)|0;a:do if(!d){p=c;while(1){if(f[p+4>>2]&8404992|0){h=0;c=54;break}c=f[p+12>>2]|0;if(c|0?oi(a,c)|0:0){h=2;c=54;break}d=f[p+16>>2]|0;if(!d){c=9;break}c=jb[f[e>>2]&255](a,d)|0;if(!c)p=d;else{g=c;break a}}if((c|0)==9){k=p+4|0;b:do if(!(f[k>>2]&2048)){c=f[p+20>>2]|0;if(c|0?(j=f[c>>2]|0,(j|0)>0):0){e=c+4|0;c=j;while(1){d=f[e>>2]|0;if(d|0?oi(a,d)|0:0){h=2;break}if((c|0)>1){e=e+20|0;c=c+-1|0}else break b}return h|0}}else{d=f[p+20>>2]|0;if(d|0?(m=a+8|0,i=f[m>>2]|0,i|0):0){j=a+12|0;c=jb[i&255](a,d)|0;c:do if(!c){d:while(1){if(xk(a,d)|0){h=2;c=54;break}c=f[d+32>>2]|0;e=f[c>>2]|0;if((e|0)>0){i=c+8|0;while(1){c=f[i+20>>2]|0;if(c|0?yk(a,c)|0:0){h=2;c=54;break d}if((b[i+37>>0]&4?(n=f[i+64>>2]|0,n|0):0)?(o=f[n>>2]|0,(o|0)>0):0){c=n+4|0;g=o;while(1){h=f[c>>2]|0;if(h|0?oi(a,h)|0:0){h=2;c=54;break d}if((g|0)>1){c=c+20|0;g=g+-1|0}else break}}if((e|0)>1){i=i+72|0;e=e+-1|0}else break}}c=f[j>>2]|0;if(c|0)pb[c&127](a,d);d=f[d+52>>2]|0;if(!d)break b;c=jb[f[m>>2]&255](a,d)|0;if(c|0){l=c;break c}}if((c|0)==54)return h|0}else l=c;while(0);if(l&2|0){a=2;return a|0}}}while(0);if(!(f[k>>2]&16777216)){a=0;return a|0}g=f[p+44>>2]|0;c=f[g+4>>2]|0;e:do if(c|0?(q=f[c>>2]|0,(q|0)>0):0){e=c+4|0;c=q;while(1){d=f[e>>2]|0;if(d|0?oi(a,d)|0:0){h=2;break}if((c|0)>1){e=e+20|0;c=c+-1|0}else break e}return h|0}while(0);c=f[g+8>>2]|0;f:do if(c|0?(r=f[c>>2]|0,(r|0)>0):0){e=c+4|0;c=r;while(1){d=f[e>>2]|0;if(d|0?oi(a,d)|0:0){h=2;break}if((c|0)>1){e=e+20|0;c=c+-1|0}else break f}return h|0}while(0);c=f[g+28>>2]|0;if(c|0?oi(a,c)|0:0){a=2;return a|0}a=0;return a|0}else if((c|0)==54)return h|0}else g=d;while(0);a=g&2;return a|0}function pi(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=t;t=t+48|0;D=E+24|0;C=E+8|0;B=E;A=E+32|0;s=f[a>>2]|0;p=s+24|0;k=f[p>>2]|0;a:do if((k&8|0)==0?(b[s+165>>0]|0)==0:0){n=a+4|0;l=(k&1|0)==0;m=s+16|0;y=f[(f[m>>2]|0)+12>>2]|0;b[s+78>>0]=b[y+77>>0]|0;if(!((d[y+78>>1]&1)==0?(i=qi(s,0,n,0)|0,(i|0)!=0):0))w=5;b:do if((w|0)==5){i=f[s+20>>2]|0;if((i|0)>1)do{k=i;i=i+-1|0;if((d[(f[(f[m>>2]|0)+(i<<4)+12>>2]|0)+78>>1]&1)==0?(o=qi(s,i,n,0)|0,o|0):0){i=o;break b}}while((k|0)>2);if(l)f[p>>2]=f[p>>2]&-2;if(!(b[s+89>>0]|0))break a;f[p>>2]=f[p>>2]|8;break a}while(0);f[a+12>>2]=i;a=a+36|0;f[a>>2]=(f[a>>2]|0)+1;a=0;t=E;return a|0}while(0);i=ji(s,e,g)|0;if(i|0){a=i;t=E;return a|0}y=(c&1|0)==0?42758:42772;m=f[s+348>>2]|0;if(!m){k=s+340|0;i=s+344|0}else{k=b[e>>0]|0;if(!(k<<24>>24))i=0;else{i=0;l=e;do{l=l+1|0;i=U(i+(h[1232+(k&255)>>0]|0)|0,-1640531535)|0;k=b[l>>0]|0}while(k<<24>>24!=0)}i=(i>>>0)%((f[s+336>>2]|0)>>>0)|0;k=m+(i<<3)|0;i=m+(i<<3)+4|0}k=f[k>>2]|0;c:do if(!k)i=72124;else{o=h[1232+(h[e>>0]|0)>>0]|0;while(1){i=f[i>>2]|0;k=k+-1|0;m=f[i+12>>2]|0;v=b[m>>0]|0;l=(h[1232+(v&255)>>0]|0)-o|0;if(!(v<<24>>24==0|(l|0)!=0)){n=e;do{m=m+1|0;n=n+1|0;v=b[m>>0]|0;l=(h[1232+(v&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(v<<24>>24==0|(l|0)!=0))}if(!l)break c;if(!k){i=72124;break}}}while(0);l=f[i+8>>2]|0;d:do if(!((e|0)==0|(l|0)!=0)){i=b[e>>0]|0;do if(!(i<<24>>24)){i=42785;w=31}else{v=i&255;i=1232+v|0;if((v|32|0)==112){i=b[e+1>>0]|0;if(!(i<<24>>24)){i=42786;w=31;break}v=i&255;i=1232+v|0;if((v|32|0)==114){i=b[e+2>>0]|0;if(!(i<<24>>24)){i=42787;w=31;break}v=i&255;i=1232+v|0;if((v|32|0)==97){i=b[e+3>>0]|0;if(!(i<<24>>24)){i=42788;w=31;break}v=i&255;i=1232+v|0;if((v|32|0)==103){i=b[e+4>>0]|0;if(!(i<<24>>24)){i=42789;w=31;break}v=i&255;i=1232+v|0;if((v|32|0)==109){i=b[e+5>>0]|0;if(!(i<<24>>24)){i=42790;w=31;break}v=i&255;i=1232+v|0;if((v|32|0)==97){i=b[e+6>>0]|0;if(!(i<<24>>24)){i=42791;w=31;break}if(i<<24>>24==95)break;else{k=95;i=1232+(i&255)|0}}else k=97}else k=109}else k=103}else k=97}else k=114}else k=112;r=h[i>>0]|0;q=k;w=35}while(0);if((w|0)==31){r=0;q=b[1232+(h[i>>0]|0)>>0]|0;w=35}if((w|0)==35?(r|0)!=(q&255|0):0){z=l;w=48;break}p=e+7|0;v=b[p>>0]|0;q=h[1232+(v&255)>>0]|0;e:do if(!(v<<24>>24)){k=0;l=59;while(1){i=(k+l|0)/2|0;m=q-(h[1232+(h[f[6080+(i<<4)>>2]>>0]|0)>>0]|0)|0;if(!m)break e;v=(m|0)<0;k=v?k:i+1|0;l=v?i+-1|0:l;if((k|0)>(l|0))break d}}else{n=0;o=59;while(1){i=(n+o|0)/2|0;l=f[6080+(i<<4)>>2]|0;k=q-(h[1232+(h[l>>0]|0)>>0]|0)|0;if(!k){m=p;do{m=m+1|0;l=l+1|0;v=b[m>>0]|0;k=(h[1232+(v&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(v<<24>>24==0|(k|0)!=0));if(!k)break e}v=(k|0)<0;n=v?n:i+1|0;o=v?i+-1|0:o;if((n|0)>(o|0))break d}}while(0);if(b[6080+(i<<4)+5>>0]&48){z=ri(s,e,38052,6080+(i<<4)|0,0)|0;w=48}}else{z=l;w=48}while(0);f:do if((w|0)==48?z|0:0){s=f[z>>2]|0;f[A>>2]=0;u=f[a>>2]|0;v=z+16|0;i=f[v>>2]|0;g:do if(!i){r=f[s+4>>2]|0;if(!((r|0)!=0?(r|0)!=(f[s+8>>2]|0):0))w=52;h:do if((w|0)==52){q=(u|0)==0;i:do if(q){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](80)|0;w=75;break}i=ib[f[37372>>2]&255](80)|0;if((f[18194]|0)>>>0<80)f[18194]=80;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){r=f[18187]|0;p=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;o=ba()|0;f[17976]=((o|0)<0|(o|0)==0&p>>>0<=r>>>0)&1}k=ib[f[37356>>2]&255](i)|0;if(!k)break h;i=ib[f[37368>>2]&255](k)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0>(f[18196]|0)>>>0)f[18196]=i}else{if(f[u+272>>2]|0){if(b[u+81>>0]|0)break h}else{do if((j[u+276>>1]|0)>=80){k=u+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=75;break i}k=u+296|0;i=f[k>>2]|0;if(!i){i=u+292|0;break}else{f[k>>2]=f[i>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=75;break i}}else i=u+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(u,80,0)|0;w=75}while(0);if((w|0)==75)if(!i)break;else k=i;i=k;l=i+80|0;do{b[i>>0]=0;i=i+1|0}while((i|0)<(l|0));n=f[z+4>>2]|0;j:do if(!n)w=104;else{o=(wz(n)|0)+1|0;k:do if(q){r=KA(o|0,0,-1,-1)|0;p=ba()|0;do if(!(p>>>0>0|(p|0)==0&r>>>0>2147483390)){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](o)|0;w=102;break k}i=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){r=f[18187]|0;p=LA(l|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;m=ba()|0;f[17976]=((m|0)<0|(m|0)==0&p>>>0<=r>>>0)&1}l=ib[f[37356>>2]&255](i)|0;if(!l)break;i=ib[f[37368>>2]&255](l)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0<=(f[18196]|0)>>>0){p=l;break k}f[18196]=i;p=l;break k}while(0);f[k>>2]=0;break j}else{if(f[u+272>>2]|0){if(b[u+81>>0]|0){f[k>>2]=0;w=105;break j}}else{do if(!(0<0|(0==0?(j[u+276>>1]|0)>>>0>>0:0))){l=u+300|0;i=f[l>>2]|0;if(i|0){f[l>>2]=f[i>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=102;break k}l=u+296|0;i=f[l>>2]|0;if(!i){i=u+292|0;break}else{f[l>>2]=f[i>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=102;break k}}else i=u+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(u,o,0)|0;w=102}while(0);if((w|0)==102)if(!i){w=104;break}else p=i;YA(p|0,n|0,o|0)|0;f[k>>2]=p;f[v>>2]=k;f[k+32>>2]=1;f[k+72>>2]=f[(f[u+16>>2]|0)+12>>2];d[k+40>>1]=-1;n=(wz(p)|0)+1|0;l:do if(q){r=KA(n|0,0,-1,-1)|0;q=ba()|0;if(q>>>0>0|(q|0)==0&r>>>0>2147483390)i=0;else{if(!(f[9328]|0)){i=ib[f[37356>>2]&255](n)|0;w=137;break}i=ib[f[37372>>2]&255](n)|0;if((f[18194]|0)>>>0>>0)f[18194]=n;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){r=f[18187]|0;q=LA(l|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;o=ba()|0;f[17976]=((o|0)<0|(o|0)==0&q>>>0<=r>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){i=0;break}l=ib[f[37368>>2]&255](i)|0;l=(f[18187]|0)+l|0;f[18187]=l;if(l>>>0>(f[18191]|0)>>>0)f[18191]=l;l=(f[18190]|0)+1|0;f[18190]=l;if(l>>>0<=(f[18196]|0)>>>0){w=138;break}f[18196]=l;w=138}}else{if(f[u+272>>2]|0){if(b[u+81>>0]|0){i=0;break}}else{do if(!(0<0|(0==0?(j[u+276>>1]|0)>>>0>>0:0))){l=u+300|0;i=f[l>>2]|0;if(i|0){f[l>>2]=f[i>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=137;break l}l=u+296|0;i=f[l>>2]|0;if(!i){i=u+292|0;break}else{f[l>>2]=f[i>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=137;break l}}else i=u+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(u,n,0)|0;w=137}while(0);if((w|0)==137)if(!i)i=0;else w=138;if((w|0)==138)YA(i|0,p|0,n|0)|0;q=k+56|0;m=f[q>>2]|0;o=(m<<2)+8|0;r=k+60|0;l=f[r>>2]|0;p=((o|0)<0)<<31>>31;m:do if(!l){if(f[u+272>>2]|0){if(b[u+81>>0]|0){w=158;break}}else{do if(!(0

>>0|(0==(p|0)?(j[u+276>>1]|0)>>>0>>0:0))){m=u+300|0;l=f[m>>2]|0;if(l|0){f[m>>2]=f[l>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=156;break m}m=u+296|0;l=f[m>>2]|0;if(!l){l=u+292|0;break}else{f[m>>2]=f[l>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=156;break m}}else l=u+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1}l=Dc(u,o,p)|0;w=156}else{n=l;do if((f[u+304>>2]|0)>>>0<=n>>>0){if((f[u+308>>2]|0)>>>0<=n>>>0)break;if(!(0

>>0|(0==(p|0)?(j[u+276>>1]|0)>>>0>>0:0))){w=167;break m}l=Lc(u,l,o,p)|0;w=156;break m}while(0);l=Lc(u,l,o,p)|0;w=156}while(0);if((w|0)==156)if(!l)w=158;else{m=f[q>>2]|0;w=167}n:do if((w|0)==158){o:do if(i|0){if(f[u+480>>2]|0){Kc(u,i);break}l=i;do if((f[u+304>>2]|0)>>>0<=l>>>0){if((f[u+308>>2]|0)>>>0<=l>>>0)break;p=u+300|0;f[i>>2]=f[p>>2];f[p>>2]=i;break o}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{p=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);l=f[r>>2]|0;i=f[q>>2]|0;n=(i<<2)+8|0;o=((n|0)<0)<<31>>31;if(!l){if(f[u+272>>2]|0){if(b[u+81>>0]|0)break}else{do if(!(0>>0|(0==(o|0)?(j[u+276>>1]|0)>>>0>>0:0))){i=u+300|0;l=f[i>>2]|0;if(l|0){f[i>>2]=f[l>>2];x=u+284|0;f[x>>2]=(f[x>>2]|0)+1;x=l;w=185;break n}i=u+296|0;l=f[i>>2]|0;if(!l){i=u+292|0;break}else{f[i>>2]=f[l>>2];x=u+284|0;f[x>>2]=(f[x>>2]|0)+1;x=l;w=185;break n}}else i=u+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}x=Dc(u,n,o)|0;w=185}else w=180}else if((w|0)==167){x=m+1|0;f[q>>2]=x;f[l+(m<<2)>>2]=i;f[l+(x<<2)>>2]=0;f[r>>2]=l;n=(x<<2)+8|0;o=((n|0)<0)<<31>>31;i=x;w=180}while(0);p:do if((w|0)==180){m=l;do if((f[u+304>>2]|0)>>>0<=m>>>0){if((f[u+308>>2]|0)>>>0<=m>>>0)break;if(!(o>>>0>0|((o|0)==0?n>>>0>(j[u+276>>1]|0)>>>0:0))){w=187;break p}x=Lc(u,l,n,o)|0;w=185;break p}while(0);x=Lc(u,l,n,o)|0;w=185}while(0);if((w|0)==185?x|0:0){l=x;i=f[q>>2]|0;w=187}if((w|0)==187){x=i+1|0;f[q>>2]=x;f[l+(i<<2)>>2]=0;f[l+(x<<2)>>2]=0;f[r>>2]=l}m=f[k>>2]|0;q:do if(!m)p=0;else{n=(wz(m)|0)+1|0;r:do if(f[u+272>>2]|0)if(!(b[u+81>>0]|0))w=199;else{p=0;break q}else{do if(!(0<0|(0==0?(j[u+276>>1]|0)>>>0>>0:0))){l=u+300|0;i=f[l>>2]|0;if(i|0){f[l>>2]=f[i>>2];x=u+284|0;f[x>>2]=(f[x>>2]|0)+1;break r}l=u+296|0;i=f[l>>2]|0;if(!i){i=u+292|0;break}else{f[l>>2]=f[i>>2];x=u+284|0;f[x>>2]=(f[x>>2]|0)+1;break r}}else i=u+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;w=199}while(0);if((w|0)==199)i=Dc(u,n,0)|0;if(!i){p=0;break}YA(i|0,m|0,n|0)|0;p=i}while(0);l=f[q>>2]|0;n=(l<<2)+8|0;i=f[r>>2]|0;o=((n|0)<0)<<31>>31;s:do if(!i){if(f[u+272>>2]|0){if(b[u+81>>0]|0){w=221;break}}else{do if(!(0>>0|(0==(o|0)?(j[u+276>>1]|0)>>>0>>0:0))){l=u+300|0;i=f[l>>2]|0;if(i|0){f[l>>2]=f[i>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=219;break s}l=u+296|0;i=f[l>>2]|0;if(!i){i=u+292|0;break}else{f[l>>2]=f[i>>2];w=u+284|0;f[w>>2]=(f[w>>2]|0)+1;w=219;break s}}else i=u+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(u,n,o)|0;w=219}else{m=i;do if((f[u+304>>2]|0)>>>0<=m>>>0){if((f[u+308>>2]|0)>>>0<=m>>>0)break;if(!(0>>0|(0==(o|0)?(j[u+276>>1]|0)>>>0>>0:0))){w=230;break s}i=Lc(u,i,n,o)|0;w=219;break s}while(0);i=Lc(u,i,n,o)|0;w=219}while(0);do if((w|0)==219){if(!i){w=221;break}l=f[q>>2]|0;w=230}while(0);t:do if((w|0)==221){if(!p)break;if(f[u+480>>2]|0){Kc(u,p);break}i=p;do if((f[u+304>>2]|0)>>>0<=i>>>0){if((f[u+308>>2]|0)>>>0<=i>>>0)break;x=u+300|0;f[p>>2]=f[x>>2];f[x>>2]=p;break t}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](p);break}else{x=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);break}}else if((w|0)==230){x=l+1|0;f[q>>2]=x;f[i+(l<<2)>>2]=p;f[i+(x<<2)>>2]=0;f[r>>2]=i}while(0);if(!(si(u,k,z,f[s+8>>2]|0,A)|0)){i=f[v>>2]|0;break g}k=f[A>>2]|0;f[B>>2]=k;ni(a,40840,B);u:do if(k|0){if(f[u+480>>2]|0){Kc(u,k);break}i=k;do if((f[u+304>>2]|0)>>>0<=i>>>0){if((f[u+308>>2]|0)>>>0<=i>>>0)break;B=u+300|0;f[k>>2]=f[B>>2];f[B>>2]=k;break u}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{B=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);i=f[v>>2]|0;if(!i)break h;B=i+36|0;f[B>>2]=f[B>>2]|2;do if(!(f[u+480>>2]|0)){A=i+32|0;B=(f[A>>2]|0)+-1|0;f[A>>2]=B;if(B|0)break;hg(u,i)}else hg(u,i);while(0);f[v>>2]=0;break h}while(0);if((w|0)==104?(f[k>>2]=0,!q):0)w=105;if((w|0)==105){if(f[u+480>>2]|0){Kc(u,k);break}B=k;if((f[u+304>>2]|0)>>>0<=B>>>0?(f[u+308>>2]|0)>>>0>B>>>0:0){B=u+300|0;f[k>>2]=f[B>>2];f[B>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{B=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);break f}while(0);a=i;t=E;return a|0}while(0);if(c&2|0){a=0;t=E;return a|0}if(!g){f[D>>2]=y;f[D+4>>2]=e;ni(a,42803,D)}else{f[C>>2]=y;f[C+4>>2]=g;f[C+8>>2]=e;ni(a,42793,C)}b[a+17>>0]=1;a=0;t=E;return a|0}function qi(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=t;t=t+48|0;y=H+16|0;D=H;B=H+24|0;G=a+165|0;b[G>>0]=1;x=(c|0)==1?48842:43770;f[D>>2]=x;f[D+4>>2]=48861;f[D+8>>2]=48863;f[D+12>>2]=0;f[B>>2]=a;f[B+8>>2]=c;z=B+12|0;f[z>>2]=0;f[B+4>>2]=e;f[B+16>>2]=g;vj(B,3,D,0)|0;g=f[z>>2]|0;a:do if(!g){A=a+16|0;v=f[A>>2]|0;D=v+(c<<4)+4|0;g=f[D>>2]|0;if(!g){a=(f[v+28>>2]|0)+78|0;d[a>>1]=d[a>>1]|1;a=0;b[G>>0]=0;t=H;return a|0}l=f[g>>2]|0;m=f[g+4>>2]|0;k=m+4|0;f[k>>2]=l;b:do if(!(b[g+8>>0]|0)){m=Li(g,0,0)|0;switch(m|0){case 0:{l=f[D>>2]|0;m=f[l+4>>2]|0;C=1;k=m+4|0;l=f[l>>2]|0;break b}case 516:{l=44816;break}case 100:{l=44794;break}case 101:{l=44771;break}default:{i=m&255;if(i>>>0<29?(520028155>>>i&1|0)!=0:0)l=f[7984+(i<<2)>>2]|0;else l=44757}}i=f[e>>2]|0;do if(i|0){if(f[a+480>>2]|0){Kc(a,i);break}F=i;if((f[a+304>>2]|0)>>>0<=F>>>0?(f[a+308>>2]|0)>>>0>F>>>0:0){F=a+300|0;f[i>>2]=f[F>>2];f[F>>2]=i;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{F=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-F;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);c:do if(l){k=(wz(l)|0)+1|0;d:do if(f[a+272>>2]|0)if(!(b[a+81>>0]|0))E=32;else{i=0;break c}else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){g=a+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];F=a+284|0;f[F>>2]=(f[F>>2]|0)+1;break d}g=a+296|0;i=f[g>>2]|0;if(!i){i=a+292|0;break}else{f[g>>2]=f[i>>2];F=a+284|0;f[F>>2]=(f[F>>2]|0)+1;break d}}else i=a+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;E=32}while(0);if((E|0)==32)i=Dc(a,k,0)|0;if(i)YA(i|0,l|0,k|0)|0;else i=0}else i=0;while(0);f[e>>2]=i;i=m;break a}else C=0;while(0);f[k>>2]=l;u=f[(f[m+12>>2]|0)+56>>2]|0;p=b[u+40>>0]|0;q=b[u+41>>0]|0;r=b[u+42>>0]|0;s=b[u+43>>0]|0;f[k>>2]=l;o=h[u+45>>0]<<16|h[u+44>>0]<<24|h[u+46>>0]<<8|h[u+47>>0];f[k>>2]=l;n=h[u+49>>0]<<16|h[u+48>>0]<<24|h[u+50>>0]<<8|h[u+51>>0];f[k>>2]=l;k=h[u+59>>0]|0;u=h[u+57>>0]<<16|h[u+56>>0]<<24|h[u+58>>0]<<8|k;w=a+32|0;v=v+(c<<4)+12|0;g=f[v>>2]|0;do if((f[w>>2]&33554432|0)==0&0==0){f[g>>2]=(q&255)<<16|(p&255)<<24|(r&255)<<8|s&255;if(u){if(!c){k=k&3;k=(k|0)==0?1:k&255;b[a+78>>0]=k;E=66;break}k=b[a+78>>0]|0;if((u|0)==(k&255|0))E=66;else{i=f[e>>2]|0;do if(i|0){if(f[a+480>>2]|0){Kc(a,i);break}B=i;if((f[a+304>>2]|0)>>>0<=B>>>0?(f[a+308>>2]|0)>>>0>B>>>0:0){B=a+300|0;f[i>>2]=f[B>>2];f[B>>2]=i;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{B=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);e:do if(f[a+272>>2]|0)if(!(b[a+81>>0]|0))E=61;else i=0;else{do if((j[a+276>>1]|0)>=68){g=a+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];E=a+284|0;f[E>>2]=(f[E>>2]|0)+1;E=62;break e}g=a+296|0;i=f[g>>2]|0;if(!i){i=a+292|0;break}else{f[g>>2]=f[i>>2];E=a+284|0;f[E>>2]=(f[E>>2]|0)+1;E=62;break e}}else i=a+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;E=61}while(0);if((E|0)==61){i=Dc(a,68,0)|0;E=62}if((E|0)==62)if(!i)i=0;else{g=i;k=48935;l=g+68|0;do{b[g>>0]=b[k>>0]|0;g=g+1|0;k=k+1|0}while((g|0)<(l|0))}f[e>>2]=i;i=1}}else E=65}else{f[g>>2]=0;n=0;o=0;E=65}while(0);if((E|0)==65){k=(f[(f[A>>2]|0)+(c<<4)+12>>2]|0)+78|0;d[k>>1]=d[k>>1]|4;k=b[a+78>>0]|0;E=66}do if((E|0)==66){b[g+77>>0]=k;k=g+80|0;if(!(f[k>>2]|0)){g=(n|0)>-1?n:(n|0)==-2147483648?2147483647:0-n|0;g=(g|0)==0?-2e3:g;f[k>>2]=g;f[m+4>>2]=l;k=f[(f[m>>2]|0)+212>>2]|0;f[k+16>>2]=g;l=f[9361]|0;m=f[k+44>>2]|0;if((g|0)<=-1){s=QA(g|0,((g|0)<0)<<31>>31|0,-1024,-1)|0;u=ba()|0;g=(f[k+28>>2]|0)+(f[k+24>>2]|0)|0;g=OA(s|0,u|0,g|0,((g|0)<0)<<31>>31|0)|0;ba()|0}pb[l&127](m,g);g=f[v>>2]|0}k=o&255;g=g+76|0;b[g>>0]=k;if(k<<24>>24){if((k&255)>4){i=f[e>>2]|0;do if(i|0){if(f[a+480>>2]|0){Kc(a,i);break}B=i;if((f[a+304>>2]|0)>>>0<=B>>>0?(f[a+308>>2]|0)>>>0>B>>>0:0){B=a+300|0;f[i>>2]=f[B>>2];f[B>>2]=i;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{B=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}while(0);f:do if(f[a+272>>2]|0)if(!(b[a+81>>0]|0))E=92;else i=0;else{do if((j[a+276>>1]|0)>=24){g=a+300|0;i=f[g>>2]|0;if(i|0){f[g>>2]=f[i>>2];E=a+284|0;f[E>>2]=(f[E>>2]|0)+1;E=93;break f}g=a+296|0;i=f[g>>2]|0;if(!i){i=a+292|0;break}else{f[g>>2]=f[i>>2];E=a+284|0;f[E>>2]=(f[E>>2]|0)+1;E=93;break f}}else i=a+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;E=92}while(0);if((E|0)==92){i=Dc(a,24,0)|0;E=93}if((E|0)==93)if(!i)i=0;else{g=i;k=49003;l=g+24|0;do{b[g>>0]=b[k>>0]|0;g=g+1|0;k=k+1|0}while((g|0)<(l|0))}f[e>>2]=i;i=1;break}}else b[g>>0]=1;if((c|0)==0&(o|0)>3){u=w;v=f[u+4>>2]|0;e=w;f[e>>2]=f[u>>2]&-3;f[e+4>>2]=v}f[y>>2]=f[(f[A>>2]|0)+(c<<4)>>2];f[y+4>>2]=x;g=Ig(a,49027,y)|0;e=a+312|0;y=f[e>>2]|0;f[e>>2]=0;k=uj(a,g,83,B,0)|0;f[e>>2]=y;k=(k|0)==0?f[z>>2]|0:k;do if(g|0){if(f[a+480>>2]|0){Kc(a,g);break}e=g;if((f[a+304>>2]|0)>>>0<=e>>>0?(f[a+308>>2]|0)>>>0>e>>>0:0){e=a+300|0;f[g>>2]=f[e>>2];f[e>>2]=g;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{e=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-e;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);g=(k|0)==0;if(g)wj(a,c)|0;if(!(b[a+81>>0]|0)){if(!g){i=k;E=112}}else{Vh(a);i=7;E=112}if((E|0)==112?(f[w>>2]&134217728|0)==0&0==0:0)break;i=(f[(f[A>>2]|0)+(c<<4)+12>>2]|0)+78|0;d[i>>1]=d[i>>1]|1;i=0}while(0);if((C|0)!=0?(F=f[D>>2]|0,f[(f[F+4>>2]|0)+4>>2]=f[F>>2],(Gg(F,0)|0)==0):0)Hg(F,0)|0}else i=g;while(0);g:do if((i|0)>=7){if((i|0)<3082)switch(i|0){case 7:break;default:break g}else switch(i|0){case 3082:break;default:break g}g=a+81|0;if((b[g>>0]|0)==0?(b[a+82>>0]|0)==0:0){b[g>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;e=a+272|0;f[e>>2]=(f[e>>2]|0)+1}}else{switch(i|0){case 0:break;default:break g}b[G>>0]=0;t=H;return i|0}while(0);if((c|0)>-1){e=f[a+16>>2]|0;c=(f[e+(c<<4)+12>>2]|0)+78|0;d[c>>1]=d[c>>1]|8;c=(f[e+28>>2]|0)+78|0;d[c>>1]=d[c>>1]|8;c=a+24|0;f[c>>2]=f[c>>2]&-9}if(f[a+56>>2]|0){a=i;b[G>>0]=0;t=H;return a|0}n=a+20|0;g=f[n>>2]|0;if((g|0)<=0){a=i;b[G>>0]=0;t=H;return a|0}m=a+16|0;l=0;do{k=f[(f[m>>2]|0)+(l<<4)+12>>2]|0;if(d[k+78>>1]&8){Wh(k);g=f[n>>2]|0}l=l+1|0}while((l|0)<(g|0));b[G>>0]=0;t=H;return i|0}function ri(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;if(c){h=(wz(c)|0)&1073741823;if((h+20|0)>>>0>2147483390)i=0;else{k=h;h=h+21|0;j=3}}else{k=0;h=21;j=3}do if((j|0)==3){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](h)|0;if(!i)break;else{j=i;h=i}}else{j=ib[f[37372>>2]&255](h)|0;if((f[18194]|0)>>>0>>0)f[18194]=h;i=71896;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){l=f[18187]|0;i=LA(h|0,i|0,j|0,((j|0)<0)<<31>>31|0)|0;h=ba()|0;f[17976]=((h|0)<0|(h|0)==0&i>>>0<=l>>>0)&1}i=ib[f[37356>>2]&255](j)|0;if(!i){i=0;break}h=ib[f[37368>>2]&255](i)|0;h=(f[18187]|0)+h|0;f[18187]=h;if(h>>>0>(f[18191]|0)>>>0)f[18191]=h;h=(f[18190]|0)+1|0;f[18190]=h;if(h>>>0>(f[18196]|0)>>>0)f[18196]=h;j=i;h=i}i=j+20|0;YA(i|0,c|0,k+1|0)|0;f[j+4>>2]=i;f[j>>2]=d;f[j+8>>2]=e;f[j+12>>2]=g;f[j+16>>2]=0;i=pg(a+336|0,i,j)|0;if(!i){l=h;return l|0}h=a+81|0;if((b[h>>0]|0)==0?(b[a+82>>0]|0)==0:0){b[h>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;l=a+272|0;f[l>>2]=(f[l>>2]|0)+1}if(f[a+480>>2]|0){Kc(a,i);l=0;return l|0}l=i;if((f[a+304>>2]|0)>>>0<=l>>>0?(f[a+308>>2]|0)>>>0>l>>>0:0){l=a+300|0;f[i>>2]=f[l>>2];f[l>>2]=i;l=0;return l|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](i);l=0;return l|0}else{l=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-l;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);l=0;return l|0}}while(0);h=a+81|0;if(b[h>>0]|0){l=i;return l|0}if(b[a+82>>0]|0){l=i;return l|0}b[h>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;l=a+272|0;f[l>>2]=(f[l>>2]|0)+1;l=i;return l|0}function si(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=t;t=t+48|0;y=E+24|0;x=E+16|0;w=E+8|0;l=E;q=E+32|0;v=E+28|0;p=c+60|0;s=f[p>>2]|0;r=f[c+56>>2]|0;f[v>>2]=0;u=a+352|0;k=f[u>>2]|0;a:do if(k|0){while(1){if((f[k+4>>2]|0)==(c|0))break;k=f[k+8>>2]|0;if(!k)break a}f[l>>2]=f[c>>2];a=Ig(a,42810,l)|0;f[i>>2]=a;a=6;t=E;return a|0}while(0);n=f[c>>2]|0;if(!n){a=7;t=E;return a|0}o=(wz(n)|0)+1|0;A=(a|0)==0;b:do if(A){z=KA(o|0,0,-1,-1)|0;m=ba()|0;if(m>>>0>0|(m|0)==0&z>>>0>2147483390){a=7;t=E;return a|0}if(!(f[9328]|0)){k=ib[f[37356>>2]&255](o)|0;B=31;break}k=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){z=f[18187]|0;m=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&m>>>0<=z>>>0)&1}l=ib[f[37356>>2]&255](k)|0;if(!l){a=7;t=E;return a|0}k=ib[f[37368>>2]&255](l)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;z=l}else z=l}else{if(f[a+272>>2]|0){if(b[a+81>>0]|0){a=7;t=E;return a|0}}else{do if(!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0))){l=a+300|0;k=f[l>>2]|0;if(k|0){f[l>>2]=f[k>>2];B=a+284|0;f[B>>2]=(f[B>>2]|0)+1;B=31;break b}l=a+296|0;k=f[l>>2]|0;if(!k){k=a+292|0;break}else{f[l>>2]=f[k>>2];B=a+284|0;f[B>>2]=(f[B>>2]|0)+1;B=31;break b}}else k=a+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(a,o,0)|0;B=31}while(0);if((B|0)==31)if(!k){a=7;t=E;return a|0}else z=k;YA(z|0,n|0,o|0)|0;if(!(f[9328]|0)){k=ib[f[37356>>2]&255](28)|0;if(!k)B=43;else n=k}else{k=ib[f[37372>>2]&255](28)|0;if((f[18194]|0)>>>0<28)f[18194]=28;m=71896;l=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&l>>>0>0){o=f[18187]|0;n=LA(l|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0;m=ba()|0;f[17976]=((m|0)<0|(m|0)==0&n>>>0<=o>>>0)&1}l=ib[f[37356>>2]&255](k)|0;if(l){k=ib[f[37368>>2]&255](l)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0>(f[18196]|0)>>>0){f[18196]=k;n=l}else n=l}else B=43}if((B|0)==43){k=a+81|0;if((b[k>>0]|0)==0?(b[a+82>>0]|0)==0:0){b[k>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;D=a+272|0;f[D>>2]=(f[D>>2]|0)+1}if(f[a+480>>2]|0){Kc(a,z);a=7;t=E;return a|0}D=z;if((f[a+304>>2]|0)>>>0<=D>>>0?(f[a+308>>2]|0)>>>0>D>>>0:0){a=a+300|0;f[z>>2]=f[a>>2];f[a>>2]=z;a=7;t=E;return a|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](z);a=7;t=E;return a|0}else{a=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);a=7;t=E;return a|0}}k=n+8|0;l=k+20|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(l|0));f[n>>2]=a;f[n+4>>2]=e;l=f[c+72>>2]|0;m=f[a+16>>2]|0;if(!l)k=-1e6;else{k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0))break;else k=k+1|0}f[(f[p>>2]|0)+4>>2]=f[m+(k<<4)>>2];f[q+4>>2]=c;f[q>>2]=n;p=q+8|0;f[p>>2]=f[u>>2];l=q+12|0;f[l>>2]=0;f[u>>2]=q;m=n+8|0;k=nb[g&127](a,f[e+8>>2]|0,r,s,m,v)|0;f[u>>2]=f[p>>2];c:do switch(k|0){case 7:{l=a+81|0;if((b[l>>0]|0)==0?(b[a+82>>0]|0)==0:0){b[l>>0]=1;if((f[a+180>>2]|0)>0)f[a+264>>2]=1;B=a+272|0;f[B>>2]=(f[B>>2]|0)+1;B=65}else B=65;break}case 0:{k=f[m>>2]|0;if(k){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[f[m>>2]>>2]=f[e>>2];k=n+12|0;f[k>>2]=1;if(!(f[l>>2]|0)){f[y>>2]=f[c>>2];l=Ig(a,42882,y)|0;f[i>>2]=l;l=f[n>>2]|0;D=(f[k>>2]|0)+-1|0;f[k>>2]=D;if(D|0){k=1;B=115;break c}k=f[m>>2]|0;if(k|0)ib[f[(f[k>>2]|0)+16>>2]&255](k)|0;if(l|0){if(f[l+480>>2]|0){Kc(l,n);k=1;B=115;break c}D=n;if((f[l+304>>2]|0)>>>0<=D>>>0?(f[l+308>>2]|0)>>>0>D>>>0:0){k=l+300|0;f[n>>2]=f[k>>2];f[k>>2]=n;k=1;B=115;break c}}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);k=1;B=115;break c}else{k=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);k=1;B=115;break c}}e=c+64|0;f[n+24>>2]=f[e>>2];f[e>>2]=n;e=c+42|0;k=d[e>>1]|0;if(k<<16>>16>0){v=c+4|0;u=c+36|0;m=0;s=0;l=f[v>>2]|0;do{if(!(b[l+(s<<4)+15>>0]&4))g=72788;else{g=f[l+(s<<4)>>2]|0;g=g+(wz(g)|0)+1|0}q=(wz(g)|0)&1073741823;d:do if(!q)B=112;else{n=0;e:while(1){r=g+n|0;do if(r|0){c=h[r>>0]|0;o=1232+c|0;do if((c|32|0)==104){o=r+1|0;c=h[o>>0]|0;p=1232+c|0;if((c|32|0)==105){o=o+1|0;p=h[o>>0]|0;if((p|32|0)!=100){C=1232+p|0;D=100;B=101;break}o=o+1|0;p=h[o>>0]|0;if((p|32|0)!=100){C=1232+p|0;D=100;B=101;break}o=o+1|0;p=h[o>>0]|0;if((p|32|0)!=101){C=1232+p|0;D=101;B=101;break}o=h[o+1>>0]|0;if((o|32|0)!=110){C=1232+o|0;D=110;B=101}}else{C=p;D=105;B=101}}else{C=o;D=104;B=101}while(0);if((B|0)==101?(B=0,(D|0)!=(h[C>>0]|0)):0)break;if(n|0?(b[g+(n+-1)>>0]|0)!=32:0)break;o=b[g+(n+6)>>0]|0;switch(o<<24>>24){case 32:case 0:break e;default:{}}}while(0);n=n+1|0;if(n>>>0>=q>>>0){B=112;break d}}o=o<<24>>24==0?6:7;k=n+o|0;if(k>>>0<=q>>>0){m=q+1-o|0;l=n;while(1){b[g+l>>0]=b[g+k>>0]|0;k=l+1|0;if((k|0)==(m|0))break;else{l=k;k=k+o|0}}}if((n|0)!=0&(b[r>>0]|0)==0)b[g+(n+-1)>>0]=0;l=f[v>>2]|0;m=l+(s<<4)+15|0;b[m>>0]=b[m>>0]|2;m=-128;k=d[e>>1]|0}while(0);if((B|0)==112){B=0;f[u>>2]=f[u>>2]|m&255}s=s+1|0}while((s|0)<(k<<16>>16|0))}if(A)k=0;else{k=0;B=115}}else{k=0;B=115}break}default:B=65}while(0);do if((B|0)==65){l=f[v>>2]|0;do if(l){f[x>>2]=l;l=Ig(a,40840,x)|0;f[i>>2]=l;l=f[v>>2]|0;if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{D=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}else{f[w>>2]=z;D=Ig(a,42852,w)|0;f[i>>2]=D}while(0);if(f[a+480>>2]|0){Kc(a,n);B=115;break}D=n;if((f[a+304>>2]|0)>>>0<=D>>>0?(f[a+308>>2]|0)>>>0>D>>>0:0){B=a+300|0;f[n>>2]=f[B>>2];f[B>>2]=n;B=115;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);B=115;break}else{B=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-B;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);B=115;break}}while(0);if((B|0)==115){if(f[a+480>>2]|0){Kc(a,z);a=k;t=E;return a|0}D=z;if((f[a+304>>2]|0)>>>0<=D>>>0?(f[a+308>>2]|0)>>>0>D>>>0:0){a=a+300|0;f[z>>2]=f[a>>2];f[a>>2]=z;a=k;t=E;return a|0}}if(!(f[9328]|0)){ob[f[37360>>2]&127](z);a=k;t=E;return a|0}else{a=ib[f[37368>>2]&255](z)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](z);a=k;t=E;return a|0}return 0}function ti(a,c,e,g,i,j){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;z=t;t=t+256|0;x=z+224|0;e=z+216|0;o=z+208|0;g=z+200|0;v=z+232|0;w=z;p=v+4|0;f[p>>2]=w;f[v>>2]=0;q=v+8|0;f[q>>2]=200;r=v+12|0;s=v+16|0;u=v+21|0;f[r>>2]=0;f[r+4>>2]=0;d[r+8>>1]=0;f[s>>2]=14;l=w;m=47663;n=l+14|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));k=c+7|0;if(b[k>>0]|0){e=h[c+6>>0]|0;y=f[9824+(e<<2)>>2]|0;f[g>>2]=40;f[g+4>>2]=y;qf(v,47678,g);if((h[k>>0]|0)>1){g=1;do{e=e+1|0;y=f[9824+(e<<2)>>2]|0;f[o>>2]=44;f[o+4>>2]=y;qf(v,47678,o);g=g+1|0}while(g>>>0<(h[k>>0]|0)>>>0);y=g&255}else y=1}else{f[e>>2]=f[c>>2];qf(v,47685,e);y=1}k=c+5|0;e=b[k>>0]|0;if(!(e&32))o=0;else{e=f[s>>2]|0;g=e+11|0;if(g>>>0<(f[q>>2]|0)>>>0){f[s>>2]=g;l=(f[p>>2]|0)+e|0;m=47691;n=l+11|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0))}else Ec(v,47691,11);o=1;e=b[k>>0]|0}if((e&255)>63){e=f[s>>2]|0;g=e+14|0;if(g>>>0<(f[q>>2]|0)>>>0){f[s>>2]=g;l=(f[p>>2]|0)+e|0;m=47703;n=l+14|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0))}else Ec(v,47703,14);o=o+1|0}e=f[s>>2]|0;g=e+1|0;if(g>>>0<(f[q>>2]|0)>>>0){f[s>>2]=g;b[(f[p>>2]|0)+e>>0]=41}else Ec(v,43047,1);e=f[p>>2]|0;if((e|0?(b[e+(f[s>>2]|0)>>0]=0,f[r>>2]|0):0)?(b[u>>0]&4)==0:0)Cc(v)|0;e=wk(a,w)|0;if(e|0){c=Mj(a)|0;f[x>>2]=c;c=wd(40840,x)|0;f[j>>2]=c;c=e;a=0;f[i>>2]=a;t=z;return c|0}if(Mc()|0){c=7;a=0;f[i>>2]=a;t=z;return c|0}if(!(f[9328]|0)){e=ib[f[37356>>2]&255](24)|0;if(!e){c=7;a=e;f[i>>2]=a;t=z;return c|0}else g=e}else{e=ib[f[37372>>2]&255](24)|0;if((f[18194]|0)>>>0<24)f[18194]=24;k=71896;g=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&g>>>0>0){j=f[18187]|0;x=LA(g|0,k|0,e|0,((e|0)<0)<<31>>31|0)|0;w=ba()|0;f[17976]=((w|0)<0|(w|0)==0&x>>>0<=j>>>0)&1}k=ib[f[37356>>2]&255](e)|0;if(!k){c=7;a=0;f[i>>2]=a;t=z;return c|0}e=ib[f[37368>>2]&255](k)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e;g=k;e=k};f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+16>>2]=c;f[g+12>>2]=a;b[g+21>>0]=y;b[g+20>>0]=o;c=0;a=e;f[i>>2]=a;t=z;return c|0}function ui(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=t;t=t+16|0;j=n;m=c+40|0;p[m>>3]=1.0;if(!(b[a+20>>0]|0)){t=n;return 0}d=f[c+4>>2]|0;f[j>>2]=0;l=j+4|0;f[l>>2]=0;g=f[c>>2]|0;if((g|0)>0){e=a+21|0;a=d;d=0;while(1){if((b[a+5>>0]|0?(b[a+4>>0]|0)==2:0)?(i=f[a>>2]|0,k=h[e>>0]|0,(i|0)>=(k|0)):0)f[j+(i-k<<2)>>2]=d+1;d=d+1|0;if((d|0)>=(g|0))break;else a=a+12|0}a=f[j>>2]|0;if(a|0){a=a+-1|0;d=f[c+16>>2]|0;f[d+(a<<3)>>2]=1;b[d+(a<<3)+4>>0]=1;l=f[l>>2]|0;a=l+-1|0;if(!l){t=n;return 0}p[m>>3]=20.0;m=c+48|0;f[m>>2]=20;f[m+4>>2]=0;f[d+(a<<3)>>2]=2;b[d+(a<<3)+4>>0]=1;t=n;return 0}}p[m>>3]=2147483647.0;m=c+48|0;f[m>>2]=2147483647;f[m+4>>2]=0;t=n;return 0}function vi(a){a=a|0;var b=0;if(!a)return 0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{b=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-b;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if(Mc()|0){b=7;return b|0}if(!(f[9328]|0)){c=ib[f[37356>>2]&255](24)|0;if(!c){b=7;return b|0}}else{e=ib[f[37372>>2]&255](24)|0;if((f[18194]|0)>>>0<24)f[18194]=24;d=71896;c=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&c>>>0>0){g=f[18187]|0;d=LA(c|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;c=ba()|0;f[17976]=((c|0)<0|(c|0)==0&d>>>0<=g>>>0)&1}c=ib[f[37356>>2]&255](e)|0;if(!c){g=7;return g|0}d=ib[f[37368>>2]&255](c)|0;d=(f[18187]|0)+d|0;f[18187]=d;if(d>>>0>(f[18191]|0)>>>0)f[18191]=d;d=(f[18190]|0)+1|0;f[18190]=d;if(d>>>0>(f[18196]|0)>>>0)f[18196]=d};f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c>>2]=a;f[b>>2]=c;g=0;return g|0}function xi(a){a=a|0;var b=0,c=0,d=0;b=a+4|0;Fi(f[b>>2]|0)|0;f[b>>2]=0;b=a+16|0;c=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[b>>2]=0;b=a+20|0;c=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[b>>2]=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return 0}else{d=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return 0}return 0}function yi(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0;z=t;t=t+64|0;v=z+24|0;r=z+16|0;q=z+8|0;l=z;s=z+32|0;u=f[a>>2]|0;w=a+4|0;Fi(f[w>>2]|0)|0;f[w>>2]=0;y=a+16|0;c=f[y>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{x=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-x;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[y>>2]=0;x=a+20|0;c=f[x>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{p=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[x>>2]=0;o=u+16|0;a:do if((g|0)>0){j=0;k=((h[(f[o>>2]|0)+5>>0]|0)>>>5&1^1)&255;b:while(1){c=f[i+(j<<2)>>2]|0;do if(c|0){e=d[c+8>>1]|0;if((e&514)==514?(b[c+10>>0]|0)==1:0)c=f[c+16>>2]|0;else{if(e&1)break;c=Ic(c,1)|0}if(c|0?(f[l>>2]=c,p=wd(40840,l)|0,f[y+(k<<2)>>2]=p,(p|0)==0):0){c=7;break b}}while(0);j=j+1|0;if((j|0)>=(g|0))break a;else k=k+1|0}t=z;return c|0}while(0);p=u+12|0;m=f[(f[p>>2]|0)+112>>2]|0;g=s+4|0;f[g>>2]=0;f[s>>2]=0;l=s+8|0;f[l>>2]=0;i=s+12|0;f[i>>2]=m;m=s+16|0;f[m>>2]=0;b[s+20>>0]=0;n=s+21|0;b[n>>0]=0;Ec(s,47647,7);c=f[x>>2]|0;if(c|0){f[q>>2]=c;qf(s,47655,q)}e=f[f[o>>2]>>2]|0;if(!e)c=0;else c=(wz(e)|0)&1073741823;j=f[m>>2]|0;k=j+c|0;if(k>>>0<(f[l>>2]|0)>>>0){if(c|0){f[m>>2]=k;YA((f[g>>2]|0)+j|0,e|0,c|0)|0}}else Ec(s,e,c);c=f[y>>2]|0;if(c|0){f[r>>2]=c;qf(s,47659,r)}c=f[g>>2]|0;if(((c|0)!=0?(b[c+(f[m>>2]|0)>>0]=0,(f[i>>2]|0)!=0):0)?(b[n>>0]&4)==0:0)c=Cc(s)|0;else c=f[g>>2]|0;if(!c){y=7;t=z;return y|0}e=Ki(f[p>>2]|0,c,-1,128,0,w,0)|0;if(!(f[9328]|0))ob[f[37360>>2]&127](c);else{s=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c)}if(e|0){y=Mj(f[p>>2]|0)|0;f[v>>2]=y;y=wd(40840,v)|0;f[u+8>>2]=y;y=e;t=z;return y|0}a=a+8|0;u=a;u=KA(f[u>>2]|0,f[u+4>>2]|0,1,0)|0;v=ba()|0;f[a>>2]=u;f[a+4>>2]=v;if((Ei(f[w>>2]|0)|0)==100){y=0;t=z;return y|0}e=Fi(f[w>>2]|0)|0;f[w>>2]=0;Fi(0)|0;f[w>>2]=0;c=f[y>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[y>>2]=0;c=f[x>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{y=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-y;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[x>>2]=0;y=e;t=z;return y|0}function zi(a){a=a|0;var b=0,c=0,d=0;b=a+8|0;d=b;d=KA(f[d>>2]|0,f[d+4>>2]|0,1,0)|0;c=ba()|0;f[b>>2]=d;f[b+4>>2]=c;b=a+4|0;if((Ei(f[b>>2]|0)|0)==100){d=0;return d|0}d=Fi(f[b>>2]|0)|0;f[b>>2]=0;Gi(a);return d|0}function Ai(a){a=a|0;return (f[a+4>>2]|0)==0|0}function Bi(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0;g=h[(f[a>>2]|0)+21>>0]|0;if((g|0)<=(e|0)){if(($e(f[c>>2]|0,f[a+16+(e-g<<2)>>2]|0,-1,1,-1)|0)!=18)return 0;f[c+20>>2]=18;$e(f[c>>2]|0,41612,-1,1,0)|0;return 0}k=f[a+4>>2]|0;i=(k|0)==0;do if(i)l=37592;else{a=f[k+104>>2]|0;if(a|0?(j[k+140>>1]|0)>>>0>e>>>0:0){l=a+(e*40|0)|0;break}l=f[k>>2]|0;f[l+64>>2]=25;Bg(l,25);l=37592}while(0);a=l+8|0;g=j[a>>1]|0;if(g&2048|0)d[a>>1]=g&59391|4096;if(!i){g=f[k>>2]|0;e=k+40|0;a=f[e>>2]|0;if((a|0)==3082|(b[g+81>>0]|0)!=0){Di(g);a=7}else a=f[g+68>>2]&a;f[e>>2]=a}mf(c,l);return 0}function Ci(a,b){a=a|0;b=b|0;var c=0;c=a+8|0;a=f[c+4>>2]|0;f[b>>2]=f[c>>2];f[b+4>>2]=a;return 0}function Di(a){a=a|0;var c=0;c=a+81|0;if(b[c>>0]|0?(f[a+180>>2]|0)==0:0){b[c>>0]=0;f[a+264>>2]=0;c=a+272|0;f[c>>2]=(f[c>>2]|0)+-1}f[a+64>>2]=7;Bg(a,7);return}function Ei(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,U=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0.0;Ha=t;t=t+368|0;Ba=Ha+360|0;Aa=Ha+352|0;za=Ha+344|0;ya=Ha+336|0;xa=Ha+328|0;wa=Ha+320|0;va=Ha+312|0;ua=Ha+304|0;ta=Ha+296|0;sa=Ha+288|0;ra=Ha+280|0;qa=Ha+272|0;pa=Ha+264|0;Da=Ha+256|0;Ca=Ha+248|0;e=Ha+232|0;c=Ha+224|0;ga=Ha;ja=Ha+364|0;do if(!a)Ac(21,42973,Ha+216|0);else{Ga=f[a>>2]|0;if(!Ga){Ac(21,42928,c);break}ca=a+145|0;da=(h[ca>>0]|h[ca+1>>0]<<8)&-17;b[ca>>0]=da;b[ca+1>>0]=da>>8;da=a+20|0;ea=a+128|0;B=a+36|0;Fa=a+40|0;C=a+142|0;D=a+44|0;E=a+32|0;F=a+143|0;I=a+48|0;J=a+64|0;K=a+144|0;L=a+92|0;M=a+104|0;N=a+184|0;O=a+136|0;P=a+8|0;Q=a+4|0;R=a+204|0;S=a+156|0;U=a+176|0;W=a+116|0;X=a+88|0;Y=ga+4|0;Z=ga+8|0;_=ga+12|0;$=ga+16|0;aa=ga+21|0;ba=a+140|0;A=0;a:while(1){if((f[da>>2]|0)!=770837923){c=f[a>>2]|0;z=ea;y=f[z+4>>2]|0;if((y|0)>0|(y|0)==0&(f[z>>2]|0)>>>0>0)Hi(c,a);z=fg(a)|0;f[da>>2]=770837923;f[B>>2]=-1;f[Fa>>2]=0;b[C>>0]=2;f[D>>2]=0;f[E>>2]=1;b[F>>0]=-1;f[I>>2]=0;y=J;f[y>>2]=0;f[y+4>>2]=0;if((z|0)==3082|(b[c+81>>0]|0)!=0)Di(c)}z=f[a>>2]|0;if(b[z+81>>0]|0){Ea=13;break}c=f[B>>2]|0;if((c|0)<1)if(!((h[ca>>0]|h[ca+1>>0]<<8)&3))if((c|0)<0){e=z+168|0;if(!(f[e>>2]|0))f[z+264>>2]=0;if(!((f[z+204>>2]|0)==0?!(b[z+88>>0]&2):0))Ea=21;do if(((Ea|0)==21?(0,(b[z+165>>0]|0)==0):0)?f[N>>2]|0:0){c=f[z>>2]|0;if((f[c>>2]|0)>1?(oa=f[c+72>>2]|0,oa|0):0){jb[oa&255](c,ea)|0;break}jb[f[c+64>>2]&255](c,ga)|0;Ia=+p[ga>>3]*864.0e5;y=+H(Ia)>=1.0?(Ia>0.0?~~+V(+G(Ia/4294967296.0),4294967295.0)>>>0:~~+T((Ia-+(~~Ia>>>0))/4294967296.0)>>>0):0;Ea=ea;f[Ea>>2]=~~Ia>>>0;f[Ea+4>>2]=y}while(0);f[e>>2]=(f[e>>2]|0)+1;c=h[ca>>0]|h[ca+1>>0]<<8;if(!(c&256)){c=z+176|0;f[c>>2]=(f[c>>2]|0)+1;c=h[ca>>0]|h[ca+1>>0]<<8}if(c&512){Ea=z+172|0;f[Ea>>2]=(f[Ea>>2]|0)+1}f[B>>2]=0;Ea=32}else Ea=32;else{c=1;e=17;Ea=244}else Ea=32;do if((Ea|0)==32){Ea=0;c=(h[ca>>0]|h[ca+1>>0]<<8)&12;b:do if(!(c<<16>>16)){y=z+180|0;f[y>>2]=(f[y>>2]|0)+1;c=Ji(a)|0;f[y>>2]=(f[y>>2]|0)+-1;if((c|0)==100)c=100;else Ea=226}else{y=f[a>>2]|0;x=f[L>>2]|0;w=x+40|0;if(c<<16>>16==4)r=1;else r=0?1:(f[y+32>>2]&16777216|0)!=0;l=f[x+72>>2]|0;m=l+480|0;c=(l|0)==0;n=l+304|0;o=l+308|0;q=l+300|0;c:do if(f[m>>2]|0){if(!c){c=1;while(1){d:do if(f[x+(c*40|0)+24>>2]|0?(ia=f[x+(c*40|0)+20>>2]|0,ia|0):0){if(f[m>>2]|0){Kc(l,ia);break}e=ia;do if((f[n>>2]|0)>>>0<=e>>>0){if((f[o>>2]|0)>>>0<=e>>>0)break;f[ia>>2]=f[q>>2];f[q>>2]=ia;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](ia);break}else{v=ib[f[37368>>2]&255](ia)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ia);break}}while(0);c=c+1|0;if((c|0)==9)break c}}do if(f[x+64>>2]|0?(ha=f[x+60>>2]|0,ha|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](ha);break}else{v=ib[f[37368>>2]&255](ha)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ha);break}while(0);do if(f[x+104>>2]|0?(ka=f[x+100>>2]|0,ka|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](ka);break}else{v=ib[f[37368>>2]&255](ka)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ka);break}while(0);do if(f[x+144>>2]|0?(la=f[x+140>>2]|0,la|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](la);break}else{v=ib[f[37368>>2]&255](la)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](la);break}while(0);do if(f[x+184>>2]|0?(ma=f[x+180>>2]|0,ma|0):0)if(!(f[9328]|0)){ob[f[37360>>2]&127](ma);break}else{v=ib[f[37368>>2]&255](ma)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](ma);break}while(0);do if(f[x+224>>2]|0){c=f[x+220>>2]|0;if(!c)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{v=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);do if(f[x+264>>2]|0){c=f[x+260>>2]|0;if(!c)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{v=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);do if(f[x+304>>2]|0){c=f[x+300>>2]|0;if(!c)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{v=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);if(!(f[x+344>>2]|0))break;c=f[x+340>>2]|0;if(!c)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{v=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}else{if(c){c=1;while(1){e=x+(c*40|0)+8|0;if(!(d[e>>1]&9216)){g=x+(c*40|0)+24|0;if(f[g>>2]|0){i=f[x+(c*40|0)+20>>2]|0;do if(i|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{v=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}while(0);f[g>>2]=0}}else ff(x+(c*40|0)|0);d[e>>1]=128;c=c+1|0;if((c|0)==9)break c}}c=1;do{e=x+(c*40|0)+8|0;if(!(d[e>>1]&9216)){g=x+(c*40|0)+24|0;if(f[g>>2]|0){i=f[x+(c*40|0)+20>>2]|0;e:do if(!(f[m>>2]|0)){k=i;do if((f[n>>2]|0)>>>0<=k>>>0){if((f[o>>2]|0)>>>0<=k>>>0)break;f[i>>2]=f[q>>2];f[q>>2]=i;break e}while(0);if(!i)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{v=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-v;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}else Kc(l,i);while(0);f[g>>2]=0}}else ff(x+(c*40|0)|0);d[e>>1]=128;c=c+1|0}while((c|0)!=9)}while(0);f[M>>2]=0;if((f[Fa>>2]|0)==7){c=y+81|0;if(b[c>>0]|0){c=1;Ea=226;break}if(b[y+82>>0]|0){c=1;Ea=226;break}b[c>>0]=1;if((f[y+180>>2]|0)>0)f[y+264>>2]=1;c=y+272|0;f[c>>2]=(f[c>>2]|0)+1;c=1;Ea=226;break}n=f[O>>2]|0;if(r){c=f[L>>2]|0;g=c+360|0;if(d[c+368>>1]&16){i=(f[c+372>>2]|0)>>>2;k=f[c+376>>2]|0;if(!i){q=n;i=0}else{c=n;e=0;do{c=(f[(f[k+(e<<2)>>2]|0)+4>>2]|0)+c|0;e=e+1|0}while((e|0)!=(i|0));q=c}}else{q=n;i=0;k=0}}else{g=0;q=n;i=0;k=0}e=f[B>>2]|0;c=e+1|0;f[B>>2]=c;f:do if((e|0)<(q|0)){s=g+16|0;u=g+8|0;v=g+12|0;g:do if(r){c=n;while(1){if((e|0)<(c|0))o=(f[X>>2]|0)+(e*20|0)|0;else{e=e-c|0;c=f[k>>2]|0;l=f[c+4>>2]|0;if((e|0)>=(l|0)){m=0;do{e=e-l|0;m=m+1|0;c=f[k+(m<<2)>>2]|0;l=f[c+4>>2]|0}while((e|0)>=(l|0))}o=(f[c>>2]|0)+(e*20|0)|0}do if((b[o+1>>0]|0)==-4){n=i+1|0;m=n<<2;h:do if((i|0)>0){l=f[o+16>>2]|0;c=0;do{if((f[k+(c<<2)>>2]|0)==(l|0))break h;c=c+1|0}while((c|0)<(i|0))}else c=0;while(0);if((c|0)!=(i|0)){m=q;break}r=df(g,m,(i|0)!=0&1)|0;f[Fa>>2]=r;if(r|0){c=1;Ea=226;break b}k=f[s>>2]|0;r=o+16|0;f[k+(i<<2)>>2]=f[r>>2];d[u>>1]=d[u>>1]|16;f[v>>2]=m;m=(f[(f[r>>2]|0)+4>>2]|0)+q|0;i=n}else m=q;while(0);c=h[ca>>0]|h[ca+1>>0]<<8;if(!(c&8))break g;switch(b[o>>0]|0){case -84:break g;case 61:{l=f[B>>2]|0;if((l|0)>1)break g;else e=l;break}default:e=f[B>>2]|0}f[B>>2]=e+1;if((e|0)>=(m|0))break f;q=m;c=f[O>>2]|0}}else{m=h[ca>>0]|h[ca+1>>0]<<8;if(!(m&8)){if((e|0)<(n|0)){o=(f[X>>2]|0)+(e*20|0)|0;c=m;break}e=e-n|0;c=f[k>>2]|0;g=f[c+4>>2]|0;if((e|0)>=(g|0)){i=0;do{e=e-g|0;i=i+1|0;c=f[k+(i<<2)>>2]|0;g=f[c+4>>2]|0}while((e|0)>=(g|0))}o=(f[c>>2]|0)+(e*20|0)|0;c=m;break}l=c;while(1){if((e|0)<(n|0))c=(f[X>>2]|0)+(e*20|0)|0;else{e=e-n|0;c=f[k>>2]|0;g=f[c+4>>2]|0;if((e|0)>=(g|0)){i=0;do{e=e-g|0;i=i+1|0;c=f[k+(i<<2)>>2]|0;g=f[c+4>>2]|0}while((e|0)>=(g|0))}c=(f[c>>2]|0)+(e*20|0)|0}switch(b[c>>0]|0){case -84:{o=c;c=m;break g}case 61:{if((l|0)>1){o=c;c=m;break g}break}default:{}}c=l+1|0;f[B>>2]=c;if((l|0)<(q|0)){e=l;l=c}else break f}}while(0);if(f[y+264>>2]|0){f[Fa>>2]=9;Fg(a,43013,Ca);c=1;Ea=226;break b}if((c&12)==4){d[x+48>>1]=4;q=w;f[q>>2]=e;f[q+4>>2]=((e|0)<0)<<31>>31;d[x+88>>1]=2562;q=f[7040+(h[o>>0]<<2)>>2]|0;f[x+96>>2]=q;q=(wz(q)|0)&1073741823;f[x+92>>2]=q;b[x+90>>0]=1;q=x+120|0}else q=w;d[q+8>>1]=4;e=f[o+4>>2]|0;n=q;f[n>>2]=e;f[n+4>>2]=((e|0)<0)<<31>>31;d[q+48>>1]=4;n=f[o+8>>2]|0;e=q+40|0;f[e>>2]=n;f[e+4>>2]=((n|0)<0)<<31>>31;d[q+88>>1]=4;e=f[o+12>>2]|0;n=q+80|0;f[n>>2]=e;f[n+4>>2]=((e|0)<0)<<31>>31;n=q+120|0;e=q+144|0;g=f[e>>2]|0;if((g|0)<100){if(df(n,100,0)|0){c=1;Ea=226;break b}c=q+136|0;i=q+128|0;m=c;c=f[c>>2]|0;g=f[e>>2]|0}else{c=f[q+140>>2]|0;m=q+136|0;f[m>>2]=c;i=q+128|0;d[i>>1]=d[i>>1]&13}d[i>>1]=514;f[Y>>2]=c;f[ga>>2]=0;f[Z>>2]=g;f[_>>2]=0;f[_+4>>2]=0;d[_+8>>1]=0;i:do switch(b[o+1>>0]|0){case -9:{i=f[o+16>>2]|0;k=i+6|0;f[Da>>2]=j[k>>1];qf(ga,43025,Da);if(d[k>>1]|0){l=i+16|0;g=0;do{e=f[i+20+(g<<2)>>2]|0;if(!e)e=72788;else e=f[e>>2]|0;y=(tz(e,43030)|0)==0;f[pa>>2]=(b[(f[l>>2]|0)+g>>0]|0)==0?72788:43039;f[pa+4>>2]=y?43037:e;qf(ga,43041,pa);g=g+1|0}while(g>>>0<(j[k>>1]|0)>>>0)}e=f[$>>2]|0;g=e+1|0;if(g>>>0<(f[Z>>2]|0)>>>0){f[$>>2]=g;b[(f[Y>>2]|0)+e>>0]=41;break i}else{Ec(ga,43047,1);break i}}case -2:{f[qa>>2]=f[f[o+16>>2]>>2];qf(ga,43049,qa);break}case -8:{x=f[o+16>>2]|0;y=b[x>>0]|0;f[ra>>2]=f[x+32>>2];f[ra+4>>2]=y;qf(ga,43057,ra);break}case -14:{w=f[o+16>>2]|0;x=f[w+4>>2]|0;y=sa;f[y>>2]=f[w>>2];f[y+4>>2]=x;qf(ga,41988,sa);break}case -3:{f[ta>>2]=f[o+16>>2];qf(ga,43064,ta);break}case -13:{p[ua>>3]=+p[f[o+16>>2]>>3];qf(ga,41982,ua);break}case -11:{e=f[o+16>>2]|0;g=j[e+8>>1]|0;if(g&2|0){c=f[e+16>>2]|0;break i}if(g&4|0){w=e;x=f[w+4>>2]|0;y=va;f[y>>2]=f[w>>2];f[y+4>>2]=x;qf(ga,41988,va);break i}if(!(g&8)){c=(g&1|0)==0?43067:40543;break i}else{p[wa>>3]=+p[e>>3];qf(ga,41982,wa);break i}}case -12:{f[xa>>2]=f[(f[o+16>>2]|0)+8>>2];qf(ga,43074,xa);break}case -15:{i=f[o+16>>2]|0;k=f[i>>2]|0;if((k|0)<1)i=0;else{e=1;while(1){f[ya>>2]=f[i+(e<<2)>>2];qf(ga,43082,ya);if((e|0)==(k|0))break;else e=e+1|0}i=f[$>>2]|0;g=f[Z>>2]|0}b[c>>0]=91;e=i+1|0;if(e>>>0>>0){f[$>>2]=e;b[(f[Y>>2]|0)+i>>0]=93;break i}else{Ec(ga,43086,1);break i}}case -4:{qf(ga,43088,za);break}case -5:case -17:{b[c>>0]=0;break}case -6:{f[Aa>>2]=f[f[o+16>>2]>>2];qf(ga,40840,Aa);break}default:{e=f[o+16>>2]|0;if(e|0){c=e;break i}b[c>>0]=0}}while(0);e=f[Y>>2]|0;do if(e|0){b[e+(f[$>>2]|0)>>0]=0;if(!(f[_>>2]|0))break;if(b[aa>>0]&4)break;Cc(ga)|0}while(0);if((c|0)==(f[m>>2]|0)){if(!c)c=0;else c=(wz(c)|0)&1073741823;f[q+132>>2]=c;b[q+130>>0]=1}else{f[q+132>>2]=0;$e(n,c,-1,1,0)|0}c=(h[ca>>0]|h[ca+1>>0]<<8)&12;if(c<<16>>16==4){if((f[q+184>>2]|0)<4){if(df(q+160|0,4,0)|0){c=1;Ea=226;break b}c=q+168|0;e=f[q+176>>2]|0}else{e=f[q+180>>2]|0;f[q+176>>2]=e;c=q+168|0;d[c>>1]=d[c>>1]&13}d[c>>1]=514;f[q+172>>2]=2;f[Ba>>2]=j[o+2>>1];vd(3,e,43096,Ba)|0;b[q+170>>0]=1;d[q+208>>1]=1;c=(h[ca>>0]|h[ca+1>>0]<<8)&12}d[ba>>1]=12-(c&65535);f[M>>2]=(f[L>>2]|0)+40;f[Fa>>2]=0;c=100;break b}while(0);f[Fa>>2]=0;c=101;Ea=226}while(0);do if((Ea|0)==226){Ea=0;y=ea;x=f[y+4>>2]|0;if((x|0)>0|(x|0)==0&(f[y>>2]|0)>>>0>0)Hi(z,a);if((c|0)==101)if(!(b[z+79>>0]|0))c=101;else{l=z+20|0;c=f[l>>2]|0;if((c|0)>0){m=z+16|0;n=z+236|0;o=z+240|0;k=0;e=0;do{i=f[m>>2]|0;g=f[i+(k<<4)+4>>2]|0;do if(((g|0)!=0?(fa=f[g+4>>2]|0,f[fa+4>>2]=f[g>>2],fa=f[(f[fa>>2]|0)+216>>2]|0,(fa|0)!=0):0)?(y=fa+12|0,na=f[y>>2]|0,f[y>>2]=0,(na|0)>0):0){g=f[n>>2]|0;if(!((e|0)==0&(g|0)!=0))break;e=lb[g&127](f[o>>2]|0,z,f[i+(k<<4)>>2]|0,na)|0;c=f[l>>2]|0}while(0);k=k+1|0}while((k|0)<(c|0));f[Fa>>2]=e;if(e|0){c=1;break}}else f[Fa>>2]=0;c=101}}while(0);f[z+64>>2]=c;e=f[a>>2]|0;g=f[Fa>>2]|0;if(!((g|0)==3082|(b[e+81>>0]|0)!=0))if((f[e+68>>2]&g|0)==7){e=7;Ea=244;break}else break;else{Di(e);e=7;Ea=244;break}}while(0);if((Ea|0)==244){Ea=0;f[Fa>>2]=e}if((c|1|0)!=101&(b[K>>0]|0)<0)c=ug(a)|0;c=f[z+68>>2]&c;if((c|0)!=17){Ea=320;break}s=A+1|0;if(A>>>0>=50){c=17;Ea=320;break}r=f[B>>2]|0;e=f[a>>2]|0;m=Ki(e,f[N>>2]|0,-1,h[K>>0]|0,a,ja,0)|0;switch(m|0){case 7:{Ea=250;break a}case 0:break;default:{Ea=279;break a}}q=f[ja>>2]|0;YA(ga|0,q|0,216)|0;YA(q|0,a|0,216)|0;YA(a|0,ga|0,216)|0;o=q+8|0;n=f[o>>2]|0;f[o>>2]=f[P>>2];f[P>>2]=n;n=q+4|0;A=f[n>>2]|0;f[n>>2]=f[Q>>2];f[Q>>2]=A;A=q+184|0;k=f[A>>2]|0;f[A>>2]=f[N>>2];f[N>>2]=k;f[R>>2]=f[q+204>>2];b[K>>0]=b[q+144>>0]|0;k=q+156|0;f[S>>2]=f[k>>2];f[S+4>>2]=f[k+4>>2];f[S+8>>2]=f[k+8>>2];f[S+12>>2]=f[k+12>>2];f[S+16>>2]=f[k+16>>2];f[S+20>>2]=f[k+20>>2];f[S+24>>2]=f[k+24>>2];f[U>>2]=(f[U>>2]|0)+1;k=q+16|0;if((d[k>>1]|0)>0){l=q+116|0;i=0;do{A=f[W>>2]|0;c=A+(i*40|0)|0;m=f[l>>2]|0;e=m+(i*40|0)|0;if(!((d[A+(i*40|0)+8>>1]&9216)==0?!(f[A+(i*40|0)+24>>2]|0):0))ff(c);g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));d[m+(i*40|0)+8>>1]=1;f[m+(i*40|0)+24>>2]=0;i=i+1|0}while((i|0)<(d[k>>1]|0))}f[q+40>>2]=0;i=q+20|0;c=f[i>>2]|0;if((c|0)<832317811)switch(c|0){case 770837923:{Ea=262;break}default:{}}else switch(c|0){case 832317811:{Ea=262;break}default:{}}if((Ea|0)==262){Ea=0;fg(q)|0}g=f[q>>2]|0;gg(g,q);e=f[n>>2]|0;c=f[o>>2]|0;if(!e)f[g+4>>2]=c;else{f[e+8>>2]=c;c=f[o>>2]|0}if(c|0)f[c+4>>2]=e;f[i>>2]=1443283912;f[q>>2]=0;do if(g){if(f[g+480>>2]|0){Kc(g,q);break}A=q;if((f[g+304>>2]|0)>>>0<=A>>>0?(f[g+308>>2]|0)>>>0>A>>>0:0){A=g+300|0;f[q>>2]=f[A>>2];f[A>>2]=q}else Ea=274}else Ea=274;while(0);do if((Ea|0)==274){Ea=0;if(!(f[9328]|0)){ob[f[37360>>2]&127](q);break}else{A=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-A;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);break}}while(0);c=f[a>>2]|0;A=ea;z=f[A+4>>2]|0;if((z|0)>0|(z|0)==0&(f[A>>2]|0)>>>0>0)Hi(c,a);A=fg(a)|0;f[da>>2]=770837923;f[B>>2]=-1;f[Fa>>2]=0;b[C>>0]=2;f[D>>2]=0;f[E>>2]=1;b[F>>0]=-1;f[I>>2]=0;z=J;f[z>>2]=0;f[z+4>>2]=0;if((A|0)==3082|(b[c+81>>0]|0)!=0)Di(c);if((r|0)>-1){A=h[ca>>0]|h[ca+1>>0]<<8|16;b[ca>>0]=A;b[ca+1>>0]=A>>8}A=s}if((Ea|0)==13){f[Fa>>2]=7;Ga=7;t=Ha;return Ga|0}else if((Ea|0)==250){c=e+81|0;if((b[c>>0]|0)==0?(b[e+82>>0]|0)==0:0){b[c>>0]=1;if((f[e+180>>2]|0)>0)f[e+264>>2]=1;Da=e+272|0;f[Da>>2]=(f[Da>>2]|0)+1}m=7}else if((Ea|0)!=279)if((Ea|0)==320){t=Ha;return c|0}c=f[Ga+256>>2]|0;do if(c){e=d[c+8>>1]|0;if((e&514)==514?(b[c+10>>0]|0)==1:0){k=f[c+16>>2]|0;break}if(!(e&1))k=Ic(c,1)|0;else k=0}else k=0;while(0);l=a+108|0;c=f[l>>2]|0;do if(c|0){if(f[Ga+480>>2]|0){Kc(Ga,c);break}a=c;if((f[Ga+304>>2]|0)>>>0<=a>>>0?(f[Ga+308>>2]|0)>>>0>a>>>0:0){a=Ga+300|0;f[c>>2]=f[a>>2];f[a>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{a=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);i=Ga+81|0;if(b[i>>0]|0){f[l>>2]=0;f[Fa>>2]=7;Ga=7;t=Ha;return Ga|0}if(k){g=(wz(k)|0)+1|0;j:do if(!(f[Ga+272>>2]|0)){do if(!(0<0|(0==0?(j[Ga+276>>1]|0)>>>0>>0:0))){e=Ga+300|0;c=f[e>>2]|0;if(c|0){f[e>>2]=f[c>>2];a=Ga+284|0;f[a>>2]=(f[a>>2]|0)+1;break j}e=Ga+296|0;c=f[e>>2]|0;if(!c){c=Ga+292|0;break}else{f[e>>2]=f[c>>2];a=Ga+284|0;f[a>>2]=(f[a>>2]|0)+1;break j}}else c=Ga+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;Ea=306}else Ea=306;while(0);if((Ea|0)==306)c=Dc(Ga,g,0)|0;if(c)YA(c|0,k|0,g|0)|0;else c=0}else c=0;f[l>>2]=c;if((m|0)==3082|(b[i>>0]|0)!=0){Di(Ga);c=7}else c=f[Ga+68>>2]&m;f[Fa>>2]=c;Ga=c;t=Ha;return Ga|0}while(0);f[e>>2]=40433;f[e+4>>2]=81396;f[e+8>>2]=40460;Ac(21,40408,e);Ga=21;t=Ha;return Ga|0}function Fi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=t;t=t+32|0;c=l+8|0;if(!a){k=0;t=l;return k|0}k=f[a>>2]|0;if(!k){Ac(21,42928,l);f[c>>2]=40433;f[c+4>>2]=80816;f[c+8>>2]=40460;Ac(21,40408,c);k=21;t=l;return k|0}i=a+128|0;h=f[i+4>>2]|0;if((h|0)>0|(h|0)==0&(f[i>>2]|0)>>>0>0)Hi(k,a);i=a+20|0;c=f[i>>2]|0;if((c|0)<832317811)switch(c|0){case 770837923:{j=6;break}default:e=0}else switch(c|0){case 832317811:{j=6;break}default:e=0}if((j|0)==6)e=fg(a)|0;g=f[a>>2]|0;gg(g,a);h=f[a+4>>2]|0;d=a+8|0;c=f[d>>2]|0;if(!h)f[g+4>>2]=c;else{f[h+8>>2]=c;c=f[d>>2]|0}if(c|0)f[c+4>>2]=h;f[i>>2]=1443283912;f[a>>2]=0;do if(g){if(f[g+480>>2]|0){Kc(g,a);break}i=a;if((f[g+304>>2]|0)>>>0<=i>>>0?(f[g+308>>2]|0)>>>0>i>>>0:0){i=g+300|0;f[a>>2]=f[i>>2];f[i>>2]=a}else j=18}else j=18;while(0);do if((j|0)==18)if(!(f[9328]|0)){ob[f[37360>>2]&127](a);break}else{j=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-j;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);break}while(0);if((e|0)==3082|(b[k+81>>0]|0)!=0){Di(k);c=7}else c=f[k+68>>2]&e;Ii(k);k=c;t=l;return k|0}function Gi(a){a=a|0;var b=0,c=0,d=0;b=a+4|0;Fi(f[b>>2]|0)|0;f[b>>2]=0;b=a+16|0;c=f[b>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{d=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);f[b>>2]=0;a=a+20|0;b=f[a>>2]|0;if(!b){f[a>>2]=0;return}if(!(f[9328]|0)){ob[f[37360>>2]&127](b);f[a>>2]=0;return}else{d=ib[f[37368>>2]&255](b)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](b);f[a>>2]=0;return}}function Hi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0.0;j=t;t=t+32|0;d=j+16|0;e=j+8|0;i=j;g=f[a>>2]|0;if((f[g>>2]|0)>1?(h=f[g+72>>2]|0,(h|0)!=0):0){jb[h&255](g,e)|0;d=f[e>>2]|0;e=f[e+4>>2]|0}else{jb[f[g+64>>2]&255](g,d)|0;k=+p[d>>3]*864.0e5;d=~~k>>>0;h=+H(k)>=1.0?(k>0.0?~~+V(+G(k/4294967296.0),4294967295.0)>>>0:~~+T((k-+(~~k>>>0))/4294967296.0)>>>0):0;f[e>>2]=d;f[e+4>>2]=h;e=h}h=c+128|0;g=h;d=LA(d|0,e|0,f[g>>2]|0,f[g+4>>2]|0)|0;d=QA(d|0,ba()|0,1e6,0)|0;e=ba()|0;g=i;f[g>>2]=d;f[g+4>>2]=e;g=f[a+204>>2]|0;if(g|0)rb[g&127](f[a+208>>2]|0,f[c+184>>2]|0,d,e);if(!(b[a+88>>0]&2)){i=h;c=i;f[c>>2]=0;i=i+4|0;f[i>>2]=0;t=j;return}lb[f[a+196>>2]&127](2,f[a+200>>2]|0,c,i)|0;i=h;c=i;f[c>>2]=0;i=i+4|0;f[i>>2]=0;t=j;return}function Ii(a){a=a|0;var c=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=a+96|0;if((f[t>>2]|0)!=1691352191)return;l=a+4|0;if(f[l>>2]|0)return;p=a+20|0;g=f[p>>2]|0;a:do if((g|0)>0){e=f[a+16>>2]|0;c=0;while(1){r=f[e+(c<<4)+4>>2]|0;if(r|0?f[r+16>>2]|0:0)break;c=c+1|0;if((c|0)>=(g|0))break a}return}while(0);Eg(a,0);e=a+444|0;c=f[e>>2]|0;if(c|0){g=a+480|0;i=a+304|0;j=a+308|0;k=a+300|0;do{f[e>>2]=f[c+24>>2];do if(!(f[g>>2]|0)){r=c;if((f[i>>2]|0)>>>0<=r>>>0?(f[j>>2]|0)>>>0>r>>>0:0){f[c>>2]=f[k>>2];f[k>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{r=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}else Kc(a,c);while(0);c=f[e>>2]|0}while((c|0)!=0)}f[a+452>>2]=0;f[a+456>>2]=0;b[a+87>>0]=0;r=a+16|0;c=f[r>>2]|0;if((f[p>>2]|0)>0){i=0;do{e=c+(i<<4)+4|0;g=f[e>>2]|0;if(g|0?(bi(g),f[e>>2]=0,(i|0)!=1):0)f[c+(i<<4)+12>>2]=0;i=i+1|0;c=f[r>>2]|0}while((i|0)<(f[p>>2]|0))}c=f[c+28>>2]|0;if(c|0)Wh(c);m=a+360|0;e=f[m>>2]|0;f[m>>2]=0;if(e|0){c=f[l>>2]|0;if(c|0)do{m=c+145|0;l=(h[m>>0]|h[m+1>>0]<<8)&-4|1;b[m>>0]=l;b[m+1>>0]=l>>8;c=f[c+8>>2]|0}while((c|0)!=0);c=e;do{e=c;c=f[c+24>>2]|0;g=f[e>>2]|0;l=e+12|0;m=(f[l>>2]|0)+-1|0;f[l>>2]=m;do if(!m){i=f[e+8>>2]|0;if(i|0)ib[f[(f[i>>2]|0)+16>>2]&255](i)|0;if(g|0){if(f[g+480>>2]|0){Kc(g,e);break}m=e;if((f[g+304>>2]|0)>>>0<=m>>>0?(f[g+308>>2]|0)>>>0>m>>>0:0){m=g+300|0;f[e>>2]=f[m>>2];f[m>>2]=e;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{m=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-m;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0)}while((c|0)!=0)}if((f[p>>2]|0)>2){j=a+480|0;k=a+304|0;l=a+308|0;m=a+300|0;i=2;c=2;do{e=f[r>>2]|0;g=e+(i<<4)|0;if(!(f[e+(i<<4)+4>>2]|0)){e=f[g>>2]|0;do if(e|0){if(f[j>>2]|0){Kc(a,e);break}u=e;if((f[k>>2]|0)>>>0<=u>>>0?(f[l>>2]|0)>>>0>u>>>0:0){f[e>>2]=f[m>>2];f[m>>2]=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);f[g>>2]=0}else{if((c|0)<(i|0)){u=e+(c<<4)|0;f[u>>2]=f[g>>2];f[u+4>>2]=f[g+4>>2];f[u+8>>2]=f[g+8>>2];f[u+12>>2]=f[g+12>>2]}c=c+1|0}i=i+1|0}while((i|0)<(f[p>>2]|0));f[p>>2]=c;if((c|0)<3)q=64}else{f[p>>2]=2;q=64}if((q|0)==64?(n=f[r>>2]|0,o=a+412|0,(n|0)!=(o|0)):0){f[o>>2]=f[n>>2];f[o+4>>2]=f[n+4>>2];f[o+8>>2]=f[n+8>>2];f[o+12>>2]=f[n+12>>2];f[o+16>>2]=f[n+16>>2];f[o+20>>2]=f[n+20>>2];f[o+24>>2]=f[n+24>>2];f[o+28>>2]=f[n+28>>2];do if(n|0){if(f[a+480>>2]|0){Kc(a,n);break}u=n;if((f[a+304>>2]|0)>>>0<=u>>>0?(f[a+308>>2]|0)>>>0>u>>>0:0){u=a+300|0;f[n>>2]=f[u>>2];f[u>>2]=n;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{u=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[r>>2]=o}m=a+372|0;c=f[m>>2]|0;if(!c)c=0;else{i=a+480|0;j=a+304|0;k=a+308|0;l=a+300|0;do{g=f[c+8>>2]|0;do{e=f[g+36>>2]|0;do if(e|0?(u=(f[e>>2]|0)+-1|0,f[e>>2]=u,(u|0)==0):0){ob[f[e+4>>2]&127](f[e+8>>2]|0);if(f[i>>2]|0){Kc(a,e);break}u=e;if((f[j>>2]|0)>>>0<=u>>>0?(f[k>>2]|0)>>>0>u>>>0:0){f[e>>2]=f[l>>2];f[l>>2]=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);e=g;g=f[g+12>>2]|0;do if(e|0){if(f[i>>2]|0){Kc(a,e);break}u=e;if((f[j>>2]|0)>>>0<=u>>>0?(f[k>>2]|0)>>>0>u>>>0:0){f[e>>2]=f[l>>2];f[l>>2]=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0)}while((g|0)!=0);c=f[c>>2]|0}while((c|0)!=0);c=f[m>>2]|0}f[m>>2]=0;e=a+376|0;g=f[e>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{u=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[e>>2]=0;f[a+364>>2]=0;if(c|0)do{e=c;c=f[c>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}}while((c|0)!=0);f[a+368>>2]=0;m=a+388|0;c=f[m>>2]|0;if(!c)c=0;else{i=a+480|0;j=a+304|0;k=a+308|0;l=a+300|0;do{g=f[c+8>>2]|0;e=f[g+16>>2]|0;if(e|0)ob[e&127](f[g+8>>2]|0);e=f[g+36>>2]|0;if(e|0)ob[e&127](f[g+28>>2]|0);e=f[g+56>>2]|0;if(e|0)ob[e&127](f[g+48>>2]|0);b:do if(!(f[i>>2]|0)){e=g;do if((f[j>>2]|0)>>>0<=e>>>0){if((f[k>>2]|0)>>>0<=e>>>0)break;f[g>>2]=f[l>>2];f[l>>2]=g;break b}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{u=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}else Kc(a,g);while(0);c=f[c>>2]|0}while((c|0)!=0);c=f[m>>2]|0}f[m>>2]=0;e=a+392|0;g=f[e>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{u=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[e>>2]=0;f[a+380>>2]=0;if(c|0)do{e=c;c=f[c>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}}while((c|0)!=0);f[a+384>>2]=0;n=a+344|0;c=f[n>>2]|0;if(!c)c=0;else{j=a+480|0;k=a+304|0;l=a+308|0;m=a+300|0;do{i=f[c+8>>2]|0;e=f[i+12>>2]|0;if(e|0)ob[e&127](f[i+8>>2]|0);e=i+16|0;g=f[e>>2]|0;if(g|0){u=g+36|0;f[u>>2]=f[u>>2]|2;do if(!(f[j>>2]|0)){q=g+32|0;u=(f[q>>2]|0)+-1|0;f[q>>2]=u;if(u|0)break;hg(a,g)}else hg(a,g);while(0);f[e>>2]=0}c:do if(!(f[j>>2]|0)){e=i;do if((f[k>>2]|0)>>>0<=e>>>0){if((f[l>>2]|0)>>>0<=e>>>0)break;f[i>>2]=f[m>>2];f[m>>2]=i;break c}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](i);break}else{u=ib[f[37368>>2]&255](i)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](i);break}}else Kc(a,i);while(0);c=f[c>>2]|0}while((c|0)!=0);c=f[n>>2]|0}f[n>>2]=0;e=a+348|0;g=f[e>>2]|0;do if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{u=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}while(0);f[e>>2]=0;f[a+336>>2]=0;if(c|0)do{e=c;c=f[c>>2]|0;if(!(f[9328]|0))ob[f[37360>>2]&127](e);else{u=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e)}}while((c|0)!=0);f[a+340>>2]=0;f[a+64>>2]=0;c=a+256|0;d:do if(f[c>>2]|0?(Bg(a,0),s=f[c>>2]|0,s|0):0){if(!((d[s+8>>1]&9216)==0?!(f[s+24>>2]|0):0))ff(s);c=f[s+32>>2]|0;do if(c|0){if(f[c+480>>2]|0){Kc(c,s);break d}e=s;if((f[c+304>>2]|0)>>>0>e>>>0)break;if((f[c+308>>2]|0)>>>0<=e>>>0)break;u=c+300|0;f[s>>2]=f[u>>2];f[u>>2]=s;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{u=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}while(0);f[t>>2]=-1254786768;c=f[(f[r>>2]|0)+28>>2]|0;e:do if(c|0){if(f[a+480>>2]|0){Kc(a,c);break}e=c;do if((f[a+304>>2]|0)>>>0<=e>>>0){if((f[a+308>>2]|0)>>>0<=e>>>0)break;u=a+300|0;f[c>>2]=f[u>>2];f[u>>2]=c;break e}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{u=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);f[t>>2]=-1623446221;do if(b[a+278>>0]|0){c=f[a+304>>2]|0;if(!c)break;if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{u=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](a);return}else{u=ib[f[37368>>2]&255](a)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](a);return}} -function Nl(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0;V=t;t=t+112|0;F=V+32|0;D=V+24|0;x=V+16|0;w=V+8|0;o=V;E=V+80|0;P=V+76|0;Q=V+72|0;G=V+40|0;f[P>>2]=0;f[Q>>2]=0;T=f[a>>2]|0;a:do if((f[a+36>>2]|0)==0?(I=T+81|0,(b[I>>0]|0)==0):0){i=f[c+8>>2]|0;if(!i)g=c+12|0;else{k=f[T+16>>2]|0;g=0;while(1)if((f[k+(g<<4)+12>>2]|0)==(i|0))break;else g=g+1|0;g=k+(g<<4)|0}R=pi(a,0,f[c+16>>2]|0,f[g>>2]|0)|0;g=f[a>>2]|0;i=c+24|0;k=f[i>>2]|0;do if(k|0){if(g|0?f[g+480>>2]|0:0){hg(g,k);break}N=k+32|0;O=(f[N>>2]|0)+-1|0;f[N>>2]=O;if(!O)hg(g,k)}while(0);f[i>>2]=R;if(R){O=R+32|0;f[O>>2]=(f[O>>2]|0)+1;b:do if(b[c+45>>0]&2){m=f[c+72>>2]|0;g=f[R+8>>2]|0;c:do if(g|0){n=h[1232+(h[m>>0]|0)>>0]|0;while(1){k=f[g>>2]|0;O=b[k>>0]|0;i=(h[1232+(O&255)>>0]|0)-n|0;if(!(O<<24>>24==0|(i|0)!=0)){l=m;do{k=k+1|0;l=l+1|0;O=b[k>>0]|0;i=(h[1232+(O&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(O<<24>>24==0|(i|0)!=0))}if(!i)break;g=f[g+20>>2]|0;if(!g)break c}f[c+76>>2]=g;break b}while(0);f[o>>2]=m;f[o+4>>2]=0;ni(a,50588,o);b[a+17>>0]=1;g=0;break a}while(0);g=f[a>>2]|0;s=f[g+32>>2]|0;do if(!((s&262144|0)==0&0==0)?(q=f[(f[g+16>>2]|0)+28>>2]|0,(b[a+142>>0]|0)==0):0){p=f[R+72>>2]|0;if((p|0)!=(q|0)?(r=f[q+48>>2]|0,(r|0)!=0):0){o=R+68|0;n=r;g=0;do{m=f[n+8>>2]|0;if((f[m+24>>2]|0)==(p|0)){k=f[m+4>>2]|0;l=f[R>>2]|0;O=b[k>>0]|0;i=(h[1232+(O&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0;if(!(O<<24>>24==0|(i|0)!=0))do{k=k+1|0;l=l+1|0;O=b[k>>0]|0;i=(h[1232+(O&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(O<<24>>24==0|(i|0)!=0));if(!i){if(!g)g=f[o>>2]|0;f[m+32>>2]=g;g=m}}n=f[n>>2]|0}while((n|0)!=0);if(!g)S=40}else S=40;if((S|0)==40){g=f[R+68>>2]|0;if(!g){S=46;break}}i=0;k=g;do{if((b[k+8>>0]|0)==117)i=i|h[k+9>>0];k=f[k+32>>2]|0}while((k|0)!=0);if(i){i=(f[R+12>>2]|0)!=0;if(!g)S=48;else{J=g;y=1;g=1}}else S=46}else S=46;while(0);if((S|0)==46){i=(f[R+12>>2]|0)!=0;S=48}if((S|0)==48){if(!((s&16384|0)==0&0==0)){p=f[R>>2]|0;m=f[R+72>>2]|0;n=f[m+68>>2]|0;if(!n){k=m+60|0;g=m+64|0}else{k=b[p>>0]|0;if(!(k<<24>>24))g=0;else{g=0;l=p;do{l=l+1|0;g=U(g+(h[1232+(k&255)>>0]|0)|0,-1640531535)|0;k=b[l>>0]|0}while(k<<24>>24!=0)}g=(g>>>0)%((f[m+56>>2]|0)>>>0)|0;k=n+(g<<3)|0;g=n+(g<<3)+4|0}k=f[k>>2]|0;d:do if(!k)g=72124;else{o=h[1232+(h[p>>0]|0)>>0]|0;while(1){g=f[g>>2]|0;k=k+-1|0;m=f[g+12>>2]|0;O=b[m>>0]|0;l=(h[1232+(O&255)>>0]|0)-o|0;if(!(O<<24>>24==0|(l|0)!=0)){n=p;do{m=m+1|0;n=n+1|0;O=b[m>>0]|0;l=(h[1232+(O&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(O<<24>>24==0|(l|0)!=0))}if(!l)break d;if(!k){g=72124;break}}}while(0);if(!(f[g+8>>2]|0))g=(f[R+16>>2]|0)!=0&1;else g=1}else g=0;J=0;y=(g|0)!=0;g=0}v=y&1;if((ki(a,R)|0)==0?(fn(a,R,g)|0)==0:0){k=f[R+72>>2]|0;l=f[T+16>>2]|0;if(!k)A=-1e6;else{g=0;while(1)if((f[l+(g<<4)+12>>2]|0)==(k|0)){A=g;break}else g=g+1|0}m=f[R>>2]|0;g=f[l+(A<<4)>>2]|0;k=f[a>>2]|0;if(((b[k+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(u=f[k+312>>2]|0,(u|0)!=0):0){g=nb[u&127](f[k+316>>2]|0,9,m,0,g,f[a+236>>2]|0)|0;if((g|0)==1){ni(a,49816,w);f[a+12>>2]=23;g=0;break}if((g|2|0)!=2){ni(a,49831,x);f[a+12>>2]=1;g=0;break}}else g=0;x=a+40|0;K=f[x>>2]|0;B=K+1|0;f[x>>2]=B;f[c+48>>2]=K;z=R+8|0;k=f[z>>2]|0;if(!k)C=0;else{l=0;m=B;do{m=m+1|0;l=l+1|0;k=f[k+20>>2]|0}while((k|0)!=0);f[x>>2]=m;C=l}if(i){O=a+236|0;N=f[O>>2]|0;f[O>>2]=f[R>>2];O=a}else{N=0;O=0}w=a+8|0;k=f[w>>2]|0;if(!k){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;k=sl(a)|0;if(!k)g=0;else{M=k;S=88}}else{M=k;S=88}e:do if((S|0)==88){L=a+18|0;if(!(b[L>>0]|0)){H=M+145|0;u=h[H>>0]|h[H+1>>0]<<8|32;b[H>>0]=u;b[H+1>>0]=u>>8}H=a+116|0;u=f[H>>2]|0;u=(u|0)==0?a:u;k=u+84|0;l=f[k>>2]|0;s=1<>2]=l|s,(A|0)==1):0){r=f[u>>2]|0;k=r+16|0;if(f[(f[k>>2]|0)+20>>2]|0)break;if(b[u+195>>0]|0)break;l=cj(f[r>>2]|0,0,r,E,0,542)|0;if(l|0){ni(u,51535,D);f[u+12>>2]=l;break}D=f[E>>2]|0;f[(f[k>>2]|0)+20>>2]=D;k=f[r+92>>2]|0;n=f[D+4>>2]|0;f[n+4>>2]=f[D>>2];do if(!(d[n+22>>1]&2)){o=n+32|0;p=n+36|0;q=(f[o>>2]|0)-(f[p>>2]|0)|0;do if((k+-512|0)>>>0<65025){if(k+-1&k|0)break;f[o>>2]=k;m=n+80|0;k=f[m>>2]|0;if(!k)break;l=k+-4|0;f[m>>2]=l;k=l;do if((f[18022]|0)>>>0<=k>>>0)if((f[18023]|0)>>>0>k>>>0){f[18188]=(f[18188]|0)+-1;f[l>>2]=f[18025];f[18025]=l;D=(f[18026]|0)+1|0;f[18026]=D;f[18027]=(D|0)<(f[18021]|0)&1;break}else{k=ib[f[37368>>2]&255](l)|0;S=105;break}else{k=ib[f[37368>>2]&255](l)|0;S=105}while(0);do if((S|0)==105){f[18189]=(f[18189]|0)-k;if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{D=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-D;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);f[m>>2]=0}while(0);D=ih(f[n>>2]|0,o,q)|0;f[p>>2]=(f[o>>2]|0)-(q&65535);if((D|0)!=7)break;k=r+81|0;do if(!(b[k>>0]|0)){if(b[r+82>>0]|0)break;b[k>>0]=1;if((f[r+180>>2]|0)>0)f[r+264>>2]=1;D=r+272|0;f[D>>2]=(f[D>>2]|0)+1}while(0);break f}while(0)}while(0);D=u+80|0;f[D>>2]=f[D>>2]|s;D=u+20|0;b[D>>0]=h[D>>0]|v;if(i){io(a,R,e,K);f[Q>>2]=K;f[P>>2]=K}D=G+8|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;f[G>>2]=a;f[G+4>>2]=c;g:do if(e){l=G+24|0;d[l>>1]=0;f[E>>2]=a;f[E+4>>2]=146;f[E+8>>2]=147;f[E+12>>2]=0;f[E+24>>2]=G;m=e+24|0;k=a+204|0;D=(f[k>>2]|0)+(f[m>>2]|0)|0;f[k>>2]=D;k=f[(f[a>>2]|0)+120>>2]|0;do if((k|0)>=(D|0)){oi(E,e)|0;k=f[E>>2]|0;F=k+204|0;f[F>>2]=(f[F>>2]|0)-(f[m>>2]|0);if(d[l>>1]&16){F=e+4|0;f[F>>2]=f[F>>2]|2}if((f[G+20>>2]|0)>0)break;if((f[k+36>>2]|0)<1)break g;else{g=0;break e}}else{f[F>>2]=k;ni(a,42710,F)}while(0);g=0;break e}while(0);do if(!(0==0?(f[T+32>>2]&128|0)==0:0)){if(b[L>>0]|0){F=0;break}if(f[a+120>>2]|0){F=0;break}l=a+44|0;k=(f[l>>2]|0)+1|0;f[l>>2]=k;l=M+136|0;m=f[l>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;F=f[M+88>>2]|0;b[F+(m*20|0)>>0]=70;d[F+(m*20|0)+2>>1]=0;f[F+(m*20|0)+4>>2]=0;f[F+(m*20|0)+8>>2]=k;f[F+(m*20|0)+12>>2]=0;f[F+(m*20|0)+16>>2]=0;b[F+(m*20|0)+1>>0]=0;F=k;break}else{tl(M,70,0,k,0)|0;F=k;break}}else F=0;while(0);do if(y|((e|0)!=0|(g|0)!=0))S=153;else{if(f[R+56>>2]|0){S=153;break}g=R+28|0;nm(a,A,f[g>>2]|0,1,f[R>>2]|0);do if(!(f[R+36>>2]&32)){i=f[g>>2]|0;k=(F|0)==0?-1:F;m=f[R>>2]|0;l=M+136|0;g=f[l>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(g|0)){f[l>>2]=g+1;R=f[M+88>>2]|0;b[R+(g*20|0)>>0]=-118;d[R+(g*20|0)+2>>1]=0;f[R+(g*20|0)+4>>2]=i;f[R+(g*20|0)+8>>2]=A;f[R+(g*20|0)+12>>2]=k;f[R+(g*20|0)+16>>2]=0;b[R+(g*20|0)+1>>0]=0}else g=tl(M,138,i,A,k)|0;if(b[(f[M>>2]|0)+81>>0]|0)break;if((g|0)<0)g=(f[l>>2]|0)+-1|0;i=f[M+88>>2]|0;k=i+(g*20|0)+1|0;if(b[k>>0]|0){ul(M,i+(g*20|0)|0,m,-1);break}if(!m)break;f[i+(g*20|0)+16>>2]=m;b[k>>0]=-1}while(0);g=f[z>>2]|0;if(!g){g=0;break}l=M+136|0;m=M+12|0;n=M+88|0;do{i=f[g+44>>2]|0;k=f[l>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(k|0)){f[l>>2]=k+1;R=f[n>>2]|0;b[R+(k*20|0)>>0]=-118;d[R+(k*20|0)+2>>1]=0;f[R+(k*20|0)+4>>2]=i;f[R+(k*20|0)+8>>2]=A;f[R+(k*20|0)+12>>2]=0;f[R+(k*20|0)+16>>2]=0;b[R+(k*20|0)+1>>0]=0}else tl(M,138,i,A,0)|0;g=f[g+20>>2]|0}while((g|0)!=0);g=0}while(0);do if((S|0)==153){r=y|(d[G+24>>1]&64)!=0?1044:1052;h:do if(!(f[R+36>>2]&32)){g=a+44|0;l=(f[g>>2]|0)+1|0;f[g>>2]=l;g=M+136|0;k=f[g>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(k|0)){f[g>>2]=k+1;s=f[M+88>>2]|0;b[s+(k*20|0)>>0]=73;d[s+(k*20|0)+2>>1]=0;f[s+(k*20|0)+4>>2]=0;f[s+(k*20|0)+8>>2]=l;f[s+(k*20|0)+12>>2]=0;f[s+(k*20|0)+16>>2]=0;b[s+(k*20|0)+1>>0]=0;s=0;E=0;p=1;v=0;g=0;break}else{tl(M,73,0,l,0)|0;s=0;E=0;p=1;v=0;g=0;break}}else{g=f[z>>2]|0;i:do if(!g)g=0;else while(1){G=g+55|0;if(((h[G>>0]|h[G+1>>0]<<8)&3)==2)break i;g=f[g+20>>2]|0;if(!g){g=0;break}}while(0);p=d[g+50>>1]|0;o=a+44|0;k=f[o>>2]|0;q=k+1|0;m=p<<16>>16;f[o>>2]=k+m;o=f[x>>2]|0;f[x>>2]=o+1;k=M+136|0;l=f[k>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;G=f[M+88>>2]|0;b[G+(l*20|0)>>0]=113;d[G+(l*20|0)+2>>1]=0;f[G+(l*20|0)+4>>2]=o;f[G+(l*20|0)+8>>2]=m;f[G+(l*20|0)+12>>2]=0;f[G+(l*20|0)+16>>2]=0;b[G+(l*20|0)+1>>0]=0}else l=tl(M,113,o,m,0)|0;k=f[w>>2]|0;n=om(a,g)|0;if(!n){s=l;l=0;E=o;v=q;break}m=f[k>>2]|0;if(!(b[m+81>>0]|0)){E=f[k+88>>2]|0;s=(f[k+136>>2]|0)+-1|0;b[E+(s*20|0)+1>>0]=-9;f[E+(s*20|0)+16>>2]=n;s=l;l=0;E=o;v=q;break}if(f[m+480>>2]|0){s=l;l=0;E=o;v=q;break}G=(f[n>>2]|0)+-1|0;f[n>>2]=G;if(G|0){s=l;l=0;E=o;v=q;break}k=f[n+12>>2]|0;do if(k|0){if(f[k+480>>2]|0){Kc(k,n);s=l;l=0;E=o;v=q;break h}m=n;if((f[k+304>>2]|0)>>>0>m>>>0)break;if((f[k+308>>2]|0)>>>0<=m>>>0)break;s=k+300|0;f[n>>2]=f[s>>2];f[s>>2]=n;s=l;l=0;E=o;v=q;break h}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](n);s=l;l=0;E=o;v=q;break}else{s=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);s=l;l=0;E=o;v=q;break}}while(0);D=sn(a,c,e,0,0,r,B)|0;if(!D){g=0;break e}x=D+24|0;o=f[x>>2]|0;x=f[x+4>>2]|0;y=b[D+49>>0]|0;z=y<<24>>24==1;if(!z){G=f[H>>2]|0;b[((G|0)==0?a:G)+20>>0]=1}do if(F|0){k=M+136|0;m=f[k>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(m|0)){f[k>>2]=m+1;G=f[M+88>>2]|0;b[G+(m*20|0)>>0]=83;d[G+(m*20|0)+2>>1]=0;f[G+(m*20|0)+4>>2]=F;f[G+(m*20|0)+8>>2]=1;f[G+(m*20|0)+12>>2]=0;f[G+(m*20|0)+16>>2]=0;b[G+(m*20|0)+1>>0]=0;break}else{tl(M,83,F,1,0)|0;break}}while(0);B=(g|0)!=0;do if(!B){m=a+44|0;k=(f[m>>2]|0)+1|0;f[m>>2]=k;m=M+136|0;n=f[m>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;w=f[M+88>>2]|0;b[w+(n*20|0)>>0]=-127;d[w+(n*20|0)+2>>1]=0;f[w+(n*20|0)+4>>2]=K;f[w+(n*20|0)+8>>2]=k;f[w+(n*20|0)+12>>2]=0;f[w+(n*20|0)+16>>2]=0;b[w+(n*20|0)+1>>0]=0;w=k;break}else{tl(M,129,K,k,0)|0;w=k;break}}else{m=p<<16>>16;if(p<<16>>16<=0){w=v;break}n=g+4|0;k=0;do{Am(M,R,K,d[(f[n>>2]|0)+(k<<1)>>1]|0,k+v|0);k=k+1|0}while((k|0)!=(m|0));w=v}while(0);A=y<<24>>24!=0;j:do if(A){m=C+2|0;k:do if(f[T+272>>2]|0){if(!(b[I>>0]|0))S=203}else{do if(!(0<0|(0==0?(j[T+276>>1]|0)>>>0>>0:0))){k=T+300|0;g=f[k>>2]|0;if(g|0){f[k>>2]=f[g>>2];S=T+284|0;f[S>>2]=(f[S>>2]|0)+1;S=204;break k}k=T+296|0;g=f[k>>2]|0;if(!g){g=T+292|0;break}else{f[k>>2]=f[g>>2];S=T+284|0;f[S>>2]=(f[S>>2]|0)+1;S=204;break k}}else g=T+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;S=203}while(0);if((S|0)==203){g=Dc(T,m,0)|0;S=204}do if((S|0)==204){if(!g)break;I=C+1|0;_A(g|0,1,I|0)|0;b[g+I>>0]=0;if((o|0)>-1)b[g+(o-K)>>0]=0;if((x|0)>-1)b[g+(x-K)>>0]=0;do if(s|0){k=f[M>>2]|0;if(b[k+81>>0]|0)break;I=f[M+88>>2]|0;C=I+(s*20|0)+1|0;G=I+(s*20|0)+16|0;qg(k,b[C>>0]|0,f[G>>2]|0);b[C>>0]=0;f[G>>2]=0;b[I+(s*20|0)>>0]=-85}while(0);k=f[M+12>>2]|0;s=k+60|0;u=f[s>>2]|0;f[s>>2]=u+1;s=k+64|0;if(!(u+-1&u)){q=u<<3|4;r=f[k>>2]|0;k=f[s>>2]|0;l:do if(k){n=k;o=r+304|0;do if((f[o>>2]|0)>>>0<=n>>>0){if((f[r+308>>2]|0)>>>0<=n>>>0)break;if(!(0<0|(0==0?(j[r+276>>1]|0)>>>0>>0:0)))break l}while(0);m=Lc(r,k,q,0)|0;if(m|0){k=m;break}if(f[r+480>>2]|0){Kc(r,k);k=0;break}do if((f[o>>2]|0)>>>0<=n>>>0){if((f[r+308>>2]|0)>>>0<=n>>>0)break;I=r+300|0;f[k>>2]=f[I>>2];f[I>>2]=k;k=0;break l}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](k);k=0;break}else{I=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-I;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);k=0;break}}else{if(f[r+272>>2]|0){if(b[r+81>>0]|0){k=0;break}}else{do if(!(0<0|(0==0?(j[r+276>>1]|0)>>>0>>0:0))){m=r+300|0;k=f[m>>2]|0;if(k|0){f[m>>2]=f[k>>2];I=r+284|0;f[I>>2]=(f[I>>2]|0)+1;break l}m=r+296|0;k=f[m>>2]|0;if(!k){k=r+292|0;break}else{f[m>>2]=f[k>>2];I=r+284|0;f[I>>2]=(f[I>>2]|0)+1;break l}}else k=r+288|0;while(0);f[k>>2]=(f[k>>2]|0)+1}k=Dc(r,q,0)|0}while(0);f[s>>2]=k}else k=f[s>>2]|0;if(k|0)f[k+(u<<2)>>2]=-1;r=~u;break j}while(0);tn(D);g=0;break e}else{do if(!B){g=M+136|0;k=f[g>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(k|0)){f[g>>2]=k+1;g=f[M+88>>2]|0;b[g+(k*20|0)>>0]=-107;d[g+(k*20|0)+2>>1]=0;f[g+(k*20|0)+4>>2]=l;f[g+(k*20|0)+8>>2]=w;f[g+(k*20|0)+12>>2]=0;f[g+(k*20|0)+16>>2]=0;b[g+(k*20|0)+1>>0]=0;g=1;k=w;break}else{tl(M,149,l,w,0)|0;g=1;k=w;break}}else{u=a+44|0;k=(f[u>>2]|0)+1|0;f[u>>2]=k;u=p<<16>>16;q=Bm(f[a>>2]|0,g)|0;r=M+136|0;g=f[r>>2]|0;s=M+12|0;if((f[(f[s>>2]|0)+48>>2]|0)>(g|0)){f[r>>2]=g+1;I=f[M+88>>2]|0;b[I+(g*20|0)>>0]=102;d[I+(g*20|0)+2>>1]=0;f[I+(g*20|0)+4>>2]=v;f[I+(g*20|0)+8>>2]=u;f[I+(g*20|0)+12>>2]=k;f[I+(g*20|0)+16>>2]=0;b[I+(g*20|0)+1>>0]=0}else g=tl(M,102,v,u,k)|0;m=f[M>>2]|0;m:do if(!(b[m+81>>0]|0)){if((g|0)<0)g=(f[r>>2]|0)+-1|0;m=f[M+88>>2]|0;n=m+(g*20|0)|0;do if(p<<16>>16<=-1){o=m+(g*20|0)+1|0;if(b[o>>0]|0)break;if(p<<16>>16==-3){f[m+(g*20|0)+16>>2]=q;b[o>>0]=-3;break m}if(!q)break m;f[m+(g*20|0)+16>>2]=q;b[o>>0]=p;if(p<<16>>16!=-12)break m;I=q+12|0;f[I>>2]=(f[I>>2]|0)+1;break m}while(0);ul(M,n,q,u)}else{if(p<<16>>16==-12)break;qg(m,u,q)}while(0);g=f[r>>2]|0;if((f[(f[s>>2]|0)+48>>2]|0)>(g|0)){f[r>>2]=g+1;I=f[M+88>>2]|0;b[I+(g*20|0)>>0]=-123;d[I+(g*20|0)+2>>1]=0;f[I+(g*20|0)+4>>2]=E;f[I+(g*20|0)+8>>2]=k;f[I+(g*20|0)+12>>2]=v;f[I+(g*20|0)+16>>2]=0;b[I+(g*20|0)+1>>0]=0}else g=tl(M,133,E,k,v)|0;if(b[(f[M>>2]|0)+81>>0]|0){g=0;break}I=f[M+88>>2]|0;b[I+(g*20|0)+1>>0]=-3;f[I+(g*20|0)+16>>2]=u;g=0}while(0);tn(D);r=0;p=g;g=0;w=k}while(0);do if(!i){if(y<<24>>24!=2){_m(a,R,110,8,K,g,P,Q)|0;break}n=M+136|0;i=f[n>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(i|0)){f[n>>2]=i+1;k=f[M+88>>2]|0;b[k+(i*20|0)>>0]=17;k=k+(i*20|0)+1|0;m=k+19|0;do{b[k>>0]=0;k=k+1|0}while((k|0)<(m|0))}else i=tl(M,17,0,0,0)|0;_m(a,R,110,8,K,g,P,Q)|0;k=f[n>>2]|0;if(!(b[(f[M>>2]|0)+81>>0]|0))i=(f[M+88>>2]|0)+(((i|0)<0?k+-1|0:i)*20|0)|0;else i=72144;f[i+8>>2]=k}while(0);do if(!A){n=M+136|0;k=f[n>>2]|0;m=M+12|0;i=(f[(f[m>>2]|0)+48>>2]|0)>(k|0);if(!B)if(i){f[n>>2]=k+1;q=f[M+88>>2]|0;b[q+(k*20|0)>>0]=41;d[q+(k*20|0)+2>>1]=0;f[q+(k*20|0)+4>>2]=l;f[q+(k*20|0)+8>>2]=0;f[q+(k*20|0)+12>>2]=w;f[q+(k*20|0)+16>>2]=0;b[q+(k*20|0)+1>>0]=0;q=k;break}else{q=tl(M,41,l,0,w)|0;break}if(i){f[n>>2]=k+1;I=f[M+88>>2]|0;b[I+(k*20|0)>>0]=36;d[I+(k*20|0)+2>>1]=0;f[I+(k*20|0)+4>>2]=E;f[I+(k*20|0)+8>>2]=0;f[I+(k*20|0)+12>>2]=0;f[I+(k*20|0)+16>>2]=0;b[I+(k*20|0)+1>>0]=0}else k=tl(M,36,E,0,0)|0;l=f[n>>2]|0;i=(f[(f[m>>2]|0)+48>>2]|0)>(l|0);if(!(f[R+56>>2]|0))if(i){f[n>>2]=l+1;q=f[M+88>>2]|0;b[q+(l*20|0)>>0]=-128;d[q+(l*20|0)+2>>1]=0;f[q+(l*20|0)+4>>2]=E;f[q+(l*20|0)+8>>2]=w;f[q+(l*20|0)+12>>2]=0;f[q+(l*20|0)+16>>2]=0;b[q+(l*20|0)+1>>0]=0;q=k;break}else{tl(M,128,E,w,0)|0;q=k;break}else if(i){f[n>>2]=l+1;q=f[M+88>>2]|0;b[q+(l*20|0)>>0]=90;d[q+(l*20|0)+2>>1]=0;f[q+(l*20|0)+4>>2]=E;f[q+(l*20|0)+8>>2]=0;f[q+(l*20|0)+12>>2]=w;f[q+(l*20|0)+16>>2]=0;b[q+(l*20|0)+1>>0]=0;q=k;break}else{tl(M,90,E,0,w)|0;q=k;break}}else{if(f[R+56>>2]|0){q=0;break}k=f[P>>2]|0;if(!(b[g+(k-K)>>0]|0)){q=0;break}l=M+136|0;i=f[l>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(i|0)){f[l>>2]=i+1;I=f[M+88>>2]|0;b[I+(i*20|0)>>0]=28;d[I+(i*20|0)+2>>1]=0;f[I+(i*20|0)+4>>2]=k;f[I+(i*20|0)+8>>2]=r;f[I+(i*20|0)+12>>2]=w;f[I+(i*20|0)+16>>2]=0;b[I+(i*20|0)+1>>0]=0}else i=tl(M,28,k,r,w)|0;if(b[(f[M>>2]|0)+81>>0]|0){q=0;break}q=f[M+88>>2]|0;b[q+(i*20|0)+1>>0]=-3;f[q+(i*20|0)+16>>2]=p<<16>>16;q=0}while(0);do if(!(f[R+56>>2]|0))bo(a,R,J,f[P>>2]|0,f[Q>>2]|0,w,p,(b[L>>0]|0)==0&1,11,y,x);else{i=f[R+64>>2]|0;n:do if(!i)p=0;else while(1){if((f[i>>2]|0)==(T|0)){p=i;break n}i=f[i+24>>2]|0;if(!i){p=0;break}}while(0);o=f[H>>2]|0;o=(o|0)==0?a:o;n=o+200|0;m=f[n>>2]|0;l=o+248|0;o:do if((m|0)>0){i=f[l>>2]|0;k=0;do{if((f[i+(k<<2)>>2]|0)==(R|0))break o;k=k+1|0}while((k|0)<(m|0));k=l;S=311}else{k=l;i=f[l>>2]|0;S=311}while(0);p:do if((S|0)==311){do if(!(Mc()|0)){S=(m<<2)+4|0;i=Nc(i,S,((S|0)<0)<<31>>31)|0;if(!i)break;f[k>>2]=i;S=f[n>>2]|0;f[n>>2]=S+1;f[i+(S<<2)>>2]=R;break p}while(0);i=f[o>>2]|0;k=i+81|0;if(b[k>>0]|0)break;if(b[i+82>>0]|0)break;b[k>>0]=1;if((f[i+180>>2]|0)>0)f[i+264>>2]=1;S=i+272|0;f[S>>2]=(f[S>>2]|0)+1}while(0);m=f[H>>2]|0;b[((m|0)==0?a:m)+21>>0]=1;m=M+136|0;do if(z){i=f[m>>2]|0;k=M+12|0;if((f[(f[k>>2]|0)+48>>2]|0)>(i|0)){f[m>>2]=i+1;S=f[M+88>>2]|0;b[S+(i*20|0)>>0]=117;d[S+(i*20|0)+2>>1]=0;f[S+(i*20|0)+4>>2]=K;f[S+(i*20|0)+8>>2]=0;f[S+(i*20|0)+12>>2]=0;f[S+(i*20|0)+16>>2]=0;b[S+(i*20|0)+1>>0]=0}else tl(M,117,K,0,0)|0;if(f[H>>2]|0)break;b[a+20>>0]=0}else k=M+12|0;while(0);i=f[m>>2]|0;if((f[(f[k>>2]|0)+48>>2]|0)>(i|0)){f[m>>2]=i+1;S=f[M+88>>2]|0;b[S+(i*20|0)>>0]=10;d[S+(i*20|0)+2>>1]=0;f[S+(i*20|0)+4>>2]=0;f[S+(i*20|0)+8>>2]=1;f[S+(i*20|0)+12>>2]=w;f[S+(i*20|0)+16>>2]=0;b[S+(i*20|0)+1>>0]=0}else i=tl(M,10,0,1,w)|0;do if(!(b[(f[M>>2]|0)+81>>0]|0)){if((i|0)<0)i=(f[m>>2]|0)+-1|0;k=f[M+88>>2]|0;l=k+(i*20|0)+1|0;if(b[l>>0]|0){ul(M,k+(i*20|0)|0,p,-12);break}if(!p)break;f[k+(i*20|0)+16>>2]=p;b[l>>0]=-12;S=p+12|0;f[S>>2]=(f[S>>2]|0)+1}while(0);i=f[m>>2]|0;if((i|0)<=0)break;d[(f[M+88>>2]|0)+((i+-1|0)*20|0)+2>>1]=2}while(0);if(A){i=f[(f[M+12>>2]|0)+64>>2]|0;if(i|0)f[i+(~r<<2)>>2]=f[M+136>>2];tn(D);break}if(B){i=q+1|0;k=M+136|0;l=f[k>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(l|0)){f[k>>2]=l+1;S=f[M+88>>2]|0;b[S+(l*20|0)>>0]=5;d[S+(l*20|0)+2>>1]=0;f[S+(l*20|0)+4>>2]=E;f[S+(l*20|0)+8>>2]=i;f[S+(l*20|0)+12>>2]=0;f[S+(l*20|0)+16>>2]=0;b[S+(l*20|0)+1>>0]=0}else tl(M,5,E,i,0)|0;k=f[k>>2]|0;if(!(b[(f[M>>2]|0)+81>>0]|0))i=(f[M+88>>2]|0)+(((q|0)<0?k+-1|0:q)*20|0)|0;else i=72144;f[i+8>>2]=k;break}else{i=M+136|0;k=f[i>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;S=f[M+88>>2]|0;b[S+(k*20|0)>>0]=11;d[S+(k*20|0)+2>>1]=0;f[S+(k*20|0)+4>>2]=0;f[S+(k*20|0)+8>>2]=q;f[S+(k*20|0)+12>>2]=0;f[S+(k*20|0)+16>>2]=0;b[S+(k*20|0)+1>>0]=0}else tl(M,11,0,q,0)|0;k=f[i>>2]|0;if(!(b[(f[M>>2]|0)+81>>0]|0))i=(f[M+88>>2]|0)+(((q|0)<0?k+-1|0:q)*20|0)|0;else i=72144;f[i+8>>2]=k;break}}while(0);do if(!(b[L>>0]|0)){if(f[a+120>>2]|0)break;if(!(f[a+112>>2]|0))break;jn(a)}while(0);if(!F)break;i=M+136|0;k=f[i>>2]|0;if((f[(f[M+12>>2]|0)+48>>2]|0)>(k|0)){f[i>>2]=k+1;a=f[M+88>>2]|0;b[a+(k*20|0)>>0]=81;d[a+(k*20|0)+2>>1]=0;f[a+(k*20|0)+4>>2]=F;f[a+(k*20|0)+8>>2]=1;f[a+(k*20|0)+12>>2]=0;f[a+(k*20|0)+16>>2]=0;b[a+(k*20|0)+1>>0]=0}else tl(M,81,F,1,0)|0;Mi(M,1);if(b[(f[M>>2]|0)+81>>0]|0)break;$e(f[M+100>>2]|0,57104,-1,1,0)|0}while(0);if(O)f[O+236>>2]=N}else g=0}else g=0}else g=0;while(0);ng(T,c);if(e|0)ig(T,e);if(!g){t=V;return}if(T|0){if(f[T+480>>2]|0){Kc(T,g);t=V;return}e=g;if((f[T+304>>2]|0)>>>0<=e>>>0?(f[T+308>>2]|0)>>>0>e>>>0:0){T=T+300|0;f[g>>2]=f[T>>2];f[T>>2]=g;t=V;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](g);t=V;return}else{T=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-T;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);t=V;return}}function Ol(a,c,e,g,i,k){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=t;t=t+128|0;fa=Da+48|0;$=Da+40|0;S=Da+32|0;W=Da+24|0;V=Da+16|0;T=Da+8|0;r=Da;ea=Da+88|0;ga=Da+56|0;za=Da+52|0;f[za>>2]=0;Ca=f[a>>2]|0;a:do if((f[a+36>>2]|0)==0?(z=Ca+81|0,(b[z>>0]|0)==0):0){m=f[c+8>>2]|0;if(!m)l=c+12|0;else{n=f[Ca+16>>2]|0;l=0;while(1)if((f[n+(l<<4)+12>>2]|0)==(m|0))break;else l=l+1|0;l=n+(l<<4)|0}Ba=pi(a,0,f[c+16>>2]|0,f[l>>2]|0)|0;l=f[a>>2]|0;m=c+24|0;n=f[m>>2]|0;do if(n|0){if(l|0?f[l+480>>2]|0:0){hg(l,n);break}xa=n+32|0;ya=(f[xa>>2]|0)+-1|0;f[xa>>2]=ya;if(!ya)hg(l,n)}while(0);f[m>>2]=Ba;if(Ba|0){ya=Ba+32|0;f[ya>>2]=(f[ya>>2]|0)+1;b:do if(b[c+45>>0]&2){p=f[c+72>>2]|0;l=f[Ba+8>>2]|0;c:do if(l|0){q=h[1232+(h[p>>0]|0)>>0]|0;while(1){n=f[l>>2]|0;ya=b[n>>0]|0;m=(h[1232+(ya&255)>>0]|0)-q|0;if(!(ya<<24>>24==0|(m|0)!=0)){o=p;do{n=n+1|0;o=o+1|0;ya=b[n>>0]|0;m=(h[1232+(ya&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(ya<<24>>24==0|(m|0)!=0))}if(!m)break;l=f[l+20>>2]|0;if(!l)break c}f[c+76>>2]=l;break b}while(0);f[r>>2]=p;f[r+4>>2]=0;ni(a,50588,r);b[a+17>>0]=1;break a}while(0);n=f[a>>2]|0;ya=Ba+72|0;s=f[ya>>2]|0;if(!s)_=-1e6;else{m=f[n+16>>2]|0;l=0;while(1)if((f[m+(l<<4)+12>>2]|0)==(s|0)){_=l;break}else l=l+1|0}do if(!(0==0?(f[n+32>>2]&262144|0)==0:0)?(u=f[(f[n+16>>2]|0)+28>>2]|0,(b[a+142>>0]|0)==0):0){if((s|0)!=(u|0)?(v=f[u+48>>2]|0,(v|0)!=0):0){r=Ba+68|0;q=v;l=0;do{p=f[q+8>>2]|0;if((f[p+24>>2]|0)==(s|0)){n=f[p+4>>2]|0;o=f[Ba>>2]|0;xa=b[n>>0]|0;m=(h[1232+(xa&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0;if(!(xa<<24>>24==0|(m|0)!=0))do{n=n+1|0;o=o+1|0;xa=b[n>>0]|0;m=(h[1232+(xa&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(xa<<24>>24==0|(m|0)!=0));if(!m){if(!l)l=f[r>>2]|0;f[p+32>>2]=l;l=p}}q=f[q>>2]|0}while((q|0)!=0);if(!l)Aa=43}else Aa=43;if((Aa|0)==43){l=f[Ba+68>>2]|0;if(!l){Aa=65;break}}if(!e){m=0;n=l;do{if((b[n+8>>0]|0)==118)m=m|h[n+9>>0];n=f[n+32>>2]|0}while((n|0)!=0)}else{m=0;y=l;do{d:do if((b[y+8>>0]|0)==118){n=f[y+16>>2]|0;e:do if(n|0){x=f[e>>2]|0;if((x|0)<=0)break d;w=f[n+4>>2]|0;if((w|0)<=0)break d;s=f[n>>2]|0;q=0;while(1){u=f[e+4+(q*20|0)+4>>2]|0;v=h[1232+(h[u>>0]|0)>>0]|0;r=0;do{o=f[s+(r<<3)>>2]|0;xa=b[o>>0]|0;n=(h[1232+(xa&255)>>0]|0)-v|0;if(!(xa<<24>>24==0|(n|0)!=0)){p=u;do{o=o+1|0;p=p+1|0;xa=b[o>>0]|0;n=(h[1232+(xa&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0}while(!(xa<<24>>24==0|(n|0)!=0))}if(!n)break e;r=r+1|0}while((r|0)<(w|0));q=q+1|0;if((q|0)>=(x|0))break d}}while(0);m=m|h[y+9>>0]}while(0);y=f[y+32>>2]|0}while((y|0)!=0)}if(!m)Aa=65}else Aa=65;while(0);if((Aa|0)==65){m=0;l=0}wa=(f[Ba+12>>2]|0)!=0;if((ki(a,Ba)|0)==0?(fn(a,Ba,m)|0)==0:0){ca=a+40|0;ia=f[ca>>2]|0;s=ia+1|0;f[ca>>2]=s;ja=Ba+36|0;aa=Ba+8|0;o=f[aa>>2]|0;f:do if(f[ja>>2]&32)if(!o){p=0;o=ia;n=0}else{n=o;while(1){Aa=n+55|0;if(((h[Aa>>0]|h[Aa+1>>0]<<8)&3)==2){Aa=73;break f}n=f[n+20>>2]|0;if(!n){n=0;Aa=73;break}}}else{n=0;Aa=73}while(0);if((Aa|0)==73)if(!o){p=0;o=ia}else{p=0;r=ia;q=s;do{r=(n|0)==(o|0)?q:r;q=q+1|0;p=p+1|0;o=f[o+20>>2]|0}while((o|0)!=0);f[ca>>2]=q;o=r}da=(k|0)!=0;if(da){o=f[k+28>>2]|0;s=f[k+32>>2]|0;f[ca>>2]=ia}Z=c+48|0;f[Z>>2]=o;xa=Ba+42|0;u=p+2+(p+(d[xa>>1]|0)<<2)|0;g:do if(f[Ca+272>>2]|0)if(!(b[z>>0]|0))Aa=89;else break a;else{do if(!(0<0|(0==0?(j[Ca+276>>1]|0)>>>0>>0:0))){q=Ca+300|0;r=f[q>>2]|0;if(r|0){f[q>>2]=f[r>>2];va=Ca+284|0;f[va>>2]=(f[va>>2]|0)+1;break g}q=Ca+296|0;r=f[q>>2]|0;if(!r){q=Ca+292|0;break}else{f[q>>2]=f[r>>2];va=Ca+284|0;f[va>>2]=(f[va>>2]|0)+1;break g}}else q=Ca+288|0;while(0);f[q>>2]=(f[q>>2]|0)+1;Aa=89}while(0);if((Aa|0)==89)r=Dc(Ca,u,0)|0;if(r|0){va=r+(d[xa>>1]<<2)|0;ha=va+(p<<2)|0;X=p+1|0;_A(ha|0,1,X|0)|0;b[ha+X>>0]=0;ua=d[xa>>1]|0;q=ua<<16>>16;if(ua<<16>>16>0)_A(r|0,-1,((q|0)>1?q:1)<<2|0)|0;Y=ga+12|0;f[Y>>2]=0;f[Y+4>>2]=0;f[Y+8>>2]=0;f[Y+12>>2]=0;f[Y+16>>2]=0;f[ga>>2]=a;f[ga+4>>2]=c;f[ga+8>>2]=k;Y=ga+24|0;d[Y>>1]=512;h:do if((f[e>>2]|0)>0){H=ea+4|0;I=ea+8|0;J=ea+12|0;K=ea+24|0;L=(n|0)==0;M=Ca+16|0;N=Ba+4|0;O=a+196|0;P=ga+20|0;Q=a+236|0;R=Ba+40|0;D=0;v=0;F=0;G=0;i:while(1){E=e+4+(G*20|0)|0;x=f[E>>2]|0;if(x){y=j[Y>>1]|0;d[Y>>1]=y&61423;q=f[ga>>2]|0;f[ea>>2]=q;f[H>>2]=146;f[I>>2]=147;f[J>>2]=0;f[K>>2]=ga;w=x+24|0;u=q;ta=u+204|0;ua=(f[ta>>2]|0)+(f[w>>2]|0)|0;f[ta>>2]=ua;u=f[(f[u>>2]|0)+120>>2]|0;if((u|0)<(ua|0)){Aa=98;break}oi(ea,x)|0;u=f[ea>>2]|0;q=u+204|0;f[q>>2]=(f[q>>2]|0)-(f[w>>2]|0);q=d[Y>>1]|0;if(q&16){ua=x+4|0;f[ua>>2]=f[ua>>2]|2}d[Y>>1]=y&4112|q&65535;if((f[P>>2]|0)>0)break;if((f[u+36>>2]|0)>=1){Aa=947;break h}}q=d[xa>>1]|0;j:do if(q<<16>>16>0){C=f[N>>2]|0;z=f[e+4+(G*20|0)+4>>2]|0;B=h[1232+(h[z>>0]|0)>>0]|0;y=q<<16>>16;A=0;while(1){x=f[C+(A<<4)>>2]|0;ua=b[x>>0]|0;q=(h[1232+(ua&255)>>0]|0)-B|0;if(!(ua<<24>>24==0|(q|0)!=0)){u=z;w=x;do{w=w+1|0;u=u+1|0;ua=b[w>>0]|0;q=(h[1232+(ua&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0}while(!(ua<<24>>24==0|(q|0)!=0))}if(!q)break;q=A+1|0;if((q|0)<(y|0))A=q;else{Aa=116;break j}}do if((A|0)==(d[R>>1]|0)){u=f[E>>2]|0;v=1;q=F}else{if(L){u=D;q=F;break}u=D;q=(b[C+(A<<4)+15>>0]&1)==0?F:1}while(0);f[r+(A<<2)>>2]=G;B=q;y=u;z=v}else{z=f[e+4+(G*20|0)+4>>2]|0;Aa=116}while(0);if((Aa|0)==116){Aa=0;if(!L){Aa=130;break}x=b[z>>0]|0;w=h[1232+(x&255)>>0]|0;q=w+-95|0;x=x<<24>>24==0;if(!(x|(q|0)!=0)){u=49617;v=z;do{v=v+1|0;u=u+1|0;ua=b[v>>0]|0;q=(h[1232+(ua&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0}while(!(ua<<24>>24==0|(q|0)!=0))}do if(q|0){q=w+-114|0;if(!(x|(q|0)!=0)){u=49625;v=z;do{v=v+1|0;u=u+1|0;ua=b[v>>0]|0;q=(h[1232+(ua&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0}while(!(ua<<24>>24==0|(q|0)!=0))}if(!q)break;q=w+-111|0;if(!(x|(q|0)!=0)){u=49631;v=z;do{v=v+1|0;u=u+1|0;ua=b[v>>0]|0;q=(h[1232+(ua&255)>>0]|0)-(h[1232+(h[u>>0]|0)>>0]|0)|0}while(!(ua<<24>>24==0|(q|0)!=0))}if(q|0){Aa=130;break i}}while(0);A=-1;B=F;y=f[E>>2]|0;z=1;x=49625}q=f[Ba>>2]|0;u=f[(f[M>>2]|0)+(_<<4)>>2]|0;v=f[a>>2]|0;do if(!(b[v+165>>0]|0)){if(b[O>>0]|0)break;w=f[v+312>>2]|0;if(!w)break;q=nb[w&127](f[v+316>>2]|0,23,q,x,u,f[Q>>2]|0)|0;if((q|0)==1){Aa=136;break i}if((q|2|0)!=2){Aa=138;break i}if((q|0)!=2)break;f[r+(A<<2)>>2]=-1}while(0);G=G+1|0;if((G|0)>=(f[e>>2]|0)){V=y;R=z;S=B;Aa=142;break h}else{D=y;v=z;F=B}}if((Aa|0)==98){f[T>>2]=u;ni(q,42710,T)}else if((Aa|0)==130){f[V>>2]=z;ni(a,57072,V);b[a+17>>0]=1;Aa=946;break}else if((Aa|0)==136){ni(a,49816,W);f[a+12>>2]=23;Aa=947;break}else if((Aa|0)==138){ni(a,49831,S);f[a+12>>2]=1;Aa=947;break}Aa=947}else{V=0;R=0;S=0;Aa=142}while(0);do if((Aa|0)==142){ta=(R&255)+(S&255)|0;pa=ta&255;K=Ba+56|0;sa=((f[K>>2]|0)!=0)<<31>>31;ua=c+64|0;f[ua>>2]=sa;f[ua+4>>2]=((sa|0)<0)<<31>>31;ta=ta&255;k:do if(0==0?(f[(f[a>>2]|0)+32>>2]&16384|0)==0:0)la=0;else{q=f[Ba+16>>2]|0;A=f[Ba>>2]|0;l:do if(!q)z=0;else{y=Ba+40|0;u=(A|0)==0;if(!ta){if(u){w=q;q=0;while(1){if(!(f[w+8>>2]|0)){la=2;break k}v=f[w+20>>2]|0;m:do if((v|0)>0){u=0;do{if((f[r+(f[w+36+(u<<3)>>2]<<2)>>2]|0)>-1){q=1;break m}u=u+1|0}while((u|0)<(v|0))}while(0);w=f[w+4>>2]|0;if(!w){z=q;break l}}}x=q;q=0;while(1){v=f[x+8>>2]|0;if(v|0){ua=b[A>>0]|0;u=(h[1232+(ua&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0;if(!(ua<<24>>24==0|(u|0)!=0)){w=A;do{w=w+1|0;v=v+1|0;ua=b[w>>0]|0;u=(h[1232+(ua&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0}while(!(ua<<24>>24==0|(u|0)!=0))}if(!u){la=2;break k}}v=f[x+20>>2]|0;n:do if((v|0)>0){u=0;do{if((f[r+(f[x+36+(u<<3)>>2]<<2)>>2]|0)>-1){q=1;break n}u=u+1|0}while((u|0)<(v|0))}while(0);x=f[x+4>>2]|0;if(!x){z=q;break l}}}if(u){u=0;while(1){if(!(f[q+8>>2]|0)){la=2;break k}w=f[q+20>>2]|0;o:do if((w|0)>0){v=0;do{x=f[q+36+(v<<3)>>2]|0;if((f[r+(x<<2)>>2]|0)>-1){u=1;break o}v=v+1|0;if((x|0)==(d[y>>1]|0)){u=1;break o}}while((v|0)<(w|0))}while(0);q=f[q+4>>2]|0;if(!q){z=u;break l}}}u=0;while(1){w=f[q+8>>2]|0;if(w|0){ua=b[A>>0]|0;v=(h[1232+(ua&255)>>0]|0)-(h[1232+(h[w>>0]|0)>>0]|0)|0;if(!(ua<<24>>24==0|(v|0)!=0)){x=A;do{x=x+1|0;w=w+1|0;ua=b[x>>0]|0;v=(h[1232+(ua&255)>>0]|0)-(h[1232+(h[w>>0]|0)>>0]|0)|0}while(!(ua<<24>>24==0|(v|0)!=0))}if(!v){la=2;break k}}w=f[q+20>>2]|0;p:do if((w|0)>0){v=0;do{x=f[q+36+(v<<3)>>2]|0;if((f[r+(x<<2)>>2]|0)>-1){u=1;break p}v=v+1|0;if((x|0)==(d[y>>1]|0)){u=1;break p}}while((v|0)<(w|0))}while(0);q=f[q+4>>2]|0;if(!q){z=u;break}}}while(0);w=f[ya>>2]|0;x=f[w+68>>2]|0;if(!x){u=w+60|0;q=w+64|0}else{u=b[A>>0]|0;if(!(u<<24>>24))q=0;else{q=0;v=A;do{v=v+1|0;q=U(q+(h[1232+(u&255)>>0]|0)|0,-1640531535)|0;u=b[v>>0]|0}while(u<<24>>24!=0)}q=(q>>>0)%((f[w+56>>2]|0)>>>0)|0;u=x+(q<<3)|0;q=x+(q<<3)+4|0}u=f[u>>2]|0;q:do if(!u)q=72124;else{y=h[1232+(h[A>>0]|0)>>0]|0;while(1){q=f[q>>2]|0;u=u+-1|0;w=f[q+12>>2]|0;ua=b[w>>0]|0;v=(h[1232+(ua&255)>>0]|0)-y|0;if(!(ua<<24>>24==0|(v|0)!=0)){x=A;do{w=w+1|0;x=x+1|0;ua=b[w>>0]|0;v=(h[1232+(ua&255)>>0]|0)-(h[1232+(h[x>>0]|0)>>0]|0)|0}while(!(ua<<24>>24==0|(v|0)!=0))}if(!v)break q;if(!u){q=72124;break}}}while(0);q=f[q+8>>2]|0;if(!q){la=z;break}u=q;q=z;while(1){if(qn(Ba,u,r,ta)|0)if(!(b[u+26>>0]|0))q=1;else{la=2;break k}u=f[u+12>>2]|0;if(!u){la=q;break}}}while(0);q=f[aa>>2]|0;do if(q|0){J=(ta|0)!=0|(la|0)>1;B=a+44|0;C=ea+20|0;D=ea+4|0;E=ea+24|0;F=R<<24>>24==0;G=ea+20|0;H=ea+4|0;I=ea+24|0;A=0;z=0;while(1){r:do if(J|(q|0)==(n|0))Aa=210;else{u=f[q+36>>2]|0;if(u|0){f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;f[ea+12>>2]=0;f[ea+16>>2]=0;f[ea+20>>2]=0;f[D>>2]=164;f[E>>2]=r;oi(ea,u)|0;u=b[C>>0]|0;v=u&-3;if(F){b[C>>0]=v;u=v}if(u<<24>>24){Aa=210;break}}w=q+50|0;if(!(d[w>>1]|0)){v=z;Aa=234;break}x=q+4|0;y=q+40|0;s:do if(F){v=0;while(1){u=d[(f[x>>2]|0)+(v<<1)>>1]|0;if(u<<16>>16>-1)u=(f[r+(u<<16>>16<<2)>>2]|0)>>>31^1;else{u=f[(f[y>>2]|0)+4+(v*20|0)>>2]|0;f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;f[ea+12>>2]=0;f[ea+16>>2]=0;f[ea+20>>2]=0;f[H>>2]=164;f[I>>2]=r;if(!u)u=0;else{oi(ea,u)|0;u=b[G>>0]|0}u=(u&-3)<<24>>24!=0&1}v=v+1|0;if(u|0)break s;if(v>>>0>=(j[w>>1]|0)>>>0){v=z;Aa=234;break r}}}else{v=0;while(1){u=d[(f[x>>2]|0)+(v<<1)>>1]|0;if(u<<16>>16>-1)u=(f[r+(u<<16>>16<<2)>>2]|0)>>>31^1;else{u=f[(f[y>>2]|0)+4+(v*20|0)>>2]|0;f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;f[ea+12>>2]=0;f[ea+16>>2]=0;f[ea+20>>2]=0;f[H>>2]=164;f[I>>2]=r;if(!u)u=0;else{oi(ea,u)|0;u=b[G>>0]|0}u=u<<24>>24!=0&1}v=v+1|0;if(u|0)break s;if(v>>>0>=(j[w>>1]|0)>>>0){v=z;Aa=234;break r}}}while(0);u=(f[B>>2]|0)+1|0;f[B>>2]=u+(j[q+52>>1]|0);switch(i|0){case 5:break;case 11:{if((b[q+54>>0]|0)!=5){v=z;Aa=232;break r}break}default:{v=z;Aa=232;break r}}v=1;Aa=232}while(0);if((Aa|0)==210){u=(f[B>>2]|0)+1|0;f[B>>2]=u+(j[q+52>>1]|0);v=z;Aa=232}do if((Aa|0)==232){Aa=0;if(!u){Aa=234;break}w=A+1|0}while(0);if((Aa|0)==234){Aa=0;w=A+1|0;b[ha+w>>0]=0;u=0}f[va+(A<<2)>>2]=u;q=f[q+20>>2]|0;if(!q)break;else{A=w;z=v}}f[za>>2]=v;if(!v)break;_A(ha|0,1,X|0)|0}while(0);qa=a+8|0;q=f[qa>>2]|0;if(!q){do if(!(f[a+116>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);q=sl(a)|0;if(!q){Aa=946;break}else oa=q}else oa=q;na=a+18|0;if(!(b[na>>0]|0)){ua=oa+145|0;sa=h[ua>>0]|h[ua+1>>0]<<8|32;b[ua>>0]=sa;b[ua+1>>0]=sa>>8}L=(l|0)!=0;ka=(la|0)!=0;B=(L|ka)&1;ua=a+116|0;D=f[ua>>2]|0;D=(D|0)==0?a:D;q=D+84|0;u=f[q>>2]|0;C=1<<_;t:do if(!(u&C)){f[q>>2]=u|C;if((_|0)!=1)break;A=f[D>>2]|0;q=A+16|0;if(f[(f[q>>2]|0)+20>>2]|0)break;if(b[D+195>>0]|0)break;u=cj(f[A>>2]|0,0,A,ea,0,542)|0;if(u|0){ni(D,51535,$);f[D+12>>2]=u;break}sa=f[ea>>2]|0;f[(f[q>>2]|0)+20>>2]=sa;q=f[A+92>>2]|0;w=f[sa+4>>2]|0;f[w+4>>2]=f[sa>>2];do if(!(d[w+22>>1]&2)){x=w+32|0;y=w+36|0;z=(f[x>>2]|0)-(f[y>>2]|0)|0;do if((q+-512|0)>>>0<65025){if(q+-1&q|0)break;f[x>>2]=q;v=w+80|0;q=f[v>>2]|0;if(!q)break;u=q+-4|0;f[v>>2]=u;q=u;do if((f[18022]|0)>>>0<=q>>>0)if((f[18023]|0)>>>0>q>>>0){f[18188]=(f[18188]|0)+-1;f[u>>2]=f[18025];f[18025]=u;sa=(f[18026]|0)+1|0;f[18026]=sa;f[18027]=(sa|0)<(f[18021]|0)&1;break}else{q=ib[f[37368>>2]&255](u)|0;Aa=260;break}else{q=ib[f[37368>>2]&255](u)|0;Aa=260}while(0);do if((Aa|0)==260){f[18189]=(f[18189]|0)-q;if(!(f[9328]|0)){ob[f[37360>>2]&127](u);break}else{sa=ib[f[37368>>2]&255](u)|0;f[18187]=(f[18187]|0)-sa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](u);break}}while(0);f[v>>2]=0}while(0);sa=ih(f[w>>2]|0,x,z)|0;f[y>>2]=(f[x>>2]|0)-(z&65535);if((sa|0)!=7)break;q=A+81|0;do if(!(b[q>>0]|0)){if(b[A+82>>0]|0)break;b[q>>0]=1;if((f[A+180>>2]|0)>0)f[A+264>>2]=1;sa=A+272|0;f[sa>>2]=(f[sa>>2]|0)+1}while(0);break t}while(0)}while(0);sa=D+80|0;f[sa>>2]=f[sa>>2]|C;sa=D+20|0;b[sa>>0]=h[sa>>0]|B;if(!(f[K>>2]|0)){v=a+44|0;w=f[v>>2]|0;y=w+2|0;f[v>>2]=y;if(L|S<<24>>24!=0|ka){q=y+(d[xa>>1]|0)|0;f[v>>2]=q;z=w+3|0}else{z=0;q=y}u=q+1|0;if(L|(la|ta|0)!=0){f[v>>2]=u;A=u;x=q+2|0;q=u}else{A=y;x=u}f[v>>2]=q+(d[xa>>1]|0);H=w+1|0;ma=y;M=z}else{H=0;x=0;ma=0;M=0;A=0}if(wa){sa=a+236|0;ra=f[sa>>2]|0;f[sa>>2]=f[Ba>>2];io(a,Ba,g,o);sa=a}else{ra=0;sa=0}u:do if(!g)Aa=289;else{q=j[Y>>1]|0;w=q&4112;d[Y>>1]=q&61423;q=f[ga>>2]|0;f[ea>>2]=q;f[ea+4>>2]=146;f[ea+8>>2]=147;f[ea+12>>2]=0;f[ea+24>>2]=ga;v=g+24|0;u=q+204|0;$=(f[u>>2]|0)+(f[v>>2]|0)|0;f[u>>2]=$;u=f[(f[q>>2]|0)+120>>2]|0;do if((u|0)>=($|0)){oi(ea,g)|0;u=f[ea>>2]|0;q=u+204|0;f[q>>2]=(f[q>>2]|0)-(f[v>>2]|0);q=d[Y>>1]|0;if(q&16){fa=g+4|0;f[fa>>2]=f[fa>>2]|2}d[Y>>1]=w|q&65535;if((f[ga+20>>2]|0)>0)break;if((f[u+36>>2]|0)<1){Aa=289;break u}else break u}else{f[fa>>2]=u;ni(q,42710,fa)}while(0)}while(0);v:do if((Aa|0)==289){if(f[K>>2]|0){I=f[qa>>2]|0;m=f[a>>2]|0;l=f[Ba+64>>2]|0;w:do if(!l)E=0;else while(1){if((f[l>>2]|0)==(m|0)){E=l;break w}l=f[l+24>>2]|0;if(!l){E=0;break}}while(0);A=d[xa>>1]|0;C=(A<<16>>16)+2|0;z=f[Z>>2]|0;H=f[ca>>2]|0;f[ca>>2]=H+1;F=I+136|0;l=f[F>>2]|0;G=I+12|0;if((f[(f[G>>2]|0)+48>>2]|0)>(l|0)){f[F>>2]=l+1;s=f[I+88>>2]|0;b[s+(l*20|0)>>0]=113;d[s+(l*20|0)+2>>1]=0;f[s+(l*20|0)+4>>2]=H;f[s+(l*20|0)+8>>2]=C;f[s+(l*20|0)+12>>2]=0;f[s+(l*20|0)+16>>2]=0;b[s+(l*20|0)+1>>0]=0;s=l}else s=tl(I,113,H,C,0)|0;D=a+44|0;w=f[D>>2]|0;B=w+1|0;y=w+C|0;x=y+1|0;y=y+2|0;f[D>>2]=y;D=sn(a,c,g,0,0,4,0)|0;if(!D)break;if((d[xa>>1]|0)>0){u=w+3|0;v=I+88|0;q=0;do{l=f[r+(q<<2)>>2]|0;x:do if((l|0)>-1){l=f[e+4+(l*20|0)>>2]|0;p=q+u|0;do if(l){if((b[l>>0]|0)!=-92){o=xl(a,l,p)|0;break}o=f[qa>>2]|0;l=f[l+28>>2]|0;m=o+136|0;n=f[m>>2]|0;if((f[(f[o+12>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;za=f[o+88>>2]|0;b[za+(n*20|0)>>0]=78;d[za+(n*20|0)+2>>1]=0;f[za+(n*20|0)+4>>2]=l;f[za+(n*20|0)+8>>2]=p;f[za+(n*20|0)+12>>2]=0;f[za+(n*20|0)+16>>2]=0;b[za+(n*20|0)+1>>0]=0;break x}else{tl(o,78,l,p,0)|0;break x}}else o=xl(a,0,p)|0;while(0);if((o|0)==(p|0))break;l=f[qa>>2]|0;if(!l)break;m=l+136|0;n=f[m>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;za=f[l+88>>2]|0;b[za+(n*20|0)>>0]=79;d[za+(n*20|0)+2>>1]=0;f[za+(n*20|0)+4>>2]=o;f[za+(n*20|0)+8>>2]=p;f[za+(n*20|0)+12>>2]=0;f[za+(n*20|0)+16>>2]=0;b[za+(n*20|0)+1>>0]=0;break}else{tl(l,79,o,p,0)|0;break}}else{l=q+u|0;m=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(m|0)){f[F>>2]=m+1;za=f[v>>2]|0;b[za+(m*20|0)>>0]=-91;d[za+(m*20|0)+2>>1]=0;f[za+(m*20|0)+4>>2]=z;f[za+(m*20|0)+8>>2]=q;f[za+(m*20|0)+12>>2]=l;f[za+(m*20|0)+16>>2]=0;b[za+(m*20|0)+1>>0]=0}else tl(I,165,z,q,l)|0;l=f[F>>2]|0;if((l|0)<=0)break;d[(f[v>>2]|0)+((l+-1|0)*20|0)+2>>1]=1}while(0);q=q+1|0}while((q|0)<(d[xa>>1]|0))}do if(!(f[ja>>2]&32)){l=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(l|0)){f[F>>2]=l+1;za=f[I+88>>2]|0;b[za+(l*20|0)>>0]=-127;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=z;f[za+(l*20|0)+8>>2]=B;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else tl(I,129,z,B,0)|0;p=w+2|0;if(!V){l=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(l|0)){f[F>>2]=l+1;za=f[I+88>>2]|0;b[za+(l*20|0)>>0]=-127;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=z;f[za+(l*20|0)+8>>2]=p;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0;break}else{tl(I,129,z,p,0)|0;break}}if((b[V>>0]|0)==-92){o=f[qa>>2]|0;l=f[V+28>>2]|0;m=o+136|0;n=f[m>>2]|0;if((f[(f[o+12>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;za=f[o+88>>2]|0;b[za+(n*20|0)>>0]=78;d[za+(n*20|0)+2>>1]=0;f[za+(n*20|0)+4>>2]=l;f[za+(n*20|0)+8>>2]=p;f[za+(n*20|0)+12>>2]=0;f[za+(n*20|0)+16>>2]=0;b[za+(n*20|0)+1>>0]=0;break}else{tl(o,78,l,p,0)|0;break}}o=xl(a,V,p)|0;if((o|0)==(p|0))break;l=f[qa>>2]|0;if(!l)break;m=l+136|0;n=f[m>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(n|0)){f[m>>2]=n+1;za=f[l+88>>2]|0;b[za+(n*20|0)>>0]=79;d[za+(n*20|0)+2>>1]=0;f[za+(n*20|0)+4>>2]=o;f[za+(n*20|0)+8>>2]=p;f[za+(n*20|0)+12>>2]=0;f[za+(n*20|0)+16>>2]=0;b[za+(n*20|0)+1>>0]=0;break}else{tl(l,79,o,p,0)|0;break}}else{l=aa;while(1){l=f[l>>2]|0;za=l+55|0;if(((h[za>>0]|h[za+1>>0]<<8)&3)==2)break;else l=l+20|0}l=d[f[l+4>>2]>>1]|0;m=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(m|0)){f[F>>2]=m+1;za=f[I+88>>2]|0;b[za+(m*20|0)>>0]=-91;d[za+(m*20|0)+2>>1]=0;f[za+(m*20|0)+4>>2]=z;f[za+(m*20|0)+8>>2]=l;f[za+(m*20|0)+12>>2]=B;f[za+(m*20|0)+16>>2]=0;b[za+(m*20|0)+1>>0]=0}else tl(I,165,z,l,B)|0;n=w+3+l|0;l=w+2|0;m=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(m|0)){f[F>>2]=m+1;za=f[I+88>>2]|0;b[za+(m*20|0)>>0]=79;d[za+(m*20|0)+2>>1]=0;f[za+(m*20|0)+4>>2]=n;f[za+(m*20|0)+8>>2]=l;f[za+(m*20|0)+12>>2]=0;f[za+(m*20|0)+16>>2]=0;b[za+(m*20|0)+1>>0]=0;break}else{tl(I,79,n,l,0)|0;break}}while(0);u=(b[D+49>>0]|0)==0;do if(!u){l=f[I>>2]|0;if(!(b[l+81>>0]|0)){za=f[I+88>>2]|0;xa=za+(s*20|0)+1|0;ya=za+(s*20|0)+16|0;qg(l,b[xa>>0]|0,f[ya>>2]|0);b[xa>>0]=0;f[ya>>2]=0;b[za+(s*20|0)>>0]=-85}l=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(l|0)){f[F>>2]=l+1;za=f[I+88>>2]|0;b[za+(l*20|0)>>0]=117;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=z;f[za+(l*20|0)+8>>2]=0;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0;break}else{tl(I,117,z,0,0)|0;break}}else{l=f[ua>>2]|0;b[((l|0)==0?a:l)+20>>0]=1;l=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(l|0)){f[F>>2]=l+1;za=f[I+88>>2]|0;b[za+(l*20|0)>>0]=102;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=B;f[za+(l*20|0)+8>>2]=C;f[za+(l*20|0)+12>>2]=x;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else tl(I,102,B,C,x)|0;l=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(l|0)){f[F>>2]=l+1;za=f[I+88>>2]|0;b[za+(l*20|0)>>0]=121;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=H;f[za+(l*20|0)+8>>2]=y;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else tl(I,121,H,y,0)|0;l=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(l|0)){f[F>>2]=l+1;za=f[I+88>>2]|0;b[za+(l*20|0)>>0]=122;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=H;f[za+(l*20|0)+8>>2]=x;f[za+(l*20|0)+12>>2]=y;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else tl(I,122,H,x,y)|0;tn(D);l=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(l|0)){f[F>>2]=l+1;za=f[I+88>>2]|0;b[za+(l*20|0)>>0]=36;d[za+(l*20|0)+2>>1]=0;f[za+(l*20|0)+4>>2]=H;f[za+(l*20|0)+8>>2]=0;f[za+(l*20|0)+12>>2]=0;f[za+(l*20|0)+16>>2]=0;b[za+(l*20|0)+1>>0]=0}else l=tl(I,36,H,0,0)|0;if(A<<16>>16<=-2){s=l;break}n=I+88|0;m=0;do{o=m+B|0;p=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(p|0)){f[F>>2]=p+1;za=f[n>>2]|0;b[za+(p*20|0)>>0]=90;d[za+(p*20|0)+2>>1]=0;f[za+(p*20|0)+4>>2]=H;f[za+(p*20|0)+8>>2]=m;f[za+(p*20|0)+12>>2]=o;f[za+(p*20|0)+16>>2]=0;b[za+(p*20|0)+1>>0]=0}else tl(I,90,H,m,o)|0;m=m+1|0}while((m|0)<(C|0));s=l}while(0);q=f[ua>>2]|0;q=(q|0)==0?a:q;p=q+200|0;o=f[p>>2]|0;n=q+248|0;y:do if((o|0)>0){l=f[n>>2]|0;m=0;do{if((f[l+(m<<2)>>2]|0)==(Ba|0))break y;m=m+1|0}while((m|0)<(o|0));m=n;Aa=374}else{m=n;l=f[n>>2]|0;Aa=374}while(0);z:do if((Aa|0)==374){do if(!(Mc()|0)){Aa=(o<<2)+4|0;l=Nc(l,Aa,((Aa|0)<0)<<31>>31)|0;if(!l)break;f[m>>2]=l;Aa=f[p>>2]|0;f[p>>2]=Aa+1;f[l+(Aa<<2)>>2]=Ba;break z}while(0);l=f[q>>2]|0;m=l+81|0;if(b[m>>0]|0)break;if(b[l+82>>0]|0)break;b[m>>0]=1;if((f[l+180>>2]|0)>0)f[l+264>>2]=1;Ba=l+272|0;f[Ba>>2]=(f[Ba>>2]|0)+1}while(0);l=f[F>>2]|0;if((f[(f[G>>2]|0)+48>>2]|0)>(l|0)){f[F>>2]=l+1;Ba=f[I+88>>2]|0;b[Ba+(l*20|0)>>0]=10;d[Ba+(l*20|0)+2>>1]=0;f[Ba+(l*20|0)+4>>2]=0;f[Ba+(l*20|0)+8>>2]=C;f[Ba+(l*20|0)+12>>2]=B;f[Ba+(l*20|0)+16>>2]=0;b[Ba+(l*20|0)+1>>0]=0}else l=tl(I,10,0,C,B)|0;do if(!(b[(f[I>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[F>>2]|0)+-1|0;m=f[I+88>>2]|0;n=m+(l*20|0)+1|0;if(b[n>>0]|0){ul(I,m+(l*20|0)|0,E,-12);break}if(!E)break;f[m+(l*20|0)+16>>2]=E;b[n>>0]=-12;Ba=E+12|0;f[Ba>>2]=(f[Ba>>2]|0)+1}while(0);m=f[F>>2]|0;if((m|0)>0)d[(f[I+88>>2]|0)+((m+-1|0)*20|0)+2>>1]=(i|0)==11?2:i&65535;i=f[ua>>2]|0;b[((i|0)==0?a:i)+21>>0]=1;if(!u){tn(D);break}l=s+1|0;if((f[(f[G>>2]|0)+48>>2]|0)>(m|0)){f[F>>2]=m+1;a=f[I+88>>2]|0;b[a+(m*20|0)>>0]=5;d[a+(m*20|0)+2>>1]=0;f[a+(m*20|0)+4>>2]=H;f[a+(m*20|0)+8>>2]=l;f[a+(m*20|0)+12>>2]=0;f[a+(m*20|0)+16>>2]=0;b[a+(m*20|0)+1>>0]=0}else tl(I,5,H,l,0)|0;m=f[F>>2]|0;if(!(b[(f[I>>2]|0)+81>>0]|0))l=(f[I+88>>2]|0)+(((s|0)<0?m+-1|0:s)*20|0)|0;else l=72144;f[l+8>>2]=m;if((f[(f[G>>2]|0)+48>>2]|0)>(m|0)){f[F>>2]=m+1;a=f[I+88>>2]|0;b[a+(m*20|0)>>0]=117;d[a+(m*20|0)+2>>1]=0;f[a+(m*20|0)+4>>2]=H;f[a+(m*20|0)+8>>2]=0;f[a+(m*20|0)+12>>2]=0;f[a+(m*20|0)+16>>2]=0;b[a+(m*20|0)+1>>0]=0;break}else{tl(I,117,H,0,0)|0;break}}$=oa+12|0;q=f[$>>2]|0;B=q+60|0;_=f[B>>2]|0;f[B>>2]=_+1;B=q+64|0;if(!(_+-1&_)){y=_<<3|4;z=f[q>>2]|0;q=f[B>>2]|0;A:do if(q){v=q;w=z+304|0;do if((f[w>>2]|0)>>>0<=v>>>0){if((f[z+308>>2]|0)>>>0<=v>>>0)break;if(!(0<0|(0==0?(j[z+276>>1]|0)>>>0>>0:0)))break A}while(0);u=Lc(z,q,y,0)|0;if(u|0){q=u;break}if(f[z+480>>2]|0){Kc(z,q);q=0;break}do if((f[w>>2]|0)>>>0<=v>>>0){if((f[z+308>>2]|0)>>>0<=v>>>0)break;ga=z+300|0;f[q>>2]=f[ga>>2];f[ga>>2]=q;q=0;break A}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](q);q=0;break}else{ga=ib[f[37368>>2]&255](q)|0;f[18187]=(f[18187]|0)-ga;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](q);q=0;break}}else{if(f[z+272>>2]|0){if(b[z+81>>0]|0){q=0;break}}else{do if(!(0<0|(0==0?(j[z+276>>1]|0)>>>0>>0:0))){u=z+300|0;q=f[u>>2]|0;if(q|0){f[u>>2]=f[q>>2];ga=z+284|0;f[ga>>2]=(f[ga>>2]|0)+1;break A}u=z+296|0;q=f[u>>2]|0;if(!q){q=z+292|0;break}else{f[u>>2]=f[q>>2];ga=z+284|0;f[ga>>2]=(f[ga>>2]|0)+1;break A}}else q=z+288|0;while(0);f[q>>2]=(f[q>>2]|0)+1}q=Dc(z,y,0)|0}while(0);f[B>>2]=q}else q=f[B>>2]|0;if(q|0)f[q+(_<<2)>>2]=-1;I=~_;do if(!(0==0?(f[Ca+32>>2]&128|0)==0:0)){if(f[a+120>>2]|0){Z=0;break}if(!((k|0)==0&(b[na>>0]|0)==0)){Z=0;break}u=a+44|0;q=(f[u>>2]|0)+1|0;f[u>>2]=q;u=oa+136|0;v=f[u>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(v|0)){f[u>>2]=v+1;Z=f[oa+88>>2]|0;b[Z+(v*20|0)>>0]=70;d[Z+(v*20|0)+2>>1]=0;f[Z+(v*20|0)+4>>2]=0;f[Z+(v*20|0)+8>>2]=q;f[Z+(v*20|0)+12>>2]=0;f[Z+(v*20|0)+16>>2]=0;b[Z+(v*20|0)+1>>0]=0;Z=q;break}else{tl(oa,70,0,q,0)|0;Z=q;break}}else Z=0;while(0);B:do if(!(f[ja>>2]&32)){q=oa+136|0;u=f[q>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(u|0)){f[q>>2]=u+1;G=f[oa+88>>2]|0;b[G+(u*20|0)>>0]=73;d[G+(u*20|0)+2>>1]=0;f[G+(u*20|0)+4>>2]=0;f[G+(u*20|0)+8>>2]=H;f[G+(u*20|0)+12>>2]=ma;f[G+(u*20|0)+16>>2]=0;b[G+(u*20|0)+1>>0]=0;G=0;E=0;F=0;q=0;Y=0;break}else{tl(oa,73,0,H,ma)|0;G=0;E=0;F=0;q=0;Y=0;break}}else{z=d[n+50>>1]|0;ga=a+44|0;u=f[ga>>2]|0;B=u+1|0;w=z<<16>>16;u=u+w|0;y=u+1|0;f[ga>>2]=y;if(k|0){G=y;E=z;F=B;q=0;Y=0;break}C=f[ca>>2]|0;f[ca>>2]=C+1;v=oa+136|0;q=f[v>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(q|0)){f[v>>2]=q+1;ga=f[oa+88>>2]|0;b[ga+(q*20|0)>>0]=73;d[ga+(q*20|0)+2>>1]=0;f[ga+(q*20|0)+4>>2]=0;f[ga+(q*20|0)+8>>2]=B;f[ga+(q*20|0)+12>>2]=u;f[ga+(q*20|0)+16>>2]=0;b[ga+(q*20|0)+1>>0]=0}else tl(oa,73,0,B,u)|0;q=f[v>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(q|0)){f[v>>2]=q+1;ga=f[oa+88>>2]|0;b[ga+(q*20|0)>>0]=113;d[ga+(q*20|0)+2>>1]=0;f[ga+(q*20|0)+4>>2]=C;f[ga+(q*20|0)+8>>2]=w;f[ga+(q*20|0)+12>>2]=0;f[ga+(q*20|0)+16>>2]=0;b[ga+(q*20|0)+1>>0]=0}else q=tl(oa,113,C,w,0)|0;u=f[qa>>2]|0;w=om(a,n)|0;if(!w){G=y;E=z;F=B;Y=C;break}v=f[u>>2]|0;if(!(b[v+81>>0]|0)){E=f[u+88>>2]|0;G=(f[u+136>>2]|0)+-1|0;b[E+(G*20|0)+1>>0]=-9;f[E+(G*20|0)+16>>2]=w;G=y;E=z;F=B;Y=C;break}if(f[v+480>>2]|0){G=y;E=z;F=B;Y=C;break}ga=(f[w>>2]|0)+-1|0;f[w>>2]=ga;if(ga|0){G=y;E=z;F=B;Y=C;break}u=f[w+12>>2]|0;do if(u|0){if(f[u+480>>2]|0){Kc(u,w);G=y;E=z;F=B;Y=C;break B}v=w;if((f[u+304>>2]|0)>>>0>v>>>0)break;if((f[u+308>>2]|0)>>>0<=v>>>0)break;G=u+300|0;f[w>>2]=f[G>>2];f[G>>2]=w;G=y;E=z;F=B;Y=C;break B}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](w);G=y;E=z;F=B;Y=C;break}else{G=ib[f[37368>>2]&255](w)|0;f[18187]=(f[18187]|0)-G;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](w);G=y;E=z;F=B;Y=C;break}}while(0);do if(da){zm(a,g,I,16);X=0;W=1;y=0;z=0}else{u=sn(a,c,g,0,0,(f[za>>2]|0)!=0|(pa<<24>>24!=0|(ka|(L|(b[na>>0]|0)!=0)))?4100:4108,s)|0;if(!u)break v;z=u+24|0;y=f[z>>2]|0;z=f[z+4>>2]|0;v=b[u+49>>0]|0;w=v&255;if(v<<24>>24==1){X=u;W=1;break}ga=f[ua>>2]|0;b[((ga|0)==0?a:ga)+20>>0]=1;if(v<<24>>24!=2){X=u;W=w;break}if((z|0)<0|(o|0)==(z|0)){X=u;W=2;break}X=u;W=(b[ha+(z-ia)>>0]|0)==0?w:0}while(0);do if(!(f[ja>>2]&32)){u=oa+136|0;q=f[u>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(q|0)){f[u>>2]=q+1;ja=f[oa+88>>2]|0;b[ja+(q*20|0)>>0]=-127;d[ja+(q*20|0)+2>>1]=0;f[ja+(q*20|0)+4>>2]=o;f[ja+(q*20|0)+8>>2]=ma;f[ja+(q*20|0)+12>>2]=0;f[ja+(q*20|0)+16>>2]=0;b[ja+(q*20|0)+1>>0]=0}else tl(oa,129,o,ma,0)|0;if(W|0){O=0;N=G;break}q=f[u>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(q|0)){f[u>>2]=q+1;O=f[oa+88>>2]|0;b[O+(q*20|0)>>0]=-107;d[O+(q*20|0)+2>>1]=0;f[O+(q*20|0)+4>>2]=H;f[O+(q*20|0)+8>>2]=ma;f[O+(q*20|0)+12>>2]=0;f[O+(q*20|0)+16>>2]=0;b[O+(q*20|0)+1>>0]=0;O=0;N=G;break}else{tl(oa,149,H,ma,0)|0;O=0;N=G;break}}else{D=E<<16>>16;if(E<<16>>16>0){v=n+4|0;u=0;do{Am(oa,Ba,o,d[(f[v>>2]|0)+(u<<1)>>1]|0,u+F|0);u=u+1|0}while((u|0)!=(D|0))}if(W|0){if(!q){O=D;N=F;break}u=f[oa>>2]|0;if(b[u+81>>0]|0){O=D;N=F;break}O=f[oa+88>>2]|0;ja=O+(q*20|0)+1|0;N=O+(q*20|0)+16|0;qg(u,b[ja>>0]|0,f[N>>2]|0);b[ja>>0]=0;f[N>>2]=0;b[O+(q*20|0)>>0]=-85;O=D;N=F;break}B=Bm(Ca,n)|0;C=oa+136|0;q=f[C>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(q|0)){f[C>>2]=q+1;ja=f[oa+88>>2]|0;b[ja+(q*20|0)>>0]=102;d[ja+(q*20|0)+2>>1]=0;f[ja+(q*20|0)+4>>2]=F;f[ja+(q*20|0)+8>>2]=D;f[ja+(q*20|0)+12>>2]=G;f[ja+(q*20|0)+16>>2]=0;b[ja+(q*20|0)+1>>0]=0}else q=tl(oa,102,F,D,G)|0;u=f[oa>>2]|0;C:do if(!(b[u+81>>0]|0)){if((q|0)<0)q=(f[C>>2]|0)+-1|0;u=f[oa+88>>2]|0;v=u+(q*20|0)|0;do if(E<<16>>16<=-1){w=u+(q*20|0)+1|0;if(b[w>>0]|0)break;if(E<<16>>16==-3){f[u+(q*20|0)+16>>2]=B;b[w>>0]=-3;break C}if(!B)break C;f[u+(q*20|0)+16>>2]=B;b[w>>0]=E;if(E<<16>>16!=-12)break C;ja=B+12|0;f[ja>>2]=(f[ja>>2]|0)+1;break C}while(0);ul(oa,v,B,D)}else{if(E<<16>>16==-12)break;qg(u,D,B)}while(0);q=f[C>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(q|0)){f[C>>2]=q+1;ja=f[oa+88>>2]|0;b[ja+(q*20|0)>>0]=-123;d[ja+(q*20|0)+2>>1]=0;f[ja+(q*20|0)+4>>2]=Y;f[ja+(q*20|0)+8>>2]=G;f[ja+(q*20|0)+12>>2]=F;f[ja+(q*20|0)+16>>2]=0;b[ja+(q*20|0)+1>>0]=0}else q=tl(oa,133,Y,G,F)|0;if(b[(f[oa>>2]|0)+81>>0]|0){O=0;N=G;break}O=f[oa+88>>2]|0;b[O+(q*20|0)+1>>0]=-3;f[O+(q*20|0)+16>>2]=D;O=0;N=G}while(0);T=(k|0)==0;D:do if(T){q=(W|0)==2;if(!q)tn(X);E:do if(wa)Aa=526;else{do if(W|0){if((y|0)>-1)b[ha+(y-ia)>>0]=0;if((z|0)>-1)b[ha+(z-ia)>>0]=0;if(!q)break;if(p>>>0<=(z>>>31^1)>>>0)break;q=oa+136|0;p=f[q>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(p|0)){f[q>>2]=p+1;u=f[oa+88>>2]|0;b[u+(p*20|0)>>0]=17;u=u+(p*20|0)+1|0;v=u+19|0;do{b[u>>0]=0;u=u+1|0}while((u|0)<(v|0))}else p=tl(oa,17,0,0,0)|0;_m(a,Ba,110,0,ia,ha,0,0)|0;if(p|0){u=f[q>>2]|0;if(!(b[(f[oa>>2]|0)+81>>0]|0))p=(f[oa+88>>2]|0)+(((p|0)<0?u+-1|0:p)*20|0)|0;else p=72144;f[p+8>>2]=u}if((z|0)==(o|0)|(y|0)==(o|0)){Aa=536;break E}else{Aa=530;break E}}while(0);_m(a,Ba,110,0,ia,ha,0,0)|0;Aa=526}while(0);do if((Aa|0)==526){if(W|0){if((z|0)==(o|0)|(wa|(y|0)==(o|0))){Aa=535;break}q=oa+136|0;Aa=530;break}if(!n){u=oa+136|0;q=f[u>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(q|0)){f[u>>2]=q+1;k=f[oa+88>>2]|0;b[k+(q*20|0)>>0]=41;d[k+(q*20|0)+2>>1]=0;f[k+(q*20|0)+4>>2]=H;f[k+(q*20|0)+8>>2]=I;f[k+(q*20|0)+12>>2]=ma;f[k+(q*20|0)+16>>2]=0;b[k+(q*20|0)+1>>0]=0}else q=tl(oa,41,H,I,ma)|0;p=f[u>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(p|0)){f[u>>2]=p+1;Q=f[oa+88>>2]|0;b[Q+(p*20|0)>>0]=31;d[Q+(p*20|0)+2>>1]=0;f[Q+(p*20|0)+4>>2]=o;f[Q+(p*20|0)+8>>2]=q;f[Q+(p*20|0)+12>>2]=ma;f[Q+(p*20|0)+16>>2]=0;b[Q+(p*20|0)+1>>0]=0;Q=0;P=q;break D}else{tl(oa,31,o,q,ma)|0;Q=0;P=q;break D}}p=f[$>>2]|0;z=p+60|0;B=f[z>>2]|0;f[z>>2]=B+1;z=p+64|0;if(!(B+-1&B)){w=B<<3|4;y=f[p>>2]|0;p=f[z>>2]|0;F:do if(p){u=p;v=y+304|0;do if((f[v>>2]|0)>>>0<=u>>>0){if((f[y+308>>2]|0)>>>0<=u>>>0)break;if(!(0<0|(0==0?(j[y+276>>1]|0)>>>0>>0:0)))break F}while(0);q=Lc(y,p,w,0)|0;if(q|0){p=q;break}if(f[y+480>>2]|0){Kc(y,p);p=0;break}do if((f[v>>2]|0)>>>0<=u>>>0){if((f[y+308>>2]|0)>>>0<=u>>>0)break;k=y+300|0;f[p>>2]=f[k>>2];f[k>>2]=p;p=0;break F}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](p);p=0;break}else{k=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);p=0;break}}else{if(f[y+272>>2]|0){if(b[y+81>>0]|0){p=0;break}}else{do if(!(0<0|(0==0?(j[y+276>>1]|0)>>>0>>0:0))){q=y+300|0;p=f[q>>2]|0;if(p|0){f[q>>2]=f[p>>2];k=y+284|0;f[k>>2]=(f[k>>2]|0)+1;break F}q=y+296|0;p=f[q>>2]|0;if(!p){p=y+292|0;break}else{f[q>>2]=f[p>>2];k=y+284|0;f[k>>2]=(f[k>>2]|0)+1;break F}}else p=y+288|0;while(0);f[p>>2]=(f[p>>2]|0)+1}p=Dc(y,w,0)|0}while(0);f[z>>2]=p}else p=f[z>>2]|0;if(p|0)f[p+(B<<2)>>2]=-1;v=~B;u=oa+136|0;p=f[u>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(p|0)){f[u>>2]=p+1;k=f[oa+88>>2]|0;b[k+(p*20|0)>>0]=36;d[k+(p*20|0)+2>>1]=0;f[k+(p*20|0)+4>>2]=Y;f[k+(p*20|0)+8>>2]=I;f[k+(p*20|0)+12>>2]=0;f[k+(p*20|0)+16>>2]=0;b[k+(p*20|0)+1>>0]=0}else tl(oa,36,Y,I,0)|0;p=f[u>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(p|0)){f[u>>2]=p+1;q=f[oa+88>>2]|0;b[q+(p*20|0)>>0]=-128;d[q+(p*20|0)+2>>1]=0;f[q+(p*20|0)+4>>2]=Y;f[q+(p*20|0)+8>>2]=N;f[q+(p*20|0)+12>>2]=0;f[q+(p*20|0)+16>>2]=0;b[q+(p*20|0)+1>>0]=0;q=p}else q=tl(oa,128,Y,N,0)|0;p=f[u>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(p|0)){f[u>>2]=p+1;k=f[oa+88>>2]|0;b[k+(p*20|0)>>0]=28;d[k+(p*20|0)+2>>1]=0;f[k+(p*20|0)+4>>2]=o;f[k+(p*20|0)+8>>2]=v;f[k+(p*20|0)+12>>2]=N;f[k+(p*20|0)+16>>2]=0;b[k+(p*20|0)+1>>0]=0}else p=tl(oa,28,o,v,N)|0;if(b[(f[oa>>2]|0)+81>>0]|0){Q=q;P=v;break D}Q=f[oa+88>>2]|0;b[Q+(p*20|0)+1>>0]=-3;f[Q+(p*20|0)+16>>2]=0;Q=q;P=v;break D}while(0);do if((Aa|0)==530){p=f[q>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(p|0)){f[q>>2]=p+1;Aa=f[oa+88>>2]|0;b[Aa+(p*20|0)>>0]=28;d[Aa+(p*20|0)+2>>1]=0;f[Aa+(p*20|0)+4>>2]=o;f[Aa+(p*20|0)+8>>2]=I;f[Aa+(p*20|0)+12>>2]=N;f[Aa+(p*20|0)+16>>2]=0;b[Aa+(p*20|0)+1>>0]=0}else p=tl(oa,28,o,I,N)|0;if(b[(f[oa>>2]|0)+81>>0]|0){Aa=535;break}Aa=f[oa+88>>2]|0;b[Aa+(p*20|0)+1>>0]=-3;f[Aa+(p*20|0)+16>>2]=O;Aa=535}while(0);if((Aa|0)==535)if((W|0)==1)v=I;else Aa=536;if((Aa|0)==536){p=f[$>>2]|0;z=p+60|0;B=f[z>>2]|0;f[z>>2]=B+1;z=p+64|0;if(!(B+-1&B)){w=B<<3|4;y=f[p>>2]|0;p=f[z>>2]|0;G:do if(p){u=p;v=y+304|0;do if((f[v>>2]|0)>>>0<=u>>>0){if((f[y+308>>2]|0)>>>0<=u>>>0)break;if(!(0<0|(0==0?(j[y+276>>1]|0)>>>0>>0:0)))break G}while(0);q=Lc(y,p,w,0)|0;if(q|0){p=q;break}if(f[y+480>>2]|0){Kc(y,p);p=0;break}do if((f[v>>2]|0)>>>0<=u>>>0){if((f[y+308>>2]|0)>>>0<=u>>>0)break;k=y+300|0;f[p>>2]=f[k>>2];f[k>>2]=p;p=0;break G}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](p);p=0;break}else{k=ib[f[37368>>2]&255](p)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](p);p=0;break}}else{if(f[y+272>>2]|0){if(b[y+81>>0]|0){p=0;break}}else{do if(!(0<0|(0==0?(j[y+276>>1]|0)>>>0>>0:0))){q=y+300|0;p=f[q>>2]|0;if(p|0){f[q>>2]=f[p>>2];k=y+284|0;f[k>>2]=(f[k>>2]|0)+1;break G}q=y+296|0;p=f[q>>2]|0;if(!p){p=y+292|0;break}else{f[q>>2]=f[p>>2];k=y+284|0;f[k>>2]=(f[k>>2]|0)+1;break G}}else p=y+288|0;while(0);f[p>>2]=(f[p>>2]|0)+1}p=Dc(y,w,0)|0}while(0);f[z>>2]=p}else p=f[z>>2]|0;if(p|0)f[p+(B<<2)>>2]=-1;v=~B}p=(n|0)==0?ma:N;q=oa+136|0;u=f[q>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(u|0)){f[q>>2]=u+1;Q=f[oa+88>>2]|0;b[Q+(u*20|0)>>0]=50;d[Q+(u*20|0)+2>>1]=0;f[Q+(u*20|0)+4>>2]=p;f[Q+(u*20|0)+8>>2]=I;f[Q+(u*20|0)+12>>2]=0;f[Q+(u*20|0)+16>>2]=0;b[Q+(u*20|0)+1>>0]=0;Q=0;P=v;break}else{tl(oa,50,p,I,0)|0;Q=0;P=v;break}}else{Q=0;P=I}while(0);J=R<<24>>24==0;do if(!J){do if(V){if((b[V>>0]|0)!=-92){v=xl(a,V,A)|0;Aa=624;break}v=f[qa>>2]|0;p=f[V+28>>2]|0;q=v+136|0;u=f[q>>2]|0;if((f[(f[v+12>>2]|0)+48>>2]|0)>(u|0)){f[q>>2]=u+1;k=f[v+88>>2]|0;b[k+(u*20|0)>>0]=78;d[k+(u*20|0)+2>>1]=0;f[k+(u*20|0)+4>>2]=p;f[k+(u*20|0)+8>>2]=A;f[k+(u*20|0)+12>>2]=0;f[k+(u*20|0)+16>>2]=0;b[k+(u*20|0)+1>>0]=0;break}else{tl(v,78,p,A,0)|0;break}}else{v=xl(a,0,A)|0;Aa=624}while(0);do if((Aa|0)==624){if((v|0)==(A|0))break;p=f[qa>>2]|0;if(!p)break;q=p+136|0;u=f[q>>2]|0;if((f[(f[p+12>>2]|0)+48>>2]|0)>(u|0)){f[q>>2]=u+1;k=f[p+88>>2]|0;b[k+(u*20|0)>>0]=79;d[k+(u*20|0)+2>>1]=0;f[k+(u*20|0)+4>>2]=v;f[k+(u*20|0)+8>>2]=A;f[k+(u*20|0)+12>>2]=0;f[k+(u*20|0)+16>>2]=0;b[k+(u*20|0)+1>>0]=0;break}else{tl(p,79,v,A,0)|0;break}}while(0);p=oa+136|0;q=f[p>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(q|0)){f[p>>2]=q+1;k=f[oa+88>>2]|0;b[k+(q*20|0)>>0]=15;d[k+(q*20|0)+2>>1]=0;f[k+(q*20|0)+4>>2]=A;f[k+(q*20|0)+8>>2]=0;f[k+(q*20|0)+12>>2]=0;f[k+(q*20|0)+16>>2]=0;b[k+(q*20|0)+1>>0]=0;break}else{tl(oa,15,A,0,0)|0;break}}while(0);H:do if(L|(S<<24>>24!=0|ka)){if(ka)G=eo(a,Ba)|0;else G=0;I=(e|0)==0;K=I?117:118;H=(l|0)==0;I:do if(H)p=0;else{if(I){p=0;u=l;while(1){do if((K|0)==(h[u+8>>0]|0)){if(!(b[u+9>>0]&3))break;q=f[ua>>2]|0;q=f[((q|0)==0?a:q)+256>>2]|0;J:do if(!q)Aa=647;else while(1){if((f[q>>2]|0)==(u|0)?(f[q+12>>2]|0)==(i|0):0)break J;q=f[q+4>>2]|0;if(!q){Aa=647;break}}while(0);if((Aa|0)==647){Aa=0;q=ln(a,u,Ba,i)|0;if(!q)break}p=f[q+16>>2]|p}while(0);u=f[u+32>>2]|0;if(!u)break I}}p=0;F=l;do{K:do if((K|0)==(h[F+8>>0]|0)){if(!(b[F+9>>0]&3))break;q=f[F+16>>2]|0;L:do if(q|0){E=f[e>>2]|0;if((E|0)<=0)break K;D=f[q+4>>2]|0;if((D|0)<=0)break K;z=f[q>>2]|0;w=0;while(1){B=f[e+4+(w*20|0)+4>>2]|0;C=h[1232+(h[B>>0]|0)>>0]|0;y=0;do{u=f[z+(y<<3)>>2]|0;k=b[u>>0]|0;q=(h[1232+(k&255)>>0]|0)-C|0;if(!(k<<24>>24==0|(q|0)!=0)){v=B;do{u=u+1|0;v=v+1|0;k=b[u>>0]|0;q=(h[1232+(k&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(q|0)!=0))}if(!q)break L;y=y+1|0}while((y|0)<(D|0));w=w+1|0;if((w|0)>=(E|0))break K}}while(0);q=f[ua>>2]|0;q=f[((q|0)==0?a:q)+256>>2]|0;M:do if(!q)Aa=668;else while(1){if((f[q>>2]|0)==(F|0)?(f[q+12>>2]|0)==(i|0):0)break M;q=f[q+4>>2]|0;if(!q){Aa=668;break}}while(0);if((Aa|0)==668){Aa=0;q=ln(a,F,Ba,i)|0;if(!q)break}p=f[q+16>>2]|p}while(0);F=f[F+32>>2]|0}while((F|0)!=0)}while(0);q=p|G;N:do if((d[xa>>1]|0)>0){u=Ba+4|0;v=oa+136|0;w=oa+88|0;if((q|0)==-1){p=0;while(1){Am(oa,Ba,o,p,p+M|0);p=p+1|0;if((p|0)>=(d[xa>>1]|0))break N}}p=0;do{if(p>>>0<32?(1<>2]|0)+(p<<4)+15>>0]&1){Aa=679;break}y=p+M|0;z=f[v>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(z|0)){f[v>>2]=z+1;k=f[w>>2]|0;b[k+(z*20|0)>>0]=73;d[k+(z*20|0)+2>>1]=0;f[k+(z*20|0)+4>>2]=0;f[k+(z*20|0)+8>>2]=y;f[k+(z*20|0)+12>>2]=0;f[k+(z*20|0)+16>>2]=0;b[k+(z*20|0)+1>>0]=0;break}else{tl(oa,73,0,y,0)|0;break}}while(0);if((Aa|0)==679){Aa=0;Am(oa,Ba,o,p,p+M|0)}p=p+1|0}while((p|0)<(d[xa>>1]|0))}while(0);do if((n|0)==0&J){n=oa+136|0;p=f[n>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(p|0)){f[n>>2]=p+1;n=f[oa+88>>2]|0;b[n+(p*20|0)>>0]=78;d[n+(p*20|0)+2>>1]=0;f[n+(p*20|0)+4>>2]=ma;f[n+(p*20|0)+8>>2]=A;f[n+(p*20|0)+12>>2]=0;f[n+(p*20|0)+16>>2]=0;b[n+(p*20|0)+1>>0]=0;n=0;break}else{tl(oa,78,ma,A,0)|0;n=0;break}}while(0);if(H){p=0;G=1;break}if(I){p=0;u=l;while(1){do if((K|0)==(h[u+8>>0]|0)){if(!(b[u+9>>0]&1))break;q=f[ua>>2]|0;q=f[((q|0)==0?a:q)+256>>2]|0;O:do if(!q)Aa=699;else while(1){if((f[q>>2]|0)==(u|0)?(f[q+12>>2]|0)==(i|0):0)break O;q=f[q+4>>2]|0;if(!q){Aa=699;break}}while(0);if((Aa|0)==699){Aa=0;q=ln(a,u,Ba,i)|0;if(!q)break}p=f[q+20>>2]|p}while(0);u=f[u+32>>2]|0;if(!u){I=1;G=0;break H}}}p=0;F=l;while(1){P:do if((K|0)==(h[F+8>>0]|0)){if(!(b[F+9>>0]&1))break;q=f[F+16>>2]|0;Q:do if(q|0){E=f[e>>2]|0;if((E|0)<=0)break P;D=f[q+4>>2]|0;if((D|0)<=0)break P;z=f[q>>2]|0;w=0;while(1){B=f[e+4+(w*20|0)+4>>2]|0;C=h[1232+(h[B>>0]|0)>>0]|0;y=0;do{u=f[z+(y<<3)>>2]|0;k=b[u>>0]|0;q=(h[1232+(k&255)>>0]|0)-C|0;if(!(k<<24>>24==0|(q|0)!=0)){v=B;do{u=u+1|0;v=v+1|0;k=b[u>>0]|0;q=(h[1232+(k&255)>>0]|0)-(h[1232+(h[v>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(q|0)!=0))}if(!q)break Q;y=y+1|0}while((y|0)<(D|0));w=w+1|0;if((w|0)>=(E|0))break P}}while(0);q=f[ua>>2]|0;q=f[((q|0)==0?a:q)+256>>2]|0;R:do if(!q)Aa=720;else while(1){if((f[q>>2]|0)==(F|0)?(f[q+12>>2]|0)==(i|0):0)break R;q=f[q+4>>2]|0;if(!q){Aa=720;break}}while(0);if((Aa|0)==720){Aa=0;q=ln(a,F,Ba,i)|0;if(!q)break}p=f[q+20>>2]|p}while(0);F=f[F+32>>2]|0;if(!F){I=0;G=0;break}}}else{p=0;I=(e|0)==0;G=1}while(0);if((d[xa>>1]|0)>0){C=Ba+40|0;D=oa+136|0;E=oa+88|0;m=m&1;B=(m|0)==0;z=0;do{S:do if((z|0)==(d[C>>1]|0)){q=z+x|0;u=f[D>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(u|0)){f[D>>2]=u+1;k=f[E>>2]|0;b[k+(u*20|0)>>0]=73;d[k+(u*20|0)+2>>1]=0;f[k+(u*20|0)+4>>2]=0;f[k+(u*20|0)+8>>2]=q;f[k+(u*20|0)+12>>2]=0;f[k+(u*20|0)+16>>2]=0;b[k+(u*20|0)+1>>0]=0;break}else{tl(oa,73,0,q,0)|0;break}}else{q=f[r+(z<<2)>>2]|0;if((q|0)<=-1){do if(!(B|z>>>0>31)){if(1<>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(u|0)){f[D>>2]=u+1;k=f[E>>2]|0;b[k+(u*20|0)>>0]=73;d[k+(u*20|0)+2>>1]=0;f[k+(u*20|0)+4>>2]=0;f[k+(u*20|0)+8>>2]=q;f[k+(u*20|0)+12>>2]=0;f[k+(u*20|0)+16>>2]=0;b[k+(u*20|0)+1>>0]=0;break S}else{tl(oa,73,0,q,0)|0;break S}}while(0);Am(oa,Ba,o,z,z+x|0);break}q=f[e+4+(q*20|0)>>2]|0;y=z+x|0;do if(q){if((b[q>>0]|0)!=-92){w=xl(a,q,y)|0;break}w=f[qa>>2]|0;q=f[q+28>>2]|0;u=w+136|0;v=f[u>>2]|0;if((f[(f[w+12>>2]|0)+48>>2]|0)>(v|0)){f[u>>2]=v+1;k=f[w+88>>2]|0;b[k+(v*20|0)>>0]=78;d[k+(v*20|0)+2>>1]=0;f[k+(v*20|0)+4>>2]=q;f[k+(v*20|0)+8>>2]=y;f[k+(v*20|0)+12>>2]=0;f[k+(v*20|0)+16>>2]=0;b[k+(v*20|0)+1>>0]=0;break S}else{tl(w,78,q,y,0)|0;break S}}else w=xl(a,0,y)|0;while(0);if((w|0)==(y|0))break;q=f[qa>>2]|0;if(!q)break;u=q+136|0;v=f[u>>2]|0;if((f[(f[q+12>>2]|0)+48>>2]|0)>(v|0)){f[u>>2]=v+1;k=f[q+88>>2]|0;b[k+(v*20|0)>>0]=79;d[k+(v*20|0)+2>>1]=0;f[k+(v*20|0)+4>>2]=w;f[k+(v*20|0)+8>>2]=y;f[k+(v*20|0)+12>>2]=0;f[k+(v*20|0)+16>>2]=0;b[k+(v*20|0)+1>>0]=0;break}else{tl(q,79,w,y,0)|0;break}}while(0);z=z+1|0}while((z|0)<(d[xa>>1]|0))}else m=m&1;do if(m|0){kn(oa,Ba,x);if(!G){E=a+23|0;F=a+44|0;D=l;do{T:do if((b[D+8>>0]|0)==118){if((b[D+9>>0]|0)!=1)break;m=f[D+16>>2]|0;U:do if(!(I|(m|0)==0)){C=f[e>>2]|0;if((C|0)<=0)break T;B=f[m+4>>2]|0;if((B|0)<=0)break T;w=f[m>>2]|0;u=0;while(1){y=f[e+4+(u*20|0)+4>>2]|0;z=h[1232+(h[y>>0]|0)>>0]|0;v=0;do{p=f[w+(v<<3)>>2]|0;k=b[p>>0]|0;m=(h[1232+(k&255)>>0]|0)-z|0;if(!(k<<24>>24==0|(m|0)!=0)){q=y;do{p=p+1|0;q=q+1|0;k=b[p>>0]|0;m=(h[1232+(k&255)>>0]|0)-(h[1232+(h[q>>0]|0)>>0]|0)|0}while(!(k<<24>>24==0|(m|0)!=0))}if(!m)break U;v=v+1|0}while((v|0)<(B|0));u=u+1|0;if((u|0)>=(C|0))break T}}while(0);m=f[qa>>2]|0;if(!m){do if(!(f[ua>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[E>>0]=1}while(0);m=sl(a)|0}p=f[ua>>2]|0;p=f[((p|0)==0?a:p)+256>>2]|0;V:do if(!p)Aa=776;else while(1){if((f[p>>2]|0)==(D|0)?(f[p+12>>2]|0)==(i|0):0)break V;p=f[p+4>>2]|0;if(!p){Aa=776;break}}while(0);if((Aa|0)==776){Aa=0;p=ln(a,D,Ba,i)|0;if(!p)break}if(!(f[D>>2]|0))y=0;else{y=(f[a>>2]|0)+32|0;y=VA(f[y>>2]|0,f[y+4>>2]|0,13)|0;ba()|0;y=y&1^1}q=(f[F>>2]|0)+1|0;f[F>>2]=q;v=f[p+8>>2]|0;w=m+136|0;p=f[w>>2]|0;if((f[(f[m+12>>2]|0)+48>>2]|0)>(p|0)){f[w>>2]=p+1;k=f[m+88>>2]|0;b[k+(p*20|0)>>0]=45;d[k+(p*20|0)+2>>1]=0;f[k+(p*20|0)+4>>2]=ma;f[k+(p*20|0)+8>>2]=P;f[k+(p*20|0)+12>>2]=q;f[k+(p*20|0)+16>>2]=0;b[k+(p*20|0)+1>>0]=0}else p=tl(m,45,ma,P,q)|0;do if(!(b[(f[m>>2]|0)+81>>0]|0)){if((p|0)<0)p=(f[w>>2]|0)+-1|0;q=f[m+88>>2]|0;u=q+(p*20|0)+1|0;if(b[u>>0]|0){ul(m,q+(p*20|0)|0,v,-4);break}if(!v)break;f[q+(p*20|0)+16>>2]=v;b[u>>0]=-4}while(0);p=f[w>>2]|0;if((p|0)<=0)break;d[(f[m+88>>2]|0)+((p+-1|0)*20|0)+2>>1]=y}while(0);D=f[D+32>>2]|0}while((D|0)!=0)}p=oa+136|0;m=f[p>>2]|0;q=(f[(f[$>>2]|0)+48>>2]|0)>(m|0);do if(!n)if(q){f[p>>2]=m+1;k=f[oa+88>>2]|0;b[k+(m*20|0)>>0]=31;d[k+(m*20|0)+2>>1]=0;f[k+(m*20|0)+4>>2]=o;f[k+(m*20|0)+8>>2]=P;f[k+(m*20|0)+12>>2]=ma;f[k+(m*20|0)+16>>2]=0;b[k+(m*20|0)+1>>0]=0;break}else{tl(oa,31,o,P,ma)|0;break}else{if(q){f[p>>2]=m+1;k=f[oa+88>>2]|0;b[k+(m*20|0)>>0]=28;d[k+(m*20|0)+2>>1]=0;f[k+(m*20|0)+4>>2]=o;f[k+(m*20|0)+8>>2]=P;f[k+(m*20|0)+12>>2]=N;f[k+(m*20|0)+16>>2]=0;b[k+(m*20|0)+1>>0]=0}else m=tl(oa,28,o,P,N)|0;if(b[(f[oa>>2]|0)+81>>0]|0)break;k=f[oa+88>>2]|0;b[k+(m*20|0)+1>>0]=-3;f[k+(m*20|0)+16>>2]=O}while(0);m=d[xa>>1]|0;if(m<<16>>16<=0)break;q=Ba+40|0;p=0;do{do if((f[r+(p<<2)>>2]|0)<0){if((p|0)==(d[q>>1]|0))break;Am(oa,Ba,o,p,p+x|0);m=d[xa>>1]|0}while(0);p=p+1|0}while((p|0)<(m<<16>>16|0))}while(0);do if(!wa){mn(a,Ba,va,o,s,A,ma,pa,i&255,P,za,r,0);if(ka)nn(a,Ba,ma,0,r,ta);u=(ta|0)==0;v=(f[za>>2]|ta|0)==0;do if(v)q=0;else{p=oa+136|0;m=f[p>>2]|0;q=(f[(f[$>>2]|0)+48>>2]|0)>(m|0);if(!n)if(q){f[p>>2]=m+1;q=f[oa+88>>2]|0;b[q+(m*20|0)>>0]=31;d[q+(m*20|0)+2>>1]=0;f[q+(m*20|0)+4>>2]=o;f[q+(m*20|0)+8>>2]=0;f[q+(m*20|0)+12>>2]=ma;f[q+(m*20|0)+16>>2]=0;b[q+(m*20|0)+1>>0]=0;q=m;break}else{q=tl(oa,31,o,0,ma)|0;break}if(q){f[p>>2]=m+1;za=f[oa+88>>2]|0;b[za+(m*20|0)>>0]=28;d[za+(m*20|0)+2>>1]=0;f[za+(m*20|0)+4>>2]=o;f[za+(m*20|0)+8>>2]=0;f[za+(m*20|0)+12>>2]=N;f[za+(m*20|0)+16>>2]=0;b[za+(m*20|0)+1>>0]=0}else m=tl(oa,28,o,0,N)|0;if(b[(f[oa>>2]|0)+81>>0]|0){q=m;break}q=f[oa+88>>2]|0;b[q+(m*20|0)+1>>0]=-3;f[q+(m*20|0)+16>>2]=O;q=m}while(0);co(a,Ba,o,s,va,-1);do if(!(u&(la|0)<2)){m=oa+136|0;p=f[m>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(p|0)){f[m>>2]=p+1;za=f[oa+88>>2]|0;b[za+(p*20|0)>>0]=124;d[za+(p*20|0)+2>>1]=0;f[za+(p*20|0)+4>>2]=o;f[za+(p*20|0)+8>>2]=0;f[za+(p*20|0)+12>>2]=0;f[za+(p*20|0)+16>>2]=0;b[za+(p*20|0)+1>>0]=0;break}else{tl(oa,124,o,0,0)|0;break}}while(0);if(!v){p=f[oa+136>>2]|0;if(!(b[(f[oa>>2]|0)+81>>0]|0))m=(f[oa+88>>2]|0)+(((q|0)<0?p+-1|0:q)*20|0)|0;else m=72144;f[m+8>>2]=p}if(!ka){on(a,Ba,o,s,A,va,(W|0)==2?6:4,0,0);break}nn(a,Ba,0,A,r,ta);on(a,Ba,o,s,A,va,(W|0)==2?6:4,0,0);if(0==0?(f[(f[a>>2]|0)+32>>2]&16384|0)==0:0)break;v=f[Ba>>2]|0;q=f[ya>>2]|0;s=f[q+68>>2]|0;if(!s){o=q+60|0;m=q+64|0}else{o=b[v>>0]|0;if(!(o<<24>>24))m=0;else{m=0;p=v;do{p=p+1|0;m=U(m+(h[1232+(o&255)>>0]|0)|0,-1640531535)|0;o=b[p>>0]|0}while(o<<24>>24!=0)}m=(m>>>0)%((f[q+56>>2]|0)>>>0)|0;o=s+(m<<3)|0;m=s+(m<<3)+4|0}o=f[o>>2]|0;W:do if(!o)m=72124;else{u=h[1232+(h[v>>0]|0)>>0]|0;while(1){m=f[m>>2]|0;o=o+-1|0;q=f[m+12>>2]|0;za=b[q>>0]|0;p=(h[1232+(za&255)>>0]|0)-u|0;if(!(za<<24>>24==0|(p|0)!=0)){s=v;do{q=q+1|0;s=s+1|0;za=b[q>>0]|0;p=(h[1232+(za&255)>>0]|0)-(h[1232+(h[s>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(p|0)!=0))}if(!p)break W;if(!o){m=72124;break}}}while(0);m=f[m+8>>2]|0;if(!m)break;x=a+23|0;y=a+44|0;do{do if(qn(Ba,m,r,ta)|0){q=fo(a,Ba,m,e)|0;if(!q)break;o=f[qa>>2]|0;if(!o){do if(!(f[ua>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[x>>0]=1}while(0);o=sl(a)|0}p=f[ua>>2]|0;p=f[((p|0)==0?a:p)+256>>2]|0;X:do if(!p)Aa=857;else while(1){if((f[p>>2]|0)==(q|0)?(f[p+12>>2]|0)==2:0)break X;p=f[p+4>>2]|0;if(!p){Aa=857;break}}while(0);if((Aa|0)==857){Aa=0;p=ln(a,q,Ba,2)|0;if(!p)break}if(!(f[q>>2]|0))w=0;else{w=(f[a>>2]|0)+32|0;w=VA(f[w>>2]|0,f[w+4>>2]|0,13)|0;ba()|0;w=w&1^1}q=(f[y>>2]|0)+1|0;f[y>>2]=q;u=f[p+8>>2]|0;v=o+136|0;p=f[v>>2]|0;if((f[(f[o+12>>2]|0)+48>>2]|0)>(p|0)){f[v>>2]=p+1;za=f[o+88>>2]|0;b[za+(p*20|0)>>0]=45;d[za+(p*20|0)+2>>1]=0;f[za+(p*20|0)+4>>2]=ma;f[za+(p*20|0)+8>>2]=0;f[za+(p*20|0)+12>>2]=q;f[za+(p*20|0)+16>>2]=0;b[za+(p*20|0)+1>>0]=0}else p=tl(o,45,ma,0,q)|0;do if(!(b[(f[o>>2]|0)+81>>0]|0)){if((p|0)<0)p=(f[v>>2]|0)+-1|0;q=f[o+88>>2]|0;s=q+(p*20|0)+1|0;if(b[s>>0]|0){ul(o,q+(p*20|0)|0,u,-4);break}if(!u)break;f[q+(p*20|0)+16>>2]=u;b[s>>0]=-4}while(0);p=f[v>>2]|0;if((p|0)<=0)break;d[(f[o+88>>2]|0)+((p+-1|0)*20|0)+2>>1]=w}while(0);m=f[m+12>>2]|0}while((m|0)!=0)}while(0);B=(Z|0)!=0;do if(B){m=oa+136|0;o=f[m>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;za=f[oa+88>>2]|0;b[za+(o*20|0)>>0]=83;d[za+(o*20|0)+2>>1]=0;f[za+(o*20|0)+4>>2]=Z;f[za+(o*20|0)+8>>2]=1;f[za+(o*20|0)+12>>2]=0;f[za+(o*20|0)+16>>2]=0;b[za+(o*20|0)+1>>0]=0;break}else{tl(oa,83,Z,1,0)|0;break}}while(0);if(!G){z=a+23|0;A=a+44|0;do{Y:do if((b[l+8>>0]|0)==118){if((b[l+9>>0]|0)!=2)break;m=f[l+16>>2]|0;Z:do if(!(I|(m|0)==0)){y=f[e>>2]|0;if((y|0)<=0)break Y;x=f[m+4>>2]|0;if((x|0)<=0)break Y;u=f[m>>2]|0;q=0;while(1){v=f[e+4+(q*20|0)+4>>2]|0;w=h[1232+(h[v>>0]|0)>>0]|0;s=0;do{o=f[u+(s<<3)>>2]|0;za=b[o>>0]|0;m=(h[1232+(za&255)>>0]|0)-w|0;if(!(za<<24>>24==0|(m|0)!=0)){p=v;do{o=o+1|0;p=p+1|0;za=b[o>>0]|0;m=(h[1232+(za&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(m|0)!=0))}if(!m)break Z;s=s+1|0}while((s|0)<(x|0));q=q+1|0;if((q|0)>=(y|0))break Y}}while(0);m=f[qa>>2]|0;if(!m){do if(!(f[ua>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[z>>0]=1}while(0);m=sl(a)|0}o=f[ua>>2]|0;o=f[((o|0)==0?a:o)+256>>2]|0;_:do if(!o)Aa=903;else while(1){if((f[o>>2]|0)==(l|0)?(f[o+12>>2]|0)==(i|0):0)break _;o=f[o+4>>2]|0;if(!o){Aa=903;break}}while(0);if((Aa|0)==903){Aa=0;o=ln(a,l,Ba,i)|0;if(!o)break}if(!(f[l>>2]|0))v=0;else{v=(f[a>>2]|0)+32|0;v=VA(f[v>>2]|0,f[v+4>>2]|0,13)|0;ba()|0;v=v&1^1}p=(f[A>>2]|0)+1|0;f[A>>2]=p;s=f[o+8>>2]|0;u=m+136|0;o=f[u>>2]|0;if((f[(f[m+12>>2]|0)+48>>2]|0)>(o|0)){f[u>>2]=o+1;za=f[m+88>>2]|0;b[za+(o*20|0)>>0]=45;d[za+(o*20|0)+2>>1]=0;f[za+(o*20|0)+4>>2]=ma;f[za+(o*20|0)+8>>2]=P;f[za+(o*20|0)+12>>2]=p;f[za+(o*20|0)+16>>2]=0;b[za+(o*20|0)+1>>0]=0}else o=tl(m,45,ma,P,p)|0;do if(!(b[(f[m>>2]|0)+81>>0]|0)){if((o|0)<0)o=(f[u>>2]|0)+-1|0;p=f[m+88>>2]|0;q=p+(o*20|0)+1|0;if(b[q>>0]|0){ul(m,p+(o*20|0)|0,s,-4);break}if(!s)break;f[p+(o*20|0)+16>>2]=s;b[q>>0]=-4}while(0);o=f[u>>2]|0;if((o|0)<=0)break;d[(f[m+88>>2]|0)+((o+-1|0)*20|0)+2>>1]=v}while(0);l=f[l+32>>2]|0}while((l|0)!=0)}$:do switch(W|0){case 1:break;case 2:{l=f[(f[$>>2]|0)+64>>2]|0;if(l|0)f[l+(~P<<2)>>2]=f[oa+136>>2];tn(X);break}default:{if(!n){l=oa+136|0;m=f[l>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;i=f[oa+88>>2]|0;b[i+(m*20|0)>>0]=11;d[i+(m*20|0)+2>>1]=0;f[i+(m*20|0)+4>>2]=0;f[i+(m*20|0)+8>>2]=P;f[i+(m*20|0)+12>>2]=0;f[i+(m*20|0)+16>>2]=0;b[i+(m*20|0)+1>>0]=0;break $}else{tl(oa,11,0,P,0)|0;break $}}n=f[$>>2]|0;l=f[n+64>>2]|0;m=oa+136|0;if(l|0)f[l+(~P<<2)>>2]=f[m>>2];l=f[m>>2]|0;if((f[n+48>>2]|0)>(l|0)){f[m>>2]=l+1;i=f[oa+88>>2]|0;b[i+(l*20|0)>>0]=5;d[i+(l*20|0)+2>>1]=0;f[i+(l*20|0)+4>>2]=Y;f[i+(l*20|0)+8>>2]=Q;f[i+(l*20|0)+12>>2]=0;f[i+(l*20|0)+16>>2]=0;b[i+(l*20|0)+1>>0]=0;break $}else{tl(oa,5,Y,Q,0)|0;break $}}}while(0);l=f[(f[$>>2]|0)+64>>2]|0;if(l|0)f[l+(_<<2)>>2]=f[oa+136>>2];do if(!(b[na>>0]|0)){if(!(T&(f[a+120>>2]|0)==0))break;if(!(f[a+112>>2]|0))break;jn(a)}while(0);if(!B)break;l=oa+136|0;m=f[l>>2]|0;if((f[(f[$>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;a=f[oa+88>>2]|0;b[a+(m*20|0)>>0]=81;d[a+(m*20|0)+2>>1]=0;f[a+(m*20|0)+4>>2]=Z;f[a+(m*20|0)+8>>2]=1;f[a+(m*20|0)+12>>2]=0;f[a+(m*20|0)+16>>2]=0;b[a+(m*20|0)+1>>0]=0}else tl(oa,81,Z,1,0)|0;Mi(oa,1);if(b[(f[oa>>2]|0)+81>>0]|0)break;$e(f[oa+100>>2]|0,57091,-1,1,0)|0}while(0);if(!sa){Aa=946;break}f[sa+236>>2]=ra;Aa=946}while(0);if((Aa|0)==946?Ca|0:0)Aa=947;do if((Aa|0)==947){if(f[Ca+480>>2]|0){Kc(Ca,r);break a}l=r;if((f[Ca+304>>2]|0)>>>0<=l>>>0){if((f[Ca+308>>2]|0)>>>0<=l>>>0)break;a=Ca+300|0;f[r>>2]=f[a>>2];f[a>>2]=r;break a}}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](r);break}else{a=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-a;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);break}}}}}while(0);ng(Ca,c);if(e|0)jg(Ca,e);if(!g){t=Da;return}ig(Ca,g);t=Da;return}function Pl(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;u=t;t=t+16|0;o=u+8|0;k=u;s=f[a>>2]|0;if(!c)p=0;else p=f[c>>2]|0;q=(e|0)==0;h=(g|0)==0;do if(q|h){if(!h)r=40}else{l=b[g>>0]|0;n=e+4|0;h=f[n>>2]|0;switch(l<<24>>24){case 127:break;case -92:{i=b[g+38>>0]|0;r=6;break}default:{i=l;r=6}}if((r|0)==6){switch(i<<24>>24){case -91:{i=g+20|0;r=9;break}case 127:{i=f[g+20>>2]|0;r=9;break}default:i=1}if((r|0)==9)i=f[f[i>>2]>>2]|0;if((h|0)!=(i|0)){f[k>>2]=h;f[k+4>>2]=i;ni(a,57042,k);r=40;break}}a:do if((h|0)>0){m=g+20|0;i=0;h=l;while(1){b:do switch(h<<24>>24){case 127:{l=f[a>>2]|0;c:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))r=25;else{h=0;break b}else{do if((j[l+276>>1]|0)>=48){k=l+300|0;h=f[k>>2]|0;if(h|0){f[k>>2]=f[h>>2];l=l+284|0;f[l>>2]=(f[l>>2]|0)+1;break c}k=l+296|0;h=f[k>>2]|0;if(!h){h=l+292|0;break}else{f[k>>2]=f[h>>2];l=l+284|0;f[l>>2]=(f[l>>2]|0)+1;break c}}else h=l+288|0;while(0);f[h>>2]=(f[h>>2]|0)+1;r=25}while(0);if((r|0)==25){r=0;h=Dc(l,48,0)|0}if(!h)h=0;else{k=h;l=k+48|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[h>>0]=-90;d[h+34>>1]=-1;jl(h);k=f[(f[a>>2]|0)+120>>2]|0;if((k|0)<(f[h+24>>2]|0)){f[o>>2]=k;ni(a,42710,o)}d[h+32>>1]=i;f[h+12>>2]=g}break}case -91:{h=f[(f[m>>2]|0)+4+(i*20|0)>>2]|0;if(!h)h=0;else r=31;break}default:{h=g;r=31}}while(0);if((r|0)==31){r=0;h=Bk(f[a>>2]|0,h,0,0)|0}c=ml(f[a>>2]|0,c,h)|0;if(c|0){l=(f[e>>2]|0)+(i<<3)|0;f[c+4+(((f[c>>2]|0)+-1|0)*20|0)+4>>2]=f[l>>2];f[l>>2]=0}i=i+1|0;h=f[n>>2]|0;if((i|0)>=(h|0))break a;h=b[g>>0]|0}}while(0);if((b[s+81>>0]|0)==0?(c|0)!=0&(b[g>>0]|0)==127:0){p=f[c+4+(p*20|0)>>2]|0;f[p+16>>2]=g;f[p+28>>2]=h}else r=40}while(0);if((r|0)==40)ig(s,g);if(q){t=u;return c|0}a=e+4|0;h=f[e>>2]|0;d:do if((f[a>>2]|0)>0){k=s+480|0;l=s+304|0;m=s+308|0;n=s+300|0;if(!s){i=0;while(1){h=f[h+(i<<3)>>2]|0;do if(h|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{r=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}while(0);i=i+1|0;h=f[e>>2]|0;if((i|0)>=(f[a>>2]|0))break d}}i=0;do{h=f[h+(i<<3)>>2]|0;do if(h|0){if(f[k>>2]|0){Kc(s,h);break}r=h;if((f[l>>2]|0)>>>0<=r>>>0?(f[m>>2]|0)>>>0>r>>>0:0){f[h>>2]=f[n>>2];f[n>>2]=h;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](h);break}else{r=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);break}}while(0);i=i+1|0;h=f[e>>2]|0}while((i|0)<(f[a>>2]|0))}while(0);e:do if(h){do if(s|0){i=s+480|0;if(!(f[i>>2]|0)){k=h;if((f[s+304>>2]|0)>>>0>k>>>0)break;if((f[s+308>>2]|0)>>>0<=k>>>0)break;r=s+300|0;f[h>>2]=f[r>>2];f[r>>2]=h}else Kc(s,h);h=i;r=74;break e}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](h);r=72;break}else{r=ib[f[37368>>2]&255](h)|0;f[18187]=(f[18187]|0)-r;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](h);r=72;break}}else r=72;while(0);if((r|0)==72)if(s){h=s+480|0;r=74}if((r|0)==74){if(f[h>>2]|0){Kc(s,e);t=u;return c|0}r=e;if((f[s+304>>2]|0)>>>0<=r>>>0?(f[s+308>>2]|0)>>>0>r>>>0:0){s=s+300|0;f[e>>2]=f[s>>2];f[s>>2]=e;t=u;return c|0}}if(!e){t=u;return c|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);t=u;return c|0}else{s=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-s;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);t=u;return c|0}return 0} -function Ql(a,c,e,g,i,k){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;Ea=t;t=t+320|0;ka=Ea+216|0;da=Ea+208|0;aa=Ea+200|0;X=Ea+192|0;W=Ea+176|0;V=Ea+168|0;Q=Ea+152|0;O=Ea+144|0;N=Ea+136|0;C=Ea+128|0;y=Ea+120|0;u=Ea+112|0;s=Ea+104|0;q=Ea+96|0;ra=Ea+288|0;fa=Ea+256|0;ja=Ea;wa=Ea+252|0;va=Ea+248|0;S=Ea+224|0;f[wa>>2]=0;f[va>>2]=0;Da=f[a>>2]|0;T=a+36|0;do if((f[T>>2]|0)==0?($=Da+81|0,(b[$>>0]|0)==0):0){la=S+4|0;f[la>>2]=0;if(e)if((f[e+8>>2]&512|0)!=0?(f[e+52>>2]|0)==0:0){Ca=f[e>>2]|0;f[e>>2]=0;mg(Da,e,1);Ba=0}else{Ba=e;Ca=0}else{Ba=0;Ca=0}e=f[c+8>>2]|0;if(!e)l=c+12|0;else{m=f[(f[a>>2]|0)+16>>2]|0;l=0;while(1)if((f[m+(l<<4)+12>>2]|0)==(e|0))break;else l=l+1|0;l=m+(l<<4)|0}Aa=pi(a,0,f[c+16>>2]|0,f[l>>2]|0)|0;l=f[a>>2]|0;ca=c+24|0;e=f[ca>>2]|0;do if(e|0){if(l|0?f[l+480>>2]|0:0){hg(l,e);break}xa=e+32|0;ya=(f[xa>>2]|0)+-1|0;f[xa>>2]=ya;if(!ya)hg(l,e)}while(0);f[ca>>2]=Aa;a:do if(Aa){ya=Aa+32|0;f[ya>>2]=(f[ya>>2]|0)+1;b:do if(b[c+45>>0]&2){o=f[c+72>>2]|0;l=f[Aa+8>>2]|0;c:do if(l|0){p=h[1232+(h[o>>0]|0)>>0]|0;while(1){m=f[l>>2]|0;ya=b[m>>0]|0;e=(h[1232+(ya&255)>>0]|0)-p|0;if(!(ya<<24>>24==0|(e|0)!=0)){n=o;do{m=m+1|0;n=n+1|0;ya=b[m>>0]|0;e=(h[1232+(ya&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(ya<<24>>24==0|(e|0)!=0))}if(!e)break;l=f[l+20>>2]|0;if(!l)break c}f[c+76>>2]=l;break b}while(0);f[q>>2]=o;f[q+4>>2]=0;ni(a,50588,q);b[a+17>>0]=1;l=0;za=1020;break a}while(0);pa=Aa+72|0;e=f[pa>>2]|0;m=f[Da+16>>2]|0;if(!e)R=-1e6;else{l=0;while(1)if((f[m+(l<<4)+12>>2]|0)==(e|0)){R=l;break}else l=l+1|0}n=f[Aa>>2]|0;e=f[m+(R<<4)>>2]|0;l=f[a>>2]|0;if(((b[l+165>>0]|0)==0?(b[a+196>>0]|0)==0:0)?(r=f[l+312>>2]|0,(r|0)!=0):0){l=nb[r&127](f[l+316>>2]|0,18,n,0,e,f[a+236>>2]|0)|0;if((l|0)==1){ni(a,49816,s);f[a+12>>2]=23;l=0;za=1020;break}if((l|2|0)!=2){ni(a,49831,u);f[a+12>>2]=1;l=0;za=1020;break}if(l|0){l=0;za=1020;break}l=f[a>>2]|0}P=Aa+36|0;na=(f[P>>2]|0)>>>5&1;do if(!(0==0?(f[l+32>>2]&262144|0)==0:0)?(v=f[(f[l+16>>2]|0)+28>>2]|0,(b[a+142>>0]|0)==0):0){r=f[pa>>2]|0;if((r|0)!=(v|0)?(w=f[v+48>>2]|0,(w|0)!=0):0){q=Aa+68|0;p=w;l=0;do{o=f[p+8>>2]|0;do if((f[o+24>>2]|0)==(r|0)){m=f[o+4>>2]|0;n=f[Aa>>2]|0;ya=b[m>>0]|0;e=(h[1232+(ya&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0;if(!(ya<<24>>24==0|(e|0)!=0))do{m=m+1|0;n=n+1|0;ya=b[m>>0]|0;e=(h[1232+(ya&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(ya<<24>>24==0|(e|0)!=0));if(e|0)break;if(!l)l=f[q>>2]|0;f[o+32>>2]=l;l=o}while(0);p=f[p>>2]|0}while((p|0)!=0);if(!l)za=56}else za=56;if((za|0)==56){l=f[Aa+68>>2]|0;if(!l){za=62;break}}e=0;m=l;do{if((b[m+8>>0]|0)==116)e=e|h[m+9>>0];m=f[m+32>>2]|0}while((m|0)!=0);if(e)u=l;else za=62}else za=62;while(0);if((za|0)==62){e=0;u=0}ma=(f[Aa+12>>2]|0)!=0;if((ki(a,Aa)|0)==0?(fn(a,Aa,e)|0)==0:0){ta=a+8|0;l=f[ta>>2]|0;if(!l){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;l=sl(a)|0;if(!l){l=0;za=1020;break}else ya=l}else ya=l;xa=a+18|0;if(!(b[xa>>0]|0)){ua=ya+145|0;sa=h[ua>>0]|h[ua+1>>0]<<8|32;b[ua>>0]=sa;b[ua+1>>0]=sa>>8}ua=(Ba|0)!=0;qa=(u|0)!=0;s=(ua|qa)&1;sa=a+116|0;w=f[sa>>2]|0;w=(w|0)==0?a:w;l=w+84|0;m=f[l>>2]|0;v=1<>2]=m|v,(R|0)==1):0)?(z=f[w>>2]|0,x=z+16|0,(f[(f[x>>2]|0)+20>>2]|0)==0):0){if(b[w+195>>0]|0)break;l=cj(f[z>>2]|0,0,z,ra,0,542)|0;if(l|0){ni(w,51535,y);f[w+12>>2]=l;break}oa=f[ra>>2]|0;f[(f[x>>2]|0)+20>>2]=oa;l=f[z+92>>2]|0;o=f[oa+4>>2]|0;f[o+4>>2]=f[oa>>2];do if(!(d[o+22>>1]&2)){p=o+32|0;q=o+36|0;r=(f[p>>2]|0)-(f[q>>2]|0)|0;do if((l+-512|0)>>>0<65025){if(l+-1&l|0)break;f[p>>2]=l;n=o+80|0;l=f[n>>2]|0;if(!l)break;m=l+-4|0;f[n>>2]=m;l=m;do if((f[18022]|0)>>>0<=l>>>0)if((f[18023]|0)>>>0>l>>>0){f[18188]=(f[18188]|0)+-1;f[m>>2]=f[18025];f[18025]=m;oa=(f[18026]|0)+1|0;f[18026]=oa;f[18027]=(oa|0)<(f[18021]|0)&1;break}else{l=ib[f[37368>>2]&255](m)|0;za=87;break}else{l=ib[f[37368>>2]&255](m)|0;za=87}while(0);do if((za|0)==87){f[18189]=(f[18189]|0)-l;if(!(f[9328]|0)){ob[f[37360>>2]&127](m);break}else{oa=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-oa;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);break}}while(0);f[n>>2]=0}while(0);oa=ih(f[o>>2]|0,p,r)|0;f[q>>2]=(f[p>>2]|0)-(r&65535);if((oa|0)!=7)break;l=z+81|0;do if(!(b[l>>0]|0)){if(b[z+82>>0]|0)break;b[l>>0]=1;if((f[z+180>>2]|0)>0)f[z+264>>2]=1;oa=z+272|0;f[oa>>2]=(f[oa>>2]|0)+1}while(0);break d}while(0)}while(0);oa=w+80|0;f[oa>>2]=f[oa>>2]|v;oa=w+20|0;b[oa>>0]=h[oa>>0]|s;oa=(g|0)==0;e:do if(oa?(E=f[a>>2]|0,(Ba|0)!=0):0){if(f[a+260>>2]|0){za=416;break}if(f[Ba+64>>2]|0){za=416;break}w=E+16|0;v=f[w>>2]|0;l=f[v+28>>2]|0;if(!(b[a+142>>0]|0)){s=f[pa>>2]|0;do if((s|0)!=(l|0)){l=f[l+48>>2]|0;if(!l)break;r=Aa+68|0;m=0;do{q=f[l+8>>2]|0;do if((f[q+24>>2]|0)==(s|0)){o=f[q+4>>2]|0;p=f[Aa>>2]|0;ia=b[o>>0]|0;n=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0;if(!(ia<<24>>24==0|(n|0)!=0))do{o=o+1|0;p=p+1|0;ia=b[o>>0]|0;n=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[p>>0]|0)>>0]|0)|0}while(!(ia<<24>>24==0|(n|0)!=0));if(n|0)break;if(!m)m=f[r>>2]|0;f[q+32>>2]=m;m=q}while(0);l=f[l>>2]|0}while((l|0)!=0);if(m|0){za=416;break e}}while(0);if(f[Aa+68>>2]|0){za=416;break}}if(f[Aa+56>>2]|0){za=416;break}do if((i|0)==11){if((d[Aa+40>>1]|0)>-1?(A=b[Aa+48>>0]|0,A<<24>>24!=11):0){B=A&255;break}B=2}else B=i;while(0);n=f[Ba+32>>2]|0;if((f[n>>2]|0)!=1){za=416;break}if(f[n+28>>2]|0){za=416;break}if(f[Ba+36>>2]|0){za=416;break}if(f[Ba+48>>2]|0){za=416;break}if(f[Ba+40>>2]|0){za=416;break}if(f[Ba+60>>2]|0){za=416;break}if(f[Ba+52>>2]|0){za=416;break}if(f[Ba+8>>2]&1|0){za=416;break}l=f[Ba>>2]|0;if((f[l>>2]|0)!=1){za=416;break}if((b[f[l+4>>2]>>0]|0)!=-88){za=416;break}m=f[n+8>>2]|0;if(!m)l=n+12|0;else{l=0;while(1)if((f[v+(l<<4)+12>>2]|0)==(m|0))break;else l=l+1|0;l=v+(l<<4)|0}I=pi(a,0,f[n+16>>2]|0,f[l>>2]|0)|0;if((I|0)==0|(I|0)==(Aa|0)){za=416;break}M=I+36|0;if((f[M>>2]^f[P>>2])&32|0){za=416;break}if(f[I+56>>2]|0){za=416;break}if(f[I+12>>2]|0){za=416;break}l=d[Aa+42>>1]|0;if(l<<16>>16!=(d[I+42>>1]|0)){za=416;break}z=Aa+40|0;if((d[z>>1]|0)!=(d[I+40>>1]|0)){za=416;break}r=l<<16>>16;if(l<<16>>16>0){p=f[Aa+4>>2]|0;q=f[I+4>>2]|0;o=0;do{if((b[p+(o<<4)+13>>0]|0)!=(b[q+(o<<4)+13>>0]|0)){za=416;break e}m=f[p+(o<<4)+8>>2]|0;n=f[q+(o<<4)+8>>2]|0;do if(!m)l=((n|0)!=0)<<31>>31;else{if(!n){za=416;break e}ia=b[m>>0]|0;l=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0;if(ia<<24>>24==0|(l|0)!=0)break;do{m=m+1|0;n=n+1|0;ia=b[m>>0]|0;l=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[n>>0]|0)>>0]|0)|0}while(!(ia<<24>>24==0|(l|0)!=0))}while(0);if(l|0){za=416;break e}if(b[p+(o<<4)+12>>0]|0?(b[q+(o<<4)+12>>0]|0)==0:0){za=416;break e}do if(o|0){l=f[p+(o<<4)+4>>2]|0;m=(l|0)==0;n=f[q+(o<<4)+4>>2]|0;if(m^(n|0)==0){za=416;break e}if(m)break;if(tz(f[l+8>>2]|0,f[n+8>>2]|0)|0){za=416;break e}}while(0);o=o+1|0}while((o|0)<(r|0))}D=Aa+8|0;l=f[D>>2]|0;if(!l)m=0;else{o=I+8|0;m=0;do{m=(b[l+54>>0]|0)==0?m:1;n=f[o>>2]|0;if(!n){za=416;break e}while(1){if(gn(l,n)|0)break;n=f[n+20>>2]|0;if(!n){za=416;break e}}l=f[l+20>>2]|0}while((l|0)!=0)}n=f[Aa+24>>2]|0;do if(n|0){o=f[I+24>>2]|0;if(!o){za=416;break e}l=f[o>>2]|0;if((l|0)!=(f[n>>2]|0)){za=416;break e}if((l|0)<=0)break;l=0;do{if((b[o+4+(l*20|0)+12>>0]|0)!=(b[n+4+(l*20|0)+12>>0]|0)){za=416;break e}if(Ck(0,f[o+4+(l*20|0)>>2]|0,f[n+4+(l*20|0)>>2]|0,-1)|0){za=416;break e}l=l+1|0}while((l|0)<(f[o>>2]|0))}while(0);l=f[E+32>>2]|0;if((l&16384|0)==0&0==0){if(!((l&128|0)==0&0==0)){za=416;break}}else if(!((l&128|0)==0&0==0&(f[Aa+16>>2]|0)==0)){za=416;break}o=f[I+72>>2]|0;if(!o)K=-1e6;else{n=f[w>>2]|0;l=0;while(1)if((f[n+(l<<4)+12>>2]|0)==(o|0)){K=l;break}else l=l+1|0}l=f[ta>>2]|0;if(!l){do if(!(f[sa>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);L=sl(a)|0}else L=l;p=f[sa>>2]|0;p=(p|0)==0?a:p;l=p+84|0;n=f[l>>2]|0;o=1<>2]=n|o;if((K|0)!=1)break;v=f[p>>2]|0;l=v+16|0;if(f[(f[l>>2]|0)+20>>2]|0)break;if(b[p+195>>0]|0)break;n=cj(f[v>>2]|0,0,v,ra,0,542)|0;if(n|0){ni(p,51535,C);f[p+12>>2]=n;break}ia=f[ra>>2]|0;f[(f[l>>2]|0)+20>>2]=ia;l=f[v+92>>2]|0;p=f[ia+4>>2]|0;f[p+4>>2]=f[ia>>2];do if(!(d[p+22>>1]&2)){q=p+32|0;r=p+36|0;s=(f[q>>2]|0)-(f[r>>2]|0)|0;do if((l+-512|0)>>>0<65025){if(l+-1&l|0)break;f[q>>2]=l;o=p+80|0;l=f[o>>2]|0;if(!l)break;n=l+-4|0;f[o>>2]=n;l=n;do if((f[18022]|0)>>>0<=l>>>0)if((f[18023]|0)>>>0>l>>>0){f[18188]=(f[18188]|0)+-1;f[n>>2]=f[18025];f[18025]=n;ia=(f[18026]|0)+1|0;f[18026]=ia;f[18027]=(ia|0)<(f[18021]|0)&1;break}else{l=ib[f[37368>>2]&255](n)|0;za=202;break}else{l=ib[f[37368>>2]&255](n)|0;za=202}while(0);do if((za|0)==202){f[18189]=(f[18189]|0)-l;if(!(f[9328]|0)){ob[f[37360>>2]&127](n);break}else{ia=ib[f[37368>>2]&255](n)|0;f[18187]=(f[18187]|0)-ia;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](n);break}}while(0);f[o>>2]=0}while(0);ia=ih(f[p>>2]|0,q,s)|0;f[r>>2]=(f[q>>2]|0)-(s&65535);if((ia|0)!=7)break;l=v+81|0;do if(!(b[l>>0]|0)){if(b[v+82>>0]|0)break;b[l>>0]=1;if((f[v+180>>2]|0)>0)f[v+264>>2]=1;ia=v+272|0;f[ia>>2]=(f[ia>>2]|0)+1}while(0);break f}while(0)}while(0);y=a+40|0;G=f[y>>2]|0;J=G+1|0;f[y>>2]=G+2;y=hn(a,R,Aa)|0;H=a+19|0;l=b[H>>0]|0;do if(l<<24>>24){ia=l+-1<<24>>24;b[H>>0]=ia;n=f[a+144+((ia&255)<<2)>>2]|0;if(!(ia<<24>>24)){o=a+44|0;l=o;o=f[o>>2]|0;za=218;break}else{F=l+-2<<24>>24;b[H>>0]=F;F=f[a+144+((F&255)<<2)>>2]|0;break}}else{l=a+44|0;o=(f[l>>2]|0)+1|0;f[l>>2]=o;n=o;za=218}while(0);if((za|0)==218){F=o+1|0;f[l>>2]=F}vl(a,J,R,Aa,110);E=E+24|0;do if(!(f[E>>2]&4)){if((d[z>>1]|0)<0){if(!((B+-1|0)>>>0>1|((m|0)!=0|(f[D>>2]|0)!=0))){C=0;break}}else if(!((B+-1|0)>>>0>1|(m|0)!=0)){C=0;break}p=L+136|0;l=f[p>>2]|0;m=L+12|0;if((f[(f[m>>2]|0)+48>>2]|0)>(l|0)){f[p>>2]=l+1;ia=f[L+88>>2]|0;b[ia+(l*20|0)>>0]=36;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=J;f[ia+(l*20|0)+8>>2]=0;f[ia+(l*20|0)+12>>2]=0;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0}else l=tl(L,36,J,0,0)|0;o=f[p>>2]|0;if((f[(f[m>>2]|0)+48>>2]|0)>(o|0)){f[p>>2]=o+1;m=f[L+88>>2]|0;b[m+(o*20|0)>>0]=11;m=m+(o*20|0)+1|0;q=m+19|0;do{b[m>>0]=0;m=m+1|0}while((m|0)<(q|0))}else o=tl(L,11,0,0,0)|0;m=f[p>>2]|0;if(!(b[(f[L>>2]|0)+81>>0]|0))l=(f[L+88>>2]|0)+(((l|0)<0?m+-1|0:l)*20|0)|0;else l=72144;f[l+8>>2]=m;C=o}else C=0;while(0);do if(!(f[M>>2]&32)){vl(a,G,K,I,109);w=L+136|0;l=f[w>>2]|0;x=L+12|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;A=f[L+88>>2]|0;b[A+(l*20|0)>>0]=36;d[A+(l*20|0)+2>>1]=0;f[A+(l*20|0)+4>>2]=G;f[A+(l*20|0)+8>>2]=0;f[A+(l*20|0)+12>>2]=0;f[A+(l*20|0)+16>>2]=0;b[A+(l*20|0)+1>>0]=0;A=l}else A=tl(L,36,G,0,0)|0;do if((d[z>>1]|0)>-1){l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;q=f[L+88>>2]|0;b[q+(l*20|0)>>0]=-127;d[q+(l*20|0)+2>>1]=0;f[q+(l*20|0)+4>>2]=G;f[q+(l*20|0)+8>>2]=F;f[q+(l*20|0)+12>>2]=0;f[q+(l*20|0)+16>>2]=0;b[q+(l*20|0)+1>>0]=0;q=l}else q=tl(L,129,G,F,0)|0;l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;v=f[L+88>>2]|0;b[v+(l*20|0)>>0]=31;d[v+(l*20|0)+2>>1]=0;f[v+(l*20|0)+4>>2]=J;f[v+(l*20|0)+8>>2]=0;f[v+(l*20|0)+12>>2]=F;f[v+(l*20|0)+16>>2]=0;b[v+(l*20|0)+1>>0]=0;v=l}else v=tl(L,31,J,0,F)|0;l=d[z>>1]|0;o=f[a>>2]|0;m=f[Aa>>2]|0;if(l<<16>>16>-1){s=f[(f[Aa+4>>2]|0)+(l<<16>>16<<4)>>2]|0;f[N>>2]=m;f[N+4>>2]=s;m=1555;s=Ig(o,50225,N)|0}else{f[O>>2]=m;m=2579;s=Ig(o,56207,O)|0}l=f[ta>>2]|0;if(!l){do if(!(f[sa>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);r=sl(a)|0}else r=l;if((B|0)==2){ia=f[sa>>2]|0;b[((ia|0)==0?a:ia)+21>>0]=1}p=r+136|0;l=f[p>>2]|0;if((f[(f[r+12>>2]|0)+48>>2]|0)>(l|0)){f[p>>2]=l+1;ia=f[r+88>>2]|0;b[ia+(l*20|0)>>0]=69;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=m;f[ia+(l*20|0)+8>>2]=B;f[ia+(l*20|0)+12>>2]=0;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0}else l=tl(r,69,m,B,0)|0;m=f[r>>2]|0;g:do if(b[m+81>>0]|0){if(!s)break;do if(m|0){if(f[m+480>>2]|0){Kc(m,s);break g}l=s;if((f[m+304>>2]|0)>>>0>l>>>0)break;if((f[m+308>>2]|0)>>>0<=l>>>0)break;ia=m+300|0;f[s>>2]=f[ia>>2];f[ia>>2]=s;break g}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);break}else{ia=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-ia;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);break}}else{if((l|0)<0)l=(f[p>>2]|0)+-1|0;m=f[r+88>>2]|0;o=m+(l*20|0)+1|0;if(b[o>>0]|0){ul(r,m+(l*20|0)|0,s,-7);break}if(!s)break;f[m+(l*20|0)+16>>2]=s;b[o>>0]=-7}while(0);l=f[p>>2]|0;if((l|0)>0)d[(f[r+88>>2]|0)+((l+-1|0)*20|0)+2>>1]=2;m=f[w>>2]|0;if(!(b[(f[L>>2]|0)+81>>0]|0))l=(f[L+88>>2]|0)+(((v|0)<0?m+-1|0:v)*20|0)|0;else l=72144;f[l+8>>2]=m;if((y|0)<=0)break;l=f[ta>>2]|0;m=l+136|0;o=f[m>>2]|0;if((f[(f[l+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;ia=f[l+88>>2]|0;b[ia+(o*20|0)>>0]=-104;d[ia+(o*20|0)+2>>1]=0;f[ia+(o*20|0)+4>>2]=y;f[ia+(o*20|0)+8>>2]=F;f[ia+(o*20|0)+12>>2]=0;f[ia+(o*20|0)+16>>2]=0;b[ia+(o*20|0)+1>>0]=0;break}else{tl(l,152,y,F,0)|0;break}}else{l=f[w>>2]|0;m=(f[(f[x>>2]|0)+48>>2]|0)>(l|0);if(!(f[D>>2]|0))if(m){f[w>>2]=l+1;q=f[L+88>>2]|0;b[q+(l*20|0)>>0]=121;d[q+(l*20|0)+2>>1]=0;f[q+(l*20|0)+4>>2]=J;f[q+(l*20|0)+8>>2]=F;f[q+(l*20|0)+12>>2]=0;f[q+(l*20|0)+16>>2]=0;b[q+(l*20|0)+1>>0]=0;q=l;break}else{q=tl(L,121,J,F,0)|0;break}else if(m){f[w>>2]=l+1;q=f[L+88>>2]|0;b[q+(l*20|0)>>0]=-127;d[q+(l*20|0)+2>>1]=0;f[q+(l*20|0)+4>>2]=G;f[q+(l*20|0)+8>>2]=F;f[q+(l*20|0)+12>>2]=0;f[q+(l*20|0)+16>>2]=0;b[q+(l*20|0)+1>>0]=0;q=l;break}else{q=tl(L,129,G,F,0)|0;break}}while(0);l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;ia=f[L+88>>2]|0;b[ia+(l*20|0)>>0]=-128;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=G;f[ia+(l*20|0)+8>>2]=n;f[ia+(l*20|0)+12>>2]=1;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0}else tl(L,128,G,n,1)|0;do if(f[E>>2]&4){l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;p=f[L+88>>2]|0;b[p+(l*20|0)>>0]=-125;d[p+(l*20|0)+2>>1]=0;f[p+(l*20|0)+4>>2]=J;f[p+(l*20|0)+8>>2]=0;f[p+(l*20|0)+12>>2]=0;f[p+(l*20|0)+16>>2]=0;b[p+(l*20|0)+1>>0]=0;p=57;break}else{tl(L,131,J,0,0)|0;p=57;break}}else p=41;while(0);l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;ia=f[L+88>>2]|0;b[ia+(l*20|0)>>0]=122;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=J;f[ia+(l*20|0)+8>>2]=n;f[ia+(l*20|0)+12>>2]=F;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0}else l=tl(L,122,J,n,F)|0;do if(!(b[(f[L>>2]|0)+81>>0]|0)){if((l|0)<0)l=(f[w>>2]|0)+-1|0;m=f[L+88>>2]|0;o=m+(l*20|0)+1|0;if(!(b[o>>0]|0)){f[m+(l*20|0)+16>>2]=Aa;b[o>>0]=-6;break}else{ul(L,m+(l*20|0)|0,Aa,-6);break}}while(0);l=f[w>>2]|0;if((l|0)>0)d[(f[L+88>>2]|0)+((l+-1|0)*20|0)+2>>1]=p;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;ia=f[L+88>>2]|0;b[ia+(l*20|0)>>0]=5;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=G;f[ia+(l*20|0)+8>>2]=q;f[ia+(l*20|0)+12>>2]=0;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0}else tl(L,5,G,q,0)|0;l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;ia=f[L+88>>2]|0;b[ia+(l*20|0)>>0]=117;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=G;f[ia+(l*20|0)+8>>2]=0;f[ia+(l*20|0)+12>>2]=0;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0}else tl(L,117,G,0,0)|0;l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;ia=f[L+88>>2]|0;b[ia+(l*20|0)>>0]=117;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=J;f[ia+(l*20|0)+8>>2]=0;f[ia+(l*20|0)+12>>2]=0;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0;break}else{tl(L,117,J,0,0)|0;break}}else{nm(a,R,f[Aa+28>>2]|0,1,f[Aa>>2]|0);nm(a,K,f[I+28>>2]|0,0,f[I>>2]|0);A=0}while(0);l=f[D>>2]|0;if(l|0){w=I+8|0;x=L+136|0;y=L+12|0;z=L+88|0;v=l;do{l=w;while(1){p=f[l>>2]|0;if(!(gn(v,p)|0))l=p+20|0;else break}l=f[p+44>>2]|0;m=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(m|0)){f[x>>2]=m+1;ia=f[z>>2]|0;b[ia+(m*20|0)>>0]=109;d[ia+(m*20|0)+2>>1]=0;f[ia+(m*20|0)+4>>2]=G;f[ia+(m*20|0)+8>>2]=l;f[ia+(m*20|0)+12>>2]=K;f[ia+(m*20|0)+16>>2]=0;b[ia+(m*20|0)+1>>0]=0}else tl(L,109,G,l,K)|0;l=f[ta>>2]|0;o=om(a,p)|0;h:do if(o|0){m=f[l>>2]|0;if(!(b[m+81>>0]|0)){ha=f[l+88>>2]|0;ia=(f[l+136>>2]|0)+-1|0;b[ha+(ia*20|0)+1>>0]=-9;f[ha+(ia*20|0)+16>>2]=o;break}if(f[m+480>>2]|0)break;ia=(f[o>>2]|0)+-1|0;f[o>>2]=ia;if(ia|0)break;l=f[o+12>>2]|0;do if(l|0){if(f[l+480>>2]|0){Kc(l,o);break h}m=o;if((f[l+304>>2]|0)>>>0>m>>>0)break;if((f[l+308>>2]|0)>>>0<=m>>>0)break;ia=l+300|0;f[o>>2]=f[ia>>2];f[ia>>2]=o;break h}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ia=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ia;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);l=f[v+44>>2]|0;m=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(m|0)){f[x>>2]=m+1;ia=f[z>>2]|0;b[ia+(m*20|0)>>0]=110;d[ia+(m*20|0)+2>>1]=0;f[ia+(m*20|0)+4>>2]=J;f[ia+(m*20|0)+8>>2]=l;f[ia+(m*20|0)+12>>2]=R;f[ia+(m*20|0)+16>>2]=0;b[ia+(m*20|0)+1>>0]=0}else tl(L,110,J,l,R)|0;l=f[ta>>2]|0;o=om(a,v)|0;i:do if(o|0){m=f[l>>2]|0;if(!(b[m+81>>0]|0)){ha=f[l+88>>2]|0;ia=(f[l+136>>2]|0)+-1|0;b[ha+(ia*20|0)+1>>0]=-9;f[ha+(ia*20|0)+16>>2]=o;break}if(f[m+480>>2]|0)break;ia=(f[o>>2]|0)+-1|0;f[o>>2]=ia;if(ia|0)break;l=f[o+12>>2]|0;do if(l|0){if(f[l+480>>2]|0){Kc(l,o);break i}m=o;if((f[l+304>>2]|0)>>>0>m>>>0)break;if((f[l+308>>2]|0)>>>0<=m>>>0)break;ia=l+300|0;f[o>>2]=f[ia>>2];f[ia>>2]=o;break i}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](o);break}else{ia=ib[f[37368>>2]&255](o)|0;f[18187]=(f[18187]|0)-ia;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](o);break}}while(0);l=f[x>>2]|0;if((l|0)>0)d[(f[z>>2]|0)+((l+-1|0)*20|0)+2>>1]=1;if((f[(f[y>>2]|0)+48>>2]|0)>(l|0)){f[x>>2]=l+1;s=f[z>>2]|0;b[s+(l*20|0)>>0]=36;d[s+(l*20|0)+2>>1]=0;f[s+(l*20|0)+4>>2]=G;f[s+(l*20|0)+8>>2]=0;f[s+(l*20|0)+12>>2]=0;f[s+(l*20|0)+16>>2]=0;b[s+(l*20|0)+1>>0]=0;s=l}else s=tl(L,36,G,0,0)|0;l=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(l|0)){f[x>>2]=l+1;ia=f[z>>2]|0;b[ia+(l*20|0)>>0]=-128;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=G;f[ia+(l*20|0)+8>>2]=n;f[ia+(l*20|0)+12>>2]=1;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0}else tl(L,128,G,n,1)|0;do if(f[E>>2]&4){ia=d[p+52>>1]|0;r=ia&65535;j:do if(!(ia<<16>>16))l=0;else{q=f[p+32>>2]|0;l=0;do{m=f[q+(l<<2)>>2]|0;if(!m)break j;if((b[m>>0]|32)<<24>>24!=98)break j;o=43030;do{o=o+1|0;m=m+1|0;ia=b[o>>0]|0;p=(h[1232+(ia&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(ia<<24>>24==0|(p|0)!=0));if(p|0)break j;l=l+1|0}while(l>>>0>>0)}while(0);if((l|0)!=(r|0)){l=0;break}l=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(l|0)){f[x>>2]=l+1;ia=f[z>>2]|0;b[ia+(l*20|0)>>0]=-125;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=J;f[ia+(l*20|0)+8>>2]=0;f[ia+(l*20|0)+12>>2]=0;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0;l=16;break}else{tl(L,131,J,0,0)|0;l=16;break}}else l=0;while(0);if(f[M>>2]&32){ia=v+55|0;l=l|((h[ia>>0]|h[ia+1>>0]<<8)&3)==2}m=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(m|0)){f[x>>2]=m+1;ia=f[z>>2]|0;b[ia+(m*20|0)>>0]=-123;d[ia+(m*20|0)+2>>1]=0;f[ia+(m*20|0)+4>>2]=J;f[ia+(m*20|0)+8>>2]=n;f[ia+(m*20|0)+12>>2]=0;f[ia+(m*20|0)+16>>2]=0;b[ia+(m*20|0)+1>>0]=0}else tl(L,133,J,n,0)|0;m=f[x>>2]|0;if((m|0)>0)d[(f[z>>2]|0)+((m+-1|0)*20|0)+2>>1]=(l|8)&255;l=s+1|0;if((f[(f[y>>2]|0)+48>>2]|0)>(m|0)){f[x>>2]=m+1;ia=f[z>>2]|0;b[ia+(m*20|0)>>0]=5;d[ia+(m*20|0)+2>>1]=0;f[ia+(m*20|0)+4>>2]=G;f[ia+(m*20|0)+8>>2]=l;f[ia+(m*20|0)+12>>2]=0;f[ia+(m*20|0)+16>>2]=0;b[ia+(m*20|0)+1>>0]=0}else tl(L,5,G,l,0)|0;m=f[x>>2]|0;if(!(b[(f[L>>2]|0)+81>>0]|0))l=(f[z>>2]|0)+(((s|0)<0?m+-1|0:s)*20|0)|0;else l=72144;f[l+8>>2]=m;if((f[(f[y>>2]|0)+48>>2]|0)>(m|0)){f[x>>2]=m+1;ia=f[z>>2]|0;b[ia+(m*20|0)>>0]=117;d[ia+(m*20|0)+2>>1]=0;f[ia+(m*20|0)+4>>2]=G;f[ia+(m*20|0)+8>>2]=0;f[ia+(m*20|0)+12>>2]=0;f[ia+(m*20|0)+16>>2]=0;b[ia+(m*20|0)+1>>0]=0}else tl(L,117,G,0,0)|0;l=f[x>>2]|0;if((f[(f[y>>2]|0)+48>>2]|0)>(l|0)){f[x>>2]=l+1;ia=f[z>>2]|0;b[ia+(l*20|0)>>0]=117;d[ia+(l*20|0)+2>>1]=0;f[ia+(l*20|0)+4>>2]=J;f[ia+(l*20|0)+8>>2]=0;f[ia+(l*20|0)+12>>2]=0;f[ia+(l*20|0)+16>>2]=0;b[ia+(l*20|0)+1>>0]=0}else tl(L,117,J,0,0)|0;v=f[v+20>>2]|0}while((v|0)!=0)}if(A|0){m=f[L+136>>2]|0;if(!(b[(f[L>>2]|0)+81>>0]|0))l=(f[L+88>>2]|0)+(((A|0)<0?m+-1|0:A)*20|0)|0;else l=72144;f[l+8>>2]=m}do if(F|0){l=b[H>>0]|0;if((l&255)>=8)break;b[H>>0]=l+1<<24>>24;f[a+144+((l&255)<<2)>>2]=F}while(0);do if(n|0){l=b[H>>0]|0;if((l&255)>=8)break;b[H>>0]=l+1<<24>>24;f[a+144+((l&255)<<2)>>2]=n}while(0);if(!C){n=0;l=0;break}if(f[a+112>>2]|0)jn(a);n=L+136|0;l=f[n>>2]|0;o=L+12|0;if((f[(f[o>>2]|0)+48>>2]|0)>(l|0)){f[n>>2]=l+1;m=f[L+88>>2]|0;b[m+(l*20|0)>>0]=69;m=m+(l*20|0)+1|0;q=m+19|0;do{b[m>>0]=0;m=m+1|0}while((m|0)<(q|0))}else tl(L,69,0,0,0)|0;m=f[n>>2]|0;if(!(b[(f[L>>2]|0)+81>>0]|0))l=(f[L+88>>2]|0)+(((C|0)<0?m+-1|0:C)*20|0)|0;else l=72144;f[l+8>>2]=m;if((f[(f[o>>2]|0)+48>>2]|0)>(m|0)){f[n>>2]=m+1;za=f[L+88>>2]|0;b[za+(m*20|0)>>0]=117;d[za+(m*20|0)+2>>1]=0;f[za+(m*20|0)+4>>2]=J;f[za+(m*20|0)+8>>2]=0;f[za+(m*20|0)+12>>2]=0;f[za+(m*20|0)+16>>2]=0;b[za+(m*20|0)+1>>0]=0;za=416;break}else{tl(L,117,J,0,0)|0;za=416;break}}else za=416;while(0);do if((za|0)==416){G=hn(a,R,Aa)|0;ia=a+44|0;ha=f[ia>>2]|0;ea=ha+1|0;ga=Aa+42|0;n=d[ga>>1]|0;E=n<<16>>16;F=ea+E|0;f[ia>>2]=F;Z=Aa+56|0;_=(f[Z>>2]|0)==0;F=F+((_^1)&1)|0;f[ia>>2]=F;ha=_?ea:ha+2|0;_=ha+1|0;m=((f[P>>2]|0)>>>7&1^1)&255;Y=(g|0)!=0;k:do if(Y){C=f[g+4>>2]|0;if((C|0)<=0){A=-1;break}D=f[g>>2]|0;l=0;do{f[D+(l<<3)+4>>2]=-1;l=l+1|0}while((l|0)!=(C|0));y=n<<16>>16>0;z=Aa+4|0;A=Aa+40|0;B=(na|0)!=0;n=-1;x=0;while(1){w=f[D+(x<<3)>>2]|0;l:do if(y){r=f[z>>2]|0;s=b[w>>0]|0;v=b[1232+(s&255)>>0]|0;m:do if(!(s<<24>>24)){l=0;do{if(v<<24>>24==(b[1232+(h[f[r+(l<<4)>>2]>>0]|0)>>0]|0))break m;l=l+1|0}while((l|0)<(E|0));o=v&255;l=o+-95|0;p=1;za=438;break l}else{l=0;while(1){o=f[r+(l<<4)>>2]|0;if(v<<24>>24==(b[1232+(h[o>>0]|0)>>0]|0)){p=w;do{p=p+1|0;o=o+1|0;P=b[p>>0]|0;q=(h[1232+(P&255)>>0]|0)-(h[1232+(h[o>>0]|0)>>0]|0)|0}while(!(P<<24>>24==0|(q|0)!=0));if(!q)break m}l=l+1|0;if((l|0)>=(E|0)){l=v;m=s;za=435;break l}}}while(0);f[D+(x<<3)+4>>2]=l;n=(l|0)==(d[A>>1]|0)?x:n;m=(x|0)==(l|0)?m:0}else{m=b[w>>0]|0;l=b[1232+(m&255)>>0]|0;za=435}while(0);do if((za|0)==435){o=l&255;l=o+-95|0;p=m<<24>>24==0;if(p|(l|0)!=0){za=438;break}m=49617;n=w;do{n=n+1|0;m=m+1|0;za=b[n>>0]|0;l=(h[1232+(za&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(za<<24>>24==0|(l|0)!=0));za=438}while(0);if((za|0)==438){za=0;do if(!l)l=1;else{l=o+-114|0;if(!(p|(l|0)!=0)){m=49625;n=w;do{n=n+1|0;m=m+1|0;P=b[n>>0]|0;l=(h[1232+(P&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(P<<24>>24==0|(l|0)!=0))}if(!l){l=1;break}l=o+-111|0;if(!(p|(l|0)!=0)){m=49631;n=w;do{n=n+1|0;m=m+1|0;P=b[n>>0]|0;l=(h[1232+(P&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(P<<24>>24==0|(l|0)!=0))}l=(l|0)==0&1}while(0);if(B|(l|0)==0)break;else{n=x;m=0}}x=x+1|0;if((x|0)>=(C|0)){A=n;break k}}f[Q>>2]=c;f[Q+4>>2]=0;f[Q+8>>2]=w;ni(a,56216,Q);b[a+17>>0]=1;l=0;za=1020;break a}else A=-1;while(0);n:do if(ua){n=F+1|0;f[ia>>2]=n;w=ya+136|0;o=f[w>>2]|0;l=o+1|0;x=ya+12|0;if((f[(f[x>>2]|0)+48>>2]|0)>(o|0)){f[w>>2]=l;V=f[ya+88>>2]|0;b[V+(o*20|0)>>0]=13;d[V+(o*20|0)+2>>1]=0;f[V+(o*20|0)+4>>2]=n;f[V+(o*20|0)+8>>2]=0;f[V+(o*20|0)+12>>2]=l;f[V+(o*20|0)+16>>2]=0;b[V+(o*20|0)+1>>0]=0}else tl(ya,13,n,0,l)|0;b[S>>0]=13;f[la>>2]=n;f[S+16>>2]=0;y=S+8|0;f[y>>2]=m<<24>>24==0?0:_;f[S+12>>2]=d[ga>>1];V=Kl(a,Ba,S)|0;y=f[y>>2]|0;if(V|0){l=0;za=1020;break a}if(b[$>>0]|0){l=0;za=1020;break a}if(f[T>>2]|0){l=0;za=1020;break a}l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;V=f[ya+88>>2]|0;b[V+(l*20|0)>>0]=67;d[V+(l*20|0)+2>>1]=0;f[V+(l*20|0)+4>>2]=n;f[V+(l*20|0)+8>>2]=0;f[V+(l*20|0)+12>>2]=0;f[V+(l*20|0)+16>>2]=0;b[V+(l*20|0)+1>>0]=0}else tl(ya,67,n,0,0)|0;m=f[x>>2]|0;b[m+19>>0]=0;f[m+28>>2]=0;m=f[w>>2]|0;if(!(b[(f[ya>>2]|0)+81>>0]|0))l=(f[ya+88>>2]|0)+(((o|0)<0?m+-1|0:o)*20|0)|0;else l=72144;f[l+8>>2]=m;v=f[f[Ba>>2]>>2]|0;o:do if(!qa){l=f[ta>>2]|0;if(!l){do if(!(f[sa>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[a+23>>0]=1}while(0);l=sl(a)|0}s=f[l+136>>2]|0;p:do if(!(f[Z>>2]|0))m=0;else{n=f[a>>2]|0;m=f[Aa+64>>2]|0;if(!m){m=0;break}while(1){if((f[m>>2]|0)==(n|0))break p;m=f[m+24>>2]|0;if(!m){m=0;break}}}while(0);if((s|0)<=1){S=y;T=0;F=0;J=v;break n}q=Aa+28|0;r=Aa+8|0;if(!(b[(f[l>>2]|0)+81>>0]|0)){o=f[l+88>>2]|0;n=1;while(1){q:do switch(b[o+(n*20|0)>>0]|0){case 109:{if((f[o+(n*20|0)+12>>2]|0)!=(R|0))break q;p=f[o+(n*20|0)+8>>2]|0;if((p|0)==(f[q>>2]|0))break o;l=f[r>>2]|0;if(!l)break q;do{if((p|0)==(f[l+44>>2]|0))break o;l=f[l+20>>2]|0}while((l|0)!=0);break}case -92:{if((f[o+(n*20|0)+16>>2]|0)==(m|0))break o;break}default:{}}while(0);n=n+1|0;if((n|0)>=(s|0)){S=y;T=0;F=0;J=v;break n}}}n=(f[18039]|0)==(R|0);l=(f[18040]|0)==(m|0);p=f[18038]|0;switch(b[72144]|0){case 109:break;case -92:if(l)break o;else{S=y;T=0;F=0;J=v;break n}default:{S=y;T=0;F=0;J=v;break n}}if(l){if(!n){S=y;T=0;F=0;J=v;break n}n=(p|0)==(f[q>>2]|0);m=1;while(1){if(n)break o;l=f[r>>2]|0;if(l|0)do{if((p|0)==(f[l+44>>2]|0))break o;l=f[l+20>>2]|0}while((l|0)!=0);m=m+1|0;if((m|0)>=(s|0)){S=y;T=0;F=0;J=v;break n}}}else{if(!n){S=y;T=0;F=0;J=v;break n}if((p|0)==(f[q>>2]|0))break;l=f[r>>2]|0;o=(l|0)==0;n=1;while(1){if(!o){m=l;do{if((p|0)==(f[m+44>>2]|0))break o;m=f[m+20>>2]|0}while((m|0)!=0)}n=n+1|0;if((n|0)>=(s|0)){S=y;T=0;F=0;J=v;break n}}}}while(0);q=a+40|0;r=f[q>>2]|0;f[q>>2]=r+1;q=a+19|0;m=b[q>>0]|0;do if(m<<24>>24){V=m+-1<<24>>24;b[q>>0]=V;l=f[a+144+((V&255)<<2)>>2]|0;if(!(V<<24>>24)){m=f[ia>>2]|0;za=508;break}else{p=m+-2<<24>>24;b[q>>0]=p;o=l;p=f[a+144+((p&255)<<2)>>2]|0;break}}else{m=(f[ia>>2]|0)+1|0;f[ia>>2]=m;l=m;za=508}while(0);if((za|0)==508){p=m+1|0;f[ia>>2]=p;o=l}l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;V=f[ya+88>>2]|0;b[V+(l*20|0)>>0]=113;d[V+(l*20|0)+2>>1]=0;f[V+(l*20|0)+4>>2]=r;f[V+(l*20|0)+8>>2]=v;f[V+(l*20|0)+12>>2]=0;f[V+(l*20|0)+16>>2]=0;b[V+(l*20|0)+1>>0]=0}else tl(ya,113,r,v,0)|0;l=f[la>>2]|0;m=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(m|0)){f[w>>2]=m+1;n=f[ya+88>>2]|0;b[n+(m*20|0)>>0]=14;d[n+(m*20|0)+2>>1]=0;f[n+(m*20|0)+4>>2]=l;f[n+(m*20|0)+8>>2]=0;f[n+(m*20|0)+12>>2]=0;f[n+(m*20|0)+16>>2]=0;b[n+(m*20|0)+1>>0]=0;n=m}else n=tl(ya,14,l,0,0)|0;l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;V=f[ya+88>>2]|0;b[V+(l*20|0)>>0]=102;d[V+(l*20|0)+2>>1]=0;f[V+(l*20|0)+4>>2]=y;f[V+(l*20|0)+8>>2]=v;f[V+(l*20|0)+12>>2]=o;f[V+(l*20|0)+16>>2]=0;b[V+(l*20|0)+1>>0]=0}else tl(ya,102,y,v,o)|0;l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;V=f[ya+88>>2]|0;b[V+(l*20|0)>>0]=121;d[V+(l*20|0)+2>>1]=0;f[V+(l*20|0)+4>>2]=r;f[V+(l*20|0)+8>>2]=p;f[V+(l*20|0)+12>>2]=0;f[V+(l*20|0)+16>>2]=0;b[V+(l*20|0)+1>>0]=0}else tl(ya,121,r,p,0)|0;l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;V=f[ya+88>>2]|0;b[V+(l*20|0)>>0]=122;d[V+(l*20|0)+2>>1]=0;f[V+(l*20|0)+4>>2]=r;f[V+(l*20|0)+8>>2]=o;f[V+(l*20|0)+12>>2]=p;f[V+(l*20|0)+16>>2]=0;b[V+(l*20|0)+1>>0]=0}else tl(ya,122,r,o,p)|0;l=f[w>>2]|0;if((f[(f[x>>2]|0)+48>>2]|0)>(l|0)){f[w>>2]=l+1;V=f[ya+88>>2]|0;b[V+(l*20|0)>>0]=11;d[V+(l*20|0)+2>>1]=0;f[V+(l*20|0)+4>>2]=0;f[V+(l*20|0)+8>>2]=n;f[V+(l*20|0)+12>>2]=0;f[V+(l*20|0)+16>>2]=0;b[V+(l*20|0)+1>>0]=0}else tl(ya,11,0,n,0)|0;m=f[w>>2]|0;if(!(b[(f[ya>>2]|0)+81>>0]|0))l=(f[ya+88>>2]|0)+(((n|0)<0?m+-1|0:n)*20|0)|0;else l=72144;f[l+8>>2]=m;do if(o|0){l=b[q>>0]|0;if((l&255)>=8)break;b[q>>0]=l+1<<24>>24;f[a+144+((l&255)<<2)>>2]=o}while(0);if(!p){S=y;T=r;F=1;J=v;break}l=b[q>>0]|0;if((l&255)>=8){S=y;T=r;F=1;J=v;break}b[q>>0]=l+1<<24>>24;f[a+144+((l&255)<<2)>>2]=p;S=y;T=r;F=1;J=v}else{T=fa+4|0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;f[T+16>>2]=0;f[T+20>>2]=0;f[T+24>>2]=0;f[fa>>2]=a;r:do if(!Ca)l=0;else{l=f[Ca>>2]|0;if((l|0)<=0)break;s=fa+24|0;v=ra+4|0;w=ra+8|0;x=ra+12|0;y=ra+24|0;z=fa+20|0;r=0;m=0;while(1){q=f[Ca+4+(r*20|0)>>2]|0;if(q){p=m&65535;d[s>>1]=p&61423;m=f[fa>>2]|0;f[ra>>2]=m;f[v>>2]=146;f[w>>2]=147;f[x>>2]=0;f[y>>2]=fa;o=q+24|0;n=m;S=n+204|0;T=(f[S>>2]|0)+(f[o>>2]|0)|0;f[S>>2]=T;n=f[(f[n>>2]|0)+120>>2]|0;if((n|0)<(T|0)){za=543;break}oi(ra,q)|0;n=f[ra>>2]|0;m=n+204|0;f[m>>2]=(f[m>>2]|0)-(f[o>>2]|0);m=d[s>>1]|0;if(m&16){T=q+4|0;f[T>>2]=f[T>>2]|2}m=(p&4112|m&65535)&65535;d[s>>1]=m;if((f[z>>2]|0)>0){za=547;break}if((f[n+36>>2]|0)>=1)break}r=r+1|0;if((r|0)>=(f[Ca>>2]|0))break r}if((za|0)==543){f[V>>2]=n;ni(m,42710,V);za=547}ng(Da,c);l=0;break a}while(0);S=0;T=-1;F=0;J=l}while(0);if(oa&(J|0)>0)R=d[Aa+40>>1]|0;else R=A;V=d[ga>>1]|0;o=V<<16>>16;if(V<<16>>16>0){n=f[Aa+4>>2]|0;l=0;m=0;do{l=l+((h[n+(m<<4)+15>>0]|0)>>>1&1)|0;m=m+1|0}while((m|0)!=(o|0))}else l=0;do if(oa&(J|0)!=0){l=o-l|0;if((J|0)==(l|0))break;f[W>>2]=c;f[W+4>>2]=0;f[W+8>>2]=l;f[W+12>>2]=J;ni(a,56248,W);l=0;za=1020;break a}while(0);do if(Y){l=f[g+4>>2]|0;if((J|0)==(l|0))break;f[X>>2]=J;f[X+4>>2]=l;ni(a,56300,X);l=0;za=1020;break a}while(0);P=Da+32|0;do if(!((f[P>>2]&128|0)==0&0==0)){if(b[xa>>0]|0){n=0;break}if(f[a+120>>2]|0){n=0;break}n=(f[ia>>2]|0)+1|0;f[ia>>2]=n;l=ya+136|0;m=f[l>>2]|0;if((f[(f[ya+12>>2]|0)+48>>2]|0)>(m|0)){f[l>>2]=m+1;X=f[ya+88>>2]|0;b[X+(m*20|0)>>0]=70;d[X+(m*20|0)+2>>1]=0;f[X+(m*20|0)+4>>2]=0;f[X+(m*20|0)+8>>2]=n;f[X+(m*20|0)+12>>2]=0;f[X+(m*20|0)+16>>2]=0;b[X+(m*20|0)+1>>0]=0;break}else{tl(ya,70,0,n,0)|0;break}}else n=0;while(0);do if(ma){Q=0;l=0}else{q=_m(a,Aa,110,0,-1,0,wa,va)|0;o=(q<<2)+4|0;s:do if(f[Da+272>>2]|0)if(!(b[$>>0]|0))za=579;else{l=0;za=1020;break a}else{do if(!(0<0|(0==0?(j[Da+276>>1]|0)>>>0>>0:0))){l=Da+300|0;m=f[l>>2]|0;if(m|0){f[l>>2]=f[m>>2];$=Da+284|0;f[$>>2]=(f[$>>2]|0)+1;break s}l=Da+296|0;m=f[l>>2]|0;if(!m){l=Da+292|0;break}else{f[l>>2]=f[m>>2];$=Da+284|0;f[$>>2]=(f[$>>2]|0)+1;break s}}else l=Da+288|0;while(0);f[l>>2]=(f[l>>2]|0)+1;za=579}while(0);if((za|0)==579)m=Dc(Da,o,0)|0;if(!m){l=0;za=1020;break a}if((q|0)<=0){Q=m;l=m;break}l=Aa+8|0;o=0;p=f[ia>>2]|0;while(1){l=f[l>>2]|0;$=p+1|0;f[ia>>2]=$;f[m+(o<<2)>>2]=$;p=(f[ia>>2]|0)+(j[l+52>>1]|0)|0;f[ia>>2]=p;o=o+1|0;if((o|0)==(q|0)){Q=m;l=m;break}else l=l+20|0}}while(0);do if(k|0){v=f[wa>>2]|0;D=c+48|0;f[D>>2]=v;f[k+20>>2]=c;f[k+24>>2]=_;f[k+28>>2]=v;f[k+32>>2]=f[va>>2];v=f[k>>2]|0;if(!v)break;$=fa+8|0;f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;f[$+12>>2]=0;f[$+16>>2]=0;f[$+20>>2]=0;f[fa>>2]=a;f[fa+4>>2]=c;t:do if((f[v>>2]|0)>0){w=fa+24|0;x=ra+4|0;y=ra+8|0;z=ra+12|0;A=ra+24|0;B=fa+20|0;s=0;m=0;while(1){r=f[v+4+(s*20|0)>>2]|0;if(r){q=m&65535;d[w>>1]=q&61423;m=f[fa>>2]|0;f[ra>>2]=m;f[x>>2]=146;f[y>>2]=147;f[z>>2]=0;f[A>>2]=fa;p=r+24|0;o=m;X=o+204|0;$=(f[X>>2]|0)+(f[p>>2]|0)|0;f[X>>2]=$;o=f[(f[o>>2]|0)+120>>2]|0;if((o|0)<($|0)){za=592;break}oi(ra,r)|0;o=f[ra>>2]|0;m=o+204|0;f[m>>2]=(f[m>>2]|0)-(f[p>>2]|0);m=d[w>>1]|0;if(m&16){$=r+4|0;f[$>>2]=f[$>>2]|2}m=(q&4112|m&65535)&65535;d[w>>1]=m;if((f[B>>2]|0)>0)break;if((f[o+36>>2]|0)>=1)break t}s=s+1|0;if((s|0)>=(f[v>>2]|0)){za=598;break t}}if((za|0)==592){f[aa>>2]=o;ni(m,42710,aa)}}else{m=0;za=598}while(0);u:do if((za|0)==598){E=k+4|0;r=f[E>>2]|0;v:do if(r){s=fa+24|0;m=m&65535;q=m&4112;d[s>>1]=m&61423;m=f[fa>>2]|0;f[ra>>2]=m;f[ra+4>>2]=146;f[ra+8>>2]=147;f[ra+12>>2]=0;f[ra+24>>2]=fa;p=r+24|0;o=m+204|0;aa=(f[o>>2]|0)+(f[p>>2]|0)|0;f[o>>2]=aa;o=f[(f[m>>2]|0)+120>>2]|0;do if((o|0)>=(aa|0)){oi(ra,r)|0;o=f[ra>>2]|0;m=o+204|0;f[m>>2]=(f[m>>2]|0)-(f[p>>2]|0);m=d[s>>1]|0;if(m&16){da=r+4|0;f[da>>2]=f[da>>2]|2}d[s>>1]=q|m&65535;if((f[fa+20>>2]|0)>0)break;if((f[o+36>>2]|0)<1)break v;else break u}else{f[da>>2]=o;ni(m,42710,da)}while(0);break u}while(0);o=f[ca>>2]|0;C=f[k>>2]|0;B=f[D>>2]|0;do if(!(f[o+36>>2]&32)){if((f[C>>2]|0)!=1)break;m=f[C+4>>2]|0;if((b[m>>0]|0)!=-98)break;if((d[m+32>>1]|0)==-1)break u}while(0);m=ja;q=m+96|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(q|0));b[ja>>0]=102;z=ja+48|0;A=ja+12|0;f[A>>2]=z;b[z>>0]=-98;f[ja+76>>2]=B;m=f[o+8>>2]|0;w:do if(m|0){x=ja+8|0;y=ja+80|0;x:while(1){y:do if(b[m+54>>0]|0){p=f[C>>2]|0;q=m+50|0;o=d[q>>1]|0;if((p|0)!=(o&65535|0))break;r=f[m+36>>2]|0;if(r){o=f[E>>2]|0;if(!o)break;if(Ck(a,o,r,B)|0)break;o=d[q>>1]|0;p=o&65535}if(!(o<<16>>16))break x;s=m+32|0;v=m+4|0;w=m+40|0;r=0;while(1){f[x>>2]=f[(f[s>>2]|0)+(r<<2)>>2];o=d[(f[v>>2]|0)+(r<<1)>>1]|0;do if(o<<16>>16==-2){o=f[(f[w>>2]|0)+4+(r*20|0)>>2]|0;if((b[o>>0]|0)==102)break;f[A>>2]=o;o=ja}else{f[A>>2]=z;d[y>>1]=o;o=ja}while(0);q=0;while(1){if((Ck(a,f[C+4+(q*20|0)>>2]|0,o,B)|0)<2)break;q=q+1|0;if(q>>>0>=p>>>0)break y}r=r+1|0;if(r>>>0>=p>>>0)break x}}while(0);m=f[m+20>>2]|0;if(!m)break w}f[k+16>>2]=m;break u}while(0);ni(a,56325,ka)}while(0)}while(0);N=F<<24>>24!=0;do if(!N){if(!ua){O=0;M=0;L=ya+12|0;break}m=f[la>>2]|0;o=ya+136|0;p=f[o>>2]|0;q=ya+12|0;if((f[(f[q>>2]|0)+48>>2]|0)>(p|0)){f[o>>2]=p+1;O=f[ya+88>>2]|0;b[O+(p*20|0)>>0]=14;d[O+(p*20|0)+2>>1]=0;f[O+(p*20|0)+4>>2]=m;f[O+(p*20|0)+8>>2]=0;f[O+(p*20|0)+12>>2]=0;f[O+(p*20|0)+16>>2]=0;b[O+(p*20|0)+1>>0]=0;O=p;M=p;L=q;break}else{M=tl(ya,14,m,0,0)|0;O=M;L=q;break}}else{o=ya+136|0;m=f[o>>2]|0;p=ya+12|0;if((f[(f[p>>2]|0)+48>>2]|0)>(m|0)){f[o>>2]=m+1;la=f[ya+88>>2]|0;b[la+(m*20|0)>>0]=36;d[la+(m*20|0)+2>>1]=0;f[la+(m*20|0)+4>>2]=T;f[la+(m*20|0)+8>>2]=0;f[la+(m*20|0)+12>>2]=0;f[la+(m*20|0)+16>>2]=0;b[la+(m*20|0)+1>>0]=0}else m=tl(ya,36,T,0,0)|0;O=m;M=f[o>>2]|0;L=p}while(0);m=f[L>>2]|0;v=m+60|0;K=f[v>>2]|0;f[v>>2]=K+1;v=m+64|0;if(!(K+-1&K)){r=K<<3|4;s=f[m>>2]|0;m=f[v>>2]|0;z:do if(m){p=m;q=s+304|0;do if((f[q>>2]|0)>>>0<=p>>>0){if((f[s+308>>2]|0)>>>0<=p>>>0)break;if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0)))break z}while(0);o=Lc(s,m,r,0)|0;if(o|0){m=o;break}if(f[s+480>>2]|0){Kc(s,m);m=0;break}do if((f[q>>2]|0)>>>0<=p>>>0){if((f[s+308>>2]|0)>>>0<=p>>>0)break;la=s+300|0;f[m>>2]=f[la>>2];f[la>>2]=m;m=0;break z}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](m);m=0;break}else{la=ib[f[37368>>2]&255](m)|0;f[18187]=(f[18187]|0)-la;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](m);m=0;break}}else{if(f[s+272>>2]|0){if(b[s+81>>0]|0){m=0;break}}else{do if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0))){o=s+300|0;m=f[o>>2]|0;if(m|0){f[o>>2]=f[m>>2];la=s+284|0;f[la>>2]=(f[la>>2]|0)+1;break z}o=s+296|0;m=f[o>>2]|0;if(!m){m=s+292|0;break}else{f[o>>2]=f[m>>2];la=s+284|0;f[la>>2]=(f[la>>2]|0)+1;break z}}else m=s+288|0;while(0);f[m>>2]=(f[m>>2]|0)+1}m=Dc(s,r,0)|0}while(0);f[v>>2]=m}else m=f[v>>2]|0;if(m|0)f[m+(K<<2)>>2]=-1;I=~K;do if(e&1|0){la=d[ga>>1]|0;e=la<<16>>16;m=e+1|0;do if(!(la<<16>>16)){e=a+19|0;m=b[e>>0]|0;if(!(m<<24>>24)){E=(f[ia>>2]|0)+1|0;f[ia>>2]=E;break}else{E=m+-1<<24>>24;b[e>>0]=E;E=f[a+144+((E&255)<<2)>>2]|0;break}}else{o=a+32|0;p=f[o>>2]|0;q=a+28|0;r=f[q>>2]|0;if((r|0)>(e|0)){f[o>>2]=p+m;f[q>>2]=r-m;E=p;break}else{E=f[ia>>2]|0;f[ia>>2]=E+m;E=E+1|0;break}}while(0);do if((R|0)<0){e=ya+136|0;m=f[e>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;la=f[ya+88>>2]|0;b[la+(m*20|0)>>0]=70;d[la+(m*20|0)+2>>1]=0;f[la+(m*20|0)+4>>2]=-1;f[la+(m*20|0)+8>>2]=E;f[la+(m*20|0)+12>>2]=0;f[la+(m*20|0)+16>>2]=0;b[la+(m*20|0)+1>>0]=0;break}else{tl(ya,70,-1,E,0)|0;break}}else{A:do if(N){e=ya+136|0;m=f[e>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;la=f[ya+88>>2]|0;b[la+(m*20|0)>>0]=90;d[la+(m*20|0)+2>>1]=0;f[la+(m*20|0)+4>>2]=T;f[la+(m*20|0)+8>>2]=R;f[la+(m*20|0)+12>>2]=E;f[la+(m*20|0)+16>>2]=0;b[la+(m*20|0)+1>>0]=0;break}else{tl(ya,90,T,R,E)|0;break}}else{e=f[Ca+4+(R*20|0)>>2]|0;do if(e){if((b[e>>0]|0)!=-92){p=xl(a,e,E)|0;break}p=f[ta>>2]|0;e=f[e+28>>2]|0;m=p+136|0;o=f[m>>2]|0;if((f[(f[p+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;la=f[p+88>>2]|0;b[la+(o*20|0)>>0]=78;d[la+(o*20|0)+2>>1]=0;f[la+(o*20|0)+4>>2]=e;f[la+(o*20|0)+8>>2]=E;f[la+(o*20|0)+12>>2]=0;f[la+(o*20|0)+16>>2]=0;b[la+(o*20|0)+1>>0]=0;break A}else{tl(p,78,e,E,0)|0;break A}}else p=xl(a,0,E)|0;while(0);if((p|0)==(E|0))break;e=f[ta>>2]|0;if(!e)break;m=e+136|0;o=f[m>>2]|0;if((f[(f[e+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;la=f[e+88>>2]|0;b[la+(o*20|0)>>0]=79;d[la+(o*20|0)+2>>1]=0;f[la+(o*20|0)+4>>2]=p;f[la+(o*20|0)+8>>2]=E;f[la+(o*20|0)+12>>2]=0;f[la+(o*20|0)+16>>2]=0;b[la+(o*20|0)+1>>0]=0;break}else{tl(e,79,p,E,0)|0;break}}while(0);o=ya+136|0;e=f[o>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(e|0)){f[o>>2]=e+1;la=f[ya+88>>2]|0;b[la+(e*20|0)>>0]=51;d[la+(e*20|0)+2>>1]=0;f[la+(e*20|0)+4>>2]=E;f[la+(e*20|0)+8>>2]=0;f[la+(e*20|0)+12>>2]=0;f[la+(e*20|0)+16>>2]=0;b[la+(e*20|0)+1>>0]=0}else e=tl(ya,51,E,0,0)|0;m=f[o>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[o>>2]=m+1;la=f[ya+88>>2]|0;b[la+(m*20|0)>>0]=70;d[la+(m*20|0)+2>>1]=0;f[la+(m*20|0)+4>>2]=-1;f[la+(m*20|0)+8>>2]=E;f[la+(m*20|0)+12>>2]=0;f[la+(m*20|0)+16>>2]=0;b[la+(m*20|0)+1>>0]=0}else tl(ya,70,-1,E,0)|0;m=f[o>>2]|0;if(!(b[(f[ya>>2]|0)+81>>0]|0))e=(f[ya+88>>2]|0)+(((e|0)<0?m+-1|0:e)*20|0)|0;else e=72144;f[e+8>>2]=m;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[o>>2]=m+1;la=f[ya+88>>2]|0;b[la+(m*20|0)>>0]=15;d[la+(m*20|0)+2>>1]=0;f[la+(m*20|0)+4>>2]=E;f[la+(m*20|0)+8>>2]=0;f[la+(m*20|0)+12>>2]=0;f[la+(m*20|0)+16>>2]=0;b[la+(m*20|0)+1>>0]=0;break}else{tl(ya,15,E,0,0)|0;break}}while(0);e=d[ga>>1]|0;if(e<<16>>16>0){x=g+4|0;D=(Ca|0)!=0|N;y=oa&1;z=Aa+4|0;A=E+1|0;B=ya+136|0;C=ya+88|0;e=0;w=0;while(1){B:do if(Y){m=f[x>>2]|0;if((m|0)<=0){v=0;break}o=f[g>>2]|0;e=0;while(1){if((f[o+(e<<3)+4>>2]|0)==(w|0)){v=e;break B}e=e+1|0;if((e|0)>=(m|0)){v=e;break}}}else v=e;while(0);do if(D){if(Y?(v|0)>=(f[x>>2]|0):0){za=722;break}if(N){e=w+A|0;m=f[B>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[B>>2]=m+1;la=f[C>>2]|0;b[la+(m*20|0)>>0]=90;d[la+(m*20|0)+2>>1]=0;f[la+(m*20|0)+4>>2]=T;f[la+(m*20|0)+8>>2]=v;f[la+(m*20|0)+12>>2]=e;f[la+(m*20|0)+16>>2]=0;b[la+(m*20|0)+1>>0]=0;break}else{tl(ya,90,T,v,e)|0;break}}q=f[Ca+4+(v*20|0)>>2]|0;r=w+A|0;s=f[ta>>2]|0;do if(q){if((b[q>>0]|0)!=-92){p=xl(a,q,r)|0;za=744;break}e=f[q+28>>2]|0;m=s+136|0;o=f[m>>2]|0;if((f[(f[s+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;la=f[s+88>>2]|0;b[la+(o*20|0)>>0]=78;d[la+(o*20|0)+2>>1]=0;f[la+(o*20|0)+4>>2]=e;f[la+(o*20|0)+8>>2]=r;f[la+(o*20|0)+12>>2]=0;f[la+(o*20|0)+16>>2]=0;b[la+(o*20|0)+1>>0]=0;break}else{tl(s,78,e,r,0)|0;break}}else{p=xl(a,0,r)|0;za=744}while(0);do if((za|0)==744){za=0;if((p|0)==(r|0))break;e=f[ta>>2]|0;if(!e)break;m=e+136|0;o=f[m>>2]|0;if((f[(f[e+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;la=f[e+88>>2]|0;b[la+(o*20|0)>>0]=79;d[la+(o*20|0)+2>>1]=0;f[la+(o*20|0)+4>>2]=p;f[la+(o*20|0)+8>>2]=r;f[la+(o*20|0)+12>>2]=0;f[la+(o*20|0)+16>>2]=0;b[la+(o*20|0)+1>>0]=0;break}else{tl(e,79,p,r,0)|0;break}}while(0);e=(f[ia>>2]|0)+1|0;f[ia>>2]=e;m=s+136|0;o=f[m>>2]|0;if((f[(f[s+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;la=f[s+88>>2]|0;b[la+(o*20|0)>>0]=78;d[la+(o*20|0)+2>>1]=0;f[la+(o*20|0)+4>>2]=r;f[la+(o*20|0)+8>>2]=e;f[la+(o*20|0)+12>>2]=0;f[la+(o*20|0)+16>>2]=0;b[la+(o*20|0)+1>>0]=0}else tl(s,78,r,e,0)|0;b[q+38>>0]=b[q>>0]|0;b[q>>0]=-92;f[q+28>>2]=e;la=q+4|0;f[la>>2]=f[la>>2]&-4097}else za=722;while(0);C:do if((za|0)==722){za=0;e=f[(f[z>>2]|0)+(w<<4)+4>>2]|0;q=w+A|0;do if(e){if((b[e>>0]|0)!=-92){p=xl(a,e,q)|0;break}p=f[ta>>2]|0;e=f[e+28>>2]|0;m=p+136|0;o=f[m>>2]|0;if((f[(f[p+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;la=f[p+88>>2]|0;b[la+(o*20|0)>>0]=78;d[la+(o*20|0)+2>>1]=0;f[la+(o*20|0)+4>>2]=e;f[la+(o*20|0)+8>>2]=q;f[la+(o*20|0)+12>>2]=0;f[la+(o*20|0)+16>>2]=0;b[la+(o*20|0)+1>>0]=0;break C}else{tl(p,78,e,q,0)|0;break C}}else p=xl(a,0,q)|0;while(0);if((p|0)==(q|0))break;e=f[ta>>2]|0;if(!e)break;m=e+136|0;o=f[m>>2]|0;if((f[(f[e+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;la=f[e+88>>2]|0;b[la+(o*20|0)>>0]=79;d[la+(o*20|0)+2>>1]=0;f[la+(o*20|0)+4>>2]=p;f[la+(o*20|0)+8>>2]=q;f[la+(o*20|0)+12>>2]=0;f[la+(o*20|0)+16>>2]=0;b[la+(o*20|0)+1>>0]=0;break}else{tl(e,79,p,q,0)|0;break}}while(0);w=w+1|0;e=d[ga>>1]|0;if((w|0)>=(e<<16>>16|0))break;else e=v+y|0}}if(!ma){kn(ya,Aa,E+1|0);e=d[ga>>1]|0}m=e<<16>>16;x=E-m+-1|0;if(u){w=a+23|0;v=u;do{do if((b[v+8>>0]|0)==116){if((b[v+9>>0]|0)!=1)break;e=f[ta>>2]|0;if(!e){do if(!(f[sa>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[w>>0]=1}while(0);e=sl(a)|0}m=f[sa>>2]|0;m=f[((m|0)==0?a:m)+256>>2]|0;D:do if(!m)za=770;else while(1){if((f[m>>2]|0)==(v|0)?(f[m+12>>2]|0)==(i|0):0)break D;m=f[m+4>>2]|0;if(!m){za=770;break}}while(0);if((za|0)==770){za=0;m=ln(a,v,Aa,i)|0;if(!m)break}if(!(f[v>>2]|0))s=0;else{s=(f[a>>2]|0)+32|0;s=VA(f[s>>2]|0,f[s+4>>2]|0,13)|0;ba()|0;s=s&1^1}o=(f[ia>>2]|0)+1|0;f[ia>>2]=o;q=f[m+8>>2]|0;r=e+136|0;m=f[r>>2]|0;if((f[(f[e+12>>2]|0)+48>>2]|0)>(m|0)){f[r>>2]=m+1;la=f[e+88>>2]|0;b[la+(m*20|0)>>0]=45;d[la+(m*20|0)+2>>1]=0;f[la+(m*20|0)+4>>2]=x;f[la+(m*20|0)+8>>2]=I;f[la+(m*20|0)+12>>2]=o;f[la+(m*20|0)+16>>2]=0;b[la+(m*20|0)+1>>0]=0}else m=tl(e,45,x,I,o)|0;do if(!(b[(f[e>>2]|0)+81>>0]|0)){if((m|0)<0)m=(f[r>>2]|0)+-1|0;o=f[e+88>>2]|0;p=o+(m*20|0)+1|0;if(b[p>>0]|0){ul(e,o+(m*20|0)|0,q,-4);break}if(!q)break;f[o+(m*20|0)+16>>2]=q;b[p>>0]=-4}while(0);m=f[r>>2]|0;if((m|0)<=0)break;d[(f[e+88>>2]|0)+((m+-1|0)*20|0)+2>>1]=s}while(0);v=f[v+32>>2]|0}while((v|0)!=0);e=d[ga>>1]|0;m=e<<16>>16}o=m+1|0;if(e<<16>>16){e=a+28|0;if((f[e>>2]|0)>(m|0))break;f[e>>2]=o;f[a+32>>2]=E;break}if(!E)break;e=a+19|0;m=b[e>>0]|0;if((m&255)>=8)break;b[e>>0]=m+1<<24>>24;f[a+144+((m&255)<<2)>>2]=E}while(0);do if(!ma){do if(f[Z>>2]|0){e=ya+136|0;m=f[e>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;ma=f[ya+88>>2]|0;b[ma+(m*20|0)>>0]=73;d[ma+(m*20|0)+2>>1]=0;f[ma+(m*20|0)+4>>2]=0;f[ma+(m*20|0)+8>>2]=ea;f[ma+(m*20|0)+12>>2]=0;f[ma+(m*20|0)+16>>2]=0;b[ma+(m*20|0)+1>>0]=0;break}else{tl(ya,73,0,ea,0)|0;break}}while(0);E:do if((R|0)>-1){do if(N){e=ya+136|0;m=f[e>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;za=f[ya+88>>2]|0;b[za+(m*20|0)>>0]=90;d[za+(m*20|0)+2>>1]=0;f[za+(m*20|0)+4>>2]=T;f[za+(m*20|0)+8>>2]=R;f[za+(m*20|0)+12>>2]=ha;f[za+(m*20|0)+16>>2]=0;b[za+(m*20|0)+1>>0]=0;za=824;break}else{tl(ya,90,T,R,ha)|0;za=824;break}}else{if(ua){e=R+S|0;m=ya+136|0;o=f[m>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;za=f[ya+88>>2]|0;b[za+(o*20|0)>>0]=78;d[za+(o*20|0)+2>>1]=0;f[za+(o*20|0)+4>>2]=e;f[za+(o*20|0)+8>>2]=ha;f[za+(o*20|0)+12>>2]=0;f[za+(o*20|0)+16>>2]=0;b[za+(o*20|0)+1>>0]=0;za=824;break}else{tl(ya,78,e,ha,0)|0;za=824;break}}e=f[Ca+4+(R*20|0)>>2]|0;do if(e){if((b[e>>0]|0)!=-92){p=xl(a,e,ha)|0;za=814;break}p=f[ta>>2]|0;e=f[e+28>>2]|0;m=p+136|0;o=f[m>>2]|0;if((f[(f[p+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;na=f[p+88>>2]|0;b[na+(o*20|0)>>0]=78;d[na+(o*20|0)+2>>1]=0;f[na+(o*20|0)+4>>2]=e;f[na+(o*20|0)+8>>2]=ha;f[na+(o*20|0)+12>>2]=0;f[na+(o*20|0)+16>>2]=0;b[na+(o*20|0)+1>>0]=0;break}else{tl(p,78,e,ha,0)|0;break}}else{p=xl(a,0,ha)|0;za=814}while(0);do if((za|0)==814){if((p|0)==(ha|0))break;e=f[ta>>2]|0;if(!e)break;m=e+136|0;o=f[m>>2]|0;if((f[(f[e+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;na=f[e+88>>2]|0;b[na+(o*20|0)>>0]=79;d[na+(o*20|0)+2>>1]=0;f[na+(o*20|0)+4>>2]=p;f[na+(o*20|0)+8>>2]=ha;f[na+(o*20|0)+12>>2]=0;f[na+(o*20|0)+16>>2]=0;b[na+(o*20|0)+1>>0]=0;break}else{tl(e,79,p,ha,0)|0;break}}while(0);if(!(b[(f[ya>>2]|0)+81>>0]|0))e=(f[ya+88>>2]|0)+(((f[ya+136>>2]|0)+-1|0)*20|0)|0;else e=72144;if((b[e>>0]|0)!=73){za=824;break}if(f[Z>>2]|0){za=834;break}b[e>>0]=121;f[e+4>>2]=f[wa>>2];f[e+8>>2]=ha;f[e+12>>2]=G;H=1;break E}while(0);do if((za|0)==824){if(f[Z>>2]|0){za=834;break}e=ya+136|0;m=f[e>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;na=f[ya+88>>2]|0;b[na+(m*20|0)>>0]=51;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=ha;f[na+(m*20|0)+8>>2]=0;f[na+(m*20|0)+12>>2]=0;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0}else m=tl(ya,51,ha,0,0)|0;o=f[wa>>2]|0;p=f[e>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(p|0)){f[e>>2]=p+1;na=f[ya+88>>2]|0;b[na+(p*20|0)>>0]=121;d[na+(p*20|0)+2>>1]=0;f[na+(p*20|0)+4>>2]=o;f[na+(p*20|0)+8>>2]=ha;f[na+(p*20|0)+12>>2]=G;f[na+(p*20|0)+16>>2]=0;b[na+(p*20|0)+1>>0]=0}else tl(ya,121,o,ha,G)|0;o=f[e>>2]|0;if(!(b[(f[ya>>2]|0)+81>>0]|0))m=(f[ya+88>>2]|0)+(((m|0)<0?o+-1|0:m)*20|0)|0;else m=72144;f[m+8>>2]=o}while(0);do if((za|0)==834){e=ya+136|0;m=f[e>>2]|0;o=m+2|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;na=f[ya+88>>2]|0;b[na+(m*20|0)>>0]=50;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=ha;f[na+(m*20|0)+8>>2]=o;f[na+(m*20|0)+12>>2]=0;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0;break}else{tl(ya,50,ha,o,0)|0;break}}while(0);m=f[e>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;H=f[ya+88>>2]|0;b[H+(m*20|0)>>0]=15;d[H+(m*20|0)+2>>1]=0;f[H+(m*20|0)+4>>2]=ha;f[H+(m*20|0)+8>>2]=0;f[H+(m*20|0)+12>>2]=0;f[H+(m*20|0)+16>>2]=0;b[H+(m*20|0)+1>>0]=0;H=0;break}else{tl(ya,15,ha,0,0)|0;H=0;break}}else if(!(f[Z>>2]|na)){e=f[wa>>2]|0;m=ya+136|0;o=f[m>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;H=f[ya+88>>2]|0;b[H+(o*20|0)>>0]=121;d[H+(o*20|0)+2>>1]=0;f[H+(o*20|0)+4>>2]=e;f[H+(o*20|0)+8>>2]=ha;f[H+(o*20|0)+12>>2]=G;f[H+(o*20|0)+16>>2]=0;b[H+(o*20|0)+1>>0]=0;H=1;break}else{tl(ya,121,e,ha,G)|0;H=1;break}}else{e=ya+136|0;m=f[e>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;H=f[ya+88>>2]|0;b[H+(m*20|0)>>0]=73;d[H+(m*20|0)+2>>1]=0;f[H+(m*20|0)+4>>2]=0;f[H+(m*20|0)+8>>2]=ha;f[H+(m*20|0)+12>>2]=0;f[H+(m*20|0)+16>>2]=0;b[H+(m*20|0)+1>>0]=0;H=0;break}else{tl(ya,73,0,ha,0)|0;H=0;break}}while(0);do if((G|0)>0){e=f[ta>>2]|0;m=e+136|0;o=f[m>>2]|0;if((f[(f[e+12>>2]|0)+48>>2]|0)>(o|0)){f[m>>2]=o+1;na=f[e+88>>2]|0;b[na+(o*20|0)>>0]=-104;d[na+(o*20|0)+2>>1]=0;f[na+(o*20|0)+4>>2]=G;f[na+(o*20|0)+8>>2]=ha;f[na+(o*20|0)+12>>2]=0;f[na+(o*20|0)+16>>2]=0;b[na+(o*20|0)+1>>0]=0;break}else{tl(e,152,G,ha,0)|0;break}}while(0);if((d[ga>>1]|0)>0){D=Aa+40|0;E=ya+136|0;F=ya+88|0;G=Aa+4|0;v=(J|0)==0;w=a+23|0;x=g+4|0;y=ra+20|0;z=ra+4|0;A=ra+8|0;B=ra+24|0;C=(S|0)==(_|0);e=0;s=0;do{r=s+_|0;F:do if((s|0)==(d[D>>1]|0)){m=f[E>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[E>>2]=m+1;na=f[F>>2]|0;b[na+(m*20|0)>>0]=74;d[na+(m*20|0)+2>>1]=0;f[na+(m*20|0)+4>>2]=r;f[na+(m*20|0)+8>>2]=0;f[na+(m*20|0)+12>>2]=0;f[na+(m*20|0)+16>>2]=0;b[na+(m*20|0)+1>>0]=0;break}else{tl(ya,74,r,0,0)|0;break}}else{G:do if(oa)if(!(b[(f[G>>2]|0)+(s<<4)+15>>0]&2)){m=s-e|0;za=865;break}else{e=e+1|0;break}else{o=f[x>>2]|0;if((o|0)<=0){m=0;za=865;break}p=f[g>>2]|0;m=0;while(1){if((f[p+(m<<3)+4>>2]|0)==(s|0)){za=865;break G}m=m+1|0;if((m|0)>=(o|0)){za=865;break}}}while(0);do if((za|0)==865){za=0;if(v|(m|0)<0)break;if(Y?(m|0)>=(f[x>>2]|0):0)break;if(N){o=f[E>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(o|0)){f[E>>2]=o+1;na=f[F>>2]|0;b[na+(o*20|0)>>0]=90;d[na+(o*20|0)+2>>1]=0;f[na+(o*20|0)+4>>2]=T;f[na+(o*20|0)+8>>2]=m;f[na+(o*20|0)+12>>2]=r;f[na+(o*20|0)+16>>2]=0;b[na+(o*20|0)+1>>0]=0;break F}else{tl(ya,90,T,m,r)|0;break F}}if(ua){if(C)break F;m=m+S|0;o=f[E>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(o|0)){f[E>>2]=o+1;na=f[F>>2]|0;b[na+(o*20|0)>>0]=79;d[na+(o*20|0)+2>>1]=0;f[na+(o*20|0)+4>>2]=m;f[na+(o*20|0)+8>>2]=r;f[na+(o*20|0)+12>>2]=0;f[na+(o*20|0)+16>>2]=0;b[na+(o*20|0)+1>>0]=0;break F}else{tl(ya,79,m,r,0)|0;break F}}m=f[Ca+4+(m*20|0)>>2]|0;do if(m){if((b[m>>0]|0)!=-92){q=xl(a,m,r)|0;break}q=f[ta>>2]|0;m=f[m+28>>2]|0;o=q+136|0;p=f[o>>2]|0;if((f[(f[q+12>>2]|0)+48>>2]|0)>(p|0)){f[o>>2]=p+1;na=f[q+88>>2]|0;b[na+(p*20|0)>>0]=78;d[na+(p*20|0)+2>>1]=0;f[na+(p*20|0)+4>>2]=m;f[na+(p*20|0)+8>>2]=r;f[na+(p*20|0)+12>>2]=0;f[na+(p*20|0)+16>>2]=0;b[na+(p*20|0)+1>>0]=0;break F}else{tl(q,78,m,r,0)|0;break F}}else q=xl(a,0,r)|0;while(0);if((q|0)==(r|0))break F;m=f[ta>>2]|0;if(!m)break F;o=m+136|0;p=f[o>>2]|0;if((f[(f[m+12>>2]|0)+48>>2]|0)>(p|0)){f[o>>2]=p+1;na=f[m+88>>2]|0;b[na+(p*20|0)>>0]=79;d[na+(p*20|0)+2>>1]=0;f[na+(p*20|0)+4>>2]=q;f[na+(p*20|0)+8>>2]=r;f[na+(p*20|0)+12>>2]=0;f[na+(p*20|0)+16>>2]=0;b[na+(p*20|0)+1>>0]=0;break F}else{tl(m,79,q,r,0)|0;break F}}while(0);m=f[(f[G>>2]|0)+(s<<4)+4>>2]|0;do if(!(b[w>>0]|0)){if(m|0){za=874;break}q=xl(a,0,r)|0}else{b[y>>0]=2;f[z>>2]=155;f[A>>2]=156;f[B>>2]=0;if(m){oi(ra,m)|0;if(!(b[y>>0]|0)){za=874;break}}Pm(a,m,r)|0;break F}while(0);do if((za|0)==874){za=0;if((b[m>>0]|0)!=-92){q=xl(a,m,r)|0;break}q=f[ta>>2]|0;m=f[m+28>>2]|0;o=q+136|0;p=f[o>>2]|0;if((f[(f[q+12>>2]|0)+48>>2]|0)>(p|0)){f[o>>2]=p+1;na=f[q+88>>2]|0;b[na+(p*20|0)>>0]=78;d[na+(p*20|0)+2>>1]=0;f[na+(p*20|0)+4>>2]=m;f[na+(p*20|0)+8>>2]=r;f[na+(p*20|0)+12>>2]=0;f[na+(p*20|0)+16>>2]=0;b[na+(p*20|0)+1>>0]=0;break F}else{tl(q,78,m,r,0)|0;break F}}while(0);if((q|0)==(r|0))break;m=f[ta>>2]|0;if(!m)break;o=m+136|0;p=f[o>>2]|0;if((f[(f[m+12>>2]|0)+48>>2]|0)>(p|0)){f[o>>2]=p+1;na=f[m+88>>2]|0;b[na+(p*20|0)>>0]=79;d[na+(p*20|0)+2>>1]=0;f[na+(p*20|0)+4>>2]=q;f[na+(p*20|0)+8>>2]=r;f[na+(p*20|0)+12>>2]=0;f[na+(p*20|0)+16>>2]=0;b[na+(p*20|0)+1>>0]=0;break}else{tl(m,79,q,r,0)|0;break}}while(0);s=s+1|0}while((s|0)<(d[ga>>1]|0))}if(!(f[Z>>2]|0)){mn(a,Aa,Q,f[wa>>2]|0,f[va>>2]|0,ea,0,R>>>31&255^1,i&255,I,ra,0,k);nn(a,Aa,0,ea,0,0);do if(!(f[ra>>2]|0))e=1;else{if(u|0){e=0;break}if((f[P>>2]&16384|0)==0&0==0){e=1;break}s=f[Aa>>2]|0;p=f[pa>>2]|0;q=f[p+68>>2]|0;if(!q){m=p+60|0;e=p+64|0}else{m=b[s>>0]|0;if(!(m<<24>>24))e=0;else{e=0;o=s;do{o=o+1|0;e=U(e+(h[1232+(m&255)>>0]|0)|0,-1640531535)|0;m=b[o>>0]|0}while(m<<24>>24!=0)}e=(e>>>0)%((f[p+56>>2]|0)>>>0)|0;m=q+(e<<3)|0;e=q+(e<<3)+4|0}m=f[m>>2]|0;H:do if(!m)e=72124;else{r=h[1232+(h[s>>0]|0)>>0]|0;while(1){e=f[e>>2]|0;m=m+-1|0;p=f[e+12>>2]|0;ra=b[p>>0]|0;o=(h[1232+(ra&255)>>0]|0)-r|0;if(!(ra<<24>>24==0|(o|0)!=0)){q=s;do{p=p+1|0;q=q+1|0;ra=b[p>>0]|0;o=(h[1232+(ra&255)>>0]|0)-(h[1232+(h[q>>0]|0)>>0]|0)|0}while(!(ra<<24>>24==0|(o|0)!=0))}if(!o)break H;if(!m){e=72124;break}}}while(0);e=(f[e+8>>2]|0)==0&1}while(0);on(a,Aa,f[wa>>2]|0,f[va>>2]|0,ea,Q,0,H,e);break}e=f[Aa+64>>2]|0;I:do if(!e)e=0;else while(1){if((f[e>>2]|0)==(Da|0))break I;e=f[e+24>>2]|0;if(!e){e=0;break}}while(0);s=f[sa>>2]|0;s=(s|0)==0?a:s;r=s+200|0;q=f[r>>2]|0;p=s+248|0;J:do if((q|0)>0){m=f[p>>2]|0;o=0;do{if((f[m+(o<<2)>>2]|0)==(Aa|0))break J;o=o+1|0}while((o|0)<(q|0));o=p;za=918}else{o=p;m=f[p>>2]|0;za=918}while(0);K:do if((za|0)==918){do if(!(Mc()|0)){wa=(q<<2)+4|0;m=Nc(m,wa,((wa|0)<0)<<31>>31)|0;if(!m)break;f[o>>2]=m;wa=f[r>>2]|0;f[r>>2]=wa+1;f[m+(wa<<2)>>2]=Aa;break K}while(0);m=f[s>>2]|0;o=m+81|0;if(b[o>>0]|0)break;if(b[m+82>>0]|0)break;b[o>>0]=1;if((f[m+180>>2]|0)>0)f[m+264>>2]=1;wa=m+272|0;f[wa>>2]=(f[wa>>2]|0)+1}while(0);o=(d[ga>>1]|0)+2|0;q=ya+136|0;m=f[q>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[q>>2]=m+1;wa=f[ya+88>>2]|0;b[wa+(m*20|0)>>0]=10;d[wa+(m*20|0)+2>>1]=0;f[wa+(m*20|0)+4>>2]=1;f[wa+(m*20|0)+8>>2]=o;f[wa+(m*20|0)+12>>2]=ea;f[wa+(m*20|0)+16>>2]=0;b[wa+(m*20|0)+1>>0]=0}else m=tl(ya,10,1,o,ea)|0;do if(!(b[(f[ya>>2]|0)+81>>0]|0)){if((m|0)<0)m=(f[q>>2]|0)+-1|0;o=f[ya+88>>2]|0;p=o+(m*20|0)+1|0;if(b[p>>0]|0){ul(ya,o+(m*20|0)|0,e,-12);break}if(!e)break;f[o+(m*20|0)+16>>2]=e;b[p>>0]=-12;wa=e+12|0;f[wa>>2]=(f[wa>>2]|0)+1}while(0);e=f[q>>2]|0;if((e|0)>0)d[(f[ya+88>>2]|0)+((e+-1|0)*20|0)+2>>1]=(i|0)==11?2:i&65535;wa=f[sa>>2]|0;b[((wa|0)==0?a:wa)+21>>0]=1}while(0);do if(n|0){e=ya+136|0;m=f[e>>2]|0;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;wa=f[ya+88>>2]|0;b[wa+(m*20|0)>>0]=83;d[wa+(m*20|0)+2>>1]=0;f[wa+(m*20|0)+4>>2]=n;f[wa+(m*20|0)+8>>2]=1;f[wa+(m*20|0)+12>>2]=0;f[wa+(m*20|0)+16>>2]=0;b[wa+(m*20|0)+1>>0]=0;break}else{tl(ya,83,n,1,0)|0;break}}while(0);if(qa){v=ha+-1-(d[ga>>1]|0)|0;w=a+23|0;do{do if((b[u+8>>0]|0)==116){if((b[u+9>>0]|0)!=2)break;e=f[ta>>2]|0;if(!e){do if(!(f[sa>>2]|0)){if(d[(f[a>>2]|0)+76>>1]&8)break;b[w>>0]=1}while(0);e=sl(a)|0}m=f[sa>>2]|0;m=f[((m|0)==0?a:m)+256>>2]|0;L:do if(!m)za=975;else while(1){if((f[m>>2]|0)==(u|0)?(f[m+12>>2]|0)==(i|0):0)break L;m=f[m+4>>2]|0;if(!m){za=975;break}}while(0);if((za|0)==975){za=0;m=ln(a,u,Aa,i)|0;if(!m)break}if(!(f[u>>2]|0))s=0;else{s=(f[a>>2]|0)+32|0;s=VA(f[s>>2]|0,f[s+4>>2]|0,13)|0;ba()|0;s=s&1^1}o=(f[ia>>2]|0)+1|0;f[ia>>2]=o;q=f[m+8>>2]|0;r=e+136|0;m=f[r>>2]|0;if((f[(f[e+12>>2]|0)+48>>2]|0)>(m|0)){f[r>>2]=m+1;wa=f[e+88>>2]|0;b[wa+(m*20|0)>>0]=45;d[wa+(m*20|0)+2>>1]=0;f[wa+(m*20|0)+4>>2]=v;f[wa+(m*20|0)+8>>2]=I;f[wa+(m*20|0)+12>>2]=o;f[wa+(m*20|0)+16>>2]=0;b[wa+(m*20|0)+1>>0]=0}else m=tl(e,45,v,I,o)|0;do if(!(b[(f[e>>2]|0)+81>>0]|0)){if((m|0)<0)m=(f[r>>2]|0)+-1|0;o=f[e+88>>2]|0;p=o+(m*20|0)+1|0;if(b[p>>0]|0){ul(e,o+(m*20|0)|0,q,-4);break}if(!q)break;f[o+(m*20|0)+16>>2]=q;b[p>>0]=-4}while(0);m=f[r>>2]|0;if((m|0)<=0)break;d[(f[e+88>>2]|0)+((m+-1|0)*20|0)+2>>1]=s}while(0);u=f[u+32>>2]|0}while((u|0)!=0)}p=f[L>>2]|0;e=f[p+64>>2]|0;if(e|0)f[e+(K<<2)>>2]=f[ya+136>>2];if(!N){if(!ua)break;e=ya+136|0;m=f[e>>2]|0;if((f[p+48>>2]|0)>(m|0)){f[e>>2]=m+1;i=f[ya+88>>2]|0;b[i+(m*20|0)>>0]=11;d[i+(m*20|0)+2>>1]=0;f[i+(m*20|0)+4>>2]=0;f[i+(m*20|0)+8>>2]=M;f[i+(m*20|0)+12>>2]=0;f[i+(m*20|0)+16>>2]=0;b[i+(m*20|0)+1>>0]=0}else tl(ya,11,0,M,0)|0;m=f[e>>2]|0;if(!(b[(f[ya>>2]|0)+81>>0]|0))e=(f[ya+88>>2]|0)+(((O|0)<0?m+-1|0:O)*20|0)|0;else e=72144;f[e+8>>2]=m;break}o=ya+136|0;e=f[o>>2]|0;if((f[p+48>>2]|0)>(e|0)){f[o>>2]=e+1;i=f[ya+88>>2]|0;b[i+(e*20|0)>>0]=5;d[i+(e*20|0)+2>>1]=0;f[i+(e*20|0)+4>>2]=T;f[i+(e*20|0)+8>>2]=M;f[i+(e*20|0)+12>>2]=0;f[i+(e*20|0)+16>>2]=0;b[i+(e*20|0)+1>>0]=0}else tl(ya,5,T,M,0)|0;m=f[o>>2]|0;if(!(b[(f[ya>>2]|0)+81>>0]|0))e=(f[ya+88>>2]|0)+(((O|0)<0?m+-1|0:O)*20|0)|0;else e=72144;f[e+8>>2]=m;if((f[(f[L>>2]|0)+48>>2]|0)>(m|0)){f[o>>2]=m+1;i=f[ya+88>>2]|0;b[i+(m*20|0)>>0]=117;d[i+(m*20|0)+2>>1]=0;f[i+(m*20|0)+4>>2]=T;f[i+(m*20|0)+8>>2]=0;f[i+(m*20|0)+12>>2]=0;f[i+(m*20|0)+16>>2]=0;b[i+(m*20|0)+1>>0]=0;break}else{tl(ya,117,T,0,0)|0;break}}while(0);do if(!(b[xa>>0]|0)){if(f[a+120>>2]|0)break;if(!(f[a+112>>2]|0))break;jn(a)}while(0);if(!n)za=1020;else{e=ya+136|0;m=f[e>>2]|0;if((f[(f[ya+12>>2]|0)+48>>2]|0)>(m|0)){f[e>>2]=m+1;a=f[ya+88>>2]|0;b[a+(m*20|0)>>0]=81;d[a+(m*20|0)+2>>1]=0;f[a+(m*20|0)+4>>2]=n;f[a+(m*20|0)+8>>2]=1;f[a+(m*20|0)+12>>2]=0;f[a+(m*20|0)+16>>2]=0;b[a+(m*20|0)+1>>0]=0}else tl(ya,81,n,1,0)|0;Mi(ya,1);if(b[(f[ya>>2]|0)+81>>0]|0){za=1020;break}$e(f[ya+100>>2]|0,56396,-1,1,0)|0;za=1020}}else{l=0;za=1020}}else{l=0;za=1020}while(0);if((za|0)==1020){ng(Da,c);if(!Ca){e=Ba;r=l;break}}jg(Da,Ca);e=Ba;r=l}else za=1019;while(0);if((za|0)==1019){ng(Da,c);r=0}do if(k|0){l=f[k>>2]|0;if(l|0)jg(Da,l);l=f[k+4>>2]|0;if(l|0)ig(Da,l);l=f[k+8>>2]|0;if(l|0)jg(Da,l);l=f[k+12>>2]|0;if(l|0)ig(Da,l);if(Da|0){if(f[Da+480>>2]|0){Kc(Da,k);break}c=k;if((f[Da+304>>2]|0)>>>0<=c>>>0?(f[Da+308>>2]|0)>>>0>c>>>0:0){c=Da+300|0;f[k>>2]=f[c>>2];f[c>>2]=k;break}}if(!(f[9328]|0)){ob[f[37360>>2]&127](k);break}else{c=ib[f[37368>>2]&255](k)|0;f[18187]=(f[18187]|0)-c;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](k);break}}while(0);if(e|0)mg(Da,e,1);do if(g|0){q=g+4|0;l=f[g>>2]|0;M:do if((f[q>>2]|0)>0){m=Da+480|0;n=Da+304|0;o=Da+308|0;p=Da+300|0;if(!Da){e=0;while(1){l=f[l+(e<<3)>>2]|0;do if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{k=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}while(0);e=e+1|0;l=f[g>>2]|0;if((e|0)>=(f[q>>2]|0))break M}}e=0;do{l=f[l+(e<<3)>>2]|0;do if(l|0){if(f[m>>2]|0){Kc(Da,l);break}k=l;if((f[n>>2]|0)>>>0<=k>>>0?(f[o>>2]|0)>>>0>k>>>0:0){f[l>>2]=f[p>>2];f[p>>2]=l;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{k=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);e=e+1|0;l=f[g>>2]|0}while((e|0)<(f[q>>2]|0))}while(0);N:do if(l){do if(Da|0){e=Da+480|0;if(!(f[e>>2]|0)){m=l;if((f[Da+304>>2]|0)>>>0>m>>>0)break;if((f[Da+308>>2]|0)>>>0<=m>>>0)break;k=Da+300|0;f[l>>2]=f[k>>2];f[k>>2]=l}else Kc(Da,l);l=e;za=1075;break N}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](l);za=1073;break}else{za=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-za;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);za=1073;break}}else za=1073;while(0);if((za|0)==1073)if(Da){l=Da+480|0;za=1075}if((za|0)==1075){if(f[l>>2]|0){Kc(Da,g);break}k=g;if((f[Da+304>>2]|0)>>>0<=k>>>0?(f[Da+308>>2]|0)>>>0>k>>>0:0){k=Da+300|0;f[g>>2]=f[k>>2];f[k>>2]=g;break}}if(g|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](g);break}else{k=ib[f[37368>>2]&255](g)|0;f[18187]=(f[18187]|0)-k;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](g);break}}while(0);if(!r){t=Ea;return}if(Da|0){if(f[Da+480>>2]|0){Kc(Da,r);t=Ea;return}k=r;if((f[Da+304>>2]|0)>>>0<=k>>>0?(f[Da+308>>2]|0)>>>0>k>>>0:0){Da=Da+300|0;f[r>>2]=f[Da>>2];f[Da>>2]=r;t=Ea;return}}if(!(f[9328]|0)){ob[f[37360>>2]&127](r);t=Ea;return}else{Da=ib[f[37368>>2]&255](r)|0;f[18187]=(f[18187]|0)-Da;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](r);t=Ea;return}}function Rl(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0;p=f[a>>2]|0;if(!c){a:do if(!p){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](8)|0;o=25;break}c=ib[f[37372>>2]&255](8)|0;if((f[18194]|0)>>>0<8)f[18194]=8;g=71896;e=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&e>>>0>0){n=f[18187]|0;m=LA(e|0,g|0,c|0,((c|0)<0)<<31>>31|0)|0;l=ba()|0;f[17976]=((l|0)<0|(l|0)==0&m>>>0<=n>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c){p=0;return p|0}e=ib[f[37368>>2]&255](c)|0;e=(f[18187]|0)+e|0;f[18187]=e;if(e>>>0>(f[18191]|0)>>>0)f[18191]=e;e=(f[18190]|0)+1|0;f[18190]=e;if(e>>>0>(f[18196]|0)>>>0)f[18196]=e}else{if(f[p+272>>2]|0){if(b[p+81>>0]|0){p=0;return p|0}}else{do if((j[p+276>>1]|0)>=8){e=p+300|0;c=f[e>>2]|0;if(c|0){f[e>>2]=f[c>>2];o=p+284|0;f[o>>2]=(f[o>>2]|0)+1;o=25;break a}e=p+296|0;c=f[e>>2]|0;if(!c){c=p+292|0;break}else{f[e>>2]=f[c>>2];o=p+284|0;f[o>>2]=(f[o>>2]|0)+1;o=25;break a}}else c=p+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(p,8,0)|0;o=25}while(0);if((o|0)==25)if(!c){p=0;return p|0}n=c;m=n;b[m>>0]=0;b[m+1>>0]=0;b[m+2>>0]=0;b[m+3>>0]=0;n=n+4|0;b[n>>0]=0;b[n+1>>0]=0;b[n+2>>0]=0;b[n+3>>0]=0}m=f[c>>2]|0;n=c+4|0;g=f[n>>2]|0;b:do if(!(g+-1&g)){i=(g|0)==0;l=g<<4;k=i?8:l;l=i?0:((l|0)<0)<<31>>31;c:do if(!m){if(f[p+272>>2]|0){if(b[p+81>>0]|0)break}else{do if(!(l>>>0>0|((l|0)==0?k>>>0>(j[p+276>>1]|0)>>>0:0))){i=p+300|0;e=f[i>>2]|0;if(e|0){f[i>>2]=f[e>>2];o=p+284|0;f[o>>2]=(f[o>>2]|0)+1;o=45;break c}i=p+296|0;e=f[i>>2]|0;if(!e){e=p+292|0;break}else{f[i>>2]=f[e>>2];o=p+284|0;f[o>>2]=(f[o>>2]|0)+1;o=45;break c}}else e=p+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(p,k,l)|0;o=45}else{o=m;if((f[p+304>>2]|0)>>>0<=o>>>0?(f[p+308>>2]|0)>>>0>o>>>0:0){if(!(l>>>0>0|((l|0)==0?k>>>0>(j[p+276>>1]|0)>>>0:0))){e=m;o=48;break b}e=Lc(p,m,k,l)|0;o=45;break}e=Lc(p,m,k,l)|0;o=45}while(0);if((o|0)==45){if(e|0){o=48;break}g=f[n>>2]|0}f[c>>2]=m;e=m}else{e=m;o=48}while(0);if((o|0)==48){i=e+(g<<3)|0;m=i;b[m>>0]=0;b[m+1>>0]=0;b[m+2>>0]=0;b[m+3>>0]=0;i=i+4|0;b[i>>0]=0;b[i+1>>0]=0;b[i+2>>0]=0;b[i+3>>0]=0;i=(f[n>>2]|0)+1|0;f[n>>2]=i;f[c>>2]=e;if((g|0)<0)g=i;else{k=pl(p,d)|0;f[(f[c>>2]|0)+(g<<3)>>2]=k;if((k|0)==0|(h[a+196>>0]|0)<2){p=c;return p|0}i=f[a>>2]|0;d:do if(!i){if(!(f[9328]|0)){e=ib[f[37356>>2]&255](16)|0;o=114;break}e=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;i=71896;g=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&g>>>0>0){p=f[18187]|0;n=LA(g|0,i|0,e|0,((e|0)<0)<<31>>31|0)|0;m=ba()|0;f[17976]=((m|0)<0|(m|0)==0&n>>>0<=p>>>0)&1}e=ib[f[37356>>2]&255](e)|0;if(!e){p=c;return p|0}g=ib[f[37368>>2]&255](e)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0)f[18196]=g}else{if(f[i+272>>2]|0){if(b[i+81>>0]|0){p=c;return p|0}}else{do if((j[i+276>>1]|0)>=16){g=i+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];o=i+284|0;f[o>>2]=(f[o>>2]|0)+1;o=114;break d}g=i+296|0;e=f[g>>2]|0;if(!e){e=i+292|0;break}else{f[g>>2]=f[e>>2];o=i+284|0;f[o>>2]=(f[o>>2]|0)+1;o=114;break d}}else e=i+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1}e=Dc(i,16,0)|0;o=114}while(0);if((o|0)==114)if(!e){p=c;return p|0}g=e+4|0;i=g+12|0;do{b[g>>0]=0;g=g+1|0}while((g|0)<(i|0));f[e>>2]=k;o=d;d=f[o+4>>2]|0;p=e+4|0;f[p>>2]=f[o>>2];f[p+4>>2]=d;p=a+268|0;f[e+12>>2]=f[p>>2];f[p>>2]=e;p=c;return p|0}}e:do if((g|0)>0){i=p+480|0;k=p+304|0;l=p+308|0;m=p+300|0;if(!p){g=0;while(1){e=f[e+(g<<3)>>2]|0;do if(e|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{d=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}while(0);g=g+1|0;e=f[c>>2]|0;if((g|0)>=(f[n>>2]|0))break e}}g=0;do{e=f[e+(g<<3)>>2]|0;do if(e|0){if(f[i>>2]|0){Kc(p,e);break}d=e;if((f[k>>2]|0)>>>0<=d>>>0?(f[l>>2]|0)>>>0>d>>>0:0){f[e>>2]=f[m>>2];f[m>>2]=e;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](e);break}else{d=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-d;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);break}}while(0);g=g+1|0;e=f[c>>2]|0}while((g|0)<(f[n>>2]|0))}while(0);f:do if(e){do if(p|0){g=p+480|0;if(!(f[g>>2]|0)){i=e;if((f[p+304>>2]|0)>>>0>i>>>0)break;if((f[p+308>>2]|0)>>>0<=i>>>0)break;d=p+300|0;f[e>>2]=f[d>>2];f[d>>2]=e}else Kc(p,e);e=g;o=81;break f}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](e);o=79;break}else{o=ib[f[37368>>2]&255](e)|0;f[18187]=(f[18187]|0)-o;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](e);o=79;break}}else o=79;while(0);if((o|0)==79)if(p){e=p+480|0;o=81}if((o|0)==81){if(f[e>>2]|0){Kc(p,c);p=0;return p|0}d=c;if((f[p+304>>2]|0)>>>0<=d>>>0?(f[p+308>>2]|0)>>>0>d>>>0:0){p=p+300|0;f[c>>2]=f[p>>2];f[p>>2]=c;p=0;return p|0}}if(!c){p=0;return p|0}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);p=0;return p|0}else{p=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-p;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);p=0;return p|0}return 0}function Sl(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;e=f[a>>2]|0;l=e+20|0;d=f[l>>2]|0;if((d|0)<=0)return;k=e+16|0;if(!c){e=0;do{if(f[(f[k>>2]|0)+(e<<4)+4>>2]|0){en(a,e);d=f[l>>2]|0}e=e+1|0}while((e|0)<(d|0));return}j=0;do{e=f[k>>2]|0;if(f[e+(j<<4)+4>>2]|0){g=f[e+(j<<4)>>2]|0;i=b[c>>0]|0;e=(h[1232+(i&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0;if(!(i<<24>>24==0|(e|0)!=0)){i=c;do{i=i+1|0;g=g+1|0;m=b[i>>0]|0;e=(h[1232+(m&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(m<<24>>24==0|(e|0)!=0))}if(!e){en(a,j);d=f[l>>2]|0}}j=j+1|0}while((j|0)<(d|0));return}function Tl(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+128|0;e=m+96|0;j=m+112|0;k=m;f[j>>2]=0;l=f[a>>2]|0;if(f[a+36>>2]|0){t=m;return}f[e>>2]=d;d=zg(l,c,e)|0;if(!d){t=m;return}c=a+18|0;b[c>>0]=(b[c>>0]|0)+1<<24>>24;e=a+184|0;g=k;h=e;i=g+88|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));g=e;i=g+88|0;do{b[g>>0]=0;g=g+1|0}while((g|0)<(i|0));bg(a,d,j)|0;Zh(l,f[j>>2]|0);Zh(l,d);g=e;h=k;i=g+88|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[c>>0]=(b[c>>0]|0)+-1<<24>>24;t=m;return}function Ul(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=t;t=t+32|0;l=m+8|0;i=m;g=f[a+8>>2]|0;if(!g){if((f[a+116>>2]|0)==0?(d[(f[a>>2]|0)+76>>1]&8)==0:0)b[a+23>>0]=1;g=sl(a)|0}k=a+19|0;h=b[k>>0]|0;if(!(h<<24>>24)){h=a+44|0;j=(f[h>>2]|0)+1|0;f[h>>2]=j}else{j=h+-1<<24>>24;b[k>>0]=j;j=f[a+144+((j&255)<<2)>>2]|0}if((c|0)<2)ni(a,56136,i);h=g+136|0;i=f[h>>2]|0;if((f[(f[g+12>>2]|0)+48>>2]|0)>(i|0)){f[h>>2]=i+1;h=f[g+88>>2]|0;b[h+(i*20|0)>>0]=-119;d[h+(i*20|0)+2>>1]=0;f[h+(i*20|0)+4>>2]=c;f[h+(i*20|0)+8>>2]=j;f[h+(i*20|0)+12>>2]=e;f[h+(i*20|0)+16>>2]=0;b[h+(i*20|0)+1>>0]=0}else tl(g,137,c,j,e)|0;i=f[a+116>>2]|0;b[((i|0)==0?a:i)+21>>0]=1;f[l>>2]=f[(f[(f[a>>2]|0)+16>>2]|0)+(e<<4)>>2];f[l+4>>2]=43770;f[l+8>>2]=c;f[l+12>>2]=j;f[l+16>>2]=j;Tl(a,56151,l);if(!j){t=m;return}g=b[k>>0]|0;if((g&255)>=8){t=m;return}b[k>>0]=g+1<<24>>24;f[a+144+((g&255)<<2)>>2]=j;t=m;return} -function el(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0;va=t;t=t+176|0;ua=va+160|0;qa=va+152|0;pa=va+144|0;oa=va+128|0;na=va+120|0;ma=va+112|0;la=va+104|0;T=va+96|0;S=va+88|0;R=va+80|0;Q=va+72|0;P=va+64|0;J=va+56|0;I=va+48|0;H=va+40|0;L=va+24|0;K=va+16|0;G=va+8|0;F=va;ja=va+168|0;ra=f[a>>2]|0;sa=f[ra>>2]|0;ta=c+8|0;e=f[ta>>2]|0;f[ta>>2]=e|64;ka=sa+81|0;if(b[ka>>0]|0){ua=2;t=va;return ua|0}if(e&64|0){ua=1;t=va;return ua|0}B=c+32|0;ha=f[B>>2]|0;ia=f[c>>2]|0;e=f[c+64>>2]|0;if(e|0){ga=ra+260|0;f[e+4>>2]=f[ga>>2];f[ga>>2]=e}Tk(ra,ha);ga=ha+8|0;a:do if((f[ha>>2]|0)>0){z=0;A=ga;b:while(1){y=A+37|0;q=b[y>>0]|0;do if(!(q&32)){v=f[a>>2]|0;s=f[v>>2]|0;w=v+260|0;e=f[w>>2]|0;x=A+4|0;c:do if((f[x>>2]|0)==0?(E=f[A+8>>2]|0,!((e|0)==0|(E|0)==0)):0){d:while(1){o=f[e>>2]|0;e:do if((o|0)>0){ea=b[E>>0]|0;p=b[1232+(ea&255)>>0]|0;if(!(ea<<24>>24)){g=0;while(1){i=e+8+(g<<4)|0;k=f[i>>2]|0;g=g+1|0;if(p<<24>>24==(b[1232+(h[k>>0]|0)>>0]|0)){m=i;i=k;break d}if((g|0)>=(o|0))break e}}l=0;do{m=e+8+(l<<4)|0;i=f[m>>2]|0;if(p<<24>>24==(b[1232+(h[i>>0]|0)>>0]|0)){g=i;k=E;do{k=k+1|0;g=g+1|0;ea=b[k>>0]|0;n=(h[1232+(ea&255)>>0]|0)-(h[1232+(h[g>>0]|0)>>0]|0)|0}while(!(ea<<24>>24==0|(n|0)!=0));if(!n)break d}l=l+1|0}while((l|0)<(o|0))}while(0);e=f[e+4>>2]|0;if(!e)break c}u=m+12|0;g=f[u>>2]|0;if(g|0){fa=24;break b}if(q&4){fa=26;break b}l=(s|0)==0;f:do if(l){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](80)|0;fa=50;break}g=ib[f[37372>>2]&255](80)|0;if((f[18194]|0)>>>0<80)f[18194]=80;k=71896;i=f[k>>2]|0;k=f[k+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){ea=f[18187]|0;da=LA(i|0,k|0,g|0,((g|0)<0)<<31>>31|0)|0;ca=ba()|0;f[17976]=((ca|0)<0|(ca|0)==0&da>>>0<=ea>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){fa=51;break b}i=ib[f[37368>>2]&255](g)|0;i=(f[18187]|0)+i|0;f[18187]=i;if(i>>>0>(f[18191]|0)>>>0)f[18191]=i;i=(f[18190]|0)+1|0;f[18190]=i;if(i>>>0<=(f[18196]|0)>>>0)break;f[18196]=i}else{if(f[s+272>>2]|0){if(b[s+81>>0]|0){fa=51;break b}}else{do if((j[s+276>>1]|0)>=80){i=s+300|0;g=f[i>>2]|0;if(g|0){f[i>>2]=f[g>>2];fa=s+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=50;break f}i=s+296|0;g=f[i>>2]|0;if(!g){g=s+292|0;break}else{f[i>>2]=f[g>>2];fa=s+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=50;break f}}else g=s+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(s,80,0)|0;fa=50}while(0);if((fa|0)==50){fa=0;if(!g){fa=51;break b}}M=g;N=M+80|0;do{b[M>>0]=0;M=M+1|0}while((M|0)<(N|0));f[A+16>>2]=g;r=g+32|0;f[r>>2]=1;n=f[m>>2]|0;g:do if(!n)i=0;else{o=(wz(n)|0)+1|0;h:do if(l){ea=KA(o|0,0,-1,-1)|0;da=ba()|0;if(da>>>0>0|(da|0)==0&ea>>>0>2147483390){i=0;break g}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](o)|0;fa=77;break}i=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;l=71896;k=f[l>>2]|0;l=f[l+4>>2]|0;if((l|0)>0|(l|0)==0&k>>>0>0){ea=f[18187]|0;da=LA(k|0,l|0,i|0,((i|0)<0)<<31>>31|0)|0;ca=ba()|0;f[17976]=((ca|0)<0|(ca|0)==0&da>>>0<=ea>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){i=0;break g}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}else{if(f[s+272>>2]|0){if(b[s+81>>0]|0){i=0;break g}}else{do if(!(0<0|(0==0?(j[s+276>>1]|0)>>>0>>0:0))){k=s+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];fa=s+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=77;break h}k=s+296|0;i=f[k>>2]|0;if(!i){i=s+292|0;break}else{f[k>>2]=f[i>>2];fa=s+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=77;break h}}else i=s+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(s,o,0)|0;fa=77}while(0);if((fa|0)==77){fa=0;if(!i){i=0;break}}YA(i|0,n|0,o|0)|0}while(0);f[g>>2]=i;d[g+40>>1]=-1;d[g+44>>1]=200;q=g+36|0;f[q>>2]=f[q>>2]|66;q=Hk(s,f[m+8>>2]|0,0)|0;f[A+20>>2]=q;if(b[s+81>>0]|0){e=2;fa=512;break b}p=((b[q+4>>0]|0)+-123&255)<2;if(p?(C=f[q+32>>2]|0,D=f[C>>2]|0,(D|0)>0):0){o=q+8|0;n=0;do{do if(!(f[C+8+(n*72|0)+4>>2]|0)){k=f[C+8+(n*72|0)+8>>2]|0;if(!k)break;l=f[m>>2]|0;ea=b[k>>0]|0;i=(h[1232+(ea&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0;if(!(ea<<24>>24==0|(i|0)!=0))do{k=k+1|0;l=l+1|0;ea=b[k>>0]|0;i=(h[1232+(ea&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(ea<<24>>24==0|(i|0)!=0));if(i|0)break;f[C+8+(n*72|0)+16>>2]=g;ea=C+8+(n*72|0)+37|0;b[ea>>0]=b[ea>>0]|32;f[r>>2]=(f[r>>2]|0)+1;f[o>>2]=f[o>>2]|8192}while(0);n=n+1|0}while((n|0)!=(D|0))}if((f[r>>2]|0)>>>0>2){fa=92;break b}f[u>>2]=50416;l=f[w>>2]|0;f[w>>2]=e;if(p){da=f[q+52>>2]|0;ea=da+64|0;f[ea>>2]=f[q+64>>2];yk(a,da)|0;f[ea>>2]=0}else yk(a,q)|0;f[w>>2]=e;e=q;while(1){i=f[e+52>>2]|0;if(!i)break;else e=i}e=f[e>>2]|0;k=f[m+4>>2]|0;do if(k){if(!e){e=k;break}e=f[e>>2]|0;i=f[k>>2]|0;if((e|0)==(i|0))e=k;else{fa=101;break b}}while(0);Vk(f[v>>2]|0,e,g+42|0,g+4|0);if(p){f[u>>2]=(f[q+8>>2]&8192|0)==0?50477:50515;yk(a,q)|0}f[u>>2]=0;f[w>>2]=l}while(0);l=A+16|0;e=f[l>>2]|0;if(!e){k=f[A+8>>2]|0;do if(!k){if(yk(a,f[A+20>>2]|0)|0){e=2;fa=512;break b}if(il(ra,A)|0){e=2;fa=512;break b}}else{i=f[A>>2]|0;if(!i)e=x;else{g=f[(f[ra>>2]|0)+16>>2]|0;e=0;while(1)if((f[g+(e<<4)+12>>2]|0)==(i|0))break;else e=e+1|0;e=g+(e<<4)|0}e=pi(ra,0,k,f[e>>2]|0)|0;f[l>>2]=e;if(!e){e=2;fa=512;break b}g=e+32|0;i=f[g>>2]|0;if(i>>>0>65534){fa=115;break b}f[g>>2]=i+1;if(!(f[e+56>>2]|0)){if(b[y>>0]&4){fa=118;break b}if(!(f[e+12>>2]|0))break}if(ki(ra,e)|0){e=2;fa=512;break b}ca=Hk(sa,f[e+12>>2]|0,0)|0;f[A+20>>2]=ca;ea=e+42|0;da=d[ea>>1]|0;d[ea>>1]=-1;yk(a,ca)|0;d[ea>>1]=da}while(0);e=f[l>>2]|0;if(!e)break}if(b[y>>0]&2){m=f[A+64>>2]|0;e=f[e+8>>2]|0;if(!e){fa=132;break b}l=h[1232+(h[m>>0]|0)>>0]|0;while(1){i=f[e>>2]|0;ea=b[i>>0]|0;g=(h[1232+(ea&255)>>0]|0)-l|0;if(!(ea<<24>>24==0|(g|0)!=0)){k=m;do{i=i+1|0;k=k+1|0;ea=b[i>>0]|0;g=(h[1232+(ea&255)>>0]|0)-(h[1232+(h[k>>0]|0)>>0]|0)|0}while(!(ea<<24>>24==0|(g|0)!=0))}if(!g)break;e=f[e+20>>2]|0;if(!e){fa=132;break b}}f[A+68>>2]=e}}while(0);z=z+1|0;if((z|0)>=(f[ha>>2]|0))break a;else A=A+72|0}if((fa|0)==24){f[F>>2]=i;ni(v,g,F);ua=2;t=va;return ua|0}else if((fa|0)==26){f[G>>2]=E;ni(v,50350,G);ua=2;t=va;return ua|0}else if((fa|0)==51){f[A+16>>2]=0;ua=2;t=va;return ua|0}else if((fa|0)==92){f[K>>2]=f[m>>2];ni(v,50373,K);ua=2;t=va;return ua|0}else if((fa|0)==101){f[L>>2]=f[m>>2];f[L+4>>2]=e;f[L+8>>2]=i;ni(v,50439,L);f[w>>2]=l;ua=2;t=va;return ua|0}else if((fa|0)==115){f[H>>2]=f[e>>2];ni(ra,50549,H);f[l>>2]=0;ua=2;t=va;return ua|0}else if((fa|0)==118){f[I>>2]=f[A+8>>2];ni(ra,50350,I);ua=2;t=va;return ua|0}else if((fa|0)==132){f[J>>2]=m;f[J+4>>2]=0;ni(ra,50588,J);b[ra+17>>0]=1;ua=2;t=va;return ua|0}else if((fa|0)==512){t=va;return e|0}}while(0);if(b[ka>>0]|0){ua=2;t=va;return ua|0}E=f[B>>2]|0;i:do if((f[E>>2]|0)>1){F=c+36|0;a=0;C=E+8|0;D=E+80|0;j:while(1){B=f[D+16>>2]|0;if(!((B|0)==0|(f[C+16>>2]|0)==0)){ea=h[D+36>>0]|0;G=(ea&32|0)==0;A=D+44|0;if(ea&4){if(f[A>>2]|0){fa=142;break}g=D+48|0;if(f[g>>2]|0){fa=142;break}v=B+42|0;e=d[v>>1]|0;if(e<<16>>16>0){w=B+4|0;z=a+1|0;x=E+8+(z*72|0)+16|0;y=E+8+(z*72|0)+40|0;z=E+8+(z*72|0)+56|0;u=0;do{p=f[(f[w>>2]|0)+(u<<4)>>2]|0;r=0;k:while(1){s=E+8+(r*72|0)+16|0;i=f[s>>2]|0;k=d[i+42>>1]|0;if(k<<16>>16>0){n=f[i+4>>2]|0;o=h[1232+(h[p>>0]|0)>>0]|0;m=k<<16>>16;q=0;while(1){k=f[n+(q<<4)>>2]|0;ea=b[k>>0]|0;i=(h[1232+(ea&255)>>0]|0)-o|0;if(!(ea<<24>>24==0|(i|0)!=0)){l=p;do{k=k+1|0;l=l+1|0;ea=b[k>>0]|0;i=(h[1232+(ea&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(ea<<24>>24==0|(i|0)!=0))}if(!i){fa=154;break k}i=q+1|0;if((i|0)<(m|0))q=i;else break}}if(r>>>0>>0)r=r+1|0;else break}if((fa|0)==154){fa=0;p=f[ra>>2]|0;k=p+272|0;l:do if(f[k>>2]|0)if(!(b[p+81>>0]|0))fa=164;else{o=1;n=0}else{do if((j[p+276>>1]|0)>=48){e=p+300|0;i=f[e>>2]|0;if(i|0){f[e>>2]=f[i>>2];fa=p+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=165;break l}e=p+296|0;i=f[e>>2]|0;if(!i){e=p+292|0;break}else{f[e>>2]=f[i>>2];fa=p+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=165;break l}}else e=p+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;fa=164}while(0);if((fa|0)==164){i=Dc(p,48,0)|0;fa=165}do if((fa|0)==165){fa=0;if(i){M=i;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[i>>0]=-98;d[i+34>>1]=-1;f[i+24>>2]=1;ea=f[s>>2]|0;f[i+44>>2]=ea;f[i+28>>2]=f[E+8+(r*72|0)+40>>2];if((q|0)==(d[ea+40>>1]|0)){d[i+32>>1]=-1;o=0;n=i;break}else{d[i+32>>1]=q;ea=WA(1,0,(q>>>0<63?q:63)|0)|0;n=ba()|0;o=E+8+(r*72|0)+56|0;da=o;n=f[da+4>>2]|n;f[o>>2]=f[da>>2]|ea;f[o+4>>2]=n;o=0;n=i;break}}else{o=1;n=0}}while(0);m:do if(f[k>>2]|0)if(!(b[p+81>>0]|0))fa=179;else{m=1;i=0}else{do if((j[p+276>>1]|0)>=48){e=p+300|0;i=f[e>>2]|0;if(i|0){f[e>>2]=f[i>>2];fa=p+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=180;break m}e=p+296|0;i=f[e>>2]|0;if(!i){e=p+292|0;break}else{f[e>>2]=f[i>>2];fa=p+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=180;break m}}else e=p+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;fa=179}while(0);if((fa|0)==179){i=Dc(p,48,0)|0;fa=180}do if((fa|0)==180){if(!i){m=1;i=0;break}M=i;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[i>>0]=-98;d[i+34>>1]=-1;f[i+24>>2]=1;fa=f[x>>2]|0;f[i+44>>2]=fa;f[i+28>>2]=f[y>>2];if((u|0)==(d[fa+40>>1]|0)){d[i+32>>1]=-1;m=0;break}else{d[i+32>>1]=u;ea=WA(1,0,(u>>>0<63?u:63)|0)|0;fa=ba()|0;da=z;fa=f[da+4>>2]|fa;m=z;f[m>>2]=f[da>>2]|ea;f[m+4>>2]=fa;m=0;break}}while(0);l=f[ra>>2]|0;n:do if(f[l+272>>2]|0)if(!(b[l+81>>0]|0))fa=194;else{e=l;fa=198}else{do if((j[l+276>>1]|0)>=48){k=l+300|0;e=f[k>>2]|0;if(e|0){f[k>>2]=f[e>>2];fa=l+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=195;break n}k=l+296|0;e=f[k>>2]|0;if(!e){e=l+292|0;break}else{f[k>>2]=f[e>>2];fa=l+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=195;break n}}else e=l+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;fa=194}while(0);if((fa|0)==194){e=Dc(l,48,0)|0;fa=195}do if((fa|0)==195){fa=0;if(!e){e=f[ra>>2]|0;fa=198;break}M=e;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[e>>0]=53;d[e+34>>1]=-1;if(m)k=0;else{f[e+16>>2]=i;k=f[i+4>>2]&2097412;f[e+4>>2]=k}if(!o){f[e+12>>2]=n;f[e+4>>2]=f[n+4>>2]&2097412|k}jl(e);k=f[(f[ra>>2]|0)+120>>2]|0;if((k|0)<(f[e+24>>2]|0)){f[Q>>2]=k;ni(ra,42710,Q)}if(G)break;ea=e+4|0;f[ea>>2]=f[ea>>2]|1;d[e+36>>1]=f[i+28>>2]}while(0);do if((fa|0)==198){fa=0;if(!o)ig(e,n);if(m){e=0;break}ig(e,i);e=0}while(0);e=kl(p,f[F>>2]|0,e)|0;f[F>>2]=e;e=d[v>>1]|0}u=u+1|0}while((u|0)<(e<<16>>16|0))}}else g=D+48|0;e=f[A>>2]|0;if(e|0){if(f[g>>2]|0){fa=213;break}if(!G){ll(e,f[D+40>>2]|0);e=f[A>>2]|0}ea=kl(f[ra>>2]|0,f[F>>2]|0,e)|0;f[F>>2]=ea;f[A>>2]=0}y=f[g>>2]|0;if(y|0?(O=y+4|0,(f[O>>2]|0)>0):0){z=B+42|0;u=B+4|0;x=a+1|0;v=E+8+(x*72|0)+16|0;w=E+8+(x*72|0)+40|0;x=E+8+(x*72|0)+56|0;s=0;do{o=f[(f[y>>2]|0)+(s<<3)>>2]|0;e=d[z>>1]|0;if(e<<16>>16<=0){fa=292;break j}l=f[u>>2]|0;p=h[1232+(h[o>>0]|0)>>0]|0;k=e<<16>>16;r=0;while(1){g=f[l+(r<<4)>>2]|0;ea=b[g>>0]|0;e=(h[1232+(ea&255)>>0]|0)-p|0;if(!(ea<<24>>24==0|(e|0)!=0)){i=o;do{g=g+1|0;i=i+1|0;ea=b[g>>0]|0;e=(h[1232+(ea&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(ea<<24>>24==0|(e|0)!=0))}if(!e)break;e=r+1|0;if((e|0)<(k|0))r=e;else{fa=292;break j}}n=0;o:while(1){q=E+8+(n*72|0)+16|0;e=f[q>>2]|0;g=d[e+42>>1]|0;if(g<<16>>16>0){l=f[e+4>>2]|0;k=g<<16>>16;m=0;while(1){g=f[l+(m<<4)>>2]|0;ea=b[g>>0]|0;e=(h[1232+(ea&255)>>0]|0)-p|0;if(!(ea<<24>>24==0|(e|0)!=0)){i=o;do{g=g+1|0;i=i+1|0;ea=b[g>>0]|0;e=(h[1232+(ea&255)>>0]|0)-(h[1232+(h[i>>0]|0)>>0]|0)|0}while(!(ea<<24>>24==0|(e|0)!=0))}if(!e)break o;e=m+1|0;if((e|0)<(k|0))m=e;else break}}if(n>>>0>>0)n=n+1|0;else{fa=292;break j}}o=f[ra>>2]|0;i=o+272|0;p:do if(f[i>>2]|0)if(!(b[o+81>>0]|0))fa=246;else{n=1;m=0}else{do if((j[o+276>>1]|0)>=48){e=o+300|0;g=f[e>>2]|0;if(g|0){f[e>>2]=f[g>>2];fa=o+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=247;break p}e=o+296|0;g=f[e>>2]|0;if(!g){e=o+292|0;break}else{f[e>>2]=f[g>>2];fa=o+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=247;break p}}else e=o+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;fa=246}while(0);if((fa|0)==246){g=Dc(o,48,0)|0;fa=247}do if((fa|0)==247){fa=0;if(g){M=g;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[g>>0]=-98;d[g+34>>1]=-1;f[g+24>>2]=1;ea=f[q>>2]|0;f[g+44>>2]=ea;f[g+28>>2]=f[E+8+(n*72|0)+40>>2];if((m|0)==(d[ea+40>>1]|0)){d[g+32>>1]=-1;n=0;m=g;break}else{d[g+32>>1]=m;ea=WA(1,0,(m>>>0<63?m:63)|0)|0;m=ba()|0;n=E+8+(n*72|0)+56|0;da=n;m=f[da+4>>2]|m;f[n>>2]=f[da>>2]|ea;f[n+4>>2]=m;n=0;m=g;break}}else{n=1;m=0}}while(0);q:do if(f[i>>2]|0)if(!(b[o+81>>0]|0))fa=261;else{k=1;l=0}else{do if((j[o+276>>1]|0)>=48){e=o+300|0;g=f[e>>2]|0;if(g|0){f[e>>2]=f[g>>2];fa=o+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=262;break q}e=o+296|0;g=f[e>>2]|0;if(!g){e=o+292|0;break}else{f[e>>2]=f[g>>2];fa=o+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=262;break q}}else e=o+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;fa=261}while(0);if((fa|0)==261){g=Dc(o,48,0)|0;fa=262}do if((fa|0)==262)if(g){M=g;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[g>>0]=-98;d[g+34>>1]=-1;f[g+24>>2]=1;fa=f[v>>2]|0;f[g+44>>2]=fa;f[g+28>>2]=f[w>>2];if((r|0)==(d[fa+40>>1]|0)){d[g+32>>1]=-1;k=0;l=g;break}else{d[g+32>>1]=r;fa=WA(1,0,(r>>>0<63?r:63)|0)|0;l=ba()|0;ea=x;l=f[ea+4>>2]|l;k=x;f[k>>2]=f[ea>>2]|fa;f[k+4>>2]=l;k=0;l=g;break}}else{k=1;l=0}while(0);i=f[ra>>2]|0;r:do if(f[i+272>>2]|0)if(!(b[i+81>>0]|0))fa=276;else{e=i;fa=280}else{do if((j[i+276>>1]|0)>=48){g=i+300|0;e=f[g>>2]|0;if(e|0){f[g>>2]=f[e>>2];fa=i+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=277;break r}g=i+296|0;e=f[g>>2]|0;if(!e){e=i+292|0;break}else{f[g>>2]=f[e>>2];fa=i+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=277;break r}}else e=i+288|0;while(0);f[e>>2]=(f[e>>2]|0)+1;fa=276}while(0);if((fa|0)==276){e=Dc(i,48,0)|0;fa=277}do if((fa|0)==277){fa=0;if(!e){e=f[ra>>2]|0;fa=280;break}M=e;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[e>>0]=53;d[e+34>>1]=-1;if(k)g=0;else{f[e+16>>2]=l;g=f[l+4>>2]&2097412;f[e+4>>2]=g}if(!n){f[e+12>>2]=m;f[e+4>>2]=f[m+4>>2]&2097412|g}jl(e);g=f[(f[ra>>2]|0)+120>>2]|0;if((g|0)<(f[e+24>>2]|0)){f[S>>2]=g;ni(ra,42710,S)}if(G)break;ea=e+4|0;f[ea>>2]=f[ea>>2]|1;d[e+36>>1]=f[l+28>>2]}while(0);do if((fa|0)==280){fa=0;if(!n)ig(e,m);if(k){e=0;break}ig(e,l);e=0}while(0);ea=kl(o,f[F>>2]|0,e)|0;f[F>>2]=ea;s=s+1|0}while((s|0)<(f[O>>2]|0))}}a=a+1|0;if((a|0)>=((f[E>>2]|0)+-1|0))break i;else{C=C+72|0;D=D+72|0}}if((fa|0)==142){f[P>>2]=0;ni(ra,50606,P);ua=2;t=va;return ua|0}else if((fa|0)==213){ni(ra,50656,R);ua=2;t=va;return ua|0}else if((fa|0)==292){f[T>>2]=o;ni(ra,50711,T);ua=2;t=va;return ua|0}}while(0);k=f[ia>>2]|0;s:do if((k|0)>0){i=0;e=0;t:while(1){g=f[ia+4+(i*20|0)>>2]|0;switch(b[g>>0]|0){case -88:break t;case -126:{if((b[f[g+16>>2]>>0]|0)==-88)break t;break}default:{}}e=f[g+4>>2]|e;i=i+1|0;if((i|0)>=(k|0)){fa=506;break s}}O=0==0?(f[(f[ra>>2]|0)+32>>2]&68|0)==4:0;P=ja+4|0;Q=ja+4|0;R=ja+4|0;S=(sa|0)==0;T=ra+196|0;U=sa+480|0;V=sa+304|0;W=ra+268|0;X=sa+308|0;Y=sa+300|0;Z=sa+272|0;_=sa+276|0;$=sa+288|0;aa=sa+296|0;ca=sa+284|0;da=sa+292|0;ea=sa+16|0;g=0;L=0;do{k=ia+4+(L*20|0)|0;i=f[k>>2]|0;e=f[i+4>>2]|e;switch(b[i>>0]|0){case -88:{K=0;fa=306;break}case -126:{if((b[f[i+16>>2]>>0]|0)==-88){K=f[(f[i+12>>2]|0)+8>>2]|0;fa=306}else fa=302;break}default:fa=302}do if((fa|0)==302){fa=0;g=ml(f[ra>>2]|0,g,i)|0;if(g|0){M=ia+4+(L*20|0)+4|0;K=(f[g>>2]|0)+-1|0;f[g+4+(K*20|0)+4>>2]=f[M>>2];N=ia+4+(L*20|0)+8|0;f[g+4+(K*20|0)+8>>2]=f[N>>2];f[M>>2]=0;f[N>>2]=0}f[k>>2]=0}else if((fa|0)==306){fa=0;if((f[ha>>2]|0)>0){I=(K|0)==0;J=(K|0)!=0;i=0;G=0;H=ga;while(1){n=f[H+16>>2]|0;l=f[H+20>>2]|0;k=f[H+12>>2]|0;if(!k)F=f[n>>2]|0;else F=k;if(b[ka>>0]|0)break;if((l|0)!=0?(f[l+8>>2]&2048|0)!=0:0){E=0;fa=322}else fa=313;do if((fa|0)==313){fa=0;if(!I){N=b[K>>0]|0;k=(h[1232+(N&255)>>0]|0)-(h[1232+(h[F>>0]|0)>>0]|0)|0;if(!(N<<24>>24==0|(k|0)!=0)){l=F;m=K;do{m=m+1|0;l=l+1|0;N=b[m>>0]|0;k=(h[1232+(N&255)>>0]|0)-(h[1232+(h[l>>0]|0)>>0]|0)|0}while(!(N<<24>>24==0|(k|0)!=0))}if(k|0)break}l=f[n+72>>2]|0;if(!l){E=50775;l=0;fa=322}else{m=f[ea>>2]|0;k=0;while(1)if((f[m+(k<<4)+12>>2]|0)==(l|0))break;else k=k+1|0;E=f[m+(k<<4)>>2]|0;l=0;fa=322}}while(0);if((fa|0)==322){fa=0;D=n+42|0;if((d[D>>1]|0)>0){w=n+4|0;x=(l|0)!=0;a=J&x;C=I&(G|0)!=0;y=H+36|0;z=H+48|0;A=(F|0)==0;B=(E|0)==0;v=0;do{r=f[w>>2]|0;u=f[r+(v<<4)>>2]|0;u:do if(a){m=f[(f[l>>2]|0)+4+(v*20|0)+8>>2]|0;k=0;v:while(1){switch(b[m+k>>0]|0){case 46:case 0:break v;default:{}}k=k+1|0}k=m+(k+1)|0;q=0;w:while(1){switch(b[k+q>>0]|0){case 46:case 0:break w;default:{}}q=q+1|0}x:do if(q|0){p=K;n=q;while(1){m=b[k>>0]|0;if(!(m<<24>>24)){fa=334;break}m=b[1232+(m&255)>>0]|0;o=b[1232+(h[p>>0]|0)>>0]|0;if(m<<24>>24!=o<<24>>24){fa=336;break}if((n|0)>1){k=k+1|0;p=p+1|0;n=n+-1|0}else break x}if((fa|0)==334){fa=0;m=0;k=b[1232+(h[p>>0]|0)>>0]|0}else if((fa|0)==336){fa=0;m=m&255;k=o}if((m|0)!=(k&255|0))break u}while(0);if(!(b[K+q>>0]|0))fa=340}else fa=340;while(0);y:do if((fa|0)==340){fa=0;if((f[ta>>2]&131072|0)==0?b[r+(v<<4)+15>>0]&2:0)break;do if(C){if(b[y>>0]&4){r=0;do{i=f[ha+8+(r*72|0)+16>>2]|0;k=d[i+42>>1]|0;if(k<<16>>16>0){p=f[i+4>>2]|0;q=h[1232+(h[u>>0]|0)>>0]|0;o=k<<16>>16;n=0;do{k=f[p+(n<<4)>>2]|0;N=b[k>>0]|0;i=(h[1232+(N&255)>>0]|0)-q|0;if(!(N<<24>>24==0|(i|0)!=0)){m=u;do{k=k+1|0;m=m+1|0;N=b[k>>0]|0;i=(h[1232+(N&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(N<<24>>24==0|(i|0)!=0))}if(!i){i=1;break y}n=n+1|0}while((n|0)<(o|0))}r=r+1|0}while(r>>>0>>0)}i=f[z>>2]|0;if(!i)break;q=f[i+4>>2]|0;if((q|0)<=0)break;o=f[i>>2]|0;p=h[1232+(h[u>>0]|0)>>0]|0;n=0;do{k=f[o+(n<<3)>>2]|0;N=b[k>>0]|0;i=(h[1232+(N&255)>>0]|0)-p|0;if(!(N<<24>>24==0|(i|0)!=0)){m=u;do{k=k+1|0;m=m+1|0;N=b[k>>0]|0;i=(h[1232+(N&255)>>0]|0)-(h[1232+(h[m>>0]|0)>>0]|0)|0}while(!(N<<24>>24==0|(i|0)!=0))}if(!i){i=1;break y}n=n+1|0}while((n|0)<(q|0))}while(0);f[ja>>2]=u;if(!u)i=0;else i=(wz(u)|0)&1073741823;f[P>>2]=i;o=Dk(sa,59,ja,0)|0;if(!O?(f[ha>>2]|0)<=1:0){s=0;r=u;i=o}else fa=365;do if((fa|0)==365){f[ja>>2]=F;if(A)i=0;else i=(wz(F)|0)&1073741823;f[Q>>2]=i;n=Dk(sa,59,ja,0)|0;m=f[ra>>2]|0;z:do if(f[m+272>>2]|0)if(!(b[m+81>>0]|0))fa=377;else{i=m;fa=381}else{do if((j[m+276>>1]|0)>=48){i=m+300|0;k=f[i>>2]|0;if(k|0){f[i>>2]=f[k>>2];fa=m+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=378;break z}i=m+296|0;k=f[i>>2]|0;if(!k){i=m+292|0;break}else{f[i>>2]=f[k>>2];fa=m+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=378;break z}}else i=m+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;fa=377}while(0);if((fa|0)==377){k=Dc(m,48,0)|0;fa=378}do if((fa|0)==378){fa=0;if(!k){i=f[ra>>2]|0;fa=381;break}M=k;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[k>>0]=-126;d[k+34>>1]=-1;if(!o)i=0;else{f[k+16>>2]=o;i=f[o+4>>2]&2097412;f[k+4>>2]=i}if(n|0){f[k+12>>2]=n;f[k+4>>2]=i|f[n+4>>2]&2097412}jl(k);i=f[(f[ra>>2]|0)+120>>2]|0;if((i|0)>=(f[k+24>>2]|0)){o=0;break}f[la>>2]=i;ni(ra,42710,la);o=0}while(0);do if((fa|0)==381){fa=0;if(n|0)ig(i,n);if(!o){k=0;o=1;break}ig(i,o);k=0;o=1}while(0);A:do if(B)i=k;else{f[ja>>2]=E;p=(wz(E)|0)&1073741823;f[R>>2]=p;p=Dk(sa,59,ja,0)|0;n=f[ra>>2]|0;B:do if(f[n+272>>2]|0)if(!(b[n+81>>0]|0))fa=401;else i=n;else{do if((j[n+276>>1]|0)>=48){m=n+300|0;i=f[m>>2]|0;if(i|0){f[m>>2]=f[i>>2];fa=n+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=402;break B}m=n+296|0;i=f[m>>2]|0;if(!i){i=n+292|0;break}else{f[m>>2]=f[i>>2];fa=n+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=402;break B}}else i=n+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;fa=401}while(0);if((fa|0)==401){i=Dc(n,48,0)|0;fa=402}do if((fa|0)==402){fa=0;if(!i){i=f[ra>>2]|0;break}M=i;N=M+48|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(N|0));b[i>>0]=-126;d[i+34>>1]=-1;if(o)k=0;else{f[i+16>>2]=k;k=f[k+4>>2]&2097412;f[i+4>>2]=k}if(p|0){f[i+12>>2]=p;f[i+4>>2]=k|f[p+4>>2]&2097412}jl(i);k=f[(f[ra>>2]|0)+120>>2]|0;if((k|0)>=(f[i+24>>2]|0))break A;f[ma>>2]=k;ni(ra,42710,ma);break A}while(0);if(p|0)ig(i,p);if(o){i=0;break}ig(i,k);i=0}while(0);if(!O){s=0;r=u;break}f[na>>2]=F;f[na+4>>2]=u;r=Ig(sa,50225,na)|0;s=r}while(0);g=ml(f[ra>>2]|0,g,i)|0;q=r;i=(r|0)==0;if(i)p=0;else p=(wz(r)|0)&1073741823;do if(g|0){o=(f[g>>2]|0)+-1|0;n=f[ra>>2]|0;C:do if(i)n=0;else{m=p+1|0;D:do if(f[n+272>>2]|0)if(!(b[n+81>>0]|0))fa=430;else{n=0;break C}else{do if(!(0>0|(0==0?m>>>0>(j[n+276>>1]|0)>>>0:0))){k=n+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];N=n+284|0;f[N>>2]=(f[N>>2]|0)+1;break D}k=n+296|0;i=f[k>>2]|0;if(!i){i=n+292|0;break}else{f[k>>2]=f[i>>2];N=n+284|0;f[N>>2]=(f[N>>2]|0)+1;break D}}else i=n+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1;fa=430}while(0);if((fa|0)==430){fa=0;i=Dc(n,m,0)|0}if(!i){n=0;break}YA(i|0,r|0,p|0)|0;b[i+p>>0]=0;n=i}while(0);f[g+4+(o*20|0)+4>>2]=n;E:do if((h[T>>0]|0)>1){m=f[ra>>2]|0;F:do if(!m){if(!(f[9328]|0)){i=ib[f[37356>>2]&255](16)|0;fa=457;break}i=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;m=71896;k=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&k>>>0>0){N=f[18187]|0;M=LA(k|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;u=ba()|0;f[17976]=((u|0)<0|(u|0)==0&M>>>0<=N>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i)break E;k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}else{if(f[m+272>>2]|0){if(b[m+81>>0]|0)break E}else{do if((j[m+276>>1]|0)>=16){k=m+300|0;i=f[k>>2]|0;if(i|0){f[k>>2]=f[i>>2];fa=m+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=457;break F}k=m+296|0;i=f[k>>2]|0;if(!i){i=m+292|0;break}else{f[k>>2]=f[i>>2];fa=m+284|0;f[fa>>2]=(f[fa>>2]|0)+1;fa=457;break F}}else i=m+288|0;while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(m,16,0)|0;fa=457}while(0);if((fa|0)==457){fa=0;if(!i)break}f[i>>2]=n;f[i+4>>2]=q;f[i+8>>2]=p;f[i+12>>2]=f[W>>2];f[W>>2]=i}while(0);if(!(f[ta>>2]&2048))break;p=(f[g>>2]|0)+-1|0;G:do if(x){n=f[(f[l>>2]|0)+4+(v*20|0)+8>>2]|0;if(!n){i=0;break}o=(wz(n)|0)+1|0;H:do if(S){N=KA(o|0,0,-1,-1)|0;M=ba()|0;if(M>>>0>0|(M|0)==0&N>>>0>2147483390){i=0;break G}if(!(f[9328]|0)){i=ib[f[37356>>2]&255](o)|0;fa=484;break}i=ib[f[37372>>2]&255](o)|0;if((f[18194]|0)>>>0>>0)f[18194]=o;m=71896;k=f[m>>2]|0;m=f[m+4>>2]|0;if((m|0)>0|(m|0)==0&k>>>0>0){N=f[18187]|0;M=LA(k|0,m|0,i|0,((i|0)<0)<<31>>31|0)|0;u=ba()|0;f[17976]=((u|0)<0|(u|0)==0&M>>>0<=N>>>0)&1}i=ib[f[37356>>2]&255](i)|0;if(!i){i=0;break G}k=ib[f[37368>>2]&255](i)|0;k=(f[18187]|0)+k|0;f[18187]=k;if(k>>>0>(f[18191]|0)>>>0)f[18191]=k;k=(f[18190]|0)+1|0;f[18190]=k;if(k>>>0<=(f[18196]|0)>>>0)break;f[18196]=k}else{if(f[Z>>2]|0){if(b[ka>>0]|0){i=0;break G}}else{do if(0<0|(0==0?(j[_>>1]|0)>>>0>>0:0))i=$;else{i=f[Y>>2]|0;if(i|0){f[Y>>2]=f[i>>2];f[ca>>2]=(f[ca>>2]|0)+1;fa=484;break H}i=f[aa>>2]|0;if(!i){i=da;break}f[aa>>2]=f[i>>2];f[ca>>2]=(f[ca>>2]|0)+1;fa=484;break H}while(0);f[i>>2]=(f[i>>2]|0)+1}i=Dc(sa,o,0)|0;fa=484}while(0);if((fa|0)==484){fa=0;if(!i){i=0;break}}YA(i|0,n|0,o|0)|0}else{f[oa>>2]=E;f[oa+4>>2]=F;f[oa+8>>2]=r;i=Ig(sa,50777,oa)|0}while(0);f[g+4+(p*20|0)+8>>2]=i;N=g+4+(p*20|0)+13|0;b[N>>0]=b[N>>0]|2}while(0);if(!s){i=1;break}do if(!S){if(f[U>>2]|0){Kc(sa,s);i=1;break y}i=s;if((f[V>>2]|0)>>>0>i>>>0)break;if((f[X>>2]|0)>>>0<=i>>>0)break;f[s>>2]=f[Y>>2];f[Y>>2]=s;i=1;break y}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](s);i=1;break}else{i=ib[f[37368>>2]&255](s)|0;f[18187]=(f[18187]|0)-i;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](s);i=1;break}}while(0);v=v+1|0}while((v|0)<(d[D>>1]|0))}}G=G+1|0;if((G|0)>=(f[ha>>2]|0))break;else H=H+72|0}if(i)break}if(!K){ni(ra,50804,qa);break}else{f[pa>>2]=K;ni(ra,50786,pa);break}}while(0);L=L+1|0}while((L|0)<(f[ia>>2]|0));jg(sa,ia);f[c>>2]=g}else{e=0;fa=506}while(0);if((fa|0)==506)g=f[c>>2]|0;if(!g){ua=0;t=va;return ua|0}if((f[g>>2]|0)>(f[sa+116>>2]|0)){ni(ra,50824,ua);ua=2;t=va;return ua|0}if(!(e&2097156)){ua=0;t=va;return ua|0}f[ta>>2]=f[ta>>2]|262144;ua=0;t=va;return ua|0}function fl(a,b){a=a|0;b=b|0;var c=0;c=(f[a>>2]|0)+260|0;if(!(f[c>>2]|0))return;if(f[b+52>>2]|0)return;a=b;while(1){b=f[a+56>>2]|0;if(!b)break;else a=b}a=f[a+64>>2]|0;if(!a)return;f[c>>2]=f[a+4>>2];return}function gl(a,b){a=a|0;b=b|0;return 0}function hl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=b+8|0;d=f[c>>2]|0;if(d&128|0)return;f[c>>2]=d|128;h=f[a>>2]|0;g=f[b+32>>2]|0;a=f[g>>2]|0;if((a|0)<=0)return;b=0;e=g+8|0;while(1){d=f[e+16>>2]|0;if((f[d+36>>2]&2|0)!=0?(i=f[e+20>>2]|0,(i|0)!=0):0){a=i;while(1){c=f[a+52>>2]|0;if(!c)break;else a=c}Wk(h,d,a);a=f[g>>2]|0}b=b+1|0;if((b|0)>=(a|0))break;else e=e+72|0}return}function il(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0;o=t;t=t+16|0;l=o;e=f[c+20>>2]|0;i=f[a>>2]|0;a:do if(!i){if(!(f[9328]|0)){g=ib[f[37356>>2]&255](80)|0;n=24;break}g=ib[f[37372>>2]&255](80)|0;if((f[18194]|0)>>>0<80)f[18194]=80;i=71896;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){m=f[18187]|0;k=LA(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;i=ba()|0;f[17976]=((i|0)<0|(i|0)==0&k>>>0<=m>>>0)&1}h=ib[f[37356>>2]&255](g)|0;if(h){g=ib[f[37368>>2]&255](h)|0;g=(f[18187]|0)+g|0;f[18187]=g;if(g>>>0>(f[18191]|0)>>>0)f[18191]=g;g=(f[18190]|0)+1|0;f[18190]=g;if(g>>>0>(f[18196]|0)>>>0){f[18196]=g;m=h}else m=h}else n=25}else{if(f[i+272>>2]|0){if(b[i+81>>0]|0){n=25;break}}else{do if((j[i+276>>1]|0)>=80){h=i+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];n=i+284|0;f[n>>2]=(f[n>>2]|0)+1;n=24;break a}h=i+296|0;g=f[h>>2]|0;if(!g){g=i+292|0;break}else{f[h>>2]=f[g>>2];n=i+284|0;f[n>>2]=(f[n>>2]|0)+1;n=24;break a}}else g=i+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(i,80,0)|0;n=24}while(0);if((n|0)==24)if(!g)n=25;else m=g;if((n|0)==25){f[c+16>>2]=0;a=7;t=o;return a|0}g=m;h=g+80|0;do{b[g>>0]=0;g=g+1|0}while((g|0)<(h|0));f[c+16>>2]=m;f[m+32>>2]=1;k=f[c+12>>2]|0;i=f[a>>2]|0;b:do if(!k){f[l>>2]=f[e+20>>2];g=Ig(i,50857,l)|0}else{c=(wz(k)|0)+1|0;c:do if(!i){l=KA(c|0,0,-1,-1)|0;i=ba()|0;if(i>>>0>0|(i|0)==0&l>>>0>2147483390){g=0;break b}if(!(f[9328]|0)){g=ib[f[37356>>2]&255](c)|0;n=51;break}g=ib[f[37372>>2]&255](c)|0;if((f[18194]|0)>>>0>>0)f[18194]=c;i=71896;h=f[i>>2]|0;i=f[i+4>>2]|0;if((i|0)>0|(i|0)==0&h>>>0>0){l=f[18187]|0;i=LA(h|0,i|0,g|0,((g|0)<0)<<31>>31|0)|0;h=ba()|0;f[17976]=((h|0)<0|(h|0)==0&i>>>0<=l>>>0)&1}g=ib[f[37356>>2]&255](g)|0;if(!g){g=0;break b}h=ib[f[37368>>2]&255](g)|0;h=(f[18187]|0)+h|0;f[18187]=h;if(h>>>0>(f[18191]|0)>>>0)f[18191]=h;h=(f[18190]|0)+1|0;f[18190]=h;if(h>>>0>(f[18196]|0)>>>0)f[18196]=h}else{if(f[i+272>>2]|0){if(b[i+81>>0]|0){g=0;break b}}else{do if(!(0<0|(0==0?(j[i+276>>1]|0)>>>0>>0:0))){h=i+300|0;g=f[h>>2]|0;if(g|0){f[h>>2]=f[g>>2];n=i+284|0;f[n>>2]=(f[n>>2]|0)+1;n=51;break c}h=i+296|0;g=f[h>>2]|0;if(!g){g=i+292|0;break}else{f[h>>2]=f[g>>2];n=i+284|0;f[n>>2]=(f[n>>2]|0)+1;n=51;break c}}else g=i+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1}g=Dc(i,c,0)|0;n=51}while(0);if((n|0)==51)if(!g){g=0;break}YA(g|0,k|0,c|0)|0}while(0);f[m>>2]=g;while(1){g=f[e+52>>2]|0;if(!g)break;else e=g}Vk(f[a>>2]|0,f[e>>2]|0,m+42|0,m+4|0);d[m+40>>1]=-1;d[m+44>>1]=200;a=m+36|0;f[a>>2]=f[a>>2]|2;a=0;t=o;return a|0}function jl(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=f[a+12>>2]|0;if(!b)b=0;else{b=f[b+24>>2]|0;b=(b|0)>0?b:0}c=f[a+16>>2]|0;if(c){k=f[c+24>>2]|0;b=(k|0)>(b|0)?k:b}j=a+4|0;k=f[j>>2]|0;c=a+20|0;if(!(k&2048)){h=f[c>>2]|0;if(!h){m=b;m=m+1|0;a=a+24|0;f[a>>2]=m;return}i=f[h>>2]|0;g=(i|0)>0;if(g){e=0;d=i;while(1){c=f[h+4+(e*20|0)>>2]|0;if(!c)c=d;else{m=f[c+24>>2]|0;c=(m|0)>(b|0);b=c?m:b;c=c?i:d}e=e+1|0;if((e|0)>=(c|0))break;else d=c}if(g){c=0;d=0;do{c=f[(f[h+4+(d*20|0)>>2]|0)+4>>2]|c;d=d+1|0}while((d|0)!=(i|0));c=c&2097412}else c=0}else c=0;f[j>>2]=c|k;m=b;m=m+1|0;a=a+24|0;f[a>>2]=m;return}c=f[c>>2]|0;if(!c){m=b;m=m+1|0;a=a+24|0;f[a>>2]=m;return}do{d=f[c+36>>2]|0;if(d){k=f[d+24>>2]|0;b=(k|0)>(b|0)?k:b}d=f[c+44>>2]|0;if(d){k=f[d+24>>2]|0;b=(k|0)>(b|0)?k:b}d=f[c+60>>2]|0;if(d){k=f[d+24>>2]|0;b=(k|0)>(b|0)?k:b}h=f[c>>2]|0;if((h|0)!=0?(i=f[h>>2]|0,(i|0)>0):0){g=0;e=i;while(1){d=f[h+4+(g*20|0)>>2]|0;if(!d)d=e;else{k=f[d+24>>2]|0;d=(k|0)>(b|0);b=d?k:b;d=d?i:e}g=g+1|0;if((g|0)>=(d|0))break;else e=d}}h=f[c+40>>2]|0;if((h|0)!=0?(l=f[h>>2]|0,(l|0)>0):0){g=0;e=l;while(1){d=f[h+4+(g*20|0)>>2]|0;if(!d)d=e;else{k=f[d+24>>2]|0;d=(k|0)>(b|0);b=d?k:b;d=d?l:e}g=g+1|0;if((g|0)>=(d|0))break;else e=d}}h=f[c+48>>2]|0;if((h|0)!=0?(m=f[h>>2]|0,(m|0)>0):0){g=0;e=m;while(1){d=f[h+4+(g*20|0)>>2]|0;if(!d)d=e;else{k=f[d+24>>2]|0;d=(k|0)>(b|0);b=d?k:b;d=d?m:e}g=g+1|0;if((g|0)>=(d|0))break;else e=d}}c=f[c+52>>2]|0}while((c|0)!=0);m=b+1|0;a=a+24|0;f[a>>2]=m;return}function kl(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0;m=t;t=t+16|0;g=m;if(!c){l=e;t=m;return l|0}if(!e){l=c;t=m;return l|0}f[g>>2]=0;l=c+4|0;if((f[l>>2]&1|0)==0?(Ak(c,g)|0)!=0:0)if(!(f[g>>2]|0)){ig(a,c);ig(a,e)}else i=7;else i=7;do if((i|0)==7){f[g>>2]=0;k=e+4|0;if((f[k>>2]&1|0)==0?(Ak(e,g)|0)!=0:0){if(!(f[g>>2]|0)){ig(a,c);ig(a,e);break}}else i=9;a:do if(f[a+272>>2]|0){if(!(b[a+81>>0]|0))i=24}else{do if((j[a+276>>1]|0)>=48){g=a+300|0;h=f[g>>2]|0;if(h|0){f[g>>2]=f[h>>2];i=a+284|0;f[i>>2]=(f[i>>2]|0)+1;i=25;break a}g=a+296|0;h=f[g>>2]|0;if(!h){g=a+292|0;break}else{f[g>>2]=f[h>>2];i=a+284|0;f[i>>2]=(f[i>>2]|0)+1;i=25;break a}}else g=a+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;i=24}while(0);if((i|0)==24){h=Dc(a,48,0)|0;i=25}if((i|0)==25?h|0:0){g=h;i=g+48|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));b[h>>0]=44;d[h+34>>1]=-1;f[h+24>>2]=1;f[h+16>>2]=e;k=f[k>>2]&2097412;e=h+4|0;f[e>>2]=k;f[h+12>>2]=c;f[e>>2]=k|f[l>>2]&2097412;jl(h);l=h;t=m;return l|0}ig(a,c);ig(a,e);l=0;t=m;return l|0}while(0);l=Dk(a,143,10016,0)|0;t=m;return l|0}function ll(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0;if(!a)return;j=c&65535;do{g=a+4|0;f[g>>2]=f[g>>2]|1;d[a+36>>1]=j;if(((b[a>>0]|0)==-99?(h=a+20|0,i=f[h>>2]|0,i|0):0)?(f[i>>2]|0)>0:0){e=0;g=i;do{ll(f[g+4+(e*20|0)>>2]|0,c);e=e+1|0;g=f[h>>2]|0}while((e|0)<(f[g>>2]|0))}ll(f[a+12>>2]|0,c);a=f[a+16>>2]|0}while((a|0)!=0);return}function ml(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;a:do if(!c){b:do if(f[a+272>>2]|0)if(!(b[a+81>>0]|0))g=12;else{c=0;break a}else{do if((j[a+276>>1]|0)>=24){e=a+300|0;c=f[e>>2]|0;if(c|0){f[e>>2]=f[c>>2];e=a+284|0;f[e>>2]=(f[e>>2]|0)+1;break b}e=a+296|0;c=f[e>>2]|0;if(!c){c=a+292|0;break}else{f[e>>2]=f[c>>2];e=a+284|0;f[e>>2]=(f[e>>2]|0)+1;break b}}else c=a+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;g=12}while(0);if((g|0)==12)c=Dc(a,24,0)|0;if(c){f[c>>2]=0;g=20}}else{e=f[c>>2]|0;if(!(e+-1&e)){e=e*40|4;h=c;if(((f[a+304>>2]|0)>>>0<=h>>>0?(f[a+308>>2]|0)>>>0>h>>>0:0)?!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0)):0){g=20;break}e=Lc(a,c,e,0)|0;if(e){c=e;g=20}}else g=20}while(0);if((g|0)==20){h=f[c>>2]|0;f[c>>2]=h+1;g=c+4+(h*20|0)+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[c+4+(h*20|0)>>2]=d;h=c;return h|0}if(d|0)ig(a,d);if(!c){h=0;return h|0}jg(a,c);h=0;return h|0}function nl(a,c,d,e,g,i,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0;s=t;t=t+16|0;m=s;r=f[a>>2]|0;do if(!c){c=(k|0)!=0;if(c|(l|0)!=0){f[m>>2]=c?50869:50872;ni(a,50878,m);break}else{q=ol(r,0,d,e)|0;n=6;break}}else{q=ol(r,c,d,e)|0;n=6}while(0);if((n|0)==6?q|0:0){o=(f[q>>2]|0)+-1|0;a:do if((h[a+196>>0]|0)>1?(p=f[q+8+(o*72|0)+8>>2]|0,p|0):0){if(!((e|0)!=0?(f[e>>2]|0)!=0:0))e=d;d=f[a>>2]|0;b:do if(!d){if(!(f[9328]|0)){c=ib[f[37356>>2]&255](16)|0;n=35;break}c=ib[f[37372>>2]&255](16)|0;if((f[18194]|0)>>>0<16)f[18194]=16;d=71896;m=f[d>>2]|0;d=f[d+4>>2]|0;if((d|0)>0|(d|0)==0&m>>>0>0){u=f[18187]|0;d=LA(m|0,d|0,c|0,((c|0)<0)<<31>>31|0)|0;m=ba()|0;f[17976]=((m|0)<0|(m|0)==0&d>>>0<=u>>>0)&1}c=ib[f[37356>>2]&255](c)|0;if(!c)break a;m=ib[f[37368>>2]&255](c)|0;m=(f[18187]|0)+m|0;f[18187]=m;if(m>>>0>(f[18191]|0)>>>0)f[18191]=m;m=(f[18190]|0)+1|0;f[18190]=m;if(m>>>0>(f[18196]|0)>>>0)f[18196]=m}else{if(f[d+272>>2]|0){if(b[d+81>>0]|0)break a}else{do if((j[d+276>>1]|0)>=16){m=d+300|0;c=f[m>>2]|0;if(c|0){f[m>>2]=f[c>>2];n=d+284|0;f[n>>2]=(f[n>>2]|0)+1;n=35;break b}m=d+296|0;c=f[m>>2]|0;if(!c){c=d+292|0;break}else{f[m>>2]=f[c>>2];n=d+284|0;f[n>>2]=(f[n>>2]|0)+1;n=35;break b}}else c=d+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1}c=Dc(d,16,0)|0;n=35}while(0);if((n|0)==35)if(!c)break;m=c+4|0;d=m+12|0;do{b[m>>0]=0;m=m+1|0}while((m|0)<(d|0));f[c>>2]=p;n=e;p=f[n+4>>2]|0;u=c+4|0;f[u>>2]=f[n>>2];f[u+4>>2]=p;u=a+268|0;f[c+12>>2]=f[u>>2];f[u>>2]=c}while(0);if(f[g+4>>2]|0){u=pl(r,g)|0;f[q+8+(o*72|0)+12>>2]=u}f[q+8+(o*72|0)+20>>2]=i;f[q+8+(o*72|0)+44>>2]=k;f[q+8+(o*72|0)+48>>2]=l;u=q;t=s;return u|0}if(k|0)ig(r,k);do if(l|0){a=l+4|0;c=f[l>>2]|0;c:do if((f[a>>2]|0)>0){d=r+480|0;e=r+304|0;n=r+308|0;o=r+300|0;if(!r){m=0;while(1){c=f[c+(m<<3)>>2]|0;do if(c|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{u=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}while(0);m=m+1|0;c=f[l>>2]|0;if((m|0)>=(f[a>>2]|0))break c}}m=0;do{c=f[c+(m<<3)>>2]|0;do if(c|0){if(f[d>>2]|0){Kc(r,c);break}u=c;if((f[e>>2]|0)>>>0<=u>>>0?(f[n>>2]|0)>>>0>u>>>0:0){f[c>>2]=f[o>>2];f[o>>2]=c;break}if(!(f[9328]|0)){ob[f[37360>>2]&127](c);break}else{u=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);break}}while(0);m=m+1|0;c=f[l>>2]|0}while((m|0)<(f[a>>2]|0))}while(0);d:do if(c){do if(r|0){m=r+480|0;if(!(f[m>>2]|0)){d=c;if((f[r+304>>2]|0)>>>0>d>>>0)break;if((f[r+308>>2]|0)>>>0<=d>>>0)break;u=r+300|0;f[c>>2]=f[u>>2];f[u>>2]=c}else Kc(r,c);c=m;n=75;break d}while(0);if(!(f[9328]|0)){ob[f[37360>>2]&127](c);n=73;break}else{n=ib[f[37368>>2]&255](c)|0;f[18187]=(f[18187]|0)-n;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](c);n=73;break}}else n=73;while(0);if((n|0)==73)if(r){c=r+480|0;n=75}if((n|0)==75){if(f[c>>2]|0){Kc(r,l);break}u=l;if((f[r+304>>2]|0)>>>0<=u>>>0?(f[r+308>>2]|0)>>>0>u>>>0:0){u=r+300|0;f[l>>2]=f[u>>2];f[u>>2]=l;break}}if(l|0)if(!(f[9328]|0)){ob[f[37360>>2]&127](l);break}else{u=ib[f[37368>>2]&255](l)|0;f[18187]=(f[18187]|0)-u;f[18190]=(f[18190]|0)+-1;ob[f[37360>>2]&127](l);break}}while(0);if(!i){u=0;t=s;return u|0}mg(r,i,1);u=0;t=s;return u|0}function ol(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,k=0,l=0,m=0;do if(!c){a:do if(f[a+272>>2]|0)if(!(b[a+81>>0]|0))k=12;else{e=0;return e|0}else{do if((j[a+276>>1]|0)>=80){g=a+300|0;c=f[g>>2]|0;if(c|0){f[g>>2]=f[c>>2];g=a+284|0;f[g>>2]=(f[g>>2]|0)+1;g=c;break a}g=a+296|0;c=f[g>>2]|0;if(!c){g=a+292|0;break}else{f[g>>2]=f[c>>2];g=a+284|0;f[g>>2]=(f[g>>2]|0)+1;g=c;break a}}else g=a+288|0;while(0);f[g>>2]=(f[g>>2]|0)+1;k=12}while(0);if((k|0)==12)g=Dc(a,80,0)|0;if(!g){e=0;return e|0}else{f[g+4>>2]=1;f[g>>2]=1;i=g+8|0;k=i+72|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(k|0));c=g;g=g+48|0;k=30;break}}else{m=f[c>>2]|0;if((m+1|0)>>>0>(f[c+4>>2]|0)>>>0){h=((m<<1|1)*72|0)+8|0;l=c;i=a+304|0;g=f[i>>2]|0;if(!((g>>>0<=l>>>0?(f[a+308>>2]|0)>>>0>l>>>0:0)?!(0<0|(0==0?(j[a+276>>1]|0)>>>0>>0:0)):0)){g=Lc(a,c,h,0)|0;if(!g)break;c=g;g=f[i>>2]|0}l=c;if(g>>>0<=l>>>0?(f[a+308>>2]|0)>>>0>l>>>0:0)g=j[a+276>>1]|0;else g=ib[f[37368>>2]&255](c)|0;f[c+4>>2]=(((g+-80|0)>>>0)/72|0)+1;g=f[c>>2]|0;if((g|0)>(m|0)){do{i=c+8+(g*72|0)|0;g=g+-1|0;h=c+8+(g*72|0)|0;k=i+72|0;do{f[i>>2]=f[h>>2];i=i+4|0;h=h+4|0}while((i|0)<(k|0))}while((g|0)>(m|0));l=c;h=c;g=f[c>>2]|0}else{l=c;h=c}}else{l=c;h=c;g=m}f[h>>2]=g+1;i=l+8+(m*72|0)|0;k=i+72|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(k|0));c=l;g=l+8+(m*72|0)+40|0;k=30}while(0);if((k|0)==30)f[g>>2]=-1;if(b[a+81>>0]|0){ng(a,c);e=0;return e|0}g=(f[c>>2]|0)+-1|0;if(e|0?f[e>>2]|0:0){e=pl(a,e)|0;f[c+8+(g*72|0)+8>>2]=e;e=pl(a,d)|0;f[c+8+(g*72|0)+4>>2]=e;e=c;return e|0}e=pl(a,d)|0;f[c+8+(g*72|0)+8>>2]=e;f[c+8+(g*72|0)+4>>2]=0;e=c;return e|0}function pl(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,k=0;if(!c){k=0;return k|0}k=f[c>>2]|0;h=f[c+4>>2]|0;if(!k){k=0;return k|0}e=KA(h|0,0,1,0)|0;g=ba()|0;a:do if(f[a+272>>2]|0)if(!(b[a+81>>0]|0))i=13;else{k=0;return k|0}else{do if(0<0|(0==0?h>>>0<(j[a+276>>1]|0)>>>0:0)){c=a+300|0;d=f[c>>2]|0;if(d|0){f[c>>2]=f[d>>2];a=a+284|0;f[a>>2]=(f[a>>2]|0)+1;a=d;break a}c=a+296|0;d=f[c>>2]|0;if(!d){c=a+292|0;break}else{f[c>>2]=f[d>>2];a=a+284|0;f[a>>2]=(f[a>>2]|0)+1;a=d;break a}}else c=a+288|0;while(0);f[c>>2]=(f[c>>2]|0)+1;i=13}while(0);if((i|0)==13)a=Dc(a,e,g)|0;if(!a){k=0;return k|0}YA(a|0,k|0,h|0)|0;b[a+h>>0]=0;c=b[a>>0]|0;if((b[5472+(c&255)>>0]|0)>=0){k=a;return k|0}g=c<<24>>24==91?93:c;e=0;c=1;while(1){d=b[a+c>>0]|0;if(d<<24>>24==g<<24>>24){c=c+1|0;d=a+e|0;if((b[a+c>>0]|0)!=g<<24>>24)break;b[d>>0]=g}else b[a+e>>0]=d;e=e+1|0;c=c+1|0}b[d>>0]=0;k=a;return k|0} - -// EMSCRIPTEN_END_FUNCS -var hb=[JQ,bB,cB,dB,eB,fB,gB,hB,iB,jB,kB,lB,mB,nB,oB,pB,qB,rB,sB,tB,uB,vB,wB,xB,yB,zB,AB,BB,CB,DB,EB,FB,GB,HB,IB,JB,KB,LB,MB,NB,OB,PB,QB,RB,SB,TB,UB,VB,WB,XB,YB,ZB,_B,$B,aC,bC,cC,dC,eC,fC,gC,hC,iC,jC,kC,vA,ud,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ,JQ];var ib=[KQ,mC,nC,oC,pC,qC,rC,sC,tC,uC,vC,wC,xC,yC,zC,AC,BC,CC,DC,EC,FC,GC,HC,IC,JC,KC,LC,MC,NC,OC,PC,QC,RC,SC,TC,UC,VC,WC,XC,YC,ZC,_C,$C,aD,bD,cD,dD,eD,fD,gD,hD,iD,jD,kD,lD,mD,nD,oD,pD,qD,rD,sD,tD,uD,vD,cp,fp,gp,hp,Sd,Wd,ad,kd,ld,Jz,tA,wA,Bd,Jd,Xg,vi,xi,zi,Ai,vx,wx,yx,Ax,Bx,Fx,Gx,Hx,Ix,Ox,lv,mv,ov,qv,rv,av,cv,ev,fv,Wu,Yu,Nu,Pu,Hu,Ju,Ps,Qs,Ss,Us,Vs,Zs,_s,$s,at,gt,zs,Bs,Ds,Es,Kr,Lr,Nr,Pr,Qr,Ur,Vr,Yr,Oq,Qq,Sq,Tq,fy,gy,ky,oy,ef,tk,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ,KQ];var jb=[LQ,xD,yD,zD,AD,BD,CD,DD,ED,FD,GD,HD,ID,JD,KD,LD,MD,ND,OD,PD,QD,RD,SD,TD,UD,VD,WD,XD,YD,ZD,_D,$D,aE,bE,cE,dE,eE,fE,gE,hE,iE,jE,kE,lE,mE,nE,oE,pE,qE,rE,sE,tE,uE,vE,wE,xE,yE,zE,AE,BE,CE,DE,EE,FE,GE,ep,Uc,Vc,Xc,Zc,_c,Rd,Ad,$c,ed,fd,gd,hd,id,od,Mz,Vz,Lz,Tz,qA,CA,td,Zz,_z,Kz,Cd,Dd,Ed,Kd,Ld,Md,$g,ah,ui,wi,Ci,ux,xx,Dx,Kx,Lx,Mx,Nx,kv,nv,tv,$u,bv,hv,Os,Rs,Xs,ct,dt,et,ft,ys,As,Gs,Jr,Mr,Sr,Wr,Xr,Nq,jr,Vq,Pq,hy,ly,my,ty,uc,vc,_o,$o,Wo,Xo,cl,dl,el,li,mi,gl,Qg,Qh,Sk,rk,Ok,Jl,jm,km,jo,ko,lo,uo,Do,Eo,Go,ao,zn,Nn,Mn,fj,ho,Lo,Hs,Is,zt,tt,ut,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ,LQ];var kb=[MQ,IE,JE,KE,LE,ME,NE,OE,PE,QE,RE,SE,TE,UE,VE,WE,XE,YE,ZE,_E,$E,aF,bF,cF,dF,eF,fF,gF,hF,iF,jF,kF,lF,mF,nF,oF,pF,qF,rF,sF,tF,uF,vF,wF,xF,yF,zF,AF,BF,CF,DF,EF,FF,GF,HF,IF,JF,KF,LF,MF,NF,OF,PF,QF,RF,Ud,Xd,Qc,Tc,Wc,Yc,dd,jd,sd,Az,Xz,Wz,uA,Sz,_g,Bi,Cx,sv,gv,Vu,Mu,Gu,Ws,Fs,Rr,Uq,iy,qy,sy,qk,pk,ok,an,Jt,gu,fu,Ft,Kt,Nt,Pt,Ew,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ,MQ];var lb=[NQ,TF,UF,VF,WF,XF,YF,ZF,_F,$F,aG,bG,cG,dG,eG,fG,gG,hG,iG,jG,kG,lG,mG,nG,oG,pG,qG,rG,sG,tG,uG,vG,wG,xG,yG,zG,AG,BG,CG,DG,EG,FG,GG,HG,IG,JG,KG,LG,MG,NG,OG,PG,QG,RG,SG,TG,UG,VG,WG,XG,YG,ZG,_G,$G,aH,Rc,Sc,md,qd,Ex,nw,qw,tw,Xu,Ou,Iu,Ys,Tr,py,ry,wy,th,uh,vj,Pj,$m,zq,Js,Ks,Yp,_p,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ,NQ];var mb=[OQ,cH,dH,eH,fH,gH,hH,iH,jH,kH,lH,mH,nH,oH,pH,qH,rH,sH,tH,uH,vH,wH,xH,yH,zH,AH,BH,CH,DH,EH,FH,GH,HH,IH,JH,KH,LH,MH,NH,OH,PH,QH,RH,SH,TH,UH,VH,WH,XH,YH,ZH,_H,$H,aI,bI,cI,dI,eI,fI,gI,hI,iI,jI,kI,lI,Pc,bd,cd,pd,Nd,Yg,Zg,yi,zx,Jx,pv,dv,Ts,bt,Cs,Or,Rq,jy,ny,uy,_n,wq,xq,yq,gs,hs,hx,gx,dx,ex,fx,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ,OQ];var nb=[PQ,nI,oI,pI,qI,rI,sI,tI,uI,vI,wI,xI,yI,zI,AI,BI,CI,DI,EI,FI,GI,HI,II,JI,KI,LI,MI,NI,OI,PI,QI,RI,SI,TI,UI,VI,WI,XI,YI,ZI,_I,$I,aJ,bJ,cJ,dJ,eJ,fJ,gJ,hJ,iJ,jJ,kJ,lJ,mJ,nJ,oJ,pJ,qJ,rJ,sJ,tJ,uJ,vJ,wJ,DA,ti,sx,tx,pw,sw,vw,iv,jv,_u,Zu,Qu,Ku,Ms,Ns,xs,Hr,Ir,Mq,$j,ak,bk,ww,Hw,Gw,cx,Py,Sy,Gy,zy,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ,PQ];var ob=[QQ,yJ,zJ,AJ,BJ,CJ,DJ,EJ,FJ,GJ,HJ,IJ,JJ,KJ,LJ,MJ,NJ,OJ,PJ,QJ,RJ,SJ,TJ,UJ,VJ,WJ,XJ,YJ,ZJ,_J,$J,aK,bK,cK,dK,eK,fK,gK,hK,iK,jK,kK,lK,mK,nK,oK,pK,qK,rK,sK,tK,uK,vK,wK,xK,yK,zK,AK,BK,CK,DK,EK,FK,GK,HK,dp,ip,Hf,Kf,Mf,Of,Qf,Sf,Uf,Vf,Xf,oe,pe,Oe,Qe,Re,Te,We,Xe,Td,$d,ae,nd,ow,rw,uw,lr,mr,or,pr,lc,mc,oc,pc,qc,rc,he,Dj,sk,Nj,sm,Wh,Aq,Hq,Er,zp,Ht,QQ,QQ,QQ,QQ,QQ,QQ,QQ,QQ,QQ,QQ,QQ,QQ,QQ,QQ,QQ,QQ];var pb=[RQ,JK,KK,LK,MK,NK,OK,PK,QK,RK,SK,TK,UK,VK,WK,XK,YK,ZK,_K,$K,aL,bL,cL,dL,eL,fL,gL,hL,iL,jL,kL,lL,mL,nL,oL,pL,qL,rL,sL,tL,uL,vL,wL,xL,yL,zL,AL,BL,CL,DL,EL,FL,GL,HL,IL,JL,KL,LL,ML,NL,OL,PL,QL,RL,SL,Vd,_d,fl,hl,Fo,Nv,Ov,Pv,Qv,Rv,Sv,Vv,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ,RQ];var qb=[SQ,UL,VL,WL,XL,YL,ZL,_L,$L,aM,bM,cM,dM,eM,fM,gM,hM,iM,jM,kM,lM,mM,nM,oM,pM,qM,rM,sM,tM,uM,vM,wM,xM,yM,zM,AM,BM,CM,DM,EM,FM,GM,HM,IM,JM,KM,LM,MM,NM,OM,PM,QM,RM,SM,TM,UM,VM,WM,XM,YM,ZM,_M,$M,aN,bN,Ab,Bb,Cb,Db,Eb,Fb,Gb,Hb,Ib,Jb,Kb,Lb,Mb,Nb,Ob,Pb,Qb,Rb,Sb,Tb,Ub,Vb,Wb,Xb,Yb,Zb,_b,$b,ac,bc,cc,dc,ec,fc,gc,hc,ic,jc,_f,$f,ag,Gf,If,Jf,Lf,Nf,Pf,Rf,Tf,Wf,sf,tf,uf,vf,wf,xf,yf,zf,ie,je,ke,le,me,ne,qe,re,se,te,ue,ve,we,xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,Je,Ke,Le,Me,Ne,Pe,Se,Ue,Ve,Ye,Ze,Yd,Rm,Qm,rm,qm,pm,Iw,Jw,Kw,Lw,sr,tr,ur,vr,wr,xr,yr,zr,Ar,Br,Cr,kr,nr,Bt,Ct,Dt,Et,xy,kc,nc,Rg,Sh,Rh,sq,Bq,Cq,Dq,Eq,Gq,Iq,Jq,Kq,Lq,Lv,Mv,Wv,Xv,Yv,ey,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ,SQ];var rb=[TQ,dN,eN,fN,gN,hN,iN,jN,kN,lN,mN,nN,oN,pN,qN,rN,sN,tN,uN,vN,wN,xN,yN,zN,AN,BN,CN,DN,EN,FN,GN,HN,IN,JN,KN,LN,MN,NN,ON,PN,QN,RN,SN,TN,UN,VN,WN,XN,YN,ZN,_N,$N,aO,bO,cO,dO,eO,fO,gO,hO,iO,jO,kO,lO,mO,Zd,vy,xc,zc,aw,cw,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ,TQ];var sb=[UQ,oO,pO,qO,rO,sO,tO,uO,vO,wO,xO,yO,zO,AO,BO,CO,DO,EO,FO,GO,HO,IO,JO,KO,LO,MO,NO,OO,PO,QO,RO,SO,TO,UO,VO,WO,XO,YO,ZO,_O,$O,aP,bP,cP,dP,eP,fP,gP,hP,iP,jP,kP,lP,mP,nP,oP,pP,qP,rP,sP,tP,uP,vP,wP,xP,Bw,Cw,Dw,Jv,Kv,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ,UQ];var tb=[VQ,zP,AP,BP,CP,DP,EP,FP,GP,HP,IP,JP,KP,LP,MP,NP,OP,PP,QP,RP,SP,TP,UP,VP,WP,XP,YP,ZP,_P,$P,aQ,bQ,cQ,dQ,eQ,fQ,gQ,hQ,iQ,jQ,kQ,lQ,mQ,nQ,oQ,pQ,qQ,rQ,sQ,tQ,uQ,vQ,wQ,xQ,yQ,zQ,AQ,BQ,CQ,DQ,EQ,FQ,GQ,HQ,IQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ];return{_RegisterExtensionFunctions:zb,___divdi3:OA,___emscripten_environ_constructor:FA,___errno_location:mz,___muldi3:QA,___remdi3:RA,___udivdi3:SA,___uremdi3:TA,__get_daylight:HA,__get_environ:JA,__get_timezone:IA,__get_tzname:GA,_bitshift64Ashr:UA,_bitshift64Lshr:VA,_bitshift64Shl:WA,_emscripten_replace_memory:gb,_free:ez,_i64Add:KA,_i64Subtract:LA,_llvm_bswap_i32:XA,_malloc:dz,_memalign:jz,_memcpy:YA,_memmove:ZA,_memset:_A,_sbrk:$A,_sqlite3_bind_blob:Np,_sqlite3_bind_double:Pp,_sqlite3_bind_int:Qp,_sqlite3_bind_parameter_index:Up,_sqlite3_bind_text:Rp,_sqlite3_changes:hq,_sqlite3_clear_bindings:np,_sqlite3_close_v2:mq,_sqlite3_column_blob:Fp,_sqlite3_column_bytes:Gp,_sqlite3_column_double:Hp,_sqlite3_column_name:Mp,_sqlite3_column_text:Kp,_sqlite3_column_type:Lp,_sqlite3_create_function_v2:oq,_sqlite3_data_count:Ep,_sqlite3_errmsg:Mj,_sqlite3_exec:uj,_sqlite3_finalize:Fi,_sqlite3_free:he,_sqlite3_open:tq,_sqlite3_prepare_v2:bq,_sqlite3_reset:mp,_sqlite3_result_double:up,_sqlite3_result_null:yp,_sqlite3_result_text:Ap,_sqlite3_step:Ei,_sqlite3_value_blob:lf,_sqlite3_value_bytes:pp,_sqlite3_value_double:qp,_sqlite3_value_int:rp,_sqlite3_value_text:op,_sqlite3_value_type:tp,dynCall_i:aB,dynCall_ii:lC,dynCall_iii:wD,dynCall_iiii:HE,dynCall_iiiii:SF,dynCall_iiiiii:bH,dynCall_iiiiiii:mI,dynCall_vi:xJ,dynCall_vii:IK,dynCall_viii:TL,dynCall_viiii:cN,dynCall_viiiii:nO,dynCall_viiiiii:yP,establishStackSpace:xb,setThrew:yb,stackAlloc:ub,stackRestore:wb,stackSave:vb}}) - - -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=asm["_RegisterExtensionFunctions"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=asm["___emscripten_environ_constructor"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___remdi3=Module["___remdi3"]=asm["___remdi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var __get_daylight=Module["__get_daylight"]=asm["__get_daylight"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var __get_timezone=Module["__get_timezone"]=asm["__get_timezone"];var __get_tzname=Module["__get_tzname"]=asm["__get_tzname"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memalign=Module["_memalign"]=asm["_memalign"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=asm["_sqlite3_bind_blob"];var _sqlite3_bind_double=Module["_sqlite3_bind_double"]=asm["_sqlite3_bind_double"];var _sqlite3_bind_int=Module["_sqlite3_bind_int"]=asm["_sqlite3_bind_int"];var _sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=asm["_sqlite3_bind_parameter_index"];var _sqlite3_bind_text=Module["_sqlite3_bind_text"]=asm["_sqlite3_bind_text"];var _sqlite3_changes=Module["_sqlite3_changes"]=asm["_sqlite3_changes"];var _sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=asm["_sqlite3_clear_bindings"];var _sqlite3_close_v2=Module["_sqlite3_close_v2"]=asm["_sqlite3_close_v2"];var _sqlite3_column_blob=Module["_sqlite3_column_blob"]=asm["_sqlite3_column_blob"];var _sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=asm["_sqlite3_column_bytes"];var _sqlite3_column_double=Module["_sqlite3_column_double"]=asm["_sqlite3_column_double"];var _sqlite3_column_name=Module["_sqlite3_column_name"]=asm["_sqlite3_column_name"];var _sqlite3_column_text=Module["_sqlite3_column_text"]=asm["_sqlite3_column_text"];var _sqlite3_column_type=Module["_sqlite3_column_type"]=asm["_sqlite3_column_type"];var _sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=asm["_sqlite3_create_function_v2"];var _sqlite3_data_count=Module["_sqlite3_data_count"]=asm["_sqlite3_data_count"];var _sqlite3_errmsg=Module["_sqlite3_errmsg"]=asm["_sqlite3_errmsg"];var _sqlite3_exec=Module["_sqlite3_exec"]=asm["_sqlite3_exec"];var _sqlite3_finalize=Module["_sqlite3_finalize"]=asm["_sqlite3_finalize"];var _sqlite3_free=Module["_sqlite3_free"]=asm["_sqlite3_free"];var _sqlite3_open=Module["_sqlite3_open"]=asm["_sqlite3_open"];var _sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=asm["_sqlite3_prepare_v2"];var _sqlite3_reset=Module["_sqlite3_reset"]=asm["_sqlite3_reset"];var _sqlite3_result_double=Module["_sqlite3_result_double"]=asm["_sqlite3_result_double"];var _sqlite3_result_null=Module["_sqlite3_result_null"]=asm["_sqlite3_result_null"];var _sqlite3_result_text=Module["_sqlite3_result_text"]=asm["_sqlite3_result_text"];var _sqlite3_step=Module["_sqlite3_step"]=asm["_sqlite3_step"];var _sqlite3_value_blob=Module["_sqlite3_value_blob"]=asm["_sqlite3_value_blob"];var _sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=asm["_sqlite3_value_bytes"];var _sqlite3_value_double=Module["_sqlite3_value_double"]=asm["_sqlite3_value_double"];var _sqlite3_value_int=Module["_sqlite3_value_int"]=asm["_sqlite3_value_int"];var _sqlite3_value_text=Module["_sqlite3_value_text"]=asm["_sqlite3_value_text"];var _sqlite3_value_type=Module["_sqlite3_value_type"]=asm["_sqlite3_value_type"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;Module["cwrap"]=cwrap;Module["stackSave"]=stackSave;Module["stackRestore"]=stackRestore;Module["stackAlloc"]=stackAlloc;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();var Database,NULL,RegisterExtensionFunctions,SQLite,Statement,apiTemp,i,sqlite3_bind_blob,sqlite3_bind_double,sqlite3_bind_int,sqlite3_bind_parameter_index,sqlite3_bind_text,sqlite3_changes,sqlite3_clear_bindings,sqlite3_close_v2,sqlite3_column_blob,sqlite3_column_bytes,sqlite3_column_double,sqlite3_column_name,sqlite3_column_text,sqlite3_column_type,sqlite3_create_function_v2,sqlite3_data_count,sqlite3_errmsg,sqlite3_exec,sqlite3_finalize,sqlite3_free,sqlite3_open,sqlite3_prepare_v2,sqlite3_prepare_v2_sqlptr,sqlite3_reset,sqlite3_result_double,sqlite3_result_null,sqlite3_result_text,sqlite3_step,sqlite3_value_blob,sqlite3_value_bytes,sqlite3_value_double,sqlite3_value_int,sqlite3_value_text,sqlite3_value_type;apiTemp=stackAlloc(4);SQLite={};Statement=(function(){function Statement(stmt1,db){this.stmt=stmt1;this.db=db;this.pos=1;this.allocatedmem=[]}Statement.prototype["bind"]=(function(values){if(!this.stmt){throw"Statement closed"}this["reset"]();if(Array.isArray(values)){return this.bindFromArray(values)}else{return this.bindFromObject(values)}});Statement.prototype["step"]=(function(){var ret;if(!this.stmt){throw"Statement closed"}this.pos=1;switch(ret=sqlite3_step(this.stmt)){case SQLite.ROW:return true;case SQLite.DONE:return false;default:return this.db.handleError(ret)}});Statement.prototype.getNumber=(function(pos){if(pos==null){pos=this.pos++}return sqlite3_column_double(this.stmt,pos)});Statement.prototype.getString=(function(pos){if(pos==null){pos=this.pos++}return sqlite3_column_text(this.stmt,pos)});Statement.prototype.getBlob=(function(pos){var i,k,ptr,ref,result,size;if(pos==null){pos=this.pos++}size=sqlite3_column_bytes(this.stmt,pos);ptr=sqlite3_column_blob(this.stmt,pos);result=new Uint8Array(size);for(i=k=0,ref=size;0<=ref?kref;i=0<=ref?++k:--k){result[i]=HEAP8[ptr+i]}return result});Statement.prototype["get"]=(function(params){var field,k,ref,results1;if(params!=null){this["bind"](params)&&this["step"]()}results1=[];for(field=k=0,ref=sqlite3_data_count(this.stmt);0<=ref?kref;field=0<=ref?++k:--k){switch(sqlite3_column_type(this.stmt,field)){case SQLite.INTEGER:case SQLite.FLOAT:results1.push(this.getNumber(field));break;case SQLite.TEXT:results1.push(this.getString(field));break;case SQLite.BLOB:results1.push(this.getBlob(field));break;default:results1.push(null)}}return results1});Statement.prototype["getColumnNames"]=(function(){var i,k,ref,results1;results1=[];for(i=k=0,ref=sqlite3_data_count(this.stmt);0<=ref?kref;i=0<=ref?++k:--k){results1.push(sqlite3_column_name(this.stmt,i))}return results1});Statement.prototype["getAsObject"]=(function(params){var i,k,len,name,names,rowObject,values;values=this["get"](params);names=this["getColumnNames"]();rowObject={};for(i=k=0,len=names.length;k>>0);if(data!=null){FS.createDataFile("/",this.filename,data,true,true)}this.handleError(sqlite3_open(this.filename,apiTemp));this.db=getValue(apiTemp,"i32");RegisterExtensionFunctions(this.db);this.statements={}}Database.prototype["run"]=(function(sql,params){var stmt;if(!this.db){throw"Database closed"}if(params){stmt=this["prepare"](sql,params);stmt["step"]();stmt["free"]()}else{this.handleError(sqlite3_exec(this.db,sql,0,0,apiTemp))}return this});Database.prototype["exec"]=(function(sql){var curresult,nextSqlPtr,pStmt,pzTail,results,stack,stmt;if(!this.db){throw"Database closed"}stack=stackSave();nextSqlPtr=stackAlloc(sql.length<<2+1);writeStringToMemory(sql,nextSqlPtr);pzTail=stackAlloc(4);results=[];while(getValue(nextSqlPtr,"i8")!==NULL){setValue(apiTemp,0,"i32");setValue(pzTail,0,"i32");this.handleError(sqlite3_prepare_v2_sqlptr(this.db,nextSqlPtr,-1,apiTemp,pzTail));pStmt=getValue(apiTemp,"i32");nextSqlPtr=getValue(pzTail,"i32");if(pStmt===NULL){continue}stmt=new Statement(pStmt,this);curresult=null;while(stmt["step"]()){if(curresult===null){curresult={"columns":stmt["getColumnNames"](),"values":[]};results.push(curresult)}curresult["values"].push(stmt["get"]())}stmt["free"]()}stackRestore(stack);return results});Database.prototype["each"]=(function(sql,params,callback,done){var stmt;if(typeof params==="function"){done=callback;callback=params;params=void 0}stmt=this["prepare"](sql,params);while(stmt["step"]()){callback(stmt["getAsObject"]())}stmt["free"]();if(typeof done==="function"){return done()}});Database.prototype["prepare"]=(function(sql,params){var pStmt,stmt;setValue(apiTemp,0,"i32");this.handleError(sqlite3_prepare_v2(this.db,sql,-1,apiTemp,NULL));pStmt=getValue(apiTemp,"i32");if(pStmt===NULL){throw"Nothing to prepare"}stmt=new Statement(pStmt,this);if(params!=null){stmt.bind(params)}this.statements[pStmt]=stmt;return stmt});Database.prototype["export"]=(function(){var _,binaryDb,ref,stmt;ref=this.statements;for(_ in ref){stmt=ref[_];stmt["free"]()}this.handleError(sqlite3_close_v2(this.db));binaryDb=FS.readFile(this.filename,{encoding:"binary"});this.handleError(sqlite3_open(this.filename,apiTemp));this.db=getValue(apiTemp,"i32");return binaryDb});Database.prototype["close"]=(function(){var _,ref,stmt;ref=this.statements;for(_ in ref){stmt=ref[_];stmt["free"]()}this.handleError(sqlite3_close_v2(this.db));FS.unlink("/"+this.filename);return this.db=null});Database.prototype.handleError=(function(returnCode){var errmsg;if(returnCode===SQLite.OK){return null}else{errmsg=sqlite3_errmsg(this.db);throw new Error(errmsg)}});Database.prototype["getRowsModified"]=(function(){return sqlite3_changes(this.db)});Database.prototype["create_function"]=(function(name,func){var func_ptr,wrapped_func;wrapped_func=(function(cx,argc,argv){var arg,args,data_func,i,k,ref,result,value_ptr,value_type;args=[];for(i=k=0,ref=argc;0<=ref?kref;i=0<=ref?++k:--k){value_ptr=getValue(argv+4*i,"i32");value_type=sqlite3_value_type(value_ptr);data_func=(function(){switch(false){case value_type!==1:return sqlite3_value_int;case value_type!==2:return sqlite3_value_double;case value_type!==3:return sqlite3_value_text;case value_type!==4:return(function(ptr){var blob_arg,blob_ptr,j,l,ref1,size;size=sqlite3_value_bytes(ptr);blob_ptr=sqlite3_value_blob(ptr);blob_arg=new Uint8Array(size);for(j=l=0,ref1=size;0<=ref1?lref1;j=0<=ref1?++l:--l){blob_arg[j]=HEAP8[blob_ptr+j]}return blob_arg});default:return(function(ptr){return null})}})();arg=data_func(value_ptr);args.push(arg)}result=func.apply(null,args);if(!result){return sqlite3_result_null(cx)}else{switch(typeof result){case"number":return sqlite3_result_double(cx,result);case"string":return sqlite3_result_text(cx,result,-1,-1)}}});func_ptr=addFunction(wrapped_func);this.handleError(sqlite3_create_function_v2(this.db,name,func.length,SQLite.UTF8,0,func_ptr,0,0,0));return this});return Database})();sqlite3_open=Module["cwrap"]("sqlite3_open","number",["string","number"]);sqlite3_close_v2=Module["cwrap"]("sqlite3_close_v2","number",["number"]);sqlite3_exec=Module["cwrap"]("sqlite3_exec","number",["number","string","number","number","number"]);sqlite3_free=Module["cwrap"]("sqlite3_free","",["number"]);sqlite3_changes=Module["cwrap"]("sqlite3_changes","number",["number"]);sqlite3_prepare_v2=Module["cwrap"]("sqlite3_prepare_v2","number",["number","string","number","number","number"]);sqlite3_prepare_v2_sqlptr=Module["cwrap"]("sqlite3_prepare_v2","number",["number","number","number","number","number"]);sqlite3_bind_text=Module["cwrap"]("sqlite3_bind_text","number",["number","number","number","number","number"]);sqlite3_bind_blob=Module["cwrap"]("sqlite3_bind_blob","number",["number","number","number","number","number"]);sqlite3_bind_double=Module["cwrap"]("sqlite3_bind_double","number",["number","number","number"]);sqlite3_bind_int=Module["cwrap"]("sqlite3_bind_int","number",["number","number","number"]);sqlite3_bind_parameter_index=Module["cwrap"]("sqlite3_bind_parameter_index","number",["number","string"]);sqlite3_step=Module["cwrap"]("sqlite3_step","number",["number"]);sqlite3_errmsg=Module["cwrap"]("sqlite3_errmsg","string",["number"]);sqlite3_data_count=Module["cwrap"]("sqlite3_data_count","number",["number"]);sqlite3_column_double=Module["cwrap"]("sqlite3_column_double","number",["number","number"]);sqlite3_column_text=Module["cwrap"]("sqlite3_column_text","string",["number","number"]);sqlite3_column_blob=Module["cwrap"]("sqlite3_column_blob","number",["number","number"]);sqlite3_column_bytes=Module["cwrap"]("sqlite3_column_bytes","number",["number","number"]);sqlite3_column_type=Module["cwrap"]("sqlite3_column_type","number",["number","number"]);sqlite3_column_name=Module["cwrap"]("sqlite3_column_name","string",["number","number"]);sqlite3_reset=Module["cwrap"]("sqlite3_reset","number",["number"]);sqlite3_clear_bindings=Module["cwrap"]("sqlite3_clear_bindings","number",["number"]);sqlite3_finalize=Module["cwrap"]("sqlite3_finalize","number",["number"]);sqlite3_create_function_v2=Module["cwrap"]("sqlite3_create_function_v2","number",["number","string","number","number","number","number","number","number","number"]);sqlite3_value_type=Module["cwrap"]("sqlite3_value_type","number",["number"]);sqlite3_value_bytes=Module["cwrap"]("sqlite3_value_bytes","number",["number"]);sqlite3_value_text=Module["cwrap"]("sqlite3_value_text","string",["number"]);sqlite3_value_int=Module["cwrap"]("sqlite3_value_int","number",["number"]);sqlite3_value_blob=Module["cwrap"]("sqlite3_value_blob","number",["number"]);sqlite3_value_double=Module["cwrap"]("sqlite3_value_double","number",["number"]);sqlite3_result_double=Module["cwrap"]("sqlite3_result_double","",["number","number"]);sqlite3_result_null=Module["cwrap"]("sqlite3_result_null","",["number"]);sqlite3_result_text=Module["cwrap"]("sqlite3_result_text","",["number","string","number","number"]);RegisterExtensionFunctions=Module["cwrap"]("RegisterExtensionFunctions","number",["number"]);this["SQL"]={"Database":Database};for(i in this["SQL"]){Module[i]=this["SQL"][i]}NULL=0;SQLite.OK=0;SQLite.ERROR=1;SQLite.INTERNAL=2;SQLite.PERM=3;SQLite.ABORT=4;SQLite.BUSY=5;SQLite.LOCKED=6;SQLite.NOMEM=7;SQLite.READONLY=8;SQLite.INTERRUPT=9;SQLite.IOERR=10;SQLite.CORRUPT=11;SQLite.NOTFOUND=12;SQLite.FULL=13;SQLite.CANTOPEN=14;SQLite.PROTOCOL=15;SQLite.EMPTY=16;SQLite.SCHEMA=17;SQLite.TOOBIG=18;SQLite.CONSTRAINT=19;SQLite.MISMATCH=20;SQLite.MISUSE=21;SQLite.NOLFS=22;SQLite.AUTH=23;SQLite.FORMAT=24;SQLite.RANGE=25;SQLite.NOTADB=26;SQLite.NOTICE=27;SQLite.WARNING=28;SQLite.ROW=100;SQLite.DONE=101;SQLite.INTEGER=1;SQLite.FLOAT=2;SQLite.TEXT=3;SQLite.BLOB=4;SQLite.NULL=5;SQLite.UTF8=1 - - - - -return this['SQL']; -})(); -if (typeof module !== 'undefined') module.exports = SQL; -if (typeof define === 'function') define(SQL); diff --git a/src/deps/common/sqlite3-eu/sqlite3_eu.c b/src/deps/common/sqlite3-eu/sqlite3_eu.c new file mode 100644 index 0000000..00a31eb --- /dev/null +++ b/src/deps/common/sqlite3-eu/sqlite3_eu.c @@ -0,0 +1,190 @@ +#include "sqlite3_eu.h" + +#include + +#include + +#include + +#include + +#define EU_MAP_SIZE 0x2000 + +#define US_ASCII_MAX 0x7f + +static uint16_t eu_upper_map[EU_MAP_SIZE] = { 0x30 }; +static uint16_t eu_lower_map[EU_MAP_SIZE] = { 0x30 }; + +#define EU_MAP_ENTRY(lower, upper) \ + do { \ + eu_upper_map[lower] = upper; \ + eu_lower_map[upper] = lower; \ + } while(0) + +static +void init_map() { + { + int i; + + for (i=0; i> 8; + } else { + out[i] = u0; + out[i+1] = u1; + } + } + + sqlite3_result_text16le(context, out, inlen, sqlite3_free); + } +} + +static +void sqlite3_upper_eu(sqlite3_context * context, int argc, sqlite3_value ** argv) { + apply_eu_string_map(eu_upper_map, context, argc, argv); +} + +static +void sqlite3_lower_eu(sqlite3_context * context, int argc, sqlite3_value ** argv) { + apply_eu_string_map(eu_lower_map, context, argc, argv); +} + +int sqlite3_eu_init(sqlite3 * db, const char * upper_eu_name, const char * lower_eu_name) +{ + init_map(); + + /* TBD ignore result for now, at least */ + + sqlite3_create_function_v2(db, upper_eu_name, 1, SQLITE_ANY | SQLITE_DETERMINISTIC, NULL, sqlite3_upper_eu, NULL, NULL, NULL); + + sqlite3_create_function_v2(db, lower_eu_name, 1, SQLITE_ANY | SQLITE_DETERMINISTIC, NULL, sqlite3_lower_eu, NULL, NULL, NULL); + + return SQLITE_OK; +} diff --git a/src/deps/common/sqlite3-eu/sqlite3_eu.h b/src/deps/common/sqlite3-eu/sqlite3_eu.h new file mode 100644 index 0000000..db44998 --- /dev/null +++ b/src/deps/common/sqlite3-eu/sqlite3_eu.h @@ -0,0 +1,11 @@ +#include "sqlite3.h" + +#ifdef __cplusplus +extern "C" { +#endif + +int sqlite3_eu_init(sqlite3 * db, const char * upper_eu_name, const char * lower_eu_name); + +#ifdef __cplusplus +} +#endif diff --git a/src/deps/common/sqlite3.c b/src/deps/common/sqlite3.c index d015df2..8fd740b 100644 --- a/src/deps/common/sqlite3.c +++ b/src/deps/common/sqlite3.c @@ -1,6 +1,6 @@ /****************************************************************************** ** This file is an amalgamation of many separate C source files from SQLite -** version 3.26.0. By combining all the individual C code files into this +** version 3.30.1. By combining all the individual C code files into this ** single large file, the entire code can be compiled as a single translation ** unit. This allows many compilers to do optimizations that would not be ** possible if the files were compiled separately. Performance improvements @@ -39,7 +39,7 @@ ** SQLite was built with. */ -#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS +#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS /* IMP: R-16824-07538 */ /* ** Include the configuration header output by 'configure' if we're using the @@ -331,8 +331,6 @@ static const char * const sqlite3azCompileOpt[] = { #endif #if defined(SQLITE_ENABLE_STAT4) "ENABLE_STAT4", -#elif defined(SQLITE_ENABLE_STAT3) - "ENABLE_STAT3", #endif #if SQLITE_ENABLE_STMTVTAB "ENABLE_STMTVTAB", @@ -888,6 +886,11 @@ SQLITE_PRIVATE const char **sqlite3CompileOptions(int *pnOpt){ #pragma warning(disable : 4706) #endif /* defined(_MSC_VER) */ +#if defined(_MSC_VER) && !defined(_WIN64) +#undef SQLITE_4_BYTE_ALIGNED_MALLOC +#define SQLITE_4_BYTE_ALIGNED_MALLOC +#endif /* defined(_MSC_VER) && !defined(_WIN64) */ + #endif /* SQLITE_MSVC_H */ /************** End of msvc.h ************************************************/ @@ -1162,9 +1165,9 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.26.0" -#define SQLITE_VERSION_NUMBER 3026000 -#define SQLITE_SOURCE_ID "2018-12-01 12:34:55 bf8c1b2b7a5960c282e543b9c293686dccff272512d08865f4600fb58238b4f9" +#define SQLITE_VERSION "3.30.1" +#define SQLITE_VERSION_NUMBER 3030001 +#define SQLITE_SOURCE_ID "2019-10-10 20:19:45 18db032d058f1436ce3dea84081f4ee5a0f2259ad97301d43c426bc7f3df1b0b" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -1228,6 +1231,9 @@ SQLITE_API int sqlite3_libversion_number(void); #ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS SQLITE_API int sqlite3_compileoption_used(const char *zOptName); SQLITE_API const char *sqlite3_compileoption_get(int N); +#else +# define sqlite3_compileoption_used(X) 0 +# define sqlite3_compileoption_get(X) ((void*)0) #endif /* @@ -1862,6 +1868,15 @@ struct sqlite3_io_methods { ** file space based on this hint in order to help writes to the database ** file run faster. ** +**

  • [[SQLITE_FCNTL_SIZE_LIMIT]] +** The [SQLITE_FCNTL_SIZE_LIMIT] opcode is used by in-memory VFS that +** implements [sqlite3_deserialize()] to set an upper bound on the size +** of the in-memory database. The argument is a pointer to a [sqlite3_int64]. +** If the integer pointed to is negative, then it is filled in with the +** current limit. Otherwise the limit is set to the larger of the value +** of the integer pointed to and the current database size. The integer +** pointed to is set to the new limit. +** **
  • [[SQLITE_FCNTL_CHUNK_SIZE]] ** The [SQLITE_FCNTL_CHUNK_SIZE] opcode is used to request that the VFS ** extends and truncates the database file in chunks of a size specified @@ -2170,6 +2185,7 @@ struct sqlite3_io_methods { #define SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE 33 #define SQLITE_FCNTL_LOCK_TIMEOUT 34 #define SQLITE_FCNTL_DATA_VERSION 35 +#define SQLITE_FCNTL_SIZE_LIMIT 36 /* deprecated names */ #define SQLITE_GET_LOCKPROXYFILE SQLITE_FCNTL_GET_LOCKPROXYFILE @@ -2322,8 +2338,14 @@ typedef struct sqlite3_api_routines sqlite3_api_routines; ** ^The flags argument to xAccess() may be [SQLITE_ACCESS_EXISTS] ** to test for the existence of a file, or [SQLITE_ACCESS_READWRITE] to ** test whether a file is readable and writable, or [SQLITE_ACCESS_READ] -** to test whether a file is at least readable. The file can be a -** directory. +** to test whether a file is at least readable. The SQLITE_ACCESS_READ +** flag is never actually used and is not implemented in the built-in +** VFSes of SQLite. The file is named by the second argument and can be a +** directory. The xAccess method returns [SQLITE_OK] on success or some +** non-zero error code if there is an I/O error or if the name of +** the file given in the second argument is illegal. If SQLITE_OK +** is returned, then non-zero or zero is written into *pResOut to indicate +** whether or not the file is accessible. ** ** ^SQLite will always allocate at least mxPathname+1 bytes for the ** output buffer xFullPathname. The exact size of the output buffer @@ -3011,6 +3033,17 @@ struct sqlite3_mem_methods { ** negative value for this option restores the default behaviour. ** This option is only available if SQLite is compiled with the ** [SQLITE_ENABLE_SORTER_REFERENCES] compile-time option. +** +** [[SQLITE_CONFIG_MEMDB_MAXSIZE]] +**
    SQLITE_CONFIG_MEMDB_MAXSIZE +**
    The SQLITE_CONFIG_MEMDB_MAXSIZE option accepts a single parameter +** [sqlite3_int64] parameter which is the default maximum size for an in-memory +** database created using [sqlite3_deserialize()]. This default maximum +** size can be adjusted up or down for individual databases using the +** [SQLITE_FCNTL_SIZE_LIMIT] [sqlite3_file_control|file-control]. If this +** configuration setting is never used, then the default maximum is determined +** by the [SQLITE_MEMDB_DEFAULT_MAXSIZE] compile-time option. If that +** compile-time option is not set, then the default maximum is 1073741824. ** */ #define SQLITE_CONFIG_SINGLETHREAD 1 /* nil */ @@ -3041,6 +3074,7 @@ struct sqlite3_mem_methods { #define SQLITE_CONFIG_STMTJRNL_SPILL 26 /* int nByte */ #define SQLITE_CONFIG_SMALL_MALLOC 27 /* boolean */ #define SQLITE_CONFIG_SORTERREF_SIZE 28 /* int nByte */ +#define SQLITE_CONFIG_MEMDB_MAXSIZE 29 /* sqlite3_int64 */ /* ** CAPI3REF: Database Connection Configuration Options @@ -3101,10 +3135,21 @@ struct sqlite3_mem_methods { ** following this call. The second parameter may be a NULL pointer, in ** which case the trigger setting is not reported back.
    ** +** [[SQLITE_DBCONFIG_ENABLE_VIEW]] +**
    SQLITE_DBCONFIG_ENABLE_VIEW
    +**
    ^This option is used to enable or disable [CREATE VIEW | views]. +** There should be two additional arguments. +** The first argument is an integer which is 0 to disable views, +** positive to enable views or negative to leave the setting unchanged. +** The second parameter is a pointer to an integer into which +** is written 0 or 1 to indicate whether views are disabled or enabled +** following this call. The second parameter may be a NULL pointer, in +** which case the view setting is not reported back.
    +** ** [[SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER]] **
    SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER
    -**
    ^This option is used to enable or disable the two-argument -** version of the [fts3_tokenizer()] function which is part of the +**
    ^This option is used to enable or disable the +** [fts3_tokenizer()] function which is part of the ** [FTS3] full-text search engine extension. ** There should be two additional arguments. ** The first argument is an integer which is 0 to disable fts3_tokenizer() or @@ -3212,10 +3257,50 @@ struct sqlite3_mem_methods { ** features include but are not limited to the following: **
      **
    • The [PRAGMA writable_schema=ON] statement. +**
    • The [PRAGMA journal_mode=OFF] statement. **
    • Writes to the [sqlite_dbpage] virtual table. **
    • Direct writes to [shadow tables]. **
    **
    +** +** [[SQLITE_DBCONFIG_WRITABLE_SCHEMA]]
    SQLITE_DBCONFIG_WRITABLE_SCHEMA
    +**
    The SQLITE_DBCONFIG_WRITABLE_SCHEMA option activates or deactivates the +** "writable_schema" flag. This has the same effect and is logically equivalent +** to setting [PRAGMA writable_schema=ON] or [PRAGMA writable_schema=OFF]. +** The first argument to this setting is an integer which is 0 to disable +** the writable_schema, positive to enable writable_schema, or negative to +** leave the setting unchanged. The second parameter is a pointer to an +** integer into which is written 0 or 1 to indicate whether the writable_schema +** is enabled or disabled following this call. +**
    +** +** [[SQLITE_DBCONFIG_LEGACY_ALTER_TABLE]] +**
    SQLITE_DBCONFIG_LEGACY_ALTER_TABLE
    +**
    The SQLITE_DBCONFIG_LEGACY_ALTER_TABLE option activates or deactivates +** the legacy behavior of the [ALTER TABLE RENAME] command such it +** behaves as it did prior to [version 3.24.0] (2018-06-04). See the +** "Compatibility Notice" on the [ALTER TABLE RENAME documentation] for +** additional information. This feature can also be turned on and off +** using the [PRAGMA legacy_alter_table] statement. +**
    +** +** [[SQLITE_DBCONFIG_DQS_DML]] +**
    SQLITE_DBCONFIG_DQS_DML +**
    The SQLITE_DBCONFIG_DQS_DML option activates or deactivates +** the legacy [double-quoted string literal] misfeature for DML statement +** only, that is DELETE, INSERT, SELECT, and UPDATE statements. The +** default value of this setting is determined by the [-DSQLITE_DQS] +** compile-time option. +**
    +** +** [[SQLITE_DBCONFIG_DQS_DDL]] +**
    SQLITE_DBCONFIG_DQS_DDL +**
    The SQLITE_DBCONFIG_DQS option activates or deactivates +** the legacy [double-quoted string literal] misfeature for DDL statements, +** such as CREATE TABLE and CREATE INDEX. The +** default value of this setting is determined by the [-DSQLITE_DQS] +** compile-time option. +**
    ** */ #define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */ @@ -3229,7 +3314,12 @@ struct sqlite3_mem_methods { #define SQLITE_DBCONFIG_TRIGGER_EQP 1008 /* int int* */ #define SQLITE_DBCONFIG_RESET_DATABASE 1009 /* int int* */ #define SQLITE_DBCONFIG_DEFENSIVE 1010 /* int int* */ -#define SQLITE_DBCONFIG_MAX 1010 /* Largest DBCONFIG */ +#define SQLITE_DBCONFIG_WRITABLE_SCHEMA 1011 /* int int* */ +#define SQLITE_DBCONFIG_LEGACY_ALTER_TABLE 1012 /* int int* */ +#define SQLITE_DBCONFIG_DQS_DML 1013 /* int int* */ +#define SQLITE_DBCONFIG_DQS_DDL 1014 /* int int* */ +#define SQLITE_DBCONFIG_ENABLE_VIEW 1015 /* int int* */ +#define SQLITE_DBCONFIG_MAX 1015 /* Largest DBCONFIG */ /* ** CAPI3REF: Enable Or Disable Extended Result Codes @@ -3386,7 +3476,7 @@ SQLITE_API int sqlite3_changes(sqlite3*); ** not. ^Changes to a view that are intercepted by INSTEAD OF triggers ** are not counted. ** -** This the [sqlite3_total_changes(D)] interface only reports the number +** The [sqlite3_total_changes(D)] interface only reports the number ** of rows that changed due to SQL statement run against database ** connection D. Any changes by other database connections are ignored. ** To detect changes against a database file from other database @@ -4030,9 +4120,9 @@ SQLITE_API int sqlite3_set_authorizer( ** time is in units of nanoseconds, however the current implementation ** is only capable of millisecond resolution so the six least significant ** digits in the time are meaningless. Future versions of SQLite -** might provide greater resolution on the profiler callback. The -** sqlite3_profile() function is considered experimental and is -** subject to change in future versions of SQLite. +** might provide greater resolution on the profiler callback. Invoking +** either [sqlite3_trace()] or [sqlite3_trace_v2()] will cancel the +** profile callback. */ SQLITE_API SQLITE_DEPRECATED void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*); @@ -4446,6 +4536,8 @@ SQLITE_API int sqlite3_open_v2( ** is not a database file pathname pointer that SQLite passed into the xOpen ** VFS method, then the behavior of this routine is undefined and probably ** undesirable. +** +** See the [URI filename] documentation for additional information. */ SQLITE_API const char *sqlite3_uri_parameter(const char *zFilename, const char *zParam); SQLITE_API int sqlite3_uri_boolean(const char *zFile, const char *zParam, int bDefault); @@ -4668,18 +4760,23 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); ** deplete the limited store of lookaside memory. Future versions of ** SQLite may act on this hint differently. ** -** [[SQLITE_PREPARE_NORMALIZE]] ^(
    SQLITE_PREPARE_NORMALIZE
    -**
    The SQLITE_PREPARE_NORMALIZE flag indicates that a normalized -** representation of the SQL statement should be calculated and then -** associated with the prepared statement, which can be obtained via -** the [sqlite3_normalized_sql()] interface.)^ The semantics used to -** normalize a SQL statement are unspecified and subject to change. -** At a minimum, literal values will be replaced with suitable -** placeholders. +** [[SQLITE_PREPARE_NORMALIZE]]
    SQLITE_PREPARE_NORMALIZE
    +**
    The SQLITE_PREPARE_NORMALIZE flag is a no-op. This flag used +** to be required for any prepared statement that wanted to use the +** [sqlite3_normalized_sql()] interface. However, the +** [sqlite3_normalized_sql()] interface is now available to all +** prepared statements, regardless of whether or not they use this +** flag. +** +** [[SQLITE_PREPARE_NO_VTAB]]
    SQLITE_PREPARE_NO_VTAB
    +**
    The SQLITE_PREPARE_NO_VTAB flag causes the SQL compiler +** to return an error (error code SQLITE_ERROR) if the statement uses +** any virtual tables. ** */ #define SQLITE_PREPARE_PERSISTENT 0x01 #define SQLITE_PREPARE_NORMALIZE 0x02 +#define SQLITE_PREPARE_NO_VTAB 0x04 /* ** CAPI3REF: Compiling An SQL Statement @@ -4771,7 +4868,7 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); ** ^The specific value of WHERE-clause [parameter] might influence the ** choice of query plan if the parameter is the left-hand side of a [LIKE] ** or [GLOB] operator or if the parameter is compared to an indexed column -** and the [SQLITE_ENABLE_STAT3] compile-time option is enabled. +** and the [SQLITE_ENABLE_STAT4] compile-time option is enabled. **
  • ** ** @@ -4904,6 +5001,18 @@ SQLITE_API const char *sqlite3_normalized_sql(sqlite3_stmt *pStmt); */ SQLITE_API int sqlite3_stmt_readonly(sqlite3_stmt *pStmt); +/* +** CAPI3REF: Query The EXPLAIN Setting For A Prepared Statement +** METHOD: sqlite3_stmt +** +** ^The sqlite3_stmt_isexplain(S) interface returns 1 if the +** prepared statement S is an EXPLAIN statement, or 2 if the +** statement S is an EXPLAIN QUERY PLAN. +** ^The sqlite3_stmt_isexplain(S) interface returns 0 if S is +** an ordinary statement or a NULL pointer. +*/ +SQLITE_API int sqlite3_stmt_isexplain(sqlite3_stmt *pStmt); + /* ** CAPI3REF: Determine If A Prepared Statement Has Been Reset ** METHOD: sqlite3_stmt @@ -5043,7 +5152,9 @@ typedef struct sqlite3_context sqlite3_context; ** ^The fifth argument to the BLOB and string binding interfaces ** is a destructor used to dispose of the BLOB or ** string after SQLite has finished with it. ^The destructor is called -** to dispose of the BLOB or string even if the call to bind API fails. +** to dispose of the BLOB or string even if the call to the bind API fails, +** except the destructor is not called if the third parameter is a NULL +** pointer or the fourth parameter is negative. ** ^If the fifth argument is ** the special value [SQLITE_STATIC], then SQLite assumes that the ** information is in static, unmanaged space and does not need to be freed. @@ -5792,6 +5903,12 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt); ** perform additional optimizations on deterministic functions, so use ** of the [SQLITE_DETERMINISTIC] flag is recommended where possible. ** +** ^The fourth parameter may also optionally include the [SQLITE_DIRECTONLY] +** flag, which if present prevents the function from being invoked from +** within VIEWs or TRIGGERs. For security reasons, the [SQLITE_DIRECTONLY] +** flag is recommended for any application-defined SQL function that has +** side-effects. +** ** ^(The fifth parameter is an arbitrary pointer. The implementation of the ** function can gain access to this pointer using [sqlite3_user_data()].)^ ** @@ -5908,8 +6025,30 @@ SQLITE_API int sqlite3_create_window_function( ** [SQLITE_UTF8 | preferred text encoding] as the fourth argument ** to [sqlite3_create_function()], [sqlite3_create_function16()], or ** [sqlite3_create_function_v2()]. +** +** The SQLITE_DETERMINISTIC flag means that the new function will always +** maps the same inputs into the same output. The abs() function is +** deterministic, for example, but randomblob() is not. +** +** The SQLITE_DIRECTONLY flag means that the function may only be invoked +** from top-level SQL, and cannot be used in VIEWs or TRIGGERs. This is +** a security feature which is recommended for all +** [application-defined SQL functions] that have side-effects. This flag +** prevents an attacker from adding triggers and views to a schema then +** tricking a high-privilege application into causing unintended side-effects +** while performing ordinary queries. +** +** The SQLITE_SUBTYPE flag indicates to SQLite that a function may call +** [sqlite3_value_subtype()] to inspect the sub-types of its arguments. +** Specifying this flag makes no difference for scalar or aggregate user +** functions. However, if it is not specified for a user-defined window +** function, then any sub-types belonging to arguments passed to the window +** function may be discarded before the window function is called (i.e. +** sqlite3_value_subtype() will always return 0). */ -#define SQLITE_DETERMINISTIC 0x800 +#define SQLITE_DETERMINISTIC 0x000000800 +#define SQLITE_DIRECTONLY 0x000080000 +#define SQLITE_SUBTYPE 0x000100000 /* ** CAPI3REF: Deprecated Functions @@ -5960,6 +6099,8 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6 ** sqlite3_value_nochange   ** →  True if the column is unchanged in an UPDATE ** against a virtual table. +** sqlite3_value_frombind   +** →  True if value originated from a [bound parameter] ** ** ** Details: @@ -6021,6 +6162,11 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6 ** than within an [xUpdate] method call for an UPDATE statement, then ** the return value is arbitrary and meaningless. ** +** ^The sqlite3_value_frombind(X) interface returns non-zero if the +** value X originated from one of the [sqlite3_bind_int|sqlite3_bind()] +** interfaces. ^If X comes from an SQL literal value, or a table column, +** and expression, then sqlite3_value_frombind(X) returns zero. +** ** Please pay particular attention to the fact that the pointer returned ** from [sqlite3_value_blob()], [sqlite3_value_text()], or ** [sqlite3_value_text16()] can be invalidated by a subsequent call to @@ -6066,6 +6212,7 @@ SQLITE_API int sqlite3_value_bytes16(sqlite3_value*); SQLITE_API int sqlite3_value_type(sqlite3_value*); SQLITE_API int sqlite3_value_numeric_type(sqlite3_value*); SQLITE_API int sqlite3_value_nochange(sqlite3_value*); +SQLITE_API int sqlite3_value_frombind(sqlite3_value*); /* ** CAPI3REF: Finding The Subtype Of SQL Values @@ -6801,7 +6948,7 @@ SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*); ** associated with database N of connection D. ^The main database file ** has the name "main". If there is no attached database N on the database ** connection D, or if database N is a temporary or in-memory database, then -** a NULL pointer is returned. +** this function will return either a NULL pointer or an empty string. ** ** ^The filename returned by this function is the output of the ** xFullPathname method of the [VFS]. ^In other words, the filename @@ -7547,6 +7694,12 @@ struct sqlite3_index_info { ** ^The sqlite3_create_module() ** interface is equivalent to sqlite3_create_module_v2() with a NULL ** destructor. +** +** ^If the third parameter (the pointer to the sqlite3_module object) is +** NULL then no new module is create and any existing modules with the +** same name are dropped. +** +** See also: [sqlite3_drop_modules()] */ SQLITE_API int sqlite3_create_module( sqlite3 *db, /* SQLite connection to register module with */ @@ -7562,6 +7715,23 @@ SQLITE_API int sqlite3_create_module_v2( void(*xDestroy)(void*) /* Module destructor function */ ); +/* +** CAPI3REF: Remove Unnecessary Virtual Table Implementations +** METHOD: sqlite3 +** +** ^The sqlite3_drop_modules(D,L) interface removes all virtual +** table modules from database connection D except those named on list L. +** The L parameter must be either NULL or a pointer to an array of pointers +** to strings where the array is terminated by a single NULL pointer. +** ^If the L parameter is NULL, then all virtual table modules are removed. +** +** See also: [sqlite3_create_module()] +*/ +SQLITE_API int sqlite3_drop_modules( + sqlite3 *db, /* Remove modules from this connection */ + const char **azKeep /* Except, do not remove the ones named here */ +); + /* ** CAPI3REF: Virtual Table Instance Object ** KEYWORDS: sqlite3_vtab @@ -8270,7 +8440,7 @@ SQLITE_API int sqlite3_test_control(int op, ...); #define SQLITE_TESTCTRL_FIRST 5 #define SQLITE_TESTCTRL_PRNG_SAVE 5 #define SQLITE_TESTCTRL_PRNG_RESTORE 6 -#define SQLITE_TESTCTRL_PRNG_RESET 7 +#define SQLITE_TESTCTRL_PRNG_RESET 7 /* NOT USED */ #define SQLITE_TESTCTRL_BITVEC_TEST 8 #define SQLITE_TESTCTRL_FAULT_INSTALL 9 #define SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS 10 @@ -8292,7 +8462,10 @@ SQLITE_API int sqlite3_test_control(int op, ...); #define SQLITE_TESTCTRL_SORTER_MMAP 24 #define SQLITE_TESTCTRL_IMPOSTER 25 #define SQLITE_TESTCTRL_PARSER_COVERAGE 26 -#define SQLITE_TESTCTRL_LAST 26 /* Largest TESTCTRL */ +#define SQLITE_TESTCTRL_RESULT_INTREAL 27 +#define SQLITE_TESTCTRL_PRNG_SEED 28 +#define SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS 29 +#define SQLITE_TESTCTRL_LAST 29 /* Largest TESTCTRL */ /* ** CAPI3REF: SQL Keyword Checking @@ -11035,7 +11208,7 @@ SQLITE_API int sqlite3changeset_next(sqlite3_changeset_iter *pIter); ** sqlite3changeset_next() is called on the iterator or until the ** conflict-handler function returns. If pnCol is not NULL, then *pnCol is ** set to the number of columns in the table affected by the change. If -** pbIncorrect is not NULL, then *pbIndirect is set to true (1) if the change +** pbIndirect is not NULL, then *pbIndirect is set to true (1) if the change ** is an indirect change, or false (0) otherwise. See the documentation for ** [sqlite3session_indirect()] for a description of direct and indirect ** changes. Finally, if pOp is not NULL, then *pOp is set to one of @@ -11902,7 +12075,7 @@ SQLITE_API int sqlite3rebaser_configure( ** in size. This function allocates and populates a buffer with a copy ** of the changeset rebased rebased according to the configuration of the ** rebaser object passed as the first argument. If successful, (*ppOut) -** is set to point to the new buffer containing the rebased changset and +** is set to point to the new buffer containing the rebased changeset and ** (*pnOut) to its size in bytes and SQLITE_OK returned. It is the ** responsibility of the caller to eventually free the new buffer using ** sqlite3_free(). Otherwise, if an error occurs, (*ppOut) and (*pnOut) @@ -12269,12 +12442,8 @@ struct Fts5PhraseIter { ** ** Usually, output parameter *piPhrase is set to the phrase number, *piCol ** to the column in which it occurs and *piOff the token offset of the -** first token of the phrase. The exception is if the table was created -** with the offsets=0 option specified. In this case *piOff is always -** set to -1. -** -** Returns SQLITE_OK if successful, or an error code (i.e. SQLITE_NOMEM) -** if an error occurs. +** first token of the phrase. Returns SQLITE_OK if successful, or an error +** code (i.e. SQLITE_NOMEM) if an error occurs. ** ** This API can be quite slow if used with an FTS5 table created with the ** "detail=none" or "detail=column" option. @@ -12315,7 +12484,7 @@ struct Fts5PhraseIter { ** Save the pointer passed as the second argument as the extension functions ** "auxiliary data". The pointer may then be retrieved by the current or any ** future invocation of the same fts5 extension function made as part of -** of the same MATCH query using the xGetAuxdata() API. +** the same MATCH query using the xGetAuxdata() API. ** ** Each extension function is allocated a single auxiliary data slot for ** each FTS query (MATCH expression). If the extension function is invoked @@ -12330,7 +12499,7 @@ struct Fts5PhraseIter { ** The xDelete callback, if one is specified, is also invoked on the ** auxiliary data pointer after the FTS5 query has finished. ** -** If an error (e.g. an OOM condition) occurs within this function, an +** If an error (e.g. an OOM condition) occurs within this function, ** the auxiliary data is set to NULL and an error code returned. If the ** xDelete parameter was not NULL, it is invoked on the auxiliary data ** pointer before returning. @@ -12563,11 +12732,11 @@ struct Fts5ExtensionApi { ** the tokenizer substitutes "first" for "1st" and the query works ** as expected. ** -**
  • By adding multiple synonyms for a single term to the FTS index. -** In this case, when tokenizing query text, the tokenizer may -** provide multiple synonyms for a single term within the document. -** FTS5 then queries the index for each synonym individually. For -** example, faced with the query: +**
  • By querying the index for all synonyms of each query term +** separately. In this case, when tokenizing query text, the +** tokenizer may provide multiple synonyms for a single term +** within the document. FTS5 then queries the index for each +** synonym individually. For example, faced with the query: ** ** ** ... MATCH 'first place' @@ -12591,7 +12760,7 @@ struct Fts5ExtensionApi { ** "place". ** ** This way, even if the tokenizer does not provide synonyms -** when tokenizing query text (it should not - to do would be +** when tokenizing query text (it should not - to do so would be ** inefficient), it doesn't matter if the user queries for ** 'first + place' or '1st + place', as there are entries in the ** FTS index corresponding to both forms of the first token. @@ -12993,15 +13162,15 @@ struct fts5_api { ** So we have to define the macros in different ways depending on the ** compiler. */ -#if defined(__PTRDIFF_TYPE__) /* This case should work for GCC */ +#if defined(HAVE_STDINT_H) /* Use this case if we have ANSI headers */ +# define SQLITE_INT_TO_PTR(X) ((void*)(intptr_t)(X)) +# define SQLITE_PTR_TO_INT(X) ((int)(intptr_t)(X)) +#elif defined(__PTRDIFF_TYPE__) /* This case should work for GCC */ # define SQLITE_INT_TO_PTR(X) ((void*)(__PTRDIFF_TYPE__)(X)) # define SQLITE_PTR_TO_INT(X) ((int)(__PTRDIFF_TYPE__)(X)) #elif !defined(__GNUC__) /* Works for compilers other than LLVM */ # define SQLITE_INT_TO_PTR(X) ((void*)&((char*)0)[X]) # define SQLITE_PTR_TO_INT(X) ((int)(((char*)X)-(char*)0)) -#elif defined(HAVE_STDINT_H) /* Use this case if we have ANSI headers */ -# define SQLITE_INT_TO_PTR(X) ((void*)(intptr_t)(X)) -# define SQLITE_PTR_TO_INT(X) ((int)(intptr_t)(X)) #else /* Generates a warning - but it always works */ # define SQLITE_INT_TO_PTR(X) ((void*)(X)) # define SQLITE_PTR_TO_INT(X) ((int)(X)) @@ -13356,7 +13525,7 @@ struct Hash { unsigned int count; /* Number of entries in this table */ HashElem *first; /* The first element of the array */ struct _ht { /* the hash table */ - int count; /* Number of entries with this hash */ + unsigned int count; /* Number of entries with this hash */ HashElem *chain; /* Pointer to first entry with this hash */ } *ht; }; @@ -13491,105 +13660,103 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*); #define TK_VIEW 79 #define TK_VIRTUAL 80 #define TK_WITH 81 -#define TK_CURRENT 82 -#define TK_FOLLOWING 83 -#define TK_PARTITION 84 -#define TK_PRECEDING 85 -#define TK_RANGE 86 -#define TK_UNBOUNDED 87 -#define TK_REINDEX 88 -#define TK_RENAME 89 -#define TK_CTIME_KW 90 -#define TK_ANY 91 -#define TK_BITAND 92 -#define TK_BITOR 93 -#define TK_LSHIFT 94 -#define TK_RSHIFT 95 -#define TK_PLUS 96 -#define TK_MINUS 97 -#define TK_STAR 98 -#define TK_SLASH 99 -#define TK_REM 100 -#define TK_CONCAT 101 -#define TK_COLLATE 102 -#define TK_BITNOT 103 -#define TK_ON 104 -#define TK_INDEXED 105 -#define TK_STRING 106 -#define TK_JOIN_KW 107 -#define TK_CONSTRAINT 108 -#define TK_DEFAULT 109 -#define TK_NULL 110 -#define TK_PRIMARY 111 -#define TK_UNIQUE 112 -#define TK_CHECK 113 -#define TK_REFERENCES 114 -#define TK_AUTOINCR 115 -#define TK_INSERT 116 -#define TK_DELETE 117 -#define TK_UPDATE 118 -#define TK_SET 119 -#define TK_DEFERRABLE 120 -#define TK_FOREIGN 121 -#define TK_DROP 122 -#define TK_UNION 123 -#define TK_ALL 124 -#define TK_EXCEPT 125 -#define TK_INTERSECT 126 -#define TK_SELECT 127 -#define TK_VALUES 128 -#define TK_DISTINCT 129 -#define TK_DOT 130 -#define TK_FROM 131 -#define TK_JOIN 132 -#define TK_USING 133 -#define TK_ORDER 134 -#define TK_GROUP 135 -#define TK_HAVING 136 -#define TK_LIMIT 137 -#define TK_WHERE 138 -#define TK_INTO 139 -#define TK_NOTHING 140 -#define TK_FLOAT 141 -#define TK_BLOB 142 -#define TK_INTEGER 143 -#define TK_VARIABLE 144 -#define TK_CASE 145 -#define TK_WHEN 146 -#define TK_THEN 147 -#define TK_ELSE 148 -#define TK_INDEX 149 -#define TK_ALTER 150 -#define TK_ADD 151 -#define TK_WINDOW 152 -#define TK_OVER 153 -#define TK_FILTER 154 -#define TK_TRUEFALSE 155 -#define TK_ISNOT 156 -#define TK_FUNCTION 157 -#define TK_COLUMN 158 -#define TK_AGG_FUNCTION 159 -#define TK_AGG_COLUMN 160 -#define TK_UMINUS 161 -#define TK_UPLUS 162 -#define TK_TRUTH 163 -#define TK_REGISTER 164 -#define TK_VECTOR 165 -#define TK_SELECT_COLUMN 166 -#define TK_IF_NULL_ROW 167 -#define TK_ASTERISK 168 -#define TK_SPAN 169 -#define TK_END_OF_FILE 170 -#define TK_UNCLOSED_STRING 171 -#define TK_SPACE 172 -#define TK_ILLEGAL 173 - -/* The token codes above must all fit in 8 bits */ -#define TKFLG_MASK 0xff - -/* Flags that can be added to a token code when it is not -** being stored in a u8: */ -#define TKFLG_DONTFOLD 0x100 /* Omit constant folding optimizations */ +#define TK_NULLS 82 +#define TK_FIRST 83 +#define TK_LAST 84 +#define TK_CURRENT 85 +#define TK_FOLLOWING 86 +#define TK_PARTITION 87 +#define TK_PRECEDING 88 +#define TK_RANGE 89 +#define TK_UNBOUNDED 90 +#define TK_EXCLUDE 91 +#define TK_GROUPS 92 +#define TK_OTHERS 93 +#define TK_TIES 94 +#define TK_REINDEX 95 +#define TK_RENAME 96 +#define TK_CTIME_KW 97 +#define TK_ANY 98 +#define TK_BITAND 99 +#define TK_BITOR 100 +#define TK_LSHIFT 101 +#define TK_RSHIFT 102 +#define TK_PLUS 103 +#define TK_MINUS 104 +#define TK_STAR 105 +#define TK_SLASH 106 +#define TK_REM 107 +#define TK_CONCAT 108 +#define TK_COLLATE 109 +#define TK_BITNOT 110 +#define TK_ON 111 +#define TK_INDEXED 112 +#define TK_STRING 113 +#define TK_JOIN_KW 114 +#define TK_CONSTRAINT 115 +#define TK_DEFAULT 116 +#define TK_NULL 117 +#define TK_PRIMARY 118 +#define TK_UNIQUE 119 +#define TK_CHECK 120 +#define TK_REFERENCES 121 +#define TK_AUTOINCR 122 +#define TK_INSERT 123 +#define TK_DELETE 124 +#define TK_UPDATE 125 +#define TK_SET 126 +#define TK_DEFERRABLE 127 +#define TK_FOREIGN 128 +#define TK_DROP 129 +#define TK_UNION 130 +#define TK_ALL 131 +#define TK_EXCEPT 132 +#define TK_INTERSECT 133 +#define TK_SELECT 134 +#define TK_VALUES 135 +#define TK_DISTINCT 136 +#define TK_DOT 137 +#define TK_FROM 138 +#define TK_JOIN 139 +#define TK_USING 140 +#define TK_ORDER 141 +#define TK_GROUP 142 +#define TK_HAVING 143 +#define TK_LIMIT 144 +#define TK_WHERE 145 +#define TK_INTO 146 +#define TK_NOTHING 147 +#define TK_FLOAT 148 +#define TK_BLOB 149 +#define TK_INTEGER 150 +#define TK_VARIABLE 151 +#define TK_CASE 152 +#define TK_WHEN 153 +#define TK_THEN 154 +#define TK_ELSE 155 +#define TK_INDEX 156 +#define TK_ALTER 157 +#define TK_ADD 158 +#define TK_WINDOW 159 +#define TK_OVER 160 +#define TK_FILTER 161 +#define TK_COLUMN 162 +#define TK_AGG_FUNCTION 163 +#define TK_AGG_COLUMN 164 +#define TK_TRUEFALSE 165 +#define TK_ISNOT 166 +#define TK_FUNCTION 167 +#define TK_UMINUS 168 +#define TK_UPLUS 169 +#define TK_TRUTH 170 +#define TK_REGISTER 171 +#define TK_VECTOR 172 +#define TK_SELECT_COLUMN 173 +#define TK_IF_NULL_ROW 174 +#define TK_ASTERISK 175 +#define TK_SPAN 176 +#define TK_SPACE 177 +#define TK_ILLEGAL 178 /************** End of parse.h ***********************************************/ /************** Continuing where we left off in sqliteInt.h ******************/ @@ -13895,12 +14062,13 @@ typedef INT16_TYPE LogEst; ** at run-time. */ #ifndef SQLITE_BYTEORDER -# if defined(i386) || defined(__i386__) || defined(_M_IX86) || \ - defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || \ - defined(_M_AMD64) || defined(_M_ARM) || defined(__x86) || \ - defined(__arm__) || defined(_M_ARM64) +# if defined(i386) || defined(__i386__) || defined(_M_IX86) || \ + defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || \ + defined(_M_AMD64) || defined(_M_ARM) || defined(__x86) || \ + defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64) # define SQLITE_BYTEORDER 1234 -# elif defined(sparc) || defined(__ppc__) +# elif defined(sparc) || defined(__ppc__) || \ + defined(__ARMEB__) || defined(__AARCH64EB__) # define SQLITE_BYTEORDER 4321 # else # define SQLITE_BYTEORDER 0 @@ -13999,20 +14167,6 @@ typedef INT16_TYPE LogEst; # define SQLITE_DEFAULT_MMAP_SIZE SQLITE_MAX_MMAP_SIZE #endif -/* -** Only one of SQLITE_ENABLE_STAT3 or SQLITE_ENABLE_STAT4 can be defined. -** Priority is given to SQLITE_ENABLE_STAT4. If either are defined, also -** define SQLITE_ENABLE_STAT3_OR_STAT4 -*/ -#ifdef SQLITE_ENABLE_STAT4 -# undef SQLITE_ENABLE_STAT3 -# define SQLITE_ENABLE_STAT3_OR_STAT4 1 -#elif SQLITE_ENABLE_STAT3 -# define SQLITE_ENABLE_STAT3_OR_STAT4 1 -#elif SQLITE_ENABLE_STAT3_OR_STAT4 -# undef SQLITE_ENABLE_STAT3_OR_STAT4 -#endif - /* ** SELECTTRACE_ENABLED will be either 1 or 0 depending on whether or not ** the Select query generator tracing logic is turned on. @@ -14521,9 +14675,6 @@ struct BtreePayload { SQLITE_PRIVATE int sqlite3BtreeInsert(BtCursor*, const BtreePayload *pPayload, int flags, int seekResult); SQLITE_PRIVATE int sqlite3BtreeFirst(BtCursor*, int *pRes); -#ifndef SQLITE_OMIT_WINDOWFUNC -SQLITE_PRIVATE void sqlite3BtreeSkipNext(BtCursor*); -#endif SQLITE_PRIVATE int sqlite3BtreeLast(BtCursor*, int *pRes); SQLITE_PRIVATE int sqlite3BtreeNext(BtCursor*, int flags); SQLITE_PRIVATE int sqlite3BtreeEof(BtCursor*); @@ -14535,6 +14686,7 @@ SQLITE_PRIVATE i64 sqlite3BtreeOffset(BtCursor*); SQLITE_PRIVATE int sqlite3BtreePayload(BtCursor*, u32 offset, u32 amt, void*); SQLITE_PRIVATE const void *sqlite3BtreePayloadFetch(BtCursor*, u32 *pAmt); SQLITE_PRIVATE u32 sqlite3BtreePayloadSize(BtCursor*); +SQLITE_PRIVATE sqlite3_int64 sqlite3BtreeMaxRecordSize(BtCursor*); SQLITE_PRIVATE char *sqlite3BtreeIntegrityCheck(Btree*, int *aRoot, int nRoot, int, int*); SQLITE_PRIVATE struct Pager *sqlite3BtreePager(Btree*); @@ -14774,12 +14926,11 @@ typedef struct VdbeOpList VdbeOpList; #endif /* -** The following macro converts a relative address in the p2 field -** of a VdbeOp structure into a negative number so that -** sqlite3VdbeAddOpList() knows that the address is relative. Calling -** the macro again restores the address. +** The following macro converts a label returned by sqlite3VdbeMakeLabel() +** into an index into the Parse.aLabel[] array that contains the resolved +** address of that label. */ -#define ADDR(X) (-1-(X)) +#define ADDR(X) (~(X)) /* ** The makefile scans the vdbe.c source file and creates the "opcodes.h" @@ -14881,28 +15032,28 @@ typedef struct VdbeOpList VdbeOpList; #define OP_Offset 89 /* synopsis: r[P3] = sqlite_offset(P1) */ #define OP_Column 90 /* synopsis: r[P3]=PX */ #define OP_Affinity 91 /* synopsis: affinity(r[P1@P2]) */ -#define OP_BitAnd 92 /* same as TK_BITAND, synopsis: r[P3]=r[P1]&r[P2] */ -#define OP_BitOr 93 /* same as TK_BITOR, synopsis: r[P3]=r[P1]|r[P2] */ -#define OP_ShiftLeft 94 /* same as TK_LSHIFT, synopsis: r[P3]=r[P2]<>r[P1] */ -#define OP_Add 96 /* same as TK_PLUS, synopsis: r[P3]=r[P1]+r[P2] */ -#define OP_Subtract 97 /* same as TK_MINUS, synopsis: r[P3]=r[P2]-r[P1] */ -#define OP_Multiply 98 /* same as TK_STAR, synopsis: r[P3]=r[P1]*r[P2] */ -#define OP_Divide 99 /* same as TK_SLASH, synopsis: r[P3]=r[P2]/r[P1] */ -#define OP_Remainder 100 /* same as TK_REM, synopsis: r[P3]=r[P2]%r[P1] */ -#define OP_Concat 101 /* same as TK_CONCAT, synopsis: r[P3]=r[P2]+r[P1] */ -#define OP_MakeRecord 102 /* synopsis: r[P3]=mkrec(r[P1@P2]) */ -#define OP_BitNot 103 /* same as TK_BITNOT, synopsis: r[P2]= ~r[P1] */ -#define OP_Count 104 /* synopsis: r[P2]=count() */ -#define OP_ReadCookie 105 -#define OP_String8 106 /* same as TK_STRING, synopsis: r[P2]='P4' */ -#define OP_SetCookie 107 -#define OP_ReopenIdx 108 /* synopsis: root=P2 iDb=P3 */ -#define OP_OpenRead 109 /* synopsis: root=P2 iDb=P3 */ -#define OP_OpenWrite 110 /* synopsis: root=P2 iDb=P3 */ -#define OP_OpenDup 111 -#define OP_OpenAutoindex 112 /* synopsis: nColumn=P2 */ -#define OP_OpenEphemeral 113 /* synopsis: nColumn=P2 */ +#define OP_MakeRecord 92 /* synopsis: r[P3]=mkrec(r[P1@P2]) */ +#define OP_Count 93 /* synopsis: r[P2]=count() */ +#define OP_ReadCookie 94 +#define OP_SetCookie 95 +#define OP_ReopenIdx 96 /* synopsis: root=P2 iDb=P3 */ +#define OP_OpenRead 97 /* synopsis: root=P2 iDb=P3 */ +#define OP_OpenWrite 98 /* synopsis: root=P2 iDb=P3 */ +#define OP_BitAnd 99 /* same as TK_BITAND, synopsis: r[P3]=r[P1]&r[P2] */ +#define OP_BitOr 100 /* same as TK_BITOR, synopsis: r[P3]=r[P1]|r[P2] */ +#define OP_ShiftLeft 101 /* same as TK_LSHIFT, synopsis: r[P3]=r[P2]<>r[P1] */ +#define OP_Add 103 /* same as TK_PLUS, synopsis: r[P3]=r[P1]+r[P2] */ +#define OP_Subtract 104 /* same as TK_MINUS, synopsis: r[P3]=r[P2]-r[P1] */ +#define OP_Multiply 105 /* same as TK_STAR, synopsis: r[P3]=r[P1]*r[P2] */ +#define OP_Divide 106 /* same as TK_SLASH, synopsis: r[P3]=r[P2]/r[P1] */ +#define OP_Remainder 107 /* same as TK_REM, synopsis: r[P3]=r[P2]%r[P1] */ +#define OP_Concat 108 /* same as TK_CONCAT, synopsis: r[P3]=r[P2]+r[P1] */ +#define OP_OpenDup 109 +#define OP_BitNot 110 /* same as TK_BITNOT, synopsis: r[P2]= ~r[P1] */ +#define OP_OpenAutoindex 111 /* synopsis: nColumn=P2 */ +#define OP_OpenEphemeral 112 /* synopsis: nColumn=P2 */ +#define OP_String8 113 /* same as TK_STRING, synopsis: r[P2]='P4' */ #define OP_SorterOpen 114 #define OP_SequenceTest 115 /* synopsis: if( cursor[P1].ctr++ ) pc = P2 */ #define OP_OpenPseudo 116 /* synopsis: P3 columns in r[P2] */ @@ -14912,57 +15063,56 @@ typedef struct VdbeOpList VdbeOpList; #define OP_Sequence 120 /* synopsis: r[P2]=cursor[P1].ctr++ */ #define OP_NewRowid 121 /* synopsis: r[P2]=rowid */ #define OP_Insert 122 /* synopsis: intkey=r[P3] data=r[P2] */ -#define OP_InsertInt 123 /* synopsis: intkey=P3 data=r[P2] */ -#define OP_Delete 124 -#define OP_ResetCount 125 -#define OP_SorterCompare 126 /* synopsis: if key(P1)!=trim(r[P3],P4) goto P2 */ -#define OP_SorterData 127 /* synopsis: r[P2]=data */ -#define OP_RowData 128 /* synopsis: r[P2]=data */ -#define OP_Rowid 129 /* synopsis: r[P2]=rowid */ -#define OP_NullRow 130 -#define OP_SeekEnd 131 -#define OP_SorterInsert 132 /* synopsis: key=r[P2] */ -#define OP_IdxInsert 133 /* synopsis: key=r[P2] */ -#define OP_IdxDelete 134 /* synopsis: key=r[P2@P3] */ -#define OP_DeferredSeek 135 /* synopsis: Move P3 to P1.rowid if needed */ -#define OP_IdxRowid 136 /* synopsis: r[P2]=rowid */ -#define OP_Destroy 137 -#define OP_Clear 138 -#define OP_ResetSorter 139 -#define OP_CreateBtree 140 /* synopsis: r[P2]=root iDb=P1 flags=P3 */ -#define OP_Real 141 /* same as TK_FLOAT, synopsis: r[P2]=P4 */ -#define OP_SqlExec 142 -#define OP_ParseSchema 143 -#define OP_LoadAnalysis 144 -#define OP_DropTable 145 -#define OP_DropIndex 146 -#define OP_DropTrigger 147 -#define OP_IntegrityCk 148 -#define OP_RowSetAdd 149 /* synopsis: rowset(P1)=r[P2] */ -#define OP_Param 150 -#define OP_FkCounter 151 /* synopsis: fkctr[P1]+=P2 */ -#define OP_MemMax 152 /* synopsis: r[P1]=max(r[P1],r[P2]) */ -#define OP_OffsetLimit 153 /* synopsis: if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1) */ -#define OP_AggInverse 154 /* synopsis: accum=r[P3] inverse(r[P2@P5]) */ -#define OP_AggStep 155 /* synopsis: accum=r[P3] step(r[P2@P5]) */ -#define OP_AggStep1 156 /* synopsis: accum=r[P3] step(r[P2@P5]) */ -#define OP_AggValue 157 /* synopsis: r[P3]=value N=P2 */ -#define OP_AggFinal 158 /* synopsis: accum=r[P1] N=P2 */ -#define OP_Expire 159 -#define OP_TableLock 160 /* synopsis: iDb=P1 root=P2 write=P3 */ -#define OP_VBegin 161 -#define OP_VCreate 162 -#define OP_VDestroy 163 -#define OP_VOpen 164 -#define OP_VColumn 165 /* synopsis: r[P3]=vcolumn(P2) */ -#define OP_VRename 166 -#define OP_Pagecount 167 -#define OP_MaxPgcnt 168 -#define OP_Trace 169 -#define OP_CursorHint 170 -#define OP_Noop 171 -#define OP_Explain 172 -#define OP_Abortable 173 +#define OP_Delete 123 +#define OP_ResetCount 124 +#define OP_SorterCompare 125 /* synopsis: if key(P1)!=trim(r[P3],P4) goto P2 */ +#define OP_SorterData 126 /* synopsis: r[P2]=data */ +#define OP_RowData 127 /* synopsis: r[P2]=data */ +#define OP_Rowid 128 /* synopsis: r[P2]=rowid */ +#define OP_NullRow 129 +#define OP_SeekEnd 130 +#define OP_SorterInsert 131 /* synopsis: key=r[P2] */ +#define OP_IdxInsert 132 /* synopsis: key=r[P2] */ +#define OP_IdxDelete 133 /* synopsis: key=r[P2@P3] */ +#define OP_DeferredSeek 134 /* synopsis: Move P3 to P1.rowid if needed */ +#define OP_IdxRowid 135 /* synopsis: r[P2]=rowid */ +#define OP_Destroy 136 +#define OP_Clear 137 +#define OP_ResetSorter 138 +#define OP_CreateBtree 139 /* synopsis: r[P2]=root iDb=P1 flags=P3 */ +#define OP_SqlExec 140 +#define OP_ParseSchema 141 +#define OP_LoadAnalysis 142 +#define OP_DropTable 143 +#define OP_DropIndex 144 +#define OP_DropTrigger 145 +#define OP_IntegrityCk 146 +#define OP_RowSetAdd 147 /* synopsis: rowset(P1)=r[P2] */ +#define OP_Real 148 /* same as TK_FLOAT, synopsis: r[P2]=P4 */ +#define OP_Param 149 +#define OP_FkCounter 150 /* synopsis: fkctr[P1]+=P2 */ +#define OP_MemMax 151 /* synopsis: r[P1]=max(r[P1],r[P2]) */ +#define OP_OffsetLimit 152 /* synopsis: if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1) */ +#define OP_AggInverse 153 /* synopsis: accum=r[P3] inverse(r[P2@P5]) */ +#define OP_AggStep 154 /* synopsis: accum=r[P3] step(r[P2@P5]) */ +#define OP_AggStep1 155 /* synopsis: accum=r[P3] step(r[P2@P5]) */ +#define OP_AggValue 156 /* synopsis: r[P3]=value N=P2 */ +#define OP_AggFinal 157 /* synopsis: accum=r[P1] N=P2 */ +#define OP_Expire 158 +#define OP_TableLock 159 /* synopsis: iDb=P1 root=P2 write=P3 */ +#define OP_VBegin 160 +#define OP_VCreate 161 +#define OP_VDestroy 162 +#define OP_VOpen 163 +#define OP_VColumn 164 /* synopsis: r[P3]=vcolumn(P2) */ +#define OP_VRename 165 +#define OP_Pagecount 166 +#define OP_MaxPgcnt 167 +#define OP_Trace 168 +#define OP_CursorHint 169 +#define OP_Noop 170 +#define OP_Explain 171 +#define OP_Abortable 172 /* Properties such as "out2" or "jump" that are specified in ** comments following the "case" for each opcode in the vdbe.c @@ -14986,17 +15136,17 @@ typedef struct VdbeOpList VdbeOpList; /* 64 */ 0x00, 0x00, 0x02, 0x02, 0x08, 0x00, 0x10, 0x10,\ /* 72 */ 0x10, 0x10, 0x00, 0x10, 0x10, 0x00, 0x00, 0x10,\ /* 80 */ 0x10, 0x00, 0x00, 0x02, 0x02, 0x02, 0x00, 0x00,\ -/* 88 */ 0x12, 0x20, 0x00, 0x00, 0x26, 0x26, 0x26, 0x26,\ -/* 96 */ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x00, 0x12,\ -/* 104 */ 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,\ -/* 112 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ +/* 88 */ 0x12, 0x20, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00,\ +/* 96 */ 0x00, 0x00, 0x00, 0x26, 0x26, 0x26, 0x26, 0x26,\ +/* 104 */ 0x26, 0x26, 0x26, 0x26, 0x26, 0x00, 0x12, 0x00,\ +/* 112 */ 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ /* 120 */ 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ -/* 128 */ 0x00, 0x10, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00,\ -/* 136 */ 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00,\ -/* 144 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x10, 0x00,\ -/* 152 */ 0x04, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ -/* 160 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,\ -/* 168 */ 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,} +/* 128 */ 0x10, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x10,\ +/* 136 */ 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,\ +/* 144 */ 0x00, 0x00, 0x00, 0x06, 0x10, 0x10, 0x00, 0x04,\ +/* 152 */ 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ +/* 160 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10,\ +/* 168 */ 0x00, 0x00, 0x00, 0x00, 0x00,} /* The sqlite3P2Values() routine is able to run faster if it knows ** the value of the largest JUMP opcode. The smaller the maximum @@ -15055,12 +15205,18 @@ SQLITE_PRIVATE int sqlite3VdbeExplainParent(Parse*); # define ExplainQueryPlan(P) # define ExplainQueryPlanPop(P) # define ExplainQueryPlanParent(P) 0 +# define sqlite3ExplainBreakpoint(A,B) /*no-op*/ +#endif +#if defined(SQLITE_DEBUG) && !defined(SQLITE_OMIT_EXPLAIN) +SQLITE_PRIVATE void sqlite3ExplainBreakpoint(const char*,const char*); +#else +# define sqlite3ExplainBreakpoint(A,B) /*no-op*/ #endif SQLITE_PRIVATE void sqlite3VdbeAddParseSchemaOp(Vdbe*,int,char*); -SQLITE_PRIVATE void sqlite3VdbeChangeOpcode(Vdbe*, u32 addr, u8); -SQLITE_PRIVATE void sqlite3VdbeChangeP1(Vdbe*, u32 addr, int P1); -SQLITE_PRIVATE void sqlite3VdbeChangeP2(Vdbe*, u32 addr, int P2); -SQLITE_PRIVATE void sqlite3VdbeChangeP3(Vdbe*, u32 addr, int P3); +SQLITE_PRIVATE void sqlite3VdbeChangeOpcode(Vdbe*, int addr, u8); +SQLITE_PRIVATE void sqlite3VdbeChangeP1(Vdbe*, int addr, int P1); +SQLITE_PRIVATE void sqlite3VdbeChangeP2(Vdbe*, int addr, int P2); +SQLITE_PRIVATE void sqlite3VdbeChangeP3(Vdbe*, int addr, int P3); SQLITE_PRIVATE void sqlite3VdbeChangeP5(Vdbe*, u16 P5); SQLITE_PRIVATE void sqlite3VdbeJumpHere(Vdbe*, int addr); SQLITE_PRIVATE int sqlite3VdbeChangeToNoop(Vdbe*, int addr); @@ -15070,7 +15226,7 @@ SQLITE_PRIVATE void sqlite3VdbeAppendP4(Vdbe*, void *pP4, int p4type); SQLITE_PRIVATE void sqlite3VdbeSetP4KeyInfo(Parse*, Index*); SQLITE_PRIVATE void sqlite3VdbeUsesBtree(Vdbe*, int); SQLITE_PRIVATE VdbeOp *sqlite3VdbeGetOp(Vdbe*, int); -SQLITE_PRIVATE int sqlite3VdbeMakeLabel(Vdbe*); +SQLITE_PRIVATE int sqlite3VdbeMakeLabel(Parse*); SQLITE_PRIVATE void sqlite3VdbeRunOnlyOnce(Vdbe*); SQLITE_PRIVATE void sqlite3VdbeReusable(Vdbe*); SQLITE_PRIVATE void sqlite3VdbeDelete(Vdbe*); @@ -15091,6 +15247,10 @@ SQLITE_PRIVATE void sqlite3VdbeCountChanges(Vdbe*); SQLITE_PRIVATE sqlite3 *sqlite3VdbeDb(Vdbe*); SQLITE_PRIVATE u8 sqlite3VdbePrepareFlags(Vdbe*); SQLITE_PRIVATE void sqlite3VdbeSetSql(Vdbe*, const char *z, int n, u8); +#ifdef SQLITE_ENABLE_NORMALIZE +SQLITE_PRIVATE void sqlite3VdbeAddDblquoteStr(sqlite3*,Vdbe*,const char*); +SQLITE_PRIVATE int sqlite3VdbeUsesDoubleQuotedString(Vdbe*,const char*); +#endif SQLITE_PRIVATE void sqlite3VdbeSwap(Vdbe*,Vdbe*); SQLITE_PRIVATE VdbeOp *sqlite3VdbeTakeOpArray(Vdbe*, int*, int*); SQLITE_PRIVATE sqlite3_value *sqlite3VdbeGetBoundValue(Vdbe*, int, u8); @@ -16013,6 +16173,7 @@ SQLITE_PRIVATE void sqlite3OsCloseFree(sqlite3_file *); #define MUTEX_LOGIC(X) #else #define MUTEX_LOGIC(X) X +SQLITE_API int sqlite3_mutex_held(sqlite3_mutex*); #endif /* defined(SQLITE_MUTEX_OMIT) */ /************** End of mutex.h ***********************************************/ @@ -16216,10 +16377,13 @@ SQLITE_PRIVATE void sqlite3CryptFunc(sqlite3_context*,int,sqlite3_value**); /* This is an extra SQLITE_TRACE macro that indicates "legacy" tracing ** in the style of sqlite3_trace() */ -#define SQLITE_TRACE_LEGACY 0x80 +#define SQLITE_TRACE_LEGACY 0x40 /* Use the legacy xTrace */ +#define SQLITE_TRACE_XPROFILE 0x80 /* Use the legacy xProfile */ #else -#define SQLITE_TRACE_LEGACY 0 +#define SQLITE_TRACE_LEGACY 0 +#define SQLITE_TRACE_XPROFILE 0 #endif /* SQLITE_OMIT_DEPRECATED */ +#define SQLITE_TRACE_NONLEGACY_MASK 0x0f /* Normal flags */ /* @@ -16268,6 +16432,7 @@ struct sqlite3 { unsigned orphanTrigger : 1; /* Last statement is orphaned TEMP trigger */ unsigned imposterTable : 1; /* Building an imposter table */ unsigned reopenMemdb : 1; /* ATTACH is really a reopen using MemDB */ + char **azInit; /* "type", "name", and "tbl_name" columns */ } init; int nVdbeActive; /* Number of VDBEs currently running */ int nVdbeRead; /* Number of active VDBEs that read or write */ @@ -16278,14 +16443,17 @@ struct sqlite3 { void **aExtension; /* Array of shared library handles */ int (*xTrace)(u32,void*,void*,void*); /* Trace function */ void *pTraceArg; /* Argument to the trace function */ +#ifndef SQLITE_OMIT_DEPRECATED void (*xProfile)(void*,const char*,u64); /* Profiling function */ void *pProfileArg; /* Argument to profile function */ +#endif void *pCommitArg; /* Argument to xCommitCallback() */ int (*xCommitCallback)(void*); /* Invoked at every commit. */ void *pRollbackArg; /* Argument to xRollbackCallback() */ void (*xRollbackCallback)(void*); /* Invoked at every commit. */ void *pUpdateArg; void (*xUpdateCallback)(void*,int, const char*,const char*,sqlite_int64); + Parse *pParse; /* Current parse */ #ifdef SQLITE_ENABLE_PREUPDATE_HOOK void *pPreUpdateArg; /* First argument to xPreUpdateCallback */ void (*xPreUpdateCallback)( /* Registered using sqlite3_preupdate_hook() */ @@ -16401,15 +16569,19 @@ struct sqlite3 { #define SQLITE_LegacyAlter 0x04000000 /* Legacy ALTER TABLE behaviour */ #define SQLITE_NoSchemaError 0x08000000 /* Do not report schema parse errors*/ #define SQLITE_Defensive 0x10000000 /* Input SQL is likely hostile */ +#define SQLITE_DqsDDL 0x20000000 /* dbl-quoted strings allowed in DDL*/ +#define SQLITE_DqsDML 0x40000000 /* dbl-quoted strings allowed in DML*/ +#define SQLITE_EnableView 0x80000000 /* Enable the use of views */ /* Flags used only if debugging */ #define HI(X) ((u64)(X)<<32) #ifdef SQLITE_DEBUG -#define SQLITE_SqlTrace HI(0x0001) /* Debug print SQL as it executes */ -#define SQLITE_VdbeListing HI(0x0002) /* Debug listings of VDBE progs */ -#define SQLITE_VdbeTrace HI(0x0004) /* True to trace VDBE execution */ -#define SQLITE_VdbeAddopTrace HI(0x0008) /* Trace sqlite3VdbeAddOp() calls */ -#define SQLITE_VdbeEQP HI(0x0010) /* Debug EXPLAIN QUERY PLAN */ +#define SQLITE_SqlTrace HI(0x0100000) /* Debug print SQL as it executes */ +#define SQLITE_VdbeListing HI(0x0200000) /* Debug listings of VDBE progs */ +#define SQLITE_VdbeTrace HI(0x0400000) /* True to trace VDBE execution */ +#define SQLITE_VdbeAddopTrace HI(0x0800000) /* Trace sqlite3VdbeAddOp() calls */ +#define SQLITE_VdbeEQP HI(0x1000000) /* Debug EXPLAIN QUERY PLAN */ +#define SQLITE_ParserTrace HI(0x2000000) /* PRAGMA parser_trace=ON */ #endif /* @@ -16418,7 +16590,8 @@ struct sqlite3 { #define DBFLAG_SchemaChange 0x0001 /* Uncommitted Hash table changes */ #define DBFLAG_PreferBuiltin 0x0002 /* Preference to built-in funcs */ #define DBFLAG_Vacuum 0x0004 /* Currently in a VACUUM */ -#define DBFLAG_SchemaKnownOk 0x0008 /* Schema is known to be valid */ +#define DBFLAG_VacuumInto 0x0008 /* Currently running VACUUM INTO */ +#define DBFLAG_SchemaKnownOk 0x0010 /* Schema is known to be valid */ /* ** Bits of the sqlite3.dbOptFlags field that are used by the @@ -16426,7 +16599,7 @@ struct sqlite3 { ** selectively disable various optimizations. */ #define SQLITE_QueryFlattener 0x0001 /* Query flattening */ - /* 0x0002 available for reuse */ +#define SQLITE_WindowFunc 0x0002 /* Use xInverse for window functions */ #define SQLITE_GroupByOrder 0x0004 /* GROUPBY cover of ORDERBY */ #define SQLITE_FactorOutConst 0x0008 /* Constant factoring */ #define SQLITE_DistinctOpt 0x0010 /* DISTINCT using indexes */ @@ -16436,8 +16609,8 @@ struct sqlite3 { #define SQLITE_OmitNoopJoin 0x0100 /* Omit unused tables in joins */ #define SQLITE_CountOfView 0x0200 /* The count-of-view optimization */ #define SQLITE_CursorHints 0x0400 /* Add OP_CursorHint opcodes */ -#define SQLITE_Stat34 0x0800 /* Use STAT3 or STAT4 data */ - /* TH3 expects the Stat34 ^^^^^^ value to be 0x0800. Don't change it */ +#define SQLITE_Stat4 0x0800 /* Use STAT4 data */ + /* TH3 expects the Stat4 ^^^^^^ value to be 0x0800. Don't change it */ #define SQLITE_PushDown 0x1000 /* The push-down optimization */ #define SQLITE_SimplifyJoin 0x2000 /* Convert LEFT JOIN to JOIN */ #define SQLITE_SkipScan 0x4000 /* Skip-scans */ @@ -16525,6 +16698,7 @@ struct FuncDestructor { ** SQLITE_FUNC_LENGTH == OPFLAG_LENGTHARG ** SQLITE_FUNC_TYPEOF == OPFLAG_TYPEOFARG ** SQLITE_FUNC_CONSTANT == SQLITE_DETERMINISTIC from the API +** SQLITE_FUNC_DIRECT == SQLITE_DIRECTONLY from the API ** SQLITE_FUNC_ENCMASK depends on SQLITE_UTF* macros in the API */ #define SQLITE_FUNC_ENCMASK 0x0003 /* SQLITE_UTF8, SQLITE_UTF16BE or UTF16LE */ @@ -16544,8 +16718,9 @@ struct FuncDestructor { #define SQLITE_FUNC_AFFINITY 0x4000 /* Built-in affinity() function */ #define SQLITE_FUNC_OFFSET 0x8000 /* Built-in sqlite_offset() function */ #define SQLITE_FUNC_WINDOW 0x00010000 /* Built-in window-only function */ -#define SQLITE_FUNC_WINDOW_SIZE 0x20000 /* Requires partition size as arg. */ #define SQLITE_FUNC_INTERNAL 0x00040000 /* For use by NestedParse() only */ +#define SQLITE_FUNC_DIRECT 0x00080000 /* Not for use in TRIGGERs or VIEWs */ +#define SQLITE_FUNC_SUBTYPE 0x00100000 /* Result likely to have sub-type */ /* ** The following three macros, FUNCTION(), LIKEFUNC() and AGGREGATE() are @@ -16659,6 +16834,7 @@ struct Savepoint { struct Module { const sqlite3_module *pModule; /* Callback pointers */ const char *zName; /* Name passed to create_module() */ + int nRefModule; /* Number of pointers to this object */ void *pAux; /* pAux passed to create_module() */ void (*xDestroy)(void *); /* Module destructor function */ Table *pEpoTab; /* Eponymous table for this module */ @@ -16724,11 +16900,12 @@ struct CollSeq { ** Note also that the numeric types are grouped together so that testing ** for a numeric type is a single comparison. And the BLOB type is first. */ -#define SQLITE_AFF_BLOB 'A' -#define SQLITE_AFF_TEXT 'B' -#define SQLITE_AFF_NUMERIC 'C' -#define SQLITE_AFF_INTEGER 'D' -#define SQLITE_AFF_REAL 'E' +#define SQLITE_AFF_NONE 0x40 /* '@' */ +#define SQLITE_AFF_BLOB 0x41 /* 'A' */ +#define SQLITE_AFF_TEXT 0x42 /* 'B' */ +#define SQLITE_AFF_NUMERIC 0x43 /* 'C' */ +#define SQLITE_AFF_INTEGER 0x44 /* 'D' */ +#define SQLITE_AFF_REAL 0x45 /* 'E' */ #define sqlite3IsNumericAffinity(X) ((X)>=SQLITE_AFF_NUMERIC) @@ -16812,9 +16989,6 @@ struct VTable { struct Table { char *zName; /* Name of the table or view */ Column *aCol; /* Information about each column */ -#ifdef SQLITE_ENABLE_NORMALIZE - Hash *pColHash; /* All columns indexed by name */ -#endif Index *pIndex; /* List of SQL indexes on this table. */ Select *pSelect; /* NULL for tables. Points to definition if a view. */ FKey *pFKey; /* Linked list of all foreign keys in this table */ @@ -16999,10 +17173,16 @@ struct KeyInfo { u16 nKeyField; /* Number of key columns in the index */ u16 nAllField; /* Total columns, including key plus others */ sqlite3 *db; /* The database connection */ - u8 *aSortOrder; /* Sort order for each column. */ + u8 *aSortFlags; /* Sort order for each column. */ CollSeq *aColl[1]; /* Collating sequence for each term of the key */ }; +/* +** Allowed bit values for entries in the KeyInfo.aSortFlags[] array. +*/ +#define KEYINFO_ORDER_DESC 0x01 /* DESC sort order */ +#define KEYINFO_ORDER_BIGNULL 0x02 /* NULL is larger than any other value */ + /* ** This object holds a record which has been parsed out into individual ** fields, for the purposes of doing a comparison. @@ -17101,7 +17281,7 @@ struct Index { u16 nKeyCol; /* Number of columns forming the key */ u16 nColumn; /* Number of columns stored in the index */ u8 onError; /* OE_Abort, OE_Ignore, OE_Replace, or OE_None */ - unsigned idxType:2; /* 1==UNIQUE, 2==PRIMARY KEY, 0==CREATE INDEX */ + unsigned idxType:2; /* 0:Normal 1:UNIQUE, 2:PRIMARY KEY, 3:IPK */ unsigned bUnordered:1; /* Use this index for == or IN queries only */ unsigned uniqNotNull:1; /* True if UNIQUE and NOT NULL for all columns */ unsigned isResized:1; /* True if resizeIndexObject() has been called */ @@ -17109,7 +17289,8 @@ struct Index { unsigned noSkipScan:1; /* Do not try to use skip-scan if true */ unsigned hasStat1:1; /* aiRowLogEst values come from sqlite_stat1 */ unsigned bNoQuery:1; /* Do not use this index to optimize queries */ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 + unsigned bAscKeyBug:1; /* True if the bba7b69f9849b5bf bug applies */ +#ifdef SQLITE_ENABLE_STAT4 int nSample; /* Number of elements in aSample[] */ int nSampleCol; /* Size of IndexSample.anEq[] and so on */ tRowcnt *aAvgEq; /* Average nEq values for keys not in aSample */ @@ -17126,6 +17307,7 @@ struct Index { #define SQLITE_IDXTYPE_APPDEF 0 /* Created using CREATE INDEX */ #define SQLITE_IDXTYPE_UNIQUE 1 /* Implements a UNIQUE constraint */ #define SQLITE_IDXTYPE_PRIMARYKEY 2 /* Is the PRIMARY KEY for the table */ +#define SQLITE_IDXTYPE_IPK 3 /* INTEGER PRIMARY KEY index */ /* Return true if index X is a PRIMARY KEY index */ #define IsPrimaryKeyIndex(X) ((X)->idxType==SQLITE_IDXTYPE_PRIMARYKEY) @@ -17140,7 +17322,7 @@ struct Index { #define XN_EXPR (-2) /* Indexed column is an expression */ /* -** Each sample stored in the sqlite_stat3 table is represented in memory +** Each sample stored in the sqlite_stat4 table is represented in memory ** using a structure of this type. See documentation at the top of the ** analyze.c source file for additional information. */ @@ -17298,7 +17480,7 @@ typedef int ynVar; */ struct Expr { u8 op; /* Operation performed by this node */ - char affinity; /* The affinity of the column or 0 if not a column */ + char affExpr; /* affinity, or RAISE type */ u32 flags; /* Various flags. EP_* See below */ union { char *zToken; /* Token value. Zero terminated and dequoted */ @@ -17329,51 +17511,67 @@ struct Expr { ** TK_REGISTER: register number ** TK_TRIGGER: 1 -> new, 0 -> old ** EP_Unlikely: 134217728 times likelihood + ** TK_IN: ephemerial table holding RHS + ** TK_SELECT_COLUMN: Number of columns on the LHS ** TK_SELECT: 1st register of result vector */ ynVar iColumn; /* TK_COLUMN: column index. -1 for rowid. ** TK_VARIABLE: variable number (always >= 1). ** TK_SELECT_COLUMN: column of the result vector */ i16 iAgg; /* Which entry in pAggInfo->aCol[] or ->aFunc[] */ i16 iRightJoinTable; /* If EP_FromJoin, the right table of the join */ - u8 op2; /* TK_REGISTER: original value of Expr.op + u8 op2; /* TK_REGISTER/TK_TRUTH: original value of Expr.op ** TK_COLUMN: the value of p5 for OP_Column ** TK_AGG_FUNCTION: nesting depth */ AggInfo *pAggInfo; /* Used by TK_AGG_COLUMN and TK_AGG_FUNCTION */ union { Table *pTab; /* TK_COLUMN: Table containing column. Can be NULL ** for a column of an index on an expression */ - Window *pWin; /* TK_FUNCTION: Window definition for the func */ + Window *pWin; /* EP_WinFunc: Window/Filter defn for a function */ + struct { /* TK_IN, TK_SELECT, and TK_EXISTS */ + int iAddr; /* Subroutine entry address */ + int regReturn; /* Register used to hold return address */ + } sub; } y; }; /* ** The following are the meanings of bits in the Expr.flags field. -*/ -#define EP_FromJoin 0x000001 /* Originates in ON/USING clause of outer join */ -#define EP_Agg 0x000002 /* Contains one or more aggregate functions */ -#define EP_HasFunc 0x000004 /* Contains one or more functions of any kind */ -#define EP_FixedCol 0x000008 /* TK_Column with a known fixed value */ -#define EP_Distinct 0x000010 /* Aggregate function with DISTINCT keyword */ -#define EP_VarSelect 0x000020 /* pSelect is correlated, not constant */ -#define EP_DblQuoted 0x000040 /* token.z was originally in "..." */ -#define EP_InfixFunc 0x000080 /* True for an infix function: LIKE, GLOB, etc */ -#define EP_Collate 0x000100 /* Tree contains a TK_COLLATE operator */ -#define EP_Generic 0x000200 /* Ignore COLLATE or affinity on this tree */ -#define EP_IntValue 0x000400 /* Integer value contained in u.iValue */ -#define EP_xIsSelect 0x000800 /* x.pSelect is valid (otherwise x.pList is) */ -#define EP_Skip 0x001000 /* COLLATE, AS, or UNLIKELY */ -#define EP_Reduced 0x002000 /* Expr struct EXPR_REDUCEDSIZE bytes only */ -#define EP_TokenOnly 0x004000 /* Expr struct EXPR_TOKENONLYSIZE bytes only */ -#define EP_Static 0x008000 /* Held in memory not obtained from malloc() */ -#define EP_MemToken 0x010000 /* Need to sqlite3DbFree() Expr.zToken */ -#define EP_NoReduce 0x020000 /* Cannot EXPRDUP_REDUCE this Expr */ -#define EP_Unlikely 0x040000 /* unlikely() or likelihood() function */ -#define EP_ConstFunc 0x080000 /* A SQLITE_FUNC_CONSTANT or _SLOCHNG function */ -#define EP_CanBeNull 0x100000 /* Can be null despite NOT NULL constraint */ -#define EP_Subquery 0x200000 /* Tree contains a TK_SELECT operator */ -#define EP_Alias 0x400000 /* Is an alias for a result set column */ -#define EP_Leaf 0x800000 /* Expr.pLeft, .pRight, .u.pSelect all NULL */ -#define EP_WinFunc 0x1000000 /* TK_FUNCTION with Expr.y.pWin set */ +** Value restrictions: +** +** EP_Agg == NC_HasAgg == SF_HasAgg +** EP_Win == NC_HasWin +*/ +#define EP_FromJoin 0x000001 /* Originates in ON/USING clause of outer join */ +#define EP_Distinct 0x000002 /* Aggregate function with DISTINCT keyword */ +#define EP_HasFunc 0x000004 /* Contains one or more functions of any kind */ +#define EP_FixedCol 0x000008 /* TK_Column with a known fixed value */ +#define EP_Agg 0x000010 /* Contains one or more aggregate functions */ +#define EP_VarSelect 0x000020 /* pSelect is correlated, not constant */ +#define EP_DblQuoted 0x000040 /* token.z was originally in "..." */ +#define EP_InfixFunc 0x000080 /* True for an infix function: LIKE, GLOB, etc */ +#define EP_Collate 0x000100 /* Tree contains a TK_COLLATE operator */ + /* 0x000200 Available for reuse */ +#define EP_IntValue 0x000400 /* Integer value contained in u.iValue */ +#define EP_xIsSelect 0x000800 /* x.pSelect is valid (otherwise x.pList is) */ +#define EP_Skip 0x001000 /* Operator does not contribute to affinity */ +#define EP_Reduced 0x002000 /* Expr struct EXPR_REDUCEDSIZE bytes only */ +#define EP_TokenOnly 0x004000 /* Expr struct EXPR_TOKENONLYSIZE bytes only */ +#define EP_Win 0x008000 /* Contains window functions */ +#define EP_MemToken 0x010000 /* Need to sqlite3DbFree() Expr.zToken */ +#define EP_NoReduce 0x020000 /* Cannot EXPRDUP_REDUCE this Expr */ +#define EP_Unlikely 0x040000 /* unlikely() or likelihood() function */ +#define EP_ConstFunc 0x080000 /* A SQLITE_FUNC_CONSTANT or _SLOCHNG function */ +#define EP_CanBeNull 0x100000 /* Can be null despite NOT NULL constraint */ +#define EP_Subquery 0x200000 /* Tree contains a TK_SELECT operator */ +#define EP_Alias 0x400000 /* Is an alias for a result set column */ +#define EP_Leaf 0x800000 /* Expr.pLeft, .pRight, .u.pSelect all NULL */ +#define EP_WinFunc 0x1000000 /* TK_FUNCTION with Expr.y.pWin set */ +#define EP_Subrtn 0x2000000 /* Uses Expr.y.sub. TK_IN, _SELECT, or _EXISTS */ +#define EP_Quoted 0x4000000 /* TK_ID was originally quoted */ +#define EP_Static 0x8000000 /* Held in memory not obtained from malloc() */ +#define EP_IsTrue 0x10000000 /* Always has boolean value of TRUE */ +#define EP_IsFalse 0x20000000 /* Always has boolean value of FALSE */ +#define EP_Indirect 0x40000000 /* Contained within a TRIGGER or a VIEW */ /* ** The EP_Propagate mask is a set of properties that automatically propagate @@ -17389,6 +17587,8 @@ struct Expr { #define ExprHasAllProperty(E,P) (((E)->flags&(P))==(P)) #define ExprSetProperty(E,P) (E)->flags|=(P) #define ExprClearProperty(E,P) (E)->flags&=~(P) +#define ExprAlwaysTrue(E) (((E)->flags&(EP_FromJoin|EP_IsTrue))==EP_IsTrue) +#define ExprAlwaysFalse(E) (((E)->flags&(EP_FromJoin|EP_IsFalse))==EP_IsFalse) /* The ExprSetVVAProperty() macro is used for Verification, Validation, ** and Accreditation only. It works like ExprSetProperty() during VVA @@ -17415,6 +17615,18 @@ struct Expr { */ #define EXPRDUP_REDUCE 0x0001 /* Used reduced-size Expr nodes */ +/* +** True if the expression passed as an argument was a function with +** an OVER() clause (a window function). +*/ +#ifdef SQLITE_OMIT_WINDOWFUNC +# define IsWindowFunc(p) 0 +#else +# define IsWindowFunc(p) ( \ + ExprHasProperty((p), EP_WinFunc) && p->y.pWin->eFrmType!=TK_FILTER \ + ) +#endif + /* ** A list of expressions. Each expression may optionally have a ** name. An expr/name combination can be used in several ways, such @@ -17437,11 +17649,12 @@ struct ExprList { Expr *pExpr; /* The parse tree for this expression */ char *zName; /* Token associated with this expression */ char *zSpan; /* Original text of the expression */ - u8 sortOrder; /* 1 for DESC or 0 for ASC */ + u8 sortFlags; /* Mask of KEYINFO_ORDER_* flags */ unsigned done :1; /* A flag to indicate when processing is finished */ unsigned bSpanIsTab :1; /* zSpan holds DB.TABLE.COLUMN */ unsigned reusable :1; /* Constant expression is reusable */ unsigned bSorterRef :1; /* Defer evaluation until after sorting */ + unsigned bNulls: 1; /* True if explicit "NULLS FIRST/LAST" */ union { struct { u16 iOrderByCol; /* For ORDER BY, column number in result set */ @@ -17605,7 +17818,7 @@ struct NameContext { NameContext *pNext; /* Next outer name context. NULL for outermost */ int nRef; /* Number of names resolved by this context */ int nErr; /* Number of errors encountered while resolving names */ - u16 ncFlags; /* Zero or more NC_* flags defined below */ + int ncFlags; /* Zero or more NC_* flags defined below */ Select *pWinSelect; /* SELECT statement for any window functions */ }; @@ -17613,8 +17826,9 @@ struct NameContext { ** Allowed values for the NameContext, ncFlags field. ** ** Value constraints (all checked via assert()): -** NC_HasAgg == SF_HasAgg +** NC_HasAgg == SF_HasAgg == EP_Agg ** NC_MinMaxAgg == SF_MinMaxAgg == SQLITE_FUNC_MINMAX +** NC_HasWin == EP_Win ** */ #define NC_AllowAgg 0x0001 /* Aggregate functions are allowed here */ @@ -17630,6 +17844,8 @@ struct NameContext { #define NC_MinMaxAgg 0x1000 /* min/max aggregates seen. See note above */ #define NC_Complex 0x2000 /* True if a function or subquery seen */ #define NC_AllowWin 0x4000 /* Window functions are allowed here */ +#define NC_HasWin 0x8000 /* One or more window functions seen */ +#define NC_IsDDL 0x10000 /* Resolving names in a CREATE statement */ /* ** An instance of the following object describes a single ON CONFLICT @@ -17729,6 +17945,7 @@ struct Select { #define SF_Converted 0x10000 /* By convertCompoundSelectToSubquery() */ #define SF_IncludeHidden 0x20000 /* Include hidden columns in output */ #define SF_ComplexResult 0x40000 /* Result contains subquery or function */ +#define SF_WhereBegin 0x80000 /* Really a WhereBegin() call. Debug Only */ /* ** The results of a SELECT can be distributed in several ways, as defined @@ -17917,16 +18134,17 @@ struct Parse { u8 hasCompound; /* Need to invoke convertCompoundSelectToSubquery() */ u8 okConstFactor; /* OK to factor out constants */ u8 disableLookaside; /* Number of times lookaside has been disabled */ + u8 disableVtab; /* Disable all virtual tables for this parse */ int nRangeReg; /* Size of the temporary register block */ int iRangeReg; /* First register in temporary register block */ int nErr; /* Number of errors seen */ int nTab; /* Number of previously allocated VDBE cursors */ int nMem; /* Number of memory cells used so far */ - int nOpAlloc; /* Number of slots allocated for Vdbe.aOp[] */ int szOpAlloc; /* Bytes of memory space allocated for Vdbe.aOp[] */ int iSelfTab; /* Table associated with an index on expr, or negative ** of the base register during check-constraint eval */ - int nLabel; /* Number of labels used */ + int nLabel; /* The *negative* of the number of labels used */ + int nLabelAlloc; /* Number of slots in aLabel */ int *aLabel; /* Space to hold the labels */ ExprList *pConstExpr;/* Constant expressions */ Token constraintName;/* Name of the constraint currently being parsed */ @@ -17943,6 +18161,7 @@ struct Parse { AutoincInfo *pAinc; /* Information about AUTOINCREMENT counters */ Parse *pToplevel; /* Parse structure for main program (or NULL) */ Table *pTriggerTab; /* Table triggers are being coded for */ + Parse *pParentParse; /* Parent parser if this parser is nested */ int addrCrTab; /* Address of OP_CreateBtree opcode on CREATE TABLE */ u32 nQueryLoop; /* Est number of iterations of a query (10*log2(N)) */ u32 oldmask; /* Mask of old.* columns referenced */ @@ -17986,7 +18205,9 @@ struct Parse { Vdbe *pReprepare; /* VM being reprepared (sqlite3Reprepare()) */ const char *zTail; /* All SQL text past the last semicolon parsed */ Table *pNewTable; /* A table being constructed by CREATE TABLE */ - Index *pNewIndex; /* An index being constructed by CREATE INDEX */ + Index *pNewIndex; /* An index being constructed by CREATE INDEX. + ** Also used to hold redundant UNIQUE constraints + ** during a RENAME COLUMN */ Trigger *pNewTrigger; /* Trigger under construct by a CREATE TRIGGER */ const char *zAuthContext; /* The 6th parameter to db->xAuth callbacks */ #ifndef SQLITE_OMIT_VIRTUALTABLE @@ -18214,6 +18435,7 @@ typedef struct { int iDb; /* 0 for main database. 1 for TEMP, 2.. for ATTACHed */ int rc; /* Result code stored here */ u32 mInitFlags; /* Flags controlling error messages */ + u32 nInitRow; /* Number of rows processed */ } InitData; /* @@ -18228,11 +18450,12 @@ typedef struct { */ struct Sqlite3Config { int bMemstat; /* True to enable memory status */ - int bCoreMutex; /* True to enable core mutexing */ - int bFullMutex; /* True to enable full mutexing */ - int bOpenUri; /* True to interpret filenames as URIs */ - int bUseCis; /* Use covering indices for full-scans */ - int bSmallMalloc; /* Avoid large memory allocations if true */ + u8 bCoreMutex; /* True to enable core mutexing */ + u8 bFullMutex; /* True to enable full mutexing */ + u8 bOpenUri; /* True to interpret filenames as URIs */ + u8 bUseCis; /* Use covering indices for full-scans */ + u8 bSmallMalloc; /* Avoid large memory allocations if true */ + u8 bExtraSchemaChecks; /* Verify type,name,tbl_name in schema */ int mxStrlen; /* Maximum string length */ int neverCorrupt; /* Database is always well-formed */ int szLookaside; /* Default lookaside buffer size */ @@ -18274,6 +18497,9 @@ struct Sqlite3Config { void (*xVdbeBranch)(void*,unsigned iSrcLine,u8 eThis,u8 eMx); /* Callback */ void *pVdbeBranchArg; /* 1st argument */ #endif +#ifdef SQLITE_ENABLE_DESERIALIZE + sqlite3_int64 mxMemdbSize; /* Default max memdb size */ +#endif #ifndef SQLITE_UNTESTABLE int (*xTestCallback)(int); /* Invoked by sqlite3FaultSim() */ #endif @@ -18281,6 +18507,7 @@ struct Sqlite3Config { int bInternalFunctions; /* Internal SQL functions are visible */ int iOnceResetThreshold; /* When to reset OP_Once counters */ u32 szSorterRef; /* Min size in bytes to use sorter-refs */ + unsigned int iPrngSeed; /* Alternative fixed seed for the PRNG */ }; /* @@ -18377,10 +18604,11 @@ struct TreeView { #endif /* SQLITE_DEBUG */ /* -** This object is used in varioius ways, all related to window functions +** This object is used in various ways, most (but not all) related to window +** functions. ** ** (1) A single instance of this structure is attached to the -** the Expr.pWin field for each window function in an expression tree. +** the Expr.y.pWin field for each window function in an expression tree. ** This object holds the information contained in the OVER clause, ** plus additional fields used during code generation. ** @@ -18391,39 +18619,53 @@ struct TreeView { ** (3) The terms of the WINDOW clause of a SELECT are instances of this ** object on a linked list attached to Select.pWinDefn. ** +** (4) For an aggregate function with a FILTER clause, an instance +** of this object is stored in Expr.y.pWin with eFrmType set to +** TK_FILTER. In this case the only field used is Window.pFilter. +** ** The uses (1) and (2) are really the same Window object that just happens -** to be accessible in two different ways. Use (3) is are separate objects. +** to be accessible in two different ways. Use case (3) are separate objects. */ struct Window { char *zName; /* Name of window (may be NULL) */ + char *zBase; /* Name of base window for chaining (may be NULL) */ ExprList *pPartition; /* PARTITION BY clause */ ExprList *pOrderBy; /* ORDER BY clause */ - u8 eType; /* TK_RANGE or TK_ROWS */ + u8 eFrmType; /* TK_RANGE, TK_GROUPS, TK_ROWS, or 0 */ u8 eStart; /* UNBOUNDED, CURRENT, PRECEDING or FOLLOWING */ u8 eEnd; /* UNBOUNDED, CURRENT, PRECEDING or FOLLOWING */ + u8 bImplicitFrame; /* True if frame was implicitly specified */ + u8 eExclude; /* TK_NO, TK_CURRENT, TK_TIES, TK_GROUP, or 0 */ Expr *pStart; /* Expression for " PRECEDING" */ Expr *pEnd; /* Expression for " FOLLOWING" */ + Window **ppThis; /* Pointer to this object in Select.pWin list */ Window *pNextWin; /* Next window function belonging to this SELECT */ Expr *pFilter; /* The FILTER expression */ FuncDef *pFunc; /* The function */ int iEphCsr; /* Partition buffer or Peer buffer */ - int regAccum; - int regResult; + int regAccum; /* Accumulator */ + int regResult; /* Interim result */ int csrApp; /* Function cursor (used by min/max) */ int regApp; /* Function register (also used by min/max) */ - int regPart; /* First in a set of registers holding PARTITION BY - ** and ORDER BY values for the window */ + int regPart; /* Array of registers for PARTITION BY values */ Expr *pOwner; /* Expression object this window is attached to */ int nBufferCol; /* Number of columns in buffer table */ int iArgCol; /* Offset of first argument for this function */ + int regOne; /* Register containing constant value 1 */ + int regStartRowid; + int regEndRowid; + u8 bExprArgs; /* Defer evaluation of window function arguments + ** due to the SQLITE_SUBTYPE flag */ }; #ifndef SQLITE_OMIT_WINDOWFUNC SQLITE_PRIVATE void sqlite3WindowDelete(sqlite3*, Window*); +SQLITE_PRIVATE void sqlite3WindowUnlinkFromSelect(Window*); SQLITE_PRIVATE void sqlite3WindowListDelete(sqlite3 *db, Window *p); -SQLITE_PRIVATE Window *sqlite3WindowAlloc(Parse*, int, int, Expr*, int , Expr*); +SQLITE_PRIVATE Window *sqlite3WindowAlloc(Parse*, int, int, Expr*, int , Expr*, u8); SQLITE_PRIVATE void sqlite3WindowAttach(Parse*, Expr*, Window*); -SQLITE_PRIVATE int sqlite3WindowCompare(Parse*, Window*, Window*); +SQLITE_PRIVATE void sqlite3WindowLink(Select *pSel, Window *pWin); +SQLITE_PRIVATE int sqlite3WindowCompare(Parse*, Window*, Window*, int); SQLITE_PRIVATE void sqlite3WindowCodeInit(Parse*, Window*); SQLITE_PRIVATE void sqlite3WindowCodeStep(Parse*, Select*, WhereInfo*, int, int); SQLITE_PRIVATE int sqlite3WindowRewrite(Parse*, Select*); @@ -18432,6 +18674,8 @@ SQLITE_PRIVATE void sqlite3WindowUpdate(Parse*, Window*, Window*, FuncDef*); SQLITE_PRIVATE Window *sqlite3WindowDup(sqlite3 *db, Expr *pOwner, Window *p); SQLITE_PRIVATE Window *sqlite3WindowListDup(sqlite3 *db, Window *p); SQLITE_PRIVATE void sqlite3WindowFunctions(void); +SQLITE_PRIVATE void sqlite3WindowChain(Parse*, Window*, Window*); +SQLITE_PRIVATE Window *sqlite3WindowAssemble(Parse*, Window*, ExprList*, ExprList*, Token*); #else # define sqlite3WindowDelete(a,b) # define sqlite3WindowFunctions() @@ -18621,8 +18865,12 @@ SQLITE_PRIVATE void sqlite3MutexWarnOnContention(sqlite3_mutex*); #endif #ifndef SQLITE_OMIT_FLOATING_POINT +# define EXP754 (((u64)0x7ff)<<52) +# define MAN754 ((((u64)1)<<52)-1) +# define IsNaN(X) (((X)&EXP754)==EXP754 && ((X)&MAN754)!=0) SQLITE_PRIVATE int sqlite3IsNaN(double); #else +# define IsNaN(X) 0 # define sqlite3IsNaN(X) 0 #endif @@ -18661,7 +18909,9 @@ SQLITE_PRIVATE void sqlite3TreeViewWinFunc(TreeView*, const Window*, u8); SQLITE_PRIVATE void sqlite3SetString(char **, sqlite3*, const char*); SQLITE_PRIVATE void sqlite3ErrorMsg(Parse*, const char*, ...); +SQLITE_PRIVATE int sqlite3ErrorToParser(sqlite3*,int); SQLITE_PRIVATE void sqlite3Dequote(char*); +SQLITE_PRIVATE void sqlite3DequoteExpr(Expr*); SQLITE_PRIVATE void sqlite3TokenInit(Token*,char*); SQLITE_PRIVATE int sqlite3KeywordCode(const unsigned char*, int); SQLITE_PRIVATE int sqlite3RunParser(Parse*, const char*, char **); @@ -18679,17 +18929,20 @@ SQLITE_PRIVATE Expr *sqlite3Expr(sqlite3*,int,const char*); SQLITE_PRIVATE void sqlite3ExprAttachSubtrees(sqlite3*,Expr*,Expr*,Expr*); SQLITE_PRIVATE Expr *sqlite3PExpr(Parse*, int, Expr*, Expr*); SQLITE_PRIVATE void sqlite3PExprAddSelect(Parse*, Expr*, Select*); -SQLITE_PRIVATE Expr *sqlite3ExprAnd(sqlite3*,Expr*, Expr*); +SQLITE_PRIVATE Expr *sqlite3ExprAnd(Parse*,Expr*, Expr*); +SQLITE_PRIVATE Expr *sqlite3ExprSimplifiedAndOr(Expr*); SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse*,ExprList*, Token*, int); SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse*, Expr*, u32); SQLITE_PRIVATE void sqlite3ExprDelete(sqlite3*, Expr*); +SQLITE_PRIVATE void sqlite3ExprUnmapAndDelete(Parse*, Expr*); SQLITE_PRIVATE ExprList *sqlite3ExprListAppend(Parse*,ExprList*,Expr*); SQLITE_PRIVATE ExprList *sqlite3ExprListAppendVector(Parse*,ExprList*,IdList*,Expr*); -SQLITE_PRIVATE void sqlite3ExprListSetSortOrder(ExprList*,int); +SQLITE_PRIVATE void sqlite3ExprListSetSortOrder(ExprList*,int,int); SQLITE_PRIVATE void sqlite3ExprListSetName(Parse*,ExprList*,Token*,int); SQLITE_PRIVATE void sqlite3ExprListSetSpan(Parse*,ExprList*,const char*,const char*); SQLITE_PRIVATE void sqlite3ExprListDelete(sqlite3*, ExprList*); SQLITE_PRIVATE u32 sqlite3ExprListFlags(const ExprList*); +SQLITE_PRIVATE int sqlite3IndexHasDuplicateRootPage(Index*); SQLITE_PRIVATE int sqlite3Init(sqlite3*, char**); SQLITE_PRIVATE int sqlite3InitCallback(void*, int, char**, char**); SQLITE_PRIVATE int sqlite3InitOne(sqlite3*, int, char**, u32); @@ -18703,8 +18956,8 @@ SQLITE_PRIVATE void sqlite3CollapseDatabaseArray(sqlite3*); SQLITE_PRIVATE void sqlite3CommitInternalChanges(sqlite3*); SQLITE_PRIVATE void sqlite3DeleteColumnNames(sqlite3*,Table*); SQLITE_PRIVATE int sqlite3ColumnsFromExprList(Parse*,ExprList*,i16*,Column**); -SQLITE_PRIVATE void sqlite3SelectAddColumnTypeAndCollation(Parse*,Table*,Select*); -SQLITE_PRIVATE Table *sqlite3ResultSetOfSelect(Parse*,Select*); +SQLITE_PRIVATE void sqlite3SelectAddColumnTypeAndCollation(Parse*,Table*,Select*,char); +SQLITE_PRIVATE Table *sqlite3ResultSetOfSelect(Parse*,Select*,char); SQLITE_PRIVATE void sqlite3OpenMasterTable(Parse *, int); SQLITE_PRIVATE Index *sqlite3PrimaryKeyIndex(Table*); SQLITE_PRIVATE i16 sqlite3ColumnOfIndex(Index*, i16); @@ -18723,6 +18976,11 @@ SQLITE_PRIVATE void sqlite3AddCollateType(Parse*, Token*); SQLITE_PRIVATE void sqlite3EndTable(Parse*,Token*,Token*,u8,Select*); SQLITE_PRIVATE int sqlite3ParseUri(const char*,const char*,unsigned int*, sqlite3_vfs**,char**,char **); +#ifdef SQLITE_HAS_CODEC +SQLITE_PRIVATE int sqlite3CodecQueryParameters(sqlite3*,const char*,const char*); +#else +# define sqlite3CodecQueryParameters(A,B,C) 0 +#endif SQLITE_PRIVATE Btree *sqlite3DbNameToBtree(sqlite3*,const char*); #ifdef SQLITE_UNTESTABLE @@ -18775,8 +19033,8 @@ SQLITE_PRIVATE void sqlite3Insert(Parse*, SrcList*, Select*, IdList*, int, Upser SQLITE_PRIVATE void *sqlite3ArrayAllocate(sqlite3*,void*,int,int*,int*); SQLITE_PRIVATE IdList *sqlite3IdListAppend(Parse*, IdList*, Token*); SQLITE_PRIVATE int sqlite3IdListIndex(IdList*,const char*); -SQLITE_PRIVATE SrcList *sqlite3SrcListEnlarge(sqlite3*, SrcList*, int, int); -SQLITE_PRIVATE SrcList *sqlite3SrcListAppend(sqlite3*, SrcList*, Token*, Token*); +SQLITE_PRIVATE SrcList *sqlite3SrcListEnlarge(Parse*, SrcList*, int, int); +SQLITE_PRIVATE SrcList *sqlite3SrcListAppend(Parse*, SrcList*, Token*, Token*); SQLITE_PRIVATE SrcList *sqlite3SrcListAppendFromTerm(Parse*, SrcList*, Token*, Token*, Token*, Select*, Expr*, IdList*); SQLITE_PRIVATE void sqlite3SrcListIndexedBy(Parse *, SrcList *, Token *); @@ -18843,8 +19101,8 @@ SQLITE_PRIVATE Table *sqlite3LocateTableItem(Parse*,u32 flags,struct SrcList_ite SQLITE_PRIVATE Index *sqlite3FindIndex(sqlite3*,const char*, const char*); SQLITE_PRIVATE void sqlite3UnlinkAndDeleteTable(sqlite3*,int,const char*); SQLITE_PRIVATE void sqlite3UnlinkAndDeleteIndex(sqlite3*,int,const char*); -SQLITE_PRIVATE void sqlite3Vacuum(Parse*,Token*); -SQLITE_PRIVATE int sqlite3RunVacuum(char**, sqlite3*, int); +SQLITE_PRIVATE void sqlite3Vacuum(Parse*,Token*,Expr*); +SQLITE_PRIVATE int sqlite3RunVacuum(char**, sqlite3*, int, sqlite3_value*); SQLITE_PRIVATE char *sqlite3NameFromToken(sqlite3*, Token*); SQLITE_PRIVATE int sqlite3ExprCompare(Parse*,Expr*, Expr*, int); SQLITE_PRIVATE int sqlite3ExprCompareSkip(Expr*, Expr*, int); @@ -18882,9 +19140,6 @@ SQLITE_PRIVATE int sqlite3ExprIsInteger(Expr*, int*); SQLITE_PRIVATE int sqlite3ExprCanBeNull(const Expr*); SQLITE_PRIVATE int sqlite3ExprNeedsNoAffinityChange(const Expr*, char); SQLITE_PRIVATE int sqlite3IsRowid(const char*); -#ifdef SQLITE_ENABLE_NORMALIZE -SQLITE_PRIVATE int sqlite3IsRowidN(const char*, int); -#endif SQLITE_PRIVATE void sqlite3GenerateRowDelete( Parse*,Table*,Trigger*,int,int,int,i16,u8,u8,u8,int); SQLITE_PRIVATE void sqlite3GenerateRowIndexDelete(Parse*, Table*, int, int, int*, int); @@ -18911,9 +19166,7 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListDup(sqlite3*,ExprList*,int); SQLITE_PRIVATE SrcList *sqlite3SrcListDup(sqlite3*,SrcList*,int); SQLITE_PRIVATE IdList *sqlite3IdListDup(sqlite3*,IdList*); SQLITE_PRIVATE Select *sqlite3SelectDup(sqlite3*,Select*,int); -#ifdef SQLITE_ENABLE_NORMALIZE -SQLITE_PRIVATE FuncDef *sqlite3FunctionSearchN(int,const char*,int); -#endif +SQLITE_PRIVATE FuncDef *sqlite3FunctionSearch(int,const char*); SQLITE_PRIVATE void sqlite3InsertBuiltinFuncs(FuncDef*,int); SQLITE_PRIVATE FuncDef *sqlite3FindFunction(sqlite3*,const char*,int,u8,u8); SQLITE_PRIVATE void sqlite3RegisterBuiltinFunctions(void); @@ -18990,6 +19243,7 @@ SQLITE_PRIVATE int sqlite3FixSelect(DbFixer*, Select*); SQLITE_PRIVATE int sqlite3FixExpr(DbFixer*, Expr*); SQLITE_PRIVATE int sqlite3FixExprList(DbFixer*, ExprList*); SQLITE_PRIVATE int sqlite3FixTriggerStep(DbFixer*, TriggerStep*); +SQLITE_PRIVATE int sqlite3RealSameAsInt(double,sqlite3_int64); SQLITE_PRIVATE int sqlite3AtoF(const char *z, double*, int, u8); SQLITE_PRIVATE int sqlite3GetInt32(const char *, int*); SQLITE_PRIVATE int sqlite3Atoi(const char*); @@ -19004,7 +19258,7 @@ SQLITE_PRIVATE LogEst sqlite3LogEstAdd(LogEst,LogEst); SQLITE_PRIVATE LogEst sqlite3LogEstFromDouble(double); #endif #if defined(SQLITE_ENABLE_STMT_SCANSTATUS) || \ - defined(SQLITE_ENABLE_STAT3_OR_STAT4) || \ + defined(SQLITE_ENABLE_STAT4) || \ defined(SQLITE_EXPLAIN_ESTIMATED_ROWS) SQLITE_PRIVATE u64 sqlite3LogEstToInt(LogEst); #endif @@ -19070,9 +19324,10 @@ SQLITE_PRIVATE int sqlite3ExprCollSeqMatch(Parse*,Expr*,Expr*); SQLITE_PRIVATE Expr *sqlite3ExprAddCollateToken(Parse *pParse, Expr*, const Token*, int); SQLITE_PRIVATE Expr *sqlite3ExprAddCollateString(Parse*,Expr*,const char*); SQLITE_PRIVATE Expr *sqlite3ExprSkipCollate(Expr*); +SQLITE_PRIVATE Expr *sqlite3ExprSkipCollateAndLikely(Expr*); SQLITE_PRIVATE int sqlite3CheckCollSeq(Parse *, CollSeq *); SQLITE_PRIVATE int sqlite3WritableSchema(sqlite3*); -SQLITE_PRIVATE int sqlite3CheckObjectName(Parse *, const char *); +SQLITE_PRIVATE int sqlite3CheckObjectName(Parse*, const char*,const char*,const char*); SQLITE_PRIVATE void sqlite3VdbeSetChanges(sqlite3 *, int); SQLITE_PRIVATE int sqlite3AddInt64(i64*,i64); SQLITE_PRIVATE int sqlite3SubInt64(i64*,i64); @@ -19091,6 +19346,9 @@ SQLITE_PRIVATE void sqlite3ValueSetStr(sqlite3_value*, int, const void *,u8, void(*)(void*)); SQLITE_PRIVATE void sqlite3ValueSetNull(sqlite3_value*); SQLITE_PRIVATE void sqlite3ValueFree(sqlite3_value*); +#ifndef SQLITE_UNTESTABLE +SQLITE_PRIVATE void sqlite3ResultIntReal(sqlite3_context*); +#endif SQLITE_PRIVATE sqlite3_value *sqlite3ValueNew(sqlite3 *); #ifndef SQLITE_OMIT_UTF16 SQLITE_PRIVATE char *sqlite3Utf16to8(sqlite3 *, const void*, int, u8); @@ -19102,7 +19360,6 @@ SQLITE_PRIVATE const unsigned char sqlite3OpcodeProperty[]; SQLITE_PRIVATE const char sqlite3StrBINARY[]; SQLITE_PRIVATE const unsigned char sqlite3UpperToLower[]; SQLITE_PRIVATE const unsigned char sqlite3CtypeMap[]; -SQLITE_PRIVATE const Token sqlite3IntTokens[]; SQLITE_PRIVATE SQLITE_WSD struct Sqlite3Config sqlite3Config; SQLITE_PRIVATE FuncDefHash sqlite3BuiltinFunctions; #ifndef SQLITE_OMIT_WSD @@ -19118,19 +19375,17 @@ SQLITE_PRIVATE void sqlite3AlterFunctions(void); SQLITE_PRIVATE void sqlite3AlterRenameTable(Parse*, SrcList*, Token*); SQLITE_PRIVATE void sqlite3AlterRenameColumn(Parse*, SrcList*, Token*, Token*); SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *, int *); -#ifdef SQLITE_ENABLE_NORMALIZE -SQLITE_PRIVATE int sqlite3GetTokenNormalized(const unsigned char *, int *, int *); -#endif SQLITE_PRIVATE void sqlite3NestedParse(Parse*, const char*, ...); SQLITE_PRIVATE void sqlite3ExpirePreparedStatements(sqlite3*, int); -SQLITE_PRIVATE int sqlite3CodeSubselect(Parse*, Expr *, int, int); +SQLITE_PRIVATE void sqlite3CodeRhsOfIN(Parse*, Expr*, int); +SQLITE_PRIVATE int sqlite3CodeSubselect(Parse*, Expr*); SQLITE_PRIVATE void sqlite3SelectPrep(Parse*, Select*, NameContext*); SQLITE_PRIVATE void sqlite3SelectWrongNumTermsError(Parse *pParse, Select *p); SQLITE_PRIVATE int sqlite3MatchSpanName(const char*, const char*, const char*, const char*); SQLITE_PRIVATE int sqlite3ResolveExprNames(NameContext*, Expr*); SQLITE_PRIVATE int sqlite3ResolveExprListNames(NameContext*, ExprList*); SQLITE_PRIVATE void sqlite3ResolveSelectNames(Parse*, Select*, NameContext*); -SQLITE_PRIVATE void sqlite3ResolveSelfReference(Parse*,Table*,int,Expr*,ExprList*); +SQLITE_PRIVATE int sqlite3ResolveSelfReference(Parse*,Table*,int,Expr*,ExprList*); SQLITE_PRIVATE int sqlite3ResolveOrderGroupBy(Parse*, Select*, ExprList*, const char*); SQLITE_PRIVATE void sqlite3ColumnDefault(Vdbe *, Table *, int, int); SQLITE_PRIVATE void sqlite3AlterFinishAddColumn(Parse *, Token *); @@ -19158,6 +19413,7 @@ SQLITE_PRIVATE void sqlite3KeyInfoUnref(KeyInfo*); SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoRef(KeyInfo*); SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoOfIndex(Parse*, Index*); SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoFromExprList(Parse*, ExprList*, int, int); +SQLITE_PRIVATE int sqlite3HasExplicitNulls(Parse*, ExprList*); #ifdef SQLITE_DEBUG SQLITE_PRIVATE int sqlite3KeyInfoIsWriteable(KeyInfo*); @@ -19190,8 +19446,7 @@ SQLITE_PRIVATE int sqlite3ExprCheckIN(Parse*, Expr*); # define sqlite3ExprCheckIN(x,y) SQLITE_OK #endif -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 -SQLITE_PRIVATE void sqlite3AnalyzeFunctions(void); +#ifdef SQLITE_ENABLE_STAT4 SQLITE_PRIVATE int sqlite3Stat4ProbeSetValue( Parse*,Index*,UnpackedRecord**,Expr*,int,int,int*); SQLITE_PRIVATE int sqlite3Stat4ValueFromExpr(Parse*, Expr*, u8, sqlite3_value**); @@ -19238,6 +19493,7 @@ SQLITE_PRIVATE int sqlite3Utf8To8(unsigned char*); # define sqlite3VtabInSync(db) 0 # define sqlite3VtabLock(X) # define sqlite3VtabUnlock(X) +# define sqlite3VtabModuleUnref(D,X) # define sqlite3VtabUnlockList(X) # define sqlite3VtabSavepoint(X, Y, Z) SQLITE_OK # define sqlite3GetVTable(X,Y) ((VTable*)0) @@ -19249,6 +19505,7 @@ SQLITE_PRIVATE int sqlite3VtabRollback(sqlite3 *db); SQLITE_PRIVATE int sqlite3VtabCommit(sqlite3 *db); SQLITE_PRIVATE void sqlite3VtabLock(VTable *); SQLITE_PRIVATE void sqlite3VtabUnlock(VTable *); +SQLITE_PRIVATE void sqlite3VtabModuleUnref(sqlite3*,Module*); SQLITE_PRIVATE void sqlite3VtabUnlockList(sqlite3*); SQLITE_PRIVATE int sqlite3VtabSavepoint(sqlite3 *, int, int); SQLITE_PRIVATE void sqlite3VtabImportErrmsg(Vdbe*, sqlite3_vtab*); @@ -19279,7 +19536,7 @@ SQLITE_PRIVATE int sqlite3VdbeParameterIndex(Vdbe*, const char*, int); SQLITE_PRIVATE int sqlite3TransferBindings(sqlite3_stmt *, sqlite3_stmt *); SQLITE_PRIVATE void sqlite3ParserReset(Parse*); #ifdef SQLITE_ENABLE_NORMALIZE -SQLITE_PRIVATE void sqlite3Normalize(Vdbe*, const char*, int, u8); +SQLITE_PRIVATE char *sqlite3Normalize(Vdbe*, const char*); #endif SQLITE_PRIVATE int sqlite3Reprepare(Vdbe*); SQLITE_PRIVATE void sqlite3ExprListCheckLength(Parse*, ExprList*, const char*); @@ -19375,7 +19632,7 @@ SQLITE_PRIVATE void sqlite3EndBenignMalloc(void); #define IN_INDEX_NOOP_OK 0x0001 /* OK to return IN_INDEX_NOOP */ #define IN_INDEX_MEMBERSHIP 0x0002 /* IN operator used for membership test */ #define IN_INDEX_LOOP 0x0004 /* IN operator used as a loop */ -SQLITE_PRIVATE int sqlite3FindInIndex(Parse *, Expr *, u32, int*, int*); +SQLITE_PRIVATE int sqlite3FindInIndex(Parse *, Expr *, u32, int*, int*, int*); SQLITE_PRIVATE int sqlite3JournalOpen(sqlite3_vfs *, const char *, sqlite3_file *, int, int); SQLITE_PRIVATE int sqlite3JournalSize(sqlite3_vfs *); @@ -19655,8 +19912,15 @@ SQLITE_PRIVATE const unsigned char sqlite3CtypeMap[256] = { ** SQLITE_ALLOW_COVERING_INDEX_SCAN compile-time option, or is "on" if ** that compile-time option is omitted. */ -#ifndef SQLITE_ALLOW_COVERING_INDEX_SCAN +#if !defined(SQLITE_ALLOW_COVERING_INDEX_SCAN) # define SQLITE_ALLOW_COVERING_INDEX_SCAN 1 +#else +# if !SQLITE_ALLOW_COVERING_INDEX_SCAN +# error "Compile-time disabling of covering index scan using the\ + -DSQLITE_ALLOW_COVERING_INDEX_SCAN=0 option is deprecated.\ + Contact SQLite developers if this is a problem for you, and\ + delete this #error macro to continue with your build." +# endif #endif /* The minimum PMA size is set to this value multiplied by the database @@ -19691,6 +19955,13 @@ SQLITE_PRIVATE const unsigned char sqlite3CtypeMap[256] = { #endif +/* The default maximum size of an in-memory database created using +** sqlite3_deserialize() +*/ +#ifndef SQLITE_MEMDB_DEFAULT_MAXSIZE +# define SQLITE_MEMDB_DEFAULT_MAXSIZE 1073741824 +#endif + /* ** The following singleton contains the global configuration for ** the SQLite library. @@ -19702,6 +19973,7 @@ SQLITE_PRIVATE SQLITE_WSD struct Sqlite3Config sqlite3Config = { SQLITE_USE_URI, /* bOpenUri */ SQLITE_ALLOW_COVERING_INDEX_SCAN, /* bUseCis */ 0, /* bSmallMalloc */ + 1, /* bExtraSchemaChecks */ 0x7ffffffe, /* mxStrlen */ 0, /* neverCorrupt */ SQLITE_DEFAULT_LOOKASIDE, /* szLookaside, nLookaside */ @@ -19738,13 +20010,17 @@ SQLITE_PRIVATE SQLITE_WSD struct Sqlite3Config sqlite3Config = { 0, /* xVdbeBranch */ 0, /* pVbeBranchArg */ #endif +#ifdef SQLITE_ENABLE_DESERIALIZE + SQLITE_MEMDB_DEFAULT_MAXSIZE, /* mxMemdbSize */ +#endif #ifndef SQLITE_UNTESTABLE 0, /* xTestCallback */ #endif 0, /* bLocaltimeFault */ 0, /* bInternalFunctions */ 0x7ffffffe, /* iOnceResetThreshold */ - SQLITE_DEFAULT_SORTERREF_SIZE /* szSorterRef */ + SQLITE_DEFAULT_SORTERREF_SIZE, /* szSorterRef */ + 0, /* iPrngSeed */ }; /* @@ -19754,14 +20030,6 @@ SQLITE_PRIVATE SQLITE_WSD struct Sqlite3Config sqlite3Config = { */ SQLITE_PRIVATE FuncDefHash sqlite3BuiltinFunctions; -/* -** Constant tokens for values 0 and 1. -*/ -SQLITE_PRIVATE const Token sqlite3IntTokens[] = { - { "0", 1 }, - { "1", 1 } -}; - #ifdef VDBE_PROFILE /* ** The following performance counter can be used in place of @@ -20073,12 +20341,12 @@ struct sqlite3_value { #define MEM_Int 0x0004 /* Value is an integer */ #define MEM_Real 0x0008 /* Value is a real number */ #define MEM_Blob 0x0010 /* Value is a BLOB */ -#define MEM_AffMask 0x001f /* Mask of affinity bits */ -/* Available 0x0020 */ -/* Available 0x0040 */ +#define MEM_IntReal 0x0020 /* MEM_Int that stringifies like MEM_Real */ +#define MEM_AffMask 0x003f /* Mask of affinity bits */ +#define MEM_FromBind 0x0040 /* Value originates from sqlite3_bind() */ #define MEM_Undefined 0x0080 /* Value is undefined */ #define MEM_Cleared 0x0100 /* NULL set by OP_Null, not from data */ -#define MEM_TypeMask 0xc1ff /* Mask of type bits */ +#define MEM_TypeMask 0xc1bf /* Mask of type bits */ /* Whenever Mem contains a valid string or blob representation, one of @@ -20110,6 +20378,12 @@ struct sqlite3_value { #define MemSetTypeFlag(p, f) \ ((p)->flags = ((p)->flags&~(MEM_TypeMask|MEM_Zero))|f) +/* +** True if Mem X is a NULL-nochng type. +*/ +#define MemNullNochng(X) \ + ((X)->flags==(MEM_Null|MEM_Zero) && (X)->n==0 && (X)->u.nZero==0) + /* ** Return true if a memory cell is not marked as invalid. This macro ** is for use inside assert() statements only. @@ -20163,6 +20437,9 @@ struct sqlite3_context { */ typedef unsigned bft; /* Bit Field Type */ +/* The ScanStatus object holds a single value for the +** sqlite3_stmt_scanstatus() interface. +*/ typedef struct ScanStatus ScanStatus; struct ScanStatus { int addrExplain; /* OP_Explain for loop */ @@ -20173,6 +20450,19 @@ struct ScanStatus { char *zName; /* Name of table or index */ }; +/* The DblquoteStr object holds the text of a double-quoted +** string for a prepared statement. A linked list of these objects +** is constructed during statement parsing and is held on Vdbe.pDblStr. +** When computing a normalized SQL statement for an SQL statement, that +** list is consulted for each double-quoted identifier to see if the +** identifier should really be a string literal. +*/ +typedef struct DblquoteStr DblquoteStr; +struct DblquoteStr { + DblquoteStr *pNextStr; /* Next string literal in the list */ + char z[8]; /* Dequoted value for the string */ +}; + /* ** An instance of the virtual machine. This structure contains the complete ** state of the virtual machine. @@ -20192,28 +20482,29 @@ struct Vdbe { int pc; /* The program counter */ int rc; /* Value to return */ int nChange; /* Number of db changes made since last reset */ - int iStatement; /* Statement number (or 0 if has not opened stmt) */ + int iStatement; /* Statement number (or 0 if has no opened stmt) */ i64 iCurrentTime; /* Value of julianday('now') for this statement */ i64 nFkConstraint; /* Number of imm. FK constraints this VM */ i64 nStmtDefCons; /* Number of def. constraints when stmt started */ i64 nStmtDefImmCons; /* Number of def. imm constraints when stmt started */ + Mem *aMem; /* The memory locations */ + Mem **apArg; /* Arguments to currently executing user function */ + VdbeCursor **apCsr; /* One element of this array for each open cursor */ + Mem *aVar; /* Values for the OP_Variable opcode. */ /* When allocating a new Vdbe object, all of the fields below should be ** initialized to zero or NULL */ Op *aOp; /* Space to hold the virtual machine's program */ - Mem *aMem; /* The memory locations */ - Mem **apArg; /* Arguments to currently executing user function */ + int nOp; /* Number of instructions in the program */ + int nOpAlloc; /* Slots allocated for aOp[] */ Mem *aColName; /* Column names to return */ Mem *pResultSet; /* Pointer to an array of results */ char *zErrMsg; /* Error message written here */ - VdbeCursor **apCsr; /* One element of this array for each open cursor */ - Mem *aVar; /* Values for the OP_Variable opcode. */ VList *pVList; /* Name of variables */ #ifndef SQLITE_OMIT_TRACE i64 startTime; /* Time when query started - used for profiling */ #endif - int nOp; /* Number of instructions in the program */ #ifdef SQLITE_DEBUG int rcApp; /* errcode set by sqlite3_result_error_code() */ u32 nWrite; /* Number of write operations that have occurred */ @@ -20236,6 +20527,7 @@ struct Vdbe { char *zSql; /* Text of the SQL statement that generated this */ #ifdef SQLITE_ENABLE_NORMALIZE char *zNormSql; /* Normalization of the associated SQL statement */ + DblquoteStr *pDblStr; /* List of double-quoted string literals */ #endif void *pFree; /* Free this when deleting the vdbe */ VdbeFrame *pFrame; /* Parent frame */ @@ -20290,7 +20582,6 @@ SQLITE_PRIVATE int sqlite3VdbeCursorMoveto(VdbeCursor**, int*); SQLITE_PRIVATE int sqlite3VdbeCursorRestore(VdbeCursor*); SQLITE_PRIVATE u32 sqlite3VdbeSerialTypeLen(u32); SQLITE_PRIVATE u8 sqlite3VdbeOneByteSerialTypeLen(u8); -SQLITE_PRIVATE u32 sqlite3VdbeSerialType(Mem*, int, u32*); SQLITE_PRIVATE u32 sqlite3VdbeSerialPut(unsigned char*, Mem*, u32); SQLITE_PRIVATE u32 sqlite3VdbeSerialGet(const unsigned char*, u32, Mem*); SQLITE_PRIVATE void sqlite3VdbeDeleteAuxData(sqlite3*, AuxData**, int, int); @@ -21174,7 +21465,7 @@ static int parseDateOrTime( return 0; }else if( sqlite3StrICmp(zDate,"now")==0 && sqlite3NotPureFunc(context) ){ return setDateTimeToCurrent(context, p); - }else if( sqlite3AtoF(zDate, &r, sqlite3Strlen30(zDate), SQLITE_UTF8) ){ + }else if( sqlite3AtoF(zDate, &r, sqlite3Strlen30(zDate), SQLITE_UTF8)>0 ){ setRawDateNumber(p, r); return 0; } @@ -21508,7 +21799,7 @@ static int parseModifier( ** date is already on the appropriate weekday, this is a no-op. */ if( sqlite3_strnicmp(z, "weekday ", 8)==0 - && sqlite3AtoF(&z[8], &r, sqlite3Strlen30(&z[8]), SQLITE_UTF8) + && sqlite3AtoF(&z[8], &r, sqlite3Strlen30(&z[8]), SQLITE_UTF8)>0 && (n=(int)r)==r && n>=0 && r<7 ){ sqlite3_int64 Z; computeYMD_HMS(p); @@ -21567,7 +21858,7 @@ static int parseModifier( double rRounder; int i; for(n=1; z[n] && z[n]!=':' && !sqlite3Isspace(z[n]); n++){} - if( !sqlite3AtoF(z, &r, n, SQLITE_UTF8) ){ + if( sqlite3AtoF(z, &r, n, SQLITE_UTF8)<=0 ){ rc = 1; break; } @@ -22296,7 +22587,15 @@ SQLITE_PRIVATE void sqlite3OsDlClose(sqlite3_vfs *pVfs, void *pHandle){ } #endif /* SQLITE_OMIT_LOAD_EXTENSION */ SQLITE_PRIVATE int sqlite3OsRandomness(sqlite3_vfs *pVfs, int nByte, char *zBufOut){ - return pVfs->xRandomness(pVfs, nByte, zBufOut); + if( sqlite3Config.iPrngSeed ){ + memset(zBufOut, 0, nByte); + if( ALWAYS(nByte>(signed)sizeof(unsigned)) ) nByte = sizeof(unsigned int); + memcpy(zBufOut, &sqlite3Config.iPrngSeed, nByte); + return SQLITE_OK; + }else{ + return pVfs->xRandomness(pVfs, nByte, zBufOut); + } + } SQLITE_PRIVATE int sqlite3OsSleep(sqlite3_vfs *pVfs, int nMicro){ return pVfs->xSleep(pVfs, nMicro); @@ -27041,6 +27340,9 @@ SQLITE_PRIVATE void sqlite3OomFault(sqlite3 *db){ db->u1.isInterrupted = 1; } db->lookaside.bDisable++; + if( db->pParse ){ + db->pParse->rc = SQLITE_NOMEM_BKPT; + } } } @@ -27197,6 +27499,12 @@ static const et_info fmtinfo[] = { { 'r', 10, 1, etORDINAL, 0, 0 }, }; +/* Floating point constants used for rounding */ +static const double arRound[] = { + 5.0e-01, 5.0e-02, 5.0e-03, 5.0e-04, 5.0e-05, + 5.0e-06, 5.0e-07, 5.0e-08, 5.0e-09, 5.0e-10, +}; + /* ** If SQLITE_OMIT_FLOATING_POINT is defined, then none of the floating point ** conversions will work. @@ -27234,7 +27542,8 @@ static char et_getdigit(LONGDOUBLE_TYPE *val, int *cnt){ static void setStrAccumError(StrAccum *p, u8 eError){ assert( eError==SQLITE_NOMEM || eError==SQLITE_TOOBIG ); p->accError = eError; - p->nAlloc = 0; + if( p->mxAlloc ) sqlite3_str_reset(p); + if( eError==SQLITE_TOOBIG ) sqlite3ErrorToParser(p->db, eError); } /* @@ -27253,6 +27562,28 @@ static char *getTextArg(PrintfArguments *p){ return (char*)sqlite3_value_text(p->apArg[p->nUsed++]); } +/* +** Allocate memory for a temporary buffer needed for printf rendering. +** +** If the requested size of the temp buffer is larger than the size +** of the output buffer in pAccum, then cause an SQLITE_TOOBIG error. +** Do the size check before the memory allocation to prevent rogue +** SQL from requesting large allocations using the precision or width +** field of the printf() function. +*/ +static char *printfTempBuf(sqlite3_str *pAccum, sqlite3_int64 n){ + char *z; + if( pAccum->accError ) return 0; + if( n>pAccum->nAlloc && n>pAccum->mxAlloc ){ + setStrAccumError(pAccum, SQLITE_TOOBIG); + return 0; + } + z = sqlite3DbMallocRaw(pAccum->db, n); + if( z==0 ){ + setStrAccumError(pAccum, SQLITE_NOMEM); + } + return z; +} /* ** On machines with a small stack size, you can redefine the @@ -27335,6 +27666,9 @@ SQLITE_API void sqlite3_str_vappendf( flag_leftjustify = flag_prefix = cThousand = flag_alternateform = flag_altform2 = flag_zeropad = 0; done = 0; + width = 0; + flag_long = 0; + precision = -1; do{ switch( c ){ case '-': flag_leftjustify = 1; break; @@ -27345,80 +27679,93 @@ SQLITE_API void sqlite3_str_vappendf( case '0': flag_zeropad = 1; break; case ',': cThousand = ','; break; default: done = 1; break; - } - }while( !done && (c=(*++fmt))!=0 ); - /* Get the field width */ - if( c=='*' ){ - if( bArgList ){ - width = (int)getIntArg(pArgList); - }else{ - width = va_arg(ap,int); - } - if( width<0 ){ - flag_leftjustify = 1; - width = width >= -2147483647 ? -width : 0; - } - c = *++fmt; - }else{ - unsigned wx = 0; - while( c>='0' && c<='9' ){ - wx = wx*10 + c - '0'; - c = *++fmt; - } - testcase( wx>0x7fffffff ); - width = wx & 0x7fffffff; - } - assert( width>=0 ); + case 'l': { + flag_long = 1; + c = *++fmt; + if( c=='l' ){ + c = *++fmt; + flag_long = 2; + } + done = 1; + break; + } + case '1': case '2': case '3': case '4': case '5': + case '6': case '7': case '8': case '9': { + unsigned wx = c - '0'; + while( (c = *++fmt)>='0' && c<='9' ){ + wx = wx*10 + c - '0'; + } + testcase( wx>0x7fffffff ); + width = wx & 0x7fffffff; #ifdef SQLITE_PRINTF_PRECISION_LIMIT - if( width>SQLITE_PRINTF_PRECISION_LIMIT ){ - width = SQLITE_PRINTF_PRECISION_LIMIT; - } + if( width>SQLITE_PRINTF_PRECISION_LIMIT ){ + width = SQLITE_PRINTF_PRECISION_LIMIT; + } #endif - - /* Get the precision */ - if( c=='.' ){ - c = *++fmt; - if( c=='*' ){ - if( bArgList ){ - precision = (int)getIntArg(pArgList); - }else{ - precision = va_arg(ap,int); + if( c!='.' && c!='l' ){ + done = 1; + }else{ + fmt--; + } + break; } - c = *++fmt; - if( precision<0 ){ - precision = precision >= -2147483647 ? -precision : -1; + case '*': { + if( bArgList ){ + width = (int)getIntArg(pArgList); + }else{ + width = va_arg(ap,int); + } + if( width<0 ){ + flag_leftjustify = 1; + width = width >= -2147483647 ? -width : 0; + } +#ifdef SQLITE_PRINTF_PRECISION_LIMIT + if( width>SQLITE_PRINTF_PRECISION_LIMIT ){ + width = SQLITE_PRINTF_PRECISION_LIMIT; + } +#endif + if( (c = fmt[1])!='.' && c!='l' ){ + c = *++fmt; + done = 1; + } + break; } - }else{ - unsigned px = 0; - while( c>='0' && c<='9' ){ - px = px*10 + c - '0'; + case '.': { c = *++fmt; - } - testcase( px>0x7fffffff ); - precision = px & 0x7fffffff; - } - }else{ - precision = -1; - } - assert( precision>=(-1) ); + if( c=='*' ){ + if( bArgList ){ + precision = (int)getIntArg(pArgList); + }else{ + precision = va_arg(ap,int); + } + if( precision<0 ){ + precision = precision >= -2147483647 ? -precision : -1; + } + c = *++fmt; + }else{ + unsigned px = 0; + while( c>='0' && c<='9' ){ + px = px*10 + c - '0'; + c = *++fmt; + } + testcase( px>0x7fffffff ); + precision = px & 0x7fffffff; + } #ifdef SQLITE_PRINTF_PRECISION_LIMIT - if( precision>SQLITE_PRINTF_PRECISION_LIMIT ){ - precision = SQLITE_PRINTF_PRECISION_LIMIT; - } + if( precision>SQLITE_PRINTF_PRECISION_LIMIT ){ + precision = SQLITE_PRINTF_PRECISION_LIMIT; + } #endif - - - /* Get the conversion type modifier */ - if( c=='l' ){ - flag_long = 1; - c = *++fmt; - if( c=='l' ){ - flag_long = 2; - c = *++fmt; + if( c=='l' ){ + --fmt; + }else{ + done = 1; + } + break; + } } - }else{ - flag_long = 0; - } + }while( !done && (c=(*++fmt))!=0 ); + /* Fetch the info entry for the field */ infop = &fmtinfo[0]; xtype = etINVALID; @@ -27503,12 +27850,11 @@ SQLITE_API void sqlite3_str_vappendf( nOut = etBUFSIZE; zOut = buf; }else{ - u64 n = (u64)precision + 10 + precision/3; - zOut = zExtra = sqlite3Malloc( n ); - if( zOut==0 ){ - setStrAccumError(pAccum, SQLITE_NOMEM); - return; - } + u64 n; + n = (u64)precision + 10; + if( cThousand ) n += precision/3; + zOut = zExtra = printfTempBuf(pAccum, n); + if( zOut==0 ) return; nOut = (int)n; } bufpt = &zOut[nOut-1]; @@ -27577,8 +27923,18 @@ SQLITE_API void sqlite3_str_vappendf( } if( xtype==etGENERIC && precision>0 ) precision--; testcase( precision>0xfff ); - for(idx=precision&0xfff, rounder=0.5; idx>0; idx--, rounder*=0.1){} - if( xtype==etFLOAT ) realvalue += rounder; + idx = precision & 0xfff; + rounder = arRound[idx%10]; + while( idx>=10 ){ rounder *= 1.0e-10; idx -= 10; } + if( xtype==etFLOAT ){ + double rx = (double)realvalue; + sqlite3_uint64 u; + int ex; + memcpy(&u, &rx, sizeof(u)); + ex = -1023 + (int)((u>>52)&0x7ff); + if( precision+(ex/3) < 15 ) rounder += realvalue*3e-16; + realvalue += rounder; + } /* Normalize realvalue to within 10.0 > realvalue >= 1.0 */ exp = 0; if( sqlite3IsNaN((double)realvalue) ){ @@ -27627,12 +27983,12 @@ SQLITE_API void sqlite3_str_vappendf( }else{ e2 = exp; } - if( MAX(e2,0)+(i64)precision+(i64)width > etBUFSIZE - 15 ){ - bufpt = zExtra - = sqlite3Malloc( MAX(e2,0)+(i64)precision+(i64)width+15 ); - if( bufpt==0 ){ - setStrAccumError(pAccum, SQLITE_NOMEM); - return; + { + i64 szBufNeeded; /* Size of a temporary buffer needed */ + szBufNeeded = MAX(e2,0)+(i64)precision+(i64)width+15; + if( szBufNeeded > etBUFSIZE ){ + bufpt = zExtra = printfTempBuf(pAccum, szBufNeeded); + if( bufpt==0 ) return; } } zOut = bufpt; @@ -27856,11 +28212,8 @@ SQLITE_API void sqlite3_str_vappendf( needQuote = !isnull && xtype==etSQLESCAPE2; n += i + 3; if( n>etBUFSIZE ){ - bufpt = zExtra = sqlite3Malloc( n ); - if( bufpt==0 ){ - setStrAccumError(pAccum, SQLITE_NOMEM); - return; - } + bufpt = zExtra = printfTempBuf(pAccum, n); + if( bufpt==0 ) return; }else{ bufpt = buf; } @@ -27950,9 +28303,8 @@ static int sqlite3StrAccumEnlarge(StrAccum *p, int N){ return 0; } if( p->mxAlloc==0 ){ - N = p->nAlloc - p->nChar - 1; setStrAccumError(p, SQLITE_TOOBIG); - return N; + return p->nAlloc - p->nChar - 1; }else{ char *zOld = isMalloced(p) ? p->zText : 0; i64 szNew = p->nChar; @@ -28024,7 +28376,7 @@ SQLITE_API void sqlite3_str_append(sqlite3_str *p, const char *z, int N){ assert( z!=0 || N==0 ); assert( p->zText!=0 || p->nChar==0 || p->accError ); assert( N>=0 ); - assert( p->accError==0 || p->nAlloc==0 ); + assert( p->accError==0 || p->nAlloc==0 || p->mxAlloc==0 ); if( p->nChar+N >= p->nAlloc ){ enlargeAndAppend(p,z,N); }else if( N ){ @@ -28486,7 +28838,8 @@ SQLITE_PRIVATE void sqlite3TreeViewSrcList(TreeView *pView, const SrcList *pSrc) sqlite3_str_appendf(&x, " %s", pItem->zName); } if( pItem->pTab ){ - sqlite3_str_appendf(&x, " tabname=%Q", pItem->pTab->zName); + sqlite3_str_appendf(&x, " tab=%Q nCol=%d ptr=%p", + pItem->pTab->zName, pItem->pTab->nCol, pItem->pTab); } if( pItem->zAlias ){ sqlite3_str_appendf(&x, " (AS %s)", pItem->zAlias); @@ -28523,13 +28876,17 @@ SQLITE_PRIVATE void sqlite3TreeViewSelect(TreeView *pView, const Select *p, u8 m sqlite3TreeViewPush(pView, 1); } do{ - sqlite3TreeViewLine(pView, - "SELECT%s%s (%u/%p) selFlags=0x%x nSelectRow=%d", - ((p->selFlags & SF_Distinct) ? " DISTINCT" : ""), - ((p->selFlags & SF_Aggregate) ? " agg_flag" : ""), - p->selId, p, p->selFlags, - (int)p->nSelectRow - ); + if( p->selFlags & SF_WhereBegin ){ + sqlite3TreeViewLine(pView, "sqlite3WhereBegin()"); + }else{ + sqlite3TreeViewLine(pView, + "SELECT%s%s (%u/%p) selFlags=0x%x nSelectRow=%d", + ((p->selFlags & SF_Distinct) ? " DISTINCT" : ""), + ((p->selFlags & SF_Aggregate) ? " agg_flag" : ""), + p->selId, p, p->selFlags, + (int)p->nSelectRow + ); + } if( cnt++ ) sqlite3TreeViewPop(pView); if( p->pPrior ){ n = 1000; @@ -28546,7 +28903,10 @@ SQLITE_PRIVATE void sqlite3TreeViewSelect(TreeView *pView, const Select *p, u8 m if( p->pWinDefn ) n++; #endif } - sqlite3TreeViewExprList(pView, p->pEList, (n--)>0, "result-set"); + if( p->pEList ){ + sqlite3TreeViewExprList(pView, p->pEList, n>0, "result-set"); + } + n--; #ifndef SQLITE_OMIT_WINDOWFUNC if( p->pWin ){ Window *pX; @@ -28656,24 +29016,62 @@ SQLITE_PRIVATE void sqlite3TreeViewBound( ** Generate a human-readable explanation for a Window object */ SQLITE_PRIVATE void sqlite3TreeViewWindow(TreeView *pView, const Window *pWin, u8 more){ + int nElement = 0; + if( pWin->pFilter ){ + sqlite3TreeViewItem(pView, "FILTER", 1); + sqlite3TreeViewExpr(pView, pWin->pFilter, 0); + sqlite3TreeViewPop(pView); + } pView = sqlite3TreeViewPush(pView, more); if( pWin->zName ){ - sqlite3TreeViewLine(pView, "OVER %s", pWin->zName); + sqlite3TreeViewLine(pView, "OVER %s (%p)", pWin->zName, pWin); }else{ - sqlite3TreeViewLine(pView, "OVER"); + sqlite3TreeViewLine(pView, "OVER (%p)", pWin); + } + if( pWin->zBase ) nElement++; + if( pWin->pOrderBy ) nElement++; + if( pWin->eFrmType ) nElement++; + if( pWin->eExclude ) nElement++; + if( pWin->zBase ){ + sqlite3TreeViewPush(pView, (--nElement)>0); + sqlite3TreeViewLine(pView, "window: %s", pWin->zBase); + sqlite3TreeViewPop(pView); } if( pWin->pPartition ){ - sqlite3TreeViewExprList(pView, pWin->pPartition, 1, "PARTITION-BY"); + sqlite3TreeViewExprList(pView, pWin->pPartition, nElement>0,"PARTITION-BY"); } if( pWin->pOrderBy ){ - sqlite3TreeViewExprList(pView, pWin->pOrderBy, 1, "ORDER-BY"); - } - if( pWin->eType ){ - sqlite3TreeViewItem(pView, pWin->eType==TK_RANGE ? "RANGE" : "ROWS", 0); + sqlite3TreeViewExprList(pView, pWin->pOrderBy, (--nElement)>0, "ORDER-BY"); + } + if( pWin->eFrmType ){ + char zBuf[30]; + const char *zFrmType = "ROWS"; + if( pWin->eFrmType==TK_RANGE ) zFrmType = "RANGE"; + if( pWin->eFrmType==TK_GROUPS ) zFrmType = "GROUPS"; + sqlite3_snprintf(sizeof(zBuf),zBuf,"%s%s",zFrmType, + pWin->bImplicitFrame ? " (implied)" : ""); + sqlite3TreeViewItem(pView, zBuf, (--nElement)>0); sqlite3TreeViewBound(pView, pWin->eStart, pWin->pStart, 1); sqlite3TreeViewBound(pView, pWin->eEnd, pWin->pEnd, 0); sqlite3TreeViewPop(pView); } + if( pWin->eExclude ){ + char zBuf[30]; + const char *zExclude; + switch( pWin->eExclude ){ + case TK_NO: zExclude = "NO OTHERS"; break; + case TK_CURRENT: zExclude = "CURRENT ROW"; break; + case TK_GROUP: zExclude = "GROUP"; break; + case TK_TIES: zExclude = "TIES"; break; + default: + sqlite3_snprintf(sizeof(zBuf),zBuf,"invalid(%d)", pWin->eExclude); + zExclude = zBuf; + break; + } + sqlite3TreeViewPush(pView, 0); + sqlite3TreeViewLine(pView, "EXCLUDE %s", zExclude); + sqlite3TreeViewPop(pView); + } sqlite3TreeViewPop(pView); } #endif /* SQLITE_OMIT_WINDOWFUNC */ @@ -28704,12 +29102,14 @@ SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 m sqlite3TreeViewPop(pView); return; } - if( pExpr->flags ){ + if( pExpr->flags || pExpr->affExpr ){ if( ExprHasProperty(pExpr, EP_FromJoin) ){ - sqlite3_snprintf(sizeof(zFlgs),zFlgs," flags=0x%x iRJT=%d", - pExpr->flags, pExpr->iRightJoinTable); + sqlite3_snprintf(sizeof(zFlgs),zFlgs," fg.af=%x.%c iRJT=%d", + pExpr->flags, pExpr->affExpr ? pExpr->affExpr : 'n', + pExpr->iRightJoinTable); }else{ - sqlite3_snprintf(sizeof(zFlgs),zFlgs," flags=0x%x",pExpr->flags); + sqlite3_snprintf(sizeof(zFlgs),zFlgs," fg.af=%x.%c", + pExpr->flags, pExpr->affExpr ? pExpr->affExpr : 'n'); } }else{ zFlgs[0] = 0; @@ -28823,7 +29223,7 @@ SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 m }; assert( pExpr->op2==TK_IS || pExpr->op2==TK_ISNOT ); assert( pExpr->pRight ); - assert( pExpr->pRight->op==TK_TRUEFALSE ); + assert( sqlite3ExprSkipCollate(pExpr->pRight)->op==TK_TRUEFALSE ); x = (pExpr->op2==TK_ISNOT)*2 + sqlite3ExprTruthValue(pExpr->pRight); zUniOp = azOp[x]; break; @@ -28836,7 +29236,14 @@ SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 m } case TK_COLLATE: { - sqlite3TreeViewLine(pView, "COLLATE %Q", pExpr->u.zToken); + /* COLLATE operators without the EP_Collate flag are intended to + ** emulate collation associated with a table column. These show + ** up in the treeview output as "SOFT-COLLATE". Explicit COLLATE + ** operators that appear in the original SQL always have the + ** EP_Collate bit set and appear in treeview output as just "COLLATE" */ + sqlite3TreeViewLine(pView, "%sCOLLATE %Q%s", + !ExprHasProperty(pExpr, EP_Collate) ? "SOFT-" : "", + pExpr->u.zToken, zFlgs); sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); break; } @@ -28857,10 +29264,10 @@ SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 m #endif } if( pExpr->op==TK_AGG_FUNCTION ){ - sqlite3TreeViewLine(pView, "AGG_FUNCTION%d %Q", - pExpr->op2, pExpr->u.zToken); + sqlite3TreeViewLine(pView, "AGG_FUNCTION%d %Q%s", + pExpr->op2, pExpr->u.zToken, zFlgs); }else{ - sqlite3TreeViewLine(pView, "FUNCTION %Q", pExpr->u.zToken); + sqlite3TreeViewLine(pView, "FUNCTION %Q%s", pExpr->u.zToken, zFlgs); } if( pFarg ){ sqlite3TreeViewExprList(pView, pFarg, pWin!=0, 0); @@ -28937,7 +29344,7 @@ SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 m #ifndef SQLITE_OMIT_TRIGGER case TK_RAISE: { const char *zType = "unk"; - switch( pExpr->affinity ){ + switch( pExpr->affExpr ){ case OE_Rollback: zType = "rollback"; break; case OE_Abort: zType = "abort"; break; case OE_Fail: zType = "fail"; break; @@ -28978,7 +29385,7 @@ SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 m sqlite3TreeViewExpr(pView, pExpr->pRight, 0); }else if( zUniOp ){ sqlite3TreeViewLine(pView, "%s%s", zUniOp, zFlgs); - sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); + sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); } sqlite3TreeViewPop(pView); } @@ -29653,11 +30060,11 @@ SQLITE_PRIVATE u32 sqlite3Utf8Read( ** encoding, or if *pMem does not contain a string value. */ SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3VdbeMemTranslate(Mem *pMem, u8 desiredEnc){ - int len; /* Maximum length of output string in bytes */ - unsigned char *zOut; /* Output buffer */ - unsigned char *zIn; /* Input iterator */ - unsigned char *zTerm; /* End of input */ - unsigned char *z; /* Output iterator */ + sqlite3_int64 len; /* Maximum length of output string in bytes */ + unsigned char *zOut; /* Output buffer */ + unsigned char *zIn; /* Input iterator */ + unsigned char *zTerm; /* End of input */ + unsigned char *z; /* Output iterator */ unsigned int c; assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); @@ -29706,14 +30113,14 @@ SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3VdbeMemTranslate(Mem *pMem, u8 desired ** nul-terminator. */ pMem->n &= ~1; - len = pMem->n * 2 + 1; + len = 2 * (sqlite3_int64)pMem->n + 1; }else{ /* When converting from UTF-8 to UTF-16 the maximum growth is caused ** when a 1-byte UTF-8 character is translated into a 2-byte UTF-16 ** character. Two bytes are required in the output buffer for the ** nul-terminator. */ - len = pMem->n * 2 + 2; + len = 2 * (sqlite3_int64)pMem->n + 2; } /* Set zIn to point at the start of the input buffer and zTerm to point 1 @@ -30005,9 +30412,7 @@ SQLITE_PRIVATE void sqlite3UtfSelfTest(void){ */ /* #include "sqliteInt.h" */ /* #include */ -#if HAVE_ISNAN || SQLITE_HAVE_ISNAN -# include -#endif +#include /* ** Routine needed to support the testcase() macro. @@ -30020,15 +30425,23 @@ SQLITE_PRIVATE void sqlite3Coverage(int x){ #endif /* -** Give a callback to the test harness that can be used to simulate faults -** in places where it is difficult or expensive to do so purely by means -** of inputs. +** Calls to sqlite3FaultSim() are used to simulate a failure during testing, +** or to bypass normal error detection during testing in order to let +** execute proceed futher downstream. +** +** In deployment, sqlite3FaultSim() *always* return SQLITE_OK (0). The +** sqlite3FaultSim() function only returns non-zero during testing. ** -** The intent of the integer argument is to let the fault simulator know -** which of multiple sqlite3FaultSim() calls has been hit. +** During testing, if the test harness has set a fault-sim callback using +** a call to sqlite3_test_control(SQLITE_TESTCTRL_FAULT_INSTALL), then +** each call to sqlite3FaultSim() is relayed to that application-supplied +** callback and the integer return value form the application-supplied +** callback is returned by sqlite3FaultSim(). ** -** Return whatever integer value the test callback returns, or return -** SQLITE_OK if no test callback is installed. +** The integer argument to sqlite3FaultSim() is a code to identify which +** sqlite3FaultSim() instance is being invoked. Each call to sqlite3FaultSim() +** should have a unique code. To prevent legacy testing applications from +** breaking, the codes should not be changed or reused. */ #ifndef SQLITE_UNTESTABLE SQLITE_PRIVATE int sqlite3FaultSim(int iTest){ @@ -30040,47 +30453,11 @@ SQLITE_PRIVATE int sqlite3FaultSim(int iTest){ #ifndef SQLITE_OMIT_FLOATING_POINT /* ** Return true if the floating point value is Not a Number (NaN). -** -** Use the math library isnan() function if compiled with SQLITE_HAVE_ISNAN. -** Otherwise, we have our own implementation that works on most systems. */ SQLITE_PRIVATE int sqlite3IsNaN(double x){ - int rc; /* The value return */ -#if !SQLITE_HAVE_ISNAN && !HAVE_ISNAN - /* - ** Systems that support the isnan() library function should probably - ** make use of it by compiling with -DSQLITE_HAVE_ISNAN. But we have - ** found that many systems do not have a working isnan() function so - ** this implementation is provided as an alternative. - ** - ** This NaN test sometimes fails if compiled on GCC with -ffast-math. - ** On the other hand, the use of -ffast-math comes with the following - ** warning: - ** - ** This option [-ffast-math] should never be turned on by any - ** -O option since it can result in incorrect output for programs - ** which depend on an exact implementation of IEEE or ISO - ** rules/specifications for math functions. - ** - ** Under MSVC, this NaN test may fail if compiled with a floating- - ** point precision mode other than /fp:precise. From the MSDN - ** documentation: - ** - ** The compiler [with /fp:precise] will properly handle comparisons - ** involving NaN. For example, x != x evaluates to true if x is NaN - ** ... - */ -#ifdef __FAST_MATH__ -# error SQLite will not work correctly with the -ffast-math option of GCC. -#endif - volatile double y = x; - volatile double z = y; - rc = (y!=z); -#else /* if HAVE_ISNAN */ - rc = isnan(x); -#endif /* HAVE_ISNAN */ - testcase( rc ); - return rc; + u64 y; + memcpy(&y,&x,sizeof(y)); + return IsNaN(y); } #endif /* SQLITE_OMIT_FLOATING_POINT */ @@ -30213,6 +30590,19 @@ SQLITE_PRIVATE void sqlite3ErrorMsg(Parse *pParse, const char *zFormat, ...){ } } +/* +** If database connection db is currently parsing SQL, then transfer +** error code errCode to that parser if the parser has not already +** encountered some other kind of error. +*/ +SQLITE_PRIVATE int sqlite3ErrorToParser(sqlite3 *db, int errCode){ + Parse *pParse; + if( db==0 || (pParse = db->pParse)==0 ) return errCode; + pParse->rc = errCode; + pParse->nErr++; + return errCode; +} + /* ** Convert an SQL-style quoted string into a normal string by removing ** the quote characters. The conversion is done in-place. If the @@ -30226,7 +30616,7 @@ SQLITE_PRIVATE void sqlite3ErrorMsg(Parse *pParse, const char *zFormat, ...){ ** dequoted string, exclusive of the zero terminator, if dequoting does ** occur. ** -** 2002-Feb-14: This routine is extended to remove MS-Access style +** 2002-02-14: This routine is extended to remove MS-Access style ** brackets from around identifiers. For example: "[a-b-c]" becomes ** "a-b-c". */ @@ -30252,6 +30642,11 @@ SQLITE_PRIVATE void sqlite3Dequote(char *z){ } z[j] = 0; } +SQLITE_PRIVATE void sqlite3DequoteExpr(Expr *p){ + assert( sqlite3Isquote(p->u.zToken[0]) ); + p->flags |= p->u.zToken[0]=='"' ? EP_Quoted|EP_DblQuoted : EP_Quoted; + sqlite3Dequote(p->u.zToken); +} /* ** Generate a Token object from a string @@ -30284,12 +30679,18 @@ SQLITE_API int sqlite3_stricmp(const char *zLeft, const char *zRight){ } SQLITE_PRIVATE int sqlite3StrICmp(const char *zLeft, const char *zRight){ unsigned char *a, *b; - int c; + int c, x; a = (unsigned char *)zLeft; b = (unsigned char *)zRight; for(;;){ - c = (int)UpperToLower[*a] - (int)UpperToLower[*b]; - if( c || *a==0 ) break; + c = *a; + x = *b; + if( c==x ){ + if( c==0 ) break; + }else{ + c = (int)UpperToLower[c] - (int)UpperToLower[x]; + if( c ) break; + } a++; b++; } @@ -30317,15 +30718,15 @@ SQLITE_API int sqlite3_strnicmp(const char *zLeft, const char *zRight, int N){ static LONGDOUBLE_TYPE sqlite3Pow10(int E){ #if defined(_MSC_VER) static const LONGDOUBLE_TYPE x[] = { - 1.0e+001, - 1.0e+002, - 1.0e+004, - 1.0e+008, - 1.0e+016, - 1.0e+032, - 1.0e+064, - 1.0e+128, - 1.0e+256 + 1.0e+001L, + 1.0e+002L, + 1.0e+004L, + 1.0e+008L, + 1.0e+016L, + 1.0e+032L, + 1.0e+064L, + 1.0e+128L, + 1.0e+256L }; LONGDOUBLE_TYPE r = 1.0; int i; @@ -30355,8 +30756,15 @@ static LONGDOUBLE_TYPE sqlite3Pow10(int E){ ** uses the encoding enc. The string is not necessarily zero-terminated. ** ** Return TRUE if the result is a valid real number (or integer) and FALSE -** if the string is empty or contains extraneous text. Valid numbers -** are in one of these formats: +** if the string is empty or contains extraneous text. More specifically +** return +** 1 => The input string is a pure integer +** 2 or more => The input has a decimal point or eNNN clause +** 0 or less => The input string is not a valid number +** -1 => Not a valid number, but has a valid prefix which +** includes a decimal point and/or an eNNN clause +** +** Valid numbers are in one of these formats: ** ** [+-]digits[E[+-]digits] ** [+-]digits.[digits][E[+-]digits] @@ -30381,8 +30789,8 @@ SQLITE_PRIVATE int sqlite3AtoF(const char *z, double *pResult, int length, u8 en int e = 0; /* exponent */ int eValid = 1; /* True exponent is either not used or is well-formed */ double result; - int nDigits = 0; - int nonNum = 0; /* True if input contains UTF16 with high byte non-zero */ + int nDigit = 0; /* Number of digits processed */ + int eType = 1; /* 1: pure integer, 2+: fractional -1 or less: bad UTF16 */ assert( enc==SQLITE_UTF8 || enc==SQLITE_UTF16LE || enc==SQLITE_UTF16BE ); *pResult = 0.0; /* Default return value, in case of an error */ @@ -30393,8 +30801,10 @@ SQLITE_PRIVATE int sqlite3AtoF(const char *z, double *pResult, int length, u8 en int i; incr = 2; assert( SQLITE_UTF16LE==2 && SQLITE_UTF16BE==3 ); + testcase( enc==SQLITE_UTF16LE ); + testcase( enc==SQLITE_UTF16BE ); for(i=3-enc; i=((LARGEST_INT64-9)/10) ){ + /* skip non-significant significand digits + ** (increase exponent by d to shift decimal left) */ + while( z=zEnd ) goto do_atof_calc; /* if decimal point is present */ if( *z=='.' ){ z+=incr; + eType++; /* copy digits from after decimal to significand ** (decrease exponent by d to shift decimal right) */ while( z=zEnd ) goto do_atof_calc; @@ -30441,6 +30854,7 @@ SQLITE_PRIVATE int sqlite3AtoF(const char *z, double *pResult, int length, u8 en if( *z=='e' || *z=='E' ){ z+=incr; eValid = 0; + eType++; /* This branch is needed to avoid a (harmless) buffer overread. The ** special comment alerts the mutation tester that the correct answer @@ -30539,7 +30953,13 @@ SQLITE_PRIVATE int sqlite3AtoF(const char *z, double *pResult, int length, u8 en *pResult = result; /* return true if number and no extra non-whitespace chracters after */ - return z==zEnd && nDigits>0 && eValid && nonNum==0; + if( z==zEnd && nDigit>0 && eValid && eType>0 ){ + return eType; + }else if( eType>=2 && (eType==3 || eValid) && nDigit>0 ){ + return -1; + }else{ + return 0; + } #else return !sqlite3Atoi64(z, pResult, length, enc); #endif /* SQLITE_OMIT_FLOATING_POINT */ @@ -30582,6 +31002,7 @@ static int compare2pow63(const char *zNum, int incr){ ** ** Returns: ** +** -1 Not even a prefix of the input text looks like an integer ** 0 Successful transformation. Fits in a 64-bit signed integer. ** 1 Excess non-space text after the integer value ** 2 Integer too large for a 64-bit signed integer or is malformed @@ -30641,9 +31062,9 @@ SQLITE_PRIVATE int sqlite3Atoi64(const char *zNum, i64 *pNum, int length, u8 enc *pNum = (i64)u; } rc = 0; - if( (i==0 && zStart==zNum) /* No digits */ - || nonNum /* UTF16 with high-order bytes non-zero */ - ){ + if( i==0 && zStart==zNum ){ /* No digits */ + rc = -1; + }else if( nonNum ){ /* UTF16 with high-order bytes non-zero */ rc = 1; }else if( &zNum[i]=0 ){ + *v = *p; return 1; } - - p++; - b = *p; - /* b: p1 (unmasked) */ - if (!(b&0x80)) - { - a &= 0x7f; - a = a<<7; - a |= b; - *v = a; + if( ((signed char*)p)[1]>=0 ){ + *v = ((u32)(p[0]&0x7f)<<7) | p[1]; return 2; } @@ -30898,8 +31308,9 @@ SQLITE_PRIVATE u8 sqlite3GetVarint(const unsigned char *p, u64 *v){ assert( SLOT_2_0 == ((0x7f<<14) | (0x7f)) ); assert( SLOT_4_2_0 == ((0xfU<<28) | (0x7f<<14) | (0x7f)) ); - p++; - a = a<<14; + a = ((u32)p[0])<<14; + b = p[1]; + p += 2; a |= *p; /* a: p0<<14 | p2 (unmasked) */ if (!(a&0x80)) @@ -31482,7 +31893,7 @@ SQLITE_PRIVATE LogEst sqlite3LogEstFromDouble(double x){ #endif /* SQLITE_OMIT_VIRTUALTABLE */ #if defined(SQLITE_ENABLE_STMT_SCANSTATUS) || \ - defined(SQLITE_ENABLE_STAT3_OR_STAT4) || \ + defined(SQLITE_ENABLE_STAT4) || \ defined(SQLITE_EXPLAIN_ESTIMATED_ROWS) /* ** Convert a LogEst into an integer. @@ -31500,7 +31911,7 @@ SQLITE_PRIVATE u64 sqlite3LogEstToInt(LogEst x){ defined(SQLITE_EXPLAIN_ESTIMATED_ROWS) if( x>60 ) return (u64)LARGEST_INT64; #else - /* If only SQLITE_ENABLE_STAT3_OR_STAT4 is on, then the largest input + /* If only SQLITE_ENABLE_STAT4 is on, then the largest input ** possible to this routine is 310, resulting in a maximum x of 31 */ assert( x<=60 ); #endif @@ -31559,7 +31970,7 @@ SQLITE_PRIVATE VList *sqlite3VListAdd( assert( pIn==0 || pIn[0]>=3 ); /* Verify ok to add new elements */ if( pIn==0 || pIn[1]+nInt > pIn[0] ){ /* Enlarge the allocation */ - int nAlloc = (pIn ? pIn[0]*2 : 10) + nInt; + sqlite3_int64 nAlloc = (pIn ? 2*(sqlite3_int64)pIn[0] : 10) + nInt; VList *pOut = sqlite3DbRealloc(db, pIn, nAlloc*sizeof(int)); if( pOut==0 ) return pIn; if( pIn==0 ) pOut[1] = 2; @@ -31679,20 +32090,6 @@ static unsigned int strHash(const char *z){ } return h; } -#ifdef SQLITE_ENABLE_NORMALIZE -static unsigned int strHashN(const char *z, int n){ - unsigned int h = 0; - int i; - for(i=0; iht ){ /*OPTIMIZATION-IF-TRUE*/ - struct _ht *pEntry; - h = strHashN(pKey, nKey) % pH->htsize; - pEntry = &pH->ht[h]; - elem = pEntry->chain; - count = pEntry->count; - }else{ - h = 0; - elem = pH->first; - count = pH->count; - } - if( pHash ) *pHash = h; - while( count-- ){ - assert( elem!=0 ); - if( sqlite3StrNICmp(elem->pKey,pKey,nKey)==0 ){ - return elem; - } - elem = elem->next; - } - return &nullElement; -} -#endif /* SQLITE_ENABLE_NORMALIZE */ /* Remove a single entry from the hash table given a pointer to that ** element and a hash on the element's key. @@ -31861,8 +32224,8 @@ static void removeElementGivenHash( if( pEntry->chain==elem ){ pEntry->chain = elem->next; } + assert( pEntry->count>0 ); pEntry->count--; - assert( pEntry->count>=0 ); } sqlite3_free( elem ); pH->count--; @@ -31882,14 +32245,6 @@ SQLITE_PRIVATE void *sqlite3HashFind(const Hash *pH, const char *pKey){ assert( pKey!=0 ); return findElementWithHash(pH, pKey, 0)->data; } -#ifdef SQLITE_ENABLE_NORMALIZE -SQLITE_PRIVATE void *sqlite3HashFindN(const Hash *pH, const char *pKey, int nKey){ - assert( pH!=0 ); - assert( pKey!=0 ); - assert( nKey>=0 ); - return findElementWithHashN(pH, pKey, nKey, 0)->data; -} -#endif /* SQLITE_ENABLE_NORMALIZE */ /* Insert an element into the hash table pH. The key is pKey ** and the data is "data". @@ -32045,28 +32400,28 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ /* 89 */ "Offset" OpHelp("r[P3] = sqlite_offset(P1)"), /* 90 */ "Column" OpHelp("r[P3]=PX"), /* 91 */ "Affinity" OpHelp("affinity(r[P1@P2])"), - /* 92 */ "BitAnd" OpHelp("r[P3]=r[P1]&r[P2]"), - /* 93 */ "BitOr" OpHelp("r[P3]=r[P1]|r[P2]"), - /* 94 */ "ShiftLeft" OpHelp("r[P3]=r[P2]<>r[P1]"), - /* 96 */ "Add" OpHelp("r[P3]=r[P1]+r[P2]"), - /* 97 */ "Subtract" OpHelp("r[P3]=r[P2]-r[P1]"), - /* 98 */ "Multiply" OpHelp("r[P3]=r[P1]*r[P2]"), - /* 99 */ "Divide" OpHelp("r[P3]=r[P2]/r[P1]"), - /* 100 */ "Remainder" OpHelp("r[P3]=r[P2]%r[P1]"), - /* 101 */ "Concat" OpHelp("r[P3]=r[P2]+r[P1]"), - /* 102 */ "MakeRecord" OpHelp("r[P3]=mkrec(r[P1@P2])"), - /* 103 */ "BitNot" OpHelp("r[P2]= ~r[P1]"), - /* 104 */ "Count" OpHelp("r[P2]=count()"), - /* 105 */ "ReadCookie" OpHelp(""), - /* 106 */ "String8" OpHelp("r[P2]='P4'"), - /* 107 */ "SetCookie" OpHelp(""), - /* 108 */ "ReopenIdx" OpHelp("root=P2 iDb=P3"), - /* 109 */ "OpenRead" OpHelp("root=P2 iDb=P3"), - /* 110 */ "OpenWrite" OpHelp("root=P2 iDb=P3"), - /* 111 */ "OpenDup" OpHelp(""), - /* 112 */ "OpenAutoindex" OpHelp("nColumn=P2"), - /* 113 */ "OpenEphemeral" OpHelp("nColumn=P2"), + /* 92 */ "MakeRecord" OpHelp("r[P3]=mkrec(r[P1@P2])"), + /* 93 */ "Count" OpHelp("r[P2]=count()"), + /* 94 */ "ReadCookie" OpHelp(""), + /* 95 */ "SetCookie" OpHelp(""), + /* 96 */ "ReopenIdx" OpHelp("root=P2 iDb=P3"), + /* 97 */ "OpenRead" OpHelp("root=P2 iDb=P3"), + /* 98 */ "OpenWrite" OpHelp("root=P2 iDb=P3"), + /* 99 */ "BitAnd" OpHelp("r[P3]=r[P1]&r[P2]"), + /* 100 */ "BitOr" OpHelp("r[P3]=r[P1]|r[P2]"), + /* 101 */ "ShiftLeft" OpHelp("r[P3]=r[P2]<>r[P1]"), + /* 103 */ "Add" OpHelp("r[P3]=r[P1]+r[P2]"), + /* 104 */ "Subtract" OpHelp("r[P3]=r[P2]-r[P1]"), + /* 105 */ "Multiply" OpHelp("r[P3]=r[P1]*r[P2]"), + /* 106 */ "Divide" OpHelp("r[P3]=r[P2]/r[P1]"), + /* 107 */ "Remainder" OpHelp("r[P3]=r[P2]%r[P1]"), + /* 108 */ "Concat" OpHelp("r[P3]=r[P2]+r[P1]"), + /* 109 */ "OpenDup" OpHelp(""), + /* 110 */ "BitNot" OpHelp("r[P2]= ~r[P1]"), + /* 111 */ "OpenAutoindex" OpHelp("nColumn=P2"), + /* 112 */ "OpenEphemeral" OpHelp("nColumn=P2"), + /* 113 */ "String8" OpHelp("r[P2]='P4'"), /* 114 */ "SorterOpen" OpHelp(""), /* 115 */ "SequenceTest" OpHelp("if( cursor[P1].ctr++ ) pc = P2"), /* 116 */ "OpenPseudo" OpHelp("P3 columns in r[P2]"), @@ -32076,57 +32431,56 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ /* 120 */ "Sequence" OpHelp("r[P2]=cursor[P1].ctr++"), /* 121 */ "NewRowid" OpHelp("r[P2]=rowid"), /* 122 */ "Insert" OpHelp("intkey=r[P3] data=r[P2]"), - /* 123 */ "InsertInt" OpHelp("intkey=P3 data=r[P2]"), - /* 124 */ "Delete" OpHelp(""), - /* 125 */ "ResetCount" OpHelp(""), - /* 126 */ "SorterCompare" OpHelp("if key(P1)!=trim(r[P3],P4) goto P2"), - /* 127 */ "SorterData" OpHelp("r[P2]=data"), - /* 128 */ "RowData" OpHelp("r[P2]=data"), - /* 129 */ "Rowid" OpHelp("r[P2]=rowid"), - /* 130 */ "NullRow" OpHelp(""), - /* 131 */ "SeekEnd" OpHelp(""), - /* 132 */ "SorterInsert" OpHelp("key=r[P2]"), - /* 133 */ "IdxInsert" OpHelp("key=r[P2]"), - /* 134 */ "IdxDelete" OpHelp("key=r[P2@P3]"), - /* 135 */ "DeferredSeek" OpHelp("Move P3 to P1.rowid if needed"), - /* 136 */ "IdxRowid" OpHelp("r[P2]=rowid"), - /* 137 */ "Destroy" OpHelp(""), - /* 138 */ "Clear" OpHelp(""), - /* 139 */ "ResetSorter" OpHelp(""), - /* 140 */ "CreateBtree" OpHelp("r[P2]=root iDb=P1 flags=P3"), - /* 141 */ "Real" OpHelp("r[P2]=P4"), - /* 142 */ "SqlExec" OpHelp(""), - /* 143 */ "ParseSchema" OpHelp(""), - /* 144 */ "LoadAnalysis" OpHelp(""), - /* 145 */ "DropTable" OpHelp(""), - /* 146 */ "DropIndex" OpHelp(""), - /* 147 */ "DropTrigger" OpHelp(""), - /* 148 */ "IntegrityCk" OpHelp(""), - /* 149 */ "RowSetAdd" OpHelp("rowset(P1)=r[P2]"), - /* 150 */ "Param" OpHelp(""), - /* 151 */ "FkCounter" OpHelp("fkctr[P1]+=P2"), - /* 152 */ "MemMax" OpHelp("r[P1]=max(r[P1],r[P2])"), - /* 153 */ "OffsetLimit" OpHelp("if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)"), - /* 154 */ "AggInverse" OpHelp("accum=r[P3] inverse(r[P2@P5])"), - /* 155 */ "AggStep" OpHelp("accum=r[P3] step(r[P2@P5])"), - /* 156 */ "AggStep1" OpHelp("accum=r[P3] step(r[P2@P5])"), - /* 157 */ "AggValue" OpHelp("r[P3]=value N=P2"), - /* 158 */ "AggFinal" OpHelp("accum=r[P1] N=P2"), - /* 159 */ "Expire" OpHelp(""), - /* 160 */ "TableLock" OpHelp("iDb=P1 root=P2 write=P3"), - /* 161 */ "VBegin" OpHelp(""), - /* 162 */ "VCreate" OpHelp(""), - /* 163 */ "VDestroy" OpHelp(""), - /* 164 */ "VOpen" OpHelp(""), - /* 165 */ "VColumn" OpHelp("r[P3]=vcolumn(P2)"), - /* 166 */ "VRename" OpHelp(""), - /* 167 */ "Pagecount" OpHelp(""), - /* 168 */ "MaxPgcnt" OpHelp(""), - /* 169 */ "Trace" OpHelp(""), - /* 170 */ "CursorHint" OpHelp(""), - /* 171 */ "Noop" OpHelp(""), - /* 172 */ "Explain" OpHelp(""), - /* 173 */ "Abortable" OpHelp(""), + /* 123 */ "Delete" OpHelp(""), + /* 124 */ "ResetCount" OpHelp(""), + /* 125 */ "SorterCompare" OpHelp("if key(P1)!=trim(r[P3],P4) goto P2"), + /* 126 */ "SorterData" OpHelp("r[P2]=data"), + /* 127 */ "RowData" OpHelp("r[P2]=data"), + /* 128 */ "Rowid" OpHelp("r[P2]=rowid"), + /* 129 */ "NullRow" OpHelp(""), + /* 130 */ "SeekEnd" OpHelp(""), + /* 131 */ "SorterInsert" OpHelp("key=r[P2]"), + /* 132 */ "IdxInsert" OpHelp("key=r[P2]"), + /* 133 */ "IdxDelete" OpHelp("key=r[P2@P3]"), + /* 134 */ "DeferredSeek" OpHelp("Move P3 to P1.rowid if needed"), + /* 135 */ "IdxRowid" OpHelp("r[P2]=rowid"), + /* 136 */ "Destroy" OpHelp(""), + /* 137 */ "Clear" OpHelp(""), + /* 138 */ "ResetSorter" OpHelp(""), + /* 139 */ "CreateBtree" OpHelp("r[P2]=root iDb=P1 flags=P3"), + /* 140 */ "SqlExec" OpHelp(""), + /* 141 */ "ParseSchema" OpHelp(""), + /* 142 */ "LoadAnalysis" OpHelp(""), + /* 143 */ "DropTable" OpHelp(""), + /* 144 */ "DropIndex" OpHelp(""), + /* 145 */ "DropTrigger" OpHelp(""), + /* 146 */ "IntegrityCk" OpHelp(""), + /* 147 */ "RowSetAdd" OpHelp("rowset(P1)=r[P2]"), + /* 148 */ "Real" OpHelp("r[P2]=P4"), + /* 149 */ "Param" OpHelp(""), + /* 150 */ "FkCounter" OpHelp("fkctr[P1]+=P2"), + /* 151 */ "MemMax" OpHelp("r[P1]=max(r[P1],r[P2])"), + /* 152 */ "OffsetLimit" OpHelp("if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)"), + /* 153 */ "AggInverse" OpHelp("accum=r[P3] inverse(r[P2@P5])"), + /* 154 */ "AggStep" OpHelp("accum=r[P3] step(r[P2@P5])"), + /* 155 */ "AggStep1" OpHelp("accum=r[P3] step(r[P2@P5])"), + /* 156 */ "AggValue" OpHelp("r[P3]=value N=P2"), + /* 157 */ "AggFinal" OpHelp("accum=r[P1] N=P2"), + /* 158 */ "Expire" OpHelp(""), + /* 159 */ "TableLock" OpHelp("iDb=P1 root=P2 write=P3"), + /* 160 */ "VBegin" OpHelp(""), + /* 161 */ "VCreate" OpHelp(""), + /* 162 */ "VDestroy" OpHelp(""), + /* 163 */ "VOpen" OpHelp(""), + /* 164 */ "VColumn" OpHelp("r[P3]=vcolumn(P2)"), + /* 165 */ "VRename" OpHelp(""), + /* 166 */ "Pagecount" OpHelp(""), + /* 167 */ "MaxPgcnt" OpHelp(""), + /* 168 */ "Trace" OpHelp(""), + /* 169 */ "CursorHint" OpHelp(""), + /* 170 */ "Noop" OpHelp(""), + /* 171 */ "Explain" OpHelp(""), + /* 172 */ "Abortable" OpHelp(""), }; return azName[i]; } @@ -32241,13 +32595,29 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ # include #endif /* SQLITE_ENABLE_LOCKING_STYLE */ -#if defined(__APPLE__) && ((__MAC_OS_X_VERSION_MIN_REQUIRED > 1050) || \ - (__IPHONE_OS_VERSION_MIN_REQUIRED > 2000)) -# if (!defined(TARGET_OS_EMBEDDED) || (TARGET_OS_EMBEDDED==0)) \ - && (!defined(TARGET_IPHONE_SIMULATOR) || (TARGET_IPHONE_SIMULATOR==0)) -# define HAVE_GETHOSTUUID 1 -# else -# warning "gethostuuid() is disabled." +/* +** Try to determine if gethostuuid() is available based on standard +** macros. This might sometimes compute the wrong value for some +** obscure platforms. For those cases, simply compile with one of +** the following: +** +** -DHAVE_GETHOSTUUID=0 +** -DHAVE_GETHOSTUUID=1 +** +** None if this matters except when building on Apple products with +** -DSQLITE_ENABLE_LOCKING_STYLE. +*/ +#ifndef HAVE_GETHOSTUUID +# define HAVE_GETHOSTUUID 0 +# if defined(__APPLE__) && ((__MAC_OS_X_VERSION_MIN_REQUIRED > 1050) || \ + (__IPHONE_OS_VERSION_MIN_REQUIRED > 2000)) +# if (!defined(TARGET_OS_EMBEDDED) || (TARGET_OS_EMBEDDED==0)) \ + && (!defined(TARGET_IPHONE_SIMULATOR) || (TARGET_IPHONE_SIMULATOR==0)) +# undef HAVE_GETHOSTUUID +# define HAVE_GETHOSTUUID 1 +# else +# warning "gethostuuid() is disabled." +# endif # endif #endif @@ -32855,13 +33225,14 @@ static struct unix_syscall { #if defined(__linux__) && defined(SQLITE_ENABLE_BATCH_ATOMIC_WRITE) # ifdef __ANDROID__ { "ioctl", (sqlite3_syscall_ptr)(int(*)(int, int, ...))ioctl, 0 }, +#define osIoctl ((int(*)(int,int,...))aSyscall[28].pCurrent) # else { "ioctl", (sqlite3_syscall_ptr)ioctl, 0 }, +#define osIoctl ((int(*)(int,unsigned long,...))aSyscall[28].pCurrent) # endif #else { "ioctl", (sqlite3_syscall_ptr)0, 0 }, #endif -#define osIoctl ((int(*)(int,int,...))aSyscall[28].pCurrent) }; /* End of the overrideable system calls */ @@ -38103,6 +38474,7 @@ static UnixUnusedFd *findReusableFd(const char *zPath, int flags){ UnixUnusedFd **pp; assert( sqlite3_mutex_notheld(pInode->pLockMutex) ); sqlite3_mutex_enter(pInode->pLockMutex); + flags &= (SQLITE_OPEN_READONLY|SQLITE_OPEN_READWRITE); for(pp=&pInode->pUnused; *pp && (*pp)->flags!=flags; pp=&((*pp)->pNext)); pUnused = *pp; if( pUnused ){ @@ -38156,7 +38528,7 @@ static int getFileMode( ** If the SQLITE_ENABLE_8_3_NAMES option is enabled, then the ** original filename is unavailable. But 8_3_NAMES is only used for ** FAT filesystems and permissions do not matter there, so just use -** the default permissions. +** the default permissions. In 8_3_NAMES mode, leave *pMode set to zero. */ static int findCreateFileMode( const char *zPath, /* Path of file (possibly) being created */ @@ -38391,11 +38763,19 @@ static int unixOpen( goto open_finished; } - /* If this process is running as root and if creating a new rollback - ** journal or WAL file, set the ownership of the journal or WAL to be - ** the same as the original database. + /* The owner of the rollback journal or WAL file should always be the + ** same as the owner of the database file. Try to ensure that this is + ** the case. The chown() system call will be a no-op if the current + ** process lacks root privileges, be we should at least try. Without + ** this step, if a root process opens a database file, it can leave + ** behinds a journal/WAL that is owned by root and hence make the + ** database inaccessible to unprivileged processes. + ** + ** If openMode==0, then that means uid and gid are not set correctly + ** (probably because SQLite is configured to use 8+3 filename mode) and + ** in that case we do not want to attempt the chown(). */ - if( flags & (SQLITE_OPEN_WAL|SQLITE_OPEN_MAIN_JOURNAL) ){ + if( openMode && (flags & (SQLITE_OPEN_WAL|SQLITE_OPEN_MAIN_JOURNAL))!=0 ){ robustFchown(fd, uid, gid); } } @@ -38406,7 +38786,8 @@ static int unixOpen( if( p->pPreallocatedUnused ){ p->pPreallocatedUnused->fd = fd; - p->pPreallocatedUnused->flags = flags; + p->pPreallocatedUnused->flags = + flags & (SQLITE_OPEN_READONLY|SQLITE_OPEN_READWRITE); } if( isDelete ){ @@ -39252,7 +39633,7 @@ SQLITE_API int sqlite3_hostid_num = 0; #define PROXY_HOSTIDLEN 16 /* conch file host id length */ -#ifdef HAVE_GETHOSTUUID +#if HAVE_GETHOSTUUID /* Not always defined in the headers as it ought to be */ extern int gethostuuid(uuid_t id, const struct timespec *wait); #endif @@ -39263,7 +39644,7 @@ extern int gethostuuid(uuid_t id, const struct timespec *wait); static int proxyGetHostID(unsigned char *pHostID, int *pError){ assert(PROXY_HOSTIDLEN == sizeof(uuid_t)); memset(pHostID, 0, PROXY_HOSTIDLEN); -#ifdef HAVE_GETHOSTUUID +#if HAVE_GETHOSTUUID { struct timespec timeout = {1, 0}; /* 1 sec timeout */ if( gethostuuid(pHostID, &timeout) ){ @@ -39937,7 +40318,7 @@ static int proxyFileControl(sqlite3_file *id, int op, void *pArg){ assert( 0 ); /* The call assures that only valid opcodes are sent */ } } - /*NOTREACHED*/ + /*NOTREACHED*/ assert(0); return SQLITE_ERROR; } @@ -44622,6 +45003,7 @@ static int winShmMap( rc = winOpenSharedMemory(pDbFd); if( rc!=SQLITE_OK ) return rc; pShm = pDbFd->pShm; + assert( pShm!=0 ); } pShmNode = pShm->pShmNode; @@ -44924,6 +45306,7 @@ static int winFetch(sqlite3_file *fd, i64 iOff, int nAmt, void **pp){ } } if( pFd->mmapSize >= iOff+nAmt ){ + assert( pFd->pMapRegion!=0 ); *pp = &((u8 *)pFd->pMapRegion)[iOff]; pFd->nFetchOut++; } @@ -46577,7 +46960,8 @@ typedef struct MemFile MemFile; struct MemFile { sqlite3_file base; /* IO methods */ sqlite3_int64 sz; /* Size of the file */ - sqlite3_int64 szMax; /* Space allocated to aData */ + sqlite3_int64 szAlloc; /* Space allocated to aData */ + sqlite3_int64 szMax; /* Maximum allowed size of the file */ unsigned char *aData; /* content of the file */ int nMmap; /* Number of memory mapped pages */ unsigned mFlags; /* Flags */ @@ -46703,10 +47087,15 @@ static int memdbEnlarge(MemFile *p, sqlite3_int64 newSz){ if( (p->mFlags & SQLITE_DESERIALIZE_RESIZEABLE)==0 || p->nMmap>0 ){ return SQLITE_FULL; } + if( newSz>p->szMax ){ + return SQLITE_FULL; + } + newSz *= 2; + if( newSz>p->szMax ) newSz = p->szMax; pNew = sqlite3_realloc64(p->aData, newSz); if( pNew==0 ) return SQLITE_NOMEM; p->aData = pNew; - p->szMax = newSz; + p->szAlloc = newSz; return SQLITE_OK; } @@ -46720,10 +47109,11 @@ static int memdbWrite( sqlite_int64 iOfst ){ MemFile *p = (MemFile *)pFile; + if( NEVER(p->mFlags & SQLITE_DESERIALIZE_READONLY) ) return SQLITE_READONLY; if( iOfst+iAmt>p->sz ){ int rc; - if( iOfst+iAmt>p->szMax - && (rc = memdbEnlarge(p, (iOfst+iAmt)*2))!=SQLITE_OK + if( iOfst+iAmt>p->szAlloc + && (rc = memdbEnlarge(p, iOfst+iAmt))!=SQLITE_OK ){ return rc; } @@ -46769,6 +47159,11 @@ static int memdbFileSize(sqlite3_file *pFile, sqlite_int64 *pSize){ */ static int memdbLock(sqlite3_file *pFile, int eLock){ MemFile *p = (MemFile *)pFile; + if( eLock>SQLITE_LOCK_SHARED + && (p->mFlags & SQLITE_DESERIALIZE_READONLY)!=0 + ){ + return SQLITE_READONLY; + } p->eLock = eLock; return SQLITE_OK; } @@ -46793,6 +47188,19 @@ static int memdbFileControl(sqlite3_file *pFile, int op, void *pArg){ *(char**)pArg = sqlite3_mprintf("memdb(%p,%lld)", p->aData, p->sz); rc = SQLITE_OK; } + if( op==SQLITE_FCNTL_SIZE_LIMIT ){ + sqlite3_int64 iLimit = *(sqlite3_int64*)pArg; + if( iLimitsz ){ + if( iLimit<0 ){ + iLimit = p->szMax; + }else{ + iLimit = p->sz; + } + } + p->szMax = iLimit; + *(sqlite3_int64*)pArg = iLimit; + rc = SQLITE_OK; + } return rc; } @@ -46823,8 +47231,12 @@ static int memdbFetch( void **pp ){ MemFile *p = (MemFile *)pFile; - p->nMmap++; - *pp = (void*)(p->aData + iOfst); + if( iOfst+iAmt>p->sz ){ + *pp = 0; + }else{ + p->nMmap++; + *pp = (void*)(p->aData + iOfst); + } return SQLITE_OK; } @@ -46854,6 +47266,7 @@ static int memdbOpen( assert( pOutFlags!=0 ); /* True because flags==SQLITE_OPEN_MAIN_DB */ *pOutFlags = flags | SQLITE_OPEN_MEMORY; p->base.pMethods = &memdb_io_methods; + p->szMax = sqlite3GlobalConfig.mxMemdbSize; return SQLITE_OK; } @@ -47103,7 +47516,11 @@ SQLITE_API int sqlite3_deserialize( }else{ p->aData = pData; p->sz = szDb; + p->szAlloc = szBuf; p->szMax = szBuf; + if( p->szMaxszMax = sqlite3GlobalConfig.mxMemdbSize; + } p->mFlags = mFlags; rc = SQLITE_OK; } @@ -47792,9 +48209,10 @@ static int numberOfCachePages(PCache *p){ ** suggested cache size is set to N. */ return p->szCache; }else{ - /* IMPLEMENTATION-OF: R-61436-13639 If the argument N is negative, then - ** the number of cache pages is adjusted to use approximately abs(N*1024) - ** bytes of memory. */ + /* IMPLEMANTATION-OF: R-59858-46238 If the argument N is negative, then the + ** number of cache pages is adjusted to be a number of pages that would + ** use approximately abs(N*1024) bytes of memory based on the current + ** page size. */ return (int)((-1024*(i64)p->szCache)/(p->szPage+p->szExtra)); } } @@ -47810,6 +48228,7 @@ SQLITE_PRIVATE int sqlite3PcacheInitialize(void){ ** built-in default page cache is used instead of the application defined ** page cache. */ sqlite3PCacheSetDefault(); + assert( sqlite3GlobalConfig.pcache2.xInit!=0 ); } return sqlite3GlobalConfig.pcache2.xInit(sqlite3GlobalConfig.pcache2.pArg); } @@ -48524,16 +48943,27 @@ typedef struct PGroup PGroup; ** structure. Unless SQLITE_PCACHE_SEPARATE_HEADER is defined, a buffer of ** PgHdr1.pCache->szPage bytes is allocated directly before this structure ** in memory. +** +** Note: Variables isBulkLocal and isAnchor were once type "u8". That works, +** but causes a 2-byte gap in the structure for most architectures (since +** pointers must be either 4 or 8-byte aligned). As this structure is located +** in memory directly after the associated page data, if the database is +** corrupt, code at the b-tree layer may overread the page buffer and +** read part of this structure before the corruption is detected. This +** can cause a valgrind error if the unitialized gap is accessed. Using u16 +** ensures there is no such gap, and therefore no bytes of unitialized memory +** in the structure. */ struct PgHdr1 { sqlite3_pcache_page page; /* Base class. Must be first. pBuf & pExtra */ unsigned int iKey; /* Key value (page number) */ - u8 isBulkLocal; /* This page from bulk local storage */ - u8 isAnchor; /* This is the PGroup.lru element */ + u16 isBulkLocal; /* This page from bulk local storage */ + u16 isAnchor; /* This is the PGroup.lru element */ PgHdr1 *pNext; /* Next in hash table chain */ PCache1 *pCache; /* Cache that currently owns this page */ PgHdr1 *pLruNext; /* Next in LRU list of unpinned pages */ PgHdr1 *pLruPrev; /* Previous in LRU list of unpinned pages */ + /* NB: pLruPrev is only valid if pLruNext!=0 */ }; /* @@ -48599,6 +49029,7 @@ struct PCache1 { unsigned int nMax; /* Configured "cache_size" value */ unsigned int n90pct; /* nMax*9/10 */ unsigned int iMaxKey; /* Largest key seen since xTruncate() */ + unsigned int nPurgeableDummy; /* pnPurgeable points here when not used*/ /* Hash table of all pages. The following variables may only be accessed ** when the accessor is holding the PGroup mutex. @@ -48733,6 +49164,7 @@ static int pcache1InitBulk(PCache1 *pCache){ pX->isBulkLocal = 1; pX->isAnchor = 0; pX->pNext = pCache->pFree; + pX->pLruPrev = 0; /* Initializing this saves a valgrind error */ pCache->pFree = pX; zBulk += pCache->szAlloc; }while( --nBulk ); @@ -48843,6 +49275,7 @@ static PgHdr1 *pcache1AllocPage(PCache1 *pCache, int benignMalloc){ assert( sqlite3_mutex_held(pCache->pGroup->mutex) ); if( pCache->pFree || (pCache->nPage==0 && pcache1InitBulk(pCache)) ){ + assert( pCache->pFree!=0 ); p = pCache->pFree; pCache->pFree = p->pNext; p->pNext = 0; @@ -48908,6 +49341,7 @@ static void pcache1FreePage(PgHdr1 *p){ ** exists, this function falls back to sqlite3Malloc(). */ SQLITE_PRIVATE void *sqlite3PageMalloc(int sz){ + assert( sz<=65536+8 ); /* These allocations are never very large */ return pcache1Alloc(sz); } @@ -49002,7 +49436,8 @@ static PgHdr1 *pcache1PinPage(PgHdr1 *pPage){ pPage->pLruPrev->pLruNext = pPage->pLruNext; pPage->pLruNext->pLruPrev = pPage->pLruPrev; pPage->pLruNext = 0; - pPage->pLruPrev = 0; + /* pPage->pLruPrev = 0; + ** No need to clear pLruPrev as it is never accessed if pLruNext is 0 */ assert( pPage->isAnchor==0 ); assert( pPage->pCache->pGroup->lru.isAnchor==1 ); pPage->pCache->nRecyclable--; @@ -49195,6 +49630,7 @@ static sqlite3_pcache *pcache1Create(int szPage, int szExtra, int bPurgeable){ }else{ pGroup = &pcache1.grp; } + pcache1EnterMutex(pGroup); if( pGroup->lru.isAnchor==0 ){ pGroup->lru.isAnchor = 1; pGroup->lru.pLruPrev = pGroup->lru.pLruNext = &pGroup->lru; @@ -49204,7 +49640,6 @@ static sqlite3_pcache *pcache1Create(int szPage, int szExtra, int bPurgeable){ pCache->szExtra = szExtra; pCache->szAlloc = szPage + szExtra + ROUND8(sizeof(PgHdr1)); pCache->bPurgeable = (bPurgeable ? 1 : 0); - pcache1EnterMutex(pGroup); pcache1ResizeHash(pCache); if( bPurgeable ){ pCache->nMin = 10; @@ -49212,8 +49647,7 @@ static sqlite3_pcache *pcache1Create(int szPage, int szExtra, int bPurgeable){ pGroup->mxPinned = pGroup->nMaxPage + 10 - pGroup->nMinPage; pCache->pnPurgeable = &pGroup->nPurgeable; }else{ - static unsigned int dummyCurrentPage; - pCache->pnPurgeable = &dummyCurrentPage; + pCache->pnPurgeable = &pCache->nPurgeableDummy; } pcache1LeaveMutex(pGroup); if( pCache->nHash==0 ){ @@ -49340,8 +49774,9 @@ static SQLITE_NOINLINE PgHdr1 *pcache1FetchStage2( pPage->iKey = iKey; pPage->pNext = pCache->apHash[h]; pPage->pCache = pCache; - pPage->pLruPrev = 0; pPage->pLruNext = 0; + /* pPage->pLruPrev = 0; + ** No need to clear pLruPrev since it is not accessed when pLruNext==0 */ *(void **)pPage->page.pExtra = 0; pCache->apHash[h] = pPage; if( iKey>pCache->iMaxKey ){ @@ -49501,7 +49936,7 @@ static void pcache1Unpin( /* It is an error to call this function if the page is already ** part of the PGroup LRU list. */ - assert( pPage->pLruPrev==0 && pPage->pLruNext==0 ); + assert( pPage->pLruNext==0 ); assert( PAGE_IS_PINNED(pPage) ); if( reuseUnlikely || pGroup->nPurgeable>pGroup->nMaxPage ){ @@ -51190,6 +51625,9 @@ static const unsigned char aJournalMagic[] = { SQLITE_PRIVATE int sqlite3PagerDirectReadOk(Pager *pPager, Pgno pgno){ if( pPager->fd->pMethods==0 ) return 0; if( sqlite3PCacheIsDirty(pPager->pPCache) ) return 0; +#ifdef SQLITE_HAS_CODEC + if( pPager->xCodec!=0 ) return 0; +#endif #ifndef SQLITE_OMIT_WAL if( pPager->pWal ){ u32 iRead = 0; @@ -54139,8 +54577,14 @@ SQLITE_PRIVATE int sqlite3PagerSetPagesize(Pager *pPager, u32 *pPageSize, int nR rc = sqlite3OsFileSize(pPager->fd, &nByte); } if( rc==SQLITE_OK ){ - pNew = (char *)sqlite3PageMalloc(pageSize); - if( !pNew ) rc = SQLITE_NOMEM_BKPT; + /* 8 bytes of zeroed overrun space is sufficient so that the b-tree + * cell header parser will never run off the end of the allocation */ + pNew = (char *)sqlite3PageMalloc(pageSize+8); + if( !pNew ){ + rc = SQLITE_NOMEM_BKPT; + }else{ + memset(pNew+pageSize, 0, 8); + } } if( rc==SQLITE_OK ){ @@ -54192,7 +54636,10 @@ SQLITE_PRIVATE int sqlite3PagerMaxPageCount(Pager *pPager, int mxPage){ pPager->mxPgno = mxPage; } assert( pPager->eState!=PAGER_OPEN ); /* Called only by OP_MaxPgcnt */ - assert( pPager->mxPgno>=pPager->dbSize ); /* OP_MaxPgcnt enforces this */ + /* assert( pPager->mxPgno>=pPager->dbSize ); */ + /* OP_MaxPgcnt ensures that the parameter passed to this function is not + ** less than the total number of valid pages in the database. But this + ** may be less than Pager.dbSize, and so the assert() above is not valid */ return pPager->mxPgno; } @@ -57518,8 +57965,12 @@ SQLITE_PRIVATE int sqlite3PagerMovepage(Pager *pPager, DbPage *pPg, Pgno pgno, i */ pPg->flags &= ~PGHDR_NEED_SYNC; pPgOld = sqlite3PagerLookup(pPager, pgno); - assert( !pPgOld || pPgOld->nRef==1 ); + assert( !pPgOld || pPgOld->nRef==1 || CORRUPT_DB ); if( pPgOld ){ + if( pPgOld->nRef>1 ){ + sqlite3PagerUnrefNotNull(pPgOld); + return SQLITE_CORRUPT_BKPT; + } pPg->flags |= (pPgOld->flags&PGHDR_NEED_SYNC); if( pPager->tempFile ){ /* Do not discard pages from an in-memory database since we might @@ -58047,7 +58498,7 @@ SQLITE_PRIVATE int sqlite3PagerSnapshotCheck(Pager *pPager, sqlite3_snapshot *pS */ SQLITE_PRIVATE void sqlite3PagerSnapshotUnlock(Pager *pPager){ assert( pPager->pWal ); - return sqlite3WalSnapshotUnlock(pPager->pWal); + sqlite3WalSnapshotUnlock(pPager->pWal); } #endif /* SQLITE_ENABLE_SNAPSHOT */ @@ -58648,7 +59099,7 @@ static SQLITE_NOINLINE int walIndexPageRealloc( /* Enlarge the pWal->apWiData[] array if required */ if( pWal->nWiData<=iPage ){ - int nByte = sizeof(u32*)*(iPage+1); + sqlite3_int64 nByte = sizeof(u32*)*(iPage+1); volatile u32 **apNew; apNew = (volatile u32 **)sqlite3_realloc64((void *)pWal->apWiData, nByte); if( !apNew ){ @@ -58752,6 +59203,7 @@ static void walChecksumBytes( assert( nByte>=8 ); assert( (nByte&0x00000007)==0 ); + assert( nByte<=65536 ); if( nativeCksum ){ do { @@ -59059,6 +59511,7 @@ static void walCleanupHash(Wal *pWal){ int iLimit = 0; /* Zero values greater than this */ int nByte; /* Number of bytes to zero in aPgno[] */ int i; /* Used to iterate through aHash[] */ + int rc; /* Return code form walHashGet() */ assert( pWal->writeLock ); testcase( pWal->hdr.mxFrame==HASHTABLE_NPAGE_ONE-1 ); @@ -59069,11 +59522,12 @@ static void walCleanupHash(Wal *pWal){ /* Obtain pointers to the hash-table and page-number array containing ** the entry that corresponds to frame pWal->hdr.mxFrame. It is guaranteed - ** that the page said hash-table and array reside on is already mapped. + ** that the page said hash-table and array reside on is already mapped.(1) */ assert( pWal->nWiData>walFramePage(pWal->hdr.mxFrame) ); assert( pWal->apWiData[walFramePage(pWal->hdr.mxFrame)] ); - walHashGet(pWal, walFramePage(pWal->hdr.mxFrame), &sLoc); + rc = walHashGet(pWal, walFramePage(pWal->hdr.mxFrame), &sLoc); + if( NEVER(rc) ) return; /* Defense-in-depth, in case (1) above is wrong */ /* Zero all hash-table entries that correspond to frame numbers greater ** than pWal->hdr.mxFrame. @@ -59687,7 +60141,7 @@ static int walIteratorInit(Wal *pWal, u32 nBackfill, WalIterator **pp){ WalIterator *p; /* Return value */ int nSegment; /* Number of segments to merge */ u32 iLast; /* Last frame in log */ - int nByte; /* Number of bytes to allocate */ + sqlite3_int64 nByte; /* Number of bytes to allocate */ int i; /* Iterator variable */ ht_slot *aTmp; /* Temp space used by merge-sort */ int rc = SQLITE_OK; /* Return Code */ @@ -60978,9 +61432,9 @@ SQLITE_PRIVATE int sqlite3WalFindFrame( } nCollide = HASHTABLE_NSLOT; for(iKey=walHash(pgno); sLoc.aHash[iKey]; iKey=walNextHash(iKey)){ - u32 iFrame = sLoc.aHash[iKey] + sLoc.iZero; - if( iFrame<=iLast && iFrame>=pWal->minFrame - && sLoc.aPgno[sLoc.aHash[iKey]]==pgno ){ + u32 iH = sLoc.aHash[iKey]; + u32 iFrame = iH + sLoc.iZero; + if( iFrame<=iLast && iFrame>=pWal->minFrame && sLoc.aPgno[iH]==pgno ){ assert( iFrame>iRead || CORRUPT_DB ); iRead = iFrame; } @@ -61548,6 +62002,7 @@ SQLITE_PRIVATE int sqlite3WalFrames( if( rc ) return rc; iOffset += szFrame; nExtra++; + assert( pLast!=0 ); } } if( bSync ){ @@ -61580,6 +62035,7 @@ SQLITE_PRIVATE int sqlite3WalFrames( iFrame++; rc = walIndexAppend(pWal, iFrame, p->pgno); } + assert( pLast!=0 || nExtra==0 ); while( rc==SQLITE_OK && nExtra>0 ){ iFrame++; nExtra--; @@ -62223,7 +62679,7 @@ struct MemPage { u16 maxLocal; /* Copy of BtShared.maxLocal or BtShared.maxLeaf */ u16 minLocal; /* Copy of BtShared.minLocal or BtShared.minLeaf */ u16 cellOffset; /* Index in aData of first cell pointer */ - u16 nFree; /* Number of free bytes on the page */ + int nFree; /* Number of free bytes on the page. -1 for unknown */ u16 nCell; /* Number of cells on this page, local and ovfl */ u16 maskPage; /* Mask for page offset */ u16 aiOvfl[4]; /* Insert the i-th overflow cell before the aiOvfl-th @@ -62431,9 +62887,16 @@ struct CellInfo { ** found at self->pBt->mutex. ** ** skipNext meaning: -** eState==SKIPNEXT && skipNext>0: Next sqlite3BtreeNext() is no-op. -** eState==SKIPNEXT && skipNext<0: Next sqlite3BtreePrevious() is no-op. -** eState==FAULT: Cursor fault with skipNext as error code. +** The meaning of skipNext depends on the value of eState: +** +** eState Meaning of skipNext +** VALID skipNext is meaningless and is ignored +** INVALID skipNext is meaningless and is ignored +** SKIPNEXT sqlite3BtreeNext() is a no-op if skipNext>0 and +** sqlite3BtreePrevious() is no-op if skipNext<0. +** REQUIRESEEK restoreCursorPosition() restores the cursor to +** eState=SKIPNEXT if skipNext!=0 +** FAULT skipNext holds the cursor fault error code. */ struct BtCursor { u8 eState; /* One of the CURSOR_XXX constants (see below) */ @@ -63597,13 +64060,19 @@ static int saveCursorKey(BtCursor *pCur){ /* Only the rowid is required for a table btree */ pCur->nKey = sqlite3BtreeIntegerKey(pCur); }else{ - /* For an index btree, save the complete key content */ + /* For an index btree, save the complete key content. It is possible + ** that the current key is corrupt. In that case, it is possible that + ** the sqlite3VdbeRecordUnpack() function may overread the buffer by + ** up to the size of 1 varint plus 1 8-byte value when the cursor + ** position is restored. Hence the 17 bytes of padding allocated + ** below. */ void *pKey; pCur->nKey = sqlite3BtreePayloadSize(pCur); - pKey = sqlite3Malloc( pCur->nKey ); + pKey = sqlite3Malloc( pCur->nKey + 9 + 8 ); if( pKey ){ rc = sqlite3BtreePayload(pCur, 0, (int)pCur->nKey, pKey); if( rc==SQLITE_OK ){ + memset(((u8*)pKey)+pCur->nKey, 0, 9+8); pCur->pKey = pKey; }else{ sqlite3_free(pKey); @@ -63735,11 +64204,12 @@ static int btreeMoveto( UnpackedRecord *pIdxKey; /* Unpacked index key */ if( pKey ){ + KeyInfo *pKeyInfo = pCur->pKeyInfo; assert( nKey==(i64)(int)nKey ); - pIdxKey = sqlite3VdbeAllocUnpackedRecord(pCur->pKeyInfo); + pIdxKey = sqlite3VdbeAllocUnpackedRecord(pKeyInfo); if( pIdxKey==0 ) return SQLITE_NOMEM_BKPT; - sqlite3VdbeRecordUnpack(pCur->pKeyInfo, (int)nKey, pKey, pIdxKey); - if( pIdxKey->nField==0 ){ + sqlite3VdbeRecordUnpack(pKeyInfo, (int)nKey, pKey, pIdxKey); + if( pIdxKey->nField==0 || pIdxKey->nField>pKeyInfo->nAllField ){ rc = SQLITE_CORRUPT_BKPT; goto moveto_done; } @@ -63763,19 +64233,23 @@ static int btreeMoveto( */ static int btreeRestoreCursorPosition(BtCursor *pCur){ int rc; - int skipNext; + int skipNext = 0; assert( cursorOwnsBtShared(pCur) ); assert( pCur->eState>=CURSOR_REQUIRESEEK ); if( pCur->eState==CURSOR_FAULT ){ return pCur->skipNext; } pCur->eState = CURSOR_INVALID; - rc = btreeMoveto(pCur, pCur->pKey, pCur->nKey, 0, &skipNext); + if( sqlite3FaultSim(410) ){ + rc = SQLITE_IOERR; + }else{ + rc = btreeMoveto(pCur, pCur->pKey, pCur->nKey, 0, &skipNext); + } if( rc==SQLITE_OK ){ sqlite3_free(pCur->pKey); pCur->pKey = 0; assert( pCur->eState==CURSOR_VALID || pCur->eState==CURSOR_INVALID ); - pCur->skipNext |= skipNext; + if( skipNext ) pCur->skipNext = skipNext; if( pCur->skipNext && pCur->eState==CURSOR_VALID ){ pCur->eState = CURSOR_SKIPNEXT; } @@ -63845,7 +64319,6 @@ SQLITE_PRIVATE int sqlite3BtreeCursorRestore(BtCursor *pCur, int *pDifferentRow) if( pCur->eState!=CURSOR_VALID ){ *pDifferentRow = 1; }else{ - assert( pCur->skipNext==0 ); *pDifferentRow = 0; } return SQLITE_OK; @@ -63929,6 +64402,13 @@ static void ptrmapPut(BtShared *pBt, Pgno key, u8 eType, Pgno parent, int *pRC){ *pRC = rc; return; } + if( ((char*)sqlite3PagerGetExtra(pDbPage))[0]!=0 ){ + /* The first byte of the extra data is the MemPage.isInit byte. + ** If that byte is set, it means this page is also being used + ** as a btree page. */ + *pRC = SQLITE_CORRUPT_BKPT; + goto ptrmap_exit; + } offset = PTRMAP_PTROFFSET(iPtrmap, key); if( offset<0 ){ *pRC = SQLITE_CORRUPT_BKPT; @@ -63991,7 +64471,7 @@ static int ptrmapGet(BtShared *pBt, Pgno key, u8 *pEType, Pgno *pPgno){ #else /* if defined SQLITE_OMIT_AUTOVACUUM */ #define ptrmapPut(w,x,y,z,rc) #define ptrmapGet(w,x,y,z) SQLITE_OK - #define ptrmapPutOvflPtr(x, y, rc) + #define ptrmapPutOvflPtr(x, y, z, rc) #endif /* @@ -64284,17 +64764,24 @@ static u16 cellSize(MemPage *pPage, int iCell){ #ifndef SQLITE_OMIT_AUTOVACUUM /* -** If the cell pCell, part of page pPage contains a pointer -** to an overflow page, insert an entry into the pointer-map -** for the overflow page. +** The cell pCell is currently part of page pSrc but will ultimately be part +** of pPage. (pSrc and pPager are often the same.) If pCell contains a +** pointer to an overflow page, insert an entry into the pointer-map for +** the overflow page that will be valid after pCell has been moved to pPage. */ -static void ptrmapPutOvflPtr(MemPage *pPage, u8 *pCell, int *pRC){ +static void ptrmapPutOvflPtr(MemPage *pPage, MemPage *pSrc, u8 *pCell,int *pRC){ CellInfo info; if( *pRC ) return; assert( pCell!=0 ); pPage->xParseCell(pPage, pCell, &info); if( info.nLocalaDataEnd, pCell, pCell+info.nLocal) ){ + testcase( pSrc!=pPage ); + *pRC = SQLITE_CORRUPT_BKPT; + return; + } + ovfl = get4byte(&pCell[info.nSize-4]); ptrmapPut(pPage->pBt, ovfl, PTRMAP_OVERFLOW1, pPage->pgno, pRC); } } @@ -64338,7 +64825,7 @@ static int defragmentPage(MemPage *pPage, int nMaxFrag){ hdr = pPage->hdrOffset; cellOffset = pPage->cellOffset; nCell = pPage->nCell; - assert( nCell==get2byte(&data[hdr+3]) ); + assert( nCell==get2byte(&data[hdr+3]) || CORRUPT_DB ); iCellFirst = cellOffset + 2*nCell; usableSize = pPage->pBt->usableSize; @@ -64349,19 +64836,10 @@ static int defragmentPage(MemPage *pPage, int nMaxFrag){ ** reconstruct the entire page. */ if( (int)data[hdr+7]<=nMaxFrag ){ int iFree = get2byte(&data[hdr+1]); + if( iFree>usableSize-4 ) return SQLITE_CORRUPT_PAGE(pPage); if( iFree ){ int iFree2 = get2byte(&data[iFree]); - - /* pageFindSlot() has already verified that free blocks are sorted - ** in order of offset within the page, and that no block extends - ** past the end of the page. Provided the two free slots do not - ** overlap, this guarantees that the memmove() calls below will not - ** overwrite the usableSize byte buffer, even if the database page - ** is corrupt. */ - assert( iFree2==0 || iFree2>iFree ); - assert( iFree+get2byte(&data[iFree+2]) <= usableSize ); - assert( iFree2==0 || iFree2+get2byte(&data[iFree2+2]) <= usableSize ); - + if( iFree2>usableSize-4 ) return SQLITE_CORRUPT_PAGE(pPage); if( 0==iFree2 || (data[iFree2]==0 && data[iFree2+1]==0) ){ u8 *pEnd = &data[cellOffset + nCell*2]; u8 *pAddr; @@ -64372,12 +64850,15 @@ static int defragmentPage(MemPage *pPage, int nMaxFrag){ return SQLITE_CORRUPT_PAGE(pPage); } if( iFree2 ){ - assert( iFree+sz<=iFree2 ); /* Verified by pageFindSlot() */ + if( iFree+sz>iFree2 ) return SQLITE_CORRUPT_PAGE(pPage); sz2 = get2byte(&data[iFree2+2]); - assert( iFree+sz+sz2+iFree2-(iFree+sz) <= usableSize ); + if( iFree2+sz2 > usableSize ) return SQLITE_CORRUPT_PAGE(pPage); memmove(&data[iFree+sz+sz2], &data[iFree+sz], iFree2-(iFree+sz)); sz += sz2; + }else if( iFree+sz>usableSize ){ + return SQLITE_CORRUPT_PAGE(pPage); } + cbrk = top+sz; assert( cbrk+(iFree-top) <= usableSize ); memmove(&data[cbrk], &data[top], iFree-top); @@ -64428,6 +64909,7 @@ static int defragmentPage(MemPage *pPage, int nMaxFrag){ data[hdr+7] = 0; defragment_out: + assert( pPage->nFree>=0 ); if( data[hdr+7]+cbrk-iCellFirst!=pPage->nFree ){ return SQLITE_CORRUPT_PAGE(pPage); } @@ -64455,16 +64937,16 @@ static int defragmentPage(MemPage *pPage, int nMaxFrag){ ** causes the fragmentation count to exceed 60. */ static u8 *pageFindSlot(MemPage *pPg, int nByte, int *pRc){ - const int hdr = pPg->hdrOffset; - u8 * const aData = pPg->aData; - int iAddr = hdr + 1; - int pc = get2byte(&aData[iAddr]); - int x; - int usableSize = pPg->pBt->usableSize; - int size; /* Size of the free slot */ + const int hdr = pPg->hdrOffset; /* Offset to page header */ + u8 * const aData = pPg->aData; /* Page data */ + int iAddr = hdr + 1; /* Address of ptr to pc */ + int pc = get2byte(&aData[iAddr]); /* Address of a free slot */ + int x; /* Excess size of the slot */ + int maxPC = pPg->pBt->usableSize - nByte; /* Max address for a usable slot */ + int size; /* Size of the free slot */ assert( pc>0 ); - while( pc<=usableSize-4 ){ + while( pc<=maxPC ){ /* EVIDENCE-OF: R-22710-53328 The third and fourth bytes of each ** freeblock form a big-endian integer which is the size of the freeblock ** in bytes, including the 4-byte header. */ @@ -64472,10 +64954,7 @@ static u8 *pageFindSlot(MemPage *pPg, int nByte, int *pRc){ if( (x = size - nByte)>=0 ){ testcase( x==4 ); testcase( x==3 ); - if( size+pc > usableSize ){ - *pRc = SQLITE_CORRUPT_PAGE(pPg); - return 0; - }else if( x<4 ){ + if( x<4 ){ /* EVIDENCE-OF: R-11498-58022 In a well-formed b-tree page, the total ** number of bytes in fragments may not exceed 60. */ if( aData[hdr+7]>57 ) return 0; @@ -64484,21 +64963,31 @@ static u8 *pageFindSlot(MemPage *pPg, int nByte, int *pRc){ ** fragmented bytes within the page. */ memcpy(&aData[iAddr], &aData[pc], 2); aData[hdr+7] += (u8)x; + }else if( x+pc > maxPC ){ + /* This slot extends off the end of the usable part of the page */ + *pRc = SQLITE_CORRUPT_PAGE(pPg); + return 0; }else{ /* The slot remains on the free-list. Reduce its size to account - ** for the portion used by the new allocation. */ + ** for the portion used by the new allocation. */ put2byte(&aData[pc+2], x); } return &aData[pc + x]; } iAddr = pc; pc = get2byte(&aData[pc]); - if( pcmaxPC+nByte-4 ){ + /* The free slot chain extends off the end of the page */ *pRc = SQLITE_CORRUPT_PAGE(pPg); } - return 0; } @@ -64539,7 +65028,7 @@ static int allocateSpace(MemPage *pPage, int nByte, int *pIdx){ ** However, that integer is too large to be stored in a 2-byte unsigned ** integer, so a value of 0 is used in its place. */ top = get2byte(&data[hdr+5]); - assert( top<=(int)pPage->pBt->usableSize ); /* Prevent by getAndInitPage() */ + assert( top<=(int)pPage->pBt->usableSize ); /* by btreeComputeFreeSpace() */ if( gap>top ){ if( top==0 && pPage->pBt->usableSize==65536 ){ top = 65536; @@ -64548,9 +65037,9 @@ static int allocateSpace(MemPage *pPage, int nByte, int *pIdx){ } } - /* If there is enough space between gap and top for one more cell pointer - ** array entry offset, and if the freelist is not empty, then search the - ** freelist looking for a free slot big enough to satisfy the request. + /* If there is enough space between gap and top for one more cell pointer, + ** and if the freelist is not empty, then search the + ** freelist looking for a slot big enough to satisfy the request. */ testcase( gap+2==top ); testcase( gap+1==top ); @@ -64558,9 +65047,12 @@ static int allocateSpace(MemPage *pPage, int nByte, int *pIdx){ if( (data[hdr+2] || data[hdr+1]) && gap+2<=top ){ u8 *pSpace = pageFindSlot(pPage, nByte, &rc); if( pSpace ){ - assert( pSpace>=data && (pSpace - data)<65536 ); - *pIdx = (int)(pSpace - data); - return SQLITE_OK; + assert( pSpace+nByte<=data+pPage->pBt->usableSize ); + if( (*pIdx = (int)(pSpace-data))<=gap ){ + return SQLITE_CORRUPT_PAGE(pPage); + }else{ + return SQLITE_OK; + } }else if( rc ){ return rc; } @@ -64572,6 +65064,7 @@ static int allocateSpace(MemPage *pPage, int nByte, int *pIdx){ testcase( gap+2+nByte==top ); if( gap+2+nByte>top ){ assert( pPage->nCell>0 || CORRUPT_DB ); + assert( pPage->nFree>=0 ); rc = defragmentPage(pPage, MIN(4, pPage->nFree - (2+nByte))); if( rc ) return rc; top = get2byteNotZero(&data[hdr+5]); @@ -64580,7 +65073,7 @@ static int allocateSpace(MemPage *pPage, int nByte, int *pIdx){ /* Allocate memory from the gap in between the cell pointer array - ** and the cell content area. The btreeInitPage() call has already + ** and the cell content area. The btreeComputeFreeSpace() call has already ** validated the freelist. Given that the freelist is valid, there ** is no way that the allocation can extend off the end of the page. ** The assert() below verifies the previous sentence. @@ -64599,7 +65092,7 @@ static int allocateSpace(MemPage *pPage, int nByte, int *pIdx){ ** ** Adjacent freeblocks are coalesced. ** -** Note that even though the freeblock list was checked by btreeInitPage(), +** Even though the freeblock list was checked by btreeComputeFreeSpace(), ** that routine will not detect overlap between cells or freeblocks. Nor ** does it detect cells or freeblocks that encrouch into the reserved bytes ** at the end of the page. So do additional corruption checks inside this @@ -64761,21 +65254,14 @@ static int decodeFlags(MemPage *pPage, int flagByte){ } /* -** Initialize the auxiliary information for a disk block. -** -** Return SQLITE_OK on success. If we see that the page does -** not contain a well-formed database page, then return -** SQLITE_CORRUPT. Note that a return of SQLITE_OK does not -** guarantee that the page is well-formed. It only shows that -** we failed to detect any corruption. +** Compute the amount of freespace on the page. In other words, fill +** in the pPage->nFree field. */ -static int btreeInitPage(MemPage *pPage){ +static int btreeComputeFreeSpace(MemPage *pPage){ int pc; /* Address of a freeblock within pPage->aData[] */ u8 hdr; /* Offset to beginning of page header */ u8 *data; /* Equal to pPage->aData */ - BtShared *pBt; /* The main btree structure */ int usableSize; /* Amount of usable space on each page */ - u16 cellOffset; /* Offset from start of page to first cell pointer */ int nFree; /* Number of unused bytes on the page */ int top; /* First byte of the cell content area */ int iCellFirst; /* First allowable cell or freeblock offset */ @@ -64787,71 +65273,18 @@ static int btreeInitPage(MemPage *pPage){ assert( pPage->pgno==sqlite3PagerPagenumber(pPage->pDbPage) ); assert( pPage == sqlite3PagerGetExtra(pPage->pDbPage) ); assert( pPage->aData == sqlite3PagerGetData(pPage->pDbPage) ); - assert( pPage->isInit==0 ); + assert( pPage->isInit==1 ); + assert( pPage->nFree<0 ); - pBt = pPage->pBt; + usableSize = pPage->pBt->usableSize; hdr = pPage->hdrOffset; data = pPage->aData; - /* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating - ** the b-tree page type. */ - if( decodeFlags(pPage, data[hdr]) ){ - return SQLITE_CORRUPT_PAGE(pPage); - } - assert( pBt->pageSize>=512 && pBt->pageSize<=65536 ); - pPage->maskPage = (u16)(pBt->pageSize - 1); - pPage->nOverflow = 0; - usableSize = pBt->usableSize; - pPage->cellOffset = cellOffset = hdr + 8 + pPage->childPtrSize; - pPage->aDataEnd = &data[usableSize]; - pPage->aCellIdx = &data[cellOffset]; - pPage->aDataOfst = &data[pPage->childPtrSize]; /* EVIDENCE-OF: R-58015-48175 The two-byte integer at offset 5 designates ** the start of the cell content area. A zero value for this integer is ** interpreted as 65536. */ top = get2byteNotZero(&data[hdr+5]); - /* EVIDENCE-OF: R-37002-32774 The two-byte integer at offset 3 gives the - ** number of cells on the page. */ - pPage->nCell = get2byte(&data[hdr+3]); - if( pPage->nCell>MX_CELL(pBt) ){ - /* To many cells for a single page. The page must be corrupt */ - return SQLITE_CORRUPT_PAGE(pPage); - } - testcase( pPage->nCell==MX_CELL(pBt) ); - /* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only - ** possible for a root page of a table that contains no rows) then the - ** offset to the cell content area will equal the page size minus the - ** bytes of reserved space. */ - assert( pPage->nCell>0 || top==usableSize || CORRUPT_DB ); - - /* A malformed database page might cause us to read past the end - ** of page when parsing a cell. - ** - ** The following block of code checks early to see if a cell extends - ** past the end of a page boundary and causes SQLITE_CORRUPT to be - ** returned if it does. - */ - iCellFirst = cellOffset + 2*pPage->nCell; + iCellFirst = hdr + 8 + pPage->childPtrSize + 2*pPage->nCell; iCellLast = usableSize - 4; - if( pBt->db->flags & SQLITE_CellSizeCk ){ - int i; /* Index into the cell pointer array */ - int sz; /* Size of a cell */ - - if( !pPage->leaf ) iCellLast--; - for(i=0; inCell; i++){ - pc = get2byteAligned(&data[cellOffset+i*2]); - testcase( pc==iCellFirst ); - testcase( pc==iCellLast ); - if( pciCellLast ){ - return SQLITE_CORRUPT_PAGE(pPage); - } - sz = pPage->xCellSize(pPage, &data[pc]); - testcase( pc+sz==usableSize ); - if( pc+sz>usableSize ){ - return SQLITE_CORRUPT_PAGE(pPage); - } - } - if( !pPage->leaf ) iCellLast++; - } /* Compute the total free space on the page ** EVIDENCE-OF: R-23588-34450 The two-byte integer at offset 1 gives the @@ -64895,11 +65328,104 @@ static int btreeInitPage(MemPage *pPage){ ** serves to verify that the offset to the start of the cell-content ** area, according to the page header, lies within the page. */ - if( nFree>usableSize ){ + if( nFree>usableSize || nFreenFree = (u16)(nFree - iCellFirst); + return SQLITE_OK; +} + +/* +** Do additional sanity check after btreeInitPage() if +** PRAGMA cell_size_check=ON +*/ +static SQLITE_NOINLINE int btreeCellSizeCheck(MemPage *pPage){ + int iCellFirst; /* First allowable cell or freeblock offset */ + int iCellLast; /* Last possible cell or freeblock offset */ + int i; /* Index into the cell pointer array */ + int sz; /* Size of a cell */ + int pc; /* Address of a freeblock within pPage->aData[] */ + u8 *data; /* Equal to pPage->aData */ + int usableSize; /* Maximum usable space on the page */ + int cellOffset; /* Start of cell content area */ + + iCellFirst = pPage->cellOffset + 2*pPage->nCell; + usableSize = pPage->pBt->usableSize; + iCellLast = usableSize - 4; + data = pPage->aData; + cellOffset = pPage->cellOffset; + if( !pPage->leaf ) iCellLast--; + for(i=0; inCell; i++){ + pc = get2byteAligned(&data[cellOffset+i*2]); + testcase( pc==iCellFirst ); + testcase( pc==iCellLast ); + if( pciCellLast ){ + return SQLITE_CORRUPT_PAGE(pPage); + } + sz = pPage->xCellSize(pPage, &data[pc]); + testcase( pc+sz==usableSize ); + if( pc+sz>usableSize ){ + return SQLITE_CORRUPT_PAGE(pPage); + } + } + return SQLITE_OK; +} + +/* +** Initialize the auxiliary information for a disk block. +** +** Return SQLITE_OK on success. If we see that the page does +** not contain a well-formed database page, then return +** SQLITE_CORRUPT. Note that a return of SQLITE_OK does not +** guarantee that the page is well-formed. It only shows that +** we failed to detect any corruption. +*/ +static int btreeInitPage(MemPage *pPage){ + u8 *data; /* Equal to pPage->aData */ + BtShared *pBt; /* The main btree structure */ + + assert( pPage->pBt!=0 ); + assert( pPage->pBt->db!=0 ); + assert( sqlite3_mutex_held(pPage->pBt->mutex) ); + assert( pPage->pgno==sqlite3PagerPagenumber(pPage->pDbPage) ); + assert( pPage == sqlite3PagerGetExtra(pPage->pDbPage) ); + assert( pPage->aData == sqlite3PagerGetData(pPage->pDbPage) ); + assert( pPage->isInit==0 ); + + pBt = pPage->pBt; + data = pPage->aData + pPage->hdrOffset; + /* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating + ** the b-tree page type. */ + if( decodeFlags(pPage, data[0]) ){ + return SQLITE_CORRUPT_PAGE(pPage); + } + assert( pBt->pageSize>=512 && pBt->pageSize<=65536 ); + pPage->maskPage = (u16)(pBt->pageSize - 1); + pPage->nOverflow = 0; + pPage->cellOffset = pPage->hdrOffset + 8 + pPage->childPtrSize; + pPage->aCellIdx = data + pPage->childPtrSize + 8; + pPage->aDataEnd = pPage->aData + pBt->usableSize; + pPage->aDataOfst = pPage->aData + pPage->childPtrSize; + /* EVIDENCE-OF: R-37002-32774 The two-byte integer at offset 3 gives the + ** number of cells on the page. */ + pPage->nCell = get2byte(&data[3]); + if( pPage->nCell>MX_CELL(pBt) ){ + /* To many cells for a single page. The page must be corrupt */ + return SQLITE_CORRUPT_PAGE(pPage); + } + testcase( pPage->nCell==MX_CELL(pBt) ); + /* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only + ** possible for a root page of a table that contains no rows) then the + ** offset to the cell content area will equal the page size minus the + ** bytes of reserved space. */ + assert( pPage->nCell>0 + || get2byteNotZero(&data[5])==(int)pBt->usableSize + || CORRUPT_DB ); + pPage->nFree = -1; /* Indicate that this value is yet uncomputed */ pPage->isInit = 1; + if( pBt->db->flags & SQLITE_CellSizeCk ){ + return btreeCellSizeCheck(pPage); + } return SQLITE_OK; } @@ -65042,19 +65568,18 @@ static int getAndInitPage( if( pgno>btreePagecount(pBt) ){ rc = SQLITE_CORRUPT_BKPT; - goto getAndInitPage_error; + goto getAndInitPage_error1; } rc = sqlite3PagerGet(pBt->pPager, pgno, (DbPage**)&pDbPage, bReadOnly); if( rc ){ - goto getAndInitPage_error; + goto getAndInitPage_error1; } *ppPage = (MemPage*)sqlite3PagerGetExtra(pDbPage); if( (*ppPage)->isInit==0 ){ btreePageFromDbPage(pDbPage, pgno, pBt); rc = btreeInitPage(*ppPage); if( rc!=SQLITE_OK ){ - releasePage(*ppPage); - goto getAndInitPage_error; + goto getAndInitPage_error2; } } assert( (*ppPage)->pgno==pgno ); @@ -65064,12 +65589,13 @@ static int getAndInitPage( ** compatible with the root page. */ if( pCur && ((*ppPage)->nCell<1 || (*ppPage)->intKey!=pCur->curIntKey) ){ rc = SQLITE_CORRUPT_PGNO(pgno); - releasePage(*ppPage); - goto getAndInitPage_error; + goto getAndInitPage_error2; } return SQLITE_OK; -getAndInitPage_error: +getAndInitPage_error2: + releasePage(*ppPage); +getAndInitPage_error1: if( pCur ){ pCur->iPage--; pCur->pPage = pCur->apPage[pCur->iPage]; @@ -65929,9 +66455,9 @@ static int newDatabase(BtShared*); static int lockBtree(BtShared *pBt){ int rc; /* Result code from subfunctions */ MemPage *pPage1; /* Page 1 of the database file */ - int nPage; /* Number of pages in the database */ - int nPageFile = 0; /* Number of pages in the database file */ - int nPageHeader; /* Number of pages in the database according to hdr */ + u32 nPage; /* Number of pages in the database */ + u32 nPageFile = 0; /* Number of pages in the database file */ + u32 nPageHeader; /* Number of pages in the database according to hdr */ assert( sqlite3_mutex_held(pBt->mutex) ); assert( pBt->pPage1==0 ); @@ -65944,7 +66470,7 @@ static int lockBtree(BtShared *pBt){ ** a valid database file. */ nPage = nPageHeader = get4byte(28+(u8*)pPage1->aData); - sqlite3PagerPagecount(pBt->pPager, &nPageFile); + sqlite3PagerPagecount(pBt->pPager, (int*)&nPageFile); if( nPage==0 || memcmp(24+(u8*)pPage1->aData, 92+(u8*)pPage1->aData,4)!=0 ){ nPage = nPageFile; } @@ -66025,6 +66551,7 @@ static int lockBtree(BtShared *pBt){ ){ goto page1_init_failed; } + pBt->btsFlags |= BTS_PAGESIZE_FIXED; assert( (pageSize & 7)==0 ); /* EVIDENCE-OF: R-59310-51205 The "reserved space" size in the 1-byte ** integer at offset 20 is the number of bytes of space at the end of @@ -66415,7 +66942,7 @@ static int setChildPtrmaps(MemPage *pPage){ for(i=0; ileaf ){ Pgno childPgno = get4byte(pCell); @@ -67029,6 +67556,18 @@ SQLITE_PRIVATE int sqlite3BtreeTripAllCursors(Btree *pBtree, int errCode, int wr return rc; } +/* +** Set the pBt->nPage field correctly, according to the current +** state of the database. Assume pBt->pPage1 is valid. +*/ +static void btreeSetNPage(BtShared *pBt, MemPage *pPage1){ + int nPage = get4byte(&pPage1->aData[28]); + testcase( nPage==0 ); + if( nPage==0 ) sqlite3PagerPagecount(pBt->pPager, &nPage); + testcase( pBt->nPage!=nPage ); + pBt->nPage = nPage; +} + /* ** Rollback the transaction in progress. ** @@ -67074,11 +67613,7 @@ SQLITE_PRIVATE int sqlite3BtreeRollback(Btree *p, int tripCode, int writeOnly){ ** call btreeGetPage() on page 1 again to make ** sure pPage1->aData is set correctly. */ if( btreeGetPage(pBt, 1, &pPage1, 0)==SQLITE_OK ){ - int nPage = get4byte(28+(u8*)pPage1->aData); - testcase( nPage==0 ); - if( nPage==0 ) sqlite3PagerPagecount(pBt->pPager, &nPage); - testcase( pBt->nPage!=nPage ); - pBt->nPage = nPage; + btreeSetNPage(pBt, pPage1); releasePageOne(pPage1); } assert( countValidCursors(pBt, 1)==0 ); @@ -67158,12 +67693,11 @@ SQLITE_PRIVATE int sqlite3BtreeSavepoint(Btree *p, int op, int iSavepoint){ pBt->nPage = 0; } rc = newDatabase(pBt); - pBt->nPage = get4byte(28 + pBt->pPage1->aData); + btreeSetNPage(pBt, pBt->pPage1); - /* The database size was written into the offset 28 of the header - ** when the transaction started, so we know that the value at offset - ** 28 is nonzero. */ - assert( pBt->nPage>0 ); + /* pBt->nPage might be zero if the database was corrupt when + ** the transaction was started. Otherwise, it must be at least 1. */ + assert( CORRUPT_DB || pBt->nPage>0 ); } sqlite3BtreeLeave(p); } @@ -67341,6 +67875,7 @@ SQLITE_PRIVATE int sqlite3BtreeCloseCursor(BtCursor *pCur){ sqlite3_free(pCur->aOverflow); sqlite3_free(pCur->pKey); sqlite3BtreeLeave(pBtree); + pCur->pBtree = 0; } return SQLITE_OK; } @@ -67439,6 +67974,25 @@ SQLITE_PRIVATE u32 sqlite3BtreePayloadSize(BtCursor *pCur){ return pCur->info.nPayload; } +/* +** Return an upper bound on the size of any record for the table +** that the cursor is pointing into. +** +** This is an optimization. Everything will still work if this +** routine always returns 2147483647 (which is the largest record +** that SQLite can handle) or more. But returning a smaller value might +** prevent large memory allocations when trying to interpret a +** corrupt datrabase. +** +** The current implementation merely returns the size of the underlying +** database file. +*/ +SQLITE_PRIVATE sqlite3_int64 sqlite3BtreeMaxRecordSize(BtCursor *pCur){ + assert( cursorHoldsMutex(pCur) ); + assert( pCur->eState==CURSOR_VALID ); + return pCur->pBt->pageSize * (sqlite3_int64)pCur->pBt->nPage; +} + /* ** Given the page number of an overflow page in the database (parameter ** ovfl), this function finds the page number of the next page in the @@ -67725,6 +68279,7 @@ static int accessPayload( assert( aWrite>=pBufStart ); /* due to (6) */ memcpy(aSave, aWrite, 4); rc = sqlite3OsRead(fd, aWrite, a+4, (i64)pBt->pageSize*(nextPage-1)); + if( rc && nextPage>pBt->nPage ) rc = SQLITE_CORRUPT_BKPT; nextPage = get4byte(aWrite); memcpy(aWrite, aSave, 4); }else @@ -68129,23 +68684,6 @@ SQLITE_PRIVATE int sqlite3BtreeFirst(BtCursor *pCur, int *pRes){ return rc; } -/* -** This function is a no-op if cursor pCur does not point to a valid row. -** Otherwise, if pCur is valid, configure it so that the next call to -** sqlite3BtreeNext() is a no-op. -*/ -#ifndef SQLITE_OMIT_WINDOWFUNC -SQLITE_PRIVATE void sqlite3BtreeSkipNext(BtCursor *pCur){ - /* We believe that the cursor must always be in the valid state when - ** this routine is called, but the proof is difficult, so we add an - ** ALWaYS() test just in case we are wrong. */ - if( ALWAYS(pCur->eState==CURSOR_VALID) ){ - pCur->eState = CURSOR_SKIPNEXT; - pCur->skipNext = 1; - } -} -#endif /* SQLITE_OMIT_WINDOWFUNC */ - /* Move the cursor to the last entry in the table. Return SQLITE_OK ** on success. Set *pRes to 0 if the cursor actually points to something ** or set *pRes to 1 if the table is empty. @@ -68168,6 +68706,7 @@ SQLITE_PRIVATE int sqlite3BtreeLast(BtCursor *pCur, int *pRes){ assert( pCur->ix==pCur->pPage->nCell-1 ); assert( pCur->pPage->leaf ); #endif + *pRes = 0; return SQLITE_OK; } @@ -68253,7 +68792,7 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( ** try to get there using sqlite3BtreeNext() rather than a full ** binary search. This is an optimization only. The correct answer ** is still obtained without this case, only a little more slowely */ - if( pCur->info.nKey+1==intKey && !pCur->skipNext ){ + if( pCur->info.nKey+1==intKey ){ *pRes = 0; rc = sqlite3BtreeNext(pCur, 0); if( rc==SQLITE_OK ){ @@ -68389,29 +68928,31 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( ** case this happens. */ void *pCellKey; u8 * const pCellBody = pCell - pPage->childPtrSize; + const int nOverrun = 18; /* Size of the overrun padding */ pPage->xParseCell(pPage, pCellBody, &pCur->info); nCell = (int)pCur->info.nKey; testcase( nCell<0 ); /* True if key size is 2^32 or more */ testcase( nCell==0 ); /* Invalid key size: 0x80 0x80 0x00 */ testcase( nCell==1 ); /* Invalid key size: 0x80 0x80 0x01 */ testcase( nCell==2 ); /* Minimum legal index key size */ - if( nCell<2 ){ + if( nCell<2 || nCell/pCur->pBt->usableSize>pCur->pBt->nPage ){ rc = SQLITE_CORRUPT_PAGE(pPage); goto moveto_finish; } - pCellKey = sqlite3Malloc( nCell+18 ); + pCellKey = sqlite3Malloc( nCell+nOverrun ); if( pCellKey==0 ){ rc = SQLITE_NOMEM_BKPT; goto moveto_finish; } pCur->ix = (u16)idx; rc = accessPayload(pCur, 0, nCell, (unsigned char*)pCellKey, 0); + memset(((u8*)pCellKey)+nCell,0,nOverrun); /* Fix uninit warnings */ pCur->curFlags &= ~BTCF_ValidOvfl; if( rc ){ sqlite3_free(pCellKey); goto moveto_finish; } - c = xRecordCompare(nCell, pCellKey, pIdxKey); + c = sqlite3VdbeRecordCompare(nCell, pCellKey, pIdxKey); sqlite3_free(pCellKey); } assert( @@ -68527,7 +69068,6 @@ static SQLITE_NOINLINE int btreeNext(BtCursor *pCur){ MemPage *pPage; assert( cursorOwnsBtShared(pCur) ); - assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); if( pCur->eState!=CURSOR_VALID ){ assert( (pCur->curFlags & BTCF_ValidOvfl)==0 ); rc = restoreCursorPosition(pCur); @@ -68537,14 +69077,9 @@ static SQLITE_NOINLINE int btreeNext(BtCursor *pCur){ if( CURSOR_INVALID==pCur->eState ){ return SQLITE_DONE; } - if( pCur->skipNext ){ - assert( pCur->eState==CURSOR_VALID || pCur->eState==CURSOR_SKIPNEXT ); + if( pCur->eState==CURSOR_SKIPNEXT ){ pCur->eState = CURSOR_VALID; - if( pCur->skipNext>0 ){ - pCur->skipNext = 0; - return SQLITE_OK; - } - pCur->skipNext = 0; + if( pCur->skipNext>0 ) return SQLITE_OK; } } @@ -68599,7 +69134,6 @@ SQLITE_PRIVATE int sqlite3BtreeNext(BtCursor *pCur, int flags){ UNUSED_PARAMETER( flags ); /* Used in COMDB2 but not native SQLite */ assert( cursorOwnsBtShared(pCur) ); assert( flags==0 || flags==1 ); - assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); pCur->info.nSize = 0; pCur->curFlags &= ~(BTCF_ValidNKey|BTCF_ValidOvfl); if( pCur->eState!=CURSOR_VALID ) return btreeNext(pCur); @@ -68640,7 +69174,6 @@ static SQLITE_NOINLINE int btreePrevious(BtCursor *pCur){ MemPage *pPage; assert( cursorOwnsBtShared(pCur) ); - assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); assert( (pCur->curFlags & (BTCF_AtLast|BTCF_ValidOvfl|BTCF_ValidNKey))==0 ); assert( pCur->info.nSize==0 ); if( pCur->eState!=CURSOR_VALID ){ @@ -68651,14 +69184,9 @@ static SQLITE_NOINLINE int btreePrevious(BtCursor *pCur){ if( CURSOR_INVALID==pCur->eState ){ return SQLITE_DONE; } - if( pCur->skipNext ){ - assert( pCur->eState==CURSOR_VALID || pCur->eState==CURSOR_SKIPNEXT ); + if( CURSOR_SKIPNEXT==pCur->eState ){ pCur->eState = CURSOR_VALID; - if( pCur->skipNext<0 ){ - pCur->skipNext = 0; - return SQLITE_OK; - } - pCur->skipNext = 0; + if( pCur->skipNext<0 ) return SQLITE_OK; } } @@ -68693,7 +69221,6 @@ static SQLITE_NOINLINE int btreePrevious(BtCursor *pCur){ SQLITE_PRIVATE int sqlite3BtreePrevious(BtCursor *pCur, int flags){ assert( cursorOwnsBtShared(pCur) ); assert( flags==0 || flags==1 ); - assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); UNUSED_PARAMETER( flags ); /* Used in COMDB2 but not native SQLite */ pCur->curFlags &= ~(BTCF_AtLast|BTCF_ValidOvfl|BTCF_ValidNKey); pCur->info.nSize = 0; @@ -69029,7 +69556,7 @@ static int allocateBtreePage( TRACE(("ALLOCATE: %d from end of file\n", *pPgno)); } - assert( *pPgno!=PENDING_BYTE_PAGE(pBt) ); + assert( CORRUPT_DB || *pPgno!=PENDING_BYTE_PAGE(pBt) ); end_allocate_page: releasePage(pTrunk); @@ -69057,13 +69584,15 @@ static int freePage2(BtShared *pBt, MemPage *pMemPage, Pgno iPage){ MemPage *pPage1 = pBt->pPage1; /* Local reference to page 1 */ MemPage *pPage; /* Page being freed. May be NULL. */ int rc; /* Return Code */ - int nFree; /* Initial number of pages on free-list */ + u32 nFree; /* Initial number of pages on free-list */ assert( sqlite3_mutex_held(pBt->mutex) ); assert( CORRUPT_DB || iPage>1 ); assert( !pMemPage || pMemPage->pgno==iPage ); - if( iPage<2 ) return SQLITE_CORRUPT_BKPT; + if( iPage<2 || iPage>pBt->nPage ){ + return SQLITE_CORRUPT_BKPT; + } if( pMemPage ){ pPage = pMemPage; sqlite3PagerRef(pPage->pDbPage); @@ -69474,6 +70003,7 @@ static void dropCell(MemPage *pPage, int idx, int sz, int *pRC){ assert( CORRUPT_DB || sz==cellSize(pPage, idx) ); assert( sqlite3PagerIswriteable(pPage->pDbPage) ); assert( sqlite3_mutex_held(pPage->pBt->mutex) ); + assert( pPage->nFree>=0 ); data = pPage->aData; ptr = &pPage->aCellIdx[2*idx]; pc = get2byte(ptr); @@ -69538,12 +70068,8 @@ static void insertCell( assert( pPage->nOverflow<=ArraySize(pPage->apOvfl) ); assert( ArraySize(pPage->apOvfl)==ArraySize(pPage->aiOvfl) ); assert( sqlite3_mutex_held(pPage->pBt->mutex) ); - /* The cell should normally be sized correctly. However, when moving a - ** malformed cell from a leaf page to an interior page, if the cell size - ** wanted to be less than 4 but got rounded up to 4 on the leaf, then size - ** might be less than 8 (leaf-size + pointer) on the interior node. Hence - ** the term after the || in the following assert(). */ - assert( sz==pPage->xCellSize(pPage, pCell) || (sz==8 && iChild>0) ); + assert( sz==pPage->xCellSize(pPage, pCell) || CORRUPT_DB ); + assert( pPage->nFree>=0 ); if( pPage->nOverflow || sz+2>pPage->nFree ){ if( pTemp ){ memcpy(pTemp, pCell, sz); @@ -69584,9 +70110,16 @@ static void insertCell( assert( idx >= pPage->cellOffset+2*pPage->nCell+2 || CORRUPT_DB ); assert( idx+sz <= (int)pPage->pBt->usableSize ); pPage->nFree -= (u16)(2 + sz); - memcpy(&data[idx], pCell, sz); if( iChild ){ + /* In a corrupt database where an entry in the cell index section of + ** a btree page has a value of 3 or less, the pCell value might point + ** as many as 4 bytes in front of the start of the aData buffer for + ** the source page. Make sure this does not cause problems by not + ** reading the first 4 bytes */ + memcpy(&data[idx+4], pCell+4, sz-4); put4byte(&data[idx], iChild); + }else{ + memcpy(&data[idx], pCell, sz); } pIns = pPage->aCellIdx + i*2; memmove(pIns+2, pIns, 2*(pPage->nCell - i)); @@ -69594,21 +70127,100 @@ static void insertCell( pPage->nCell++; /* increment the cell count */ if( (++data[pPage->hdrOffset+4])==0 ) data[pPage->hdrOffset+3]++; - assert( get2byte(&data[pPage->hdrOffset+3])==pPage->nCell ); + assert( get2byte(&data[pPage->hdrOffset+3])==pPage->nCell || CORRUPT_DB ); #ifndef SQLITE_OMIT_AUTOVACUUM if( pPage->pBt->autoVacuum ){ /* The cell may contain a pointer to an overflow page. If so, write ** the entry for the overflow page into the pointer map. */ - ptrmapPutOvflPtr(pPage, pCell, pRC); + ptrmapPutOvflPtr(pPage, pPage, pCell, pRC); } #endif } } +/* +** The following parameters determine how many adjacent pages get involved +** in a balancing operation. NN is the number of neighbors on either side +** of the page that participate in the balancing operation. NB is the +** total number of pages that participate, including the target page and +** NN neighbors on either side. +** +** The minimum value of NN is 1 (of course). Increasing NN above 1 +** (to 2 or 3) gives a modest improvement in SELECT and DELETE performance +** in exchange for a larger degradation in INSERT and UPDATE performance. +** The value of NN appears to give the best results overall. +** +** (Later:) The description above makes it seem as if these values are +** tunable - as if you could change them and recompile and it would all work. +** But that is unlikely. NB has been 3 since the inception of SQLite and +** we have never tested any other value. +*/ +#define NN 1 /* Number of neighbors on either side of pPage */ +#define NB 3 /* (NN*2+1): Total pages involved in the balance */ + /* ** A CellArray object contains a cache of pointers and sizes for a ** consecutive sequence of cells that might be held on multiple pages. +** +** The cells in this array are the divider cell or cells from the pParent +** page plus up to three child pages. There are a total of nCell cells. +** +** pRef is a pointer to one of the pages that contributes cells. This is +** used to access information such as MemPage.intKey and MemPage.pBt->pageSize +** which should be common to all pages that contribute cells to this array. +** +** apCell[] and szCell[] hold, respectively, pointers to the start of each +** cell and the size of each cell. Some of the apCell[] pointers might refer +** to overflow cells. In other words, some apCel[] pointers might not point +** to content area of the pages. +** +** A szCell[] of zero means the size of that cell has not yet been computed. +** +** The cells come from as many as four different pages: +** +** ----------- +** | Parent | +** ----------- +** / | \ +** / | \ +** --------- --------- --------- +** |Child-1| |Child-2| |Child-3| +** --------- --------- --------- +** +** The order of cells is in the array is for an index btree is: +** +** 1. All cells from Child-1 in order +** 2. The first divider cell from Parent +** 3. All cells from Child-2 in order +** 4. The second divider cell from Parent +** 5. All cells from Child-3 in order +** +** For a table-btree (with rowids) the items 2 and 4 are empty because +** content exists only in leaves and there are no divider cells. +** +** For an index btree, the apEnd[] array holds pointer to the end of page +** for Child-1, the Parent, Child-2, the Parent (again), and Child-3, +** respectively. The ixNx[] array holds the number of cells contained in +** each of these 5 stages, and all stages to the left. Hence: +** +** ixNx[0] = Number of cells in Child-1. +** ixNx[1] = Number of cells in Child-1 plus 1 for first divider. +** ixNx[2] = Number of cells in Child-1 and Child-2 + 1 for 1st divider. +** ixNx[3] = Number of cells in Child-1 and Child-2 + both divider cells +** ixNx[4] = Total number of cells. +** +** For a table-btree, the concept is similar, except only apEnd[0]..apEnd[2] +** are used and they point to the leaf pages only, and the ixNx value are: +** +** ixNx[0] = Number of cells in Child-1. +** ixNx[1] = Number of cells in Child-1 and Child-2. +** ixNx[2] = Total number of cells. +** +** Sometimes when deleting, a child page can have zero cells. In those +** cases, ixNx[] entries with higher indexes, and the corresponding apEnd[] +** entries, shift down. The end result is that each ixNx[] entry should +** be larger than the previous */ typedef struct CellArray CellArray; struct CellArray { @@ -69616,6 +70228,8 @@ struct CellArray { MemPage *pRef; /* Reference page */ u8 **apCell; /* All cells begin balanced */ u16 *szCell; /* Local size of all cells in apCell[] */ + u8 *apEnd[NB*2]; /* MemPage.aDataEnd values */ + int ixNx[NB*2]; /* Index of at which we move to the next apEnd[] */ }; /* @@ -69666,36 +70280,59 @@ static u16 cachedCellSize(CellArray *p, int N){ ** responsibility of the caller to set it correctly. */ static int rebuildPage( - MemPage *pPg, /* Edit this page */ + CellArray *pCArray, /* Content to be added to page pPg */ + int iFirst, /* First cell in pCArray to use */ int nCell, /* Final number of cells on page */ - u8 **apCell, /* Array of cells */ - u16 *szCell /* Array of cell sizes */ + MemPage *pPg /* The page to be reconstructed */ ){ const int hdr = pPg->hdrOffset; /* Offset of header on pPg */ u8 * const aData = pPg->aData; /* Pointer to data for pPg */ const int usableSize = pPg->pBt->usableSize; u8 * const pEnd = &aData[usableSize]; - int i; + int i = iFirst; /* Which cell to copy from pCArray*/ + u32 j; /* Start of cell content area */ + int iEnd = i+nCell; /* Loop terminator */ u8 *pCellptr = pPg->aCellIdx; u8 *pTmp = sqlite3PagerTempSpace(pPg->pBt->pPager); u8 *pData; + int k; /* Current slot in pCArray->apEnd[] */ + u8 *pSrcEnd; /* Current pCArray->apEnd[k] value */ + + assert( i(u32)usableSize ){ j = 0; } + memcpy(&pTmp[j], &aData[j], usableSize - j); - i = get2byte(&aData[hdr+5]); - memcpy(&pTmp[i], &aData[i], usableSize - i); + for(k=0; pCArray->ixNx[k]<=i && ALWAYS(kapEnd[k]; pData = pEnd; - for(i=0; iapCell[i]; + u16 sz = pCArray->szCell[i]; + assert( sz>0 ); if( SQLITE_WITHIN(pCell,aData,pEnd) ){ + if( ((uptr)(pCell+sz))>(uptr)pEnd ) return SQLITE_CORRUPT_BKPT; pCell = &pTmp[pCell - aData]; + }else if( (uptr)(pCell+sz)>(uptr)pSrcEnd + && (uptr)(pCell)<(uptr)pSrcEnd + ){ + return SQLITE_CORRUPT_BKPT; } - pData -= szCell[i]; + + pData -= sz; put2byte(pCellptr, (pData - aData)); pCellptr += 2; if( pData < pCellptr ) return SQLITE_CORRUPT_BKPT; - memcpy(pData, pCell, szCell[i]); - assert( szCell[i]==pPg->xCellSize(pPg, pCell) || CORRUPT_DB ); - testcase( szCell[i]!=pPg->xCellSize(pPg,pCell) ); + memcpy(pData, pCell, sz); + assert( sz==pPg->xCellSize(pPg, pCell) || CORRUPT_DB ); + testcase( sz!=pPg->xCellSize(pPg,pCell) ); + i++; + if( i>=iEnd ) break; + if( pCArray->ixNx[k]<=i ){ + k++; + pSrcEnd = pCArray->apEnd[k]; + } } /* The pPg->nFree field is now set incorrectly. The caller will fix it. */ @@ -69710,12 +70347,11 @@ static int rebuildPage( } /* -** Array apCell[] contains nCell pointers to b-tree cells. Array szCell -** contains the size in bytes of each such cell. This function attempts to -** add the cells stored in the array to page pPg. If it cannot (because -** the page needs to be defragmented before the cells will fit), non-zero -** is returned. Otherwise, if the cells are added successfully, zero is -** returned. +** The pCArray objects contains pointers to b-tree cells and the cell sizes. +** This function attempts to add the cells stored in the array to page pPg. +** If it cannot (because the page needs to be defragmented before the cells +** will fit), non-zero is returned. Otherwise, if the cells are added +** successfully, zero is returned. ** ** Argument pCellptr points to the first entry in the cell-pointer array ** (part of page pPg) to populate. After cell apCell[0] is written to the @@ -69737,21 +70373,27 @@ static int rebuildPage( static int pageInsertArray( MemPage *pPg, /* Page to add cells to */ u8 *pBegin, /* End of cell-pointer array */ - u8 **ppData, /* IN/OUT: Page content -area pointer */ + u8 **ppData, /* IN/OUT: Page content-area pointer */ u8 *pCellptr, /* Pointer to cell-pointer area */ int iFirst, /* Index of first cell to add */ int nCell, /* Number of cells to add to pPg */ CellArray *pCArray /* Array of cells */ ){ - int i; - u8 *aData = pPg->aData; - u8 *pData = *ppData; - int iEnd = iFirst + nCell; + int i = iFirst; /* Loop counter - cell index to insert */ + u8 *aData = pPg->aData; /* Complete page */ + u8 *pData = *ppData; /* Content area. A subset of aData[] */ + int iEnd = iFirst + nCell; /* End of loop. One past last cell to ins */ + int k; /* Current slot in pCArray->apEnd[] */ + u8 *pEnd; /* Maximum extent of cell data */ assert( CORRUPT_DB || pPg->hdrOffset==0 ); /* Never called on page 1 */ - for(i=iFirst; iixNx[k]<=i && ALWAYS(kapEnd[k]; + while( 1 /*Exit by break*/ ){ int sz, rc; u8 *pSlot; - sz = cachedCellSize(pCArray, i); + assert( pCArray->szCell[i]!=0 ); + sz = pCArray->szCell[i]; if( (aData[1]==0 && aData[2]==0) || (pSlot = pageFindSlot(pPg,sz,&rc))==0 ){ if( (pData - pBegin)apCell[i] || pSlot>=(pCArray->apCell[i]+sz) || CORRUPT_DB ); + if( (uptr)(pCArray->apCell[i]+sz)>(uptr)pEnd + && (uptr)(pCArray->apCell[i])<(uptr)pEnd + ){ + assert( CORRUPT_DB ); + (void)SQLITE_CORRUPT_BKPT; + return 1; + } memmove(pSlot, pCArray->apCell[i], sz); put2byte(pCellptr, (pSlot - aData)); pCellptr += 2; + i++; + if( i>=iEnd ) break; + if( pCArray->ixNx[k]<=i ){ + k++; + pEnd = pCArray->apEnd[k]; + } } *ppData = pData; return 0; } /* -** Array apCell[] contains nCell pointers to b-tree cells. Array szCell -** contains the size in bytes of each such cell. This function adds the -** space associated with each cell in the array that is currently stored -** within the body of pPg to the pPg free-list. The cell-pointers and other -** fields of the page are not updated. +** The pCArray object contains pointers to b-tree cells and their sizes. +** +** This function adds the space associated with each cell in the array +** that is currently stored within the body of pPg to the pPg free-list. +** The cell-pointers and other fields of the page are not updated. ** ** This function returns the total number of cells added to the free-list. */ @@ -69826,9 +70481,9 @@ static int pageFreeArray( } /* -** apCell[] and szCell[] contains pointers to and sizes of all cells in the -** pages being balanced. The current page, pPg, has pPg->nCell cells starting -** with apCell[iOld]. After balancing, this page should hold nNew cells +** pCArray contains pointers to and sizes of all cells in the page being +** balanced. The current page, pPg, has pPg->nCell cells starting with +** pCArray->apCell[iOld]. After balancing, this page should hold nNew cells ** starting at apCell[iNew]. ** ** This routine makes the necessary adjustments to pPg so that it contains @@ -69860,13 +70515,17 @@ static int editPage( #endif /* Remove cells from the start and end of the page */ + assert( nCell>=0 ); if( iOldnCell ) return SQLITE_CORRUPT_BKPT; memmove(pPg->aCellIdx, &pPg->aCellIdx[nShift*2], nCell*2); nCell -= nShift; } if( iNewEnd < iOldEnd ){ - nCell -= pageFreeArray(pPg, iNewEnd, iOldEnd - iNewEnd, pCArray); + int nTail = pageFreeArray(pPg, iNewEnd, iOldEnd - iNewEnd, pCArray); + assert( nCell>=nTail ); + nCell -= nTail; } pData = &aData[get2byteNotZero(&aData[hdr+5])]; @@ -69876,6 +70535,7 @@ static int editPage( if( iNew=0 ); pCellptr = pPg->aCellIdx; memmove(&pCellptr[nAdd*2], pCellptr, nCell*2); if( pageInsertArray( @@ -69890,8 +70550,11 @@ static int editPage( int iCell = (iOld + pPg->aiOvfl[i]) - iNew; if( iCell>=0 && iCellaCellIdx[iCell * 2]; - memmove(&pCellptr[2], pCellptr, (nCell - iCell) * 2); + if( nCell>iCell ){ + memmove(&pCellptr[2], pCellptr, (nCell - iCell) * 2); + } nCell++; + cachedCellSize(pCArray, iCell+iNew); if( pageInsertArray( pPg, pBegin, &pData, pCellptr, iCell+iNew, 1, pCArray @@ -69900,6 +70563,7 @@ static int editPage( } /* Append cells to the end of the page */ + assert( nCell>=0 ); pCellptr = &pPg->aCellIdx[nCell*2]; if( pageInsertArray( pPg, pBegin, &pData, pCellptr, @@ -69928,24 +70592,9 @@ static int editPage( editpage_fail: /* Unable to edit this page. Rebuild it from scratch instead. */ populateCellCache(pCArray, iNew, nNew); - return rebuildPage(pPg, nNew, &pCArray->apCell[iNew], &pCArray->szCell[iNew]); + return rebuildPage(pCArray, iNew, nNew, pPg); } -/* -** The following parameters determine how many adjacent pages get involved -** in a balancing operation. NN is the number of neighbors on either side -** of the page that participate in the balancing operation. NB is the -** total number of pages that participate, including the target page and -** NN neighbors on either side. -** -** The minimum value of NN is 1 (of course). Increasing NN above 1 -** (to 2 or 3) gives a modest improvement in SELECT and DELETE performance -** in exchange for a larger degradation in INSERT and UPDATE performance. -** The value of NN appears to give the best results overall. -*/ -#define NN 1 /* Number of neighbors on either side of pPage */ -#define NB (NN*2+1) /* Total pages involved in the balance */ - #ifndef SQLITE_OMIT_QUICKBALANCE /* @@ -69980,9 +70629,10 @@ static int balance_quick(MemPage *pParent, MemPage *pPage, u8 *pSpace){ assert( sqlite3_mutex_held(pPage->pBt->mutex) ); assert( sqlite3PagerIswriteable(pParent->pDbPage) ); assert( pPage->nOverflow==1 ); - - /* This error condition is now caught prior to reaching this function */ - if( NEVER(pPage->nCell==0) ) return SQLITE_CORRUPT_BKPT; + + if( pPage->nCell==0 ) return SQLITE_CORRUPT_BKPT; /* dbfuzz001.test */ + assert( pPage->nFree>=0 ); + assert( pParent->nFree>=0 ); /* Allocate a new page. This page will become the right-sibling of ** pPage. Make the parent page writable, so that the new divider cell @@ -69996,12 +70646,22 @@ static int balance_quick(MemPage *pParent, MemPage *pPage, u8 *pSpace){ u8 *pCell = pPage->apOvfl[0]; u16 szCell = pPage->xCellSize(pPage, pCell); u8 *pStop; + CellArray b; assert( sqlite3PagerIswriteable(pNew->pDbPage) ); - assert( pPage->aData[0]==(PTF_INTKEY|PTF_LEAFDATA|PTF_LEAF) ); + assert( CORRUPT_DB || pPage->aData[0]==(PTF_INTKEY|PTF_LEAFDATA|PTF_LEAF) ); zeroPage(pNew, PTF_INTKEY|PTF_LEAFDATA|PTF_LEAF); - rc = rebuildPage(pNew, 1, &pCell, &szCell); - if( NEVER(rc) ) return rc; + b.nCell = 1; + b.pRef = pPage; + b.apCell = &pCell; + b.szCell = &szCell; + b.apEnd[0] = pPage->aDataEnd; + b.ixNx[0] = 2; + rc = rebuildPage(&b, 0, 1, pNew); + if( NEVER(rc) ){ + releasePage(pNew); + return rc; + } pNew->nFree = pBt->usableSize - pNew->cellOffset - 2 - szCell; /* If this is an auto-vacuum database, update the pointer map @@ -70016,7 +70676,7 @@ static int balance_quick(MemPage *pParent, MemPage *pPage, u8 *pSpace){ if( ISAUTOVACUUM ){ ptrmapPut(pBt, pgnoNew, PTRMAP_BTREE, pParent->pgno, &rc); if( szCell>pNew->minLocal ){ - ptrmapPutOvflPtr(pNew, pCell, &rc); + ptrmapPutOvflPtr(pNew, pNew, pCell, &rc); } } @@ -70142,6 +70802,7 @@ static void copyNodeContent(MemPage *pFrom, MemPage *pTo, int *pRC){ */ pTo->isInit = 0; rc = btreeInitPage(pTo); + if( rc==SQLITE_OK ) rc = btreeComputeFreeSpace(pTo); if( rc!=SQLITE_OK ){ *pRC = rc; return; @@ -70239,10 +70900,6 @@ static int balance_nonroot( assert( sqlite3_mutex_held(pBt->mutex) ); assert( sqlite3PagerIswriteable(pParent->pDbPage) ); -#if 0 - TRACE(("BALANCE: begin page %d child of %d\n", pPage->pgno, pParent->pgno)); -#endif - /* At this point pParent may have at most one overflow cell. And if ** this overflow cell is present, it must be the cell with ** index iParentIdx. This scenario comes about when this function @@ -70254,6 +70911,7 @@ static int balance_nonroot( if( !aOvflSpace ){ return SQLITE_NOMEM_BKPT; } + assert( pParent->nFree>=0 ); /* Find the sibling pages to balance. Also locate the cells in pParent ** that divide the siblings. An attempt is made to find NN siblings on @@ -70293,7 +70951,13 @@ static int balance_nonroot( memset(apOld, 0, (i+1)*sizeof(MemPage*)); goto balance_cleanup; } - nMaxCells += 1+apOld[i]->nCell+apOld[i]->nOverflow; + if( apOld[i]->nFree<0 ){ + rc = btreeComputeFreeSpace(apOld[i]); + if( rc ){ + memset(apOld, 0, (i)*sizeof(MemPage*)); + goto balance_cleanup; + } + } if( (i--)==0 ) break; if( pParent->nOverflow && i+nxDiv==pParent->aiOvfl[0] ){ @@ -70337,6 +71001,7 @@ static int balance_nonroot( /* Make nMaxCells a multiple of 4 in order to preserve 8-byte ** alignment */ + nMaxCells = nOld*(MX_CELL(pBt) + ArraySize(pParent->apOvfl)); nMaxCells = (nMaxCells + 3)&~3; /* @@ -70347,7 +71012,7 @@ static int balance_nonroot( + nMaxCells*sizeof(u16) /* b.szCell */ + pBt->pageSize; /* aSpace1 */ - assert( szScratch<=6*(int)pBt->pageSize ); + assert( szScratch<=7*(int)pBt->pageSize ); b.apCell = sqlite3StackAllocRaw(0, szScratch ); if( b.apCell==0 ){ rc = SQLITE_NOMEM_BKPT; @@ -70383,6 +71048,7 @@ static int balance_nonroot( u16 maskPage = pOld->maskPage; u8 *piCell = aData + pOld->cellOffset; u8 *piEnd; + VVA_ONLY( int nCellAtStart = b.nCell; ) /* Verify that all sibling pages are of the same "type" (table-leaf, ** table-interior, index-leaf, or index-interior). @@ -70411,6 +71077,10 @@ static int balance_nonroot( */ memset(&b.szCell[b.nCell], 0, sizeof(b.szCell[0])*(limit+pOld->nOverflow)); if( pOld->nOverflow>0 ){ + if( NEVER(limitaiOvfl[0]) ){ + rc = SQLITE_CORRUPT_BKPT; + goto balance_cleanup; + } limit = pOld->aiOvfl[0]; for(j=0; jnCell+pOld->nOverflow) ); cntOld[i] = b.nCell; if( iusableSize - 12 + leafCorrection; - for(i=0; iaDataEnd; + b.ixNx[k] = cntOld[i]; + if( k && b.ixNx[k]==b.ixNx[k-1] ){ + k--; /* Omit b.ixNx[] entry for child pages with no cells */ + } + if( !leafData ){ + k++; + b.apEnd[k] = pParent->aDataEnd; + b.ixNx[k] = cntOld[i]+1; + } + assert( p->nFree>=0 ); szNew[i] = usableSpace - p->nFree; for(j=0; jnOverflow; j++){ szNew[i] += 2 + p->xCellSize(p, p->apOvfl[j]); @@ -70681,6 +71363,8 @@ static int balance_nonroot( )); assert( sqlite3PagerIswriteable(pParent->pDbPage) ); + assert( nNew>=1 && nNew<=ArraySize(apNew) ); + assert( apNew[nNew-1]!=0 ); put4byte(pRight, apNew[nNew-1]->pgno); /* If the sibling pages are not leaves, ensure that the right-child pointer @@ -70708,19 +71392,20 @@ static int balance_nonroot( ** populated, not here. */ if( ISAUTOVACUUM ){ - MemPage *pNew = apNew[0]; - u8 *aOld = pNew->aData; + MemPage *pOld; + MemPage *pNew = pOld = apNew[0]; int cntOldNext = pNew->nCell + pNew->nOverflow; - int usableSize = pBt->usableSize; int iNew = 0; int iOld = 0; for(i=0; i=0 && iOldnCell + pOld->nOverflow + !leafData; - aOld = pOld->aData; } if( i==cntNew[iNew] ){ pNew = apNew[++iNew]; @@ -70735,13 +71420,13 @@ static int balance_nonroot( ** overflow cell), we can skip updating the pointer map entries. */ if( iOld>=nNew || pNew->pgno!=aPgno[iOld] - || !SQLITE_WITHIN(pCell,aOld,&aOld[usableSize]) + || !SQLITE_WITHIN(pCell,pOld->aData,pOld->aDataEnd) ){ if( !leafCorrection ){ ptrmapPut(pBt, get4byte(pCell), PTRMAP_BTREE, pNew->pgno, &rc); } if( cachedCellSize(&b,i)>pNew->minLocal ){ - ptrmapPutOvflPtr(pNew, pCell, &rc); + ptrmapPutOvflPtr(pNew, pOld, pCell, &rc); } if( rc ) goto balance_cleanup; } @@ -70886,7 +71571,8 @@ static int balance_nonroot( rc = defragmentPage(apNew[0], -1); testcase( rc!=SQLITE_OK ); assert( apNew[0]->nFree == - (get2byte(&apNew[0]->aData[5])-apNew[0]->cellOffset-apNew[0]->nCell*2) + (get2byteNotZero(&apNew[0]->aData[5]) - apNew[0]->cellOffset + - apNew[0]->nCell*2) || rc!=SQLITE_OK ); copyNodeContent(apNew[0], pParent, &rc); @@ -70985,7 +71671,7 @@ static int balance_deeper(MemPage *pRoot, MemPage **ppChild){ } assert( sqlite3PagerIswriteable(pChild->pDbPage) ); assert( sqlite3PagerIswriteable(pRoot->pDbPage) ); - assert( pChild->nCell==pRoot->nCell ); + assert( pChild->nCell==pRoot->nCell || CORRUPT_DB ); TRACE(("BALANCE: copy root %d into %d\n", pRoot->pgno, pChild->pgno)); @@ -71024,10 +71710,13 @@ static int balance(BtCursor *pCur){ VVA_ONLY( int balance_deeper_called = 0 ); do { - int iPage = pCur->iPage; + int iPage; MemPage *pPage = pCur->pPage; - if( iPage==0 ){ + if( NEVER(pPage->nFree<0) && btreeComputeFreeSpace(pPage) ) break; + if( pPage->nOverflow==0 && pPage->nFree<=nMin ){ + break; + }else if( (iPage = pCur->iPage)==0 ){ if( pPage->nOverflow ){ /* The root page of the b-tree is overfull. In this case call the ** balance_deeper() function to create a new child for the root-page @@ -71048,13 +71737,14 @@ static int balance(BtCursor *pCur){ }else{ break; } - }else if( pPage->nOverflow==0 && pPage->nFree<=nMin ){ - break; }else{ MemPage * const pParent = pCur->apPage[iPage-1]; int const iIdx = pCur->aiIdx[iPage-1]; rc = sqlite3PagerWrite(pParent->pDbPage); + if( rc==SQLITE_OK && pParent->nFree<0 ){ + rc = btreeComputeFreeSpace(pParent); + } if( rc==SQLITE_OK ){ #ifndef SQLITE_OMIT_QUICKBALANCE if( pPage->intKeyLeaf @@ -71165,7 +71855,11 @@ static int btreeOverwriteContent( if( memcmp(pDest, ((u8*)pX->pData) + iOffset, iAmt)!=0 ){ int rc = sqlite3PagerWrite(pPage->pDbPage); if( rc ) return rc; - memcpy(pDest, ((u8*)pX->pData) + iOffset, iAmt); + /* In a corrupt database, it is possible for the source and destination + ** buffers to overlap. This is harmless since the database is already + ** corrupt but it does cause valgrind and ASAN warnings. So use + ** memmove(). */ + memmove(pDest, ((u8*)pX->pData) + iOffset, iAmt); } } return SQLITE_OK; @@ -71184,7 +71878,9 @@ static int btreeOverwriteCell(BtCursor *pCur, const BtreePayload *pX){ Pgno ovflPgno; /* Next overflow page to write */ u32 ovflPageSize; /* Size to write on overflow page */ - if( pCur->info.pPayload + pCur->info.nLocal > pPage->aDataEnd ){ + if( pCur->info.pPayload + pCur->info.nLocal > pPage->aDataEnd + || pCur->info.pPayload < pPage->aData + pPage->cellOffset + ){ return SQLITE_CORRUPT_BKPT; } /* Overwrite the local portion first */ @@ -71397,6 +72093,10 @@ SQLITE_PRIVATE int sqlite3BtreeInsert( pPage = pCur->pPage; assert( pPage->intKey || pX->nKey>=0 ); assert( pPage->leaf || !pPage->intKey ); + if( pPage->nFree<0 ){ + rc = btreeComputeFreeSpace(pPage); + if( rc ) return rc; + } TRACE(("INSERT: table=%d nkey=%lld ndata=%d page=%d %s\n", pCur->pgnoRoot, pX->nKey, pX->nData, pPage->pgno, @@ -71421,6 +72121,8 @@ SQLITE_PRIVATE int sqlite3BtreeInsert( memcpy(newCell, oldCell, 4); } rc = clearCell(pPage, oldCell, &info); + testcase( pCur->curFlags & BTCF_ValidOvfl ); + invalidateOverflowCache(pCur); if( info.nSize==szNew && info.nLocal==info.nPayload && (!ISAUTOVACUUM || szNewminLocal) ){ @@ -71434,7 +72136,12 @@ SQLITE_PRIVATE int sqlite3BtreeInsert( ** new entry uses overflow pages, as the insertCell() call below is ** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */ assert( rc==SQLITE_OK ); /* clearCell never fails when nLocal==nPayload */ - if( oldCell+szNew > pPage->aDataEnd ) return SQLITE_CORRUPT_BKPT; + if( oldCell < pPage->aData+pPage->hdrOffset+10 ){ + return SQLITE_CORRUPT_BKPT; + } + if( oldCell+szNew > pPage->aDataEnd ){ + return SQLITE_CORRUPT_BKPT; + } memcpy(oldCell, newCell, szNew); return SQLITE_OK; } @@ -71539,14 +72246,18 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur, u8 flags){ assert( pCur->curFlags & BTCF_WriteFlag ); assert( hasSharedCacheTableLock(p, pCur->pgnoRoot, pCur->pKeyInfo!=0, 2) ); assert( !hasReadConflicts(p, pCur->pgnoRoot) ); - assert( pCur->ixpPage->nCell ); - assert( pCur->eState==CURSOR_VALID ); assert( (flags & ~(BTREE_SAVEPOSITION | BTREE_AUXDELETE))==0 ); + if( pCur->eState==CURSOR_REQUIRESEEK ){ + rc = btreeRestoreCursorPosition(pCur); + if( rc ) return rc; + } + assert( pCur->eState==CURSOR_VALID ); iCellDepth = pCur->iPage; iCellIdx = pCur->ix; pPage = pCur->pPage; pCell = findCell(pPage, iCellIdx); + if( pPage->nFree<0 && btreeComputeFreeSpace(pPage) ) return SQLITE_CORRUPT; /* If the bPreserve flag is set to true, then the cursor position must ** be preserved following this delete operation. If the current delete @@ -71560,6 +72271,7 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur, u8 flags){ if( bPreserve ){ if( !pPage->leaf || (pPage->nFree+cellSizePtr(pPage,pCell)+2)>(int)(pBt->usableSize*2/3) + || pPage->nCell==1 /* See dbfuzz001.test for a test case */ ){ /* A b-tree rebalance will be required after deleting this entry. ** Save the cursor key. */ @@ -71616,6 +72328,10 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur, u8 flags){ Pgno n; unsigned char *pTmp; + if( pLeaf->nFree<0 ){ + rc = btreeComputeFreeSpace(pLeaf); + if( rc ) return rc; + } if( iCellDepthiPage-1 ){ n = pCur->apPage[iCellDepth+1]->pgno; }else{ @@ -71974,6 +72690,9 @@ static int btreeDropTable(Btree *p, Pgno iTable, int *piMoved){ assert( sqlite3BtreeHoldsMutex(p) ); assert( p->inTrans==TRANS_WRITE ); assert( iTable>=2 ); + if( iTable>btreePagecount(pBt) ){ + return SQLITE_CORRUPT_BKPT; + } rc = btreeGetPage(pBt, (Pgno)iTable, &pPage, 0); if( rc ) return rc; @@ -72322,10 +73041,10 @@ static void checkList( IntegrityCk *pCheck, /* Integrity checking context */ int isFreeList, /* True for a freelist. False for overflow page list */ int iPage, /* Page number for first page in the list */ - int N /* Expected number of pages in the list */ + u32 N /* Expected number of pages in the list */ ){ int i; - int expected = N; + u32 expected = N; int nErrAtStart = pCheck->nErr; while( iPage!=0 && pCheck->mxErr ){ DbPage *pOvflPage; @@ -72338,18 +73057,18 @@ static void checkList( } pOvflData = (unsigned char *)sqlite3PagerGetData(pOvflPage); if( isFreeList ){ - int n = get4byte(&pOvflData[4]); + u32 n = (u32)get4byte(&pOvflData[4]); #ifndef SQLITE_OMIT_AUTOVACUUM if( pCheck->pBt->autoVacuum ){ checkPtrmap(pCheck, iPage, PTRMAP_FREEPAGE, 0); } #endif - if( n>(int)pCheck->pBt->usableSize/4-2 ){ + if( n>pCheck->pBt->usableSize/4-2 ){ checkAppendMsg(pCheck, "freelist leaf count too big on page %d", iPage); N--; }else{ - for(i=0; ipBt->autoVacuum ){ @@ -72507,6 +73226,11 @@ static int checkTreePage( "btreeInitPage() returns error code %d", rc); goto end_of_check; } + if( (rc = btreeComputeFreeSpace(pPage))!=0 ){ + assert( rc==SQLITE_CORRUPT ); + checkAppendMsg(pCheck, "free space corruption", rc); + goto end_of_check; + } data = pPage->aData; hdr = pPage->hdrOffset; @@ -72579,7 +73303,7 @@ static int checkTreePage( /* Check the content overflow list */ if( info.nPayload>info.nLocal ){ - int nPage; /* Number of pages on the overflow chain */ + u32 nPage; /* Number of pages on the overflow chain */ Pgno pgnoOvfl; /* First page of the overflow chain */ assert( pc + info.nSize - 4 <= usableSize ); nPage = (info.nPayload - info.nLocal + usableSize - 5)/(usableSize - 4); @@ -72639,9 +73363,9 @@ static int checkTreePage( i = get2byte(&data[hdr+1]); while( i>0 ){ int size, j; - assert( (u32)i<=usableSize-4 ); /* Enforced by btreeInitPage() */ + assert( (u32)i<=usableSize-4 ); /* Enforced by btreeComputeFreeSpace() */ size = get2byte(&data[i+2]); - assert( (u32)(i+size)<=usableSize ); /* Enforced by btreeInitPage() */ + assert( (u32)(i+size)<=usableSize ); /* due to btreeComputeFreeSpace() */ btreeHeapInsert(heap, (((u32)i)<<16)|(i+size-1)); /* EVIDENCE-OF: R-58208-19414 The first 2 bytes of a freeblock are a ** big-endian integer which is the offset in the b-tree page of the next @@ -72650,8 +73374,8 @@ static int checkTreePage( j = get2byte(&data[i]); /* EVIDENCE-OF: R-06866-39125 Freeblocks are always connected in order of ** increasing offset. */ - assert( j==0 || j>i+size ); /* Enforced by btreeInitPage() */ - assert( (u32)j<=usableSize-4 ); /* Enforced by btreeInitPage() */ + assert( j==0 || j>i+size ); /* Enforced by btreeComputeFreeSpace() */ + assert( (u32)j<=usableSize-4 ); /* Enforced by btreeComputeFreeSpace() */ i = j; } /* Analyze the min-heap looking for overlap between cells and/or @@ -72726,7 +73450,7 @@ SQLITE_PRIVATE char *sqlite3BtreeIntegrityCheck( Pgno i; IntegrityCk sCheck; BtShared *pBt = p->pBt; - int savedDbFlags = pBt->db->flags; + u64 savedDbFlags = pBt->db->flags; char zErr[100]; VVA_ONLY( int nRef ); @@ -72793,7 +73517,7 @@ SQLITE_PRIVATE char *sqlite3BtreeIntegrityCheck( } #endif testcase( pBt->db->flags & SQLITE_CellSizeCk ); - pBt->db->flags &= ~SQLITE_CellSizeCk; + pBt->db->flags &= ~(u64)SQLITE_CellSizeCk; for(i=0; (int)iisAttached ){ pp = sqlite3PagerBackupPtr(sqlite3BtreePager(p->pSrc)); + assert( pp!=0 ); while( *pp!=p ){ pp = &(*pp)->pNext; + assert( pp!=0 ); } *pp = p->pNext; } @@ -73956,6 +74682,11 @@ SQLITE_PRIVATE int sqlite3BtreeCopyFile(Btree *pTo, Btree *pFrom){ /* #include "sqliteInt.h" */ /* #include "vdbeInt.h" */ +/* True if X is a power of two. 0 is considered a power of two here. +** In other words, return true if X has at most one bit set. +*/ +#define ISPOWEROF2(X) (((X)&((X)-1))==0) + #ifdef SQLITE_DEBUG /* ** Check invariants on a Mem object. @@ -73975,8 +74706,8 @@ SQLITE_PRIVATE int sqlite3VdbeCheckMemInvariants(Mem *p){ ** That saves a few cycles in inner loops. */ assert( (p->flags & MEM_Dyn)==0 || p->szMalloc==0 ); - /* Cannot be both MEM_Int and MEM_Real at the same time */ - assert( (p->flags & (MEM_Int|MEM_Real))!=(MEM_Int|MEM_Real) ); + /* Cannot have more than one of MEM_Int, MEM_Real, or MEM_IntReal */ + assert( ISPOWEROF2(p->flags & (MEM_Int|MEM_Real|MEM_IntReal)) ); if( p->flags & MEM_Null ){ /* Cannot be both MEM_Null and some other type */ @@ -73995,7 +74726,7 @@ SQLITE_PRIVATE int sqlite3VdbeCheckMemInvariants(Mem *p){ ((p->flags&MEM_Static)!=0 ? 1 : 0) <= 1 ); /* No other bits set */ - assert( (p->flags & ~(MEM_Null|MEM_Term|MEM_Subtype + assert( (p->flags & ~(MEM_Null|MEM_Term|MEM_Subtype|MEM_FromBind |MEM_Dyn|MEM_Ephem|MEM_Static))==0 ); }else{ /* A pure NULL might have other flags, such as MEM_Static, MEM_Dyn, @@ -74030,9 +74761,31 @@ SQLITE_PRIVATE int sqlite3VdbeCheckMemInvariants(Mem *p){ } #endif +/* +** Render a Mem object which is one of MEM_Int, MEM_Real, or MEM_IntReal +** into a buffer. +*/ +static void vdbeMemRenderNum(int sz, char *zBuf, Mem *p){ + StrAccum acc; + assert( p->flags & (MEM_Int|MEM_Real|MEM_IntReal) ); + sqlite3StrAccumInit(&acc, 0, zBuf, sz, 0); + if( p->flags & MEM_Int ){ + sqlite3_str_appendf(&acc, "%lld", p->u.i); + }else if( p->flags & MEM_IntReal ){ + sqlite3_str_appendf(&acc, "%!.15g", (double)p->u.i); + }else{ + sqlite3_str_appendf(&acc, "%!.15g", p->u.r); + } + assert( acc.zText==zBuf && acc.mxAlloc<=0 ); + zBuf[acc.nChar] = 0; /* Fast version of sqlite3StrAccumFinish(&acc) */ +} + #ifdef SQLITE_DEBUG /* -** Check that string value of pMem agrees with its integer or real value. +** Validity checks on pMem. pMem holds a string. +** +** (1) Check that string value of pMem agrees with its integer or real value. +** (2) Check that the string is correctly zero terminated ** ** A single int or real value always converts to the same strings. But ** many different strings can be converted into the same int or real. @@ -74050,17 +74803,24 @@ SQLITE_PRIVATE int sqlite3VdbeCheckMemInvariants(Mem *p){ ** ** This routine is for use inside of assert() statements only. */ -SQLITE_PRIVATE int sqlite3VdbeMemConsistentDualRep(Mem *p){ +SQLITE_PRIVATE int sqlite3VdbeMemValidStrRep(Mem *p){ char zBuf[100]; char *z; int i, j, incr; if( (p->flags & MEM_Str)==0 ) return 1; - if( (p->flags & (MEM_Int|MEM_Real))==0 ) return 1; - if( p->flags & MEM_Int ){ - sqlite3_snprintf(sizeof(zBuf),zBuf,"%lld",p->u.i); - }else{ - sqlite3_snprintf(sizeof(zBuf),zBuf,"%!.15g",p->u.r); - } + if( p->flags & MEM_Term ){ + /* Insure that the string is properly zero-terminated. Pay particular + ** attention to the case where p->n is odd */ + if( p->szMalloc>0 && p->z==p->zMalloc ){ + assert( p->enc==SQLITE_UTF8 || p->szMalloc >= ((p->n+1)&~1)+2 ); + assert( p->enc!=SQLITE_UTF8 || p->szMalloc >= p->n+1 ); + } + assert( p->z[p->n]==0 ); + assert( p->enc==SQLITE_UTF8 || p->z[(p->n+1)&~1]==0 ); + assert( p->enc==SQLITE_UTF8 || p->z[((p->n+1)&~1)+1]==0 ); + } + if( (p->flags & (MEM_Int|MEM_Real|MEM_IntReal))==0 ) return 1; + vdbeMemRenderNum(sizeof(zBuf), zBuf, p); z = p->z; i = j = 0; incr = 1; @@ -74116,8 +74876,7 @@ SQLITE_PRIVATE int sqlite3VdbeChangeEncoding(Mem *pMem, int desiredEnc){ } /* -** Make sure pMem->z points to a writable allocation of at least -** min(n,32) bytes. +** Make sure pMem->z points to a writable allocation of at least n bytes. ** ** If the bPreserve argument is true, then copy of the content of ** pMem->z into the new allocation. pMem must be either a string or @@ -74136,9 +74895,14 @@ SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3VdbeMemGrow(Mem *pMem, int n, int bPre assert( pMem->szMalloc==0 || pMem->szMalloc==sqlite3DbMallocSize(pMem->db, pMem->zMalloc) ); - if( n<32 ) n = 32; if( pMem->szMalloc>0 && bPreserve && pMem->z==pMem->zMalloc ){ - pMem->z = pMem->zMalloc = sqlite3DbReallocOrFree(pMem->db, pMem->z, n); + if( pMem->db ){ + pMem->z = pMem->zMalloc = sqlite3DbReallocOrFree(pMem->db, pMem->z, n); + }else{ + pMem->zMalloc = sqlite3Realloc(pMem->z, n); + if( pMem->zMalloc==0 ) sqlite3_free(pMem->z); + pMem->z = pMem->zMalloc; + } bPreserve = 0; }else{ if( pMem->szMalloc>0 ) sqlite3DbFreeNN(pMem->db, pMem->zMalloc); @@ -74174,34 +74938,40 @@ SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3VdbeMemGrow(Mem *pMem, int n, int bPre ** ** Any prior string or blob content in the pMem object may be discarded. ** The pMem->xDel destructor is called, if it exists. Though MEM_Str -** and MEM_Blob values may be discarded, MEM_Int, MEM_Real, and MEM_Null -** values are preserved. +** and MEM_Blob values may be discarded, MEM_Int, MEM_Real, MEM_IntReal, +** and MEM_Null values are preserved. ** ** Return SQLITE_OK on success or an error code (probably SQLITE_NOMEM) ** if unable to complete the resizing. */ SQLITE_PRIVATE int sqlite3VdbeMemClearAndResize(Mem *pMem, int szNew){ - assert( szNew>0 ); + assert( CORRUPT_DB || szNew>0 ); assert( (pMem->flags & MEM_Dyn)==0 || pMem->szMalloc==0 ); if( pMem->szMallocflags & MEM_Dyn)==0 ); pMem->z = pMem->zMalloc; - pMem->flags &= (MEM_Null|MEM_Int|MEM_Real); + pMem->flags &= (MEM_Null|MEM_Int|MEM_Real|MEM_IntReal); return SQLITE_OK; } /* ** It is already known that pMem contains an unterminated string. ** Add the zero terminator. +** +** Three bytes of zero are added. In this way, there is guaranteed +** to be a double-zero byte at an even byte boundary in order to +** terminate a UTF16 string, even if the initial size of the buffer +** is an odd number of bytes. */ static SQLITE_NOINLINE int vdbeMemAddTerminator(Mem *pMem){ - if( sqlite3VdbeMemGrow(pMem, pMem->n+2, 1) ){ + if( sqlite3VdbeMemGrow(pMem, pMem->n+3, 1) ){ return SQLITE_NOMEM_BKPT; } pMem->z[pMem->n] = 0; pMem->z[pMem->n+1] = 0; + pMem->z[pMem->n+2] = 0; pMem->flags |= MEM_Term; return SQLITE_OK; } @@ -74238,13 +75008,15 @@ SQLITE_PRIVATE int sqlite3VdbeMemMakeWriteable(Mem *pMem){ SQLITE_PRIVATE int sqlite3VdbeMemExpandBlob(Mem *pMem){ int nByte; assert( pMem->flags & MEM_Zero ); - assert( pMem->flags&MEM_Blob ); + assert( (pMem->flags&MEM_Blob)!=0 || MemNullNochng(pMem) ); + testcase( sqlite3_value_nochange(pMem) ); assert( !sqlite3VdbeMemIsRowSet(pMem) ); assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); /* Set nByte to the number of bytes required to store the expanded blob. */ nByte = pMem->n + pMem->u.nZero; if( nByte<=0 ){ + if( (pMem->flags & MEM_Blob)==0 ) return SQLITE_OK; nByte = 1; } if( sqlite3VdbeMemGrow(pMem, nByte, 1) ){ @@ -74273,12 +75045,12 @@ SQLITE_PRIVATE int sqlite3VdbeMemNulTerminate(Mem *pMem){ } /* -** Add MEM_Str to the set of representations for the given Mem. Numbers -** are converted using sqlite3_snprintf(). Converting a BLOB to a string -** is a no-op. +** Add MEM_Str to the set of representations for the given Mem. This +** routine is only called if pMem is a number of some kind, not a NULL +** or a BLOB. ** -** Existing representations MEM_Int and MEM_Real are invalidated if -** bForce is true but are retained if bForce is false. +** Existing representations MEM_Int, MEM_Real, or MEM_IntReal are invalidated +** if bForce is true but are retained if bForce is false. ** ** A MEM_Null value will never be passed to this function. This function is ** used for converting values to text for returning to the user (i.e. via @@ -74287,13 +75059,12 @@ SQLITE_PRIVATE int sqlite3VdbeMemNulTerminate(Mem *pMem){ ** user and the latter is an internal programming error. */ SQLITE_PRIVATE int sqlite3VdbeMemStringify(Mem *pMem, u8 enc, u8 bForce){ - int fg = pMem->flags; const int nByte = 32; assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); - assert( !(fg&MEM_Zero) ); - assert( !(fg&(MEM_Str|MEM_Blob)) ); - assert( fg&(MEM_Int|MEM_Real) ); + assert( !(pMem->flags&MEM_Zero) ); + assert( !(pMem->flags&(MEM_Str|MEM_Blob)) ); + assert( pMem->flags&(MEM_Int|MEM_Real|MEM_IntReal) ); assert( !sqlite3VdbeMemIsRowSet(pMem) ); assert( EIGHT_BYTE_ALIGNMENT(pMem) ); @@ -74303,23 +75074,12 @@ SQLITE_PRIVATE int sqlite3VdbeMemStringify(Mem *pMem, u8 enc, u8 bForce){ return SQLITE_NOMEM_BKPT; } - /* For a Real or Integer, use sqlite3_snprintf() to produce the UTF-8 - ** string representation of the value. Then, if the required encoding - ** is UTF-16le or UTF-16be do a translation. - ** - ** FIX ME: It would be better if sqlite3_snprintf() could do UTF-16. - */ - if( fg & MEM_Int ){ - sqlite3_snprintf(nByte, pMem->z, "%lld", pMem->u.i); - }else{ - assert( fg & MEM_Real ); - sqlite3_snprintf(nByte, pMem->z, "%!.15g", pMem->u.r); - } + vdbeMemRenderNum(nByte, pMem->z, pMem); assert( pMem->z!=0 ); pMem->n = sqlite3Strlen30NN(pMem->z); pMem->enc = SQLITE_UTF8; pMem->flags |= MEM_Str|MEM_Term; - if( bForce ) pMem->flags &= ~(MEM_Int|MEM_Real); + if( bForce ) pMem->flags &= ~(MEM_Int|MEM_Real|MEM_IntReal); sqlite3VdbeChangeEncoding(pMem, enc); return SQLITE_OK; } @@ -74493,7 +75253,8 @@ SQLITE_PRIVATE i64 sqlite3VdbeIntValue(Mem *pMem){ assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); assert( EIGHT_BYTE_ALIGNMENT(pMem) ); flags = pMem->flags; - if( flags & MEM_Int ){ + if( flags & (MEM_Int|MEM_IntReal) ){ + testcase( flags & MEM_IntReal ); return pMem->u.i; }else if( flags & MEM_Real ){ return doubleToInt64(pMem->u.r); @@ -74522,7 +75283,8 @@ SQLITE_PRIVATE double sqlite3VdbeRealValue(Mem *pMem){ assert( EIGHT_BYTE_ALIGNMENT(pMem) ); if( pMem->flags & MEM_Real ){ return pMem->u.r; - }else if( pMem->flags & MEM_Int ){ + }else if( pMem->flags & (MEM_Int|MEM_IntReal) ){ + testcase( pMem->flags & MEM_IntReal ); return (double)pMem->u.i; }else if( pMem->flags & (MEM_Str|MEM_Blob) ){ return memRealValue(pMem); @@ -74537,7 +75299,8 @@ SQLITE_PRIVATE double sqlite3VdbeRealValue(Mem *pMem){ ** Return the value ifNull if pMem is NULL. */ SQLITE_PRIVATE int sqlite3VdbeBooleanValue(Mem *pMem, int ifNull){ - if( pMem->flags & MEM_Int ) return pMem->u.i!=0; + testcase( pMem->flags & MEM_IntReal ); + if( pMem->flags & (MEM_Int|MEM_IntReal) ) return pMem->u.i!=0; if( pMem->flags & MEM_Null ) return ifNull; return sqlite3VdbeRealValue(pMem)!=0.0; } @@ -74600,17 +75363,21 @@ SQLITE_PRIVATE int sqlite3VdbeMemRealify(Mem *pMem){ /* Compare a floating point value to an integer. Return true if the two ** values are the same within the precision of the floating point value. ** +** This function assumes that i was obtained by assignment from r1. +** ** For some versions of GCC on 32-bit machines, if you do the more obvious ** comparison of "r1==(double)i" you sometimes get an answer of false even ** though the r1 and (double)i values are bit-for-bit the same. */ -static int sqlite3RealSameAsInt(double r1, sqlite3_int64 i){ +SQLITE_PRIVATE int sqlite3RealSameAsInt(double r1, sqlite3_int64 i){ double r2 = (double)i; - return memcmp(&r1, &r2, sizeof(r1))==0; + return r1==0.0 + || (memcmp(&r1, &r2, sizeof(r1))==0 + && i >= -2251799813685248LL && i < 2251799813685248LL); } /* -** Convert pMem so that it has types MEM_Real or MEM_Int or both. +** Convert pMem so that it has type MEM_Real or MEM_Int. ** Invalidate any prior representations. ** ** Every effort is made to force the conversion, even if the input @@ -74618,25 +75385,26 @@ static int sqlite3RealSameAsInt(double r1, sqlite3_int64 i){ ** as much of the string as we can and ignore the rest. */ SQLITE_PRIVATE int sqlite3VdbeMemNumerify(Mem *pMem){ - if( (pMem->flags & (MEM_Int|MEM_Real|MEM_Null))==0 ){ + testcase( pMem->flags & MEM_Int ); + testcase( pMem->flags & MEM_Real ); + testcase( pMem->flags & MEM_IntReal ); + testcase( pMem->flags & MEM_Null ); + if( (pMem->flags & (MEM_Int|MEM_Real|MEM_IntReal|MEM_Null))==0 ){ int rc; + sqlite3_int64 ix; assert( (pMem->flags & (MEM_Blob|MEM_Str))!=0 ); assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); - rc = sqlite3Atoi64(pMem->z, &pMem->u.i, pMem->n, pMem->enc); - if( rc==0 ){ + rc = sqlite3AtoF(pMem->z, &pMem->u.r, pMem->n, pMem->enc); + if( ((rc==0 || rc==1) && sqlite3Atoi64(pMem->z, &ix, pMem->n, pMem->enc)<=1) + || sqlite3RealSameAsInt(pMem->u.r, (ix = (i64)pMem->u.r)) + ){ + pMem->u.i = ix; MemSetTypeFlag(pMem, MEM_Int); }else{ - i64 i = pMem->u.i; - sqlite3AtoF(pMem->z, &pMem->u.r, pMem->n, pMem->enc); - if( rc==1 && sqlite3RealSameAsInt(pMem->u.r, i) ){ - pMem->u.i = i; - MemSetTypeFlag(pMem, MEM_Int); - }else{ - MemSetTypeFlag(pMem, MEM_Real); - } + MemSetTypeFlag(pMem, MEM_Real); } } - assert( (pMem->flags & (MEM_Int|MEM_Real|MEM_Null))!=0 ); + assert( (pMem->flags & (MEM_Int|MEM_Real|MEM_IntReal|MEM_Null))!=0 ); pMem->flags &= ~(MEM_Str|MEM_Blob|MEM_Zero); return SQLITE_OK; } @@ -74679,7 +75447,7 @@ SQLITE_PRIVATE void sqlite3VdbeMemCast(Mem *pMem, u8 aff, u8 encoding){ pMem->flags |= (pMem->flags&MEM_Blob)>>3; sqlite3ValueApplyAffinity(pMem, SQLITE_AFF_TEXT, encoding); assert( pMem->flags & MEM_Str || pMem->db->mallocFailed ); - pMem->flags &= ~(MEM_Int|MEM_Real|MEM_Blob|MEM_Zero); + pMem->flags &= ~(MEM_Int|MEM_Real|MEM_IntReal|MEM_Blob|MEM_Zero); break; } } @@ -74863,7 +75631,7 @@ SQLITE_PRIVATE void sqlite3VdbeMemAboutToChange(Vdbe *pVdbe, Mem *pMem){ ** dual type, are allowed, as long as the underlying value is the ** same. */ u16 mFlags = pMem->flags & pX->flags & pX->mScopyFlags; - assert( (mFlags&MEM_Int)==0 || pMem->u.i==pX->u.i ); + assert( (mFlags&(MEM_Int|MEM_IntReal))==0 || pMem->u.i==pX->u.i ); assert( (mFlags&MEM_Real)==0 || pMem->u.r==pX->u.r ); assert( (mFlags&MEM_Str)==0 || (pMem->n==pX->n && pMem->z==pX->z) ); assert( (mFlags&MEM_Blob)==0 || sqlite3BlobCompare(pMem,pX)==0 ); @@ -74985,7 +75753,6 @@ SQLITE_PRIVATE int sqlite3VdbeMemSetStr( assert( enc!=0 ); if( enc==SQLITE_UTF8 ){ nByte = 0x7fffffff & (int)strlen(z); - if( nByte>iLimit ) nByte = iLimit+1; }else{ for(nByte=0; nByte<=iLimit && (z[nByte] | z[nByte+1]); nByte+=2){} } @@ -74997,29 +75764,30 @@ SQLITE_PRIVATE int sqlite3VdbeMemSetStr( ** management (one of MEM_Dyn or MEM_Static). */ if( xDel==SQLITE_TRANSIENT ){ - int nAlloc = nByte; + u32 nAlloc = nByte; if( flags&MEM_Term ){ nAlloc += (enc==SQLITE_UTF8?1:2); } if( nByte>iLimit ){ - return SQLITE_TOOBIG; + return sqlite3ErrorToParser(pMem->db, SQLITE_TOOBIG); } testcase( nAlloc==0 ); testcase( nAlloc==31 ); testcase( nAlloc==32 ); - if( sqlite3VdbeMemClearAndResize(pMem, MAX(nAlloc,32)) ){ + if( sqlite3VdbeMemClearAndResize(pMem, (int)MAX(nAlloc,32)) ){ return SQLITE_NOMEM_BKPT; } memcpy(pMem->z, z, nAlloc); - }else if( xDel==SQLITE_DYNAMIC ){ - sqlite3VdbeMemRelease(pMem); - pMem->zMalloc = pMem->z = (char *)z; - pMem->szMalloc = sqlite3DbMallocSize(pMem->db, pMem->zMalloc); }else{ sqlite3VdbeMemRelease(pMem); pMem->z = (char *)z; - pMem->xDel = xDel; - flags |= ((xDel==SQLITE_STATIC)?MEM_Static:MEM_Dyn); + if( xDel==SQLITE_DYNAMIC ){ + pMem->zMalloc = pMem->z; + pMem->szMalloc = sqlite3DbMallocSize(pMem->db, pMem->zMalloc); + }else{ + pMem->xDel = xDel; + flags |= ((xDel==SQLITE_STATIC)?MEM_Static:MEM_Dyn); + } } pMem->n = nByte; @@ -75062,6 +75830,9 @@ static SQLITE_NOINLINE int vdbeMemFromBtreeResize( ){ int rc; pMem->flags = MEM_Null; + if( sqlite3BtreeMaxRecordSize(pCur)z); if( rc==SQLITE_OK ){ @@ -75135,7 +75906,7 @@ static SQLITE_NOINLINE const void *valueToText(sqlite3_value* pVal, u8 enc){ assert(pVal->enc==(enc & ~SQLITE_UTF16_ALIGNED) || pVal->db==0 || pVal->db->mallocFailed ); if( pVal->enc==(enc & ~SQLITE_UTF16_ALIGNED) ){ - assert( sqlite3VdbeMemConsistentDualRep(pVal) ); + assert( sqlite3VdbeMemValidStrRep(pVal) ); return pVal->z; }else{ return 0; @@ -75158,7 +75929,7 @@ SQLITE_PRIVATE const void *sqlite3ValueText(sqlite3_value* pVal, u8 enc){ assert( (enc&3)==(enc&~SQLITE_UTF16_ALIGNED) ); assert( !sqlite3VdbeMemIsRowSet(pVal) ); if( (pVal->flags&(MEM_Str|MEM_Term))==(MEM_Str|MEM_Term) && pVal->enc==enc ){ - assert( sqlite3VdbeMemConsistentDualRep(pVal) ); + assert( sqlite3VdbeMemValidStrRep(pVal) ); return pVal->z; } if( pVal->flags&MEM_Null ){ @@ -75202,7 +75973,7 @@ struct ValueNewStat4Ctx { ** an sqlite3_value within the UnpackedRecord.a[] array. */ static sqlite3_value *valueNew(sqlite3 *db, struct ValueNewStat4Ctx *p){ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 if( p ){ UnpackedRecord *pRec = p->ppRec[0]; @@ -75238,7 +76009,7 @@ static sqlite3_value *valueNew(sqlite3 *db, struct ValueNewStat4Ctx *p){ } #else UNUSED_PARAMETER(p); -#endif /* defined(SQLITE_ENABLE_STAT3_OR_STAT4) */ +#endif /* defined(SQLITE_ENABLE_STAT4) */ return sqlite3ValueNew(db); } @@ -75262,7 +76033,7 @@ static sqlite3_value *valueNew(sqlite3 *db, struct ValueNewStat4Ctx *p){ ** and sets (*ppVal) to NULL. Or, if an error occurs, (*ppVal) is set to ** NULL and an SQLite error code returned. */ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 static int valueFromFunction( sqlite3 *db, /* The database connection */ Expr *p, /* The expression to evaluate */ @@ -75345,7 +76116,7 @@ static int valueFromFunction( } #else # define valueFromFunction(a,b,c,d,e,f) SQLITE_OK -#endif /* defined(SQLITE_ENABLE_STAT3_OR_STAT4) */ +#endif /* defined(SQLITE_ENABLE_STAT4) */ /* ** Extract a value from the supplied expression in the manner described @@ -75374,7 +76145,7 @@ static int valueFromExpr( assert( pExpr!=0 ); while( (op = pExpr->op)==TK_UPLUS || op==TK_SPAN ) pExpr = pExpr->pLeft; -#if defined(SQLITE_ENABLE_STAT3_OR_STAT4) +#if defined(SQLITE_ENABLE_STAT4) if( op==TK_REGISTER ) op = pExpr->op2; #else if( NEVER(op==TK_REGISTER) ) op = pExpr->op2; @@ -75423,7 +76194,12 @@ static int valueFromExpr( }else{ sqlite3ValueApplyAffinity(pVal, affinity, SQLITE_UTF8); } - if( pVal->flags & (MEM_Int|MEM_Real) ) pVal->flags &= ~MEM_Str; + assert( (pVal->flags & MEM_IntReal)==0 ); + if( pVal->flags & (MEM_Int|MEM_IntReal|MEM_Real) ){ + testcase( pVal->flags & MEM_Int ); + testcase( pVal->flags & MEM_Real ); + pVal->flags &= ~MEM_Str; + } if( enc!=SQLITE_UTF8 ){ rc = sqlite3VdbeChangeEncoding(pVal, enc); } @@ -75446,7 +76222,7 @@ static int valueFromExpr( }else if( op==TK_NULL ){ pVal = valueNew(db, pCtx); if( pVal==0 ) goto no_mem; - sqlite3VdbeMemNumerify(pVal); + sqlite3VdbeMemSetNull(pVal); } #ifndef SQLITE_OMIT_BLOB_LITERAL else if( op==TK_BLOB ){ @@ -75462,28 +76238,30 @@ static int valueFromExpr( 0, SQLITE_DYNAMIC); } #endif -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 else if( op==TK_FUNCTION && pCtx!=0 ){ rc = valueFromFunction(db, pExpr, enc, affinity, &pVal, pCtx); } #endif else if( op==TK_TRUEFALSE ){ - pVal = valueNew(db, pCtx); - pVal->flags = MEM_Int; - pVal->u.i = pExpr->u.zToken[4]==0; + pVal = valueNew(db, pCtx); + if( pVal ){ + pVal->flags = MEM_Int; + pVal->u.i = pExpr->u.zToken[4]==0; + } } *ppVal = pVal; return rc; no_mem: -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 if( pCtx==0 || pCtx->pParse->nErr==0 ) #endif sqlite3OomFault(db); sqlite3DbFree(db, zVal); assert( *ppVal==0 ); -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 if( pCtx==0 ) sqlite3ValueFree(pVal); #else assert( pCtx==0 ); sqlite3ValueFree(pVal); @@ -75511,56 +76289,7 @@ SQLITE_PRIVATE int sqlite3ValueFromExpr( return pExpr ? valueFromExpr(db, pExpr, enc, affinity, ppVal, 0) : 0; } -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 -/* -** The implementation of the sqlite_record() function. This function accepts -** a single argument of any type. The return value is a formatted database -** record (a blob) containing the argument value. -** -** This is used to convert the value stored in the 'sample' column of the -** sqlite_stat3 table to the record format SQLite uses internally. -*/ -static void recordFunc( - sqlite3_context *context, - int argc, - sqlite3_value **argv -){ - const int file_format = 1; - u32 iSerial; /* Serial type */ - int nSerial; /* Bytes of space for iSerial as varint */ - u32 nVal; /* Bytes of space required for argv[0] */ - int nRet; - sqlite3 *db; - u8 *aRet; - - UNUSED_PARAMETER( argc ); - iSerial = sqlite3VdbeSerialType(argv[0], file_format, &nVal); - nSerial = sqlite3VarintLen(iSerial); - db = sqlite3_context_db_handle(context); - - nRet = 1 + nSerial + nVal; - aRet = sqlite3DbMallocRawNN(db, nRet); - if( aRet==0 ){ - sqlite3_result_error_nomem(context); - }else{ - aRet[0] = nSerial+1; - putVarint32(&aRet[1], iSerial); - sqlite3VdbeSerialPut(&aRet[1+nSerial], argv[0], iSerial); - sqlite3_result_blob(context, aRet, nRet, SQLITE_TRANSIENT); - sqlite3DbFreeNN(db, aRet); - } -} - -/* -** Register built-in functions used to help read ANALYZE data. -*/ -SQLITE_PRIVATE void sqlite3AnalyzeFunctions(void){ - static FuncDef aAnalyzeTableFuncs[] = { - FUNCTION(sqlite_record, 1, 0, 0, recordFunc), - }; - sqlite3InsertBuiltinFuncs(aAnalyzeTableFuncs, ArraySize(aAnalyzeTableFuncs)); -} - +#ifdef SQLITE_ENABLE_STAT4 /* ** Attempt to extract a value from pExpr and use it to construct *ppVal. ** @@ -75863,7 +76592,7 @@ SQLITE_PRIVATE Vdbe *sqlite3VdbeCreate(Parse *pParse){ pParse->pVdbe = p; assert( pParse->aLabel==0 ); assert( pParse->nLabel==0 ); - assert( pParse->nOpAlloc==0 ); + assert( p->nOpAlloc==0 ); assert( pParse->szOpAlloc==0 ); sqlite3VdbeAddOp2(p, OP_Init, 0, 1); return p; @@ -75891,14 +76620,44 @@ SQLITE_PRIVATE void sqlite3VdbeSetSql(Vdbe *p, const char *z, int n, u8 prepFlag } assert( p->zSql==0 ); p->zSql = sqlite3DbStrNDup(p->db, z, n); +} + #ifdef SQLITE_ENABLE_NORMALIZE - assert( p->zNormSql==0 ); - if( p->zSql && (prepFlags & SQLITE_PREPARE_NORMALIZE)!=0 ){ - sqlite3Normalize(p, p->zSql, n, prepFlags); - assert( p->zNormSql!=0 || p->db->mallocFailed ); +/* +** Add a new element to the Vdbe->pDblStr list. +*/ +SQLITE_PRIVATE void sqlite3VdbeAddDblquoteStr(sqlite3 *db, Vdbe *p, const char *z){ + if( p ){ + int n = sqlite3Strlen30(z); + DblquoteStr *pStr = sqlite3DbMallocRawNN(db, + sizeof(*pStr)+n+1-sizeof(pStr->z)); + if( pStr ){ + pStr->pNextStr = p->pDblStr; + p->pDblStr = pStr; + memcpy(pStr->z, z, n+1); + } } +} #endif + +#ifdef SQLITE_ENABLE_NORMALIZE +/* +** zId of length nId is a double-quoted identifier. Check to see if +** that identifier is really used as a string literal. +*/ +SQLITE_PRIVATE int sqlite3VdbeUsesDoubleQuotedString( + Vdbe *pVdbe, /* The prepared statement */ + const char *zId /* The double-quoted identifier, already dequoted */ +){ + DblquoteStr *pStr; + assert( zId!=0 ); + if( pVdbe->pDblStr==0 ) return 0; + for(pStr=pVdbe->pDblStr; pStr; pStr=pStr->pNextStr){ + if( strcmp(zId, pStr->z)==0 ) return 1; + } + return 0; } +#endif /* ** Swap all content between two VDBE structures. @@ -75919,7 +76678,7 @@ SQLITE_PRIVATE void sqlite3VdbeSwap(Vdbe *pA, Vdbe *pB){ zTmp = pA->zSql; pA->zSql = pB->zSql; pB->zSql = zTmp; -#ifdef SQLITE_ENABLE_NORMALIZE +#if 0 zTmp = pA->zNormSql; pA->zNormSql = pB->zNormSql; pB->zNormSql = zTmp; @@ -75936,7 +76695,7 @@ SQLITE_PRIVATE void sqlite3VdbeSwap(Vdbe *pA, Vdbe *pB){ ** to 1024/sizeof(Op). ** ** If an out-of-memory error occurs while resizing the array, return -** SQLITE_NOMEM. In this case Vdbe.aOp and Parse.nOpAlloc remain +** SQLITE_NOMEM. In this case Vdbe.aOp and Vdbe.nOpAlloc remain ** unchanged (this is so that any opcodes already allocated can be ** correctly deallocated along with the rest of the Vdbe). */ @@ -75952,9 +76711,11 @@ static int growOpArray(Vdbe *v, int nOp){ ** operation (without SQLITE_TEST_REALLOC_STRESS) is to double the current ** size of the op array or add 1KB of space, whichever is smaller. */ #ifdef SQLITE_TEST_REALLOC_STRESS - int nNew = (p->nOpAlloc>=512 ? p->nOpAlloc*2 : p->nOpAlloc+nOp); + sqlite3_int64 nNew = (v->nOpAlloc>=512 ? 2*(sqlite3_int64)v->nOpAlloc + : (sqlite3_int64)v->nOpAlloc+nOp); #else - int nNew = (p->nOpAlloc ? p->nOpAlloc*2 : (int)(1024/sizeof(Op))); + sqlite3_int64 nNew = (v->nOpAlloc ? 2*(sqlite3_int64)v->nOpAlloc + : (sqlite3_int64)(1024/sizeof(Op))); UNUSED_PARAMETER(nOp); #endif @@ -75965,11 +76726,11 @@ static int growOpArray(Vdbe *v, int nOp){ } assert( nOp<=(1024/sizeof(Op)) ); - assert( nNew>=(p->nOpAlloc+nOp) ); + assert( nNew>=(v->nOpAlloc+nOp) ); pNew = sqlite3DbRealloc(p->db, v->aOp, nNew*sizeof(Op)); if( pNew ){ p->szOpAlloc = sqlite3DbMallocSize(p->db, pNew); - p->nOpAlloc = p->szOpAlloc/sizeof(Op); + v->nOpAlloc = p->szOpAlloc/sizeof(Op); v->aOp = pNew; } return (pNew ? SQLITE_OK : SQLITE_NOMEM_BKPT); @@ -76003,9 +76764,9 @@ static void test_addop_breakpoint(void){ ** operand. */ static SQLITE_NOINLINE int growOp3(Vdbe *p, int op, int p1, int p2, int p3){ - assert( p->pParse->nOpAlloc<=p->nOp ); + assert( p->nOpAlloc<=p->nOp ); if( growOpArray(p, 1) ) return 1; - assert( p->pParse->nOpAlloc>p->nOp ); + assert( p->nOpAlloc>p->nOp ); return sqlite3VdbeAddOp3(p, op, p1, p2, p3); } SQLITE_PRIVATE int sqlite3VdbeAddOp3(Vdbe *p, int op, int p1, int p2, int p3){ @@ -76015,7 +76776,7 @@ SQLITE_PRIVATE int sqlite3VdbeAddOp3(Vdbe *p, int op, int p1, int p2, int p3){ i = p->nOp; assert( p->magic==VDBE_MAGIC_INIT ); assert( op>=0 && op<0xff ); - if( p->pParse->nOpAlloc<=i ){ + if( p->nOpAlloc<=i ){ return growOp3(p, op, p1, p2, p3); } p->nOp++; @@ -76147,13 +76908,29 @@ SQLITE_PRIVATE int sqlite3VdbeExplainParent(Parse *pParse){ } /* -** Add a new OP_Explain opcode. +** Set a debugger breakpoint on the following routine in order to +** monitor the EXPLAIN QUERY PLAN code generation. +*/ +#if defined(SQLITE_DEBUG) +SQLITE_PRIVATE void sqlite3ExplainBreakpoint(const char *z1, const char *z2){ + (void)z1; + (void)z2; +} +#endif + +/* +** Add a new OP_ opcode. ** ** If the bPush flag is true, then make this opcode the parent for ** subsequent Explains until sqlite3VdbeExplainPop() is called. */ SQLITE_PRIVATE void sqlite3VdbeExplain(Parse *pParse, u8 bPush, const char *zFmt, ...){ - if( pParse->explain==2 ){ +#ifndef SQLITE_DEBUG + /* Always include the OP_Explain opcodes if SQLITE_DEBUG is defined. + ** But omit them (for performance) during production builds */ + if( pParse->explain==2 ) +#endif + { char *zMsg; Vdbe *v; va_list ap; @@ -76165,7 +76942,10 @@ SQLITE_PRIVATE void sqlite3VdbeExplain(Parse *pParse, u8 bPush, const char *zFmt iThis = v->nOp; sqlite3VdbeAddOp4(v, OP_Explain, iThis, pParse->addrExplain, 0, zMsg, P4_DYNAMIC); - if( bPush) pParse->addrExplain = iThis; + sqlite3ExplainBreakpoint(bPush?"PUSH":"", sqlite3VdbeGetOp(v,-1)->p4.z); + if( bPush){ + pParse->addrExplain = iThis; + } } } @@ -76173,6 +76953,7 @@ SQLITE_PRIVATE void sqlite3VdbeExplain(Parse *pParse, u8 bPush, const char *zFmt ** Pop the EXPLAIN QUERY PLAN stack one level. */ SQLITE_PRIVATE void sqlite3VdbeExplainPop(Parse *pParse){ + sqlite3ExplainBreakpoint("POP", 0); pParse->addrExplain = sqlite3VdbeExplainParent(pParse); } #endif /* SQLITE_OMIT_EXPLAIN */ @@ -76237,21 +77018,22 @@ SQLITE_PRIVATE void sqlite3VdbeEndCoroutine(Vdbe *v, int regYield){ ** The VDBE knows that a P2 value is a label because labels are ** always negative and P2 values are suppose to be non-negative. ** Hence, a negative P2 value is a label that has yet to be resolved. +** (Later:) This is only true for opcodes that have the OPFLG_JUMP +** property. +** +** Variable usage notes: ** -** Zero is returned if a malloc() fails. +** Parse.aLabel[x] Stores the address that the x-th label resolves +** into. For testing (SQLITE_DEBUG), unresolved +** labels stores -1, but that is not required. +** Parse.nLabelAlloc Number of slots allocated to Parse.aLabel[] +** Parse.nLabel The *negative* of the number of labels that have +** been issued. The negative is stored because +** that gives a performance improvement over storing +** the equivalent positive value. */ -SQLITE_PRIVATE int sqlite3VdbeMakeLabel(Vdbe *v){ - Parse *p = v->pParse; - int i = p->nLabel++; - assert( v->magic==VDBE_MAGIC_INIT ); - if( (i & (i-1))==0 ){ - p->aLabel = sqlite3DbReallocOrFree(p->db, p->aLabel, - (i*2+1)*sizeof(p->aLabel[0])); - } - if( p->aLabel ){ - p->aLabel[i] = -1; - } - return ADDR(i); +SQLITE_PRIVATE int sqlite3VdbeMakeLabel(Parse *pParse){ + return --pParse->nLabel; } /* @@ -76259,18 +77041,35 @@ SQLITE_PRIVATE int sqlite3VdbeMakeLabel(Vdbe *v){ ** be inserted. The parameter "x" must have been obtained from ** a prior call to sqlite3VdbeMakeLabel(). */ +static SQLITE_NOINLINE void resizeResolveLabel(Parse *p, Vdbe *v, int j){ + int nNewSize = 10 - p->nLabel; + p->aLabel = sqlite3DbReallocOrFree(p->db, p->aLabel, + nNewSize*sizeof(p->aLabel[0])); + if( p->aLabel==0 ){ + p->nLabelAlloc = 0; + }else{ +#ifdef SQLITE_DEBUG + int i; + for(i=p->nLabelAlloc; iaLabel[i] = -1; +#endif + p->nLabelAlloc = nNewSize; + p->aLabel[j] = v->nOp; + } +} SQLITE_PRIVATE void sqlite3VdbeResolveLabel(Vdbe *v, int x){ Parse *p = v->pParse; int j = ADDR(x); assert( v->magic==VDBE_MAGIC_INIT ); - assert( jnLabel ); + assert( j<-p->nLabel ); assert( j>=0 ); - if( p->aLabel ){ #ifdef SQLITE_DEBUG - if( p->db->flags & SQLITE_VdbeAddopTrace ){ - printf("RESOLVE LABEL %d to %d\n", x, v->nOp); - } + if( p->db->flags & SQLITE_VdbeAddopTrace ){ + printf("RESOLVE LABEL %d to %d\n", x, v->nOp); + } #endif + if( p->nLabelAlloc + p->nLabel < 0 ){ + resizeResolveLabel(p,v,j); + }else{ assert( p->aLabel[j]==(-1) ); /* Labels may only be resolved once */ p->aLabel[j] = v->nOp; } @@ -76386,6 +77185,7 @@ SQLITE_PRIVATE int sqlite3VdbeAssertMayAbort(Vdbe *v, int mayAbort){ int hasAbort = 0; int hasFkCounter = 0; int hasCreateTable = 0; + int hasCreateIndex = 0; int hasInitCoroutine = 0; Op *pOp; VdbeOpIter sIter; @@ -76395,13 +77195,23 @@ SQLITE_PRIVATE int sqlite3VdbeAssertMayAbort(Vdbe *v, int mayAbort){ while( (pOp = opIterNext(&sIter))!=0 ){ int opcode = pOp->opcode; if( opcode==OP_Destroy || opcode==OP_VUpdate || opcode==OP_VRename + || opcode==OP_VDestroy + || (opcode==OP_ParseSchema && pOp->p4.z==0) || ((opcode==OP_Halt || opcode==OP_HaltIfNull) - && ((pOp->p1&0xff)==SQLITE_CONSTRAINT && pOp->p2==OE_Abort)) + && ((pOp->p1)!=SQLITE_OK && pOp->p2==OE_Abort)) ){ hasAbort = 1; break; } if( opcode==OP_CreateBtree && pOp->p3==BTREE_INTKEY ) hasCreateTable = 1; + if( mayAbort ){ + /* hasCreateIndex may also be set for some DELETE statements that use + ** OP_Clear. So this routine may end up returning true in the case + ** where a "DELETE FROM tbl" has a statement-journal but does not + ** require one. This is not so bad - it is an inefficiency, not a bug. */ + if( opcode==OP_CreateBtree && pOp->p3==BTREE_BLOBKEY ) hasCreateIndex = 1; + if( opcode==OP_Clear ) hasCreateIndex = 1; + } if( opcode==OP_InitCoroutine ) hasInitCoroutine = 1; #ifndef SQLITE_OMIT_FOREIGN_KEY if( opcode==OP_FkCounter && pOp->p1==0 && pOp->p2==1 ){ @@ -76417,7 +77227,8 @@ SQLITE_PRIVATE int sqlite3VdbeAssertMayAbort(Vdbe *v, int mayAbort){ ** true for this case to prevent the assert() in the callers frame ** from failing. */ return ( v->db->mallocFailed || hasAbort==mayAbort || hasFkCounter - || (hasCreateTable && hasInitCoroutine) ); + || (hasCreateTable && hasInitCoroutine) || hasCreateIndex + ); } #endif /* SQLITE_DEBUG - the sqlite3AssertMayAbort() function */ @@ -76545,7 +77356,7 @@ static void resolveP2Values(Vdbe *p, int *pMaxFuncArgs){ ** non-jump opcodes less than SQLITE_MX_JUMP_CODE are guaranteed to ** have non-negative values for P2. */ assert( (sqlite3OpcodeProperty[pOp->opcode] & OPFLG_JUMP)!=0 ); - assert( ADDR(pOp->p2)nLabel ); + assert( ADDR(pOp->p2)<-pParse->nLabel ); pOp->p2 = aLabel[ADDR(pOp->p2)]; } break; @@ -76584,7 +77395,7 @@ SQLITE_PRIVATE int sqlite3VdbeCurrentAddr(Vdbe *p){ */ #if defined(SQLITE_DEBUG) && !defined(SQLITE_TEST_REALLOC_STRESS) SQLITE_PRIVATE void sqlite3VdbeVerifyNoMallocRequired(Vdbe *p, int N){ - assert( p->nOp + N <= p->pParse->nOpAlloc ); + assert( p->nOp + N <= p->nOpAlloc ); } #endif @@ -76656,7 +77467,7 @@ SQLITE_PRIVATE VdbeOp *sqlite3VdbeAddOpList( VdbeOp *pOut, *pFirst; assert( nOp>0 ); assert( p->magic==VDBE_MAGIC_INIT ); - if( p->nOp + nOp > p->pParse->nOpAlloc && growOpArray(p, nOp) ){ + if( p->nOp + nOp > p->nOpAlloc && growOpArray(p, nOp) ){ return 0; } pFirst = pOut = &p->aOp[p->nOp]; @@ -76702,7 +77513,7 @@ SQLITE_PRIVATE void sqlite3VdbeScanStatus( LogEst nEst, /* Estimated number of output rows */ const char *zName /* Name of table or index being scanned */ ){ - int nByte = (p->nScan+1) * sizeof(ScanStatus); + sqlite3_int64 nByte = (p->nScan+1) * sizeof(ScanStatus); ScanStatus *aNew; aNew = (ScanStatus*)sqlite3DbRealloc(p->db, p->aScan, nByte); if( aNew ){ @@ -76722,16 +77533,16 @@ SQLITE_PRIVATE void sqlite3VdbeScanStatus( ** Change the value of the opcode, or P1, P2, P3, or P5 operands ** for a specific instruction. */ -SQLITE_PRIVATE void sqlite3VdbeChangeOpcode(Vdbe *p, u32 addr, u8 iNewOpcode){ +SQLITE_PRIVATE void sqlite3VdbeChangeOpcode(Vdbe *p, int addr, u8 iNewOpcode){ sqlite3VdbeGetOp(p,addr)->opcode = iNewOpcode; } -SQLITE_PRIVATE void sqlite3VdbeChangeP1(Vdbe *p, u32 addr, int val){ +SQLITE_PRIVATE void sqlite3VdbeChangeP1(Vdbe *p, int addr, int val){ sqlite3VdbeGetOp(p,addr)->p1 = val; } -SQLITE_PRIVATE void sqlite3VdbeChangeP2(Vdbe *p, u32 addr, int val){ +SQLITE_PRIVATE void sqlite3VdbeChangeP2(Vdbe *p, int addr, int val){ sqlite3VdbeGetOp(p,addr)->p2 = val; } -SQLITE_PRIVATE void sqlite3VdbeChangeP3(Vdbe *p, u32 addr, int val){ +SQLITE_PRIVATE void sqlite3VdbeChangeP3(Vdbe *p, int addr, int val){ sqlite3VdbeGetOp(p,addr)->p3 = val; } SQLITE_PRIVATE void sqlite3VdbeChangeP5(Vdbe *p, u16 p5){ @@ -77238,14 +78049,16 @@ static char *displayP4(Op *pOp, char *zTemp, int nTemp){ case P4_KEYINFO: { int j; KeyInfo *pKeyInfo = pOp->p4.pKeyInfo; - assert( pKeyInfo->aSortOrder!=0 ); + assert( pKeyInfo->aSortFlags!=0 ); sqlite3_str_appendf(&x, "k(%d", pKeyInfo->nKeyField); for(j=0; jnKeyField; j++){ CollSeq *pColl = pKeyInfo->aColl[j]; const char *zColl = pColl ? pColl->zName : ""; if( strcmp(zColl, "BINARY")==0 ) zColl = "B"; - sqlite3_str_appendf(&x, ",%s%s", - pKeyInfo->aSortOrder[j] ? "-" : "", zColl); + sqlite3_str_appendf(&x, ",%s%s%s", + (pKeyInfo->aSortFlags[j] & KEYINFO_ORDER_DESC) ? "-" : "", + (pKeyInfo->aSortFlags[j] & KEYINFO_ORDER_BIGNULL)? "N." : "", + zColl); } sqlite3_str_append(&x, ")", 1); break; @@ -77289,7 +78102,7 @@ static char *displayP4(Op *pOp, char *zTemp, int nTemp){ Mem *pMem = pOp->p4.pMem; if( pMem->flags & MEM_Str ){ zP4 = pMem->z; - }else if( pMem->flags & MEM_Int ){ + }else if( pMem->flags & (MEM_Int|MEM_IntReal) ){ sqlite3_str_appendf(&x, "%lld", pMem->u.i); }else if( pMem->flags & MEM_Real ){ sqlite3_str_appendf(&x, "%.16g", pMem->u.r); @@ -77652,8 +78465,11 @@ SQLITE_PRIVATE int sqlite3VdbeList( ** pick up the appropriate opcode. */ int j; i -= p->nOp; + assert( apSub!=0 ); + assert( nSub>0 ); for(j=0; i>=apSub[j]->nOp; j++){ i -= apSub[j]->nOp; + assert( inOp || j+1aOp[i]; } @@ -77823,9 +78639,9 @@ SQLITE_PRIVATE void sqlite3VdbeIOTraceSql(Vdbe *p){ ** of a ReusableSpace object by the allocSpace() routine below. */ struct ReusableSpace { - u8 *pSpace; /* Available memory */ - int nFree; /* Bytes of available memory */ - int nNeeded; /* Total bytes that could not be allocated */ + u8 *pSpace; /* Available memory */ + sqlite3_int64 nFree; /* Bytes of available memory */ + sqlite3_int64 nNeeded; /* Total bytes that could not be allocated */ }; /* Try to allocate nByte bytes of 8-byte aligned bulk memory for pBuf @@ -77845,7 +78661,7 @@ struct ReusableSpace { static void *allocSpace( struct ReusableSpace *p, /* Bulk memory available for allocation */ void *pBuf, /* Pointer to a prior allocation */ - int nByte /* Bytes of memory needed */ + sqlite3_int64 nByte /* Bytes of memory needed */ ){ assert( EIGHT_BYTE_ALIGNMENT(p->pSpace) ); if( pBuf==0 ){ @@ -77978,19 +78794,27 @@ SQLITE_PRIVATE void sqlite3VdbeMakeReady( ** the leftover memory at the end of the opcode array. This can significantly ** reduce the amount of memory held by a prepared statement. */ - do { - x.nNeeded = 0; - p->aMem = allocSpace(&x, p->aMem, nMem*sizeof(Mem)); - p->aVar = allocSpace(&x, p->aVar, nVar*sizeof(Mem)); - p->apArg = allocSpace(&x, p->apArg, nArg*sizeof(Mem*)); - p->apCsr = allocSpace(&x, p->apCsr, nCursor*sizeof(VdbeCursor*)); + x.nNeeded = 0; + p->aMem = allocSpace(&x, 0, nMem*sizeof(Mem)); + p->aVar = allocSpace(&x, 0, nVar*sizeof(Mem)); + p->apArg = allocSpace(&x, 0, nArg*sizeof(Mem*)); + p->apCsr = allocSpace(&x, 0, nCursor*sizeof(VdbeCursor*)); #ifdef SQLITE_ENABLE_STMT_SCANSTATUS - p->anExec = allocSpace(&x, p->anExec, p->nOp*sizeof(i64)); + p->anExec = allocSpace(&x, 0, p->nOp*sizeof(i64)); #endif - if( x.nNeeded==0 ) break; + if( x.nNeeded ){ x.pSpace = p->pFree = sqlite3DbMallocRawNN(db, x.nNeeded); x.nFree = x.nNeeded; - }while( !db->mallocFailed ); + if( !db->mallocFailed ){ + p->aMem = allocSpace(&x, p->aMem, nMem*sizeof(Mem)); + p->aVar = allocSpace(&x, p->aVar, nVar*sizeof(Mem)); + p->apArg = allocSpace(&x, p->apArg, nArg*sizeof(Mem*)); + p->apCsr = allocSpace(&x, p->apCsr, nCursor*sizeof(VdbeCursor*)); +#ifdef SQLITE_ENABLE_STMT_SCANSTATUS + p->anExec = allocSpace(&x, p->anExec, p->nOp*sizeof(i64)); +#endif + } + } p->pVList = pParse->pVList; pParse->pVList = 0; @@ -78643,7 +79467,7 @@ SQLITE_PRIVATE int sqlite3VdbeHalt(Vdbe *p){ } /* Check for immediate foreign key violations. */ - if( p->rc==SQLITE_OK ){ + if( p->rc==SQLITE_OK || (p->errorAction==OE_Fail && !isSpecialError) ){ sqlite3VdbeCheckFk(p, 0); } @@ -78682,7 +79506,7 @@ SQLITE_PRIVATE int sqlite3VdbeHalt(Vdbe *p){ }else{ db->nDeferredCons = 0; db->nDeferredImmCons = 0; - db->flags &= ~SQLITE_DeferFKs; + db->flags &= ~(u64)SQLITE_DeferFKs; sqlite3CommitInternalChanges(db); } }else{ @@ -78997,6 +79821,13 @@ SQLITE_PRIVATE void sqlite3VdbeClearObject(sqlite3 *db, Vdbe *p){ sqlite3DbFree(db, p->zSql); #ifdef SQLITE_ENABLE_NORMALIZE sqlite3DbFree(db, p->zNormSql); + { + DblquoteStr *pThis, *pNext; + for(pThis=p->pDblStr; pThis; pThis=pNext){ + pNext = pThis->pNextStr; + sqlite3DbFree(db, pThis); + } + } #endif #ifdef SQLITE_ENABLE_STMT_SCANSTATUS { @@ -79160,8 +79991,17 @@ SQLITE_PRIVATE int sqlite3VdbeCursorMoveto(VdbeCursor **pp, int *piCol){ ** of SQLite will not understand those serial types. */ +#if 0 /* Inlined into the OP_MakeRecord opcode */ /* ** Return the serial-type for the value stored in pMem. +** +** This routine might convert a large MEM_IntReal value into MEM_Real. +** +** 2019-07-11: The primary user of this subroutine was the OP_MakeRecord +** opcode in the byte-code engine. But by moving this routine in-line, we +** can omit some redundant tests and make that opcode a lot faster. So +** this routine is now only used by the STAT3 logic and STAT3 support has +** ended. The code is kept here for historical reference only. */ SQLITE_PRIVATE u32 sqlite3VdbeSerialType(Mem *pMem, int file_format, u32 *pLen){ int flags = pMem->flags; @@ -79172,11 +80012,13 @@ SQLITE_PRIVATE u32 sqlite3VdbeSerialType(Mem *pMem, int file_format, u32 *pLen){ *pLen = 0; return 0; } - if( flags&MEM_Int ){ + if( flags&(MEM_Int|MEM_IntReal) ){ /* Figure out whether to use 1, 2, 4, 6 or 8 bytes. */ # define MAX_6BYTE ((((i64)0x00008000)<<32)-1) i64 i = pMem->u.i; u64 u; + testcase( flags & MEM_Int ); + testcase( flags & MEM_IntReal ); if( i<0 ){ u = ~i; }else{ @@ -79196,6 +80038,15 @@ SQLITE_PRIVATE u32 sqlite3VdbeSerialType(Mem *pMem, int file_format, u32 *pLen){ if( u<=2147483647 ){ *pLen = 4; return 4; } if( u<=MAX_6BYTE ){ *pLen = 6; return 5; } *pLen = 8; + if( flags&MEM_IntReal ){ + /* If the value is IntReal and is going to take up 8 bytes to store + ** as an integer, then we might as well make it an 8-byte floating + ** point value */ + pMem->u.r = (double)pMem->u.i; + pMem->flags &= ~MEM_IntReal; + pMem->flags |= MEM_Real; + return 7; + } return 6; } if( flags&MEM_Real ){ @@ -79211,6 +80062,7 @@ SQLITE_PRIVATE u32 sqlite3VdbeSerialType(Mem *pMem, int file_format, u32 *pLen){ *pLen = n; return ((n*2) + 12 + ((flags&MEM_Str)!=0)); } +#endif /* inlined into OP_MakeRecord */ /* ** The sizes for serial types less than 128 @@ -79369,7 +80221,7 @@ SQLITE_PRIVATE u32 sqlite3VdbeSerialPut(u8 *buf, Mem *pMem, u32 serial_type){ ** routine so that in most cases the overhead of moving the stack pointer ** is avoided. */ -static u32 SQLITE_NOINLINE serialGet( +static u32 serialGet( const unsigned char *buf, /* Buffer to deserialize from */ u32 serial_type, /* Serial type to deserialize */ Mem *pMem /* Memory cell to write value into */ @@ -79401,7 +80253,7 @@ static u32 SQLITE_NOINLINE serialGet( assert( sizeof(x)==8 && sizeof(pMem->u.r)==8 ); swapMixedEndianFloat(x); memcpy(&pMem->u.r, &x, sizeof(x)); - pMem->flags = sqlite3IsNaN(pMem->u.r) ? MEM_Null : MEM_Real; + pMem->flags = IsNaN(x) ? MEM_Null : MEM_Real; } return 8; } @@ -79519,7 +80371,7 @@ SQLITE_PRIVATE UnpackedRecord *sqlite3VdbeAllocUnpackedRecord( p = (UnpackedRecord *)sqlite3DbMallocRaw(pKeyInfo->db, nByte); if( !p ) return 0; p->aMem = (Mem*)&((char*)p)[ROUND8(sizeof(UnpackedRecord))]; - assert( pKeyInfo->aSortOrder!=0 ); + assert( pKeyInfo->aSortFlags!=0 ); p->pKeyInfo = pKeyInfo; p->nField = pKeyInfo->nKeyField + 1; return p; @@ -79537,7 +80389,7 @@ SQLITE_PRIVATE void sqlite3VdbeRecordUnpack( UnpackedRecord *p /* Populate this structure before returning. */ ){ const unsigned char *aKey = (const unsigned char *)pKey; - int d; + u32 d; u32 idx; /* Offset in aKey[] to read from */ u16 u; /* Unsigned loop counter */ u32 szHdr; @@ -79548,7 +80400,7 @@ SQLITE_PRIVATE void sqlite3VdbeRecordUnpack( idx = getVarint32(aKey, szHdr); d = szHdr; u = 0; - while( idx=p->nField ) break; } + if( d>(u32)nKey && u ){ + assert( CORRUPT_DB ); + /* In a corrupt record entry, the last pMem might have been set up using + ** uninitialized memory. Overwrite its value with NULL, to prevent + ** warnings from MSAN. */ + sqlite3VdbeMemSetNull(pMem-1); + } assert( u<=pKeyInfo->nKeyField + 1 ); p->nField = u; } @@ -79611,7 +80470,7 @@ static int vdbeRecordCompareDebug( if( szHdr1>98307 ) return SQLITE_CORRUPT; d1 = szHdr1; assert( pKeyInfo->nAllField>=pPKey2->nField || CORRUPT_DB ); - assert( pKeyInfo->aSortOrder!=0 ); + assert( pKeyInfo->aSortFlags!=0 ); assert( pKeyInfo->nKeyField>0 ); assert( idx1<=szHdr1 || CORRUPT_DB ); do{ @@ -79626,8 +80485,8 @@ static int vdbeRecordCompareDebug( ** Use that approximation to avoid the more expensive call to ** sqlite3VdbeSerialTypeLen() in the common case. */ - if( d1+serial_type1+2>(u32)nKey1 - && d1+sqlite3VdbeSerialTypeLen(serial_type1)>(u32)nKey1 + if( d1+(u64)serial_type1+2>(u64)nKey1 + && d1+(u64)sqlite3VdbeSerialTypeLen(serial_type1)>(u64)nKey1 ){ break; } @@ -79638,10 +80497,16 @@ static int vdbeRecordCompareDebug( /* Do the comparison */ - rc = sqlite3MemCompare(&mem1, &pPKey2->aMem[i], pKeyInfo->aColl[i]); + rc = sqlite3MemCompare(&mem1, &pPKey2->aMem[i], + pKeyInfo->nAllField>i ? pKeyInfo->aColl[i] : 0); if( rc!=0 ){ assert( mem1.szMalloc==0 ); /* See comment below */ - if( pKeyInfo->aSortOrder[i] ){ + if( (pKeyInfo->aSortFlags[i] & KEYINFO_ORDER_BIGNULL) + && ((mem1.flags & MEM_Null) || (pPKey2->aMem[i].flags & MEM_Null)) + ){ + rc = -rc; + } + if( pKeyInfo->aSortFlags[i] & KEYINFO_ORDER_DESC ){ rc = -rc; /* Invert the result for DESC sort order. */ } goto debugCompareEnd; @@ -79843,8 +80708,13 @@ SQLITE_PRIVATE int sqlite3MemCompare(const Mem *pMem1, const Mem *pMem2, const C /* At least one of the two values is a number */ - if( combined_flags&(MEM_Int|MEM_Real) ){ - if( (f1 & f2 & MEM_Int)!=0 ){ + if( combined_flags&(MEM_Int|MEM_Real|MEM_IntReal) ){ + testcase( combined_flags & MEM_Int ); + testcase( combined_flags & MEM_Real ); + testcase( combined_flags & MEM_IntReal ); + if( (f1 & f2 & (MEM_Int|MEM_IntReal))!=0 ){ + testcase( f1 & f2 & MEM_Int ); + testcase( f1 & f2 & MEM_IntReal ); if( pMem1->u.i < pMem2->u.i ) return -1; if( pMem1->u.i > pMem2->u.i ) return +1; return 0; @@ -79854,15 +80724,23 @@ SQLITE_PRIVATE int sqlite3MemCompare(const Mem *pMem1, const Mem *pMem2, const C if( pMem1->u.r > pMem2->u.r ) return +1; return 0; } - if( (f1&MEM_Int)!=0 ){ + if( (f1&(MEM_Int|MEM_IntReal))!=0 ){ + testcase( f1 & MEM_Int ); + testcase( f1 & MEM_IntReal ); if( (f2&MEM_Real)!=0 ){ return sqlite3IntFloatCompare(pMem1->u.i, pMem2->u.r); + }else if( (f2&(MEM_Int|MEM_IntReal))!=0 ){ + if( pMem1->u.i < pMem2->u.i ) return -1; + if( pMem1->u.i > pMem2->u.i ) return +1; + return 0; }else{ return -1; } } if( (f1&MEM_Real)!=0 ){ - if( (f2&MEM_Int)!=0 ){ + if( (f2&(MEM_Int|MEM_IntReal))!=0 ){ + testcase( f2 & MEM_Int ); + testcase( f2 & MEM_IntReal ); return -sqlite3IntFloatCompare(pMem2->u.i, pMem1->u.r); }else{ return -1; @@ -79994,24 +80872,26 @@ SQLITE_PRIVATE int sqlite3VdbeRecordCompareWithSkip( }else{ idx1 = getVarint32(aKey1, szHdr1); d1 = szHdr1; - if( d1>(unsigned)nKey1 ){ - pPKey2->errCode = (u8)SQLITE_CORRUPT_BKPT; - return 0; /* Corruption */ - } i = 0; } + if( d1>(unsigned)nKey1 ){ + pPKey2->errCode = (u8)SQLITE_CORRUPT_BKPT; + return 0; /* Corruption */ + } VVA_ONLY( mem1.szMalloc = 0; ) /* Only needed by assert() statements */ assert( pPKey2->pKeyInfo->nAllField>=pPKey2->nField || CORRUPT_DB ); - assert( pPKey2->pKeyInfo->aSortOrder!=0 ); + assert( pPKey2->pKeyInfo->aSortFlags!=0 ); assert( pPKey2->pKeyInfo->nKeyField>0 ); assert( idx1<=szHdr1 || CORRUPT_DB ); do{ u32 serial_type; /* RHS is an integer */ - if( pRhs->flags & MEM_Int ){ + if( pRhs->flags & (MEM_Int|MEM_IntReal) ){ + testcase( pRhs->flags & MEM_Int ); + testcase( pRhs->flags & MEM_IntReal ); serial_type = aKey1[idx1]; testcase( serial_type==12 ); if( serial_type>=10 ){ @@ -80069,10 +80949,12 @@ SQLITE_PRIVATE int sqlite3VdbeRecordCompareWithSkip( mem1.n = (serial_type - 12) / 2; testcase( (d1+mem1.n)==(unsigned)nKey1 ); testcase( (d1+mem1.n+1)==(unsigned)nKey1 ); - if( (d1+mem1.n) > (unsigned)nKey1 ){ + if( (d1+mem1.n) > (unsigned)nKey1 + || (pKeyInfo = pPKey2->pKeyInfo)->nAllField<=i + ){ pPKey2->errCode = (u8)SQLITE_CORRUPT_BKPT; return 0; /* Corruption */ - }else if( (pKeyInfo = pPKey2->pKeyInfo)->aColl[i] ){ + }else if( pKeyInfo->aColl[i] ){ mem1.enc = pKeyInfo->enc; mem1.db = pKeyInfo->db; mem1.flags = MEM_Str; @@ -80123,8 +81005,14 @@ SQLITE_PRIVATE int sqlite3VdbeRecordCompareWithSkip( } if( rc!=0 ){ - if( pPKey2->pKeyInfo->aSortOrder[i] ){ - rc = -rc; + int sortFlags = pPKey2->pKeyInfo->aSortFlags[i]; + if( sortFlags ){ + if( (sortFlags & KEYINFO_ORDER_BIGNULL)==0 + || ((sortFlags & KEYINFO_ORDER_DESC) + !=(serial_type==0 || (pRhs->flags&MEM_Null))) + ){ + rc = -rc; + } } assert( vdbeRecordCompareDebug(nKey1, pKey1, pPKey2, rc) ); assert( mem1.szMalloc==0 ); /* See comment below */ @@ -80292,7 +81180,11 @@ static int vdbeRecordCompareString( nCmp = MIN( pPKey2->aMem[0].n, nStr ); res = memcmp(&aKey1[szHdr], pPKey2->aMem[0].z, nCmp); - if( res==0 ){ + if( res>0 ){ + res = pPKey2->r2; + }else if( res<0 ){ + res = pPKey2->r1; + }else{ res = nStr - pPKey2->aMem[0].n; if( res==0 ){ if( pPKey2->nField>1 ){ @@ -80306,10 +81198,6 @@ static int vdbeRecordCompareString( }else{ res = pPKey2->r1; } - }else if( res>0 ){ - res = pPKey2->r2; - }else{ - res = pPKey2->r1; } } @@ -80341,7 +81229,10 @@ SQLITE_PRIVATE RecordCompare sqlite3VdbeFindCompare(UnpackedRecord *p){ ** header size is (12*5 + 1 + 1) bytes. */ if( p->pKeyInfo->nAllField<=13 ){ int flags = p->aMem[0].flags; - if( p->pKeyInfo->aSortOrder[0] ){ + if( p->pKeyInfo->aSortFlags[0] ){ + if( p->pKeyInfo->aSortFlags[0] & KEYINFO_ORDER_BIGNULL ){ + return sqlite3VdbeRecordCompare; + } p->r1 = 1; p->r2 = -1; }else{ @@ -80354,7 +81245,9 @@ SQLITE_PRIVATE RecordCompare sqlite3VdbeFindCompare(UnpackedRecord *p){ testcase( flags & MEM_Real ); testcase( flags & MEM_Null ); testcase( flags & MEM_Blob ); - if( (flags & (MEM_Real|MEM_Null|MEM_Blob))==0 && p->pKeyInfo->aColl[0]==0 ){ + if( (flags & (MEM_Real|MEM_IntReal|MEM_Null|MEM_Blob))==0 + && p->pKeyInfo->aColl[0]==0 + ){ assert( flags & MEM_Str ); return vdbeRecordCompareString; } @@ -80588,7 +81481,7 @@ SQLITE_PRIVATE void sqlite3VdbeSetVarmask(Vdbe *v, int iVar){ ** features such as 'now'. */ SQLITE_PRIVATE int sqlite3NotPureFunc(sqlite3_context *pCtx){ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 if( pCtx->pVdbe==0 ) return 1; #endif if( pCtx->pVdbe->aOp[pCtx->iOp].opcode==OP_PureFunc ){ @@ -80685,7 +81578,7 @@ SQLITE_PRIVATE void sqlite3VdbePreUpdateHook( preupdate.keyinfo.db = db; preupdate.keyinfo.enc = ENC(db); preupdate.keyinfo.nKeyField = pTab->nCol; - preupdate.keyinfo.aSortOrder = (u8*)&fakeSortOrder; + preupdate.keyinfo.aSortFlags = (u8*)&fakeSortOrder; preupdate.iKey1 = iKey1; preupdate.iKey2 = iKey2; preupdate.pTab = pTab; @@ -80772,14 +81665,16 @@ static SQLITE_NOINLINE void invokeProfileCallback(sqlite3 *db, Vdbe *p){ sqlite3_int64 iNow; sqlite3_int64 iElapse; assert( p->startTime>0 ); - assert( db->xProfile!=0 || (db->mTrace & SQLITE_TRACE_PROFILE)!=0 ); + assert( (db->mTrace & (SQLITE_TRACE_PROFILE|SQLITE_TRACE_XPROFILE))!=0 ); assert( db->init.busy==0 ); assert( p->zSql!=0 ); sqlite3OsCurrentTimeInt64(db->pVfs, &iNow); iElapse = (iNow - p->startTime)*1000000; +#ifndef SQLITE_OMIT_DEPRECATED if( db->xProfile ){ db->xProfile(db->pProfileArg, p->zSql, iElapse); } +#endif if( db->mTrace & SQLITE_TRACE_PROFILE ){ db->xTrace(SQLITE_TRACE_PROFILE, db->pTraceArg, p, (void*)&iElapse); } @@ -80942,39 +81837,86 @@ SQLITE_API const void *sqlite3_value_text16le(sqlite3_value *pVal){ */ SQLITE_API int sqlite3_value_type(sqlite3_value* pVal){ static const u8 aType[] = { - SQLITE_BLOB, /* 0x00 */ - SQLITE_NULL, /* 0x01 */ - SQLITE_TEXT, /* 0x02 */ - SQLITE_NULL, /* 0x03 */ - SQLITE_INTEGER, /* 0x04 */ - SQLITE_NULL, /* 0x05 */ - SQLITE_INTEGER, /* 0x06 */ - SQLITE_NULL, /* 0x07 */ - SQLITE_FLOAT, /* 0x08 */ - SQLITE_NULL, /* 0x09 */ - SQLITE_FLOAT, /* 0x0a */ - SQLITE_NULL, /* 0x0b */ - SQLITE_INTEGER, /* 0x0c */ - SQLITE_NULL, /* 0x0d */ - SQLITE_INTEGER, /* 0x0e */ - SQLITE_NULL, /* 0x0f */ - SQLITE_BLOB, /* 0x10 */ - SQLITE_NULL, /* 0x11 */ - SQLITE_TEXT, /* 0x12 */ - SQLITE_NULL, /* 0x13 */ - SQLITE_INTEGER, /* 0x14 */ - SQLITE_NULL, /* 0x15 */ - SQLITE_INTEGER, /* 0x16 */ - SQLITE_NULL, /* 0x17 */ - SQLITE_FLOAT, /* 0x18 */ - SQLITE_NULL, /* 0x19 */ - SQLITE_FLOAT, /* 0x1a */ - SQLITE_NULL, /* 0x1b */ - SQLITE_INTEGER, /* 0x1c */ - SQLITE_NULL, /* 0x1d */ - SQLITE_INTEGER, /* 0x1e */ - SQLITE_NULL, /* 0x1f */ + SQLITE_BLOB, /* 0x00 (not possible) */ + SQLITE_NULL, /* 0x01 NULL */ + SQLITE_TEXT, /* 0x02 TEXT */ + SQLITE_NULL, /* 0x03 (not possible) */ + SQLITE_INTEGER, /* 0x04 INTEGER */ + SQLITE_NULL, /* 0x05 (not possible) */ + SQLITE_INTEGER, /* 0x06 INTEGER + TEXT */ + SQLITE_NULL, /* 0x07 (not possible) */ + SQLITE_FLOAT, /* 0x08 FLOAT */ + SQLITE_NULL, /* 0x09 (not possible) */ + SQLITE_FLOAT, /* 0x0a FLOAT + TEXT */ + SQLITE_NULL, /* 0x0b (not possible) */ + SQLITE_INTEGER, /* 0x0c (not possible) */ + SQLITE_NULL, /* 0x0d (not possible) */ + SQLITE_INTEGER, /* 0x0e (not possible) */ + SQLITE_NULL, /* 0x0f (not possible) */ + SQLITE_BLOB, /* 0x10 BLOB */ + SQLITE_NULL, /* 0x11 (not possible) */ + SQLITE_TEXT, /* 0x12 (not possible) */ + SQLITE_NULL, /* 0x13 (not possible) */ + SQLITE_INTEGER, /* 0x14 INTEGER + BLOB */ + SQLITE_NULL, /* 0x15 (not possible) */ + SQLITE_INTEGER, /* 0x16 (not possible) */ + SQLITE_NULL, /* 0x17 (not possible) */ + SQLITE_FLOAT, /* 0x18 FLOAT + BLOB */ + SQLITE_NULL, /* 0x19 (not possible) */ + SQLITE_FLOAT, /* 0x1a (not possible) */ + SQLITE_NULL, /* 0x1b (not possible) */ + SQLITE_INTEGER, /* 0x1c (not possible) */ + SQLITE_NULL, /* 0x1d (not possible) */ + SQLITE_INTEGER, /* 0x1e (not possible) */ + SQLITE_NULL, /* 0x1f (not possible) */ + SQLITE_FLOAT, /* 0x20 INTREAL */ + SQLITE_NULL, /* 0x21 (not possible) */ + SQLITE_TEXT, /* 0x22 INTREAL + TEXT */ + SQLITE_NULL, /* 0x23 (not possible) */ + SQLITE_FLOAT, /* 0x24 (not possible) */ + SQLITE_NULL, /* 0x25 (not possible) */ + SQLITE_FLOAT, /* 0x26 (not possible) */ + SQLITE_NULL, /* 0x27 (not possible) */ + SQLITE_FLOAT, /* 0x28 (not possible) */ + SQLITE_NULL, /* 0x29 (not possible) */ + SQLITE_FLOAT, /* 0x2a (not possible) */ + SQLITE_NULL, /* 0x2b (not possible) */ + SQLITE_FLOAT, /* 0x2c (not possible) */ + SQLITE_NULL, /* 0x2d (not possible) */ + SQLITE_FLOAT, /* 0x2e (not possible) */ + SQLITE_NULL, /* 0x2f (not possible) */ + SQLITE_BLOB, /* 0x30 (not possible) */ + SQLITE_NULL, /* 0x31 (not possible) */ + SQLITE_TEXT, /* 0x32 (not possible) */ + SQLITE_NULL, /* 0x33 (not possible) */ + SQLITE_FLOAT, /* 0x34 (not possible) */ + SQLITE_NULL, /* 0x35 (not possible) */ + SQLITE_FLOAT, /* 0x36 (not possible) */ + SQLITE_NULL, /* 0x37 (not possible) */ + SQLITE_FLOAT, /* 0x38 (not possible) */ + SQLITE_NULL, /* 0x39 (not possible) */ + SQLITE_FLOAT, /* 0x3a (not possible) */ + SQLITE_NULL, /* 0x3b (not possible) */ + SQLITE_FLOAT, /* 0x3c (not possible) */ + SQLITE_NULL, /* 0x3d (not possible) */ + SQLITE_FLOAT, /* 0x3e (not possible) */ + SQLITE_NULL, /* 0x3f (not possible) */ }; +#ifdef SQLITE_DEBUG + { + int eType = SQLITE_BLOB; + if( pVal->flags & MEM_Null ){ + eType = SQLITE_NULL; + }else if( pVal->flags & (MEM_Real|MEM_IntReal) ){ + eType = SQLITE_FLOAT; + }else if( pVal->flags & MEM_Int ){ + eType = SQLITE_INTEGER; + }else if( pVal->flags & MEM_Str ){ + eType = SQLITE_TEXT; + } + assert( eType == aType[pVal->flags&MEM_AffMask] ); + } +#endif return aType[pVal->flags&MEM_AffMask]; } @@ -80983,6 +81925,11 @@ SQLITE_API int sqlite3_value_nochange(sqlite3_value *pVal){ return (pVal->flags&(MEM_Null|MEM_Zero))==(MEM_Null|MEM_Zero); } +/* Return true if a parameter value originated from an sqlite3_bind() */ +SQLITE_API int sqlite3_value_frombind(sqlite3_value *pVal){ + return (pVal->flags&MEM_FromBind)!=0; +} + /* Make a copy of an sqlite3_value object */ SQLITE_API sqlite3_value *sqlite3_value_dup(const sqlite3_value *pOrig){ @@ -81219,6 +82166,21 @@ SQLITE_API void sqlite3_result_error_nomem(sqlite3_context *pCtx){ sqlite3OomFault(pCtx->pOut->db); } +#ifndef SQLITE_UNTESTABLE +/* Force the INT64 value currently stored as the result to be +** a MEM_IntReal value. See the SQLITE_TESTCTRL_RESULT_INTREAL +** test-control. +*/ +SQLITE_PRIVATE void sqlite3ResultIntReal(sqlite3_context *pCtx){ + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); + if( pCtx->pOut->flags & MEM_Int ){ + pCtx->pOut->flags &= ~MEM_Int; + pCtx->pOut->flags |= MEM_IntReal; + } +} +#endif + + /* ** This function is called after a transaction has been committed. It ** invokes callbacks registered with sqlite3_wal_hook() as required. @@ -81293,7 +82255,7 @@ static int sqlite3Step(Vdbe *p){ return SQLITE_NOMEM_BKPT; } - if( p->pc<=0 && p->expired ){ + if( p->pc<0 && p->expired ){ p->rc = SQLITE_SCHEMA; rc = SQLITE_ERROR; goto end_of_step; @@ -81312,7 +82274,7 @@ static int sqlite3Step(Vdbe *p){ ); #ifndef SQLITE_OMIT_TRACE - if( (db->xProfile || (db->mTrace & SQLITE_TRACE_PROFILE)!=0) + if( (db->mTrace & (SQLITE_TRACE_PROFILE|SQLITE_TRACE_XPROFILE))!=0 && !db->init.busy && p->zSql ){ sqlite3OsCurrentTimeInt64(db->pVfs, &p->startTime); }else{ @@ -81339,16 +82301,18 @@ static int sqlite3Step(Vdbe *p){ db->nVdbeExec--; } + if( rc!=SQLITE_ROW ){ #ifndef SQLITE_OMIT_TRACE - /* If the statement completed successfully, invoke the profile callback */ - if( rc!=SQLITE_ROW ) checkProfileCallback(db, p); + /* If the statement completed successfully, invoke the profile callback */ + checkProfileCallback(db, p); #endif - if( rc==SQLITE_DONE && db->autoCommit ){ - assert( p->rc==SQLITE_OK ); - p->rc = doWalCallbacks(db); - if( p->rc!=SQLITE_OK ){ - rc = SQLITE_ERROR; + if( rc==SQLITE_DONE && db->autoCommit ){ + assert( p->rc==SQLITE_OK ); + p->rc = doWalCallbacks(db); + if( p->rc!=SQLITE_OK ){ + rc = SQLITE_ERROR; + } } } @@ -81368,9 +82332,9 @@ static int sqlite3Step(Vdbe *p){ || (rc&0xff)==SQLITE_BUSY || rc==SQLITE_MISUSE ); assert( (p->rc!=SQLITE_ROW && p->rc!=SQLITE_DONE) || p->rc==p->rcApp ); - if( (p->prepFlags & SQLITE_PREPARE_SAVESQL)!=0 - && rc!=SQLITE_ROW - && rc!=SQLITE_DONE + if( rc!=SQLITE_ROW + && rc!=SQLITE_DONE + && (p->prepFlags & SQLITE_PREPARE_SAVESQL)!=0 ){ /* If this statement was prepared using saved SQL and an ** error has occurred, then return the error code in p->rc to the @@ -81483,7 +82447,7 @@ SQLITE_API int sqlite3_vtab_nochange(sqlite3_context *p){ */ SQLITE_PRIVATE sqlite3_int64 sqlite3StmtCurrentTime(sqlite3_context *p){ int rc; -#ifndef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifndef SQLITE_ENABLE_STAT4 sqlite3_int64 *piTime = &p->pVdbe->iCurrentTime; assert( p->pVdbe!=0 ); #else @@ -81548,7 +82512,7 @@ SQLITE_API void *sqlite3_get_auxdata(sqlite3_context *pCtx, int iArg){ AuxData *pAuxData; assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); -#if SQLITE_ENABLE_STAT3_OR_STAT4 +#if SQLITE_ENABLE_STAT4 if( pCtx->pVdbe==0 ) return 0; #else assert( pCtx->pVdbe!=0 ); @@ -81582,7 +82546,7 @@ SQLITE_API void sqlite3_set_auxdata( Vdbe *pVdbe = pCtx->pVdbe; assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 if( pVdbe==0 ) goto failed; #else assert( pVdbe!=0 ); @@ -81826,10 +82790,10 @@ SQLITE_API int sqlite3_column_type(sqlite3_stmt *pStmt, int i){ ** or a constant) then useTypes 2, 3, and 4 return NULL. */ static const void *columnName( - sqlite3_stmt *pStmt, - int N, - const void *(*xFunc)(Mem*), - int useType + sqlite3_stmt *pStmt, /* The statement */ + int N, /* Which column to get the name for */ + int useUtf16, /* True to return the name as UTF16 */ + int useType /* What type of name */ ){ const void *ret; Vdbe *p; @@ -81850,8 +82814,15 @@ static const void *columnName( N += useType*n; sqlite3_mutex_enter(db->mutex); assert( db->mallocFailed==0 ); - ret = xFunc(&p->aColName[N]); - /* A malloc may have failed inside of the xFunc() call. If this +#ifndef SQLITE_OMIT_UTF16 + if( useUtf16 ){ + ret = sqlite3_value_text16((sqlite3_value*)&p->aColName[N]); + }else +#endif + { + ret = sqlite3_value_text((sqlite3_value*)&p->aColName[N]); + } + /* A malloc may have failed inside of the _text() call. If this ** is the case, clear the mallocFailed flag and return NULL. */ if( db->mallocFailed ){ @@ -81868,13 +82839,11 @@ static const void *columnName( ** statement pStmt. */ SQLITE_API const char *sqlite3_column_name(sqlite3_stmt *pStmt, int N){ - return columnName( - pStmt, N, (const void*(*)(Mem*))sqlite3_value_text, COLNAME_NAME); + return columnName(pStmt, N, 0, COLNAME_NAME); } #ifndef SQLITE_OMIT_UTF16 SQLITE_API const void *sqlite3_column_name16(sqlite3_stmt *pStmt, int N){ - return columnName( - pStmt, N, (const void*(*)(Mem*))sqlite3_value_text16, COLNAME_NAME); + return columnName(pStmt, N, 1, COLNAME_NAME); } #endif @@ -81893,13 +82862,11 @@ SQLITE_API const void *sqlite3_column_name16(sqlite3_stmt *pStmt, int N){ ** of the result set of SQL statement pStmt. */ SQLITE_API const char *sqlite3_column_decltype(sqlite3_stmt *pStmt, int N){ - return columnName( - pStmt, N, (const void*(*)(Mem*))sqlite3_value_text, COLNAME_DECLTYPE); + return columnName(pStmt, N, 0, COLNAME_DECLTYPE); } #ifndef SQLITE_OMIT_UTF16 SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt *pStmt, int N){ - return columnName( - pStmt, N, (const void*(*)(Mem*))sqlite3_value_text16, COLNAME_DECLTYPE); + return columnName(pStmt, N, 1, COLNAME_DECLTYPE); } #endif /* SQLITE_OMIT_UTF16 */ #endif /* SQLITE_OMIT_DECLTYPE */ @@ -81911,13 +82878,11 @@ SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt *pStmt, int N){ ** anything else which is not an unambiguous reference to a database column. */ SQLITE_API const char *sqlite3_column_database_name(sqlite3_stmt *pStmt, int N){ - return columnName( - pStmt, N, (const void*(*)(Mem*))sqlite3_value_text, COLNAME_DATABASE); + return columnName(pStmt, N, 0, COLNAME_DATABASE); } #ifndef SQLITE_OMIT_UTF16 SQLITE_API const void *sqlite3_column_database_name16(sqlite3_stmt *pStmt, int N){ - return columnName( - pStmt, N, (const void*(*)(Mem*))sqlite3_value_text16, COLNAME_DATABASE); + return columnName(pStmt, N, 1, COLNAME_DATABASE); } #endif /* SQLITE_OMIT_UTF16 */ @@ -81927,13 +82892,11 @@ SQLITE_API const void *sqlite3_column_database_name16(sqlite3_stmt *pStmt, int N ** anything else which is not an unambiguous reference to a database column. */ SQLITE_API const char *sqlite3_column_table_name(sqlite3_stmt *pStmt, int N){ - return columnName( - pStmt, N, (const void*(*)(Mem*))sqlite3_value_text, COLNAME_TABLE); + return columnName(pStmt, N, 0, COLNAME_TABLE); } #ifndef SQLITE_OMIT_UTF16 SQLITE_API const void *sqlite3_column_table_name16(sqlite3_stmt *pStmt, int N){ - return columnName( - pStmt, N, (const void*(*)(Mem*))sqlite3_value_text16, COLNAME_TABLE); + return columnName(pStmt, N, 1, COLNAME_TABLE); } #endif /* SQLITE_OMIT_UTF16 */ @@ -81943,13 +82906,11 @@ SQLITE_API const void *sqlite3_column_table_name16(sqlite3_stmt *pStmt, int N){ ** anything else which is not an unambiguous reference to a database column. */ SQLITE_API const char *sqlite3_column_origin_name(sqlite3_stmt *pStmt, int N){ - return columnName( - pStmt, N, (const void*(*)(Mem*))sqlite3_value_text, COLNAME_COLUMN); + return columnName(pStmt, N, 0, COLNAME_COLUMN); } #ifndef SQLITE_OMIT_UTF16 SQLITE_API const void *sqlite3_column_origin_name16(sqlite3_stmt *pStmt, int N){ - return columnName( - pStmt, N, (const void*(*)(Mem*))sqlite3_value_text16, COLNAME_COLUMN); + return columnName(pStmt, N, 1, COLNAME_COLUMN); } #endif /* SQLITE_OMIT_UTF16 */ #endif /* SQLITE_ENABLE_COLUMN_METADATA */ @@ -81992,7 +82953,7 @@ static int vdbeUnbind(Vdbe *p, int i){ pVar = &p->aVar[i]; sqlite3VdbeMemRelease(pVar); pVar->flags = MEM_Null; - sqlite3Error(p->db, SQLITE_OK); + p->db->errCode = SQLITE_OK; /* If the bit corresponding to this variable in Vdbe.expmask is set, then ** binding a new value to this variable invalidates the current query plan. @@ -82317,6 +83278,14 @@ SQLITE_API int sqlite3_stmt_readonly(sqlite3_stmt *pStmt){ return pStmt ? ((Vdbe*)pStmt)->readOnly : 1; } +/* +** Return 1 if the statement is an EXPLAIN and return 2 if the +** statement is an EXPLAIN QUERY PLAN +*/ +SQLITE_API int sqlite3_stmt_isexplain(sqlite3_stmt *pStmt){ + return pStmt ? ((Vdbe*)pStmt)->explain : 0; +} + /* ** Return true if the prepared statement is in need of being reset. */ @@ -82418,7 +83387,13 @@ SQLITE_API char *sqlite3_expanded_sql(sqlite3_stmt *pStmt){ */ SQLITE_API const char *sqlite3_normalized_sql(sqlite3_stmt *pStmt){ Vdbe *p = (Vdbe *)pStmt; - return p ? p->zNormSql : 0; + if( p==0 ) return 0; + if( p->zNormSql==0 && ALWAYS(p->zSql!=0) ){ + sqlite3_mutex_enter(p->db->mutex); + p->zNormSql = sqlite3Normalize(p, p->zSql); + sqlite3_mutex_leave(p->db->mutex); + } + return p->zNormSql; } #endif /* SQLITE_ENABLE_NORMALIZE */ @@ -82492,7 +83467,9 @@ SQLITE_API int sqlite3_preupdate_old(sqlite3 *db, int iIdx, sqlite3_value **ppVa }else if( iIdx>=p->pUnpacked->nField ){ *ppValue = (sqlite3_value *)columnNullValue(); }else if( p->pTab->aCol[iIdx].affinity==SQLITE_AFF_REAL ){ - if( pMem->flags & MEM_Int ){ + if( pMem->flags & (MEM_Int|MEM_IntReal) ){ + testcase( pMem->flags & MEM_Int ); + testcase( pMem->flags & MEM_IntReal ); sqlite3VdbeMemRealify(pMem); } } @@ -82811,7 +83788,7 @@ SQLITE_PRIVATE char *sqlite3VdbeExpandSql( pVar = &p->aVar[idx-1]; if( pVar->flags & MEM_Null ){ sqlite3_str_append(&out, "NULL", 4); - }else if( pVar->flags & MEM_Int ){ + }else if( pVar->flags & (MEM_Int|MEM_IntReal) ){ sqlite3_str_appendf(&out, "%lld", pVar->u.i); }else if( pVar->flags & MEM_Real ){ sqlite3_str_appendf(&out, "%!.15g", pVar->u.r); @@ -83000,12 +83977,20 @@ SQLITE_API int sqlite3_found_count = 0; ** feature is used for test suite validation only and does not appear an ** production builds. ** -** M is an integer between 2 and 4. 2 indicates a ordinary two-way -** branch (I=0 means fall through and I=1 means taken). 3 indicates -** a 3-way branch where the third way is when one of the operands is -** NULL. 4 indicates the OP_Jump instruction which has three destinations -** depending on whether the first operand is less than, equal to, or greater -** than the second. +** M is the type of branch. I is the direction taken for this instance of +** the branch. +** +** M: 2 - two-way branch (I=0: fall-thru 1: jump ) +** 3 - two-way + NULL (I=0: fall-thru 1: jump 2: NULL ) +** 4 - OP_Jump (I=0: jump p1 1: jump p2 2: jump p3) +** +** In other words, if M is 2, then I is either 0 (for fall-through) or +** 1 (for when the branch is taken). If M is 3, the I is 0 for an +** ordinary fall-through, I is 1 if the branch was taken, and I is 2 +** if the result of comparison is NULL. For M=3, I=2 the jump may or +** may not be taken, depending on the SQLITE_JUMPIFNULL flags in p5. +** When M is 4, that means that an OP_Jump is being run. I is 0, 1, or 2 +** depending on if the operands are less than, equal, or greater than. ** ** iSrcLine is the source code line (from the __LINE__ macro) that ** generated the VDBE instruction combined with flag bits. The source @@ -83016,9 +84001,9 @@ SQLITE_API int sqlite3_found_count = 0; ** alternate branch are never taken. If a branch is never taken then ** flags should be 0x06 since only the fall-through approach is allowed. ** -** Bit 0x04 of the flags indicates an OP_Jump opcode that is only +** Bit 0x08 of the flags indicates an OP_Jump opcode that is only ** interested in equal or not-equal. In other words, I==0 and I==2 -** should be treated the same. +** should be treated as equivalent ** ** Since only a line number is retained, not the filename, this macro ** only works for amalgamation builds. But that is ok, since these macros @@ -83042,6 +84027,18 @@ SQLITE_API int sqlite3_found_count = 0; mNever = iSrcLine >> 24; assert( (I & mNever)==0 ); if( sqlite3GlobalConfig.xVdbeBranch==0 ) return; /*NO_TEST*/ + /* Invoke the branch coverage callback with three arguments: + ** iSrcLine - the line number of the VdbeCoverage() macro, with + ** flags removed. + ** I - Mask of bits 0x07 indicating which cases are are + ** fulfilled by this instance of the jump. 0x01 means + ** fall-thru, 0x02 means taken, 0x04 means NULL. Any + ** impossible cases (ex: if the comparison is never NULL) + ** are filled in automatically so that the coverage + ** measurement logic does not flag those impossible cases + ** as missed coverage. + ** M - Type of jump. Same as M argument above + */ I |= mNever; if( M==2 ) I |= 0x04; if( M==4 ){ @@ -83053,14 +84050,6 @@ SQLITE_API int sqlite3_found_count = 0; } #endif -/* -** Convert the given register into a string if it isn't one -** already. Return non-zero if a malloc() fails. -*/ -#define Stringify(P, enc) \ - if(((P)->flags&(MEM_Str|MEM_Blob))==0 && sqlite3VdbeMemStringify(P,enc,0)) \ - { goto no_mem; } - /* ** An ephemeral string value (signified by the MEM_Ephem flag) contains ** a pointer to a dynamically allocated string where some other entity @@ -83118,6 +84107,11 @@ static VdbeCursor *allocateCursor( assert( iCur>=0 && iCurnCursor ); if( p->apCsr[iCur] ){ /*OPTIMIZATION-IF-FALSE*/ + /* Before calling sqlite3VdbeFreeCursor(), ensure the isEphemeral flag + ** is clear. Otherwise, if this is an ephemeral cursor created by + ** OP_OpenDup, the cursor will not be closed and will still be part + ** of a BtShared.pCursor list. */ + if( p->apCsr[iCur]->pBtx==0 ) p->apCsr[iCur]->isEphemeral = 0; sqlite3VdbeFreeCursor(p, p->apCsr[iCur]); p->apCsr[iCur] = 0; } @@ -83137,6 +84131,21 @@ static VdbeCursor *allocateCursor( return pCx; } +/* +** The string in pRec is known to look like an integer and to have a +** floating point value of rValue. Return true and set *piValue to the +** integer value if the string is in range to be an integer. Otherwise, +** return false. +*/ +static int alsoAnInt(Mem *pRec, double rValue, i64 *piValue){ + i64 iValue = (double)rValue; + if( sqlite3RealSameAsInt(rValue,iValue) ){ + *piValue = iValue; + return 1; + } + return 0==sqlite3Atoi64(pRec->z, piValue, pRec->n, pRec->enc); +} + /* ** Try to convert a value into a numeric representation if we can ** do so without loss of information. In other words, if the string @@ -83154,12 +84163,12 @@ static VdbeCursor *allocateCursor( */ static void applyNumericAffinity(Mem *pRec, int bTryForInt){ double rValue; - i64 iValue; u8 enc = pRec->enc; - assert( (pRec->flags & (MEM_Str|MEM_Int|MEM_Real))==MEM_Str ); - if( sqlite3AtoF(pRec->z, &rValue, pRec->n, enc)==0 ) return; - if( 0==sqlite3Atoi64(pRec->z, &iValue, pRec->n, enc) ){ - pRec->u.i = iValue; + int rc; + assert( (pRec->flags & (MEM_Str|MEM_Int|MEM_Real|MEM_IntReal))==MEM_Str ); + rc = sqlite3AtoF(pRec->z, &rValue, pRec->n, enc); + if( rc<=0 ) return; + if( rc==1 && alsoAnInt(pRec, rValue, &pRec->u.i) ){ pRec->flags |= MEM_Int; }else{ pRec->u.r = rValue; @@ -83189,6 +84198,7 @@ static void applyNumericAffinity(Mem *pRec, int bTryForInt){ ** Convert pRec to a text representation. ** ** SQLITE_AFF_BLOB: +** SQLITE_AFF_NONE: ** No-op. pRec is unchanged. */ static void applyAffinity( @@ -83213,11 +84223,14 @@ static void applyAffinity( ** there is already a string rep, but it is pointless to waste those ** CPU cycles. */ if( 0==(pRec->flags&MEM_Str) ){ /*OPTIMIZATION-IF-FALSE*/ - if( (pRec->flags&(MEM_Real|MEM_Int)) ){ + if( (pRec->flags&(MEM_Real|MEM_Int|MEM_IntReal)) ){ + testcase( pRec->flags & MEM_Int ); + testcase( pRec->flags & MEM_Real ); + testcase( pRec->flags & MEM_IntReal ); sqlite3VdbeMemStringify(pRec, enc, 1); } } - pRec->flags &= ~(MEM_Real|MEM_Int); + pRec->flags &= ~(MEM_Real|MEM_Int|MEM_IntReal); } } @@ -83256,12 +84269,21 @@ SQLITE_PRIVATE void sqlite3ValueApplyAffinity( ** accordingly. */ static u16 SQLITE_NOINLINE computeNumericType(Mem *pMem){ - assert( (pMem->flags & (MEM_Int|MEM_Real))==0 ); + int rc; + sqlite3_int64 ix; + assert( (pMem->flags & (MEM_Int|MEM_Real|MEM_IntReal))==0 ); assert( (pMem->flags & (MEM_Str|MEM_Blob))!=0 ); - if( sqlite3AtoF(pMem->z, &pMem->u.r, pMem->n, pMem->enc)==0 ){ - return 0; - } - if( sqlite3Atoi64(pMem->z, &pMem->u.i, pMem->n, pMem->enc)==0 ){ + ExpandBlob(pMem); + rc = sqlite3AtoF(pMem->z, &pMem->u.r, pMem->n, pMem->enc); + if( rc<=0 ){ + if( rc==0 && sqlite3Atoi64(pMem->z, &ix, pMem->n, pMem->enc)<=1 ){ + pMem->u.i = ix; + return MEM_Int; + }else{ + return MEM_Real; + } + }else if( rc==1 && sqlite3Atoi64(pMem->z, &ix, pMem->n, pMem->enc)==0 ){ + pMem->u.i = ix; return MEM_Int; } return MEM_Real; @@ -83275,10 +84297,15 @@ static u16 SQLITE_NOINLINE computeNumericType(Mem *pMem){ ** But it does set pMem->u.r and pMem->u.i appropriately. */ static u16 numericType(Mem *pMem){ - if( pMem->flags & (MEM_Int|MEM_Real) ){ - return pMem->flags & (MEM_Int|MEM_Real); + if( pMem->flags & (MEM_Int|MEM_Real|MEM_IntReal) ){ + testcase( pMem->flags & MEM_Int ); + testcase( pMem->flags & MEM_Real ); + testcase( pMem->flags & MEM_IntReal ); + return pMem->flags & (MEM_Int|MEM_Real|MEM_IntReal); } if( pMem->flags & (MEM_Str|MEM_Blob) ){ + testcase( pMem->flags & MEM_Str ); + testcase( pMem->flags & MEM_Blob ); return computeNumericType(pMem); } return 0; @@ -83311,13 +84338,15 @@ SQLITE_PRIVATE void sqlite3VdbeMemPrettyPrint(Mem *pMem, char *zBuf){ c = 's'; } *(zCsr++) = c; + *(zCsr++) = 'x'; sqlite3_snprintf(100, zCsr, "%d[", pMem->n); zCsr += sqlite3Strlen30(zCsr); - for(i=0; i<16 && in; i++){ + for(i=0; i<25 && in; i++){ sqlite3_snprintf(100, zCsr, "%02X", ((int)pMem->z[i] & 0xFF)); zCsr += sqlite3Strlen30(zCsr); } - for(i=0; i<16 && in; i++){ + *zCsr++ = '|'; + for(i=0; i<25 && in; i++){ char z = pMem->z[i]; if( z<32 || z>126 ) *zCsr++ = '.'; else *zCsr++ = z; @@ -83347,7 +84376,7 @@ SQLITE_PRIVATE void sqlite3VdbeMemPrettyPrint(Mem *pMem, char *zBuf){ sqlite3_snprintf(100, &zBuf[k], "%d", pMem->n); k += sqlite3Strlen30(&zBuf[k]); zBuf[k++] = '['; - for(j=0; j<15 && jn; j++){ + for(j=0; j<25 && jn; j++){ u8 c = pMem->z[j]; if( c>=0x20 && c<0x7f ){ zBuf[k++] = c; @@ -83374,11 +84403,13 @@ static void memTracePrint(Mem *p){ printf(p->flags & MEM_Zero ? " NULL-nochng" : " NULL"); }else if( (p->flags & (MEM_Int|MEM_Str))==(MEM_Int|MEM_Str) ){ printf(" si:%lld", p->u.i); + }else if( (p->flags & (MEM_IntReal))!=0 ){ + printf(" ir:%lld", p->u.i); }else if( p->flags & MEM_Int ){ printf(" i:%lld", p->u.i); #ifndef SQLITE_OMIT_FLOATING_POINT }else if( p->flags & MEM_Real ){ - printf(" r:%g", p->u.r); + printf(" r:%.17g", p->u.r); #endif }else if( sqlite3VdbeMemIsRowSet(p) ){ printf(" (rowset)"); @@ -83583,6 +84614,15 @@ SQLITE_PRIVATE int sqlite3VdbeExec( assert( p->magic==VDBE_MAGIC_RUN ); /* sqlite3_step() verifies this */ sqlite3VdbeEnter(p); +#ifndef SQLITE_OMIT_PROGRESS_CALLBACK + if( db->xProgress ){ + u32 iPrior = p->aCounter[SQLITE_STMTSTATUS_VM_STEP]; + assert( 0 < db->nProgressOps ); + nProgressLimit = db->nProgressOps - (iPrior % db->nProgressOps); + }else{ + nProgressLimit = 0xffffffff; + } +#endif if( p->rc==SQLITE_NOMEM ){ /* This happens if a malloc() inside a call to sqlite3_column_text() or ** sqlite3_column_text16() failed. */ @@ -83596,15 +84636,6 @@ SQLITE_PRIVATE int sqlite3VdbeExec( db->busyHandler.nBusy = 0; if( db->u1.isInterrupted ) goto abort_due_to_interrupt; sqlite3VdbeIOTraceSql(p); -#ifndef SQLITE_OMIT_PROGRESS_CALLBACK - if( db->xProgress ){ - u32 iPrior = p->aCounter[SQLITE_STMTSTATUS_VM_STEP]; - assert( 0 < db->nProgressOps ); - nProgressLimit = db->nProgressOps - (iPrior % db->nProgressOps); - }else{ - nProgressLimit = 0xffffffff; - } -#endif #ifdef SQLITE_DEBUG sqlite3BeginBenignMalloc(); if( p->pc==0 @@ -83780,10 +84811,11 @@ case OP_Goto: { /* jump */ ** If the progress callback returns non-zero, exit the virtual machine with ** a return code SQLITE_ABORT. */ - if( nVmStep>=nProgressLimit && db->xProgress!=0 ){ + while( nVmStep>=nProgressLimit && db->xProgress!=0 ){ assert( db->nProgressOps!=0 ); - nProgressLimit = nVmStep + db->nProgressOps - (nVmStep%db->nProgressOps); + nProgressLimit += db->nProgressOps; if( db->xProgress(db->pProgressArg) ){ + nProgressLimit = 0xffffffff; rc = SQLITE_INTERRUPT; goto abort_due_to_error; } @@ -84055,13 +85087,13 @@ case OP_Real: { /* same as TK_FLOAT, out2 */ case OP_String8: { /* same as TK_STRING, out2 */ assert( pOp->p4.z!=0 ); pOut = out2Prerelease(p, pOp); - pOp->opcode = OP_String; pOp->p1 = sqlite3Strlen30(pOp->p4.z); #ifndef SQLITE_OMIT_UTF16 if( encoding!=SQLITE_UTF8 ){ rc = sqlite3VdbeMemSetStr(pOut, pOp->p4.z, -1, SQLITE_UTF8, SQLITE_STATIC); assert( rc==SQLITE_OK || rc==SQLITE_TOOBIG ); + if( rc ) goto too_big; if( SQLITE_OK!=sqlite3VdbeChangeEncoding(pOut, encoding) ) goto no_mem; assert( pOut->szMalloc>0 && pOut->zMalloc==pOut->z ); assert( VdbeMemDynamic(pOut)==0 ); @@ -84074,11 +85106,11 @@ case OP_String8: { /* same as TK_STRING, out2 */ pOp->p4.z = pOut->z; pOp->p1 = pOut->n; } - testcase( rc==SQLITE_TOOBIG ); #endif if( pOp->p1>db->aLimit[SQLITE_LIMIT_LENGTH] ){ goto too_big; } + pOp->opcode = OP_String; assert( rc==SQLITE_OK ); /* Fall through to the next case, OP_String */ } @@ -84196,7 +85228,10 @@ case OP_Variable: { /* out2 */ goto too_big; } pOut = &aMem[pOp->p2]; - sqlite3VdbeMemShallowCopy(pOut, pVar, MEM_Static); + if( VdbeMemDynamic(pOut) ) sqlite3VdbeMemSetNull(pOut); + memcpy(pOut, pVar, MEMCELLSIZE); + pOut->flags &= ~(MEM_Dyn|MEM_Ephem); + pOut->flags |= MEM_Static|MEM_FromBind; UPDATE_MAX_BLOBSIZE(pOut); break; } @@ -84329,18 +85364,6 @@ case OP_ResultRow: { assert( pOp->p1>0 ); assert( pOp->p1+pOp->p2<=(p->nMem+1 - p->nCursor)+1 ); -#ifndef SQLITE_OMIT_PROGRESS_CALLBACK - /* Run the progress counter just before returning. - */ - if( db->xProgress!=0 - && nVmStep>=nProgressLimit - && db->xProgress(db->pProgressArg)!=0 - ){ - rc = SQLITE_INTERRUPT; - goto abort_due_to_error; - } -#endif - /* If this statement has violated immediate foreign key constraints, do ** not return the number of rows modified. And do not RELEASE the statement ** transaction. It needs to be rolled back. */ @@ -84412,33 +85435,57 @@ case OP_ResultRow: { ** to avoid a memcpy(). */ case OP_Concat: { /* same as TK_CONCAT, in1, in2, out3 */ - i64 nByte; + i64 nByte; /* Total size of the output string or blob */ + u16 flags1; /* Initial flags for P1 */ + u16 flags2; /* Initial flags for P2 */ pIn1 = &aMem[pOp->p1]; pIn2 = &aMem[pOp->p2]; pOut = &aMem[pOp->p3]; + testcase( pIn1==pIn2 ); + testcase( pOut==pIn2 ); assert( pIn1!=pOut ); - if( (pIn1->flags | pIn2->flags) & MEM_Null ){ + flags1 = pIn1->flags; + testcase( flags1 & MEM_Null ); + testcase( pIn2->flags & MEM_Null ); + if( (flags1 | pIn2->flags) & MEM_Null ){ sqlite3VdbeMemSetNull(pOut); break; } - if( ExpandBlob(pIn1) || ExpandBlob(pIn2) ) goto no_mem; - Stringify(pIn1, encoding); - Stringify(pIn2, encoding); + if( (flags1 & (MEM_Str|MEM_Blob))==0 ){ + if( sqlite3VdbeMemStringify(pIn1,encoding,0) ) goto no_mem; + flags1 = pIn1->flags & ~MEM_Str; + }else if( (flags1 & MEM_Zero)!=0 ){ + if( sqlite3VdbeMemExpandBlob(pIn1) ) goto no_mem; + flags1 = pIn1->flags & ~MEM_Str; + } + flags2 = pIn2->flags; + if( (flags2 & (MEM_Str|MEM_Blob))==0 ){ + if( sqlite3VdbeMemStringify(pIn2,encoding,0) ) goto no_mem; + flags2 = pIn2->flags & ~MEM_Str; + }else if( (flags2 & MEM_Zero)!=0 ){ + if( sqlite3VdbeMemExpandBlob(pIn2) ) goto no_mem; + flags2 = pIn2->flags & ~MEM_Str; + } nByte = pIn1->n + pIn2->n; if( nByte>db->aLimit[SQLITE_LIMIT_LENGTH] ){ goto too_big; } - if( sqlite3VdbeMemGrow(pOut, (int)nByte+2, pOut==pIn2) ){ + if( sqlite3VdbeMemGrow(pOut, (int)nByte+3, pOut==pIn2) ){ goto no_mem; } MemSetTypeFlag(pOut, MEM_Str); if( pOut!=pIn2 ){ memcpy(pOut->z, pIn2->z, pIn2->n); + assert( (pIn2->flags & MEM_Dyn) == (flags2 & MEM_Dyn) ); + pIn2->flags = flags2; } memcpy(&pOut->z[pIn2->n], pIn1->z, pIn1->n); + assert( (pIn1->flags & MEM_Dyn) == (flags1 & MEM_Dyn) ); + pIn1->flags = flags1; pOut->z[nByte]=0; pOut->z[nByte+1] = 0; + pOut->z[nByte+2] = 0; pOut->flags |= MEM_Term; pOut->n = (int)nByte; pOut->enc = encoding; @@ -84489,7 +85536,6 @@ case OP_Subtract: /* same as TK_MINUS, in1, in2, out3 */ case OP_Multiply: /* same as TK_STAR, in1, in2, out3 */ case OP_Divide: /* same as TK_SLASH, in1, in2, out3 */ case OP_Remainder: { /* same as TK_REM, in1, in2, out3 */ - char bIntint; /* Started out as two integer operands */ u16 flags; /* Combined MEM_* flags from both inputs */ u16 type1; /* Numeric type of left operand */ u16 type2; /* Numeric type of right operand */ @@ -84507,7 +85553,6 @@ case OP_Remainder: { /* same as TK_REM, in1, in2, out3 */ if( (type1 & type2 & MEM_Int)!=0 ){ iA = pIn1->u.i; iB = pIn2->u.i; - bIntint = 1; switch( pOp->opcode ){ case OP_Add: if( sqlite3AddInt64(&iB,iA) ) goto fp_math; break; case OP_Subtract: if( sqlite3SubInt64(&iB,iA) ) goto fp_math; break; @@ -84530,7 +85575,6 @@ case OP_Remainder: { /* same as TK_REM, in1, in2, out3 */ }else if( (flags & MEM_Null)!=0 ){ goto arithmetic_result_is_null; }else{ - bIntint = 0; fp_math: rA = sqlite3VdbeRealValue(pIn1); rB = sqlite3VdbeRealValue(pIn2); @@ -84545,8 +85589,8 @@ case OP_Remainder: { /* same as TK_REM, in1, in2, out3 */ break; } default: { - iA = (i64)rA; - iB = (i64)rB; + iA = sqlite3VdbeIntValue(pIn1); + iB = sqlite3VdbeIntValue(pIn2); if( iA==0 ) goto arithmetic_result_is_null; if( iA==-1 ) iA = 1; rB = (double)(iB % iA); @@ -84562,9 +85606,6 @@ case OP_Remainder: { /* same as TK_REM, in1, in2, out3 */ } pOut->u.r = rB; MemSetTypeFlag(pOut, MEM_Real); - if( ((type1|type2)&MEM_Real)==0 && !bIntint ){ - sqlite3VdbeIntegerAffinity(pOut); - } #endif } break; @@ -84706,8 +85747,8 @@ case OP_MustBeInt: { /* jump, in1 */ pIn1 = &aMem[pOp->p1]; if( (pIn1->flags & MEM_Int)==0 ){ applyAffinity(pIn1, SQLITE_AFF_NUMERIC, encoding); - VdbeBranchTaken((pIn1->flags&MEM_Int)==0, 2); if( (pIn1->flags & MEM_Int)==0 ){ + VdbeBranchTaken(1, 2); if( pOp->p2==0 ){ rc = SQLITE_MISMATCH; goto abort_due_to_error; @@ -84716,6 +85757,7 @@ case OP_MustBeInt: { /* jump, in1 */ } } } + VdbeBranchTaken(0, 2); MemSetTypeFlag(pIn1, MEM_Int); break; } @@ -84732,8 +85774,11 @@ case OP_MustBeInt: { /* jump, in1 */ */ case OP_RealAffinity: { /* in1 */ pIn1 = &aMem[pOp->p1]; - if( pIn1->flags & MEM_Int ){ + if( pIn1->flags & (MEM_Int|MEM_IntReal) ){ + testcase( pIn1->flags & MEM_Int ); + testcase( pIn1->flags & MEM_IntReal ); sqlite3VdbeMemRealify(pIn1); + REGISTER_TRACE(pOp->p1, pIn1); } break; } @@ -84890,15 +85935,15 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ ** OP_Eq or OP_Ne) then take the jump or not depending on whether ** or not both operands are null. */ - assert( pOp->opcode==OP_Eq || pOp->opcode==OP_Ne ); assert( (flags1 & MEM_Cleared)==0 ); - assert( (pOp->p5 & SQLITE_JUMPIFNULL)==0 ); + assert( (pOp->p5 & SQLITE_JUMPIFNULL)==0 || CORRUPT_DB ); + testcase( (pOp->p5 & SQLITE_JUMPIFNULL)!=0 ); if( (flags1&flags3&MEM_Null)!=0 && (flags3&MEM_Cleared)==0 ){ res = 0; /* Operands are equal */ }else{ - res = 1; /* Operands are not equal */ + res = ((flags3 & MEM_Null) ? -1 : +1); /* Operands are not equal */ } }else{ /* SQLITE_NULLEQ is clear and at least one operand is NULL, @@ -84924,7 +85969,7 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ affinity = pOp->p5 & SQLITE_AFF_MASK; if( affinity>=SQLITE_AFF_NUMERIC ){ if( (flags1 | flags3)&MEM_Str ){ - if( (flags1 & (MEM_Int|MEM_Real|MEM_Str))==MEM_Str ){ + if( (flags1 & (MEM_Int|MEM_IntReal|MEM_Real|MEM_Str))==MEM_Str ){ applyNumericAffinity(pIn1,0); assert( flags3==pIn3->flags ); /* testcase( flags3!=pIn3->flags ); @@ -84934,7 +85979,7 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ ** in case our analysis is incorrect, so it is left in. */ flags3 = pIn3->flags; } - if( (flags3 & (MEM_Int|MEM_Real|MEM_Str))==MEM_Str ){ + if( (flags3 & (MEM_Int|MEM_IntReal|MEM_Real|MEM_Str))==MEM_Str ){ applyNumericAffinity(pIn3,0); } } @@ -84947,17 +85992,19 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ goto compare_op; } }else if( affinity==SQLITE_AFF_TEXT ){ - if( (flags1 & MEM_Str)==0 && (flags1 & (MEM_Int|MEM_Real))!=0 ){ + if( (flags1 & MEM_Str)==0 && (flags1&(MEM_Int|MEM_Real|MEM_IntReal))!=0 ){ testcase( pIn1->flags & MEM_Int ); testcase( pIn1->flags & MEM_Real ); + testcase( pIn1->flags & MEM_IntReal ); sqlite3VdbeMemStringify(pIn1, encoding, 1); testcase( (flags1&MEM_Dyn) != (pIn1->flags&MEM_Dyn) ); flags1 = (pIn1->flags & ~MEM_TypeMask) | (flags1 & MEM_TypeMask); assert( pIn1!=pIn3 ); } - if( (flags3 & MEM_Str)==0 && (flags3 & (MEM_Int|MEM_Real))!=0 ){ + if( (flags3 & MEM_Str)==0 && (flags3&(MEM_Int|MEM_Real|MEM_IntReal))!=0 ){ testcase( pIn3->flags & MEM_Int ); testcase( pIn3->flags & MEM_Real ); + testcase( pIn3->flags & MEM_IntReal ); sqlite3VdbeMemStringify(pIn3, encoding, 1); testcase( (flags3&MEM_Dyn) != (pIn3->flags&MEM_Dyn) ); flags3 = (pIn3->flags & ~MEM_TypeMask) | (flags3 & MEM_TypeMask); @@ -85016,7 +86063,7 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ pOut->u.i = res2; REGISTER_TRACE(pOp->p2, pOut); }else{ - VdbeBranchTaken(res!=0, (pOp->p5 & SQLITE_NULLEQ)?2:3); + VdbeBranchTaken(res2!=0, (pOp->p5 & SQLITE_NULLEQ)?2:3); if( res2 ){ goto jump_to_p2; } @@ -85127,9 +86174,14 @@ case OP_Compare: { REGISTER_TRACE(p2+idx, &aMem[p2+idx]); assert( inKeyField ); pColl = pKeyInfo->aColl[i]; - bRev = pKeyInfo->aSortOrder[i]; + bRev = (pKeyInfo->aSortFlags[i] & KEYINFO_ORDER_DESC); iCompare = sqlite3MemCompare(&aMem[p1+idx], &aMem[p2+idx], pColl); if( iCompare ){ + if( (pKeyInfo->aSortFlags[i] & KEYINFO_ORDER_BIGNULL) + && ((aMem[p1+idx].flags & MEM_Null) || (aMem[p2+idx].flags & MEM_Null)) + ){ + iCompare = -iCompare; + } if( bRev ) iCompare = -iCompare; break; } @@ -85420,11 +86472,6 @@ case OP_Offset: { /* out3 */ ** if the P4 argument is a P4_MEM use the value of the P4 argument as ** the result. ** -** If the OPFLAG_CLEARCACHE bit is set on P5 and P1 is a pseudo-table cursor, -** then the cache of the cursor is reset prior to extracting the column. -** The first OP_Column against a pseudo-table after the value of the content -** register has changed should have this bit set. -** ** If the OPFLAG_LENGTHARG and OPFLAG_TYPEOFARG bits are set on P5 then ** the result is guaranteed to only be used as the argument of a length() ** or typeof() function, respectively. The loading of large blobs can be @@ -85566,15 +86613,15 @@ case OP_Column: { zEndHdr = zData + aOffset[0]; testcase( zHdr>=zEndHdr ); do{ - if( (t = zHdr[0])<0x80 ){ + if( (pC->aType[i] = t = zHdr[0])<0x80 ){ zHdr++; offset64 += sqlite3VdbeOneByteSerialTypeLen(t); }else{ zHdr += sqlite3GetVarint32(zHdr, &t); + pC->aType[i] = t; offset64 += sqlite3VdbeSerialTypeLen(t); } - pC->aType[i++] = t; - aOffset[i] = (u32)(offset64 & 0xffffffff); + aOffset[++i] = (u32)(offset64 & 0xffffffff); }while( i<=p2 && zHdrp2>0 ); assert( zAffinity[pOp->p2]==0 ); pIn1 = &aMem[pOp->p1]; - do{ + while( 1 /*exit-by-break*/ ){ assert( pIn1 <= &p->aMem[(p->nMem+1 - p->nCursor)] ); assert( memIsValid(pIn1) ); - applyAffinity(pIn1, *(zAffinity++), encoding); + applyAffinity(pIn1, zAffinity[0], encoding); + if( zAffinity[0]==SQLITE_AFF_REAL && (pIn1->flags & MEM_Int)!=0 ){ + /* When applying REAL affinity, if the result is still an MEM_Int + ** that will fit in 6 bytes, then change the type to MEM_IntReal + ** so that we keep the high-resolution integer value but know that + ** the type really wants to be REAL. */ + testcase( pIn1->u.i==140737488355328LL ); + testcase( pIn1->u.i==140737488355327LL ); + testcase( pIn1->u.i==-140737488355328LL ); + testcase( pIn1->u.i==-140737488355329LL ); + if( pIn1->u.i<=140737488355327LL && pIn1->u.i>=-140737488355328LL ){ + pIn1->flags |= MEM_IntReal; + pIn1->flags &= ~MEM_Int; + }else{ + pIn1->u.r = (double)pIn1->u.i; + pIn1->flags |= MEM_Real; + pIn1->flags &= ~MEM_Int; + } + } + REGISTER_TRACE((int)(pIn1-aMem), pIn1); + zAffinity++; + if( zAffinity[0]==0 ) break; pIn1++; - }while( zAffinity[0] ); + } break; } @@ -85739,7 +86807,6 @@ case OP_Affinity: { ** If P4 is NULL then all index fields have the affinity BLOB. */ case OP_MakeRecord: { - u8 *zNewRecord; /* A buffer to hold the data for the new record */ Mem *pRec; /* The new record */ u64 nData; /* Number of bytes of data space */ int nHdr; /* Number of bytes of header space */ @@ -85752,9 +86819,9 @@ case OP_MakeRecord: { int nField; /* Number of fields in the record */ char *zAffinity; /* The affinity string for the record */ int file_format; /* File format to use for encoding */ - int i; /* Space used in zNewRecord[] header */ - int j; /* Space used in zNewRecord[] content */ u32 len; /* Length of a field */ + u8 *zHdr; /* Where to write next byte of the header */ + u8 *zPayload; /* Where to write next byte of the payload */ /* Assuming the record contains N fields, the record format looks ** like this: @@ -85793,7 +86860,14 @@ case OP_MakeRecord: { if( zAffinity ){ pRec = pData0; do{ - applyAffinity(pRec++, *(zAffinity++), encoding); + applyAffinity(pRec, zAffinity[0], encoding); + if( zAffinity[0]==SQLITE_AFF_REAL && (pRec->flags & MEM_Int) ){ + pRec->flags |= MEM_IntReal; + pRec->flags &= ~(MEM_Int); + } + REGISTER_TRACE((int)(pRec-aMem), pRec); + zAffinity++; + pRec++; assert( zAffinity[0]==0 || pRec<=pLast ); }while( zAffinity[0] ); } @@ -85813,14 +86887,36 @@ case OP_MakeRecord: { #endif /* Loop through the elements that will make up the record to figure - ** out how much space is required for the new record. + ** out how much space is required for the new record. After this loop, + ** the Mem.uTemp field of each term should hold the serial-type that will + ** be used for that term in the generated record: + ** + ** Mem.uTemp value type + ** --------------- --------------- + ** 0 NULL + ** 1 1-byte signed integer + ** 2 2-byte signed integer + ** 3 3-byte signed integer + ** 4 4-byte signed integer + ** 5 6-byte signed integer + ** 6 8-byte signed integer + ** 7 IEEE float + ** 8 Integer constant 0 + ** 9 Integer constant 1 + ** 10,11 reserved for expansion + ** N>=12 and even BLOB + ** N>=13 and odd text + ** + ** The following additional values are computed: + ** nHdr Number of bytes needed for the record header + ** nData Number of bytes of data space needed for the record + ** nZero Zero bytes at the end of the record */ pRec = pLast; do{ assert( memIsValid(pRec) ); - serial_type = sqlite3VdbeSerialType(pRec, file_format, &len); - if( pRec->flags & MEM_Zero ){ - if( serial_type==0 ){ + if( pRec->flags & MEM_Null ){ + if( pRec->flags & MEM_Zero ){ /* Values with MEM_Null and MEM_Zero are created by xColumn virtual ** table methods that never invoke sqlite3_result_xxxxx() while ** computing an unchanging column value in an UPDATE statement. @@ -85828,19 +86924,83 @@ case OP_MakeRecord: { ** so that they can be passed through to xUpdate and have ** a true sqlite3_value_nochange(). */ assert( pOp->p5==OPFLAG_NOCHNG_MAGIC || CORRUPT_DB ); - serial_type = 10; - }else if( nData ){ - if( sqlite3VdbeMemExpandBlob(pRec) ) goto no_mem; + pRec->uTemp = 10; + }else{ + pRec->uTemp = 0; + } + nHdr++; + }else if( pRec->flags & (MEM_Int|MEM_IntReal) ){ + /* Figure out whether to use 1, 2, 4, 6 or 8 bytes. */ + i64 i = pRec->u.i; + u64 uu; + testcase( pRec->flags & MEM_Int ); + testcase( pRec->flags & MEM_IntReal ); + if( i<0 ){ + uu = ~i; }else{ - nZero += pRec->u.nZero; - len -= pRec->u.nZero; + uu = i; + } + nHdr++; + testcase( uu==127 ); testcase( uu==128 ); + testcase( uu==32767 ); testcase( uu==32768 ); + testcase( uu==8388607 ); testcase( uu==8388608 ); + testcase( uu==2147483647 ); testcase( uu==2147483648 ); + testcase( uu==140737488355327LL ); testcase( uu==140737488355328LL ); + if( uu<=127 ){ + if( (i&1)==i && file_format>=4 ){ + pRec->uTemp = 8+(u32)uu; + }else{ + nData++; + pRec->uTemp = 1; + } + }else if( uu<=32767 ){ + nData += 2; + pRec->uTemp = 2; + }else if( uu<=8388607 ){ + nData += 3; + pRec->uTemp = 3; + }else if( uu<=2147483647 ){ + nData += 4; + pRec->uTemp = 4; + }else if( uu<=140737488355327LL ){ + nData += 6; + pRec->uTemp = 5; + }else{ + nData += 8; + if( pRec->flags & MEM_IntReal ){ + /* If the value is IntReal and is going to take up 8 bytes to store + ** as an integer, then we might as well make it an 8-byte floating + ** point value */ + pRec->u.r = (double)pRec->u.i; + pRec->flags &= ~MEM_IntReal; + pRec->flags |= MEM_Real; + pRec->uTemp = 7; + }else{ + pRec->uTemp = 6; + } + } + }else if( pRec->flags & MEM_Real ){ + nHdr++; + nData += 8; + pRec->uTemp = 7; + }else{ + assert( db->mallocFailed || pRec->flags&(MEM_Str|MEM_Blob) ); + assert( pRec->n>=0 ); + len = (u32)pRec->n; + serial_type = (len*2) + 12 + ((pRec->flags & MEM_Str)!=0); + if( pRec->flags & MEM_Zero ){ + serial_type += pRec->u.nZero*2; + if( nData ){ + if( sqlite3VdbeMemExpandBlob(pRec) ) goto no_mem; + len += pRec->u.nZero; + }else{ + nZero += pRec->u.nZero; + } } + nData += len; + nHdr += sqlite3VarintLen(serial_type); + pRec->uTemp = serial_type; } - nData += len; - testcase( serial_type==127 ); - testcase( serial_type==128 ); - nHdr += serial_type<=127 ? 1 : sqlite3VarintLen(serial_type); - pRec->uTemp = serial_type; if( pRec==pData0 ) break; pRec--; }while(1); @@ -85881,34 +87041,34 @@ case OP_MakeRecord: { goto no_mem; } } - zNewRecord = (u8 *)pOut->z; + pOut->n = (int)nByte; + pOut->flags = MEM_Blob; + if( nZero ){ + pOut->u.nZero = nZero; + pOut->flags |= MEM_Zero; + } + UPDATE_MAX_BLOBSIZE(pOut); + zHdr = (u8 *)pOut->z; + zPayload = zHdr + nHdr; /* Write the record */ - i = putVarint32(zNewRecord, nHdr); - j = nHdr; + zHdr += putVarint32(zHdr, nHdr); assert( pData0<=pLast ); pRec = pData0; do{ serial_type = pRec->uTemp; /* EVIDENCE-OF: R-06529-47362 Following the size varint are one or more ** additional varints, one per column. */ - i += putVarint32(&zNewRecord[i], serial_type); /* serial type */ + zHdr += putVarint32(zHdr, serial_type); /* serial type */ /* EVIDENCE-OF: R-64536-51728 The values for each column in the record ** immediately follow the header. */ - j += sqlite3VdbeSerialPut(&zNewRecord[j], pRec, serial_type); /* content */ + zPayload += sqlite3VdbeSerialPut(zPayload, pRec, serial_type); /* content */ }while( (++pRec)<=pLast ); - assert( i==nHdr ); - assert( j==nByte ); + assert( nHdr==(int)(zHdr - (u8*)pOut->z) ); + assert( nByte==(int)(zPayload - (u8*)pOut->z) ); assert( pOp->p3>0 && pOp->p3<=(p->nMem+1 - p->nCursor) ); - pOut->n = (int)nByte; - pOut->flags = MEM_Blob; - if( nZero ){ - pOut->u.nZero = nZero; - pOut->flags |= MEM_Zero; - } REGISTER_TRACE(pOp->p3, pOut); - UPDATE_MAX_BLOBSIZE(pOut); break; } @@ -85938,8 +87098,9 @@ case OP_Count: { /* out2 */ /* Opcode: Savepoint P1 * * P4 * ** ** Open, release or rollback the savepoint named by parameter P4, depending -** on the value of P1. To open a new savepoint, P1==0. To release (commit) an -** existing savepoint, P1==1, or to rollback an existing savepoint P1==2. +** on the value of P1. To open a new savepoint set P1==0 (SAVEPOINT_BEGIN). +** To release (commit) an existing savepoint set P1==1 (SAVEPOINT_RELEASE). +** To rollback an existing savepoint set P1==2 (SAVEPOINT_ROLLBACK). */ case OP_Savepoint: { int p1; /* Value of P1 operand */ @@ -86007,6 +87168,7 @@ case OP_Savepoint: { } } }else{ + assert( p1==SAVEPOINT_RELEASE || p1==SAVEPOINT_ROLLBACK ); iSavepoint = 0; /* Find the named savepoint. If there is no such savepoint, then an @@ -86060,6 +87222,7 @@ case OP_Savepoint: { if( rc!=SQLITE_OK ) goto abort_due_to_error; } }else{ + assert( p1==SAVEPOINT_RELEASE ); isSchemaChange = 0; } for(ii=0; iinDb; ii++){ @@ -86096,6 +87259,7 @@ case OP_Savepoint: { db->nSavepoint--; } }else{ + assert( p1==SAVEPOINT_ROLLBACK ); db->nDeferredCons = pSavepoint->nDeferredCons; db->nDeferredImmCons = pSavepoint->nDeferredImmCons; } @@ -86172,7 +87336,7 @@ case OP_AutoCommit: { rc = SQLITE_ERROR; goto abort_due_to_error; } - break; + /*NOTREACHED*/ assert(0); } /* Opcode: Transaction P1 P2 P3 P4 P5 @@ -86576,7 +87740,9 @@ case OP_OpenDup: { pCx->isEphemeral = 1; pCx->pKeyInfo = pOrig->pKeyInfo; pCx->isTable = pOrig->isTable; - rc = sqlite3BtreeCursor(pOrig->pBtx, MASTER_ROOT, BTREE_WRCSR, + pCx->pgnoRoot = pOrig->pgnoRoot; + pCx->isOrdered = pOrig->isOrdered; + rc = sqlite3BtreeCursor(pOrig->pBtx, pCx->pgnoRoot, BTREE_WRCSR, pCx->pKeyInfo, pCx->uc.pCursor); /* The sqlite3BtreeCursor() routine can only fail for the first cursor ** opened for a database. Since there is already an open cursor when this @@ -86594,6 +87760,9 @@ case OP_OpenDup: { ** the main database is read-only. The ephemeral ** table is deleted automatically when the cursor is closed. ** +** If the cursor P1 is already opened on an ephemeral table, the table +** is cleared (all content is erased). +** ** P2 is the number of columns in the ephemeral table. ** The cursor points to a BTree table if P4==0 and to a BTree index ** if P4 is not 0. If P4 is not NULL, it points to a KeyInfo structure @@ -86625,41 +87794,55 @@ case OP_OpenEphemeral: { SQLITE_OPEN_TRANSIENT_DB; assert( pOp->p1>=0 ); assert( pOp->p2>=0 ); - pCx = allocateCursor(p, pOp->p1, pOp->p2, -1, CURTYPE_BTREE); - if( pCx==0 ) goto no_mem; - pCx->nullRow = 1; - pCx->isEphemeral = 1; - rc = sqlite3BtreeOpen(db->pVfs, 0, db, &pCx->pBtx, - BTREE_OMIT_JOURNAL | BTREE_SINGLE | pOp->p5, vfsFlags); - if( rc==SQLITE_OK ){ - rc = sqlite3BtreeBeginTrans(pCx->pBtx, 1, 0); - } - if( rc==SQLITE_OK ){ - /* If a transient index is required, create it by calling - ** sqlite3BtreeCreateTable() with the BTREE_BLOBKEY flag before - ** opening it. If a transient table is required, just use the - ** automatically created table with root-page 1 (an BLOB_INTKEY table). - */ - if( (pCx->pKeyInfo = pKeyInfo = pOp->p4.pKeyInfo)!=0 ){ - int pgno; - assert( pOp->p4type==P4_KEYINFO ); - rc = sqlite3BtreeCreateTable(pCx->pBtx, &pgno, BTREE_BLOBKEY | pOp->p5); - if( rc==SQLITE_OK ){ - assert( pgno==MASTER_ROOT+1 ); - assert( pKeyInfo->db==db ); - assert( pKeyInfo->enc==ENC(db) ); - rc = sqlite3BtreeCursor(pCx->pBtx, pgno, BTREE_WRCSR, - pKeyInfo, pCx->uc.pCursor); + pCx = p->apCsr[pOp->p1]; + if( pCx ){ + /* If the ephermeral table is already open, erase all existing content + ** so that the table is empty again, rather than creating a new table. */ + assert( pCx->isEphemeral ); + pCx->seqCount = 0; + pCx->cacheStatus = CACHE_STALE; + if( pCx->pBtx ){ + rc = sqlite3BtreeClearTable(pCx->pBtx, pCx->pgnoRoot, 0); + } + }else{ + pCx = allocateCursor(p, pOp->p1, pOp->p2, -1, CURTYPE_BTREE); + if( pCx==0 ) goto no_mem; + pCx->isEphemeral = 1; + rc = sqlite3BtreeOpen(db->pVfs, 0, db, &pCx->pBtx, + BTREE_OMIT_JOURNAL | BTREE_SINGLE | pOp->p5, + vfsFlags); + if( rc==SQLITE_OK ){ + rc = sqlite3BtreeBeginTrans(pCx->pBtx, 1, 0); + } + if( rc==SQLITE_OK ){ + /* If a transient index is required, create it by calling + ** sqlite3BtreeCreateTable() with the BTREE_BLOBKEY flag before + ** opening it. If a transient table is required, just use the + ** automatically created table with root-page 1 (an BLOB_INTKEY table). + */ + if( (pCx->pKeyInfo = pKeyInfo = pOp->p4.pKeyInfo)!=0 ){ + assert( pOp->p4type==P4_KEYINFO ); + rc = sqlite3BtreeCreateTable(pCx->pBtx, (int*)&pCx->pgnoRoot, + BTREE_BLOBKEY | pOp->p5); + if( rc==SQLITE_OK ){ + assert( pCx->pgnoRoot==MASTER_ROOT+1 ); + assert( pKeyInfo->db==db ); + assert( pKeyInfo->enc==ENC(db) ); + rc = sqlite3BtreeCursor(pCx->pBtx, pCx->pgnoRoot, BTREE_WRCSR, + pKeyInfo, pCx->uc.pCursor); + } + pCx->isTable = 0; + }else{ + pCx->pgnoRoot = MASTER_ROOT; + rc = sqlite3BtreeCursor(pCx->pBtx, MASTER_ROOT, BTREE_WRCSR, + 0, pCx->uc.pCursor); + pCx->isTable = 1; } - pCx->isTable = 0; - }else{ - rc = sqlite3BtreeCursor(pCx->pBtx, MASTER_ROOT, BTREE_WRCSR, - 0, pCx->uc.pCursor); - pCx->isTable = 1; } + pCx->isOrdered = (pOp->p5!=BTREE_UNORDERED); } if( rc ) goto abort_due_to_error; - pCx->isOrdered = (pOp->p5!=BTREE_UNORDERED); + pCx->nullRow = 1; break; } @@ -86888,7 +88071,10 @@ case OP_SeekGT: { /* jump, in3, group */ pC->seekOp = pOp->opcode; #endif + pC->deferredMoveto = 0; + pC->cacheStatus = CACHE_STALE; if( pC->isTable ){ + u16 flags3, newType; /* The BTREE_SEEK_EQ flag is only set on index cursors */ assert( sqlite3BtreeCursorHasHint(pC->uc.pCursor, BTREE_SEEK_EQ)==0 || CORRUPT_DB ); @@ -86897,20 +88083,27 @@ case OP_SeekGT: { /* jump, in3, group */ ** blob, or NULL. But it needs to be an integer before we can do ** the seek, so convert it. */ pIn3 = &aMem[pOp->p3]; - if( (pIn3->flags & (MEM_Int|MEM_Real|MEM_Str))==MEM_Str ){ + flags3 = pIn3->flags; + if( (flags3 & (MEM_Int|MEM_Real|MEM_IntReal|MEM_Str))==MEM_Str ){ applyNumericAffinity(pIn3, 0); } - iKey = sqlite3VdbeIntValue(pIn3); + iKey = sqlite3VdbeIntValue(pIn3); /* Get the integer key value */ + newType = pIn3->flags; /* Record the type after applying numeric affinity */ + pIn3->flags = flags3; /* But convert the type back to its original */ /* If the P3 value could not be converted into an integer without ** loss of information, then special processing is required... */ - if( (pIn3->flags & MEM_Int)==0 ){ - if( (pIn3->flags & MEM_Real)==0 ){ - /* If the P3 value cannot be converted into any kind of a number, - ** then the seek is not possible, so jump to P2 */ - VdbeBranchTaken(1,2); goto jump_to_p2; - break; - } + if( (newType & (MEM_Int|MEM_IntReal))==0 ){ + if( (newType & MEM_Real)==0 ){ + if( (newType & MEM_Null) || oc>=OP_SeekGE ){ + VdbeBranchTaken(1,2); + goto jump_to_p2; + }else{ + rc = sqlite3BtreeLast(pC->uc.pCursor, &res); + if( rc!=SQLITE_OK ) goto abort_due_to_error; + goto seek_not_found; + } + }else /* If the approximation iKey is larger than the actual real search ** term, substitute >= for > and < for <=. e.g. if the search term @@ -86934,7 +88127,7 @@ case OP_SeekGT: { /* jump, in3, group */ assert( (OP_SeekLT & 0x0001)==(OP_SeekGE & 0x0001) ); if( (oc & 0x0001)==(OP_SeekLT & 0x0001) ) oc++; } - } + } rc = sqlite3BtreeMovetoUnpacked(pC->uc.pCursor, 0, (u64)iKey, 0, &res); pC->movetoTarget = iKey; /* Used by OP_Delete */ if( rc!=SQLITE_OK ){ @@ -86988,8 +88181,6 @@ case OP_SeekGT: { /* jump, in3, group */ goto seek_not_found; } } - pC->deferredMoveto = 0; - pC->cacheStatus = CACHE_STALE; #ifdef SQLITE_TEST sqlite3_search_count++; #endif @@ -87289,34 +88480,39 @@ case OP_SeekRowid: { /* jump, in3 */ u64 iKey; pIn3 = &aMem[pOp->p3]; - if( (pIn3->flags & MEM_Int)==0 ){ - /* Make sure pIn3->u.i contains a valid integer representation of - ** the key value, but do not change the datatype of the register, as - ** other parts of the perpared statement might be depending on the - ** current datatype. */ - u16 origFlags = pIn3->flags; - int isNotInt; - applyAffinity(pIn3, SQLITE_AFF_NUMERIC, encoding); - isNotInt = (pIn3->flags & MEM_Int)==0; - pIn3->flags = origFlags; - if( isNotInt ) goto jump_to_p2; + testcase( pIn3->flags & MEM_Int ); + testcase( pIn3->flags & MEM_IntReal ); + testcase( pIn3->flags & MEM_Real ); + testcase( (pIn3->flags & (MEM_Str|MEM_Int))==MEM_Str ); + if( (pIn3->flags & (MEM_Int|MEM_IntReal))==0 ){ + /* If pIn3->u.i does not contain an integer, compute iKey as the + ** integer value of pIn3. Jump to P2 if pIn3 cannot be converted + ** into an integer without loss of information. Take care to avoid + ** changing the datatype of pIn3, however, as it is used by other + ** parts of the prepared statement. */ + Mem x = pIn3[0]; + applyAffinity(&x, SQLITE_AFF_NUMERIC, encoding); + if( (x.flags & MEM_Int)==0 ) goto jump_to_p2; + iKey = x.u.i; + goto notExistsWithKey; } /* Fall through into OP_NotExists */ case OP_NotExists: /* jump, in3 */ pIn3 = &aMem[pOp->p3]; assert( (pIn3->flags & MEM_Int)!=0 || pOp->opcode==OP_SeekRowid ); assert( pOp->p1>=0 && pOp->p1nCursor ); + iKey = pIn3->u.i; +notExistsWithKey: pC = p->apCsr[pOp->p1]; assert( pC!=0 ); #ifdef SQLITE_DEBUG - pC->seekOp = OP_SeekRowid; + if( pOp->opcode==OP_SeekRowid ) pC->seekOp = OP_SeekRowid; #endif assert( pC->isTable ); assert( pC->eCurType==CURTYPE_BTREE ); pCrsr = pC->uc.pCursor; assert( pCrsr!=0 ); res = 0; - iKey = pIn3->u.i; rc = sqlite3BtreeMovetoUnpacked(pCrsr, 0, iKey, 0, &res); assert( rc==SQLITE_OK || res==0 ); pC->movetoTarget = iKey; /* Used by OP_Delete */ @@ -87527,14 +88723,7 @@ case OP_NewRowid: { /* out2 */ ** This instruction only works on tables. The equivalent instruction ** for indices is OP_IdxInsert. */ -/* Opcode: InsertInt P1 P2 P3 P4 P5 -** Synopsis: intkey=P3 data=r[P2] -** -** This works exactly like OP_Insert except that the key is the -** integer value P3, not the value of the integer stored in register P3. -*/ -case OP_Insert: -case OP_InsertInt: { +case OP_Insert: { Mem *pData; /* MEM cell holding data for the record to be inserted */ Mem *pKey; /* MEM cell holding key for the record */ VdbeCursor *pC; /* Cursor to table into which insert is written */ @@ -87555,16 +88744,11 @@ case OP_InsertInt: { REGISTER_TRACE(pOp->p2, pData); sqlite3VdbeIncrWriteCounter(p, pC); - if( pOp->opcode==OP_Insert ){ - pKey = &aMem[pOp->p3]; - assert( pKey->flags & MEM_Int ); - assert( memIsValid(pKey) ); - REGISTER_TRACE(pOp->p3, pKey); - x.nKey = pKey->u.i; - }else{ - assert( pOp->opcode==OP_InsertInt ); - x.nKey = pOp->p3; - } + pKey = &aMem[pOp->p3]; + assert( pKey->flags & MEM_Int ); + assert( memIsValid(pKey) ); + REGISTER_TRACE(pOp->p3, pKey); + x.nKey = pKey->u.i; if( pOp->p4type==P4_TABLE && HAS_UPDATE_HOOK(db) ){ assert( pC->iDb>=0 ); @@ -87676,7 +88860,7 @@ case OP_Delete: { ** OP_Delete will have also set the pC->movetoTarget field to the rowid of ** the row that is being deleted */ i64 iKey = sqlite3BtreeIntegerKey(pC->uc.pCursor); - assert( pC->movetoTarget==iKey ); + assert( CORRUPT_DB || pC->movetoTarget==iKey ); } #endif @@ -88084,7 +89268,7 @@ case OP_Sort: { /* jump */ p->aCounter[SQLITE_STMTSTATUS_SORT]++; /* Fall through into OP_Rewind */ } -/* Opcode: Rewind P1 P2 * * P5 +/* Opcode: Rewind P1 P2 * * * ** ** The next use of the Rowid or Column or Next instruction for P1 ** will refer to the first entry in the database table or index. @@ -88092,10 +89276,6 @@ case OP_Sort: { /* jump */ ** If the table or index is not empty, fall through to the following ** instruction. ** -** If P5 is non-zero and the table is not empty, then the "skip-next" -** flag is set on the cursor so that the next OP_Next instruction -** executed on it is a no-op. -** ** This opcode leaves the cursor configured to move in forward order, ** from the beginning toward the end. In other words, the cursor is ** configured to use Next, not Prev. @@ -88106,6 +89286,7 @@ case OP_Rewind: { /* jump */ int res; assert( pOp->p1>=0 && pOp->p1nCursor ); + assert( pOp->p5==0 ); pC = p->apCsr[pOp->p1]; assert( pC!=0 ); assert( isSorter(pC)==(pOp->opcode==OP_SorterSort) ); @@ -88120,9 +89301,6 @@ case OP_Rewind: { /* jump */ pCrsr = pC->uc.pCursor; assert( pCrsr ); rc = sqlite3BtreeFirst(pCrsr, &res); -#ifndef SQLITE_OMIT_WINDOWFUNC - if( pOp->p5 ) sqlite3BtreeSkipNext(pCrsr); -#endif pC->deferredMoveto = 0; pC->cacheStatus = CACHE_STALE; } @@ -88216,11 +89394,12 @@ case OP_Next: /* jump */ ** The Prev opcode is only used after SeekLT, SeekLE, and Last. */ assert( pOp->opcode!=OP_Next || pC->seekOp==OP_SeekGT || pC->seekOp==OP_SeekGE - || pC->seekOp==OP_Rewind || pC->seekOp==OP_Found - || pC->seekOp==OP_NullRow); + || pC->seekOp==OP_Rewind || pC->seekOp==OP_Found + || pC->seekOp==OP_NullRow|| pC->seekOp==OP_SeekRowid + || pC->seekOp==OP_IfNoHope); assert( pOp->opcode!=OP_Prev || pC->seekOp==OP_SeekLT || pC->seekOp==OP_SeekLE - || pC->seekOp==OP_Last + || pC->seekOp==OP_Last || pC->seekOp==OP_IfNoHope || pC->seekOp==OP_NullRow); rc = pOp->p4.xAdvance(pC->uc.pCursor, pOp->p3); @@ -88739,7 +89918,7 @@ case OP_ParseSchema: { initData.pzErrMsg = &p->zErrMsg; initData.mInitFlags = 0; zSql = sqlite3MPrintf(db, - "SELECT name, rootpage, sql FROM '%q'.%s WHERE %s ORDER BY rowid", + "SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid", db->aDb[iDb].zDbSName, zMaster, pOp->p4.z); if( zSql==0 ){ rc = SQLITE_NOMEM_BKPT; @@ -88747,9 +89926,16 @@ case OP_ParseSchema: { assert( db->init.busy==0 ); db->init.busy = 1; initData.rc = SQLITE_OK; + initData.nInitRow = 0; assert( !db->mallocFailed ); rc = sqlite3_exec(db, zSql, sqlite3InitCallback, &initData, 0); if( rc==SQLITE_OK ) rc = initData.rc; + if( rc==SQLITE_OK && initData.nInitRow==0 ){ + /* The OP_ParseSchema opcode with a non-NULL P4 argument should parse + ** at least one SQL statement. Any less than that indicates that + ** the sqlite_master table is corrupt. */ + rc = SQLITE_CORRUPT_BKPT; + } sqlite3DbFreeNN(db, zSql); db->init.busy = 0; } @@ -89112,10 +90298,20 @@ case OP_Program: { /* jump */ p->nOp = pProgram->nOp; #ifdef SQLITE_ENABLE_STMT_SCANSTATUS p->anExec = 0; +#endif +#ifdef SQLITE_DEBUG + /* Verify that second and subsequent executions of the same trigger do not + ** try to reuse register values from the first use. */ + { + int i; + for(i=0; inMem; i++){ + aMem[i].pScopyFrom = 0; /* Prevent false-positive AboutToChange() errs */ + aMem[i].flags |= MEM_Undefined; /* Cause a fault if this reg is reused */ + } + } #endif pOp = &aOp[-1]; - - break; + goto check_for_interrupt; } /* Opcode: Param P1 P2 * * * @@ -89487,6 +90683,7 @@ case OP_AggFinal: { assert( (pMem->flags & ~(MEM_Null|MEM_Agg))==0 ); #ifndef SQLITE_OMIT_WINDOWFUNC if( pOp->p3 ){ + memAboutToChange(p, &aMem[pOp->p3]); rc = sqlite3VdbeMemAggValue(pMem, &aMem[pOp->p3], pOp->p4.pFunc); pMem = &aMem[pOp->p3]; }else @@ -89651,14 +90848,19 @@ case OP_JournalMode: { /* out2 */ #endif /* SQLITE_OMIT_PRAGMA */ #if !defined(SQLITE_OMIT_VACUUM) && !defined(SQLITE_OMIT_ATTACH) -/* Opcode: Vacuum P1 * * * * +/* Opcode: Vacuum P1 P2 * * * ** ** Vacuum the entire database P1. P1 is 0 for "main", and 2 or more ** for an attached database. The "temp" database may not be vacuumed. +** +** If P2 is not zero, then it is a register holding a string which is +** the file into which the result of vacuum should be written. When +** P2 is zero, the vacuum overwrites the original database. */ case OP_Vacuum: { assert( p->readOnly==0 ); - rc = sqlite3RunVacuum(&p->zErrMsg, db, pOp->p1); + rc = sqlite3RunVacuum(&p->zErrMsg, db, pOp->p1, + pOp->p2 ? &aMem[pOp->p2] : 0); if( rc ) goto abort_due_to_error; break; } @@ -89810,6 +91012,7 @@ case OP_VDestroy: { db->nVDestroy++; rc = sqlite3VtabCallDestroy(db, pOp->p1, pOp->p4.z); db->nVDestroy--; + assert( p->errorAction==OE_Abort && p->usesStmtJournal ); if( rc ) goto abort_due_to_error; break; } @@ -90053,7 +91256,7 @@ case OP_VRename: { rc = sqlite3VdbeChangeEncoding(pName, SQLITE_UTF8); if( rc ) goto abort_due_to_error; rc = pVtab->pModule->xRename(pVtab, pName->z); - if( isLegacy==0 ) db->flags &= ~SQLITE_LegacyAlter; + if( isLegacy==0 ) db->flags &= ~(u64)SQLITE_LegacyAlter; sqlite3VtabImportErrmsg(p, pVtab); p->expired = 0; if( rc ) goto abort_due_to_error; @@ -90518,7 +91721,16 @@ default: { /* This is really OP_Noop, OP_Explain */ ** release the mutexes on btrees that were acquired at the ** top. */ vdbe_return: - testcase( nVmStep>0 ); +#ifndef SQLITE_OMIT_PROGRESS_CALLBACK + while( nVmStep>=nProgressLimit && db->xProgress!=0 ){ + nProgressLimit += db->nProgressOps; + if( db->xProgress(db->pProgressArg) ){ + nProgressLimit = 0xffffffff; + rc = SQLITE_INTERRUPT; + goto abort_due_to_error; + } + } +#endif p->aCounter[SQLITE_STMTSTATUS_VM_STEP] += (int)nVmStep; sqlite3VdbeLeave(p); assert( rc!=SQLITE_OK || nExtraDelete==0 @@ -90913,11 +92125,12 @@ SQLITE_API int sqlite3_blob_close(sqlite3_blob *pBlob){ sqlite3 *db; if( p ){ + sqlite3_stmt *pStmt = p->pStmt; db = p->db; sqlite3_mutex_enter(db->mutex); - rc = sqlite3_finalize(p->pStmt); sqlite3DbFree(db, p); sqlite3_mutex_leave(db->mutex); + rc = sqlite3_finalize(pStmt); }else{ rc = SQLITE_OK; } @@ -91605,7 +92818,7 @@ static int vdbePmaReadBlob( /* Extend the p->aAlloc[] allocation if required. */ if( p->nAllocnAlloc*2); + sqlite3_int64 nNew = MAX(128, 2*(sqlite3_int64)p->nAlloc); while( nByte>nNew ) nNew = nNew*2; aNew = sqlite3Realloc(p->aAlloc, nNew); if( !aNew ) return SQLITE_NOMEM_BKPT; @@ -91897,7 +93110,8 @@ static int vdbeSorterCompareText( ); } }else{ - if( pTask->pSorter->pKeyInfo->aSortOrder[0] ){ + assert( !(pTask->pSorter->pKeyInfo->aSortFlags[0]&KEYINFO_ORDER_BIGNULL) ); + if( pTask->pSorter->pKeyInfo->aSortFlags[0] ){ res = res * -1; } } @@ -91965,7 +93179,8 @@ static int vdbeSorterCompareInt( pTask, pbKey2Cached, pKey1, nKey1, pKey2, nKey2 ); } - }else if( pTask->pSorter->pKeyInfo->aSortOrder[0] ){ + }else if( pTask->pSorter->pKeyInfo->aSortFlags[0] ){ + assert( !(pTask->pSorter->pKeyInfo->aSortFlags[0]&KEYINFO_ORDER_BIGNULL) ); res = res * -1; } @@ -92080,6 +93295,7 @@ SQLITE_PRIVATE int sqlite3VdbeSorterInit( if( pKeyInfo->nAllField<13 && (pKeyInfo->aColl[0]==0 || pKeyInfo->aColl[0]==db->pDfltColl) + && (pKeyInfo->aSortFlags[0] & KEYINFO_ORDER_BIGNULL)==0 ){ pSorter->typeMask = SORTER_TYPE_INTEGER | SORTER_TYPE_TEXT; } @@ -92796,13 +94012,16 @@ static int vdbeSorterFlushPMA(VdbeSorter *pSorter){ rc = vdbeSorterListToPMA(&pSorter->aTask[nWorker], &pSorter->list); }else{ /* Launch a background thread for this operation */ - u8 *aMem = pTask->list.aMemory; - void *pCtx = (void*)pTask; + u8 *aMem; + void *pCtx; + assert( pTask!=0 ); assert( pTask->pThread==0 && pTask->bDone==0 ); assert( pTask->list.pList==0 ); assert( pTask->list.aMemory==0 || pSorter->list.aMemory!=0 ); + aMem = pTask->list.aMemory; + pCtx = (void*)pTask; pSorter->iPrev = (u8)(pTask - pSorter->aTask); pTask->list = pSorter->list; pSorter->list.pList = 0; @@ -92896,15 +94115,19 @@ SQLITE_PRIVATE int sqlite3VdbeSorterWrite( if( nMin>pSorter->nMemory ){ u8 *aNew; - int iListOff = (u8*)pSorter->list.pList - pSorter->list.aMemory; - int nNew = pSorter->nMemory * 2; + sqlite3_int64 nNew = 2 * (sqlite3_int64)pSorter->nMemory; + int iListOff = -1; + if( pSorter->list.pList ){ + iListOff = (u8*)pSorter->list.pList - pSorter->list.aMemory; + } while( nNew < nMin ) nNew = nNew*2; if( nNew > pSorter->mxPmaSize ) nNew = pSorter->mxPmaSize; if( nNew < nMin ) nNew = nMin; - aNew = sqlite3Realloc(pSorter->list.aMemory, nNew); if( !aNew ) return SQLITE_NOMEM_BKPT; - pSorter->list.pList = (SorterRecord*)&aNew[iListOff]; + if( iListOff>=0 ){ + pSorter->list.pList = (SorterRecord*)&aNew[iListOff]; + } pSorter->list.aMemory = aNew; pSorter->nMemory = nNew; } @@ -93922,14 +95145,9 @@ static int memjrnlRead( int iChunkOffset; FileChunk *pChunk; -#if defined(SQLITE_ENABLE_ATOMIC_WRITE) \ - || defined(SQLITE_ENABLE_BATCH_ATOMIC_WRITE) if( (iAmt+iOfst)>p->endpoint.iOffset ){ return SQLITE_IOERR_SHORT_READ; } -#endif - - assert( (iAmt+iOfst)<=p->endpoint.iOffset ); assert( p->readpoint.iOffset==0 || p->readpoint.pChunk!=0 ); if( p->readpoint.iOffset!=iOfst || iOfst==0 ){ sqlite3_int64 iOff = 0; @@ -94280,6 +95498,35 @@ SQLITE_PRIVATE int sqlite3JournalSize(sqlite3_vfs *pVfs){ /* #include */ +#if !defined(SQLITE_OMIT_WINDOWFUNC) +/* +** Walk all expressions linked into the list of Window objects passed +** as the second argument. +*/ +static int walkWindowList(Walker *pWalker, Window *pList){ + Window *pWin; + for(pWin=pList; pWin; pWin=pWin->pNextWin){ + int rc; + rc = sqlite3WalkExprList(pWalker, pWin->pOrderBy); + if( rc ) return WRC_Abort; + rc = sqlite3WalkExprList(pWalker, pWin->pPartition); + if( rc ) return WRC_Abort; + rc = sqlite3WalkExpr(pWalker, pWin->pFilter); + if( rc ) return WRC_Abort; + + /* The next two are purely for calls to sqlite3RenameExprUnmap() + ** within sqlite3WindowOffsetExpr(). Because of constraints imposed + ** by sqlite3WindowOffsetExpr(), they can never fail. The results do + ** not matter anyhow. */ + rc = sqlite3WalkExpr(pWalker, pWin->pStart); + if( NEVER(rc) ) return WRC_Abort; + rc = sqlite3WalkExpr(pWalker, pWin->pEnd); + if( NEVER(rc) ) return WRC_Abort; + } + return WRC_Continue; +} +#endif + /* ** Walk an expression tree. Invoke the callback once for each node ** of the expression, while descending. (In other words, the callback @@ -94310,21 +95557,22 @@ static SQLITE_NOINLINE int walkExpr(Walker *pWalker, Expr *pExpr){ if( pExpr->pLeft && walkExpr(pWalker, pExpr->pLeft) ) return WRC_Abort; assert( pExpr->x.pList==0 || pExpr->pRight==0 ); if( pExpr->pRight ){ + assert( !ExprHasProperty(pExpr, EP_WinFunc) ); pExpr = pExpr->pRight; continue; }else if( ExprHasProperty(pExpr, EP_xIsSelect) ){ + assert( !ExprHasProperty(pExpr, EP_WinFunc) ); if( sqlite3WalkSelect(pWalker, pExpr->x.pSelect) ) return WRC_Abort; - }else if( pExpr->x.pList ){ - if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort; - } + }else{ + if( pExpr->x.pList ){ + if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort; + } #ifndef SQLITE_OMIT_WINDOWFUNC - if( ExprHasProperty(pExpr, EP_WinFunc) ){ - Window *pWin = pExpr->y.pWin; - if( sqlite3WalkExprList(pWalker, pWin->pPartition) ) return WRC_Abort; - if( sqlite3WalkExprList(pWalker, pWin->pOrderBy) ) return WRC_Abort; - if( sqlite3WalkExpr(pWalker, pWin->pFilter) ) return WRC_Abort; - } + if( ExprHasProperty(pExpr, EP_WinFunc) ){ + if( walkWindowList(pWalker, pExpr->y.pWin) ) return WRC_Abort; + } #endif + } } break; } @@ -94362,6 +95610,17 @@ SQLITE_PRIVATE int sqlite3WalkSelectExpr(Walker *pWalker, Select *p){ if( sqlite3WalkExpr(pWalker, p->pHaving) ) return WRC_Abort; if( sqlite3WalkExprList(pWalker, p->pOrderBy) ) return WRC_Abort; if( sqlite3WalkExpr(pWalker, p->pLimit) ) return WRC_Abort; +#if !defined(SQLITE_OMIT_WINDOWFUNC) && !defined(SQLITE_OMIT_ALTERTABLE) + { + Parse *pParse = pWalker->pParse; + if( pParse && IN_RENAME_OBJECT ){ + /* The following may return WRC_Abort if there are unresolvable + ** symbols (e.g. a table that does not exist) in a window definition. */ + int rc = walkWindowList(pWalker, p->pWinDefn); + return rc; + } + } +#endif return WRC_Continue; } @@ -94513,7 +95772,6 @@ static void resolveAlias( if( pExpr->op==TK_COLLATE ){ pDup = sqlite3ExprAddCollateString(pParse, pDup, pExpr->u.zToken); } - ExprSetProperty(pDup, EP_Alias); /* Before calling sqlite3ExprDelete(), set the EP_Static flag. This ** prevents ExprDelete() from deleting the Expr structure itself, @@ -94530,6 +95788,13 @@ static void resolveAlias( pExpr->u.zToken = sqlite3DbStrDup(db, pExpr->u.zToken); pExpr->flags |= EP_MemToken; } + if( ExprHasProperty(pExpr, EP_WinFunc) ){ + if( pExpr->y.pWin!=0 ){ + pExpr->y.pWin->pOwner = pExpr; + }else{ + assert( db->mallocFailed ); + } + } sqlite3DbFree(db, pDup); } ExprSetProperty(pExpr, EP_Alias); @@ -94582,6 +95847,23 @@ SQLITE_PRIVATE int sqlite3MatchSpanName( return 1; } +/* +** Return TRUE if the double-quoted string mis-feature should be supported. +*/ +static int areDoubleQuotedStringsEnabled(sqlite3 *db, NameContext *pTopNC){ + if( db->init.busy ) return 1; /* Always support for legacy schemas */ + if( pTopNC->ncFlags & NC_IsDDL ){ + /* Currently parsing a DDL statement */ + if( sqlite3WritableSchema(db) && (db->flags & SQLITE_DqsDML)!=0 ){ + return 1; + } + return (db->flags & SQLITE_DqsDDL)!=0; + }else{ + /* Currently parsing a DML statement */ + return (db->flags & SQLITE_DqsDML)!=0; + } +} + /* ** Given the name of a column of the form X.Y.Z or Y.Z or just Z, look up ** that name in the set of source tables in pSrcList and make the pExpr @@ -94798,7 +96080,7 @@ static int lookupName( { #ifndef SQLITE_OMIT_TRIGGER if( iCol<0 ){ - pExpr->affinity = SQLITE_AFF_INTEGER; + pExpr->affExpr = SQLITE_AFF_INTEGER; }else if( pExpr->iTable==0 ){ testcase( iCol==31 ); testcase( iCol==32 ); @@ -94830,7 +96112,7 @@ static int lookupName( ){ cnt = 1; pExpr->iColumn = -1; - pExpr->affinity = SQLITE_AFF_INTEGER; + pExpr->affExpr = SQLITE_AFF_INTEGER; } /* @@ -94869,6 +96151,10 @@ static int lookupName( sqlite3ErrorMsg(pParse, "misuse of aliased aggregate %s", zAs); return WRC_Abort; } + if( (pNC->ncFlags&NC_AllowWin)==0 && ExprHasProperty(pOrig, EP_Win) ){ + sqlite3ErrorMsg(pParse, "misuse of aliased window function %s",zAs); + return WRC_Abort; + } if( sqlite3ExprVectorSize(pOrig)!=1 ){ sqlite3ErrorMsg(pParse, "row value misused"); return WRC_Abort; @@ -94906,7 +96192,28 @@ static int lookupName( */ if( cnt==0 && zTab==0 ){ assert( pExpr->op==TK_ID ); - if( ExprHasProperty(pExpr,EP_DblQuoted) ){ + if( ExprHasProperty(pExpr,EP_DblQuoted) + && areDoubleQuotedStringsEnabled(db, pTopNC) + ){ + /* If a double-quoted identifier does not match any known column name, + ** then treat it as a string. + ** + ** This hack was added in the early days of SQLite in a misguided attempt + ** to be compatible with MySQL 3.x, which used double-quotes for strings. + ** I now sorely regret putting in this hack. The effect of this hack is + ** that misspelled identifier names are silently converted into strings + ** rather than causing an error, to the frustration of countless + ** programmers. To all those frustrated programmers, my apologies. + ** + ** Someday, I hope to get rid of this hack. Unfortunately there is + ** a huge amount of legacy SQL that uses it. So for now, we just + ** issue a warning. + */ + sqlite3_log(SQLITE_WARNING, + "double-quoted string literal: \"%w\"", zCol); +#ifdef SQLITE_ENABLE_NORMALIZE + sqlite3VdbeAddDblquoteStr(db, pParse->pVdbe, zCol); +#endif pExpr->op = TK_STRING; pExpr->y.pTab = 0; return WRC_Prune; @@ -95081,7 +96388,7 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ pExpr->y.pTab = pItem->pTab; pExpr->iTable = pItem->iCursor; pExpr->iColumn = -1; - pExpr->affinity = SQLITE_AFF_INTEGER; + pExpr->affExpr = SQLITE_AFF_INTEGER; break; } #endif /* defined(SQLITE_ENABLE_UPDATE_DELETE_LIMIT) @@ -95140,7 +96447,10 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ const char *zId; /* The function name. */ FuncDef *pDef; /* Information about the function */ u8 enc = ENC(pParse->db); /* The database encoding */ - + int savedAllowFlags = (pNC->ncFlags & (NC_AllowAgg | NC_AllowWin)); +#ifndef SQLITE_OMIT_WINDOWFUNC + Window *pWin = (IsWindowFunc(pExpr) ? pExpr->y.pWin : 0); +#endif assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); zId = pExpr->u.zToken; nId = sqlite3Strlen30(zId); @@ -95155,7 +96465,7 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ }else{ is_agg = pDef->xFinalize!=0; if( pDef->funcFlags & SQLITE_FUNC_UNLIKELY ){ - ExprSetProperty(pExpr, EP_Unlikely|EP_Skip); + ExprSetProperty(pExpr, EP_Unlikely); if( n==2 ){ pExpr->iTable = exprProbability(pList->a[1].pExpr); if( pExpr->iTable<0 ){ @@ -95212,6 +96522,15 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ ** SQL is being compiled using sqlite3NestedParse() */ no_such_func = 1; pDef = 0; + }else + if( (pDef->funcFlags & SQLITE_FUNC_DIRECT)!=0 + && ExprHasProperty(pExpr, EP_Indirect) + && !IN_RENAME_OBJECT + ){ + /* Functions tagged with SQLITE_DIRECTONLY may not be used + ** inside of triggers and views */ + sqlite3ErrorMsg(pParse, "%s() prohibited in triggers and views", + pDef->zName); } } @@ -95221,18 +96540,18 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ || (pDef->xValue==0 && pDef->xInverse==0) || (pDef->xValue && pDef->xInverse && pDef->xSFunc && pDef->xFinalize) ); - if( pDef && pDef->xValue==0 && ExprHasProperty(pExpr, EP_WinFunc) ){ + if( pDef && pDef->xValue==0 && pWin ){ sqlite3ErrorMsg(pParse, "%.*s() may not be used as a window function", nId, zId ); pNC->nErr++; }else if( (is_agg && (pNC->ncFlags & NC_AllowAgg)==0) - || (is_agg && (pDef->funcFlags&SQLITE_FUNC_WINDOW) && !pExpr->y.pWin) - || (is_agg && pExpr->y.pWin && (pNC->ncFlags & NC_AllowWin)==0) + || (is_agg && (pDef->funcFlags&SQLITE_FUNC_WINDOW) && !pWin) + || (is_agg && pWin && (pNC->ncFlags & NC_AllowWin)==0) ){ const char *zType; - if( (pDef->funcFlags & SQLITE_FUNC_WINDOW) || pExpr->y.pWin ){ + if( (pDef->funcFlags & SQLITE_FUNC_WINDOW) || pWin ){ zType = "window"; }else{ zType = "aggregate"; @@ -95260,49 +96579,69 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ nId, zId); pNC->nErr++; } +#ifndef SQLITE_OMIT_WINDOWFUNC + else if( is_agg==0 && ExprHasProperty(pExpr, EP_WinFunc) ){ + sqlite3ErrorMsg(pParse, + "FILTER may not be used with non-aggregate %.*s()", + nId, zId + ); + pNC->nErr++; + } +#endif if( is_agg ){ + /* Window functions may not be arguments of aggregate functions. + ** Or arguments of other window functions. But aggregate functions + ** may be arguments for window functions. */ #ifndef SQLITE_OMIT_WINDOWFUNC - pNC->ncFlags &= ~(pExpr->y.pWin ? NC_AllowWin : NC_AllowAgg); + pNC->ncFlags &= ~(NC_AllowWin | (!pWin ? NC_AllowAgg : 0)); #else pNC->ncFlags &= ~NC_AllowAgg; #endif } } +#ifndef SQLITE_OMIT_WINDOWFUNC + else if( ExprHasProperty(pExpr, EP_WinFunc) ){ + is_agg = 1; + } +#endif sqlite3WalkExprList(pWalker, pList); if( is_agg ){ #ifndef SQLITE_OMIT_WINDOWFUNC - if( pExpr->y.pWin ){ + if( pWin ){ Select *pSel = pNC->pWinSelect; - sqlite3WalkExprList(pWalker, pExpr->y.pWin->pPartition); - sqlite3WalkExprList(pWalker, pExpr->y.pWin->pOrderBy); - sqlite3WalkExpr(pWalker, pExpr->y.pWin->pFilter); - sqlite3WindowUpdate(pParse, pSel->pWinDefn, pExpr->y.pWin, pDef); - if( 0==pSel->pWin - || 0==sqlite3WindowCompare(pParse, pSel->pWin, pExpr->y.pWin) - ){ - pExpr->y.pWin->pNextWin = pSel->pWin; - pSel->pWin = pExpr->y.pWin; + assert( pWin==pExpr->y.pWin ); + if( IN_RENAME_OBJECT==0 ){ + sqlite3WindowUpdate(pParse, pSel->pWinDefn, pWin, pDef); } - pNC->ncFlags |= NC_AllowWin; + sqlite3WalkExprList(pWalker, pWin->pPartition); + sqlite3WalkExprList(pWalker, pWin->pOrderBy); + sqlite3WalkExpr(pWalker, pWin->pFilter); + sqlite3WindowLink(pSel, pWin); + pNC->ncFlags |= NC_HasWin; }else #endif /* SQLITE_OMIT_WINDOWFUNC */ { NameContext *pNC2 = pNC; pExpr->op = TK_AGG_FUNCTION; pExpr->op2 = 0; +#ifndef SQLITE_OMIT_WINDOWFUNC + if( ExprHasProperty(pExpr, EP_WinFunc) ){ + sqlite3WalkExpr(pWalker, pExpr->y.pWin->pFilter); + } +#endif while( pNC2 && !sqlite3FunctionUsesThisSrc(pExpr, pNC2->pSrcList) ){ pExpr->op2++; pNC2 = pNC2->pNext; } - assert( pDef!=0 ); - if( pNC2 ){ + assert( pDef!=0 || IN_RENAME_OBJECT ); + if( pNC2 && pDef ){ assert( SQLITE_FUNC_MINMAX==NC_MinMaxAgg ); testcase( (pDef->funcFlags & SQLITE_FUNC_MINMAX)!=0 ); pNC2->ncFlags |= NC_HasAgg | (pDef->funcFlags & SQLITE_FUNC_MINMAX); } - pNC->ncFlags |= NC_AllowAgg; } + pNC->ncFlags |= savedAllowFlags; } /* FIX ME: Compute pExpr->affinity based on the expected return ** type of the function @@ -95333,11 +96672,11 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ } case TK_IS: case TK_ISNOT: { - Expr *pRight; + Expr *pRight = sqlite3ExprSkipCollateAndLikely(pExpr->pRight); assert( !ExprHasProperty(pExpr, EP_Reduced) ); /* Handle special cases of "x IS TRUE", "x IS FALSE", "x IS NOT TRUE", ** and "x IS NOT FALSE". */ - if( (pRight = pExpr->pRight)->op==TK_ID ){ + if( pRight->op==TK_ID ){ int rc = resolveExprStep(pWalker, pRight); if( rc==WRC_Abort ) return WRC_Abort; if( pRight->op==TK_TRUEFALSE ){ @@ -95544,7 +96883,7 @@ static int resolveCompoundOrderBy( int iCol = -1; Expr *pE, *pDup; if( pItem->done ) continue; - pE = sqlite3ExprSkipCollate(pItem->pExpr); + pE = sqlite3ExprSkipCollateAndLikely(pItem->pExpr); if( sqlite3ExprIsInteger(pE, &iCol) ){ if( iCol<=0 || iCol>pEList->nExpr ){ resolveOutOfRangeError(pParse, "ORDER", i+1, pEList->nExpr); @@ -95553,32 +96892,53 @@ static int resolveCompoundOrderBy( }else{ iCol = resolveAsName(pParse, pEList, pE); if( iCol==0 ){ - pDup = sqlite3ExprDup(db, pE, 0); + /* Now test if expression pE matches one of the values returned + ** by pSelect. In the usual case this is done by duplicating the + ** expression, resolving any symbols in it, and then comparing + ** it against each expression returned by the SELECT statement. + ** Once the comparisons are finished, the duplicate expression + ** is deleted. + ** + ** Or, if this is running as part of an ALTER TABLE operation, + ** resolve the symbols in the actual expression, not a duplicate. + ** And, if one of the comparisons is successful, leave the expression + ** as is instead of transforming it to an integer as in the usual + ** case. This allows the code in alter.c to modify column + ** refererences within the ORDER BY expression as required. */ + if( IN_RENAME_OBJECT ){ + pDup = pE; + }else{ + pDup = sqlite3ExprDup(db, pE, 0); + } if( !db->mallocFailed ){ assert(pDup); iCol = resolveOrderByTermToExprList(pParse, pSelect, pDup); } - sqlite3ExprDelete(db, pDup); + if( !IN_RENAME_OBJECT ){ + sqlite3ExprDelete(db, pDup); + } } } if( iCol>0 ){ /* Convert the ORDER BY term into an integer column number iCol, ** taking care to preserve the COLLATE clause if it exists */ - Expr *pNew = sqlite3Expr(db, TK_INTEGER, 0); - if( pNew==0 ) return 1; - pNew->flags |= EP_IntValue; - pNew->u.iValue = iCol; - if( pItem->pExpr==pE ){ - pItem->pExpr = pNew; - }else{ - Expr *pParent = pItem->pExpr; - assert( pParent->op==TK_COLLATE ); - while( pParent->pLeft->op==TK_COLLATE ) pParent = pParent->pLeft; - assert( pParent->pLeft==pE ); - pParent->pLeft = pNew; + if( !IN_RENAME_OBJECT ){ + Expr *pNew = sqlite3Expr(db, TK_INTEGER, 0); + if( pNew==0 ) return 1; + pNew->flags |= EP_IntValue; + pNew->u.iValue = iCol; + if( pItem->pExpr==pE ){ + pItem->pExpr = pNew; + }else{ + Expr *pParent = pItem->pExpr; + assert( pParent->op==TK_COLLATE ); + while( pParent->pLeft->op==TK_COLLATE ) pParent = pParent->pLeft; + assert( pParent->pLeft==pE ); + pParent->pLeft = pNew; + } + sqlite3ExprDelete(db, pE); + pItem->u.x.iOrderByCol = (u16)iCol; } - sqlite3ExprDelete(db, pE); - pItem->u.x.iOrderByCol = (u16)iCol; pItem->done = 1; }else{ moreToDo = 1; @@ -95617,7 +96977,7 @@ SQLITE_PRIVATE int sqlite3ResolveOrderGroupBy( ExprList *pEList; struct ExprList_item *pItem; - if( pOrderBy==0 || pParse->db->mallocFailed ) return 0; + if( pOrderBy==0 || pParse->db->mallocFailed || IN_RENAME_OBJECT ) return 0; if( pOrderBy->nExpr>db->aLimit[SQLITE_LIMIT_COLUMN] ){ sqlite3ErrorMsg(pParse, "too many terms in %s BY clause", zType); return 1; @@ -95637,6 +96997,36 @@ SQLITE_PRIVATE int sqlite3ResolveOrderGroupBy( return 0; } +#ifndef SQLITE_OMIT_WINDOWFUNC +/* +** Walker callback for windowRemoveExprFromSelect(). +*/ +static int resolveRemoveWindowsCb(Walker *pWalker, Expr *pExpr){ + UNUSED_PARAMETER(pWalker); + if( ExprHasProperty(pExpr, EP_WinFunc) ){ + Window *pWin = pExpr->y.pWin; + sqlite3WindowUnlinkFromSelect(pWin); + } + return WRC_Continue; +} + +/* +** Remove any Window objects owned by the expression pExpr from the +** Select.pWin list of Select object pSelect. +*/ +static void windowRemoveExprFromSelect(Select *pSelect, Expr *pExpr){ + if( pSelect->pWin ){ + Walker sWalker; + memset(&sWalker, 0, sizeof(Walker)); + sWalker.xExprCallback = resolveRemoveWindowsCb; + sWalker.u.pSelect = pSelect; + sqlite3WalkExpr(&sWalker, pExpr); + } +} +#else +# define windowRemoveExprFromSelect(a, b) +#endif /* SQLITE_OMIT_WINDOWFUNC */ + /* ** pOrderBy is an ORDER BY or GROUP BY clause in SELECT statement pSelect. ** The Name context of the SELECT statement is pNC. zType is either @@ -95672,7 +97062,7 @@ static int resolveOrderGroupBy( pParse = pNC->pParse; for(i=0, pItem=pOrderBy->a; inExpr; i++, pItem++){ Expr *pE = pItem->pExpr; - Expr *pE2 = sqlite3ExprSkipCollate(pE); + Expr *pE2 = sqlite3ExprSkipCollateAndLikely(pE); if( zType[0]!='G' ){ iCol = resolveAsName(pParse, pSelect->pEList, pE2); if( iCol>0 ){ @@ -95703,19 +97093,10 @@ static int resolveOrderGroupBy( } for(j=0; jpEList->nExpr; j++){ if( sqlite3ExprCompare(0, pE, pSelect->pEList->a[j].pExpr, -1)==0 ){ -#ifndef SQLITE_OMIT_WINDOWFUNC - if( ExprHasProperty(pE, EP_WinFunc) ){ - /* Since this window function is being changed into a reference - ** to the same window function the result set, remove the instance - ** of this window function from the Select.pWin list. */ - Window **pp; - for(pp=&pSelect->pWin; *pp; pp=&(*pp)->pNextWin){ - if( *pp==pE->y.pWin ){ - *pp = (*pp)->pNextWin; - } - } - } -#endif + /* Since this expresion is being changed into a reference + ** to an identical expression in the result set, remove all Window + ** objects belonging to the expression from the Select.pWin list. */ + windowRemoveExprFromSelect(pSelect, pE); pItem->u.x.iOrderByCol = j+1; } } @@ -95795,7 +97176,7 @@ static int resolveSelectStep(Walker *pWalker, Select *p){ */ for(i=0; ipSrc->nSrc; i++){ struct SrcList_item *pItem = &p->pSrc->a[i]; - if( pItem->pSelect ){ + if( pItem->pSelect && (pItem->pSelect->selFlags & SF_Resolved)==0 ){ NameContext *pNC; /* Used to iterate name contexts */ int nRef = 0; /* Refcount for pOuterNC and outer contexts */ const char *zSavedContext = pParse->zAuthContext; @@ -95927,6 +97308,19 @@ static int resolveSelectStep(Walker *pWalker, Select *p){ } } +#ifndef SQLITE_OMIT_WINDOWFUNC + if( IN_RENAME_OBJECT ){ + Window *pWin; + for(pWin=p->pWinDefn; pWin; pWin=pWin->pNextWin){ + if( sqlite3ResolveExprListNames(&sNC, pWin->pOrderBy) + || sqlite3ResolveExprListNames(&sNC, pWin->pPartition) + ){ + return WRC_Abort; + } + } + } +#endif + /* If this is part of a compound SELECT, check that it has the right ** number of expressions in the select list. */ if( p->pNext && p->pEList->nExpr!=p->pNext->pEList->nExpr ){ @@ -96002,12 +97396,12 @@ SQLITE_PRIVATE int sqlite3ResolveExprNames( NameContext *pNC, /* Namespace to resolve expressions in. */ Expr *pExpr /* The expression to be analyzed. */ ){ - u16 savedHasAgg; + int savedHasAgg; Walker w; if( pExpr==0 ) return SQLITE_OK; - savedHasAgg = pNC->ncFlags & (NC_HasAgg|NC_MinMaxAgg); - pNC->ncFlags &= ~(NC_HasAgg|NC_MinMaxAgg); + savedHasAgg = pNC->ncFlags & (NC_HasAgg|NC_MinMaxAgg|NC_HasWin); + pNC->ncFlags &= ~(NC_HasAgg|NC_MinMaxAgg|NC_HasWin); w.pParse = pNC->pParse; w.xExprCallback = resolveExprStep; w.xSelectCallback = resolveSelectStep; @@ -96023,9 +97417,11 @@ SQLITE_PRIVATE int sqlite3ResolveExprNames( #if SQLITE_MAX_EXPR_DEPTH>0 w.pParse->nHeight -= pExpr->nHeight; #endif - if( pNC->ncFlags & NC_HasAgg ){ - ExprSetProperty(pExpr, EP_Agg); - } + assert( EP_Agg==NC_HasAgg ); + assert( EP_Win==NC_HasWin ); + testcase( pNC->ncFlags & NC_HasAgg ); + testcase( pNC->ncFlags & NC_HasWin ); + ExprSetProperty(pExpr, pNC->ncFlags & (NC_HasAgg|NC_HasWin) ); pNC->ncFlags |= savedHasAgg; return pNC->nErr>0 || w.pParse->nErr>0; } @@ -96077,38 +97473,47 @@ SQLITE_PRIVATE void sqlite3ResolveSelectNames( } /* -** Resolve names in expressions that can only reference a single table: +** Resolve names in expressions that can only reference a single table +** or which cannot reference any tables at all. Examples: ** -** * CHECK constraints -** * WHERE clauses on partial indices +** (1) CHECK constraints +** (2) WHERE clauses on partial indices +** (3) Expressions in indexes on expressions +** (4) Expression arguments to VACUUM INTO. ** -** The Expr.iTable value for Expr.op==TK_COLUMN nodes of the expression -** is set to -1 and the Expr.iColumn value is set to the column number. +** In all cases except (4), the Expr.iTable value for Expr.op==TK_COLUMN +** nodes of the expression is set to -1 and the Expr.iColumn value is +** set to the column number. In case (4), TK_COLUMN nodes cause an error. ** ** Any errors cause an error message to be set in pParse. */ -SQLITE_PRIVATE void sqlite3ResolveSelfReference( +SQLITE_PRIVATE int sqlite3ResolveSelfReference( Parse *pParse, /* Parsing context */ - Table *pTab, /* The table being referenced */ - int type, /* NC_IsCheck or NC_PartIdx or NC_IdxExpr */ + Table *pTab, /* The table being referenced, or NULL */ + int type, /* NC_IsCheck or NC_PartIdx or NC_IdxExpr, or 0 */ Expr *pExpr, /* Expression to resolve. May be NULL. */ ExprList *pList /* Expression list to resolve. May be NULL. */ ){ SrcList sSrc; /* Fake SrcList for pParse->pNewTable */ NameContext sNC; /* Name context for pParse->pNewTable */ + int rc; - assert( type==NC_IsCheck || type==NC_PartIdx || type==NC_IdxExpr ); + assert( type==0 || pTab!=0 ); + assert( type==NC_IsCheck || type==NC_PartIdx || type==NC_IdxExpr || pTab==0 ); memset(&sNC, 0, sizeof(sNC)); memset(&sSrc, 0, sizeof(sSrc)); - sSrc.nSrc = 1; - sSrc.a[0].zName = pTab->zName; - sSrc.a[0].pTab = pTab; - sSrc.a[0].iCursor = -1; + if( pTab ){ + sSrc.nSrc = 1; + sSrc.a[0].zName = pTab->zName; + sSrc.a[0].pTab = pTab; + sSrc.a[0].iCursor = -1; + } sNC.pParse = pParse; sNC.pSrcList = &sSrc; - sNC.ncFlags = type; - if( sqlite3ResolveExprNames(&sNC, pExpr) ) return; - if( pList ) sqlite3ResolveExprListNames(&sNC, pList); + sNC.ncFlags = type | NC_IsDDL; + if( (rc = sqlite3ResolveExprNames(&sNC, pExpr))!=SQLITE_OK ) return rc; + if( pList ) rc = sqlite3ResolveExprListNames(&sNC, pList); + return rc; } /************** End of resolve.c *********************************************/ @@ -96159,8 +97564,11 @@ SQLITE_PRIVATE char sqlite3TableColumnAffinity(Table *pTab, int iCol){ */ SQLITE_PRIVATE char sqlite3ExprAffinity(Expr *pExpr){ int op; - pExpr = sqlite3ExprSkipCollate(pExpr); - if( pExpr->flags & EP_Generic ) return 0; + while( ExprHasProperty(pExpr, EP_Skip) ){ + assert( pExpr->op==TK_COLLATE ); + pExpr = pExpr->pLeft; + assert( pExpr!=0 ); + } op = pExpr->op; if( op==TK_SELECT ){ assert( pExpr->flags&EP_xIsSelect ); @@ -96182,7 +97590,7 @@ SQLITE_PRIVATE char sqlite3ExprAffinity(Expr *pExpr){ pExpr->pLeft->x.pSelect->pEList->a[pExpr->iColumn].pExpr ); } - return pExpr->affinity; + return pExpr->affExpr; } /* @@ -96217,11 +97625,23 @@ SQLITE_PRIVATE Expr *sqlite3ExprAddCollateString(Parse *pParse, Expr *pExpr, con } /* -** Skip over any TK_COLLATE operators and any unlikely() -** or likelihood() function at the root of an expression. +** Skip over any TK_COLLATE operators. */ SQLITE_PRIVATE Expr *sqlite3ExprSkipCollate(Expr *pExpr){ while( pExpr && ExprHasProperty(pExpr, EP_Skip) ){ + assert( pExpr->op==TK_COLLATE ); + pExpr = pExpr->pLeft; + } + return pExpr; +} + +/* +** Skip over any TK_COLLATE operators and/or any unlikely() +** or likelihood() or likely() functions at the root of an +** expression. +*/ +SQLITE_PRIVATE Expr *sqlite3ExprSkipCollateAndLikely(Expr *pExpr){ + while( pExpr && ExprHasProperty(pExpr, EP_Skip|EP_Unlikely) ){ if( ExprHasProperty(pExpr, EP_Unlikely) ){ assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); assert( pExpr->x.pList->nExpr>0 ); @@ -96255,9 +97675,8 @@ SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, Expr *pExpr){ Expr *p = pExpr; while( p ){ int op = p->op; - if( p->flags & EP_Generic ) break; - if( (op==TK_AGG_COLUMN || op==TK_COLUMN - || op==TK_REGISTER || op==TK_TRIGGER) + if( op==TK_REGISTER ) op = p->op2; + if( (op==TK_AGG_COLUMN || op==TK_COLUMN || op==TK_TRIGGER) && p->y.pTab!=0 ){ /* op==TK_REGISTER && p->y.pTab!=0 happens when pExpr was originally @@ -96273,7 +97692,7 @@ SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, Expr *pExpr){ p = p->pLeft; continue; } - if( op==TK_COLLATE || (op==TK_REGISTER && p->op2==TK_COLLATE) ){ + if( op==TK_COLLATE ){ pColl = sqlite3GetCollSeq(pParse, ENC(db), 0, p->u.zToken); break; } @@ -96341,7 +97760,7 @@ SQLITE_PRIVATE int sqlite3ExprCollSeqMatch(Parse *pParse, Expr *pE1, Expr *pE2){ */ SQLITE_PRIVATE char sqlite3CompareAffinity(Expr *pExpr, char aff2){ char aff1 = sqlite3ExprAffinity(pExpr); - if( aff1 && aff2 ){ + if( aff1>SQLITE_AFF_NONE && aff2>SQLITE_AFF_NONE ){ /* Both sides of the comparison are columns. If one has numeric ** affinity, use that. Otherwise use no affinity. */ @@ -96350,15 +97769,10 @@ SQLITE_PRIVATE char sqlite3CompareAffinity(Expr *pExpr, char aff2){ }else{ return SQLITE_AFF_BLOB; } - }else if( !aff1 && !aff2 ){ - /* Neither side of the comparison is a column. Compare the - ** results directly. - */ - return SQLITE_AFF_BLOB; }else{ /* One side is a column, the other is not. Use the columns affinity. */ - assert( aff1==0 || aff2==0 ); - return (aff1 + aff2); + assert( aff1<=SQLITE_AFF_NONE || aff2<=SQLITE_AFF_NONE ); + return (aff1<=SQLITE_AFF_NONE ? aff2 : aff1) | SQLITE_AFF_NONE; } } @@ -96391,14 +97805,13 @@ static char comparisonAffinity(Expr *pExpr){ */ SQLITE_PRIVATE int sqlite3IndexAffinityOk(Expr *pExpr, char idx_affinity){ char aff = comparisonAffinity(pExpr); - switch( aff ){ - case SQLITE_AFF_BLOB: - return 1; - case SQLITE_AFF_TEXT: - return idx_affinity==SQLITE_AFF_TEXT; - default: - return sqlite3IsNumericAffinity(idx_affinity); + if( affop==TK_VECTOR ) pVector = pVector->x.pList->a[iField].pExpr; pRet = sqlite3ExprDup(pParse->db, pVector, 0); + sqlite3RenameTokenRemap(pParse, pRet, pVector); } return pRet; } @@ -96596,7 +98010,7 @@ static int exprCodeSubselect(Parse *pParse, Expr *pExpr){ int reg = 0; #ifndef SQLITE_OMIT_SUBQUERY if( pExpr->op==TK_SELECT ){ - reg = sqlite3CodeSubselect(pParse, pExpr, 0, 0); + reg = sqlite3CodeSubselect(pParse, pExpr); } #endif return reg; @@ -96668,7 +98082,7 @@ static void codeVectorCompare( int regLeft = 0; int regRight = 0; u8 opx = op; - int addrDone = sqlite3VdbeMakeLabel(v); + int addrDone = sqlite3VdbeMakeLabel(pParse); if( nLeft!=sqlite3ExprVectorSize(pRight) ){ sqlite3ErrorMsg(pParse, "row value misused"); @@ -96887,7 +98301,7 @@ SQLITE_PRIVATE Expr *sqlite3ExprAlloc( pNew->iAgg = -1; if( pToken ){ if( nExtra==0 ){ - pNew->flags |= EP_IntValue|EP_Leaf; + pNew->flags |= EP_IntValue|EP_Leaf|(iValue?EP_IsTrue:EP_IsFalse); pNew->u.iValue = iValue; }else{ pNew->u.zToken = (char*)&pNew[1]; @@ -96895,8 +98309,7 @@ SQLITE_PRIVATE Expr *sqlite3ExprAlloc( if( pToken->n ) memcpy(pNew->u.zToken, pToken->z, pToken->n); pNew->u.zToken[pToken->n] = 0; if( dequote && sqlite3Isquote(pNew->u.zToken[0]) ){ - if( pNew->u.zToken[0]=='"' ) pNew->flags |= EP_DblQuoted; - sqlite3Dequote(pNew->u.zToken); + sqlite3DequoteExpr(pNew); } } } @@ -96965,20 +98378,16 @@ SQLITE_PRIVATE Expr *sqlite3PExpr( Expr *pRight /* Right operand */ ){ Expr *p; - if( op==TK_AND && pParse->nErr==0 ){ - /* Take advantage of short-circuit false optimization for AND */ - p = sqlite3ExprAnd(pParse->db, pLeft, pRight); - }else{ - p = sqlite3DbMallocRawNN(pParse->db, sizeof(Expr)); - if( p ){ - memset(p, 0, sizeof(Expr)); - p->op = op & TKFLG_MASK; - p->iAgg = -1; - } + p = sqlite3DbMallocRawNN(pParse->db, sizeof(Expr)); + if( p ){ + memset(p, 0, sizeof(Expr)); + p->op = op & 0xff; + p->iAgg = -1; sqlite3ExprAttachSubtrees(pParse->db, p, pLeft, pRight); - } - if( p ) { sqlite3ExprCheckHeight(pParse, p->nHeight); + }else{ + sqlite3ExprDelete(pParse->db, pLeft); + sqlite3ExprDelete(pParse->db, pRight); } return p; } @@ -96999,33 +98408,6 @@ SQLITE_PRIVATE void sqlite3PExprAddSelect(Parse *pParse, Expr *pExpr, Select *pS } -/* -** If the expression is always either TRUE or FALSE (respectively), -** then return 1. If one cannot determine the truth value of the -** expression at compile-time return 0. -** -** This is an optimization. If is OK to return 0 here even if -** the expression really is always false or false (a false negative). -** But it is a bug to return 1 if the expression might have different -** boolean values in different circumstances (a false positive.) -** -** Note that if the expression is part of conditional for a -** LEFT JOIN, then we cannot determine at compile-time whether or not -** is it true or false, so always return 0. -*/ -static int exprAlwaysTrue(Expr *p){ - int v = 0; - if( ExprHasProperty(p, EP_FromJoin) ) return 0; - if( !sqlite3ExprIsInteger(p, &v) ) return 0; - return v!=0; -} -static int exprAlwaysFalse(Expr *p){ - int v = 0; - if( ExprHasProperty(p, EP_FromJoin) ) return 0; - if( !sqlite3ExprIsInteger(p, &v) ) return 0; - return v==0; -} - /* ** Join two expressions using an AND operator. If either expression is ** NULL, then just return the other expression. @@ -97034,19 +98416,18 @@ static int exprAlwaysFalse(Expr *p){ ** of returning an AND expression, just return a constant expression with ** a value of false. */ -SQLITE_PRIVATE Expr *sqlite3ExprAnd(sqlite3 *db, Expr *pLeft, Expr *pRight){ - if( pLeft==0 ){ +SQLITE_PRIVATE Expr *sqlite3ExprAnd(Parse *pParse, Expr *pLeft, Expr *pRight){ + sqlite3 *db = pParse->db; + if( pLeft==0 ){ return pRight; }else if( pRight==0 ){ return pLeft; - }else if( exprAlwaysFalse(pLeft) || exprAlwaysFalse(pRight) ){ - sqlite3ExprDelete(db, pLeft); - sqlite3ExprDelete(db, pRight); - return sqlite3ExprAlloc(db, TK_INTEGER, &sqlite3IntTokens[0], 0); + }else if( ExprAlwaysFalse(pLeft) || ExprAlwaysFalse(pRight) ){ + sqlite3ExprUnmapAndDelete(pParse, pLeft); + sqlite3ExprUnmapAndDelete(pParse, pRight); + return sqlite3Expr(db, TK_INTEGER, "0"); }else{ - Expr *pNew = sqlite3ExprAlloc(db, TK_AND, 0, 0); - sqlite3ExprAttachSubtrees(db, pNew, pLeft, pRight); - return pNew; + return sqlite3PExpr(pParse, TK_AND, pLeft, pRight); } } @@ -97183,15 +98564,18 @@ static SQLITE_NOINLINE void sqlite3ExprDeleteNN(sqlite3 *db, Expr *p){ assert( p->x.pList==0 || p->pRight==0 ); if( p->pLeft && p->op!=TK_SELECT_COLUMN ) sqlite3ExprDeleteNN(db, p->pLeft); if( p->pRight ){ + assert( !ExprHasProperty(p, EP_WinFunc) ); sqlite3ExprDeleteNN(db, p->pRight); }else if( ExprHasProperty(p, EP_xIsSelect) ){ + assert( !ExprHasProperty(p, EP_WinFunc) ); sqlite3SelectDelete(db, p->x.pSelect); }else{ sqlite3ExprListDelete(db, p->x.pList); - } - if( ExprHasProperty(p, EP_WinFunc) ){ - assert( p->op==TK_FUNCTION ); - sqlite3WindowDelete(db, p->y.pWin); +#ifndef SQLITE_OMIT_WINDOWFUNC + if( ExprHasProperty(p, EP_WinFunc) ){ + sqlite3WindowDelete(db, p->y.pWin); + } +#endif } } if( ExprHasProperty(p, EP_MemToken) ) sqlite3DbFree(db, p->u.zToken); @@ -97203,6 +98587,18 @@ SQLITE_PRIVATE void sqlite3ExprDelete(sqlite3 *db, Expr *p){ if( p ) sqlite3ExprDeleteNN(db, p); } +/* Invoke sqlite3RenameExprUnmap() and sqlite3ExprDelete() on the +** expression. +*/ +SQLITE_PRIVATE void sqlite3ExprUnmapAndDelete(Parse *pParse, Expr *p){ + if( p ){ + if( IN_RENAME_OBJECT ){ + sqlite3RenameExprUnmap(pParse, p); + } + sqlite3ExprDeleteNN(pParse->db, p); + } +} + /* ** Return the number of bytes allocated for the expression structure ** passed as the first argument. This is always one of EXPR_FULLSIZE, @@ -97427,7 +98823,7 @@ static Expr *exprDup(sqlite3 *db, Expr *p, int dupFlags, u8 **pzBuffer){ static With *withDup(sqlite3 *db, With *p){ With *pRet = 0; if( p ){ - int nByte = sizeof(*p) + sizeof(p->a[0]) * (p->nCte-1); + sqlite3_int64 nByte = sizeof(*p) + sizeof(p->a[0]) * (p->nCte-1); pRet = sqlite3DbMallocZero(db, nByte); if( pRet ){ int i; @@ -97445,6 +98841,39 @@ static With *withDup(sqlite3 *db, With *p){ # define withDup(x,y) 0 #endif +#ifndef SQLITE_OMIT_WINDOWFUNC +/* +** The gatherSelectWindows() procedure and its helper routine +** gatherSelectWindowsCallback() are used to scan all the expressions +** an a newly duplicated SELECT statement and gather all of the Window +** objects found there, assembling them onto the linked list at Select->pWin. +*/ +static int gatherSelectWindowsCallback(Walker *pWalker, Expr *pExpr){ + if( pExpr->op==TK_FUNCTION && ExprHasProperty(pExpr, EP_WinFunc) ){ + Select *pSelect = pWalker->u.pSelect; + Window *pWin = pExpr->y.pWin; + assert( pWin ); + assert( IsWindowFunc(pExpr) ); + assert( pWin->ppThis==0 ); + sqlite3WindowLink(pSelect, pWin); + } + return WRC_Continue; +} +static int gatherSelectWindowsSelectCallback(Walker *pWalker, Select *p){ + return p==pWalker->u.pSelect ? WRC_Continue : WRC_Prune; +} +static void gatherSelectWindows(Select *p){ + Walker w; + w.xExprCallback = gatherSelectWindowsCallback; + w.xSelectCallback = gatherSelectWindowsSelectCallback; + w.xSelectCallback2 = 0; + w.pParse = 0; + w.u.pSelect = p; + sqlite3WalkSelect(&w, p); +} +#endif + + /* ** The following group of routines make deep copies of expressions, ** expression lists, ID lists, and select statements. The copies can @@ -97500,8 +98929,9 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListDup(sqlite3 *db, ExprList *p, int flags) } pItem->zName = sqlite3DbStrDup(db, pOldItem->zName); pItem->zSpan = sqlite3DbStrDup(db, pOldItem->zSpan); - pItem->sortOrder = pOldItem->sortOrder; + pItem->sortFlags = pOldItem->sortFlags; pItem->done = 0; + pItem->bNulls = pOldItem->bNulls; pItem->bSpanIsTab = pOldItem->bSpanIsTab; pItem->bSorterRef = pOldItem->bSorterRef; pItem->u = pOldItem->u; @@ -97612,6 +99042,7 @@ SQLITE_PRIVATE Select *sqlite3SelectDup(sqlite3 *db, Select *pDup, int flags){ #ifndef SQLITE_OMIT_WINDOWFUNC pNew->pWin = 0; pNew->pWinDefn = sqlite3WindowListDup(db, p->pWinDefn); + if( p->pWin && db->mallocFailed==0 ) gatherSelectWindows(pNew); #endif pNew->selId = p->selId; *pp = pNew; @@ -97661,7 +99092,7 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListAppend( }else if( (pList->nExpr & (pList->nExpr-1))==0 ){ ExprList *pNew; pNew = sqlite3DbRealloc(db, pList, - sizeof(*pList)+(2*pList->nExpr - 1)*sizeof(pList->a[0])); + sizeof(*pList)+(2*(sqlite3_int64)pList->nExpr-1)*sizeof(pList->a[0])); if( pNew==0 ){ goto no_mem; } @@ -97720,6 +99151,10 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListAppendVector( for(i=0; inId; i++){ Expr *pSubExpr = sqlite3ExprForVectorField(pParse, pExpr, i); + assert( pSubExpr!=0 || db->mallocFailed ); + assert( pSubExpr==0 || pSubExpr->iTable==0 ); + if( pSubExpr==0 ) continue; + pSubExpr->iTable = pColumns->nId; pList = sqlite3ExprListAppend(pParse, pList, pSubExpr); if( pList ){ assert( pList->nExpr==iFirst+i+1 ); @@ -97744,7 +99179,7 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListAppendVector( } vector_append_error: - sqlite3ExprDelete(db, pExpr); + sqlite3ExprUnmapAndDelete(pParse, pExpr); sqlite3IdListDelete(db, pColumns); return pList; } @@ -97752,15 +99187,34 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListAppendVector( /* ** Set the sort order for the last element on the given ExprList. */ -SQLITE_PRIVATE void sqlite3ExprListSetSortOrder(ExprList *p, int iSortOrder){ +SQLITE_PRIVATE void sqlite3ExprListSetSortOrder(ExprList *p, int iSortOrder, int eNulls){ + struct ExprList_item *pItem; if( p==0 ) return; - assert( SQLITE_SO_UNDEFINED<0 && SQLITE_SO_ASC>=0 && SQLITE_SO_DESC>0 ); assert( p->nExpr>0 ); - if( iSortOrder<0 ){ - assert( p->a[p->nExpr-1].sortOrder==SQLITE_SO_ASC ); - return; + + assert( SQLITE_SO_UNDEFINED<0 && SQLITE_SO_ASC==0 && SQLITE_SO_DESC>0 ); + assert( iSortOrder==SQLITE_SO_UNDEFINED + || iSortOrder==SQLITE_SO_ASC + || iSortOrder==SQLITE_SO_DESC + ); + assert( eNulls==SQLITE_SO_UNDEFINED + || eNulls==SQLITE_SO_ASC + || eNulls==SQLITE_SO_DESC + ); + + pItem = &p->a[p->nExpr-1]; + assert( pItem->bNulls==0 ); + if( iSortOrder==SQLITE_SO_UNDEFINED ){ + iSortOrder = SQLITE_SO_ASC; + } + pItem->sortFlags = (u8)iSortOrder; + + if( eNulls!=SQLITE_SO_UNDEFINED ){ + pItem->bNulls = 1; + if( iSortOrder!=eNulls ){ + pItem->sortFlags |= KEYINFO_ORDER_BIGNULL; + } } - p->a[p->nExpr-1].sortOrder = (u8)iSortOrder; } /* @@ -97887,10 +99341,12 @@ SQLITE_PRIVATE int sqlite3SelectWalkFail(Walker *pWalker, Select *NotUsed){ */ SQLITE_PRIVATE int sqlite3ExprIdToTrueFalse(Expr *pExpr){ assert( pExpr->op==TK_ID || pExpr->op==TK_STRING ); - if( sqlite3StrICmp(pExpr->u.zToken, "true")==0 - || sqlite3StrICmp(pExpr->u.zToken, "false")==0 + if( !ExprHasProperty(pExpr, EP_Quoted) + && (sqlite3StrICmp(pExpr->u.zToken, "true")==0 + || sqlite3StrICmp(pExpr->u.zToken, "false")==0) ){ pExpr->op = TK_TRUEFALSE; + ExprSetProperty(pExpr, pExpr->u.zToken[4]==0 ? EP_IsTrue : EP_IsFalse); return 1; } return 0; @@ -97901,12 +99357,40 @@ SQLITE_PRIVATE int sqlite3ExprIdToTrueFalse(Expr *pExpr){ ** and 0 if it is FALSE. */ SQLITE_PRIVATE int sqlite3ExprTruthValue(const Expr *pExpr){ + pExpr = sqlite3ExprSkipCollate((Expr*)pExpr); assert( pExpr->op==TK_TRUEFALSE ); assert( sqlite3StrICmp(pExpr->u.zToken,"true")==0 || sqlite3StrICmp(pExpr->u.zToken,"false")==0 ); return pExpr->u.zToken[4]==0; } +/* +** If pExpr is an AND or OR expression, try to simplify it by eliminating +** terms that are always true or false. Return the simplified expression. +** Or return the original expression if no simplification is possible. +** +** Examples: +** +** (x<10) AND true => (x<10) +** (x<10) AND false => false +** (x<10) AND (y=22 OR false) => (x<10) AND (y=22) +** (x<10) AND (y=22 OR true) => (x<10) +** (y=22) OR true => true +*/ +SQLITE_PRIVATE Expr *sqlite3ExprSimplifiedAndOr(Expr *pExpr){ + assert( pExpr!=0 ); + if( pExpr->op==TK_AND || pExpr->op==TK_OR ){ + Expr *pRight = sqlite3ExprSimplifiedAndOr(pExpr->pRight); + Expr *pLeft = sqlite3ExprSimplifiedAndOr(pExpr->pLeft); + if( ExprAlwaysTrue(pLeft) || ExprAlwaysFalse(pRight) ){ + pExpr = pExpr->op==TK_AND ? pRight : pLeft; + }else if( ExprAlwaysTrue(pRight) || ExprAlwaysFalse(pLeft) ){ + pExpr = pExpr->op==TK_AND ? pLeft : pRight; + } + } + return pExpr; +} + /* ** These routines are Walker callbacks used to check expressions to @@ -98151,7 +99635,7 @@ SQLITE_PRIVATE int sqlite3ExprContainsSubquery(Expr *p){ */ SQLITE_PRIVATE int sqlite3ExprIsInteger(Expr *p, int *pValue){ int rc = 0; - if( p==0 ) return 0; /* Can only happen following on OOM */ + if( NEVER(p==0) ) return 0; /* Used to only happen following on OOM */ /* If an expression is an integer literal that fits in a signed 32-bit ** integer, then the EP_IntValue flag will have already been set */ @@ -98197,7 +99681,9 @@ SQLITE_PRIVATE int sqlite3ExprIsInteger(Expr *p, int *pValue){ */ SQLITE_PRIVATE int sqlite3ExprCanBeNull(const Expr *p){ u8 op; - while( p->op==TK_UPLUS || p->op==TK_UMINUS ){ p = p->pLeft; } + while( p->op==TK_UPLUS || p->op==TK_UMINUS ){ + p = p->pLeft; + } op = p->op; if( op==TK_REGISTER ) op = p->op2; switch( op ){ @@ -98227,27 +99713,30 @@ SQLITE_PRIVATE int sqlite3ExprCanBeNull(const Expr *p){ */ SQLITE_PRIVATE int sqlite3ExprNeedsNoAffinityChange(const Expr *p, char aff){ u8 op; + int unaryMinus = 0; if( aff==SQLITE_AFF_BLOB ) return 1; - while( p->op==TK_UPLUS || p->op==TK_UMINUS ){ p = p->pLeft; } + while( p->op==TK_UPLUS || p->op==TK_UMINUS ){ + if( p->op==TK_UMINUS ) unaryMinus = 1; + p = p->pLeft; + } op = p->op; if( op==TK_REGISTER ) op = p->op2; switch( op ){ case TK_INTEGER: { - return aff==SQLITE_AFF_INTEGER || aff==SQLITE_AFF_NUMERIC; + return aff>=SQLITE_AFF_NUMERIC; } case TK_FLOAT: { - return aff==SQLITE_AFF_REAL || aff==SQLITE_AFF_NUMERIC; + return aff>=SQLITE_AFF_NUMERIC; } case TK_STRING: { - return aff==SQLITE_AFF_TEXT; + return !unaryMinus && aff==SQLITE_AFF_TEXT; } case TK_BLOB: { - return 1; + return !unaryMinus; } case TK_COLUMN: { assert( p->iTable>=0 ); /* p cannot be part of a CHECK constraint */ - return p->iColumn<0 - && (aff==SQLITE_AFF_INTEGER || aff==SQLITE_AFF_NUMERIC); + return aff>=SQLITE_AFF_NUMERIC && p->iColumn<0; } default: { return 0; @@ -98264,14 +99753,6 @@ SQLITE_PRIVATE int sqlite3IsRowid(const char *z){ if( sqlite3StrICmp(z, "OID")==0 ) return 1; return 0; } -#ifdef SQLITE_ENABLE_NORMALIZE -SQLITE_PRIVATE int sqlite3IsRowidN(const char *z, int n){ - if( sqlite3StrNICmp(z, "_ROWID_", n)==0 ) return 1; - if( sqlite3StrNICmp(z, "ROWID", n)==0 ) return 1; - if( sqlite3StrNICmp(z, "OID", n)==0 ) return 1; - return 0; -} -#endif /* ** pX is the RHS of an IN operator. If pX is a SELECT statement @@ -98438,10 +99919,11 @@ static int sqlite3InRhsIsConstant(Expr *pIn){ #ifndef SQLITE_OMIT_SUBQUERY SQLITE_PRIVATE int sqlite3FindInIndex( Parse *pParse, /* Parsing context */ - Expr *pX, /* The right-hand side (RHS) of the IN operator */ + Expr *pX, /* The IN expression */ u32 inFlags, /* IN_INDEX_LOOP, _MEMBERSHIP, and/or _NOOP_OK */ int *prRhsHasNull, /* Register holding NULL status. See notes */ - int *aiMap /* Mapping from Index fields to RHS fields */ + int *aiMap, /* Mapping from Index fields to RHS fields */ + int *piTab /* OUT: index to use */ ){ Select *p; /* SELECT to the right of IN operator */ int eType = 0; /* Type of RHS table. IN_INDEX_* */ @@ -98536,6 +100018,7 @@ SQLITE_PRIVATE int sqlite3FindInIndex( Bitmask colUsed; /* Columns of the index used */ Bitmask mCol; /* Mask for the current column */ if( pIdx->nColumnpPartIdxWhere!=0 ) continue; /* Maximum nColumn is BMS-2, not BMS-1, so that we can compute ** BITMASK(nExpr) without overflowing */ testcase( pIdx->nColumn==BMS-2 ); @@ -98626,16 +100109,15 @@ SQLITE_PRIVATE int sqlite3FindInIndex( eType = IN_INDEX_EPH; if( inFlags & IN_INDEX_LOOP ){ pParse->nQueryLoop = 0; - if( pX->pLeft->iColumn<0 && !ExprHasProperty(pX, EP_xIsSelect) ){ - eType = IN_INDEX_ROWID; - } }else if( prRhsHasNull ){ *prRhsHasNull = rMayHaveNull = ++pParse->nMem; } - sqlite3CodeSubselect(pParse, pX, rMayHaveNull, eType==IN_INDEX_ROWID); + assert( pX->op==TK_IN ); + sqlite3CodeRhsOfIN(pParse, pX, iTab); + if( rMayHaveNull ){ + sqlite3SetHasNullFlag(v, iTab, rMayHaveNull); + } pParse->nQueryLoop = savedNQueryLoop; - }else{ - pX->iTable = iTab; } if( aiMap && eType!=IN_INDEX_INDEX_ASC && eType!=IN_INDEX_INDEX_DESC ){ @@ -98643,6 +100125,7 @@ SQLITE_PRIVATE int sqlite3FindInIndex( n = sqlite3ExprVectorSize(pX->pLeft); for(i=0; i IN (?, ?, ?)", where is a reference -** to some integer key column of a table B-Tree. In this case, use an -** intkey B-Tree to store the set of IN(...) values instead of the usual -** (slower) variable length keys B-Tree. -** -** If rMayHaveNull is non-zero, that means that the operation is an IN -** (not a SELECT or EXISTS) and that the RHS might contains NULLs. -** All this routine does is initialize the register given by rMayHaveNull -** to NULL. Calling routines will take care of changing this register -** value to non-NULL if the RHS is NULL-free. -** -** For a SELECT or EXISTS operator, return the register that holds the -** result. For a multi-column SELECT, the result is stored in a contiguous -** array of registers and the return value is the register of the left-most -** result column. Return 0 for IN operators or if an error occurs. -*/ -#ifndef SQLITE_OMIT_SUBQUERY -SQLITE_PRIVATE int sqlite3CodeSubselect( +** The pExpr parameter is the IN operator. The cursor number for the +** constructed ephermeral table is returned. The first time the ephemeral +** table is computed, the cursor number is also stored in pExpr->iTable, +** however the cursor number returned might not be the same, as it might +** have been duplicated using OP_OpenDup. +** +** If the LHS expression ("x" in the examples) is a column value, or +** the SELECT statement returns a column value, then the affinity of that +** column is used to build the index keys. If both 'x' and the +** SELECT... statement are columns, then numeric affinity is used +** if either column has NUMERIC or INTEGER affinity. If neither +** 'x' nor the SELECT... statement are columns, then numeric affinity +** is used. +*/ +SQLITE_PRIVATE void sqlite3CodeRhsOfIN( Parse *pParse, /* Parsing context */ - Expr *pExpr, /* The IN, SELECT, or EXISTS operator */ - int rHasNullFlag, /* Register that records whether NULLs exist in RHS */ - int isRowid /* If true, LHS of IN operator is a rowid */ + Expr *pExpr, /* The IN operator */ + int iTab /* Use this cursor number */ ){ - int jmpIfDynamic = -1; /* One-time test address */ - int rReg = 0; /* Register storing resulting */ - Vdbe *v = sqlite3GetVdbe(pParse); - if( NEVER(v==0) ) return 0; + int addrOnce = 0; /* Address of the OP_Once instruction at top */ + int addr; /* Address of OP_OpenEphemeral instruction */ + Expr *pLeft; /* the LHS of the IN operator */ + KeyInfo *pKeyInfo = 0; /* Key information */ + int nVal; /* Size of vector pLeft */ + Vdbe *v; /* The prepared statement under construction */ + + v = pParse->pVdbe; + assert( v!=0 ); - /* The evaluation of the IN/EXISTS/SELECT must be repeated every time it + /* The evaluation of the IN must be repeated every time it ** is encountered if any of the following is true: ** ** * The right-hand side is a correlated subquery ** * The right-hand side is an expression list containing variables ** * We are inside a trigger ** - ** If all of the above are false, then we can run this code just once - ** save the results, and reuse the same result on subsequent invocations. + ** If all of the above are false, then we can compute the RHS just once + ** and reuse it many names. */ - if( !ExprHasProperty(pExpr, EP_VarSelect) ){ - jmpIfDynamic = sqlite3VdbeAddOp0(v, OP_Once); VdbeCoverage(v); - } + if( !ExprHasProperty(pExpr, EP_VarSelect) && pParse->iSelfTab==0 ){ + /* Reuse of the RHS is allowed */ + /* If this routine has already been coded, but the previous code + ** might not have been invoked yet, so invoke it now as a subroutine. + */ + if( ExprHasProperty(pExpr, EP_Subrtn) ){ + addrOnce = sqlite3VdbeAddOp0(v, OP_Once); VdbeCoverage(v); + if( ExprHasProperty(pExpr, EP_xIsSelect) ){ + ExplainQueryPlan((pParse, 0, "REUSE LIST SUBQUERY %d", + pExpr->x.pSelect->selId)); + } + sqlite3VdbeAddOp2(v, OP_Gosub, pExpr->y.sub.regReturn, + pExpr->y.sub.iAddr); + sqlite3VdbeAddOp2(v, OP_OpenDup, iTab, pExpr->iTable); + sqlite3VdbeJumpHere(v, addrOnce); + return; + } - switch( pExpr->op ){ - case TK_IN: { - int addr; /* Address of OP_OpenEphemeral instruction */ - Expr *pLeft = pExpr->pLeft; /* the LHS of the IN operator */ - KeyInfo *pKeyInfo = 0; /* Key information */ - int nVal; /* Size of vector pLeft */ - - nVal = sqlite3ExprVectorSize(pLeft); - assert( !isRowid || nVal==1 ); + /* Begin coding the subroutine */ + ExprSetProperty(pExpr, EP_Subrtn); + pExpr->y.sub.regReturn = ++pParse->nMem; + pExpr->y.sub.iAddr = + sqlite3VdbeAddOp2(v, OP_Integer, 0, pExpr->y.sub.regReturn) + 1; + VdbeComment((v, "return address")); - /* Whether this is an 'x IN(SELECT...)' or an 'x IN()' - ** expression it is handled the same way. An ephemeral table is - ** filled with index keys representing the results from the - ** SELECT or the . - ** - ** If the 'x' expression is a column value, or the SELECT... - ** statement returns a column value, then the affinity of that - ** column is used to build the index keys. If both 'x' and the - ** SELECT... statement are columns, then numeric affinity is used - ** if either column has NUMERIC or INTEGER affinity. If neither - ** 'x' nor the SELECT... statement are columns, then numeric affinity - ** is used. - */ - pExpr->iTable = pParse->nTab++; - addr = sqlite3VdbeAddOp2(v, OP_OpenEphemeral, - pExpr->iTable, (isRowid?0:nVal)); - pKeyInfo = isRowid ? 0 : sqlite3KeyInfoAlloc(pParse->db, nVal, 1); + addrOnce = sqlite3VdbeAddOp0(v, OP_Once); VdbeCoverage(v); + } - if( ExprHasProperty(pExpr, EP_xIsSelect) ){ - /* Case 1: expr IN (SELECT ...) - ** - ** Generate code to write the results of the select into the temporary - ** table allocated and opened above. - */ - Select *pSelect = pExpr->x.pSelect; - ExprList *pEList = pSelect->pEList; - - ExplainQueryPlan((pParse, 1, "%sLIST SUBQUERY", - jmpIfDynamic>=0?"":"CORRELATED " - )); - assert( !isRowid ); - /* If the LHS and RHS of the IN operator do not match, that - ** error will have been caught long before we reach this point. */ - if( ALWAYS(pEList->nExpr==nVal) ){ - SelectDest dest; - int i; - sqlite3SelectDestInit(&dest, SRT_Set, pExpr->iTable); - dest.zAffSdst = exprINAffinity(pParse, pExpr); - pSelect->iLimit = 0; - testcase( pSelect->selFlags & SF_Distinct ); - testcase( pKeyInfo==0 ); /* Caused by OOM in sqlite3KeyInfoAlloc() */ - if( sqlite3Select(pParse, pSelect, &dest) ){ - sqlite3DbFree(pParse->db, dest.zAffSdst); - sqlite3KeyInfoUnref(pKeyInfo); - return 0; - } - sqlite3DbFree(pParse->db, dest.zAffSdst); - assert( pKeyInfo!=0 ); /* OOM will cause exit after sqlite3Select() */ - assert( pEList!=0 ); - assert( pEList->nExpr>0 ); - assert( sqlite3KeyInfoIsWriteable(pKeyInfo) ); - for(i=0; iaColl[i] = sqlite3BinaryCompareCollSeq( - pParse, p, pEList->a[i].pExpr - ); - } - } - }else if( ALWAYS(pExpr->x.pList!=0) ){ - /* Case 2: expr IN (exprlist) - ** - ** For each expression, build an index key from the evaluation and - ** store it in the temporary table. If is a column, then use - ** that columns affinity when building index keys. If is not - ** a column, use numeric affinity. - */ - char affinity; /* Affinity of the LHS of the IN */ - int i; - ExprList *pList = pExpr->x.pList; - struct ExprList_item *pItem; - int r1, r2, r3; - affinity = sqlite3ExprAffinity(pLeft); - if( !affinity ){ - affinity = SQLITE_AFF_BLOB; - } - if( pKeyInfo ){ - assert( sqlite3KeyInfoIsWriteable(pKeyInfo) ); - pKeyInfo->aColl[0] = sqlite3ExprCollSeq(pParse, pExpr->pLeft); - } + /* Check to see if this is a vector IN operator */ + pLeft = pExpr->pLeft; + nVal = sqlite3ExprVectorSize(pLeft); - /* Loop through each expression in . */ - r1 = sqlite3GetTempReg(pParse); - r2 = sqlite3GetTempReg(pParse); - if( isRowid ) sqlite3VdbeAddOp4(v, OP_Blob, 0, r2, 0, "", P4_STATIC); - for(i=pList->nExpr, pItem=pList->a; i>0; i--, pItem++){ - Expr *pE2 = pItem->pExpr; - int iValToIns; - - /* If the expression is not constant then we will need to - ** disable the test that was generated above that makes sure - ** this code only executes once. Because for a non-constant - ** expression we need to rerun this code each time. - */ - if( jmpIfDynamic>=0 && !sqlite3ExprIsConstant(pE2) ){ - sqlite3VdbeChangeToNoop(v, jmpIfDynamic); - jmpIfDynamic = -1; - } + /* Construct the ephemeral table that will contain the content of + ** RHS of the IN operator. + */ + pExpr->iTable = iTab; + addr = sqlite3VdbeAddOp2(v, OP_OpenEphemeral, pExpr->iTable, nVal); +#ifdef SQLITE_ENABLE_EXPLAIN_COMMENTS + if( ExprHasProperty(pExpr, EP_xIsSelect) ){ + VdbeComment((v, "Result of SELECT %u", pExpr->x.pSelect->selId)); + }else{ + VdbeComment((v, "RHS of IN operator")); + } +#endif + pKeyInfo = sqlite3KeyInfoAlloc(pParse->db, nVal, 1); - /* Evaluate the expression and insert it into the temp table */ - if( isRowid && sqlite3ExprIsInteger(pE2, &iValToIns) ){ - sqlite3VdbeAddOp3(v, OP_InsertInt, pExpr->iTable, r2, iValToIns); - }else{ - r3 = sqlite3ExprCodeTarget(pParse, pE2, r1); - if( isRowid ){ - sqlite3VdbeAddOp2(v, OP_MustBeInt, r3, - sqlite3VdbeCurrentAddr(v)+2); - VdbeCoverage(v); - sqlite3VdbeAddOp3(v, OP_Insert, pExpr->iTable, r2, r3); - }else{ - sqlite3VdbeAddOp4(v, OP_MakeRecord, r3, 1, r2, &affinity, 1); - sqlite3VdbeAddOp4Int(v, OP_IdxInsert, pExpr->iTable, r2, r3, 1); - } - } - } - sqlite3ReleaseTempReg(pParse, r1); - sqlite3ReleaseTempReg(pParse, r2); + if( ExprHasProperty(pExpr, EP_xIsSelect) ){ + /* Case 1: expr IN (SELECT ...) + ** + ** Generate code to write the results of the select into the temporary + ** table allocated and opened above. + */ + Select *pSelect = pExpr->x.pSelect; + ExprList *pEList = pSelect->pEList; + + ExplainQueryPlan((pParse, 1, "%sLIST SUBQUERY %d", + addrOnce?"":"CORRELATED ", pSelect->selId + )); + /* If the LHS and RHS of the IN operator do not match, that + ** error will have been caught long before we reach this point. */ + if( ALWAYS(pEList->nExpr==nVal) ){ + SelectDest dest; + int i; + sqlite3SelectDestInit(&dest, SRT_Set, iTab); + dest.zAffSdst = exprINAffinity(pParse, pExpr); + pSelect->iLimit = 0; + testcase( pSelect->selFlags & SF_Distinct ); + testcase( pKeyInfo==0 ); /* Caused by OOM in sqlite3KeyInfoAlloc() */ + if( sqlite3Select(pParse, pSelect, &dest) ){ + sqlite3DbFree(pParse->db, dest.zAffSdst); + sqlite3KeyInfoUnref(pKeyInfo); + return; } - if( pKeyInfo ){ - sqlite3VdbeChangeP4(v, addr, (void *)pKeyInfo, P4_KEYINFO); + sqlite3DbFree(pParse->db, dest.zAffSdst); + assert( pKeyInfo!=0 ); /* OOM will cause exit after sqlite3Select() */ + assert( pEList!=0 ); + assert( pEList->nExpr>0 ); + assert( sqlite3KeyInfoIsWriteable(pKeyInfo) ); + for(i=0; iaColl[i] = sqlite3BinaryCompareCollSeq( + pParse, p, pEList->a[i].pExpr + ); } - break; + } + }else if( ALWAYS(pExpr->x.pList!=0) ){ + /* Case 2: expr IN (exprlist) + ** + ** For each expression, build an index key from the evaluation and + ** store it in the temporary table. If is a column, then use + ** that columns affinity when building index keys. If is not + ** a column, use numeric affinity. + */ + char affinity; /* Affinity of the LHS of the IN */ + int i; + ExprList *pList = pExpr->x.pList; + struct ExprList_item *pItem; + int r1, r2; + affinity = sqlite3ExprAffinity(pLeft); + if( affinity<=SQLITE_AFF_NONE ){ + affinity = SQLITE_AFF_BLOB; + } + if( pKeyInfo ){ + assert( sqlite3KeyInfoIsWriteable(pKeyInfo) ); + pKeyInfo->aColl[0] = sqlite3ExprCollSeq(pParse, pExpr->pLeft); } - case TK_EXISTS: - case TK_SELECT: - default: { - /* Case 3: (SELECT ... FROM ...) - ** or: EXISTS(SELECT ... FROM ...) - ** - ** For a SELECT, generate code to put the values for all columns of - ** the first row into an array of registers and return the index of - ** the first register. - ** - ** If this is an EXISTS, write an integer 0 (not exists) or 1 (exists) - ** into a register and return that register number. - ** - ** In both cases, the query is augmented with "LIMIT 1". Any - ** preexisting limit is discarded in place of the new LIMIT 1. + /* Loop through each expression in . */ + r1 = sqlite3GetTempReg(pParse); + r2 = sqlite3GetTempReg(pParse); + for(i=pList->nExpr, pItem=pList->a; i>0; i--, pItem++){ + Expr *pE2 = pItem->pExpr; + + /* If the expression is not constant then we will need to + ** disable the test that was generated above that makes sure + ** this code only executes once. Because for a non-constant + ** expression we need to rerun this code each time. */ - Select *pSel; /* SELECT statement to encode */ - SelectDest dest; /* How to deal with SELECT result */ - int nReg; /* Registers to allocate */ - Expr *pLimit; /* New limit expression */ - - testcase( pExpr->op==TK_EXISTS ); - testcase( pExpr->op==TK_SELECT ); - assert( pExpr->op==TK_EXISTS || pExpr->op==TK_SELECT ); - assert( ExprHasProperty(pExpr, EP_xIsSelect) ); - - pSel = pExpr->x.pSelect; - ExplainQueryPlan((pParse, 1, "%sSCALAR SUBQUERY", - jmpIfDynamic>=0?"":"CORRELATED ")); - nReg = pExpr->op==TK_SELECT ? pSel->pEList->nExpr : 1; - sqlite3SelectDestInit(&dest, 0, pParse->nMem+1); - pParse->nMem += nReg; - if( pExpr->op==TK_SELECT ){ - dest.eDest = SRT_Mem; - dest.iSdst = dest.iSDParm; - dest.nSdst = nReg; - sqlite3VdbeAddOp3(v, OP_Null, 0, dest.iSDParm, dest.iSDParm+nReg-1); - VdbeComment((v, "Init subquery result")); - }else{ - dest.eDest = SRT_Exists; - sqlite3VdbeAddOp2(v, OP_Integer, 0, dest.iSDParm); - VdbeComment((v, "Init EXISTS result")); - } - pLimit = sqlite3ExprAlloc(pParse->db, TK_INTEGER,&sqlite3IntTokens[1], 0); - if( pSel->pLimit ){ - sqlite3ExprDelete(pParse->db, pSel->pLimit->pLeft); - pSel->pLimit->pLeft = pLimit; - }else{ - pSel->pLimit = sqlite3PExpr(pParse, TK_LIMIT, pLimit, 0); - } - pSel->iLimit = 0; - if( sqlite3Select(pParse, pSel, &dest) ){ - return 0; + if( addrOnce && !sqlite3ExprIsConstant(pE2) ){ + sqlite3VdbeChangeToNoop(v, addrOnce); + ExprClearProperty(pExpr, EP_Subrtn); + addrOnce = 0; } - rReg = dest.iSDParm; - ExprSetVVAProperty(pExpr, EP_NoReduce); - break; + + /* Evaluate the expression and insert it into the temp table */ + sqlite3ExprCode(pParse, pE2, r1); + sqlite3VdbeAddOp4(v, OP_MakeRecord, r1, 1, r2, &affinity, 1); + sqlite3VdbeAddOp4Int(v, OP_IdxInsert, iTab, r2, r1, 1); } + sqlite3ReleaseTempReg(pParse, r1); + sqlite3ReleaseTempReg(pParse, r2); + } + if( pKeyInfo ){ + sqlite3VdbeChangeP4(v, addr, (void *)pKeyInfo, P4_KEYINFO); } + if( addrOnce ){ + sqlite3VdbeJumpHere(v, addrOnce); + /* Subroutine return */ + sqlite3VdbeAddOp1(v, OP_Return, pExpr->y.sub.regReturn); + sqlite3VdbeChangeP1(v, pExpr->y.sub.iAddr-1, sqlite3VdbeCurrentAddr(v)-1); + sqlite3ClearTempRegCache(pParse); + } +} +#endif /* SQLITE_OMIT_SUBQUERY */ - if( rHasNullFlag ){ - sqlite3SetHasNullFlag(v, pExpr->iTable, rHasNullFlag); +/* +** Generate code for scalar subqueries used as a subquery expression +** or EXISTS operator: +** +** (SELECT a FROM b) -- subquery +** EXISTS (SELECT a FROM b) -- EXISTS subquery +** +** The pExpr parameter is the SELECT or EXISTS operator to be coded. +** +** Return the register that holds the result. For a multi-column SELECT, +** the result is stored in a contiguous array of registers and the +** return value is the register of the left-most result column. +** Return 0 if an error occurs. +*/ +#ifndef SQLITE_OMIT_SUBQUERY +SQLITE_PRIVATE int sqlite3CodeSubselect(Parse *pParse, Expr *pExpr){ + int addrOnce = 0; /* Address of OP_Once at top of subroutine */ + int rReg = 0; /* Register storing resulting */ + Select *pSel; /* SELECT statement to encode */ + SelectDest dest; /* How to deal with SELECT result */ + int nReg; /* Registers to allocate */ + Expr *pLimit; /* New limit expression */ + + Vdbe *v = pParse->pVdbe; + assert( v!=0 ); + testcase( pExpr->op==TK_EXISTS ); + testcase( pExpr->op==TK_SELECT ); + assert( pExpr->op==TK_EXISTS || pExpr->op==TK_SELECT ); + assert( ExprHasProperty(pExpr, EP_xIsSelect) ); + pSel = pExpr->x.pSelect; + + /* The evaluation of the EXISTS/SELECT must be repeated every time it + ** is encountered if any of the following is true: + ** + ** * The right-hand side is a correlated subquery + ** * The right-hand side is an expression list containing variables + ** * We are inside a trigger + ** + ** If all of the above are false, then we can run this code just once + ** save the results, and reuse the same result on subsequent invocations. + */ + if( !ExprHasProperty(pExpr, EP_VarSelect) ){ + /* If this routine has already been coded, then invoke it as a + ** subroutine. */ + if( ExprHasProperty(pExpr, EP_Subrtn) ){ + ExplainQueryPlan((pParse, 0, "REUSE SUBQUERY %d", pSel->selId)); + sqlite3VdbeAddOp2(v, OP_Gosub, pExpr->y.sub.regReturn, + pExpr->y.sub.iAddr); + return pExpr->iTable; + } + + /* Begin coding the subroutine */ + ExprSetProperty(pExpr, EP_Subrtn); + pExpr->y.sub.regReturn = ++pParse->nMem; + pExpr->y.sub.iAddr = + sqlite3VdbeAddOp2(v, OP_Integer, 0, pExpr->y.sub.regReturn) + 1; + VdbeComment((v, "return address")); + + addrOnce = sqlite3VdbeAddOp0(v, OP_Once); VdbeCoverage(v); + } + + /* For a SELECT, generate code to put the values for all columns of + ** the first row into an array of registers and return the index of + ** the first register. + ** + ** If this is an EXISTS, write an integer 0 (not exists) or 1 (exists) + ** into a register and return that register number. + ** + ** In both cases, the query is augmented with "LIMIT 1". Any + ** preexisting limit is discarded in place of the new LIMIT 1. + */ + ExplainQueryPlan((pParse, 1, "%sSCALAR SUBQUERY %d", + addrOnce?"":"CORRELATED ", pSel->selId)); + nReg = pExpr->op==TK_SELECT ? pSel->pEList->nExpr : 1; + sqlite3SelectDestInit(&dest, 0, pParse->nMem+1); + pParse->nMem += nReg; + if( pExpr->op==TK_SELECT ){ + dest.eDest = SRT_Mem; + dest.iSdst = dest.iSDParm; + dest.nSdst = nReg; + sqlite3VdbeAddOp3(v, OP_Null, 0, dest.iSDParm, dest.iSDParm+nReg-1); + VdbeComment((v, "Init subquery result")); + }else{ + dest.eDest = SRT_Exists; + sqlite3VdbeAddOp2(v, OP_Integer, 0, dest.iSDParm); + VdbeComment((v, "Init EXISTS result")); + } + if( pSel->pLimit ){ + /* The subquery already has a limit. If the pre-existing limit is X + ** then make the new limit X<>0 so that the new limit is either 1 or 0 */ + sqlite3 *db = pParse->db; + pLimit = sqlite3Expr(db, TK_INTEGER, "0"); + if( pLimit ){ + pLimit->affExpr = SQLITE_AFF_NUMERIC; + pLimit = sqlite3PExpr(pParse, TK_NE, + sqlite3ExprDup(db, pSel->pLimit->pLeft, 0), pLimit); + } + sqlite3ExprDelete(db, pSel->pLimit->pLeft); + pSel->pLimit->pLeft = pLimit; + }else{ + /* If there is no pre-existing limit add a limit of 1 */ + pLimit = sqlite3Expr(pParse->db, TK_INTEGER, "1"); + pSel->pLimit = sqlite3PExpr(pParse, TK_LIMIT, pLimit, 0); + } + pSel->iLimit = 0; + if( sqlite3Select(pParse, pSel, &dest) ){ + return 0; } + pExpr->iTable = rReg = dest.iSDParm; + ExprSetVVAProperty(pExpr, EP_NoReduce); + if( addrOnce ){ + sqlite3VdbeJumpHere(v, addrOnce); - if( jmpIfDynamic>=0 ){ - sqlite3VdbeJumpHere(v, jmpIfDynamic); + /* Subroutine return */ + sqlite3VdbeAddOp1(v, OP_Return, pExpr->y.sub.regReturn); + sqlite3VdbeChangeP1(v, pExpr->y.sub.iAddr-1, sqlite3VdbeCurrentAddr(v)-1); + sqlite3ClearTempRegCache(pParse); } return rReg; @@ -99046,6 +100585,7 @@ static void sqlite3ExprCodeIN( int addrTruthOp; /* Address of opcode that determines the IN is true */ int destNotNull; /* Jump here if a comparison is not true in step 6 */ int addrTop; /* Top of the step-6 loop */ + int iTab = 0; /* Index to use */ pLeft = pExpr->pLeft; if( sqlite3ExprCheckIN(pParse, pExpr) ) return; @@ -99057,7 +100597,7 @@ static void sqlite3ExprCodeIN( if( pParse->db->mallocFailed ) goto sqlite3ExprCodeIN_oom_error; /* Attempt to compute the RHS. After this step, if anything other than - ** IN_INDEX_NOOP is returned, the table opened ith cursor pExpr->iTable + ** IN_INDEX_NOOP is returned, the table opened with cursor iTab ** contains the values that make up the RHS. If IN_INDEX_NOOP is returned, ** the RHS has not yet been coded. */ v = pParse->pVdbe; @@ -99065,7 +100605,8 @@ static void sqlite3ExprCodeIN( VdbeNoopComment((v, "begin IN expr")); eType = sqlite3FindInIndex(pParse, pExpr, IN_INDEX_MEMBERSHIP | IN_INDEX_NOOP_OK, - destIfFalse==destIfNull ? 0 : &rRhsHasNull, aiMap); + destIfFalse==destIfNull ? 0 : &rRhsHasNull, + aiMap, &iTab); assert( pParse->nErr || nVector==1 || eType==IN_INDEX_EPH || eType==IN_INDEX_INDEX_ASC || eType==IN_INDEX_INDEX_DESC @@ -99111,17 +100652,25 @@ static void sqlite3ExprCodeIN( if( eType==IN_INDEX_NOOP ){ ExprList *pList = pExpr->x.pList; CollSeq *pColl = sqlite3ExprCollSeq(pParse, pExpr->pLeft); - int labelOk = sqlite3VdbeMakeLabel(v); + int labelOk = sqlite3VdbeMakeLabel(pParse); int r2, regToFree; int regCkNull = 0; int ii; + int bLhsReal; /* True if the LHS of the IN has REAL affinity */ assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); if( destIfNull!=destIfFalse ){ regCkNull = sqlite3GetTempReg(pParse); sqlite3VdbeAddOp3(v, OP_BitAnd, rLhs, rLhs, regCkNull); } + bLhsReal = sqlite3ExprAffinity(pExpr->pLeft)==SQLITE_AFF_REAL; for(ii=0; iinExpr; ii++){ - r2 = sqlite3ExprCodeTemp(pParse, pList->a[ii].pExpr, ®ToFree); + if( bLhsReal ){ + r2 = regToFree = sqlite3GetTempReg(pParse); + sqlite3ExprCode(pParse, pList->a[ii].pExpr, r2); + sqlite3VdbeAddOp4(v, OP_Affinity, r2, 1, 0, "E", P4_STATIC); + }else{ + r2 = sqlite3ExprCodeTemp(pParse, pList->a[ii].pExpr, ®ToFree); + } if( regCkNull && sqlite3ExprCanBeNull(pList->a[ii].pExpr) ){ sqlite3VdbeAddOp3(v, OP_BitAnd, regCkNull, r2, regCkNull); } @@ -99155,7 +100704,7 @@ static void sqlite3ExprCodeIN( if( destIfNull==destIfFalse ){ destStep2 = destIfFalse; }else{ - destStep2 = destStep6 = sqlite3VdbeMakeLabel(v); + destStep2 = destStep6 = sqlite3VdbeMakeLabel(pParse); } for(i=0; ipLeft, i); @@ -99173,19 +100722,19 @@ static void sqlite3ExprCodeIN( /* In this case, the RHS is the ROWID of table b-tree and so we also ** know that the RHS is non-NULL. Hence, we combine steps 3 and 4 ** into a single opcode. */ - sqlite3VdbeAddOp3(v, OP_SeekRowid, pExpr->iTable, destIfFalse, rLhs); + sqlite3VdbeAddOp3(v, OP_SeekRowid, iTab, destIfFalse, rLhs); VdbeCoverage(v); addrTruthOp = sqlite3VdbeAddOp0(v, OP_Goto); /* Return True */ }else{ sqlite3VdbeAddOp4(v, OP_Affinity, rLhs, nVector, 0, zAff, nVector); if( destIfFalse==destIfNull ){ /* Combine Step 3 and Step 5 into a single opcode */ - sqlite3VdbeAddOp4Int(v, OP_NotFound, pExpr->iTable, destIfFalse, + sqlite3VdbeAddOp4Int(v, OP_NotFound, iTab, destIfFalse, rLhs, nVector); VdbeCoverage(v); goto sqlite3ExprCodeIN_finished; } /* Ordinary Step 3, for the case where FALSE and NULL are distinct */ - addrTruthOp = sqlite3VdbeAddOp4Int(v, OP_Found, pExpr->iTable, 0, + addrTruthOp = sqlite3VdbeAddOp4Int(v, OP_Found, iTab, 0, rLhs, nVector); VdbeCoverage(v); } @@ -99210,10 +100759,10 @@ static void sqlite3ExprCodeIN( ** of the RHS. */ if( destStep6 ) sqlite3VdbeResolveLabel(v, destStep6); - addrTop = sqlite3VdbeAddOp2(v, OP_Rewind, pExpr->iTable, destIfFalse); + addrTop = sqlite3VdbeAddOp2(v, OP_Rewind, iTab, destIfFalse); VdbeCoverage(v); if( nVector>1 ){ - destNotNull = sqlite3VdbeMakeLabel(v); + destNotNull = sqlite3VdbeMakeLabel(pParse); }else{ /* For nVector==1, combine steps 6 and 7 by immediately returning ** FALSE if the first comparison is not NULL */ @@ -99225,7 +100774,7 @@ static void sqlite3ExprCodeIN( int r3 = sqlite3GetTempReg(pParse); p = sqlite3VectorFieldSubexpr(pLeft, i); pColl = sqlite3ExprCollSeq(pParse, p); - sqlite3VdbeAddOp3(v, OP_Column, pExpr->iTable, i, r3); + sqlite3VdbeAddOp3(v, OP_Column, iTab, i, r3); sqlite3VdbeAddOp4(v, OP_Ne, rLhs+i, destNotNull, r3, (void*)pColl, P4_COLLSEQ); VdbeCoverage(v); @@ -99234,7 +100783,7 @@ static void sqlite3ExprCodeIN( sqlite3VdbeAddOp2(v, OP_Goto, 0, destIfNull); if( nVector>1 ){ sqlite3VdbeResolveLabel(v, destNotNull); - sqlite3VdbeAddOp2(v, OP_Next, pExpr->iTable, addrTop+1); + sqlite3VdbeAddOp2(v, OP_Next, iTab, addrTop+1); VdbeCoverage(v); /* Step 7: If we reach this point, we know that the result must @@ -99405,7 +100954,8 @@ SQLITE_PRIVATE void sqlite3ExprCodeMove(Parse *pParse, int iFrom, int iTo, int n ** register iReg. The caller must ensure that iReg already contains ** the correct value for the expression. */ -static void exprToRegister(Expr *p, int iReg){ +static void exprToRegister(Expr *pExpr, int iReg){ + Expr *p = sqlite3ExprSkipCollateAndLikely(pExpr); p->op2 = p->op; p->op = TK_REGISTER; p->iTable = iReg; @@ -99433,7 +100983,7 @@ static int exprCodeVector(Parse *pParse, Expr *p, int *piFreeable){ #if SQLITE_OMIT_SUBQUERY iResult = 0; #else - iResult = sqlite3CodeSubselect(pParse, p, 0, 0); + iResult = sqlite3CodeSubselect(pParse, p); #endif }else{ int i; @@ -99506,7 +101056,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) */ int iReg = sqlite3ExprCodeTarget(pParse, pExpr->pLeft,target); int aff = sqlite3TableColumnAffinity(pExpr->y.pTab, pExpr->iColumn); - if( aff!=SQLITE_AFF_BLOB ){ + if( aff>SQLITE_AFF_BLOB ){ static const char zAff[] = "B\000C\000D\000E"; assert( SQLITE_AFF_BLOB=='A' ); assert( SQLITE_AFF_TEXT=='B' ); @@ -99522,7 +101072,19 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) if( iTab<0 ){ if( pParse->iSelfTab<0 ){ /* Generating CHECK constraints or inserting into partial index */ - return pExpr->iColumn - pParse->iSelfTab; + assert( pExpr->y.pTab!=0 ); + assert( pExpr->iColumn>=XN_ROWID ); + assert( pExpr->iColumny.pTab->nCol ); + if( pExpr->iColumn>=0 + && pExpr->y.pTab->aCol[pExpr->iColumn].affinity==SQLITE_AFF_REAL + ){ + sqlite3VdbeAddOp2(v, OP_SCopy, pExpr->iColumn - pParse->iSelfTab, + target); + sqlite3VdbeAddOp1(v, OP_RealAffinity, target); + return target; + }else{ + return pExpr->iColumn - pParse->iSelfTab; + } }else{ /* Coding an expression that is part of an index where column names ** in the index refer to the table to which the index belongs */ @@ -99778,7 +101340,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) ** arguments past the first non-NULL argument. */ if( pDef->funcFlags & SQLITE_FUNC_COALESCE ){ - int endCoalesce = sqlite3VdbeMakeLabel(v); + int endCoalesce = sqlite3VdbeMakeLabel(pParse); assert( nFarg>=2 ); sqlite3ExprCode(pParse, pFarg->a[0].pExpr, target); for(i=1; ia[0].pExpr); sqlite3VdbeLoadString(v, target, - aff ? azAff[aff-SQLITE_AFF_BLOB] : "none"); + (aff<=SQLITE_AFF_NONE) ? "none" : azAff[aff-SQLITE_AFF_BLOB]); return target; } #endif @@ -99907,18 +101469,18 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) if( op==TK_SELECT && (nCol = pExpr->x.pSelect->pEList->nExpr)!=1 ){ sqlite3SubselectError(pParse, nCol, 1); }else{ - return sqlite3CodeSubselect(pParse, pExpr, 0, 0); + return sqlite3CodeSubselect(pParse, pExpr); } break; } case TK_SELECT_COLUMN: { int n; if( pExpr->pLeft->iTable==0 ){ - pExpr->pLeft->iTable = sqlite3CodeSubselect(pParse, pExpr->pLeft, 0, 0); + pExpr->pLeft->iTable = sqlite3CodeSubselect(pParse, pExpr->pLeft); } assert( pExpr->iTable==0 || pExpr->pLeft->op==TK_SELECT ); - if( pExpr->iTable - && pExpr->iTable!=(n = sqlite3ExprVectorSize(pExpr->pLeft)) + if( pExpr->iTable!=0 + && pExpr->iTable!=(n = sqlite3ExprVectorSize(pExpr->pLeft)) ){ sqlite3ErrorMsg(pParse, "%d columns assigned %d values", pExpr->iTable, n); @@ -99926,8 +101488,8 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) return pExpr->pLeft->iTable + pExpr->iColumn; } case TK_IN: { - int destIfFalse = sqlite3VdbeMakeLabel(v); - int destIfNull = sqlite3VdbeMakeLabel(v); + int destIfFalse = sqlite3VdbeMakeLabel(pParse); + int destIfNull = sqlite3VdbeMakeLabel(pParse); sqlite3VdbeAddOp2(v, OP_Null, 0, target); sqlite3ExprCodeIN(pParse, pExpr, destIfFalse, destIfNull); sqlite3VdbeAddOp2(v, OP_Integer, 1, target); @@ -100021,10 +101583,23 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) break; } + /* TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions + ** that derive from the right-hand table of a LEFT JOIN. The + ** Expr.iTable value is the table number for the right-hand table. + ** The expression is only evaluated if that table is not currently + ** on a LEFT JOIN NULL row. + */ case TK_IF_NULL_ROW: { int addrINR; + u8 okConstFactor = pParse->okConstFactor; addrINR = sqlite3VdbeAddOp1(v, OP_IfNullRow, pExpr->iTable); + /* Temporarily disable factoring of constant expressions, since + ** even though expressions may appear to be constant, they are not + ** really constant because they originate from the right-hand side + ** of a LEFT JOIN. */ + pParse->okConstFactor = 0; inReg = sqlite3ExprCodeTarget(pParse, pExpr->pLeft, target); + pParse->okConstFactor = okConstFactor; sqlite3VdbeJumpHere(v, addrINR); sqlite3VdbeChangeP3(v, addrINR, inReg); break; @@ -100061,21 +101636,27 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) Expr opCompare; /* The X==Ei expression */ Expr *pX; /* The X expression */ Expr *pTest = 0; /* X==Ei (form A) or just Ei (form B) */ + Expr *pDel = 0; + sqlite3 *db = pParse->db; assert( !ExprHasProperty(pExpr, EP_xIsSelect) && pExpr->x.pList ); assert(pExpr->x.pList->nExpr > 0); pEList = pExpr->x.pList; aListelem = pEList->a; nExpr = pEList->nExpr; - endLabel = sqlite3VdbeMakeLabel(v); + endLabel = sqlite3VdbeMakeLabel(pParse); if( (pX = pExpr->pLeft)!=0 ){ - tempX = *pX; + pDel = sqlite3ExprDup(db, pX, 0); + if( db->mallocFailed ){ + sqlite3ExprDelete(db, pDel); + break; + } testcase( pX->op==TK_COLUMN ); - exprToRegister(&tempX, exprCodeVector(pParse, &tempX, ®Free1)); + exprToRegister(pDel, exprCodeVector(pParse, pDel, ®Free1)); testcase( regFree1==0 ); memset(&opCompare, 0, sizeof(opCompare)); opCompare.op = TK_EQ; - opCompare.pLeft = &tempX; + opCompare.pLeft = pDel; pTest = &opCompare; /* Ticket b351d95f9cd5ef17e9d9dbae18f5ca8611190001: ** The value in regFree1 might get SCopy-ed into the file result. @@ -100090,7 +101671,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) }else{ pTest = aListelem[i].pExpr; } - nextCase = sqlite3VdbeMakeLabel(v); + nextCase = sqlite3VdbeMakeLabel(pParse); testcase( pTest->op==TK_COLUMN ); sqlite3ExprIfFalse(pParse, pTest, nextCase, SQLITE_JUMPIFNULL); testcase( aListelem[i+1].pExpr->op==TK_COLUMN ); @@ -100103,32 +101684,33 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) }else{ sqlite3VdbeAddOp2(v, OP_Null, 0, target); } + sqlite3ExprDelete(db, pDel); sqlite3VdbeResolveLabel(v, endLabel); break; } #ifndef SQLITE_OMIT_TRIGGER case TK_RAISE: { - assert( pExpr->affinity==OE_Rollback - || pExpr->affinity==OE_Abort - || pExpr->affinity==OE_Fail - || pExpr->affinity==OE_Ignore + assert( pExpr->affExpr==OE_Rollback + || pExpr->affExpr==OE_Abort + || pExpr->affExpr==OE_Fail + || pExpr->affExpr==OE_Ignore ); if( !pParse->pTriggerTab ){ sqlite3ErrorMsg(pParse, "RAISE() may only be used within a trigger-program"); return 0; } - if( pExpr->affinity==OE_Abort ){ + if( pExpr->affExpr==OE_Abort ){ sqlite3MayAbort(pParse); } assert( !ExprHasProperty(pExpr, EP_IntValue) ); - if( pExpr->affinity==OE_Ignore ){ + if( pExpr->affExpr==OE_Ignore ){ sqlite3VdbeAddOp4( v, OP_Halt, SQLITE_OK, OE_Ignore, 0, pExpr->u.zToken,0); VdbeCoverage(v); }else{ sqlite3HaltConstraint(pParse, SQLITE_CONSTRAINT_TRIGGER, - pExpr->affinity, pExpr->u.zToken, 0, 0); + pExpr->affExpr, pExpr->u.zToken, 0, 0); } break; @@ -100193,7 +101775,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeAtInit( */ SQLITE_PRIVATE int sqlite3ExprCodeTemp(Parse *pParse, Expr *pExpr, int *pReg){ int r2; - pExpr = sqlite3ExprSkipCollate(pExpr); + pExpr = sqlite3ExprSkipCollateAndLikely(pExpr); if( ConstFactorOk(pParse) && pExpr->op!=TK_REGISTER && sqlite3ExprIsConstantNotJoin(pExpr) @@ -100384,41 +101966,44 @@ static void exprCodeBetween( void (*xJump)(Parse*,Expr*,int,int), /* Action to take */ int jumpIfNull /* Take the jump if the BETWEEN is NULL */ ){ - Expr exprAnd; /* The AND operator in x>=y AND x<=z */ + Expr exprAnd; /* The AND operator in x>=y AND x<=z */ Expr compLeft; /* The x>=y term */ Expr compRight; /* The x<=z term */ - Expr exprX; /* The x subexpression */ int regFree1 = 0; /* Temporary use register */ - + Expr *pDel = 0; + sqlite3 *db = pParse->db; memset(&compLeft, 0, sizeof(Expr)); memset(&compRight, 0, sizeof(Expr)); memset(&exprAnd, 0, sizeof(Expr)); assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); - exprX = *pExpr->pLeft; - exprAnd.op = TK_AND; - exprAnd.pLeft = &compLeft; - exprAnd.pRight = &compRight; - compLeft.op = TK_GE; - compLeft.pLeft = &exprX; - compLeft.pRight = pExpr->x.pList->a[0].pExpr; - compRight.op = TK_LE; - compRight.pLeft = &exprX; - compRight.pRight = pExpr->x.pList->a[1].pExpr; - exprToRegister(&exprX, exprCodeVector(pParse, &exprX, ®Free1)); - if( xJump ){ - xJump(pParse, &exprAnd, dest, jumpIfNull); - }else{ - /* Mark the expression is being from the ON or USING clause of a join - ** so that the sqlite3ExprCodeTarget() routine will not attempt to move - ** it into the Parse.pConstExpr list. We should use a new bit for this, - ** for clarity, but we are out of bits in the Expr.flags field so we - ** have to reuse the EP_FromJoin bit. Bummer. */ - exprX.flags |= EP_FromJoin; - sqlite3ExprCodeTarget(pParse, &exprAnd, dest); + pDel = sqlite3ExprDup(db, pExpr->pLeft, 0); + if( db->mallocFailed==0 ){ + exprAnd.op = TK_AND; + exprAnd.pLeft = &compLeft; + exprAnd.pRight = &compRight; + compLeft.op = TK_GE; + compLeft.pLeft = pDel; + compLeft.pRight = pExpr->x.pList->a[0].pExpr; + compRight.op = TK_LE; + compRight.pLeft = pDel; + compRight.pRight = pExpr->x.pList->a[1].pExpr; + exprToRegister(pDel, exprCodeVector(pParse, pDel, ®Free1)); + if( xJump ){ + xJump(pParse, &exprAnd, dest, jumpIfNull); + }else{ + /* Mark the expression is being from the ON or USING clause of a join + ** so that the sqlite3ExprCodeTarget() routine will not attempt to move + ** it into the Parse.pConstExpr list. We should use a new bit for this, + ** for clarity, but we are out of bits in the Expr.flags field so we + ** have to reuse the EP_FromJoin bit. Bummer. */ + pDel->flags |= EP_FromJoin; + sqlite3ExprCodeTarget(pParse, &exprAnd, dest); + } + sqlite3ReleaseTempReg(pParse, regFree1); } - sqlite3ReleaseTempReg(pParse, regFree1); + sqlite3ExprDelete(db, pDel); /* Ensure adequate test coverage */ testcase( xJump==sqlite3ExprIfTrue && jumpIfNull==0 && regFree1==0 ); @@ -100458,18 +102043,23 @@ SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int if( NEVER(pExpr==0) ) return; /* No way this can happen */ op = pExpr->op; switch( op ){ - case TK_AND: { - int d2 = sqlite3VdbeMakeLabel(v); - testcase( jumpIfNull==0 ); - sqlite3ExprIfFalse(pParse, pExpr->pLeft, d2,jumpIfNull^SQLITE_JUMPIFNULL); - sqlite3ExprIfTrue(pParse, pExpr->pRight, dest, jumpIfNull); - sqlite3VdbeResolveLabel(v, d2); - break; - } + case TK_AND: case TK_OR: { - testcase( jumpIfNull==0 ); - sqlite3ExprIfTrue(pParse, pExpr->pLeft, dest, jumpIfNull); - sqlite3ExprIfTrue(pParse, pExpr->pRight, dest, jumpIfNull); + Expr *pAlt = sqlite3ExprSimplifiedAndOr(pExpr); + if( pAlt!=pExpr ){ + sqlite3ExprIfTrue(pParse, pAlt, dest, jumpIfNull); + }else if( op==TK_AND ){ + int d2 = sqlite3VdbeMakeLabel(pParse); + testcase( jumpIfNull==0 ); + sqlite3ExprIfFalse(pParse, pExpr->pLeft, d2, + jumpIfNull^SQLITE_JUMPIFNULL); + sqlite3ExprIfTrue(pParse, pExpr->pRight, dest, jumpIfNull); + sqlite3VdbeResolveLabel(v, d2); + }else{ + testcase( jumpIfNull==0 ); + sqlite3ExprIfTrue(pParse, pExpr->pLeft, dest, jumpIfNull); + sqlite3ExprIfTrue(pParse, pExpr->pRight, dest, jumpIfNull); + } break; } case TK_NOT: { @@ -100545,7 +102135,7 @@ SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int } #ifndef SQLITE_OMIT_SUBQUERY case TK_IN: { - int destIfFalse = sqlite3VdbeMakeLabel(v); + int destIfFalse = sqlite3VdbeMakeLabel(pParse); int destIfNull = jumpIfNull ? dest : destIfFalse; sqlite3ExprCodeIN(pParse, pExpr, destIfFalse, destIfNull); sqlite3VdbeGoto(v, dest); @@ -100555,9 +102145,9 @@ SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int #endif default: { default_expr: - if( exprAlwaysTrue(pExpr) ){ + if( ExprAlwaysTrue(pExpr) ){ sqlite3VdbeGoto(v, dest); - }else if( exprAlwaysFalse(pExpr) ){ + }else if( ExprAlwaysFalse(pExpr) ){ /* No-op */ }else{ r1 = sqlite3ExprCodeTemp(pParse, pExpr, ®Free1); @@ -100625,18 +102215,23 @@ SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int assert( pExpr->op!=TK_GE || op==OP_Lt ); switch( pExpr->op ){ - case TK_AND: { - testcase( jumpIfNull==0 ); - sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest, jumpIfNull); - sqlite3ExprIfFalse(pParse, pExpr->pRight, dest, jumpIfNull); - break; - } + case TK_AND: case TK_OR: { - int d2 = sqlite3VdbeMakeLabel(v); - testcase( jumpIfNull==0 ); - sqlite3ExprIfTrue(pParse, pExpr->pLeft, d2, jumpIfNull^SQLITE_JUMPIFNULL); - sqlite3ExprIfFalse(pParse, pExpr->pRight, dest, jumpIfNull); - sqlite3VdbeResolveLabel(v, d2); + Expr *pAlt = sqlite3ExprSimplifiedAndOr(pExpr); + if( pAlt!=pExpr ){ + sqlite3ExprIfFalse(pParse, pAlt, dest, jumpIfNull); + }else if( pExpr->op==TK_AND ){ + testcase( jumpIfNull==0 ); + sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest, jumpIfNull); + sqlite3ExprIfFalse(pParse, pExpr->pRight, dest, jumpIfNull); + }else{ + int d2 = sqlite3VdbeMakeLabel(pParse); + testcase( jumpIfNull==0 ); + sqlite3ExprIfTrue(pParse, pExpr->pLeft, d2, + jumpIfNull^SQLITE_JUMPIFNULL); + sqlite3ExprIfFalse(pParse, pExpr->pRight, dest, jumpIfNull); + sqlite3VdbeResolveLabel(v, d2); + } break; } case TK_NOT: { @@ -100716,7 +102311,7 @@ SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int if( jumpIfNull ){ sqlite3ExprCodeIN(pParse, pExpr, dest, dest); }else{ - int destIfNull = sqlite3VdbeMakeLabel(v); + int destIfNull = sqlite3VdbeMakeLabel(pParse); sqlite3ExprCodeIN(pParse, pExpr, dest, destIfNull); sqlite3VdbeResolveLabel(v, destIfNull); } @@ -100725,9 +102320,9 @@ SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int #endif default: { default_expr: - if( exprAlwaysFalse(pExpr) ){ + if( ExprAlwaysFalse(pExpr) ){ sqlite3VdbeGoto(v, dest); - }else if( exprAlwaysTrue(pExpr) ){ + }else if( ExprAlwaysTrue(pExpr) ){ /* no-op */ }else{ r1 = sqlite3ExprCodeTemp(pParse, pExpr, ®Free1); @@ -100837,7 +102432,7 @@ SQLITE_PRIVATE int sqlite3ExprCompare(Parse *pParse, Expr *pA, Expr *pB, int iTa } return 2; } - if( pA->op!=pB->op ){ + if( pA->op!=pB->op || pA->op==TK_RAISE ){ if( pA->op==TK_COLLATE && sqlite3ExprCompare(pParse, pA->pLeft,pB,iTab)<2 ){ return 1; } @@ -100847,39 +102442,42 @@ SQLITE_PRIVATE int sqlite3ExprCompare(Parse *pParse, Expr *pA, Expr *pB, int iTa return 2; } if( pA->op!=TK_COLUMN && pA->op!=TK_AGG_COLUMN && pA->u.zToken ){ - if( pA->op==TK_FUNCTION ){ + if( pA->op==TK_FUNCTION || pA->op==TK_AGG_FUNCTION ){ if( sqlite3StrICmp(pA->u.zToken,pB->u.zToken)!=0 ) return 2; #ifndef SQLITE_OMIT_WINDOWFUNC - /* Justification for the assert(): - ** window functions have p->op==TK_FUNCTION but aggregate functions - ** have p->op==TK_AGG_FUNCTION. So any comparison between an aggregate - ** function and a window function should have failed before reaching - ** this point. And, it is not possible to have a window function and - ** a scalar function with the same name and number of arguments. So - ** if we reach this point, either A and B both window functions or - ** neither are a window functions. */ - assert( ExprHasProperty(pA,EP_WinFunc)==ExprHasProperty(pB,EP_WinFunc) ); + assert( pA->op==pB->op ); + if( ExprHasProperty(pA,EP_WinFunc)!=ExprHasProperty(pB,EP_WinFunc) ){ + return 2; + } if( ExprHasProperty(pA,EP_WinFunc) ){ - if( sqlite3WindowCompare(pParse,pA->y.pWin,pB->y.pWin)!=0 ) return 2; + if( sqlite3WindowCompare(pParse, pA->y.pWin, pB->y.pWin, 1)!=0 ){ + return 2; + } } #endif + }else if( pA->op==TK_NULL ){ + return 0; }else if( pA->op==TK_COLLATE ){ if( sqlite3_stricmp(pA->u.zToken,pB->u.zToken)!=0 ) return 2; - }else if( strcmp(pA->u.zToken,pB->u.zToken)!=0 ){ + }else if( ALWAYS(pB->u.zToken!=0) && strcmp(pA->u.zToken,pB->u.zToken)!=0 ){ return 2; } } if( (pA->flags & EP_Distinct)!=(pB->flags & EP_Distinct) ) return 2; - if( ALWAYS((combinedFlags & EP_TokenOnly)==0) ){ + if( (combinedFlags & EP_TokenOnly)==0 ){ if( combinedFlags & EP_xIsSelect ) return 2; if( (combinedFlags & EP_FixedCol)==0 && sqlite3ExprCompare(pParse, pA->pLeft, pB->pLeft, iTab) ) return 2; if( sqlite3ExprCompare(pParse, pA->pRight, pB->pRight, iTab) ) return 2; if( sqlite3ExprListCompare(pA->x.pList, pB->x.pList, iTab) ) return 2; - assert( (combinedFlags & EP_Reduced)==0 ); - if( pA->op!=TK_STRING && pA->op!=TK_TRUEFALSE ){ + if( pA->op!=TK_STRING + && pA->op!=TK_TRUEFALSE + && (combinedFlags & EP_Reduced)==0 + ){ if( pA->iColumn!=pB->iColumn ) return 2; - if( pA->iTable!=pB->iTable + if( pA->op2!=pB->op2 ) return 2; + if( pA->op!=TK_IN + && pA->iTable!=pB->iTable && (pA->iTable!=iTab || NEVER(pB->iTable>=0)) ) return 2; } } @@ -100909,7 +102507,7 @@ SQLITE_PRIVATE int sqlite3ExprListCompare(ExprList *pA, ExprList *pB, int iTab){ for(i=0; inExpr; i++){ Expr *pExprA = pA->a[i].pExpr; Expr *pExprB = pB->a[i].pExpr; - if( pA->a[i].sortOrder!=pB->a[i].sortOrder ) return 1; + if( pA->a[i].sortFlags!=pB->a[i].sortFlags ) return 1; if( sqlite3ExprCompare(0, pExprA, pExprB, iTab) ) return 1; } return 0; @@ -100921,11 +102519,88 @@ SQLITE_PRIVATE int sqlite3ExprListCompare(ExprList *pA, ExprList *pB, int iTab){ */ SQLITE_PRIVATE int sqlite3ExprCompareSkip(Expr *pA, Expr *pB, int iTab){ return sqlite3ExprCompare(0, - sqlite3ExprSkipCollate(pA), - sqlite3ExprSkipCollate(pB), + sqlite3ExprSkipCollateAndLikely(pA), + sqlite3ExprSkipCollateAndLikely(pB), iTab); } +/* +** Return non-zero if Expr p can only be true if pNN is not NULL. +** +** Or if seenNot is true, return non-zero if Expr p can only be +** non-NULL if pNN is not NULL +*/ +static int exprImpliesNotNull( + Parse *pParse, /* Parsing context */ + Expr *p, /* The expression to be checked */ + Expr *pNN, /* The expression that is NOT NULL */ + int iTab, /* Table being evaluated */ + int seenNot /* Return true only if p can be any non-NULL value */ +){ + assert( p ); + assert( pNN ); + if( sqlite3ExprCompare(pParse, p, pNN, iTab)==0 ){ + return pNN->op!=TK_NULL; + } + switch( p->op ){ + case TK_IN: { + if( seenNot && ExprHasProperty(p, EP_xIsSelect) ) return 0; + assert( ExprHasProperty(p,EP_xIsSelect) + || (p->x.pList!=0 && p->x.pList->nExpr>0) ); + return exprImpliesNotNull(pParse, p->pLeft, pNN, iTab, 1); + } + case TK_BETWEEN: { + ExprList *pList = p->x.pList; + assert( pList!=0 ); + assert( pList->nExpr==2 ); + if( seenNot ) return 0; + if( exprImpliesNotNull(pParse, pList->a[0].pExpr, pNN, iTab, 1) + || exprImpliesNotNull(pParse, pList->a[1].pExpr, pNN, iTab, 1) + ){ + return 1; + } + return exprImpliesNotNull(pParse, p->pLeft, pNN, iTab, 1); + } + case TK_EQ: + case TK_NE: + case TK_LT: + case TK_LE: + case TK_GT: + case TK_GE: + case TK_PLUS: + case TK_MINUS: + case TK_BITOR: + case TK_LSHIFT: + case TK_RSHIFT: + case TK_CONCAT: + seenNot = 1; + /* Fall thru */ + case TK_STAR: + case TK_REM: + case TK_BITAND: + case TK_SLASH: { + if( exprImpliesNotNull(pParse, p->pRight, pNN, iTab, seenNot) ) return 1; + /* Fall thru into the next case */ + } + case TK_SPAN: + case TK_COLLATE: + case TK_UPLUS: + case TK_UMINUS: { + return exprImpliesNotNull(pParse, p->pLeft, pNN, iTab, seenNot); + } + case TK_TRUTH: { + if( seenNot ) return 0; + if( p->op2!=TK_IS ) return 0; + return exprImpliesNotNull(pParse, p->pLeft, pNN, iTab, 1); + } + case TK_BITNOT: + case TK_NOT: { + return exprImpliesNotNull(pParse, p->pLeft, pNN, iTab, 1); + } + } + return 0; +} + /* ** Return true if we can prove the pE2 will always be true if pE1 is ** true. Return false if we cannot complete the proof or if pE2 might @@ -100961,10 +102636,10 @@ SQLITE_PRIVATE int sqlite3ExprImpliesExpr(Parse *pParse, Expr *pE1, Expr *pE2, i ){ return 1; } - if( pE2->op==TK_NOTNULL && pE1->op!=TK_ISNULL && pE1->op!=TK_IS ){ - Expr *pX = sqlite3ExprSkipCollate(pE1->pLeft); - testcase( pX!=pE1->pLeft ); - if( sqlite3ExprCompare(pParse, pX, pE2->pLeft, iTab)==0 ) return 1; + if( pE2->op==TK_NOTNULL + && exprImpliesNotNull(pParse, pE1, pE2->pLeft, iTab, 0) + ){ + return 1; } return 0; } @@ -100984,21 +102659,23 @@ static int impliesNotNullRow(Walker *pWalker, Expr *pExpr){ if( ExprHasProperty(pExpr, EP_FromJoin) ) return WRC_Prune; switch( pExpr->op ){ case TK_ISNOT: - case TK_NOT: case TK_ISNULL: + case TK_NOTNULL: case TK_IS: case TK_OR: case TK_CASE: case TK_IN: case TK_FUNCTION: + case TK_TRUTH: testcase( pExpr->op==TK_ISNOT ); - testcase( pExpr->op==TK_NOT ); testcase( pExpr->op==TK_ISNULL ); + testcase( pExpr->op==TK_NOTNULL ); testcase( pExpr->op==TK_IS ); testcase( pExpr->op==TK_OR ); testcase( pExpr->op==TK_CASE ); testcase( pExpr->op==TK_IN ); testcase( pExpr->op==TK_FUNCTION ); + testcase( pExpr->op==TK_TRUTH ); return WRC_Prune; case TK_COLUMN: if( pWalker->u.iCur==pExpr->iTable ){ @@ -101007,6 +102684,18 @@ static int impliesNotNullRow(Walker *pWalker, Expr *pExpr){ } return WRC_Prune; + case TK_AND: + if( sqlite3ExprImpliesNonNullRow(pExpr->pLeft, pWalker->u.iCur) + && sqlite3ExprImpliesNonNullRow(pExpr->pRight, pWalker->u.iCur) + ){ + pWalker->eCode = 1; + } + return WRC_Prune; + + case TK_BETWEEN: + sqlite3WalkExpr(pWalker, pExpr->pLeft); + return WRC_Prune; + /* Virtual tables are allowed to use constraints like x=NULL. So ** a term of the form x=y does not prove that y is not null if x ** is the column of a virtual table */ @@ -101027,6 +102716,7 @@ static int impliesNotNullRow(Walker *pWalker, Expr *pExpr){ ){ return WRC_Prune; } + default: return WRC_Continue; } @@ -101056,6 +102746,17 @@ static int impliesNotNullRow(Walker *pWalker, Expr *pExpr){ */ SQLITE_PRIVATE int sqlite3ExprImpliesNonNullRow(Expr *p, int iTab){ Walker w; + p = sqlite3ExprSkipCollateAndLikely(p); + while( p ){ + if( p->op==TK_NOTNULL ){ + p = p->pLeft; + }else if( p->op==TK_AND ){ + if( sqlite3ExprImpliesNonNullRow(p->pLeft, iTab) ) return 1; + p = p->pRight; + }else{ + break; + } + } w.xExprCallback = impliesNotNullRow; w.xSelectCallback = 0; w.xSelectCallback2 = 0; @@ -101151,7 +102852,10 @@ static int exprSrcCount(Walker *pWalker, Expr *pExpr){ } if( inThis++; - }else{ + }else if( nSrc==0 || pExpr->iTablea[0].iCursor ){ + /* In a well-formed parse tree (no name resolution errors), + ** TK_COLUMN nodes with smaller Expr.iTable values are in an + ** outer context. Those are the only ones to count as "other" */ p->nOther++; } } @@ -101168,8 +102872,9 @@ SQLITE_PRIVATE int sqlite3FunctionUsesThisSrc(Expr *pExpr, SrcList *pSrcList){ Walker w; struct SrcCount cnt; assert( pExpr->op==TK_AGG_FUNCTION ); + memset(&w, 0, sizeof(w)); w.xExprCallback = exprSrcCount; - w.xSelectCallback = 0; + w.xSelectCallback = sqlite3SelectWalkNoop; w.u.pSrcCount = &cnt; cnt.pSrc = pSrcList; cnt.nThis = 0; @@ -101367,6 +103072,7 @@ SQLITE_PRIVATE void sqlite3ExprAnalyzeAggregates(NameContext *pNC, Expr *pExpr){ w.xSelectCallback2 = analyzeAggregatesInSelectEnd; w.walkerDepth = 0; w.u.pNC = pNC; + w.pParse = 0; assert( pNC->pSrcList!=0 ); sqlite3WalkExpr(&w, pExpr); } @@ -101437,6 +103143,11 @@ SQLITE_PRIVATE void sqlite3ReleaseTempRange(Parse *pParse, int iReg, int nReg){ /* ** Mark all temporary registers as being unavailable for reuse. +** +** Always invoke this procedure after coding a subroutine or co-routine +** that might be invoked from other parts of the code, to ensure that +** the sub/co-routine does not use registers in common with the code that +** invokes the sub/co-routine. */ SQLITE_PRIVATE void sqlite3ClearTempRegCache(Parse *pParse){ pParse->nTempReg = 0; @@ -101498,9 +103209,16 @@ SQLITE_PRIVATE int sqlite3NoTempsInRange(Parse *pParse, int iFirst, int iLast){ ** ** Or, if zName is not a system table, zero is returned. */ -static int isSystemTable(Parse *pParse, const char *zName){ - if( 0==sqlite3StrNICmp(zName, "sqlite_", 7) ){ - sqlite3ErrorMsg(pParse, "table %s may not be altered", zName); +static int isAlterableTable(Parse *pParse, Table *pTab){ + if( 0==sqlite3StrNICmp(pTab->zName, "sqlite_", 7) +#ifndef SQLITE_OMIT_VIRTUALTABLE + || ( (pTab->tabFlags & TF_Shadow) + && (pParse->db->flags & SQLITE_Defensive) + && pParse->db->nVdbeExec==0 + ) +#endif + ){ + sqlite3ErrorMsg(pParse, "table %s may not be altered", pTab->zName); return 1; } return 0; @@ -101517,7 +103235,7 @@ static void renameTestSchema(Parse *pParse, const char *zDb, int bTemp){ sqlite3NestedParse(pParse, "SELECT 1 " "FROM \"%w\".%s " - "WHERE name NOT LIKE 'sqlite_%%'" + "WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'" " AND sql NOT LIKE 'create virtual%%'" " AND sqlite_rename_test(%Q, sql, type, name, %d)=NULL ", zDb, MASTER_NAME, @@ -101528,7 +103246,7 @@ static void renameTestSchema(Parse *pParse, const char *zDb, int bTemp){ sqlite3NestedParse(pParse, "SELECT 1 " "FROM temp.%s " - "WHERE name NOT LIKE 'sqlite_%%'" + "WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'" " AND sql NOT LIKE 'create virtual%%'" " AND sqlite_rename_test(%Q, sql, type, name, 1)=NULL ", MASTER_NAME, zDb @@ -101596,11 +103314,11 @@ SQLITE_PRIVATE void sqlite3AlterRenameTable( /* Make sure it is not a system table being altered, or a reserved name ** that the table is being renamed to. */ - if( SQLITE_OK!=isSystemTable(pParse, pTab->zName) ){ + if( SQLITE_OK!=isAlterableTable(pParse, pTab) ){ goto exit_rename_table; } - if( SQLITE_OK!=sqlite3CheckObjectName(pParse, zName) ){ goto - exit_rename_table; + if( SQLITE_OK!=sqlite3CheckObjectName(pParse,zName,"table",zName) ){ + goto exit_rename_table; } #ifndef SQLITE_OMIT_VIEW @@ -101629,15 +103347,15 @@ SQLITE_PRIVATE void sqlite3AlterRenameTable( } #endif - /* Begin a transaction for database iDb. - ** Then modify the schema cookie (since the ALTER TABLE modifies the - ** schema). Open a statement transaction if the table is a virtual - ** table. - */ + /* Begin a transaction for database iDb. Then modify the schema cookie + ** (since the ALTER TABLE modifies the schema). Call sqlite3MayAbort(), + ** as the scalar functions (e.g. sqlite_rename_table()) invoked by the + ** nested SQL may raise an exception. */ v = sqlite3GetVdbe(pParse); if( v==0 ){ goto exit_rename_table; } + sqlite3MayAbort(pParse); /* figure out how many UTF-8 characters are in zName */ zTabName = pTab->zName; @@ -101649,7 +103367,7 @@ SQLITE_PRIVATE void sqlite3AlterRenameTable( "UPDATE \"%w\".%s SET " "sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) " "WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)" - "AND name NOT LIKE 'sqlite_%%'" + "AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'" , zDb, MASTER_NAME, zDb, zTabName, zName, (iDb==1), zTabName ); @@ -101660,7 +103378,8 @@ SQLITE_PRIVATE void sqlite3AlterRenameTable( "tbl_name = %Q, " "name = CASE " "WHEN type='table' THEN %Q " - "WHEN name LIKE 'sqlite_autoindex%%' AND type='index' THEN " + "WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' " + " AND type='index' THEN " "'sqlite_autoindex_' || %Q || substr(name,%d+18) " "ELSE name END " "WHERE tbl_name=%Q COLLATE nocase AND " @@ -101706,7 +103425,6 @@ SQLITE_PRIVATE void sqlite3AlterRenameTable( int i = ++pParse->nMem; sqlite3VdbeLoadString(v, i, zName); sqlite3VdbeAddOp4(v, OP_VRename, i, 0, 0,(const char*)pVTab, P4_VTAB); - sqlite3MayAbort(pParse); } #endif @@ -101894,10 +103612,11 @@ SQLITE_PRIVATE void sqlite3AlterBeginAddColumn(Parse *pParse, SrcList *pSrc){ sqlite3ErrorMsg(pParse, "Cannot add a column to a view"); goto exit_begin_add_column; } - if( SQLITE_OK!=isSystemTable(pParse, pTab->zName) ){ + if( SQLITE_OK!=isAlterableTable(pParse, pTab) ){ goto exit_begin_add_column; } + sqlite3MayAbort(pParse); assert( pTab->addColOffset>0 ); iDb = sqlite3SchemaToIndex(db, pTab->pSchema); @@ -101996,7 +103715,7 @@ SQLITE_PRIVATE void sqlite3AlterRenameColumn( if( !pTab ) goto exit_rename_column; /* Cannot alter a system table */ - if( SQLITE_OK!=isSystemTable(pParse, pTab->zName) ) goto exit_rename_column; + if( SQLITE_OK!=isAlterableTable(pParse, pTab) ) goto exit_rename_column; if( SQLITE_OK!=isRealTable(pParse, pTab) ) goto exit_rename_column; /* Which schema holds the table to be altered */ @@ -102027,6 +103746,7 @@ SQLITE_PRIVATE void sqlite3AlterRenameColumn( ** uses the sqlite_rename_column() SQL function to compute the new ** CREATE statement text for the sqlite_master table. */ + sqlite3MayAbort(pParse); zNew = sqlite3NameFromToken(db, pNew); if( !zNew ) goto exit_rename_column; assert( pNew->n>0 ); @@ -102034,7 +103754,8 @@ SQLITE_PRIVATE void sqlite3AlterRenameColumn( sqlite3NestedParse(pParse, "UPDATE \"%w\".%s SET " "sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) " - "WHERE name NOT LIKE 'sqlite_%%' AND (type != 'index' OR tbl_name = %Q)" + "WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' " + " AND (type != 'index' OR tbl_name = %Q)" " AND sql NOT LIKE 'create virtual%%'", zDb, MASTER_NAME, zDb, pTab->zName, iCol, zNew, bQuote, iSchema==1, @@ -102188,6 +103909,29 @@ static int renameUnmapExprCb(Walker *pWalker, Expr *pExpr){ return WRC_Continue; } +/* +** Walker callback used by sqlite3RenameExprUnmap(). +*/ +static int renameUnmapSelectCb(Walker *pWalker, Select *p){ + Parse *pParse = pWalker->pParse; + int i; + if( ALWAYS(p->pEList) ){ + ExprList *pList = p->pEList; + for(i=0; inExpr; i++){ + if( pList->a[i].zName ){ + sqlite3RenameTokenRemap(pParse, 0, (void*)pList->a[i].zName); + } + } + } + if( ALWAYS(p->pSrc) ){ /* Every Select as a SrcList, even if it is empty */ + SrcList *pSrc = p->pSrc; + for(i=0; inSrc; i++){ + sqlite3RenameTokenRemap(pParse, 0, (void*)pSrc->a[i].zName); + } + } + return WRC_Continue; +} + /* ** Remove all nodes that are part of expression pExpr from the rename list. */ @@ -102196,6 +103940,7 @@ SQLITE_PRIVATE void sqlite3RenameExprUnmap(Parse *pParse, Expr *pExpr){ memset(&sWalker, 0, sizeof(Walker)); sWalker.pParse = pParse; sWalker.xExprCallback = renameUnmapExprCb; + sWalker.xSelectCallback = renameUnmapSelectCb; sqlite3WalkExpr(&sWalker, pExpr); } @@ -102250,14 +103995,31 @@ static void renameTokenFind(Parse *pParse, struct RenameCtx *pCtx, void *pPtr){ } } +/* +** Iterate through the Select objects that are part of WITH clauses attached +** to select statement pSelect. +*/ +static void renameWalkWith(Walker *pWalker, Select *pSelect){ + if( pSelect->pWith ){ + int i; + for(i=0; ipWith->nCte; i++){ + Select *p = pSelect->pWith->a[i].pSelect; + NameContext sNC; + memset(&sNC, 0, sizeof(sNC)); + sNC.pParse = pWalker->pParse; + sqlite3SelectPrep(sNC.pParse, p, &sNC); + sqlite3WalkSelect(pWalker, p); + } + } +} + /* ** This is a Walker select callback. It does nothing. It is only required ** because without a dummy callback, sqlite3WalkExpr() and similar do not ** descend into sub-select statements. */ static int renameColumnSelectCb(Walker *pWalker, Select *p){ - UNUSED_PARAMETER(pWalker); - UNUSED_PARAMETER(p); + renameWalkWith(pWalker, p); return WRC_Continue; } @@ -102407,7 +104169,6 @@ static int renameParseSql( rc = sqlite3RunParser(p, zSql, &zErr); assert( p->zErrMsg==0 ); assert( rc!=SQLITE_OK || zErr==0 ); - assert( (0!=p->pNewTable) + (0!=p->pNewIndex) + (0!=p->pNewTrigger)<2 ); p->zErrMsg = zErr; if( db->mallocFailed ) rc = SQLITE_NOMEM; if( rc==SQLITE_OK @@ -102590,6 +104351,7 @@ static int renameResolveTrigger(Parse *pParse, const char *zDb){ } sNC.ncFlags = 0; } + sNC.pSrcList = 0; } } } @@ -102627,11 +104389,15 @@ static void renameWalkTrigger(Walker *pWalker, Trigger *pTrigger){ */ static void renameParseCleanup(Parse *pParse){ sqlite3 *db = pParse->db; + Index *pIdx; if( pParse->pVdbe ){ sqlite3VdbeFinalize(pParse->pVdbe); } sqlite3DeleteTable(db, pParse->pNewTable); - if( pParse->pNewIndex ) sqlite3FreeIndex(db, pParse->pNewIndex); + while( (pIdx = pParse->pNewIndex)!=0 ){ + pParse->pNewIndex = pIdx->pNext; + sqlite3FreeIndex(db, pIdx); + } sqlite3DeleteTrigger(db, pParse->pNewTrigger); sqlite3DbFree(db, pParse->zErrMsg); renameTokenFree(db, pParse->pRename); @@ -102742,6 +104508,9 @@ static void renameColumnFunc( for(pIdx=sParse.pNewTable->pIndex; pIdx; pIdx=pIdx->pNext){ sqlite3WalkExprList(&sWalker, pIdx->aColExpr); } + for(pIdx=sParse.pNewIndex; pIdx; pIdx=pIdx->pNext){ + sqlite3WalkExprList(&sWalker, pIdx->aColExpr); + } } for(pFKey=sParse.pNewTable->pFKey; pFKey; pFKey=pFKey->pNextFrom){ @@ -102828,12 +104597,17 @@ static int renameTableSelectCb(Walker *pWalker, Select *pSelect){ int i; RenameCtx *p = pWalker->u.pRename; SrcList *pSrc = pSelect->pSrc; + if( pSrc==0 ){ + assert( pWalker->pParse->db->mallocFailed ); + return WRC_Abort; + } for(i=0; inSrc; i++){ struct SrcList_item *pItem = &pSrc->a[i]; if( pItem->pTab==p->pTab ){ renameTokenFind(pWalker->pParse, p, pItem->zName); } } + renameWalkWith(pWalker, pSelect); return WRC_Continue; } @@ -103106,13 +104880,13 @@ SQLITE_PRIVATE void sqlite3AlterFunctions(void){ ** is between 3.6.18 and 3.7.8, inclusive, and unless SQLite is compiled ** with SQLITE_ENABLE_STAT2. The sqlite_stat2 table is deprecated. ** The sqlite_stat2 table is superseded by sqlite_stat3, which is only -** created and used by SQLite versions 3.7.9 and later and with +** created and used by SQLite versions 3.7.9 through 3.29.0 when ** SQLITE_ENABLE_STAT3 defined. The functionality of sqlite_stat3 -** is a superset of sqlite_stat2. The sqlite_stat4 is an enhanced -** version of sqlite_stat3 and is only available when compiled with -** SQLITE_ENABLE_STAT4 and in SQLite versions 3.8.1 and later. It is -** not possible to enable both STAT3 and STAT4 at the same time. If they -** are both enabled, then STAT4 takes precedence. +** is a superset of sqlite_stat2 and is also now deprecated. The +** sqlite_stat4 is an enhanced version of sqlite_stat3 and is only +** available when compiled with SQLITE_ENABLE_STAT4 and in SQLite +** versions 3.8.1 and later. STAT4 is the only variant that is still +** supported. ** ** For most applications, sqlite_stat1 provides all the statistics required ** for the query planner to make good choices. @@ -103223,17 +104997,11 @@ SQLITE_PRIVATE void sqlite3AlterFunctions(void){ #if defined(SQLITE_ENABLE_STAT4) # define IsStat4 1 -# define IsStat3 0 -#elif defined(SQLITE_ENABLE_STAT3) -# define IsStat4 0 -# define IsStat3 1 #else # define IsStat4 0 -# define IsStat3 0 # undef SQLITE_STAT4_SAMPLES # define SQLITE_STAT4_SAMPLES 1 #endif -#define IsStat34 (IsStat3+IsStat4) /* 1 for STAT3 or STAT4. 0 otherwise */ /* ** This routine generates code that opens the sqlite_statN tables. @@ -103262,14 +105030,10 @@ static void openStatTable( { "sqlite_stat1", "tbl,idx,stat" }, #if defined(SQLITE_ENABLE_STAT4) { "sqlite_stat4", "tbl,idx,neq,nlt,ndlt,sample" }, - { "sqlite_stat3", 0 }, -#elif defined(SQLITE_ENABLE_STAT3) - { "sqlite_stat3", "tbl,idx,neq,nlt,ndlt,sample" }, - { "sqlite_stat4", 0 }, #else - { "sqlite_stat3", 0 }, { "sqlite_stat4", 0 }, #endif + { "sqlite_stat3", 0 }, }; int i; sqlite3 *db = pParse->db; @@ -103350,7 +105114,7 @@ typedef struct Stat4Sample Stat4Sample; struct Stat4Sample { tRowcnt *anEq; /* sqlite_stat4.nEq */ tRowcnt *anDLt; /* sqlite_stat4.nDLt */ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 tRowcnt *anLt; /* sqlite_stat4.nLt */ union { i64 iRowid; /* Rowid in main table of the key */ @@ -103381,7 +105145,7 @@ struct Stat4Accum { /* Reclaim memory used by a Stat4Sample */ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 static void sampleClear(sqlite3 *db, Stat4Sample *p){ assert( db!=0 ); if( p->nRowid ){ @@ -103393,7 +105157,7 @@ static void sampleClear(sqlite3 *db, Stat4Sample *p){ /* Initialize the BLOB value of a ROWID */ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 static void sampleSetRowid(sqlite3 *db, Stat4Sample *p, int n, const u8 *pData){ assert( db!=0 ); if( p->nRowid ) sqlite3DbFree(db, p->u.aRowid); @@ -103409,7 +105173,7 @@ static void sampleSetRowid(sqlite3 *db, Stat4Sample *p, int n, const u8 *pData){ /* Initialize the INTEGER value of a ROWID. */ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 static void sampleSetRowidInt64(sqlite3 *db, Stat4Sample *p, i64 iRowid){ assert( db!=0 ); if( p->nRowid ) sqlite3DbFree(db, p->u.aRowid); @@ -103422,7 +105186,7 @@ static void sampleSetRowidInt64(sqlite3 *db, Stat4Sample *p, i64 iRowid){ /* ** Copy the contents of object (*pFrom) into (*pTo). */ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 static void sampleCopy(Stat4Accum *p, Stat4Sample *pTo, Stat4Sample *pFrom){ pTo->isPSample = pFrom->isPSample; pTo->iCol = pFrom->iCol; @@ -103443,7 +105207,7 @@ static void sampleCopy(Stat4Accum *p, Stat4Sample *pTo, Stat4Sample *pFrom){ */ static void stat4Destructor(void *pOld){ Stat4Accum *p = (Stat4Accum*)pOld; -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 int i; for(i=0; inCol; i++) sampleClear(p->db, p->aBest+i); for(i=0; imxSample; i++) sampleClear(p->db, p->a+i); @@ -103463,7 +105227,7 @@ static void stat4Destructor(void *pOld){ ** WITHOUT ROWID table, N is the number of PRIMARY KEY columns, not the ** total number of columns in the table. ** -** Note 2: C is only used for STAT3 and STAT4. +** Note 2: C is only used for STAT4. ** ** For indexes on ordinary rowid tables, N==K+1. But for indexes on ** WITHOUT ROWID tables, N=K+P where P is the number of columns in the @@ -103486,7 +105250,7 @@ static void statInit( int nColUp; /* nCol rounded up for alignment */ int n; /* Bytes of space to allocate */ sqlite3 *db; /* Database connection */ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 int mxSample = SQLITE_STAT4_SAMPLES; #endif @@ -103503,7 +105267,7 @@ static void statInit( n = sizeof(*p) + sizeof(tRowcnt)*nColUp /* Stat4Accum.anEq */ + sizeof(tRowcnt)*nColUp /* Stat4Accum.anDLt */ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 + sizeof(tRowcnt)*nColUp /* Stat4Accum.anLt */ + sizeof(Stat4Sample)*(nCol+mxSample) /* Stat4Accum.aBest[], a[] */ + sizeof(tRowcnt)*3*nColUp*(nCol+mxSample) @@ -103523,7 +105287,7 @@ static void statInit( p->current.anDLt = (tRowcnt*)&p[1]; p->current.anEq = &p->current.anDLt[nColUp]; -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 { u8 *pSpace; /* Allocated space not yet assigned */ int i; /* Used to iterate through p->aSample[] */ @@ -103558,7 +105322,7 @@ static void statInit( sqlite3_result_blob(context, p, sizeof(*p), stat4Destructor); } static const FuncDef statInitFuncdef = { - 2+IsStat34, /* nArg */ + 2+IsStat4, /* nArg */ SQLITE_UTF8, /* funcFlags */ 0, /* pUserData */ 0, /* pNext */ @@ -103598,7 +105362,7 @@ static int sampleIsBetterPost( } #endif -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 /* ** Return true if pNew is to be preferred over pOld. ** @@ -103617,15 +105381,11 @@ static int sampleIsBetter( assert( IsStat4 || (pNew->iCol==0 && pOld->iCol==0) ); if( (nEqNew>nEqOld) ) return 1; -#ifdef SQLITE_ENABLE_STAT4 if( nEqNew==nEqOld ){ if( pNew->iColiCol ) return 1; return (pNew->iCol==pOld->iCol && sampleIsBetterPost(pAccum, pNew, pOld)); } return 0; -#else - return (nEqNew==nEqOld && pNew->iHash>pOld->iHash); -#endif } /* @@ -103638,7 +105398,6 @@ static void sampleInsert(Stat4Accum *p, Stat4Sample *pNew, int nEqZero){ assert( IsStat4 || nEqZero==0 ); -#ifdef SQLITE_ENABLE_STAT4 /* Stat4Accum.nMaxEqZero is set to the maximum number of leading 0 ** values in the anEq[] array of any sample in Stat4Accum.a[]. In ** other words, if nMaxEqZero is n, then it is guaranteed that there @@ -103672,7 +105431,6 @@ static void sampleInsert(Stat4Accum *p, Stat4Sample *pNew, int nEqZero){ goto find_new_min; } } -#endif /* If necessary, remove sample iMin to make room for the new sample. */ if( p->nSample>=p->mxSample ){ @@ -103693,10 +105451,8 @@ static void sampleInsert(Stat4Accum *p, Stat4Sample *pNew, int nEqZero){ /* The "rows less-than" for the rowid column must be greater than that ** for the last sample in the p->a[] array. Otherwise, the samples would ** be out of order. */ -#ifdef SQLITE_ENABLE_STAT4 assert( p->nSample==0 || pNew->anLt[p->nCol-1] > p->a[p->nSample-1].anLt[p->nCol-1] ); -#endif /* Insert the new sample */ pSample = &p->a[p->nSample]; @@ -103706,9 +105462,7 @@ static void sampleInsert(Stat4Accum *p, Stat4Sample *pNew, int nEqZero){ /* Zero the first nEqZero entries in the anEq[] array. */ memset(pSample->anEq, 0, sizeof(tRowcnt)*nEqZero); -#ifdef SQLITE_ENABLE_STAT4 - find_new_min: -#endif +find_new_min: if( p->nSample>=p->mxSample ){ int iMin = -1; for(i=0; imxSample; i++){ @@ -103721,7 +105475,7 @@ static void sampleInsert(Stat4Accum *p, Stat4Sample *pNew, int nEqZero){ p->iMin = iMin; } } -#endif /* SQLITE_ENABLE_STAT3_OR_STAT4 */ +#endif /* SQLITE_ENABLE_STAT4 */ /* ** Field iChng of the index being scanned has changed. So at this point @@ -103762,28 +105516,7 @@ static void samplePushPrevious(Stat4Accum *p, int iChng){ } #endif -#if defined(SQLITE_ENABLE_STAT3) && !defined(SQLITE_ENABLE_STAT4) - if( iChng==0 ){ - tRowcnt nLt = p->current.anLt[0]; - tRowcnt nEq = p->current.anEq[0]; - - /* Check if this is to be a periodic sample. If so, add it. */ - if( (nLt/p->nPSample)!=(nLt+nEq)/p->nPSample ){ - p->current.isPSample = 1; - sampleInsert(p, &p->current, 0); - p->current.isPSample = 0; - }else - - /* Or if it is a non-periodic sample. Add it in this case too. */ - if( p->nSamplemxSample - || sampleIsBetter(p, &p->current, &p->a[p->iMin]) - ){ - sampleInsert(p, &p->current, 0); - } - } -#endif - -#ifndef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifndef SQLITE_ENABLE_STAT4 UNUSED_PARAMETER( p ); UNUSED_PARAMETER( iChng ); #endif @@ -103803,7 +105536,7 @@ static void samplePushPrevious(Stat4Accum *p, int iChng){ ** index being analyzed. The stat_get() SQL function will later be used to ** extract relevant information for constructing the sqlite_statN tables. ** -** The R parameter is only used for STAT3 and STAT4 +** The R parameter is only used for STAT4 */ static void statPush( sqlite3_context *context, @@ -103835,14 +105568,14 @@ static void statPush( } for(i=iChng; inCol; i++){ p->current.anDLt[i]++; -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 p->current.anLt[i] += p->current.anEq[i]; #endif p->current.anEq[i] = 1; } } p->nRow++; -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 if( sqlite3_value_type(argv[2])==SQLITE_INTEGER ){ sampleSetRowidInt64(p->db, &p->current, sqlite3_value_int64(argv[2])); }else{ @@ -103875,7 +105608,7 @@ static void statPush( #endif } static const FuncDef statPushFuncdef = { - 2+IsStat34, /* nArg */ + 2+IsStat4, /* nArg */ SQLITE_UTF8, /* funcFlags */ 0, /* pUserData */ 0, /* pNext */ @@ -103906,7 +105639,7 @@ static const FuncDef statPushFuncdef = { ** parameter will always be a poiner to a Stat4Accum object, never a ** NULL. ** -** If neither STAT3 nor STAT4 are enabled, then J is always +** If STAT4 is not enabled, then J is always ** STAT_GET_STAT1 and is hence omitted and this routine becomes ** a one-parameter function, stat_get(P), that always returns the ** stat1 table entry information. @@ -103917,8 +105650,8 @@ static void statGet( sqlite3_value **argv ){ Stat4Accum *p = (Stat4Accum*)sqlite3_value_blob(argv[0]); -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 - /* STAT3 and STAT4 have a parameter on this routine. */ +#ifdef SQLITE_ENABLE_STAT4 + /* STAT4 has a parameter on this routine. */ int eCall = sqlite3_value_int(argv[1]); assert( argc==2 ); assert( eCall==STAT_GET_STAT1 || eCall==STAT_GET_NEQ @@ -103973,7 +105706,7 @@ static void statGet( sqlite3_result_text(context, zRet, -1, sqlite3_free); } -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 else if( eCall==STAT_GET_ROWID ){ if( p->iGet<0 ){ samplePushPrevious(p, 0); @@ -104002,9 +105735,7 @@ static void statGet( } } - if( IsStat3 ){ - sqlite3_result_int64(context, (i64)aCnt[0]); - }else{ + { char *zRet = sqlite3MallocZero(p->nCol * 25); if( zRet==0 ){ sqlite3_result_error_nomem(context); @@ -104021,13 +105752,13 @@ static void statGet( } } } -#endif /* SQLITE_ENABLE_STAT3_OR_STAT4 */ +#endif /* SQLITE_ENABLE_STAT4 */ #ifndef SQLITE_DEBUG UNUSED_PARAMETER( argc ); #endif } static const FuncDef statGetFuncdef = { - 1+IsStat34, /* nArg */ + 1+IsStat4, /* nArg */ SQLITE_UTF8, /* funcFlags */ 0, /* pUserData */ 0, /* pNext */ @@ -104040,7 +105771,7 @@ static const FuncDef statGetFuncdef = { static void callStatGet(Vdbe *v, int regStat4, int iParam, int regOut){ assert( regOut!=regStat4 && regOut!=regStat4+1 ); -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 sqlite3VdbeAddOp2(v, OP_Integer, iParam, regStat4+1); #elif SQLITE_DEBUG assert( iParam==STAT_GET_STAT1 ); @@ -104049,7 +105780,7 @@ static void callStatGet(Vdbe *v, int regStat4, int iParam, int regOut){ #endif sqlite3VdbeAddOp4(v, OP_Function0, 0, regStat4, regOut, (char*)&statGetFuncdef, P4_FUNCDEF); - sqlite3VdbeChangeP5(v, 1 + IsStat34); + sqlite3VdbeChangeP5(v, 1 + IsStat4); } /* @@ -104076,7 +105807,7 @@ static void analyzeOneTable( int regNewRowid = iMem++; /* Rowid for the inserted record */ int regStat4 = iMem++; /* Register to hold Stat4Accum object */ int regChng = iMem++; /* Index of changed index field */ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 int regRowid = iMem++; /* Rowid argument passed to stat_push() */ #endif int regTemp = iMem++; /* Temporary use register */ @@ -104210,16 +105941,16 @@ static void analyzeOneTable( ** (3) the number of rows in the index, ** ** - ** The third argument is only used for STAT3 and STAT4 + ** The third argument is only used for STAT4 */ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 sqlite3VdbeAddOp2(v, OP_Count, iIdxCur, regStat4+3); #endif sqlite3VdbeAddOp2(v, OP_Integer, nCol, regStat4+1); sqlite3VdbeAddOp2(v, OP_Integer, pIdx->nKeyCol, regStat4+2); sqlite3VdbeAddOp4(v, OP_Function0, 0, regStat4+1, regStat4, (char*)&statInitFuncdef, P4_FUNCDEF); - sqlite3VdbeChangeP5(v, 2+IsStat34); + sqlite3VdbeChangeP5(v, 2+IsStat4); /* Implementation of the following: ** @@ -104235,7 +105966,7 @@ static void analyzeOneTable( addrNextRow = sqlite3VdbeCurrentAddr(v); if( nColTest>0 ){ - int endDistinctTest = sqlite3VdbeMakeLabel(v); + int endDistinctTest = sqlite3VdbeMakeLabel(pParse); int *aGotoChng; /* Array of jump instruction addresses */ aGotoChng = sqlite3DbMallocRawNN(db, sizeof(int)*nColTest); if( aGotoChng==0 ) continue; @@ -104290,12 +106021,12 @@ static void analyzeOneTable( /* ** chng_addr_N: - ** regRowid = idx(rowid) // STAT34 only - ** stat_push(P, regChng, regRowid) // 3rd parameter STAT34 only + ** regRowid = idx(rowid) // STAT4 only + ** stat_push(P, regChng, regRowid) // 3rd parameter STAT4 only ** Next csr ** if !eof(csr) goto next_row; */ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 assert( regRowid==(regStat4+2) ); if( HasRowid(pTab) ){ sqlite3VdbeAddOp2(v, OP_IdxRowid, iIdxCur, regRowid); @@ -104316,7 +106047,7 @@ static void analyzeOneTable( assert( regChng==(regStat4+1) ); sqlite3VdbeAddOp4(v, OP_Function0, 1, regStat4, regTemp, (char*)&statPushFuncdef, P4_FUNCDEF); - sqlite3VdbeChangeP5(v, 2+IsStat34); + sqlite3VdbeChangeP5(v, 2+IsStat4); sqlite3VdbeAddOp2(v, OP_Next, iIdxCur, addrNextRow); VdbeCoverage(v); /* Add the entry to the stat1 table. */ @@ -104330,8 +106061,8 @@ static void analyzeOneTable( #endif sqlite3VdbeChangeP5(v, OPFLAG_APPEND); - /* Add the entries to the stat3 or stat4 table. */ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 + /* Add the entries to the stat4 table. */ +#ifdef SQLITE_ENABLE_STAT4 { int regEq = regStat1; int regLt = regStat1+1; @@ -104354,21 +106085,17 @@ static void analyzeOneTable( callStatGet(v, regStat4, STAT_GET_NDLT, regDLt); sqlite3VdbeAddOp4Int(v, seekOp, iTabCur, addrNext, regSampleRowid, 0); VdbeCoverage(v); -#ifdef SQLITE_ENABLE_STAT3 - sqlite3ExprCodeLoadIndexColumn(pParse, pIdx, iTabCur, 0, regSample); -#else for(i=0; ibUnordered = 1; }else if( sqlite3_strglob("sz=[0-9]*", z)==0 ){ - pIndex->szIdxRow = sqlite3LogEst(sqlite3Atoi(z+3)); + int sz = sqlite3Atoi(z+3); + if( sz<2 ) sz = 2; + pIndex->szIdxRow = sqlite3LogEst(sz); }else if( sqlite3_strglob("noskipscan*", z)==0 ){ pIndex->noSkipScan = 1; } @@ -104630,7 +106359,7 @@ static int analysisLoader(void *pData, int argc, char **argv, char **NotUsed){ if( pIndex ){ tRowcnt *aiRowEst = 0; int nCol = pIndex->nKeyCol+1; -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 /* Index.aiRowEst may already be set here if there are duplicate ** sqlite_stat1 entries for this index. In that case just clobber ** the old data with the new instead of allocating a new array. */ @@ -104666,7 +106395,7 @@ static int analysisLoader(void *pData, int argc, char **argv, char **NotUsed){ ** and its contents. */ SQLITE_PRIVATE void sqlite3DeleteIndexSamples(sqlite3 *db, Index *pIdx){ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 if( pIdx->aSample ){ int j; for(j=0; jnSample; j++){ @@ -104682,10 +106411,10 @@ SQLITE_PRIVATE void sqlite3DeleteIndexSamples(sqlite3 *db, Index *pIdx){ #else UNUSED_PARAMETER(db); UNUSED_PARAMETER(pIdx); -#endif /* SQLITE_ENABLE_STAT3_OR_STAT4 */ +#endif /* SQLITE_ENABLE_STAT4 */ } -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 /* ** Populate the pIdx->aAvgEq[] array based on the samples currently ** stored in pIdx->aSample[]. @@ -104763,12 +106492,11 @@ static Index *findIndexOrPrimaryKey( } /* -** Load the content from either the sqlite_stat4 or sqlite_stat3 table +** Load the content from either the sqlite_stat4 ** into the relevant Index.aSample[] arrays. ** ** Arguments zSql1 and zSql2 must point to SQL statements that return -** data equivalent to the following (statements are different for stat3, -** see the caller of this function for details): +** data equivalent to the following: ** ** zSql1: SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx ** zSql2: SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4 @@ -104777,7 +106505,6 @@ static Index *findIndexOrPrimaryKey( */ static int loadStatTbl( sqlite3 *db, /* Database handle */ - int bStat3, /* Assume single column records only */ const char *zSql1, /* SQL statement 1 (see above) */ const char *zSql2, /* SQL statement 2 (see above) */ const char *zDb /* Database name (e.g. "main") */ @@ -104811,17 +106538,13 @@ static int loadStatTbl( if( zIndex==0 ) continue; nSample = sqlite3_column_int(pStmt, 1); pIdx = findIndexOrPrimaryKey(db, zIndex, zDb); - assert( pIdx==0 || bStat3 || pIdx->nSample==0 ); - /* Index.nSample is non-zero at this point if data has already been - ** loaded from the stat4 table. In this case ignore stat3 data. */ - if( pIdx==0 || pIdx->nSample ) continue; - if( bStat3==0 ){ - assert( !HasRowid(pIdx->pTable) || pIdx->nColumn==pIdx->nKeyCol+1 ); - if( !HasRowid(pIdx->pTable) && IsPrimaryKeyIndex(pIdx) ){ - nIdxCol = pIdx->nKeyCol; - }else{ - nIdxCol = pIdx->nColumn; - } + assert( pIdx==0 || pIdx->nSample==0 ); + if( pIdx==0 ) continue; + assert( !HasRowid(pIdx->pTable) || pIdx->nColumn==pIdx->nKeyCol+1 ); + if( !HasRowid(pIdx->pTable) && IsPrimaryKeyIndex(pIdx) ){ + nIdxCol = pIdx->nKeyCol; + }else{ + nIdxCol = pIdx->nColumn; } pIdx->nSampleCol = nIdxCol; nByte = sizeof(IndexSample) * nSample; @@ -104863,9 +106586,8 @@ static int loadStatTbl( pIdx = findIndexOrPrimaryKey(db, zIndex, zDb); if( pIdx==0 ) continue; /* This next condition is true if data has already been loaded from - ** the sqlite_stat4 table. In this case ignore stat3 data. */ + ** the sqlite_stat4 table. */ nCol = pIdx->nSampleCol; - if( bStat3 && nCol>1 ) continue; if( pIdx!=pPrevIdx ){ initAvgEq(pPrevIdx); pPrevIdx = pIdx; @@ -104898,7 +106620,7 @@ static int loadStatTbl( } /* -** Load content from the sqlite_stat4 and sqlite_stat3 tables into +** Load content from the sqlite_stat4 table into ** the Index.aSample[] arrays of all indices. */ static int loadStat4(sqlite3 *db, const char *zDb){ @@ -104906,37 +106628,28 @@ static int loadStat4(sqlite3 *db, const char *zDb){ assert( db->lookaside.bDisable ); if( sqlite3FindTable(db, "sqlite_stat4", zDb) ){ - rc = loadStatTbl(db, 0, + rc = loadStatTbl(db, "SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx", "SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4", zDb ); } - - if( rc==SQLITE_OK && sqlite3FindTable(db, "sqlite_stat3", zDb) ){ - rc = loadStatTbl(db, 1, - "SELECT idx,count(*) FROM %Q.sqlite_stat3 GROUP BY idx", - "SELECT idx,neq,nlt,ndlt,sqlite_record(sample) FROM %Q.sqlite_stat3", - zDb - ); - } - return rc; } -#endif /* SQLITE_ENABLE_STAT3_OR_STAT4 */ +#endif /* SQLITE_ENABLE_STAT4 */ /* -** Load the content of the sqlite_stat1 and sqlite_stat3/4 tables. The +** Load the content of the sqlite_stat1 and sqlite_stat4 tables. The ** contents of sqlite_stat1 are used to populate the Index.aiRowEst[] -** arrays. The contents of sqlite_stat3/4 are used to populate the +** arrays. The contents of sqlite_stat4 are used to populate the ** Index.aSample[] arrays. ** ** If the sqlite_stat1 table is not present in the database, SQLITE_ERROR -** is returned. In this case, even if SQLITE_ENABLE_STAT3/4 was defined -** during compilation and the sqlite_stat3/4 table is present, no data is +** is returned. In this case, even if SQLITE_ENABLE_STAT4 was defined +** during compilation and the sqlite_stat4 table is present, no data is ** read from it. ** -** If SQLITE_ENABLE_STAT3/4 was defined during compilation and the +** If SQLITE_ENABLE_STAT4 was defined during compilation and the ** sqlite_stat4 table is not present in the database, SQLITE_ERROR is ** returned. However, in this case, data is read from the sqlite_stat1 ** table (if it is present) before returning. @@ -104964,7 +106677,7 @@ SQLITE_PRIVATE int sqlite3AnalysisLoad(sqlite3 *db, int iDb){ for(i=sqliteHashFirst(&pSchema->idxHash); i; i=sqliteHashNext(i)){ Index *pIdx = sqliteHashData(i); pIdx->hasStat1 = 0; -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 sqlite3DeleteIndexSamples(db, pIdx); pIdx->aSample = 0; #endif @@ -104992,7 +106705,7 @@ SQLITE_PRIVATE int sqlite3AnalysisLoad(sqlite3 *db, int iDb){ } /* Load the statistics from the sqlite_stat4 table. */ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 if( rc==SQLITE_OK ){ db->lookaside.bDisable++; rc = loadStat4(db, sInfo.zDatabase); @@ -105173,8 +106886,8 @@ static void attachFunc( assert( pVfs ); flags |= SQLITE_OPEN_MAIN_DB; rc = sqlite3BtreeOpen(pVfs, zPath, db, &pNew->pBt, 0, flags); - sqlite3_free( zPath ); db->nDb++; + pNew->zDbSName = sqlite3DbStrDup(db, zName); } db->noSharedCache = 0; if( rc==SQLITE_CONSTRAINT ){ @@ -105202,7 +106915,6 @@ static void attachFunc( sqlite3BtreeLeave(pNew->pBt); } pNew->safety_level = SQLITE_DEFAULT_SYNCHRONOUS+1; - if( !REOPEN_AS_MEMDB(db) ) pNew->zDbSName = sqlite3DbStrDup(db, zName); if( rc==SQLITE_OK && pNew->zDbSName==0 ){ rc = SQLITE_NOMEM_BKPT; } @@ -105230,15 +106942,19 @@ static void attachFunc( break; case SQLITE_NULL: - /* No key specified. Use the key from the main database */ - sqlite3CodecGetKey(db, 0, (void**)&zKey, &nKey); - if( nKey || sqlite3BtreeGetOptimalReserve(db->aDb[0].pBt)>0 ){ - rc = sqlite3CodecAttach(db, db->nDb-1, zKey, nKey); + /* No key specified. Use the key from URI filename, or if none, + ** use the key from the main database. */ + if( sqlite3CodecQueryParameters(db, zName, zPath)==0 ){ + sqlite3CodecGetKey(db, 0, (void**)&zKey, &nKey); + if( nKey || sqlite3BtreeGetOptimalReserve(db->aDb[0].pBt)>0 ){ + rc = sqlite3CodecAttach(db, db->nDb-1, zKey, nKey); + } } break; } } #endif + sqlite3_free( zPath ); /* If the file was opened successfully, read the schema for the new database. ** If this fails, or if opening the file failed, then close the file and @@ -105249,12 +106965,14 @@ static void attachFunc( sqlite3BtreeEnterAll(db); db->init.iDb = 0; db->mDbFlags &= ~(DBFLAG_SchemaKnownOk); - rc = sqlite3Init(db, &zErrDyn); + if( !REOPEN_AS_MEMDB(db) ){ + rc = sqlite3Init(db, &zErrDyn); + } sqlite3BtreeLeaveAll(db); assert( zErrDyn==0 || rc!=SQLITE_OK ); } #ifdef SQLITE_USER_AUTHENTICATION - if( rc==SQLITE_OK ){ + if( rc==SQLITE_OK && !REOPEN_AS_MEMDB(db) ){ u8 newAuth = 0; rc = sqlite3UserAuthCheckLogin(db, zName, &newAuth); if( newAuthauth.authLevel ){ @@ -105312,6 +107030,7 @@ static void detachFunc( sqlite3 *db = sqlite3_context_db_handle(context); int i; Db *pDb = 0; + HashElem *pEntry; char zErr[128]; UNUSED_PARAMETER(NotUsed); @@ -105336,6 +107055,18 @@ static void detachFunc( goto detach_error; } + /* If any TEMP triggers reference the schema being detached, move those + ** triggers to reference the TEMP schema itself. */ + assert( db->aDb[1].pSchema ); + pEntry = sqliteHashFirst(&db->aDb[1].pSchema->trigHash); + while( pEntry ){ + Trigger *pTrig = (Trigger*)sqliteHashData(pEntry); + if( pTrig->pTabSchema==pDb->pSchema ){ + pTrig->pTabSchema = pTrig->pSchema; + } + pEntry = sqliteHashNext(pEntry); + } + sqlite3BtreeClose(pDb->pBt); pDb->pBt = 0; pDb->pSchema = 0; @@ -105573,6 +107304,7 @@ SQLITE_PRIVATE int sqlite3FixExpr( Expr *pExpr /* The expression to be fixed to one database */ ){ while( pExpr ){ + ExprSetProperty(pExpr, EP_Indirect); if( pExpr->op==TK_VARIABLE ){ if( pFix->pParse->db->init.busy ){ pExpr->op = TK_NULL; @@ -105725,7 +107457,7 @@ SQLITE_API int sqlite3_set_authorizer( sqlite3_mutex_enter(db->mutex); db->xAuth = (sqlite3_xauth)xAuth; db->pAuthArg = pArg; - sqlite3ExpirePreparedStatements(db, 0); + if( db->xAuth ) sqlite3ExpirePreparedStatements(db, 1); sqlite3_mutex_leave(db->mutex); return SQLITE_OK; } @@ -106150,7 +107882,7 @@ SQLITE_PRIVATE void sqlite3FinishCoding(Parse *pParse){ if( v && pParse->nErr==0 && !db->mallocFailed ){ /* A minimum of one cursor is required if autoincrement is used * See ticket [a696379c1f08866] */ - if( pParse->pAinc!=0 && pParse->nTab==0 ) pParse->nTab = 1; + assert( pParse->pAinc==0 || pParse->nTab>0 ); sqlite3VdbeMakeReady(v, pParse); pParse->rc = SQLITE_DONE; }else{ @@ -106183,7 +107915,12 @@ SQLITE_PRIVATE void sqlite3NestedParse(Parse *pParse, const char *zFormat, ...){ zSql = sqlite3VMPrintf(db, zFormat, ap); va_end(ap); if( zSql==0 ){ - return; /* A malloc must have failed */ + /* This can result either from an OOM or because the formatted string + ** exceeds SQLITE_LIMIT_LENGTH. In the latter case, we need to set + ** an error */ + if( !db->mallocFailed ) pParse->rc = SQLITE_TOOBIG; + pParse->nErr++; + return; } pParse->nested++; memcpy(saveBuf, PARSE_TAIL(pParse), PARSE_TAIL_SZ); @@ -106277,26 +108014,32 @@ SQLITE_PRIVATE Table *sqlite3LocateTable( p = sqlite3FindTable(db, zName, zDbase); if( p==0 ){ - const char *zMsg = flags & LOCATE_VIEW ? "no such view" : "no such table"; #ifndef SQLITE_OMIT_VIRTUALTABLE /* If zName is the not the name of a table in the schema created using ** CREATE, then check to see if it is the name of an virtual table that ** can be an eponymous virtual table. */ - Module *pMod = (Module*)sqlite3HashFind(&db->aModule, zName); - if( pMod==0 && sqlite3_strnicmp(zName, "pragma_", 7)==0 ){ - pMod = sqlite3PragmaVtabRegister(db, zName); - } - if( pMod && sqlite3VtabEponymousTableInit(pParse, pMod) ){ - return pMod->pEpoTab; + if( pParse->disableVtab==0 ){ + Module *pMod = (Module*)sqlite3HashFind(&db->aModule, zName); + if( pMod==0 && sqlite3_strnicmp(zName, "pragma_", 7)==0 ){ + pMod = sqlite3PragmaVtabRegister(db, zName); + } + if( pMod && sqlite3VtabEponymousTableInit(pParse, pMod) ){ + return pMod->pEpoTab; + } } #endif - if( (flags & LOCATE_NOERR)==0 ){ - if( zDbase ){ - sqlite3ErrorMsg(pParse, "%s: %s.%s", zMsg, zDbase, zName); - }else{ - sqlite3ErrorMsg(pParse, "%s: %s", zMsg, zName); - } - pParse->checkSchema = 1; + if( flags & LOCATE_NOERR ) return 0; + pParse->checkSchema = 1; + }else if( IsVirtual(p) && pParse->disableVtab ){ + p = 0; + } + + if( p==0 ){ + const char *zMsg = flags & LOCATE_VIEW ? "no such view" : "no such table"; + if( zDbase ){ + sqlite3ErrorMsg(pParse, "%s: %s.%s", zMsg, zDbase, zName); + }else{ + sqlite3ErrorMsg(pParse, "%s: %s", zMsg, zName); } } @@ -106368,7 +108111,7 @@ SQLITE_PRIVATE void sqlite3FreeIndex(sqlite3 *db, Index *p){ sqlite3ExprListDelete(db, p->aColExpr); sqlite3DbFree(db, p->zColAff); if( p->isResized ) sqlite3DbFree(db, (void *)p->azColl); -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 sqlite3_free(p->aiRowEst); #endif sqlite3DbFree(db, p); @@ -106530,10 +108273,14 @@ static void SQLITE_NOINLINE deleteTable(sqlite3 *db, Table *pTable){ #ifdef SQLITE_DEBUG /* Record the number of outstanding lookaside allocations in schema Tables - ** prior to doing any free() operations. Since schema Tables do not use - ** lookaside, this number should not change. */ + ** prior to doing any free() operations. Since schema Tables do not use + ** lookaside, this number should not change. + ** + ** If malloc has already failed, it may be that it failed while allocating + ** a Table object that was going to be marked ephemeral. So do not check + ** that no lookaside memory is used in this case either. */ int nLookaside = 0; - if( db && (pTable->tabFlags & TF_Ephemeral)==0 ){ + if( db && !db->mallocFailed && (pTable->tabFlags & TF_Ephemeral)==0 ){ nLookaside = sqlite3LookasideUsed(db, 0); } #endif @@ -106559,12 +108306,6 @@ static void SQLITE_NOINLINE deleteTable(sqlite3 *db, Table *pTable){ /* Delete the Table structure itself. */ -#ifdef SQLITE_ENABLE_NORMALIZE - if( pTable->pColHash ){ - sqlite3HashClear(pTable->pColHash); - sqlite3_free(pTable->pColHash); - } -#endif sqlite3DeleteColumnNames(db, pTable); sqlite3DbFree(db, pTable->zName); sqlite3DbFree(db, pTable->zColAff); @@ -106743,13 +108484,40 @@ SQLITE_PRIVATE int sqlite3WritableSchema(sqlite3 *db){ ** trigger). All names are legal except those that begin with the string ** "sqlite_" (in upper, lower or mixed case). This portion of the namespace ** is reserved for internal use. +** +** When parsing the sqlite_master table, this routine also checks to +** make sure the "type", "name", and "tbl_name" columns are consistent +** with the SQL. */ -SQLITE_PRIVATE int sqlite3CheckObjectName(Parse *pParse, const char *zName){ - if( !pParse->db->init.busy && pParse->nested==0 - && sqlite3WritableSchema(pParse->db)==0 - && 0==sqlite3StrNICmp(zName, "sqlite_", 7) ){ - sqlite3ErrorMsg(pParse, "object name reserved for internal use: %s", zName); - return SQLITE_ERROR; +SQLITE_PRIVATE int sqlite3CheckObjectName( + Parse *pParse, /* Parsing context */ + const char *zName, /* Name of the object to check */ + const char *zType, /* Type of this object */ + const char *zTblName /* Parent table name for triggers and indexes */ +){ + sqlite3 *db = pParse->db; + if( sqlite3WritableSchema(db) || db->init.imposterTable ){ + /* Skip these error checks for writable_schema=ON */ + return SQLITE_OK; + } + if( db->init.busy ){ + if( sqlite3_stricmp(zType, db->init.azInit[0]) + || sqlite3_stricmp(zName, db->init.azInit[1]) + || sqlite3_stricmp(zTblName, db->init.azInit[2]) + ){ + if( sqlite3Config.bExtraSchemaChecks ){ + sqlite3ErrorMsg(pParse, ""); /* corruptSchema() will supply the error */ + return SQLITE_ERROR; + } + } + }else{ + if( pParse->nested==0 + && 0==sqlite3StrNICmp(zName, "sqlite_", 7) + ){ + sqlite3ErrorMsg(pParse, "object name reserved for internal use: %s", + zName); + return SQLITE_ERROR; + } } return SQLITE_OK; } @@ -106830,7 +108598,7 @@ SQLITE_PRIVATE void sqlite3StartTable( } pParse->sNameToken = *pName; if( zName==0 ) return; - if( SQLITE_OK!=sqlite3CheckObjectName(pParse, zName) ){ + if( sqlite3CheckObjectName(pParse, zName, isView?"view":"table", zName) ){ goto begin_table_error; } if( db->init.iDb==1 ) isTemp = 1; @@ -107247,7 +109015,7 @@ SQLITE_PRIVATE void sqlite3AddDefaultValue( ** accept it. This routine does the necessary conversion. It converts ** the expression given in its argument from a TK_STRING into a TK_ID ** if the expression is just a TK_STRING with an optional COLLATE clause. -** If the epxression is anything other than TK_STRING, the expression is +** If the expression is anything other than TK_STRING, the expression is ** unchanged. */ static void sqlite3StringToId(Expr *p){ @@ -107323,13 +109091,14 @@ SQLITE_PRIVATE void sqlite3AddPrimaryKey( && sortOrder!=SQLITE_SO_DESC ){ if( IN_RENAME_OBJECT && pList ){ - sqlite3RenameTokenRemap(pParse, &pTab->iPKey, pList->a[0].pExpr); + Expr *pCExpr = sqlite3ExprSkipCollate(pList->a[0].pExpr); + sqlite3RenameTokenRemap(pParse, &pTab->iPKey, pCExpr); } pTab->iPKey = iCol; pTab->keyConf = (u8)onError; assert( autoInc==0 || autoInc==1 ); pTab->tabFlags |= autoInc*TF_Autoincrement; - if( pList ) pParse->iPkSortOrder = pList->a[0].sortOrder; + if( pList ) pParse->iPkSortOrder = pList->a[0].sortFlags; }else if( autoInc ){ #ifndef SQLITE_OMIT_AUTOINCREMENT sqlite3ErrorMsg(pParse, "AUTOINCREMENT is only allowed on an " @@ -107643,10 +109412,51 @@ static void estimateIndexWidth(Index *pIdx){ pIdx->szIdxRow = sqlite3LogEst(wIndex*4); } -/* Return true if value x is found any of the first nCol entries of aiCol[] +/* Return true if column number x is any of the first nCol entries of aiCol[]. +** This is used to determine if the column number x appears in any of the +** first nCol entries of an index. */ static int hasColumn(const i16 *aiCol, int nCol, int x){ - while( nCol-- > 0 ) if( x==*(aiCol++) ) return 1; + while( nCol-- > 0 ){ + assert( aiCol[0]>=0 ); + if( x==*(aiCol++) ){ + return 1; + } + } + return 0; +} + +/* +** Return true if any of the first nKey entries of index pIdx exactly +** match the iCol-th entry of pPk. pPk is always a WITHOUT ROWID +** PRIMARY KEY index. pIdx is an index on the same table. pIdx may +** or may not be the same index as pPk. +** +** The first nKey entries of pIdx are guaranteed to be ordinary columns, +** not a rowid or expression. +** +** This routine differs from hasColumn() in that both the column and the +** collating sequence must match for this routine, but for hasColumn() only +** the column name must match. +*/ +static int isDupColumn(Index *pIdx, int nKey, Index *pPk, int iCol){ + int i, j; + assert( nKey<=pIdx->nColumn ); + assert( iColnColumn,pPk->nKeyCol) ); + assert( pPk->idxType==SQLITE_IDXTYPE_PRIMARYKEY ); + assert( pPk->pTable->tabFlags & TF_WithoutRowid ); + assert( pPk->pTable==pIdx->pTable ); + testcase( pPk==pIdx ); + j = pPk->aiColumn[iCol]; + assert( j!=XN_ROWID && j!=XN_EXPR ); + for(i=0; iaiColumn[i]>=0 || j>=0 ); + if( pIdx->aiColumn[i]==j + && sqlite3StrICmp(pIdx->azColl[i], pPk->azColl[iCol])==0 + ){ + return 1; + } + } return 0; } @@ -107703,6 +109513,7 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ Index *pIdx; Index *pPk; int nPk; + int nExtra; int i, j; sqlite3 *db = pParse->db; Vdbe *v = pParse->pVdbe; @@ -107735,15 +109546,20 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ pList = sqlite3ExprListAppend(pParse, 0, sqlite3ExprAlloc(db, TK_ID, &ipkToken, 0)); if( pList==0 ) return; - pList->a[0].sortOrder = pParse->iPkSortOrder; + if( IN_RENAME_OBJECT ){ + sqlite3RenameTokenRemap(pParse, pList->a[0].pExpr, &pTab->iPKey); + } + pList->a[0].sortFlags = pParse->iPkSortOrder; assert( pParse->pNewTable==pTab ); + pTab->iPKey = -1; sqlite3CreateIndex(pParse, 0, 0, 0, pList, pTab->keyConf, 0, 0, 0, 0, SQLITE_IDXTYPE_PRIMARYKEY); if( db->mallocFailed || pParse->nErr ) return; pPk = sqlite3PrimaryKeyIndex(pTab); - pTab->iPKey = -1; + assert( pPk->nKeyCol==1 ); }else{ pPk = sqlite3PrimaryKeyIndex(pTab); + assert( pPk!=0 ); /* ** Remove all redundant columns from the PRIMARY KEY. For example, change @@ -107751,9 +109567,12 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ ** code assumes the PRIMARY KEY contains no repeated columns. */ for(i=j=1; inKeyCol; i++){ - if( hasColumn(pPk->aiColumn, j, pPk->aiColumn[i]) ){ + if( isDupColumn(pPk, j, pPk, i) ){ pPk->nColumn--; }else{ + testcase( hasColumn(pPk->aiColumn, j, pPk->aiColumn[i]) ); + pPk->azColl[j] = pPk->azColl[i]; + pPk->aSortOrder[j] = pPk->aSortOrder[i]; pPk->aiColumn[j++] = pPk->aiColumn[i]; } } @@ -107762,7 +109581,7 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ assert( pPk!=0 ); pPk->isCovering = 1; if( !db->init.imposterTable ) pPk->uniqNotNull = 1; - nPk = pPk->nKeyCol; + nPk = pPk->nColumn = pPk->nKeyCol; /* Bypass the creation of the PRIMARY KEY btree and the sqlite_master ** table entry. This is only required if currently generating VDBE @@ -107783,7 +109602,10 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ int n; if( IsPrimaryKeyIndex(pIdx) ) continue; for(i=n=0; iaiColumn, pIdx->nKeyCol, pPk->aiColumn[i]) ) n++; + if( !isDupColumn(pIdx, pIdx->nKeyCol, pPk, i) ){ + testcase( hasColumn(pIdx->aiColumn, pIdx->nKeyCol, pPk->aiColumn[i]) ); + n++; + } } if( n==0 ){ /* This index is a superset of the primary key */ @@ -107792,9 +109614,14 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ } if( resizeIndexObject(db, pIdx, pIdx->nKeyCol+n) ) return; for(i=0, j=pIdx->nKeyCol; iaiColumn, pIdx->nKeyCol, pPk->aiColumn[i]) ){ + if( !isDupColumn(pIdx, pIdx->nKeyCol, pPk, i) ){ + testcase( hasColumn(pIdx->aiColumn, pIdx->nKeyCol, pPk->aiColumn[i]) ); pIdx->aiColumn[j] = pPk->aiColumn[i]; pIdx->azColl[j] = pPk->azColl[i]; + if( pPk->aSortOrder[i] ){ + /* See ticket https://www.sqlite.org/src/info/bba7b69f9849b5bf */ + pIdx->bAscKeyBug = 1; + } j++; } } @@ -107804,21 +109631,21 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ /* Add all table columns to the PRIMARY KEY index */ - if( nPknCol ){ - if( resizeIndexObject(db, pPk, pTab->nCol) ) return; - for(i=0, j=nPk; inCol; i++){ - if( !hasColumn(pPk->aiColumn, j, i) ){ - assert( jnColumn ); - pPk->aiColumn[j] = i; - pPk->azColl[j] = sqlite3StrBINARY; - j++; - } + nExtra = 0; + for(i=0; inCol; i++){ + if( !hasColumn(pPk->aiColumn, nPk, i) ) nExtra++; + } + if( resizeIndexObject(db, pPk, nPk+nExtra) ) return; + for(i=0, j=nPk; inCol; i++){ + if( !hasColumn(pPk->aiColumn, j, i) ){ + assert( jnColumn ); + pPk->aiColumn[j] = i; + pPk->azColl[j] = sqlite3StrBINARY; + j++; } - assert( pPk->nColumn==j ); - assert( pTab->nCol==j ); - }else{ - pPk->nColumn = pTab->nCol; } + assert( pPk->nColumn==j ); + assert( pTab->nCol<=j ); recomputeColumnsNotIndexed(pPk); } @@ -107913,6 +109740,11 @@ SQLITE_PRIVATE void sqlite3EndTable( if( p->tnum==1 ) p->tabFlags |= TF_Readonly; } + assert( (p->tabFlags & TF_HasPrimaryKey)==0 + || p->iPKey>=0 || sqlite3PrimaryKeyIndex(p)!=0 ); + assert( (p->tabFlags & TF_HasPrimaryKey)!=0 + || (p->iPKey<0 && sqlite3PrimaryKeyIndex(p)==0) ); + /* Special processing for WITHOUT ROWID Tables */ if( tabOpts & TF_WithoutRowid ){ if( (p->tabFlags & TF_Autoincrement) ){ @@ -108010,7 +109842,7 @@ SQLITE_PRIVATE void sqlite3EndTable( addrTop = sqlite3VdbeCurrentAddr(v) + 1; sqlite3VdbeAddOp3(v, OP_InitCoroutine, regYield, 0, addrTop); if( pParse->nErr ) return; - pSelTab = sqlite3ResultSetOfSelect(pParse, pSelect); + pSelTab = sqlite3ResultSetOfSelect(pParse, pSelect, SQLITE_AFF_BLOB); if( pSelTab==0 ) return; assert( p->aCol==0 ); p->nCol = pSelTab->nCol; @@ -108274,10 +110106,10 @@ SQLITE_PRIVATE int sqlite3ViewGetColumnNames(Parse *pParse, Table *pTable){ #ifndef SQLITE_OMIT_AUTHORIZATION xAuth = db->xAuth; db->xAuth = 0; - pSelTab = sqlite3ResultSetOfSelect(pParse, pSel); + pSelTab = sqlite3ResultSetOfSelect(pParse, pSel, SQLITE_AFF_NONE); db->xAuth = xAuth; #else - pSelTab = sqlite3ResultSetOfSelect(pParse, pSel); + pSelTab = sqlite3ResultSetOfSelect(pParse, pSel, SQLITE_AFF_NONE); #endif pParse->nTab = n; if( pTable->pCheck ){ @@ -108293,7 +110125,8 @@ SQLITE_PRIVATE int sqlite3ViewGetColumnNames(Parse *pParse, Table *pTable){ && pParse->nErr==0 && pTable->nCol==pSel->pEList->nExpr ){ - sqlite3SelectAddColumnTypeAndCollation(pParse, pTable, pSel); + sqlite3SelectAddColumnTypeAndCollation(pParse, pTable, pSel, + SQLITE_AFF_NONE); } }else if( pSelTab ){ /* CREATE VIEW name AS... without an argument list. Construct @@ -108561,6 +110394,7 @@ SQLITE_PRIVATE void sqlite3CodeDropTable(Parse *pParse, Table *pTab, int iDb, in */ if( IsVirtual(pTab) ){ sqlite3VdbeAddOp4(v, OP_VDestroy, iDb, 0, 0, pTab->zName, 0); + sqlite3MayAbort(pParse); } sqlite3VdbeAddOp4(v, OP_DropTable, iDb, 0, 0, pTab->zName, 0); sqlite3ChangeCookie(pParse, iDb); @@ -108637,7 +110471,8 @@ SQLITE_PRIVATE void sqlite3DropTable(Parse *pParse, SrcList *pName, int isView, } #endif if( sqlite3StrNICmp(pTab->zName, "sqlite_", 7)==0 - && sqlite3StrNICmp(pTab->zName, "sqlite_stat", 11)!=0 ){ + && sqlite3StrNICmp(pTab->zName+7, "stat", 4)!=0 + && sqlite3StrNICmp(pTab->zName+7, "parameters", 10)!=0 ){ sqlite3ErrorMsg(pParse, "table %s may not be dropped", pTab->zName); goto exit_drop_table; } @@ -108907,10 +110742,27 @@ static void sqlite3RefillIndex(Parse *pParse, Index *pIndex, int memRootPage){ sqlite3UniqueConstraint(pParse, OE_Abort, pIndex); sqlite3VdbeJumpHere(v, j2); }else{ + /* Most CREATE INDEX and REINDEX statements that are not UNIQUE can not + ** abort. The exception is if one of the indexed expressions contains a + ** user function that throws an exception when it is evaluated. But the + ** overhead of adding a statement journal to a CREATE INDEX statement is + ** very small (since most of the pages written do not contain content that + ** needs to be restored if the statement aborts), so we call + ** sqlite3MayAbort() for all CREATE INDEX statements. */ + sqlite3MayAbort(pParse); addr2 = sqlite3VdbeCurrentAddr(v); } sqlite3VdbeAddOp3(v, OP_SorterData, iSorter, regRecord, iIdx); - sqlite3VdbeAddOp1(v, OP_SeekEnd, iIdx); + if( !pIndex->bAscKeyBug ){ + /* This OP_SeekEnd opcode makes index insert for a REINDEX go much + ** faster by avoiding unnecessary seeks. But the optimization does + ** not work for UNIQUE constraint indexes on WITHOUT ROWID tables + ** with DESC primary keys, since those indexes have there keys in + ** a different order from the main table. + ** See ticket: https://www.sqlite.org/src/info/bba7b69f9849b5bf + */ + sqlite3VdbeAddOp1(v, OP_SeekEnd, iIdx); + } sqlite3VdbeAddOp2(v, OP_IdxInsert, iIdx, regRecord); sqlite3VdbeChangeP5(v, OPFLAG_USESEEKRESULT); sqlite3ReleaseTempReg(pParse, regRecord); @@ -108957,6 +110809,27 @@ SQLITE_PRIVATE Index *sqlite3AllocateIndexObject( return p; } +/* +** If expression list pList contains an expression that was parsed with +** an explicit "NULLS FIRST" or "NULLS LAST" clause, leave an error in +** pParse and return non-zero. Otherwise, return zero. +*/ +SQLITE_PRIVATE int sqlite3HasExplicitNulls(Parse *pParse, ExprList *pList){ + if( pList ){ + int i; + for(i=0; inExpr; i++){ + if( pList->a[i].bNulls ){ + u8 sf = pList->a[i].sortFlags; + sqlite3ErrorMsg(pParse, "unsupported use of NULLS %s", + (sf==0 || sf==3) ? "FIRST" : "LAST" + ); + return 1; + } + } + } + return 0; +} + /* ** Create a new index for an SQL table. pName1.pName2 is the name of the index ** and pTblList is the name of the table that is to be indexed. Both will @@ -109008,6 +110881,9 @@ SQLITE_PRIVATE void sqlite3CreateIndex( if( SQLITE_OK!=sqlite3ReadSchema(pParse) ){ goto exit_create_index; } + if( sqlite3HasExplicitNulls(pParse, pList) ){ + goto exit_create_index; + } /* ** Find the table that is to be indexed. Return early if not found. @@ -109065,13 +110941,13 @@ SQLITE_PRIVATE void sqlite3CreateIndex( assert( pParse->nErr==0 ); if( sqlite3StrNICmp(pTab->zName, "sqlite_", 7)==0 && db->init.busy==0 + && pTblName!=0 #if SQLITE_USER_AUTHENTICATION && sqlite3UserAuthTable(pTab->zName)==0 #endif #ifdef SQLITE_ALLOW_SQLITE_MASTER_INDEX && sqlite3StrICmp(&pTab->zName[7],"master")!=0 #endif - && sqlite3StrNICmp(&pTab->zName[7],"altertab_",9)!=0 ){ sqlite3ErrorMsg(pParse, "table %s may not be indexed", pTab->zName); goto exit_create_index; @@ -109106,7 +110982,7 @@ SQLITE_PRIVATE void sqlite3CreateIndex( zName = sqlite3NameFromToken(db, pName); if( zName==0 ) goto exit_create_index; assert( pName->z!=0 ); - if( SQLITE_OK!=sqlite3CheckObjectName(pParse, zName) ){ + if( SQLITE_OK!=sqlite3CheckObjectName(pParse, zName,"index",pTab->zName) ){ goto exit_create_index; } if( !IN_RENAME_OBJECT ){ @@ -109172,9 +111048,10 @@ SQLITE_PRIVATE void sqlite3CreateIndex( sqlite3ExprAlloc(db, TK_ID, &prevCol, 0)); if( pList==0 ) goto exit_create_index; assert( pList->nExpr==1 ); - sqlite3ExprListSetSortOrder(pList, sortOrder); + sqlite3ExprListSetSortOrder(pList, sortOrder, SQLITE_SO_UNDEFINED); }else{ sqlite3ExprListCheckLength(pParse, pList, "index"); + if( pParse->nErr ) goto exit_create_index; } /* Figure out how many bytes of space are required to store explicitly @@ -109193,6 +111070,7 @@ SQLITE_PRIVATE void sqlite3CreateIndex( */ nName = sqlite3Strlen30(zName); nExtraCol = pPk ? pPk->nKeyCol : 1; + assert( pList->nExpr + nExtraCol <= 32767 /* Fits in i16 */ ); pIndex = sqlite3AllocateIndexObject(db, pList->nExpr + nExtraCol, nName + nExtra + 1, &zExtra); if( db->mallocFailed ){ @@ -109288,7 +111166,7 @@ SQLITE_PRIVATE void sqlite3CreateIndex( goto exit_create_index; } pIndex->azColl[i] = zColl; - requestedSortOrder = pListItem->sortOrder & sortOrderMask; + requestedSortOrder = pListItem->sortFlags & sortOrderMask; pIndex->aSortOrder[i] = (u8)requestedSortOrder; } @@ -109300,9 +111178,10 @@ SQLITE_PRIVATE void sqlite3CreateIndex( for(j=0; jnKeyCol; j++){ int x = pPk->aiColumn[j]; assert( x>=0 ); - if( hasColumn(pIndex->aiColumn, pIndex->nKeyCol, x) ){ + if( isDupColumn(pIndex, pIndex->nKeyCol, pPk, j) ){ pIndex->nColumn--; }else{ + testcase( hasColumn(pIndex->aiColumn,pIndex->nKeyCol,x) ); pIndex->aiColumn[i] = x; pIndex->azColl[i] = pPk->azColl[j]; pIndex->aSortOrder[i] = pPk->aSortOrder[j]; @@ -109389,6 +111268,11 @@ SQLITE_PRIVATE void sqlite3CreateIndex( } } if( idxType==SQLITE_IDXTYPE_PRIMARYKEY ) pIdx->idxType = idxType; + if( IN_RENAME_OBJECT ){ + pIndex->pNext = pParse->pNewIndex; + pParse->pNewIndex = pIndex; + pIndex = 0; + } goto exit_create_index; } } @@ -109404,6 +111288,14 @@ SQLITE_PRIVATE void sqlite3CreateIndex( Index *p; assert( !IN_SPECIAL_PARSE ); assert( sqlite3SchemaMutexHeld(db, 0, pIndex->pSchema) ); + if( pTblName!=0 ){ + pIndex->tnum = db->init.newTnum; + if( sqlite3IndexHasDuplicateRootPage(pIndex) ){ + sqlite3ErrorMsg(pParse, "invalid rootpage"); + pParse->rc = SQLITE_CORRUPT_BKPT; + goto exit_create_index; + } + } p = sqlite3HashInsert(&pIndex->pSchema->idxHash, pIndex->zName, pIndex); if( p ){ @@ -109412,9 +111304,6 @@ SQLITE_PRIVATE void sqlite3CreateIndex( goto exit_create_index; } db->mDbFlags |= DBFLAG_SchemaChange; - if( pTblName!=0 ){ - pIndex->tnum = db->init.newTnum; - } } /* If this is the initial CREATE INDEX statement (or CREATE TABLE if the @@ -109452,6 +111341,7 @@ SQLITE_PRIVATE void sqlite3CreateIndex( /* Gather the complete text of the CREATE INDEX statement into ** the zStmt variable */ + assert( pName!=0 || pStart==0 ); if( pStart ){ int n = (int)(pParse->sLastToken.z - pName->z) + pParse->sLastToken.n; if( pName->z[n-1]==';' ) n--; @@ -109666,9 +111556,9 @@ SQLITE_PRIVATE void *sqlite3ArrayAllocate( int *pIdx /* Write the index of a new slot here */ ){ char *z; - int n = *pnEntry; + sqlite3_int64 n = *pIdx = *pnEntry; if( (n & (n-1))==0 ){ - int sz = (n==0) ? 1 : 2*n; + sqlite3_int64 sz = (n==0) ? 1 : 2*n; void *pNew = sqlite3DbRealloc(db, pArray, sz*szEntry); if( pNew==0 ){ *pIdx = -1; @@ -109678,7 +111568,6 @@ SQLITE_PRIVATE void *sqlite3ArrayAllocate( } z = (char*)pArray; memset(&z[n * szEntry], 0, szEntry); - *pIdx = n; ++*pnEntry; return pArray; } @@ -109740,6 +111629,18 @@ SQLITE_PRIVATE int sqlite3IdListIndex(IdList *pList, const char *zName){ return -1; } +/* +** Maximum size of a SrcList object. +** The SrcList object is used to represent the FROM clause of a +** SELECT statement, and the query planner cannot deal with more +** than 64 tables in a join. So any value larger than 64 here +** is sufficient for most uses. Smaller values, like say 10, are +** appropriate for small and memory-limited applications. +*/ +#ifndef SQLITE_MAX_SRCLIST +# define SQLITE_MAX_SRCLIST 200 +#endif + /* ** Expand the space allocated for the given SrcList object by ** creating nExtra new slots beginning at iStart. iStart is zero based. @@ -109756,11 +111657,12 @@ SQLITE_PRIVATE int sqlite3IdListIndex(IdList *pList, const char *zName){ ** the iStart value would be 0. The result then would ** be: nil, nil, nil, A, B. ** -** If a memory allocation fails the SrcList is unchanged. The -** db->mallocFailed flag will be set to true. +** If a memory allocation fails or the SrcList becomes too large, leave +** the original SrcList unchanged, return NULL, and leave an error message +** in pParse. */ SQLITE_PRIVATE SrcList *sqlite3SrcListEnlarge( - sqlite3 *db, /* Database connection to notify of OOM errors */ + Parse *pParse, /* Parsing context into which errors are reported */ SrcList *pSrc, /* The SrcList to be enlarged */ int nExtra, /* Number of new slots to add to pSrc->a[] */ int iStart /* Index in pSrc->a[] of first new slot */ @@ -109776,17 +111678,23 @@ SQLITE_PRIVATE SrcList *sqlite3SrcListEnlarge( /* Allocate additional space if needed */ if( (u32)pSrc->nSrc+nExtra>pSrc->nAlloc ){ SrcList *pNew; - int nAlloc = pSrc->nSrc*2+nExtra; - int nGot; + sqlite3_int64 nAlloc = 2*(sqlite3_int64)pSrc->nSrc+nExtra; + sqlite3 *db = pParse->db; + + if( pSrc->nSrc+nExtra>=SQLITE_MAX_SRCLIST ){ + sqlite3ErrorMsg(pParse, "too many FROM clause terms, max: %d", + SQLITE_MAX_SRCLIST); + return 0; + } + if( nAlloc>SQLITE_MAX_SRCLIST ) nAlloc = SQLITE_MAX_SRCLIST; pNew = sqlite3DbRealloc(db, pSrc, sizeof(*pSrc) + (nAlloc-1)*sizeof(pSrc->a[0]) ); if( pNew==0 ){ assert( db->mallocFailed ); - return pSrc; + return 0; } pSrc = pNew; - nGot = (sqlite3DbMallocSize(db, pNew) - sizeof(*pSrc))/sizeof(pSrc->a[0])+1; - pSrc->nAlloc = nGot; + pSrc->nAlloc = nAlloc; } /* Move existing slots that come after the newly inserted slots @@ -109811,7 +111719,8 @@ SQLITE_PRIVATE SrcList *sqlite3SrcListEnlarge( ** Append a new table name to the given SrcList. Create a new SrcList if ** need be. A new entry is created in the SrcList even if pTable is NULL. ** -** A SrcList is returned, or NULL if there is an OOM error. The returned +** A SrcList is returned, or NULL if there is an OOM error or if the +** SrcList grows to large. The returned ** SrcList might be the same as the SrcList that was input or it might be ** a new one. If an OOM error does occurs, then the prior value of pList ** that is input to this routine is automatically freed. @@ -109842,27 +111751,32 @@ SQLITE_PRIVATE SrcList *sqlite3SrcListEnlarge( ** before being added to the SrcList. */ SQLITE_PRIVATE SrcList *sqlite3SrcListAppend( - sqlite3 *db, /* Connection to notify of malloc failures */ + Parse *pParse, /* Parsing context, in which errors are reported */ SrcList *pList, /* Append to this SrcList. NULL creates a new SrcList */ Token *pTable, /* Table to append */ Token *pDatabase /* Database of the table */ ){ struct SrcList_item *pItem; + sqlite3 *db; assert( pDatabase==0 || pTable!=0 ); /* Cannot have C without B */ - assert( db!=0 ); + assert( pParse!=0 ); + assert( pParse->db!=0 ); + db = pParse->db; if( pList==0 ){ - pList = sqlite3DbMallocRawNN(db, sizeof(SrcList) ); + pList = sqlite3DbMallocRawNN(pParse->db, sizeof(SrcList) ); if( pList==0 ) return 0; pList->nAlloc = 1; pList->nSrc = 1; memset(&pList->a[0], 0, sizeof(pList->a[0])); pList->a[0].iCursor = -1; }else{ - pList = sqlite3SrcListEnlarge(db, pList, 1, pList->nSrc); - } - if( db->mallocFailed ){ - sqlite3SrcListDelete(db, pList); - return 0; + SrcList *pNew = sqlite3SrcListEnlarge(pParse, pList, 1, pList->nSrc); + if( pNew==0 ){ + sqlite3SrcListDelete(db, pList); + return 0; + }else{ + pList = pNew; + } } pItem = &pList->a[pList->nSrc-1]; if( pDatabase && pDatabase->z==0 ){ @@ -109951,7 +111865,7 @@ SQLITE_PRIVATE SrcList *sqlite3SrcListAppendFromTerm( ); goto append_from_error; } - p = sqlite3SrcListAppend(db, p, pTable, pDatabase); + p = sqlite3SrcListAppend(pParse, p, pTable, pDatabase); if( p==0 ){ goto append_from_error; } @@ -110271,7 +112185,8 @@ SQLITE_PRIVATE void sqlite3UniqueConstraint( StrAccum errMsg; Table *pTab = pIdx->pTable; - sqlite3StrAccumInit(&errMsg, pParse->db, 0, 0, 200); + sqlite3StrAccumInit(&errMsg, pParse->db, 0, 0, + pParse->db->aLimit[SQLITE_LIMIT_LENGTH]); if( pIdx->aColExpr ){ sqlite3_str_appendf(&errMsg, "index '%q'", pIdx->zName); }else{ @@ -110340,13 +112255,15 @@ static int collationMatch(const char *zColl, Index *pIndex){ */ #ifndef SQLITE_OMIT_REINDEX static void reindexTable(Parse *pParse, Table *pTab, char const *zColl){ - Index *pIndex; /* An index associated with pTab */ + if( !IsVirtual(pTab) ){ + Index *pIndex; /* An index associated with pTab */ - for(pIndex=pTab->pIndex; pIndex; pIndex=pIndex->pNext){ - if( zColl==0 || collationMatch(zColl, pIndex) ){ - int iDb = sqlite3SchemaToIndex(pParse->db, pTab->pSchema); - sqlite3BeginWriteOperation(pParse, 0, iDb); - sqlite3RefillIndex(pParse, pIndex, -1); + for(pIndex=pTab->pIndex; pIndex; pIndex=pIndex->pNext){ + if( zColl==0 || collationMatch(zColl, pIndex) ){ + int iDb = sqlite3SchemaToIndex(pParse->db, pTab->pSchema); + sqlite3BeginWriteOperation(pParse, 0, iDb); + sqlite3RefillIndex(pParse, pIndex, -1); + } } } } @@ -110467,7 +112384,8 @@ SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoOfIndex(Parse *pParse, Index *pIdx){ const char *zColl = pIdx->azColl[i]; pKey->aColl[i] = zColl==sqlite3StrBINARY ? 0 : sqlite3LocateCollSeq(pParse, zColl); - pKey->aSortOrder[i] = pIdx->aSortOrder[i]; + pKey->aSortFlags[i] = pIdx->aSortOrder[i]; + assert( 0==(pKey->aSortFlags[i] & KEYINFO_ORDER_BIGNULL) ); } if( pParse->nErr ){ assert( pParse->rc==SQLITE_ERROR_MISSING_COLLSEQ ); @@ -110518,7 +112436,7 @@ SQLITE_PRIVATE With *sqlite3WithAdd( } if( pWith ){ - int nByte = sizeof(*pWith) + (sizeof(pWith->a[1]) * pWith->nCte); + sqlite3_int64 nByte = sizeof(*pWith) + (sizeof(pWith->a[1]) * pWith->nCte); pNew = sqlite3DbRealloc(db, pWith, nByte); }else{ pNew = sqlite3DbMallocZero(db, sizeof(*pWith)); @@ -110845,7 +112763,7 @@ static int matchQuality( ** Search a FuncDefHash for a function with the given name. Return ** a pointer to the matching FuncDef if found, or 0 if there is no match. */ -static FuncDef *functionSearch( +SQLITE_PRIVATE FuncDef *sqlite3FunctionSearch( int h, /* Hash of the name */ const char *zFunc /* Name of function */ ){ @@ -110857,21 +112775,6 @@ static FuncDef *functionSearch( } return 0; } -#ifdef SQLITE_ENABLE_NORMALIZE -SQLITE_PRIVATE FuncDef *sqlite3FunctionSearchN( - int h, /* Hash of the name */ - const char *zFunc, /* Name of function */ - int nFunc /* Length of the name */ -){ - FuncDef *p; - for(p=sqlite3BuiltinFunctions.a[h]; p; p=p->u.pHash){ - if( sqlite3StrNICmp(p->zName, zFunc, nFunc)==0 ){ - return p; - } - } - return 0; -} -#endif /* SQLITE_ENABLE_NORMALIZE */ /* ** Insert a new FuncDef into a FuncDefHash hash table. @@ -110887,7 +112790,7 @@ SQLITE_PRIVATE void sqlite3InsertBuiltinFuncs( int nName = sqlite3Strlen30(zName); int h = SQLITE_FUNC_HASH(zName[0], nName); assert( zName[0]>='a' && zName[0]<='z' ); - pOther = functionSearch(h, zName); + pOther = sqlite3FunctionSearch(h, zName); if( pOther ){ assert( pOther!=&aDef[i] && pOther->pNext!=&aDef[i] ); aDef[i].pNext = pOther->pNext; @@ -110965,7 +112868,7 @@ SQLITE_PRIVATE FuncDef *sqlite3FindFunction( if( !createFlag && (pBest==0 || (db->mDbFlags & DBFLAG_PreferBuiltin)!=0) ){ bestScore = 0; h = SQLITE_FUNC_HASH(sqlite3UpperToLower[(u8)zName[0]], nName); - p = functionSearch(h, zName); + p = sqlite3FunctionSearch(h, zName); while( p ){ int score = matchQuality(p, nArg, enc); if( score>bestScore ){ @@ -111185,7 +113088,7 @@ SQLITE_PRIVATE void sqlite3MaterializeView( sqlite3 *db = pParse->db; int iDb = sqlite3SchemaToIndex(db, pView->pSchema); pWhere = sqlite3ExprDup(db, pWhere, 0); - pFrom = sqlite3SrcListAppend(db, 0, 0, 0); + pFrom = sqlite3SrcListAppend(pParse, 0, 0, 0); if( pFrom ){ assert( pFrom->nSrc==1 ); pFrom->a[0].zName = sqlite3DbStrDup(db, pView->zName); @@ -111585,7 +113488,7 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( /* If this DELETE cannot use the ONEPASS strategy, this is the ** end of the WHERE loop */ if( eOnePass!=ONEPASS_OFF ){ - addrBypass = sqlite3VdbeMakeLabel(v); + addrBypass = sqlite3VdbeMakeLabel(pParse); }else{ sqlite3WhereEnd(pWInfo); } @@ -111774,7 +113677,7 @@ SQLITE_PRIVATE void sqlite3GenerateRowDelete( /* Seek cursor iCur to the row to delete. If this row no longer exists ** (this can happen if a trigger program has already deleted it), do ** not attempt to delete it or fire any DELETE triggers. */ - iLabel = sqlite3VdbeMakeLabel(v); + iLabel = sqlite3VdbeMakeLabel(pParse); opSeek = HasRowid(pTab) ? OP_NotExists : OP_NotFound; if( eMode==ONEPASS_OFF ){ sqlite3VdbeAddOp4Int(v, opSeek, iDataCur, iLabel, iPk, nPk); @@ -111980,7 +113883,7 @@ SQLITE_PRIVATE int sqlite3GenerateIndexKey( if( piPartIdxLabel ){ if( pIdx->pPartIdxWhere ){ - *piPartIdxLabel = sqlite3VdbeMakeLabel(v); + *piPartIdxLabel = sqlite3VdbeMakeLabel(pParse); pParse->iSelfTab = iDataCur + 1; sqlite3ExprIfFalseDup(pParse, pIdx->pPartIdxWhere, *piPartIdxLabel, SQLITE_JUMPIFNULL); @@ -112051,6 +113954,7 @@ SQLITE_PRIVATE void sqlite3ResolvePartIdxLabel(Parse *pParse, int iLabel){ /* #include "sqliteInt.h" */ /* #include */ /* #include */ +/* #include */ /* #include "vdbeInt.h" */ /* @@ -112236,6 +114140,9 @@ static void instrFunc( int typeHaystack, typeNeedle; int N = 1; int isText; + unsigned char firstChar; + sqlite3_value *pC1 = 0; + sqlite3_value *pC2 = 0; UNUSED_PARAMETER(argc); typeHaystack = sqlite3_value_type(argv[0]); @@ -112248,13 +114155,26 @@ static void instrFunc( zHaystack = sqlite3_value_blob(argv[0]); zNeedle = sqlite3_value_blob(argv[1]); isText = 0; - }else{ + }else if( typeHaystack!=SQLITE_BLOB && typeNeedle!=SQLITE_BLOB ){ zHaystack = sqlite3_value_text(argv[0]); zNeedle = sqlite3_value_text(argv[1]); isText = 1; + }else{ + pC1 = sqlite3_value_dup(argv[0]); + zHaystack = sqlite3_value_text(pC1); + if( zHaystack==0 ) goto endInstrOOM; + nHaystack = sqlite3_value_bytes(pC1); + pC2 = sqlite3_value_dup(argv[1]); + zNeedle = sqlite3_value_text(pC2); + if( zNeedle==0 ) goto endInstrOOM; + nNeedle = sqlite3_value_bytes(pC2); + isText = 1; } - if( zNeedle==0 || (nHaystack && zHaystack==0) ) return; - while( nNeedle<=nHaystack && memcmp(zHaystack, zNeedle, nNeedle)!=0 ){ + if( zNeedle==0 || (nHaystack && zHaystack==0) ) goto endInstrOOM; + firstChar = zNeedle[0]; + while( nNeedle<=nHaystack + && (zHaystack[0]!=firstChar || memcmp(zHaystack, zNeedle, nNeedle)!=0) + ){ N++; do{ nHaystack--; @@ -112264,6 +114184,13 @@ static void instrFunc( if( nNeedle>nHaystack ) N = 0; } sqlite3_result_int(context, N); +endInstr: + sqlite3_value_free(pC1); + sqlite3_value_free(pC2); + return; +endInstrOOM: + sqlite3_result_error_nomem(context); + goto endInstr; } /* @@ -112417,10 +114344,10 @@ static void roundFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ ** handle the rounding directly, ** otherwise use printf. */ - if( n==0 && r>=0 && r+4503599627370496.0 ){ + /* The value has no fractional part so there is nothing to round */ + }else if( n==0 ){ + r = (double)((sqlite_int64)(r+(r<0?-0.5:+0.5))); }else{ zBuf = sqlite3_mprintf("%.*f",n,r); if( zBuf==0 ){ @@ -112545,11 +114472,11 @@ static void randomBlob( int argc, sqlite3_value **argv ){ - int n; + sqlite3_int64 n; unsigned char *p; assert( argc==1 ); UNUSED_PARAMETER(argc); - n = sqlite3_value_int(argv[0]); + n = sqlite3_value_int64(argv[0]); if( n<1 ){ n = 1; } @@ -112874,8 +114801,6 @@ static void likeFunc( return; } #endif - zB = sqlite3_value_text(argv[0]); - zA = sqlite3_value_text(argv[1]); /* Limit the length of the LIKE or GLOB pattern to avoid problems ** of deep recursion and N*N behavior in patternCompare(). @@ -112887,8 +114812,6 @@ static void likeFunc( sqlite3_result_error(context, "LIKE or GLOB pattern too complex", -1); return; } - assert( zB==sqlite3_value_text(argv[0]) ); /* Encoding did not change */ - if( argc==3 ){ /* The escape character string must consist of a single UTF-8 character. ** Otherwise, return an error. @@ -112904,6 +114827,8 @@ static void likeFunc( }else{ escape = pInfo->matchSet; } + zB = sqlite3_value_text(argv[0]); + zA = sqlite3_value_text(argv[1]); if( zA && zB ){ #ifdef SQLITE_TEST sqlite3_like_count++; @@ -113829,35 +115754,24 @@ SQLITE_PRIVATE void sqlite3RegisterPerConnectionBuiltinFunctions(sqlite3 *db){ } /* -** Set the LIKEOPT flag on the 2-argument function with the given name. -*/ -static void setLikeOptFlag(sqlite3 *db, const char *zName, u8 flagVal){ - FuncDef *pDef; - pDef = sqlite3FindFunction(db, zName, 2, SQLITE_UTF8, 0); - if( ALWAYS(pDef) ){ - pDef->funcFlags |= flagVal; - } -} - -/* -** Register the built-in LIKE and GLOB functions. The caseSensitive +** Re-register the built-in LIKE functions. The caseSensitive ** parameter determines whether or not the LIKE operator is case -** sensitive. GLOB is always case sensitive. +** sensitive. */ SQLITE_PRIVATE void sqlite3RegisterLikeFunctions(sqlite3 *db, int caseSensitive){ struct compareInfo *pInfo; + int flags; if( caseSensitive ){ pInfo = (struct compareInfo*)&likeInfoAlt; + flags = SQLITE_FUNC_LIKE | SQLITE_FUNC_CASE; }else{ pInfo = (struct compareInfo*)&likeInfoNorm; + flags = SQLITE_FUNC_LIKE; } sqlite3CreateFunc(db, "like", 2, SQLITE_UTF8, pInfo, likeFunc, 0, 0, 0, 0, 0); sqlite3CreateFunc(db, "like", 3, SQLITE_UTF8, pInfo, likeFunc, 0, 0, 0, 0, 0); - sqlite3CreateFunc(db, "glob", 2, SQLITE_UTF8, - (struct compareInfo*)&globInfo, likeFunc, 0, 0, 0, 0, 0); - setLikeOptFlag(db, "glob", SQLITE_FUNC_LIKE | SQLITE_FUNC_CASE); - setLikeOptFlag(db, "like", - caseSensitive ? (SQLITE_FUNC_LIKE | SQLITE_FUNC_CASE) : SQLITE_FUNC_LIKE); + sqlite3FindFunction(db, "like", 2, SQLITE_UTF8, 0)->funcFlags |= flags; + sqlite3FindFunction(db, "like", 3, SQLITE_UTF8, 0)->funcFlags |= flags; } /* @@ -114029,9 +115943,6 @@ SQLITE_PRIVATE void sqlite3RegisterBuiltinFunctions(void){ sqlite3AlterFunctions(); #endif sqlite3WindowFunctions(); -#if defined(SQLITE_ENABLE_STAT3) || defined(SQLITE_ENABLE_STAT4) - sqlite3AnalyzeFunctions(); -#endif sqlite3RegisterDateTimeFunctions(); sqlite3InsertBuiltinFuncs(aBuiltinFunc, ArraySize(aBuiltinFunc)); @@ -114385,7 +116296,7 @@ static void fkLookupParent( int i; /* Iterator variable */ Vdbe *v = sqlite3GetVdbe(pParse); /* Vdbe to add code to */ int iCur = pParse->nTab - 1; /* Cursor number to use */ - int iOk = sqlite3VdbeMakeLabel(v); /* jump here if parent key found */ + int iOk = sqlite3VdbeMakeLabel(pParse); /* jump here if parent key found */ sqlite3VdbeVerifyAbortable(v, (!pFKey->isDeferred @@ -114534,13 +116445,13 @@ static Expr *exprTableRegister( if( iCol>=0 && iCol!=pTab->iPKey ){ pCol = &pTab->aCol[iCol]; pExpr->iTable = regBase + iCol + 1; - pExpr->affinity = pCol->affinity; + pExpr->affExpr = pCol->affinity; zColl = pCol->zColl; if( zColl==0 ) zColl = db->pDfltColl->zName; pExpr = sqlite3ExprAddCollateString(pParse, pExpr, zColl); }else{ pExpr->iTable = regBase; - pExpr->affinity = SQLITE_AFF_INTEGER; + pExpr->affExpr = SQLITE_AFF_INTEGER; } } return pExpr; @@ -114647,7 +116558,7 @@ static void fkScanChildren( zCol = pFKey->pFrom->aCol[iCol].zName; pRight = sqlite3Expr(db, TK_ID, zCol); pEq = sqlite3PExpr(pParse, TK_EQ, pLeft, pRight); - pWhere = sqlite3ExprAnd(db, pWhere, pEq); + pWhere = sqlite3ExprAnd(pParse, pWhere, pEq); } /* If the child table is the same as the parent table, then add terms @@ -114658,8 +116569,11 @@ static void fkScanChildren( ** NOT( $current_a==a AND $current_b==b AND ... ) ** ** The first form is used for rowid tables. The second form is used - ** for WITHOUT ROWID tables. In the second form, the primary key is - ** (a,b,...) + ** for WITHOUT ROWID tables. In the second form, the *parent* key is + ** (a,b,...). Either the parent or primary key could be used to + ** uniquely identify the current row, but the parent key is more convenient + ** as the required values have already been loaded into registers + ** by the caller. */ if( pTab==pFKey->pFrom && nIncr>0 ){ Expr *pNe; /* Expression (pLeft != pRight) */ @@ -114671,19 +116585,18 @@ static void fkScanChildren( pNe = sqlite3PExpr(pParse, TK_NE, pLeft, pRight); }else{ Expr *pEq, *pAll = 0; - Index *pPk = sqlite3PrimaryKeyIndex(pTab); assert( pIdx!=0 ); - for(i=0; inKeyCol; i++){ + for(i=0; inKeyCol; i++){ i16 iCol = pIdx->aiColumn[i]; assert( iCol>=0 ); pLeft = exprTableRegister(pParse, pTab, regData, iCol); - pRight = exprTableColumn(db, pTab, pSrc->a[0].iCursor, iCol); - pEq = sqlite3PExpr(pParse, TK_EQ, pLeft, pRight); - pAll = sqlite3ExprAnd(db, pAll, pEq); + pRight = sqlite3Expr(db, TK_ID, pTab->aCol[iCol].zName); + pEq = sqlite3PExpr(pParse, TK_IS, pLeft, pRight); + pAll = sqlite3ExprAnd(pParse, pAll, pEq); } pNe = sqlite3PExpr(pParse, TK_NOT, pAll, 0); } - pWhere = sqlite3ExprAnd(db, pWhere, pNe); + pWhere = sqlite3ExprAnd(pParse, pWhere, pNe); } /* Resolve the references in the WHERE clause. */ @@ -114783,7 +116696,7 @@ SQLITE_PRIVATE void sqlite3FkDropTable(Parse *pParse, SrcList *pName, Table *pTa if( p->isDeferred || (db->flags & SQLITE_DeferFKs) ) break; } if( !p ) return; - iSkip = sqlite3VdbeMakeLabel(v); + iSkip = sqlite3VdbeMakeLabel(pParse); sqlite3VdbeAddOp2(v, OP_FkIfZero, 1, iSkip); VdbeCoverage(v); } @@ -115068,7 +116981,7 @@ SQLITE_PRIVATE void sqlite3FkCheck( /* Create a SrcList structure containing the child table. We need the ** child table as a SrcList for sqlite3WhereBegin() */ - pSrc = sqlite3SrcListAppend(db, 0, 0, 0); + pSrc = sqlite3SrcListAppend(pParse, 0, 0, 0); if( pSrc ){ struct SrcList_item *pItem = pSrc->a; pItem->pTab = pFKey->pFrom; @@ -115289,7 +117202,7 @@ static Trigger *fkActionTrigger( sqlite3ExprAlloc(db, TK_ID, &tToCol, 0)), sqlite3ExprAlloc(db, TK_ID, &tFromCol, 0) ); - pWhere = sqlite3ExprAnd(db, pWhere, pEq); + pWhere = sqlite3ExprAnd(pParse, pWhere, pEq); /* For ON UPDATE, construct the next term of the WHEN clause. ** The final WHEN clause will be like this: @@ -115305,7 +117218,7 @@ static Trigger *fkActionTrigger( sqlite3ExprAlloc(db, TK_ID, &tNew, 0), sqlite3ExprAlloc(db, TK_ID, &tToCol, 0)) ); - pWhen = sqlite3ExprAnd(db, pWhen, pEq); + pWhen = sqlite3ExprAnd(pParse, pWhen, pEq); } if( action!=OE_Restrict && (action!=OE_Cascade || pChanges) ){ @@ -115341,11 +117254,11 @@ static Trigger *fkActionTrigger( tFrom.n = nFrom; pRaise = sqlite3Expr(db, TK_RAISE, "FOREIGN KEY constraint failed"); if( pRaise ){ - pRaise->affinity = OE_Abort; + pRaise->affExpr = OE_Abort; } pSelect = sqlite3SelectNew(pParse, sqlite3ExprListAppend(pParse, 0, pRaise), - sqlite3SrcListAppend(db, 0, &tFrom, 0), + sqlite3SrcListAppend(pParse, 0, &tFrom, 0), pWhere, 0, 0, 0, 0, 0 ); @@ -115386,6 +117299,7 @@ static Trigger *fkActionTrigger( return 0; } assert( pStep!=0 ); + assert( pTrigger!=0 ); switch( action ){ case OE_Restrict: @@ -115576,18 +117490,19 @@ SQLITE_PRIVATE const char *sqlite3IndexAffinityStr(sqlite3 *db, Index *pIdx){ } for(n=0; nnColumn; n++){ i16 x = pIdx->aiColumn[n]; + char aff; if( x>=0 ){ - pIdx->zColAff[n] = pTab->aCol[x].affinity; + aff = pTab->aCol[x].affinity; }else if( x==XN_ROWID ){ - pIdx->zColAff[n] = SQLITE_AFF_INTEGER; + aff = SQLITE_AFF_INTEGER; }else{ - char aff; assert( x==XN_EXPR ); assert( pIdx->aColExpr!=0 ); aff = sqlite3ExprAffinity(pIdx->aColExpr->a[n].pExpr); - if( aff==0 ) aff = SQLITE_AFF_BLOB; - pIdx->zColAff[n] = aff; } + if( affSQLITE_AFF_NUMERIC) aff = SQLITE_AFF_NUMERIC; + pIdx->zColAff[n] = aff; } pIdx->zColAff[n] = 0; } @@ -115627,11 +117542,12 @@ SQLITE_PRIVATE void sqlite3TableAffinity(Vdbe *v, Table *pTab, int iReg){ } for(i=0; inCol; i++){ + assert( pTab->aCol[i].affinity!=0 ); zColAff[i] = pTab->aCol[i].affinity; } do{ zColAff[i--] = 0; - }while( i>=0 && zColAff[i]==SQLITE_AFF_BLOB ); + }while( i>=0 && zColAff[i]<=SQLITE_AFF_BLOB ); pTab->zColAff = zColAff; } assert( zColAff!=0 ); @@ -115807,6 +117723,7 @@ SQLITE_PRIVATE void sqlite3AutoincrementBegin(Parse *pParse){ aOp[7].p2 = memId+2; aOp[7].p1 = memId; aOp[10].p2 = memId; + if( pParse->nTab==0 ) pParse->nTab = 1; } } @@ -116301,7 +118218,7 @@ SQLITE_PRIVATE void sqlite3Insert( int nIdx; nIdx = sqlite3OpenTableAndIndices(pParse, pTab, OP_OpenWrite, 0, -1, 0, &iDataCur, &iIdxCur); - aRegIdx = sqlite3DbMallocRawNN(db, sizeof(int)*(nIdx+1)); + aRegIdx = sqlite3DbMallocRawNN(db, sizeof(int)*(nIdx+2)); if( aRegIdx==0 ){ goto insert_cleanup; } @@ -116310,9 +118227,18 @@ SQLITE_PRIVATE void sqlite3Insert( aRegIdx[i] = ++pParse->nMem; pParse->nMem += pIdx->nColumn; } + aRegIdx[i] = ++pParse->nMem; /* Register to store the table record */ } #ifndef SQLITE_OMIT_UPSERT if( pUpsert ){ + if( IsVirtual(pTab) ){ + sqlite3ErrorMsg(pParse, "UPSERT not implemented for virtual table \"%s\"", + pTab->zName); + goto insert_cleanup; + } + if( sqlite3HasExplicitNulls(pParse, pUpsert->pUpsertTarget) ){ + goto insert_cleanup; + } pTabList->a[0].iCursor = iDataCur; pUpsert->pUpsertSrc = pTabList; pUpsert->regData = regData; @@ -116353,7 +118279,7 @@ SQLITE_PRIVATE void sqlite3Insert( /* Run the BEFORE and INSTEAD OF triggers, if there are any */ - endOfLoop = sqlite3VdbeMakeLabel(v); + endOfLoop = sqlite3VdbeMakeLabel(pParse); if( tmask & TRIGGER_BEFORE ){ int regCols = sqlite3GetTempRange(pParse, pTab->nCol+1); @@ -116435,16 +118361,12 @@ SQLITE_PRIVATE void sqlite3Insert( }else if( pSelect ){ sqlite3VdbeAddOp2(v, OP_Copy, regFromSelect+ipkColumn, regRowid); }else{ - VdbeOp *pOp; - sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regRowid); - pOp = sqlite3VdbeGetOp(v, -1); - assert( pOp!=0 ); - if( pOp->opcode==OP_Null && !IsVirtual(pTab) ){ + Expr *pIpk = pList->a[ipkColumn].pExpr; + if( pIpk->op==TK_NULL && !IsVirtual(pTab) ){ + sqlite3VdbeAddOp3(v, OP_NewRowid, iDataCur, regRowid, regAutoinc); appendFlag = 1; - pOp->opcode = OP_NewRowid; - pOp->p1 = iDataCur; - pOp->p2 = regRowid; - pOp->p3 = regAutoinc; + }else{ + sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regRowid); } } /* If the PRIMARY KEY expression is NULL, then use OP_NewRowid @@ -116712,6 +118634,14 @@ SQLITE_PRIVATE int sqlite3ExprReferencesUpdatedColumn( ** the same as the order of indices on the linked list of indices ** at pTab->pIndex. ** +** (2019-05-07) The generated code also creates a new record for the +** main table, if pTab is a rowid table, and stores that record in the +** register identified by aRegIdx[nIdx] - in other words in the first +** entry of aRegIdx[] past the last index. It is important that the +** record be generated during constraint checks to avoid affinity changes +** to the register content that occur after constraint checks but before +** the new record is inserted. +** ** The caller must have already opened writeable cursors on the main ** table and all applicable indices (that is to say, all indices for which ** aRegIdx[] is not zero). iDataCur is the cursor for the main table when @@ -116839,7 +118769,20 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( } assert( onError==OE_Rollback || onError==OE_Abort || onError==OE_Fail || onError==OE_Ignore || onError==OE_Replace ); + addr1 = 0; switch( onError ){ + case OE_Replace: { + assert( onError==OE_Replace ); + addr1 = sqlite3VdbeMakeLabel(pParse); + sqlite3VdbeAddOp2(v, OP_NotNull, regNewData+1+i, addr1); + VdbeCoverage(v); + sqlite3ExprCode(pParse, pTab->aCol[i].pDflt, regNewData+1+i); + sqlite3VdbeAddOp2(v, OP_NotNull, regNewData+1+i, addr1); + VdbeCoverage(v); + onError = OE_Abort; + /* Fall through into the OE_Abort case to generate code that runs + ** if both the input and the default value are NULL */ + } case OE_Abort: sqlite3MayAbort(pParse); /* Fall through */ @@ -116852,21 +118795,15 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( sqlite3VdbeAppendP4(v, zMsg, P4_DYNAMIC); sqlite3VdbeChangeP5(v, P5_ConstraintNotNull); VdbeCoverage(v); + if( addr1 ) sqlite3VdbeResolveLabel(v, addr1); break; } - case OE_Ignore: { + default: { + assert( onError==OE_Ignore ); sqlite3VdbeAddOp2(v, OP_IsNull, regNewData+1+i, ignoreDest); VdbeCoverage(v); break; } - default: { - assert( onError==OE_Replace ); - addr1 = sqlite3VdbeAddOp1(v, OP_NotNull, regNewData+1+i); - VdbeCoverage(v); - sqlite3ExprCode(pParse, pTab->aCol[i].pDflt, regNewData+1+i); - sqlite3VdbeJumpHere(v, addr1); - break; - } } } @@ -116887,7 +118824,7 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( ** updated so there is no point it verifying the check constraint */ continue; } - allOk = sqlite3VdbeMakeLabel(v); + allOk = sqlite3VdbeMakeLabel(pParse); sqlite3VdbeVerifyAbortable(v, onError); sqlite3ExprIfTrue(pParse, pExpr, allOk, SQLITE_JUMPIFNULL); if( onError==OE_Ignore ){ @@ -116895,7 +118832,7 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( }else{ char *zName = pCheck->a[i].zName; if( zName==0 ) zName = pTab->zName; - if( onError==OE_Replace ) onError = OE_Abort; /* IMP: R-15569-63625 */ + if( onError==OE_Replace ) onError = OE_Abort; /* IMP: R-26383-51744 */ sqlite3HaltConstraint(pParse, SQLITE_CONSTRAINT_CHECK, onError, zName, P4_TRANSIENT, P5_ConstraintCheck); @@ -116954,7 +118891,7 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( ** exist in the table. */ if( pkChng && pPk==0 ){ - int addrRowidOk = sqlite3VdbeMakeLabel(v); + int addrRowidOk = sqlite3VdbeMakeLabel(pParse); /* Figure out what action to take in case of a rowid collision */ onError = pTab->keyConf; @@ -117104,7 +119041,7 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( VdbeComment((v, "Skip upsert subroutine")); sqlite3VdbeJumpHere(v, upsertJump); }else{ - addrUniqueOk = sqlite3VdbeMakeLabel(v); + addrUniqueOk = sqlite3VdbeMakeLabel(pParse); } if( bAffinityDone==0 && (pUpIdx==0 || pUpIdx==pIdx) ){ sqlite3TableAffinity(v, pTab, regNewData+1); @@ -117148,7 +119085,9 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( sqlite3VdbeAddOp3(v, OP_MakeRecord, regIdx, pIdx->nColumn, aRegIdx[ix]); VdbeComment((v, "for %s", pIdx->zName)); #ifdef SQLITE_ENABLE_NULL_TRIM - if( pIdx->idxType==2 ) sqlite3SetMakeRecordP5(v, pIdx->pTable); + if( pIdx->idxType==SQLITE_IDXTYPE_PRIMARYKEY ){ + sqlite3SetMakeRecordP5(v, pIdx->pTable); + } #endif /* In an UPDATE operation, if this index is the PRIMARY KEY index @@ -117187,7 +119126,11 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( ** (3) There are no secondary indexes on the table ** (4) No delete triggers need to be fired if there is a conflict ** (5) No FK constraint counters need to be updated if a conflict occurs. - */ + ** + ** This is not possible for ENABLE_PREUPDATE_HOOK builds, as the row + ** must be explicitly deleted in order to ensure any pre-update hook + ** is invoked. */ +#ifndef SQLITE_ENABLE_PREUPDATE_HOOK if( (ix==0 && pIdx->pNext==0) /* Condition 3 */ && pPk==pIdx /* Condition 2 */ && onError==OE_Replace /* Condition 1 */ @@ -117199,6 +119142,7 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( sqlite3VdbeResolveLabel(v, addrUniqueOk); continue; } +#endif /* ifndef SQLITE_ENABLE_PREUPDATE_HOOK */ /* Check to see if the new index entry will be unique */ sqlite3VdbeVerifyAbortable(v, onError); @@ -117312,11 +119256,21 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( /* If the IPK constraint is a REPLACE, run it last */ if( ipkTop ){ - sqlite3VdbeGoto(v, ipkTop+1); + sqlite3VdbeGoto(v, ipkTop); VdbeComment((v, "Do IPK REPLACE")); sqlite3VdbeJumpHere(v, ipkBottom); } + /* Generate the table record */ + if( HasRowid(pTab) ){ + int regRec = aRegIdx[ix]; + sqlite3VdbeAddOp3(v, OP_MakeRecord, regNewData+1, pTab->nCol, regRec); + sqlite3SetMakeRecordP5(v, pTab); + if( !bAffinityDone ){ + sqlite3TableAffinity(v, pTab, 0); + } + } + *pbMayReplace = seenReplace; VdbeModuleComment((v, "END: GenCnstCks(%d)", seenReplace)); } @@ -117366,10 +119320,7 @@ SQLITE_PRIVATE void sqlite3CompleteInsertion( Vdbe *v; /* Prepared statements under construction */ Index *pIdx; /* An index being inserted or updated */ u8 pik_flags; /* flag values passed to the btree insert */ - int regData; /* Content registers (after the rowid) */ - int regRec; /* Register holding assembled record for the table */ int i; /* Loop counter */ - u8 bAffinityDone = 0; /* True if OP_Affinity has been run already */ assert( update_flags==0 || update_flags==OPFLAG_ISUPDATE @@ -117381,7 +119332,6 @@ SQLITE_PRIVATE void sqlite3CompleteInsertion( assert( pTab->pSelect==0 ); /* This table is not a VIEW */ for(i=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, i++){ if( aRegIdx[i]==0 ) continue; - bAffinityDone = 1; if( pIdx->pPartIdxWhere ){ sqlite3VdbeAddOp2(v, OP_IsNull, aRegIdx[i], sqlite3VdbeCurrentAddr(v)+2); VdbeCoverage(v); @@ -117393,10 +119343,13 @@ SQLITE_PRIVATE void sqlite3CompleteInsertion( pik_flags |= (update_flags & OPFLAG_SAVEPOSITION); #ifdef SQLITE_ENABLE_PREUPDATE_HOOK if( update_flags==0 ){ - sqlite3VdbeAddOp4(v, OP_InsertInt, - iIdxCur+i, aRegIdx[i], 0, (char*)pTab, P4_TABLE + int r = sqlite3GetTempReg(pParse); + sqlite3VdbeAddOp2(v, OP_Integer, 0, r); + sqlite3VdbeAddOp4(v, OP_Insert, + iIdxCur+i, aRegIdx[i], r, (char*)pTab, P4_TABLE ); sqlite3VdbeChangeP5(v, OPFLAG_ISNOOP); + sqlite3ReleaseTempReg(pParse, r); } #endif } @@ -117406,13 +119359,6 @@ SQLITE_PRIVATE void sqlite3CompleteInsertion( sqlite3VdbeChangeP5(v, pik_flags); } if( !HasRowid(pTab) ) return; - regData = regNewData + 1; - regRec = sqlite3GetTempReg(pParse); - sqlite3VdbeAddOp3(v, OP_MakeRecord, regData, pTab->nCol, regRec); - sqlite3SetMakeRecordP5(v, pTab); - if( !bAffinityDone ){ - sqlite3TableAffinity(v, pTab, 0); - } if( pParse->nested ){ pik_flags = 0; }else{ @@ -117425,7 +119371,7 @@ SQLITE_PRIVATE void sqlite3CompleteInsertion( if( useSeekResult ){ pik_flags |= OPFLAG_USESEEKRESULT; } - sqlite3VdbeAddOp3(v, OP_Insert, iDataCur, regRec, regNewData); + sqlite3VdbeAddOp3(v, OP_Insert, iDataCur, aRegIdx[i], regNewData); if( !pParse->nested ){ sqlite3VdbeAppendP4(v, pTab, P4_TABLE); } @@ -117682,7 +119628,8 @@ static int xferOptimization( if( pSrc==0 ){ return 0; /* FROM clause does not contain a real table */ } - if( pSrc==pDest ){ + if( pSrc->tnum==pDest->tnum && pSrc->pSchema==pDest->pSchema ){ + testcase( pSrc!=pDest ); /* Possible due to bad sqlite_master.rootpage */ return 0; /* tab1 and tab2 may not be the same table */ } if( HasRowid(pDest)!=HasRowid(pSrc) ){ @@ -117743,6 +119690,13 @@ static int xferOptimization( if( pSrcIdx==0 ){ return 0; /* pDestIdx has no corresponding index in pSrc */ } + if( pSrcIdx->tnum==pDestIdx->tnum && pSrc->pSchema==pDest->pSchema + && sqlite3FaultSim(411)==SQLITE_OK ){ + /* The sqlite3FaultSim() call allows this corruption test to be + ** bypassed during testing, in order to exercise other corruption tests + ** further downstream. */ + return 0; /* Corrupt schema - two indexes on the same btree */ + } } #ifndef SQLITE_OMIT_CHECK if( pDest->pCheck && sqlite3ExprListCompare(pSrc->pCheck,pDest->pCheck,-1) ){ @@ -117820,7 +119774,7 @@ static int xferOptimization( sqlite3RowidConstraint(pParse, onError, pDest); sqlite3VdbeJumpHere(v, addr2); autoIncStep(pParse, regAutoinc, regRowid); - }else if( pDest->pIndex==0 ){ + }else if( pDest->pIndex==0 && !(db->mDbFlags & DBFLAG_VacuumInto) ){ addr1 = sqlite3VdbeAddOp2(v, OP_NewRowid, iDest, regRowid); }else{ addr1 = sqlite3VdbeAddOp2(v, OP_Rowid, iSrc, regRowid); @@ -117883,7 +119837,7 @@ static int xferOptimization( sqlite3VdbeAddOp1(v, OP_SeekEnd, iDest); } } - if( !HasRowid(pSrc) && pDestIdx->idxType==2 ){ + if( !HasRowid(pSrc) && pDestIdx->idxType==SQLITE_IDXTYPE_PRIMARYKEY ){ idxInsFlags |= OPFLAG_NCHANGE; } sqlite3VdbeAddOp2(v, OP_IdxInsert, iDest, regData); @@ -117958,7 +119912,7 @@ SQLITE_API int sqlite3_exec( sqlite3_mutex_enter(db->mutex); sqlite3Error(db, SQLITE_OK); while( rc==SQLITE_OK && zSql[0] ){ - int nCol; + int nCol = 0; char **azVals = 0; pStmt = 0; @@ -117972,9 +119926,7 @@ SQLITE_API int sqlite3_exec( zSql = zLeftover; continue; } - callbackIsInit = 0; - nCol = sqlite3_column_count(pStmt); while( 1 ){ int i; @@ -117985,6 +119937,7 @@ SQLITE_API int sqlite3_exec( (SQLITE_DONE==rc && !callbackIsInit && db->flags&SQLITE_NullCallback)) ){ if( !callbackIsInit ){ + nCol = sqlite3_column_count(pStmt); azCols = sqlite3DbMallocRaw(db, (2*nCol+1)*sizeof(const char*)); if( azCols==0 ){ goto exec_out; @@ -118396,6 +120349,11 @@ struct sqlite3_api_routines { void(*xDestroy)(void*)); /* Version 3.26.0 and later */ const char *(*normalized_sql)(sqlite3_stmt*); + /* Version 3.28.0 and later */ + int (*stmt_isexplain)(sqlite3_stmt*); + int (*value_frombind)(sqlite3_value*); + /* Version 3.30.0 and later */ + int (*drop_modules)(sqlite3*,const char**); }; /* @@ -118685,6 +120643,11 @@ typedef int (*sqlite3_loadext_entry)( #define sqlite3_create_window_function sqlite3_api->create_window_function /* Version 3.26.0 and later */ #define sqlite3_normalized_sql sqlite3_api->normalized_sql +/* Version 3.28.0 and later */ +#define sqlite3_stmt_isexplain sqlite3_api->isexplain +#define sqlite3_value_frombind sqlite3_api->frombind +/* Version 3.30.0 and later */ +#define sqlite3_drop_modules sqlite3_api->drop_modules #endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */ #if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) @@ -119144,9 +121107,18 @@ static const sqlite3_api_routines sqlite3Apis = { sqlite3_create_window_function, /* Version 3.26.0 and later */ #ifdef SQLITE_ENABLE_NORMALIZE - sqlite3_normalized_sql + sqlite3_normalized_sql, #else - 0 + 0, +#endif + /* Version 3.28.0 and later */ + sqlite3_stmt_isexplain, + sqlite3_value_frombind, + /* Version 3.30.0 and later */ +#ifndef SQLITE_OMIT_VIRTUALTABLE + sqlite3_drop_modules, +#else + 0, #endif }; @@ -119339,7 +121311,7 @@ SQLITE_API int sqlite3_enable_load_extension(sqlite3 *db, int onoff){ if( onoff ){ db->flags |= SQLITE_LoadExtension|SQLITE_LoadExtFunc; }else{ - db->flags &= ~(SQLITE_LoadExtension|SQLITE_LoadExtFunc); + db->flags &= ~(u64)(SQLITE_LoadExtension|SQLITE_LoadExtFunc); } sqlite3_mutex_leave(db->mutex); return SQLITE_OK; @@ -119595,11 +121567,9 @@ SQLITE_PRIVATE void sqlite3AutoLoadExtensions(sqlite3 *db){ #define PragTyp_WAL_AUTOCHECKPOINT 38 #define PragTyp_WAL_CHECKPOINT 39 #define PragTyp_ACTIVATE_EXTENSIONS 40 -#define PragTyp_HEXKEY 41 -#define PragTyp_KEY 42 -#define PragTyp_LOCK_STATUS 43 -#define PragTyp_PARSER_TRACE 44 -#define PragTyp_STATS 45 +#define PragTyp_KEY 41 +#define PragTyp_LOCK_STATUS 42 +#define PragTyp_STATS 43 /* Property flags associated with various pragma. */ #define PragFlg_NeedSchema 0x01 /* Force schema load before running */ @@ -119728,11 +121698,13 @@ static const PragmaName aPragmaName[] = { /* ColNames: */ 0, 0, /* iArg: */ 0 }, #endif +#if !defined(SQLITE_OMIT_CASE_SENSITIVE_LIKE_PRAGMA) {/* zName: */ "case_sensitive_like", /* ePragTyp: */ PragTyp_CASE_SENSITIVE_LIKE, /* ePragFlg: */ PragFlg_NoColumns, /* ColNames: */ 0, 0, /* iArg: */ 0 }, +#endif {/* zName: */ "cell_size_check", /* ePragTyp: */ PragTyp_FLAG, /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1, @@ -119860,7 +121832,7 @@ static const PragmaName aPragmaName[] = { /* iArg: */ SQLITE_FullFSync }, #endif #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS) -#if defined(SQLITE_INTROSPECTION_PRAGMAS) +#if !defined(SQLITE_OMIT_INTROSPECTION_PRAGMAS) {/* zName: */ "function_list", /* ePragTyp: */ PragTyp_FUNCTION_LIST, /* ePragFlg: */ PragFlg_Result0, @@ -119870,12 +121842,12 @@ static const PragmaName aPragmaName[] = { #endif #if defined(SQLITE_HAS_CODEC) {/* zName: */ "hexkey", - /* ePragTyp: */ PragTyp_HEXKEY, + /* ePragTyp: */ PragTyp_KEY, /* ePragFlg: */ 0, /* ColNames: */ 0, 0, /* iArg: */ 2 }, {/* zName: */ "hexrekey", - /* ePragTyp: */ PragTyp_HEXKEY, + /* ePragTyp: */ PragTyp_KEY, /* ePragFlg: */ 0, /* ColNames: */ 0, 0, /* iArg: */ 3 }, @@ -119984,7 +121956,7 @@ static const PragmaName aPragmaName[] = { #endif #if !defined(SQLITE_OMIT_SCHEMA_PRAGMAS) #if !defined(SQLITE_OMIT_VIRTUALTABLE) -#if defined(SQLITE_INTROSPECTION_PRAGMAS) +#if !defined(SQLITE_OMIT_INTROSPECTION_PRAGMAS) {/* zName: */ "module_list", /* ePragTyp: */ PragTyp_MODULE_LIST, /* ePragFlg: */ PragFlg_Result0, @@ -120010,14 +121982,16 @@ static const PragmaName aPragmaName[] = { /* ColNames: */ 0, 0, /* iArg: */ 0 }, #endif -#if defined(SQLITE_DEBUG) && !defined(SQLITE_OMIT_PARSER_TRACE) +#if !defined(SQLITE_OMIT_FLAG_PRAGMAS) +#if defined(SQLITE_DEBUG) {/* zName: */ "parser_trace", - /* ePragTyp: */ PragTyp_PARSER_TRACE, - /* ePragFlg: */ 0, + /* ePragTyp: */ PragTyp_FLAG, + /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1, /* ColNames: */ 0, 0, - /* iArg: */ 0 }, + /* iArg: */ SQLITE_ParserTrace }, +#endif #endif -#if defined(SQLITE_INTROSPECTION_PRAGMAS) +#if !defined(SQLITE_OMIT_INTROSPECTION_PRAGMAS) {/* zName: */ "pragma_list", /* ePragTyp: */ PragTyp_PRAGMA_LIST, /* ePragFlg: */ PragFlg_Result0, @@ -120215,7 +122189,7 @@ static const PragmaName aPragmaName[] = { /* iArg: */ SQLITE_WriteSchema|SQLITE_NoSchemaError }, #endif }; -/* Number of pragmas: 62 on by default, 81 total. */ +/* Number of pragmas: 65 on by default, 81 total. */ /************** End of pragma.h **********************************************/ /************** Continuing where we left off in pragma.c *********************/ @@ -120834,6 +122808,11 @@ SQLITE_PRIVATE void sqlite3Pragma( ** then do a query */ eMode = PAGER_JOURNALMODE_QUERY; } + if( eMode==PAGER_JOURNALMODE_OFF && (db->flags & SQLITE_Defensive)!=0 ){ + /* Do not allow journal-mode "OFF" in defensive since the database + ** can become corrupted using ordinary SQL when the journal is off */ + eMode = PAGER_JOURNALMODE_QUERY; + } } if( eMode==PAGER_JOURNALMODE_QUERY && pId2->n==0 ){ /* Convert "PRAGMA journal_mode" into "PRAGMA main.journal_mode" */ @@ -121006,7 +122985,7 @@ SQLITE_PRIVATE void sqlite3Pragma( if( sqlite3GetBoolean(zRight, size!=0) ){ db->flags |= SQLITE_CacheSpill; }else{ - db->flags &= ~SQLITE_CacheSpill; + db->flags &= ~(u64)SQLITE_CacheSpill; } setAllPagerFlags(db); } @@ -121342,6 +123321,15 @@ SQLITE_PRIVATE void sqlite3Pragma( Index *pIdx; Table *pTab; pIdx = sqlite3FindIndex(db, zRight, zDb); + if( pIdx==0 ){ + /* If there is no index named zRight, check to see if there is a + ** WITHOUT ROWID table named zRight, and if there is, show the + ** structure of the PRIMARY KEY index for that table. */ + pTab = sqlite3LocateTable(pParse, LOCATE_NOERR, zRight, zDb); + if( pTab && !HasRowid(pTab) ){ + pIdx = sqlite3PrimaryKeyIndex(pTab); + } + } if( pIdx ){ int iIdxDb = sqlite3SchemaToIndex(db, pIdx->pSchema); int i; @@ -121421,7 +123409,7 @@ SQLITE_PRIVATE void sqlite3Pragma( } break; -#ifdef SQLITE_INTROSPECTION_PRAGMAS +#ifndef SQLITE_OMIT_INTROSPECTION_PRAGMAS case PragTyp_FUNCTION_LIST: { int i; HashElem *j; @@ -121566,7 +123554,7 @@ SQLITE_PRIVATE void sqlite3Pragma( x = sqlite3FkLocateIndex(pParse, pParent, pFK, &pIdx, &aiCols); assert( x==0 ); } - addrOk = sqlite3VdbeMakeLabel(v); + addrOk = sqlite3VdbeMakeLabel(pParse); /* Generate code to read the child key values into registers ** regRow..regRow+n. If any of the child key values are NULL, this @@ -121611,19 +123599,7 @@ SQLITE_PRIVATE void sqlite3Pragma( #endif /* !defined(SQLITE_OMIT_TRIGGER) */ #endif /* !defined(SQLITE_OMIT_FOREIGN_KEY) */ -#ifndef NDEBUG - case PragTyp_PARSER_TRACE: { - if( zRight ){ - if( sqlite3GetBoolean(zRight, 0) ){ - sqlite3ParserTrace(stdout, "parser: "); - }else{ - sqlite3ParserTrace(0, 0); - } - } - } - break; -#endif - +#ifndef SQLITE_OMIT_CASE_SENSITIVE_LIKE_PRAGMA /* Reinstall the LIKE and GLOB functions. The variant of LIKE ** used will be case sensitive or not depending on the RHS. */ @@ -121633,6 +123609,7 @@ SQLITE_PRIVATE void sqlite3Pragma( } } break; +#endif /* SQLITE_OMIT_CASE_SENSITIVE_LIKE_PRAGMA */ #ifndef SQLITE_INTEGRITY_CHECK_ERROR_MAX # define SQLITE_INTEGRITY_CHECK_ERROR_MAX 100 @@ -121786,8 +123763,8 @@ SQLITE_PRIVATE void sqlite3Pragma( if( pTab->pCheck && (db->flags & SQLITE_IgnoreChecks)==0 ){ ExprList *pCheck = sqlite3ExprListDup(db, pTab->pCheck, 0); if( db->mallocFailed==0 ){ - int addrCkFault = sqlite3VdbeMakeLabel(v); - int addrCkOk = sqlite3VdbeMakeLabel(v); + int addrCkFault = sqlite3VdbeMakeLabel(pParse); + int addrCkOk = sqlite3VdbeMakeLabel(pParse); char *zErr; int k; pParse->iSelfTab = iDataCur + 1; @@ -121810,7 +123787,7 @@ SQLITE_PRIVATE void sqlite3Pragma( /* Validate index entries for the current row */ for(j=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, j++){ int jmp2, jmp3, jmp4, jmp5; - int ckUniq = sqlite3VdbeMakeLabel(v); + int ckUniq = sqlite3VdbeMakeLabel(pParse); if( pPk==pIdx ) continue; r1 = sqlite3GenerateIndexKey(pParse, pIdx, iDataCur, 0, 0, &jmp3, pPrior, r1); @@ -121831,7 +123808,7 @@ SQLITE_PRIVATE void sqlite3Pragma( ** current key. The entry is unique if (1) any column is NULL ** or (2) the next entry has a different key */ if( IsUniqueIndex(pIdx) ){ - int uniqOk = sqlite3VdbeMakeLabel(v); + int uniqOk = sqlite3VdbeMakeLabel(pParse); int jmp6; int kk; for(kk=0; kknKeyCol; kk++){ @@ -122326,28 +124303,30 @@ SQLITE_PRIVATE void sqlite3Pragma( */ case PragTyp_KEY: { if( zRight ){ - int n = pPragma->iArg<4 ? sqlite3Strlen30(zRight) : -1; - if( (pPragma->iArg & 1)==0 ){ - sqlite3_key_v2(db, zDb, zRight, n); + char zBuf[40]; + const char *zKey = zRight; + int n; + if( pPragma->iArg==2 || pPragma->iArg==3 ){ + u8 iByte; + int i; + for(i=0, iByte=0; iiArg<4 ? sqlite3Strlen30(zRight) : -1; } if( (pPragma->iArg & 1)==0 ){ - sqlite3_key_v2(db, zDb, zKey, i/2); + rc = sqlite3_key_v2(db, zDb, zKey, n); }else{ - sqlite3_rekey_v2(db, zDb, zKey, i/2); + rc = sqlite3_rekey_v2(db, zDb, zKey, n); + } + if( rc==SQLITE_OK && n!=0 ){ + sqlite3VdbeSetNumCols(v, 1); + sqlite3VdbeSetColName(v, 0, COLNAME_NAME, "ok", SQLITE_STATIC); + returnSingleText(v, "ok"); } } break; @@ -122745,6 +124724,19 @@ static void corruptSchema( } } +/* +** Check to see if any sibling index (another index on the same table) +** of pIndex has the same root page number, and if it does, return true. +** This would indicate a corrupt schema. +*/ +SQLITE_PRIVATE int sqlite3IndexHasDuplicateRootPage(Index *pIndex){ + Index *p; + for(p=pIndex->pTable->pIndex; p; p=p->pNext){ + if( p->tnum==pIndex->tnum && p!=pIndex ) return 1; + } + return 0; +} + /* ** This is the callback routine for the code that initializes the ** database. See sqlite3Init() below for additional information. @@ -122752,9 +124744,11 @@ static void corruptSchema( ** ** Each callback contains the following information: ** -** argv[0] = name of thing being created -** argv[1] = root page number for table or index. 0 for trigger or view. -** argv[2] = SQL text for the CREATE statement. +** argv[0] = type of object: "table", "index", "trigger", or "view". +** argv[1] = name of thing being created +** argv[2] = associated table if an index or trigger +** argv[3] = root page number for table or index. 0 for trigger or view. +** argv[4] = SQL text for the CREATE statement. ** */ SQLITE_PRIVATE int sqlite3InitCallback(void *pInit, int argc, char **argv, char **NotUsed){ @@ -122762,20 +124756,21 @@ SQLITE_PRIVATE int sqlite3InitCallback(void *pInit, int argc, char **argv, char sqlite3 *db = pData->db; int iDb = pData->iDb; - assert( argc==3 ); + assert( argc==5 ); UNUSED_PARAMETER2(NotUsed, argc); assert( sqlite3_mutex_held(db->mutex) ); DbClearProperty(db, iDb, DB_Empty); + pData->nInitRow++; if( db->mallocFailed ){ - corruptSchema(pData, argv[0], 0); + corruptSchema(pData, argv[1], 0); return 1; } assert( iDb>=0 && iDbnDb ); if( argv==0 ) return 0; /* Might happen if EMPTY_RESULT_CALLBACKS are on */ - if( argv[1]==0 ){ - corruptSchema(pData, argv[0], 0); - }else if( sqlite3_strnicmp(argv[2],"create ",7)==0 ){ + if( argv[3]==0 ){ + corruptSchema(pData, argv[1], 0); + }else if( sqlite3_strnicmp(argv[4],"create ",7)==0 ){ /* Call the parser to process a CREATE TABLE, INDEX or VIEW. ** But because db->init.busy is set to 1, no VDBE code is generated ** or executed. All the parser does is build the internal data @@ -122788,9 +124783,10 @@ SQLITE_PRIVATE int sqlite3InitCallback(void *pInit, int argc, char **argv, char assert( db->init.busy ); db->init.iDb = iDb; - db->init.newTnum = sqlite3Atoi(argv[1]); + db->init.newTnum = sqlite3Atoi(argv[3]); db->init.orphanTrigger = 0; - TESTONLY(rcp = ) sqlite3_prepare(db, argv[2], -1, &pStmt, 0); + db->init.azInit = argv; + TESTONLY(rcp = ) sqlite3_prepare(db, argv[4], -1, &pStmt, 0); rc = db->errCode; assert( (rc&0xFF)==(rcp&0xFF) ); db->init.iDb = saved_iDb; @@ -122799,17 +124795,17 @@ SQLITE_PRIVATE int sqlite3InitCallback(void *pInit, int argc, char **argv, char if( db->init.orphanTrigger ){ assert( iDb==1 ); }else{ - pData->rc = rc; + if( rc > pData->rc ) pData->rc = rc; if( rc==SQLITE_NOMEM ){ sqlite3OomFault(db); }else if( rc!=SQLITE_INTERRUPT && (rc&0xFF)!=SQLITE_LOCKED ){ - corruptSchema(pData, argv[0], sqlite3_errmsg(db)); + corruptSchema(pData, argv[1], sqlite3_errmsg(db)); } } } sqlite3_finalize(pStmt); - }else if( argv[0]==0 || (argv[2]!=0 && argv[2][0]!=0) ){ - corruptSchema(pData, argv[0], 0); + }else if( argv[1]==0 || (argv[4]!=0 && argv[4][0]!=0) ){ + corruptSchema(pData, argv[1], 0); }else{ /* If the SQL column is blank it means this is an index that ** was created to be the PRIMARY KEY or to fulfill a UNIQUE @@ -122818,16 +124814,13 @@ SQLITE_PRIVATE int sqlite3InitCallback(void *pInit, int argc, char **argv, char ** to do here is record the root page number for that index. */ Index *pIndex; - pIndex = sqlite3FindIndex(db, argv[0], db->aDb[iDb].zDbSName); - if( pIndex==0 ){ - /* This can occur if there exists an index on a TEMP table which - ** has the same name as another index on a permanent index. Since - ** the permanent table is hidden by the TEMP table, we can also - ** safely ignore the index on the permanent table. - */ - /* Do Nothing */; - }else if( sqlite3GetInt32(argv[1], &pIndex->tnum)==0 ){ - corruptSchema(pData, argv[0], "invalid rootpage"); + pIndex = sqlite3FindIndex(db, argv[1], db->aDb[iDb].zDbSName); + if( pIndex==0 + || sqlite3GetInt32(argv[3],&pIndex->tnum)==0 + || pIndex->tnum<2 + || sqlite3IndexHasDuplicateRootPage(pIndex) + ){ + corruptSchema(pData, argv[1], pIndex?"invalid rootpage":"orphan index"); } } return 0; @@ -122848,7 +124841,7 @@ SQLITE_PRIVATE int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg, u32 mFl int size; #endif Db *pDb; - char const *azArg[4]; + char const *azArg[6]; int meta[5]; InitData initData; const char *zMasterName; @@ -122867,17 +124860,20 @@ SQLITE_PRIVATE int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg, u32 mFl ** table name will be inserted automatically by the parser so we can just ** use the abbreviation "x" here. The parser will also automatically tag ** the schema table as read-only. */ - azArg[0] = zMasterName = SCHEMA_TABLE(iDb); - azArg[1] = "1"; - azArg[2] = "CREATE TABLE x(type text,name text,tbl_name text," + azArg[0] = "table"; + azArg[1] = zMasterName = SCHEMA_TABLE(iDb); + azArg[2] = azArg[1]; + azArg[3] = "1"; + azArg[4] = "CREATE TABLE x(type text,name text,tbl_name text," "rootpage int,sql text)"; - azArg[3] = 0; + azArg[5] = 0; initData.db = db; initData.iDb = iDb; initData.rc = SQLITE_OK; initData.pzErrMsg = pzErrMsg; initData.mInitFlags = mFlags; - sqlite3InitCallback(&initData, 3, (char **)azArg, 0); + initData.nInitRow = 0; + sqlite3InitCallback(&initData, 5, (char **)azArg, 0); if( initData.rc ){ rc = initData.rc; goto error_out; @@ -122994,7 +124990,7 @@ SQLITE_PRIVATE int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg, u32 mFl ** indices that the user might have created. */ if( iDb==0 && meta[BTREE_FILE_FORMAT-1]>=4 ){ - db->flags &= ~SQLITE_LegacyFileFmt; + db->flags &= ~(u64)SQLITE_LegacyFileFmt; } /* Read the schema information out of the schema tables @@ -123003,7 +124999,7 @@ SQLITE_PRIVATE int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg, u32 mFl { char *zSql; zSql = sqlite3MPrintf(db, - "SELECT name, rootpage, sql FROM \"%w\".%s ORDER BY rowid", + "SELECT*FROM\"%w\".%s ORDER BY rowid", db->aDb[iDb].zDbSName, zMasterName); #ifndef SQLITE_OMIT_AUTHORIZATION { @@ -123246,6 +125242,7 @@ static int sqlite3Prepare( sParse.disableLookaside++; db->lookaside.bDisable++; } + sParse.disableVtab = (prepFlags & SQLITE_PREPARE_NO_VTAB)!=0; /* Check to verify that it is possible to get a read lock on all ** database schemas. The inability to get a read lock indicates that @@ -123323,7 +125320,10 @@ static int sqlite3Prepare( rc = sParse.rc; #ifndef SQLITE_OMIT_EXPLAIN - if( rc==SQLITE_OK && sParse.pVdbe && sParse.explain ){ + /* Justification for the ALWAYS(): The only way for rc to be SQLITE_OK and + ** sParse.pVdbe to be NULL is if the input SQL is an empty string, but in + ** that case, sParse.explain will be false. */ + if( sParse.explain && rc==SQLITE_OK && ALWAYS(sParse.pVdbe) ){ static const char * const azColName[] = { "addr", "opcode", "p1", "p2", "p3", "p4", "p5", "comment", "id", "parent", "notused", "detail" @@ -123348,8 +125348,8 @@ static int sqlite3Prepare( if( db->init.busy==0 ){ sqlite3VdbeSetSql(sParse.pVdbe, zSql, (int)(sParse.zTail-zSql), prepFlags); } - if( sParse.pVdbe && (rc!=SQLITE_OK || db->mallocFailed) ){ - sqlite3VdbeFinalize(sParse.pVdbe); + if( rc!=SQLITE_OK || db->mallocFailed ){ + if( sParse.pVdbe ) sqlite3VdbeFinalize(sParse.pVdbe); assert(!(*ppStmt)); }else{ *ppStmt = (sqlite3_stmt*)sParse.pVdbe; @@ -123410,293 +125410,6 @@ static int sqlite3LockAndPrepare( return rc; } -#ifdef SQLITE_ENABLE_NORMALIZE -/* -** Checks if the specified token is a table, column, or function name, -** based on the databases associated with the statement being prepared. -** If the function fails, zero is returned and pRc is filled with the -** error code. -*/ -static int shouldTreatAsIdentifier( - sqlite3 *db, /* Database handle. */ - const char *zToken, /* Pointer to start of token to be checked */ - int nToken, /* Length of token to be checked */ - int *pRc /* Pointer to error code upon failure */ -){ - int bFound = 0; /* Non-zero if token is an identifier name. */ - int i, j; /* Database and column loop indexes. */ - Schema *pSchema; /* Schema for current database. */ - Hash *pHash; /* Hash table of tables for current database. */ - HashElem *e; /* Hash element for hash table iteration. */ - Table *pTab; /* Database table for columns being checked. */ - - if( sqlite3IsRowidN(zToken, nToken) ){ - return 1; - } - if( nToken>0 ){ - int hash = SQLITE_FUNC_HASH(sqlite3UpperToLower[(u8)zToken[0]], nToken); - if( sqlite3FunctionSearchN(hash, zToken, nToken) ) return 1; - } - assert( db!=0 ); - sqlite3_mutex_enter(db->mutex); - sqlite3BtreeEnterAll(db); - for(i=0; inDb; i++){ - pHash = &db->aFunc; - if( sqlite3HashFindN(pHash, zToken, nToken) ){ - bFound = 1; - break; - } - pSchema = db->aDb[i].pSchema; - if( pSchema==0 ) continue; - pHash = &pSchema->tblHash; - if( sqlite3HashFindN(pHash, zToken, nToken) ){ - bFound = 1; - break; - } - for(e=sqliteHashFirst(pHash); e; e=sqliteHashNext(e)){ - pTab = sqliteHashData(e); - if( pTab==0 ) continue; - pHash = pTab->pColHash; - if( pHash==0 ){ - pTab->pColHash = pHash = sqlite3_malloc(sizeof(Hash)); - if( pHash ){ - sqlite3HashInit(pHash); - for(j=0; jnCol; j++){ - Column *pCol = &pTab->aCol[j]; - sqlite3HashInsert(pHash, pCol->zName, pCol); - } - }else{ - *pRc = SQLITE_NOMEM_BKPT; - bFound = 0; - goto done; - } - } - if( pHash && sqlite3HashFindN(pHash, zToken, nToken) ){ - bFound = 1; - goto done; - } - } - } -done: - sqlite3BtreeLeaveAll(db); - sqlite3_mutex_leave(db->mutex); - return bFound; -} - -/* -** Attempt to estimate the final output buffer size needed for the fully -** normalized version of the specified SQL string. This should take into -** account any potential expansion that could occur (e.g. via IN clauses -** being expanded, etc). This size returned is the total number of bytes -** including the NUL terminator. -*/ -static int estimateNormalizedSize( - const char *zSql, /* The original SQL string */ - int nSql, /* Length of original SQL string */ - u8 prepFlags /* The flags passed to sqlite3_prepare_v3() */ -){ - int nOut = nSql + 4; - const char *z = zSql; - while( nOut0 ){ - zOut[j++] = '"'; - continue; - }else if( k==nToken-1 ){ - zOut[j++] = '"'; - continue; - } - } - if( bKeyword ){ - zOut[j++] = sqlite3Toupper(zSql[iIn+k]); - }else{ - zOut[j++] = sqlite3Tolower(zSql[iIn+k]); - } - } - *piOut = j; -} - -/* -** Perform normalization of the SQL contained in the prepared statement and -** store the result in the zNormSql field. The schema for the associated -** databases are consulted while performing the normalization in order to -** determine if a token appears to be an identifier. All identifiers are -** left intact in the normalized SQL and all literals are replaced with a -** single '?'. -*/ -SQLITE_PRIVATE void sqlite3Normalize( - Vdbe *pVdbe, /* VM being reprepared */ - const char *zSql, /* The original SQL string */ - int nSql, /* Size of the input string in bytes */ - u8 prepFlags /* The flags passed to sqlite3_prepare_v3() */ -){ - sqlite3 *db; /* Database handle. */ - char *z; /* The output string */ - int nZ; /* Size of the output string in bytes */ - int i; /* Next character to read from zSql[] */ - int j; /* Next character to fill in on z[] */ - int tokenType = 0; /* Type of the next token */ - int prevTokenType = 0; /* Type of the previous token, except spaces */ - int n; /* Size of the next token */ - int nParen = 0; /* Nesting level of parenthesis */ - Hash inHash; /* Table of parenthesis levels to output index. */ - - db = sqlite3VdbeDb(pVdbe); - assert( db!=0 ); - assert( pVdbe->zNormSql==0 ); - if( zSql==0 ) return; - nZ = estimateNormalizedSize(zSql, nSql, prepFlags); - z = sqlite3DbMallocRawNN(db, nZ); - if( z==0 ) return; - sqlite3HashInit(&inHash); - for(i=j=0; i0 ){ - sqlite3HashInsert(&inHash, zSql+nParen, 0); - assert( jj+6=0 ); - assert( nZ-1-j=0 ); - /* Fall through */ - } - case TK_MINUS: - case TK_SEMI: - case TK_PLUS: - case TK_STAR: - case TK_SLASH: - case TK_REM: - case TK_EQ: - case TK_LE: - case TK_NE: - case TK_LSHIFT: - case TK_LT: - case TK_RSHIFT: - case TK_GT: - case TK_GE: - case TK_BITOR: - case TK_CONCAT: - case TK_COMMA: - case TK_BITAND: - case TK_BITNOT: - case TK_DOT: - case TK_IN: - case TK_IS: - case TK_NOT: - case TK_NULL: - case TK_ID: { - if( tokenType==TK_NULL ){ - if( prevTokenType==TK_IS || prevTokenType==TK_NOT ){ - /* NULL is a keyword in this case, not a literal value */ - }else{ - /* Here the NULL is a literal value */ - z[j++] = '?'; - break; - } - } - if( j>0 && sqlite3IsIdChar(z[j-1]) && sqlite3IsIdChar(zSql[i]) ){ - z[j++] = ' '; - } - if( tokenType==TK_ID ){ - int i2 = i, n2 = n, rc = SQLITE_OK; - if( nParen>0 ){ - assert( nParen0 && z[j-1]==' ' ){ j--; } - if( j>0 && z[j-1]!=';' ){ z[j++] = ';'; } - z[j] = 0; - assert( jzNormSql = z; - sqlite3HashClear(&inHash); -} -#endif /* SQLITE_ENABLE_NORMALIZE */ /* ** Rerun the compilation of a statement after a schema change. @@ -124007,6 +125720,7 @@ static void clearSelect(sqlite3 *db, Select *p, int bFree){ if( OK_IF_ALWAYS_TRUE(p->pWinDefn) ){ sqlite3WindowListDelete(db, p->pWinDefn); } + assert( p->pWin==0 ); #endif if( OK_IF_ALWAYS_TRUE(p->pWith) ) sqlite3WithDelete(db, p->pWith); if( bFree ) sqlite3DbFreeNN(db, p); @@ -124262,7 +125976,7 @@ static void addWhereTerm( ExprSetVVAProperty(pEq, EP_NoReduce); pEq->iRightJoinTable = (i16)pE2->iTable; } - *ppWhere = sqlite3ExprAnd(db, *ppWhere, pEq); + *ppWhere = sqlite3ExprAnd(pParse, *ppWhere, pEq); } /* @@ -124396,7 +126110,7 @@ static int sqliteProcessJoin(Parse *pParse, Select *p){ */ if( pRight->pOn ){ if( isOuter ) setJoinExpr(pRight->pOn, pRight->iCursor); - p->pWhere = sqlite3ExprAnd(pParse->db, p->pWhere, pRight->pOn); + p->pWhere = sqlite3ExprAnd(pParse, p->pWhere, pRight->pOn); pRight->pOn = 0; } @@ -124538,7 +126252,7 @@ static void pushOntoSorter( } assert( pSelect->iOffset==0 || pSelect->iLimit!=0 ); iLimit = pSelect->iOffset ? pSelect->iOffset+1 : pSelect->iLimit; - pSort->labelDone = sqlite3VdbeMakeLabel(v); + pSort->labelDone = sqlite3VdbeMakeLabel(pParse); sqlite3ExprCodeExprList(pParse, pSort->pOrderBy, regBase, regOrigData, SQLITE_ECEL_DUP | (regOrigData? SQLITE_ECEL_REF : 0)); if( bSeq ){ @@ -124570,14 +126284,14 @@ static void pushOntoSorter( if( pParse->db->mallocFailed ) return; pOp->p2 = nKey + nData; pKI = pOp->p4.pKeyInfo; - memset(pKI->aSortOrder, 0, pKI->nKeyField); /* Makes OP_Jump testable */ + memset(pKI->aSortFlags, 0, pKI->nKeyField); /* Makes OP_Jump testable */ sqlite3VdbeChangeP4(v, -1, (char*)pKI, P4_KEYINFO); testcase( pKI->nAllField > pKI->nKeyField+2 ); pOp->p4.pKeyInfo = sqlite3KeyInfoFromExprList(pParse,pSort->pOrderBy,nOBSat, pKI->nAllField-pKI->nKeyField-1); addrJmp = sqlite3VdbeCurrentAddr(v); sqlite3VdbeAddOp3(v, OP_Jump, addrJmp+1, 0, addrJmp+1); VdbeCoverage(v); - pSort->labelBkOut = sqlite3VdbeMakeLabel(v); + pSort->labelBkOut = sqlite3VdbeMakeLabel(pParse); pSort->regReturn = ++pParse->nMem; sqlite3VdbeAddOp2(v, OP_Gosub, pSort->regReturn, pSort->labelBkOut); sqlite3VdbeAddOp1(v, OP_ResetSorter, pSort->iECursor); @@ -125181,7 +126895,7 @@ SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoAlloc(sqlite3 *db, int N, int X){ int nExtra = (N+X)*(sizeof(CollSeq*)+1) - sizeof(CollSeq*); KeyInfo *p = sqlite3DbMallocRawNN(db, sizeof(KeyInfo) + nExtra); if( p ){ - p->aSortOrder = (u8*)&p->aColl[N+X]; + p->aSortFlags = (u8*)&p->aColl[N+X]; p->nKeyField = (u16)N; p->nAllField = (u16)(N+X); p->enc = ENC(db); @@ -125258,7 +126972,7 @@ SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoFromExprList( assert( sqlite3KeyInfoIsWriteable(pInfo) ); for(i=iStart, pItem=pList->a+iStart; iaColl[i-iStart] = sqlite3ExprNNCollSeq(pParse, pItem->pExpr); - pInfo->aSortOrder[i-iStart] = pItem->sortOrder; + pInfo->aSortFlags[i-iStart] = pItem->sortFlags; } } return pInfo; @@ -125324,7 +127038,7 @@ static void generateSortTail( ){ Vdbe *v = pParse->pVdbe; /* The prepared statement */ int addrBreak = pSort->labelDone; /* Jump here to exit loop */ - int addrContinue = sqlite3VdbeMakeLabel(v); /* Jump here for next cycle */ + int addrContinue = sqlite3VdbeMakeLabel(pParse);/* Jump here for next cycle */ int addr; /* Top of output loop. Jump for Next. */ int addrOnce = 0; int iTab; @@ -125364,7 +127078,12 @@ static void generateSortTail( regRow = pDest->iSdst; }else{ regRowid = sqlite3GetTempReg(pParse); - regRow = sqlite3GetTempRange(pParse, nColumn); + if( eDest==SRT_EphemTab || eDest==SRT_Table ){ + regRow = sqlite3GetTempReg(pParse); + nColumn = 0; + }else{ + regRow = sqlite3GetTempRange(pParse, nColumn); + } } nKey = pOrderBy->nExpr - pSort->nOBSat; if( pSort->sortFlags & SORTFLAG_UseSorter ){ @@ -125444,6 +127163,7 @@ static void generateSortTail( switch( eDest ){ case SRT_Table: case SRT_EphemTab: { + sqlite3VdbeAddOp3(v, OP_Column, iSortTab, nKey+bSeq, regRow); sqlite3VdbeAddOp2(v, OP_NewRowid, iParm, regRowid); sqlite3VdbeAddOp3(v, OP_Insert, iParm, regRow, regRowid); sqlite3VdbeChangeP5(v, OPFLAG_APPEND); @@ -125544,8 +127264,6 @@ static const char *columnTypeImpl( assert( pExpr!=0 ); assert( pNC->pSrcList!=0 ); - assert( pExpr->op!=TK_AGG_COLUMN ); /* This routine runes before aggregates - ** are processed */ switch( pExpr->op ){ case TK_COLUMN: { /* The expression is a column. Locate the table the column is being @@ -125862,12 +127580,11 @@ SQLITE_PRIVATE int sqlite3ColumnsFromExprList( if( (zName = pEList->a[i].zName)!=0 ){ /* If the column contains an "AS " phrase, use as the name */ }else{ - Expr *pColExpr = sqlite3ExprSkipCollate(pEList->a[i].pExpr); + Expr *pColExpr = sqlite3ExprSkipCollateAndLikely(pEList->a[i].pExpr); while( pColExpr->op==TK_DOT ){ pColExpr = pColExpr->pRight; assert( pColExpr!=0 ); } - assert( pColExpr->op!=TK_AGG_COLUMN ); if( pColExpr->op==TK_COLUMN ){ /* For columns use the column name name */ int iCol = pColExpr->iColumn; @@ -125935,7 +127652,8 @@ SQLITE_PRIVATE int sqlite3ColumnsFromExprList( SQLITE_PRIVATE void sqlite3SelectAddColumnTypeAndCollation( Parse *pParse, /* Parsing contexts */ Table *pTab, /* Add column type information to this table */ - Select *pSelect /* SELECT used to determine types and collations */ + Select *pSelect, /* SELECT used to determine types and collations */ + char aff /* Default affinity for columns */ ){ sqlite3 *db = pParse->db; NameContext sNC; @@ -125968,7 +127686,7 @@ SQLITE_PRIVATE void sqlite3SelectAddColumnTypeAndCollation( pCol->colFlags |= COLFLAG_HASTYPE; } } - if( pCol->affinity==0 ) pCol->affinity = SQLITE_AFF_BLOB; + if( pCol->affinity<=SQLITE_AFF_NONE ) pCol->affinity = aff; pColl = sqlite3ExprCollSeq(pParse, p); if( pColl && pCol->zColl==0 ){ pCol->zColl = sqlite3DbStrDup(db, pColl->zName); @@ -125981,30 +127699,27 @@ SQLITE_PRIVATE void sqlite3SelectAddColumnTypeAndCollation( ** Given a SELECT statement, generate a Table structure that describes ** the result set of that SELECT. */ -SQLITE_PRIVATE Table *sqlite3ResultSetOfSelect(Parse *pParse, Select *pSelect){ +SQLITE_PRIVATE Table *sqlite3ResultSetOfSelect(Parse *pParse, Select *pSelect, char aff){ Table *pTab; sqlite3 *db = pParse->db; - int savedFlags; + u64 savedFlags; savedFlags = db->flags; - db->flags &= ~SQLITE_FullColNames; + db->flags &= ~(u64)SQLITE_FullColNames; db->flags |= SQLITE_ShortColNames; sqlite3SelectPrep(pParse, pSelect, 0); + db->flags = savedFlags; if( pParse->nErr ) return 0; while( pSelect->pPrior ) pSelect = pSelect->pPrior; - db->flags = savedFlags; pTab = sqlite3DbMallocZero(db, sizeof(Table) ); if( pTab==0 ){ return 0; } - /* The sqlite3ResultSetOfSelect() is only used n contexts where lookaside - ** is disabled */ - assert( db->lookaside.bDisable ); pTab->nTabRef = 1; pTab->zName = 0; pTab->nRowLogEst = 200; assert( 200==sqlite3LogEst(1048576) ); sqlite3ColumnsFromExprList(pParse, pSelect->pEList, &pTab->nCol, &pTab->aCol); - sqlite3SelectAddColumnTypeAndCollation(pParse, pTab, pSelect); + sqlite3SelectAddColumnTypeAndCollation(pParse, pTab, pSelect, aff); pTab->iPKey = -1; if( db->mallocFailed ){ sqlite3DeleteTable(db, pTab); @@ -126158,7 +127873,7 @@ static KeyInfo *multiSelectOrderByKeyInfo(Parse *pParse, Select *p, int nExtra){ } assert( sqlite3KeyInfoIsWriteable(pRet) ); pRet->aColl[i] = pColl; - pRet->aSortOrder[i] = pOrderBy->a[i].sortOrder; + pRet->aSortFlags[i] = pOrderBy->a[i].sortFlags; } } @@ -126236,7 +127951,7 @@ static void generateWithRecursiveQuery( if( sqlite3AuthCheck(pParse, SQLITE_RECURSIVE, 0, 0, 0) ) return; /* Process the LIMIT and OFFSET clauses, if they exist */ - addrBreak = sqlite3VdbeMakeLabel(v); + addrBreak = sqlite3VdbeMakeLabel(pParse); p->nSelectRow = 320; /* 4 billion rows */ computeLimitRegisters(pParse, p, addrBreak); pLimit = p->pLimit; @@ -126306,7 +128021,7 @@ static void generateWithRecursiveQuery( sqlite3VdbeAddOp1(v, OP_Delete, iQueue); /* Output the single row in Current */ - addrCont = sqlite3VdbeMakeLabel(v); + addrCont = sqlite3VdbeMakeLabel(pParse); codeOffset(v, regOffset, addrCont); selectInnerLoop(pParse, p, iCurrent, 0, 0, pDest, addrCont, addrBreak); @@ -126441,6 +128156,7 @@ static int multiSelect( */ assert( p && p->pPrior ); /* Calling function guarantees this much */ assert( (p->selFlags & SF_Recursive)==0 || p->op==TK_ALL || p->op==TK_UNION ); + assert( p->selFlags & SF_Compound ); db = pParse->db; pPrior = p->pPrior; dest = *pDest; @@ -126614,8 +128330,8 @@ static int multiSelect( if( dest.eDest!=priorOp ){ int iCont, iBreak, iStart; assert( p->pEList ); - iBreak = sqlite3VdbeMakeLabel(v); - iCont = sqlite3VdbeMakeLabel(v); + iBreak = sqlite3VdbeMakeLabel(pParse); + iCont = sqlite3VdbeMakeLabel(pParse); computeLimitRegisters(pParse, p, iBreak); sqlite3VdbeAddOp2(v, OP_Rewind, unionTab, iBreak); VdbeCoverage(v); iStart = sqlite3VdbeCurrentAddr(v); @@ -126683,8 +128399,8 @@ static int multiSelect( ** tables. */ assert( p->pEList ); - iBreak = sqlite3VdbeMakeLabel(v); - iCont = sqlite3VdbeMakeLabel(v); + iBreak = sqlite3VdbeMakeLabel(pParse); + iCont = sqlite3VdbeMakeLabel(pParse); computeLimitRegisters(pParse, p, iBreak); sqlite3VdbeAddOp2(v, OP_Rewind, tab1, iBreak); VdbeCoverage(v); r1 = sqlite3GetTempReg(pParse); @@ -126814,7 +128530,7 @@ static int generateOutputSubroutine( int addr; addr = sqlite3VdbeCurrentAddr(v); - iContinue = sqlite3VdbeMakeLabel(v); + iContinue = sqlite3VdbeMakeLabel(pParse); /* Suppress duplicates for UNION, EXCEPT, and INTERSECT */ @@ -126868,11 +128584,14 @@ static int generateOutputSubroutine( /* If this is a scalar select that is part of an expression, then ** store the results in the appropriate memory cell and break out - ** of the scan loop. + ** of the scan loop. Note that the select might return multiple columns + ** if it is the RHS of a row-value IN operator. */ case SRT_Mem: { - assert( pIn->nSdst==1 || pParse->nErr>0 ); testcase( pIn->nSdst!=1 ); - sqlite3ExprCodeMove(pParse, pIn->iSdst, pDest->iSDParm, 1); + if( pParse->nErr==0 ){ + testcase( pIn->nSdst>1 ); + sqlite3ExprCodeMove(pParse, pIn->iSdst, pDest->iSDParm, pIn->nSdst); + } /* The LIMIT clause will jump out of the loop for us */ break; } @@ -127051,8 +128770,8 @@ static int multiSelectOrderBy( db = pParse->db; v = pParse->pVdbe; assert( v!=0 ); /* Already thrown the error if VDBE alloc failed */ - labelEnd = sqlite3VdbeMakeLabel(v); - labelCmpr = sqlite3VdbeMakeLabel(v); + labelEnd = sqlite3VdbeMakeLabel(pParse); + labelCmpr = sqlite3VdbeMakeLabel(pParse); /* Patch up the ORDER BY clause @@ -127129,7 +128848,7 @@ static int multiSelectOrderBy( assert( sqlite3KeyInfoIsWriteable(pKeyDup) ); for(i=0; iaColl[i] = multiSelectCollSeq(pParse, p, i); - pKeyDup->aSortOrder[i] = 0; + pKeyDup->aSortFlags[i] = 0; } } } @@ -127368,6 +129087,7 @@ static Expr *substExpr( ifNullRow.iTable = pSubst->iNewTable; pCopy = &ifNullRow; } + testcase( ExprHasProperty(pCopy, EP_Subquery) ); pNew = sqlite3ExprDup(db, pCopy, 0); if( pNew && pSubst->isLeftJoin ){ ExprSetProperty(pNew, EP_CanBeNull); @@ -127378,6 +129098,18 @@ static Expr *substExpr( } sqlite3ExprDelete(db, pExpr); pExpr = pNew; + + /* Ensure that the expression now has an implicit collation sequence, + ** just as it did when it was a column of a view or sub-query. */ + if( pExpr ){ + if( pExpr->op!=TK_COLUMN && pExpr->op!=TK_COLLATE ){ + CollSeq *pColl = sqlite3ExprCollSeq(pSubst->pParse, pExpr); + pExpr = sqlite3ExprAddCollateString(pSubst->pParse, pExpr, + (pColl ? pColl->zName : "BINARY") + ); + } + ExprClearProperty(pExpr, EP_Collate); + } } } }else{ @@ -127391,6 +129123,14 @@ static Expr *substExpr( }else{ substExprList(pSubst, pExpr->x.pList); } +#ifndef SQLITE_OMIT_WINDOWFUNC + if( ExprHasProperty(pExpr, EP_WinFunc) ){ + Window *pWin = pExpr->y.pWin; + pWin->pFilter = substExpr(pSubst, pWin->pFilter); + substExprList(pSubst, pWin->pPartition); + substExprList(pSubst, pWin->pOrderBy); + } +#endif } return pExpr; } @@ -127851,6 +129591,7 @@ static int flattenSubquery( for(pParent=p; pParent; pParent=pParent->pPrior, pSub=pSub->pPrior){ int nSubSrc; u8 jointype = 0; + assert( pSub!=0 ); pSubSrc = pSub->pSrc; /* FROM clause of subquery */ nSubSrc = pSubSrc->nSrc; /* Number of terms in subquery FROM clause */ pSrc = pParent->pSrc; /* FROM clause of the outer query */ @@ -127860,11 +129601,9 @@ static int flattenSubquery( jointype = pSubitem->fg.jointype; }else{ assert( pParent!=p ); /* 2nd and subsequent times through the loop */ - pSrc = pParent->pSrc = sqlite3SrcListAppend(db, 0, 0, 0); - if( pSrc==0 ){ - assert( db->mallocFailed ); - break; - } + pSrc = sqlite3SrcListAppend(pParse, 0, 0, 0); + if( pSrc==0 ) break; + pParent->pSrc = pSrc; } /* The subquery uses a single slot of the FROM clause of the outer @@ -127883,10 +129622,9 @@ static int flattenSubquery( ** for the two elements in the FROM clause of the subquery. */ if( nSubSrc>1 ){ - pParent->pSrc = pSrc = sqlite3SrcListEnlarge(db, pSrc, nSubSrc-1,iFrom+1); - if( db->mallocFailed ){ - break; - } + pSrc = sqlite3SrcListEnlarge(pParse, pSrc, nSubSrc-1,iFrom+1); + if( pSrc==0 ) break; + pParent->pSrc = pSrc; } /* Transfer the FROM clause terms from the subquery into the @@ -127932,11 +129670,12 @@ static int flattenSubquery( pParent->pOrderBy = pOrderBy; pSub->pOrderBy = 0; } - pWhere = sqlite3ExprDup(db, pSub->pWhere, 0); + pWhere = pSub->pWhere; + pSub->pWhere = 0; if( isLeftJoin>0 ){ setJoinExpr(pWhere, iNewParent); } - pParent->pWhere = sqlite3ExprAnd(db, pWhere, pParent->pWhere); + pParent->pWhere = sqlite3ExprAnd(pParse, pWhere, pParent->pWhere); if( db->mallocFailed==0 ){ SubstContext x; x.pParse = pParse; @@ -127947,10 +129686,10 @@ static int flattenSubquery( substSelect(&x, pParent, 0); } - /* The flattened query is distinct if either the inner or the - ** outer query is distinct. - */ - pParent->selFlags |= pSub->selFlags & SF_Distinct; + /* The flattened query is a compound if either the inner or the + ** outer query is a compound. */ + pParent->selFlags |= pSub->selFlags & SF_Compound; + assert( (pSub->selFlags & SF_Distinct)==0 ); /* restriction (17b) */ /* ** SELECT ... FROM (SELECT ... LIMIT a OFFSET b) LIMIT x OFFSET y; @@ -128271,9 +130010,9 @@ static int pushDownWhereTerms( x.pEList = pSubq->pEList; pNew = substExpr(&x, pNew); if( pSubq->selFlags & SF_Aggregate ){ - pSubq->pHaving = sqlite3ExprAnd(pParse->db, pSubq->pHaving, pNew); + pSubq->pHaving = sqlite3ExprAnd(pParse, pSubq->pHaving, pNew); }else{ - pSubq->pWhere = sqlite3ExprAnd(pParse->db, pSubq->pWhere, pNew); + pSubq->pWhere = sqlite3ExprAnd(pParse, pSubq->pWhere, pNew); } pSubq = pSubq->pPrior; } @@ -128303,24 +130042,27 @@ static u8 minMaxQuery(sqlite3 *db, Expr *pFunc, ExprList **ppMinMax){ ExprList *pEList = pFunc->x.pList; /* Arguments to agg function */ const char *zFunc; /* Name of aggregate function pFunc */ ExprList *pOrderBy; - u8 sortOrder; + u8 sortFlags; assert( *ppMinMax==0 ); assert( pFunc->op==TK_AGG_FUNCTION ); - if( pEList==0 || pEList->nExpr!=1 ) return eRet; + assert( !IsWindowFunc(pFunc) ); + if( pEList==0 || pEList->nExpr!=1 || ExprHasProperty(pFunc, EP_WinFunc) ){ + return eRet; + } zFunc = pFunc->u.zToken; if( sqlite3StrICmp(zFunc, "min")==0 ){ eRet = WHERE_ORDERBY_MIN; - sortOrder = SQLITE_SO_ASC; + sortFlags = KEYINFO_ORDER_BIGNULL; }else if( sqlite3StrICmp(zFunc, "max")==0 ){ eRet = WHERE_ORDERBY_MAX; - sortOrder = SQLITE_SO_DESC; + sortFlags = KEYINFO_ORDER_DESC; }else{ return eRet; } *ppMinMax = pOrderBy = sqlite3ExprListDup(db, pEList, 0); assert( pOrderBy!=0 || db->mallocFailed ); - if( pOrderBy ) pOrderBy->a[0].sortOrder = sortOrder; + if( pOrderBy ) pOrderBy->a[0].sortFlags = sortFlags; return eRet; } @@ -128354,7 +130096,7 @@ static Table *isSimpleCount(Select *p, AggInfo *pAggInfo){ if( pExpr->op!=TK_AGG_FUNCTION ) return 0; if( NEVER(pAggInfo->nFunc==0) ) return 0; if( (pAggInfo->aFunc[0].pFunc->funcFlags&SQLITE_FUNC_COUNT)==0 ) return 0; - if( pExpr->flags&EP_Distinct ) return 0; + if( ExprHasProperty(pExpr, EP_Distinct|EP_WinFunc) ) return 0; return pTab; } @@ -128699,7 +130441,7 @@ SQLITE_PRIVATE int sqlite3ExpandSubquery(Parse *pParse, struct SrcList_item *pFr pTab->nRowLogEst = 200; assert( 200==sqlite3LogEst(1048576) ); pTab->tabFlags |= TF_Ephemeral; - return SQLITE_OK; + return pParse->nErr ? SQLITE_ERROR : SQLITE_OK; } /* @@ -128745,6 +130487,10 @@ static int selectExpander(Walker *pWalker, Select *p){ if( (selFlags & SF_Expanded)!=0 ){ return WRC_Prune; } + if( pWalker->eCode ){ + /* Renumber selId because it has been copied from a view */ + p->selId = ++pParse->nSelect; + } pTabList = p->pSrc; pEList = p->pEList; sqlite3WithPush(pParse, p->pWith, 0); @@ -128794,12 +130540,19 @@ static int selectExpander(Walker *pWalker, Select *p){ #if !defined(SQLITE_OMIT_VIEW) || !defined (SQLITE_OMIT_VIRTUALTABLE) if( IsVirtual(pTab) || pTab->pSelect ){ i16 nCol; + u8 eCodeOrig = pWalker->eCode; if( sqlite3ViewGetColumnNames(pParse, pTab) ) return WRC_Abort; assert( pFrom->pSelect==0 ); + if( pTab->pSelect && (db->flags & SQLITE_EnableView)==0 ){ + sqlite3ErrorMsg(pParse, "access to view \"%s\" prohibited", + pTab->zName); + } pFrom->pSelect = sqlite3SelectDup(db, pTab->pSelect, 0); nCol = pTab->nCol; pTab->nCol = -1; + pWalker->eCode = 1; /* Turn on Select.selId renumbering */ sqlite3WalkSelect(pWalker, pFrom->pSelect); + pWalker->eCode = eCodeOrig; pTab->nCol = nCol; } #endif @@ -129049,6 +130802,7 @@ static void sqlite3SelectExpand(Parse *pParse, Select *pSelect){ } w.xSelectCallback = selectExpander; w.xSelectCallback2 = selectPopWith; + w.eCode = 0; sqlite3WalkSelect(&w, pSelect); } @@ -129086,7 +130840,8 @@ static void selectAddSubqueryTypeInfo(Walker *pWalker, Select *p){ Select *pSel = pFrom->pSelect; if( pSel ){ while( pSel->pPrior ) pSel = pSel->pPrior; - sqlite3SelectAddColumnTypeAndCollation(pParse, pTab, pSel); + sqlite3SelectAddColumnTypeAndCollation(pParse, pTab, pSel, + SQLITE_AFF_NONE); } } } @@ -129208,7 +130963,7 @@ static void finalizeAggFunctions(Parse *pParse, AggInfo *pAggInfo){ ** ** If regAcc is non-zero and there are no min() or max() aggregates ** in pAggInfo, then only populate the pAggInfo->nAccumulator accumulator -** registers i register regAcc contains 0. The caller will take care +** registers if register regAcc contains 0. The caller will take care ** of setting and clearing regAcc. */ static void updateAccumulator(Parse *pParse, int regAcc, AggInfo *pAggInfo){ @@ -129226,6 +130981,25 @@ static void updateAccumulator(Parse *pParse, int regAcc, AggInfo *pAggInfo){ int regAgg; ExprList *pList = pF->pExpr->x.pList; assert( !ExprHasProperty(pF->pExpr, EP_xIsSelect) ); + assert( !IsWindowFunc(pF->pExpr) ); + if( ExprHasProperty(pF->pExpr, EP_WinFunc) ){ + Expr *pFilter = pF->pExpr->y.pWin->pFilter; + if( pAggInfo->nAccumulator + && (pF->pFunc->funcFlags & SQLITE_FUNC_NEEDCOLL) + ){ + if( regHit==0 ) regHit = ++pParse->nMem; + /* If this is the first row of the group (regAcc==0), clear the + ** "magnet" register regHit so that the accumulator registers + ** are populated if the FILTER clause jumps over the the + ** invocation of min() or max() altogether. Or, if this is not + ** the first row (regAcc==1), set the magnet register so that the + ** accumulators are not populated unless the min()/max() is invoked and + ** indicates that they should be. */ + sqlite3VdbeAddOp2(v, OP_Copy, regAcc, regHit); + } + addrNext = sqlite3VdbeMakeLabel(pParse); + sqlite3ExprIfFalse(pParse, pFilter, addrNext, SQLITE_JUMPIFNULL); + } if( pList ){ nArg = pList->nExpr; regAgg = sqlite3GetTempRange(pParse, nArg); @@ -129235,7 +131009,9 @@ static void updateAccumulator(Parse *pParse, int regAcc, AggInfo *pAggInfo){ regAgg = 0; } if( pF->iDistinct>=0 ){ - addrNext = sqlite3VdbeMakeLabel(v); + if( addrNext==0 ){ + addrNext = sqlite3VdbeMakeLabel(pParse); + } testcase( nArg==0 ); /* Error condition */ testcase( nArg>1 ); /* Also an error */ codeDistinct(pParse, pF->iDistinct, addrNext, 1, regAgg); @@ -129271,6 +131047,7 @@ static void updateAccumulator(Parse *pParse, int regAcc, AggInfo *pAggInfo){ for(i=0, pC=pAggInfo->aCol; inAccumulator; i++, pC++){ sqlite3ExprCode(pParse, pC->pExpr, pC->iMem); } + pAggInfo->directMode = 0; if( addrHitTest ){ sqlite3VdbeJumpHere(v, addrHitTest); @@ -129316,11 +131093,11 @@ static int havingToWhereExprCb(Walker *pWalker, Expr *pExpr){ Select *pS = pWalker->u.pSelect; if( sqlite3ExprIsConstantOrGroupBy(pWalker->pParse, pExpr, pS->pGroupBy) ){ sqlite3 *db = pWalker->pParse->db; - Expr *pNew = sqlite3ExprAlloc(db, TK_INTEGER, &sqlite3IntTokens[1], 0); + Expr *pNew = sqlite3Expr(db, TK_INTEGER, "1"); if( pNew ){ Expr *pWhere = pS->pWhere; SWAP(Expr, *pNew, *pExpr); - pNew = sqlite3ExprAnd(db, pWhere, pNew); + pNew = sqlite3ExprAnd(pWalker->pParse, pWhere, pNew); pS->pWhere = pNew; pWalker->eCode = 1; } @@ -129371,13 +131148,22 @@ static struct SrcList_item *isSelfJoinView( ){ struct SrcList_item *pItem; for(pItem = pTabList->a; pItempSelect==0 ) continue; if( pItem->fg.viaCoroutine ) continue; if( pItem->zName==0 ) continue; - if( sqlite3_stricmp(pItem->zDatabase, pThis->zDatabase)!=0 ) continue; + assert( pItem->pTab!=0 ); + assert( pThis->pTab!=0 ); + if( pItem->pTab->pSchema!=pThis->pTab->pSchema ) continue; if( sqlite3_stricmp(pItem->zName, pThis->zName)!=0 ) continue; - if( sqlite3ExprCompare(0, - pThis->pSelect->pWhere, pItem->pSelect->pWhere, -1) + pS1 = pItem->pSelect; + if( pItem->pTab->pSchema==0 && pThis->pSelect->selId!=pS1->selId ){ + /* The query flattener left two different CTE tables with identical + ** names in the same FROM clause. */ + continue; + } + if( sqlite3ExprCompare(0, pThis->pSelect->pWhere, pS1->pWhere, -1) + || sqlite3ExprCompare(0, pThis->pSelect->pHaving, pS1->pHaving, -1) ){ /* The view was modified by some other optimization such as ** pushDownWhereTerms() */ @@ -129403,7 +131189,8 @@ static struct SrcList_item *isSelfJoinView( ** * The subquery is a UNION ALL of two or more terms ** * The subquery does not have a LIMIT clause ** * There is no WHERE or GROUP BY or HAVING clauses on the subqueries -** * The outer query is a simple count(*) +** * The outer query is a simple count(*) with no WHERE clause or other +** extraneous syntax. ** ** Return TRUE if the optimization is undertaken. */ @@ -129414,6 +131201,8 @@ static int countOfViewOptimization(Parse *pParse, Select *p){ sqlite3 *db; if( (p->selFlags & SF_Aggregate)==0 ) return 0; /* This is an aggregate */ if( p->pEList->nExpr!=1 ) return 0; /* Single result column */ + if( p->pWhere ) return 0; + if( p->pGroupBy ) return 0; pExpr = p->pEList->a[0].pExpr; if( pExpr->op!=TK_AGG_FUNCTION ) return 0; /* Result is an aggregate */ if( sqlite3_stricmp(pExpr->u.zToken,"count") ) return 0; /* Is count() */ @@ -129640,6 +131429,7 @@ SQLITE_PRIVATE int sqlite3Select( } if( flattenSubquery(pParse, p, i, isAgg) ){ + if( pParse->nErr ) goto select_end; /* This subquery can be absorbed into its parent. */ i = -1; } @@ -129725,7 +131515,7 @@ SQLITE_PRIVATE int sqlite3Select( ** assume the column name is non-NULL and segfault. The use of an empty ** string for the fake column name seems safer. */ - if( pItem->colUsed==0 ){ + if( pItem->colUsed==0 && pItem->zName!=0 ){ sqlite3AuthCheck(pParse, SQLITE_READ, pItem->zName, "", pItem->zDatabase); } @@ -129735,22 +131525,19 @@ SQLITE_PRIVATE int sqlite3Select( pSub = pItem->pSelect; if( pSub==0 ) continue; - /* Sometimes the code for a subquery will be generated more than - ** once, if the subquery is part of the WHERE clause in a LEFT JOIN, - ** for example. In that case, do not regenerate the code to manifest - ** a view or the co-routine to implement a view. The first instance - ** is sufficient, though the subroutine to manifest the view does need - ** to be invoked again. */ - if( pItem->addrFillSub ){ - if( pItem->fg.viaCoroutine==0 ){ - /* The subroutine that manifests the view might be a one-time routine, - ** or it might need to be rerun on each iteration because it - ** encodes a correlated subquery. */ - testcase( sqlite3VdbeGetOp(v, pItem->addrFillSub)->opcode==OP_Once ); - sqlite3VdbeAddOp2(v, OP_Gosub, pItem->regReturn, pItem->addrFillSub); - } - continue; - } + /* The code for a subquery should only be generated once, though it is + ** technically harmless for it to be generated multiple times. The + ** following assert() will detect if something changes to cause + ** the same subquery to be coded multiple times, as a signal to the + ** developers to try to optimize the situation. + ** + ** Update 2019-07-24: + ** See ticket https://sqlite.org/src/tktview/c52b09c7f38903b1311cec40. + ** The dbsqlfuzz fuzzer found a case where the same subquery gets + ** coded twice. So this assert() now becomes a testcase(). It should + ** be very rare, though. + */ + testcase( pItem->addrFillSub!=0 ); /* Increment Parse.nHeight by the height of the largest expression ** tree referred to by this, the parent select. The child select @@ -129824,7 +131611,7 @@ SQLITE_PRIVATE int sqlite3Select( int retAddr; struct SrcList_item *pPrior; - assert( pItem->addrFillSub==0 ); + testcase( pItem->addrFillSub==0 ); /* Ticket c52b09c7f38903b1311 */ pItem->regReturn = ++pParse->nMem; topAddr = sqlite3VdbeAddOp2(v, OP_Integer, 0, pItem->regReturn); pItem->addrFillSub = topAddr+1; @@ -129938,7 +131725,7 @@ SQLITE_PRIVATE int sqlite3Select( /* Set the limiter. */ - iEnd = sqlite3VdbeMakeLabel(v); + iEnd = sqlite3VdbeMakeLabel(pParse); if( (p->selFlags & SF_FixedLimit)==0 ){ p->nSelectRow = 320; /* 4 billion rows */ } @@ -130005,9 +131792,9 @@ SQLITE_PRIVATE int sqlite3Select( assert( p->pEList==pEList ); #ifndef SQLITE_OMIT_WINDOWFUNC if( pWin ){ - int addrGosub = sqlite3VdbeMakeLabel(v); - int iCont = sqlite3VdbeMakeLabel(v); - int iBreak = sqlite3VdbeMakeLabel(v); + int addrGosub = sqlite3VdbeMakeLabel(pParse); + int iCont = sqlite3VdbeMakeLabel(pParse); + int iBreak = sqlite3VdbeMakeLabel(pParse); int regGosub = ++pParse->nMem; sqlite3WindowCodeStep(pParse, p, pWInfo, regGosub, addrGosub); @@ -130064,25 +131851,37 @@ SQLITE_PRIVATE int sqlite3Select( } assert( 66==sqlite3LogEst(100) ); if( p->nSelectRow>66 ) p->nSelectRow = 66; + + /* If there is both a GROUP BY and an ORDER BY clause and they are + ** identical, then it may be possible to disable the ORDER BY clause + ** on the grounds that the GROUP BY will cause elements to come out + ** in the correct order. It also may not - the GROUP BY might use a + ** database index that causes rows to be grouped together as required + ** but not actually sorted. Either way, record the fact that the + ** ORDER BY and GROUP BY clauses are the same by setting the orderByGrp + ** variable. */ + if( sSort.pOrderBy && pGroupBy->nExpr==sSort.pOrderBy->nExpr ){ + int ii; + /* The GROUP BY processing doesn't care whether rows are delivered in + ** ASC or DESC order - only that each group is returned contiguously. + ** So set the ASC/DESC flags in the GROUP BY to match those in the + ** ORDER BY to maximize the chances of rows being delivered in an + ** order that makes the ORDER BY redundant. */ + for(ii=0; iinExpr; ii++){ + u8 sortFlags = sSort.pOrderBy->a[ii].sortFlags & KEYINFO_ORDER_DESC; + pGroupBy->a[ii].sortFlags = sortFlags; + } + if( sqlite3ExprListCompare(pGroupBy, sSort.pOrderBy, -1)==0 ){ + orderByGrp = 1; + } + } }else{ assert( 0==sqlite3LogEst(1) ); p->nSelectRow = 0; } - /* If there is both a GROUP BY and an ORDER BY clause and they are - ** identical, then it may be possible to disable the ORDER BY clause - ** on the grounds that the GROUP BY will cause elements to come out - ** in the correct order. It also may not - the GROUP BY might use a - ** database index that causes rows to be grouped together as required - ** but not actually sorted. Either way, record the fact that the - ** ORDER BY and GROUP BY clauses are the same by setting the orderByGrp - ** variable. */ - if( sqlite3ExprListCompare(pGroupBy, sSort.pOrderBy, -1)==0 ){ - orderByGrp = 1; - } - /* Create a label to jump to when we want to abort the query */ - addrEnd = sqlite3VdbeMakeLabel(v); + addrEnd = sqlite3VdbeMakeLabel(pParse); /* Convert TK_COLUMN nodes into TK_AGG_COLUMN and make entries in ** sAggInfo for all TK_AGG_FUNCTION nodes in expressions of the @@ -130115,9 +131914,16 @@ SQLITE_PRIVATE int sqlite3Select( minMaxFlag = WHERE_ORDERBY_NORMAL; } for(i=0; ix.pList); + sqlite3ExprAnalyzeAggList(&sNC, pExpr->x.pList); +#ifndef SQLITE_OMIT_WINDOWFUNC + assert( !IsWindowFunc(pExpr) ); + if( ExprHasProperty(pExpr, EP_WinFunc) ){ + sqlite3ExprAnalyzeAggregates(&sNC, pExpr->y.pWin->pFilter); + } +#endif sNC.ncFlags &= ~NC_InAggFunc; } sAggInfo.mxReg = pParse->nMem; @@ -130171,9 +131977,9 @@ SQLITE_PRIVATE int sqlite3Select( iUseFlag = ++pParse->nMem; iAbortFlag = ++pParse->nMem; regOutputRow = ++pParse->nMem; - addrOutputRow = sqlite3VdbeMakeLabel(v); + addrOutputRow = sqlite3VdbeMakeLabel(pParse); regReset = ++pParse->nMem; - addrReset = sqlite3VdbeMakeLabel(v); + addrReset = sqlite3VdbeMakeLabel(pParse); iAMem = pParse->nMem + 1; pParse->nMem += pGroupBy->nExpr; iBMem = pParse->nMem + 1; @@ -130429,13 +132235,18 @@ SQLITE_PRIVATE int sqlite3Select( { int regAcc = 0; /* "populate accumulators" flag */ - /* If there are accumulator registers but no min() or max() functions, - ** allocate register regAcc. Register regAcc will contain 0 the first - ** time the inner loop runs, and 1 thereafter. The code generated - ** by updateAccumulator() only updates the accumulator registers if - ** regAcc contains 0. */ + /* If there are accumulator registers but no min() or max() functions + ** without FILTER clauses, allocate register regAcc. Register regAcc + ** will contain 0 the first time the inner loop runs, and 1 thereafter. + ** The code generated by updateAccumulator() uses this to ensure + ** that the accumulator registers are (a) updated only once if + ** there are no min() or max functions or (b) always updated for the + ** first row visited by the aggregate, so that they are updated at + ** least once even if the FILTER clause means the min() or max() + ** function visits zero rows. */ if( sAggInfo.nAccumulator ){ for(i=0; ifuncFlags&SQLITE_FUNC_NEEDCOLL ) break; } if( i==sAggInfo.nFunc ){ @@ -130906,7 +132717,11 @@ SQLITE_PRIVATE void sqlite3BeginTrigger( /* Check that the trigger name is not reserved and that no trigger of the ** specified name exists */ zName = sqlite3NameFromToken(db, pName); - if( !zName || SQLITE_OK!=sqlite3CheckObjectName(pParse, zName) ){ + if( zName==0 ){ + assert( db->mallocFailed ); + goto trigger_cleanup; + } + if( sqlite3CheckObjectName(pParse, zName, "trigger", pTab->zName) ){ goto trigger_cleanup; } assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); @@ -131069,6 +132884,7 @@ SQLITE_PRIVATE void sqlite3FinishTrigger( Trigger *pLink = pTrig; Hash *pHash = &db->aDb[iDb].pSchema->trigHash; assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); + assert( pLink!=0 ); pTrig = sqlite3HashInsert(pHash, zName, pTrig); if( pTrig ){ sqlite3OomFault(db); @@ -131187,6 +133003,9 @@ SQLITE_PRIVATE TriggerStep *sqlite3TriggerInsertStep( pTriggerStep->pIdList = pColumn; pTriggerStep->pUpsert = pUpsert; pTriggerStep->orconf = orconf; + if( pUpsert ){ + sqlite3HasExplicitNulls(pParse, pUpsert->pUpsertTarget); + } }else{ testcase( pColumn ); sqlite3IdListDelete(db, pColumn); @@ -131342,10 +133161,9 @@ SQLITE_PRIVATE void sqlite3DropTriggerPtr(Parse *pParse, Trigger *pTrigger){ iDb = sqlite3SchemaToIndex(pParse->db, pTrigger->pSchema); assert( iDb>=0 && iDbnDb ); pTable = tableOfTrigger(pTrigger); - assert( pTable ); - assert( pTable->pSchema==pTrigger->pSchema || iDb==1 ); + assert( (pTable && pTable->pSchema==pTrigger->pSchema) || iDb==1 ); #ifndef SQLITE_OMIT_AUTHORIZATION - { + if( pTable ){ int code = SQLITE_DROP_TRIGGER; const char *zDb = db->aDb[iDb].zDbSName; const char *zTab = SCHEMA_TABLE(iDb); @@ -131359,7 +133177,6 @@ SQLITE_PRIVATE void sqlite3DropTriggerPtr(Parse *pParse, Trigger *pTrigger){ /* Generate code to destroy the database record of the trigger. */ - assert( pTable!=0 ); if( (v = sqlite3GetVdbe(pParse))!=0 ){ sqlite3NestedParse(pParse, "DELETE FROM %Q.%s WHERE name=%Q AND type='trigger'", @@ -131383,9 +133200,11 @@ SQLITE_PRIVATE void sqlite3UnlinkAndDeleteTrigger(sqlite3 *db, int iDb, const ch if( ALWAYS(pTrigger) ){ if( pTrigger->pSchema==pTrigger->pTabSchema ){ Table *pTab = tableOfTrigger(pTrigger); - Trigger **pp; - for(pp=&pTab->pTrigger; *pp!=pTrigger; pp=&((*pp)->pNext)); - *pp = (*pp)->pNext; + if( pTab ){ + Trigger **pp; + for(pp=&pTab->pTrigger; *pp!=pTrigger; pp=&((*pp)->pNext)); + *pp = (*pp)->pNext; + } } sqlite3DeleteTrigger(db, pTrigger); db->mDbFlags |= DBFLAG_SchemaChange; @@ -131460,7 +133279,7 @@ static SrcList *targetSrcList( int iDb; /* Index of the database to use */ SrcList *pSrc; /* SrcList to be returned */ - pSrc = sqlite3SrcListAppend(db, 0, 0, 0); + pSrc = sqlite3SrcListAppend(pParse, 0, 0, 0); if( pSrc ){ assert( pSrc->nSrc>0 ); pSrc->a[pSrc->nSrc-1].zName = sqlite3DbStrDup(db, pStep->zTarget); @@ -131645,6 +133464,7 @@ static TriggerPrg *codeRowTrigger( pSubParse->zAuthContext = pTrigger->zName; pSubParse->eTriggerOp = pTrigger->op; pSubParse->nQueryLoop = pParse->nQueryLoop; + pSubParse->disableVtab = pParse->disableVtab; v = sqlite3GetVdbe(pSubParse); if( v ){ @@ -131672,7 +133492,7 @@ static TriggerPrg *codeRowTrigger( if( SQLITE_OK==sqlite3ResolveExprNames(&sNC, pWhen) && db->mallocFailed==0 ){ - iEndTrigger = sqlite3VdbeMakeLabel(v); + iEndTrigger = sqlite3VdbeMakeLabel(pSubParse); sqlite3ExprIfFalse(pSubParse, pWhen, iEndTrigger, SQLITE_JUMPIFNULL); } sqlite3ExprDelete(db, pWhen); @@ -132072,11 +133892,12 @@ SQLITE_PRIVATE void sqlite3Update( Index *pIdx; /* For looping over indices */ Index *pPk; /* The PRIMARY KEY index for WITHOUT ROWID tables */ int nIdx; /* Number of indices that need updating */ + int nAllIdx; /* Total number of indexes */ int iBaseCur; /* Base cursor number */ int iDataCur; /* Cursor for the canonical data btree */ int iIdxCur; /* Cursor for the first index */ sqlite3 *db; /* The database structure */ - int *aRegIdx = 0; /* First register in array assigned to each index */ + int *aRegIdx = 0; /* Registers for to each index and the main table */ int *aXRef = 0; /* aXRef[i] is the index in pChanges->a[] of the ** an expression for the i-th column of the table. ** aXRef[i]==-1 if the i-th column is not changed. */ @@ -132190,10 +134011,10 @@ SQLITE_PRIVATE void sqlite3Update( /* Allocate space for aXRef[], aRegIdx[], and aToOpen[]. ** Initialize aXRef[] and aToOpen[] to their default values. */ - aXRef = sqlite3DbMallocRawNN(db, sizeof(int) * (pTab->nCol+nIdx) + nIdx+2 ); + aXRef = sqlite3DbMallocRawNN(db, sizeof(int) * (pTab->nCol+nIdx+1) + nIdx+2 ); if( aXRef==0 ) goto update_cleanup; aRegIdx = aXRef+pTab->nCol; - aToOpen = (u8*)(aRegIdx+nIdx); + aToOpen = (u8*)(aRegIdx+nIdx+1); memset(aToOpen, 1, nIdx+1); aToOpen[nIdx+1] = 0; for(i=0; inCol; i++) aXRef[i] = -1; @@ -132271,7 +134092,8 @@ SQLITE_PRIVATE void sqlite3Update( ** being updated. Fill in aRegIdx[] with a register number that will hold ** the key for accessing each index. */ - for(j=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, j++){ + if( onError==OE_Replace ) bReplace = 1; + for(nAllIdx=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, nAllIdx++){ int reg; if( chngKey || hasFK>1 || pIdx==pPk || indexWhereClauseMightChange(pIdx,aXRef,chngRowid) @@ -132284,18 +134106,17 @@ SQLITE_PRIVATE void sqlite3Update( if( indexColumnIsBeingUpdated(pIdx, i, aXRef, chngRowid) ){ reg = ++pParse->nMem; pParse->nMem += pIdx->nColumn; - if( (onError==OE_Replace) - || (onError==OE_Default && pIdx->onError==OE_Replace) - ){ + if( onError==OE_Default && pIdx->onError==OE_Replace ){ bReplace = 1; } break; } } } - if( reg==0 ) aToOpen[j+1] = 0; - aRegIdx[j] = reg; + if( reg==0 ) aToOpen[nAllIdx+1] = 0; + aRegIdx[nAllIdx] = reg; } + aRegIdx[nAllIdx] = ++pParse->nMem; /* Register storing the table record */ if( bReplace ){ /* If REPLACE conflict resolution might be invoked, open cursors on all ** indexes in case they are needed to delete records. */ @@ -132310,7 +134131,13 @@ SQLITE_PRIVATE void sqlite3Update( /* Allocate required registers. */ if( !IsVirtual(pTab) ){ - regRowSet = ++pParse->nMem; + /* For now, regRowSet and aRegIdx[nAllIdx] share the same register. + ** If regRowSet turns out to be needed, then aRegIdx[nAllIdx] will be + ** reallocated. aRegIdx[nAllIdx] is the register in which the main + ** table record is written. regRowSet holds the RowSet for the + ** two-pass update algorithm. */ + assert( aRegIdx[nAllIdx]==pParse->nMem ); + regRowSet = aRegIdx[nAllIdx]; regOldRowid = regNewRowid = ++pParse->nMem; if( chngPk || pTrigger || hasFK ){ regOld = pParse->nMem + 1; @@ -132358,7 +134185,7 @@ SQLITE_PRIVATE void sqlite3Update( #endif /* Jump to labelBreak to abandon further processing of this UPDATE */ - labelContinue = labelBreak = sqlite3VdbeMakeLabel(v); + labelContinue = labelBreak = sqlite3VdbeMakeLabel(pParse); /* Not an UPSERT. Normal processing. Begin by ** initialize the count of updated rows */ @@ -132440,6 +134267,8 @@ SQLITE_PRIVATE void sqlite3Update( ** leave it in register regOldRowid. */ sqlite3VdbeAddOp2(v, OP_Rowid, iDataCur, regOldRowid); if( eOnePass==ONEPASS_OFF ){ + /* We need to use regRowSet, so reallocate aRegIdx[nAllIdx] */ + aRegIdx[nAllIdx] = ++pParse->nMem; sqlite3VdbeAddOp2(v, OP_RowSetAdd, regRowSet, regOldRowid); } }else{ @@ -132493,13 +134322,13 @@ SQLITE_PRIVATE void sqlite3Update( VdbeCoverage(v); } if( eOnePass!=ONEPASS_SINGLE ){ - labelContinue = sqlite3VdbeMakeLabel(v); + labelContinue = sqlite3VdbeMakeLabel(pParse); } sqlite3VdbeAddOp2(v, OP_IsNull, pPk ? regKey : regOldRowid, labelBreak); VdbeCoverageIf(v, pPk==0); VdbeCoverageIf(v, pPk!=0); }else if( pPk ){ - labelContinue = sqlite3VdbeMakeLabel(v); + labelContinue = sqlite3VdbeMakeLabel(pParse); sqlite3VdbeAddOp2(v, OP_Rewind, iEph, labelBreak); VdbeCoverage(v); addrTop = sqlite3VdbeAddOp2(v, OP_RowData, iEph, regKey); sqlite3VdbeAddOp4Int(v, OP_NotFound, iDataCur, labelContinue, regKey, 0); @@ -132623,28 +134452,30 @@ SQLITE_PRIVATE void sqlite3Update( } if( !isView ){ - int addr1 = 0; /* Address of jump instruction */ - /* Do constraint checks. */ assert( regOldRowid>0 ); sqlite3GenerateConstraintChecks(pParse, pTab, aRegIdx, iDataCur, iIdxCur, regNewRowid, regOldRowid, chngKey, onError, labelContinue, &bReplace, aXRef, 0); - /* Do FK constraint checks. */ - if( hasFK ){ - sqlite3FkCheck(pParse, pTab, regOldRowid, 0, aXRef, chngKey); - } - - /* Delete the index entries associated with the current record. */ + /* If REPLACE conflict handling may have been used, or if the PK of the + ** row is changing, then the GenerateConstraintChecks() above may have + ** moved cursor iDataCur. Reseek it. */ if( bReplace || chngKey ){ if( pPk ){ - addr1 = sqlite3VdbeAddOp4Int(v, OP_NotFound, iDataCur, 0, regKey, nKey); + sqlite3VdbeAddOp4Int(v, OP_NotFound,iDataCur,labelContinue,regKey,nKey); }else{ - addr1 = sqlite3VdbeAddOp3(v, OP_NotExists, iDataCur, 0, regOldRowid); + sqlite3VdbeAddOp3(v, OP_NotExists, iDataCur, labelContinue,regOldRowid); } VdbeCoverageNeverTaken(v); } + + /* Do FK constraint checks. */ + if( hasFK ){ + sqlite3FkCheck(pParse, pTab, regOldRowid, 0, aXRef, chngKey); + } + + /* Delete the index entries associated with the current record. */ sqlite3GenerateRowIndexDelete(pParse, pTab, iDataCur, iIdxCur, aRegIdx, -1); /* If changing the rowid value, or if there are foreign key constraints @@ -132674,9 +134505,6 @@ SQLITE_PRIVATE void sqlite3Update( sqlite3VdbeAddOp2(v, OP_Delete, iDataCur, 0); } #endif - if( bReplace || chngKey ){ - sqlite3VdbeJumpHere(v, addr1); - } if( hasFK ){ sqlite3FkCheck(pParse, pTab, 0, regNewRowid, aXRef, chngKey); @@ -133115,6 +134943,7 @@ SQLITE_PRIVATE void sqlite3UpsertDoUpdate( sqlite3 *db = pParse->db; SrcList *pSrc; /* FROM clause for the UPDATE */ int iDataCur; + int i; assert( v!=0 ); assert( pUpsert!=0 ); @@ -133131,7 +134960,6 @@ SQLITE_PRIVATE void sqlite3UpsertDoUpdate( Index *pPk = sqlite3PrimaryKeyIndex(pTab); int nPk = pPk->nKeyCol; int iPk = pParse->nMem+1; - int i; pParse->nMem += nPk; for(i=0; ipUpsertSrc, 0); + /* excluded.* columns of type REAL need to be converted to a hard real */ + for(i=0; inCol; i++){ + if( pTab->aCol[i].affinity==SQLITE_AFF_REAL ){ + sqlite3VdbeAddOp1(v, OP_RealAffinity, pUpsert->regData+i); + } + } sqlite3Update(pParse, pSrc, pUpsert->pUpsertSet, pUpsert->pUpsertWhere, OE_Abort, 0, 0, pUpsert); pUpsert->pUpsertSet = 0; /* Will have been deleted by sqlite3Update() */ @@ -133267,16 +135101,17 @@ static int execSqlF(sqlite3 *db, char **pzErrMsg, const char *zSql, ...){ ** transient would cause the database file to appear to be deleted ** following reboot. */ -SQLITE_PRIVATE void sqlite3Vacuum(Parse *pParse, Token *pNm){ +SQLITE_PRIVATE void sqlite3Vacuum(Parse *pParse, Token *pNm, Expr *pInto){ Vdbe *v = sqlite3GetVdbe(pParse); int iDb = 0; - if( v==0 ) return; + if( v==0 ) goto build_vacuum_end; + if( pParse->nErr ) goto build_vacuum_end; if( pNm ){ #ifndef SQLITE_BUG_COMPATIBLE_20160819 /* Default behavior: Report an error if the argument to VACUUM is ** not recognized */ iDb = sqlite3TwoPartName(pParse, pNm, pNm, &pNm); - if( iDb<0 ) return; + if( iDb<0 ) goto build_vacuum_end; #else /* When SQLITE_BUG_COMPATIBLE_20160819 is defined, unrecognized arguments ** to VACUUM are silently ignored. This is a back-out of a bug fix that @@ -133288,37 +135123,63 @@ SQLITE_PRIVATE void sqlite3Vacuum(Parse *pParse, Token *pNm){ #endif } if( iDb!=1 ){ - sqlite3VdbeAddOp1(v, OP_Vacuum, iDb); + int iIntoReg = 0; + if( pInto && sqlite3ResolveSelfReference(pParse,0,0,pInto,0)==0 ){ + iIntoReg = ++pParse->nMem; + sqlite3ExprCode(pParse, pInto, iIntoReg); + } + sqlite3VdbeAddOp2(v, OP_Vacuum, iDb, iIntoReg); sqlite3VdbeUsesBtree(v, iDb); } +build_vacuum_end: + sqlite3ExprDelete(pParse->db, pInto); return; } /* ** This routine implements the OP_Vacuum opcode of the VDBE. */ -SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db, int iDb){ +SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3RunVacuum( + char **pzErrMsg, /* Write error message here */ + sqlite3 *db, /* Database connection */ + int iDb, /* Which attached DB to vacuum */ + sqlite3_value *pOut /* Write results here, if not NULL. VACUUM INTO */ +){ int rc = SQLITE_OK; /* Return code from service routines */ Btree *pMain; /* The database being vacuumed */ Btree *pTemp; /* The temporary database we vacuum into */ - u16 saved_mDbFlags; /* Saved value of db->mDbFlags */ - u32 saved_flags; /* Saved value of db->flags */ + u32 saved_mDbFlags; /* Saved value of db->mDbFlags */ + u64 saved_flags; /* Saved value of db->flags */ int saved_nChange; /* Saved value of db->nChange */ int saved_nTotalChange; /* Saved value of db->nTotalChange */ + u32 saved_openFlags; /* Saved value of db->openFlags */ u8 saved_mTrace; /* Saved trace settings */ Db *pDb = 0; /* Database to detach at end of vacuum */ int isMemDb; /* True if vacuuming a :memory: database */ int nRes; /* Bytes of reserved space at the end of each page */ int nDb; /* Number of attached databases */ const char *zDbMain; /* Schema name of database to vacuum */ + const char *zOut; /* Name of output file */ if( !db->autoCommit ){ sqlite3SetString(pzErrMsg, db, "cannot VACUUM from within a transaction"); - return SQLITE_ERROR; + return SQLITE_ERROR; /* IMP: R-12218-18073 */ } if( db->nVdbeActive>1 ){ sqlite3SetString(pzErrMsg, db,"cannot VACUUM - SQL statements in progress"); - return SQLITE_ERROR; + return SQLITE_ERROR; /* IMP: R-15610-35227 */ + } + saved_openFlags = db->openFlags; + if( pOut ){ + if( sqlite3_value_type(pOut)!=SQLITE_TEXT ){ + sqlite3SetString(pzErrMsg, db, "non-text filename"); + return SQLITE_ERROR; + } + zOut = (const char*)sqlite3_value_text(pOut); + db->openFlags &= ~SQLITE_OPEN_READONLY; + db->openFlags |= SQLITE_OPEN_CREATE|SQLITE_OPEN_READWRITE; + }else{ + zOut = ""; } /* Save the current value of the database flags so that it can be @@ -133331,7 +135192,7 @@ SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db, int iDb){ saved_mTrace = db->mTrace; db->flags |= SQLITE_WriteSchema | SQLITE_IgnoreChecks; db->mDbFlags |= DBFLAG_PreferBuiltin | DBFLAG_Vacuum; - db->flags &= ~(SQLITE_ForeignKeys | SQLITE_ReverseOrder + db->flags &= ~(u64)(SQLITE_ForeignKeys | SQLITE_ReverseOrder | SQLITE_Defensive | SQLITE_CountRows); db->mTrace = 0; @@ -133354,19 +135215,23 @@ SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db, int iDb){ ** to write the journal header file. */ nDb = db->nDb; - rc = execSql(db, pzErrMsg, "ATTACH''AS vacuum_db"); + rc = execSqlF(db, pzErrMsg, "ATTACH %Q AS vacuum_db", zOut); + db->openFlags = saved_openFlags; if( rc!=SQLITE_OK ) goto end_of_vacuum; assert( (db->nDb-1)==nDb ); pDb = &db->aDb[nDb]; assert( strcmp(pDb->zDbSName,"vacuum_db")==0 ); pTemp = pDb->pBt; - - /* The call to execSql() to attach the temp database has left the file - ** locked (as there was more than one active statement when the transaction - ** to read the schema was concluded. Unlock it here so that this doesn't - ** cause problems for the call to BtreeSetPageSize() below. */ - sqlite3BtreeCommit(pTemp); - + if( pOut ){ + sqlite3_file *id = sqlite3PagerFile(sqlite3BtreePager(pTemp)); + i64 sz = 0; + if( id->pMethods!=0 && (sqlite3OsFileSize(id, &sz)!=SQLITE_OK || sz>0) ){ + rc = SQLITE_ERROR; + sqlite3SetString(pzErrMsg, db, "output file already exists"); + goto end_of_vacuum; + } + db->mDbFlags |= DBFLAG_VacuumInto; + } nRes = sqlite3BtreeGetOptimalReserve(pMain); /* A VACUUM cannot change the pagesize of an encrypted database. */ @@ -133390,7 +135255,7 @@ SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db, int iDb){ */ rc = execSql(db, pzErrMsg, "BEGIN"); if( rc!=SQLITE_OK ) goto end_of_vacuum; - rc = sqlite3BtreeBeginTrans(pMain, 2, 0); + rc = sqlite3BtreeBeginTrans(pMain, pOut==0 ? 2 : 0, 0); if( rc!=SQLITE_OK ) goto end_of_vacuum; /* Do not attempt to change the page size for a WAL database */ @@ -133485,7 +135350,7 @@ SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db, int iDb){ }; assert( 1==sqlite3BtreeIsInTrans(pTemp) ); - assert( 1==sqlite3BtreeIsInTrans(pMain) ); + assert( pOut!=0 || 1==sqlite3BtreeIsInTrans(pMain) ); /* Copy Btree meta values */ for(i=0; iflags */ @@ -133578,6 +135449,9 @@ struct VtabCtx { ** Construct and install a Module object for a virtual table. When this ** routine is called, it is guaranteed that all appropriate locks are held ** and the module is not already part of the connection. +** +** If there already exists a module with zName, replace it with the new one. +** If pModule==0, then delete the module zName if it exists. */ SQLITE_PRIVATE Module *sqlite3VtabCreateModule( sqlite3 *db, /* Database in which module is registered */ @@ -133587,25 +135461,36 @@ SQLITE_PRIVATE Module *sqlite3VtabCreateModule( void (*xDestroy)(void *) /* Module destructor function */ ){ Module *pMod; - int nName = sqlite3Strlen30(zName); - pMod = (Module *)sqlite3Malloc(sizeof(Module) + nName + 1); - if( pMod==0 ){ - sqlite3OomFault(db); + Module *pDel; + char *zCopy; + if( pModule==0 ){ + zCopy = (char*)zName; + pMod = 0; }else{ - Module *pDel; - char *zCopy = (char *)(&pMod[1]); + int nName = sqlite3Strlen30(zName); + pMod = (Module *)sqlite3Malloc(sizeof(Module) + nName + 1); + if( pMod==0 ){ + sqlite3OomFault(db); + return 0; + } + zCopy = (char *)(&pMod[1]); memcpy(zCopy, zName, nName+1); pMod->zName = zCopy; pMod->pModule = pModule; pMod->pAux = pAux; pMod->xDestroy = xDestroy; pMod->pEpoTab = 0; - pDel = (Module *)sqlite3HashInsert(&db->aModule,zCopy,(void*)pMod); - assert( pDel==0 || pDel==pMod ); - if( pDel ){ + pMod->nRefModule = 1; + } + pDel = (Module *)sqlite3HashInsert(&db->aModule,zCopy,(void*)pMod); + if( pDel ){ + if( pDel==pMod ){ sqlite3OomFault(db); sqlite3DbFree(db, pDel); pMod = 0; + }else{ + sqlite3VtabEponymousTableClear(db, pDel); + sqlite3VtabModuleUnref(db, pDel); } } return pMod; @@ -133626,11 +135511,7 @@ static int createModule( int rc = SQLITE_OK; sqlite3_mutex_enter(db->mutex); - if( sqlite3HashFind(&db->aModule, zName) ){ - rc = SQLITE_MISUSE_BKPT; - }else{ - (void)sqlite3VtabCreateModule(db, zName, pModule, pAux, xDestroy); - } + (void)sqlite3VtabCreateModule(db, zName, pModule, pAux, xDestroy); rc = sqlite3ApiExit(db, rc); if( rc!=SQLITE_OK && xDestroy ) xDestroy(pAux); sqlite3_mutex_leave(db->mutex); @@ -133669,6 +135550,44 @@ SQLITE_API int sqlite3_create_module_v2( return createModule(db, zName, pModule, pAux, xDestroy); } +/* +** External API to drop all virtual-table modules, except those named +** on the azNames list. +*/ +SQLITE_API int sqlite3_drop_modules(sqlite3 *db, const char** azNames){ + HashElem *pThis, *pNext; +#ifdef SQLITE_ENABLE_API_ARMOR + if( !sqlite3SafetyCheckOk(db) ) return SQLITE_MISUSE_BKPT; +#endif + for(pThis=sqliteHashFirst(&db->aModule); pThis; pThis=pNext){ + Module *pMod = (Module*)sqliteHashData(pThis); + pNext = sqliteHashNext(pThis); + if( azNames ){ + int ii; + for(ii=0; azNames[ii]!=0 && strcmp(azNames[ii],pMod->zName)!=0; ii++){} + if( azNames[ii]!=0 ) continue; + } + createModule(db, pMod->zName, 0, 0, 0); + } + return SQLITE_OK; +} + +/* +** Decrement the reference count on a Module object. Destroy the +** module when the reference count reaches zero. +*/ +SQLITE_PRIVATE void sqlite3VtabModuleUnref(sqlite3 *db, Module *pMod){ + assert( pMod->nRefModule>0 ); + pMod->nRefModule--; + if( pMod->nRefModule==0 ){ + if( pMod->xDestroy ){ + pMod->xDestroy(pMod->pAux); + } + assert( pMod->pEpoTab==0 ); + sqlite3DbFree(db, pMod); + } +} + /* ** Lock the virtual table so that it cannot be disconnected. ** Locks nest. Every lock should have a corresponding unlock. @@ -133708,6 +135627,7 @@ SQLITE_PRIVATE void sqlite3VtabUnlock(VTable *pVTab){ pVTab->nRef--; if( pVTab->nRef==0 ){ sqlite3_vtab *p = pVTab->pVtab; + sqlite3VtabModuleUnref(pVTab->db, pVTab->pMod); if( p ){ p->pModule->xDisconnect(p); } @@ -133848,9 +135768,13 @@ SQLITE_PRIVATE void sqlite3VtabClear(sqlite3 *db, Table *p){ ** string will be freed automatically when the table is ** deleted. */ -static void addModuleArgument(sqlite3 *db, Table *pTable, char *zArg){ - int nBytes = sizeof(char *)*(2+pTable->nModuleArg); +static void addModuleArgument(Parse *pParse, Table *pTable, char *zArg){ + sqlite3_int64 nBytes = sizeof(char *)*(2+pTable->nModuleArg); char **azModuleArg; + sqlite3 *db = pParse->db; + if( pTable->nModuleArg+3>=db->aLimit[SQLITE_LIMIT_COLUMN] ){ + sqlite3ErrorMsg(pParse, "too many columns on %s", pTable->zName); + } azModuleArg = sqlite3DbRealloc(db, pTable->azModuleArg, nBytes); if( azModuleArg==0 ){ sqlite3DbFree(db, zArg); @@ -133885,9 +135809,9 @@ SQLITE_PRIVATE void sqlite3VtabBeginParse( db = pParse->db; assert( pTable->nModuleArg==0 ); - addModuleArgument(db, pTable, sqlite3NameFromToken(db, pModuleName)); - addModuleArgument(db, pTable, 0); - addModuleArgument(db, pTable, sqlite3DbStrDup(db, pTable->zName)); + addModuleArgument(pParse, pTable, sqlite3NameFromToken(db, pModuleName)); + addModuleArgument(pParse, pTable, 0); + addModuleArgument(pParse, pTable, sqlite3DbStrDup(db, pTable->zName)); assert( (pParse->sNameToken.z==pName2->z && pName2->z!=0) || (pParse->sNameToken.z==pName1->z && pName2->z==0) ); @@ -133920,7 +135844,7 @@ static void addArgumentToVtab(Parse *pParse){ const char *z = (const char*)pParse->sArg.z; int n = pParse->sArg.n; sqlite3 *db = pParse->db; - addModuleArgument(db, pParse->pNewTable, sqlite3DbStrNDup(db, z, n)); + addModuleArgument(pParse, pParse->pNewTable, sqlite3DbStrNDup(db, z, n)); } } @@ -134108,6 +136032,7 @@ static int vtabCallConstructor( ** the sqlite3_vtab object if successful. */ memset(pVTable->pVtab, 0, sizeof(pVTable->pVtab[0])); pVTable->pVtab->pModule = pMod->pModule; + pMod->nRefModule++; pVTable->nRef = 1; if( sCtx.bDeclared==0 ){ const char *zFormat = "vtable constructor did not declare schema: %s"; @@ -134209,7 +136134,8 @@ static int growVTrans(sqlite3 *db){ /* Grow the sqlite3.aVTrans array if required */ if( (db->nVTrans%ARRAY_INCR)==0 ){ VTable **aVTrans; - int nBytes = sizeof(sqlite3_vtab *) * (db->nVTrans + ARRAY_INCR); + sqlite3_int64 nBytes = sizeof(sqlite3_vtab*)* + ((sqlite3_int64)db->nVTrans + ARRAY_INCR); aVTrans = sqlite3DbRealloc(db, (void *)db->aVTrans, nBytes); if( !aVTrans ){ return SQLITE_NOMEM_BKPT; @@ -134382,6 +136308,7 @@ SQLITE_PRIVATE int sqlite3VtabCallDestroy(sqlite3 *db, int iDb, const char *zTab p = vtabDisconnectAll(db, pTab); xDestroy = p->pMod->pModule->xDestroy; assert( xDestroy!=0 ); /* Checked before the virtual table is created */ + pTab->nTabRef++; rc = xDestroy(p->pVtab); /* Remove the sqlite3_vtab* from the aVTrans[] array, if applicable */ if( rc==SQLITE_OK ){ @@ -134390,6 +136317,7 @@ SQLITE_PRIVATE int sqlite3VtabCallDestroy(sqlite3 *db, int iDb, const char *zTab pTab->pVTable = 0; sqlite3VtabUnlock(p); } + sqlite3DeleteTable(db, pTab); } return rc; @@ -134547,6 +136475,7 @@ SQLITE_PRIVATE int sqlite3VtabSavepoint(sqlite3 *db, int op, int iSavepoint){ const sqlite3_module *pMod = pVTab->pMod->pModule; if( pVTab->pVtab && pMod->iVersion>=2 ){ int (*xMethod)(sqlite3_vtab *, int); + sqlite3VtabLock(pVTab); switch( op ){ case SAVEPOINT_BEGIN: xMethod = pMod->xSavepoint; @@ -134562,6 +136491,7 @@ SQLITE_PRIVATE int sqlite3VtabSavepoint(sqlite3 *db, int op, int iSavepoint){ if( xMethod && pVTab->iSavepoint>iSavepoint ){ rc = xMethod(pVTab->pVtab, iSavepoint); } + sqlite3VtabUnlock(pVTab); } } } @@ -134703,9 +136633,9 @@ SQLITE_PRIVATE int sqlite3VtabEponymousTableInit(Parse *pParse, Module *pMod){ pTab->pSchema = db->aDb[0].pSchema; assert( pTab->nModuleArg==0 ); pTab->iPKey = -1; - addModuleArgument(db, pTab, sqlite3DbStrDup(db, pTab->zName)); - addModuleArgument(db, pTab, 0); - addModuleArgument(db, pTab, sqlite3DbStrDup(db, pTab->zName)); + addModuleArgument(pParse, pTab, sqlite3DbStrDup(db, pTab->zName)); + addModuleArgument(pParse, pTab, 0); + addModuleArgument(pParse, pTab, sqlite3DbStrDup(db, pTab->zName)); rc = vtabCallConstructor(db, pTab, pMod, pModule->xConnect, &zErr); if( rc ){ sqlite3ErrorMsg(pParse, "%s", zErr); @@ -134830,6 +136760,8 @@ SQLITE_API int sqlite3_vtab_config(sqlite3 *db, int op, ...){ ** planner logic in "where.c". These definitions are broken out into ** a separate source file for easier editing. */ +#ifndef SQLITE_WHEREINT_H +#define SQLITE_WHEREINT_H /* ** Trace output macros @@ -134885,13 +136817,15 @@ struct WhereLevel { int addrCont; /* Jump here to continue with the next loop cycle */ int addrFirst; /* First instruction of interior of the loop */ int addrBody; /* Beginning of the body of this loop */ + int regBignull; /* big-null flag reg. True if a NULL-scan is needed */ + int addrBignull; /* Jump here for next part of big-null scan */ #ifndef SQLITE_LIKE_DOESNT_MATCH_BLOBS u32 iLikeRepCntr; /* LIKE range processing counter register (times 2) */ int addrLikeRep; /* LIKE range processing address */ #endif u8 iFrom; /* Which entry in the FROM clause */ u8 op, p3, p5; /* Opcode, P3 & P5 of the opcode that ends the loop */ - int p1, p2; /* Operands of the opcode used to ends the loop */ + int p1, p2; /* Operands of the opcode used to end the loop */ union { /* Information that depends on pWLoop->wsFlags */ struct { int nIn; /* Number of entries in aInLoop[] */ @@ -134942,7 +136876,7 @@ struct WhereLoop { u16 nEq; /* Number of equality constraints */ u16 nBtm; /* Size of BTM vector */ u16 nTop; /* Size of TOP vector */ - u16 nIdxCol; /* Index column used for ORDER BY */ + u16 nDistinctCol; /* Index columns used to sort for DISTINCT */ Index *pIndex; /* Index used, or NULL */ } btree; struct { /* Information for virtual tables */ @@ -135093,16 +137027,17 @@ struct WhereTerm { #define TERM_ORINFO 0x10 /* Need to free the WhereTerm.u.pOrInfo object */ #define TERM_ANDINFO 0x20 /* Need to free the WhereTerm.u.pAndInfo obj */ #define TERM_OR_OK 0x40 /* Used during OR-clause processing */ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 # define TERM_VNULL 0x80 /* Manufactured x>NULL or x<=NULL term */ #else -# define TERM_VNULL 0x00 /* Disabled if not using stat3 */ +# define TERM_VNULL 0x00 /* Disabled if not using stat4 */ #endif #define TERM_LIKEOPT 0x100 /* Virtual terms from the LIKE optimization */ #define TERM_LIKECOND 0x200 /* Conditionally this LIKE operator term */ #define TERM_LIKE 0x400 /* The original LIKE operator */ #define TERM_IS 0x800 /* Term.pExpr is an IS operator */ #define TERM_VARSELECT 0x1000 /* Term.pExpr contains a correlated sub-query */ +#define TERM_NOPARTIDX 0x2000 /* Not for use to enable a partial index */ /* ** An instance of the WhereScan object is used as an iterator for locating @@ -135213,7 +137148,7 @@ struct WhereLoopBuilder { ExprList *pOrderBy; /* ORDER BY clause */ WhereLoop *pNew; /* Template WhereLoop */ WhereOrSet *pOrSet; /* Record best loops here, if not NULL */ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 UnpackedRecord *pRec; /* Probe for stat4 (if required) */ int nRecValid; /* Number of valid fields currently in pRec */ #endif @@ -135323,8 +137258,11 @@ SQLITE_PRIVATE void sqlite3WhereAddScanStatus( # define sqlite3WhereAddScanStatus(a, b, c, d) ((void)d) #endif SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( + Parse *pParse, /* Parsing context */ + Vdbe *v, /* Prepared statement under construction */ WhereInfo *pWInfo, /* Complete information about the WHERE clause */ int iLevel, /* Which level of pWInfo->a[] should be coded */ + WhereLevel *pLevel, /* The current level pointer */ Bitmask notReady /* Which tables are currently available */ ); @@ -135397,6 +137335,9 @@ SQLITE_PRIVATE void sqlite3WhereTabFuncArgs(Parse*, struct SrcList_item*, WhereC #define WHERE_UNQ_WANTED 0x00010000 /* WHERE_ONEROW would have been helpful*/ #define WHERE_PARTIALIDX 0x00020000 /* The automatic index is partial */ #define WHERE_IN_EARLYOUT 0x00040000 /* Perhaps quit IN loops early */ +#define WHERE_BIGNULL_SORT 0x00080000 /* Column nEq of index is BIGNULL */ + +#endif /* !defined(SQLITE_WHEREINT_H) */ /************** End of whereInt.h ********************************************/ /************** Continuing where we left off in wherecode.c ******************/ @@ -135594,6 +137535,7 @@ SQLITE_PRIVATE int sqlite3WhereExplainOneScan( } #endif zMsg = sqlite3StrAccumFinish(&str); + sqlite3ExplainBreakpoint("",zMsg); ret = sqlite3VdbeAddOp4(v, OP_Explain, sqlite3VdbeCurrentAddr(v), pParse->addrExplain, 0, zMsg,P4_DYNAMIC); } @@ -135698,9 +137640,9 @@ static void disableTerm(WhereLevel *pLevel, WhereTerm *pTerm){ ** Code an OP_Affinity opcode to apply the column affinity string zAff ** to the n registers starting at base. ** -** As an optimization, SQLITE_AFF_BLOB entries (which are no-ops) at the -** beginning and end of zAff are ignored. If all entries in zAff are -** SQLITE_AFF_BLOB, then no code gets generated. +** As an optimization, SQLITE_AFF_BLOB and SQLITE_AFF_NONE entries (which +** are no-ops) at the beginning and end of zAff are ignored. If all entries +** in zAff are SQLITE_AFF_BLOB or SQLITE_AFF_NONE, then no code gets generated. ** ** This routine makes its own copy of zAff so that the caller is free ** to modify zAff after this routine returns. @@ -135713,15 +137655,16 @@ static void codeApplyAffinity(Parse *pParse, int base, int n, char *zAff){ } assert( v!=0 ); - /* Adjust base and n to skip over SQLITE_AFF_BLOB entries at the beginning - ** and end of the affinity string. + /* Adjust base and n to skip over SQLITE_AFF_BLOB and SQLITE_AFF_NONE + ** entries at the beginning and end of the affinity string. */ - while( n>0 && zAff[0]==SQLITE_AFF_BLOB ){ + assert( SQLITE_AFF_NONE0 && zAff[0]<=SQLITE_AFF_BLOB ){ n--; base++; zAff++; } - while( n>1 && zAff[n-1]==SQLITE_AFF_BLOB ){ + while( n>1 && zAff[n-1]<=SQLITE_AFF_BLOB ){ n--; } @@ -135919,16 +137862,17 @@ static int codeEqualityTerm( if( pLoop->aLTerm[i]->pExpr==pX ) nEq++; } + iTab = 0; if( (pX->flags & EP_xIsSelect)==0 || pX->x.pSelect->pEList->nExpr==1 ){ - eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0, 0); + eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0, 0, &iTab); }else{ sqlite3 *db = pParse->db; pX = removeUnindexableInClauseTerms(pParse, iEq, pLoop, pX); if( !db->mallocFailed ){ aiMap = (int*)sqlite3DbMallocZero(pParse->db, sizeof(int)*nEq); - eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0, aiMap); - pTerm->pExpr->iTable = pX->iTable; + eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0, aiMap, &iTab); + pTerm->pExpr->iTable = iTab; } sqlite3ExprDelete(db, pX); pX = pTerm->pExpr; @@ -135938,7 +137882,6 @@ static int codeEqualityTerm( testcase( bRev ); bRev = !bRev; } - iTab = pX->iTable; sqlite3VdbeAddOp2(v, bRev ? OP_Last : OP_Rewind, iTab, 0); VdbeCoverageIf(v, bRev); VdbeCoverageIf(v, !bRev); @@ -135946,7 +137889,7 @@ static int codeEqualityTerm( pLoop->wsFlags |= WHERE_IN_ABLE; if( pLevel->u.in.nIn==0 ){ - pLevel->addrNxt = sqlite3VdbeMakeLabel(v); + pLevel->addrNxt = sqlite3VdbeMakeLabel(pParse); } i = pLevel->u.in.nIn; @@ -135962,7 +137905,6 @@ static int codeEqualityTerm( if( pLoop->aLTerm[i]->pExpr==pX ){ int iOut = iReg + i - iEq; if( eType==IN_INDEX_ROWID ){ - testcase( nEq>1 ); /* Happens with a UNIQUE index on ROWID */ pIn->addrInTop = sqlite3VdbeAddOp2(v, OP_Rowid, iTab, iOut); }else{ int iCol = aiMap ? aiMap[iMap++] : 0; @@ -136380,7 +138322,7 @@ static void codeCursorHint( } /* If we survive all prior tests, that means this term is worth hinting */ - pExpr = sqlite3ExprAnd(db, pExpr, sqlite3ExprDup(db, pTerm->pExpr, 0)); + pExpr = sqlite3ExprAnd(pParse, pExpr, sqlite3ExprDup(db, pTerm->pExpr, 0)); } if( pExpr!=0 ){ sWalker.xExprCallback = codeCursorHintFixExpr; @@ -136457,7 +138399,9 @@ static void codeExprOrVector(Parse *pParse, Expr *p, int iReg, int nReg){ #ifndef SQLITE_OMIT_SUBQUERY if( (p->flags & EP_xIsSelect) ){ Vdbe *v = pParse->pVdbe; - int iSelect = sqlite3CodeSubselect(pParse, p, 0, 0); + int iSelect; + assert( p->op==TK_SELECT ); + iSelect = sqlite3CodeSubselect(pParse, p); sqlite3VdbeAddOp3(v, OP_Copy, iSelect, iReg, nReg-1); }else #endif @@ -136495,6 +138439,7 @@ typedef struct IdxExprTrans { static int whereIndexExprTransNode(Walker *p, Expr *pExpr){ IdxExprTrans *pX = p->u.pIdxTrans; if( sqlite3ExprCompare(0, pExpr, pX->pIdxExpr, pX->iTabCur)==0 ){ + pExpr->affExpr = sqlite3ExprAffinity(pExpr); pExpr->op = TK_COLUMN; pExpr->iTable = pX->iIdxCur; pExpr->iColumn = pX->iIdxCol; @@ -136538,27 +138483,54 @@ static void whereIndexExprTrans( } } +/* +** The pTruth expression is always true because it is the WHERE clause +** a partial index that is driving a query loop. Look through all of the +** WHERE clause terms on the query, and if any of those terms must be +** true because pTruth is true, then mark those WHERE clause terms as +** coded. +*/ +static void whereApplyPartialIndexConstraints( + Expr *pTruth, + int iTabCur, + WhereClause *pWC +){ + int i; + WhereTerm *pTerm; + while( pTruth->op==TK_AND ){ + whereApplyPartialIndexConstraints(pTruth->pLeft, iTabCur, pWC); + pTruth = pTruth->pRight; + } + for(i=0, pTerm=pWC->a; inTerm; i++, pTerm++){ + Expr *pExpr; + if( pTerm->wtFlags & TERM_CODED ) continue; + pExpr = pTerm->pExpr; + if( sqlite3ExprCompare(0, pExpr, pTruth, iTabCur)==0 ){ + pTerm->wtFlags |= TERM_CODED; + } + } +} + /* ** Generate code for the start of the iLevel-th loop in the WHERE clause ** implementation described by pWInfo. */ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( + Parse *pParse, /* Parsing context */ + Vdbe *v, /* Prepared statement under construction */ WhereInfo *pWInfo, /* Complete information about the WHERE clause */ int iLevel, /* Which level of pWInfo->a[] should be coded */ + WhereLevel *pLevel, /* The current level pointer */ Bitmask notReady /* Which tables are currently available */ ){ int j, k; /* Loop counters */ int iCur; /* The VDBE cursor for the table */ int addrNxt; /* Where to jump to continue with the next IN case */ - int omitTable; /* True if we use the index only */ int bRev; /* True if we need to scan in reverse order */ - WhereLevel *pLevel; /* The where level to be coded */ WhereLoop *pLoop; /* The WhereLoop object being coded */ WhereClause *pWC; /* Decomposition of the entire WHERE clause */ WhereTerm *pTerm; /* A WHERE clause term */ - Parse *pParse; /* Parsing context */ sqlite3 *db; /* Database connection */ - Vdbe *v; /* The prepared stmt under constructions */ struct SrcList_item *pTabItem; /* FROM clause term being coded */ int addrBrk; /* Jump here to break out of the loop */ int addrHalt; /* addrBrk for the outermost loop */ @@ -136568,18 +138540,13 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( Index *pIdx = 0; /* Index used by loop (if any) */ int iLoop; /* Iteration of constraint generator loop */ - pParse = pWInfo->pParse; - v = pParse->pVdbe; pWC = &pWInfo->sWC; db = pParse->db; - pLevel = &pWInfo->a[iLevel]; pLoop = pLevel->pWLoop; pTabItem = &pWInfo->pTabList->a[pLevel->iFrom]; iCur = pTabItem->iCursor; pLevel->notReady = notReady & ~sqlite3WhereGetMask(&pWInfo->sMaskSet, iCur); bRev = (pWInfo->revMask>>iLevel)&1; - omitTable = (pLoop->wsFlags & WHERE_IDX_ONLY)!=0 - && (pWInfo->wctrlFlags & WHERE_OR_SUBCLAUSE)==0; VdbeModuleComment((v, "Begin WHERE-loop%d: %s",iLevel,pTabItem->pTab->zName)); /* Create labels for the "break" and "continue" instructions @@ -136592,8 +138559,8 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( ** there are no IN operators in the constraints, the "addrNxt" label ** is the same as "addrBrk". */ - addrBrk = pLevel->addrBrk = pLevel->addrNxt = sqlite3VdbeMakeLabel(v); - addrCont = pLevel->addrCont = sqlite3VdbeMakeLabel(v); + addrBrk = pLevel->addrBrk = pLevel->addrNxt = sqlite3VdbeMakeLabel(pParse); + addrCont = pLevel->addrCont = sqlite3VdbeMakeLabel(pParse); /* If this is the right table of a LEFT OUTER JOIN, allocate and ** initialize a memory cell that records if this table matches any @@ -136720,7 +138687,6 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( pTerm = pLoop->aLTerm[0]; assert( pTerm!=0 ); assert( pTerm->pExpr!=0 ); - assert( omitTable==0 ); testcase( pTerm->wtFlags & TERM_VIRTUAL ); iReleaseReg = ++pParse->nMem; iRowidReg = codeEqualityTerm(pParse, pTerm, pLevel, 0, bRev, iReleaseReg); @@ -136729,6 +138695,9 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( sqlite3VdbeAddOp3(v, OP_SeekRowid, iCur, addrNxt, iRowidReg); VdbeCoverage(v); pLevel->op = OP_Noop; + if( (pTerm->prereqAll & pLevel->notReady)==0 ){ + pTerm->wtFlags |= TERM_CODED; + } }else if( (pLoop->wsFlags & WHERE_IPK)!=0 && (pLoop->wsFlags & WHERE_COLUMN_RANGE)!=0 ){ @@ -136739,7 +138708,6 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( int memEndValue = 0; WhereTerm *pStart, *pEnd; - assert( omitTable==0 ); j = 0; pStart = pEnd = 0; if( pLoop->wsFlags & WHERE_BTM_LIMIT ) pStart = pLoop->aLTerm[j++]; @@ -136903,31 +138871,13 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( char *zEndAff = 0; /* Affinity for end of range constraint */ u8 bSeekPastNull = 0; /* True to seek past initial nulls */ u8 bStopAtNull = 0; /* Add condition to terminate at NULLs */ + int omitTable; /* True if we use the index only */ + int regBignull = 0; /* big-null flag register */ pIdx = pLoop->u.btree.pIndex; iIdxCur = pLevel->iIdxCur; assert( nEq>=pLoop->nSkip ); - /* If this loop satisfies a sort order (pOrderBy) request that - ** was passed to this function to implement a "SELECT min(x) ..." - ** query, then the caller will only allow the loop to run for - ** a single iteration. This means that the first row returned - ** should not have a NULL value stored in 'x'. If column 'x' is - ** the first one after the nEq equality constraints in the index, - ** this requires some special handling. - */ - assert( pWInfo->pOrderBy==0 - || pWInfo->pOrderBy->nExpr==1 - || (pWInfo->wctrlFlags&WHERE_ORDERBY_MIN)==0 ); - if( (pWInfo->wctrlFlags&WHERE_ORDERBY_MIN)!=0 - && pWInfo->nOBSat>0 - && (pIdx->nKeyCol>nEq) - ){ - assert( pLoop->nSkip==0 ); - bSeekPastNull = 1; - nExtraReg = 1; - } - /* Find any inequality constraint terms for the start and end ** of the range. */ @@ -136968,6 +138918,25 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( } assert( pRangeEnd==0 || (pRangeEnd->wtFlags & TERM_VNULL)==0 ); + /* If the WHERE_BIGNULL_SORT flag is set, then index column nEq uses + ** a non-default "big-null" sort (either ASC NULLS LAST or DESC NULLS + ** FIRST). In both cases separate ordered scans are made of those + ** index entries for which the column is null and for those for which + ** it is not. For an ASC sort, the non-NULL entries are scanned first. + ** For DESC, NULL entries are scanned first. + */ + if( (pLoop->wsFlags & (WHERE_TOP_LIMIT|WHERE_BTM_LIMIT))==0 + && (pLoop->wsFlags & WHERE_BIGNULL_SORT)!=0 + ){ + assert( bSeekPastNull==0 && nExtraReg==0 && nBtm==0 && nTop==0 ); + assert( pRangeEnd==0 && pRangeStart==0 ); + assert( pLoop->nSkip==0 ); + nExtraReg = 1; + bSeekPastNull = 1; + pLevel->regBignull = regBignull = ++pParse->nMem; + pLevel->addrBignull = sqlite3VdbeMakeLabel(pParse); + } + /* If we are doing a reverse order scan on an ascending index, or ** a forward order scan on a descending index, interchange the ** start and end terms (pRangeStart and pRangeEnd). @@ -136990,7 +138959,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( if( zStartAff && nTop ){ zEndAff = sqlite3DbStrDup(db, &zStartAff[nEq]); } - addrNxt = pLevel->addrNxt; + addrNxt = (regBignull ? pLevel->addrBignull : pLevel->addrNxt); testcase( pRangeStart && (pRangeStart->eOperator & WO_LE)!=0 ); testcase( pRangeStart && (pRangeStart->eOperator & WO_GE)!=0 ); @@ -137024,10 +138993,14 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( } bSeekPastNull = 0; }else if( bSeekPastNull ){ + startEq = 0; sqlite3VdbeAddOp2(v, OP_Null, 0, regBase+nEq); + start_constraints = 1; nConstraint++; - startEq = 0; + }else if( regBignull ){ + sqlite3VdbeAddOp2(v, OP_Null, 0, regBase+nEq); start_constraints = 1; + nConstraint++; } codeApplyAffinity(pParse, regBase, nConstraint - bSeekPastNull, zStartAff); if( pLoop->nSkip>0 && nConstraint==pLoop->nSkip ){ @@ -137038,6 +139011,11 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( if( pLoop->wsFlags & WHERE_IN_EARLYOUT ){ sqlite3VdbeAddOp1(v, OP_SeekHit, iIdxCur); } + if( regBignull ){ + sqlite3VdbeAddOp2(v, OP_Integer, 1, regBignull); + VdbeComment((v, "NULL-scan pass ctr")); + } + op = aStartOp[(start_constraints<<2) + (startEq<<1) + bRev]; assert( op!=0 ); sqlite3VdbeAddOp4Int(v, op, iIdxCur, addrNxt, regBase, nConstraint); @@ -137048,6 +139026,23 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( VdbeCoverageIf(v, op==OP_SeekGE); testcase( op==OP_SeekGE ); VdbeCoverageIf(v, op==OP_SeekLE); testcase( op==OP_SeekLE ); VdbeCoverageIf(v, op==OP_SeekLT); testcase( op==OP_SeekLT ); + + assert( bSeekPastNull==0 || bStopAtNull==0 ); + if( regBignull ){ + assert( bSeekPastNull==1 || bStopAtNull==1 ); + assert( bSeekPastNull==!bStopAtNull ); + assert( bStopAtNull==startEq ); + sqlite3VdbeAddOp2(v, OP_Goto, 0, sqlite3VdbeCurrentAddr(v)+2); + op = aStartOp[(nConstraint>1)*4 + 2 + bRev]; + sqlite3VdbeAddOp4Int(v, op, iIdxCur, addrNxt, regBase, + nConstraint-startEq); + VdbeCoverage(v); + VdbeCoverageIf(v, op==OP_Rewind); testcase( op==OP_Rewind ); + VdbeCoverageIf(v, op==OP_Last); testcase( op==OP_Last ); + VdbeCoverageIf(v, op==OP_SeekGE); testcase( op==OP_SeekGE ); + VdbeCoverageIf(v, op==OP_SeekLE); testcase( op==OP_SeekLE ); + assert( op==OP_Rewind || op==OP_Last || op==OP_SeekGE || op==OP_SeekLE); + } } /* Load the value for the inequality constraint at the end of the @@ -137079,8 +139074,10 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( endEq = 1; } }else if( bStopAtNull ){ - sqlite3VdbeAddOp2(v, OP_Null, 0, regBase+nEq); - endEq = 0; + if( regBignull==0 ){ + sqlite3VdbeAddOp2(v, OP_Null, 0, regBase+nEq); + endEq = 0; + } nConstraint++; } sqlite3DbFree(db, zStartAff); @@ -137091,6 +139088,12 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( /* Check if the index cursor is past the end of the range. */ if( nConstraint ){ + if( regBignull ){ + /* Except, skip the end-of-range check while doing the NULL-scan */ + sqlite3VdbeAddOp2(v, OP_IfNot, regBignull, sqlite3VdbeCurrentAddr(v)+3); + VdbeComment((v, "If NULL-scan 2nd pass")); + VdbeCoverage(v); + } op = aEndOp[bRev*2 + endEq]; sqlite3VdbeAddOp4Int(v, op, iIdxCur, addrNxt, regBase, nConstraint); testcase( op==OP_IdxGT ); VdbeCoverageIf(v, op==OP_IdxGT ); @@ -137098,12 +139101,31 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( testcase( op==OP_IdxLT ); VdbeCoverageIf(v, op==OP_IdxLT ); testcase( op==OP_IdxLE ); VdbeCoverageIf(v, op==OP_IdxLE ); } + if( regBignull ){ + /* During a NULL-scan, check to see if we have reached the end of + ** the NULLs */ + assert( bSeekPastNull==!bStopAtNull ); + assert( bSeekPastNull+bStopAtNull==1 ); + assert( nConstraint+bSeekPastNull>0 ); + sqlite3VdbeAddOp2(v, OP_If, regBignull, sqlite3VdbeCurrentAddr(v)+2); + VdbeComment((v, "If NULL-scan 1st pass")); + VdbeCoverage(v); + op = aEndOp[bRev*2 + bSeekPastNull]; + sqlite3VdbeAddOp4Int(v, op, iIdxCur, addrNxt, regBase, + nConstraint+bSeekPastNull); + testcase( op==OP_IdxGT ); VdbeCoverageIf(v, op==OP_IdxGT ); + testcase( op==OP_IdxGE ); VdbeCoverageIf(v, op==OP_IdxGE ); + testcase( op==OP_IdxLT ); VdbeCoverageIf(v, op==OP_IdxLT ); + testcase( op==OP_IdxLE ); VdbeCoverageIf(v, op==OP_IdxLE ); + } if( pLoop->wsFlags & WHERE_IN_EARLYOUT ){ sqlite3VdbeAddOp2(v, OP_SeekHit, iIdxCur, 1); } /* Seek the table cursor, if required */ + omitTable = (pLoop->wsFlags & WHERE_IDX_ONLY)!=0 + && (pWInfo->wctrlFlags & WHERE_OR_SUBCLAUSE)==0; if( omitTable ){ /* pIdx is a covering index. No need to access the main table. */ }else if( HasRowid(pIdx->pTable) ){ @@ -137138,11 +139160,24 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( ** the cursor. In this case it is important to do the full evaluation, ** as the result of the expression may not be NULL, even if all table ** column values are. https://www.sqlite.org/src/info/7fa8049685b50b5a + ** + ** Also, do not do this when processing one index an a multi-index + ** OR clause, since the transformation will become invalid once we + ** move forward to the next index. + ** https://sqlite.org/src/info/4e8e4857d32d401f */ - if( pLevel->iLeftJoin==0 ){ + if( pLevel->iLeftJoin==0 && (pWInfo->wctrlFlags & WHERE_OR_SUBCLAUSE)==0 ){ whereIndexExprTrans(pIdx, iCur, iIdxCur, pWInfo); } + /* If a partial index is driving the loop, try to eliminate WHERE clause + ** terms from the query that must be true due to the WHERE clause of + ** the partial index + */ + if( pIdx->pPartIdxWhere ){ + whereApplyPartialIndexConstraints(pIdx->pPartIdxWhere, iCur, pWC); + } + /* Record the instruction used to terminate the loop. */ if( pLoop->wsFlags & WHERE_ONEROW ){ pLevel->op = OP_Noop; @@ -137214,7 +139249,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( int regReturn = ++pParse->nMem; /* Register used with OP_Gosub */ int regRowset = 0; /* Register for RowSet object */ int regRowid = 0; /* Register holding rowid */ - int iLoopBody = sqlite3VdbeMakeLabel(v); /* Start of loop body */ + int iLoopBody = sqlite3VdbeMakeLabel(pParse);/* Start of loop body */ int iRetInit; /* Address of regReturn init */ int untestedTerms = 0; /* Some terms not completely tested */ int ii; /* Loop counter */ @@ -137303,10 +139338,15 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( if( (pWC->a[iTerm].eOperator & WO_ALL)==0 ) continue; testcase( pWC->a[iTerm].wtFlags & TERM_ORINFO ); pExpr = sqlite3ExprDup(db, pExpr, 0); - pAndExpr = sqlite3ExprAnd(db, pAndExpr, pExpr); + pAndExpr = sqlite3ExprAnd(pParse, pAndExpr, pExpr); } if( pAndExpr ){ - pAndExpr = sqlite3PExpr(pParse, TK_AND|TKFLG_DONTFOLD, 0, pAndExpr); + /* The extra 0x10000 bit on the opcode is masked off and does not + ** become part of the new Expr.op. However, it does make the + ** op==TK_AND comparison inside of sqlite3PExpr() false, and this + ** prevents sqlite3PExpr() from implementing AND short-circuit + ** optimization, which we do not want here. */ + pAndExpr = sqlite3PExpr(pParse, TK_AND|0x10000, 0, pAndExpr); } } @@ -137330,6 +139370,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( pOrExpr = pAndExpr; } /* Loop through table entries that match term pOrTerm. */ + ExplainQueryPlan((pParse, 1, "INDEX %d", ii+1)); WHERETRACE(0xffff, ("Subplan for OR-clause:\n")); pSubWInfo = sqlite3WhereBegin(pParse, pOrTab, pOrExpr, 0, 0, wctrlFlags, iCovCur); @@ -137433,6 +139474,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( /* Finish the loop through table entries that match term pOrTerm. */ sqlite3WhereEnd(pSubWInfo); + ExplainQueryPlanPop(pParse); } } } @@ -137447,7 +139489,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( sqlite3VdbeGoto(v, pLevel->addrBrk); sqlite3VdbeResolveLabel(v, iLoopBody); - if( pWInfo->nLevel>1 ) sqlite3StackFree(db, pOrTab); + if( pWInfo->nLevel>1 ){ sqlite3StackFree(db, pOrTab); } if( !untestedTerms ) disableTerm(pLevel, pTerm); }else #endif /* SQLITE_OMIT_OR_OPTIMIZATION */ @@ -137534,8 +139576,9 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( u32 x = pLevel->iLikeRepCntr; if( x>0 ){ skipLikeAddr = sqlite3VdbeAddOp1(v, (x&1)?OP_IfNot:OP_If,(int)(x>>1)); + VdbeCoverageIf(v, (x&1)==1); + VdbeCoverageIf(v, (x&1)==0); } - VdbeCoverage(v); #endif } #ifdef WHERETRACE_ENABLED /* 0xffff */ @@ -137701,7 +139744,7 @@ static int whereClauseInsert(WhereClause *pWC, Expr *p, u16 wtFlags){ }else{ pTerm->truthProb = 1; } - pTerm->pExpr = sqlite3ExprSkipCollate(p); + pTerm->pExpr = sqlite3ExprSkipCollateAndLikely(p); pTerm->wtFlags = wtFlags; pTerm->pWC = pWC; pTerm->iParent = -1; @@ -137734,10 +139777,16 @@ static int allowedOp(int op){ ** the left hand side of a comparison overrides any collation sequence ** attached to the right. For the same reason the EP_Collate flag ** is not commuted. +** +** The return value is extra flags that are added to the WhereTerm object +** after it is commuted. The only extra flag ever added is TERM_NOPARTIDX +** which prevents the term from being used to enable a partial index if +** COLLATE changes have been made. */ -static void exprCommute(Parse *pParse, Expr *pExpr){ +static u16 exprCommute(Parse *pParse, Expr *pExpr){ u16 expRight = (pExpr->pRight->flags & EP_Collate); u16 expLeft = (pExpr->pLeft->flags & EP_Collate); + u16 wtFlags = 0; assert( allowedOp(pExpr->op) && pExpr->op!=TK_IN ); if( expRight==expLeft ){ /* Either X and Y both have COLLATE operator or neither do */ @@ -137745,11 +139794,13 @@ static void exprCommute(Parse *pParse, Expr *pExpr){ /* Both X and Y have COLLATE operators. Make sure X is always ** used by clearing the EP_Collate flag from Y. */ pExpr->pRight->flags &= ~EP_Collate; + wtFlags |= TERM_NOPARTIDX; }else if( sqlite3ExprCollSeq(pParse, pExpr->pLeft)!=0 ){ /* Neither X nor Y have COLLATE operators, but X has a non-default ** collating sequence. So add the EP_Collate marker on X to cause ** it to be searched first. */ pExpr->pLeft->flags |= EP_Collate; + wtFlags |= TERM_NOPARTIDX; } } SWAP(Expr*,pExpr->pRight,pExpr->pLeft); @@ -137761,6 +139812,7 @@ static void exprCommute(Parse *pParse, Expr *pExpr){ assert( pExpr->op>=TK_GT && pExpr->op<=TK_GE ); pExpr->op = ((pExpr->op-TK_GT)^2)+TK_GT; } + return wtFlags; } /* @@ -137879,27 +139931,38 @@ static int isLikeOrGlob( zNew[iTo++] = zNew[iFrom]; } zNew[iTo] = 0; + assert( iTo>0 ); - /* If the RHS begins with a digit or a minus sign, then the LHS must be - ** an ordinary column (not a virtual table column) with TEXT affinity. - ** Otherwise the LHS might be numeric and "lhs >= rhs" would be false - ** even though "lhs LIKE rhs" is true. But if the RHS does not start - ** with a digit or '-', then "lhs LIKE rhs" will always be false if - ** the LHS is numeric and so the optimization still works. + /* If the LHS is not an ordinary column with TEXT affinity, then the + ** pattern prefix boundaries (both the start and end boundaries) must + ** not look like a number. Otherwise the pattern might be treated as + ** a number, which will invalidate the LIKE optimization. ** - ** 2018-09-10 ticket c94369cae9b561b1f996d0054bfab11389f9d033 - ** The RHS pattern must not be '/%' because the termination condition - ** will then become "x<'0'" and if the affinity is numeric, will then - ** be converted into "x<0", which is incorrect. + ** Getting this right has been a persistent source of bugs in the + ** LIKE optimization. See, for example: + ** 2018-09-10 https://sqlite.org/src/info/c94369cae9b561b1 + ** 2019-05-02 https://sqlite.org/src/info/b043a54c3de54b28 + ** 2019-06-10 https://sqlite.org/src/info/fd76310a5e843e07 + ** 2019-06-14 https://sqlite.org/src/info/ce8717f0885af975 + ** 2019-09-03 https://sqlite.org/src/info/0f0428096f17252a */ - if( sqlite3Isdigit(zNew[0]) - || zNew[0]=='-' - || (zNew[0]+1=='0' && iTo==1) + if( pLeft->op!=TK_COLUMN + || sqlite3ExprAffinity(pLeft)!=SQLITE_AFF_TEXT + || IsVirtual(pLeft->y.pTab) /* Value might be numeric */ ){ - if( pLeft->op!=TK_COLUMN - || sqlite3ExprAffinity(pLeft)!=SQLITE_AFF_TEXT - || IsVirtual(pLeft->y.pTab) /* Value might be numeric */ - ){ + int isNum; + double rDummy; + isNum = sqlite3AtoF(zNew, &rDummy, iTo, SQLITE_UTF8); + if( isNum<=0 ){ + if( iTo==1 && zNew[0]=='-' ){ + isNum = +1; + }else{ + zNew[iTo-1]++; + isNum = sqlite3AtoF(zNew, &rDummy, iTo, SQLITE_UTF8); + zNew[iTo-1]--; + } + } + if( isNum>0 ){ sqlite3ExprDelete(db, pPrefix); sqlite3ValueFree(pVal); return 0; @@ -138394,6 +140457,7 @@ static void exprAnalyzeOrTerm( ** and column is found but leave okToChngToIN false if not found. */ for(j=0; j<2 && !okToChngToIN; j++){ + Expr *pLeft = 0; pOrTerm = pOrWc->a; for(i=pOrWc->nTerm-1; i>=0; i--, pOrTerm++){ assert( pOrTerm->eOperator & WO_EQ ); @@ -138417,6 +140481,7 @@ static void exprAnalyzeOrTerm( } iColumn = pOrTerm->u.leftColumn; iCursor = pOrTerm->leftCursor; + pLeft = pOrTerm->pExpr->pLeft; break; } if( i<0 ){ @@ -138436,7 +140501,9 @@ static void exprAnalyzeOrTerm( assert( pOrTerm->eOperator & WO_EQ ); if( pOrTerm->leftCursor!=iCursor ){ pOrTerm->wtFlags &= ~TERM_OR_OK; - }else if( pOrTerm->u.leftColumn!=iColumn ){ + }else if( pOrTerm->u.leftColumn!=iColumn || (iColumn==XN_EXPR + && sqlite3ExprCompare(pParse, pOrTerm->pExpr->pLeft, pLeft, -1) + )){ okToChngToIN = 0; }else{ int affLeft, affRight; @@ -138747,7 +140814,7 @@ static void exprAnalyze( pDup = pExpr; pNew = pTerm; } - exprCommute(pParse, pDup); + pNew->wtFlags |= exprCommute(pParse, pDup); pNew->leftCursor = aiCurCol[0]; pNew->u.leftColumn = aiCurCol[1]; testcase( (prereqLeft | extraRight) != prereqLeft ); @@ -138988,8 +141055,8 @@ static void exprAnalyze( } } -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 - /* When sqlite_stat3 histogram data is available an operator of the +#ifdef SQLITE_ENABLE_STAT4 + /* When sqlite_stat4 histogram data is available an operator of the ** form "x IS NOT NULL" can sometimes be evaluated more efficiently ** as "x>NULL" if x is not an INTEGER PRIMARY KEY. So construct a ** virtual term of that form. @@ -139000,7 +141067,7 @@ static void exprAnalyze( && pExpr->pLeft->op==TK_COLUMN && pExpr->pLeft->iColumn>=0 && !ExprHasProperty(pExpr, EP_FromJoin) - && OptimizationEnabled(db, SQLITE_Stat34) + && OptimizationEnabled(db, SQLITE_Stat4) ){ Expr *pNewExpr; Expr *pLeft = pExpr->pLeft; @@ -139025,7 +141092,7 @@ static void exprAnalyze( pNewTerm->prereqAll = pTerm->prereqAll; } } -#endif /* SQLITE_ENABLE_STAT3_OR_STAT4 */ +#endif /* SQLITE_ENABLE_STAT4 */ /* Prevent ON clause terms of a LEFT JOIN from being used to drive ** an index for tables to the left of the join. @@ -139058,7 +141125,7 @@ static void exprAnalyze( ** all terms of the WHERE clause. */ SQLITE_PRIVATE void sqlite3WhereSplit(WhereClause *pWC, Expr *pExpr, u8 op){ - Expr *pE2 = sqlite3ExprSkipCollate(pExpr); + Expr *pE2 = sqlite3ExprSkipCollateAndLikely(pExpr); pWC->op = op; if( pE2==0 ) return; if( pE2->op!=op ){ @@ -139133,6 +141200,12 @@ SQLITE_PRIVATE Bitmask sqlite3WhereExprUsageNN(WhereMaskSet *pMaskSet, Expr *p){ }else if( p->x.pList ){ mask |= sqlite3WhereExprListUsage(pMaskSet, p->x.pList); } +#ifndef SQLITE_OMIT_WINDOWFUNC + if( p->op==TK_FUNCTION && p->y.pWin ){ + mask |= sqlite3WhereExprListUsage(pMaskSet, p->y.pWin->pPartition); + mask |= sqlite3WhereExprListUsage(pMaskSet, p->y.pWin->pOrderBy); + } +#endif return mask; } SQLITE_PRIVATE Bitmask sqlite3WhereExprUsage(WhereMaskSet *pMaskSet, Expr *p){ @@ -139467,7 +141540,8 @@ static WhereTerm *whereScanNext(WhereScan *pScan){ ){ if( (pTerm->eOperator & WO_EQUIV)!=0 && pScan->nEquivaiCur) - && (pX = sqlite3ExprSkipCollate(pTerm->pExpr->pRight))->op==TK_COLUMN + && (pX = sqlite3ExprSkipCollateAndLikely(pTerm->pExpr->pRight))->op + ==TK_COLUMN ){ int j; for(j=0; jnEquiv; j++){ @@ -139524,6 +141598,17 @@ static WhereTerm *whereScanNext(WhereScan *pScan){ return 0; } +/* +** This is whereScanInit() for the case of an index on an expression. +** It is factored out into a separate tail-recursion subroutine so that +** the normal whereScanInit() routine, which is a high-runner, does not +** need to push registers onto the stack as part of its prologue. +*/ +static SQLITE_NOINLINE WhereTerm *whereScanInitIndexExpr(WhereScan *pScan){ + pScan->idxaff = sqlite3ExprAffinity(pScan->pIdxExpr); + return whereScanNext(pScan); +} + /* ** Initialize a WHERE clause scanner object. Return a pointer to the ** first match. Return NULL if there are no matches. @@ -139556,12 +141641,19 @@ static WhereTerm *whereScanInit( pScan->pIdxExpr = 0; pScan->idxaff = 0; pScan->zCollName = 0; + pScan->opMask = opMask; + pScan->k = 0; + pScan->aiCur[0] = iCur; + pScan->nEquiv = 1; + pScan->iEquiv = 1; if( pIdx ){ int j = iColumn; iColumn = pIdx->aiColumn[j]; if( iColumn==XN_EXPR ){ pScan->pIdxExpr = pIdx->aColExpr->a[j].pExpr; pScan->zCollName = pIdx->azColl[j]; + pScan->aiColumn[0] = XN_EXPR; + return whereScanInitIndexExpr(pScan); }else if( iColumn==pIdx->pTable->iPKey ){ iColumn = XN_ROWID; }else if( iColumn>=0 ){ @@ -139571,12 +141663,7 @@ static WhereTerm *whereScanInit( }else if( iColumn==XN_EXPR ){ return 0; } - pScan->opMask = opMask; - pScan->k = 0; - pScan->aiCur[0] = iCur; pScan->aiColumn[0] = iColumn; - pScan->nEquiv = 1; - pScan->iEquiv = 1; return whereScanNext(pScan); } @@ -139650,7 +141737,7 @@ static int findIndexCol( const char *zColl = pIdx->azColl[iCol]; for(i=0; inExpr; i++){ - Expr *p = sqlite3ExprSkipCollate(pList->a[i].pExpr); + Expr *p = sqlite3ExprSkipCollateAndLikely(pList->a[i].pExpr); if( p->op==TK_COLUMN && p->iColumn==pIdx->aiColumn[iCol] && p->iTable==iBase @@ -139714,7 +141801,7 @@ static int isDistinctRedundant( ** current SELECT is a correlated sub-query. */ for(i=0; inExpr; i++){ - Expr *p = sqlite3ExprSkipCollate(pDistinct->a[i].pExpr); + Expr *p = sqlite3ExprSkipCollateAndLikely(pDistinct->a[i].pExpr); if( p->op==TK_COLUMN && p->iTable==iBase && p->iColumn<0 ) return 1; } @@ -139763,17 +141850,17 @@ static LogEst estLog(LogEst N){ ** opcodes into OP_Copy when the table is being accessed via co-routine ** instead of via table lookup. ** -** If the bIncrRowid parameter is 0, then any OP_Rowid instructions on -** cursor iTabCur are transformed into OP_Null. Or, if bIncrRowid is non-zero, -** then each OP_Rowid is transformed into an instruction to increment the -** value stored in its output register. +** If the iAutoidxCur is not zero, then any OP_Rowid instructions on +** cursor iTabCur are transformed into OP_Sequence opcode for the +** iAutoidxCur cursor, in order to generate unique rowids for the +** automatic index being generated. */ static void translateColumnToCopy( Parse *pParse, /* Parsing context */ int iStart, /* Translate from this opcode to the end */ int iTabCur, /* OP_Column/OP_Rowid references to this table */ int iRegister, /* The first column is in this register */ - int bIncrRowid /* If non-zero, transform OP_rowid to OP_AddImm(1) */ + int iAutoidxCur /* If non-zero, cursor of autoindex being generated */ ){ Vdbe *v = pParse->pVdbe; VdbeOp *pOp = sqlite3VdbeGetOp(v, iStart); @@ -139787,11 +141874,9 @@ static void translateColumnToCopy( pOp->p2 = pOp->p3; pOp->p3 = 0; }else if( pOp->opcode==OP_Rowid ){ - if( bIncrRowid ){ - /* Increment the value stored in the P2 operand of the OP_Rowid. */ - pOp->opcode = OP_AddImm; - pOp->p1 = pOp->p2; - pOp->p2 = 1; + if( iAutoidxCur ){ + pOp->opcode = OP_Sequence; + pOp->p1 = iAutoidxCur; }else{ pOp->opcode = OP_Null; pOp->p1 = 0; @@ -139938,7 +142023,7 @@ static void constructAutomaticIndex( && (pTerm->wtFlags & TERM_VIRTUAL)==0 && !ExprHasProperty(pExpr, EP_FromJoin) && sqlite3ExprIsTableConstant(pExpr, pSrc->iCursor) ){ - pPartial = sqlite3ExprAnd(pParse->db, pPartial, + pPartial = sqlite3ExprAnd(pParse, pPartial, sqlite3ExprDup(pParse->db, pExpr, 0)); } if( termCanDriveIndex(pTerm, pSrc, notReady) ){ @@ -140051,7 +142136,7 @@ static void constructAutomaticIndex( addrTop = sqlite3VdbeAddOp1(v, OP_Rewind, pLevel->iTabCur); VdbeCoverage(v); } if( pPartial ){ - iContinue = sqlite3VdbeMakeLabel(v); + iContinue = sqlite3VdbeMakeLabel(pParse); sqlite3ExprIfFalse(pParse, pPartial, iContinue, SQLITE_JUMPIFNULL); pLoop->wsFlags |= WHERE_PARTIALIDX; } @@ -140065,9 +142150,11 @@ static void constructAutomaticIndex( if( pTabItem->fg.viaCoroutine ){ sqlite3VdbeChangeP2(v, addrCounter, regBase+n); testcase( pParse->db->mallocFailed ); + assert( pLevel->iIdxCur>0 ); translateColumnToCopy(pParse, addrTop, pLevel->iTabCur, - pTabItem->regResult, 1); + pTabItem->regResult, pLevel->iIdxCur); sqlite3VdbeGoto(v, addrTop); + pTabItem->fg.viaCoroutine = 0; }else{ sqlite3VdbeAddOp2(v, OP_Next, pLevel->iTabCur, addrTop+1); VdbeCoverage(v); } @@ -140134,6 +142221,7 @@ static sqlite3_index_info *allocateIndexInfo( for(i=0; ia[i].pExpr; if( pExpr->op!=TK_COLUMN || pExpr->iTable!=pSrc->iCursor ) break; + if( pOrderBy->a[i].sortFlags & KEYINFO_ORDER_BIGNULL ) break; } if( i==n){ nOrderBy = n; @@ -140232,7 +142320,7 @@ static sqlite3_index_info *allocateIndexInfo( for(i=0; ia[i].pExpr; pIdxOrderBy[i].iColumn = pExpr->iColumn; - pIdxOrderBy[i].desc = pOrderBy->a[i].sortOrder; + pIdxOrderBy[i].desc = pOrderBy->a[i].sortFlags & KEYINFO_ORDER_DESC; } *pmNoOmit = mNoOmit; @@ -140278,7 +142366,7 @@ static int vtabBestIndex(Parse *pParse, Table *pTab, sqlite3_index_info *p){ } #endif /* !defined(SQLITE_OMIT_VIRTUALTABLE) */ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 /* ** Estimate the location of a particular key among all keys in an ** index. Store the results in aStat as follows: @@ -140471,7 +142559,7 @@ static int whereKeyStats( pRec->nField = nField; return i; } -#endif /* SQLITE_ENABLE_STAT3_OR_STAT4 */ +#endif /* SQLITE_ENABLE_STAT4 */ /* ** If it is not NULL, pTerm is a term that provides an upper or lower @@ -140497,7 +142585,7 @@ static LogEst whereRangeAdjust(WhereTerm *pTerm, LogEst nNew){ } -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 /* ** Return the affinity for a single column of an index. */ @@ -140506,12 +142594,13 @@ SQLITE_PRIVATE char sqlite3IndexColumnAffinity(sqlite3 *db, Index *pIdx, int iCo if( !pIdx->zColAff ){ if( sqlite3IndexAffinityStr(db, pIdx)==0 ) return SQLITE_AFF_BLOB; } + assert( pIdx->zColAff[iCol]!=0 ); return pIdx->zColAff[iCol]; } #endif -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 /* ** This function is called to estimate the number of rows visited by a ** range-scan on a skip-scan index. For example: @@ -140617,7 +142706,7 @@ static int whereRangeSkipScanEst( return rc; } -#endif /* SQLITE_ENABLE_STAT3_OR_STAT4 */ +#endif /* SQLITE_ENABLE_STAT4 */ /* ** This function is used to estimate the number of rows that will be visited @@ -140670,12 +142759,12 @@ static int whereRangeScanEst( int nOut = pLoop->nOut; LogEst nNew; -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 Index *p = pLoop->u.btree.pIndex; int nEq = pLoop->u.btree.nEq; - if( p->nSample>0 && nEqnSampleCol - && OptimizationEnabled(pParse->db, SQLITE_Stat34) + if( p->nSample>0 && ALWAYS(nEqnSampleCol) + && OptimizationEnabled(pParse->db, SQLITE_Stat4) ){ if( nEq==pBuilder->nRecValid ){ UnpackedRecord *pRec = pBuilder->pRec; @@ -140773,7 +142862,7 @@ static int whereRangeScanEst( /* TUNING: If both iUpper and iLower are derived from the same ** sample, then assume they are 4x more selective. This brings ** the estimated selectivity more in line with what it would be - ** if estimated without the use of STAT3/4 tables. */ + ** if estimated without the use of STAT4 tables. */ if( iLwrIdx==iUprIdx ) nNew -= 20; assert( 20==sqlite3LogEst(4) ); }else{ nNew = 10; assert( 10==sqlite3LogEst(2) ); @@ -140822,12 +142911,12 @@ static int whereRangeScanEst( return rc; } -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 /* ** Estimate the number of rows that will be returned based on ** an equality constraint x=VALUE and where that VALUE occurs in ** the histogram data. This only works when x is the left-most -** column of an index and sqlite_stat3 histogram data is available +** column of an index and sqlite_stat4 histogram data is available ** for that index. When pExpr==NULL that means the constraint is ** "x IS NULL" instead of "x=VALUE". ** @@ -140885,9 +142974,9 @@ static int whereEqualScanEst( return rc; } -#endif /* SQLITE_ENABLE_STAT3_OR_STAT4 */ +#endif /* SQLITE_ENABLE_STAT4 */ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 /* ** Estimate the number of rows that will be returned based on ** an IN constraint where the right-hand side of the IN operator @@ -140934,7 +143023,7 @@ static int whereInScanEst( assert( pBuilder->nRecValid==nRecValid ); return rc; } -#endif /* SQLITE_ENABLE_STAT3_OR_STAT4 */ +#endif /* SQLITE_ENABLE_STAT4 */ #ifdef WHERETRACE_ENABLED @@ -141423,7 +143512,7 @@ static int whereLoopInsert(WhereLoopBuilder *pBuilder, WhereLoop *pTemplate){ rc = whereLoopXfer(db, p, pTemplate); if( (p->wsFlags & WHERE_VIRTUALTABLE)==0 ){ Index *pIndex = p->u.btree.pIndex; - if( pIndex && pIndex->tnum==0 ){ + if( pIndex && pIndex->idxType==SQLITE_IDXTYPE_IPK ){ p->u.btree.pIndex = 0; } } @@ -141466,11 +143555,12 @@ static void whereLoopOutputAdjust( ){ WhereTerm *pTerm, *pX; Bitmask notAllowed = ~(pLoop->prereq|pLoop->maskSelf); - int i, j, k; + int i, j; LogEst iReduce = 0; /* pLoop->nOut should not exceed nRow-iReduce */ assert( (pLoop->wsFlags & WHERE_AUTO_INDEX)==0 ); for(i=pWC->nTerm, pTerm=pWC->a; i>0; i--, pTerm++){ + assert( pTerm!=0 ); if( (pTerm->wtFlags & TERM_VIRTUAL)!=0 ) break; if( (pTerm->prereqAll & pLoop->maskSelf)==0 ) continue; if( (pTerm->prereqAll & notAllowed)!=0 ) continue; @@ -141491,6 +143581,7 @@ static void whereLoopOutputAdjust( pLoop->nOut--; if( pTerm->eOperator&(WO_EQ|WO_IS) ){ Expr *pRight = pTerm->pExpr->pRight; + int k = 0; testcase( pTerm->pExpr->op==TK_IS ); if( sqlite3ExprIsInteger(pRight, &k) && k>=(-1) && k<=1 ){ k = 10; @@ -141590,8 +143681,8 @@ static int whereRangeVectorLen( ** terms only. If it is modified, this value is restored before this ** function returns. ** -** If pProbe->tnum==0, that means pIndex is a fake index used for the -** INTEGER PRIMARY KEY. +** If pProbe->idxType==SQLITE_IDXTYPE_IPK, that means pIndex is +** a fake index used for the INTEGER PRIMARY KEY. */ static int whereLoopAddBtreeIndex( WhereLoopBuilder *pBuilder, /* The WhereLoop factory */ @@ -141654,7 +143745,7 @@ static int whereLoopAddBtreeIndex( LogEst rCostIdx; LogEst nOutUnadjusted; /* nOut before IN() and WHERE adjustments */ int nIn = 0; -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 int nRecValid = pBuilder->nRecValid; #endif if( (eOp==WO_ISNULL || (pTerm->wtFlags&TERM_VNULL)!=0) @@ -141715,8 +143806,6 @@ static int whereLoopAddBtreeIndex( }else if( ALWAYS(pExpr->x.pList && pExpr->x.pList->nExpr) ){ /* "x IN (value, value, ...)" */ nIn = sqlite3LogEst(pExpr->x.pList->nExpr); - assert( nIn>0 ); /* RHS always has 2 or more terms... The parser - ** changes "x IN (?)" into "x=?". */ } if( pProbe->hasStat1 ){ LogEst M, logK, safetyMargin; @@ -141812,7 +143901,7 @@ static int whereLoopAddBtreeIndex( ** the value of pNew->nOut to account for pTerm (but not nIn/nInMul). */ assert( pNew->nOut==saved_nOut ); if( pNew->wsFlags & WHERE_COLUMN_RANGE ){ - /* Adjust nOut using stat3/stat4 data. Or, if there is no stat3/stat4 + /* Adjust nOut using stat4 data. Or, if there is no stat4 ** data, using some other estimate. */ whereRangeScanEst(pParse, pBuilder, pBtm, pTop, pNew); }else{ @@ -141826,13 +143915,13 @@ static int whereLoopAddBtreeIndex( pNew->nOut += pTerm->truthProb; pNew->nOut -= nIn; }else{ -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 tRowcnt nOut = 0; if( nInMul==0 && pProbe->nSample && pNew->u.btree.nEq<=pProbe->nSampleCol && ((eOp & WO_IN)==0 || !ExprHasProperty(pTerm->pExpr, EP_xIsSelect)) - && OptimizationEnabled(db, SQLITE_Stat34) + && OptimizationEnabled(db, SQLITE_Stat4) ){ Expr *pExpr = pTerm->pExpr; if( (eOp & (WO_EQ|WO_ISNULL|WO_IS))!=0 ){ @@ -141869,6 +143958,7 @@ static int whereLoopAddBtreeIndex( ** it to pNew->rRun, which is currently set to the cost of the index ** seek only. Then, if this is a non-covering index, add the cost of ** visiting the rows in the main table. */ + assert( pSrc->pTab->szTabRow>0 ); rCostIdx = pNew->nOut + 1 + (15*pProbe->szIdxRow)/pSrc->pTab->szTabRow; pNew->rRun = sqlite3LogEstAdd(rLogSize, rCostIdx); if( (pNew->wsFlags & (WHERE_IDX_ONLY|WHERE_IPK))==0 ){ @@ -141894,7 +143984,7 @@ static int whereLoopAddBtreeIndex( whereLoopAddBtreeIndex(pBuilder, pSrc, pProbe, nInMul+nIn); } pNew->nOut = saved_nOut; -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 pBuilder->nRecValid = nRecValid; #endif } @@ -141967,7 +144057,7 @@ static int indexMightHelpWithOrderBy( if( pIndex->bUnordered ) return 0; if( (pOB = pBuilder->pWInfo->pOrderBy)==0 ) return 0; for(ii=0; iinExpr; ii++){ - Expr *pExpr = sqlite3ExprSkipCollate(pOB->a[ii].pExpr); + Expr *pExpr = sqlite3ExprSkipCollateAndLikely(pOB->a[ii].pExpr); if( pExpr->op==TK_COLUMN && pExpr->iTable==iCursor ){ if( pExpr->iColumn<0 ) return 1; for(jj=0; jjnKeyCol; jj++){ @@ -141998,7 +144088,9 @@ static int whereUsablePartialIndex(int iTab, WhereClause *pWC, Expr *pWhere){ } if( pParse->db->flags & SQLITE_EnableQPSG ) pParse = 0; for(i=0, pTerm=pWC->a; inTerm; i++, pTerm++){ - Expr *pExpr = pTerm->pExpr; + Expr *pExpr; + if( pTerm->wtFlags & TERM_NOPARTIDX ) continue; + pExpr = pTerm->pExpr; if( (!ExprHasProperty(pExpr, EP_FromJoin) || pExpr->iRightJoinTable==iTab) && sqlite3ExprImpliesExpr(pParse, pExpr, pWhere, iTab) ){ @@ -142091,6 +144183,7 @@ static int whereLoopAddBtree( sPk.onError = OE_Replace; sPk.pTable = pTab; sPk.szIdxRow = pTab->szTabRow; + sPk.idxType = SQLITE_IDXTYPE_IPK; aiRowEstPk[0] = pTab->nRowLogEst; aiRowEstPk[1] = 0; pFirst = pSrc->pTab->pIndex; @@ -142181,7 +144274,7 @@ static int whereLoopAddBtree( b = indexMightHelpWithOrderBy(pBuilder, pProbe, pSrc->iCursor); /* The ONEPASS_DESIRED flags never occurs together with ORDER BY */ assert( (pWInfo->wctrlFlags & WHERE_ONEPASS_DESIRED)==0 || b==0 ); - if( pProbe->tnum<=0 ){ + if( pProbe->idxType==SQLITE_IDXTYPE_IPK ){ /* Integer primary key index */ pNew->wsFlags = WHERE_IPK; @@ -142266,7 +144359,7 @@ static int whereLoopAddBtree( ** plan */ pTab->tabFlags |= TF_StatsUsed; } -#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 +#ifdef SQLITE_ENABLE_STAT4 sqlite3Stat4ProbeFree(pBuilder->pRec); pBuilder->nRecValid = 0; pBuilder->pRec = 0; @@ -142534,11 +144627,11 @@ static int whereLoopAddVirtual( rc = whereLoopAddVirtualOne(pBuilder, mPrereq, ALLBITS, 0, p, mNoOmit, &bIn); /* If the call to xBestIndex() with all terms enabled produced a plan - ** that does not require any source tables (IOW: a plan with mBest==0), - ** then there is no point in making any further calls to xBestIndex() - ** since they will all return the same result (if the xBestIndex() - ** implementation is sane). */ - if( rc==SQLITE_OK && (mBest = (pNew->prereq & ~mPrereq))!=0 ){ + ** that does not require any source tables (IOW: a plan with mBest==0) + ** and does not use an IN(...) operator, then there is no point in making + ** any further calls to xBestIndex() since they will all return the same + ** result (if the xBestIndex() implementation is sane). */ + if( rc==SQLITE_OK && ((mBest = (pNew->prereq & ~mPrereq))!=0 || bIn) ){ int seenZero = 0; /* True if a plan with no prereqs seen */ int seenZeroNoIN = 0; /* Plan with no prereqs and no IN(...) seen */ Bitmask mPrev = 0; @@ -142894,8 +144987,8 @@ static i8 wherePathSatisfiesOrderBy( if( pLoop->wsFlags & WHERE_VIRTUALTABLE ){ if( pLoop->u.vtab.isOrdered ) obSat = obDone; break; - }else{ - pLoop->u.btree.nIdxCol = 0; + }else if( wctrlFlags & WHERE_DISTINCTBY ){ + pLoop->u.btree.nDistinctCol = 0; } iCur = pWInfo->pTabList->a[pLoop->iTab].iCursor; @@ -142906,7 +144999,7 @@ static i8 wherePathSatisfiesOrderBy( */ for(i=0; ia[i].pExpr); + pOBExpr = sqlite3ExprSkipCollateAndLikely(pOrderBy->a[i].pExpr); if( pOBExpr->op!=TK_COLUMN ) continue; if( pOBExpr->iTable!=iCur ) continue; pTerm = sqlite3WhereFindTerm(&pWInfo->sWC, iCur, pOBExpr->iColumn, @@ -142943,7 +145036,8 @@ static i8 wherePathSatisfiesOrderBy( assert( nColumn==nKeyCol+1 || !HasRowid(pIndex->pTable) ); assert( pIndex->aiColumn[nColumn-1]==XN_ROWID || !HasRowid(pIndex->pTable)); - isOrderDistinct = IsUniqueIndex(pIndex); + isOrderDistinct = IsUniqueIndex(pIndex) + && (pLoop->wsFlags & WHERE_SKIPSCAN)==0; } /* Loop through all columns of the index and deal with the ones @@ -142961,15 +145055,21 @@ static i8 wherePathSatisfiesOrderBy( u16 eOp = pLoop->aLTerm[j]->eOperator; /* Skip over == and IS and ISNULL terms. (Also skip IN terms when - ** doing WHERE_ORDERBY_LIMIT processing). + ** doing WHERE_ORDERBY_LIMIT processing). Except, IS and ISNULL + ** terms imply that the index is not UNIQUE NOT NULL in which case + ** the loop need to be marked as not order-distinct because it can + ** have repeated NULL rows. ** ** If the current term is a column of an ((?,?) IN (SELECT...)) ** expression for which the SELECT returns more than one column, ** check that it is the only column used by this loop. Otherwise, ** if it is one of two or more, none of the columns can be - ** considered to match an ORDER BY term. */ + ** considered to match an ORDER BY term. + */ if( (eOp & eqOpMask)!=0 ){ - if( eOp & WO_ISNULL ){ + if( eOp & (WO_ISNULL|WO_IS) ){ + testcase( eOp & WO_ISNULL ); + testcase( eOp & WO_IS ); testcase( isOrderDistinct ); isOrderDistinct = 0; } @@ -142995,7 +145095,7 @@ static i8 wherePathSatisfiesOrderBy( */ if( pIndex ){ iColumn = pIndex->aiColumn[j]; - revIdx = pIndex->aSortOrder[j]; + revIdx = pIndex->aSortOrder[j] & KEYINFO_ORDER_DESC; if( iColumn==pIndex->pTable->iPKey ) iColumn = XN_ROWID; }else{ iColumn = XN_ROWID; @@ -143019,7 +145119,7 @@ static i8 wherePathSatisfiesOrderBy( isMatch = 0; for(i=0; bOnce && ia[i].pExpr); + pOBExpr = sqlite3ExprSkipCollateAndLikely(pOrderBy->a[i].pExpr); testcase( wctrlFlags & WHERE_GROUPBY ); testcase( wctrlFlags & WHERE_DISTINCTBY ); if( (wctrlFlags & (WHERE_GROUPBY|WHERE_DISTINCTBY))==0 ) bOnce = 0; @@ -143037,7 +145137,9 @@ static i8 wherePathSatisfiesOrderBy( pColl = sqlite3ExprNNCollSeq(pWInfo->pParse, pOrderBy->a[i].pExpr); if( sqlite3StrICmp(pColl->zName, pIndex->azColl[j])!=0 ) continue; } - pLoop->u.btree.nIdxCol = j+1; + if( wctrlFlags & WHERE_DISTINCTBY ){ + pLoop->u.btree.nDistinctCol = j+1; + } isMatch = 1; break; } @@ -143045,13 +145147,22 @@ static i8 wherePathSatisfiesOrderBy( /* Make sure the sort order is compatible in an ORDER BY clause. ** Sort order is irrelevant for a GROUP BY clause. */ if( revSet ){ - if( (rev ^ revIdx)!=pOrderBy->a[i].sortOrder ) isMatch = 0; + if( (rev ^ revIdx)!=(pOrderBy->a[i].sortFlags&KEYINFO_ORDER_DESC) ){ + isMatch = 0; + } }else{ - rev = revIdx ^ pOrderBy->a[i].sortOrder; + rev = revIdx ^ (pOrderBy->a[i].sortFlags & KEYINFO_ORDER_DESC); if( rev ) *pRevMask |= MASKBIT(iLoop); revSet = 1; } } + if( isMatch && (pOrderBy->a[i].sortFlags & KEYINFO_ORDER_BIGNULL) ){ + if( j==pLoop->u.btree.nEq ){ + pLoop->wsFlags |= WHERE_BIGNULL_SORT; + }else{ + isMatch = 0; + } + } if( isMatch ){ if( iColumn==XN_ROWID ){ testcase( distinctColumns==0 ); @@ -143857,7 +145968,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( pWInfo->pResultSet = pResultSet; pWInfo->aiCurOnePass[0] = pWInfo->aiCurOnePass[1] = -1; pWInfo->nLevel = nTabList; - pWInfo->iBreak = pWInfo->iContinue = sqlite3VdbeMakeLabel(v); + pWInfo->iBreak = pWInfo->iContinue = sqlite3VdbeMakeLabel(pParse); pWInfo->wctrlFlags = wctrlFlags; pWInfo->iLimit = iAuxArg; pWInfo->savedNQueryLoop = pParse->nQueryLoop; @@ -143965,6 +146076,16 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( sqlite3DebugPrintf(", limit: %d", iAuxArg); } sqlite3DebugPrintf(")\n"); + if( sqlite3WhereTrace & 0x100 ){ + Select sSelect; + memset(&sSelect, 0, sizeof(sSelect)); + sSelect.selFlags = SF_WhereBegin; + sSelect.pSrc = pTabList; + sSelect.pWhere = pWhere; + sSelect.pOrderBy = pOrderBy; + sSelect.pEList = pResultSet; + sqlite3TreeViewSelect(0, &sSelect, 0); + } } if( sqlite3WhereTrace & 0x100 ){ /* Display all terms of the WHERE clause */ sqlite3WhereClausePrint(sWLB.pWC); @@ -144131,9 +146252,10 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( if( (wctrlFlags & WHERE_ONEPASS_DESIRED)!=0 ){ int wsFlags = pWInfo->a[0].pWLoop->wsFlags; int bOnerow = (wsFlags & WHERE_ONEROW)!=0; + assert( !(wsFlags & WHERE_VIRTUALTABLE) || IsVirtual(pTabList->a[0].pTab) ); if( bOnerow || ( 0!=(wctrlFlags & WHERE_ONEPASS_MULTIROW) - && 0==(wsFlags & WHERE_VIRTUALTABLE) + && !IsVirtual(pTabList->a[0].pTab) && (0==(wsFlags & WHERE_MULTI_OR) || (wctrlFlags & WHERE_DUPLICATES_OK)) )){ pWInfo->eOnePass = bOnerow ? ONEPASS_SINGLE : ONEPASS_MULTI; @@ -144240,6 +146362,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( sqlite3VdbeSetP4KeyInfo(pParse, pIx); if( (pLoop->wsFlags & WHERE_CONSTRAINT)!=0 && (pLoop->wsFlags & (WHERE_COLUMN_RANGE|WHERE_SKIPSCAN))==0 + && (pLoop->wsFlags & WHERE_BIGNULL_SORT)==0 && (pWInfo->wctrlFlags&WHERE_ORDERBY_MIN)==0 && pWInfo->eDistinct!=WHERE_DISTINCT_ORDERED ){ @@ -144288,7 +146411,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( pParse, pTabList, pLevel, wctrlFlags ); pLevel->addrBody = sqlite3VdbeCurrentAddr(v); - notReady = sqlite3WhereCodeOneLoopStart(pWInfo, ii, notReady); + notReady = sqlite3WhereCodeOneLoopStart(pParse,v,pWInfo,ii,pLevel,notReady); pWInfo->iContinue = pLevel->addrCont; if( (wsFlags&WHERE_MULTI_OR)==0 && (wctrlFlags&WHERE_OR_SUBCLAUSE)==0 ){ sqlite3WhereAddScanStatus(v, pTabList, pLevel, addrExplain); @@ -144357,7 +146480,7 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ && i==pWInfo->nLevel-1 /* Ticket [ef9318757b152e3] 2017-10-21 */ && (pLoop->wsFlags & WHERE_INDEXED)!=0 && (pIdx = pLoop->u.btree.pIndex)->hasStat1 - && (n = pLoop->u.btree.nIdxCol)>0 + && (n = pLoop->u.btree.nDistinctCol)>0 && pIdx->aiRowLogEst[n]>=36 ){ int r1 = pParse->nMem+1; @@ -144381,6 +146504,11 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ VdbeCoverageIf(v, pLevel->op==OP_Next); VdbeCoverageIf(v, pLevel->op==OP_Prev); VdbeCoverageIf(v, pLevel->op==OP_VNext); + if( pLevel->regBignull ){ + sqlite3VdbeResolveLabel(v, pLevel->addrBignull); + sqlite3VdbeAddOp2(v, OP_DecrJumpZero, pLevel->regBignull, pLevel->p2-1); + VdbeCoverage(v); + } #ifndef SQLITE_DISABLE_SKIPAHEAD_DISTINCT if( addrSeek ) sqlite3VdbeJumpHere(v, addrSeek); #endif @@ -144473,6 +146601,29 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ continue; } +#ifdef SQLITE_ENABLE_EARLY_CURSOR_CLOSE + /* Close all of the cursors that were opened by sqlite3WhereBegin. + ** Except, do not close cursors that will be reused by the OR optimization + ** (WHERE_OR_SUBCLAUSE). And do not close the OP_OpenWrite cursors + ** created for the ONEPASS optimization. + */ + if( (pTab->tabFlags & TF_Ephemeral)==0 + && pTab->pSelect==0 + && (pWInfo->wctrlFlags & WHERE_OR_SUBCLAUSE)==0 + ){ + int ws = pLoop->wsFlags; + if( pWInfo->eOnePass==ONEPASS_OFF && (ws & WHERE_IDX_ONLY)==0 ){ + sqlite3VdbeAddOp1(v, OP_Close, pTabItem->iCursor); + } + if( (ws & WHERE_INDEXED)!=0 + && (ws & (WHERE_IPK|WHERE_AUTO_INDEX))==0 + && pLevel->iIdxCur!=pWInfo->aiCurOnePass[1] + ){ + sqlite3VdbeAddOp1(v, OP_Close, pLevel->iIdxCur); + } + } +#endif + /* If this scan uses an index, make VDBE code substitutions to read data ** from the index instead of from the table where possible. In some cases ** this optimization prevents the table from ever being read, which can @@ -144747,6 +146898,96 @@ static void dense_rankValueFunc(sqlite3_context *pCtx){ } } +/* +** Implementation of built-in window function nth_value(). This +** implementation is used in "slow mode" only - when the EXCLUDE clause +** is not set to the default value "NO OTHERS". +*/ +struct NthValueCtx { + i64 nStep; + sqlite3_value *pValue; +}; +static void nth_valueStepFunc( + sqlite3_context *pCtx, + int nArg, + sqlite3_value **apArg +){ + struct NthValueCtx *p; + p = (struct NthValueCtx*)sqlite3_aggregate_context(pCtx, sizeof(*p)); + if( p ){ + i64 iVal; + switch( sqlite3_value_numeric_type(apArg[1]) ){ + case SQLITE_INTEGER: + iVal = sqlite3_value_int64(apArg[1]); + break; + case SQLITE_FLOAT: { + double fVal = sqlite3_value_double(apArg[1]); + if( ((i64)fVal)!=fVal ) goto error_out; + iVal = (i64)fVal; + break; + } + default: + goto error_out; + } + if( iVal<=0 ) goto error_out; + + p->nStep++; + if( iVal==p->nStep ){ + p->pValue = sqlite3_value_dup(apArg[0]); + if( !p->pValue ){ + sqlite3_result_error_nomem(pCtx); + } + } + } + UNUSED_PARAMETER(nArg); + UNUSED_PARAMETER(apArg); + return; + + error_out: + sqlite3_result_error( + pCtx, "second argument to nth_value must be a positive integer", -1 + ); +} +static void nth_valueFinalizeFunc(sqlite3_context *pCtx){ + struct NthValueCtx *p; + p = (struct NthValueCtx*)sqlite3_aggregate_context(pCtx, 0); + if( p && p->pValue ){ + sqlite3_result_value(pCtx, p->pValue); + sqlite3_value_free(p->pValue); + p->pValue = 0; + } +} +#define nth_valueInvFunc noopStepFunc +#define nth_valueValueFunc noopValueFunc + +static void first_valueStepFunc( + sqlite3_context *pCtx, + int nArg, + sqlite3_value **apArg +){ + struct NthValueCtx *p; + p = (struct NthValueCtx*)sqlite3_aggregate_context(pCtx, sizeof(*p)); + if( p && p->pValue==0 ){ + p->pValue = sqlite3_value_dup(apArg[0]); + if( !p->pValue ){ + sqlite3_result_error_nomem(pCtx); + } + } + UNUSED_PARAMETER(nArg); + UNUSED_PARAMETER(apArg); +} +static void first_valueFinalizeFunc(sqlite3_context *pCtx){ + struct NthValueCtx *p; + p = (struct NthValueCtx*)sqlite3_aggregate_context(pCtx, sizeof(*p)); + if( p && p->pValue ){ + sqlite3_result_value(pCtx, p->pValue); + sqlite3_value_free(p->pValue); + p->pValue = 0; + } +} +#define first_valueInvFunc noopStepFunc +#define first_valueValueFunc noopValueFunc + /* ** Implementation of built-in window function rank(). Assumes that ** the window frame has been set to: @@ -144782,7 +147023,7 @@ static void rankValueFunc(sqlite3_context *pCtx){ ** Implementation of built-in window function percent_rank(). Assumes that ** the window frame has been set to: ** -** RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW +** GROUPS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING */ static void percent_rankStepFunc( sqlite3_context *pCtx, @@ -144790,38 +147031,44 @@ static void percent_rankStepFunc( sqlite3_value **apArg ){ struct CallCount *p; - UNUSED_PARAMETER(nArg); assert( nArg==1 ); - + UNUSED_PARAMETER(nArg); assert( nArg==0 ); + UNUSED_PARAMETER(apArg); p = (struct CallCount*)sqlite3_aggregate_context(pCtx, sizeof(*p)); if( p ){ - if( p->nTotal==0 ){ - p->nTotal = sqlite3_value_int64(apArg[0]); - } - p->nStep++; - if( p->nValue==0 ){ - p->nValue = p->nStep; - } + p->nTotal++; } } +static void percent_rankInvFunc( + sqlite3_context *pCtx, + int nArg, + sqlite3_value **apArg +){ + struct CallCount *p; + UNUSED_PARAMETER(nArg); assert( nArg==0 ); + UNUSED_PARAMETER(apArg); + p = (struct CallCount*)sqlite3_aggregate_context(pCtx, sizeof(*p)); + p->nStep++; +} static void percent_rankValueFunc(sqlite3_context *pCtx){ struct CallCount *p; p = (struct CallCount*)sqlite3_aggregate_context(pCtx, sizeof(*p)); if( p ){ + p->nValue = p->nStep; if( p->nTotal>1 ){ - double r = (double)(p->nValue-1) / (double)(p->nTotal-1); + double r = (double)p->nValue / (double)(p->nTotal-1); sqlite3_result_double(pCtx, r); }else{ sqlite3_result_double(pCtx, 0.0); } - p->nValue = 0; } } +#define percent_rankFinalizeFunc percent_rankValueFunc /* ** Implementation of built-in window function cume_dist(). Assumes that ** the window frame has been set to: ** -** RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW +** GROUPS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING */ static void cume_distStepFunc( sqlite3_context *pCtx, @@ -144829,24 +147076,33 @@ static void cume_distStepFunc( sqlite3_value **apArg ){ struct CallCount *p; - assert( nArg==1 ); UNUSED_PARAMETER(nArg); - + UNUSED_PARAMETER(nArg); assert( nArg==0 ); + UNUSED_PARAMETER(apArg); p = (struct CallCount*)sqlite3_aggregate_context(pCtx, sizeof(*p)); if( p ){ - if( p->nTotal==0 ){ - p->nTotal = sqlite3_value_int64(apArg[0]); - } - p->nStep++; + p->nTotal++; } } -static void cume_distValueFunc(sqlite3_context *pCtx){ +static void cume_distInvFunc( + sqlite3_context *pCtx, + int nArg, + sqlite3_value **apArg +){ struct CallCount *p; + UNUSED_PARAMETER(nArg); assert( nArg==0 ); + UNUSED_PARAMETER(apArg); p = (struct CallCount*)sqlite3_aggregate_context(pCtx, sizeof(*p)); - if( p && p->nTotal ){ + p->nStep++; +} +static void cume_distValueFunc(sqlite3_context *pCtx){ + struct CallCount *p; + p = (struct CallCount*)sqlite3_aggregate_context(pCtx, 0); + if( p ){ double r = (double)(p->nStep) / (double)(p->nTotal); sqlite3_result_double(pCtx, r); } } +#define cume_distFinalizeFunc cume_distValueFunc /* ** Context object for ntile() window function. @@ -144861,7 +147117,7 @@ struct NtileCtx { ** Implementation of ntile(). This assumes that the window frame has ** been coerced to: ** -** ROWS UNBOUNDED PRECEDING AND CURRENT ROW +** ROWS CURRENT ROW AND UNBOUNDED FOLLOWING */ static void ntileStepFunc( sqlite3_context *pCtx, @@ -144869,32 +147125,42 @@ static void ntileStepFunc( sqlite3_value **apArg ){ struct NtileCtx *p; - assert( nArg==2 ); UNUSED_PARAMETER(nArg); + assert( nArg==1 ); UNUSED_PARAMETER(nArg); p = (struct NtileCtx*)sqlite3_aggregate_context(pCtx, sizeof(*p)); if( p ){ if( p->nTotal==0 ){ p->nParam = sqlite3_value_int64(apArg[0]); - p->nTotal = sqlite3_value_int64(apArg[1]); if( p->nParam<=0 ){ sqlite3_result_error( pCtx, "argument of ntile must be a positive integer", -1 ); } } - p->iRow++; + p->nTotal++; } } +static void ntileInvFunc( + sqlite3_context *pCtx, + int nArg, + sqlite3_value **apArg +){ + struct NtileCtx *p; + assert( nArg==1 ); UNUSED_PARAMETER(nArg); + UNUSED_PARAMETER(apArg); + p = (struct NtileCtx*)sqlite3_aggregate_context(pCtx, sizeof(*p)); + p->iRow++; +} static void ntileValueFunc(sqlite3_context *pCtx){ struct NtileCtx *p; p = (struct NtileCtx*)sqlite3_aggregate_context(pCtx, sizeof(*p)); if( p && p->nParam>0 ){ int nSize = (p->nTotal / p->nParam); if( nSize==0 ){ - sqlite3_result_int64(pCtx, p->iRow); + sqlite3_result_int64(pCtx, p->iRow+1); }else{ i64 nLarge = p->nTotal - p->nParam*nSize; i64 iSmall = nLarge*(nSize+1); - i64 iRow = p->iRow-1; + i64 iRow = p->iRow; assert( (nLarge*(nSize+1) + (p->nParam-nLarge)*nSize)==p->nTotal ); @@ -144906,6 +147172,7 @@ static void ntileValueFunc(sqlite3_context *pCtx){ } } } +#define ntileFinalizeFunc ntileValueFunc /* ** Context object for last_value() window function. @@ -144955,7 +147222,7 @@ static void last_valueInvFunc( } static void last_valueValueFunc(sqlite3_context *pCtx){ struct LastValueCtx *p; - p = (struct LastValueCtx*)sqlite3_aggregate_context(pCtx, sizeof(*p)); + p = (struct LastValueCtx*)sqlite3_aggregate_context(pCtx, 0); if( p && p->pVal ){ sqlite3_result_value(pCtx, p->pVal); } @@ -145045,12 +147312,12 @@ SQLITE_PRIVATE void sqlite3WindowFunctions(void){ WINDOWFUNCX(row_number, 0, 0), WINDOWFUNCX(dense_rank, 0, 0), WINDOWFUNCX(rank, 0, 0), - WINDOWFUNCX(percent_rank, 0, SQLITE_FUNC_WINDOW_SIZE), - WINDOWFUNCX(cume_dist, 0, SQLITE_FUNC_WINDOW_SIZE), - WINDOWFUNCX(ntile, 1, SQLITE_FUNC_WINDOW_SIZE), + WINDOWFUNCALL(percent_rank, 0, 0), + WINDOWFUNCALL(cume_dist, 0, 0), + WINDOWFUNCALL(ntile, 1, 0), WINDOWFUNCALL(last_value, 1, 0), - WINDOWFUNCNOOP(nth_value, 2, 0), - WINDOWFUNCNOOP(first_value, 1, 0), + WINDOWFUNCALL(nth_value, 2, 0), + WINDOWFUNCALL(first_value, 1, 0), WINDOWFUNCNOOP(lead, 1, 0), WINDOWFUNCNOOP(lead, 2, 0), WINDOWFUNCNOOP(lead, 3, 0), @@ -145061,6 +147328,17 @@ SQLITE_PRIVATE void sqlite3WindowFunctions(void){ sqlite3InsertBuiltinFuncs(aWindowFuncs, ArraySize(aWindowFuncs)); } +static Window *windowFind(Parse *pParse, Window *pList, const char *zName){ + Window *p; + for(p=pList; p; p=p->pNextWin){ + if( sqlite3StrICmp(p->zName, zName)==0 ) break; + } + if( p==0 ){ + sqlite3ErrorMsg(pParse, "no such window: %s", zName); + } + return p; +} + /* ** This function is called immediately after resolving the function name ** for a window function within a SELECT statement. Argument pList is a @@ -145084,48 +147362,66 @@ SQLITE_PRIVATE void sqlite3WindowUpdate( Window *pWin, /* Window frame to update */ FuncDef *pFunc /* Window function definition */ ){ - if( pWin->zName && pWin->eType==0 ){ - Window *p; - for(p=pList; p; p=p->pNextWin){ - if( sqlite3StrICmp(p->zName, pWin->zName)==0 ) break; - } - if( p==0 ){ - sqlite3ErrorMsg(pParse, "no such window: %s", pWin->zName); - return; - } + if( pWin->zName && pWin->eFrmType==0 ){ + Window *p = windowFind(pParse, pList, pWin->zName); + if( p==0 ) return; pWin->pPartition = sqlite3ExprListDup(pParse->db, p->pPartition, 0); pWin->pOrderBy = sqlite3ExprListDup(pParse->db, p->pOrderBy, 0); pWin->pStart = sqlite3ExprDup(pParse->db, p->pStart, 0); pWin->pEnd = sqlite3ExprDup(pParse->db, p->pEnd, 0); pWin->eStart = p->eStart; pWin->eEnd = p->eEnd; - pWin->eType = p->eType; + pWin->eFrmType = p->eFrmType; + pWin->eExclude = p->eExclude; + }else{ + sqlite3WindowChain(pParse, pWin, pList); } + if( (pWin->eFrmType==TK_RANGE) + && (pWin->pStart || pWin->pEnd) + && (pWin->pOrderBy==0 || pWin->pOrderBy->nExpr!=1) + ){ + sqlite3ErrorMsg(pParse, + "RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression" + ); + }else if( pFunc->funcFlags & SQLITE_FUNC_WINDOW ){ sqlite3 *db = pParse->db; if( pWin->pFilter ){ sqlite3ErrorMsg(pParse, "FILTER clause may only be used with aggregate window functions" ); - }else - if( pFunc->zName==row_numberName || pFunc->zName==ntileName ){ - sqlite3ExprDelete(db, pWin->pStart); - sqlite3ExprDelete(db, pWin->pEnd); - pWin->pStart = pWin->pEnd = 0; - pWin->eType = TK_ROWS; - pWin->eStart = TK_UNBOUNDED; - pWin->eEnd = TK_CURRENT; - }else - - if( pFunc->zName==dense_rankName || pFunc->zName==rankName - || pFunc->zName==percent_rankName || pFunc->zName==cume_distName - ){ - sqlite3ExprDelete(db, pWin->pStart); - sqlite3ExprDelete(db, pWin->pEnd); - pWin->pStart = pWin->pEnd = 0; - pWin->eType = TK_RANGE; - pWin->eStart = TK_UNBOUNDED; - pWin->eEnd = TK_CURRENT; + }else{ + struct WindowUpdate { + const char *zFunc; + int eFrmType; + int eStart; + int eEnd; + } aUp[] = { + { row_numberName, TK_ROWS, TK_UNBOUNDED, TK_CURRENT }, + { dense_rankName, TK_RANGE, TK_UNBOUNDED, TK_CURRENT }, + { rankName, TK_RANGE, TK_UNBOUNDED, TK_CURRENT }, + { percent_rankName, TK_GROUPS, TK_CURRENT, TK_UNBOUNDED }, + { cume_distName, TK_GROUPS, TK_FOLLOWING, TK_UNBOUNDED }, + { ntileName, TK_ROWS, TK_CURRENT, TK_UNBOUNDED }, + { leadName, TK_ROWS, TK_UNBOUNDED, TK_UNBOUNDED }, + { lagName, TK_ROWS, TK_UNBOUNDED, TK_CURRENT }, + }; + int i; + for(i=0; izName==aUp[i].zFunc ){ + sqlite3ExprDelete(db, pWin->pStart); + sqlite3ExprDelete(db, pWin->pEnd); + pWin->pEnd = pWin->pStart = 0; + pWin->eFrmType = aUp[i].eFrmType; + pWin->eStart = aUp[i].eStart; + pWin->eEnd = aUp[i].eEnd; + pWin->eExclude = 0; + if( pWin->eStart==TK_FOLLOWING ){ + pWin->pStart = sqlite3Expr(db, TK_INTEGER, "1"); + } + break; + } + } } } pWin->pFunc = pFunc; @@ -145140,6 +147436,7 @@ struct WindowRewrite { Window *pWin; SrcList *pSrc; ExprList *pSub; + Table *pTab; Select *pSubSelect; /* Current sub-select, if any */ }; @@ -145151,6 +147448,8 @@ struct WindowRewrite { static int selectWindowRewriteExprCb(Walker *pWalker, Expr *pExpr){ struct WindowRewrite *p = pWalker->u.pRewrite; Parse *pParse = pWalker->pParse; + assert( p!=0 ); + assert( p->pWin!=0 ); /* If this function is being called from within a scalar sub-select ** that used by the SELECT statement being processed, only process @@ -145200,6 +147499,7 @@ static int selectWindowRewriteExprCb(Walker *pWalker, Expr *pExpr){ pExpr->op = TK_COLUMN; pExpr->iColumn = p->pSub->nExpr-1; pExpr->iTable = p->pWin->iEphCsr; + pExpr->y.pTab = p->pTab; } break; @@ -145243,17 +147543,20 @@ static void selectWindowRewriteEList( Window *pWin, SrcList *pSrc, ExprList *pEList, /* Rewrite expressions in this list */ + Table *pTab, ExprList **ppSub /* IN/OUT: Sub-select expression-list */ ){ Walker sWalker; WindowRewrite sRewrite; + assert( pWin!=0 ); memset(&sWalker, 0, sizeof(Walker)); memset(&sRewrite, 0, sizeof(WindowRewrite)); sRewrite.pSub = *ppSub; sRewrite.pWin = pWin; sRewrite.pSrc = pSrc; + sRewrite.pTab = pTab; sWalker.pParse = pParse; sWalker.xExprCallback = selectWindowRewriteExprCb; @@ -145272,15 +147575,20 @@ static void selectWindowRewriteEList( static ExprList *exprListAppendList( Parse *pParse, /* Parsing context */ ExprList *pList, /* List to which to append. Might be NULL */ - ExprList *pAppend /* List of values to append. Might be NULL */ + ExprList *pAppend, /* List of values to append. Might be NULL */ + int bIntToNull ){ if( pAppend ){ int i; int nInit = pList ? pList->nExpr : 0; for(i=0; inExpr; i++){ Expr *pDup = sqlite3ExprDup(pParse->db, pAppend->a[i].pExpr, 0); + if( bIntToNull && pDup && pDup->op==TK_INTEGER ){ + pDup->op = TK_NULL; + pDup->flags &= ~(EP_IntValue|EP_IsTrue|EP_IsFalse); + } pList = sqlite3ExprListAppend(pParse, pList, pDup); - if( pList ) pList->a[nInit+i].sortOrder = pAppend->a[i].sortOrder; + if( pList ) pList->a[nInit+i].sortFlags = pAppend->a[i].sortFlags; } } return pList; @@ -145308,46 +147616,64 @@ SQLITE_PRIVATE int sqlite3WindowRewrite(Parse *pParse, Select *p){ ExprList *pSublist = 0; /* Expression list for sub-query */ Window *pMWin = p->pWin; /* Master window object */ Window *pWin; /* Window object iterator */ + Table *pTab; + + pTab = sqlite3DbMallocZero(db, sizeof(Table)); + if( pTab==0 ){ + return SQLITE_NOMEM; + } p->pSrc = 0; p->pWhere = 0; p->pGroupBy = 0; p->pHaving = 0; + p->selFlags &= ~SF_Aggregate; /* Create the ORDER BY clause for the sub-select. This is the concatenation ** of the window PARTITION and ORDER BY clauses. Then, if this makes it ** redundant, remove the ORDER BY from the parent SELECT. */ pSort = sqlite3ExprListDup(db, pMWin->pPartition, 0); - pSort = exprListAppendList(pParse, pSort, pMWin->pOrderBy); - if( pSort && p->pOrderBy ){ + pSort = exprListAppendList(pParse, pSort, pMWin->pOrderBy, 1); + if( pSort && p->pOrderBy && p->pOrderBy->nExpr<=pSort->nExpr ){ + int nSave = pSort->nExpr; + pSort->nExpr = p->pOrderBy->nExpr; if( sqlite3ExprListCompare(pSort, p->pOrderBy, -1)==0 ){ sqlite3ExprListDelete(db, p->pOrderBy); p->pOrderBy = 0; } + pSort->nExpr = nSave; } /* Assign a cursor number for the ephemeral table used to buffer rows. ** The OpenEphemeral instruction is coded later, after it is known how ** many columns the table will have. */ pMWin->iEphCsr = pParse->nTab++; + pParse->nTab += 3; - selectWindowRewriteEList(pParse, pMWin, pSrc, p->pEList, &pSublist); - selectWindowRewriteEList(pParse, pMWin, pSrc, p->pOrderBy, &pSublist); + selectWindowRewriteEList(pParse, pMWin, pSrc, p->pEList, pTab, &pSublist); + selectWindowRewriteEList(pParse, pMWin, pSrc, p->pOrderBy, pTab, &pSublist); pMWin->nBufferCol = (pSublist ? pSublist->nExpr : 0); /* Append the PARTITION BY and ORDER BY expressions to the to the ** sub-select expression list. They are required to figure out where ** boundaries for partitions and sets of peer rows lie. */ - pSublist = exprListAppendList(pParse, pSublist, pMWin->pPartition); - pSublist = exprListAppendList(pParse, pSublist, pMWin->pOrderBy); + pSublist = exprListAppendList(pParse, pSublist, pMWin->pPartition, 0); + pSublist = exprListAppendList(pParse, pSublist, pMWin->pOrderBy, 0); /* Append the arguments passed to each window function to the ** sub-select expression list. Also allocate two registers for each ** window function - one for the accumulator, another for interim ** results. */ for(pWin=pMWin; pWin; pWin=pWin->pNextWin){ - pWin->iArgCol = (pSublist ? pSublist->nExpr : 0); - pSublist = exprListAppendList(pParse, pSublist, pWin->pOwner->x.pList); + ExprList *pArgs = pWin->pOwner->x.pList; + if( pWin->pFunc->funcFlags & SQLITE_FUNC_SUBTYPE ){ + selectWindowRewriteEList(pParse, pMWin, pSrc, pArgs, pTab, &pSublist); + pWin->iArgCol = (pSublist ? pSublist->nExpr : 0); + pWin->bExprArgs = 1; + }else{ + pWin->iArgCol = (pSublist ? pSublist->nExpr : 0); + pSublist = exprListAppendList(pParse, pSublist, pArgs, 0); + } if( pWin->pFilter ){ Expr *pFilter = sqlite3ExprDup(db, pWin->pFilter, 0); pSublist = sqlite3ExprListAppend(pParse, pSublist, pFilter); @@ -145365,47 +147691,67 @@ SQLITE_PRIVATE int sqlite3WindowRewrite(Parse *pParse, Select *p){ */ if( pSublist==0 ){ pSublist = sqlite3ExprListAppend(pParse, 0, - sqlite3ExprAlloc(db, TK_INTEGER, &sqlite3IntTokens[0], 0) + sqlite3Expr(db, TK_INTEGER, "0") ); } pSub = sqlite3SelectNew( pParse, pSublist, pSrc, pWhere, pGroupBy, pHaving, pSort, 0, 0 ); - p->pSrc = sqlite3SrcListAppend(db, 0, 0, 0); - assert( p->pSrc || db->mallocFailed ); + p->pSrc = sqlite3SrcListAppend(pParse, 0, 0, 0); if( p->pSrc ){ + Table *pTab2; p->pSrc->a[0].pSelect = pSub; sqlite3SrcListAssignCursors(pParse, p->pSrc); - if( sqlite3ExpandSubquery(pParse, &p->pSrc->a[0]) ){ + pSub->selFlags |= SF_Expanded; + pTab2 = sqlite3ResultSetOfSelect(pParse, pSub, SQLITE_AFF_NONE); + if( pTab2==0 ){ rc = SQLITE_NOMEM; }else{ - pSub->selFlags |= SF_Expanded; - p->selFlags &= ~SF_Aggregate; - sqlite3SelectPrep(pParse, pSub, 0); + memcpy(pTab, pTab2, sizeof(Table)); + pTab->tabFlags |= TF_Ephemeral; + p->pSrc->a[0].pTab = pTab; + pTab = pTab2; } - sqlite3VdbeAddOp2(v, OP_OpenEphemeral, pMWin->iEphCsr, pSublist->nExpr); + sqlite3VdbeAddOp2(v, OP_OpenDup, pMWin->iEphCsr+1, pMWin->iEphCsr); + sqlite3VdbeAddOp2(v, OP_OpenDup, pMWin->iEphCsr+2, pMWin->iEphCsr); + sqlite3VdbeAddOp2(v, OP_OpenDup, pMWin->iEphCsr+3, pMWin->iEphCsr); }else{ sqlite3SelectDelete(db, pSub); } if( db->mallocFailed ) rc = SQLITE_NOMEM; + sqlite3DbFree(db, pTab); } return rc; } +/* +** Unlink the Window object from the Select to which it is attached, +** if it is attached. +*/ +SQLITE_PRIVATE void sqlite3WindowUnlinkFromSelect(Window *p){ + if( p->ppThis ){ + *p->ppThis = p->pNextWin; + if( p->pNextWin ) p->pNextWin->ppThis = p->ppThis; + p->ppThis = 0; + } +} + /* ** Free the Window object passed as the second argument. */ SQLITE_PRIVATE void sqlite3WindowDelete(sqlite3 *db, Window *p){ if( p ){ + sqlite3WindowUnlinkFromSelect(p); sqlite3ExprDelete(db, p->pFilter); sqlite3ExprListDelete(db, p->pPartition); sqlite3ExprListDelete(db, p->pOrderBy); sqlite3ExprDelete(db, p->pEnd); sqlite3ExprDelete(db, p->pStart); sqlite3DbFree(db, p->zName); + sqlite3DbFree(db, p->zBase); sqlite3DbFree(db, p); } } @@ -145430,6 +147776,7 @@ SQLITE_PRIVATE void sqlite3WindowListDelete(sqlite3 *db, Window *p){ */ static Expr *sqlite3WindowOffsetExpr(Parse *pParse, Expr *pExpr){ if( 0==sqlite3ExprIsConstant(pExpr) ){ + if( IN_RENAME_OBJECT ) sqlite3RenameExprUnmap(pParse, pExpr); sqlite3ExprDelete(pParse->db, pExpr); pExpr = sqlite3ExprAlloc(pParse->db, TK_NULL, 0, 0); } @@ -145441,16 +147788,18 @@ static Expr *sqlite3WindowOffsetExpr(Parse *pParse, Expr *pExpr){ */ SQLITE_PRIVATE Window *sqlite3WindowAlloc( Parse *pParse, /* Parsing context */ - int eType, /* Frame type. TK_RANGE or TK_ROWS */ + int eType, /* Frame type. TK_RANGE, TK_ROWS, TK_GROUPS, or 0 */ int eStart, /* Start type: CURRENT, PRECEDING, FOLLOWING, UNBOUNDED */ Expr *pStart, /* Start window size if TK_PRECEDING or FOLLOWING */ int eEnd, /* End type: CURRENT, FOLLOWING, TK_UNBOUNDED, PRECEDING */ - Expr *pEnd /* End window size if TK_FOLLOWING or PRECEDING */ + Expr *pEnd, /* End window size if TK_FOLLOWING or PRECEDING */ + u8 eExclude /* EXCLUDE clause */ ){ Window *pWin = 0; + int bImplicitFrame = 0; /* Parser assures the following: */ - assert( eType==TK_RANGE || eType==TK_ROWS ); + assert( eType==0 || eType==TK_RANGE || eType==TK_ROWS || eType==TK_GROUPS ); assert( eStart==TK_CURRENT || eStart==TK_PRECEDING || eStart==TK_UNBOUNDED || eStart==TK_FOLLOWING ); assert( eEnd==TK_CURRENT || eEnd==TK_FOLLOWING @@ -145458,13 +147807,9 @@ SQLITE_PRIVATE Window *sqlite3WindowAlloc( assert( (eStart==TK_PRECEDING || eStart==TK_FOLLOWING)==(pStart!=0) ); assert( (eEnd==TK_FOLLOWING || eEnd==TK_PRECEDING)==(pEnd!=0) ); - - /* If a frame is declared "RANGE" (not "ROWS"), then it may not use - ** either " PRECEDING" or " FOLLOWING". - */ - if( eType==TK_RANGE && (pStart!=0 || pEnd!=0) ){ - sqlite3ErrorMsg(pParse, "RANGE must use only UNBOUNDED or CURRENT ROW"); - goto windowAllocErr; + if( eType==0 ){ + bImplicitFrame = 1; + eType = TK_RANGE; } /* Additionally, the @@ -145484,15 +147829,20 @@ SQLITE_PRIVATE Window *sqlite3WindowAlloc( if( (eStart==TK_CURRENT && eEnd==TK_PRECEDING) || (eStart==TK_FOLLOWING && (eEnd==TK_PRECEDING || eEnd==TK_CURRENT)) ){ - sqlite3ErrorMsg(pParse, "unsupported frame delimiter for ROWS"); + sqlite3ErrorMsg(pParse, "unsupported frame specification"); goto windowAllocErr; } pWin = (Window*)sqlite3DbMallocZero(pParse->db, sizeof(Window)); if( pWin==0 ) goto windowAllocErr; - pWin->eType = eType; + pWin->eFrmType = eType; pWin->eStart = eStart; pWin->eEnd = eEnd; + if( eExclude==0 && OptimizationDisabled(pParse->db, SQLITE_WindowFunc) ){ + eExclude = TK_NO; + } + pWin->eExclude = eExclude; + pWin->bImplicitFrame = bImplicitFrame; pWin->pEnd = sqlite3WindowOffsetExpr(pParse, pEnd); pWin->pStart = sqlite3WindowOffsetExpr(pParse, pStart); return pWin; @@ -145503,41 +147853,124 @@ SQLITE_PRIVATE Window *sqlite3WindowAlloc( return 0; } +/* +** Attach PARTITION and ORDER BY clauses pPartition and pOrderBy to window +** pWin. Also, if parameter pBase is not NULL, set pWin->zBase to the +** equivalent nul-terminated string. +*/ +SQLITE_PRIVATE Window *sqlite3WindowAssemble( + Parse *pParse, + Window *pWin, + ExprList *pPartition, + ExprList *pOrderBy, + Token *pBase +){ + if( pWin ){ + pWin->pPartition = pPartition; + pWin->pOrderBy = pOrderBy; + if( pBase ){ + pWin->zBase = sqlite3DbStrNDup(pParse->db, pBase->z, pBase->n); + } + }else{ + sqlite3ExprListDelete(pParse->db, pPartition); + sqlite3ExprListDelete(pParse->db, pOrderBy); + } + return pWin; +} + +/* +** Window *pWin has just been created from a WINDOW clause. Tokne pBase +** is the base window. Earlier windows from the same WINDOW clause are +** stored in the linked list starting at pWin->pNextWin. This function +** either updates *pWin according to the base specification, or else +** leaves an error in pParse. +*/ +SQLITE_PRIVATE void sqlite3WindowChain(Parse *pParse, Window *pWin, Window *pList){ + if( pWin->zBase ){ + sqlite3 *db = pParse->db; + Window *pExist = windowFind(pParse, pList, pWin->zBase); + if( pExist ){ + const char *zErr = 0; + /* Check for errors */ + if( pWin->pPartition ){ + zErr = "PARTITION clause"; + }else if( pExist->pOrderBy && pWin->pOrderBy ){ + zErr = "ORDER BY clause"; + }else if( pExist->bImplicitFrame==0 ){ + zErr = "frame specification"; + } + if( zErr ){ + sqlite3ErrorMsg(pParse, + "cannot override %s of window: %s", zErr, pWin->zBase + ); + }else{ + pWin->pPartition = sqlite3ExprListDup(db, pExist->pPartition, 0); + if( pExist->pOrderBy ){ + assert( pWin->pOrderBy==0 ); + pWin->pOrderBy = sqlite3ExprListDup(db, pExist->pOrderBy, 0); + } + sqlite3DbFree(db, pWin->zBase); + pWin->zBase = 0; + } + } + } +} + /* ** Attach window object pWin to expression p. */ SQLITE_PRIVATE void sqlite3WindowAttach(Parse *pParse, Expr *p, Window *pWin){ if( p ){ assert( p->op==TK_FUNCTION ); - /* This routine is only called for the parser. If pWin was not - ** allocated due to an OOM, then the parser would fail before ever - ** invoking this routine */ - if( ALWAYS(pWin) ){ - p->y.pWin = pWin; - ExprSetProperty(p, EP_WinFunc); - pWin->pOwner = p; - if( p->flags & EP_Distinct ){ - sqlite3ErrorMsg(pParse, - "DISTINCT is not supported for window functions"); - } + assert( pWin ); + p->y.pWin = pWin; + ExprSetProperty(p, EP_WinFunc); + pWin->pOwner = p; + if( (p->flags & EP_Distinct) && pWin->eFrmType!=TK_FILTER ){ + sqlite3ErrorMsg(pParse, + "DISTINCT is not supported for window functions" + ); } }else{ sqlite3WindowDelete(pParse->db, pWin); } } +/* +** Possibly link window pWin into the list at pSel->pWin (window functions +** to be processed as part of SELECT statement pSel). The window is linked +** in if either (a) there are no other windows already linked to this +** SELECT, or (b) the windows already linked use a compatible window frame. +*/ +SQLITE_PRIVATE void sqlite3WindowLink(Select *pSel, Window *pWin){ + if( 0==pSel->pWin + || 0==sqlite3WindowCompare(0, pSel->pWin, pWin, 0) + ){ + pWin->pNextWin = pSel->pWin; + if( pSel->pWin ){ + pSel->pWin->ppThis = &pWin->pNextWin; + } + pSel->pWin = pWin; + pWin->ppThis = &pSel->pWin; + } +} + /* ** Return 0 if the two window objects are identical, or non-zero otherwise. ** Identical window objects can be processed in a single scan. */ -SQLITE_PRIVATE int sqlite3WindowCompare(Parse *pParse, Window *p1, Window *p2){ - if( p1->eType!=p2->eType ) return 1; +SQLITE_PRIVATE int sqlite3WindowCompare(Parse *pParse, Window *p1, Window *p2, int bFilter){ + if( p1->eFrmType!=p2->eFrmType ) return 1; if( p1->eStart!=p2->eStart ) return 1; if( p1->eEnd!=p2->eEnd ) return 1; + if( p1->eExclude!=p2->eExclude ) return 1; if( sqlite3ExprCompare(pParse, p1->pStart, p2->pStart, -1) ) return 1; if( sqlite3ExprCompare(pParse, p1->pEnd, p2->pEnd, -1) ) return 1; if( sqlite3ExprListCompare(p1->pPartition, p2->pPartition, -1) ) return 1; if( sqlite3ExprListCompare(p1->pOrderBy, p2->pOrderBy, -1) ) return 1; + if( bFilter ){ + if( sqlite3ExprCompare(pParse, p1->pFilter, p2->pFilter, -1) ) return 1; + } return 0; } @@ -145550,12 +147983,27 @@ SQLITE_PRIVATE int sqlite3WindowCompare(Parse *pParse, Window *p1, Window *p2){ SQLITE_PRIVATE void sqlite3WindowCodeInit(Parse *pParse, Window *pMWin){ Window *pWin; Vdbe *v = sqlite3GetVdbe(pParse); - int nPart = (pMWin->pPartition ? pMWin->pPartition->nExpr : 0); - nPart += (pMWin->pOrderBy ? pMWin->pOrderBy->nExpr : 0); - if( nPart ){ + + /* Allocate registers to use for PARTITION BY values, if any. Initialize + ** said registers to NULL. */ + if( pMWin->pPartition ){ + int nExpr = pMWin->pPartition->nExpr; pMWin->regPart = pParse->nMem+1; - pParse->nMem += nPart; - sqlite3VdbeAddOp3(v, OP_Null, 0, pMWin->regPart, pMWin->regPart+nPart-1); + pParse->nMem += nExpr; + sqlite3VdbeAddOp3(v, OP_Null, 0, pMWin->regPart, pMWin->regPart+nExpr-1); + } + + pMWin->regOne = ++pParse->nMem; + sqlite3VdbeAddOp2(v, OP_Integer, 1, pMWin->regOne); + + if( pMWin->eExclude ){ + pMWin->regStartRowid = ++pParse->nMem; + pMWin->regEndRowid = ++pParse->nMem; + pMWin->csrApp = pParse->nTab++; + sqlite3VdbeAddOp2(v, OP_Integer, 1, pMWin->regStartRowid); + sqlite3VdbeAddOp2(v, OP_Integer, 0, pMWin->regEndRowid); + sqlite3VdbeAddOp2(v, OP_OpenDup, pMWin->csrApp, pMWin->iEphCsr); + return; } for(pWin=pMWin; pWin; pWin=pWin->pNextWin){ @@ -145574,8 +148022,8 @@ SQLITE_PRIVATE void sqlite3WindowCodeInit(Parse *pParse, Window *pMWin){ pWin->regApp = pParse->nMem+1; pParse->nMem += 3; if( pKeyInfo && pWin->pFunc->zName[1]=='i' ){ - assert( pKeyInfo->aSortOrder[0]==0 ); - pKeyInfo->aSortOrder[0] = 1; + assert( pKeyInfo->aSortFlags[0]==0 ); + pKeyInfo->aSortFlags[0] = KEYINFO_ORDER_DESC; } sqlite3VdbeAddOp2(v, OP_OpenEphemeral, pWin->csrApp, 2); sqlite3VdbeAppendP4(v, pKeyInfo, P4_KEYINFO); @@ -145584,20 +148032,24 @@ SQLITE_PRIVATE void sqlite3WindowCodeInit(Parse *pParse, Window *pMWin){ else if( p->zName==nth_valueName || p->zName==first_valueName ){ /* Allocate two registers at pWin->regApp. These will be used to ** store the start and end index of the current frame. */ - assert( pMWin->iEphCsr ); pWin->regApp = pParse->nMem+1; pWin->csrApp = pParse->nTab++; pParse->nMem += 2; sqlite3VdbeAddOp2(v, OP_OpenDup, pWin->csrApp, pMWin->iEphCsr); } else if( p->zName==leadName || p->zName==lagName ){ - assert( pMWin->iEphCsr ); pWin->csrApp = pParse->nTab++; sqlite3VdbeAddOp2(v, OP_OpenDup, pWin->csrApp, pMWin->iEphCsr); } } } +#define WINDOW_STARTING_INT 0 +#define WINDOW_ENDING_INT 1 +#define WINDOW_NTH_VALUE_INT 2 +#define WINDOW_STARTING_NUM 3 +#define WINDOW_ENDING_NUM 4 + /* ** A "PRECEDING " (eCond==0) or "FOLLOWING " (eCond==1) or the ** value of the second argument to nth_value() (eCond==2) has just been @@ -145605,25 +148057,43 @@ SQLITE_PRIVATE void sqlite3WindowCodeInit(Parse *pParse, Window *pMWin){ ** code to check that the value is a non-negative integer and throws an ** exception if it is not. */ -static void windowCheckIntValue(Parse *pParse, int reg, int eCond){ +static void windowCheckValue(Parse *pParse, int reg, int eCond){ static const char *azErr[] = { "frame starting offset must be a non-negative integer", "frame ending offset must be a non-negative integer", - "second argument to nth_value must be a positive integer" + "second argument to nth_value must be a positive integer", + "frame starting offset must be a non-negative number", + "frame ending offset must be a non-negative number", }; - static int aOp[] = { OP_Ge, OP_Ge, OP_Gt }; + static int aOp[] = { OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge }; Vdbe *v = sqlite3GetVdbe(pParse); int regZero = sqlite3GetTempReg(pParse); - assert( eCond==0 || eCond==1 || eCond==2 ); + assert( eCond>=0 && eCond=WINDOW_STARTING_NUM ){ + int regString = sqlite3GetTempReg(pParse); + sqlite3VdbeAddOp4(v, OP_String8, 0, regString, 0, "", P4_STATIC); + sqlite3VdbeAddOp3(v, OP_Ge, regString, sqlite3VdbeCurrentAddr(v)+2, reg); + sqlite3VdbeChangeP5(v, SQLITE_AFF_NUMERIC|SQLITE_JUMPIFNULL); + VdbeCoverage(v); + assert( eCond==3 || eCond==4 ); + VdbeCoverageIf(v, eCond==3); + VdbeCoverageIf(v, eCond==4); + }else{ + sqlite3VdbeAddOp2(v, OP_MustBeInt, reg, sqlite3VdbeCurrentAddr(v)+2); + VdbeCoverage(v); + assert( eCond==0 || eCond==1 || eCond==2 ); + VdbeCoverageIf(v, eCond==0); + VdbeCoverageIf(v, eCond==1); + VdbeCoverageIf(v, eCond==2); + } sqlite3VdbeAddOp3(v, aOp[eCond], regZero, sqlite3VdbeCurrentAddr(v)+2, reg); - VdbeCoverageNeverNullIf(v, eCond==0); - VdbeCoverageNeverNullIf(v, eCond==1); + VdbeCoverageNeverNullIf(v, eCond==0); /* NULL case captured by */ + VdbeCoverageNeverNullIf(v, eCond==1); /* the OP_MustBeInt */ VdbeCoverageNeverNullIf(v, eCond==2); + VdbeCoverageNeverNullIf(v, eCond==3); /* NULL case caught by */ + VdbeCoverageNeverNullIf(v, eCond==4); /* the OP_Ge */ + sqlite3MayAbort(pParse); sqlite3VdbeAddOp2(v, OP_Halt, SQLITE_ERROR, OE_Abort); sqlite3VdbeAppendP4(v, (void*)azErr[eCond], P4_STATIC); sqlite3ReleaseTempReg(pParse, regZero); @@ -145638,6 +148108,108 @@ static int windowArgCount(Window *pWin){ return (pList ? pList->nExpr : 0); } +typedef struct WindowCodeArg WindowCodeArg; +typedef struct WindowCsrAndReg WindowCsrAndReg; + +/* +** See comments above struct WindowCodeArg. +*/ +struct WindowCsrAndReg { + int csr; /* Cursor number */ + int reg; /* First in array of peer values */ +}; + +/* +** A single instance of this structure is allocated on the stack by +** sqlite3WindowCodeStep() and a pointer to it passed to the various helper +** routines. This is to reduce the number of arguments required by each +** helper function. +** +** regArg: +** Each window function requires an accumulator register (just as an +** ordinary aggregate function does). This variable is set to the first +** in an array of accumulator registers - one for each window function +** in the WindowCodeArg.pMWin list. +** +** eDelete: +** The window functions implementation sometimes caches the input rows +** that it processes in a temporary table. If it is not zero, this +** variable indicates when rows may be removed from the temp table (in +** order to reduce memory requirements - it would always be safe just +** to leave them there). Possible values for eDelete are: +** +** WINDOW_RETURN_ROW: +** An input row can be discarded after it is returned to the caller. +** +** WINDOW_AGGINVERSE: +** An input row can be discarded after the window functions xInverse() +** callbacks have been invoked in it. +** +** WINDOW_AGGSTEP: +** An input row can be discarded after the window functions xStep() +** callbacks have been invoked in it. +** +** start,current,end +** Consider a window-frame similar to the following: +** +** (ORDER BY a, b GROUPS BETWEEN 2 PRECEDING AND 2 FOLLOWING) +** +** The windows functions implmentation caches the input rows in a temp +** table, sorted by "a, b" (it actually populates the cache lazily, and +** aggressively removes rows once they are no longer required, but that's +** a mere detail). It keeps three cursors open on the temp table. One +** (current) that points to the next row to return to the query engine +** once its window function values have been calculated. Another (end) +** points to the next row to call the xStep() method of each window function +** on (so that it is 2 groups ahead of current). And a third (start) that +** points to the next row to call the xInverse() method of each window +** function on. +** +** Each cursor (start, current and end) consists of a VDBE cursor +** (WindowCsrAndReg.csr) and an array of registers (starting at +** WindowCodeArg.reg) that always contains a copy of the peer values +** read from the corresponding cursor. +** +** Depending on the window-frame in question, all three cursors may not +** be required. In this case both WindowCodeArg.csr and reg are set to +** 0. +*/ +struct WindowCodeArg { + Parse *pParse; /* Parse context */ + Window *pMWin; /* First in list of functions being processed */ + Vdbe *pVdbe; /* VDBE object */ + int addrGosub; /* OP_Gosub to this address to return one row */ + int regGosub; /* Register used with OP_Gosub(addrGosub) */ + int regArg; /* First in array of accumulator registers */ + int eDelete; /* See above */ + + WindowCsrAndReg start; + WindowCsrAndReg current; + WindowCsrAndReg end; +}; + +/* +** Generate VM code to read the window frames peer values from cursor csr into +** an array of registers starting at reg. +*/ +static void windowReadPeerValues( + WindowCodeArg *p, + int csr, + int reg +){ + Window *pMWin = p->pMWin; + ExprList *pOrderBy = pMWin->pOrderBy; + if( pOrderBy ){ + Vdbe *v = sqlite3GetVdbe(p->pParse); + ExprList *pPart = pMWin->pPartition; + int iColOff = pMWin->nBufferCol + (pPart ? pPart->nExpr : 0); + int i; + for(i=0; inExpr; i++){ + sqlite3VdbeAddOp3(v, OP_Column, csr, iColOff+i, reg+i); + } + } +} + /* ** Generate VM code to invoke either xStep() (if bInverse is 0) or ** xInverse (if bInverse is non-zero) for each window function in the @@ -145658,41 +148230,39 @@ static int windowArgCount(Window *pWin){ ** number of rows in the current partition. */ static void windowAggStep( - Parse *pParse, + WindowCodeArg *p, Window *pMWin, /* Linked list of window functions */ int csr, /* Read arguments from this cursor */ int bInverse, /* True to invoke xInverse instead of xStep */ - int reg, /* Array of registers */ - int regPartSize /* Register containing size of partition */ + int reg /* Array of registers */ ){ + Parse *pParse = p->pParse; Vdbe *v = sqlite3GetVdbe(pParse); Window *pWin; for(pWin=pMWin; pWin; pWin=pWin->pNextWin){ - int flags = pWin->pFunc->funcFlags; + FuncDef *pFunc = pWin->pFunc; int regArg; - int nArg = windowArgCount(pWin); + int nArg = pWin->bExprArgs ? 0 : windowArgCount(pWin); + int i; - if( csr>=0 ){ - int i; - for(i=0; ieStart!=TK_UNBOUNDED ); + + /* All OVER clauses in the same window function aggregate step must + ** be the same. */ + assert( pWin==pMWin || sqlite3WindowCompare(pParse,pWin,pMWin,0)==0 ); + + for(i=0; izName!=nth_valueName ){ sqlite3VdbeAddOp3(v, OP_Column, csr, pWin->iArgCol+i, reg+i); + }else{ + sqlite3VdbeAddOp3(v, OP_Column, pMWin->iEphCsr, pWin->iArgCol+i, reg+i); } - regArg = reg; - if( flags & SQLITE_FUNC_WINDOW_SIZE ){ - if( nArg==0 ){ - regArg = regPartSize; - }else{ - sqlite3VdbeAddOp2(v, OP_SCopy, regPartSize, reg+nArg); - } - nArg++; - } - }else{ - assert( !(flags & SQLITE_FUNC_WINDOW_SIZE) ); - regArg = reg + pWin->iArgCol; } + regArg = reg; - if( (pWin->pFunc->funcFlags & SQLITE_FUNC_MINMAX) - && pWin->eStart!=TK_UNBOUNDED + if( pMWin->regStartRowid==0 + && (pFunc->funcFlags & SQLITE_FUNC_MINMAX) + && (pWin->eStart!=TK_UNBOUNDED) ){ int addrIsNull = sqlite3VdbeAddOp1(v, OP_IsNull, regArg); VdbeCoverage(v); @@ -145709,34 +148279,40 @@ static void windowAggStep( } sqlite3VdbeJumpHere(v, addrIsNull); }else if( pWin->regApp ){ - assert( pWin->pFunc->zName==nth_valueName - || pWin->pFunc->zName==first_valueName + assert( pFunc->zName==nth_valueName + || pFunc->zName==first_valueName ); assert( bInverse==0 || bInverse==1 ); sqlite3VdbeAddOp2(v, OP_AddImm, pWin->regApp+1-bInverse, 1); - }else if( pWin->pFunc->zName==leadName - || pWin->pFunc->zName==lagName - ){ - /* no-op */ - }else{ + }else if( pFunc->xSFunc!=noopStepFunc ){ int addrIf = 0; if( pWin->pFilter ){ int regTmp; - assert( nArg==0 || nArg==pWin->pOwner->x.pList->nExpr ); - assert( nArg || pWin->pOwner->x.pList==0 ); - if( csr>0 ){ - regTmp = sqlite3GetTempReg(pParse); - sqlite3VdbeAddOp3(v, OP_Column, csr, pWin->iArgCol+nArg,regTmp); - }else{ - regTmp = regArg + nArg; - } + assert( pWin->bExprArgs || !nArg ||nArg==pWin->pOwner->x.pList->nExpr ); + assert( pWin->bExprArgs || nArg ||pWin->pOwner->x.pList==0 ); + regTmp = sqlite3GetTempReg(pParse); + sqlite3VdbeAddOp3(v, OP_Column, csr, pWin->iArgCol+nArg,regTmp); addrIf = sqlite3VdbeAddOp3(v, OP_IfNot, regTmp, 0, 1); VdbeCoverage(v); - if( csr>0 ){ - sqlite3ReleaseTempReg(pParse, regTmp); + sqlite3ReleaseTempReg(pParse, regTmp); + } + + if( pWin->bExprArgs ){ + int iStart = sqlite3VdbeCurrentAddr(v); + VdbeOp *pOp, *pEnd; + + nArg = pWin->pOwner->x.pList->nExpr; + regArg = sqlite3GetTempRange(pParse, nArg); + sqlite3ExprCodeExprList(pParse, pWin->pOwner->x.pList, regArg, 0, 0); + + pEnd = sqlite3VdbeGetOp(v, -1); + for(pOp=sqlite3VdbeGetOp(v, iStart); pOp<=pEnd; pOp++){ + if( pOp->opcode==OP_Column && pOp->p1==pWin->iEphCsr ){ + pOp->p1 = csr; + } } } - if( pWin->pFunc->funcFlags & SQLITE_FUNC_NEEDCOLL ){ + if( pFunc->funcFlags & SQLITE_FUNC_NEEDCOLL ){ CollSeq *pColl; assert( nArg>0 ); pColl = sqlite3ExprNNCollSeq(pParse, pWin->pOwner->x.pList->a[0].pExpr); @@ -145744,45 +148320,56 @@ static void windowAggStep( } sqlite3VdbeAddOp3(v, bInverse? OP_AggInverse : OP_AggStep, bInverse, regArg, pWin->regAccum); - sqlite3VdbeAppendP4(v, pWin->pFunc, P4_FUNCDEF); + sqlite3VdbeAppendP4(v, pFunc, P4_FUNCDEF); sqlite3VdbeChangeP5(v, (u8)nArg); + if( pWin->bExprArgs ){ + sqlite3ReleaseTempRange(pParse, regArg, nArg); + } if( addrIf ) sqlite3VdbeJumpHere(v, addrIf); } } } /* -** Generate VM code to invoke either xValue() (bFinal==0) or xFinalize() -** (bFinal==1) for each window function in the linked list starting at +** Values that may be passed as the second argument to windowCodeOp(). +*/ +#define WINDOW_RETURN_ROW 1 +#define WINDOW_AGGINVERSE 2 +#define WINDOW_AGGSTEP 3 + +/* +** Generate VM code to invoke either xValue() (bFin==0) or xFinalize() +** (bFin==1) for each window function in the linked list starting at ** pMWin. Or, for built-in window-functions that do not use the standard ** API, generate the equivalent VM code. */ -static void windowAggFinal(Parse *pParse, Window *pMWin, int bFinal){ +static void windowAggFinal(WindowCodeArg *p, int bFin){ + Parse *pParse = p->pParse; + Window *pMWin = p->pMWin; Vdbe *v = sqlite3GetVdbe(pParse); Window *pWin; for(pWin=pMWin; pWin; pWin=pWin->pNextWin){ - if( (pWin->pFunc->funcFlags & SQLITE_FUNC_MINMAX) - && pWin->eStart!=TK_UNBOUNDED + if( pMWin->regStartRowid==0 + && (pWin->pFunc->funcFlags & SQLITE_FUNC_MINMAX) + && (pWin->eStart!=TK_UNBOUNDED) ){ sqlite3VdbeAddOp2(v, OP_Null, 0, pWin->regResult); sqlite3VdbeAddOp1(v, OP_Last, pWin->csrApp); VdbeCoverage(v); sqlite3VdbeAddOp3(v, OP_Column, pWin->csrApp, 0, pWin->regResult); sqlite3VdbeJumpHere(v, sqlite3VdbeCurrentAddr(v)-2); - if( bFinal ){ - sqlite3VdbeAddOp1(v, OP_ResetSorter, pWin->csrApp); - } }else if( pWin->regApp ){ + assert( pMWin->regStartRowid==0 ); }else{ - if( bFinal ){ - sqlite3VdbeAddOp2(v, OP_AggFinal, pWin->regAccum, windowArgCount(pWin)); + int nArg = windowArgCount(pWin); + if( bFin ){ + sqlite3VdbeAddOp2(v, OP_AggFinal, pWin->regAccum, nArg); sqlite3VdbeAppendP4(v, pWin->pFunc, P4_FUNCDEF); sqlite3VdbeAddOp2(v, OP_Copy, pWin->regAccum, pWin->regResult); sqlite3VdbeAddOp2(v, OP_Null, 0, pWin->regAccum); }else{ - sqlite3VdbeAddOp3(v, OP_AggValue, pWin->regAccum, windowArgCount(pWin), - pWin->regResult); + sqlite3VdbeAddOp3(v, OP_AggValue,pWin->regAccum,nArg,pWin->regResult); sqlite3VdbeAppendP4(v, pWin->pFunc, P4_FUNCDEF); } } @@ -145790,66 +148377,102 @@ static void windowAggFinal(Parse *pParse, Window *pMWin, int bFinal){ } /* -** This function generates VM code to invoke the sub-routine at address -** lblFlushPart once for each partition with the entire partition cached in -** the Window.iEphCsr temp table. +** Generate code to calculate the current values of all window functions in the +** p->pMWin list by doing a full scan of the current window frame. Store the +** results in the Window.regResult registers, ready to return the upper +** layer. */ -static void windowPartitionCache( - Parse *pParse, - Select *p, /* The rewritten SELECT statement */ - WhereInfo *pWInfo, /* WhereInfo to call WhereEnd() on */ - int regFlushPart, /* Register to use with Gosub lblFlushPart */ - int lblFlushPart, /* Subroutine to Gosub to */ - int *pRegSize /* OUT: Register containing partition size */ -){ - Window *pMWin = p->pWin; - Vdbe *v = sqlite3GetVdbe(pParse); - int iSubCsr = p->pSrc->a[0].iCursor; - int nSub = p->pSrc->a[0].pTab->nCol; - int k; +static void windowFullScan(WindowCodeArg *p){ + Window *pWin; + Parse *pParse = p->pParse; + Window *pMWin = p->pMWin; + Vdbe *v = p->pVdbe; - int reg = pParse->nMem+1; - int regRecord = reg+nSub; - int regRowid = regRecord+1; + int regCRowid = 0; /* Current rowid value */ + int regCPeer = 0; /* Current peer values */ + int regRowid = 0; /* AggStep rowid value */ + int regPeer = 0; /* AggStep peer values */ - *pRegSize = regRowid; - pParse->nMem += nSub + 2; + int nPeer; + int lblNext; + int lblBrk; + int addrNext; + int csr; - /* Load the column values for the row returned by the sub-select - ** into an array of registers starting at reg. */ - for(k=0; kcsrApp; + nPeer = (pMWin->pOrderBy ? pMWin->pOrderBy->nExpr : 0); + + lblNext = sqlite3VdbeMakeLabel(pParse); + lblBrk = sqlite3VdbeMakeLabel(pParse); + + regCRowid = sqlite3GetTempReg(pParse); + regRowid = sqlite3GetTempReg(pParse); + if( nPeer ){ + regCPeer = sqlite3GetTempRange(pParse, nPeer); + regPeer = sqlite3GetTempRange(pParse, nPeer); } - sqlite3VdbeAddOp3(v, OP_MakeRecord, reg, nSub, regRecord); - /* Check if this is the start of a new partition. If so, call the - ** flush_partition sub-routine. */ - if( pMWin->pPartition ){ + sqlite3VdbeAddOp2(v, OP_Rowid, pMWin->iEphCsr, regCRowid); + windowReadPeerValues(p, pMWin->iEphCsr, regCPeer); + + for(pWin=pMWin; pWin; pWin=pWin->pNextWin){ + sqlite3VdbeAddOp2(v, OP_Null, 0, pWin->regAccum); + } + + sqlite3VdbeAddOp3(v, OP_SeekGE, csr, lblBrk, pMWin->regStartRowid); + VdbeCoverage(v); + addrNext = sqlite3VdbeCurrentAddr(v); + sqlite3VdbeAddOp2(v, OP_Rowid, csr, regRowid); + sqlite3VdbeAddOp3(v, OP_Gt, pMWin->regEndRowid, lblBrk, regRowid); + VdbeCoverageNeverNull(v); + + if( pMWin->eExclude==TK_CURRENT ){ + sqlite3VdbeAddOp3(v, OP_Eq, regCRowid, lblNext, regRowid); + VdbeCoverageNeverNull(v); + }else if( pMWin->eExclude!=TK_NO ){ int addr; - ExprList *pPart = pMWin->pPartition; - int nPart = pPart->nExpr; - int regNewPart = reg + pMWin->nBufferCol; - KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pPart, 0, 0); + int addrEq = 0; + KeyInfo *pKeyInfo = 0; - addr = sqlite3VdbeAddOp3(v, OP_Compare, regNewPart, pMWin->regPart,nPart); - sqlite3VdbeAppendP4(v, (void*)pKeyInfo, P4_KEYINFO); - sqlite3VdbeAddOp3(v, OP_Jump, addr+2, addr+4, addr+2); - VdbeCoverageEqNe(v); - sqlite3VdbeAddOp3(v, OP_Copy, regNewPart, pMWin->regPart, nPart-1); - sqlite3VdbeAddOp2(v, OP_Gosub, regFlushPart, lblFlushPart); - VdbeComment((v, "call flush_partition")); + if( pMWin->pOrderBy ){ + pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pMWin->pOrderBy, 0, 0); + } + if( pMWin->eExclude==TK_TIES ){ + addrEq = sqlite3VdbeAddOp3(v, OP_Eq, regCRowid, 0, regRowid); + VdbeCoverageNeverNull(v); + } + if( pKeyInfo ){ + windowReadPeerValues(p, csr, regPeer); + sqlite3VdbeAddOp3(v, OP_Compare, regPeer, regCPeer, nPeer); + sqlite3VdbeAppendP4(v, (void*)pKeyInfo, P4_KEYINFO); + addr = sqlite3VdbeCurrentAddr(v)+1; + sqlite3VdbeAddOp3(v, OP_Jump, addr, lblNext, addr); + VdbeCoverageEqNe(v); + }else{ + sqlite3VdbeAddOp2(v, OP_Goto, 0, lblNext); + } + if( addrEq ) sqlite3VdbeJumpHere(v, addrEq); } - /* Buffer the current row in the ephemeral table. */ - sqlite3VdbeAddOp2(v, OP_NewRowid, pMWin->iEphCsr, regRowid); - sqlite3VdbeAddOp3(v, OP_Insert, pMWin->iEphCsr, regRecord, regRowid); + windowAggStep(p, pMWin, csr, 0, p->regArg); - /* End of the input loop */ - sqlite3WhereEnd(pWInfo); + sqlite3VdbeResolveLabel(v, lblNext); + sqlite3VdbeAddOp2(v, OP_Next, csr, addrNext); + VdbeCoverage(v); + sqlite3VdbeJumpHere(v, addrNext-1); + sqlite3VdbeJumpHere(v, addrNext+1); + sqlite3ReleaseTempReg(pParse, regRowid); + sqlite3ReleaseTempReg(pParse, regCRowid); + if( nPeer ){ + sqlite3ReleaseTempRange(pParse, regPeer, nPeer); + sqlite3ReleaseTempRange(pParse, regCPeer, nPeer); + } - /* Invoke "flush_partition" to deal with the final (or only) partition */ - sqlite3VdbeAddOp2(v, OP_Gosub, regFlushPart, lblFlushPart); - VdbeComment((v, "call flush_partition")); + windowAggFinal(p, 1); + VdbeModuleComment((v, "windowFullScan end")); } /* @@ -145865,110 +148488,74 @@ static void windowPartitionCache( ** lag() ** lead() */ -static void windowReturnOneRow( - Parse *pParse, - Window *pMWin, - int regGosub, - int addrGosub -){ - Vdbe *v = sqlite3GetVdbe(pParse); - Window *pWin; - for(pWin=pMWin; pWin; pWin=pWin->pNextWin){ - FuncDef *pFunc = pWin->pFunc; - if( pFunc->zName==nth_valueName - || pFunc->zName==first_valueName - ){ - int csr = pWin->csrApp; - int lbl = sqlite3VdbeMakeLabel(v); - int tmpReg = sqlite3GetTempReg(pParse); - sqlite3VdbeAddOp2(v, OP_Null, 0, pWin->regResult); +static void windowReturnOneRow(WindowCodeArg *p){ + Window *pMWin = p->pMWin; + Vdbe *v = p->pVdbe; - if( pFunc->zName==nth_valueName ){ - sqlite3VdbeAddOp3(v, OP_Column, pMWin->iEphCsr, pWin->iArgCol+1,tmpReg); - windowCheckIntValue(pParse, tmpReg, 2); - }else{ - sqlite3VdbeAddOp2(v, OP_Integer, 1, tmpReg); - } - sqlite3VdbeAddOp3(v, OP_Add, tmpReg, pWin->regApp, tmpReg); - sqlite3VdbeAddOp3(v, OP_Gt, pWin->regApp+1, lbl, tmpReg); - VdbeCoverageNeverNull(v); - sqlite3VdbeAddOp3(v, OP_SeekRowid, csr, 0, tmpReg); - VdbeCoverageNeverTaken(v); - sqlite3VdbeAddOp3(v, OP_Column, csr, pWin->iArgCol, pWin->regResult); - sqlite3VdbeResolveLabel(v, lbl); - sqlite3ReleaseTempReg(pParse, tmpReg); - } - else if( pFunc->zName==leadName || pFunc->zName==lagName ){ - int nArg = pWin->pOwner->x.pList->nExpr; - int iEph = pMWin->iEphCsr; - int csr = pWin->csrApp; - int lbl = sqlite3VdbeMakeLabel(v); - int tmpReg = sqlite3GetTempReg(pParse); - - if( nArg<3 ){ + if( pMWin->regStartRowid ){ + windowFullScan(p); + }else{ + Parse *pParse = p->pParse; + Window *pWin; + + for(pWin=pMWin; pWin; pWin=pWin->pNextWin){ + FuncDef *pFunc = pWin->pFunc; + if( pFunc->zName==nth_valueName + || pFunc->zName==first_valueName + ){ + int csr = pWin->csrApp; + int lbl = sqlite3VdbeMakeLabel(pParse); + int tmpReg = sqlite3GetTempReg(pParse); sqlite3VdbeAddOp2(v, OP_Null, 0, pWin->regResult); - }else{ - sqlite3VdbeAddOp3(v, OP_Column, iEph, pWin->iArgCol+2, pWin->regResult); - } - sqlite3VdbeAddOp2(v, OP_Rowid, iEph, tmpReg); - if( nArg<2 ){ - int val = (pFunc->zName==leadName ? 1 : -1); - sqlite3VdbeAddOp2(v, OP_AddImm, tmpReg, val); - }else{ - int op = (pFunc->zName==leadName ? OP_Add : OP_Subtract); - int tmpReg2 = sqlite3GetTempReg(pParse); - sqlite3VdbeAddOp3(v, OP_Column, iEph, pWin->iArgCol+1, tmpReg2); - sqlite3VdbeAddOp3(v, op, tmpReg2, tmpReg, tmpReg); - sqlite3ReleaseTempReg(pParse, tmpReg2); + + if( pFunc->zName==nth_valueName ){ + sqlite3VdbeAddOp3(v, OP_Column,pMWin->iEphCsr,pWin->iArgCol+1,tmpReg); + windowCheckValue(pParse, tmpReg, 2); + }else{ + sqlite3VdbeAddOp2(v, OP_Integer, 1, tmpReg); + } + sqlite3VdbeAddOp3(v, OP_Add, tmpReg, pWin->regApp, tmpReg); + sqlite3VdbeAddOp3(v, OP_Gt, pWin->regApp+1, lbl, tmpReg); + VdbeCoverageNeverNull(v); + sqlite3VdbeAddOp3(v, OP_SeekRowid, csr, 0, tmpReg); + VdbeCoverageNeverTaken(v); + sqlite3VdbeAddOp3(v, OP_Column, csr, pWin->iArgCol, pWin->regResult); + sqlite3VdbeResolveLabel(v, lbl); + sqlite3ReleaseTempReg(pParse, tmpReg); + } + else if( pFunc->zName==leadName || pFunc->zName==lagName ){ + int nArg = pWin->pOwner->x.pList->nExpr; + int csr = pWin->csrApp; + int lbl = sqlite3VdbeMakeLabel(pParse); + int tmpReg = sqlite3GetTempReg(pParse); + int iEph = pMWin->iEphCsr; + + if( nArg<3 ){ + sqlite3VdbeAddOp2(v, OP_Null, 0, pWin->regResult); + }else{ + sqlite3VdbeAddOp3(v, OP_Column, iEph,pWin->iArgCol+2,pWin->regResult); + } + sqlite3VdbeAddOp2(v, OP_Rowid, iEph, tmpReg); + if( nArg<2 ){ + int val = (pFunc->zName==leadName ? 1 : -1); + sqlite3VdbeAddOp2(v, OP_AddImm, tmpReg, val); + }else{ + int op = (pFunc->zName==leadName ? OP_Add : OP_Subtract); + int tmpReg2 = sqlite3GetTempReg(pParse); + sqlite3VdbeAddOp3(v, OP_Column, iEph, pWin->iArgCol+1, tmpReg2); + sqlite3VdbeAddOp3(v, op, tmpReg2, tmpReg, tmpReg); + sqlite3ReleaseTempReg(pParse, tmpReg2); + } + + sqlite3VdbeAddOp3(v, OP_SeekRowid, csr, lbl, tmpReg); + VdbeCoverage(v); + sqlite3VdbeAddOp3(v, OP_Column, csr, pWin->iArgCol, pWin->regResult); + sqlite3VdbeResolveLabel(v, lbl); + sqlite3ReleaseTempReg(pParse, tmpReg); } - - sqlite3VdbeAddOp3(v, OP_SeekRowid, csr, lbl, tmpReg); - VdbeCoverage(v); - sqlite3VdbeAddOp3(v, OP_Column, csr, pWin->iArgCol, pWin->regResult); - sqlite3VdbeResolveLabel(v, lbl); - sqlite3ReleaseTempReg(pParse, tmpReg); } } - sqlite3VdbeAddOp2(v, OP_Gosub, regGosub, addrGosub); -} - -/* -** Invoke the code generated by windowReturnOneRow() and, optionally, the -** xInverse() function for each window function, for one or more rows -** from the Window.iEphCsr temp table. This routine generates VM code -** similar to: -** -** while( regCtr>0 ){ -** regCtr--; -** windowReturnOneRow() -** if( bInverse ){ -** AggInverse -** } -** Next (Window.iEphCsr) -** } -*/ -static void windowReturnRows( - Parse *pParse, - Window *pMWin, /* List of window functions */ - int regCtr, /* Register containing number of rows */ - int regGosub, /* Register for Gosub addrGosub */ - int addrGosub, /* Address of sub-routine for ReturnOneRow */ - int regInvArg, /* Array of registers for xInverse args */ - int regInvSize /* Register containing size of partition */ -){ - int addr; - Vdbe *v = sqlite3GetVdbe(pParse); - windowAggFinal(pParse, pMWin, 0); - addr = sqlite3VdbeAddOp3(v, OP_IfPos, regCtr, sqlite3VdbeCurrentAddr(v)+2 ,1); - VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_Goto, 0, 0); - windowReturnOneRow(pParse, pMWin, regGosub, addrGosub); - if( regInvArg ){ - windowAggStep(pParse, pMWin, pMWin->iEphCsr, 1, regInvArg, regInvSize); - } - sqlite3VdbeAddOp2(v, OP_Next, pMWin->iEphCsr, addr); - VdbeCoverage(v); - sqlite3VdbeJumpHere(v, addr+1); /* The OP_Goto */ + sqlite3VdbeAddOp2(v, OP_Gosub, p->regGosub, p->addrGosub); } /* @@ -145986,17 +148573,17 @@ static int windowInitAccum(Parse *pParse, Window *pMWin){ FuncDef *pFunc = pWin->pFunc; sqlite3VdbeAddOp2(v, OP_Null, 0, pWin->regAccum); nArg = MAX(nArg, windowArgCount(pWin)); - if( pFunc->zName==nth_valueName - || pFunc->zName==first_valueName - ){ - sqlite3VdbeAddOp2(v, OP_Integer, 0, pWin->regApp); - sqlite3VdbeAddOp2(v, OP_Integer, 0, pWin->regApp+1); - } + if( pMWin->regStartRowid==0 ){ + if( pFunc->zName==nth_valueName || pFunc->zName==first_valueName ){ + sqlite3VdbeAddOp2(v, OP_Integer, 0, pWin->regApp); + sqlite3VdbeAddOp2(v, OP_Integer, 0, pWin->regApp+1); + } - if( (pFunc->funcFlags & SQLITE_FUNC_MINMAX) && pWin->csrApp ){ - assert( pWin->eStart!=TK_UNBOUNDED ); - sqlite3VdbeAddOp1(v, OP_ResetSorter, pWin->csrApp); - sqlite3VdbeAddOp2(v, OP_Integer, 0, pWin->regApp+1); + if( (pFunc->funcFlags & SQLITE_FUNC_MINMAX) && pWin->csrApp ){ + assert( pWin->eStart!=TK_UNBOUNDED ); + sqlite3VdbeAddOp1(v, OP_ResetSorter, pWin->csrApp); + sqlite3VdbeAddOp2(v, OP_Integer, 0, pWin->regApp+1); + } } } regArg = pParse->nMem+1; @@ -146004,672 +148591,343 @@ static int windowInitAccum(Parse *pParse, Window *pMWin){ return regArg; } +/* +** Return true if the current frame should be cached in the ephemeral table, +** even if there are no xInverse() calls required. +*/ +static int windowCacheFrame(Window *pMWin){ + Window *pWin; + if( pMWin->regStartRowid ) return 1; + for(pWin=pMWin; pWin; pWin=pWin->pNextWin){ + FuncDef *pFunc = pWin->pFunc; + if( (pFunc->zName==nth_valueName) + || (pFunc->zName==first_valueName) + || (pFunc->zName==leadName) + || (pFunc->zName==lagName) + ){ + return 1; + } + } + return 0; +} /* -** This function does the work of sqlite3WindowCodeStep() for all "ROWS" -** window frame types except for "BETWEEN UNBOUNDED PRECEDING AND CURRENT -** ROW". Pseudo-code for each follows. -** -** ROWS BETWEEN PRECEDING AND FOLLOWING -** -** ... -** if( new partition ){ -** Gosub flush_partition -** } -** Insert (record in eph-table) -** sqlite3WhereEnd() -** Gosub flush_partition -** -** flush_partition: -** Once { -** OpenDup (iEphCsr -> csrStart) -** OpenDup (iEphCsr -> csrEnd) -** } -** regStart = // PRECEDING expression -** regEnd = // FOLLOWING expression -** if( regStart<0 || regEnd<0 ){ error! } -** Rewind (csr,csrStart,csrEnd) // if EOF goto flush_partition_done -** Next(csrEnd) // if EOF skip Aggstep -** Aggstep (csrEnd) -** if( (regEnd--)<=0 ){ -** AggFinal (xValue) -** Gosub addrGosub -** Next(csr) // if EOF goto flush_partition_done -** if( (regStart--)<=0 ){ -** AggInverse (csrStart) -** Next(csrStart) -** } -** } -** flush_partition_done: -** ResetSorter (csr) -** Return -** -** ROWS BETWEEN PRECEDING AND CURRENT ROW -** ROWS BETWEEN CURRENT ROW AND FOLLOWING -** ROWS BETWEEN UNBOUNDED PRECEDING AND FOLLOWING -** -** These are similar to the above. For "CURRENT ROW", intialize the -** register to 0. For "UNBOUNDED PRECEDING" to infinity. -** -** ROWS BETWEEN PRECEDING AND UNBOUNDED FOLLOWING -** ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING -** -** Rewind (csr,csrStart,csrEnd) // if EOF goto flush_partition_done -** while( 1 ){ -** Next(csrEnd) // Exit while(1) at EOF -** Aggstep (csrEnd) -** } -** while( 1 ){ -** AggFinal (xValue) -** Gosub addrGosub -** Next(csr) // if EOF goto flush_partition_done -** if( (regStart--)<=0 ){ -** AggInverse (csrStart) -** Next(csrStart) -** } -** } -** -** For the "CURRENT ROW AND UNBOUNDED FOLLOWING" case, the final if() -** condition is always true (as if regStart were initialized to 0). -** -** RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING -** -** This is the only RANGE case handled by this routine. It modifies the -** second while( 1 ) loop in "ROWS BETWEEN CURRENT ... UNBOUNDED..." to -** be: -** -** while( 1 ){ -** AggFinal (xValue) -** while( 1 ){ -** regPeer++ -** Gosub addrGosub -** Next(csr) // if EOF goto flush_partition_done -** if( new peer ) break; -** } -** while( (regPeer--)>0 ){ -** AggInverse (csrStart) -** Next(csrStart) -** } -** } -** -** ROWS BETWEEN FOLLOWING AND FOLLOWING -** -** regEnd = regEnd - regStart -** Rewind (csr,csrStart,csrEnd) // if EOF goto flush_partition_done -** Aggstep (csrEnd) -** Next(csrEnd) // if EOF fall-through -** if( (regEnd--)<=0 ){ -** if( (regStart--)<=0 ){ -** AggFinal (xValue) -** Gosub addrGosub -** Next(csr) // if EOF goto flush_partition_done -** } -** AggInverse (csrStart) -** Next (csrStart) -** } -** -** ROWS BETWEEN PRECEDING AND PRECEDING -** -** Replace the bit after "Rewind" in the above with: -** -** if( (regEnd--)<=0 ){ -** AggStep (csrEnd) -** Next (csrEnd) -** } -** AggFinal (xValue) -** Gosub addrGosub -** Next(csr) // if EOF goto flush_partition_done -** if( (regStart--)<=0 ){ -** AggInverse (csr2) -** Next (csr2) -** } +** regOld and regNew are each the first register in an array of size +** pOrderBy->nExpr. This function generates code to compare the two +** arrays of registers using the collation sequences and other comparison +** parameters specified by pOrderBy. ** +** If the two arrays are not equal, the contents of regNew is copied to +** regOld and control falls through. Otherwise, if the contents of the arrays +** are equal, an OP_Goto is executed. The address of the OP_Goto is returned. */ -static void windowCodeRowExprStep( - Parse *pParse, - Select *p, - WhereInfo *pWInfo, - int regGosub, - int addrGosub +static void windowIfNewPeer( + Parse *pParse, + ExprList *pOrderBy, + int regNew, /* First in array of new values */ + int regOld, /* First in array of old values */ + int addr /* Jump here */ ){ - Window *pMWin = p->pWin; Vdbe *v = sqlite3GetVdbe(pParse); - int regFlushPart; /* Register for "Gosub flush_partition" */ - int lblFlushPart; /* Label for "Gosub flush_partition" */ - int lblFlushDone; /* Label for "Gosub flush_partition_done" */ - - int regArg; - int addr; - int csrStart = pParse->nTab++; - int csrEnd = pParse->nTab++; - int regStart; /* Value of PRECEDING */ - int regEnd; /* Value of FOLLOWING */ - int addrGoto; - int addrTop; - int addrIfPos1 = 0; - int addrIfPos2 = 0; - int regSize = 0; - - assert( pMWin->eStart==TK_PRECEDING - || pMWin->eStart==TK_CURRENT - || pMWin->eStart==TK_FOLLOWING - || pMWin->eStart==TK_UNBOUNDED - ); - assert( pMWin->eEnd==TK_FOLLOWING - || pMWin->eEnd==TK_CURRENT - || pMWin->eEnd==TK_UNBOUNDED - || pMWin->eEnd==TK_PRECEDING - ); - - /* Allocate register and label for the "flush_partition" sub-routine. */ - regFlushPart = ++pParse->nMem; - lblFlushPart = sqlite3VdbeMakeLabel(v); - lblFlushDone = sqlite3VdbeMakeLabel(v); - - regStart = ++pParse->nMem; - regEnd = ++pParse->nMem; - - windowPartitionCache(pParse, p, pWInfo, regFlushPart, lblFlushPart, ®Size); - - addrGoto = sqlite3VdbeAddOp0(v, OP_Goto); - - /* Start of "flush_partition" */ - sqlite3VdbeResolveLabel(v, lblFlushPart); - sqlite3VdbeAddOp2(v, OP_Once, 0, sqlite3VdbeCurrentAddr(v)+3); - VdbeCoverage(v); - VdbeComment((v, "Flush_partition subroutine")); - sqlite3VdbeAddOp2(v, OP_OpenDup, csrStart, pMWin->iEphCsr); - sqlite3VdbeAddOp2(v, OP_OpenDup, csrEnd, pMWin->iEphCsr); - - /* If either regStart or regEnd are not non-negative integers, throw - ** an exception. */ - if( pMWin->pStart ){ - sqlite3ExprCode(pParse, pMWin->pStart, regStart); - windowCheckIntValue(pParse, regStart, 0); - } - if( pMWin->pEnd ){ - sqlite3ExprCode(pParse, pMWin->pEnd, regEnd); - windowCheckIntValue(pParse, regEnd, 1); - } - - /* If this is "ROWS FOLLOWING AND ROWS FOLLOWING", do: - ** - ** if( regEndpEnd && pMWin->eStart==TK_FOLLOWING ){ - assert( pMWin->pStart!=0 ); - assert( pMWin->eEnd==TK_FOLLOWING ); - sqlite3VdbeAddOp3(v, OP_Ge, regStart, sqlite3VdbeCurrentAddr(v)+2, regEnd); - VdbeCoverageNeverNull(v); - sqlite3VdbeAddOp2(v, OP_Copy, regSize, regStart); - sqlite3VdbeAddOp3(v, OP_Subtract, regStart, regEnd, regEnd); - } - - if( pMWin->pStart && pMWin->eEnd==TK_PRECEDING ){ - assert( pMWin->pEnd!=0 ); - assert( pMWin->eStart==TK_PRECEDING ); - sqlite3VdbeAddOp3(v, OP_Le, regStart, sqlite3VdbeCurrentAddr(v)+3, regEnd); - VdbeCoverageNeverNull(v); - sqlite3VdbeAddOp2(v, OP_Copy, regSize, regStart); - sqlite3VdbeAddOp2(v, OP_Copy, regSize, regEnd); - } - - /* Initialize the accumulator register for each window function to NULL */ - regArg = windowInitAccum(pParse, pMWin); - - sqlite3VdbeAddOp2(v, OP_Rewind, pMWin->iEphCsr, lblFlushDone); - VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_Rewind, csrStart, lblFlushDone); - VdbeCoverageNeverTaken(v); - sqlite3VdbeChangeP5(v, 1); - sqlite3VdbeAddOp2(v, OP_Rewind, csrEnd, lblFlushDone); - VdbeCoverageNeverTaken(v); - sqlite3VdbeChangeP5(v, 1); - - /* Invoke AggStep function for each window function using the row that - ** csrEnd currently points to. Or, if csrEnd is already at EOF, - ** do nothing. */ - addrTop = sqlite3VdbeCurrentAddr(v); - if( pMWin->eEnd==TK_PRECEDING ){ - addrIfPos1 = sqlite3VdbeAddOp3(v, OP_IfPos, regEnd, 0 , 1); - VdbeCoverage(v); - } - sqlite3VdbeAddOp2(v, OP_Next, csrEnd, sqlite3VdbeCurrentAddr(v)+2); - VdbeCoverage(v); - addr = sqlite3VdbeAddOp0(v, OP_Goto); - windowAggStep(pParse, pMWin, csrEnd, 0, regArg, regSize); - if( pMWin->eEnd==TK_UNBOUNDED ){ - sqlite3VdbeAddOp2(v, OP_Goto, 0, addrTop); - sqlite3VdbeJumpHere(v, addr); - addrTop = sqlite3VdbeCurrentAddr(v); + if( pOrderBy ){ + int nVal = pOrderBy->nExpr; + KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pOrderBy, 0, 0); + sqlite3VdbeAddOp3(v, OP_Compare, regOld, regNew, nVal); + sqlite3VdbeAppendP4(v, (void*)pKeyInfo, P4_KEYINFO); + sqlite3VdbeAddOp3(v, OP_Jump, + sqlite3VdbeCurrentAddr(v)+1, addr, sqlite3VdbeCurrentAddr(v)+1 + ); + VdbeCoverageEqNe(v); + sqlite3VdbeAddOp3(v, OP_Copy, regNew, regOld, nVal-1); }else{ - sqlite3VdbeJumpHere(v, addr); - if( pMWin->eEnd==TK_PRECEDING ){ - sqlite3VdbeJumpHere(v, addrIfPos1); - } - } - - if( pMWin->eEnd==TK_FOLLOWING ){ - addrIfPos1 = sqlite3VdbeAddOp3(v, OP_IfPos, regEnd, 0 , 1); - VdbeCoverage(v); - } - if( pMWin->eStart==TK_FOLLOWING ){ - addrIfPos2 = sqlite3VdbeAddOp3(v, OP_IfPos, regStart, 0 , 1); - VdbeCoverage(v); + sqlite3VdbeAddOp2(v, OP_Goto, 0, addr); } - windowAggFinal(pParse, pMWin, 0); - windowReturnOneRow(pParse, pMWin, regGosub, addrGosub); - sqlite3VdbeAddOp2(v, OP_Next, pMWin->iEphCsr, sqlite3VdbeCurrentAddr(v)+2); - VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_Goto, 0, lblFlushDone); - if( pMWin->eStart==TK_FOLLOWING ){ - sqlite3VdbeJumpHere(v, addrIfPos2); - } - - if( pMWin->eStart==TK_CURRENT - || pMWin->eStart==TK_PRECEDING - || pMWin->eStart==TK_FOLLOWING - ){ - int lblSkipInverse = sqlite3VdbeMakeLabel(v);; - if( pMWin->eStart==TK_PRECEDING ){ - sqlite3VdbeAddOp3(v, OP_IfPos, regStart, lblSkipInverse, 1); - VdbeCoverage(v); - } - if( pMWin->eStart==TK_FOLLOWING ){ - sqlite3VdbeAddOp2(v, OP_Next, csrStart, sqlite3VdbeCurrentAddr(v)+2); - VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_Goto, 0, lblSkipInverse); - }else{ - sqlite3VdbeAddOp2(v, OP_Next, csrStart, sqlite3VdbeCurrentAddr(v)+1); - VdbeCoverageAlwaysTaken(v); - } - windowAggStep(pParse, pMWin, csrStart, 1, regArg, regSize); - sqlite3VdbeResolveLabel(v, lblSkipInverse); - } - if( pMWin->eEnd==TK_FOLLOWING ){ - sqlite3VdbeJumpHere(v, addrIfPos1); - } - sqlite3VdbeAddOp2(v, OP_Goto, 0, addrTop); - - /* flush_partition_done: */ - sqlite3VdbeResolveLabel(v, lblFlushDone); - sqlite3VdbeAddOp1(v, OP_ResetSorter, pMWin->iEphCsr); - sqlite3VdbeAddOp1(v, OP_Return, regFlushPart); - VdbeComment((v, "end flush_partition subroutine")); - - /* Jump to here to skip over flush_partition */ - sqlite3VdbeJumpHere(v, addrGoto); } /* -** This function does the work of sqlite3WindowCodeStep() for cases that -** would normally be handled by windowCodeDefaultStep() when there are -** one or more built-in window-functions that require the entire partition -** to be cached in a temp table before any rows can be returned. Additionally. -** "RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING" is always handled by -** this function. -** -** Pseudo-code corresponding to the VM code generated by this function -** for each type of window follows. -** -** RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW +** This function is called as part of generating VM programs for RANGE +** offset PRECEDING/FOLLOWING frame boundaries. Assuming "ASC" order for +** the ORDER BY term in the window, and that argument op is OP_Ge, it generates +** code equivalent to: ** -** flush_partition: -** Once { -** OpenDup (iEphCsr -> csrLead) -** } -** Integer ctr 0 -** foreach row (csrLead){ -** if( new peer ){ -** AggFinal (xValue) -** for(i=0; i= csr2.peerVal ) goto lbl; ** -** ResetSorter (csr) -** Return +** The value of parameter op may also be OP_Gt or OP_Le. In these cases the +** operator in the above pseudo-code is replaced with ">" or "<=", respectively. ** -** ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW +** If the sort-order for the ORDER BY term in the window is DESC, then the +** comparison is reversed. Instead of adding regVal to csr1.peerVal, it is +** subtracted. And the comparison operator is inverted to - ">=" becomes "<=", +** ">" becomes "<", and so on. So, with DESC sort order, if the argument op +** is OP_Ge, the generated code is equivalent to: ** -** As above, except that the "if( new peer )" branch is always taken. -** -** RANGE BETWEEN CURRENT ROW AND CURRENT ROW -** -** As above, except that each of the for() loops becomes: -** -** for(i=0; i csrLead) -** } -** foreach row (csrLead) { -** AggStep (csrLead) -** } -** foreach row (iEphCsr) { -** Gosub addrGosub -** } -** -** RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING -** -** flush_partition: -** Once { -** OpenDup (iEphCsr -> csrLead) -** } -** foreach row (csrLead){ -** AggStep (csrLead) -** } -** Rewind (csrLead) -** Integer ctr 0 -** foreach row (csrLead){ -** if( new peer ){ -** AggFinal (xValue) -** for(i=0; ipWin; + Parse *pParse = p->pParse; Vdbe *v = sqlite3GetVdbe(pParse); - int k; - int addr; - ExprList *pPart = pMWin->pPartition; - ExprList *pOrderBy = pMWin->pOrderBy; - int nPeer = pOrderBy ? pOrderBy->nExpr : 0; - int regNewPeer; - - int addrGoto; /* Address of Goto used to jump flush_par.. */ - int addrNext; /* Jump here for next iteration of loop */ - int regFlushPart; - int lblFlushPart; - int csrLead; - int regCtr; - int regArg; /* Register array to martial function args */ - int regSize; - int lblEmpty; - int bReverse = pMWin->pOrderBy && pMWin->eStart==TK_CURRENT - && pMWin->eEnd==TK_UNBOUNDED; - - assert( (pMWin->eStart==TK_UNBOUNDED && pMWin->eEnd==TK_CURRENT) - || (pMWin->eStart==TK_UNBOUNDED && pMWin->eEnd==TK_UNBOUNDED) - || (pMWin->eStart==TK_CURRENT && pMWin->eEnd==TK_CURRENT) - || (pMWin->eStart==TK_CURRENT && pMWin->eEnd==TK_UNBOUNDED) - ); - - lblEmpty = sqlite3VdbeMakeLabel(v); - regNewPeer = pParse->nMem+1; - pParse->nMem += nPeer; - - /* Allocate register and label for the "flush_partition" sub-routine. */ - regFlushPart = ++pParse->nMem; - lblFlushPart = sqlite3VdbeMakeLabel(v); - - csrLead = pParse->nTab++; - regCtr = ++pParse->nMem; + ExprList *pOrderBy = p->pMWin->pOrderBy; /* ORDER BY clause for window */ + int reg1 = sqlite3GetTempReg(pParse); /* Reg. for csr1.peerVal+regVal */ + int reg2 = sqlite3GetTempReg(pParse); /* Reg. for csr2.peerVal */ + int regString = ++pParse->nMem; /* Reg. for constant value '' */ + int arith = OP_Add; /* OP_Add or OP_Subtract */ + int addrGe; /* Jump destination */ + + assert( op==OP_Ge || op==OP_Gt || op==OP_Le ); + assert( pOrderBy && pOrderBy->nExpr==1 ); + if( pOrderBy->a[0].sortFlags & KEYINFO_ORDER_DESC ){ + switch( op ){ + case OP_Ge: op = OP_Le; break; + case OP_Gt: op = OP_Lt; break; + default: assert( op==OP_Le ); op = OP_Ge; break; + } + arith = OP_Subtract; + } - windowPartitionCache(pParse, p, pWInfo, regFlushPart, lblFlushPart, ®Size); - addrGoto = sqlite3VdbeAddOp0(v, OP_Goto); + /* Read the peer-value from each cursor into a register */ + windowReadPeerValues(p, csr1, reg1); + windowReadPeerValues(p, csr2, reg2); - /* Start of "flush_partition" */ - sqlite3VdbeResolveLabel(v, lblFlushPart); - sqlite3VdbeAddOp2(v, OP_Once, 0, sqlite3VdbeCurrentAddr(v)+2); - VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_OpenDup, csrLead, pMWin->iEphCsr); - - /* Initialize the accumulator register for each window function to NULL */ - regArg = windowInitAccum(pParse, pMWin); + VdbeModuleComment((v, "CodeRangeTest: if( R%d %s R%d %s R%d ) goto lbl", + reg1, (arith==OP_Add ? "+" : "-"), regVal, + ((op==OP_Ge) ? ">=" : (op==OP_Le) ? "<=" : (op==OP_Gt) ? ">" : "<"), reg2 + )); - sqlite3VdbeAddOp2(v, OP_Integer, 0, regCtr); - sqlite3VdbeAddOp2(v, OP_Rewind, csrLead, lblEmpty); + /* Register reg1 currently contains csr1.peerVal (the peer-value from csr1). + ** This block adds (or subtracts for DESC) the numeric value in regVal + ** from it. Or, if reg1 is not numeric (it is a NULL, a text value or a blob), + ** then leave reg1 as it is. In pseudo-code, this is implemented as: + ** + ** if( reg1>='' ) goto addrGe; + ** reg1 = reg1 +/- regVal + ** addrGe: + ** + ** Since all strings and blobs are greater-than-or-equal-to an empty string, + ** the add/subtract is skipped for these, as required. If reg1 is a NULL, + ** then the arithmetic is performed, but since adding or subtracting from + ** NULL is always NULL anyway, this case is handled as required too. */ + sqlite3VdbeAddOp4(v, OP_String8, 0, regString, 0, "", P4_STATIC); + addrGe = sqlite3VdbeAddOp3(v, OP_Ge, regString, 0, reg1); VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_Rewind, pMWin->iEphCsr, lblEmpty); - VdbeCoverageNeverTaken(v); - - if( bReverse ){ - int addr2 = sqlite3VdbeCurrentAddr(v); - windowAggStep(pParse, pMWin, csrLead, 0, regArg, regSize); - sqlite3VdbeAddOp2(v, OP_Next, csrLead, addr2); - VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_Rewind, csrLead, lblEmpty); - VdbeCoverageNeverTaken(v); - } - addrNext = sqlite3VdbeCurrentAddr(v); - - if( pOrderBy && (pMWin->eEnd==TK_CURRENT || pMWin->eStart==TK_CURRENT) ){ - int bCurrent = (pMWin->eStart==TK_CURRENT); - int addrJump = 0; /* Address of OP_Jump below */ - if( pMWin->eType==TK_RANGE ){ - int iOff = pMWin->nBufferCol + (pPart ? pPart->nExpr : 0); - int regPeer = pMWin->regPart + (pPart ? pPart->nExpr : 0); - KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pOrderBy, 0, 0); - for(k=0; ka[0].sortFlags & KEYINFO_ORDER_BIGNULL ){ + /* This block runs if reg1 contains a NULL. */ + int addr = sqlite3VdbeAddOp1(v, OP_NotNull, reg1); VdbeCoverage(v); + switch( op ){ + case OP_Ge: + sqlite3VdbeAddOp2(v, OP_Goto, 0, lbl); + break; + case OP_Gt: + sqlite3VdbeAddOp2(v, OP_NotNull, reg2, lbl); + VdbeCoverage(v); + break; + case OP_Le: + sqlite3VdbeAddOp2(v, OP_IsNull, reg2, lbl); + VdbeCoverage(v); + break; + default: assert( op==OP_Lt ); /* no-op */ break; } + sqlite3VdbeAddOp2(v, OP_Goto, 0, sqlite3VdbeCurrentAddr(v)+3); - windowReturnRows(pParse, pMWin, regCtr, regGosub, addrGosub, - (bCurrent ? regArg : 0), (bCurrent ? regSize : 0) - ); - if( addrJump ) sqlite3VdbeJumpHere(v, addrJump); - } - - if( bReverse==0 ){ - windowAggStep(pParse, pMWin, csrLead, 0, regArg, regSize); + /* This block runs if reg1 is not NULL, but reg2 is. */ + sqlite3VdbeJumpHere(v, addr); + sqlite3VdbeAddOp2(v, OP_IsNull, reg2, lbl); VdbeCoverage(v); + if( op==OP_Gt || op==OP_Ge ){ + sqlite3VdbeChangeP2(v, -1, sqlite3VdbeCurrentAddr(v)+1); + } } - sqlite3VdbeAddOp2(v, OP_AddImm, regCtr, 1); - sqlite3VdbeAddOp2(v, OP_Next, csrLead, addrNext); - VdbeCoverage(v); - windowReturnRows(pParse, pMWin, regCtr, regGosub, addrGosub, 0, 0); + /* Compare registers reg2 and reg1, taking the jump if required. Note that + ** control skips over this test if the BIGNULL flag is set and either + ** reg1 or reg2 contain a NULL value. */ + sqlite3VdbeAddOp3(v, op, reg2, lbl, reg1); VdbeCoverage(v); + sqlite3VdbeChangeP5(v, SQLITE_NULLEQ); - sqlite3VdbeResolveLabel(v, lblEmpty); - sqlite3VdbeAddOp1(v, OP_ResetSorter, pMWin->iEphCsr); - sqlite3VdbeAddOp1(v, OP_Return, regFlushPart); + assert( op==OP_Ge || op==OP_Gt || op==OP_Lt || op==OP_Le ); + testcase(op==OP_Ge); VdbeCoverageIf(v, op==OP_Ge); + testcase(op==OP_Lt); VdbeCoverageIf(v, op==OP_Lt); + testcase(op==OP_Le); VdbeCoverageIf(v, op==OP_Le); + testcase(op==OP_Gt); VdbeCoverageIf(v, op==OP_Gt); + sqlite3ReleaseTempReg(pParse, reg1); + sqlite3ReleaseTempReg(pParse, reg2); - /* Jump to here to skip over flush_partition */ - sqlite3VdbeJumpHere(v, addrGoto); + VdbeModuleComment((v, "CodeRangeTest: end")); } - /* -** RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -** -** ... -** if( new partition ){ -** AggFinal (xFinalize) -** Gosub addrGosub -** ResetSorter eph-table -** } -** else if( new peer ){ -** AggFinal (xValue) -** Gosub addrGosub -** ResetSorter eph-table -** } -** AggStep -** Insert (record into eph-table) -** sqlite3WhereEnd() -** AggFinal (xFinalize) -** Gosub addrGosub -** -** RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING -** -** As above, except take no action for a "new peer". Invoke -** the sub-routine once only for each partition. -** -** RANGE BETWEEN CURRENT ROW AND CURRENT ROW -** -** As above, except that the "new peer" condition is handled in the -** same way as "new partition" (so there is no "else if" block). -** -** ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -** -** As above, except assume every row is a "new peer". +** Helper function for sqlite3WindowCodeStep(). Each call to this function +** generates VM code for a single RETURN_ROW, AGGSTEP or AGGINVERSE +** operation. Refer to the header comment for sqlite3WindowCodeStep() for +** details. */ -static void windowCodeDefaultStep( - Parse *pParse, - Select *p, - WhereInfo *pWInfo, - int regGosub, - int addrGosub +static int windowCodeOp( + WindowCodeArg *p, /* Context object */ + int op, /* WINDOW_RETURN_ROW, AGGSTEP or AGGINVERSE */ + int regCountdown, /* Register for OP_IfPos countdown */ + int jumpOnEof /* Jump here if stepped cursor reaches EOF */ ){ - Window *pMWin = p->pWin; - Vdbe *v = sqlite3GetVdbe(pParse); - int k; - int iSubCsr = p->pSrc->a[0].iCursor; - int nSub = p->pSrc->a[0].pTab->nCol; - int reg = pParse->nMem+1; - int regRecord = reg+nSub; - int regRowid = regRecord+1; - int addr; - ExprList *pPart = pMWin->pPartition; - ExprList *pOrderBy = pMWin->pOrderBy; + int csr, reg; + Parse *pParse = p->pParse; + Window *pMWin = p->pMWin; + int ret = 0; + Vdbe *v = p->pVdbe; + int addrContinue = 0; + int bPeer = (pMWin->eFrmType!=TK_ROWS); - assert( pMWin->eType==TK_RANGE - || (pMWin->eStart==TK_UNBOUNDED && pMWin->eEnd==TK_CURRENT) - ); + int lblDone = sqlite3VdbeMakeLabel(pParse); + int addrNextRange = 0; - assert( (pMWin->eStart==TK_UNBOUNDED && pMWin->eEnd==TK_CURRENT) - || (pMWin->eStart==TK_UNBOUNDED && pMWin->eEnd==TK_UNBOUNDED) - || (pMWin->eStart==TK_CURRENT && pMWin->eEnd==TK_CURRENT) - || (pMWin->eStart==TK_CURRENT && pMWin->eEnd==TK_UNBOUNDED && !pOrderBy) - ); + /* Special case - WINDOW_AGGINVERSE is always a no-op if the frame + ** starts with UNBOUNDED PRECEDING. */ + if( op==WINDOW_AGGINVERSE && pMWin->eStart==TK_UNBOUNDED ){ + assert( regCountdown==0 && jumpOnEof==0 ); + return 0; + } - if( pMWin->eEnd==TK_UNBOUNDED ){ - pOrderBy = 0; + if( regCountdown>0 ){ + if( pMWin->eFrmType==TK_RANGE ){ + addrNextRange = sqlite3VdbeCurrentAddr(v); + assert( op==WINDOW_AGGINVERSE || op==WINDOW_AGGSTEP ); + if( op==WINDOW_AGGINVERSE ){ + if( pMWin->eStart==TK_FOLLOWING ){ + windowCodeRangeTest( + p, OP_Le, p->current.csr, regCountdown, p->start.csr, lblDone + ); + }else{ + windowCodeRangeTest( + p, OP_Ge, p->start.csr, regCountdown, p->current.csr, lblDone + ); + } + }else{ + windowCodeRangeTest( + p, OP_Gt, p->end.csr, regCountdown, p->current.csr, lblDone + ); + } + }else{ + sqlite3VdbeAddOp3(v, OP_IfPos, regCountdown, lblDone, 1); + VdbeCoverage(v); + } } - pParse->nMem += nSub + 2; + if( op==WINDOW_RETURN_ROW && pMWin->regStartRowid==0 ){ + windowAggFinal(p, 0); + } + addrContinue = sqlite3VdbeCurrentAddr(v); - /* Load the individual column values of the row returned by - ** the sub-select into an array of registers. */ - for(k=0; kb). */ + if( pMWin->eStart==pMWin->eEnd && regCountdown + && pMWin->eFrmType==TK_RANGE && op==WINDOW_AGGINVERSE + ){ + int regRowid1 = sqlite3GetTempReg(pParse); + int regRowid2 = sqlite3GetTempReg(pParse); + sqlite3VdbeAddOp2(v, OP_Rowid, p->start.csr, regRowid1); + sqlite3VdbeAddOp2(v, OP_Rowid, p->end.csr, regRowid2); + sqlite3VdbeAddOp3(v, OP_Ge, regRowid2, lblDone, regRowid1); + VdbeCoverage(v); + sqlite3ReleaseTempReg(pParse, regRowid1); + sqlite3ReleaseTempReg(pParse, regRowid2); + assert( pMWin->eStart==TK_PRECEDING || pMWin->eStart==TK_FOLLOWING ); } - /* Check if this is the start of a new partition or peer group. */ - if( pPart || pOrderBy ){ - int nPart = (pPart ? pPart->nExpr : 0); - int addrGoto = 0; - int addrJump = 0; - int nPeer = (pOrderBy ? pOrderBy->nExpr : 0); + switch( op ){ + case WINDOW_RETURN_ROW: + csr = p->current.csr; + reg = p->current.reg; + windowReturnOneRow(p); + break; - if( pPart ){ - int regNewPart = reg + pMWin->nBufferCol; - KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pPart, 0, 0); - addr = sqlite3VdbeAddOp3(v, OP_Compare, regNewPart, pMWin->regPart,nPart); - sqlite3VdbeAppendP4(v, (void*)pKeyInfo, P4_KEYINFO); - addrJump = sqlite3VdbeAddOp3(v, OP_Jump, addr+2, 0, addr+2); - VdbeCoverageEqNe(v); - windowAggFinal(pParse, pMWin, 1); - if( pOrderBy ){ - addrGoto = sqlite3VdbeAddOp0(v, OP_Goto); + case WINDOW_AGGINVERSE: + csr = p->start.csr; + reg = p->start.reg; + if( pMWin->regStartRowid ){ + assert( pMWin->regEndRowid ); + sqlite3VdbeAddOp2(v, OP_AddImm, pMWin->regStartRowid, 1); + }else{ + windowAggStep(p, pMWin, csr, 1, p->regArg); } - } - - if( pOrderBy ){ - int regNewPeer = reg + pMWin->nBufferCol + nPart; - int regPeer = pMWin->regPart + nPart; + break; - if( addrJump ) sqlite3VdbeJumpHere(v, addrJump); - if( pMWin->eType==TK_RANGE ){ - KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pOrderBy, 0, 0); - addr = sqlite3VdbeAddOp3(v, OP_Compare, regNewPeer, regPeer, nPeer); - sqlite3VdbeAppendP4(v, (void*)pKeyInfo, P4_KEYINFO); - addrJump = sqlite3VdbeAddOp3(v, OP_Jump, addr+2, 0, addr+2); - VdbeCoverage(v); + default: + assert( op==WINDOW_AGGSTEP ); + csr = p->end.csr; + reg = p->end.reg; + if( pMWin->regStartRowid ){ + assert( pMWin->regEndRowid ); + sqlite3VdbeAddOp2(v, OP_AddImm, pMWin->regEndRowid, 1); }else{ - addrJump = 0; + windowAggStep(p, pMWin, csr, 0, p->regArg); } - windowAggFinal(pParse, pMWin, pMWin->eStart==TK_CURRENT); - if( addrGoto ) sqlite3VdbeJumpHere(v, addrGoto); - } - - sqlite3VdbeAddOp2(v, OP_Rewind, pMWin->iEphCsr,sqlite3VdbeCurrentAddr(v)+3); - VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_Gosub, regGosub, addrGosub); - sqlite3VdbeAddOp2(v, OP_Next, pMWin->iEphCsr, sqlite3VdbeCurrentAddr(v)-1); - VdbeCoverage(v); - - sqlite3VdbeAddOp1(v, OP_ResetSorter, pMWin->iEphCsr); - sqlite3VdbeAddOp3( - v, OP_Copy, reg+pMWin->nBufferCol, pMWin->regPart, nPart+nPeer-1 - ); - - if( addrJump ) sqlite3VdbeJumpHere(v, addrJump); + break; } - /* Invoke step function for window functions */ - windowAggStep(pParse, pMWin, -1, 0, reg, 0); + if( op==p->eDelete ){ + sqlite3VdbeAddOp1(v, OP_Delete, csr); + sqlite3VdbeChangeP5(v, OPFLAG_SAVEPOSITION); + } - /* Buffer the current row in the ephemeral table. */ - if( pMWin->nBufferCol>0 ){ - sqlite3VdbeAddOp3(v, OP_MakeRecord, reg, pMWin->nBufferCol, regRecord); + if( jumpOnEof ){ + sqlite3VdbeAddOp2(v, OP_Next, csr, sqlite3VdbeCurrentAddr(v)+2); + VdbeCoverage(v); + ret = sqlite3VdbeAddOp0(v, OP_Goto); }else{ - sqlite3VdbeAddOp2(v, OP_Blob, 0, regRecord); - sqlite3VdbeAppendP4(v, (void*)"", 0); + sqlite3VdbeAddOp2(v, OP_Next, csr, sqlite3VdbeCurrentAddr(v)+1+bPeer); + VdbeCoverage(v); + if( bPeer ){ + sqlite3VdbeAddOp2(v, OP_Goto, 0, lblDone); + } } - sqlite3VdbeAddOp2(v, OP_NewRowid, pMWin->iEphCsr, regRowid); - sqlite3VdbeAddOp3(v, OP_Insert, pMWin->iEphCsr, regRecord, regRowid); - /* End the database scan loop. */ - sqlite3WhereEnd(pWInfo); + if( bPeer ){ + int nReg = (pMWin->pOrderBy ? pMWin->pOrderBy->nExpr : 0); + int regTmp = (nReg ? sqlite3GetTempRange(pParse, nReg) : 0); + windowReadPeerValues(p, csr, regTmp); + windowIfNewPeer(pParse, pMWin->pOrderBy, regTmp, reg, addrContinue); + sqlite3ReleaseTempRange(pParse, regTmp, nReg); + } - windowAggFinal(pParse, pMWin, 1); - sqlite3VdbeAddOp2(v, OP_Rewind, pMWin->iEphCsr,sqlite3VdbeCurrentAddr(v)+3); - VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_Gosub, regGosub, addrGosub); - sqlite3VdbeAddOp2(v, OP_Next, pMWin->iEphCsr, sqlite3VdbeCurrentAddr(v)-1); - VdbeCoverage(v); + if( addrNextRange ){ + sqlite3VdbeAddOp2(v, OP_Goto, 0, addrNextRange); + } + sqlite3VdbeResolveLabel(v, lblDone); + return ret; } + /* ** Allocate and return a duplicate of the Window object indicated by the ** third argument. Set the Window.pOwner field of the new object to @@ -146681,15 +148939,20 @@ SQLITE_PRIVATE Window *sqlite3WindowDup(sqlite3 *db, Expr *pOwner, Window *p){ pNew = sqlite3DbMallocZero(db, sizeof(Window)); if( pNew ){ pNew->zName = sqlite3DbStrDup(db, p->zName); + pNew->zBase = sqlite3DbStrDup(db, p->zBase); pNew->pFilter = sqlite3ExprDup(db, p->pFilter, 0); + pNew->pFunc = p->pFunc; pNew->pPartition = sqlite3ExprListDup(db, p->pPartition, 0); pNew->pOrderBy = sqlite3ExprListDup(db, p->pOrderBy, 0); - pNew->eType = p->eType; + pNew->eFrmType = p->eFrmType; pNew->eEnd = p->eEnd; pNew->eStart = p->eStart; + pNew->eExclude = p->eExclude; + pNew->regResult = p->regResult; pNew->pStart = sqlite3ExprDup(db, p->pStart, 0); pNew->pEnd = sqlite3ExprDup(db, p->pEnd, 0); pNew->pOwner = pOwner; + pNew->bImplicitFrame = p->bImplicitFrame; } } return pNew; @@ -146713,12 +148976,360 @@ SQLITE_PRIVATE Window *sqlite3WindowListDup(sqlite3 *db, Window *p){ return pRet; } +/* +** Return true if it can be determined at compile time that expression +** pExpr evaluates to a value that, when cast to an integer, is greater +** than zero. False otherwise. +** +** If an OOM error occurs, this function sets the Parse.db.mallocFailed +** flag and returns zero. +*/ +static int windowExprGtZero(Parse *pParse, Expr *pExpr){ + int ret = 0; + sqlite3 *db = pParse->db; + sqlite3_value *pVal = 0; + sqlite3ValueFromExpr(db, pExpr, db->enc, SQLITE_AFF_NUMERIC, &pVal); + if( pVal && sqlite3_value_int(pVal)>0 ){ + ret = 1; + } + sqlite3ValueFree(pVal); + return ret; +} + /* ** sqlite3WhereBegin() has already been called for the SELECT statement ** passed as the second argument when this function is invoked. It generates -** code to populate the Window.regResult register for each window function and -** invoke the sub-routine at instruction addrGosub once for each row. -** This function calls sqlite3WhereEnd() before returning. +** code to populate the Window.regResult register for each window function +** and invoke the sub-routine at instruction addrGosub once for each row. +** sqlite3WhereEnd() is always called before returning. +** +** This function handles several different types of window frames, which +** require slightly different processing. The following pseudo code is +** used to implement window frames of the form: +** +** ROWS BETWEEN PRECEDING AND FOLLOWING +** +** Other window frame types use variants of the following: +** +** ... loop started by sqlite3WhereBegin() ... +** if( new partition ){ +** Gosub flush +** } +** Insert new row into eph table. +** +** if( first row of partition ){ +** // Rewind three cursors, all open on the eph table. +** Rewind(csrEnd); +** Rewind(csrStart); +** Rewind(csrCurrent); +** +** regEnd = // FOLLOWING expression +** regStart = // PRECEDING expression +** }else{ +** // First time this branch is taken, the eph table contains two +** // rows. The first row in the partition, which all three cursors +** // currently point to, and the following row. +** AGGSTEP +** if( (regEnd--)<=0 ){ +** RETURN_ROW +** if( (regStart--)<=0 ){ +** AGGINVERSE +** } +** } +** } +** } +** flush: +** AGGSTEP +** while( 1 ){ +** RETURN ROW +** if( csrCurrent is EOF ) break; +** if( (regStart--)<=0 ){ +** AggInverse(csrStart) +** Next(csrStart) +** } +** } +** +** The pseudo-code above uses the following shorthand: +** +** AGGSTEP: invoke the aggregate xStep() function for each window function +** with arguments read from the current row of cursor csrEnd, then +** step cursor csrEnd forward one row (i.e. sqlite3BtreeNext()). +** +** RETURN_ROW: return a row to the caller based on the contents of the +** current row of csrCurrent and the current state of all +** aggregates. Then step cursor csrCurrent forward one row. +** +** AGGINVERSE: invoke the aggregate xInverse() function for each window +** functions with arguments read from the current row of cursor +** csrStart. Then step csrStart forward one row. +** +** There are two other ROWS window frames that are handled significantly +** differently from the above - "BETWEEN PRECEDING AND PRECEDING" +** and "BETWEEN FOLLOWING AND FOLLOWING". These are special +** cases because they change the order in which the three cursors (csrStart, +** csrCurrent and csrEnd) iterate through the ephemeral table. Cases that +** use UNBOUNDED or CURRENT ROW are much simpler variations on one of these +** three. +** +** ROWS BETWEEN PRECEDING AND PRECEDING +** +** ... loop started by sqlite3WhereBegin() ... +** if( new partition ){ +** Gosub flush +** } +** Insert new row into eph table. +** if( first row of partition ){ +** Rewind(csrEnd) ; Rewind(csrStart) ; Rewind(csrCurrent) +** regEnd = +** regStart = +** }else{ +** if( (regEnd--)<=0 ){ +** AGGSTEP +** } +** RETURN_ROW +** if( (regStart--)<=0 ){ +** AGGINVERSE +** } +** } +** } +** flush: +** if( (regEnd--)<=0 ){ +** AGGSTEP +** } +** RETURN_ROW +** +** +** ROWS BETWEEN FOLLOWING AND FOLLOWING +** +** ... loop started by sqlite3WhereBegin() ... +** if( new partition ){ +** Gosub flush +** } +** Insert new row into eph table. +** if( first row of partition ){ +** Rewind(csrEnd) ; Rewind(csrStart) ; Rewind(csrCurrent) +** regEnd = +** regStart = regEnd - +** }else{ +** AGGSTEP +** if( (regEnd--)<=0 ){ +** RETURN_ROW +** } +** if( (regStart--)<=0 ){ +** AGGINVERSE +** } +** } +** } +** flush: +** AGGSTEP +** while( 1 ){ +** if( (regEnd--)<=0 ){ +** RETURN_ROW +** if( eof ) break; +** } +** if( (regStart--)<=0 ){ +** AGGINVERSE +** if( eof ) break +** } +** } +** while( !eof csrCurrent ){ +** RETURN_ROW +** } +** +** For the most part, the patterns above are adapted to support UNBOUNDED by +** assuming that it is equivalent to "infinity PRECEDING/FOLLOWING" and +** CURRENT ROW by assuming that it is equivilent to "0 PRECEDING/FOLLOWING". +** This is optimized of course - branches that will never be taken and +** conditions that are always true are omitted from the VM code. The only +** exceptional case is: +** +** ROWS BETWEEN FOLLOWING AND UNBOUNDED FOLLOWING +** +** ... loop started by sqlite3WhereBegin() ... +** if( new partition ){ +** Gosub flush +** } +** Insert new row into eph table. +** if( first row of partition ){ +** Rewind(csrEnd) ; Rewind(csrStart) ; Rewind(csrCurrent) +** regStart = +** }else{ +** AGGSTEP +** } +** } +** flush: +** AGGSTEP +** while( 1 ){ +** if( (regStart--)<=0 ){ +** AGGINVERSE +** if( eof ) break +** } +** RETURN_ROW +** } +** while( !eof csrCurrent ){ +** RETURN_ROW +** } +** +** Also requiring special handling are the cases: +** +** ROWS BETWEEN PRECEDING AND PRECEDING +** ROWS BETWEEN FOLLOWING AND FOLLOWING +** +** when (expr1 < expr2). This is detected at runtime, not by this function. +** To handle this case, the pseudo-code programs depicted above are modified +** slightly to be: +** +** ... loop started by sqlite3WhereBegin() ... +** if( new partition ){ +** Gosub flush +** } +** Insert new row into eph table. +** if( first row of partition ){ +** Rewind(csrEnd) ; Rewind(csrStart) ; Rewind(csrCurrent) +** regEnd = +** regStart = +** if( regEnd < regStart ){ +** RETURN_ROW +** delete eph table contents +** continue +** } +** ... +** +** The new "continue" statement in the above jumps to the next iteration +** of the outer loop - the one started by sqlite3WhereBegin(). +** +** The various GROUPS cases are implemented using the same patterns as +** ROWS. The VM code is modified slightly so that: +** +** 1. The else branch in the main loop is only taken if the row just +** added to the ephemeral table is the start of a new group. In +** other words, it becomes: +** +** ... loop started by sqlite3WhereBegin() ... +** if( new partition ){ +** Gosub flush +** } +** Insert new row into eph table. +** if( first row of partition ){ +** Rewind(csrEnd) ; Rewind(csrStart) ; Rewind(csrCurrent) +** regEnd = +** regStart = +** }else if( new group ){ +** ... +** } +** } +** +** 2. Instead of processing a single row, each RETURN_ROW, AGGSTEP or +** AGGINVERSE step processes the current row of the relevant cursor and +** all subsequent rows belonging to the same group. +** +** RANGE window frames are a little different again. As for GROUPS, the +** main loop runs once per group only. And RETURN_ROW, AGGSTEP and AGGINVERSE +** deal in groups instead of rows. As for ROWS and GROUPS, there are three +** basic cases: +** +** RANGE BETWEEN PRECEDING AND FOLLOWING +** +** ... loop started by sqlite3WhereBegin() ... +** if( new partition ){ +** Gosub flush +** } +** Insert new row into eph table. +** if( first row of partition ){ +** Rewind(csrEnd) ; Rewind(csrStart) ; Rewind(csrCurrent) +** regEnd = +** regStart = +** }else{ +** AGGSTEP +** while( (csrCurrent.key + regEnd) < csrEnd.key ){ +** RETURN_ROW +** while( csrStart.key + regStart) < csrCurrent.key ){ +** AGGINVERSE +** } +** } +** } +** } +** flush: +** AGGSTEP +** while( 1 ){ +** RETURN ROW +** if( csrCurrent is EOF ) break; +** while( csrStart.key + regStart) < csrCurrent.key ){ +** AGGINVERSE +** } +** } +** } +** +** In the above notation, "csr.key" means the current value of the ORDER BY +** expression (there is only ever 1 for a RANGE that uses an FOLLOWING +** or PRECEDING AND PRECEDING +** +** ... loop started by sqlite3WhereBegin() ... +** if( new partition ){ +** Gosub flush +** } +** Insert new row into eph table. +** if( first row of partition ){ +** Rewind(csrEnd) ; Rewind(csrStart) ; Rewind(csrCurrent) +** regEnd = +** regStart = +** }else{ +** while( (csrEnd.key + regEnd) <= csrCurrent.key ){ +** AGGSTEP +** } +** while( (csrStart.key + regStart) < csrCurrent.key ){ +** AGGINVERSE +** } +** RETURN_ROW +** } +** } +** flush: +** while( (csrEnd.key + regEnd) <= csrCurrent.key ){ +** AGGSTEP +** } +** while( (csrStart.key + regStart) < csrCurrent.key ){ +** AGGINVERSE +** } +** RETURN_ROW +** +** RANGE BETWEEN FOLLOWING AND FOLLOWING +** +** ... loop started by sqlite3WhereBegin() ... +** if( new partition ){ +** Gosub flush +** } +** Insert new row into eph table. +** if( first row of partition ){ +** Rewind(csrEnd) ; Rewind(csrStart) ; Rewind(csrCurrent) +** regEnd = +** regStart = +** }else{ +** AGGSTEP +** while( (csrCurrent.key + regEnd) < csrEnd.key ){ +** while( (csrCurrent.key + regStart) > csrStart.key ){ +** AGGINVERSE +** } +** RETURN_ROW +** } +** } +** } +** flush: +** AGGSTEP +** while( 1 ){ +** while( (csrCurrent.key + regStart) > csrStart.key ){ +** AGGINVERSE +** if( eof ) break "while( 1 )" loop. +** } +** RETURN_ROW +** } +** while( !eof csrCurrent ){ +** RETURN_ROW +** } +** +** The text above leaves out many details. Refer to the code and comments +** below for a more complete picture. */ SQLITE_PRIVATE void sqlite3WindowCodeStep( Parse *pParse, /* Parse context */ @@ -146728,75 +149339,321 @@ SQLITE_PRIVATE void sqlite3WindowCodeStep( int addrGosub /* OP_Gosub here to return each row */ ){ Window *pMWin = p->pWin; + ExprList *pOrderBy = pMWin->pOrderBy; + Vdbe *v = sqlite3GetVdbe(pParse); + int csrWrite; /* Cursor used to write to eph. table */ + int csrInput = p->pSrc->a[0].iCursor; /* Cursor of sub-select */ + int nInput = p->pSrc->a[0].pTab->nCol; /* Number of cols returned by sub */ + int iInput; /* To iterate through sub cols */ + int addrNe; /* Address of OP_Ne */ + int addrGosubFlush = 0; /* Address of OP_Gosub to flush: */ + int addrInteger = 0; /* Address of OP_Integer */ + int addrEmpty; /* Address of OP_Rewind in flush: */ + int regNew; /* Array of registers holding new input row */ + int regRecord; /* regNew array in record form */ + int regRowid; /* Rowid for regRecord in eph table */ + int regNewPeer = 0; /* Peer values for new row (part of regNew) */ + int regPeer = 0; /* Peer values for current row */ + int regFlushPart = 0; /* Register for "Gosub flush_partition" */ + WindowCodeArg s; /* Context object for sub-routines */ + int lblWhereEnd; /* Label just before sqlite3WhereEnd() code */ + int regStart = 0; /* Value of PRECEDING */ + int regEnd = 0; /* Value of FOLLOWING */ + + assert( pMWin->eStart==TK_PRECEDING || pMWin->eStart==TK_CURRENT + || pMWin->eStart==TK_FOLLOWING || pMWin->eStart==TK_UNBOUNDED + ); + assert( pMWin->eEnd==TK_FOLLOWING || pMWin->eEnd==TK_CURRENT + || pMWin->eEnd==TK_UNBOUNDED || pMWin->eEnd==TK_PRECEDING + ); + assert( pMWin->eExclude==0 || pMWin->eExclude==TK_CURRENT + || pMWin->eExclude==TK_GROUP || pMWin->eExclude==TK_TIES + || pMWin->eExclude==TK_NO + ); - /* There are three different functions that may be used to do the work - ** of this one, depending on the window frame and the specific built-in - ** window functions used (if any). - ** - ** windowCodeRowExprStep() handles all "ROWS" window frames, except for: - ** - ** ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW - ** - ** The exception is because windowCodeRowExprStep() implements all window - ** frame types by caching the entire partition in a temp table, and - ** "ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW" is easy enough to - ** implement without such a cache. - ** - ** windowCodeCacheStep() is used for: - ** - ** RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING - ** - ** It is also used for anything not handled by windowCodeRowExprStep() - ** that invokes a built-in window function that requires the entire - ** partition to be cached in a temp table before any rows are returned - ** (e.g. nth_value() or percent_rank()). - ** - ** Finally, assuming there is no built-in window function that requires - ** the partition to be cached, windowCodeDefaultStep() is used for: - ** - ** RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW - ** RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING - ** RANGE BETWEEN CURRENT ROW AND CURRENT ROW - ** ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW - ** - ** windowCodeDefaultStep() is the only one of the three functions that - ** does not cache each partition in a temp table before beginning to - ** return rows. - */ - if( pMWin->eType==TK_ROWS - && (pMWin->eStart!=TK_UNBOUNDED||pMWin->eEnd!=TK_CURRENT||!pMWin->pOrderBy) - ){ - VdbeModuleComment((pParse->pVdbe, "Begin RowExprStep()")); - windowCodeRowExprStep(pParse, p, pWInfo, regGosub, addrGosub); - }else{ - Window *pWin; - int bCache = 0; /* True to use CacheStep() */ - - if( pMWin->eStart==TK_CURRENT && pMWin->eEnd==TK_UNBOUNDED ){ - bCache = 1; - }else{ - for(pWin=pMWin; pWin; pWin=pWin->pNextWin){ - FuncDef *pFunc = pWin->pFunc; - if( (pFunc->funcFlags & SQLITE_FUNC_WINDOW_SIZE) - || (pFunc->zName==nth_valueName) - || (pFunc->zName==first_valueName) - || (pFunc->zName==leadName) - || (pFunc->zName==lagName) - ){ - bCache = 1; - break; + lblWhereEnd = sqlite3VdbeMakeLabel(pParse); + + /* Fill in the context object */ + memset(&s, 0, sizeof(WindowCodeArg)); + s.pParse = pParse; + s.pMWin = pMWin; + s.pVdbe = v; + s.regGosub = regGosub; + s.addrGosub = addrGosub; + s.current.csr = pMWin->iEphCsr; + csrWrite = s.current.csr+1; + s.start.csr = s.current.csr+2; + s.end.csr = s.current.csr+3; + + /* Figure out when rows may be deleted from the ephemeral table. There + ** are four options - they may never be deleted (eDelete==0), they may + ** be deleted as soon as they are no longer part of the window frame + ** (eDelete==WINDOW_AGGINVERSE), they may be deleted as after the row + ** has been returned to the caller (WINDOW_RETURN_ROW), or they may + ** be deleted after they enter the frame (WINDOW_AGGSTEP). */ + switch( pMWin->eStart ){ + case TK_FOLLOWING: + if( pMWin->eFrmType!=TK_RANGE + && windowExprGtZero(pParse, pMWin->pStart) + ){ + s.eDelete = WINDOW_RETURN_ROW; + } + break; + case TK_UNBOUNDED: + if( windowCacheFrame(pMWin)==0 ){ + if( pMWin->eEnd==TK_PRECEDING ){ + if( pMWin->eFrmType!=TK_RANGE + && windowExprGtZero(pParse, pMWin->pEnd) + ){ + s.eDelete = WINDOW_AGGSTEP; + } + }else{ + s.eDelete = WINDOW_RETURN_ROW; + } + } + break; + default: + s.eDelete = WINDOW_AGGINVERSE; + break; + } + + /* Allocate registers for the array of values from the sub-query, the + ** samve values in record form, and the rowid used to insert said record + ** into the ephemeral table. */ + regNew = pParse->nMem+1; + pParse->nMem += nInput; + regRecord = ++pParse->nMem; + regRowid = ++pParse->nMem; + + /* If the window frame contains an " PRECEDING" or " FOLLOWING" + ** clause, allocate registers to store the results of evaluating each + ** . */ + if( pMWin->eStart==TK_PRECEDING || pMWin->eStart==TK_FOLLOWING ){ + regStart = ++pParse->nMem; + } + if( pMWin->eEnd==TK_PRECEDING || pMWin->eEnd==TK_FOLLOWING ){ + regEnd = ++pParse->nMem; + } + + /* If this is not a "ROWS BETWEEN ..." frame, then allocate arrays of + ** registers to store copies of the ORDER BY expressions (peer values) + ** for the main loop, and for each cursor (start, current and end). */ + if( pMWin->eFrmType!=TK_ROWS ){ + int nPeer = (pOrderBy ? pOrderBy->nExpr : 0); + regNewPeer = regNew + pMWin->nBufferCol; + if( pMWin->pPartition ) regNewPeer += pMWin->pPartition->nExpr; + regPeer = pParse->nMem+1; pParse->nMem += nPeer; + s.start.reg = pParse->nMem+1; pParse->nMem += nPeer; + s.current.reg = pParse->nMem+1; pParse->nMem += nPeer; + s.end.reg = pParse->nMem+1; pParse->nMem += nPeer; + } + + /* Load the column values for the row returned by the sub-select + ** into an array of registers starting at regNew. Assemble them into + ** a record in register regRecord. */ + for(iInput=0; iInputpPartition ){ + int addr; + ExprList *pPart = pMWin->pPartition; + int nPart = pPart->nExpr; + int regNewPart = regNew + pMWin->nBufferCol; + KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pPart, 0, 0); + + regFlushPart = ++pParse->nMem; + addr = sqlite3VdbeAddOp3(v, OP_Compare, regNewPart, pMWin->regPart, nPart); + sqlite3VdbeAppendP4(v, (void*)pKeyInfo, P4_KEYINFO); + sqlite3VdbeAddOp3(v, OP_Jump, addr+2, addr+4, addr+2); + VdbeCoverageEqNe(v); + addrGosubFlush = sqlite3VdbeAddOp1(v, OP_Gosub, regFlushPart); + VdbeComment((v, "call flush_partition")); + sqlite3VdbeAddOp3(v, OP_Copy, regNewPart, pMWin->regPart, nPart-1); + } + + /* Insert the new row into the ephemeral table */ + sqlite3VdbeAddOp2(v, OP_NewRowid, csrWrite, regRowid); + sqlite3VdbeAddOp3(v, OP_Insert, csrWrite, regRecord, regRowid); + addrNe = sqlite3VdbeAddOp3(v, OP_Ne, pMWin->regOne, 0, regRowid); + VdbeCoverageNeverNull(v); + + /* This block is run for the first row of each partition */ + s.regArg = windowInitAccum(pParse, pMWin); + + if( regStart ){ + sqlite3ExprCode(pParse, pMWin->pStart, regStart); + windowCheckValue(pParse, regStart, 0 + (pMWin->eFrmType==TK_RANGE?3:0)); + } + if( regEnd ){ + sqlite3ExprCode(pParse, pMWin->pEnd, regEnd); + windowCheckValue(pParse, regEnd, 1 + (pMWin->eFrmType==TK_RANGE?3:0)); + } + + if( pMWin->eFrmType!=TK_RANGE && pMWin->eStart==pMWin->eEnd && regStart ){ + int op = ((pMWin->eStart==TK_FOLLOWING) ? OP_Ge : OP_Le); + int addrGe = sqlite3VdbeAddOp3(v, op, regStart, 0, regEnd); + VdbeCoverageNeverNullIf(v, op==OP_Ge); /* NeverNull because bound */ + VdbeCoverageNeverNullIf(v, op==OP_Le); /* values previously checked */ + windowAggFinal(&s, 0); + sqlite3VdbeAddOp2(v, OP_Rewind, s.current.csr, 1); + VdbeCoverageNeverTaken(v); + windowReturnOneRow(&s); + sqlite3VdbeAddOp1(v, OP_ResetSorter, s.current.csr); + sqlite3VdbeAddOp2(v, OP_Goto, 0, lblWhereEnd); + sqlite3VdbeJumpHere(v, addrGe); + } + if( pMWin->eStart==TK_FOLLOWING && pMWin->eFrmType!=TK_RANGE && regEnd ){ + assert( pMWin->eEnd==TK_FOLLOWING ); + sqlite3VdbeAddOp3(v, OP_Subtract, regStart, regEnd, regStart); + } + + if( pMWin->eStart!=TK_UNBOUNDED ){ + sqlite3VdbeAddOp2(v, OP_Rewind, s.start.csr, 1); + VdbeCoverageNeverTaken(v); + } + sqlite3VdbeAddOp2(v, OP_Rewind, s.current.csr, 1); + VdbeCoverageNeverTaken(v); + sqlite3VdbeAddOp2(v, OP_Rewind, s.end.csr, 1); + VdbeCoverageNeverTaken(v); + if( regPeer && pOrderBy ){ + sqlite3VdbeAddOp3(v, OP_Copy, regNewPeer, regPeer, pOrderBy->nExpr-1); + sqlite3VdbeAddOp3(v, OP_Copy, regPeer, s.start.reg, pOrderBy->nExpr-1); + sqlite3VdbeAddOp3(v, OP_Copy, regPeer, s.current.reg, pOrderBy->nExpr-1); + sqlite3VdbeAddOp3(v, OP_Copy, regPeer, s.end.reg, pOrderBy->nExpr-1); + } + + sqlite3VdbeAddOp2(v, OP_Goto, 0, lblWhereEnd); + + sqlite3VdbeJumpHere(v, addrNe); + + /* Beginning of the block executed for the second and subsequent rows. */ + if( regPeer ){ + windowIfNewPeer(pParse, pOrderBy, regNewPeer, regPeer, lblWhereEnd); + } + if( pMWin->eStart==TK_FOLLOWING ){ + windowCodeOp(&s, WINDOW_AGGSTEP, 0, 0); + if( pMWin->eEnd!=TK_UNBOUNDED ){ + if( pMWin->eFrmType==TK_RANGE ){ + int lbl = sqlite3VdbeMakeLabel(pParse); + int addrNext = sqlite3VdbeCurrentAddr(v); + windowCodeRangeTest(&s, OP_Ge, s.current.csr, regEnd, s.end.csr, lbl); + windowCodeOp(&s, WINDOW_AGGINVERSE, regStart, 0); + windowCodeOp(&s, WINDOW_RETURN_ROW, 0, 0); + sqlite3VdbeAddOp2(v, OP_Goto, 0, addrNext); + sqlite3VdbeResolveLabel(v, lbl); + }else{ + windowCodeOp(&s, WINDOW_RETURN_ROW, regEnd, 0); + windowCodeOp(&s, WINDOW_AGGINVERSE, regStart, 0); + } + } + }else + if( pMWin->eEnd==TK_PRECEDING ){ + int bRPS = (pMWin->eStart==TK_PRECEDING && pMWin->eFrmType==TK_RANGE); + windowCodeOp(&s, WINDOW_AGGSTEP, regEnd, 0); + if( bRPS ) windowCodeOp(&s, WINDOW_AGGINVERSE, regStart, 0); + windowCodeOp(&s, WINDOW_RETURN_ROW, 0, 0); + if( !bRPS ) windowCodeOp(&s, WINDOW_AGGINVERSE, regStart, 0); + }else{ + int addr = 0; + windowCodeOp(&s, WINDOW_AGGSTEP, 0, 0); + if( pMWin->eEnd!=TK_UNBOUNDED ){ + if( pMWin->eFrmType==TK_RANGE ){ + int lbl = 0; + addr = sqlite3VdbeCurrentAddr(v); + if( regEnd ){ + lbl = sqlite3VdbeMakeLabel(pParse); + windowCodeRangeTest(&s, OP_Ge, s.current.csr, regEnd, s.end.csr, lbl); + } + windowCodeOp(&s, WINDOW_RETURN_ROW, 0, 0); + windowCodeOp(&s, WINDOW_AGGINVERSE, regStart, 0); + if( regEnd ){ + sqlite3VdbeAddOp2(v, OP_Goto, 0, addr); + sqlite3VdbeResolveLabel(v, lbl); + } + }else{ + if( regEnd ){ + addr = sqlite3VdbeAddOp3(v, OP_IfPos, regEnd, 0, 1); + VdbeCoverage(v); } + windowCodeOp(&s, WINDOW_RETURN_ROW, 0, 0); + windowCodeOp(&s, WINDOW_AGGINVERSE, regStart, 0); + if( regEnd ) sqlite3VdbeJumpHere(v, addr); } } + } - /* Otherwise, call windowCodeDefaultStep(). */ - if( bCache ){ - VdbeModuleComment((pParse->pVdbe, "Begin CacheStep()")); - windowCodeCacheStep(pParse, p, pWInfo, regGosub, addrGosub); - }else{ - VdbeModuleComment((pParse->pVdbe, "Begin DefaultStep()")); - windowCodeDefaultStep(pParse, p, pWInfo, regGosub, addrGosub); + /* End of the main input loop */ + sqlite3VdbeResolveLabel(v, lblWhereEnd); + sqlite3WhereEnd(pWInfo); + + /* Fall through */ + if( pMWin->pPartition ){ + addrInteger = sqlite3VdbeAddOp2(v, OP_Integer, 0, regFlushPart); + sqlite3VdbeJumpHere(v, addrGosubFlush); + } + + addrEmpty = sqlite3VdbeAddOp1(v, OP_Rewind, csrWrite); + VdbeCoverage(v); + if( pMWin->eEnd==TK_PRECEDING ){ + int bRPS = (pMWin->eStart==TK_PRECEDING && pMWin->eFrmType==TK_RANGE); + windowCodeOp(&s, WINDOW_AGGSTEP, regEnd, 0); + if( bRPS ) windowCodeOp(&s, WINDOW_AGGINVERSE, regStart, 0); + windowCodeOp(&s, WINDOW_RETURN_ROW, 0, 0); + }else if( pMWin->eStart==TK_FOLLOWING ){ + int addrStart; + int addrBreak1; + int addrBreak2; + int addrBreak3; + windowCodeOp(&s, WINDOW_AGGSTEP, 0, 0); + if( pMWin->eFrmType==TK_RANGE ){ + addrStart = sqlite3VdbeCurrentAddr(v); + addrBreak2 = windowCodeOp(&s, WINDOW_AGGINVERSE, regStart, 1); + addrBreak1 = windowCodeOp(&s, WINDOW_RETURN_ROW, 0, 1); + }else + if( pMWin->eEnd==TK_UNBOUNDED ){ + addrStart = sqlite3VdbeCurrentAddr(v); + addrBreak1 = windowCodeOp(&s, WINDOW_RETURN_ROW, regStart, 1); + addrBreak2 = windowCodeOp(&s, WINDOW_AGGINVERSE, 0, 1); + }else{ + assert( pMWin->eEnd==TK_FOLLOWING ); + addrStart = sqlite3VdbeCurrentAddr(v); + addrBreak1 = windowCodeOp(&s, WINDOW_RETURN_ROW, regEnd, 1); + addrBreak2 = windowCodeOp(&s, WINDOW_AGGINVERSE, regStart, 1); + } + sqlite3VdbeAddOp2(v, OP_Goto, 0, addrStart); + sqlite3VdbeJumpHere(v, addrBreak2); + addrStart = sqlite3VdbeCurrentAddr(v); + addrBreak3 = windowCodeOp(&s, WINDOW_RETURN_ROW, 0, 1); + sqlite3VdbeAddOp2(v, OP_Goto, 0, addrStart); + sqlite3VdbeJumpHere(v, addrBreak1); + sqlite3VdbeJumpHere(v, addrBreak3); + }else{ + int addrBreak; + int addrStart; + windowCodeOp(&s, WINDOW_AGGSTEP, 0, 0); + addrStart = sqlite3VdbeCurrentAddr(v); + addrBreak = windowCodeOp(&s, WINDOW_RETURN_ROW, 0, 1); + windowCodeOp(&s, WINDOW_AGGINVERSE, regStart, 0); + sqlite3VdbeAddOp2(v, OP_Goto, 0, addrStart); + sqlite3VdbeJumpHere(v, addrBreak); + } + sqlite3VdbeJumpHere(v, addrEmpty); + + sqlite3VdbeAddOp1(v, OP_ResetSorter, s.current.csr); + if( pMWin->pPartition ){ + if( pMWin->regStartRowid ){ + sqlite3VdbeAddOp2(v, OP_Integer, 1, pMWin->regStartRowid); + sqlite3VdbeAddOp2(v, OP_Integer, 0, pMWin->regEndRowid); } + sqlite3VdbeChangeP1(v, addrInteger, sqlite3VdbeCurrentAddr(v)); + sqlite3VdbeAddOp1(v, OP_Return, regFlushPart); } } @@ -146899,6 +149756,7 @@ static void disableLookaside(Parse *pParse){ ** SQLITE_LIMIT_COMPOUND_SELECT. */ static void parserDoubleLinkSelect(Parse *pParse, Select *p){ + assert( p!=0 ); if( p->pPrior ){ Select *pNext = 0, *pLoop; int mxSelect, cnt = 0; @@ -146925,7 +149783,7 @@ static void disableLookaside(Parse *pParse){ if( p ){ /* memset(p, 0, sizeof(Expr)); */ p->op = (u8)op; - p->affinity = 0; + p->affExpr = 0; p->flags = EP_Leaf; p->iAgg = -1; p->pLeft = p->pRight = 0; @@ -146939,8 +149797,7 @@ static void disableLookaside(Parse *pParse){ memcpy(p->u.zToken, t.z, t.n); p->u.zToken[t.n] = 0; if( sqlite3Isquote(p->u.zToken[0]) ){ - if( p->u.zToken[0]=='"' ) p->flags |= EP_DblQuoted; - sqlite3Dequote(p->u.zToken); + sqlite3DequoteExpr(p); } #if SQLITE_MAX_EXPR_DEPTH>0 p->nHeight = 1; @@ -146986,6 +149843,10 @@ static void disableLookaside(Parse *pParse){ sqlite3ExprListSetName(pParse, p, pIdToken, 1); return p; } + +#if TK_SPAN>255 +# error too many tokens in the grammar +#endif /**************** End of %include directives **********************************/ /* These constants specify the various numeric values for terminal symbols ** in a format understandable to "makeheaders". This section is blank unless @@ -147049,27 +149910,28 @@ static void disableLookaside(Parse *pParse){ #endif /************* Begin control #defines *****************************************/ #define YYCODETYPE unsigned short int -#define YYNOCODE 277 +#define YYNOCODE 307 #define YYACTIONTYPE unsigned short int -#define YYWILDCARD 91 +#define YYWILDCARD 98 #define sqlite3ParserTOKENTYPE Token typedef union { int yyinit; sqlite3ParserTOKENTYPE yy0; - Expr* yy18; - struct TrigEvent yy34; - IdList* yy48; - int yy70; - struct {int value; int mask;} yy111; - struct FrameBound yy119; - SrcList* yy135; - TriggerStep* yy207; - Window* yy327; - Upsert* yy340; - const char* yy392; - ExprList* yy420; - With* yy449; - Select* yy489; + const char* yy8; + Select* yy25; + int yy32; + Expr* yy46; + struct FrameBound yy57; + u8 yy118; + ExprList* yy138; + Upsert* yy288; + With* yy297; + IdList* yy406; + Window* yy455; + struct {int value; int mask;} yy495; + TriggerStep* yy527; + struct TrigEvent yy572; + SrcList* yy609; } YYMINORTYPE; #ifndef YYSTACKDEPTH #define YYSTACKDEPTH 100 @@ -147085,17 +149947,17 @@ typedef union { #define sqlite3ParserCTX_FETCH Parse *pParse=yypParser->pParse; #define sqlite3ParserCTX_STORE yypParser->pParse=pParse; #define YYFALLBACK 1 -#define YYNSTATE 521 -#define YYNRULE 367 -#define YYNTOKEN 155 -#define YY_MAX_SHIFT 520 -#define YY_MIN_SHIFTREDUCE 756 -#define YY_MAX_SHIFTREDUCE 1122 -#define YY_ERROR_ACTION 1123 -#define YY_ACCEPT_ACTION 1124 -#define YY_NO_ACTION 1125 -#define YY_MIN_REDUCE 1126 -#define YY_MAX_REDUCE 1492 +#define YYNSTATE 543 +#define YYNRULE 381 +#define YYNTOKEN 179 +#define YY_MAX_SHIFT 542 +#define YY_MIN_SHIFTREDUCE 790 +#define YY_MAX_SHIFTREDUCE 1170 +#define YY_ERROR_ACTION 1171 +#define YY_ACCEPT_ACTION 1172 +#define YY_NO_ACTION 1173 +#define YY_MIN_REDUCE 1174 +#define YY_MAX_REDUCE 1554 /************* End control #defines *******************************************/ #define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0]))) @@ -147162,568 +150024,573 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (2009) +#define YY_ACTTAB_COUNT (1913) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 368, 105, 102, 197, 105, 102, 197, 515, 1124, 1, - /* 10 */ 1, 520, 2, 1128, 515, 1192, 1171, 1456, 275, 370, - /* 20 */ 127, 1389, 1197, 1197, 1192, 1166, 178, 1205, 64, 64, - /* 30 */ 477, 887, 322, 428, 348, 37, 37, 808, 362, 888, - /* 40 */ 509, 509, 509, 112, 113, 103, 1100, 1100, 953, 956, - /* 50 */ 946, 946, 110, 110, 111, 111, 111, 111, 365, 252, - /* 60 */ 252, 515, 252, 252, 497, 515, 309, 515, 459, 515, - /* 70 */ 1079, 491, 512, 478, 6, 512, 809, 134, 498, 228, - /* 80 */ 194, 428, 37, 37, 515, 208, 64, 64, 64, 64, - /* 90 */ 13, 13, 109, 109, 109, 109, 108, 108, 107, 107, - /* 100 */ 107, 106, 401, 258, 381, 13, 13, 398, 397, 428, - /* 110 */ 252, 252, 370, 476, 405, 1104, 1079, 1080, 1081, 386, - /* 120 */ 1106, 390, 497, 512, 497, 1423, 1419, 304, 1105, 307, - /* 130 */ 1256, 496, 370, 499, 16, 16, 112, 113, 103, 1100, - /* 140 */ 1100, 953, 956, 946, 946, 110, 110, 111, 111, 111, - /* 150 */ 111, 262, 1107, 495, 1107, 401, 112, 113, 103, 1100, - /* 160 */ 1100, 953, 956, 946, 946, 110, 110, 111, 111, 111, - /* 170 */ 111, 129, 1425, 343, 1420, 339, 1059, 492, 1057, 263, - /* 180 */ 73, 105, 102, 197, 994, 109, 109, 109, 109, 108, - /* 190 */ 108, 107, 107, 107, 106, 401, 370, 111, 111, 111, - /* 200 */ 111, 104, 492, 89, 1432, 109, 109, 109, 109, 108, - /* 210 */ 108, 107, 107, 107, 106, 401, 111, 111, 111, 111, - /* 220 */ 112, 113, 103, 1100, 1100, 953, 956, 946, 946, 110, - /* 230 */ 110, 111, 111, 111, 111, 109, 109, 109, 109, 108, - /* 240 */ 108, 107, 107, 107, 106, 401, 114, 108, 108, 107, - /* 250 */ 107, 107, 106, 401, 109, 109, 109, 109, 108, 108, - /* 260 */ 107, 107, 107, 106, 401, 152, 399, 399, 399, 109, - /* 270 */ 109, 109, 109, 108, 108, 107, 107, 107, 106, 401, - /* 280 */ 178, 493, 1412, 434, 1037, 1486, 1079, 515, 1486, 370, - /* 290 */ 421, 297, 357, 412, 74, 1079, 109, 109, 109, 109, - /* 300 */ 108, 108, 107, 107, 107, 106, 401, 1413, 37, 37, - /* 310 */ 1431, 274, 506, 112, 113, 103, 1100, 1100, 953, 956, - /* 320 */ 946, 946, 110, 110, 111, 111, 111, 111, 1436, 520, - /* 330 */ 2, 1128, 1079, 1080, 1081, 430, 275, 1079, 127, 366, - /* 340 */ 933, 1079, 1080, 1081, 220, 1205, 913, 458, 455, 454, - /* 350 */ 392, 167, 515, 1035, 152, 445, 924, 453, 152, 874, - /* 360 */ 923, 289, 109, 109, 109, 109, 108, 108, 107, 107, - /* 370 */ 107, 106, 401, 13, 13, 261, 853, 252, 252, 227, - /* 380 */ 106, 401, 370, 1079, 1080, 1081, 311, 388, 1079, 296, - /* 390 */ 512, 923, 923, 925, 231, 323, 1255, 1388, 1423, 490, - /* 400 */ 274, 506, 12, 208, 274, 506, 112, 113, 103, 1100, - /* 410 */ 1100, 953, 956, 946, 946, 110, 110, 111, 111, 111, - /* 420 */ 111, 1440, 286, 1128, 288, 1079, 1097, 247, 275, 1098, - /* 430 */ 127, 387, 405, 389, 1079, 1080, 1081, 1205, 159, 238, - /* 440 */ 255, 321, 461, 316, 460, 225, 790, 105, 102, 197, - /* 450 */ 513, 314, 842, 842, 445, 109, 109, 109, 109, 108, - /* 460 */ 108, 107, 107, 107, 106, 401, 515, 514, 515, 252, - /* 470 */ 252, 1079, 1080, 1081, 435, 370, 1098, 933, 1460, 794, - /* 480 */ 274, 506, 512, 105, 102, 197, 336, 63, 63, 64, - /* 490 */ 64, 27, 790, 924, 287, 208, 1354, 923, 515, 112, - /* 500 */ 113, 103, 1100, 1100, 953, 956, 946, 946, 110, 110, - /* 510 */ 111, 111, 111, 111, 107, 107, 107, 106, 401, 49, - /* 520 */ 49, 515, 28, 1079, 405, 497, 421, 297, 923, 923, - /* 530 */ 925, 186, 468, 1079, 467, 999, 999, 442, 515, 1079, - /* 540 */ 334, 515, 45, 45, 1083, 342, 173, 168, 109, 109, - /* 550 */ 109, 109, 108, 108, 107, 107, 107, 106, 401, 13, - /* 560 */ 13, 205, 13, 13, 252, 252, 1195, 1195, 370, 1079, - /* 570 */ 1080, 1081, 787, 265, 5, 359, 494, 512, 469, 1079, - /* 580 */ 1080, 1081, 398, 397, 1079, 1079, 1080, 1081, 3, 282, - /* 590 */ 1079, 1083, 112, 113, 103, 1100, 1100, 953, 956, 946, - /* 600 */ 946, 110, 110, 111, 111, 111, 111, 252, 252, 1015, - /* 610 */ 220, 1079, 873, 458, 455, 454, 943, 943, 954, 957, - /* 620 */ 512, 252, 252, 453, 1016, 1079, 445, 1107, 1209, 1107, - /* 630 */ 1079, 1080, 1081, 515, 512, 426, 1079, 1080, 1081, 1017, - /* 640 */ 512, 109, 109, 109, 109, 108, 108, 107, 107, 107, - /* 650 */ 106, 401, 1052, 515, 50, 50, 515, 1079, 1080, 1081, - /* 660 */ 828, 370, 1051, 379, 411, 1064, 1358, 207, 408, 773, - /* 670 */ 829, 1079, 1080, 1081, 64, 64, 322, 64, 64, 1302, - /* 680 */ 947, 411, 410, 1358, 1360, 112, 113, 103, 1100, 1100, - /* 690 */ 953, 956, 946, 946, 110, 110, 111, 111, 111, 111, - /* 700 */ 294, 482, 515, 1037, 1487, 515, 434, 1487, 354, 1120, - /* 710 */ 483, 996, 913, 485, 466, 996, 132, 178, 33, 450, - /* 720 */ 1203, 136, 406, 64, 64, 479, 64, 64, 419, 369, - /* 730 */ 283, 1146, 252, 252, 109, 109, 109, 109, 108, 108, - /* 740 */ 107, 107, 107, 106, 401, 512, 224, 440, 411, 266, - /* 750 */ 1358, 266, 252, 252, 370, 296, 416, 284, 934, 396, - /* 760 */ 976, 470, 400, 252, 252, 512, 9, 473, 231, 500, - /* 770 */ 354, 1036, 1035, 1488, 355, 374, 512, 1121, 112, 113, - /* 780 */ 103, 1100, 1100, 953, 956, 946, 946, 110, 110, 111, - /* 790 */ 111, 111, 111, 252, 252, 1015, 515, 1347, 295, 252, - /* 800 */ 252, 252, 252, 1098, 375, 249, 512, 445, 872, 322, - /* 810 */ 1016, 480, 512, 195, 512, 434, 273, 15, 15, 515, - /* 820 */ 314, 515, 95, 515, 93, 1017, 367, 109, 109, 109, - /* 830 */ 109, 108, 108, 107, 107, 107, 106, 401, 515, 1121, - /* 840 */ 39, 39, 51, 51, 52, 52, 503, 370, 515, 1204, - /* 850 */ 1098, 918, 439, 341, 133, 436, 223, 222, 221, 53, - /* 860 */ 53, 322, 1400, 761, 762, 763, 515, 370, 88, 54, - /* 870 */ 54, 112, 113, 103, 1100, 1100, 953, 956, 946, 946, - /* 880 */ 110, 110, 111, 111, 111, 111, 407, 55, 55, 196, - /* 890 */ 515, 112, 113, 103, 1100, 1100, 953, 956, 946, 946, - /* 900 */ 110, 110, 111, 111, 111, 111, 135, 264, 1149, 376, - /* 910 */ 515, 40, 40, 515, 872, 515, 993, 515, 993, 116, - /* 920 */ 109, 109, 109, 109, 108, 108, 107, 107, 107, 106, - /* 930 */ 401, 41, 41, 515, 43, 43, 44, 44, 56, 56, - /* 940 */ 109, 109, 109, 109, 108, 108, 107, 107, 107, 106, - /* 950 */ 401, 515, 379, 515, 57, 57, 515, 799, 515, 379, - /* 960 */ 515, 445, 200, 515, 323, 515, 1397, 515, 1459, 515, - /* 970 */ 1287, 817, 58, 58, 14, 14, 515, 59, 59, 118, - /* 980 */ 118, 60, 60, 515, 46, 46, 61, 61, 62, 62, - /* 990 */ 47, 47, 515, 190, 189, 91, 515, 140, 140, 515, - /* 1000 */ 394, 515, 277, 1200, 141, 141, 515, 1115, 515, 992, - /* 1010 */ 515, 992, 515, 69, 69, 370, 278, 48, 48, 259, - /* 1020 */ 65, 65, 119, 119, 246, 246, 260, 66, 66, 120, - /* 1030 */ 120, 121, 121, 117, 117, 370, 515, 512, 383, 112, - /* 1040 */ 113, 103, 1100, 1100, 953, 956, 946, 946, 110, 110, - /* 1050 */ 111, 111, 111, 111, 515, 872, 515, 139, 139, 112, - /* 1060 */ 113, 103, 1100, 1100, 953, 956, 946, 946, 110, 110, - /* 1070 */ 111, 111, 111, 111, 1287, 138, 138, 125, 125, 515, - /* 1080 */ 12, 515, 281, 1287, 515, 445, 131, 1287, 109, 109, - /* 1090 */ 109, 109, 108, 108, 107, 107, 107, 106, 401, 515, - /* 1100 */ 124, 124, 122, 122, 515, 123, 123, 515, 109, 109, - /* 1110 */ 109, 109, 108, 108, 107, 107, 107, 106, 401, 515, - /* 1120 */ 68, 68, 463, 783, 515, 70, 70, 302, 67, 67, - /* 1130 */ 1032, 253, 253, 356, 1287, 191, 196, 1433, 465, 1301, - /* 1140 */ 38, 38, 384, 94, 512, 42, 42, 177, 848, 274, - /* 1150 */ 506, 385, 420, 847, 1356, 441, 508, 376, 377, 153, - /* 1160 */ 423, 872, 432, 370, 224, 251, 194, 887, 182, 293, - /* 1170 */ 783, 848, 88, 254, 466, 888, 847, 915, 807, 806, - /* 1180 */ 230, 1241, 910, 370, 17, 413, 797, 112, 113, 103, - /* 1190 */ 1100, 1100, 953, 956, 946, 946, 110, 110, 111, 111, - /* 1200 */ 111, 111, 395, 814, 815, 1175, 983, 112, 101, 103, - /* 1210 */ 1100, 1100, 953, 956, 946, 946, 110, 110, 111, 111, - /* 1220 */ 111, 111, 375, 422, 427, 429, 298, 230, 230, 88, - /* 1230 */ 1240, 451, 312, 797, 226, 88, 109, 109, 109, 109, - /* 1240 */ 108, 108, 107, 107, 107, 106, 401, 86, 433, 979, - /* 1250 */ 927, 881, 226, 983, 230, 415, 109, 109, 109, 109, - /* 1260 */ 108, 108, 107, 107, 107, 106, 401, 320, 845, 781, - /* 1270 */ 846, 100, 130, 100, 1403, 290, 370, 319, 1377, 1376, - /* 1280 */ 437, 1449, 299, 1237, 303, 306, 308, 310, 1188, 1174, - /* 1290 */ 1173, 1172, 315, 324, 325, 1228, 370, 927, 1249, 271, - /* 1300 */ 1286, 113, 103, 1100, 1100, 953, 956, 946, 946, 110, - /* 1310 */ 110, 111, 111, 111, 111, 1224, 1235, 502, 501, 1292, - /* 1320 */ 1221, 1155, 103, 1100, 1100, 953, 956, 946, 946, 110, - /* 1330 */ 110, 111, 111, 111, 111, 1148, 1137, 1136, 1138, 1443, - /* 1340 */ 446, 244, 184, 98, 507, 188, 4, 353, 327, 109, - /* 1350 */ 109, 109, 109, 108, 108, 107, 107, 107, 106, 401, - /* 1360 */ 510, 329, 331, 199, 414, 456, 292, 285, 318, 109, - /* 1370 */ 109, 109, 109, 108, 108, 107, 107, 107, 106, 401, - /* 1380 */ 11, 1271, 1279, 402, 361, 192, 1171, 1351, 431, 505, - /* 1390 */ 346, 1350, 333, 98, 507, 504, 4, 187, 1446, 1115, - /* 1400 */ 233, 1396, 155, 1394, 1112, 152, 72, 75, 378, 425, - /* 1410 */ 510, 165, 149, 157, 933, 1276, 86, 30, 1268, 417, - /* 1420 */ 96, 96, 8, 160, 161, 162, 163, 97, 418, 402, - /* 1430 */ 517, 516, 449, 402, 923, 210, 358, 424, 1282, 438, - /* 1440 */ 169, 214, 360, 1345, 80, 504, 31, 444, 1365, 301, - /* 1450 */ 245, 274, 506, 216, 174, 305, 488, 447, 217, 462, - /* 1460 */ 1139, 487, 218, 363, 933, 923, 923, 925, 926, 24, - /* 1470 */ 96, 96, 1191, 1190, 1189, 391, 1182, 97, 1163, 402, - /* 1480 */ 517, 516, 799, 364, 923, 1162, 317, 1161, 98, 507, - /* 1490 */ 1181, 4, 1458, 472, 393, 269, 270, 475, 481, 1232, - /* 1500 */ 85, 1233, 326, 328, 232, 510, 495, 1231, 330, 98, - /* 1510 */ 507, 1230, 4, 486, 335, 923, 923, 925, 926, 24, - /* 1520 */ 1435, 1068, 404, 181, 336, 256, 510, 115, 402, 332, - /* 1530 */ 352, 352, 351, 241, 349, 1214, 1414, 770, 338, 10, - /* 1540 */ 504, 340, 272, 92, 1331, 1213, 87, 183, 484, 402, - /* 1550 */ 201, 488, 280, 239, 344, 345, 489, 1145, 29, 933, - /* 1560 */ 279, 504, 1074, 518, 240, 96, 96, 242, 243, 519, - /* 1570 */ 1134, 1129, 97, 154, 402, 517, 516, 372, 373, 923, - /* 1580 */ 933, 142, 143, 128, 1381, 267, 96, 96, 852, 757, - /* 1590 */ 203, 144, 403, 97, 1382, 402, 517, 516, 204, 1380, - /* 1600 */ 923, 146, 1379, 1159, 1158, 71, 1156, 276, 202, 185, - /* 1610 */ 923, 923, 925, 926, 24, 198, 257, 126, 991, 989, - /* 1620 */ 907, 98, 507, 156, 4, 145, 158, 206, 831, 209, - /* 1630 */ 291, 923, 923, 925, 926, 24, 1005, 911, 510, 164, - /* 1640 */ 147, 380, 371, 382, 166, 76, 77, 274, 506, 148, - /* 1650 */ 78, 79, 1008, 211, 212, 1004, 137, 213, 18, 300, - /* 1660 */ 230, 402, 997, 1109, 443, 215, 32, 170, 171, 772, - /* 1670 */ 409, 448, 319, 504, 219, 172, 452, 81, 19, 457, - /* 1680 */ 313, 20, 82, 268, 488, 150, 810, 179, 83, 487, - /* 1690 */ 464, 151, 933, 180, 959, 84, 1040, 34, 96, 96, - /* 1700 */ 471, 1041, 35, 474, 193, 97, 248, 402, 517, 516, - /* 1710 */ 1068, 404, 923, 250, 256, 880, 229, 175, 875, 352, - /* 1720 */ 352, 351, 241, 349, 100, 21, 770, 22, 1054, 1056, - /* 1730 */ 7, 98, 507, 1045, 4, 337, 1058, 23, 974, 201, - /* 1740 */ 176, 280, 88, 923, 923, 925, 926, 24, 510, 279, - /* 1750 */ 960, 958, 962, 1014, 963, 1013, 235, 234, 25, 36, - /* 1760 */ 99, 90, 507, 928, 4, 511, 350, 782, 26, 841, - /* 1770 */ 236, 402, 347, 1069, 237, 1125, 1125, 1451, 510, 203, - /* 1780 */ 1450, 1125, 1125, 504, 1125, 1125, 1125, 204, 1125, 1125, - /* 1790 */ 146, 1125, 1125, 1125, 1125, 1125, 1125, 202, 1125, 1125, - /* 1800 */ 1125, 402, 933, 1125, 1125, 1125, 1125, 1125, 96, 96, - /* 1810 */ 1125, 1125, 1125, 504, 1125, 97, 1125, 402, 517, 516, - /* 1820 */ 1125, 1125, 923, 1125, 1125, 1125, 1125, 1125, 1125, 1125, - /* 1830 */ 1125, 371, 933, 1125, 1125, 1125, 274, 506, 96, 96, - /* 1840 */ 1125, 1125, 1125, 1125, 1125, 97, 1125, 402, 517, 516, - /* 1850 */ 1125, 1125, 923, 923, 923, 925, 926, 24, 1125, 409, - /* 1860 */ 1125, 1125, 1125, 256, 1125, 1125, 1125, 1125, 352, 352, - /* 1870 */ 351, 241, 349, 1125, 1125, 770, 1125, 1125, 1125, 1125, - /* 1880 */ 1125, 1125, 1125, 923, 923, 925, 926, 24, 201, 1125, - /* 1890 */ 280, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 279, 1125, - /* 1900 */ 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, - /* 1910 */ 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, - /* 1920 */ 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 203, 1125, - /* 1930 */ 1125, 1125, 1125, 1125, 1125, 1125, 204, 1125, 1125, 146, - /* 1940 */ 1125, 1125, 1125, 1125, 1125, 1125, 202, 1125, 1125, 1125, - /* 1950 */ 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, - /* 1960 */ 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, - /* 1970 */ 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, - /* 1980 */ 371, 1125, 1125, 1125, 1125, 274, 506, 1125, 1125, 1125, - /* 1990 */ 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, - /* 2000 */ 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 409, + /* 0 */ 537, 339, 537, 1241, 1220, 537, 12, 537, 112, 109, + /* 10 */ 209, 537, 1241, 537, 1205, 462, 112, 109, 209, 386, + /* 20 */ 338, 462, 42, 42, 42, 42, 445, 42, 42, 70, + /* 30 */ 70, 922, 1208, 70, 70, 70, 70, 1443, 403, 923, + /* 40 */ 531, 531, 531, 119, 120, 110, 1148, 1148, 991, 994, + /* 50 */ 984, 984, 117, 117, 118, 118, 118, 118, 425, 386, + /* 60 */ 1498, 542, 2, 1176, 1442, 519, 141, 1518, 289, 519, + /* 70 */ 134, 519, 95, 259, 495, 1215, 189, 1254, 518, 494, + /* 80 */ 484, 437, 296, 119, 120, 110, 1148, 1148, 991, 994, + /* 90 */ 984, 984, 117, 117, 118, 118, 118, 118, 270, 116, + /* 100 */ 116, 116, 116, 115, 115, 114, 114, 114, 113, 418, + /* 110 */ 264, 264, 264, 264, 423, 1479, 352, 1481, 123, 351, + /* 120 */ 1479, 508, 1094, 534, 1034, 534, 1099, 386, 1099, 239, + /* 130 */ 206, 112, 109, 209, 96, 1094, 376, 219, 1094, 116, + /* 140 */ 116, 116, 116, 115, 115, 114, 114, 114, 113, 418, + /* 150 */ 480, 119, 120, 110, 1148, 1148, 991, 994, 984, 984, + /* 160 */ 117, 117, 118, 118, 118, 118, 353, 422, 1407, 264, + /* 170 */ 264, 114, 114, 114, 113, 418, 883, 121, 416, 416, + /* 180 */ 416, 882, 534, 116, 116, 116, 116, 115, 115, 114, + /* 190 */ 114, 114, 113, 418, 212, 415, 414, 386, 443, 383, + /* 200 */ 382, 118, 118, 118, 118, 111, 177, 116, 116, 116, + /* 210 */ 116, 115, 115, 114, 114, 114, 113, 418, 112, 109, + /* 220 */ 209, 119, 120, 110, 1148, 1148, 991, 994, 984, 984, + /* 230 */ 117, 117, 118, 118, 118, 118, 386, 438, 312, 1163, + /* 240 */ 1155, 80, 1155, 1127, 514, 79, 116, 116, 116, 116, + /* 250 */ 115, 115, 114, 114, 114, 113, 418, 514, 428, 418, + /* 260 */ 119, 120, 110, 1148, 1148, 991, 994, 984, 984, 117, + /* 270 */ 117, 118, 118, 118, 118, 428, 427, 116, 116, 116, + /* 280 */ 116, 115, 115, 114, 114, 114, 113, 418, 115, 115, + /* 290 */ 114, 114, 114, 113, 418, 1127, 1127, 1128, 1129, 1094, + /* 300 */ 258, 258, 192, 386, 408, 371, 1168, 326, 118, 118, + /* 310 */ 118, 118, 1094, 534, 374, 1094, 116, 116, 116, 116, + /* 320 */ 115, 115, 114, 114, 114, 113, 418, 119, 120, 110, + /* 330 */ 1148, 1148, 991, 994, 984, 984, 117, 117, 118, 118, + /* 340 */ 118, 118, 386, 354, 445, 428, 829, 238, 1127, 1128, + /* 350 */ 1129, 515, 1466, 116, 116, 116, 116, 115, 115, 114, + /* 360 */ 114, 114, 113, 418, 1127, 1467, 119, 120, 110, 1148, + /* 370 */ 1148, 991, 994, 984, 984, 117, 117, 118, 118, 118, + /* 380 */ 118, 1169, 82, 116, 116, 116, 116, 115, 115, 114, + /* 390 */ 114, 114, 113, 418, 405, 112, 109, 209, 161, 445, + /* 400 */ 250, 267, 336, 478, 331, 477, 236, 951, 1127, 386, + /* 410 */ 888, 1521, 329, 822, 852, 162, 274, 1127, 1128, 1129, + /* 420 */ 338, 169, 116, 116, 116, 116, 115, 115, 114, 114, + /* 430 */ 114, 113, 418, 119, 120, 110, 1148, 1148, 991, 994, + /* 440 */ 984, 984, 117, 117, 118, 118, 118, 118, 386, 438, + /* 450 */ 312, 1502, 1112, 1176, 161, 288, 528, 311, 289, 883, + /* 460 */ 134, 1127, 1128, 1129, 882, 537, 143, 1254, 288, 528, + /* 470 */ 297, 275, 119, 120, 110, 1148, 1148, 991, 994, 984, + /* 480 */ 984, 117, 117, 118, 118, 118, 118, 70, 70, 116, + /* 490 */ 116, 116, 116, 115, 115, 114, 114, 114, 113, 418, + /* 500 */ 264, 264, 12, 264, 264, 395, 1127, 483, 1473, 1094, + /* 510 */ 204, 482, 6, 534, 1258, 386, 534, 1474, 825, 972, + /* 520 */ 504, 6, 1094, 500, 95, 1094, 534, 219, 116, 116, + /* 530 */ 116, 116, 115, 115, 114, 114, 114, 113, 418, 119, + /* 540 */ 120, 110, 1148, 1148, 991, 994, 984, 984, 117, 117, + /* 550 */ 118, 118, 118, 118, 386, 1339, 971, 422, 956, 1127, + /* 560 */ 1128, 1129, 231, 512, 1473, 475, 472, 471, 6, 113, + /* 570 */ 418, 825, 962, 298, 503, 470, 961, 452, 119, 120, + /* 580 */ 110, 1148, 1148, 991, 994, 984, 984, 117, 117, 118, + /* 590 */ 118, 118, 118, 395, 537, 116, 116, 116, 116, 115, + /* 600 */ 115, 114, 114, 114, 113, 418, 202, 961, 961, 963, + /* 610 */ 231, 971, 1127, 475, 472, 471, 13, 13, 951, 1127, + /* 620 */ 834, 386, 1207, 470, 399, 183, 447, 962, 462, 162, + /* 630 */ 397, 961, 1246, 1246, 116, 116, 116, 116, 115, 115, + /* 640 */ 114, 114, 114, 113, 418, 119, 120, 110, 1148, 1148, + /* 650 */ 991, 994, 984, 984, 117, 117, 118, 118, 118, 118, + /* 660 */ 386, 271, 961, 961, 963, 1127, 1128, 1129, 311, 433, + /* 670 */ 299, 1406, 1127, 1128, 1129, 178, 1471, 138, 162, 32, + /* 680 */ 6, 1127, 288, 528, 119, 120, 110, 1148, 1148, 991, + /* 690 */ 994, 984, 984, 117, 117, 118, 118, 118, 118, 909, + /* 700 */ 390, 116, 116, 116, 116, 115, 115, 114, 114, 114, + /* 710 */ 113, 418, 1127, 429, 817, 537, 1127, 265, 265, 981, + /* 720 */ 981, 992, 995, 324, 1055, 93, 520, 5, 338, 537, + /* 730 */ 534, 288, 528, 1522, 1127, 1128, 1129, 70, 70, 1056, + /* 740 */ 116, 116, 116, 116, 115, 115, 114, 114, 114, 113, + /* 750 */ 418, 70, 70, 1495, 1057, 537, 98, 1244, 1244, 264, + /* 760 */ 264, 908, 371, 1076, 1127, 1127, 1128, 1129, 817, 1127, + /* 770 */ 1128, 1129, 534, 519, 140, 863, 386, 13, 13, 456, + /* 780 */ 192, 193, 521, 453, 319, 864, 322, 284, 365, 430, + /* 790 */ 985, 402, 379, 1077, 1548, 101, 386, 1548, 3, 395, + /* 800 */ 119, 120, 110, 1148, 1148, 991, 994, 984, 984, 117, + /* 810 */ 117, 118, 118, 118, 118, 386, 451, 1127, 1128, 1129, + /* 820 */ 119, 120, 110, 1148, 1148, 991, 994, 984, 984, 117, + /* 830 */ 117, 118, 118, 118, 118, 1127, 1354, 1412, 1169, 119, + /* 840 */ 108, 110, 1148, 1148, 991, 994, 984, 984, 117, 117, + /* 850 */ 118, 118, 118, 118, 1412, 1414, 116, 116, 116, 116, + /* 860 */ 115, 115, 114, 114, 114, 113, 418, 272, 535, 1075, + /* 870 */ 877, 877, 337, 1492, 309, 462, 116, 116, 116, 116, + /* 880 */ 115, 115, 114, 114, 114, 113, 418, 537, 1127, 1128, + /* 890 */ 1129, 537, 360, 537, 356, 116, 116, 116, 116, 115, + /* 900 */ 115, 114, 114, 114, 113, 418, 386, 264, 264, 13, + /* 910 */ 13, 273, 1127, 13, 13, 13, 13, 304, 1253, 386, + /* 920 */ 534, 1077, 1549, 404, 1412, 1549, 496, 277, 451, 186, + /* 930 */ 1252, 120, 110, 1148, 1148, 991, 994, 984, 984, 117, + /* 940 */ 117, 118, 118, 118, 118, 110, 1148, 1148, 991, 994, + /* 950 */ 984, 984, 117, 117, 118, 118, 118, 118, 105, 529, + /* 960 */ 537, 4, 1339, 264, 264, 1127, 1128, 1129, 1039, 1039, + /* 970 */ 459, 795, 796, 797, 536, 532, 534, 242, 301, 807, + /* 980 */ 303, 462, 69, 69, 451, 1353, 116, 116, 116, 116, + /* 990 */ 115, 115, 114, 114, 114, 113, 418, 1075, 419, 116, + /* 1000 */ 116, 116, 116, 115, 115, 114, 114, 114, 113, 418, + /* 1010 */ 526, 537, 1146, 192, 350, 105, 529, 537, 4, 497, + /* 1020 */ 162, 337, 1492, 310, 1249, 385, 1550, 372, 9, 462, + /* 1030 */ 242, 400, 532, 13, 13, 499, 971, 843, 436, 70, + /* 1040 */ 70, 359, 103, 103, 8, 339, 278, 187, 278, 104, + /* 1050 */ 1127, 419, 539, 538, 1339, 419, 961, 302, 1339, 1172, + /* 1060 */ 1, 1, 542, 2, 1176, 1146, 1146, 526, 476, 289, + /* 1070 */ 30, 134, 317, 288, 528, 285, 844, 1014, 1254, 276, + /* 1080 */ 1472, 506, 410, 1194, 6, 207, 505, 961, 961, 963, + /* 1090 */ 964, 27, 449, 971, 415, 414, 234, 233, 232, 103, + /* 1100 */ 103, 31, 1152, 1127, 1128, 1129, 104, 1154, 419, 539, + /* 1110 */ 538, 264, 264, 961, 1399, 1153, 264, 264, 1470, 1146, + /* 1120 */ 537, 216, 6, 401, 534, 1197, 392, 458, 406, 534, + /* 1130 */ 537, 485, 358, 537, 261, 537, 1339, 907, 219, 1155, + /* 1140 */ 467, 1155, 50, 50, 961, 961, 963, 964, 27, 1497, + /* 1150 */ 1116, 421, 70, 70, 268, 70, 70, 13, 13, 369, + /* 1160 */ 369, 368, 253, 366, 264, 264, 804, 235, 422, 105, + /* 1170 */ 529, 516, 4, 287, 487, 510, 493, 534, 486, 213, + /* 1180 */ 1055, 294, 490, 384, 1127, 450, 532, 338, 413, 293, + /* 1190 */ 522, 417, 335, 1036, 509, 1056, 107, 1036, 16, 16, + /* 1200 */ 1469, 1094, 334, 1105, 6, 411, 1145, 264, 264, 419, + /* 1210 */ 1057, 102, 511, 100, 1094, 264, 264, 1094, 922, 215, + /* 1220 */ 534, 526, 907, 264, 264, 208, 923, 154, 534, 457, + /* 1230 */ 156, 525, 391, 142, 218, 506, 534, 1127, 1128, 1129, + /* 1240 */ 507, 139, 1131, 38, 214, 530, 392, 971, 329, 1454, + /* 1250 */ 907, 1105, 537, 103, 103, 105, 529, 537, 4, 537, + /* 1260 */ 104, 424, 419, 539, 538, 537, 502, 961, 517, 537, + /* 1270 */ 1072, 537, 532, 373, 54, 54, 288, 528, 387, 55, + /* 1280 */ 55, 15, 15, 288, 528, 17, 136, 44, 44, 1451, + /* 1290 */ 537, 56, 56, 57, 57, 419, 1131, 291, 961, 961, + /* 1300 */ 963, 964, 27, 393, 163, 537, 426, 526, 263, 206, + /* 1310 */ 208, 517, 58, 58, 235, 440, 842, 841, 197, 105, + /* 1320 */ 529, 506, 4, 1033, 439, 1033, 505, 59, 59, 308, + /* 1330 */ 849, 850, 95, 971, 537, 907, 532, 948, 832, 103, + /* 1340 */ 103, 105, 529, 537, 4, 1021, 104, 537, 419, 539, + /* 1350 */ 538, 1116, 421, 961, 537, 268, 60, 60, 532, 419, + /* 1360 */ 369, 369, 368, 253, 366, 61, 61, 804, 965, 45, + /* 1370 */ 45, 526, 537, 1032, 1277, 1032, 46, 46, 537, 391, + /* 1380 */ 213, 419, 294, 266, 961, 961, 963, 964, 27, 292, + /* 1390 */ 293, 295, 832, 526, 48, 48, 1290, 971, 1289, 1021, + /* 1400 */ 49, 49, 432, 103, 103, 887, 953, 537, 1457, 241, + /* 1410 */ 104, 305, 419, 539, 538, 925, 926, 961, 444, 971, + /* 1420 */ 215, 241, 965, 1224, 537, 103, 103, 1431, 154, 62, + /* 1430 */ 62, 156, 104, 1430, 419, 539, 538, 97, 529, 961, + /* 1440 */ 4, 537, 454, 537, 314, 214, 63, 63, 961, 961, + /* 1450 */ 963, 964, 27, 537, 532, 446, 1286, 318, 241, 537, + /* 1460 */ 321, 323, 325, 64, 64, 14, 14, 1237, 537, 1223, + /* 1470 */ 961, 961, 963, 964, 27, 65, 65, 419, 537, 387, + /* 1480 */ 537, 125, 125, 537, 288, 528, 537, 1486, 537, 526, + /* 1490 */ 66, 66, 313, 524, 537, 95, 468, 1221, 1511, 237, + /* 1500 */ 51, 51, 67, 67, 330, 68, 68, 426, 52, 52, + /* 1510 */ 149, 149, 1222, 340, 341, 971, 150, 150, 1298, 463, + /* 1520 */ 327, 103, 103, 95, 537, 1338, 1273, 537, 104, 537, + /* 1530 */ 419, 539, 538, 1284, 537, 961, 268, 283, 523, 1344, + /* 1540 */ 1204, 369, 369, 368, 253, 366, 75, 75, 804, 53, + /* 1550 */ 53, 71, 71, 537, 1196, 537, 126, 126, 537, 1017, + /* 1560 */ 537, 213, 237, 294, 537, 1185, 961, 961, 963, 964, + /* 1570 */ 27, 293, 537, 1184, 537, 72, 72, 127, 127, 1186, + /* 1580 */ 128, 128, 124, 124, 1505, 537, 148, 148, 537, 256, + /* 1590 */ 195, 537, 1270, 537, 147, 147, 132, 132, 537, 11, + /* 1600 */ 537, 215, 537, 199, 343, 345, 347, 131, 131, 154, + /* 1610 */ 129, 129, 156, 130, 130, 74, 74, 537, 370, 1323, + /* 1620 */ 76, 76, 73, 73, 43, 43, 214, 431, 211, 1331, + /* 1630 */ 300, 916, 880, 815, 241, 107, 137, 307, 881, 47, + /* 1640 */ 47, 107, 473, 378, 203, 448, 333, 1403, 1220, 1402, + /* 1650 */ 349, 190, 527, 191, 363, 198, 1508, 1163, 245, 165, + /* 1660 */ 387, 1450, 1448, 1160, 78, 288, 528, 1408, 81, 394, + /* 1670 */ 82, 442, 175, 159, 167, 93, 1328, 35, 1320, 434, + /* 1680 */ 170, 171, 172, 173, 435, 466, 221, 375, 426, 377, + /* 1690 */ 1334, 179, 455, 441, 1397, 225, 87, 36, 461, 1419, + /* 1700 */ 316, 257, 227, 184, 320, 464, 228, 479, 1187, 229, + /* 1710 */ 380, 1240, 1239, 407, 1238, 1212, 834, 332, 1231, 381, + /* 1720 */ 409, 1211, 204, 1210, 1491, 498, 1520, 1281, 92, 281, + /* 1730 */ 1230, 489, 282, 492, 342, 243, 1282, 344, 244, 1280, + /* 1740 */ 346, 412, 1279, 1477, 348, 122, 1476, 517, 10, 357, + /* 1750 */ 286, 1305, 1304, 99, 1383, 94, 501, 251, 1193, 34, + /* 1760 */ 1263, 355, 540, 194, 1262, 361, 362, 1122, 252, 254, + /* 1770 */ 255, 388, 541, 1182, 1177, 151, 1435, 389, 1436, 1434, + /* 1780 */ 1433, 791, 152, 135, 279, 200, 201, 420, 196, 77, + /* 1790 */ 153, 290, 269, 210, 1031, 133, 1029, 945, 166, 155, + /* 1800 */ 217, 168, 866, 306, 220, 1045, 174, 949, 157, 396, + /* 1810 */ 83, 398, 176, 84, 85, 164, 86, 158, 1048, 222, + /* 1820 */ 223, 1044, 144, 18, 224, 315, 1037, 180, 241, 460, + /* 1830 */ 1157, 226, 181, 37, 806, 465, 334, 230, 328, 469, + /* 1840 */ 182, 88, 474, 19, 20, 160, 89, 280, 145, 90, + /* 1850 */ 481, 845, 1110, 146, 997, 205, 1080, 39, 91, 40, + /* 1860 */ 488, 1081, 915, 491, 260, 262, 185, 910, 240, 107, + /* 1870 */ 1100, 1096, 1098, 1104, 21, 1084, 33, 513, 247, 22, + /* 1880 */ 23, 24, 1103, 25, 188, 95, 1012, 998, 996, 26, + /* 1890 */ 1000, 1054, 7, 1053, 1001, 246, 28, 41, 533, 966, + /* 1900 */ 816, 106, 29, 367, 248, 249, 1513, 1512, 364, 1117, + /* 1910 */ 1173, 1173, 876, }; static const YYCODETYPE yy_lookahead[] = { - /* 0 */ 184, 238, 239, 240, 238, 239, 240, 163, 155, 156, - /* 10 */ 157, 158, 159, 160, 163, 191, 192, 183, 165, 19, - /* 20 */ 167, 258, 202, 203, 200, 191, 163, 174, 184, 185, - /* 30 */ 174, 31, 163, 163, 171, 184, 185, 35, 175, 39, - /* 40 */ 179, 180, 181, 43, 44, 45, 46, 47, 48, 49, - /* 50 */ 50, 51, 52, 53, 54, 55, 56, 57, 184, 206, - /* 60 */ 207, 163, 206, 207, 220, 163, 16, 163, 66, 163, - /* 70 */ 59, 270, 219, 229, 273, 219, 74, 208, 174, 223, - /* 80 */ 224, 163, 184, 185, 163, 232, 184, 185, 184, 185, - /* 90 */ 184, 185, 92, 93, 94, 95, 96, 97, 98, 99, - /* 100 */ 100, 101, 102, 233, 198, 184, 185, 96, 97, 163, - /* 110 */ 206, 207, 19, 163, 261, 104, 105, 106, 107, 198, - /* 120 */ 109, 119, 220, 219, 220, 274, 275, 77, 117, 79, - /* 130 */ 187, 229, 19, 229, 184, 185, 43, 44, 45, 46, - /* 140 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - /* 150 */ 57, 233, 141, 134, 143, 102, 43, 44, 45, 46, - /* 160 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - /* 170 */ 57, 152, 274, 216, 276, 218, 83, 163, 85, 233, - /* 180 */ 67, 238, 239, 240, 11, 92, 93, 94, 95, 96, - /* 190 */ 97, 98, 99, 100, 101, 102, 19, 54, 55, 56, - /* 200 */ 57, 58, 163, 26, 163, 92, 93, 94, 95, 96, - /* 210 */ 97, 98, 99, 100, 101, 102, 54, 55, 56, 57, - /* 220 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - /* 230 */ 53, 54, 55, 56, 57, 92, 93, 94, 95, 96, - /* 240 */ 97, 98, 99, 100, 101, 102, 69, 96, 97, 98, - /* 250 */ 99, 100, 101, 102, 92, 93, 94, 95, 96, 97, - /* 260 */ 98, 99, 100, 101, 102, 81, 179, 180, 181, 92, - /* 270 */ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - /* 280 */ 163, 267, 268, 163, 22, 23, 59, 163, 26, 19, - /* 290 */ 117, 118, 175, 109, 24, 59, 92, 93, 94, 95, - /* 300 */ 96, 97, 98, 99, 100, 101, 102, 268, 184, 185, - /* 310 */ 269, 127, 128, 43, 44, 45, 46, 47, 48, 49, - /* 320 */ 50, 51, 52, 53, 54, 55, 56, 57, 157, 158, - /* 330 */ 159, 160, 105, 106, 107, 163, 165, 59, 167, 184, - /* 340 */ 90, 105, 106, 107, 108, 174, 73, 111, 112, 113, - /* 350 */ 19, 22, 163, 91, 81, 163, 106, 121, 81, 132, - /* 360 */ 110, 16, 92, 93, 94, 95, 96, 97, 98, 99, - /* 370 */ 100, 101, 102, 184, 185, 255, 98, 206, 207, 26, - /* 380 */ 101, 102, 19, 105, 106, 107, 23, 198, 59, 116, - /* 390 */ 219, 141, 142, 143, 24, 163, 187, 205, 274, 275, - /* 400 */ 127, 128, 182, 232, 127, 128, 43, 44, 45, 46, - /* 410 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - /* 420 */ 57, 158, 77, 160, 79, 59, 26, 182, 165, 59, - /* 430 */ 167, 199, 261, 102, 105, 106, 107, 174, 72, 108, - /* 440 */ 109, 110, 111, 112, 113, 114, 59, 238, 239, 240, - /* 450 */ 123, 120, 125, 126, 163, 92, 93, 94, 95, 96, - /* 460 */ 97, 98, 99, 100, 101, 102, 163, 163, 163, 206, - /* 470 */ 207, 105, 106, 107, 254, 19, 106, 90, 197, 23, - /* 480 */ 127, 128, 219, 238, 239, 240, 22, 184, 185, 184, - /* 490 */ 185, 22, 105, 106, 149, 232, 205, 110, 163, 43, - /* 500 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - /* 510 */ 54, 55, 56, 57, 98, 99, 100, 101, 102, 184, - /* 520 */ 185, 163, 53, 59, 261, 220, 117, 118, 141, 142, - /* 530 */ 143, 131, 174, 59, 229, 116, 117, 118, 163, 59, - /* 540 */ 163, 163, 184, 185, 59, 242, 72, 22, 92, 93, - /* 550 */ 94, 95, 96, 97, 98, 99, 100, 101, 102, 184, - /* 560 */ 185, 24, 184, 185, 206, 207, 202, 203, 19, 105, - /* 570 */ 106, 107, 23, 198, 22, 174, 198, 219, 220, 105, - /* 580 */ 106, 107, 96, 97, 59, 105, 106, 107, 22, 174, - /* 590 */ 59, 106, 43, 44, 45, 46, 47, 48, 49, 50, - /* 600 */ 51, 52, 53, 54, 55, 56, 57, 206, 207, 12, - /* 610 */ 108, 59, 132, 111, 112, 113, 46, 47, 48, 49, - /* 620 */ 219, 206, 207, 121, 27, 59, 163, 141, 207, 143, - /* 630 */ 105, 106, 107, 163, 219, 234, 105, 106, 107, 42, - /* 640 */ 219, 92, 93, 94, 95, 96, 97, 98, 99, 100, - /* 650 */ 101, 102, 76, 163, 184, 185, 163, 105, 106, 107, - /* 660 */ 63, 19, 86, 163, 163, 23, 163, 130, 205, 21, - /* 670 */ 73, 105, 106, 107, 184, 185, 163, 184, 185, 237, - /* 680 */ 110, 180, 181, 180, 181, 43, 44, 45, 46, 47, - /* 690 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - /* 700 */ 174, 163, 163, 22, 23, 163, 163, 26, 22, 23, - /* 710 */ 220, 29, 73, 220, 272, 33, 22, 163, 24, 19, - /* 720 */ 174, 208, 259, 184, 185, 19, 184, 185, 80, 175, - /* 730 */ 230, 174, 206, 207, 92, 93, 94, 95, 96, 97, - /* 740 */ 98, 99, 100, 101, 102, 219, 46, 65, 247, 195, - /* 750 */ 247, 197, 206, 207, 19, 116, 117, 118, 23, 220, - /* 760 */ 112, 174, 220, 206, 207, 219, 22, 174, 24, 174, - /* 770 */ 22, 23, 91, 264, 265, 168, 219, 91, 43, 44, - /* 780 */ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - /* 790 */ 55, 56, 57, 206, 207, 12, 163, 149, 255, 206, - /* 800 */ 207, 206, 207, 59, 104, 23, 219, 163, 26, 163, - /* 810 */ 27, 105, 219, 163, 219, 163, 211, 184, 185, 163, - /* 820 */ 120, 163, 146, 163, 148, 42, 221, 92, 93, 94, - /* 830 */ 95, 96, 97, 98, 99, 100, 101, 102, 163, 91, - /* 840 */ 184, 185, 184, 185, 184, 185, 63, 19, 163, 205, - /* 850 */ 106, 23, 245, 163, 208, 248, 116, 117, 118, 184, - /* 860 */ 185, 163, 163, 7, 8, 9, 163, 19, 26, 184, - /* 870 */ 185, 43, 44, 45, 46, 47, 48, 49, 50, 51, - /* 880 */ 52, 53, 54, 55, 56, 57, 163, 184, 185, 107, - /* 890 */ 163, 43, 44, 45, 46, 47, 48, 49, 50, 51, - /* 900 */ 52, 53, 54, 55, 56, 57, 208, 255, 177, 178, - /* 910 */ 163, 184, 185, 163, 132, 163, 141, 163, 143, 22, - /* 920 */ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - /* 930 */ 102, 184, 185, 163, 184, 185, 184, 185, 184, 185, - /* 940 */ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - /* 950 */ 102, 163, 163, 163, 184, 185, 163, 115, 163, 163, - /* 960 */ 163, 163, 15, 163, 163, 163, 163, 163, 23, 163, - /* 970 */ 163, 26, 184, 185, 184, 185, 163, 184, 185, 184, - /* 980 */ 185, 184, 185, 163, 184, 185, 184, 185, 184, 185, - /* 990 */ 184, 185, 163, 96, 97, 147, 163, 184, 185, 163, - /* 1000 */ 199, 163, 163, 205, 184, 185, 163, 60, 163, 141, - /* 1010 */ 163, 143, 163, 184, 185, 19, 163, 184, 185, 230, - /* 1020 */ 184, 185, 184, 185, 206, 207, 230, 184, 185, 184, - /* 1030 */ 185, 184, 185, 184, 185, 19, 163, 219, 231, 43, - /* 1040 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - /* 1050 */ 54, 55, 56, 57, 163, 26, 163, 184, 185, 43, - /* 1060 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - /* 1070 */ 54, 55, 56, 57, 163, 184, 185, 184, 185, 163, - /* 1080 */ 182, 163, 163, 163, 163, 163, 22, 163, 92, 93, - /* 1090 */ 94, 95, 96, 97, 98, 99, 100, 101, 102, 163, - /* 1100 */ 184, 185, 184, 185, 163, 184, 185, 163, 92, 93, - /* 1110 */ 94, 95, 96, 97, 98, 99, 100, 101, 102, 163, - /* 1120 */ 184, 185, 98, 59, 163, 184, 185, 205, 184, 185, - /* 1130 */ 23, 206, 207, 26, 163, 26, 107, 153, 154, 237, - /* 1140 */ 184, 185, 231, 147, 219, 184, 185, 249, 124, 127, - /* 1150 */ 128, 231, 254, 129, 163, 231, 177, 178, 262, 263, - /* 1160 */ 118, 132, 19, 19, 46, 223, 224, 31, 24, 23, - /* 1170 */ 106, 124, 26, 22, 272, 39, 129, 23, 109, 110, - /* 1180 */ 26, 163, 140, 19, 22, 234, 59, 43, 44, 45, - /* 1190 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - /* 1200 */ 56, 57, 231, 7, 8, 193, 59, 43, 44, 45, - /* 1210 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - /* 1220 */ 56, 57, 104, 61, 23, 23, 23, 26, 26, 26, - /* 1230 */ 163, 23, 23, 106, 26, 26, 92, 93, 94, 95, - /* 1240 */ 96, 97, 98, 99, 100, 101, 102, 138, 105, 23, - /* 1250 */ 59, 23, 26, 106, 26, 163, 92, 93, 94, 95, - /* 1260 */ 96, 97, 98, 99, 100, 101, 102, 110, 23, 23, - /* 1270 */ 23, 26, 26, 26, 163, 163, 19, 120, 163, 163, - /* 1280 */ 163, 130, 163, 163, 163, 163, 163, 163, 163, 193, - /* 1290 */ 193, 163, 163, 163, 163, 225, 19, 106, 163, 222, - /* 1300 */ 163, 44, 45, 46, 47, 48, 49, 50, 51, 52, - /* 1310 */ 53, 54, 55, 56, 57, 163, 163, 203, 163, 163, - /* 1320 */ 222, 163, 45, 46, 47, 48, 49, 50, 51, 52, - /* 1330 */ 53, 54, 55, 56, 57, 163, 163, 163, 163, 163, - /* 1340 */ 251, 250, 209, 19, 20, 182, 22, 161, 222, 92, - /* 1350 */ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - /* 1360 */ 36, 222, 222, 260, 226, 188, 256, 226, 187, 92, - /* 1370 */ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - /* 1380 */ 210, 213, 213, 59, 213, 196, 192, 187, 256, 244, - /* 1390 */ 212, 187, 226, 19, 20, 71, 22, 210, 166, 60, - /* 1400 */ 130, 170, 260, 170, 38, 81, 257, 257, 170, 104, - /* 1410 */ 36, 22, 43, 201, 90, 236, 138, 235, 213, 18, - /* 1420 */ 96, 97, 48, 204, 204, 204, 204, 103, 170, 105, - /* 1430 */ 106, 107, 18, 59, 110, 169, 213, 213, 201, 170, - /* 1440 */ 201, 169, 236, 213, 146, 71, 235, 62, 253, 252, - /* 1450 */ 170, 127, 128, 169, 22, 170, 82, 189, 169, 104, - /* 1460 */ 170, 87, 169, 189, 90, 141, 142, 143, 144, 145, - /* 1470 */ 96, 97, 186, 186, 186, 64, 194, 103, 186, 105, - /* 1480 */ 106, 107, 115, 189, 110, 188, 186, 186, 19, 20, - /* 1490 */ 194, 22, 186, 189, 102, 246, 246, 189, 133, 228, - /* 1500 */ 104, 228, 227, 227, 170, 36, 134, 228, 227, 19, - /* 1510 */ 20, 228, 22, 84, 271, 141, 142, 143, 144, 145, - /* 1520 */ 0, 1, 2, 216, 22, 5, 36, 137, 59, 227, - /* 1530 */ 10, 11, 12, 13, 14, 217, 269, 17, 216, 22, - /* 1540 */ 71, 170, 243, 146, 241, 217, 136, 215, 135, 59, - /* 1550 */ 30, 82, 32, 25, 214, 213, 87, 173, 26, 90, - /* 1560 */ 40, 71, 13, 172, 164, 96, 97, 164, 6, 162, - /* 1570 */ 162, 162, 103, 263, 105, 106, 107, 266, 266, 110, - /* 1580 */ 90, 176, 176, 190, 182, 190, 96, 97, 98, 4, - /* 1590 */ 70, 176, 3, 103, 182, 105, 106, 107, 78, 182, - /* 1600 */ 110, 81, 182, 182, 182, 182, 182, 151, 88, 22, - /* 1610 */ 141, 142, 143, 144, 145, 15, 89, 16, 23, 23, - /* 1620 */ 128, 19, 20, 139, 22, 119, 131, 24, 20, 133, - /* 1630 */ 16, 141, 142, 143, 144, 145, 1, 140, 36, 131, - /* 1640 */ 119, 61, 122, 37, 139, 53, 53, 127, 128, 119, - /* 1650 */ 53, 53, 105, 34, 130, 1, 5, 104, 22, 149, - /* 1660 */ 26, 59, 68, 75, 41, 130, 24, 68, 104, 20, - /* 1670 */ 150, 19, 120, 71, 114, 22, 67, 22, 22, 67, - /* 1680 */ 23, 22, 22, 67, 82, 37, 28, 23, 138, 87, - /* 1690 */ 22, 153, 90, 23, 23, 26, 23, 22, 96, 97, - /* 1700 */ 24, 23, 22, 24, 130, 103, 23, 105, 106, 107, - /* 1710 */ 1, 2, 110, 23, 5, 105, 34, 22, 132, 10, - /* 1720 */ 11, 12, 13, 14, 26, 34, 17, 34, 85, 83, - /* 1730 */ 44, 19, 20, 23, 22, 24, 75, 34, 23, 30, - /* 1740 */ 26, 32, 26, 141, 142, 143, 144, 145, 36, 40, - /* 1750 */ 23, 23, 23, 23, 11, 23, 22, 26, 22, 22, - /* 1760 */ 22, 19, 20, 23, 22, 26, 15, 23, 22, 124, - /* 1770 */ 130, 59, 23, 1, 130, 277, 277, 130, 36, 70, - /* 1780 */ 130, 277, 277, 71, 277, 277, 277, 78, 277, 277, - /* 1790 */ 81, 277, 277, 277, 277, 277, 277, 88, 277, 277, - /* 1800 */ 277, 59, 90, 277, 277, 277, 277, 277, 96, 97, - /* 1810 */ 277, 277, 277, 71, 277, 103, 277, 105, 106, 107, - /* 1820 */ 277, 277, 110, 277, 277, 277, 277, 277, 277, 277, - /* 1830 */ 277, 122, 90, 277, 277, 277, 127, 128, 96, 97, - /* 1840 */ 277, 277, 277, 277, 277, 103, 277, 105, 106, 107, - /* 1850 */ 277, 277, 110, 141, 142, 143, 144, 145, 277, 150, - /* 1860 */ 277, 277, 277, 5, 277, 277, 277, 277, 10, 11, - /* 1870 */ 12, 13, 14, 277, 277, 17, 277, 277, 277, 277, - /* 1880 */ 277, 277, 277, 141, 142, 143, 144, 145, 30, 277, - /* 1890 */ 32, 277, 277, 277, 277, 277, 277, 277, 40, 277, - /* 1900 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, - /* 1910 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, - /* 1920 */ 277, 277, 277, 277, 277, 277, 277, 277, 70, 277, - /* 1930 */ 277, 277, 277, 277, 277, 277, 78, 277, 277, 81, - /* 1940 */ 277, 277, 277, 277, 277, 277, 88, 277, 277, 277, - /* 1950 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, - /* 1960 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, - /* 1970 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, - /* 1980 */ 122, 277, 277, 277, 277, 127, 128, 277, 277, 277, - /* 1990 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, - /* 2000 */ 277, 277, 277, 277, 277, 277, 277, 277, 150, 277, - /* 2010 */ 277, 277, 277, 277, 277, 277, 277, 277, 277, + /* 0 */ 187, 187, 187, 216, 217, 187, 206, 187, 264, 265, + /* 10 */ 266, 187, 225, 187, 209, 187, 264, 265, 266, 19, + /* 20 */ 187, 187, 209, 210, 209, 210, 187, 209, 210, 209, + /* 30 */ 210, 31, 209, 209, 210, 209, 210, 285, 224, 39, + /* 40 */ 203, 204, 205, 43, 44, 45, 46, 47, 48, 49, + /* 50 */ 50, 51, 52, 53, 54, 55, 56, 57, 230, 19, + /* 60 */ 181, 182, 183, 184, 230, 245, 233, 208, 189, 245, + /* 70 */ 191, 245, 26, 206, 254, 216, 276, 198, 254, 198, + /* 80 */ 254, 281, 187, 43, 44, 45, 46, 47, 48, 49, + /* 90 */ 50, 51, 52, 53, 54, 55, 56, 57, 259, 99, + /* 100 */ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + /* 110 */ 231, 232, 231, 232, 286, 302, 303, 302, 22, 304, + /* 120 */ 302, 303, 76, 244, 11, 244, 86, 19, 88, 248, + /* 130 */ 249, 264, 265, 266, 26, 89, 198, 258, 92, 99, + /* 140 */ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + /* 150 */ 105, 43, 44, 45, 46, 47, 48, 49, 50, 51, + /* 160 */ 52, 53, 54, 55, 56, 57, 212, 288, 273, 231, + /* 170 */ 232, 105, 106, 107, 108, 109, 131, 69, 203, 204, + /* 180 */ 205, 136, 244, 99, 100, 101, 102, 103, 104, 105, + /* 190 */ 106, 107, 108, 109, 15, 103, 104, 19, 260, 103, + /* 200 */ 104, 54, 55, 56, 57, 58, 22, 99, 100, 101, + /* 210 */ 102, 103, 104, 105, 106, 107, 108, 109, 264, 265, + /* 220 */ 266, 43, 44, 45, 46, 47, 48, 49, 50, 51, + /* 230 */ 52, 53, 54, 55, 56, 57, 19, 124, 125, 60, + /* 240 */ 148, 24, 150, 59, 187, 67, 99, 100, 101, 102, + /* 250 */ 103, 104, 105, 106, 107, 108, 109, 187, 187, 109, + /* 260 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + /* 270 */ 53, 54, 55, 56, 57, 204, 205, 99, 100, 101, + /* 280 */ 102, 103, 104, 105, 106, 107, 108, 109, 103, 104, + /* 290 */ 105, 106, 107, 108, 109, 59, 112, 113, 114, 76, + /* 300 */ 231, 232, 187, 19, 19, 22, 23, 23, 54, 55, + /* 310 */ 56, 57, 89, 244, 199, 92, 99, 100, 101, 102, + /* 320 */ 103, 104, 105, 106, 107, 108, 109, 43, 44, 45, + /* 330 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + /* 340 */ 56, 57, 19, 212, 187, 274, 23, 26, 112, 113, + /* 350 */ 114, 294, 295, 99, 100, 101, 102, 103, 104, 105, + /* 360 */ 106, 107, 108, 109, 59, 295, 43, 44, 45, 46, + /* 370 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + /* 380 */ 57, 98, 146, 99, 100, 101, 102, 103, 104, 105, + /* 390 */ 106, 107, 108, 109, 109, 264, 265, 266, 187, 187, + /* 400 */ 115, 116, 117, 118, 119, 120, 121, 73, 59, 19, + /* 410 */ 105, 23, 127, 23, 26, 81, 259, 112, 113, 114, + /* 420 */ 187, 72, 99, 100, 101, 102, 103, 104, 105, 106, + /* 430 */ 107, 108, 109, 43, 44, 45, 46, 47, 48, 49, + /* 440 */ 50, 51, 52, 53, 54, 55, 56, 57, 19, 124, + /* 450 */ 125, 182, 23, 184, 187, 134, 135, 123, 189, 131, + /* 460 */ 191, 112, 113, 114, 136, 187, 233, 198, 134, 135, + /* 470 */ 198, 259, 43, 44, 45, 46, 47, 48, 49, 50, + /* 480 */ 51, 52, 53, 54, 55, 56, 57, 209, 210, 99, + /* 490 */ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + /* 500 */ 231, 232, 206, 231, 232, 187, 59, 296, 297, 76, + /* 510 */ 160, 161, 301, 244, 232, 19, 244, 297, 59, 23, + /* 520 */ 87, 301, 89, 245, 26, 92, 244, 258, 99, 100, + /* 530 */ 101, 102, 103, 104, 105, 106, 107, 108, 109, 43, + /* 540 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + /* 550 */ 54, 55, 56, 57, 19, 187, 97, 288, 23, 112, + /* 560 */ 113, 114, 115, 296, 297, 118, 119, 120, 301, 108, + /* 570 */ 109, 112, 113, 255, 141, 128, 117, 281, 43, 44, + /* 580 */ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + /* 590 */ 55, 56, 57, 187, 187, 99, 100, 101, 102, 103, + /* 600 */ 104, 105, 106, 107, 108, 109, 26, 148, 149, 150, + /* 610 */ 115, 97, 59, 118, 119, 120, 209, 210, 73, 59, + /* 620 */ 122, 19, 209, 128, 256, 72, 187, 113, 187, 81, + /* 630 */ 223, 117, 227, 228, 99, 100, 101, 102, 103, 104, + /* 640 */ 105, 106, 107, 108, 109, 43, 44, 45, 46, 47, + /* 650 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + /* 660 */ 19, 255, 148, 149, 150, 112, 113, 114, 123, 124, + /* 670 */ 125, 230, 112, 113, 114, 22, 297, 22, 81, 22, + /* 680 */ 301, 59, 134, 135, 43, 44, 45, 46, 47, 48, + /* 690 */ 49, 50, 51, 52, 53, 54, 55, 56, 57, 139, + /* 700 */ 192, 99, 100, 101, 102, 103, 104, 105, 106, 107, + /* 710 */ 108, 109, 59, 116, 59, 187, 59, 231, 232, 46, + /* 720 */ 47, 48, 49, 16, 12, 145, 198, 22, 187, 187, + /* 730 */ 244, 134, 135, 222, 112, 113, 114, 209, 210, 27, + /* 740 */ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + /* 750 */ 109, 209, 210, 187, 42, 187, 154, 227, 228, 231, + /* 760 */ 232, 139, 22, 23, 59, 112, 113, 114, 113, 112, + /* 770 */ 113, 114, 244, 245, 233, 63, 19, 209, 210, 271, + /* 780 */ 187, 24, 254, 275, 77, 73, 79, 245, 195, 260, + /* 790 */ 117, 223, 199, 22, 23, 154, 19, 26, 22, 187, + /* 800 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + /* 810 */ 53, 54, 55, 56, 57, 19, 187, 112, 113, 114, + /* 820 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + /* 830 */ 53, 54, 55, 56, 57, 59, 263, 187, 98, 43, + /* 840 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + /* 850 */ 54, 55, 56, 57, 204, 205, 99, 100, 101, 102, + /* 860 */ 103, 104, 105, 106, 107, 108, 109, 255, 130, 98, + /* 870 */ 132, 133, 299, 300, 198, 187, 99, 100, 101, 102, + /* 880 */ 103, 104, 105, 106, 107, 108, 109, 187, 112, 113, + /* 890 */ 114, 187, 241, 187, 243, 99, 100, 101, 102, 103, + /* 900 */ 104, 105, 106, 107, 108, 109, 19, 231, 232, 209, + /* 910 */ 210, 282, 59, 209, 210, 209, 210, 16, 230, 19, + /* 920 */ 244, 22, 23, 223, 274, 26, 19, 223, 187, 223, + /* 930 */ 198, 44, 45, 46, 47, 48, 49, 50, 51, 52, + /* 940 */ 53, 54, 55, 56, 57, 45, 46, 47, 48, 49, + /* 950 */ 50, 51, 52, 53, 54, 55, 56, 57, 19, 20, + /* 960 */ 187, 22, 187, 231, 232, 112, 113, 114, 123, 124, + /* 970 */ 125, 7, 8, 9, 187, 36, 244, 24, 77, 21, + /* 980 */ 79, 187, 209, 210, 187, 263, 99, 100, 101, 102, + /* 990 */ 103, 104, 105, 106, 107, 108, 109, 98, 59, 99, + /* 1000 */ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + /* 1010 */ 71, 187, 59, 187, 187, 19, 20, 187, 22, 112, + /* 1020 */ 81, 299, 300, 282, 230, 199, 291, 292, 22, 187, + /* 1030 */ 24, 256, 36, 209, 210, 187, 97, 35, 80, 209, + /* 1040 */ 210, 268, 103, 104, 48, 187, 220, 223, 222, 110, + /* 1050 */ 59, 112, 113, 114, 187, 59, 117, 156, 187, 179, + /* 1060 */ 180, 181, 182, 183, 184, 59, 113, 71, 66, 189, + /* 1070 */ 22, 191, 230, 134, 135, 245, 74, 119, 198, 282, + /* 1080 */ 297, 85, 224, 198, 301, 187, 90, 148, 149, 150, + /* 1090 */ 151, 152, 19, 97, 103, 104, 123, 124, 125, 103, + /* 1100 */ 104, 53, 111, 112, 113, 114, 110, 116, 112, 113, + /* 1110 */ 114, 231, 232, 117, 156, 124, 231, 232, 297, 113, + /* 1120 */ 187, 24, 301, 256, 244, 201, 202, 256, 126, 244, + /* 1130 */ 187, 198, 187, 187, 23, 187, 187, 26, 258, 148, + /* 1140 */ 19, 150, 209, 210, 148, 149, 150, 151, 152, 0, + /* 1150 */ 1, 2, 209, 210, 5, 209, 210, 209, 210, 10, + /* 1160 */ 11, 12, 13, 14, 231, 232, 17, 46, 288, 19, + /* 1170 */ 20, 223, 22, 236, 198, 66, 187, 244, 245, 30, + /* 1180 */ 12, 32, 198, 246, 59, 112, 36, 187, 245, 40, + /* 1190 */ 198, 245, 117, 29, 85, 27, 26, 33, 209, 210, + /* 1200 */ 297, 76, 127, 94, 301, 256, 26, 231, 232, 59, + /* 1210 */ 42, 153, 87, 155, 89, 231, 232, 92, 31, 70, + /* 1220 */ 244, 71, 26, 231, 232, 114, 39, 78, 244, 65, + /* 1230 */ 81, 63, 111, 233, 137, 85, 244, 112, 113, 114, + /* 1240 */ 90, 22, 59, 24, 95, 201, 202, 97, 127, 187, + /* 1250 */ 139, 142, 187, 103, 104, 19, 20, 187, 22, 187, + /* 1260 */ 110, 187, 112, 113, 114, 187, 141, 117, 141, 187, + /* 1270 */ 23, 187, 36, 26, 209, 210, 134, 135, 129, 209, + /* 1280 */ 210, 209, 210, 134, 135, 22, 159, 209, 210, 187, + /* 1290 */ 187, 209, 210, 209, 210, 59, 113, 187, 148, 149, + /* 1300 */ 150, 151, 152, 289, 290, 187, 157, 71, 248, 249, + /* 1310 */ 114, 141, 209, 210, 46, 125, 116, 117, 138, 19, + /* 1320 */ 20, 85, 22, 148, 61, 150, 90, 209, 210, 23, + /* 1330 */ 7, 8, 26, 97, 187, 139, 36, 147, 59, 103, + /* 1340 */ 104, 19, 20, 187, 22, 59, 110, 187, 112, 113, + /* 1350 */ 114, 1, 2, 117, 187, 5, 209, 210, 36, 59, + /* 1360 */ 10, 11, 12, 13, 14, 209, 210, 17, 59, 209, + /* 1370 */ 210, 71, 187, 148, 250, 150, 209, 210, 187, 111, + /* 1380 */ 30, 59, 32, 22, 148, 149, 150, 151, 152, 187, + /* 1390 */ 40, 187, 113, 71, 209, 210, 187, 97, 187, 113, + /* 1400 */ 209, 210, 187, 103, 104, 105, 23, 187, 187, 26, + /* 1410 */ 110, 187, 112, 113, 114, 83, 84, 117, 23, 97, + /* 1420 */ 70, 26, 113, 218, 187, 103, 104, 187, 78, 209, + /* 1430 */ 210, 81, 110, 187, 112, 113, 114, 19, 20, 117, + /* 1440 */ 22, 187, 187, 187, 187, 95, 209, 210, 148, 149, + /* 1450 */ 150, 151, 152, 187, 36, 23, 187, 187, 26, 187, + /* 1460 */ 187, 187, 187, 209, 210, 209, 210, 187, 187, 218, + /* 1470 */ 148, 149, 150, 151, 152, 209, 210, 59, 187, 129, + /* 1480 */ 187, 209, 210, 187, 134, 135, 187, 306, 187, 71, + /* 1490 */ 209, 210, 23, 228, 187, 26, 23, 187, 137, 26, + /* 1500 */ 209, 210, 209, 210, 187, 209, 210, 157, 209, 210, + /* 1510 */ 209, 210, 218, 187, 187, 97, 209, 210, 187, 278, + /* 1520 */ 23, 103, 104, 26, 187, 187, 187, 187, 110, 187, + /* 1530 */ 112, 113, 114, 187, 187, 117, 5, 247, 187, 187, + /* 1540 */ 187, 10, 11, 12, 13, 14, 209, 210, 17, 209, + /* 1550 */ 210, 209, 210, 187, 187, 187, 209, 210, 187, 23, + /* 1560 */ 187, 30, 26, 32, 187, 187, 148, 149, 150, 151, + /* 1570 */ 152, 40, 187, 187, 187, 209, 210, 209, 210, 187, + /* 1580 */ 209, 210, 209, 210, 187, 187, 209, 210, 187, 277, + /* 1590 */ 234, 187, 247, 187, 209, 210, 209, 210, 187, 235, + /* 1600 */ 187, 70, 187, 207, 247, 247, 247, 209, 210, 78, + /* 1610 */ 209, 210, 81, 209, 210, 209, 210, 187, 185, 238, + /* 1620 */ 209, 210, 209, 210, 209, 210, 95, 251, 287, 238, + /* 1630 */ 251, 23, 23, 23, 26, 26, 26, 283, 23, 209, + /* 1640 */ 210, 26, 213, 238, 221, 283, 212, 212, 217, 212, + /* 1650 */ 251, 241, 270, 241, 237, 235, 190, 60, 137, 287, + /* 1660 */ 129, 194, 194, 38, 284, 134, 135, 273, 284, 194, + /* 1670 */ 146, 111, 22, 43, 226, 145, 262, 261, 238, 18, + /* 1680 */ 229, 229, 229, 229, 194, 18, 193, 238, 157, 262, + /* 1690 */ 226, 226, 194, 238, 238, 193, 153, 261, 62, 280, + /* 1700 */ 279, 194, 193, 22, 194, 214, 193, 111, 194, 193, + /* 1710 */ 214, 211, 211, 64, 211, 211, 122, 211, 219, 214, + /* 1720 */ 109, 213, 160, 211, 300, 140, 211, 253, 111, 272, + /* 1730 */ 219, 214, 272, 214, 252, 194, 253, 252, 91, 253, + /* 1740 */ 252, 82, 253, 305, 252, 144, 305, 141, 22, 194, + /* 1750 */ 269, 257, 257, 153, 267, 143, 142, 25, 197, 26, + /* 1760 */ 242, 241, 196, 240, 242, 239, 238, 13, 188, 188, + /* 1770 */ 6, 293, 186, 186, 186, 200, 206, 293, 206, 206, + /* 1780 */ 206, 4, 200, 215, 215, 207, 207, 3, 22, 206, + /* 1790 */ 200, 158, 96, 15, 23, 16, 23, 135, 146, 126, + /* 1800 */ 24, 138, 20, 16, 140, 1, 138, 147, 126, 61, + /* 1810 */ 53, 37, 146, 53, 53, 290, 53, 126, 112, 34, + /* 1820 */ 137, 1, 5, 22, 111, 156, 68, 68, 26, 41, + /* 1830 */ 75, 137, 111, 24, 20, 19, 127, 121, 23, 67, + /* 1840 */ 22, 22, 67, 22, 22, 37, 22, 67, 23, 145, + /* 1850 */ 22, 28, 23, 23, 23, 137, 23, 22, 26, 22, + /* 1860 */ 24, 23, 112, 24, 23, 23, 22, 139, 34, 26, + /* 1870 */ 75, 88, 86, 75, 34, 23, 22, 24, 22, 34, + /* 1880 */ 34, 34, 93, 34, 26, 26, 23, 23, 23, 34, + /* 1890 */ 23, 23, 44, 23, 11, 26, 22, 22, 26, 23, + /* 1900 */ 23, 22, 22, 15, 137, 137, 137, 137, 23, 1, + /* 1910 */ 307, 307, 131, 307, 307, 307, 307, 307, 307, 307, + /* 1920 */ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + /* 1930 */ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + /* 1940 */ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + /* 1950 */ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + /* 1960 */ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + /* 1970 */ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + /* 1980 */ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + /* 1990 */ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + /* 2000 */ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + /* 2010 */ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + /* 2020 */ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + /* 2030 */ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + /* 2040 */ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + /* 2050 */ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + /* 2060 */ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + /* 2070 */ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + /* 2080 */ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + /* 2090 */ 307, 307, }; -#define YY_SHIFT_COUNT (520) +#define YY_SHIFT_COUNT (542) #define YY_SHIFT_MIN (0) -#define YY_SHIFT_MAX (1858) +#define YY_SHIFT_MAX (1908) static const unsigned short int yy_shift_ofst[] = { - /* 0 */ 1709, 1520, 1858, 1324, 1324, 277, 1374, 1469, 1602, 1712, - /* 10 */ 1712, 1712, 273, 0, 0, 113, 1016, 1712, 1712, 1712, - /* 20 */ 1712, 1712, 1712, 1712, 1712, 1712, 1712, 11, 11, 236, - /* 30 */ 184, 277, 277, 277, 277, 277, 277, 93, 177, 270, - /* 40 */ 363, 456, 549, 642, 735, 828, 848, 996, 1144, 1016, - /* 50 */ 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - /* 60 */ 1016, 1016, 1016, 1016, 1016, 1016, 1164, 1016, 1257, 1277, - /* 70 */ 1277, 1490, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, - /* 80 */ 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, - /* 90 */ 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, - /* 100 */ 1712, 1712, 1712, 1742, 1712, 1712, 1712, 1712, 1712, 1712, - /* 110 */ 1712, 1712, 1712, 1712, 1712, 1712, 1712, 143, 162, 162, - /* 120 */ 162, 162, 162, 204, 151, 416, 531, 648, 700, 531, - /* 130 */ 486, 486, 531, 353, 353, 353, 353, 409, 279, 53, - /* 140 */ 2009, 2009, 331, 331, 331, 329, 366, 329, 329, 597, - /* 150 */ 597, 464, 474, 262, 681, 531, 531, 531, 531, 531, - /* 160 */ 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, - /* 170 */ 531, 531, 531, 531, 531, 531, 531, 173, 485, 984, - /* 180 */ 984, 576, 485, 19, 1022, 2009, 2009, 2009, 387, 250, - /* 190 */ 250, 525, 502, 278, 552, 227, 480, 566, 531, 531, - /* 200 */ 531, 531, 531, 531, 531, 531, 531, 531, 639, 531, - /* 210 */ 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, - /* 220 */ 531, 2, 2, 2, 531, 531, 531, 531, 782, 531, - /* 230 */ 531, 531, 744, 531, 531, 783, 531, 531, 531, 531, - /* 240 */ 531, 531, 531, 531, 419, 682, 327, 370, 370, 370, - /* 250 */ 370, 1029, 327, 327, 1024, 897, 856, 947, 1109, 706, - /* 260 */ 706, 1143, 1109, 1109, 1143, 842, 945, 1118, 1136, 1136, - /* 270 */ 1136, 706, 676, 400, 1047, 694, 1339, 1270, 1270, 1366, - /* 280 */ 1366, 1270, 1305, 1389, 1369, 1278, 1401, 1401, 1401, 1401, - /* 290 */ 1270, 1414, 1278, 1278, 1305, 1389, 1369, 1369, 1278, 1270, - /* 300 */ 1414, 1298, 1385, 1270, 1414, 1432, 1270, 1414, 1270, 1414, - /* 310 */ 1432, 1355, 1355, 1355, 1411, 1432, 1355, 1367, 1355, 1411, - /* 320 */ 1355, 1355, 1432, 1392, 1392, 1432, 1365, 1396, 1365, 1396, - /* 330 */ 1365, 1396, 1365, 1396, 1270, 1372, 1429, 1502, 1390, 1372, - /* 340 */ 1517, 1270, 1397, 1390, 1410, 1413, 1278, 1528, 1532, 1549, - /* 350 */ 1549, 1562, 1562, 1562, 2009, 2009, 2009, 2009, 2009, 2009, - /* 360 */ 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, - /* 370 */ 570, 345, 686, 748, 50, 740, 1064, 1107, 469, 537, - /* 380 */ 1042, 1146, 1162, 1154, 1201, 1202, 1203, 1208, 1209, 1127, - /* 390 */ 1069, 1196, 1157, 1147, 1226, 1228, 1245, 775, 868, 1246, - /* 400 */ 1247, 1191, 1151, 1585, 1589, 1587, 1456, 1600, 1527, 1601, - /* 410 */ 1595, 1596, 1492, 1484, 1506, 1603, 1495, 1608, 1496, 1614, - /* 420 */ 1635, 1508, 1497, 1521, 1580, 1606, 1505, 1592, 1593, 1597, - /* 430 */ 1598, 1530, 1547, 1619, 1524, 1654, 1651, 1636, 1553, 1510, - /* 440 */ 1594, 1634, 1599, 1588, 1623, 1535, 1564, 1642, 1649, 1652, - /* 450 */ 1552, 1560, 1653, 1609, 1655, 1656, 1657, 1659, 1612, 1658, - /* 460 */ 1660, 1616, 1648, 1664, 1550, 1668, 1538, 1670, 1671, 1669, - /* 470 */ 1673, 1675, 1676, 1678, 1680, 1679, 1574, 1683, 1690, 1610, - /* 480 */ 1682, 1695, 1586, 1698, 1691, 1698, 1693, 1643, 1661, 1646, - /* 490 */ 1686, 1710, 1711, 1714, 1716, 1703, 1715, 1698, 1727, 1728, - /* 500 */ 1729, 1730, 1731, 1732, 1734, 1743, 1736, 1737, 1740, 1744, - /* 510 */ 1738, 1746, 1739, 1645, 1640, 1644, 1647, 1650, 1749, 1751, - /* 520 */ 1772, + /* 0 */ 1350, 1149, 1531, 939, 939, 548, 996, 1150, 1236, 1322, + /* 10 */ 1322, 1322, 334, 0, 0, 178, 777, 1322, 1322, 1322, + /* 20 */ 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, + /* 30 */ 991, 991, 1125, 1125, 447, 597, 548, 548, 548, 548, + /* 40 */ 548, 548, 40, 108, 217, 284, 323, 390, 429, 496, + /* 50 */ 535, 602, 641, 757, 777, 777, 777, 777, 777, 777, + /* 60 */ 777, 777, 777, 777, 777, 777, 777, 777, 777, 777, + /* 70 */ 777, 777, 796, 777, 887, 900, 900, 1300, 1322, 1322, + /* 80 */ 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, + /* 90 */ 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, + /* 100 */ 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, + /* 110 */ 1418, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, + /* 120 */ 1322, 1322, 1322, 1322, 147, 254, 254, 254, 254, 254, + /* 130 */ 84, 185, 66, 853, 958, 1121, 853, 92, 92, 853, + /* 140 */ 321, 321, 321, 321, 325, 350, 350, 461, 150, 1913, + /* 150 */ 1913, 285, 285, 285, 236, 184, 349, 184, 184, 712, + /* 160 */ 712, 433, 553, 771, 899, 853, 853, 853, 853, 853, + /* 170 */ 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, + /* 180 */ 853, 853, 853, 853, 853, 853, 46, 46, 853, 113, + /* 190 */ 223, 223, 1183, 1183, 1127, 1142, 1913, 1913, 1913, 459, + /* 200 */ 514, 514, 653, 495, 657, 305, 705, 560, 622, 776, + /* 210 */ 853, 853, 853, 853, 853, 853, 853, 853, 853, 545, + /* 220 */ 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, + /* 230 */ 853, 853, 1002, 1002, 1002, 853, 853, 853, 853, 1111, + /* 240 */ 853, 853, 853, 1006, 1109, 853, 853, 1168, 853, 853, + /* 250 */ 853, 853, 853, 853, 853, 853, 845, 1164, 738, 953, + /* 260 */ 953, 953, 953, 1196, 738, 738, 45, 96, 964, 179, + /* 270 */ 580, 907, 907, 1073, 580, 580, 1073, 498, 388, 1268, + /* 280 */ 1187, 1187, 1187, 907, 1170, 1170, 1058, 1180, 328, 1219, + /* 290 */ 1597, 1521, 1521, 1625, 1625, 1521, 1524, 1560, 1650, 1630, + /* 300 */ 1530, 1661, 1661, 1661, 1661, 1521, 1667, 1530, 1530, 1560, + /* 310 */ 1650, 1630, 1630, 1530, 1521, 1667, 1543, 1636, 1521, 1667, + /* 320 */ 1681, 1521, 1667, 1521, 1667, 1681, 1596, 1596, 1596, 1649, + /* 330 */ 1681, 1596, 1594, 1596, 1649, 1596, 1596, 1562, 1681, 1611, + /* 340 */ 1611, 1681, 1585, 1617, 1585, 1617, 1585, 1617, 1585, 1617, + /* 350 */ 1521, 1647, 1647, 1659, 1659, 1601, 1606, 1726, 1521, 1600, + /* 360 */ 1601, 1612, 1614, 1530, 1732, 1733, 1754, 1754, 1764, 1764, + /* 370 */ 1764, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, + /* 380 */ 1913, 1913, 1913, 1913, 1913, 1913, 673, 901, 283, 740, + /* 390 */ 707, 973, 655, 1247, 1048, 1097, 1190, 1306, 1263, 1383, + /* 400 */ 1395, 1432, 1469, 1473, 1497, 1279, 1200, 1323, 1075, 1286, + /* 410 */ 1536, 1608, 1332, 1609, 1175, 1225, 1610, 1615, 1309, 1361, + /* 420 */ 1777, 1784, 1766, 1633, 1778, 1696, 1779, 1771, 1773, 1662, + /* 430 */ 1652, 1673, 1776, 1663, 1782, 1664, 1787, 1804, 1668, 1660, + /* 440 */ 1682, 1748, 1774, 1666, 1757, 1760, 1761, 1763, 1691, 1706, + /* 450 */ 1785, 1683, 1820, 1817, 1801, 1713, 1669, 1758, 1802, 1759, + /* 460 */ 1755, 1788, 1694, 1721, 1809, 1814, 1816, 1709, 1716, 1818, + /* 470 */ 1772, 1819, 1821, 1815, 1822, 1775, 1823, 1824, 1780, 1808, + /* 480 */ 1825, 1704, 1828, 1829, 1830, 1831, 1832, 1833, 1835, 1836, + /* 490 */ 1838, 1837, 1839, 1718, 1841, 1842, 1750, 1834, 1844, 1728, + /* 500 */ 1843, 1840, 1845, 1846, 1847, 1783, 1795, 1786, 1848, 1798, + /* 510 */ 1789, 1849, 1852, 1854, 1853, 1858, 1859, 1855, 1863, 1843, + /* 520 */ 1864, 1865, 1867, 1868, 1869, 1870, 1856, 1883, 1874, 1875, + /* 530 */ 1876, 1877, 1879, 1880, 1872, 1781, 1767, 1768, 1769, 1770, + /* 540 */ 1885, 1888, 1908, }; -#define YY_REDUCE_COUNT (369) -#define YY_REDUCE_MIN (-237) -#define YY_REDUCE_MAX (1424) +#define YY_REDUCE_COUNT (385) +#define YY_REDUCE_MIN (-256) +#define YY_REDUCE_MAX (1590) static const short yy_reduce_ofst[] = { - /* 0 */ -147, 171, 263, -96, 358, -144, -149, -102, 124, -156, - /* 10 */ -98, 305, 401, -57, 209, -237, 245, -94, -79, 189, - /* 20 */ 375, 490, 493, 378, 303, 539, 542, 501, 503, 554, - /* 30 */ 415, 526, 546, 557, 587, 593, 595, -234, -234, -234, - /* 40 */ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, - /* 50 */ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, - /* 60 */ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, - /* 70 */ -234, -50, 335, 470, 633, 656, 658, 660, 675, 685, - /* 80 */ 703, 727, 747, 750, 752, 754, 770, 788, 790, 793, - /* 90 */ 795, 797, 800, 802, 804, 806, 813, 820, 829, 833, - /* 100 */ 836, 838, 843, 845, 847, 849, 873, 891, 893, 916, - /* 110 */ 918, 921, 936, 941, 944, 956, 961, -234, -234, -234, - /* 120 */ -234, -234, -234, -234, -234, -234, 463, 607, -176, 14, - /* 130 */ -139, 87, -137, 818, 925, 818, 925, 898, -234, -234, - /* 140 */ -234, -234, -166, -166, -166, -130, -131, -82, -54, -180, - /* 150 */ 364, 41, 513, 509, 509, 117, 500, 789, 796, 646, - /* 160 */ 192, 291, 644, 798, 120, 807, 543, 911, 920, 652, - /* 170 */ 924, 922, 232, 698, 801, 971, 39, 220, 731, 442, - /* 180 */ 902, -199, 979, -43, 421, 896, 942, 605, -184, -126, - /* 190 */ 155, 172, 281, 304, 377, 538, 650, 690, 699, 723, - /* 200 */ 803, 839, 853, 919, 991, 1018, 1067, 1092, 951, 1111, - /* 210 */ 1112, 1115, 1116, 1117, 1119, 1120, 1121, 1122, 1123, 1124, - /* 220 */ 1125, 1012, 1096, 1097, 1128, 1129, 1130, 1131, 1070, 1135, - /* 230 */ 1137, 1152, 1077, 1153, 1155, 1114, 1156, 304, 1158, 1172, - /* 240 */ 1173, 1174, 1175, 1176, 1089, 1091, 1133, 1098, 1126, 1139, - /* 250 */ 1140, 1070, 1133, 1133, 1170, 1163, 1186, 1103, 1168, 1138, - /* 260 */ 1141, 1110, 1169, 1171, 1132, 1177, 1189, 1194, 1181, 1200, - /* 270 */ 1204, 1166, 1145, 1178, 1187, 1232, 1142, 1231, 1233, 1149, - /* 280 */ 1150, 1238, 1179, 1182, 1212, 1205, 1219, 1220, 1221, 1222, - /* 290 */ 1258, 1266, 1223, 1224, 1206, 1211, 1237, 1239, 1230, 1269, - /* 300 */ 1272, 1195, 1197, 1280, 1284, 1268, 1285, 1289, 1290, 1293, - /* 310 */ 1274, 1286, 1287, 1288, 1282, 1294, 1292, 1297, 1300, 1296, - /* 320 */ 1301, 1306, 1304, 1249, 1250, 1308, 1271, 1275, 1273, 1276, - /* 330 */ 1279, 1281, 1283, 1302, 1334, 1307, 1243, 1267, 1318, 1322, - /* 340 */ 1303, 1371, 1299, 1328, 1332, 1340, 1342, 1384, 1391, 1400, - /* 350 */ 1403, 1407, 1408, 1409, 1311, 1312, 1310, 1405, 1402, 1412, - /* 360 */ 1417, 1420, 1406, 1393, 1395, 1421, 1422, 1423, 1424, 1415, + /* 0 */ 880, -121, 269, 528, 933, -119, -187, -185, -182, -180, + /* 10 */ -176, -174, -62, -46, 131, -248, -133, 407, 568, 700, + /* 20 */ 704, 278, 706, 824, 542, 830, 948, 773, 943, 946, + /* 30 */ 71, 650, 211, 267, 826, 272, 676, 732, 885, 976, + /* 40 */ 984, 992, -256, -256, -256, -256, -256, -256, -256, -256, + /* 50 */ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, + /* 60 */ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, + /* 70 */ -256, -256, -256, -256, -256, -256, -256, 989, 1065, 1070, + /* 80 */ 1072, 1078, 1082, 1084, 1103, 1118, 1147, 1156, 1160, 1167, + /* 90 */ 1185, 1191, 1220, 1237, 1254, 1256, 1266, 1272, 1281, 1291, + /* 100 */ 1293, 1296, 1299, 1301, 1307, 1337, 1340, 1342, 1347, 1366, + /* 110 */ 1368, 1371, 1373, 1377, 1385, 1387, 1398, 1401, 1404, 1406, + /* 120 */ 1411, 1413, 1415, 1430, -256, -256, -256, -256, -256, -256, + /* 130 */ -256, -256, -256, -172, 508, -213, 57, -163, -25, 593, + /* 140 */ 69, 486, 69, 486, -200, 573, 722, -256, -256, -256, + /* 150 */ -256, -141, -141, -141, -105, -161, -167, 157, 212, 405, + /* 160 */ 530, 220, 233, 735, 735, 115, 318, 406, 612, 541, + /* 170 */ -166, 441, 688, 794, 629, 368, 741, 775, 867, 797, + /* 180 */ 871, 842, -186, 1000, 858, 949, 379, 783, 70, 296, + /* 190 */ 821, 903, 924, 1044, 651, 282, 1014, 1060, 937, -195, + /* 200 */ -177, 413, 439, 511, 566, 787, 827, 848, 898, 945, + /* 210 */ 1062, 1074, 1102, 1110, 1202, 1204, 1209, 1211, 1215, 529, + /* 220 */ 1221, 1224, 1240, 1246, 1255, 1257, 1269, 1270, 1273, 1274, + /* 230 */ 1275, 1280, 1205, 1251, 1294, 1310, 1317, 1326, 1327, 1124, + /* 240 */ 1331, 1338, 1339, 1290, 1181, 1346, 1351, 1265, 1352, 787, + /* 250 */ 1353, 1367, 1378, 1386, 1392, 1397, 1241, 1312, 1356, 1345, + /* 260 */ 1357, 1358, 1359, 1124, 1356, 1356, 1364, 1396, 1433, 1341, + /* 270 */ 1381, 1376, 1379, 1354, 1391, 1405, 1362, 1429, 1423, 1431, + /* 280 */ 1434, 1435, 1437, 1399, 1410, 1412, 1382, 1417, 1420, 1466, + /* 290 */ 1372, 1467, 1468, 1380, 1384, 1475, 1394, 1414, 1416, 1448, + /* 300 */ 1440, 1451, 1452, 1453, 1454, 1490, 1493, 1449, 1455, 1427, + /* 310 */ 1436, 1464, 1465, 1456, 1498, 1502, 1419, 1421, 1507, 1509, + /* 320 */ 1491, 1510, 1513, 1514, 1516, 1496, 1500, 1501, 1503, 1499, + /* 330 */ 1505, 1504, 1508, 1506, 1511, 1512, 1515, 1424, 1517, 1457, + /* 340 */ 1460, 1519, 1474, 1482, 1483, 1485, 1486, 1488, 1489, 1492, + /* 350 */ 1541, 1438, 1441, 1494, 1495, 1518, 1520, 1487, 1555, 1481, + /* 360 */ 1522, 1523, 1526, 1528, 1561, 1566, 1580, 1581, 1586, 1587, + /* 370 */ 1588, 1478, 1484, 1525, 1575, 1570, 1572, 1573, 1574, 1582, + /* 380 */ 1568, 1569, 1578, 1579, 1583, 1590, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 1492, 1492, 1492, 1340, 1123, 1229, 1123, 1123, 1123, 1340, - /* 10 */ 1340, 1340, 1123, 1259, 1259, 1391, 1154, 1123, 1123, 1123, - /* 20 */ 1123, 1123, 1123, 1123, 1339, 1123, 1123, 1123, 1123, 1123, - /* 30 */ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1265, 1123, - /* 40 */ 1123, 1123, 1123, 1123, 1341, 1342, 1123, 1123, 1123, 1390, - /* 50 */ 1392, 1275, 1274, 1273, 1272, 1373, 1246, 1270, 1263, 1267, - /* 60 */ 1335, 1336, 1334, 1338, 1342, 1341, 1123, 1266, 1306, 1320, - /* 70 */ 1305, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - /* 80 */ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - /* 90 */ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - /* 100 */ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - /* 110 */ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1314, 1319, 1325, - /* 120 */ 1318, 1315, 1308, 1307, 1309, 1310, 1123, 1144, 1193, 1123, - /* 130 */ 1123, 1123, 1123, 1409, 1408, 1123, 1123, 1154, 1311, 1312, - /* 140 */ 1322, 1321, 1398, 1448, 1447, 1123, 1123, 1123, 1123, 1123, - /* 150 */ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - /* 160 */ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - /* 170 */ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1154, 1150, 1300, - /* 180 */ 1299, 1418, 1150, 1253, 1123, 1404, 1229, 1220, 1123, 1123, - /* 190 */ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - /* 200 */ 1123, 1395, 1393, 1123, 1355, 1123, 1123, 1123, 1123, 1123, - /* 210 */ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - /* 220 */ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - /* 230 */ 1123, 1123, 1225, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - /* 240 */ 1123, 1123, 1123, 1442, 1123, 1368, 1207, 1225, 1225, 1225, - /* 250 */ 1225, 1227, 1208, 1206, 1219, 1154, 1130, 1484, 1269, 1248, - /* 260 */ 1248, 1481, 1269, 1269, 1481, 1168, 1462, 1165, 1259, 1259, - /* 270 */ 1259, 1248, 1337, 1226, 1219, 1123, 1484, 1234, 1234, 1483, - /* 280 */ 1483, 1234, 1278, 1284, 1196, 1269, 1202, 1202, 1202, 1202, - /* 290 */ 1234, 1141, 1269, 1269, 1278, 1284, 1196, 1196, 1269, 1234, - /* 300 */ 1141, 1372, 1478, 1234, 1141, 1348, 1234, 1141, 1234, 1141, - /* 310 */ 1348, 1194, 1194, 1194, 1183, 1348, 1194, 1168, 1194, 1183, - /* 320 */ 1194, 1194, 1348, 1352, 1352, 1348, 1252, 1247, 1252, 1247, - /* 330 */ 1252, 1247, 1252, 1247, 1234, 1253, 1417, 1123, 1264, 1253, - /* 340 */ 1343, 1234, 1123, 1264, 1262, 1260, 1269, 1147, 1186, 1445, - /* 350 */ 1445, 1441, 1441, 1441, 1489, 1489, 1404, 1457, 1154, 1154, - /* 360 */ 1154, 1154, 1457, 1170, 1170, 1154, 1154, 1154, 1154, 1457, - /* 370 */ 1123, 1123, 1123, 1123, 1123, 1123, 1452, 1123, 1357, 1238, - /* 380 */ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - /* 390 */ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - /* 400 */ 1123, 1123, 1289, 1123, 1126, 1401, 1123, 1123, 1399, 1123, - /* 410 */ 1123, 1123, 1123, 1123, 1123, 1239, 1123, 1123, 1123, 1123, - /* 420 */ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - /* 430 */ 1123, 1123, 1123, 1123, 1480, 1123, 1123, 1123, 1123, 1123, - /* 440 */ 1123, 1371, 1370, 1123, 1123, 1236, 1123, 1123, 1123, 1123, - /* 450 */ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - /* 460 */ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - /* 470 */ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - /* 480 */ 1123, 1123, 1123, 1261, 1123, 1416, 1123, 1123, 1123, 1123, - /* 490 */ 1123, 1123, 1123, 1430, 1254, 1123, 1123, 1471, 1123, 1123, - /* 500 */ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - /* 510 */ 1123, 1123, 1466, 1210, 1291, 1123, 1290, 1294, 1123, 1135, - /* 520 */ 1123, + /* 0 */ 1554, 1554, 1554, 1392, 1171, 1278, 1171, 1171, 1171, 1392, + /* 10 */ 1392, 1392, 1171, 1308, 1308, 1445, 1202, 1171, 1171, 1171, + /* 20 */ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1391, 1171, 1171, + /* 30 */ 1171, 1171, 1475, 1475, 1171, 1171, 1171, 1171, 1171, 1171, + /* 40 */ 1171, 1171, 1171, 1317, 1171, 1171, 1171, 1171, 1171, 1393, + /* 50 */ 1394, 1171, 1171, 1171, 1444, 1446, 1409, 1327, 1326, 1325, + /* 60 */ 1324, 1427, 1295, 1322, 1315, 1319, 1387, 1388, 1386, 1390, + /* 70 */ 1394, 1393, 1171, 1318, 1358, 1372, 1357, 1171, 1171, 1171, + /* 80 */ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + /* 90 */ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + /* 100 */ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + /* 110 */ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + /* 120 */ 1171, 1171, 1171, 1171, 1366, 1371, 1377, 1370, 1367, 1360, + /* 130 */ 1359, 1361, 1362, 1171, 1192, 1242, 1171, 1171, 1171, 1171, + /* 140 */ 1463, 1462, 1171, 1171, 1202, 1352, 1351, 1363, 1364, 1374, + /* 150 */ 1373, 1452, 1510, 1509, 1410, 1171, 1171, 1171, 1171, 1171, + /* 160 */ 1171, 1475, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + /* 170 */ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + /* 180 */ 1171, 1171, 1171, 1171, 1171, 1171, 1475, 1475, 1171, 1202, + /* 190 */ 1475, 1475, 1198, 1198, 1302, 1171, 1458, 1278, 1269, 1171, + /* 200 */ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + /* 210 */ 1171, 1171, 1171, 1449, 1447, 1171, 1171, 1171, 1171, 1171, + /* 220 */ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + /* 230 */ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + /* 240 */ 1171, 1171, 1171, 1274, 1171, 1171, 1171, 1171, 1171, 1171, + /* 250 */ 1171, 1171, 1171, 1171, 1171, 1504, 1171, 1422, 1256, 1274, + /* 260 */ 1274, 1274, 1274, 1276, 1257, 1255, 1268, 1203, 1178, 1546, + /* 270 */ 1321, 1297, 1297, 1543, 1321, 1321, 1543, 1217, 1524, 1214, + /* 280 */ 1308, 1308, 1308, 1297, 1302, 1302, 1389, 1275, 1268, 1171, + /* 290 */ 1546, 1283, 1283, 1545, 1545, 1283, 1410, 1330, 1336, 1245, + /* 300 */ 1321, 1251, 1251, 1251, 1251, 1283, 1189, 1321, 1321, 1330, + /* 310 */ 1336, 1245, 1245, 1321, 1283, 1189, 1426, 1540, 1283, 1189, + /* 320 */ 1400, 1283, 1189, 1283, 1189, 1400, 1243, 1243, 1243, 1232, + /* 330 */ 1400, 1243, 1217, 1243, 1232, 1243, 1243, 1493, 1400, 1404, + /* 340 */ 1404, 1400, 1301, 1296, 1301, 1296, 1301, 1296, 1301, 1296, + /* 350 */ 1283, 1485, 1485, 1311, 1311, 1316, 1302, 1395, 1283, 1171, + /* 360 */ 1316, 1314, 1312, 1321, 1195, 1235, 1507, 1507, 1503, 1503, + /* 370 */ 1503, 1551, 1551, 1458, 1519, 1202, 1202, 1202, 1202, 1519, + /* 380 */ 1219, 1219, 1203, 1203, 1202, 1519, 1171, 1171, 1171, 1171, + /* 390 */ 1171, 1171, 1514, 1171, 1411, 1287, 1171, 1171, 1171, 1171, + /* 400 */ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + /* 410 */ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1341, + /* 420 */ 1171, 1174, 1455, 1171, 1171, 1453, 1171, 1171, 1171, 1171, + /* 430 */ 1171, 1171, 1288, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + /* 440 */ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + /* 450 */ 1171, 1542, 1171, 1171, 1171, 1171, 1171, 1171, 1425, 1424, + /* 460 */ 1171, 1171, 1285, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + /* 470 */ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + /* 480 */ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + /* 490 */ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + /* 500 */ 1313, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + /* 510 */ 1171, 1171, 1171, 1171, 1171, 1490, 1303, 1171, 1171, 1533, + /* 520 */ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + /* 530 */ 1171, 1171, 1171, 1171, 1528, 1259, 1343, 1171, 1342, 1346, + /* 540 */ 1171, 1183, 1171, }; /********** End of lemon-generated parsing tables *****************************/ @@ -147825,15 +150692,103 @@ static const YYCODETYPE yyFallback[] = { 59, /* VIEW => ID */ 59, /* VIRTUAL => ID */ 59, /* WITH => ID */ + 59, /* NULLS => ID */ + 59, /* FIRST => ID */ + 59, /* LAST => ID */ 59, /* CURRENT => ID */ 59, /* FOLLOWING => ID */ 59, /* PARTITION => ID */ 59, /* PRECEDING => ID */ 59, /* RANGE => ID */ 59, /* UNBOUNDED => ID */ + 59, /* EXCLUDE => ID */ + 59, /* GROUPS => ID */ + 59, /* OTHERS => ID */ + 59, /* TIES => ID */ 59, /* REINDEX => ID */ 59, /* RENAME => ID */ 59, /* CTIME_KW => ID */ + 0, /* ANY => nothing */ + 0, /* BITAND => nothing */ + 0, /* BITOR => nothing */ + 0, /* LSHIFT => nothing */ + 0, /* RSHIFT => nothing */ + 0, /* PLUS => nothing */ + 0, /* MINUS => nothing */ + 0, /* STAR => nothing */ + 0, /* SLASH => nothing */ + 0, /* REM => nothing */ + 0, /* CONCAT => nothing */ + 0, /* COLLATE => nothing */ + 0, /* BITNOT => nothing */ + 0, /* ON => nothing */ + 0, /* INDEXED => nothing */ + 0, /* STRING => nothing */ + 0, /* JOIN_KW => nothing */ + 0, /* CONSTRAINT => nothing */ + 0, /* DEFAULT => nothing */ + 0, /* NULL => nothing */ + 0, /* PRIMARY => nothing */ + 0, /* UNIQUE => nothing */ + 0, /* CHECK => nothing */ + 0, /* REFERENCES => nothing */ + 0, /* AUTOINCR => nothing */ + 0, /* INSERT => nothing */ + 0, /* DELETE => nothing */ + 0, /* UPDATE => nothing */ + 0, /* SET => nothing */ + 0, /* DEFERRABLE => nothing */ + 0, /* FOREIGN => nothing */ + 0, /* DROP => nothing */ + 0, /* UNION => nothing */ + 0, /* ALL => nothing */ + 0, /* EXCEPT => nothing */ + 0, /* INTERSECT => nothing */ + 0, /* SELECT => nothing */ + 0, /* VALUES => nothing */ + 0, /* DISTINCT => nothing */ + 0, /* DOT => nothing */ + 0, /* FROM => nothing */ + 0, /* JOIN => nothing */ + 0, /* USING => nothing */ + 0, /* ORDER => nothing */ + 0, /* GROUP => nothing */ + 0, /* HAVING => nothing */ + 0, /* LIMIT => nothing */ + 0, /* WHERE => nothing */ + 0, /* INTO => nothing */ + 0, /* NOTHING => nothing */ + 0, /* FLOAT => nothing */ + 0, /* BLOB => nothing */ + 0, /* INTEGER => nothing */ + 0, /* VARIABLE => nothing */ + 0, /* CASE => nothing */ + 0, /* WHEN => nothing */ + 0, /* THEN => nothing */ + 0, /* ELSE => nothing */ + 0, /* INDEX => nothing */ + 0, /* ALTER => nothing */ + 0, /* ADD => nothing */ + 0, /* WINDOW => nothing */ + 0, /* OVER => nothing */ + 0, /* FILTER => nothing */ + 0, /* COLUMN => nothing */ + 0, /* AGG_FUNCTION => nothing */ + 0, /* AGG_COLUMN => nothing */ + 0, /* TRUEFALSE => nothing */ + 0, /* ISNOT => nothing */ + 0, /* FUNCTION => nothing */ + 0, /* UMINUS => nothing */ + 0, /* UPLUS => nothing */ + 0, /* TRUTH => nothing */ + 0, /* REGISTER => nothing */ + 0, /* VECTOR => nothing */ + 0, /* SELECT_COLUMN => nothing */ + 0, /* IF_NULL_ROW => nothing */ + 0, /* ASTERISK => nothing */ + 0, /* SPAN => nothing */ + 0, /* SPACE => nothing */ + 0, /* ILLEGAL => nothing */ }; #endif /* YYFALLBACK */ @@ -148003,201 +150958,231 @@ static const char *const yyTokenName[] = { /* 79 */ "VIEW", /* 80 */ "VIRTUAL", /* 81 */ "WITH", - /* 82 */ "CURRENT", - /* 83 */ "FOLLOWING", - /* 84 */ "PARTITION", - /* 85 */ "PRECEDING", - /* 86 */ "RANGE", - /* 87 */ "UNBOUNDED", - /* 88 */ "REINDEX", - /* 89 */ "RENAME", - /* 90 */ "CTIME_KW", - /* 91 */ "ANY", - /* 92 */ "BITAND", - /* 93 */ "BITOR", - /* 94 */ "LSHIFT", - /* 95 */ "RSHIFT", - /* 96 */ "PLUS", - /* 97 */ "MINUS", - /* 98 */ "STAR", - /* 99 */ "SLASH", - /* 100 */ "REM", - /* 101 */ "CONCAT", - /* 102 */ "COLLATE", - /* 103 */ "BITNOT", - /* 104 */ "ON", - /* 105 */ "INDEXED", - /* 106 */ "STRING", - /* 107 */ "JOIN_KW", - /* 108 */ "CONSTRAINT", - /* 109 */ "DEFAULT", - /* 110 */ "NULL", - /* 111 */ "PRIMARY", - /* 112 */ "UNIQUE", - /* 113 */ "CHECK", - /* 114 */ "REFERENCES", - /* 115 */ "AUTOINCR", - /* 116 */ "INSERT", - /* 117 */ "DELETE", - /* 118 */ "UPDATE", - /* 119 */ "SET", - /* 120 */ "DEFERRABLE", - /* 121 */ "FOREIGN", - /* 122 */ "DROP", - /* 123 */ "UNION", - /* 124 */ "ALL", - /* 125 */ "EXCEPT", - /* 126 */ "INTERSECT", - /* 127 */ "SELECT", - /* 128 */ "VALUES", - /* 129 */ "DISTINCT", - /* 130 */ "DOT", - /* 131 */ "FROM", - /* 132 */ "JOIN", - /* 133 */ "USING", - /* 134 */ "ORDER", - /* 135 */ "GROUP", - /* 136 */ "HAVING", - /* 137 */ "LIMIT", - /* 138 */ "WHERE", - /* 139 */ "INTO", - /* 140 */ "NOTHING", - /* 141 */ "FLOAT", - /* 142 */ "BLOB", - /* 143 */ "INTEGER", - /* 144 */ "VARIABLE", - /* 145 */ "CASE", - /* 146 */ "WHEN", - /* 147 */ "THEN", - /* 148 */ "ELSE", - /* 149 */ "INDEX", - /* 150 */ "ALTER", - /* 151 */ "ADD", - /* 152 */ "WINDOW", - /* 153 */ "OVER", - /* 154 */ "FILTER", - /* 155 */ "input", - /* 156 */ "cmdlist", - /* 157 */ "ecmd", - /* 158 */ "cmdx", - /* 159 */ "explain", - /* 160 */ "cmd", - /* 161 */ "transtype", - /* 162 */ "trans_opt", - /* 163 */ "nm", - /* 164 */ "savepoint_opt", - /* 165 */ "create_table", - /* 166 */ "create_table_args", - /* 167 */ "createkw", - /* 168 */ "temp", - /* 169 */ "ifnotexists", - /* 170 */ "dbnm", - /* 171 */ "columnlist", - /* 172 */ "conslist_opt", - /* 173 */ "table_options", - /* 174 */ "select", - /* 175 */ "columnname", - /* 176 */ "carglist", - /* 177 */ "typetoken", - /* 178 */ "typename", - /* 179 */ "signed", - /* 180 */ "plus_num", - /* 181 */ "minus_num", - /* 182 */ "scanpt", - /* 183 */ "ccons", - /* 184 */ "term", - /* 185 */ "expr", - /* 186 */ "onconf", - /* 187 */ "sortorder", - /* 188 */ "autoinc", - /* 189 */ "eidlist_opt", - /* 190 */ "refargs", - /* 191 */ "defer_subclause", - /* 192 */ "refarg", - /* 193 */ "refact", - /* 194 */ "init_deferred_pred_opt", - /* 195 */ "conslist", - /* 196 */ "tconscomma", - /* 197 */ "tcons", - /* 198 */ "sortlist", - /* 199 */ "eidlist", - /* 200 */ "defer_subclause_opt", - /* 201 */ "orconf", - /* 202 */ "resolvetype", - /* 203 */ "raisetype", - /* 204 */ "ifexists", - /* 205 */ "fullname", - /* 206 */ "selectnowith", - /* 207 */ "oneselect", - /* 208 */ "wqlist", - /* 209 */ "multiselect_op", - /* 210 */ "distinct", - /* 211 */ "selcollist", - /* 212 */ "from", - /* 213 */ "where_opt", - /* 214 */ "groupby_opt", - /* 215 */ "having_opt", - /* 216 */ "orderby_opt", - /* 217 */ "limit_opt", - /* 218 */ "window_clause", - /* 219 */ "values", - /* 220 */ "nexprlist", - /* 221 */ "sclp", - /* 222 */ "as", - /* 223 */ "seltablist", - /* 224 */ "stl_prefix", - /* 225 */ "joinop", - /* 226 */ "indexed_opt", - /* 227 */ "on_opt", - /* 228 */ "using_opt", - /* 229 */ "exprlist", - /* 230 */ "xfullname", - /* 231 */ "idlist", - /* 232 */ "with", - /* 233 */ "setlist", - /* 234 */ "insert_cmd", - /* 235 */ "idlist_opt", - /* 236 */ "upsert", - /* 237 */ "over_clause", - /* 238 */ "likeop", - /* 239 */ "between_op", - /* 240 */ "in_op", - /* 241 */ "paren_exprlist", - /* 242 */ "case_operand", - /* 243 */ "case_exprlist", - /* 244 */ "case_else", - /* 245 */ "uniqueflag", - /* 246 */ "collate", - /* 247 */ "nmnum", - /* 248 */ "trigger_decl", - /* 249 */ "trigger_cmd_list", - /* 250 */ "trigger_time", - /* 251 */ "trigger_event", - /* 252 */ "foreach_clause", - /* 253 */ "when_clause", - /* 254 */ "trigger_cmd", - /* 255 */ "trnm", - /* 256 */ "tridxby", - /* 257 */ "database_kw_opt", - /* 258 */ "key_opt", - /* 259 */ "add_column_fullname", - /* 260 */ "kwcolumn_opt", - /* 261 */ "create_vtab", - /* 262 */ "vtabarglist", - /* 263 */ "vtabarg", - /* 264 */ "vtabargtoken", - /* 265 */ "lp", - /* 266 */ "anylist", - /* 267 */ "windowdefn_list", - /* 268 */ "windowdefn", - /* 269 */ "window", - /* 270 */ "frame_opt", - /* 271 */ "part_opt", - /* 272 */ "filter_opt", - /* 273 */ "range_or_rows", - /* 274 */ "frame_bound", - /* 275 */ "frame_bound_s", - /* 276 */ "frame_bound_e", + /* 82 */ "NULLS", + /* 83 */ "FIRST", + /* 84 */ "LAST", + /* 85 */ "CURRENT", + /* 86 */ "FOLLOWING", + /* 87 */ "PARTITION", + /* 88 */ "PRECEDING", + /* 89 */ "RANGE", + /* 90 */ "UNBOUNDED", + /* 91 */ "EXCLUDE", + /* 92 */ "GROUPS", + /* 93 */ "OTHERS", + /* 94 */ "TIES", + /* 95 */ "REINDEX", + /* 96 */ "RENAME", + /* 97 */ "CTIME_KW", + /* 98 */ "ANY", + /* 99 */ "BITAND", + /* 100 */ "BITOR", + /* 101 */ "LSHIFT", + /* 102 */ "RSHIFT", + /* 103 */ "PLUS", + /* 104 */ "MINUS", + /* 105 */ "STAR", + /* 106 */ "SLASH", + /* 107 */ "REM", + /* 108 */ "CONCAT", + /* 109 */ "COLLATE", + /* 110 */ "BITNOT", + /* 111 */ "ON", + /* 112 */ "INDEXED", + /* 113 */ "STRING", + /* 114 */ "JOIN_KW", + /* 115 */ "CONSTRAINT", + /* 116 */ "DEFAULT", + /* 117 */ "NULL", + /* 118 */ "PRIMARY", + /* 119 */ "UNIQUE", + /* 120 */ "CHECK", + /* 121 */ "REFERENCES", + /* 122 */ "AUTOINCR", + /* 123 */ "INSERT", + /* 124 */ "DELETE", + /* 125 */ "UPDATE", + /* 126 */ "SET", + /* 127 */ "DEFERRABLE", + /* 128 */ "FOREIGN", + /* 129 */ "DROP", + /* 130 */ "UNION", + /* 131 */ "ALL", + /* 132 */ "EXCEPT", + /* 133 */ "INTERSECT", + /* 134 */ "SELECT", + /* 135 */ "VALUES", + /* 136 */ "DISTINCT", + /* 137 */ "DOT", + /* 138 */ "FROM", + /* 139 */ "JOIN", + /* 140 */ "USING", + /* 141 */ "ORDER", + /* 142 */ "GROUP", + /* 143 */ "HAVING", + /* 144 */ "LIMIT", + /* 145 */ "WHERE", + /* 146 */ "INTO", + /* 147 */ "NOTHING", + /* 148 */ "FLOAT", + /* 149 */ "BLOB", + /* 150 */ "INTEGER", + /* 151 */ "VARIABLE", + /* 152 */ "CASE", + /* 153 */ "WHEN", + /* 154 */ "THEN", + /* 155 */ "ELSE", + /* 156 */ "INDEX", + /* 157 */ "ALTER", + /* 158 */ "ADD", + /* 159 */ "WINDOW", + /* 160 */ "OVER", + /* 161 */ "FILTER", + /* 162 */ "COLUMN", + /* 163 */ "AGG_FUNCTION", + /* 164 */ "AGG_COLUMN", + /* 165 */ "TRUEFALSE", + /* 166 */ "ISNOT", + /* 167 */ "FUNCTION", + /* 168 */ "UMINUS", + /* 169 */ "UPLUS", + /* 170 */ "TRUTH", + /* 171 */ "REGISTER", + /* 172 */ "VECTOR", + /* 173 */ "SELECT_COLUMN", + /* 174 */ "IF_NULL_ROW", + /* 175 */ "ASTERISK", + /* 176 */ "SPAN", + /* 177 */ "SPACE", + /* 178 */ "ILLEGAL", + /* 179 */ "input", + /* 180 */ "cmdlist", + /* 181 */ "ecmd", + /* 182 */ "cmdx", + /* 183 */ "explain", + /* 184 */ "cmd", + /* 185 */ "transtype", + /* 186 */ "trans_opt", + /* 187 */ "nm", + /* 188 */ "savepoint_opt", + /* 189 */ "create_table", + /* 190 */ "create_table_args", + /* 191 */ "createkw", + /* 192 */ "temp", + /* 193 */ "ifnotexists", + /* 194 */ "dbnm", + /* 195 */ "columnlist", + /* 196 */ "conslist_opt", + /* 197 */ "table_options", + /* 198 */ "select", + /* 199 */ "columnname", + /* 200 */ "carglist", + /* 201 */ "typetoken", + /* 202 */ "typename", + /* 203 */ "signed", + /* 204 */ "plus_num", + /* 205 */ "minus_num", + /* 206 */ "scanpt", + /* 207 */ "scantok", + /* 208 */ "ccons", + /* 209 */ "term", + /* 210 */ "expr", + /* 211 */ "onconf", + /* 212 */ "sortorder", + /* 213 */ "autoinc", + /* 214 */ "eidlist_opt", + /* 215 */ "refargs", + /* 216 */ "defer_subclause", + /* 217 */ "refarg", + /* 218 */ "refact", + /* 219 */ "init_deferred_pred_opt", + /* 220 */ "conslist", + /* 221 */ "tconscomma", + /* 222 */ "tcons", + /* 223 */ "sortlist", + /* 224 */ "eidlist", + /* 225 */ "defer_subclause_opt", + /* 226 */ "orconf", + /* 227 */ "resolvetype", + /* 228 */ "raisetype", + /* 229 */ "ifexists", + /* 230 */ "fullname", + /* 231 */ "selectnowith", + /* 232 */ "oneselect", + /* 233 */ "wqlist", + /* 234 */ "multiselect_op", + /* 235 */ "distinct", + /* 236 */ "selcollist", + /* 237 */ "from", + /* 238 */ "where_opt", + /* 239 */ "groupby_opt", + /* 240 */ "having_opt", + /* 241 */ "orderby_opt", + /* 242 */ "limit_opt", + /* 243 */ "window_clause", + /* 244 */ "values", + /* 245 */ "nexprlist", + /* 246 */ "sclp", + /* 247 */ "as", + /* 248 */ "seltablist", + /* 249 */ "stl_prefix", + /* 250 */ "joinop", + /* 251 */ "indexed_opt", + /* 252 */ "on_opt", + /* 253 */ "using_opt", + /* 254 */ "exprlist", + /* 255 */ "xfullname", + /* 256 */ "idlist", + /* 257 */ "nulls", + /* 258 */ "with", + /* 259 */ "setlist", + /* 260 */ "insert_cmd", + /* 261 */ "idlist_opt", + /* 262 */ "upsert", + /* 263 */ "filter_over", + /* 264 */ "likeop", + /* 265 */ "between_op", + /* 266 */ "in_op", + /* 267 */ "paren_exprlist", + /* 268 */ "case_operand", + /* 269 */ "case_exprlist", + /* 270 */ "case_else", + /* 271 */ "uniqueflag", + /* 272 */ "collate", + /* 273 */ "vinto", + /* 274 */ "nmnum", + /* 275 */ "trigger_decl", + /* 276 */ "trigger_cmd_list", + /* 277 */ "trigger_time", + /* 278 */ "trigger_event", + /* 279 */ "foreach_clause", + /* 280 */ "when_clause", + /* 281 */ "trigger_cmd", + /* 282 */ "trnm", + /* 283 */ "tridxby", + /* 284 */ "database_kw_opt", + /* 285 */ "key_opt", + /* 286 */ "add_column_fullname", + /* 287 */ "kwcolumn_opt", + /* 288 */ "create_vtab", + /* 289 */ "vtabarglist", + /* 290 */ "vtabarg", + /* 291 */ "vtabargtoken", + /* 292 */ "lp", + /* 293 */ "anylist", + /* 294 */ "windowdefn_list", + /* 295 */ "windowdefn", + /* 296 */ "window", + /* 297 */ "frame_opt", + /* 298 */ "part_opt", + /* 299 */ "filter_clause", + /* 300 */ "over_clause", + /* 301 */ "range_or_rows", + /* 302 */ "frame_bound", + /* 303 */ "frame_bound_s", + /* 304 */ "frame_bound_e", + /* 305 */ "frame_exclude_opt", + /* 306 */ "frame_exclude", }; #endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */ @@ -148234,344 +151219,358 @@ static const char *const yyRuleName[] = { /* 26 */ "typetoken ::= typename LP signed COMMA signed RP", /* 27 */ "typename ::= typename ID|STRING", /* 28 */ "scanpt ::=", - /* 29 */ "ccons ::= CONSTRAINT nm", - /* 30 */ "ccons ::= DEFAULT scanpt term scanpt", - /* 31 */ "ccons ::= DEFAULT LP expr RP", - /* 32 */ "ccons ::= DEFAULT PLUS term scanpt", - /* 33 */ "ccons ::= DEFAULT MINUS term scanpt", - /* 34 */ "ccons ::= DEFAULT scanpt ID|INDEXED", - /* 35 */ "ccons ::= NOT NULL onconf", - /* 36 */ "ccons ::= PRIMARY KEY sortorder onconf autoinc", - /* 37 */ "ccons ::= UNIQUE onconf", - /* 38 */ "ccons ::= CHECK LP expr RP", - /* 39 */ "ccons ::= REFERENCES nm eidlist_opt refargs", - /* 40 */ "ccons ::= defer_subclause", - /* 41 */ "ccons ::= COLLATE ID|STRING", - /* 42 */ "autoinc ::=", - /* 43 */ "autoinc ::= AUTOINCR", - /* 44 */ "refargs ::=", - /* 45 */ "refargs ::= refargs refarg", - /* 46 */ "refarg ::= MATCH nm", - /* 47 */ "refarg ::= ON INSERT refact", - /* 48 */ "refarg ::= ON DELETE refact", - /* 49 */ "refarg ::= ON UPDATE refact", - /* 50 */ "refact ::= SET NULL", - /* 51 */ "refact ::= SET DEFAULT", - /* 52 */ "refact ::= CASCADE", - /* 53 */ "refact ::= RESTRICT", - /* 54 */ "refact ::= NO ACTION", - /* 55 */ "defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt", - /* 56 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", - /* 57 */ "init_deferred_pred_opt ::=", - /* 58 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", - /* 59 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", - /* 60 */ "conslist_opt ::=", - /* 61 */ "tconscomma ::= COMMA", - /* 62 */ "tcons ::= CONSTRAINT nm", - /* 63 */ "tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf", - /* 64 */ "tcons ::= UNIQUE LP sortlist RP onconf", - /* 65 */ "tcons ::= CHECK LP expr RP onconf", - /* 66 */ "tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt", - /* 67 */ "defer_subclause_opt ::=", - /* 68 */ "onconf ::=", - /* 69 */ "onconf ::= ON CONFLICT resolvetype", - /* 70 */ "orconf ::=", - /* 71 */ "orconf ::= OR resolvetype", - /* 72 */ "resolvetype ::= IGNORE", - /* 73 */ "resolvetype ::= REPLACE", - /* 74 */ "cmd ::= DROP TABLE ifexists fullname", - /* 75 */ "ifexists ::= IF EXISTS", - /* 76 */ "ifexists ::=", - /* 77 */ "cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select", - /* 78 */ "cmd ::= DROP VIEW ifexists fullname", - /* 79 */ "cmd ::= select", - /* 80 */ "select ::= WITH wqlist selectnowith", - /* 81 */ "select ::= WITH RECURSIVE wqlist selectnowith", - /* 82 */ "select ::= selectnowith", - /* 83 */ "selectnowith ::= selectnowith multiselect_op oneselect", - /* 84 */ "multiselect_op ::= UNION", - /* 85 */ "multiselect_op ::= UNION ALL", - /* 86 */ "multiselect_op ::= EXCEPT|INTERSECT", - /* 87 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt", - /* 88 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt", - /* 89 */ "values ::= VALUES LP nexprlist RP", - /* 90 */ "values ::= values COMMA LP nexprlist RP", - /* 91 */ "distinct ::= DISTINCT", - /* 92 */ "distinct ::= ALL", - /* 93 */ "distinct ::=", - /* 94 */ "sclp ::=", - /* 95 */ "selcollist ::= sclp scanpt expr scanpt as", - /* 96 */ "selcollist ::= sclp scanpt STAR", - /* 97 */ "selcollist ::= sclp scanpt nm DOT STAR", - /* 98 */ "as ::= AS nm", - /* 99 */ "as ::=", - /* 100 */ "from ::=", - /* 101 */ "from ::= FROM seltablist", - /* 102 */ "stl_prefix ::= seltablist joinop", - /* 103 */ "stl_prefix ::=", - /* 104 */ "seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt", - /* 105 */ "seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt", - /* 106 */ "seltablist ::= stl_prefix LP select RP as on_opt using_opt", - /* 107 */ "seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt", - /* 108 */ "dbnm ::=", - /* 109 */ "dbnm ::= DOT nm", - /* 110 */ "fullname ::= nm", - /* 111 */ "fullname ::= nm DOT nm", - /* 112 */ "xfullname ::= nm", - /* 113 */ "xfullname ::= nm DOT nm", - /* 114 */ "xfullname ::= nm DOT nm AS nm", - /* 115 */ "xfullname ::= nm AS nm", - /* 116 */ "joinop ::= COMMA|JOIN", - /* 117 */ "joinop ::= JOIN_KW JOIN", - /* 118 */ "joinop ::= JOIN_KW nm JOIN", - /* 119 */ "joinop ::= JOIN_KW nm nm JOIN", - /* 120 */ "on_opt ::= ON expr", - /* 121 */ "on_opt ::=", - /* 122 */ "indexed_opt ::=", - /* 123 */ "indexed_opt ::= INDEXED BY nm", - /* 124 */ "indexed_opt ::= NOT INDEXED", - /* 125 */ "using_opt ::= USING LP idlist RP", - /* 126 */ "using_opt ::=", - /* 127 */ "orderby_opt ::=", - /* 128 */ "orderby_opt ::= ORDER BY sortlist", - /* 129 */ "sortlist ::= sortlist COMMA expr sortorder", - /* 130 */ "sortlist ::= expr sortorder", - /* 131 */ "sortorder ::= ASC", - /* 132 */ "sortorder ::= DESC", - /* 133 */ "sortorder ::=", - /* 134 */ "groupby_opt ::=", - /* 135 */ "groupby_opt ::= GROUP BY nexprlist", - /* 136 */ "having_opt ::=", - /* 137 */ "having_opt ::= HAVING expr", - /* 138 */ "limit_opt ::=", - /* 139 */ "limit_opt ::= LIMIT expr", - /* 140 */ "limit_opt ::= LIMIT expr OFFSET expr", - /* 141 */ "limit_opt ::= LIMIT expr COMMA expr", - /* 142 */ "cmd ::= with DELETE FROM xfullname indexed_opt where_opt", - /* 143 */ "where_opt ::=", - /* 144 */ "where_opt ::= WHERE expr", - /* 145 */ "cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist where_opt", - /* 146 */ "setlist ::= setlist COMMA nm EQ expr", - /* 147 */ "setlist ::= setlist COMMA LP idlist RP EQ expr", - /* 148 */ "setlist ::= nm EQ expr", - /* 149 */ "setlist ::= LP idlist RP EQ expr", - /* 150 */ "cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert", - /* 151 */ "cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES", - /* 152 */ "upsert ::=", - /* 153 */ "upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt", - /* 154 */ "upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING", - /* 155 */ "upsert ::= ON CONFLICT DO NOTHING", - /* 156 */ "insert_cmd ::= INSERT orconf", - /* 157 */ "insert_cmd ::= REPLACE", - /* 158 */ "idlist_opt ::=", - /* 159 */ "idlist_opt ::= LP idlist RP", - /* 160 */ "idlist ::= idlist COMMA nm", - /* 161 */ "idlist ::= nm", - /* 162 */ "expr ::= LP expr RP", - /* 163 */ "expr ::= ID|INDEXED", - /* 164 */ "expr ::= JOIN_KW", - /* 165 */ "expr ::= nm DOT nm", - /* 166 */ "expr ::= nm DOT nm DOT nm", - /* 167 */ "term ::= NULL|FLOAT|BLOB", - /* 168 */ "term ::= STRING", - /* 169 */ "term ::= INTEGER", - /* 170 */ "expr ::= VARIABLE", - /* 171 */ "expr ::= expr COLLATE ID|STRING", - /* 172 */ "expr ::= CAST LP expr AS typetoken RP", - /* 173 */ "expr ::= ID|INDEXED LP distinct exprlist RP", - /* 174 */ "expr ::= ID|INDEXED LP STAR RP", - /* 175 */ "expr ::= ID|INDEXED LP distinct exprlist RP over_clause", - /* 176 */ "expr ::= ID|INDEXED LP STAR RP over_clause", - /* 177 */ "term ::= CTIME_KW", - /* 178 */ "expr ::= LP nexprlist COMMA expr RP", - /* 179 */ "expr ::= expr AND expr", - /* 180 */ "expr ::= expr OR expr", - /* 181 */ "expr ::= expr LT|GT|GE|LE expr", - /* 182 */ "expr ::= expr EQ|NE expr", - /* 183 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", - /* 184 */ "expr ::= expr PLUS|MINUS expr", - /* 185 */ "expr ::= expr STAR|SLASH|REM expr", - /* 186 */ "expr ::= expr CONCAT expr", - /* 187 */ "likeop ::= NOT LIKE_KW|MATCH", - /* 188 */ "expr ::= expr likeop expr", - /* 189 */ "expr ::= expr likeop expr ESCAPE expr", - /* 190 */ "expr ::= expr ISNULL|NOTNULL", - /* 191 */ "expr ::= expr NOT NULL", - /* 192 */ "expr ::= expr IS expr", - /* 193 */ "expr ::= expr IS NOT expr", - /* 194 */ "expr ::= NOT expr", - /* 195 */ "expr ::= BITNOT expr", - /* 196 */ "expr ::= PLUS|MINUS expr", - /* 197 */ "between_op ::= BETWEEN", - /* 198 */ "between_op ::= NOT BETWEEN", - /* 199 */ "expr ::= expr between_op expr AND expr", - /* 200 */ "in_op ::= IN", - /* 201 */ "in_op ::= NOT IN", - /* 202 */ "expr ::= expr in_op LP exprlist RP", - /* 203 */ "expr ::= LP select RP", - /* 204 */ "expr ::= expr in_op LP select RP", - /* 205 */ "expr ::= expr in_op nm dbnm paren_exprlist", - /* 206 */ "expr ::= EXISTS LP select RP", - /* 207 */ "expr ::= CASE case_operand case_exprlist case_else END", - /* 208 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", - /* 209 */ "case_exprlist ::= WHEN expr THEN expr", - /* 210 */ "case_else ::= ELSE expr", - /* 211 */ "case_else ::=", - /* 212 */ "case_operand ::= expr", - /* 213 */ "case_operand ::=", - /* 214 */ "exprlist ::=", - /* 215 */ "nexprlist ::= nexprlist COMMA expr", - /* 216 */ "nexprlist ::= expr", - /* 217 */ "paren_exprlist ::=", - /* 218 */ "paren_exprlist ::= LP exprlist RP", - /* 219 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt", - /* 220 */ "uniqueflag ::= UNIQUE", - /* 221 */ "uniqueflag ::=", - /* 222 */ "eidlist_opt ::=", - /* 223 */ "eidlist_opt ::= LP eidlist RP", - /* 224 */ "eidlist ::= eidlist COMMA nm collate sortorder", - /* 225 */ "eidlist ::= nm collate sortorder", - /* 226 */ "collate ::=", - /* 227 */ "collate ::= COLLATE ID|STRING", - /* 228 */ "cmd ::= DROP INDEX ifexists fullname", - /* 229 */ "cmd ::= VACUUM", - /* 230 */ "cmd ::= VACUUM nm", - /* 231 */ "cmd ::= PRAGMA nm dbnm", - /* 232 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", - /* 233 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", - /* 234 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", - /* 235 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", - /* 236 */ "plus_num ::= PLUS INTEGER|FLOAT", - /* 237 */ "minus_num ::= MINUS INTEGER|FLOAT", - /* 238 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", - /* 239 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", - /* 240 */ "trigger_time ::= BEFORE|AFTER", - /* 241 */ "trigger_time ::= INSTEAD OF", - /* 242 */ "trigger_time ::=", - /* 243 */ "trigger_event ::= DELETE|INSERT", - /* 244 */ "trigger_event ::= UPDATE", - /* 245 */ "trigger_event ::= UPDATE OF idlist", - /* 246 */ "when_clause ::=", - /* 247 */ "when_clause ::= WHEN expr", - /* 248 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", - /* 249 */ "trigger_cmd_list ::= trigger_cmd SEMI", - /* 250 */ "trnm ::= nm DOT nm", - /* 251 */ "tridxby ::= INDEXED BY nm", - /* 252 */ "tridxby ::= NOT INDEXED", - /* 253 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt", - /* 254 */ "trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt", - /* 255 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt", - /* 256 */ "trigger_cmd ::= scanpt select scanpt", - /* 257 */ "expr ::= RAISE LP IGNORE RP", - /* 258 */ "expr ::= RAISE LP raisetype COMMA nm RP", - /* 259 */ "raisetype ::= ROLLBACK", - /* 260 */ "raisetype ::= ABORT", - /* 261 */ "raisetype ::= FAIL", - /* 262 */ "cmd ::= DROP TRIGGER ifexists fullname", - /* 263 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", - /* 264 */ "cmd ::= DETACH database_kw_opt expr", - /* 265 */ "key_opt ::=", - /* 266 */ "key_opt ::= KEY expr", - /* 267 */ "cmd ::= REINDEX", - /* 268 */ "cmd ::= REINDEX nm dbnm", - /* 269 */ "cmd ::= ANALYZE", - /* 270 */ "cmd ::= ANALYZE nm dbnm", - /* 271 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", - /* 272 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist", - /* 273 */ "add_column_fullname ::= fullname", - /* 274 */ "cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm", - /* 275 */ "cmd ::= create_vtab", - /* 276 */ "cmd ::= create_vtab LP vtabarglist RP", - /* 277 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", - /* 278 */ "vtabarg ::=", - /* 279 */ "vtabargtoken ::= ANY", - /* 280 */ "vtabargtoken ::= lp anylist RP", - /* 281 */ "lp ::= LP", - /* 282 */ "with ::= WITH wqlist", - /* 283 */ "with ::= WITH RECURSIVE wqlist", - /* 284 */ "wqlist ::= nm eidlist_opt AS LP select RP", - /* 285 */ "wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP", - /* 286 */ "windowdefn_list ::= windowdefn", - /* 287 */ "windowdefn_list ::= windowdefn_list COMMA windowdefn", - /* 288 */ "windowdefn ::= nm AS window", - /* 289 */ "window ::= LP part_opt orderby_opt frame_opt RP", - /* 290 */ "part_opt ::= PARTITION BY nexprlist", - /* 291 */ "part_opt ::=", - /* 292 */ "frame_opt ::=", - /* 293 */ "frame_opt ::= range_or_rows frame_bound_s", - /* 294 */ "frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e", - /* 295 */ "range_or_rows ::= RANGE", - /* 296 */ "range_or_rows ::= ROWS", - /* 297 */ "frame_bound_s ::= frame_bound", - /* 298 */ "frame_bound_s ::= UNBOUNDED PRECEDING", - /* 299 */ "frame_bound_e ::= frame_bound", - /* 300 */ "frame_bound_e ::= UNBOUNDED FOLLOWING", - /* 301 */ "frame_bound ::= expr PRECEDING", - /* 302 */ "frame_bound ::= CURRENT ROW", - /* 303 */ "frame_bound ::= expr FOLLOWING", - /* 304 */ "window_clause ::= WINDOW windowdefn_list", - /* 305 */ "over_clause ::= filter_opt OVER window", - /* 306 */ "over_clause ::= filter_opt OVER nm", - /* 307 */ "filter_opt ::=", - /* 308 */ "filter_opt ::= FILTER LP WHERE expr RP", - /* 309 */ "input ::= cmdlist", - /* 310 */ "cmdlist ::= cmdlist ecmd", - /* 311 */ "cmdlist ::= ecmd", - /* 312 */ "ecmd ::= SEMI", - /* 313 */ "ecmd ::= cmdx SEMI", - /* 314 */ "ecmd ::= explain cmdx", - /* 315 */ "trans_opt ::=", - /* 316 */ "trans_opt ::= TRANSACTION", - /* 317 */ "trans_opt ::= TRANSACTION nm", - /* 318 */ "savepoint_opt ::= SAVEPOINT", - /* 319 */ "savepoint_opt ::=", - /* 320 */ "cmd ::= create_table create_table_args", - /* 321 */ "columnlist ::= columnlist COMMA columnname carglist", - /* 322 */ "columnlist ::= columnname carglist", - /* 323 */ "nm ::= ID|INDEXED", - /* 324 */ "nm ::= STRING", - /* 325 */ "nm ::= JOIN_KW", - /* 326 */ "typetoken ::= typename", - /* 327 */ "typename ::= ID|STRING", - /* 328 */ "signed ::= plus_num", - /* 329 */ "signed ::= minus_num", - /* 330 */ "carglist ::= carglist ccons", - /* 331 */ "carglist ::=", - /* 332 */ "ccons ::= NULL onconf", - /* 333 */ "conslist_opt ::= COMMA conslist", - /* 334 */ "conslist ::= conslist tconscomma tcons", - /* 335 */ "conslist ::= tcons", - /* 336 */ "tconscomma ::=", - /* 337 */ "defer_subclause_opt ::= defer_subclause", - /* 338 */ "resolvetype ::= raisetype", - /* 339 */ "selectnowith ::= oneselect", - /* 340 */ "oneselect ::= values", - /* 341 */ "sclp ::= selcollist COMMA", - /* 342 */ "as ::= ID|STRING", - /* 343 */ "expr ::= term", - /* 344 */ "likeop ::= LIKE_KW|MATCH", - /* 345 */ "exprlist ::= nexprlist", - /* 346 */ "nmnum ::= plus_num", - /* 347 */ "nmnum ::= nm", - /* 348 */ "nmnum ::= ON", - /* 349 */ "nmnum ::= DELETE", - /* 350 */ "nmnum ::= DEFAULT", - /* 351 */ "plus_num ::= INTEGER|FLOAT", - /* 352 */ "foreach_clause ::=", - /* 353 */ "foreach_clause ::= FOR EACH ROW", - /* 354 */ "trnm ::= nm", - /* 355 */ "tridxby ::=", - /* 356 */ "database_kw_opt ::= DATABASE", - /* 357 */ "database_kw_opt ::=", - /* 358 */ "kwcolumn_opt ::=", - /* 359 */ "kwcolumn_opt ::= COLUMNKW", - /* 360 */ "vtabarglist ::= vtabarg", - /* 361 */ "vtabarglist ::= vtabarglist COMMA vtabarg", - /* 362 */ "vtabarg ::= vtabarg vtabargtoken", - /* 363 */ "anylist ::=", - /* 364 */ "anylist ::= anylist LP anylist RP", - /* 365 */ "anylist ::= anylist ANY", - /* 366 */ "with ::=", + /* 29 */ "scantok ::=", + /* 30 */ "ccons ::= CONSTRAINT nm", + /* 31 */ "ccons ::= DEFAULT scantok term", + /* 32 */ "ccons ::= DEFAULT LP expr RP", + /* 33 */ "ccons ::= DEFAULT PLUS scantok term", + /* 34 */ "ccons ::= DEFAULT MINUS scantok term", + /* 35 */ "ccons ::= DEFAULT scantok ID|INDEXED", + /* 36 */ "ccons ::= NOT NULL onconf", + /* 37 */ "ccons ::= PRIMARY KEY sortorder onconf autoinc", + /* 38 */ "ccons ::= UNIQUE onconf", + /* 39 */ "ccons ::= CHECK LP expr RP", + /* 40 */ "ccons ::= REFERENCES nm eidlist_opt refargs", + /* 41 */ "ccons ::= defer_subclause", + /* 42 */ "ccons ::= COLLATE ID|STRING", + /* 43 */ "autoinc ::=", + /* 44 */ "autoinc ::= AUTOINCR", + /* 45 */ "refargs ::=", + /* 46 */ "refargs ::= refargs refarg", + /* 47 */ "refarg ::= MATCH nm", + /* 48 */ "refarg ::= ON INSERT refact", + /* 49 */ "refarg ::= ON DELETE refact", + /* 50 */ "refarg ::= ON UPDATE refact", + /* 51 */ "refact ::= SET NULL", + /* 52 */ "refact ::= SET DEFAULT", + /* 53 */ "refact ::= CASCADE", + /* 54 */ "refact ::= RESTRICT", + /* 55 */ "refact ::= NO ACTION", + /* 56 */ "defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt", + /* 57 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", + /* 58 */ "init_deferred_pred_opt ::=", + /* 59 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", + /* 60 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", + /* 61 */ "conslist_opt ::=", + /* 62 */ "tconscomma ::= COMMA", + /* 63 */ "tcons ::= CONSTRAINT nm", + /* 64 */ "tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf", + /* 65 */ "tcons ::= UNIQUE LP sortlist RP onconf", + /* 66 */ "tcons ::= CHECK LP expr RP onconf", + /* 67 */ "tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt", + /* 68 */ "defer_subclause_opt ::=", + /* 69 */ "onconf ::=", + /* 70 */ "onconf ::= ON CONFLICT resolvetype", + /* 71 */ "orconf ::=", + /* 72 */ "orconf ::= OR resolvetype", + /* 73 */ "resolvetype ::= IGNORE", + /* 74 */ "resolvetype ::= REPLACE", + /* 75 */ "cmd ::= DROP TABLE ifexists fullname", + /* 76 */ "ifexists ::= IF EXISTS", + /* 77 */ "ifexists ::=", + /* 78 */ "cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select", + /* 79 */ "cmd ::= DROP VIEW ifexists fullname", + /* 80 */ "cmd ::= select", + /* 81 */ "select ::= WITH wqlist selectnowith", + /* 82 */ "select ::= WITH RECURSIVE wqlist selectnowith", + /* 83 */ "select ::= selectnowith", + /* 84 */ "selectnowith ::= selectnowith multiselect_op oneselect", + /* 85 */ "multiselect_op ::= UNION", + /* 86 */ "multiselect_op ::= UNION ALL", + /* 87 */ "multiselect_op ::= EXCEPT|INTERSECT", + /* 88 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt", + /* 89 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt", + /* 90 */ "values ::= VALUES LP nexprlist RP", + /* 91 */ "values ::= values COMMA LP nexprlist RP", + /* 92 */ "distinct ::= DISTINCT", + /* 93 */ "distinct ::= ALL", + /* 94 */ "distinct ::=", + /* 95 */ "sclp ::=", + /* 96 */ "selcollist ::= sclp scanpt expr scanpt as", + /* 97 */ "selcollist ::= sclp scanpt STAR", + /* 98 */ "selcollist ::= sclp scanpt nm DOT STAR", + /* 99 */ "as ::= AS nm", + /* 100 */ "as ::=", + /* 101 */ "from ::=", + /* 102 */ "from ::= FROM seltablist", + /* 103 */ "stl_prefix ::= seltablist joinop", + /* 104 */ "stl_prefix ::=", + /* 105 */ "seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt", + /* 106 */ "seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt", + /* 107 */ "seltablist ::= stl_prefix LP select RP as on_opt using_opt", + /* 108 */ "seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt", + /* 109 */ "dbnm ::=", + /* 110 */ "dbnm ::= DOT nm", + /* 111 */ "fullname ::= nm", + /* 112 */ "fullname ::= nm DOT nm", + /* 113 */ "xfullname ::= nm", + /* 114 */ "xfullname ::= nm DOT nm", + /* 115 */ "xfullname ::= nm DOT nm AS nm", + /* 116 */ "xfullname ::= nm AS nm", + /* 117 */ "joinop ::= COMMA|JOIN", + /* 118 */ "joinop ::= JOIN_KW JOIN", + /* 119 */ "joinop ::= JOIN_KW nm JOIN", + /* 120 */ "joinop ::= JOIN_KW nm nm JOIN", + /* 121 */ "on_opt ::= ON expr", + /* 122 */ "on_opt ::=", + /* 123 */ "indexed_opt ::=", + /* 124 */ "indexed_opt ::= INDEXED BY nm", + /* 125 */ "indexed_opt ::= NOT INDEXED", + /* 126 */ "using_opt ::= USING LP idlist RP", + /* 127 */ "using_opt ::=", + /* 128 */ "orderby_opt ::=", + /* 129 */ "orderby_opt ::= ORDER BY sortlist", + /* 130 */ "sortlist ::= sortlist COMMA expr sortorder nulls", + /* 131 */ "sortlist ::= expr sortorder nulls", + /* 132 */ "sortorder ::= ASC", + /* 133 */ "sortorder ::= DESC", + /* 134 */ "sortorder ::=", + /* 135 */ "nulls ::= NULLS FIRST", + /* 136 */ "nulls ::= NULLS LAST", + /* 137 */ "nulls ::=", + /* 138 */ "groupby_opt ::=", + /* 139 */ "groupby_opt ::= GROUP BY nexprlist", + /* 140 */ "having_opt ::=", + /* 141 */ "having_opt ::= HAVING expr", + /* 142 */ "limit_opt ::=", + /* 143 */ "limit_opt ::= LIMIT expr", + /* 144 */ "limit_opt ::= LIMIT expr OFFSET expr", + /* 145 */ "limit_opt ::= LIMIT expr COMMA expr", + /* 146 */ "cmd ::= with DELETE FROM xfullname indexed_opt where_opt", + /* 147 */ "where_opt ::=", + /* 148 */ "where_opt ::= WHERE expr", + /* 149 */ "cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist where_opt", + /* 150 */ "setlist ::= setlist COMMA nm EQ expr", + /* 151 */ "setlist ::= setlist COMMA LP idlist RP EQ expr", + /* 152 */ "setlist ::= nm EQ expr", + /* 153 */ "setlist ::= LP idlist RP EQ expr", + /* 154 */ "cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert", + /* 155 */ "cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES", + /* 156 */ "upsert ::=", + /* 157 */ "upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt", + /* 158 */ "upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING", + /* 159 */ "upsert ::= ON CONFLICT DO NOTHING", + /* 160 */ "insert_cmd ::= INSERT orconf", + /* 161 */ "insert_cmd ::= REPLACE", + /* 162 */ "idlist_opt ::=", + /* 163 */ "idlist_opt ::= LP idlist RP", + /* 164 */ "idlist ::= idlist COMMA nm", + /* 165 */ "idlist ::= nm", + /* 166 */ "expr ::= LP expr RP", + /* 167 */ "expr ::= ID|INDEXED", + /* 168 */ "expr ::= JOIN_KW", + /* 169 */ "expr ::= nm DOT nm", + /* 170 */ "expr ::= nm DOT nm DOT nm", + /* 171 */ "term ::= NULL|FLOAT|BLOB", + /* 172 */ "term ::= STRING", + /* 173 */ "term ::= INTEGER", + /* 174 */ "expr ::= VARIABLE", + /* 175 */ "expr ::= expr COLLATE ID|STRING", + /* 176 */ "expr ::= CAST LP expr AS typetoken RP", + /* 177 */ "expr ::= ID|INDEXED LP distinct exprlist RP", + /* 178 */ "expr ::= ID|INDEXED LP STAR RP", + /* 179 */ "expr ::= ID|INDEXED LP distinct exprlist RP filter_over", + /* 180 */ "expr ::= ID|INDEXED LP STAR RP filter_over", + /* 181 */ "term ::= CTIME_KW", + /* 182 */ "expr ::= LP nexprlist COMMA expr RP", + /* 183 */ "expr ::= expr AND expr", + /* 184 */ "expr ::= expr OR expr", + /* 185 */ "expr ::= expr LT|GT|GE|LE expr", + /* 186 */ "expr ::= expr EQ|NE expr", + /* 187 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", + /* 188 */ "expr ::= expr PLUS|MINUS expr", + /* 189 */ "expr ::= expr STAR|SLASH|REM expr", + /* 190 */ "expr ::= expr CONCAT expr", + /* 191 */ "likeop ::= NOT LIKE_KW|MATCH", + /* 192 */ "expr ::= expr likeop expr", + /* 193 */ "expr ::= expr likeop expr ESCAPE expr", + /* 194 */ "expr ::= expr ISNULL|NOTNULL", + /* 195 */ "expr ::= expr NOT NULL", + /* 196 */ "expr ::= expr IS expr", + /* 197 */ "expr ::= expr IS NOT expr", + /* 198 */ "expr ::= NOT expr", + /* 199 */ "expr ::= BITNOT expr", + /* 200 */ "expr ::= PLUS|MINUS expr", + /* 201 */ "between_op ::= BETWEEN", + /* 202 */ "between_op ::= NOT BETWEEN", + /* 203 */ "expr ::= expr between_op expr AND expr", + /* 204 */ "in_op ::= IN", + /* 205 */ "in_op ::= NOT IN", + /* 206 */ "expr ::= expr in_op LP exprlist RP", + /* 207 */ "expr ::= LP select RP", + /* 208 */ "expr ::= expr in_op LP select RP", + /* 209 */ "expr ::= expr in_op nm dbnm paren_exprlist", + /* 210 */ "expr ::= EXISTS LP select RP", + /* 211 */ "expr ::= CASE case_operand case_exprlist case_else END", + /* 212 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", + /* 213 */ "case_exprlist ::= WHEN expr THEN expr", + /* 214 */ "case_else ::= ELSE expr", + /* 215 */ "case_else ::=", + /* 216 */ "case_operand ::= expr", + /* 217 */ "case_operand ::=", + /* 218 */ "exprlist ::=", + /* 219 */ "nexprlist ::= nexprlist COMMA expr", + /* 220 */ "nexprlist ::= expr", + /* 221 */ "paren_exprlist ::=", + /* 222 */ "paren_exprlist ::= LP exprlist RP", + /* 223 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt", + /* 224 */ "uniqueflag ::= UNIQUE", + /* 225 */ "uniqueflag ::=", + /* 226 */ "eidlist_opt ::=", + /* 227 */ "eidlist_opt ::= LP eidlist RP", + /* 228 */ "eidlist ::= eidlist COMMA nm collate sortorder", + /* 229 */ "eidlist ::= nm collate sortorder", + /* 230 */ "collate ::=", + /* 231 */ "collate ::= COLLATE ID|STRING", + /* 232 */ "cmd ::= DROP INDEX ifexists fullname", + /* 233 */ "cmd ::= VACUUM vinto", + /* 234 */ "cmd ::= VACUUM nm vinto", + /* 235 */ "vinto ::= INTO expr", + /* 236 */ "vinto ::=", + /* 237 */ "cmd ::= PRAGMA nm dbnm", + /* 238 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", + /* 239 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", + /* 240 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", + /* 241 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", + /* 242 */ "plus_num ::= PLUS INTEGER|FLOAT", + /* 243 */ "minus_num ::= MINUS INTEGER|FLOAT", + /* 244 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", + /* 245 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", + /* 246 */ "trigger_time ::= BEFORE|AFTER", + /* 247 */ "trigger_time ::= INSTEAD OF", + /* 248 */ "trigger_time ::=", + /* 249 */ "trigger_event ::= DELETE|INSERT", + /* 250 */ "trigger_event ::= UPDATE", + /* 251 */ "trigger_event ::= UPDATE OF idlist", + /* 252 */ "when_clause ::=", + /* 253 */ "when_clause ::= WHEN expr", + /* 254 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", + /* 255 */ "trigger_cmd_list ::= trigger_cmd SEMI", + /* 256 */ "trnm ::= nm DOT nm", + /* 257 */ "tridxby ::= INDEXED BY nm", + /* 258 */ "tridxby ::= NOT INDEXED", + /* 259 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt", + /* 260 */ "trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt", + /* 261 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt", + /* 262 */ "trigger_cmd ::= scanpt select scanpt", + /* 263 */ "expr ::= RAISE LP IGNORE RP", + /* 264 */ "expr ::= RAISE LP raisetype COMMA nm RP", + /* 265 */ "raisetype ::= ROLLBACK", + /* 266 */ "raisetype ::= ABORT", + /* 267 */ "raisetype ::= FAIL", + /* 268 */ "cmd ::= DROP TRIGGER ifexists fullname", + /* 269 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", + /* 270 */ "cmd ::= DETACH database_kw_opt expr", + /* 271 */ "key_opt ::=", + /* 272 */ "key_opt ::= KEY expr", + /* 273 */ "cmd ::= REINDEX", + /* 274 */ "cmd ::= REINDEX nm dbnm", + /* 275 */ "cmd ::= ANALYZE", + /* 276 */ "cmd ::= ANALYZE nm dbnm", + /* 277 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", + /* 278 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist", + /* 279 */ "add_column_fullname ::= fullname", + /* 280 */ "cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm", + /* 281 */ "cmd ::= create_vtab", + /* 282 */ "cmd ::= create_vtab LP vtabarglist RP", + /* 283 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", + /* 284 */ "vtabarg ::=", + /* 285 */ "vtabargtoken ::= ANY", + /* 286 */ "vtabargtoken ::= lp anylist RP", + /* 287 */ "lp ::= LP", + /* 288 */ "with ::= WITH wqlist", + /* 289 */ "with ::= WITH RECURSIVE wqlist", + /* 290 */ "wqlist ::= nm eidlist_opt AS LP select RP", + /* 291 */ "wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP", + /* 292 */ "windowdefn_list ::= windowdefn", + /* 293 */ "windowdefn_list ::= windowdefn_list COMMA windowdefn", + /* 294 */ "windowdefn ::= nm AS LP window RP", + /* 295 */ "window ::= PARTITION BY nexprlist orderby_opt frame_opt", + /* 296 */ "window ::= nm PARTITION BY nexprlist orderby_opt frame_opt", + /* 297 */ "window ::= ORDER BY sortlist frame_opt", + /* 298 */ "window ::= nm ORDER BY sortlist frame_opt", + /* 299 */ "window ::= frame_opt", + /* 300 */ "window ::= nm frame_opt", + /* 301 */ "frame_opt ::=", + /* 302 */ "frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt", + /* 303 */ "frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt", + /* 304 */ "range_or_rows ::= RANGE|ROWS|GROUPS", + /* 305 */ "frame_bound_s ::= frame_bound", + /* 306 */ "frame_bound_s ::= UNBOUNDED PRECEDING", + /* 307 */ "frame_bound_e ::= frame_bound", + /* 308 */ "frame_bound_e ::= UNBOUNDED FOLLOWING", + /* 309 */ "frame_bound ::= expr PRECEDING|FOLLOWING", + /* 310 */ "frame_bound ::= CURRENT ROW", + /* 311 */ "frame_exclude_opt ::=", + /* 312 */ "frame_exclude_opt ::= EXCLUDE frame_exclude", + /* 313 */ "frame_exclude ::= NO OTHERS", + /* 314 */ "frame_exclude ::= CURRENT ROW", + /* 315 */ "frame_exclude ::= GROUP|TIES", + /* 316 */ "window_clause ::= WINDOW windowdefn_list", + /* 317 */ "filter_over ::= filter_clause over_clause", + /* 318 */ "filter_over ::= over_clause", + /* 319 */ "filter_over ::= filter_clause", + /* 320 */ "over_clause ::= OVER LP window RP", + /* 321 */ "over_clause ::= OVER nm", + /* 322 */ "filter_clause ::= FILTER LP WHERE expr RP", + /* 323 */ "input ::= cmdlist", + /* 324 */ "cmdlist ::= cmdlist ecmd", + /* 325 */ "cmdlist ::= ecmd", + /* 326 */ "ecmd ::= SEMI", + /* 327 */ "ecmd ::= cmdx SEMI", + /* 328 */ "ecmd ::= explain cmdx", + /* 329 */ "trans_opt ::=", + /* 330 */ "trans_opt ::= TRANSACTION", + /* 331 */ "trans_opt ::= TRANSACTION nm", + /* 332 */ "savepoint_opt ::= SAVEPOINT", + /* 333 */ "savepoint_opt ::=", + /* 334 */ "cmd ::= create_table create_table_args", + /* 335 */ "columnlist ::= columnlist COMMA columnname carglist", + /* 336 */ "columnlist ::= columnname carglist", + /* 337 */ "nm ::= ID|INDEXED", + /* 338 */ "nm ::= STRING", + /* 339 */ "nm ::= JOIN_KW", + /* 340 */ "typetoken ::= typename", + /* 341 */ "typename ::= ID|STRING", + /* 342 */ "signed ::= plus_num", + /* 343 */ "signed ::= minus_num", + /* 344 */ "carglist ::= carglist ccons", + /* 345 */ "carglist ::=", + /* 346 */ "ccons ::= NULL onconf", + /* 347 */ "conslist_opt ::= COMMA conslist", + /* 348 */ "conslist ::= conslist tconscomma tcons", + /* 349 */ "conslist ::= tcons", + /* 350 */ "tconscomma ::=", + /* 351 */ "defer_subclause_opt ::= defer_subclause", + /* 352 */ "resolvetype ::= raisetype", + /* 353 */ "selectnowith ::= oneselect", + /* 354 */ "oneselect ::= values", + /* 355 */ "sclp ::= selcollist COMMA", + /* 356 */ "as ::= ID|STRING", + /* 357 */ "expr ::= term", + /* 358 */ "likeop ::= LIKE_KW|MATCH", + /* 359 */ "exprlist ::= nexprlist", + /* 360 */ "nmnum ::= plus_num", + /* 361 */ "nmnum ::= nm", + /* 362 */ "nmnum ::= ON", + /* 363 */ "nmnum ::= DELETE", + /* 364 */ "nmnum ::= DEFAULT", + /* 365 */ "plus_num ::= INTEGER|FLOAT", + /* 366 */ "foreach_clause ::=", + /* 367 */ "foreach_clause ::= FOR EACH ROW", + /* 368 */ "trnm ::= nm", + /* 369 */ "tridxby ::=", + /* 370 */ "database_kw_opt ::= DATABASE", + /* 371 */ "database_kw_opt ::=", + /* 372 */ "kwcolumn_opt ::=", + /* 373 */ "kwcolumn_opt ::= COLUMNKW", + /* 374 */ "vtabarglist ::= vtabarg", + /* 375 */ "vtabarglist ::= vtabarglist COMMA vtabarg", + /* 376 */ "vtabarg ::= vtabarg vtabargtoken", + /* 377 */ "anylist ::=", + /* 378 */ "anylist ::= anylist LP anylist RP", + /* 379 */ "anylist ::= anylist ANY", + /* 380 */ "with ::=", }; #endif /* NDEBUG */ @@ -148697,96 +151696,98 @@ static void yy_destructor( ** inside the C code. */ /********* Begin destructor definitions ***************************************/ - case 174: /* select */ - case 206: /* selectnowith */ - case 207: /* oneselect */ - case 219: /* values */ + case 198: /* select */ + case 231: /* selectnowith */ + case 232: /* oneselect */ + case 244: /* values */ { -sqlite3SelectDelete(pParse->db, (yypminor->yy489)); +sqlite3SelectDelete(pParse->db, (yypminor->yy25)); } break; - case 184: /* term */ - case 185: /* expr */ - case 213: /* where_opt */ - case 215: /* having_opt */ - case 227: /* on_opt */ - case 242: /* case_operand */ - case 244: /* case_else */ - case 253: /* when_clause */ - case 258: /* key_opt */ - case 272: /* filter_opt */ + case 209: /* term */ + case 210: /* expr */ + case 238: /* where_opt */ + case 240: /* having_opt */ + case 252: /* on_opt */ + case 268: /* case_operand */ + case 270: /* case_else */ + case 273: /* vinto */ + case 280: /* when_clause */ + case 285: /* key_opt */ + case 299: /* filter_clause */ { -sqlite3ExprDelete(pParse->db, (yypminor->yy18)); +sqlite3ExprDelete(pParse->db, (yypminor->yy46)); } break; - case 189: /* eidlist_opt */ - case 198: /* sortlist */ - case 199: /* eidlist */ - case 211: /* selcollist */ - case 214: /* groupby_opt */ - case 216: /* orderby_opt */ - case 220: /* nexprlist */ - case 221: /* sclp */ - case 229: /* exprlist */ - case 233: /* setlist */ - case 241: /* paren_exprlist */ - case 243: /* case_exprlist */ - case 271: /* part_opt */ + case 214: /* eidlist_opt */ + case 223: /* sortlist */ + case 224: /* eidlist */ + case 236: /* selcollist */ + case 239: /* groupby_opt */ + case 241: /* orderby_opt */ + case 245: /* nexprlist */ + case 246: /* sclp */ + case 254: /* exprlist */ + case 259: /* setlist */ + case 267: /* paren_exprlist */ + case 269: /* case_exprlist */ + case 298: /* part_opt */ { -sqlite3ExprListDelete(pParse->db, (yypminor->yy420)); +sqlite3ExprListDelete(pParse->db, (yypminor->yy138)); } break; - case 205: /* fullname */ - case 212: /* from */ - case 223: /* seltablist */ - case 224: /* stl_prefix */ - case 230: /* xfullname */ + case 230: /* fullname */ + case 237: /* from */ + case 248: /* seltablist */ + case 249: /* stl_prefix */ + case 255: /* xfullname */ { -sqlite3SrcListDelete(pParse->db, (yypminor->yy135)); +sqlite3SrcListDelete(pParse->db, (yypminor->yy609)); } break; - case 208: /* wqlist */ + case 233: /* wqlist */ { -sqlite3WithDelete(pParse->db, (yypminor->yy449)); +sqlite3WithDelete(pParse->db, (yypminor->yy297)); } break; - case 218: /* window_clause */ - case 267: /* windowdefn_list */ + case 243: /* window_clause */ + case 294: /* windowdefn_list */ { -sqlite3WindowListDelete(pParse->db, (yypminor->yy327)); +sqlite3WindowListDelete(pParse->db, (yypminor->yy455)); } break; - case 228: /* using_opt */ - case 231: /* idlist */ - case 235: /* idlist_opt */ + case 253: /* using_opt */ + case 256: /* idlist */ + case 261: /* idlist_opt */ { -sqlite3IdListDelete(pParse->db, (yypminor->yy48)); +sqlite3IdListDelete(pParse->db, (yypminor->yy406)); } break; - case 237: /* over_clause */ - case 268: /* windowdefn */ - case 269: /* window */ - case 270: /* frame_opt */ + case 263: /* filter_over */ + case 295: /* windowdefn */ + case 296: /* window */ + case 297: /* frame_opt */ + case 300: /* over_clause */ { -sqlite3WindowDelete(pParse->db, (yypminor->yy327)); +sqlite3WindowDelete(pParse->db, (yypminor->yy455)); } break; - case 249: /* trigger_cmd_list */ - case 254: /* trigger_cmd */ + case 276: /* trigger_cmd_list */ + case 281: /* trigger_cmd */ { -sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy207)); +sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy527)); } break; - case 251: /* trigger_event */ + case 278: /* trigger_event */ { -sqlite3IdListDelete(pParse->db, (yypminor->yy34).b); +sqlite3IdListDelete(pParse->db, (yypminor->yy572).b); } break; - case 274: /* frame_bound */ - case 275: /* frame_bound_s */ - case 276: /* frame_bound_e */ + case 302: /* frame_bound */ + case 303: /* frame_bound_s */ + case 304: /* frame_bound_e */ { -sqlite3ExprDelete(pParse->db, (yypminor->yy119).pExpr); +sqlite3ExprDelete(pParse->db, (yypminor->yy57).pExpr); } break; /********* End destructor definitions *****************************************/ @@ -148912,15 +151913,18 @@ static YYACTIONTYPE yy_find_shift_action( do{ i = yy_shift_ofst[stateno]; assert( i>=0 ); - /* assert( i+YYNTOKEN<=(int)YY_NLOOKAHEAD ); */ + assert( i<=YY_ACTTAB_COUNT ); + assert( i+YYNTOKEN<=(int)YY_NLOOKAHEAD ); assert( iLookAhead!=YYNOCODE ); assert( iLookAhead < YYNTOKEN ); i += iLookAhead; - if( i>=YY_NLOOKAHEAD || yy_lookahead[i]!=iLookAhead ){ + assert( i<(int)YY_NLOOKAHEAD ); + if( yy_lookahead[i]!=iLookAhead ){ #ifdef YYFALLBACK YYCODETYPE iFallback; /* Fallback token */ - if( iLookAhead %s\n", @@ -148935,16 +151939,8 @@ static YYACTIONTYPE yy_find_shift_action( #ifdef YYWILDCARD { int j = i - iLookAhead + YYWILDCARD; - if( -#if YY_SHIFT_MIN+YYWILDCARD<0 - j>=0 && -#endif -#if YY_SHIFT_MAX+YYWILDCARD>=YY_ACTTAB_COUNT - j0 - ){ + assert( j<(int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])) ); + if( yy_lookahead[j]==YYWILDCARD && iLookAhead>0 ){ #ifndef NDEBUG if( yyTraceFILE ){ fprintf(yyTraceFILE, "%sWILDCARD %s => %s\n", @@ -148958,6 +151954,7 @@ static YYACTIONTYPE yy_find_shift_action( #endif /* YYWILDCARD */ return yy_default[stateno]; }else{ + assert( i>=0 && iyytos; #ifndef NDEBUG if( yyTraceFILE && yyruleno<(int)(sizeof(yyRuleName)/sizeof(yyRuleName[0])) ){ - yysize = yyRuleInfo[yyruleno].nrhs; + yysize = yyRuleInfoNRhs[yyruleno]; if( yysize ){ fprintf(yyTraceFILE, "%sReduce %d [%s], go to state %d.\n", yyTracePrompt, @@ -149498,7 +152891,7 @@ static YYACTIONTYPE yy_reduce( /* Check that the stack is large enough to grow by a single entry ** if the RHS of the rule is empty. This ensures that there is room ** enough on the stack to push the LHS value */ - if( yyRuleInfo[yyruleno].nrhs==0 ){ + if( yyRuleInfoNRhs[yyruleno]==0 ){ #ifdef YYTRACKMAXSTACKDEPTH if( (int)(yypParser->yytos - yypParser->yystack)>yypParser->yyhwm ){ yypParser->yyhwm++; @@ -149548,15 +152941,16 @@ static YYACTIONTYPE yy_reduce( { sqlite3FinishCoding(pParse); } break; case 3: /* cmd ::= BEGIN transtype trans_opt */ -{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy70);} +{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy32);} break; case 4: /* transtype ::= */ -{yymsp[1].minor.yy70 = TK_DEFERRED;} +{yymsp[1].minor.yy32 = TK_DEFERRED;} break; case 5: /* transtype ::= DEFERRED */ case 6: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==6); case 7: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==7); -{yymsp[0].minor.yy70 = yymsp[0].major; /*A-overwrites-X*/} + case 304: /* range_or_rows ::= RANGE|ROWS|GROUPS */ yytestcase(yyruleno==304); +{yymsp[0].minor.yy32 = yymsp[0].major; /*A-overwrites-X*/} break; case 8: /* cmd ::= COMMIT|END trans_opt */ case 9: /* cmd ::= ROLLBACK trans_opt */ yytestcase(yyruleno==9); @@ -149579,7 +152973,7 @@ static YYACTIONTYPE yy_reduce( break; case 13: /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ { - sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy70,0,0,yymsp[-2].minor.yy70); + sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy32,0,0,yymsp[-2].minor.yy32); } break; case 14: /* createkw ::= CREATE */ @@ -149588,38 +152982,38 @@ static YYACTIONTYPE yy_reduce( case 15: /* ifnotexists ::= */ case 18: /* temp ::= */ yytestcase(yyruleno==18); case 21: /* table_options ::= */ yytestcase(yyruleno==21); - case 42: /* autoinc ::= */ yytestcase(yyruleno==42); - case 57: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==57); - case 67: /* defer_subclause_opt ::= */ yytestcase(yyruleno==67); - case 76: /* ifexists ::= */ yytestcase(yyruleno==76); - case 93: /* distinct ::= */ yytestcase(yyruleno==93); - case 226: /* collate ::= */ yytestcase(yyruleno==226); -{yymsp[1].minor.yy70 = 0;} + case 43: /* autoinc ::= */ yytestcase(yyruleno==43); + case 58: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==58); + case 68: /* defer_subclause_opt ::= */ yytestcase(yyruleno==68); + case 77: /* ifexists ::= */ yytestcase(yyruleno==77); + case 94: /* distinct ::= */ yytestcase(yyruleno==94); + case 230: /* collate ::= */ yytestcase(yyruleno==230); +{yymsp[1].minor.yy32 = 0;} break; case 16: /* ifnotexists ::= IF NOT EXISTS */ -{yymsp[-2].minor.yy70 = 1;} +{yymsp[-2].minor.yy32 = 1;} break; case 17: /* temp ::= TEMP */ - case 43: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==43); -{yymsp[0].minor.yy70 = 1;} + case 44: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==44); +{yymsp[0].minor.yy32 = 1;} break; case 19: /* create_table_args ::= LP columnlist conslist_opt RP table_options */ { - sqlite3EndTable(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,yymsp[0].minor.yy70,0); + sqlite3EndTable(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,yymsp[0].minor.yy32,0); } break; case 20: /* create_table_args ::= AS select */ { - sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy489); - sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy489); + sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy25); + sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy25); } break; case 22: /* table_options ::= WITHOUT nm */ { if( yymsp[0].minor.yy0.n==5 && sqlite3_strnicmp(yymsp[0].minor.yy0.z,"rowid",5)==0 ){ - yymsp[-1].minor.yy70 = TF_WithoutRowid | TF_NoVisibleRowid; + yymsp[-1].minor.yy32 = TF_WithoutRowid | TF_NoVisibleRowid; }else{ - yymsp[-1].minor.yy70 = 0; + yymsp[-1].minor.yy32 = 0; sqlite3ErrorMsg(pParse, "unknown table option: %.*s", yymsp[0].minor.yy0.n, yymsp[0].minor.yy0.z); } } @@ -149628,8 +153022,8 @@ static YYACTIONTYPE yy_reduce( {sqlite3AddColumn(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0);} break; case 24: /* typetoken ::= */ - case 60: /* conslist_opt ::= */ yytestcase(yyruleno==60); - case 99: /* as ::= */ yytestcase(yyruleno==99); + case 61: /* conslist_opt ::= */ yytestcase(yyruleno==61); + case 100: /* as ::= */ yytestcase(yyruleno==100); {yymsp[1].minor.yy0.n = 0; yymsp[1].minor.yy0.z = 0;} break; case 25: /* typetoken ::= typename LP signed RP */ @@ -149648,29 +153042,35 @@ static YYACTIONTYPE yy_reduce( case 28: /* scanpt ::= */ { assert( yyLookahead!=YYNOCODE ); - yymsp[1].minor.yy392 = yyLookaheadToken.z; + yymsp[1].minor.yy8 = yyLookaheadToken.z; +} + break; + case 29: /* scantok ::= */ +{ + assert( yyLookahead!=YYNOCODE ); + yymsp[1].minor.yy0 = yyLookaheadToken; } break; - case 29: /* ccons ::= CONSTRAINT nm */ - case 62: /* tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==62); + case 30: /* ccons ::= CONSTRAINT nm */ + case 63: /* tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==63); {pParse->constraintName = yymsp[0].minor.yy0;} break; - case 30: /* ccons ::= DEFAULT scanpt term scanpt */ -{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy18,yymsp[-2].minor.yy392,yymsp[0].minor.yy392);} + case 31: /* ccons ::= DEFAULT scantok term */ +{sqlite3AddDefaultValue(pParse,yymsp[0].minor.yy46,yymsp[-1].minor.yy0.z,&yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n]);} break; - case 31: /* ccons ::= DEFAULT LP expr RP */ -{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy18,yymsp[-2].minor.yy0.z+1,yymsp[0].minor.yy0.z);} + case 32: /* ccons ::= DEFAULT LP expr RP */ +{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy46,yymsp[-2].minor.yy0.z+1,yymsp[0].minor.yy0.z);} break; - case 32: /* ccons ::= DEFAULT PLUS term scanpt */ -{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy18,yymsp[-2].minor.yy0.z,yymsp[0].minor.yy392);} + case 33: /* ccons ::= DEFAULT PLUS scantok term */ +{sqlite3AddDefaultValue(pParse,yymsp[0].minor.yy46,yymsp[-2].minor.yy0.z,&yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n]);} break; - case 33: /* ccons ::= DEFAULT MINUS term scanpt */ + case 34: /* ccons ::= DEFAULT MINUS scantok term */ { - Expr *p = sqlite3PExpr(pParse, TK_UMINUS, yymsp[-1].minor.yy18, 0); - sqlite3AddDefaultValue(pParse,p,yymsp[-2].minor.yy0.z,yymsp[0].minor.yy392); + Expr *p = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy46, 0); + sqlite3AddDefaultValue(pParse,p,yymsp[-2].minor.yy0.z,&yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n]); } break; - case 34: /* ccons ::= DEFAULT scanpt ID|INDEXED */ + case 35: /* ccons ::= DEFAULT scantok ID|INDEXED */ { Expr *p = tokenExpr(pParse, TK_STRING, yymsp[0].minor.yy0); if( p ){ @@ -149680,171 +153080,171 @@ static YYACTIONTYPE yy_reduce( sqlite3AddDefaultValue(pParse,p,yymsp[0].minor.yy0.z,yymsp[0].minor.yy0.z+yymsp[0].minor.yy0.n); } break; - case 35: /* ccons ::= NOT NULL onconf */ -{sqlite3AddNotNull(pParse, yymsp[0].minor.yy70);} + case 36: /* ccons ::= NOT NULL onconf */ +{sqlite3AddNotNull(pParse, yymsp[0].minor.yy32);} break; - case 36: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ -{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy70,yymsp[0].minor.yy70,yymsp[-2].minor.yy70);} + case 37: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ +{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy32,yymsp[0].minor.yy32,yymsp[-2].minor.yy32);} break; - case 37: /* ccons ::= UNIQUE onconf */ -{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy70,0,0,0,0, + case 38: /* ccons ::= UNIQUE onconf */ +{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy32,0,0,0,0, SQLITE_IDXTYPE_UNIQUE);} break; - case 38: /* ccons ::= CHECK LP expr RP */ -{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy18);} + case 39: /* ccons ::= CHECK LP expr RP */ +{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy46);} break; - case 39: /* ccons ::= REFERENCES nm eidlist_opt refargs */ -{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy420,yymsp[0].minor.yy70);} + case 40: /* ccons ::= REFERENCES nm eidlist_opt refargs */ +{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy138,yymsp[0].minor.yy32);} break; - case 40: /* ccons ::= defer_subclause */ -{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy70);} + case 41: /* ccons ::= defer_subclause */ +{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy32);} break; - case 41: /* ccons ::= COLLATE ID|STRING */ + case 42: /* ccons ::= COLLATE ID|STRING */ {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);} break; - case 44: /* refargs ::= */ -{ yymsp[1].minor.yy70 = OE_None*0x0101; /* EV: R-19803-45884 */} + case 45: /* refargs ::= */ +{ yymsp[1].minor.yy32 = OE_None*0x0101; /* EV: R-19803-45884 */} break; - case 45: /* refargs ::= refargs refarg */ -{ yymsp[-1].minor.yy70 = (yymsp[-1].minor.yy70 & ~yymsp[0].minor.yy111.mask) | yymsp[0].minor.yy111.value; } + case 46: /* refargs ::= refargs refarg */ +{ yymsp[-1].minor.yy32 = (yymsp[-1].minor.yy32 & ~yymsp[0].minor.yy495.mask) | yymsp[0].minor.yy495.value; } break; - case 46: /* refarg ::= MATCH nm */ -{ yymsp[-1].minor.yy111.value = 0; yymsp[-1].minor.yy111.mask = 0x000000; } + case 47: /* refarg ::= MATCH nm */ +{ yymsp[-1].minor.yy495.value = 0; yymsp[-1].minor.yy495.mask = 0x000000; } break; - case 47: /* refarg ::= ON INSERT refact */ -{ yymsp[-2].minor.yy111.value = 0; yymsp[-2].minor.yy111.mask = 0x000000; } + case 48: /* refarg ::= ON INSERT refact */ +{ yymsp[-2].minor.yy495.value = 0; yymsp[-2].minor.yy495.mask = 0x000000; } break; - case 48: /* refarg ::= ON DELETE refact */ -{ yymsp[-2].minor.yy111.value = yymsp[0].minor.yy70; yymsp[-2].minor.yy111.mask = 0x0000ff; } + case 49: /* refarg ::= ON DELETE refact */ +{ yymsp[-2].minor.yy495.value = yymsp[0].minor.yy32; yymsp[-2].minor.yy495.mask = 0x0000ff; } break; - case 49: /* refarg ::= ON UPDATE refact */ -{ yymsp[-2].minor.yy111.value = yymsp[0].minor.yy70<<8; yymsp[-2].minor.yy111.mask = 0x00ff00; } + case 50: /* refarg ::= ON UPDATE refact */ +{ yymsp[-2].minor.yy495.value = yymsp[0].minor.yy32<<8; yymsp[-2].minor.yy495.mask = 0x00ff00; } break; - case 50: /* refact ::= SET NULL */ -{ yymsp[-1].minor.yy70 = OE_SetNull; /* EV: R-33326-45252 */} + case 51: /* refact ::= SET NULL */ +{ yymsp[-1].minor.yy32 = OE_SetNull; /* EV: R-33326-45252 */} break; - case 51: /* refact ::= SET DEFAULT */ -{ yymsp[-1].minor.yy70 = OE_SetDflt; /* EV: R-33326-45252 */} + case 52: /* refact ::= SET DEFAULT */ +{ yymsp[-1].minor.yy32 = OE_SetDflt; /* EV: R-33326-45252 */} break; - case 52: /* refact ::= CASCADE */ -{ yymsp[0].minor.yy70 = OE_Cascade; /* EV: R-33326-45252 */} + case 53: /* refact ::= CASCADE */ +{ yymsp[0].minor.yy32 = OE_Cascade; /* EV: R-33326-45252 */} break; - case 53: /* refact ::= RESTRICT */ -{ yymsp[0].minor.yy70 = OE_Restrict; /* EV: R-33326-45252 */} + case 54: /* refact ::= RESTRICT */ +{ yymsp[0].minor.yy32 = OE_Restrict; /* EV: R-33326-45252 */} break; - case 54: /* refact ::= NO ACTION */ -{ yymsp[-1].minor.yy70 = OE_None; /* EV: R-33326-45252 */} + case 55: /* refact ::= NO ACTION */ +{ yymsp[-1].minor.yy32 = OE_None; /* EV: R-33326-45252 */} break; - case 55: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ -{yymsp[-2].minor.yy70 = 0;} + case 56: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ +{yymsp[-2].minor.yy32 = 0;} break; - case 56: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ - case 71: /* orconf ::= OR resolvetype */ yytestcase(yyruleno==71); - case 156: /* insert_cmd ::= INSERT orconf */ yytestcase(yyruleno==156); -{yymsp[-1].minor.yy70 = yymsp[0].minor.yy70;} + case 57: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ + case 72: /* orconf ::= OR resolvetype */ yytestcase(yyruleno==72); + case 160: /* insert_cmd ::= INSERT orconf */ yytestcase(yyruleno==160); +{yymsp[-1].minor.yy32 = yymsp[0].minor.yy32;} break; - case 58: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ - case 75: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==75); - case 198: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==198); - case 201: /* in_op ::= NOT IN */ yytestcase(yyruleno==201); - case 227: /* collate ::= COLLATE ID|STRING */ yytestcase(yyruleno==227); -{yymsp[-1].minor.yy70 = 1;} + case 59: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ + case 76: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==76); + case 202: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==202); + case 205: /* in_op ::= NOT IN */ yytestcase(yyruleno==205); + case 231: /* collate ::= COLLATE ID|STRING */ yytestcase(yyruleno==231); +{yymsp[-1].minor.yy32 = 1;} break; - case 59: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ -{yymsp[-1].minor.yy70 = 0;} + case 60: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ +{yymsp[-1].minor.yy32 = 0;} break; - case 61: /* tconscomma ::= COMMA */ + case 62: /* tconscomma ::= COMMA */ {pParse->constraintName.n = 0;} break; - case 63: /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ -{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy420,yymsp[0].minor.yy70,yymsp[-2].minor.yy70,0);} + case 64: /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ +{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy138,yymsp[0].minor.yy32,yymsp[-2].minor.yy32,0);} break; - case 64: /* tcons ::= UNIQUE LP sortlist RP onconf */ -{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy420,yymsp[0].minor.yy70,0,0,0,0, + case 65: /* tcons ::= UNIQUE LP sortlist RP onconf */ +{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy138,yymsp[0].minor.yy32,0,0,0,0, SQLITE_IDXTYPE_UNIQUE);} break; - case 65: /* tcons ::= CHECK LP expr RP onconf */ -{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy18);} + case 66: /* tcons ::= CHECK LP expr RP onconf */ +{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy46);} break; - case 66: /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ + case 67: /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ { - sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy420, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy420, yymsp[-1].minor.yy70); - sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy70); + sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy138, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy138, yymsp[-1].minor.yy32); + sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy32); } break; - case 68: /* onconf ::= */ - case 70: /* orconf ::= */ yytestcase(yyruleno==70); -{yymsp[1].minor.yy70 = OE_Default;} + case 69: /* onconf ::= */ + case 71: /* orconf ::= */ yytestcase(yyruleno==71); +{yymsp[1].minor.yy32 = OE_Default;} break; - case 69: /* onconf ::= ON CONFLICT resolvetype */ -{yymsp[-2].minor.yy70 = yymsp[0].minor.yy70;} + case 70: /* onconf ::= ON CONFLICT resolvetype */ +{yymsp[-2].minor.yy32 = yymsp[0].minor.yy32;} break; - case 72: /* resolvetype ::= IGNORE */ -{yymsp[0].minor.yy70 = OE_Ignore;} + case 73: /* resolvetype ::= IGNORE */ +{yymsp[0].minor.yy32 = OE_Ignore;} break; - case 73: /* resolvetype ::= REPLACE */ - case 157: /* insert_cmd ::= REPLACE */ yytestcase(yyruleno==157); -{yymsp[0].minor.yy70 = OE_Replace;} + case 74: /* resolvetype ::= REPLACE */ + case 161: /* insert_cmd ::= REPLACE */ yytestcase(yyruleno==161); +{yymsp[0].minor.yy32 = OE_Replace;} break; - case 74: /* cmd ::= DROP TABLE ifexists fullname */ + case 75: /* cmd ::= DROP TABLE ifexists fullname */ { - sqlite3DropTable(pParse, yymsp[0].minor.yy135, 0, yymsp[-1].minor.yy70); + sqlite3DropTable(pParse, yymsp[0].minor.yy609, 0, yymsp[-1].minor.yy32); } break; - case 77: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ + case 78: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ { - sqlite3CreateView(pParse, &yymsp[-8].minor.yy0, &yymsp[-4].minor.yy0, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy420, yymsp[0].minor.yy489, yymsp[-7].minor.yy70, yymsp[-5].minor.yy70); + sqlite3CreateView(pParse, &yymsp[-8].minor.yy0, &yymsp[-4].minor.yy0, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy138, yymsp[0].minor.yy25, yymsp[-7].minor.yy32, yymsp[-5].minor.yy32); } break; - case 78: /* cmd ::= DROP VIEW ifexists fullname */ + case 79: /* cmd ::= DROP VIEW ifexists fullname */ { - sqlite3DropTable(pParse, yymsp[0].minor.yy135, 1, yymsp[-1].minor.yy70); + sqlite3DropTable(pParse, yymsp[0].minor.yy609, 1, yymsp[-1].minor.yy32); } break; - case 79: /* cmd ::= select */ + case 80: /* cmd ::= select */ { SelectDest dest = {SRT_Output, 0, 0, 0, 0, 0}; - sqlite3Select(pParse, yymsp[0].minor.yy489, &dest); - sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy489); + sqlite3Select(pParse, yymsp[0].minor.yy25, &dest); + sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy25); } break; - case 80: /* select ::= WITH wqlist selectnowith */ + case 81: /* select ::= WITH wqlist selectnowith */ { - Select *p = yymsp[0].minor.yy489; + Select *p = yymsp[0].minor.yy25; if( p ){ - p->pWith = yymsp[-1].minor.yy449; + p->pWith = yymsp[-1].minor.yy297; parserDoubleLinkSelect(pParse, p); }else{ - sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy449); + sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy297); } - yymsp[-2].minor.yy489 = p; + yymsp[-2].minor.yy25 = p; } break; - case 81: /* select ::= WITH RECURSIVE wqlist selectnowith */ + case 82: /* select ::= WITH RECURSIVE wqlist selectnowith */ { - Select *p = yymsp[0].minor.yy489; + Select *p = yymsp[0].minor.yy25; if( p ){ - p->pWith = yymsp[-1].minor.yy449; + p->pWith = yymsp[-1].minor.yy297; parserDoubleLinkSelect(pParse, p); }else{ - sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy449); + sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy297); } - yymsp[-3].minor.yy489 = p; + yymsp[-3].minor.yy25 = p; } break; - case 82: /* select ::= selectnowith */ + case 83: /* select ::= selectnowith */ { - Select *p = yymsp[0].minor.yy489; + Select *p = yymsp[0].minor.yy25; if( p ){ parserDoubleLinkSelect(pParse, p); } - yymsp[0].minor.yy489 = p; /*A-overwrites-X*/ + yymsp[0].minor.yy25 = p; /*A-overwrites-X*/ } break; - case 83: /* selectnowith ::= selectnowith multiselect_op oneselect */ + case 84: /* selectnowith ::= selectnowith multiselect_op oneselect */ { - Select *pRhs = yymsp[0].minor.yy489; - Select *pLhs = yymsp[-2].minor.yy489; + Select *pRhs = yymsp[0].minor.yy25; + Select *pLhs = yymsp[-2].minor.yy25; if( pRhs && pRhs->pPrior ){ SrcList *pFrom; Token x; @@ -149854,341 +153254,356 @@ static YYACTIONTYPE yy_reduce( pRhs = sqlite3SelectNew(pParse,0,pFrom,0,0,0,0,0,0); } if( pRhs ){ - pRhs->op = (u8)yymsp[-1].minor.yy70; + pRhs->op = (u8)yymsp[-1].minor.yy32; pRhs->pPrior = pLhs; if( ALWAYS(pLhs) ) pLhs->selFlags &= ~SF_MultiValue; pRhs->selFlags &= ~SF_MultiValue; - if( yymsp[-1].minor.yy70!=TK_ALL ) pParse->hasCompound = 1; + if( yymsp[-1].minor.yy32!=TK_ALL ) pParse->hasCompound = 1; }else{ sqlite3SelectDelete(pParse->db, pLhs); } - yymsp[-2].minor.yy489 = pRhs; + yymsp[-2].minor.yy25 = pRhs; } break; - case 84: /* multiselect_op ::= UNION */ - case 86: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==86); -{yymsp[0].minor.yy70 = yymsp[0].major; /*A-overwrites-OP*/} + case 85: /* multiselect_op ::= UNION */ + case 87: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==87); +{yymsp[0].minor.yy32 = yymsp[0].major; /*A-overwrites-OP*/} break; - case 85: /* multiselect_op ::= UNION ALL */ -{yymsp[-1].minor.yy70 = TK_ALL;} + case 86: /* multiselect_op ::= UNION ALL */ +{yymsp[-1].minor.yy32 = TK_ALL;} break; - case 87: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ + case 88: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ { - yymsp[-8].minor.yy489 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy420,yymsp[-5].minor.yy135,yymsp[-4].minor.yy18,yymsp[-3].minor.yy420,yymsp[-2].minor.yy18,yymsp[-1].minor.yy420,yymsp[-7].minor.yy70,yymsp[0].minor.yy18); + yymsp[-8].minor.yy25 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy138,yymsp[-5].minor.yy609,yymsp[-4].minor.yy46,yymsp[-3].minor.yy138,yymsp[-2].minor.yy46,yymsp[-1].minor.yy138,yymsp[-7].minor.yy32,yymsp[0].minor.yy46); } break; - case 88: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ + case 89: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ { - yymsp[-9].minor.yy489 = sqlite3SelectNew(pParse,yymsp[-7].minor.yy420,yymsp[-6].minor.yy135,yymsp[-5].minor.yy18,yymsp[-4].minor.yy420,yymsp[-3].minor.yy18,yymsp[-1].minor.yy420,yymsp[-8].minor.yy70,yymsp[0].minor.yy18); - if( yymsp[-9].minor.yy489 ){ - yymsp[-9].minor.yy489->pWinDefn = yymsp[-2].minor.yy327; + yymsp[-9].minor.yy25 = sqlite3SelectNew(pParse,yymsp[-7].minor.yy138,yymsp[-6].minor.yy609,yymsp[-5].minor.yy46,yymsp[-4].minor.yy138,yymsp[-3].minor.yy46,yymsp[-1].minor.yy138,yymsp[-8].minor.yy32,yymsp[0].minor.yy46); + if( yymsp[-9].minor.yy25 ){ + yymsp[-9].minor.yy25->pWinDefn = yymsp[-2].minor.yy455; }else{ - sqlite3WindowListDelete(pParse->db, yymsp[-2].minor.yy327); + sqlite3WindowListDelete(pParse->db, yymsp[-2].minor.yy455); } } break; - case 89: /* values ::= VALUES LP nexprlist RP */ + case 90: /* values ::= VALUES LP nexprlist RP */ { - yymsp[-3].minor.yy489 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy420,0,0,0,0,0,SF_Values,0); + yymsp[-3].minor.yy25 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy138,0,0,0,0,0,SF_Values,0); } break; - case 90: /* values ::= values COMMA LP nexprlist RP */ + case 91: /* values ::= values COMMA LP nexprlist RP */ { - Select *pRight, *pLeft = yymsp[-4].minor.yy489; - pRight = sqlite3SelectNew(pParse,yymsp[-1].minor.yy420,0,0,0,0,0,SF_Values|SF_MultiValue,0); + Select *pRight, *pLeft = yymsp[-4].minor.yy25; + pRight = sqlite3SelectNew(pParse,yymsp[-1].minor.yy138,0,0,0,0,0,SF_Values|SF_MultiValue,0); if( ALWAYS(pLeft) ) pLeft->selFlags &= ~SF_MultiValue; if( pRight ){ pRight->op = TK_ALL; pRight->pPrior = pLeft; - yymsp[-4].minor.yy489 = pRight; + yymsp[-4].minor.yy25 = pRight; }else{ - yymsp[-4].minor.yy489 = pLeft; + yymsp[-4].minor.yy25 = pLeft; } } break; - case 91: /* distinct ::= DISTINCT */ -{yymsp[0].minor.yy70 = SF_Distinct;} + case 92: /* distinct ::= DISTINCT */ +{yymsp[0].minor.yy32 = SF_Distinct;} break; - case 92: /* distinct ::= ALL */ -{yymsp[0].minor.yy70 = SF_All;} + case 93: /* distinct ::= ALL */ +{yymsp[0].minor.yy32 = SF_All;} break; - case 94: /* sclp ::= */ - case 127: /* orderby_opt ::= */ yytestcase(yyruleno==127); - case 134: /* groupby_opt ::= */ yytestcase(yyruleno==134); - case 214: /* exprlist ::= */ yytestcase(yyruleno==214); - case 217: /* paren_exprlist ::= */ yytestcase(yyruleno==217); - case 222: /* eidlist_opt ::= */ yytestcase(yyruleno==222); -{yymsp[1].minor.yy420 = 0;} + case 95: /* sclp ::= */ + case 128: /* orderby_opt ::= */ yytestcase(yyruleno==128); + case 138: /* groupby_opt ::= */ yytestcase(yyruleno==138); + case 218: /* exprlist ::= */ yytestcase(yyruleno==218); + case 221: /* paren_exprlist ::= */ yytestcase(yyruleno==221); + case 226: /* eidlist_opt ::= */ yytestcase(yyruleno==226); +{yymsp[1].minor.yy138 = 0;} break; - case 95: /* selcollist ::= sclp scanpt expr scanpt as */ + case 96: /* selcollist ::= sclp scanpt expr scanpt as */ { - yymsp[-4].minor.yy420 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy420, yymsp[-2].minor.yy18); - if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy420, &yymsp[0].minor.yy0, 1); - sqlite3ExprListSetSpan(pParse,yymsp[-4].minor.yy420,yymsp[-3].minor.yy392,yymsp[-1].minor.yy392); + yymsp[-4].minor.yy138 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy138, yymsp[-2].minor.yy46); + if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy138, &yymsp[0].minor.yy0, 1); + sqlite3ExprListSetSpan(pParse,yymsp[-4].minor.yy138,yymsp[-3].minor.yy8,yymsp[-1].minor.yy8); } break; - case 96: /* selcollist ::= sclp scanpt STAR */ + case 97: /* selcollist ::= sclp scanpt STAR */ { Expr *p = sqlite3Expr(pParse->db, TK_ASTERISK, 0); - yymsp[-2].minor.yy420 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy420, p); + yymsp[-2].minor.yy138 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy138, p); } break; - case 97: /* selcollist ::= sclp scanpt nm DOT STAR */ + case 98: /* selcollist ::= sclp scanpt nm DOT STAR */ { Expr *pRight = sqlite3PExpr(pParse, TK_ASTERISK, 0, 0); Expr *pLeft = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight); - yymsp[-4].minor.yy420 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy420, pDot); + yymsp[-4].minor.yy138 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy138, pDot); } break; - case 98: /* as ::= AS nm */ - case 109: /* dbnm ::= DOT nm */ yytestcase(yyruleno==109); - case 236: /* plus_num ::= PLUS INTEGER|FLOAT */ yytestcase(yyruleno==236); - case 237: /* minus_num ::= MINUS INTEGER|FLOAT */ yytestcase(yyruleno==237); + case 99: /* as ::= AS nm */ + case 110: /* dbnm ::= DOT nm */ yytestcase(yyruleno==110); + case 242: /* plus_num ::= PLUS INTEGER|FLOAT */ yytestcase(yyruleno==242); + case 243: /* minus_num ::= MINUS INTEGER|FLOAT */ yytestcase(yyruleno==243); {yymsp[-1].minor.yy0 = yymsp[0].minor.yy0;} break; - case 100: /* from ::= */ -{yymsp[1].minor.yy135 = sqlite3DbMallocZero(pParse->db, sizeof(*yymsp[1].minor.yy135));} + case 101: /* from ::= */ +{yymsp[1].minor.yy609 = sqlite3DbMallocZero(pParse->db, sizeof(*yymsp[1].minor.yy609));} break; - case 101: /* from ::= FROM seltablist */ + case 102: /* from ::= FROM seltablist */ { - yymsp[-1].minor.yy135 = yymsp[0].minor.yy135; - sqlite3SrcListShiftJoinType(yymsp[-1].minor.yy135); + yymsp[-1].minor.yy609 = yymsp[0].minor.yy609; + sqlite3SrcListShiftJoinType(yymsp[-1].minor.yy609); } break; - case 102: /* stl_prefix ::= seltablist joinop */ + case 103: /* stl_prefix ::= seltablist joinop */ { - if( ALWAYS(yymsp[-1].minor.yy135 && yymsp[-1].minor.yy135->nSrc>0) ) yymsp[-1].minor.yy135->a[yymsp[-1].minor.yy135->nSrc-1].fg.jointype = (u8)yymsp[0].minor.yy70; + if( ALWAYS(yymsp[-1].minor.yy609 && yymsp[-1].minor.yy609->nSrc>0) ) yymsp[-1].minor.yy609->a[yymsp[-1].minor.yy609->nSrc-1].fg.jointype = (u8)yymsp[0].minor.yy32; } break; - case 103: /* stl_prefix ::= */ -{yymsp[1].minor.yy135 = 0;} + case 104: /* stl_prefix ::= */ +{yymsp[1].minor.yy609 = 0;} break; - case 104: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ + case 105: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ { - yymsp[-6].minor.yy135 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy135,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy18,yymsp[0].minor.yy48); - sqlite3SrcListIndexedBy(pParse, yymsp[-6].minor.yy135, &yymsp[-2].minor.yy0); + yymsp[-6].minor.yy609 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy609,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy46,yymsp[0].minor.yy406); + sqlite3SrcListIndexedBy(pParse, yymsp[-6].minor.yy609, &yymsp[-2].minor.yy0); } break; - case 105: /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ + case 106: /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ { - yymsp[-8].minor.yy135 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-8].minor.yy135,&yymsp[-7].minor.yy0,&yymsp[-6].minor.yy0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy18,yymsp[0].minor.yy48); - sqlite3SrcListFuncArgs(pParse, yymsp[-8].minor.yy135, yymsp[-4].minor.yy420); + yymsp[-8].minor.yy609 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-8].minor.yy609,&yymsp[-7].minor.yy0,&yymsp[-6].minor.yy0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy46,yymsp[0].minor.yy406); + sqlite3SrcListFuncArgs(pParse, yymsp[-8].minor.yy609, yymsp[-4].minor.yy138); } break; - case 106: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ + case 107: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ { - yymsp[-6].minor.yy135 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy135,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy489,yymsp[-1].minor.yy18,yymsp[0].minor.yy48); + yymsp[-6].minor.yy609 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy609,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy25,yymsp[-1].minor.yy46,yymsp[0].minor.yy406); } break; - case 107: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ + case 108: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ { - if( yymsp[-6].minor.yy135==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy18==0 && yymsp[0].minor.yy48==0 ){ - yymsp[-6].minor.yy135 = yymsp[-4].minor.yy135; - }else if( yymsp[-4].minor.yy135->nSrc==1 ){ - yymsp[-6].minor.yy135 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy135,0,0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy18,yymsp[0].minor.yy48); - if( yymsp[-6].minor.yy135 ){ - struct SrcList_item *pNew = &yymsp[-6].minor.yy135->a[yymsp[-6].minor.yy135->nSrc-1]; - struct SrcList_item *pOld = yymsp[-4].minor.yy135->a; + if( yymsp[-6].minor.yy609==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy46==0 && yymsp[0].minor.yy406==0 ){ + yymsp[-6].minor.yy609 = yymsp[-4].minor.yy609; + }else if( yymsp[-4].minor.yy609->nSrc==1 ){ + yymsp[-6].minor.yy609 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy609,0,0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy46,yymsp[0].minor.yy406); + if( yymsp[-6].minor.yy609 ){ + struct SrcList_item *pNew = &yymsp[-6].minor.yy609->a[yymsp[-6].minor.yy609->nSrc-1]; + struct SrcList_item *pOld = yymsp[-4].minor.yy609->a; pNew->zName = pOld->zName; pNew->zDatabase = pOld->zDatabase; pNew->pSelect = pOld->pSelect; + if( pOld->fg.isTabFunc ){ + pNew->u1.pFuncArg = pOld->u1.pFuncArg; + pOld->u1.pFuncArg = 0; + pOld->fg.isTabFunc = 0; + pNew->fg.isTabFunc = 1; + } pOld->zName = pOld->zDatabase = 0; pOld->pSelect = 0; } - sqlite3SrcListDelete(pParse->db, yymsp[-4].minor.yy135); + sqlite3SrcListDelete(pParse->db, yymsp[-4].minor.yy609); }else{ Select *pSubquery; - sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy135); - pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy135,0,0,0,0,SF_NestedFrom,0); - yymsp[-6].minor.yy135 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy135,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy18,yymsp[0].minor.yy48); + sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy609); + pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy609,0,0,0,0,SF_NestedFrom,0); + yymsp[-6].minor.yy609 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy609,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy46,yymsp[0].minor.yy406); } } break; - case 108: /* dbnm ::= */ - case 122: /* indexed_opt ::= */ yytestcase(yyruleno==122); + case 109: /* dbnm ::= */ + case 123: /* indexed_opt ::= */ yytestcase(yyruleno==123); {yymsp[1].minor.yy0.z=0; yymsp[1].minor.yy0.n=0;} break; - case 110: /* fullname ::= nm */ + case 111: /* fullname ::= nm */ { - yylhsminor.yy135 = sqlite3SrcListAppend(pParse->db,0,&yymsp[0].minor.yy0,0); - if( IN_RENAME_OBJECT && yylhsminor.yy135 ) sqlite3RenameTokenMap(pParse, yylhsminor.yy135->a[0].zName, &yymsp[0].minor.yy0); + yylhsminor.yy609 = sqlite3SrcListAppend(pParse,0,&yymsp[0].minor.yy0,0); + if( IN_RENAME_OBJECT && yylhsminor.yy609 ) sqlite3RenameTokenMap(pParse, yylhsminor.yy609->a[0].zName, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy135 = yylhsminor.yy135; + yymsp[0].minor.yy609 = yylhsminor.yy609; break; - case 111: /* fullname ::= nm DOT nm */ + case 112: /* fullname ::= nm DOT nm */ { - yylhsminor.yy135 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); - if( IN_RENAME_OBJECT && yylhsminor.yy135 ) sqlite3RenameTokenMap(pParse, yylhsminor.yy135->a[0].zName, &yymsp[0].minor.yy0); + yylhsminor.yy609 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); + if( IN_RENAME_OBJECT && yylhsminor.yy609 ) sqlite3RenameTokenMap(pParse, yylhsminor.yy609->a[0].zName, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy135 = yylhsminor.yy135; + yymsp[-2].minor.yy609 = yylhsminor.yy609; break; - case 112: /* xfullname ::= nm */ -{yymsp[0].minor.yy135 = sqlite3SrcListAppend(pParse->db,0,&yymsp[0].minor.yy0,0); /*A-overwrites-X*/} + case 113: /* xfullname ::= nm */ +{yymsp[0].minor.yy609 = sqlite3SrcListAppend(pParse,0,&yymsp[0].minor.yy0,0); /*A-overwrites-X*/} break; - case 113: /* xfullname ::= nm DOT nm */ -{yymsp[-2].minor.yy135 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/} + case 114: /* xfullname ::= nm DOT nm */ +{yymsp[-2].minor.yy609 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/} break; - case 114: /* xfullname ::= nm DOT nm AS nm */ + case 115: /* xfullname ::= nm DOT nm AS nm */ { - yymsp[-4].minor.yy135 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-4].minor.yy0,&yymsp[-2].minor.yy0); /*A-overwrites-X*/ - if( yymsp[-4].minor.yy135 ) yymsp[-4].minor.yy135->a[0].zAlias = sqlite3NameFromToken(pParse->db, &yymsp[0].minor.yy0); + yymsp[-4].minor.yy609 = sqlite3SrcListAppend(pParse,0,&yymsp[-4].minor.yy0,&yymsp[-2].minor.yy0); /*A-overwrites-X*/ + if( yymsp[-4].minor.yy609 ) yymsp[-4].minor.yy609->a[0].zAlias = sqlite3NameFromToken(pParse->db, &yymsp[0].minor.yy0); } break; - case 115: /* xfullname ::= nm AS nm */ + case 116: /* xfullname ::= nm AS nm */ { - yymsp[-2].minor.yy135 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-2].minor.yy0,0); /*A-overwrites-X*/ - if( yymsp[-2].minor.yy135 ) yymsp[-2].minor.yy135->a[0].zAlias = sqlite3NameFromToken(pParse->db, &yymsp[0].minor.yy0); + yymsp[-2].minor.yy609 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,0); /*A-overwrites-X*/ + if( yymsp[-2].minor.yy609 ) yymsp[-2].minor.yy609->a[0].zAlias = sqlite3NameFromToken(pParse->db, &yymsp[0].minor.yy0); } break; - case 116: /* joinop ::= COMMA|JOIN */ -{ yymsp[0].minor.yy70 = JT_INNER; } + case 117: /* joinop ::= COMMA|JOIN */ +{ yymsp[0].minor.yy32 = JT_INNER; } break; - case 117: /* joinop ::= JOIN_KW JOIN */ -{yymsp[-1].minor.yy70 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); /*X-overwrites-A*/} + case 118: /* joinop ::= JOIN_KW JOIN */ +{yymsp[-1].minor.yy32 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); /*X-overwrites-A*/} break; - case 118: /* joinop ::= JOIN_KW nm JOIN */ -{yymsp[-2].minor.yy70 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); /*X-overwrites-A*/} + case 119: /* joinop ::= JOIN_KW nm JOIN */ +{yymsp[-2].minor.yy32 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); /*X-overwrites-A*/} break; - case 119: /* joinop ::= JOIN_KW nm nm JOIN */ -{yymsp[-3].minor.yy70 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0);/*X-overwrites-A*/} + case 120: /* joinop ::= JOIN_KW nm nm JOIN */ +{yymsp[-3].minor.yy32 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0);/*X-overwrites-A*/} break; - case 120: /* on_opt ::= ON expr */ - case 137: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==137); - case 144: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==144); - case 210: /* case_else ::= ELSE expr */ yytestcase(yyruleno==210); -{yymsp[-1].minor.yy18 = yymsp[0].minor.yy18;} + case 121: /* on_opt ::= ON expr */ + case 141: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==141); + case 148: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==148); + case 214: /* case_else ::= ELSE expr */ yytestcase(yyruleno==214); + case 235: /* vinto ::= INTO expr */ yytestcase(yyruleno==235); +{yymsp[-1].minor.yy46 = yymsp[0].minor.yy46;} break; - case 121: /* on_opt ::= */ - case 136: /* having_opt ::= */ yytestcase(yyruleno==136); - case 138: /* limit_opt ::= */ yytestcase(yyruleno==138); - case 143: /* where_opt ::= */ yytestcase(yyruleno==143); - case 211: /* case_else ::= */ yytestcase(yyruleno==211); - case 213: /* case_operand ::= */ yytestcase(yyruleno==213); -{yymsp[1].minor.yy18 = 0;} + case 122: /* on_opt ::= */ + case 140: /* having_opt ::= */ yytestcase(yyruleno==140); + case 142: /* limit_opt ::= */ yytestcase(yyruleno==142); + case 147: /* where_opt ::= */ yytestcase(yyruleno==147); + case 215: /* case_else ::= */ yytestcase(yyruleno==215); + case 217: /* case_operand ::= */ yytestcase(yyruleno==217); + case 236: /* vinto ::= */ yytestcase(yyruleno==236); +{yymsp[1].minor.yy46 = 0;} break; - case 123: /* indexed_opt ::= INDEXED BY nm */ + case 124: /* indexed_opt ::= INDEXED BY nm */ {yymsp[-2].minor.yy0 = yymsp[0].minor.yy0;} break; - case 124: /* indexed_opt ::= NOT INDEXED */ + case 125: /* indexed_opt ::= NOT INDEXED */ {yymsp[-1].minor.yy0.z=0; yymsp[-1].minor.yy0.n=1;} break; - case 125: /* using_opt ::= USING LP idlist RP */ -{yymsp[-3].minor.yy48 = yymsp[-1].minor.yy48;} + case 126: /* using_opt ::= USING LP idlist RP */ +{yymsp[-3].minor.yy406 = yymsp[-1].minor.yy406;} break; - case 126: /* using_opt ::= */ - case 158: /* idlist_opt ::= */ yytestcase(yyruleno==158); -{yymsp[1].minor.yy48 = 0;} + case 127: /* using_opt ::= */ + case 162: /* idlist_opt ::= */ yytestcase(yyruleno==162); +{yymsp[1].minor.yy406 = 0;} break; - case 128: /* orderby_opt ::= ORDER BY sortlist */ - case 135: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==135); -{yymsp[-2].minor.yy420 = yymsp[0].minor.yy420;} + case 129: /* orderby_opt ::= ORDER BY sortlist */ + case 139: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==139); +{yymsp[-2].minor.yy138 = yymsp[0].minor.yy138;} break; - case 129: /* sortlist ::= sortlist COMMA expr sortorder */ + case 130: /* sortlist ::= sortlist COMMA expr sortorder nulls */ { - yymsp[-3].minor.yy420 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy420,yymsp[-1].minor.yy18); - sqlite3ExprListSetSortOrder(yymsp[-3].minor.yy420,yymsp[0].minor.yy70); + yymsp[-4].minor.yy138 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy138,yymsp[-2].minor.yy46); + sqlite3ExprListSetSortOrder(yymsp[-4].minor.yy138,yymsp[-1].minor.yy32,yymsp[0].minor.yy32); } break; - case 130: /* sortlist ::= expr sortorder */ + case 131: /* sortlist ::= expr sortorder nulls */ { - yymsp[-1].minor.yy420 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy18); /*A-overwrites-Y*/ - sqlite3ExprListSetSortOrder(yymsp[-1].minor.yy420,yymsp[0].minor.yy70); + yymsp[-2].minor.yy138 = sqlite3ExprListAppend(pParse,0,yymsp[-2].minor.yy46); /*A-overwrites-Y*/ + sqlite3ExprListSetSortOrder(yymsp[-2].minor.yy138,yymsp[-1].minor.yy32,yymsp[0].minor.yy32); } break; - case 131: /* sortorder ::= ASC */ -{yymsp[0].minor.yy70 = SQLITE_SO_ASC;} + case 132: /* sortorder ::= ASC */ +{yymsp[0].minor.yy32 = SQLITE_SO_ASC;} break; - case 132: /* sortorder ::= DESC */ -{yymsp[0].minor.yy70 = SQLITE_SO_DESC;} + case 133: /* sortorder ::= DESC */ +{yymsp[0].minor.yy32 = SQLITE_SO_DESC;} break; - case 133: /* sortorder ::= */ -{yymsp[1].minor.yy70 = SQLITE_SO_UNDEFINED;} + case 134: /* sortorder ::= */ + case 137: /* nulls ::= */ yytestcase(yyruleno==137); +{yymsp[1].minor.yy32 = SQLITE_SO_UNDEFINED;} break; - case 139: /* limit_opt ::= LIMIT expr */ -{yymsp[-1].minor.yy18 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy18,0);} + case 135: /* nulls ::= NULLS FIRST */ +{yymsp[-1].minor.yy32 = SQLITE_SO_ASC;} break; - case 140: /* limit_opt ::= LIMIT expr OFFSET expr */ -{yymsp[-3].minor.yy18 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[-2].minor.yy18,yymsp[0].minor.yy18);} + case 136: /* nulls ::= NULLS LAST */ +{yymsp[-1].minor.yy32 = SQLITE_SO_DESC;} break; - case 141: /* limit_opt ::= LIMIT expr COMMA expr */ -{yymsp[-3].minor.yy18 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy18,yymsp[-2].minor.yy18);} + case 143: /* limit_opt ::= LIMIT expr */ +{yymsp[-1].minor.yy46 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy46,0);} break; - case 142: /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt */ + case 144: /* limit_opt ::= LIMIT expr OFFSET expr */ +{yymsp[-3].minor.yy46 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[-2].minor.yy46,yymsp[0].minor.yy46);} + break; + case 145: /* limit_opt ::= LIMIT expr COMMA expr */ +{yymsp[-3].minor.yy46 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy46,yymsp[-2].minor.yy46);} + break; + case 146: /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt */ { - sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy135, &yymsp[-1].minor.yy0); - sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy135,yymsp[0].minor.yy18,0,0); + sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy609, &yymsp[-1].minor.yy0); + sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy609,yymsp[0].minor.yy46,0,0); } break; - case 145: /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist where_opt */ + case 149: /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist where_opt */ { - sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy135, &yymsp[-3].minor.yy0); - sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy420,"set list"); - sqlite3Update(pParse,yymsp[-4].minor.yy135,yymsp[-1].minor.yy420,yymsp[0].minor.yy18,yymsp[-5].minor.yy70,0,0,0); + sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy609, &yymsp[-3].minor.yy0); + sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy138,"set list"); + sqlite3Update(pParse,yymsp[-4].minor.yy609,yymsp[-1].minor.yy138,yymsp[0].minor.yy46,yymsp[-5].minor.yy32,0,0,0); } break; - case 146: /* setlist ::= setlist COMMA nm EQ expr */ + case 150: /* setlist ::= setlist COMMA nm EQ expr */ { - yymsp[-4].minor.yy420 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy420, yymsp[0].minor.yy18); - sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy420, &yymsp[-2].minor.yy0, 1); + yymsp[-4].minor.yy138 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy138, yymsp[0].minor.yy46); + sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy138, &yymsp[-2].minor.yy0, 1); } break; - case 147: /* setlist ::= setlist COMMA LP idlist RP EQ expr */ + case 151: /* setlist ::= setlist COMMA LP idlist RP EQ expr */ { - yymsp[-6].minor.yy420 = sqlite3ExprListAppendVector(pParse, yymsp[-6].minor.yy420, yymsp[-3].minor.yy48, yymsp[0].minor.yy18); + yymsp[-6].minor.yy138 = sqlite3ExprListAppendVector(pParse, yymsp[-6].minor.yy138, yymsp[-3].minor.yy406, yymsp[0].minor.yy46); } break; - case 148: /* setlist ::= nm EQ expr */ + case 152: /* setlist ::= nm EQ expr */ { - yylhsminor.yy420 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy18); - sqlite3ExprListSetName(pParse, yylhsminor.yy420, &yymsp[-2].minor.yy0, 1); + yylhsminor.yy138 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy46); + sqlite3ExprListSetName(pParse, yylhsminor.yy138, &yymsp[-2].minor.yy0, 1); } - yymsp[-2].minor.yy420 = yylhsminor.yy420; + yymsp[-2].minor.yy138 = yylhsminor.yy138; break; - case 149: /* setlist ::= LP idlist RP EQ expr */ + case 153: /* setlist ::= LP idlist RP EQ expr */ { - yymsp[-4].minor.yy420 = sqlite3ExprListAppendVector(pParse, 0, yymsp[-3].minor.yy48, yymsp[0].minor.yy18); + yymsp[-4].minor.yy138 = sqlite3ExprListAppendVector(pParse, 0, yymsp[-3].minor.yy406, yymsp[0].minor.yy46); } break; - case 150: /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ + case 154: /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ { - sqlite3Insert(pParse, yymsp[-3].minor.yy135, yymsp[-1].minor.yy489, yymsp[-2].minor.yy48, yymsp[-5].minor.yy70, yymsp[0].minor.yy340); + sqlite3Insert(pParse, yymsp[-3].minor.yy609, yymsp[-1].minor.yy25, yymsp[-2].minor.yy406, yymsp[-5].minor.yy32, yymsp[0].minor.yy288); } break; - case 151: /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES */ + case 155: /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES */ { - sqlite3Insert(pParse, yymsp[-3].minor.yy135, 0, yymsp[-2].minor.yy48, yymsp[-5].minor.yy70, 0); + sqlite3Insert(pParse, yymsp[-3].minor.yy609, 0, yymsp[-2].minor.yy406, yymsp[-5].minor.yy32, 0); } break; - case 152: /* upsert ::= */ -{ yymsp[1].minor.yy340 = 0; } + case 156: /* upsert ::= */ +{ yymsp[1].minor.yy288 = 0; } break; - case 153: /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt */ -{ yymsp[-10].minor.yy340 = sqlite3UpsertNew(pParse->db,yymsp[-7].minor.yy420,yymsp[-5].minor.yy18,yymsp[-1].minor.yy420,yymsp[0].minor.yy18);} + case 157: /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt */ +{ yymsp[-10].minor.yy288 = sqlite3UpsertNew(pParse->db,yymsp[-7].minor.yy138,yymsp[-5].minor.yy46,yymsp[-1].minor.yy138,yymsp[0].minor.yy46);} break; - case 154: /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING */ -{ yymsp[-7].minor.yy340 = sqlite3UpsertNew(pParse->db,yymsp[-4].minor.yy420,yymsp[-2].minor.yy18,0,0); } + case 158: /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING */ +{ yymsp[-7].minor.yy288 = sqlite3UpsertNew(pParse->db,yymsp[-4].minor.yy138,yymsp[-2].minor.yy46,0,0); } break; - case 155: /* upsert ::= ON CONFLICT DO NOTHING */ -{ yymsp[-3].minor.yy340 = sqlite3UpsertNew(pParse->db,0,0,0,0); } + case 159: /* upsert ::= ON CONFLICT DO NOTHING */ +{ yymsp[-3].minor.yy288 = sqlite3UpsertNew(pParse->db,0,0,0,0); } break; - case 159: /* idlist_opt ::= LP idlist RP */ -{yymsp[-2].minor.yy48 = yymsp[-1].minor.yy48;} + case 163: /* idlist_opt ::= LP idlist RP */ +{yymsp[-2].minor.yy406 = yymsp[-1].minor.yy406;} break; - case 160: /* idlist ::= idlist COMMA nm */ -{yymsp[-2].minor.yy48 = sqlite3IdListAppend(pParse,yymsp[-2].minor.yy48,&yymsp[0].minor.yy0);} + case 164: /* idlist ::= idlist COMMA nm */ +{yymsp[-2].minor.yy406 = sqlite3IdListAppend(pParse,yymsp[-2].minor.yy406,&yymsp[0].minor.yy0);} break; - case 161: /* idlist ::= nm */ -{yymsp[0].minor.yy48 = sqlite3IdListAppend(pParse,0,&yymsp[0].minor.yy0); /*A-overwrites-Y*/} + case 165: /* idlist ::= nm */ +{yymsp[0].minor.yy406 = sqlite3IdListAppend(pParse,0,&yymsp[0].minor.yy0); /*A-overwrites-Y*/} break; - case 162: /* expr ::= LP expr RP */ -{yymsp[-2].minor.yy18 = yymsp[-1].minor.yy18;} + case 166: /* expr ::= LP expr RP */ +{yymsp[-2].minor.yy46 = yymsp[-1].minor.yy46;} break; - case 163: /* expr ::= ID|INDEXED */ - case 164: /* expr ::= JOIN_KW */ yytestcase(yyruleno==164); -{yymsp[0].minor.yy18=tokenExpr(pParse,TK_ID,yymsp[0].minor.yy0); /*A-overwrites-X*/} + case 167: /* expr ::= ID|INDEXED */ + case 168: /* expr ::= JOIN_KW */ yytestcase(yyruleno==168); +{yymsp[0].minor.yy46=tokenExpr(pParse,TK_ID,yymsp[0].minor.yy0); /*A-overwrites-X*/} break; - case 165: /* expr ::= nm DOT nm */ + case 169: /* expr ::= nm DOT nm */ { Expr *temp1 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); Expr *temp2 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[0].minor.yy0, 1); @@ -150196,11 +153611,11 @@ static YYACTIONTYPE yy_reduce( sqlite3RenameTokenMap(pParse, (void*)temp2, &yymsp[0].minor.yy0); sqlite3RenameTokenMap(pParse, (void*)temp1, &yymsp[-2].minor.yy0); } - yylhsminor.yy18 = sqlite3PExpr(pParse, TK_DOT, temp1, temp2); + yylhsminor.yy46 = sqlite3PExpr(pParse, TK_DOT, temp1, temp2); } - yymsp[-2].minor.yy18 = yylhsminor.yy18; + yymsp[-2].minor.yy46 = yylhsminor.yy46; break; - case 166: /* expr ::= nm DOT nm DOT nm */ + case 170: /* expr ::= nm DOT nm DOT nm */ { Expr *temp1 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-4].minor.yy0, 1); Expr *temp2 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); @@ -150210,26 +153625,26 @@ static YYACTIONTYPE yy_reduce( sqlite3RenameTokenMap(pParse, (void*)temp3, &yymsp[0].minor.yy0); sqlite3RenameTokenMap(pParse, (void*)temp2, &yymsp[-2].minor.yy0); } - yylhsminor.yy18 = sqlite3PExpr(pParse, TK_DOT, temp1, temp4); + yylhsminor.yy46 = sqlite3PExpr(pParse, TK_DOT, temp1, temp4); } - yymsp[-4].minor.yy18 = yylhsminor.yy18; + yymsp[-4].minor.yy46 = yylhsminor.yy46; break; - case 167: /* term ::= NULL|FLOAT|BLOB */ - case 168: /* term ::= STRING */ yytestcase(yyruleno==168); -{yymsp[0].minor.yy18=tokenExpr(pParse,yymsp[0].major,yymsp[0].minor.yy0); /*A-overwrites-X*/} + case 171: /* term ::= NULL|FLOAT|BLOB */ + case 172: /* term ::= STRING */ yytestcase(yyruleno==172); +{yymsp[0].minor.yy46=tokenExpr(pParse,yymsp[0].major,yymsp[0].minor.yy0); /*A-overwrites-X*/} break; - case 169: /* term ::= INTEGER */ + case 173: /* term ::= INTEGER */ { - yylhsminor.yy18 = sqlite3ExprAlloc(pParse->db, TK_INTEGER, &yymsp[0].minor.yy0, 1); + yylhsminor.yy46 = sqlite3ExprAlloc(pParse->db, TK_INTEGER, &yymsp[0].minor.yy0, 1); } - yymsp[0].minor.yy18 = yylhsminor.yy18; + yymsp[0].minor.yy46 = yylhsminor.yy46; break; - case 170: /* expr ::= VARIABLE */ + case 174: /* expr ::= VARIABLE */ { if( !(yymsp[0].minor.yy0.z[0]=='#' && sqlite3Isdigit(yymsp[0].minor.yy0.z[1])) ){ u32 n = yymsp[0].minor.yy0.n; - yymsp[0].minor.yy18 = tokenExpr(pParse, TK_VARIABLE, yymsp[0].minor.yy0); - sqlite3ExprAssignVarNumber(pParse, yymsp[0].minor.yy18, n); + yymsp[0].minor.yy46 = tokenExpr(pParse, TK_VARIABLE, yymsp[0].minor.yy0); + sqlite3ExprAssignVarNumber(pParse, yymsp[0].minor.yy46, n); }else{ /* When doing a nested parse, one can include terms in an expression ** that look like this: #1 #2 ... These terms refer to registers @@ -150238,154 +153653,156 @@ static YYACTIONTYPE yy_reduce( assert( t.n>=2 ); if( pParse->nested==0 ){ sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &t); - yymsp[0].minor.yy18 = 0; + yymsp[0].minor.yy46 = 0; }else{ - yymsp[0].minor.yy18 = sqlite3PExpr(pParse, TK_REGISTER, 0, 0); - if( yymsp[0].minor.yy18 ) sqlite3GetInt32(&t.z[1], &yymsp[0].minor.yy18->iTable); + yymsp[0].minor.yy46 = sqlite3PExpr(pParse, TK_REGISTER, 0, 0); + if( yymsp[0].minor.yy46 ) sqlite3GetInt32(&t.z[1], &yymsp[0].minor.yy46->iTable); } } } break; - case 171: /* expr ::= expr COLLATE ID|STRING */ + case 175: /* expr ::= expr COLLATE ID|STRING */ { - yymsp[-2].minor.yy18 = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy18, &yymsp[0].minor.yy0, 1); + yymsp[-2].minor.yy46 = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy46, &yymsp[0].minor.yy0, 1); } break; - case 172: /* expr ::= CAST LP expr AS typetoken RP */ + case 176: /* expr ::= CAST LP expr AS typetoken RP */ { - yymsp[-5].minor.yy18 = sqlite3ExprAlloc(pParse->db, TK_CAST, &yymsp[-1].minor.yy0, 1); - sqlite3ExprAttachSubtrees(pParse->db, yymsp[-5].minor.yy18, yymsp[-3].minor.yy18, 0); + yymsp[-5].minor.yy46 = sqlite3ExprAlloc(pParse->db, TK_CAST, &yymsp[-1].minor.yy0, 1); + sqlite3ExprAttachSubtrees(pParse->db, yymsp[-5].minor.yy46, yymsp[-3].minor.yy46, 0); } break; - case 173: /* expr ::= ID|INDEXED LP distinct exprlist RP */ + case 177: /* expr ::= ID|INDEXED LP distinct exprlist RP */ { - yylhsminor.yy18 = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy420, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy70); + yylhsminor.yy46 = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy138, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy32); } - yymsp[-4].minor.yy18 = yylhsminor.yy18; + yymsp[-4].minor.yy46 = yylhsminor.yy46; break; - case 174: /* expr ::= ID|INDEXED LP STAR RP */ + case 178: /* expr ::= ID|INDEXED LP STAR RP */ { - yylhsminor.yy18 = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0, 0); + yylhsminor.yy46 = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0, 0); } - yymsp[-3].minor.yy18 = yylhsminor.yy18; + yymsp[-3].minor.yy46 = yylhsminor.yy46; break; - case 175: /* expr ::= ID|INDEXED LP distinct exprlist RP over_clause */ + case 179: /* expr ::= ID|INDEXED LP distinct exprlist RP filter_over */ { - yylhsminor.yy18 = sqlite3ExprFunction(pParse, yymsp[-2].minor.yy420, &yymsp[-5].minor.yy0, yymsp[-3].minor.yy70); - sqlite3WindowAttach(pParse, yylhsminor.yy18, yymsp[0].minor.yy327); + yylhsminor.yy46 = sqlite3ExprFunction(pParse, yymsp[-2].minor.yy138, &yymsp[-5].minor.yy0, yymsp[-3].minor.yy32); + sqlite3WindowAttach(pParse, yylhsminor.yy46, yymsp[0].minor.yy455); } - yymsp[-5].minor.yy18 = yylhsminor.yy18; + yymsp[-5].minor.yy46 = yylhsminor.yy46; break; - case 176: /* expr ::= ID|INDEXED LP STAR RP over_clause */ + case 180: /* expr ::= ID|INDEXED LP STAR RP filter_over */ { - yylhsminor.yy18 = sqlite3ExprFunction(pParse, 0, &yymsp[-4].minor.yy0, 0); - sqlite3WindowAttach(pParse, yylhsminor.yy18, yymsp[0].minor.yy327); + yylhsminor.yy46 = sqlite3ExprFunction(pParse, 0, &yymsp[-4].minor.yy0, 0); + sqlite3WindowAttach(pParse, yylhsminor.yy46, yymsp[0].minor.yy455); } - yymsp[-4].minor.yy18 = yylhsminor.yy18; + yymsp[-4].minor.yy46 = yylhsminor.yy46; break; - case 177: /* term ::= CTIME_KW */ + case 181: /* term ::= CTIME_KW */ { - yylhsminor.yy18 = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0, 0); + yylhsminor.yy46 = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0, 0); } - yymsp[0].minor.yy18 = yylhsminor.yy18; + yymsp[0].minor.yy46 = yylhsminor.yy46; break; - case 178: /* expr ::= LP nexprlist COMMA expr RP */ + case 182: /* expr ::= LP nexprlist COMMA expr RP */ { - ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy420, yymsp[-1].minor.yy18); - yymsp[-4].minor.yy18 = sqlite3PExpr(pParse, TK_VECTOR, 0, 0); - if( yymsp[-4].minor.yy18 ){ - yymsp[-4].minor.yy18->x.pList = pList; + ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy138, yymsp[-1].minor.yy46); + yymsp[-4].minor.yy46 = sqlite3PExpr(pParse, TK_VECTOR, 0, 0); + if( yymsp[-4].minor.yy46 ){ + yymsp[-4].minor.yy46->x.pList = pList; }else{ sqlite3ExprListDelete(pParse->db, pList); } } break; - case 179: /* expr ::= expr AND expr */ - case 180: /* expr ::= expr OR expr */ yytestcase(yyruleno==180); - case 181: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==181); - case 182: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==182); - case 183: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==183); - case 184: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==184); - case 185: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==185); - case 186: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==186); -{yymsp[-2].minor.yy18=sqlite3PExpr(pParse,yymsp[-1].major,yymsp[-2].minor.yy18,yymsp[0].minor.yy18);} + case 183: /* expr ::= expr AND expr */ +{yymsp[-2].minor.yy46=sqlite3ExprAnd(pParse,yymsp[-2].minor.yy46,yymsp[0].minor.yy46);} + break; + case 184: /* expr ::= expr OR expr */ + case 185: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==185); + case 186: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==186); + case 187: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==187); + case 188: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==188); + case 189: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==189); + case 190: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==190); +{yymsp[-2].minor.yy46=sqlite3PExpr(pParse,yymsp[-1].major,yymsp[-2].minor.yy46,yymsp[0].minor.yy46);} break; - case 187: /* likeop ::= NOT LIKE_KW|MATCH */ + case 191: /* likeop ::= NOT LIKE_KW|MATCH */ {yymsp[-1].minor.yy0=yymsp[0].minor.yy0; yymsp[-1].minor.yy0.n|=0x80000000; /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/} break; - case 188: /* expr ::= expr likeop expr */ + case 192: /* expr ::= expr likeop expr */ { ExprList *pList; int bNot = yymsp[-1].minor.yy0.n & 0x80000000; yymsp[-1].minor.yy0.n &= 0x7fffffff; - pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy18); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy18); - yymsp[-2].minor.yy18 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0, 0); - if( bNot ) yymsp[-2].minor.yy18 = sqlite3PExpr(pParse, TK_NOT, yymsp[-2].minor.yy18, 0); - if( yymsp[-2].minor.yy18 ) yymsp[-2].minor.yy18->flags |= EP_InfixFunc; + pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy46); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy46); + yymsp[-2].minor.yy46 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0, 0); + if( bNot ) yymsp[-2].minor.yy46 = sqlite3PExpr(pParse, TK_NOT, yymsp[-2].minor.yy46, 0); + if( yymsp[-2].minor.yy46 ) yymsp[-2].minor.yy46->flags |= EP_InfixFunc; } break; - case 189: /* expr ::= expr likeop expr ESCAPE expr */ + case 193: /* expr ::= expr likeop expr ESCAPE expr */ { ExprList *pList; int bNot = yymsp[-3].minor.yy0.n & 0x80000000; yymsp[-3].minor.yy0.n &= 0x7fffffff; - pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy18); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy18); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy18); - yymsp[-4].minor.yy18 = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0, 0); - if( bNot ) yymsp[-4].minor.yy18 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy18, 0); - if( yymsp[-4].minor.yy18 ) yymsp[-4].minor.yy18->flags |= EP_InfixFunc; + pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy46); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy46); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy46); + yymsp[-4].minor.yy46 = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0, 0); + if( bNot ) yymsp[-4].minor.yy46 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy46, 0); + if( yymsp[-4].minor.yy46 ) yymsp[-4].minor.yy46->flags |= EP_InfixFunc; } break; - case 190: /* expr ::= expr ISNULL|NOTNULL */ -{yymsp[-1].minor.yy18 = sqlite3PExpr(pParse,yymsp[0].major,yymsp[-1].minor.yy18,0);} + case 194: /* expr ::= expr ISNULL|NOTNULL */ +{yymsp[-1].minor.yy46 = sqlite3PExpr(pParse,yymsp[0].major,yymsp[-1].minor.yy46,0);} break; - case 191: /* expr ::= expr NOT NULL */ -{yymsp[-2].minor.yy18 = sqlite3PExpr(pParse,TK_NOTNULL,yymsp[-2].minor.yy18,0);} + case 195: /* expr ::= expr NOT NULL */ +{yymsp[-2].minor.yy46 = sqlite3PExpr(pParse,TK_NOTNULL,yymsp[-2].minor.yy46,0);} break; - case 192: /* expr ::= expr IS expr */ + case 196: /* expr ::= expr IS expr */ { - yymsp[-2].minor.yy18 = sqlite3PExpr(pParse,TK_IS,yymsp[-2].minor.yy18,yymsp[0].minor.yy18); - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy18, yymsp[-2].minor.yy18, TK_ISNULL); + yymsp[-2].minor.yy46 = sqlite3PExpr(pParse,TK_IS,yymsp[-2].minor.yy46,yymsp[0].minor.yy46); + binaryToUnaryIfNull(pParse, yymsp[0].minor.yy46, yymsp[-2].minor.yy46, TK_ISNULL); } break; - case 193: /* expr ::= expr IS NOT expr */ + case 197: /* expr ::= expr IS NOT expr */ { - yymsp[-3].minor.yy18 = sqlite3PExpr(pParse,TK_ISNOT,yymsp[-3].minor.yy18,yymsp[0].minor.yy18); - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy18, yymsp[-3].minor.yy18, TK_NOTNULL); + yymsp[-3].minor.yy46 = sqlite3PExpr(pParse,TK_ISNOT,yymsp[-3].minor.yy46,yymsp[0].minor.yy46); + binaryToUnaryIfNull(pParse, yymsp[0].minor.yy46, yymsp[-3].minor.yy46, TK_NOTNULL); } break; - case 194: /* expr ::= NOT expr */ - case 195: /* expr ::= BITNOT expr */ yytestcase(yyruleno==195); -{yymsp[-1].minor.yy18 = sqlite3PExpr(pParse, yymsp[-1].major, yymsp[0].minor.yy18, 0);/*A-overwrites-B*/} + case 198: /* expr ::= NOT expr */ + case 199: /* expr ::= BITNOT expr */ yytestcase(yyruleno==199); +{yymsp[-1].minor.yy46 = sqlite3PExpr(pParse, yymsp[-1].major, yymsp[0].minor.yy46, 0);/*A-overwrites-B*/} break; - case 196: /* expr ::= PLUS|MINUS expr */ + case 200: /* expr ::= PLUS|MINUS expr */ { - yymsp[-1].minor.yy18 = sqlite3PExpr(pParse, yymsp[-1].major==TK_PLUS ? TK_UPLUS : TK_UMINUS, yymsp[0].minor.yy18, 0); + yymsp[-1].minor.yy46 = sqlite3PExpr(pParse, yymsp[-1].major==TK_PLUS ? TK_UPLUS : TK_UMINUS, yymsp[0].minor.yy46, 0); /*A-overwrites-B*/ } break; - case 197: /* between_op ::= BETWEEN */ - case 200: /* in_op ::= IN */ yytestcase(yyruleno==200); -{yymsp[0].minor.yy70 = 0;} + case 201: /* between_op ::= BETWEEN */ + case 204: /* in_op ::= IN */ yytestcase(yyruleno==204); +{yymsp[0].minor.yy32 = 0;} break; - case 199: /* expr ::= expr between_op expr AND expr */ + case 203: /* expr ::= expr between_op expr AND expr */ { - ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy18); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy18); - yymsp[-4].minor.yy18 = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy18, 0); - if( yymsp[-4].minor.yy18 ){ - yymsp[-4].minor.yy18->x.pList = pList; + ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy46); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy46); + yymsp[-4].minor.yy46 = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy46, 0); + if( yymsp[-4].minor.yy46 ){ + yymsp[-4].minor.yy46->x.pList = pList; }else{ sqlite3ExprListDelete(pParse->db, pList); } - if( yymsp[-3].minor.yy70 ) yymsp[-4].minor.yy18 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy18, 0); + if( yymsp[-3].minor.yy32 ) yymsp[-4].minor.yy46 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy46, 0); } break; - case 202: /* expr ::= expr in_op LP exprlist RP */ + case 206: /* expr ::= expr in_op LP exprlist RP */ { - if( yymsp[-1].minor.yy420==0 ){ + if( yymsp[-1].minor.yy138==0 ){ /* Expressions of the form ** ** expr1 IN () @@ -150394,218 +153811,190 @@ static YYACTIONTYPE yy_reduce( ** simplify to constants 0 (false) and 1 (true), respectively, ** regardless of the value of expr1. */ - sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy18); - yymsp[-4].minor.yy18 = sqlite3ExprAlloc(pParse->db, TK_INTEGER,&sqlite3IntTokens[yymsp[-3].minor.yy70],1); - }else if( yymsp[-1].minor.yy420->nExpr==1 ){ - /* Expressions of the form: - ** - ** expr1 IN (?1) - ** expr1 NOT IN (?2) - ** - ** with exactly one value on the RHS can be simplified to something - ** like this: - ** - ** expr1 == ?1 - ** expr1 <> ?2 - ** - ** But, the RHS of the == or <> is marked with the EP_Generic flag - ** so that it may not contribute to the computation of comparison - ** affinity or the collating sequence to use for comparison. Otherwise, - ** the semantics would be subtly different from IN or NOT IN. - */ - Expr *pRHS = yymsp[-1].minor.yy420->a[0].pExpr; - yymsp[-1].minor.yy420->a[0].pExpr = 0; - sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy420); - /* pRHS cannot be NULL because a malloc error would have been detected - ** before now and control would have never reached this point */ - if( ALWAYS(pRHS) ){ - pRHS->flags &= ~EP_Collate; - pRHS->flags |= EP_Generic; - } - yymsp[-4].minor.yy18 = sqlite3PExpr(pParse, yymsp[-3].minor.yy70 ? TK_NE : TK_EQ, yymsp[-4].minor.yy18, pRHS); - }else{ - yymsp[-4].minor.yy18 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy18, 0); - if( yymsp[-4].minor.yy18 ){ - yymsp[-4].minor.yy18->x.pList = yymsp[-1].minor.yy420; - sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy18); + sqlite3ExprUnmapAndDelete(pParse, yymsp[-4].minor.yy46); + yymsp[-4].minor.yy46 = sqlite3Expr(pParse->db, TK_INTEGER, yymsp[-3].minor.yy32 ? "1" : "0"); + }else{ + yymsp[-4].minor.yy46 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy46, 0); + if( yymsp[-4].minor.yy46 ){ + yymsp[-4].minor.yy46->x.pList = yymsp[-1].minor.yy138; + sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy46); }else{ - sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy420); + sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy138); } - if( yymsp[-3].minor.yy70 ) yymsp[-4].minor.yy18 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy18, 0); + if( yymsp[-3].minor.yy32 ) yymsp[-4].minor.yy46 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy46, 0); } } break; - case 203: /* expr ::= LP select RP */ + case 207: /* expr ::= LP select RP */ { - yymsp[-2].minor.yy18 = sqlite3PExpr(pParse, TK_SELECT, 0, 0); - sqlite3PExprAddSelect(pParse, yymsp[-2].minor.yy18, yymsp[-1].minor.yy489); + yymsp[-2].minor.yy46 = sqlite3PExpr(pParse, TK_SELECT, 0, 0); + sqlite3PExprAddSelect(pParse, yymsp[-2].minor.yy46, yymsp[-1].minor.yy25); } break; - case 204: /* expr ::= expr in_op LP select RP */ + case 208: /* expr ::= expr in_op LP select RP */ { - yymsp[-4].minor.yy18 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy18, 0); - sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy18, yymsp[-1].minor.yy489); - if( yymsp[-3].minor.yy70 ) yymsp[-4].minor.yy18 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy18, 0); + yymsp[-4].minor.yy46 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy46, 0); + sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy46, yymsp[-1].minor.yy25); + if( yymsp[-3].minor.yy32 ) yymsp[-4].minor.yy46 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy46, 0); } break; - case 205: /* expr ::= expr in_op nm dbnm paren_exprlist */ + case 209: /* expr ::= expr in_op nm dbnm paren_exprlist */ { - SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); + SrcList *pSrc = sqlite3SrcListAppend(pParse, 0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); Select *pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0); - if( yymsp[0].minor.yy420 ) sqlite3SrcListFuncArgs(pParse, pSelect ? pSrc : 0, yymsp[0].minor.yy420); - yymsp[-4].minor.yy18 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy18, 0); - sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy18, pSelect); - if( yymsp[-3].minor.yy70 ) yymsp[-4].minor.yy18 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy18, 0); + if( yymsp[0].minor.yy138 ) sqlite3SrcListFuncArgs(pParse, pSelect ? pSrc : 0, yymsp[0].minor.yy138); + yymsp[-4].minor.yy46 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy46, 0); + sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy46, pSelect); + if( yymsp[-3].minor.yy32 ) yymsp[-4].minor.yy46 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy46, 0); } break; - case 206: /* expr ::= EXISTS LP select RP */ + case 210: /* expr ::= EXISTS LP select RP */ { Expr *p; - p = yymsp[-3].minor.yy18 = sqlite3PExpr(pParse, TK_EXISTS, 0, 0); - sqlite3PExprAddSelect(pParse, p, yymsp[-1].minor.yy489); + p = yymsp[-3].minor.yy46 = sqlite3PExpr(pParse, TK_EXISTS, 0, 0); + sqlite3PExprAddSelect(pParse, p, yymsp[-1].minor.yy25); } break; - case 207: /* expr ::= CASE case_operand case_exprlist case_else END */ + case 211: /* expr ::= CASE case_operand case_exprlist case_else END */ { - yymsp[-4].minor.yy18 = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy18, 0); - if( yymsp[-4].minor.yy18 ){ - yymsp[-4].minor.yy18->x.pList = yymsp[-1].minor.yy18 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy420,yymsp[-1].minor.yy18) : yymsp[-2].minor.yy420; - sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy18); + yymsp[-4].minor.yy46 = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy46, 0); + if( yymsp[-4].minor.yy46 ){ + yymsp[-4].minor.yy46->x.pList = yymsp[-1].minor.yy46 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy138,yymsp[-1].minor.yy46) : yymsp[-2].minor.yy138; + sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy46); }else{ - sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy420); - sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy18); + sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy138); + sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy46); } } break; - case 208: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ + case 212: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ { - yymsp[-4].minor.yy420 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy420, yymsp[-2].minor.yy18); - yymsp[-4].minor.yy420 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy420, yymsp[0].minor.yy18); + yymsp[-4].minor.yy138 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy138, yymsp[-2].minor.yy46); + yymsp[-4].minor.yy138 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy138, yymsp[0].minor.yy46); } break; - case 209: /* case_exprlist ::= WHEN expr THEN expr */ + case 213: /* case_exprlist ::= WHEN expr THEN expr */ { - yymsp[-3].minor.yy420 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy18); - yymsp[-3].minor.yy420 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy420, yymsp[0].minor.yy18); + yymsp[-3].minor.yy138 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy46); + yymsp[-3].minor.yy138 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy138, yymsp[0].minor.yy46); } break; - case 212: /* case_operand ::= expr */ -{yymsp[0].minor.yy18 = yymsp[0].minor.yy18; /*A-overwrites-X*/} + case 216: /* case_operand ::= expr */ +{yymsp[0].minor.yy46 = yymsp[0].minor.yy46; /*A-overwrites-X*/} break; - case 215: /* nexprlist ::= nexprlist COMMA expr */ -{yymsp[-2].minor.yy420 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy420,yymsp[0].minor.yy18);} + case 219: /* nexprlist ::= nexprlist COMMA expr */ +{yymsp[-2].minor.yy138 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy138,yymsp[0].minor.yy46);} break; - case 216: /* nexprlist ::= expr */ -{yymsp[0].minor.yy420 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy18); /*A-overwrites-Y*/} + case 220: /* nexprlist ::= expr */ +{yymsp[0].minor.yy138 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy46); /*A-overwrites-Y*/} break; - case 218: /* paren_exprlist ::= LP exprlist RP */ - case 223: /* eidlist_opt ::= LP eidlist RP */ yytestcase(yyruleno==223); -{yymsp[-2].minor.yy420 = yymsp[-1].minor.yy420;} + case 222: /* paren_exprlist ::= LP exprlist RP */ + case 227: /* eidlist_opt ::= LP eidlist RP */ yytestcase(yyruleno==227); +{yymsp[-2].minor.yy138 = yymsp[-1].minor.yy138;} break; - case 219: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ + case 223: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ { sqlite3CreateIndex(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, - sqlite3SrcListAppend(pParse->db,0,&yymsp[-4].minor.yy0,0), yymsp[-2].minor.yy420, yymsp[-10].minor.yy70, - &yymsp[-11].minor.yy0, yymsp[0].minor.yy18, SQLITE_SO_ASC, yymsp[-8].minor.yy70, SQLITE_IDXTYPE_APPDEF); + sqlite3SrcListAppend(pParse,0,&yymsp[-4].minor.yy0,0), yymsp[-2].minor.yy138, yymsp[-10].minor.yy32, + &yymsp[-11].minor.yy0, yymsp[0].minor.yy46, SQLITE_SO_ASC, yymsp[-8].minor.yy32, SQLITE_IDXTYPE_APPDEF); if( IN_RENAME_OBJECT && pParse->pNewIndex ){ sqlite3RenameTokenMap(pParse, pParse->pNewIndex->zName, &yymsp[-4].minor.yy0); } } break; - case 220: /* uniqueflag ::= UNIQUE */ - case 260: /* raisetype ::= ABORT */ yytestcase(yyruleno==260); -{yymsp[0].minor.yy70 = OE_Abort;} + case 224: /* uniqueflag ::= UNIQUE */ + case 266: /* raisetype ::= ABORT */ yytestcase(yyruleno==266); +{yymsp[0].minor.yy32 = OE_Abort;} break; - case 221: /* uniqueflag ::= */ -{yymsp[1].minor.yy70 = OE_None;} + case 225: /* uniqueflag ::= */ +{yymsp[1].minor.yy32 = OE_None;} break; - case 224: /* eidlist ::= eidlist COMMA nm collate sortorder */ + case 228: /* eidlist ::= eidlist COMMA nm collate sortorder */ { - yymsp[-4].minor.yy420 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy420, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy70, yymsp[0].minor.yy70); + yymsp[-4].minor.yy138 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy138, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy32, yymsp[0].minor.yy32); } break; - case 225: /* eidlist ::= nm collate sortorder */ + case 229: /* eidlist ::= nm collate sortorder */ { - yymsp[-2].minor.yy420 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy70, yymsp[0].minor.yy70); /*A-overwrites-Y*/ + yymsp[-2].minor.yy138 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy32, yymsp[0].minor.yy32); /*A-overwrites-Y*/ } break; - case 228: /* cmd ::= DROP INDEX ifexists fullname */ -{sqlite3DropIndex(pParse, yymsp[0].minor.yy135, yymsp[-1].minor.yy70);} + case 232: /* cmd ::= DROP INDEX ifexists fullname */ +{sqlite3DropIndex(pParse, yymsp[0].minor.yy609, yymsp[-1].minor.yy32);} break; - case 229: /* cmd ::= VACUUM */ -{sqlite3Vacuum(pParse,0);} + case 233: /* cmd ::= VACUUM vinto */ +{sqlite3Vacuum(pParse,0,yymsp[0].minor.yy46);} break; - case 230: /* cmd ::= VACUUM nm */ -{sqlite3Vacuum(pParse,&yymsp[0].minor.yy0);} + case 234: /* cmd ::= VACUUM nm vinto */ +{sqlite3Vacuum(pParse,&yymsp[-1].minor.yy0,yymsp[0].minor.yy46);} break; - case 231: /* cmd ::= PRAGMA nm dbnm */ + case 237: /* cmd ::= PRAGMA nm dbnm */ {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} break; - case 232: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ + case 238: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,0);} break; - case 233: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ + case 239: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,0);} break; - case 234: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ + case 240: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,1);} break; - case 235: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ + case 241: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,1);} break; - case 238: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ + case 244: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ { Token all; all.z = yymsp[-3].minor.yy0.z; all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.yy0.n; - sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy207, &all); + sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy527, &all); } break; - case 239: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ + case 245: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ { - sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy70, yymsp[-4].minor.yy34.a, yymsp[-4].minor.yy34.b, yymsp[-2].minor.yy135, yymsp[0].minor.yy18, yymsp[-10].minor.yy70, yymsp[-8].minor.yy70); + sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy32, yymsp[-4].minor.yy572.a, yymsp[-4].minor.yy572.b, yymsp[-2].minor.yy609, yymsp[0].minor.yy46, yymsp[-10].minor.yy32, yymsp[-8].minor.yy32); yymsp[-10].minor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0); /*A-overwrites-T*/ } break; - case 240: /* trigger_time ::= BEFORE|AFTER */ -{ yymsp[0].minor.yy70 = yymsp[0].major; /*A-overwrites-X*/ } + case 246: /* trigger_time ::= BEFORE|AFTER */ +{ yymsp[0].minor.yy32 = yymsp[0].major; /*A-overwrites-X*/ } break; - case 241: /* trigger_time ::= INSTEAD OF */ -{ yymsp[-1].minor.yy70 = TK_INSTEAD;} + case 247: /* trigger_time ::= INSTEAD OF */ +{ yymsp[-1].minor.yy32 = TK_INSTEAD;} break; - case 242: /* trigger_time ::= */ -{ yymsp[1].minor.yy70 = TK_BEFORE; } + case 248: /* trigger_time ::= */ +{ yymsp[1].minor.yy32 = TK_BEFORE; } break; - case 243: /* trigger_event ::= DELETE|INSERT */ - case 244: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==244); -{yymsp[0].minor.yy34.a = yymsp[0].major; /*A-overwrites-X*/ yymsp[0].minor.yy34.b = 0;} + case 249: /* trigger_event ::= DELETE|INSERT */ + case 250: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==250); +{yymsp[0].minor.yy572.a = yymsp[0].major; /*A-overwrites-X*/ yymsp[0].minor.yy572.b = 0;} break; - case 245: /* trigger_event ::= UPDATE OF idlist */ -{yymsp[-2].minor.yy34.a = TK_UPDATE; yymsp[-2].minor.yy34.b = yymsp[0].minor.yy48;} + case 251: /* trigger_event ::= UPDATE OF idlist */ +{yymsp[-2].minor.yy572.a = TK_UPDATE; yymsp[-2].minor.yy572.b = yymsp[0].minor.yy406;} break; - case 246: /* when_clause ::= */ - case 265: /* key_opt ::= */ yytestcase(yyruleno==265); - case 307: /* filter_opt ::= */ yytestcase(yyruleno==307); -{ yymsp[1].minor.yy18 = 0; } + case 252: /* when_clause ::= */ + case 271: /* key_opt ::= */ yytestcase(yyruleno==271); +{ yymsp[1].minor.yy46 = 0; } break; - case 247: /* when_clause ::= WHEN expr */ - case 266: /* key_opt ::= KEY expr */ yytestcase(yyruleno==266); -{ yymsp[-1].minor.yy18 = yymsp[0].minor.yy18; } + case 253: /* when_clause ::= WHEN expr */ + case 272: /* key_opt ::= KEY expr */ yytestcase(yyruleno==272); +{ yymsp[-1].minor.yy46 = yymsp[0].minor.yy46; } break; - case 248: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ + case 254: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ { - assert( yymsp[-2].minor.yy207!=0 ); - yymsp[-2].minor.yy207->pLast->pNext = yymsp[-1].minor.yy207; - yymsp[-2].minor.yy207->pLast = yymsp[-1].minor.yy207; + assert( yymsp[-2].minor.yy527!=0 ); + yymsp[-2].minor.yy527->pLast->pNext = yymsp[-1].minor.yy527; + yymsp[-2].minor.yy527->pLast = yymsp[-1].minor.yy527; } break; - case 249: /* trigger_cmd_list ::= trigger_cmd SEMI */ + case 255: /* trigger_cmd_list ::= trigger_cmd SEMI */ { - assert( yymsp[-1].minor.yy207!=0 ); - yymsp[-1].minor.yy207->pLast = yymsp[-1].minor.yy207; + assert( yymsp[-1].minor.yy527!=0 ); + yymsp[-1].minor.yy527->pLast = yymsp[-1].minor.yy527; } break; - case 250: /* trnm ::= nm DOT nm */ + case 256: /* trnm ::= nm DOT nm */ { yymsp[-2].minor.yy0 = yymsp[0].minor.yy0; sqlite3ErrorMsg(pParse, @@ -150613,312 +154002,348 @@ static YYACTIONTYPE yy_reduce( "statements within triggers"); } break; - case 251: /* tridxby ::= INDEXED BY nm */ + case 257: /* tridxby ::= INDEXED BY nm */ { sqlite3ErrorMsg(pParse, "the INDEXED BY clause is not allowed on UPDATE or DELETE statements " "within triggers"); } break; - case 252: /* tridxby ::= NOT INDEXED */ + case 258: /* tridxby ::= NOT INDEXED */ { sqlite3ErrorMsg(pParse, "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " "within triggers"); } break; - case 253: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt */ -{yylhsminor.yy207 = sqlite3TriggerUpdateStep(pParse, &yymsp[-5].minor.yy0, yymsp[-2].minor.yy420, yymsp[-1].minor.yy18, yymsp[-6].minor.yy70, yymsp[-7].minor.yy0.z, yymsp[0].minor.yy392);} - yymsp[-7].minor.yy207 = yylhsminor.yy207; + case 259: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt */ +{yylhsminor.yy527 = sqlite3TriggerUpdateStep(pParse, &yymsp[-5].minor.yy0, yymsp[-2].minor.yy138, yymsp[-1].minor.yy46, yymsp[-6].minor.yy32, yymsp[-7].minor.yy0.z, yymsp[0].minor.yy8);} + yymsp[-7].minor.yy527 = yylhsminor.yy527; break; - case 254: /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ + case 260: /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ { - yylhsminor.yy207 = sqlite3TriggerInsertStep(pParse,&yymsp[-4].minor.yy0,yymsp[-3].minor.yy48,yymsp[-2].minor.yy489,yymsp[-6].minor.yy70,yymsp[-1].minor.yy340,yymsp[-7].minor.yy392,yymsp[0].minor.yy392);/*yylhsminor.yy207-overwrites-yymsp[-6].minor.yy70*/ + yylhsminor.yy527 = sqlite3TriggerInsertStep(pParse,&yymsp[-4].minor.yy0,yymsp[-3].minor.yy406,yymsp[-2].minor.yy25,yymsp[-6].minor.yy32,yymsp[-1].minor.yy288,yymsp[-7].minor.yy8,yymsp[0].minor.yy8);/*yylhsminor.yy527-overwrites-yymsp[-6].minor.yy32*/ } - yymsp[-7].minor.yy207 = yylhsminor.yy207; + yymsp[-7].minor.yy527 = yylhsminor.yy527; break; - case 255: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ -{yylhsminor.yy207 = sqlite3TriggerDeleteStep(pParse, &yymsp[-3].minor.yy0, yymsp[-1].minor.yy18, yymsp[-5].minor.yy0.z, yymsp[0].minor.yy392);} - yymsp[-5].minor.yy207 = yylhsminor.yy207; + case 261: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ +{yylhsminor.yy527 = sqlite3TriggerDeleteStep(pParse, &yymsp[-3].minor.yy0, yymsp[-1].minor.yy46, yymsp[-5].minor.yy0.z, yymsp[0].minor.yy8);} + yymsp[-5].minor.yy527 = yylhsminor.yy527; break; - case 256: /* trigger_cmd ::= scanpt select scanpt */ -{yylhsminor.yy207 = sqlite3TriggerSelectStep(pParse->db, yymsp[-1].minor.yy489, yymsp[-2].minor.yy392, yymsp[0].minor.yy392); /*yylhsminor.yy207-overwrites-yymsp[-1].minor.yy489*/} - yymsp[-2].minor.yy207 = yylhsminor.yy207; + case 262: /* trigger_cmd ::= scanpt select scanpt */ +{yylhsminor.yy527 = sqlite3TriggerSelectStep(pParse->db, yymsp[-1].minor.yy25, yymsp[-2].minor.yy8, yymsp[0].minor.yy8); /*yylhsminor.yy527-overwrites-yymsp[-1].minor.yy25*/} + yymsp[-2].minor.yy527 = yylhsminor.yy527; break; - case 257: /* expr ::= RAISE LP IGNORE RP */ + case 263: /* expr ::= RAISE LP IGNORE RP */ { - yymsp[-3].minor.yy18 = sqlite3PExpr(pParse, TK_RAISE, 0, 0); - if( yymsp[-3].minor.yy18 ){ - yymsp[-3].minor.yy18->affinity = OE_Ignore; + yymsp[-3].minor.yy46 = sqlite3PExpr(pParse, TK_RAISE, 0, 0); + if( yymsp[-3].minor.yy46 ){ + yymsp[-3].minor.yy46->affExpr = OE_Ignore; } } break; - case 258: /* expr ::= RAISE LP raisetype COMMA nm RP */ + case 264: /* expr ::= RAISE LP raisetype COMMA nm RP */ { - yymsp[-5].minor.yy18 = sqlite3ExprAlloc(pParse->db, TK_RAISE, &yymsp[-1].minor.yy0, 1); - if( yymsp[-5].minor.yy18 ) { - yymsp[-5].minor.yy18->affinity = (char)yymsp[-3].minor.yy70; + yymsp[-5].minor.yy46 = sqlite3ExprAlloc(pParse->db, TK_RAISE, &yymsp[-1].minor.yy0, 1); + if( yymsp[-5].minor.yy46 ) { + yymsp[-5].minor.yy46->affExpr = (char)yymsp[-3].minor.yy32; } } break; - case 259: /* raisetype ::= ROLLBACK */ -{yymsp[0].minor.yy70 = OE_Rollback;} + case 265: /* raisetype ::= ROLLBACK */ +{yymsp[0].minor.yy32 = OE_Rollback;} break; - case 261: /* raisetype ::= FAIL */ -{yymsp[0].minor.yy70 = OE_Fail;} + case 267: /* raisetype ::= FAIL */ +{yymsp[0].minor.yy32 = OE_Fail;} break; - case 262: /* cmd ::= DROP TRIGGER ifexists fullname */ + case 268: /* cmd ::= DROP TRIGGER ifexists fullname */ { - sqlite3DropTrigger(pParse,yymsp[0].minor.yy135,yymsp[-1].minor.yy70); + sqlite3DropTrigger(pParse,yymsp[0].minor.yy609,yymsp[-1].minor.yy32); } break; - case 263: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ + case 269: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ { - sqlite3Attach(pParse, yymsp[-3].minor.yy18, yymsp[-1].minor.yy18, yymsp[0].minor.yy18); + sqlite3Attach(pParse, yymsp[-3].minor.yy46, yymsp[-1].minor.yy46, yymsp[0].minor.yy46); } break; - case 264: /* cmd ::= DETACH database_kw_opt expr */ + case 270: /* cmd ::= DETACH database_kw_opt expr */ { - sqlite3Detach(pParse, yymsp[0].minor.yy18); + sqlite3Detach(pParse, yymsp[0].minor.yy46); } break; - case 267: /* cmd ::= REINDEX */ + case 273: /* cmd ::= REINDEX */ {sqlite3Reindex(pParse, 0, 0);} break; - case 268: /* cmd ::= REINDEX nm dbnm */ + case 274: /* cmd ::= REINDEX nm dbnm */ {sqlite3Reindex(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} break; - case 269: /* cmd ::= ANALYZE */ + case 275: /* cmd ::= ANALYZE */ {sqlite3Analyze(pParse, 0, 0);} break; - case 270: /* cmd ::= ANALYZE nm dbnm */ + case 276: /* cmd ::= ANALYZE nm dbnm */ {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} break; - case 271: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ + case 277: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ { - sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy135,&yymsp[0].minor.yy0); + sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy609,&yymsp[0].minor.yy0); } break; - case 272: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ + case 278: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ { yymsp[-1].minor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-1].minor.yy0.z) + pParse->sLastToken.n; sqlite3AlterFinishAddColumn(pParse, &yymsp[-1].minor.yy0); } break; - case 273: /* add_column_fullname ::= fullname */ + case 279: /* add_column_fullname ::= fullname */ { disableLookaside(pParse); - sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy135); + sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy609); } break; - case 274: /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ + case 280: /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ { - sqlite3AlterRenameColumn(pParse, yymsp[-5].minor.yy135, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); + sqlite3AlterRenameColumn(pParse, yymsp[-5].minor.yy609, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } break; - case 275: /* cmd ::= create_vtab */ + case 281: /* cmd ::= create_vtab */ {sqlite3VtabFinishParse(pParse,0);} break; - case 276: /* cmd ::= create_vtab LP vtabarglist RP */ + case 282: /* cmd ::= create_vtab LP vtabarglist RP */ {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} break; - case 277: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ + case 283: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ { - sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy70); + sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy32); } break; - case 278: /* vtabarg ::= */ + case 284: /* vtabarg ::= */ {sqlite3VtabArgInit(pParse);} break; - case 279: /* vtabargtoken ::= ANY */ - case 280: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==280); - case 281: /* lp ::= LP */ yytestcase(yyruleno==281); + case 285: /* vtabargtoken ::= ANY */ + case 286: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==286); + case 287: /* lp ::= LP */ yytestcase(yyruleno==287); {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} break; - case 282: /* with ::= WITH wqlist */ - case 283: /* with ::= WITH RECURSIVE wqlist */ yytestcase(yyruleno==283); -{ sqlite3WithPush(pParse, yymsp[0].minor.yy449, 1); } + case 288: /* with ::= WITH wqlist */ + case 289: /* with ::= WITH RECURSIVE wqlist */ yytestcase(yyruleno==289); +{ sqlite3WithPush(pParse, yymsp[0].minor.yy297, 1); } break; - case 284: /* wqlist ::= nm eidlist_opt AS LP select RP */ + case 290: /* wqlist ::= nm eidlist_opt AS LP select RP */ { - yymsp[-5].minor.yy449 = sqlite3WithAdd(pParse, 0, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy420, yymsp[-1].minor.yy489); /*A-overwrites-X*/ + yymsp[-5].minor.yy297 = sqlite3WithAdd(pParse, 0, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy138, yymsp[-1].minor.yy25); /*A-overwrites-X*/ } break; - case 285: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ + case 291: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ { - yymsp[-7].minor.yy449 = sqlite3WithAdd(pParse, yymsp[-7].minor.yy449, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy420, yymsp[-1].minor.yy489); + yymsp[-7].minor.yy297 = sqlite3WithAdd(pParse, yymsp[-7].minor.yy297, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy138, yymsp[-1].minor.yy25); } break; - case 286: /* windowdefn_list ::= windowdefn */ -{ yylhsminor.yy327 = yymsp[0].minor.yy327; } - yymsp[0].minor.yy327 = yylhsminor.yy327; + case 292: /* windowdefn_list ::= windowdefn */ +{ yylhsminor.yy455 = yymsp[0].minor.yy455; } + yymsp[0].minor.yy455 = yylhsminor.yy455; break; - case 287: /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ + case 293: /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ { - assert( yymsp[0].minor.yy327!=0 ); - yymsp[0].minor.yy327->pNextWin = yymsp[-2].minor.yy327; - yylhsminor.yy327 = yymsp[0].minor.yy327; + assert( yymsp[0].minor.yy455!=0 ); + sqlite3WindowChain(pParse, yymsp[0].minor.yy455, yymsp[-2].minor.yy455); + yymsp[0].minor.yy455->pNextWin = yymsp[-2].minor.yy455; + yylhsminor.yy455 = yymsp[0].minor.yy455; } - yymsp[-2].minor.yy327 = yylhsminor.yy327; + yymsp[-2].minor.yy455 = yylhsminor.yy455; break; - case 288: /* windowdefn ::= nm AS window */ + case 294: /* windowdefn ::= nm AS LP window RP */ { - if( ALWAYS(yymsp[0].minor.yy327) ){ - yymsp[0].minor.yy327->zName = sqlite3DbStrNDup(pParse->db, yymsp[-2].minor.yy0.z, yymsp[-2].minor.yy0.n); + if( ALWAYS(yymsp[-1].minor.yy455) ){ + yymsp[-1].minor.yy455->zName = sqlite3DbStrNDup(pParse->db, yymsp[-4].minor.yy0.z, yymsp[-4].minor.yy0.n); } - yylhsminor.yy327 = yymsp[0].minor.yy327; + yylhsminor.yy455 = yymsp[-1].minor.yy455; } - yymsp[-2].minor.yy327 = yylhsminor.yy327; + yymsp[-4].minor.yy455 = yylhsminor.yy455; break; - case 289: /* window ::= LP part_opt orderby_opt frame_opt RP */ + case 295: /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ { - yymsp[-4].minor.yy327 = yymsp[-1].minor.yy327; - if( ALWAYS(yymsp[-4].minor.yy327) ){ - yymsp[-4].minor.yy327->pPartition = yymsp[-3].minor.yy420; - yymsp[-4].minor.yy327->pOrderBy = yymsp[-2].minor.yy420; - } + yymsp[-4].minor.yy455 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy455, yymsp[-2].minor.yy138, yymsp[-1].minor.yy138, 0); } break; - case 290: /* part_opt ::= PARTITION BY nexprlist */ -{ yymsp[-2].minor.yy420 = yymsp[0].minor.yy420; } + case 296: /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ +{ + yylhsminor.yy455 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy455, yymsp[-2].minor.yy138, yymsp[-1].minor.yy138, &yymsp[-5].minor.yy0); +} + yymsp[-5].minor.yy455 = yylhsminor.yy455; + break; + case 297: /* window ::= ORDER BY sortlist frame_opt */ +{ + yymsp[-3].minor.yy455 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy455, 0, yymsp[-1].minor.yy138, 0); +} break; - case 291: /* part_opt ::= */ -{ yymsp[1].minor.yy420 = 0; } + case 298: /* window ::= nm ORDER BY sortlist frame_opt */ +{ + yylhsminor.yy455 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy455, 0, yymsp[-1].minor.yy138, &yymsp[-4].minor.yy0); +} + yymsp[-4].minor.yy455 = yylhsminor.yy455; + break; + case 299: /* window ::= frame_opt */ + case 318: /* filter_over ::= over_clause */ yytestcase(yyruleno==318); +{ + yylhsminor.yy455 = yymsp[0].minor.yy455; +} + yymsp[0].minor.yy455 = yylhsminor.yy455; + break; + case 300: /* window ::= nm frame_opt */ +{ + yylhsminor.yy455 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy455, 0, 0, &yymsp[-1].minor.yy0); +} + yymsp[-1].minor.yy455 = yylhsminor.yy455; break; - case 292: /* frame_opt ::= */ + case 301: /* frame_opt ::= */ { - yymsp[1].minor.yy327 = sqlite3WindowAlloc(pParse, TK_RANGE, TK_UNBOUNDED, 0, TK_CURRENT, 0); + yymsp[1].minor.yy455 = sqlite3WindowAlloc(pParse, 0, TK_UNBOUNDED, 0, TK_CURRENT, 0, 0); } break; - case 293: /* frame_opt ::= range_or_rows frame_bound_s */ + case 302: /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ { - yylhsminor.yy327 = sqlite3WindowAlloc(pParse, yymsp[-1].minor.yy70, yymsp[0].minor.yy119.eType, yymsp[0].minor.yy119.pExpr, TK_CURRENT, 0); + yylhsminor.yy455 = sqlite3WindowAlloc(pParse, yymsp[-2].minor.yy32, yymsp[-1].minor.yy57.eType, yymsp[-1].minor.yy57.pExpr, TK_CURRENT, 0, yymsp[0].minor.yy118); } - yymsp[-1].minor.yy327 = yylhsminor.yy327; + yymsp[-2].minor.yy455 = yylhsminor.yy455; break; - case 294: /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e */ + case 303: /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ { - yylhsminor.yy327 = sqlite3WindowAlloc(pParse, yymsp[-4].minor.yy70, yymsp[-2].minor.yy119.eType, yymsp[-2].minor.yy119.pExpr, yymsp[0].minor.yy119.eType, yymsp[0].minor.yy119.pExpr); + yylhsminor.yy455 = sqlite3WindowAlloc(pParse, yymsp[-5].minor.yy32, yymsp[-3].minor.yy57.eType, yymsp[-3].minor.yy57.pExpr, yymsp[-1].minor.yy57.eType, yymsp[-1].minor.yy57.pExpr, yymsp[0].minor.yy118); } - yymsp[-4].minor.yy327 = yylhsminor.yy327; + yymsp[-5].minor.yy455 = yylhsminor.yy455; break; - case 295: /* range_or_rows ::= RANGE */ -{ yymsp[0].minor.yy70 = TK_RANGE; } + case 305: /* frame_bound_s ::= frame_bound */ + case 307: /* frame_bound_e ::= frame_bound */ yytestcase(yyruleno==307); +{yylhsminor.yy57 = yymsp[0].minor.yy57;} + yymsp[0].minor.yy57 = yylhsminor.yy57; break; - case 296: /* range_or_rows ::= ROWS */ -{ yymsp[0].minor.yy70 = TK_ROWS; } + case 306: /* frame_bound_s ::= UNBOUNDED PRECEDING */ + case 308: /* frame_bound_e ::= UNBOUNDED FOLLOWING */ yytestcase(yyruleno==308); + case 310: /* frame_bound ::= CURRENT ROW */ yytestcase(yyruleno==310); +{yylhsminor.yy57.eType = yymsp[-1].major; yylhsminor.yy57.pExpr = 0;} + yymsp[-1].minor.yy57 = yylhsminor.yy57; break; - case 297: /* frame_bound_s ::= frame_bound */ - case 299: /* frame_bound_e ::= frame_bound */ yytestcase(yyruleno==299); -{ yylhsminor.yy119 = yymsp[0].minor.yy119; } - yymsp[0].minor.yy119 = yylhsminor.yy119; + case 309: /* frame_bound ::= expr PRECEDING|FOLLOWING */ +{yylhsminor.yy57.eType = yymsp[0].major; yylhsminor.yy57.pExpr = yymsp[-1].minor.yy46;} + yymsp[-1].minor.yy57 = yylhsminor.yy57; break; - case 298: /* frame_bound_s ::= UNBOUNDED PRECEDING */ - case 300: /* frame_bound_e ::= UNBOUNDED FOLLOWING */ yytestcase(yyruleno==300); -{yymsp[-1].minor.yy119.eType = TK_UNBOUNDED; yymsp[-1].minor.yy119.pExpr = 0;} + case 311: /* frame_exclude_opt ::= */ +{yymsp[1].minor.yy118 = 0;} break; - case 301: /* frame_bound ::= expr PRECEDING */ -{ yylhsminor.yy119.eType = TK_PRECEDING; yylhsminor.yy119.pExpr = yymsp[-1].minor.yy18; } - yymsp[-1].minor.yy119 = yylhsminor.yy119; + case 312: /* frame_exclude_opt ::= EXCLUDE frame_exclude */ +{yymsp[-1].minor.yy118 = yymsp[0].minor.yy118;} break; - case 302: /* frame_bound ::= CURRENT ROW */ -{ yymsp[-1].minor.yy119.eType = TK_CURRENT ; yymsp[-1].minor.yy119.pExpr = 0; } + case 313: /* frame_exclude ::= NO OTHERS */ + case 314: /* frame_exclude ::= CURRENT ROW */ yytestcase(yyruleno==314); +{yymsp[-1].minor.yy118 = yymsp[-1].major; /*A-overwrites-X*/} break; - case 303: /* frame_bound ::= expr FOLLOWING */ -{ yylhsminor.yy119.eType = TK_FOLLOWING; yylhsminor.yy119.pExpr = yymsp[-1].minor.yy18; } - yymsp[-1].minor.yy119 = yylhsminor.yy119; + case 315: /* frame_exclude ::= GROUP|TIES */ +{yymsp[0].minor.yy118 = yymsp[0].major; /*A-overwrites-X*/} break; - case 304: /* window_clause ::= WINDOW windowdefn_list */ -{ yymsp[-1].minor.yy327 = yymsp[0].minor.yy327; } + case 316: /* window_clause ::= WINDOW windowdefn_list */ +{ yymsp[-1].minor.yy455 = yymsp[0].minor.yy455; } break; - case 305: /* over_clause ::= filter_opt OVER window */ + case 317: /* filter_over ::= filter_clause over_clause */ { - yylhsminor.yy327 = yymsp[0].minor.yy327; - assert( yylhsminor.yy327!=0 ); - yylhsminor.yy327->pFilter = yymsp[-2].minor.yy18; + yymsp[0].minor.yy455->pFilter = yymsp[-1].minor.yy46; + yylhsminor.yy455 = yymsp[0].minor.yy455; } - yymsp[-2].minor.yy327 = yylhsminor.yy327; + yymsp[-1].minor.yy455 = yylhsminor.yy455; break; - case 306: /* over_clause ::= filter_opt OVER nm */ + case 319: /* filter_over ::= filter_clause */ { - yylhsminor.yy327 = (Window*)sqlite3DbMallocZero(pParse->db, sizeof(Window)); - if( yylhsminor.yy327 ){ - yylhsminor.yy327->zName = sqlite3DbStrNDup(pParse->db, yymsp[0].minor.yy0.z, yymsp[0].minor.yy0.n); - yylhsminor.yy327->pFilter = yymsp[-2].minor.yy18; + yylhsminor.yy455 = (Window*)sqlite3DbMallocZero(pParse->db, sizeof(Window)); + if( yylhsminor.yy455 ){ + yylhsminor.yy455->eFrmType = TK_FILTER; + yylhsminor.yy455->pFilter = yymsp[0].minor.yy46; }else{ - sqlite3ExprDelete(pParse->db, yymsp[-2].minor.yy18); + sqlite3ExprDelete(pParse->db, yymsp[0].minor.yy46); } } - yymsp[-2].minor.yy327 = yylhsminor.yy327; + yymsp[0].minor.yy455 = yylhsminor.yy455; break; - case 308: /* filter_opt ::= FILTER LP WHERE expr RP */ -{ yymsp[-4].minor.yy18 = yymsp[-1].minor.yy18; } + case 320: /* over_clause ::= OVER LP window RP */ +{ + yymsp[-3].minor.yy455 = yymsp[-1].minor.yy455; + assert( yymsp[-3].minor.yy455!=0 ); +} + break; + case 321: /* over_clause ::= OVER nm */ +{ + yymsp[-1].minor.yy455 = (Window*)sqlite3DbMallocZero(pParse->db, sizeof(Window)); + if( yymsp[-1].minor.yy455 ){ + yymsp[-1].minor.yy455->zName = sqlite3DbStrNDup(pParse->db, yymsp[0].minor.yy0.z, yymsp[0].minor.yy0.n); + } +} + break; + case 322: /* filter_clause ::= FILTER LP WHERE expr RP */ +{ yymsp[-4].minor.yy46 = yymsp[-1].minor.yy46; } break; default: - /* (309) input ::= cmdlist */ yytestcase(yyruleno==309); - /* (310) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==310); - /* (311) cmdlist ::= ecmd (OPTIMIZED OUT) */ assert(yyruleno!=311); - /* (312) ecmd ::= SEMI */ yytestcase(yyruleno==312); - /* (313) ecmd ::= cmdx SEMI */ yytestcase(yyruleno==313); - /* (314) ecmd ::= explain cmdx */ yytestcase(yyruleno==314); - /* (315) trans_opt ::= */ yytestcase(yyruleno==315); - /* (316) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==316); - /* (317) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==317); - /* (318) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==318); - /* (319) savepoint_opt ::= */ yytestcase(yyruleno==319); - /* (320) cmd ::= create_table create_table_args */ yytestcase(yyruleno==320); - /* (321) columnlist ::= columnlist COMMA columnname carglist */ yytestcase(yyruleno==321); - /* (322) columnlist ::= columnname carglist */ yytestcase(yyruleno==322); - /* (323) nm ::= ID|INDEXED */ yytestcase(yyruleno==323); - /* (324) nm ::= STRING */ yytestcase(yyruleno==324); - /* (325) nm ::= JOIN_KW */ yytestcase(yyruleno==325); - /* (326) typetoken ::= typename */ yytestcase(yyruleno==326); - /* (327) typename ::= ID|STRING */ yytestcase(yyruleno==327); - /* (328) signed ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=328); - /* (329) signed ::= minus_num (OPTIMIZED OUT) */ assert(yyruleno!=329); - /* (330) carglist ::= carglist ccons */ yytestcase(yyruleno==330); - /* (331) carglist ::= */ yytestcase(yyruleno==331); - /* (332) ccons ::= NULL onconf */ yytestcase(yyruleno==332); - /* (333) conslist_opt ::= COMMA conslist */ yytestcase(yyruleno==333); - /* (334) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==334); - /* (335) conslist ::= tcons (OPTIMIZED OUT) */ assert(yyruleno!=335); - /* (336) tconscomma ::= */ yytestcase(yyruleno==336); - /* (337) defer_subclause_opt ::= defer_subclause (OPTIMIZED OUT) */ assert(yyruleno!=337); - /* (338) resolvetype ::= raisetype (OPTIMIZED OUT) */ assert(yyruleno!=338); - /* (339) selectnowith ::= oneselect (OPTIMIZED OUT) */ assert(yyruleno!=339); - /* (340) oneselect ::= values */ yytestcase(yyruleno==340); - /* (341) sclp ::= selcollist COMMA */ yytestcase(yyruleno==341); - /* (342) as ::= ID|STRING */ yytestcase(yyruleno==342); - /* (343) expr ::= term (OPTIMIZED OUT) */ assert(yyruleno!=343); - /* (344) likeop ::= LIKE_KW|MATCH */ yytestcase(yyruleno==344); - /* (345) exprlist ::= nexprlist */ yytestcase(yyruleno==345); - /* (346) nmnum ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=346); - /* (347) nmnum ::= nm (OPTIMIZED OUT) */ assert(yyruleno!=347); - /* (348) nmnum ::= ON */ yytestcase(yyruleno==348); - /* (349) nmnum ::= DELETE */ yytestcase(yyruleno==349); - /* (350) nmnum ::= DEFAULT */ yytestcase(yyruleno==350); - /* (351) plus_num ::= INTEGER|FLOAT */ yytestcase(yyruleno==351); - /* (352) foreach_clause ::= */ yytestcase(yyruleno==352); - /* (353) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==353); - /* (354) trnm ::= nm */ yytestcase(yyruleno==354); - /* (355) tridxby ::= */ yytestcase(yyruleno==355); - /* (356) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==356); - /* (357) database_kw_opt ::= */ yytestcase(yyruleno==357); - /* (358) kwcolumn_opt ::= */ yytestcase(yyruleno==358); - /* (359) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==359); - /* (360) vtabarglist ::= vtabarg */ yytestcase(yyruleno==360); - /* (361) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==361); - /* (362) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==362); - /* (363) anylist ::= */ yytestcase(yyruleno==363); - /* (364) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==364); - /* (365) anylist ::= anylist ANY */ yytestcase(yyruleno==365); - /* (366) with ::= */ yytestcase(yyruleno==366); + /* (323) input ::= cmdlist */ yytestcase(yyruleno==323); + /* (324) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==324); + /* (325) cmdlist ::= ecmd (OPTIMIZED OUT) */ assert(yyruleno!=325); + /* (326) ecmd ::= SEMI */ yytestcase(yyruleno==326); + /* (327) ecmd ::= cmdx SEMI */ yytestcase(yyruleno==327); + /* (328) ecmd ::= explain cmdx */ yytestcase(yyruleno==328); + /* (329) trans_opt ::= */ yytestcase(yyruleno==329); + /* (330) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==330); + /* (331) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==331); + /* (332) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==332); + /* (333) savepoint_opt ::= */ yytestcase(yyruleno==333); + /* (334) cmd ::= create_table create_table_args */ yytestcase(yyruleno==334); + /* (335) columnlist ::= columnlist COMMA columnname carglist */ yytestcase(yyruleno==335); + /* (336) columnlist ::= columnname carglist */ yytestcase(yyruleno==336); + /* (337) nm ::= ID|INDEXED */ yytestcase(yyruleno==337); + /* (338) nm ::= STRING */ yytestcase(yyruleno==338); + /* (339) nm ::= JOIN_KW */ yytestcase(yyruleno==339); + /* (340) typetoken ::= typename */ yytestcase(yyruleno==340); + /* (341) typename ::= ID|STRING */ yytestcase(yyruleno==341); + /* (342) signed ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=342); + /* (343) signed ::= minus_num (OPTIMIZED OUT) */ assert(yyruleno!=343); + /* (344) carglist ::= carglist ccons */ yytestcase(yyruleno==344); + /* (345) carglist ::= */ yytestcase(yyruleno==345); + /* (346) ccons ::= NULL onconf */ yytestcase(yyruleno==346); + /* (347) conslist_opt ::= COMMA conslist */ yytestcase(yyruleno==347); + /* (348) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==348); + /* (349) conslist ::= tcons (OPTIMIZED OUT) */ assert(yyruleno!=349); + /* (350) tconscomma ::= */ yytestcase(yyruleno==350); + /* (351) defer_subclause_opt ::= defer_subclause (OPTIMIZED OUT) */ assert(yyruleno!=351); + /* (352) resolvetype ::= raisetype (OPTIMIZED OUT) */ assert(yyruleno!=352); + /* (353) selectnowith ::= oneselect (OPTIMIZED OUT) */ assert(yyruleno!=353); + /* (354) oneselect ::= values */ yytestcase(yyruleno==354); + /* (355) sclp ::= selcollist COMMA */ yytestcase(yyruleno==355); + /* (356) as ::= ID|STRING */ yytestcase(yyruleno==356); + /* (357) expr ::= term (OPTIMIZED OUT) */ assert(yyruleno!=357); + /* (358) likeop ::= LIKE_KW|MATCH */ yytestcase(yyruleno==358); + /* (359) exprlist ::= nexprlist */ yytestcase(yyruleno==359); + /* (360) nmnum ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=360); + /* (361) nmnum ::= nm (OPTIMIZED OUT) */ assert(yyruleno!=361); + /* (362) nmnum ::= ON */ yytestcase(yyruleno==362); + /* (363) nmnum ::= DELETE */ yytestcase(yyruleno==363); + /* (364) nmnum ::= DEFAULT */ yytestcase(yyruleno==364); + /* (365) plus_num ::= INTEGER|FLOAT */ yytestcase(yyruleno==365); + /* (366) foreach_clause ::= */ yytestcase(yyruleno==366); + /* (367) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==367); + /* (368) trnm ::= nm */ yytestcase(yyruleno==368); + /* (369) tridxby ::= */ yytestcase(yyruleno==369); + /* (370) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==370); + /* (371) database_kw_opt ::= */ yytestcase(yyruleno==371); + /* (372) kwcolumn_opt ::= */ yytestcase(yyruleno==372); + /* (373) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==373); + /* (374) vtabarglist ::= vtabarg */ yytestcase(yyruleno==374); + /* (375) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==375); + /* (376) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==376); + /* (377) anylist ::= */ yytestcase(yyruleno==377); + /* (378) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==378); + /* (379) anylist ::= anylist ANY */ yytestcase(yyruleno==379); + /* (380) with ::= */ yytestcase(yyruleno==380); break; /********** End reduce actions ************************************************/ }; - assert( yyruleno=SQLITE_N_KEYWORD ) return SQLITE_ERROR; *pzName = zKWText + aKWOffset[i]; @@ -152095,73 +155528,6 @@ SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *z, int *tokenType){ return i; } -#ifdef SQLITE_ENABLE_NORMALIZE -/* -** Return the length (in bytes) of the token that begins at z[0]. -** Store the token type in *tokenType before returning. If flags has -** SQLITE_TOKEN_NORMALIZE flag enabled, use the identifier token type -** for keywords. Add SQLITE_TOKEN_QUOTED to flags if the token was -** actually a quoted identifier. Add SQLITE_TOKEN_KEYWORD to flags -** if the token was recognized as a keyword; this is useful when the -** SQLITE_TOKEN_NORMALIZE flag is used, because it enables the caller -** to differentiate between a keyword being treated as an identifier -** (for normalization purposes) and an actual identifier. -*/ -SQLITE_PRIVATE int sqlite3GetTokenNormalized( - const unsigned char *z, - int *tokenType, - int *flags -){ - int n; - unsigned char iClass = aiClass[*z]; - if( iClass==CC_KYWD ){ - int i; - for(i=1; aiClass[z[i]]<=CC_KYWD; i++){} - if( IdChar(z[i]) ){ - /* This token started out using characters that can appear in keywords, - ** but z[i] is a character not allowed within keywords, so this must - ** be an identifier instead */ - i++; - while( IdChar(z[i]) ){ i++; } - *tokenType = TK_ID; - return i; - } - *tokenType = TK_ID; - n = keywordCode((char*)z, i, tokenType); - /* If the token is no longer considered to be an identifier, then it is a - ** keyword of some kind. Make the token back into an identifier and then - ** set the SQLITE_TOKEN_KEYWORD flag. Several non-identifier tokens are - ** used verbatim, including IN, IS, NOT, and NULL. */ - switch( *tokenType ){ - case TK_ID: { - /* do nothing, handled by caller */ - break; - } - case TK_IN: - case TK_IS: - case TK_NOT: - case TK_NULL: { - *flags |= SQLITE_TOKEN_KEYWORD; - break; - } - default: { - *tokenType = TK_ID; - *flags |= SQLITE_TOKEN_KEYWORD; - break; - } - } - }else{ - n = sqlite3GetToken(z, tokenType); - /* If the token is considered to be an identifier and the character class - ** of the first character is a quote, set the SQLITE_TOKEN_QUOTED flag. */ - if( *tokenType==TK_ID && (iClass==CC_QUOTE || iClass==CC_QUOTE2) ){ - *flags |= SQLITE_TOKEN_QUOTED; - } - } - return n; -} -#endif /* SQLITE_ENABLE_NORMALIZE */ - /* ** Run the parser on the given SQL string. The parser structure is ** passed in. An SQLITE_ status code is returned. If an error occurs @@ -152180,6 +155546,7 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr #ifdef sqlite3Parser_ENGINEALWAYSONSTACK yyParser sEngine; /* Space to hold the Lemon-generated Parser object */ #endif + VVA_ONLY( u8 startedWithOom = db->mallocFailed ); assert( zSql!=0 ); mxSqlLen = db->aLimit[SQLITE_LIMIT_SQL_LENGTH]; @@ -152189,7 +155556,14 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr pParse->rc = SQLITE_OK; pParse->zTail = zSql; assert( pzErrMsg!=0 ); - /* sqlite3ParserTrace(stdout, "parser: "); */ +#ifdef SQLITE_DEBUG + if( db->flags & SQLITE_ParserTrace ){ + printf("parser: [[[%s]]]\n", zSql); + sqlite3ParserTrace(stdout, "parser: "); + }else{ + sqlite3ParserTrace(0, 0); + } +#endif #ifdef sqlite3Parser_ENGINEALWAYSONSTACK pEngine = &sEngine; sqlite3ParserInit(pEngine, pParse); @@ -152204,6 +155578,8 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr assert( pParse->pNewTrigger==0 ); assert( pParse->nVar==0 ); assert( pParse->pVList==0 ); + pParse->pParentParse = db->pParse; + db->pParse = pParse; while( 1 ){ n = sqlite3GetToken((u8*)zSql, &tokenType); mxSqlLen -= n; @@ -152260,7 +155636,8 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr sqlite3Parser(pEngine, tokenType, pParse->sLastToken); lastTokenParsed = tokenType; zSql += n; - if( pParse->rc!=SQLITE_OK || db->mallocFailed ) break; + assert( db->mallocFailed==0 || pParse->rc!=SQLITE_OK || startedWithOom ); + if( pParse->rc!=SQLITE_OK ) break; } assert( nErr==0 ); #ifdef YYTRACKMAXSTACKDEPTH @@ -152328,10 +155705,147 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr pParse->pZombieTab = p->pNextZombie; sqlite3DeleteTable(db, p); } + db->pParse = pParse->pParentParse; + pParse->pParentParse = 0; assert( nErr==0 || pParse->rc!=SQLITE_OK ); return nErr; } + +#ifdef SQLITE_ENABLE_NORMALIZE +/* +** Insert a single space character into pStr if the current string +** ends with an identifier +*/ +static void addSpaceSeparator(sqlite3_str *pStr){ + if( pStr->nChar && sqlite3IsIdChar(pStr->zText[pStr->nChar-1]) ){ + sqlite3_str_append(pStr, " ", 1); + } +} + +/* +** Compute a normalization of the SQL given by zSql[0..nSql-1]. Return +** the normalization in space obtained from sqlite3DbMalloc(). Or return +** NULL if anything goes wrong or if zSql is NULL. +*/ +SQLITE_PRIVATE char *sqlite3Normalize( + Vdbe *pVdbe, /* VM being reprepared */ + const char *zSql /* The original SQL string */ +){ + sqlite3 *db; /* The database connection */ + int i; /* Next unread byte of zSql[] */ + int n; /* length of current token */ + int tokenType; /* type of current token */ + int prevType = 0; /* Previous non-whitespace token */ + int nParen; /* Number of nested levels of parentheses */ + int iStartIN; /* Start of RHS of IN operator in z[] */ + int nParenAtIN; /* Value of nParent at start of RHS of IN operator */ + int j; /* Bytes of normalized SQL generated so far */ + sqlite3_str *pStr; /* The normalized SQL string under construction */ + + db = sqlite3VdbeDb(pVdbe); + tokenType = -1; + nParen = iStartIN = nParenAtIN = 0; + pStr = sqlite3_str_new(db); + assert( pStr!=0 ); /* sqlite3_str_new() never returns NULL */ + for(i=0; zSql[i] && pStr->accError==0; i+=n){ + if( tokenType!=TK_SPACE ){ + prevType = tokenType; + } + n = sqlite3GetToken((unsigned char*)zSql+i, &tokenType); + if( NEVER(n<=0) ) break; + switch( tokenType ){ + case TK_SPACE: { + break; + } + case TK_NULL: { + if( prevType==TK_IS || prevType==TK_NOT ){ + sqlite3_str_append(pStr, " NULL", 5); + break; + } + /* Fall through */ + } + case TK_STRING: + case TK_INTEGER: + case TK_FLOAT: + case TK_VARIABLE: + case TK_BLOB: { + sqlite3_str_append(pStr, "?", 1); + break; + } + case TK_LP: { + nParen++; + if( prevType==TK_IN ){ + iStartIN = pStr->nChar; + nParenAtIN = nParen; + } + sqlite3_str_append(pStr, "(", 1); + break; + } + case TK_RP: { + if( iStartIN>0 && nParen==nParenAtIN ){ + assert( pStr->nChar>=iStartIN ); + pStr->nChar = iStartIN+1; + sqlite3_str_append(pStr, "?,?,?", 5); + iStartIN = 0; + } + nParen--; + sqlite3_str_append(pStr, ")", 1); + break; + } + case TK_ID: { + iStartIN = 0; + j = pStr->nChar; + if( sqlite3Isquote(zSql[i]) ){ + char *zId = sqlite3DbStrNDup(db, zSql+i, n); + int nId; + int eType = 0; + if( zId==0 ) break; + sqlite3Dequote(zId); + if( zSql[i]=='"' && sqlite3VdbeUsesDoubleQuotedString(pVdbe, zId) ){ + sqlite3_str_append(pStr, "?", 1); + sqlite3DbFree(db, zId); + break; + } + nId = sqlite3Strlen30(zId); + if( sqlite3GetToken((u8*)zId, &eType)==nId && eType==TK_ID ){ + addSpaceSeparator(pStr); + sqlite3_str_append(pStr, zId, nId); + }else{ + sqlite3_str_appendf(pStr, "\"%w\"", zId); + } + sqlite3DbFree(db, zId); + }else{ + addSpaceSeparator(pStr); + sqlite3_str_append(pStr, zSql+i, n); + } + while( jnChar ){ + pStr->zText[j] = sqlite3Tolower(pStr->zText[j]); + j++; + } + break; + } + case TK_SELECT: { + iStartIN = 0; + /* fall through */ + } + default: { + if( sqlite3IsIdChar(zSql[i]) ) addSpaceSeparator(pStr); + j = pStr->nChar; + sqlite3_str_append(pStr, zSql+i, n); + while( jnChar ){ + pStr->zText[j] = sqlite3Toupper(pStr->zText[j]); + j++; + } + break; + } + } + } + if( tokenType!=TK_SEMI ) sqlite3_str_append(pStr, ";", 1); + return sqlite3_str_finish(pStr); +} +#endif /* SQLITE_ENABLE_NORMALIZE */ + /************** End of tokenize.c ********************************************/ /************** Begin file complete.c ****************************************/ /* @@ -153377,6 +156891,13 @@ SQLITE_API int sqlite3_config(int op, ...){ } #endif /* SQLITE_ENABLE_SORTER_REFERENCES */ +#ifdef SQLITE_ENABLE_DESERIALIZE + case SQLITE_CONFIG_MEMDB_MAXSIZE: { + sqlite3GlobalConfig.mxMemdbSize = va_arg(ap, sqlite3_int64); + break; + } +#endif /* SQLITE_ENABLE_DESERIALIZE */ + default: { rc = SQLITE_ERROR; break; @@ -153422,7 +156943,7 @@ static int setupLookaside(sqlite3 *db, void *pBuf, int sz, int cnt){ pStart = 0; }else if( pBuf==0 ){ sqlite3BeginBenignMalloc(); - pStart = sqlite3Malloc( sz*cnt ); /* IMP: R-61949-35727 */ + pStart = sqlite3Malloc( sz*(sqlite3_int64)cnt ); /* IMP: R-61949-35727 */ sqlite3EndBenignMalloc(); if( pStart ) cnt = sqlite3MallocSize(pStart)/sz; }else{ @@ -153553,6 +157074,7 @@ SQLITE_API int sqlite3_db_config(sqlite3 *db, int op, ...){ } aFlagOp[] = { { SQLITE_DBCONFIG_ENABLE_FKEY, SQLITE_ForeignKeys }, { SQLITE_DBCONFIG_ENABLE_TRIGGER, SQLITE_EnableTrigger }, + { SQLITE_DBCONFIG_ENABLE_VIEW, SQLITE_EnableView }, { SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, SQLITE_Fts3Tokenizer }, { SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION, SQLITE_LoadExtension }, { SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE, SQLITE_NoCkptOnClose }, @@ -153560,6 +157082,11 @@ SQLITE_API int sqlite3_db_config(sqlite3 *db, int op, ...){ { SQLITE_DBCONFIG_TRIGGER_EQP, SQLITE_TriggerEQP }, { SQLITE_DBCONFIG_RESET_DATABASE, SQLITE_ResetDatabase }, { SQLITE_DBCONFIG_DEFENSIVE, SQLITE_Defensive }, + { SQLITE_DBCONFIG_WRITABLE_SCHEMA, SQLITE_WriteSchema| + SQLITE_NoSchemaError }, + { SQLITE_DBCONFIG_LEGACY_ALTER_TABLE, SQLITE_LegacyAlter }, + { SQLITE_DBCONFIG_DQS_DDL, SQLITE_DqsDDL }, + { SQLITE_DBCONFIG_DQS_DML, SQLITE_DqsDML }, }; unsigned int i; rc = SQLITE_ERROR; /* IMP: R-42790-23372 */ @@ -153567,11 +157094,11 @@ SQLITE_API int sqlite3_db_config(sqlite3 *db, int op, ...){ if( aFlagOp[i].op==op ){ int onoff = va_arg(ap, int); int *pRes = va_arg(ap, int*); - u32 oldFlags = db->flags; + u64 oldFlags = db->flags; if( onoff>0 ){ db->flags |= aFlagOp[i].mask; }else if( onoff==0 ){ - db->flags &= ~aFlagOp[i].mask; + db->flags &= ~(u64)aFlagOp[i].mask; } if( oldFlags!=db->flags ){ sqlite3ExpirePreparedStatements(db, 0); @@ -153590,28 +157117,17 @@ SQLITE_API int sqlite3_db_config(sqlite3 *db, int op, ...){ return rc; } - -/* -** Return true if the buffer z[0..n-1] contains all spaces. -*/ -static int allSpaces(const char *z, int n){ - while( n>0 && z[n-1]==' ' ){ n--; } - return n==0; -} - /* ** This is the default collating function named "BINARY" which is always ** available. -** -** If the padFlag argument is not NULL then space padding at the end -** of strings is ignored. This implements the RTRIM collation. */ static int binCollFunc( - void *padFlag, + void *NotUsed, int nKey1, const void *pKey1, int nKey2, const void *pKey2 ){ int rc, n; + UNUSED_PARAMETER(NotUsed); n = nKey1xCmp!=binCollFunc || p->pUser!=0 - || strcmp(p->zName,"BINARY")==0 ); - return p==0 || (p->xCmp==binCollFunc && p->pUser==0); + assert( p==0 || p->xCmp!=binCollFunc || strcmp(p->zName,"BINARY")==0 ); + return p==0 || p->xCmp==binCollFunc; } /* @@ -153954,11 +157474,8 @@ SQLITE_PRIVATE void sqlite3LeaveMutexAndCloseZombie(sqlite3 *db){ #ifndef SQLITE_OMIT_VIRTUALTABLE for(i=sqliteHashFirst(&db->aModule); i; i=sqliteHashNext(i)){ Module *pMod = (Module *)sqliteHashData(i); - if( pMod->xDestroy ){ - pMod->xDestroy(pMod->pAux); - } sqlite3VtabEponymousTableClear(db, pMod); - sqlite3DbFree(db, pMod); + sqlite3VtabModuleUnref(db, pMod); } sqlite3HashClear(&db->aModule); #endif @@ -154034,7 +157551,7 @@ SQLITE_PRIVATE void sqlite3RollbackAll(sqlite3 *db, int tripCode){ /* Any deferred constraint violations have now been resolved. */ db->nDeferredCons = 0; db->nDeferredImmCons = 0; - db->flags &= ~SQLITE_DeferFKs; + db->flags &= ~(u64)SQLITE_DeferFKs; /* If one has been configured, invoke the rollback-hook callback */ if( db->xRollbackCallback && (inTrans || !db->autoCommit) ){ @@ -154439,7 +157956,8 @@ SQLITE_PRIVATE int sqlite3CreateFunc( } assert( SQLITE_FUNC_CONSTANT==SQLITE_DETERMINISTIC ); - extraFlags = enc & SQLITE_DETERMINISTIC; + assert( SQLITE_FUNC_DIRECT==SQLITE_DIRECTONLY ); + extraFlags = enc & (SQLITE_DETERMINISTIC|SQLITE_DIRECTONLY|SQLITE_SUBTYPE); enc &= (SQLITE_FUNC_ENCMASK|SQLITE_ANY); #ifndef SQLITE_OMIT_UTF16 @@ -154502,6 +158020,7 @@ SQLITE_PRIVATE int sqlite3CreateFunc( p->u.pDestructor = pDestructor; p->funcFlags = (p->funcFlags & SQLITE_FUNC_ENCMASK) | extraFlags; testcase( p->funcFlags & SQLITE_DETERMINISTIC ); + testcase( p->funcFlags & SQLITE_DIRECTONLY ); p->xSFunc = xSFunc ? xSFunc : xStep; p->xFinalize = xFinal; p->xValue = xValue; @@ -154776,6 +158295,8 @@ SQLITE_API void *sqlite3_profile( pOld = db->pProfileArg; db->xProfile = xProfile; db->pProfileArg = pArg; + db->mTrace &= SQLITE_TRACE_NONLEGACY_MASK; + if( db->xProfile ) db->mTrace |= SQLITE_TRACE_XPROFILE; sqlite3_mutex_leave(db->mutex); return pOld; } @@ -155127,7 +158648,7 @@ SQLITE_API const char *sqlite3_errmsg(sqlite3 *db){ z = sqlite3ErrStr(SQLITE_NOMEM_BKPT); }else{ testcase( db->pErr==0 ); - z = (char*)sqlite3_value_text(db->pErr); + z = db->errCode ? (char*)sqlite3_value_text(db->pErr) : 0; assert( !db->mallocFailed ); if( z==0 ){ z = sqlite3ErrStr(db->errCode); @@ -155657,6 +159178,40 @@ SQLITE_PRIVATE int sqlite3ParseUri( return rc; } +#if defined(SQLITE_HAS_CODEC) +/* +** Process URI filename query parameters relevant to the SQLite Encryption +** Extension. Return true if any of the relevant query parameters are +** seen and return false if not. +*/ +SQLITE_PRIVATE int sqlite3CodecQueryParameters( + sqlite3 *db, /* Database connection */ + const char *zDb, /* Which schema is being created/attached */ + const char *zUri /* URI filename */ +){ + const char *zKey; + if( (zKey = sqlite3_uri_parameter(zUri, "hexkey"))!=0 && zKey[0] ){ + u8 iByte; + int i; + char zDecoded[40]; + for(i=0, iByte=0; iszMmap = sqlite3GlobalConfig.szMmap; db->nextPagesize = 0; db->nMaxSorterMmap = 0x7FFFFFFF; - db->flags |= SQLITE_ShortColNames | SQLITE_EnableTrigger | SQLITE_CacheSpill + db->flags |= SQLITE_ShortColNames + | SQLITE_EnableTrigger + | SQLITE_EnableView + | SQLITE_CacheSpill + +/* The SQLITE_DQS compile-time option determines the default settings +** for SQLITE_DBCONFIG_DQS_DDL and SQLITE_DBCONFIG_DQS_DML. +** +** SQLITE_DQS SQLITE_DBCONFIG_DQS_DDL SQLITE_DBCONFIG_DQS_DML +** ---------- ----------------------- ----------------------- +** undefined on on +** 3 on on +** 2 on off +** 1 off on +** 0 off off +** +** Legacy behavior is 3 (double-quoted string literals are allowed anywhere) +** and so that is the default. But developers are encouranged to use +** -DSQLITE_DQS=0 (best) or -DSQLITE_DQS=1 (second choice) if possible. +*/ +#if !defined(SQLITE_DQS) +# define SQLITE_DQS 3 +#endif +#if (SQLITE_DQS&1)==1 + | SQLITE_DqsDML +#endif +#if (SQLITE_DQS&2)==2 + | SQLITE_DqsDDL +#endif + #if !defined(SQLITE_DEFAULT_AUTOMATIC_INDEX) || SQLITE_DEFAULT_AUTOMATIC_INDEX | SQLITE_AutoIndex #endif @@ -155807,7 +159391,7 @@ static int openDatabase( createCollation(db, sqlite3StrBINARY, SQLITE_UTF16BE, 0, binCollFunc, 0); createCollation(db, sqlite3StrBINARY, SQLITE_UTF16LE, 0, binCollFunc, 0); createCollation(db, "NOCASE", SQLITE_UTF8, 0, nocaseCollatingFunc, 0); - createCollation(db, "RTRIM", SQLITE_UTF8, (void*)1, binCollFunc, 0); + createCollation(db, "RTRIM", SQLITE_UTF8, 0, rtrimCollFunc, 0); if( db->mallocFailed ){ goto opendb_out; } @@ -156002,26 +159586,13 @@ static int openDatabase( } #endif #if defined(SQLITE_HAS_CODEC) - if( rc==SQLITE_OK ){ - const char *zKey; - if( (zKey = sqlite3_uri_parameter(zOpen, "hexkey"))!=0 && zKey[0] ){ - u8 iByte; - int i; - char zDecoded[40]; - for(i=0, iByte=0; iaDb[0].pSchema!=0 ); + if( db && (y = db->aDb[0].pSchema->schema_cookie)!=0 ){ x = y; } + sqlite3Config.iPrngSeed = x; sqlite3_randomness(0,0); break; } @@ -156710,6 +160302,17 @@ SQLITE_API int sqlite3_test_control(int op, ...){ break; } + /* sqlite3_test_control(SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS, int); + ** + ** Set or clear a flag that causes SQLite to verify that type, name, + ** and tbl_name fields of the sqlite_master table. This is normally + ** on, but it is sometimes useful to turn it off for testing. + */ + case SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS: { + sqlite3GlobalConfig.bExtraSchemaChecks = va_arg(ap, int); + break; + } + /* Set the threshold at which OP_Once counters reset back to zero. ** By default this is 0x7ffffffe (over 2 billion), but that value is ** too big to test in a reasonable amount of time, so this control is @@ -156796,6 +160399,22 @@ SQLITE_API int sqlite3_test_control(int op, ...){ break; } #endif /* defined(YYCOVERAGE) */ + + /* sqlite3_test_control(SQLITE_TESTCTRL_RESULT_INTREAL, sqlite3_context*); + ** + ** This test-control causes the most recent sqlite3_result_int64() value + ** to be interpreted as a MEM_IntReal instead of as an MEM_Int. Normally, + ** MEM_IntReal values only arise during an INSERT operation of integer + ** values into a REAL column, so they can be challenging to test. This + ** test-control enables us to write an intreal() SQL function that can + ** inject an intreal() value at arbitrary places in an SQL statement, + ** for testing purposes. + */ + case SQLITE_TESTCTRL_RESULT_INTREAL: { + sqlite3_context *pCtx = va_arg(ap, sqlite3_context*); + sqlite3ResultIntReal(pCtx); + break; + } } va_end(ap); #endif /* SQLITE_UNTESTABLE */ @@ -158082,6 +161701,8 @@ SQLITE_PRIVATE Fts3HashElem *sqlite3Fts3HashFindElem(const Fts3Hash *, const voi */ #define FTS3_VARINT_MAX 10 +#define FTS3_BUFFER_PADDING 8 + /* ** FTS4 virtual tables may maintain multiple indexes - one index of all terms ** in the document set and zero or more prefix indexes. All indexes are stored @@ -158114,6 +161735,18 @@ SQLITE_PRIVATE Fts3HashElem *sqlite3Fts3HashFindElem(const Fts3Hash *, const voi #define POS_COLUMN (1) /* Column-list terminator */ #define POS_END (0) /* Position-list terminator */ +/* +** The assert_fts3_nc() macro is similar to the assert() macro, except that it +** is used for assert() conditions that are true only if it can be +** guranteed that the database is not corrupt. +*/ +#if defined(SQLITE_DEBUG) || defined(SQLITE_TEST) +SQLITE_API extern int sqlite3_fts3_may_be_corrupt; +# define assert_fts3_nc(x) assert(sqlite3_fts3_may_be_corrupt || (x)) +#else +# define assert_fts3_nc(x) assert(x) +#endif + /* ** This section provides definitions to allow the ** FTS3 extension to be compiled outside of the @@ -158626,6 +162259,18 @@ SQLITE_PRIVATE int sqlite3FtsUnicodeIsdiacritic(int); SQLITE_EXTENSION_INIT1 #endif +/* +** The following are copied from sqliteInt.h. +** +** Constants for the largest and smallest possible 64-bit signed integers. +** These macros are designed to work correctly on both 32-bit and 64-bit +** compilers. +*/ +#ifndef SQLITE_AMALGAMATION +# define LARGEST_INT64 (0xffffffff|(((sqlite3_int64)0x7fffffff)<<32)) +# define SMALLEST_INT64 (((sqlite3_int64)-1) - LARGEST_INT64) +#endif + static int fts3EvalNext(Fts3Cursor *pCsr); static int fts3EvalStart(Fts3Cursor *pCsr); static int fts3TermSegReaderCursor( @@ -158638,6 +162283,14 @@ SQLITE_PRIVATE int sqlite3Fts3Never(int b) { assert( !b ); return b; } # endif #endif +/* +** This variable is set to false when running tests for which the on disk +** structures should not be corrupt. Otherwise, true. If it is false, extra +** assert() conditions in the fts3 code are activated - conditions that are +** only true if it is guaranteed that the fts3 database is not corrupt. +*/ +SQLITE_API int sqlite3_fts3_may_be_corrupt = 1; + /* ** Write a 64-bit variable-length integer to memory starting at p[0]. ** The length of data written will be between 1 and FTS3_VARINT_MAX bytes. @@ -158656,7 +162309,7 @@ SQLITE_PRIVATE int sqlite3Fts3PutVarint(char *p, sqlite_int64 v){ } #define GETVARINT_STEP(v, ptr, shift, mask1, mask2, var, ret) \ - v = (v & mask1) | ( (*ptr++) << shift ); \ + v = (v & mask1) | ( (*(const unsigned char*)(ptr++)) << shift ); \ if( (v & mask2)==0 ){ var = v; return ret; } #define GETVARINT_INIT(v, ptr, shift, mask1, mask2, var, ret) \ v = (*ptr++); \ @@ -158694,20 +162347,21 @@ SQLITE_PRIVATE int sqlite3Fts3GetVarint(const char *pBuf, sqlite_int64 *v){ ** a non-negative 32-bit integer before it is returned. */ SQLITE_PRIVATE int sqlite3Fts3GetVarint32(const char *p, int *pi){ + const unsigned char *ptr = (const unsigned char*)p; u32 a; #ifndef fts3GetVarint32 - GETVARINT_INIT(a, p, 0, 0x00, 0x80, *pi, 1); + GETVARINT_INIT(a, ptr, 0, 0x00, 0x80, *pi, 1); #else - a = (*p++); + a = (*ptr++); assert( a & 0x80 ); #endif - GETVARINT_STEP(a, p, 7, 0x7F, 0x4000, *pi, 2); - GETVARINT_STEP(a, p, 14, 0x3FFF, 0x200000, *pi, 3); - GETVARINT_STEP(a, p, 21, 0x1FFFFF, 0x10000000, *pi, 4); + GETVARINT_STEP(a, ptr, 7, 0x7F, 0x4000, *pi, 2); + GETVARINT_STEP(a, ptr, 14, 0x3FFF, 0x200000, *pi, 3); + GETVARINT_STEP(a, ptr, 21, 0x1FFFFF, 0x10000000, *pi, 4); a = (a & 0x0FFFFFFF ); - *pi = (int)(a | ((u32)(*p & 0x07) << 28)); + *pi = (int)(a | ((u32)(*ptr & 0x07) << 28)); assert( 0==(a & 0x80000000) ); assert( *pi>=0 ); return 5; @@ -158878,13 +162532,18 @@ static int fts3DestroyMethod(sqlite3_vtab *pVtab){ sqlite3 *db = p->db; /* Database handle */ /* Drop the shadow tables */ - if( p->zContentTbl==0 ){ - fts3DbExec(&rc, db, "DROP TABLE IF EXISTS %Q.'%q_content'", zDb, p->zName); - } - fts3DbExec(&rc, db, "DROP TABLE IF EXISTS %Q.'%q_segments'", zDb,p->zName); - fts3DbExec(&rc, db, "DROP TABLE IF EXISTS %Q.'%q_segdir'", zDb, p->zName); - fts3DbExec(&rc, db, "DROP TABLE IF EXISTS %Q.'%q_docsize'", zDb, p->zName); - fts3DbExec(&rc, db, "DROP TABLE IF EXISTS %Q.'%q_stat'", zDb, p->zName); + fts3DbExec(&rc, db, + "DROP TABLE IF EXISTS %Q.'%q_segments';" + "DROP TABLE IF EXISTS %Q.'%q_segdir';" + "DROP TABLE IF EXISTS %Q.'%q_docsize';" + "DROP TABLE IF EXISTS %Q.'%q_stat';" + "%s DROP TABLE IF EXISTS %Q.'%q_content';", + zDb, p->zName, + zDb, p->zName, + zDb, p->zName, + zDb, p->zName, + (p->zContentTbl ? "--" : ""), zDb,p->zName + ); /* If everything has worked, invoke fts3DisconnectMethod() to free the ** memory associated with the Fts3Table structure and return SQLITE_OK. @@ -159116,10 +162775,10 @@ static void fts3Appendf( ** memory. */ static char *fts3QuoteId(char const *zInput){ - int nRet; + sqlite3_int64 nRet; char *zRet; nRet = 2 + (int)strlen(zInput)*2 + 1; - zRet = sqlite3_malloc(nRet); + zRet = sqlite3_malloc64(nRet); if( zRet ){ int i; char *z = zRet; @@ -159300,7 +162959,7 @@ static int fts3PrefixParameter( } } - aIndex = sqlite3_malloc(sizeof(struct Fts3Index) * nIndex); + aIndex = sqlite3_malloc64(sizeof(struct Fts3Index) * nIndex); *apIndex = aIndex; if( !aIndex ){ return SQLITE_NOMEM; @@ -159379,7 +163038,7 @@ static int fts3ContentColumns( if( rc==SQLITE_OK ){ const char **azCol; /* Output array */ - int nStr = 0; /* Size of all column names (incl. 0x00) */ + sqlite3_int64 nStr = 0; /* Size of all column names (incl. 0x00) */ int nCol; /* Number of table columns */ int i; /* Used to iterate through columns */ @@ -159389,11 +163048,11 @@ static int fts3ContentColumns( nCol = sqlite3_column_count(pStmt); for(i=0; i=0 && nSuffix>=0 ); - if( nPrefix>zCsr-zNode || nSuffix>zEnd-zCsr ){ + if( nPrefix>zCsr-zNode || nSuffix>zEnd-zCsr || nSuffix==0 ){ rc = FTS_CORRUPT_VTAB; goto finish_scan; } @@ -160390,10 +164049,11 @@ static void fts3ColumnlistCopy(char **pp, char **ppPoslist){ } /* -** Value used to signify the end of an position-list. This is safe because -** it is not possible to have a document with 2^31 terms. +** Value used to signify the end of an position-list. This must be +** as large or larger than any value that might appear on the +** position-list, even a position list that has been corrupted. */ -#define POSITION_LIST_END 0x7fffffff +#define POSITION_LIST_END LARGEST_INT64 /* ** This function is used to help parse position-lists. When this function is @@ -160452,7 +164112,7 @@ static int fts3PutColNumber(char **pp, int iCol){ ** updated appropriately. The caller is responsible for insuring ** that there is enough space in *pp to hold the complete output. */ -static void fts3PoslistMerge( +static int fts3PoslistMerge( char **pp, /* Output buffer */ char **pp1, /* Left input list */ char **pp2 /* Right input list */ @@ -160465,12 +164125,18 @@ static void fts3PoslistMerge( int iCol1; /* The current column index in pp1 */ int iCol2; /* The current column index in pp2 */ - if( *p1==POS_COLUMN ) fts3GetVarint32(&p1[1], &iCol1); - else if( *p1==POS_END ) iCol1 = POSITION_LIST_END; + if( *p1==POS_COLUMN ){ + fts3GetVarint32(&p1[1], &iCol1); + if( iCol1==0 ) return FTS_CORRUPT_VTAB; + } + else if( *p1==POS_END ) iCol1 = 0x7fffffff; else iCol1 = 0; - if( *p2==POS_COLUMN ) fts3GetVarint32(&p2[1], &iCol2); - else if( *p2==POS_END ) iCol2 = POSITION_LIST_END; + if( *p2==POS_COLUMN ){ + fts3GetVarint32(&p2[1], &iCol2); + if( iCol2==0 ) return FTS_CORRUPT_VTAB; + } + else if( *p2==POS_END ) iCol2 = 0x7fffffff; else iCol2 = 0; if( iCol1==iCol2 ){ @@ -160517,6 +164183,7 @@ static void fts3PoslistMerge( *pp = p; *pp1 = p1 + 1; *pp2 = p2 + 1; + return SQLITE_OK; } /* @@ -160581,10 +164248,9 @@ static int fts3PoslistPhraseMerge( p += sqlite3Fts3PutVarint(p, iCol1); } - assert( *p1!=POS_END && *p1!=POS_COLUMN ); - assert( *p2!=POS_END && *p2!=POS_COLUMN ); fts3GetDeltaVarint(&p1, &iPos1); iPos1 -= 2; fts3GetDeltaVarint(&p2, &iPos2); iPos2 -= 2; + if( iPos1<0 || iPos2<0 ) break; while( 1 ){ if( iPos2==iPos1+nToken @@ -160772,7 +164438,8 @@ static void fts3PutDeltaVarint3( iWrite = *piPrev - iVal; } assert( *pbFirst || *piPrev==0 ); - assert( *pbFirst==0 || iWrite>0 ); + assert_fts3_nc( *pbFirst==0 || iWrite>0 ); + assert( *pbFirst==0 || iWrite>=0 ); *pp += sqlite3Fts3PutVarint(*pp, iWrite); *piPrev = iVal; *pbFirst = 1; @@ -160810,6 +164477,7 @@ static int fts3DoclistOrMerge( char *a2, int n2, /* Second doclist */ char **paOut, int *pnOut /* OUT: Malloc'd doclist */ ){ + int rc = SQLITE_OK; sqlite3_int64 i1 = 0; sqlite3_int64 i2 = 0; sqlite3_int64 iPrev = 0; @@ -160853,7 +164521,7 @@ static int fts3DoclistOrMerge( ** A symetric argument may be made if the doclists are in descending ** order. */ - aOut = sqlite3_malloc(n1+n2+FTS3_VARINT_MAX-1); + aOut = sqlite3_malloc64((i64)n1+n2+FTS3_VARINT_MAX-1+FTS3_BUFFER_PADDING); if( !aOut ) return SQLITE_NOMEM; p = aOut; @@ -160864,7 +164532,8 @@ static int fts3DoclistOrMerge( if( p2 && p1 && iDiff==0 ){ fts3PutDeltaVarint3(&p, bDescDoclist, &iPrev, &bFirstOut, i1); - fts3PoslistMerge(&p, &p1, &p2); + rc = fts3PoslistMerge(&p, &p1, &p2); + if( rc ) break; fts3GetDeltaVarint3(&p1, pEnd1, bDescDoclist, &i1); fts3GetDeltaVarint3(&p2, pEnd2, bDescDoclist, &i2); }else if( !p2 || (p1 && iDiff<0) ){ @@ -160876,12 +164545,20 @@ static int fts3DoclistOrMerge( fts3PoslistCopy(&p, &p2); fts3GetDeltaVarint3(&p2, pEnd2, bDescDoclist, &i2); } + + assert( (p-aOut)<=((p1?(p1-a1):n1)+(p2?(p2-a2):n2)+FTS3_VARINT_MAX-1) ); } + if( rc!=SQLITE_OK ){ + sqlite3_free(aOut); + p = aOut = 0; + }else{ + assert( (p-aOut)<=n1+n2+FTS3_VARINT_MAX-1 ); + memset(&aOut[(p-aOut)], 0, FTS3_BUFFER_PADDING); + } *paOut = aOut; *pnOut = (int)(p-aOut); - assert( *pnOut<=n1+n2+FTS3_VARINT_MAX-1 ); - return SQLITE_OK; + return rc; } /* @@ -160916,7 +164593,7 @@ static int fts3DoclistPhraseMerge( assert( nDist>0 ); if( bDescDoclist ){ - aOut = sqlite3_malloc(*pnRight + FTS3_VARINT_MAX); + aOut = sqlite3_malloc64((sqlite3_int64)*pnRight + FTS3_VARINT_MAX); if( aOut==0 ) return SQLITE_NOMEM; }else{ aOut = aRight; @@ -161100,6 +164777,7 @@ static int fts3TermSelectMerge( pTS->anOutput[0] = nDoclist; if( pTS->aaOutput[0] ){ memcpy(pTS->aaOutput[0], aDoclist, nDoclist); + memset(&pTS->aaOutput[0][nDoclist], 0, FTS3_VARINT_MAX); }else{ return SQLITE_NOMEM; } @@ -161151,8 +164829,8 @@ static int fts3SegReaderCursorAppend( ){ if( (pCsr->nSegment%16)==0 ){ Fts3SegReader **apNew; - int nByte = (pCsr->nSegment + 16)*sizeof(Fts3SegReader*); - apNew = (Fts3SegReader **)sqlite3_realloc(pCsr->apSegment, nByte); + sqlite3_int64 nByte = (pCsr->nSegment + 16)*sizeof(Fts3SegReader*); + apNew = (Fts3SegReader **)sqlite3_realloc64(pCsr->apSegment, nByte); if( !apNew ){ sqlite3Fts3SegReaderFree(pNew); return SQLITE_NOMEM; @@ -161216,7 +164894,7 @@ static int fts3SegReaderCursor( /* If zTerm is not NULL, and this segment is not stored entirely on its ** root node, the range of leaves scanned can be reduced. Do this. */ - if( iStartBlock && zTerm ){ + if( iStartBlock && zTerm && zRoot ){ sqlite3_int64 *pi = (isPrefix ? &iLeavesEndBlock : 0); rc = fts3SelectLeaf(p, zTerm, nTerm, zRoot, nRoot, &iStartBlock, pi); if( rc!=SQLITE_OK ) goto finished; @@ -161468,18 +165146,6 @@ static int fts3NextMethod(sqlite3_vtab_cursor *pCursor){ return rc; } -/* -** The following are copied from sqliteInt.h. -** -** Constants for the largest and smallest possible 64-bit signed integers. -** These macros are designed to work correctly on both 32-bit and 64-bit -** compilers. -*/ -#ifndef SQLITE_AMALGAMATION -# define LARGEST_INT64 (0xffffffff|(((sqlite3_int64)0x7fffffff)<<32)) -# define SMALLEST_INT64 (((sqlite3_int64)-1) - LARGEST_INT64) -#endif - /* ** If the numeric type of argument pVal is "integer", then return it ** converted to a 64-bit signed integer. Otherwise, return a copy of @@ -162158,7 +165824,6 @@ static int fts3RollbackToMethod(sqlite3_vtab *pVtab, int iSavepoint){ Fts3Table *p = (Fts3Table*)pVtab; UNUSED_PARAMETER(iSavepoint); assert( p->inTransaction ); - assert( p->mxSavepoint >= iSavepoint ); TESTONLY( p->mxSavepoint = iSavepoint ); sqlite3Fts3PendingTermsClear(p); return SQLITE_OK; @@ -162933,9 +166598,10 @@ static int fts3EvalIncrPhraseNext( if( bEof==0 ){ int nList = 0; int nByte = a[p->nToken-1].nList; - char *aDoclist = sqlite3_malloc(nByte+1); + char *aDoclist = sqlite3_malloc(nByte+FTS3_BUFFER_PADDING); if( !aDoclist ) return SQLITE_NOMEM; memcpy(aDoclist, a[p->nToken-1].pList, nByte+1); + memset(&aDoclist[nByte], 0, FTS3_BUFFER_PADDING); for(i=0; i<(p->nToken-1); i++){ if( a[i].bIgnore==0 ){ @@ -163326,7 +166992,7 @@ static int fts3EvalStart(Fts3Cursor *pCsr){ if( rc==SQLITE_OK && nToken>1 && pTab->bFts4 ){ Fts3TokenAndCost *aTC; Fts3Expr **apOr; - aTC = (Fts3TokenAndCost *)sqlite3_malloc( + aTC = (Fts3TokenAndCost *)sqlite3_malloc64( sizeof(Fts3TokenAndCost) * nToken + sizeof(Fts3Expr *) * nOr * 2 ); @@ -163637,7 +167303,7 @@ static int fts3EvalNearTest(Fts3Expr *pExpr, int *pRc){ && (pExpr->pParent==0 || pExpr->pParent->eType!=FTSQUERY_NEAR) ){ Fts3Expr *p; - int nTmp = 0; /* Bytes of temp space */ + sqlite3_int64 nTmp = 0; /* Bytes of temp space */ char *aTmp; /* Temp space for PoslistNearMerge() */ /* Allocate temporary working space. */ @@ -163646,7 +167312,7 @@ static int fts3EvalNearTest(Fts3Expr *pExpr, int *pRc){ nTmp += p->pRight->pPhrase->doclist.nList; } nTmp += p->pPhrase->doclist.nList; - aTmp = sqlite3_malloc(nTmp*2); + aTmp = sqlite3_malloc64(nTmp*2); if( !aTmp ){ *pRc = SQLITE_NOMEM; res = 0; @@ -163916,15 +167582,14 @@ static void fts3EvalRestart( ** found in Fts3Expr.pPhrase->doclist.pList for each of the phrase ** expression nodes. */ -static void fts3EvalUpdateCounts(Fts3Expr *pExpr){ +static void fts3EvalUpdateCounts(Fts3Expr *pExpr, int nCol){ if( pExpr ){ Fts3Phrase *pPhrase = pExpr->pPhrase; if( pPhrase && pPhrase->doclist.pList ){ int iCol = 0; char *p = pPhrase->doclist.pList; - assert( *p ); - while( 1 ){ + do{ u8 c = 0; int iCnt = 0; while( 0xFE & (*p | c) ){ @@ -163940,11 +167605,11 @@ static void fts3EvalUpdateCounts(Fts3Expr *pExpr){ if( *p==0x00 ) break; p++; p += fts3GetVarint32(p, &iCol); - } + }while( iColpLeft); - fts3EvalUpdateCounts(pExpr->pRight); + fts3EvalUpdateCounts(pExpr->pLeft, nCol); + fts3EvalUpdateCounts(pExpr->pRight, nCol); } } @@ -163988,7 +167653,7 @@ static int fts3EvalGatherStats( for(p=pRoot; p; p=p->pLeft){ Fts3Expr *pE = (p->eType==FTSQUERY_PHRASE?p:p->pRight); assert( pE->aMI==0 ); - pE->aMI = (u32 *)sqlite3_malloc(pTab->nColumn * 3 * sizeof(u32)); + pE->aMI = (u32 *)sqlite3_malloc64(pTab->nColumn * 3 * sizeof(u32)); if( !pE->aMI ) return SQLITE_NOMEM; memset(pE->aMI, 0, pTab->nColumn * 3 * sizeof(u32)); } @@ -164014,7 +167679,7 @@ static int fts3EvalGatherStats( ); if( rc==SQLITE_OK && pCsr->isEof==0 ){ - fts3EvalUpdateCounts(pRoot); + fts3EvalUpdateCounts(pRoot, pTab->nColumn); } } @@ -164364,7 +168029,7 @@ static int fts3auxConnectMethod( char const *zFts3; /* Name of fts3 table */ int nDb; /* Result of strlen(zDb) */ int nFts3; /* Result of strlen(zFts3) */ - int nByte; /* Bytes of space to allocate here */ + sqlite3_int64 nByte; /* Bytes of space to allocate here */ int rc; /* value returned by declare_vtab() */ Fts3auxTable *p; /* Virtual table object to return */ @@ -164396,7 +168061,7 @@ static int fts3auxConnectMethod( if( rc!=SQLITE_OK ) return rc; nByte = sizeof(Fts3auxTable) + sizeof(Fts3Table) + nDb + nFts3 + 2; - p = (Fts3auxTable *)sqlite3_malloc(nByte); + p = (Fts3auxTable *)sqlite3_malloc64(nByte); if( !p ) return SQLITE_NOMEM; memset(p, 0, nByte); @@ -164546,7 +168211,7 @@ static int fts3auxCloseMethod(sqlite3_vtab_cursor *pCursor){ static int fts3auxGrowStatArray(Fts3auxCursor *pCsr, int nSize){ if( nSize>pCsr->nStat ){ struct Fts3auxColstats *aNew; - aNew = (struct Fts3auxColstats *)sqlite3_realloc(pCsr->aStat, + aNew = (struct Fts3auxColstats *)sqlite3_realloc64(pCsr->aStat, sizeof(struct Fts3auxColstats) * nSize ); if( aNew==0 ) return SQLITE_NOMEM; @@ -164714,15 +168379,15 @@ static int fts3auxFilterMethod( assert( (iEq==0 && iGe==-1) || (iEq==-1 && iGe==0) ); if( zStr ){ pCsr->filter.zTerm = sqlite3_mprintf("%s", zStr); - pCsr->filter.nTerm = sqlite3_value_bytes(apVal[0]); if( pCsr->filter.zTerm==0 ) return SQLITE_NOMEM; + pCsr->filter.nTerm = (int)strlen(pCsr->filter.zTerm); } } if( iLe>=0 ){ pCsr->zStop = sqlite3_mprintf("%s", sqlite3_value_text(apVal[iLe])); - pCsr->nStop = sqlite3_value_bytes(apVal[iLe]); if( pCsr->zStop==0 ) return SQLITE_NOMEM; + pCsr->nStop = (int)strlen(pCsr->zStop); } if( iLangid>=0 ){ @@ -164974,8 +168639,8 @@ static int fts3isspace(char c){ ** zero the memory before returning a pointer to it. If unsuccessful, ** return NULL. */ -static void *fts3MallocZero(int nByte){ - void *pRet = sqlite3_malloc(nByte); +static void *fts3MallocZero(sqlite3_int64 nByte){ + void *pRet = sqlite3_malloc64(nByte); if( pRet ) memset(pRet, 0, nByte); return pRet; } @@ -165050,7 +168715,7 @@ static int getNextToken( if( rc==SQLITE_OK ){ const char *zToken; int nToken = 0, iStart = 0, iEnd = 0, iPosition = 0; - int nByte; /* total space to allocate */ + sqlite3_int64 nByte; /* total space to allocate */ rc = pModule->xNext(pCursor, &zToken, &nToken, &iStart, &iEnd, &iPosition); if( rc==SQLITE_OK ){ @@ -165104,8 +168769,8 @@ static int getNextToken( ** Enlarge a memory allocation. If an out-of-memory allocation occurs, ** then free the old allocation. */ -static void *fts3ReallocOrFree(void *pOrig, int nNew){ - void *pRet = sqlite3_realloc(pOrig, nNew); +static void *fts3ReallocOrFree(void *pOrig, sqlite3_int64 nNew){ + void *pRet = sqlite3_realloc64(pOrig, nNew); if( !pRet ){ sqlite3_free(pOrig); } @@ -165349,7 +169014,6 @@ static int getNextNode( int nConsumed = 0; pParse->nNest++; rc = fts3ExprParse(pParse, zInput+1, nInput-1, ppExpr, &nConsumed); - if( rc==SQLITE_OK && !*ppExpr ){ rc = SQLITE_DONE; } *pnConsumed = (int)(zInput - z) + 1 + nConsumed; return rc; }else if( *zInput==')' ){ @@ -165648,7 +169312,7 @@ static int fts3ExprBalance(Fts3Expr **pp, int nMaxDepth){ if( rc==SQLITE_OK ){ if( (eType==FTSQUERY_AND || eType==FTSQUERY_OR) ){ Fts3Expr **apLeaf; - apLeaf = (Fts3Expr **)sqlite3_malloc(sizeof(Fts3Expr *) * nMaxDepth); + apLeaf = (Fts3Expr **)sqlite3_malloc64(sizeof(Fts3Expr *) * nMaxDepth); if( 0==apLeaf ){ rc = SQLITE_NOMEM; }else{ @@ -166068,7 +169732,7 @@ static void fts3ExprTestCommon( zExpr = (const char *)sqlite3_value_text(argv[1]); nExpr = sqlite3_value_bytes(argv[1]); nCol = argc-2; - azCol = (char **)sqlite3_malloc(nCol*sizeof(char *)); + azCol = (char **)sqlite3_malloc64(nCol*sizeof(char *)); if( !azCol ){ sqlite3_result_error_nomem(context); goto exprtest_out; @@ -166182,8 +169846,8 @@ SQLITE_PRIVATE int sqlite3Fts3ExprInitTestInterface(sqlite3 *db, Fts3Hash *pHash /* ** Malloc and Free functions */ -static void *fts3HashMalloc(int n){ - void *p = sqlite3_malloc(n); +static void *fts3HashMalloc(sqlite3_int64 n){ + void *p = sqlite3_malloc64(n); if( p ){ memset(p, 0, n); } @@ -167277,7 +170941,7 @@ static void fts3TokenizerFunc( nName = sqlite3_value_bytes(argv[0])+1; if( argc==2 ){ - if( fts3TokenizerEnabled(context) ){ + if( fts3TokenizerEnabled(context) || sqlite3_value_frombind(argv[1]) ){ void *pOld; int n = sqlite3_value_bytes(argv[1]); if( zName==0 || n!=sizeof(pPtr) ){ @@ -167304,7 +170968,9 @@ static void fts3TokenizerFunc( return; } } - sqlite3_result_blob(context, (void *)&pPtr, sizeof(pPtr), SQLITE_TRANSIENT); + if( fts3TokenizerEnabled(context) || sqlite3_value_frombind(argv[0]) ){ + sqlite3_result_blob(context, (void *)&pPtr, sizeof(pPtr), SQLITE_TRANSIENT); + } } SQLITE_PRIVATE int sqlite3Fts3IsIdChar(char c){ @@ -167392,8 +171058,8 @@ SQLITE_PRIVATE int sqlite3Fts3InitTokenizer( int iArg = 0; z = &z[n+1]; while( zzInput = sqlite3_malloc(nByte+1); + pCsr->zInput = sqlite3_malloc64(nByte+1); if( pCsr->zInput==0 ){ rc = SQLITE_NOMEM; }else{ @@ -168808,10 +172474,12 @@ static int fts3SqlStmt( pStmt = p->aStmt[eStmt]; if( !pStmt ){ + int f = SQLITE_PREPARE_PERSISTENT|SQLITE_PREPARE_NO_VTAB; char *zSql; if( eStmt==SQL_CONTENT_INSERT ){ zSql = sqlite3_mprintf(azSql[eStmt], p->zDb, p->zName, p->zWriteExprlist); }else if( eStmt==SQL_SELECT_CONTENT_BY_ROWID ){ + f &= ~SQLITE_PREPARE_NO_VTAB; zSql = sqlite3_mprintf(azSql[eStmt], p->zReadExprlist); }else{ zSql = sqlite3_mprintf(azSql[eStmt], p->zDb, p->zName); @@ -168819,8 +172487,7 @@ static int fts3SqlStmt( if( !zSql ){ rc = SQLITE_NOMEM; }else{ - rc = sqlite3_prepare_v3(p->db, zSql, -1, SQLITE_PREPARE_PERSISTENT, - &pStmt, NULL); + rc = sqlite3_prepare_v3(p->db, zSql, -1, f, &pStmt, NULL); sqlite3_free(zSql); assert( rc==SQLITE_OK || pStmt==0 ); p->aStmt[eStmt] = pStmt; @@ -168978,7 +172645,7 @@ static sqlite3_int64 getAbsoluteLevel( int iLevel /* Level of segments */ ){ sqlite3_int64 iBase; /* First absolute level for iLangid/iIndex */ - assert( iLangid>=0 ); + assert_fts3_nc( iLangid>=0 ); assert( p->nIndex>0 ); assert( iIndex>=0 && iIndexnIndex ); @@ -169759,7 +173426,9 @@ static int fts3SegReaderNext( /* If iCurrentBlock>=iLeafEndBlock, this is an EOF condition. All leaf ** blocks have already been traversed. */ - assert( pReader->iCurrentBlock<=pReader->iLeafEndBlock ); +#ifdef CORRUPT_DB + assert( pReader->iCurrentBlock<=pReader->iLeafEndBlock || CORRUPT_DB ); +#endif if( pReader->iCurrentBlock>=pReader->iLeafEndBlock ){ return SQLITE_OK; } @@ -169820,7 +173489,7 @@ static int fts3SegReaderNext( ** b-tree node. And that the final byte of the doclist is 0x00. If either ** of these statements is untrue, then the data structure is corrupt. */ - if( (&pReader->aNode[pReader->nNode] - pReader->aDoclist)nDoclist + if( pReader->nDoclist > pReader->nNode-(pReader->aDoclist-pReader->aNode) || (pReader->nPopulate==0 && pReader->aDoclist[pReader->nDoclist-1]) ){ return FTS_CORRUPT_VTAB; @@ -170020,8 +173689,13 @@ SQLITE_PRIVATE int sqlite3Fts3SegReaderNew( Fts3SegReader *pReader; /* Newly allocated SegReader object */ int nExtra = 0; /* Bytes to allocate segment root node */ - assert( iStartLeaf<=iEndLeaf ); + assert( zRoot!=0 || nRoot==0 ); +#ifdef CORRUPT_DB + assert( zRoot!=0 || CORRUPT_DB ); +#endif + if( iStartLeaf==0 ){ + if( iEndLeaf!=0 ) return FTS_CORRUPT_VTAB; nExtra = nRoot + FTS3_NODE_PADDING; } @@ -170041,7 +173715,7 @@ SQLITE_PRIVATE int sqlite3Fts3SegReaderNew( pReader->aNode = (char *)&pReader[1]; pReader->rootOnly = 1; pReader->nNode = nRoot; - memcpy(pReader->aNode, zRoot, nRoot); + if( nRoot ) memcpy(pReader->aNode, zRoot, nRoot); memset(&pReader->aNode[nRoot], 0, FTS3_NODE_PADDING); }else{ pReader->iCurrentBlock = iStartLeaf-1; @@ -170156,8 +173830,9 @@ SQLITE_PRIVATE int sqlite3Fts3SegReaderPending( } if( nElem>0 ){ - int nByte = sizeof(Fts3SegReader) + (nElem+1)*sizeof(Fts3HashElem *); - pReader = (Fts3SegReader *)sqlite3_malloc(nByte); + sqlite3_int64 nByte; + nByte = sizeof(Fts3SegReader) + (nElem+1)*sizeof(Fts3HashElem *); + pReader = (Fts3SegReader *)sqlite3_malloc64(nByte); if( !pReader ){ rc = SQLITE_NOMEM; }else{ @@ -170661,6 +174336,11 @@ static int fts3SegWriterAdd( nPrefix = fts3PrefixCompress(pWriter->zTerm, pWriter->nTerm, zTerm, nTerm); nSuffix = nTerm-nPrefix; + /* If nSuffix is zero or less, then zTerm/nTerm must be a prefix of + ** pWriter->zTerm/pWriter->nTerm. i.e. must be equal to or less than when + ** compared with BINARY collation. This indicates corruption. */ + if( nSuffix<=0 ) return FTS_CORRUPT_VTAB; + /* Figure out how many bytes are required by this new entry */ nReq = sqlite3Fts3VarintLen(nPrefix) + /* varint containing prefix size */ sqlite3Fts3VarintLen(nSuffix) + /* varint containing suffix size */ @@ -171017,14 +174697,14 @@ static void fts3ColumnFilter( nList -= (int)(p - pList); pList = p; - if( nList==0 ){ + if( nList<=0 ){ break; } p = &pList[1]; p += fts3GetVarint32(p, &iCurrent); } - if( bZero && &pList[nList]!=pEnd ){ + if( bZero && (pEnd - &pList[nList])>0){ memset(&pList[nList], 0, pEnd - &pList[nList]); } *ppList = pList; @@ -171368,7 +175048,9 @@ SQLITE_PRIVATE int sqlite3Fts3SegReaderStep( }else{ iDelta = iDocid - iPrev; } - assert( iDelta>0 || (nDoclist==0 && iDelta==iDocid) ); + if( iDelta<=0 && (nDoclist>0 || iDelta!=iDocid) ){ + return FTS_CORRUPT_VTAB; + } assert( nDoclist>0 || iDelta==iDocid ); nByte = sqlite3Fts3VarintLen(iDelta) + (isRequirePos?nList+1:0); @@ -171634,8 +175316,10 @@ static int fts3SegmentMerge( if( rc!=SQLITE_OK ) goto finished; assert( csr.nSegment>0 ); - assert( iNewLevel>=getAbsoluteLevel(p, iLangid, iIndex, 0) ); - assert( iNewLevel=getAbsoluteLevel(p, iLangid, iIndex, 0) ); + assert_fts3_nc( + iNewLevelnColumn ); + pBlob = sqlite3_malloc64( 10*(sqlite3_int64)p->nColumn ); if( pBlob==0 ){ *pRC = SQLITE_NOMEM; return; @@ -171810,7 +175496,7 @@ static void fts3UpdateDocTotals( const int nStat = p->nColumn+2; if( *pRC ) return; - a = sqlite3_malloc( (sizeof(u32)+10)*nStat ); + a = sqlite3_malloc64( (sizeof(u32)+10)*(sqlite3_int64)nStat ); if( a==0 ){ *pRC = SQLITE_NOMEM; return; @@ -171931,8 +175617,8 @@ static int fts3DoRebuild(Fts3Table *p){ } if( rc==SQLITE_OK ){ - int nByte = sizeof(u32) * (p->nColumn+1)*3; - aSz = (u32 *)sqlite3_malloc(nByte); + sqlite3_int64 nByte = sizeof(u32) * ((sqlite3_int64)p->nColumn+1)*3; + aSz = (u32 *)sqlite3_malloc64(nByte); if( aSz==0 ){ rc = SQLITE_NOMEM; }else{ @@ -171998,12 +175684,12 @@ static int fts3IncrmergeCsr( ){ int rc; /* Return Code */ sqlite3_stmt *pStmt = 0; /* Statement used to read %_segdir entry */ - int nByte; /* Bytes allocated at pCsr->apSegment[] */ + sqlite3_int64 nByte; /* Bytes allocated at pCsr->apSegment[] */ /* Allocate space for the Fts3MultiSegReader.aCsr[] array */ memset(pCsr, 0, sizeof(*pCsr)); nByte = sizeof(Fts3SegReader *) * nSeg; - pCsr->apSegment = (Fts3SegReader **)sqlite3_malloc(nByte); + pCsr->apSegment = (Fts3SegReader **)sqlite3_malloc64(nByte); if( pCsr->apSegment==0 ){ rc = SQLITE_NOMEM; @@ -172146,8 +175832,8 @@ static int nodeReaderNext(NodeReader *p){ } p->iOff += fts3GetVarint32(&p->aNode[p->iOff], &nSuffix); - if( nPrefix>p->iOff || nSuffix>p->nNode-p->iOff ){ - return SQLITE_CORRUPT_VTAB; + if( nPrefix>p->term.n || nSuffix>p->nNode-p->iOff || nSuffix==0 ){ + return FTS_CORRUPT_VTAB; } blobGrowBuffer(&p->term, nPrefix+nSuffix, &rc); if( rc==SQLITE_OK ){ @@ -172157,7 +175843,7 @@ static int nodeReaderNext(NodeReader *p){ if( p->iChild==0 ){ p->iOff += fts3GetVarint32(&p->aNode[p->iOff], &p->nDoclist); if( (p->nNode-p->iOff)nDoclist ){ - return SQLITE_CORRUPT_VTAB; + return FTS_CORRUPT_VTAB; } p->aDoclist = &p->aNode[p->iOff]; p->iOff += p->nDoclist; @@ -172165,7 +175851,7 @@ static int nodeReaderNext(NodeReader *p){ } } - assert( p->iOff<=p->nNode ); + assert_fts3_nc( p->iOff<=p->nNode ); return rc; } @@ -172189,14 +175875,14 @@ static int nodeReaderInit(NodeReader *p, const char *aNode, int nNode){ p->nNode = nNode; /* Figure out if this is a leaf or an internal node. */ - if( p->aNode[0] ){ + if( aNode && aNode[0] ){ /* An internal node. */ p->iOff = 1 + sqlite3Fts3GetVarint(&p->aNode[1], &p->iChild); }else{ p->iOff = 1; } - return nodeReaderNext(p); + return aNode ? nodeReaderNext(p) : SQLITE_OK; } /* @@ -172326,13 +176012,14 @@ static int fts3AppendToNode( /* Node must have already been started. There must be a doclist for a ** leaf node, and there must not be a doclist for an internal node. */ assert( pNode->n>0 ); - assert( (pNode->a[0]=='\0')==(aDoclist!=0) ); + assert_fts3_nc( (pNode->a[0]=='\0')==(aDoclist!=0) ); blobGrowBuffer(pPrev, nTerm, &rc); if( rc!=SQLITE_OK ) return rc; nPrefix = fts3PrefixCompress(pPrev->a, pPrev->n, zTerm, nTerm); nSuffix = nTerm - nPrefix; + if( nSuffix<=0 ) return FTS_CORRUPT_VTAB; memcpy(pPrev->a, zTerm, nTerm); pPrev->n = nTerm; @@ -172542,7 +176229,7 @@ static int fts3TermCmp( int nCmp = MIN(nLhs, nRhs); int res; - res = memcmp(zLhs, zRhs, nCmp); + res = (nCmp ? memcmp(zLhs, zRhs, nCmp) : 0); if( res==0 ) res = nLhs - nRhs; return res; @@ -172674,34 +176361,42 @@ static int fts3IncrmergeLoad( pNode = &pWriter->aNodeWriter[nHeight]; pNode->iBlock = pWriter->iStart + pWriter->nLeafEst*nHeight; - blobGrowBuffer(&pNode->block, MAX(nRoot, p->nNodeSize), &rc); + blobGrowBuffer(&pNode->block, + MAX(nRoot, p->nNodeSize)+FTS3_NODE_PADDING, &rc + ); if( rc==SQLITE_OK ){ memcpy(pNode->block.a, aRoot, nRoot); pNode->block.n = nRoot; + memset(&pNode->block.a[nRoot], 0, FTS3_NODE_PADDING); } for(i=nHeight; i>=0 && rc==SQLITE_OK; i--){ NodeReader reader; pNode = &pWriter->aNodeWriter[i]; - rc = nodeReaderInit(&reader, pNode->block.a, pNode->block.n); - while( reader.aNode && rc==SQLITE_OK ) rc = nodeReaderNext(&reader); - blobGrowBuffer(&pNode->key, reader.term.n, &rc); - if( rc==SQLITE_OK ){ - memcpy(pNode->key.a, reader.term.a, reader.term.n); - pNode->key.n = reader.term.n; - if( i>0 ){ - char *aBlock = 0; - int nBlock = 0; - pNode = &pWriter->aNodeWriter[i-1]; - pNode->iBlock = reader.iChild; - rc = sqlite3Fts3ReadBlock(p, reader.iChild, &aBlock, &nBlock, 0); - blobGrowBuffer(&pNode->block, MAX(nBlock, p->nNodeSize), &rc); - if( rc==SQLITE_OK ){ - memcpy(pNode->block.a, aBlock, nBlock); - pNode->block.n = nBlock; + if( pNode->block.a){ + rc = nodeReaderInit(&reader, pNode->block.a, pNode->block.n); + while( reader.aNode && rc==SQLITE_OK ) rc = nodeReaderNext(&reader); + blobGrowBuffer(&pNode->key, reader.term.n, &rc); + if( rc==SQLITE_OK ){ + memcpy(pNode->key.a, reader.term.a, reader.term.n); + pNode->key.n = reader.term.n; + if( i>0 ){ + char *aBlock = 0; + int nBlock = 0; + pNode = &pWriter->aNodeWriter[i-1]; + pNode->iBlock = reader.iChild; + rc = sqlite3Fts3ReadBlock(p, reader.iChild, &aBlock, &nBlock, 0); + blobGrowBuffer(&pNode->block, + MAX(nBlock, p->nNodeSize)+FTS3_NODE_PADDING, &rc + ); + if( rc==SQLITE_OK ){ + memcpy(pNode->block.a, aBlock, nBlock); + pNode->block.n = nBlock; + memset(&pNode->block.a[nBlock], 0, FTS3_NODE_PADDING); + } + sqlite3_free(aBlock); } - sqlite3_free(aBlock); } } nodeReaderRelease(&reader); @@ -172944,7 +176639,10 @@ static int fts3TruncateNode( NodeReader reader; /* Reader object */ Blob prev = {0, 0, 0}; /* Previous term written to new node */ int rc = SQLITE_OK; /* Return code */ - int bLeaf = aNode[0]=='\0'; /* True for a leaf node */ + int bLeaf; /* True for a leaf node */ + + if( nNode<1 ) return FTS_CORRUPT_VTAB; + bLeaf = aNode[0]=='\0'; /* Allocate required output space */ blobGrowBuffer(pNew, nNode, &rc); @@ -173983,7 +177681,7 @@ SQLITE_PRIVATE int sqlite3Fts3UpdateMethod( } /* Allocate space to hold the change in document sizes */ - aSzDel = sqlite3_malloc( sizeof(aSzDel[0])*(p->nColumn+1)*2 ); + aSzDel = sqlite3_malloc64(sizeof(aSzDel[0])*((sqlite3_int64)p->nColumn+1)*2); if( aSzDel==0 ){ rc = SQLITE_NOMEM; goto update_out; @@ -174237,17 +177935,19 @@ struct StrBuffer { /* ** Allocate a two-slot MatchinfoBuffer object. */ -static MatchinfoBuffer *fts3MIBufferNew(int nElem, const char *zMatchinfo){ +static MatchinfoBuffer *fts3MIBufferNew(size_t nElem, const char *zMatchinfo){ MatchinfoBuffer *pRet; - int nByte = sizeof(u32) * (2*nElem + 1) + sizeof(MatchinfoBuffer); - int nStr = (int)strlen(zMatchinfo); + sqlite3_int64 nByte = sizeof(u32) * (2*(sqlite3_int64)nElem + 1) + + sizeof(MatchinfoBuffer); + sqlite3_int64 nStr = strlen(zMatchinfo); - pRet = sqlite3_malloc(nByte + nStr+1); + pRet = sqlite3_malloc64(nByte + nStr+1); if( pRet ){ memset(pRet, 0, nByte); pRet->aMatchinfo[0] = (u8*)(&pRet->aMatchinfo[1]) - (u8*)pRet; - pRet->aMatchinfo[1+nElem] = pRet->aMatchinfo[0] + sizeof(u32)*(nElem+1); - pRet->nElem = nElem; + pRet->aMatchinfo[1+nElem] = pRet->aMatchinfo[0] + + sizeof(u32)*((int)nElem+1); + pRet->nElem = (int)nElem; pRet->zMatchinfo = ((char*)pRet) + nByte; memcpy(pRet->zMatchinfo, zMatchinfo, nStr+1); pRet->aRef[0] = 1; @@ -174287,7 +177987,7 @@ static void (*fts3MIBufferAlloc(MatchinfoBuffer *p, u32 **paOut))(void*){ aOut = &p->aMatchinfo[p->nElem+2]; xRet = fts3MIBufferFree; }else{ - aOut = (u32*)sqlite3_malloc(p->nElem * sizeof(u32)); + aOut = (u32*)sqlite3_malloc64(p->nElem * sizeof(u32)); if( aOut ){ xRet = sqlite3_free; if( p->bGlobal ) memcpy(aOut, &p->aMatchinfo[1], p->nElem*sizeof(u32)); @@ -174538,11 +178238,12 @@ static void fts3SnippetDetails( char *pCsr = pPhrase->pTail; int iCsr = pPhrase->iTail; - while( iCsr<(iStart+pIter->nSnippet) ){ + while( iCsr<(iStart+pIter->nSnippet) && iCsr>=iStart ){ int j; - u64 mPhrase = (u64)1 << i; + u64 mPhrase = (u64)1 << (i%64); u64 mPos = (u64)1 << (iCsr - iStart); - assert( iCsr>=iStart ); + assert( iCsr>=iStart && (iCsr - iStart)<=64 ); + assert( i>=0 ); if( (mCover|mCovered)&mPhrase ){ iScore++; }else{ @@ -174584,11 +178285,14 @@ static int fts3SnippetFindPositions(Fts3Expr *pExpr, int iPhrase, void *ctx){ int iFirst = 0; pPhrase->pList = pCsr; fts3GetDeltaPosition(&pCsr, &iFirst); - assert( iFirst>=0 ); - pPhrase->pHead = pCsr; - pPhrase->pTail = pCsr; - pPhrase->iHead = iFirst; - pPhrase->iTail = iFirst; + if( iFirst<0 ){ + rc = FTS_CORRUPT_VTAB; + }else{ + pPhrase->pHead = pCsr; + pPhrase->pTail = pCsr; + pPhrase->iHead = iFirst; + pPhrase->iTail = iFirst; + } }else{ assert( rc!=SQLITE_OK || ( pPhrase->pList==0 && pPhrase->pHead==0 && pPhrase->pTail==0 @@ -174625,7 +178329,7 @@ static int fts3BestSnippet( int rc; /* Return Code */ int nList; /* Number of phrases in expression */ SnippetIter sIter; /* Iterates through snippet candidates */ - int nByte; /* Number of bytes of space to allocate */ + sqlite3_int64 nByte; /* Number of bytes of space to allocate */ int iBestScore = -1; /* Best snippet score found so far */ int i; /* Loop counter */ @@ -174643,7 +178347,7 @@ static int fts3BestSnippet( ** the required space using malloc(). */ nByte = sizeof(SnippetPhrase) * nList; - sIter.aPhrase = (SnippetPhrase *)sqlite3_malloc(nByte); + sIter.aPhrase = (SnippetPhrase *)sqlite3_malloc64(nByte); if( !sIter.aPhrase ){ return SQLITE_NOMEM; } @@ -174713,8 +178417,8 @@ static int fts3StringAppend( ** appended data. */ if( pStr->n+nAppend+1>=pStr->nAlloc ){ - int nAlloc = pStr->nAlloc+nAppend+100; - char *zNew = sqlite3_realloc(pStr->z, nAlloc); + sqlite3_int64 nAlloc = pStr->nAlloc+(sqlite3_int64)nAppend+100; + char *zNew = sqlite3_realloc64(pStr->z, nAlloc); if( !zNew ){ return SQLITE_NOMEM; } @@ -174769,6 +178473,7 @@ static int fts3SnippetShift( for(nLeft=0; !(hlmask & ((u64)1 << nLeft)); nLeft++); for(nRight=0; !(hlmask & ((u64)1 << (nSnippet-1-nRight))); nRight++); + assert( (nSnippet-1-nRight)<=63 && (nSnippet-1-nRight)>=0 ); nDesired = (nLeft-nRight)/2; /* Ideally, the start of the snippet should be pushed forward in the @@ -174961,7 +178666,7 @@ static int fts3ColumnlistCount(char **ppCollist){ /* ** This function gathers 'y' or 'b' data for a single phrase. */ -static void fts3ExprLHits( +static int fts3ExprLHits( Fts3Expr *pExpr, /* Phrase expression node */ MatchInfo *p /* Matchinfo context */ ){ @@ -174991,25 +178696,29 @@ static void fts3ExprLHits( if( *pIter!=0x01 ) break; pIter++; pIter += fts3GetVarint32(pIter, &iCol); + if( iCol>=p->nCol ) return FTS_CORRUPT_VTAB; } + return SQLITE_OK; } /* ** Gather the results for matchinfo directives 'y' and 'b'. */ -static void fts3ExprLHitGather( +static int fts3ExprLHitGather( Fts3Expr *pExpr, MatchInfo *p ){ + int rc = SQLITE_OK; assert( (pExpr->pLeft==0)==(pExpr->pRight==0) ); if( pExpr->bEof==0 && pExpr->iDocid==p->pCursor->iPrevId ){ if( pExpr->pLeft ){ - fts3ExprLHitGather(pExpr->pLeft, p); - fts3ExprLHitGather(pExpr->pRight, p); + rc = fts3ExprLHitGather(pExpr->pLeft, p); + if( rc==SQLITE_OK ) rc = fts3ExprLHitGather(pExpr->pRight, p); }else{ - fts3ExprLHits(pExpr, p); + rc = fts3ExprLHits(pExpr, p); } } + return rc; } /* @@ -175099,8 +178808,8 @@ static int fts3MatchinfoCheck( return SQLITE_ERROR; } -static int fts3MatchinfoSize(MatchInfo *pInfo, char cArg){ - int nVal; /* Number of integers output by cArg */ +static size_t fts3MatchinfoSize(MatchInfo *pInfo, char cArg){ + size_t nVal; /* Number of integers output by cArg */ switch( cArg ){ case FTS3_MATCHINFO_NDOC: @@ -175226,11 +178935,12 @@ static int fts3MatchinfoLcs(Fts3Cursor *pCsr, MatchInfo *pInfo){ int i; int iCol; int nToken = 0; + int rc = SQLITE_OK; /* Allocate and populate the array of LcsIterator objects. The array ** contains one element for each matchable phrase in the query. **/ - aIter = sqlite3_malloc(sizeof(LcsIterator) * pCsr->nPhrase); + aIter = sqlite3_malloc64(sizeof(LcsIterator) * pCsr->nPhrase); if( !aIter ) return SQLITE_NOMEM; memset(aIter, 0, sizeof(LcsIterator) * pCsr->nPhrase); (void)fts3ExprIterate(pCsr->pExpr, fts3MatchinfoLcsCb, (void*)aIter); @@ -175246,13 +178956,16 @@ static int fts3MatchinfoLcs(Fts3Cursor *pCsr, MatchInfo *pInfo){ int nLive = 0; /* Number of iterators in aIter not at EOF */ for(i=0; inPhrase; i++){ - int rc; LcsIterator *pIt = &aIter[i]; rc = sqlite3Fts3EvalPhrasePoslist(pCsr, pIt->pExpr, iCol, &pIt->pRead); - if( rc!=SQLITE_OK ) return rc; + if( rc!=SQLITE_OK ) goto matchinfo_lcs_out; if( pIt->pRead ){ pIt->iPos = pIt->iPosOffset; - fts3LcsIteratorAdvance(&aIter[i]); + fts3LcsIteratorAdvance(pIt); + if( pIt->pRead==0 ){ + rc = FTS_CORRUPT_VTAB; + goto matchinfo_lcs_out; + } nLive++; } } @@ -175284,8 +178997,9 @@ static int fts3MatchinfoLcs(Fts3Cursor *pCsr, MatchInfo *pInfo){ pInfo->aMatchinfo[iCol] = nLcs; } + matchinfo_lcs_out: sqlite3_free(aIter); - return SQLITE_OK; + return rc; } /* @@ -175379,9 +179093,9 @@ static int fts3MatchinfoValues( case FTS3_MATCHINFO_LHITS_BM: case FTS3_MATCHINFO_LHITS: { - int nZero = fts3MatchinfoSize(pInfo, zArg[i]) * sizeof(u32); + size_t nZero = fts3MatchinfoSize(pInfo, zArg[i]) * sizeof(u32); memset(pInfo->aMatchinfo, 0, nZero); - fts3ExprLHitGather(pCsr->pExpr, pInfo); + rc = fts3ExprLHitGather(pCsr->pExpr, pInfo); break; } @@ -175448,7 +179162,7 @@ static void fts3GetMatchinfo( ** initialize those elements that are constant for every row. */ if( pCsr->pMIBuffer==0 ){ - int nMatchinfo = 0; /* Number of u32 elements in match-info */ + size_t nMatchinfo = 0; /* Number of u32 elements in match-info */ int i; /* Used to iterate through zArg */ /* Determine the number of phrases in the query */ @@ -175533,6 +179247,10 @@ SQLITE_PRIVATE void sqlite3Fts3Snippet( return; } + /* Limit the snippet length to 64 tokens. */ + if( nToken<-64 ) nToken = -64; + if( nToken>+64 ) nToken = +64; + for(nSnippet=1; 1; nSnippet++){ int iSnip; /* Loop counter 0..nSnippet-1 */ @@ -175634,7 +179352,7 @@ static int fts3ExprTermOffsetInit(Fts3Expr *pExpr, int iPhrase, void *ctx){ nTerm = pExpr->pPhrase->nToken; if( pList ){ fts3GetDeltaPosition(&pList, &iPos); - assert( iPos>=0 ); + assert_fts3_nc( iPos>=0 ); } for(iTerm=0; iTermpList) ){ pTerm->pList = 0; }else{ @@ -175900,7 +179618,7 @@ typedef struct unicode_cursor unicode_cursor; struct unicode_tokenizer { sqlite3_tokenizer base; - int bRemoveDiacritic; + int eRemoveDiacritic; int nException; int *aiException; }; @@ -175973,7 +179691,7 @@ static int unicodeAddExceptions( int *aNew; /* New aiException[] array */ int nNew; /* Number of valid entries in array aNew[] */ - aNew = sqlite3_realloc(p->aiException, (p->nException+nEntry)*sizeof(int)); + aNew = sqlite3_realloc64(p->aiException,(p->nException+nEntry)*sizeof(int)); if( aNew==0 ) return SQLITE_NOMEM; nNew = p->nException; @@ -176045,17 +179763,20 @@ static int unicodeCreate( pNew = (unicode_tokenizer *) sqlite3_malloc(sizeof(unicode_tokenizer)); if( pNew==NULL ) return SQLITE_NOMEM; memset(pNew, 0, sizeof(unicode_tokenizer)); - pNew->bRemoveDiacritic = 1; + pNew->eRemoveDiacritic = 1; for(i=0; rc==SQLITE_OK && ibRemoveDiacritic = 1; + pNew->eRemoveDiacritic = 1; } else if( n==19 && memcmp("remove_diacritics=0", z, 19)==0 ){ - pNew->bRemoveDiacritic = 0; + pNew->eRemoveDiacritic = 0; + } + else if( n==19 && memcmp("remove_diacritics=2", z, 19)==0 ){ + pNew->eRemoveDiacritic = 2; } else if( n>=11 && memcmp("tokenchars=", z, 11)==0 ){ rc = unicodeAddExceptions(pNew, 1, &z[11], n-11); @@ -176159,7 +179880,7 @@ static int unicodeNext( /* Grow the output buffer if required. */ if( (zOut-pCsr->zToken)>=(pCsr->nAlloc-4) ){ - char *zNew = sqlite3_realloc(pCsr->zToken, pCsr->nAlloc+64); + char *zNew = sqlite3_realloc64(pCsr->zToken, pCsr->nAlloc+64); if( !zNew ) return SQLITE_NOMEM; zOut = &zNew[zOut - pCsr->zToken]; pCsr->zToken = zNew; @@ -176168,7 +179889,7 @@ static int unicodeNext( /* Write the folded case of the last character read to the output */ zEnd = z; - iOut = sqlite3FtsUnicodeFold((int)iCode, p->bRemoveDiacritic); + iOut = sqlite3FtsUnicodeFold((int)iCode, p->eRemoveDiacritic); if( iOut ){ WRITE_UTF8(zOut, iOut); } @@ -176213,7 +179934,7 @@ SQLITE_PRIVATE void sqlite3Fts3UnicodeTokenizer(sqlite3_tokenizer_module const * /************** End of fts3_unicode.c ****************************************/ /************** Begin file fts3_unicode2.c ***********************************/ /* -** 2012 May 25 +** 2012-05-25 ** ** The author disclaims copyright to this source code. In place of ** a legal notice, here is a blessing: @@ -176373,32 +180094,48 @@ SQLITE_PRIVATE int sqlite3FtsUnicodeIsalnum(int c){ ** E"). The resuls of passing a codepoint that corresponds to an ** uppercase letter are undefined. */ -static int remove_diacritic(int c){ +static int remove_diacritic(int c, int bComplex){ unsigned short aDia[] = { 0, 1797, 1848, 1859, 1891, 1928, 1940, 1995, 2024, 2040, 2060, 2110, 2168, 2206, 2264, 2286, 2344, 2383, 2472, 2488, 2516, 2596, 2668, 2732, 2782, 2842, 2894, 2954, 2984, 3000, 3028, 3336, - 3456, 3696, 3712, 3728, 3744, 3896, 3912, 3928, - 3968, 4008, 4040, 4106, 4138, 4170, 4202, 4234, - 4266, 4296, 4312, 4344, 4408, 4424, 4472, 4504, - 6148, 6198, 6264, 6280, 6360, 6429, 6505, 6529, - 61448, 61468, 61534, 61592, 61642, 61688, 61704, 61726, - 61784, 61800, 61836, 61880, 61914, 61948, 61998, 62122, - 62154, 62200, 62218, 62302, 62364, 62442, 62478, 62536, - 62554, 62584, 62604, 62640, 62648, 62656, 62664, 62730, - 62924, 63050, 63082, 63274, 63390, + 3456, 3696, 3712, 3728, 3744, 3766, 3832, 3896, + 3912, 3928, 3944, 3968, 4008, 4040, 4056, 4106, + 4138, 4170, 4202, 4234, 4266, 4296, 4312, 4344, + 4408, 4424, 4442, 4472, 4488, 4504, 6148, 6198, + 6264, 6280, 6360, 6429, 6505, 6529, 61448, 61468, + 61512, 61534, 61592, 61610, 61642, 61672, 61688, 61704, + 61726, 61784, 61800, 61816, 61836, 61880, 61896, 61914, + 61948, 61998, 62062, 62122, 62154, 62184, 62200, 62218, + 62252, 62302, 62364, 62410, 62442, 62478, 62536, 62554, + 62584, 62604, 62640, 62648, 62656, 62664, 62730, 62766, + 62830, 62890, 62924, 62974, 63032, 63050, 63082, 63118, + 63182, 63242, 63274, 63310, 63368, 63390, }; - char aChar[] = { - '\0', 'a', 'c', 'e', 'i', 'n', 'o', 'u', 'y', 'y', 'a', 'c', - 'd', 'e', 'e', 'g', 'h', 'i', 'j', 'k', 'l', 'n', 'o', 'r', - 's', 't', 'u', 'u', 'w', 'y', 'z', 'o', 'u', 'a', 'i', 'o', - 'u', 'g', 'k', 'o', 'j', 'g', 'n', 'a', 'e', 'i', 'o', 'r', - 'u', 's', 't', 'h', 'a', 'e', 'o', 'y', '\0', '\0', '\0', '\0', - '\0', '\0', '\0', '\0', 'a', 'b', 'd', 'd', 'e', 'f', 'g', 'h', - 'h', 'i', 'k', 'l', 'l', 'm', 'n', 'p', 'r', 'r', 's', 't', - 'u', 'v', 'w', 'w', 'x', 'y', 'z', 'h', 't', 'w', 'y', 'a', - 'e', 'i', 'o', 'u', 'y', +#define HIBIT ((unsigned char)0x80) + unsigned char aChar[] = { + '\0', 'a', 'c', 'e', 'i', 'n', + 'o', 'u', 'y', 'y', 'a', 'c', + 'd', 'e', 'e', 'g', 'h', 'i', + 'j', 'k', 'l', 'n', 'o', 'r', + 's', 't', 'u', 'u', 'w', 'y', + 'z', 'o', 'u', 'a', 'i', 'o', + 'u', 'u'|HIBIT, 'a'|HIBIT, 'g', 'k', 'o', + 'o'|HIBIT, 'j', 'g', 'n', 'a'|HIBIT, 'a', + 'e', 'i', 'o', 'r', 'u', 's', + 't', 'h', 'a', 'e', 'o'|HIBIT, 'o', + 'o'|HIBIT, 'y', '\0', '\0', '\0', '\0', + '\0', '\0', '\0', '\0', 'a', 'b', + 'c'|HIBIT, 'd', 'd', 'e'|HIBIT, 'e', 'e'|HIBIT, + 'f', 'g', 'h', 'h', 'i', 'i'|HIBIT, + 'k', 'l', 'l'|HIBIT, 'l', 'm', 'n', + 'o'|HIBIT, 'p', 'r', 'r'|HIBIT, 'r', 's', + 's'|HIBIT, 't', 'u', 'u'|HIBIT, 'v', 'w', + 'w', 'x', 'y', 'z', 'h', 't', + 'w', 'y', 'a', 'a'|HIBIT, 'a'|HIBIT, 'a'|HIBIT, + 'e', 'e'|HIBIT, 'e'|HIBIT, 'i', 'o', 'o'|HIBIT, + 'o'|HIBIT, 'o'|HIBIT, 'u', 'u'|HIBIT, 'u'|HIBIT, 'y', }; unsigned int key = (((unsigned int)c)<<3) | 0x00000007; @@ -176415,7 +180152,8 @@ static int remove_diacritic(int c){ } } assert( key>=aDia[iRes] ); - return ((c > (aDia[iRes]>>3) + (aDia[iRes]&0x07)) ? c : (int)aChar[iRes]); + if( bComplex==0 && (aChar[iRes] & 0x80) ) return c; + return (c > (aDia[iRes]>>3) + (aDia[iRes]&0x07)) ? c : ((int)aChar[iRes] & 0x7F); } @@ -176428,8 +180166,8 @@ SQLITE_PRIVATE int sqlite3FtsUnicodeIsdiacritic(int c){ unsigned int mask1 = 0x000361F8; if( c<768 || c>817 ) return 0; return (c < 768+32) ? - (mask0 & (1 << (c-768))) : - (mask1 & (1 << (c-768-32))); + (mask0 & ((unsigned int)1 << (c-768))) : + (mask1 & ((unsigned int)1 << (c-768-32))); } @@ -176442,7 +180180,7 @@ SQLITE_PRIVATE int sqlite3FtsUnicodeIsdiacritic(int c){ ** The results are undefined if the value passed to this function ** is less than zero. */ -SQLITE_PRIVATE int sqlite3FtsUnicodeFold(int c, int bRemoveDiacritic){ +SQLITE_PRIVATE int sqlite3FtsUnicodeFold(int c, int eRemoveDiacritic){ /* Each entry in the following array defines a rule for folding a range ** of codepoints to lower case. The rule applies to a range of nRange ** codepoints starting at codepoint iCode. @@ -176565,7 +180303,9 @@ SQLITE_PRIVATE int sqlite3FtsUnicodeFold(int c, int bRemoveDiacritic){ assert( ret>0 ); } - if( bRemoveDiacritic ) ret = remove_diacritic(ret); + if( eRemoveDiacritic ){ + ret = remove_diacritic(ret, eRemoveDiacritic==2); + } } else if( c>=66560 && c<66600 ){ @@ -177272,7 +181012,7 @@ static JSON_NOINLINE int jsonParseAddNodeExpand( assert( pParse->nNode>=pParse->nAlloc ); if( pParse->oom ) return -1; nNew = pParse->nAlloc*2 + 10; - pNew = sqlite3_realloc(pParse->aNode, sizeof(JsonNode)*nNew); + pNew = sqlite3_realloc64(pParse->aNode, sizeof(JsonNode)*nNew); if( pNew==0 ){ pParse->oom = 1; return -1; @@ -177546,7 +181286,7 @@ static void jsonParseFillInParentage(JsonParse *pParse, u32 i, u32 iParent){ static int jsonParseFindParents(JsonParse *pParse){ u32 *aUp; assert( pParse->aUp==0 ); - aUp = pParse->aUp = sqlite3_malloc( sizeof(u32)*pParse->nNode ); + aUp = pParse->aUp = sqlite3_malloc64( sizeof(u32)*pParse->nNode ); if( aUp==0 ){ pParse->oom = 1; return SQLITE_NOMEM; @@ -177608,7 +181348,7 @@ static JsonParse *jsonParseCached( pMatch->iHold = iMaxHold+1; return pMatch; } - p = sqlite3_malloc( sizeof(*p) + nJson + 1 ); + p = sqlite3_malloc64( sizeof(*p) + nJson + 1 ); if( p==0 ){ sqlite3_result_error_nomem(pCtx); return 0; @@ -177664,6 +181404,7 @@ static JsonNode *jsonLookupStep( const char *zKey; JsonNode *pRoot = &pParse->aNode[iRoot]; if( zPath[0]==0 ) return pRoot; + if( pRoot->jnFlags & JNODE_REPLACE ) return 0; if( zPath[0]=='.' ){ if( pRoot->eType!=JSON_OBJECT ) return 0; zPath++; @@ -177704,7 +181445,7 @@ static JsonNode *jsonLookupStep( u32 iStart, iLabel; JsonNode *pNode; iStart = jsonParseAddNode(pParse, JSON_OBJECT, 2, 0); - iLabel = jsonParseAddNode(pParse, JSON_STRING, i, zPath); + iLabel = jsonParseAddNode(pParse, JSON_STRING, nKey, zKey); zPath += i; pNode = jsonLookupAppend(pParse, zPath, pApnd, pzErr); if( pParse->oom ) return 0; @@ -178400,7 +182141,7 @@ static void jsonArrayStep( if( pStr->zBuf==0 ){ jsonInit(pStr, ctx); jsonAppendChar(pStr, '['); - }else{ + }else if( pStr->nUsed>1 ){ jsonAppendChar(pStr, ','); pStr->pCtx = ctx; } @@ -178448,9 +182189,11 @@ static void jsonGroupInverse( int argc, sqlite3_value **argv ){ - int i; + unsigned int i; int inStr = 0; + int nNest = 0; char *z; + char c; JsonString *pStr; UNUSED_PARAM(argc); UNUSED_PARAM(argv); @@ -178461,12 +182204,18 @@ static void jsonGroupInverse( if( NEVER(!pStr) ) return; #endif z = pStr->zBuf; - for(i=1; z[i]!=',' || inStr; i++){ - assert( inUsed ); - if( z[i]=='"' ){ + for(i=1; (c = z[i])!=',' || inStr || nNest; i++){ + if( i>=pStr->nUsed ){ + pStr->nUsed = 1; + return; + } + if( c=='"' ){ inStr = !inStr; - }else if( z[i]=='\\' ){ + }else if( c=='\\' ){ i++; + }else if( !inStr ){ + if( c=='{' || c=='[' ) nNest++; + if( c=='}' || c==']' ) nNest--; } } pStr->nUsed -= i; @@ -178496,7 +182245,7 @@ static void jsonObjectStep( if( pStr->zBuf==0 ){ jsonInit(pStr, ctx); jsonAppendChar(pStr, '{'); - }else{ + }else if( pStr->nUsed>1 ){ jsonAppendChar(pStr, ','); pStr->pCtx = ctx; } @@ -179084,14 +182833,14 @@ SQLITE_PRIVATE int sqlite3Json1Init(sqlite3 *db){ #endif for(i=0; i */ -/* #include */ -/* #include */ - #ifndef SQLITE_AMALGAMATION #include "sqlite3rtree.h" typedef sqlite3_int64 i64; @@ -179199,8 +182944,18 @@ typedef sqlite3_uint64 u64; typedef unsigned char u8; typedef unsigned short u16; typedef unsigned int u32; +#if !defined(NDEBUG) && !defined(SQLITE_DEBUG) +# define NDEBUG 1 +#endif +#if defined(NDEBUG) && defined(SQLITE_DEBUG) +# undef NDEBUG +#endif #endif +/* #include */ +/* #include */ +/* #include */ + /* The following macro is used to suppress compiler warnings. */ #ifndef UNUSED_PARAMETER @@ -179253,6 +183008,9 @@ struct Rtree { u8 inWrTrans; /* True if inside write transaction */ u8 nAux; /* # of auxiliary columns in %_rowid */ u8 nAuxNotNull; /* Number of initial not-null aux columns */ +#ifdef SQLITE_DEBUG + u8 bCorrupt; /* Shadow table corruption detected */ +#endif int iDepth; /* Current depth of the r-tree structure */ char *zDb; /* Name of database containing r-tree table */ char *zName; /* Name of r-tree table */ @@ -179312,6 +183070,15 @@ struct Rtree { # define RTREE_ZERO 0.0 #endif +/* +** Set the Rtree.bCorrupt flag +*/ +#ifdef SQLITE_DEBUG +# define RTREE_IS_CORRUPT(X) ((X)->bCorrupt = 1) +#else +# define RTREE_IS_CORRUPT(X) +#endif + /* ** When doing a search of an r-tree, instances of the following structure ** record intermediate results from the tree walk. @@ -179678,8 +183445,8 @@ static void nodeZero(Rtree *pRtree, RtreeNode *p){ ** Given a node number iNode, return the corresponding key to use ** in the Rtree.aHash table. */ -static int nodeHash(i64 iNode){ - return iNode % HASHSIZE; +static unsigned int nodeHash(i64 iNode){ + return ((unsigned)iNode) % HASHSIZE; } /* @@ -179724,7 +183491,7 @@ static void nodeHashDelete(Rtree *pRtree, RtreeNode *pNode){ */ static RtreeNode *nodeNew(Rtree *pRtree, RtreeNode *pParent){ RtreeNode *pNode; - pNode = (RtreeNode *)sqlite3_malloc(sizeof(RtreeNode) + pRtree->iNodeSize); + pNode = (RtreeNode *)sqlite3_malloc64(sizeof(RtreeNode) + pRtree->iNodeSize); if( pNode ){ memset(pNode, 0, sizeof(RtreeNode) + pRtree->iNodeSize); pNode->zData = (u8 *)&pNode[1]; @@ -179748,6 +183515,18 @@ static void nodeBlobReset(Rtree *pRtree){ } } +/* +** Check to see if pNode is the same as pParent or any of the parents +** of pParent. +*/ +static int nodeInParentChain(const RtreeNode *pNode, const RtreeNode *pParent){ + do{ + if( pNode==pParent ) return 1; + pParent = pParent->pParent; + }while( pParent ); + return 0; +} + /* ** Obtain a reference to an r-tree node. */ @@ -179764,10 +183543,16 @@ static int nodeAcquire( ** increase its reference count and return it. */ if( (pNode = nodeHashLookup(pRtree, iNode))!=0 ){ - assert( !pParent || !pNode->pParent || pNode->pParent==pParent ); if( pParent && !pNode->pParent ){ + if( nodeInParentChain(pNode, pParent) ){ + RTREE_IS_CORRUPT(pRtree); + return SQLITE_CORRUPT_VTAB; + } pParent->nRef++; pNode->pParent = pParent; + }else if( pParent && pNode->pParent && pParent!=pNode->pParent ){ + RTREE_IS_CORRUPT(pRtree); + return SQLITE_CORRUPT_VTAB; } pNode->nRef++; *ppNode = pNode; @@ -179796,9 +183581,12 @@ static int nodeAcquire( *ppNode = 0; /* If unable to open an sqlite3_blob on the desired row, that can only ** be because the shadow tables hold erroneous data. */ - if( rc==SQLITE_ERROR ) rc = SQLITE_CORRUPT_VTAB; + if( rc==SQLITE_ERROR ){ + rc = SQLITE_CORRUPT_VTAB; + RTREE_IS_CORRUPT(pRtree); + } }else if( pRtree->iNodeSize==sqlite3_blob_bytes(pRtree->pNodeBlob) ){ - pNode = (RtreeNode *)sqlite3_malloc(sizeof(RtreeNode)+pRtree->iNodeSize); + pNode = (RtreeNode *)sqlite3_malloc64(sizeof(RtreeNode)+pRtree->iNodeSize); if( !pNode ){ rc = SQLITE_NOMEM; }else{ @@ -179811,7 +183599,6 @@ static int nodeAcquire( pNode->pNext = 0; rc = sqlite3_blob_read(pRtree->pNodeBlob, pNode->zData, pRtree->iNodeSize, 0); - nodeReference(pParent); } } @@ -179825,6 +183612,7 @@ static int nodeAcquire( pRtree->iDepth = readInt16(pNode->zData); if( pRtree->iDepth>RTREE_MAX_DEPTH ){ rc = SQLITE_CORRUPT_VTAB; + RTREE_IS_CORRUPT(pRtree); } } @@ -179835,14 +183623,17 @@ static int nodeAcquire( if( pNode && rc==SQLITE_OK ){ if( NCELL(pNode)>((pRtree->iNodeSize-4)/pRtree->nBytesPerCell) ){ rc = SQLITE_CORRUPT_VTAB; + RTREE_IS_CORRUPT(pRtree); } } if( rc==SQLITE_OK ){ if( pNode!=0 ){ + nodeReference(pParent); nodeHashInsert(pRtree, pNode); }else{ rc = SQLITE_CORRUPT_VTAB; + RTREE_IS_CORRUPT(pRtree); } *ppNode = pNode; }else{ @@ -180068,7 +183859,7 @@ static void rtreeRelease(Rtree *pRtree){ pRtree->inWrTrans = 0; assert( pRtree->nCursor==0 ); nodeBlobReset(pRtree); - assert( pRtree->nNodeRef==0 ); + assert( pRtree->nNodeRef==0 || pRtree->bCorrupt ); sqlite3_finalize(pRtree->pWriteNode); sqlite3_finalize(pRtree->pDeleteNode); sqlite3_finalize(pRtree->pReadRowid); @@ -180127,7 +183918,7 @@ static int rtreeOpen(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor){ Rtree *pRtree = (Rtree *)pVTab; RtreeCursor *pCsr; - pCsr = (RtreeCursor *)sqlite3_malloc(sizeof(RtreeCursor)); + pCsr = (RtreeCursor *)sqlite3_malloc64(sizeof(RtreeCursor)); if( pCsr ){ memset(pCsr, 0, sizeof(RtreeCursor)); pCsr->base.pVtab = pVTab; @@ -180400,6 +184191,7 @@ static int nodeRowidIndex( return SQLITE_OK; } } + RTREE_IS_CORRUPT(pRtree); return SQLITE_CORRUPT_VTAB; } @@ -180493,7 +184285,7 @@ static RtreeSearchPoint *rtreeEnqueue( RtreeSearchPoint *pNew; if( pCur->nPoint>=pCur->nPointAlloc ){ int nNew = pCur->nPointAlloc*2 + 8; - pNew = sqlite3_realloc(pCur->aPoint, nNew*sizeof(pCur->aPoint[0])); + pNew = sqlite3_realloc64(pCur->aPoint, nNew*sizeof(pCur->aPoint[0])); if( pNew==0 ) return 0; pCur->aPoint = pNew; pCur->nPointAlloc = nNew; @@ -180648,13 +184440,14 @@ static int rtreeStepToLeaf(RtreeCursor *pCur){ eInt = pRtree->eCoordType==RTREE_COORD_INT32; while( (p = rtreeSearchPointFirst(pCur))!=0 && p->iLevel>0 ){ + u8 *pCellData; pNode = rtreeNodeOfFirstSearchPoint(pCur, &rc); if( rc ) return rc; nCell = NCELL(pNode); assert( nCell<200 ); + pCellData = pNode->zData + (4+pRtree->nBytesPerCell*p->iCell); while( p->iCellzData + (4+pRtree->nBytesPerCell*p->iCell); eWithin = FULLY_WITHIN; for(ii=0; iiaConstraint + ii; @@ -180667,13 +184460,23 @@ static int rtreeStepToLeaf(RtreeCursor *pCur){ }else{ rtreeNonleafConstraint(pConstraint, eInt, pCellData, &eWithin); } - if( eWithin==NOT_WITHIN ) break; + if( eWithin==NOT_WITHIN ){ + p->iCell++; + pCellData += pRtree->nBytesPerCell; + break; + } } - p->iCell++; if( eWithin==NOT_WITHIN ) continue; + p->iCell++; x.iLevel = p->iLevel - 1; if( x.iLevel ){ x.id = readInt64(pCellData); + for(ii=0; iinPoint; ii++){ + if( pCur->aPoint[ii].id==x.id ){ + RTREE_IS_CORRUPT(pRtree); + return SQLITE_CORRUPT_VTAB; + } + } x.iCell = 0; }else{ x.id = p->id; @@ -180895,7 +184698,7 @@ static int rtreeFilter( */ rc = nodeAcquire(pRtree, 1, 0, &pRoot); if( rc==SQLITE_OK && argc>0 ){ - pCsr->aConstraint = sqlite3_malloc(sizeof(RtreeConstraint)*argc); + pCsr->aConstraint = sqlite3_malloc64(sizeof(RtreeConstraint)*argc); pCsr->nConstraint = argc; if( !pCsr->aConstraint ){ rc = SQLITE_NOMEM; @@ -181040,20 +184843,20 @@ static int rtreeBestIndex(sqlite3_vtab *tab, sqlite3_index_info *pIdxInfo){ ){ u8 op; switch( p->op ){ - case SQLITE_INDEX_CONSTRAINT_EQ: op = RTREE_EQ; break; - case SQLITE_INDEX_CONSTRAINT_GT: op = RTREE_GT; break; - case SQLITE_INDEX_CONSTRAINT_LE: op = RTREE_LE; break; - case SQLITE_INDEX_CONSTRAINT_LT: op = RTREE_LT; break; - case SQLITE_INDEX_CONSTRAINT_GE: op = RTREE_GE; break; - default: - assert( p->op==SQLITE_INDEX_CONSTRAINT_MATCH ); - op = RTREE_MATCH; - break; + case SQLITE_INDEX_CONSTRAINT_EQ: op = RTREE_EQ; break; + case SQLITE_INDEX_CONSTRAINT_GT: op = RTREE_GT; break; + case SQLITE_INDEX_CONSTRAINT_LE: op = RTREE_LE; break; + case SQLITE_INDEX_CONSTRAINT_LT: op = RTREE_LT; break; + case SQLITE_INDEX_CONSTRAINT_GE: op = RTREE_GE; break; + case SQLITE_INDEX_CONSTRAINT_MATCH: op = RTREE_MATCH; break; + default: op = 0; break; + } + if( op ){ + zIdxStr[iIdx++] = op; + zIdxStr[iIdx++] = (char)(p->iColumn - 1 + '0'); + pIdxInfo->aConstraintUsage[ii].argvIndex = (iIdx/2); + pIdxInfo->aConstraintUsage[ii].omit = 1; } - zIdxStr[iIdx++] = op; - zIdxStr[iIdx++] = (char)(p->iColumn - 1 + '0'); - pIdxInfo->aConstraintUsage[ii].argvIndex = (iIdx/2); - pIdxInfo->aConstraintUsage[ii].omit = 1; } } @@ -181089,11 +184892,11 @@ static RtreeDValue cellArea(Rtree *pRtree, RtreeCell *p){ #endif { switch( pRtree->nDim ){ - case 5: area = p->aCoord[9].i - p->aCoord[8].i; - case 4: area *= p->aCoord[7].i - p->aCoord[6].i; - case 3: area *= p->aCoord[5].i - p->aCoord[4].i; - case 2: area *= p->aCoord[3].i - p->aCoord[2].i; - default: area *= p->aCoord[1].i - p->aCoord[0].i; + case 5: area = (i64)p->aCoord[9].i - (i64)p->aCoord[8].i; + case 4: area *= (i64)p->aCoord[7].i - (i64)p->aCoord[6].i; + case 3: area *= (i64)p->aCoord[5].i - (i64)p->aCoord[4].i; + case 2: area *= (i64)p->aCoord[3].i - (i64)p->aCoord[2].i; + default: area *= (i64)p->aCoord[1].i - (i64)p->aCoord[0].i; } } return area; @@ -181262,12 +185065,14 @@ static int AdjustTree( RtreeCell *pCell /* This cell was just inserted */ ){ RtreeNode *p = pNode; + int cnt = 0; while( p->pParent ){ RtreeNode *pParent = p->pParent; RtreeCell cell; int iCell; - if( nodeParentIndex(pRtree, p, &iCell) ){ + if( (++cnt)>1000 || nodeParentIndex(pRtree, p, &iCell) ){ + RTREE_IS_CORRUPT(pRtree); return SQLITE_CORRUPT_VTAB; } @@ -181464,9 +185269,9 @@ static int splitNodeStartree( int iBestSplit = 0; RtreeDValue fBestMargin = RTREE_ZERO; - int nByte = (pRtree->nDim+1)*(sizeof(int*)+nCell*sizeof(int)); + sqlite3_int64 nByte = (pRtree->nDim+1)*(sizeof(int*)+nCell*sizeof(int)); - aaSorted = (int **)sqlite3_malloc(nByte); + aaSorted = (int **)sqlite3_malloc64(nByte); if( !aaSorted ){ return SQLITE_NOMEM; } @@ -181587,7 +185392,7 @@ static int SplitNode( /* Allocate an array and populate it with a copy of pCell and ** all cells from node pLeft. Then zero the original node. */ - aCell = sqlite3_malloc((sizeof(RtreeCell)+sizeof(int))*(nCell+1)); + aCell = sqlite3_malloc64((sizeof(RtreeCell)+sizeof(int))*(nCell+1)); if( !aCell ){ rc = SQLITE_NOMEM; goto splitnode_out; @@ -181735,7 +185540,10 @@ static int fixLeafParent(Rtree *pRtree, RtreeNode *pLeaf){ } rc = sqlite3_reset(pRtree->pReadParent); if( rc==SQLITE_OK ) rc = rc2; - if( rc==SQLITE_OK && !pChild->pParent ) rc = SQLITE_CORRUPT_VTAB; + if( rc==SQLITE_OK && !pChild->pParent ){ + RTREE_IS_CORRUPT(pRtree); + rc = SQLITE_CORRUPT_VTAB; + } pChild = pChild->pParent; } return rc; @@ -181875,7 +185683,7 @@ static int Reinsert( /* Allocate the buffers used by this operation. The allocation is ** relinquished before this function returns. */ - aCell = (RtreeCell *)sqlite3_malloc(n * ( + aCell = (RtreeCell *)sqlite3_malloc64(n * ( sizeof(RtreeCell) + /* aCell array */ sizeof(int) + /* aOrder array */ sizeof(int) + /* aSpare array */ @@ -182049,8 +185857,12 @@ static int rtreeDeleteRowid(Rtree *pRtree, sqlite3_int64 iDelete){ rc = findLeafNode(pRtree, iDelete, &pLeaf, 0); } +#ifdef CORRUPT_DB + assert( pLeaf!=0 || rc!=SQLITE_OK || CORRUPT_DB ); +#endif + /* Delete the cell in question from the leaf node. */ - if( rc==SQLITE_OK ){ + if( rc==SQLITE_OK && pLeaf ){ int rc2; rc = nodeRowidIndex(pRtree, pLeaf, iDelete, &iCell); if( rc==SQLITE_OK ){ @@ -182322,7 +186134,7 @@ static int rtreeUpdate( rc = rc2; } } - if( pRtree->nAux ){ + if( rc==SQLITE_OK && pRtree->nAux ){ sqlite3_stmt *pUp = pRtree->pWriteAux; int jj; sqlite3_bind_int64(pUp, 1, *pRowid); @@ -182520,6 +186332,7 @@ static int rtreeSqlInit( }; sqlite3_stmt **appStmt[N_STATEMENT]; int i; + const int f = SQLITE_PREPARE_PERSISTENT|SQLITE_PREPARE_NO_VTAB; pRtree->db = db; @@ -182576,8 +186389,7 @@ static int rtreeSqlInit( } zSql = sqlite3_mprintf(zFormat, zDb, zPrefix); if( zSql ){ - rc = sqlite3_prepare_v3(db, zSql, -1, SQLITE_PREPARE_PERSISTENT, - appStmt[i], 0); + rc = sqlite3_prepare_v3(db, zSql, -1, f, appStmt[i], 0); }else{ rc = SQLITE_NOMEM; } @@ -182607,8 +186419,7 @@ static int rtreeSqlInit( if( zSql==0 ){ rc = SQLITE_NOMEM; }else{ - rc = sqlite3_prepare_v3(db, zSql, -1, SQLITE_PREPARE_PERSISTENT, - &pRtree->pWriteAux, 0); + rc = sqlite3_prepare_v3(db, zSql, -1, f, &pRtree->pWriteAux, 0); sqlite3_free(zSql); } } @@ -182684,6 +186495,7 @@ static int getNodeSize( *pzErr = sqlite3_mprintf("%s", sqlite3_errmsg(db)); }else if( pRtree->iNodeSize<(512-64) ){ rc = SQLITE_CORRUPT_VTAB; + RTREE_IS_CORRUPT(pRtree); *pzErr = sqlite3_mprintf("undersize RTree blobs in \"%q_node\"", pRtree->zName); } @@ -182739,7 +186551,7 @@ static int rtreeInit( /* Allocate the sqlite3_vtab structure */ nDb = (int)strlen(argv[1]); nName = (int)strlen(argv[2]); - pRtree = (Rtree *)sqlite3_malloc(sizeof(Rtree)+nDb+nName+2); + pRtree = (Rtree *)sqlite3_malloc64(sizeof(Rtree)+nDb+nName+2); if( !pRtree ){ return SQLITE_NOMEM; } @@ -182836,49 +186648,45 @@ static int rtreeInit( ** *2 coordinates. */ static void rtreenode(sqlite3_context *ctx, int nArg, sqlite3_value **apArg){ - char *zText = 0; RtreeNode node; Rtree tree; int ii; + int nData; + int errCode; + sqlite3_str *pOut; UNUSED_PARAMETER(nArg); memset(&node, 0, sizeof(RtreeNode)); memset(&tree, 0, sizeof(Rtree)); tree.nDim = (u8)sqlite3_value_int(apArg[0]); + if( tree.nDim<1 || tree.nDim>5 ) return; tree.nDim2 = tree.nDim*2; tree.nBytesPerCell = 8 + 8 * tree.nDim; node.zData = (u8 *)sqlite3_value_blob(apArg[1]); + nData = sqlite3_value_bytes(apArg[1]); + if( nData<4 ) return; + if( nData0 ) sqlite3_str_append(pOut, " ", 1); + sqlite3_str_appendf(pOut, "{%lld", cell.iRowid); for(jj=0; jjrc==SQLITE_OK ); - if( pCheck->pGetNode==0 ){ + if( pCheck->rc==SQLITE_OK && pCheck->pGetNode==0 ){ pCheck->pGetNode = rtreeCheckPrepare(pCheck, "SELECT data FROM %Q.'%q_node' WHERE nodeno=?", pCheck->zDb, pCheck->zTab @@ -183020,7 +186827,7 @@ static u8 *rtreeCheckGetNode(RtreeCheck *pCheck, i64 iNode, int *pnNode){ if( sqlite3_step(pCheck->pGetNode)==SQLITE_ROW ){ int nNode = sqlite3_column_bytes(pCheck->pGetNode, 0); const u8 *pNode = (const u8*)sqlite3_column_blob(pCheck->pGetNode, 0); - pRet = sqlite3_malloc(nNode); + pRet = sqlite3_malloc64(nNode); if( pRet==0 ){ pCheck->rc = SQLITE_NOMEM; }else{ @@ -183499,6 +187306,14 @@ struct GeoPoly { */ #define GEOPOLY_SZ(N) (sizeof(GeoPoly) + sizeof(GeoCoord)*2*((N)-4)) +/* Macros to access coordinates of a GeoPoly. +** We have to use these macros, rather than just say p->a[i] in order +** to silence (incorrect) UBSAN warnings if the array index is too large. +*/ +#define GeoX(P,I) (((GeoCoord*)(P)->a)[(I)*2]) +#define GeoY(P,I) (((GeoCoord*)(P)->a)[(I)*2+1]) + + /* ** State of a parse of a GeoJSON input. */ @@ -183636,7 +187451,7 @@ static GeoPoly *geopolyParseJson(const unsigned char *z, int *pRc){ GeoPoly *pOut; int x = 1; s.nVertex--; /* Remove the redundant vertex at the end */ - pOut = sqlite3_malloc64( GEOPOLY_SZ(s.nVertex) ); + pOut = sqlite3_malloc64( GEOPOLY_SZ((sqlite3_int64)s.nVertex) ); x = 1; if( pOut==0 ) goto parse_json_err; pOut->nVertex = s.nVertex; @@ -183691,8 +187506,9 @@ static GeoPoly *geopolyFuncParam( memcpy(p->hdr, a, nByte); if( a[0] != *(unsigned char*)&x ){ int ii; - for(ii=0; iia[ii]); + for(ii=0; iihdr[0] ^= 1; } @@ -183751,9 +187567,9 @@ static void geopolyJsonFunc( int i; sqlite3_str_append(x, "[", 1); for(i=0; inVertex; i++){ - sqlite3_str_appendf(x, "[%!g,%!g],", p->a[i*2], p->a[i*2+1]); + sqlite3_str_appendf(x, "[%!g,%!g],", GeoX(p,i), GeoY(p,i)); } - sqlite3_str_appendf(x, "[%!g,%!g]]", p->a[0], p->a[1]); + sqlite3_str_appendf(x, "[%!g,%!g]]", GeoX(p,0), GeoY(p,0)); sqlite3_result_text(context, sqlite3_str_finish(x), -1, sqlite3_free); sqlite3_free(p); } @@ -183770,7 +187586,9 @@ static void geopolySvgFunc( int argc, sqlite3_value **argv ){ - GeoPoly *p = geopolyFuncParam(context, argv[0], 0); + GeoPoly *p; + if( argc<1 ) return; + p = geopolyFuncParam(context, argv[0], 0); if( p ){ sqlite3 *db = sqlite3_context_db_handle(context); sqlite3_str *x = sqlite3_str_new(db); @@ -183778,10 +187596,10 @@ static void geopolySvgFunc( char cSep = '\''; sqlite3_str_appendf(x, "a[i*2], p->a[i*2+1]); + sqlite3_str_appendf(x, "%c%g,%g", cSep, GeoX(p,i), GeoY(p,i)); cSep = ' '; } - sqlite3_str_appendf(x, " %g,%g'", p->a[0], p->a[1]); + sqlite3_str_appendf(x, " %g,%g'", GeoX(p,0), GeoY(p,0)); for(i=1; inVertex; ii++){ - x0 = p->a[ii*2]; - y0 = p->a[ii*2+1]; + x0 = GeoX(p,ii); + y0 = GeoY(p,ii); x1 = (GeoCoord)(A*x0 + B*y0 + E); y1 = (GeoCoord)(C*x0 + D*y0 + F); - p->a[ii*2] = x1; - p->a[ii*2+1] = y1; + GeoX(p,ii) = x1; + GeoY(p,ii) = y1; } sqlite3_result_blob(context, p->hdr, 4+8*p->nVertex, SQLITE_TRANSIENT); @@ -183850,12 +187668,12 @@ static double geopolyArea(GeoPoly *p){ double rArea = 0.0; int ii; for(ii=0; iinVertex-1; ii++){ - rArea += (p->a[ii*2] - p->a[ii*2+2]) /* (x0 - x1) */ - * (p->a[ii*2+1] + p->a[ii*2+3]) /* (y0 + y1) */ + rArea += (GeoX(p,ii) - GeoX(p,ii+1)) /* (x0 - x1) */ + * (GeoY(p,ii) + GeoY(p,ii+1)) /* (y0 + y1) */ * 0.5; } - rArea += (p->a[ii*2] - p->a[0]) /* (xN - x0) */ - * (p->a[ii*2+1] + p->a[1]) /* (yN + y0) */ + rArea += (GeoX(p,ii) - GeoX(p,0)) /* (xN - x0) */ + * (GeoY(p,ii) + GeoY(p,0)) /* (yN + y0) */ * 0.5; return rArea; } @@ -183902,13 +187720,13 @@ static void geopolyCcwFunc( if( p ){ if( geopolyArea(p)<0.0 ){ int ii, jj; - for(ii=2, jj=p->nVertex*2 - 2; iia[ii]; - p->a[ii] = p->a[jj]; - p->a[jj] = t; - t = p->a[ii+1]; - p->a[ii+1] = p->a[jj+1]; - p->a[jj+1] = t; + for(ii=1, jj=p->nVertex-1; iihdr, @@ -183968,8 +187786,8 @@ static void geopolyRegularFunc( p->hdr[3] = n&0xff; for(i=0; ia[i*2] = x - r*geopolySine(rAngle-0.5*GEOPOLY_PI); - p->a[i*2+1] = y + r*geopolySine(rAngle); + GeoX(p,i) = x - r*geopolySine(rAngle-0.5*GEOPOLY_PI); + GeoY(p,i) = y + r*geopolySine(rAngle); } sqlite3_result_blob(context, p->hdr, 4+8*n, SQLITE_TRANSIENT); sqlite3_free(p); @@ -184006,20 +187824,20 @@ static GeoPoly *geopolyBBox( } if( p ){ int ii; - mnX = mxX = p->a[0]; - mnY = mxY = p->a[1]; + mnX = mxX = GeoX(p,0); + mnY = mxY = GeoY(p,0); for(ii=1; iinVertex; ii++){ - double r = p->a[ii*2]; + double r = GeoX(p,ii); if( rmxX ) mxX = (float)r; - r = p->a[ii*2+1]; + r = GeoY(p,ii); if( rmxY ) mxY = (float)r; } if( pRc ) *pRc = SQLITE_OK; if( aCoord==0 ){ geopolyBboxFill: - pOut = sqlite3_realloc(p, GEOPOLY_SZ(4)); + pOut = sqlite3_realloc64(p, GEOPOLY_SZ(4)); if( pOut==0 ){ sqlite3_free(p); if( context ) sqlite3_result_error_nomem(context); @@ -184032,14 +187850,14 @@ static GeoPoly *geopolyBBox( pOut->hdr[1] = 0; pOut->hdr[2] = 0; pOut->hdr[3] = 4; - pOut->a[0] = mnX; - pOut->a[1] = mnY; - pOut->a[2] = mxX; - pOut->a[3] = mnY; - pOut->a[4] = mxX; - pOut->a[5] = mxY; - pOut->a[6] = mnX; - pOut->a[7] = mxY; + GeoX(pOut,0) = mnX; + GeoY(pOut,0) = mnY; + GeoX(pOut,1) = mxX; + GeoY(pOut,1) = mnY; + GeoX(pOut,2) = mxX; + GeoY(pOut,2) = mxY; + GeoX(pOut,3) = mnX; + GeoY(pOut,3) = mxY; }else{ sqlite3_free(p); aCoord[0].f = mnX; @@ -184177,14 +187995,14 @@ static void geopolyContainsPointFunc( int ii; if( p1==0 ) return; for(ii=0; iinVertex-1; ii++){ - v = pointBeneathLine(x0,y0,p1->a[ii*2],p1->a[ii*2+1], - p1->a[ii*2+2],p1->a[ii*2+3]); + v = pointBeneathLine(x0,y0,GeoX(p1,ii), GeoY(p1,ii), + GeoX(p1,ii+1),GeoY(p1,ii+1)); if( v==2 ) break; cnt += v; } if( v!=2 ){ - v = pointBeneathLine(x0,y0,p1->a[ii*2],p1->a[ii*2+1], - p1->a[0],p1->a[1]); + v = pointBeneathLine(x0,y0,GeoX(p1,ii), GeoY(p1,ii), + GeoX(p1,0), GeoY(p1,0)); } if( v==2 ){ sqlite3_result_int(context, 1); @@ -184306,10 +188124,10 @@ static void geopolyAddSegments( unsigned int i; GeoCoord *x; for(i=0; i<(unsigned)pPoly->nVertex-1; i++){ - x = pPoly->a + (i*2); + x = &GeoX(pPoly,i); geopolyAddOneSegment(p, x[0], x[1], x[2], x[3], side, i); } - x = pPoly->a + (i*2); + x = &GeoX(pPoly,i); geopolyAddOneSegment(p, x[0], x[1], pPoly->a[0], pPoly->a[1], side, i); } @@ -184415,9 +188233,9 @@ static GeoSegment *geopolySortSegmentsByYAndC(GeoSegment *pList){ ** Determine the overlap between two polygons */ static int geopolyOverlap(GeoPoly *p1, GeoPoly *p2){ - int nVertex = p1->nVertex + p2->nVertex + 2; + sqlite3_int64 nVertex = p1->nVertex + p2->nVertex + 2; GeoOverlap *p; - int nByte; + sqlite3_int64 nByte; GeoEvent *pThisEvent; double rX; int rc = 0; @@ -184429,7 +188247,7 @@ static int geopolyOverlap(GeoPoly *p1, GeoPoly *p2){ nByte = sizeof(GeoEvent)*nVertex*2 + sizeof(GeoSegment)*nVertex + sizeof(GeoOverlap); - p = sqlite3_malloc( nByte ); + p = sqlite3_malloc64( nByte ); if( p==0 ) return -1; p->aEvent = (GeoEvent*)&p[1]; p->aSegment = (GeoSegment*)&p->aEvent[nVertex*2]; @@ -184588,8 +188406,8 @@ static int geopolyInit( ){ int rc = SQLITE_OK; Rtree *pRtree; - int nDb; /* Length of string argv[1] */ - int nName; /* Length of string argv[2] */ + sqlite3_int64 nDb; /* Length of string argv[1] */ + sqlite3_int64 nName; /* Length of string argv[2] */ sqlite3_str *pSql; char *zSql; int ii; @@ -184597,9 +188415,9 @@ static int geopolyInit( sqlite3_vtab_config(db, SQLITE_VTAB_CONSTRAINT_SUPPORT, 1); /* Allocate the sqlite3_vtab structure */ - nDb = (int)strlen(argv[1]); - nName = (int)strlen(argv[2]); - pRtree = (Rtree *)sqlite3_malloc(sizeof(Rtree)+nDb+nName+2); + nDb = strlen(argv[1]); + nName = strlen(argv[2]); + pRtree = (Rtree *)sqlite3_malloc64(sizeof(Rtree)+nDb+nName+2); if( !pRtree ){ return SQLITE_NOMEM; } @@ -185254,12 +189072,12 @@ static void rtreeMatchArgFree(void *pArg){ static void geomCallback(sqlite3_context *ctx, int nArg, sqlite3_value **aArg){ RtreeGeomCallback *pGeomCtx = (RtreeGeomCallback *)sqlite3_user_data(ctx); RtreeMatchArg *pBlob; - int nBlob; + sqlite3_int64 nBlob; int memErr = 0; nBlob = sizeof(RtreeMatchArg) + (nArg-1)*sizeof(RtreeDValue) + nArg*sizeof(sqlite3_value*); - pBlob = (RtreeMatchArg *)sqlite3_malloc(nBlob); + pBlob = (RtreeMatchArg *)sqlite3_malloc64(nBlob); if( !pBlob ){ sqlite3_result_error_nomem(ctx); }else{ @@ -185970,7 +189788,7 @@ static int icuCreate( if( argc>0 ){ n = strlen(argv[0])+1; } - p = (IcuTokenizer *)sqlite3_malloc(sizeof(IcuTokenizer)+n); + p = (IcuTokenizer *)sqlite3_malloc64(sizeof(IcuTokenizer)+n); if( !p ){ return SQLITE_NOMEM; } @@ -186027,7 +189845,7 @@ static int icuOpen( nInput = strlen(zInput); } nChar = nInput+1; - pCsr = (IcuCursor *)sqlite3_malloc( + pCsr = (IcuCursor *)sqlite3_malloc64( sizeof(IcuCursor) + /* IcuCursor */ ((nChar+3)&~3) * sizeof(UChar) + /* IcuCursor.aChar[] */ (nChar+1) * sizeof(int) /* IcuCursor.aOffset[] */ @@ -186599,7 +190417,11 @@ SQLITE_API sqlite3rbu *sqlite3rbu_open( ** name of the state database is "-vacuum", where ** is the name of the target database file. In this case, on UNIX, if the ** state database is not already present in the file-system, it is created -** with the same permissions as the target db is made. +** with the same permissions as the target db is made. +** +** With an RBU vacuum, it is an SQLITE_MISUSE error if the name of the +** state database ends with "-vactmp". This name is reserved for internal +** use. ** ** This function does not delete the state database after an RBU vacuum ** is completed, even if it created it. However, if the call to @@ -186962,6 +190784,7 @@ SQLITE_API void sqlite3rbu_destroy_vfs(const char *zName); typedef struct RbuFrame RbuFrame; typedef struct RbuObjIter RbuObjIter; typedef struct RbuState RbuState; +typedef struct RbuSpan RbuSpan; typedef struct rbu_vfs rbu_vfs; typedef struct rbu_file rbu_file; typedef struct RbuUpdateStmt RbuUpdateStmt; @@ -187006,6 +190829,11 @@ struct RbuUpdateStmt { RbuUpdateStmt *pNext; }; +struct RbuSpan { + const char *zSpan; + int nSpan; +}; + /* ** An iterator of this type is used to iterate through all objects in ** the target database that require updating. For each such table, the @@ -187020,6 +190848,11 @@ struct RbuUpdateStmt { ** it points to an array of flags nTblCol elements in size. The flag is ** set for each column that is either a part of the PK or a part of an ** index. Or clear otherwise. +** +** If there are one or more partial indexes on the table, all fields of +** this array set set to 1. This is because in that case, the module has +** no way to tell which fields will be required to add and remove entries +** from the partial indexes. ** */ struct RbuObjIter { @@ -187050,6 +190883,9 @@ struct RbuObjIter { sqlite3_stmt *pInsert; /* Statement for INSERT operations */ sqlite3_stmt *pDelete; /* Statement for DELETE ops */ sqlite3_stmt *pTmpInsert; /* Insert into rbu_tmp_$zDataTbl */ + int nIdxCol; + RbuSpan *aIdxCol; + char *zIdxSql; /* Last UPDATE used (for PK b-tree updates only), or NULL. */ RbuUpdateStmt *pRbuUpdate; @@ -187464,6 +191300,7 @@ static void rbuFossilDeltaFunc( }else{ nOut2 = rbuDeltaApply(aOrig, nOrig, aDelta, nDelta, aOut); if( nOut2!=nOut ){ + sqlite3_free(aOut); sqlite3_result_error(context, "corrupt fossil delta", -1); }else{ sqlite3_result_blob(context, aOut, nOut, sqlite3_free); @@ -187583,6 +191420,8 @@ static void rbuObjIterClearStatements(RbuObjIter *pIter){ sqlite3_free(pUp); pUp = pTmp; } + sqlite3_free(pIter->aIdxCol); + sqlite3_free(pIter->zIdxSql); pIter->pSelect = 0; pIter->pInsert = 0; @@ -187590,6 +191429,9 @@ static void rbuObjIterClearStatements(RbuObjIter *pIter){ pIter->pRbuUpdate = 0; pIter->pTmpInsert = 0; pIter->nCol = 0; + pIter->nIdxCol = 0; + pIter->aIdxCol = 0; + pIter->zIdxSql = 0; } /* @@ -187704,6 +191546,7 @@ static void rbuTargetNameFunc( zIn = (const char*)sqlite3_value_text(argv[0]); if( zIn ){ if( rbuIsVacuum(p) ){ + assert( argc==2 || argc==1 ); if( argc==1 || 0==sqlite3_value_int(argv[1]) ){ sqlite3_result_text(pCtx, zIn, -1, SQLITE_STATIC); } @@ -187814,7 +191657,7 @@ static int rbuMPrintfExec(sqlite3rbu *p, sqlite3 *db, const char *zFmt, ...){ ** immediately without attempting the allocation or modifying the stored ** error code. */ -static void *rbuMalloc(sqlite3rbu *p, int nByte){ +static void *rbuMalloc(sqlite3rbu *p, sqlite3_int64 nByte){ void *pRet = 0; if( p->rc==SQLITE_OK ){ assert( nByte>0 ); @@ -187835,7 +191678,7 @@ static void *rbuMalloc(sqlite3rbu *p, int nByte){ ** error code in the RBU handle passed as the first argument. */ static void rbuAllocateIterArrays(sqlite3rbu *p, RbuObjIter *pIter, int nCol){ - int nByte = (2*sizeof(char*) + sizeof(int) + 3*sizeof(u8)) * nCol; + sqlite3_int64 nByte = (2*sizeof(char*) + sizeof(int) + 3*sizeof(u8)) * nCol; char **azNew; azNew = (char**)rbuMalloc(p, nByte); @@ -187862,14 +191705,15 @@ static void rbuAllocateIterArrays(sqlite3rbu *p, RbuObjIter *pIter, int nCol){ static char *rbuStrndup(const char *zStr, int *pRc){ char *zRet = 0; - assert( *pRc==SQLITE_OK ); - if( zStr ){ - size_t nCopy = strlen(zStr) + 1; - zRet = (char*)sqlite3_malloc64(nCopy); - if( zRet ){ - memcpy(zRet, zStr, nCopy); - }else{ - *pRc = SQLITE_NOMEM; + if( *pRc==SQLITE_OK ){ + if( zStr ){ + size_t nCopy = strlen(zStr) + 1; + zRet = (char*)sqlite3_malloc64(nCopy); + if( zRet ){ + memcpy(zRet, zStr, nCopy); + }else{ + *pRc = SQLITE_NOMEM; + } } } @@ -188029,14 +191873,21 @@ static void rbuObjIterCacheIndexedCols(sqlite3rbu *p, RbuObjIter *pIter){ pIter->nIndex = 0; while( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pList) ){ const char *zIdx = (const char*)sqlite3_column_text(pList, 1); + int bPartial = sqlite3_column_int(pList, 4); sqlite3_stmt *pXInfo = 0; if( zIdx==0 ) break; + if( bPartial ){ + memset(pIter->abIndexed, 0x01, sizeof(u8)*pIter->nTblCol); + } p->rc = prepareFreeAndCollectError(p->dbMain, &pXInfo, &p->zErrmsg, sqlite3_mprintf("PRAGMA main.index_xinfo = %Q", zIdx) ); while( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pXInfo) ){ int iCid = sqlite3_column_int(pXInfo, 1); if( iCid>=0 ) pIter->abIndexed[iCid] = 1; + if( iCid==-2 ){ + memset(pIter->abIndexed, 0x01, sizeof(u8)*pIter->nTblCol); + } } rbuFinalize(p, pXInfo); bIndex = 1; @@ -188151,7 +192002,8 @@ static int rbuObjIterCacheTableInfo(sqlite3rbu *p, RbuObjIter *pIter){ } pIter->azTblType[iOrder] = rbuStrndup(zType, &p->rc); - pIter->abTblPk[iOrder] = (iPk!=0); + assert( iPk>=0 ); + pIter->abTblPk[iOrder] = (u8)iPk; pIter->abNotNull[iOrder] = (u8)bNotNull || (iPk!=0); iOrder++; } @@ -188186,6 +192038,213 @@ static char *rbuObjIterGetCollist( return zList; } +/* +** Return a comma separated list of the quoted PRIMARY KEY column names, +** in order, for the current table. Before each column name, add the text +** zPre. After each column name, add the zPost text. Use zSeparator as +** the separator text (usually ", "). +*/ +static char *rbuObjIterGetPkList( + sqlite3rbu *p, /* RBU object */ + RbuObjIter *pIter, /* Object iterator for column names */ + const char *zPre, /* Before each quoted column name */ + const char *zSeparator, /* Separator to use between columns */ + const char *zPost /* After each quoted column name */ +){ + int iPk = 1; + char *zRet = 0; + const char *zSep = ""; + while( 1 ){ + int i; + for(i=0; inTblCol; i++){ + if( (int)pIter->abTblPk[i]==iPk ){ + const char *zCol = pIter->azTblCol[i]; + zRet = rbuMPrintf(p, "%z%s%s\"%w\"%s", zRet, zSep, zPre, zCol, zPost); + zSep = zSeparator; + break; + } + } + if( i==pIter->nTblCol ) break; + iPk++; + } + return zRet; +} + +/* +** This function is called as part of restarting an RBU vacuum within +** stage 1 of the process (while the *-oal file is being built) while +** updating a table (not an index). The table may be a rowid table or +** a WITHOUT ROWID table. It queries the target database to find the +** largest key that has already been written to the target table and +** constructs a WHERE clause that can be used to extract the remaining +** rows from the source table. For a rowid table, the WHERE clause +** is of the form: +** +** "WHERE _rowid_ > ?" +** +** and for WITHOUT ROWID tables: +** +** "WHERE (key1, key2) > (?, ?)" +** +** Instead of "?" placeholders, the actual WHERE clauses created by +** this function contain literal SQL values. +*/ +static char *rbuVacuumTableStart( + sqlite3rbu *p, /* RBU handle */ + RbuObjIter *pIter, /* RBU iterator object */ + int bRowid, /* True for a rowid table */ + const char *zWrite /* Target table name prefix */ +){ + sqlite3_stmt *pMax = 0; + char *zRet = 0; + if( bRowid ){ + p->rc = prepareFreeAndCollectError(p->dbMain, &pMax, &p->zErrmsg, + sqlite3_mprintf( + "SELECT max(_rowid_) FROM \"%s%w\"", zWrite, pIter->zTbl + ) + ); + if( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pMax) ){ + sqlite3_int64 iMax = sqlite3_column_int64(pMax, 0); + zRet = rbuMPrintf(p, " WHERE _rowid_ > %lld ", iMax); + } + rbuFinalize(p, pMax); + }else{ + char *zOrder = rbuObjIterGetPkList(p, pIter, "", ", ", " DESC"); + char *zSelect = rbuObjIterGetPkList(p, pIter, "quote(", "||','||", ")"); + char *zList = rbuObjIterGetPkList(p, pIter, "", ", ", ""); + + if( p->rc==SQLITE_OK ){ + p->rc = prepareFreeAndCollectError(p->dbMain, &pMax, &p->zErrmsg, + sqlite3_mprintf( + "SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1", + zSelect, zWrite, pIter->zTbl, zOrder + ) + ); + if( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pMax) ){ + const char *zVal = (const char*)sqlite3_column_text(pMax, 0); + zRet = rbuMPrintf(p, " WHERE (%s) > (%s) ", zList, zVal); + } + rbuFinalize(p, pMax); + } + + sqlite3_free(zOrder); + sqlite3_free(zSelect); + sqlite3_free(zList); + } + return zRet; +} + +/* +** This function is called as part of restating an RBU vacuum when the +** current operation is writing content to an index. If possible, it +** queries the target index b-tree for the largest key already written to +** it, then composes and returns an expression that can be used in a WHERE +** clause to select the remaining required rows from the source table. +** It is only possible to return such an expression if: +** +** * The index contains no DESC columns, and +** * The last key written to the index before the operation was +** suspended does not contain any NULL values. +** +** The expression is of the form: +** +** (index-field1, index-field2, ...) > (?, ?, ...) +** +** except that the "?" placeholders are replaced with literal values. +** +** If the expression cannot be created, NULL is returned. In this case, +** the caller has to use an OFFSET clause to extract only the required +** rows from the sourct table, just as it does for an RBU update operation. +*/ +char *rbuVacuumIndexStart( + sqlite3rbu *p, /* RBU handle */ + RbuObjIter *pIter /* RBU iterator object */ +){ + char *zOrder = 0; + char *zLhs = 0; + char *zSelect = 0; + char *zVector = 0; + char *zRet = 0; + int bFailed = 0; + const char *zSep = ""; + int iCol = 0; + sqlite3_stmt *pXInfo = 0; + + p->rc = prepareFreeAndCollectError(p->dbMain, &pXInfo, &p->zErrmsg, + sqlite3_mprintf("PRAGMA main.index_xinfo = %Q", pIter->zIdx) + ); + while( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pXInfo) ){ + int iCid = sqlite3_column_int(pXInfo, 1); + const char *zCollate = (const char*)sqlite3_column_text(pXInfo, 4); + const char *zCol; + if( sqlite3_column_int(pXInfo, 3) ){ + bFailed = 1; + break; + } + + if( iCid<0 ){ + if( pIter->eType==RBU_PK_IPK ){ + int i; + for(i=0; pIter->abTblPk[i]==0; i++); + assert( inTblCol ); + zCol = pIter->azTblCol[i]; + }else{ + zCol = "_rowid_"; + } + }else{ + zCol = pIter->azTblCol[iCid]; + } + + zLhs = rbuMPrintf(p, "%z%s \"%w\" COLLATE %Q", + zLhs, zSep, zCol, zCollate + ); + zOrder = rbuMPrintf(p, "%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC", + zOrder, zSep, iCol, zCol, zCollate + ); + zSelect = rbuMPrintf(p, "%z%s quote(\"rbu_imp_%d%w\")", + zSelect, zSep, iCol, zCol + ); + zSep = ", "; + iCol++; + } + rbuFinalize(p, pXInfo); + if( bFailed ) goto index_start_out; + + if( p->rc==SQLITE_OK ){ + sqlite3_stmt *pSel = 0; + + p->rc = prepareFreeAndCollectError(p->dbMain, &pSel, &p->zErrmsg, + sqlite3_mprintf("SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1", + zSelect, pIter->zTbl, zOrder + ) + ); + if( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pSel) ){ + zSep = ""; + for(iCol=0; iColnCol; iCol++){ + const char *zQuoted = (const char*)sqlite3_column_text(pSel, iCol); + if( zQuoted[0]=='N' ){ + bFailed = 1; + break; + } + zVector = rbuMPrintf(p, "%z%s%s", zVector, zSep, zQuoted); + zSep = ", "; + } + + if( !bFailed ){ + zRet = rbuMPrintf(p, "(%s) > (%s)", zLhs, zVector); + } + } + rbuFinalize(p, pSel); + } + + index_start_out: + sqlite3_free(zOrder); + sqlite3_free(zSelect); + sqlite3_free(zVector); + sqlite3_free(zLhs); + return zRet; +} + /* ** This function is used to create a SELECT list (the list of SQL ** expressions that follows a SELECT keyword) for a SELECT statement @@ -188240,29 +192299,37 @@ static char *rbuObjIterGetIndexCols( int iCid = sqlite3_column_int(pXInfo, 1); int bDesc = sqlite3_column_int(pXInfo, 3); const char *zCollate = (const char*)sqlite3_column_text(pXInfo, 4); - const char *zCol; + const char *zCol = 0; const char *zType; - if( iCid<0 ){ - /* An integer primary key. If the table has an explicit IPK, use - ** its name. Otherwise, use "rbu_rowid". */ - if( pIter->eType==RBU_PK_IPK ){ - int i; - for(i=0; pIter->abTblPk[i]==0; i++); - assert( inTblCol ); - zCol = pIter->azTblCol[i]; - }else if( rbuIsVacuum(p) ){ - zCol = "_rowid_"; + if( iCid==-2 ){ + int iSeq = sqlite3_column_int(pXInfo, 0); + zRet = sqlite3_mprintf("%z%s(%.*s) COLLATE %Q", zRet, zCom, + pIter->aIdxCol[iSeq].nSpan, pIter->aIdxCol[iSeq].zSpan, zCollate + ); + zType = ""; + }else { + if( iCid<0 ){ + /* An integer primary key. If the table has an explicit IPK, use + ** its name. Otherwise, use "rbu_rowid". */ + if( pIter->eType==RBU_PK_IPK ){ + int i; + for(i=0; pIter->abTblPk[i]==0; i++); + assert( inTblCol ); + zCol = pIter->azTblCol[i]; + }else if( rbuIsVacuum(p) ){ + zCol = "_rowid_"; + }else{ + zCol = "rbu_rowid"; + } + zType = "INTEGER"; }else{ - zCol = "rbu_rowid"; + zCol = pIter->azTblCol[iCid]; + zType = pIter->azTblType[iCid]; } - zType = "INTEGER"; - }else{ - zCol = pIter->azTblCol[iCid]; - zType = pIter->azTblType[iCid]; + zRet = sqlite3_mprintf("%z%s\"%w\" COLLATE %Q", zRet, zCom,zCol,zCollate); } - zRet = sqlite3_mprintf("%z%s\"%w\" COLLATE %Q", zRet, zCom, zCol, zCollate); if( pIter->bUnique==0 || sqlite3_column_int(pXInfo, 5) ){ const char *zOrder = (bDesc ? " DESC" : ""); zImpPK = sqlite3_mprintf("%z%s\"rbu_imp_%d%w\"%s", @@ -188475,7 +192542,7 @@ static char *rbuObjIterGetSetlist( */ static char *rbuObjIterGetBindlist(sqlite3rbu *p, int nBind){ char *zRet = 0; - int nByte = nBind*2 + 1; + sqlite3_int64 nByte = 2*(sqlite3_int64)nBind + 1; zRet = (char*)rbuMalloc(p, nByte); if( zRet ){ @@ -188737,6 +192804,101 @@ static void rbuTmpInsertFunc( } } +static char *rbuObjIterGetIndexWhere(sqlite3rbu *p, RbuObjIter *pIter){ + sqlite3_stmt *pStmt = 0; + int rc = p->rc; + char *zRet = 0; + + assert( pIter->zIdxSql==0 && pIter->nIdxCol==0 && pIter->aIdxCol==0 ); + + if( rc==SQLITE_OK ){ + rc = prepareAndCollectError(p->dbMain, &pStmt, &p->zErrmsg, + "SELECT trim(sql) FROM sqlite_master WHERE type='index' AND name=?" + ); + } + if( rc==SQLITE_OK ){ + int rc2; + rc = sqlite3_bind_text(pStmt, 1, pIter->zIdx, -1, SQLITE_STATIC); + if( rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pStmt) ){ + char *zSql = (char*)sqlite3_column_text(pStmt, 0); + if( zSql ){ + pIter->zIdxSql = zSql = rbuStrndup(zSql, &rc); + } + if( zSql ){ + int nParen = 0; /* Number of open parenthesis */ + int i; + int iIdxCol = 0; + int nIdxAlloc = 0; + for(i=0; zSql[i]; i++){ + char c = zSql[i]; + + /* If necessary, grow the pIter->aIdxCol[] array */ + if( iIdxCol==nIdxAlloc ){ + RbuSpan *aIdxCol = (RbuSpan*)sqlite3_realloc( + pIter->aIdxCol, (nIdxAlloc+16)*sizeof(RbuSpan) + ); + if( aIdxCol==0 ){ + rc = SQLITE_NOMEM; + break; + } + pIter->aIdxCol = aIdxCol; + nIdxAlloc += 16; + } + + if( c=='(' ){ + if( nParen==0 ){ + assert( iIdxCol==0 ); + pIter->aIdxCol[0].zSpan = &zSql[i+1]; + } + nParen++; + } + else if( c==')' ){ + nParen--; + if( nParen==0 ){ + int nSpan = &zSql[i] - pIter->aIdxCol[iIdxCol].zSpan; + pIter->aIdxCol[iIdxCol++].nSpan = nSpan; + i++; + break; + } + }else if( c==',' && nParen==1 ){ + int nSpan = &zSql[i] - pIter->aIdxCol[iIdxCol].zSpan; + pIter->aIdxCol[iIdxCol++].nSpan = nSpan; + pIter->aIdxCol[iIdxCol].zSpan = &zSql[i+1]; + }else if( c=='"' || c=='\'' || c=='`' ){ + for(i++; 1; i++){ + if( zSql[i]==c ){ + if( zSql[i+1]!=c ) break; + i++; + } + } + }else if( c=='[' ){ + for(i++; 1; i++){ + if( zSql[i]==']' ) break; + } + }else if( c=='-' && zSql[i+1]=='-' ){ + for(i=i+2; zSql[i] && zSql[i]!='\n'; i++); + if( zSql[i]=='\0' ) break; + }else if( c=='/' && zSql[i+1]=='*' ){ + for(i=i+2; zSql[i] && (zSql[i]!='*' || zSql[i+1]!='/'); i++); + if( zSql[i]=='\0' ) break; + i++; + } + } + if( zSql[i] ){ + zRet = rbuStrndup(&zSql[i], &rc); + } + pIter->nIdxCol = iIdxCol; + } + } + + rc2 = sqlite3_finalize(pStmt); + if( rc==SQLITE_OK ) rc = rc2; + } + + p->rc = rc; + return zRet; +} + /* ** Ensure that the SQLite statement handles required to update the ** target database object currently indicated by the iterator passed @@ -188766,9 +192928,11 @@ static int rbuObjIterPrepareAll( char *zImposterPK = 0; /* Primary key declaration for imposter */ char *zWhere = 0; /* WHERE clause on PK columns */ char *zBind = 0; + char *zPart = 0; int nBind = 0; assert( pIter->eType!=RBU_PK_VTAB ); + zPart = rbuObjIterGetIndexWhere(p, pIter); zCollist = rbuObjIterGetIndexCols( p, pIter, &zImposterCols, &zImposterPK, &zWhere, &nBind ); @@ -188804,39 +192968,58 @@ static int rbuObjIterPrepareAll( if( p->rc==SQLITE_OK ){ char *zSql; if( rbuIsVacuum(p) ){ + char *zStart = 0; + if( nOffset ){ + zStart = rbuVacuumIndexStart(p, pIter); + if( zStart ){ + sqlite3_free(zLimit); + zLimit = 0; + } + } + zSql = sqlite3_mprintf( - "SELECT %s, 0 AS rbu_control FROM '%q' ORDER BY %s%s", + "SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s", zCollist, pIter->zDataTbl, + zPart, + (zStart ? (zPart ? "AND" : "WHERE") : ""), zStart, zCollist, zLimit ); + sqlite3_free(zStart); }else if( pIter->eType==RBU_PK_EXTERNAL || pIter->eType==RBU_PK_NONE ){ zSql = sqlite3_mprintf( - "SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' ORDER BY %s%s", + "SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s", zCollist, p->zStateDb, pIter->zDataTbl, - zCollist, zLimit + zPart, zCollist, zLimit ); }else{ zSql = sqlite3_mprintf( - "SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' " + "SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s " "UNION ALL " "SELECT %s, rbu_control FROM '%q' " - "WHERE typeof(rbu_control)='integer' AND rbu_control!=1 " + "%s %s typeof(rbu_control)='integer' AND rbu_control!=1 " "ORDER BY %s%s", - zCollist, p->zStateDb, pIter->zDataTbl, + zCollist, p->zStateDb, pIter->zDataTbl, zPart, zCollist, pIter->zDataTbl, + zPart, + (zPart ? "AND" : "WHERE"), zCollist, zLimit ); } - p->rc = prepareFreeAndCollectError(p->dbRbu, &pIter->pSelect, pz, zSql); + if( p->rc==SQLITE_OK ){ + p->rc = prepareFreeAndCollectError(p->dbRbu,&pIter->pSelect,pz,zSql); + }else{ + sqlite3_free(zSql); + } } sqlite3_free(zImposterCols); sqlite3_free(zImposterPK); sqlite3_free(zWhere); sqlite3_free(zBind); + sqlite3_free(zPart); }else{ int bRbuRowid = (pIter->eType==RBU_PK_VTAB) ||(pIter->eType==RBU_PK_NONE) @@ -188929,18 +193112,42 @@ static int rbuObjIterPrepareAll( /* Create the SELECT statement to read keys from data_xxx */ if( p->rc==SQLITE_OK ){ const char *zRbuRowid = ""; + char *zStart = 0; + char *zOrder = 0; if( bRbuRowid ){ zRbuRowid = rbuIsVacuum(p) ? ",_rowid_ " : ",rbu_rowid"; } - p->rc = prepareFreeAndCollectError(p->dbRbu, &pIter->pSelect, pz, - sqlite3_mprintf( - "SELECT %s,%s rbu_control%s FROM '%q'%s", - zCollist, - (rbuIsVacuum(p) ? "0 AS " : ""), - zRbuRowid, - pIter->zDataTbl, zLimit - ) - ); + + if( rbuIsVacuum(p) ){ + if( nOffset ){ + zStart = rbuVacuumTableStart(p, pIter, bRbuRowid, zWrite); + if( zStart ){ + sqlite3_free(zLimit); + zLimit = 0; + } + } + if( bRbuRowid ){ + zOrder = rbuMPrintf(p, "_rowid_"); + }else{ + zOrder = rbuObjIterGetPkList(p, pIter, "", ", ", ""); + } + } + + if( p->rc==SQLITE_OK ){ + p->rc = prepareFreeAndCollectError(p->dbRbu, &pIter->pSelect, pz, + sqlite3_mprintf( + "SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s", + zCollist, + (rbuIsVacuum(p) ? "0 AS " : ""), + zRbuRowid, + pIter->zDataTbl, (zStart ? zStart : ""), + (zOrder ? "ORDER BY" : ""), zOrder, + zLimit + ) + ); + } + sqlite3_free(zStart); + sqlite3_free(zOrder); } sqlite3_free(zWhere); @@ -189257,7 +193464,7 @@ static void rbuOpenDatabase(sqlite3rbu *p, int *pbRetry){ if( *zExtra=='\0' ) zExtra = 0; } - zTarget = sqlite3_mprintf("file:%s-vacuum?rbu_memory=1%s%s", + zTarget = sqlite3_mprintf("file:%s-vactmp?rbu_memory=1%s%s", sqlite3_db_filename(p->dbRbu, "main"), (zExtra==0 ? "" : "&"), (zExtra==0 ? "" : zExtra) ); @@ -190255,10 +194462,11 @@ static void rbuIndexCntFunc( sqlite3_stmt *pStmt = 0; char *zErrmsg = 0; int rc; + sqlite3 *db = (rbuIsVacuum(p) ? p->dbRbu : p->dbMain); assert( nVal==1 ); - rc = prepareFreeAndCollectError(p->dbMain, &pStmt, &zErrmsg, + rc = prepareFreeAndCollectError(db, &pStmt, &zErrmsg, sqlite3_mprintf("SELECT count(*) FROM sqlite_master " "WHERE type='index' AND tbl_name = %Q", sqlite3_value_text(apVal[0])) ); @@ -190273,7 +194481,7 @@ static void rbuIndexCntFunc( if( rc==SQLITE_OK ){ sqlite3_result_int(pCtx, nIndex); }else{ - sqlite3_result_error(pCtx, sqlite3_errmsg(p->dbMain), -1); + sqlite3_result_error(pCtx, sqlite3_errmsg(db), -1); } } @@ -190523,6 +194731,12 @@ SQLITE_API sqlite3rbu *sqlite3rbu_vacuum( const char *zState ){ if( zTarget==0 ){ return rbuMisuseError(); } + if( zState ){ + int n = strlen(zState); + if( n>=7 && 0==memcmp("-vactmp", &zState[n-7], 7) ){ + return rbuMisuseError(); + } + } /* TODO: Check that both arguments are non-NULL */ return openRbuHandle(0, zTarget, zState); } @@ -190719,7 +194933,10 @@ SQLITE_API int sqlite3rbu_savestate(sqlite3rbu *p){ if( p->eStage==RBU_STAGE_OAL ){ assert( rc!=SQLITE_DONE ); if( rc==SQLITE_OK ) rc = sqlite3_exec(p->dbRbu, "COMMIT", 0, 0, 0); - if( rc==SQLITE_OK ) rc = sqlite3_exec(p->dbRbu, "BEGIN IMMEDIATE", 0, 0, 0); + if( rc==SQLITE_OK ){ + const char *zBegin = rbuIsVacuum(p) ? "BEGIN" : "BEGIN IMMEDIATE"; + rc = sqlite3_exec(p->dbRbu, zBegin, 0, 0, 0); + } if( rc==SQLITE_OK ) rc = sqlite3_exec(p->dbMain, "BEGIN IMMEDIATE", 0, 0,0); } @@ -191158,9 +195375,7 @@ static int rbuVfsFileControl(sqlite3_file *pFile, int op, void *pArg){ }else if( rc==SQLITE_NOTFOUND ){ pRbu->pTargetFd = p; p->pRbu = pRbu; - if( p->openFlags & SQLITE_OPEN_MAIN_DB ){ - rbuMainlistAdd(p); - } + rbuMainlistAdd(p); if( p->pWalFd ) p->pWalFd->pRbu = pRbu; rc = SQLITE_OK; } @@ -191223,10 +195438,7 @@ static int rbuVfsShmLock(sqlite3_file *pFile, int ofst, int n, int flags){ if( ofst==WAL_LOCK_CKPT && n==1 ) rc = SQLITE_BUSY; }else{ int bCapture = 0; - if( n==1 && (flags & SQLITE_SHM_EXCLUSIVE) - && pRbu && pRbu->eStage==RBU_STAGE_CAPTURE - && (ofst==WAL_LOCK_WRITE || ofst==WAL_LOCK_CKPT || ofst==WAL_LOCK_READ0) - ){ + if( pRbu && pRbu->eStage==RBU_STAGE_CAPTURE ){ bCapture = 1; } @@ -191259,20 +195471,24 @@ static int rbuVfsShmMap( ** rbu is in the RBU_STAGE_OAL state, use heap memory for *-shm space ** instead of a file on disk. */ assert( p->openFlags & (SQLITE_OPEN_MAIN_DB|SQLITE_OPEN_TEMP_DB) ); - if( eStage==RBU_STAGE_OAL || eStage==RBU_STAGE_MOVE ){ - if( iRegion<=p->nShm ){ - int nByte = (iRegion+1) * sizeof(char*); - char **apNew = (char**)sqlite3_realloc64(p->apShm, nByte); - if( apNew==0 ){ - rc = SQLITE_NOMEM; - }else{ - memset(&apNew[p->nShm], 0, sizeof(char*) * (1 + iRegion - p->nShm)); - p->apShm = apNew; - p->nShm = iRegion+1; - } + if( eStage==RBU_STAGE_OAL ){ + sqlite3_int64 nByte = (iRegion+1) * sizeof(char*); + char **apNew = (char**)sqlite3_realloc64(p->apShm, nByte); + + /* This is an RBU connection that uses its own heap memory for the + ** pages of the *-shm file. Since no other process can have run + ** recovery, the connection must request *-shm pages in order + ** from start to finish. */ + assert( iRegion==p->nShm ); + if( apNew==0 ){ + rc = SQLITE_NOMEM; + }else{ + memset(&apNew[p->nShm], 0, sizeof(char*) * (1 + iRegion - p->nShm)); + p->apShm = apNew; + p->nShm = iRegion+1; } - if( rc==SQLITE_OK && p->apShm[iRegion]==0 ){ + if( rc==SQLITE_OK ){ char *pNew = (char*)sqlite3_malloc64(szRegion); if( pNew==0 ){ rc = SQLITE_NOMEM; @@ -191501,7 +195717,8 @@ static int rbuVfsAccess( */ if( rc==SQLITE_OK && flags==SQLITE_ACCESS_EXISTS ){ rbu_file *pDb = rbuFindMaindb(pRbuVfs, zPath, 1); - if( pDb && pDb->pRbu && pDb->pRbu->eStage==RBU_STAGE_OAL ){ + if( pDb && pDb->pRbu->eStage==RBU_STAGE_OAL ){ + assert( pDb->pRbu ); if( *pResOut ){ rc = SQLITE_CANTOPEN; }else{ @@ -192250,6 +196467,10 @@ static int statNext(sqlite3_vtab_cursor *pCursor){ goto statNextRestart; /* Tail recursion */ } pCsr->iPage++; + if( pCsr->iPage>=ArraySize(pCsr->aPage) ){ + statResetCsr(pCsr); + return SQLITE_CORRUPT_BKPT; + } assert( p==&pCsr->aPage[pCsr->iPage-1] ); if( p->iCell==p->nCell ){ @@ -192321,7 +196542,6 @@ static int statFilter( StatTable *pTab = (StatTable*)(pCursor->pVtab); char *zSql; int rc = SQLITE_OK; - char *zMaster; if( idxNum==1 ){ const char *zDbase = (const char*)sqlite3_value_text(argv[0]); @@ -192337,13 +196557,12 @@ static int statFilter( statResetCsr(pCsr); sqlite3_finalize(pCsr->pStmt); pCsr->pStmt = 0; - zMaster = pCsr->iDb==1 ? "sqlite_temp_master" : "sqlite_master"; zSql = sqlite3_mprintf( "SELECT 'sqlite_master' AS name, 1 AS rootpage, 'table' AS type" " UNION ALL " "SELECT name, rootpage, type" - " FROM \"%w\".%s WHERE rootpage!=0" - " ORDER BY name", pTab->db->aDb[pCsr->iDb].zDbSName, zMaster); + " FROM \"%w\".sqlite_master WHERE rootpage!=0" + " ORDER BY name", pTab->db->aDb[pCsr->iDb].zDbSName); if( zSql==0 ){ return SQLITE_NOMEM_BKPT; }else{ @@ -193231,7 +197450,7 @@ static void sessionPutI64(u8 *aBuf, sqlite3_int64 i){ static int sessionSerializeValue( u8 *aBuf, /* If non-NULL, write serialized value here */ sqlite3_value *pValue, /* Value to serialize */ - int *pnWrite /* IN/OUT: Increment by bytes written */ + sqlite3_int64 *pnWrite /* IN/OUT: Increment by bytes written */ ){ int nByte; /* Size of serialized value in bytes */ @@ -193770,9 +197989,9 @@ static int sessionGrowHash(int bPatchset, SessionTable *pTab){ if( pTab->nChange==0 || pTab->nEntry>=(pTab->nChange/2) ){ int i; SessionChange **apNew; - int nNew = (pTab->nChange ? pTab->nChange : 128) * 2; + sqlite3_int64 nNew = 2*(sqlite3_int64)(pTab->nChange ? pTab->nChange : 128); - apNew = (SessionChange **)sqlite3_malloc(sizeof(SessionChange *) * nNew); + apNew = (SessionChange **)sqlite3_malloc64(sizeof(SessionChange *) * nNew); if( apNew==0 ){ if( pTab->nChange==0 ){ return SQLITE_ERROR; @@ -193838,7 +198057,7 @@ static int sessionTableInfo( char *zPragma; sqlite3_stmt *pStmt; int rc; - int nByte; + sqlite3_int64 nByte; int nDbCol = 0; int nThis; int i; @@ -193881,7 +198100,7 @@ static int sessionTableInfo( if( rc==SQLITE_OK ){ nByte += nDbCol * (sizeof(const char *) + sizeof(u8) + 1); - pAlloc = sqlite3_malloc(nByte); + pAlloc = sqlite3_malloc64(nByte); if( pAlloc==0 ){ rc = SQLITE_NOMEM; } @@ -194022,7 +198241,7 @@ static void sessionPreupdateOneChange( int iHash; int bNull = 0; int rc = SQLITE_OK; - SessionStat1Ctx stat1 = {0}; + SessionStat1Ctx stat1 = {{0,0,0,0,0},0}; if( pSession->rc ) return; @@ -194079,7 +198298,7 @@ static void sessionPreupdateOneChange( ** this is an SQLITE_UPDATE or SQLITE_DELETE), or just the PK ** values (if this is an INSERT). */ SessionChange *pChange; /* New change object */ - int nByte; /* Number of bytes to allocate */ + sqlite3_int64 nByte; /* Number of bytes to allocate */ int i; /* Used to iterate through columns */ assert( rc==SQLITE_OK ); @@ -194104,7 +198323,7 @@ static void sessionPreupdateOneChange( } /* Allocate the change object */ - pChange = (SessionChange *)sqlite3_malloc(nByte); + pChange = (SessionChange *)sqlite3_malloc64(nByte); if( !pChange ){ rc = SQLITE_NOMEM; goto error_out; @@ -194492,7 +198711,9 @@ SQLITE_API int sqlite3session_diff( } sqlite3_free((char*)azCol); if( bMismatch ){ - *pzErrMsg = sqlite3_mprintf("table schemas do not match"); + if( pzErrMsg ){ + *pzErrMsg = sqlite3_mprintf("table schemas do not match"); + } rc = SQLITE_SCHEMA; } if( bHasPk==0 ){ @@ -194548,7 +198769,7 @@ SQLITE_API int sqlite3session_create( *ppSession = 0; /* Allocate and populate the new session object. */ - pNew = (sqlite3_session *)sqlite3_malloc(sizeof(sqlite3_session) + nDb + 1); + pNew = (sqlite3_session *)sqlite3_malloc64(sizeof(sqlite3_session) + nDb + 1); if( !pNew ) return SQLITE_NOMEM; memset(pNew, 0, sizeof(sqlite3_session)); pNew->db = db; @@ -194667,7 +198888,7 @@ SQLITE_API int sqlite3session_attach( if( !pTab ){ /* Allocate new SessionTable object. */ - pTab = (SessionTable *)sqlite3_malloc(sizeof(SessionTable) + nName + 1); + pTab = (SessionTable *)sqlite3_malloc64(sizeof(SessionTable) + nName + 1); if( !pTab ){ rc = SQLITE_NOMEM; }else{ @@ -194697,13 +198918,13 @@ SQLITE_API int sqlite3session_attach( ** If successful, return zero. Otherwise, if an OOM condition is encountered, ** set *pRc to SQLITE_NOMEM and return non-zero. */ -static int sessionBufferGrow(SessionBuffer *p, int nByte, int *pRc){ - if( *pRc==SQLITE_OK && p->nAlloc-p->nBufnAlloc-p->nBuf)nAlloc ? p->nAlloc : 128; do { nNew = nNew*2; - }while( (nNew-p->nBuf)nBuf)aBuf, nNew); if( 0==aNew ){ @@ -194727,7 +198948,7 @@ static int sessionBufferGrow(SessionBuffer *p, int nByte, int *pRc){ static void sessionAppendValue(SessionBuffer *p, sqlite3_value *pVal, int *pRc){ int rc = *pRc; if( rc==SQLITE_OK ){ - int nByte = 0; + sqlite3_int64 nByte = 0; rc = sessionSerializeValue(0, pVal, &nByte); sessionBufferGrow(p, nByte, &rc); if( rc==SQLITE_OK ){ @@ -195603,7 +199824,7 @@ static int sessionValueSetStr( ** argument to sqlite3ValueSetStr() and have the copy created ** automatically. But doing so makes it difficult to detect any OOM ** error. Hence the code to create the copy externally. */ - u8 *aCopy = sqlite3_malloc(nData+1); + u8 *aCopy = sqlite3_malloc64((sqlite3_int64)nData+1); if( aCopy==0 ) return SQLITE_NOMEM; memcpy(aCopy, aData, nData); sqlite3ValueSetStr(pVal, nData, (char*)aCopy, enc, sqlite3_free); @@ -195815,7 +200036,7 @@ static int sessionChangesetReadTblhdr(sqlite3_changeset_iter *p){ } if( rc==SQLITE_OK ){ - int iPK = sizeof(sqlite3_value*)*p->nCol*2; + size_t iPK = sizeof(sqlite3_value*)*p->nCol*2; memset(p->tblhdr.aBuf, 0, iPK); memcpy(&p->tblhdr.aBuf[iPK], &p->in.aData[p->in.iNext], nCopy); p->in.iNext += nCopy; @@ -196216,7 +200437,7 @@ static int sessionChangesetInvert( int iCol; if( 0==apVal ){ - apVal = (sqlite3_value **)sqlite3_malloc(sizeof(apVal[0])*nCol*2); + apVal = (sqlite3_value **)sqlite3_malloc64(sizeof(apVal[0])*nCol*2); if( 0==apVal ){ rc = SQLITE_NOMEM; goto finished_invert; @@ -196730,7 +200951,7 @@ static int sessionSeekToRow( } /* -** This function is called from within sqlite3changset_apply_v2() when +** This function is called from within sqlite3changeset_apply_v2() when ** a conflict is encountered and resolved using conflict resolution ** mode eType (either SQLITE_CHANGESET_OMIT or SQLITE_CHANGESET_REPLACE).. ** It adds a conflict resolution record to the buffer in @@ -197119,7 +201340,7 @@ static int sessionRetryConstraints( rc = sessionChangesetStart(&pIter2, 0, 0, cons.nBuf, cons.aBuf, 0); if( rc==SQLITE_OK ){ - int nByte = 2*pApply->nCol*sizeof(sqlite3_value*); + size_t nByte = 2*pApply->nCol*sizeof(sqlite3_value*); int rc2; pIter2->bPatchset = bPatchset; pIter2->zTab = (char*)zTab; @@ -197489,7 +201710,7 @@ static int sessionChangeMerge( int rc = SQLITE_OK; if( !pExist ){ - pNew = (SessionChange *)sqlite3_malloc(sizeof(SessionChange) + nRec); + pNew = (SessionChange *)sqlite3_malloc64(sizeof(SessionChange) + nRec); if( !pNew ){ return SQLITE_NOMEM; } @@ -197522,8 +201743,8 @@ static int sessionChangeMerge( if( pExist->op==SQLITE_DELETE && pExist->bIndirect ){ *ppNew = pExist; }else{ - int nByte = nRec + pExist->nRecord + sizeof(SessionChange); - pNew = (SessionChange*)sqlite3_malloc(nByte); + sqlite3_int64 nByte = nRec + pExist->nRecord + sizeof(SessionChange); + pNew = (SessionChange*)sqlite3_malloc64(nByte); if( pNew==0 ){ rc = SQLITE_NOMEM; }else{ @@ -197583,14 +201804,14 @@ static int sessionChangeMerge( assert( pNew==0 ); }else{ u8 *aExist = pExist->aRecord; - int nByte; + sqlite3_int64 nByte; u8 *aCsr; /* Allocate a new SessionChange object. Ensure that the aRecord[] ** buffer of the new object is large enough to hold any record that ** may be generated by combining the input records. */ nByte = sizeof(SessionChange) + pExist->nRecord + nRec; - pNew = (SessionChange *)sqlite3_malloc(nByte); + pNew = (SessionChange *)sqlite3_malloc64(nByte); if( !pNew ){ sqlite3_free(pExist); return SQLITE_NOMEM; @@ -197696,7 +201917,7 @@ static int sessionChangesetToHash( if( !pTab ){ SessionTable **ppTab; - pTab = sqlite3_malloc(sizeof(SessionTable) + nCol + nNew+1); + pTab = sqlite3_malloc64(sizeof(SessionTable) + nCol + nNew+1); if( !pTab ){ rc = SQLITE_NOMEM; break; @@ -198470,12 +202691,8 @@ struct Fts5PhraseIter { ** ** Usually, output parameter *piPhrase is set to the phrase number, *piCol ** to the column in which it occurs and *piOff the token offset of the -** first token of the phrase. The exception is if the table was created -** with the offsets=0 option specified. In this case *piOff is always -** set to -1. -** -** Returns SQLITE_OK if successful, or an error code (i.e. SQLITE_NOMEM) -** if an error occurs. +** first token of the phrase. Returns SQLITE_OK if successful, or an error +** code (i.e. SQLITE_NOMEM) if an error occurs. ** ** This API can be quite slow if used with an FTS5 table created with the ** "detail=none" or "detail=column" option. @@ -198516,7 +202733,7 @@ struct Fts5PhraseIter { ** Save the pointer passed as the second argument as the extension functions ** "auxiliary data". The pointer may then be retrieved by the current or any ** future invocation of the same fts5 extension function made as part of -** of the same MATCH query using the xGetAuxdata() API. +** the same MATCH query using the xGetAuxdata() API. ** ** Each extension function is allocated a single auxiliary data slot for ** each FTS query (MATCH expression). If the extension function is invoked @@ -198531,7 +202748,7 @@ struct Fts5PhraseIter { ** The xDelete callback, if one is specified, is also invoked on the ** auxiliary data pointer after the FTS5 query has finished. ** -** If an error (e.g. an OOM condition) occurs within this function, an +** If an error (e.g. an OOM condition) occurs within this function, ** the auxiliary data is set to NULL and an error code returned. If the ** xDelete parameter was not NULL, it is invoked on the auxiliary data ** pointer before returning. @@ -198764,11 +202981,11 @@ struct Fts5ExtensionApi { ** the tokenizer substitutes "first" for "1st" and the query works ** as expected. ** -**
  • By adding multiple synonyms for a single term to the FTS index. -** In this case, when tokenizing query text, the tokenizer may -** provide multiple synonyms for a single term within the document. -** FTS5 then queries the index for each synonym individually. For -** example, faced with the query: +**
  • By querying the index for all synonyms of each query term +** separately. In this case, when tokenizing query text, the +** tokenizer may provide multiple synonyms for a single term +** within the document. FTS5 then queries the index for each +** synonym individually. For example, faced with the query: ** ** ** ... MATCH 'first place' @@ -198792,7 +203009,7 @@ struct Fts5ExtensionApi { ** "place". ** ** This way, even if the tokenizer does not provide synonyms -** when tokenizing query text (it should not - to do would be +** when tokenizing query text (it should not - to do so would be ** inefficient), it doesn't matter if the user queries for ** 'first + place' or '1st + place', as there are entries in the ** FTS index corresponding to both forms of the first token. @@ -199017,6 +203234,12 @@ SQLITE_API extern int sqlite3_fts5_may_be_corrupt; # define assert_nc(x) assert(x) #endif +/* +** A version of memcmp() that does not cause asan errors if one of the pointer +** parameters is NULL and the number of bytes to compare is zero. +*/ +#define fts5Memcmp(s1, s2, n) ((n)==0 ? 0 : memcmp((s1), (s2), (n))) + /* Mark a function parameter as unused, to suppress nuisance compiler ** warnings. */ #ifndef UNUSED_PARAM @@ -199102,6 +203325,7 @@ struct Fts5Config { char *zContentExprlist; Fts5Tokenizer *pTok; fts5_tokenizer *pTokApi; + int bLock; /* True when table is preparing statement */ /* Values loaded from the %_config table */ int iCookie; /* Incremented when %_config is modified */ @@ -199204,7 +203428,7 @@ static void sqlite3Fts5Put32(u8*, int); static int sqlite3Fts5Get32(const u8*); #define FTS5_POS2COLUMN(iPos) (int)(iPos >> 32) -#define FTS5_POS2OFFSET(iPos) (int)(iPos & 0xFFFFFFFF) +#define FTS5_POS2OFFSET(iPos) (int)(iPos & 0x7FFFFFFF) typedef struct Fts5PoslistReader Fts5PoslistReader; struct Fts5PoslistReader { @@ -199239,7 +203463,7 @@ static int sqlite3Fts5PoslistNext64( ); /* Malloc utility */ -static void *sqlite3Fts5MallocZero(int *pRc, int nByte); +static void *sqlite3Fts5MallocZero(int *pRc, sqlite3_int64 nByte); static char *sqlite3Fts5Strndup(int *pRc, const char *pIn, int nIn); /* Character set tests (like isspace(), isalpha() etc.) */ @@ -199450,8 +203674,18 @@ static int sqlite3Fts5PutVarint(unsigned char *p, u64 v); /************************************************************************** -** Interface to code in fts5.c. +** Interface to code in fts5_main.c. +*/ + +/* +** Virtual-table object. */ +typedef struct Fts5Table Fts5Table; +struct Fts5Table { + sqlite3_vtab base; /* Base class used by SQLite core */ + Fts5Config *pConfig; /* Virtual table configuration */ + Fts5Index *pIndex; /* Full-text index */ +}; static int sqlite3Fts5GetTokenizer( Fts5Global*, @@ -199462,7 +203696,9 @@ static int sqlite3Fts5GetTokenizer( char **pzErr ); -static Fts5Index *sqlite3Fts5IndexFromCsrid(Fts5Global*, i64, Fts5Config **); +static Fts5Table *sqlite3Fts5TableFromCsrid(Fts5Global*, i64); + +static int sqlite3Fts5FlushToDisk(Fts5Table*); /* ** End of interface to code in fts5.c. @@ -199495,8 +203731,9 @@ static void sqlite3Fts5HashClear(Fts5Hash*); static int sqlite3Fts5HashQuery( Fts5Hash*, /* Hash table to query */ + int nPre, const char *pTerm, int nTerm, /* Query term */ - const u8 **ppDoclist, /* OUT: Pointer to doclist for pTerm */ + void **ppObj, /* OUT: Pointer to doclist for pTerm */ int *pnDoclist /* OUT: Size of doclist in bytes */ ); @@ -199605,6 +203842,7 @@ static int sqlite3Fts5ExprEof(Fts5Expr*); static i64 sqlite3Fts5ExprRowid(Fts5Expr*); static void sqlite3Fts5ExprFree(Fts5Expr*); +static int sqlite3Fts5ExprAnd(Fts5Expr **pp1, Fts5Expr *p2); /* Called during startup to register a UDF with SQLite */ static int sqlite3Fts5ExprInit(Fts5Global*, sqlite3*); @@ -199718,7 +203956,7 @@ static int sqlite3Fts5UnicodeIsdiacritic(int c); static int sqlite3Fts5UnicodeFold(int c, int bRemoveDiacritic); static int sqlite3Fts5UnicodeCatParse(const char*, u8*); -static int sqlite3Fts5UnicodeCategory(int iCode); +static int sqlite3Fts5UnicodeCategory(u32 iCode); static void sqlite3Fts5UnicodeAscii(u8*, u8*); /* ** End of interface to code in fts5_unicode2.c. @@ -200456,15 +204694,18 @@ static fts5YYACTIONTYPE fts5yy_find_shift_action( do{ i = fts5yy_shift_ofst[stateno]; assert( i>=0 ); - /* assert( i+fts5YYNFTS5TOKEN<=(int)fts5YY_NLOOKAHEAD ); */ + assert( i<=fts5YY_ACTTAB_COUNT ); + assert( i+fts5YYNFTS5TOKEN<=(int)fts5YY_NLOOKAHEAD ); assert( iLookAhead!=fts5YYNOCODE ); assert( iLookAhead < fts5YYNFTS5TOKEN ); i += iLookAhead; - if( i>=fts5YY_NLOOKAHEAD || fts5yy_lookahead[i]!=iLookAhead ){ + assert( i<(int)fts5YY_NLOOKAHEAD ); + if( fts5yy_lookahead[i]!=iLookAhead ){ #ifdef fts5YYFALLBACK fts5YYCODETYPE iFallback; /* Fallback token */ - if( iLookAhead %s\n", @@ -200479,16 +204720,8 @@ static fts5YYACTIONTYPE fts5yy_find_shift_action( #ifdef fts5YYWILDCARD { int j = i - iLookAhead + fts5YYWILDCARD; - if( -#if fts5YY_SHIFT_MIN+fts5YYWILDCARD<0 - j>=0 && -#endif -#if fts5YY_SHIFT_MAX+fts5YYWILDCARD>=fts5YY_ACTTAB_COUNT - j0 - ){ + assert( j<(int)(sizeof(fts5yy_lookahead)/sizeof(fts5yy_lookahead[0])) ); + if( fts5yy_lookahead[j]==fts5YYWILDCARD && iLookAhead>0 ){ #ifndef NDEBUG if( fts5yyTraceFILE ){ fprintf(fts5yyTraceFILE, "%sWILDCARD %s => %s\n", @@ -200502,6 +204735,7 @@ static fts5YYACTIONTYPE fts5yy_find_shift_action( #endif /* fts5YYWILDCARD */ return fts5yy_default[stateno]; }else{ + assert( i>=0 && ifts5yytos; #ifndef NDEBUG if( fts5yyTraceFILE && fts5yyruleno<(int)(sizeof(fts5yyRuleName)/sizeof(fts5yyRuleName[0])) ){ - fts5yysize = fts5yyRuleInfo[fts5yyruleno].nrhs; + fts5yysize = fts5yyRuleInfoNRhs[fts5yyruleno]; if( fts5yysize ){ fprintf(fts5yyTraceFILE, "%sReduce %d [%s], go to state %d.\n", fts5yyTracePrompt, @@ -200703,7 +204966,7 @@ static fts5YYACTIONTYPE fts5yy_reduce( /* Check that the stack is large enough to grow by a single entry ** if the RHS of the rule is empty. This ensures that there is room ** enough on the stack to push the LHS value */ - if( fts5yyRuleInfo[fts5yyruleno].nrhs==0 ){ + if( fts5yyRuleInfoNRhs[fts5yyruleno]==0 ){ #ifdef fts5YYTRACKMAXSTACKDEPTH if( (int)(fts5yypParser->fts5yytos - fts5yypParser->fts5yystack)>fts5yypParser->fts5yyhwm ){ fts5yypParser->fts5yyhwm++; @@ -200887,9 +205150,9 @@ static fts5YYACTIONTYPE fts5yy_reduce( break; /********** End reduce actions ************************************************/ }; - assert( fts5yyrulenozOut = sqlite3_mprintf("%z%.*s", p->zOut, n, z); if( p->zOut==0 ) *pRc = SQLITE_NOMEM; @@ -201452,7 +205714,7 @@ static int fts5SentenceFinderAdd(Fts5SFinder *p, int iAdd){ int nNew = p->nFirstAlloc ? p->nFirstAlloc*2 : 64; int *aNew; - aNew = (int*)sqlite3_realloc(p->aFirst, nNew*sizeof(int)); + aNew = (int*)sqlite3_realloc64(p->aFirst, nNew*sizeof(int)); if( aNew==0 ) return SQLITE_NOMEM; p->aFirst = aNew; p->nFirstAlloc = nNew; @@ -201519,11 +205781,12 @@ static int fts5SnippetScore( int nInst; int nScore = 0; int iLast = 0; + sqlite3_int64 iEnd = (sqlite3_int64)iPos + nToken; rc = pApi->xInstCount(pFts, &nInst); for(i=0; ixInst(pFts, i, &ip, &ic, &iOff); - if( rc==SQLITE_OK && ic==iCol && iOff>=iPos && iOff<(iPos+nToken) ){ + if( rc==SQLITE_OK && ic==iCol && iOff>=iPos && iOffnDocsize ) iAdj = nDocsize - nToken; if( iAdj<0 ) iAdj = 0; - *piPos = iAdj; + *piPos = (int)iAdj; } return rc; @@ -201626,7 +205889,9 @@ static void fts5SnippetFunction( int jj; rc = pApi->xInst(pFts, ii, &ip, &ic, &io); - if( ic!=i || rc!=SQLITE_OK ) continue; + if( ic!=i ) continue; + if( io>nDocsize ) rc = FTS5_CORRUPT; + if( rc!=SQLITE_OK ) continue; memset(aSeen, 0, nPhrase); rc = fts5SnippetScore(pApi, pFts, nDocsize, aSeen, i, io, nToken, &nScore, &iAdj @@ -201752,17 +206017,17 @@ static int fts5Bm25GetData( int nPhrase; /* Number of phrases in query */ sqlite3_int64 nRow = 0; /* Number of rows in table */ sqlite3_int64 nToken = 0; /* Number of tokens in table */ - int nByte; /* Bytes of space to allocate */ + sqlite3_int64 nByte; /* Bytes of space to allocate */ int i; /* Allocate the Fts5Bm25Data object */ nPhrase = pApi->xPhraseCount(pFts); nByte = sizeof(Fts5Bm25Data) + nPhrase*2*sizeof(double); - p = (Fts5Bm25Data*)sqlite3_malloc(nByte); + p = (Fts5Bm25Data*)sqlite3_malloc64(nByte); if( p==0 ){ rc = SQLITE_NOMEM; }else{ - memset(p, 0, nByte); + memset(p, 0, (size_t)nByte); p->nPhrase = nPhrase; p->aIDF = (double*)&p[1]; p->aFreq = &p->aIDF[nPhrase]; @@ -201770,6 +206035,7 @@ static int fts5Bm25GetData( /* Calculate the average document length for this FTS5 table */ if( rc==SQLITE_OK ) rc = pApi->xRowCount(pFts, &nRow); + assert( rc!=SQLITE_OK || nRow>0 ); if( rc==SQLITE_OK ) rc = pApi->xColumnTotalSize(pFts, -1, &nToken); if( rc==SQLITE_OK ) p->avgdl = (double)nToken / (double)nRow; @@ -201895,8 +206161,6 @@ static int sqlite3Fts5AuxInit(fts5_api *pApi){ return rc; } - - /* ** 2014 May 31 ** @@ -201916,17 +206180,17 @@ static int sqlite3Fts5AuxInit(fts5_api *pApi){ static int sqlite3Fts5BufferSize(int *pRc, Fts5Buffer *pBuf, u32 nByte){ if( (u32)pBuf->nSpacenSpace ? pBuf->nSpace : 64; + u64 nNew = pBuf->nSpace ? pBuf->nSpace : 64; u8 *pNew; while( nNewp, nNew); + pNew = sqlite3_realloc64(pBuf->p, nNew); if( pNew==0 ){ *pRc = SQLITE_NOMEM; return 1; }else{ - pBuf->nSpace = nNew; + pBuf->nSpace = (int)nNew; pBuf->p = pNew; } } @@ -201951,7 +206215,7 @@ static void sqlite3Fts5Put32(u8 *aBuf, int iVal){ } static int sqlite3Fts5Get32(const u8 *aBuf){ - return (aBuf[0] << 24) + (aBuf[1] << 16) + (aBuf[2] << 8) + aBuf[3]; + return (int)((((u32)aBuf[0])<<24) + (aBuf[1]<<16) + (aBuf[2]<<8) + aBuf[3]); } /* @@ -202077,12 +206341,21 @@ static int sqlite3Fts5PoslistNext64( i64 iOff = *piOff; int iVal; fts5FastGetVarint32(a, i, iVal); - if( iVal==1 ){ + if( iVal<=1 ){ + if( iVal==0 ){ + *pi = i; + return 0; + } fts5FastGetVarint32(a, i, iVal); iOff = ((i64)iVal) << 32; fts5FastGetVarint32(a, i, iVal); + if( iVal<2 ){ + /* This is a corrupt record. So stop parsing it here. */ + *piOff = -1; + return 1; + } } - *piOff = iOff + (iVal-2); + *piOff = iOff + ((iVal-2) & 0x7FFFFFFF); *pi = i; return 0; } @@ -202143,14 +206416,14 @@ static int sqlite3Fts5PoslistWriterAppend( return SQLITE_OK; } -static void *sqlite3Fts5MallocZero(int *pRc, int nByte){ +static void *sqlite3Fts5MallocZero(int *pRc, sqlite3_int64 nByte){ void *pRet = 0; if( *pRc==SQLITE_OK ){ - pRet = sqlite3_malloc(nByte); + pRet = sqlite3_malloc64(nByte); if( pRet==0 ){ if( nByte>0 ) *pRc = SQLITE_NOMEM; }else{ - memset(pRet, 0, nByte); + memset(pRet, 0, (size_t)nByte); } } return pRet; @@ -202589,7 +206862,7 @@ static int fts5ConfigParseSpecial( if( sqlite3_strnicmp("tokenize", zCmd, nCmd)==0 ){ const char *p = (const char*)zArg; - int nArg = (int)strlen(zArg) + 1; + sqlite3_int64 nArg = strlen(zArg) + 1; char **azArg = sqlite3Fts5MallocZero(&rc, sizeof(char*) * nArg); char *pDel = sqlite3Fts5MallocZero(&rc, nArg * 2); char *pSpace = pDel; @@ -202619,7 +206892,7 @@ static int fts5ConfigParseSpecial( rc = SQLITE_ERROR; }else{ rc = sqlite3Fts5GetTokenizer(pGlobal, - (const char**)azArg, nArg, &pConfig->pTok, &pConfig->pTokApi, + (const char**)azArg, (int)nArg, &pConfig->pTok, &pConfig->pTokApi, pzErr ); } @@ -202719,8 +206992,8 @@ static const char *fts5ConfigGobbleWord( ){ const char *zRet = 0; - int nIn = (int)strlen(zIn); - char *zOut = sqlite3_malloc(nIn+1); + sqlite3_int64 nIn = strlen(zIn); + char *zOut = sqlite3_malloc64(nIn+1); assert( *pRc==SQLITE_OK ); *pbQuoted = 0; @@ -202729,7 +207002,7 @@ static const char *fts5ConfigGobbleWord( if( zOut==0 ){ *pRc = SQLITE_NOMEM; }else{ - memcpy(zOut, zIn, nIn+1); + memcpy(zOut, zIn, (size_t)(nIn+1)); if( fts5_isopenquote(zOut[0]) ){ int ii = fts5Dequote(zOut); zRet = &zIn[ii]; @@ -202823,7 +207096,7 @@ static int sqlite3Fts5ConfigParse( int rc = SQLITE_OK; /* Return code */ Fts5Config *pRet; /* New object to return */ int i; - int nByte; + sqlite3_int64 nByte; *ppOut = pRet = (Fts5Config*)sqlite3_malloc(sizeof(Fts5Config)); if( pRet==0 ) return SQLITE_NOMEM; @@ -202977,7 +207250,7 @@ static int sqlite3Fts5ConfigDeclareVtab(Fts5Config *pConfig){ rc = sqlite3_declare_vtab(pConfig->db, zSql); sqlite3_free(zSql); } - + return rc; } @@ -203467,7 +207740,7 @@ static int fts5ExprGetToken( return tok; } -static void *fts5ParseAlloc(u64 t){ return sqlite3_malloc((int)t); } +static void *fts5ParseAlloc(u64 t){ return sqlite3_malloc64((sqlite3_int64)t);} static void fts5ParseFree(void *p){ sqlite3_free(p); } static int sqlite3Fts5ExprNew( @@ -203565,6 +207838,42 @@ static void sqlite3Fts5ExprFree(Fts5Expr *p){ } } +static int sqlite3Fts5ExprAnd(Fts5Expr **pp1, Fts5Expr *p2){ + Fts5Parse sParse; + memset(&sParse, 0, sizeof(sParse)); + + if( *pp1 ){ + Fts5Expr *p1 = *pp1; + int nPhrase = p1->nPhrase + p2->nPhrase; + + p1->pRoot = sqlite3Fts5ParseNode(&sParse, FTS5_AND, p1->pRoot, p2->pRoot,0); + p2->pRoot = 0; + + if( sParse.rc==SQLITE_OK ){ + Fts5ExprPhrase **ap = (Fts5ExprPhrase**)sqlite3_realloc( + p1->apExprPhrase, nPhrase * sizeof(Fts5ExprPhrase*) + ); + if( ap==0 ){ + sParse.rc = SQLITE_NOMEM; + }else{ + int i; + memmove(&ap[p2->nPhrase], ap, p1->nPhrase*sizeof(Fts5ExprPhrase*)); + for(i=0; inPhrase; i++){ + ap[i] = p2->apExprPhrase[i]; + } + p1->nPhrase = nPhrase; + p1->apExprPhrase = ap; + } + } + sqlite3_free(p2->apExprPhrase); + sqlite3_free(p2); + }else{ + *pp1 = p2; + } + + return sParse.rc; +} + /* ** Argument pTerm must be a synonym iterator. Return the current rowid ** that it points to. @@ -203612,8 +207921,8 @@ static int fts5ExprSynonymList( if( sqlite3Fts5IterEof(pIter)==0 && pIter->iRowid==iRowid ){ if( pIter->nData==0 ) continue; if( nIter==nAlloc ){ - int nByte = sizeof(Fts5PoslistReader) * nAlloc * 2; - Fts5PoslistReader *aNew = (Fts5PoslistReader*)sqlite3_malloc(nByte); + sqlite3_int64 nByte = sizeof(Fts5PoslistReader) * nAlloc * 2; + Fts5PoslistReader *aNew = (Fts5PoslistReader*)sqlite3_malloc64(nByte); if( aNew==0 ){ rc = SQLITE_NOMEM; goto synonym_poslist_out; @@ -203693,8 +208002,8 @@ static int fts5ExprPhraseIsMatch( /* If the aStatic[] array is not large enough, allocate a large array ** using sqlite3_malloc(). This approach could be improved upon. */ if( pPhrase->nTerm>ArraySize(aStatic) ){ - int nByte = sizeof(Fts5PoslistReader) * pPhrase->nTerm; - aIter = (Fts5PoslistReader*)sqlite3_malloc(nByte); + sqlite3_int64 nByte = sizeof(Fts5PoslistReader) * pPhrase->nTerm; + aIter = (Fts5PoslistReader*)sqlite3_malloc64(nByte); if( !aIter ) return SQLITE_NOMEM; } memset(aIter, 0, sizeof(Fts5PoslistReader) * pPhrase->nTerm); @@ -203828,7 +208137,7 @@ static int fts5ExprNearIsMatch(int *pRc, Fts5ExprNearset *pNear){ /* If the aStatic[] array is not large enough, allocate a large array ** using sqlite3_malloc(). This approach could be improved upon. */ if( pNear->nPhrase>ArraySize(aStatic) ){ - int nByte = sizeof(Fts5NearTrimmer) * pNear->nPhrase; + sqlite3_int64 nByte = sizeof(Fts5NearTrimmer) * pNear->nPhrase; a = (Fts5NearTrimmer*)sqlite3Fts5MallocZero(&rc, nByte); }else{ memset(aStatic, 0, sizeof(aStatic)); @@ -204737,18 +209046,20 @@ static Fts5ExprNearset *sqlite3Fts5ParseNearset( return pNear; } if( pNear==0 ){ - int nByte = sizeof(Fts5ExprNearset) + SZALLOC * sizeof(Fts5ExprPhrase*); - pRet = sqlite3_malloc(nByte); + sqlite3_int64 nByte; + nByte = sizeof(Fts5ExprNearset) + SZALLOC * sizeof(Fts5ExprPhrase*); + pRet = sqlite3_malloc64(nByte); if( pRet==0 ){ pParse->rc = SQLITE_NOMEM; }else{ - memset(pRet, 0, nByte); + memset(pRet, 0, (size_t)nByte); } }else if( (pNear->nPhrase % SZALLOC)==0 ){ int nNew = pNear->nPhrase + SZALLOC; - int nByte = sizeof(Fts5ExprNearset) + nNew * sizeof(Fts5ExprPhrase*); + sqlite3_int64 nByte; - pRet = (Fts5ExprNearset*)sqlite3_realloc(pNear, nByte); + nByte = sizeof(Fts5ExprNearset) + nNew * sizeof(Fts5ExprPhrase*); + pRet = (Fts5ExprNearset*)sqlite3_realloc64(pNear, nByte); if( pRet==0 ){ pParse->rc = SQLITE_NOMEM; } @@ -204812,12 +209123,12 @@ static int fts5ParseTokenize( if( pPhrase && pPhrase->nTerm>0 && (tflags & FTS5_TOKEN_COLOCATED) ){ Fts5ExprTerm *pSyn; - int nByte = sizeof(Fts5ExprTerm) + sizeof(Fts5Buffer) + nToken+1; - pSyn = (Fts5ExprTerm*)sqlite3_malloc(nByte); + sqlite3_int64 nByte = sizeof(Fts5ExprTerm) + sizeof(Fts5Buffer) + nToken+1; + pSyn = (Fts5ExprTerm*)sqlite3_malloc64(nByte); if( pSyn==0 ){ rc = SQLITE_NOMEM; }else{ - memset(pSyn, 0, nByte); + memset(pSyn, 0, (size_t)nByte); pSyn->zTerm = ((char*)pSyn) + sizeof(Fts5ExprTerm) + sizeof(Fts5Buffer); memcpy(pSyn->zTerm, pToken, nToken); pSyn->pSynonym = pPhrase->aTerm[pPhrase->nTerm-1].pSynonym; @@ -204829,7 +209140,7 @@ static int fts5ParseTokenize( Fts5ExprPhrase *pNew; int nNew = SZALLOC + (pPhrase ? pPhrase->nTerm : 0); - pNew = (Fts5ExprPhrase*)sqlite3_realloc(pPhrase, + pNew = (Fts5ExprPhrase*)sqlite3_realloc64(pPhrase, sizeof(Fts5ExprPhrase) + sizeof(Fts5ExprTerm) * nNew ); if( pNew==0 ){ @@ -204915,9 +209226,9 @@ static Fts5ExprPhrase *sqlite3Fts5ParseTerm( if( pAppend==0 ){ if( (pParse->nPhrase % 8)==0 ){ - int nByte = sizeof(Fts5ExprPhrase*) * (pParse->nPhrase + 8); + sqlite3_int64 nByte = sizeof(Fts5ExprPhrase*) * (pParse->nPhrase + 8); Fts5ExprPhrase **apNew; - apNew = (Fts5ExprPhrase**)sqlite3_realloc(pParse->apPhrase, nByte); + apNew = (Fts5ExprPhrase**)sqlite3_realloc64(pParse->apPhrase, nByte); if( apNew==0 ){ pParse->rc = SQLITE_NOMEM; fts5ExprPhraseFree(sCtx.pPhrase); @@ -204972,10 +209283,12 @@ static int sqlite3Fts5ExprClonePhrase( if( rc==SQLITE_OK ){ Fts5Colset *pColsetOrig = pOrig->pNode->pNear->pColset; if( pColsetOrig ){ - int nByte = sizeof(Fts5Colset) + (pColsetOrig->nCol-1) * sizeof(int); - Fts5Colset *pColset = (Fts5Colset*)sqlite3Fts5MallocZero(&rc, nByte); + sqlite3_int64 nByte; + Fts5Colset *pColset; + nByte = sizeof(Fts5Colset) + (pColsetOrig->nCol-1) * sizeof(int); + pColset = (Fts5Colset*)sqlite3Fts5MallocZero(&rc, nByte); if( pColset ){ - memcpy(pColset, pColsetOrig, nByte); + memcpy(pColset, pColsetOrig, (size_t)nByte); } pNew->pRoot->pNear->pColset = pColset; } @@ -205093,7 +209406,7 @@ static Fts5Colset *fts5ParseColset( assert( pParse->rc==SQLITE_OK ); assert( iCol>=0 && iColpConfig->nCol ); - pNew = sqlite3_realloc(p, sizeof(Fts5Colset) + sizeof(int)*nCol); + pNew = sqlite3_realloc64(p, sizeof(Fts5Colset) + sizeof(int)*nCol); if( pNew==0 ){ pParse->rc = SQLITE_NOMEM; }else{ @@ -205189,10 +209502,10 @@ static Fts5Colset *sqlite3Fts5ParseColset( static Fts5Colset *fts5CloneColset(int *pRc, Fts5Colset *pOrig){ Fts5Colset *pRet; if( pOrig ){ - int nByte = sizeof(Fts5Colset) + (pOrig->nCol-1) * sizeof(int); + sqlite3_int64 nByte = sizeof(Fts5Colset) + (pOrig->nCol-1) * sizeof(int); pRet = (Fts5Colset*)sqlite3Fts5MallocZero(pRc, nByte); if( pRet ){ - memcpy(pRet, pOrig, nByte); + memcpy(pRet, pOrig, (size_t)nByte); } }else{ pRet = 0; @@ -205343,7 +209656,7 @@ static Fts5ExprNode *sqlite3Fts5ParseNode( if( pParse->rc==SQLITE_OK ){ int nChild = 0; /* Number of children of returned node */ - int nByte; /* Bytes of space to allocate for this node */ + sqlite3_int64 nByte; /* Bytes of space to allocate for this node */ assert( (eType!=FTS5_STRING && !pNear) || (eType==FTS5_STRING && !pLeft && !pRight) @@ -205475,7 +209788,7 @@ static Fts5ExprNode *sqlite3Fts5ParseImplicitAnd( } static char *fts5ExprTermPrint(Fts5ExprTerm *pTerm){ - int nByte = 0; + sqlite3_int64 nByte = 0; Fts5ExprTerm *p; char *zQuoted; @@ -205483,7 +209796,7 @@ static char *fts5ExprTermPrint(Fts5ExprTerm *pTerm){ for(p=pTerm; p; p=p->pSynonym){ nByte += (int)strlen(pTerm->zTerm) * 2 + 3 + 2; } - zQuoted = sqlite3_malloc(nByte); + zQuoted = sqlite3_malloc64(nByte); if( zQuoted ){ int i = 0; @@ -205723,7 +210036,7 @@ static void fts5ExprFunction( } nConfig = 3 + (nArg-iArg); - azConfig = (const char**)sqlite3_malloc(sizeof(char*) * nConfig); + azConfig = (const char**)sqlite3_malloc64(sizeof(char*) * nConfig); if( azConfig==0 ){ sqlite3_result_error_nomem(pCtx); return; @@ -205809,7 +210122,7 @@ static void fts5ExprIsAlnum( sqlite3Fts5UnicodeCatParse("N*", aArr); sqlite3Fts5UnicodeCatParse("Co", aArr); iCode = sqlite3_value_int(apVal[0]); - sqlite3_result_int(pCtx, aArr[sqlite3Fts5UnicodeCategory(iCode)]); + sqlite3_result_int(pCtx, aArr[sqlite3Fts5UnicodeCategory((u32)iCode)]); } static void fts5ExprFold( @@ -205904,7 +210217,7 @@ struct Fts5PoslistPopulator { static Fts5PoslistPopulator *sqlite3Fts5ExprClearPoslists(Fts5Expr *pExpr, int bLive){ Fts5PoslistPopulator *pRet; - pRet = sqlite3_malloc(sizeof(Fts5PoslistPopulator)*pExpr->nPhrase); + pRet = sqlite3_malloc64(sizeof(Fts5PoslistPopulator)*pExpr->nPhrase); if( pRet ){ int i; memset(pRet, 0, sizeof(Fts5PoslistPopulator)*pExpr->nPhrase); @@ -206104,7 +210417,6 @@ static int sqlite3Fts5ExprPhraseCollist( return rc; } - /* ** 2014 August 11 ** @@ -206197,20 +210509,20 @@ static int sqlite3Fts5HashNew(Fts5Config *pConfig, Fts5Hash **ppNew, int *pnByte if( pNew==0 ){ rc = SQLITE_NOMEM; }else{ - int nByte; + sqlite3_int64 nByte; memset(pNew, 0, sizeof(Fts5Hash)); pNew->pnByte = pnByte; pNew->eDetail = pConfig->eDetail; pNew->nSlot = 1024; nByte = sizeof(Fts5HashEntry*) * pNew->nSlot; - pNew->aSlot = (Fts5HashEntry**)sqlite3_malloc(nByte); + pNew->aSlot = (Fts5HashEntry**)sqlite3_malloc64(nByte); if( pNew->aSlot==0 ){ sqlite3_free(pNew); *ppNew = 0; rc = SQLITE_NOMEM; }else{ - memset(pNew->aSlot, 0, nByte); + memset(pNew->aSlot, 0, (size_t)nByte); } } return rc; @@ -206272,7 +210584,7 @@ static int fts5HashResize(Fts5Hash *pHash){ Fts5HashEntry **apNew; Fts5HashEntry **apOld = pHash->aSlot; - apNew = (Fts5HashEntry**)sqlite3_malloc(nNew*sizeof(Fts5HashEntry*)); + apNew = (Fts5HashEntry**)sqlite3_malloc64(nNew*sizeof(Fts5HashEntry*)); if( !apNew ) return SQLITE_NOMEM; memset(apNew, 0, nNew*sizeof(Fts5HashEntry*)); @@ -206294,19 +210606,25 @@ static int fts5HashResize(Fts5Hash *pHash){ return SQLITE_OK; } -static void fts5HashAddPoslistSize(Fts5Hash *pHash, Fts5HashEntry *p){ +static int fts5HashAddPoslistSize( + Fts5Hash *pHash, + Fts5HashEntry *p, + Fts5HashEntry *p2 +){ + int nRet = 0; if( p->iSzPoslist ){ - u8 *pPtr = (u8*)p; + u8 *pPtr = p2 ? (u8*)p2 : (u8*)p; + int nData = p->nData; if( pHash->eDetail==FTS5_DETAIL_NONE ){ - assert( p->nData==p->iSzPoslist ); + assert( nData==p->iSzPoslist ); if( p->bDel ){ - pPtr[p->nData++] = 0x00; + pPtr[nData++] = 0x00; if( p->bContent ){ - pPtr[p->nData++] = 0x00; + pPtr[nData++] = 0x00; } } }else{ - int nSz = (p->nData - p->iSzPoslist - 1); /* Size in bytes */ + int nSz = (nData - p->iSzPoslist - 1); /* Size in bytes */ int nPos = nSz*2 + p->bDel; /* Value of nPos field */ assert( p->bDel==0 || p->bDel==1 ); @@ -206316,14 +210634,19 @@ static void fts5HashAddPoslistSize(Fts5Hash *pHash, Fts5HashEntry *p){ int nByte = sqlite3Fts5GetVarintLen((u32)nPos); memmove(&pPtr[p->iSzPoslist + nByte], &pPtr[p->iSzPoslist + 1], nSz); sqlite3Fts5PutVarint(&pPtr[p->iSzPoslist], nPos); - p->nData += (nByte-1); + nData += (nByte-1); } } - p->iSzPoslist = 0; - p->bDel = 0; - p->bContent = 0; + nRet = nData - p->nData; + if( p2==0 ){ + p->iSzPoslist = 0; + p->bDel = 0; + p->bContent = 0; + p->nData = nData; + } } + return nRet; } /* @@ -206366,7 +210689,7 @@ static int sqlite3Fts5HashWrite( if( p==0 ){ /* Figure out how much space to allocate */ char *zKey; - int nByte = sizeof(Fts5HashEntry) + (nToken+1) + 1 + 64; + sqlite3_int64 nByte = sizeof(Fts5HashEntry) + (nToken+1) + 1 + 64; if( nByte<128 ) nByte = 128; /* Grow the Fts5Hash.aSlot[] array if necessary. */ @@ -206377,10 +210700,10 @@ static int sqlite3Fts5HashWrite( } /* Allocate new Fts5HashEntry and add it to the hash table. */ - p = (Fts5HashEntry*)sqlite3_malloc(nByte); + p = (Fts5HashEntry*)sqlite3_malloc64(nByte); if( !p ) return SQLITE_NOMEM; memset(p, 0, sizeof(Fts5HashEntry)); - p->nAlloc = nByte; + p->nAlloc = (int)nByte; zKey = fts5EntryKey(p); zKey[0] = bByte; memcpy(&zKey[1], pToken, nToken); @@ -206416,12 +210739,12 @@ static int sqlite3Fts5HashWrite( ** + 5 bytes for the new position offset (32-bit max). */ if( (p->nAlloc - p->nData) < (9 + 4 + 1 + 3 + 5) ){ - int nNew = p->nAlloc * 2; + sqlite3_int64 nNew = p->nAlloc * 2; Fts5HashEntry *pNew; Fts5HashEntry **pp; - pNew = (Fts5HashEntry*)sqlite3_realloc(p, nNew); + pNew = (Fts5HashEntry*)sqlite3_realloc64(p, nNew); if( pNew==0 ) return SQLITE_NOMEM; - pNew->nAlloc = nNew; + pNew->nAlloc = (int)nNew; for(pp=&pHash->aSlot[iHash]; *pp!=p; pp=&(*pp)->pHashNext); *pp = pNew; p = pNew; @@ -206435,7 +210758,7 @@ static int sqlite3Fts5HashWrite( /* If this is a new rowid, append the 4-byte size field for the previous ** entry, and the new rowid for this entry. */ if( iRowid!=p->iRowid ){ - fts5HashAddPoslistSize(pHash, p); + fts5HashAddPoslistSize(pHash, p, 0); p->nData += sqlite3Fts5PutVarint(&pPtr[p->nData], iRowid - p->iRowid); p->iRowid = iRowid; bNew = 1; @@ -206545,14 +210868,16 @@ static int fts5HashEntrySort( int i; *ppSorted = 0; - ap = sqlite3_malloc(sizeof(Fts5HashEntry*) * nMergeSlot); + ap = sqlite3_malloc64(sizeof(Fts5HashEntry*) * nMergeSlot); if( !ap ) return SQLITE_NOMEM; memset(ap, 0, sizeof(Fts5HashEntry*) * nMergeSlot); for(iSlot=0; iSlotnSlot; iSlot++){ Fts5HashEntry *pIter; for(pIter=pHash->aSlot[iSlot]; pIter; pIter=pIter->pHashNext){ - if( pTerm==0 || 0==memcmp(fts5EntryKey(pIter), pTerm, nTerm) ){ + if( pTerm==0 + || (pIter->nKey+1>=nTerm && 0==memcmp(fts5EntryKey(pIter), pTerm, nTerm)) + ){ Fts5HashEntry *pEntry = pIter; pEntry->pScanNext = 0; for(i=0; ap[i]; i++){ @@ -206580,8 +210905,9 @@ static int fts5HashEntrySort( */ static int sqlite3Fts5HashQuery( Fts5Hash *pHash, /* Hash table to query */ + int nPre, const char *pTerm, int nTerm, /* Query term */ - const u8 **ppDoclist, /* OUT: Pointer to doclist for pTerm */ + void **ppOut, /* OUT: Pointer to new object */ int *pnDoclist /* OUT: Size of doclist in bytes */ ){ unsigned int iHash = fts5HashKey(pHash->nSlot, (const u8*)pTerm, nTerm); @@ -206590,15 +210916,25 @@ static int sqlite3Fts5HashQuery( for(p=pHash->aSlot[iHash]; p; p=p->pHashNext){ zKey = fts5EntryKey(p); - if( memcmp(zKey, pTerm, nTerm)==0 && zKey[nTerm]==0 ) break; + assert( p->nKey+1==(int)strlen(zKey) ); + if( nTerm==p->nKey+1 && memcmp(zKey, pTerm, nTerm)==0 ) break; } if( p ){ - fts5HashAddPoslistSize(pHash, p); - *ppDoclist = (const u8*)&zKey[nTerm+1]; - *pnDoclist = p->nData - (sizeof(Fts5HashEntry) + nTerm + 1); + int nHashPre = sizeof(Fts5HashEntry) + nTerm + 1; + int nList = p->nData - nHashPre; + u8 *pRet = (u8*)(*ppOut = sqlite3_malloc64(nPre + nList + 10)); + if( pRet ){ + Fts5HashEntry *pFaux = (Fts5HashEntry*)&pRet[nPre-nHashPre]; + memcpy(&pRet[nPre], &((u8*)p)[nHashPre], nList); + nList += fts5HashAddPoslistSize(pHash, p, pFaux); + *pnDoclist = nList; + }else{ + *pnDoclist = 0; + return SQLITE_NOMEM; + } }else{ - *ppDoclist = 0; + *ppOut = 0; *pnDoclist = 0; } @@ -206631,7 +210967,7 @@ static void sqlite3Fts5HashScanEntry( if( (p = pHash->pScan) ){ char *zKey = fts5EntryKey(p); int nTerm = (int)strlen(zKey); - fts5HashAddPoslistSize(pHash, p); + fts5HashAddPoslistSize(pHash, p, 0); *pzTerm = zKey; *ppDoclist = (const u8*)&zKey[nTerm+1]; *pnDoclist = p->nData - (sizeof(Fts5HashEntry) + nTerm + 1); @@ -206642,7 +210978,6 @@ static void sqlite3Fts5HashScanEntry( } } - /* ** 2014 May 31 ** @@ -207157,7 +211492,6 @@ struct Fts5Iter { Fts5IndexIter base; /* Base class containing output vars */ Fts5Index *pIndex; /* Index that owns this iterator */ - Fts5Structure *pStruct; /* Database structure for this iterator */ Fts5Buffer poslist; /* Buffer containing current poslist */ Fts5Colset *pColset; /* Restrict matches to these columns */ @@ -207218,7 +211552,7 @@ static u16 fts5GetU16(const u8 *aIn){ ** If an OOM error is encountered, return NULL and set the error code in ** the Fts5Index handle passed as the first argument. */ -static void *fts5IdxMalloc(Fts5Index *p, int nByte){ +static void *fts5IdxMalloc(Fts5Index *p, sqlite3_int64 nByte){ return sqlite3Fts5MallocZero(&p->rc, nByte); } @@ -207252,7 +211586,7 @@ static int fts5BufferCompareBlob( */ static int fts5BufferCompare(Fts5Buffer *pLeft, Fts5Buffer *pRight){ int nCmp = MIN(pLeft->n, pRight->n); - int res = memcmp(pLeft->p, pRight->p, nCmp); + int res = fts5Memcmp(pLeft->p, pRight->p, nCmp); return (res==0 ? (pLeft->n - pRight->n) : res); } @@ -207318,8 +211652,8 @@ static Fts5Data *fts5DataRead(Fts5Index *p, i64 iRowid){ if( rc==SQLITE_OK ){ u8 *aOut = 0; /* Read blob data into this buffer */ int nByte = sqlite3_blob_bytes(p->pReader); - int nAlloc = sizeof(Fts5Data) + nByte + FTS5_DATA_PADDING; - pRet = (Fts5Data*)sqlite3_malloc(nAlloc); + sqlite3_int64 nAlloc = sizeof(Fts5Data) + nByte + FTS5_DATA_PADDING; + pRet = (Fts5Data*)sqlite3_malloc64(nAlloc); if( pRet ){ pRet->nn = nByte; aOut = pRet->p = (u8*)&pRet[1]; @@ -207335,6 +211669,8 @@ static Fts5Data *fts5DataRead(Fts5Index *p, i64 iRowid){ pRet = 0; }else{ /* TODO1: Fix this */ + pRet->p[nByte] = 0x00; + pRet->p[nByte+1] = 0x00; pRet->szLeaf = fts5GetU16(&pRet->p[2]); } } @@ -207357,7 +211693,7 @@ static void fts5DataRelease(Fts5Data *pData){ static Fts5Data *fts5LeafRead(Fts5Index *p, i64 iRowid){ Fts5Data *pRet = fts5DataRead(p, iRowid); if( pRet ){ - if( pRet->szLeaf>pRet->nn ){ + if( pRet->nn<4 || pRet->szLeaf>pRet->nn ){ p->rc = FTS5_CORRUPT; fts5DataRelease(pRet); pRet = 0; @@ -207374,7 +211710,8 @@ static int fts5IndexPrepareStmt( if( p->rc==SQLITE_OK ){ if( zSql ){ p->rc = sqlite3_prepare_v3(p->pConfig->db, zSql, -1, - SQLITE_PREPARE_PERSISTENT, ppStmt, 0); + SQLITE_PREPARE_PERSISTENT|SQLITE_PREPARE_NO_VTAB, + ppStmt, 0); }else{ p->rc = SQLITE_NOMEM; } @@ -207415,23 +211752,12 @@ static void fts5DataDelete(Fts5Index *p, i64 iFirst, i64 iLast){ if( p->rc!=SQLITE_OK ) return; if( p->pDeleter==0 ){ - int rc; Fts5Config *pConfig = p->pConfig; char *zSql = sqlite3_mprintf( "DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?", pConfig->zDb, pConfig->zName ); - if( zSql==0 ){ - rc = SQLITE_NOMEM; - }else{ - rc = sqlite3_prepare_v3(pConfig->db, zSql, -1, - SQLITE_PREPARE_PERSISTENT, &p->pDeleter, 0); - sqlite3_free(zSql); - } - if( rc!=SQLITE_OK ){ - p->rc = rc; - return; - } + if( fts5IndexPrepareStmt(p, &p->pDeleter, zSql) ) return; } sqlite3_bind_int64(p->pDeleter, 1, iFirst); @@ -207503,7 +211829,7 @@ static int fts5StructureDecode( int iLvl; int nLevel = 0; int nSegment = 0; - int nByte; /* Bytes of space to allocate at pRet */ + sqlite3_int64 nByte; /* Bytes of space to allocate at pRet */ Fts5Structure *pRet = 0; /* Structure object to return */ /* Grab the cookie value */ @@ -207514,6 +211840,11 @@ static int fts5StructureDecode( ** structure record. */ i += fts5GetVarint32(&pData[i], nLevel); i += fts5GetVarint32(&pData[i], nSegment); + if( nLevel>FTS5_MAX_SEGMENT || nLevel<0 + || nSegment>FTS5_MAX_SEGMENT || nSegment<0 + ){ + return FTS5_CORRUPT; + } nByte = ( sizeof(Fts5Structure) + /* Main structure */ sizeof(Fts5StructureLevel) * (nLevel-1) /* aLevel[] array */ @@ -207536,25 +211867,35 @@ static int fts5StructureDecode( }else{ i += fts5GetVarint32(&pData[i], pLvl->nMerge); i += fts5GetVarint32(&pData[i], nTotal); - assert( nTotal>=pLvl->nMerge ); + if( nTotalnMerge ) rc = FTS5_CORRUPT; pLvl->aSeg = (Fts5StructureSegment*)sqlite3Fts5MallocZero(&rc, nTotal * sizeof(Fts5StructureSegment) ); + nSegment -= nTotal; } if( rc==SQLITE_OK ){ pLvl->nSeg = nTotal; for(iSeg=0; iSegaSeg[iSeg]; if( i>=nData ){ rc = FTS5_CORRUPT; break; } - i += fts5GetVarint32(&pData[i], pLvl->aSeg[iSeg].iSegid); - i += fts5GetVarint32(&pData[i], pLvl->aSeg[iSeg].pgnoFirst); - i += fts5GetVarint32(&pData[i], pLvl->aSeg[iSeg].pgnoLast); + i += fts5GetVarint32(&pData[i], pSeg->iSegid); + i += fts5GetVarint32(&pData[i], pSeg->pgnoFirst); + i += fts5GetVarint32(&pData[i], pSeg->pgnoLast); + if( pSeg->pgnoLastpgnoFirst ){ + rc = FTS5_CORRUPT; + break; + } } + if( iLvl>0 && pLvl[-1].nMerge && nTotal==0 ) rc = FTS5_CORRUPT; + if( iLvl==nLevel-1 && pLvl->nMerge ) rc = FTS5_CORRUPT; } } + if( nSegment!=0 && rc==SQLITE_OK ) rc = FTS5_CORRUPT; + if( rc!=SQLITE_OK ){ fts5StructureRelease(pRet); pRet = 0; @@ -207572,12 +211913,12 @@ static void fts5StructureAddLevel(int *pRc, Fts5Structure **ppStruct){ if( *pRc==SQLITE_OK ){ Fts5Structure *pStruct = *ppStruct; int nLevel = pStruct->nLevel; - int nByte = ( + sqlite3_int64 nByte = ( sizeof(Fts5Structure) + /* Main structure */ sizeof(Fts5StructureLevel) * (nLevel+1) /* aLevel[] array */ ); - pStruct = sqlite3_realloc(pStruct, nByte); + pStruct = sqlite3_realloc64(pStruct, nByte); if( pStruct ){ memset(&pStruct->aLevel[nLevel], 0, sizeof(Fts5StructureLevel)); pStruct->nLevel++; @@ -207602,10 +211943,10 @@ static void fts5StructureExtendLevel( if( *pRc==SQLITE_OK ){ Fts5StructureLevel *pLvl = &pStruct->aLevel[iLvl]; Fts5StructureSegment *aNew; - int nByte; + sqlite3_int64 nByte; nByte = (pLvl->nSeg + nExtra) * sizeof(Fts5StructureSegment); - aNew = sqlite3_realloc(pLvl->aSeg, nByte); + aNew = sqlite3_realloc64(pLvl->aSeg, nByte); if( aNew ){ if( bInsert==0 ){ memset(&aNew[pLvl->nSeg], 0, sizeof(Fts5StructureSegment) * nExtra); @@ -207632,7 +211973,7 @@ static Fts5Structure *fts5StructureReadUncached(Fts5Index *p){ /* TODO: Do we need this if the leaf-index is appended? Probably... */ memset(&pData->p[pData->nn], 0, FTS5_DATA_PADDING); p->rc = fts5StructureDecode(pData->p, pData->nn, &iCookie, &pRet); - if( p->rc==SQLITE_OK && pConfig->iCookie!=iCookie ){ + if( p->rc==SQLITE_OK && (pConfig->pgsz==0 || pConfig->iCookie!=iCookie) ){ p->rc = sqlite3Fts5ConfigLoad(pConfig, iCookie); } fts5DataRelease(pData); @@ -208119,10 +212460,10 @@ static Fts5DlidxIter *fts5DlidxIterInit( int bDone = 0; for(i=0; p->rc==SQLITE_OK && bDone==0; i++){ - int nByte = sizeof(Fts5DlidxIter) + i * sizeof(Fts5DlidxLvl); + sqlite3_int64 nByte = sizeof(Fts5DlidxIter) + i * sizeof(Fts5DlidxLvl); Fts5DlidxIter *pNew; - pNew = (Fts5DlidxIter*)sqlite3_realloc(pIter, nByte); + pNew = (Fts5DlidxIter*)sqlite3_realloc64(pIter, nByte); if( pNew==0 ){ p->rc = SQLITE_NOMEM; }else{ @@ -208292,12 +212633,13 @@ static void fts5SegIterLoadTerm(Fts5Index *p, Fts5SegIter *pIter, int nKeep){ int nNew; /* Bytes of new data */ iOff += fts5GetVarint32(&a[iOff], nNew); - if( iOff+nNew>pIter->pLeaf->nn ){ + if( iOff+nNew>pIter->pLeaf->szLeaf || nKeep>pIter->term.n || nNew==0 ){ p->rc = FTS5_CORRUPT; return; } pIter->term.n = nKeep; fts5BufferAppendBlob(&p->rc, &pIter->term, nNew, &a[iOff]); + assert( pIter->term.n<=pIter->term.nSpace ); iOff += nNew; pIter->iTermLeafOffset = iOff; pIter->iTermLeafPgno = pIter->iLeafPgno; @@ -208362,7 +212704,7 @@ static void fts5SegIterInit( if( p->rc==SQLITE_OK ){ pIter->iLeafOffset = 4; assert_nc( pIter->pLeaf->nn>4 ); - assert( fts5LeafFirstTermOff(pIter->pLeaf)==4 ); + assert_nc( fts5LeafFirstTermOff(pIter->pLeaf)==4 ); pIter->iPgidxOff = pIter->pLeaf->szLeaf+1; fts5SegIterLoadTerm(p, pIter, 0); fts5SegIterLoadNPos(p, pIter); @@ -208418,7 +212760,7 @@ static void fts5SegIterReverseInitPage(Fts5Index *p, Fts5SegIter *pIter){ /* If necessary, grow the pIter->aRowidOffset[] array. */ if( iRowidOffset>=pIter->nRowidOffset ){ int nNew = pIter->nRowidOffset + 8; - int *aNew = (int*)sqlite3_realloc(pIter->aRowidOffset, nNew*sizeof(int)); + int *aNew = (int*)sqlite3_realloc64(pIter->aRowidOffset,nNew*sizeof(int)); if( aNew==0 ){ p->rc = SQLITE_NOMEM; break; @@ -208872,10 +213214,10 @@ static void fts5LeafSeek( int szLeaf = pIter->pLeaf->szLeaf; int n = pIter->pLeaf->nn; - int nMatch = 0; - int nKeep = 0; - int nNew = 0; - int iTermOff; + u32 nMatch = 0; + u32 nKeep = 0; + u32 nNew = 0; + u32 iTermOff; int iPgidx; /* Current offset in pgidx */ int bEndOfPage = 0; @@ -208899,15 +213241,15 @@ static void fts5LeafSeek( assert( nKeep>=nMatch ); if( nKeep==nMatch ){ - int nCmp; - int i; - nCmp = MIN(nNew, nTerm-nMatch); + u32 nCmp; + u32 i; + nCmp = (u32)MIN(nNew, nTerm-nMatch); for(i=0; ipLeaf->p[iPgidx], iOff); if( iOff<4 || iOff>=pIter->pLeaf->szLeaf ){ p->rc = FTS5_CORRUPT; + return; }else{ nKeep = 0; iTermOff = iOff; @@ -208963,8 +213306,11 @@ static void fts5LeafSeek( } search_success: - pIter->iLeafOffset = iOff + nNew; + if( pIter->iLeafOffset>n || nNew<1 ){ + p->rc = FTS5_CORRUPT; + return; + } pIter->iTermLeafOffset = pIter->iLeafOffset; pIter->iTermLeafPgno = pIter->iLeafPgno; @@ -209071,7 +213417,7 @@ static void fts5SegIterSeekInit( ** 4) the FTS5INDEX_QUERY_SCAN flag was set and the iterator points ** to an entry with a term greater than or equal to (pTerm/nTerm). */ - assert( p->rc!=SQLITE_OK /* 1 */ + assert_nc( p->rc!=SQLITE_OK /* 1 */ || pIter->pLeaf==0 /* 2 */ || fts5BufferCompareBlob(&pIter->term, pTerm, nTerm)==0 /* 3 */ || (bGe && fts5BufferCompareBlob(&pIter->term, pTerm, nTerm)>0) /* 4 */ @@ -209092,31 +213438,40 @@ static void fts5SegIterHashInit( int flags, /* Mask of FTS5INDEX_XXX flags */ Fts5SegIter *pIter /* Object to populate */ ){ - const u8 *pList = 0; int nList = 0; const u8 *z = 0; int n = 0; + Fts5Data *pLeaf = 0; assert( p->pHash ); assert( p->rc==SQLITE_OK ); if( pTerm==0 || (flags & FTS5INDEX_QUERY_SCAN) ){ + const u8 *pList = 0; + p->rc = sqlite3Fts5HashScanInit(p->pHash, (const char*)pTerm, nTerm); sqlite3Fts5HashScanEntry(p->pHash, (const char**)&z, &pList, &nList); n = (z ? (int)strlen((const char*)z) : 0); + if( pList ){ + pLeaf = fts5IdxMalloc(p, sizeof(Fts5Data)); + if( pLeaf ){ + pLeaf->p = (u8*)pList; + } + } }else{ - pIter->flags |= FTS5_SEGITER_ONETERM; - sqlite3Fts5HashQuery(p->pHash, (const char*)pTerm, nTerm, &pList, &nList); + p->rc = sqlite3Fts5HashQuery(p->pHash, sizeof(Fts5Data), + (const char*)pTerm, nTerm, (void**)&pLeaf, &nList + ); + if( pLeaf ){ + pLeaf->p = (u8*)&pLeaf[1]; + } z = pTerm; n = nTerm; + pIter->flags |= FTS5_SEGITER_ONETERM; } - if( pList ){ - Fts5Data *pLeaf; + if( pLeaf ){ sqlite3Fts5BufferSet(&p->rc, &pIter->term, n, z); - pLeaf = fts5IdxMalloc(p, sizeof(Fts5Data)); - if( pLeaf==0 ) return; - pLeaf->p = (u8*)pList; pLeaf->nn = pLeaf->szLeaf = nList; pIter->pLeaf = pLeaf; pIter->iLeafOffset = fts5GetVarint(pLeaf->p, (u64*)&pIter->iRowid); @@ -209169,7 +213524,7 @@ static void fts5AssertComparisonResult( assert( pRes->iFirst==i1 ); }else{ int nMin = MIN(p1->term.n, p2->term.n); - int res = memcmp(p1->term.p, p2->term.p, nMin); + int res = fts5Memcmp(p1->term.p, p2->term.p, nMin); if( res==0 ) res = p1->term.n - p2->term.n; if( res==0 ){ @@ -209269,8 +213624,8 @@ static int fts5MultiIterDoCompare(Fts5Iter *pIter, int iOut){ }else{ int res = fts5BufferCompare(&p1->term, &p2->term); if( res==0 ){ - assert( i2>i1 ); - assert( i2!=0 ); + assert_nc( i2>i1 ); + assert_nc( i2!=0 ); pRes->bTermEq = 1; if( p1->iRowid==p2->iRowid ){ p1->bDel = p2->bDel; @@ -209392,7 +213747,6 @@ static void fts5MultiIterFree(Fts5Iter *pIter){ for(i=0; inSeg; i++){ fts5SegIterClear(&pIter->aSeg[i]); } - fts5StructureRelease(pIter->pStruct); fts5BufferFree(&pIter->poslist); sqlite3_free(pIter); } @@ -209740,7 +214094,8 @@ static void fts5SegiterPoslist( Fts5Colset *pColset, Fts5Buffer *pBuf ){ - if( 0==fts5BufferGrow(&p->rc, pBuf, pSeg->nPos) ){ + if( 0==fts5BufferGrow(&p->rc, pBuf, pSeg->nPos+FTS5_DATA_ZERO_PADDING) ){ + memset(&pBuf->p[pBuf->n+pSeg->nPos], 0, FTS5_DATA_ZERO_PADDING); if( pColset==0 ){ fts5ChunkIterate(p, pSeg, (void*)pBuf, fts5PoslistCallback); }else{ @@ -210038,9 +214393,7 @@ static void fts5MultiIterNew( if( pNew==0 ) return; pNew->bRev = (0!=(flags & FTS5INDEX_QUERY_DESC)); pNew->bSkipEmpty = (0!=(flags & FTS5INDEX_QUERY_SKIPEMPTY)); - pNew->pStruct = pStruct; pNew->pColset = pColset; - fts5StructureRef(pStruct); if( (flags & FTS5INDEX_QUERY_NOOUTPUT)==0 ){ fts5IterSetOutputCb(&p->rc, pNew); } @@ -210218,24 +214571,24 @@ static int fts5AllocateSegid(Fts5Index *p, Fts5Structure *pStruct){ for(iLvl=0; iLvlnLevel; iLvl++){ for(iSeg=0; iSegaLevel[iLvl].nSeg; iSeg++){ int iId = pStruct->aLevel[iLvl].aSeg[iSeg].iSegid; - if( iId<=FTS5_MAX_SEGMENT ){ - aUsed[(iId-1) / 32] |= 1 << ((iId-1) % 32); + if( iId<=FTS5_MAX_SEGMENT && iId>0 ){ + aUsed[(iId-1) / 32] |= (u32)1 << ((iId-1) % 32); } } } for(i=0; aUsed[i]==0xFFFFFFFF; i++); mask = aUsed[i]; - for(iSegid=0; mask & (1 << iSegid); iSegid++); + for(iSegid=0; mask & ((u32)1 << iSegid); iSegid++); iSegid += 1 + i*32; #ifdef SQLITE_DEBUG for(iLvl=0; iLvlnLevel; iLvl++){ for(iSeg=0; iSegaLevel[iLvl].nSeg; iSeg++){ - assert( iSegid!=pStruct->aLevel[iLvl].aSeg[iSeg].iSegid ); + assert_nc( iSegid!=pStruct->aLevel[iLvl].aSeg[iSeg].iSegid ); } } - assert( iSegid>0 && iSegid<=FTS5_MAX_SEGMENT ); + assert_nc( iSegid>0 && iSegid<=FTS5_MAX_SEGMENT ); { sqlite3_stmt *pIdxSelect = fts5IdxSelectStmt(p); @@ -210243,7 +214596,7 @@ static int fts5AllocateSegid(Fts5Index *p, Fts5Structure *pStruct){ u8 aBlob[2] = {0xff, 0xff}; sqlite3_bind_int(pIdxSelect, 1, iSegid); sqlite3_bind_blob(pIdxSelect, 2, aBlob, 2, SQLITE_STATIC); - assert( sqlite3_step(pIdxSelect)!=SQLITE_ROW ); + assert_nc( sqlite3_step(pIdxSelect)!=SQLITE_ROW ); p->rc = sqlite3_reset(pIdxSelect); sqlite3_bind_null(pIdxSelect, 2); } @@ -210313,13 +214666,13 @@ static int fts5WriteDlidxGrow( int nLvl ){ if( p->rc==SQLITE_OK && nLvl>=pWriter->nDlidx ){ - Fts5DlidxWriter *aDlidx = (Fts5DlidxWriter*)sqlite3_realloc( + Fts5DlidxWriter *aDlidx = (Fts5DlidxWriter*)sqlite3_realloc64( pWriter->aDlidx, sizeof(Fts5DlidxWriter) * nLvl ); if( aDlidx==0 ){ p->rc = SQLITE_NOMEM; }else{ - int nByte = sizeof(Fts5DlidxWriter) * (nLvl - pWriter->nDlidx); + size_t nByte = sizeof(Fts5DlidxWriter) * (nLvl - pWriter->nDlidx); memset(&aDlidx[pWriter->nDlidx], 0, nByte); pWriter->aDlidx = aDlidx; pWriter->nDlidx = nLvl; @@ -210392,8 +214745,10 @@ static void fts5WriteBtreeTerm( int nTerm, const u8 *pTerm /* First term on new page */ ){ fts5WriteFlushBtree(p, pWriter); - fts5BufferSet(&p->rc, &pWriter->btterm, nTerm, pTerm); - pWriter->iBtPage = pWriter->writer.pgno; + if( p->rc==SQLITE_OK ){ + fts5BufferSet(&p->rc, &pWriter->btterm, nTerm, pTerm); + pWriter->iBtPage = pWriter->writer.pgno; + } } /* @@ -210544,6 +214899,7 @@ static void fts5WriteAppendTerm( int nPrefix; /* Bytes of prefix compression for term */ Fts5PageWriter *pPage = &pWriter->writer; Fts5Buffer *pPgidx = &pWriter->writer.pgidx; + int nMin = MIN(pPage->term.n, nTerm); assert( p->rc==SQLITE_OK ); assert( pPage->buf.n>=4 ); @@ -210553,6 +214909,7 @@ static void fts5WriteAppendTerm( if( (pPage->buf.n + pPgidx->n + nTerm + 2)>=p->pConfig->pgsz ){ if( pPage->buf.n>4 ){ fts5WriteFlushLeaf(p, pWriter); + if( p->rc!=SQLITE_OK ) return; } fts5BufferGrow(&p->rc, &pPage->buf, nTerm+FTS5_DATA_PADDING); } @@ -210585,13 +214942,14 @@ static void fts5WriteAppendTerm( ** inefficient, but still correct. */ int n = nTerm; if( pPage->term.n ){ - n = 1 + fts5PrefixCompress(pPage->term.n, pPage->term.p, pTerm); + n = 1 + fts5PrefixCompress(nMin, pPage->term.p, pTerm); } fts5WriteBtreeTerm(p, pWriter, n, pTerm); + if( p->rc!=SQLITE_OK ) return; pPage = &pWriter->writer; } }else{ - nPrefix = fts5PrefixCompress(pPage->term.n, pPage->term.p, pTerm); + nPrefix = fts5PrefixCompress(nMin, pPage->term.p, pTerm); fts5BufferAppendVarint(&p->rc, &pPage->buf, nPrefix); } @@ -210638,7 +214996,7 @@ static void fts5WriteAppendRowid( if( pWriter->bFirstRowidInDoclist || pWriter->bFirstRowidInPage ){ fts5BufferAppendVarint(&p->rc, &pPage->buf, iRowid); }else{ - assert( p->rc || iRowid>pWriter->iPrevRowid ); + assert_nc( p->rc || iRowid>pWriter->iPrevRowid ); fts5BufferAppendVarint(&p->rc, &pPage->buf, iRowid - pWriter->iPrevRowid); } pWriter->iPrevRowid = iRowid; @@ -210760,7 +215118,7 @@ static void fts5TrimSegments(Fts5Index *p, Fts5Iter *pIter){ int i; Fts5Buffer buf; memset(&buf, 0, sizeof(Fts5Buffer)); - for(i=0; inSeg; i++){ + for(i=0; inSeg && p->rc==SQLITE_OK; i++){ Fts5SegIter *pSeg = &pIter->aSeg[i]; if( pSeg->pSeg==0 ){ /* no-op */ @@ -210778,35 +215136,44 @@ static void fts5TrimSegments(Fts5Index *p, Fts5Iter *pIter){ u8 aHdr[4] = {0x00, 0x00, 0x00, 0x00}; iLeafRowid = FTS5_SEGMENT_ROWID(iId, pSeg->iTermLeafPgno); - pData = fts5DataRead(p, iLeafRowid); + pData = fts5LeafRead(p, iLeafRowid); if( pData ){ - fts5BufferZero(&buf); - fts5BufferGrow(&p->rc, &buf, pData->nn); - fts5BufferAppendBlob(&p->rc, &buf, sizeof(aHdr), aHdr); - fts5BufferAppendVarint(&p->rc, &buf, pSeg->term.n); - fts5BufferAppendBlob(&p->rc, &buf, pSeg->term.n, pSeg->term.p); - fts5BufferAppendBlob(&p->rc, &buf, pData->szLeaf-iOff, &pData->p[iOff]); - if( p->rc==SQLITE_OK ){ - /* Set the szLeaf field */ - fts5PutU16(&buf.p[2], (u16)buf.n); - } + if( iOff>pData->szLeaf ){ + /* This can occur if the pages that the segments occupy overlap - if + ** a single page has been assigned to more than one segment. In + ** this case a prior iteration of this loop may have corrupted the + ** segment currently being trimmed. */ + p->rc = FTS5_CORRUPT; + }else{ + fts5BufferZero(&buf); + fts5BufferGrow(&p->rc, &buf, pData->nn); + fts5BufferAppendBlob(&p->rc, &buf, sizeof(aHdr), aHdr); + fts5BufferAppendVarint(&p->rc, &buf, pSeg->term.n); + fts5BufferAppendBlob(&p->rc, &buf, pSeg->term.n, pSeg->term.p); + fts5BufferAppendBlob(&p->rc, &buf, pData->szLeaf-iOff,&pData->p[iOff]); + if( p->rc==SQLITE_OK ){ + /* Set the szLeaf field */ + fts5PutU16(&buf.p[2], (u16)buf.n); + } - /* Set up the new page-index array */ - fts5BufferAppendVarint(&p->rc, &buf, 4); - if( pSeg->iLeafPgno==pSeg->iTermLeafPgno - && pSeg->iEndofDoclistszLeaf - ){ - int nDiff = pData->szLeaf - pSeg->iEndofDoclist; - fts5BufferAppendVarint(&p->rc, &buf, buf.n - 1 - nDiff - 4); - fts5BufferAppendBlob(&p->rc, &buf, - pData->nn - pSeg->iPgidxOff, &pData->p[pSeg->iPgidxOff] - ); - } + /* Set up the new page-index array */ + fts5BufferAppendVarint(&p->rc, &buf, 4); + if( pSeg->iLeafPgno==pSeg->iTermLeafPgno + && pSeg->iEndofDoclistszLeaf + && pSeg->iPgidxOff<=pData->nn + ){ + int nDiff = pData->szLeaf - pSeg->iEndofDoclist; + fts5BufferAppendVarint(&p->rc, &buf, buf.n - 1 - nDiff - 4); + fts5BufferAppendBlob(&p->rc, &buf, + pData->nn - pSeg->iPgidxOff, &pData->p[pSeg->iPgidxOff] + ); + } + pSeg->pSeg->pgnoFirst = pSeg->iTermLeafPgno; + fts5DataDelete(p, FTS5_SEGMENT_ROWID(iId, 1), iLeafRowid); + fts5DataWrite(p, iLeafRowid, buf.p, buf.n); + } fts5DataRelease(pData); - pSeg->pSeg->pgnoFirst = pSeg->iTermLeafPgno; - fts5DataDelete(p, FTS5_SEGMENT_ROWID(iId, 1), iLeafRowid); - fts5DataWrite(p, iLeafRowid, buf.p, buf.n); } } } @@ -210898,7 +215265,7 @@ static void fts5IndexMergeLevel( const u8 *pTerm; pTerm = fts5MultiIterTerm(pIter, &nTerm); - if( nTerm!=term.n || memcmp(pTerm, term.p, nTerm) ){ + if( nTerm!=term.n || fts5Memcmp(pTerm, term.p, nTerm) ){ if( pnRem && writer.nLeafWritten>nRem ){ break; } @@ -211153,6 +215520,7 @@ static void fts5FlushOneHash(Fts5Index *p){ /* Write the term for this entry to disk. */ sqlite3Fts5HashScanEntry(pHash, &zTerm, &pDoclist, &nDoclist); fts5WriteAppendTerm(p, &writer, (int)strlen(zTerm), (const u8*)zTerm); + if( p->rc!=SQLITE_OK ) break; assert( writer.bFirstRowidInPage==0 ); if( pgsz>=(pBuf->n + pPgidx->n + nDoclist + 1) ){ @@ -211175,6 +215543,7 @@ static void fts5FlushOneHash(Fts5Index *p){ pBuf->n += sqlite3Fts5PutVarint(&pBuf->p[pBuf->n], iRowid); writer.bFirstRowidInPage = 0; fts5WriteDlidxAppend(p, &writer, iRowid); + if( p->rc!=SQLITE_OK ) break; }else{ pBuf->n += sqlite3Fts5PutVarint(&pBuf->p[pBuf->n], iDelta); } @@ -211232,7 +215601,7 @@ static void fts5FlushOneHash(Fts5Index *p){ /* TODO2: Doclist terminator written here. */ /* pBuf->p[pBuf->n++] = '\0'; */ assert( pBuf->n<=pBuf->nSpace ); - sqlite3Fts5HashScanNext(pHash); + if( p->rc==SQLITE_OK ) sqlite3Fts5HashScanNext(pHash); } sqlite3Fts5HashClear(pHash); fts5WriteFinish(p, &writer, &pgnoLast); @@ -211276,7 +215645,7 @@ static Fts5Structure *fts5IndexOptimizeStruct( Fts5Structure *pStruct ){ Fts5Structure *pNew = 0; - int nByte = sizeof(Fts5Structure); + sqlite3_int64 nByte = sizeof(Fts5Structure); int nSeg = pStruct->nSegment; int i; @@ -211406,11 +215775,13 @@ static void fts5AppendPoslist( Fts5Buffer *pBuf ){ int nData = pMulti->base.nData; + int nByte = nData + 9 + 9 + FTS5_DATA_ZERO_PADDING; assert( nData>0 ); - if( p->rc==SQLITE_OK && 0==fts5BufferGrow(&p->rc, pBuf, nData+9+9) ){ + if( p->rc==SQLITE_OK && 0==fts5BufferGrow(&p->rc, pBuf, nByte) ){ fts5BufferSafeAppendVarint(pBuf, iDelta); fts5BufferSafeAppendVarint(pBuf, nData*2); fts5BufferSafeAppendBlob(pBuf, pMulti->base.pData, nData); + memset(&pBuf->p[pBuf->n], 0, FTS5_DATA_ZERO_PADDING); } } @@ -211563,8 +215934,14 @@ static void fts5MergePrefixLists( ** first rowid in one input is a large negative number, and the first in ** the other a non-negative number, the delta for the non-negative ** number will be larger on disk than the literal integer value - ** was. */ - if( sqlite3Fts5BufferSize(&p->rc, &out, p1->n + p2->n + 9) ) return; + ** was. + ** + ** Or, if the input position-lists are corrupt, then the output might + ** include up to 2 extra 10-byte positions created by interpreting -1 + ** (the value PoslistNext64() uses for EOF) as a position and appending + ** it to the output. This can happen at most once for each input + ** position-list, hence two 10 byte paddings. */ + if( sqlite3Fts5BufferSize(&p->rc, &out, p1->n + p2->n + 9+10+10) ) return; fts5DoclistIterInit(p1, &i1); fts5DoclistIterInit(p2, &i2); @@ -211575,6 +215952,7 @@ static void fts5MergePrefixLists( fts5BufferSafeAppendBlob(&out, i1.aPoslist, i1.nPoslist+i1.nSize); fts5DoclistIterNext(&i1); if( i1.aPoslist==0 ) break; + assert( out.n<=((i1.aPoslist-p1->p) + (i2.aPoslist-p2->p)+9+10+10) ); } else if( i2.iRowid!=i1.iRowid ){ /* Copy entry from i2 */ @@ -211582,6 +215960,7 @@ static void fts5MergePrefixLists( fts5BufferSafeAppendBlob(&out, i2.aPoslist, i2.nPoslist+i2.nSize); fts5DoclistIterNext(&i2); if( i2.aPoslist==0 ) break; + assert( out.n<=((i1.aPoslist-p1->p) + (i2.aPoslist-p2->p)+9+10+10) ); } else{ /* Merge the two position lists. */ @@ -211591,19 +215970,24 @@ static void fts5MergePrefixLists( int iOff2 = 0; u8 *a1 = &i1.aPoslist[i1.nSize]; u8 *a2 = &i2.aPoslist[i2.nSize]; + int nCopy; + u8 *aCopy; i64 iPrev = 0; Fts5PoslistWriter writer; memset(&writer, 0, sizeof(writer)); + /* See the earlier comment in this function for an explanation of why + ** corrupt input position lists might cause the output to consume + ** at most 20 bytes of unexpected space. */ fts5MergeAppendDocid(&out, iLastRowid, i2.iRowid); fts5BufferZero(&tmp); - sqlite3Fts5BufferSize(&p->rc, &tmp, i1.nPoslist + i2.nPoslist); + sqlite3Fts5BufferSize(&p->rc, &tmp, i1.nPoslist + i2.nPoslist + 10 + 10); if( p->rc ) break; sqlite3Fts5PoslistNext64(a1, i1.nPoslist, &iOff1, &iPos1); sqlite3Fts5PoslistNext64(a2, i2.nPoslist, &iOff2, &iPos2); - assert( iPos1>=0 && iPos2>=0 ); + assert_nc( iPos1>=0 && iPos2>=0 ); if( iPos1=0 && iPos2>=0 ){ while( 1 ){ if( iPos1=0 && iPos2!=iPrev ); + assert_nc( iPos2>=0 && iPos2!=iPrev ); sqlite3Fts5PoslistSafeAppend(&tmp, &iPrev, iPos2); - fts5BufferSafeAppendBlob(&tmp, &a2[iOff2], i2.nPoslist-iOff2); + aCopy = &a2[iOff2]; + nCopy = i2.nPoslist - iOff2; + } + if( nCopy>0 ){ + fts5BufferSafeAppendBlob(&tmp, aCopy, nCopy); } /* WRITEPOSLISTSIZE */ + assert_nc( tmp.n<=i1.nPoslist+i2.nPoslist ); + assert( tmp.n<=i1.nPoslist+i2.nPoslist+10+10 ); + if( tmp.n>i1.nPoslist+i2.nPoslist ){ + if( p->rc==SQLITE_OK ) p->rc = FTS5_CORRUPT; + break; + } fts5BufferSafeAppendVarint(&out, tmp.n * 2); fts5BufferSafeAppendBlob(&out, tmp.p, tmp.n); fts5DoclistIterNext(&i1); fts5DoclistIterNext(&i2); + assert_nc( out.n<=(p1->n+p2->n+9) ); if( i1.aPoslist==0 || i2.aPoslist==0 ) break; + assert( out.n<=((i1.aPoslist-p1->p) + (i2.aPoslist-p2->p)+9+10+10) ); } } @@ -211658,7 +216054,7 @@ static void fts5MergePrefixLists( fts5MergeAppendDocid(&out, iLastRowid, i2.iRowid); fts5BufferSafeAppendBlob(&out, i2.aPoslist, i2.aEof - i2.aPoslist); } - assert( out.n<=(p1->n+p2->n+9) ); + assert_nc( out.n<=(p1->n+p2->n+9) ); fts5BufferSet(&p->rc, p1, out.n, out.p); fts5BufferFree(&tmp); @@ -211747,7 +216143,7 @@ static void fts5SetupPrefixIter( } fts5MultiIterFree(p1); - pData = fts5IdxMalloc(p, sizeof(Fts5Data) + doclist.n); + pData = fts5IdxMalloc(p, sizeof(Fts5Data)+doclist.n+FTS5_DATA_ZERO_PADDING); if( pData ){ pData->p = (u8*)&pData[1]; pData->nn = pData->szLeaf = doclist.n; @@ -212509,11 +216905,11 @@ static void fts5IndexIntegrityCheckSegment( iOff = fts5LeafFirstTermOff(pLeaf); iRowidOff = fts5LeafFirstRowidOff(pLeaf); - if( iRowidOff>=iOff ){ + if( iRowidOff>=iOff || iOff>=pLeaf->szLeaf ){ p->rc = FTS5_CORRUPT; }else{ iOff += fts5GetVarint32(&pLeaf->p[iOff], nTerm); - res = memcmp(&pLeaf->p[iOff], zIdxTerm, MIN(nTerm, nIdxTerm)); + res = fts5Memcmp(&pLeaf->p[iOff], zIdxTerm, MIN(nTerm, nIdxTerm)); if( res==0 ) res = nTerm - nIdxTerm; if( res<0 ) p->rc = FTS5_CORRUPT; } @@ -212908,7 +217304,7 @@ static void fts5DecodeFunction( u8 *a = 0; Fts5Buffer s; /* Build up text to return here */ int rc = SQLITE_OK; /* Return code */ - int nSpace = 0; + sqlite3_int64 nSpace = 0; int eDetailNone = (sqlite3_user_data(pCtx)!=0); assert( nArg==2 ); @@ -212924,8 +217320,7 @@ static void fts5DecodeFunction( nSpace = n + FTS5_DATA_ZERO_PADDING; a = (u8*)sqlite3Fts5MallocZero(&rc, nSpace); if( a==0 ) goto decode_out; - memcpy(a, aBlob, n); - + if( n>0 ) memcpy(a, aBlob, n); fts5DecodeRowid(iRowid, &iSegid, &bDlidx, &iHeight, &iPgno); @@ -213020,6 +217415,9 @@ static void fts5DecodeFunction( iPgidxOff = szLeaf = fts5GetU16(&a[2]); if( iPgidxOffn ){ + rc = FTS5_CORRUPT; + goto decode_out; } } @@ -213031,14 +217429,22 @@ static void fts5DecodeFunction( }else{ iOff = szLeaf; } + if( iOff>n ){ + rc = FTS5_CORRUPT; + goto decode_out; + } fts5DecodePoslist(&rc, &s, &a[4], iOff-4); /* Decode any more doclist data that appears on the page before the ** first term. */ nDoclist = (iTermOff ? iTermOff : szLeaf) - iOff; + if( nDoclist+iOff>n ){ + rc = FTS5_CORRUPT; + goto decode_out; + } fts5DecodeDoclist(&rc, &s, &a[iOff], nDoclist); - while( iPgidxOffszLeaf ){ + rc = FTS5_CORRUPT; + break; + } if( bFirst==0 ){ iOff += fts5GetVarint32(&a[iOff], nByte); + if( nByte>term.n ){ + rc = FTS5_CORRUPT; + break; + } term.n = nByte; } iOff += fts5GetVarint32(&a[iOff], nByte); + if( iOff+nByte>n ){ + rc = FTS5_CORRUPT; + break; + } fts5BufferAppendBlob(&rc, &term, nByte, &a[iOff]); iOff += nByte; @@ -213182,8 +217600,8 @@ SQLITE_API int sqlite3_fts5_may_be_corrupt = 1; typedef struct Fts5Auxdata Fts5Auxdata; typedef struct Fts5Auxiliary Fts5Auxiliary; typedef struct Fts5Cursor Fts5Cursor; +typedef struct Fts5FullTable Fts5FullTable; typedef struct Fts5Sorter Fts5Sorter; -typedef struct Fts5Table Fts5Table; typedef struct Fts5TokenizerModule Fts5TokenizerModule; /* @@ -213264,13 +217682,8 @@ struct Fts5TokenizerModule { Fts5TokenizerModule *pNext; /* Next registered tokenizer module */ }; -/* -** Virtual-table object. -*/ -struct Fts5Table { - sqlite3_vtab base; /* Base class used by SQLite core */ - Fts5Config *pConfig; /* Virtual table configuration */ - Fts5Index *pIndex; /* Full-text index */ +struct Fts5FullTable { + Fts5Table p; /* Public class members from fts5Int.h */ Fts5Storage *pStorage; /* Document store */ Fts5Global *pGlobal; /* Global (connection wide) data */ Fts5Cursor *pSortCsr; /* Sort data from this cursor */ @@ -213408,7 +217821,7 @@ struct Fts5Auxdata { #define FTS5_SAVEPOINT 5 #define FTS5_RELEASE 6 #define FTS5_ROLLBACKTO 7 -static void fts5CheckTransactionState(Fts5Table *p, int op, int iSavepoint){ +static void fts5CheckTransactionState(Fts5FullTable *p, int op, int iSavepoint){ switch( op ){ case FTS5_BEGIN: assert( p->ts.eState==0 ); @@ -213447,7 +217860,7 @@ static void fts5CheckTransactionState(Fts5Table *p, int op, int iSavepoint){ case FTS5_ROLLBACKTO: assert( p->ts.eState==1 ); - assert( iSavepoint>=0 ); + assert( iSavepoint>=-1 ); assert( iSavepoint<=p->ts.iSavepoint ); p->ts.iSavepoint = iSavepoint; break; @@ -213460,18 +217873,18 @@ static void fts5CheckTransactionState(Fts5Table *p, int op, int iSavepoint){ /* ** Return true if pTab is a contentless table. */ -static int fts5IsContentless(Fts5Table *pTab){ - return pTab->pConfig->eContent==FTS5_CONTENT_NONE; +static int fts5IsContentless(Fts5FullTable *pTab){ + return pTab->p.pConfig->eContent==FTS5_CONTENT_NONE; } /* ** Delete a virtual table handle allocated by fts5InitVtab(). */ -static void fts5FreeVtab(Fts5Table *pTab){ +static void fts5FreeVtab(Fts5FullTable *pTab){ if( pTab ){ - sqlite3Fts5IndexClose(pTab->pIndex); + sqlite3Fts5IndexClose(pTab->p.pIndex); sqlite3Fts5StorageClose(pTab->pStorage); - sqlite3Fts5ConfigFree(pTab->pConfig); + sqlite3Fts5ConfigFree(pTab->p.pConfig); sqlite3_free(pTab); } } @@ -213480,7 +217893,7 @@ static void fts5FreeVtab(Fts5Table *pTab){ ** The xDisconnect() virtual table method. */ static int fts5DisconnectMethod(sqlite3_vtab *pVtab){ - fts5FreeVtab((Fts5Table*)pVtab); + fts5FreeVtab((Fts5FullTable*)pVtab); return SQLITE_OK; } @@ -213491,7 +217904,7 @@ static int fts5DestroyMethod(sqlite3_vtab *pVtab){ Fts5Table *pTab = (Fts5Table*)pVtab; int rc = sqlite3Fts5DropAll(pTab->pConfig); if( rc==SQLITE_OK ){ - fts5FreeVtab((Fts5Table*)pVtab); + fts5FreeVtab((Fts5FullTable*)pVtab); } return rc; } @@ -213520,28 +217933,28 @@ static int fts5InitVtab( const char **azConfig = (const char**)argv; int rc = SQLITE_OK; /* Return code */ Fts5Config *pConfig = 0; /* Results of parsing argc/argv */ - Fts5Table *pTab = 0; /* New virtual table object */ + Fts5FullTable *pTab = 0; /* New virtual table object */ /* Allocate the new vtab object and parse the configuration */ - pTab = (Fts5Table*)sqlite3Fts5MallocZero(&rc, sizeof(Fts5Table)); + pTab = (Fts5FullTable*)sqlite3Fts5MallocZero(&rc, sizeof(Fts5FullTable)); if( rc==SQLITE_OK ){ rc = sqlite3Fts5ConfigParse(pGlobal, db, argc, azConfig, &pConfig, pzErr); assert( (rc==SQLITE_OK && *pzErr==0) || pConfig==0 ); } if( rc==SQLITE_OK ){ - pTab->pConfig = pConfig; + pTab->p.pConfig = pConfig; pTab->pGlobal = pGlobal; } /* Open the index sub-system */ if( rc==SQLITE_OK ){ - rc = sqlite3Fts5IndexOpen(pConfig, bCreate, &pTab->pIndex, pzErr); + rc = sqlite3Fts5IndexOpen(pConfig, bCreate, &pTab->p.pIndex, pzErr); } /* Open the storage sub-system */ if( rc==SQLITE_OK ){ rc = sqlite3Fts5StorageOpen( - pConfig, pTab->pIndex, bCreate, &pTab->pStorage, pzErr + pConfig, pTab->p.pIndex, bCreate, &pTab->pStorage, pzErr ); } @@ -213554,8 +217967,8 @@ static int fts5InitVtab( if( rc==SQLITE_OK ){ assert( pConfig->pzErrmsg==0 ); pConfig->pzErrmsg = pzErr; - rc = sqlite3Fts5IndexLoadConfig(pTab->pIndex); - sqlite3Fts5IndexRollback(pTab->pIndex); + rc = sqlite3Fts5IndexLoadConfig(pTab->p.pIndex); + sqlite3Fts5IndexRollback(pTab->p.pIndex); pConfig->pzErrmsg = 0; } @@ -213624,17 +218037,39 @@ static void fts5SetUniqueFlag(sqlite3_index_info *pIdxInfo){ ** Implementation of the xBestIndex method for FTS5 tables. Within the ** WHERE constraint, it searches for the following: ** -** 1. A MATCH constraint against the special column. +** 1. A MATCH constraint against the table column. ** 2. A MATCH constraint against the "rank" column. -** 3. An == constraint against the rowid column. -** 4. A < or <= constraint against the rowid column. -** 5. A > or >= constraint against the rowid column. +** 3. A MATCH constraint against some other column. +** 4. An == constraint against the rowid column. +** 5. A < or <= constraint against the rowid column. +** 6. A > or >= constraint against the rowid column. ** -** Within the ORDER BY, either: +** Within the ORDER BY, the following are supported: ** ** 5. ORDER BY rank [ASC|DESC] ** 6. ORDER BY rowid [ASC|DESC] ** +** Information for the xFilter call is passed via both the idxNum and +** idxStr variables. Specifically, idxNum is a bitmask of the following +** flags used to encode the ORDER BY clause: +** +** FTS5_BI_ORDER_RANK +** FTS5_BI_ORDER_ROWID +** FTS5_BI_ORDER_DESC +** +** idxStr is used to encode data from the WHERE clause. For each argument +** passed to the xFilter method, the following is appended to idxStr: +** +** Match against table column: "m" +** Match against rank column: "r" +** Match against other column: "" +** Equality constraint against the rowid: "=" +** A < or <= against the rowid: "<" +** A > or >= against the rowid: ">" +** +** This function ensures that there is at most one "r" or "=". And that if +** there exists an "=" then there is no "<" or ">". +** ** Costs are assigned as follows: ** ** a) If an unusable MATCH operator is present in the WHERE clause, the @@ -213662,32 +218097,18 @@ static int fts5BestIndexMethod(sqlite3_vtab *pVTab, sqlite3_index_info *pInfo){ Fts5Config *pConfig = pTab->pConfig; const int nCol = pConfig->nCol; int idxFlags = 0; /* Parameter passed through to xFilter() */ - int bHasMatch; - int iNext; int i; - struct Constraint { - int op; /* Mask against sqlite3_index_constraint.op */ - int fts5op; /* FTS5 mask for idxFlags */ - int iCol; /* 0==rowid, 1==tbl, 2==rank */ - int omit; /* True to omit this if found */ - int iConsIndex; /* Index in pInfo->aConstraint[] */ - } aConstraint[] = { - {SQLITE_INDEX_CONSTRAINT_MATCH|SQLITE_INDEX_CONSTRAINT_EQ, - FTS5_BI_MATCH, 1, 1, -1}, - {SQLITE_INDEX_CONSTRAINT_MATCH|SQLITE_INDEX_CONSTRAINT_EQ, - FTS5_BI_RANK, 2, 1, -1}, - {SQLITE_INDEX_CONSTRAINT_EQ, FTS5_BI_ROWID_EQ, 0, 0, -1}, - {SQLITE_INDEX_CONSTRAINT_LT|SQLITE_INDEX_CONSTRAINT_LE, - FTS5_BI_ROWID_LE, 0, 0, -1}, - {SQLITE_INDEX_CONSTRAINT_GT|SQLITE_INDEX_CONSTRAINT_GE, - FTS5_BI_ROWID_GE, 0, 0, -1}, - }; + char *idxStr; + int iIdxStr = 0; + int iCons = 0; + + int bSeenEq = 0; + int bSeenGt = 0; + int bSeenLt = 0; + int bSeenMatch = 0; + int bSeenRank = 0; - int aColMap[3]; - aColMap[0] = -1; - aColMap[1] = nCol; - aColMap[2] = nCol+1; assert( SQLITE_INDEX_CONSTRAINT_EQbLock ){ + pTab->base.zErrMsg = sqlite3_mprintf( + "recursively defined fts5 content table" + ); + return SQLITE_ERROR; + } + + idxStr = (char*)sqlite3_malloc(pInfo->nConstraint * 6 + 1); + if( idxStr==0 ) return SQLITE_NOMEM; + pInfo->idxStr = idxStr; + pInfo->needToFreeIdxStr = 1; + for(i=0; inConstraint; i++){ struct sqlite3_index_constraint *p = &pInfo->aConstraint[i]; int iCol = p->iColumn; - - if( (p->op==SQLITE_INDEX_CONSTRAINT_MATCH && iCol>=0 && iCol<=nCol) - || (p->op==SQLITE_INDEX_CONSTRAINT_EQ && iCol==nCol) + if( p->op==SQLITE_INDEX_CONSTRAINT_MATCH + || (p->op==SQLITE_INDEX_CONSTRAINT_EQ && iCol>=nCol) ){ /* A MATCH operator or equivalent */ - if( p->usable ){ - idxFlags = (idxFlags & 0xFFFF) | FTS5_BI_MATCH | (iCol << 16); - aConstraint[0].iConsIndex = i; - }else{ + if( p->usable==0 || iCol<0 ){ /* As there exists an unusable MATCH constraint this is an ** unusable plan. Set a prohibitively high cost. */ pInfo->estimatedCost = 1e50; + assert( iIdxStr < pInfo->nConstraint*6 + 1 ); + idxStr[iIdxStr] = 0; return SQLITE_OK; + }else{ + if( iCol==nCol+1 ){ + if( bSeenRank ) continue; + idxStr[iIdxStr++] = 'r'; + bSeenRank = 1; + }else{ + bSeenMatch = 1; + idxStr[iIdxStr++] = 'm'; + if( iColaConstraintUsage[i].argvIndex = ++iCons; + pInfo->aConstraintUsage[i].omit = 1; } - }else if( p->op<=SQLITE_INDEX_CONSTRAINT_MATCH ){ - int j; - for(j=1; jiCol] && (p->op & pC->op) && p->usable ){ - pC->iConsIndex = i; - idxFlags |= pC->fts5op; + } + else if( p->usable && bSeenEq==0 + && p->op==SQLITE_INDEX_CONSTRAINT_EQ && iCol<0 + ){ + idxStr[iIdxStr++] = '='; + bSeenEq = 1; + pInfo->aConstraintUsage[i].argvIndex = ++iCons; + } + } + + if( bSeenEq==0 ){ + for(i=0; inConstraint; i++){ + struct sqlite3_index_constraint *p = &pInfo->aConstraint[i]; + if( p->iColumn<0 && p->usable ){ + int op = p->op; + if( op==SQLITE_INDEX_CONSTRAINT_LT || op==SQLITE_INDEX_CONSTRAINT_LE ){ + if( bSeenLt ) continue; + idxStr[iIdxStr++] = '<'; + pInfo->aConstraintUsage[i].argvIndex = ++iCons; + bSeenLt = 1; + }else + if( op==SQLITE_INDEX_CONSTRAINT_GT || op==SQLITE_INDEX_CONSTRAINT_GE ){ + if( bSeenGt ) continue; + idxStr[iIdxStr++] = '>'; + pInfo->aConstraintUsage[i].argvIndex = ++iCons; + bSeenGt = 1; } } } } + idxStr[iIdxStr] = '\0'; /* Set idxFlags flags for the ORDER BY clause */ if( pInfo->nOrderBy==1 ){ int iSort = pInfo->aOrderBy[0].iColumn; - if( iSort==(pConfig->nCol+1) && BitFlagTest(idxFlags, FTS5_BI_MATCH) ){ + if( iSort==(pConfig->nCol+1) && bSeenMatch ){ idxFlags |= FTS5_BI_ORDER_RANK; }else if( iSort==-1 ){ idxFlags |= FTS5_BI_ORDER_ROWID; @@ -213742,33 +218208,22 @@ static int fts5BestIndexMethod(sqlite3_vtab *pVTab, sqlite3_index_info *pInfo){ } /* Calculate the estimated cost based on the flags set in idxFlags. */ - bHasMatch = BitFlagTest(idxFlags, FTS5_BI_MATCH); - if( BitFlagTest(idxFlags, FTS5_BI_ROWID_EQ) ){ - pInfo->estimatedCost = bHasMatch ? 100.0 : 10.0; - if( bHasMatch==0 ) fts5SetUniqueFlag(pInfo); - }else if( BitFlagAllTest(idxFlags, FTS5_BI_ROWID_LE|FTS5_BI_ROWID_GE) ){ - pInfo->estimatedCost = bHasMatch ? 500.0 : 250000.0; - }else if( BitFlagTest(idxFlags, FTS5_BI_ROWID_LE|FTS5_BI_ROWID_GE) ){ - pInfo->estimatedCost = bHasMatch ? 750.0 : 750000.0; + if( bSeenEq ){ + pInfo->estimatedCost = bSeenMatch ? 100.0 : 10.0; + if( bSeenMatch==0 ) fts5SetUniqueFlag(pInfo); + }else if( bSeenLt && bSeenGt ){ + pInfo->estimatedCost = bSeenMatch ? 500.0 : 250000.0; + }else if( bSeenLt || bSeenGt ){ + pInfo->estimatedCost = bSeenMatch ? 750.0 : 750000.0; }else{ - pInfo->estimatedCost = bHasMatch ? 1000.0 : 1000000.0; - } - - /* Assign argvIndex values to each constraint in use. */ - iNext = 1; - for(i=0; iiConsIndex>=0 ){ - pInfo->aConstraintUsage[pC->iConsIndex].argvIndex = iNext++; - pInfo->aConstraintUsage[pC->iConsIndex].omit = (unsigned char)pC->omit; - } + pInfo->estimatedCost = bSeenMatch ? 1000.0 : 1000000.0; } pInfo->idxNum = idxFlags; return SQLITE_OK; } -static int fts5NewTransaction(Fts5Table *pTab){ +static int fts5NewTransaction(Fts5FullTable *pTab){ Fts5Cursor *pCsr; for(pCsr=pTab->pGlobal->pCsr; pCsr; pCsr=pCsr->pNext){ if( pCsr->base.pVtab==(sqlite3_vtab*)pTab ) return SQLITE_OK; @@ -213780,19 +218235,19 @@ static int fts5NewTransaction(Fts5Table *pTab){ ** Implementation of xOpen method. */ static int fts5OpenMethod(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCsr){ - Fts5Table *pTab = (Fts5Table*)pVTab; - Fts5Config *pConfig = pTab->pConfig; + Fts5FullTable *pTab = (Fts5FullTable*)pVTab; + Fts5Config *pConfig = pTab->p.pConfig; Fts5Cursor *pCsr = 0; /* New cursor object */ - int nByte; /* Bytes of space to allocate */ + sqlite3_int64 nByte; /* Bytes of space to allocate */ int rc; /* Return code */ rc = fts5NewTransaction(pTab); if( rc==SQLITE_OK ){ nByte = sizeof(Fts5Cursor) + pConfig->nCol * sizeof(int); - pCsr = (Fts5Cursor*)sqlite3_malloc(nByte); + pCsr = (Fts5Cursor*)sqlite3_malloc64(nByte); if( pCsr ){ Fts5Global *pGlobal = pTab->pGlobal; - memset(pCsr, 0, nByte); + memset(pCsr, 0, (size_t)nByte); pCsr->aColumnSize = (int*)&pCsr[1]; pCsr->pNext = pGlobal->pCsr; pGlobal->pCsr = pCsr; @@ -213827,7 +218282,7 @@ static void fts5CsrNewrow(Fts5Cursor *pCsr){ } static void fts5FreeCursorComponents(Fts5Cursor *pCsr){ - Fts5Table *pTab = (Fts5Table*)(pCsr->base.pVtab); + Fts5FullTable *pTab = (Fts5FullTable*)(pCsr->base.pVtab); Fts5Auxdata *pData; Fts5Auxdata *pNext; @@ -213871,7 +218326,7 @@ static void fts5FreeCursorComponents(Fts5Cursor *pCsr){ */ static int fts5CloseMethod(sqlite3_vtab_cursor *pCursor){ if( pCursor ){ - Fts5Table *pTab = (Fts5Table*)(pCursor->pVtab); + Fts5FullTable *pTab = (Fts5FullTable*)(pCursor->pVtab); Fts5Cursor *pCsr = (Fts5Cursor*)pCursor; Fts5Cursor **pp; @@ -213928,7 +218383,7 @@ static int fts5SorterNext(Fts5Cursor *pCsr){ ** Set the FTS5CSR_REQUIRE_RESEEK flag on all FTS5_PLAN_MATCH cursors ** open on table pTab. */ -static void fts5TripCursors(Fts5Table *pTab){ +static void fts5TripCursors(Fts5FullTable *pTab){ Fts5Cursor *pCsr; for(pCsr=pTab->pGlobal->pCsr; pCsr; pCsr=pCsr->pNext){ if( pCsr->ePlan==FTS5_PLAN_MATCH @@ -213955,11 +218410,11 @@ static int fts5CursorReseek(Fts5Cursor *pCsr, int *pbSkip){ int rc = SQLITE_OK; assert( *pbSkip==0 ); if( CsrFlagTest(pCsr, FTS5CSR_REQUIRE_RESEEK) ){ - Fts5Table *pTab = (Fts5Table*)(pCsr->base.pVtab); + Fts5FullTable *pTab = (Fts5FullTable*)(pCsr->base.pVtab); int bDesc = pCsr->bDesc; i64 iRowid = sqlite3Fts5ExprRowid(pCsr->pExpr); - rc = sqlite3Fts5ExprFirst(pCsr->pExpr, pTab->pIndex, iRowid, bDesc); + rc = sqlite3Fts5ExprFirst(pCsr->pExpr, pTab->p.pIndex, iRowid, bDesc); if( rc==SQLITE_OK && iRowid!=sqlite3Fts5ExprRowid(pCsr->pExpr) ){ *pbSkip = 1; } @@ -214056,20 +218511,24 @@ static int fts5PrepareStatement( return rc; } -static int fts5CursorFirstSorted(Fts5Table *pTab, Fts5Cursor *pCsr, int bDesc){ - Fts5Config *pConfig = pTab->pConfig; +static int fts5CursorFirstSorted( + Fts5FullTable *pTab, + Fts5Cursor *pCsr, + int bDesc +){ + Fts5Config *pConfig = pTab->p.pConfig; Fts5Sorter *pSorter; int nPhrase; - int nByte; + sqlite3_int64 nByte; int rc; const char *zRank = pCsr->zRank; const char *zRankArgs = pCsr->zRankArgs; nPhrase = sqlite3Fts5ExprPhraseCount(pCsr->pExpr); nByte = sizeof(Fts5Sorter) + sizeof(int) * (nPhrase-1); - pSorter = (Fts5Sorter*)sqlite3_malloc(nByte); + pSorter = (Fts5Sorter*)sqlite3_malloc64(nByte); if( pSorter==0 ) return SQLITE_NOMEM; - memset(pSorter, 0, nByte); + memset(pSorter, 0, (size_t)nByte); pSorter->nIdx = nPhrase; /* TODO: It would be better to have some system for reusing statement @@ -214080,7 +218539,7 @@ static int fts5CursorFirstSorted(Fts5Table *pTab, Fts5Cursor *pCsr, int bDesc){ ** ** If SQLite a built-in statement cache, this wouldn't be a problem. */ rc = fts5PrepareStatement(&pSorter->pStmt, pConfig, - "SELECT rowid, rank FROM %Q.%Q ORDER BY %s(%s%s%s) %s", + "SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s", pConfig->zDb, pConfig->zName, zRank, pConfig->zName, (zRankArgs ? ", " : ""), (zRankArgs ? zRankArgs : ""), @@ -214104,10 +218563,10 @@ static int fts5CursorFirstSorted(Fts5Table *pTab, Fts5Cursor *pCsr, int bDesc){ return rc; } -static int fts5CursorFirst(Fts5Table *pTab, Fts5Cursor *pCsr, int bDesc){ +static int fts5CursorFirst(Fts5FullTable *pTab, Fts5Cursor *pCsr, int bDesc){ int rc; Fts5Expr *pExpr = pCsr->pExpr; - rc = sqlite3Fts5ExprFirst(pExpr, pTab->pIndex, pCsr->iFirstRowid, bDesc); + rc = sqlite3Fts5ExprFirst(pExpr, pTab->p.pIndex, pCsr->iFirstRowid, bDesc); if( sqlite3Fts5ExprEof(pExpr) ){ CsrFlagSet(pCsr, FTS5CSR_EOF); } @@ -214122,7 +218581,7 @@ static int fts5CursorFirst(Fts5Table *pTab, Fts5Cursor *pCsr, int bDesc){ ** parameters. */ static int fts5SpecialMatch( - Fts5Table *pTab, + Fts5FullTable *pTab, Fts5Cursor *pCsr, const char *zQuery ){ @@ -214133,18 +218592,18 @@ static int fts5SpecialMatch( while( z[0]==' ' ) z++; for(n=0; z[n] && z[n]!=' '; n++); - assert( pTab->base.zErrMsg==0 ); + assert( pTab->p.base.zErrMsg==0 ); pCsr->ePlan = FTS5_PLAN_SPECIAL; - if( 0==sqlite3_strnicmp("reads", z, n) ){ - pCsr->iSpecial = sqlite3Fts5IndexReads(pTab->pIndex); + if( n==5 && 0==sqlite3_strnicmp("reads", z, n) ){ + pCsr->iSpecial = sqlite3Fts5IndexReads(pTab->p.pIndex); } - else if( 0==sqlite3_strnicmp("id", z, n) ){ + else if( n==2 && 0==sqlite3_strnicmp("id", z, n) ){ pCsr->iSpecial = pCsr->iCsrId; } else{ /* An unrecognized directive. Return an error message. */ - pTab->base.zErrMsg = sqlite3_mprintf("unknown special query: %.*s", n, z); + pTab->p.base.zErrMsg = sqlite3_mprintf("unknown special query: %.*s", n, z); rc = SQLITE_ERROR; } @@ -214156,7 +218615,7 @@ static int fts5SpecialMatch( ** pTab. If one is found, return a pointer to the corresponding Fts5Auxiliary ** structure. Otherwise, if no such function exists, return NULL. */ -static Fts5Auxiliary *fts5FindAuxiliary(Fts5Table *pTab, const char *zName){ +static Fts5Auxiliary *fts5FindAuxiliary(Fts5FullTable *pTab, const char *zName){ Fts5Auxiliary *pAux; for(pAux=pTab->pGlobal->pAux; pAux; pAux=pAux->pNext){ @@ -214169,8 +218628,8 @@ static Fts5Auxiliary *fts5FindAuxiliary(Fts5Table *pTab, const char *zName){ static int fts5FindRankFunction(Fts5Cursor *pCsr){ - Fts5Table *pTab = (Fts5Table*)(pCsr->base.pVtab); - Fts5Config *pConfig = pTab->pConfig; + Fts5FullTable *pTab = (Fts5FullTable*)(pCsr->base.pVtab); + Fts5Config *pConfig = pTab->p.pConfig; int rc = SQLITE_OK; Fts5Auxiliary *pAux = 0; const char *zRank = pCsr->zRank; @@ -214186,7 +218645,7 @@ static int fts5FindRankFunction(Fts5Cursor *pCsr){ assert( rc==SQLITE_OK || pCsr->pRankArgStmt==0 ); if( rc==SQLITE_OK ){ if( SQLITE_ROW==sqlite3_step(pStmt) ){ - int nByte; + sqlite3_int64 nByte; pCsr->nRankArg = sqlite3_column_count(pStmt); nByte = sizeof(sqlite3_value*)*pCsr->nRankArg; pCsr->apRankArg = (sqlite3_value**)sqlite3Fts5MallocZero(&rc, nByte); @@ -214208,8 +218667,8 @@ static int fts5FindRankFunction(Fts5Cursor *pCsr){ if( rc==SQLITE_OK ){ pAux = fts5FindAuxiliary(pTab, zRank); if( pAux==0 ){ - assert( pTab->base.zErrMsg==0 ); - pTab->base.zErrMsg = sqlite3_mprintf("no such function: %s", zRank); + assert( pTab->p.base.zErrMsg==0 ); + pTab->p.base.zErrMsg = sqlite3_mprintf("no such function: %s", zRank); rc = SQLITE_ERROR; } } @@ -214280,27 +218739,25 @@ static i64 fts5GetRowidLimit(sqlite3_value *pVal, i64 iDefault){ static int fts5FilterMethod( sqlite3_vtab_cursor *pCursor, /* The cursor used for this query */ int idxNum, /* Strategy index */ - const char *zUnused, /* Unused */ + const char *idxStr, /* Unused */ int nVal, /* Number of elements in apVal */ sqlite3_value **apVal /* Arguments for the indexing scheme */ ){ - Fts5Table *pTab = (Fts5Table*)(pCursor->pVtab); - Fts5Config *pConfig = pTab->pConfig; + Fts5FullTable *pTab = (Fts5FullTable*)(pCursor->pVtab); + Fts5Config *pConfig = pTab->p.pConfig; Fts5Cursor *pCsr = (Fts5Cursor*)pCursor; int rc = SQLITE_OK; /* Error code */ - int iVal = 0; /* Counter for apVal[] */ int bDesc; /* True if ORDER BY [rank|rowid] DESC */ int bOrderByRank; /* True if ORDER BY rank */ - sqlite3_value *pMatch = 0; /* MATCH ? expression (or NULL) */ sqlite3_value *pRank = 0; /* rank MATCH ? expression (or NULL) */ sqlite3_value *pRowidEq = 0; /* rowid = ? expression (or NULL) */ sqlite3_value *pRowidLe = 0; /* rowid <= ? expression (or NULL) */ sqlite3_value *pRowidGe = 0; /* rowid >= ? expression (or NULL) */ int iCol; /* Column on LHS of MATCH operator */ char **pzErrmsg = pConfig->pzErrmsg; - - UNUSED_PARAM(zUnused); - UNUSED_PARAM(nVal); + int i; + int iIdxStr = 0; + Fts5Expr *pExpr = 0; if( pCsr->ePlan ){ fts5FreeCursorComponents(pCsr); @@ -214313,23 +218770,60 @@ static int fts5FilterMethod( assert( pCsr->pRank==0 ); assert( pCsr->zRank==0 ); assert( pCsr->zRankArgs==0 ); + assert( pTab->pSortCsr==0 || nVal==0 ); - assert( pzErrmsg==0 || pzErrmsg==&pTab->base.zErrMsg ); - pConfig->pzErrmsg = &pTab->base.zErrMsg; + assert( pzErrmsg==0 || pzErrmsg==&pTab->p.base.zErrMsg ); + pConfig->pzErrmsg = &pTab->p.base.zErrMsg; - /* Decode the arguments passed through to this function. - ** - ** Note: The following set of if(...) statements must be in the same - ** order as the corresponding entries in the struct at the top of - ** fts5BestIndexMethod(). */ - if( BitFlagTest(idxNum, FTS5_BI_MATCH) ) pMatch = apVal[iVal++]; - if( BitFlagTest(idxNum, FTS5_BI_RANK) ) pRank = apVal[iVal++]; - if( BitFlagTest(idxNum, FTS5_BI_ROWID_EQ) ) pRowidEq = apVal[iVal++]; - if( BitFlagTest(idxNum, FTS5_BI_ROWID_LE) ) pRowidLe = apVal[iVal++]; - if( BitFlagTest(idxNum, FTS5_BI_ROWID_GE) ) pRowidGe = apVal[iVal++]; - iCol = (idxNum>>16); - assert( iCol>=0 && iCol<=pConfig->nCol ); - assert( iVal==nVal ); + /* Decode the arguments passed through to this function. */ + for(i=0; i='0' && idxStr[iIdxStr]<='9' ){ + iCol = 0; + do{ + iCol = iCol*10 + (idxStr[iIdxStr]-'0'); + iIdxStr++; + }while( idxStr[iIdxStr]>='0' && idxStr[iIdxStr]<='9' ); + }else{ + iCol = pConfig->nCol; + } + + if( zText[0]=='*' ){ + /* The user has issued a query of the form "MATCH '*...'". This + ** indicates that the MATCH expression is not a full text query, + ** but a request for an internal parameter. */ + rc = fts5SpecialMatch(pTab, pCsr, &zText[1]); + goto filter_out; + }else{ + char **pzErr = &pTab->p.base.zErrMsg; + rc = sqlite3Fts5ExprNew(pConfig, iCol, zText, &pExpr, pzErr); + if( rc==SQLITE_OK ){ + rc = sqlite3Fts5ExprAnd(&pCsr->pExpr, pExpr); + pExpr = 0; + } + if( rc!=SQLITE_OK ) goto filter_out; + } + + break; + } + case '=': + pRowidEq = apVal[i]; + break; + case '<': + pRowidLe = apVal[i]; + break; + default: assert( idxStr[iIdxStr-1]=='>' ); + pRowidGe = apVal[i]; + break; + } + } bOrderByRank = ((idxNum & FTS5_BI_ORDER_RANK) ? 1 : 0); pCsr->bDesc = bDesc = ((idxNum & FTS5_BI_ORDER_DESC) ? 1 : 0); @@ -214356,7 +218850,7 @@ static int fts5FilterMethod( ** (pCursor) is used to execute the query issued by function ** fts5CursorFirstSorted() above. */ assert( pRowidEq==0 && pRowidLe==0 && pRowidGe==0 && pRank==0 ); - assert( nVal==0 && pMatch==0 && bOrderByRank==0 && bDesc==0 ); + assert( nVal==0 && bOrderByRank==0 && bDesc==0 ); assert( pCsr->iLastRowid==LARGEST_INT64 ); assert( pCsr->iFirstRowid==SMALLEST_INT64 ); if( pTab->pSortCsr->bDesc ){ @@ -214369,29 +218863,15 @@ static int fts5FilterMethod( pCsr->ePlan = FTS5_PLAN_SOURCE; pCsr->pExpr = pTab->pSortCsr->pExpr; rc = fts5CursorFirst(pTab, pCsr, bDesc); - }else if( pMatch ){ - const char *zExpr = (const char*)sqlite3_value_text(apVal[0]); - if( zExpr==0 ) zExpr = ""; - + }else if( pCsr->pExpr ){ rc = fts5CursorParseRank(pConfig, pCsr, pRank); if( rc==SQLITE_OK ){ - if( zExpr[0]=='*' ){ - /* The user has issued a query of the form "MATCH '*...'". This - ** indicates that the MATCH expression is not a full text query, - ** but a request for an internal parameter. */ - rc = fts5SpecialMatch(pTab, pCsr, &zExpr[1]); + if( bOrderByRank ){ + pCsr->ePlan = FTS5_PLAN_SORTED_MATCH; + rc = fts5CursorFirstSorted(pTab, pCsr, bDesc); }else{ - char **pzErr = &pTab->base.zErrMsg; - rc = sqlite3Fts5ExprNew(pConfig, iCol, zExpr, &pCsr->pExpr, pzErr); - if( rc==SQLITE_OK ){ - if( bOrderByRank ){ - pCsr->ePlan = FTS5_PLAN_SORTED_MATCH; - rc = fts5CursorFirstSorted(pTab, pCsr, bDesc); - }else{ - pCsr->ePlan = FTS5_PLAN_MATCH; - rc = fts5CursorFirst(pTab, pCsr, bDesc); - } - } + pCsr->ePlan = FTS5_PLAN_MATCH; + rc = fts5CursorFirst(pTab, pCsr, bDesc); } } }else if( pConfig->zContent==0 ){ @@ -214404,11 +218884,11 @@ static int fts5FilterMethod( ** by rowid (ePlan==FTS5_PLAN_ROWID). */ pCsr->ePlan = (pRowidEq ? FTS5_PLAN_ROWID : FTS5_PLAN_SCAN); rc = sqlite3Fts5StorageStmt( - pTab->pStorage, fts5StmtType(pCsr), &pCsr->pStmt, &pTab->base.zErrMsg + pTab->pStorage, fts5StmtType(pCsr), &pCsr->pStmt, &pTab->p.base.zErrMsg ); if( rc==SQLITE_OK ){ if( pCsr->ePlan==FTS5_PLAN_ROWID ){ - sqlite3_bind_value(pCsr->pStmt, 1, apVal[0]); + sqlite3_bind_value(pCsr->pStmt, 1, pRowidEq); }else{ sqlite3_bind_int64(pCsr->pStmt, 1, pCsr->iFirstRowid); sqlite3_bind_int64(pCsr->pStmt, 2, pCsr->iLastRowid); @@ -214417,6 +218897,8 @@ static int fts5FilterMethod( } } + filter_out: + sqlite3Fts5ExprFree(pExpr); pConfig->pzErrmsg = pzErrmsg; return rc; } @@ -214487,12 +218969,12 @@ static int fts5SeekCursor(Fts5Cursor *pCsr, int bErrormsg){ /* If the cursor does not yet have a statement handle, obtain one now. */ if( pCsr->pStmt==0 ){ - Fts5Table *pTab = (Fts5Table*)(pCsr->base.pVtab); + Fts5FullTable *pTab = (Fts5FullTable*)(pCsr->base.pVtab); int eStmt = fts5StmtType(pCsr); rc = sqlite3Fts5StorageStmt( - pTab->pStorage, eStmt, &pCsr->pStmt, (bErrormsg?&pTab->base.zErrMsg:0) + pTab->pStorage, eStmt, &pCsr->pStmt, (bErrormsg?&pTab->p.base.zErrMsg:0) ); - assert( rc!=SQLITE_OK || pTab->base.zErrMsg==0 ); + assert( rc!=SQLITE_OK || pTab->p.base.zErrMsg==0 ); assert( CsrFlagTest(pCsr, FTS5CSR_REQUIRE_CONTENT) ); } @@ -214514,11 +218996,11 @@ static int fts5SeekCursor(Fts5Cursor *pCsr, int bErrormsg){ return rc; } -static void fts5SetVtabError(Fts5Table *p, const char *zFormat, ...){ +static void fts5SetVtabError(Fts5FullTable *p, const char *zFormat, ...){ va_list ap; /* ... printf arguments */ va_start(ap, zFormat); - assert( p->base.zErrMsg==0 ); - p->base.zErrMsg = sqlite3_vmprintf(zFormat, ap); + assert( p->p.base.zErrMsg==0 ); + p->p.base.zErrMsg = sqlite3_vmprintf(zFormat, ap); va_end(ap); } @@ -214538,11 +219020,11 @@ static void fts5SetVtabError(Fts5Table *p, const char *zFormat, ...){ ** more commands are added to this function. */ static int fts5SpecialInsert( - Fts5Table *pTab, /* Fts5 table object */ + Fts5FullTable *pTab, /* Fts5 table object */ const char *zCmd, /* Text inserted into table-name column */ sqlite3_value *pVal /* Value inserted into rank column */ ){ - Fts5Config *pConfig = pTab->pConfig; + Fts5Config *pConfig = pTab->p.pConfig; int rc = SQLITE_OK; int bError = 0; @@ -214577,9 +219059,9 @@ static int fts5SpecialInsert( pConfig->bPrefixIndex = sqlite3_value_int(pVal); #endif }else{ - rc = sqlite3Fts5IndexLoadConfig(pTab->pIndex); + rc = sqlite3Fts5IndexLoadConfig(pTab->p.pIndex); if( rc==SQLITE_OK ){ - rc = sqlite3Fts5ConfigSetValue(pTab->pConfig, zCmd, pVal, &bError); + rc = sqlite3Fts5ConfigSetValue(pTab->p.pConfig, zCmd, pVal, &bError); } if( rc==SQLITE_OK ){ if( bError ){ @@ -214593,7 +219075,7 @@ static int fts5SpecialInsert( } static int fts5SpecialDelete( - Fts5Table *pTab, + Fts5FullTable *pTab, sqlite3_value **apVal ){ int rc = SQLITE_OK; @@ -214607,7 +219089,7 @@ static int fts5SpecialDelete( static void fts5StorageInsert( int *pRc, - Fts5Table *pTab, + Fts5FullTable *pTab, sqlite3_value **apVal, i64 *piRowid ){ @@ -214641,8 +219123,8 @@ static int fts5UpdateMethod( sqlite3_value **apVal, /* Array of arguments */ sqlite_int64 *pRowid /* OUT: The affected (or effected) rowid */ ){ - Fts5Table *pTab = (Fts5Table*)pVtab; - Fts5Config *pConfig = pTab->pConfig; + Fts5FullTable *pTab = (Fts5FullTable*)pVtab; + Fts5Config *pConfig = pTab->p.pConfig; int eType0; /* value_type() of apVal[0] */ int rc = SQLITE_OK; /* Return code */ @@ -214651,12 +219133,11 @@ static int fts5UpdateMethod( assert( pVtab->zErrMsg==0 ); assert( nArg==1 || nArg==(2+pConfig->nCol+2) ); - assert( nArg==1 - || sqlite3_value_type(apVal[1])==SQLITE_INTEGER - || sqlite3_value_type(apVal[1])==SQLITE_NULL + assert( sqlite3_value_type(apVal[0])==SQLITE_INTEGER + || sqlite3_value_type(apVal[0])==SQLITE_NULL ); - assert( pTab->pConfig->pzErrmsg==0 ); - pTab->pConfig->pzErrmsg = &pTab->base.zErrMsg; + assert( pTab->p.pConfig->pzErrmsg==0 ); + pTab->p.pConfig->pzErrmsg = &pTab->p.base.zErrMsg; /* Put any active cursors into REQUIRE_SEEK state. */ fts5TripCursors(pTab); @@ -214697,7 +219178,7 @@ static int fts5UpdateMethod( /* Filter out attempts to run UPDATE or DELETE on contentless tables. ** This is not suported. */ if( eType0==SQLITE_INTEGER && fts5IsContentless(pTab) ){ - pTab->base.zErrMsg = sqlite3_mprintf( + pTab->p.base.zErrMsg = sqlite3_mprintf( "cannot %s contentless fts5 table: %s", (nArg>1 ? "UPDATE" : "DELETE from"), pConfig->zName ); @@ -214710,46 +219191,52 @@ static int fts5UpdateMethod( rc = sqlite3Fts5StorageDelete(pTab->pStorage, iDel, 0); } - /* INSERT */ - else if( eType0!=SQLITE_INTEGER ){ - /* If this is a REPLACE, first remove the current entry (if any) */ - if( eConflict==SQLITE_REPLACE - && sqlite3_value_type(apVal[1])==SQLITE_INTEGER - ){ - i64 iNew = sqlite3_value_int64(apVal[1]); /* Rowid to delete */ - rc = sqlite3Fts5StorageDelete(pTab->pStorage, iNew, 0); + /* INSERT or UPDATE */ + else{ + int eType1 = sqlite3_value_numeric_type(apVal[1]); + + if( eType1!=SQLITE_INTEGER && eType1!=SQLITE_NULL ){ + rc = SQLITE_MISMATCH; } - fts5StorageInsert(&rc, pTab, apVal, pRowid); - } - /* UPDATE */ - else{ - i64 iOld = sqlite3_value_int64(apVal[0]); /* Old rowid */ - i64 iNew = sqlite3_value_int64(apVal[1]); /* New rowid */ - if( iOld!=iNew ){ - if( eConflict==SQLITE_REPLACE ){ - rc = sqlite3Fts5StorageDelete(pTab->pStorage, iOld, 0); - if( rc==SQLITE_OK ){ - rc = sqlite3Fts5StorageDelete(pTab->pStorage, iNew, 0); - } - fts5StorageInsert(&rc, pTab, apVal, pRowid); - }else{ - rc = sqlite3Fts5StorageContentInsert(pTab->pStorage, apVal, pRowid); - if( rc==SQLITE_OK ){ + else if( eType0!=SQLITE_INTEGER ){ + /* If this is a REPLACE, first remove the current entry (if any) */ + if( eConflict==SQLITE_REPLACE && eType1==SQLITE_INTEGER ){ + i64 iNew = sqlite3_value_int64(apVal[1]); /* Rowid to delete */ + rc = sqlite3Fts5StorageDelete(pTab->pStorage, iNew, 0); + } + fts5StorageInsert(&rc, pTab, apVal, pRowid); + } + + /* UPDATE */ + else{ + i64 iOld = sqlite3_value_int64(apVal[0]); /* Old rowid */ + i64 iNew = sqlite3_value_int64(apVal[1]); /* New rowid */ + if( eType1==SQLITE_INTEGER && iOld!=iNew ){ + if( eConflict==SQLITE_REPLACE ){ rc = sqlite3Fts5StorageDelete(pTab->pStorage, iOld, 0); + if( rc==SQLITE_OK ){ + rc = sqlite3Fts5StorageDelete(pTab->pStorage, iNew, 0); + } + fts5StorageInsert(&rc, pTab, apVal, pRowid); + }else{ + rc = sqlite3Fts5StorageContentInsert(pTab->pStorage, apVal, pRowid); + if( rc==SQLITE_OK ){ + rc = sqlite3Fts5StorageDelete(pTab->pStorage, iOld, 0); + } + if( rc==SQLITE_OK ){ + rc = sqlite3Fts5StorageIndexInsert(pTab->pStorage, apVal,*pRowid); + } } - if( rc==SQLITE_OK ){ - rc = sqlite3Fts5StorageIndexInsert(pTab->pStorage, apVal, *pRowid); - } + }else{ + rc = sqlite3Fts5StorageDelete(pTab->pStorage, iOld, 0); + fts5StorageInsert(&rc, pTab, apVal, pRowid); } - }else{ - rc = sqlite3Fts5StorageDelete(pTab->pStorage, iOld, 0); - fts5StorageInsert(&rc, pTab, apVal, pRowid); } } } - pTab->pConfig->pzErrmsg = 0; + pTab->p.pConfig->pzErrmsg = 0; return rc; } @@ -214758,12 +219245,12 @@ static int fts5UpdateMethod( */ static int fts5SyncMethod(sqlite3_vtab *pVtab){ int rc; - Fts5Table *pTab = (Fts5Table*)pVtab; + Fts5FullTable *pTab = (Fts5FullTable*)pVtab; fts5CheckTransactionState(pTab, FTS5_SYNC, 0); - pTab->pConfig->pzErrmsg = &pTab->base.zErrMsg; + pTab->p.pConfig->pzErrmsg = &pTab->p.base.zErrMsg; fts5TripCursors(pTab); rc = sqlite3Fts5StorageSync(pTab->pStorage); - pTab->pConfig->pzErrmsg = 0; + pTab->p.pConfig->pzErrmsg = 0; return rc; } @@ -214771,8 +219258,8 @@ static int fts5SyncMethod(sqlite3_vtab *pVtab){ ** Implementation of xBegin() method. */ static int fts5BeginMethod(sqlite3_vtab *pVtab){ - fts5CheckTransactionState((Fts5Table*)pVtab, FTS5_BEGIN, 0); - fts5NewTransaction((Fts5Table*)pVtab); + fts5CheckTransactionState((Fts5FullTable*)pVtab, FTS5_BEGIN, 0); + fts5NewTransaction((Fts5FullTable*)pVtab); return SQLITE_OK; } @@ -214783,7 +219270,7 @@ static int fts5BeginMethod(sqlite3_vtab *pVtab){ */ static int fts5CommitMethod(sqlite3_vtab *pVtab){ UNUSED_PARAM(pVtab); /* Call below is a no-op for NDEBUG builds */ - fts5CheckTransactionState((Fts5Table*)pVtab, FTS5_COMMIT, 0); + fts5CheckTransactionState((Fts5FullTable*)pVtab, FTS5_COMMIT, 0); return SQLITE_OK; } @@ -214793,7 +219280,7 @@ static int fts5CommitMethod(sqlite3_vtab *pVtab){ */ static int fts5RollbackMethod(sqlite3_vtab *pVtab){ int rc; - Fts5Table *pTab = (Fts5Table*)pVtab; + Fts5FullTable *pTab = (Fts5FullTable*)pVtab; fts5CheckTransactionState(pTab, FTS5_ROLLBACK, 0); rc = sqlite3Fts5StorageRollback(pTab->pStorage); return rc; @@ -214817,13 +219304,13 @@ static int fts5ApiColumnTotalSize( sqlite3_int64 *pnToken ){ Fts5Cursor *pCsr = (Fts5Cursor*)pCtx; - Fts5Table *pTab = (Fts5Table*)(pCsr->base.pVtab); + Fts5FullTable *pTab = (Fts5FullTable*)(pCsr->base.pVtab); return sqlite3Fts5StorageSize(pTab->pStorage, iCol, pnToken); } static int fts5ApiRowCount(Fts5Context *pCtx, i64 *pnRow){ Fts5Cursor *pCsr = (Fts5Cursor*)pCtx; - Fts5Table *pTab = (Fts5Table*)(pCsr->base.pVtab); + Fts5FullTable *pTab = (Fts5FullTable*)(pCsr->base.pVtab); return sqlite3Fts5StorageRowCount(pTab->pStorage, pnRow); } @@ -214858,7 +219345,9 @@ static int fts5ApiColumnText( ){ int rc = SQLITE_OK; Fts5Cursor *pCsr = (Fts5Cursor*)pCtx; - if( fts5IsContentless((Fts5Table*)(pCsr->base.pVtab)) ){ + if( fts5IsContentless((Fts5FullTable*)(pCsr->base.pVtab)) + || pCsr->ePlan==FTS5_PLAN_SPECIAL + ){ *pz = 0; *pn = 0; }else{ @@ -214927,10 +219416,11 @@ static int fts5CacheInstArray(Fts5Cursor *pCsr){ int rc = SQLITE_OK; Fts5PoslistReader *aIter; /* One iterator for each phrase */ int nIter; /* Number of iterators/phrases */ + int nCol = ((Fts5Table*)pCsr->base.pVtab)->pConfig->nCol; nIter = sqlite3Fts5ExprPhraseCount(pCsr->pExpr); if( pCsr->aInstIter==0 ){ - int nByte = sizeof(Fts5PoslistReader) * nIter; + sqlite3_int64 nByte = sizeof(Fts5PoslistReader) * nIter; pCsr->aInstIter = (Fts5PoslistReader*)sqlite3Fts5MallocZero(&rc, nByte); } aIter = pCsr->aInstIter; @@ -214965,7 +219455,7 @@ static int fts5CacheInstArray(Fts5Cursor *pCsr){ nInst++; if( nInst>=pCsr->nInstAlloc ){ pCsr->nInstAlloc = pCsr->nInstAlloc ? pCsr->nInstAlloc*2 : 32; - aInst = (int*)sqlite3_realloc( + aInst = (int*)sqlite3_realloc64( pCsr->aInst, pCsr->nInstAlloc*sizeof(int)*3 ); if( aInst ){ @@ -214980,6 +219470,10 @@ static int fts5CacheInstArray(Fts5Cursor *pCsr){ aInst[0] = iBest; aInst[1] = FTS5_POS2COLUMN(aIter[iBest].iPos); aInst[2] = FTS5_POS2OFFSET(aIter[iBest].iPos); + if( aInst[1]<0 || aInst[1]>=nCol ){ + rc = FTS5_CORRUPT; + break; + } sqlite3Fts5PoslistReaderNext(&aIter[iBest]); } } @@ -215052,8 +219546,8 @@ static int fts5ColumnSizeCb( static int fts5ApiColumnSize(Fts5Context *pCtx, int iCol, int *pnToken){ Fts5Cursor *pCsr = (Fts5Cursor*)pCtx; - Fts5Table *pTab = (Fts5Table*)(pCsr->base.pVtab); - Fts5Config *pConfig = pTab->pConfig; + Fts5FullTable *pTab = (Fts5FullTable*)(pCsr->base.pVtab); + Fts5Config *pConfig = pTab->p.pConfig; int rc = SQLITE_OK; if( CsrFlagTest(pCsr, FTS5CSR_REQUIRE_DOCSIZE) ){ @@ -215309,7 +219803,7 @@ static int fts5ApiQueryPhrase( int(*xCallback)(const Fts5ExtensionApi*, Fts5Context*, void*) ){ Fts5Cursor *pCsr = (Fts5Cursor*)pCtx; - Fts5Table *pTab = (Fts5Table*)(pCsr->base.pVtab); + Fts5FullTable *pTab = (Fts5FullTable*)(pCsr->base.pVtab); int rc; Fts5Cursor *pNew = 0; @@ -215375,7 +219869,7 @@ static void fts5ApiCallback( iCsrId = sqlite3_value_int64(argv[0]); pCsr = fts5CursorFromCsrid(pAux->pGlobal, iCsrId); - if( pCsr==0 ){ + if( pCsr==0 || pCsr->ePlan==0 ){ char *zErr = sqlite3_mprintf("no such cursor: %lld", iCsrId); sqlite3_result_error(context, zErr, -1); sqlite3_free(zErr); @@ -215386,25 +219880,19 @@ static void fts5ApiCallback( /* -** Given cursor id iId, return a pointer to the corresponding Fts5Index +** Given cursor id iId, return a pointer to the corresponding Fts5Table ** object. Or NULL If the cursor id does not exist. -** -** If successful, set *ppConfig to point to the associated config object -** before returning. */ -static Fts5Index *sqlite3Fts5IndexFromCsrid( +static Fts5Table *sqlite3Fts5TableFromCsrid( Fts5Global *pGlobal, /* FTS5 global context for db handle */ - i64 iCsrId, /* Id of cursor to find */ - Fts5Config **ppConfig /* OUT: Configuration object */ + i64 iCsrId /* Id of cursor to find */ ){ Fts5Cursor *pCsr; - Fts5Table *pTab; - pCsr = fts5CursorFromCsrid(pGlobal, iCsrId); - pTab = (Fts5Table*)pCsr->base.pVtab; - *ppConfig = pTab->pConfig; - - return pTab->pIndex; + if( pCsr ){ + return (Fts5Table*)pCsr->base.pVtab; + } + return 0; } /* @@ -215484,8 +219972,8 @@ static int fts5ColumnMethod( sqlite3_context *pCtx, /* Context for sqlite3_result_xxx() calls */ int iCol /* Index of column to read value from */ ){ - Fts5Table *pTab = (Fts5Table*)(pCursor->pVtab); - Fts5Config *pConfig = pTab->pConfig; + Fts5FullTable *pTab = (Fts5FullTable*)(pCursor->pVtab); + Fts5Config *pConfig = pTab->p.pConfig; Fts5Cursor *pCsr = (Fts5Cursor*)pCursor; int rc = SQLITE_OK; @@ -215537,7 +220025,7 @@ static int fts5FindFunctionMethod( void (**pxFunc)(sqlite3_context*,int,sqlite3_value**), /* OUT: Result */ void **ppArg /* OUT: User data for *pxFunc */ ){ - Fts5Table *pTab = (Fts5Table*)pVtab; + Fts5FullTable *pTab = (Fts5FullTable*)pVtab; Fts5Auxiliary *pAux; UNUSED_PARAM(nUnused); @@ -215559,21 +220047,24 @@ static int fts5RenameMethod( sqlite3_vtab *pVtab, /* Virtual table handle */ const char *zName /* New name of table */ ){ - Fts5Table *pTab = (Fts5Table*)pVtab; + Fts5FullTable *pTab = (Fts5FullTable*)pVtab; return sqlite3Fts5StorageRename(pTab->pStorage, zName); } +static int sqlite3Fts5FlushToDisk(Fts5Table *pTab){ + fts5TripCursors((Fts5FullTable*)pTab); + return sqlite3Fts5StorageSync(((Fts5FullTable*)pTab)->pStorage); +} + /* ** The xSavepoint() method. ** ** Flush the contents of the pending-terms table to disk. */ static int fts5SavepointMethod(sqlite3_vtab *pVtab, int iSavepoint){ - Fts5Table *pTab = (Fts5Table*)pVtab; UNUSED_PARAM(iSavepoint); /* Call below is a no-op for NDEBUG builds */ - fts5CheckTransactionState(pTab, FTS5_SAVEPOINT, iSavepoint); - fts5TripCursors(pTab); - return sqlite3Fts5StorageSync(pTab->pStorage); + fts5CheckTransactionState((Fts5FullTable*)pVtab, FTS5_SAVEPOINT, iSavepoint); + return sqlite3Fts5FlushToDisk((Fts5Table*)pVtab); } /* @@ -215582,11 +220073,9 @@ static int fts5SavepointMethod(sqlite3_vtab *pVtab, int iSavepoint){ ** This is a no-op. */ static int fts5ReleaseMethod(sqlite3_vtab *pVtab, int iSavepoint){ - Fts5Table *pTab = (Fts5Table*)pVtab; UNUSED_PARAM(iSavepoint); /* Call below is a no-op for NDEBUG builds */ - fts5CheckTransactionState(pTab, FTS5_RELEASE, iSavepoint); - fts5TripCursors(pTab); - return sqlite3Fts5StorageSync(pTab->pStorage); + fts5CheckTransactionState((Fts5FullTable*)pVtab, FTS5_RELEASE, iSavepoint); + return sqlite3Fts5FlushToDisk((Fts5Table*)pVtab); } /* @@ -215595,7 +220084,7 @@ static int fts5ReleaseMethod(sqlite3_vtab *pVtab, int iSavepoint){ ** Discard the contents of the pending terms table. */ static int fts5RollbackToMethod(sqlite3_vtab *pVtab, int iSavepoint){ - Fts5Table *pTab = (Fts5Table*)pVtab; + Fts5FullTable *pTab = (Fts5FullTable*)pVtab; UNUSED_PARAM(iSavepoint); /* Call below is a no-op for NDEBUG builds */ fts5CheckTransactionState(pTab, FTS5_ROLLBACKTO, iSavepoint); fts5TripCursors(pTab); @@ -215616,14 +220105,14 @@ static int fts5CreateAux( int rc = sqlite3_overload_function(pGlobal->db, zName, -1); if( rc==SQLITE_OK ){ Fts5Auxiliary *pAux; - int nName; /* Size of zName in bytes, including \0 */ - int nByte; /* Bytes of space to allocate */ + sqlite3_int64 nName; /* Size of zName in bytes, including \0 */ + sqlite3_int64 nByte; /* Bytes of space to allocate */ - nName = (int)strlen(zName) + 1; + nName = strlen(zName) + 1; nByte = sizeof(Fts5Auxiliary) + nName; - pAux = (Fts5Auxiliary*)sqlite3_malloc(nByte); + pAux = (Fts5Auxiliary*)sqlite3_malloc64(nByte); if( pAux ){ - memset(pAux, 0, nByte); + memset(pAux, 0, (size_t)nByte); pAux->zFunc = (char*)&pAux[1]; memcpy(pAux->zFunc, zName, nName); pAux->pGlobal = pGlobal; @@ -215653,15 +220142,15 @@ static int fts5CreateTokenizer( ){ Fts5Global *pGlobal = (Fts5Global*)pApi; Fts5TokenizerModule *pNew; - int nName; /* Size of zName and its \0 terminator */ - int nByte; /* Bytes of space to allocate */ + sqlite3_int64 nName; /* Size of zName and its \0 terminator */ + sqlite3_int64 nByte; /* Bytes of space to allocate */ int rc = SQLITE_OK; - nName = (int)strlen(zName) + 1; + nName = strlen(zName) + 1; nByte = sizeof(Fts5TokenizerModule) + nName; - pNew = (Fts5TokenizerModule*)sqlite3_malloc(nByte); + pNew = (Fts5TokenizerModule*)sqlite3_malloc64(nByte); if( pNew ){ - memset(pNew, 0, nByte); + memset(pNew, 0, (size_t)nByte); pNew->zName = (char*)&pNew[1]; memcpy(pNew->zName, zName, nName); pNew->pUserData = pUserData; @@ -215796,7 +220285,7 @@ static void fts5SourceIdFunc( ){ assert( nArg==0 ); UNUSED_PARAM2(nArg, apUnused); - sqlite3_result_text(pCtx, "fts5: 2018-12-01 12:34:55 bf8c1b2b7a5960c282e543b9c293686dccff272512d08865f4600fb58238b4f9", -1, SQLITE_TRANSIENT); + sqlite3_result_text(pCtx, "fts5: 2019-10-10 20:19:45 18db032d058f1436ce3dea84081f4ee5a0f2259ad97301d43c426bc7f3df1b0b", -1, SQLITE_TRANSIENT); } /* @@ -216045,7 +220534,7 @@ static int fts5StorageGetStmt( char *zBind; int i; - zBind = sqlite3_malloc(1 + nCol*2); + zBind = sqlite3_malloc64(1 + nCol*2); if( zBind ){ for(i=0; idb, zSql, -1, - SQLITE_PREPARE_PERSISTENT, &p->aStmt[eStmt], 0); + int f = SQLITE_PREPARE_PERSISTENT; + if( eStmt>FTS5_STMT_LOOKUP ) f |= SQLITE_PREPARE_NO_VTAB; + p->pConfig->bLock++; + rc = sqlite3_prepare_v3(pC->db, zSql, -1, f, &p->aStmt[eStmt], 0); + p->pConfig->bLock--; sqlite3_free(zSql); if( rc!=SQLITE_OK && pzErrMsg ){ *pzErrMsg = sqlite3_mprintf("%s", sqlite3_errmsg(pC->db)); @@ -216211,14 +220703,14 @@ static int sqlite3Fts5StorageOpen( ){ int rc = SQLITE_OK; Fts5Storage *p; /* New object */ - int nByte; /* Bytes of space to allocate */ + sqlite3_int64 nByte; /* Bytes of space to allocate */ nByte = sizeof(Fts5Storage) /* Fts5Storage object */ + pConfig->nCol * sizeof(i64); /* Fts5Storage.aTotalSize[] */ - *pp = p = (Fts5Storage*)sqlite3_malloc(nByte); + *pp = p = (Fts5Storage*)sqlite3_malloc64(nByte); if( !p ) return SQLITE_NOMEM; - memset(p, 0, nByte); + memset(p, 0, (size_t)nByte); p->aTotalSize = (i64*)&p[1]; p->pConfig = pConfig; p->pIndex = pIndex; @@ -216226,7 +220718,7 @@ static int sqlite3Fts5StorageOpen( if( bCreate ){ if( pConfig->eContent==FTS5_CONTENT_NORMAL ){ int nDefn = 32 + pConfig->nCol*10; - char *zDefn = sqlite3_malloc(32 + pConfig->nCol * 10); + char *zDefn = sqlite3_malloc64(32 + (sqlite3_int64)pConfig->nCol * 10); if( zDefn==0 ){ rc = SQLITE_NOMEM; }else{ @@ -216517,7 +221009,7 @@ static int sqlite3Fts5StorageRebuild(Fts5Storage *p){ Fts5Config *pConfig = p->pConfig; sqlite3_stmt *pScan = 0; Fts5InsertCtx ctx; - int rc; + int rc, rc2; memset(&ctx, 0, sizeof(Fts5InsertCtx)); ctx.pStorage = p; @@ -216556,6 +221048,8 @@ static int sqlite3Fts5StorageRebuild(Fts5Storage *p){ } } sqlite3_free(buf.p); + rc2 = sqlite3_reset(pScan); + if( rc==SQLITE_OK ) rc = rc2; /* Write the averages record */ if( rc==SQLITE_OK ){ @@ -216805,7 +221299,7 @@ static int sqlite3Fts5StorageIntegrity(Fts5Storage *p){ memset(&ctx, 0, sizeof(Fts5IntegrityCtx)); ctx.pConfig = p->pConfig; - aTotalSize = (i64*)sqlite3_malloc(pConfig->nCol * (sizeof(int)+sizeof(i64))); + aTotalSize = (i64*)sqlite3_malloc64(pConfig->nCol*(sizeof(int)+sizeof(i64))); if( !aTotalSize ) return SQLITE_NOMEM; aColSize = (int*)&aTotalSize[pConfig->nCol]; memset(aTotalSize, 0, sizeof(i64) * pConfig->nCol); @@ -217005,7 +221499,13 @@ static int sqlite3Fts5StorageSize(Fts5Storage *p, int iCol, i64 *pnToken){ static int sqlite3Fts5StorageRowCount(Fts5Storage *p, i64 *pnRow){ int rc = fts5StorageLoadTotals(p, 0); if( rc==SQLITE_OK ){ + /* nTotalRow being zero does not necessarily indicate a corrupt + ** database - it might be that the FTS5 table really does contain zero + ** rows. However this function is only called from the xRowCount() API, + ** and there is no way for that API to be invoked if the table contains + ** no rows. Hence the FTS5_CORRUPT return. */ *pnRow = p->nTotalRow; + if( p->nTotalRow<=0 ) rc = FTS5_CORRUPT; } return rc; } @@ -217215,7 +221715,7 @@ static int fts5AsciiTokenize( nByte = ie-is; if( nByte>nFold ){ if( pFold!=aFold ) sqlite3_free(pFold); - pFold = sqlite3_malloc(nByte*2); + pFold = sqlite3_malloc64((sqlite3_int64)nByte*2); if( pFold==0 ){ rc = SQLITE_NOMEM; break; @@ -217297,13 +221797,18 @@ struct Unicode61Tokenizer { unsigned char aTokenChar[128]; /* ASCII range token characters */ char *aFold; /* Buffer to fold text into */ int nFold; /* Size of aFold[] in bytes */ - int bRemoveDiacritic; /* True if remove_diacritics=1 is set */ + int eRemoveDiacritic; /* True if remove_diacritics=1 is set */ int nException; int *aiException; unsigned char aCategory[32]; /* True for token char categories */ }; +/* Values for eRemoveDiacritic (must match internals of fts5_unicode2.c) */ +#define FTS5_REMOVE_DIACRITICS_NONE 0 +#define FTS5_REMOVE_DIACRITICS_SIMPLE 1 +#define FTS5_REMOVE_DIACRITICS_COMPLEX 2 + static int fts5UnicodeAddExceptions( Unicode61Tokenizer *p, /* Tokenizer object */ const char *z, /* Characters to treat as exceptions */ @@ -217314,13 +221819,14 @@ static int fts5UnicodeAddExceptions( int *aNew; if( n>0 ){ - aNew = (int*)sqlite3_realloc(p->aiException, (n+p->nException)*sizeof(int)); + aNew = (int*)sqlite3_realloc64(p->aiException, + (n+p->nException)*sizeof(int)); if( aNew ){ int nNew = p->nException; const unsigned char *zCsr = (const unsigned char*)z; const unsigned char *zTerm = (const unsigned char*)&z[n]; while( zCsriCode ) break; + if( (u32)aNew[i]>iCode ) break; } memmove(&aNew[i+1], &aNew[i], (nNew-i)*sizeof(int)); aNew[i] = iCode; @@ -217424,9 +221930,9 @@ static int fts5UnicodeCreate( int i; memset(p, 0, sizeof(Unicode61Tokenizer)); - p->bRemoveDiacritic = 1; + p->eRemoveDiacritic = FTS5_REMOVE_DIACRITICS_SIMPLE; p->nFold = 64; - p->aFold = sqlite3_malloc(p->nFold * sizeof(char)); + p->aFold = sqlite3_malloc64(p->nFold * sizeof(char)); if( p->aFold==0 ){ rc = SQLITE_NOMEM; } @@ -217445,10 +221951,15 @@ static int fts5UnicodeCreate( for(i=0; rc==SQLITE_OK && ieRemoveDiacritic = (zArg[0] - '0'); + assert( p->eRemoveDiacritic==FTS5_REMOVE_DIACRITICS_NONE + || p->eRemoveDiacritic==FTS5_REMOVE_DIACRITICS_SIMPLE + || p->eRemoveDiacritic==FTS5_REMOVE_DIACRITICS_COMPLEX + ); } - p->bRemoveDiacritic = (zArg[0]=='1'); }else if( 0==sqlite3_stricmp(azArg[i], "tokenchars") ){ rc = fts5UnicodeAddExceptions(p, zArg, 1); @@ -217482,7 +221993,7 @@ static int fts5UnicodeCreate( */ static int fts5UnicodeIsAlnum(Unicode61Tokenizer *p, int iCode){ return ( - p->aCategory[sqlite3Fts5UnicodeCategory(iCode)] + p->aCategory[sqlite3Fts5UnicodeCategory((u32)iCode)] ^ fts5UnicodeIsException(p, iCode) ); } @@ -217511,7 +222022,7 @@ static int fts5UnicodeTokenize( /* Each iteration of this loop gobbles up a contiguous run of separators, ** then the next token. */ while( rc==SQLITE_OK ){ - int iCode; /* non-ASCII codepoint read from input */ + u32 iCode; /* non-ASCII codepoint read from input */ char *zOut = aFold; int is; int ie; @@ -217543,7 +222054,7 @@ static int fts5UnicodeTokenize( /* Grow the output buffer so that there is sufficient space to fit the ** largest possible utf-8 character. */ if( zOut>pEnd ){ - aFold = sqlite3_malloc(nFold*2); + aFold = sqlite3_malloc64((sqlite3_int64)nFold*2); if( aFold==0 ){ rc = SQLITE_NOMEM; goto tokenize_done; @@ -217562,7 +222073,7 @@ static int fts5UnicodeTokenize( READ_UTF8(zCsr, zTerm, iCode); if( fts5UnicodeIsAlnum(p,iCode)||sqlite3Fts5UnicodeIsdiacritic(iCode) ){ non_ascii_tokenchar: - iCode = sqlite3Fts5UnicodeFold(iCode, p->bRemoveDiacritic); + iCode = sqlite3Fts5UnicodeFold(iCode, p->eRemoveDiacritic); if( iCode ) WRITE_UTF8(zOut, iCode); }else{ break; @@ -218338,10 +222849,8 @@ static int sqlite3Fts5TokenizerInit(fts5_api *pApi){ return rc; } - - /* -** 2012 May 25 +** 2012-05-25 ** ** The author disclaims copyright to this source code. In place of ** a legal notice, here is a blessing: @@ -218370,32 +222879,48 @@ static int sqlite3Fts5TokenizerInit(fts5_api *pApi){ ** E"). The resuls of passing a codepoint that corresponds to an ** uppercase letter are undefined. */ -static int fts5_remove_diacritic(int c){ +static int fts5_remove_diacritic(int c, int bComplex){ unsigned short aDia[] = { 0, 1797, 1848, 1859, 1891, 1928, 1940, 1995, 2024, 2040, 2060, 2110, 2168, 2206, 2264, 2286, 2344, 2383, 2472, 2488, 2516, 2596, 2668, 2732, 2782, 2842, 2894, 2954, 2984, 3000, 3028, 3336, - 3456, 3696, 3712, 3728, 3744, 3896, 3912, 3928, - 3968, 4008, 4040, 4106, 4138, 4170, 4202, 4234, - 4266, 4296, 4312, 4344, 4408, 4424, 4472, 4504, - 6148, 6198, 6264, 6280, 6360, 6429, 6505, 6529, - 61448, 61468, 61534, 61592, 61642, 61688, 61704, 61726, - 61784, 61800, 61836, 61880, 61914, 61948, 61998, 62122, - 62154, 62200, 62218, 62302, 62364, 62442, 62478, 62536, - 62554, 62584, 62604, 62640, 62648, 62656, 62664, 62730, - 62924, 63050, 63082, 63274, 63390, + 3456, 3696, 3712, 3728, 3744, 3766, 3832, 3896, + 3912, 3928, 3944, 3968, 4008, 4040, 4056, 4106, + 4138, 4170, 4202, 4234, 4266, 4296, 4312, 4344, + 4408, 4424, 4442, 4472, 4488, 4504, 6148, 6198, + 6264, 6280, 6360, 6429, 6505, 6529, 61448, 61468, + 61512, 61534, 61592, 61610, 61642, 61672, 61688, 61704, + 61726, 61784, 61800, 61816, 61836, 61880, 61896, 61914, + 61948, 61998, 62062, 62122, 62154, 62184, 62200, 62218, + 62252, 62302, 62364, 62410, 62442, 62478, 62536, 62554, + 62584, 62604, 62640, 62648, 62656, 62664, 62730, 62766, + 62830, 62890, 62924, 62974, 63032, 63050, 63082, 63118, + 63182, 63242, 63274, 63310, 63368, 63390, }; - char aChar[] = { - '\0', 'a', 'c', 'e', 'i', 'n', 'o', 'u', 'y', 'y', 'a', 'c', - 'd', 'e', 'e', 'g', 'h', 'i', 'j', 'k', 'l', 'n', 'o', 'r', - 's', 't', 'u', 'u', 'w', 'y', 'z', 'o', 'u', 'a', 'i', 'o', - 'u', 'g', 'k', 'o', 'j', 'g', 'n', 'a', 'e', 'i', 'o', 'r', - 'u', 's', 't', 'h', 'a', 'e', 'o', 'y', '\0', '\0', '\0', '\0', - '\0', '\0', '\0', '\0', 'a', 'b', 'd', 'd', 'e', 'f', 'g', 'h', - 'h', 'i', 'k', 'l', 'l', 'm', 'n', 'p', 'r', 'r', 's', 't', - 'u', 'v', 'w', 'w', 'x', 'y', 'z', 'h', 't', 'w', 'y', 'a', - 'e', 'i', 'o', 'u', 'y', +#define HIBIT ((unsigned char)0x80) + unsigned char aChar[] = { + '\0', 'a', 'c', 'e', 'i', 'n', + 'o', 'u', 'y', 'y', 'a', 'c', + 'd', 'e', 'e', 'g', 'h', 'i', + 'j', 'k', 'l', 'n', 'o', 'r', + 's', 't', 'u', 'u', 'w', 'y', + 'z', 'o', 'u', 'a', 'i', 'o', + 'u', 'u'|HIBIT, 'a'|HIBIT, 'g', 'k', 'o', + 'o'|HIBIT, 'j', 'g', 'n', 'a'|HIBIT, 'a', + 'e', 'i', 'o', 'r', 'u', 's', + 't', 'h', 'a', 'e', 'o'|HIBIT, 'o', + 'o'|HIBIT, 'y', '\0', '\0', '\0', '\0', + '\0', '\0', '\0', '\0', 'a', 'b', + 'c'|HIBIT, 'd', 'd', 'e'|HIBIT, 'e', 'e'|HIBIT, + 'f', 'g', 'h', 'h', 'i', 'i'|HIBIT, + 'k', 'l', 'l'|HIBIT, 'l', 'm', 'n', + 'o'|HIBIT, 'p', 'r', 'r'|HIBIT, 'r', 's', + 's'|HIBIT, 't', 'u', 'u'|HIBIT, 'v', 'w', + 'w', 'x', 'y', 'z', 'h', 't', + 'w', 'y', 'a', 'a'|HIBIT, 'a'|HIBIT, 'a'|HIBIT, + 'e', 'e'|HIBIT, 'e'|HIBIT, 'i', 'o', 'o'|HIBIT, + 'o'|HIBIT, 'o'|HIBIT, 'u', 'u'|HIBIT, 'u'|HIBIT, 'y', }; unsigned int key = (((unsigned int)c)<<3) | 0x00000007; @@ -218412,7 +222937,8 @@ static int fts5_remove_diacritic(int c){ } } assert( key>=aDia[iRes] ); - return ((c > (aDia[iRes]>>3) + (aDia[iRes]&0x07)) ? c : (int)aChar[iRes]); + if( bComplex==0 && (aChar[iRes] & 0x80) ) return c; + return (c > (aDia[iRes]>>3) + (aDia[iRes]&0x07)) ? c : ((int)aChar[iRes] & 0x7F); } @@ -218425,8 +222951,8 @@ static int sqlite3Fts5UnicodeIsdiacritic(int c){ unsigned int mask1 = 0x000361F8; if( c<768 || c>817 ) return 0; return (c < 768+32) ? - (mask0 & (1 << (c-768))) : - (mask1 & (1 << (c-768-32))); + (mask0 & ((unsigned int)1 << (c-768))) : + (mask1 & ((unsigned int)1 << (c-768-32))); } @@ -218439,7 +222965,7 @@ static int sqlite3Fts5UnicodeIsdiacritic(int c){ ** The results are undefined if the value passed to this function ** is less than zero. */ -static int sqlite3Fts5UnicodeFold(int c, int bRemoveDiacritic){ +static int sqlite3Fts5UnicodeFold(int c, int eRemoveDiacritic){ /* Each entry in the following array defines a rule for folding a range ** of codepoints to lower case. The rule applies to a range of nRange ** codepoints starting at codepoint iCode. @@ -218562,7 +223088,9 @@ static int sqlite3Fts5UnicodeFold(int c, int bRemoveDiacritic){ assert( ret>0 ); } - if( bRemoveDiacritic ) ret = fts5_remove_diacritic(ret); + if( eRemoveDiacritic ){ + ret = fts5_remove_diacritic(ret, eRemoveDiacritic==2); + } } else if( c>=66560 && c<66600 ){ @@ -218573,12 +223101,6 @@ static int sqlite3Fts5UnicodeFold(int c, int bRemoveDiacritic){ } -#if 0 -static int sqlite3Fts5UnicodeNCat(void) { - return 32; -} -#endif - static int sqlite3Fts5UnicodeCatParse(const char *zCat, u8 *aArray){ aArray[0] = 1; switch( zCat[0] ){ @@ -219060,7 +223582,7 @@ static u16 aFts5UnicodeData[] = { 34, 3074, 7692, 63, 63, }; -static int sqlite3Fts5UnicodeCategory(int iCode) { +static int sqlite3Fts5UnicodeCategory(u32 iCode) { int iRes = -1; int iHi; int iLo; @@ -219104,7 +223626,6 @@ static void sqlite3Fts5UnicodeAscii(u8 *aArray, u8 *aAscii){ } } - /* ** 2015 May 30 ** @@ -219183,7 +223704,7 @@ static int sqlite3Fts5GetVarint32(const unsigned char *p, u32 *v){ u8 n; p -= 2; n = sqlite3Fts5GetVarint(p, &v64); - *v = (u32)v64; + *v = ((u32)v64) & 0x7FFFFFFF; assert( n>3 && n<=9 ); return n; } @@ -219450,7 +223971,6 @@ static int sqlite3Fts5GetVarintLen(u32 iVal){ return 5; } - /* ** 2015 May 08 ** @@ -219508,7 +224028,7 @@ struct Fts5VocabTable { struct Fts5VocabCursor { sqlite3_vtab_cursor base; sqlite3_stmt *pStmt; /* Statement holding lock on pIndex */ - Fts5Index *pIndex; /* Associated FTS5 index */ + Fts5Table *pFts5; /* Associated FTS5 table */ int bEof; /* True if this cursor is at EOF */ Fts5IndexIter *pIter; /* Term/rowid iterator object */ @@ -219517,7 +224037,6 @@ struct Fts5VocabCursor { char *zLeTerm; /* (term <= $zLeTerm) paramater, or NULL */ /* These are used by 'col' tables only */ - Fts5Config *pConfig; /* Fts5 table configuration */ int iCol; i64 *aCnt; i64 *aDoc; @@ -219780,8 +224299,7 @@ static int fts5VocabOpenMethod( sqlite3_vtab_cursor **ppCsr ){ Fts5VocabTable *pTab = (Fts5VocabTable*)pVTab; - Fts5Index *pIndex = 0; - Fts5Config *pConfig = 0; + Fts5Table *pFts5 = 0; Fts5VocabCursor *pCsr = 0; int rc = SQLITE_OK; sqlite3_stmt *pStmt = 0; @@ -219800,31 +224318,34 @@ static int fts5VocabOpenMethod( if( pStmt && sqlite3_step(pStmt)==SQLITE_ROW ){ i64 iId = sqlite3_column_int64(pStmt, 0); - pIndex = sqlite3Fts5IndexFromCsrid(pTab->pGlobal, iId, &pConfig); + pFts5 = sqlite3Fts5TableFromCsrid(pTab->pGlobal, iId); } - if( rc==SQLITE_OK && pIndex==0 ){ - rc = sqlite3_finalize(pStmt); - pStmt = 0; - if( rc==SQLITE_OK ){ - pVTab->zErrMsg = sqlite3_mprintf( - "no such fts5 table: %s.%s", pTab->zFts5Db, pTab->zFts5Tbl - ); - rc = SQLITE_ERROR; + if( rc==SQLITE_OK ){ + if( pFts5==0 ){ + rc = sqlite3_finalize(pStmt); + pStmt = 0; + if( rc==SQLITE_OK ){ + pVTab->zErrMsg = sqlite3_mprintf( + "no such fts5 table: %s.%s", pTab->zFts5Db, pTab->zFts5Tbl + ); + rc = SQLITE_ERROR; + } + }else{ + rc = sqlite3Fts5FlushToDisk(pFts5); } } if( rc==SQLITE_OK ){ - int nByte = pConfig->nCol * sizeof(i64) * 2 + sizeof(Fts5VocabCursor); + int nByte = pFts5->pConfig->nCol * sizeof(i64)*2 + sizeof(Fts5VocabCursor); pCsr = (Fts5VocabCursor*)sqlite3Fts5MallocZero(&rc, nByte); } if( pCsr ){ - pCsr->pIndex = pIndex; + pCsr->pFts5 = pFts5; pCsr->pStmt = pStmt; - pCsr->pConfig = pConfig; pCsr->aCnt = (i64*)&pCsr[1]; - pCsr->aDoc = &pCsr->aCnt[pConfig->nCol]; + pCsr->aDoc = &pCsr->aCnt[pFts5->pConfig->nCol]; }else{ sqlite3_finalize(pStmt); } @@ -219840,6 +224361,7 @@ static void fts5VocabResetCursor(Fts5VocabCursor *pCsr){ sqlite3_free(pCsr->zLeTerm); pCsr->nLeTerm = -1; pCsr->zLeTerm = 0; + pCsr->bEof = 0; } /* @@ -219878,7 +224400,7 @@ static int fts5VocabInstanceNewTerm(Fts5VocabCursor *pCsr){ } static int fts5VocabInstanceNext(Fts5VocabCursor *pCsr){ - int eDetail = pCsr->pConfig->eDetail; + int eDetail = pCsr->pFts5->pConfig->eDetail; int rc = SQLITE_OK; Fts5IndexIter *pIter = pCsr->pIter; i64 *pp = &pCsr->iInstPos; @@ -219913,7 +224435,7 @@ static int fts5VocabNextMethod(sqlite3_vtab_cursor *pCursor){ Fts5VocabCursor *pCsr = (Fts5VocabCursor*)pCursor; Fts5VocabTable *pTab = (Fts5VocabTable*)pCursor->pVtab; int rc = SQLITE_OK; - int nCol = pCsr->pConfig->nCol; + int nCol = pCsr->pFts5->pConfig->nCol; pCsr->rowid++; @@ -219935,6 +224457,7 @@ static int fts5VocabNextMethod(sqlite3_vtab_cursor *pCursor){ int nTerm; zTerm = sqlite3Fts5IterTerm(pCsr->pIter, &nTerm); + assert( nTerm>=0 ); if( pCsr->nLeTerm>=0 ){ int nCmp = MIN(nTerm, pCsr->nLeTerm); int bCmp = memcmp(pCsr->zLeTerm, zTerm, nCmp); @@ -219951,7 +224474,7 @@ static int fts5VocabNextMethod(sqlite3_vtab_cursor *pCursor){ assert( pTab->eType==FTS5_VOCAB_COL || pTab->eType==FTS5_VOCAB_ROW ); while( rc==SQLITE_OK ){ - int eDetail = pCsr->pConfig->eDetail; + int eDetail = pCsr->pFts5->pConfig->eDetail; const u8 *pPos; int nPos; /* Position list */ i64 iPos = 0; /* 64-bit position read from poslist */ int iOff = 0; /* Current offset within position list */ @@ -219974,7 +224497,6 @@ static int fts5VocabNextMethod(sqlite3_vtab_cursor *pCursor){ int iCol = -1; while( 0==sqlite3Fts5PoslistNext64(pPos, nPos, &iOff, &iPos) ){ int ii = FTS5_POS2COLUMN(iPos); - pCsr->aCnt[ii]++; if( iCol!=ii ){ if( ii>=nCol ){ rc = FTS5_CORRUPT; @@ -219983,6 +224505,7 @@ static int fts5VocabNextMethod(sqlite3_vtab_cursor *pCursor){ pCsr->aDoc[ii]++; iCol = ii; } + pCsr->aCnt[ii]++; } }else if( eDetail==FTS5_DETAIL_COLUMNS ){ while( 0==sqlite3Fts5PoslistNext64(pPos, nPos, &iOff,&iPos) ){ @@ -220011,7 +224534,9 @@ static int fts5VocabNextMethod(sqlite3_vtab_cursor *pCursor){ if( rc==SQLITE_OK ){ zTerm = sqlite3Fts5IterTerm(pCsr->pIter, &nTerm); - if( nTerm!=pCsr->term.n || memcmp(zTerm, pCsr->term.p, nTerm) ){ + if( nTerm!=pCsr->term.n + || (nTerm>0 && memcmp(zTerm, pCsr->term.p, nTerm)) + ){ break; } if( sqlite3Fts5IterEof(pCsr->pIter) ) break; @@ -220021,8 +224546,10 @@ static int fts5VocabNextMethod(sqlite3_vtab_cursor *pCursor){ } if( rc==SQLITE_OK && pCsr->bEof==0 && pTab->eType==FTS5_VOCAB_COL ){ - while( pCsr->aDoc[pCsr->iCol]==0 ) pCsr->iCol++; - assert( pCsr->iColpConfig->nCol ); + for(/* noop */; pCsr->iColaDoc[pCsr->iCol]==0; pCsr->iCol++); + if( pCsr->iCol==nCol ){ + rc = FTS5_CORRUPT; + } } return rc; } @@ -220069,6 +224596,7 @@ static int fts5VocabFilterMethod( } if( pLe ){ const char *zCopy = (const char *)sqlite3_value_text(pLe); + if( zCopy==0 ) zCopy = ""; pCsr->nLeTerm = sqlite3_value_bytes(pLe); pCsr->zLeTerm = sqlite3_malloc(pCsr->nLeTerm+1); if( pCsr->zLeTerm==0 ){ @@ -220080,14 +224608,15 @@ static int fts5VocabFilterMethod( } if( rc==SQLITE_OK ){ - rc = sqlite3Fts5IndexQuery(pCsr->pIndex, zTerm, nTerm, f, 0, &pCsr->pIter); + Fts5Index *pIndex = pCsr->pFts5->pIndex; + rc = sqlite3Fts5IndexQuery(pIndex, zTerm, nTerm, f, 0, &pCsr->pIter); } if( rc==SQLITE_OK && eType==FTS5_VOCAB_INSTANCE ){ rc = fts5VocabInstanceNewTerm(pCsr); } - if( rc==SQLITE_OK - && !pCsr->bEof - && (eType!=FTS5_VOCAB_INSTANCE || pCsr->pConfig->eDetail!=FTS5_DETAIL_NONE) + if( rc==SQLITE_OK && !pCsr->bEof + && (eType!=FTS5_VOCAB_INSTANCE + || pCsr->pFts5->pConfig->eDetail!=FTS5_DETAIL_NONE) ){ rc = fts5VocabNextMethod(pCursor); } @@ -220110,7 +224639,7 @@ static int fts5VocabColumnMethod( int iCol /* Index of column to read value from */ ){ Fts5VocabCursor *pCsr = (Fts5VocabCursor*)pCursor; - int eDetail = pCsr->pConfig->eDetail; + int eDetail = pCsr->pFts5->pConfig->eDetail; int eType = ((Fts5VocabTable*)(pCursor->pVtab))->eType; i64 iVal = 0; @@ -220122,7 +224651,7 @@ static int fts5VocabColumnMethod( assert( iCol==1 || iCol==2 || iCol==3 ); if( iCol==1 ){ if( eDetail!=FTS5_DETAIL_NONE ){ - const char *z = pCsr->pConfig->azCol[pCsr->iCol]; + const char *z = pCsr->pFts5->pConfig->azCol[pCsr->iCol]; sqlite3_result_text(pCtx, z, -1, SQLITE_STATIC); } }else if( iCol==2 ){ @@ -220150,8 +224679,8 @@ static int fts5VocabColumnMethod( }else if( eDetail==FTS5_DETAIL_COLUMNS ){ ii = (int)pCsr->iInstPos; } - if( ii>=0 && iipConfig->nCol ){ - const char *z = pCsr->pConfig->azCol[ii]; + if( ii>=0 && iipFts5->pConfig->nCol ){ + const char *z = pCsr->pFts5->pConfig->azCol[ii]; sqlite3_result_text(pCtx, z, -1, SQLITE_STATIC); } break; @@ -220524,9 +225053,9 @@ SQLITE_API int sqlite3_stmt_init( #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */ /************** End of stmt.c ************************************************/ -#if __LINE__!=220527 +#if __LINE__!=225056 #undef SQLITE_SOURCE_ID -#define SQLITE_SOURCE_ID "2018-12-01 12:34:55 bf8c1b2b7a5960c282e543b9c293686dccff272512d08865f4600fb58238alt2" +#define SQLITE_SOURCE_ID "2019-10-10 20:19:45 18db032d058f1436ce3dea84081f4ee5a0f2259ad97301d43c426bc7f3dfalt2" #endif /* Return the source-id for this library */ SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; } diff --git a/src/deps/common/sqlite3.h b/src/deps/common/sqlite3.h index f36ae57..37bfac5 100644 --- a/src/deps/common/sqlite3.h +++ b/src/deps/common/sqlite3.h @@ -123,9 +123,9 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.26.0" -#define SQLITE_VERSION_NUMBER 3026000 -#define SQLITE_SOURCE_ID "2018-12-01 12:34:55 bf8c1b2b7a5960c282e543b9c293686dccff272512d08865f4600fb58238b4f9" +#define SQLITE_VERSION "3.30.1" +#define SQLITE_VERSION_NUMBER 3030001 +#define SQLITE_SOURCE_ID "2019-10-10 20:19:45 18db032d058f1436ce3dea84081f4ee5a0f2259ad97301d43c426bc7f3df1b0b" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -189,6 +189,9 @@ SQLITE_API int sqlite3_libversion_number(void); #ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS SQLITE_API int sqlite3_compileoption_used(const char *zOptName); SQLITE_API const char *sqlite3_compileoption_get(int N); +#else +# define sqlite3_compileoption_used(X) 0 +# define sqlite3_compileoption_get(X) ((void*)0) #endif /* @@ -823,6 +826,15 @@ struct sqlite3_io_methods { ** file space based on this hint in order to help writes to the database ** file run faster. ** +**
  • [[SQLITE_FCNTL_SIZE_LIMIT]] +** The [SQLITE_FCNTL_SIZE_LIMIT] opcode is used by in-memory VFS that +** implements [sqlite3_deserialize()] to set an upper bound on the size +** of the in-memory database. The argument is a pointer to a [sqlite3_int64]. +** If the integer pointed to is negative, then it is filled in with the +** current limit. Otherwise the limit is set to the larger of the value +** of the integer pointed to and the current database size. The integer +** pointed to is set to the new limit. +** **
  • [[SQLITE_FCNTL_CHUNK_SIZE]] ** The [SQLITE_FCNTL_CHUNK_SIZE] opcode is used to request that the VFS ** extends and truncates the database file in chunks of a size specified @@ -1131,6 +1143,7 @@ struct sqlite3_io_methods { #define SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE 33 #define SQLITE_FCNTL_LOCK_TIMEOUT 34 #define SQLITE_FCNTL_DATA_VERSION 35 +#define SQLITE_FCNTL_SIZE_LIMIT 36 /* deprecated names */ #define SQLITE_GET_LOCKPROXYFILE SQLITE_FCNTL_GET_LOCKPROXYFILE @@ -1283,8 +1296,14 @@ typedef struct sqlite3_api_routines sqlite3_api_routines; ** ^The flags argument to xAccess() may be [SQLITE_ACCESS_EXISTS] ** to test for the existence of a file, or [SQLITE_ACCESS_READWRITE] to ** test whether a file is readable and writable, or [SQLITE_ACCESS_READ] -** to test whether a file is at least readable. The file can be a -** directory. +** to test whether a file is at least readable. The SQLITE_ACCESS_READ +** flag is never actually used and is not implemented in the built-in +** VFSes of SQLite. The file is named by the second argument and can be a +** directory. The xAccess method returns [SQLITE_OK] on success or some +** non-zero error code if there is an I/O error or if the name of +** the file given in the second argument is illegal. If SQLITE_OK +** is returned, then non-zero or zero is written into *pResOut to indicate +** whether or not the file is accessible. ** ** ^SQLite will always allocate at least mxPathname+1 bytes for the ** output buffer xFullPathname. The exact size of the output buffer @@ -1972,6 +1991,17 @@ struct sqlite3_mem_methods { ** negative value for this option restores the default behaviour. ** This option is only available if SQLite is compiled with the ** [SQLITE_ENABLE_SORTER_REFERENCES] compile-time option. +** +** [[SQLITE_CONFIG_MEMDB_MAXSIZE]] +**
    SQLITE_CONFIG_MEMDB_MAXSIZE +**
    The SQLITE_CONFIG_MEMDB_MAXSIZE option accepts a single parameter +** [sqlite3_int64] parameter which is the default maximum size for an in-memory +** database created using [sqlite3_deserialize()]. This default maximum +** size can be adjusted up or down for individual databases using the +** [SQLITE_FCNTL_SIZE_LIMIT] [sqlite3_file_control|file-control]. If this +** configuration setting is never used, then the default maximum is determined +** by the [SQLITE_MEMDB_DEFAULT_MAXSIZE] compile-time option. If that +** compile-time option is not set, then the default maximum is 1073741824. ** */ #define SQLITE_CONFIG_SINGLETHREAD 1 /* nil */ @@ -2002,6 +2032,7 @@ struct sqlite3_mem_methods { #define SQLITE_CONFIG_STMTJRNL_SPILL 26 /* int nByte */ #define SQLITE_CONFIG_SMALL_MALLOC 27 /* boolean */ #define SQLITE_CONFIG_SORTERREF_SIZE 28 /* int nByte */ +#define SQLITE_CONFIG_MEMDB_MAXSIZE 29 /* sqlite3_int64 */ /* ** CAPI3REF: Database Connection Configuration Options @@ -2062,10 +2093,21 @@ struct sqlite3_mem_methods { ** following this call. The second parameter may be a NULL pointer, in ** which case the trigger setting is not reported back.
    ** +** [[SQLITE_DBCONFIG_ENABLE_VIEW]] +**
    SQLITE_DBCONFIG_ENABLE_VIEW
    +**
    ^This option is used to enable or disable [CREATE VIEW | views]. +** There should be two additional arguments. +** The first argument is an integer which is 0 to disable views, +** positive to enable views or negative to leave the setting unchanged. +** The second parameter is a pointer to an integer into which +** is written 0 or 1 to indicate whether views are disabled or enabled +** following this call. The second parameter may be a NULL pointer, in +** which case the view setting is not reported back.
    +** ** [[SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER]] **
    SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER
    -**
    ^This option is used to enable or disable the two-argument -** version of the [fts3_tokenizer()] function which is part of the +**
    ^This option is used to enable or disable the +** [fts3_tokenizer()] function which is part of the ** [FTS3] full-text search engine extension. ** There should be two additional arguments. ** The first argument is an integer which is 0 to disable fts3_tokenizer() or @@ -2173,10 +2215,50 @@ struct sqlite3_mem_methods { ** features include but are not limited to the following: **
      **
    • The [PRAGMA writable_schema=ON] statement. +**
    • The [PRAGMA journal_mode=OFF] statement. **
    • Writes to the [sqlite_dbpage] virtual table. **
    • Direct writes to [shadow tables]. **
    **
    +** +** [[SQLITE_DBCONFIG_WRITABLE_SCHEMA]]
    SQLITE_DBCONFIG_WRITABLE_SCHEMA
    +**
    The SQLITE_DBCONFIG_WRITABLE_SCHEMA option activates or deactivates the +** "writable_schema" flag. This has the same effect and is logically equivalent +** to setting [PRAGMA writable_schema=ON] or [PRAGMA writable_schema=OFF]. +** The first argument to this setting is an integer which is 0 to disable +** the writable_schema, positive to enable writable_schema, or negative to +** leave the setting unchanged. The second parameter is a pointer to an +** integer into which is written 0 or 1 to indicate whether the writable_schema +** is enabled or disabled following this call. +**
    +** +** [[SQLITE_DBCONFIG_LEGACY_ALTER_TABLE]] +**
    SQLITE_DBCONFIG_LEGACY_ALTER_TABLE
    +**
    The SQLITE_DBCONFIG_LEGACY_ALTER_TABLE option activates or deactivates +** the legacy behavior of the [ALTER TABLE RENAME] command such it +** behaves as it did prior to [version 3.24.0] (2018-06-04). See the +** "Compatibility Notice" on the [ALTER TABLE RENAME documentation] for +** additional information. This feature can also be turned on and off +** using the [PRAGMA legacy_alter_table] statement. +**
    +** +** [[SQLITE_DBCONFIG_DQS_DML]] +**
    SQLITE_DBCONFIG_DQS_DML +**
    The SQLITE_DBCONFIG_DQS_DML option activates or deactivates +** the legacy [double-quoted string literal] misfeature for DML statement +** only, that is DELETE, INSERT, SELECT, and UPDATE statements. The +** default value of this setting is determined by the [-DSQLITE_DQS] +** compile-time option. +**
    +** +** [[SQLITE_DBCONFIG_DQS_DDL]] +**
    SQLITE_DBCONFIG_DQS_DDL +**
    The SQLITE_DBCONFIG_DQS option activates or deactivates +** the legacy [double-quoted string literal] misfeature for DDL statements, +** such as CREATE TABLE and CREATE INDEX. The +** default value of this setting is determined by the [-DSQLITE_DQS] +** compile-time option. +**
    ** */ #define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */ @@ -2190,7 +2272,12 @@ struct sqlite3_mem_methods { #define SQLITE_DBCONFIG_TRIGGER_EQP 1008 /* int int* */ #define SQLITE_DBCONFIG_RESET_DATABASE 1009 /* int int* */ #define SQLITE_DBCONFIG_DEFENSIVE 1010 /* int int* */ -#define SQLITE_DBCONFIG_MAX 1010 /* Largest DBCONFIG */ +#define SQLITE_DBCONFIG_WRITABLE_SCHEMA 1011 /* int int* */ +#define SQLITE_DBCONFIG_LEGACY_ALTER_TABLE 1012 /* int int* */ +#define SQLITE_DBCONFIG_DQS_DML 1013 /* int int* */ +#define SQLITE_DBCONFIG_DQS_DDL 1014 /* int int* */ +#define SQLITE_DBCONFIG_ENABLE_VIEW 1015 /* int int* */ +#define SQLITE_DBCONFIG_MAX 1015 /* Largest DBCONFIG */ /* ** CAPI3REF: Enable Or Disable Extended Result Codes @@ -2347,7 +2434,7 @@ SQLITE_API int sqlite3_changes(sqlite3*); ** not. ^Changes to a view that are intercepted by INSTEAD OF triggers ** are not counted. ** -** This the [sqlite3_total_changes(D)] interface only reports the number +** The [sqlite3_total_changes(D)] interface only reports the number ** of rows that changed due to SQL statement run against database ** connection D. Any changes by other database connections are ignored. ** To detect changes against a database file from other database @@ -2991,9 +3078,9 @@ SQLITE_API int sqlite3_set_authorizer( ** time is in units of nanoseconds, however the current implementation ** is only capable of millisecond resolution so the six least significant ** digits in the time are meaningless. Future versions of SQLite -** might provide greater resolution on the profiler callback. The -** sqlite3_profile() function is considered experimental and is -** subject to change in future versions of SQLite. +** might provide greater resolution on the profiler callback. Invoking +** either [sqlite3_trace()] or [sqlite3_trace_v2()] will cancel the +** profile callback. */ SQLITE_API SQLITE_DEPRECATED void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*); @@ -3407,6 +3494,8 @@ SQLITE_API int sqlite3_open_v2( ** is not a database file pathname pointer that SQLite passed into the xOpen ** VFS method, then the behavior of this routine is undefined and probably ** undesirable. +** +** See the [URI filename] documentation for additional information. */ SQLITE_API const char *sqlite3_uri_parameter(const char *zFilename, const char *zParam); SQLITE_API int sqlite3_uri_boolean(const char *zFile, const char *zParam, int bDefault); @@ -3629,18 +3718,23 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); ** deplete the limited store of lookaside memory. Future versions of ** SQLite may act on this hint differently. ** -** [[SQLITE_PREPARE_NORMALIZE]] ^(
    SQLITE_PREPARE_NORMALIZE
    -**
    The SQLITE_PREPARE_NORMALIZE flag indicates that a normalized -** representation of the SQL statement should be calculated and then -** associated with the prepared statement, which can be obtained via -** the [sqlite3_normalized_sql()] interface.)^ The semantics used to -** normalize a SQL statement are unspecified and subject to change. -** At a minimum, literal values will be replaced with suitable -** placeholders. +** [[SQLITE_PREPARE_NORMALIZE]]
    SQLITE_PREPARE_NORMALIZE
    +**
    The SQLITE_PREPARE_NORMALIZE flag is a no-op. This flag used +** to be required for any prepared statement that wanted to use the +** [sqlite3_normalized_sql()] interface. However, the +** [sqlite3_normalized_sql()] interface is now available to all +** prepared statements, regardless of whether or not they use this +** flag. +** +** [[SQLITE_PREPARE_NO_VTAB]]
    SQLITE_PREPARE_NO_VTAB
    +**
    The SQLITE_PREPARE_NO_VTAB flag causes the SQL compiler +** to return an error (error code SQLITE_ERROR) if the statement uses +** any virtual tables. ** */ #define SQLITE_PREPARE_PERSISTENT 0x01 #define SQLITE_PREPARE_NORMALIZE 0x02 +#define SQLITE_PREPARE_NO_VTAB 0x04 /* ** CAPI3REF: Compiling An SQL Statement @@ -3732,7 +3826,7 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); ** ^The specific value of WHERE-clause [parameter] might influence the ** choice of query plan if the parameter is the left-hand side of a [LIKE] ** or [GLOB] operator or if the parameter is compared to an indexed column -** and the [SQLITE_ENABLE_STAT3] compile-time option is enabled. +** and the [SQLITE_ENABLE_STAT4] compile-time option is enabled. **
  • ** ** @@ -3865,6 +3959,18 @@ SQLITE_API const char *sqlite3_normalized_sql(sqlite3_stmt *pStmt); */ SQLITE_API int sqlite3_stmt_readonly(sqlite3_stmt *pStmt); +/* +** CAPI3REF: Query The EXPLAIN Setting For A Prepared Statement +** METHOD: sqlite3_stmt +** +** ^The sqlite3_stmt_isexplain(S) interface returns 1 if the +** prepared statement S is an EXPLAIN statement, or 2 if the +** statement S is an EXPLAIN QUERY PLAN. +** ^The sqlite3_stmt_isexplain(S) interface returns 0 if S is +** an ordinary statement or a NULL pointer. +*/ +SQLITE_API int sqlite3_stmt_isexplain(sqlite3_stmt *pStmt); + /* ** CAPI3REF: Determine If A Prepared Statement Has Been Reset ** METHOD: sqlite3_stmt @@ -4004,7 +4110,9 @@ typedef struct sqlite3_context sqlite3_context; ** ^The fifth argument to the BLOB and string binding interfaces ** is a destructor used to dispose of the BLOB or ** string after SQLite has finished with it. ^The destructor is called -** to dispose of the BLOB or string even if the call to bind API fails. +** to dispose of the BLOB or string even if the call to the bind API fails, +** except the destructor is not called if the third parameter is a NULL +** pointer or the fourth parameter is negative. ** ^If the fifth argument is ** the special value [SQLITE_STATIC], then SQLite assumes that the ** information is in static, unmanaged space and does not need to be freed. @@ -4753,6 +4861,12 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt); ** perform additional optimizations on deterministic functions, so use ** of the [SQLITE_DETERMINISTIC] flag is recommended where possible. ** +** ^The fourth parameter may also optionally include the [SQLITE_DIRECTONLY] +** flag, which if present prevents the function from being invoked from +** within VIEWs or TRIGGERs. For security reasons, the [SQLITE_DIRECTONLY] +** flag is recommended for any application-defined SQL function that has +** side-effects. +** ** ^(The fifth parameter is an arbitrary pointer. The implementation of the ** function can gain access to this pointer using [sqlite3_user_data()].)^ ** @@ -4869,8 +4983,30 @@ SQLITE_API int sqlite3_create_window_function( ** [SQLITE_UTF8 | preferred text encoding] as the fourth argument ** to [sqlite3_create_function()], [sqlite3_create_function16()], or ** [sqlite3_create_function_v2()]. +** +** The SQLITE_DETERMINISTIC flag means that the new function will always +** maps the same inputs into the same output. The abs() function is +** deterministic, for example, but randomblob() is not. +** +** The SQLITE_DIRECTONLY flag means that the function may only be invoked +** from top-level SQL, and cannot be used in VIEWs or TRIGGERs. This is +** a security feature which is recommended for all +** [application-defined SQL functions] that have side-effects. This flag +** prevents an attacker from adding triggers and views to a schema then +** tricking a high-privilege application into causing unintended side-effects +** while performing ordinary queries. +** +** The SQLITE_SUBTYPE flag indicates to SQLite that a function may call +** [sqlite3_value_subtype()] to inspect the sub-types of its arguments. +** Specifying this flag makes no difference for scalar or aggregate user +** functions. However, if it is not specified for a user-defined window +** function, then any sub-types belonging to arguments passed to the window +** function may be discarded before the window function is called (i.e. +** sqlite3_value_subtype() will always return 0). */ -#define SQLITE_DETERMINISTIC 0x800 +#define SQLITE_DETERMINISTIC 0x000000800 +#define SQLITE_DIRECTONLY 0x000080000 +#define SQLITE_SUBTYPE 0x000100000 /* ** CAPI3REF: Deprecated Functions @@ -4921,6 +5057,8 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6 ** sqlite3_value_nochange   ** →  True if the column is unchanged in an UPDATE ** against a virtual table. +** sqlite3_value_frombind   +** →  True if value originated from a [bound parameter] ** ** ** Details: @@ -4982,6 +5120,11 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6 ** than within an [xUpdate] method call for an UPDATE statement, then ** the return value is arbitrary and meaningless. ** +** ^The sqlite3_value_frombind(X) interface returns non-zero if the +** value X originated from one of the [sqlite3_bind_int|sqlite3_bind()] +** interfaces. ^If X comes from an SQL literal value, or a table column, +** and expression, then sqlite3_value_frombind(X) returns zero. +** ** Please pay particular attention to the fact that the pointer returned ** from [sqlite3_value_blob()], [sqlite3_value_text()], or ** [sqlite3_value_text16()] can be invalidated by a subsequent call to @@ -5027,6 +5170,7 @@ SQLITE_API int sqlite3_value_bytes16(sqlite3_value*); SQLITE_API int sqlite3_value_type(sqlite3_value*); SQLITE_API int sqlite3_value_numeric_type(sqlite3_value*); SQLITE_API int sqlite3_value_nochange(sqlite3_value*); +SQLITE_API int sqlite3_value_frombind(sqlite3_value*); /* ** CAPI3REF: Finding The Subtype Of SQL Values @@ -5762,7 +5906,7 @@ SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*); ** associated with database N of connection D. ^The main database file ** has the name "main". If there is no attached database N on the database ** connection D, or if database N is a temporary or in-memory database, then -** a NULL pointer is returned. +** this function will return either a NULL pointer or an empty string. ** ** ^The filename returned by this function is the output of the ** xFullPathname method of the [VFS]. ^In other words, the filename @@ -6508,6 +6652,12 @@ struct sqlite3_index_info { ** ^The sqlite3_create_module() ** interface is equivalent to sqlite3_create_module_v2() with a NULL ** destructor. +** +** ^If the third parameter (the pointer to the sqlite3_module object) is +** NULL then no new module is create and any existing modules with the +** same name are dropped. +** +** See also: [sqlite3_drop_modules()] */ SQLITE_API int sqlite3_create_module( sqlite3 *db, /* SQLite connection to register module with */ @@ -6523,6 +6673,23 @@ SQLITE_API int sqlite3_create_module_v2( void(*xDestroy)(void*) /* Module destructor function */ ); +/* +** CAPI3REF: Remove Unnecessary Virtual Table Implementations +** METHOD: sqlite3 +** +** ^The sqlite3_drop_modules(D,L) interface removes all virtual +** table modules from database connection D except those named on list L. +** The L parameter must be either NULL or a pointer to an array of pointers +** to strings where the array is terminated by a single NULL pointer. +** ^If the L parameter is NULL, then all virtual table modules are removed. +** +** See also: [sqlite3_create_module()] +*/ +SQLITE_API int sqlite3_drop_modules( + sqlite3 *db, /* Remove modules from this connection */ + const char **azKeep /* Except, do not remove the ones named here */ +); + /* ** CAPI3REF: Virtual Table Instance Object ** KEYWORDS: sqlite3_vtab @@ -7231,7 +7398,7 @@ SQLITE_API int sqlite3_test_control(int op, ...); #define SQLITE_TESTCTRL_FIRST 5 #define SQLITE_TESTCTRL_PRNG_SAVE 5 #define SQLITE_TESTCTRL_PRNG_RESTORE 6 -#define SQLITE_TESTCTRL_PRNG_RESET 7 +#define SQLITE_TESTCTRL_PRNG_RESET 7 /* NOT USED */ #define SQLITE_TESTCTRL_BITVEC_TEST 8 #define SQLITE_TESTCTRL_FAULT_INSTALL 9 #define SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS 10 @@ -7253,7 +7420,10 @@ SQLITE_API int sqlite3_test_control(int op, ...); #define SQLITE_TESTCTRL_SORTER_MMAP 24 #define SQLITE_TESTCTRL_IMPOSTER 25 #define SQLITE_TESTCTRL_PARSER_COVERAGE 26 -#define SQLITE_TESTCTRL_LAST 26 /* Largest TESTCTRL */ +#define SQLITE_TESTCTRL_RESULT_INTREAL 27 +#define SQLITE_TESTCTRL_PRNG_SEED 28 +#define SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS 29 +#define SQLITE_TESTCTRL_LAST 29 /* Largest TESTCTRL */ /* ** CAPI3REF: SQL Keyword Checking @@ -9996,7 +10166,7 @@ SQLITE_API int sqlite3changeset_next(sqlite3_changeset_iter *pIter); ** sqlite3changeset_next() is called on the iterator or until the ** conflict-handler function returns. If pnCol is not NULL, then *pnCol is ** set to the number of columns in the table affected by the change. If -** pbIncorrect is not NULL, then *pbIndirect is set to true (1) if the change +** pbIndirect is not NULL, then *pbIndirect is set to true (1) if the change ** is an indirect change, or false (0) otherwise. See the documentation for ** [sqlite3session_indirect()] for a description of direct and indirect ** changes. Finally, if pOp is not NULL, then *pOp is set to one of @@ -10863,7 +11033,7 @@ SQLITE_API int sqlite3rebaser_configure( ** in size. This function allocates and populates a buffer with a copy ** of the changeset rebased rebased according to the configuration of the ** rebaser object passed as the first argument. If successful, (*ppOut) -** is set to point to the new buffer containing the rebased changset and +** is set to point to the new buffer containing the rebased changeset and ** (*pnOut) to its size in bytes and SQLITE_OK returned. It is the ** responsibility of the caller to eventually free the new buffer using ** sqlite3_free(). Otherwise, if an error occurs, (*ppOut) and (*pnOut) @@ -11230,12 +11400,8 @@ struct Fts5PhraseIter { ** ** Usually, output parameter *piPhrase is set to the phrase number, *piCol ** to the column in which it occurs and *piOff the token offset of the -** first token of the phrase. The exception is if the table was created -** with the offsets=0 option specified. In this case *piOff is always -** set to -1. -** -** Returns SQLITE_OK if successful, or an error code (i.e. SQLITE_NOMEM) -** if an error occurs. +** first token of the phrase. Returns SQLITE_OK if successful, or an error +** code (i.e. SQLITE_NOMEM) if an error occurs. ** ** This API can be quite slow if used with an FTS5 table created with the ** "detail=none" or "detail=column" option. @@ -11276,7 +11442,7 @@ struct Fts5PhraseIter { ** Save the pointer passed as the second argument as the extension functions ** "auxiliary data". The pointer may then be retrieved by the current or any ** future invocation of the same fts5 extension function made as part of -** of the same MATCH query using the xGetAuxdata() API. +** the same MATCH query using the xGetAuxdata() API. ** ** Each extension function is allocated a single auxiliary data slot for ** each FTS query (MATCH expression). If the extension function is invoked @@ -11291,7 +11457,7 @@ struct Fts5PhraseIter { ** The xDelete callback, if one is specified, is also invoked on the ** auxiliary data pointer after the FTS5 query has finished. ** -** If an error (e.g. an OOM condition) occurs within this function, an +** If an error (e.g. an OOM condition) occurs within this function, ** the auxiliary data is set to NULL and an error code returned. If the ** xDelete parameter was not NULL, it is invoked on the auxiliary data ** pointer before returning. @@ -11524,11 +11690,11 @@ struct Fts5ExtensionApi { ** the tokenizer substitutes "first" for "1st" and the query works ** as expected. ** -**
  • By adding multiple synonyms for a single term to the FTS index. -** In this case, when tokenizing query text, the tokenizer may -** provide multiple synonyms for a single term within the document. -** FTS5 then queries the index for each synonym individually. For -** example, faced with the query: +**
  • By querying the index for all synonyms of each query term +** separately. In this case, when tokenizing query text, the +** tokenizer may provide multiple synonyms for a single term +** within the document. FTS5 then queries the index for each +** synonym individually. For example, faced with the query: ** ** ** ... MATCH 'first place' @@ -11552,7 +11718,7 @@ struct Fts5ExtensionApi { ** "place". ** ** This way, even if the tokenizer does not provide synonyms -** when tokenizing query text (it should not - to do would be +** when tokenizing query text (it should not - to do so would be ** inefficient), it doesn't matter if the user queries for ** 'first + place' or '1st + place', as there are entries in the ** FTS index corresponding to both forms of the first token. diff --git a/src/ios/PSPDFThreadSafeMutableDictionary.m b/src/ios/CustomPSPDFThreadSafeMutableDictionary.m similarity index 88% rename from src/ios/PSPDFThreadSafeMutableDictionary.m rename to src/ios/CustomPSPDFThreadSafeMutableDictionary.m index 2b39604..bfdfeba 100644 --- a/src/ios/PSPDFThreadSafeMutableDictionary.m +++ b/src/ios/CustomPSPDFThreadSafeMutableDictionary.m @@ -1,5 +1,9 @@ // -// PSPDFThreadSafeMutableDictionary.m +// CustomPSPDFThreadSafeMutableDictionary.m +// +// renamed from PSPDFThreadSafeMutableDictionary.m +// +// Copyright (c) 2019-present Christopher J. Brody (aka Chris Brody) // // Copyright (c) 2013 Peter Steinberger, PSPDFKit GmbH. All rights reserved. // @@ -23,29 +27,31 @@ #import -/* ** ALREADY INCLUDED BY #import "PSPDFThreadSafeMutableDictionary.h" // Dictionary-Subclasss whose primitive operations are thread safe. -@interface PSPDFThreadSafeMutableDictionary : NSMutableDictionary +@interface CustomPSPDFThreadSafeMutableDictionary : NSMutableDictionary @end -// */ // ---------------------------------------------------------------- // -// PSPDFThreadSafeMutableDictionary.m +// CustomPSPDFThreadSafeMutableDictionary.m +// +// renamed from PSPDFThreadSafeMutableDictionary.m +// // PSPDFKit // // Copyright (c) 2013 PSPDFKit GmbH. All rights reserved. // -#import "PSPDFThreadSafeMutableDictionary.h" +// #import "PSPDFThreadSafeMutableDictionary.h" + #import #define LOCKED(...) OSSpinLockLock(&_lock); \ __VA_ARGS__; \ OSSpinLockUnlock(&_lock); -@implementation PSPDFThreadSafeMutableDictionary { +@implementation CustomPSPDFThreadSafeMutableDictionary { OSSpinLock _lock; NSMutableDictionary *_dictionary; // Class Cluster! } @@ -145,8 +151,8 @@ - (void)performLockedWithDictionary:(void (^)(NSDictionary *dictionary))block { - (BOOL)isEqual:(id)object { if (object == self) return YES; - if ([object isKindOfClass:PSPDFThreadSafeMutableDictionary.class]) { - PSPDFThreadSafeMutableDictionary *other = object; + if ([object isKindOfClass:CustomPSPDFThreadSafeMutableDictionary.class]) { + CustomPSPDFThreadSafeMutableDictionary *other = object; __block BOOL isEqual = NO; [other performLockedWithDictionary:^(NSDictionary *dictionary) { [self performLockedWithDictionary:^(NSDictionary *otherDictionary) { diff --git a/src/ios/PSPDFThreadSafeMutableDictionary.h b/src/ios/PSPDFThreadSafeMutableDictionary.h deleted file mode 100644 index 05cd9ac..0000000 --- a/src/ios/PSPDFThreadSafeMutableDictionary.h +++ /dev/null @@ -1,28 +0,0 @@ -// PSPDFThreadSafeMutableDictionary.h header copied from -// PSPDFThreadSafeMutableDictionary.m -// -// Copyright (c) 2013 Peter Steinberger, PSPDFKit GmbH. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -#import - -// Dictionary-Subclasss whose primitive operations are thread safe. -@interface PSPDFThreadSafeMutableDictionary : NSMutableDictionary -@end diff --git a/src/ios/SQLitePlugin.h b/src/ios/SQLitePlugin.h index d159f36..6d6d8ad 100755 --- a/src/ios/SQLitePlugin.h +++ b/src/ios/SQLitePlugin.h @@ -17,7 +17,7 @@ enum WebSQLError { VERSION_ERR = 2, TOO_LARGE_ERR = 3, QUOTA_ERR = 4, - SYNTAX_ERR = 5, + SYNTAX_ERR_ = 5, CONSTRAINT_ERR = 6, TIMEOUT_ERR = 7 }; diff --git a/src/ios/SQLitePlugin.m b/src/ios/SQLitePlugin.m index 445fa68..c5cc48d 100755 --- a/src/ios/SQLitePlugin.m +++ b/src/ios/SQLitePlugin.m @@ -14,7 +14,7 @@ #import "sqlite3_base64.h" -#import "PSPDFThreadSafeMutableDictionary.h" +#import "sqlite3_eu.h" // Defines Macro to only log lines when in DEBUG mode #ifdef DEBUG @@ -23,6 +23,17 @@ # define DLog(...) #endif +#if !__has_feature(objc_arc) +# error "Missing objc_arc feature" +#endif + +// CustomPSPDFThreadSafeMutableDictionary interface copied from +// CustomPSPDFThreadSafeMutableDictionary.m: +// +// Dictionary-Subclasss whose primitive operations are thread safe. +@interface CustomPSPDFThreadSafeMutableDictionary : NSMutableDictionary +@end + @implementation SQLitePlugin @synthesize openDBs; @@ -33,12 +44,8 @@ -(void)pluginInitialize DLog(@"Initializing SQLitePlugin"); { - openDBs = [PSPDFThreadSafeMutableDictionary dictionaryWithCapacity:0]; + openDBs = [CustomPSPDFThreadSafeMutableDictionary dictionaryWithCapacity:0]; appDBPaths = [NSMutableDictionary dictionaryWithCapacity:0]; -#if !__has_feature(objc_arc) - [openDBs retain]; - [appDBPaths retain]; -#endif NSString *docs = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex: 0]; DLog(@"Detected docs path: %@", docs); @@ -120,14 +127,19 @@ -(void)openNow: (CDVInvokedUrlCommand*)command NSString *dbname = [self getDBPath:dbfilename at:dblocation]; - if (dbname == NULL) { + if (!sqlite3_threadsafe()) { + // INTERNAL PLUGIN ERROR: + NSLog(@"INTERNAL PLUGIN ERROR: sqlite3_threadsafe() returns false value"); + pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString: @"INTERNAL PLUGIN ERROR: sqlite3_threadsafe() returns false value"]; + [self.commandDelegate sendPluginResult:pluginResult callbackId: command.callbackId]; + return; + } else if (dbname == NULL) { // INTERNAL PLUGIN ERROR - NOT EXPECTED: NSLog(@"INTERNAL PLUGIN ERROR (NOT EXPECTED): open with database name missing"); pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString: @"INTERNAL PLUGIN ERROR: open with database name missing"]; [self.commandDelegate sendPluginResult:pluginResult callbackId: command.callbackId]; return; - } - else { + } else { NSValue *dbPointer = [openDBs objectForKey:dbfilename]; if (dbPointer != NULL) { @@ -152,10 +164,16 @@ -(void)openNow: (CDVInvokedUrlCommand*)command } else { // TBD IGNORE result: const char * err1; + + // XXX DO THIS FIRST: + sqlite3_db_config(db, SQLITE_DBCONFIG_DEFENSIVE, 1, NULL); + sqlite3_regexp_init(db, &err1); sqlite3_base64_init(db); + sqlite3_eu_init(db, "UPPER", "LOWER"); + // for SQLCipher version: // NSString *dbkey = [options objectForKey:@"key"]; // const char *key = NULL; @@ -177,13 +195,6 @@ -(void)openNow: (CDVInvokedUrlCommand*)command } } - if (sqlite3_threadsafe()) { - DLog(@"Good news: SQLite is thread safe!"); - } - else { - DLog(@"Warning: SQLite is not thread safe."); - } - [self.commandDelegate sendPluginResult:pluginResult callbackId: command.callbackId]; // DLog(@"open cb finished ok"); @@ -289,6 +300,25 @@ -(void) fjnow: (CDVInvokedUrlCommand*)command int ai = 2; @synchronized(self) { +#if 0 // XXX GONE: + for (NSMutableDictionary *dict in executes) { + CDVPluginResult *result = [self executeSqlWithDict:dict andArgs:dbargs]; + if ([result.status intValue] == CDVCommandStatus_ERROR) { + /* add error with result.message: */ + NSMutableDictionary *r = [NSMutableDictionary dictionaryWithCapacity:0]; + [r setObject:@"error" forKey:@"type"]; + [r setObject:result.message forKey:@"error"]; + [r setObject:result.message forKey:@"result"]; + [results addObject: r]; + } else { + /* add result with result.message: */ + NSMutableDictionary *r = [NSMutableDictionary dictionaryWithCapacity:0]; + [r setObject:@"success" forKey:@"type"]; + [r setObject:result.message forKey:@"result"]; + [results addObject: r]; + } + } +#endif for (int i=0; i - - - - Debug - ARM - - - Debug - Win32 - - - Debug - x64 - - - Release - ARM - - - Release - Win32 - - - Release - x64 - - - - {d1848fee-6a8e-4ef1-8bfb-8652e5a9cd4a} - SQLite3 - SQLite3 - en-US - 12.0 - true - Windows Store - 8.1 - CodeSharingWindowsRuntimeComponent - - - - DynamicLibrary - true - v120 - - - DynamicLibrary - true - v120 - - - DynamicLibrary - true - v120 - - - DynamicLibrary - false - true - v120 - - - DynamicLibrary - false - true - v120 - - - DynamicLibrary - false - true - v120 - - - - - - - - - - - - - - - - - - - - - - - - false - - - false - - - false - - - false - - - false - - - false - - - - NotUsing - _WINRT_DLL;%(PreprocessorDefinitions) - pch.h - $(IntDir)pch.pch - $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) - /bigobj %(AdditionalOptions) - 28204 - %(AdditionalIncludeDirectories) - - - Console - runtimeobject.lib;%(AdditionalDependencies) - false - - - - - NotUsing - _WINRT_DLL;NDEBUG;%(PreprocessorDefinitions) - pch.h - $(IntDir)pch.pch - $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) - /bigobj %(AdditionalOptions) - 28204 - %(AdditionalIncludeDirectories) - false - - - Console - runtimeobject.lib;%(AdditionalDependencies) - false - - - - - NotUsing - _WINRT_DLL;%(PreprocessorDefinitions) - pch.h - $(IntDir)pch.pch - $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) - /bigobj %(AdditionalOptions) - 28204 - %(AdditionalIncludeDirectories) - true - - - Console - runtimeobject.lib;%(AdditionalDependencies) - false - - - - - NotUsing - _WINRT_DLL;NDEBUG;%(PreprocessorDefinitions) - pch.h - $(IntDir)pch.pch - $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) - /bigobj %(AdditionalOptions) - 28204 - %(AdditionalIncludeDirectories) - true - false - - - Console - runtimeobject.lib;%(AdditionalDependencies) - false - - - - - NotUsing - _WINRT_DLL;%(PreprocessorDefinitions) - pch.h - $(IntDir)pch.pch - $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) - /bigobj %(AdditionalOptions) - 28204 - %(AdditionalIncludeDirectories) - - - Console - runtimeobject.lib;%(AdditionalDependencies) - false - - - - - NotUsing - _WINRT_DLL;NDEBUG;%(PreprocessorDefinitions) - pch.h - $(IntDir)pch.pch - $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) - /bigobj %(AdditionalOptions) - 28204 - %(AdditionalIncludeDirectories) - false - - - Console - runtimeobject.lib;%(AdditionalDependencies) - false - - - - - - \ No newline at end of file diff --git a/src/windows/SQLite3-Win-RT/SQLite3/SQLite3.WindowsPhone/SQLite3.WindowsPhone.vcxproj b/src/windows/SQLite3-Win-RT/SQLite3/SQLite3.WindowsPhone/SQLite3.WindowsPhone.vcxproj deleted file mode 100644 index b585d81..0000000 --- a/src/windows/SQLite3-Win-RT/SQLite3/SQLite3.WindowsPhone/SQLite3.WindowsPhone.vcxproj +++ /dev/null @@ -1,142 +0,0 @@ - - - - - Debug - ARM - - - Debug - Win32 - - - Release - ARM - - - Release - Win32 - - - - {6435c2e4-4fd2-405a-9ee2-5312ae852782} - SQLite3 - SQLite3 - en-US - 12.0 - true - Windows Phone - 8.1 - CodeSharingWindowsRuntimeComponent - - - - DynamicLibrary - true - v120_wp81 - - - DynamicLibrary - true - v120_wp81 - - - DynamicLibrary - false - true - v120_wp81 - - - DynamicLibrary - false - true - v120_wp81 - - - - - - - - - - - - - - - - - - - - - - - - - - NotUsing - _WINRT_DLL;%(PreprocessorDefinitions) - pch.h - $(IntDir)pch.pch - /bigobj /DSQLITE_WIN32_FILEMAPPING_API %(AdditionalOptions) - true - %(AdditionalIncludeDirectories) - - - Console - false - - - - - NotUsing - _WINRT_DLL;NDEBUG;%(PreprocessorDefinitions) - pch.h - $(IntDir)pch.pch - /bigobj /DSQLITE_WIN32_FILEMAPPING_API %(AdditionalOptions) - false - %(AdditionalIncludeDirectories) - - - Console - false - - - - - NotUsing - _WINRT_DLL;%(PreprocessorDefinitions) - pch.h - $(IntDir)pch.pch - /bigobj /DSQLITE_WIN32_FILEMAPPING_API %(AdditionalOptions) - true - %(AdditionalIncludeDirectories) - true - - - Console - false - - - - - NotUsing - _WINRT_DLL;NDEBUG;%(PreprocessorDefinitions) - pch.h - $(IntDir)pch.pch - /bigobj /DSQLITE_WIN32_FILEMAPPING_API %(AdditionalOptions) - false - %(AdditionalIncludeDirectories) - true - - - Console - false - - - - - - \ No newline at end of file diff --git a/src/windows/SQLite3-Win-RT/SQLite3/Constants.cpp b/src/windows/SQLite3-WinRT-sync/SQLite3/Constants.cpp similarity index 100% rename from src/windows/SQLite3-Win-RT/SQLite3/Constants.cpp rename to src/windows/SQLite3-WinRT-sync/SQLite3/Constants.cpp diff --git a/src/windows/SQLite3-Win-RT/SQLite3/Constants.h b/src/windows/SQLite3-WinRT-sync/SQLite3/Constants.h similarity index 100% rename from src/windows/SQLite3-Win-RT/SQLite3/Constants.h rename to src/windows/SQLite3-WinRT-sync/SQLite3/Constants.h diff --git a/src/windows/SQLite3-Win-RT/SQLite3/Database.cpp b/src/windows/SQLite3-WinRT-sync/SQLite3/Database.cpp similarity index 77% rename from src/windows/SQLite3-Win-RT/SQLite3/Database.cpp rename to src/windows/SQLite3-WinRT-sync/SQLite3/Database.cpp index fb053e6..e0a8d95 100644 --- a/src/windows/SQLite3-Win-RT/SQLite3/Database.cpp +++ b/src/windows/SQLite3-WinRT-sync/SQLite3/Database.cpp @@ -6,6 +6,8 @@ #include "sqlite3_base64.h" +#include "sqlite3_eu.h" + namespace SQLite3 { Database::Database(Platform::String^ dbPath) @@ -20,7 +22,12 @@ namespace SQLite3 HRESULT hresult = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, ret); throw ref new Platform::COMException(hresult); } + + // XXX DO THIS FIRST: + sqlite3_db_config(sqlite, SQLITE_DBCONFIG_DEFENSIVE, 1, NULL); + sqlite3_base64_init(sqlite); + sqlite3_eu_init(sqlite, "UPPER", "LOWER"); } Database::~Database() @@ -56,4 +63,6 @@ namespace SQLite3 { return sqlite3_total_changes(sqlite); } + // FUTURE TBD CLEANUP NEEDED: + Platform::String^ Database::ErrMessage() { return ref new Platform::String(static_cast(errmsg.c_str())); } } diff --git a/src/windows/SQLite3-Win-RT/SQLite3/Database.h b/src/windows/SQLite3-WinRT-sync/SQLite3/Database.h similarity index 83% rename from src/windows/SQLite3-Win-RT/SQLite3/Database.h rename to src/windows/SQLite3-WinRT-sync/SQLite3/Database.h index bb411e8..f04d67c 100644 --- a/src/windows/SQLite3-Win-RT/SQLite3/Database.h +++ b/src/windows/SQLite3-WinRT-sync/SQLite3/Database.h @@ -1,6 +1,7 @@ #pragma once #include "sqlite3.h" +#include namespace SQLite3 { @@ -19,10 +20,12 @@ namespace SQLite3 int LastInsertRowid(); int TotalChanges(); + Platform::String^ ErrMessage(); private: friend Statement; sqlite3* sqlite; + std::wstring errmsg; }; } diff --git a/src/windows/SQLite3-Win-RT/SQLite3/SQLite3.Shared.vcxitems b/src/windows/SQLite3-WinRT-sync/SQLite3/SQLite3.Shared.vcxitems similarity index 89% rename from src/windows/SQLite3-Win-RT/SQLite3/SQLite3.Shared.vcxitems rename to src/windows/SQLite3-WinRT-sync/SQLite3/SQLite3.Shared.vcxitems index 9581c3a..a0e8129 100644 --- a/src/windows/SQLite3-Win-RT/SQLite3/SQLite3.Shared.vcxitems +++ b/src/windows/SQLite3-WinRT-sync/SQLite3/SQLite3.Shared.vcxitems @@ -10,13 +10,14 @@ - %(AdditionalIncludeDirectories);$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)..\..\..\deps\common;$(MSBuildThisFileDirectory)..\..\..\deps\common\sqlite3-base64;$(MSBuildThisFileDirectory)..\..\..\deps\common\libb64-encode + %(AdditionalIncludeDirectories);$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)..\..\..\deps\common;$(MSBuildThisFileDirectory)..\..\..\deps\common\sqlite3-base64;$(MSBuildThisFileDirectory)..\..\..\deps\common\libb64-encode;$(MSBuildThisFileDirectory)..\..\..\deps\common\sqlite3-eu /DSQLITE_THREADSAFE=1 /DSQLITE_DEFAULT_SYNCHRONOUS=3 /DHAVE_USLEEP=1 /DSQLITE_DEFAULT_MEMSTATUS=0 /DSQLITE_OMIT_DECLTYPE /DSQLITE_OMIT_DEPRECATED /DSQLITE_OMIT_PROGRESS_CALLBACK /DSQLITE_OMIT_SHARED_CACHE /DSQLITE_TEMP_STORE=2 /DSQLITE_OMIT_LOAD_EXTENSION /DSQLITE_ENABLE_FTS3 /DSQLITE_ENABLE_FTS3_PARENTHESIS /DSQLITE_ENABLE_FTS4 /DSQLITE_ENABLE_FTS5 /DSQLITE_ENABLE_RTREE /DSQLITE_ENABLE_JSON1 /DSQLITE_DEFAULT_PAGE_SIZE=4096 /DSQLITE_DEFAULT_CACHE_SIZE=-2000 /DSQLITE_OS_WINRT %(AdditionalOptions) + @@ -36,6 +37,9 @@ false + + false + Create diff --git a/src/windows/SQLite3-Win-RT/SQLite3/SQLite3.UWP/SQLite3.UWP.vcxproj b/src/windows/SQLite3-WinRT-sync/SQLite3/SQLite3.UWP.vcxproj similarity index 99% rename from src/windows/SQLite3-Win-RT/SQLite3/SQLite3.UWP/SQLite3.UWP.vcxproj rename to src/windows/SQLite3-WinRT-sync/SQLite3/SQLite3.UWP.vcxproj index 051cd42..0fbf09b 100644 --- a/src/windows/SQLite3-Win-RT/SQLite3/SQLite3.UWP/SQLite3.UWP.vcxproj +++ b/src/windows/SQLite3-WinRT-sync/SQLite3/SQLite3.UWP.vcxproj @@ -80,7 +80,7 @@ - + diff --git a/src/windows/SQLite3-Win-RT/SQLite3/SQLite3.sln b/src/windows/SQLite3-WinRT-sync/SQLite3/SQLite3.sln similarity index 100% rename from src/windows/SQLite3-Win-RT/SQLite3/SQLite3.sln rename to src/windows/SQLite3-WinRT-sync/SQLite3/SQLite3.sln diff --git a/src/windows/SQLite3-Win-RT/SQLite3/Statement.cpp b/src/windows/SQLite3-WinRT-sync/SQLite3/Statement.cpp similarity index 87% rename from src/windows/SQLite3-Win-RT/SQLite3/Statement.cpp rename to src/windows/SQLite3-WinRT-sync/SQLite3/Statement.cpp index 50fdea1..643a131 100644 --- a/src/windows/SQLite3-Win-RT/SQLite3/Statement.cpp +++ b/src/windows/SQLite3-WinRT-sync/SQLite3/Statement.cpp @@ -5,7 +5,7 @@ namespace SQLite3 { - Statement::Statement(Database^ database, Platform::String^ sql) + Statement::Statement(Database^ database, Platform::String^ sql) : db(database) { int ret = sqlite3_prepare16(database->sqlite, sql->Data(), -1, &statement, 0); @@ -13,6 +13,7 @@ namespace SQLite3 { sqlite3_finalize(statement); + db->errmsg = static_cast(sqlite3_errmsg16(db->sqlite)); HRESULT hresult = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, ret); throw ref new Platform::COMException(hresult); } @@ -25,7 +26,10 @@ namespace SQLite3 int Statement::Step() { - return sqlite3_step(statement); + const int rv = sqlite3_step(statement); + if (rv != SQLITE_OK && rv != SQLITE_DONE) + db->errmsg = static_cast(sqlite3_errmsg16(db->sqlite)); + return rv; } int Statement::ColumnCount() diff --git a/src/windows/SQLite3-Win-RT/SQLite3/Statement.h b/src/windows/SQLite3-WinRT-sync/SQLite3/Statement.h similarity index 97% rename from src/windows/SQLite3-Win-RT/SQLite3/Statement.h rename to src/windows/SQLite3-WinRT-sync/SQLite3/Statement.h index 5f0c1bc..f17a4bc 100644 --- a/src/windows/SQLite3-Win-RT/SQLite3/Statement.h +++ b/src/windows/SQLite3-WinRT-sync/SQLite3/Statement.h @@ -30,6 +30,7 @@ namespace SQLite3 int BindNull(int index); private: + Database^ db; sqlite3_stmt* statement; }; } diff --git a/src/windows/SQLite3-Win-RT/SQLite3/pch.cpp b/src/windows/SQLite3-WinRT-sync/SQLite3/pch.cpp similarity index 100% rename from src/windows/SQLite3-Win-RT/SQLite3/pch.cpp rename to src/windows/SQLite3-WinRT-sync/SQLite3/pch.cpp diff --git a/src/windows/SQLite3-Win-RT/SQLite3/pch.h b/src/windows/SQLite3-WinRT-sync/SQLite3/pch.h similarity index 100% rename from src/windows/SQLite3-Win-RT/SQLite3/pch.h rename to src/windows/SQLite3-WinRT-sync/SQLite3/pch.h diff --git a/src/windows/SQLite3-Win-RT/SQLite3JS/js/SQLite3.js b/src/windows/SQLite3-WinRT-sync/SQLite3JS/js/SQLite3.js similarity index 96% rename from src/windows/SQLite3-Win-RT/SQLite3JS/js/SQLite3.js rename to src/windows/SQLite3-WinRT-sync/SQLite3JS/js/SQLite3.js index bbb6a03..2ec8970 100644 --- a/src/windows/SQLite3-Win-RT/SQLite3JS/js/SQLite3.js +++ b/src/windows/SQLite3-WinRT-sync/SQLite3JS/js/SQLite3.js @@ -19,10 +19,11 @@ } Statement = WinJS.Class.define(function (db, sql, args) { + this.dbc = db.connection; try { this.statement = db.connection.prepare(sql); } catch (comException) { - throwSQLiteError('Error preparing an SQLite statement.', comException); + throwSQLiteError('Error preparing SQLite statement - with message: ' + db.connection.errMessage(), comException); } if (args) { @@ -80,7 +81,7 @@ } if (resultCode !== SQLite3.ResultCode.done && resultCode !== SQLite3.ResultCode.ok) { - throw new Error("SQLite3 step error result code: " + resultCode); + throw new Error('SQLite3 step error result - with code: ' + resultCode + ' message: ' + this.dbc.errMessage()); } }, map: function (callback) { diff --git a/www/SQLitePlugin.js b/www/SQLitePlugin.js index b218268..f52cd1e 100644 --- a/www/SQLitePlugin.js +++ b/www/SQLitePlugin.js @@ -84,9 +84,7 @@ Contact for commercial license: sales@litehelpers.net this.dbname = dbname; this.openSuccess = openSuccess; this.openError = openError; - this.openSuccess || (this.openSuccess = function() { - console.log("DB opened: " + dbname); - }); + this.openSuccess || (this.openSuccess = function() {}); this.openError || (this.openError = function(e) { console.log(e.message); }); @@ -115,7 +113,7 @@ Contact for commercial license: sales@litehelpers.net this.startNextTransaction(); } else { if (this.dbname in this.openDBs) { - console.log('new transaction is queued, waiting for open operation to finish'); + return; } else { console.log('database is closed, new transaction is [stuck] waiting until db is opened again!'); } @@ -185,11 +183,9 @@ Contact for commercial license: sales@litehelpers.net }; })(this)); } else { - console.log('OPEN database: ' + this.dbname); opensuccesscb = (function(_this) { return function(fjinfo) { var txLock; - console.log('OPEN database: ' + _this.dbname + ' - OK'); if (!!fjinfo && !!fjinfo.dbid) { console.log('Detected Android/iOS/macOS platform version with flat JSON interface'); _this.dbidmap[_this.dbname] = _this.dbid = fjinfo.dbid; @@ -245,7 +241,6 @@ Contact for commercial license: sales@litehelpers.net error(newSQLError('database cannot be closed while a transaction is in progress')); return; } - console.log('CLOSE database: ' + this.dbname); delete this.openDBs[this.dbname]; if (txLocks[this.dbname]) { console.log('closing db with transaction queue length: ' + txLocks[this.dbname].queue.length);